From xen-devel-bounces@lists.xenproject.org Tue Aug 01 00:25:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 00:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573530.898311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQdC5-00007Y-C5; Tue, 01 Aug 2023 00:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573530.898311; Tue, 01 Aug 2023 00:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQdC5-00007Q-9L; Tue, 01 Aug 2023 00:24:57 +0000
Received: by outflank-mailman (input) for mailman id 573530;
 Tue, 01 Aug 2023 00:24: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=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQdC4-00007K-6a
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 00:24:56 +0000
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com
 [2607:f8b0:4864:20::c2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6344847-3001-11ee-b257-6b7b168915f2;
 Tue, 01 Aug 2023 02:24:55 +0200 (CEST)
Received: by mail-oo1-xc2a.google.com with SMTP id
 006d021491bc7-56c4c4e822eso3159783eaf.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jul 2023 17:24:55 -0700 (PDT)
Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:2cb0::61c9])
 by smtp.gmail.com with ESMTPSA id
 g18-20020a633752000000b00563deb296bbsm8405429pgn.22.2023.07.31.17.24.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Jul 2023 17:24: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: d6344847-3001-11ee-b257-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690849493; x=1691454293;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=V3mp+yZ23mxHLzJZfI0khV2lyi/pSoOfm/QpJXA/ZAOw6SLdOzbUUGPS4DAWRKRLDD
         +9tpLW57KyeDnJYwX1o+rkuDu8lPWWkpLmwR+ZCdoiL/W7epQS5D+vJjp9RCDkwZDYq1
         fb40x8oX4g9ZGoPEEWlWdRu6pHFlsLhgd9CMd7YSc1VLjQqmuaZbCGcutPxS5ZA0m2mr
         VZz6EyvGz/8d1295RSl0brz0qrfMZ4HSoknuOySsYoLlsxx/ahAeJHWhf/N8O4Yjn6GR
         ULDblPHxHTmS9SLUy6ScJ16fcIhqJcsgSdi+W4GQePXS1ufWeKvRfq+tav1QHZE4Q+2h
         fvAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690849493; x=1691454293;
        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=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=MIQ4bgrUy6qRU/AtSFMzFpf8EBB2F1X7zINivSyHdND6+3x1NRaHcAOWU1N/mOAGKc
         hOCpDFBuIWogm0Zjb/W9bc8VDroGEb4+8rK7NgJLWk76O5Hs71nk22d1M+barch9/z4H
         TrtGZstyPe780Ma3PTutVSmIVb3FMNpDpSEPMclL8wkE72DdqC165UPGlUKvqOjzn+LI
         cQcoNf8OBfcc70PXvaqN7pl1sM23IOp5EKubWy+H/H/gxZFIVfUBVO8a3p/mzMACnwxf
         RcskkgB9DQjmiYSEmJIJZTU1lBl4cmEemOhtyO1jCEGXvzIabD3UVK8USRow9wr21WmC
         P0NA==
X-Gm-Message-State: ABy/qLaOiNK0EFXfY/Q8N637hkZ5fnusedh4siz8UBf0jVivgsemqKhe
	FyNOFB03V1BwOFSSNI2CNd/yFqO6x0PMxQ==
X-Google-Smtp-Source: APBJJlESpaVMSjR1L1NDQvrwbeftg7QTy835b9tNz4N/aGTI0/uZhCm5qMkgJpvkRrosl++aRhHuMg==
X-Received: by 2002:a05:6808:2090:b0:3a7:4462:59a4 with SMTP id s16-20020a056808209000b003a7446259a4mr2728290oiw.3.1690849493375;
        Mon, 31 Jul 2023 17:24:53 -0700 (PDT)
From: Khem Raj <raj.khem@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Khem Raj <raj.khem@gmail.com>
Subject: [PATCH] arm32: Avoid using solaris syntax for .section directive
Date: Mon, 31 Jul 2023 17:24:50 -0700
Message-ID: <20230801002450.556213-1-raj.khem@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Assembler from binutils 2.41 rejects this syntax

.section "name"[, flags...]

where flags could be #alloc, #write, #execstr
Switch to using ELF syntax

.section name[, "flags"[, @type]]

[1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 xen/arch/arm/arm32/proc-v7.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
index c90a31d80f..6d3d19b873 100644
--- a/xen/arch/arm/arm32/proc-v7.S
+++ b/xen/arch/arm/arm32/proc-v7.S
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 00:29:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 00:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573534.898322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQdG1-0000m0-Sx; Tue, 01 Aug 2023 00:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573534.898322; Tue, 01 Aug 2023 00:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQdG1-0000lt-PO; Tue, 01 Aug 2023 00:29:01 +0000
Received: by outflank-mailman (input) for mailman id 573534;
 Tue, 01 Aug 2023 00:29:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQdG0-0000ln-QZ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 00:29:00 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68160a1b-3002-11ee-b257-6b7b168915f2;
 Tue, 01 Aug 2023 02:29:00 +0200 (CEST)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-1bb9e6c2a90so40601765ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jul 2023 17:28:59 -0700 (PDT)
Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:2cb0::61c9])
 by smtp.gmail.com with ESMTPSA id
 b3-20020a170902d50300b001b8a1a25e6asm9149965plg.128.2023.07.31.17.28.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Jul 2023 17:28: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: 68160a1b-3002-11ee-b257-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690849738; x=1691454538;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=XIl6OORM6QViPbSsB8vdQHQ5jKGtvOvmtjAqv6s5n79Zs2LF6apiC/C3f7f7r548Us
         44vy2nLA3lZ/tEbKRfI4GWm8Xb65epwCKpQuhI+AVXtbxJnuQCxBuUBYT9Q2Q3E75OHL
         18E8rt1Vc/ElSO3g+Fgzx5H04gfalZ+JMCeHYB0gvyGFsrGkqNZBqYgAVIntM0cbnEHX
         k6VHo40qel93AK/0KaYX1V3nrs/Ti3aHtx6mzvZr31/Hm0XZVdLUVw9eHfg4v4LJO9X9
         QYLCLiKvRuZ5+2r1Q68DhQUBoBphtM/vI5WqMFpwn2U43Ju+JmGbaQckF1YrQLDMHegD
         H0Ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690849738; x=1691454538;
        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=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=YXifrjvRNHyokL9wShQDUWRENahaJNIW+XVigYCo3LgDNe94o0LYuod6pkNlT8xeRl
         zjiYndPUwmOYvNK55kacx4QulzmLbud1eUfH43EoNrkaRzSF3gUtgFuixlyAI64g1EMO
         j9M5xfmsSEK2sJ+RclS9XnfQOfgBs749/+hqj0/kw6YIlcA5aLzUIUQvG9x552LpCE33
         vRwnMjvIYsROBIghWn28uFpIGRxr9cl7XhBxXLd38WU03kQuISp9wZmTJ0Yh9BAUIiCG
         aTDC4azI1NSxo/Q0OqGKGFzDdTVG0uROhI7cfC+0grEL+95eOrVfnlB7IJd0qFUm1rjy
         o9Tw==
X-Gm-Message-State: ABy/qLZ6bUGXjMiAg7wd3S8n21I8HtuRv89llO6lNkBPyMtPD4btm023
	e3ABxqYZoD0p2qOsCoFUA6qPLpuMtB1KRQ==
X-Google-Smtp-Source: APBJJlH8mFsahdzWs1O/MKEG+Yb+4fpKs0mVP3E1LNzhodBuxy2d5/cW8hqdB5TDegC4n2TuUWn1xQ==
X-Received: by 2002:a17:903:228f:b0:1b9:be2e:2b40 with SMTP id b15-20020a170903228f00b001b9be2e2b40mr13912641plh.50.1690849738015;
        Mon, 31 Jul 2023 17:28:58 -0700 (PDT)
From: Khem Raj <raj.khem@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Khem Raj <raj.khem@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm32: Avoid using solaris syntax for .section directive
Date: Mon, 31 Jul 2023 17:28:53 -0700
Message-ID: <20230801002853.556437-1-raj.khem@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Assembler from binutils 2.41 rejects this syntax

.section "name"[, flags...]

where flags could be #alloc, #write, #execstr
Switch to using ELF syntax

.section name[, "flags"[, @type]]

[1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 xen/arch/arm/arm32/proc-v7.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
index c90a31d80f..6d3d19b873 100644
--- a/xen/arch/arm/arm32/proc-v7.S
+++ b/xen/arch/arm/arm32/proc-v7.S
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 01:31:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 01:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573540.898332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQeE0-0001jH-Eb; Tue, 01 Aug 2023 01:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573540.898332; Tue, 01 Aug 2023 01:31:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQeE0-0001jA-A9; Tue, 01 Aug 2023 01:31:00 +0000
Received: by outflank-mailman (input) for mailman id 573540;
 Tue, 01 Aug 2023 01:30:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qQeDy-0001j0-Lo; Tue, 01 Aug 2023 01:30:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qQeDy-0003fv-KY; Tue, 01 Aug 2023 01:30:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qQeDx-0006QT-So; Tue, 01 Aug 2023 01:30:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qQeDx-0007jf-QJ; Tue, 01 Aug 2023 01:30:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pG7+NkIZrVACfGKWFpUuKo459PHNBvRnvjhCRfuodSo=; b=xEX9KR3NnYGadOVhhVV2IDGVnj
	9w1h3NFAxpmBk+uWio0tKEGES6DZHnyxTsg3r34MB46Vy3zKBI6i5V3m0zEZM2NztyOBebiOr6ZiS
	IHJc9UeNu5NfGqVvYeiqCnTJlfdrMMp0ALHuUqGTyJWsTbaLCuvUSKjKHLP14sQVjqoE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182098-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182098: 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=70eb862b01023c45b943e8ff92ef4f6a7e9e8950
X-Osstest-Versions-That:
    xen=c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 01 Aug 2023 01:30:57 +0000

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

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                  70eb862b01023c45b943e8ff92ef4f6a7e9e8950
baseline version:
 xen                  c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c

Last test of basis   182091  2023-07-31 13:00:28 Z    0 days
Testing same since   182098  2023-07-31 20:00:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peter Hoyes <Peter.Hoyes@arm.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
   c0dd53b8cb..70eb862b01  70eb862b01023c45b943e8ff92ef4f6a7e9e8950 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 02:59:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 02:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573547.898342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQfay-0001Te-Mi; Tue, 01 Aug 2023 02:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573547.898342; Tue, 01 Aug 2023 02:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQfay-0001TW-Gw; Tue, 01 Aug 2023 02:58:48 +0000
Received: by outflank-mailman (input) for mailman id 573547;
 Tue, 01 Aug 2023 02:58: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=jjcN=DS=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1qQfaw-0001TQ-6O
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 02:58:46 +0000
Received: from mgamail.intel.com (unknown [192.55.52.136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5015a7b7-3017-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 04:58:40 +0200 (CEST)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 31 Jul 2023 19:58:36 -0700
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by FMSMGA003.fm.intel.com with ESMTP; 31 Jul 2023 19:58:36 -0700
Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Mon, 31 Jul 2023 19:58:36 -0700
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Mon, 31 Jul 2023 19:58:36 -0700
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.44) by
 edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Mon, 31 Jul 2023 19:58:36 -0700
Received: from BL1PR11MB5271.namprd11.prod.outlook.com (2603:10b6:208:31a::21)
 by PH7PR11MB8569.namprd11.prod.outlook.com (2603:10b6:510:304::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 02:58:32 +0000
Received: from BL1PR11MB5271.namprd11.prod.outlook.com
 ([fe80::4a3e:51f9:8a29:afe5]) by BL1PR11MB5271.namprd11.prod.outlook.com
 ([fe80::4a3e:51f9:8a29:afe5%4]) with mapi id 15.20.6631.043; Tue, 1 Aug 2023
 02:58:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5015a7b7-3017-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690858720; x=1722394720;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ltQMYegyRPp06TIFDLMsKOeZJCfiFN4LHFI3kdSFC5A=;
  b=gvd0pNYmVmyY/pPeZ1UmgXZK7hUWr2SiCaOZ2nC62rt6Plf49X+8tvEI
   A7l6+OG/RShmPwIf3Pusi5s9qDz1dXMFg1FHOkryp8kXBlaZm9LEn5CDv
   JNtTF6+go7LGXIwdex/n0qbJ4SBNsDPIA/GIzLnTnrZrMtsyxMwkFR7iq
   ZUIMfn6lEbQU/1GGW7dfoIP5OMBc9Uerjb73mgynLsv4HRry+wg84u3oW
   vW0KVVf1glHmkz4jTZfXSOMJljV8pgSCtXsrNhMEBHISINj8afFJ5pcTt
   vSDGn5y8Ruj6rLneAs+c1hEV9fsvpgmmRZKlKKQbIn9f35/LRUckaaDtP
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="348780458"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="348780458"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="818626585"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="818626585"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CtRZlBkcxMHZuuXRs91QC3MRpbrlddy6AVHNpBjeLHWBJ/vNovuQzGM4DPyP13NCIffvg9S+M+caJLOFymSRaCibUBZw/EEVNGJHopcNvrMb9dZRjnRUyetkbmQ6eT1LOA+TdynnILrrMpVwB2WeQui/gI4Cz/U4E8XTFdk86IffQUSPslz6RhJ2T+NwSo8d7YdTkjZzHINbS407nVdzE3dAQk/X5sNKNo9+SRkLqTs4pGuNHoYmfAbdjoLlaGOo8A7uXVwbIOORlRw8BDEea9/lggvV3Ybrx+/FtZoxpZnKMPyyi9ZuPFwPWk6x5fk3ode6hUmdmBnzB/IcrnNt2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ltQMYegyRPp06TIFDLMsKOeZJCfiFN4LHFI3kdSFC5A=;
 b=FF9OCYPIR60+fbvxAKBeB4Ad9DYdAiONGUkG2kJfCGMISBFgK9KMEQVRKKh9uPfW6xE05xphITsZafEMmn31MZAylANRkusl15EzTa0m2Al+LPJ0VjEll3e80shiONV+hZZM11Y6kA2q+DNUUlnqiYIDOgJbnaEBtiHHh7p3ZxUO+TWpDcAIZBVylgVCyxb1/QxraWkC0KHOV5FuYznNBhYGBuIVFnJeMmg/KraAhw5Ox1FrvuPkw5kEFoCtyld7d7V0dEQ2fLwu+9gbvUQit3/K1pgNWAOWINYHTClvdyipMoeuWzlYWgoMETvP0qyU7WhdKyPC6b9orvAhdQIRww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>, "Beulich,
 Jan" <JBeulich@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant
	<paul@xen.org>
Subject: RE: [PATCH v4 4/4] x86/iommu: pass full IO-APIC RTE for remapping
 table update
Thread-Topic: [PATCH v4 4/4] x86/iommu: pass full IO-APIC RTE for remapping
 table update
Thread-Index: AQHZwToNmh8G0I7e7EOZhmA6b/SBHq/UxZCw
Date: Tue, 1 Aug 2023 02:58:32 +0000
Message-ID: <BL1PR11MB5271AEE7779815557C4F259C8C0AA@BL1PR11MB5271.namprd11.prod.outlook.com>
References: <20230726125508.78704-5-roger.pau@citrix.com>
 <20230728095716.13779-1-roger.pau@citrix.com>
In-Reply-To: <20230728095716.13779-1-roger.pau@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR11MB5271:EE_|PH7PR11MB8569:EE_
x-ms-office365-filtering-correlation-id: b12bebff-ecfa-4933-a589-08db923b30fd
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: KRyowvgFBjygr/HfVSQ5AkqbSJh05ZUJK6LhpJmlG7SO8XPHLqMNTqESEW7eZQJBkKwzwsFG7xqH3B5Mm8WBPUxoUUp22XcfDIj7khZbtMdnHfp5fl7gztMMG4KC3KJ5milFpGNTlbVoktbR1bM2u50rCsXR/iTz5kX7OK5eueom+AwyZHei5UQDpIxqYeYYgqheiacOsCqyN6HCvyTh6ssYal7sbDbD5eM58ORPs6JxXL1dlYMITFzaDZ6HyORAJixAlgRBYEztp7Z2B/Pzv5/sc9/xUIlOfhoVo+GmJguOMAemklXGz3CDOsuCzKvX87x3l+otfJF6jtIrye3f2gmGZlUGSydEuq+Z8IGrouEu5BEH4FzlL46E7KvXwSwCFzzB5zsI8Hu1826sQ0fM7U3eiTDux6TRTSGieCSjIj03sQbXlgYDji9+EZEdwwqVojy0O45SYhrmb+eIwEowbChc3XOUEKelYNDjTJmd45ACfFTj83H49QF0H1LVNMStl2iecndrPSybqCUjtzs/9oeImY8YHabTWhbYVzRz7h2QrKYfCaJk8qo6nalKXSfd25gQXJQRTnIKZhVoHkY6nCxJ4dhLtWa7OmqWZgCHf8Z/Z7Fgl+F7wxOymfT15ESU
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5271.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(396003)(136003)(39860400002)(346002)(451199021)(7696005)(38070700005)(9686003)(86362001)(71200400001)(55016003)(186003)(6506007)(83380400001)(33656002)(38100700002)(82960400001)(52536014)(5660300002)(8676002)(15650500001)(4326008)(41300700001)(8936002)(76116006)(66946007)(64756008)(66446008)(66556008)(66476007)(4744005)(316002)(122000001)(2906002)(478600001)(110136005)(54906003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dnJvMDJQTmxsVlFCbTlLNkxUWTllazhOamJienJCL3BHSDdseXZNUi9xT0hY?=
 =?utf-8?B?cVZpcHhkTEs1S21Dc0Ewc1VjaGVBNjNQc1ppUDYzOXExenFYUmN2ak1mVXk5?=
 =?utf-8?B?RCtadU5VNEp3ZzBYUWxVdFFIaHMraU1MOXFSVUtWMVZOVStGemtzOENkM3RE?=
 =?utf-8?B?VzkwM3ZhQkxVbE8yQkRNOFp6b0pNbDdpdDhRUmtJWDkwT251bVBWbFVIcS9Y?=
 =?utf-8?B?YlYwbUNpNllKUkFFTnVTWmorRWs3a053dkpwemJiWm56Y3FnYzZyQllyS2JF?=
 =?utf-8?B?cGd5S3hlR0wrY3h4YmJSdkFJRmdiL1dnckpkY0JkaVJkUEkrclZhcnRhSE8r?=
 =?utf-8?B?eUdya3Z4U2oxbnFFa0JYQlJGVE9JcWNMZHBBVWdoRzVkV2VXY29sU2QxTGEr?=
 =?utf-8?B?bmlFOW8zNkFTL0RKWm1PYmt4em5mVEVTQzFiRW9BK2RGMDJOam5FVG9MVENN?=
 =?utf-8?B?NnUzU3ZLZEhLZnBkekR2ZGlqaDY1VjBGNHZZWTdwRlFpM3RrZ3dYWVl2VVN1?=
 =?utf-8?B?RkllMnpQNjZ1S3RyaC9tNWtXNlZqRkFKS3pBOXh5QWJaM3VsbisrdnV1SXdX?=
 =?utf-8?B?cFBKRERySGVtalozYjBHeXh0MGpweWs2UVVuRFRBL0hLNGhXcUFFbzBETDdG?=
 =?utf-8?B?V2h3cTg4aWpDVmdpNjVYSldoTElDNXhLS2lhdXBHYmFMODJPNkI1UGV6RE5y?=
 =?utf-8?B?Y2xqb3I0NVh5Rk01TTdGWG42dzVYM1QzSE41NDI2N2NFMDZWaHExRlpxWFNo?=
 =?utf-8?B?Y0lCRFNMU29rTXB5TGt4Nkx3dUIyVjZNR3RROEt4bXFUd29mS2E3ak93amNi?=
 =?utf-8?B?RjZBR3ZzRTFldXZ2NUVGbW52QldaMTRDUHdCVW5mZUdUWnJVZEtQTUV4OVdK?=
 =?utf-8?B?MUs3aVlVeUYzM1ZiZ0hOemlCbFFGSm9PUVFNd29EUWc5dldFbktad1RqQUtV?=
 =?utf-8?B?eno0QnRzTkNValV6TlZVRmtOWksxVXhkYVJjNkJiY0VydnA5bCtSTUJMOWVX?=
 =?utf-8?B?SHVBZXFyK0hTcTJ0MEw3WDFlTUp3bDRLMC9kaDIzME5ZR1NCNVFjeWVrUWdh?=
 =?utf-8?B?bDd3NjE4RXNmMnJvQncrYXJYdFhGK3RORnRaRW1TZTRuR0YzRXZPZmk3TU85?=
 =?utf-8?B?cHM4c2F3ekFQK043Z3hUQlVtT21kZDQ5enBMZTBoUUtnN3lTQTFwdGc0ZU1W?=
 =?utf-8?B?U1ZWM1VuSTVJeHlIa05zWVlWQXRhVEhCWTN0UVRjNmNwYms5cW5ram9nbnU4?=
 =?utf-8?B?Q0FPQlQwczVHTHhqYkNtdmZSQ1pwRGxLVE4zWnN6ZVMra0dEditTYzJyNHZO?=
 =?utf-8?B?VWlyYW1CdkcvUGhrOExjd2FmcWROd3dNM2ZlaGphSTV3UmRLeFFhWUdEZHBr?=
 =?utf-8?B?VTZjSXlUUGYvb01PYmFvTTRtVkpRMURtZ1lIcnQvNUFqZDh0dXQ5c3hzZThN?=
 =?utf-8?B?K2NoY0hPaXdTYXB4MnJBU0VYazZUM0phQ3p6QWRRLzRNSWtRZXFoczMxd09X?=
 =?utf-8?B?cTFCTHdQTGF5cVUvSUdFNXFYRTUveStrd0tRTVgyOUt1YlljamlkTmp0bytU?=
 =?utf-8?B?NmhWeXpKZjV0b25IVHdCVjhXZUdjalo0TDJBUHZ1WFYvOUhFQVNra3ZteVk0?=
 =?utf-8?B?Ymp0R0dDWWF5eklNMGNvaXJ5dmcvbmh3UndicVhsaUhUSk1hTi9DcGhIRnc0?=
 =?utf-8?B?UnpOcmdkenJwZkppVDB1Mm11QnkyQmRRaUdsWlhFMWd5TEFaT2ppQmhCMzQz?=
 =?utf-8?B?d0ZSS21DRTQ5Q2d2Rklud1YrVEs0aHlCVkJQVVRmTlBPT3BVZmdGMDY0QkFp?=
 =?utf-8?B?dVpLQzZjSEFOS0hNY1hPUmhuWWh6WU5hQVBFcjFmQkVHblJSclo4WmVFd094?=
 =?utf-8?B?dWlqeXBPcmtTQTVyY1hzVllxajRWNDU1VFNoVGd4bXRMMU9YNTJOd3doTzZm?=
 =?utf-8?B?dmJXTXlOTDlTbDJxWGFDRFAvQWd0a2x0R1Zaam5jMmFjbXllcm5Fa0JTcklh?=
 =?utf-8?B?SnBXcGxKWFFsakZub2xBb0J3eEZ1UCt2aVU3V2NDWVROazd4eEk1US9DY1Nz?=
 =?utf-8?B?ZHROa2RFSkZ1WGtPZHBTV1JDdEpPVGtTeUhlWG5Kb2c2SFFNQjZtTk8yeFFv?=
 =?utf-8?Q?OOWg=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5271.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b12bebff-ecfa-4933-a589-08db923b30fd
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2023 02:58:32.5614
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ewFgKVjTuyhVXek4NhMqgLtrH5eG1fN6+yrVQ1DthIqYLyykXrrSZBLvauUVBXpr/+T03k6umhR7rZAx17sGEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8569
X-OriginatorOrg: intel.com

PiBGcm9tOiBSb2dlciBQYXUgTW9ubmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBTZW50OiBG
cmlkYXksIEp1bHkgMjgsIDIwMjMgNTo1NyBQTQ0KPiANCj4gU28gdGhhdCB0aGUgcmVtYXBwaW5n
IGVudHJ5IGNhbiBiZSB1cGRhdGVkIGF0b21pY2FsbHkgd2hlbiBwb3NzaWJsZS4NCj4gDQo+IERv
aW5nIHN1Y2ggdXBkYXRlIGF0b21pY2FsbHkgd2lsbCBhdm9pZCBYZW4gaGF2aW5nIHRvIG1hc2sg
dGhlIElPLUFQSUMNCj4gcGluIHByaW9yIHRvIHBlcmZvcm1pbmcgYW55IGludGVycnVwdCBtb3Zl
bWVudHMgKGllOiBjaGFuZ2luZyB0aGUNCj4gZGVzdGluYXRpb24gYW5kIHZlY3RvciBmaWVsZHMp
LCBhcyB0aGUgaW50ZXJydXB0IHJlbWFwcGluZyBlbnRyeSBpcw0KPiBhbHdheXMgY29uc2lzdGVu
dC4NCj4gDQo+IFRoaXMgYWxzbyBzaW1wbGlmaWVzIHNvbWUgb2YgdGhlIGxvZ2ljIG9uIGJvdGgg
VlQtZCBhbmQgQU1ELVZpDQo+IGltcGxlbWVudGF0aW9ucywgYXMgaGF2aW5nIHRoZSBmdWxsIFJU
RSBhdmFpbGFibGUgaW5zdGVhZCBvZiBoYWxmIG9mDQo+IGl0IGF2b2lkcyB0byBwb3NzaWJseSBy
ZWFkIGFuZCB1cGRhdGUgdGhlIG1pc3Npbmcgb3RoZXIgaGFsZiBmcm9tDQo+IGhhcmR3YXJlLg0K
PiANCj4gV2hpbGUgdGhlcmUgcmVtb3ZlIHRoZSBleHBsaWNpdCB6ZXJvaW5nIG9mIG5ld19pcmUg
ZmllbGRzIGluDQo+IGlvYXBpY19ydGVfdG9fcmVtYXBfZW50cnkoKSBhbmQgaW5pdGlhbGl6ZSB0
aGUgdmFyaWFibGUgYXQgZGVmaW5pdGlvbg0KPiBzbyBhbGwgZmllbGRzIGFyZSB6ZXJvZWQuICBO
b3RlIGZpZWxkcyBjb3VsZCBiZSBhbHNvIGluaXRpYWxpemVkIHdpdGgNCj4gZmluYWwgdmFsdWVz
IGF0IGRlZmluaXRpb24sIGJ1dCBJIGZvdW5kIHRoYXQgbGlrZWx5IHRvbyBtdWNoIHRvIGJlDQo+
IGRvbmUgYXQgdGhpcyB0aW1lLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7D
qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQoNClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZp
bi50aWFuQGludGVsLmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573552.898362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJN-00077E-7O; Tue, 01 Aug 2023 03:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573552.898362; Tue, 01 Aug 2023 03: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 1qQgJN-000777-45; Tue, 01 Aug 2023 03:44:41 +0000
Received: by outflank-mailman (input) for mailman id 573552;
 Tue, 01 Aug 2023 03:44:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJL-00076X-N7
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bb877502-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:44:36 +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 3F5F7D75;
 Mon, 31 Jul 2023 20:45:18 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E50013F59C;
 Mon, 31 Jul 2023 20:44: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: bb877502-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 01/13] xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm
Date: Tue,  1 Aug 2023 11:44:07 +0800
Message-Id: <20230801034419.2047541-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

At the moment, on MMU system, enable_mmu() will return to an
address in the 1:1 mapping, then each path is responsible to
switch to virtual runtime mapping. Then remove_identity_mapping()
is called on the boot CPU to remove all 1:1 mapping.

Since remove_identity_mapping() is not necessary on Non-MMU system,
and we also avoid creating empty function for Non-MMU system, trying
to keep only one codeflow in arm64/head.S, we move path switch and
remove_identity_mapping() in enable_mmu() on MMU system.

As the remove_identity_mapping should only be called for the boot
CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
enable_secondary_cpu_mm() for secondary CPUs in this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Clarify remove_identity_mapping() is called on boot CPU and keep
  the function/proc format consistent in commit msg.
- Drop inaccurate (due to the refactor) in-code comment.
- Rename enable_{boot,runtime}_mmu to enable_{boot,secondary}_cpu_mm.
- Reword the in-code comment on top of enable_{boot,secondary}_cpu_mm.
- Call "fail" for unreachable code.
v3:
- new patch
---
 xen/arch/arm/arm64/head.S | 89 ++++++++++++++++++++++++++++++---------
 1 file changed, 70 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 31cdb54d74..2af9f974d5 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -313,21 +313,11 @@ real_start_efi:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =primary_switched
-        br    x0
+        ldr   lr, =primary_switched
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
-         */
-        bl    remove_identity_mapping
         bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -372,13 +362,10 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =secondary_switched
-        br    x0
+        ldr   lr, =secondary_switched
+        b     enable_secondary_cpu_mm
+
 secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -737,6 +724,70 @@ enable_mmu:
         ret
 ENDPROC(enable_mmu)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_secondary_cpu_mm:
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* return to secondary_switched */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_boot_cpu_mm:
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards. Function will return to primary_switched.
+         */
+        b     remove_identity_mapping
+
+        /*
+         * Below is supposed to be unreachable code, as "ret" in
+         * remove_identity_mapping will use the return address in LR in advance.
+         */
+        b     fail
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573551.898352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJG-0006rW-VK; Tue, 01 Aug 2023 03:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573551.898352; Tue, 01 Aug 2023 03: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 1qQgJG-0006rP-Rt; Tue, 01 Aug 2023 03:44:34 +0000
Received: by outflank-mailman (input) for mailman id 573551;
 Tue, 01 Aug 2023 03:44: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJF-0006rJ-Sx
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:33 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b8ef5b99-301d-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 05:44:31 +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 E8721D75;
 Mon, 31 Jul 2023 20:45:13 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AD6423F59C;
 Mon, 31 Jul 2023 20:44: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: b8ef5b99-301d-11ee-b258-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of MPU work
Date: Tue,  1 Aug 2023 11:44:06 +0800
Message-Id: <20230801034419.2047541-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v3 [2] as the preparation work to add MPU support.

Mostly code movement, with some of Kconfig and build system (mainly Makefiles)
adjustment. No functional change expected.

[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20230626033443.2943270-1-Penny.Zheng@arm.com/

Henry Wang (4):
  xen/arm: Introduce 'choice' for memory system architecture
  xen/arm64: Split and move MMU-specific head.S to mmu/head.S
  xen/arm64: Move setup_fixmap() to create_page_tables()
  xen/arm: Extract MMU-specific code

Penny Zheng (6):
  xen/arm: Fold pmap and fixmap into MMU system
  xen/arm: mm: Use generic variable/function names for extendability
  xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
  xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
  xen/arm: mmu: relocate copy_from_paddr() to setup.c
  xen/arm: mmu: enable SMMU subsystem only in MMU

Wei Chen (3):
  xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm
  xen/arm64: prepare for moving MMU related code from head.S
  xen/arm: Move MMU related definitions from config.h to mmu/layout.h

 xen/arch/arm/Kconfig                    |   16 +-
 xen/arch/arm/Makefile                   |    1 +
 xen/arch/arm/arm32/head.S               |    4 +-
 xen/arch/arm/arm64/Makefile             |    2 +-
 xen/arch/arm/arm64/head.S               |  497 +------
 xen/arch/arm/arm64/mmu/Makefile         |    2 +
 xen/arch/arm/arm64/mmu/head.S           |  471 ++++++
 xen/arch/arm/arm64/{ => mmu}/mm.c       |   11 +-
 xen/arch/arm/arm64/smpboot.c            |    6 +-
 xen/arch/arm/include/asm/arm64/macros.h |   36 +
 xen/arch/arm/include/asm/arm64/mm.h     |    7 +-
 xen/arch/arm/include/asm/config.h       |  132 +-
 xen/arch/arm/include/asm/fixmap.h       |    7 +-
 xen/arch/arm/include/asm/mm.h           |   28 +-
 xen/arch/arm/include/asm/mmu/layout.h   |  146 ++
 xen/arch/arm/include/asm/mmu/mm.h       |   55 +
 xen/arch/arm/include/asm/mmu/p2m.h      |   18 +
 xen/arch/arm/include/asm/p2m.h          |   33 +-
 xen/arch/arm/include/asm/page.h         |   15 -
 xen/arch/arm/include/asm/setup.h        |    8 +-
 xen/arch/arm/kernel.c                   |   27 -
 xen/arch/arm/mm.c                       | 1119 --------------
 xen/arch/arm/mmu/Makefile               |    3 +
 xen/arch/arm/mmu/mm.c                   | 1153 +++++++++++++++
 xen/arch/arm/mmu/p2m.c                  | 1610 ++++++++++++++++++++
 xen/arch/arm/mmu/setup.c                |  366 +++++
 xen/arch/arm/p2m.c                      | 1772 ++---------------------
 xen/arch/arm/setup.c                    |  326 +----
 xen/arch/arm/smpboot.c                  |    4 +-
 xen/arch/arm/xen.lds.S                  |    1 +
 xen/drivers/passthrough/Kconfig         |    3 +-
 31 files changed, 4064 insertions(+), 3815 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (95%)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/mm.c
 create mode 100644 xen/arch/arm/mmu/p2m.c
 create mode 100644 xen/arch/arm/mmu/setup.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573553.898369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJN-0007Ak-J0; Tue, 01 Aug 2023 03:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573553.898369; Tue, 01 Aug 2023 03: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 1qQgJN-0007AU-CF; Tue, 01 Aug 2023 03:44:41 +0000
Received: by outflank-mailman (input) for mailman id 573553;
 Tue, 01 Aug 2023 03:44: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJM-0006rJ-G5
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id be19a5f9-301d-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 05:44:39 +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 9D9F9D75;
 Mon, 31 Jul 2023 20:45:22 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 064103F59C;
 Mon, 31 Jul 2023 20:44:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be19a5f9-301d-11ee-b258-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system architecture
Date: Tue,  1 Aug 2023 11:44:08 +0800
Message-Id: <20230801034419.2047541-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are two types of memory system architectures available for
Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
and the Protected Memory System Architecture (PMSA). According to
ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
controls address translation, access permissions, and memory attribute
determination and checking, for memory accesses made by the PE. And
refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
scheme where an Memory Protection Unit (MPU) manages instruction and
data access. Currently, Xen only suuports VMSA.

As a preparation of the Xen MPU (PMSA) support. Introduce a Kconfig
choice under the "Architecture Features" menu for user to choose the
memory system architecture for the system. Since currently only VMSA
is supported, only add the bool CONFIG_HAS_MMU to keep consistent with
the default behavior. User can choose either VMSA or PMSA but not both
in the future after PMSA/MPU is supported in Xen.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Completely rework "[v3,06/52] xen/arm: introduce CONFIG_HAS_MMU"
---
 xen/arch/arm/Kconfig | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd2..0e38e9ba17 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -59,6 +59,20 @@ config PADDR_BITS
 	default 40 if ARM_PA_BITS_40
 	default 48 if ARM_64
 
+choice
+	prompt "Memory system architecture"
+	default HAS_MMU
+	help
+	  User can choose the memory system architecture.
+	  A Virtual Memory System Architecture (VMSA) provides a Memory Management
+	  Unit (MMU) that controls address translation, access permissions, and
+	  memory attribute determination and checking, for memory accesses made by
+	  the PE.
+
+config HAS_MMU
+	bool "MMU for a VMSA system"
+endchoice
+
 source "arch/Kconfig"
 
 config ACPI
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573555.898382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJW-0007kE-1k; Tue, 01 Aug 2023 03:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573555.898382; Tue, 01 Aug 2023 03: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 1qQgJV-0007k6-UW; Tue, 01 Aug 2023 03:44:49 +0000
Received: by outflank-mailman (input) for mailman id 573555;
 Tue, 01 Aug 2023 03:44: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJT-00076X-Nn
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:47 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c08dcdcf-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:44:44 +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 A91D1D75;
 Mon, 31 Jul 2023 20:45:26 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5A7613F59C;
 Mon, 31 Jul 2023 20: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: c08dcdcf-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 03/13] xen/arm64: prepare for moving MMU related code from head.S
Date: Tue,  1 Aug 2023 11:44:09 +0800
Message-Id: <20230801034419.2047541-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

We want to reuse head.S for MPU systems, but there are some
code are implemented for MMU systems only. We will move such
code to another MMU specific file. But before that we will
do some indentations fix in this patch to make them be easier
for reviewing:
1. Fix the indentations and incorrect style of code comments.
2. Fix the indentations for .text.header section.
3. Rename puts() to asm_puts() for global export

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Rebase to pick the adr -> adr_l change in PRINT(_s).
- Correct in-code comment for asm_puts() and add a note to
  mention that asm_puts() should be only called from assembly.
- Drop redundant puts (now asm_puts) under CONFIG_EARLY_PRINTK.
v3:
-  fix commit message
-  Rename puts() to asm_puts() for global export
v2:
-  New patch.
---
 xen/arch/arm/arm64/head.S | 46 ++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 2af9f974d5..b29bffce5b 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -94,7 +94,7 @@
 #define PRINT(_s)          \
         mov   x3, lr ;     \
         adr_l x0, 98f ;    \
-        bl    puts    ;    \
+        bl    asm_puts ;   \
         mov   lr, x3 ;     \
         RODATA_STR(98, _s)
 
@@ -136,21 +136,21 @@
         add \xb, \xb, x20
 .endm
 
-        .section .text.header, "ax", %progbits
-        /*.aarch64*/
+.section .text.header, "ax", %progbits
+/*.aarch64*/
 
-        /*
-         * Kernel startup entry point.
-         * ---------------------------
-         *
-         * The requirements are:
-         *   MMU = off, D-cache = off, I-cache = on or off,
-         *   x0 = physical address to the FDT blob.
-         *
-         * This must be the very first address in the loaded image.
-         * It should be linked at XEN_VIRT_START, and loaded at any
-         * 4K-aligned address.
-         */
+/*
+ * Kernel startup entry point.
+ * ---------------------------
+ *
+ * The requirements are:
+ *   MMU = off, D-cache = off, I-cache = on or off,
+ *   x0 = physical address to the FDT blob.
+ *
+ * This must be the very first address in the loaded image.
+ * It should be linked at XEN_VIRT_START, and loaded at any
+ * 4K-aligned address.
+ */
 
 GLOBAL(start)
         /*
@@ -535,7 +535,7 @@ ENDPROC(cpu_init)
  * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
  * level table (i.e page granularity) is supported.
  *
- * ptbl:     table symbol where the entry will be created
+ * ptbl:    table symbol where the entry will be created
  * virt:    virtual address
  * phys:    physical address (should be page aligned)
  * tmp1:    scratch register
@@ -970,19 +970,22 @@ init_uart:
         ret
 ENDPROC(init_uart)
 
-/* Print early debug messages.
+/*
+ * Print early debug messages.
+ * Note: This function is only supposed to be called from assembly.
  * x0: Nul-terminated string to print.
  * x23: Early UART base address
- * Clobbers x0-x1 */
-puts:
+ * Clobbers x0-x1
+ */
+ENTRY(asm_puts)
         early_uart_ready x23, 1
         ldrb  w1, [x0], #1           /* Load next char */
         cbz   w1, 1f                 /* Exit on nul */
         early_uart_transmit x23, w1
-        b     puts
+        b     asm_puts
 1:
         ret
-ENDPROC(puts)
+ENDPROC(asm_puts)
 
 /*
  * Print a 64-bit number in hex.
@@ -1012,7 +1015,6 @@ hex:    .ascii "0123456789abcdef"
 
 ENTRY(early_puts)
 init_uart:
-puts:
 putn:   ret
 
 #endif /* !CONFIG_EARLY_PRINTK */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573557.898392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJZ-00084w-Ai; Tue, 01 Aug 2023 03:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573557.898392; Tue, 01 Aug 2023 03:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJZ-00084l-6s; Tue, 01 Aug 2023 03:44:53 +0000
Received: by outflank-mailman (input) for mailman id 573557;
 Tue, 01 Aug 2023 03:44:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJX-00076X-JB
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c354d313-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:44: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 53A67D75;
 Mon, 31 Jul 2023 20:45:31 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 671733F59C;
 Mon, 31 Jul 2023 20:44:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c354d313-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v4 04/13] xen/arm64: Split and move MMU-specific head.S to mmu/head.S
Date: Tue,  1 Aug 2023 11:44:10 +0800
Message-Id: <20230801034419.2047541-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
- As "fail" in original head.S is very simple and this name is too
  easy to be conflicted, duplicate it in mmu/head.S instead of
  exporting it.
- Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
  setup_fixmap to please the compiler after the code movement.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

Note that, only the first 4KB of Xen image will be mapped as
identity (PA == VA). At the moment, Xen guarantees this by having
everything that needs to be used in the identity mapping in
.text.header section of head.S, and the size will be checked by
_idmap_start and _idmap_end at link time if this fits in 4KB.
Since we are introducing a new head.S in this patch, although
we can add .text.header to the new file to guarantee all identity
map code still in the first 4KB. However, the order of these two
files on this 4KB depends on the build toolchains. Hence, introduce
a new section named .text.idmap in the region between _idmap_start
and _idmap_end. And in Xen linker script, we force the .text.idmap
contents to linked after .text.header. This will ensure code of
head.S always be at the top of Xen binary.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v4:
- Rework "[v3,08/52] xen/arm64: move MMU related code from
  head.S to mmu/head.S"
- Don't move the "yet to shared" macro such as print_reg.
- Fold "[v3,04/52] xen/arm: add .text.idmap in ld script for Xen
  identity map sections" to this patch. Rework commit msg.
---
 xen/arch/arm/arm64/Makefile             |   1 +
 xen/arch/arm/arm64/head.S               | 497 +-----------------------
 xen/arch/arm/arm64/mmu/Makefile         |   1 +
 xen/arch/arm/arm64/mmu/head.S           | 487 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/macros.h |  36 ++
 xen/arch/arm/xen.lds.S                  |   1 +
 6 files changed, 527 insertions(+), 496 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 54ad55c75c..ce8749f046 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -1,4 +1,5 @@
 obj-y += lib/
+obj-$(CONFIG_HAS_MMU) += mmu/
 
 obj-y += cache.o
 obj-y += cpufeature.o
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index b29bffce5b..e4f579a48e 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -28,17 +28,6 @@
 #include <asm/arm64/efibind.h>
 #endif
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
 #define __HEAD_FLAG_PAGE_SIZE   ((PAGE_SHIFT - 10) / 2)
 
 #define __HEAD_FLAG_PHYS_BASE   1
@@ -85,19 +74,7 @@
  *  x30 - lr
  */
 
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers x0 - x3
- */
-#define PRINT(_s)          \
-        mov   x3, lr ;     \
-        adr_l x0, 98f ;    \
-        bl    asm_puts ;   \
-        mov   lr, x3 ;     \
-        RODATA_STR(98, _s)
-
+ #ifdef CONFIG_EARLY_PRINTK
 /*
  * Macro to print the value of register \xb
  *
@@ -111,31 +88,11 @@
 .endm
 
 #else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
 .macro print_reg xb
 .endm
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register (64 bit wide)
- * @sym: name of the symbol
- */
-.macro  adr_l, dst, sym
-        adrp \dst, \sym
-        add  \dst, \dst, :lo12:\sym
-.endm
-
-/* Load the physical address of a symbol into xb */
-.macro load_paddr xb, sym
-        ldr \xb, =\sym
-        add \xb, \xb, x20
-.endm
-
 .section .text.header, "ax", %progbits
 /*.aarch64*/
 
@@ -472,413 +429,6 @@ cpu_init:
         ret
 ENDPROC(cpu_init)
 
-/*
- * Macro to find the slot number at a given page-table level
- *
- * slot:     slot computed
- * virt:     virtual address
- * lvl:      page-table level
- */
-.macro get_table_slot, slot, virt, lvl
-        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- *
- * Preserves \virt
- * Clobbers \tbl, \tmp1, \tmp2
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
-        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
-
-        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
-        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
-
-        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
-
-        str   \tmp2, [\tbl, \tmp1, lsl #3]
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- *
- * Preserves \virt
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Also use x20 for the phys offset.
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
-        load_paddr \tmp1, \tbl
-        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
-.endm
-
-/*
- * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:    table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address (should be page aligned)
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
-        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
-
-        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
-
-        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
-        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
-
-        adr_l \tmp3, \ptbl
-
-        str   \tmp2, [\tmp3, \tmp1, lsl #3]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   x19: paddr(start)
- *   x20: phys offset
- *
- * Clobbers x0 - x4
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        ldr   x0, =XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
-        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        load_paddr x4, boot_third
-        ldr   x1, =XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   x0, x4                            /* x0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
-        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
-        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        ldr   x0, =_start            /* x0 := vaddr(_start) */
-        ldr   x1, =_end              /* x1 := vaddr(_end) */
-        sub   x0, x1, x0             /* x0 := effective size of Xen */
-        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
-        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
-
-        /* Map Xen */
-        adr_l x4, boot_third
-
-        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   x2, x2, #THIRD_SHIFT
-        mov   x3, #PT_MEM_L3         /* x2 := Section map */
-        orr   x2, x2, x3
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   x1, xzr
-1:      str   x2, [x4, x1]           /* Map vaddr(start) */
-        add   x2, x2, #PAGE_SIZE     /* Next page */
-        add   x1, x1, #8             /* Next slot */
-        cmp   x1, x0                 /* Loop until we map all of Xen */
-        b.lt  1b
-
-        /*
-         * If Xen is loaded at exactly XEN_VIRT_START then we don't
-         * need an additional 1:1 mapping, the virtual mapping will
-         * suffice.
-         */
-        ldr   x0, =XEN_VIRT_START
-        cmp   x19, x0
-        bne   1f
-        ret
-1:
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-
-        /*
-         * Find the zeroeth slot used. If the slot is not
-         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
-         * page-tables from the first level.
-         */
-        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
-        cmp   x0, #XEN_ZEROETH_SLOT
-        beq   1f
-        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
-        b     link_from_first_id
-
-1:
-        /*
-         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
-         * then the 1:1 mapping will use its own set of page-tables from
-         * the second level.
-         */
-        get_table_slot x0, x19, 1      /* x0 := first slot */
-        cmp   x0, #XEN_FIRST_SLOT
-        beq   1f
-        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
-        b     link_from_second_id
-
-1:
-        /*
-         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
-         * 1:1 mapping will use its own set of page-tables from the
-         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
-         * it.
-         */
-        get_table_slot x0, x19, 2     /* x0 := second slot */
-        cmp   x0, #XEN_SECOND_SLOT
-        beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
-        b     link_from_third_id
-
-link_from_first_id:
-        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
-link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
-link_from_third_id:
-        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
-        ret
-
-virtphys_clash:
-        /* Identity map clashes with boot_third, which we cannot handle yet */
-        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
-        b     fail
-ENDPROC(create_page_tables)
-
-/*
- * Turn on the Data Cache and the MMU. The function will return on the 1:1
- * mapping. In other word, the caller is responsible to switch to the runtime
- * mapping.
- *
- * Inputs:
- *   x0 : Physical address of the page tables.
- *
- * Clobbers x0 - x4
- */
-enable_mmu:
-        mov   x4, x0
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        tlbi  alle2                  /* Flush hypervisor TLBs */
-        dsb   nsh
-
-        /* Write Xen's PT's paddr into TTBR0_EL2 */
-        msr   TTBR0_EL2, x4
-        isb
-
-        mrs   x0, SCTLR_EL2
-        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
-        dsb   sy                     /* Flush PTE writes and finish reads */
-        msr   SCTLR_EL2, x0          /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-        ret
-ENDPROC(enable_mmu)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_secondary_cpu_mm:
-        mov   x5, lr
-
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-
-        bl    enable_mmu
-        mov   lr, x5
-
-        /* return to secondary_switched */
-        ret
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_boot_cpu_mm:
-        mov   x5, lr
-
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-
-        bl    enable_mmu
-        mov   lr, x5
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        ldr   x0, =1f
-        br    x0
-1:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards. Function will return to primary_switched.
-         */
-        b     remove_identity_mapping
-
-        /*
-         * Below is supposed to be unreachable code, as "ret" in
-         * remove_identity_mapping will use the return address in LR in advance.
-         */
-        b     fail
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   x19: paddr(start)
- *
- * Clobbers x0 - x1
- */
-remove_identity_mapping:
-        /*
-         * Find the zeroeth slot used. Remove the entry from zeroeth
-         * table if the slot is not XEN_ZEROETH_SLOT.
-         */
-        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
-        cmp   x1, #XEN_ZEROETH_SLOT
-        beq   1f
-        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
-        ldr   x0, =boot_pgtable         /* x0 := root table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the first slot used. Remove the entry for the first
-         * table if the slot is not XEN_FIRST_SLOT.
-         */
-        get_table_slot x1, x19, 1       /* x1 := first slot */
-        cmp   x1, #XEN_FIRST_SLOT
-        beq   1f
-        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
-        ldr   x0, =boot_first           /* x0 := first table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the second slot used. Remove the entry for the first
-         * table if the slot is not XEN_SECOND_SLOT.
-         */
-        get_table_slot x1, x19, 2       /* x1 := second slot */
-        cmp   x1, #XEN_SECOND_SLOT
-        beq   identity_mapping_removed
-        /* It is not in slot 1, remove the entry */
-        ldr   x0, =boot_second          /* x0 := second table */
-        str   xzr, [x0, x1, lsl #3]
-
-identity_mapping_removed:
-        /* See asm/arm64/flushtlb.h for the explanation of the sequence. */
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
-
-        ret
-ENDPROC(remove_identity_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-setup_fixmap:
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -907,51 +457,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- *
- * x0    ttbr
- */
-ENTRY(switch_ttbr_id)
-        /* 1) Ensure any previous read/write have completed */
-        dsb    ish
-        isb
-
-        /* 2) Turn off MMU */
-        mrs    x1, SCTLR_EL2
-        bic    x1, x1, #SCTLR_Axx_ELx_M
-        msr    SCTLR_EL2, x1
-        isb
-
-        /*
-         * 3) Flush the TLBs.
-         * See asm/arm64/flushtlb.h for the explanation of the sequence.
-         */
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
-
-        /* 4) Update the TTBR */
-        msr   TTBR0_EL2, x0
-        isb
-
-        /*
-         * 5) Flush I-cache
-         * This should not be necessary but it is kept for safety.
-         */
-        ic     iallu
-        isb
-
-        /* 6) Turn on the MMU */
-        mrs   x1, SCTLR_EL2
-        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        msr   SCTLR_EL2, x1
-        isb
-
-        ret
-ENDPROC(switch_ttbr_id)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
new file mode 100644
index 0000000000..b7c3dd423a
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -0,0 +1,487 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm64/mmu/head.S
+ *
+ * Arm64 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/*
+ * Macro to find the slot number at a given page-table level
+ *
+ * slot:     slot computed
+ * virt:     virtual address
+ * lvl:      page-table level
+ */
+.macro get_table_slot, slot, virt, lvl
+        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tbl, \tmp1, \tmp2
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
+        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
+
+        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
+        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
+
+        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
+
+        str   \tmp2, [\tbl, \tmp1, lsl #3]
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Also use x20 for the phys offset.
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
+        load_paddr \tmp1, \tbl
+        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
+.endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:    table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address (should be page aligned)
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
+        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
+
+        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
+
+        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
+        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
+
+        adr_l \tmp3, \ptbl
+
+        str   \tmp2, [\tmp3, \tmp1, lsl #3]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *   x20: phys offset
+ *
+ * Clobbers x0 - x4
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        ldr   x0, =XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
+        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        load_paddr x4, boot_third
+        ldr   x1, =XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   x0, x4                            /* x0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
+        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
+        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        ldr   x0, =_start            /* x0 := vaddr(_start) */
+        ldr   x1, =_end              /* x1 := vaddr(_end) */
+        sub   x0, x1, x0             /* x0 := effective size of Xen */
+        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
+        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
+
+        /* Map Xen */
+        adr_l x4, boot_third
+
+        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   x2, x2, #THIRD_SHIFT
+        mov   x3, #PT_MEM_L3         /* x2 := Section map */
+        orr   x2, x2, x3
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   x1, xzr
+1:      str   x2, [x4, x1]           /* Map vaddr(start) */
+        add   x2, x2, #PAGE_SIZE     /* Next page */
+        add   x1, x1, #8             /* Next slot */
+        cmp   x1, x0                 /* Loop until we map all of Xen */
+        b.lt  1b
+
+        /*
+         * If Xen is loaded at exactly XEN_VIRT_START then we don't
+         * need an additional 1:1 mapping, the virtual mapping will
+         * suffice.
+         */
+        ldr   x0, =XEN_VIRT_START
+        cmp   x19, x0
+        bne   1f
+        ret
+1:
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+
+        /*
+         * Find the zeroeth slot used. If the slot is not
+         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
+         * page-tables from the first level.
+         */
+        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
+        cmp   x0, #XEN_ZEROETH_SLOT
+        beq   1f
+        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
+        b     link_from_first_id
+
+1:
+        /*
+         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
+         * then the 1:1 mapping will use its own set of page-tables from
+         * the second level.
+         */
+        get_table_slot x0, x19, 1      /* x0 := first slot */
+        cmp   x0, #XEN_FIRST_SLOT
+        beq   1f
+        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
+        b     link_from_second_id
+
+1:
+        /*
+         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
+         * 1:1 mapping will use its own set of page-tables from the
+         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
+         * it.
+         */
+        get_table_slot x0, x19, 2     /* x0 := second slot */
+        cmp   x0, #XEN_SECOND_SLOT
+        beq   virtphys_clash
+        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
+        b     link_from_third_id
+
+link_from_first_id:
+        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
+link_from_second_id:
+        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
+link_from_third_id:
+        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+        ret
+
+virtphys_clash:
+        /* Identity map clashes with boot_third, which we cannot handle yet */
+        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
+        b     fail
+ENDPROC(create_page_tables)
+
+/*
+ * Turn on the Data Cache and the MMU. The function will return on the 1:1
+ * mapping. In other word, the caller is responsible to switch to the runtime
+ * mapping.
+ *
+ * Inputs:
+ *   x0 : Physical address of the page tables.
+ *
+ * Clobbers x0 - x4
+ */
+enable_mmu:
+        mov   x4, x0
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        tlbi  alle2                  /* Flush hypervisor TLBs */
+        dsb   nsh
+
+        /* Write Xen's PT's paddr into TTBR0_EL2 */
+        msr   TTBR0_EL2, x4
+        isb
+
+        mrs   x0, SCTLR_EL2
+        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
+        dsb   sy                     /* Flush PTE writes and finish reads */
+        msr   SCTLR_EL2, x0          /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+        ret
+ENDPROC(enable_mmu)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* return to secondary_switched */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards. Function will return to primary_switched.
+         */
+        b     remove_identity_mapping
+
+        /*
+         * Below is supposed to be unreachable code, as "ret" in
+         * remove_identity_mapping will use the return address in LR in advance.
+         */
+        b     fail
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *
+ * Clobbers x0 - x1
+ */
+remove_identity_mapping:
+        /*
+         * Find the zeroeth slot used. Remove the entry from zeroeth
+         * table if the slot is not XEN_ZEROETH_SLOT.
+         */
+        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
+        cmp   x1, #XEN_ZEROETH_SLOT
+        beq   1f
+        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
+        ldr   x0, =boot_pgtable         /* x0 := root table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the first slot used. Remove the entry for the first
+         * table if the slot is not XEN_FIRST_SLOT.
+         */
+        get_table_slot x1, x19, 1       /* x1 := first slot */
+        cmp   x1, #XEN_FIRST_SLOT
+        beq   1f
+        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
+        ldr   x0, =boot_first           /* x0 := first table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the second slot used. Remove the entry for the first
+         * table if the slot is not XEN_SECOND_SLOT.
+         */
+        get_table_slot x1, x19, 2       /* x1 := second slot */
+        cmp   x1, #XEN_SECOND_SLOT
+        beq   identity_mapping_removed
+        /* It is not in slot 1, remove the entry */
+        ldr   x0, =boot_second          /* x0 := second table */
+        str   xzr, [x0, x1, lsl #3]
+
+identity_mapping_removed:
+        /* See asm/arm64/flushtlb.h for the explanation of the sequence. */
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+
+        ret
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   x20: Physical offset
+ *   x23: Early UART base physical address
+ *
+ * Clobbers x0 - x3
+ */
+ENTRY(setup_fixmap)
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        ret
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ *
+ * x0    ttbr
+ */
+ENTRY(switch_ttbr_id)
+        /* 1) Ensure any previous read/write have completed */
+        dsb    ish
+        isb
+
+        /* 2) Turn off MMU */
+        mrs    x1, SCTLR_EL2
+        bic    x1, x1, #SCTLR_Axx_ELx_M
+        msr    SCTLR_EL2, x1
+        isb
+
+        /*
+         * 3) Flush the TLBs.
+         * See asm/arm64/flushtlb.h for the explanation of the sequence.
+         */
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+
+        /* 4) Update the TTBR */
+        msr   TTBR0_EL2, x0
+        isb
+
+        /*
+         * 5) Flush I-cache
+         * This should not be necessary but it is kept for safety.
+         */
+        ic     iallu
+        isb
+
+        /* 6) Turn on the MMU */
+        mrs   x1, SCTLR_EL2
+        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        msr   SCTLR_EL2, x1
+        isb
+
+        ret
+ENDPROC(switch_ttbr_id)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
index 140e223b4c..99c401fcaf 100644
--- a/xen/arch/arm/include/asm/arm64/macros.h
+++ b/xen/arch/arm/include/asm/arm64/macros.h
@@ -32,6 +32,42 @@
         hint    #22
     .endm
 
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers x0 - x3
+ */
+#define PRINT(_s)          \
+        mov   x3, lr ;     \
+        adr_l x0, 98f ;    \
+        bl    asm_puts ;   \
+        mov   lr, x3 ;     \
+        RODATA_STR(98, _s)
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+#endif /* !CONFIG_EARLY_PRINTK */
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register (64 bit wide)
+ * @sym: name of the symbol
+ */
+.macro  adr_l, dst, sym
+        adrp \dst, \sym
+        add  \dst, \dst, :lo12:\sym
+.endm
+
+/* Load the physical address of a symbol into xb */
+.macro load_paddr xb, sym
+        ldr \xb, =\sym
+        add \xb, \xb, x20
+.endm
+
 /*
  * Register aliases.
  */
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index a3c90ca823..59b80d122f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -34,6 +34,7 @@ SECTIONS
        _stext = .;             /* Text section */
        _idmap_start = .;
        *(.text.header)
+       *(.text.idmap)
        _idmap_end = .;
 
        *(.text.cold)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:44:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573558.898402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJb-00006P-Pp; Tue, 01 Aug 2023 03:44:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573558.898402; Tue, 01 Aug 2023 03:44: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 1qQgJb-00005X-MW; Tue, 01 Aug 2023 03:44:55 +0000
Received: by outflank-mailman (input) for mailman id 573558;
 Tue, 01 Aug 2023 03:44: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJa-00076X-P6
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c5c24317-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:44:52 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6E9D6D75;
 Mon, 31 Jul 2023 20:45:35 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 208AC3F59C;
 Mon, 31 Jul 2023 20: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: c5c24317-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 05/13] xen/arm: Move MMU related definitions from config.h to mmu/layout.h
Date: Tue,  1 Aug 2023 11:44:11 +0800
Message-Id: <20230801034419.2047541-6-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Xen defines some global configuration macros for Arm in config.h.
However there are some address layout related definitions that are
defined for MMU systems only, and these definitions could not be
used by MPU systems. Adding ifdefs with CONFIG_HAS_MPU to gate these
definitions will result in a messy and hard-to-read/maintain code.

So move MMU related definitions to a new file, i.e. mmu/layout.h to
avoid spreading "#ifdef" everywhere.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Rebase on top of latest staging to pick the recent UBSAN change
  to the layout.
- Use #ifdef CONFIG_HAS_MMU instead of #ifndef CONFIG_HAS_MPU, add
  a #else case.
- Rework commit message.
v3:
- name the new header layout.h
v2:
- Remove duplicated FIXMAP definitions from config_mmu.h
---
 xen/arch/arm/include/asm/config.h     | 132 +----------------------
 xen/arch/arm/include/asm/mmu/layout.h | 146 ++++++++++++++++++++++++++
 2 files changed, 149 insertions(+), 129 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 83cbf6b0cb..a3cde7f2d7 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -71,136 +71,10 @@
 #include <xen/const.h>
 #include <xen/page-size.h>
 
-/*
- * ARM32 layout:
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
- * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
- *                    space
- *
- *   1G -   2G   Xenheap: always-mapped memory
- *   2G -   4G   Domheap: on-demand-mapped
- *
- * ARM64 layout:
- * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
- *
- *  Reserved to identity map Xen
- *
- * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
- *  (Relative offsets)
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *   1G -   2G   VMAP: ioremap and early_ioremap
- *
- *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
- *
- * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
- *  Unused
- *
- * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
- *  1:1 mapping of RAM
- *
- * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
- *  Unused
- */
-
-#ifdef CONFIG_ARM_32
-#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#ifdef CONFIG_HAS_MMU
+#include <asm/mmu/layout.h>
 #else
-
-#define SLOT0_ENTRY_BITS  39
-#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
-#define SLOT0_ENTRY_SIZE  SLOT0(1)
-
-#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
-#endif
-
-/*
- * Reserve enough space so both UBSAN and GCOV can be enabled together
- * plus some slack for future growth.
- */
-#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
-#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
-
-#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
-#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
-
-#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
-
-#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
-#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
-
-#ifdef CONFIG_LIVEPATCH
-#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
-#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
-#endif
-
-#define HYPERVISOR_VIRT_START  XEN_VIRT_START
-
-#ifdef CONFIG_ARM_32
-
-#define CONFIG_SEPARATE_XENHEAP 1
-
-#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
-#define FRAMETABLE_SIZE        MB(128-32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
-#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
-
-#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
-#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
-
-#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
-#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
-
-#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
-
-/* Number of domheap pagetable pages required at the second level (2MB mappings) */
-#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
-
-/*
- * The temporary area is overlapping with the domheap area. This may
- * be used to create an alias of the first slot containing Xen mappings
- * when turning on/off the MMU.
- */
-#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
-
-/* Calculate the address in the temporary area */
-#define TEMPORARY_AREA_ADDR(addr)                           \
-     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
-      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
-
-#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
-
-#else /* ARM_64 */
-
-#define IDENTITY_MAPPING_AREA_NR_L0  4
-
-#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
-#define VMAP_VIRT_SIZE   GB(1)
-
-#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
-#define FRAMETABLE_SIZE        GB(32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define DIRECTMAP_VIRT_START   SLOT0(256)
-#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
-#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
-
-#define XENHEAP_VIRT_START     directmap_virt_start
-
-#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
-
+# error "Unknown memory management layout"
 #endif
 
 #define NR_hypercalls 64
diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
new file mode 100644
index 0000000000..da6be276ac
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/layout.h
@@ -0,0 +1,146 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MMU_LAYOUT_H__
+#define __ARM_MMU_LAYOUT_H__
+
+/*
+ * ARM32 layout:
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
+ * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
+ *                    space
+ *
+ *   1G -   2G   Xenheap: always-mapped memory
+ *   2G -   4G   Domheap: on-demand-mapped
+ *
+ * ARM64 layout:
+ * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ *
+ *  Reserved to identity map Xen
+ *
+ * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
+ *  (Relative offsets)
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *   1G -   2G   VMAP: ioremap and early_ioremap
+ *
+ *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
+ *
+ * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
+ *  Unused
+ *
+ * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
+ *  1:1 mapping of RAM
+ *
+ * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
+ *  Unused
+ */
+
+#ifdef CONFIG_ARM_32
+#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#else
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+
+#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
+#endif
+
+/*
+ * Reserve enough space so both UBSAN and GCOV can be enabled together
+ * plus some slack for future growth.
+ */
+#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
+#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
+
+#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
+#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
+
+#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
+
+#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
+#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
+
+#ifdef CONFIG_LIVEPATCH
+#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
+#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
+#endif
+
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
+#ifdef CONFIG_ARM_32
+
+#define CONFIG_SEPARATE_XENHEAP 1
+
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
+#define FRAMETABLE_SIZE        MB(128-32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
+#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
+
+#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
+#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
+
+#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
+#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
+
+#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
+
+/* Number of domheap pagetable pages required at the second level (2MB mappings) */
+#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
+
+/*
+ * The temporary area is overlapping with the domheap area. This may
+ * be used to create an alias of the first slot containing Xen mappings
+ * when turning on/off the MMU.
+ */
+#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
+
+/* Calculate the address in the temporary area */
+#define TEMPORARY_AREA_ADDR(addr)                           \
+     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
+      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
+
+#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
+
+#else /* ARM_64 */
+
+#define IDENTITY_MAPPING_AREA_NR_L0  4
+
+#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
+#define VMAP_VIRT_SIZE   GB(1)
+
+#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
+#define FRAMETABLE_SIZE        GB(32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define DIRECTMAP_VIRT_START   SLOT0(256)
+#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
+#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
+
+#define XENHEAP_VIRT_START     directmap_virt_start
+
+#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
+
+#endif
+
+#endif /* __ARM_MMU_LAYOUT_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:45:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573561.898412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJg-0000bq-3Q; Tue, 01 Aug 2023 03:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573561.898412; Tue, 01 Aug 2023 03:45:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJf-0000bh-Vv; Tue, 01 Aug 2023 03:44:59 +0000
Received: by outflank-mailman (input) for mailman id 573561;
 Tue, 01 Aug 2023 03: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJe-00076X-OA
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:44:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c82cf606-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:44: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 7067CD75;
 Mon, 31 Jul 2023 20:45:39 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 21DF23F59C;
 Mon, 31 Jul 2023 20:44: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: c82cf606-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 06/13] xen/arm64: Move setup_fixmap() to create_page_tables()
Date: Tue,  1 Aug 2023 11:44:12 +0800
Message-Id: <20230801034419.2047541-7-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The original assembly setup_fixmap() is actually doing two seperate
tasks, one is enabling the early UART when earlyprintk on, and the
other is to set up the fixmap (even when earlyprintk is off).

Per discussion in [1], since commit
9d267c049d92 ("xen/arm64: Rework the memory layout"), there is no
chance that the fixmap and the mapping of early UART will clash with
the 1:1 mapping. Therefore the mapping of both the fixmap and the
early UART can be moved to the end of create_pagetables(). For the
future MPU support work, the early UART mapping could then be moved
in prepare_early_mappings().

No functional change intended.

[1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed80@xen.org/

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Rework "[v3,12/52] xen/mmu: extract early uart mapping from setup_fixmap"
---
 xen/arch/arm/arm64/head.S     |  1 -
 xen/arch/arm/arm64/mmu/head.S | 50 ++++++++++++-----------------------
 2 files changed, 17 insertions(+), 34 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index e4f579a48e..56f68a8e37 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -275,7 +275,6 @@ real_start_efi:
         b     enable_boot_cpu_mm
 
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         ldr   x23, =EARLY_UART_VIRTUAL_ADDRESS
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index b7c3dd423a..6bd94c3a45 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -231,6 +231,23 @@ link_from_second_id:
         create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
 link_from_third_id:
         create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        /* x23: Early UART base physical address */
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
         ret
 
 virtphys_clash:
@@ -395,39 +412,6 @@ identity_mapping_removed:
         ret
 ENDPROC(remove_identity_mapping)
 
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-ENTRY(setup_fixmap)
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /* Fail-stop */
 fail:   PRINT("- Boot failed -\r\n")
 1:      wfe
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:45:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573567.898422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJm-0001Cw-ER; Tue, 01 Aug 2023 03:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573567.898422; Tue, 01 Aug 2023 03:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJm-0001Ch-AB; Tue, 01 Aug 2023 03:45:06 +0000
Received: by outflank-mailman (input) for mailman id 573567;
 Tue, 01 Aug 2023 03:45:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJl-00076X-IM
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id cb217fd5-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45: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 6F2ECD75;
 Mon, 31 Jul 2023 20:45:44 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3A0BD3F59C;
 Mon, 31 Jul 2023 20:44:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb217fd5-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 07/13] xen/arm: Extract MMU-specific code
Date: Tue,  1 Aug 2023 11:44:13 +0800
Message-Id: <20230801034419.2047541-8-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, most of the MMU-specific code is in mm.{c,h}. To make the
mm extendable, this commit extract the MMU-specific code by firstly:
- Create a arch/arm/include/asm/mmu/ subdir.
- Create a arch/arm/mmu/ subdir.

Then move the MMU-specific code to above mmu subdir, which includes
below changes:
- Move arch/arm/arm64/mm.c to arch/arm/arm64/mmu/mm.c
- Move MMU-related declaration in arch/arm/include/asm/mm.h to
  arch/arm/include/asm/mmu/mm.h
- Move the MMU-related declaration dump_pt_walk() in asm/page.h
  and pte_of_xenaddr() in asm/setup.h to the new asm/mmu/mm.h.
- Move MMU-related code in arch/arm/mm.c to arch/arm/mmu/mm.c.

Also modify the build system (Makefiles in this case) to pick above
mentioned code changes.

This patch is a pure code movement, no functional change intended.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
With the code movement of this patch, the descriptions on top of
xen/arch/arm/mm.c and xen/arch/arm/mmu/mm.c might need some changes,
suggestions?
v4:
- Rework "[v3,13/52] xen/mmu: extract mmu-specific codes from
  mm.c/mm.h" with the lastest staging branch, only do the code movement
  in this patch to ease the review.
---
 xen/arch/arm/Makefile             |    1 +
 xen/arch/arm/arm64/Makefile       |    1 -
 xen/arch/arm/arm64/mmu/Makefile   |    1 +
 xen/arch/arm/arm64/{ => mmu}/mm.c |    0
 xen/arch/arm/include/asm/mm.h     |   20 +-
 xen/arch/arm/include/asm/mmu/mm.h |   55 ++
 xen/arch/arm/include/asm/page.h   |   15 -
 xen/arch/arm/include/asm/setup.h  |    3 -
 xen/arch/arm/mm.c                 | 1119 ----------------------------
 xen/arch/arm/mmu/Makefile         |    1 +
 xen/arch/arm/mmu/mm.c             | 1146 +++++++++++++++++++++++++++++
 11 files changed, 1208 insertions(+), 1154 deletions(-)
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (100%)
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/mm.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e9920..9801b9dfd0 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
 obj-$(CONFIG_ACPI) += acpi/
+obj-$(CONFIG_HAS_MMU) += mmu/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
 obj-y += platforms/
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index ce8749f046..731d00cc8a 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -11,7 +11,6 @@ obj-y += entry.o
 obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
-obj-y += mm.o
 obj-y += smc.o
 obj-y += smpboot.o
 obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
index 3340058c08..a8a750a3d0 100644
--- a/xen/arch/arm/arm64/mmu/Makefile
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += head.o
+obj-y += mm.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mmu/mm.c
similarity index 100%
rename from xen/arch/arm/arm64/mm.c
rename to xen/arch/arm/arm64/mmu/mm.c
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 4262165ce2..e70ce4dc61 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,6 +14,10 @@
 # error "unknown ARM variant"
 #endif
 
+#ifdef CONFIG_HAS_MMU
+#include <asm/mmu/mm.h>
+#endif
+
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -165,13 +169,6 @@ struct page_info
 #define _PGC_need_scrub   _PGC_allocated
 #define PGC_need_scrub    PGC_allocated
 
-extern mfn_t directmap_mfn_start, directmap_mfn_end;
-extern vaddr_t directmap_virt_end;
-#ifdef CONFIG_ARM_64
-extern vaddr_t directmap_virt_start;
-extern unsigned long directmap_base_pdx;
-#endif
-
 #ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
@@ -194,7 +191,6 @@ extern unsigned long directmap_base_pdx;
 
 #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
 
-#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 /* PDX of the first page in the frame table. */
 extern unsigned long frametable_base_pdx;
 
@@ -207,8 +203,6 @@ extern unsigned long total_pages;
 extern void setup_pagetables(unsigned long boot_phys_offset);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
-/* Switch to a new root page-tables */
-extern void switch_ttbr(uint64_t ttbr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
@@ -216,12 +210,6 @@ extern void remove_early_mappings(void);
 extern int init_secondary_pagetables(int cpu);
 /* Switch secondary CPUS to its own pagetables and finalise MMU setup */
 extern void mmu_init_secondary_cpu(void);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
new file mode 100644
index 0000000000..3d9755b7b4
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_MM_H__
+#define __ARM_MMU_MM_H__
+
+extern mfn_t directmap_mfn_start, directmap_mfn_end;
+extern vaddr_t directmap_virt_end;
+#ifdef CONFIG_ARM_64
+extern vaddr_t directmap_virt_start;
+extern unsigned long directmap_base_pdx;
+#endif
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/*
+ * Print a walk of a page table or p2m
+ *
+ * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
+ * addr is the PA or IPA to translate
+ * root_level is the starting level of the page table
+ *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
+ * nr_root_tables is the number of concatenated tables at the root.
+ *   this can only be != 1 for P2M walks starting at the first or
+ *   subsequent level.
+ */
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables);
+
+/* Find where Xen will be residing at runtime and return a PT entry */
+lpae_t pte_of_xenaddr(vaddr_t);
+
+/* Switch to a new root page-tables */
+extern void switch_ttbr(uint64_t ttbr);
+/*
+ * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
+ * For Arm64, map the region in the directmap area.
+ */
+extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
+extern int xen_pt_update(unsigned long virt,
+                         mfn_t mfn,
+                         /* const on purpose as it is used for TLB flush */
+                         const unsigned long nr_mfns,
+                         unsigned int flags);
+
+#endif /* __ARM_MMU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
index ea96983ab9..247c170ac8 100644
--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -257,21 +257,6 @@ static inline void write_pte(lpae_t *p, lpae_t pte)
 /* Flush the dcache for an entire page. */
 void flush_page_to_ram(unsigned long mfn, bool sync_icache);
 
-/*
- * Print a walk of a page table or p2m
- *
- * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
- * addr is the PA or IPA to translate
- * root_level is the starting level of the page table
- *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
- * nr_root_tables is the number of concatenated tables at the root.
- *   this can only be != 1 for P2M walks starting at the first or
- *   subsequent level.
- */
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables);
-
 /* Print a walk of the hypervisor's page tables for a virtual addr. */
 extern void dump_hyp_walk(vaddr_t addr);
 /* Print a walk of the p2m for a domain for a physical address. */
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..f0f64d228c 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -176,9 +176,6 @@ extern lpae_t boot_first_id[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_second_id[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_third_id[XEN_PT_LPAE_ENTRIES];
 
-/* Find where Xen will be residing at runtime and return a PT entry */
-lpae_t pte_of_xenaddr(vaddr_t);
-
 extern const char __ro_after_init_start[], __ro_after_init_end[];
 
 struct init_info
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index c688227abd..5d7c144995 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -15,16 +15,12 @@
 #include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/pfn.h>
-#include <xen/pmap.h>
-#include <xen/sched.h>
 #include <xen/sizes.h>
 #include <xen/types.h>
 #include <xen/vmap.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/fixmap.h>
 #include <asm/setup.h>
 
 #include <public/memory.h>
@@ -32,104 +28,6 @@
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
-#undef mfn_to_virt
-#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
-
-#ifdef NDEBUG
-static inline void
-__attribute__ ((__format__ (__printf__, 1, 2)))
-mm_printk(const char *fmt, ...) {}
-#else
-#define mm_printk(fmt, args...)             \
-    do                                      \
-    {                                       \
-        dprintk(XENLOG_ERR, fmt, ## args);  \
-        WARN();                             \
-    } while (0)
-#endif
-
-/* Static start-of-day pagetables that we use before the allocators
- * are up. These are used by all CPUs during bringup before switching
- * to the CPUs own pagetables.
- *
- * These pagetables have a very simple structure. They include:
- *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
- *    and boot_second are used to populate the tables down to boot_third
- *    which contains the actual mapping.
- *  - a 1:1 mapping of xen at its current physical address. This uses a
- *    section mapping at whichever of boot_{pgtable,first,second}
- *    covers that physical address.
- *
- * For the boot CPU these mappings point to the address where Xen was
- * loaded by the bootloader. For secondary CPUs they point to the
- * relocated copy of Xen for the benefit of secondary CPUs.
- *
- * In addition to the above for the boot CPU the device-tree is
- * initially mapped in the boot misc slot. This mapping is not present
- * for secondary CPUs.
- *
- * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
- * by the CPU once it has moved off the 1:1 mapping.
- */
-DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
-#ifdef CONFIG_ARM_64
-DEFINE_BOOT_PAGE_TABLE(boot_first);
-DEFINE_BOOT_PAGE_TABLE(boot_first_id);
-#endif
-DEFINE_BOOT_PAGE_TABLE(boot_second_id);
-DEFINE_BOOT_PAGE_TABLE(boot_third_id);
-DEFINE_BOOT_PAGE_TABLE(boot_second);
-DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
-
-/* Main runtime page tables */
-
-/*
- * For arm32 xen_pgtable are per-PCPU and are allocated before
- * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
- *
- * xen_second, xen_fixmap and xen_xenmap are always shared between all
- * PCPUs.
- */
-
-#ifdef CONFIG_ARM_64
-#define HYP_PT_ROOT_LEVEL 0
-DEFINE_PAGE_TABLE(xen_pgtable);
-static DEFINE_PAGE_TABLE(xen_first);
-#define THIS_CPU_PGTABLE xen_pgtable
-#else
-#define HYP_PT_ROOT_LEVEL 1
-/* Per-CPU pagetable pages */
-/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
-DEFINE_PER_CPU(lpae_t *, xen_pgtable);
-#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
-/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-static DEFINE_PAGE_TABLE(cpu0_pgtable);
-#endif
-
-/* Common pagetable leaves */
-/* Second level page table used to cover Xen virtual address space */
-static DEFINE_PAGE_TABLE(xen_second);
-/* Third level page table used for fixmap */
-DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
-/*
- * Third level page table used to map Xen itself with the XN bit set
- * as appropriate.
- */
-static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
-
-/* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
-
-static paddr_t phys_offset;
-
-/* Limits of the Xen heap */
-mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
-mfn_t directmap_mfn_end __read_mostly;
-vaddr_t directmap_virt_end __read_mostly;
-#ifdef CONFIG_ARM_64
-vaddr_t directmap_virt_start __read_mostly;
-unsigned long directmap_base_pdx __read_mostly;
-#endif
 
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
@@ -139,243 +37,6 @@ unsigned long total_pages;
 
 extern char __init_begin[], __init_end[];
 
-/* Checking VA memory layout alignment. */
-static void __init __maybe_unused build_assertions(void)
-{
-    /* 2MB aligned regions */
-    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
-    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
-    /* 1GB aligned regions */
-#ifdef CONFIG_ARM_32
-    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
-#else
-    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /* Page table structure constraints */
-#ifdef CONFIG_ARM_64
-    /*
-     * The first few slots of the L0 table is reserved for the identity
-     * mapping. Check that none of the other regions are overlapping
-     * with it.
-     */
-#define CHECK_OVERLAP_WITH_IDMAP(virt) \
-    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
-
-    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
-#undef CHECK_OVERLAP_WITH_IDMAP
-#endif
-    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
-#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
-    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /*
-     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
-     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
-     * slot in the page tables.
-     */
-#define CHECK_SAME_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
-
-#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
-
-#ifdef CONFIG_ARM_64
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-#endif
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-
-    /*
-     * For arm32, the temporary mapping will re-use the domheap
-     * first slot and the second slots will match.
-     */
-#ifdef CONFIG_ARM_32
-    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
-    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-#endif
-
-#undef CHECK_SAME_SLOT
-#undef CHECK_DIFFERENT_SLOT
-}
-
-static lpae_t *xen_map_table(mfn_t mfn)
-{
-    /*
-     * During early boot, map_domain_page() may be unusable. Use the
-     * PMAP to map temporarily a page-table.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        return pmap_map(mfn);
-
-    return map_domain_page(mfn);
-}
-
-static void xen_unmap_table(const lpae_t *table)
-{
-    /*
-     * During early boot, xen_map_table() will not use map_domain_page()
-     * but the PMAP.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        pmap_unmap(table);
-    else
-        unmap_domain_page(table);
-}
-
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables)
-{
-    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
-    const mfn_t root_mfn = maddr_to_mfn(ttbr);
-    DECLARE_OFFSETS(offsets, addr);
-    lpae_t pte, *mapping;
-    unsigned int level, root_table;
-
-#ifdef CONFIG_ARM_32
-    BUG_ON(root_level < 1);
-#endif
-    BUG_ON(root_level > 3);
-
-    if ( nr_root_tables > 1 )
-    {
-        /*
-         * Concatenated root-level tables. The table number will be
-         * the offset at the previous level. It is not possible to
-         * concatenate a level-0 root.
-         */
-        BUG_ON(root_level == 0);
-        root_table = offsets[root_level - 1];
-        printk("Using concatenated root table %u\n", root_table);
-        if ( root_table >= nr_root_tables )
-        {
-            printk("Invalid root table offset\n");
-            return;
-        }
-    }
-    else
-        root_table = 0;
-
-    mapping = xen_map_table(mfn_add(root_mfn, root_table));
-
-    for ( level = root_level; ; level++ )
-    {
-        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
-            break;
-
-        pte = mapping[offsets[level]];
-
-        printk("%s[0x%03x] = 0x%"PRIx64"\n",
-               level_strs[level], offsets[level], pte.bits);
-
-        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-            break;
-
-        /* For next iteration */
-        xen_unmap_table(mapping);
-        mapping = xen_map_table(lpae_get_mfn(pte));
-    }
-
-    xen_unmap_table(mapping);
-}
-
-void dump_hyp_walk(vaddr_t addr)
-{
-    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-
-    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
-           "on CPU%d via TTBR 0x%016"PRIx64"\n",
-           addr, smp_processor_id(), ttbr);
-
-    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
-}
-
-lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
-{
-    lpae_t e = (lpae_t) {
-        .pt = {
-            .valid = 1,           /* Mappings are present */
-            .table = 0,           /* Set to 1 for links and 4k maps */
-            .ai = attr,
-            .ns = 1,              /* Hyp mode is in the non-secure world */
-            .up = 1,              /* See below */
-            .ro = 0,              /* Assume read-write */
-            .af = 1,              /* No need for access tracking */
-            .ng = 1,              /* Makes TLB flushes easier */
-            .contig = 0,          /* Assume non-contiguous */
-            .xn = 1,              /* No need to execute outside .text */
-            .avail = 0,           /* Reference count for domheap mapping */
-        }};
-    /*
-     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
-     * regime applies to only one exception level (see D4.4.4 and G4.6.1
-     * in ARM DDI 0487B.a). If this changes, remember to update the
-     * hard-coded values in head.S too.
-     */
-
-    switch ( attr )
-    {
-    case MT_NORMAL_NC:
-        /*
-         * ARM ARM: Overlaying the shareability attribute (DDI
-         * 0406C.b B3-1376 to 1377)
-         *
-         * A memory region with a resultant memory type attribute of Normal,
-         * and a resultant cacheability attribute of Inner Non-cacheable,
-         * Outer Non-cacheable, must have a resultant shareability attribute
-         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    case MT_DEVICE_nGnRnE:
-    case MT_DEVICE_nGnRE:
-        /*
-         * Shareability is ignored for non-Normal memory, Outer is as
-         * good as anything.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for any device memory type.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    default:
-        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
-        break;
-    }
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Map a 4k page in a fixmap entry */
-void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
-{
-    int res;
-
-    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
-    BUG_ON(res != 0);
-}
-
-/* Remove a mapping from a fixmap entry */
-void clear_fixmap(unsigned int map)
-{
-    int res;
-
-    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
-    BUG_ON(res != 0);
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -395,13 +56,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-lpae_t pte_of_xenaddr(vaddr_t va)
-{
-    paddr_t ma = va + phys_offset;
-
-    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
-}
-
 void * __init early_fdt_map(paddr_t fdt_paddr)
 {
     /* We are using 2MB superpage for mapping the FDT */
@@ -455,779 +109,11 @@ void * __init early_fdt_map(paddr_t fdt_paddr)
     return fdt_virt;
 }
 
-void __init remove_early_mappings(void)
-{
-    int rc;
-
-    /* destroy the _PAGE_BLOCK mapping */
-    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
-                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
-                             _PAGE_BLOCK);
-    BUG_ON(rc);
-}
-
-/*
- * After boot, Xen page-tables should not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each CPU to enforce the policy.
- */
-static void xen_pt_enforce_wnx(void)
-{
-    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
-    /*
-     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-     * before flushing the TLBs.
-     */
-    isb();
-    flush_xen_tlb_local();
-}
-
-/* Clear a translation table and clean & invalidate the cache */
-static void clear_table(void *table)
-{
-    clear_page(table);
-    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
-}
-
-/* Boot-time pagetable setup.
- * Changes here may need matching changes in head.S */
-void __init setup_pagetables(unsigned long boot_phys_offset)
-{
-    uint64_t ttbr;
-    lpae_t pte, *p;
-    int i;
-
-    phys_offset = boot_phys_offset;
-
-    arch_setup_page_tables();
-
-#ifdef CONFIG_ARM_64
-    pte = pte_of_xenaddr((uintptr_t)xen_first);
-    pte.pt.table = 1;
-    pte.pt.xn = 0;
-    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
-
-    p = (void *) xen_first;
-#else
-    p = (void *) cpu0_pgtable;
-#endif
-
-    /* Map xen second level page-table */
-    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
-
-    /* Break up the Xen mapping into pages and protect them separately. */
-    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
-
-        if ( !is_kernel(va) )
-            break;
-        pte = pte_of_xenaddr(va);
-        pte.pt.table = 1; /* third level mappings always have this bit set */
-        if ( is_kernel_text(va) || is_kernel_inittext(va) )
-        {
-            pte.pt.xn = 0;
-            pte.pt.ro = 1;
-        }
-        if ( is_kernel_rodata(va) )
-            pte.pt.ro = 1;
-        xen_xenmap[i] = pte;
-    }
-
-    /* Initialise xen second level entries ... */
-    /* ... Xen's text etc */
-    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
-
-        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
-        pte.pt.table = 1;
-        xen_second[second_table_offset(va)] = pte;
-    }
-
-    /* ... Fixmap */
-    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
-    pte.pt.table = 1;
-    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
-
-#ifdef CONFIG_ARM_64
-    ttbr = (uintptr_t) xen_pgtable + phys_offset;
-#else
-    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
-#endif
-
-    switch_ttbr(ttbr);
-
-    xen_pt_enforce_wnx();
-
-#ifdef CONFIG_ARM_32
-    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
-#endif
-}
-
-static void clear_boot_pagetables(void)
-{
-    /*
-     * Clear the copy of the boot pagetables. Each secondary CPU
-     * rebuilds these itself (see head.S).
-     */
-    clear_table(boot_pgtable);
-#ifdef CONFIG_ARM_64
-    clear_table(boot_first);
-    clear_table(boot_first_id);
-#endif
-    clear_table(boot_second);
-    clear_table(boot_third);
-}
-
-#ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
-{
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
-     * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
-    return 0;
-}
-#else
-int init_secondary_pagetables(int cpu)
-{
-    lpae_t *first;
-
-    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
-
-    if ( !first )
-    {
-        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
-        return -ENOMEM;
-    }
-
-    /* Initialise root pagetable from root of boot tables */
-    memcpy(first, cpu0_pgtable, PAGE_SIZE);
-    per_cpu(xen_pgtable, cpu) = first;
-
-    if ( !init_domheap_mappings(cpu) )
-    {
-        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
-        per_cpu(xen_pgtable, cpu) = NULL;
-        free_xenheap_page(first);
-        return -ENOMEM;
-    }
-
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
-
-    return 0;
-}
-#endif
-
-/* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
-{
-    xen_pt_enforce_wnx();
-}
-
-#ifdef CONFIG_ARM_32
-/*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
- */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-
-    /* Record where the directmap is, for translation routines. */
-    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
-}
-#else /* CONFIG_ARM_64 */
-/* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    /* First call sets the directmap physical and virtual offset. */
-    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
-    {
-        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
-
-        directmap_mfn_start = _mfn(base_mfn);
-        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
-        /*
-         * The base address may not be aligned to the first level
-         * size (e.g. 1GB when using 4KB pages). This would prevent
-         * superpage mappings for all the regions because the virtual
-         * address and machine address should both be suitably aligned.
-         *
-         * Prevent that by offsetting the start of the directmap virtual
-         * address.
-         */
-        directmap_virt_start = DIRECTMAP_VIRT_START +
-            (base_mfn - mfn_gb) * PAGE_SIZE;
-    }
-
-    if ( base_mfn < mfn_x(directmap_mfn_start) )
-        panic("cannot add directmap mapping at %lx below heap start %lx\n",
-              base_mfn, mfn_x(directmap_mfn_start));
-
-    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
-                          _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-}
-#endif
-
-/* Map a frame table to cover physical addresses ps through pe */
-void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
-{
-    unsigned long nr_pdxs = mfn_to_pdx(mfn_add(maddr_to_mfn(pe), -1)) -
-                            mfn_to_pdx(maddr_to_mfn(ps)) + 1;
-    unsigned long frametable_size = nr_pdxs * sizeof(struct page_info);
-    mfn_t base_mfn;
-    const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
-    int rc;
-
-    /*
-     * The size of paddr_t should be sufficient for the complete range of
-     * physical address.
-     */
-    BUILD_BUG_ON((sizeof(paddr_t) * BITS_PER_BYTE) < PADDR_BITS);
-    BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
-
-    if ( frametable_size > FRAMETABLE_SIZE )
-        panic("The frametable cannot cover the physical region %#"PRIpaddr" - %#"PRIpaddr"\n",
-              ps, pe);
-
-    frametable_base_pdx = mfn_to_pdx(maddr_to_mfn(ps));
-    /* Round up to 2M or 32M boundary, as appropriate. */
-    frametable_size = ROUNDUP(frametable_size, mapping_size);
-    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
-
-    rc = map_pages_to_xen(FRAMETABLE_VIRT_START, base_mfn,
-                          frametable_size >> PAGE_SHIFT,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the frametable mappings.\n");
-
-    memset(&frame_table[0], 0, nr_pdxs * sizeof(struct page_info));
-    memset(&frame_table[nr_pdxs], -1,
-           frametable_size - (nr_pdxs * sizeof(struct page_info)));
-
-    frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
-}
-
-void *__init arch_vmap_virt_end(void)
-{
-    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
-}
-
-/*
- * This function should only be used to remap device address ranges
- * TODO: add a check to verify this assumption
- */
-void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
-{
-    mfn_t mfn = _mfn(PFN_DOWN(start));
-    unsigned int offs = start & (PAGE_SIZE - 1);
-    unsigned int nr = PFN_UP(offs + len);
-    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
-
-    if ( ptr == NULL )
-        return NULL;
-
-    return ptr + offs;
-}
-
 void *ioremap(paddr_t pa, size_t len)
 {
     return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
 }
 
-static int create_xen_table(lpae_t *entry)
-{
-    mfn_t mfn;
-    void *p;
-    lpae_t pte;
-
-    if ( system_state != SYS_STATE_early_boot )
-    {
-        struct page_info *pg = alloc_domheap_page(NULL, 0);
-
-        if ( pg == NULL )
-            return -ENOMEM;
-
-        mfn = page_to_mfn(pg);
-    }
-    else
-        mfn = alloc_boot_pages(1, 1);
-
-    p = xen_map_table(mfn);
-    clear_page(p);
-    xen_unmap_table(p);
-
-    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
-    pte.pt.table = 1;
-    write_pte(entry, pte);
-    /*
-     * No ISB here. It is deferred to xen_pt_update() as the new table
-     * will not be used for hardware translation table access as part of
-     * the mapping update.
-     */
-
-    return 0;
-}
-
-#define XEN_TABLE_MAP_FAILED 0
-#define XEN_TABLE_SUPER_PAGE 1
-#define XEN_TABLE_NORMAL_PAGE 2
-
-/*
- * Take the currently mapped table, find the corresponding entry,
- * and map the next table, if available.
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
- *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int xen_pt_next_level(bool read_only, unsigned int level,
-                             lpae_t **table, unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !lpae_is_valid(*entry) )
-    {
-        if ( read_only )
-            return XEN_TABLE_MAP_FAILED;
-
-        ret = create_xen_table(entry);
-        if ( ret )
-            return XEN_TABLE_MAP_FAILED;
-    }
-
-    /* The function xen_pt_next_level is never called at the 3rd level */
-    if ( lpae_is_mapping(*entry, level) )
-        return XEN_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    xen_unmap_table(*table);
-    *table = xen_map_table(mfn);
-
-    return XEN_TABLE_NORMAL_PAGE;
-}
-
-/* Sanity check of the entry */
-static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
-                               unsigned int flags)
-{
-    /* Sanity check when modifying an entry. */
-    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
-    {
-        /* We don't allow modifying an invalid entry. */
-        if ( !lpae_is_valid(entry) )
-        {
-            mm_printk("Modifying invalid entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow modifying a table entry */
-        if ( !lpae_is_mapping(entry, level) )
-        {
-            mm_printk("Modifying a table entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow changing memory attributes. */
-        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
-        {
-            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
-                      entry.pt.ai, PAGE_AI_MASK(flags));
-            return false;
-        }
-
-        /* We don't allow modifying entry with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when inserting a mapping */
-    else if ( flags & _PAGE_PRESENT )
-    {
-        /* We should be here with a valid MFN. */
-        ASSERT(!mfn_eq(mfn, INVALID_MFN));
-
-        /*
-         * We don't allow replacing any valid entry.
-         *
-         * Note that the function xen_pt_update() relies on this
-         * assumption and will skip the TLB flush. The function will need
-         * to be updated if the check is relaxed.
-         */
-        if ( lpae_is_valid(entry) )
-        {
-            if ( lpae_is_mapping(entry, level) )
-                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
-                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
-            else
-                mm_printk("Trying to replace a table with a mapping.\n");
-            return false;
-        }
-    }
-    /* Sanity check when removing a mapping. */
-    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
-    {
-        /* We should be here with an invalid MFN. */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-
-        /* We don't allow removing a table */
-        if ( lpae_is_table(entry, level) )
-        {
-            mm_printk("Removing a table is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow removing a mapping with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when populating the page-table. No check so far. */
-    else
-    {
-        ASSERT(flags & _PAGE_POPULATE);
-        /* We should be here with an invalid MFN */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-    }
-
-    return true;
-}
-
-/* Update an entry at the level @target. */
-static int xen_pt_update_entry(mfn_t root, unsigned long virt,
-                               mfn_t mfn, unsigned int target,
-                               unsigned int flags)
-{
-    int rc;
-    unsigned int level;
-    lpae_t *table;
-    /*
-     * The intermediate page tables are read-only when the MFN is not valid
-     * and we are not populating page table.
-     * This means we either modify permissions or remove an entry.
-     */
-    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
-    lpae_t pte, *entry;
-
-    /* convenience aliases */
-    DECLARE_OFFSETS(offsets, (paddr_t)virt);
-
-    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
-    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
-
-    table = xen_map_table(root);
-    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
-    {
-        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
-        if ( rc == XEN_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because xen_pt_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and the pt is read-only). It is a valid case when
-             * removing a mapping as it may not exist in the page table.
-             * In this case, just ignore it.
-             */
-            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
-            {
-                mm_printk("%s: Unable to map level %u\n", __func__, level);
-                rc = -ENOENT;
-                goto out;
-            }
-            else
-            {
-                rc = 0;
-                goto out;
-            }
-        }
-        else if ( rc != XEN_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    if ( level != target )
-    {
-        mm_printk("%s: Shattering superpage is not supported\n", __func__);
-        rc = -EOPNOTSUPP;
-        goto out;
-    }
-
-    entry = table + offsets[level];
-
-    rc = -EINVAL;
-    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
-        goto out;
-
-    /* If we are only populating page-table, then we are done. */
-    rc = 0;
-    if ( flags & _PAGE_POPULATE )
-        goto out;
-
-    /* We are removing the page */
-    if ( !(flags & _PAGE_PRESENT) )
-        memset(&pte, 0x00, sizeof(pte));
-    else
-    {
-        /* We are inserting a mapping => Create new pte. */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
-
-            /*
-             * First and second level pages set pte.pt.table = 0, but
-             * third level entries set pte.pt.table = 1.
-             */
-            pte.pt.table = (level == 3);
-        }
-        else /* We are updating the permission => Copy the current pte. */
-            pte = *entry;
-
-        /* Set permission */
-        pte.pt.ro = PAGE_RO_MASK(flags);
-        pte.pt.xn = PAGE_XN_MASK(flags);
-        /* Set contiguous bit */
-        pte.pt.contig = !!(flags & _PAGE_CONTIG);
-    }
-
-    write_pte(entry, pte);
-    /*
-     * No ISB or TLB flush here. They are deferred to xen_pt_update()
-     * as the entry will not be used as part of the mapping update.
-     */
-
-    rc = 0;
-
-out:
-    xen_unmap_table(table);
-
-    return rc;
-}
-
-/* Return the level where mapping should be done */
-static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
-                                unsigned int flags)
-{
-    unsigned int level;
-    unsigned long mask;
-
-    /*
-      * Don't take into account the MFN when removing mapping (i.e
-      * MFN_INVALID) to calculate the correct target order.
-      *
-      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
-      * They are or-ed together and then checked against the size of
-      * each level.
-      *
-      * `left` is not included and checked separately to allow
-      * superpage mapping even if it is not properly aligned (the
-      * user may have asked to map 2MB + 4k).
-      */
-     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
-     mask |= vfn;
-
-     /*
-      * Always use level 3 mapping unless the caller request block
-      * mapping.
-      */
-     if ( likely(!(flags & _PAGE_BLOCK)) )
-         level = 3;
-     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
-               (nr >= BIT(FIRST_ORDER, UL)) )
-         level = 1;
-     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
-               (nr >= BIT(SECOND_ORDER, UL)) )
-         level = 2;
-     else
-         level = 3;
-
-     return level;
-}
-
-#define XEN_PT_4K_NR_CONTIG 16
-
-/*
- * Check whether the contiguous bit can be set. Return the number of
- * contiguous entry allowed. If not allowed, return 1.
- */
-static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
-                                        unsigned int level, unsigned long left,
-                                        unsigned int flags)
-{
-    unsigned long nr_contig;
-
-    /*
-     * Allow the contiguous bit to set when the caller requests block
-     * mapping.
-     */
-    if ( !(flags & _PAGE_BLOCK) )
-        return 1;
-
-    /*
-     * We don't allow to remove mapping with the contiguous bit set.
-     * So shortcut the logic and directly return 1.
-     */
-    if ( mfn_eq(mfn, INVALID_MFN) )
-        return 1;
-
-    /*
-     * The number of contiguous entries varies depending on the page
-     * granularity used. The logic below assumes 4KB.
-     */
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    /*
-     * In order to enable the contiguous bit, we should have enough entries
-     * to map left and both the virtual and physical address should be
-     * aligned to the size of 16 translation tables entries.
-     */
-    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
-
-    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
-        return 1;
-
-    return XEN_PT_4K_NR_CONTIG;
-}
-
-static DEFINE_SPINLOCK(xen_pt_lock);
-
-static int xen_pt_update(unsigned long virt,
-                         mfn_t mfn,
-                         /* const on purpose as it is used for TLB flush */
-                         const unsigned long nr_mfns,
-                         unsigned int flags)
-{
-    int rc = 0;
-    unsigned long vfn = virt >> PAGE_SHIFT;
-    unsigned long left = nr_mfns;
-
-    /*
-     * For arm32, page-tables are different on each CPUs. Yet, they share
-     * some common mappings. It is assumed that only common mappings
-     * will be modified with this function.
-     *
-     * XXX: Add a check.
-     */
-    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
-
-    /*
-     * The hardware was configured to forbid mapping both writeable and
-     * executable.
-     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
-     * prevent any update if this happen.
-     */
-    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
-         !PAGE_XN_MASK(flags) )
-    {
-        mm_printk("Mappings should not be both Writeable and Executable.\n");
-        return -EINVAL;
-    }
-
-    if ( flags & _PAGE_CONTIG )
-    {
-        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
-        return -EINVAL;
-    }
-
-    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
-    {
-        mm_printk("The virtual address is not aligned to the page-size.\n");
-        return -EINVAL;
-    }
-
-    spin_lock(&xen_pt_lock);
-
-    while ( left )
-    {
-        unsigned int order, level, nr_contig, new_flags;
-
-        level = xen_pt_mapping_level(vfn, mfn, left, flags);
-        order = XEN_PT_LEVEL_ORDER(level);
-
-        ASSERT(left >= BIT(order, UL));
-
-        /*
-         * Check if we can set the contiguous mapping and update the
-         * flags accordingly.
-         */
-        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
-        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
-
-        for ( ; nr_contig > 0; nr_contig-- )
-        {
-            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
-                                     new_flags);
-            if ( rc )
-                break;
-
-            vfn += 1U << order;
-            if ( !mfn_eq(mfn, INVALID_MFN) )
-                mfn = mfn_add(mfn, 1U << order);
-
-            left -= (1U << order);
-        }
-
-        if ( rc )
-            break;
-    }
-
-    /*
-     * The TLBs flush can be safely skipped when a mapping is inserted
-     * as we don't allow mapping replacement (see xen_pt_check_entry()).
-     * Although we still need an ISB to ensure any DSB in
-     * write_pte() will complete because the mapping may be used soon
-     * after.
-     *
-     * For all the other cases, the TLBs will be flushed unconditionally
-     * even if the mapping has failed. This is because we may have
-     * partially modified the PT. This will prevent any unexpected
-     * behavior afterwards.
-     */
-    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
-        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
-    else
-        isb();
-
-    spin_unlock(&xen_pt_lock);
-
-    return rc;
-}
-
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
@@ -1236,11 +122,6 @@ int map_pages_to_xen(unsigned long virt,
     return xen_pt_update(virt, mfn, nr_mfns, flags);
 }
 
-int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
-{
-    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
-}
-
 int destroy_xen_mappings(unsigned long s, unsigned long e)
 {
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
new file mode 100644
index 0000000000..b18cec4836
--- /dev/null
+++ b/xen/arch/arm/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
new file mode 100644
index 0000000000..b70982e9d6
--- /dev/null
+++ b/xen/arch/arm/mmu/mm.c
@@ -0,0 +1,1146 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/mm.c
+ *
+ * MMU code for an ARMv7-A with virt extensions.
+ *
+ */
+
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/pmap.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
+#include <xen/types.h>
+#include <xen/vmap.h>
+
+#include <asm/fixmap.h>
+#include <asm/setup.h>
+
+/* Override macros from asm/page.h to make them work with mfn_t */
+#undef mfn_to_virt
+#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
+
+#ifdef NDEBUG
+static inline void
+__attribute__ ((__format__ (__printf__, 1, 2)))
+mm_printk(const char *fmt, ...) {}
+#else
+#define mm_printk(fmt, args...)             \
+    do                                      \
+    {                                       \
+        dprintk(XENLOG_ERR, fmt, ## args);  \
+        WARN();                             \
+    } while (0)
+#endif
+
+/* Static start-of-day pagetables that we use before the allocators
+ * are up. These are used by all CPUs during bringup before switching
+ * to the CPUs own pagetables.
+ *
+ * These pagetables have a very simple structure. They include:
+ *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
+ *    and boot_second are used to populate the tables down to boot_third
+ *    which contains the actual mapping.
+ *  - a 1:1 mapping of xen at its current physical address. This uses a
+ *    section mapping at whichever of boot_{pgtable,first,second}
+ *    covers that physical address.
+ *
+ * For the boot CPU these mappings point to the address where Xen was
+ * loaded by the bootloader. For secondary CPUs they point to the
+ * relocated copy of Xen for the benefit of secondary CPUs.
+ *
+ * In addition to the above for the boot CPU the device-tree is
+ * initially mapped in the boot misc slot. This mapping is not present
+ * for secondary CPUs.
+ *
+ * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
+ * by the CPU once it has moved off the 1:1 mapping.
+ */
+DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+#ifdef CONFIG_ARM_64
+DEFINE_BOOT_PAGE_TABLE(boot_first);
+DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+DEFINE_BOOT_PAGE_TABLE(boot_second);
+DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
+
+/* Main runtime page tables */
+
+/*
+ * For arm32 xen_pgtable are per-PCPU and are allocated before
+ * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
+ *
+ * xen_second, xen_fixmap and xen_xenmap are always shared between all
+ * PCPUs.
+ */
+
+#ifdef CONFIG_ARM_64
+#define HYP_PT_ROOT_LEVEL 0
+DEFINE_PAGE_TABLE(xen_pgtable);
+static DEFINE_PAGE_TABLE(xen_first);
+#define THIS_CPU_PGTABLE xen_pgtable
+#else
+#define HYP_PT_ROOT_LEVEL 1
+/* Per-CPU pagetable pages */
+/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
+DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
+/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
+static DEFINE_PAGE_TABLE(cpu0_pgtable);
+#endif
+
+/* Common pagetable leaves */
+/* Second level page table used to cover Xen virtual address space */
+static DEFINE_PAGE_TABLE(xen_second);
+/* Third level page table used for fixmap */
+DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
+/*
+ * Third level page table used to map Xen itself with the XN bit set
+ * as appropriate.
+ */
+static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
+
+/* Non-boot CPUs use this to find the correct pagetables. */
+uint64_t init_ttbr;
+
+static paddr_t phys_offset;
+
+/* Limits of the Xen heap */
+mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
+mfn_t directmap_mfn_end __read_mostly;
+vaddr_t directmap_virt_end __read_mostly;
+#ifdef CONFIG_ARM_64
+vaddr_t directmap_virt_start __read_mostly;
+unsigned long directmap_base_pdx __read_mostly;
+#endif
+
+/* Checking VA memory layout alignment. */
+static void __init __maybe_unused build_assertions(void)
+{
+    /* 2MB aligned regions */
+    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
+    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
+    /* 1GB aligned regions */
+#ifdef CONFIG_ARM_32
+    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#else
+    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /* Page table structure constraints */
+#ifdef CONFIG_ARM_64
+    /*
+     * The first few slots of the L0 table is reserved for the identity
+     * mapping. Check that none of the other regions are overlapping
+     * with it.
+     */
+#define CHECK_OVERLAP_WITH_IDMAP(virt) \
+    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
+
+    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
+#undef CHECK_OVERLAP_WITH_IDMAP
+#endif
+    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
+    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /*
+     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
+     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
+     * slot in the page tables.
+     */
+#define CHECK_SAME_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
+
+#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
+
+#ifdef CONFIG_ARM_64
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+#endif
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+
+    /*
+     * For arm32, the temporary mapping will re-use the domheap
+     * first slot and the second slots will match.
+     */
+#ifdef CONFIG_ARM_32
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
+    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+#endif
+
+#undef CHECK_SAME_SLOT
+#undef CHECK_DIFFERENT_SLOT
+}
+
+static lpae_t *xen_map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void xen_unmap_table(const lpae_t *table)
+{
+    /*
+     * During early boot, xen_map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables)
+{
+    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
+    const mfn_t root_mfn = maddr_to_mfn(ttbr);
+    DECLARE_OFFSETS(offsets, addr);
+    lpae_t pte, *mapping;
+    unsigned int level, root_table;
+
+#ifdef CONFIG_ARM_32
+    BUG_ON(root_level < 1);
+#endif
+    BUG_ON(root_level > 3);
+
+    if ( nr_root_tables > 1 )
+    {
+        /*
+         * Concatenated root-level tables. The table number will be
+         * the offset at the previous level. It is not possible to
+         * concatenate a level-0 root.
+         */
+        BUG_ON(root_level == 0);
+        root_table = offsets[root_level - 1];
+        printk("Using concatenated root table %u\n", root_table);
+        if ( root_table >= nr_root_tables )
+        {
+            printk("Invalid root table offset\n");
+            return;
+        }
+    }
+    else
+        root_table = 0;
+
+    mapping = xen_map_table(mfn_add(root_mfn, root_table));
+
+    for ( level = root_level; ; level++ )
+    {
+        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
+            break;
+
+        pte = mapping[offsets[level]];
+
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
+               level_strs[level], offsets[level], pte.bits);
+
+        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
+            break;
+
+        /* For next iteration */
+        xen_unmap_table(mapping);
+        mapping = xen_map_table(lpae_get_mfn(pte));
+    }
+
+    xen_unmap_table(mapping);
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
+
+    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
+           "on CPU%d via TTBR 0x%016"PRIx64"\n",
+           addr, smp_processor_id(), ttbr);
+
+    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
+}
+
+lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
+{
+    lpae_t e = (lpae_t) {
+        .pt = {
+            .valid = 1,           /* Mappings are present */
+            .table = 0,           /* Set to 1 for links and 4k maps */
+            .ai = attr,
+            .ns = 1,              /* Hyp mode is in the non-secure world */
+            .up = 1,              /* See below */
+            .ro = 0,              /* Assume read-write */
+            .af = 1,              /* No need for access tracking */
+            .ng = 1,              /* Makes TLB flushes easier */
+            .contig = 0,          /* Assume non-contiguous */
+            .xn = 1,              /* No need to execute outside .text */
+            .avail = 0,           /* Reference count for domheap mapping */
+        }};
+    /*
+     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
+     * regime applies to only one exception level (see D4.4.4 and G4.6.1
+     * in ARM DDI 0487B.a). If this changes, remember to update the
+     * hard-coded values in head.S too.
+     */
+
+    switch ( attr )
+    {
+    case MT_NORMAL_NC:
+        /*
+         * ARM ARM: Overlaying the shareability attribute (DDI
+         * 0406C.b B3-1376 to 1377)
+         *
+         * A memory region with a resultant memory type attribute of Normal,
+         * and a resultant cacheability attribute of Inner Non-cacheable,
+         * Outer Non-cacheable, must have a resultant shareability attribute
+         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    case MT_DEVICE_nGnRnE:
+    case MT_DEVICE_nGnRE:
+        /*
+         * Shareability is ignored for non-Normal memory, Outer is as
+         * good as anything.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for any device memory type.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    default:
+        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
+        break;
+    }
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Map a 4k page in a fixmap entry */
+void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
+{
+    int res;
+
+    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
+    BUG_ON(res != 0);
+}
+
+/* Remove a mapping from a fixmap entry */
+void clear_fixmap(unsigned int map)
+{
+    int res;
+
+    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
+    BUG_ON(res != 0);
+}
+
+lpae_t pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+
+    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
+}
+
+void __init remove_early_mappings(void)
+{
+    int rc;
+
+    /* destroy the _PAGE_BLOCK mapping */
+    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
+                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
+                             _PAGE_BLOCK);
+    BUG_ON(rc);
+}
+
+/*
+ * After boot, Xen page-tables should not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each CPU to enforce the policy.
+ */
+static void xen_pt_enforce_wnx(void)
+{
+    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
+    /*
+     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+     * before flushing the TLBs.
+     */
+    isb();
+    flush_xen_tlb_local();
+}
+
+/* Clear a translation table and clean & invalidate the cache */
+static void clear_table(void *table)
+{
+    clear_page(table);
+    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
+}
+
+/* Boot-time pagetable setup.
+ * Changes here may need matching changes in head.S */
+void __init setup_pagetables(unsigned long boot_phys_offset)
+{
+    uint64_t ttbr;
+    lpae_t pte, *p;
+    int i;
+
+    phys_offset = boot_phys_offset;
+
+    arch_setup_page_tables();
+
+#ifdef CONFIG_ARM_64
+    pte = pte_of_xenaddr((uintptr_t)xen_first);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
+
+    p = (void *) xen_first;
+#else
+    p = (void *) cpu0_pgtable;
+#endif
+
+    /* Map xen second level page-table */
+    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
+    p[0].pt.table = 1;
+    p[0].pt.xn = 0;
+
+    /* Break up the Xen mapping into pages and protect them separately. */
+    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
+
+        if ( !is_kernel(va) )
+            break;
+        pte = pte_of_xenaddr(va);
+        pte.pt.table = 1; /* third level mappings always have this bit set */
+        if ( is_kernel_text(va) || is_kernel_inittext(va) )
+        {
+            pte.pt.xn = 0;
+            pte.pt.ro = 1;
+        }
+        if ( is_kernel_rodata(va) )
+            pte.pt.ro = 1;
+        xen_xenmap[i] = pte;
+    }
+
+    /* Initialise xen second level entries ... */
+    /* ... Xen's text etc */
+    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
+
+        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
+        pte.pt.table = 1;
+        xen_second[second_table_offset(va)] = pte;
+    }
+
+    /* ... Fixmap */
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
+    pte.pt.table = 1;
+    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
+
+#ifdef CONFIG_ARM_64
+    ttbr = (uintptr_t) xen_pgtable + phys_offset;
+#else
+    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
+#endif
+
+    switch_ttbr(ttbr);
+
+    xen_pt_enforce_wnx();
+
+#ifdef CONFIG_ARM_32
+    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
+#endif
+}
+
+static void clear_boot_pagetables(void)
+{
+    /*
+     * Clear the copy of the boot pagetables. Each secondary CPU
+     * rebuilds these itself (see head.S).
+     */
+    clear_table(boot_pgtable);
+#ifdef CONFIG_ARM_64
+    clear_table(boot_first);
+    clear_table(boot_first_id);
+#endif
+    clear_table(boot_second);
+    clear_table(boot_third);
+}
+
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
+     * pagetables, but rewrite it each time for consistency with 32 bit. */
+    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
+    clean_dcache(init_ttbr);
+    return 0;
+}
+#else
+int init_secondary_pagetables(int cpu)
+{
+    lpae_t *first;
+
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
+
+    if ( !first )
+    {
+        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
+        return -ENOMEM;
+    }
+
+    /* Initialise root pagetable from root of boot tables */
+    memcpy(first, cpu0_pgtable, PAGE_SIZE);
+    per_cpu(xen_pgtable, cpu) = first;
+
+    if ( !init_domheap_mappings(cpu) )
+    {
+        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
+        per_cpu(xen_pgtable, cpu) = NULL;
+        free_xenheap_page(first);
+        return -ENOMEM;
+    }
+
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up */
+    init_ttbr = __pa(first);
+    clean_dcache(init_ttbr);
+
+    return 0;
+}
+#endif
+
+/* MMU setup for secondary CPUS (which already have paging enabled) */
+void mmu_init_secondary_cpu(void)
+{
+    xen_pt_enforce_wnx();
+}
+
+#ifdef CONFIG_ARM_32
+/*
+ * Set up the direct-mapped xenheap:
+ * up to 1GB of contiguous, always-mapped memory.
+ */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+
+    /* Record where the directmap is, for translation routines. */
+    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
+}
+#else /* CONFIG_ARM_64 */
+/* Map the region in the directmap area. */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    /* First call sets the directmap physical and virtual offset. */
+    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
+    {
+        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
+
+        directmap_mfn_start = _mfn(base_mfn);
+        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
+        /*
+         * The base address may not be aligned to the first level
+         * size (e.g. 1GB when using 4KB pages). This would prevent
+         * superpage mappings for all the regions because the virtual
+         * address and machine address should both be suitably aligned.
+         *
+         * Prevent that by offsetting the start of the directmap virtual
+         * address.
+         */
+        directmap_virt_start = DIRECTMAP_VIRT_START +
+            (base_mfn - mfn_gb) * PAGE_SIZE;
+    }
+
+    if ( base_mfn < mfn_x(directmap_mfn_start) )
+        panic("cannot add directmap mapping at %lx below heap start %lx\n",
+              base_mfn, mfn_x(directmap_mfn_start));
+
+    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
+                          _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+}
+#endif
+
+/* Map a frame table to cover physical addresses ps through pe */
+void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
+{
+    unsigned long nr_pdxs = mfn_to_pdx(mfn_add(maddr_to_mfn(pe), -1)) -
+                            mfn_to_pdx(maddr_to_mfn(ps)) + 1;
+    unsigned long frametable_size = nr_pdxs * sizeof(struct page_info);
+    mfn_t base_mfn;
+    const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
+    int rc;
+
+    /*
+     * The size of paddr_t should be sufficient for the complete range of
+     * physical address.
+     */
+    BUILD_BUG_ON((sizeof(paddr_t) * BITS_PER_BYTE) < PADDR_BITS);
+    BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
+
+    if ( frametable_size > FRAMETABLE_SIZE )
+        panic("The frametable cannot cover the physical region %#"PRIpaddr" - %#"PRIpaddr"\n",
+              ps, pe);
+
+    frametable_base_pdx = mfn_to_pdx(maddr_to_mfn(ps));
+    /* Round up to 2M or 32M boundary, as appropriate. */
+    frametable_size = ROUNDUP(frametable_size, mapping_size);
+    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
+
+    rc = map_pages_to_xen(FRAMETABLE_VIRT_START, base_mfn,
+                          frametable_size >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the frametable mappings.\n");
+
+    memset(&frame_table[0], 0, nr_pdxs * sizeof(struct page_info));
+    memset(&frame_table[nr_pdxs], -1,
+           frametable_size - (nr_pdxs * sizeof(struct page_info)));
+
+    frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
+}
+
+void *__init arch_vmap_virt_end(void)
+{
+    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
+}
+
+/*
+ * This function should only be used to remap device address ranges
+ * TODO: add a check to verify this assumption
+ */
+void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
+{
+    mfn_t mfn = _mfn(PFN_DOWN(start));
+    unsigned int offs = start & (PAGE_SIZE - 1);
+    unsigned int nr = PFN_UP(offs + len);
+    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
+
+    if ( ptr == NULL )
+        return NULL;
+
+    return ptr + offs;
+}
+
+static int create_xen_table(lpae_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    lpae_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = xen_map_table(mfn);
+    clear_page(p);
+    xen_unmap_table(p);
+
+    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
+    pte.pt.table = 1;
+    write_pte(entry, pte);
+    /*
+     * No ISB here. It is deferred to xen_pt_update() as the new table
+     * will not be used for hardware translation table access as part of
+     * the mapping update.
+     */
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL_PAGE 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int xen_pt_next_level(bool read_only, unsigned int level,
+                             lpae_t **table, unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !lpae_is_valid(*entry) )
+    {
+        if ( read_only )
+            return XEN_TABLE_MAP_FAILED;
+
+        ret = create_xen_table(entry);
+        if ( ret )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    /* The function xen_pt_next_level is never called at the 3rd level */
+    if ( lpae_is_mapping(*entry, level) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    xen_unmap_table(*table);
+    *table = xen_map_table(mfn);
+
+    return XEN_TABLE_NORMAL_PAGE;
+}
+
+/* Sanity check of the entry */
+static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
+                               unsigned int flags)
+{
+    /* Sanity check when modifying an entry. */
+    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !lpae_is_valid(entry) )
+        {
+            mm_printk("Modifying invalid entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( !lpae_is_mapping(entry, level) )
+        {
+            mm_printk("Modifying a table entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow changing memory attributes. */
+        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
+        {
+            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
+                      entry.pt.ai, PAGE_AI_MASK(flags));
+            return false;
+        }
+
+        /* We don't allow modifying entry with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & _PAGE_PRESENT )
+    {
+        /* We should be here with a valid MFN. */
+        ASSERT(!mfn_eq(mfn, INVALID_MFN));
+
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function xen_pt_update() relies on this
+         * assumption and will skip the TLB flush. The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( lpae_is_valid(entry) )
+        {
+            if ( lpae_is_mapping(entry, level) )
+                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
+                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
+            else
+                mm_printk("Trying to replace a table with a mapping.\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( lpae_is_table(entry, level) )
+        {
+            mm_printk("Removing a table is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow removing a mapping with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        ASSERT(flags & _PAGE_POPULATE);
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+/* Update an entry at the level @target. */
+static int xen_pt_update_entry(mfn_t root, unsigned long virt,
+                               mfn_t mfn, unsigned int target,
+                               unsigned int flags)
+{
+    int rc;
+    unsigned int level;
+    lpae_t *table;
+    /*
+     * The intermediate page tables are read-only when the MFN is not valid
+     * and we are not populating page table.
+     * This means we either modify permissions or remove an entry.
+     */
+    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
+    lpae_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, (paddr_t)virt);
+
+    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
+    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
+
+    table = xen_map_table(root);
+    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
+    {
+        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because xen_pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt is read-only). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
+            {
+                mm_printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOENT;
+                goto out;
+            }
+            else
+            {
+                rc = 0;
+                goto out;
+            }
+        }
+        else if ( rc != XEN_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    if ( level != target )
+    {
+        mm_printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
+        goto out;
+
+    /* If we are only populating page-table, then we are done. */
+    rc = 0;
+    if ( flags & _PAGE_POPULATE )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & _PAGE_PRESENT) )
+        memset(&pte, 0x00, sizeof(pte));
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
+
+            /*
+             * First and second level pages set pte.pt.table = 0, but
+             * third level entries set pte.pt.table = 1.
+             */
+            pte.pt.table = (level == 3);
+        }
+        else /* We are updating the permission => Copy the current pte. */
+            pte = *entry;
+
+        /* Set permission */
+        pte.pt.ro = PAGE_RO_MASK(flags);
+        pte.pt.xn = PAGE_XN_MASK(flags);
+        /* Set contiguous bit */
+        pte.pt.contig = !!(flags & _PAGE_CONTIG);
+    }
+
+    write_pte(entry, pte);
+    /*
+     * No ISB or TLB flush here. They are deferred to xen_pt_update()
+     * as the entry will not be used as part of the mapping update.
+     */
+
+    rc = 0;
+
+out:
+    xen_unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                                unsigned int flags)
+{
+    unsigned int level;
+    unsigned long mask;
+
+    /*
+      * Don't take into account the MFN when removing mapping (i.e
+      * MFN_INVALID) to calculate the correct target order.
+      *
+      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
+      * They are or-ed together and then checked against the size of
+      * each level.
+      *
+      * `left` is not included and checked separately to allow
+      * superpage mapping even if it is not properly aligned (the
+      * user may have asked to map 2MB + 4k).
+      */
+     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+     mask |= vfn;
+
+     /*
+      * Always use level 3 mapping unless the caller request block
+      * mapping.
+      */
+     if ( likely(!(flags & _PAGE_BLOCK)) )
+         level = 3;
+     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
+               (nr >= BIT(FIRST_ORDER, UL)) )
+         level = 1;
+     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
+               (nr >= BIT(SECOND_ORDER, UL)) )
+         level = 2;
+     else
+         level = 3;
+
+     return level;
+}
+
+#define XEN_PT_4K_NR_CONTIG 16
+
+/*
+ * Check whether the contiguous bit can be set. Return the number of
+ * contiguous entry allowed. If not allowed, return 1.
+ */
+static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
+                                        unsigned int level, unsigned long left,
+                                        unsigned int flags)
+{
+    unsigned long nr_contig;
+
+    /*
+     * Allow the contiguous bit to set when the caller requests block
+     * mapping.
+     */
+    if ( !(flags & _PAGE_BLOCK) )
+        return 1;
+
+    /*
+     * We don't allow to remove mapping with the contiguous bit set.
+     * So shortcut the logic and directly return 1.
+     */
+    if ( mfn_eq(mfn, INVALID_MFN) )
+        return 1;
+
+    /*
+     * The number of contiguous entries varies depending on the page
+     * granularity used. The logic below assumes 4KB.
+     */
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    /*
+     * In order to enable the contiguous bit, we should have enough entries
+     * to map left and both the virtual and physical address should be
+     * aligned to the size of 16 translation tables entries.
+     */
+    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
+
+    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
+        return 1;
+
+    return XEN_PT_4K_NR_CONTIG;
+}
+
+static DEFINE_SPINLOCK(xen_pt_lock);
+
+int xen_pt_update(unsigned long virt,
+                  mfn_t mfn,
+                  /* const on purpose as it is used for TLB flush */
+                  const unsigned long nr_mfns,
+                  unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = virt >> PAGE_SHIFT;
+    unsigned long left = nr_mfns;
+
+    /*
+     * For arm32, page-tables are different on each CPUs. Yet, they share
+     * some common mappings. It is assumed that only common mappings
+     * will be modified with this function.
+     *
+     * XXX: Add a check.
+     */
+    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
+
+    /*
+     * The hardware was configured to forbid mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
+         !PAGE_XN_MASK(flags) )
+    {
+        mm_printk("Mappings should not be both Writeable and Executable.\n");
+        return -EINVAL;
+    }
+
+    if ( flags & _PAGE_CONTIG )
+    {
+        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        mm_printk("The virtual address is not aligned to the page-size.\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&xen_pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level, nr_contig, new_flags;
+
+        level = xen_pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        /*
+         * Check if we can set the contiguous mapping and update the
+         * flags accordingly.
+         */
+        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
+        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
+
+        for ( ; nr_contig > 0; nr_contig-- )
+        {
+            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
+                                     new_flags);
+            if ( rc )
+                break;
+
+            vfn += 1U << order;
+            if ( !mfn_eq(mfn, INVALID_MFN) )
+                mfn = mfn_add(mfn, 1U << order);
+
+            left -= (1U << order);
+        }
+
+        if ( rc )
+            break;
+    }
+
+    /*
+     * The TLBs flush can be safely skipped when a mapping is inserted
+     * as we don't allow mapping replacement (see xen_pt_check_entry()).
+     * Although we still need an ISB to ensure any DSB in
+     * write_pte() will complete because the mapping may be used soon
+     * after.
+     *
+     * For all the other cases, the TLBs will be flushed unconditionally
+     * even if the mapping has failed. This is because we may have
+     * partially modified the PT. This will prevent any unexpected
+     * behavior afterwards.
+     */
+    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
+        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
+    else
+        isb();
+
+    spin_unlock(&xen_pt_lock);
+
+    return rc;
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:45:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573570.898431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgJx-0002BS-4O; Tue, 01 Aug 2023 03:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573570.898431; Tue, 01 Aug 2023 03: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 1qQgJx-0002BJ-1f; Tue, 01 Aug 2023 03:45:17 +0000
Received: by outflank-mailman (input) for mailman id 573570;
 Tue, 01 Aug 2023 03: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJv-0006rJ-Ky
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d2768253-301d-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 05:45:14 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CB417D75;
 Mon, 31 Jul 2023 20:45:56 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7BA513F59C;
 Mon, 31 Jul 2023 20:45:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2768253-301d-11ee-b258-6b7b168915f2
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 10/13] xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
Date: Tue,  1 Aug 2023 11:44:16 +0800
Message-Id: <20230801034419.2047541-11-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

setup_mm is used for Xen to setup memory management subsystem at boot
time, like boot allocator, direct-mapping, xenheap initialization,
frametable and static memory pages.

We could inherit some components seamlessly in later MPU system like
boot allocator, whilst we need to implement some components differently
in MPU, like xenheap, etc. There are some components that is specific
to MMU only, like direct-mapping.

In the commit, we move MMU-specific components into mmu/setup.c, in
preparation of implementing MPU version of setup_mm later in future
commit. Also, make init_pdx(), init_staticmem_pages(), setup_mm(), and
populate_boot_allocator() public for future MPU inplementation.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- No change
---
 xen/arch/arm/include/asm/setup.h |   5 +
 xen/arch/arm/mmu/Makefile        |   1 +
 xen/arch/arm/mmu/setup.c         | 339 +++++++++++++++++++++++++++++++
 xen/arch/arm/setup.c             | 326 +----------------------------
 4 files changed, 349 insertions(+), 322 deletions(-)
 create mode 100644 xen/arch/arm/mmu/setup.c

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index f0f64d228c..0922549631 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -156,6 +156,11 @@ 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);
 
+extern void init_pdx(void);
+extern void init_staticmem_pages(void);
+extern void populate_boot_allocator(void);
+extern void setup_mm(void);
+
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index b18cec4836..4aa1fb466d 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += mm.o
+obj-y += setup.o
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
new file mode 100644
index 0000000000..e05cca3f86
--- /dev/null
+++ b/xen/arch/arm/mmu/setup.c
@@ -0,0 +1,339 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/arch/arm/mmu/setup.c
+ *
+ * MMU-specific early bringup code for an ARMv7-A with virt extensions.
+ */
+
+#include <xen/init.h>
+#include <xen/serial.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/mm.h>
+#include <xen/param.h>
+#include <xen/pfn.h>
+#include <asm/fixmap.h>
+#include <asm/page.h>
+#include <asm/setup.h>
+
+#ifdef CONFIG_ARM_32
+static unsigned long opt_xenheap_megabytes __initdata;
+integer_param("xenheap_megabytes", opt_xenheap_megabytes);
+
+/*
+ * Returns the end address of the highest region in the range s..e
+ * with required size and alignment that does not conflict with the
+ * modules from first_mod to nr_modules.
+ *
+ * For non-recursive callers first_mod should normally be 0 (all
+ * modules and Xen itself) or 1 (all modules but not Xen).
+ */
+static paddr_t __init consider_modules(paddr_t s, paddr_t e,
+                                       uint32_t size, paddr_t align,
+                                       int first_mod)
+{
+    const struct bootmodules *mi = &bootinfo.modules;
+    int i;
+    int nr;
+
+    s = (s+align-1) & ~(align-1);
+    e = e & ~(align-1);
+
+    if ( s > e ||  e - s < size )
+        return 0;
+
+    /* First check the boot modules */
+    for ( i = first_mod; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        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);
+        }
+    }
+
+    /* 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.
+     *
+     * 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.
+     */
+    nr += mi->nr_mods;
+    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 )
+        {
+            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);
+        }
+    }
+    return e;
+}
+
+/*
+ * Find a contiguous region that fits in the static heap region with
+ * required size and alignment, and return the end address of the region
+ * if found otherwise 0.
+ */
+static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
+{
+    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++ )
+    {
+        if ( bootinfo.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_end = bank_start + bank_size;
+
+        if ( bank_size < size )
+            continue;
+
+        aligned_end = bank_end & ~(align - 1);
+        aligned_start = (aligned_end - size) & ~(align - 1);
+
+        if ( aligned_start > bank_start )
+            /*
+             * Allocate the xenheap as high as possible to keep low-memory
+             * available (assuming the admin supplied region below 4GB)
+             * for other use (e.g. domain memory allocation).
+             */
+            end = max(end, aligned_end);
+    }
+
+    return end;
+}
+
+void __init setup_mm(void)
+{
+    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 )
+        panic("No memory bank\n");
+
+    /* We only supports instruction caches implementing the IVIPT extension. */
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
+        panic("AIVIVT instruction cache not supported\n");
+
+    init_pdx();
+
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+
+    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    {
+        bank_start = bootinfo.mem.bank[i].start;
+        bank_size = bootinfo.mem.bank[i].size;
+        bank_end = bank_start + bank_size;
+
+        ram_size  = ram_size + bank_size;
+        ram_start = min(ram_start,bank_start);
+        ram_end   = max(ram_end,bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    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;
+
+            bank_start = bootinfo.reserved_mem.bank[i].start;
+            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_end = bank_start + bank_size;
+
+            static_heap_size += bank_size;
+            static_heap_end = max(static_heap_end, bank_end);
+        }
+
+        heap_pages = static_heap_size >> PAGE_SHIFT;
+    }
+    else
+        heap_pages = total_pages;
+
+    /*
+     * If the user has not requested otherwise via the command line
+     * then locate the xenheap using these constraints:
+     *
+     *  - must be contiguous
+     *  - must be 32 MiB aligned
+     *  - must not include Xen itself or the boot modules
+     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
+          heap if enabled) if less
+     *  - must be at least 32M
+     *
+     * We try to allocate the largest xenheap possible within these
+     * constraints.
+     */
+    if ( opt_xenheap_megabytes )
+        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
+    else
+    {
+        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
+        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
+        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
+    }
+
+    do
+    {
+        e = bootinfo.static_heap ?
+            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
+            consider_modules(ram_start, ram_end,
+                             pfn_to_paddr(xenheap_pages),
+                             32<<20, 0);
+        if ( e )
+            break;
+
+        xenheap_pages >>= 1;
+    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
+
+    if ( ! e )
+        panic("Not enough space for xenheap\n");
+
+    domheap_pages = heap_pages - xenheap_pages;
+
+    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
+           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
+           opt_xenheap_megabytes ? ", from command-line" : "");
+    printk("Dom heap: %lu pages\n", domheap_pages);
+
+    /*
+     * We need some memory to allocate the page-tables used for the
+     * directmap mappings. So populate the boot allocator first.
+     *
+     * This requires us to set directmap_mfn_{start, end} first so the
+     * direct-mapped Xenheap region can be avoided.
+     */
+    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
+    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
+
+    populate_boot_allocator();
+
+    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
+
+    /* Frame table covers all of RAM region, including holes */
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    /*
+     * The allocators may need to use map_domain_page() (such as for
+     * scrubbing pages). So we need to prepare the domheap area first.
+     */
+    if ( !init_domheap_mappings(smp_processor_id()) )
+        panic("CPU%u: Unable to prepare the domheap page-tables\n",
+              smp_processor_id());
+
+    /* Add xenheap memory that was not already added to the boot allocator. */
+    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
+                       mfn_to_maddr(directmap_mfn_end));
+
+    init_staticmem_pages();
+}
+#else /* CONFIG_ARM_64 */
+void __init setup_mm(void)
+{
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    /*
+     * We need some memory to allocate the page-tables used for the directmap
+     * mappings. But some regions may contain memory already allocated
+     * for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    total_pages = 0;
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+
+        setup_directmap_mappings(PFN_DOWN(bank->start),
+                                 PFN_DOWN(bank->size));
+    }
+
+    total_pages += ram_size >> PAGE_SHIFT;
+
+    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    directmap_mfn_start = maddr_to_mfn(ram_start);
+    directmap_mfn_end = maddr_to_mfn(ram_end);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    init_staticmem_pages();
+}
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bbf72b69aa..50259552a0 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -2,7 +2,7 @@
 /*
  * xen/arch/arm/setup.c
  *
- * Early bringup code for an ARMv7-A with virt extensions.
+ * Early bringup code for an ARMv7-A/ARM64v8R with virt extensions.
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
@@ -57,11 +57,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
 
-#ifdef CONFIG_ARM_32
-static unsigned long opt_xenheap_megabytes __initdata;
-integer_param("xenheap_megabytes", opt_xenheap_megabytes);
-#endif
-
 domid_t __read_mostly max_init_domid;
 
 static __used void init_done(void)
@@ -546,138 +541,6 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }
 
-#ifdef CONFIG_ARM_32
-/*
- * Returns the end address of the highest region in the range s..e
- * with required size and alignment that does not conflict with the
- * modules from first_mod to nr_modules.
- *
- * For non-recursive callers first_mod should normally be 0 (all
- * modules and Xen itself) or 1 (all modules but not Xen).
- */
-static paddr_t __init consider_modules(paddr_t s, paddr_t e,
-                                       uint32_t size, paddr_t align,
-                                       int first_mod)
-{
-    const struct bootmodules *mi = &bootinfo.modules;
-    int i;
-    int nr;
-
-    s = (s+align-1) & ~(align-1);
-    e = e & ~(align-1);
-
-    if ( s > e ||  e - s < size )
-        return 0;
-
-    /* First check the boot modules */
-    for ( i = first_mod; i < mi->nr_mods; i++ )
-    {
-        paddr_t mod_s = mi->module[i].start;
-        paddr_t mod_e = mod_s + mi->module[i].size;
-
-        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);
-        }
-    }
-
-    /* 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.
-     *
-     * 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.
-     */
-    nr += mi->nr_mods;
-    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 )
-        {
-            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);
-        }
-    }
-    return e;
-}
-
-/*
- * Find a contiguous region that fits in the static heap region with
- * required size and alignment, and return the end address of the region
- * if found otherwise 0.
- */
-static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
-{
-    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++ )
-    {
-        if ( bootinfo.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_end = bank_start + bank_size;
-
-        if ( bank_size < size )
-            continue;
-
-        aligned_end = bank_end & ~(align - 1);
-        aligned_start = (aligned_end - size) & ~(align - 1);
-
-        if ( aligned_start > bank_start )
-            /*
-             * Allocate the xenheap as high as possible to keep low-memory
-             * available (assuming the admin supplied region below 4GB)
-             * for other use (e.g. domain memory allocation).
-             */
-            end = max(end, aligned_end);
-    }
-
-    return end;
-}
-#endif
-
 /*
  * Return the end of the non-module region starting at s. In other
  * words return s the start of the next modules after s.
@@ -712,7 +575,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
     return lowest;
 }
 
-static void __init init_pdx(void)
+void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
 
@@ -757,7 +620,7 @@ static void __init init_pdx(void)
 }
 
 /* Static memory initialization */
-static void __init init_staticmem_pages(void)
+void __init init_staticmem_pages(void)
 {
 #ifdef CONFIG_STATIC_MEMORY
     unsigned int bank;
@@ -791,7 +654,7 @@ static void __init init_staticmem_pages(void)
  * allocator with the corresponding regions only, but with Xenheap excluded
  * on arm32.
  */
-static void __init populate_boot_allocator(void)
+void __init populate_boot_allocator(void)
 {
     unsigned int i;
     const struct meminfo *banks = &bootinfo.mem;
@@ -860,187 +723,6 @@ static void __init populate_boot_allocator(void)
     }
 }
 
-#ifdef CONFIG_ARM_32
-static void __init setup_mm(void)
-{
-    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 )
-        panic("No memory bank\n");
-
-    /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
-        panic("AIVIVT instruction cache not supported\n");
-
-    init_pdx();
-
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
-    ram_end   = ram_start + ram_size;
-
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
-    {
-        bank_start = bootinfo.mem.bank[i].start;
-        bank_size = bootinfo.mem.bank[i].size;
-        bank_end = bank_start + bank_size;
-
-        ram_size  = ram_size + bank_size;
-        ram_start = min(ram_start,bank_start);
-        ram_end   = max(ram_end,bank_end);
-    }
-
-    total_pages = ram_size >> PAGE_SHIFT;
-
-    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;
-
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
-            bank_end = bank_start + bank_size;
-
-            static_heap_size += bank_size;
-            static_heap_end = max(static_heap_end, bank_end);
-        }
-
-        heap_pages = static_heap_size >> PAGE_SHIFT;
-    }
-    else
-        heap_pages = total_pages;
-
-    /*
-     * If the user has not requested otherwise via the command line
-     * then locate the xenheap using these constraints:
-     *
-     *  - must be contiguous
-     *  - must be 32 MiB aligned
-     *  - must not include Xen itself or the boot modules
-     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
-          heap if enabled) if less
-     *  - must be at least 32M
-     *
-     * We try to allocate the largest xenheap possible within these
-     * constraints.
-     */
-    if ( opt_xenheap_megabytes )
-        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
-    else
-    {
-        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
-        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
-        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
-    }
-
-    do
-    {
-        e = bootinfo.static_heap ?
-            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
-            consider_modules(ram_start, ram_end,
-                             pfn_to_paddr(xenheap_pages),
-                             32<<20, 0);
-        if ( e )
-            break;
-
-        xenheap_pages >>= 1;
-    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
-
-    if ( ! e )
-        panic("Not enough space for xenheap\n");
-
-    domheap_pages = heap_pages - xenheap_pages;
-
-    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
-           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
-           opt_xenheap_megabytes ? ", from command-line" : "");
-    printk("Dom heap: %lu pages\n", domheap_pages);
-
-    /*
-     * We need some memory to allocate the page-tables used for the
-     * directmap mappings. So populate the boot allocator first.
-     *
-     * This requires us to set directmap_mfn_{start, end} first so the
-     * direct-mapped Xenheap region can be avoided.
-     */
-    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
-    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
-
-    populate_boot_allocator();
-
-    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
-
-    /* Frame table covers all of RAM region, including holes */
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    /*
-     * The allocators may need to use map_domain_page() (such as for
-     * scrubbing pages). So we need to prepare the domheap area first.
-     */
-    if ( !init_domheap_mappings(smp_processor_id()) )
-        panic("CPU%u: Unable to prepare the domheap page-tables\n",
-              smp_processor_id());
-
-    /* Add xenheap memory that was not already added to the boot allocator. */
-    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
-                       mfn_to_maddr(directmap_mfn_end));
-
-    init_staticmem_pages();
-}
-#else /* CONFIG_ARM_64 */
-static void __init setup_mm(void)
-{
-    const struct meminfo *banks = &bootinfo.mem;
-    paddr_t ram_start = INVALID_PADDR;
-    paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
-    unsigned int i;
-
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
-    for ( i = 0; i < banks->nr_banks; i++ )
-    {
-        const struct membank *bank = &banks->bank[i];
-        paddr_t bank_end = bank->start + bank->size;
-
-        ram_size = ram_size + bank->size;
-        ram_start = min(ram_start, bank->start);
-        ram_end = max(ram_end, bank_end);
-
-        setup_directmap_mappings(PFN_DOWN(bank->start),
-                                 PFN_DOWN(bank->size));
-    }
-
-    total_pages += ram_size >> PAGE_SHIFT;
-
-    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
-    directmap_mfn_start = maddr_to_mfn(ram_start);
-    directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    init_staticmem_pages();
-}
-#endif
-
 static bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:48:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573583.898441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgMj-0003bD-J9; Tue, 01 Aug 2023 03:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573583.898441; Tue, 01 Aug 2023 03:48:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgMj-0003b6-GY; Tue, 01 Aug 2023 03:48:09 +0000
Received: by outflank-mailman (input) for mailman id 573583;
 Tue, 01 Aug 2023 03:48: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJo-00076X-By
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id cd9379c6-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45: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 916E911FB;
 Mon, 31 Jul 2023 20:45:48 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 431153F59C;
 Mon, 31 Jul 2023 20:45:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd9379c6-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 08/13] xen/arm: Fold pmap and fixmap into MMU system
Date: Tue,  1 Aug 2023 11:44:14 +0800
Message-Id: <20230801034419.2047541-9-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

fixmap and pmap are MMU-specific features, so fold them to MMU system.
Do the folding for pmap by moving the HAS_PMAP Kconfig selection under
HAS_MMU. Do the folding for fixmap by moving the implementation of
virt_to_fix() to mmu/mm.c, so that unnecessary stubs can be avoided.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Rework "[v3,11/52] xen/arm: mmu: fold FIXMAP into MMU system",
  change the order of this patch and avoid introducing stubs.
---
 xen/arch/arm/Kconfig              | 2 +-
 xen/arch/arm/include/asm/fixmap.h | 7 +------
 xen/arch/arm/mmu/mm.c             | 7 +++++++
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 0e38e9ba17..1b60a938c2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -15,7 +15,6 @@ config ARM
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
 	select HAS_PDX
-	select HAS_PMAP
 	select HAS_UBSAN
 	select IOMMU_FORCE_PT_SHARE
 
@@ -71,6 +70,7 @@ choice
 
 config HAS_MMU
 	bool "MMU for a VMSA system"
+	select HAS_PMAP
 endchoice
 
 source "arch/Kconfig"
diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
index 734eb9b1d4..5d5de6995a 100644
--- a/xen/arch/arm/include/asm/fixmap.h
+++ b/xen/arch/arm/include/asm/fixmap.h
@@ -36,12 +36,7 @@ extern void clear_fixmap(unsigned int map);
 
 #define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
 
-static inline unsigned int virt_to_fix(vaddr_t vaddr)
-{
-    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
-
-    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
-}
+extern unsigned int virt_to_fix(vaddr_t vaddr);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
index b70982e9d6..1d6267e6c5 100644
--- a/xen/arch/arm/mmu/mm.c
+++ b/xen/arch/arm/mmu/mm.c
@@ -1136,6 +1136,13 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
     return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
 }
 
+unsigned int virt_to_fix(vaddr_t vaddr)
+{
+    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
+
+    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:48:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:48:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573593.898452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNV-0004C5-VJ; Tue, 01 Aug 2023 03:48:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573593.898452; Tue, 01 Aug 2023 03: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 1qQgNV-0004By-SN; Tue, 01 Aug 2023 03:48:57 +0000
Received: by outflank-mailman (input) for mailman id 573593;
 Tue, 01 Aug 2023 03:48:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgJs-00076X-PJ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d010a705-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45: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 C7FADD75;
 Mon, 31 Jul 2023 20:45:52 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 79AA93F59C;
 Mon, 31 Jul 2023 20:45: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: d010a705-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 09/13] xen/arm: mm: Use generic variable/function names for extendability
Date: Tue,  1 Aug 2023 11:44:15 +0800
Message-Id: <20230801034419.2047541-10-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

As preparation for MPU support, which will use some variables/functions
for both MMU and MPU system, We rename the affected variable/function
to more generic names:
- init_ttbr -> init_mm,
- mmu_init_secondary_cpu() -> mm_init_secondary_cpu()
- init_secondary_pagetables() -> init_secondary_mm()
- Add a wrapper update_mm_mapping() for MMU system's
  update_identity_mapping()

Modify the related in-code comment to reflect above changes, take the
opportunity to fix the incorrect coding style of the in-code comments.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Extract the renaming part from the original patch:
  "[v3,13/52] xen/mmu: extract mmu-specific codes from mm.c/mm.h"
---
 xen/arch/arm/arm32/head.S           |  4 ++--
 xen/arch/arm/arm64/mmu/head.S       |  2 +-
 xen/arch/arm/arm64/mmu/mm.c         | 11 ++++++++---
 xen/arch/arm/arm64/smpboot.c        |  6 +++---
 xen/arch/arm/include/asm/arm64/mm.h |  7 ++++---
 xen/arch/arm/include/asm/mm.h       | 10 ++++++----
 xen/arch/arm/mmu/mm.c               | 20 ++++++++++----------
 xen/arch/arm/smpboot.c              |  4 ++--
 8 files changed, 36 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 33b038e7e0..03ab68578a 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -238,11 +238,11 @@ GLOBAL(init_secondary)
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in init_secondary_pagetables.
+         * setup in init_secondary_mm.
          *
          * XXX: This is not compliant with the Arm Arm.
          */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        mov_w r4, init_mm            /* VA of HTTBR value stashed by CPU 0 */
         ldrd  r4, r5, [r4]           /* Actual value */
         dsb
         mcrr  CP64(r4, r5, HTTBR)
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index 6bd94c3a45..6e638ff082 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -303,7 +303,7 @@ ENDPROC(enable_mmu)
 ENTRY(enable_secondary_cpu_mm)
         mov   x5, lr
 
-        load_paddr x0, init_ttbr
+        load_paddr x0, init_mm
         ldr   x0, [x0]
 
         bl    enable_mmu
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 78b7c7eb00..ed0fc5ff7b 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -106,7 +106,7 @@ void __init arch_setup_page_tables(void)
     prepare_runtime_identity_mapping();
 }
 
-void update_identity_mapping(bool enable)
+static void update_identity_mapping(bool enable)
 {
     paddr_t id_addr = virt_to_maddr(_start);
     int rc;
@@ -120,6 +120,11 @@ void update_identity_mapping(bool enable)
     BUG_ON(rc);
 }
 
+void update_mm_mapping(bool enable)
+{
+    update_identity_mapping(enable);
+}
+
 extern void switch_ttbr_id(uint64_t ttbr);
 
 typedef void (switch_ttbr_fn)(uint64_t ttbr);
@@ -131,7 +136,7 @@ void __init switch_ttbr(uint64_t ttbr)
     lpae_t pte;
 
     /* Enable the identity mapping in the boot page tables */
-    update_identity_mapping(true);
+    update_mm_mapping(true);
 
     /* Enable the identity mapping in the runtime page tables */
     pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
@@ -148,7 +153,7 @@ void __init switch_ttbr(uint64_t ttbr)
      * Note it is not necessary to disable it in the boot page tables
      * because they are not going to be used by this CPU anymore.
      */
-    update_identity_mapping(false);
+    update_mm_mapping(false);
 }
 
 /*
diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 9637f42469..2b1d086a1e 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -111,18 +111,18 @@ int arch_cpu_up(int cpu)
     if ( !smp_enable_ops[cpu].prepare_cpu )
         return -ENODEV;
 
-    update_identity_mapping(true);
+    update_mm_mapping(true);
 
     rc = smp_enable_ops[cpu].prepare_cpu(cpu);
     if ( rc )
-        update_identity_mapping(false);
+        update_mm_mapping(false);
 
     return rc;
 }
 
 void arch_cpu_up_finish(void)
 {
-    update_identity_mapping(false);
+    update_mm_mapping(false);
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index e0bd23a6ed..7a389c4b21 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -15,13 +15,14 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 void arch_setup_page_tables(void);
 
 /*
- * Enable/disable the identity mapping in the live page-tables (i.e.
- * the one pointed by TTBR_EL2).
+ * In MMU system, enable/disable the identity mapping in the live
+ * page-tables (i.e. the one pointed by TTBR_EL2) through
+ * update_identity_mapping().
  *
  * Note that nested call (e.g. enable=true, enable=true) is not
  * supported.
  */
-void update_identity_mapping(bool enable);
+void update_mm_mapping(bool enable);
 
 #endif /* __ARM_ARM64_MM_H__ */
 
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index e70ce4dc61..2b61a89b9f 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -205,11 +205,13 @@ extern void setup_pagetables(unsigned long boot_phys_offset);
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
-/* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
- * new page table */
-extern int init_secondary_pagetables(int cpu);
+/*
+ * Allocate and initialise pagetables for a secondary CPU. Sets init_mm to the
+ * new page table
+ */
+extern int init_secondary_mm(int cpu);
 /* Switch secondary CPUS to its own pagetables and finalise MMU setup */
-extern void mmu_init_secondary_cpu(void);
+extern void mm_init_secondary_cpu(void);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
index 1d6267e6c5..7486c35ec0 100644
--- a/xen/arch/arm/mmu/mm.c
+++ b/xen/arch/arm/mmu/mm.c
@@ -106,7 +106,7 @@ DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
 static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
 
 /* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
+uint64_t init_mm;
 
 static paddr_t phys_offset;
 
@@ -492,18 +492,18 @@ static void clear_boot_pagetables(void)
 }
 
 #ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
+int init_secondary_mm(int cpu)
 {
     clear_boot_pagetables();
 
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
+    /* Set init_mm for this CPU coming up. All CPus share a single setof
      * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
+    init_mm = (uintptr_t) xen_pgtable + phys_offset;
+    clean_dcache(init_mm);
     return 0;
 }
 #else
-int init_secondary_pagetables(int cpu)
+int init_secondary_mm(int cpu)
 {
     lpae_t *first;
 
@@ -529,16 +529,16 @@ int init_secondary_pagetables(int cpu)
 
     clear_boot_pagetables();
 
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
+    /* Set init_mm for this CPU coming up */
+    init_mm = __pa(first);
+    clean_dcache(init_mm);
 
     return 0;
 }
 #endif
 
 /* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
+void mm_init_secondary_cpu(void)
 {
     xen_pt_enforce_wnx();
 }
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..8bcdbea66c 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -359,7 +359,7 @@ void start_secondary(void)
      */
     update_system_features(&current_cpu_data);
 
-    mmu_init_secondary_cpu();
+    mm_init_secondary_cpu();
 
     gic_init_secondary_cpu();
 
@@ -448,7 +448,7 @@ int __cpu_up(unsigned int cpu)
 
     printk("Bringing up CPU%d\n", cpu);
 
-    rc = init_secondary_pagetables(cpu);
+    rc = init_secondary_mm(cpu);
     if ( rc < 0 )
         return rc;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:48:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573597.898462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNX-0004SX-6U; Tue, 01 Aug 2023 03:48:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573597.898462; Tue, 01 Aug 2023 03:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNX-0004SM-33; Tue, 01 Aug 2023 03:48:59 +0000
Received: by outflank-mailman (input) for mailman id 573597;
 Tue, 01 Aug 2023 03:48:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgK1-00076X-RX
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d50ef150-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45: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 2B43BD75;
 Mon, 31 Jul 2023 20:46:01 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8659A3F59C;
 Mon, 31 Jul 2023 20:45: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: d50ef150-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 11/13] xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
Date: Tue,  1 Aug 2023 11:44:17 +0800
Message-Id: <20230801034419.2047541-12-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

Current P2M implementation is designed for MMU system only.
We move the MMU-specific codes into mmu/p2m.c, and only keep generic
codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
Also expose previously static functions p2m_vmid_allocator_init(),
p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()
for futher MPU usage.

With the code movement, global variable max_vmid is used in multiple
files instead of a single file (and will be used in MPU P2M
implementation), declare it in the header and remove the "static" of
this variable.

Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
work does not need p2m_tlb_flush_sync().

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- Rework the patch to drop the unnecessary changes.
- Rework the commit msg a bit.
v3:
- remove MPU stubs
- adapt to the introduction of new directories: mmu/
v2:
- new commit
---
 xen/arch/arm/include/asm/mmu/p2m.h |   18 +
 xen/arch/arm/include/asm/p2m.h     |   33 +-
 xen/arch/arm/mmu/Makefile          |    1 +
 xen/arch/arm/mmu/p2m.c             | 1610 +++++++++++++++++++++++++
 xen/arch/arm/p2m.c                 | 1772 ++--------------------------
 5 files changed, 1745 insertions(+), 1689 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/p2m.c

diff --git a/xen/arch/arm/include/asm/mmu/p2m.h b/xen/arch/arm/include/asm/mmu/p2m.h
new file mode 100644
index 0000000000..f829e325ce
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/p2m.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_P2M_H__
+#define __ARM_MMU_P2M_H__
+
+struct p2m_domain;
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m);
+void p2m_tlb_flush_sync(struct p2m_domain *p2m);
+
+#endif /* __ARM_MMU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 940495d42b..37401461fa 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -19,6 +19,22 @@ extern unsigned int p2m_root_level;
 #define P2M_ROOT_ORDER    p2m_root_order
 #define P2M_ROOT_LEVEL p2m_root_level
 
+#define MAX_VMID_8_BIT  (1UL << 8)
+#define MAX_VMID_16_BIT (1UL << 16)
+
+#define INVALID_VMID 0 /* VMID 0 is reserved */
+
+#ifdef CONFIG_ARM_64
+extern unsigned int max_vmid;
+/* VMID is by default 8 bit width on AArch64 */
+#define MAX_VMID       max_vmid
+#else
+/* VMID is always 8 bit width on AArch32 */
+#define MAX_VMID        MAX_VMID_8_BIT
+#endif
+
+#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
+
 struct domain;
 
 extern void memory_type_changed(struct domain *);
@@ -156,6 +172,10 @@ typedef enum {
 #endif
 #include <xen/p2m-common.h>
 
+#ifdef CONFIG_HAS_MMU
+#include <asm/mmu/p2m.h>
+#endif
+
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
@@ -180,7 +200,11 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
  */
 void p2m_restrict_ipa_bits(unsigned int ipa_bits);
 
+void p2m_vmid_allocator_init(void);
+int p2m_alloc_vmid(struct domain *d);
+
 /* Second stage paging setup, to be called on all CPUs */
+void setup_virt_paging_one(void *data);
 void setup_virt_paging(void);
 
 /* Init the datastructures for later use by the p2m code */
@@ -242,8 +266,6 @@ static inline int p2m_is_write_locked(struct p2m_domain *p2m)
     return rw_is_write_locked(&p2m->lock);
 }
 
-void p2m_tlb_flush_sync(struct p2m_domain *p2m);
-
 /* Look up the MFN corresponding to a domain's GFN. */
 mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t);
 
@@ -269,6 +291,13 @@ int p2m_set_entry(struct p2m_domain *p2m,
                   p2m_type_t t,
                   p2m_access_t a);
 
+int __p2m_set_entry(struct p2m_domain *p2m,
+                    gfn_t sgfn,
+                    unsigned int page_order,
+                    mfn_t smfn,
+                    p2m_type_t t,
+                    p2m_access_t a);
+
 bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
 
 void p2m_clear_root_pages(struct p2m_domain *p2m);
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 4aa1fb466d..a4f07ab90a 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,2 +1,3 @@
 obj-y += mm.o
+obj-y += p2m.o
 obj-y += setup.o
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
new file mode 100644
index 0000000000..a916e2318c
--- /dev/null
+++ b/xen/arch/arm/mmu/p2m.c
@@ -0,0 +1,1610 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/domain_page.h>
+#include <xen/ioreq.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+
+#include <asm/alternative.h>
+#include <asm/event.h>
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+unsigned int __read_mostly p2m_root_order;
+unsigned int __read_mostly p2m_root_level;
+
+static mfn_t __read_mostly empty_root_mfn;
+
+static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
+{
+    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
+}
+
+static struct page_info *p2m_alloc_page(struct domain *d)
+{
+    struct page_info *pg;
+
+    /*
+     * For hardware domain, there should be no limit in the number of pages that
+     * can be allocated, so that the kernel may take advantage of the extended
+     * regions. Hence, allocate p2m pages for hardware domains from heap.
+     */
+    if ( is_hardware_domain(d) )
+    {
+        pg = alloc_domheap_page(NULL, 0);
+        if ( pg == NULL )
+            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
+    }
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+
+    return pg;
+}
+
+static void p2m_free_page(struct domain *d, struct page_info *pg)
+{
+    if ( is_hardware_domain(d) )
+        free_domheap_page(pg);
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
+    return 0;
+}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d->arch.paging.lock held.
+ */
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+{
+    struct page_info *pg;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( ; ; )
+    {
+        if ( d->arch.paging.p2m_total_pages < pages )
+        {
+            /* Need to allocate more memory from domheap */
+            pg = alloc_domheap_page(NULL, 0);
+            if ( pg == NULL )
+            {
+                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
+                return -ENOMEM;
+            }
+            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                d->arch.paging.p2m_total_pages + 1;
+            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        }
+        else if ( d->arch.paging.p2m_total_pages > pages )
+        {
+            /* Need to return memory to domheap */
+            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+            if( pg )
+            {
+                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                    d->arch.paging.p2m_total_pages - 1;
+                free_domheap_page(pg);
+            }
+            else
+            {
+                printk(XENLOG_ERR
+                       "Failed to free P2M pages, P2M freelist is empty.\n");
+                return -ENOMEM;
+            }
+        }
+        else
+            break;
+
+        /* Check to see if we need to yield and try again */
+        if ( preempted && general_preempt_check() )
+        {
+            *preempted = true;
+            return -ERESTART;
+        }
+    }
+
+    return 0;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = size >> PAGE_SHIFT;
+    bool preempted = false;
+    int rc;
+
+    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
+         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, &preempted);
+    spin_unlock(&d->arch.paging.lock);
+
+    ASSERT(preempted == (rc == -ERESTART));
+
+    return rc;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    int ret = 0;
+    bool preempted = false;
+
+    spin_lock(&d->arch.paging.lock);
+    if ( d->arch.paging.p2m_total_pages != 0 )
+    {
+        ret = p2m_set_allocation(d, 0, &preempted);
+        if ( preempted )
+        {
+            spin_unlock(&d->arch.paging.lock);
+            return -ERESTART;
+        }
+        ASSERT(d->arch.paging.p2m_total_pages == 0);
+    }
+    spin_unlock(&d->arch.paging.lock);
+
+    return ret;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m_read_lock(p2m);
+    printk("p2m mappings for domain %d (vmid %d):\n",
+           d->domain_id, p2m->vmid);
+    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
+    printk("  1G mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[1], p2m->stats.shattered[1]);
+    printk("  2M mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[2], p2m->stats.shattered[2]);
+    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
+    p2m_read_unlock(p2m);
+}
+
+/*
+ * p2m_save_state and p2m_restore_state work in pair to workaround
+ * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
+ * point to the empty page-tables to stop allocating TLB entries.
+ */
+void p2m_save_state(struct vcpu *p)
+{
+    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
+
+    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        /*
+         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
+         * the next vCPU context without worrying about AT instruction
+         * speculation.
+         */
+        isb();
+    }
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
+    uint8_t *last_vcpu_ran;
+
+    if ( is_idle_vcpu(n) )
+        return;
+
+    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
+    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
+     * registers associated to EL1/EL0 translations regime have been
+     * synchronized.
+     */
+    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
+    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
+
+    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
+
+    /*
+     * While we are restoring an out-of-context translation regime
+     * we still need to ensure:
+     *  - VTTBR_EL2 is synchronized before flushing the TLBs
+     *  - All registers for EL1 are synchronized before executing an AT
+     *  instructions targeting S1/S2.
+     */
+    isb();
+
+    /*
+     * Flush local TLB for the domain to prevent wrong TLB translation
+     * when running multiple vCPU of the same domain on a single pCPU.
+     */
+    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
+        flush_guest_tlb_local();
+
+    *last_vcpu_ran = n->vcpu_id;
+}
+
+/*
+ * Force a synchronous P2M TLB flush.
+ *
+ * Must be called with the p2m lock held.
+ */
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    unsigned long flags = 0;
+    uint64_t ovttbr;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * ARM only provides an instruction to flush TLBs for the current
+     * VMID. So switch to the VTTBR of a given P2M if different.
+     */
+    ovttbr = READ_SYSREG64(VTTBR_EL2);
+    if ( ovttbr != p2m->vttbr )
+    {
+        uint64_t vttbr;
+
+        local_irq_save(flags);
+
+        /*
+         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
+         * TLBs entries because the context is partially modified. We
+         * only need the VMID for flushing the TLBs, so we can generate
+         * a new VTTBR with the VMID to flush and the empty root table.
+         */
+        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+            vttbr = p2m->vttbr;
+        else
+            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
+
+        WRITE_SYSREG64(vttbr, VTTBR_EL2);
+
+        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
+        isb();
+    }
+
+    flush_guest_tlb();
+
+    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
+    {
+        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
+        /* Ensure VTTBR_EL2 is back in place before continuing. */
+        isb();
+        local_irq_restore(flags);
+    }
+
+    p2m->need_flush = false;
+}
+
+void p2m_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    if ( p2m->need_flush )
+        p2m_force_tlb_flush_sync(p2m);
+}
+
+/*
+ * Find and map the root page table. The caller is responsible for
+ * unmapping the table.
+ *
+ * The function will return NULL if the offset of the root table is
+ * invalid.
+ */
+static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
+                                    gfn_t gfn)
+{
+    unsigned long root_table;
+
+    /*
+     * While the root table index is the offset from the previous level,
+     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
+     * 0. Yet we still want to check if all the unused bits are zeroed.
+     */
+    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
+                                XEN_PT_LPAE_SHIFT);
+    if ( root_table >= P2M_ROOT_PAGES )
+        return NULL;
+
+    return __map_domain_page(p2m->root + root_table);
+}
+
+/*
+ * Lookup the MFN corresponding to a domain's GFN.
+ * Lookup mem access in the ratrix tree.
+ * The entries associated to the GFN is considered valid.
+ */
+static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
+{
+    void *ptr;
+
+    if ( !p2m->mem_access_enabled )
+        return p2m->default_access;
+
+    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
+    if ( !ptr )
+        return p2m_access_rwx;
+    else
+        return radix_tree_ptr_to_int(ptr);
+}
+
+/*
+ * In the case of the P2M, the valid bit is used for other purpose. Use
+ * the type to check whether an entry is valid.
+ */
+static inline bool p2m_is_valid(lpae_t pte)
+{
+    return pte.p2m.type != p2m_invalid;
+}
+
+/*
+ * lpae_is_* helpers don't check whether the valid bit is set in the
+ * PTE. Provide our own overlay to check the valid bit.
+ */
+static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
+}
+
+static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
+}
+
+#define GUEST_TABLE_MAP_FAILED 0
+#define GUEST_TABLE_SUPER_PAGE 1
+#define GUEST_TABLE_NORMAL_PAGE 2
+
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
+
+/*
+ * Take the currently mapped table, find the corresponding GFN entry,
+ * and map the next table, if available. The previous table will be
+ * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
+ * returned).
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
+ *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
+                          unsigned int level, lpae_t **table,
+                          unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !p2m_is_valid(*entry) )
+    {
+        if ( read_only )
+            return GUEST_TABLE_MAP_FAILED;
+
+        ret = p2m_create_table(p2m, entry);
+        if ( ret )
+            return GUEST_TABLE_MAP_FAILED;
+    }
+
+    /* The function p2m_next_level is never called at the 3rd level */
+    ASSERT(level < 3);
+    if ( p2m_is_mapping(*entry, level) )
+        return GUEST_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    unmap_domain_page(*table);
+    *table = map_domain_page(mfn);
+
+    return GUEST_TABLE_NORMAL_PAGE;
+}
+
+/*
+ * Get the details of a given gfn.
+ *
+ * If the entry is present, the associated MFN will be returned and the
+ * access and type filled up. The page_order will correspond to the
+ * order of the mapping in the page table (i.e it could be a superpage).
+ *
+ * If the entry is not present, INVALID_MFN will be returned and the
+ * page_order will be set according to the order of the invalid range.
+ *
+ * valid will contain the value of bit[0] (e.g valid bit) of the
+ * entry.
+ */
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
+                    p2m_type_t *t, p2m_access_t *a,
+                    unsigned int *page_order,
+                    bool *valid)
+{
+    paddr_t addr = gfn_to_gaddr(gfn);
+    unsigned int level = 0;
+    lpae_t entry, *table;
+    int rc;
+    mfn_t mfn = INVALID_MFN;
+    p2m_type_t _t;
+    DECLARE_OFFSETS(offsets, addr);
+
+    ASSERT(p2m_is_locked(p2m));
+    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
+
+    /* Allow t to be NULL */
+    t = t ?: &_t;
+
+    *t = p2m_invalid;
+
+    if ( valid )
+        *valid = false;
+
+    /* XXX: Check if the mapping is lower than the mapped gfn */
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+    {
+        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
+                 gfn_x(p2m->max_mapped_gfn) )
+                break;
+
+        goto out;
+    }
+
+    table = p2m_get_root_pointer(p2m, gfn);
+
+    /*
+     * the table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        level = P2M_ROOT_LEVEL;
+        goto out;
+    }
+
+    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+    {
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table[offsets[level]];
+
+    if ( p2m_is_valid(entry) )
+    {
+        *t = entry.p2m.type;
+
+        if ( a )
+            *a = p2m_mem_access_radix_get(p2m, gfn);
+
+        mfn = lpae_get_mfn(entry);
+        /*
+         * The entry may point to a superpage. Find the MFN associated
+         * to the GFN.
+         */
+        mfn = mfn_add(mfn,
+                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
+
+        if ( valid )
+            *valid = lpae_is_valid(entry);
+    }
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    if ( page_order )
+        *page_order = XEN_PT_LEVEL_ORDER(level);
+
+    return mfn;
+}
+
+static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
+{
+    /* First apply type permissions */
+    switch ( t )
+    {
+    case p2m_ram_rw:
+        e->p2m.xn = 0;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_ram_ro:
+        e->p2m.xn = 0;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_iommu_map_rw:
+    case p2m_map_foreign_rw:
+    case p2m_grant_map_rw:
+    case p2m_mmio_direct_dev:
+    case p2m_mmio_direct_nc:
+    case p2m_mmio_direct_c:
+        e->p2m.xn = 1;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_iommu_map_ro:
+    case p2m_map_foreign_ro:
+    case p2m_grant_map_ro:
+    case p2m_invalid:
+        e->p2m.xn = 1;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_max_real_type:
+        BUG();
+        break;
+    }
+
+    /* Then restrict with access permissions */
+    switch ( a )
+    {
+    case p2m_access_rwx:
+        break;
+    case p2m_access_wx:
+        e->p2m.read = 0;
+        break;
+    case p2m_access_rw:
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_w:
+        e->p2m.read = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_rx:
+    case p2m_access_rx2rw:
+        e->p2m.write = 0;
+        break;
+    case p2m_access_x:
+        e->p2m.write = 0;
+        e->p2m.read = 0;
+        break;
+    case p2m_access_r:
+        e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_n:
+    case p2m_access_n2rwx:
+        e->p2m.read = e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    }
+}
+
+static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
+{
+    /*
+     * sh, xn and write bit will be defined in the following switches
+     * based on mattr and t.
+     */
+    lpae_t e = (lpae_t) {
+        .p2m.af = 1,
+        .p2m.read = 1,
+        .p2m.table = 1,
+        .p2m.valid = 1,
+        .p2m.type = t,
+    };
+
+    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
+
+    switch ( t )
+    {
+    case p2m_mmio_direct_dev:
+        e.p2m.mattr = MATTR_DEV;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    case p2m_mmio_direct_c:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    /*
+     * ARM ARM: Overlaying the shareability attribute (DDI
+     * 0406C.b B3-1376 to 1377)
+     *
+     * A memory region with a resultant memory type attribute of Normal,
+     * and a resultant cacheability attribute of Inner Non-cacheable,
+     * Outer Non-cacheable, must have a resultant shareability attribute
+     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+     *
+     * On ARMv8 shareability is ignored and explicitly treated as Outer
+     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
+     */
+    case p2m_mmio_direct_nc:
+        e.p2m.mattr = MATTR_MEM_NC;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    default:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_INNER;
+    }
+
+    p2m_set_permission(&e, t, a);
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Generate table entry with correct attributes. */
+static lpae_t page_to_p2m_table(struct page_info *page)
+{
+    /*
+     * The access value does not matter because the hardware will ignore
+     * the permission fields for table entry.
+     *
+     * We use p2m_ram_rw so the entry has a valid type. This is important
+     * for p2m_is_valid() to return valid on table entries.
+     */
+    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
+}
+
+static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
+{
+    write_pte(p, pte);
+    if ( clean_pte )
+        clean_dcache(*p);
+}
+
+static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
+{
+    lpae_t pte;
+
+    memset(&pte, 0x00, sizeof(pte));
+    p2m_write_pte(p, pte, clean_pte);
+}
+
+/* Allocate a new page table page and hook it in via the given entry. */
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
+{
+    struct page_info *page;
+    lpae_t *p;
+
+    ASSERT(!p2m_is_valid(*entry));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( page == NULL )
+        return -ENOMEM;
+
+    page_list_add(page, &p2m->pages);
+
+    p = __map_domain_page(page);
+    clear_page(p);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(p, PAGE_SIZE);
+
+    unmap_domain_page(p);
+
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return 0;
+}
+
+static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
+                                    p2m_access_t a)
+{
+    int rc;
+
+    if ( !p2m->mem_access_enabled )
+        return 0;
+
+    if ( p2m_access_rwx == a )
+    {
+        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
+        return 0;
+    }
+
+    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
+                           radix_tree_int_to_ptr(a));
+    if ( rc == -EEXIST )
+    {
+        /* If a setting already exists, change it to the new one */
+        radix_tree_replace_slot(
+            radix_tree_lookup_slot(
+                &p2m->mem_access_settings, gfn_x(gfn)),
+            radix_tree_int_to_ptr(a));
+        rc = 0;
+    }
+
+    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)
+{
+    mfn_t mfn = lpae_get_mfn(pte);
+
+    ASSERT(p2m_is_valid(pte));
+
+    /*
+     * TODO: Handle other p2m types
+     *
+     * It's safe to do the put_page here because page_alloc will
+     * flush the TLBs if the page is reallocated before the end of
+     * this loop.
+     */
+    if ( p2m_is_foreign(pte.p2m.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) )
+        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
+}
+
+/* Free lpae sub-tree behind an entry */
+static void p2m_free_entry(struct p2m_domain *p2m,
+                           lpae_t entry, unsigned int level)
+{
+    unsigned int i;
+    lpae_t *table;
+    mfn_t mfn;
+    struct page_info *pg;
+
+    /* Nothing to do if the entry is invalid. */
+    if ( !p2m_is_valid(entry) )
+        return;
+
+    if ( p2m_is_superpage(entry, level) || (level == 3) )
+    {
+#ifdef CONFIG_IOREQ_SERVER
+        /*
+         * If this gets called then either the entry was replaced by an entry
+         * with a different base (valid case) or the shattering of a superpage
+         * has failed (error case).
+         * So, at worst, the spurious mapcache invalidation might be sent.
+         */
+        if ( p2m_is_ram(entry.p2m.type) &&
+             domain_has_ioreq_server(p2m->domain) )
+            ioreq_request_mapcache_invalidate(p2m->domain);
+#endif
+
+        p2m->stats.mappings[level]--;
+        /* Nothing to do if the entry is a super-page. */
+        if ( level == 3 )
+            p2m_put_l3_page(entry);
+        return;
+    }
+
+    table = map_domain_page(lpae_get_mfn(entry));
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+        p2m_free_entry(p2m, *(table + i), level + 1);
+
+    unmap_domain_page(table);
+
+    /*
+     * Make sure all the references in the TLB have been removed before
+     * freing the intermediate page table.
+     * XXX: Should we defer the free of the page table to avoid the
+     * flush?
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    mfn = lpae_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    page_list_del(pg, &p2m->pages);
+    p2m_free_page(p2m->domain, pg);
+}
+
+static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
+                                unsigned int level, unsigned int target,
+                                const unsigned int *offsets)
+{
+    struct page_info *page;
+    unsigned int i;
+    lpae_t pte, *table;
+    bool rv = true;
+
+    /* Convenience aliases */
+    mfn_t mfn = lpae_get_mfn(*entry);
+    unsigned int next_level = level + 1;
+    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
+
+    /*
+     * This should only be called with target != level and the entry is
+     * a superpage.
+     */
+    ASSERT(level < target);
+    ASSERT(p2m_is_superpage(*entry, level));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( !page )
+        return false;
+
+    page_list_add(page, &p2m->pages);
+    table = __map_domain_page(page);
+
+    /*
+     * We are either splitting a first level 1G page into 512 second level
+     * 2M pages, or a second level 2M page into 512 third level 4K pages.
+     */
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t *new_entry = table + i;
+
+        /*
+         * Use the content of the superpage entry and override
+         * the necessary fields. So the correct permission are kept.
+         */
+        pte = *entry;
+        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
+
+        /*
+         * First and second level pages set p2m.table = 0, but third
+         * level entries set p2m.table = 1.
+         */
+        pte.p2m.table = (next_level == 3);
+
+        write_pte(new_entry, pte);
+    }
+
+    /* Update stats */
+    p2m->stats.shattered[level]++;
+    p2m->stats.mappings[level]--;
+    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
+
+    /*
+     * Shatter superpage in the page to the level we want to make the
+     * changes.
+     * This is done outside the loop to avoid checking the offset to
+     * know whether the entry should be shattered for every entry.
+     */
+    if ( next_level != target )
+        rv = p2m_split_superpage(p2m, table + offsets[next_level],
+                                 level + 1, target, offsets);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(table, PAGE_SIZE);
+
+    unmap_domain_page(table);
+
+    /*
+     * Even if we failed, we should install the newly allocated LPAE
+     * entry. The caller will be in charge to free the sub-tree.
+     */
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return rv;
+}
+
+/*
+ * Insert an entry in the p2m. This should be called with a mapping
+ * equal to a page/superpage (4K, 2M, 1G).
+ */
+int __p2m_set_entry(struct p2m_domain *p2m,
+                    gfn_t sgfn,
+                    unsigned int page_order,
+                    mfn_t smfn,
+                    p2m_type_t t,
+                    p2m_access_t a)
+{
+    unsigned int level = 0;
+    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
+    lpae_t *entry, *table, orig_pte;
+    int rc;
+    /* A mapping is removed if the MFN is invalid. */
+    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * Check if the level target is valid: we only support
+     * 4K - 2M - 1G mapping.
+     */
+    ASSERT(target > 0 && target <= 3);
+
+    table = p2m_get_root_pointer(p2m, sgfn);
+    if ( !table )
+        return -EINVAL;
+
+    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
+    {
+        /*
+         * Don't try to allocate intermediate page table if the mapping
+         * is about to be removed.
+         */
+        rc = p2m_next_level(p2m, removing_mapping,
+                            level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because p2m_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and they p2m tree is read-only). It is a valid case
+             * when removing a mapping as it may not exist in the
+             * page table. In this case, just ignore it.
+             */
+            rc = removing_mapping ?  0 : -ENOENT;
+            goto out;
+        }
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table + offsets[level];
+
+    /*
+     * If we are here with level < target, we must be at a leaf node,
+     * and we need to break up the superpage.
+     */
+    if ( level < target )
+    {
+        /* We need to split the original page. */
+        lpae_t split_pte = *entry;
+
+        ASSERT(p2m_is_superpage(*entry, level));
+
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        {
+            /*
+             * The current super-page is still in-place, so re-increment
+             * the stats.
+             */
+            p2m->stats.mappings[level]++;
+
+            /* Free the allocated sub-tree */
+            p2m_free_entry(p2m, split_pte, level);
+
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        /*
+         * Follow the break-before-sequence to update the entry.
+         * For more details see (D4.7.1 in ARM DDI 0487A.j).
+         */
+        p2m_remove_pte(entry, p2m->clean_pte);
+        p2m_force_tlb_flush_sync(p2m);
+
+        p2m_write_pte(entry, split_pte, p2m->clean_pte);
+
+        /* then move to the level we want to make real changes */
+        for ( ; level < target; level++ )
+        {
+            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+
+            /*
+             * The entry should be found and either be a table
+             * or a superpage if level 3 is not targeted
+             */
+            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
+                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
+        }
+
+        entry = table + offsets[level];
+    }
+
+    /*
+     * We should always be there with the correct level because
+     * all the intermediate tables have been installed if necessary.
+     */
+    ASSERT(level == target);
+
+    orig_pte = *entry;
+
+    /*
+     * The radix-tree can only work on 4KB. This is only used when
+     * memaccess is enabled and during shutdown.
+     */
+    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
+           p2m->domain->is_dying);
+    /*
+     * The access type should always be p2m_access_rwx when the mapping
+     * is removed.
+     */
+    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
+    /*
+     * Update the mem access permission before update the P2M. So we
+     * don't have to revert the mapping if it has failed.
+     */
+    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
+    if ( rc )
+        goto out;
+
+    /*
+     * Always remove the entry in order to follow the break-before-make
+     * sequence when updating the translation table (D4.7.1 in ARM DDI
+     * 0487A.j).
+     */
+    if ( lpae_is_valid(orig_pte) || removing_mapping )
+        p2m_remove_pte(entry, p2m->clean_pte);
+
+    if ( removing_mapping )
+        /* Flush can be deferred if the entry is removed */
+        p2m->need_flush |= !!lpae_is_valid(orig_pte);
+    else
+    {
+        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
+
+        if ( level < 3 )
+            pte.p2m.table = 0; /* Superpage entry */
+
+        /*
+         * It is necessary to flush the TLB before writing the new entry
+         * to keep coherency when the previous entry was valid.
+         *
+         * Although, it could be defered when only the permissions are
+         * changed (e.g in case of memaccess).
+         */
+        if ( lpae_is_valid(orig_pte) )
+        {
+            if ( likely(!p2m->mem_access_enabled) ||
+                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
+                p2m_force_tlb_flush_sync(p2m);
+            else
+                p2m->need_flush = true;
+        }
+        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
+            p2m->stats.mappings[level]++;
+
+        p2m_write_pte(entry, pte, p2m->clean_pte);
+
+        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
+                                      gfn_add(sgfn, (1UL << page_order) - 1));
+        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
+    }
+
+    if ( is_iommu_enabled(p2m->domain) &&
+         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
+    {
+        unsigned int flush_flags = 0;
+
+        if ( lpae_is_valid(orig_pte) )
+            flush_flags |= IOMMU_FLUSHF_modified;
+        if ( lpae_is_valid(*entry) )
+            flush_flags |= IOMMU_FLUSHF_added;
+
+        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
+                               1UL << page_order, flush_flags);
+    }
+    else
+        rc = 0;
+
+    /*
+     * Free the entry only if the original pte was valid and the base
+     * is different (to avoid freeing when permission is changed).
+     */
+    if ( p2m_is_valid(orig_pte) &&
+         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
+        p2m_free_entry(p2m, orig_pte, level);
+
+out:
+    unmap_domain_page(table);
+
+    return rc;
+}
+
+int p2m_set_entry(struct p2m_domain *p2m,
+                  gfn_t sgfn,
+                  unsigned long nr,
+                  mfn_t smfn,
+                  p2m_type_t t,
+                  p2m_access_t a)
+{
+    int rc = 0;
+
+    /*
+     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
+     * be dropped in relinquish_p2m_mapping(). As the P2M will still
+     * be accessible after, we need to prevent mapping to be added when the
+     * domain is dying.
+     */
+    if ( unlikely(p2m->domain->is_dying) )
+        return -ENOMEM;
+
+    while ( nr )
+    {
+        unsigned long mask;
+        unsigned long order;
+
+        /*
+         * Don't take into account the MFN when removing mapping (i.e
+         * MFN_INVALID) to calculate the correct target order.
+         *
+         * XXX: Support superpage mappings if nr is not aligned to a
+         * superpage size.
+         */
+        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
+        mask |= gfn_x(sgfn) | nr;
+
+        /* Always map 4k by 4k when memaccess is enabled */
+        if ( unlikely(p2m->mem_access_enabled) )
+            order = THIRD_ORDER;
+        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
+            order = FIRST_ORDER;
+        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
+            order = SECOND_ORDER;
+        else
+            order = THIRD_ORDER;
+
+        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
+        if ( rc )
+            break;
+
+        sgfn = gfn_add(sgfn, (1 << order));
+        if ( !mfn_eq(smfn, INVALID_MFN) )
+           smfn = mfn_add(smfn, (1 << order));
+
+        nr -= (1 << order);
+    }
+
+    return rc;
+}
+
+/* Invalidate all entries in the table. The p2m should be write locked. */
+static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
+{
+    lpae_t *table;
+    unsigned int i;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    table = map_domain_page(mfn);
+
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t pte = table[i];
+
+        /*
+         * Writing an entry can be expensive because it may involve
+         * cleaning the cache. So avoid updating the entry if the valid
+         * bit is already cleared.
+         */
+        if ( !pte.p2m.valid )
+            continue;
+
+        pte.p2m.valid = 0;
+
+        p2m_write_pte(&table[i], pte, p2m->clean_pte);
+    }
+
+    unmap_domain_page(table);
+
+    p2m->need_flush = true;
+}
+
+/*
+ * Invalidate all entries in the root page-tables. This is
+ * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
+ */
+void p2m_invalidate_root(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
+        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+
+    p2m_write_unlock(p2m);
+}
+
+/*
+ * Resolve any translation fault due to change in the p2m. This
+ * includes break-before-make and valid bit cleared.
+ */
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned int level = 0;
+    bool resolved = false;
+    lpae_t entry, *table;
+
+    /* Convenience aliases */
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    p2m_write_lock(p2m);
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+        goto out;
+
+    table = p2m_get_root_pointer(p2m, gfn);
+    /*
+     * The table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        goto out;
+    }
+
+    /*
+     * Go down the page-tables until an entry has the valid bit unset or
+     * a block/page entry has been hit.
+     */
+    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
+    {
+        int rc;
+
+        entry = table[offsets[level]];
+
+        if ( level == 3 )
+            break;
+
+        /* Stop as soon as we hit an entry with the valid bit unset. */
+        if ( !lpae_is_valid(entry) )
+            break;
+
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    /*
+     * If the valid bit of the entry is set, it means someone was playing with
+     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     */
+    if ( lpae_is_valid(entry) )
+    {
+        resolved = true;
+        goto out_unmap;
+    }
+
+    /*
+     * The valid bit is unset. If the entry is still not valid then the fault
+     * cannot be resolved, exit and report it.
+     */
+    if ( !p2m_is_valid(entry) )
+        goto out_unmap;
+
+    /*
+     * Now we have an entry with valid bit unset, but still valid from
+     * the P2M point of view.
+     *
+     * If an entry is pointing to a table, each entry of the table will
+     * have there valid bit cleared. This allows a function to clear the
+     * full p2m with just a couple of write. The valid bit will then be
+     * propagated on the fault.
+     * If an entry is pointing to a block/page, no work to do for now.
+     */
+    if ( lpae_is_table(entry, level) )
+        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+
+    /*
+     * Now that the work on the entry is done, set the valid bit to prevent
+     * another fault on that entry.
+     */
+    resolved = true;
+    entry.p2m.valid = 1;
+
+    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+
+    /*
+     * No need to flush the TLBs as the modified entry had the valid bit
+     * unset.
+     */
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    p2m_write_unlock(p2m);
+
+    return resolved;
+}
+
+static struct page_info *p2m_allocate_root(void)
+{
+    struct page_info *page;
+    unsigned int i;
+
+    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
+    if ( page == NULL )
+        return NULL;
+
+    /* Clear both first level pages */
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(page + i);
+
+    return page;
+}
+
+static int p2m_alloc_table(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m->root = p2m_allocate_root();
+    if ( !p2m->root )
+        return -ENOMEM;
+
+    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
+
+    /*
+     * Make sure that all TLBs corresponding to the new VMID are flushed
+     * before using it
+     */
+    p2m_write_lock(p2m);
+    p2m_force_tlb_flush_sync(p2m);
+    p2m_write_unlock(p2m);
+
+    return 0;
+}
+
+int p2m_teardown(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    struct page_info *pg;
+    int rc = 0;
+
+    p2m_write_lock(p2m);
+
+    while ( (pg = page_list_remove_head(&p2m->pages)) )
+    {
+        p2m_free_page(p2m->domain, pg);
+        count++;
+        /* Arbitrarily preempt every 512 iterations */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+    }
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+int p2m_init(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    int rc;
+    unsigned int cpu;
+
+    rwlock_init(&p2m->lock);
+    spin_lock_init(&d->arch.paging.lock);
+    INIT_PAGE_LIST_HEAD(&p2m->pages);
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
+
+    p2m->vmid = INVALID_VMID;
+    p2m->max_mapped_gfn = _gfn(0);
+    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
+
+    p2m->default_access = p2m_access_rwx;
+    p2m->mem_access_enabled = false;
+    radix_tree_init(&p2m->mem_access_settings);
+
+    /*
+     * Some IOMMUs don't support coherent PT walk. When the p2m is
+     * shared with the CPU, Xen has to make sure that the PT changes have
+     * reached the memory
+     */
+    p2m->clean_pte = is_iommu_enabled(d) &&
+        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
+
+    /*
+     * Make sure that the type chosen to is able to store the an vCPU ID
+     * between 0 and the maximum of virtual CPUS supported as long as
+     * the INVALID_VCPU_ID.
+     */
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
+
+    for_each_possible_cpu(cpu)
+       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
+
+    /*
+     * "Trivial" initialisation is now complete.  Set the backpointer so
+     * p2m_teardown() and friends know to do something.
+     */
+    p2m->domain = d;
+
+    rc = p2m_alloc_vmid(d);
+    if ( rc )
+        return rc;
+
+    rc = p2m_alloc_table(d);
+    if ( rc )
+        return rc;
+
+    return 0;
+}
+
+/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
+static register_t __read_mostly vtcr;
+
+void setup_virt_paging_one(void *data)
+{
+    WRITE_SYSREG(vtcr, VTCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
+     * entries related to EL1/EL0 translation regime until a guest vCPU
+     * is running. For that, we need to set-up VTTBR to point to an empty
+     * page-table and turn on stage-2 translation. The TLB entries
+     * associated with EL1/EL0 translation regime will also be flushed in case
+     * an AT instruction was speculated before hand.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
+        isb();
+
+        flush_all_guests_tlb_local();
+    }
+}
+
+void __init setup_virt_paging(void)
+{
+    /* Setup Stage 2 address translation */
+    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
+
+    static const struct {
+        unsigned int pabits; /* Physical Address Size */
+        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
+        unsigned int root_order; /* Page order of the root of the p2m */
+        unsigned int sl0;    /* Desired SL0, maximum in comment */
+    } pa_range_info[] __initconst = {
+        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
+        /*      PA size, t0sz(min), root-order, sl0(max) */
+#ifdef CONFIG_ARM_64
+        [0] = { 32,      32/*32*/,  0,          1 },
+        [1] = { 36,      28/*28*/,  0,          1 },
+        [2] = { 40,      24/*24*/,  1,          1 },
+        [3] = { 42,      22/*22*/,  3,          1 },
+        [4] = { 44,      20/*20*/,  0,          2 },
+        [5] = { 48,      16/*16*/,  0,          2 },
+        [6] = { 52,      12/*12*/,  4,          2 },
+        [7] = { 0 }  /* Invalid */
+#else
+        { 32,      0/*0*/,    0,          1 },
+        { 40,      24/*24*/,  1,          1 }
+#endif
+    };
+
+    unsigned int i;
+    unsigned int pa_range = 0x10; /* Larger than any possible value */
+
+#ifdef CONFIG_ARM_32
+    /*
+     * Typecast pa_range_info[].t0sz into arm32 bit variant.
+     *
+     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
+     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
+     * struct bitfields.
+     */
+    struct
+    {
+        signed int val:5;
+    } t0sz_32;
+#else
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
+
+    /*
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
+     */
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
+        max_vmid = MAX_VMID_16_BIT;
+#endif
+
+    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
+    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
+    {
+        if ( p2m_ipa_bits == pa_range_info[i].pabits )
+        {
+            pa_range = i;
+            break;
+        }
+    }
+
+    /* Check if we found the associated entry in the array */
+    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
+        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
+
+#ifdef CONFIG_ARM_64
+    val |= VTCR_PS(pa_range);
+    val |= VTCR_TG0_4K;
+
+    /* Set the VS bit only if 16 bit VMID is supported. */
+    if ( MAX_VMID == MAX_VMID_16_BIT )
+        val |= VTCR_VS;
+#endif
+
+    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
+    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
+
+    p2m_root_order = pa_range_info[pa_range].root_order;
+    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
+
+#ifdef CONFIG_ARM_64
+    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
+#else
+    t0sz_32.val = pa_range_info[pa_range].t0sz;
+    p2m_ipa_bits = 32 - t0sz_32.val;
+#endif
+
+    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
+           p2m_ipa_bits,
+           pa_range_info[pa_range].pabits,
+           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
+
+    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
+           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
+
+    p2m_vmid_allocator_init();
+
+    /* It is not allowed to concatenate a level zero root */
+    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
+    vtcr = val;
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
+     * with all entries zeroed.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        struct page_info *root;
+
+        root = p2m_allocate_root();
+        if ( !root )
+            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
+
+        empty_root_mfn = page_to_mfn(root);
+    }
+
+    setup_virt_paging_one(NULL);
+    smp_call_function(setup_virt_paging_one, NULL, 1);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..c9f6563597 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,1466 +1,136 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/cpu.h>
-#include <xen/domain_page.h>
 #include <xen/iocap.h>
-#include <xen/ioreq.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
-#include <asm/alternative.h>
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
-#define MAX_VMID_8_BIT  (1UL << 8)
-#define MAX_VMID_16_BIT (1UL << 16)
-
-#define INVALID_VMID 0 /* VMID 0 is reserved */
-
-unsigned int __read_mostly p2m_root_order;
-unsigned int __read_mostly p2m_root_level;
 #ifdef CONFIG_ARM_64
-static unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
-/* VMID is by default 8 bit width on AArch64 */
-#define MAX_VMID       max_vmid
-#else
-/* VMID is always 8 bit width on AArch32 */
-#define MAX_VMID        MAX_VMID_8_BIT
-#endif
-
-#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
-
-/*
- * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
- * restricted by external entity (e.g. IOMMU).
- */
-unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
-
-static mfn_t __read_mostly empty_root_mfn;
-
-static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
-{
-    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
-}
-
-static struct page_info *p2m_alloc_page(struct domain *d)
-{
-    struct page_info *pg;
-
-    /*
-     * For hardware domain, there should be no limit in the number of pages that
-     * can be allocated, so that the kernel may take advantage of the extended
-     * regions. Hence, allocate p2m pages for hardware domains from heap.
-     */
-    if ( is_hardware_domain(d) )
-    {
-        pg = alloc_domheap_page(NULL, 0);
-        if ( pg == NULL )
-            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
-    }
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-
-    return pg;
-}
-
-static void p2m_free_page(struct domain *d, struct page_info *pg)
-{
-    if ( is_hardware_domain(d) )
-        free_domheap_page(pg);
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-}
-
-/* Return the size of the pool, in bytes. */
-int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
-{
-    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
-    return 0;
-}
-
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
-{
-    struct page_info *pg;
-
-    ASSERT(spin_is_locked(&d->arch.paging.lock));
-
-    for ( ; ; )
-    {
-        if ( d->arch.paging.p2m_total_pages < pages )
-        {
-            /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(NULL, 0);
-            if ( pg == NULL )
-            {
-                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
-                return -ENOMEM;
-            }
-            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                d->arch.paging.p2m_total_pages + 1;
-            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        }
-        else if ( d->arch.paging.p2m_total_pages > pages )
-        {
-            /* Need to return memory to domheap */
-            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-            if( pg )
-            {
-                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                    d->arch.paging.p2m_total_pages - 1;
-                free_domheap_page(pg);
-            }
-            else
-            {
-                printk(XENLOG_ERR
-                       "Failed to free P2M pages, P2M freelist is empty.\n");
-                return -ENOMEM;
-            }
-        }
-        else
-            break;
-
-        /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
-            return -ERESTART;
-        }
-    }
-
-    return 0;
-}
-
-int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
-{
-    unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
-    int rc;
-
-    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
-         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
-        return -EINVAL;
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
-    spin_unlock(&d->arch.paging.lock);
-
-    ASSERT(preempted == (rc == -ERESTART));
-
-    return rc;
-}
-
-int p2m_teardown_allocation(struct domain *d)
-{
-    int ret = 0;
-    bool preempted = false;
-
-    spin_lock(&d->arch.paging.lock);
-    if ( d->arch.paging.p2m_total_pages != 0 )
-    {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
-        {
-            spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
-        }
-        ASSERT(d->arch.paging.p2m_total_pages == 0);
-    }
-    spin_unlock(&d->arch.paging.lock);
-
-    return ret;
-}
-
-/* Unlock the flush and do a P2M TLB flush if necessary */
-void p2m_write_unlock(struct p2m_domain *p2m)
-{
-    /*
-     * The final flush is done with the P2M write lock taken to avoid
-     * someone else modifying the P2M wbefore the TLB invalidation has
-     * completed.
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    write_unlock(&p2m->lock);
-}
-
-void p2m_dump_info(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    printk("p2m mappings for domain %d (vmid %d):\n",
-           d->domain_id, p2m->vmid);
-    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
-    printk("  1G mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[1], p2m->stats.shattered[1]);
-    printk("  2M mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[2], p2m->stats.shattered[2]);
-    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
-    p2m_read_unlock(p2m);
-}
-
-void memory_type_changed(struct domain *d)
-{
-}
-
-void dump_p2m_lookup(struct domain *d, paddr_t addr)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
-
-    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
-           p2m->root, mfn_x(page_to_mfn(p2m->root)));
-
-    dump_pt_walk(page_to_maddr(p2m->root), addr,
-                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
-}
-
-/*
- * p2m_save_state and p2m_restore_state work in pair to workaround
- * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
- * point to the empty page-tables to stop allocating TLB entries.
- */
-void p2m_save_state(struct vcpu *p)
-{
-    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
-
-    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        /*
-         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
-         * the next vCPU context without worrying about AT instruction
-         * speculation.
-         */
-        isb();
-    }
-}
-
-void p2m_restore_state(struct vcpu *n)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
-    uint8_t *last_vcpu_ran;
-
-    if ( is_idle_vcpu(n) )
-        return;
-
-    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
-    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
-     * registers associated to EL1/EL0 translations regime have been
-     * synchronized.
-     */
-    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
-    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
-
-    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
-
-    /*
-     * While we are restoring an out-of-context translation regime
-     * we still need to ensure:
-     *  - VTTBR_EL2 is synchronized before flushing the TLBs
-     *  - All registers for EL1 are synchronized before executing an AT
-     *  instructions targeting S1/S2.
-     */
-    isb();
-
-    /*
-     * Flush local TLB for the domain to prevent wrong TLB translation
-     * when running multiple vCPU of the same domain on a single pCPU.
-     */
-    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
-        flush_guest_tlb_local();
-
-    *last_vcpu_ran = n->vcpu_id;
-}
-
-/*
- * Force a synchronous P2M TLB flush.
- *
- * Must be called with the p2m lock held.
- */
-static void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    unsigned long flags = 0;
-    uint64_t ovttbr;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * ARM only provides an instruction to flush TLBs for the current
-     * VMID. So switch to the VTTBR of a given P2M if different.
-     */
-    ovttbr = READ_SYSREG64(VTTBR_EL2);
-    if ( ovttbr != p2m->vttbr )
-    {
-        uint64_t vttbr;
-
-        local_irq_save(flags);
-
-        /*
-         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
-         * TLBs entries because the context is partially modified. We
-         * only need the VMID for flushing the TLBs, so we can generate
-         * a new VTTBR with the VMID to flush and the empty root table.
-         */
-        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-            vttbr = p2m->vttbr;
-        else
-            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
-
-        WRITE_SYSREG64(vttbr, VTTBR_EL2);
-
-        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
-        isb();
-    }
-
-    flush_guest_tlb();
-
-    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
-    {
-        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
-        /* Ensure VTTBR_EL2 is back in place before continuing. */
-        isb();
-        local_irq_restore(flags);
-    }
-
-    p2m->need_flush = false;
-}
-
-void p2m_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    if ( p2m->need_flush )
-        p2m_force_tlb_flush_sync(p2m);
-}
-
-/*
- * Find and map the root page table. The caller is responsible for
- * unmapping the table.
- *
- * The function will return NULL if the offset of the root table is
- * invalid.
- */
-static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
-                                    gfn_t gfn)
-{
-    unsigned long root_table;
-
-    /*
-     * While the root table index is the offset from the previous level,
-     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
-     * 0. Yet we still want to check if all the unused bits are zeroed.
-     */
-    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
-                                XEN_PT_LPAE_SHIFT);
-    if ( root_table >= P2M_ROOT_PAGES )
-        return NULL;
-
-    return __map_domain_page(p2m->root + root_table);
-}
-
-/*
- * Lookup the MFN corresponding to a domain's GFN.
- * Lookup mem access in the ratrix tree.
- * The entries associated to the GFN is considered valid.
- */
-static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
-{
-    void *ptr;
-
-    if ( !p2m->mem_access_enabled )
-        return p2m->default_access;
-
-    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
-    if ( !ptr )
-        return p2m_access_rwx;
-    else
-        return radix_tree_ptr_to_int(ptr);
-}
-
-/*
- * In the case of the P2M, the valid bit is used for other purpose. Use
- * the type to check whether an entry is valid.
- */
-static inline bool p2m_is_valid(lpae_t pte)
-{
-    return pte.p2m.type != p2m_invalid;
-}
-
-/*
- * lpae_is_* helpers don't check whether the valid bit is set in the
- * PTE. Provide our own overlay to check the valid bit.
- */
-static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
-}
-
-static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
-}
-
-#define GUEST_TABLE_MAP_FAILED 0
-#define GUEST_TABLE_SUPER_PAGE 1
-#define GUEST_TABLE_NORMAL_PAGE 2
-
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
-
-/*
- * Take the currently mapped table, find the corresponding GFN entry,
- * and map the next table, if available. The previous table will be
- * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
- * returned).
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
- *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
-                          unsigned int level, lpae_t **table,
-                          unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !p2m_is_valid(*entry) )
-    {
-        if ( read_only )
-            return GUEST_TABLE_MAP_FAILED;
-
-        ret = p2m_create_table(p2m, entry);
-        if ( ret )
-            return GUEST_TABLE_MAP_FAILED;
-    }
-
-    /* The function p2m_next_level is never called at the 3rd level */
-    ASSERT(level < 3);
-    if ( p2m_is_mapping(*entry, level) )
-        return GUEST_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    unmap_domain_page(*table);
-    *table = map_domain_page(mfn);
-
-    return GUEST_TABLE_NORMAL_PAGE;
-}
-
-/*
- * Get the details of a given gfn.
- *
- * If the entry is present, the associated MFN will be returned and the
- * access and type filled up. The page_order will correspond to the
- * order of the mapping in the page table (i.e it could be a superpage).
- *
- * If the entry is not present, INVALID_MFN will be returned and the
- * page_order will be set according to the order of the invalid range.
- *
- * valid will contain the value of bit[0] (e.g valid bit) of the
- * entry.
- */
-mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
-                    p2m_type_t *t, p2m_access_t *a,
-                    unsigned int *page_order,
-                    bool *valid)
-{
-    paddr_t addr = gfn_to_gaddr(gfn);
-    unsigned int level = 0;
-    lpae_t entry, *table;
-    int rc;
-    mfn_t mfn = INVALID_MFN;
-    p2m_type_t _t;
-    DECLARE_OFFSETS(offsets, addr);
-
-    ASSERT(p2m_is_locked(p2m));
-    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
-
-    /* Allow t to be NULL */
-    t = t ?: &_t;
-
-    *t = p2m_invalid;
-
-    if ( valid )
-        *valid = false;
-
-    /* XXX: Check if the mapping is lower than the mapped gfn */
-
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-    {
-        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
-                 gfn_x(p2m->max_mapped_gfn) )
-                break;
-
-        goto out;
-    }
-
-    table = p2m_get_root_pointer(p2m, gfn);
-
-    /*
-     * the table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        level = P2M_ROOT_LEVEL;
-        goto out;
-    }
-
-    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-    {
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table[offsets[level]];
-
-    if ( p2m_is_valid(entry) )
-    {
-        *t = entry.p2m.type;
-
-        if ( a )
-            *a = p2m_mem_access_radix_get(p2m, gfn);
-
-        mfn = lpae_get_mfn(entry);
-        /*
-         * The entry may point to a superpage. Find the MFN associated
-         * to the GFN.
-         */
-        mfn = mfn_add(mfn,
-                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
-
-        if ( valid )
-            *valid = lpae_is_valid(entry);
-    }
-
-out_unmap:
-    unmap_domain_page(table);
-
-out:
-    if ( page_order )
-        *page_order = XEN_PT_LEVEL_ORDER(level);
-
-    return mfn;
-}
-
-mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
-{
-    mfn_t mfn;
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
-    p2m_read_unlock(p2m);
-
-    return mfn;
-}
-
-struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
-                                        p2m_type_t *t)
-{
-    struct page_info *page;
-    p2m_type_t p2mt;
-    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
-
-    if ( t )
-        *t = p2mt;
-
-    if ( !p2m_is_any_ram(p2mt) )
-        return NULL;
-
-    if ( !mfn_valid(mfn) )
-        return NULL;
-
-    page = mfn_to_page(mfn);
-
-    /*
-     * get_page won't work on foreign mapping because the page doesn't
-     * belong to the current domain.
-     */
-    if ( p2m_is_foreign(p2mt) )
-    {
-        struct domain *fdom = page_get_owner_and_reference(page);
-        ASSERT(fdom != NULL);
-        ASSERT(fdom != d);
-        return page;
-    }
-
-    return get_page(page, d) ? page : NULL;
-}
-
-int guest_physmap_mark_populate_on_demand(struct domain *d,
-                                          unsigned long gfn,
-                                          unsigned int order)
-{
-    return -ENOSYS;
-}
-
-unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
-                                           unsigned int order)
-{
-    return 0;
-}
-
-static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
-{
-    /* First apply type permissions */
-    switch ( t )
-    {
-    case p2m_ram_rw:
-        e->p2m.xn = 0;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_ram_ro:
-        e->p2m.xn = 0;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_iommu_map_rw:
-    case p2m_map_foreign_rw:
-    case p2m_grant_map_rw:
-    case p2m_mmio_direct_dev:
-    case p2m_mmio_direct_nc:
-    case p2m_mmio_direct_c:
-        e->p2m.xn = 1;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_iommu_map_ro:
-    case p2m_map_foreign_ro:
-    case p2m_grant_map_ro:
-    case p2m_invalid:
-        e->p2m.xn = 1;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_max_real_type:
-        BUG();
-        break;
-    }
-
-    /* Then restrict with access permissions */
-    switch ( a )
-    {
-    case p2m_access_rwx:
-        break;
-    case p2m_access_wx:
-        e->p2m.read = 0;
-        break;
-    case p2m_access_rw:
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_w:
-        e->p2m.read = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_rx:
-    case p2m_access_rx2rw:
-        e->p2m.write = 0;
-        break;
-    case p2m_access_x:
-        e->p2m.write = 0;
-        e->p2m.read = 0;
-        break;
-    case p2m_access_r:
-        e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_n:
-    case p2m_access_n2rwx:
-        e->p2m.read = e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    }
-}
-
-static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
-{
-    /*
-     * sh, xn and write bit will be defined in the following switches
-     * based on mattr and t.
-     */
-    lpae_t e = (lpae_t) {
-        .p2m.af = 1,
-        .p2m.read = 1,
-        .p2m.table = 1,
-        .p2m.valid = 1,
-        .p2m.type = t,
-    };
-
-    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
-
-    switch ( t )
-    {
-    case p2m_mmio_direct_dev:
-        e.p2m.mattr = MATTR_DEV;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    case p2m_mmio_direct_c:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    /*
-     * ARM ARM: Overlaying the shareability attribute (DDI
-     * 0406C.b B3-1376 to 1377)
-     *
-     * A memory region with a resultant memory type attribute of Normal,
-     * and a resultant cacheability attribute of Inner Non-cacheable,
-     * Outer Non-cacheable, must have a resultant shareability attribute
-     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-     *
-     * On ARMv8 shareability is ignored and explicitly treated as Outer
-     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
-     */
-    case p2m_mmio_direct_nc:
-        e.p2m.mattr = MATTR_MEM_NC;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    default:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_INNER;
-    }
-
-    p2m_set_permission(&e, t, a);
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Generate table entry with correct attributes. */
-static lpae_t page_to_p2m_table(struct page_info *page)
-{
-    /*
-     * The access value does not matter because the hardware will ignore
-     * the permission fields for table entry.
-     *
-     * We use p2m_ram_rw so the entry has a valid type. This is important
-     * for p2m_is_valid() to return valid on table entries.
-     */
-    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
-}
-
-static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
-{
-    write_pte(p, pte);
-    if ( clean_pte )
-        clean_dcache(*p);
-}
-
-static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
-{
-    lpae_t pte;
-
-    memset(&pte, 0x00, sizeof(pte));
-    p2m_write_pte(p, pte, clean_pte);
-}
-
-/* Allocate a new page table page and hook it in via the given entry. */
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
-{
-    struct page_info *page;
-    lpae_t *p;
-
-    ASSERT(!p2m_is_valid(*entry));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( page == NULL )
-        return -ENOMEM;
-
-    page_list_add(page, &p2m->pages);
-
-    p = __map_domain_page(page);
-    clear_page(p);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(p, PAGE_SIZE);
-
-    unmap_domain_page(p);
-
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return 0;
-}
-
-static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
-                                    p2m_access_t a)
-{
-    int rc;
-
-    if ( !p2m->mem_access_enabled )
-        return 0;
-
-    if ( p2m_access_rwx == a )
-    {
-        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
-        return 0;
-    }
-
-    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
-                           radix_tree_int_to_ptr(a));
-    if ( rc == -EEXIST )
-    {
-        /* If a setting already exists, change it to the new one */
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(
-                &p2m->mem_access_settings, gfn_x(gfn)),
-            radix_tree_int_to_ptr(a));
-        rc = 0;
-    }
-
-    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)
-{
-    mfn_t mfn = lpae_get_mfn(pte);
-
-    ASSERT(p2m_is_valid(pte));
-
-    /*
-     * TODO: Handle other p2m types
-     *
-     * It's safe to do the put_page here because page_alloc will
-     * flush the TLBs if the page is reallocated before the end of
-     * this loop.
-     */
-    if ( p2m_is_foreign(pte.p2m.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) )
-        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
-}
-
-/* Free lpae sub-tree behind an entry */
-static void p2m_free_entry(struct p2m_domain *p2m,
-                           lpae_t entry, unsigned int level)
-{
-    unsigned int i;
-    lpae_t *table;
-    mfn_t mfn;
-    struct page_info *pg;
-
-    /* Nothing to do if the entry is invalid. */
-    if ( !p2m_is_valid(entry) )
-        return;
-
-    if ( p2m_is_superpage(entry, level) || (level == 3) )
-    {
-#ifdef CONFIG_IOREQ_SERVER
-        /*
-         * If this gets called then either the entry was replaced by an entry
-         * with a different base (valid case) or the shattering of a superpage
-         * has failed (error case).
-         * So, at worst, the spurious mapcache invalidation might be sent.
-         */
-        if ( p2m_is_ram(entry.p2m.type) &&
-             domain_has_ioreq_server(p2m->domain) )
-            ioreq_request_mapcache_invalidate(p2m->domain);
-#endif
-
-        p2m->stats.mappings[level]--;
-        /* Nothing to do if the entry is a super-page. */
-        if ( level == 3 )
-            p2m_put_l3_page(entry);
-        return;
-    }
-
-    table = map_domain_page(lpae_get_mfn(entry));
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-        p2m_free_entry(p2m, *(table + i), level + 1);
-
-    unmap_domain_page(table);
-
-    /*
-     * Make sure all the references in the TLB have been removed before
-     * freing the intermediate page table.
-     * XXX: Should we defer the free of the page table to avoid the
-     * flush?
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    mfn = lpae_get_mfn(entry);
-    ASSERT(mfn_valid(mfn));
-
-    pg = mfn_to_page(mfn);
-
-    page_list_del(pg, &p2m->pages);
-    p2m_free_page(p2m->domain, pg);
-}
-
-static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
-                                unsigned int level, unsigned int target,
-                                const unsigned int *offsets)
-{
-    struct page_info *page;
-    unsigned int i;
-    lpae_t pte, *table;
-    bool rv = true;
-
-    /* Convenience aliases */
-    mfn_t mfn = lpae_get_mfn(*entry);
-    unsigned int next_level = level + 1;
-    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
-
-    /*
-     * This should only be called with target != level and the entry is
-     * a superpage.
-     */
-    ASSERT(level < target);
-    ASSERT(p2m_is_superpage(*entry, level));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( !page )
-        return false;
-
-    page_list_add(page, &p2m->pages);
-    table = __map_domain_page(page);
-
-    /*
-     * We are either splitting a first level 1G page into 512 second level
-     * 2M pages, or a second level 2M page into 512 third level 4K pages.
-     */
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t *new_entry = table + i;
-
-        /*
-         * Use the content of the superpage entry and override
-         * the necessary fields. So the correct permission are kept.
-         */
-        pte = *entry;
-        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
-
-        /*
-         * First and second level pages set p2m.table = 0, but third
-         * level entries set p2m.table = 1.
-         */
-        pte.p2m.table = (next_level == 3);
-
-        write_pte(new_entry, pte);
-    }
-
-    /* Update stats */
-    p2m->stats.shattered[level]++;
-    p2m->stats.mappings[level]--;
-    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
-
-    /*
-     * Shatter superpage in the page to the level we want to make the
-     * changes.
-     * This is done outside the loop to avoid checking the offset to
-     * know whether the entry should be shattered for every entry.
-     */
-    if ( next_level != target )
-        rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 level + 1, target, offsets);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(table, PAGE_SIZE);
-
-    unmap_domain_page(table);
-
-    /*
-     * Even if we failed, we should install the newly allocated LPAE
-     * entry. The caller will be in charge to free the sub-tree.
-     */
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return rv;
-}
-
-/*
- * Insert an entry in the p2m. This should be called with a mapping
- * equal to a page/superpage (4K, 2M, 1G).
- */
-static int __p2m_set_entry(struct p2m_domain *p2m,
-                           gfn_t sgfn,
-                           unsigned int page_order,
-                           mfn_t smfn,
-                           p2m_type_t t,
-                           p2m_access_t a)
-{
-    unsigned int level = 0;
-    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
-    lpae_t *entry, *table, orig_pte;
-    int rc;
-    /* A mapping is removed if the MFN is invalid. */
-    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * Check if the level target is valid: we only support
-     * 4K - 2M - 1G mapping.
-     */
-    ASSERT(target > 0 && target <= 3);
-
-    table = p2m_get_root_pointer(p2m, sgfn);
-    if ( !table )
-        return -EINVAL;
-
-    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
-    {
-        /*
-         * Don't try to allocate intermediate page table if the mapping
-         * is about to be removed.
-         */
-        rc = p2m_next_level(p2m, removing_mapping,
-                            level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because p2m_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and they p2m tree is read-only). It is a valid case
-             * when removing a mapping as it may not exist in the
-             * page table. In this case, just ignore it.
-             */
-            rc = removing_mapping ?  0 : -ENOENT;
-            goto out;
-        }
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table + offsets[level];
-
-    /*
-     * If we are here with level < target, we must be at a leaf node,
-     * and we need to break up the superpage.
-     */
-    if ( level < target )
-    {
-        /* We need to split the original page. */
-        lpae_t split_pte = *entry;
-
-        ASSERT(p2m_is_superpage(*entry, level));
-
-        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
-        {
-            /*
-             * The current super-page is still in-place, so re-increment
-             * the stats.
-             */
-            p2m->stats.mappings[level]++;
-
-            /* Free the allocated sub-tree */
-            p2m_free_entry(p2m, split_pte, level);
-
-            rc = -ENOMEM;
-            goto out;
-        }
-
-        /*
-         * Follow the break-before-sequence to update the entry.
-         * For more details see (D4.7.1 in ARM DDI 0487A.j).
-         */
-        p2m_remove_pte(entry, p2m->clean_pte);
-        p2m_force_tlb_flush_sync(p2m);
-
-        p2m_write_pte(entry, split_pte, p2m->clean_pte);
-
-        /* then move to the level we want to make real changes */
-        for ( ; level < target; level++ )
-        {
-            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-
-            /*
-             * The entry should be found and either be a table
-             * or a superpage if level 3 is not targeted
-             */
-            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
-                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
-        }
-
-        entry = table + offsets[level];
-    }
-
-    /*
-     * We should always be there with the correct level because
-     * all the intermediate tables have been installed if necessary.
-     */
-    ASSERT(level == target);
-
-    orig_pte = *entry;
-
-    /*
-     * The radix-tree can only work on 4KB. This is only used when
-     * memaccess is enabled and during shutdown.
-     */
-    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
-           p2m->domain->is_dying);
-    /*
-     * The access type should always be p2m_access_rwx when the mapping
-     * is removed.
-     */
-    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
-    /*
-     * Update the mem access permission before update the P2M. So we
-     * don't have to revert the mapping if it has failed.
-     */
-    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
-    if ( rc )
-        goto out;
-
-    /*
-     * Always remove the entry in order to follow the break-before-make
-     * sequence when updating the translation table (D4.7.1 in ARM DDI
-     * 0487A.j).
-     */
-    if ( lpae_is_valid(orig_pte) || removing_mapping )
-        p2m_remove_pte(entry, p2m->clean_pte);
-
-    if ( removing_mapping )
-        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |= !!lpae_is_valid(orig_pte);
-    else
-    {
-        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
-
-        if ( level < 3 )
-            pte.p2m.table = 0; /* Superpage entry */
-
-        /*
-         * It is necessary to flush the TLB before writing the new entry
-         * to keep coherency when the previous entry was valid.
-         *
-         * Although, it could be defered when only the permissions are
-         * changed (e.g in case of memaccess).
-         */
-        if ( lpae_is_valid(orig_pte) )
-        {
-            if ( likely(!p2m->mem_access_enabled) ||
-                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
-                p2m_force_tlb_flush_sync(p2m);
-            else
-                p2m->need_flush = true;
-        }
-        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
-            p2m->stats.mappings[level]++;
-
-        p2m_write_pte(entry, pte, p2m->clean_pte);
-
-        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
-                                      gfn_add(sgfn, (1UL << page_order) - 1));
-        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
-    }
-
-    if ( is_iommu_enabled(p2m->domain) &&
-         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
-    {
-        unsigned int flush_flags = 0;
-
-        if ( lpae_is_valid(orig_pte) )
-            flush_flags |= IOMMU_FLUSHF_modified;
-        if ( lpae_is_valid(*entry) )
-            flush_flags |= IOMMU_FLUSHF_added;
-
-        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
-                               1UL << page_order, flush_flags);
-    }
-    else
-        rc = 0;
-
-    /*
-     * Free the entry only if the original pte was valid and the base
-     * is different (to avoid freeing when permission is changed).
-     */
-    if ( p2m_is_valid(orig_pte) &&
-         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
-        p2m_free_entry(p2m, orig_pte, level);
-
-out:
-    unmap_domain_page(table);
-
-    return rc;
-}
-
-int p2m_set_entry(struct p2m_domain *p2m,
-                  gfn_t sgfn,
-                  unsigned long nr,
-                  mfn_t smfn,
-                  p2m_type_t t,
-                  p2m_access_t a)
-{
-    int rc = 0;
-
-    /*
-     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
-     * be dropped in relinquish_p2m_mapping(). As the P2M will still
-     * be accessible after, we need to prevent mapping to be added when the
-     * domain is dying.
-     */
-    if ( unlikely(p2m->domain->is_dying) )
-        return -ENOMEM;
-
-    while ( nr )
-    {
-        unsigned long mask;
-        unsigned long order;
-
-        /*
-         * Don't take into account the MFN when removing mapping (i.e
-         * MFN_INVALID) to calculate the correct target order.
-         *
-         * XXX: Support superpage mappings if nr is not aligned to a
-         * superpage size.
-         */
-        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
-        mask |= gfn_x(sgfn) | nr;
-
-        /* Always map 4k by 4k when memaccess is enabled */
-        if ( unlikely(p2m->mem_access_enabled) )
-            order = THIRD_ORDER;
-        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
-            order = FIRST_ORDER;
-        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
-            order = SECOND_ORDER;
-        else
-            order = THIRD_ORDER;
-
-        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
-        if ( rc )
-            break;
-
-        sgfn = gfn_add(sgfn, (1 << order));
-        if ( !mfn_eq(smfn, INVALID_MFN) )
-           smfn = mfn_add(smfn, (1 << order));
-
-        nr -= (1 << order);
-    }
-
-    return rc;
-}
-
-/* Invalidate all entries in the table. The p2m should be write locked. */
-static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
-{
-    lpae_t *table;
-    unsigned int i;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    table = map_domain_page(mfn);
-
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t pte = table[i];
-
-        /*
-         * Writing an entry can be expensive because it may involve
-         * cleaning the cache. So avoid updating the entry if the valid
-         * bit is already cleared.
-         */
-        if ( !pte.p2m.valid )
-            continue;
-
-        pte.p2m.valid = 0;
-
-        p2m_write_pte(&table[i], pte, p2m->clean_pte);
-    }
-
-    unmap_domain_page(table);
-
-    p2m->need_flush = true;
-}
+unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
+#endif
 
 /*
- * The domain will not be scheduled anymore, so in theory we should
- * not need to flush the TLBs. Do it for safety purpose.
- * Note that all the devices have already been de-assigned. So we don't
- * need to flush the IOMMU TLB here.
+ * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
+ * restricted by external entity (e.g. IOMMU).
  */
-void p2m_clear_root_pages(struct p2m_domain *p2m)
-{
-    unsigned int i;
-
-    p2m_write_lock(p2m);
-
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
+unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
 
-    p2m_force_tlb_flush_sync(p2m);
+/* Unlock the flush and do a P2M TLB flush if necessary */
+void p2m_write_unlock(struct p2m_domain *p2m)
+{
+#ifdef CONFIG_HAS_MMU
+    /*
+     * The final flush is done with the P2M write lock taken to avoid
+     * someone else modifying the P2M wbefore the TLB invalidation has
+     * completed.
+     */
+    p2m_tlb_flush_sync(p2m);
+#endif
 
-    p2m_write_unlock(p2m);
+    write_unlock(&p2m->lock);
 }
 
-/*
- * Invalidate all entries in the root page-tables. This is
- * useful to get fault on entry and do an action.
- *
- * p2m_invalid_root() should not be called when the P2M is shared with
- * the IOMMU because it will cause IOMMU fault.
- */
-void p2m_invalidate_root(struct p2m_domain *p2m)
+void memory_type_changed(struct domain *d)
 {
-    unsigned int i;
+}
 
-    ASSERT(!iommu_use_hap_pt(p2m->domain));
+void dump_p2m_lookup(struct domain *d, paddr_t addr)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
-    p2m_write_lock(p2m);
+    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
 
-    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
-        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
+           p2m->root, mfn_x(page_to_mfn(p2m->root)));
 
-    p2m_write_unlock(p2m);
+    dump_pt_walk(page_to_maddr(p2m->root), addr,
+                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
 }
 
-/*
- * Resolve any translation fault due to change in the p2m. This
- * includes break-before-make and valid bit cleared.
- */
-bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
 {
+    mfn_t mfn;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned int level = 0;
-    bool resolved = false;
-    lpae_t entry, *table;
-
-    /* Convenience aliases */
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
-
-    p2m_write_lock(p2m);
 
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-        goto out;
+    p2m_read_lock(p2m);
+    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
+    p2m_read_unlock(p2m);
 
-    table = p2m_get_root_pointer(p2m, gfn);
-    /*
-     * The table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        goto out;
-    }
+    return mfn;
+}
 
-    /*
-     * Go down the page-tables until an entry has the valid bit unset or
-     * a block/page entry has been hit.
-     */
-    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
-    {
-        int rc;
+struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
+                                        p2m_type_t *t)
+{
+    struct page_info *page;
+    p2m_type_t p2mt;
+    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
 
-        entry = table[offsets[level]];
+    if ( t )
+        *t = p2mt;
 
-        if ( level == 3 )
-            break;
+    if ( !p2m_is_any_ram(p2mt) )
+        return NULL;
 
-        /* Stop as soon as we hit an entry with the valid bit unset. */
-        if ( !lpae_is_valid(entry) )
-            break;
+    if ( !mfn_valid(mfn) )
+        return NULL;
 
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
+    page = mfn_to_page(mfn);
 
     /*
-     * If the valid bit of the entry is set, it means someone was playing with
-     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     * get_page won't work on foreign mapping because the page doesn't
+     * belong to the current domain.
      */
-    if ( lpae_is_valid(entry) )
+    if ( p2m_is_foreign(p2mt) )
     {
-        resolved = true;
-        goto out_unmap;
+        struct domain *fdom = page_get_owner_and_reference(page);
+        ASSERT(fdom != NULL);
+        ASSERT(fdom != d);
+        return page;
     }
 
-    /*
-     * The valid bit is unset. If the entry is still not valid then the fault
-     * cannot be resolved, exit and report it.
-     */
-    if ( !p2m_is_valid(entry) )
-        goto out_unmap;
+    return get_page(page, d) ? page : NULL;
+}
 
-    /*
-     * Now we have an entry with valid bit unset, but still valid from
-     * the P2M point of view.
-     *
-     * If an entry is pointing to a table, each entry of the table will
-     * have there valid bit cleared. This allows a function to clear the
-     * full p2m with just a couple of write. The valid bit will then be
-     * propagated on the fault.
-     * If an entry is pointing to a block/page, no work to do for now.
-     */
-    if ( lpae_is_table(entry, level) )
-        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+int guest_physmap_mark_populate_on_demand(struct domain *d,
+                                          unsigned long gfn,
+                                          unsigned int order)
+{
+    return -ENOSYS;
+}
 
-    /*
-     * Now that the work on the entry is done, set the valid bit to prevent
-     * another fault on that entry.
-     */
-    resolved = true;
-    entry.p2m.valid = 1;
+unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
+                                           unsigned int order)
+{
+    return 0;
+}
 
-    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+/*
+ * The domain will not be scheduled anymore, so in theory we should
+ * not need to flush the TLBs. Do it for safety purpose.
+ * Note that all the devices have already been de-assigned. So we don't
+ * need to flush the IOMMU TLB here.
+ */
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
 
-    /*
-     * No need to flush the TLBs as the modified entry had the valid bit
-     * unset.
-     */
+    p2m_write_lock(p2m);
 
-out_unmap:
-    unmap_domain_page(table);
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
 
-out:
-    p2m_write_unlock(p2m);
+#ifdef CONFIG_HAS_MMU
+    p2m_force_tlb_flush_sync(p2m);
+#endif
 
-    return resolved;
+    p2m_write_unlock(p2m);
 }
 
 int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
@@ -1612,44 +282,6 @@ int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
     return rc;
 }
 
-static struct page_info *p2m_allocate_root(void)
-{
-    struct page_info *page;
-    unsigned int i;
-
-    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
-    if ( page == NULL )
-        return NULL;
-
-    /* Clear both first level pages */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(page + i);
-
-    return page;
-}
-
-static int p2m_alloc_table(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m->root = p2m_allocate_root();
-    if ( !p2m->root )
-        return -ENOMEM;
-
-    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
-
-    /*
-     * Make sure that all TLBs corresponding to the new VMID are flushed
-     * before using it
-     */
-    p2m_write_lock(p2m);
-    p2m_force_tlb_flush_sync(p2m);
-    p2m_write_unlock(p2m);
-
-    return 0;
-}
-
-
 static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
 
 /*
@@ -1660,7 +292,7 @@ static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
  */
 static unsigned long *vmid_mask;
 
-static void p2m_vmid_allocator_init(void)
+void p2m_vmid_allocator_init(void)
 {
     /*
      * allocate space for vmid_mask based on MAX_VMID
@@ -1673,7 +305,7 @@ static void p2m_vmid_allocator_init(void)
     set_bit(INVALID_VMID, vmid_mask);
 }
 
-static int p2m_alloc_vmid(struct domain *d)
+int p2m_alloc_vmid(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
@@ -1713,32 +345,6 @@ static void p2m_free_vmid(struct domain *d)
     spin_unlock(&vmid_alloc_lock);
 }
 
-int p2m_teardown(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    struct page_info *pg;
-    int rc = 0;
-
-    p2m_write_lock(p2m);
-
-    while ( (pg = page_list_remove_head(&p2m->pages)) )
-    {
-        p2m_free_page(p2m->domain, pg);
-        count++;
-        /* Arbitrarily preempt every 512 iterations */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-    }
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
 void p2m_final_teardown(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1771,61 +377,6 @@ void p2m_final_teardown(struct domain *d)
     p2m->domain = NULL;
 }
 
-int p2m_init(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    int rc;
-    unsigned int cpu;
-
-    rwlock_init(&p2m->lock);
-    spin_lock_init(&d->arch.paging.lock);
-    INIT_PAGE_LIST_HEAD(&p2m->pages);
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
-
-    p2m->vmid = INVALID_VMID;
-    p2m->max_mapped_gfn = _gfn(0);
-    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
-
-    p2m->default_access = p2m_access_rwx;
-    p2m->mem_access_enabled = false;
-    radix_tree_init(&p2m->mem_access_settings);
-
-    /*
-     * Some IOMMUs don't support coherent PT walk. When the p2m is
-     * shared with the CPU, Xen has to make sure that the PT changes have
-     * reached the memory
-     */
-    p2m->clean_pte = is_iommu_enabled(d) &&
-        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
-
-    /*
-     * Make sure that the type chosen to is able to store the an vCPU ID
-     * between 0 and the maximum of virtual CPUS supported as long as
-     * the INVALID_VCPU_ID.
-     */
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
-
-    for_each_possible_cpu(cpu)
-       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
-
-    /*
-     * "Trivial" initialisation is now complete.  Set the backpointer so
-     * p2m_teardown() and friends know to do something.
-     */
-    p2m->domain = d;
-
-    rc = p2m_alloc_vmid(d);
-    if ( rc )
-        return rc;
-
-    rc = p2m_alloc_table(d);
-    if ( rc )
-        return rc;
-
-    return 0;
-}
-
 /*
  * The function will go through the p2m and remove page reference when it
  * is required. The mapping will be removed from the p2m.
@@ -2217,159 +768,6 @@ void __init p2m_restrict_ipa_bits(unsigned int ipa_bits)
         p2m_ipa_bits = ipa_bits;
 }
 
-/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
-static register_t __read_mostly vtcr;
-
-static void setup_virt_paging_one(void *data)
-{
-    WRITE_SYSREG(vtcr, VTCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
-     * entries related to EL1/EL0 translation regime until a guest vCPU
-     * is running. For that, we need to set-up VTTBR to point to an empty
-     * page-table and turn on stage-2 translation. The TLB entries
-     * associated with EL1/EL0 translation regime will also be flushed in case
-     * an AT instruction was speculated before hand.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
-        isb();
-
-        flush_all_guests_tlb_local();
-    }
-}
-
-void __init setup_virt_paging(void)
-{
-    /* Setup Stage 2 address translation */
-    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
-
-    static const struct {
-        unsigned int pabits; /* Physical Address Size */
-        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
-        unsigned int root_order; /* Page order of the root of the p2m */
-        unsigned int sl0;    /* Desired SL0, maximum in comment */
-    } pa_range_info[] __initconst = {
-        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
-        /*      PA size, t0sz(min), root-order, sl0(max) */
-#ifdef CONFIG_ARM_64
-        [0] = { 32,      32/*32*/,  0,          1 },
-        [1] = { 36,      28/*28*/,  0,          1 },
-        [2] = { 40,      24/*24*/,  1,          1 },
-        [3] = { 42,      22/*22*/,  3,          1 },
-        [4] = { 44,      20/*20*/,  0,          2 },
-        [5] = { 48,      16/*16*/,  0,          2 },
-        [6] = { 52,      12/*12*/,  4,          2 },
-        [7] = { 0 }  /* Invalid */
-#else
-        { 32,      0/*0*/,    0,          1 },
-        { 40,      24/*24*/,  1,          1 }
-#endif
-    };
-
-    unsigned int i;
-    unsigned int pa_range = 0x10; /* Larger than any possible value */
-
-#ifdef CONFIG_ARM_32
-    /*
-     * Typecast pa_range_info[].t0sz into arm32 bit variant.
-     *
-     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
-     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
-     * struct bitfields.
-     */
-    struct
-    {
-        signed int val:5;
-    } t0sz_32;
-#else
-    /*
-     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-     * with IPA bits == PA bits, compare against "pabits".
-     */
-    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
-        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
-
-    /*
-     * cpu info sanitization made sure we support 16bits VMID only if all
-     * cores are supporting it.
-     */
-    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
-        max_vmid = MAX_VMID_16_BIT;
-#endif
-
-    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
-    {
-        if ( p2m_ipa_bits == pa_range_info[i].pabits )
-        {
-            pa_range = i;
-            break;
-        }
-    }
-
-    /* Check if we found the associated entry in the array */
-    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
-        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
-
-#ifdef CONFIG_ARM_64
-    val |= VTCR_PS(pa_range);
-    val |= VTCR_TG0_4K;
-
-    /* Set the VS bit only if 16 bit VMID is supported. */
-    if ( MAX_VMID == MAX_VMID_16_BIT )
-        val |= VTCR_VS;
-#endif
-
-    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
-    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
-
-    p2m_root_order = pa_range_info[pa_range].root_order;
-    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
-
-#ifdef CONFIG_ARM_64
-    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
-#else
-    t0sz_32.val = pa_range_info[pa_range].t0sz;
-    p2m_ipa_bits = 32 - t0sz_32.val;
-#endif
-
-    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
-           p2m_ipa_bits,
-           pa_range_info[pa_range].pabits,
-           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
-
-    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
-           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
-
-    p2m_vmid_allocator_init();
-
-    /* It is not allowed to concatenate a level zero root */
-    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
-    vtcr = val;
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
-     * with all entries zeroed.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        struct page_info *root;
-
-        root = p2m_allocate_root();
-        if ( !root )
-            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
-
-        empty_root_mfn = page_to_mfn(root);
-    }
-
-    setup_virt_paging_one(NULL);
-    smp_call_function(setup_virt_paging_one, NULL, 1);
-}
-
 static int cpu_virt_paging_callback(struct notifier_block *nfb,
                                     unsigned long action,
                                     void *hcpu)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:49:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573608.898471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNh-0004vM-NN; Tue, 01 Aug 2023 03:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573608.898471; Tue, 01 Aug 2023 03: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 1qQgNh-0004vF-KN; Tue, 01 Aug 2023 03:49:09 +0000
Received: by outflank-mailman (input) for mailman id 573608;
 Tue, 01 Aug 2023 03:49: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgK4-00076X-B1
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d799d204-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45:22 +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 7769D11FB;
 Mon, 31 Jul 2023 20:46:05 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D45903F59C;
 Mon, 31 Jul 2023 20:45:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d799d204-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 12/13] xen/arm: mmu: relocate copy_from_paddr() to setup.c
Date: Tue,  1 Aug 2023 11:44:18 +0800
Message-Id: <20230801034419.2047541-13-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Function copy_from_paddr() is defined in asm/setup.h, so it is better
to be implemented in setup.c.

Current copy_from_paddr() implementation is mmu-specific, so this
commit moves copy_from_paddr() into mmu/setup.c, and it is also
benefical for us to implement MPU version of copy_from_paddr() in
later commit.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- No change
v3:
- new commit
---
 xen/arch/arm/kernel.c    | 27 ---------------------------
 xen/arch/arm/mmu/setup.c | 27 +++++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 508c54824d..0d433a32e7 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -41,33 +41,6 @@ struct minimal_dtb_header {
 
 #define DTB_MAGIC 0xd00dfeedU
 
-/**
- * copy_from_paddr - copy data from a physical address
- * @dst: destination virtual address
- * @paddr: source physical address
- * @len: length to copy
- */
-void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
-{
-    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
-
-    while (len) {
-        unsigned long l, s;
-
-        s = paddr & (PAGE_SIZE-1);
-        l = min(PAGE_SIZE - s, len);
-
-        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
-        memcpy(dst, src + s, l);
-        clean_dcache_va_range(dst, l);
-        clear_fixmap(FIXMAP_MISC);
-
-        paddr += l;
-        dst += l;
-        len -= l;
-    }
-}
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index e05cca3f86..889ada6b87 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -329,6 +329,33 @@ void __init setup_mm(void)
 }
 #endif
 
+/*
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
+
+    while (len) {
+        unsigned long l, s;
+
+        s = paddr & (PAGE_SIZE-1);
+        l = min(PAGE_SIZE - s, len);
+
+        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
+        memcpy(dst, src + s, l);
+        clean_dcache_va_range(dst, l);
+        clear_fixmap(FIXMAP_MISC);
+
+        paddr += l;
+        dst += l;
+        len -= l;
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 03:49:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 03:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573609.898477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNi-0004z9-3d; Tue, 01 Aug 2023 03:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573609.898477; Tue, 01 Aug 2023 03:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgNh-0004x5-T0; Tue, 01 Aug 2023 03:49:09 +0000
Received: by outflank-mailman (input) for mailman id 573609;
 Tue, 01 Aug 2023 03:49: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQgK8-00076X-Bt
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 03:45:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id da11a0b3-301d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 05:45:26 +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 8DDD2D75;
 Mon, 31 Jul 2023 20:46:09 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3617E3F59C;
 Mon, 31 Jul 2023 20:45:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da11a0b3-301d-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Date: Tue,  1 Aug 2023 11:44:19 +0800
Message-Id: <20230801034419.2047541-14-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

SMMU subsystem is only supported in MMU system, so we make it dependent
on CONFIG_HAS_MMU.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v4:
- No change
v3:
- new patch
---
 xen/drivers/passthrough/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 864fcf3b0c..5a8d666829 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -5,6 +5,7 @@ config HAS_PASSTHROUGH
 if ARM
 config ARM_SMMU
 	bool "ARM SMMUv1 and v2 driver"
+	depends on HAS_MMU
 	default y
 	---help---
 	  Support for implementations of the ARM System MMU architecture
@@ -15,7 +16,7 @@ config ARM_SMMU
 
 config ARM_SMMU_V3
 	bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" if EXPERT
-	depends on ARM_64 && (!ACPI || BROKEN)
+	depends on ARM_64 && (!ACPI || BROKEN) && HAS_MMU
 	---help---
 	 Support for implementations of the ARM System MMU architecture
 	 version 3. Driver is in experimental stage and should not be used in
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 04:06:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 04:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573628.898491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgeG-0000JL-GN; Tue, 01 Aug 2023 04:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573628.898491; Tue, 01 Aug 2023 04: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 1qQgeG-0000JE-D8; Tue, 01 Aug 2023 04:06:16 +0000
Received: by outflank-mailman (input) for mailman id 573628;
 Tue, 01 Aug 2023 04:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=LgnD=DS=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qQgeF-0000J8-HT
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 04:06:15 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0d5a720-3020-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 06:06:13 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 37145drD098717
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 1 Aug 2023 00:05:44 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 37145aIv098716;
 Mon, 31 Jul 2023 21:05:36 -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: c0d5a720-3020-11ee-b258-6b7b168915f2
Date: Mon, 31 Jul 2023 21:05:36 -0700
From: Elliott Mitchell <ehem+undef@m5p.com>
To: Ian Jackson <ijackson@chiark.greenend.org.uk>
Cc: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
        xen-devel@lists.xenproject.org, wl@xen.org,
        Anthony PERARD <anthony.perard@citrix.com>,
        Juergen Gross <jgross@suse.com>
Subject: Re: Python in Domain Configurations
Message-ID: <ZMiEkBrMfXAUvjgL@mattapan.m5p.com>
References: <ZKiN80e08QIojRSL@mattapan.m5p.com>
 <ZL7e6IcJWK38IHU7@mattapan.m5p.com>
 <ZMcxvdSbpQdWg5/r@mail-itl>
 <ZMflj1F5qDydEgbd@mattapan.m5p.com>
 <25799.60117.528120.26189@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <25799.60117.528120.26189@chiark.greenend.org.uk>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Jul 31, 2023 at 06:09:41PM +0100, Ian Jackson wrote:
> Elliott Mitchell writes ("Re: Python in Domain Configurations"):
> > On Mon, Jul 31, 2023 at 05:59:55AM +0200, Marek Marczykowski-Górecki wrote:
> > > So, IMHO reducing config file from a full python (like it used to be in
> > > xend times) into a static file with well defined syntax was an
> > > improvement. Lets not go backward.
> 
> I'm no longer working on this codebase, but since I've been CC'd:
> 
> I was one of the people who replaced the Python-based config parsing
> with the current arrangements.  We didn't just do this because we were
> replacing xend (whose use of Python as implementation language made it
> appear convenient to just read and execute the configs as Python
> code).
> 
> We did it for the reasons Marek gives.  It's true that the existing
> format is not as well specified as it could be.  It was intended as a
> plausible subset of Python literal syntax.  We chose that syntax to
> preserve compatibility with the vast majority of existing config files
> and to provide something familiar.  (And it seems we did achieve those
> goals.)
> 
> The disk configuration syntax is particularly warty, but we inherited
> much of that from the Python version.

Okay.  I do note allowing full Python does make domain creation by script
easier.  While I have one use for re-adding the functionality, I'm sure
someone else would come up with other high-value ones.


> > > As for your original problem, IIUC you would like to add some data that
> > > would _not_ be interpreted by libxl, right? For that you can use
> > > comments with some specific marker for your script. This approach used
> > > to work well for SysV init script, and in fact for a very similar use case
> > > (ordering and dependencies, among other things).
> > 
> > That is /not/ the issue.  `xl` simply ignores any variables which it
> > doesn't interpret (this is in fact a Bad Thing).
> 
> I forget, but isn't there some kind of scheme for warning about
> unrecognised configuration options ?

There certainly should be and there may have been one in the past, but no
there isn't one now.  One advantage for using Python is processed data
could be removed when creating the domain and anything left over could be
warned about.  Though such could be added to the existing parser too.

> >  I need to know what the limits to the syntax are.
> 
> I agree that it's not great that the syntax is not 100% documented.
> The parser is in
>   tools/libs/util/libxlu_cfg_y.y
>   tools/libs/util/libxlu_cfg_l.l
> I'm sure patches to improve the docs would be welcome.

That is merely the DFA for the grammar.  There is a bunch of extra for
interfacing with the parser, then there is the layer above.

> Note that it is still a *subset* of Python, so if you wish to use a
> Python interpreter to parse it in your own tooling, you're very
> welcome to do so.

Yup, and this will make that simpler.  Having Python dictionaries would
make some things even easier though.


> > Notice how many init scripts do `. /etc/default/<somefile>` to load
> > configuration?  I'm thinking it would be very handy to use a similar
> > technique to load domain.cfg files, with Python being the interpreter.
> 
> I don't think this is a good idea.  Both because I don't think the
> functionality available in a Python interpreter should be available in
> the libxl configuration, and because Python is a large and complex
> dependency which we don't want to pull in here.

While PvGRUB and Tianocore seem likely to displace PyGRUB, PyGRUB still
functions on ARM (which PvGRUB isn't ported to yet).  As such there is
still a dependency.

Too me the greater concern is the daemon process.  Issue is, for the
daemon process the large amount of functionality built into `xl` is a
similar liability.  Even the temporary data seems a large liability for
the daemon.  Additionally if that was a separate executable, then the
process name could be changed via execve() and make it clearer that
process was expected to remain behind.

> > I also think some portions of the domain.cfg format might work better
> > with full Python syntax.  For example might it be handier to allow:
> > 
> > disk = [
> > 	{
> > 		'vdev': 'xvda',
> > 		'format': 'raw',
> > 		'access': 'rw',
> > 		'target': '/dev/disk/by-path/foo-bar-baz',
> > 	},
> > ]
> 
> I agree that something like this would be nice.  I don't think it
> should be done by importing Python.  These two files - the main part
> of the existing parser - is only 183 loc including comments.
> Extending it (and the support code in libxlu_cfg.c) to do dictionaries
> as well as lists doesn't seem like it would make it too much bigger.

That ignores all the interfacing code.  Add in the interfacing and it is
closer to 2000 lines.  If you merely count the file parser that is only
1000 lines.

I suspect I could interface to libpython with 200-300 lines.  Those would
allow far more functionality than what is currently implemented.



On Mon, Jul 31, 2023 at 05:59:55AM +0200, Marek Marczykowski-Górecki wrote:
> I don't know full history here, but from my point of view, having a
> full-fledged script as a config file is undesirable for several reasons:
>  - it's easy to have unintended side effects of just loading a config
>    file
>  - loading config file can no longer be assumed to be "cheap"

If you use full Python functionality in the domain.cfg files, it could 
indeed do interesting things during config load.  This though is good
reason not to do those things.

Include in documentation, "please don't use complicated Python
functionality in domain configurations"?  Guarding against this seems to
be trying to guard against shooting oneself in the foot.  Users will find
ways to cause odd situations no matter what you do.

>  - dynamic config file means you can no long rely on file timestamp/hash
>    to check if anything changed (I don't think it's an issue for the
>    current xl/libxl, but could be for some higher level tools)

I'm not looking for dynamic configurations.  I'm mostly thinking of
allowing better configuration constructs.  Both disks and network could
use Python dictionaries for a better structure.

>  - leads to issues with various sandboxes - for example SELinux policy
>    allowing scripted config file would be excessively permissive

I suspect someone not using complex Python constructs could have simpler
SE Linux policy.

Having done a bit of experimentation, it appears libpython can be made to
disable some functionality during loading.  Notably it appears one could
restrict Python to mostly dumb assignments during loading.

Further, if this got to the stage of a PoC it should be possible for it
to live alongside the existing parser for a time.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 04:19:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 04:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573526.898501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgqc-0001wN-IQ; Tue, 01 Aug 2023 04:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573526.898501; Tue, 01 Aug 2023 04: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 1qQgqc-0001wG-Fh; Tue, 01 Aug 2023 04:19:02 +0000
Received: by outflank-mailman (input) for mailman id 573526;
 Tue, 01 Aug 2023 00:13: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=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQd17-0007Yy-4m
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 00:13:37 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 414c6172-3000-11ee-b257-6b7b168915f2;
 Tue, 01 Aug 2023 02:13:35 +0200 (CEST)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-1bba54f7eefso39462175ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jul 2023 17:13:35 -0700 (PDT)
Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:2cb0::61c9])
 by smtp.gmail.com with ESMTPSA id
 x3-20020a170902ea8300b001b8c3c7b102sm9160290plb.127.2023.07.31.17.13.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Jul 2023 17:13: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: 414c6172-3000-11ee-b257-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690848814; x=1691453614;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=g4l/cMUxkTocSYYbqSa4Kr4GL8OndltKGe18dhbWtXXBcu5LRWbh3iWJMnbCSrNhuP
         s1qwEb0i+pxo8jDwEBf9XhgHt0VGOqnpLjNJIzELUN8ByoPHGzDA3rChjSBQCjJuTNmO
         Q81WoR1YVrlUtHtRKRIBlLV9bBGTC/yrWxF2Ozor+1MckGk6KRmfW9KRz78lDhrLOKmV
         sKt+WaexQHGwOEN1QWpLP+aBaGqkdCH/GkNejNIopkvclCfdOs1llwq21oN9DiXeaJAP
         mAHuUG0E++qzUwbvR3Nd8q0rIRs2+ZYx+/4I5452Cyk3RO8dIV2ee4N6IMsX1w44n8O/
         FgUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690848814; x=1691453614;
        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=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=i7pSGFUmaGKdxcCbKcxmGQZFDtf/DGhE4TdQO+dDESbFJe1TAWUUozL1oc5YqOudhp
         m6bNdID2dxe+czj59l4nBMAMBLmpkTLXZkcqShEkwJqPvlfK/ewmJKLAdLWHVAUlQjVb
         FOkX0LiRKVA4pAx37o74eQOVVAkXJLGGcVcn0ywIWnBxU4LNtwj2Ra2Rcgqk3/RJUOVe
         z4K/veP2dnywXH7K96Y2Skkk+qLWyaYSzCJnquUtglRJBberGrpwPUaATVHI/25izqNO
         KMeTfsRoiUCNaX8ELEG1R4yq7Vr/l6DKR72FkzRcgrVhSa0kxCKi6BWuudzADr3YKYoS
         63IQ==
X-Gm-Message-State: ABy/qLbYr3pYFrlsMBKKWjidj5OB+aXYLKjlCI8cokSEUHY7af1fKilM
	v2hzB9zKHjnHFNVsipJJDcs4ErAILBl7sg==
X-Google-Smtp-Source: APBJJlH7rAUhoXCdbru0CWT/GEfhYM8bsWPRlsV0sb/xjZ8HY3XcI0zymX5ckofHgoeAbv0RwdsROA==
X-Received: by 2002:a17:902:e5c5:b0:1b2:676d:1143 with SMTP id u5-20020a170902e5c500b001b2676d1143mr15089937plf.15.1690848813956;
        Mon, 31 Jul 2023 17:13:33 -0700 (PDT)
From: Khem Raj <raj.khem@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Khem Raj <raj.khem@gmail.com>
Subject: [PATCH] arm32: Avoid using solaris syntax for .section directive
Date: Mon, 31 Jul 2023 17:12:58 -0700
Message-ID: <20230801001258.555944-1-raj.khem@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Assembler from binutils 2.41 rejects this syntax

.section "name"[, flags...]

where flags could be #alloc, #write, #execstr
Switch to using ELF syntax

.section name[, "flags"[, @type]]

[1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 xen/arch/arm/arm32/proc-v7.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
index c90a31d80f..6d3d19b873 100644
--- a/xen/arch/arm/arm32/proc-v7.S
+++ b/xen/arch/arm/arm32/proc-v7.S
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 04:19:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 04:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573528.898507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQgqc-0001zp-SL; Tue, 01 Aug 2023 04:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573528.898507; Tue, 01 Aug 2023 04: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 1qQgqc-0001zc-Ob; Tue, 01 Aug 2023 04:19:02 +0000
Received: by outflank-mailman (input) for mailman id 573528;
 Tue, 01 Aug 2023 00:17:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQd4c-0007cZ-OL
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 00:17:14 +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 c254d0b3-3000-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 02:17:12 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-1bbc87ded50so31646695ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jul 2023 17:17:12 -0700 (PDT)
Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:2cb0::61c9])
 by smtp.gmail.com with ESMTPSA id
 g6-20020a170902740600b001b03842ab78sm9116656pll.89.2023.07.31.17.17.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Jul 2023 17:17: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: c254d0b3-3000-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690849030; x=1691453830;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=gnQHITvmAqheMxwdIdbSevZa/UKreSmE0N3u9RwQPyLUzc/4qCPfbLDsYKknGqC/Vz
         O41VPUl2G9yQplzzLsCYaeC5okwzF63JaLtIfUyxB14zOibJk3x0I1B9+dIPIj9388NX
         CFhTl9G9VXeHg/l+CnixMyMnxZMceEl2vpBhVG6VuEUvmVvnv3Lf7ojk4jL10jj8ylHM
         8lHJQHgaGyAv5R7W/tU0p1Nlr3t1sXlQOEaF88h7a5q+Wwg7NP2GWIkrvQNj4814HAZb
         Re86dIqp9XBqfiymMK7kFSnHaISKO8tSQdOspM28iXlcBREf2MDilHB45dxvLZNnamOq
         eDSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690849030; x=1691453830;
        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=ZUFItuirOVPJCbtBystcht3mbxhNZnp6hC1vcTbgIWQ=;
        b=Fhrif++vlq3n9pW1mGM3w2vnh36WwQLbpx5IZa+mBkxFiMYO1bo0CZkNtWqc64c6Iz
         9PfmzDexzAGzqACVCzUL7xYBUujrXIE45IaA1Tbf1zcU05r7XVE5O2hQnQThDfdBTgpA
         HmLFWPLAhf9sCi5LeGhqpBdZP0URXQVRLHTU5R+WNDsiaINPeJdEftGXVI8mKxYrem82
         XNO9/bDUfX6pR4AOWhh7/tDCfNbsUmWkK9CcnSXZNJ2gSfJ+aMG8DQNFe4eXaKbm6u2r
         yqnTTmlWJBWbLHlTurvIOp0Tv4r1pLYpKpOwn8ZxhPoUrZ+8wjJs7vpSo1Dtfrz5uarD
         0Xbw==
X-Gm-Message-State: ABy/qLazvfwjVH2Wq+rds8cTQtmO7NcPuQULhbIn+TnFEaKY6VjZUbW2
	S+spEd0/JrvcwUXbhM3BEX2v0Vu93ESYXg==
X-Google-Smtp-Source: APBJJlGRyDXLqmBGFHOVTybceq4cX5Va+EF/1UdvEwMhbjtfzQKCjrKh38g1Hyg6juqQRfEiMlApbw==
X-Received: by 2002:a17:902:a40d:b0:1bb:20ee:e29e with SMTP id p13-20020a170902a40d00b001bb20eee29emr10646642plq.1.1690849030465;
        Mon, 31 Jul 2023 17:17:10 -0700 (PDT)
From: Khem Raj <raj.khem@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Khem Raj <raj.khem@gmail.com>
Subject: [PATCH] arm32: Avoid using solaris syntax for .section directive
Date: Mon, 31 Jul 2023 17:17:07 -0700
Message-ID: <20230801001707.556040-1-raj.khem@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Assembler from binutils 2.41 rejects this syntax

.section "name"[, flags...]

where flags could be #alloc, #write, #execstr
Switch to using ELF syntax

.section name[, "flags"[, @type]]

[1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 xen/arch/arm/arm32/proc-v7.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
index c90a31d80f..6d3d19b873 100644
--- a/xen/arch/arm/arm32/proc-v7.S
+++ b/xen/arch/arm/arm32/proc-v7.S
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:02:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573643.898521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiSY-0005TK-5W; Tue, 01 Aug 2023 06:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573643.898521; Tue, 01 Aug 2023 06:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiSY-0005TD-2z; Tue, 01 Aug 2023 06:02:18 +0000
Received: by outflank-mailman (input) for mailman id 573643;
 Tue, 01 Aug 2023 06:02:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQiSX-0005T7-5m
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:02:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6c888e8-3030-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:02:15 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9126.eurprd04.prod.outlook.com (2603:10a6:20b:449::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Tue, 1 Aug
 2023 06:02:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 06:02:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6c888e8-3030-11ee-b258-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MnAcJlPfDSZ7LkZZ5QakF7zAqsyNSHzTgww3UHTVVG3fPh8k8uOGmIyt29avpoNv2JblDlVlA5BlT6poo3nhDpiwA4675j7f76f/14BpxR+/pR799RdlUm4VeK/Ee+o2OAn27TyR5zBN+cJHgfPBm6iwX2wohP4AYoNN6aum4SsTujqJum+xt/XNSvxeVBdudlDw9uLqHveLHmJGWm6695jWOWY45HgrZ0ynKD4k+oiN2p4nUqwVLWTS9wCoNlPuTSnYKo1yAXQlKGCGU+g1ZgaZrNNoPasMSaR139DgBqMSJFw5Z0W3RkNZRmymtf1sneQK+tEzorA+3n0RpNRuyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VSdxrGNiCrZdrayjyWvZ3Jn8fHxqXvISrwMl3XFogzQ=;
 b=PQN0v2BZKMtLpom/H1HbOYJKWUwAXsfg8mplvIPAWj9b6KC3oZwXfQxiC1AsfMdx7/MnCq3nKMMnIDkzfa62R1M7ydBfUP3vHB3PmYqIFNLyBDomB/rYSK2ry21ieLlL0eWEB2wqb3qm6w4avRQwYVFWLA6Eaqhmp7FfkfNL0h7MdKawj7wzAzrGR6fnCrfhBXxqojRfOCiXQz0PT6OQ5XXnEovCrd/4+2gucrmaF7ufQLjaXXvsMjRXffC7bT4HApgtnGw0z/IFt4M1/pHgwGAVRInmAk7dsL0OEMbNaqI1F7hojsUu2PaRVMivGL6BqCo5Ua6Qf61lTsi1d3yjgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VSdxrGNiCrZdrayjyWvZ3Jn8fHxqXvISrwMl3XFogzQ=;
 b=1FAJ+ohBPKSLBCA2VyA+sQajmGae6dXoIIHupIXUlt/tjpOhh00JaAbU0r++QoMtGihqIgrMBCjpZ697bXdcOYNZVddSja+xf0Qla0wbOe08OPELq28GEpr0neWUp1qlvHQh5gP9CIY25uysw6BVALPIECbzfsbiz7Fn4CHdOESvcrCbNZGuimOodf2g8cWkR3lVOSKRds0jN5MKrAEq0Q8sl5VCUNC5TJc/4aPwVnxbsrvui3J8AL53x3WLOw0qQZ/j1l2SOAWl2N4MeKWUlM/6FAOusEix3Qon9agr+HXplOHdk33VXaQun8GGAKgl1uPlKZbewsdyz+lp3GcZyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40bc7e49-c4be-3d89-c401-347ccf92faac@suse.com>
Date: Tue, 1 Aug 2023 08:02:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 1/5] xen/lib: Move simple_strtoul from common/vsprintf.c
 to lib
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <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.1690579561.git.sanastasio@raptorengineering.com>
 <294e48747a0f9aee0be4fd178fcab029fa317528.1690579561.git.sanastasio@raptorengineering.com>
 <d280f52a-0d88-77f7-12d7-b952bd1a102f@suse.com>
 <0127f163-a96b-447b-5a1d-da048f293ea2@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0127f163-a96b-447b-5a1d-da048f293ea2@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9126:EE_
X-MS-Office365-Filtering-Correlation-Id: 5791594b-5ded-4c3f-0093-08db9254d987
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8B8ciYkJcTxttGTqkn10sat5QyJepFAgt8xBOfcuwJBhWnvuJE+Dl/046ycdCQ+dy9gqJkFMuP2XwRG7l6XtTTtDXpp2P3erPiBpJteNSzbJGOpl+Zah9+yDfA7s/0bSJpRGJHTOGR7IE/qYAMhBi2TOAZmZkC/iEc3YKa45uGJU8jlivLwiEBgJyDrYqq2aNFnAd4ZjcQT9z+rBYxWtGt4cZz+3GC0BJEH89kjSaqhel3TpxV+wePV+lxx4IUs3R5Fnugi3j6GcroPzvP8fYCaZGN50zwRkVsuLpjMFXvrP4nUuLR0dDLGxg1xYMdmwUpEGzJ8otaYzEiGbiON6Synze222VhycXlwgvZ7rFwGytPZBKIl+/PG+x44ec0z3wS/gYhKJf8DHjpawmYzVqpdR8Q0xWGSge5vB+LXMzstxZt3qaTZCAQGCkWE4KGd8skWF6sjG7HKIQj5IvlNxnrIJZ3A+PG3Bf9ix/wCKm8aAwJmdjx36E4foYaWTgIggclRHvEHRe/9VXkHJep3mhCEDLTMFG1/9wEkJ1G8GYusCvBLRiqCnxs1tvQNkCqsZ1EHBdA75qSMjBRLJuX8UHbP5qHUKtwQdtU+khZi04cl0kv6VfcPkytCaBGtVoSASWJE/02pasJ43B6FF/EqeDQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(39860400002)(376002)(136003)(396003)(451199021)(6512007)(6486002)(36756003)(2616005)(53546011)(6506007)(26005)(83380400001)(186003)(66946007)(66556008)(54906003)(41300700001)(38100700002)(31696002)(86362001)(66476007)(316002)(5660300002)(6916009)(4326008)(8676002)(8936002)(31686004)(2906002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTNwQzRsemRYZWpERmF2RnZHS0FlbnU0aEZXWm9QOERjT1hkeEgyMWI2ajRU?=
 =?utf-8?B?THJlQlhhNW9SemN6bFNjbklVcXkvUk9UT1doa2Jtd2cyRWFWM2hqbWJHaFNT?=
 =?utf-8?B?MGhyOURFSGFiS0YycnljVy9rQStFaFVkWjJwRHE4MjU1WHRRMUpzVHJjemEz?=
 =?utf-8?B?VTU4TjNERFFkVUt0em1LYVd0TW53NkZzQm5NWUx4bmYzRkFQV0pDbXBSS0do?=
 =?utf-8?B?T0lQbWNBU2pYMVpPK2hVWUl6QWdyS3pLYlo2NGRIK01YZDFUWUF0MzJBd1Ny?=
 =?utf-8?B?RkIyTGQ4c2JsTTdiMzBMcitFMkU5NG5TSEFtamdJOVIzaEk2S0VaUEliUTQr?=
 =?utf-8?B?K3kyY25SN05aM3lTNmEvL1JZWnlYT0pyMU1uTlQ5Qi9yQTNRL2lMeEpMNERT?=
 =?utf-8?B?Mk9acCtNaG1KSUtYcmZ2eTBGc1B6VjJEYkJLNzEzVG5IdU1mVWgzMFV1dTI5?=
 =?utf-8?B?U3RxOU4xc280VEd1dDJGZlEvZWIrdG1tSzdKcUZCdG4zWkVxSUdyMkFMZlRm?=
 =?utf-8?B?VEE3OGw4dU1BYjBRbVd0NUF3N0lSejl5TUlnTmR4YU81YU1qVzFmRVVNREFU?=
 =?utf-8?B?Y1Vmd2MxRzdMZjRrSlB0WXI2cDdtYWFkRzQvNTk0bkNyblNZTSttbFhoMFJx?=
 =?utf-8?B?U0JiRGpjT3dHQW1zZCtoYmtmS0NFV3BZT3Y3MzZwenN0VmtxbEJ5dHh2NS9K?=
 =?utf-8?B?d3p1OFdQQ1pBcFZyblkzbVdycTJVanlSODVmNUhCVmYyckNvaURMdlczTXdR?=
 =?utf-8?B?YVJZYW1NV3BHSndqOUp3TUR4RVc4OEhTbmg3K1V3WWJyNllPZkkxeVRwOFZo?=
 =?utf-8?B?MHdHSHdUcXJiSHFFTXpmWThOV2VlTzk4NzA0ZU1URVFFZHpiZ3lwNjBQZ0Iy?=
 =?utf-8?B?NW1wcStZNGllMlZXVEFua1NXNnQ0ZWhza1UrWENGcnRxTktQa3owUERZdmRr?=
 =?utf-8?B?Tk5yVG1QV0tTQ0ZNUndlNHhwY0xMRndKWXVyb0xxOWR2TDFwL1RuVk5BdXNT?=
 =?utf-8?B?QXBYaXg5UHF2blpzdGNHV1dyN1hrMVFrOHJwYllIdGcwTzBKTXpMRXRFWHpu?=
 =?utf-8?B?TUVxbDNyUzVOZFJTTms1djlhT0hDQ0Z6NUphV2VqeWM0RDhNYU1veTdMR1pG?=
 =?utf-8?B?Rkx5Si9qVTBKcVNWVmtJcWRETzRqcnVUNnhieEI1UGhxSmVpTW45emhsTUdY?=
 =?utf-8?B?aWpyMUtkWkE3WkxrclAzY284djRVMWpTZ2VHSld6Y1FQM05aRDNYNkFHb0pX?=
 =?utf-8?B?TDRWeTZoZzFzTGxsZS9CeU9pNFpEdjJpMFFBUmtpUjB6OVZZUjJ0L1FCc1hl?=
 =?utf-8?B?OTgreTNNcTF3WnptNVQxNVluQk9UdElobzFpc29VR0haYjMwWGdEUzM5SklR?=
 =?utf-8?B?N3lPTGs0UC90ZzV1bVFCMm5hMGRaWDJaY3ZBSmtmRmlleHp1NWhmMHNsRXlM?=
 =?utf-8?B?VElqNHBucDMzMFNzV09KdlNVWFYvL1ZsRHJrWEZYZXJNOHhlc1NIZGhIS3VX?=
 =?utf-8?B?emx3S0ZOS3dsL2NEdGY3MXI0Tnk2T3E3M0JtRFZHM24rNXpqMWRLbGlDTmg0?=
 =?utf-8?B?ZDJjb1pad0VDRm5NWnRmTVRuVUlEaDB3VkNjVCttNEJuN3hVdVhBRkJRa29J?=
 =?utf-8?B?ajlFS1NmNFMxOXlHTDdHR2lCODg2Nmd5VnlhNmg5L0lLU1J3dXFVQ2tnMnZH?=
 =?utf-8?B?bVh1OW05QWpkSmhNSnpReHJKY3pac3pMYzBBUTZqM0JLOC9OTjRnTDlWZFdE?=
 =?utf-8?B?NzdQUmtLVCs0ODBNRmdpVUE5WWp1Yi9Zb0sxRitreFJISitzeTR6dVBQZStI?=
 =?utf-8?B?SUlTMUFpQ1N3Kzl5WVg4VGFtRHIzbHNBTGh6a0dZdGJPU0YyMzd4RlZzQURn?=
 =?utf-8?B?OFBDczAzalBpTVJtcjVKajVuM3hBeXpqelVQSG55bEw1MXNMYmp6OVN3ZUwv?=
 =?utf-8?B?UEdDbTFybGdUYzRONGc2eUxZUkZwSGptRkxHWDh0K2J1dERyeERhSXMwT3h0?=
 =?utf-8?B?VlJyK3dVSDgvZDdNek5DZ0NZZHJtSjFicE0yZHRmd3JvZ2tPRmo0NzRFaDd1?=
 =?utf-8?B?cWFnWExqZDMwZmExT282cXRRcmR5OUFvSERlUGswMUtXVmo1b1Rab2ZtQ09Z?=
 =?utf-8?Q?I7b+4+HiRUb1F5JytOW9jYASl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5791594b-5ded-4c3f-0093-08db9254d987
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 06:02:12.9001
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3aNC/asvel6FMJQcVnL5SXWoqRjjCwkepTnwDRAwZfenyGTnef8aC+X8FXrEtmTK96jsXZzvQ/ppPYNPfAu7pA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9126

On 31.07.2023 21:03, Shawn Anastasio wrote:
> On 7/31/23 10:52 AM, Jan Beulich wrote:
>> On 28.07.2023 23:35, Shawn Anastasio wrote:
>>> Move the simple_strtoul routine which is used throughout the codebase
>>> from vsprintf.c to its own file in xen/lib.
>>>
>>> This allows libfdt to be built on ppc64 even though xen/common doesn't
>>> build yet.
>>>
>>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>>> ---
>>>  xen/common/vsprintf.c    | 37 -------------------------------------
>>>  xen/lib/Makefile         |  1 +
>>>  xen/lib/simple_strtoul.c | 40 ++++++++++++++++++++++++++++++++++++++++
>>>  3 files changed, 41 insertions(+), 37 deletions(-)
>>>  create mode 100644 xen/lib/simple_strtoul.c
>>
>> What about its siblings? It'll be irritating to find one here and the
>> other there.
> 
> I was debating whether to do this or not and ultimately decided to only
> make the minimum changes that were required right now. I can go ahead
> and make the change for its siblings as well.
> 
>> Also please no underscores in (new) filenames unless there's a reason
>> for this. In the case here, though, I question the need for "simple"
>> in the file name in the first place.
> 
> From a look at the other files in xen/lib there seemed to be a
> convention of naming files after the exact function they implement.
> Would you rather I rename it to just strtoul.c? Or simple-strotoul.c?

I'd prefer the former over the latter. While your observation of
convention has been true so far, I think the shorter names are to
be preferred here. They're not going to cause issues, as I don't
see us gaining non-simple_* functions.

>>> --- /dev/null
>>> +++ b/xen/lib/simple_strtoul.c
>>> @@ -0,0 +1,40 @@
>>> +/*
>>> + *  Copyright (C) 1991, 1992  Linus Torvalds
>>> + */
>>> +
>>> +#include <xen/ctype.h>
>>> +
>>> +/**
>>> + * simple_strtoul - convert a string to an unsigned long
>>> + * @cp: The start of the string
>>> + * @endp: A pointer to the end of the parsed string will be placed here
>>> + * @base: The number base to use
>>> + */
>>> +unsigned long simple_strtoul(
>>> +    const char *cp, const char **endp, unsigned int base)
>>> +{
>>> +    unsigned long result = 0,value;
>>> +
>>> +    if (!base) {
>>> +        base = 10;
>>> +        if (*cp == '0') {
>>> +            base = 8;
>>> +            cp++;
>>> +            if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {
>>> +                cp++;
>>> +                base = 16;
>>> +            }
>>> +        }
>>> +    } else if (base == 16) {
>>> +        if (cp[0] == '0' && toupper(cp[1]) == 'X')
>>> +            cp += 2;
>>> +    }
>>> +    while (isxdigit(*cp) &&
>>> +           (value = isdigit(*cp) ? *cp-'0' : toupper(*cp)-'A'+10) < base) {
>>> +        result = result*base + value;
>>> +        cp++;
>>> +    }
>>> +    if (endp)
>>> +        *endp = cp;
>>> +    return result;
>>> +}
>>
>> While moving, I think it would be nice if this stopped using neither
>> Xen nor Linux style. I'm not going to insist, but doing such style
>> adjustments right here would be quite nice.
> 
> Especially if I'm going to be moving its siblings, I'd rather just copy
> the functions verbatim for this patch, if that's acceptable.

As said - I wouldn't insist, but in this case maybe I take the time
and make the slightly more "complete" change.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:05:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573648.898531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiVW-00067c-O1; Tue, 01 Aug 2023 06:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573648.898531; Tue, 01 Aug 2023 06: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 1qQiVW-00067V-LR; Tue, 01 Aug 2023 06:05:22 +0000
Received: by outflank-mailman (input) for mailman id 573648;
 Tue, 01 Aug 2023 06:05: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQiVV-00067N-In
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:05:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 646293f9-3031-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:05:19 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9722.eurprd04.prod.outlook.com (2603:10a6:10:4c7::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Tue, 1 Aug
 2023 06:05:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 06:05: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: 646293f9-3031-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=md+UJ0ui4xmgE5wH7Cot6YDK40K77/akSoOAW/VQPIYpexG+wPHUlBIVSfGM2IxayzDgDrgLIcHScbf3nVfXqUqImenSb4DpbApg6sajbSRwiHziEZQiTSI0Mbd0J8DwETF+W8GuGtQvuIvAnRv7F2DGHKpk3Wgn7uLu40sshN0di/BP8iJ8MN3RE8u5A3kzxWoXinqX2Oot3lsuKd6Pu0Y4rdDbMgHe9nvdjtoAfKTiNiphY1oc0vkJUZHJMqMN++oLQ2SJg8A8cdqcPh6Y3Q4Yw1HbjP/hBiLe0BdBBL3AdkO7G8ar7DoCI49ykCsKAonPnsGWMG3AoCuR40ZbGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AhPl0SC7stn5KY8OCYXi8U52DpOh3sVv03quWlKBUJo=;
 b=IpuYTLiXv4m4hQvk9VeYpeem7Duo/9uLbSTBHXTdNVtkk9wbIv1rQsdkjOfo7HSDkhHFBQCC16us+r8Ki6AahDx4vnrkQIvUK2r75Zbk+YZhNpx2+dM7U43vfV8zhliTjQ9jqI0HisiRNtSi6TM+AIJtnSj3KuCDxR0oDUtaVheGT01VJwcadXEyeLzuHHf8sF2qwS4dBrTiZKGCSkKxL0hwZPv9wKCjGDYcH/z2potYJoAu3qNTpRtSqXvbixz3vp5xCRh5x/oQ0pf/9DuB/DxqtT7jab7INuJFWwVAZ2qGzhIdqXavR9KL3PH4DS0O/N0ulZ3/gE+ciINDUwcd3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AhPl0SC7stn5KY8OCYXi8U52DpOh3sVv03quWlKBUJo=;
 b=G0LKhQ41OV2tZsaCl/RzCQfmQ3zZhwuRXAspdh3B4bS64kvNJgl5F5MMLqCxLw6Impv0EwR6oMSmm/SgxVndMP5B3hwV4Q04hh0MiBsVxBs+PAcQTUwcD/0Xj0vuBlno91JoK9w7yVlMIbkoYIC1gK0+0qzK4qCrPmJWsJO05pGwzvqYK0wkjXqeByNYtV0K+CSmlWgmBAqQubo+4o/fFFyFD1SAfQF4BNdIvtl9NgyQVU9BbVXy/QHeZ//zpm251cTq4MmhokN70jXbR/Xf9ymskVf8jrZHWCLQA8O0Jq0IOuFEdpoMXyyXXMyRpl6g9AB/iqqhUJBWo6kw3Gz0cQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72b624be-b379-6419-38cb-880bb19741c6@suse.com>
Date: Tue, 1 Aug 2023 08:05:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 2/5] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <335ce2a18f8cce679dd8b30d11560989131b4337.1690579561.git.sanastasio@raptorengineering.com>
 <904d9448-1fd8-bcd7-2cbd-c9e5752dec66@suse.com>
 <a329ee02-0ae3-c8a4-5f82-5ea58d865321@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a329ee02-0ae3-c8a4-5f82-5ea58d865321@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0247.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9722:EE_
X-MS-Office365-Filtering-Correlation-Id: 69ecb7e3-2a62-4b38-10b1-08db9255470f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X/m6gVkH9KyiqGPMc5pBAtnNilw7wUTzH1oi2qQbO/ZN957RFgAH/oW3B5+ipIJ8FCSewGEubyOjhe9BdEB1Npx2WSRDUUli6edYr5qDoTawoAeBq9cLFWqTPgVvt6ouuAk9VAxkEaGD63YOY5BzT7QEvps1VUnuPxTIeo5KM/TIaUJJ9xjERYhNy+VWNsv5BrBwxMwUTvymkBobNVxMfH8URNp9wTUY/P1v6PLGFaIjL6fYo+CxVgJ/7scw+o9vnQMxWGfv9J5hSwaJblBbT9oqs1vNqFzTrYA7DFXICMeA2/8dtqvmxS8s0JMyvLaa/RCZ0NJ70B7j89F+0TGD1v7UmfDwvMtsjE4OPozLUMcqVw8LubcYhkJsv75WLiZegkQiCLdD9ATT8QdoRQBZVYpcXSTR4Pw7RiIXM6hLsVsHpkEET8nuaSqg64u5bKrSpoU6H6M+MrnF2rFcOuBsmQAjIzk8hklV7BbuTfpByu65u3zdYKByw7ChOkLUWaaw8TWVSUEyGFZy0uJsioQfu9L2PsdVFJvkQWYnBrhSJU2ScSxruHRgIBksO0Z9TUa8DA5UAvut0aMNnpGjng87Kh3HqCHyEXrey8V61mXHXC7T3tGm80pT1bx88uRnXk9sbDVO9ROMg/slmHfdYhCp8A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(346002)(39860400002)(366004)(396003)(451199021)(36756003)(478600001)(38100700002)(31696002)(86362001)(6512007)(6486002)(2616005)(53546011)(186003)(26005)(8676002)(8936002)(6506007)(31686004)(5660300002)(4326008)(2906002)(66556008)(6916009)(66946007)(66476007)(41300700001)(54906003)(316002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0JsSVFGbG90OGVyYlJaTHppT2l5RGkwSVFiUFU1UFBFU0ZyMVE2MFg1RXpq?=
 =?utf-8?B?dnBjV0hYb3ovY21wWWZwT21icTNCQnpQenNyQ0RIaVNMU0h2MDViRWRXMzR2?=
 =?utf-8?B?VkZlWDltTzBzeENTWElNOFlkcHpFS1N4bVFYbk5KbXN6bGFMQ1U1U05yeVNP?=
 =?utf-8?B?L2M5Smw1c1Z4aEZKekhwdDdSZm1TeVZKZFVKSi8yNmdCaldxRndsTXU1RGdK?=
 =?utf-8?B?R09Zb2lRM0Jna1ZRazZjRUQ5L0pEV1Z2VkRseXBGZzFydjFjTHVJaUVXOW1w?=
 =?utf-8?B?d1Iva01BYmZpZ1ZQanVNQldzdmN2L1lUK2l5cTlIRTlTcW1kclZqNUtBVzBQ?=
 =?utf-8?B?eFJ6aFpKS2c2cW9kekljY0ZBcU15UW1UZWR0M2VNM2F0cWJvdzhGWjNKSFFl?=
 =?utf-8?B?UmsrZlJPS2pVaHMzeWc2cXMwUnZlZU1lUFpQRE0rZjFmZlRPeGViTU4xODla?=
 =?utf-8?B?R3REeXFxZWJydGdpekZZQlBJbW1pdWlvUFEzbEtJWTNaLzRVUzh6ZnUrbkZk?=
 =?utf-8?B?c0VoZVRCZ1hRSER0MFVoOUJsbVNtQ0Q2TWJvZ3FlcnFNQzB2aVpZNjloV3hh?=
 =?utf-8?B?czM0VGNUYmkzQU5hSlVrdGFiclJ1ZnZacis3YTAyNWpzQllUNHdYc3I2MUwv?=
 =?utf-8?B?TlFUdTRvVFNVY0hNb2R0SVFTTmxPSE9FelJUUVNTMWl5OUpyVFhSK1A3dWtY?=
 =?utf-8?B?R0FMdVlZRHBhRnBUd3V2N0RDYWh6MGJZQk9mSVdGSHBybHF5SFRjTHhlMWlM?=
 =?utf-8?B?VytmUXpFV3hSSEJOWTVSMmJsNkJES3FCSEZ6TGp6TFdFS0p6dVBaMGN4TXRJ?=
 =?utf-8?B?ajE5MEpXKzY4WWd2dUo3V0RQVDV6amNYZWxST2xSVFpXUCtBM2l3NHRXUUhZ?=
 =?utf-8?B?ZWREcE5nMzN3TGlKOG50bzd2L2o0eG1ua0p1cjYxTTdaNjlIQ0xrYnJCWjBr?=
 =?utf-8?B?ZlJNSjlSemJ0M3N4MlROcWEwcEtxY3NMaTlxR3NvMmNJdTE0MG1PRGZZWWsw?=
 =?utf-8?B?S2JzNEZoQis1M0l5WVZZdm5jR3lJaHdESi9YUUxsVzBRdEpPV3hXZGYwMDdk?=
 =?utf-8?B?cVNQNWdGamU0TGh4MUFaVVZEMkVTVTJsb3Rtdyt5QjBNNUtNeFBKTGNvRkRt?=
 =?utf-8?B?alhWblVqeWFJd1poeksweG5HMk9YV0FEWjd3ZWJXOXljdW82cjhLZFZ5TVBD?=
 =?utf-8?B?dmFKaisrRHdPcU0vNjBiSUx1VGRPalNRQ3V0QW5UdGY4dmRGMG11UWpnQlN2?=
 =?utf-8?B?NUd1TU04MWJEdUJXZ0tEQmhqRktIYlZ6QjN3SzRtM1dsTVZpWGNKZGhacWt1?=
 =?utf-8?B?eGRoTVJPbmNIa282cDY3TCtiNFpDYjJKMmdMTzNQdjBUMGhhandwUmEvTTgv?=
 =?utf-8?B?eHhPK0N5OVlhaGVrd2YvQ1VFalRsR09mdTNrTUZlZU5TRU5QTFZlOWJLeXNh?=
 =?utf-8?B?SDRERG9jb2MwVm1mb05JNzRES2V2TDJId2dSUXpYSFNDTVExQ0xaZm0xM2E4?=
 =?utf-8?B?L0pGNnZnNnMvZWlZcTY1VmE4U3VIeTQzY3ZHaEhLdTBGZzFwa294V0RUa2Vn?=
 =?utf-8?B?UG8rZnBsbFV5ZUxpbWxVUEhsNjJtVDBLK3A2bVhlQ2ZqaENjT2dmcFBoZkVh?=
 =?utf-8?B?dDl3bUVXOFNzMnc2MkFyQ1I0eVJEVm01aDZxdWVmN3k2cDQ1bndlOVNCOFZV?=
 =?utf-8?B?M1NKeFBJZW5QUklEV1NRS2JKZFltNXl3c3FRZDhFdHlub0l3ZUpremZCWTM4?=
 =?utf-8?B?WGJ0VldkNDkzZ0JJYTZBVFo5V0N1Zis5OUdDUG5IekwvMDU2akhobE1QVDVO?=
 =?utf-8?B?U285UVdtZVJweXNtMTJMQWI5SXBEWUw3S2tVelBtUldkSUw1OTBtVXBFWTFR?=
 =?utf-8?B?UjJIaDZTMVNMWExxc3RIQXFHd2F3UStoMzVWOVArbUFYa1lLQURMUEwxQlZH?=
 =?utf-8?B?b3gxS0FqbnZkRE5hK1BCNkFOc1hsb29jUHgzZWV2NXZnb2NzYUxIeWNtV3ls?=
 =?utf-8?B?R0VQYzU4YkNHbGtML29yNXJRM0I0cWJSakJUQXlyTFovOVdOb05SSnBBMFNs?=
 =?utf-8?B?WlFSZWozSEZ4aCtKam53ZDJJWEswK0JOVGJPbEQ2UXN1c0Y1ZERaUFhwTS9m?=
 =?utf-8?Q?DbgkTQDdDinlgLsvopAKJ639+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69ecb7e3-2a62-4b38-10b1-08db9255470f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 06:05:16.6374
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0RNkwsQnnezv7FycZYTKaL8IZiiFLQ/9aJnde5anzKeSi126KWPqxjS+iRB9Xi6bcJeOj2eNgeCvgE+CwTr0+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9722

On 31.07.2023 21:09, Shawn Anastasio wrote:
> On 7/31/23 10:58 AM, Jan Beulich wrote:
>> On 28.07.2023 23:35, Shawn Anastasio wrote:
>>> --- a/xen/arch/ppc/ppc64/head.S
>>> +++ b/xen/arch/ppc/ppc64/head.S
>>> @@ -1,9 +1,11 @@
>>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>>>  
>>>  #include <asm/asm-defns.h>
>>> +#include <asm/asm-offsets.h>
>>>  
>>>      .section .text.header, "ax", %progbits
>>>  
>>> +
>>>  ENTRY(start)
>>
>> Nit: Stray change?
>>
>>> @@ -11,16 +13,19 @@ ENTRY(start)
>>>      FIXUP_ENDIAN
>>>  
>>>      /* set up the TOC pointer */
>>> -    LOAD_IMM32(%r2, .TOC.)
>>> +    bcl	    20, 31, .+4
>>
>> Could you use a label name instead of .+4? Aiui you really mean
>>
>>> +1:  mflr    %r12
>>
>> ... "1f" there?
> 
> Yes, good point. I'll point out that this form of the `bcl` instruction
> is specifically defined in the ISA specification as the recommended
> way to obtain the address of the next instruction, and hardware
> implementations presumably optimize it. Using a label instead of +4
> would of course be fine as long as the label immediately follows the
> bcl, but if the label was elsewhere then the optimization that the ISA
> allows for this specific instruction might not be hit. Just something
> that should be kept in mind in case this code is ever refactored.

Hmm, not really. If there was refactoring, the calculations using 1b
would also need adjusting. That's why it's relevant that all "sides"
agree on using one and the same label. (A similar "optimization"
exists in x86 as well, just fyi, so we have precedent of that.)

> I'll change it to 1f in v2.

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:09:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573654.898542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiZ2-0006jK-7B; Tue, 01 Aug 2023 06:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573654.898542; Tue, 01 Aug 2023 06:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiZ2-0006jD-47; Tue, 01 Aug 2023 06:09:00 +0000
Received: by outflank-mailman (input) for mailman id 573654;
 Tue, 01 Aug 2023 06:08: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQiZ0-0006j7-S3
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:08:58 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2088.outbound.protection.outlook.com [40.107.13.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6947f01-3031-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:08:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9909.eurprd04.prod.outlook.com (2603:10a6:102:385::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Tue, 1 Aug
 2023 06:08:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 06:08:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6947f01-3031-11ee-b258-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gWrbfhe9GHv1x+iFTPRndnrpcADcqsf/5vjs5LaxYzHkolZNZcXasR7/bDy80lc8410KmY10KPmx9cWupWATHS6WWg5njYRRW9q1fRawTcU/PVzQEztNYXfZNi6RB0qGNHgINaDNW5jfnjhRik0F9mo57TxPb3C4ifwjfP4invisnoJV2Ca+i2BUhqnlWnO5dZUq382mg6VBZ73nCktODnfcsS2TCEfXtJwTve5N1Qp5uMgVdqzekAKsa1kttKDSXcLbqZRyOnL9sA14xXKGBEckIIrczDwUzawu53qE7QXBvLEcy41vwH/WW0lnyJ694bdWx7/IMcGKYrnvU/952g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MIfs5hKDkqyiT/bwRsOXNBcxi8l2PnB/lLqev8A8das=;
 b=U4XM2hwxeV9seoLA/iOOor4FHexbNmHR0Qf391u89RK0kmxvSwoY9CHij/79X0CnJB8hCWI/yk+OAV+Z6UdvtoSXOH7fpIR0ZM7MKKF/JWo390vANEwd8Lx9SfYzPC+6bZ4u4nR6vw3XGHdrFBHZYzhMz2aQtiqIlngdWpFTHtVU17wUYvBbkndH1zdAJQi1Nv57Q/jNijGrLIHQs+4WaNetywASsfkpFxIExbQkboE0jXU4BliTBfVZ3HshwfxUX4IWkQva9ib8AbvnuHrurggbsRQUxWm1N6Rt3RAIbpexWfwe2Z5DsTZVAi8mkeTf06TNS4k4ovhMIdRfBNnejA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MIfs5hKDkqyiT/bwRsOXNBcxi8l2PnB/lLqev8A8das=;
 b=lyL0SwspmZkUH5ZShiYFThuv3uST9Z1k/0yIQIZB+ukHti61hKPj5B7zZQ5uz6U8J2jMC9mOJzjjTfIGA3oryGq7j7N+slC77+V2t6G5iRR8CnJkCuc4vcaRFUj7YhBZYYGntrudoaFvjFrkTuc2LE2UOhSODrj4kI49TuYEKH+3svGqrFCjMgm/+X/mRm4fijdAVtVWdeslsx/F7iUYHuz7374Bvc9dOsI67MmxyAZw29sRNHvTtZSLLvuJ7yHpe5ISObMdRjZlTzhoBwfVRBhMhVqOoEz9rrY9V+DHbm0yZy010hOP0588lak/WV/tpUQ+vEHi2puolzZHQk+RmQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f62e5ac7-500a-6909-90f2-4580c14e2a18@suse.com>
Date: Tue, 1 Aug 2023 08:08:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 2/3] xen/ppc: Relocate kernel to physical address 0 on
 boot
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690582001.git.sanastasio@raptorengineering.com>
 <0802fad2743526da4fe49f0225e14161464f192e.1690582001.git.sanastasio@raptorengineering.com>
 <3b6b0984-89fb-268e-970a-0c7eb19a4863@suse.com>
 <428aa0e8-70bb-efb5-2b5a-54229b77c5a3@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <428aa0e8-70bb-efb5-2b5a-54229b77c5a3@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9909:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c96a3b5-132d-4ec9-7857-08db9255b954
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GB0tnogLCahuieDJ/Wa8T944Y8T8MUfMzeOAksBgeWHjaY3N7XYK8EYYYhI5hzkH8/ccb4zEAQiKuh12B2uqqODlEaeHcP/qFidAVK21IkzivpydXBxgyFMMnyibrn91qzYJLD2XRofilaMXgnvN7L36QxBetFI1GnrJTO8l5Q+HKvjfCgsJWVD9gPfVclO4TRdoWjh/olgcnxjn0E2bzNj3JDbYAb2niaUGcZ9Da7tj30lRAWn9QY5VNcdsX0W6XErrs+fKlThmOvc+0HEluqitEu+GN+koVMs6f6lfyczgy51wE2PpAGqbH31dFkAbL9J1qU7b5GDd7O8PTiHK+h1+6eb5+Q0rtKk4fKfucjx86bPhdx+xuJrrWMrhDlRMiapx4HaAEvXrXzwWzItISULYeGbYE0/MLMrE0+W81AwxA3WngNv0DtaQNbKeNmXwVexATdmCFOtPB3RVMSafsWg4QYLwKYE95whxK3fZtZl39CMfY102m5WK2w+oOE5oQJtdaILOTWD1YTqPu5r4EjCxY5vpPutb6oXKdcrvzUuOXI3MWxuw4HqgmZCeaAmV4cIc+OGCX6qhZr+pJe9l2+F4Cir+qtFxg1CmA+iJTizvIcxTah6YZen625ZyGxu9TVoj3YErDdux5BAiqLAKwA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(39860400002)(376002)(136003)(396003)(451199021)(6512007)(6486002)(36756003)(2616005)(53546011)(6506007)(26005)(186003)(66946007)(66556008)(54906003)(41300700001)(38100700002)(31696002)(86362001)(66476007)(316002)(5660300002)(6916009)(4326008)(8676002)(8936002)(31686004)(2906002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V1psS3V2SDVFeTViNkdNNS8xUm9obUxzcUNub1I1Q0FiQUZaMDh5ZmpIMUwz?=
 =?utf-8?B?VHFuUFRoRzlXSk5zVk9rVVpKQzNTekpGV2kzaW1lY1ErT3hwd1l4bjFualZL?=
 =?utf-8?B?enRCVDRGVDRZcllZajFkdnNZUnNHQSs3OGNVbkpBTDExRlZEVFY4c2xQNlJE?=
 =?utf-8?B?d0pPWHdLNXlPcGc1Y2VUZlRINFdtVXBNZlJYeHg5T0V5M3ZxR0J3TTF3YmZj?=
 =?utf-8?B?MTl2WTViYU5ZcUduUnozZHR0bG9vRGFvM3BBWlhqQklFbGZpWjRqa1QxN3FI?=
 =?utf-8?B?Yjk4eVovNlYzNHNUTGZEL1pzMW0raTFxallycDQ2UDhGd3E3M3htMTUrYmJa?=
 =?utf-8?B?c2ZuV1UyRFlEa3JvUGdCSVQ4bmlJcGgwb3kxVUkvQ0VMRjRJcWVYcDhjdFZo?=
 =?utf-8?B?R1lYeENkQy9WdGQ1U1g1dklJRGR3WWFpSWZLVHNOdzRsbFNWemJWK0cyZDVq?=
 =?utf-8?B?d2NBMzFMdTdHN0VXQ29XYWRtdUJrQkpzWmMreWpjRVFFYVRwd1ZhT3VzbU1M?=
 =?utf-8?B?bWVoWGNyaGEwaEdNbVlzK090dnpmQ2xUOUdtYytjMHM1Nms3aVA5Rm5rb251?=
 =?utf-8?B?RnJHdlc2Z2t0RWZNclIyY3hDUWtRem5LNVJ6bkhPZHplK3JBWXErRmxlcWt1?=
 =?utf-8?B?UWVXZE5nUzBpcmRnVURnQzlUMTd3ZFFEeFVCSVZHeE5Va015MTlnL01HUnV2?=
 =?utf-8?B?MzNNL2Z3SWlaUVBpNTVta3BnUllyQS94VmxaaG41TFBoNHhHaGdvSjVEdVlo?=
 =?utf-8?B?UkYyS2tMVWwvWit2ZThCVFBQc29nUnNPbmprTWk2NUlHWXYva1hhNGdJUDBG?=
 =?utf-8?B?YjR6ZHlpVG4zRzRrdzFMQzRETmVxcnJtRWpTVVJmT0NNSUF3UWFKWHVFS1Fa?=
 =?utf-8?B?MWRFY3FzTkU0ZXVEeTdvdE96dWxFaTlxckpXR3gyYVcyNVFiTzY3cUN1ZVNH?=
 =?utf-8?B?WjNFNStyblRRTksyRzJkV1FhV1JQY2s4TDFLY0tuQ2Q5ZjJjWVEraHJhLzNy?=
 =?utf-8?B?cmdOV3R5RWFVRlRSWEMvekExYXByT0NsYnlWZDM1Z2xrTzV0QkU5ZXVQN05S?=
 =?utf-8?B?WFIwajdFVDZkdCsyY2Q4RWxHR3ppck50anFDVDBCUXNXeGhFdWwvVVp4OTJY?=
 =?utf-8?B?UVVISmtNd3AvZ083UlBQd1JxcG0yTGZYMkI5cTFJZkNLajdXbjYzUjY4dlk1?=
 =?utf-8?B?SmhKN2R3UzBOYlRDcFhHYmdBbnZOdWZqU1YwUDRUc3Yyb1czczlSOWRIbXhR?=
 =?utf-8?B?TTQ5RnUyZnBPd0NuQ2RLYnBlbUdCU3NXK3N3eisveE41RzRmMWtCTjFGbGh4?=
 =?utf-8?B?cWcxejRWdXhFcmRmK0ZBTllMbWZka0ZNS3NDSk56RFJtWUJaSUh2dmtUZnRL?=
 =?utf-8?B?NW9jZFA5TDlYRmpXMHdOU1NNcHV2YTFXRWRLK1V4elhTcnNaNHpPL3NiZDNM?=
 =?utf-8?B?U2FoVzhvdHJOSFdncGtYQXRoeDJjb0dHditvSFNVZDdVM3FNbzRXc3B5UWZz?=
 =?utf-8?B?TFBLajloOWxmdFJZMklFNEhZREt4RkNseHE3SnJTTlpvNHRaMit6MUtSOGEx?=
 =?utf-8?B?dVVRZDRyMG53dUdwVjlSVmNsc2FXWXNjaTZkQ3hwL2xoL0pVdWQ5WW4yczB0?=
 =?utf-8?B?REs0UlVNeWNXTWRuS0ljNHZVUnRqc3p5ZU9CVitjbGZZZlJIaWJMdUswWHRl?=
 =?utf-8?B?c0dZcjcxRUVlVmxPaVlhVDR0aGRvQlVKanhUTU1MWkVrVGZYc21VNGZyMlNO?=
 =?utf-8?B?dTZLV1lTWnRIYWFTcC8xclVJYy9nME1QVXdIVFJDUzMwT3l6Z2YrZ0x2LzBl?=
 =?utf-8?B?MWZaOTl1VFZuejBVTGpsVlJHU05oTWpMdE5BSVFsNGhLNVBQc0RKS1ViMm4r?=
 =?utf-8?B?SkduWWdkVmN5TXNUWG0zaVlGWEo2UE94SXpvTXFxMUMwRWZHMXlGUVFUN3FG?=
 =?utf-8?B?NzJXRE9RLytwT0hGUFM4R0wvVnRLdU9CTU02S1JZZmc5dkRpWFhmTGtLZXZM?=
 =?utf-8?B?bUNtZjVyUzdnVERBck96RjdtTGVuMHpyS3poUkIxTFdZejUzd1pFbXpQZE5T?=
 =?utf-8?B?SFRuTDRpOU5PSU52TTVFaU5jaEtMaFJnQ3JwdmNNb2EvZENhTXhWUXBVNjBP?=
 =?utf-8?Q?3UiQa+s9MbX3VjudvH1qlUTcZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c96a3b5-132d-4ec9-7857-08db9255b954
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 06:08:28.3523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GcKqoaRt/VA7G/fNVOeFL94bbVD7HuhWbyGiUFdqsP79puBT5PQlCEtLDANr7lqYf+GH2OE7t7U7m6NTXGZnpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9909

On 01.08.2023 01:37, Shawn Anastasio wrote:
> On 7/31/23 10:46 AM, Jan Beulich wrote:
>> On 29.07.2023 00:21, Shawn Anastasio wrote:
>>> +    /* If we're at the correct address, skip copy */
>>> +    cmpld   %r1, %r12
>>> +    beq     .L_correct_address
>>
>> Can this ever be the case, especially with the MMU-off behavior you
>> describe in the comment above? Wouldn't you need to ignore the top
>> four bits in the comparison?
> 
> It will always be the case after the code jumps to XEN_VIRT_START after
> the copy takes place.

Well, of course.

> I could have it jump past the copy loop entirely,
> but then I'd need to duplicate the TOC setup.

I don't think I understand this part of your reply: .L_correct_address
_is_ past the copy loop.

>>> +    /* Copy bytes until _end */
>>> +    LOAD_REG_ADDR(%r11, _end)
>>> +    addi    %r1, %r1, -8
>>> +    li      %r13, -8
>>> +.L_copy_xen:
>>> +    ldu     %r10, 8(%r1)
>>> +    stdu    %r10, 8(%r13)
>>> +    cmpld   %r1, %r11
>>> +    blt     .L_copy_xen
>>> +
>>> +    /* Jump to XEN_VIRT_START */
>>> +    mtctr   %r12
>>> +    bctr
>>> +.L_correct_address:
>>
>> Can the two regions potentially overlap? Looking at the ELF header
>> it's not clear to me what guarantees there are that this can't
>> happen.
> 
> As I understand it, any bootloader that placed the kernel at a low
> enough address for this to be an issue wouldn't be able to boot Linux or
> FreeBSD, so in practice it's a safe bet that this won't be the case.

Fair enough then.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:25:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573658.898552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQip2-0000is-GZ; Tue, 01 Aug 2023 06:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573658.898552; Tue, 01 Aug 2023 06:25: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 1qQip2-0000il-Cg; Tue, 01 Aug 2023 06:25:32 +0000
Received: by outflank-mailman (input) for mailman id 573658;
 Tue, 01 Aug 2023 06: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQip0-0000ia-QA
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:25:30 +0000
Received: from frasgout11.his.huawei.com (unknown [14.137.139.23])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32bb0e4a-3034-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:25:25 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.228])
 by frasgout11.his.huawei.com (SkyGuard) with ESMTP id 4RFPv71K5Nz9xqcV
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:13:55 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S2;
 Tue, 01 Aug 2023 07:24:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32bb0e4a-3034-11ee-b258-6b7b168915f2
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 0/9] Allow dynamic allocation of software IO TLB bounce buffers
Date: Tue,  1 Aug 2023 08:23:55 +0200
Message-Id: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S2
X-Coremail-Antispam: 1UD129KBjvJXoW3Wr1Dtw1rJr47Aw4kKrykZrb_yoWDGrWfpF
	WrKryftF4qqryxA3s7Ca18GFyrKa1kGrW5GrWFvryrur13Cr1j93WktayrXFW7Gr40vF12
	qFyYvw13uw1DZ3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUBK14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
	JVWxJr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr
	1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv
	7VC0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r
	1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02
	628vn2kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCY1x0264kExVAvwVAq07x20xyl42xK82
	IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC2
	0s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrw
	CI42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1U
	MIIF0xvE42xK8VAvwI8IcIk0rVWrJr0_WFyUJwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42
	IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7VUjFksDUUUUU=
	=
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Motivation
==========

The software IO TLB was designed with these assumptions:

1) It would not be used much. Small systems (little RAM) don't need it, and
   big systems (lots of RAM) would have modern DMA controllers and an IOMMU
   chip to handle legacy devices.
2) A small fixed memory area (64 MiB by default) is sufficient to
   handle the few cases which require a bounce buffer.
3) 64 MiB is little enough that it has no impact on the rest of the
   system.
4) Bounce buffers require large contiguous chunks of low memory. Such
   memory is precious and can be allocated only early at boot.

It turns out they are not always true:

1) Embedded systems may have more than 4GiB RAM but no IOMMU and legacy
   32-bit peripheral busses and/or DMA controllers.
2) CoCo VMs use bounce buffers for all I/O but may need substantially more
   than 64 MiB.
3) Embedded developers put as many features as possible into the available
   memory. A few dozen "missing" megabytes may limit what features can be
   implemented.
4) If CMA is available, it can allocate large continuous chunks even after
   the system has run for some time.

Goals
=====

The goal of this work is to start with a small software IO TLB at boot and
expand it later when/if needed.

Design
======

This version of the patch series retains the current slot allocation
algorithm with multiple areas to reduce lock contention, but additional
slots can be added when necessary.

These alternatives have been considered:

- Allocate and free buffers as needed using direct DMA API. This works
  quite well, except in CoCo VMs where each allocation/free requires
  decrypting/encrypting memory, which is a very expensive operation.

- Allocate a very large software IO TLB at boot, but allow to migrate pages
  to/from it (like CMA does). For systems with CMA, this would mean two big
  allocations at boot. Finding the balance between CMA, SWIOTLB and rest of
  available RAM can be challenging. More importantly, there is no clear
  benefit compared to allocating SWIOTLB memory pools from the CMA.

Implementation Constraints
==========================

These constraints have been taken into account:

1) Minimize impact on devices which do not benefit from the change.
2) Minimize the number of memory decryption/encryption operations.
3) Avoid contention on a lock or atomic variable to preserve parallel
   scalability.

Additionally, the software IO TLB code is also used to implement restricted
DMA pools. These pools are restricted to a pre-defined physical memory
region and must not use any other memory. In other words, dynamic
allocation of memory pools must be disabled for restricted DMA pools.

Data Structures
===============

The existing struct io_tlb_mem is the central type for a SWIOTLB allocator,
but it now contains multiple memory pools::

  io_tlb_mem
  +---------+   io_tlb_pool
  | SWIOTLB | 	+-------+   +-------+   +-------+
  |allocator|-->|default|-->|dynamic|-->|dynamic|-->...
  |    	    |  	|memory |   |memory |   |memory |
  +---------+ 	| pool  |   | pool  |   | pool  |
	      	+-------+   +-------+   +-------+

The allocator structure contains global state (such as flags and counters)
and structures needed to schedule new allocations. Each memory pool
contains the actual buffer slots and metadata. The first memory pool in the
list is the default memory pool allocated statically at early boot.

New memory pools are allocated from a kernel worker thread. That's because
bounce buffers are allocated when mapping a DMA buffer, which may happen in
interrupt context where large atomic allocations would probably fail.
Allocation from process context is much more likely to succeed, especially
if it can use CMA.

Nonetheless, the onset of a load spike may fill up the SWIOTLB before the
worker has a chance to run. In that case, try to allocate a small transient
memory pool to accommodate the request. If memory is encrypted and the
device cannot do DMA to encrypted memory, this buffer is allocated from the
coherent atomic DMA memory pool. Reducing the size of SWIOTLB may therefore
require increasing the size of the coherent pool with the "coherent_pool"
command-line parameter.

Performance
===========

All testing compared a vanilla v6.4-rc6 kernel with a fully patched
kernel. The kernel was booted with "swiotlb=force" to allow stress-testing
the software IO TLB on a high-performance device that would otherwise not
need it. CONFIG_DEBUG_FS was set to 'y' to match the configuration of
popular distribution kernels; it is understood that parallel workloads
suffer from contention on the recently added debugfs atomic counters.

These benchmarks were run:

- small: single-threaded I/O of 4 KiB blocks,
- big: single-threaded I/O of 64 KiB blocks,
- 4way: 4-way parallel I/O of 4 KiB blocks.

In all tested cases, the default 64 MiB SWIOTLB would be sufficient (but
wasteful). The "default" pair of columns shows performance impact when
booted with 64 MiB SWIOTLB (i.e. current state). The "growing" pair of
columns shows the impact when booted with a 1 MiB initial SWIOTLB, which
grew to 5 MiB at run time. The "var" column in the tables below is the
coefficient of variance over 5 runs of the test, the "diff" column is the
difference in read-write I/O bandwidth (MiB/s). The very first column is
the coefficient of variance in the results of the base unpatched kernel.

First, on an x86 VM against a QEMU virtio SATA driver backed by a RAM-based
block device on the host:

	base	   default	   growing
	var	var	diff	var	diff
small	1.96%	0.47%	-1.5%	0.52%	-2.2%
big	2.03%	1.35%	+0.9%	2.22%	+2.9%
4way	0.80%	0.45%	-0.7%	1.22%	<0.1%

Second, on a Raspberry Pi4 with 8G RAM and a class 10 A1 microSD card:

	base	   default	   growing
	var	var	diff	var	diff
small	1.09%	1.69%	+0.5%	2.14%	-0.2%
big	0.03%	0.28%	-0.5%	0.03%	-0.1%
4way	5.15%	2.39%	+0.2%	0.66%	<0.1%

Third, on a CoCo VM. This was a bigger system, so I also added a 24-thread
parallel I/O test:

	base	   default	   growing
	var	var	diff	var	diff
small	2.41%	6.02%	+1.1%	10.33%	+6.7%
big	9.20%	2.81%	-0.6%	16.84%	-0.2%
4way	0.86%	2.66%	-0.1%	 2.22%	-4.9%
24way	3.19%	6.19%	+4.4%	 4.08%	-5.9%

Note the increased variance of the CoCo VM, although the host was not
otherwise loaded. These are caused by the first run, which includes the
overhead of allocating additional bounce buffers and sharing them with the
hypervisor. The system was not rebooted between successive runs.

Parallel tests suffer from a reduced number of areas in the dynamically
allocated memory pools. This can be improved by allocating a larger pool
from CMA (not implemented in this series yet).

I have no good explanation for the increase in performance of the
24-thread I/O test with the default (non-growing) memory pool. Although the
difference is within variance, it seems to be real. The average bandwidth
is consistently above that of the unpatched kernel.

To sum it up:

- All workloads benefit from reduced memory footprint.
- No performance regressions have been observed with the default size of
  the software IO TLB.
- Most workloads retain their former performance even if the software IO
  TLB grows at run time.

Changelog
=========

Changes from v6:
- Rebase on dma-mapping for-next tree. Drop changes to pci-dma.c.

Changes from v5:
- Re-introduce is_swiotlb_allocated(), now again required because of commit
  b035f5a6d852 ("mm: slab: reduce the kmalloc() minimum alignment if DMA
  bouncing possible").

Changes from v4:
- Guard the code with a CONFIG_SWIOTLB_DYNAMIC option
- Remove is_swiotlb_allocated(); instead, prevent repeated initialization
  in swiotlb_init_late()
- Rename default_swiotlb_start() to default_swiotlb_base()
- Embed the default struct io_tlb_pool into struct io_tlb_mem
- Do not re-introduce struct io_tlb_pool.used

Changes from v3:
- Provide swiotlb_is_allocated() instead of extending swiotlb_is_active().
- Do not grow SWIOTLB if its address has been queried (affects Octeon).
- Do not grow SWIOTLB if a remap function is used (affects Xen PV).
- Use dma_mask instead of coherent_dma_mask.
- Replace complex ternary operators with if-else blocks.

Changes from v2:
- Complete rewrite using dynamically allocated memory pools rather
  than a list of individual buffers
- Depend on other SWIOTLB fixes (already sent)
- Fix Xen and MIPS Octeon builds

Changes from RFC:
- Track dynamic buffers per device instead of per swiotlb
- Use a linked list instead of a maple tree
- Move initialization of swiotlb fields of struct device to a
  helper function
- Rename __lookup_dyn_slot() to lookup_dyn_slot_locked()
- Introduce per-device flag if dynamic buffers are in use
- Add one more user of DMA_ATTR_MAY_SLEEP
- Add kernel-doc comments for new (and some old) code
- Properly escape '*' in dma-attributes.rst

Petr Tesarik (9):
  swiotlb: bail out of swiotlb_init_late() if swiotlb is already
    allocated
  swiotlb: make io_tlb_default_mem local to swiotlb.c
  swiotlb: add documentation and rename swiotlb_do_find_slots()
  swiotlb: separate memory pool data from other allocator data
  swiotlb: add a flag whether SWIOTLB is allowed to grow
  swiotlb: if swiotlb is full, fall back to a transient memory pool
  swiotlb: determine potential physical address limit
  swiotlb: allocate a new memory pool when existing pools are full
  swiotlb: search the software IO TLB only if the device makes use of it

 arch/arm/xen/mm.c           |  10 +-
 arch/mips/pci/pci-octeon.c  |   2 +-
 drivers/base/core.c         |   4 +-
 drivers/xen/swiotlb-xen.c   |   2 +-
 include/linux/device.h      |  10 +-
 include/linux/dma-mapping.h |   2 +
 include/linux/swiotlb.h     | 131 +++++--
 kernel/dma/Kconfig          |  13 +
 kernel/dma/direct.c         |   2 +-
 kernel/dma/swiotlb.c        | 683 ++++++++++++++++++++++++++++++++----
 mm/slab_common.c            |   5 +-
 11 files changed, 764 insertions(+), 100 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:25:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573659.898561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQipJ-000157-QE; Tue, 01 Aug 2023 06:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573659.898561; Tue, 01 Aug 2023 06: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 1qQipJ-000150-NL; Tue, 01 Aug 2023 06:25:49 +0000
Received: by outflank-mailman (input) for mailman id 573659;
 Tue, 01 Aug 2023 06: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQipH-00011l-KQ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:25:47 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d240f77-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:25:44 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFPvW14P7z9y3D6
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:14:15 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S3;
 Tue, 01 Aug 2023 07:25:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d240f77-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 1/9] swiotlb: bail out of swiotlb_init_late() if swiotlb is already allocated
Date: Tue,  1 Aug 2023 08:23:56 +0200
Message-Id: <2d7e1823e264aa1990899cc95736e78e1ec21084.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S3
X-Coremail-Antispam: 1UD129KBjvJXoW7WFWxCFyrZr4rWFyUJw18Krg_yoW8Jw1rp3
	47AFyvgFWFg3WxArW7C3ZrAFyjkaykK347urW5Wry3Jry5J34rG34UtrWa934rWFW8WF4S
	yFy5ZFyYv3W2qw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQm14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
	A2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_Cr1U
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxkF7I0En4kS14v26r1q6r43MxkF7I0Ew4C26cxK6c8Ij28IcwCF04k20xvY0x0E
	wIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74
	80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE
	2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIxAIcV
	CF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIE
	c7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU8ApnDUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

If swiotlb is allocated, immediately return 0, so callers do not have to
check io_tlb_default_mem.nslabs explicitly.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 arch/arm/xen/mm.c    | 10 ++++------
 kernel/dma/swiotlb.c |  3 +++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/arch/arm/xen/mm.c b/arch/arm/xen/mm.c
index 3d826c0b5fee..882cd70c7a2f 100644
--- a/arch/arm/xen/mm.c
+++ b/arch/arm/xen/mm.c
@@ -125,12 +125,10 @@ static int __init xen_mm_init(void)
 		return 0;
 
 	/* we can work with the default swiotlb */
-	if (!io_tlb_default_mem.nslabs) {
-		rc = swiotlb_init_late(swiotlb_size_or_default(),
-				       xen_swiotlb_gfp(), NULL);
-		if (rc < 0)
-			return rc;
-	}
+	rc = swiotlb_init_late(swiotlb_size_or_default(),
+			       xen_swiotlb_gfp(), NULL);
+	if (rc < 0)
+		return rc;
 
 	cflush.op = 0;
 	cflush.a.dev_bus_addr = 0;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 1c0a49e6685a..ee57fd9949dc 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -384,6 +384,9 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 	bool retried = false;
 	int rc = 0;
 
+	if (io_tlb_default_mem.nslabs)
+		return 0;
+
 	if (swiotlb_force_disable)
 		return 0;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:26:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573662.898572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQipW-0001aG-1y; Tue, 01 Aug 2023 06:26:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573662.898572; Tue, 01 Aug 2023 06:26:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQipV-0001a9-VY; Tue, 01 Aug 2023 06:26:01 +0000
Received: by outflank-mailman (input) for mailman id 573662;
 Tue, 01 Aug 2023 06:26: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQipV-0000ia-Ht
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:26:01 +0000
Received: from frasgout12.his.huawei.com (unknown [14.137.139.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47a66e90-3034-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:26:00 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout12.his.huawei.com (SkyGuard) with ESMTP id 4RFPsX2drjz9v7Yf
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:12:32 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S4;
 Tue, 01 Aug 2023 07:25:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47a66e90-3034-11ee-b258-6b7b168915f2
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 2/9] swiotlb: make io_tlb_default_mem local to swiotlb.c
Date: Tue,  1 Aug 2023 08:23:57 +0200
Message-Id: <32456334747b6e7f25e839c21d614815088c3c2f.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S4
X-Coremail-Antispam: 1UD129KBjvJXoW3Jr4DZw13KF1DAF48Zw13Arb_yoWxZr4Upr
	yUAFyrGF42qrn7urW3Cw1kAF1Ygwn2kay7CrySgwn8Z3WUJwn8JFWktrWYyr1rJrW8uF4f
	AFyvvryYkF47Aw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQm14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
	A2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_Cr1U
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxkF7I0En4kS14v26r1q6r43MxkF7I0Ew4C26cxK6c8Ij28IcwCF04k20xvY0x0E
	wIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74
	80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE
	2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIxAIcV
	CF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIE
	c7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU8vtCUUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

SWIOTLB implementation details should not be exposed to the rest of the
kernel. This will allow to make changes to the implementation without
modifying non-swiotlb code.

To avoid breaking existing users, provide helper functions for the few
required fields.

As a bonus, using a helper function to initialize struct device allows to
get rid of an #ifdef in driver core.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 arch/mips/pci/pci-octeon.c |  2 +-
 drivers/base/core.c        |  4 +---
 drivers/xen/swiotlb-xen.c  |  2 +-
 include/linux/swiotlb.h    | 25 +++++++++++++++++++++++-
 kernel/dma/swiotlb.c       | 39 +++++++++++++++++++++++++++++++++++++-
 mm/slab_common.c           |  5 ++---
 6 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/arch/mips/pci/pci-octeon.c b/arch/mips/pci/pci-octeon.c
index e457a18cbdc5..d19d9d456309 100644
--- a/arch/mips/pci/pci-octeon.c
+++ b/arch/mips/pci/pci-octeon.c
@@ -664,7 +664,7 @@ static int __init octeon_pci_setup(void)
 
 		/* BAR1 movable regions contiguous to cover the swiotlb */
 		octeon_bar1_pci_phys =
-			io_tlb_default_mem.start & ~((1ull << 22) - 1);
+			default_swiotlb_base() & ~((1ull << 22) - 1);
 
 		for (index = 0; index < 32; index++) {
 			union cvmx_pci_bar1_indexx bar1_index;
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 3dff5037943e..46d1d78c5beb 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -3108,9 +3108,7 @@ void device_initialize(struct device *dev)
     defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL)
 	dev->dma_coherent = dma_default_coherent;
 #endif
-#ifdef CONFIG_SWIOTLB
-	dev->dma_io_tlb_mem = &io_tlb_default_mem;
-#endif
+	swiotlb_dev_init(dev);
 }
 EXPORT_SYMBOL_GPL(device_initialize);
 
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 67aa74d20162..946bd56f0ac5 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -381,7 +381,7 @@ xen_swiotlb_sync_sg_for_device(struct device *dev, struct scatterlist *sgl,
 static int
 xen_swiotlb_dma_supported(struct device *hwdev, u64 mask)
 {
-	return xen_phys_to_dma(hwdev, io_tlb_default_mem.end - 1) <= mask;
+	return xen_phys_to_dma(hwdev, default_swiotlb_limit()) <= mask;
 }
 
 const struct dma_map_ops xen_swiotlb_dma_ops = {
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 4e52cd5e0bdc..2d453b3e7771 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -110,7 +110,6 @@ struct io_tlb_mem {
 	atomic_long_t used_hiwater;
 #endif
 };
-extern struct io_tlb_mem io_tlb_default_mem;
 
 static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
@@ -128,13 +127,22 @@ static inline bool is_swiotlb_force_bounce(struct device *dev)
 
 void swiotlb_init(bool addressing_limited, unsigned int flags);
 void __init swiotlb_exit(void);
+void swiotlb_dev_init(struct device *dev);
 size_t swiotlb_max_mapping_size(struct device *dev);
+bool is_swiotlb_allocated(void);
 bool is_swiotlb_active(struct device *dev);
 void __init swiotlb_adjust_size(unsigned long size);
+phys_addr_t default_swiotlb_base(void);
+phys_addr_t default_swiotlb_limit(void);
 #else
 static inline void swiotlb_init(bool addressing_limited, unsigned int flags)
 {
 }
+
+static inline void swiotlb_dev_init(struct device *dev)
+{
+}
+
 static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
 	return false;
@@ -151,6 +159,11 @@ static inline size_t swiotlb_max_mapping_size(struct device *dev)
 	return SIZE_MAX;
 }
 
+static inline bool is_swiotlb_allocated(void)
+{
+	return false;
+}
+
 static inline bool is_swiotlb_active(struct device *dev)
 {
 	return false;
@@ -159,6 +172,16 @@ static inline bool is_swiotlb_active(struct device *dev)
 static inline void swiotlb_adjust_size(unsigned long size)
 {
 }
+
+static inline phys_addr_t default_swiotlb_base(void)
+{
+	return 0;
+}
+
+static inline phys_addr_t default_swiotlb_limit(void)
+{
+	return 0;
+}
 #endif /* CONFIG_SWIOTLB */
 
 extern void swiotlb_print_info(void);
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index ee57fd9949dc..0840bc15fb53 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -71,7 +71,7 @@ struct io_tlb_slot {
 static bool swiotlb_force_bounce;
 static bool swiotlb_force_disable;
 
-struct io_tlb_mem io_tlb_default_mem;
+static struct io_tlb_mem io_tlb_default_mem;
 
 static unsigned long default_nslabs = IO_TLB_DEFAULT_SIZE >> IO_TLB_SHIFT;
 static unsigned long default_nareas;
@@ -489,6 +489,15 @@ void __init swiotlb_exit(void)
 	memset(mem, 0, sizeof(*mem));
 }
 
+/**
+ * swiotlb_dev_init() - initialize swiotlb fields in &struct device
+ * @dev:	Device to be initialized.
+ */
+void swiotlb_dev_init(struct device *dev)
+{
+	dev->dma_io_tlb_mem = &io_tlb_default_mem;
+}
+
 /*
  * Return the offset into a iotlb slot required to keep the device happy.
  */
@@ -953,6 +962,14 @@ size_t swiotlb_max_mapping_size(struct device *dev)
 	return ((size_t)IO_TLB_SIZE) * IO_TLB_SEGSIZE - min_align;
 }
 
+/**
+ * is_swiotlb_allocated() - check if the default software IO TLB is initialized
+ */
+bool is_swiotlb_allocated(void)
+{
+	return io_tlb_default_mem.nslabs;
+}
+
 bool is_swiotlb_active(struct device *dev)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
@@ -960,6 +977,26 @@ bool is_swiotlb_active(struct device *dev)
 	return mem && mem->nslabs;
 }
 
+/**
+ * default_swiotlb_base() - get the base address of the default SWIOTLB
+ *
+ * Get the lowest physical address used by the default software IO TLB pool.
+ */
+phys_addr_t default_swiotlb_base(void)
+{
+	return io_tlb_default_mem.start;
+}
+
+/**
+ * default_swiotlb_limit() - get the address limit of the default SWIOTLB
+ *
+ * Get the highest physical address used by the default software IO TLB pool.
+ */
+phys_addr_t default_swiotlb_limit(void)
+{
+	return io_tlb_default_mem.end - 1;
+}
+
 #ifdef CONFIG_DEBUG_FS
 
 static int io_tlb_used_get(void *data, u64 *val)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index d1555ea2981a..c639dba9a3b7 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -864,10 +864,9 @@ void __init setup_kmalloc_cache_index_table(void)
 
 static unsigned int __kmalloc_minalign(void)
 {
-#ifdef CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC
-	if (io_tlb_default_mem.nslabs)
+	if (IS_ENABLED(CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC) &&
+	    is_swiotlb_allocated())
 		return ARCH_KMALLOC_MINALIGN;
-#endif
 	return dma_get_cache_alignment();
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:26:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573664.898581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQipn-0002D5-A0; Tue, 01 Aug 2023 06:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573664.898581; Tue, 01 Aug 2023 06: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 1qQipn-0002Cy-7Q; Tue, 01 Aug 2023 06:26:19 +0000
Received: by outflank-mailman (input) for mailman id 573664;
 Tue, 01 Aug 2023 06:26:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQipm-0000ia-7a
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:26:18 +0000
Received: from frasgout12.his.huawei.com (unknown [14.137.139.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 526e480d-3034-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:26:17 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.229])
 by frasgout12.his.huawei.com (SkyGuard) with ESMTP id 4RFPst30SXz9v7cM
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:12:50 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S5;
 Tue, 01 Aug 2023 07:25:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 526e480d-3034-11ee-b258-6b7b168915f2
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 3/9] swiotlb: add documentation and rename swiotlb_do_find_slots()
Date: Tue,  1 Aug 2023 08:23:58 +0200
Message-Id: <7a92817b18ce0e1bd38967784f53bf76a43cb886.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S5
X-Coremail-Antispam: 1UD129KBjvJXoW3GrWfGF4UuFy8tF1xZF1kKrg_yoW7ur4rpF
	4rt3Z8tFs8Jr1xC39Fkw48uF1S9w4kK347uFWavryF9rnrJr9agFyktrW5XFyrJFW8uF4U
	Ja4a9r48Gr13Xr7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQm14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
	A2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_Cr1U
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxkF7I0En4kS14v26r1q6r43MxkF7I0Ew4C26cxK6c8Ij28IcwCF04k20xvY0x0E
	wIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74
	80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE
	2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIxAIcV
	CF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIE
	c7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU8Z2-UUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Add some kernel-doc comments and move the existing documentation of struct
io_tlb_slot to its correct location. The latter was forgotten in commit
942a8186eb445 ("swiotlb: move struct io_tlb_slot to swiotlb.c").

Use the opportunity to give swiotlb_do_find_slots() a more descriptive name
and make it clear how it differs from swiotlb_find_slots().

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/swiotlb.h | 15 +++++++---
 kernel/dma/swiotlb.c    | 61 +++++++++++++++++++++++++++++++++++++----
 2 files changed, 66 insertions(+), 10 deletions(-)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 2d453b3e7771..31625ae507ea 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -76,10 +76,6 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
  * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
  *		@end. For default swiotlb, this is command line adjustable via
  *		setup_io_tlb_npages.
- * @list:	The free list describing the number of free entries available
- *		from each index.
- * @orig_addr:	The original address corresponding to a mapped entry.
- * @alloc_size:	Size of the allocated buffer.
  * @debugfs:	The dentry to debugfs.
  * @late_alloc:	%true if allocated using the page allocator
  * @force_bounce: %true if swiotlb bouncing is forced
@@ -111,6 +107,17 @@ struct io_tlb_mem {
 #endif
 };
 
+/**
+ * is_swiotlb_buffer() - check if a physical address belongs to a swiotlb
+ * @dev:        Device which has mapped the buffer.
+ * @paddr:      Physical address within the DMA buffer.
+ *
+ * Check if @paddr points into a bounce buffer.
+ *
+ * Return:
+ * * %true if @paddr points into a bounce buffer
+ * * %false otherwise
+ */
 static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 0840bc15fb53..66793b59c290 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -62,6 +62,13 @@
 
 #define INVALID_PHYS_ADDR (~(phys_addr_t)0)
 
+/**
+ * struct io_tlb_slot - IO TLB slot descriptor
+ * @orig_addr:	The original address corresponding to a mapped entry.
+ * @alloc_size:	Size of the allocated buffer.
+ * @list:	The free list describing the number of free entries available
+ *		from each index.
+ */
 struct io_tlb_slot {
 	phys_addr_t orig_addr;
 	size_t alloc_size;
@@ -635,11 +642,22 @@ static void dec_used(struct io_tlb_mem *mem, unsigned int nslots)
 }
 #endif /* CONFIG_DEBUG_FS */
 
-/*
- * Find a suitable number of IO TLB entries size that will fit this request and
- * allocate a buffer from that IO TLB pool.
+/**
+ * swiotlb_area_find_slots() - search for slots in one IO TLB memory area
+ * @dev:	Device which maps the buffer.
+ * @area_index:	Index of the IO TLB memory area to be searched.
+ * @orig_addr:	Original (non-bounced) IO buffer address.
+ * @alloc_size: Total requested size of the bounce buffer,
+ *		including initial alignment padding.
+ * @alloc_align_mask:	Required alignment of the allocated buffer.
+ *
+ * Find a suitable sequence of IO TLB entries for the request and allocate
+ * a buffer from the given IO TLB memory area.
+ * This function takes care of locking.
+ *
+ * Return: Index of the first allocated slot, or -1 on error.
  */
-static int swiotlb_do_find_slots(struct device *dev, int area_index,
+static int swiotlb_area_find_slots(struct device *dev, int area_index,
 		phys_addr_t orig_addr, size_t alloc_size,
 		unsigned int alloc_align_mask)
 {
@@ -734,6 +752,19 @@ static int swiotlb_do_find_slots(struct device *dev, int area_index,
 	return slot_index;
 }
 
+/**
+ * swiotlb_find_slots() - search for slots in the whole swiotlb
+ * @dev:	Device which maps the buffer.
+ * @orig_addr:	Original (non-bounced) IO buffer address.
+ * @alloc_size: Total requested size of the bounce buffer,
+ *		including initial alignment padding.
+ * @alloc_align_mask:	Required alignment of the allocated buffer.
+ *
+ * Search through the whole software IO TLB to find a sequence of slots that
+ * match the allocation constraints.
+ *
+ * Return: Index of the first allocated slot, or -1 on error.
+ */
 static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
 		size_t alloc_size, unsigned int alloc_align_mask)
 {
@@ -742,8 +773,8 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
 	int i = start, index;
 
 	do {
-		index = swiotlb_do_find_slots(dev, i, orig_addr, alloc_size,
-					      alloc_align_mask);
+		index = swiotlb_area_find_slots(dev, i, orig_addr, alloc_size,
+						alloc_align_mask);
 		if (index >= 0)
 			return index;
 		if (++i >= mem->nareas)
@@ -755,6 +786,15 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
 
 #ifdef CONFIG_DEBUG_FS
 
+/**
+ * mem_used() - get number of used slots in an allocator
+ * @mem:	Software IO TLB allocator.
+ *
+ * The result is accurate in this version of the function, because an atomic
+ * counter is available if CONFIG_DEBUG_FS is set.
+ *
+ * Return: Number of used slots.
+ */
 static unsigned long mem_used(struct io_tlb_mem *mem)
 {
 	return atomic_long_read(&mem->total_used);
@@ -762,6 +802,15 @@ static unsigned long mem_used(struct io_tlb_mem *mem)
 
 #else /* !CONFIG_DEBUG_FS */
 
+/**
+ * mem_used() - get number of used slots in an allocator
+ * @mem:	Software IO TLB allocator.
+ *
+ * The result is not accurate, because there is no locking of individual
+ * areas.
+ *
+ * Return: Approximate number of used slots.
+ */
 static unsigned long mem_used(struct io_tlb_mem *mem)
 {
 	int i;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:26:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573671.898592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiq6-0002kP-IJ; Tue, 01 Aug 2023 06:26:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573671.898592; Tue, 01 Aug 2023 06:26: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 1qQiq6-0002kG-Eg; Tue, 01 Aug 2023 06:26:38 +0000
Received: by outflank-mailman (input) for mailman id 573671;
 Tue, 01 Aug 2023 06:26: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQiq5-00011l-08
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:26:37 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cb23a92-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:26:34 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.229])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFPwX13zFz9y3D6
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:15:08 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S6;
 Tue, 01 Aug 2023 07:25:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cb23a92-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 4/9] swiotlb: separate memory pool data from other allocator data
Date: Tue,  1 Aug 2023 08:23:59 +0200
Message-Id: <08141a83c31495a8f4cac59a20c8bd6ddd129a2f.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S6
X-Coremail-Antispam: 1UD129KBjvAXoWfCF4rZw4DCr18Wr1xWF1kGrg_yoW8Zw15Zo
	W7GFnrWw4fJryjkFW7Aan3Jr47uayqka1rAF1rZay5Xayjyr4Ygw1fta15Xw13Wr1fGFWx
	AwnxWa48WF4kAr18n29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3
	AaLaJ3UjIYCTnIWjp_UUUOl7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20EY4v20xva
	j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l82xGYIkIc2x26280x7IE14v26r126s0DM28Irc
	Ia0xkI8VCY1x0267AKxVW5JVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l
	84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4UJV
	WxJr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr1j
	6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7V
	C0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j
	6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x0262
	8vn2kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCY1x0264kExVAvwVAq07x20xyl42xK82IY
	c2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s
	026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrwCI
	42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UMI
	IF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E
	87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7VUjeOJ5UUUUU==
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Carve out memory pool specific fields from struct io_tlb_mem. The original
struct now contains shared data for the whole allocator, while the new
struct io_tlb_pool contains data that is specific to one memory pool of
(potentially) many.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/device.h  |   2 +-
 include/linux/swiotlb.h |  45 +++++++----
 kernel/dma/swiotlb.c    | 175 +++++++++++++++++++++++++---------------
 3 files changed, 140 insertions(+), 82 deletions(-)

diff --git a/include/linux/device.h b/include/linux/device.h
index bbaeabd04b0d..d9754a68ba95 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -625,7 +625,7 @@ struct device_physical_location {
  * @dma_pools:	Dma pools (if dma'ble device).
  * @dma_mem:	Internal for coherent mem override.
  * @cma_area:	Contiguous memory area for dma allocations
- * @dma_io_tlb_mem: Pointer to the swiotlb pool used.  Not for driver use.
+ * @dma_io_tlb_mem: Software IO TLB allocator.  Not for driver use.
  * @archdata:	For arch-specific additions.
  * @of_node:	Associated device tree node.
  * @fwnode:	Associated device node supplied by platform firmware.
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 31625ae507ea..247f0ab8795a 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -62,8 +62,7 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
 #ifdef CONFIG_SWIOTLB
 
 /**
- * struct io_tlb_mem - IO TLB Memory Pool Descriptor
- *
+ * struct io_tlb_pool - IO TLB memory pool descriptor
  * @start:	The start address of the swiotlb memory pool. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
@@ -73,15 +72,34 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
  * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb memory pool
  *		may be remapped in the memory encrypted case and store virtual
  *		address for bounce buffer operation.
- * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
- *		@end. For default swiotlb, this is command line adjustable via
- *		setup_io_tlb_npages.
+ * @nslabs:	The number of IO TLB slots between @start and @end. For the
+ *		default swiotlb, this can be adjusted with a boot parameter,
+ *		see setup_io_tlb_npages().
+ * @late_alloc:	%true if allocated using the page allocator.
+ * @nareas:	Number of areas in the pool.
+ * @area_nslabs: Number of slots in each area.
+ * @areas:	Array of memory area descriptors.
+ * @slots:	Array of slot descriptors.
+ */
+struct io_tlb_pool {
+	phys_addr_t start;
+	phys_addr_t end;
+	void *vaddr;
+	unsigned long nslabs;
+	bool late_alloc;
+	unsigned int nareas;
+	unsigned int area_nslabs;
+	struct io_tlb_area *areas;
+	struct io_tlb_slot *slots;
+};
+
+/**
+ * struct io_tlb_mem - Software IO TLB allocator
+ * @defpool:	Default (initial) IO TLB memory pool descriptor.
+ * @nslabs:	Total number of IO TLB slabs in all pools.
  * @debugfs:	The dentry to debugfs.
- * @late_alloc:	%true if allocated using the page allocator
  * @force_bounce: %true if swiotlb bouncing is forced
  * @for_alloc:  %true if the pool is used for memory allocation
- * @nareas:  The area number in the pool.
- * @area_nslabs: The slot number in the area.
  * @total_used:	The total number of slots in the pool that are currently used
  *		across all areas. Used only for calculating used_hiwater in
  *		debugfs.
@@ -89,18 +107,11 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
  *		in debugfs.
  */
 struct io_tlb_mem {
-	phys_addr_t start;
-	phys_addr_t end;
-	void *vaddr;
+	struct io_tlb_pool defpool;
 	unsigned long nslabs;
 	struct dentry *debugfs;
-	bool late_alloc;
 	bool force_bounce;
 	bool for_alloc;
-	unsigned int nareas;
-	unsigned int area_nslabs;
-	struct io_tlb_area *areas;
-	struct io_tlb_slot *slots;
 #ifdef CONFIG_DEBUG_FS
 	atomic_long_t total_used;
 	atomic_long_t used_hiwater;
@@ -122,7 +133,7 @@ static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 
-	return mem && paddr >= mem->start && paddr < mem->end;
+	return mem && paddr >= mem->defpool.start && paddr < mem->defpool.end;
 }
 
 static inline bool is_swiotlb_force_bounce(struct device *dev)
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 66793b59c290..6fc2606e014b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -209,7 +209,7 @@ void __init swiotlb_adjust_size(unsigned long size)
 
 void swiotlb_print_info(void)
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_pool *mem = &io_tlb_default_mem.defpool;
 
 	if (!mem->nslabs) {
 		pr_warn("No low mem\n");
@@ -238,7 +238,7 @@ static inline unsigned long nr_slots(u64 val)
  */
 void __init swiotlb_update_mem_attributes(void)
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_pool *mem = &io_tlb_default_mem.defpool;
 	unsigned long bytes;
 
 	if (!mem->nslabs || mem->late_alloc)
@@ -247,9 +247,8 @@ void __init swiotlb_update_mem_attributes(void)
 	set_memory_decrypted((unsigned long)mem->vaddr, bytes >> PAGE_SHIFT);
 }
 
-static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
-		unsigned long nslabs, unsigned int flags,
-		bool late_alloc, unsigned int nareas)
+static void swiotlb_init_io_tlb_pool(struct io_tlb_pool *mem, phys_addr_t start,
+		unsigned long nslabs, bool late_alloc, unsigned int nareas)
 {
 	void *vaddr = phys_to_virt(start);
 	unsigned long bytes = nslabs << IO_TLB_SHIFT, i;
@@ -261,8 +260,6 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 	mem->nareas = nareas;
 	mem->area_nslabs = nslabs / mem->nareas;
 
-	mem->force_bounce = swiotlb_force_bounce || (flags & SWIOTLB_FORCE);
-
 	for (i = 0; i < mem->nareas; i++) {
 		spin_lock_init(&mem->areas[i].lock);
 		mem->areas[i].index = 0;
@@ -319,7 +316,7 @@ static void __init *swiotlb_memblock_alloc(unsigned long nslabs,
 void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 		int (*remap)(void *tlb, unsigned long nslabs))
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_pool *mem = &io_tlb_default_mem.defpool;
 	unsigned long nslabs;
 	unsigned int nareas;
 	size_t alloc_size;
@@ -330,6 +327,9 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 	if (swiotlb_force_disable)
 		return;
 
+	io_tlb_default_mem.force_bounce =
+		swiotlb_force_bounce || (flags & SWIOTLB_FORCE);
+
 	if (!default_nareas)
 		swiotlb_adjust_nareas(num_possible_cpus());
 
@@ -363,8 +363,9 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 		return;
 	}
 
-	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, flags, false,
-				default_nareas);
+	swiotlb_init_io_tlb_pool(mem, __pa(tlb), nslabs, false,
+				 default_nareas);
+	io_tlb_default_mem.nslabs = nslabs;
 
 	if (flags & SWIOTLB_VERBOSE)
 		swiotlb_print_info();
@@ -383,7 +384,7 @@ void __init swiotlb_init(bool addressing_limit, unsigned int flags)
 int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 		int (*remap)(void *tlb, unsigned long nslabs))
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_pool *mem = &io_tlb_default_mem.defpool;
 	unsigned long nslabs = ALIGN(size >> IO_TLB_SHIFT, IO_TLB_SEGSIZE);
 	unsigned int nareas;
 	unsigned char *vstart = NULL;
@@ -397,6 +398,8 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 	if (swiotlb_force_disable)
 		return 0;
 
+	io_tlb_default_mem.force_bounce = swiotlb_force_bounce;
+
 	if (!default_nareas)
 		swiotlb_adjust_nareas(num_possible_cpus());
 
@@ -448,8 +451,9 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 
 	set_memory_decrypted((unsigned long)vstart,
 			     (nslabs << IO_TLB_SHIFT) >> PAGE_SHIFT);
-	swiotlb_init_io_tlb_mem(mem, virt_to_phys(vstart), nslabs, 0, true,
-				nareas);
+	swiotlb_init_io_tlb_pool(mem, virt_to_phys(vstart), nslabs, true,
+				 nareas);
+	io_tlb_default_mem.nslabs = nslabs;
 
 	swiotlb_print_info();
 	return 0;
@@ -463,7 +467,7 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 
 void __init swiotlb_exit(void)
 {
-	struct io_tlb_mem *mem = &io_tlb_default_mem;
+	struct io_tlb_pool *mem = &io_tlb_default_mem.defpool;
 	unsigned long tbl_vaddr;
 	size_t tbl_size, slots_size;
 	unsigned int area_order;
@@ -519,7 +523,7 @@ static unsigned int swiotlb_align_offset(struct device *dev, u64 addr)
 static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size,
 			   enum dma_data_direction dir)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_pool *mem = &dev->dma_io_tlb_mem->defpool;
 	int index = (tlb_addr - mem->start) >> IO_TLB_SHIFT;
 	phys_addr_t orig_addr = mem->slots[index].orig_addr;
 	size_t alloc_size = mem->slots[index].alloc_size;
@@ -601,7 +605,7 @@ static inline unsigned long get_max_slots(unsigned long boundary_mask)
 	return nr_slots(boundary_mask + 1);
 }
 
-static unsigned int wrap_area_index(struct io_tlb_mem *mem, unsigned int index)
+static unsigned int wrap_area_index(struct io_tlb_pool *mem, unsigned int index)
 {
 	if (index >= mem->area_nslabs)
 		return 0;
@@ -645,6 +649,7 @@ static void dec_used(struct io_tlb_mem *mem, unsigned int nslots)
 /**
  * swiotlb_area_find_slots() - search for slots in one IO TLB memory area
  * @dev:	Device which maps the buffer.
+ * @pool:	Memory pool to be searched.
  * @area_index:	Index of the IO TLB memory area to be searched.
  * @orig_addr:	Original (non-bounced) IO buffer address.
  * @alloc_size: Total requested size of the bounce buffer,
@@ -657,15 +662,14 @@ static void dec_used(struct io_tlb_mem *mem, unsigned int nslots)
  *
  * Return: Index of the first allocated slot, or -1 on error.
  */
-static int swiotlb_area_find_slots(struct device *dev, int area_index,
-		phys_addr_t orig_addr, size_t alloc_size,
+static int swiotlb_area_find_slots(struct device *dev, struct io_tlb_pool *pool,
+		int area_index, phys_addr_t orig_addr, size_t alloc_size,
 		unsigned int alloc_align_mask)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	struct io_tlb_area *area = mem->areas + area_index;
+	struct io_tlb_area *area = pool->areas + area_index;
 	unsigned long boundary_mask = dma_get_seg_boundary(dev);
 	dma_addr_t tbl_dma_addr =
-		phys_to_dma_unencrypted(dev, mem->start) & boundary_mask;
+		phys_to_dma_unencrypted(dev, pool->start) & boundary_mask;
 	unsigned long max_slots = get_max_slots(boundary_mask);
 	unsigned int iotlb_align_mask =
 		dma_get_min_align_mask(dev) | alloc_align_mask;
@@ -677,7 +681,7 @@ static int swiotlb_area_find_slots(struct device *dev, int area_index,
 	unsigned int slot_index;
 
 	BUG_ON(!nslots);
-	BUG_ON(area_index >= mem->nareas);
+	BUG_ON(area_index >= pool->nareas);
 
 	/*
 	 * For allocations of PAGE_SIZE or larger only look for page aligned
@@ -694,19 +698,19 @@ static int swiotlb_area_find_slots(struct device *dev, int area_index,
 	stride = (iotlb_align_mask >> IO_TLB_SHIFT) + 1;
 
 	spin_lock_irqsave(&area->lock, flags);
-	if (unlikely(nslots > mem->area_nslabs - area->used))
+	if (unlikely(nslots > pool->area_nslabs - area->used))
 		goto not_found;
 
-	slot_base = area_index * mem->area_nslabs;
+	slot_base = area_index * pool->area_nslabs;
 	index = area->index;
 
-	for (slots_checked = 0; slots_checked < mem->area_nslabs; ) {
+	for (slots_checked = 0; slots_checked < pool->area_nslabs; ) {
 		slot_index = slot_base + index;
 
 		if (orig_addr &&
 		    (slot_addr(tbl_dma_addr, slot_index) &
 		     iotlb_align_mask) != (orig_addr & iotlb_align_mask)) {
-			index = wrap_area_index(mem, index + 1);
+			index = wrap_area_index(pool, index + 1);
 			slots_checked++;
 			continue;
 		}
@@ -719,10 +723,10 @@ static int swiotlb_area_find_slots(struct device *dev, int area_index,
 		if (!iommu_is_span_boundary(slot_index, nslots,
 					    nr_slots(tbl_dma_addr),
 					    max_slots)) {
-			if (mem->slots[slot_index].list >= nslots)
+			if (pool->slots[slot_index].list >= nslots)
 				goto found;
 		}
-		index = wrap_area_index(mem, index + stride);
+		index = wrap_area_index(pool, index + stride);
 		slots_checked += stride;
 	}
 
@@ -732,58 +736,79 @@ static int swiotlb_area_find_slots(struct device *dev, int area_index,
 
 found:
 	for (i = slot_index; i < slot_index + nslots; i++) {
-		mem->slots[i].list = 0;
-		mem->slots[i].alloc_size = alloc_size - (offset +
+		pool->slots[i].list = 0;
+		pool->slots[i].alloc_size = alloc_size - (offset +
 				((i - slot_index) << IO_TLB_SHIFT));
 	}
 	for (i = slot_index - 1;
 	     io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 &&
-	     mem->slots[i].list; i--)
-		mem->slots[i].list = ++count;
+	     pool->slots[i].list; i--)
+		pool->slots[i].list = ++count;
 
 	/*
 	 * Update the indices to avoid searching in the next round.
 	 */
-	area->index = wrap_area_index(mem, index + nslots);
+	area->index = wrap_area_index(pool, index + nslots);
 	area->used += nslots;
 	spin_unlock_irqrestore(&area->lock, flags);
 
-	inc_used_and_hiwater(mem, nslots);
+	inc_used_and_hiwater(dev->dma_io_tlb_mem, nslots);
 	return slot_index;
 }
 
 /**
- * swiotlb_find_slots() - search for slots in the whole swiotlb
+ * swiotlb_pool_find_slots() - search for slots in one memory pool
  * @dev:	Device which maps the buffer.
+ * @pool:	Memory pool to be searched.
  * @orig_addr:	Original (non-bounced) IO buffer address.
  * @alloc_size: Total requested size of the bounce buffer,
  *		including initial alignment padding.
  * @alloc_align_mask:	Required alignment of the allocated buffer.
  *
- * Search through the whole software IO TLB to find a sequence of slots that
- * match the allocation constraints.
+ * Search through one memory pool to find a sequence of slots that match the
+ * allocation constraints.
  *
  * Return: Index of the first allocated slot, or -1 on error.
  */
-static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
-		size_t alloc_size, unsigned int alloc_align_mask)
+static int swiotlb_pool_find_slots(struct device *dev, struct io_tlb_pool *pool,
+		phys_addr_t orig_addr, size_t alloc_size,
+		unsigned int alloc_align_mask)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	int start = raw_smp_processor_id() & (mem->nareas - 1);
+	int start = raw_smp_processor_id() & (pool->nareas - 1);
 	int i = start, index;
 
 	do {
-		index = swiotlb_area_find_slots(dev, i, orig_addr, alloc_size,
-						alloc_align_mask);
+		index = swiotlb_area_find_slots(dev, pool, i, orig_addr,
+						alloc_size, alloc_align_mask);
 		if (index >= 0)
 			return index;
-		if (++i >= mem->nareas)
+		if (++i >= pool->nareas)
 			i = 0;
 	} while (i != start);
 
 	return -1;
 }
 
+/**
+ * swiotlb_find_slots() - search for slots in the whole swiotlb
+ * @dev:	Device which maps the buffer.
+ * @orig_addr:	Original (non-bounced) IO buffer address.
+ * @alloc_size: Total requested size of the bounce buffer,
+ *		including initial alignment padding.
+ * @alloc_align_mask:	Required alignment of the allocated buffer.
+ *
+ * Search through the whole software IO TLB to find a sequence of slots that
+ * match the allocation constraints.
+ *
+ * Return: Index of the first allocated slot, or -1 on error.
+ */
+static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
+		size_t alloc_size, unsigned int alloc_align_mask)
+{
+	return swiotlb_pool_find_slots(dev, &dev->dma_io_tlb_mem->defpool,
+				       orig_addr, alloc_size, alloc_align_mask);
+}
+
 #ifdef CONFIG_DEBUG_FS
 
 /**
@@ -802,6 +827,24 @@ static unsigned long mem_used(struct io_tlb_mem *mem)
 
 #else /* !CONFIG_DEBUG_FS */
 
+/**
+ * mem_pool_used() - get number of used slots in a memory pool
+ * @pool:	Software IO TLB memory pool.
+ *
+ * The result is not accurate, see mem_used().
+ *
+ * Return: Approximate number of used slots.
+ */
+static unsigned long mem_pool_used(struct io_tlb_pool *pool)
+{
+	int i;
+	unsigned long used = 0;
+
+	for (i = 0; i < pool->nareas; i++)
+		used += pool->areas[i].used;
+	return used;
+}
+
 /**
  * mem_used() - get number of used slots in an allocator
  * @mem:	Software IO TLB allocator.
@@ -813,12 +856,7 @@ static unsigned long mem_used(struct io_tlb_mem *mem)
  */
 static unsigned long mem_used(struct io_tlb_mem *mem)
 {
-	int i;
-	unsigned long used = 0;
-
-	for (i = 0; i < mem->nareas; i++)
-		used += mem->areas[i].used;
-	return used;
+	return mem_pool_used(&mem->defpool);
 }
 
 #endif /* CONFIG_DEBUG_FS */
@@ -830,6 +868,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 	unsigned int offset = swiotlb_align_offset(dev, orig_addr);
+	struct io_tlb_pool *pool;
 	unsigned int i;
 	int index;
 	phys_addr_t tlb_addr;
@@ -864,9 +903,10 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	 * This is needed when we sync the memory.  Then we sync the buffer if
 	 * needed.
 	 */
+	pool = &mem->defpool;
 	for (i = 0; i < nr_slots(alloc_size + offset); i++)
-		mem->slots[index + i].orig_addr = slot_addr(orig_addr, i);
-	tlb_addr = slot_addr(mem->start, index) + offset;
+		pool->slots[index + i].orig_addr = slot_addr(orig_addr, i);
+	tlb_addr = slot_addr(pool->start, index) + offset;
 	/*
 	 * When dir == DMA_FROM_DEVICE we could omit the copy from the orig
 	 * to the tlb buffer, if we knew for sure the device will
@@ -880,7 +920,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 
 static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 {
-	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_pool *mem = &dev->dma_io_tlb_mem->defpool;
 	unsigned long flags;
 	unsigned int offset = swiotlb_align_offset(dev, tlb_addr);
 	int index = (tlb_addr - offset - mem->start) >> IO_TLB_SHIFT;
@@ -924,7 +964,7 @@ static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 	area->used -= nslots;
 	spin_unlock_irqrestore(&area->lock, flags);
 
-	dec_used(mem, nslots);
+	dec_used(dev->dma_io_tlb_mem, nslots);
 }
 
 /*
@@ -1033,7 +1073,7 @@ bool is_swiotlb_active(struct device *dev)
  */
 phys_addr_t default_swiotlb_base(void)
 {
-	return io_tlb_default_mem.start;
+	return io_tlb_default_mem.defpool.start;
 }
 
 /**
@@ -1043,7 +1083,7 @@ phys_addr_t default_swiotlb_base(void)
  */
 phys_addr_t default_swiotlb_limit(void)
 {
-	return io_tlb_default_mem.end - 1;
+	return io_tlb_default_mem.defpool.end - 1;
 }
 
 #ifdef CONFIG_DEBUG_FS
@@ -1119,6 +1159,7 @@ static inline void swiotlb_create_debugfs_files(struct io_tlb_mem *mem,
 struct page *swiotlb_alloc(struct device *dev, size_t size)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_pool *pool;
 	phys_addr_t tlb_addr;
 	int index;
 
@@ -1129,7 +1170,8 @@ struct page *swiotlb_alloc(struct device *dev, size_t size)
 	if (index == -1)
 		return NULL;
 
-	tlb_addr = slot_addr(mem->start, index);
+	pool = &mem->defpool;
+	tlb_addr = slot_addr(pool->start, index);
 
 	return pfn_to_page(PFN_DOWN(tlb_addr));
 }
@@ -1166,29 +1208,34 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
 	 * to it.
 	 */
 	if (!mem) {
+		struct io_tlb_pool *pool;
+
 		mem = kzalloc(sizeof(*mem), GFP_KERNEL);
 		if (!mem)
 			return -ENOMEM;
+		pool = &mem->defpool;
 
-		mem->slots = kcalloc(nslabs, sizeof(*mem->slots), GFP_KERNEL);
-		if (!mem->slots) {
+		pool->slots = kcalloc(nslabs, sizeof(*pool->slots), GFP_KERNEL);
+		if (!pool->slots) {
 			kfree(mem);
 			return -ENOMEM;
 		}
 
-		mem->areas = kcalloc(nareas, sizeof(*mem->areas),
+		pool->areas = kcalloc(nareas, sizeof(*pool->areas),
 				GFP_KERNEL);
-		if (!mem->areas) {
-			kfree(mem->slots);
+		if (!pool->areas) {
+			kfree(pool->slots);
 			kfree(mem);
 			return -ENOMEM;
 		}
 
 		set_memory_decrypted((unsigned long)phys_to_virt(rmem->base),
 				     rmem->size >> PAGE_SHIFT);
-		swiotlb_init_io_tlb_mem(mem, rmem->base, nslabs, SWIOTLB_FORCE,
-					false, nareas);
+		swiotlb_init_io_tlb_pool(pool, rmem->base, nslabs,
+					 false, nareas);
+		mem->force_bounce = true;
 		mem->for_alloc = true;
+		mem->nslabs = nslabs;
 
 		rmem->priv = mem;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:26:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573674.898602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiqN-0003KX-Tp; Tue, 01 Aug 2023 06:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573674.898602; Tue, 01 Aug 2023 06:26:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiqN-0003KM-QF; Tue, 01 Aug 2023 06:26:55 +0000
Received: by outflank-mailman (input) for mailman id 573674;
 Tue, 01 Aug 2023 06:26: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQiqL-00011l-Vz
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:26:53 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67279f3d-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:26:52 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFPws4yyWz9y3D6
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:15:25 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S7;
 Tue, 01 Aug 2023 07:26:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67279f3d-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 5/9] swiotlb: add a flag whether SWIOTLB is allowed to grow
Date: Tue,  1 Aug 2023 08:24:00 +0200
Message-Id: <c6b051fd9ae34d42f2f4dd2ffb2c5dc968e22837.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S7
X-Coremail-Antispam: 1UD129KBjvJXoWxWrW8XF1fKr1fZr13Wr4UArb_yoWrWry5pF
	15JF4rXF42qF1xArWxCw1xGF9akw4vkrW3urWa9ry5Ar43Jw1Yqa1DKFWYq34Fqrs2qF4a
	qFyS9F1Ykr17ZwUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQC14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F
	4UJwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_
	Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x
	IIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_
	Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8c
	xan2IY04v7MxkF7I0En4kS14v26r1q6r43MxkF7I0Ew4C26cxK6c8Ij28IcwCF04k20xvY
	0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I
	0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF
	0xvE2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIx
	AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2
	jsIEc7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU8fHUDUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Add a config option (CONFIG_SWIOTLB_DYNAMIC) to enable or disable dynamic
allocation of additional bounce buffers.

If this option is set, mark the default SWIOTLB as able to grow and
restricted DMA pools as unable.

However, if the address of the default memory pool is explicitly queried,
make the default SWIOTLB also unable to grow. This is currently used to set
up PCI BAR movable regions on some Octeon MIPS boards which may not be able
to use a SWIOTLB pool elsewhere in physical memory. See octeon_pci_setup()
for more details.

If a remap function is specified, it must be also called on any dynamically
allocated pools, but there are some issues:

- The remap function may block, so it should not be called from an atomic
  context.
- There is no corresponding unremap() function if the memory pool is
  freed.
- The only in-tree implementation (xen_swiotlb_fixup) requires that the
  number of slots in the memory pool is a multiple of SWIOTLB_SEGSIZE.

Keep it simple for now and disable growing the SWIOTLB if a remap function
was specified.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/swiotlb.h |  4 ++++
 kernel/dma/Kconfig      | 13 +++++++++++++
 kernel/dma/swiotlb.c    | 13 +++++++++++++
 3 files changed, 30 insertions(+)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 247f0ab8795a..57be2a0a9fbf 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -100,6 +100,7 @@ struct io_tlb_pool {
  * @debugfs:	The dentry to debugfs.
  * @force_bounce: %true if swiotlb bouncing is forced
  * @for_alloc:  %true if the pool is used for memory allocation
+ * @can_grow:	%true if more pools can be allocated dynamically.
  * @total_used:	The total number of slots in the pool that are currently used
  *		across all areas. Used only for calculating used_hiwater in
  *		debugfs.
@@ -112,6 +113,9 @@ struct io_tlb_mem {
 	struct dentry *debugfs;
 	bool force_bounce;
 	bool for_alloc;
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	bool can_grow;
+#endif
 #ifdef CONFIG_DEBUG_FS
 	atomic_long_t total_used;
 	atomic_long_t used_hiwater;
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index 562463fe30ea..4c1e9a3c0ab6 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -90,6 +90,19 @@ config SWIOTLB
 	bool
 	select NEED_DMA_MAP_STATE
 
+config SWIOTLB_DYNAMIC
+	bool "Dynamic allocation of DMA bounce buffers"
+	default n
+	depends on SWIOTLB
+	help
+	  This enables dynamic resizing of the software IO TLB. The kernel
+	  starts with one memory pool at boot and it will allocate additional
+	  pools as needed. To reduce run-time kernel memory requirements, you
+	  may have to specify a smaller size of the initial pool using
+	  "swiotlb=" on the kernel command line.
+
+	  If unsure, say N.
+
 config DMA_BOUNCE_UNALIGNED_KMALLOC
 	bool
 	depends on SWIOTLB
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 6fc2606e014b..767c8fb36a6b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -330,6 +330,11 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 	io_tlb_default_mem.force_bounce =
 		swiotlb_force_bounce || (flags & SWIOTLB_FORCE);
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	if (!remap)
+		io_tlb_default_mem.can_grow = true;
+#endif
+
 	if (!default_nareas)
 		swiotlb_adjust_nareas(num_possible_cpus());
 
@@ -400,6 +405,11 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 
 	io_tlb_default_mem.force_bounce = swiotlb_force_bounce;
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	if (!remap)
+		io_tlb_default_mem.can_grow = true;
+#endif
+
 	if (!default_nareas)
 		swiotlb_adjust_nareas(num_possible_cpus());
 
@@ -1073,6 +1083,9 @@ bool is_swiotlb_active(struct device *dev)
  */
 phys_addr_t default_swiotlb_base(void)
 {
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	io_tlb_default_mem.can_grow = false;
+#endif
 	return io_tlb_default_mem.defpool.start;
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:27:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573679.898612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiqs-00040M-6E; Tue, 01 Aug 2023 06:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573679.898612; Tue, 01 Aug 2023 06:27:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQiqs-00040C-3G; Tue, 01 Aug 2023 06:27:26 +0000
Received: by outflank-mailman (input) for mailman id 573679;
 Tue, 01 Aug 2023 06:27:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQiqe-00011l-8x
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:27:12 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71d19bcd-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:27:10 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.228])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFPxC4BzLz9y3D4
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:15:43 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S8;
 Tue, 01 Aug 2023 07:26:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71d19bcd-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 6/9] swiotlb: if swiotlb is full, fall back to a transient memory pool
Date: Tue,  1 Aug 2023 08:24:01 +0200
Message-Id: <f2908fd6e5a76c9ed9b5597e2c19098b1259e788.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S8
X-Coremail-Antispam: 1UD129KBjvAXoW3Cr4UZr48Zr45Jw18Zw17Awb_yoW8CF1rXo
	W7uFn3Ww4fJ34UCF4rGFs7Gr47Za1kKa18AF4fuayYgayjvryYgrW7ta15X3sI9ryIkFWx
	Aw1Sqa4fWF4xArykn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3
	AaLaJ3UjIYCTnIWjp_UUUOl7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20EY4v20xva
	j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l82xGYIkIc2x26280x7IE14v26r126s0DM28Irc
	Ia0xkI8VCY1x0267AKxVW5JVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l
	84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4UJV
	WxJr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr1j
	6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7V
	C0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j
	6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x0262
	8vn2kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCY1x0264kExVAvwVAq07x20xyl42xK82IY
	c2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s
	026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrwCI
	42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UMI
	IF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E
	87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7VUjeOJ5UUUUU==
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Try to allocate a transient memory pool if no suitable slots can be found
and the respective SWIOTLB is allowed to grow. The transient pool is just
enough big for this one bounce buffer. It is inserted into a per-device
list of transient memory pools, and it is freed again when the bounce
buffer is unmapped.

Transient memory pools are kept in an RCU list. A memory barrier is
required after adding a new entry, because any address within a transient
buffer must be immediately recognized as belonging to the SWIOTLB, even if
it is passed to another CPU.

Deletion does not require any synchronization beyond RCU ordering
guarantees. After a buffer is unmapped, its physical addresses may no
longer be passed to the DMA API, so the memory range of the corresponding
stale entry in the RCU list never matches. If the memory range gets
allocated again, then it happens only after a RCU quiescent state.

Since bounce buffers can now be allocated from different pools, add a
parameter to swiotlb_alloc_pool() to let the caller know which memory pool
is used. Add swiotlb_find_pool() to find the memory pool corresponding to
an address. This function is now also used by is_swiotlb_buffer(), because
a simple boundary check is no longer sufficient.

The logic in swiotlb_alloc_tlb() is taken from __dma_direct_alloc_pages(),
simplified and enhanced to use coherent memory pools if needed.

Note that this is not the most efficient way to provide a bounce buffer,
but when a DMA buffer can't be mapped, something may (and will) actually
break. At that point it is better to make an allocation, even if it may be
an expensive operation.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/device.h      |   6 +
 include/linux/dma-mapping.h |   2 +
 include/linux/swiotlb.h     |  29 +++-
 kernel/dma/direct.c         |   2 +-
 kernel/dma/swiotlb.c        | 316 +++++++++++++++++++++++++++++++++++-
 5 files changed, 345 insertions(+), 10 deletions(-)

diff --git a/include/linux/device.h b/include/linux/device.h
index d9754a68ba95..5fd89c9d005c 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -626,6 +626,8 @@ struct device_physical_location {
  * @dma_mem:	Internal for coherent mem override.
  * @cma_area:	Contiguous memory area for dma allocations
  * @dma_io_tlb_mem: Software IO TLB allocator.  Not for driver use.
+ * @dma_io_tlb_pools:	List of transient swiotlb memory pools.
+ * @dma_io_tlb_lock:	Protects changes to the list of active pools.
  * @archdata:	For arch-specific additions.
  * @of_node:	Associated device tree node.
  * @fwnode:	Associated device node supplied by platform firmware.
@@ -731,6 +733,10 @@ struct device {
 #endif
 #ifdef CONFIG_SWIOTLB
 	struct io_tlb_mem *dma_io_tlb_mem;
+#endif
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	struct list_head dma_io_tlb_pools;
+	spinlock_t dma_io_tlb_lock;
 #endif
 	/* arch specific additions */
 	struct dev_archdata	archdata;
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index e13050eb9777..f0ccca16a0ac 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -418,6 +418,8 @@ static inline void dma_sync_sgtable_for_device(struct device *dev,
 #define dma_get_sgtable(d, t, v, h, s) dma_get_sgtable_attrs(d, t, v, h, s, 0)
 #define dma_mmap_coherent(d, v, c, h, s) dma_mmap_attrs(d, v, c, h, s, 0)
 
+bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size);
+
 static inline void *dma_alloc_coherent(struct device *dev, size_t size,
 		dma_addr_t *dma_handle, gfp_t gfp)
 {
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 57be2a0a9fbf..66867d2188ba 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -80,6 +80,9 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
  * @area_nslabs: Number of slots in each area.
  * @areas:	Array of memory area descriptors.
  * @slots:	Array of slot descriptors.
+ * @node:	Member of the IO TLB memory pool list.
+ * @rcu:	RCU head for swiotlb_dyn_free().
+ * @transient:  %true if transient memory pool.
  */
 struct io_tlb_pool {
 	phys_addr_t start;
@@ -91,6 +94,11 @@ struct io_tlb_pool {
 	unsigned int area_nslabs;
 	struct io_tlb_area *areas;
 	struct io_tlb_slot *slots;
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	struct list_head node;
+	struct rcu_head rcu;
+	bool transient;
+#endif
 };
 
 /**
@@ -122,6 +130,20 @@ struct io_tlb_mem {
 #endif
 };
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+
+struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr);
+
+#else
+
+static inline struct io_tlb_pool *swiotlb_find_pool(struct device *dev,
+						    phys_addr_t paddr)
+{
+	return &dev->dma_io_tlb_mem->defpool;
+}
+
+#endif
+
 /**
  * is_swiotlb_buffer() - check if a physical address belongs to a swiotlb
  * @dev:        Device which has mapped the buffer.
@@ -137,7 +159,12 @@ static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 
-	return mem && paddr >= mem->defpool.start && paddr < mem->defpool.end;
+	if (!mem)
+		return false;
+
+	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC))
+		return swiotlb_find_pool(dev, paddr);
+	return paddr >= mem->defpool.start && paddr < mem->defpool.end;
 }
 
 static inline bool is_swiotlb_force_bounce(struct device *dev)
diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c
index d29cade048db..9596ae1aa0da 100644
--- a/kernel/dma/direct.c
+++ b/kernel/dma/direct.c
@@ -66,7 +66,7 @@ static gfp_t dma_direct_optimal_gfp_mask(struct device *dev, u64 *phys_limit)
 	return 0;
 }
 
-static bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size)
+bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size)
 {
 	dma_addr_t dma_addr = phys_to_dma_direct(dev, phys);
 
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 767c8fb36a6b..30d0fcc3ccb9 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -35,6 +35,7 @@
 #include <linux/memblock.h>
 #include <linux/mm.h>
 #include <linux/pfn.h>
+#include <linux/rculist.h>
 #include <linux/scatterlist.h>
 #include <linux/set_memory.h>
 #include <linux/spinlock.h>
@@ -510,6 +511,211 @@ void __init swiotlb_exit(void)
 	memset(mem, 0, sizeof(*mem));
 }
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+
+/**
+ * alloc_dma_pages() - allocate pages to be used for DMA
+ * @gfp:	GFP flags for the allocation.
+ * @bytes:	Size of the buffer.
+ *
+ * Allocate pages from the buddy allocator. If successful, make the allocated
+ * pages decrypted that they can be used for DMA.
+ *
+ * Return: Decrypted pages, or %NULL on failure.
+ */
+static struct page *alloc_dma_pages(gfp_t gfp, size_t bytes)
+{
+	unsigned int order = get_order(bytes);
+	struct page *page;
+	void *vaddr;
+
+	page = alloc_pages(gfp, order);
+	if (!page)
+		return NULL;
+
+	vaddr = page_address(page);
+	if (set_memory_decrypted((unsigned long)vaddr, PFN_UP(bytes)))
+		goto error;
+	return page;
+
+error:
+	__free_pages(page, order);
+	return NULL;
+}
+
+/**
+ * swiotlb_alloc_tlb() - allocate a dynamic IO TLB buffer
+ * @dev:	Device for which a memory pool is allocated.
+ * @bytes:	Size of the buffer.
+ * @phys_limit:	Maximum allowed physical address of the buffer.
+ * @gfp:	GFP flags for the allocation.
+ *
+ * Return: Allocated pages, or %NULL on allocation failure.
+ */
+static struct page *swiotlb_alloc_tlb(struct device *dev, size_t bytes,
+		u64 phys_limit, gfp_t gfp)
+{
+	struct page *page;
+
+	/*
+	 * Allocate from the atomic pools if memory is encrypted and
+	 * the allocation is atomic, because decrypting may block.
+	 */
+	if (!gfpflags_allow_blocking(gfp) && dev && force_dma_unencrypted(dev)) {
+		void *vaddr;
+
+		if (!IS_ENABLED(CONFIG_DMA_COHERENT_POOL))
+			return NULL;
+
+		return dma_alloc_from_pool(dev, bytes, &vaddr, gfp,
+					   dma_coherent_ok);
+	}
+
+	gfp &= ~GFP_ZONEMASK;
+	if (phys_limit <= DMA_BIT_MASK(zone_dma_bits))
+		gfp |= __GFP_DMA;
+	else if (phys_limit <= DMA_BIT_MASK(32))
+		gfp |= __GFP_DMA32;
+
+	while ((page = alloc_dma_pages(gfp, bytes)) &&
+	       page_to_phys(page) + bytes - 1 > phys_limit) {
+		/* allocated, but too high */
+		__free_pages(page, get_order(bytes));
+
+		if (IS_ENABLED(CONFIG_ZONE_DMA32) &&
+		    phys_limit < DMA_BIT_MASK(64) &&
+		    !(gfp & (__GFP_DMA32 | __GFP_DMA)))
+			gfp |= __GFP_DMA32;
+		else if (IS_ENABLED(CONFIG_ZONE_DMA) &&
+			 !(gfp & __GFP_DMA))
+			gfp = (gfp & ~__GFP_DMA32) | __GFP_DMA;
+		else
+			return NULL;
+	}
+
+	return page;
+}
+
+/**
+ * swiotlb_free_tlb() - free a dynamically allocated IO TLB buffer
+ * @vaddr:	Virtual address of the buffer.
+ * @bytes:	Size of the buffer.
+ */
+static void swiotlb_free_tlb(void *vaddr, size_t bytes)
+{
+	if (IS_ENABLED(CONFIG_DMA_COHERENT_POOL) &&
+	    dma_free_from_pool(NULL, vaddr, bytes))
+		return;
+
+	/* Intentional leak if pages cannot be encrypted again. */
+	if (!set_memory_encrypted((unsigned long)vaddr, PFN_UP(bytes)))
+		__free_pages(virt_to_page(vaddr), get_order(bytes));
+}
+
+/**
+ * swiotlb_alloc_pool() - allocate a new IO TLB memory pool
+ * @dev:	Device for which a memory pool is allocated.
+ * @nslabs:	Desired number of slabs.
+ * @phys_limit:	Maximum DMA buffer physical address.
+ * @gfp:	GFP flags for the allocations.
+ *
+ * Allocate and initialize a new IO TLB memory pool.
+ *
+ * Return: New memory pool, or %NULL on allocation failure.
+ */
+static struct io_tlb_pool *swiotlb_alloc_pool(struct device *dev,
+		unsigned int nslabs, u64 phys_limit, gfp_t gfp)
+{
+	struct io_tlb_pool *pool;
+	struct page *tlb;
+	size_t pool_size;
+	size_t tlb_size;
+
+	pool_size = sizeof(*pool) + array_size(sizeof(*pool->areas), 1) +
+		array_size(sizeof(*pool->slots), nslabs);
+	pool = kzalloc(pool_size, gfp);
+	if (!pool)
+		goto error;
+	pool->areas = (void *)pool + sizeof(*pool);
+	pool->slots = (void *)pool->areas + sizeof(*pool->areas);
+
+	tlb_size = nslabs << IO_TLB_SHIFT;
+	tlb = swiotlb_alloc_tlb(dev, tlb_size, phys_limit, gfp);
+	if (!tlb)
+		goto error_tlb;
+
+	swiotlb_init_io_tlb_pool(pool, page_to_phys(tlb), nslabs, true, 1);
+	return pool;
+
+error_tlb:
+	kfree(pool);
+error:
+	return NULL;
+}
+
+/**
+ * swiotlb_dyn_free() - RCU callback to free a memory pool
+ * @rcu:	RCU head in the corresponding struct io_tlb_pool.
+ */
+static void swiotlb_dyn_free(struct rcu_head *rcu)
+{
+	struct io_tlb_pool *pool = container_of(rcu, struct io_tlb_pool, rcu);
+	size_t tlb_size = pool->end - pool->start;
+
+	swiotlb_free_tlb(pool->vaddr, tlb_size);
+	kfree(pool);
+}
+
+/**
+ * swiotlb_find_pool() - find the IO TLB pool for a physical address
+ * @dev:        Device which has mapped the DMA buffer.
+ * @paddr:      Physical address within the DMA buffer.
+ *
+ * Find the IO TLB memory pool descriptor which contains the given physical
+ * address, if any.
+ *
+ * Return: Memory pool which contains @paddr, or %NULL if none.
+ */
+struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr)
+{
+	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_pool *pool = &mem->defpool;
+
+	if (paddr >= pool->start && paddr < pool->end)
+		return pool;
+
+	/* Pairs with smp_wmb() in swiotlb_find_slots(). */
+	smp_rmb();
+
+	rcu_read_lock();
+	list_for_each_entry_rcu(pool, &dev->dma_io_tlb_pools, node) {
+		if (paddr >= pool->start && paddr < pool->end)
+			goto out;
+	}
+	pool = NULL;
+out:
+	rcu_read_unlock();
+	return pool;
+}
+
+/**
+ * swiotlb_del_pool() - remove an IO TLB pool from a device
+ * @dev:	Owning device.
+ * @pool:	Memory pool to be removed.
+ */
+static void swiotlb_del_pool(struct device *dev, struct io_tlb_pool *pool)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&dev->dma_io_tlb_lock, flags);
+	list_del_rcu(&pool->node);
+	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
+
+	call_rcu(&pool->rcu, swiotlb_dyn_free);
+}
+
+#endif	/* CONFIG_SWIOTLB_DYNAMIC */
+
 /**
  * swiotlb_dev_init() - initialize swiotlb fields in &struct device
  * @dev:	Device to be initialized.
@@ -517,6 +723,10 @@ void __init swiotlb_exit(void)
 void swiotlb_dev_init(struct device *dev)
 {
 	dev->dma_io_tlb_mem = &io_tlb_default_mem;
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	INIT_LIST_HEAD(&dev->dma_io_tlb_pools);
+	spin_lock_init(&dev->dma_io_tlb_lock);
+#endif
 }
 
 /*
@@ -533,7 +743,7 @@ static unsigned int swiotlb_align_offset(struct device *dev, u64 addr)
 static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size,
 			   enum dma_data_direction dir)
 {
-	struct io_tlb_pool *mem = &dev->dma_io_tlb_mem->defpool;
+	struct io_tlb_pool *mem = swiotlb_find_pool(dev, tlb_addr);
 	int index = (tlb_addr - mem->start) >> IO_TLB_SHIFT;
 	phys_addr_t orig_addr = mem->slots[index].orig_addr;
 	size_t alloc_size = mem->slots[index].alloc_size;
@@ -799,6 +1009,8 @@ static int swiotlb_pool_find_slots(struct device *dev, struct io_tlb_pool *pool,
 	return -1;
 }
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+
 /**
  * swiotlb_find_slots() - search for slots in the whole swiotlb
  * @dev:	Device which maps the buffer.
@@ -806,6 +1018,7 @@ static int swiotlb_pool_find_slots(struct device *dev, struct io_tlb_pool *pool,
  * @alloc_size: Total requested size of the bounce buffer,
  *		including initial alignment padding.
  * @alloc_align_mask:	Required alignment of the allocated buffer.
+ * @retpool:	Used memory pool, updated on return.
  *
  * Search through the whole software IO TLB to find a sequence of slots that
  * match the allocation constraints.
@@ -813,12 +1026,64 @@ static int swiotlb_pool_find_slots(struct device *dev, struct io_tlb_pool *pool,
  * Return: Index of the first allocated slot, or -1 on error.
  */
 static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
-		size_t alloc_size, unsigned int alloc_align_mask)
+		size_t alloc_size, unsigned int alloc_align_mask,
+		struct io_tlb_pool **retpool)
 {
-	return swiotlb_pool_find_slots(dev, &dev->dma_io_tlb_mem->defpool,
+	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
+	struct io_tlb_pool *pool;
+	unsigned long nslabs;
+	unsigned long flags;
+	u64 phys_limit;
+	int index;
+
+	pool = &mem->defpool;
+	index = swiotlb_pool_find_slots(dev, pool, orig_addr,
+					alloc_size, alloc_align_mask);
+	if (index >= 0)
+		goto found;
+
+	if (!mem->can_grow)
+		return -1;
+
+	nslabs = nr_slots(alloc_size);
+	phys_limit = min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
+	pool = swiotlb_alloc_pool(dev, nslabs, phys_limit,
+				  GFP_NOWAIT | __GFP_NOWARN);
+	if (!pool)
+		return -1;
+
+	index = swiotlb_pool_find_slots(dev, pool, orig_addr,
+					alloc_size, alloc_align_mask);
+	if (index < 0) {
+		swiotlb_dyn_free(&pool->rcu);
+		return -1;
+	}
+
+	pool->transient = true;
+	spin_lock_irqsave(&dev->dma_io_tlb_lock, flags);
+	list_add_rcu(&pool->node, &dev->dma_io_tlb_pools);
+	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
+
+	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
+	smp_wmb();
+found:
+	*retpool = pool;
+	return index;
+}
+
+#else  /* !CONFIG_SWIOTLB_DYNAMIC */
+
+static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
+		size_t alloc_size, unsigned int alloc_align_mask,
+		struct io_tlb_pool **retpool)
+{
+	*retpool = &dev->dma_io_tlb_mem->defpool;
+	return swiotlb_pool_find_slots(dev, *retpool,
 				       orig_addr, alloc_size, alloc_align_mask);
 }
 
+#endif /* CONFIG_SWIOTLB_DYNAMIC */
+
 #ifdef CONFIG_DEBUG_FS
 
 /**
@@ -899,7 +1164,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	}
 
 	index = swiotlb_find_slots(dev, orig_addr,
-				   alloc_size + offset, alloc_align_mask);
+				   alloc_size + offset, alloc_align_mask, &pool);
 	if (index == -1) {
 		if (!(attrs & DMA_ATTR_NO_WARN))
 			dev_warn_ratelimited(dev,
@@ -913,7 +1178,6 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	 * This is needed when we sync the memory.  Then we sync the buffer if
 	 * needed.
 	 */
-	pool = &mem->defpool;
 	for (i = 0; i < nr_slots(alloc_size + offset); i++)
 		pool->slots[index + i].orig_addr = slot_addr(orig_addr, i);
 	tlb_addr = slot_addr(pool->start, index) + offset;
@@ -930,7 +1194,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 
 static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 {
-	struct io_tlb_pool *mem = &dev->dma_io_tlb_mem->defpool;
+	struct io_tlb_pool *mem = swiotlb_find_pool(dev, tlb_addr);
 	unsigned long flags;
 	unsigned int offset = swiotlb_align_offset(dev, tlb_addr);
 	int index = (tlb_addr - offset - mem->start) >> IO_TLB_SHIFT;
@@ -977,6 +1241,41 @@ static void swiotlb_release_slots(struct device *dev, phys_addr_t tlb_addr)
 	dec_used(dev->dma_io_tlb_mem, nslots);
 }
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+
+/**
+ * swiotlb_del_transient() - delete a transient memory pool
+ * @dev:	Device which mapped the buffer.
+ * @tlb_addr:	Physical address within a bounce buffer.
+ *
+ * Check whether the address belongs to a transient SWIOTLB memory pool.
+ * If yes, then delete the pool.
+ *
+ * Return: %true if @tlb_addr belonged to a transient pool that was released.
+ */
+static bool swiotlb_del_transient(struct device *dev, phys_addr_t tlb_addr)
+{
+	struct io_tlb_pool *pool;
+
+	pool = swiotlb_find_pool(dev, tlb_addr);
+	if (!pool->transient)
+		return false;
+
+	dec_used(dev->dma_io_tlb_mem, pool->nslabs);
+	swiotlb_del_pool(dev, pool);
+	return true;
+}
+
+#else  /* !CONFIG_SWIOTLB_DYNAMIC */
+
+static inline bool swiotlb_del_transient(struct device *dev,
+					 phys_addr_t tlb_addr)
+{
+	return false;
+}
+
+#endif	/* CONFIG_SWIOTLB_DYNAMIC */
+
 /*
  * tlb_addr is the physical address of the bounce buffer to unmap.
  */
@@ -991,6 +1290,8 @@ void swiotlb_tbl_unmap_single(struct device *dev, phys_addr_t tlb_addr,
 	    (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL))
 		swiotlb_bounce(dev, tlb_addr, mapping_size, DMA_FROM_DEVICE);
 
+	if (swiotlb_del_transient(dev, tlb_addr))
+		return;
 	swiotlb_release_slots(dev, tlb_addr);
 }
 
@@ -1179,11 +1480,10 @@ struct page *swiotlb_alloc(struct device *dev, size_t size)
 	if (!mem)
 		return NULL;
 
-	index = swiotlb_find_slots(dev, 0, size, 0);
+	index = swiotlb_find_slots(dev, 0, size, 0, &pool);
 	if (index == -1)
 		return NULL;
 
-	pool = &mem->defpool;
 	tlb_addr = slot_addr(pool->start, index);
 
 	return pfn_to_page(PFN_DOWN(tlb_addr));
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:28:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573682.898622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQirV-0004fI-JN; Tue, 01 Aug 2023 06:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573682.898622; Tue, 01 Aug 2023 06:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQirV-0004fB-Gd; Tue, 01 Aug 2023 06:28:05 +0000
Received: by outflank-mailman (input) for mailman id 573682;
 Tue, 01 Aug 2023 06:28: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQirU-0004Ye-Sp
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:28:04 +0000
Received: from frasgout12.his.huawei.com (unknown [14.137.139.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9213a86c-3034-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:28:04 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.228])
 by frasgout12.his.huawei.com (SkyGuard) with ESMTP id 4RFPvw0y0nz9xGWm
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:14:36 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S11;
 Tue, 01 Aug 2023 07:27:25 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9213a86c-3034-11ee-b258-6b7b168915f2
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 9/9] swiotlb: search the software IO TLB only if the device makes use of it
Date: Tue,  1 Aug 2023 08:24:04 +0200
Message-Id: <adea71bd1fa8660d4c3157a562431ad8127016d4.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S11
X-Coremail-Antispam: 1UD129KBjvJXoWxZF15Ww18ZF1fWr1UtFW7XFb_yoWrXFy3pF
	98AFZ8KayqqryxCryxCF18uF1agw4vk3yfurWagrnYkr1DJwnYqF1DKrWav3s5Ar4xZF43
	tryj9wsYkr17Xr7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQv14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6r
	xdM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv6xkF7I0E14v26F4UJVW0
	owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7
	IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U
	M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2
	kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCY1x0264kExVAvwVAq07x20xyl42xK82IYc2Ij
	64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x
	8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrwCI42IY
	6xIIjxv20xvE14v26ryj6F1UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWxJr0_GcWlIxAIcV
	CF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIE
	c7CjxVAFwI0_Cr1j6rxdYxBIdaVFxhVjvjDU0xZFpf9x0JU2XdbUUUUU=
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

Skip searching the software IO TLB if a device has never used it, making
sure these devices are not affected by the introduction of multiple IO TLB
memory pools.

Additional memory barrier is required to ensure that the new value of the
flag is visible to other CPUs after mapping a new bounce buffer. For
efficiency, the flag check should be inlined, and then the memory barrier
must be moved to is_swiotlb_buffer(). However, it can replace the existing
barrier in swiotlb_find_pool(), because all callers use is_swiotlb_buffer()
first to verify that the buffer address belongs to the software IO TLB.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/device.h  |  2 ++
 include/linux/swiotlb.h |  7 ++++++-
 kernel/dma/swiotlb.c    | 14 ++++++--------
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/include/linux/device.h b/include/linux/device.h
index 5fd89c9d005c..6fc808d22bfd 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -628,6 +628,7 @@ struct device_physical_location {
  * @dma_io_tlb_mem: Software IO TLB allocator.  Not for driver use.
  * @dma_io_tlb_pools:	List of transient swiotlb memory pools.
  * @dma_io_tlb_lock:	Protects changes to the list of active pools.
+ * @dma_uses_io_tlb: %true if device has used the software IO TLB.
  * @archdata:	For arch-specific additions.
  * @of_node:	Associated device tree node.
  * @fwnode:	Associated device node supplied by platform firmware.
@@ -737,6 +738,7 @@ struct device {
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	struct list_head dma_io_tlb_pools;
 	spinlock_t dma_io_tlb_lock;
+	bool dma_uses_io_tlb;
 #endif
 	/* arch specific additions */
 	struct dev_archdata	archdata;
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 8371c92a0271..b4536626f8ff 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -172,8 +172,13 @@ static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
 	if (!mem)
 		return false;
 
-	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC))
+	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC)) {
+		/* Pairs with smp_wmb() in swiotlb_find_slots() and
+		 * swiotlb_dyn_alloc(), which modify the RCU lists.
+		 */
+		smp_rmb();
 		return swiotlb_find_pool(dev, paddr);
+	}
 	return paddr >= mem->defpool.start && paddr < mem->defpool.end;
 }
 
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index adf80dec42d7..d7eac84f975b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -730,7 +730,7 @@ static void swiotlb_dyn_alloc(struct work_struct *work)
 
 	add_mem_pool(mem, pool);
 
-	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
+	/* Pairs with smp_rmb() in is_swiotlb_buffer(). */
 	smp_wmb();
 }
 
@@ -764,11 +764,6 @@ struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr)
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 	struct io_tlb_pool *pool;
 
-	/* Pairs with smp_wmb() in swiotlb_find_slots() and
-	 * swiotlb_dyn_alloc(), which modify the RCU lists.
-	 */
-	smp_rmb();
-
 	rcu_read_lock();
 	list_for_each_entry_rcu(pool, &mem->pools, node) {
 		if (paddr >= pool->start && paddr < pool->end)
@@ -813,6 +808,7 @@ void swiotlb_dev_init(struct device *dev)
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	INIT_LIST_HEAD(&dev->dma_io_tlb_pools);
 	spin_lock_init(&dev->dma_io_tlb_lock);
+	dev->dma_uses_io_tlb = false;
 #endif
 }
 
@@ -1157,9 +1153,11 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
 	list_add_rcu(&pool->node, &dev->dma_io_tlb_pools);
 	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
 
-	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
-	smp_wmb();
 found:
+	dev->dma_uses_io_tlb = true;
+	/* Pairs with smp_rmb() in is_swiotlb_buffer() */
+	smp_wmb();
+
 	*retpool = pool;
 	return index;
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:29:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573691.898632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQit7-0005Jc-0O; Tue, 01 Aug 2023 06:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573691.898632; Tue, 01 Aug 2023 06: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 1qQit6-0005JV-SJ; Tue, 01 Aug 2023 06:29:44 +0000
Received: by outflank-mailman (input) for mailman id 573691;
 Tue, 01 Aug 2023 06:29:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQit5-0005JL-B3
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:29:43 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbda619b-3034-11ee-b258-6b7b168915f2;
 Tue, 01 Aug 2023 08:29:41 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.229])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFQ063Qhbz9y7l5
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:18:14 +0800 (CST)
Received: from [10.81.220.249] (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwC3abkdpshkKRcYAA--.13561S2;
 Tue, 01 Aug 2023 07:29:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbda619b-3034-11ee-b258-6b7b168915f2
Message-ID: <4c2f96bc-f6c0-4a04-e4fa-6ab1b5e56bd6@huaweicloud.com>
Date: Tue, 1 Aug 2023 08:28:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/9] Allow dynamic allocation of software IO TLB bounce
 buffers
Content-Language: en-US
To: =?UTF-8?B?UGV0ciBUZXNhxZnDrWs=?= <petr@tesarici.cz>,
 Christoph Hellwig <hch@lst.de>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Russell King <linux@armlinux.org.uk>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
 "H. Peter Anvin" <hpa@zytor.com>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Robin Murphy <robin.murphy@arm.com>, Christoph Lameter <cl@linux.com>,
 Pekka Enberg <penberg@kernel.org>, David Rientjes <rientjes@google.com>,
 Joonsoo Kim <iamjoonsoo.kim@lge.com>,
 Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 Hyeonggon Yoo <42.hyeyoo@gmail.com>,
 Petr Tesarik <petr.tesarik.ext@huawei.com>, Jonathan Corbet
 <corbet@lwn.net>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Hans de Goede <hdegoede@redhat.com>, James Seo <james@equiv.tech>,
 James Clark <james.clark@arm.com>, Kees Cook <keescook@chromium.org>,
 "moderated list:XEN HYPERVISOR ARM" <xen-devel@lists.xenproject.org>,
 "moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
 open list <linux-kernel@vger.kernel.org>,
 "open list:MIPS" <linux-mips@vger.kernel.org>,
 "open list:XEN SWIOTLB SUBSYSTEM" <iommu@lists.linux.dev>,
 "open list:SLAB ALLOCATOR" <linux-mm@kvack.org>,
 Roberto Sassu <roberto.sassu@huaweicloud.com>
References: <cover.1690459412.git.petr.tesarik.ext@huawei.com>
 <20230731160409.GA8991@lst.de> <20230731214618.6e7cde05@meshulam.tesarici.cz>
From: Petr Tesarik <petrtesarik@huaweicloud.com>
In-Reply-To: <20230731214618.6e7cde05@meshulam.tesarici.cz>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwC3abkdpshkKRcYAA--.13561S2
X-Coremail-Antispam: 1UD129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73
	VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjp_UUUYc7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E
	6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28Cjx
	kF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW8JVW5JwA2z4x0Y4vE2Ix0cI8I
	cVCY1x0267AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87
	Iv6xkF7I0E14v26F4UJVW0owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAK
	zVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx
	8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwAC
	I402YVCY1x02628vn2kIc2xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJV
	W8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF
	1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcV
	C0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIxAIcVCF04k26cxKx2IYs7xG6Fyj6rWUJwCI
	42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWI
	evJa73UjIFyTuYvjfUoL0eDUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

On 7/31/2023 9:46 PM, Petr TesaÅ™Ă­k wrote:
> V Mon, 31 Jul 2023 18:04:09 +0200
> Christoph Hellwig <hch@lst.de> napsĂ¡no:
> 
>> I was just going to apply this, but patch 1 seems to have a non-trivial
>> conflict with the is_swiotlb_active removal in pci-dma.c.  Can you resend
>> against the current dma-mapping for-next tree?
> 
> Sure thing, will re-send tomorrow morning.

After commit f9a38ea5172a ("x86: always initialize xen-swiotlb when
xen-pcifront is enabling") removed that call to swiotlb_init_late(),
there is nothing to patch, and the hunk can be dropped.

I have just sent v7.

Petr T



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:37:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573699.898647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQj0W-0006sZ-2o; Tue, 01 Aug 2023 06:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573699.898647; Tue, 01 Aug 2023 06:37:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQj0V-0006rL-Sj; Tue, 01 Aug 2023 06:37:23 +0000
Received: by outflank-mailman (input) for mailman id 573699;
 Tue, 01 Aug 2023 06: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQirE-00011l-Mi
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:27:48 +0000
Received: from frasgout13.his.huawei.com (unknown [14.137.139.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 879d7940-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:27:46 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFPxv14Dgz9y7l9
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:16:19 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S10;
 Tue, 01 Aug 2023 07:27:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 879d7940-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 8/9] swiotlb: allocate a new memory pool when existing pools are full
Date: Tue,  1 Aug 2023 08:24:03 +0200
Message-Id: <e6fc5b3d0695870774f01a8c2416aa5b639ee2b5.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S10
X-Coremail-Antispam: 1UD129KBjvJXoW3ZrWfGFyxAryxCr4UJFWfAFb_yoWkXrW3pF
	y5Aa47KFWUXrn7CFy2k3WUCF1a9w4vkr47CrWa9rn8Zrn7Wrn8tFyqkryYqr95JF4DZF13
	tFWYvF15uw47Zw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQv14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6r
	xdM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv6xkF7I0E14v26F4UJVW0
	owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7
	IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U
	M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2
	kIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCY1x0264kExVAvwVAq07x20xyl42xK82IYc2Ij
	64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x
	8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrwCI42IY
	6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWxJr0_GcWlIxAIcV
	CF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIE
	c7CjxVAFwI0_Cr1j6rxdYxBIdaVFxhVjvjDU0xZFpf9x0JU2XdbUUUUU=
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

When swiotlb_find_slots() cannot find suitable slots, schedule the
allocation of a new memory pool. It is not possible to allocate the pool
immediately, because this code may run in interrupt context, which is not
suitable for large memory allocations. This means that the memory pool will
be available too late for the currently requested mapping, but the stress
on the software IO TLB allocator is likely to continue, and subsequent
allocations will benefit from the additional pool eventually.

Keep all memory pools for an allocator in an RCU list to avoid locking on
the read side. For modifications, add a new spinlock to struct io_tlb_mem.

The spinlock also protects updates to the total number of slabs (nslabs in
struct io_tlb_mem), but not reads of the value. Readers may therefore
encounter a stale value, but this is not an issue:

- swiotlb_tbl_map_single() and is_swiotlb_active() only check for non-zero
  value. This is ensured by the existence of the default memory pool,
  allocated at boot.

- The exact value is used only for non-critical purposes (debugfs, kernel
  messages).

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/swiotlb.h |   8 +++
 kernel/dma/swiotlb.c    | 148 +++++++++++++++++++++++++++++++++-------
 2 files changed, 131 insertions(+), 25 deletions(-)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 9825fa14abe4..8371c92a0271 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -8,6 +8,7 @@
 #include <linux/types.h>
 #include <linux/limits.h>
 #include <linux/spinlock.h>
+#include <linux/workqueue.h>
 
 struct device;
 struct page;
@@ -104,12 +105,16 @@ struct io_tlb_pool {
 /**
  * struct io_tlb_mem - Software IO TLB allocator
  * @defpool:	Default (initial) IO TLB memory pool descriptor.
+ * @pool:	IO TLB memory pool descriptor (if not dynamic).
  * @nslabs:	Total number of IO TLB slabs in all pools.
  * @debugfs:	The dentry to debugfs.
  * @force_bounce: %true if swiotlb bouncing is forced
  * @for_alloc:  %true if the pool is used for memory allocation
  * @can_grow:	%true if more pools can be allocated dynamically.
  * @phys_limit:	Maximum allowed physical address.
+ * @lock:	Lock to synchronize changes to the list.
+ * @pools:	List of IO TLB memory pool descriptors (if dynamic).
+ * @dyn_alloc:	Dynamic IO TLB pool allocation work.
  * @total_used:	The total number of slots in the pool that are currently used
  *		across all areas. Used only for calculating used_hiwater in
  *		debugfs.
@@ -125,6 +130,9 @@ struct io_tlb_mem {
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	bool can_grow;
 	u64 phys_limit;
+	spinlock_t lock;
+	struct list_head pools;
+	struct work_struct dyn_alloc;
 #endif
 #ifdef CONFIG_DEBUG_FS
 	atomic_long_t total_used;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 0fa081defdbd..adf80dec42d7 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -79,8 +79,23 @@ struct io_tlb_slot {
 static bool swiotlb_force_bounce;
 static bool swiotlb_force_disable;
 
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+
+static void swiotlb_dyn_alloc(struct work_struct *work);
+
+static struct io_tlb_mem io_tlb_default_mem = {
+	.lock = __SPIN_LOCK_UNLOCKED(io_tlb_default_mem.lock),
+	.pools = LIST_HEAD_INIT(io_tlb_default_mem.pools),
+	.dyn_alloc = __WORK_INITIALIZER(io_tlb_default_mem.dyn_alloc,
+					swiotlb_dyn_alloc),
+};
+
+#else  /* !CONFIG_SWIOTLB_DYNAMIC */
+
 static struct io_tlb_mem io_tlb_default_mem;
 
+#endif	/* CONFIG_SWIOTLB_DYNAMIC */
+
 static unsigned long default_nslabs = IO_TLB_DEFAULT_SIZE >> IO_TLB_SHIFT;
 static unsigned long default_nareas;
 
@@ -278,6 +293,23 @@ static void swiotlb_init_io_tlb_pool(struct io_tlb_pool *mem, phys_addr_t start,
 	return;
 }
 
+/**
+ * add_mem_pool() - add a memory pool to the allocator
+ * @mem:	Software IO TLB allocator.
+ * @pool:	Memory pool to be added.
+ */
+static void add_mem_pool(struct io_tlb_mem *mem, struct io_tlb_pool *pool)
+{
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	spin_lock(&mem->lock);
+	list_add_rcu(&pool->node, &mem->pools);
+	mem->nslabs += pool->nslabs;
+	spin_unlock(&mem->lock);
+#else
+	mem->nslabs = pool->nslabs;
+#endif
+}
+
 static void __init *swiotlb_memblock_alloc(unsigned long nslabs,
 		unsigned int flags,
 		int (*remap)(void *tlb, unsigned long nslabs))
@@ -375,7 +407,7 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 
 	swiotlb_init_io_tlb_pool(mem, __pa(tlb), nslabs, false,
 				 default_nareas);
-	io_tlb_default_mem.nslabs = nslabs;
+	add_mem_pool(&io_tlb_default_mem, mem);
 
 	if (flags & SWIOTLB_VERBOSE)
 		swiotlb_print_info();
@@ -474,7 +506,7 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 			     (nslabs << IO_TLB_SHIFT) >> PAGE_SHIFT);
 	swiotlb_init_io_tlb_pool(mem, virt_to_phys(vstart), nslabs, true,
 				 nareas);
-	io_tlb_default_mem.nslabs = nslabs;
+	add_mem_pool(&io_tlb_default_mem, mem);
 
 	swiotlb_print_info();
 	return 0;
@@ -625,44 +657,83 @@ static void swiotlb_free_tlb(void *vaddr, size_t bytes)
 /**
  * swiotlb_alloc_pool() - allocate a new IO TLB memory pool
  * @dev:	Device for which a memory pool is allocated.
- * @nslabs:	Desired number of slabs.
+ * @minslabs:	Minimum number of slabs.
+ * @nslabs:	Desired (maximum) number of slabs.
+ * @nareas:	Number of areas.
  * @phys_limit:	Maximum DMA buffer physical address.
  * @gfp:	GFP flags for the allocations.
  *
- * Allocate and initialize a new IO TLB memory pool.
+ * Allocate and initialize a new IO TLB memory pool. The actual number of
+ * slabs may be reduced if allocation of @nslabs fails. If even
+ * @minslabs cannot be allocated, this function fails.
  *
  * Return: New memory pool, or %NULL on allocation failure.
  */
 static struct io_tlb_pool *swiotlb_alloc_pool(struct device *dev,
-		unsigned int nslabs, u64 phys_limit, gfp_t gfp)
+		unsigned long minslabs, unsigned long nslabs,
+		unsigned int nareas, u64 phys_limit, gfp_t gfp)
 {
 	struct io_tlb_pool *pool;
+	unsigned int slot_order;
 	struct page *tlb;
 	size_t pool_size;
 	size_t tlb_size;
 
-	pool_size = sizeof(*pool) + array_size(sizeof(*pool->areas), 1) +
-		array_size(sizeof(*pool->slots), nslabs);
+	pool_size = sizeof(*pool) + array_size(sizeof(*pool->areas), nareas);
 	pool = kzalloc(pool_size, gfp);
 	if (!pool)
 		goto error;
 	pool->areas = (void *)pool + sizeof(*pool);
-	pool->slots = (void *)pool->areas + sizeof(*pool->areas);
 
 	tlb_size = nslabs << IO_TLB_SHIFT;
-	tlb = swiotlb_alloc_tlb(dev, tlb_size, phys_limit, gfp);
-	if (!tlb)
-		goto error_tlb;
+	while (!(tlb = swiotlb_alloc_tlb(dev, tlb_size, phys_limit, gfp))) {
+		if (nslabs <= minslabs)
+			goto error_tlb;
+		nslabs = ALIGN(nslabs >> 1, IO_TLB_SEGSIZE);
+		nareas = limit_nareas(nareas, nslabs);
+		tlb_size = nslabs << IO_TLB_SHIFT;
+	}
 
-	swiotlb_init_io_tlb_pool(pool, page_to_phys(tlb), nslabs, true, 1);
+	slot_order = get_order(array_size(sizeof(*pool->slots), nslabs));
+	pool->slots = (struct io_tlb_slot *)
+		__get_free_pages(gfp, slot_order);
+	if (!pool->slots)
+		goto error_slots;
+
+	swiotlb_init_io_tlb_pool(pool, page_to_phys(tlb), nslabs, true, nareas);
 	return pool;
 
+error_slots:
+	swiotlb_free_tlb(page_address(tlb), tlb_size);
 error_tlb:
 	kfree(pool);
 error:
 	return NULL;
 }
 
+/**
+ * swiotlb_dyn_alloc() - dynamic memory pool allocation worker
+ * @work:	Pointer to dyn_alloc in struct io_tlb_mem.
+ */
+static void swiotlb_dyn_alloc(struct work_struct *work)
+{
+	struct io_tlb_mem *mem =
+		container_of(work, struct io_tlb_mem, dyn_alloc);
+	struct io_tlb_pool *pool;
+
+	pool = swiotlb_alloc_pool(NULL, IO_TLB_MIN_SLABS, default_nslabs,
+				  default_nareas, mem->phys_limit, GFP_KERNEL);
+	if (!pool) {
+		pr_warn_ratelimited("Failed to allocate new pool");
+		return;
+	}
+
+	add_mem_pool(mem, pool);
+
+	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
+	smp_wmb();
+}
+
 /**
  * swiotlb_dyn_free() - RCU callback to free a memory pool
  * @rcu:	RCU head in the corresponding struct io_tlb_pool.
@@ -670,8 +741,10 @@ static struct io_tlb_pool *swiotlb_alloc_pool(struct device *dev,
 static void swiotlb_dyn_free(struct rcu_head *rcu)
 {
 	struct io_tlb_pool *pool = container_of(rcu, struct io_tlb_pool, rcu);
+	size_t slots_size = array_size(sizeof(*pool->slots), pool->nslabs);
 	size_t tlb_size = pool->end - pool->start;
 
+	free_pages((unsigned long)pool->slots, get_order(slots_size));
 	swiotlb_free_tlb(pool->vaddr, tlb_size);
 	kfree(pool);
 }
@@ -689,15 +762,19 @@ static void swiotlb_dyn_free(struct rcu_head *rcu)
 struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
-	struct io_tlb_pool *pool = &mem->defpool;
-
-	if (paddr >= pool->start && paddr < pool->end)
-		return pool;
+	struct io_tlb_pool *pool;
 
-	/* Pairs with smp_wmb() in swiotlb_find_slots(). */
+	/* Pairs with smp_wmb() in swiotlb_find_slots() and
+	 * swiotlb_dyn_alloc(), which modify the RCU lists.
+	 */
 	smp_rmb();
 
 	rcu_read_lock();
+	list_for_each_entry_rcu(pool, &mem->pools, node) {
+		if (paddr >= pool->start && paddr < pool->end)
+			goto out;
+	}
+
 	list_for_each_entry_rcu(pool, &dev->dma_io_tlb_pools, node) {
 		if (paddr >= pool->start && paddr < pool->end)
 			goto out;
@@ -1046,18 +1123,24 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
 	u64 phys_limit;
 	int index;
 
-	pool = &mem->defpool;
-	index = swiotlb_pool_find_slots(dev, pool, orig_addr,
-					alloc_size, alloc_align_mask);
-	if (index >= 0)
-		goto found;
-
+	rcu_read_lock();
+	list_for_each_entry_rcu(pool, &mem->pools, node) {
+		index = swiotlb_pool_find_slots(dev, pool, orig_addr,
+						alloc_size, alloc_align_mask);
+		if (index >= 0) {
+			rcu_read_unlock();
+			goto found;
+		}
+	}
+	rcu_read_unlock();
 	if (!mem->can_grow)
 		return -1;
 
+	schedule_work(&mem->dyn_alloc);
+
 	nslabs = nr_slots(alloc_size);
 	phys_limit = min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
-	pool = swiotlb_alloc_pool(dev, nslabs, phys_limit,
+	pool = swiotlb_alloc_pool(dev, nslabs, nslabs, 1, phys_limit,
 				  GFP_NOWAIT | __GFP_NOWARN);
 	if (!pool)
 		return -1;
@@ -1141,7 +1224,19 @@ static unsigned long mem_pool_used(struct io_tlb_pool *pool)
  */
 static unsigned long mem_used(struct io_tlb_mem *mem)
 {
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	struct io_tlb_pool *pool;
+	unsigned long used = 0;
+
+	rcu_read_lock();
+	list_for_each_entry_rcu(pool, &mem->pools, node)
+		used += mem_pool_used(pool);
+	rcu_read_unlock();
+
+	return used;
+#else
 	return mem_pool_used(&mem->defpool);
+#endif
 }
 
 #endif /* CONFIG_DEBUG_FS */
@@ -1562,7 +1657,10 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
 					 false, nareas);
 		mem->force_bounce = true;
 		mem->for_alloc = true;
-		mem->nslabs = nslabs;
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+		spin_lock_init(&mem->lock);
+#endif
+		add_mem_pool(mem, pool);
 
 		rmem->priv = mem;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:37:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573698.898642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQj0V-0006pR-Pp; Tue, 01 Aug 2023 06:37:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573698.898642; Tue, 01 Aug 2023 06: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 1qQj0V-0006pD-Kz; Tue, 01 Aug 2023 06:37:23 +0000
Received: by outflank-mailman (input) for mailman id 573698;
 Tue, 01 Aug 2023 06: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQiqz-00011l-B4
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:27:33 +0000
Received: from frasgout12.his.huawei.com (unknown [14.137.139.154])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d028bae-3034-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:27:30 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout12.his.huawei.com (SkyGuard) with ESMTP id 4RFPvD5k2mz9ttD0
 for <xen-devel@lists.xenproject.org>; Tue,  1 Aug 2023 14:14:00 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.220.249])
 by APP1 (Coremail) with SMTP id LxC2BwCHOroapchkgAwYAA--.27948S9;
 Tue, 01 Aug 2023 07:26:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d028bae-3034-11ee-8613-37d641c3527e
From: Petr Tesarik <petrtesarik@huaweicloud.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR ARM),
	linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT),
	linux-kernel@vger.kernel.org (open list),
	linux-mips@vger.kernel.org (open list:MIPS),
	iommu@lists.linux.dev (open list:XEN SWIOTLB SUBSYSTEM),
	linux-mm@kvack.org (open list:SLAB ALLOCATOR)
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v7 7/9] swiotlb: determine potential physical address limit
Date: Tue,  1 Aug 2023 08:24:02 +0200
Message-Id: <ae33edc0be30182067d33a6e4fb20889b2db10b1.1690871004.git.petr.tesarik.ext@huawei.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCHOroapchkgAwYAA--.27948S9
X-Coremail-Antispam: 1UD129KBjvJXoWxXw4fJr4xAF4rZr4UWr4kWFg_yoW5AF4DpF
	y8Jr4FgFsFqF17ArWxCw1IyFn5Ga10k3y29rW5urnxZr17Ww13WrsrKr45trySqF4IgF4f
	uFyxua4Y9F42v37anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUQC14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F
	4UJwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_
	Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x
	IIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_
	Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8c
	xan2IY04v7MxkF7I0En4kS14v26r1q6r43MxkF7I0Ew4C26cxK6c8Ij28IcwCF04k20xvY
	0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I
	0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF
	0xvE2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIx
	AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2
	jsIEc7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU8fHUDUUUU
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

The value returned by default_swiotlb_limit() should be constant, because
it is used to decide whether DMA can be used. To allow allocating memory
pools on the fly, use the maximum possible physical address rather than the
highest address used by the default pool.

For swiotlb_init_remap(), this is either an arch-specific limit used by
memblock_alloc_low(), or the highest directly mapped physical address if
the initialization flags include SWIOTLB_ANY. For swiotlb_init_late(), the
highest address is determined by the GFP flags.

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/swiotlb.h |  2 ++
 kernel/dma/swiotlb.c    | 14 ++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 66867d2188ba..9825fa14abe4 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -109,6 +109,7 @@ struct io_tlb_pool {
  * @force_bounce: %true if swiotlb bouncing is forced
  * @for_alloc:  %true if the pool is used for memory allocation
  * @can_grow:	%true if more pools can be allocated dynamically.
+ * @phys_limit:	Maximum allowed physical address.
  * @total_used:	The total number of slots in the pool that are currently used
  *		across all areas. Used only for calculating used_hiwater in
  *		debugfs.
@@ -123,6 +124,7 @@ struct io_tlb_mem {
 	bool for_alloc;
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	bool can_grow;
+	u64 phys_limit;
 #endif
 #ifdef CONFIG_DEBUG_FS
 	atomic_long_t total_used;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 30d0fcc3ccb9..0fa081defdbd 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -334,6 +334,10 @@ void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	if (!remap)
 		io_tlb_default_mem.can_grow = true;
+	if (flags & SWIOTLB_ANY)
+		io_tlb_default_mem.phys_limit = virt_to_phys(high_memory - 1);
+	else
+		io_tlb_default_mem.phys_limit = ARCH_LOW_ADDRESS_LIMIT;
 #endif
 
 	if (!default_nareas)
@@ -409,6 +413,12 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 #ifdef CONFIG_SWIOTLB_DYNAMIC
 	if (!remap)
 		io_tlb_default_mem.can_grow = true;
+	if (IS_ENABLED(CONFIG_ZONE_DMA) && (gfp_mask & __GFP_DMA))
+		io_tlb_default_mem.phys_limit = DMA_BIT_MASK(zone_dma_bits);
+	else if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp_mask & __GFP_DMA32))
+		io_tlb_default_mem.phys_limit = DMA_BIT_MASK(32);
+	else
+		io_tlb_default_mem.phys_limit = virt_to_phys(high_memory - 1);
 #endif
 
 	if (!default_nareas)
@@ -1397,7 +1407,11 @@ phys_addr_t default_swiotlb_base(void)
  */
 phys_addr_t default_swiotlb_limit(void)
 {
+#ifdef CONFIG_SWIOTLB_DYNAMIC
+	return io_tlb_default_mem.phys_limit;
+#else
 	return io_tlb_default_mem.defpool.end - 1;
+#endif
 }
 
 #ifdef CONFIG_DEBUG_FS
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 06:38:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 06:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573707.898662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQj1J-0007uX-Fg; Tue, 01 Aug 2023 06:38:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573707.898662; Tue, 01 Aug 2023 06:38:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQj1J-0007uQ-BQ; Tue, 01 Aug 2023 06:38:13 +0000
Received: by outflank-mailman (input) for mailman id 573707;
 Tue, 01 Aug 2023 06:38:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5P4A=DS=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1qQj1I-0007hB-HJ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 06:38:12 +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 faa209d6-3035-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 08:38:10 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 49E1B6147A;
 Tue,  1 Aug 2023 06:38:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31641C433C8;
 Tue,  1 Aug 2023 06:38:07 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faa209d6-3035-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1690871887;
	bh=hDT+iR6AIZkPiUojYsTG3f1l1RIz7J/cYfpHFlOtmcY=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=ihVqg2sCDGTatgUfOTqQau2d5hVIQ7FhkJ4dQpOT6tNN864bCCltGkeZsSp33J3G6
	 67N3c/0YoQ7uttpJF1XBIQwpsMlhyfqYfn0RI23AQwNs82WxOMomf6WcFs2wg6yuwo
	 qESSyNtICw/59SiCMx7JA4bv1FkEQ3vhy5wSX/Nc=
Date: Tue, 1 Aug 2023 08:38:05 +0200
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Petr Tesarik <petrtesarik@huaweicloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>, James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	"moderated list:XEN HYPERVISOR ARM" <xen-devel@lists.xenproject.org>,
	"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:MIPS" <linux-mips@vger.kernel.org>,
	"open list:XEN SWIOTLB SUBSYSTEM" <iommu@lists.linux.dev>,
	"open list:SLAB ALLOCATOR" <linux-mm@kvack.org>,
	Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Subject: Re: [PATCH v7 0/9] Allow dynamic allocation of software IO TLB
 bounce buffers
Message-ID: <2023080144-cardigan-nerd-2bed@gregkh>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>

On Tue, Aug 01, 2023 at 08:23:55AM +0200, Petr Tesarik wrote:
> From: Petr Tesarik <petr.tesarik.ext@huawei.com>
> 
> Motivation
> ==========
> 
> The software IO TLB was designed with these assumptions:
> 
> 1) It would not be used much. Small systems (little RAM) don't need it, and
>    big systems (lots of RAM) would have modern DMA controllers and an IOMMU
>    chip to handle legacy devices.
> 2) A small fixed memory area (64 MiB by default) is sufficient to
>    handle the few cases which require a bounce buffer.
> 3) 64 MiB is little enough that it has no impact on the rest of the
>    system.
> 4) Bounce buffers require large contiguous chunks of low memory. Such
>    memory is precious and can be allocated only early at boot.
> 
> It turns out they are not always true:
> 
> 1) Embedded systems may have more than 4GiB RAM but no IOMMU and legacy
>    32-bit peripheral busses and/or DMA controllers.
> 2) CoCo VMs use bounce buffers for all I/O but may need substantially more
>    than 64 MiB.
> 3) Embedded developers put as many features as possible into the available
>    memory. A few dozen "missing" megabytes may limit what features can be
>    implemented.
> 4) If CMA is available, it can allocate large continuous chunks even after
>    the system has run for some time.
> 
> Goals
> =====
> 
> The goal of this work is to start with a small software IO TLB at boot and
> expand it later when/if needed.
> 
> Design
> ======
> 
> This version of the patch series retains the current slot allocation
> algorithm with multiple areas to reduce lock contention, but additional
> slots can be added when necessary.
> 
> These alternatives have been considered:
> 
> - Allocate and free buffers as needed using direct DMA API. This works
>   quite well, except in CoCo VMs where each allocation/free requires
>   decrypting/encrypting memory, which is a very expensive operation.
> 
> - Allocate a very large software IO TLB at boot, but allow to migrate pages
>   to/from it (like CMA does). For systems with CMA, this would mean two big
>   allocations at boot. Finding the balance between CMA, SWIOTLB and rest of
>   available RAM can be challenging. More importantly, there is no clear
>   benefit compared to allocating SWIOTLB memory pools from the CMA.
> 
> Implementation Constraints
> ==========================
> 
> These constraints have been taken into account:
> 
> 1) Minimize impact on devices which do not benefit from the change.
> 2) Minimize the number of memory decryption/encryption operations.
> 3) Avoid contention on a lock or atomic variable to preserve parallel
>    scalability.
> 
> Additionally, the software IO TLB code is also used to implement restricted
> DMA pools. These pools are restricted to a pre-defined physical memory
> region and must not use any other memory. In other words, dynamic
> allocation of memory pools must be disabled for restricted DMA pools.
> 
> Data Structures
> ===============
> 
> The existing struct io_tlb_mem is the central type for a SWIOTLB allocator,
> but it now contains multiple memory pools::
> 
>   io_tlb_mem
>   +---------+   io_tlb_pool
>   | SWIOTLB | 	+-------+   +-------+   +-------+
>   |allocator|-->|default|-->|dynamic|-->|dynamic|-->...
>   |    	    |  	|memory |   |memory |   |memory |
>   +---------+ 	| pool  |   | pool  |   | pool  |
> 	      	+-------+   +-------+   +-------+
> 
> The allocator structure contains global state (such as flags and counters)
> and structures needed to schedule new allocations. Each memory pool
> contains the actual buffer slots and metadata. The first memory pool in the
> list is the default memory pool allocated statically at early boot.
> 
> New memory pools are allocated from a kernel worker thread. That's because
> bounce buffers are allocated when mapping a DMA buffer, which may happen in
> interrupt context where large atomic allocations would probably fail.
> Allocation from process context is much more likely to succeed, especially
> if it can use CMA.
> 
> Nonetheless, the onset of a load spike may fill up the SWIOTLB before the
> worker has a chance to run. In that case, try to allocate a small transient
> memory pool to accommodate the request. If memory is encrypted and the
> device cannot do DMA to encrypted memory, this buffer is allocated from the
> coherent atomic DMA memory pool. Reducing the size of SWIOTLB may therefore
> require increasing the size of the coherent pool with the "coherent_pool"
> command-line parameter.
> 
> Performance
> ===========
> 
> All testing compared a vanilla v6.4-rc6 kernel with a fully patched
> kernel. The kernel was booted with "swiotlb=force" to allow stress-testing
> the software IO TLB on a high-performance device that would otherwise not
> need it. CONFIG_DEBUG_FS was set to 'y' to match the configuration of
> popular distribution kernels; it is understood that parallel workloads
> suffer from contention on the recently added debugfs atomic counters.
> 
> These benchmarks were run:
> 
> - small: single-threaded I/O of 4 KiB blocks,
> - big: single-threaded I/O of 64 KiB blocks,
> - 4way: 4-way parallel I/O of 4 KiB blocks.
> 
> In all tested cases, the default 64 MiB SWIOTLB would be sufficient (but
> wasteful). The "default" pair of columns shows performance impact when
> booted with 64 MiB SWIOTLB (i.e. current state). The "growing" pair of
> columns shows the impact when booted with a 1 MiB initial SWIOTLB, which
> grew to 5 MiB at run time. The "var" column in the tables below is the
> coefficient of variance over 5 runs of the test, the "diff" column is the
> difference in read-write I/O bandwidth (MiB/s). The very first column is
> the coefficient of variance in the results of the base unpatched kernel.
> 
> First, on an x86 VM against a QEMU virtio SATA driver backed by a RAM-based
> block device on the host:
> 
> 	base	   default	   growing
> 	var	var	diff	var	diff
> small	1.96%	0.47%	-1.5%	0.52%	-2.2%
> big	2.03%	1.35%	+0.9%	2.22%	+2.9%
> 4way	0.80%	0.45%	-0.7%	1.22%	<0.1%
> 
> Second, on a Raspberry Pi4 with 8G RAM and a class 10 A1 microSD card:
> 
> 	base	   default	   growing
> 	var	var	diff	var	diff
> small	1.09%	1.69%	+0.5%	2.14%	-0.2%
> big	0.03%	0.28%	-0.5%	0.03%	-0.1%
> 4way	5.15%	2.39%	+0.2%	0.66%	<0.1%
> 
> Third, on a CoCo VM. This was a bigger system, so I also added a 24-thread
> parallel I/O test:
> 
> 	base	   default	   growing
> 	var	var	diff	var	diff
> small	2.41%	6.02%	+1.1%	10.33%	+6.7%
> big	9.20%	2.81%	-0.6%	16.84%	-0.2%
> 4way	0.86%	2.66%	-0.1%	 2.22%	-4.9%
> 24way	3.19%	6.19%	+4.4%	 4.08%	-5.9%
> 
> Note the increased variance of the CoCo VM, although the host was not
> otherwise loaded. These are caused by the first run, which includes the
> overhead of allocating additional bounce buffers and sharing them with the
> hypervisor. The system was not rebooted between successive runs.
> 
> Parallel tests suffer from a reduced number of areas in the dynamically
> allocated memory pools. This can be improved by allocating a larger pool
> from CMA (not implemented in this series yet).
> 
> I have no good explanation for the increase in performance of the
> 24-thread I/O test with the default (non-growing) memory pool. Although the
> difference is within variance, it seems to be real. The average bandwidth
> is consistently above that of the unpatched kernel.
> 
> To sum it up:
> 
> - All workloads benefit from reduced memory footprint.
> - No performance regressions have been observed with the default size of
>   the software IO TLB.
> - Most workloads retain their former performance even if the software IO
>   TLB grows at run time.
> 

For the driver-core touched portions:

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:05:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:05:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573713.898672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjRd-00032r-HL; Tue, 01 Aug 2023 07:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573713.898672; Tue, 01 Aug 2023 07: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 1qQjRd-00032k-EU; Tue, 01 Aug 2023 07:05:25 +0000
Received: by outflank-mailman (input) for mailman id 573713;
 Tue, 01 Aug 2023 07: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=MJ0s=DS=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qQjRb-00032e-VD
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:05:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7d1b24a-3039-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:05:22 +0200 (CEST)
Received: from Dell.bugseng.com.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 63F004EE0737;
 Tue,  1 Aug 2023 09:05: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: c7d1b24a-3039-11ee-b259-6b7b168915f2
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] xen/lib: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Tue,  1 Aug 2023 09:05:07 +0200
Message-Id: <18adbd526ec48a83ace2d9049671d3abd2f9c45b.1690873427.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters thus addressing violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between parameter names and types used in function
declarations and the ones used in the corresponding function
definitions, thus addressing violations of MISRA C:2012 Rule 8.3
("All declarations of an object or function shall use the same names
and type qualifiers").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/lib.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 359cfdc784..8eef557dd5 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -78,7 +78,7 @@ debugtrace_printk(const char *fmt, ...) {}
 
 /* Allows us to use '%p' as general-purpose machine-word format char. */
 #define _p(_x) ((void *)(unsigned long)(_x))
-extern void printk(const char *format, ...)
+extern void printk(const char *fmt, ...)
     __attribute__ ((format (printf, 1, 2)));
 
 #define printk_once(fmt, args...)               \
@@ -91,9 +91,9 @@ extern void printk(const char *format, ...)
     }                                           \
 })
 
-extern void guest_printk(const struct domain *d, const char *format, ...)
+extern void guest_printk(const struct domain *d, const char *fmt, ...)
     __attribute__ ((format (printf, 2, 3)));
-extern void noreturn panic(const char *format, ...)
+extern void noreturn panic(const char *fmt, ...)
     __attribute__ ((format (printf, 1, 2)));
 extern int __printk_ratelimit(int ratelimit_ms, int ratelimit_burst);
 extern int printk_ratelimit(void);
@@ -173,7 +173,7 @@ extern char *print_tainted(char *str);
 extern void add_taint(unsigned int taint);
 
 struct cpu_user_regs;
-void cf_check dump_execstate(struct cpu_user_regs *);
+void cf_check dump_execstate(struct cpu_user_regs *regs);
 
 void init_constructors(void);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:20:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573718.898682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjg6-0005SY-QC; Tue, 01 Aug 2023 07:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573718.898682; Tue, 01 Aug 2023 07: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 1qQjg6-0005SR-Mg; Tue, 01 Aug 2023 07:20:22 +0000
Received: by outflank-mailman (input) for mailman id 573718;
 Tue, 01 Aug 2023 07: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQjg5-0005SL-Fr
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:20:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df36b3f0-303b-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:20:20 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C882D4EE0737;
 Tue,  1 Aug 2023 09:20: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: df36b3f0-303b-11ee-b259-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 01 Aug 2023 09:20:19 +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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 3/4] xen: rename variables and parameters to address
 MISRA C:2012 Rule 5.3
In-Reply-To: <f12b9c37-b7d0-ce03-024d-709a7fda7f26@suse.com>
References: <cover.1690810346.git.nicola.vetrini@bugseng.com>
 <8aebc67a150cb4116affdd6da755a8e82c827ffa.1690810346.git.nicola.vetrini@bugseng.com>
 <f12b9c37-b7d0-ce03-024d-709a7fda7f26@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <2e0a88de6c6d0e7ef23bf14f0f945c0f@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 31/07/2023 16:34, Jan Beulich wrote:
> On 31.07.2023 15:35, Nicola Vetrini wrote:
>> Rule 5.3 has the following headline:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope"
>> 
>> Local variables have been suitably renamed to address some violations
>> of this rule:
>> - s/cmp/c/ because it shadows the union declared at line 87.
>> - s/nodes/numa_nodes/ shadows the static variable declared at line 18.
>> - s/ctrl/controller/ because the homonymous function parameter is 
>> later
>>   read.
>> - s/baud/baud_rate/ to avoid shadowing the enum constant defined
>>   at line 1391.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/common/compat/memory.c   |  6 +++---
>>  xen/common/numa.c            | 36 
>> ++++++++++++++++++------------------
>>  xen/drivers/char/ehci-dbgp.c |  4 ++--
>>  xen/drivers/char/ns16550.c   |  4 ++--
>>  4 files changed, 25 insertions(+), 25 deletions(-)
> 
> This is an odd mix of files touched in a single patch. How about 
> splitting
> into two, one for common/ and one for drivers/?
> 

Ok, I'll do it.

>> --- a/xen/common/compat/memory.c
>> +++ b/xen/common/compat/memory.c
>> @@ -321,12 +321,12 @@ int compat_memory_op(unsigned int cmd, 
>> XEN_GUEST_HANDLE_PARAM(void) compat)
>> 
>>          case XENMEM_remove_from_physmap:
>>          {
>> -            struct compat_remove_from_physmap cmp;
>> +            struct compat_remove_from_physmap c;
> 
> The intention of the outer scope cmp is to avoid such inner scope
> ones then consuming extra stack space. This wants making part of the
> union there.
> 

Makes sense, though I've not been able to find a definition for the type
'struct compat_remove_from_physmap'.

>> --- a/xen/common/numa.c
>> +++ b/xen/common/numa.c
>> @@ -382,7 +382,7 @@ static bool __init numa_process_nodes(paddr_t 
>> start, paddr_t end)
>>   * 0 if memnodmap[] too small (or shift too small)
>>   * -1 if node overlap or lost ram (shift too big)
>>   */
>> -static int __init populate_memnodemap(const struct node *nodes,
>> +static int __init populate_memnodemap(const struct node *numa_nodes,
>>                                        unsigned int numnodes, unsigned 
>> int shift,
>>                                        const nodeid_t *nodeids)
>>  {
>> @@ -393,8 +393,8 @@ static int __init populate_memnodemap(const struct 
>> node *nodes,
>> 
>>      for ( i = 0; i < numnodes; i++ )
>>      {
>> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
>> -        unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
>> +        unsigned long spdx = paddr_to_pdx(numa_nodes[i].start);
>> +        unsigned long epdx = paddr_to_pdx(numa_nodes[i].end - 1);
>> 
>>          if ( spdx > epdx )
>>              continue;
>> @@ -440,7 +440,7 @@ static int __init 
>> allocate_cachealigned_memnodemap(void)
>>   * The LSB of all start addresses in the node map is the value of the
>>   * maximum possible shift.
>>   */
>> -static unsigned int __init extract_lsb_from_nodes(const struct node 
>> *nodes,
>> +static unsigned int __init extract_lsb_from_nodes(const struct node 
>> *numa_nodes,
>>                                                    nodeid_t numnodes,
>>                                                    const nodeid_t 
>> *nodeids)
>>  {
>> @@ -449,8 +449,8 @@ static unsigned int __init 
>> extract_lsb_from_nodes(const struct node *nodes,
>> 
>>      for ( i = 0; i < numnodes; i++ )
>>      {
>> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
>> -        unsigned long epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
>> +        unsigned long spdx = paddr_to_pdx(numa_nodes[i].start);
>> +        unsigned long epdx = paddr_to_pdx(numa_nodes[i].end - 1) + 1;
>> 
>>          if ( spdx >= epdx )
>>              continue;
>> @@ -475,10 +475,10 @@ static unsigned int __init 
>> extract_lsb_from_nodes(const struct node *nodes,
>>      return i;
>>  }
>> 
>> -int __init compute_hash_shift(const struct node *nodes,
>> +int __init compute_hash_shift(const struct node *numa_nodes,
>>                                unsigned int numnodes, const nodeid_t 
>> *nodeids)
>>  {
>> -    unsigned int shift = extract_lsb_from_nodes(nodes, numnodes, 
>> nodeids);
>> +    unsigned int shift = extract_lsb_from_nodes(numa_nodes, numnodes, 
>> nodeids);
>> 
>>      if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
>>          memnodemap = _memnodemap;
>> @@ -487,7 +487,7 @@ int __init compute_hash_shift(const struct node 
>> *nodes,
>> 
>>      printk(KERN_DEBUG "NUMA: Using %u for the hash shift\n", shift);
>> 
>> -    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
>> +    if ( populate_memnodemap(numa_nodes, numnodes, shift, nodeids) != 
>> 1 )
>>      {
>>          printk(KERN_INFO "Your memory is not aligned you need to "
>>                 "rebuild your hypervisor with a bigger NODEMAPSIZE "
>> @@ -541,7 +541,7 @@ static int __init numa_emulation(unsigned long 
>> start_pfn,
>>  {
>>      int ret;
>>      unsigned int i;
>> -    struct node nodes[MAX_NUMNODES];
>> +    struct node numa_nodes[MAX_NUMNODES];
>>      uint64_t sz = pfn_to_paddr(end_pfn - start_pfn) / numa_fake;
>> 
>>      /* Kludge needed for the hash function */
>> @@ -556,22 +556,22 @@ static int __init numa_emulation(unsigned long 
>> start_pfn,
>>          sz = x;
>>      }
>> 
>> -    memset(&nodes, 0, sizeof(nodes));
>> +    memset(&numa_nodes, 0, sizeof(numa_nodes));
>>      for ( i = 0; i < numa_fake; i++ )
>>      {
>> -        nodes[i].start = pfn_to_paddr(start_pfn) + i * sz;
>> +        numa_nodes[i].start = pfn_to_paddr(start_pfn) + i * sz;
>> 
>>          if ( i == numa_fake - 1 )
>> -            sz = pfn_to_paddr(end_pfn) - nodes[i].start;
>> +            sz = pfn_to_paddr(end_pfn) - numa_nodes[i].start;
>> 
>> -        nodes[i].end = nodes[i].start + sz;
>> +        numa_nodes[i].end = numa_nodes[i].start + sz;
>>          printk(KERN_INFO "Faking node %u at %"PRIx64"-%"PRIx64" 
>> (%"PRIu64"MB)\n",
>> -               i, nodes[i].start, nodes[i].end,
>> -               (nodes[i].end - nodes[i].start) >> 20);
>> +               i, numa_nodes[i].start, numa_nodes[i].end,
>> +               (numa_nodes[i].end - numa_nodes[i].start) >> 20);
>>          node_set_online(i);
>>      }
>> 
>> -    ret = compute_hash_shift(nodes, numa_fake, NULL);
>> +    ret = compute_hash_shift(numa_nodes, numa_fake, NULL);
>>      if ( ret < 0 )
>>      {
>>          printk(KERN_ERR "No NUMA hash function found. Emulation 
>> disabled.\n");
>> @@ -580,7 +580,7 @@ static int __init numa_emulation(unsigned long 
>> start_pfn,
>>      memnode_shift = ret;
>> 
>>      for_each_online_node ( i )
>> -        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
>> +        setup_node_bootmem(i, numa_nodes[i].start, 
>> numa_nodes[i].end);
>> 
>>      numa_init_array();
>> 
> 
> I think renaming the file-scope variable this way would be more logical
> and less risky (the way you do it it's easy to miss one place without
> the build breaking).
> 

Ok

>> --- a/xen/drivers/char/ehci-dbgp.c
>> +++ b/xen/drivers/char/ehci-dbgp.c
>> @@ -424,9 +424,9 @@ static void dbgp_issue_command(struct ehci_dbgp 
>> *dbgp, u32 ctrl,
>>           * checks to see if ACPI or some other initialization also
>>           * reset the EHCI debug port.
>>           */
>> -        u32 ctrl = readl(&dbgp->ehci_debug->control);
>> +        u32 controller = readl(&dbgp->ehci_debug->control);
> 
> Why "controller" when the field read is named "control"? Perhaps
> easiest would be to drop the variablĂ¶e altogether: It's used exactly
> once, ...
> 
>> -        if ( ctrl & DBGP_ENABLED )
>> +        if ( controller & DBGP_ENABLED )
> 
> ... here.
> 

I was fooled by the comment above its declaration. At first sight I 
don't
see anything wrong with dropping the variable, but I'll check it 
properly before submitting
a v2.

>> --- a/xen/drivers/char/ns16550.c
>> +++ b/xen/drivers/char/ns16550.c
>> @@ -1473,7 +1473,7 @@ static enum __init serial_param_type 
>> get_token(char *token, char **value)
>> 
>>  static bool __init parse_positional(struct ns16550 *uart, char **str)
>>  {
>> -    int baud;
>> +    int baud_rate;
>>      const char *conf;
>>      char *name_val_pos;
>> 
>> @@ -1504,7 +1504,7 @@ static bool __init parse_positional(struct 
>> ns16550 *uart, char **str)
>>          uart->baud = BAUD_AUTO;
>>          conf += 4;
>>      }
>> -    else if ( (baud = simple_strtoul(conf, &conf, 10)) != 0 )
>> +    else if ( (baud_rate = simple_strtoul(conf, &conf, 10)) != 0 )
>>          uart->baud = baud;
> 
> So along the lines of the earlier remark on common/numa.c: Here you're
> actively introducing a bug, by not also renaming the further use of the
> variable. Please reconsider the name change.
> 

Good catch, I'll do as suggested in v2.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:24:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:24:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573723.898691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjjq-00063I-8U; Tue, 01 Aug 2023 07:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573723.898691; Tue, 01 Aug 2023 07:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjjq-00062l-5w; Tue, 01 Aug 2023 07:24:14 +0000
Received: by outflank-mailman (input) for mailman id 573723;
 Tue, 01 Aug 2023 07:24:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQjjo-00062e-Lk
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:24:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6943176e-303c-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:24:11 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 59B7A4EE0737;
 Tue,  1 Aug 2023 09:24:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6943176e-303c-11ee-b259-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 01 Aug 2023 09:24:11 +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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>
Subject: Re: [XEN PATCH 4/4] arm/efi: address MISRA C:2012 Rule 5.3
In-Reply-To: <8165e7b1-4eef-7b13-32f3-05ff38837100@xen.org>
References: <cover.1690810346.git.nicola.vetrini@bugseng.com>
 <c153e4fbe19510ba1244024e7a4b8897c86afd3a.1690810346.git.nicola.vetrini@bugseng.com>
 <8165e7b1-4eef-7b13-32f3-05ff38837100@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <d7d2553c68b008ff54c765ffa0a0f9da@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 31/07/2023 16:01, Julien Grall wrote:
> Hi,
> 
> On 31/07/2023 14:35, Nicola Vetrini wrote:
>> Rule 5.3 has the following headline:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope"
>> 
>> The parameter 'fdt' in static function within this file is removed,
>> as they served no purpose and shadowed the homonymous variable.
> 
> I am not convinced this is a good idea to keep 'fdt' as static
> variable around because the name is too generic. Also in the future we
> may be able to remove the global static variable.
> 
> This means that most of this patch will be reverted.
> 
> So as I wrote on Matrix, I would rather prefer if the global variable
> is renamed to 'fdt_efi'.
> 
> Cheers,

Will do. Changing the parameters seemed less messy, but I'm fine either 
way, so
I'll submit a v2 with that rename.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:34:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:34:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573729.898702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjtH-0007eA-A5; Tue, 01 Aug 2023 07:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573729.898702; Tue, 01 Aug 2023 07:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjtH-0007e3-6v; Tue, 01 Aug 2023 07:33:59 +0000
Received: by outflank-mailman (input) for mailman id 573729;
 Tue, 01 Aug 2023 07:33: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQjtF-0007ds-Pu
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:33:57 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2073.outbound.protection.outlook.com [40.107.13.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5db7083-303d-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:33:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7667.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 07:33:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 07: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>
X-Inumbo-ID: c5db7083-303d-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hgBX+mx2XlbVoC4sJxuKCOEyYGozJsj3+ulWYHH2Zg4v9C2icRfJJxjt7W2IvhKEghOnZTQQnCKezSWlnnA9CzSb61DXSKp/XhUYxB9ic7uM+bvPaJVjoTbTH/vcnAJrVwEjQs0R2oD/HQhuZPvOFDan6H6Mdsx2rp2TO5/m3HvS1uuqnt7CYBpNi1ekr0S8Yd1OQrvZmLbehRVYv0lFBbHXOwumMna9nvKnZtYSxYwCRMXS4Ge2Wj0FLY7Yh+JxEsqsHyMLjIN9sEKXqZecS3Ms7no44b18aok5gyEvVr6zSRUSRGqyiHCGWIqIXQzWq/ttiSCWXNkzdqJOVg90TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7OMh/x05/42TX1QWERn3Tnku7+pQOTwbHOS3lypRLzI=;
 b=nPFJao3AeV6tqZsJjbdb360mhxiYHX58srbWMKo0HUFxw7gcfI3StirsT1vXsigLPZKUJ6tYxQR0l65ULFDaYvCP1qzg76Bx+xy195Vm+KLEUKiDwFXpHi/EjmHLSbJnjW9yIKGIFQnk+QT2FuYdTWiETDeP9UGL2xJdMf6Ff3hRtYHSW3oAxVz2StaxbX2xM+QoeiaebkZDhnNDIl7ih4JK4+Q+YubjaMWdY+ya0D92+IUONjZSwDCjbwd0Di4SCiFs4ZdFaoZkjbxr+I+MFbvJFCCQsRV1brfNIfPieG3OeDRekDXHsZmUn3GebDz9ScOTLNL+GC5YniVmTJ2GWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7OMh/x05/42TX1QWERn3Tnku7+pQOTwbHOS3lypRLzI=;
 b=dHPz7CN6BUYFT0ZgpJypWA0TNx2sIrrFp1o3kIkB/b4Qwz4Qs68sHfhuK5YRW8xn3XR4xNEeG1jVKXOVNskiPWpCa8PucpCwT/rybmUGIJjJCM5lezPm8dMdqEYQkgmq+S5qa5XFcuraYhfb/lJw3u94zwKVqhJHYID6f2YHxg/EqpDsXWCbA3lFi104MWRUq8vRrdgkcUvajIpqdvmNKQwucPpkJg8EvsHiJl3KxdExWGr7bf4bEeYOu92k0E8G45N0p6mXsGMf1hftQwWey1bNnHvDvugaNOIMGUXPlXim2v32fq6b63aPKyxB+ThSFBleCUVZDcy0+qrOckeLHw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ed6ce883-4905-fc3b-5614-48f86dc490dc@suse.com>
Date: Tue, 1 Aug 2023 09:33:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] arm32: Avoid using solaris syntax for .section directive
Content-Language: en-US
To: Khem Raj <raj.khem@gmail.com>
References: <20230801001258.555944-1-raj.khem@gmail.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801001258.555944-1-raj.khem@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0257.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7667:EE_
X-MS-Office365-Filtering-Correlation-Id: b031b435-7d3d-4aa2-e63d-08db92619794
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b+a14iDaJJLFwMILu+JzbV484USc2l5cMnhy2wbhPZ2k1Mf0py4n2Y5gM2tK+0GyS0GmAZ+1uYe+lKpdcIhr+9R2iNRBd0Capkmucbikzvwx3bjBOtzkvVTI9K9dClo21Op4x+Garoxqq8dHGz5214xYHwvmwP1a2UX/Y25+irYvmTMizwnV5iLGBMf0TCbGa1kbuUtkb4RtVX37txNT1athpQ+QmEhORfZtwIH26M0jY6N5JLTwpX/hwur9xgPeuewuOpLVrTvZ+eH7H1ROolYuE4IsDLSMgrzFXHH1+SBqEPX6GzgYvYRDj22XaB7JXJVdaxarF4xlAIs57vKQ5BCO1iF+ycBBHPKHc4qj5CtQHBDK9QvFQ8wKDUCbMODoiIZwB7NUxNsJBCg/uMtTzIQ0hfZsEsGbXoem9JNUk16wWLKnn4azOFgDqMF5V4ABJ/FQL1u/wcu7Tbdrcfqj03NEvuV/yGV//KyBea8HEJEjHTF9srBooQroQGvbPT9elWafHhcjoTAdE7R0V63rijxqaKwvED71BQ2IU9/lavx8j4m3wDJE/Dd4i4DQoAGdqxoK/v2jsj1wwVU80SB/geobBIRi5U2MnEF4SaIKIxN6XGJP30nTwKM0CARaX7Iee63RxNHKnoCaxFL7AMZ+aDNOZuaCa9h9b7wFlfyYdIE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199021)(966005)(6512007)(26005)(6506007)(6486002)(36756003)(8936002)(8676002)(5660300002)(66946007)(66556008)(66476007)(53546011)(4326008)(6916009)(2906002)(4744005)(2616005)(83380400001)(478600001)(41300700001)(31686004)(86362001)(186003)(38100700002)(316002)(31696002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEFCZnlTTXpvczhmajdrR2ZHV09uTGFuRTRjY1ZTRmdhOXlhQU1oOXkzekY3?=
 =?utf-8?B?endyMTJaMGp2a3JzQkQzcEJBWTROcXByQ0xCa0VDVFlyRmF1WXUwTk5GT0RD?=
 =?utf-8?B?NzcxdTRlZFp3NGZBbmk0K2hOMXpVUHZIaEVHelgyL2o0WnkzRUxyaE1mOU5I?=
 =?utf-8?B?Y3RVQ0pZOW1TVDNBVFBJb1hhbVhNVGV6M0VVZG1ueXJOS1ZWUXFQTG1sUit0?=
 =?utf-8?B?OVRoZGorTml1OENRdERSK0Z5VnFEN2hVeDJhRzB6NkJsZGlZNW9wV091NFF6?=
 =?utf-8?B?L1F4UDBaVVR6UDlhdkl5S3o5NmNNV25qS0ZBaUxGWUVlL01JcWFQODNKOWp3?=
 =?utf-8?B?SVVUQ2hQMnZrOGZwekJUNXl5ZkZkbjJ3aVlnbHkyZFRnZnFlU2ZQOTN6S3Jp?=
 =?utf-8?B?REY1NjIrK1loUklKQy9HdTdIRTRHRTlEby90di9GclppRXlqSE1KakQ4QjFV?=
 =?utf-8?B?ZksyWkhjQnNDOEcvN1BibHQrVFdaTXpOb3JaaklsMjEwd3pwZlBYa0NNcWxo?=
 =?utf-8?B?QUFiV0ZvS2JhOWdPajJaYmh4MmtvWVI3cGdiVXJXTzdOU3pxM0o3UXdoZ2xW?=
 =?utf-8?B?RzJLbnFYMW9ZSFk5VVQyWjJKK1hyd2gxdm5mWHlCa0c2elF2RnVrR0pKdnFZ?=
 =?utf-8?B?d1dqWWVjTlJWcDBlUW5jMzlzM3hkekFxSllyayt1M2NjQjBIN3lTZzNrZ3o0?=
 =?utf-8?B?aXFrb1VYQXZYU29RcmsrdldLdyt5bEthSFlVb0JrYW90WGRGQWkvSXY2SFQr?=
 =?utf-8?B?a3gyRzNlQUVhZEZyWDZSYUVjek1jTmJieGdtUzVxZXNQcVdGRDhBbHRDdWw1?=
 =?utf-8?B?RStCTzRweXFIZ1ZsRGJsMml2VlNZUXljVnVBVCt1UHhxUHd5bkowbkFIL044?=
 =?utf-8?B?WHBVS1BXVEt2OHQrclZDNEE2T3VGa3lyMHd0RytjRXVRM0pPSDVSYTVwQ3ls?=
 =?utf-8?B?c2Z4eUw2S3FQUHRFQlRZdVFpN29ZaUl2cTE3QlJPdzdCRDNEeWlWdHYwaS9i?=
 =?utf-8?B?NVpPS2lpakw2YnlZUldudmg3bFYyTndDb0Z4dW9MZUNYU1BFNWRWZDVtRGNE?=
 =?utf-8?B?UXJmN2VLSW9xd0RtMTk5NnBQOGpkeHhGdE4yS2E1LzJrZHVVTURKNkJtTWJE?=
 =?utf-8?B?ejFjVUZTcEVMQlRSa0VlVXFDcGNySmd5ejJUaGNVQTNPZTU1TmRZU3RaV2hW?=
 =?utf-8?B?NmZ5WlBlNFlqbmNnRit2bDBuUzIwL1ZuQkdQZlFBQkRucGVSa3hTNTJKM3hG?=
 =?utf-8?B?RC9OWWhpcUcwRTZhMFpGd1ZzMHZGOGhwSVF4bGpWRTVoeGRkT2RHV0NqOTAy?=
 =?utf-8?B?MlpoMHZxK1N4RU81a1NtdkZ4VGNSSGFPOG8wNG1Hc0IzcUl5S3BMdmVOZ3Mx?=
 =?utf-8?B?WlNiRk91NGVDaEFnUDNiRW9MakU5TzBFQzVmaUV6Sm9meDI2VU15amZPeUlQ?=
 =?utf-8?B?aGgzY3RWbHRHeTdpcmNmeHE1SnhPVlhXNVJUWTlZbHI4YjRSdkkzVzI1aVp1?=
 =?utf-8?B?aUpiRzhoeGsweis1NGpGZkk3VHdSM0lYRTE4MlJIQmFFck1aMEE3SksxMEph?=
 =?utf-8?B?ZEVsT3cxZ25ua1QxcXRLdFlLMFRFYmFkS0Y5VFptL2RUa1FBSER2dGZFdFov?=
 =?utf-8?B?YTB3cVFMSnVQM0tUQ21UNUdYRldMMWoraWkvRHBUUHIwVzYra0xDWTBieERJ?=
 =?utf-8?B?c0FCRG9lTExGYnNuYkpnYyszdTRxSGtXS2JOLzlhd3hTNzdVTkpQaFdxZFdM?=
 =?utf-8?B?QVZ1Y2lHU3h0UUxYT0RzVGY2VEtNT1hHL3diNVBlQS93L2UvTmNSbFVFbnFS?=
 =?utf-8?B?RVlNaHQ0aVJzOUkyYmEwUUIyREhadmJVT0k1ekpZVXVFVHU2TDZRTHVlbjZn?=
 =?utf-8?B?V0lNZWQ2azFCcFJUTXJ0WGZiZ01idmZkbWtqYXBtSEVmNXAwSHNuV2RDblhM?=
 =?utf-8?B?SjBsUHBQUEovUmJRTEZ0Vmd2RDRScmowNnBYa082OWJGRSsvZmdRUC9DU1h3?=
 =?utf-8?B?cUNSNVI2a2JiWTJWUlFydWlaNHMxSmdsQ29CN05OMlBTSjBJZGU5ekliNVBP?=
 =?utf-8?B?YklxUHVzOXJDL3hKQXN6dUFud2gxbkVQT2IybUVRTElRRkUvL082Z1JIRmhn?=
 =?utf-8?Q?GKL0DLTNXcBAUhxoHnS8KVzYV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b031b435-7d3d-4aa2-e63d-08db92619794
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 07:33:25.7087
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: twdrmteSuTtFOtM6B4++tyZJ7A9MFa3Zgip++r0+vYEbjbr0MvHx8s11wzp4VfZLN9V1D3FnTETWxy1sOK+LjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7667

On 01.08.2023 02:12, Khem Raj wrote:
> Assembler from binutils 2.41 rejects this syntax
> 
> .section "name"[, flags...]
> 
> where flags could be #alloc, #write, #execstr
> Switch to using ELF syntax

You mean GNU, not ELF (ELF is describing the object format, not the
syntax used). Feels almost like a regression (I'll mention that to
Alan), which likely went unnoticed so far because Linux had changed
to GNU syntax already in 5.5, to allow building with Clang's
integrated assembler. This aspect may be worth mentioning here as
well.

> .section name[, "flags"[, @type]]
> 
> [1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>

Out of curiosity - why were there four instances of the patch?
They all look largely identical; if there are differences, I haven't
spotted them.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573735.898711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjyL-0008HC-S7; Tue, 01 Aug 2023 07:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573735.898711; Tue, 01 Aug 2023 07:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQjyL-0008H5-P6; Tue, 01 Aug 2023 07:39:13 +0000
Received: by outflank-mailman (input) for mailman id 573735;
 Tue, 01 Aug 2023 07:39:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HeFo=DS=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qQjyK-0008Gz-K3
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:39:12 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20620.outbound.protection.outlook.com
 [2a01:111:f400:7eab::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8091c64d-303e-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:39:11 +0200 (CEST)
Received: from PH8PR20CA0023.namprd20.prod.outlook.com (2603:10b6:510:23c::29)
 by SA1PR12MB5614.namprd12.prod.outlook.com (2603:10b6:806:228::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Tue, 1 Aug
 2023 07:39:06 +0000
Received: from SN1PEPF000252A1.namprd05.prod.outlook.com
 (2603:10b6:510:23c:cafe::67) by PH8PR20CA0023.outlook.office365.com
 (2603:10b6:510:23c::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Tue, 1 Aug 2023 07:39:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6631.22 via Frontend Transport; Tue, 1 Aug 2023 07:39:06 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 1 Aug
 2023 02:39:00 -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.27; Tue, 1 Aug
 2023 00:38:31 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 1 Aug 2023 02:38: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: 8091c64d-303e-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KmeE+KFDCm87pSD5vNh7lTzirNh4pafilivCNyeC3/qkyTm5VJ0vnmzyqsjetjijx1aul06Vxt/itcih2d3TN+QpfkHfooGrPFwKW96+GwqClOdGbzjF7PtwEMmPchxVSyI+BvLvwlb0Zxukngj6NUmvISQT+s5fwHztXYJp8yzV0L/+U2WyGqVLyJptD8rFPQUnRdPud2RO8POGQ1c76A9LLmhV6tMCrr5jUTJzHG1dqAjijn+EDJbODrSJipyLkXuKhRZ1h7vI8GjynKvhcCnt0RphqePlfJkcLsJvexHx63u/pD4CJDppz9uEBsgAmC0F8CGMqSRlyLaEJVSqqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jrsj4tOqTxTJMHZgg+SgKKHUt7o0rHQ02LTzamC84Wk=;
 b=Zhsnx3KxKEzJznvQqtoDjVFVOUU6l9cFvl+XzxHUZm0nvzd8RnwIgypRvmzcnO95G7+l+XYWoa9seUWMb851sCkPzLcAwuXvbypIhdPEPcaN1IvdUuG1JeqFhvambZ3egHtXtxkrpXacPaEr1JdeFeezm0EiTuXaalOwrsxzOgn2fmOeGFVN60HQxoebJeVDSo4YwJIdnZ1ufZKqSoUtGUHV3s/TbWwcR2UeLr3CkO42mJgnnKZqFbJca0DMniGU9OLPIbQOmiG1j9lqmDACBjK4HcxcExYBAQt321E+g5cizyXslYekPtXzhIqgIhE0usDtCdZNGtLpzmZLXY3/Vw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jrsj4tOqTxTJMHZgg+SgKKHUt7o0rHQ02LTzamC84Wk=;
 b=NvihPH95vM3ROJnrO+RQs24fqdFGsKsASXxlpfbUPWv9AxqCCU43H/OcvV1Y+6niQJu/hQXCNtV5LV/BNZ4OLnYs7rKKOFKNRI0xn0Xs4fSFOm/dudLeL4KllV1jDajMarb/J3GR7hGreK1NMbFYdLZpw2yTvTwb8XKN7KM3HNs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <99574b63-18e5-20fe-659a-432fdaf4b5af@amd.com>
Date: Tue, 1 Aug 2023 09:38:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] arm32: Avoid using solaris syntax for .section directive
To: Khem Raj <raj.khem@gmail.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20230801002853.556437-1-raj.khem@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230801002853.556437-1-raj.khem@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|SA1PR12MB5614:EE_
X-MS-Office365-Filtering-Correlation-Id: 00d1367f-d600-42cd-a41e-08db926262c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tfeiLE3SFVTxVzURFB+P5NrSA7puGVWnKXI4H1hU5hLJtJslN/ZKUQikEz7VcC0CzKbpagXUtzszpnqqerDcR/sP+9x72fAivIYaWomVSP1euhNL2/VDhx5YPK+LSGIXwGpM1JlJAlV5I+ausbSNZe0TKDchQZFOaPkRI93KtcKvirgkHXjUqJrVhDlHdNNksXB7QYY7Wg7ONVLF5W3aaOWpci1jTzwaJYaogVIUowwxOv78xlAQeD9EzlUAi4fv3pv9mc5Nv2/EzzNxZU3vYLjOtUGm/tZugbw/1GaITGxoUweroClDFkaOnU69miSxOMbB68PG1Obh1Bky14TYYvHIbUAncsEM9GCPYQUNsfe8G08enFBddt7Bh6BXgZoIWccN9eX3UzJYrRHw27BDFRY+QjXDzwiUiZf4DQ4tf4QGIko+hqvAAK1L/2zpHYQ+szlaicOp4xJb6kd8qFXSswLcEPkt9jlj8e77/H+xzyXX6Gn2GnFpIC9mJdyhvYo6+AoTA6thVXwbBUcQQGTQtqsOsXlyuVTeVu4XwoGjJvFw9scPRKRkj/Q7+VUja9qkSx+lkkeHU2YdXV+0BnpgglhAdyxNryOD4ncSInXiU56mCbx/h9VRHzNNIiBW0idfFOZksbr5EFfUhDWz0FpqIt6VHJcPgw98By9HZhNe40MF34ijUJ6P6t8ejWD45ybgiYcY/tREoHedC9v2pNzfPVsBVm7YNeC00UjOJflFmCw/Wg+SEVn/mUM2XsChwPQ43iupywPlPcWaqneuzy9kx7G8Ua+/rks6coixnxiEFRwM51bQqJFscEAMRuWxZilQ
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:(13230028)(4636009)(346002)(39860400002)(376002)(136003)(396003)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(44832011)(966005)(47076005)(36860700001)(36756003)(40460700003)(40480700001)(2616005)(53546011)(26005)(83380400001)(336012)(186003)(426003)(70206006)(70586007)(81166007)(54906003)(110136005)(356005)(82740400003)(41300700001)(31696002)(86362001)(316002)(16576012)(5660300002)(4326008)(8676002)(8936002)(31686004)(2906002)(478600001)(142923001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 07:39:06.3961
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 00d1367f-d600-42cd-a41e-08db926262c2
X-MS-Exchange-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:
	SN1PEPF000252A1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5614

Hi,

On 01/08/2023 02:28, Khem Raj wrote:
> 
> 
> Assembler from binutils 2.41 rejects this syntax
> 
> .section "name"[, flags...]
> 
> where flags could be #alloc, #write, #execstr
s/execstr/execinstr + there is also #exclude and #tls if you want to list them all

> Switch to using ELF syntax
> 
> .section name[, "flags"[, @type]]
> 
> [1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119
I think it would be better to add a link to 2.41 docs instead or to refer to the following commit
of binutils:
4cb88cfae843 "PR11601, Solaris assembler compatibility doesn't work"


> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  xen/arch/arm/arm32/proc-v7.S | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
> index c90a31d80f..6d3d19b873 100644
> --- a/xen/arch/arm/arm32/proc-v7.S
> +++ b/xen/arch/arm/arm32/proc-v7.S
> @@ -29,7 +29,7 @@ brahma15mp_init:
>          mcr   CP32(r0, ACTLR)
>          mov   pc, lr
> 
> -        .section ".proc.info", #alloc
> +        .section .proc.info, "a"
>          .type __v7_ca15mp_proc_info, #object
>  __v7_ca15mp_proc_info:
>          .long 0x410FC0F0             /* Cortex-A15 */
> @@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
>          .long caxx_processor
>          .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
> 
> -        .section ".proc.info", #alloc
> +        .section .proc.info, "a"
>          .type __v7_ca7mp_proc_info, #object
>  __v7_ca7mp_proc_info:
>          .long 0x410FC070             /* Cortex-A7 */
> @@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
>          .long caxx_processor
>          .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
> 
> -        .section ".proc.info", #alloc
> +        .section .proc.info, "a"
>          .type __v7_brahma15mp_proc_info, #object
>  __v7_brahma15mp_proc_info:
>          .long 0x420F00F0             /* Broadcom Brahma-B15 */
> --
> 2.41.0
> 
> 

The patch looks good but a fast grep shows that ".section .dtb,#alloc" in arch/arm/dtb.S would also want
to be changed (I do not have gas 2.41, so you can check it by specifying dtb to be included in Xen image through
"menuconfig->Common Features->Absolute path to device tree blob")

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:43:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573738.898721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQk2f-0001Gh-D5; Tue, 01 Aug 2023 07:43:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573738.898721; Tue, 01 Aug 2023 07:43: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 1qQk2f-0001Ga-9m; Tue, 01 Aug 2023 07:43:41 +0000
Received: by outflank-mailman (input) for mailman id 573738;
 Tue, 01 Aug 2023 07:43: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQk2e-0001GU-2h
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:43:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7d00::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20e07f5d-303f-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:43:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7594.eurprd04.prod.outlook.com (2603:10a6:10:203::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 07:43:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 07:43:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20e07f5d-303f-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QJWTNW63zU+us13h/Zdk0Sbv1GFuLpZSEfHB3mVNBC1b7g3be2VAF9S8LCKcsp+O5V82OFQBgXSQ4Nov2Tilb1QlunMj5sPvvSQAO4eavBddEXqZr8O/4B4RW4RRXEhoW5jzM1L7KPkNAyjZgf1flSbByHfoJ1kySU0tbL6ylROsF2+IJAhJY4H7HGysAYVI4BNCVieVVurmGgH/Yu/R+5xgYbk1GzRNgjCHhFs3HwbgBVCQvaz+voycqkFIIQg2P4pEDG/pK+7onW5V+4RMjpHFwTs24a4vDdIDQ6toh8CxSpVEWWX3fB1m6hn5ma/IMvxnwCf94peje35aiyaMeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uXhRtAR1xA3P8CYtgrQJq850f6rswlouKxJcR4uEtb8=;
 b=fcdnm3/MjD2VWW0cswMbz2TAnjYga/NhwF/5DW4E3axo1d32E5FE1xd/OhFXXj1r36i+LthvmAG32QnuXLnAf1NiIm81hAkloZZvT4dYvzEPxRp65F+dwWGUYxdqLPXR458KpvmAk7AZxHk8CXHvuvw3DUAsk/TLtxO8NQKKdBsdQOgOIVNKn7C2p95kaUCTihit6qgc6/DmcWj7KaafK+dn3AW8/k8ZsLZrVMA2YrIM29HoQXcEqsWWbcy2H+2X/iHn0PP9As9MHH/Y/XE/W5yFtUQ/75MXOPFYbzMS+4fwbyPBMWdZeT1MR6LSYIbeDfCQIEP46Vvc/j7YUqC78Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uXhRtAR1xA3P8CYtgrQJq850f6rswlouKxJcR4uEtb8=;
 b=X0LyQ+z5UIswZN/9Z3kCwJroACxPwxbJFbL0Mzangt/Kq8EazS/akq0yjs8Sy6oRwUTZz+5N2zyLsYAY3OxZNYxVamJeAL6L4kwkykhz6o56KPQuuUW/GPemaVRFawPul1QAr5/goYNEkZ3n8LnoaBgIPBMFkN4fDRcI+7K/GbprMd3H0AKGKE+afUnLSxJJa8qgYGA2k+pAgG5YKbN4s54KysENMALkdRDXsc7jZXpphpoWZ97XA6yrbSDn4glA4WrY9VLEzotdp+/DmJtpe8JsU/RtAbZYnJd+cJRI0ZZxhL6rQME0rcRPH8CyeKyaW4y46sa7iusrLqJONPdnTA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
Date: Tue, 1 Aug 2023 09:43:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-14-Henry.Wang@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801034419.2047541-14-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::21) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7594:EE_
X-MS-Office365-Filtering-Correlation-Id: f3ef1de1-fa11-4fef-cad8-08db926303cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VwM+kfzJ09gTRK3IlMxkWh0JB9jajoRKknPCOcb57K+kMmuQFebTB5Jtv3WvSN0iuBMRaPEPkPS3O82egWtfqDN8Rg+UeiYZOzSNhotXM7+hqHTmUh8iEEf7sAYTVWg5Cp7ZHcMqnM5RCiVYLaDO00l/5nAWQPUG9pskzQQGeVbdpRvPIp2iGPav2nzDRIh/ivhnc7qIyqluQ9ZWfmVZ3Q2Hk7gjUsCrsuknhN33HA9AiXBZhT1DJem7FFGZ/vNao+HD3lslDnrSQn07hzQSLCFfNyJE4eZYHCgMbxJDt5bFvw1/FB8pctp79EtetNtJ2b7mJFpw3jJpMsBtK4k8SQXQU7smV39/1AQrQYzE0MbjTsSwOvG8PtdtQtiztqZAq3UiVXPWD4lMq+YOfx43pnZeMR5VIi8yzOYst/83VKv+aimOFIyVDYcR2ePzP9WgmUNNl28mOe42FNvoU9F64OrXI+3usyVhpH3fK+exKcb5pVcnCVuPHZKEL1PwJo8agQ/iA5t5QttE5lpIwbghgmjjZUgu5goyoXTCikeGPDLFl9TO8jxJr6XJha4hcHbMp5gZ41qbEJHWp6doFeeS3WXZfEABBFQy21bu/b8IpjiykEvNW/ihvlCjgysle3MoFBoY8+mz3LtpWlbOq/H8Jw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(376002)(136003)(366004)(346002)(451199021)(38100700002)(6506007)(5660300002)(53546011)(4326008)(6916009)(66946007)(66556008)(66476007)(54906003)(6512007)(478600001)(2906002)(4744005)(2616005)(8936002)(8676002)(6486002)(41300700001)(36756003)(31686004)(31696002)(186003)(316002)(86362001)(6666004)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUorOGVvZmNmQ0IreExUSTlJalF3QWpxTnBuU2xJa09lcmh2QjdZR2ZRZXI4?=
 =?utf-8?B?OHNlVHFXTWtBd2xSNlpSNkVGZ09RV05kQVpXdk82KzBnZk5LSjJrejN6eUlW?=
 =?utf-8?B?MDFuRy91ME9ybU1xM0oySHN4NmJObkdxeUJTeFRmY1ZQc3VRNW01NkpVMzNC?=
 =?utf-8?B?bjVvNHo5RjhhOVFsd0JXTE92WDV0NVpFMlo0UXlQQzNNTEtSemJIM2RjL3gv?=
 =?utf-8?B?bzZyN3lUNGswVXoxeG5la3BMaW51dWM3V0FWbUlZTjZWOGloSEl4TUhYZmw3?=
 =?utf-8?B?VFZmYlZZRVpsVmxDNW9Fd1p2bTNld01GU1JwSUpGK0RsMFNkZ2J3K2VpQldO?=
 =?utf-8?B?MmxURW9kblMvQ1hITlZaNDUxaHk2UWpwNS9XUko2OHhkVmFTayswcDI4ZmJx?=
 =?utf-8?B?TWp0eFd4UkwxbEZrcW1UbjFlNk9sY3lkTlZrVjBSNFBBbWFFaGwwR0hpY01Q?=
 =?utf-8?B?eE05bllHMXQ1SExyVzVFWFV0YWhscEpZNnVyUG1JcER0OThscFh1bUJhaE95?=
 =?utf-8?B?UWE3VXYyb3FsN1NJa1dQWjRlaHNMNUc5QitVdzNSZ21NdlM0d1NYSCt2eVRP?=
 =?utf-8?B?M3NYNTFldlV0d3hQOUtudGNkQ1k4Q1VMZVBrVkhkRnRUYXJZUklBVkE5bHE3?=
 =?utf-8?B?NTlkcWZzSDVZallSUUlxcXdvbmRrRS9BRDhaMTlVbHhmTW5uOVpLZFU5aFpa?=
 =?utf-8?B?a0JpdG9qZld1T1VScThtcEVJZmtWd3VqS3o3WlNLUkg3UDYvd3BnNHV4eS94?=
 =?utf-8?B?U2NlWWtRQ05adDM3a3RrRWFVbjl6V092aENVZmZlUzhXbmJyQVpucm1GZVV4?=
 =?utf-8?B?d08vY2x5RFhwSHpHOGRRU2F4d3BxV09wY0lCUTFleG1mZFRtTStEMkRuVUtq?=
 =?utf-8?B?UUNjTzhVZk9TQUF3VVRURjRBTVlyclE0OXVibmtZby9PeTlNeXdEM1lWUkZk?=
 =?utf-8?B?MUhaZjV0bmF1OW56akRIMEFRd1FCWlA2Snc2R3V3eWU2UWhscWNvZ1hRTXVw?=
 =?utf-8?B?NlBzRHNBUHBOY2EzNnJTb3c0Y3FJRGEzRkN1aTk2cTZYWW5KS3YvVUN6UjhE?=
 =?utf-8?B?YkgyeTZvQ0NqRm9xQytUQnR2L29Rb3RyaGxuWlh3cHFZWEw4TVFHSmphTTZW?=
 =?utf-8?B?c1FkYXdTNCs4VXBMMitRYmM4NEhvcVNMYjBqeHdwckI4dlJXZVZ5NzMyVjFy?=
 =?utf-8?B?SUo4MHE2R3hEWXZBWjQ0TGV3clZXeDl3NkVHSm9pQ2ZFeUxYbVFWbVgwajYw?=
 =?utf-8?B?MGMwWkM1aEF2ZTB1eGF0ZElmc3U4RGpmRjZzWmZsQzBBWW9aSVZDSkpNZzFz?=
 =?utf-8?B?QzBrRFZJVUxyeEpjak5MdzJxWlJ0cithMTdZdTcxQS9mOFl0UFk5Wm1rcmZJ?=
 =?utf-8?B?UUg2a1JhdEF5dm1rT3JHaW1uUEdqbTBOb3I3OEtVVWlJQmhUOHY4ZUpON05O?=
 =?utf-8?B?QVlvNFRuWXloVEw2NkhBVlhacFc3UTlUYnhHRm1INWRPNGxLa0JrS1I1MGJo?=
 =?utf-8?B?QXdkVTVXWTdJWVhOS2gzMFNJRnN0ajFabDB5RlRVcHBYQ01kSmZBd1RIdGI5?=
 =?utf-8?B?U3hFRXNVY0JaeEI2RnlSWCtpcm1JZHNIZ0VrcUdxeUhlUkgweGNiMHJ0YWo5?=
 =?utf-8?B?Z3M5TFdjc2xqRnozcml2MnczdFJiVndRRzBhQnc4NFZPM3lKUERGT25seU1o?=
 =?utf-8?B?RjNRUThIT2pwSWFpNjU0RXRpOGtoTmpNeFpSNUtDRDUzMlRqNUpoMDhOZ0wv?=
 =?utf-8?B?bVAweGtlVFVRRkg0Z1ZXMnBxWmlkQ2VYS3V4eTVGaTBJSmJ6TVdkbEZ1cDNO?=
 =?utf-8?B?NFIvcE8rZ25yb3ZkTHcxR0EyWFk1NVFFNWJ4aG9ZZHMraTRjaGVmdE93U3Np?=
 =?utf-8?B?alhNbThQaUErZTZpUmUrc0V3aXR1NkhQV2xMUEh5dUdKYmpOK29SWnBFWlpR?=
 =?utf-8?B?amVBZU1MaTBRRmtNT1BadHdPbWc4Vy9WM05BSlJzMENibGxBc2x2M0FVT1F5?=
 =?utf-8?B?a1FqeUxmUnZJRXNmRXdOWFN6T2lCQWZKSUJCUFhJeGhqbUZ5YTVrWDZaMjU2?=
 =?utf-8?B?aTVUNXYwRm1TTU8wT29FUGJxY1JDQ3VvRTNTckxiOFlzTEJ5ZjM3Rm55dVVy?=
 =?utf-8?Q?3CyUoU6RDgL+QoMk6BiliGIa/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3ef1de1-fa11-4fef-cad8-08db926303cf
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 07:43:36.8380
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uo5SBSxHU4K2bkOuWcpnBfacVPqbVoBJ2LmHL2GzY/FCffYF1fF8BO2NUxmnDU5Zfp8AinM6oS6LtdPx+3jfbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7594

On 01.08.2023 05:44, Henry Wang wrote:
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> SMMU subsystem is only supported in MMU system, so we make it dependent
> on CONFIG_HAS_MMU.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

While entirely Arm-specific, this looks to require a non-Arm ack:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:47:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573744.898731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQk5u-0001uA-0G; Tue, 01 Aug 2023 07:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573744.898731; Tue, 01 Aug 2023 07:47:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQk5t-0001u3-Te; Tue, 01 Aug 2023 07:47:01 +0000
Received: by outflank-mailman (input) for mailman id 573744;
 Tue, 01 Aug 2023 07:47:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQk5s-0001tv-6J
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:47:00 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe16::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97915bac-303f-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 09:46:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7594.eurprd04.prod.outlook.com (2603:10a6:10:203::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 07:46:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 07:46: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: 97915bac-303f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l1UqYlcdERnl5dRISnbPh2/Q6vlBtAUpdAAYOJpAta3zdxzbC9M9plNOlhqBmVgd5/Yclrcs9bMVCdfPa7LMS+sGZgwZ9Iw7AkD6+P8GEb2mHrYN+RUy/9EvgQKAJQD09Cw1Elu4FfChsDHlHS2cNqr14B8h3GFfSpIwl2m5mlM6u/7LG7nJfAVLh+olRa4hosbr1mE50YAm9u2OUxZPW1SWk5u4YLeUMq0VuCdr7Lrnv501VIXxSoovDdKHPvtkzbcTPhb4J23a2VY2jul1wJtrz3byUEd15fbK11IIeBzldIX5qQMBkwSzyL+XjhlmzYXBFXsahJHchmPtQykbaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Gw0CWE+jIe4M6iBCvoM0MNOxL9X3RV4aI5Dc02R25U=;
 b=McRVWd0U7c38DqVOwBjP4sZLuswVSLU8KpWP8Gwynzx8VYH/v60NY9DgzlypR5StXRboZG3OvV35G0K8M6gW1d2YGL3SdixEAR79ObZjVUrYWKLuSq19BC7xUDWfVa3suM/57shVgaUAtCsK2ph/JUF4WCv36il/dAV6WblmyIWF1g0ojFbIbvbrqXPFRNUg+IgEBuNxtiLn4/59YNRYdpoDiFmPBMCJta/RTISei7zaeN3KuQtWl/aiStAMBdi0igkZ4AqNHAMwMz9e/XNwO8rlLslu8n3Bn9gVF2YwlFNk39Jrpft/7XvNmnH4YNTAVoJYO5JK5dSo3OlCVMf98Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Gw0CWE+jIe4M6iBCvoM0MNOxL9X3RV4aI5Dc02R25U=;
 b=bptiSpKQDDmmMSVifSJTYEq1sp72itjKk+QvtULVVjLGA7Rlqo7/fEwZZDify/mUUC0VKGsEN63x95paURRMfv8NYdIUbksiHlt7OYEj0/Z16SqD8+G5T+rPo/DrHX67GVJqQeTSpOlDgzE8MHnH8sre3unatq+19TiHAXi1RGJ42EIdyMTkv2hkmINSt2CElr4rTEmNTqSyXyPk/KkE2RVyXLSIhrP5GlzRX+UJLHJSAz18J9jUmD/3CT7qOMIqRqDXtQGLBFkqNNV8swoeAvGX+GjkWXrCR9AG2gglTc1ByY5qicslFxZrXvENeo453KxaVDQ2GQ36K5qUSzwZKA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8bdc7a9b-4fd9-ded4-dc13-cdffcb1284e7@suse.com>
Date: Tue, 1 Aug 2023 09:46:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 3/4] xen: rename variables and parameters to address
 MISRA C:2012 Rule 5.3
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690810346.git.nicola.vetrini@bugseng.com>
 <8aebc67a150cb4116affdd6da755a8e82c827ffa.1690810346.git.nicola.vetrini@bugseng.com>
 <f12b9c37-b7d0-ce03-024d-709a7fda7f26@suse.com>
 <2e0a88de6c6d0e7ef23bf14f0f945c0f@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2e0a88de6c6d0e7ef23bf14f0f945c0f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0172.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7594:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c3f3c11-423a-4958-8f5b-08db92637ad2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ozpa5NOQA0RCVpTm4ZFmhXpZK5C8XHL6/89kmgY9u9w3wdFcm/DQh4JOQFWgeRQUd6HERa4l9j9cTAbadKJMcu7CMBXTzeNMGCffjWFuWmvViRkBVGm27ZzObPHe64zmGFyynyWPwkqULw7UaRXds3ZHjAT/mvqu+Zc5S1qbSW06osamVpnqT/f7IYdlz73cE9bSNn1SDOPNF10V3mLqIyOuAZiTqrOJAPh60ChAlf+Vv71vRgG4RXCqCqbltt+obS+qORr3KtqFEj8+K1/OiVGFBbjNe/l5YzH8nwPI5xZRb2XOStoa9UxUFFtOkSdHEzeOUhv+sa9cr9Zb7xsG+zzRRRypOgxg9p+9HUxpafYTpc1itva1jgtPDW/gu/b1EaCmNr48uF0/Cn+0Du6gk4RySuYyyZR5yxcIXgk5I7MpiQGnXy6yatLUnzdS3vLTWmSwelC+AQ4nLyhhdmsr/ZVvNKG7T1zuPt+8RXGyd5DjKLLa+roNoYB3XEs+MlEsa5dlY6xozMG5wtSftaB4LPF8Cg7+wcgV4iZ08VMj36oJUGU1z2+i486cDB3CioEIKCEMlwEoSFIZz7SCLUK8KHF2k8AJx6ZU2vglawpYRIdQc06tLPs6V2GkeuaLkHO+y0LyYaqnsUcIQfBp66d7Jw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(376002)(136003)(366004)(346002)(451199021)(7416002)(38100700002)(66899021)(6506007)(5660300002)(53546011)(4326008)(6916009)(66946007)(66556008)(66476007)(54906003)(6512007)(478600001)(2906002)(4744005)(2616005)(8936002)(8676002)(6486002)(41300700001)(36756003)(31686004)(31696002)(186003)(316002)(86362001)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGdEc2p5NEp1eEppVnZpNEltRjM1SE1jbXp3NXF5NnQrd0VBSjJPc2tLTHBj?=
 =?utf-8?B?dEE0V0hVeXAxdTY5d3kwN2FKNnhXVjlzTVhuU0grR3JCQ1Zza1JscXRFcWx0?=
 =?utf-8?B?NGZOaDJHYkx2U2FRK2R1b2NTTTRDNml6Z0hLVG9XV3hHR2UxOU5uai93OUZ6?=
 =?utf-8?B?V2tQTzBIcVlXaHBhNk5HNGVGRVltNmg5UVR1a0t0MjV3eTZFeG11L0dvbDZ4?=
 =?utf-8?B?YmhodW4wT2theWpJdXRuN3ZRK0N6NDBZcXRaVlRpdU9hUDZPWlBic3h0K3FW?=
 =?utf-8?B?V0I5SldPcnJjSkJNeEorZUNGNks0R21ERnJxcWdQdm1SR2pmSkZXVVBNbzBE?=
 =?utf-8?B?VGQ1NlA5SDMxYVNON1h0QmIyVlc4Y0lOUnhGUTA1SjdpZnhKNE0wRkZ3MW9V?=
 =?utf-8?B?QlMvd1FGM3VFUVpteWZsMUduS2JhaTVGVGxFTWtiREhVZmJQTG9udGxEMG82?=
 =?utf-8?B?WUkySC96K1l2bk5jbExYZzBjeE9YSy92M091bklhcEFvd3N3TThUSW5LTHZa?=
 =?utf-8?B?R21BVUV0Z3JkcFJtS3NyWXRIMnE4MGsvKzBEN3N6UDhJV3RIbU53VUFZckxN?=
 =?utf-8?B?L1pTMUg4aTVROHFvZ2JKUUpqc2FuMXBxejI3bjBQMUpHU0dlTFBqRmczN29C?=
 =?utf-8?B?TEpaU0RPNyt6clBWUTVUd3FGaW9HWmZjREFodHRpZTRnR3hRTmV4bzhMOHB1?=
 =?utf-8?B?N2Q3b0dndlpKdGNjVG0zczNxQmh4OC9vNys4SkEwbXNJV3AwV1NwRlhXa0Vi?=
 =?utf-8?B?WlY5UFdVaWc2SzRucW1KTTZqR2lZdDZnTytTNEEyalJYT2VNcXFqd3pnbURE?=
 =?utf-8?B?TU1FSCtpWWZ1dk1kWURKakU2KzRESjZObmI5ZlZJM2ViRmVLdmNYTVQ0b0Rl?=
 =?utf-8?B?dTg5MHhKdVJuZ3IxTFdlck1qTnQzMG10ZXZIc3JnN25BOXlUeTBoVUhNUG52?=
 =?utf-8?B?RW9ZU2gyb1pGRzdOUHNRRjlIU0xPd0V5Z0xMWnUxN3c4ZUsyQmJwUU02OU9i?=
 =?utf-8?B?UlA3Szk2d2RSM0Ruci9sVlZIQkJKck5xaStZU1pRWmhjSkh3dld1SlE5QTVx?=
 =?utf-8?B?aktENXE5SDBaVXRncys0Ymdhc2g0TkRFelh0WGx3MzQrbm41OWUyOGJXWWZL?=
 =?utf-8?B?QjFLTWdydHBObEFOai9wTFBxQjFOaUJVZEFaUzJmbExWTDkyeHI4TjlvMThz?=
 =?utf-8?B?ZkNzbFNidTJ0LzlpV0NnQm1vdXgybnlhSUlTVnh4eFhtOHhyRHAzdThUS2M4?=
 =?utf-8?B?RkVXOCtrd1Y4L0UzUHdwQ3ZZdDVpRTM5ZStIMklGRnY0ajJCdjY0MW4zMDdZ?=
 =?utf-8?B?NXJlNS9mcDFxaHNvRFZ6clZ2WkRPVEVKREMrZ2lXYWxzZmk3YWxKVy9iNmt1?=
 =?utf-8?B?V3RqYzN1UzhLMVNQUzVTVXhUNmxzcFBpMGZDWVI1cjJPbkVOTDFOTElUUlRF?=
 =?utf-8?B?LzNJYm9lWjJ4TktTaVNrL3NEOGp0bUhkWDE3ZnpmZFZ2UHBQS3l5MUVZTkxx?=
 =?utf-8?B?VGlPelh3a1J3aEk0MWx0NVVzQlFsQUJrUFM3ZXNxMnF3UXRLZ21uRGtKTmlj?=
 =?utf-8?B?dnlHYjVaaEZzNGdyZ2pkcVNNRm50enNNTk1VTTFBT3orVndmUFFPblNaY1FX?=
 =?utf-8?B?aVI1NTE1SUg4WGM3NmFtczJYUDBQM0I0M29xM2hKVUY2TXFCL1lHZXFkTFlX?=
 =?utf-8?B?UDN0UnFGUCtqZUNMQnh3K1V2N0J3emRYUnVCUkxqSmNJK2d5OTVjWnkwYStC?=
 =?utf-8?B?cWtOeU1wbmtsZ2QveGxOY2ZGalY3Qk1LMGRLVmNFM0xtQ3IvY3A5UTM1K1o5?=
 =?utf-8?B?RFVWWmhrM01hbnJxUjF4b1BaY0owNmNlMXh4Tnp6MTFiTWV1TTZ5Y1JGOFZY?=
 =?utf-8?B?RmcwdDNKMWsrNmtzeFdCYUdzN0Joa2JNbG1oVDMxektXMHA0eXlIOHdmNHRB?=
 =?utf-8?B?aWFhZytRLzFhWktnazRZZVhUUUtYL0FRVjMreldSTEgwZjBoRWVaNElBaHZm?=
 =?utf-8?B?Tk11QmYzSDU3ZGxqZTE3N1dESEVCYVE4UDVzM2hzdVozbWNRaWNFQnVWS0p1?=
 =?utf-8?B?TlVkcjBqbHQyMVVGSjFxdVdnMXI3b2FSMk52UVZINmI0ZDk0RmRiam9LZWtU?=
 =?utf-8?Q?5FO7TFH15h9vPwvKcFz0pQ6E6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c3f3c11-423a-4958-8f5b-08db92637ad2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 07:46:56.4408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rFVArcxREVQyB4wmCJRMkuKkyx2BKCqObVqAfyqoxYo+AhUjttLqfZ4KB3SFV+geSKzotCZs/mxiNJjjsWknzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7594

On 01.08.2023 09:20, Nicola Vetrini wrote:
> On 31/07/2023 16:34, Jan Beulich wrote:
>> On 31.07.2023 15:35, Nicola Vetrini wrote:
>>> --- a/xen/common/compat/memory.c
>>> +++ b/xen/common/compat/memory.c
>>> @@ -321,12 +321,12 @@ int compat_memory_op(unsigned int cmd, 
>>> XEN_GUEST_HANDLE_PARAM(void) compat)
>>>
>>>          case XENMEM_remove_from_physmap:
>>>          {
>>> -            struct compat_remove_from_physmap cmp;
>>> +            struct compat_remove_from_physmap c;
>>
>> The intention of the outer scope cmp is to avoid such inner scope
>> ones then consuming extra stack space. This wants making part of the
>> union there.
>>
> 
> Makes sense, though I've not been able to find a definition for the type
> 'struct compat_remove_from_physmap'.

This is a generated type, so you'll need to look in the build tree
under xen/include/compat/. (In this context I'm curious how Misra and
Eclair deal with generated code.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:47:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573748.898742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQk6o-0002Ss-AE; Tue, 01 Aug 2023 07:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573748.898742; Tue, 01 Aug 2023 07:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQk6o-0002Sl-6H; Tue, 01 Aug 2023 07:47:58 +0000
Received: by outflank-mailman (input) for mailman id 573748;
 Tue, 01 Aug 2023 07:47: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=qUf/=DS=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qQk6n-0002Pp-Ef
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:47:57 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b90983b2-303f-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 09:47:54 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB5PR08MB10253.eurprd08.prod.outlook.com (2603:10a6:10:4a9::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 07:47:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6631.043; Tue, 1 Aug 2023
 07:47:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b90983b2-303f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MeirvmZiZ7WDdzazStfc62tJgsvzX7UctzCSxGQTNImyLiDolSiqU5frnPjoSAwz+G7hna4AWmVv4ibBtEgRItS+HujPQiz4DrDC3Hf8H1tQFm2PzVKuUS/9NC/hq7w/pBEuypUHeJXCyRXZgZhKTP4VpSsMp+J/jebcl4gviBmpLjncEPTgglLRGsv8zAvCt9cLZNrY/lMymrzLqRa2rTmcQBkIx34qr/A9YAZfYyxRKRgxhyGqMEzAouZDLXGrANb6KFadwvckvFF4DgTaJaHF0rR+yvaPN5JEeR4tQ/O2FP4SLg3Ljn3nWZ2ixTevweyL4tz7IVyLPz3rQ01sRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wNATMOPwtM87R+WyTUp6C3cO2tvf2Vb4CWLLGaaKLWs=;
 b=j9vyPwt5vC8Dp7xYUNPcxptk0irot7tQhOFioYcGzgQitYD7/jIttA68AQ08cWmaaTnDP/md7W7pBSxLT+Fif6lHldcELzuq2DzMPiO2KoJrZBuoA9C1Qy3k2bUexwmYo0dDmlKkq/62Uuq/kpLBFOQkenMHjgs4z+8eKtVDutNAaTGYzKCEA4blcEbZtD+f3u0G2o5qJyF9s9saKUN5WRu9GVLzml+M2QSbc8rIAF9/cB/gEeqkNY5te9b4VkbEs43BOhVuF3jwfbLY8X9pmlhCmKLgcs+TW6SyVklMziL8m6EDBkka0hNiK0IXkk1dSGdqHLswK6W+N+CT8/bqCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=wNATMOPwtM87R+WyTUp6C3cO2tvf2Vb4CWLLGaaKLWs=;
 b=tgQlgZtyCqRsoZeRy1hovUriwHih/Eu/7JX5QNhWvjdc1URKtLwMr+lnFBTSFu+jRrSGKbpSx0lq9AnSgcGkHvO369m37cLAThTVbkUr1sTLlZu4akCZig/AbfitJL2binUgedX0qGTMwccA/n7WPVeJj4SyCzjTE0DJcGXjgUI=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Chen
	<Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Topic: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Index: AQHZxCqigu1wJWpVm0KnP9vpRTw2qK/VD2mAgAAAHvA=
Date: Tue, 1 Aug 2023 07:47:50 +0000
Message-ID:
 <AS8PR08MB7991FD70B76D0D1677163816920AA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-14-Henry.Wang@arm.com>
 <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
In-Reply-To: <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2E810C11A217544F87D6BAE6ABBE4206.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DB5PR08MB10253:EE_
x-ms-office365-filtering-correlation-id: 5edf3944-023a-46e5-086a-08db92639b2a
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qSoqccTYZ1mU53IJYwZR2AEOyUAxHe5uPMpiZj5pCx3Q8WhpuW/jHiHLrbnBO58nOo6rAS8kVERyYDjuxfC4Eze+ojBroZa7AXv3GO219Vo1ezVlCNKhWkYlNVY6lIKzw9DiE5S+8U4lav5c5UpeCKSgM6E9hXXzpeqU3CdqhFkvs4rs9gMROYBqlhrk3rCYNf+Kz8sIFuC4ed7NAiAL+wlXdWwTAnKYheM0udWQexZKh4Z+tpOoFWa3YOkKvJDhVDQJ2ngK7ahDTeJ4ALXYYAYeDl2t+XDxKPKs5meNrUDOvX6D8QFf2M6ImsEvtxlY4S3Vu57jqmPkhWhTe2+///MNz17HGNApei09pYEEvRLu11ryJMdul6b3dFqW+GfAiAXxrXpqTQQpEnalf0lNCokH/DrrGS9aK66tCoflx7t05OBCy3boA1QnsTO2zXgmsCgRz+r3O0zIz26zgHYMwq+3A3FOM9HoKYxmJ2/BvoaqomsdCSENYp3QgWIHxcqXc9PJGGgWvnLqJwmHkjMitjNV8i8yO9BjyJr3pmxFcnRwa+ZkToxShe1+fcm0sEqKek+76MIfGEnEdqqwYS5bBjsbgfsoF9wNgF21ytvHrw075F6S0NjL1ww3MfGTYrQp
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(39860400002)(346002)(376002)(366004)(451199021)(38070700005)(8936002)(8676002)(7696005)(41300700001)(478600001)(2906002)(4744005)(83380400001)(26005)(316002)(186003)(86362001)(6506007)(5660300002)(76116006)(33656002)(38100700002)(122000001)(54906003)(9686003)(52536014)(4326008)(53546011)(6916009)(66476007)(71200400001)(66446008)(64756008)(66556008)(66946007)(55016003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Wm9ORThPNEYza3dVZ3pvVmJYRTNTK3Bndk1veml2aWtRMVFMWDNiQXdjQW1P?=
 =?utf-8?B?VnlUQ1o3YUx0MUZzK2U2YVpYZUNDMkZ3aWl6SjRUbEtiSFdWNURhZzZ3Mzh5?=
 =?utf-8?B?LzBGc3hVbUVaVFpjV0FjMU16Z1ljZ0JzYnVVenkwODVjejNmR0FSVVlYT3RQ?=
 =?utf-8?B?TUJjdUsyK0VYNW9yMUFPQzZ2RkF3Snlmc0krMW9UNityVXdvM2sxL25hUU8w?=
 =?utf-8?B?VU9WSWVVUjFEdmpSeVlNUkhVVWtLajlySXNUZVhvWE4xV0NaeXBHMlpkKytP?=
 =?utf-8?B?RDFob2ptYUlveS96Vjd0SW9FNExmN2l2dnFkdzg2QVNwYzJ6RHowRGNtRkJX?=
 =?utf-8?B?V2tmL292M1dYdEplbTEyUXFxYTVIcEZWVjlKdHpIVi9kWkZ2aEhYRWZmNXJD?=
 =?utf-8?B?cms4VXI1L3UyK0RMazZBT3JBanNaRVNoMlJlaVJEZzdkWS9UTURSQm9jUUpU?=
 =?utf-8?B?S0pTeTVKT3lHMHVaNTF2NGFhYXd5MWppTEtlZ1FVdGo4VHVyNFhSQnZGT3pl?=
 =?utf-8?B?VjQ2TlA1ZVZpMSsrYTRaVUxmK2M5OXIvNjdmQXpBTThLWS9EdG1EVVVVQXFx?=
 =?utf-8?B?SGxFOHZNazh0bEw4cXhBSFhBZENxTk9CRnhMYndXanZRQnlwSGtwTkxGMGpD?=
 =?utf-8?B?WWc5dUhwcHVpY3dGUHFPdk9VdThERnErVXRERDQ1VEtMYlV4MXQ1RXJMS2x1?=
 =?utf-8?B?Syt2eXYzVnZxWndCcTBHbjBGWUs0bitYSVlHVDBNQ1NBVkdNQjdJN2pKMGhC?=
 =?utf-8?B?eWZsLytqc1Y1SHBlZlNRNWZJS2lrTEJzMVFZV2FiUFpaNG5xMkl6QmV6UFZ1?=
 =?utf-8?B?dW9PQ3ZGeitNUFg5RlhDL1d4R0JBL2MrZ1hTd2hUY3kxcFNDYmZyRW9ZTzYw?=
 =?utf-8?B?ZXVtM2cwRjNaQVBoekF6QmJVZHdicHNwbmtUYkpXcEFsd3VLVjM1QmozbDM2?=
 =?utf-8?B?SXd1c3U2cmtVYmpBUk5ZMnRMWDh4cjlzTjl0Ly9GMGt4SGh6Nkllc0VWMzdp?=
 =?utf-8?B?NWRLek00a3lqL3UyTlVPZW1QUS91RklUUVZpOUErVVpjVnFFL2FFWWgreEx4?=
 =?utf-8?B?WU5kUC85SHVLWEp6aFp4YlpmWmJPcHZwQ3VPMzEvTllHbXd2cW5Td1EwZXdv?=
 =?utf-8?B?OEpqaUF1cGVzSnpBT24rMEk0RHhiUnJBQWQxY1RWVFB6VXgybWdHUFVwdDRD?=
 =?utf-8?B?QU9ZY2l4Sk9oVW02bmxOVGM2SEZUTHBTWThFdEVtRmdCNlpqTC8zR2xPT09x?=
 =?utf-8?B?LzY5djZMY2FFRlQ4SDJVd05pblNiTTlGL0hvQ0h0TFBNWlFVR2JYTFJESklz?=
 =?utf-8?B?NU9OQXhtdGlkZWJaL3pnK2R6dW9zcE5YbFZTcnNRTW4vb2cwcklaUDlvRnFM?=
 =?utf-8?B?NkFYYUFBZmJ4UHgyVExYN2pSeUxKWFB1azlCdG5aNzZ2RFVYRTEyTlpYZ3ZQ?=
 =?utf-8?B?KzVJWjJWcGhnMW1aZFNBOGhrUHdXTDFBY2Y2bVVQUUQrbXVFY21obUN4SFdO?=
 =?utf-8?B?eWhuLzNlYzBlSWZGZzhpSk92YWFMdnJFWXFqK09UdlVqaFRiODh2Vmh3MjVG?=
 =?utf-8?B?NmppbTZoZ0ZJMTVVaXNuTFUzSWR1MStaUUIzeFEra3lRWFBsT3l5a1hCMFdZ?=
 =?utf-8?B?eUtoNnJvNVo2UjFxb3ZQK3NGTWcyTFRjZU1NenFVNUFQWmpRK0dSaWlRY1Z3?=
 =?utf-8?B?M2ZrNjB1b3F0bFRpSW1TeHhRMFFhT2V6TTg0VlNtNmNyTlI1UTkxYWZxRlM5?=
 =?utf-8?B?Y0VkaG9LSXVPTlRhb2trOHpNR2crTVNvVTJRRzJheFltbmxYOHNrYlZaRmFU?=
 =?utf-8?B?T3E2ODRRTS9nOEFOK3NGRXdpNkp6Ukt1OWdCcFZabzdHQkhheDNnZWx5WlhV?=
 =?utf-8?B?SW1BTEROWllmMkh2RHJ2ckUrN1NsR3M1cFRlVlF0UmtLaDZ6S2R2aUMzTDI3?=
 =?utf-8?B?QWFqN3ZpRFdxUXdjSUNhbkdGUEZDR3N4enlhTVJ0Nml5UTVsL1Q1eFl2cU9S?=
 =?utf-8?B?QmduTHJRL3l4T3FxOW9CZGJwcnQwVjhyN3BJQlNmbjVuV2FUek00bWtleldO?=
 =?utf-8?B?WERKMWhvM0kwWEpVRTUzZklBbm40OGJacHl0MThUVU5OQWRXSzdRK3dBblZu?=
 =?utf-8?Q?6N/0=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5edf3944-023a-46e5-086a-08db92639b2a
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2023 07:47:50.5536
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0s5nzArrbLjKPyU2lpoG/kwlzbwLbdIIKr5iMRY+00T1kr94U/HwK51yoYJ7KobAXv+PDmXcnpt5GpCjkATzjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10253

KCsgSnVsaWVuLCBTdGVmYW5vLCBCZXJ0cmFuZCkNCg0KSGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMTMvMTNdIHhlbi9hcm06
IG1tdTogZW5hYmxlIFNNTVUgc3Vic3lzdGVtIG9ubHkNCj4gaW4gTU1VDQo+IA0KPiBPbiAwMS4w
OC4yMDIzIDA1OjQ0LCBIZW5yeSBXYW5nIHdyb3RlOg0KPiA+IEZyb206IFBlbm55IFpoZW5nIDxQ
ZW5ueS5aaGVuZ0Bhcm0uY29tPg0KPiA+DQo+ID4gU01NVSBzdWJzeXN0ZW0gaXMgb25seSBzdXBw
b3J0ZWQgaW4gTU1VIHN5c3RlbSwgc28gd2UgbWFrZSBpdA0KPiBkZXBlbmRlbnQNCj4gPiBvbiBD
T05GSUdfSEFTX01NVS4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5u
eS56aGVuZ0Bhcm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBh
cm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNv
bT4NCj4gDQo+IFdoaWxlIGVudGlyZWx5IEFybS1zcGVjaWZpYywgdGhpcyBsb29rcyB0byByZXF1
aXJlIGEgbm9uLUFybSBhY2s6DQoNCkV4YWN0bHksIHRoZSBkZWZhdWx0ICJDYzoiIGxpc3Qgd2Fz
IGZyb20gdGhlIGFkZF9tYWludGFpbmVycy5wbCBhbmQNCkkgbm90aWNlZCB0aGlzIHJpZ2h0IGFm
dGVyIHNlbmRpbmcgdGhlIHBhdGNoIG91dC4gSSB3aWxsIGFkZCB0aGUgQXJtDQptYWludGFpbmVy
cyBpbiB0aGlzIHJlcGx5IChzb3JyeSBmb3IgdGhlIGluY29udmVuaWVuY2UgY2F1c2VkKS4NCg0K
PiBBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpUaGFuayB5b3Ug
dmVyeSBtdWNoIQ0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 07:58:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 07:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573758.898752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQkH2-000412-88; Tue, 01 Aug 2023 07:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573758.898752; Tue, 01 Aug 2023 07:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQkH2-00040v-4e; Tue, 01 Aug 2023 07:58:32 +0000
Received: by outflank-mailman (input) for mailman id 573758;
 Tue, 01 Aug 2023 07:58:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQkH1-00040e-6B
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 07:58:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3442fbc3-3041-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 09:58:30 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB6880.eurprd04.prod.outlook.com (2603:10a6:803:130::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 07:58:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 07: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>
X-Inumbo-ID: 3442fbc3-3041-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LI7WqLMMb8mg9szGvF+oKpeF4EiTTaqWJ5OL6BlBBn17I5mfx9jmHG8LDgKeIw/vostqMprE8uBEJfB8ZtGVkob4Vb/fO9s/Sexd6Qm0yUVpLwxHqpe+e9Gqu7d9dooNtWMOUYYUZfFwJa8zihTipwDzit9JPZwcNtZ4H1brPx0jU33KTtULHjeU7ubGO8hvTUlYjcRp8LSxf9kxDGR0/5/UppeXFkAiTXRmZiRZACgs4uXcYs2MsyopFVX2Y3hXGBsCXlB6Os17ZDinICfZcG5cnvnSKytj3ZHMW5vlOBrfbI5H047t/d2jee3ImU020Wgug8NC7OFxkHH68wNabg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q83MC0lS+nwglxKUKCTEzUMU81glNsr/uTas3Fn5ptw=;
 b=F9RdP7Ka6CKChoP2b+w2/o3Wc+hI8JJCHM5X3EMOF6eCx4/cExCYG0urdDxjh0vJQsQz/zo+QPaEP0Fzq8gNJMYIhUwywhuW/17gG3vpvvGqkeFYAjnv06ve0ZUjRc43VuDSr0Jh5dxtzo6PPx46rhsVUza9xDUiUPEaKUFEatBEQC+AGaIhvJH2ojEXz3/JnbLqbF7ABg1HBsTcXq+9UpoGL+clTk8VXheLVDY1RhaG0+5ZU7LEqV6cbaLPyDw2A0BpPavbUQ10xiJ9hB731GSc2UAKHGdxryjkHOFBCJtAdYFkjgqJ5nt9gNz4qMlbC+HLyyyrBcuPQLpFZdZeVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q83MC0lS+nwglxKUKCTEzUMU81glNsr/uTas3Fn5ptw=;
 b=GKiLMYmaidzez8fZsD/cTusU3aARk+P59PzfZbnqb6oYIDctMGhi38+lYl8JsLaYWd+wjQHQe1coqB/TsPa9l9Dnp/U0GPdOs+GAS+GmZy/k2hNvbr0Rjaia7m+9ITUZxGHX3wUSder24KJ9/zt5T98W3pMzFLs0zbDnX7QJGIkqhjj3oxF/87h0/Y/wTECOJDD4TiRVlf2tRpZwVwmz2+2zdeCrX+R6d6/a+RwqRbjloWRYPB/upBu8HRXl/L/nR4hYT9MAgpUX/JpWbYUv3OA6ekAsdmK9wYOvPNeM2QPRuLZtxP4ugBOqbM1hzQujoyP76+Qssg7T9HY9oW5DiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <75a70fa0-ab40-e2b0-685d-db752c943a7d@suse.com>
Date: Tue, 1 Aug 2023 09:57:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 5/5] pdx: Add CONFIG_HAS_PDX_COMPRESSION as a common
 Kconfig option
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-6-alejandro.vallejo@cloud.com>
 <9f0b7ab4-090f-21ea-2cf8-6ecdc7c02225@citrix.com>
 <3470bc26-3cbc-e0de-53ae-203449493b51@citrix.com>
 <06a3f79e-4345-7a4b-be57-728a8b01befd@suse.com>
 <67b5c363-a653-3f5c-ea3a-f52bfac3dc49@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <67b5c363-a653-3f5c-ea3a-f52bfac3dc49@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB6880:EE_
X-MS-Office365-Filtering-Correlation-Id: 80c770a1-3346-4c5c-950e-08db92650648
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0dGMwX7/usHuxyFDI824vWuTsOjDLc8f2SaW05bU8ffCoAwYDeTIMfZOcFHCaw+T5hjsp8jryo4dSgnKWIE6Ub/cdmvQigAAke1vrcodL2v91k3nYhwLSe/pyzo8fVtpk2mECxm3nKeu7SpP/jKbQ4WSU1A+YYO8Q+CnjUwatVqdvkoVXPIUXcR6OozFOAIQM7Lp1JAryaZ3YTH/VvXH1YeikkfKVauLoLVCKqctlFQ5AMVG3nBL/cceyzGj9A6w3uxjYml2gElbACix9zkhqPUWAoS5b29etC3uKyqHSA2Q3Efk27id7HQWJHLe6lvk1CZdDO3mDRL+kov/pK4pxxltZD2nh/blfgvMxrrnW41O9BST7AzriOe/t4i+SbrvhVS46V9G2NE0vQtYsl1pijdRIc3HrKoS7oqJSOP+11NsdPOLcyyv+n3xQfwlcEKQrIZVVJ3hYqnc8KtA5/nSp3B/dRGR0/zTAdjhTmSGbElkq9TEydeypvgjz6Itm2WVYpO3Kp7xSMg+kuseZKU4alanCuJ0vdsws6m/Ign4ciUfAztPtFzWujq/DtuhnYLjd7gT3NJ90JuX0Zmid9myXnZ0e3SvznqinuhOGWB81ky/mpwveFECBizXQOot+/+YPGbrXjdszzJ9ZJBlneIpzQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(376002)(136003)(366004)(346002)(451199021)(7416002)(38100700002)(66899021)(6506007)(5660300002)(53546011)(4326008)(6916009)(66946007)(66556008)(66476007)(54906003)(6512007)(478600001)(2906002)(2616005)(8936002)(8676002)(6486002)(41300700001)(36756003)(31686004)(31696002)(186003)(316002)(86362001)(6666004)(26005)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2RZdG9RNkVhYVA4VXl5K2p6S1FMR1FTWWI5R0p2d1V2VDdBR1ljMzJHa2Ny?=
 =?utf-8?B?RW5nR2xmZ0J0NHNCeW5UczQzUUZMYmRQOXM0Z0FBOGM5MDJJVFJRaGVMb1dY?=
 =?utf-8?B?b2N3MmVNT0RjZEJVVnZNbmpFUjFCUXg2VFErUjltMlNNZDJTRCtueVZaN3FB?=
 =?utf-8?B?aTFRalYyOWhmalVZTTZnSEdvRmdRc0FRMFlRTVlOQjFkbXhsa3p3UTNncGxv?=
 =?utf-8?B?cWJsSXo2V2ZZL1NNWnkyQVk2WG92Wk0zalhnTm43UVJnUlFIdWJtNDNVdmJj?=
 =?utf-8?B?OHRGZnVNQkFrWkVTUGV0bjhXU0psRXJLWDdWMUh3V0dvOVd5amdaN2k3czRy?=
 =?utf-8?B?aUhiZVVseTFLZXNwVEhHejU2NWJ2NjVRT0pTYlowamJUVzR6NUtHdWhCNjJa?=
 =?utf-8?B?SHVJeGFUTUV5UHd1SWFrZXllNEYraWprN0xwOWhaN3ZkZWFYWk1nK0hXMTBF?=
 =?utf-8?B?WXNxSTlqdGpLYnpCZmZUV0tuZjVRQ0ZKWVJNY0VKSWZsRXhaa0M2ZjJtdkt1?=
 =?utf-8?B?MmJaS1lnL0VTUGY2eWJsRXB2QjBoY3FVYWhqOEVDTFhlWXpzdjU1Z2pHTFFB?=
 =?utf-8?B?Q0dNVExMNzNadVM5dE5hTExyWWtyNWtvdTNFRHZOd0prUVNwdUlKSDU4Qk1Z?=
 =?utf-8?B?c1ZKV29mcHZpRTlVdzNpcStKZllyMEg1Z2I1bVB4Vmg4ejNjYUh0dW5QUllk?=
 =?utf-8?B?bE05NDc4MGE4UlRITEJ5VVFUVXd0eklNcWtXQlhLZnEvQk0xMWU4N21tbndY?=
 =?utf-8?B?a01WWWpxSERHWEszVFJXNkRuSHJ2L2pDazErZWVtZFFQSkZFQXBwQXZ4VEla?=
 =?utf-8?B?UW5obzZwSG1haHlRWkdKUytBYUpGV1dJME1jNk90S0hyQUlZQXhCQ0l3WEh0?=
 =?utf-8?B?N3FEZ2xVL29QSzBhSy92d3orbk1wRXRyaDVOSkVnMEdhWTJmOW44MndZSHJL?=
 =?utf-8?B?YXh3ZlRXc1lUQmxxTTdpNHN4Vi84MDdJNkx0cHhDL0VMSyszajJzYjZCZGI3?=
 =?utf-8?B?dVhvcDFIeXpaM2VTUU5DNENkYUFla1pVN3dkdFZ0V2czRDJjT2k4UXlaN1hy?=
 =?utf-8?B?bm84SUVzeDVteE1LZmFFNEZsZkNPYlF2NXJMaVhlbHExZm4zNHE4aG9TVjVL?=
 =?utf-8?B?bTIwNDdyTm5BdmdEQ0lJRVh4ZlVUdmxYeldlYTJPQWdwQkVpUytOK3NoKzFM?=
 =?utf-8?B?MUtwQk14S3UrQStBMG5yTitLOVk5UHBSSU1Vb0ZucTJVUmtUR0l6TzVESGo2?=
 =?utf-8?B?RXl5enN1SzFTaGZNdk5jQ0hEb0pEWVl6cCt3L3owN2FPU2p2cUswSFRCMGxM?=
 =?utf-8?B?ek53UVZaNEtiOEJpajhyV1h0QzBNSzZXZmhWOTlFTlIvR0M5MDNSUkd0MHV3?=
 =?utf-8?B?alRqcXRnN3lTVENSY1BBRjhTcG4yYmxFNFY5aUJ1UUxvZjg3NzhjbC84Vm1R?=
 =?utf-8?B?MUViaGdtZVdXZDNpQWtCaS9aR0NFNldwTWVQVjVENlNuR2hTQWRMaU93b1pW?=
 =?utf-8?B?SnRkVVVQSW5oc3N5QWpvaFZBTmNlTThVdlR4ZC9MbTFLNHNiL2lRbnVhUFN3?=
 =?utf-8?B?QmgvUUVSWXhMQ0VmRm5sNmRWOGovWFNGc3VITkE3aDZlOGorbkxzazJPWFND?=
 =?utf-8?B?SVBhbVdRWlczb2dpM3ZIbUZHcVlFaGVmc1EzMkZXd3JGMzU4ZktJRDZMSW9q?=
 =?utf-8?B?T2JMcFBBWW9pOU9LRlAweFBFenRGYWZZUTBlUXdTYmJXRWdDNURXOG0wSlF5?=
 =?utf-8?B?K2lqSHNVVkpLeXVFNzc2RERua0F4N1dhaWJKRUtSM203RDRxaXhidzdpKzNl?=
 =?utf-8?B?eE93WEh6RktvY0Y5bm9JWDdmTC9JVGVUalZCN242RFVmNnZNYU9iRkpKNHgz?=
 =?utf-8?B?Znk3bnBlUE1uMnUyYWJJY3hRY01SR2ppQVY0YUJOSEQ2NWFJR0pFazhCQ3Q1?=
 =?utf-8?B?RDEvREpCVG1HTHJLSU5uV0FsM3JURVV5NlBpWWVFZjVpZ0YxU25NU2xpOFZ0?=
 =?utf-8?B?RFBlNnBocFNUa0lWSVE2RUlGM202WmVyd05MbFIyM2N0M1k1dFlzRHlRRTJt?=
 =?utf-8?B?RUNLNTRTTnlxUWZuU0JQazh2UWkvZk5UUmJVSnFGcEF6azFGTDBKSHJna3lM?=
 =?utf-8?Q?V8SVP6lpO2aQUPLyJhWi5n2lc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80c770a1-3346-4c5c-950e-08db92650648
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 07:57:59.9072
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5q4/nHvGeBKW53UMmot8L6vj27iOZLgdd9bb6DTxsIqXL4qtpDVciKu/HkuWsMdZC+swYEm6jVVF5TRHYIhB6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6880

On 31.07.2023 19:38, Andrew Cooper wrote:
> On 31/07/2023 9:00 am, Jan Beulich wrote:
>> On 28.07.2023 18:58, Andrew Cooper wrote:
>>> On 28/07/2023 5:36 pm, Andrew Cooper wrote:
>>>> On 28/07/2023 8:59 am, Alejandro Vallejo wrote:
>>>>> Adds a new compile-time flag to allow disabling pdx compression and
>>>>> compiles out compression-related code/data. It also shorts the pdx<->pfn
>>>>> conversion macros and creates stubs for masking fucntions.
>>>>>
>>>>> While at it, removes the old arch-defined CONFIG_HAS_PDX flag, as it was
>>>>> not removable in practice.
>>>>>
>>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>>>> ---
>>>>> v2:
>>>>>   * Merged v1/patch2: Removal of CONFIG_HAS_PDX here (Jan)
>>>> This series is now looking fine, except for the Kconfig aspect.
>>>>
>>>> This is not something any user or developer should ever be queried
>>>> about.Â  The feedback on the documentation patches alone show that it's
>>>> not understood well by the maintainers, even if the principle is accepted.
>>>>
>>>> There is never any reason to have this active on x86.
>> We can of course continue to disagree here. At least with EXPERT=y
>> selecting this option ought to remain possible for x86. Whether or
>> not the original systems this scheme was developed for ever went
>> public, such systems did (do) exist, and hence running Xen sensibly
>> on them (without losing all memory except that on node 0) ought to
>> be possible.
> 
> There's one system which never made its way into production,
> support-for-which in the no-op case is causing a 10% perf hit in at
> least one metric, 17% in another.
> 
> ... and your seriously arguing that we should continue to take this perf
> hit?

Have I asked anywhere to keep this enabled by default? Have I been the
one to first propose a way to reduce this overhead?

> It is very likely that said machine(s) aren't even powered on these
> days, and even if it is on, the vendor can take the overhead of turning
> PDX compression on until such time as they make a production system.
> 
> Furthermore, it is unrealistic to think that such a machine will ever
> make its way into production.Â  Linux has never PDX compression, and
> by-and-large if it doesn't run Linux, you can't sell it in the first place.

I'm sure you recall that Linux has much more VA space for its directmap,
so aiui there simply was no immediate need there.

> It is utterly unreasonable to be carrying this overhead in the first
> place.Â  PDX compression *should not* have been committed on-by-default
> in the first place.Â  (Yes, I know there was no Kconfig back then, and
> the review process was non-existent, but someone really should have said
> no).

Are you suggesting no code should be committed supporting new hardware,
ahead of that hardware going public?

> It is equally unreasonable to offer people (under Expert or not) an
> ability to shoot themselves in the foot like this.

Shoot themselves in the foot? If you enable EXPERT, you better know
what you're doing.

>>> Â  Indeed, Julien's
>>>> quick metric shows how much performance we waste by having it enabled.
>>> Further to this, bloat-o-meter says net -30k of code and there are
>>> plenty of fastpaths getting a several cacheline reduction from this.
>> A similar reduction was achieved
> 
> Really?Â  You think that replacing the innermost shift and masking with
> an alternative that has a shorter instruction sequence gets you the same
> net reduction in code?
> 
> I do not find that claim credible.

Did you ever seriously look at those patches?

>>  by the BMI2-alt-patching series I
>> had put together, yet you weren't willing to come to consensus on
>> it.
> 
> You have AMD machines, and your patch was alleged to be a performance
> improvement.Â  So the fact you didn't spot the problems with PEXT/PDEP on
> all AMD hardware prior to Fam19h suggests there was insufficient testing
> for an alleged performance improvement.
> 
> The patch you posted:
> 
> 1) Added extra complexity via alternatives, and
> 2) Reduced performance on AMD systems prior to Fam19h.
> 
> in an area of code which useless on all shipping x86 systems.
> 
> You literally micro-anti-optimised a no-op path to a more expensive (on
> one vendor at least) no-op path, claiming it to be a performance
> improvement.

You appear to forget the patch patching to MOV instructions ("x86: use
MOV for PFN/PDX conversion when possible"). Are you saying MOV has
performance problems on any CPU?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 08:30:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 08:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573821.898762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQklz-0000cM-AT; Tue, 01 Aug 2023 08:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573821.898762; Tue, 01 Aug 2023 08:30:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQklz-0000cF-7S; Tue, 01 Aug 2023 08:30:31 +0000
Received: by outflank-mailman (input) for mailman id 573821;
 Tue, 01 Aug 2023 08:30: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 1qQklx-0000c4-6S
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 08:30: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 1qQklw-0002Zu-O9; Tue, 01 Aug 2023 08:30:28 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQklw-00031x-DE; Tue, 01 Aug 2023 08:30: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=TqoozpqwtYlI+Cg7N5cwNpfE/d12kuDYjR33SyYgq+M=; b=OK8xo31NTfxJu+T1ynhos4h3Hg
	V4YJ+Jyjg5yGkFdxdnUN/kY4EZIu7I6xL5kpEYla97zoGYMABCjECYwBlT6ZAuD849R3hp0taM6/X
	kFKl0Wjhe7c55ZOxdLnHZp5xFNxLkeWKbL4vTwZP8zxKpC0QUaEh3gwzPn8X/bh7Wy1I=;
Message-ID: <4f43b069-cb78-f356-628e-29b8ca8e595a@xen.org>
Date: Tue, 1 Aug 2023 09:30:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of MPU
 work
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-1-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/08/2023 04:44, Henry Wang wrote:
> Based on the discussion in the Xen Summit [1], sending this series out after
> addressing the comments in v3 [2] as the preparation work to add MPU support.
> 
> Mostly code movement, with some of Kconfig and build system (mainly Makefiles)
> adjustment. No functional change expected.

I can't really review this series without knowing how this will 
integrate with the rest of the MPU work. Can you at least provide a tree 
with all the patches applied (including the MPU one)?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 08:50:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 08:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573831.898772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQl5R-00036m-Ub; Tue, 01 Aug 2023 08:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573831.898772; Tue, 01 Aug 2023 08: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 1qQl5R-00036f-Ry; Tue, 01 Aug 2023 08:50:37 +0000
Received: by outflank-mailman (input) for mailman id 573831;
 Tue, 01 Aug 2023 08:50: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=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQl5Q-00036Z-MG
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 08:50:36 +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 7a5e2ab2-3048-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 10:50:34 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-4fe0d5f719dso8918939e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 01:50:34 -0700 (PDT)
Received: from [192.168.203.100] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y5-20020a197505000000b004fb738796casm2459971lfe.40.2023.08.01.01.50.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 01: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: 7a5e2ab2-3048-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690879834; x=1691484634;
        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=euq1qPdtfnAaXo3+i1yckJxd7MWbpEfx+jqJg8HWVv0=;
        b=ePa6RAL5LAxnlVC1eUbu8IZbvWhzulAtxvVyDHJ0LGmEWS1gbzRAcjZWKnuS0zGPG7
         Nd1A3a5UwgVIP0RMYn97Tz7JKhdc8vqcWq4oQKvMz4XDcYpQMrpYs/HmMHdT7OFMipTA
         EU2CrENjRjAdOEYHElekiGK03MfKFa8zljxj50dWdEE2dHD4b5OMdzC0Ty7ydvU46Y0T
         HMddIiFIV9au8f8MU7r64qAoZgiF9+RmNWNMC5psj6+Mkj6+0avzZqDCf0ObvsMHgsE1
         uGGwYCd7EXhPywwu/lQH6C54wBfU4KMajkbo3kvBeGiJpXmU3rXak+KpX5uYYMJvFXok
         eiIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690879834; x=1691484634;
        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=euq1qPdtfnAaXo3+i1yckJxd7MWbpEfx+jqJg8HWVv0=;
        b=foLEKTjH6zgFXYY2rRunswll16nz4Fn+F12hcNC9i+ItmVxBd/eL49axEduz/mZBbF
         6LtD3XqJwwosLcAWO7KMaTaKscassKMOP9bYpo8f331z8HLFLO870ucAEU0DyCCULjTG
         MIZBkX56huhYE9yJcoOmSCCXoGKhXQtBb6SvXGPSk/9Ke/HrKh3battYB0QYwFmUe/fN
         ZwxWgmVmayAuI7rANBrpujsNwJba7AieMUsWPtqn3L0kG8Uu3zqQwl1UJ52GWdQqYKph
         451IclfksYel0htlL2g8/J9MeL79qeuWA69cMCItwTOBwIEKvKSf6URcb5yb4dasBNA0
         /mEg==
X-Gm-Message-State: ABy/qLb1tp73rFtmuamg1moVao3qZNgRijChuXPHB++QFAV7ZL5vpeFb
	t9HDZq7kSdXaLDd7kKM5am0=
X-Google-Smtp-Source: APBJJlHAlOnZJh6Sprr38MD3TiMWYKeUD4U5eIteWw0pal75KsZsrE+Oy7ZQgaxhlcIalUHITsaOMQ==
X-Received: by 2002:a05:6512:b8b:b0:4fe:cc0:348 with SMTP id b11-20020a0565120b8b00b004fe0cc00348mr2130059lfv.66.1690879833536;
        Tue, 01 Aug 2023 01:50:33 -0700 (PDT)
Message-ID: <0bcbcb53db1f0c9ae279347c3f5c762e5324dd15.camel@gmail.com>
Subject: Re: [PATCH v5 2/2] xen/riscv: introduce identity mapping
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 01 Aug 2023 11:50:32 +0300
In-Reply-To: <911eba8e-a92b-896c-e5dc-e54dcd570664@suse.com>
References: <cover.1690464789.git.oleksii.kurochko@gmail.com>
	 <ab2e719bbe071c3d5c4e3341573c0848dfcee3ee.1690464789.git.oleksii.kurochko@gmail.com>
	 <911eba8e-a92b-896c-e5dc-e54dcd570664@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTA3LTMxIGF0IDE2OjA3ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAyNy4wNy4yMDIzIDE1OjM4LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIGEveGVu
L2FyY2gvcmlzY3YvcmlzY3Y2NC9oZWFkLlMKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2L3Jpc2N2
NjQvaGVhZC5TCj4gPiBAQCAtMzksNiArMzksMjMgQEAgRU5UUlkoc3RhcnQpCj4gPiDCoMKgwqDC
oMKgwqDCoMKgIGphbMKgwqDCoMKgIGNhbGNfcGh5c19vZmZzZXQKPiA+IMKgwqDCoMKgwqDCoMKg
wqAgbXbCoMKgwqDCoMKgIHMyLCBhMAo+ID4gwqAKPiA+ICvCoMKgwqDCoMKgwqDCoCBqYWzCoMKg
wqDCoCBzZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXMKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCAv
KiBDYWxjdWxhdGUgcHJvcGVyIFZBIGFmdGVyIGp1bXAgZnJvbSAxOjEgbWFwcGluZyAqLwo+ID4g
K8KgwqDCoMKgwqDCoMKgIGxhwqDCoMKgwqDCoCB0MCwgLkxfcHJpbWFyeV9zd2l0Y2hlZAo+ID4g
K8KgwqDCoMKgwqDCoMKgIHN1YsKgwqDCoMKgIHQwLCB0MCwgczIKPiA+ICsKPiA+ICvCoMKgwqDC
oMKgwqDCoCBtdsKgwqDCoMKgwqAgYTAsIHQwCj4gPiArwqDCoMKgwqDCoMKgwqAgamFswqDCoMKg
wqAgdHVybl9vbl9tbXUKPiAKPiBBbnkgcmVhc29uIHlvdSBkb24ndCBkbyB0aGUgY2FsY3VsYXRp
b24gcmlnaHQgaW4gYTA/ClByb2JhYmx5IGl0IHdhcyBiZWZvcmUuIEJ1dCB5b3UgYXJlIHJpZ2h0
IHRoZXJlIGlzIG5vIGFueSBzZW5zZSBpbgp1c2luZyBvZiB0MCBpbiB0aGUgY3VycmVudCBjb2Rl
LgpJJ2xsIHVwZGF0ZSB0aGF0LiBUaGFua3MuCgo+IAo+ID4gQEAgLTU0LDMgKzcxLDE4IEBAIEVO
VFJZKHJlc2V0X3N0YWNrKQo+ID4gwqAKPiA+IMKgwqDCoMKgwqDCoMKgwqAgcmV0Cj4gPiDCoAo+
ID4gK8KgwqDCoMKgwqDCoMKgIC5zZWN0aW9uIC50ZXh0LmlkZW50LCAiYXgiLCAlcHJvZ2JpdHMK
PiA+ICsKPiA+ICtFTlRSWSh0dXJuX29uX21tdSkKPiA+ICvCoMKgwqDCoMKgwqDCoCBzZmVuY2Uu
dm1hCj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHQwLCBSVl9TVEFHRTFf
TU9ERQo+ID4gK8KgwqDCoMKgwqDCoMKgIGxpwqDCoMKgwqDCoCB0MSwgU0FUUF9NT0RFX1NISUZU
Cj4gPiArwqDCoMKgwqDCoMKgwqAgc2xswqDCoMKgwqAgdDAsIHQwLCB0MQo+IAo+IENhbid0IHRo
ZSBsYXN0IHR3byBiZSBmb2xkZWQgdG8KPiAKPiDCoMKgwqDCoMKgwqDCoCBzbGxpwqDCoMKgwqAg
dDAsIHQwLCBTQVRQX01PREVfU0hJRlQKPiAKPiAoSSBkb24ndCByZWNhbGwgd2hhdCBsaSdzIHZh
bGlkIHZhbHVlIHJhbmdlIGlzLCBzbyBJJ20gbm90IHN1cmUgaWYKPiAKPiDCoMKgwqDCoMKgwqDC
oCBsacKgwqDCoMKgwqAgdDAsIFJWX1NUQUdFMV9NT0RFIDw8IFNBVFBfTU9ERV9TSElGVAo+IAo+
IHdvdWxkIGJlIGFuIG9wdGlvbi4pCkJvdGggb2Ygb3B0aW9ucyB3aWxsIHdvcmsgYnV0IEkgcHJl
ZmVyIHRvIHVzZSBTTExJIGFzIExJIGV4cGFuZHMgaW50byBhCnBvdGVudGlhbGx5IGxvbmcgYW5k
IGluZWZmaWNpZW50IHNoaWZ0LWFuZC1hZGQgc2VxdWVuY2UgKCBidXQgaW4gdGhpcwpjYXNlIEkg
dGhpbmsgdGhpcyBpcyBub3Qgc28gaW1wb3J0YW50ICkuCj4gCj4gRXZlcnl0aGluZyBlbHNlIGxv
b2tzIGdvb2QgdG8gbWUgbm93LCBidXQgd2lsbCBvZiBjb3Vyc2Ugd2FudCBhCj4gbWFpbnRhaW5l
ciBsb29raW5nIG92ZXIuCldvdWxkIGl0IGJlIGJldHRlciB0byBzZW5kIGEgbmV3IHZlcnNpb24g
bm93IG9yIHdhaXQgZm9yIGEgcmVzcG9uc2UKZnJvbSBvdGhlciBtYWludGFpbmVycz8KCn4gT2xl
a3NpaQo=



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 08:59:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 08:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573835.898782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlDd-0003l7-Pa; Tue, 01 Aug 2023 08:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573835.898782; Tue, 01 Aug 2023 08:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlDd-0003l0-LX; Tue, 01 Aug 2023 08:59:05 +0000
Received: by outflank-mailman (input) for mailman id 573835;
 Tue, 01 Aug 2023 08:59: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQlDc-0003ku-Pa
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 08:59:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9692204-3049-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 10:59:03 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 1A9A44EE0737;
 Tue,  1 Aug 2023 10:59: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: a9692204-3049-11ee-b259-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] x86: mechanically rename to address MISRA C:2012 Rule 5.3
Date: Tue,  1 Aug 2023 10:58:46 +0200
Message-Id: <6c421b903cf11e4dafdb0883e0401ebc2d6cb318.1690880275.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 5.3 has the following headline:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"

The renames done by this patch avoid shadowing from happening.
They are as follows:
- s/socket_info/sock_info/ in 'do_write_psr_msrs'

The parameter 'cpu_khz' that causes a violation in 'pit_init'
is unused, and hence can be removed.

Parameter 'debug_stack_lines' in 'compat_show_guest_stack' is removed,
since the shadowed static variable has the same purpose.

The declaration of 'init_e820' is renamed to be consistent with its
definition.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
This patch is the non-controversial part of patch 1/4 from series
https://lore.kernel.org/xen-devel/cover.1690788513.git.nicola.vetrini@bugseng.com/
The other part has been dealt with with a patch from Jan Beulich
(not yet committed at the time of writing)
https://lore.kernel.org/xen-devel/e9035197-b329-af2e-65ed-af31cd0375c2@suse.com/
---
 xen/arch/x86/domain.c              | 2 +-
 xen/arch/x86/emul-i8254.c          | 2 +-
 xen/arch/x86/include/asm/e820.h    | 2 +-
 xen/arch/x86/include/asm/hvm/vpt.h | 2 +-
 xen/arch/x86/psr.c                 | 4 ++--
 xen/arch/x86/traps.c               | 5 ++---
 6 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 5f66c2ae33..fe86a7f853 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -858,7 +858,7 @@ int arch_domain_create(struct domain *d,
     }
 
     /* PV/PVH guests get an emulated PIT too for video BIOSes to use. */
-    pit_init(d, cpu_khz);
+    pit_init(d);
 
     /*
      * If the FPU does not save FCS/FDS then we can always
diff --git a/xen/arch/x86/emul-i8254.c b/xen/arch/x86/emul-i8254.c
index a81232fc55..41ec4a1ef1 100644
--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -495,7 +495,7 @@ void pit_reset(struct domain *d)
     spin_unlock(&pit->lock);
 }
 
-void pit_init(struct domain *d, unsigned long cpu_khz)
+void pit_init(struct domain *d)
 {
     PITState *pit = domain_vpit(d);
 
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 92f5efa4f5..213d5b5dd2 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -31,7 +31,7 @@ extern int e820_change_range_type(
     uint32_t orig_type, uint32_t new_type);
 extern int e820_add_range(
     struct e820map *, uint64_t s, uint64_t e, uint32_t type);
-extern unsigned long init_e820(const char *, struct e820map *);
+extern unsigned long init_e820(const char *str, struct e820map *raw);
 extern void print_e820_memory_map(const struct e820entry *map,
     unsigned int entries);
 extern struct e820map e820;
diff --git a/xen/arch/x86/include/asm/hvm/vpt.h b/xen/arch/x86/include/asm/hvm/vpt.h
index 2af76ca8dc..feb0bf43f1 100644
--- a/xen/arch/x86/include/asm/hvm/vpt.h
+++ b/xen/arch/x86/include/asm/hvm/vpt.h
@@ -179,7 +179,7 @@ void destroy_periodic_time(struct periodic_time *pt);
 int pv_pit_handler(int port, int data, int write);
 void pit_reset(struct domain *d);
 
-void pit_init(struct domain *d, unsigned long cpu_khz);
+void pit_init(struct domain *d);
 void pit_stop_channel0_irq(PITState * pit);
 void pit_deinit(struct domain *d);
 void rtc_init(struct domain *d);
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index a1e0af27c5..90bcb25e60 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -1252,7 +1252,7 @@ static void cf_check do_write_psr_msrs(void *data)
 {
     const struct cos_write_info *info = data;
     unsigned int i, index, cos = info->cos;
-    const struct psr_socket_info *socket_info =
+    const struct psr_socket_info *sock_info =
         get_socket_info(cpu_to_socket(smp_processor_id()));
 
     /*
@@ -1261,7 +1261,7 @@ static void cf_check do_write_psr_msrs(void *data)
      */
     for ( index = i = 0; i < ARRAY_SIZE(feat_props); i++ )
     {
-        struct feat_node *feat = socket_info->features[i];
+        struct feat_node *feat = sock_info->features[i];
         const struct feat_props *props = feat_props[i];
         unsigned int cos_num, j;
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 4229bda159..f11239fd0f 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -195,8 +195,7 @@ void show_code(const struct cpu_user_regs *regs)
 }
 
 static void compat_show_guest_stack(struct vcpu *v,
-                                    const struct cpu_user_regs *regs,
-                                    int debug_stack_lines)
+                                    const struct cpu_user_regs *regs)
 {
     unsigned int i, *stack, addr, mask = STACK_SIZE;
     void *stack_page = NULL;
@@ -273,7 +272,7 @@ static void show_guest_stack(struct vcpu *v, const struct cpu_user_regs *regs)
 
     if ( is_pv_32bit_vcpu(v) )
     {
-        compat_show_guest_stack(v, regs, debug_stack_lines);
+        compat_show_guest_stack(v, regs);
         return;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573840.898791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGU-0005Cc-5i; Tue, 01 Aug 2023 09:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573840.898791; Tue, 01 Aug 2023 09:02:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGU-0005CV-2Z; Tue, 01 Aug 2023 09:02:02 +0000
Received: by outflank-mailman (input) for mailman id 573840;
 Tue, 01 Aug 2023 09:02:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGS-0005CK-2o
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:00 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f56c019-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:01:56 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:51 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:50 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f56c019-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880516; x=1722416516;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=VNTVJuExdWzMgMIJDnYnYchd3KTTE96ZhRNNSfTQvuI=;
  b=V0Atx1ZdG4ygsgmctKA6aZw0m9r0GIzCL2XUipQr0S14WdV5A9GMwstV
   //q7UI4Z6Qx/d7j8p6DSl9tSF4MsYOBviV3yL8S+6myO9n/zd1PhtMj9X
   uWpkWXgQyXlI7nv7DPeFXRrwa9h2UtdNfv/IRBbhstDY1wDJ0+DUsiy5z
   +R3lL4w60fPweLuyeLZr2oNILu/Kze5OQwlGwy0Wzonxg513nF7FkqbC8
   JrOobudFksaYhbkogz62/8iJhRn0PdzDxKwGEJs2U6ZvfM9ZtY4phE+rB
   xfV7RUpI5NyIpPPIh5XY9Z3bdb3ti5oQTkF83s4eoXSiUR40LBtg5yyLT
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082036"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082036"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216940"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216940"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Date: Tue,  1 Aug 2023 01:32:42 -0700
Message-Id: <20230801083318.8363-1-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Resend because the mail system failed to deliver some messages yesterday.

This patch set enables the Intel flexible return and event delivery
(FRED) architecture for x86-64.

The FRED architecture defines simple new transitions that change
privilege level (ring transitions). The FRED architecture was
designed with the following goals:

1) Improve overall performance and response time by replacing event
   delivery through the interrupt descriptor table (IDT event
   delivery) and event return by the IRET instruction with lower
   latency transitions.

2) Improve software robustness by ensuring that event delivery
   establishes the full supervisor context and that event return
   establishes the full user context.

The new transitions defined by the FRED architecture are FRED event
delivery and, for returning from events, two FRED return instructions.
FRED event delivery can effect a transition from ring 3 to ring 0, but
it is used also to deliver events incident to ring 0. One FRED
instruction (ERETU) effects a return from ring 0 to ring 3, while the
other (ERETS) returns while remaining in ring 0. Collectively, FRED
event delivery and the FRED return instructions are FRED transitions.

Search for the latest FRED spec in most search engines with this search pattern:

  site:intel.com FRED (flexible return and event delivery) specification

As of now there is no publicly avaiable CPU supporting FRED, thus the Intel
SimicsÂ® Simulator is used as software development and testing vehicles. And
it can be downloaded from:
  https://www.intel.com/content/www/us/en/developer/articles/tool/simics-simulator.html

To enable FRED, the Simics package 8112 QSP-CPU needs to be installed with CPU
model configured as:
	$cpu_comp_class = "x86-experimental-fred"


Changes since v8:
* Move the FRED initialization patch after all required changes are in
  place (Thomas Gleixner).
* Don't do syscall early out in fred_entry_from_user() before there are
  proper performance numbers and justifications (Thomas Gleixner).
* Add the control exception handler to the FRED exception handler table
  (Thomas Gleixner).
* Introduce a macro sysvec_install() to derive the asm handler name from
  a C handler, which simplifies the code and avoids an ugly typecast
  (Thomas Gleixner).
* Remove junk code that assumes no local APIC on x86_64 (Thomas Gleixner).
* Put IDTENTRY changes in a separate patch (Thomas Gleixner).
* Use high-order 48 bits above the lowest 16 bit SS only when FRED is
  enabled (Thomas Gleixner).
* Explain why writing directly to the IA32_KERNEL_GS_BASE MSR is
  doing the right thing (Thomas Gleixner).
* Reword some patch descriptions (Thomas Gleixner).
* Add a new macro VMX_DO_FRED_EVENT_IRQOFF for FRED instead of
  refactoring VMX_DO_EVENT_IRQOFF (Sean Christopherson).
* Do NOT use a trampoline, just LEA+PUSH the return RIP, PUSH the error
  code, and jump to the FRED kernel entry point for NMI or call
  external_interrupt() for IRQs (Sean Christopherson).
* Call external_interrupt() only when FRED is enabled, and convert the
  non-FRED handling to external_interrupt() after FRED lands (Sean
  Christopherson).
* Use __packed instead of __attribute__((__packed__)) (Borislav Petkov).
* Put all comments above the members, like the rest of the file does
  (Borislav Petkov).
* Reflect the FRED spec 5.0 change that ERETS and ERETU add 8 to %rsp
  before popping the return context from the stack.
* Reflect stack frame definition changes from FRED spec 3.0 to 5.0.
* Add ENDBR to the FRED_ENTER asm macro after kernel IBT is added to
  FRED base line in FRED spec 5.0.
* Add a document which briefly introduces FRED features.
* Remove 2 patches, "allow FRED systems to use interrupt vectors
  0x10-0x1f" and "allow dynamic stack frame size", from this patch set,
  as they are "optimizations" only.
* Send 2 patches, "header file for event types" and "do not modify the
  DPL bits for a null selector", as pre-FRED patches.

Changes since v7:
* Always call external_interrupt() for VMX IRQ handling on x86_64, thus avoid
  re-entering the noinstr code.
* Create a FRED stack frame when FRED is compiled-in but not enabled, which
  uses some extra stack space but simplifies the code.
* Add a log message when FRED is enabled.

Changes since v6:
* Add a comment to explain why it is safe to write to a previous FRED stack
  frame. (Lai Jiangshan).
* Export fred_entrypoint_kernel(), required when kvm-intel built as a module.
* Reserve a REDZONE for CALL emulation and Align RSP to a 64-byte boundary
  before pushing a new FRED stack frame.
* Replace pt_regs csx flags prefix FRED_CSL_ with FRED_CSX_.

Changes since v5:
* Initialize system_interrupt_handlers with dispatch_table_spurious_interrupt()
  instead of NULL to get rid of a branch (Peter Zijlstra).
* Disallow #DB inside #MCE for robustness sake (Peter Zijlstra).
* Add a comment for FRED stack level settings (Lai Jiangshan).
* Move the NMI bit from an invalid stack frame, which caused ERETU to fault,
  to the fault handler's stack frame, thus to unblock NMI ASAP if NMI is blocked
  (Lai Jiangshan).
* Refactor VMX_DO_EVENT_IRQOFF to handle IRQ/NMI in IRQ/NMI induced VM exits
  when FRED is enabled (Sean Christopherson).

Changes since v4:
* Do NOT use the term "injection", which in the KVM context means to
  reinject an event into the guest (Sean Christopherson).
* Add the explanation of why to execute "int $2" to invoke the NMI handler
  in NMI caused VM exits (Sean Christopherson).
* Use cs/ss instead of csx/ssx when initializing the pt_regs structure
  for calling external_interrupt(), otherwise it breaks i386 build.

Changes since v3:
* Call external_interrupt() to handle IRQ in IRQ caused VM exits.
* Execute "int $2" to handle NMI in NMI caused VM exits.
* Rename csl/ssl of the pt_regs structure to csx/ssx (x for extended)
  (Andrew Cooper).

Changes since v2:
* Improve comments for changes in arch/x86/include/asm/idtentry.h.

Changes since v1:
* call irqentry_nmi_{enter,exit}() in both IDT and FRED debug fault kernel
  handler (Peter Zijlstra).
* Initialize a FRED exception handler to fred_bad_event() instead of NULL
  if no FRED handler defined for an exception vector (Peter Zijlstra).
* Push calling irqentry_{enter,exit}() and instrumentation_{begin,end}()
  down into individual FRED exception handlers, instead of in the dispatch
  framework (Peter Zijlstra).

H. Peter Anvin (Intel) (22):
  x86/fred: Add Kconfig option for FRED (CONFIG_X86_FRED)
  x86/fred: Disable FRED support if CONFIG_X86_FRED is disabled
  x86/cpufeatures: Add the cpu feature bit for FRED
  x86/opcode: Add ERETU, ERETS instructions to x86-opcode-map
  x86/objtool: Teach objtool about ERETU and ERETS
  x86/cpu: Add X86_CR4_FRED macro
  x86/cpu: Add MSR numbers for FRED configuration
  x86/fred: Make unions for the cs and ss fields in struct pt_regs
  x86/fred: Add a new header file for FRED definitions
  x86/fred: Reserve space for the FRED stack frame
  x86/fred: Update MSR_IA32_FRED_RSP0 during task switch
  x86/fred: Let ret_from_fork_asm() jmp to fred_exit_user when FRED is
    enabled
  x86/fred: Disallow the swapgs instruction when FRED is enabled
  x86/fred: No ESPFIX needed when FRED is enabled
  x86/fred: Allow single-step trap and NMI when starting a new task
  x86/fred: Add a page fault entry stub for FRED
  x86/fred: Add a debug fault entry stub for FRED
  x86/fred: Add a NMI entry stub for FRED
  x86/traps: Add a system interrupt handler table for system interrupt
    dispatch
  x86/traps: Add external_interrupt() to dispatch external interrupts
  x86/fred: FRED entry/exit and dispatch code
  x86/fred: FRED initialization code

Xin Li (14):
  Documentation/x86/64: Add documentation for FRED
  x86/fred: Define a common function type fred_handler
  x86/fred: Add a machine check entry stub for FRED
  x86/fred: Add a double fault entry stub for FRED
  x86/entry: Remove idtentry_sysvec from entry_{32,64}.S
  x86/idtentry: Incorporate definitions/declarations of the FRED
    external interrupt handler type
  x86/traps: Add sysvec_install() to install a system interrupt handler
  x86/idtentry: Incorporate declaration/definition of the FRED exception
    handler type
  x86/fred: Fixup fault on ERETU by jumping to fred_entrypoint_user
  x86/traps: Export external_interrupt() for handling IRQ in IRQ induced
    VM exits
  x86/fred: Export fred_entrypoint_kernel() for handling NMI in NMI
    induced VM exits
  KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF for IRQ/NMI handling
  x86/syscall: Split IDT syscall setup code into idt_syscall_init()
  x86/fred: Disable FRED by default in its early stage

 .../admin-guide/kernel-parameters.txt         |   4 +
 Documentation/arch/x86/x86_64/fred.rst        | 102 ++++++++
 Documentation/arch/x86/x86_64/index.rst       |   1 +
 arch/x86/Kconfig                              |   9 +
 arch/x86/entry/Makefile                       |   5 +-
 arch/x86/entry/entry_32.S                     |   4 -
 arch/x86/entry/entry_64.S                     |  14 +-
 arch/x86/entry/entry_64_fred.S                |  58 +++++
 arch/x86/entry/entry_fred.c                   | 220 ++++++++++++++++++
 arch/x86/entry/vsyscall/vsyscall_64.c         |   2 +-
 arch/x86/include/asm/asm-prototypes.h         |   1 +
 arch/x86/include/asm/cpufeatures.h            |   1 +
 arch/x86/include/asm/disabled-features.h      |   8 +-
 arch/x86/include/asm/extable_fixup_types.h    |   4 +-
 arch/x86/include/asm/fred.h                   | 157 +++++++++++++
 arch/x86/include/asm/idtentry.h               | 115 ++++++++-
 arch/x86/include/asm/msr-index.h              |  13 +-
 arch/x86/include/asm/ptrace.h                 |  57 ++++-
 arch/x86/include/asm/switch_to.h              |  11 +-
 arch/x86/include/asm/thread_info.h            |  12 +-
 arch/x86/include/asm/traps.h                  |  23 ++
 arch/x86/include/uapi/asm/processor-flags.h   |   2 +
 arch/x86/kernel/Makefile                      |   1 +
 arch/x86/kernel/cpu/acrn.c                    |   5 +-
 arch/x86/kernel/cpu/common.c                  |  47 +++-
 arch/x86/kernel/cpu/mce/core.c                |  15 ++
 arch/x86/kernel/cpu/mshyperv.c                |  16 +-
 arch/x86/kernel/espfix_64.c                   |   8 +
 arch/x86/kernel/fred.c                        |  67 ++++++
 arch/x86/kernel/irqinit.c                     |   7 +-
 arch/x86/kernel/kvm.c                         |   2 +-
 arch/x86/kernel/nmi.c                         |  19 ++
 arch/x86/kernel/process_64.c                  |  31 ++-
 arch/x86/kernel/traps.c                       | 153 ++++++++++--
 arch/x86/kvm/vmx/vmenter.S                    |  88 +++++++
 arch/x86/kvm/vmx/vmx.c                        |  19 +-
 arch/x86/lib/x86-opcode-map.txt               |   2 +-
 arch/x86/mm/extable.c                         |  79 +++++++
 arch/x86/mm/fault.c                           |  18 +-
 drivers/xen/events/events_base.c              |   3 +-
 tools/arch/x86/include/asm/cpufeatures.h      |   1 +
 .../arch/x86/include/asm/disabled-features.h  |   8 +-
 tools/arch/x86/include/asm/msr-index.h        |  13 +-
 tools/arch/x86/lib/x86-opcode-map.txt         |   2 +-
 tools/objtool/arch/x86/decode.c               |  19 +-
 45 files changed, 1348 insertions(+), 98 deletions(-)
 create mode 100644 Documentation/arch/x86/x86_64/fred.rst
 create mode 100644 arch/x86/entry/entry_64_fred.S
 create mode 100644 arch/x86/entry/entry_fred.c
 create mode 100644 arch/x86/include/asm/fred.h
 create mode 100644 arch/x86/kernel/fred.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573842.898812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGV-0005h7-Q3; Tue, 01 Aug 2023 09:02:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573842.898812; Tue, 01 Aug 2023 09:02: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 1qQlGV-0005gz-Lz; Tue, 01 Aug 2023 09:02:03 +0000
Received: by outflank-mailman (input) for mailman id 573842;
 Tue, 01 Aug 2023 09:02:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGU-0005CK-8H
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:02 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13ae1b3c-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:01 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:54 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:53 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13ae1b3c-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880521; x=1722416521;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=tXI/C++YYSo9nyQMGnRVNwF3YsuprVE9KCho8shF7bg=;
  b=FBrTccm1qP69TBPG13LdDhfig5WgYaMoIz7PFFbEgJQThQFc0W55BqkV
   +Uqv041tr72H7Fn9DVl5s/w1uBW0zfEqKpiesD+VUAJ2iPOAm2l8Gvhmw
   9LmUR713IrRBFhpQQLqU32CPrNOC2jjPoPc2zMVOwV72cSDyQg/lkKGZx
   CnbL6kfvSRZr165+Hm29r4LHKcPCafWd32ZCvsUyeNt4cPDReE0DiP4hU
   Gx+sWuA6jditj7v4tKbWxtyUJxPUiHJlkB4ucfeVMW0N4WksPfsTb0Pe7
   VDaG+4Ts3cYD/jsvX9EJcZKBhYjDdtLq+iB1KhtIwSEy/2iaW7Hj+GY+S
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082167"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082167"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216959"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216959"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 04/36] x86/cpufeatures: Add the cpu feature bit for FRED
Date: Tue,  1 Aug 2023 01:32:46 -0700
Message-Id: <20230801083318.8363-5-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add the CPU feature bit for FRED.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/cpufeatures.h       | 1 +
 tools/arch/x86/include/asm/cpufeatures.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index cb8ca46213be..fd3ddd5c0283 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -317,6 +317,7 @@
 #define X86_FEATURE_FZRM		(12*32+10) /* "" Fast zero-length REP MOVSB */
 #define X86_FEATURE_FSRS		(12*32+11) /* "" Fast short REP STOSB */
 #define X86_FEATURE_FSRC		(12*32+12) /* "" Fast short REP {CMPSB,SCASB} */
+#define X86_FEATURE_FRED		(12*32+17) /* Flexible Return and Event Delivery */
 #define X86_FEATURE_LKGS		(12*32+18) /* "" Load "kernel" (userspace) GS */
 #define X86_FEATURE_AMX_FP16		(12*32+21) /* "" AMX fp16 Support */
 #define X86_FEATURE_AVX_IFMA            (12*32+23) /* "" Support for VPMADD52[H,L]UQ */
diff --git a/tools/arch/x86/include/asm/cpufeatures.h b/tools/arch/x86/include/asm/cpufeatures.h
index cb8ca46213be..fd3ddd5c0283 100644
--- a/tools/arch/x86/include/asm/cpufeatures.h
+++ b/tools/arch/x86/include/asm/cpufeatures.h
@@ -317,6 +317,7 @@
 #define X86_FEATURE_FZRM		(12*32+10) /* "" Fast zero-length REP MOVSB */
 #define X86_FEATURE_FSRS		(12*32+11) /* "" Fast short REP STOSB */
 #define X86_FEATURE_FSRC		(12*32+12) /* "" Fast short REP {CMPSB,SCASB} */
+#define X86_FEATURE_FRED		(12*32+17) /* Flexible Return and Event Delivery */
 #define X86_FEATURE_LKGS		(12*32+18) /* "" Load "kernel" (userspace) GS */
 #define X86_FEATURE_AMX_FP16		(12*32+21) /* "" AMX fp16 Support */
 #define X86_FEATURE_AVX_IFMA            (12*32+23) /* "" Support for VPMADD52[H,L]UQ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573841.898797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGU-0005Ej-FK; Tue, 01 Aug 2023 09:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573841.898797; Tue, 01 Aug 2023 09:02:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGU-0005EG-A4; Tue, 01 Aug 2023 09:02:02 +0000
Received: by outflank-mailman (input) for mailman id 573841;
 Tue, 01 Aug 2023 09:02:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGT-0005CK-25
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:01 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12ee93e4-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:00 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:54 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:53 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12ee93e4-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880520; x=1722416520;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ok7xj4KwdkLOXDJ1J3mT1oirCcERqdhXdoxphTKdFWY=;
  b=kzkHHiOPQ793eCPVXdayOLHpLd0Hq8rtoqH5q625TYiviubgOukDORmB
   6y+gyb4LMmNbUwXsWtagZeh3WYx3+ucB1OfjkYXj93nr4N+hpQ1fmycLS
   30vTtDB82BL9sROJX9nj3/q60ITCeSe49fKEHUpg8cvq2RXTjRdeODUuy
   dn2qIXTb74te+RrDvHWV9oZbs+Ie+yQ/nx1yewVP7orjdAO82//pwVutQ
   I9lY/zZt12/Xb6haEDOjpr9SUUp674kUPyanxcutUZLBWXKqiEzKNlwun
   Wr0Ck64ZA5iDl4Z0DiW7rMh+49L8d/K1Z/Xl1JSMLbAbBeaJ5fzoAjFhu
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082135"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082135"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216956"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216956"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 03/36] x86/fred: Disable FRED support if CONFIG_X86_FRED is disabled
Date: Tue,  1 Aug 2023 01:32:45 -0700
Message-Id: <20230801083318.8363-4-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add CONFIG_X86_FRED to <asm/disabled-features.h> to make
cpu_feature_enabled() work correctly with FRED.

Originally-by: Megha Dey <megha.dey@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/disabled-features.h       | 8 +++++++-
 tools/arch/x86/include/asm/disabled-features.h | 8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/disabled-features.h b/arch/x86/include/asm/disabled-features.h
index fafe9be7a6f4..85fd67c67ce1 100644
--- a/arch/x86/include/asm/disabled-features.h
+++ b/arch/x86/include/asm/disabled-features.h
@@ -105,6 +105,12 @@
 # define DISABLE_TDX_GUEST	(1 << (X86_FEATURE_TDX_GUEST & 31))
 #endif
 
+#ifdef CONFIG_X86_FRED
+# define DISABLE_FRED 0
+#else
+# define DISABLE_FRED (1 << (X86_FEATURE_FRED & 31))
+#endif
+
 /*
  * Make sure to add features to the correct mask
  */
@@ -122,7 +128,7 @@
 #define DISABLED_MASK11	(DISABLE_RETPOLINE|DISABLE_RETHUNK|DISABLE_UNRET| \
 			 DISABLE_CALL_DEPTH_TRACKING)
 #define DISABLED_MASK12	(DISABLE_LAM)
-#define DISABLED_MASK13	0
+#define DISABLED_MASK13	(DISABLE_FRED)
 #define DISABLED_MASK14	0
 #define DISABLED_MASK15	0
 #define DISABLED_MASK16	(DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP| \
diff --git a/tools/arch/x86/include/asm/disabled-features.h b/tools/arch/x86/include/asm/disabled-features.h
index fafe9be7a6f4..85fd67c67ce1 100644
--- a/tools/arch/x86/include/asm/disabled-features.h
+++ b/tools/arch/x86/include/asm/disabled-features.h
@@ -105,6 +105,12 @@
 # define DISABLE_TDX_GUEST	(1 << (X86_FEATURE_TDX_GUEST & 31))
 #endif
 
+#ifdef CONFIG_X86_FRED
+# define DISABLE_FRED 0
+#else
+# define DISABLE_FRED (1 << (X86_FEATURE_FRED & 31))
+#endif
+
 /*
  * Make sure to add features to the correct mask
  */
@@ -122,7 +128,7 @@
 #define DISABLED_MASK11	(DISABLE_RETPOLINE|DISABLE_RETHUNK|DISABLE_UNRET| \
 			 DISABLE_CALL_DEPTH_TRACKING)
 #define DISABLED_MASK12	(DISABLE_LAM)
-#define DISABLED_MASK13	0
+#define DISABLED_MASK13	(DISABLE_FRED)
 #define DISABLED_MASK14	0
 #define DISABLED_MASK15	0
 #define DISABLED_MASK16	(DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP| \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573843.898816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGW-0005jk-2r; Tue, 01 Aug 2023 09:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573843.898816; Tue, 01 Aug 2023 09:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGV-0005j5-UD; Tue, 01 Aug 2023 09:02:03 +0000
Received: by outflank-mailman (input) for mailman id 573843;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGU-0005E5-In
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:02 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11a990c0-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:01:59 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:53 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:52 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11a990c0-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880519; x=1722416519;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7IEqijDovSKiraXkZB5AveXiayuWDixrga5p5CTJEmM=;
  b=HChlJijnmkyEoWl4NcgeZmCDexEeCGIj0Lbc7CJlMeJlnhEda+tLbOlm
   4DFv5cU03XHoDPt+V2pcXQpsBDeu35hsurp9UgCNAzjygu+Sz3T1icCro
   846oZlMVt7Rf7XZqTtcgIwUGR9MaUkwS5+G9m0tTSx4MehpnI2+czS1Uj
   Jeoilk1bF92jWyHOlFn4j3OkGsSsr20SnXZWcAeKAqI8h94JjuJsqS8S7
   NowuDJdfilAgtmgpvrxxRsLjgdMMUC7KbC/eklDaWHGjd5onVnoOb4zv/
   Ekc5dG8bcyJgITEn+njarQ7eMkbzuN5MRmwAiMNkb+nFXPYbt6dBhwUqG
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082101"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082101"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216951"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216951"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 02/36] x86/fred: Add Kconfig option for FRED (CONFIG_X86_FRED)
Date: Tue,  1 Aug 2023 01:32:44 -0700
Message-Id: <20230801083318.8363-3-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add the configuration option CONFIG_X86_FRED to enable FRED.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/Kconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7422db409770..700d94cb8330 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -494,6 +494,15 @@ config X86_CPU_RESCTRL
 
 	  Say N if unsure.
 
+config X86_FRED
+	bool "Flexible Return and Event Delivery"
+	depends on X86_64
+	help
+	  When enabled, try to use Flexible Return and Event Delivery
+	  instead of the legacy SYSCALL/SYSENTER/IDT architecture for
+	  ring transitions and exception/interrupt handling if the
+	  system supports.
+
 if X86_32
 config X86_BIGSMP
 	bool "Support for big SMP systems with more than 8 CPUs"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573844.898823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGW-0005ob-Eq; Tue, 01 Aug 2023 09:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573844.898823; Tue, 01 Aug 2023 09:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGW-0005m6-6s; Tue, 01 Aug 2023 09:02:04 +0000
Received: by outflank-mailman (input) for mailman id 573844;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGV-0005E5-8R
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:03 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10edf405-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:01:59 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:52 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:51 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10edf405-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880519; x=1722416519;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=6FF6EgUyznIqvHXwn5+F1gytlgvayKLTt5Pzm0+v43k=;
  b=QuNFywc+UMpHpIbFImf6ilSe8NIVmH1wzA3OfKAbyCAgOCnK4yNVgbxP
   WP3icBVaReSFeX+TcvWMi6+ApwJpI0EG1BB29A1S13ci12RnBilxcwsMl
   Gac6bI282B8Yv04G9dy0/pFUFAazorgz4Sc/GMKThN2tB7Dyp7sfBpNyB
   oqCccw6NkiUiizzpXL4dav6CeRulDABlBNihElIfyAKCp9c9Hn9Bc2blw
   BlYzHetUuPZUefWQevdwTKlJ62iTyydpgQ18veiZi53NE7+NjHClGR5Hw
   8fu72evGTMXeaKUWiZFEX29klZ23l1jAWiBYB58cHqOnsDuw1NfY7o2fB
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082066"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082066"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216947"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216947"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 01/36] Documentation/x86/64: Add documentation for FRED
Date: Tue,  1 Aug 2023 01:32:43 -0700
Message-Id: <20230801083318.8363-2-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Briefly introduce FRED, its advantages compared to IDT, and its
Linux enabling.

Signed-off-by: Xin Li <xin3.li@intel.com>
---
 Documentation/arch/x86/x86_64/fred.rst  | 102 ++++++++++++++++++++++++
 Documentation/arch/x86/x86_64/index.rst |   1 +
 2 files changed, 103 insertions(+)
 create mode 100644 Documentation/arch/x86/x86_64/fred.rst

diff --git a/Documentation/arch/x86/x86_64/fred.rst b/Documentation/arch/x86/x86_64/fred.rst
new file mode 100644
index 000000000000..27c980e882ba
--- /dev/null
+++ b/Documentation/arch/x86/x86_64/fred.rst
@@ -0,0 +1,102 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================================
+Flexible Return and Event Delivery (FRED)
+=========================================
+
+Overview
+========
+
+The FRED architecture defines simple new transitions that change
+privilege level (ring transitions). The FRED architecture was
+designed with the following goals:
+
+1) Improve overall performance and response time by replacing event
+   delivery through the interrupt descriptor table (IDT event
+   delivery) and event return by the IRET instruction with lower
+   latency transitions.
+
+2) Improve software robustness by ensuring that event delivery
+   establishes the full supervisor context and that event return
+   establishes the full user context.
+
+The new transitions defined by the FRED architecture are FRED event
+delivery and, for returning from events, two FRED return instructions.
+FRED event delivery can effect a transition from ring 3 to ring 0, but
+it is used also to deliver events incident to ring 0. One FRED
+instruction (ERETU) effects a return from ring 0 to ring 3, while the
+other (ERETS) returns while remaining in ring 0. Collectively, FRED
+event delivery and the FRED return instructions are FRED transitions.
+
+In addition to these transitions, the FRED architecture defines a new
+instruction (LKGS) for managing the state of the GS segment register.
+The LKGS instruction can be used by 64-bit operating systems that do
+not use the new FRED transitions.
+
+Software based event dispatching
+================================
+
+FRED operates differently from IDT in terms of event handling. Instead
+of directly dispatching an event to its handler based on the event
+vector, FRED requires the software to dispatch an event to its handler
+based on both the event's type and vector. Therefore, an event
+dispatch framework must be implemented to facilitate the
+event-to-handler dispatch process. The FRED event dispatch framework
+assumes control once an event is delivered, starting from two FRED
+entry points, after which several event dispatch tables are introduced
+to facilitate the dispatching.
+
+The first level dispatching is event type based, and two tables need
+to be defined, one for ring 3 event dispatching, and the other
+for ring 0.
+
+The second level dispatching is event vector based, and
+several tables need to be defined, e.g., an exception handler table
+for exception dispatching.
+
+Full supervisor/user context
+============================
+
+FRED event delivery atomically save and restore full supervisor/user
+context upon event delivery and return. Thus it avoids the problem of
+transient states due to %cr2 and/or %dr6, thus it is no longer needed
+to handle all the ugly corner cases caused by half baked CPU states.
+
+FRED allows explicit unblock of NMI with new event return instructions
+ERETS/ERETU, avoiding the mess caused by IRET which unconditionally
+unblocks NMI, when an exception happens during NMI handling.
+
+FRED always restores the full value of %rsp, thus ESPFIX is no longer
+needed when FRED is enabled.
+
+LKGS
+====
+
+LKGS behaves like the MOV to GS instruction except that it loads the
+base address into the IA32_KERNEL_GS_BASE MSR instead of the GS
+segmentâ€™s descriptor cache, which is exactly what Linux kernel does
+to load user level GS base. With LKGS, it ends up with avoiding
+mucking with kernel GS.
+
+Because FRED event delivery from ring 3 swaps the value of the GS base
+address and that of the IA32_KERNEL_GS_BASE MSR, and ERETU swaps the
+value of the GS base address and that of the IA32_KERNEL_GS_BASE MSR,
+plus the introduction of LKGS instruction, the SWAPGS instruction is
+no longer needed when FRED is enabled, thus is disallowed (#UD).
+
+Stack levels
+============
+
+4 stack levels 0~3 are introduced to replace the un-reentrant IST for
+handling events. Each stack level could be configured to use a
+dedicated stack.
+
+The current stack level could be unchanged or go higher upon FRED
+event delivery. If unchanged, the CPU keeps using the current event
+stack. If higher, the CPU switches to a new stack specified by the
+stack MSR of the new stack level.
+
+Only execution of a FRED return instruction ERETU or ERETS could lower
+the current stack level, causing the CPU to switch back to the stack
+it was on before a previous event delivery.
+satck.
diff --git a/Documentation/arch/x86/x86_64/index.rst b/Documentation/arch/x86/x86_64/index.rst
index a56070fc8e77..ad15e9bd623f 100644
--- a/Documentation/arch/x86/x86_64/index.rst
+++ b/Documentation/arch/x86/x86_64/index.rst
@@ -15,3 +15,4 @@ x86_64 Support
    cpu-hotplug-spec
    machinecheck
    fsgs
+   fred
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573845.898828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGX-00060d-1v; Tue, 01 Aug 2023 09:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573845.898828; Tue, 01 Aug 2023 09:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGW-0005yb-RJ; Tue, 01 Aug 2023 09:02:04 +0000
Received: by outflank-mailman (input) for mailman id 573845;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGV-0005CK-HQ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:03 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1464ee31-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:02 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:57 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:56 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1464ee31-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880522; x=1722416522;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ks9fQ3QR6UqRMocjQpLz+yk1iYvQPVTbiFl2BDd8yPg=;
  b=NAPIbyZIKv5DrR7BPINGcZPR/dmN67i6cSKgYGGqixiyqI+NoGjojH9z
   PRn9oAvSZiQjd0NJ+OpU36zPManyXRvKv7UBrX4OjenF2fB2uD2TKUdDo
   5S5sfQEi1QEwDO78xWuj6ZXGQLgsyla6QRO9+w5Ru12vC8cQvLquTebNK
   K2E8CL7KG+aiawEm+W21PestMYHBuWuNBITr8IRzqW/50sFEsuszSeLHT
   /RsjhDHThtV0OLY+LmtWberNvm1JlbVDJyqwVeAjumoqfvs6PeWREF3cb
   /gOMFkSpuevXgmECORWuq2gpAq97W3LQkpKI36ShhzEZ+XGICazpUeXFz
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082268"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082268"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216979"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216979"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 07/36] x86/cpu: Add X86_CR4_FRED macro
Date: Tue,  1 Aug 2023 01:32:49 -0700
Message-Id: <20230801083318.8363-8-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add X86_CR4_FRED macro for the FRED bit in %cr4. This bit should be a
pinned bit, not to be changed after initialization.

CR4 macros are defined in arch/x86/include/uapi/asm/processor-flags.h,
which is uapi, and thus cannot depend on CONFIG_X86_64.

Using _BITUL() causes build errors on 32 bits, and there is no
guarantee that user space applications (e.g. something like Qemu)
might not want to use this declaration even when building for i386 or
x32.

However, %cr4 is a machine word (unsigned long), so to avoid build
warnings on 32 bits, explicitly cast the value to unsigned long,
truncating upper 32 bits.

The other alternative would be to use CONFIG_X86_64 around the
definition of cr4_pinned_mask. It is probably not desirable to make
cr4_pinned_mask non-const.

Another option, which may be preferable, to be honest: explicitly
enumerate the CR4 bits which *may* be changed (a whitelist), instead
of the ones that may not. That would be a separate, pre-FRED, patch,
and would automatically resolve this problem as a side effect.

The following flags probably should have been in this set all along,
as they are all controls affecting the kernel runtime environment as
opposed to user space:

X86_CR4_DE, X86_CR4_PAE, X86_CR4_PSE, X86_CR4_MCE, X86_CR4_PGE,
X86_CR4_OSFXSR, X86_CR4_OSXMMEXCPT, X86_CR4_LA57, X86_CR4_PCIDE,
X86_CR4_LAM_SUP

Possibly X86_CR4_VMXE as well, which seems harmless even if KVM is
not loaded; X86_CR4_PKE can be fixed as long as the PKE configuration
registers are at least initialized to disabled.

It is relatively simple to do an audit of which flags are allowed to
be modified at runtime and whitelist only those. There is no reason
why we should allow bits in CR4 to be toggled by default.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/uapi/asm/processor-flags.h | 2 ++
 arch/x86/kernel/cpu/common.c                | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/uapi/asm/processor-flags.h b/arch/x86/include/uapi/asm/processor-flags.h
index d898432947ff..ce08c2ca70b5 100644
--- a/arch/x86/include/uapi/asm/processor-flags.h
+++ b/arch/x86/include/uapi/asm/processor-flags.h
@@ -138,6 +138,8 @@
 #define X86_CR4_CET		_BITUL(X86_CR4_CET_BIT)
 #define X86_CR4_LAM_SUP_BIT	28 /* LAM for supervisor pointers */
 #define X86_CR4_LAM_SUP		_BITUL(X86_CR4_LAM_SUP_BIT)
+#define X86_CR4_FRED_BIT	32 /* enable FRED kernel entry */
+#define X86_CR4_FRED		_BITULL(X86_CR4_FRED_BIT)
 
 /*
  * x86-64 Task Priority Register, CR8
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 0ba1067f4e5f..331b06d19f7f 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -402,8 +402,9 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
 
 /* These bits should not change their value after CPU init is finished. */
 static const unsigned long cr4_pinned_mask =
-	X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP |
-	X86_CR4_FSGSBASE | X86_CR4_CET;
+	(unsigned long)
+	(X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP |
+	 X86_CR4_FSGSBASE | X86_CR4_CET | X86_CR4_FRED);
 static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
 static unsigned long cr4_pinned_bits __ro_after_init;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573846.898848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGY-0006Wt-HR; Tue, 01 Aug 2023 09:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573846.898848; Tue, 01 Aug 2023 09: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 1qQlGY-0006Uz-6Q; Tue, 01 Aug 2023 09:02:06 +0000
Received: by outflank-mailman (input) for mailman id 573846;
 Tue, 01 Aug 2023 09:02:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGW-0005E5-Cy
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:04 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 144f88ca-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:02 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:56 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:55 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 144f88ca-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880522; x=1722416522;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+857ZiZ3kYB9kvyULHXUrCarfExj5Gil+GQ461ib92M=;
  b=Bhy1h6qqrKd+OmXALsrai/YGgiWTzzDS40jbpoRHJA+m8jg/vgxHjnwL
   UtnlVosFoAGcw78zS39r3otzyIc2+rbsVTvuxA50kgHjEwAK0JM8vsNsy
   xiYypTA4w3eXM9cc6WKQggzxhDWhqEXVpMs3Slhec7rlUafQBu8lgfkB2
   iq83vVmrqGPjipG0eTaCjlJStOhNTgGCkbYqxhmiM3e1oC7wpjHprlYK4
   T+D9zk+Qv0hRB2bRpfom7Lri0sbaeYgr54qYA0fUjOCo0JY5pXRfuHAf/
   wUauIm2QfbpIeKAMHdyEbFt0G9sVuLuQiI5j4TerFhKNxBu4SbqwqvATZ
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082232"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082232"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216976"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216976"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 06/36] x86/objtool: Teach objtool about ERETU and ERETS
Date: Tue,  1 Aug 2023 01:32:48 -0700
Message-Id: <20230801083318.8363-7-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Update the objtool decoder to know about the ERETU and ERETS
instructions (type INSN_CONTEXT_SWITCH).

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 tools/objtool/arch/x86/decode.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c
index 2e1caabecb18..a486485cff20 100644
--- a/tools/objtool/arch/x86/decode.c
+++ b/tools/objtool/arch/x86/decode.c
@@ -509,11 +509,20 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec
 
 		if (op2 == 0x01) {
 
-			if (modrm == 0xca)
-				insn->type = INSN_CLAC;
-			else if (modrm == 0xcb)
-				insn->type = INSN_STAC;
-
+			switch (insn_last_prefix_id(&ins)) {
+			case INAT_PFX_REPE:
+			case INAT_PFX_REPNE:
+				if (modrm == 0xca)
+					/* eretu/erets */
+					insn->type = INSN_CONTEXT_SWITCH;
+				break;
+			default:
+				if (modrm == 0xca)
+					insn->type = INSN_CLAC;
+				else if (modrm == 0xcb)
+					insn->type = INSN_STAC;
+				break;
+			}
 		} else if (op2 >= 0x80 && op2 <= 0x8f) {
 
 			insn->type = INSN_JUMP_CONDITIONAL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573847.898852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGY-0006dm-SW; Tue, 01 Aug 2023 09:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573847.898852; Tue, 01 Aug 2023 09: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 1qQlGY-0006bP-MD; Tue, 01 Aug 2023 09:02:06 +0000
Received: by outflank-mailman (input) for mailman id 573847;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGW-0005CK-Rl
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:04 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15299869-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:03 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:58 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:57 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15299869-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880523; x=1722416523;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4BQfFZvfF2FO6NJuqP2rESZLyKeNKRqaVIW2rUp/ej0=;
  b=DM33ycWPt/lnS/yPJd4VjncxVMg7Sssbbj0SKNg4pQBDR3R+F4utCr2i
   pEfC9THyeJgNdt0ryuaAYSsXvbwt4NYFXDaDVCvnNGmGD+NwXDAep9W9P
   JJPn4RauZA7kR7NGFQ4y+eoUgMn5WxlWUwFgLX2E+KqavJcvuLFl7IyFO
   7wu92UGJjmlBROjVsFbH1P4VHDq5LfUPS4M8j5JFqbbQ3QRA79zjg398w
   PYOJjwNc7/VettikkDQ6781Tlc04ZiK5rgAOE5+Haq8q+B8jhC4F7/skq
   yQrMKOyH+7SIdbaraBm424V6nfZaSjVFL9TfsHXZe8ExVLHIfFpQjU4sy
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082298"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082298"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216988"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216988"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 08/36] x86/cpu: Add MSR numbers for FRED configuration
Date: Tue,  1 Aug 2023 01:32:50 -0700
Message-Id: <20230801083318.8363-9-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add MSR numbers for the FRED configuration registers.

Originally-by: Megha Dey <megha.dey@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/msr-index.h       | 13 ++++++++++++-
 tools/arch/x86/include/asm/msr-index.h | 13 ++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index a00a53e15ab7..111fb76f6dbe 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -36,8 +36,19 @@
 #define EFER_FFXSR		(1<<_EFER_FFXSR)
 #define EFER_AUTOIBRS		(1<<_EFER_AUTOIBRS)
 
-/* Intel MSRs. Some also available on other CPUs */
+/* FRED MSRs */
+#define MSR_IA32_FRED_RSP0	0x1cc /* Level 0 stack pointer */
+#define MSR_IA32_FRED_RSP1	0x1cd /* Level 1 stack pointer */
+#define MSR_IA32_FRED_RSP2	0x1ce /* Level 2 stack pointer */
+#define MSR_IA32_FRED_RSP3	0x1cf /* Level 3 stack pointer */
+#define MSR_IA32_FRED_STKLVLS	0x1d0 /* Exception stack levels */
+#define MSR_IA32_FRED_SSP0	MSR_IA32_PL0_SSP /* Level 0 shadow stack pointer */
+#define MSR_IA32_FRED_SSP1	0x1d1 /* Level 1 shadow stack pointer */
+#define MSR_IA32_FRED_SSP2	0x1d2 /* Level 2 shadow stack pointer */
+#define MSR_IA32_FRED_SSP3	0x1d3 /* Level 3 shadow stack pointer */
+#define MSR_IA32_FRED_CONFIG	0x1d4 /* Entrypoint and interrupt stack level */
 
+/* Intel MSRs. Some also available on other CPUs */
 #define MSR_TEST_CTRL				0x00000033
 #define MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT	29
 #define MSR_TEST_CTRL_SPLIT_LOCK_DETECT		BIT(MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT)
diff --git a/tools/arch/x86/include/asm/msr-index.h b/tools/arch/x86/include/asm/msr-index.h
index 3aedae61af4f..565cade0785a 100644
--- a/tools/arch/x86/include/asm/msr-index.h
+++ b/tools/arch/x86/include/asm/msr-index.h
@@ -36,8 +36,19 @@
 #define EFER_FFXSR		(1<<_EFER_FFXSR)
 #define EFER_AUTOIBRS		(1<<_EFER_AUTOIBRS)
 
-/* Intel MSRs. Some also available on other CPUs */
+/* FRED MSRs */
+#define MSR_IA32_FRED_RSP0	0x1cc /* Level 0 stack pointer */
+#define MSR_IA32_FRED_RSP1	0x1cd /* Level 1 stack pointer */
+#define MSR_IA32_FRED_RSP2	0x1ce /* Level 2 stack pointer */
+#define MSR_IA32_FRED_RSP3	0x1cf /* Level 3 stack pointer */
+#define MSR_IA32_FRED_STKLVLS	0x1d0 /* Exception stack levels */
+#define MSR_IA32_FRED_SSP0	MSR_IA32_PL0_SSP /* Level 0 shadow stack pointer */
+#define MSR_IA32_FRED_SSP1	0x1d1 /* Level 1 shadow stack pointer */
+#define MSR_IA32_FRED_SSP2	0x1d2 /* Level 2 shadow stack pointer */
+#define MSR_IA32_FRED_SSP3	0x1d3 /* Level 3 shadow stack pointer */
+#define MSR_IA32_FRED_CONFIG	0x1d4 /* Entrypoint and interrupt stack level */
 
+/* Intel MSRs. Some also available on other CPUs */
 #define MSR_TEST_CTRL				0x00000033
 #define MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT	29
 #define MSR_TEST_CTRL_SPLIT_LOCK_DETECT		BIT(MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573848.898862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGZ-0006r3-LV; Tue, 01 Aug 2023 09:02:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573848.898862; Tue, 01 Aug 2023 09:02: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 1qQlGZ-0006ot-BM; Tue, 01 Aug 2023 09:02:07 +0000
Received: by outflank-mailman (input) for mailman id 573848;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGX-0005E5-8S
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:05 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 144b77da-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:02 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:55 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:54 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 144b77da-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880522; x=1722416522;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=F/SemwGNBG6weEZopYj3iIwsf6sy0XGLv5PanieJeUc=;
  b=PTf1qI/ntclSmq1E2/3athJC4+4Uw8AXodqtZ1ZdAzqdFaR+P44xWfaN
   NKBFci8grUrleWddGCMdr7nLnVeDndsQmaiQebxXxxW18oOrQpgTLGBiV
   o7KVaO9UCuhVhD1aaEFrtTNbEAYti3xqOCXHSxzlAekNz96NJBdHVQZkM
   JIV5HQqjLFrWnLq98+xyULmBkylJwlcdInYiMoVqvDcq7irkjzogvMlAs
   K23NPVPsatH0RhwsKtcPK5V/OzXnaKB325gasMLMjlPSQBaEY1TtLNA+g
   yl3lRyLsYKJvBHXWW2nc9PdT3YogRGKI24D1AwZA84Fx2tIC07d9NJuby
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082199"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082199"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216963"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216963"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 05/36] x86/opcode: Add ERETU, ERETS instructions to x86-opcode-map
Date: Tue,  1 Aug 2023 01:32:47 -0700
Message-Id: <20230801083318.8363-6-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add instruction opcodes used by FRED ERETU/ERETS to x86-opcode-map.

Opcode numbers are per FRED spec v5.0.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/lib/x86-opcode-map.txt       | 2 +-
 tools/arch/x86/lib/x86-opcode-map.txt | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index 5168ee0360b2..7a269e269dc0 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -1052,7 +1052,7 @@ EndTable
 
 GrpTable: Grp7
 0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B)
-1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B)
+1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) | ERETU (F3),(010),(11B) | ERETS (F2),(010),(11B)
 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
 3: LIDT Ms
 4: SMSW Mw/Rv
diff --git a/tools/arch/x86/lib/x86-opcode-map.txt b/tools/arch/x86/lib/x86-opcode-map.txt
index 5168ee0360b2..7a269e269dc0 100644
--- a/tools/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/arch/x86/lib/x86-opcode-map.txt
@@ -1052,7 +1052,7 @@ EndTable
 
 GrpTable: Grp7
 0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B)
-1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B)
+1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) | ERETU (F3),(010),(11B) | ERETS (F2),(010),(11B)
 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
 3: LIDT Ms
 4: SMSW Mw/Rv
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573849.898872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGa-0007EI-Sw; Tue, 01 Aug 2023 09:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573849.898872; Tue, 01 Aug 2023 09: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 1qQlGa-0007CG-JY; Tue, 01 Aug 2023 09:02:08 +0000
Received: by outflank-mailman (input) for mailman id 573849;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGY-0005CK-90
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:06 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15f6f484-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:05 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:01 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:00 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15f6f484-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880525; x=1722416525;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+L7aUhS6u+4qwVp6754zs3SWJDqRpOJYTCoF5qb+V6E=;
  b=g2sDu022VTc1+4G5uAVLwL6WUnnLArVoJS6blZ8YWHfmg4UC5CF+VD6R
   t9EXgX2sYMiHjGHcOcEBJ5IQdL5tSnsqMAzdp2MEK65fmoGYPSlgec+dU
   tVvO4eK7jA2zogEmfy2xt2ZOH412B7AFcFsrUZiAR9kZKCx6iOVP00e4Q
   QZu2qkwj8hhOjMzc7D2HRbsRp8rFo5GWuaR2ZrDbRmlU8bmPY9uC7nQ3C
   7kSzaI3M8jIOof/8k0c0xD2MaHgUaPAiz4Ribm3iIozuc6Y2IFCET+XmV
   y8b94CM7m3RQ7qrdU6lSZ2Kh6h8qbQ7TmQXbi+EtRElJ1FzbUT+JgWJ5A
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082397"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082397"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217010"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217010"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 11/36] x86/fred: Reserve space for the FRED stack frame
Date: Tue,  1 Aug 2023 01:32:53 -0700
Message-Id: <20230801083318.8363-12-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

When using FRED, reserve space at the top of the stack frame, just
like i386 does.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/thread_info.h | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index d63b02940747..089cab875cba 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -31,7 +31,9 @@
  * In vm86 mode, the hardware frame is much longer still, so add 16
  * bytes to make room for the real-mode segments.
  *
- * x86_64 has a fixed-length stack frame.
+ * x86-64 has a fixed-length stack frame, but it depends on whether
+ * or not FRED is enabled. Future versions of FRED might make this
+ * dynamic, but for now it is always 2 words longer.
  */
 #ifdef CONFIG_X86_32
 # ifdef CONFIG_VM86
@@ -39,8 +41,12 @@
 # else
 #  define TOP_OF_KERNEL_STACK_PADDING 8
 # endif
-#else
-# define TOP_OF_KERNEL_STACK_PADDING 0
+#else /* x86-64 */
+# ifdef CONFIG_X86_FRED
+#  define TOP_OF_KERNEL_STACK_PADDING (2*8)
+# else
+#  define TOP_OF_KERNEL_STACK_PADDING 0
+# endif
 #endif
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573850.898882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGb-0007RV-Uu; Tue, 01 Aug 2023 09:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573850.898882; Tue, 01 Aug 2023 09:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGb-0007Ot-Ii; Tue, 01 Aug 2023 09:02:09 +0000
Received: by outflank-mailman (input) for mailman id 573850;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGY-0005E5-Qv
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:06 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15b1e78a-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:04 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:01:59 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:58 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15b1e78a-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880524; x=1722416524;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=f1KjXTBSCMC/3m47AKFmo72XHXtCtx2wNvJSmQVR8WU=;
  b=fwynLGsd5v2loGYXM4Hft+oFPHnM3/Pv0Zo8P//zk03wXzwWUQZ8emQd
   61iNt3mjqBE4PCg93E1wauN6aTcpjLZ6Eehx4EBQyaOA3u5OzUfDLa0/T
   69Wx6FzMUwyZVJU3SBhjqBEL6bp6Qj23NGKce7In6DjmZA09U/C39Knhx
   YAN8w5g5DGimnA5Mo+nZeM/lZ7E4PgZ3AIDFpnZlRWWijLYECFTrsr995
   rjOpe0M5YjgjdXc6VZYJfSE6qItSSyRYqzHfPmoubvMgPqt57R+g940nI
   PsNjMK25Eb0fqTDZWnInDacvGWGcJ77PC6lluPUW8Vf0cieQksFU2ofgN
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082330"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082330"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975216994"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975216994"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 09/36] x86/fred: Make unions for the cs and ss fields in struct pt_regs
Date: Tue,  1 Aug 2023 01:32:51 -0700
Message-Id: <20230801083318.8363-10-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Make the cs and ss fields in struct pt_regs unions between the actual
selector and the unsigned long stack slot. FRED uses this space to
store additional flags.

The printk changes are simply due to the cs and ss fields changed to
unsigned short from unsigned long.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Reflect stack frame definition changes from FRED spec 3.0 to 5.0.
* Use __packed instead of __attribute__((__packed__)) (Borislav Petkov).
* Put all comments above the members, like the rest of the file does
  (Borislav Petkov).

Changes since v3:
* Rename csl/ssl of the pt_regs structure to csx/ssx (x for extended)
  (Andrew Cooper).
---
 arch/x86/entry/vsyscall/vsyscall_64.c |  2 +-
 arch/x86/include/asm/ptrace.h         | 57 +++++++++++++++++++++++++--
 arch/x86/kernel/process_64.c          |  2 +-
 3 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/arch/x86/entry/vsyscall/vsyscall_64.c b/arch/x86/entry/vsyscall/vsyscall_64.c
index e0ca8120aea8..a3c0df11d0e6 100644
--- a/arch/x86/entry/vsyscall/vsyscall_64.c
+++ b/arch/x86/entry/vsyscall/vsyscall_64.c
@@ -76,7 +76,7 @@ static void warn_bad_vsyscall(const char *level, struct pt_regs *regs,
 	if (!show_unhandled_signals)
 		return;
 
-	printk_ratelimited("%s%s[%d] %s ip:%lx cs:%lx sp:%lx ax:%lx si:%lx di:%lx\n",
+	printk_ratelimited("%s%s[%d] %s ip:%lx cs:%x sp:%lx ax:%lx si:%lx di:%lx\n",
 			   level, current->comm, task_pid_nr(current),
 			   message, regs->ip, regs->cs,
 			   regs->sp, regs->ax, regs->si, regs->di);
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
index f4db78b09c8f..f1690beffd15 100644
--- a/arch/x86/include/asm/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
@@ -80,15 +80,66 @@ struct pt_regs {
 /*
  * On syscall entry, this is syscall#. On CPU exception, this is error code.
  * On hw interrupt, it's IRQ number:
+ *
+ * A FRED stack frame starts here:
+ *   1) It _always_ includes an error code;
+ *   2) The return frame for eretu/erets starts here.
  */
 	unsigned long orig_ax;
 /* Return frame for iretq */
 	unsigned long ip;
-	unsigned long cs;
+	union {
+/* CS extended: CS + any fields above it */
+		unsigned long csx;
+		struct {
+/* CS selector proper */
+			unsigned short cs;
+/* The stack level (SL) at the time the event occurred */
+			unsigned int sl		: 2;
+/* Set to indicate that indirect branch tracker in WAIT_FOR_ENDBRANCH state */
+			unsigned int wfe	: 1;
+			unsigned int __csx_resv1: 13;
+			unsigned int __csx_resv2: 32;
+		} __packed;
+	};
 	unsigned long flags;
 	unsigned long sp;
-	unsigned long ss;
-/* top of stack page */
+	union {
+/* SS extended: SS + any fields above it */
+		unsigned long ssx;
+		struct {
+/* SS selector proper */
+			unsigned short ss;
+/* Set to indicate that interrupt blocking by STI was in effect */
+			unsigned int sti	: 1;
+/* For SYSCALL, SYSENTER, or INT n (for any value of n) */
+			unsigned int sys	: 1;
+			unsigned int nmi	: 1;
+			unsigned int __ssx_resv1: 13;
+/* Event information fields, ignored by the FRED return instructions */
+			unsigned int vector	: 8;
+			unsigned int __ssx_resv2: 8;
+			unsigned int type	: 4;
+			unsigned int __ssx_resv3: 4;
+/* Set to indicate that the event was incident to enclave execution */
+			unsigned int enc	: 1;
+/* Set to indicate that the logical processor had been in 64-bit mode */
+			unsigned int l		: 1;
+/*
+ * Set to indicate the event is a nested exception encountered during FRED
+ * event delivery of another event. This bit is not set if the event is
+ * double fault (#DF).
+ */
+			unsigned int nst	: 1;
+			unsigned int __ssx_resv4: 1;
+/* The length of the instruction causing the event */
+			unsigned int instr_len	: 4;
+		} __packed;
+	};
+/*
+ * Top of stack page on IDT systems, while FRED systems have extra fields
+ * defined above, see <asm/fred.h>.
+ */
 };
 
 #endif /* !__i386__ */
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 3d181c16a2f6..265ab8fcb146 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -117,7 +117,7 @@ void __show_regs(struct pt_regs *regs, enum show_regs_mode mode,
 
 	printk("%sFS:  %016lx(%04x) GS:%016lx(%04x) knlGS:%016lx\n",
 	       log_lvl, fs, fsindex, gs, gsindex, shadowgs);
-	printk("%sCS:  %04lx DS: %04x ES: %04x CR0: %016lx\n",
+	printk("%sCS:  %04x DS: %04x ES: %04x CR0: %016lx\n",
 		log_lvl, regs->cs, ds, es, cr0);
 	printk("%sCR2: %016lx CR3: %016lx CR4: %016lx\n",
 		log_lvl, cr2, cr3, cr4);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573851.898887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGc-0007ZQ-Kr; Tue, 01 Aug 2023 09:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573851.898887; Tue, 01 Aug 2023 09:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGc-0007Y1-7D; Tue, 01 Aug 2023 09:02:10 +0000
Received: by outflank-mailman (input) for mailman id 573851;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGZ-0005E5-8l
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:07 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15b46ede-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:04 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:00 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:01:59 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15b46ede-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880524; x=1722416524;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=2rbYs2KdLMV2D8jndr60eRf402MI8mOow/QviwqPNSc=;
  b=E2z02fDFeo6ctaAHB+B0QT0QwqeGReNzee59Z0IHF3A8cKtTf5u0xI69
   71AXOdDxfQBi0hd9TfEdpnu0ebSSRsUJ3kfDhhTNb/hPn1dMHSNDBPdxV
   naQnQtbMydYs8oaBRjapOx3ADC7Tu7ISwwJbJQZiXOcijV/sV/1hNTiDr
   AHpigdlQr+ypSnrJBRE7PskiCocKpP6lRTuYVtsC2pax9aicmpFOXl8tT
   1lfDZ/nLyDDwosQlEGWUKpQrqKL/AM/YcNSVNLBXHDS2cemC5kkApNgUK
   LhHd57NnVOyhKY9Fo1a/Vg7LgLiaZGLw+vXBz6aNMS7lXVALb4fDFSEj1
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082363"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082363"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217001"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217001"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 10/36] x86/fred: Add a new header file for FRED definitions
Date: Tue,  1 Aug 2023 01:32:52 -0700
Message-Id: <20230801083318.8363-11-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add a header file for FRED prototypes and definitions.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v6:
* Replace pt_regs csx flags prefix FRED_CSL_ with FRED_CSX_.
---
 arch/x86/include/asm/fred.h | 104 ++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100644 arch/x86/include/asm/fred.h

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
new file mode 100644
index 000000000000..d76e681a806f
--- /dev/null
+++ b/arch/x86/include/asm/fred.h
@@ -0,0 +1,104 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Macros for Flexible Return and Event Delivery (FRED)
+ */
+
+#ifndef ASM_X86_FRED_H
+#define ASM_X86_FRED_H
+
+#include <linux/const.h>
+#include <asm/asm.h>
+
+/*
+ * FRED return instructions
+ *
+ * Replace with "ERETS"/"ERETU" once binutils support FRED return instructions.
+ * The binutils version supporting FRED instructions is still TBD, and will
+ * update once we have it.
+ */
+#define ERETS			_ASM_BYTES(0xf2,0x0f,0x01,0xca)
+#define ERETU			_ASM_BYTES(0xf3,0x0f,0x01,0xca)
+
+/*
+ * RSP is aligned to a 64-byte boundary before used to push a new stack frame
+ */
+#define FRED_STACK_FRAME_RSP_MASK	_AT(unsigned long, (~0x3f))
+
+/*
+ * Event stack level macro for the FRED_STKLVLS MSR.
+ * Usage example: FRED_STKLVL(X86_TRAP_DF, 3)
+ * Multiple values can be ORd together.
+ */
+#define FRED_STKLVL(v,l)	(_AT(unsigned long, l) << (2*(v)))
+
+/* FRED_CONFIG MSR */
+#define FRED_CONFIG_CSL_MASK		0x3
+/*
+ * Used for the return address for call emulation during code patching,
+ * and measured in 64-byte cache lines.
+ */
+#define FRED_CONFIG_REDZONE_AMOUNT	1
+#define FRED_CONFIG_REDZONE		(_AT(unsigned long, FRED_CONFIG_REDZONE_AMOUNT) << 6)
+#define FRED_CONFIG_INT_STKLVL(l)	(_AT(unsigned long, l) << 9)
+#define FRED_CONFIG_ENTRYPOINT(p)	_AT(unsigned long, (p))
+
+/*
+ * FRED event type and vector bit width and counts.
+ *
+ * There is space in the stack frame making it possible to extend event type
+ * and vector fields in the future.
+ */
+#define FRED_EVENT_TYPE_BITS		3
+#define FRED_EVENT_TYPE_COUNT		_BITUL(FRED_EVENT_TYPE_BITS)
+#define FRED_EVENT_VECTOR_BITS		8
+#define FRED_EVENT_VECTOR_COUNT		_BITUL(FRED_EVENT_VECTOR_BITS)
+
+/* FRED EVENT_TYPE_OTHER vector numbers */
+#define FRED_SYSCALL			1
+#define FRED_SYSENTER			2
+#define FRED_NUM_OTHER_VECTORS		3
+
+/* Flags above the SS selector (regs->ssx) */
+#define FRED_SSX_INTERRUPT_SHADOW_BIT	16
+#define FRED_SSX_INTERRUPT_SHADOW	_BITUL(FRED_SSX_INTERRUPT_SHADOW_BIT)
+#define FRED_SSX_SOFTWARE_INITIATED_BIT	17
+#define FRED_SSX_SOFTWARE_INITIATED	_BITUL(FRED_SSX_SOFTWARE_INITIATED_BIT)
+#define FRED_SSX_NMI_BIT		18
+#define FRED_SSX_NMI			_BITUL(FRED_SSX_NMI_BIT)
+#define FRED_SSX_64_BIT_MODE_BIT	57
+#define FRED_SSX_64_BIT_MODE		_BITUL(FRED_SSX_64_BIT_MODE_BIT)
+
+#ifdef CONFIG_X86_FRED
+
+#ifndef __ASSEMBLY__
+
+#include <linux/kernel.h>
+#include <asm/ptrace.h>
+
+struct fred_info {
+	/* Event data: CR2, DR6, ... */
+	unsigned long edata;
+	unsigned long resv;
+};
+
+/* Full format of the FRED stack frame */
+struct fred_frame {
+	struct pt_regs   regs;
+	struct fred_info info;
+};
+
+static __always_inline struct fred_info *fred_info(struct pt_regs *regs)
+{
+	return &container_of(regs, struct fred_frame, regs)->info;
+}
+
+static __always_inline unsigned long fred_event_data(struct pt_regs *regs)
+{
+	return fred_info(regs)->edata;
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* CONFIG_X86_FRED */
+
+#endif /* ASM_X86_FRED_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573852.898897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGd-0007nG-J6; Tue, 01 Aug 2023 09:02:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573852.898897; Tue, 01 Aug 2023 09:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGd-0007kx-0b; Tue, 01 Aug 2023 09:02:11 +0000
Received: by outflank-mailman (input) for mailman id 573852;
 Tue, 01 Aug 2023 09:02:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGZ-0005CK-I1
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:07 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16c89ace-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:06 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:02 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:01 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16c89ace-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880526; x=1722416526;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=lZsnH9xZ+sSI0HJfWdXFi2jVveN7fME2POBe5mQbKKE=;
  b=HcVaThGnaKpuSYErS/ovXzFXKxGhluRl0nl7EgI60sqm1S7xY8hWOQQP
   IAvuhcFnAVm77Qakw9/mHk3ld8+U+VT7TiIPI7Vd/CAPWoF1M9qLdVlbH
   lRNdtCWWaAh+N112PZJs0pAfEGHtfIwxd2JwXpDKzS+TIOH0/VmC9Yc2M
   s+3Lw1iVhDgI/gH6/dzavRxxzyAQukD/x5XdJRiI0jFXLeROPCsuuIOR+
   idEqYPf8KhcLIb6BEyAi2Hrhj1s6Ol5wiOf10kwlcIKgE9vX9lAntEaug
   xVWH5Dp+lj6oFn5k8gYmSDD+ubKJaImgPEcKk5XafZOIo1XFlXyN/P6rM
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082432"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082432"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217021"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217021"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 12/36] x86/fred: Update MSR_IA32_FRED_RSP0 during task switch
Date: Tue,  1 Aug 2023 01:32:54 -0700
Message-Id: <20230801083318.8363-13-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

MSR_IA32_FRED_RSP0 is used during ring 3 event delivery, and needs to
be updated to point to the top of next task stack during task switch.

Update MSR_IA32_FRED_RSP0 with WRMSR instruction for now, and will use
WRMSRNS/WRMSRLIST for performance once it gets upstreamed.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/switch_to.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h
index f42dbf17f52b..6c911fd400b2 100644
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
@@ -70,9 +70,16 @@ static inline void update_task_stack(struct task_struct *task)
 #ifdef CONFIG_X86_32
 	this_cpu_write(cpu_tss_rw.x86_tss.sp1, task->thread.sp0);
 #else
-	/* Xen PV enters the kernel on the thread stack. */
-	if (cpu_feature_enabled(X86_FEATURE_XENPV))
+	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
+		/*
+		 * Will use WRMSRNS/WRMSRLIST for performance once it's upstreamed.
+		 */
+		wrmsrl(MSR_IA32_FRED_RSP0,
+		       (unsigned long)task_stack_page(task) + THREAD_SIZE);
+	} else if (cpu_feature_enabled(X86_FEATURE_XENPV)) {
+		/* Xen PV enters the kernel on the thread stack. */
 		load_sp0(task_top_of_stack(task));
+	}
 #endif
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573853.898904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGe-00083G-Ns; Tue, 01 Aug 2023 09:02:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573853.898904; Tue, 01 Aug 2023 09:02:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGe-000815-3W; Tue, 01 Aug 2023 09:02:12 +0000
Received: by outflank-mailman (input) for mailman id 573853;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGa-0005CK-Nx
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:08 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 179212f7-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:07 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:05 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:04 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 179212f7-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880528; x=1722416528;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=YTgEgmA3f1uzY8PacyZ6XmpZcGIgDW5/dB0vDrivilc=;
  b=TgQeZ39kiLky/KUf9slRjlh3JhN/R50NF9uxU8aFRVI7EhwXXDttmP91
   DWk+xnd0TEyNPJ8K+4I+1ue4PdKo4W2TMbVX2dhbA2MbAdpb1HsADuCux
   6ytXq+DinNWZsq8sw/B107qCzv96l55nzmMc4dUEJLrWRDhz1RmS3jWL0
   nnBbxZoRPwbYnbhGQxZvRTxLBh4ywjz3iDdOo7jkLP8f5ElcPV0nHrWYl
   vBIYaYxy2tzyr49bUwOW/PUQFe1IBI7pUWtVc3IYBZtND9s8MVpa/cYMm
   IYMps2TA1cDrPTiqJaG0L+jiOoipFclehYPUUy4Clmf2iLN6ds9mmNzd9
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082536"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082536"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217048"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217048"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 15/36] x86/fred: No ESPFIX needed when FRED is enabled
Date: Tue,  1 Aug 2023 01:32:57 -0700
Message-Id: <20230801083318.8363-16-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Because FRED always restores the full value of %rsp, ESPFIX is
no longer needed when it's enabled.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/kernel/espfix_64.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/x86/kernel/espfix_64.c b/arch/x86/kernel/espfix_64.c
index 16f9814c9be0..48d133a54f45 100644
--- a/arch/x86/kernel/espfix_64.c
+++ b/arch/x86/kernel/espfix_64.c
@@ -106,6 +106,10 @@ void __init init_espfix_bsp(void)
 	pgd_t *pgd;
 	p4d_t *p4d;
 
+	/* FRED systems don't need ESPFIX */
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		return;
+
 	/* Install the espfix pud into the kernel page directory */
 	pgd = &init_top_pgt[pgd_index(ESPFIX_BASE_ADDR)];
 	p4d = p4d_alloc(&init_mm, pgd, ESPFIX_BASE_ADDR);
@@ -129,6 +133,10 @@ void init_espfix_ap(int cpu)
 	void *stack_page;
 	pteval_t ptemask;
 
+	/* FRED systems don't need ESPFIX */
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		return;
+
 	/* We only have to do this once... */
 	if (likely(per_cpu(espfix_stack, cpu)))
 		return;		/* Already initialized */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573854.898912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGf-0008FR-OU; Tue, 01 Aug 2023 09:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573854.898912; Tue, 01 Aug 2023 09:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGf-0008CQ-09; Tue, 01 Aug 2023 09:02:13 +0000
Received: by outflank-mailman (input) for mailman id 573854;
 Tue, 01 Aug 2023 09:02:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGb-0005E5-1t
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:09 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 171c33d0-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:07 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:03 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:02 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 171c33d0-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880527; x=1722416527;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=90z+Db4H8sAaozlh1y54siqgX9Yc5fCU6uoHEAi25BE=;
  b=cgPYb+Vqk/u9DWUMF9emDccm+N33YOPD1cJCE2EKYkXWAcIE27cF1RzL
   5Cka8GccwA9hSA1C1jhTQjmbqz3RQF5BG2SstDqQ0E6yCM1PTjm79WNXt
   t3V3iayFh3gh8WJc3iXfEZCMnX9hBxTO27ekMe4zwguCtxwLGLphxgufe
   /d8isGqTXrCmjMYAzO7XpUlBhcoYPqGXa8kBuT510d/Jyz+JL/ZSPIomu
   wZekXFgrfwqfF4+RxK50RXlQ/ntp1nBkAMAjuJn5nm5ARqus0keYtaDF7
   JWZrnZTSCIbaFzzSPqBFwcxMHTadJHmpSygUrzw8op3rvCPYRi38NtecD
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082467"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082467"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217035"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217035"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 13/36] x86/fred: Let ret_from_fork_asm() jmp to fred_exit_user when FRED is enabled
Date: Tue,  1 Aug 2023 01:32:55 -0700
Message-Id: <20230801083318.8363-14-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Let ret_from_fork_asm() jmp to fred_exit_user when FRED is enabled,
otherwise the existing IDT code is chosen.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/entry/entry_64.S | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 43606de22511..8069151176f2 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -309,7 +309,13 @@ SYM_CODE_START(ret_from_fork_asm)
 	 * and unwind should work normally.
 	 */
 	UNWIND_HINT_REGS
+
+#ifdef CONFIG_X86_FRED
+	ALTERNATIVE "jmp swapgs_restore_regs_and_return_to_usermode", \
+		    "jmp fred_exit_user", X86_FEATURE_FRED
+#else
 	jmp	swapgs_restore_regs_and_return_to_usermode
+#endif
 SYM_CODE_END(ret_from_fork_asm)
 .popsection
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573855.898920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGg-000063-Rx; Tue, 01 Aug 2023 09:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573855.898920; Tue, 01 Aug 2023 09:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGg-0008UB-8X; Tue, 01 Aug 2023 09:02:14 +0000
Received: by outflank-mailman (input) for mailman id 573855;
 Tue, 01 Aug 2023 09:02:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGb-0005E5-AP
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:09 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 174592e4-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:07 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:04 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:03 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 174592e4-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880527; x=1722416527;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=sycVsd87zmfA3yJCdcgOgrxd4mm6nSq5VT1UdIRGngQ=;
  b=VL88UkAHLPt5w5rRXn4+tKduHpmX3gxKDgGBxNDUF3NyDpRdWssXKK8B
   Ye014wrThl6ozh7CtprZZQ93xbbefbX7qjrO4qzgYTX3qOSFUKlH+5FAv
   sX4fAWck/2i67lnrOB6CycLogb6AEVnYPBQP4hEMiG6E1yhiGPUFwdpEJ
   TNZlgSqz+lbREuE4LoIH7c4XjR9eH1Hx3u6N4ULDvObycnVWIIb6iJPZr
   zegVnBYPLmE6zdCPVAKJve3gAG5QF4y1OeKY0DwzbIdJs4GAihYQAcrNJ
   Rpc967nrPl3EXiz9AoFB6vNv2L+BQv7q+gmnHy6iNmcBHSaEYR1aMSG0V
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082503"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082503"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217041"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217041"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 14/36] x86/fred: Disallow the swapgs instruction when FRED is enabled
Date: Tue,  1 Aug 2023 01:32:56 -0700
Message-Id: <20230801083318.8363-15-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

The FRED architecture establishes the full supervisor/user through:
1) FRED event delivery from ring 3 swaps the value of the GS base
   address and that of the IA32_KERNEL_GS_BASE MSR.
2) ERETU swaps the value of the GS base address and that of the
   IA32_KERNEL_GS_BASE MSR.
3) LKGS is already upstreamed and automatically enabled with FRED to
   load the GS base address directly into the IA32_KERNEL_GS_BASE MSR
   instead of the GS segmentâ€™s descriptor cache.

As a result, there is no need to SWAPGS away from the kernel GS base,
i.e., the swapgs instruction is no longer needed when FRED is enabled,
thus is disallowed. Otherwise it causes #UD.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Explain why writing directly to the IA32_KERNEL_GS_BASE MSR is
  doing the right thing (Thomas Gleixner).
---
 arch/x86/kernel/process_64.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 265ab8fcb146..6d5fed29f552 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -166,7 +166,8 @@ static noinstr unsigned long __rdgsbase_inactive(void)
 
 	lockdep_assert_irqs_disabled();
 
-	if (!cpu_feature_enabled(X86_FEATURE_XENPV)) {
+	if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
+	    !cpu_feature_enabled(X86_FEATURE_XENPV)) {
 		native_swapgs();
 		gsbase = rdgsbase();
 		native_swapgs();
@@ -191,7 +192,8 @@ static noinstr void __wrgsbase_inactive(unsigned long gsbase)
 {
 	lockdep_assert_irqs_disabled();
 
-	if (!cpu_feature_enabled(X86_FEATURE_XENPV)) {
+	if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
+	    !cpu_feature_enabled(X86_FEATURE_XENPV)) {
 		native_swapgs();
 		wrgsbase(gsbase);
 		native_swapgs();
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573856.898931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGi-0000Qx-WF; Tue, 01 Aug 2023 09:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573856.898931; Tue, 01 Aug 2023 09:02: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 1qQlGh-0000KE-JV; Tue, 01 Aug 2023 09:02:15 +0000
Received: by outflank-mailman (input) for mailman id 573856;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGc-0005CK-CJ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:10 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18475fba-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:09 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:06 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:05 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18475fba-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880529; x=1722416529;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=R/F68dINSJ894CWgsWAeNvE3sYeHzSDBLZY+Pavzuys=;
  b=NiQp2LLPEJBx+Id30oM5Io4k+pFWPqTQHMVFpp0GjQbDmFIjx+oWEznd
   0b0kvhttO3MwXyTY8LmLcaKsaWsMmA1VC7kaaLi6xU3Gjuk0RYZGVoVjc
   i4vQA/f1LH4s4S6jWppxLQ+k5gTXtZs9Q7rsiCM3m/fn17S/0F9fBBv/m
   aKUv73Wtnmcj05Jl8xfYZyhKa/0i0DSxV6K6e4+u1bm186qVA+xFpkcY+
   uXinsKHplsXtbOB0L53CsQnkKzMywYU22y31w2wy/6K7J7mk3ODdnl9Tl
   +HwI+C6CqAK/VNIX0dJPDuG8lSLoRNfX0iFl4flvXLlZpXwOdbgnES/b4
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082570"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082570"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217053"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217053"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 16/36] x86/fred: Allow single-step trap and NMI when starting a new task
Date: Tue,  1 Aug 2023 01:32:58 -0700
Message-Id: <20230801083318.8363-17-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Entering a new task is logically speaking a return from a system call
(exec, fork, clone, etc.). As such, if ptrace enables single stepping
a single step exception should be allowed to trigger immediately upon
entering user space. This is not optional.

NMI should *never* be disabled in user space. As such, this is an
optional, opportunistic way to catch errors.

Allow single-step trap and NMI when starting a new task, thus once
the new task enters user space, single-step trap and NMI are both
enabled immediately.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Use high-order 48 bits above the lowest 16 bit SS only when FRED
  is enabled (Thomas Gleixner).
---
 arch/x86/kernel/process_64.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 6d5fed29f552..0b47871a6141 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -56,6 +56,7 @@
 #include <asm/resctrl.h>
 #include <asm/unistd.h>
 #include <asm/fsgsbase.h>
+#include <asm/fred.h>
 #ifdef CONFIG_IA32_EMULATION
 /* Not included via unistd.h */
 #include <asm/unistd_32_ia32.h>
@@ -507,8 +508,18 @@ void x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase)
 static void
 start_thread_common(struct pt_regs *regs, unsigned long new_ip,
 		    unsigned long new_sp,
-		    unsigned int _cs, unsigned int _ss, unsigned int _ds)
+		    u16 _cs, u16 _ss, u16 _ds)
 {
+	/*
+	 * Paranoia: High-order 48 bits above the lowest 16 bit SS are
+	 * discarded by the legacy IRET instruction on all Intel, AMD,
+	 * and Cyrix/Centaur/VIA CPUs, thus can be set unconditionally,
+	 * even when FRED is not enabled. But we choose the safer side
+	 * to use these bits only when FRED is enabled.
+	 */
+	const unsigned long ssx_flags = cpu_feature_enabled(X86_FEATURE_FRED) ?
+		(FRED_SSX_SOFTWARE_INITIATED | FRED_SSX_NMI) : 0;
+
 	WARN_ON_ONCE(regs != current_pt_regs());
 
 	if (static_cpu_has(X86_BUG_NULL_SEG)) {
@@ -522,11 +533,11 @@ start_thread_common(struct pt_regs *regs, unsigned long new_ip,
 	loadsegment(ds, _ds);
 	load_gs_index(0);
 
-	regs->ip		= new_ip;
-	regs->sp		= new_sp;
-	regs->cs		= _cs;
-	regs->ss		= _ss;
-	regs->flags		= X86_EFLAGS_IF;
+	regs->ip	= new_ip;
+	regs->sp	= new_sp;
+	regs->csx	= _cs;
+	regs->ssx	= _ss | ssx_flags;
+	regs->flags	= X86_EFLAGS_IF | X86_EFLAGS_FIXED;
 }
 
 void
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573857.898937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGk-0000jy-FI; Tue, 01 Aug 2023 09:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573857.898937; Tue, 01 Aug 2023 09:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGj-0000ff-7M; Tue, 01 Aug 2023 09:02:17 +0000
Received: by outflank-mailman (input) for mailman id 573857;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGd-0005E5-FH
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:11 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 187f4a42-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:09 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:07 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:06 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 187f4a42-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880529; x=1722416529;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1h9fTPNcW28O8bu/nclSFH4GxPR5CW0Rl9/PbASKNuY=;
  b=B/5TJEGb5N9Rz832QXoRF6k0AltwEf+rz1bdXMvotOzbLPZF4cOY1Jz1
   8pKtxnJjDs8lHbGjLdxv32BZ17kGlObkUqRAt6UAlsmoLKEoFwfkYhiCl
   nM7bi0vblRGfRtkmrmfW9A0cHlZ/YD1xXHeFSGwNiwQw836EtvZ2yzjHt
   OFxN1Y4Nwy+AcVl3R0cnPgFG0NX6fAdiKhBdZ2G+vzCY40nlhyZJWHTiU
   qdnvKjJFBWtJ5TAJMSZvewiw53a8zBdKhl7UgpdElHtU6VF9NDjNmxa0D
   r+vLCF12nJphny0QnH1iIq1/GXu3uLxh6MjO/fO/8Vphzio0LfA58nW3H
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082610"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082610"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217056"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217056"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 17/36] x86/fred: Define a common function type fred_handler
Date: Tue,  1 Aug 2023 01:32:59 -0700
Message-Id: <20230801083318.8363-18-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

FRED event delivery establishes a full supervisor context by saving
the essential information about an event to a FRED stack frame, e.g.,
the faulting linear address of a #PF is saved as event data of a FRED
stack frame. Thus a struct pt_regs has all the needed data to handle
an event and it's the only input argument of a FRED event handler.

Define fred_handler, a common function type used in the FRED event
dispatch framework, which makes it easier to find the entry points
(via grep), allows the prototype to change if necessary without
requiring changing changes everywhere, and makes sure that all the
entry points have the proper decorations (currently noinstr, but
could change in the future.)

Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/fred.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index d76e681a806f..b45c1bea5b7f 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -68,6 +68,19 @@
 #define FRED_SSX_64_BIT_MODE_BIT	57
 #define FRED_SSX_64_BIT_MODE		_BITUL(FRED_SSX_64_BIT_MODE_BIT)
 
+/*
+ * FRED event delivery establishes a full supervisor context by
+ * saving the essential information about an event to a FRED
+ * stack frame, e.g., the faulting linear address of a #PF is
+ * saved as event data of a FRED #PF stack frame. Thus a struct
+ * pt_regs has all the needed data to handle an event and it's
+ * the only input argument of a FRED event handler.
+ *
+ * FRED handlers need to be placed in the noinstr text section.
+ */
+#define DECLARE_FRED_HANDLER(f) void f (struct pt_regs *regs)
+#define DEFINE_FRED_HANDLER(f) noinstr DECLARE_FRED_HANDLER(f)
+
 #ifdef CONFIG_X86_FRED
 
 #ifndef __ASSEMBLY__
@@ -97,6 +110,8 @@ static __always_inline unsigned long fred_event_data(struct pt_regs *regs)
 	return fred_info(regs)->edata;
 }
 
+typedef DECLARE_FRED_HANDLER((*fred_handler));
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* CONFIG_X86_FRED */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:02:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:02:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573858.898944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlGl-00016c-PM; Tue, 01 Aug 2023 09:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573858.898944; Tue, 01 Aug 2023 09: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 1qQlGk-0000yW-Ip; Tue, 01 Aug 2023 09:02:18 +0000
Received: by outflank-mailman (input) for mailman id 573858;
 Tue, 01 Aug 2023 09:02: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGe-0005E5-6k
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:12 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18e3aa30-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:10 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:07 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:06 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18e3aa30-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880530; x=1722416530;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=61pP2ZrTnfM4AWC4LzTY02SWj0Yo4OSnGRh0vm8RTJ0=;
  b=UyI4LP4ken8e5E3ET9j9+coFJVq6qEtMq38jXkVz9hQ8K5vyVUYjx0b/
   J1XBDzDu/xF/UvrpO1V0xWCk6P8frkPc/cTylMJCRRyl+9RyYR+RKhFPP
   JkLcQ/T8OJ2meaIUhGnUn4OAjLtcISeFU7QWVRfZ16Vp2f6TPPRcmxQES
   ItoNgQ38cZn7SEnc5PhXeOu1zO6kPUTDbrNRl/dD7GYpr44S5o2zjA6GK
   rMRYMZVLzxcfgQimCfc1+yf/ylPY9yg1tWiZDt0pkOzUxxLDXNei/K6kq
   a5UVneo4fVe0yyhf73jVZfoxMCphovbdab8cMgQFZPQuIwsWRQGuYZ5x7
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082643"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082643"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217060"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217060"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 18/36] x86/fred: Add a page fault entry stub for FRED
Date: Tue,  1 Aug 2023 01:33:00 -0700
Message-Id: <20230801083318.8363-19-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add a page fault entry stub for FRED.

On a FRED system, the faulting address (CR2) is passed on the stack,
to avoid the problem of transient state. Thus we get the page fault
address from the stack instead of CR2.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/fred.h |  2 ++
 arch/x86/mm/fault.c         | 18 ++++++++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index b45c1bea5b7f..fb8e7b4f2d38 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -112,6 +112,8 @@ static __always_inline unsigned long fred_event_data(struct pt_regs *regs)
 
 typedef DECLARE_FRED_HANDLER((*fred_handler));
 
+DECLARE_FRED_HANDLER(fred_exc_page_fault);
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* CONFIG_X86_FRED */
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index e8711b2cafaf..dd3df092d0f2 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -34,6 +34,7 @@
 #include <asm/kvm_para.h>		/* kvm_handle_async_pf		*/
 #include <asm/vdso.h>			/* fixup_vdso_exception()	*/
 #include <asm/irq_stack.h>
+#include <asm/fred.h>
 
 #define CREATE_TRACE_POINTS
 #include <asm/trace/exceptions.h>
@@ -1495,9 +1496,10 @@ handle_page_fault(struct pt_regs *regs, unsigned long error_code,
 	}
 }
 
-DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault)
+static __always_inline void page_fault_common(struct pt_regs *regs,
+					      unsigned int error_code,
+					      unsigned long address)
 {
-	unsigned long address = read_cr2();
 	irqentry_state_t state;
 
 	prefetchw(&current->mm->mmap_lock);
@@ -1544,3 +1546,15 @@ DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault)
 
 	irqentry_exit(regs, state);
 }
+
+DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault)
+{
+	page_fault_common(regs, error_code, read_cr2());
+}
+
+#ifdef CONFIG_X86_FRED
+DEFINE_FRED_HANDLER(fred_exc_page_fault)
+{
+	page_fault_common(regs, regs->orig_ax, fred_event_data(regs));
+}
+#endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573861.898991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlIx-0007aA-Lq; Tue, 01 Aug 2023 09:04:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573861.898991; Tue, 01 Aug 2023 09:04:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlIx-0007Zx-JE; Tue, 01 Aug 2023 09:04:35 +0000
Received: by outflank-mailman (input) for mailman id 573861;
 Tue, 01 Aug 2023 09:04:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlIw-0007Jn-V5
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:34 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ddb8c0b-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:33 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:29 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:27 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ddb8c0b-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880674; x=1722416674;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Aa5CvA7MmnPHyksJQgqEteFVOvaio1lA17Ke5qS+vL0=;
  b=ZbDJ0SKnXt8+wU2fjJaPps1juOiC5b4LkUuNS8m4Tq04HWrWXIfGAq7d
   fkVyEJV/n9iCJHwRZr3DOOVp4p3csR90zalwvsBaM7HDqjKDcJwv7lU9c
   NOa/8OBNySWoNT/OH4hpGhWZbgYkREUPvII+llIE2ad9xgYMHxHEQK+OQ
   8XQtDvXkWWYJeMD+7oZski2F1xSCIaL9D9g3ae6bKLgo533/UJ+9ZxIyS
   2gTq5inFzqKlFVtZ1oFzyJdF938VlknzkIKG/RHUzFSXswyIyr0MiNknD
   vVQ8U8CapKPaNb9DHU4zFH4GlQihnYmwt2F1SCTJ38gKXptO1C7MzCe41
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713490"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713490"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420715"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420715"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 28/36] x86/idtentry: Incorporate declaration/definition of the FRED exception handler type
Date: Tue,  1 Aug 2023 01:35:45 -0700
Message-Id: <20230801083553.8468-2-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The existing IDT exception C-handlers of X86_TRAP_TS, X86_TRAP_NP,
X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and X86_TRAP_CP take an error
code as the second argument, thus their FRED version handlers simply
call the corresponding existing IDT handlers with orig_ax from the
pt_regs structure as the second argument.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/idtentry.h | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h
index e67d111bf932..3b743c3fbe91 100644
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -11,6 +11,7 @@
 #include <linux/entry-common.h>
 #include <linux/hardirq.h>
 
+#include <asm/fred.h>
 #include <asm/irq_stack.h>
 
 /**
@@ -67,13 +68,16 @@ static __always_inline void __##func(struct pt_regs *regs)
 
 /**
  * DECLARE_IDTENTRY_ERRORCODE - Declare functions for simple IDT entry points
+ *				and their corresponding software based
+ *				dispatch handler
  *				Error code pushed by hardware
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Declares three functions:
+ * Declares four functions:
  * - The ASM entry point: asm_##func
  * - The XEN PV trap entry point: xen_##func (maybe unused)
+ * - The C handler called from the FRED event dispatch framework
  * - The C handler called from the ASM entry point
  *
  * Same as DECLARE_IDTENTRY, but has an extra error_code argument for the
@@ -82,14 +86,19 @@ static __always_inline void __##func(struct pt_regs *regs)
 #define DECLARE_IDTENTRY_ERRORCODE(vector, func)			\
 	asmlinkage void asm_##func(void);				\
 	asmlinkage void xen_asm_##func(void);				\
+	__visible DECLARE_FRED_HANDLER(fred_##func);			\
 	__visible void func(struct pt_regs *regs, unsigned long error_code)
 
 /**
  * DEFINE_IDTENTRY_ERRORCODE - Emit code for simple IDT entry points
+ *			       and their corresponding software based
+ *			       dispatch handler
  *			       Error code pushed by hardware
  * @func:	Function name of the entry point
  *
- * Same as DEFINE_IDTENTRY, but has an extra error_code argument
+ * Same as DEFINE_IDTENTRY, but has an extra error_code argument. The
+ * fred_func() simply calls func() with passing orig_ax as its second
+ * argument.
  */
 #define DEFINE_IDTENTRY_ERRORCODE(func)					\
 static __always_inline void __##func(struct pt_regs *regs,		\
@@ -106,6 +115,11 @@ __visible noinstr void func(struct pt_regs *regs,			\
 	irqentry_exit(regs, state);					\
 }									\
 									\
+__visible DEFINE_FRED_HANDLER(fred_##func)				\
+{									\
+	func(regs, regs->orig_ax);					\
+}									\
+									\
 static __always_inline void __##func(struct pt_regs *regs,		\
 				     unsigned long error_code)
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573860.898982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlIv-0007KM-GE; Tue, 01 Aug 2023 09:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573860.898982; Tue, 01 Aug 2023 09:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlIv-0007KF-Cr; Tue, 01 Aug 2023 09:04:33 +0000
Received: by outflank-mailman (input) for mailman id 573860;
 Tue, 01 Aug 2023 09:04:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlIu-0007Jn-K5
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:32 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bbce850-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:31 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:27 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:25 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bbce850-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880671; x=1722416671;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=BTa7pFRtc5hN79memTk6tlfkpBhDUr274mj/lMgq9SQ=;
  b=iwWWZKuu4xbsqr19bzfC8K3WoG9XzEp5B0XQzMT+x6Moxf6XMwjzmLPo
   HQDk8ALog3LT/kvc3ccUb5YjwwY+JwHKdiP9r+p51KPrBmC6+nKs8Pz6z
   qCKMTdKOJY8uHVq+J0mCxKzWhlulldZunvU2teOiRymiGzS+KTHHW7ExQ
   3yIXqND2VsOje6YfOStFk46C89M0O79/RkRBKKzNF0ZHkTDwOzUKuI4qD
   O5dDcaE2Guk1wBnCwd/QwnXuLmpY8KunpsJ+DbABie96ee0dkob26UV14
   A6JU5FNZlXWy5ameY5eyj2rlhssc9WR+oS/9vmpDc9lQHNh35/njCXRaL
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713452"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713452"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420705"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420705"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 27/36] x86/traps: Add external_interrupt() to dispatch external interrupts
Date: Tue,  1 Aug 2023 01:35:44 -0700
Message-Id: <20230801083553.8468-1-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

external_interrupt() dispatches all external interrupts: it checks if an
external interrupt is a system interrupt, if yes it dipatches it through
the system_interrupt_handlers table, otherwise to
dispatch_common_interrupt().

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Co-developed-by: Xin Li <xin3.li@intel.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Reword the patch description, which was confusing (Thomas Gleixner).

Changes since v5:
* Initialize system_interrupt_handlers with dispatch_table_spurious_interrupt()
  instead of NULL to get rid of a branch (Peter Zijlstra).
---
 arch/x86/include/asm/traps.h |  2 ++
 arch/x86/kernel/traps.c      | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index cba3e4dfc329..48daa78ee88c 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -66,4 +66,6 @@ static inline void sysvec_setup_fred(unsigned int vector, system_interrupt_handl
 	alloc_intr_gate(vector, asm_##func);				\
 }
 
+int external_interrupt(struct pt_regs *regs);
+
 #endif /* _ASM_X86_TRAPS_H */
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 9040c7f01c93..90fdfcccee7a 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1542,6 +1542,24 @@ void set_sysvec_handler(unsigned int i, system_interrupt_handler func)
 	system_interrupt_handlers[i] = func;
 }
 
+int external_interrupt(struct pt_regs *regs)
+{
+	unsigned int vector = regs->vector;
+	unsigned int sysvec = vector - FIRST_SYSTEM_VECTOR;
+
+	if (unlikely(vector < FIRST_EXTERNAL_VECTOR)) {
+		pr_err("invalid external interrupt vector %d\n", vector);
+		return -EINVAL;
+	}
+
+	if (sysvec < NR_SYSTEM_VECTORS)
+		system_interrupt_handlers[sysvec](regs);
+	else
+		dispatch_common_interrupt(regs, vector);
+
+	return 0;
+}
+
 #endif /* CONFIG_X86_64 */
 
 void __init trap_init(void)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573862.899002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlIz-0007rm-VY; Tue, 01 Aug 2023 09:04:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573862.899002; Tue, 01 Aug 2023 09: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 1qQlIz-0007rX-RM; Tue, 01 Aug 2023 09:04:37 +0000
Received: by outflank-mailman (input) for mailman id 573862;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlIy-0007Jn-07
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:36 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d5c006a-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:34 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:30 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:29 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d5c006a-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880674; x=1722416674;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mV4jSKbY2d+wZLYFM+7NRxftfBvXd0NC2fevZMSM55Q=;
  b=JDNQbvog+RFarXLdldpfUH9JO2BugDHaaiwn7A4PeypqUDKOhjLz2IBz
   MAa6iZxe5IirGrD7I7/ol/hH4nfLk0TffYp6j+r2zhqNVuJCn6xP1pi/Q
   wUV92C6cBNj+1w9DG31Zo/NhhdJhI1A6sAZx7rYEuDMXrGIJMss7+oq8D
   /GWjacpBeSaT+Z9r2UE23sQ/PZqcjaTAOlF497P7kmqQD075sH4w4sRIn
   XLb1SS5YpmfYA1yrf8uf/pvuf01M/YHK98wiqKDVlCAIFz4RA+vGmG4oD
   m30aKK/IlYEDgh/E/mLi1u4qHAkiBt8T80xEDkYXAXWzZESEgYPY8HO2I
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713522"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713522"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420725"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420725"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 29/36] x86/fred: FRED entry/exit and dispatch code
Date: Tue,  1 Aug 2023 01:35:46 -0700
Message-Id: <20230801083553.8468-3-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

The code to actually handle kernel and event entry/exit using
FRED. It is split up into two files thus:

- entry_64_fred.S contains the actual entrypoints and exit code, and
  saves and restores registers.
- entry_fred.c contains the two-level event dispatch code for FRED.
  The first-level dispatch is on the event type, and the second-level
  is on the event vector.

Originally-by: Megha Dey <megha.dey@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Co-developed-by: Xin Li <xin3.li@intel.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Don't do syscall early out in fred_entry_from_user() before there are
  proper performance numbers and justifications (Thomas Gleixner).
* Add the control exception handler to the FRED exception handler table
  (Thomas Gleixner).
* Add ENDBR to the FRED_ENTER asm macro.
* Reflect the FRED spec 5.0 change that ERETS and ERETU add 8 to %rsp
  before popping the return context from the stack.

Changes since v1:
* Initialize a FRED exception handler to fred_bad_event() instead of NULL
  if no FRED handler defined for an exception vector (Peter Zijlstra).
* Push calling irqentry_{enter,exit}() and instrumentation_{begin,end}()
  down into individual FRED exception handlers, instead of in the dispatch
  framework (Peter Zijlstra).
---
 arch/x86/entry/Makefile               |   5 +-
 arch/x86/entry/entry_64_fred.S        |  53 +++++++
 arch/x86/entry/entry_fred.c           | 220 ++++++++++++++++++++++++++
 arch/x86/include/asm/asm-prototypes.h |   1 +
 arch/x86/include/asm/fred.h           |   4 +
 arch/x86/include/asm/idtentry.h       |   4 +
 6 files changed, 286 insertions(+), 1 deletion(-)
 create mode 100644 arch/x86/entry/entry_64_fred.S
 create mode 100644 arch/x86/entry/entry_fred.c

diff --git a/arch/x86/entry/Makefile b/arch/x86/entry/Makefile
index ca2fe186994b..c93e7f5c2a06 100644
--- a/arch/x86/entry/Makefile
+++ b/arch/x86/entry/Makefile
@@ -18,6 +18,9 @@ obj-y				+= vdso/
 obj-y				+= vsyscall/
 
 obj-$(CONFIG_PREEMPTION)	+= thunk_$(BITS).o
+CFLAGS_entry_fred.o		+= -fno-stack-protector
+CFLAGS_REMOVE_entry_fred.o	+= -pg $(CC_FLAGS_FTRACE)
+obj-$(CONFIG_X86_FRED)		+= entry_64_fred.o entry_fred.o
+
 obj-$(CONFIG_IA32_EMULATION)	+= entry_64_compat.o syscall_32.o
 obj-$(CONFIG_X86_X32_ABI)	+= syscall_x32.o
-
diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.S
new file mode 100644
index 000000000000..4ae12d557db3
--- /dev/null
+++ b/arch/x86/entry/entry_64_fred.S
@@ -0,0 +1,53 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * The actual FRED entry points.
+ */
+
+#include <asm/fred.h>
+
+#include "calling.h"
+
+	.code64
+	.section ".noinstr.text", "ax"
+
+.macro FRED_ENTER
+	UNWIND_HINT_END_OF_STACK
+	ENDBR
+	PUSH_AND_CLEAR_REGS
+	movq	%rsp, %rdi	/* %rdi -> pt_regs */
+.endm
+
+.macro FRED_EXIT
+	UNWIND_HINT_REGS
+	POP_REGS
+.endm
+
+/*
+ * The new RIP value that FRED event delivery establishes is
+ * IA32_FRED_CONFIG & ~FFFH for events that occur in ring 3.
+ * Thus the FRED ring 3 entry point must be 4K page aligned.
+ */
+	.align 4096
+
+SYM_CODE_START_NOALIGN(fred_entrypoint_user)
+	FRED_ENTER
+	call	fred_entry_from_user
+SYM_INNER_LABEL(fred_exit_user, SYM_L_GLOBAL)
+	FRED_EXIT
+	ERETU
+SYM_CODE_END(fred_entrypoint_user)
+
+.fill fred_entrypoint_kernel - ., 1, 0xcc
+
+/*
+ * The new RIP value that FRED event delivery establishes is
+ * (IA32_FRED_CONFIG & ~FFFH) + 256 for events that occur in
+ * ring 0, i.e., fred_entrypoint_user + 256.
+ */
+	.org fred_entrypoint_user+256
+SYM_CODE_START_NOALIGN(fred_entrypoint_kernel)
+	FRED_ENTER
+	call	fred_entry_from_kernel
+	FRED_EXIT
+	ERETS
+SYM_CODE_END(fred_entrypoint_kernel)
diff --git a/arch/x86/entry/entry_fred.c b/arch/x86/entry/entry_fred.c
new file mode 100644
index 000000000000..1688e7e09370
--- /dev/null
+++ b/arch/x86/entry/entry_fred.c
@@ -0,0 +1,220 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * This contains the dispatch functions called from the entry point
+ * assembly.
+ */
+
+#include <linux/kernel.h>
+#include <linux/kdebug.h>
+#include <linux/nospec.h>
+
+#include <asm/fred.h>
+#include <asm/idtentry.h>
+#include <asm/syscall.h>
+#include <asm/trapnr.h>
+#include <asm/traps.h>
+#include <asm/kdebug.h>
+
+static DEFINE_FRED_HANDLER(fred_bad_event)
+{
+	irqentry_state_t irq_state = irqentry_nmi_enter(regs);
+
+	instrumentation_begin();
+
+	/* Panic on events from a high stack level */
+	if (regs->sl > 0) {
+		pr_emerg("PANIC: invalid or fatal FRED event; event type %u "
+			 "vector %u error 0x%lx aux 0x%lx at %04x:%016lx\n",
+			 regs->type, regs->vector, regs->orig_ax,
+			 fred_event_data(regs), regs->cs, regs->ip);
+		die("invalid or fatal FRED event", regs, regs->orig_ax);
+		panic("invalid or fatal FRED event");
+	} else {
+		unsigned long flags = oops_begin();
+		int sig = SIGKILL;
+
+		pr_alert("BUG: invalid or fatal FRED event; event type %u "
+			 "vector %u error 0x%lx aux 0x%lx at %04x:%016lx\n",
+			 regs->type, regs->vector, regs->orig_ax,
+			 fred_event_data(regs), regs->cs, regs->ip);
+
+		if (__die("Invalid or fatal FRED event", regs, regs->orig_ax))
+			sig = 0;
+
+		oops_end(flags, regs, sig);
+	}
+
+	instrumentation_end();
+	irqentry_nmi_exit(regs, irq_state);
+}
+
+static DEFINE_FRED_HANDLER(fred_exception)
+{
+	/*
+	 * Exceptions that cannot happen on FRED h/w are set to fred_bad_event().
+	 */
+	static const fred_handler exception_handlers[NUM_EXCEPTION_VECTORS] = {
+		[0 ... NUM_EXCEPTION_VECTORS-1] = fred_bad_event,
+
+		[X86_TRAP_DE]		= exc_divide_error,
+		[X86_TRAP_DB]		= fred_exc_debug,
+		[X86_TRAP_BP]		= exc_int3,
+		[X86_TRAP_OF]		= exc_overflow,
+		[X86_TRAP_BR]		= exc_bounds,
+		[X86_TRAP_UD]		= exc_invalid_op,
+		[X86_TRAP_NM]		= exc_device_not_available,
+		[X86_TRAP_DF]		= fred_exc_double_fault,
+		[X86_TRAP_TS]		= fred_exc_invalid_tss,
+		[X86_TRAP_NP]		= fred_exc_segment_not_present,
+		[X86_TRAP_SS]		= fred_exc_stack_segment,
+		[X86_TRAP_GP]		= fred_exc_general_protection,
+		[X86_TRAP_PF]		= fred_exc_page_fault,
+		[X86_TRAP_MF]		= exc_coprocessor_error,
+		[X86_TRAP_AC]		= fred_exc_alignment_check,
+		[X86_TRAP_MC]		= fred_exc_machine_check,
+		[X86_TRAP_XF]		= exc_simd_coprocessor_error,
+		[X86_TRAP_CP]		= fred_exc_control_protection,
+	};
+
+	exception_handlers[regs->vector](regs);
+}
+
+static __always_inline void fred_emulate_trap(struct pt_regs *regs)
+{
+	regs->orig_ax = 0;
+	fred_exception(regs);
+}
+
+static __always_inline void fred_emulate_fault(struct pt_regs *regs)
+{
+	regs->ip -= regs->instr_len;
+	fred_emulate_trap(regs);
+}
+
+static DEFINE_FRED_HANDLER(fred_sw_interrupt_user)
+{
+	/*
+	 * In compat mode INT $0x80 (32bit system call) is
+	 * performance-critical. Handle it first.
+	 */
+	if (IS_ENABLED(CONFIG_IA32_EMULATION) &&
+	    likely(regs->vector == IA32_SYSCALL_VECTOR)) {
+		regs->orig_ax = regs->ax;
+		regs->ax = -ENOSYS;
+		return do_int80_syscall_32(regs);
+	}
+
+	/*
+	 * Some software exceptions can also be triggered as
+	 * int instructions, for historical reasons.
+	 */
+	switch (regs->vector) {
+	case X86_TRAP_BP:
+	case X86_TRAP_OF:
+		fred_emulate_trap(regs);
+		break;
+	default:
+		regs->vector = X86_TRAP_GP;
+		fred_emulate_fault(regs);
+		break;
+	}
+}
+
+static DEFINE_FRED_HANDLER(fred_other_default)
+{
+	regs->vector = X86_TRAP_UD;
+	fred_emulate_fault(regs);
+}
+
+static DEFINE_FRED_HANDLER(fred_syscall)
+{
+	regs->orig_ax = regs->ax;
+	regs->ax = -ENOSYS;
+	do_syscall_64(regs, regs->orig_ax);
+}
+
+#if IS_ENABLED(CONFIG_IA32_EMULATION)
+/*
+ * Emulate SYSENTER if applicable. This is not the preferred system
+ * call in 32-bit mode under FRED, rather int $0x80 is preferred and
+ * exported in the vdso.
+ */
+static DEFINE_FRED_HANDLER(fred_sysenter)
+{
+	regs->orig_ax = regs->ax;
+	regs->ax = -ENOSYS;
+	do_fast_syscall_32(regs);
+}
+#else
+#define fred_sysenter fred_other_default
+#endif
+
+static DEFINE_FRED_HANDLER(fred_other)
+{
+	static const fred_handler user_other_handlers[FRED_NUM_OTHER_VECTORS] =
+	{
+		/*
+		 * Vector 0 of the other event type is not used
+		 * per FRED spec 5.0.
+		 */
+		[0]		= fred_other_default,
+		[FRED_SYSCALL]	= fred_syscall,
+		[FRED_SYSENTER]	= fred_sysenter
+	};
+
+	user_other_handlers[regs->vector](regs);
+}
+
+static DEFINE_FRED_HANDLER(fred_hw_interrupt)
+{
+	irqentry_state_t state = irqentry_enter(regs);
+
+	instrumentation_begin();
+	external_interrupt(regs);
+	instrumentation_end();
+	irqentry_exit(regs, state);
+}
+
+__visible noinstr void fred_entry_from_user(struct pt_regs *regs)
+{
+	static const fred_handler user_handlers[FRED_EVENT_TYPE_COUNT] =
+	{
+		[EVENT_TYPE_HWINT]	= fred_hw_interrupt,
+		[EVENT_TYPE_RESERVED]	= fred_bad_event,
+		[EVENT_TYPE_NMI]	= fred_exc_nmi,
+		[EVENT_TYPE_SWINT]	= fred_sw_interrupt_user,
+		[EVENT_TYPE_HWFAULT]	= fred_exception,
+		[EVENT_TYPE_SWFAULT]	= fred_exception,
+		[EVENT_TYPE_PRIVSW]	= fred_exception,
+		[EVENT_TYPE_OTHER]	= fred_other
+	};
+
+	/*
+	 * FRED employs a two-level event dispatch mechanism, with the
+	 * first-level on the type of an event and the second-level on
+	 * its vector. Here is the first-level dispatch for ring 3 events.
+	 */
+	user_handlers[regs->type](regs);
+}
+
+__visible noinstr void fred_entry_from_kernel(struct pt_regs *regs)
+{
+	static const fred_handler kernel_handlers[FRED_EVENT_TYPE_COUNT] =
+	{
+		[EVENT_TYPE_HWINT]	= fred_hw_interrupt,
+		[EVENT_TYPE_RESERVED]	= fred_bad_event,
+		[EVENT_TYPE_NMI]	= fred_exc_nmi,
+		[EVENT_TYPE_SWINT]	= fred_bad_event,
+		[EVENT_TYPE_HWFAULT]	= fred_exception,
+		[EVENT_TYPE_SWFAULT]	= fred_exception,
+		[EVENT_TYPE_PRIVSW]	= fred_exception,
+		[EVENT_TYPE_OTHER]	= fred_bad_event
+	};
+
+	/*
+	 * FRED employs a two-level event dispatch mechanism, with the
+	 * first-level on the type of an event and the second-level on
+	 * its vector. Here is the first-level dispatch for ring 0 events.
+	 */
+	kernel_handlers[regs->type](regs);
+}
diff --git a/arch/x86/include/asm/asm-prototypes.h b/arch/x86/include/asm/asm-prototypes.h
index b1a98fa38828..36505b991f88 100644
--- a/arch/x86/include/asm/asm-prototypes.h
+++ b/arch/x86/include/asm/asm-prototypes.h
@@ -13,6 +13,7 @@
 #include <asm/preempt.h>
 #include <asm/asm.h>
 #include <asm/gsseg.h>
+#include <asm/fred.h>
 
 #ifndef CONFIG_X86_CMPXCHG64
 extern void cmpxchg8b_emu(void);
diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index bd701ac87528..3c91f0eae62e 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -118,6 +118,10 @@ DECLARE_FRED_HANDLER(fred_exc_page_fault);
 DECLARE_FRED_HANDLER(fred_exc_machine_check);
 DECLARE_FRED_HANDLER(fred_exc_double_fault);
 
+/* The actual assembly entry point for ring 3 and 0 */
+extern asmlinkage __visible void fred_entrypoint_user(void);
+extern asmlinkage __visible void fred_entrypoint_kernel(void);
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* CONFIG_X86_FRED */
diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h
index 3b743c3fbe91..0df3a3cc7e0f 100644
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -661,6 +661,8 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_MC,	exc_machine_check);
 #ifdef CONFIG_XEN_PV
 DECLARE_IDTENTRY_RAW(X86_TRAP_MC,	xenpv_exc_machine_check);
 #endif
+#else
+#define fred_exc_machine_check		fred_bad_event
 #endif
 
 /* NMI */
@@ -699,6 +701,8 @@ DECLARE_IDTENTRY_RAW_ERRORCODE(X86_TRAP_DF,	xenpv_exc_double_fault);
 /* #CP */
 #ifdef CONFIG_X86_KERNEL_IBT
 DECLARE_IDTENTRY_ERRORCODE(X86_TRAP_CP,	exc_control_protection);
+#else
+#define fred_exc_control_protection	fred_bad_event
 #endif
 
 /* #VC */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573863.899008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ0-0007vq-Bm; Tue, 01 Aug 2023 09:04:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573863.899008; Tue, 01 Aug 2023 09:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ0-0007v8-6C; Tue, 01 Aug 2023 09:04:38 +0000
Received: by outflank-mailman (input) for mailman id 573863;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlIy-0007Jn-GA
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:36 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f6ef32f-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:35 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:33 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:30 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f6ef32f-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880675; x=1722416675;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=U03M3kZ8BDHSBlTSXJIlVDmlKpE5VAGPdolj0bAVLvI=;
  b=LUmupCWS0eloOvVChYNMDirFvx/zfDWKHJbnDCmG706JyjF8of4Cv1b8
   ASM+0q0uc0ipkvQota1gKN32+9MvMMygCtVZJeZbRNMgn8oDXpHned3ec
   TDmKcto3wV2C1t3WfBrlcIzCKvOCzG5Rp7ZCkxZFCXWKW0jkVON087hL8
   ALiOJQxF3b7hffdHy5M8qxhpYS8sBHj2WUcF0ozsIyV1p/qHB7bJTcvp2
   nuaVrh29a2jkenyxby6ftN1jOH7GRrcCbutqQBTr469oEZL7tvGDOgwGq
   Y8FKc1ptNNZ0S5YH/yzA7XLmITizlsWDsNhkwBAEvgb9SIYqGsBY2dthB
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713569"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713569"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420732"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420732"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 30/36] x86/fred: Fixup fault on ERETU by jumping to fred_entrypoint_user
Date: Tue,  1 Aug 2023 01:35:47 -0700
Message-Id: <20230801083553.8468-4-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

If the stack frame contains an invalid user context (e.g. due to invalid SS,
a non-canonical RIP, etc.) the ERETU instruction will trap (#SS or #GP).

>From a Linux point of view, this really should be considered a user space
failure, so use the standard fault fixup mechanism to intercept the fault,
fix up the exception frame, and redirect execution to fred_entrypoint_user.
The end result is that it appears just as if the hardware had taken the
exception immediately after completing the transition to user space.

Suggested-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Reflect the FRED spec 5.0 change that ERETS and ERETU add 8 to %rsp
  before popping the return context from the stack.

Changes since v6:
* Add a comment to explain why it is safe to write to the previous FRED stack
  frame. (Lai Jiangshan).

Changes since v5:
* Move the NMI bit from an invalid stack frame, which caused ERETU to fault,
  to the fault handler's stack frame, thus to unblock NMI ASAP if NMI is blocked
  (Lai Jiangshan).
---
 arch/x86/entry/entry_64_fred.S             |  5 +-
 arch/x86/include/asm/extable_fixup_types.h |  4 +-
 arch/x86/mm/extable.c                      | 79 ++++++++++++++++++++++
 3 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.S
index 4ae12d557db3..d24bf7f10ac8 100644
--- a/arch/x86/entry/entry_64_fred.S
+++ b/arch/x86/entry/entry_64_fred.S
@@ -3,6 +3,7 @@
  * The actual FRED entry points.
  */
 
+#include <asm/asm.h>
 #include <asm/fred.h>
 
 #include "calling.h"
@@ -34,7 +35,9 @@ SYM_CODE_START_NOALIGN(fred_entrypoint_user)
 	call	fred_entry_from_user
 SYM_INNER_LABEL(fred_exit_user, SYM_L_GLOBAL)
 	FRED_EXIT
-	ERETU
+1:	ERETU
+
+	_ASM_EXTABLE_TYPE(1b, fred_entrypoint_user, EX_TYPE_ERETU)
 SYM_CODE_END(fred_entrypoint_user)
 
 .fill fred_entrypoint_kernel - ., 1, 0xcc
diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h
index 991e31cfde94..1585c798a02f 100644
--- a/arch/x86/include/asm/extable_fixup_types.h
+++ b/arch/x86/include/asm/extable_fixup_types.h
@@ -64,6 +64,8 @@
 #define	EX_TYPE_UCOPY_LEN4		(EX_TYPE_UCOPY_LEN | EX_DATA_IMM(4))
 #define	EX_TYPE_UCOPY_LEN8		(EX_TYPE_UCOPY_LEN | EX_DATA_IMM(8))
 
-#define EX_TYPE_ZEROPAD			20 /* longword load with zeropad on fault */
+#define	EX_TYPE_ZEROPAD			20 /* longword load with zeropad on fault */
+
+#define	EX_TYPE_ERETU			21
 
 #endif
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 271dcb2deabc..0874f29e85ef 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -6,6 +6,7 @@
 #include <xen/xen.h>
 
 #include <asm/fpu/api.h>
+#include <asm/fred.h>
 #include <asm/sev.h>
 #include <asm/traps.h>
 #include <asm/kdebug.h>
@@ -223,6 +224,80 @@ static bool ex_handler_ucopy_len(const struct exception_table_entry *fixup,
 	return ex_handler_uaccess(fixup, regs, trapnr, fault_address);
 }
 
+#ifdef CONFIG_X86_FRED
+static bool ex_handler_eretu(const struct exception_table_entry *fixup,
+			     struct pt_regs *regs, unsigned long error_code)
+{
+	struct pt_regs *uregs = (struct pt_regs *)
+		(regs->sp - offsetof(struct pt_regs, orig_ax));
+	unsigned short ss = uregs->ss;
+	unsigned short cs = uregs->cs;
+
+	/*
+	 * Move the NMI bit from the invalid stack frame, which caused ERETU
+	 * to fault, to the fault handler's stack frame, thus to unblock NMI
+	 * with the fault handler's ERETS instruction ASAP if NMI is blocked.
+	 */
+	regs->nmi = uregs->nmi;
+
+	/*
+	 * Sync event information to uregs, i.e., the ERETU return frame, but
+	 * is it safe to write to the ERETU return frame which is just above
+	 * current event stack frame?
+	 *
+	 * The RSP used by FRED to push a stack frame is not the value in %rsp,
+	 * it is calculated from %rsp with the following 2 steps:
+	 * 1) RSP = %rsp - (IA32_FRED_CONFIG & 0x1c0)	// Reserve N*64 bytes
+	 * 2) RSP = RSP & ~0x3f		// Align to a 64-byte cache line
+	 * when an event delivery doesn't trigger a stack level change.
+	 *
+	 * Here is an example with N*64 (N=1) bytes reserved:
+	 *
+	 *  64-byte cache line ==>  ______________
+	 *                         |___Reserved___|
+	 *                         |__Event_data__|
+	 *                         |_____SS_______|
+	 *                         |_____RSP______|
+	 *                         |_____FLAGS____|
+	 *                         |_____CS_______|
+	 *                         |_____IP_______|
+	 *  64-byte cache line ==> |__Error_code__| <== ERETU return frame
+	 *                         |______________|
+	 *                         |______________|
+	 *                         |______________|
+	 *                         |______________|
+	 *                         |______________|
+	 *                         |______________|
+	 *                         |______________|
+	 *  64-byte cache line ==> |______________| <== RSP after step 1) and 2)
+	 *                         |___Reserved___|
+	 *                         |__Event_data__|
+	 *                         |_____SS_______|
+	 *                         |_____RSP______|
+	 *                         |_____FLAGS____|
+	 *                         |_____CS_______|
+	 *                         |_____IP_______|
+	 *  64-byte cache line ==> |__Error_code__| <== ERETS return frame
+	 *
+	 * Thus a new FRED stack frame will always be pushed below a previous
+	 * FRED stack frame ((N*64) bytes may be reserved between), and it is
+	 * safe to write to a previous FRED stack frame as they never overlap.
+	 */
+	fred_info(uregs)->edata = fred_event_data(regs);
+	uregs->ssx = regs->ssx;
+	uregs->ss = ss;
+	/* The NMI bit was moved away above */
+	uregs->nmi = 0;
+	uregs->csx = regs->csx;
+	uregs->sl = 0;
+	uregs->wfe = 0;
+	uregs->cs = cs;
+	uregs->orig_ax = error_code;
+
+	return ex_handler_default(fixup, regs);
+}
+#endif
+
 int ex_get_fixup_type(unsigned long ip)
 {
 	const struct exception_table_entry *e = search_exception_tables(ip);
@@ -300,6 +375,10 @@ int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code,
 		return ex_handler_ucopy_len(e, regs, trapnr, fault_addr, reg, imm);
 	case EX_TYPE_ZEROPAD:
 		return ex_handler_zeropad(e, regs, fault_addr);
+#ifdef CONFIG_X86_FRED
+	case EX_TYPE_ERETU:
+		return ex_handler_eretu(e, regs, error_code);
+#endif
 	}
 	BUG();
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573864.899022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ1-0008PV-Rv; Tue, 01 Aug 2023 09:04:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573864.899022; Tue, 01 Aug 2023 09:04: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 1qQlJ1-0008OW-Nn; Tue, 01 Aug 2023 09:04:39 +0000
Received: by outflank-mailman (input) for mailman id 573864;
 Tue, 01 Aug 2023 09:04: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ0-0007sM-Ak
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:38 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6df44d94-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:04:36 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:34 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:32 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6df44d94-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880676; x=1722416676;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QJo+FdezOu/7r5CtwRnG6EayDGJs/agjxSi0oClRDik=;
  b=LJ3fyLruDPs5uYPMxpUokpiz5GD2N0VvPWAkxd1zkcieDy89uuHZ5Utn
   G1SUgXRYaPZxQkByR4jv6sGpiMJOf14LZJRm8yhLmp9PX+ucPWLx/sr/A
   8MkBxGSSdXQDeTOGpiMbSNRqawUBBLLbhOaCo1KAQi9y6GzCphEnIZ6zl
   WbHqjEyncD8mqNGs48Q3K3paoWSLYD0x2xzX31wXcWXQY7c2xz8f3mnoV
   KpHKWmaKcCKnk2kb4fX8FQt6Gi/o9u0t+jmBj/a4B8vWgyHDHtyHaD4SX
   8kjOojzXY64Ro0VJH4Edyz5EywoqQ8LOf/xSBxeR2a+DZOMmvKo8htMK4
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713612"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713612"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420738"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420738"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 31/36] x86/traps: Export external_interrupt() for handling IRQ in IRQ induced VM exits
Date: Tue,  1 Aug 2023 01:35:48 -0700
Message-Id: <20230801083553.8468-5-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Export external_interrupt() for handling IRQ in IRQ induced VM exits.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/kernel/traps.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 90fdfcccee7a..6143ad56008e 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1560,6 +1560,11 @@ int external_interrupt(struct pt_regs *regs)
 	return 0;
 }
 
+#if IS_ENABLED(CONFIG_KVM_INTEL)
+/* For KVM VMX to handle IRQs in IRQ induced VM exits. */
+EXPORT_SYMBOL_GPL(external_interrupt);
+#endif
+
 #endif /* CONFIG_X86_64 */
 
 void __init trap_init(void)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573865.899032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ4-0000JR-6G; Tue, 01 Aug 2023 09:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573865.899032; Tue, 01 Aug 2023 09:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ4-0000Iv-0L; Tue, 01 Aug 2023 09:04:42 +0000
Received: by outflank-mailman (input) for mailman id 573865;
 Tue, 01 Aug 2023 09:04: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ2-0007sM-D1
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:40 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7132afa8-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:04:38 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:36 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:34 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7132afa8-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880678; x=1722416678;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0k0T0+NBS4NOJOU0xtkOh6eqcDmcObEt/EaW35o1kMc=;
  b=MY1FzVtq/L4zjilpun8TivaKg4bfyNcszGLMTse9K/wjuYgPLlJFuZJo
   1je/wZXJlWRMGXLMKaOOP07o4PRMsblLCmSfXbsq0QbL/srtL61MrQ0So
   W91aFWFQjWr31KYsgKC3wRHEXrRUTxg6qF6IL9op5CObAXI+3AlM6SPnL
   6PCi1h1U09aNhDpBl3Oe73Vz+pyD6TS8Mvq/AGgUZsrDYAZI1UyIDxS6u
   LF1esA5SXQ9TCCMSrswhTUFcBdfd99BdNJIPjyIVA9GpuhiiohRYFyZEC
   UN7tzEydKxhTawSWfvrMmnJJRQaC7EzeCom/blUN0g7SPzlXzILUVw/bG
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713646"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713646"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420743"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420743"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 32/36] x86/fred: Export fred_entrypoint_kernel() for handling NMI in NMI induced VM exits
Date: Tue,  1 Aug 2023 01:35:49 -0700
Message-Id: <20230801083553.8468-6-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Export fred_entrypoint_kernel() for handling NMI in NMI induced VM exits.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/entry/entry_64_fred.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.S
index d24bf7f10ac8..12063267d2ac 100644
--- a/arch/x86/entry/entry_64_fred.S
+++ b/arch/x86/entry/entry_64_fred.S
@@ -4,6 +4,7 @@
  */
 
 #include <asm/asm.h>
+#include <asm/export.h>
 #include <asm/fred.h>
 
 #include "calling.h"
@@ -54,3 +55,4 @@ SYM_CODE_START_NOALIGN(fred_entrypoint_kernel)
 	FRED_EXIT
 	ERETS
 SYM_CODE_END(fred_entrypoint_kernel)
+EXPORT_SYMBOL(fred_entrypoint_kernel)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573866.899037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ4-0000NQ-K3; Tue, 01 Aug 2023 09:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573866.899037; Tue, 01 Aug 2023 09:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ4-0000Mq-Bf; Tue, 01 Aug 2023 09:04:42 +0000
Received: by outflank-mailman (input) for mailman id 573866;
 Tue, 01 Aug 2023 09:04: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ2-0007Jn-Gc
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:40 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70a4ac49-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:39 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:38 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:36 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a4ac49-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880679; x=1722416679;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=nRz3qqnddKXYmfF22m/o97+CO0o46xEgUK6odjAvUmY=;
  b=GJqjPjtzrFXwi1NuOogNWvXN5ohoTowUaLAMlflzvg/JuWon776u52o6
   fg9SO/FOWP2DhKs4QeY0SEEcljiLMK7a8Xgk+XJWQe+FtknTmrUVMByGh
   QW0tMiDR7oNlVE9XwZt3fxo5PqIjZgatmvE8G+2uvRi47nHUpLaQ/wtUZ
   UI8W1AOkK0iL9hPDI9EYmyfGo2nayMbv8AnoL40lseTNPv//dV66iknVg
   sPqDagpZ5jIzSOxo7hO5NDXeu09ArozgzDcVf7VOYOw4Ij59ThRteC1t9
   EfbGLhmQppBw3eFNvzUznhMVAcTuGlMxb5VC770AdSRVsz2Xh18sMxb1C
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713682"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713682"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420749"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420749"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF for IRQ/NMI handling
Date: Tue,  1 Aug 2023 01:35:50 -0700
Message-Id: <20230801083553.8468-7-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Compared to an IDT stack frame, a FRED stack frame has extra 16 bytes of
information pushed at the regular stack top and 8 bytes of error code _always_
pushed at the regular stack bottom, add VMX_DO_FRED_EVENT_IRQOFF to generate
FRED stack frames with event type and vector properly set. Thus, IRQ/NMI can
be handled with the existing approach when FRED is enabled.

For IRQ handling, general purpose registers are pushed to the stack to form
a pt_regs structure, which is then used to call external_interrupt(). As a
result, IRQ handling no longer re-enters the noinstr code.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Add a new macro VMX_DO_FRED_EVENT_IRQOFF for FRED instead of refactoring
  VMX_DO_EVENT_IRQOFF (Sean Christopherson).
* Do NOT use a trampoline, just LEA+PUSH the return RIP, PUSH the error code,
  and jump to the FRED kernel entry point for NMI or call external_interrupt()
  for IRQs (Sean Christopherson).
* Call external_interrupt() only when FRED is enabled, and convert the non-FRED
  handling to external_interrupt() after FRED lands (Sean Christopherson).
---
 arch/x86/kvm/vmx/vmenter.S | 88 ++++++++++++++++++++++++++++++++++++++
 arch/x86/kvm/vmx/vmx.c     | 19 ++++++--
 2 files changed, 104 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
index 07e927d4d099..5ee6a57b59a5 100644
--- a/arch/x86/kvm/vmx/vmenter.S
+++ b/arch/x86/kvm/vmx/vmenter.S
@@ -2,12 +2,14 @@
 #include <linux/linkage.h>
 #include <asm/asm.h>
 #include <asm/bitsperlong.h>
+#include <asm/fred.h>
 #include <asm/kvm_vcpu_regs.h>
 #include <asm/nospec-branch.h>
 #include <asm/percpu.h>
 #include <asm/segment.h>
 #include "kvm-asm-offsets.h"
 #include "run_flags.h"
+#include "../../entry/calling.h"
 
 #define WORD_SIZE (BITS_PER_LONG / 8)
 
@@ -31,6 +33,80 @@
 #define VCPU_R15	__VCPU_REGS_R15 * WORD_SIZE
 #endif
 
+#ifdef CONFIG_X86_FRED
+.macro VMX_DO_FRED_EVENT_IRQOFF branch_insn branch_target nmi=0
+	/*
+	 * Unconditionally create a stack frame, getting the correct RSP on the
+	 * stack (for x86-64) would take two instructions anyways, and RBP can
+	 * be used to restore RSP to make objtool happy (see below).
+	 */
+	push %_ASM_BP
+	mov %_ASM_SP, %_ASM_BP
+
+	/*
+	 * Don't check the FRED stack level, the call stack leading to this
+	 * helper is effectively constant and shallow (relatively speaking).
+	 *
+	 * Emulate the FRED-defined redzone and stack alignment.
+	 */
+	sub $(FRED_CONFIG_REDZONE_AMOUNT << 6), %rsp
+	and $FRED_STACK_FRAME_RSP_MASK, %rsp
+
+	/*
+	 * A FRED stack frame has extra 16 bytes of information pushed at the
+	 * regular stack top compared to an IDT stack frame.
+	 */
+	push $0		/* Reserved by FRED, must be 0 */
+	push $0		/* FRED event data, 0 for NMI and external interrupts */
+
+	shl $32, %rdi				/* FRED event type and vector */
+	.if \nmi
+	bts $FRED_SSX_NMI_BIT, %rdi		/* Set the NMI bit */
+	.endif
+	bts $FRED_SSX_64_BIT_MODE_BIT, %rdi	/* Set the 64-bit mode */
+	or $__KERNEL_DS, %rdi
+	push %rdi
+	push %rbp
+	pushf
+	mov $__KERNEL_CS, %rax
+	push %rax
+
+	/*
+	 * Unlike the IDT event delivery, FRED _always_ pushes an error code
+	 * after pushing the return RIP, thus the CALL instruction CANNOT be
+	 * used here to push the return RIP, otherwise there is no chance to
+	 * push an error code before invoking the IRQ/NMI handler.
+	 *
+	 * Use LEA to get the return RIP and push it, then push an error code.
+	 */
+	lea 1f(%rip), %rax
+	push %rax
+	push $0		/* FRED error code, 0 for NMI and external interrupts */
+
+	.if \nmi == 0
+	PUSH_REGS
+	mov %rsp, %rdi
+	.endif
+
+	\branch_insn \branch_target
+
+	.if \nmi == 0
+	POP_REGS
+	.endif
+
+1:
+	/*
+	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to
+	 * the correct value.  objtool doesn't know the callee will IRET and,
+	 * without the explicit restore, thinks the stack is getting walloped.
+	 * Using an unwind hint is problematic due to x86-64's dynamic alignment.
+	 */
+	mov %_ASM_BP, %_ASM_SP
+	pop %_ASM_BP
+	RET
+.endm
+#endif
+
 .macro VMX_DO_EVENT_IRQOFF call_insn call_target
 	/*
 	 * Unconditionally create a stack frame, getting the correct RSP on the
@@ -299,6 +375,12 @@ SYM_INNER_LABEL_ALIGN(vmx_vmexit, SYM_L_GLOBAL)
 
 SYM_FUNC_END(__vmx_vcpu_run)
 
+#ifdef CONFIG_X86_FRED
+SYM_FUNC_START(vmx_do_fred_nmi_irqoff)
+	VMX_DO_FRED_EVENT_IRQOFF jmp fred_entrypoint_kernel nmi=1
+SYM_FUNC_END(vmx_do_fred_nmi_irqoff)
+#endif
+
 SYM_FUNC_START(vmx_do_nmi_irqoff)
 	VMX_DO_EVENT_IRQOFF call asm_exc_nmi_kvm_vmx
 SYM_FUNC_END(vmx_do_nmi_irqoff)
@@ -357,6 +439,12 @@ SYM_FUNC_START(vmread_error_trampoline)
 SYM_FUNC_END(vmread_error_trampoline)
 #endif
 
+#ifdef CONFIG_X86_FRED
+SYM_FUNC_START(vmx_do_fred_interrupt_irqoff)
+	VMX_DO_FRED_EVENT_IRQOFF call external_interrupt
+SYM_FUNC_END(vmx_do_fred_interrupt_irqoff)
+#endif
+
 SYM_FUNC_START(vmx_do_interrupt_irqoff)
 	VMX_DO_EVENT_IRQOFF CALL_NOSPEC _ASM_ARG1
 SYM_FUNC_END(vmx_do_interrupt_irqoff)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 0ecf4be2c6af..4e90c69a92bf 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6890,6 +6890,14 @@ static void vmx_apicv_post_state_restore(struct kvm_vcpu *vcpu)
 	memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir));
 }
 
+#ifdef CONFIG_X86_FRED
+void vmx_do_fred_interrupt_irqoff(unsigned int vector);
+void vmx_do_fred_nmi_irqoff(unsigned int vector);
+#else
+#define vmx_do_fred_interrupt_irqoff(x) BUG()
+#define vmx_do_fred_nmi_irqoff(x) BUG()
+#endif
+
 void vmx_do_interrupt_irqoff(unsigned long entry);
 void vmx_do_nmi_irqoff(void);
 
@@ -6932,14 +6940,16 @@ static void handle_external_interrupt_irqoff(struct kvm_vcpu *vcpu)
 {
 	u32 intr_info = vmx_get_intr_info(vcpu);
 	unsigned int vector = intr_info & INTR_INFO_VECTOR_MASK;
-	gate_desc *desc = (gate_desc *)host_idt_base + vector;
 
 	if (KVM_BUG(!is_external_intr(intr_info), vcpu->kvm,
 	    "unexpected VM-Exit interrupt info: 0x%x", intr_info))
 		return;
 
 	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
-	vmx_do_interrupt_irqoff(gate_offset(desc));
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		vmx_do_fred_interrupt_irqoff(vector);	/* Event type is 0 */
+	else
+		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base + vector));
 	kvm_after_interrupt(vcpu);
 
 	vcpu->arch.at_instruction_boundary = true;
@@ -7225,7 +7235,10 @@ static noinstr void vmx_vcpu_enter_exit(struct kvm_vcpu *vcpu,
 	if ((u16)vmx->exit_reason.basic == EXIT_REASON_EXCEPTION_NMI &&
 	    is_nmi(vmx_get_intr_info(vcpu))) {
 		kvm_before_interrupt(vcpu, KVM_HANDLING_NMI);
-		vmx_do_nmi_irqoff();
+		if (cpu_feature_enabled(X86_FEATURE_FRED))
+			vmx_do_fred_nmi_irqoff((EVENT_TYPE_NMI << 16) | NMI_VECTOR);
+		else
+			vmx_do_nmi_irqoff();
 		kvm_after_interrupt(vcpu);
 	}
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573867.899051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ7-0000wN-5E; Tue, 01 Aug 2023 09:04:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573867.899051; Tue, 01 Aug 2023 09:04:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ7-0000vx-24; Tue, 01 Aug 2023 09:04:45 +0000
Received: by outflank-mailman (input) for mailman id 573867;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ5-0007Jn-Ul
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:44 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72f4c373-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:42 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:42 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:40 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72f4c373-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880682; x=1722416682;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=lojZodI3hwQLsEtOWQ3jf2ThLdccjOvBbgNRJld8Dhw=;
  b=R9DkPACzIdK4HypBghr3yD7fZVKf36Z+6lRzlEkTjMNEJsT5SJ5WWV3v
   av0ExNEU3gLF94PWbHIj6dfFw52Buap335AMHMTS8xHLGCZH+/99PcmMV
   hQkCia5fYmtq95o5PvMJ7+hvXut/jxgXofml/L9LEfVApKtt9K4e4dYjN
   nYAMs4lx2vPYcyHvlMoOQ6kUr8kv9RUvF3bLjW71ywfAuyM1dMNELkRso
   u3B+EqWqYtQtyw/ZJjXcOZr8ddnUbUKceCheU7fSRLc+fuOXihUDIKfVS
   SafVaMpIZvqZcm1Jnz7JrEgGmtaqAYwmUoicxBm7eVf7m7jE55sF1DV6G
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713751"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713751"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420766"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420766"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 35/36] x86/fred: FRED initialization code
Date: Tue,  1 Aug 2023 01:35:52 -0700
Message-Id: <20230801083553.8468-9-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

The code to initialize FRED when it's available and _not_ disabled.

cpu_init_fred_exceptions() is the core function to initialize FRED,
which
  1. Sets up FRED entrypoints for events happening in ring 0 and 3.
  2. Sets up a default stack for event handling.
  3. Sets up dedicated event stacks for DB/NMI/MC/DF, equivalent to
     the IDT IST stacks.
  4. Forces 32-bit system calls to use "int $0x80" only.
  5. Enables FRED and invalidtes IDT.

When the FRED is used, cpu_init_exception_handling() initializes FRED
through calling cpu_init_fred_exceptions(), otherwise it sets up TSS
IST and loads IDT.

As FRED uses the ring 3 FRED entrypoint for SYSCALL and SYSENTER,
it skips setting up SYSCALL/SYSENTER related MSRs, e.g., MSR_LSTAR.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Co-developed-by: Xin Li <xin3.li@intel.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Move this patch after all required changes are in place (Thomas
  Gleixner).

Changes since v5:
* Add a comment for FRED stack level settings (Lai Jiangshan).
* Define #DB/NMI/#MC/#DF stack levels using macros.
---
 arch/x86/include/asm/fred.h  | 28 ++++++++++++++++
 arch/x86/include/asm/traps.h |  4 ++-
 arch/x86/kernel/Makefile     |  1 +
 arch/x86/kernel/cpu/common.c | 28 +++++++++++++---
 arch/x86/kernel/fred.c       | 64 ++++++++++++++++++++++++++++++++++++
 arch/x86/kernel/irqinit.c    |  7 +++-
 arch/x86/kernel/traps.c      | 11 ++++++-
 7 files changed, 135 insertions(+), 8 deletions(-)
 create mode 100644 arch/x86/kernel/fred.c

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index 3c91f0eae62e..6031138b778c 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -68,6 +68,19 @@
 #define FRED_SSX_64_BIT_MODE_BIT	57
 #define FRED_SSX_64_BIT_MODE		_BITUL(FRED_SSX_64_BIT_MODE_BIT)
 
+/* #DB in the kernel would imply the use of a kernel debugger. */
+#define FRED_DB_STACK_LEVEL		1
+#define FRED_NMI_STACK_LEVEL		2
+#define FRED_MC_STACK_LEVEL		2
+/*
+ * #DF is the highest level because a #DF means "something went wrong
+ * *while delivering an exception*." The number of cases for which that
+ * can happen with FRED is drastically reduced and basically amounts to
+ * "the stack you pointed me to is broken." Thus, always change stacks
+ * on #DF, which means it should be at the highest level.
+ */
+#define FRED_DF_STACK_LEVEL		3
+
 /*
  * FRED event delivery establishes a full supervisor context by
  * saving the essential information about an event to a FRED
@@ -122,8 +135,23 @@ DECLARE_FRED_HANDLER(fred_exc_double_fault);
 extern asmlinkage __visible void fred_entrypoint_user(void);
 extern asmlinkage __visible void fred_entrypoint_kernel(void);
 
+void cpu_init_fred_exceptions(void);
+void fred_setup_apic(void);
+
 #endif /* __ASSEMBLY__ */
 
+#else
+#ifndef __ASSEMBLY__
+static inline void cpu_init_fred_exceptions(void)
+{
+	BUG();
+}
+
+static inline void fred_setup_apic(void)
+{
+	BUG();
+}
+#endif
 #endif /* CONFIG_X86_FRED */
 
 #endif /* ASM_X86_FRED_H */
diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index 48daa78ee88c..da7e8ab1d66d 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -49,6 +49,7 @@ void __noreturn handle_stack_overflow(struct pt_regs *regs,
 
 #ifdef CONFIG_X86_64
 inline void set_sysvec_handler(unsigned int i, system_interrupt_handler func);
+bool is_sysvec_used(unsigned int i);
 
 static inline void sysvec_setup_fred(unsigned int vector, system_interrupt_handler func)
 {
@@ -63,7 +64,8 @@ static inline void sysvec_setup_fred(unsigned int vector, system_interrupt_handl
 
 #define sysvec_install(vector, func) {					\
 	sysvec_setup_fred(vector, func);				\
-	alloc_intr_gate(vector, asm_##func);				\
+	if (!cpu_feature_enabled(X86_FEATURE_FRED))			\
+		alloc_intr_gate(vector, asm_##func);			\
 }
 
 int external_interrupt(struct pt_regs *regs);
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 4070a01c11b7..46d8daa11c17 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -48,6 +48,7 @@ obj-y			+= platform-quirks.o
 obj-y			+= process_$(BITS).o signal.o signal_$(BITS).o
 obj-y			+= traps.o idt.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
 obj-y			+= time.o ioport.o dumpstack.o nmi.o
+obj-$(CONFIG_X86_FRED)	+= fred.o
 obj-$(CONFIG_MODIFY_LDT_SYSCALL)	+= ldt.o
 obj-y			+= setup.o x86_init.o i8259.o irqinit.o
 obj-$(CONFIG_JUMP_LABEL)	+= jump_label.o
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index bb03dacc5fb8..b34a8a138755 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -62,6 +62,7 @@
 #include <asm/microcode_intel.h>
 #include <asm/intel-family.h>
 #include <asm/cpu_device_id.h>
+#include <asm/fred.h>
 #include <asm/uv/uv.h>
 #include <asm/set_memory.h>
 #include <asm/traps.h>
@@ -2062,13 +2063,24 @@ static inline void idt_syscall_init(void)
 	       X86_EFLAGS_AC|X86_EFLAGS_ID);
 }
 
+static inline void fred_syscall_init(void)
+{
+	/* Both sysexit and sysret cause #UD when FRED is enabled */
+	wrmsrl_safe(MSR_IA32_SYSENTER_CS, (u64)GDT_ENTRY_INVALID_SEG);
+	wrmsrl_safe(MSR_IA32_SYSENTER_ESP, 0ULL);
+	wrmsrl_safe(MSR_IA32_SYSENTER_EIP, 0ULL);
+}
+
 /* May not be marked __init: used by software suspend */
 void syscall_init(void)
 {
 	/* The default user and kernel segments */
 	wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS);
 
-	idt_syscall_init();
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		fred_syscall_init();
+	else
+		idt_syscall_init();
 }
 
 #else	/* CONFIG_X86_64 */
@@ -2184,8 +2196,6 @@ void cpu_init_exception_handling(void)
 	/* paranoid_entry() gets the CPU number from the GDT */
 	setup_getcpu(cpu);
 
-	/* IST vectors need TSS to be set up. */
-	tss_setup_ist(tss);
 	tss_setup_io_bitmap(tss);
 	set_tss_desc(cpu, &get_cpu_entry_area(cpu)->tss.x86_tss);
 
@@ -2194,8 +2204,16 @@ void cpu_init_exception_handling(void)
 	/* GHCB needs to be setup to handle #VC. */
 	setup_ghcb();
 
-	/* Finally load the IDT */
-	load_current_idt();
+	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
+		/* Set up FRED exception handling */
+		cpu_init_fred_exceptions();
+	} else {
+		/* IST vectors need TSS to be set up. */
+		tss_setup_ist(tss);
+
+		/* Finally load the IDT */
+		load_current_idt();
+	}
 }
 
 /*
diff --git a/arch/x86/kernel/fred.c b/arch/x86/kernel/fred.c
new file mode 100644
index 000000000000..7fdf79c964a8
--- /dev/null
+++ b/arch/x86/kernel/fred.c
@@ -0,0 +1,64 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <linux/kernel.h>
+
+#include <asm/desc.h>
+#include <asm/fred.h>
+#include <asm/tlbflush.h>
+#include <asm/traps.h>
+
+void cpu_init_fred_exceptions(void)
+{
+	wrmsrl(MSR_IA32_FRED_CONFIG,
+	       /* Reserve for CALL emulation */
+	       FRED_CONFIG_REDZONE |
+	       FRED_CONFIG_INT_STKLVL(0) |
+	       FRED_CONFIG_ENTRYPOINT(fred_entrypoint_user));
+
+	/*
+	 * The purpose of separate stacks for NMI, #DB and #MC *in the kernel*
+	 * (remember that user space faults are always taken on stack level 0)
+	 * is to avoid overflowing the kernel stack.
+	 */
+	wrmsrl(MSR_IA32_FRED_STKLVLS,
+	       FRED_STKLVL(X86_TRAP_DB,  FRED_DB_STACK_LEVEL) |
+	       FRED_STKLVL(X86_TRAP_NMI, FRED_NMI_STACK_LEVEL) |
+	       FRED_STKLVL(X86_TRAP_MC,  FRED_MC_STACK_LEVEL) |
+	       FRED_STKLVL(X86_TRAP_DF,  FRED_DF_STACK_LEVEL));
+
+	/* The FRED equivalents to IST stacks... */
+	wrmsrl(MSR_IA32_FRED_RSP1, __this_cpu_ist_top_va(DB));
+	wrmsrl(MSR_IA32_FRED_RSP2, __this_cpu_ist_top_va(NMI));
+	wrmsrl(MSR_IA32_FRED_RSP3, __this_cpu_ist_top_va(DF));
+
+	/* Not used with FRED */
+	wrmsrl(MSR_LSTAR, 0ULL);
+	wrmsrl(MSR_CSTAR, 0ULL);
+	wrmsrl_safe(MSR_IA32_SYSENTER_CS,  (u64)GDT_ENTRY_INVALID_SEG);
+	wrmsrl_safe(MSR_IA32_SYSENTER_ESP, 0ULL);
+	wrmsrl_safe(MSR_IA32_SYSENTER_EIP, 0ULL);
+
+	/* Enable FRED */
+	cr4_set_bits(X86_CR4_FRED);
+	/* Any further IDT use is a bug */
+	idt_invalidate();
+
+	/* Use int $0x80 for 32-bit system calls in FRED mode */
+	setup_clear_cpu_cap(X86_FEATURE_SYSENTER32);
+	setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
+}
+
+/*
+ * Initialize system vectors from a FRED perspective, so
+ * lapic_assign_system_vectors() can do its job.
+ */
+void __init fred_setup_apic(void)
+{
+	int i;
+
+	for (i = 0; i < FIRST_EXTERNAL_VECTOR; i++)
+		set_bit(i, system_vectors);
+
+	for (i = 0; i < NR_SYSTEM_VECTORS; i++)
+		if (is_sysvec_used(i))
+			set_bit(i + FIRST_SYSTEM_VECTOR, system_vectors);
+}
diff --git a/arch/x86/kernel/irqinit.c b/arch/x86/kernel/irqinit.c
index c683666876f1..2a510f72dd11 100644
--- a/arch/x86/kernel/irqinit.c
+++ b/arch/x86/kernel/irqinit.c
@@ -28,6 +28,7 @@
 #include <asm/setup.h>
 #include <asm/i8259.h>
 #include <asm/traps.h>
+#include <asm/fred.h>
 #include <asm/prom.h>
 
 /*
@@ -96,7 +97,11 @@ void __init native_init_IRQ(void)
 	/* Execute any quirks before the call gates are initialised: */
 	x86_init.irqs.pre_vector_init();
 
-	idt_setup_apic_and_irq_gates();
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		fred_setup_apic();
+	else
+		idt_setup_apic_and_irq_gates();
+
 	lapic_assign_system_vectors();
 
 	if (!acpi_ioapic && !of_ioapic && nr_legacy_irqs()) {
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 6143ad56008e..21eeba7b188f 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1542,6 +1542,12 @@ void set_sysvec_handler(unsigned int i, system_interrupt_handler func)
 	system_interrupt_handlers[i] = func;
 }
 
+bool is_sysvec_used(unsigned int i)
+{
+	BUG_ON(i >= NR_SYSTEM_VECTORS);
+	return system_interrupt_handlers[i] != dispatch_table_spurious_interrupt;
+}
+
 int external_interrupt(struct pt_regs *regs)
 {
 	unsigned int vector = regs->vector;
@@ -1577,7 +1583,10 @@ void __init trap_init(void)
 
 	/* Initialize TSS before setting up traps so ISTs work */
 	cpu_init_exception_handling();
+
 	/* Setup traps as cpu_init() might #GP */
-	idt_setup_traps();
+	if (!cpu_feature_enabled(X86_FEATURE_FRED))
+		idt_setup_traps();
+
 	cpu_init();
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573868.899062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ8-0001Ez-L2; Tue, 01 Aug 2023 09:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573868.899062; Tue, 01 Aug 2023 09: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 1qQlJ8-0001EF-FU; Tue, 01 Aug 2023 09:04:46 +0000
Received: by outflank-mailman (input) for mailman id 573868;
 Tue, 01 Aug 2023 09:04: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ6-0007sM-D0
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:44 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72e4e914-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:04:42 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:40 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:38 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72e4e914-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880682; x=1722416682;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=g76n0qqOm69A/O2uudI0FugS1H+Frufn6xIPQbl7rb0=;
  b=J/FFtWfl50s1pk6QMvbrsRBbXieTub+lNzXb7jQVnb9Q0KRWiSiTr+nd
   YOWP0ZRfFuIs+Hqxp5+H0thj2/81hYRZ/UwnlILNWxKIxP60k4GVyR8wI
   A4er+qCth5Ngwag6BNBdy9Q2nxqFtfD84DeXWHEvBIV544486whK8O09K
   jPRqLXi2ReAnoFCACwIV886j3y55e76JHJFEed7ZKoGw7O8g9rgGejELV
   qTjhQctaog5BYB4k//0qKc76cksfoLBqNDhyRhsVI8FzJQlDohbLOHBHr
   8zJhH5cdgTv6J1GEHEUvmpAMDBvjNN8BR+05U6BhW7OEruEedB77ZVeNJ
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713718"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713718"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420755"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420755"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 34/36] x86/syscall: Split IDT syscall setup code into idt_syscall_init()
Date: Tue,  1 Aug 2023 01:35:51 -0700
Message-Id: <20230801083553.8468-8-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Split IDT syscall setup code into idt_syscall_init() to make it
cleaner to add FRED syscall setup code.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/kernel/cpu/common.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 331b06d19f7f..bb03dacc5fb8 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -2027,10 +2027,8 @@ static void wrmsrl_cstar(unsigned long val)
 		wrmsrl(MSR_CSTAR, val);
 }
 
-/* May not be marked __init: used by software suspend */
-void syscall_init(void)
+static inline void idt_syscall_init(void)
 {
-	wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS);
 	wrmsrl(MSR_LSTAR, (unsigned long)entry_SYSCALL_64);
 
 #ifdef CONFIG_IA32_EMULATION
@@ -2064,6 +2062,15 @@ void syscall_init(void)
 	       X86_EFLAGS_AC|X86_EFLAGS_ID);
 }
 
+/* May not be marked __init: used by software suspend */
+void syscall_init(void)
+{
+	/* The default user and kernel segments */
+	wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS);
+
+	idt_syscall_init();
+}
+
 #else	/* CONFIG_X86_64 */
 
 #ifdef CONFIG_STACKPROTECTOR
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:04:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573869.899067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlJ9-0001NC-DF; Tue, 01 Aug 2023 09:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573869.899067; Tue, 01 Aug 2023 09:04: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 1qQlJ9-0001KU-34; Tue, 01 Aug 2023 09:04:47 +0000
Received: by outflank-mailman (input) for mailman id 573869;
 Tue, 01 Aug 2023 09: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlJ7-0007Jn-Ms
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:04:45 +0000
Received: from mgamail.intel.com (unknown [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 750ae0e8-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:04:44 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:04:43 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga007.jf.intel.com with ESMTP; 01 Aug 2023 02:04:42 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 750ae0e8-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880684; x=1722416684;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gEY4ZGGaaQpe3vscglEO/Z/ZNgQa2ejE/Ek77q9vAj0=;
  b=QFIE8Szr7GbNnf0WcdEBwBq/u2eE3k1tDtEPMZLbFbZJXd7GhBceJPFP
   tUKorNIdVL8t+ScOfYP7lO7vCYKYh34PWt+/xAr64jOcHWlxKXbvGEmhG
   PIpQu6G22Fa3NiihLeRUYWW8OwyFY5IzNHOHYaKvElSgvP7NPoO+TVMog
   ZazPcdcc5yO8a+vLmlYdW/jTGVceK8TvtDgYvb7Xm/FJZF3QHxg8xpmHm
   TCH9tpfb4oJV2cEHv0rThDae8El6xVNQQEKTouk5uTGMOn8p9DxurMXFX
   OqBSTHoJ/99/N/IOkAG6KUFIjRNiuhaA1tYd7R12wGv9Y21BIQygSRf4l
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="366713784"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="366713784"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="722420775"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="722420775"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 36/36] x86/fred: Disable FRED by default in its early stage
Date: Tue,  1 Aug 2023 01:35:53 -0700
Message-Id: <20230801083553.8468-10-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083553.8468-1-xin3.li@intel.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Disable FRED by default in its early stage.

To enable FRED, a new kernel command line option "fred" needs to be added.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v7:
* Add a log message when FRED is enabled.
---
 Documentation/admin-guide/kernel-parameters.txt | 4 ++++
 arch/x86/kernel/cpu/common.c                    | 3 +++
 arch/x86/kernel/fred.c                          | 3 +++
 3 files changed, 10 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index a1457995fd41..cb12decfcdc0 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1513,6 +1513,10 @@
 			Warning: use of this parameter will taint the kernel
 			and may cause unknown problems.
 
+	fred
+			Forcefully enable flexible return and event delivery,
+			which is otherwise disabled by default.
+
 	ftrace=[tracer]
 			[FTRACE] will set and start the specified tracer
 			as early as possible in order to facilitate early
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index b34a8a138755..38cf4f64a56e 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1451,6 +1451,9 @@ static void __init cpu_parse_early_param(void)
 	char *argptr = arg, *opt;
 	int arglen, taint = 0;
 
+	if (!cmdline_find_option_bool(boot_command_line, "fred"))
+		setup_clear_cpu_cap(X86_FEATURE_FRED);
+
 #ifdef CONFIG_X86_32
 	if (cmdline_find_option_bool(boot_command_line, "no387"))
 #ifdef CONFIG_MATH_EMULATION
diff --git a/arch/x86/kernel/fred.c b/arch/x86/kernel/fred.c
index 7fdf79c964a8..a4a726ea9fc2 100644
--- a/arch/x86/kernel/fred.c
+++ b/arch/x86/kernel/fred.c
@@ -8,6 +8,9 @@
 
 void cpu_init_fred_exceptions(void)
 {
+	/* When FRED is enabled by default, this log message may not needed */
+	pr_info("Initialize FRED on CPU%d\n", smp_processor_id());
+
 	wrmsrl(MSR_IA32_FRED_CONFIG,
 	       /* Reserve for CALL emulation */
 	       FRED_CONFIG_REDZONE |
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573930.899081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlME-0004rX-D4; Tue, 01 Aug 2023 09:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573930.899081; Tue, 01 Aug 2023 09:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlME-0004rQ-9u; Tue, 01 Aug 2023 09:07:58 +0000
Received: by outflank-mailman (input) for mailman id 573930;
 Tue, 01 Aug 2023 09:07: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGm-0005CK-0V
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:20 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e3ff35a-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:19 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:11 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:10 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e3ff35a-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880539; x=1722416539;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QeZUtDgMAPwFIrdo9TmaG72+ignP6GGIZpxe8B2aw6k=;
  b=WQl6TwPrN6Sy0l3M4N9YPr7w8tT645eltV74dGUcBukoP7OtWEQhomST
   yHhoujrwYNpdqb3LLemUZEHFJHoEdqD/LXMMIIEmhir8yVnBd9f6roMAI
   ydfKMVXNaKpSfnj51pcIVmyLXPyC2zOW134BHNGT4E04avgYIBIzmpHdX
   jfGepdVKDTsTNWYCp8/PjAfX21wJ+vudiZc5CrY1ysrVNyhiGTEZIOsiI
   ojLeEuRHjcw192UTIsbFAZaZ1uIcE3uxzFdWdtgPBHQ+x6V1gztueQEff
   P5Cy4Erb7RC7+EtLSq5XB5eA6ModcQRbWsN6aPsNPcdnu4Ph4aDStmUX6
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082780"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082780"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217078"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217078"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 22/36] x86/fred: Add a double fault entry stub for FRED
Date: Tue,  1 Aug 2023 01:33:04 -0700
Message-Id: <20230801083318.8363-23-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The IDT event delivery of a double fault pushes an error code into the
orig_ax member of the pt_regs structure, and the error code is passed
as the second argument of its C-handler exc_double_fault(), although
the pt_regs structure is already passed as the first argument.

The existing IDT double fault asm entry code does the following

  movq ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
  movq $-1, ORIG_RAX(%rsp)	/* no syscall to restart */

to set the orig_ax member to -1 just before calling the C-handler.

X86_TRAP_TS, X86_TRAP_NP, X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and
X86_TRAP_CP are all handled in the same way because the IDT event
delivery pushes an error code into their stack frame for them.

The commit d99015b1abbad ("x86: move entry_64.S register saving out of
the macros") introduced the changes to set orig_ax to -1, but I can't
see why. Our tests with FRED seem fine if orig_ax is left unchanged
instead of set to -1. It's probably cleaner and simpler to remove the
second argument from exc_double_fault() while leave orig_ax unchanged
to pass the error code inside the first argument, at least on native
x86_64. That would be a separate, pre-FRED, patch.

For now just add a double fault entry stub for FRED, which simply
calls the existing exc_double_fault().

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/fred.h | 1 +
 arch/x86/kernel/traps.c     | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index f559dd9dc4f2..bd701ac87528 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -116,6 +116,7 @@ DECLARE_FRED_HANDLER(fred_exc_nmi);
 DECLARE_FRED_HANDLER(fred_exc_debug);
 DECLARE_FRED_HANDLER(fred_exc_page_fault);
 DECLARE_FRED_HANDLER(fred_exc_machine_check);
+DECLARE_FRED_HANDLER(fred_exc_double_fault);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index b10464966a81..49dd92458eb0 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -555,6 +555,13 @@ DEFINE_IDTENTRY_DF(exc_double_fault)
 	instrumentation_end();
 }
 
+#ifdef CONFIG_X86_FRED
+DEFINE_FRED_HANDLER(fred_exc_double_fault)
+{
+	exc_double_fault(regs, regs->orig_ax);
+}
+#endif
+
 DEFINE_IDTENTRY(exc_bounds)
 {
 	if (notify_die(DIE_TRAP, "bounds", regs, 0,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573938.899092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMI-00058m-KJ; Tue, 01 Aug 2023 09:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573938.899092; Tue, 01 Aug 2023 09:08:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMI-00058f-Hg; Tue, 01 Aug 2023 09:08:02 +0000
Received: by outflank-mailman (input) for mailman id 573938;
 Tue, 01 Aug 2023 09:08:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGn-0005CK-9s
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:21 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1effbd01-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:20 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:12 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:11 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1effbd01-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880540; x=1722416540;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=e41GdB5DEWVT44n/+24ZLrn6jlcg49oHxwygKL8Pbqk=;
  b=A+1flqiEw8dMX2wPYysxaD3/gAk2kQw3/Vd5t9eI0hf4nrOOjWTzdV3A
   xfspG5eTEQ6oJ2TKy3s/25FDnDFqm/Rd9oF7ppthXAVFOESuk33c6dm+H
   GyYKx6w2a8Jgy/G+jIeIj3/XgochE7V8RDuYkba8YNFPGvV5G3nV7aqwf
   7kziMYW6OR38WFvleASOVENltIqYwegD4bedvFqWKf255r3122ZrU0dPV
   /vav+bFbILa5dtrIBDcYpwB6V9sKSdUIMnsGGn5+9CRt/VodXGpNr2ATO
   k6C7CTpd28wdAL8VVtAM7gUcyHS4IDr1EJlr04xrJXG1NcHLkN3dEb2io
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082814"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082814"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217082"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217082"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 23/36] x86/entry: Remove idtentry_sysvec from entry_{32,64}.S
Date: Tue,  1 Aug 2023 01:33:05 -0700
Message-Id: <20230801083318.8363-24-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

idtentry_sysvec is really just DECLARE_IDTENTRY defined in
<asm/idtentry.h>, no need to define it separately.

Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/entry/entry_32.S       | 4 ----
 arch/x86/entry/entry_64.S       | 8 --------
 arch/x86/include/asm/idtentry.h | 2 +-
 3 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 6e6af42e044a..e0f22ad8ff7e 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -649,10 +649,6 @@ SYM_CODE_START_LOCAL(asm_\cfunc)
 SYM_CODE_END(asm_\cfunc)
 .endm
 
-.macro idtentry_sysvec vector cfunc
-	idtentry \vector asm_\cfunc \cfunc has_error_code=0
-.endm
-
 /*
  * Include the defines which emit the idt entries which are shared
  * shared between 32 and 64 bit and emit the __irqentry_text_* markers
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 8069151176f2..44f14b990597 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -438,14 +438,6 @@ SYM_CODE_END(\asmsym)
 	idtentry \vector asm_\cfunc \cfunc has_error_code=1
 .endm
 
-/*
- * System vectors which invoke their handlers directly and are not
- * going through the regular common device interrupt handling code.
- */
-.macro idtentry_sysvec vector cfunc
-	idtentry \vector asm_\cfunc \cfunc has_error_code=0
-.endm
-
 /**
  * idtentry_mce_db - Macro to generate entry stubs for #MC and #DB
  * @vector:		Vector number
diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h
index cd5c10a74071..6817c0f8e323 100644
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -447,7 +447,7 @@ __visible noinstr void func(struct pt_regs *regs,			\
 
 /* System vector entries */
 #define DECLARE_IDTENTRY_SYSVEC(vector, func)				\
-	idtentry_sysvec vector func
+	DECLARE_IDTENTRY(vector, func)
 
 #ifdef CONFIG_X86_64
 # define DECLARE_IDTENTRY_MCE(vector, func)				\
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573940.899102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMN-0005Tu-SV; Tue, 01 Aug 2023 09:08:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573940.899102; Tue, 01 Aug 2023 09:08: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 1qQlMN-0005Tm-PO; Tue, 01 Aug 2023 09:08:07 +0000
Received: by outflank-mailman (input) for mailman id 573940;
 Tue, 01 Aug 2023 09:08: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGk-0005CK-O6
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:18 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1cad0178-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:17 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:09 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:08 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cad0178-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880537; x=1722416537;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CDXH8O7ex78Bl5bAFBaH8EJ8EpWaGJ2TaZytElzEDrs=;
  b=iKCET4nu2td9LD1US09FDuYAzFoT6/Nv9TRtc3CQS2f5MKCV0QOYbrxW
   BhJUI93avdfbluLIgI4L0LuQOuQCl0TjTRn0JDaMKB+lvebGEGq0rFQOq
   EkgHHCpjsjQYCMRquRMc7Xot3gQNUXSdQfXl2FrxcRa45uATW0GLagFjr
   e5YUUBu3SQCrjM8VomA1yew0ryAACWmXMDePN4tf3BitvJKWkmHo5PgIj
   bZFXGvriKuCHgLWzZWBTRVzO4a5W9Ho27K+bhcoMqHgVI/vnx62iAalvB
   2Nm0eKaMWrjKFrQtYyXX8SPG6DzFUlJhnrju6WooNqnjBtHZCjOOBt2NE
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082713"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082713"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217069"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217069"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 20/36] x86/fred: Add a NMI entry stub for FRED
Date: Tue,  1 Aug 2023 01:33:02 -0700
Message-Id: <20230801083318.8363-21-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

On a FRED system, NMIs nest both with themselves and faults, transient
information is saved into the stack frame, and NMI unblocking only
happens when the stack frame indicates that so should happen.

Thus, the NMI entry stub for FRED is really quite small...

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/include/asm/fred.h |  1 +
 arch/x86/kernel/nmi.c       | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index ad7b79130b1e..2a7c47dfd733 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -112,6 +112,7 @@ static __always_inline unsigned long fred_event_data(struct pt_regs *regs)
 
 typedef DECLARE_FRED_HANDLER((*fred_handler));
 
+DECLARE_FRED_HANDLER(fred_exc_nmi);
 DECLARE_FRED_HANDLER(fred_exc_debug);
 DECLARE_FRED_HANDLER(fred_exc_page_fault);
 
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index a0c551846b35..f803e2bcd024 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -34,6 +34,7 @@
 #include <asm/cache.h>
 #include <asm/nospec-branch.h>
 #include <asm/sev.h>
+#include <asm/fred.h>
 
 #define CREATE_TRACE_POINTS
 #include <trace/events/nmi.h>
@@ -643,6 +644,24 @@ void nmi_backtrace_stall_check(const struct cpumask *btp)
 
 #endif
 
+#ifdef CONFIG_X86_FRED
+DEFINE_FRED_HANDLER(fred_exc_nmi)
+{
+	/*
+	 * With FRED, CR2 and DR6 are pushed atomically on faults,
+	 * so we don't have to worry about saving and restoring them.
+	 * Breakpoint faults nest, so assume it is OK to leave DR7
+	 * enabled.
+	 */
+	irqentry_state_t irq_state = irqentry_nmi_enter(regs);
+
+	inc_irq_stat(__nmi_count);
+	default_do_nmi(regs);
+
+	irqentry_nmi_exit(regs, irq_state);
+}
+#endif
+
 void stop_nmi(void)
 {
 	ignore_nmis++;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573945.899112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMP-0005kR-6H; Tue, 01 Aug 2023 09:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573945.899112; Tue, 01 Aug 2023 09:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMP-0005kB-2C; Tue, 01 Aug 2023 09:08:09 +0000
Received: by outflank-mailman (input) for mailman id 573945;
 Tue, 01 Aug 2023 09:08:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGh-0005E5-ML
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:15 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a50fda1-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:12 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:08 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:07 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a50fda1-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880533; x=1722416533;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=j/3qauZAla4FAGFWojUuQZ7eYbLWgN4OkDYWsZA4A8I=;
  b=kwmquXZf3nsAGk36Kaa7x3VbY23Gx+NFJzJtlaIRUxZXzYJdxgnLyUkK
   bvBIWGV27d9jYzwxJBDvx4KC2kcbOEURifuOkoqmXcBmI+iF5U5T+XWWB
   RLMNQcie+WEhaShBkOlwSIuRAtTHvkwv7jJixgYSov7BVz0rajtczleBc
   cB+nVYUiiiz7GTm4CN8ixGkOS4wP7IqVfV1xqJQLKn+zOxRXvu8sod91N
   wPLUVQ1cT7QJFObtbOOy7gHghrjRrZYBiiBQyhb1G9fI8bOm4NtzHFak1
   tLnffMnjXJjJDSrVJGT8ULpb1zsvibNFpGQUWBTc2SE+9c+rG0FcyoAbc
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082675"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082675"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217066"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217066"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 19/36] x86/fred: Add a debug fault entry stub for FRED
Date: Tue,  1 Aug 2023 01:33:01 -0700
Message-Id: <20230801083318.8363-20-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add a debug fault entry stub for FRED.

On a FRED system, the debug trap status information (DR6) is passed
on the stack, to avoid the problem of transient state. Furthermore,
FRED transitions avoid a lot of ugly corner cases the handling of which
can, and should be, skipped.

The FRED debug trap status information saved on the stack differs from DR6
in both stickiness and polarity; it is exactly what debug_read_clear_dr6()
returns, and exc_debug_user()/exc_debug_kernel() expect.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v1:
* call irqentry_nmi_{enter,exit}() in both IDT and FRED debug fault kernel
  handler (Peter Zijlstra).
---
 arch/x86/include/asm/fred.h |  1 +
 arch/x86/kernel/traps.c     | 56 +++++++++++++++++++++++++++----------
 2 files changed, 42 insertions(+), 15 deletions(-)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index fb8e7b4f2d38..ad7b79130b1e 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -112,6 +112,7 @@ static __always_inline unsigned long fred_event_data(struct pt_regs *regs)
 
 typedef DECLARE_FRED_HANDLER((*fred_handler));
 
+DECLARE_FRED_HANDLER(fred_exc_debug);
 DECLARE_FRED_HANDLER(fred_exc_page_fault);
 
 #endif /* __ASSEMBLY__ */
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 4a817d20ce3b..b10464966a81 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -47,6 +47,7 @@
 #include <asm/debugreg.h>
 #include <asm/realmode.h>
 #include <asm/text-patching.h>
+#include <asm/fred.h>
 #include <asm/ftrace.h>
 #include <asm/traps.h>
 #include <asm/desc.h>
@@ -1021,21 +1022,9 @@ static bool notify_debug(struct pt_regs *regs, unsigned long *dr6)
 	return false;
 }
 
-static __always_inline void exc_debug_kernel(struct pt_regs *regs,
-					     unsigned long dr6)
+static __always_inline void debug_kernel_common(struct pt_regs *regs,
+						unsigned long dr6)
 {
-	/*
-	 * Disable breakpoints during exception handling; recursive exceptions
-	 * are exceedingly 'fun'.
-	 *
-	 * Since this function is NOKPROBE, and that also applies to
-	 * HW_BREAKPOINT_X, we can't hit a breakpoint before this (XXX except a
-	 * HW_BREAKPOINT_W on our stack)
-	 *
-	 * Entry text is excluded for HW_BP_X and cpu_entry_area, which
-	 * includes the entry stack is excluded for everything.
-	 */
-	unsigned long dr7 = local_db_save();
 	irqentry_state_t irq_state = irqentry_nmi_enter(regs);
 	instrumentation_begin();
 
@@ -1063,7 +1052,8 @@ static __always_inline void exc_debug_kernel(struct pt_regs *regs,
 	 * Catch SYSENTER with TF set and clear DR_STEP. If this hit a
 	 * watchpoint at the same time then that will still be handled.
 	 */
-	if ((dr6 & DR_STEP) && is_sysenter_singlestep(regs))
+	if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
+	    (dr6 & DR_STEP) && is_sysenter_singlestep(regs))
 		dr6 &= ~DR_STEP;
 
 	/*
@@ -1091,7 +1081,25 @@ static __always_inline void exc_debug_kernel(struct pt_regs *regs,
 out:
 	instrumentation_end();
 	irqentry_nmi_exit(regs, irq_state);
+}
 
+static __always_inline void exc_debug_kernel(struct pt_regs *regs,
+					     unsigned long dr6)
+{
+	/*
+	 * Disable breakpoints during exception handling; recursive exceptions
+	 * are exceedingly 'fun'.
+	 *
+	 * Since this function is NOKPROBE, and that also applies to
+	 * HW_BREAKPOINT_X, we can't hit a breakpoint before this (XXX except a
+	 * HW_BREAKPOINT_W on our stack)
+	 *
+	 * Entry text is excluded for HW_BP_X and cpu_entry_area, which
+	 * includes the entry stack is excluded for everything.
+	 */
+	unsigned long dr7 = local_db_save();
+
+	debug_kernel_common(regs, dr6);
 	local_db_restore(dr7);
 }
 
@@ -1180,6 +1188,24 @@ DEFINE_IDTENTRY_DEBUG_USER(exc_debug)
 {
 	exc_debug_user(regs, debug_read_clear_dr6());
 }
+
+# ifdef CONFIG_X86_FRED
+DEFINE_FRED_HANDLER(fred_exc_debug)
+{
+	/*
+	 * The FRED debug information saved onto stack differs from
+	 * DR6 in both stickiness and polarity; it is exactly what
+	 * debug_read_clear_dr6() returns.
+	 */
+	unsigned long dr6 = fred_event_data(regs);
+
+	if (user_mode(regs))
+		exc_debug_user(regs, dr6);
+	else
+		debug_kernel_common(regs, dr6);
+}
+# endif /* CONFIG_X86_FRED */
+
 #else
 /* 32 bit does not have separate entry points. */
 DEFINE_IDTENTRY_RAW(exc_debug)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573946.899117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMP-0005or-JZ; Tue, 01 Aug 2023 09:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573946.899117; Tue, 01 Aug 2023 09:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMP-0005oC-Ca; Tue, 01 Aug 2023 09:08:09 +0000
Received: by outflank-mailman (input) for mailman id 573946;
 Tue, 01 Aug 2023 09:08:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGp-0005E5-Vu
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:24 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f941154-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:21 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:13 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:12 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f941154-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880541; x=1722416541;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=noUm+C4jbhw0mC8rdAqNdlrDhDQPWQ7nu1SRrIUqW1s=;
  b=cfcqHCV6MVt1dSSCeYpGuLuuVv1HiIuEpr8aALTGu5WTcSGfUa725rUq
   zpWaEN19WqIkIjqwtfFIkF8+Ggx+JFIqdlBR5GncXJedwX8Kcwdksy0mx
   h7y0gVCdIScXVIAfl5ewS1JNa75lpBPi+xyejc/hya0DBwhTdJ5wnjYKz
   S6absSKgKzqmRNAHTLFl48Fz+Doyv8+7robP1s1eGxDmlX0oZ2DqoIwu/
   GXVRY5oVuBWmwz3XJLD/pdUV+qFnJVqMS6IpAfOYCrP9LruFTMNlM1vY+
   sP+ppd9Q87KbNK3Va3UvRDNMnSHtlGVNN4Z1AkRaa0uPFysqmVZ9U7cxz
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082844"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082844"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217087"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217087"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 24/36] x86/idtentry: Incorporate definitions/declarations of the FRED external interrupt handler type
Date: Tue,  1 Aug 2023 01:33:06 -0700
Message-Id: <20230801083318.8363-25-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

FRED operates differently from IDT in terms of interrupt handling.
Instead of directly dispatching an interrupt to its handler based
on the interrupt vector, FRED requires the software to dispatch
an event to its handler based on both the event's type and vector.
Therefore, an event dispatch framework must be implemented to
facilitate the event-to-handler dispatch process.

The FRED event dispatch framework assumes control once an event is
delivered, starting from two FRED entry points, after which several
event dispatch tables are introduced to facilitate the dispatching.
The first level dispatching is event type based, and two tables need
to be defined, one for ring 3 event dispatching, and the other for
ring 0. The second level dispatching is event vector based, and
several tables need to be defined, e.g., an exception handler table
for exception dispatching.

Handlers in these tables are typically noinstr. However for external
interrupt dispatching, irqentry_{enter,exit}() and
instrumentation_{begin,end}() can be extracted from respective interrupt
handler to the dispatch framework. As a result, FRED external interrupt
handlers don't need to be noinstr.

Incorporate definitions/declarations of FRED external interrupt handler
types into the IDT entry macros.

It is probably better to rename idtentry as event_entry.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Put IDTENTRY changes in a separate patch (Thomas Gleixner).
---
 arch/x86/include/asm/idtentry.h | 91 +++++++++++++++++++++++++++++----
 1 file changed, 82 insertions(+), 9 deletions(-)

diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h
index 6817c0f8e323..e67d111bf932 100644
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -167,17 +167,22 @@ __visible noinstr void func(struct pt_regs *regs, unsigned long error_code)
 
 /**
  * DECLARE_IDTENTRY_IRQ - Declare functions for device interrupt IDT entry
- *			  points (common/spurious)
+ *			  points (common/spurious) and their corresponding
+ *			  software based dispatch handlers in the non-noinstr
+ *			  text section
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_ERRORCODE()
+ * Maps to DECLARE_IDTENTRY_ERRORCODE(), plus a dispatch function prototype
  */
 #define DECLARE_IDTENTRY_IRQ(vector, func)				\
-	DECLARE_IDTENTRY_ERRORCODE(vector, func)
+	DECLARE_IDTENTRY_ERRORCODE(vector, func);			\
+	void dispatch_##func(struct pt_regs *regs, unsigned long error_code)
 
 /**
  * DEFINE_IDTENTRY_IRQ - Emit code for device interrupt IDT entry points
+ *			 and their corresponding software based dispatch
+ *			 handlers in the non-noinstr text section
  * @func:	Function name of the entry point
  *
  * The vector number is pushed by the low level entry stub and handed
@@ -187,6 +192,11 @@ __visible noinstr void func(struct pt_regs *regs, unsigned long error_code)
  * irq_enter/exit_rcu() are invoked before the function body and the
  * KVM L1D flush request is set. Stack switching to the interrupt stack
  * has to be done in the function body if necessary.
+ *
+ * dispatch_func() is a software based dispatch handler in the non-noinstr
+ * text section, assuming the irqentry_{enter,exit}() and
+ * instrumentation_{begin,end}() helpers are invoked in the external
+ * interrupt dispatch framework before and after dispatch_func().
  */
 #define DEFINE_IDTENTRY_IRQ(func)					\
 static void __##func(struct pt_regs *regs, u32 vector);			\
@@ -204,31 +214,68 @@ __visible noinstr void func(struct pt_regs *regs,			\
 	irqentry_exit(regs, state);					\
 }									\
 									\
+__visible void dispatch_##func(struct pt_regs *regs,			\
+			       unsigned long error_code)		\
+{									\
+	u32 vector = (u32)(u8)error_code;				\
+									\
+	kvm_set_cpu_l1tf_flush_l1d();					\
+	run_irq_on_irqstack_cond(__##func, regs, vector);		\
+}									\
+									\
 static noinline void __##func(struct pt_regs *regs, u32 vector)
 
+/*
+ * Define a function type system_interrupt_handler as the element type of
+ * the table system_interrupt_handlers.
+ *
+ * System interrupt handlers don't take any interrupt vector number, or
+ * any interrupt error code as arguments, as a system interrupt handler
+ * is defined to handle a specific interrupt vector, and no error code
+ * is defined for external interrupts. It takes only one argument of type
+ * struct pt_regs *.
+ */
+#define DECLARE_SYSTEM_INTERRUPT_HANDLER(f) \
+	void f (struct pt_regs *regs)
+#define DEFINE_SYSTEM_INTERRUPT_HANDLER(f) \
+	__visible DECLARE_SYSTEM_INTERRUPT_HANDLER(f)
+typedef DECLARE_SYSTEM_INTERRUPT_HANDLER((*system_interrupt_handler));
+
 /**
  * DECLARE_IDTENTRY_SYSVEC - Declare functions for system vector entry points
+ *			     and their corresponding software based dispatch
+ *			     handlers in the non-noinstr text section
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Declares three functions:
+ * Declares four functions:
  * - The ASM entry point: asm_##func
  * - The XEN PV trap entry point: xen_##func (maybe unused)
  * - The C handler called from the ASM entry point
+ * - The C handler used in the system interrupt handler table
  *
- * Maps to DECLARE_IDTENTRY().
+ * Maps to DECLARE_IDTENTRY(), plus a dispatch table function prototype
  */
 #define DECLARE_IDTENTRY_SYSVEC(vector, func)				\
-	DECLARE_IDTENTRY(vector, func)
+	DECLARE_IDTENTRY(vector, func);					\
+	DECLARE_SYSTEM_INTERRUPT_HANDLER(dispatch_table_##func)
 
 /**
  * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points
+ *			    and their corresponding software based dispatch
+ *			    handlers in the non-noinstr text section
  * @func:	Function name of the entry point
  *
  * irqentry_enter/exit() and irq_enter/exit_rcu() are invoked before the
  * function body. KVM L1D flush request is set.
  *
- * Runs the function on the interrupt stack if the entry hit kernel mode
+ * Runs the function on the interrupt stack if the entry hit kernel mode.
+ *
+ * dispatch_table_func() is used to fill the system interrupt handler table
+ * for system interrupts dispatching, assuming the irqentry_{enter,exit}()
+ * and instrumentation_{begin,end}() helpers are invoked in the external
+ * interrupt dispatch framework before and after dispatch_table_func(),
+ * thus in the non-noinstr text section.
  */
 #define DEFINE_IDTENTRY_SYSVEC(func)					\
 static void __##func(struct pt_regs *regs);				\
@@ -244,11 +291,19 @@ __visible noinstr void func(struct pt_regs *regs)			\
 	irqentry_exit(regs, state);					\
 }									\
 									\
+DEFINE_SYSTEM_INTERRUPT_HANDLER(dispatch_table_##func)			\
+{									\
+	kvm_set_cpu_l1tf_flush_l1d();					\
+	run_sysvec_on_irqstack_cond(__##func, regs);			\
+}									\
+									\
 static noinline void __##func(struct pt_regs *regs)
 
 /**
  * DEFINE_IDTENTRY_SYSVEC_SIMPLE - Emit code for simple system vector IDT
- *				   entry points
+ *				   entry points and their corresponding
+ *				   software based dispatch handlers in
+ *				   the non-noinstr text section
  * @func:	Function name of the entry point
  *
  * Runs the function on the interrupted stack. No switch to IRQ stack and
@@ -256,6 +311,12 @@ static noinline void __##func(struct pt_regs *regs)
  *
  * Only use for 'empty' vectors like reschedule IPI and KVM posted
  * interrupt vectors.
+ *
+ * dispatch_table_func() is used to fill the system interrupt handler table
+ * for system interrupts dispatching, assuming the irqentry_{enter,exit}()
+ * and instrumentation_{begin,end}() helpers are invoked in the external
+ * interrupt dispatch framework before and after dispatch_table_func(),
+ * thus in the non-noinstr text section.
  */
 #define DEFINE_IDTENTRY_SYSVEC_SIMPLE(func)				\
 static __always_inline void __##func(struct pt_regs *regs);		\
@@ -273,6 +334,14 @@ __visible noinstr void func(struct pt_regs *regs)			\
 	irqentry_exit(regs, state);					\
 }									\
 									\
+DEFINE_SYSTEM_INTERRUPT_HANDLER(dispatch_table_##func)			\
+{									\
+	__irq_enter_raw();						\
+	kvm_set_cpu_l1tf_flush_l1d();					\
+	__##func (regs);						\
+	__irq_exit_raw();						\
+}									\
+									\
 static __always_inline void __##func(struct pt_regs *regs)
 
 /**
@@ -647,7 +716,11 @@ DECLARE_IDTENTRY_SYSVEC(X86_PLATFORM_IPI_VECTOR,	sysvec_x86_platform_ipi);
 #endif
 
 #ifdef CONFIG_SMP
-DECLARE_IDTENTRY(RESCHEDULE_VECTOR,			sysvec_reschedule_ipi);
+/*
+ * Use DECLARE_IDTENTRY_SYSVEC instead of DECLARE_IDTENTRY to add a
+ * software based dispatch handler declaration for RESCHEDULE_VECTOR.
+ */
+DECLARE_IDTENTRY_SYSVEC(RESCHEDULE_VECTOR,		sysvec_reschedule_ipi);
 DECLARE_IDTENTRY_SYSVEC(REBOOT_VECTOR,			sysvec_reboot);
 DECLARE_IDTENTRY_SYSVEC(CALL_FUNCTION_SINGLE_VECTOR,	sysvec_call_function_single);
 DECLARE_IDTENTRY_SYSVEC(CALL_FUNCTION_VECTOR,		sysvec_call_function);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573957.899132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMZ-0006nr-1S; Tue, 01 Aug 2023 09:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573957.899132; Tue, 01 Aug 2023 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 1qQlMY-0006nf-TF; Tue, 01 Aug 2023 09:08:18 +0000
Received: by outflank-mailman (input) for mailman id 573957;
 Tue, 01 Aug 2023 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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGs-0005E5-1v
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:26 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f0b02d1-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:23 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:15 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:14 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f0b02d1-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880543; x=1722416543;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0Vsn6bDzpRkXYLGAG2NP2KMCccOE1uQI/p8GcVukrL0=;
  b=DMaiO47Z2+wpPhrKmZNLe4YnyWJ8bHznHAQrQTp3H/fKcVglw0ubF8mS
   TZCmJCzy8lvh85PuyfjG8XzaybLxXrvPRv5nHo/knKFWzSF8ZSxtT68Rr
   Rm0u4/EbEF8nbvs/Z8aglgyo9Pc7viiKk5Fq39+wTU0M2E3BHUV9S/w29
   AN3tITji3aXTmV9Oe3y06L8V4ifmzoUDxZOAmbH6d9KTQv024L2uO0pXe
   eJjKaI6vunRYzJJKu2SL53COwIAZPkYDyHqqTR8qHlBQjx0GAa8rsVPwu
   W39OQr9lY6rx+SQk8ZBytSl0vB/e2dQhTeYf8IdiWXr5EAdtEoMiVFr19
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082913"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082913"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217094"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217094"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 26/36] x86/traps: Add sysvec_install() to install a system interrupt handler
Date: Tue,  1 Aug 2023 01:33:08 -0700
Message-Id: <20230801083318.8363-27-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sysvec_install() to install a system interrupt handler into both
the IDT and system_interrupt_handlers. The latter is used to dispatch
system interrupts to their respective handlers when FRED is enabled.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Introduce a macro sysvec_install() to derive the asm handler name from
  a C handler, which simplifies the code and avoids an ugly typecast
  (Thomas Gleixner).
---
 arch/x86/include/asm/traps.h     | 19 +++++++++++++++++++
 arch/x86/kernel/cpu/acrn.c       |  5 +++--
 arch/x86/kernel/cpu/mshyperv.c   | 16 ++++++++--------
 arch/x86/kernel/kvm.c            |  2 +-
 arch/x86/kernel/traps.c          |  6 ++++++
 drivers/xen/events/events_base.c |  3 ++-
 6 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index 47ecfff2c83d..cba3e4dfc329 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -47,4 +47,23 @@ void __noreturn handle_stack_overflow(struct pt_regs *regs,
 				      struct stack_info *info);
 #endif
 
+#ifdef CONFIG_X86_64
+inline void set_sysvec_handler(unsigned int i, system_interrupt_handler func);
+
+static inline void sysvec_setup_fred(unsigned int vector, system_interrupt_handler func)
+{
+	BUG_ON(vector < FIRST_SYSTEM_VECTOR);
+	set_sysvec_handler(vector - FIRST_SYSTEM_VECTOR, func);
+}
+#else
+static inline void sysvec_setup_fred(unsigned int vector, system_interrupt_handler func)
+{
+}
+#endif
+
+#define sysvec_install(vector, func) {					\
+	sysvec_setup_fred(vector, func);				\
+	alloc_intr_gate(vector, asm_##func);				\
+}
+
 #endif /* _ASM_X86_TRAPS_H */
diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c
index 485441b7f030..a879b4b87740 100644
--- a/arch/x86/kernel/cpu/acrn.c
+++ b/arch/x86/kernel/cpu/acrn.c
@@ -18,6 +18,7 @@
 #include <asm/hypervisor.h>
 #include <asm/idtentry.h>
 #include <asm/irq_regs.h>
+#include <asm/traps.h>
 
 static u32 __init acrn_detect(void)
 {
@@ -26,8 +27,8 @@ static u32 __init acrn_detect(void)
 
 static void __init acrn_init_platform(void)
 {
-	/* Setup the IDT for ACRN hypervisor callback */
-	alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, asm_sysvec_acrn_hv_callback);
+	/* Install system interrupt handler for ACRN hypervisor callback */
+	sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_acrn_hv_callback);
 
 	x86_platform.calibrate_tsc = acrn_get_tsc_khz;
 	x86_platform.calibrate_cpu = acrn_get_tsc_khz;
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index c7969e806c64..134830a7f575 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -28,6 +28,7 @@
 #include <asm/i8259.h>
 #include <asm/apic.h>
 #include <asm/timer.h>
+#include <asm/traps.h>
 #include <asm/reboot.h>
 #include <asm/nmi.h>
 #include <clocksource/hyperv_timer.h>
@@ -480,19 +481,18 @@ static void __init ms_hyperv_init_platform(void)
 	 */
 	x86_platform.apic_post_init = hyperv_init;
 	hyperv_setup_mmu_ops();
-	/* Setup the IDT for hypervisor callback */
-	alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, asm_sysvec_hyperv_callback);
 
-	/* Setup the IDT for reenlightenment notifications */
+	/* Install system interrupt handler for hypervisor callback */
+	sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_hyperv_callback);
+
+	/* Install system interrupt handler for reenlightenment notifications */
 	if (ms_hyperv.features & HV_ACCESS_REENLIGHTENMENT) {
-		alloc_intr_gate(HYPERV_REENLIGHTENMENT_VECTOR,
-				asm_sysvec_hyperv_reenlightenment);
+		sysvec_install(HYPERV_REENLIGHTENMENT_VECTOR, sysvec_hyperv_reenlightenment);
 	}
 
-	/* Setup the IDT for stimer0 */
+	/* Install system interrupt handler for stimer0 */
 	if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) {
-		alloc_intr_gate(HYPERV_STIMER0_VECTOR,
-				asm_sysvec_hyperv_stimer0);
+		sysvec_install(HYPERV_STIMER0_VECTOR, sysvec_hyperv_stimer0);
 	}
 
 # ifdef CONFIG_SMP
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 1cceac5984da..12c799412c5d 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -829,7 +829,7 @@ static void __init kvm_guest_init(void)
 
 	if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF_INT) && kvmapf) {
 		static_branch_enable(&kvm_async_pf_enabled);
-		alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, asm_sysvec_kvm_asyncpf_interrupt);
+		sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_kvm_asyncpf_interrupt);
 	}
 
 #ifdef CONFIG_SMP
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index e430a8c47931..9040c7f01c93 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1536,6 +1536,12 @@ static system_interrupt_handler system_interrupt_handlers[NR_SYSTEM_VECTORS] = {
 
 #undef SYSV
 
+void set_sysvec_handler(unsigned int i, system_interrupt_handler func)
+{
+	BUG_ON(i >= NR_SYSTEM_VECTORS);
+	system_interrupt_handlers[i] = func;
+}
+
 #endif /* CONFIG_X86_64 */
 
 void __init trap_init(void)
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index c7715f8bd452..16d51338e1f8 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -45,6 +45,7 @@
 #include <asm/irq.h>
 #include <asm/io_apic.h>
 #include <asm/i8259.h>
+#include <asm/traps.h>
 #include <asm/xen/cpuid.h>
 #include <asm/xen/pci.h>
 #endif
@@ -2249,7 +2250,7 @@ static __init void xen_alloc_callback_vector(void)
 		return;
 
 	pr_info("Xen HVM callback vector for event delivery is enabled\n");
-	alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, asm_sysvec_xen_hvm_callback);
+	sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_xen_hvm_callback);
 }
 #else
 void xen_setup_callback_vector(void) {}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573963.899142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMd-0007RJ-9M; Tue, 01 Aug 2023 09:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573963.899142; Tue, 01 Aug 2023 09:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMd-0007R1-5h; Tue, 01 Aug 2023 09:08:23 +0000
Received: by outflank-mailman (input) for mailman id 573963;
 Tue, 01 Aug 2023 09:08: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGo-0005CK-L6
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:22 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1fc97179-304a-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:02:21 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:14 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:13 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fc97179-304a-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880541; x=1722416541;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=X4MZTo9+yUn1bPdeMYVQLWvNe1DyIq6KwUj9R7l5YRg=;
  b=iE4ZBWN6FHKfIHdRVuSxtVHMjl6rKHVKxWjV3i3+NMDwCuCuSPo1SE2o
   tbwfRZr4CDSKJZznO7cfD4DArrmrdNaLwV++uBocdEWEVABIg0+kARtq1
   AYapsDpfvXA3IahW9maEcnKuCbtEUO9K9zLhv4xR9pMpFdST6eJMObiy0
   FuXobJdqiFZpDvtZxDdR2vAVcMr2vFYSGTJ7LgYMjnKWoPiu7f9ZXQ3fq
   JN+DOAtcjNGb84R2xguwuTwWxA3Ff7zwa7IHHpGImQh/52aKIvfDuOLdI
   yAduIZWinRzGln5NwRszHvaGuLpmrBTSG2PG7oJhTU51CszU3s6ZV42e5
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082882"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082882"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217090"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217090"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 25/36] x86/traps: Add a system interrupt handler table for system interrupt dispatch
Date: Tue,  1 Aug 2023 01:33:07 -0700
Message-Id: <20230801083318.8363-26-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

On x86, external interrupts can be categorized into two groups:
  1) System interrupts
  2) External device interrupts

All external device interrupts are directed to the common_interrupt(),
which, in turn, dispatches these external device interrupts using a
per-CPU external device interrupt dispatch table vector_irq.

To handle system interrupts, a system interrupt handler table needs to
be introduced. This table enables the direct dispatching of a system
interrupt to its corresponding handler. As a result, a software-based
dispatch function will be implemented as:

  void external_interrupt(struct pt_regs *regs)
  {
    u8 vector = regs->vector;
    if (is_system_interrupt(vector))
      system_interrupt_handlers[vector_to_sysvec(vector)](regs);
    else /* external device interrupt */
      common_interrupt(regs);
  }

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Co-developed-by: Xin Li <xin3.li@intel.com>
Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v8:
* Remove junk code that assumes no local APIC on x86_64 (Thomas Gleixner).

Changes since v5:
* Initialize system_interrupt_handlers with dispatch_table_spurious_interrupt()
  instead of NULL to get rid of any NULL check (Peter Zijlstra).
---
 arch/x86/kernel/traps.c | 50 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 49dd92458eb0..e430a8c47931 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1488,6 +1488,56 @@ DEFINE_IDTENTRY_SW(iret_error)
 }
 #endif
 
+#ifdef CONFIG_X86_64
+
+static void dispatch_table_spurious_interrupt(struct pt_regs *regs)
+{
+	dispatch_spurious_interrupt(regs, regs->vector);
+}
+
+#define SYSV(x,y) [(x) - FIRST_SYSTEM_VECTOR] = y
+
+static system_interrupt_handler system_interrupt_handlers[NR_SYSTEM_VECTORS] = {
+	[0 ... NR_SYSTEM_VECTORS-1]		= dispatch_table_spurious_interrupt,
+#ifdef CONFIG_SMP
+	SYSV(RESCHEDULE_VECTOR,			dispatch_table_sysvec_reschedule_ipi),
+	SYSV(CALL_FUNCTION_VECTOR,		dispatch_table_sysvec_call_function),
+	SYSV(CALL_FUNCTION_SINGLE_VECTOR,	dispatch_table_sysvec_call_function_single),
+	SYSV(REBOOT_VECTOR,			dispatch_table_sysvec_reboot),
+#endif
+
+#ifdef CONFIG_X86_THERMAL_VECTOR
+	SYSV(THERMAL_APIC_VECTOR,		dispatch_table_sysvec_thermal),
+#endif
+
+#ifdef CONFIG_X86_MCE_THRESHOLD
+	SYSV(THRESHOLD_APIC_VECTOR,		dispatch_table_sysvec_threshold),
+#endif
+
+#ifdef CONFIG_X86_MCE_AMD
+	SYSV(DEFERRED_ERROR_VECTOR,		dispatch_table_sysvec_deferred_error),
+#endif
+
+#ifdef CONFIG_X86_LOCAL_APIC
+	SYSV(LOCAL_TIMER_VECTOR,		dispatch_table_sysvec_apic_timer_interrupt),
+	SYSV(X86_PLATFORM_IPI_VECTOR,		dispatch_table_sysvec_x86_platform_ipi),
+# ifdef CONFIG_HAVE_KVM
+	SYSV(POSTED_INTR_VECTOR,		dispatch_table_sysvec_kvm_posted_intr_ipi),
+	SYSV(POSTED_INTR_WAKEUP_VECTOR,		dispatch_table_sysvec_kvm_posted_intr_wakeup_ipi),
+	SYSV(POSTED_INTR_NESTED_VECTOR,		dispatch_table_sysvec_kvm_posted_intr_nested_ipi),
+# endif
+# ifdef CONFIG_IRQ_WORK
+	SYSV(IRQ_WORK_VECTOR,			dispatch_table_sysvec_irq_work),
+# endif
+	SYSV(SPURIOUS_APIC_VECTOR,		dispatch_table_sysvec_spurious_apic_interrupt),
+	SYSV(ERROR_APIC_VECTOR,			dispatch_table_sysvec_error_interrupt),
+#endif
+};
+
+#undef SYSV
+
+#endif /* CONFIG_X86_64 */
+
 void __init trap_init(void)
 {
 	/* Init cpu_entry_area before IST entries are set up */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:08:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.573965.899152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlMg-0007t5-Mk; Tue, 01 Aug 2023 09:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 573965.899152; Tue, 01 Aug 2023 09: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 1qQlMg-0007sy-JY; Tue, 01 Aug 2023 09:08:26 +0000
Received: by outflank-mailman (input) for mailman id 573965;
 Tue, 01 Aug 2023 09:08: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQlGn-0005E5-0i
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:02:21 +0000
Received: from mgamail.intel.com (unknown [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d523a12-304a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:02:19 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 02:02:10 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 02:02:09 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d523a12-304a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690880539; x=1722416539;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dQPbDjEqQWsCazdenr4wm1/cp/YJX7zOnAx3X5niG4Q=;
  b=n+rYQuhcIvzNJLmsXBEw8Lwsem76O8IpiNHXC+Nr3gsLSUuUdShApJMs
   vDqLN06+yrUsgLryFPnaC+Xc8GWMeIaVU7lbuhbmce1nybQ8TR9xHE9nX
   k/mvLKHP7/+m5rrtj/dYUeE1ynS1KMayUTi/siF/crjn7YGkL1fKHVPlQ
   GmOHsQAufB/AplysljpMC39cfVZLOWmLx0eEXXCx6T4b7cIIqTPY+efwS
   1XaVjRKAC2vU2E/cwY5eRD8hVduFYOhX4C1tgsoVMb40MVuPwkdBsEDna
   iD9wwhNx1fS6TyMwHG9GWVRMdcjTAiIoHem+MtO7kOeVStbKxQfgy7CT5
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="433082746"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="433082746"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10788"; a="975217074"
X-IronPort-AV: E=Sophos;i="6.01,246,1684825200"; 
   d="scan'208";a="975217074"
From: Xin Li <xin3.li@intel.com>
To: linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Xin Li <xin3.li@intel.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>,
	Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>,
	Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>,
	Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: [PATCH RESEND v9 21/36] x86/fred: Add a machine check entry stub for FRED
Date: Tue,  1 Aug 2023 01:33:03 -0700
Message-Id: <20230801083318.8363-22-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a machine check entry stub for FRED.

Tested-by: Shan Kang <shan.kang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
---

Changes since v5:
* Disallow #DB inside #MCE for robustness sake (Peter Zijlstra).
---
 arch/x86/include/asm/fred.h    |  1 +
 arch/x86/kernel/cpu/mce/core.c | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index 2a7c47dfd733..f559dd9dc4f2 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -115,6 +115,7 @@ typedef DECLARE_FRED_HANDLER((*fred_handler));
 DECLARE_FRED_HANDLER(fred_exc_nmi);
 DECLARE_FRED_HANDLER(fred_exc_debug);
 DECLARE_FRED_HANDLER(fred_exc_page_fault);
+DECLARE_FRED_HANDLER(fred_exc_machine_check);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index b8ad5a5b4026..98456e20f155 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -52,6 +52,7 @@
 #include <asm/mce.h>
 #include <asm/msr.h>
 #include <asm/reboot.h>
+#include <asm/fred.h>
 
 #include "internal.h"
 
@@ -2118,6 +2119,20 @@ DEFINE_IDTENTRY_MCE_USER(exc_machine_check)
 	exc_machine_check_user(regs);
 	local_db_restore(dr7);
 }
+
+#ifdef CONFIG_X86_FRED
+DEFINE_FRED_HANDLER(fred_exc_machine_check)
+{
+	unsigned long dr7;
+
+	dr7 = local_db_save();
+	if (user_mode(regs))
+		exc_machine_check_user(regs);
+	else
+		exc_machine_check_kernel(regs);
+	local_db_restore(dr7);
+}
+#endif
 #else
 /* 32bit unified entry point */
 DEFINE_IDTENTRY_RAW(exc_machine_check)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:12:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574000.899161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlQp-000247-9R; Tue, 01 Aug 2023 09:12:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574000.899161; Tue, 01 Aug 2023 09:12:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlQp-000240-6m; Tue, 01 Aug 2023 09:12:43 +0000
Received: by outflank-mailman (input) for mailman id 574000;
 Tue, 01 Aug 2023 09:12:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQlQo-00023t-HN
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:12:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 912da532-304b-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:12:41 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB6911.eurprd04.prod.outlook.com (2603:10a6:803:12e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 09:12:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 09:12:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 912da532-304b-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ys+2K/JN4yXCRCYGR1ixspZmF2JVpM2ouHjctoWbP+4rH6UvDpdYzudYjD0Da6zJ72VDRAcrw/AGZL83qeBOFXQOkN/0TqdXdDnp7VwQjZOYfczZaEY4Eb9UeYrArJtX89e1rD9kBi5aMc14cQNGtc5+3/5s5sB9EdWKuMU1qbF+2rv4ErVWujUI5qvRqX4HDBSpgAHJ+JCQC3lgIufixMwpknGQUJOpZj9lG8stZUcZaWiTf10e1ODcrc71X+vONyBrYrZ2jzBtA6AFmJ88iiZ3yZA7psf6Reo0mnffHKhk+MBSi8oOvDyWz0PgSujngO/BB9RzRiUtGRTQZpgifg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EHKD4iMmkPdgbq5iQ88Y4kY4iH5j/1SDkoXotYoUXAs=;
 b=VBhMHQ7fC7CD9Y3OGBwCju+CzEdsrNQbVCNQHvDRA22q4LF2H9TYSuNUEf+fkSMLQBkbdZWUZnRZEcZ7XH2hRJNDPKZtxWNf1wY9HqLUO7W6nCauKbyjYtlK4aCZhKc4D7K5JBeFJHnwlB7uwWVnIL7DwhXmymGt3Kn4g0ADzc0oMaYuUeyMArfVx2zkmqScfCRnrBVFIsINyg9zEG0bVJBZ14ks/ktH/8CMDtcklGB75ykaYo8fEJ6ExSbA4+CxIcdHXx5RkvGOcVHiUwqQuf4YZfBF7cWKEX1vWDLV3Icu7wf5y+b0ffYSeYVNP37FB8FND5Qo0H3jeJA8zLWB2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EHKD4iMmkPdgbq5iQ88Y4kY4iH5j/1SDkoXotYoUXAs=;
 b=nEutwpJKJzRRSEaKKBW7rBqr+gXCZP5TD7FJ5ti2QIdm6eU7mcf2cvGM1oGBwdeSIn0uRmhzshvZ9I/5gtyBSOTwm4dEUsfgOUhrO/Agfg3VRpifpmemjPLTH9hoQxGZikfu9MY+sxqsfEzY0vHLLBkyTcWIFXKq+ZQP1ue4fS98j0iSWltIU0A4OFPz4gS1N5PAn3ww7T/Vv3lcaiYoAhoEYwdMQbOwNurw3hpLR6kTaMwxMZ9+BdNgXGT/Svm4dUQF9dYcKuxOwCAk1SVYS0VxTRcSxJzPDPID5j0MxbMd4TUdiK02awNp6oxH9ubmFu0zKC/ghFC8lbK1mlBMzg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <98f49c19-67e3-7a79-7fc3-02d065f50c79@suse.com>
Date: Tue, 1 Aug 2023 11:12:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v5 2/2] xen/riscv: introduce identity mapping
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1690464789.git.oleksii.kurochko@gmail.com>
 <ab2e719bbe071c3d5c4e3341573c0848dfcee3ee.1690464789.git.oleksii.kurochko@gmail.com>
 <911eba8e-a92b-896c-e5dc-e54dcd570664@suse.com>
 <0bcbcb53db1f0c9ae279347c3f5c762e5324dd15.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0bcbcb53db1f0c9ae279347c3f5c762e5324dd15.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB6911:EE_
X-MS-Office365-Filtering-Correlation-Id: d8aa5858-a458-4383-df15-08db926f72c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3dEYwOXZQAiZ5RPpEIqAiWiW2c3LZR1uTI3xjWxH7ChqKqIyz5PRbkMfGPnhupEwaDirZysmKClTE6lKKgNjDWhfR7RpS4WjBIf/Crfckz2cAeauwj9i6KkcgjmF2kmvxDUtLmgZUDi1e3zTohvfcBvwLqa+GzPpn39e3nEVcEJvJwkEw7XIA0bxIZ/CpAbccqHjCoJi6e3JVjn8wpLaauRwSXNvJuGALvKQX2kBKlooUkAGTl3llOUHKLUV4NVvBuajPwYv0YBQ3nTJlmP4DVjB3ySG7E45rqzYtcB9+xMDzEbppztj44jvZvb9JzCoPP2+glvwHM6KmeWtLZx9W7+3HAqjxvZsqDHPFI2javhqaolRvmoAEhLp51gE5rrRCt43+1zKHg5bgSJrjCb73XJuW5VlORemMIxkFzFU5xAZedCWZzzjmgQvW7LVWrFlw950v3rRejncjf9YF+NHbn2CCWo8rxddrcqJnyIOd70syWcihbx2qYSUg1/KMQj1ys4vZKmaL2NaqSPiqt8Shx26hDNlFJLWLme5yK5pUFL1ZiyOL0ZNN2cSHxAFMARBZgNTSm0/cqT05tT2QcczJZOQGG8CfuCw5Bcy70K4E8KL8WQ2t0sjUq1iigAF9umTgPo3eybvg62jiqGAJne83Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(39860400002)(346002)(366004)(376002)(451199021)(6512007)(31686004)(6666004)(5660300002)(186003)(66946007)(66476007)(66556008)(4326008)(6916009)(478600001)(54906003)(6486002)(316002)(41300700001)(8936002)(8676002)(26005)(38100700002)(31696002)(86362001)(53546011)(36756003)(2906002)(6506007)(2616005)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmZjb1l5Q1BlL1hncGlOWHRxM0Q1VjBqNnZHNnEvbW5oU3RSWU9YUXJ4dytI?=
 =?utf-8?B?eVMxd0NJdUpmMWZWZkVzcit4MVUyVVNHd2xodmtzZG1QUVVuQm94UnJJblA2?=
 =?utf-8?B?WVpVcU5CekZ0UHVJK24zOVExdnBPQ0hhWjNReUo4WlJUWXRwdkhkdXlidHk4?=
 =?utf-8?B?bWw2QVA3MCs3RS85UHFMM0xsWWl2MFBsalRmZlRycmlYWDdsTzEyRmVlNDl4?=
 =?utf-8?B?VUltTjZnWG4zdmJhemxLTk15eUdnV2IzTzBUcU8xRitJWmY3TGpJbUxTMmU4?=
 =?utf-8?B?am5jZEhCTHpzRnVFdjlaTU5TZFJUTVBIMG9rSUE3QlZVZWVJWlcyT2VncU50?=
 =?utf-8?B?NXRFZTZLeUlkRjkwczU4eEFNK3hnNkhEbU56enJNTGdCQ211RnJmYXBTQ0l0?=
 =?utf-8?B?SXMzNHEvWmJXL2xXVEdBdDd5WW9tdzdaZ0VSclozcmRhNlVzYXFSVnF4Vkli?=
 =?utf-8?B?QlBaWmJrTUNGbmU0d2Fzcm9TdmJRR0Q1TWFTOVBLVWhwZ280ejg3QzZJd1Ja?=
 =?utf-8?B?MlkvbnZzVVJ5RGE4NEdlTEZXZDRIcEZFWG1lN3IrWFczVXE0WjU2T1RDalRw?=
 =?utf-8?B?VFJBSUFoT1FybFZ0UVRvWlA1Z0tBMHdwd0tTbG5odXcwTy9xTnY1UzFDQWhk?=
 =?utf-8?B?Y3BGUTV3Y1FQOVR5Y09vYjVjV2NFZUJ1Um9CUmw4bmxzV3pITzh0YVBscldX?=
 =?utf-8?B?ZXh6VWhoYUdOcmIxSjJneFkvRHYyS2VmVFk1VjJreTk5dTVOdUtCRG5nWFNh?=
 =?utf-8?B?dGxDVDFYb2hnQ0ZrRlpGbEo1T0dQTjVyVmQ4ODJxdWxRZHNYV29XVGNpUzFr?=
 =?utf-8?B?cy9hQnd0TjZtU3VsNS9WOUVzS3ZGeVB6bzdhbnU0NUhVbFJJamY5VUpqQldr?=
 =?utf-8?B?UHNVN2R3MWRHQXlWakxCOEM1RnpSRmhRY1pyUVo0RE8zQjg1KzY3Y2ZSUk80?=
 =?utf-8?B?Y1NJc2Q4SVNzaFJNd0thNno2a08xL3N3UTQ5Z0JHdTZtUDE0VGRXSE1aZEZI?=
 =?utf-8?B?cCsxUHFsRk13TFFSajFsZUIwZkJFeXNYZXVNWWdXRzErRmZlR3hoMmt0eUVK?=
 =?utf-8?B?empmSlpCMmZoWlcxcFo0QUJjaDVLVFJLMmdWZEJrSFJoWUMvK3B0SjFIamEz?=
 =?utf-8?B?MW83bDJPTCtLQ1R1SGlVeCt4RFNFalZKYmR1ZGJmNk5TMGpqbWE4Uy9WdVYr?=
 =?utf-8?B?NE5xcGtYV1R6b1NuSDVhc1JTU1R6OWx5aDRTT1A5MlN0NkE4TDFveUtua28v?=
 =?utf-8?B?ZGk5eXd6b01uQ3d4Q01QTDM0aFVzRGdtRGRtdUV0Y00vbHlXbUs1MURxQllj?=
 =?utf-8?B?bEJUcGd4b3MwSlpLdDhHdmtvNXVJc3ZjVUtOQ3JWZFdCZGJFSnNpd05JM2xR?=
 =?utf-8?B?THBzc0gyQ2xyODJtaERJcDdDT1pRcmpTVFBOaGVkeHlCMk5rdGxBVU8zREdo?=
 =?utf-8?B?MnJOT3FNTWRNbm0zKzFXWG1PYXFJM01vUVdna2FrcnZkdUl5bEdKSnhyd2xm?=
 =?utf-8?B?MUNwUEplTHplRU9TeGhaNHlGVnpCWXpxYXhydzhwUExEZnBsWjZlR09lMGtV?=
 =?utf-8?B?NDkwYngrMmwrdjZOUnNOSHZrOG5vYVFuSGJXVGV5OGVSWStaaVpDdTI4WDF6?=
 =?utf-8?B?YmltN2xnZTFOVUhHYmRHR1VFS0tONlRFR0YyUWpDS0w1UTc5R29BcnZSc2to?=
 =?utf-8?B?YnREKzN3Q1cxQWh0a1cxazIvNE5XT09rNHNzSWowV1IwVHF3ejluVDcrdjVR?=
 =?utf-8?B?MndDNEljZUx3R0FDMXpxbjAzdWRJb3l3Q3V0eC9RSFM3QTcxczNMY1JxanRV?=
 =?utf-8?B?bEZneFFaTGNDMjQ2N2crQVlHMmxWUlQ3Q0t0UXVqZ2tWcDdQZm5Zb3JPZlFK?=
 =?utf-8?B?YmFpQmdWNVpaZ1NWL01CV1JvSEdiVEU0c0pJMFRDallaSExBZ2xBLzNCR3lT?=
 =?utf-8?B?MlVoUnM0VmU1WHB1TVFBWVJqWWhZek1SRGM5M0d1MklKS2FyT2IyTUFZcVNB?=
 =?utf-8?B?QkxEWEpEVXB6OVRCZTE0dXlWQ3IrL055dFB2MFY1VDBHdHBDZi9xaDNJMzBi?=
 =?utf-8?B?b0J6c240dWZWcGt1T0ZFcERDc1lvTDhTOTl6dVFmRlJLSlc2d2d6SjN3cEF5?=
 =?utf-8?Q?k8TbnE6grzlvtZJwpRDNUmQtt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8aa5858-a458-4383-df15-08db926f72c1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 09:12:36.9592
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f0QFHS1xFsVuzR03QmOxg3+zR4Y+oUwzTLcLacumwj9kzHASgAUXH0mlgN8imBqxm0h5iLb3WPrLOfVj6hwzvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6911

On 01.08.2023 10:50, Oleksii wrote:
> On Mon, 2023-07-31 at 16:07 +0200, Jan Beulich wrote:
>> Everything else looks good to me now, but will of course want a
>> maintainer looking over.
> Would it be better to send a new version now or wait for a response
> from other maintainers?

Hard to tell. Maybe send a new version in the hope that that's what
then can go in.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:46:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:46:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574015.899173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlxW-0006nG-Sa; Tue, 01 Aug 2023 09:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574015.899173; Tue, 01 Aug 2023 09:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlxW-0006n9-Nr; Tue, 01 Aug 2023 09:46:30 +0000
Received: by outflank-mailman (input) for mailman id 574015;
 Tue, 01 Aug 2023 09:46:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQlxV-0006mz-Bl
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:46:29 +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 485ea312-3050-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:46:26 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-4fe15bfb1adso8613317e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 02:46:27 -0700 (PDT)
Received: from [192.168.203.100] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 x9-20020ac259c9000000b004fe1e7f98c2sm2107420lfn.146.2023.08.01.02.46.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 02:46: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: 485ea312-3050-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690883187; x=1691487987;
        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=3kD4jwF4XYlZmlfx9xBip173VfVUmrJboJ5I19wteY0=;
        b=brsgSITzajd9TMe0Ci2qzsiwWC2nDEujBAarpIBjwNEiICODXj9DTAjeTxAiJfGHYg
         9Wc86erRKrlfpn35asei7lQMegHZXBpAqgdBoNYuKspCPAysgPEAM/iqqxMJ4+M1YxoD
         MtHR0bn8tmL4tTIH8i6kGfZ2fXHYjtd1X/3fk6OjX34X8ZiGVrktD+QYJrrDUQ+U4nn7
         dOplxamojkIiQOgT3xVY/7fB3/7a6M7UP3XLCiPwKQ+b0ycDvYheKp5c+N4hUfcYQu3a
         nW+Fs11AoXxxRwBCtknSNJYP8Nz10/mwyriv5mmvn8DlbevuGyZkolE5F99S+8Q2CGgr
         JdjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690883187; x=1691487987;
        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=3kD4jwF4XYlZmlfx9xBip173VfVUmrJboJ5I19wteY0=;
        b=ZFN+3QHy6Ltt8g2KpSSDWndmxkc6eVxr5E2cnfVHJRm2NmiSmjQukk1nSZlSIZlGst
         fDQzDiWlgmUmhnH7c0X+GtzcskFUkCfaxBE0lD1IMDxLgcPLrSLPP/PcrqXtfzkfAJF9
         8dSazWcP91l25fuYnH4hcAOB7Ai3e/WDJtoCmUKsFDo2lSt1htmjYOrb0prsWu3T2Hal
         xPH37d6CRSv0RUcmFcSTaMAJZHc5LaFAz+b8bfZJhB5DzzvDuanoSkONuZbcMgtWQa6i
         QNrW5p7Wd25ak6zSIE6XWaZQVgfqNAwNnKg6BWnSr6HlPhcI1nBVYigGxgn3WsKQyTyv
         3LdQ==
X-Gm-Message-State: ABy/qLZf+6wW0shoVOE/HNMsoP8Z96k4D1WzB3cvJtMftDMfp20Danlv
	QukuAKizeRUSmjTd00SnjvQ=
X-Google-Smtp-Source: APBJJlGmiUB+yvAC5Y/tYdMZrMzLmR8IzH7NzrAJVlaQKJrgVJND5nhEUYvS3R4HA8f+ASemjtjF8Q==
X-Received: by 2002:ac2:5f5a:0:b0:4fe:590:53ca with SMTP id 26-20020ac25f5a000000b004fe059053camr1451707lfz.4.1690883186273;
        Tue, 01 Aug 2023 02:46:26 -0700 (PDT)
Message-ID: <75cd58c00ac6b9f49f1656d6793888ef470c9eff.camel@gmail.com>
Subject: Re: [PATCH v4 1/1] ns16550: add support for polling mode when
 device tree is used
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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Date: Tue, 01 Aug 2023 12:46:25 +0300
In-Reply-To: <98596d8e-6c11-715a-7842-910806abda77@suse.com>
References: <cover.1690475512.git.oleksii.kurochko@gmail.com>
	 <6e8f243284b53a9c56e7faf5e0e5ee5e20de9958.1690475512.git.oleksii.kurochko@gmail.com>
	 <98596d8e-6c11-715a-7842-910806abda77@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-07-31 at 15:24 +0200, Jan Beulich wrote:
> On 27.07.2023 18:45, Oleksii Kurochko wrote:
> > @@ -654,6 +674,9 @@ static void ns16550_init_common(struct ns16550
> > *uart)
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0 /* Default lsr_mask =3D UART_LSR_THRE */
> > =C2=A0=C2=A0=C2=A0=C2=A0 uart->lsr_mask=C2=A0 =3D UART_LSR_THRE;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( strstr(opt_com1, "poll") || strstr(opt_com2, "=
poll") )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uart->intr_works =3D pollin=
g;
> > =C2=A0}
>=20
> A non-__init function may not reference __initdata objects. But
> strstr()
> is too lax anyway, and you also shouldn't check the wrong port's
> options.
> You want to recognize "poll" _only_ where all other command line
> options
> are processed.
Just to confirm, do you mean that I should use parse_positional() ( or
something similar ) for the device-tree method of initializing ns16550?

I checked the polling behavior as described above because
parse_positional() is utilized solely for X86.

It appears that command line options are parsed only in the case of
x86.
>=20
> Also may I remind you that extending command line options requires
> their
> doc to also be updated?
Thank you for the reminder. It seems I misunderstood which doc I need
to update. I believed you were referring to the comment above the
declaration of opt_com1[].

I think you meant xen-command-line.pandoc.
>=20
> > @@ -1333,9 +1356,13 @@ pci_uart_config(struct ns16550 *uart, bool_t
> > skip_amt, unsigned int idx)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uart->irq =3D 0;
> > =C2=A0#endif
> > =C2=A0=C2=A0=C2=A0=C2=A0=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 ( !uart->irq )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uart->intr_works =3D polling;
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk(XENLOG_INFO
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 "ns16550: %pp: no legacy IRQ, using
> > poll mode\n",
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &PCI_SBDF(0, b, d, f));
> > +=C2=A0=C2=A0=C2=A0=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
> I'm okay to leave it at this for now, since this way at least nothing
> regresses that was working before. I'm not convinced this is all
> correct, but that's a largely separate (and pre-existing) issue then.
>=20
> > @@ -1791,8 +1808,11 @@ static int __init
> > ns16550_uart_dt_init(struct dt_device_node *dev,
> > =C2=A0=C2=A0=C2=A0=C2=A0 }
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0 res =3D platform_get_irq(dev, 0);
> > -=C2=A0=C2=A0=C2=A0 if ( ! res )
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > +=C2=A0=C2=A0=C2=A0 if ( res < 0 )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("there is no interru=
pt property, polling will be
> > used\n");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uart->intr_works =3D pollin=
g;
> > +=C2=A0=C2=A0=C2=A0 }
> > =C2=A0=C2=A0=C2=A0=C2=A0 uart->irq =3D res;
>=20
> Shouldn't you avoid writing uart->irq when res is negative?
I think you are right, and I missed that. I'll update it in a new patch
version.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:46:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574016.899182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQlxy-0007GZ-3x; Tue, 01 Aug 2023 09:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574016.899182; Tue, 01 Aug 2023 09:46: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 1qQlxy-0007GS-0c; Tue, 01 Aug 2023 09:46:58 +0000
Received: by outflank-mailman (input) for mailman id 574016;
 Tue, 01 Aug 2023 09:46: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=MJ0s=DS=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qQlxw-0007G2-JC
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:46:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58787a72-3050-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:46:55 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id EE4FA4EE0737;
 Tue,  1 Aug 2023 11: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: 58787a72-3050-11ee-b259-6b7b168915f2
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] xen/spinlock: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Tue,  1 Aug 2023 11:46:46 +0200
Message-Id: <29b6a47a2711f065c02a3d2d94e1a201986cf015.1690882872.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters to address violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between parameter names and types used in function
declarations and the ones used in the corresponding function
definitions, thus addressing violations of MISRA C:2012 Rule 8.3
("All declarations of an object or function shall use the same names
and type qualifiers").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/spinlock.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 0a02a527dc..4a1c155e96 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -125,8 +125,9 @@ struct lock_profile_qhead {
     } while(0)
 
 void _lock_profile_register_struct(
-    int32_t, struct lock_profile_qhead *, int32_t);
-void _lock_profile_deregister_struct(int32_t, struct lock_profile_qhead *);
+    int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
+void _lock_profile_deregister_struct(int32_t type,
+                                     struct lock_profile_qhead *qhead);
 
 #define lock_profile_register_struct(type, ptr, idx)                          \
     _lock_profile_register_struct(type, &((ptr)->profile_head), idx)
@@ -178,7 +179,7 @@ typedef struct spinlock {
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
 
 void _spin_lock(spinlock_t *lock);
-void _spin_lock_cb(spinlock_t *lock, void (*cond)(void *), void *data);
+void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
 void _spin_lock_irq(spinlock_t *lock);
 unsigned long _spin_lock_irqsave(spinlock_t *lock);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:57:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:57:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574024.899192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8H-0000wY-2B; Tue, 01 Aug 2023 09:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574024.899192; Tue, 01 Aug 2023 09:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8G-0000wR-Vb; Tue, 01 Aug 2023 09:57:36 +0000
Received: by outflank-mailman (input) for mailman id 574024;
 Tue, 01 Aug 2023 09:57:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u66X=DS=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qQm8F-0000wJ-9y
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:57:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d647499f-3051-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:57:34 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 81CB64EE0737;
 Tue,  1 Aug 2023 11:57: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: d647499f-3051-11ee-b259-6b7b168915f2
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 0/4] automation/eclair: improvements to the ECLAIR integration
Date: Tue,  1 Aug 2023 11:57:00 +0200
Message-Id: <cover.1690881495.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series contains a series of improvements to the ECLAIR integration.

The integration was not initially intended to operate in tag pipelines,
for this reason the analyses fail when triggered from xen-project/patchew.
This series add support for such pipelines.

The summary() reporting facility in action.helpers has been partially
rewritten to make it more readable and easier to follow. The utility
has been extended to print directs links to the findings in the GitLab
console log.

Six new ECLAIR jobs have been added, these jobs run only when triggered
by a scheduled pipeline.

This series avoids failures when a merge point with xen-project/xen(staging)
is not found.

Simone Ballarin (4):
  automation/eclair: add support for tag pipelines
  automation/eclair: add direct link to reports
  automation/eclair: add scheduled pipelines
  automation/eclair: avoid failure in case of missing merge point

 .../eclair_analysis/ECLAIR/action.helpers     | 84 ++++++++++++++-----
 .../eclair_analysis/ECLAIR/action.settings    | 30 ++++---
 automation/gitlab-ci/analyze.yaml             | 65 +++++++++++++-
 3 files changed, 145 insertions(+), 34 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:58:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574028.899201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8i-0001UP-Ej; Tue, 01 Aug 2023 09:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574028.899201; Tue, 01 Aug 2023 09: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 1qQm8i-0001UG-Br; Tue, 01 Aug 2023 09:58:04 +0000
Received: by outflank-mailman (input) for mailman id 574028;
 Tue, 01 Aug 2023 09:58:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u66X=DS=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qQm8h-0001NH-9v
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:58:03 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e62f2a7e-3051-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:58:00 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 1D9A84EE0737;
 Tue,  1 Aug 2023 11:58:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e62f2a7e-3051-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 1/4] automation/eclair: add support for tag pipelines
Date: Tue,  1 Aug 2023 11:57:01 +0200
Message-Id: <5e79b954062385c4d765c32347bcb45896d3ed5e.1690881495.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690881495.git.simone.ballarin@bugseng.com>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The ECLAIR jobs fail when triggered by tag pipelines (e.g.
xen-project/patchew/xen).

This patch extends the integration to support such pipelines.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .../eclair_analysis/ECLAIR/action.settings    | 24 ++++++++++++-------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index 96426811a8..71c10d5141 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -41,7 +41,7 @@ github)
     push | workflow_dispatch)
         event=push
         # Extract the branch name from "refs/heads/<branch>"
-        branch="${GITHUB_REF#refs/heads/}"
+        ref="${GITHUB_REF#refs/heads/}"
         headCommitId="${GITHUB_SHA}"
         pushUser="${GITHUB_ACTOR}"
         ;;
@@ -75,7 +75,13 @@ gitlab)
         ;;
     push | pipeline | web)
         event=push
-        branch="${CI_COMMIT_BRANCH}"
+        if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
+            ref_kind=branch
+            ref="${CI_COMMIT_BRANCH}"
+        else
+            ref_kind=tag
+            ref="${CI_COMMIT_TAG}"
+        fi
         headCommitId="${CI_COMMIT_SHA}"
         pushUser="${GITLAB_USER_NAME}"
         ;;
@@ -99,7 +105,7 @@ jenkins)
     jenkinsBotToken="${ECLAIR_BOT_TOKEN:-}"
 
     event=push
-    branch="${GIT_BRANCH}"
+    ref="${GIT_BRANCH}"
     headCommitId="${GIT_COMMIT}"
     pushUser=$(git show --pretty='format:%aN' -s)
     ;;
@@ -111,7 +117,7 @@ esac
 
 if [ "${event}" = "push" ] && [ -n "${autoPRBranch:-}" ]; then
     # AUTO PR Feature enabled
-    if ! [ "${branch}" = "${autoPRBranch}" ] ||
+    if ! [ "${ref}" = "${autoPRBranch}" ] ||
         ! [ "${repository}" = "${autoPRRepository}" ]; then
         event=auto_pull_request
     fi
@@ -123,17 +129,17 @@ pull_request)
     jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pullRequestUser} wants to merge ${pullRequestHeadRepo}:${pullRequestHeadRef} (${headCommitId}) into ${pullRequestBaseRef} (${baseCommitId})"
     ;;
 push)
-    subDir="${branch}"
-    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: branch ${branch} (${headCommitId})"
-    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${branch}${variantHeadline} #${jobId}"
+    subDir="${ref}"
+    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${ref_kind} ${ref} (${headCommitId})"
+    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
     ;;
 auto_pull_request)
     git remote remove autoPRRemote || true
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
-    subDir="${branch}"
+    subDir="${ref}"
     baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD)
-    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${branch} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
+    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${ref} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
     ;;
 *)
     echo "Unexpected event ${event}" >&2
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:58:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:58:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574029.899212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8k-0001ka-MG; Tue, 01 Aug 2023 09:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574029.899212; Tue, 01 Aug 2023 09:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8k-0001kR-JD; Tue, 01 Aug 2023 09:58:06 +0000
Received: by outflank-mailman (input) for mailman id 574029;
 Tue, 01 Aug 2023 09:58:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u66X=DS=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qQm8j-0001NH-AG
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:58:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7637744-3051-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:58:02 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 2029F4EE0740;
 Tue,  1 Aug 2023 11:58: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: e7637744-3051-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 2/4] automation/eclair: add direct link to reports
Date: Tue,  1 Aug 2023 11:57:02 +0200
Message-Id: <c07f1474bc4a46fbc969b02bbd1b95f88a872acc.1690881495.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690881495.git.simone.ballarin@bugseng.com>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds direct links to the analysis findings in the
console log.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .../eclair_analysis/ECLAIR/action.helpers     | 84 ++++++++++++++-----
 1 file changed, 65 insertions(+), 19 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.helpers b/automation/eclair_analysis/ECLAIR/action.helpers
index 2ad6428eaa..df9bf2bd11 100644
--- a/automation/eclair_analysis/ECLAIR/action.helpers
+++ b/automation/eclair_analysis/ECLAIR/action.helpers
@@ -1,17 +1,26 @@
+esc=$(printf '\e')
+cr=$(printf '\r')
+
 if [ -n "${GITLAB_CI:-}" ]; then
     ci=gitlab
+    eol=
+    link_start="${esc}[33m"
+    link_end="${esc}[m"
 elif [ -n "${GITHUB_ACTION:-}" ]; then
     ci=github
+    eol="\\"
+    link_start=
+    link_end=
 elif [ -n "${JENKINS_HOME:-}" ]; then
     ci=jenkins
+    eol="<br/>"
+    link_start=
+    link_end=
 else
     echo "Unexpected CI/CD context" >&2
     exit 1
 fi
 
-esc=$(printf '\e')
-cr=$(printf '\r')
-
 open_section() {
     id=$1
     title=$2
@@ -36,54 +45,86 @@ summary() {
 
     case "${ci}" in
     github)
-        nl="\\"
+        eol="\\"
         ;;
     gitlab)
-        nl=
+        eol=
         ;;
     jenkins)
-        nl="<br/>"
+        eol="<br/>"
         ;;
     *)
-        nl=
+        eol=
         ;;
     esac
 
+    currentDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/PROJECT.ecd;/by_service.html#service&kind"
     if [ -z "${newReports}" ]; then
-        fixedMsg=
+        fixedMsg="No fixed reports as there is no baseline"
         unfixedMsg="Unfixed reports: ${unfixedReports}"
-        countsMsg="${unfixedMsg}"
+        referenceReportsMsgTxt=
+        referenceReportsMsgLog=
     else
         fixedMsg="Fixed reports: ${fixedReports}"
         unfixedMsg="Unfixed reports: ${unfixedReports} [new: ${newReports}]"
-        countsMsg="${fixedMsg}${nl}
-${unfixedMsg}"
+        case "${event}" in
+        pull_request | auto_pull_request)
+            referenceDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/base/PROJECT.ecd;/by_service.html#service&kind"
+            reference_kind=base
+            ;;
+        push)
+            referenceDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/prev/PROJECT.ecd;/by_service.html#service&kind"
+            reference_kind=previous
+            ;;
+        *)
+            echo "Unexpected event ${event}" >&2
+            exit 1
+            ;;
+        esac
     fi
+
     case "${ci}" in
     jenkins)
+        if [ -n "${newReports}" ]; then
+            referenceReportsMsgTxt="<a href="${referenceDbReportsUrl}">Browse ${reference_kind} reports</a>"
+        fi
         cat <<EOF >"${summaryTxt}"
-${countsMsg}                                                                              ${nl}
+${fixedMsg}${eol}
+${unfixedMsg}                                                                              ${eol}
 <a href="https://www.bugseng.com/eclair">
   <img src="${eclairReportUrlPrefix}/rsrc/eclair.svg" width="100" />
 </a>
 <h3>${jobHeadline}</h3>
-<a href="${indexHtmlUrl}">Browse analysis results</a>
+<a href="${indexHtmlUrl}">Browse analysis summary</a>
+<a href="${currentDbReportsUrl}">Browse current reports</a>
+${referenceReportsMsgTxt}
 EOF
         ;;
     *)
+        if [ -n "${newReports}" ]; then
+            referenceReportsMsgTxt="Browse ${reference_kind} reports: ${referenceDbReportsUrl}"
+        fi
         cat <<EOF >"${summaryTxt}"
 <a href="https://www.bugseng.com/eclair">
   <img src="${eclairReportUrlPrefix}/rsrc/eclair.svg" width="100" />
 </a>
 Analysis Summary
 
-${jobHeadline}${nl}
-${countsMsg}${nl}
-[Browse analysis](${indexHtmlUrl})
+${jobHeadline}${eol}
+${fixedMsg}${eol}
+${unfixedMsg}${eol}
+Browse analysis summary: ${indexHtmlUrl}
+Browse current reports: ${currentDbReportsUrl}
+${referenceReportsMsgTxt}
 EOF
         ;;
     esac
 
+    analysisSummaryMsgLog="Browse analysis summary: ${link_start}${indexHtmlUrl}${link_end}"
+    currentReportsMsgLog="Browse current reports: ${link_start}${currentDbReportsUrl}${link_end}"
+    if [ -n "${newReports}" ]; then
+        referenceReportsMsgLog="Browse ${reference_kind} reports: ${link_start}${referenceDbReportsUrl}${link_end}"
+    fi
     case ${ci} in
     github)
         cat "${summaryTxt}" >"${GITHUB_STEP_SUMMARY}"
@@ -93,8 +134,11 @@ EOF
         # Generate summary and print it (GitLab-specific)
         cat <<EOF
 ${jobHeadline}
-${countsMsg}
-Browse analysis: ${esc}[33m${indexHtmlUrl}${esc}[m
+${fixedMsg}
+${unfixedMsg}
+${analysisSummaryMsgLog}
+${currentReportsMsgLog}
+${referenceReportsMsgLog}
 EOF
         close_section ECLAIR_summary
         ;;
@@ -103,7 +147,9 @@ EOF
 ${jobHeadline}
 ${fixedMsg}
 ${unfixedMsg}
-Browse analysis: ${indexHtmlUrl}
+${analysisSummaryMsgLog}
+${currentReportsMsgLog}
+${referenceReportsMsgLog}
 EOF
         ;;
     *)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:58:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574030.899222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8l-00021w-V0; Tue, 01 Aug 2023 09:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574030.899222; Tue, 01 Aug 2023 09:58:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8l-00021k-Rw; Tue, 01 Aug 2023 09:58:07 +0000
Received: by outflank-mailman (input) for mailman id 574030;
 Tue, 01 Aug 2023 09:58:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u66X=DS=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qQm8k-0001NH-KZ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:58:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e83784b4-3051-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:58:04 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 8062B4EE0741;
 Tue,  1 Aug 2023 11:58: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: e83784b4-3051-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines
Date: Tue,  1 Aug 2023 11:57:03 +0200
Message-Id: <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690881495.git.simone.ballarin@bugseng.com>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch introduces six new ECLAIR jobs that run only
when triggered by a GitLab scheduled pipeline.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .../eclair_analysis/ECLAIR/action.settings    |  2 +-
 automation/gitlab-ci/analyze.yaml             | 65 +++++++++++++++++--
 2 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index 71c10d5141..528bc24c72 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -73,7 +73,7 @@ gitlab)
         headCommitId="${CI_COMMIT_SHA}"
         baseCommitId="${CI_MERGE_REQUEST_DIFF_BASE_SHA}"
         ;;
-    push | pipeline | web)
+    push | pipeline | web | schedule)
         event=push
         if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
             ref_kind=branch
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 3d8166572b..3325ef9d9a 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -8,6 +8,8 @@
     ENABLE_ECLAIR_BOT: "n"
     AUTO_PR_BRANCH: "staging"
     AUTO_PR_REPOSITORY: "xen-project/xen"
+  script:
+    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
   artifacts:
     when: always
     paths:
@@ -23,8 +25,6 @@ eclair-x86_64:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "Set1"
-  script:
-    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
   allow_failure: true
 
 eclair-ARM64:
@@ -33,6 +33,63 @@ eclair-ARM64:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "Set1"
-  script:
-    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
+  allow_failure: true
+
+.eclair-analysis:on-schedule:
+  extends: .eclair-analysis
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+
+eclair-x86_64-Set1:on-schedule:
+  extends: .eclair-analysis:on-schedule
+  variables:
+    VARIANT: "X86_64"
+    RULESET: "Set1"
+    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:
+  extends: .eclair-analysis:on-schedule
+  variables:
+    VARIANT: "ARM64"
+    RULESET: "Set3"
+    ANALYSIS_KIND: "${RULESET}-scheduled"
+    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
   allow_failure: true
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 09:58:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 09:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574031.899232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQm8n-0002J4-6R; Tue, 01 Aug 2023 09:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574031.899232; Tue, 01 Aug 2023 09: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 1qQm8n-0002Iu-3S; Tue, 01 Aug 2023 09:58:09 +0000
Received: by outflank-mailman (input) for mailman id 574031;
 Tue, 01 Aug 2023 09:58:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u66X=DS=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qQm8l-0000wJ-Fv
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:58:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9cfcd28-3051-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 11:58:07 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 733144EE0737;
 Tue,  1 Aug 2023 11:58: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: e9cfcd28-3051-11ee-b259-6b7b168915f2
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 4/4] automation/eclair: avoid failure in case of missing merge point
Date: Tue,  1 Aug 2023 11:57:04 +0200
Message-Id: <b1b5e151a176d2644fd836eec6190f98c23894d0.1690881495.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690881495.git.simone.ballarin@bugseng.com>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In the context of an auto pull request, when a common merge point
is not found the integration will continue the analysis without
failing.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/action.settings | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index 528bc24c72..f96368ffc7 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -138,7 +138,9 @@ auto_pull_request)
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
     subDir="${ref}"
-    baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD)
+    if ! baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD); then
+        baseCommitId=no_merge_point
+    fi
     jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${ref} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
     ;;
 *)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 10:00:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 10:00:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574043.899242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmAa-0003re-JL; Tue, 01 Aug 2023 10:00:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574043.899242; Tue, 01 Aug 2023 10:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmAa-0003rX-Ga; Tue, 01 Aug 2023 10:00:00 +0000
Received: by outflank-mailman (input) for mailman id 574043;
 Tue, 01 Aug 2023 09:59: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQmAY-0003pU-Vg
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 09:59:58 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a36be2c-3052-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 11:59:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB7073.eurprd04.prod.outlook.com (2603:10a6:208:1a0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 09:59:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 09:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a36be2c-3052-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h4VofkmLQJnVK7TtnIiTIP+LEq4uKurD2dvb0A+tzBbPFSF5FzphGjAALSC7uEHEZhgv1A6ToU96MDbEQ1UdREGVnFZGlPGBkNRiFXG04inxAYgPOAdu9KEN7WPLArXb3CKOfh1+1YXGPkXF/f6EmoVHrWh7x2Z2Z9OK0BqAoEDaJcSlK0P3mSi9xS3SrgUPwnD6PcjK7bwAmFKNNlAAoSyWPzoVWn2FSOOTWlDRqxKWCrT82pw/zOK4onkeZQLiSAu2XZHux3xCHq8T27gv1vaC+HbJ0oJ2hbxt9tLvQsWq70Vhk8JqI3KD4I0j2/V4aF/B27XAzRbQ9hsGTgdqDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sy2fHjwQKHBfHzb7HKzlmPo3cQ4nWBIyPbHqvTuASvM=;
 b=mK9DDPT127gI5dLLOZOZB0XUsKe82EFhIBkdUAOf8vyOgL2nRiqx8Bba5tCKvZbTUr1MCSB7hPUAfXWZoh6rKyioiwkC4RfW7DZUjRrKiveZ0NWhAKxkkh/RhVGRZLg9xzk8Ntx0UVJYSzK8qOyEiDrJcfrLRDnlUdM4jewgLxh/Ooegteehy7RIXV/oHrPRuVPBQ+PwvDmAD/bwZOHNi/7G8zCiiKvo2OomB/y0TllY1AZY0pYTh/pZQqHAjYc2oABceMXntubMk+4wmAIMAybPxNN50pVDWd9ZUo7AQ45L2uPfURcqLFYfAlNHUlF1f/7TZZ3OHqkshuOkUYR/tw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sy2fHjwQKHBfHzb7HKzlmPo3cQ4nWBIyPbHqvTuASvM=;
 b=aNByDxaLz3UxCE5vlME4jTC7g8g+FN0u04les7EPDxBV0dcxz+sMQ7BVXFhhE+YhojR1JZziV8QRobt0FVXeDhVo4o5VWxttgdJLnQKIOu+hjCALHfKLj1+0YX8gNl4CsB5fJGGwJYKNp5vYKxtVQt4TjlgQ13f6Ak1WiKLpZEOrUzncIEqNWSKPus8gKvdd2Mzj+5SdqNk8XA6YzNOCmzzNGPxIW6ii8feyMWcAF0LX17vJ8+1PfbyLpw6cn+7QV/z4RNbdUkEFcbUrPtM+KNayj/Q9UKiVF4hp1lE+MtKUmBcogTGaO9GK1V9hnv1rDnRvxu5IxATQz6Bwl+TjQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9c74b2a2-450c-6932-868f-6109374de6bc@suse.com>
Date: Tue, 1 Aug 2023 11:59:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v4 1/1] ns16550: add support for polling mode when device
 tree is used
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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1690475512.git.oleksii.kurochko@gmail.com>
 <6e8f243284b53a9c56e7faf5e0e5ee5e20de9958.1690475512.git.oleksii.kurochko@gmail.com>
 <98596d8e-6c11-715a-7842-910806abda77@suse.com>
 <75cd58c00ac6b9f49f1656d6793888ef470c9eff.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <75cd58c00ac6b9f49f1656d6793888ef470c9eff.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB7073:EE_
X-MS-Office365-Filtering-Correlation-Id: 97027dd3-0332-48a3-ec3b-08db92760d6c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vRtrThVAVCB1ND9uwvBBUsThTOzJJhWIbzRzNIxLb9cN0459CimuQSSJ1dSbBnsiZxcN2B4e+Zp0IlRMaeUScM88YX5nJQ3pFdjRe5tlK62d3V84laAZ6DTn2nWdXwfbbM7/y59qhdBe0X2Dvt7XJyky13SMQ7uDU83YZFUYXXiEKCWs3ziYPfIfw4jklE4kp5oTqucT/QPpoQXPQNCqrj5YBmrrBlZ8Hu/v8g9ERuRHS2x4D2pwzMidBqRHyoKhkBnqDTZCdWa6n642tLCXN6gGhiTc8tDQPBW8OaBk8guXmyzKan6Bkai6oXWt9ntszHGSxIWV8WjQGWCJetR3HGbMqOjbyWGe7+6v9BW+T9O8Usm1dgX5r1yxXLJFGTKDBx2MkBwiWc9ZaTWXWNAAxWebRn4lENc2lPos5y60aZvwy4HQS+9N4LHSH9V73sURJHNcnCvsqlBqbtNPaz3GOMQ70Cc0XM+wCgPSJtAeaE4V94s7CqSWhlvHE+6yE464zptC+KPP8kUbOch1SwWRXh2Fh+QdD1I/CX3kNmPfO6UcqaB6Fj0aPgrAIVwjVAPLnm6la4hxuH0mQoaXQsrb/AhZ3l4xSCtzo4VAg8QiN2bO0L4RlsONX1aPvmUL+6DPNIVDpmoK8ADn+7T/m3aVaw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(39860400002)(376002)(396003)(451199021)(8936002)(8676002)(36756003)(31686004)(6486002)(41300700001)(478600001)(2616005)(2906002)(83380400001)(26005)(316002)(186003)(31696002)(86362001)(6506007)(5660300002)(38100700002)(6512007)(54906003)(4326008)(53546011)(6916009)(66556008)(66476007)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWk1bHhBRlRoYjdxQVBjQkkzRm9ydHBYcEZsNWxwemNQN2JrVXJNcHk2d2NZ?=
 =?utf-8?B?dHM0RXd2TjROemZ5ejlqU2hCN2dLY3JmaDJBeFZTVFplZW5GNGt1b2Z5Y0tY?=
 =?utf-8?B?R0hNNXNMMW1BMWp0UzJZRE5nSnU5b0IvMGxFWXpsZnV3VlBGU1FlOHg4SlNp?=
 =?utf-8?B?SC9zellvRXJocFppMjZRU3hEbm03VU9VaGtPcmhjRjg1NVBzUkFERFVPbURL?=
 =?utf-8?B?RWRNaVdzbUROQzkwQ1Y4REJYUzlkMUk3ank2NlRLQkVWY0h2b3RzbjhiMUs2?=
 =?utf-8?B?R1J2cVRNRjZQaHFVSTFOTlhmd25QUWdtK3gzSVdKc1VRblJIQ1VQQTUyL3pV?=
 =?utf-8?B?WFZHME90Mmh0NHJnTERveXhyeGx3K29mQkZ6SUN2RFNrMTdaeHBLNHhrNUpQ?=
 =?utf-8?B?Z010eE15ay9hMmdYMjd2NWUvQW1mN2hXV214WXFlRzJFdmhGT2l3U3BGUEpy?=
 =?utf-8?B?TmNWQTJ5SkJyUDdMWG1ZaUhVQkZnbGRXaWRhRjBNY2dOcEcxUUVZSXRXb3NR?=
 =?utf-8?B?OEpaS0ZLdzNXeHhFTUlnQmpOSWNhbVYxUjB0OXUyNys3WmtZOFJjVDg2Z3NY?=
 =?utf-8?B?Y0t5WE5tT3NKTTJSaXFhUkNSMUNDaHZjeXcwUWcvZWt0T05mQXN4YldNcC9q?=
 =?utf-8?B?OC9UZFpHYzNiWmg4cVFzQ2tXM21EY3BSUFdGUDllL1JMdUVCQnJCdDZhSWN4?=
 =?utf-8?B?THZmU2lFM05SaWhGQUQyaHFLdWRkcEtXL3BXbXFZcDl6SFYxL0w0V3AwOGQ5?=
 =?utf-8?B?MmEvQjlhOEFCcndLK3YvU2VaTm1CdTMwTGhNWjdKU1dXTzJOWU45c3JQZ1N3?=
 =?utf-8?B?Qy8yblJaajdmU2FUaWM1dzNxVS85UXBYSForSnVjM09UN21nb3pCQzR5MGNv?=
 =?utf-8?B?V0F0ak44NFZRZk42T1p0Wnc3SDRMZmdIcmpGY2NrYko3VzZrUnFJc1NrK0Vu?=
 =?utf-8?B?K3o2bDhQbTllcmY1VWxtOHBmRnJRbllwOUZXUjB2SHRJMWQrV2lOQ3JrSnov?=
 =?utf-8?B?LzRxcTdQMWRKMmFYajF6U2d0dHJxcmlGeDBuNTNySWgwNHY5Qi9HQ2xuTjFY?=
 =?utf-8?B?SWtodi9SRm9kcklFMkNoOFhVdWdwNExNQW9lM1IvUEJndW9OR2o2SlNxeGJS?=
 =?utf-8?B?bWpDUGVqVnl2TzNNRVIwTUpHMzIzNCtuY0NydFRKYlhNNWdudmFBb3djUlpo?=
 =?utf-8?B?dzdDQWk1OVhoTVV6Zk04UnN4MkwzWk5LRVN3N21qK2t2d2NPZTdLd0JORS9w?=
 =?utf-8?B?NkpLWDdWUVVTL3p3ZnhhM0FWcnVwR3I1RFVSaFBQVkcwZHVpUnV0Uy9iakdM?=
 =?utf-8?B?cUdobXczeXBKdlpBRjlodHVFcHVrRzhZc29RdTVoZXhzY05CK0xKUmd3QmlE?=
 =?utf-8?B?b0dzSU80cHdzVllXc005TjhnYS95WXlIZ3c1R2V6KzRMNlcrdXBkZUVReHN6?=
 =?utf-8?B?MDMwakMrR0FkbStEaHh1RVRvWlJNMTVIWFNIS0Qxb0xKOSswRnprVHczRjR0?=
 =?utf-8?B?MDVIOHJwaWNZZGVEZmRnNkYvUnZLWTBob25XZ3JnaXFlYnlWQ3luMVZpdkNN?=
 =?utf-8?B?WG9GWWZhOHRqaFBKc1RWdEJlMzJ4WnVKQ05WTkxPQmVsTjh2eFU3dWFtVXRR?=
 =?utf-8?B?cUpML0FuWm9HU3RkWXZQMXZMUEFuWnFwUmdzcis3VGV6elVabWJVNmxJcnhE?=
 =?utf-8?B?bDVYdExDajZnTjI5TGFVTTZER3llTnBKejlxZTVKak9JRWxxRUVvVlRpSFkr?=
 =?utf-8?B?NTNjSjVMbWw0WW1xbGFTSW5xOXhZMTNMQVhBK3NrRnArZUQ5M0tjWkdkVWVT?=
 =?utf-8?B?b01ReGk1TXN3cHhOc0h1K1FFUnh5RzZ3bmVDclJpZzN1RkFnbjVBb1FYNzVL?=
 =?utf-8?B?WjJSdGdJZmtZZWZUZldOTTNWZmlxSGEwYmc5OGVicGdkYmJ4azJNdzhoQmtM?=
 =?utf-8?B?ek82eWNjWmsrQmVzcnpQalVoaDB3dVpvVkpZRkppZUxQNmtDYm9rc3hQMFZt?=
 =?utf-8?B?TVYyVUluRnpVdWRiNWJJMFI1RkhhVmNadHFjaERSMExYUHFhcVNKYUMvQlFQ?=
 =?utf-8?B?MWw0UTQ0T3BsYzRoei9FRXFxeTNwdm1UM2pEbUJqUkVySStsYXdiVlRIcWxp?=
 =?utf-8?Q?wJ6+Hlm9MG23aJ+9RsLEoSJ1u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97027dd3-0332-48a3-ec3b-08db92760d6c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 09:59:53.3277
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jNkmsfpq4hGr/9XmGufFt+ORpdNS9KvvKRdh0L9FHnihCmX3I9NSWz61nICqe5TgCU5tywonIfkybr8sQKym7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7073

On 01.08.2023 11:46, Oleksii wrote:
> On Mon, 2023-07-31 at 15:24 +0200, Jan Beulich wrote:
>> On 27.07.2023 18:45, Oleksii Kurochko wrote:
>>> @@ -654,6 +674,9 @@ static void ns16550_init_common(struct ns16550
>>> *uart)
>>> Â 
>>> Â Â Â Â  /* Default lsr_mask = UART_LSR_THRE */
>>> Â Â Â Â  uart->lsr_maskÂ  = UART_LSR_THRE;
>>> +
>>> +Â Â Â  if ( strstr(opt_com1, "poll") || strstr(opt_com2, "poll") )
>>> +Â Â Â Â Â Â Â  uart->intr_works = polling;
>>> Â }
>>
>> A non-__init function may not reference __initdata objects. But
>> strstr()
>> is too lax anyway, and you also shouldn't check the wrong port's
>> options.
>> You want to recognize "poll" _only_ where all other command line
>> options
>> are processed.
> Just to confirm, do you mean that I should use parse_positional() ( or
> something similar ) for the device-tree method of initializing ns16550?
> 
> I checked the polling behavior as described above because
> parse_positional() is utilized solely for X86.
> 
> It appears that command line options are parsed only in the case of
> x86.

Hmm, looks like you're right. Arm folks will want to clarify how they
got away without any command line overrides so far, and how they think
now necessary ones should be suitably added. I recall I had reservations
when the file was massaged to compile out supposedly x86-only code.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 10:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 10:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574053.899252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmDP-0005aS-5b; Tue, 01 Aug 2023 10:02:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574053.899252; Tue, 01 Aug 2023 10:02:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmDP-0005aL-2Z; Tue, 01 Aug 2023 10:02:55 +0000
Received: by outflank-mailman (input) for mailman id 574053;
 Tue, 01 Aug 2023 10:02: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQmDO-0005aC-3E
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 10:02:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7d00::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94556e74-3052-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 12:02:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6812.eurprd04.prod.outlook.com (2603:10a6:10:f8::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 10:02:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 10:02:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94556e74-3052-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SLSHL4aCJbmaLWoejDSO2HK8Tq+j25oekT06nHDWGrgHz8CwdhmNxuAl0Z+0SsE9hQh5tQHysdoLrzHPmqjIShWRZJQzifA1oHEmcVWD/Av1qDkrZ9PW9HloeCTp4uX6tVu0IeUW2I3Ytui7n7DkyWjrBLfDogJ1iuRVXGcXWgyDSfHKk5BkdTB410a2joml+rJCqv0tuXA4naPnKhHLZZEzIRBYmWtWNHOX27BYtWLVGZDdyk0HAHN0bsfuRJFTxPj1vSYheEBIoRYQWaHz8vRrrLk6OCMZyKS4P2c6amq9taodYREVOYFhzmdWKFXYcDdauERD7jseeI3Sq1oWZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T7LyG1zoyz3OS5EGkp2uO6EEEnUE6rD+iMNPMFIRNiQ=;
 b=bQZTOL5PRciSDxVnd//G8NSfeR10GQ5FlReF7+76GxwclAMn2lcE2PGLXCXDHd+2EGMbmn6OFLIo76A4Ho9+ubTCGBzHheZqMLwJ9te6MI7nPVIO4Mv5oqXLtarTDRdg91g7aU5TE1mzR4NM5pr0+d5r6HCmD6r9xEPgAOOwencnkBTDAsmgqmj7DTFokBYGM/HbSAO9MWgOBNXTjXzFeDUVED3BM2L8P28uA7FHvYWDeZ50ixzkSI/z+5WGivTgeEq4Eq7tgcpbV3MsD8vMRfm9monJwLrA3QhieGNuTMaJRlynxGHV5rxigiqpsdIv6YmHsDNCBdQhbpL0c1F4Bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T7LyG1zoyz3OS5EGkp2uO6EEEnUE6rD+iMNPMFIRNiQ=;
 b=vEtNBMv9+pHWk5Y234Jzpx1Z9S2QZr//y1UXxhtCNHmdBgWZMYhl61HGrD2WU6ZPwZn5YVImQGduqZVFBYaVagUCdnT3mI2p2zmyQAcdjFRDUbNBvk4+vQXAAlfw35l1AJ1OcAwKoqjA3rb8LmxC6NXPnEK41aGh3iPG2M5AoXMtoOb8g1GkSJ2eGzcU5uTR+bxdhrylES1iSecDerg1iWa9b+10hqfMXTKFdHoeaiguZU7XXZs5/sMTSrhgMnhbnBsQWtdIyL5igjhIC09FYGvO+5qgo27Z3QBwuvxfhQyuiDyBq6lJsQNXcWZsZCjITeHlNFQCGg5bXcmX7Boc0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d0dda351-8058-a35d-2cf9-ea84d178f771@suse.com>
Date: Tue, 1 Aug 2023 12:02:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 0/3] x86: Some MISRA Rule 5.3 fixes
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728194320.3082120-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230728194320.3082120-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6812:EE_
X-MS-Office365-Filtering-Correlation-Id: 148e14cf-3075-4cba-3f0b-08db9276770e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	St5ccnhY53u1p7XqsPjaf1dSMs6N7NvBne7J7w6NtqMyqVvJsrj4OoF/I+w+O6qZs2neW3dAZiKpwsZnRlBrAZzVaUYN8DlcWtODh7FFfkkjv+L4LJvhRNrSbaYsSGMRTMlVfhiAbI3+6qH/7A8gmjCS8qWGgvc6AiF9e3vSvWV2z3BHCMyKQIL8gmTTNxJsBgjoTLudsyp9DN0XgGXw8OH2/Q3QdtHreltz1bsyPg2CMacDtqVJdbGMM6I+9+qvu+kUF8OHPN2NbaQkiEhs+HB3bY/JBRHffa9EX39OAkl++sdii63NSgxjgNiQ07ywHuqxawbkpD4hrSBgwNMGL0V6A7rwa1Qmh5bv7zZu4xoTOu6dkRapPT3ka0Dw1AmE8EEwXxhRx7RGDVZvLNCNXlHxFI5lFzj7iYyrRapF1I9stOKtaqjfYkaIRHzN8q55qRLd4l7oXAV/8x+S/zU8+PbO/QFW1gWvpGjE7gFY+6pppD/rLPyz2+dhKoOFDmyfNCjbNqVGmRHKQuUZwtd3uB8tEkZGJEzh+cpuTCXCuxWxt3NaNsY3o/0g/qy1YYp2QobdcQB1fHfNqIdXF84sBN14IbWErKHPH19RNbbHh9BXPQ8UJ4IlvDIfVGjlvrhMrVnJZv1/Ws5btkLCi2of3w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(376002)(346002)(366004)(39860400002)(451199021)(54906003)(8936002)(41300700001)(38100700002)(186003)(478600001)(6512007)(2906002)(83380400001)(5660300002)(36756003)(6486002)(6916009)(2616005)(4326008)(4744005)(31686004)(66556008)(66476007)(66946007)(8676002)(31696002)(53546011)(86362001)(6506007)(26005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVA5TkM0aWtZSlRBSGcxZTF2dHBQU0VpOXU4VjN0MGdYY0xRT24wMkl0eE1j?=
 =?utf-8?B?d09hV25wQSs2MStvMFJFbzQrL2k4UDloRnBHZ0dIa2g4bmRFa01FVnFjS2pY?=
 =?utf-8?B?VWRuc2x3dW1kMVVPWjJGMW56OE1lTjl0Y21BblNMVlR2UjFLa1VDZ011Z0pV?=
 =?utf-8?B?RmpjVXdvSmVhL0JBOENWTm80b09MU0dZamNNYjFLNm5zbkNINkVVN1RmUmFu?=
 =?utf-8?B?aTVnZW93VWpVR0l1S2tJb2FDeVpvNmpxYzJ2UHlpbHdkVDhJNUJoZFNhejlz?=
 =?utf-8?B?aUR4WUNodkJEOU1waXM3aGZnK1IySFhKdloxN0NlRnJjQnMvdENFMzEvNldt?=
 =?utf-8?B?TElBOEdwTlRoU3o5bEFSZmVzWTVqSk5TM1Z2K0JmbStZUVJ6MjgxS01MNllS?=
 =?utf-8?B?U3hDTnc5SGhZQnVWVkFlWW5iQ1VzQXFOb0Q0UVVDYW91T2c5OFRaaThIelRZ?=
 =?utf-8?B?MjNKbnZMNVVOVUtiOEJ1NVRuQWVBNVlTR25vTnYrOFFTd2RWYlZkdkpWYU1m?=
 =?utf-8?B?bEhkUWNYdnNxdW10dHpLUmdTb044aWR4Si93cEs2bXZ5Qmh6MGRVdnVMN3VN?=
 =?utf-8?B?L0tDYnc1RTFRU011b1NDMy94L1lWSy9HeFZtSlQwa0RMTjZPbWd6NEtvZUVL?=
 =?utf-8?B?U2dYOTNsRWJIeXhjcERtMVRHZ2VkY21zaGgreFNDOHpoWkRZaDRrUG9EVWtX?=
 =?utf-8?B?ZTg1aUR2RnI0THlERHpUOHVQZS9taFVGOHBHM0xYaFlvM0wyQW9qeXNheUpw?=
 =?utf-8?B?Y1Y1bmIzUnRVc2s5MkZYL0xGRFRETndlcGJVRVJFZ2hxYk9nNXVLRVBuc2Mr?=
 =?utf-8?B?VFVaVXlhYnlSNGNKUUxNTmF1dnBuRUxlQkhFOWpQYzRjR0oxakhZV29vVFA0?=
 =?utf-8?B?OUZCVS8rejBkWWo1algwTS82QW1Qdm92MXd4M1NZaGpNU29NZTY0cVFYMzBP?=
 =?utf-8?B?d2JOSDVwUzA1OE0rTUdzM2RVakRKOXk2VGdrRFV4WWRFNzZrZFFaNzBqZ0dU?=
 =?utf-8?B?ZjRsejFuWDhwc1RIeWFLZ0dqQzVwNjZtaUxJenV4SStXR2tibjYvNUhzZGl2?=
 =?utf-8?B?eUVqaXpYWngwU2VFZjFyKytjd0wwSVBQMzNQV0VFUlByUW5SMDNGNFZTWnRL?=
 =?utf-8?B?VzhNUnh3MzR0K3VWVmliaFNYa3FSamlBS0pqZzNYcm9FRmp1S3A1MTNUTmN1?=
 =?utf-8?B?N2hRK1hpZDM4Ujdrd05BYzZRd3JKL21kWUdGNEpBeUdwWTJzbDNQT0RBZmtT?=
 =?utf-8?B?N3dCVDRWSGdZM0NjSzJCMUtiSEkzQlZtdmUxU0dBYTBTNTZNbGtwTzNkSWYy?=
 =?utf-8?B?aGgzekE2RnVWcUlPNTROMzIwS2t6amU0MVVlbXJ6d0JueVlBelVqb3BabnQx?=
 =?utf-8?B?Y1Vnb2ptUzF1WHhSTW4yOXZJWnpkR2xxYjV0RzZSdW84UTRRYS9iWVpINzZC?=
 =?utf-8?B?dkFoSWxVZk9FbkxNbHZ0YlA5V2RTNDI4aTdwcnE3ZmIwRHNFSWZveXhweHBG?=
 =?utf-8?B?L2hkWm5lTlBhSldDL1RHQlBBeFhWck52TXVvYVRqRC9uemNlRG5IZUpDYW13?=
 =?utf-8?B?TVBnbGxMZFhDUnhMZHlTOEpWWjJTRmIyT2ZESWYwdUZkMDNWR0Y1b2ZxUitx?=
 =?utf-8?B?NTcyTUg5UnBBQm5lS2gya2VsN3hoV1Uxc0htRUhHNDE1RmUxakx0dm5jTUxr?=
 =?utf-8?B?dnhmbENEcjR0MlgyVjh0ZGtQc21uZU5ENCtxYXFlZjB4YXkzanFIVFVRa2JM?=
 =?utf-8?B?V1UrUFRIWkkyZVhBOTJad2NrMGVya0h4dm9odXhCOXNTN3RQZ0NMSkxKVDd6?=
 =?utf-8?B?Mk5Jbk1BNHdVUkZpTHRvUTdXbklyczlNV1NEQzdDTWN5eWN5c0FEOGppdzB6?=
 =?utf-8?B?SCtmaytZVnN6MktPUEVjM3ZmRDUvYTgvd1Nhcm9VMTA4UFlnMjIxekEwVHE5?=
 =?utf-8?B?dXZCTGxTQ2xpeDNYNnpITW9xcWs4VGlOd0dXUStpcXRib2lnemViUERwa3J3?=
 =?utf-8?B?Njcxa2RNVnFMWmxTVjU4N3dBRnNHTUo4dnZMOXhDUzBlYndtOXkrUTdWWGtY?=
 =?utf-8?B?TEt4V2FIbGNESHdmSFNveVF5L1Fld3d0aWdWL1N5ZnpCay9WblRhUzI2ZHFj?=
 =?utf-8?Q?MxckMV0jdkZl7etJ9nwEkTok9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 148e14cf-3075-4cba-3f0b-08db9276770e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 10:02:50.6389
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IW929sSpwmFLWHg7HZKWjelLVafu9jb37y34s9ZWDkK5aTOWnvLwAkhQQS1axVY9SWg0pCNqsMAhq+gOH2glUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6812

On 28.07.2023 21:43, Andrew Cooper wrote:
> 'debug' and 'str' account for an awefully large number of shadowed variable
> violations.
> 
> Andrew Cooper (3):
>   x86/traps: Move do_general_protection() earlier
>   x86/entry: Rename the exception entrypoints
>   x86: Delete str()

Series
Acked-by: Jan Beulich <jbeulich@suse.com>
with a slightly amended description in patch 3, and preferably also with
at least mentioning the Misra angle in patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 10:34:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 10:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574063.899262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmi2-0001sZ-IV; Tue, 01 Aug 2023 10:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574063.899262; Tue, 01 Aug 2023 10:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQmi2-0001sS-FS; Tue, 01 Aug 2023 10:34:34 +0000
Received: by outflank-mailman (input) for mailman id 574063;
 Tue, 01 Aug 2023 10:34:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQmi0-0001sE-Jp
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 10:34:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffc35661-3056-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 12:34:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7632.eurprd04.prod.outlook.com (2603:10a6:102:e8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 10:34:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 10:34: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: ffc35661-3056-11ee-b259-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LJ9CjExknNtp8EHGjQG+rxkUex3lVDTrrwhvHLWInk6n+UYiMb2+OmJ6Bz3YEArrkRAIAg0Ri0nkS62Icf2Xgjz83LZ6gLOAmzsKBrDyVTe+xAMRLKdwbltmEsw6vkHP4NcW0xy2o+zFd7g1B8gPut2mroow1CCa9BEFjTRgLq8rIZGemcieqcWkMjfkr0dmVMxlu2g9YsOAu24KPOPgB9TMB+RC9lsdJoTCxVaETDpYRuwzgCnB6PgkZlr92v84TFtIvdw0pJn5w6zv0w+mJELpiN8XTvyT8IHmP4JVIFQT0QQrVRogfPcayLBU8nQf8+TqF/Ai+ANBz8RgBaRNYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mPetlcq0W8Si/8ESOPYhHdDKK+dXarC7uGuQ7gajC7I=;
 b=XyRv9Ui8C/8/xmzCkw8Thf33v9IeRtC5MoQ8RyrH066sLd48GNvB00G25yiv39s1mLFsJogipj0ix0YIriw9MMcMJmRLE8lpEcQCUFWzSBnvjgeDUk9KEVt5E2MUzYz/pd62BIzxJFvx7NowotWI/PUhlhdrq1FvBr4Rfwoov/0X/IIrY8woSTVG3u21Uy9ObeLnWWklKpCpvCarSoCYoRN/1y7yKoNxSWkTOlC1Kb8/eH06/nr6SJ1uRjHePGnwzwKgkx6IU8Nu9FHvp1DYwRmUC+h7wT8KWjuWZzzMIB+cBDpgcvBHWDimNLQo4UgG5hxd9rhcpk2n4sPIYFD0aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mPetlcq0W8Si/8ESOPYhHdDKK+dXarC7uGuQ7gajC7I=;
 b=LC/RolXF2JmXHB+EJhKKAOAOcBJJHbByoncfgRARC/9n5Z8Glwb1bWtPNsnYjlE4XlUDogoDE+BN6LEe0ipVmWrvgQwmZaSVaM0W9G4I1JRcXIPN5a9Ah7zBW6xdo6hgU/jougZqBvsTQfpGuicqtYOZRRu/ww8ae+a9v1qGq1aH8Pj6Dq4QGPDm7QQlq2n0QJAQr+C1osvFvx/UauVbO4YL7+/FvNXjoiv3e8R1iN4p3o5IbyYvkr2xhEflZFYSyOTtYcq8/UpMQR12v6Dv1i0GeYP2CVG5kST6l+hi9XDCnp7XqmyrmYDAFGnqXncUmqZdYf7/Zy20IOeZ/1i5OA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4ba63342-6200-1f76-bf63-8df62e8955a4@suse.com>
Date: Tue, 1 Aug 2023 12:34:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] common: move simple_strto{,u}l{,l}() to lib/
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7632:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bf6bebd-fac5-43ce-12bd-08db927ae228
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NZzwQ+ltOd6lJzIWMPmwef75wgDWHKwXukbWsLvytNRsnw5TLpAp7lOHKbFf5CpVqqZ7Lpi3g2BxrTLIccv2RSK6+qmXV9l9XTlIM1Ad01Yk/74NzghFKF8XK3hcr1QDnbx5NP1VCLHfd8hR/oI4J20P8qfn4TwuCsMt+0xZh2zbKgy0hFpul9ThnRIUr3qcM9gnn4xOMsbzKTrgazvzMC75akWvXzNM66B7bMvvqmi/c1w2bOeTDxgOOD/Rim2Vvklgc7uJT2X5nfhlJKxWpzm9h9VXHZDR52v+B+HOWR8od8dw1yu1nJnUZM4vQF9N845e9DAaKCPASz3mrtqHukYbrtGzdFNDLg3wzU4qEeR/jEr3s/lF2ak0YvinmMlFbdhQWClneSd8925HLSGuEVPYNCmM0732jf75u19728c0390aQsghuEnFmTeMYAUBAnreXUjiN0kZEGeBhUoS9ApuLMWjB2KR+AYUVscVzqRzMhn0mQhaNb8m4fV2t/ucCqHyvvWXRPK2fT2Dwa5O0iniw+x+sT71AHFGZv3KCocaCwZme5jYugH4nl1uhHewHAyfkIYJCgQMCuw0SVRJ9/4yGy0KyUMBU2DUx1pbx22oHFLHTSUoHSQE5rANYOe+qIPs2gFFDspiUGDMZXG2Vg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199021)(6916009)(2906002)(4326008)(2616005)(83380400001)(186003)(66899021)(316002)(38100700002)(31696002)(31686004)(41300700001)(478600001)(86362001)(6512007)(54906003)(5660300002)(66556008)(66476007)(66946007)(6506007)(26005)(8676002)(8936002)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzZEWWdSVDk2TkNZOURINzlLZkxpbDI1N3R5UDJYRUpka09hYjBZaTNsZ2Jl?=
 =?utf-8?B?T21tSE5ZZUR2dmt0a0xVRXJDRzlxdGVBVHJoNUFOYjBhc3VwRmRyMDI0eXdY?=
 =?utf-8?B?SitHTGJXVmttUlQwcU9NRFBydndvUzVtWTdQUGRpNkZEWHBha3VJeEdnZlAv?=
 =?utf-8?B?cjdsR2V6anhrd2huRnVBakp1Q0RON3p4WjVFeUFTY1VJaE5aZDQ4U0ZhV2tq?=
 =?utf-8?B?VVNZK3REc0l1ZTV6bHlwYWJJK3NWWXVNUEo2Q3VWWkxHcFlrbWg2Q2pzaGsy?=
 =?utf-8?B?SmdncnpPUTVabEJrRjB5NjhtZXRPWjQvV3lKOGphbGgvSTRxOHJVMlNjSG9o?=
 =?utf-8?B?MDdVekNmTk01MFphOVNacTBmQk9CRllVbmJFRm5GR1Y4ZmQ3YWY4ZUIvMFc0?=
 =?utf-8?B?SjJFM2xWZmV0dmIva2VhRm9hc0NDSjdCeWRoOTVhWXloQU9lNFlIVncvdnhR?=
 =?utf-8?B?aStyOWFLaGl4Vk5TQzVLUmJKNURBK3dVZ1dMdmtSeksvbS9zRkJobzZpSHY1?=
 =?utf-8?B?Y05FdXdkUS8rZFAyYS81dnRqS0FYZEtqTnFjbDdwNkN3ZHdnMGxaTlk2NkVM?=
 =?utf-8?B?Q2VNRXBJaC94clI2OVQ4a3RsL0N2LytnYzVObVZQYkJCeFJDUmQ3b2U5Nmox?=
 =?utf-8?B?RmVGZzN0a0NjUTVDZUQwRHhkSjB1eWQyN3lueUVYZEtsZVRuQlp2VTduaHV1?=
 =?utf-8?B?MDZCN3kxaEZrRzdKbVRiR2tManZsTUdWWEYxN3BMNnZGLy9FbHJTREdURUFo?=
 =?utf-8?B?NkZqY0tlYllnUzlLQld5ZkdINWZUQkVNM2VjM3lFSWVEVTlwSDFlOUVzL2Uv?=
 =?utf-8?B?N3U5YVZFSEFzRjd1TUNGcHAzMjdRblVZdXNUQUdPT3lST0pRaWE2SmxOK2ZB?=
 =?utf-8?B?SmZ2cWhjOWEwaHFwSG5UMzNPbWNXb091SEFCVWRFTGordDVkdUpnUTVUQmd0?=
 =?utf-8?B?eVVoR3dNWTYyVmoveVhLeW9MYktTY3plOUYwRzdoRFI4a2ZrUGFkQnM2QmEw?=
 =?utf-8?B?bjVpcm8wUlVuMEdoRENQRk11dGNMbnExcWRVY3l5Z2l0MEgwMkhzZ1V5S01U?=
 =?utf-8?B?WUtyTVdtU2tSVjU1M2JyaVI3bkVtMjUrWUk5eFRTM1llR1JtOXplWmx1NVo1?=
 =?utf-8?B?MUtYMVBobjRYaU9QOHZ5OHJWcitOSzFydmsxUlJmQVFKK3F4ZWFFTjl6Qk1X?=
 =?utf-8?B?M1pzRkEyd0dRTGQ0ZzhGdkFsc09kYXFucVVmOFQvVG54Wnk3VUtuOFgxUjNH?=
 =?utf-8?B?dWlQNDlVMkE4d3o0NCsvR0RFUTltcE04c2w4UFZxNVk3b29ZYzd5Mm9uWWtF?=
 =?utf-8?B?bjIvUWpFRkgxZ1hmNU9ZSHlzZHhPOU9TSFF3UC90MjRsbDhUVGdXZlM5dHgz?=
 =?utf-8?B?NWJjaFlMSzVXSkVkVEd6a0FpcUxJQ0JmNlY5QnF3OUpQTkdURytqVWpNaWRX?=
 =?utf-8?B?UHFsdUZsS0NQaVU3OU9OSC8vVzh1c0Y1WTZqYmd1RzFXb2VObVlrZEdTTjht?=
 =?utf-8?B?amJ4Zllzc29SWlZxaVhGaXJvWkZVQThUMmJMZjdhb0VOTk9JSStmSW1maEV1?=
 =?utf-8?B?OU5WK1VoVUtiMS8vYXJFRXBaK1l6c28wVm5RRmw5L3BYRTY2TnNDeS9zbCtr?=
 =?utf-8?B?TytkQTNDUlQ4MmFTeHdXMDk0VWFwZWtjYStUd2FKZFJSZHM4bGxGNDVWa2w5?=
 =?utf-8?B?eXI0bHNuZUtKbzI0STM5VDlOQVNoOEVsMjZVcDMxbGxLeGdDdkw0dENRR0dO?=
 =?utf-8?B?WnRGUlJKeUVFbWN3dTlMSC9RcUVPUE5hSnNDbDJZeTc4dThFMmtSVUZRb004?=
 =?utf-8?B?cDh0cUd3ZzBpajlBMFIvcFlFUXIyRTNLSkIyUUFpU01MaG9XZ0RrVXVCQWZq?=
 =?utf-8?B?NGR6Ty9MTW5McnBmRDFQQU45Tko2SlZ1QWQxVEZCRldRUzRSS2tNWmg3T2JX?=
 =?utf-8?B?YzZvbzFnMEJjdmFGVTg5L1JWa3NZWGJNS0RodlJ1SWpzTWVwVkFFTC9ZRTk5?=
 =?utf-8?B?YmoxYkdrT3JTYmxQVHd4bEdOREZFbit0K1Z4bXhNUEhFWGltdWp5cHFuS2pY?=
 =?utf-8?B?d1oxOENuOTZyQUc1dEZJOXR5WlZhY2lIeDhwL3FVV3I2aEwvc0l0NG94ZDBI?=
 =?utf-8?Q?0mpxG0g7dAe/40YLe3+4agItX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bf6bebd-fac5-43ce-12bd-08db927ae228
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 10:34:28.2089
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jga3wutTo2CBCYiGXIB3Y6jBHQBhHCrHLVYF1E/CsnBastg6EFCECRMKt7T4IzbVsC5xB/cIeYMwmNI2T3PDMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7632

Convert style from a Xen/Linux mix to pure Xen while doing the move. No
other changes, despite having been heavily tempted to do some - at the
very least to make simple_strtoul() and simple_strtoull() the same in
how they deal with non-numeric digits.

Requested-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Further changes I was considering:
- "value" doesn't need to be unsigned long, and even less so unsigned
  long long,
- strtoull.c could simply include strtoul.c, after #define-ing "long"
  to "long long" and "simple_strtoul" to "simple_strtoull",
- "else if ( base == 16 )" wants folding with its inner if().

--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -24,108 +24,6 @@
 #include <asm/div64.h>
 #include <asm/page.h>
 
-/**
- * simple_strtoul - convert a string to an unsigned long
- * @cp: The start of the string
- * @endp: A pointer to the end of the parsed string will be placed here
- * @base: The number base to use
- */
-unsigned long simple_strtoul(
-    const char *cp, const char **endp, unsigned int base)
-{
-    unsigned long result = 0,value;
-
-    if (!base) {
-        base = 10;
-        if (*cp == '0') {
-            base = 8;
-            cp++;
-            if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {
-                cp++;
-                base = 16;
-            }
-        }
-    } else if (base == 16) {
-        if (cp[0] == '0' && toupper(cp[1]) == 'X')
-            cp += 2;
-    }
-    while (isxdigit(*cp) &&
-           (value = isdigit(*cp) ? *cp-'0' : toupper(*cp)-'A'+10) < base) {
-        result = result*base + value;
-        cp++;
-    }
-    if (endp)
-        *endp = cp;
-    return result;
-}
-
-EXPORT_SYMBOL(simple_strtoul);
-
-/**
- * simple_strtol - convert a string to a signed long
- * @cp: The start of the string
- * @endp: A pointer to the end of the parsed string will be placed here
- * @base: The number base to use
- */
-long simple_strtol(const char *cp, const char **endp, unsigned int base)
-{
-    if(*cp=='-')
-        return -simple_strtoul(cp+1,endp,base);
-    return simple_strtoul(cp,endp,base);
-}
-
-EXPORT_SYMBOL(simple_strtol);
-
-/**
- * simple_strtoull - convert a string to an unsigned long long
- * @cp: The start of the string
- * @endp: A pointer to the end of the parsed string will be placed here
- * @base: The number base to use
- */
-unsigned long long simple_strtoull(
-    const char *cp, const char **endp, unsigned int base)
-{
-    unsigned long long result = 0,value;
-
-    if (!base) {
-        base = 10;
-        if (*cp == '0') {
-            base = 8;
-            cp++;
-            if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {
-                cp++;
-                base = 16;
-            }
-        }
-    } else if (base == 16) {
-        if (cp[0] == '0' && toupper(cp[1]) == 'X')
-            cp += 2;
-    }
-    while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp)
-                                                               ? toupper(*cp) : *cp)-'A'+10) < base) {
-        result = result*base + value;
-        cp++;
-    }
-    if (endp)
-        *endp = cp;
-    return result;
-}
-
-EXPORT_SYMBOL(simple_strtoull);
-
-/**
- * simple_strtoll - convert a string to a signed long long
- * @cp: The start of the string
- * @endp: A pointer to the end of the parsed string will be placed here
- * @base: The number base to use
- */
-long long simple_strtoll(const char *cp,const char **endp,unsigned int base)
-{
-    if(*cp=='-')
-        return -simple_strtoull(cp+1,endp,base);
-    return simple_strtoull(cp,endp,base);
-}
-
 static int skip_atoi(const char **s)
 {
     int i=0;
--- a/xen/lib/Makefile
+++ b/xen/lib/Makefile
@@ -28,6 +28,10 @@ lib-y += strrchr.o
 lib-y += strsep.o
 lib-y += strspn.o
 lib-y += strstr.o
+lib-y += strtol.o
+lib-y += strtoll.o
+lib-y += strtoul.o
+lib-y += strtoull.o
 lib-$(CONFIG_X86) += xxhash32.o
 lib-$(CONFIG_X86) += xxhash64.o
 
--- /dev/null
+++ b/xen/lib/strtol.c
@@ -0,0 +1,28 @@
+/*
+ *  Copyright (C) 1991, 1992  Linus Torvalds
+ */
+
+#include <xen/lib.h>
+
+/**
+ * simple_strtol - convert a string to a signed long
+ * @cp: The start of the string
+ * @endp: A pointer to the end of the parsed string will be placed here
+ * @base: The number base to use
+ */
+long simple_strtol(const char *cp, const char **endp, unsigned int base)
+{
+    if ( *cp == '-' )
+        return -simple_strtoul(cp + 1, endp, base);
+    return simple_strtoul(cp, endp, base);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- /dev/null
+++ b/xen/lib/strtoll.c
@@ -0,0 +1,28 @@
+/*
+ *  Copyright (C) 1991, 1992  Linus Torvalds
+ */
+
+#include <xen/lib.h>
+
+/**
+ * simple_strtoll - convert a string to a signed long long
+ * @cp: The start of the string
+ * @endp: A pointer to the end of the parsed string will be placed here
+ * @base: The number base to use
+ */
+long long simple_strtoll(const char *cp, const char **endp, unsigned int base)
+{
+    if ( *cp == '-' )
+        return -simple_strtoull(cp + 1, endp, base);
+    return simple_strtoull(cp, endp, base);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- /dev/null
+++ b/xen/lib/strtoul.c
@@ -0,0 +1,61 @@
+/*
+ *  Copyright (C) 1991, 1992  Linus Torvalds
+ */
+
+#include <xen/ctype.h>
+#include <xen/lib.h>
+
+/**
+ * simple_strtoul - convert a string to an unsigned long
+ * @cp: The start of the string
+ * @endp: A pointer to the end of the parsed string will be placed here
+ * @base: The number base to use
+ */
+unsigned long simple_strtoul(
+    const char *cp, const char **endp, unsigned int base)
+{
+    unsigned long result = 0, value;
+
+    if ( !base )
+    {
+        base = 10;
+        if ( *cp == '0' )
+        {
+            base = 8;
+            cp++;
+            if ( (toupper(*cp) == 'X') && isxdigit(cp[1]) )
+            {
+                cp++;
+                base = 16;
+            }
+        }
+    }
+    else if ( base == 16 )
+    {
+        if ( cp[0] == '0' && toupper(cp[1]) == 'X' )
+            cp += 2;
+    }
+
+    while ( isxdigit(*cp) &&
+            (value = isdigit(*cp) ? *cp - '0'
+                                  : toupper(*cp) - 'A' + 10) < base )
+    {
+        result = result * base + value;
+        cp++;
+    }
+
+    if ( endp )
+        *endp = cp;
+
+    return result;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- /dev/null
+++ b/xen/lib/strtoull.c
@@ -0,0 +1,62 @@
+/*
+ *  Copyright (C) 1991, 1992  Linus Torvalds
+ */
+
+#include <xen/ctype.h>
+#include <xen/lib.h>
+
+/**
+ * simple_strtoull - convert a string to an unsigned long long
+ * @cp: The start of the string
+ * @endp: A pointer to the end of the parsed string will be placed here
+ * @base: The number base to use
+ */
+unsigned long long simple_strtoull(
+    const char *cp, const char **endp, unsigned int base)
+{
+    unsigned long long result = 0, value;
+
+    if ( !base )
+    {
+        base = 10;
+        if ( *cp == '0' )
+        {
+            base = 8;
+            cp++;
+            if ( (toupper(*cp) == 'X') && isxdigit(cp[1]) )
+            {
+                cp++;
+                base = 16;
+            }
+        }
+    }
+    else if ( base == 16 )
+    {
+        if ( cp[0] == '0' && toupper(cp[1]) == 'X' )
+            cp += 2;
+    }
+
+    while ( isxdigit(*cp) &&
+            (value = isdigit(*cp) ? *cp - '0'
+                                  : (islower(*cp) ? toupper(*cp)
+                                                  : *cp) - 'A' + 10) < base )
+    {
+        result = result * base + value;
+        cp++;
+    }
+
+    if ( endp )
+        *endp = cp;
+
+    return result;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 10:53:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 10:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574073.899272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQn0V-0005Am-Vs; Tue, 01 Aug 2023 10:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574073.899272; Tue, 01 Aug 2023 10: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 1qQn0V-0005Af-Su; Tue, 01 Aug 2023 10:53:39 +0000
Received: by outflank-mailman (input) for mailman id 574073;
 Tue, 01 Aug 2023 10:53:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1cbQ=DS=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1qQn0S-00058n-In
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 10:53:38 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9c71d2e-3059-11ee-b259-6b7b168915f2;
 Tue, 01 Aug 2023 12:53:35 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qQmzX-008BnD-Bk; Tue, 01 Aug 2023 10:52:39 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id EF22B300134;
 Tue,  1 Aug 2023 12:52:36 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id D59162119E820; Tue,  1 Aug 2023 12:52:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9c71d2e-3059-11ee-b259-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=YE2qKJj0nGqnS749mvZ5YUYTvinBv+jyNwtgFmZ3+Q8=; b=B4FnZuoFBN+F7R8DhAptG4cq8z
	pPAaq6jCEOFFR82ZVOVboWY8+HWwV3rlE2vVb4LcpJDDaCI4WVTuxm8u6FVkIebNJt/3gcIQm6EhL
	uXQ9+1AOGEwGNY69X2a3xZYhi/Agcfkhl1LN/EwnbZXdP/CmzjrmglNYVirBrsSPtCbRQsVzvlhp5
	SDHPPm61BKP47UPCPAMttegoehcM9Ft77iB3YVbCYJpLGtKta4ZnlPIAqWwoHHV5XeZ7nOyk/P+mp
	XoyolXg40nLd0D8FykoUZP4HDTHUG8dWEBpVmrSeli8/hyAPgtOsPcp1Ip1gsGBrgvP3hSx85WCwW
	0Lt8kRjw==;
Date: Tue, 1 Aug 2023 12:52:36 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>, Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>, Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>, Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: Re: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Message-ID: <20230801105236.GB79828@hirez.programming.kicks-ass.net>
References: <20230801083318.8363-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230801083318.8363-1-xin3.li@intel.com>

On Tue, Aug 01, 2023 at 01:32:42AM -0700, Xin Li wrote:
> Resend because the mail system failed to deliver some messages yesterday.

Well, you need to figure out how to send patches, because both yesterday
and today are screwy.

The one from yesterday came in 6 thread groups: 0-25, 26, 27, 28, 29, 30-36,
while the one from today comes in 2 thread groups: 0-26, 27-36. Which I
suppose one can count as an improvement :/

Seriously, it should not be hard to send 36 patches in a single thread.

I see you're trying to send through the regular corporate email
trainwreck; do you have a linux.intel.com account? Or really anything
else besides intel.com? You can try sending the series to yourself to
see if it arrives correctly as a whole before sending it out to the list
again.

I also believe there is a kernel.org service for sending patch series,
but i'm not sure I remember the details.


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 11:19:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 11:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574087.899282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQnPI-00086P-1o; Tue, 01 Aug 2023 11:19:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574087.899282; Tue, 01 Aug 2023 11:19:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQnPH-00086I-VR; Tue, 01 Aug 2023 11:19:15 +0000
Received: by outflank-mailman (input) for mailman id 574087;
 Tue, 01 Aug 2023 11:19:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQnPG-00086C-Pf
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 11:19:14 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe13::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3dc30a1a-305d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 13:19:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7959.eurprd04.prod.outlook.com (2603:10a6:20b:289::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 11:19:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 11:19: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: 3dc30a1a-305d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S4hYImOk4wVT/YiAp0rC5Fy+dtYsZIEfMMdFmnAIc2DRO5HO6oGA/TrnmRsgXDJLg+xlRvZE/aJKqouV97+YgXAlKac/Q3p3JcnnUprwDGIBwePRzk3DYLDacXDW4r5WEw1UXyTxMLBpWU87YudkYXbRkwX30MF1y1n828Sn6lNh0WWZK8EtQqSDWNuHj7I79h3nw+W9pu527aMPiKr7+P7dPriJK+owKtOU3tCI/61kDGq2/L2HYlkxnU3/5NR+fDyAh4biUCnermFW2C2YIS0HULeuP9QXv/VNcOP/BL+1WIQ12/S18SZSlyK6i9dI1RVOPh/g/ERwtg/5udpBJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=enT4m1wrpXUknXwT+jQ4JN1Ee92JCTLa1Ujmdd4kd7c=;
 b=cmEiMU4dLfywa8w/hk5lBMapfIVEJ9bEoFTXobt6oTyJ+/UaYqmQ6G76DMsbuA5CElRXqsPzDDYLd1hQDdygw6XBtaaxqZtX+Zj736YDrhcR/WaH34ojet2eMTW1JY+fdZKXERICLIfEEpjDr1dg/vnQIk7vOVV6yxGK6fLnQe5CoRZ/18x3YD5PF96LOD8E3OuVvscz6nJpgEn1pP5st3OwZFc5mEYyYWSINoa5ZvZgE71DBONbUnfaeVdp6UvZ2h9cIcfvzVMVoBIiU/NXhG3VprzaxC0SxLwePutj32T1wPPxzGHR92O5C7febZLrqpu+HfBQc/qGrZtVh3RAEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=enT4m1wrpXUknXwT+jQ4JN1Ee92JCTLa1Ujmdd4kd7c=;
 b=TIfVWd+N1dNT55/f9TkTy3T41rd9ahxjUGEXB09aYwbQatJsuiu5eu1fO8DVv40R+ZahA/Ihq8+41UVwtYVnsA0KkFs2FyG7RNXnZWMMW7/5PmOXe0GxfRCAD1E8XeFckpej1C/oZCjbfBfOWjF5LF3AOcnrnYblz76dGlOhSMboDJfZ2NbEEvN5SgKFUq5cJPcMJTFkG93B1Rxl+XPGm4j1bQuhaoXcKmCEcrchDtHw/PVxaLdHgKwr9AUmcKrsow+h6Z6VD5asmOmhiUWUTFTwRBtV757/Wlz9/V5pLV46UGCRsqQART4ghF3y7ye0lbagwNudoWdBqW7a9dV4Yg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41b33115-274c-7172-f100-85d6a4f1d538@suse.com>
Date: Tue, 1 Aug 2023 13:19:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 5/5] xen/ppc: Implement early serial console on PowerNV
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <3023ad320b42fa3787bb71a9cf83b34965668fe9.1690579561.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3023ad320b42fa3787bb71a9cf83b34965668fe9.1690579561.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0177.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7959:EE_
X-MS-Office365-Filtering-Correlation-Id: 318968b5-31ae-4a0e-46f3-08db928120d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lS20hl5ap2sFm7KPHhxzLsL/qM+Ly9lqN3VQhAP9DKqAODNGu3/42t1oFbnoNx60CYL8hE3eqgOLNSGxYVRrlYduOUNtFkpFQS/S8j8OQlNuoMPC8o3/7e6Yf2tz+EOSNsRh88+TmJtsfCmdZ8LW7+KhxPpU1l8W/6Bsqxx64mP5ncTbRSPTs9CBBAT8lo+o2Z0tJha8fNyTOEc/qI87xn77urbEmXbNcptoiS9zOau29fusLCd3Dk4wi5QbuowJvXW3akl2ojWeC3ryNRJqei5Q7NwQS/N9EpbzD+8TS6NcxywMgrGR9oSHx9K6QoLo0GHrCe/vv8le26bayTN+nCsuHlTDk4qshXego3g844T4Ke3eR/lCMzugGE59l33VPm1HCMGoNNzDxenZy0czOvd25Ywo6DG+z9nsVl1b1TM+v81kivuzLqgqDdI8HaZ4tpwhv7b9B2FGNnxryvAkJgdMmXRDZR7gAKOrD/VY0VNHsyuwkQ9wu1Otpg5MGDvmAy7KejVLzI36XyPuvuFcvjU2EzRlhyIIVSX1rTpcC5tIloxAk1ktHtWuX7G2M6gw4Mce6Km/tpL20coWPNq7UBpxWl07inkSVLmLASdqMquMRAvy94UyGF7EF6APMhZk4L2BJgTwSQh9BQtcwasdTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(376002)(366004)(396003)(136003)(451199021)(54906003)(6512007)(26005)(6506007)(6486002)(36756003)(8676002)(8936002)(5660300002)(66946007)(66476007)(66556008)(53546011)(4326008)(6916009)(2906002)(2616005)(41300700001)(478600001)(31686004)(86362001)(186003)(38100700002)(31696002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjZ2RnRvb0tGSkM0OTZUN0lUSHA4QmFrRkhJKzE3d0N6SUZqNmNYVDRWcHlM?=
 =?utf-8?B?cTRHblhPTW91UVhxbEo2M1htdW05d0pTQ2N6T1RIQkVrMzEwS2V0eXVwc3Fx?=
 =?utf-8?B?Q1gwMmViRmdWVDJFYmdGNzNuYXJPWWRIWlcxU0wwa1JzRktUQXk5K281MmVu?=
 =?utf-8?B?M21JYjFkV25XeWRDY2R3S2dEL1pnRnJSLzc3TEJpL3BxNnZ1RUcyY2pBRGhE?=
 =?utf-8?B?SHlkUUM3NU12dStWY05zR2lPTTZXc1UwQUliYXFncVk3TENDSy9tV0RtTmdu?=
 =?utf-8?B?WE5yaEhMTnNsSll1VVNzUlZ2Zy9nQWNwajFVVG1MTzE4Nm5kdEJEQUhZamRW?=
 =?utf-8?B?M2Uya2JKWVd5OXhxdm5LdG9xN1VETm5nMHhlT09Jc1ZOMkhaVTBmUnBtaDMr?=
 =?utf-8?B?QVJWS1F5TTZpd1hsSmJFWkYyajZKVmFJUmlURktOU1RNa1o0ZGQxd0tLWGY1?=
 =?utf-8?B?MlRjT25YeW51cUxyNW1PbkZjSTUzcVBveW5JQVpBMVQ2NXZSR05uNEYzeDFM?=
 =?utf-8?B?NGQ0UjJNT042eWd3V01kTS9VdlZleUl1SWVxTVF4RFJXZ2dLcS9YWUJYMnhN?=
 =?utf-8?B?WWhNZTBpTXp3THllRC9LNDdiNy9xWVIxMnBtQytvZjVJYU15K3RtYkp6UDFF?=
 =?utf-8?B?OFg4VGMyam9oUXNCM3AyRUY5RFZrdUpJSmhwakRjMkdraS9ITlJtTmFBaGNs?=
 =?utf-8?B?VFZ2L252bzY4UER0S1ZDeFFjNUErSXFhVVNRTlVtRFlBSkFzODNNZzlRTEF2?=
 =?utf-8?B?ZkdzeUVJMnRHQ3l1bzJkelZVelY4d2xXV29zRTVaRytmNkJRcVA4U2x1bTg5?=
 =?utf-8?B?UkRsY1REUUZydVBkVFlOYnhRRHNMejdraEYycTJtaDhobFpEcUdFVkRJRzRW?=
 =?utf-8?B?VHI1RWorbXJzaWsyaFZvenJ3VnBhM2RjV25tQVpPdHVEd3M3ZGl1QmNMLzha?=
 =?utf-8?B?NWlqdHR3QnhiZmlibXJyWHNSZkliTUJwRkI4RVM1YmRMVVppMDRoc2ZYK01G?=
 =?utf-8?B?aU9wNk1pTk9Ub2FWazlxamlTT2R2L2taQndHd0hmOExnYjR1MnZkOTBsd1R0?=
 =?utf-8?B?Nk1ObGNteVlvSzFJMWdqTzhDQVZDV0RGd241aDR1LzV5d3hoVlNNTGxOZUly?=
 =?utf-8?B?eGVielFoaElSVHc0di9jR3BqYzBSdUJha3VWUy81UnVJaXRoczNvR2dNZzVm?=
 =?utf-8?B?ak9TaHV3V1dxR2ZqMHJQWnlSQXozNmxvRThGdzdmMldtcmUzTWM4TGxjZk1H?=
 =?utf-8?B?RzdGT0k1ZXBsVFE3VUgzdnRPVjV5NVRadURCVDhaY2hVZGo5Z1NWSGYrNTJ3?=
 =?utf-8?B?enU0YktvaDMrUG1VM2tFTHhJMitNQkF2d3FuNFdWMTkxNU1Ia0tFM2tscU9a?=
 =?utf-8?B?VHgzRDE4N21vVzFFQm9jYytMTzdBOEtZalMxaXNBcEUyN21qdDAydCs4b2p0?=
 =?utf-8?B?K0ZqV2VoK0VGY1plS0pDSVJTbmNRU1RhaUluSG1oOWYxdmlHMUVNUTJzYTkz?=
 =?utf-8?B?S21CelY5QmJlbC9YT2h6QmdQOTNha3FzcHJxWFBJNEFmWWhZSTlVV2R6WFhX?=
 =?utf-8?B?L0kxdUNWcU1sU1BpZzNiVGdUOHU1MU1ncjlBYnZOSitKcUhYZ1ZSTUlDUE9h?=
 =?utf-8?B?ZExuRStFSTVTTWtzcXpRaExzcElQbnRFSW5NNGh2Zk9FMGtRMUI4TC8wdXV4?=
 =?utf-8?B?T1NDdlQyakxKNDlDQk9Kd2NPR2gzYnhSY1hRZnZBaVFlQ0JGam8rUVVOTi81?=
 =?utf-8?B?Z3RlbWxIMC9CdVRudWZPb0krSW1UOXlJUmF0QVJYRGJtRGJaUjRWQ1RlbzZV?=
 =?utf-8?B?MjdzNTZ1ajZqNmNhSCs3cks5VTV3cjZHVDR0WEhoNEtNaWxCVTRTd1VoUWVw?=
 =?utf-8?B?SWJVSUg0Q0VrVXBhdjh3aVlrSWxGTEJObzF5MmFSck52bFR5d3BzY3VFUnhl?=
 =?utf-8?B?SnVqQWhkODg0RFAwaTg0c2VYNHd1MWozaERlaGp2VVFhWm1YZ2wxeUVWQm1q?=
 =?utf-8?B?a2pqUU54NFN5bG5NQ0M4TnRHdFZpSjZQYUJ5cXE5ZXFJQTRFYnFTTGkwbXBy?=
 =?utf-8?B?eHNnaGFqQ2hScm9ZajBsL1lteEZMbWM2ZXpkb1p3NElqYUtSOE1uY3Nqa0pv?=
 =?utf-8?Q?uYXUK3LhBBi5tmbT6FEVZ4YaS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 318968b5-31ae-4a0e-46f3-08db928120d1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 11:19:10.4143
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yCYDmChxSSMHXiZTZ2RFU2RMgcoFcL1VZAjA48GoLWikwQvA+M8Oim12mUVyrJQR7gIV5l4K554JrsYu/xlQMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7959

On 28.07.2023 23:35, Shawn Anastasio wrote:
> --- a/xen/arch/ppc/include/asm/asm-defns.h
> +++ b/xen/arch/ppc/include/asm/asm-defns.h
> @@ -23,6 +23,18 @@
>      addis reg,%r2,name@toc@ha;                                               \
>      addi  reg,reg,name@toc@l

Noticing only now, because of the issue ...

> +/*
> + * Declare a global assembly function with a proper TOC setup prologue
> + */
> +#define _GLOBAL_TOC(name)                                                   \
> +    .balign 4;                                                              \
> +    .type name,@function;                                                   \
> +    .globl name;                                                            \
> +name:                                                                       \
> +0:  addis %r2,%r12,(.TOC.-0b)@ha;                                           \
> +    addi %r2,%r2,(.TOC.-0b)@l;                                              \
> +    .localentry name,.-name

... being widened - could we gain blanks after the commas? Down here
(to match the code in context) another padding blank after "addi"
would also be nice.

> --- a/xen/arch/ppc/opal.c
> +++ b/xen/arch/ppc/opal.c
> @@ -8,9 +8,28 @@
>  #include <xen/init.h>
>  #include <xen/lib.h>
>  
> -/* Global OPAL struct containing entrypoint and base */
> +/* Global OPAL struct containing entrypoint and base used by opal-calls.S */
>  struct opal opal;
>  
> +int64_t opal_console_write(int64_t term_number, uint64_t *length,
> +                           uint8_t *buffer);

Would this perhaps better be void *, eliminating the need for casting
in calls of this function?

> +int64_t opal_console_flush(int64_t term_number);
> +int64_t opal_reinit_cpus(uint64_t flags);
> +
> +static void opal_putchar(char c)

Can't this be __init?

> +{
> +    uint64_t len;
> +    if (c == '\n')

Nit: Blank line please between declaration(s) and statement(s). (At
least one more instance below.)

Also please add the missing blanks in the if(), seeing that otherwise
the file is aiming at being Xen style.

> +    {
> +        char buf = '\r';
> +        len = cpu_to_be64(1);
> +        opal_console_write(0, &len, (uint8_t *) &buf);
> +    }
> +    len = cpu_to_be64(1);
> +    opal_console_write(0, &len, (uint8_t *) &c);
> +    opal_console_flush(0);
> +}
> +
>  void __init boot_opal_init(const void *fdt)
>  {
>      int opal_node;
> @@ -45,4 +64,10 @@ void __init boot_opal_init(const void *fdt)
>  
>      opal.base = be64_to_cpu(*opal_base);
>      opal.entry = be64_to_cpu(*opal_entry);
> +
> +    early_printk_init(opal_putchar);
> +
> +    /* Ask OPAL to set HID0 for Little Endian interrupts + Radix TLB support */
> +    opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_LE | OPAL_REINIT_CPUS_MMU_RADIX
> +                     | OPAL_REINIT_CPUS_MMU_HASH);

Nit: operators on continued lines go at the end of the earlier line.

> --- /dev/null
> +++ b/xen/arch/ppc/ppc64/opal-calls.S
> @@ -0,0 +1,82 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Adapted from Linux's arch/powerpc/boot/opal-calls.S
> + *
> + * Copyright (c) 2016 IBM Corporation.
> + * Copyright Raptor Engineering, LLC
> + */
> +
> +#include <asm/asm-defns.h>
> +#include <asm/asm-offsets.h>

Would it make sense to have asm-defns.h include asm-offsets.h, like
x86 and Arm do?

> +#include <asm/opal-api.h>
> +#include <asm/msr.h>
> +
> +    .text

Is any of this code still needed post-init?

> +#define OPAL_CALL(name, token)  \
> +    .globl name;                \
> +name:                           \
> +    li      %r0, token;         \
> +    b       opal_call;

I think the trailing semicolon wants omitting.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:13:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574109.899291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQoFy-00069W-9s; Tue, 01 Aug 2023 12:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574109.899291; Tue, 01 Aug 2023 12:13:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQoFy-00069P-7N; Tue, 01 Aug 2023 12:13:42 +0000
Received: by outflank-mailman (input) for mailman id 574109;
 Tue, 01 Aug 2023 12:13: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=9+Fi=DS=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1qQoFw-00069J-Ln
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:13:40 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [85.215.255.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d920d718-3064-11ee-b25a-6b7b168915f2;
 Tue, 01 Aug 2023 14:13:39 +0200 (CEST)
Received: from sender by smtp.strato.de (RZmta 49.6.6 AUTH)
 with ESMTPSA id jd2f5az71CDQQlu
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 1 Aug 2023 14:13: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: d920d718-3064-11ee-b25a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690892006; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=hlyrkG3upPwylhpKCY70T7olKKv3MPc3Ro+hkooftpd3KrftJ4p99qPdLYStHTLb82
    TwULyqqsWs8xS47amaK1otp2OskjtH8thHyNXfabo63732WWKzYvYUam4mDVRlhlxB6P
    AtmCUP5anXT54cwgRCQGbC69Er5P6UZK8V1V9/Kgn4JDBFkvhbVvj9ibO9VYhbdfGVX1
    RE2LBkWUS3d+zNlTuAeUC+7f65RzZTWQWpvQl0XnEq2SPscmwfyngZaPafd+p2pPggHY
    nXdFHQllRtmsjvDvTgTPIGh1LnZVvF5MIaLJUGwQzftBumuEN5U8qRBGUpbh9WF9b0Ue
    tjbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1690892006;
    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=cjRqM+XjqX1Xuvw0nxwkdauQMImA252wVov7Kg5/gfo=;
    b=EsDRaa/NnC7MtoLZWYjjNxltk6iEUz3BboFvsMj0MP14/dh03LSy5sxicaKWlAX2dL
    cGQzGxcnaCg7fvyAd40JsGcS8B54c7Ye05oahU9KWW2bR1qIdajs1/TjtQk/SGVmQ4HH
    5kd8rUr/tmNClZ6AtSFqlWqRXxI6BWj9+8BfFRgeNKJFq3WpwpSo6JndmcWVqFrwhT4l
    J19bffWRasdD/Juit9zV8Me+JQ2loGAfgJ+Lbhs+s8SDzab0XAbUkOSXcsPVwYVmij6m
    xrai54viwlGG1sJC8F18n5RRDuJihMa9ZKBg4G8K0CTzoVSupay01QTJxdjsM78Lk0N5
    3xIw==
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=1690892006;
    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=cjRqM+XjqX1Xuvw0nxwkdauQMImA252wVov7Kg5/gfo=;
    b=B2yTSpb9ZG5W4q0AuKy4bbPz5AA0vsbp0lDB8vP5aAWyi2+9ST65sl6tJf5k96V5eu
    gJA0rvP7cS02gA293BaNBT+DpDeCYrkqN1qbV6kMvaVuUEZnxrrqOXqv7SbIZ1aJ4PSH
    9Q+Yut7DxYFhp4pn/T8rYdEXRX+s27Q2pnVOWRrSE5KQKwdkmYKpjrt/nGCdXlhLHW+0
    hB+O6cKtysSLZkaeDDIw+yhRx3YTc7cGnc2mtwdndMxRI4hnQo8kYql0jtoZJSNgsWSo
    sa1yQOROGl6QguxdkAq3TbDPsZR28aEtKAEm6X8jorOcqH3+HPFVmbEloYgszu2RZsal
    EdkQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1690892006;
    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=cjRqM+XjqX1Xuvw0nxwkdauQMImA252wVov7Kg5/gfo=;
    b=RAjlMPjQoRY7IBn74SP4oslNAYtx4bnC3tgSxZsLDc74KdTCNRVVGbUAFhMCRP9ADv
    DagtMgP1A/wIA1DZVgCg==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5U0GIOxzsQPrGAhfM0BJebfTWeDWMtcJLtvI+aQ=="
Date: Tue, 1 Aug 2023 14:13:17 +0200
From: Olaf Hering <olaf@aepfle.de>
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
 <anthony.perard@citrix.com>
Subject: Re: [PATCH v1 7/7] xenalyze: handle more potential exit reason
 values from vmx.h
Message-ID: <20230801141317.53844521.olaf@aepfle.de>
In-Reply-To: <CA+zSX=ZW+-un+sUCEDA3RKd4vHzCvCjJxmqZPuXNf0UHFDq2BA@mail.gmail.com>
References: <20230601142742.15489-1-olaf@aepfle.de>
	<20230601142742.15489-8-olaf@aepfle.de>
	<CA+zSX=ZW+-un+sUCEDA3RKd4vHzCvCjJxmqZPuXNf0UHFDq2BA@mail.gmail.com>
X-Mailer: Claws Mail 20230724T063118.58ae3d58 hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/5OA8GnnQmIdpCHIvi1e7iim";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/5OA8GnnQmIdpCHIvi1e7iim
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Fri, 28 Jul 2023 21:35:54 +0100 George Dunlap <george.dunlap@cloud.com>:

> Everything looks good (including adding the missing strings), except for
> the removal of the fixed array size.  Call me paranoid, but if we define =
it
> as REASON_MAX length, then there will never be any way that a value less
> than REASON_MAX causes a segfault (and if we assign a value higher than
> REASON_MAX, the compiler will complain); whereas if we make it variable, =
we
> leave open the possibility that someone won't update REASON_MAX properly,
> resulting in either segfaults (if REASON_MAX is too high) or missing
> strings (if REASON_MAX is too low).

I think the code needs to be rearranged to work with "array_size" instead.


Olaf

--Sig_/5OA8GnnQmIdpCHIvi1e7iim
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmTI9t0ACgkQ86SN7mm1
DoDJRRAAhg9TndADa8iMkqaX96wWJunwbGup/eUS/YRqgDjB0yt5hw4S+XscIVni
DHkmnUJBMefeVmpZKeRSIKSBqjXPhPN7AUdebxYEFHbX0p+UdSXy8mLP5seUNLK5
REy7AT/zdG49AsfIV8t0AZvsQ9kDeey2TBDX0egnBSU94HtqmcuY1K4k0DE6XiA2
QjOkN4WW59ZPOLkGx/+y55X/sKN+eEOTHov2dXjbHpdC81CHh2i/iG/kXrBXjupj
ppGzlcvtuHSnCDhj1YuIDiCpiKBDr6kZFM4P2LLK+ym9WV84q3k6+o2Kzj3eD1Hz
thiqU6lCaVbOgCAeWIH5QTYSVk31sMUO6OqQsD0jh7t/VCaMA+4yZDgvHesZV0R4
q8OOsFGs/vkYdpPo2TQ8jAXyZLVNy3Flfz4l9VkE7uwT8tlCcttIafITII7mcbhD
UGxVICO2OUSxTkJusx6FcXjd0jYoVto2iV1rOYBEv0oO87L6VtShG596Rg66WC09
YjUw+LVEGjiLARB5YvobQp8v9fqrMT/pqzXQUa+q3Hh0ZWpGfygQLL9byhA85m+x
B3vHen5SugJJff5fMtrDxIfTJ5G4i6bzHuD067cEl9aoYJZ1ZPQUMzPmAZr3sJYC
f/rDE9vhr6VGaKRESsDPfnswIgDpE6o54yIM8+0nAGryiDU6HHc=
=OFI8
-----END PGP SIGNATURE-----

--Sig_/5OA8GnnQmIdpCHIvi1e7iim--


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:20:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:20:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574121.899302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQoMq-0007f1-1Q; Tue, 01 Aug 2023 12:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574121.899302; Tue, 01 Aug 2023 12:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQoMp-0007eu-Tv; Tue, 01 Aug 2023 12:20:47 +0000
Received: by outflank-mailman (input) for mailman id 574121;
 Tue, 01 Aug 2023 12:20:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQoMo-0007eo-V8
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:20:47 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6805a69-3065-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 14:20:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7695.eurprd04.prod.outlook.com (2603:10a6:102:e3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 12:20:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 12:20:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6805a69-3065-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jMSF/kDxDrmlWXFk5HTkBqPsaKf3b7eKWaIXNI6s6F5lEmOL6uC03xMJktkxNLFJk/g9ONNrRa5HfrrRG0Z9IpOcnjFqlQ2TO7yQCmVv94p2H27Gwt52f4CJWu7KDvyqwm3ibIFUCqg0DPjr9bgbibacvyPL9EH32tAsRUVRTZWrdXbas8oZ9nSEI9X9Y4zeZF4YgtZLCsu4Rb0/V+wicT3vK0Yobyq7n0IJy64CwTGux2UOmez/0emk61Oa+dB/IIWfvyoZVLFG5UJfpsLGteXDamehZ/3XSDBeHRmbEg1uddxURAd+f8Q5atpYR7iLsj+B4nSssKKdcMUZXqsncA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cJAsgBWzXbaUDPMv8WqrnEVuL1ySu6i20kYftQ3JtMw=;
 b=j5VssgTIMw5QIqaIGvuaFyZq8LjLq8EgcfHNYnbm/HRm0nk1fow9P1Y28pfFtcaLEo4hxsKWjC0IHQgKX4YCkWsTmaFTEyEIQrlSJulox9OJ4mYrxiSVL8yXZ8Rj4lw3J5vbh5W0L54ySK3sU1AlpGusewp0MjbhNA0UZmHEeXB+VzmoYDY4Y5qy8J7uZQpm4sJ8+gC2Icm/uKMweddmoNGM5iZihXingJ811WBLWiNtBd0sU4g8guASj67lR/0jJIOLgdiz5+HS2CEjFcE1DVon/b3jR/IS6M0Yc6XypCp5QewbaY51sO8XpylH16V9XpKfKsxv7EhPb/3/KRIJ8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cJAsgBWzXbaUDPMv8WqrnEVuL1ySu6i20kYftQ3JtMw=;
 b=1rFz3LBimzzvu+8sGb9vOe3UGGGyv9DgpKsdu9EyrI8R6SsfIv5uf7SFXFUoxE0nMfiw7Gq2PMjmNXQqv6OPJDQJVBoXNdoyo+mQ61Zr7Qtkqm9oIZeQDqNTGYihuc3NZOWYVoonZ08nFcAt13pu6GT9/oynIVV6nsJsK8bjh05Z/g37Pz8ZUed/CjBIhCEdi40u/YJ7Q4jbE3Q1innt3ScreZM7pbghcR7LSLgQcUR5ufLQvBoSxDs1c/3rKy5Ioog2qsT8ucHj3AEEvOBvMkPPBx69AFrm3avYzzHiVnsZrd4mZggu+Uk7gcMLaVC7FDLWnegPHG9xsUnr0jgmUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0b2cb188-bcb1-1ed3-1181-9e1d0d98ab4a@suse.com>
Date: Tue, 1 Aug 2023 14:20:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 2/5] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <335ce2a18f8cce679dd8b30d11560989131b4337.1690579561.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <335ce2a18f8cce679dd8b30d11560989131b4337.1690579561.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7695:EE_
X-MS-Office365-Filtering-Correlation-Id: 3bf7b5ad-1b52-4986-a438-08db9289b99e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5Qvc/TFTdbsxvw6+6FkSXuPSuI8PPgGfgrRgyh4C/DcardTSZV3FYZfRggshHawqzv732ogWls1RIeH2hE5ih2XazJ09TVCoDd2f+QDS2qZM+8eUeC+oE30BoXAT6Gvbdr8SbAptPN9oXlL6XZ/BnukxjStnWoWR0wHXBQxHqGrTooccUgy6TJnEalM5ZKX4Wo5rdBsUUyp32bGdcPZbzHdJM+kATf4LfCqjyMnh0rNxnrI4RigZnzqOk9hEfqtm1L9ehMatAL4jGdGvbzP3VYBBsD9dKwSDDis4JT5C7UHu2eOg0PIpYdBTWPJjW4Vxx92ilmaOu4b5j5c1d06JmSuAE4hLTmUheu2GSItnE1isIt6D+4+X0S8I6oBiHKja3V7pv//MLHByKG1E7MGMJK/fUFdQYEUk6H7kdIfn+pFG6G2GKFYYm8+XTsVgTYtSNc9CjevTRNsMn4cTI7qTbl3/GgUifH/mBdn0Oz4oS2D6Xbpphm8bydmdO0678LpN2WfIgGdPG+Nt0y3oxmaYW32lFNLhDpAIZiC/OfEqrBPeVGI169HbFrJMGNrwkK2RhyivLsdWPAXEAWEraKx5DEEWK4CdRq8cY4WWPJO3JNPokN+MR5R5QDGnulNMSO7esmm4Djib+spx+IFYDo2Ckg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(136003)(376002)(396003)(366004)(451199021)(8676002)(8936002)(38100700002)(31696002)(26005)(86362001)(41300700001)(2616005)(4744005)(2906002)(36756003)(6506007)(53546011)(186003)(5660300002)(4326008)(6916009)(66556008)(66476007)(66946007)(6512007)(31686004)(54906003)(478600001)(6486002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjVQci9QOWRxTVd4QnRIZzdJSnZqdFQrVGlyRWVWYVlrSGRtRTZCOGI5QllG?=
 =?utf-8?B?aTZqWjdaYmxCSDc3eUpQTk9pMlFvY3QydjFBYkg3QkF0UGQ1ZDZBNkJiSWZL?=
 =?utf-8?B?SXdOM2tDak52bDhmTWdEdlkvUGR6RW1aNERFRTRzU2EycjFjSi80YVBoZVZm?=
 =?utf-8?B?U1JBR056Sm9EQ05GVyt3NU1IN01vc3pFc2dhMVdOSzc2YWV1ZWFEUGMzbE9U?=
 =?utf-8?B?ZVBBY0xiUGx3OTFmaW0xZkdhN0RVbE1KREJ0ZWh4Q1drcjgvek9wdXlRV1Q1?=
 =?utf-8?B?eUtjd1JmVEFLckNkUk5lcHMzUE5EMzJWZnlSZS9hVzdicGNlVmRnQlVSMW1r?=
 =?utf-8?B?S3NDcm5ZUGx1WHA4ZmJpNnB2d0s0NEpCU01iZ2hCMEdvOHVBanc5TjFhZmRN?=
 =?utf-8?B?ZERpSUt6K3NOaGJyV2ZnVS94RkxGUjEzbXNwQnZtai93SFNhNVpSc1l4Z05w?=
 =?utf-8?B?TERZQWhyNmZCREMwUUc3MjJOSDJpS3phZkxicDMwYWlJNG1RMVltSkozalFu?=
 =?utf-8?B?c09SalhFSWFjRXYwaWZ2NGZiZklCNGNUY0VtZ2pKbHZ0L3lpWWdLOElBdm5T?=
 =?utf-8?B?RU4zVFdmSUZIK29vVmRpR1lJL0M5b3lnWHNqTGN1NUJGbUtzTlU5Q0xmb1Mz?=
 =?utf-8?B?cU9VTDZ1YWJQQ0pUR2VLcFVlNXg2d01TcDFIYmJ1VEpocGViUVU5d3BCWjd1?=
 =?utf-8?B?Y2hDOTZkaCt3T3NRRHJSczZQQzFWM045VmZDdTNzeU1hWThQTEd1a2JYOHEr?=
 =?utf-8?B?ZTBIdGg4aTlmN0t2SHhVQ0ptMHR2Q3Zvb3NON28zaUhwaGpxQUJPZXZZenpr?=
 =?utf-8?B?VzRsSlZjdC9jbDRwQVNPVG1TTUxwUHExZFFiRStCU3RQcHFUcTFkTHoyNmV6?=
 =?utf-8?B?SDVNVldTdFYzUTQwV1p3eVQ4Mmh3S3kvVlZ1VkFyMlJyZ29BTEhFS2dJa1lu?=
 =?utf-8?B?U25xdHlPTHJDc1FPQ1pvbi9FUmk0NkFiUmhuclZoS2pFcXBzdi9KSnkyNmZj?=
 =?utf-8?B?QUl1dkVGR2dMMjFlMW9oNlhZUko1UWhycUVVMHhWS3h4STN2emYvNUxmMzcr?=
 =?utf-8?B?TXEwOE81ZEdjNnUvY2d0NjBSeTE5ZHRNTHQ0WmNDTWhVa3RNVkZQWjA1YkRn?=
 =?utf-8?B?ZE12S2V4RjlCdzJGdVpPL25TalF0V3A0bzhVNlFkcktWdWhKRlpJcFVzMWpU?=
 =?utf-8?B?dnIvcmVJV29TYWRkbUwxRnlTSHJ3TmMxYS9jVkRUZ08rYlhpbUF3U0xud3B5?=
 =?utf-8?B?N01ua25tdXZvZDNFVCs1VTcwMGhsSG1JVGRpQ25OWFFka21EcktXSUpFNUpW?=
 =?utf-8?B?SVFuWmFpVE5pMjlOVEtIdS9IcXJHT2VjNkpOUU9qQWxEYjdHbmV2d2NjUWhR?=
 =?utf-8?B?UDRiVGEzdDRJL3AyY2EwMGNURjQvUVZLcHl3c3RYNG5WaGovRG1JWWxqNTQr?=
 =?utf-8?B?aEpPRkVNblhOVkcxNEV3dnVGUTY5TGVtU1VEcnpSZmRncnMrT052UW5OM3p1?=
 =?utf-8?B?cHJ0WW5uc2pJNUtmbnpidHgwQzI3czM1UDVNZzBBSU0zY2FIc3RzdU84SGI3?=
 =?utf-8?B?Z1ltQUZXUThWNkkrTmR1aXJhMUtra0J4a1J4SndNWTVPZmlpSHlna1FlS1pH?=
 =?utf-8?B?Yzc2OW0ycjYybTQraEpJdXhxT0RCMlQwOFFJay90YlpTLzMvVlNtVENvK3A2?=
 =?utf-8?B?b0JyQ0Fzc2p5SGhlMkNWUy80WTZCQ3cvMXJJVEhsVUxPVk1IcDZNZTFkT1Iv?=
 =?utf-8?B?eWp2UjluZzNGK3VNSWoxMVFMNGJ3ZUE4OFBySEFtTGNMRWd3aHRQakMrNXRh?=
 =?utf-8?B?b2FQVVN3ekdOZmFkVXMxQXdpWmErUEYwZFVIaW5CNTlWSGRaNnQ1WG1QME1D?=
 =?utf-8?B?SmlXWWN6UjZVUlR3Q1RJQU5SekhNVjRremFqenZrMHU4dGtXU0xDYXF6N0cz?=
 =?utf-8?B?UXlXVXVpNHBGckcxby9ieVVmcFhoSXdSZUlVN3lETXN0QzJVLzFFa3hEQlJB?=
 =?utf-8?B?VXRHSGtVcHJGTmdaM1hxaGtKenc1Wm5mZlQyRTRhVFl0dGd1cU0rdVIyeTF0?=
 =?utf-8?B?NTJGbmRzVncxZDBmNmhQakgySFpHaGtzOVFHVkdGay9oOEdVZjFmOCtuUzdo?=
 =?utf-8?Q?YE5D7tVnqjVdhSYxCiua5oWcH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3bf7b5ad-1b52-4986-a438-08db9289b99e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 12:20:42.7648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xH7z5oPfZ6O0SQAin63ndwkf/XLBaE5HbVTAHBukt0YBedAa3OWwYbbaEHcjC/W82MRkYUPMkO6DPuTI6OpzJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7695

On 28.07.2023 23:35, Shawn Anastasio wrote:
> @@ -11,16 +13,19 @@ ENTRY(start)
>      FIXUP_ENDIAN
>  
>      /* set up the TOC pointer */
> -    LOAD_IMM32(%r2, .TOC.)
> +    bcl	    20, 31, .+4
> +1:  mflr    %r12
> +    addis   %r2, %r12, .TOC.-1b@ha
> +    addi    %r2, %r2, .TOC.-1b@l
>  
>      /* set up the initial stack */
> -    LOAD_IMM32(%r1, cpu0_boot_stack)
> +    LOAD_REG_ADDR(%r1, cpu0_boot_stack)

Question: Would perhaps make sense to use %sp and %rtoc in place of
%r1 and %r2 (not just here of course)?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:39:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574128.899311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQof8-0000rP-GX; Tue, 01 Aug 2023 12:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574128.899311; Tue, 01 Aug 2023 12:39:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQof8-0000rI-E2; Tue, 01 Aug 2023 12:39:42 +0000
Received: by outflank-mailman (input) for mailman id 574128;
 Tue, 01 Aug 2023 12:39: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 1qQof7-0000r8-4t; Tue, 01 Aug 2023 12:39: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 1qQof7-0003qY-2F; Tue, 01 Aug 2023 12:39: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 1qQof6-0007HI-Ia; Tue, 01 Aug 2023 12:39:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qQof6-0005cZ-I3; Tue, 01 Aug 2023 12:39:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lmAfiUsMHa4WXes13kR2BK2h29MjO/JZpxnYByTClHs=; b=njqxdzqAIWi2rzjNhQof2pFlc8
	YL23nBL1ZL4Ojm9fMbmSaQlt/9s40wbcrpT4M3ouZUt7FG83QPWyycfwDEiLnCp5aP8sMdmCe+I7c
	noJStmAAkHCVp4SgTuWasVtTg36lAXy1jF0p+Dh+Do45A+8cGVjlNf15GHR9G/syYDyo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182100-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182100: 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=c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8
X-Osstest-Versions-That:
    xen=70eb862b01023c45b943e8ff92ef4f6a7e9e8950
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 01 Aug 2023 12:39:40 +0000

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

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                  c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8
baseline version:
 xen                  70eb862b01023c45b943e8ff92ef4f6a7e9e8950

Last test of basis   182098  2023-07-31 20:00:37 Z    0 days
Testing same since   182100  2023-08-01 10:03:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@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
   70eb862b01..c2026b88b5  c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574137.899326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002QM-Kd; Tue, 01 Aug 2023 12:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574137.899326; Tue, 01 Aug 2023 12:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002PQ-Fu; Tue, 01 Aug 2023 12:48:31 +0000
Received: by outflank-mailman (input) for mailman id 574137;
 Tue, 01 Aug 2023 12: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQond-0002MY-Og
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:48:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5b11ccd-3069-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 14:48:27 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9D86E4EE0737;
 Tue,  1 Aug 2023 14:48: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: b5b11ccd-3069-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v2 0/3] xen: address MISRA C:2012 Rule 5.3
Date: Tue,  1 Aug 2023 14:47:41 +0200
Message-Id: <cover.1690893696.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 5.3 has the following headline:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

The following two strategies are adopted to deal with some violations
of this rule:
- renaming of local variables, functions or parameters;
- removal of unnecessary declarations.

No functional changes.

Changes in v2:
- Patches 1/4 and 2/4 from the previous version of this patch
  (https://lore.kernel.org/xen-devel/cover.1690810346.git.nicola.vetrini@bugseng.com/)
	are already committed to staging, therefore are excluded from this series.

Nicola Vetrini (3):
  xen/common: address MISRA C:2012 Rule 5.3
  drivers/char: address MISRA C:2012 Rule 5.3
  arm/efi: address MISRA C:2012 Rule 5.3

 xen/arch/arm/efi/efi-boot.h  | 84 ++++++++++++++++++------------------
 xen/common/compat/memory.c   |  7 ++-
 xen/common/numa.c            | 20 ++++-----
 xen/drivers/char/ehci-dbgp.c |  4 +-
 xen/drivers/char/ns16550.c   |  6 +--
 5 files changed, 59 insertions(+), 62 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574136.899322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002N0-Bg; Tue, 01 Aug 2023 12:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574136.899322; Tue, 01 Aug 2023 12:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002Mt-8q; Tue, 01 Aug 2023 12:48:31 +0000
Received: by outflank-mailman (input) for mailman id 574136;
 Tue, 01 Aug 2023 12:48:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQond-0002MS-I7
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:48:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6a4c424-3069-11ee-b25a-6b7b168915f2;
 Tue, 01 Aug 2023 14:48:29 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0CFED4EE0742;
 Tue,  1 Aug 2023 14:48:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6a4c424-3069-11ee-b25a-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 2/3] drivers/char: address MISRA C:2012 Rule 5.3
Date: Tue,  1 Aug 2023 14:47:43 +0200
Message-Id: <69fad93eeafdceae5de1f2483015f05d1798b6be.1690893696.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690893696.git.nicola.vetrini@bugseng.com>
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following strategies are adopted to deal with violations
of MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

Local variable 'ctrl' shadows a variable defined in an outer scope.
Since the innermost variable is used only once after being set, it is safe
to remove it entirely.

The enum constant 'baud' is shadowed by local a local variable at line
1476, and renaming the enum constant avoid such conflicts.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Renamed the enum constant instead of the local variable 'baud'.
- Removed the inner variable entirely, as it serves no purpose.
---
 xen/drivers/char/ehci-dbgp.c | 4 +---
 xen/drivers/char/ns16550.c   | 6 +++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
index 4d8d765122..72be4d9cc9 100644
--- a/xen/drivers/char/ehci-dbgp.c
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -424,9 +424,7 @@ static void dbgp_issue_command(struct ehci_dbgp *dbgp, u32 ctrl,
          * checks to see if ACPI or some other initialization also
          * reset the EHCI debug port.
          */
-        u32 ctrl = readl(&dbgp->ehci_debug->control);
-
-        if ( ctrl & DBGP_ENABLED )
+        if ( readl(&dbgp->ehci_debug->control) & DBGP_ENABLED )
         {
             cmd |= CMD_RUN;
             writel(cmd, &dbgp->ehci_regs->command);
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 212a9c49ae..b75e7f8fa0 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1388,7 +1388,7 @@ string_param("com1", opt_com1);
 string_param("com2", opt_com2);
 
 enum serial_param_type {
-    baud,
+    baud_rate,
     clock_hz,
     data_bits,
     io_base,
@@ -1416,7 +1416,7 @@ struct serial_param_var {
  * com_console_options for serial port com1 and com2.
  */
 static const struct serial_param_var __initconst sp_vars[] = {
-    {"baud", baud},
+    {"baud", baud_rate},
     {"clock-hz", clock_hz},
     {"data-bits", data_bits},
     {"io-base", io_base},
@@ -1596,7 +1596,7 @@ static bool __init parse_namevalue_pairs(char *str, struct ns16550 *uart)
 
         switch ( get_token(token, &param_value) )
         {
-        case baud:
+        case baud_rate:
             uart->baud = simple_strtoul(param_value, NULL, 0);
             break;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574138.899333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002Ws-Te; Tue, 01 Aug 2023 12:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574138.899333; Tue, 01 Aug 2023 12:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQonf-0002UK-OV; Tue, 01 Aug 2023 12:48:31 +0000
Received: by outflank-mailman (input) for mailman id 574138;
 Tue, 01 Aug 2023 12:48: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQone-0002MY-EP
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:48:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b614396e-3069-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 14:48:28 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 256D34EE0741;
 Tue,  1 Aug 2023 14:48:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b614396e-3069-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 1/3] xen/common: address MISRA C:2012 Rule 5.3
Date: Tue,  1 Aug 2023 14:47:42 +0200
Message-Id: <a2ec33d23fbc956d6b84e3736ff7f09549ab85b6.1690893696.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690893696.git.nicola.vetrini@bugseng.com>
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following strategies are adopted to deal with violations
of MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

- s/nodes/numa_nodes/ for the file-scope variable in 'common/numa.c';
- move the variable 'struct compat_remove_from_physmap cmp' inside
  the outer union variable 'cmp' to avoid shadowing it.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Split the patch in common/ and drivers/.
- Moved the local cmp into the union as a member.
- Renamed the file-scope variable instead of parameters/local variables.
---
 xen/common/compat/memory.c |  7 +++----
 xen/common/numa.c          | 20 ++++++++++----------
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/xen/common/compat/memory.c b/xen/common/compat/memory.c
index 8ca63ceda6..d000a5d93d 100644
--- a/xen/common/compat/memory.c
+++ b/xen/common/compat/memory.c
@@ -81,6 +81,7 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
             struct compat_memory_exchange xchg;
             struct compat_add_to_physmap atp;
             struct compat_add_to_physmap_batch atpb;
+            struct compat_remove_from_physmap rmfp;
             struct compat_vnuma_topology_info vnuma;
             struct compat_mem_access_op mao;
             struct compat_mem_acquire_resource mar;
@@ -321,12 +322,10 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
 
         case XENMEM_remove_from_physmap:
         {
-            struct compat_remove_from_physmap cmp;
-
-            if ( copy_from_guest(&cmp, compat, 1) )
+            if ( copy_from_guest(&cmp.rmfp, compat, 1) )
                 return -EFAULT;
 
-            XLAT_remove_from_physmap(nat.xrfp, &cmp);
+            XLAT_remove_from_physmap(nat.xrfp, &cmp.rmfp);
 
             break;
         }
diff --git a/xen/common/numa.c b/xen/common/numa.c
index fc1f7f665b..f454c4d894 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -15,7 +15,7 @@
 
 static nodemask_t __initdata processor_nodes_parsed;
 static nodemask_t __initdata memory_nodes_parsed;
-static struct node __initdata nodes[MAX_NUMNODES];
+static struct node __initdata numa_nodes[MAX_NUMNODES];
 
 static unsigned int __ro_after_init num_node_memblks;
 static struct node __ro_after_init node_memblk_range[NR_NODE_MEMBLKS];
@@ -117,7 +117,7 @@ static enum conflicts __init conflicting_memblks(
 
 static void __init cutoff_node(nodeid_t i, paddr_t start, paddr_t end)
 {
-    struct node *nd = &nodes[i];
+    struct node *nd = &numa_nodes[i];
 
     if ( nd->start < start )
     {
@@ -157,7 +157,7 @@ bool __init numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
     paddr_t end = start + size;
     paddr_t nd_start = start;
     paddr_t nd_end = end;
-    struct node *nd = &nodes[node];
+    struct node *nd = &numa_nodes[node];
 
     /*
      * For the node that already has some memory blocks, we will
@@ -292,17 +292,17 @@ static bool __init nodes_cover_memory(void)
         do {
             found = false;
             for_each_node_mask ( j, memory_nodes_parsed )
-                if ( start < nodes[j].end && end > nodes[j].start )
+                if ( start < numa_nodes[j].end && end > numa_nodes[j].start )
                 {
-                    if ( start >= nodes[j].start )
+                    if ( start >= numa_nodes[j].start )
                     {
-                        start = nodes[j].end;
+                        start = numa_nodes[j].end;
                         found = true;
                     }
 
-                    if ( end <= nodes[j].end )
+                    if ( end <= numa_nodes[j].end )
                     {
-                        end = nodes[j].start;
+                        end = numa_nodes[j].start;
                         found = true;
                     }
                 }
@@ -356,10 +356,10 @@ static bool __init numa_process_nodes(paddr_t start, paddr_t end)
     /* Finally register nodes */
     for_each_node_mask ( i, all_nodes_parsed )
     {
-        if ( nodes[i].end == nodes[i].start )
+        if ( numa_nodes[i].end == numa_nodes[i].start )
             printk(KERN_INFO "NUMA: node %u has no memory\n", i);
 
-        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
+        setup_node_bootmem(i, numa_nodes[i].start, numa_nodes[i].end);
     }
 
     for ( i = 0; i < nr_cpu_ids; i++ )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574139.899342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQong-0002hV-DB; Tue, 01 Aug 2023 12:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574139.899342; Tue, 01 Aug 2023 12:48: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 1qQong-0002eB-5B; Tue, 01 Aug 2023 12:48:32 +0000
Received: by outflank-mailman (input) for mailman id 574139;
 Tue, 01 Aug 2023 12:48: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQone-0002MS-Th
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:48:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b72c0eff-3069-11ee-b25a-6b7b168915f2;
 Tue, 01 Aug 2023 14:48:30 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0193A4EE0743;
 Tue,  1 Aug 2023 14:48:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b72c0eff-3069-11ee-b25a-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v2 3/3] arm/efi: address MISRA C:2012 Rule 5.3
Date: Tue,  1 Aug 2023 14:47:44 +0200
Message-Id: <688eea3584d537b6f41bb32f227f8be74ffd2783.1690893696.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690893696.git.nicola.vetrini@bugseng.com>
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 5.3 has the following headline:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"

The file-scope variable 'fdt' is shadowed by function parameters,
and thus violates the rule, hence it's renamed to 'fdt_efi'

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Renamed the file-scope variable instead of removing function parameters.
---
 xen/arch/arm/efi/efi-boot.h | 84 ++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 6126a71400..f24df2abb9 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -49,7 +49,7 @@ static void PrintMessage(const CHAR16 *s);
 {0xb1b621d5U, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0}}
 
 static struct file __initdata dtbfile;
-static void __initdata *fdt;
+static void __initdata *fdt_efi;
 static void __initdata *memmap;
 
 static int __init setup_chosen_node(void *fdt, int *addr_cells, int *size_cells)
@@ -383,7 +383,7 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
     if ( EFI_ERROR(status) )
         blexit(L"EFI memory map processing failed");
 
-    status = fdt_add_uefi_nodes(SystemTable, fdt, map, map_size, desc_size,
+    status = fdt_add_uefi_nodes(SystemTable, fdt_efi, map, map_size, desc_size,
                                 desc_ver);
     if ( EFI_ERROR(status) )
         PrintErrMesg(L"Updating FDT failed", status);
@@ -395,7 +395,7 @@ static void __init efi_arch_pre_exit_boot(void)
 
 static void __init noreturn efi_arch_post_exit_boot(void)
 {
-    efi_xen_start(fdt, fdt_totalsize(fdt));
+    efi_xen_start(fdt_efi, fdt_totalsize(fdt_efi));
 }
 
 static void __init efi_arch_cfg_file_early(const EFI_LOADED_IMAGE *image,
@@ -420,8 +420,8 @@ static void __init efi_arch_cfg_file_early(const EFI_LOADED_IMAGE *image,
             efi_bs->FreePool(name.w);
         }
     }
-    fdt = fdt_increase_size(&dtbfile, cfg.size + EFI_PAGE_SIZE);
-    if ( !fdt )
+    fdt_efi = fdt_increase_size(&dtbfile, cfg.size + EFI_PAGE_SIZE);
+    if ( !fdt_efi )
         blexit(L"Unable to create new FDT");
 }
 
@@ -465,7 +465,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
     int chosen;
 
     /* locate chosen node, which is where we add Xen module info. */
-    chosen = fdt_subnode_offset(fdt, 0, "chosen");
+    chosen = fdt_subnode_offset(fdt_efi, 0, "chosen");
     if ( chosen < 0 )
         blexit(L"Unable to find chosen node");
 
@@ -498,7 +498,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
     else
     {
         /* Get xen,xen-bootargs in /chosen if it is specified */
-        const char *dt_bootargs_prop = fdt_getprop(fdt, chosen,
+        const char *dt_bootargs_prop = fdt_getprop(fdt_efi, chosen,
                                                    "xen,xen-bootargs", NULL);
         if ( dt_bootargs_prop )
         {
@@ -526,7 +526,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
             blexit(L"FDT string overflow");
     }
 
-    if ( fdt_setprop_string(fdt, chosen, "xen,xen-bootargs", buf) < 0 )
+    if ( fdt_setprop_string(fdt_efi, chosen, "xen,xen-bootargs", buf) < 0 )
         blexit(L"Unable to set xen,xen-bootargs property.");
 
     efi_bs->FreePool(buf);
@@ -542,7 +542,7 @@ static void __init efi_arch_handle_module(const struct file *file,
 
     if ( file == &dtbfile )
         return;
-    chosen = setup_chosen_node(fdt, &addr_len, &size_len);
+    chosen = setup_chosen_node(fdt_efi, &addr_len, &size_len);
     if ( chosen < 0 )
         blexit(L"Unable to setup chosen node");
 
@@ -551,13 +551,13 @@ static void __init efi_arch_handle_module(const struct file *file,
         static const char __initconst ramdisk_compat[] = "multiboot,ramdisk\0"
                                                          "multiboot,module";
 
-        node = fdt_add_subnode(fdt, chosen, "ramdisk");
+        node = fdt_add_subnode(fdt_efi, chosen, "ramdisk");
         if ( node < 0 )
             blexit(L"Unable to add ramdisk FDT node.");
-        if ( fdt_setprop(fdt, node, "compatible", ramdisk_compat,
+        if ( fdt_setprop(fdt_efi, node, "compatible", ramdisk_compat,
                          sizeof(ramdisk_compat)) < 0 )
             blexit(L"Unable to set compatible property.");
-        if ( fdt_set_reg(fdt, node, addr_len, size_len, ramdisk.addr,
+        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, ramdisk.addr,
                     ramdisk.size) < 0 )
             blexit(L"Unable to set reg property.");
     }
@@ -566,13 +566,13 @@ static void __init efi_arch_handle_module(const struct file *file,
         static const char __initconst xsm_compat[] = "xen,xsm-policy\0"
                                                      "multiboot,module";
 
-        node = fdt_add_subnode(fdt, chosen, "xsm");
+        node = fdt_add_subnode(fdt_efi, chosen, "xsm");
         if ( node < 0 )
             blexit(L"Unable to add xsm FDT node.");
-        if ( fdt_setprop(fdt, node, "compatible", xsm_compat,
+        if ( fdt_setprop(fdt_efi, node, "compatible", xsm_compat,
                          sizeof(xsm_compat)) < 0 )
             blexit(L"Unable to set compatible property.");
-        if ( fdt_set_reg(fdt, node, addr_len, size_len, xsm.addr,
+        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, xsm.addr,
                     xsm.size) < 0 )
             blexit(L"Unable to set reg property.");
     }
@@ -581,15 +581,15 @@ static void __init efi_arch_handle_module(const struct file *file,
         static const char __initconst kernel_compat[] = "multiboot,kernel\0"
                                                         "multiboot,module";
 
-        node = fdt_add_subnode(fdt, chosen, "kernel");
+        node = fdt_add_subnode(fdt_efi, chosen, "kernel");
         if ( node < 0 )
             blexit(L"Unable to add dom0 FDT node.");
-        if ( fdt_setprop(fdt, node, "compatible", kernel_compat,
+        if ( fdt_setprop(fdt_efi, node, "compatible", kernel_compat,
                          sizeof(kernel_compat)) < 0 )
             blexit(L"Unable to set compatible property.");
-        if ( options && fdt_setprop_string(fdt, node, "bootargs", options) < 0 )
+        if ( options && fdt_setprop_string(fdt_efi, node, "bootargs", options) < 0 )
             blexit(L"Unable to set bootargs property.");
-        if ( fdt_set_reg(fdt, node, addr_len, size_len, kernel.addr,
+        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, kernel.addr,
                          kernel.size) < 0 )
             blexit(L"Unable to set reg property.");
     }
@@ -719,7 +719,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     module_info *file;
 
     /* Check if the node is a multiboot,module otherwise return */
-    module_compat = fdt_node_check_compatible(fdt, module_node_offset,
+    module_compat = fdt_node_check_compatible(fdt_efi, module_node_offset,
                                               "multiboot,module");
     if ( module_compat < 0 )
         /* Error while checking the compatible string */
@@ -730,7 +730,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
         return 0;
 
     /* Read xen,uefi-binary property to get the file name. */
-    uefi_name_prop = fdt_getprop(fdt, module_node_offset, "xen,uefi-binary",
+    uefi_name_prop = fdt_getprop(fdt_efi, module_node_offset, "xen,uefi-binary",
                                  &uefi_name_len);
 
     if ( !uefi_name_prop )
@@ -751,13 +751,13 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     snprintf(mod_string, sizeof(mod_string), "module@%"PRIx64, file->addr);
 
     /* Rename the module to be module@{address} */
-    if ( fdt_set_name(fdt, module_node_offset, mod_string) < 0 )
+    if ( fdt_set_name(fdt_efi, module_node_offset, mod_string) < 0 )
     {
         PrintMessage(L"Unable to modify module node name.");
         return ERROR_RENAME_MODULE_NAME;
     }
 
-    if ( fdt_set_reg(fdt, module_node_offset, reg_addr_cells, reg_size_cells,
+    if ( fdt_set_reg(fdt_efi, module_node_offset, reg_addr_cells, reg_size_cells,
                      file->addr, file->size) < 0 )
     {
         PrintMessage(L"Unable to set module reg property.");
@@ -766,7 +766,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
 
     if ( !is_domu_module )
     {
-        if ( (fdt_node_check_compatible(fdt, module_node_offset,
+        if ( (fdt_node_check_compatible(fdt_efi, module_node_offset,
                                     "multiboot,kernel") == 0) )
         {
             /*
@@ -784,14 +784,14 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
             kernel.size = file->size;
         }
         else if ( ramdisk.addr &&
-                  (fdt_node_check_compatible(fdt, module_node_offset,
+                  (fdt_node_check_compatible(fdt_efi, module_node_offset,
                                              "multiboot,ramdisk") == 0) )
         {
             PrintMessage(L"Dom0 ramdisk already found in cfg file.");
             return ERROR_DOM0_RAMDISK_FOUND;
         }
         else if ( xsm.addr &&
-                  (fdt_node_check_compatible(fdt, module_node_offset,
+                  (fdt_node_check_compatible(fdt_efi, module_node_offset,
                                              "xen,xsm-policy") == 0) )
         {
             PrintMessage(L"XSM policy already found in cfg file.");
@@ -816,7 +816,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
     unsigned int mb_modules_found = 0;
 
     /* Get #address-cells and #size-cells from domain node */
-    prop = fdt_get_property(fdt, domain_node, "#address-cells", &len);
+    prop = fdt_get_property(fdt_efi, domain_node, "#address-cells", &len);
     if ( !prop )
     {
         PrintMessage(L"#address-cells not found in domain node.");
@@ -825,7 +825,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     addr_cells = fdt32_to_cpu(*((uint32_t *)prop->data));
 
-    prop = fdt_get_property(fdt, domain_node, "#size-cells", &len);
+    prop = fdt_get_property(fdt_efi, domain_node, "#size-cells", &len);
     if ( !prop )
     {
         PrintMessage(L"#size-cells not found in domain node.");
@@ -835,9 +835,9 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
     size_cells = fdt32_to_cpu(*((uint32_t *)prop->data));
 
     /* Check for nodes compatible with multiboot,module inside this node */
-    for ( module_node = fdt_first_subnode(fdt, domain_node);
+    for ( module_node = fdt_first_subnode(fdt_efi, domain_node);
           module_node > 0;
-          module_node = fdt_next_subnode(fdt, module_node) )
+          module_node = fdt_next_subnode(fdt_efi, module_node) )
     {
         int ret = handle_module_node(loaded_image, dir_handle, module_node,
                                      addr_cells, size_cells, true);
@@ -862,7 +862,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     EFI_FILE_HANDLE dir_handle = NULL;
 
     /* Check for the chosen node in the current DTB */
-    chosen = setup_chosen_node(fdt, &addr_len, &size_len);
+    chosen = setup_chosen_node(fdt_efi, &addr_len, &size_len);
     if ( chosen < 0 )
     {
         PrintMessage(L"Unable to setup chosen node");
@@ -870,13 +870,13 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     }
 
     /* Check for nodes compatible with xen,domain under the chosen node */
-    for ( node = fdt_first_subnode(fdt, chosen);
+    for ( node = fdt_first_subnode(fdt_efi, chosen);
           node > 0;
-          node = fdt_next_subnode(fdt, node) )
+          node = fdt_next_subnode(fdt_efi, node) )
     {
         int ret;
 
-        if ( !fdt_node_check_compatible(fdt, node, "xen,domain") )
+        if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
             ret = handle_dom0less_domain_node(loaded_image, &dir_handle, node);
@@ -951,29 +951,29 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
      * node to decide whether to skip the UEFI Xen configuration file or not.
      */
 
-    fdt = lookup_fdt_config_table(SystemTable);
-    dtbfile.ptr = fdt;
+    fdt_efi = lookup_fdt_config_table(SystemTable);
+    dtbfile.ptr = fdt_efi;
     dtbfile.need_to_free = false; /* Config table memory can't be freed. */
 
-    if ( fdt &&
-         (fdt_node_offset_by_compatible(fdt, 0, "multiboot,module") > 0) )
+    if ( fdt_efi &&
+         (fdt_node_offset_by_compatible(fdt_efi, 0, "multiboot,module") > 0) )
     {
         /* Locate chosen node */
-        int node = fdt_subnode_offset(fdt, 0, "chosen");
+        int node = fdt_subnode_offset(fdt_efi, 0, "chosen");
         const void *cfg_load_prop;
         int cfg_load_len;
 
         if ( node > 0 )
         {
             /* Check if xen,uefi-cfg-load property exists */
-            cfg_load_prop = fdt_getprop(fdt, node, "xen,uefi-cfg-load",
+            cfg_load_prop = fdt_getprop(fdt_efi, node, "xen,uefi-cfg-load",
                                         &cfg_load_len);
             if ( !cfg_load_prop )
                 load_cfg_file = false;
         }
     }
 
-    if ( !fdt || load_cfg_file )
+    if ( !fdt_efi || load_cfg_file )
     {
         /*
          * We either have no FDT, or one without modules, so we must have a
@@ -983,7 +983,7 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
     }
     PrintStr(L"Using modules provided by bootloader in FDT\r\n");
     /* We have modules already defined in fdt, just add space. */
-    fdt = fdt_increase_size(&dtbfile, EFI_PAGE_SIZE);
+    fdt_efi = fdt_increase_size(&dtbfile, EFI_PAGE_SIZE);
 
     return false;
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 12:54:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 12:54:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574158.899362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQotn-0005VT-00; Tue, 01 Aug 2023 12:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574158.899362; Tue, 01 Aug 2023 12:54:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQotm-0005VM-S9; Tue, 01 Aug 2023 12:54:50 +0000
Received: by outflank-mailman (input) for mailman id 574158;
 Tue, 01 Aug 2023 12:54: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=kVoi=DS=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qQotl-0005VG-SR
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 12:54:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 981b27ce-306a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 14:54:47 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BBEB01FD7C;
 Tue,  1 Aug 2023 12:54:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 600F1139BD;
 Tue,  1 Aug 2023 12:54:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sr9XFpYAyWQSNAAAMHmgww
 (envelope-from <tiwai@suse.de>); Tue, 01 Aug 2023 12:54:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 981b27ce-306a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1690894486; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1+eWlQeeVC2euHUSOeWbcjmCz76Xb9mTKJnw2WhwjLg=;
	b=t7s75b7DrHPYfkCXw7FDYSyFbZ+eFfBMn15m7OYOVuSyyLrlrCbVEtuSsgMFKIyIvv5Ho5
	CXs2jrmvNmzRG22y9IPvSJeuTYeoARHIdanewOkoZNAj1zOai/qIhM0+qzi/l1cfU0dgBj
	nlIvHEHnHQqn+SrpvAfOym8rWB7ZtPY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1690894486;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1+eWlQeeVC2euHUSOeWbcjmCz76Xb9mTKJnw2WhwjLg=;
	b=L/+EhMg6JTslMiA7SDZmOv5ox9H011tP9374Q3zbVOlIKn4lUfyKLSfdapnaVSEAMmM1w9
	gR5xSz+JTBsoWoDg==
Date: Tue, 01 Aug 2023 14:54:45 +0200
Message-ID: <87leeugbxm.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
In-Reply-To: <a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
References: <20230731154718.31048-1-tiwai@suse.de>
	<b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
	<87h6pjj2ui.wl-tiwai@suse.de>
	<a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII

On Mon, 31 Jul 2023 21:40:20 +0200,
Mark Brown wrote:
> 
> On Mon, Jul 31, 2023 at 09:30:29PM +0200, Takashi Iwai wrote:
> > Mark Brown wrote:
> 
> > > It really feels like we ought to rename, or add an alias for, the type
> > > if we're going to start using it more widely - it's not helping to make
> > > the code clearer.
> 
> > That was my very first impression, too, but I changed my mind after
> > seeing the already used code.  An alias might work, either typedef or
> > define genptr_t or such as sockptr_t.  But we'll need to copy the
> > bunch of helper functions, too...
> 
> I would predict that if the type becomes more widely used that'll happen
> eventually and the longer it's left the more work it'll be.

That's true.  The question is how more widely it'll be used, then.

Is something like below what you had in mind, too?


Takashi

-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] Introduce uniptr_t as replacement of sockptr_t

Although sockptr_t is used already in several places as a "universal"
pointer, it's still too confusing as if were related with network
stuff.

Make a more generic type, uniptr_t, that does exactly as same as
sockptr_t for a wider use.  sockptr_t becomes now alias to uniptr_t.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 include/linux/sockptr.h | 124 +++++-----------------------------------
 include/linux/uniptr.h  | 117 +++++++++++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+), 109 deletions(-)
 create mode 100644 include/linux/uniptr.h

diff --git a/include/linux/sockptr.h b/include/linux/sockptr.h
index bae5e2369b4f..dc803989a4d6 100644
--- a/include/linux/sockptr.h
+++ b/include/linux/sockptr.h
@@ -1,118 +1,24 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2020 Christoph Hellwig.
- *
- * Support for "universal" pointers that can point to either kernel or userspace
- * memory.
+ * Aliases for the old sockptr_t and its helpers for the new uniptr_t
  */
 #ifndef _LINUX_SOCKPTR_H
 #define _LINUX_SOCKPTR_H
 
-#include <linux/slab.h>
-#include <linux/uaccess.h>
+#include <linux/uniptr.h>
 
-typedef struct {
-	union {
-		void		*kernel;
-		void __user	*user;
-	};
-	bool		is_kernel : 1;
-} sockptr_t;
-
-static inline bool sockptr_is_kernel(sockptr_t sockptr)
-{
-	return sockptr.is_kernel;
-}
-
-static inline sockptr_t KERNEL_SOCKPTR(void *p)
-{
-	return (sockptr_t) { .kernel = p, .is_kernel = true };
-}
-
-static inline sockptr_t USER_SOCKPTR(void __user *p)
-{
-	return (sockptr_t) { .user = p };
-}
-
-static inline bool sockptr_is_null(sockptr_t sockptr)
-{
-	if (sockptr_is_kernel(sockptr))
-		return !sockptr.kernel;
-	return !sockptr.user;
-}
-
-static inline int copy_from_sockptr_offset(void *dst, sockptr_t src,
-		size_t offset, size_t size)
-{
-	if (!sockptr_is_kernel(src))
-		return copy_from_user(dst, src.user + offset, size);
-	memcpy(dst, src.kernel + offset, size);
-	return 0;
-}
-
-static inline int copy_from_sockptr(void *dst, sockptr_t src, size_t size)
-{
-	return copy_from_sockptr_offset(dst, src, 0, size);
-}
-
-static inline int copy_to_sockptr_offset(sockptr_t dst, size_t offset,
-		const void *src, size_t size)
-{
-	if (!sockptr_is_kernel(dst))
-		return copy_to_user(dst.user + offset, src, size);
-	memcpy(dst.kernel + offset, src, size);
-	return 0;
-}
-
-static inline int copy_to_sockptr(sockptr_t dst, const void *src, size_t size)
-{
-	return copy_to_sockptr_offset(dst, 0, src, size);
-}
-
-static inline void *memdup_sockptr(sockptr_t src, size_t len)
-{
-	void *p = kmalloc_track_caller(len, GFP_USER | __GFP_NOWARN);
-
-	if (!p)
-		return ERR_PTR(-ENOMEM);
-	if (copy_from_sockptr(p, src, len)) {
-		kfree(p);
-		return ERR_PTR(-EFAULT);
-	}
-	return p;
-}
-
-static inline void *memdup_sockptr_nul(sockptr_t src, size_t len)
-{
-	char *p = kmalloc_track_caller(len + 1, GFP_KERNEL);
-
-	if (!p)
-		return ERR_PTR(-ENOMEM);
-	if (copy_from_sockptr(p, src, len)) {
-		kfree(p);
-		return ERR_PTR(-EFAULT);
-	}
-	p[len] = '\0';
-	return p;
-}
-
-static inline long strncpy_from_sockptr(char *dst, sockptr_t src, size_t count)
-{
-	if (sockptr_is_kernel(src)) {
-		size_t len = min(strnlen(src.kernel, count - 1) + 1, count);
-
-		memcpy(dst, src.kernel, len);
-		return len;
-	}
-	return strncpy_from_user(dst, src.user, count);
-}
-
-static inline int check_zeroed_sockptr(sockptr_t src, size_t offset,
-				       size_t size)
-{
-	if (!sockptr_is_kernel(src))
-		return check_zeroed_user(src.user + offset, size);
-	return memchr_inv(src.kernel + offset, 0, size) == NULL;
-}
+#define sockptr_t		uniptr_t
+#define sockptr_is_kernel	uniptr_is_kernel
+#define KERNEL_SOCKPTR		KERNEL_UNIPTR
+#define USER_SOCKPTR		USER_UNIPTR
+#define sockptr_is_null		uniptr_is_null
+#define copy_from_sockptr_offset copy_from_uniptr_offset
+#define copy_from_sockptr	copy_from_uniptr
+#define copy_to_sockptr_offset	copy_to_uniptr_offset
+#define copy_to_sockptr		copy_to_uniptr
+#define memdup_sockptr		memdup_uniptr
+#define memdup_sockptr_nul	memdup_uniptr_nul
+#define strncpy_from_sockptr	strncpy_from_uniptr
+#define check_zeroed_sockptr	check_zeroed_uniptr
 
 #endif /* _LINUX_SOCKPTR_H */
diff --git a/include/linux/uniptr.h b/include/linux/uniptr.h
new file mode 100644
index 000000000000..3ca9fc8eab4e
--- /dev/null
+++ b/include/linux/uniptr.h
@@ -0,0 +1,117 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2020 Christoph Hellwig.
+ *
+ * Support for "universal" pointers that can point to either kernel or userspace
+ * memory.
+ */
+#ifndef _LINUX_UNIPTR_H
+#define _LINUX_UNIPTR_H
+
+#include <linux/slab.h>
+#include <linux/uaccess.h>
+
+typedef struct {
+	union {
+		void		*kernel;
+		void __user	*user;
+	};
+	bool		is_kernel : 1;
+} uniptr_t;
+
+static inline bool uniptr_is_kernel(uniptr_t uniptr)
+{
+	return uniptr.is_kernel;
+}
+
+static inline uniptr_t KERNEL_UNIPTR(void *p)
+{
+	return (uniptr_t) { .kernel = p, .is_kernel = true };
+}
+
+static inline uniptr_t USER_UNIPTR(void __user *p)
+{
+	return (uniptr_t) { .user = p };
+}
+
+static inline bool uniptr_is_null(uniptr_t uniptr)
+{
+	if (uniptr_is_kernel(uniptr))
+		return !uniptr.kernel;
+	return !uniptr.user;
+}
+
+static inline int copy_from_uniptr_offset(void *dst, uniptr_t src,
+					  size_t offset, size_t size)
+{
+	if (!uniptr_is_kernel(src))
+		return copy_from_user(dst, src.user + offset, size);
+	memcpy(dst, src.kernel + offset, size);
+	return 0;
+}
+
+static inline int copy_from_uniptr(void *dst, uniptr_t src, size_t size)
+{
+	return copy_from_uniptr_offset(dst, src, 0, size);
+}
+
+static inline int copy_to_uniptr_offset(uniptr_t dst, size_t offset,
+					const void *src, size_t size)
+{
+	if (!uniptr_is_kernel(dst))
+		return copy_to_user(dst.user + offset, src, size);
+	memcpy(dst.kernel + offset, src, size);
+	return 0;
+}
+
+static inline int copy_to_uniptr(uniptr_t dst, const void *src, size_t size)
+{
+	return copy_to_uniptr_offset(dst, 0, src, size);
+}
+
+static inline void *memdup_uniptr(uniptr_t src, size_t len)
+{
+	void *p = kmalloc_track_caller(len, GFP_USER | __GFP_NOWARN);
+
+	if (!p)
+		return ERR_PTR(-ENOMEM);
+	if (copy_from_uniptr(p, src, len)) {
+		kfree(p);
+		return ERR_PTR(-EFAULT);
+	}
+	return p;
+}
+
+static inline void *memdup_uniptr_nul(uniptr_t src, size_t len)
+{
+	char *p = kmalloc_track_caller(len + 1, GFP_KERNEL);
+
+	if (!p)
+		return ERR_PTR(-ENOMEM);
+	if (copy_from_uniptr(p, src, len)) {
+		kfree(p);
+		return ERR_PTR(-EFAULT);
+	}
+	p[len] = '\0';
+	return p;
+}
+
+static inline long strncpy_from_uniptr(char *dst, uniptr_t src, size_t count)
+{
+	if (uniptr_is_kernel(src)) {
+		size_t len = min(strnlen(src.kernel, count - 1) + 1, count);
+
+		memcpy(dst, src.kernel, len);
+		return len;
+	}
+	return strncpy_from_user(dst, src.user, count);
+}
+
+static inline int check_zeroed_uniptr(uniptr_t src, size_t offset, size_t size)
+{
+	if (!uniptr_is_kernel(src))
+		return check_zeroed_user(src.user + offset, size);
+	return memchr_inv(src.kernel + offset, 0, size) == NULL;
+}
+
+#endif /* _LINUX_UNIPTR_H */
-- 
2.35.3




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:03:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:03:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574165.899371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQp2S-00073A-Pv; Tue, 01 Aug 2023 13:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574165.899371; Tue, 01 Aug 2023 13: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 1qQp2S-000733-Mf; Tue, 01 Aug 2023 13:03:48 +0000
Received: by outflank-mailman (input) for mailman id 574165;
 Tue, 01 Aug 2023 13:03: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=1cbQ=DS=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1qQp2Q-00072s-4f
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:03:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7f623b5-306b-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:03:44 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qQp1P-008w3d-Jr; Tue, 01 Aug 2023 13:02:43 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id AE68A300134;
 Tue,  1 Aug 2023 15:02:40 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 96CCC20A9524A; Tue,  1 Aug 2023 15:02: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: d7f623b5-306b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=GWiMsfat+BRyslkDKxTk4DrpasSmhXX1x9NIMnqNp+U=; b=pVVMMv9mJ3P7n2Pg071xoYksdK
	xBLJ8ZTlpFbic/85m30ybcx9Idc+Jq8yP8Rrr5fiUSzzOlYK+JWYhZkQQn/67jGoQyJfVqoJEIeim
	tTExlHg9EFtChpQPkIoIfdO6XudfnwrXEdT/45vavnCOS9WmZuQk385z1RAFWS9q72iO3bWQUsykW
	hEYr/hRkJYyUFJrhG2kYooD+k+gIFteiWqD4tE6yK488HbCx6aBNrlYnxDo8sgb5vXbQfpoRtpKXi
	+fB+tQKIxRtv7Pf5nmMnFbtkbydeM7Gl6c3hNolw6Xjcz8abx2iV5jltmcuV+GRTNu8yvZx5Uu7Ei
	qUJppYZA==;
Date: Tue, 1 Aug 2023 15:02:40 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>, Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>, Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>, Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: Re: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Message-ID: <20230801130240.GA80967@hirez.programming.kicks-ass.net>
References: <20230801083318.8363-1-xin3.li@intel.com>
 <20230801105236.GB79828@hirez.programming.kicks-ass.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230801105236.GB79828@hirez.programming.kicks-ass.net>

On Tue, Aug 01, 2023 at 12:52:36PM +0200, Peter Zijlstra wrote:

> I also believe there is a kernel.org service for sending patch series,
> but i'm not sure I remember the details.

https://b4.docs.kernel.org/en/latest/contributor/send.html



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:06:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:06:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574169.899381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQp5I-0007h4-Bx; Tue, 01 Aug 2023 13:06:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574169.899381; Tue, 01 Aug 2023 13:06:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQp5I-0007gx-9E; Tue, 01 Aug 2023 13:06:44 +0000
Received: by outflank-mailman (input) for mailman id 574169;
 Tue, 01 Aug 2023 13:06: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQp5H-0007gp-FI
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:06:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41ae7702-306c-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:06:41 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 3575B4EE0737;
 Tue,  1 Aug 2023 15:06: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: 41ae7702-306c-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH] x86/cpu-policy: justify a violation of MISRA C:2012 Rule 1.3
Date: Tue,  1 Aug 2023 15:06:17 +0200
Message-Id: <9ec42e01258968d2dc71d59c5ad41da448a7112e.1690895099.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
struct declaration to have no named members, hence violating
Rule 1.3:
"There shall be no occurrence of undefined or critical unspecified behaviour"
because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
"If the struct-declaration-list contains no named
members, the behavior is undefined."

It has been assessed that the feature set declaration is intentionally empty,
and that no risk of undesired behaviour stems from it, hence the struct
declaration is marked safe.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
As agreed during the MISRA C group meetings, this violation is dealt
with by means of a comment deviation, as future changes may eliminate the
root cause, which is the empty feature set.
My justification for the claim and the commit message may need some adjusting.
---
 docs/misra/safe.json                 | 9 +++++++++
 xen/include/xen/lib/x86/cpu-policy.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index e3c8a1d8eb..9239460e63 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -12,6 +12,15 @@
         },
         {
             "id": "SAF-1-safe",
+            "analyser": {
+                "eclair": "MC3R1.R1.3",
+                "text": "The following declaration of a struct with no named members results is deliberate and it has been assessed that no unintended behaviour arises from it."
+            },
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        },
+        {
+            "id": "SAF-2-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index bab3eecda6..6b52f080c9 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -203,6 +203,7 @@ struct cpu_policy
             };
             union {
                 uint32_t _7c1;
+                /* SAF-1-safe */
                 struct { DECL_BITFIELD(7c1); };
             };
             union {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:19:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:19:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574176.899392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpHC-0000qF-FR; Tue, 01 Aug 2023 13:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574176.899392; Tue, 01 Aug 2023 13: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 1qQpHC-0000q8-CZ; Tue, 01 Aug 2023 13:19:02 +0000
Received: by outflank-mailman (input) for mailman id 574176;
 Tue, 01 Aug 2023 13: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpHB-0000q2-2y
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:19:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8c2d523-306d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:18:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7422.eurprd04.prod.outlook.com (2603:10a6:800:1af::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Tue, 1 Aug
 2023 13:18:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13: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: f8c2d523-306d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KKn/AfZmnsrEoQtM6IrgY6bYG/BeNaSA2gMBkx/uYbPKfW1CKGlNGswoU3ro1b+bOD2gQXxCqGjpqJM+ovUwmETeiHqA+DCOSx7wIZigtcwObjg2Fk7spNVnlbRbDhoEL2DLyjaOjxQcd0ZedSTzgjGMJWKTo4jymEz60p+Jx4vTgTYfwzJMO5416RymnJF1A4F9LMlbEh1ec5mOdDwiFE7WRXQtt3Syyi3wOnDfF8pHabstMfc86OnrHM0+s2G2OESpgn8ubYXYR7BeXKqQ4Kok0UPixojv+Sn+LlmdGfE3rDIaJKyYkXPzgh5b2ad8qJ4F82D1uxyqJHmXHy6QMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AAxuY/+Juw7eCN2o8a+hTQFX/OTGahEDYva8rf7rjck=;
 b=eWNmFadFhVjHBatpD1NUQAjcTrXP3vCekoKu0avIGh1Dq4BW17PxS4ZHymU0PrGK6FyM23VJRaj1XFDgSdkP+BmW0/shw+wkPkQkdet5m56rvy/KvNbw2qvXYN7GV1HlDNv/rvGy5wXOs7degJBVTqH4yy4L1pO5YPCYzKenj8mXvRYNyro2GoH8KwxDNdmjdg+44BJGIfHwz3AtCEBNvp/WGOnX0srh/ondrLSPzn3aMkRpnLx4Ose2Kwm7ardyMdpm7Sm6Jy1w8SQvabYMekQ7sG9+xZTm1j4J+L5LbNpsxdtnQrjF5TvlymG4BSQQUe4L01wRYYhMUNGCNxwiOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AAxuY/+Juw7eCN2o8a+hTQFX/OTGahEDYva8rf7rjck=;
 b=MTwU78BVaAazfpkiJWmVE/gvNVyQuFL3qsgYBBbhfpD+7Mu9l6uddc8PrdHVwnjVB8uUyHZsD5/75UniYYdNQk2k8q12AFo/Ee5KnhJpTKqNddfQ7bTgCrXRT9RLFMdpQtV+kMBESQ9RZO8SEf0MK2m4qLqIYwYJAB2WAFJR0M/PmfwtdsYdlVx0b8E+mU4ch9yoccJd/0sBmDbTEAH3Rupu0tXzthGW9BNn8yMySDWTym6PtXfKb/eYkJ2hUClVJ6YUMWocSyXSyrR3B8HaIaDYa/wrWS26zb+DX8AWyjkZOt22+ciIk9c6UGhp8Ua2QxRTQMFxeFAgCgnTwzt6lQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55e1391e-a289-72bd-f663-62276cf4b065@suse.com>
Date: Tue, 1 Aug 2023 15:18:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690582001.git.sanastasio@raptorengineering.com>
 <ed166c38bbcf82ad58a14353a880d1e208cb2ff1.1690582001.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ed166c38bbcf82ad58a14353a880d1e208cb2ff1.1690582001.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7422:EE_
X-MS-Office365-Filtering-Correlation-Id: e19c6a46-9457-4c24-ebdc-08db9291db6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bwWc9wSU01TVpGCRmE/n8toqE2zwkgO+23TSCmNjOosfJN12I3gStbNv3qw2PUieEDv4S5mJai1i52osFwkEfeW82kixVTHbB9lxv1x/wA5OjSychyNzO/m0RZKxGRlC2kUGP9P+tqQlB5W4M+olmH6hDFXv3EXtVHDk+HDIgzxkwMH5rZT9uAc59Mx/7sfSMKcEC+4EfU8lqcjmpinBfQdNj7ssRPwqy8U5nnmOozt191ybOmsHCkpxPKRr+Ub+HsXDHmpKdWmqvZ4/pP7ZAf1FkPc1cQthcnbiPYoGvFK7xaW5ro6rWuzSsdRWhBKpkpeiHM76lgAUfH9+JHQi62iPDH23mva+a1QwsFnmlYv5g/Hsj9tYkQGLdT7DVtuBRsJNvKoOmeiN9ZPYNPQSSAXqUV0cSRh11OXiuJiCCVt3K9v44lpA3rruq8fFFdYcWo3JlDJQuuccwIq/w88sSx9xRQOPvzldRznX5kxdnKVYw+LYIqnCj4NWznq+3znYeLkBw0nPr2aaqqmu04ZD7hFW31j0ODgYmOeOfiO7fkbua4V7Cz8DDhf6mCeCuq7q2RGdbsIOGupikVApWIFfTT05Xqk9q7qE0qWwMxpdgalQnDPOjkcpYJyl6EOs792nYo/DfCux4Fme0x5YXq+tbKY3nIB7NsSijSd8w7R0ZSE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(366004)(376002)(136003)(451199021)(31686004)(66899021)(2616005)(5660300002)(30864003)(38100700002)(36756003)(2906002)(31696002)(316002)(26005)(83380400001)(478600001)(4326008)(8676002)(53546011)(186003)(6506007)(8936002)(41300700001)(86362001)(6486002)(6512007)(66556008)(66946007)(6916009)(66476007)(54906003)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkJtcjVNMXdKTlVSZzFRUUVEaHpQdDhacEpTbExCL2ljbGJLMFREOVJtejZB?=
 =?utf-8?B?eWo5TTNzQUhxNmRPTGxabkpWVnFnV1pVLzFrT1RKVld6TVZkM2NVWGZuNzgw?=
 =?utf-8?B?b2RlWmxmTEdTUjhNekJubkx1Sy9pR0lJMGl0UEtzc29nd1N0ZXk5WXhBNmIz?=
 =?utf-8?B?dlNxR2VYazVZZlNDUWNVelJLWXlVNjhtTHd4OUgxeUdtTm8wUHAwMnErVHpG?=
 =?utf-8?B?QjVxT2JHSmh1dzBPa3RRZjAzNjZLTlVoME5RWGUvQXFoWXFNdmZxeWZUd0Vx?=
 =?utf-8?B?d3dYamdMVk1lYWRmZUtQVzY1R3RUSWJ2VDZ4MmVxckhqOVFQYU1kSVRJQ2cr?=
 =?utf-8?B?YWVHbXVmRHZaL2RLRXd3NElyR1lPeFd3eGl3QVR5bElVWEdkZFdJbmVRMG5Q?=
 =?utf-8?B?RjFPWEJabDhWWW94YWRUSEYzNUtIRHNJcUN5M0pDSmtVakFuaHdZTjh1QlNI?=
 =?utf-8?B?WlpLVlpCVytJbG91VGd0cHMzOVI5VGg1YmVUSnBRZzlZa1IzL0tBOXNQL2Mv?=
 =?utf-8?B?Snltb0FZQTRuQ0ZOS2Y0WGV2MUxXSFFPbTF6Y2I5TUVXZk51ai9FRjkrbDNu?=
 =?utf-8?B?emtjWG1TM2EweWVoUXFNajVxdmMvZ3IxYWNhMGNIU2NLS3hocWFIZ0VSWk45?=
 =?utf-8?B?Y3pyMisyQ1N5SjVvNU5wV05KN0d4V29sTmFPRFdSejlKTC9WdUZXNzhjTVZ4?=
 =?utf-8?B?VnIrZzVYTHJTSDgzQUJWUlhwd3BKUzVKSlFjT3FMRDIyQmNhVFBNMC9aVjN0?=
 =?utf-8?B?WFgzNjFPK0ZqcURxZHpoMnlxUG1pUlRucGhYQkdTQzNFbnVJVHorR21Ed2RX?=
 =?utf-8?B?dFFqd2lPWno2aitQbldCbnhDc2tSM1U4M0luaU5jbnhMeVZaS05IZHBQL1V3?=
 =?utf-8?B?OXVNNWVNUGZzOGtISlRaTHRQeENtUVVjd0o0RUNEMTRTalI0Tk1kelFiam9B?=
 =?utf-8?B?am9aRm5UNWlBZE93R1lmckVsZkE0ZUJMUy9jQ0FCVjhrUGZtcG9kQUgvNmlL?=
 =?utf-8?B?S3lRSFVlbU1UczhPUC9yaitYR0ZnUThmcFh1UFAvNWVXNVp1ckJyb0JncUVa?=
 =?utf-8?B?bVI1REhmVjdTQmdtZGZCRVR0OC9LMWRxSEJRRHZ1Nmk2T0FpcHIxY3V1ZjR4?=
 =?utf-8?B?TjFZayt6cmkzbnRFRnNLdHJTT2xReEFPRUlycVFLSXNXV2RzNU41UGRaZnpw?=
 =?utf-8?B?ajBLakMyMmpZdVZjSytNTUhNMmtNb1NrcTcwVlBQTHFJNTZhZFVDR01BckUv?=
 =?utf-8?B?bXljdldkSVV3Nnh4c09GY21oR0MyM21nMnI5eVB5MklBa3owLy9ybHY2cGJl?=
 =?utf-8?B?UUREajVSMkN2RE9uL2M4WVlEdTBEcnNVYVNMeGxIRGdyeUxiZUY2V0lyZ0Nu?=
 =?utf-8?B?NHNUWFVlSW5abllUN2gxaWZiL2FYK241Wi9yVGxTSzlZVmJ5RVdya09WV2N6?=
 =?utf-8?B?b3lMMTBQVDgybW1weHhuVVBoNDZtYXAyUFlVSTZmSFN5Z0FPaSt6eVRXcnFH?=
 =?utf-8?B?VzMvNFNacFoweVo4NDVLbHllZDFoS1FyZi8yTWtBVjkvaGVlRGpJeVp3M0tB?=
 =?utf-8?B?d211YU9VVi9JZ2g5U2tjU2xkcTZobnFYclRINTVBSlBBV3JOb2JPY3MvRmps?=
 =?utf-8?B?K2hjQzZNcGtCZC9NQU5XcFlsb2h4UXUrdkptY2FpbndiQXJVOFpzeGdwZjR5?=
 =?utf-8?B?UUN5NDlRdFNGMzNpVW02dnl6UGJOc1R4K2xpZzVGVDBOd0tuNXBYU0p2VFA4?=
 =?utf-8?B?UzZWeEEyTUtjMU8zVWVGWGNpWUtZRFB1eERHN0JEMmpiT0JtdlF3L1prSFhh?=
 =?utf-8?B?cDNUMW1PUTNKZk9WOWhES1pUQnhkN0VEM2FIK0tnbzZ4NGhlTkQ1NmdDMFMr?=
 =?utf-8?B?YXBLdWk0VndqZ01yempadlozakx2ekVCdTFrMm5uZFF2Z00ybGw5emdtMXB3?=
 =?utf-8?B?QXhtcHBmTXZNc0JqMElHSzNBdHBiQ21CSGRQTkJVcHptQ1VoYTBRMFhBRVgv?=
 =?utf-8?B?R2wxQkNHcDl3Tld1K0NvZ3FZeG5uUmRIbzgzNEx0bTNORy9iUUhZNkdzdkVS?=
 =?utf-8?B?TUM3VDdVdUI4K3ZzRVRtS2txdUZaZHZFRTVpZlk5YWpJRklCQS93TnBQVStj?=
 =?utf-8?Q?G4nBAZjwoct/8f5q6lWx7PS4l?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e19c6a46-9457-4c24-ebdc-08db9291db6d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:18:55.3849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xMVCzAxLguQnW00MU1P9lUDLjUIOetNE6TxHTPJ407n31+SstlOtajbH5odmWllZCYfsZTTKZXeGpVzN8ctkJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7422

On 29.07.2023 00:21, Shawn Anastasio wrote:
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/bitops.h
> @@ -0,0 +1,11 @@
> +#ifndef _ASM_PPC_BITOPS_H
> +#define _ASM_PPC_BITOPS_H
> +
> +#include <xen/compiler.h>

Not a big deal, but ...

> +/* PPC bit number conversion */
> +#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
> +#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
> +#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
> +
> +#endif /* _ASM_PPC_BITOPS_H */

... nothing here looks to require that #include.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/mm.h
> @@ -0,0 +1,19 @@
> +#ifndef _ASM_PPC_MM_H
> +#define _ASM_PPC_MM_H
> +
> +#include <asm/config.h>

This is included by xen/config.h, which in turn is included from the
compiler command line.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/page.h
> @@ -0,0 +1,178 @@
> +#ifndef _ASM_PPC_PAGE_H
> +#define _ASM_PPC_PAGE_H
> +
> +#include <xen/types.h>
> +
> +#include <asm/bitops.h>
> +#include <asm/byteorder.h>
> +
> +#define PDE_VALID     PPC_BIT(0)
> +#define PDE_NLB_MASK  0xfffffffffffffUL
> +#define PDE_NLB_SHIFT 5UL
> +#define PDE_NLS_MASK  0x1f
> +
> +#define PTE_VALID     PPC_BIT(0)
> +#define PTE_LEAF      PPC_BIT(1)
> +#define PTE_REFERENCE PPC_BIT(55)
> +#define PTE_CHANGE    PPC_BIT(56)
> +
> +/* PTE Attributes */
> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
> +
> +/* PTE Encoded Access Authority*/
> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
> +#define PTE_EAA_READ       PPC_BIT(61)
> +#define PTE_EAA_WRITE      PPC_BIT(62)
> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
> +
> +/* Field shifts/masks */
> +#define PTE_RPN_MASK  0x1fffffffffffUL
> +#define PTE_RPN_SHIFT 12UL
> +#define PTE_ATT_MASK  0x3UL
> +#define PTE_ATT_SHIFT 4UL
> +#define PTE_EAA_MASK  0xfUL

Did you consider introducing just *_MASK values, utilizing MASK_INSR()
and MASK_EXTR() instead of open-coded shifting/masking?

> +#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
> +#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_CHANGE)
> +#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
> +#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
> +
> +/*
> + * Radix Tree layout for 64KB pages:
> + *
> + * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *            [ PAGE TABLE ENTRY ]
> + */
> +
> +#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512GB = 4PB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K = 2MB */
> +
> +#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_LVL_2)
> +#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_LVL_3)
> +#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_LVL_4)
> +#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
> +
> +#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
> +#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
> +#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl))
> +#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
> +#define XEN_PT_INDEX_LVL(lvl, va)    ((va >> XEN_PT_SHIFT_LVL(lvl)) & XEN_PT_MASK_LVL(lvl))
> +
> +/*
> + * Calculate the index of the provided virtual address in the provided
> + * page table struct
> + */
> +#define pt_index(pt, va) _Generic((pt), \

Earlier on I did ask about the minimum compiler version you require for
building the PPC hypervisor. Iirc you said about any, but here you're
using another feature where I'm not sure how far back it is available.
As indicated back then, it would be nice if ./README could gain
respective information.

> +    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
> +    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
> +    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
> +    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
> +
> +#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))

As to style: Here (and elsewhere) you put unnecessary parentheses
around two of the three uses of the macro arguments. If you think you
want to keep it like that, feel free; in general we're recommending to
omit ones not really needed, to help readability. Otoh a little higher
up in XEN_PT_INDEX_LVL() parentheses are missing around va.

> +typedef struct
> +{
> +    __be64 pde;
> +} pde_t;
> +
> +typedef struct
> +{
> +    __be64 pte;
> +} pte_t;
> +
> +struct lvl1_pd
> +{
> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_1];
> +};
> +
> +struct lvl2_pd
> +{
> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_2];
> +};
> +
> +struct lvl3_pd
> +{
> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_3];
> +};
> +
> +struct lvl4_pt
> +{
> +    pte_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_4];
> +};
> +
> +static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
> +{
> +    return (pte_t){ .pte = cpu_to_be64(paddr | flags | PTE_LEAF) };
> +}
> +
> +static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, unsigned long nls)
> +{
> +    return (pde_t){ .pde = cpu_to_be64(paddr | flags | nls) };
> +}

In these two, are you sure you want to demand all callers to only ever
pass in page-aligned addresses?

> +static inline paddr_t pte_to_paddr(pte_t pte)
> +{
> +    return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
> +}
> +
> +static inline paddr_t pde_to_paddr(pde_t pde)
> +{
> +    return be64_to_cpu(pde.pde) & (PDE_NLB_MASK << PDE_NLB_SHIFT);
> +}
> +
> +static inline bool pte_is_valid(pte_t pte)
> +{
> +    return pte.pte & be64_to_cpu(PTE_VALID);
> +}
> +
> +static inline bool pde_is_valid(pde_t pde)
> +{
> +    return pde.pde & be64_to_cpu(PDE_VALID);
> +}
> +
> +/*
> + * ISA 3.0 partition and process table entry format
> + */
> +struct patb_entry {
> +	__be64 patb0;
> +	__be64 patb1;
> +};
> +#define PATB0_HR PPC_BIT(0) /* host uses radix */
> +#define PATB1_GR PPC_BIT(0) /* guest uses radix; must match HR */
> +
> +struct prtb_entry {
> +	__be64 prtb0;
> +	__be64 reserved;
> +};
> +
> +/*
> + * We support 52 bits, hence:
> + * bits 52 - 31 = 21, 0b10101
> + * RTS encoding details
> + * bits 0 - 3 of rts -> bits 6 - 8 unsigned long
> + * bits 4 - 5 of rts -> bits 62 - 63 of unsigned long
> + */
> +#define RTS_FIELD ((0x2UL << 61) | (0x5UL << 5))

I'm afraid I can't bring comment and #define together. Bits 0-3 are
4 bits; bits 6-8 are only three. And I'd expect the lower ends of
the ranges to appear as shift counts in the expression.

> --- a/xen/arch/ppc/include/asm/processor.h
> +++ b/xen/arch/ppc/include/asm/processor.h
> @@ -133,6 +133,37 @@ struct cpu_user_regs
>      uint32_t entry_vector;
>  };
>  
> +static __inline__ void sync(void)
> +{
> +    asm volatile ( "sync" );
> +}
> +
> +static __inline__ void isync(void)
> +{
> +    asm volatile ( "isync" );
> +}
> +
> +static inline unsigned long mfmsr(void)
> +{
> +    unsigned long msr;
> +    asm volatile ( "mfmsr %0" : "=&r"(msr) );

Why the &?

Also nit: Missing blank between closing double quote and opening paren.
More instances of this below.

> +    return msr;
> +}
> +
> +static inline void mtmsrd(unsigned long msr)
> +{
> +    asm volatile ( "mtmsrd %0" : : "r"(msr) );
> +}
> +
> +#define mtspr(reg, val) asm volatile ( "mtspr %0,%1" : : "K"(reg), "r"(val) )
> +
> +#define mfspr(reg)                                                             \
> +    ({                                                                         \
> +        unsigned long val;                                                     \
> +        asm volatile ( "mfspr %0,%1" : "=r"(val) : "K"(reg) );                 \
> +        val;                                                                   \
> +    })

Why #define-s here when higher up you successfully use inline functions?

Also (nit) blanks would again be nice ahead of the commas.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/regs.h
> @@ -0,0 +1,138 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

You have an SPDX line first thing - why the spelled out license?

> --- /dev/null
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -0,0 +1,268 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <xen/types.h>
> +#include <xen/lib.h>

Nit: Please sort headers whenever possibly; also ...

> +#include <asm/bitops.h>
> +#include <asm/byteorder.h>
> +#include <asm/early_printk.h>
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +#include <asm/processor.h>
> +#include <asm/regs.h>
> +#include <asm/msr.h>

... this group then.

> +void enable_mmu(void);
> +
> +#define INITIAL_LVL1_PD_COUNT      1
> +#define INITIAL_LVL2_LVL3_PD_COUNT 2
> +#define INITIAL_LVL4_PT_COUNT      256
> +
> +static size_t initial_lvl1_pd_pool_used;
> +static struct lvl1_pd __aligned(sizeof(struct lvl1_pd))
> +initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
> +
> +static size_t initial_lvl2_lvl3_pd_pool_used;
> +static struct lvl2_pd __aligned(sizeof(struct lvl2_pd))
> +initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
> +
> +static size_t initial_lvl4_pt_pool_used;
> +static struct lvl4_pt __aligned(sizeof(struct lvl4_pt))
> +initial_lvl4_pt_pool[INITIAL_LVL4_PT_COUNT];

Can instances of these structures usefully exist and be not suitably
aligned? If not, having the types rather than the instances already
declare the necessary alignment would seem better to me.

> +/* 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      (1UL << PRTB_SIZE_LOG2)
> +
> +static struct patb_entry
> +    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_entry)];
> +
> +static struct prtb_entry
> +    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_entry)];

The situation is different here, as array here aren't embedded into
the type (being just single entries).

> +_Static_assert(sizeof(initial_patb) == PATB_SIZE);

Is this really useful. And if so, why no similar check for prtb?
Furthermore BUILD_BUG_ON() would be better, playing again into what
the range of suitable compilers is for this to build.

> +static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
> +                                         vaddr_t map_start,
> +                                         vaddr_t map_end,
> +                                         paddr_t phys_base)
> +{
> +    uint64_t page_addr;
> +
> +    if ( map_start & ~PAGE_MASK )
> +    {
> +        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\n");
> +        die();
> +    }
> +
> +    if ( (uint64_t) phys_base & ~PAGE_MASK )

Why the cast?

> +    {
> +        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n");
> +        die();
> +    }
> +
> +    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);

paddr_to_pde() doesn't mask off the top bits. Are you relying on
lvl2_pd_pool_alloc() using PIC addressing to get at the value it
then returns?

Also this and the similar lines below look to be a little too long.

> +        }
> +        else
> +            lvl2 = (struct lvl2_pd *) pde_to_paddr(*pde);

This casts a physical address to a pointer; normally only virtual
addresses can be used this way. Could there be a helper added to
have such a dangerous-looking construct in (ideally) just a single
place?

> +        /* Allocate LVL 3 PD if necessary */
> +        pde = pt_entry(lvl2, page_addr);
> +        if ( !pde_is_valid(*pde) )
> +        {
> +            lvl3 = lvl3_pd_pool_alloc();
> +            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID, XEN_PT_ENTRIES_LOG2_LVL_3);
> +        }
> +        else
> +            lvl3 = (struct lvl3_pd *) pde_to_paddr(*pde);
> +
> +        /* Allocate LVL 4 PT if necessary */
> +        pde = pt_entry(lvl3, page_addr);
> +        if ( !pde_is_valid(*pde) )
> +        {
> +            lvl4 = lvl4_pt_pool_alloc();
> +            *pde = paddr_to_pde(__pa(lvl4), PDE_VALID, XEN_PT_ENTRIES_LOG2_LVL_4);
> +        }
> +        else
> +            lvl4 = (struct lvl4_pt *) 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_dprint(paddr, "being mapped to ");

Blank line again please between declarations and statements.

> +            radix_dprint(page_addr, "!\n");
> +            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
> +            {
> +                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
> +                flags = PTE_XEN_RX;
> +            }
> +            else if ( is_kernel_rodata(page_addr) )
> +            {
> +                radix_dprint(page_addr, "being marked as RODATA (RO)\n");
> +                flags = PTE_XEN_RO;
> +            }
> +            else
> +            {
> +                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n");
> +                flags = PTE_XEN_RW;
> +            }
> +
> +            *pte = paddr_to_pte(paddr, flags);
> +            radix_dprint(paddr_to_pte(paddr, flags).pte,
> +                             "is result of PTE map!\n");
> +        }
> +        else
> +        {
> +            early_printk("BUG: Tried to create PTE for already-mapped page!");
> +            die();
> +        }
> +    }
> +}
> +
> +static void setup_partition_table(struct patb_entry *patb, struct lvl1_pd *root)

__init?

> +{
> +    unsigned long ptcr;
> +
> +    /* Configure entry for LPID 0 to enable Radix and point to root PD */
> +    uint64_t patb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1 | PATB0_HR;
> +    uint64_t patb1 = __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB1_GR;
> +    patb[0].patb0 = cpu_to_be64(patb0);
> +    patb[0].patb1 = cpu_to_be64(patb1);
> +
> +    ptcr = __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
> +    mtspr(SPRN_PTCR, ptcr);
> +}
> +
> +static void setup_process_table(struct prtb_entry *prtb, struct lvl1_pd *root)

__init?

> +{
> +    /* Configure entry for PID 0 to point to root PD */
> +    uint64_t prtb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1;
> +    initial_prtb[0].prtb0 = cpu_to_be64(prtb0);
> +}
> +
> +void __init setup_initial_pagetables(void)
> +{
> +    struct lvl1_pd *root = lvl1_pd_pool_alloc();
> +    unsigned long lpcr;
> +
> +    setup_initial_mapping(root,
> +                         (vaddr_t) _start,
> +                         (vaddr_t) _end,
> +                          __pa(_start));

    setup_initial_mapping(root,
                          (vaddr_t)_start,
                          (vaddr_t)_end,
                          __pa(_start));

(if flowing across multiple lines is needed / wanted)

> --- a/xen/arch/ppc/opal.c
> +++ b/xen/arch/ppc/opal.c
> @@ -1,8 +1,10 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include "xen/compiler.h"

Surely <xen/compiler.h>, but then neither this nor ...

>  #include <asm/boot.h>
>  #include <asm/early_printk.h>
>  #include <asm/opal-api.h>
>  #include <asm/processor.h>
> +#include <asm/mm.h>

... this addition look motivated when nothing else changes in this file.

Also (I overlooked this in the earlier patch) all xen/ headers generally
want to come ahead of all asm/ ones.

> --- a/xen/arch/ppc/setup.c
> +++ b/xen/arch/ppc/setup.c
> @@ -7,6 +7,8 @@
>  /* Xen stack for bringing up the first CPU. */
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
>  
> +void __init setup_initial_pagetables(void);

This needs to live in a header which is included both here and in the
file defining the function.

> +static void tlbiel_radix_set_isa300(unsigned int set, unsigned int is,
> +                                    unsigned int pid, unsigned int ric,
> +                                    unsigned int prs)
> +{
> +    unsigned long rb;
> +    unsigned long rs;
> +
> +    rb = (set << PPC_BITLSHIFT(51)) | (is << PPC_BITLSHIFT(53));
> +    rs = ((unsigned long) pid << PPC_BITLSHIFT(31));
> +
> +    asm volatile ( "tlbiel %0, %1, %2, %3, 1" :
> +                  : "r"(rb), "r"(rs), "i"(ric), "i"(prs) : "memory" );

Nit: One too few indenting blanks (besides others that are missing).
Perhaps also better to pull the standalone : onto this second line.
Overall perhaps (also for line length)

    asm volatile ( "tlbiel %0, %1, %2, %3, 1"
                   :: "r" (rb), "r" (rs), "i" (ric), "i" (prs)
                   : "memory" );

> +void radix__tlbiel_all(unsigned int action)

Is the double underscore in here intentional?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:22:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574180.899401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpKF-0002JM-20; Tue, 01 Aug 2023 13:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574180.899401; Tue, 01 Aug 2023 13: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 1qQpKE-0002JF-Vd; Tue, 01 Aug 2023 13:22:10 +0000
Received: by outflank-mailman (input) for mailman id 574180;
 Tue, 01 Aug 2023 13:22: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 1qQpKE-0002J5-1w; Tue, 01 Aug 2023 13:22: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 1qQpKD-0005Ef-TK; Tue, 01 Aug 2023 13:22: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 1qQpKD-0002iQ-J4; Tue, 01 Aug 2023 13:22:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qQpKD-0005oD-IT; Tue, 01 Aug 2023 13:22:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vpRbuGLJNWVu5SETRBsQabgNMDh2C5guTgrlR3sClzM=; b=EpjqaVO5uaYFqivjQQW6fLk9Cj
	hrBuB+yDJjTxVRnym4LSXhTxn3fGmNRgF3X4Eb9ShFrIro/X823pHiP2sEs/Um3qqIke+aD2Zg3Ar
	83tmYcPEIUZnNXNpBK0XxdlZJG+qcVEGRB2hz2G8f/dEvfJeCu/tLa4WiL7Iyxj4rRSc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182087-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182087: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start.2:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 01 Aug 2023 13:22:09 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail in 182083 pass in 182087
 test-amd64-amd64-xl-credit2  14 guest-start                fail pass in 182083
 test-amd64-amd64-xl-qemuu-ovmf-amd64 21 guest-start.2      fail pass in 182083

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

version targeted for testing:
 linux                5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  106 days
Failing since        180281  2023-04-17 06:24:36 Z  106 days  196 attempts
Testing same since   182083  2023-07-31 00:41:50 Z    1 days    2 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:33:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574190.899412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpVH-0003qA-2t; Tue, 01 Aug 2023 13:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574190.899412; Tue, 01 Aug 2023 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 1qQpVG-0003q3-WB; Tue, 01 Aug 2023 13:33:35 +0000
Received: by outflank-mailman (input) for mailman id 574190;
 Tue, 01 Aug 2023 13:33:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpVF-0003pt-EZ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:33:33 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00f46d3b-3070-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 15:33:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Tue, 1 Aug
 2023 13:33:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13: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>
X-Inumbo-ID: 00f46d3b-3070-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UM/lJX48GUWKCW8Y2aWAcRG3fkp4/taLadsBo9C1g6QVOJDY18MzEdu6Mkr9s2NO72/P5M8lpFOaJjs0lMA5GRax8AOzcp7b7m+RIl2IiPmpFtB0pgJRHJ178veJJlzv0qAJ3XRmxG3oJOqiVnK09XJwmlH8c3hyVkkp7sCVyST1Su53tXrZ/I3yUxWvAvUzfde0XiN8Tj0irxxuBfA4N1uGIGxNBqwpMQzEXgmUo9FEYvrDEcDwnmeIKVAMa5LmcniF82ceeXPerGgY4Gi+plLqL2NCAROj4Qubln6PG6lNbXv++SfH1OWzVxOJwuDxMZVc2cgXh4W6eA7J+HXOgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X6jcdQMXOD+ZH52n5pvz4Gz3DBFJrho+rSxakIkbNSo=;
 b=U15iLV6otr9Jd3kvqjuRK/p+KPxWVqxLyvfF3VL9GF0eKvvnSCL2HnMuaenm8ijAwZLLibSd+k7ivqY79eRJMHGOJBh89Xppaz1nra9Jeu5H7xJhdkSYf9KUM6Xke5NpAVlx1EyZW29BcGEvDNlKS2M9W8NVrQN8R8M3jlJWXAozDQMv/FKGCCXRVY0RJ/uErbbIEK1q/3nhLTpmpbQTS2B75Wlv9rq37YvP+wFTibexHacJQQJA2dR9FHWek13tp/eD4n0KgPi37bd9edpf5MWteHKKOP6JHvFwO4T92QszjKWCFqi/gcuffZzxDduhDszc5CNyhDJkISzJeNmg8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X6jcdQMXOD+ZH52n5pvz4Gz3DBFJrho+rSxakIkbNSo=;
 b=5uFnTsYxRiUA+DGUUXlRzMRXf16mGm/9SScn7jj4ZrUOMFbrDmXyd+TAZelO50jU6o5cCSDD1+U/E/iWbIKtH/WzrHmXqu6voXmkxkm+8xR6TD4j/SjgNGW253NOccfMXbVVL0T1MchcDOuwtVMm/lX9S7ch4zljeoElaOKNUWW8Tn1vp3FNvNupGjR1xrysD3Q514ptXjBFZFBbxB5wEDKJXHtoPQREuSE6N3aP6JAWpGGuLs2hONY5NnoCyFsWZ4uCdZmmJN0UMo4DWvCAY2IfwTPB1+G9jOJD2Yj+qFxMGzoGCwagK4W6aL9LUyQGxwASuUogR3NsLTGCTseUxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3c29439b-cfb8-68d0-8677-91ba897f5e7e@suse.com>
Date: Tue, 1 Aug 2023 15:33:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH v2 1/3] xen/common: address MISRA C:2012 Rule 5.3
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
 <a2ec33d23fbc956d6b84e3736ff7f09549ab85b6.1690893696.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a2ec33d23fbc956d6b84e3736ff7f09549ab85b6.1690893696.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: f297f3f5-759f-4f67-05fc-08db9293e33f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	en6Q2rEHdFgbD1APINTKPQIcIJkhftBoWWKtYyEOG9VERcVNtOzJec9llZrlx9Jg9wWQNcKbUFuc1Qlm/gpjIslMX230vT7t3+MU1PvNxZtUlco+14hfvw9vBYTUBPdc6x71ws58f0U5hRnWP4M5FuvjmeQmGDnpkbA+CTHQcyy70TQx6tJjM/B+23VYkDCNcA0IzGCpEPuqoShke80dpPiUBYIwxBdXBv25YGHlEkLBfPvaK3g/nY8bJ18OQdQLgOj4ERbmM+Iu0HjLX9yZf6rUBtM66g5RUYKuaBgrkR6t7w/6Jq5lzfyml4x5npoIvb7BXrFJgvvyjjucnl+MVG5Ow3valsA4kHeCVEc+CZzPpYJaE7NRT7RDrLfPbHyNVh9BoV8hNEsolwgtmBj2cLa1v9YMWuD/MkJt0TbXzRKo1PecC5psotzo87GazCRHbm8O/ACj+yScVatj8buY8A3+hHQCwD3pZioZZHFVsLwzoxdrNykd10+KITawj5sOMKHX3RbiAm3A1bZ5j+jigNJLvxHaZTo27szDHgJXaUd2d9k2SEpkraLK2z9YLAkD6JF+yUUbZ4jT24KIjRYzDQA2M6zDn8yomM7a9OKLs3ttZ4L5LesiNDsBcfOzCBFj3ClDRASq/YpAFZ6l5NNpFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(6512007)(6486002)(36756003)(53546011)(2616005)(186003)(6506007)(26005)(83380400001)(66946007)(66556008)(7416002)(54906003)(4326008)(38100700002)(86362001)(66476007)(31696002)(41300700001)(316002)(6916009)(8936002)(8676002)(5660300002)(31686004)(2906002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N01OSzBjVjZuU3lHcFg3OFZDbTJhejBZNXlRN252aXBIeC9KRFBKUUtUcWg1?=
 =?utf-8?B?alFuU25rNEVSMkl2ZkNxMTNRRmsrZkkyekVLQnlpQXluSnZTL1YxcVN0MWFG?=
 =?utf-8?B?Ky8wcGFOeEpDRUtnbWNnUXFqdE03SUpxSEx0QWttcUhKWG5zaEMxZ1NmWVlM?=
 =?utf-8?B?bmVpZkc1emFlaFJCYTV1eUN1dmpoMUNJWFZVK1V5RFhpbklINHAzRUtLQ0U2?=
 =?utf-8?B?YlVrcldUMTRvZ2pVYi9tWXBGSkJsU1NIS2theGRMT0IzL3NOZVhxVXdCRFp0?=
 =?utf-8?B?Q1l5SjVjdnBybUc5aERjcDFvS2F2MmVkaGhqK0c1MmlOYVdTdVZ2ZWdEbjBp?=
 =?utf-8?B?dVBpM3ovb01pNktjN3BYOXRvVG9wYkJEUk9kQlRVWW5abUFMWlpQeThOMHdq?=
 =?utf-8?B?ZSs0Q1VPZldXSmY1YTlNbFlsQkdRb3ZGVk5VVitXWWVnWk5rTThLTm1tZzYy?=
 =?utf-8?B?b2RZVm9YcnBtSnZ0TzlJdDBOVzJuY3hiQ2ViQXREODExS1hOdmNnSEdMK2p5?=
 =?utf-8?B?cjZ4S0t4dEk1Y3dDQ0xLbWxwV2YwbnBObXFYRm5qM3lWbWJzaVQwT1BCR2Qr?=
 =?utf-8?B?bXJNWUgvZU0wUmhSMHFCcGNjMXlZREpYb2RQUUl2WlhnZ3ZpUW5taUR5OFAz?=
 =?utf-8?B?S3JGQWhkNDc0aGtpdXNNUU11YkI3YkRqZGdwUUtac2FXMW13NWMrcnFOVllD?=
 =?utf-8?B?dUt6NDVmeFpEZ3owRGUvV0daUStabGxVelU0THc4YmF5RG1RWllOeVpBYXJk?=
 =?utf-8?B?a21YaUxJUE92c0tLOGFtQXJkTjR1cW5YcGFWZnB5MU5FRGtZRXExbXJpU1h6?=
 =?utf-8?B?RFRnd25NODFwWnJmNUhEWUpKQXR0bGZRb0hZajljS1d0MnFiaU45bzBYT0Qw?=
 =?utf-8?B?T05PRzg4SHJBcFgwTW42cjZWWjZZU1hhUlZxcUo3d09XZ1hTa3dpWmk3a2JQ?=
 =?utf-8?B?WHNKUXNHVlV5UUhZeXQ4M0kwNUlaQTQ4MUlaZGR6Q3ZCeDgwOGRJbTZlVHM3?=
 =?utf-8?B?aGVra09mUHpuSGE4MWUycDNpMXhnM09rc3ZDdzNzZVFhc1B5ZjRTLzBXTnhP?=
 =?utf-8?B?NXo0ckcweUhQbWJCdmtLQXd2aXJmaVF5d0VCaEN2SmVJZDduTURIWU5kbGMw?=
 =?utf-8?B?MTB6cGZTS2VUS01UdndVbzkyUUtTMkF3WXVFK2RCMWpTaUswRHcwRFRkSmk4?=
 =?utf-8?B?UlphSzhVV25tUjU2ZlFtSXZEa0tXSlFNSndPSWIydmptYU9yVitzRFBETzJ2?=
 =?utf-8?B?S2NwKzEvRjFjekdmSzIvaFZ3d1grNGs0MFBDK1FPN2xjTGIyRDJQRVpwVWU5?=
 =?utf-8?B?M0JaV0xqdm41M09hc1U2a3RjalNLQjByd1FQNnVSdmpVRUVaaE5OOXlkSEZr?=
 =?utf-8?B?cHFhSmZPNWJ0MWxGZ0NhSjFaZGJSS2Y3WVY4dmRiWDRqbmZKNVVtc3R3L0FQ?=
 =?utf-8?B?eHNSWk9MZnAwNXgxenJFVHplbkwxczQ3RGE0VG10WDFaN1crcXZRNWJBMTNk?=
 =?utf-8?B?ZCs0eWN5S1F1SmxqZEVCbGxuOFQ0aTYyNG92UmVOaE9ibFFGT3o0Ny91RDFD?=
 =?utf-8?B?T2hJRi9hK0VBZFNOZndLZmZIMWZSdFNpNk9TTWl1d3hUSUZTSW84UDlaMWNI?=
 =?utf-8?B?YUoxTy90M00xQnk5VlhjaC81M0NxNzBGYlZrWld3TXdjWDg1NjMvSXYrWVpQ?=
 =?utf-8?B?MFp4akp6VXJzOFNJV25DV003WS91VDZYa21QS2RURDJIVTRnRHVDMjFSWFhr?=
 =?utf-8?B?QnNNVXUrc1J2amEvTXFzaDQzQnhHd0JVSEZ2Mm9vM05lQVNjcnYxR0JWdW50?=
 =?utf-8?B?c2lwa0tNaXdXSHJhcTZzT0dVRFFwdkhqT2ZIZnRZbWdQalEwUkhuc3pzUkZi?=
 =?utf-8?B?QnMyYUF4RUNwOGpNUVRVZUoxOWpGcnl4Y1ZMbVRicU9uc1VjanZoNWtJUkhW?=
 =?utf-8?B?KzZXOTErUDVDOXQ2eFJXSkIwdWJkSG8yS0pLaXYyN0lyVDY0WllOaWhkcDFt?=
 =?utf-8?B?cVd0RSsyaXFMMTJQSGpBUXVtODVjYnY3cjJJL1VLemR2ek1IN0JZbklHcWpy?=
 =?utf-8?B?Nzlwc09FSGJ1RlNLR1FMajJQcUZrTGVMSnB4THhqNTJEQjJTTTJSRXFOeUJG?=
 =?utf-8?Q?y4/ff0J003kj7gpfikdCeVBX5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f297f3f5-759f-4f67-05fc-08db9293e33f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:33:27.4298
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Hie37q/eIz2LOO4xNP1Z1+tzZcp/4lL0HI8TltP8CrJGJlyV03sjRA3aqI4zjpj2S7eGxGPKqf+RsNf/k7pRVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

On 01.08.2023 14:47, Nicola Vetrini wrote:
> --- a/xen/common/compat/memory.c
> +++ b/xen/common/compat/memory.c
> @@ -81,6 +81,7 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
>              struct compat_memory_exchange xchg;
>              struct compat_add_to_physmap atp;
>              struct compat_add_to_physmap_batch atpb;
> +            struct compat_remove_from_physmap rmfp;
>              struct compat_vnuma_topology_info vnuma;
>              struct compat_mem_access_op mao;
>              struct compat_mem_acquire_resource mar;
> @@ -321,12 +322,10 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
>  
>          case XENMEM_remove_from_physmap:
>          {
> -            struct compat_remove_from_physmap cmp;
> -
> -            if ( copy_from_guest(&cmp, compat, 1) )
> +            if ( copy_from_guest(&cmp.rmfp, compat, 1) )
>                  return -EFAULT;
>  
> -            XLAT_remove_from_physmap(nat.xrfp, &cmp);
> +            XLAT_remove_from_physmap(nat.xrfp, &cmp.rmfp);

Is there a reason not to use the same name in the compat union as is
used in the native one, like all other members do?

Preferably with consistent naming (which I'd be okay switching to
while committing)
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:36:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:36:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574194.899422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpYF-0004QI-GD; Tue, 01 Aug 2023 13:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574194.899422; Tue, 01 Aug 2023 13: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 1qQpYF-0004QB-D0; Tue, 01 Aug 2023 13:36:39 +0000
Received: by outflank-mailman (input) for mailman id 574194;
 Tue, 01 Aug 2023 13: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpYE-0004Q1-3e
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:36:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fd846e1-3070-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 15:36:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8458.eurprd04.prod.outlook.com (2603:10a6:102:1d9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:36:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:36:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fd846e1-3070-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e4ITu7ZdNEDYe8tPY23Di+f5HOzumdazDSq4CPS7mIeH1Pd0ZmirhnTy6CHQ2fbOlfbCV1HOKlUJ7NN3MMZx98g8I7PVgIeWy6LiH2wjOKv0Z4u6oojdKPIFujFh/5tscAHpqoiaDNZPonCkwY2gSJe4tnw6mLZ0c4Vkj0YcK6qIFxGkAKjLMlbIfOBzOnwKffPrNA8HMymRVQqA25FQ8cVB4NoSMEdAOshi2rjpcfUhToPWJanMHTETWxLmWr2TNlPWqcb8VNOY/w3GgKZNfMWHM6VkS6NLQefdfyEvzcordrDi1HLpns8LnCEfdjJMo1Ka6RuEetO9mPh0eZVc1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hozC17tjp/omz3GU5XAC+yq/4W5SBZ74JNY0BYP1XQU=;
 b=gevGrBb6iAHHgmVe/es0x2Vnbu6GrRMb8gtxXw6dTjgJ9437cY3K9q29Dz5CSMRu/U6gdJz4aP1UQ9Q+gJbhpjkcYef7yO9PXXvr9aY5ZHI5icrgMtx233raegYdbENSbZNIIjmsbaYj3m4LzvI3nOQuNtzfEMeirLjP7dOQrn0IQRRjUn5c19C/0ttbw2h59utiKt8uWxhYEF/TS2BaQuSDj3LImQAQEaC+I203ep/rZ2rtNjDJ90mq53zuwsPNWdiaKjexWEXlut1cTggBYYFJpEHuKxIieiqBBkDqIZbb9tEDiZtcfjQHeZ74HGaqn4n16JnqIThOz0ZDZoRelg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hozC17tjp/omz3GU5XAC+yq/4W5SBZ74JNY0BYP1XQU=;
 b=Pnd33K6GujtS++tpoxX0QVKi15Mh3+JOImaV70tHqhoh+wXLR1C7pkwvpm/X9d3ystRcdtS7czh6kisLLUk2TUg1ckqCOvFdSFXSTo+WWMUsltR+O1Z6E4Mm7gFy4cv39Zq/ZFWyIh6jsQcG0GSEG8L0KxD/ZRNwnq+cRCzhj6UP7b5M3yOuDE8oUb3wStTduI8gzJ370SB5khCYaSML009j61ZBnaORl2eoZkdreLsqXLSKrSdwu/RSUUSvm9rgFW0e59DDGQaETjteFBxNFIEtPgnQIpANjfGJy2SUgeemDsvNL7ctB2p95/3blERZ5i7UsKPm+Iio3MqbNyo3Nw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d1a49d89-2643-8b6b-787c-85d53abdc0d1@suse.com>
Date: Tue, 1 Aug 2023 15:36:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH v2 2/3] drivers/char: address MISRA C:2012 Rule 5.3
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
 <69fad93eeafdceae5de1f2483015f05d1798b6be.1690893696.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <69fad93eeafdceae5de1f2483015f05d1798b6be.1690893696.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0218.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8458:EE_
X-MS-Office365-Filtering-Correlation-Id: 888fc257-c8b8-4cf2-cd71-08db92945290
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MMHDjYSwCFouI6pAydHLnDVnJhDCmCiNQ9aWQd0M4GcfycLCSbTzwyW4Dn5jiREw2AWBdIpbhkwzMkorv5HPNJCk6SY77KAWcfdw16SGbBetoKHW7zWGJmAbyTkSWCXRuKMk/OcmTFfd/Hf3iXLzB/4UMhhxLEWU+UFgkrjAFw2viv0GnYcSuQLRcSWxszdwwRZqDD9PnZdaOIw+vzGk681UoftV2KVGGCEDLw/hr3/ztD4lMond1c6w/+hOcKwi2C7riS33D7RJHHUIvdLxymAkCFtF+/9BD+XIp6U4fZ7G0LZ3g2KKkcBHo2cLrzBpEc+oviV7VIwLkfuAsd3nawhN3IL7csmeL6v4yRMpMtw58U6R1pxzccwk3kxYe1JGSYHyPtF9PK2o/N9E78pK7raVg1G0r52lPc29KzhJcjz6TaYFfjiCHgHb6ikfuXvBrDy52xGRClAtsbs43hUVvSzHrxguX7L1/ow9+UPsQY/8d5dCvdRQFOWGXgeAdBPFqTiSUoIBS9yz31zvaN3GGxPI+daJtJFxApgwgxK/68FbJQFqnRxeKGxRq+nwSW2N4uM/ir5RUFzDIrLagrYeC6Ygyp2c6t6oqqJ6yRShr42Qckv7/ln9AcYw82T2JfL5wQxS5kq4H7TYlCL1VB2v+A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199021)(6512007)(31686004)(6666004)(5660300002)(7416002)(186003)(66946007)(66556008)(66476007)(4326008)(6916009)(66899021)(478600001)(54906003)(6486002)(316002)(41300700001)(8936002)(8676002)(26005)(38100700002)(31696002)(86362001)(53546011)(6506007)(36756003)(2906002)(4744005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RE40eEd1SjZEQUMzVEV1b2Y2Sm02RXpGUlF1Mk1peDcweERkUWFxSFJwQWs2?=
 =?utf-8?B?YmRvaW14bVpHc1NhM1U1SlpuYzRNaEtGTXJuMmlFUUNxRkYyU1RoN3FOYU9v?=
 =?utf-8?B?NDNqNDFRV0hZSCs2OHIyYmFZaEx3Mys5TkZmZld6RnQzWUNqYUZkNjAvREhU?=
 =?utf-8?B?bFFqNWdQb3Zia0NHR05SckJEd3BZWlA2Z0U1VXNNaDJXMFZwdnhLcmR2Sytm?=
 =?utf-8?B?cmNhZUJacXFhdkdtN0RJVCtXMXppU2JPaTgwWFJ2T1FZdEI5ekM2Z29xSVRS?=
 =?utf-8?B?MVB1NVEremNlWGlrbktIS2k3NlRndGZ5dFRrZzJlN25VaCtOaDFLSTVULzVz?=
 =?utf-8?B?bDAzQmVubUhtNUhUcW9ld3lmcmR5M0ZDWGl3TlhTdTZPNUxoQ3JBMXFCQUM3?=
 =?utf-8?B?WWtxa3EzZE8vV3hDVTVDczMxQm1ma01paDVZbWhNMVNUVGdyZkZ3ei9uRUZ0?=
 =?utf-8?B?eCtFWElYY3FOUnJSaDVxd05aSGc0OU9SSyt2bnBvN3JRc0RPWFY5SDMxMDE2?=
 =?utf-8?B?djVkR0gvYTJSSDNBODNCNDYwT1JWTFUrNXN3N2V4VnpnVndVb3U5MjBaUXYx?=
 =?utf-8?B?eERoRTE0d1k3d3BzNHg2R3NMcXI5Z3JGQ1F6MTdLalNrQi82THdaa0pjY0w4?=
 =?utf-8?B?TkkxaGdZcEtKSVpRdXp0ZlIzVEdWUk9mZEplK1BzQ3lRZzlFTVBHQXAvVlh5?=
 =?utf-8?B?anpCdG8vVlFOalY1WmxtMkNDaUJrQWV3anowQ1FWbjB3bHQrZEsvVEVOZjZt?=
 =?utf-8?B?Qy9FL0FPV1VPUjhQQVVJR0tpOWhJcUhNNzc3NzBRUTIxYy9ldm5yMVBTRkl4?=
 =?utf-8?B?MnJ2ZUpLc1ZjMEFsVThZTlBISUtpWTluVUpRSy9EeDVEbmxRcFFCUjFTblFu?=
 =?utf-8?B?MGRFb29Dc3FaUCtOckNkNWs2L2dXNWRQSnlINWd5bmd0ZFBjSHR5Ulh4Y29p?=
 =?utf-8?B?WXFPV0tyaUI4ZnQ0b085M1MwRmllUU1PM0lZL2NSaU9hT3c4cHZzK3NyK0xk?=
 =?utf-8?B?OGNQK1g1UC9hQ0lSOUMvUGdJVm1lbmFqZTJxSkZBMUdpSXVBSGlYakFnUEJx?=
 =?utf-8?B?M2VCRVVuSGRZTHZOaW1wcU1NZFo4UzQ5SUpjeC9RS1VaTWZCcFplak4zdHpM?=
 =?utf-8?B?UFE2bENLY24xQWxvUkhEODBOekgxaWVMSjNtUityMWYwWlRIK0lwdWdaYmNO?=
 =?utf-8?B?ek1Idnh4enVFRlkvcy8yWGRuWGMwNEtFUlRoZ2R0Y3V0VGZTazY0OURPalFy?=
 =?utf-8?B?OUpoYVU3M2MwZUoyYUE5QXNwbSttRHVYKyt3UDg0OXpDdklkQm0vbnUvZEpl?=
 =?utf-8?B?cHBvWXJOK21hVmx1V0x1MDNXQjZpczFYWThnbDZyUncyZ05ISXBIeFNzMFJw?=
 =?utf-8?B?eS9rbDBFdDNLTmlUZjJCWEVndXhyUFpFZjg0VEtESUxxVzUzMkluSi9XbC8v?=
 =?utf-8?B?MnJpcGhtNWNrQUozVFozSktQSFFESlJCRHNIRkZqUWxHKzZIYjhVV2RudzBD?=
 =?utf-8?B?SWZObU5SNDd3TmRTVCtTaWR4RW5rVGhXd0JJK2VpejVnVzBVYlY4eEIrM0Ni?=
 =?utf-8?B?SWlMWFdidXBXdUdXVE1XZmJUOGtCV3l4MXRENk9TZk5jY3YreitrSkJqMjFr?=
 =?utf-8?B?emhOYWNGQUtBNTJYbno2c3krTkNmNk9EQk1tck5VWkt5cWJRbllXYWowWlRi?=
 =?utf-8?B?RS91UDhtUlkxL2llY1FGYi9vc0k2QnovdGxTTmJZR3JKVUxoZmpFdmQ0eXl5?=
 =?utf-8?B?aFZ1ZHkyZEtMVWo1TEZPYWdrNEtqTnFzZ2IwTUwwRjMzZllnZUtCVEh4WU9E?=
 =?utf-8?B?MU4zNDBqWkxJQWsrQzhhd1N3YVVadktlbFdYU3U4TjduaU9aN0NZY3AvT3lV?=
 =?utf-8?B?ZTVvRTJ5SUYyNWZkRmY4WmxiRy9DMlM0Mi9HcVE0T2VoT0hmalBZbzUyTEhi?=
 =?utf-8?B?aXg5N0lHVm9wWGdCajBEbVpHakYxMU9XTjZlQ3FWZ0Vmank2eGthNUtBQzZm?=
 =?utf-8?B?aGUwTjlWOHpwRWxNUTdjT1RGRG1Wb0RLd1ROSFR5OEM2VSt6cXY5NFY0TC9u?=
 =?utf-8?B?ODVqeXlNSC9uVk0vSEhvOEpuMVNOMFpxVTJHU2IzdUVhck5Dbk10SzVpM0w5?=
 =?utf-8?Q?BXZySUJOh0qlhTRSCHysV/B2c?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 888fc257-c8b8-4cf2-cd71-08db92945290
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:36:34.1940
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yTwIbitSdyasAsnoVxynS4EcIliggnWwGl9HCNHAEuLptGOqesr8OBRyrO7tpMs8TC2SqqvSELBhIsH1fS1lpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8458

On 01.08.2023 14:47, Nicola Vetrini wrote:
> The following strategies are adopted to deal with violations
> of MISRA C:2012 Rule 5.3:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope".
> 
> Local variable 'ctrl' shadows a variable defined in an outer scope.
> Since the innermost variable is used only once after being set, it is safe
> to remove it entirely.
> 
> The enum constant 'baud' is shadowed by local a local variable at line
> 1476, and renaming the enum constant avoid such conflicts.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:39:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:39:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574200.899431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpbK-00054q-2v; Tue, 01 Aug 2023 13:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574200.899431; Tue, 01 Aug 2023 13: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 1qQpbK-00054j-0D; Tue, 01 Aug 2023 13:39:50 +0000
Received: by outflank-mailman (input) for mailman id 574200;
 Tue, 01 Aug 2023 13: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=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQpbJ-00054d-HL
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:39:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1950b4e-3070-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:39:47 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 33C4A4EE0737;
 Tue,  1 Aug 2023 15:39: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: e1950b4e-3070-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Tue, 01 Aug 2023 15:39: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, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 1/3] xen/common: address MISRA C:2012 Rule 5.3
In-Reply-To: <3c29439b-cfb8-68d0-8677-91ba897f5e7e@suse.com>
References: <cover.1690893696.git.nicola.vetrini@bugseng.com>
 <a2ec33d23fbc956d6b84e3736ff7f09549ab85b6.1690893696.git.nicola.vetrini@bugseng.com>
 <3c29439b-cfb8-68d0-8677-91ba897f5e7e@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <b8d874f18ca1b97d3132ff72a0841e32@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 01/08/2023 15:33, Jan Beulich wrote:
> On 01.08.2023 14:47, Nicola Vetrini wrote:
>> --- a/xen/common/compat/memory.c
>> +++ b/xen/common/compat/memory.c
>> @@ -81,6 +81,7 @@ int compat_memory_op(unsigned int cmd, 
>> XEN_GUEST_HANDLE_PARAM(void) compat)
>>              struct compat_memory_exchange xchg;
>>              struct compat_add_to_physmap atp;
>>              struct compat_add_to_physmap_batch atpb;
>> +            struct compat_remove_from_physmap rmfp;
>>              struct compat_vnuma_topology_info vnuma;
>>              struct compat_mem_access_op mao;
>>              struct compat_mem_acquire_resource mar;
>> @@ -321,12 +322,10 @@ int compat_memory_op(unsigned int cmd, 
>> XEN_GUEST_HANDLE_PARAM(void) compat)
>> 
>>          case XENMEM_remove_from_physmap:
>>          {
>> -            struct compat_remove_from_physmap cmp;
>> -
>> -            if ( copy_from_guest(&cmp, compat, 1) )
>> +            if ( copy_from_guest(&cmp.rmfp, compat, 1) )
>>                  return -EFAULT;
>> 
>> -            XLAT_remove_from_physmap(nat.xrfp, &cmp);
>> +            XLAT_remove_from_physmap(nat.xrfp, &cmp.rmfp);
> 
> Is there a reason not to use the same name in the compat union as is
> used in the native one, like all other members do?
> 

No, I just didn't notice there was a native remove_from_physmap field
when choosing the name.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:40:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:40:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574203.899441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpbd-0006J4-9d; Tue, 01 Aug 2023 13:40:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574203.899441; Tue, 01 Aug 2023 13: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 1qQpbd-0006Ix-77; Tue, 01 Aug 2023 13:40:09 +0000
Received: by outflank-mailman (input) for mailman id 574203;
 Tue, 01 Aug 2023 13:40: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpbb-00054d-Uj
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:40:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecc55504-3070-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:40:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8458.eurprd04.prod.outlook.com (2603:10a6:102:1d9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:40:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:40:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecc55504-3070-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WzJH4stPdSJdHl5TKNx9FsJqI3iXm3IPRgWayWnG2S//Izws3QuvuNAnxM9znd3u5p/fFDfNry7RwCG5KRViq+MKa1vQFSJAxDXOf+c9oO337yvGuikBP5BNiE0RFeRkW13ChwlQtmJiGSVrUNG2Fu5jShE0L6GAdTR4IQvTEEBfCorwmUIA2aiCtQK0M7Xugmm7uuJWhKKzHertC58oK5s8FBFcQg/nFbt5AhpZ/sEAO0b6mMYlHRAmP38vlAfePoTmLiMnZmOnRyJR2MmSajgwVpKygCz9RMAu6iedfNfC3cLs3usxW0JsecGddCQSDuBxgNrKtbZhfWnkAhwGWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=How/S47Xv9emA9E1mw2tT1xwEq8x3RCZXP65VyZuHWk=;
 b=Spvh6rqIkVbHXKmxS/+ZRV26NNu8wYvX8h7nyoEdIyMFPoH5AgZ+WDjAHUeSEtMTfoyWlkUhNUfgAty1UJcU9LG6jUTDs6jdJjqDYbmRIDMQTQ3anOW0g2Fy7BgUBYKmodbXY5rJfvTqfPITQCJcdXaZ5QVCMvtas3ysuiNFJM1bEhXJFVMqH65Ef1gNR/FXa1bm0ejAhvV6Oiv1p0HumxpljHgxUZvpB/C4wU8FbqGduQ9JolEceNmVxgzZC7xMil/wfBlN6lNpsEt8OsLCFk9MmDP/QEzH8u0ltJO5A23p6irus6m8OU9CulopLvlcXHUCnksG2cgxCfvDX4dsXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=How/S47Xv9emA9E1mw2tT1xwEq8x3RCZXP65VyZuHWk=;
 b=A7edsJ4PmVNhNGvlbnVDlPqBCGuuaAAEpKZIFzGMaeIRkPAtP/wjKqMszAOzpI/e6GfUBOLwL+3sUkQrhf4NFEhcfJJ2Z63zIIT1UfX+8f7O5p3hmgWweBwfG5cHTCvmyZZnJcvZQNPXwn2s89W0MaqLRuNNU6tr/IZJr1MLDmtbHk54b2lD3TrgxSuuWOMjGM341Ve34Oct29v/6zgwfUfPM5Or6QoWT61eOX/OsZQe8X3AV9vQZIKM0B2HHxXdZd9EaxYHe1W1AZ6NECvT/Z44V0RdAiuUbJqSp3rEh1t4MiIgBxa32lLGaluq27yNtAYsPRANhoUq3C3lS0amsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e2d88673-c4dc-1151-182b-07cbd40e924f@suse.com>
Date: Tue, 1 Aug 2023 15:40:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH] x86/cpu-policy: justify a violation of MISRA C:2012
 Rule 1.3
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>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <9ec42e01258968d2dc71d59c5ad41da448a7112e.1690895099.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9ec42e01258968d2dc71d59c5ad41da448a7112e.1690895099.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8458:EE_
X-MS-Office365-Filtering-Correlation-Id: be19f6f3-9325-4ff6-2380-08db9294cfc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E4+krsXXqBRwETfSY3knfBPPNPhAJ0ekQzqgAwoz5rtb4Utj8v7O3kmVqOEY9/7s6u8sSaHPPx6aw2Q8SQS1h0sL9Rjoy4tRlt0sfmEAwMIi5798RUxLyX9yegmqyvGHa6RdLTsMikeXqq1xzlTQ2P93H1nNO4H30wq5YeW+pXRWW/dqY27yunIPpfiGWzfn4Vqaa08uLuORC2Pg7y90om1zJsRG5o8oqNTrclAGGslkU7YA+B8ROJqBXpajde50x+WR01xXgq3a2waBatYqx7K0RcVDFyoCa5jth3PrS92Fsimivz4VLIjY1sCkab9KgGQQw8eRtrjVVKP8JxBvuE25wAdS25gOd4QMFc5DhTHkP8YzfCHfgELWYDblat2Uxt5Lv81DnmtPIcLegmZFdHr5SeLyp3fBU54hk/AapmGTjF7mM6XWEZhAd687+oo+j3leksI1FTYKIpeXpHUHR511oxXeDEayt01AO1rC9D8fuTALAkXn99rSIJINXAVrJXKpNGWoXt1BW6vIrXhJtv1DtJn2FSQT7JWmi+KB7pxUvs1SAWsfp8/TpyJMDTdoETx+kMNaunhO+WuAcV4cE2qRBxgne1jJIVNTQCjO1iIXMf75ZCL6H8nwiJPqp5qDPuYN17O1EdAmeFPQPMP5Hg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199021)(6512007)(31686004)(6666004)(5660300002)(7416002)(186003)(66946007)(66556008)(66476007)(4326008)(6916009)(66899021)(478600001)(54906003)(6486002)(316002)(41300700001)(8936002)(8676002)(26005)(38100700002)(31696002)(86362001)(53546011)(6506007)(36756003)(2906002)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z09obTZvNFE2NjlsWC9MbkVOV0RpZGRNOG1Qc1MvQ3pNZUJUUVVVRnlqaTdz?=
 =?utf-8?B?SlpDK1VKbjR0ODZqN3hRcEEvR2RXeGpnbHZNdndUdm0vSTl2NStURjhtRCtI?=
 =?utf-8?B?RmdYSFlIK0tTRUZaY251ZlVkckswTjhhejkwcStyZDBTYlYyME04VzFXOW9Q?=
 =?utf-8?B?aEhLRFRMWS9tOENYeFZONC9iODZRNW0zNmJxZDBaU3hwQis4b3JpV3FCQmVV?=
 =?utf-8?B?WE9GN2pEc2kwRUVhakVyZ1NYNm51TUY5SmdiM0F0a2hyL1E3QWhWYlpWT0sw?=
 =?utf-8?B?UEY0b1ErN3BUQVVYTW1tYk85NmtLcFRQY1RhYURUemtSZzRTYlNxVlVkcGds?=
 =?utf-8?B?NThUUG1YNmovVUxwWHB4WGd0cVJ2S3FJRnNmK1hLY2FEYlZ1d3JCTHV4dklo?=
 =?utf-8?B?dnQ5a3VBWm0rRXRXZjdJWkFYQ0NiQUdrQWZVcCtTaUs2MHJKSCtVV1dzaGRL?=
 =?utf-8?B?TE1kaWFSektzSTZ1Z2ZCU2lBTnZBWXRROGhJMkhYMno0TnJMME1TN0pGUWg3?=
 =?utf-8?B?TXNkUmFRc0xsMTcwL1hRdHpsWHB6Q1FrelBWdjhjVHRBVTZCVHhhODdlZU5a?=
 =?utf-8?B?YStKZUpyNHJTQVE2S2lZbytGendXRFlxb25lRHFhT1Z2d25qMUM2MGc3TjJu?=
 =?utf-8?B?WWdkd3p6R1l6MHJlWjR5ZFJrU3dEOGNScnN6TElnd3laUEJrUGpBRUpyU3Jh?=
 =?utf-8?B?cEhiWkdBKzVCbXd5WE9TWTJLcUVoR2F5RGRRQUE1WjUwWXBobFZ5NGtPaEVa?=
 =?utf-8?B?cHNlWUN6ZXkyN3VUVkVOL3ZWbndpNzF2b1NJL3RoaHRJQmdPbE1lb2paSjBG?=
 =?utf-8?B?THVnUG41VHpWdEFWU3ltL3JGVitxWGs0ZzN3WmhWSVJYNUhWd1RtUXlybGJl?=
 =?utf-8?B?RTJNM2F4c3Exay9YU3kxUkRvWDZJTFhqallvZjYvMWtWNXhrWjduS3ZOeXRG?=
 =?utf-8?B?RHY2ZjNtYVVqYWZvWDBqSUNMN0dpSWdZQ2RrVS84clp2cHJNQTI4clBTdUU0?=
 =?utf-8?B?a0h1NE1wYWcvUzZMT3VmUWZVSHVjRmxPRXozR1FLTUFUdTZuckRhUHNqTUlz?=
 =?utf-8?B?T3FKQlpueU55SlZ4YmZsV1BnajIyajFRNEM5NmRsMVZPVGFqeSt3MGdDSWdT?=
 =?utf-8?B?VWoxYTdmU0VwVVJ0T0ZveFZvWW0yL3dITndWTGlNQ2crZnVGOUMyekFZUFM5?=
 =?utf-8?B?ajZsMWl4cklqT3l3TVVpMW0rMDhxZHZJMXF5QUEvYU4xZzhvTW9vZHcyaHEx?=
 =?utf-8?B?d2RXWjY5TWJrWml2bG5LSTRFTThocTFHaEVpeCttTzcrQ3VEVTI4MlZ6WXFa?=
 =?utf-8?B?Q3NDOE4xSVhTUkduMVkzT1BDN1hpNEIxMDFKNytPVVdhSkIyem5xQzRSd0hR?=
 =?utf-8?B?MXNBYWZ5aUk5MjhBb0ppQ3R2REdZdFVPU29HeDhDdmdkaHcwRkhrN2FTZU4r?=
 =?utf-8?B?eGQvTE5ramFFajBOZVJwelpjZi9wMTNzUHhNaGoyMEtsc1N5czFiSUJYTmhH?=
 =?utf-8?B?V0RtNVlWOHZhdXhHK1lnZkZyclorTXRuemRRZ0d0WjF3M3RxZDdqODhNc3NV?=
 =?utf-8?B?Q0dTYjhmdW1XR3BpL201MWNpQTVoK3FyQ01CSDV5NXV4dmIwamc2SmNIUzdi?=
 =?utf-8?B?OTB5ZzRBL3lwcWhWa1JWck1nSFQyVG4rajc2SkpqeDdTTVBGK2dLUU1OZ01x?=
 =?utf-8?B?VGJFTXg3WktXRm1MRjBPUG91Wmt1Zm1WbWwrSDFiWGY5YzZ4RlhzaGN4bDNP?=
 =?utf-8?B?bXcxYU9GbGpINWRFTHA4RmUwRkI2MjlVN1FCZ2ExVHRjQ01EUTlrOWd1SFox?=
 =?utf-8?B?MDRYZnlPZStMc25EWGkyekVhTnE2T29ocmw0YjdyQVNGUExNaFdncW00NkpF?=
 =?utf-8?B?WDU3MlhPVkQ5UTRnQzBBUWI0bVNKS1VtUkZtcjhodmNWeXZnVjRGdEppMGNp?=
 =?utf-8?B?cWo1L2hhWGE1bHR6R09zNk1zQUtrZS9SNSt0TXZ6OFdXcWFSS1VxTW9mc0Zp?=
 =?utf-8?B?UDFpUVdjM2l0V0hpL3pQZDJBT3l2NmZGWTRXaWY4dGdrMEE1YWw1RkpSREZi?=
 =?utf-8?B?T1kwcmdNYUZCTG1GdzNNY1ludXgwV0ZHUTViTXFsdUR2TFZXSG84MjJsRWVS?=
 =?utf-8?Q?2tcDxrp6JA++gl6WdpD+FalXY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be19f6f3-9325-4ff6-2380-08db9294cfc7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:40:04.3035
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bSODcTpKqLyTtQebq8Cd7EYwbHDKMAx3475i6Isrdtesgp4om80/aO1KUHM6DOu7wkVnaDTC02aCtLzgxN8gUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8458

On 01.08.2023 15:06, Nicola Vetrini wrote:
> The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
> struct declaration to have no named members, hence violating
> Rule 1.3:
> "There shall be no occurrence of undefined or critical unspecified behaviour"
> because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
> "If the struct-declaration-list contains no named
> members, the behavior is undefined."
> 
> It has been assessed that the feature set declaration is intentionally empty,
> and that no risk of undesired behaviour stems from it, hence the struct
> declaration is marked safe.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> As agreed during the MISRA C group meetings, this violation is dealt
> with by means of a comment deviation, as future changes may eliminate the
> root cause, which is the empty feature set.
> My justification for the claim and the commit message may need some adjusting.

A reference to the compiler extension would be nice; the use of extensions
(which generally are well-defined, even if not always well-documented)
should eliminate the UB that the standard specifies.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:43:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574212.899453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpek-00075I-Q8; Tue, 01 Aug 2023 13:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574212.899453; Tue, 01 Aug 2023 13: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 1qQpek-00075B-Le; Tue, 01 Aug 2023 13:43:22 +0000
Received: by outflank-mailman (input) for mailman id 574212;
 Tue, 01 Aug 2023 13: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpej-000753-T5
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:43:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 601c0d20-3071-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:43:19 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8175.eurprd04.prod.outlook.com (2603:10a6:102:1bc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:43:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:43:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 601c0d20-3071-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kaa55exP1dH53h6NXOA8g9mLqzi0vWhJQ7Qfvoa8ODFOexS4acFTMp0xDZxsQhCuiaARLbImLpFXjY3RQap19K/HyFM6ThPBrlixHIor6eGoGQnTWAXLK05L6nFUjus6ImW8TP8D3q128YBHn0yv2DDQIBRT3zU52h4WingD7KzrY6eWB0JCfeRrWAiolIie1tgU1IXHaHzD9QYPcf/enPp/eMroMSRuNDt1rAXmSLrCzqceFhuMCCGhUQ5ZOAgM3UUD7m1hya4ctXBmvtpNpfVM8c1EgfDsXOYmkxLgjAd/YoByuvmlitdWSb5PcI6QNcRiUA3++X1knrLV6hQg3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/4fHfafuHZMx5+gVWA6f0qz5qDoXR/Uug1l1ra//4ec=;
 b=EVgNO5z3DsC16/2CjFelOQV1xXnFQ3dJfChH7MMdyQ37TzNImJJkJNTXUMFtyy/UZuRQl+fhK0vowciR/Hp6UUkH7u/vVf7dhtxToflDAsa5mipDMiIod0zV3iA9rBknTgOCVjTe6chNso9aD5yiugic9HoBbvTn/dA6dU50aKU6YOjqr78yhhWHRpt5jOeMW0RCb0MxBA7fUezavoNozY4SL3tskTWwfabCT0XAmVqe7G/Nt/jMk6sHKC/IoWUFELEAbqFMLhAz+JLOR8tatI3AUsJJ+u0MK5+bWzYLNw9ocxkg0XPARlwFka6KC/6NIqVnCprhB3Go4Bf59Ci4RQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/4fHfafuHZMx5+gVWA6f0qz5qDoXR/Uug1l1ra//4ec=;
 b=zL05pNQ8Yqx0j1Nan+0x268mp3ciKxTeYQjIy4GnQ0vvmiddfFoqZByiv5upRpg/PUeieVMKERtyUnXih2Y5lxiS7SKnBRIHIz68kdiLMc0msG/m5NumfTCRlnmG0xN+yZxivTsagw3qIy3C1JC6DOjMdWfqwKQx/Cm4ZyDieEk8v7jo32zDpJ65stmLXXDxg7CDMTYiyWCvUWTlzkRpOMtxWDxnwyKTqvQ+qi/y/HTzW8eBtdoKwWTNmJRijyWyku/lq6UB2zgr/p7z5wIcLu5+phF5mxluOubpZHFPE0xClVwZUZI8QzCDQ0TUuIFxnFvLSBQ8Sg4mCvIeF/ctwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d76dd1d-3001-3d5d-996c-7bd3e0319a77@suse.com>
Date: Tue, 1 Aug 2023 15:43:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: xen | Failed pipeline for staging | c2026b88
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <64c90a07e72e5_2810b7bdc200923@gitlab-sidekiq-catchall-v2-d6969f8b4-tmdbc.mail>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64c90a07e72e5_2810b7bdc200923@gitlab-sidekiq-catchall-v2-d6969f8b4-tmdbc.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8175:EE_
X-MS-Office365-Filtering-Correlation-Id: f18b262e-57b0-4c1c-3d02-08db929542d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L1+TjBuhQ82ffeJBPZaREd3VIvavG5cTgyrOIRPZChQbIIsW8cJ4AvUbIdUj4g9I6xuJanReiiFXKl4woPWIBPzRrY/UkuAszBEfr36X/fVVghfAhRAAVBWQKhq8RUpRe+oTQMuRatEvGJtcK2XRLboZHVACKiTFLlYujwCTpuVwp10Tz5JxSZyOq5AzvD08pV3tnSj6H9urOTRlEv9sFbtH1iQahBCM/44RfvJOME1fnRUg3tJK5UngvoFrhfu9L5Qxo5TN/xhWFC47eojfBySmW0LyMhxy94KtTSpApdc57uSHgwA5pBgycJL38z9rBfoBKkagF1S3UDjjxVHM2WqHW5wNXooSgBS/FMc+qqRxhojCA8smzl8ycg1jKcxBzwS3ySo3AinR18SMZ6W57xB8o1jK+XfrlBeDFApjfzloMpPzEUXiL2zpX6QzmpAZ16pQyGcZZRichhNAkbCNWTzyv/Kr9cQ8Brpkn4eigG26tJGaO2tZq3KOK5tqqXpJjRCiZ2MPPRxCwS5WGCqH4WBz58yv1bKIi242YkkIjkDtdr3lChBcoHAXm8h9g4Wj0saFJS/o5Mhcy361VRRQV0T0f2nI/5NIYY9Za4QZYQ0qfqqAgcBaS97BvrhWqLfujEylvv8EmWKI5rppstgIuqmMi6pXpfRHSxEnRluKN9qoB+atZkWSz15z3eMv6vwy
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(396003)(366004)(39860400002)(451199021)(6916009)(2616005)(83380400001)(2906002)(86362001)(186003)(316002)(31696002)(38100700002)(31686004)(41300700001)(478600001)(966005)(6512007)(5660300002)(66556008)(66946007)(66476007)(53546011)(6506007)(26005)(8676002)(8936002)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTFKTGNlanZOTUdwTVg5M3VLN1EyN2Z1MTdaTVhJYUM1NVYrZUFWL3I3akox?=
 =?utf-8?B?Z0NURyt3ZWlVNm1JNWV4elhIdVdiWFRsdE1qKzltV0lNL25sWTU5ZFZqK09V?=
 =?utf-8?B?NFJ6TmZpQWZPT0VLdTZnWmZETkc3SVQ2cjMzazZ4eXhhbGdrNm9RWEVtblpB?=
 =?utf-8?B?NDdwdDhEVC8xWm9QNVEvR0MzNkNncHpKV2JqcUdYeXJlYnoxUExUbVBKVndC?=
 =?utf-8?B?NmNQYjBGTndaSmRXaERtSGUydWNyakJsUEpZZWtqalFkeEtzRkI1cE5keGRD?=
 =?utf-8?B?UVhicVdIZXRQMStGSXdKN2sydHBiQVp1bjZlQWhZWmlqS2RRNTUrTXg5Ylg2?=
 =?utf-8?B?TURmS1JVcnprTi9icnZySnplSGhOaUNQd2RsY3NCb3hYMVlBcEZGKzQ4MXNI?=
 =?utf-8?B?a3l0dmdkTHJKb0x6NHlvclRvU2xEcjhFZ3U5d3N3bXU0UGNEYVpuWnByNUxZ?=
 =?utf-8?B?QTdPMnpIWXVTQi90eE1GUEw3L2xBTjhTTlZZd3BGVzZHY0ZvbVE2S1BmcGNN?=
 =?utf-8?B?OUcxUjdFVUtna0kvWm13bXZsa08xem9nekJEV0hlQ0hmVW13Ym5iSTNTRndC?=
 =?utf-8?B?ZnlEek00cjEvK3hSOGgxWXQybHd1OGFpSDVlUVRDaUp1bmFYUVVqM3E1MTlB?=
 =?utf-8?B?eEIzZGNGdzZLZnVlZXQzSHRZeG5CWlhaNTdLSy9USWV0TzlZT1RRRVhCVGdG?=
 =?utf-8?B?NW1mNEUzQ2w3WGpnaVQyS0FsYXVKb1h5eTU4aFpHUVFSMVdiRU10ZlpGYkNH?=
 =?utf-8?B?TWZINHVZMmo5Q0JCZXNXMVNLTTcvcGQvY2hrb3ZNTmFlbTVwRDEvcDJ1T3FG?=
 =?utf-8?B?MXdlZkNscVJ6eG1CanZGWXRmcHV1RGY4TEpDMkQ4enNxM3o4WWJ0M0kxYU9k?=
 =?utf-8?B?aU9qR2RsaTV6VGlzeUgwanphVEJHUTVxaFkxOXFITTFEZjN2bGNzbU4vZEd2?=
 =?utf-8?B?Wk96ZFIxenl3eE5ZQTVCczNFWUlURUlZa2pRRHpSNDZtUUNlVVdQN01oN3pN?=
 =?utf-8?B?MzdZaXFwQzc1OXpuMEdYbWJxMWJlRjA3NU9SWlk0TXpWNjd5MkIzQ2ltVkJQ?=
 =?utf-8?B?L3ZlVWZQSm5zWHB6S1I5RmdiUEpYVkJaMWtPVGpEdGhGS1MxSVp5TXM2ZnRn?=
 =?utf-8?B?NGppTmsybmZUTFF5UjVNNzhWT3IzbTFZZ2dYU3RZck1DcWxZYkVwM3BkbnNw?=
 =?utf-8?B?ZjVmNTFkc0VTNjdPelhpVVRTVlRORU16MWlSaldzdStjLzY4Z0o2dUEzWGoz?=
 =?utf-8?B?c1VtcnRnTGFQVEtXcnY0a3JoL28xZ3ltS3ArU1dwKzAyQmhRbm94Y25LdlIv?=
 =?utf-8?B?eG5QeHdkdkxZSG93TjJxNURzcXhCQzN5Y2JBTzlmQ2p2SVFQSDlFTVNmKzYy?=
 =?utf-8?B?UE9vT2ZsMW4wRlJqdDJ2TXRnNzJkWmtxQmtRWFFUWGlNZVNtWjdyNkxmQ1gz?=
 =?utf-8?B?VmRjbnErdE5LNTZBSkRZTE9aQWRoVlgvTVJ5M2MzNTlxTW1qdDBzT25NVGRO?=
 =?utf-8?B?dlJHYXhQcFkyaFlGeWJQUjRUU2FmK1hXck0rRHBEeTkreHhKRU9lcU11MGc2?=
 =?utf-8?B?TmlWRGlMK0hWM01JNVY2WkVxQ1djanNkZWxST3B5NGtxckd0Y2FyOHBWMnNz?=
 =?utf-8?B?MXlRSW0ycW14Y0VKeGRGbjhQY25HcWN0QlFNQmFoZHk0dW1UL3pSSGIwU0tM?=
 =?utf-8?B?UkFrVG9QN01TSWhnQUhNTU01eTdSR082YThJZTlDV1hMaDkwV3VaMCthNlZD?=
 =?utf-8?B?MEJHTXBwTjQzbkowT05mOVZrRG1VZno0ZDd2UmswL0RPR2ZMUk9vTnk3TWJv?=
 =?utf-8?B?b0R6ZGYxeE1oZUZSVHFST2Q3bnFtZ01RV2dUWjNLOGYwVHNicnJvaE1NOWlp?=
 =?utf-8?B?ai81aDJ4OXhhS05LMHJqSHlDMkQwMHQ1U21Hb0lzNW1TbXl4b0xhOEhuYWFP?=
 =?utf-8?B?NnZ5Smt6c2hsSy9mWi9ZeVB5Um51SFpTRzF1ODVSZjFXZndqRHgxZnE0Zjdo?=
 =?utf-8?B?YUVjSEJTanlzeVIvcGhIY1pGdXI3WGdvL2R4dFhQaGc3VkxoRFl0T1V6SllN?=
 =?utf-8?B?NlowSEpMSHRobTI4NlVpQWRPazlGWm8zMUV2cjFzTGkyQ3BzSk1ySkxaNGk5?=
 =?utf-8?Q?lV7BhuNLmcQR9bOh/Hitvg+i5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f18b262e-57b0-4c1c-3d02-08db929542d7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:43:17.3318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IL5SjDQ+KOt9lVtIEZRaW/67tTobAbyQLqavEBQJRl5YAd4QkNjPhAsOcdOH81SAt7gECE1BldePsrTFOW7sWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8175

On 01.08.2023 15:35, GitLab wrote:
> 
> 
> Pipeline #951705012 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/xen )
> Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )
> 
> Commit: c2026b88 ( https://gitlab.com/xen-project/xen/-/commit/c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8 )
> Commit Message: xen/arm/IRQ: uniform irq_set_affinity() with x8...
> Commit Author: Federico Serafini
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #951705012 ( https://gitlab.com/xen-project/xen/-/pipelines/951705012 ) triggered by Ganis ( https://gitlab.com/ganis )
> had 11 failed jobs.
> 
> Job #4777864648 ( https://gitlab.com/xen-project/xen/-/jobs/4777864648/raw )
> 
> Stage: build
> Name: opensuse-leap-gcc
> Job #4777864742 ( https://gitlab.com/xen-project/xen/-/jobs/4777864742/raw )
> 
> Stage: test
> Name: qemu-alpine-x86_64-gcc
> Job #4777864646 ( https://gitlab.com/xen-project/xen/-/jobs/4777864646/raw )
> 
> Stage: build
> Name: opensuse-leap-clang-debug
> Job #4777864652 ( https://gitlab.com/xen-project/xen/-/jobs/4777864652/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-clang
> Job #4777864633 ( https://gitlab.com/xen-project/xen/-/jobs/4777864633/raw )
> 
> Stage: build
> Name: ubuntu-bionic-gcc
> Job #4777864636 ( https://gitlab.com/xen-project/xen/-/jobs/4777864636/raw )
> 
> Stage: build
> Name: ubuntu-focal-gcc

At the example of this (the first one I picked; I didn't look further):

../qemu-xen-dir-remote/hw/core/qdev-properties.c:974:1: fatal error: error writing to /tmp/ccxkeJPr.s: No space left on device

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:45:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574216.899462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpgm-0007fH-6a; Tue, 01 Aug 2023 13:45:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574216.899462; Tue, 01 Aug 2023 13:45:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpgm-0007fA-1o; Tue, 01 Aug 2023 13:45:28 +0000
Received: by outflank-mailman (input) for mailman id 574216;
 Tue, 01 Aug 2023 13: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpgk-0007ez-Qr
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:45:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa381060-3071-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:45:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8175.eurprd04.prod.outlook.com (2603:10a6:102:1bc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:45:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:45:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa381060-3071-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DW1zceUW/l+lBh25JXeyA4sQO/DzHP9WnDq8V4lFBbY7s81cyEGoLkUt7EeEMk9U9REhW3BFTIEtYgZTBEjDnUpJEiAh3/CeHUsEYeH+1sMHVSCFHB7lplnOfAoZqAVbb24SfJECa17eQwquBONSi50cKJK0s9GYo3oCqkP0KoYY/e2kE5JZ4zU9cTTQr+T5JJWKyEiUTFMFjP31POhzasJ49Pw9Ckams/P2FRuu5SXuF/ArXNi4++XUzsYyM7DxSdE6hj9IGG9Wo7QWaAt9TEoouZHKXH0xxlvJmQ1/MLsJW1ZJbFtPS29HNTkOCSSo7WMvViNHfJvc3+z+06qglg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RF5UILdxX3+rsRR/QOoKs/cOA02ZmELD24IGI/l96TE=;
 b=k3rXhs4nuU9+NrDHe3fVbXkH7Mi+dUlusIoeUfXrfEwE6h3qPTa/MNDcWxRRYjxhKR+vNWIDBssC+G6BWWws+hKwyjtTUKWMLvqpV/my89tyzfd5sU9NiT+AMJqOesjgLjeQzdVkG1pVXkhbPHhfcLpTXSN0mH7SwIqQ85xKZprU/Xaw6h6iQUf+t6b4Drks2eYjLe85VKyzV1yhtd4Hu0A9k6i4rb3RbusxHpNuFXWggm4KXa+DY/fsGxZY4PbK+eYy8habiXp0mOgLtd3pBDKmSe4NPPueZ6E6isF8oiCuAtoBn5Tl/lN2ejhR22yzF1m+UuI0xY8wCULc1P6Vsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RF5UILdxX3+rsRR/QOoKs/cOA02ZmELD24IGI/l96TE=;
 b=YdOpcSD7qoK3tgbpcTohxrYMSXOiyXPkGq6nIVics+nxa2cWo5gu6LsAo0KbcfioFruEQYndCl+mFS4gYnYSTEtNv7iMwTc8+vPVrsZncqmscZ9Hh+z6oUDBbUUEcOTeV4T9XdX8BwCsEgfqaR6ihAoZBkPclqx9f94IHbqb+08nALTM5EIHA3RKf3R13pGeH7mWK/0rL2aGzxWUBsbIZo7itXzqEmJb0Q/AB48bLQB2pNxezk8tMJbT8nMM3hA+Goss+/HDZNGBXmSRrnyyw/AuAx1oa72/nVqOcwaIptP6RF8SHFwhhZHO1uN3HfN0P0OP+jk+ZX5AMUiyoLrQaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad19f1c8-6d64-cee0-313c-62f78fe5b22e@suse.com>
Date: Tue, 1 Aug 2023 15:45:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH] xen/lib: address violations of MISRA C:2012 Rules 8.2
 and 8.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <18adbd526ec48a83ace2d9049671d3abd2f9c45b.1690873427.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <18adbd526ec48a83ace2d9049671d3abd2f9c45b.1690873427.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0142.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8175:EE_
X-MS-Office365-Filtering-Correlation-Id: 83bb88ef-ce61-47de-abf8-08db92958d89
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ieuZ0A1Zto9bUqVMz/H3ltVo8YRYN5xCXl7traiPY5oROUAQS/JF8JYUCeTXAhwjjCwHkDS/bDzAS81dwmQkG+hTkP0Z5rhvWPwunG8FI8dX9XtVkFZes5nnTAKAcUX2foducCTXtL8UHc9Ib8ZFYk6EfwV5gNOqTLdpeDtc/DZJeyoqWDB8SAnPACRdBWbUoGgSZg6eYHypBIGUFZGFkC04p69401GDDS7aDXYLAVIm0fEp+KJaW0uyF55LGtQngDWeBsh7JCXI6dUF4v9HxwmiDs/cwIjGfoDxzyhH9/NyW1/qqo1IXJxcJTJt+IxEvj1SdhaImrFIco5ZUshpiraIAV9pxvuud7mqp0OiqrJFAY9YhRkwMIplMEF7A+UeBM4nHFbhmRpbOjhilF3n13byI30dqtXf7TyJ3zuhOQ5YS/C/jVjoaXIk+LaMOMkiCnLvJcDZACfQ2a/JS1L7Cr1OyKUe8HVgRPc6+kOFMVrLZ3+0reis6G7oDQx0F4Ze5akByRviRAn2l+GGRcEHu86SgUW2xOmwR/f3y2bfay38XImFoQMCv3zQRWPfKVe1OlhYHHakx8KP66CVcNFCId3mzgWpJRElwixgvwP8oICiuN7YDLImVLB050V5C84rCxRYSJinQ1dumsJod7LKJg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(396003)(366004)(39860400002)(451199021)(6916009)(4326008)(2616005)(2906002)(4744005)(86362001)(186003)(316002)(31696002)(38100700002)(31686004)(41300700001)(478600001)(6512007)(54906003)(5660300002)(66556008)(66946007)(66476007)(53546011)(6506007)(26005)(8676002)(8936002)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2c4NGlQekoxUzdrQjc0dUVZcklDdkNkQ0hJeUN5UUlOWWFrRG9wUHErd3pw?=
 =?utf-8?B?SmlzeXRJTFJTZnpyTDNoYW5Qc2JwMGI0NWJicUVveW5idUdwWWdQeStFOVAy?=
 =?utf-8?B?dXpTSWFpQVhSWlRnNWxIKzVpazAwUGNMcDdlR0psMEdxcUx5OGtaZ0NaRHRt?=
 =?utf-8?B?akgzN1A1NzArZDJ6UnlqL0NnVXQ3cUhGRlFnbXZPekZ3bnFCT0hnUFJCRDZz?=
 =?utf-8?B?NDJNVS9mZUhnYjNsWDNkTmd2MDJESElUcDFFR3IrWjFTZ1c4Ynp6dVZvMnhj?=
 =?utf-8?B?WS9mbVE2Z3NqZG1YMTNuaGo3UFB3akk0VGVWeU1VOHhSV2tva01icE9ITk5N?=
 =?utf-8?B?UmhkOGU5d3J1UHpDUXhtWTU0OWt5NHFxV0dJd1kxTmdMYmluR21kZXMxZkkr?=
 =?utf-8?B?QVpIZjh2bEhOMzlXN3pjdjhGTmU4SjA4OWFqaVVyRHRlcVV5KzlUZTNEWEM3?=
 =?utf-8?B?SExkeXhpR1h1dmEwN29sVTBUUEY2TVBneHJncXRTOFNFKzgyemV3cmRaSy8r?=
 =?utf-8?B?NmlISDAzOC9ySUF6Z2Q4UTdPZDJKNk9OOGkrL1FlamtpSDZuRkpwbGpVdHNB?=
 =?utf-8?B?MFUybks4aW56TjJ6TWNPbHNZTzZZdkhpWDd2VXF4M1I4bExQd3JLNERRdjdV?=
 =?utf-8?B?Mm5RRTJDTmQyanhsT2Nkcmt5anRHYjYvVlhXallHU21CYTd5dWZpWG1JdDRG?=
 =?utf-8?B?ZUI4N3dtKzgreUt4ME14K0diMFpCQ1ZyTUxsQnZMenZjV3hPaVY1bTVMU3p6?=
 =?utf-8?B?cUVHbi9JSEJnYWd3MzR2MmowandpREhLeXhWQnBjZitDRU1yWXdtSCt4U0kz?=
 =?utf-8?B?aXU2Q2E5b0J5ZzhqOTlkeVlaN2E3dTNwWEcvRnJsUzRkeXIxNzFPbXN5c0xR?=
 =?utf-8?B?SlR0SGtjcWJUTDZJbnBvaEluUmVhR0dEVlM1b0ttbDRWYmdDTFp6LzByM0lv?=
 =?utf-8?B?L1drRXBEUHVGVW5vYkordjZCbmtxb014dTZnU0tjNHdOeGVpK3c0bEQrT3ZQ?=
 =?utf-8?B?enRjWVdxZHJWMnNjT01tSTJ0eDJzZlA2TTBTL0FtbXduS1NHR1ltWGw1N1Rk?=
 =?utf-8?B?QmJxaE4yZVF0OTY0QTVnYzBYbzUvNjQ0THQxS25UbS9HODM1cDJLZzVrNngw?=
 =?utf-8?B?TWZaN0ZORXo4MW5JT3JvN0JYMFU0SDNTaG1Bd1VvVzhiNXc2WUJmV29oWGNG?=
 =?utf-8?B?czl6aW5ubVBDWVowQUZTVzdXcTBFcU96QUI0OTNQS2YvZy9xWjBRVWI2dnAx?=
 =?utf-8?B?NUZhSGxWd3hmWXVFT0h1enBJUDN3Wk00T01rSjkrUzZHY1I2Mk44YmR1Znll?=
 =?utf-8?B?K1ppZ0Uxa2xnSE5hTG5tUVdET3VOKzRFMU5xc3ZrWE1aSTNhS1pqSmpSeGhT?=
 =?utf-8?B?MitHZitVajlUenBJT0VZazhFQXJ2TVNNTSsrWm5lTDNUMzkvS3J3THUxbkNp?=
 =?utf-8?B?YU40RTFjQ2wwUThPQ0tYNmNJclZobVkrbStXNDJUWVZzcjhlamZQU0ZyL0N5?=
 =?utf-8?B?VThxYlZNa3h5MmUyNld2QTkrY3RoS1pOT096NVg0TjlEVFlNSi9wSHFHWHRO?=
 =?utf-8?B?SkRMUXRXVTVuTERqcGNwZEEvRjJHMkhaTTNQWlN2azZ5TkJVbm93QTh1dk5W?=
 =?utf-8?B?eDVnR2U5RUlNNk9TQ280NFdnOUc5cUJJaTV6OWhzUlh2ZVBGcC9NOGpacVpo?=
 =?utf-8?B?Y1hlZUNWK2dkdDIyTkhWUm45aHdoZVhxMVNueDZZK2YyMGVXbzN3UGtCOFBj?=
 =?utf-8?B?d3ZhYS9xVDZvVFdPeFBabE5MMm1HY3hjTHhUM1o5eVhQMmRBbjRZOFpIb1Y2?=
 =?utf-8?B?NkdBT0RsdzJKUVUxdFdxbTUrVGgramMyeit3RDkvUjBIRW1SMXhuazBnT0p5?=
 =?utf-8?B?cTQ3OWRPQVdac1ZzYUNsZEt6V3kxbnB6c0JEUkNzWmZEL3NVa1VleW9VWG1T?=
 =?utf-8?B?aHJlOWdHN3FzRERGbVRiV0JiZW5IUTdsb2NISnNkeXlPSGtxdU1pdGprZTFS?=
 =?utf-8?B?TnBWQks4SnJaRHAvY1htWFdBbEFjbVFQd0FGUnA1MjUwYld2Q01rc0pjMGg4?=
 =?utf-8?B?SHlJdHo1c0VQK3h4eVJEK2pwUDc4TjZGNkpyU2ZDV1BDWGpmSUlYeGs0Q1Ni?=
 =?utf-8?Q?M5GDv55BbBAgSa5n8eEmZHZAM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83bb88ef-ce61-47de-abf8-08db92958d89
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:45:22.6796
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /FrajwvgNx3BhXU/c7tTOvS+L0fCKzopUks+3j2aPx8h8nvYMnyY2FwfP1o1ohaaYuJyXXsU96UJlkyxbfWidQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8175

On 01.08.2023 09:05, Federico Serafini wrote:
> Give a name to unnamed parameters thus addressing violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between parameter names and types used in function
> declarations and the ones used in the corresponding function
> definitions, thus addressing violations of MISRA C:2012 Rule 8.3
> ("All declarations of an object or function shall use the same names
> and type qualifiers").
> 
> No functional changes.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:48:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:48:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574223.899471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpjL-0008Jn-Nl; Tue, 01 Aug 2023 13:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574223.899471; Tue, 01 Aug 2023 13:48:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpjL-0008Jg-L8; Tue, 01 Aug 2023 13:48:07 +0000
Received: by outflank-mailman (input) for mailman id 574223;
 Tue, 01 Aug 2023 13:48:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpjK-0008JF-ET
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:48:06 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe13::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a42e769-3072-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 15:48:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9228.eurprd04.prod.outlook.com (2603:10a6:10:353::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:48:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:48:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a42e769-3072-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BM+Ylq7dGahQph/Qj1AQspYBh3eb0ovcRqKNbmCC1TAWJKUfYSGpYglmARowTo5L1YYY0Qk9HuNS3zdQytT807ZiNcSQB9emyGC0PuvGlq0oj7ZvvMtd5+gOw6oguEBPCm0fL/vU2rvscxQmx/kh/lvZrTc9/7HL4+m7i8aNn0dOq0ulvkhOtwUt6fxzJ11UcDvfqYcs+KBKPDZR3H/A2tuyc/Gg39VV5fixQnpaKDae8Y7SHq7E9UYDKzacUHS0biB9uvap9pBhSOfu6GnrNuMoJAe4YpK8REKs4pWIz4H/ICLA0/WjOXgjDN4mz3CJ7alZf5FS18/b01NGSO/uvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YphD5DSyEpD09Z5GHtJ4XjWYPjpu6zR/PRBsmuYun2c=;
 b=hAIZkJEhpOCF5zMRt/V5dQk4hczHdno2eOq+2aWMZy0b90C+C36nI7foizlGKIFWxrKAfcoabIRRWR1U+iD1FlUa9O3ZJre57LYC1LyK9G21luE3ROyOkIrDbewBbmdttzN+Yu2vyZEVu8o29D2KiZ80tcd+kV7DoA8mME9gccp6XBUufLisMx/yr+CEKQZcFr8n382mT7JbqLSQGzYEb7lagKzJzUO98D/KTpnQ4Zooly7b2khCRc+PYB+1Lm5SB+rh9bYcVwhxCJDe9otaYorllnio9YHjrnQwUxiUa/Co21g3Gx1WBzHMSi+K9QUohYabzsyWhkcJSWvf8luAkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YphD5DSyEpD09Z5GHtJ4XjWYPjpu6zR/PRBsmuYun2c=;
 b=IIqkaW0PcVMAG/Fv1mtJaRqw5p3RV98L/8N/7HjLBmSLeUxzWQyBj/CzLO35hcx8BclgGSCMHBTx1Z9VY2Sx7gjP4ZwzfYm6AqIzdUH5mN6BZXM2kpQAwY2nmQkPCWB3j9/fdlTenH0/ArgBFwODTLUpescibVulHz9/G88A4fOhp6UzfOBkPgw4Kl3vNbZdTjts6N96odeDAfqUcCVjjvaBCvWLGBEFUnueFmYVYhO9whKJVidgByVnrkof+PQEHjStY1z257Daxq8sq8pa3TrWohjcS7+bAgV41GSxc9kBAReNrqhn+/m6QdRGaj+UJ9l1cFlXBZKEL3+VbIKfLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <362e0c38-c799-eb4f-af32-3827ec223129@suse.com>
Date: Tue, 1 Aug 2023 15:48:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH] x86: mechanically rename to address MISRA C:2012 Rule
 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <6c421b903cf11e4dafdb0883e0401ebc2d6cb318.1690880275.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6c421b903cf11e4dafdb0883e0401ebc2d6cb318.1690880275.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0168.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9228:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f1dd6d9-cc8a-42c4-63cf-08db9295ecf6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pi3oeX1jE8kPt2eXqnmr5hem9kJxAhs5WbihVv5rc4nZjuaiRbGU/I47mCmuYM9mqkLq4T87tJdwpO4W9ykZRVqwOKPuNm86b9o0RbkdM2VyktL3fowy4jYvLje7r/smaEEkKIIvkCvsRra88VqzlJoAcQSKeBJ7+XfyO/NqSxwVSZH36fxIqK8lYrtfAdo68la3Pul1+MkeQsP64m3uGiZSsppB2m4pxDrFdFD93r/ueXndmVoO8aQX9ps4rAgcGm66bOa3kTtPd0g/mX7mAafZcvDG+i6IG8mqGa6UDgmVgWhBFdxYpAPyEcDrfbPfrzSv+wcm44GXZbllnASQNNzgqnktT+NpJw53eg3gYfLOmW2PAzHYkCb1I7s0xLEYLpp06ZsdzgDybswsPBJqOrl1PgoMTp+fhAl3e0q/G9oqCH5N75slOcFobgx9eGuuSWIdmdsj/1oepkwzV5ON55FP6Nkl5BO7jlD1FpKro1rX3dAIn1AWsQuLlMucmpqPQ16DZkKTXfXqpGPgQvUQ7J3ASHkWiSea82/SDLD3FsU9jbE1+dH7nIKTOcR9GkPhDbtQWzcxce2g/MaDqz3LUXpMMfCQPwhZvf7RoPrhJcV+rk5fHWxtZSVVvPYIfF0GetwXdQrBj3rLuPPDpS383zyUQelvr+P/HoeZgj4UYR1wqYHV7NeNL9uIPlVvMOr6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199021)(8936002)(8676002)(31686004)(36756003)(6486002)(41300700001)(478600001)(2616005)(2906002)(26005)(316002)(31696002)(186003)(86362001)(6506007)(5660300002)(66899021)(7416002)(38100700002)(966005)(6512007)(54906003)(4326008)(53546011)(6916009)(66556008)(66476007)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3AxRUFmUGd2UnV0Q2xQTkZQV0FmU2ptRFZQTVRFamRXS2xDOVJlMC9aK1hv?=
 =?utf-8?B?MHVILzBwbU9LOU5wRkloT0MyYkJLTDVlRXFaU0tvRzZ1UTNjei93OVN0UlZ6?=
 =?utf-8?B?Vkp4b3gyYzAzcG0vbnJRZEdnZHlsbzI5Q1ZIY3cxQnA5YSszYjJxd2lPZVlv?=
 =?utf-8?B?Nk84ZGo4VmdoQXh5L2lBSjJlbFErOTB0RXhFY3c4Z1lkd0pjMWdCWHBvNS9P?=
 =?utf-8?B?Ykg1TG1MeE52TGI5bjhVajVBZ3RNbGphVU5qZ3F0RnlBdHRUUVhnOEJOUWZh?=
 =?utf-8?B?UDBMT2g3Y0ltQ2JlNmEyTlFUTjZQbTVpM1FPK2F2TnNWVHVKOEQ1SFNVNS9S?=
 =?utf-8?B?TnV0YTVJcDE3WFlqVnA3MUo4OTFkcStEN3Rqd3BrbzJtaHZzRlhGSlg0a2g3?=
 =?utf-8?B?MXdUQ0V2NjVQcUMzbGJIblc0TjdyWFdZWnZGZ1h4dThodzVjVkREN2tHZ2ZR?=
 =?utf-8?B?RzV1dW1pcFhHL09RRTlEaFlaeWd4SVhuRlZBUytobU5vVjNvRHRmVmtnMkFw?=
 =?utf-8?B?aHdiS1p1MmtvMkQ0SE93ZFFaSm9wZ2x2SHlnR2pLN3Z5d09qWGdIaFRuMHZ6?=
 =?utf-8?B?RjFxU0M2SmMrMEhMaUNQNlc1TVJwRzFuRXd5MFd4ci9VME1KbXl4bjVjUDRX?=
 =?utf-8?B?cmltL3lHZHlOazR3d1lqZjhqVXRScWJTbENPdVQrMHVZdFJyTW40dXcyZlFF?=
 =?utf-8?B?VjhMRzh1VUpCMFJlbERwMmJFMWdUQ1dLSzlCdFdDTEJ3dXNXQXJLOWpUOXNn?=
 =?utf-8?B?elVtOGFFVVBWcE1EWFJVWTBKWmtoNHR5M2J0NzVpdy91bk1zN0VCcWszWnhO?=
 =?utf-8?B?bUtGdFNDMlp2cm1IOHhGMDZJODhKZWt0MGVBU2xYL0NvQnVpZjlKd0hJdzA2?=
 =?utf-8?B?dEFFKzFLdWorS0VxbFdTS0xYV1lueXBxamg1Q2FsYTR0OVI5enJKN1AwbHNj?=
 =?utf-8?B?R3JGM0xlU1JjS0NtMm9rTGVZQzJzUmRybXBVZDV1TkZpMlpRdTQ5cklnYktB?=
 =?utf-8?B?STBDQU84TURtbmNsek53L3hsZzhRVXNwdFhDall3YmFrWnVVWURZdWJZMjUr?=
 =?utf-8?B?ckIvSFVXeDNjWHdsWlBldzB0MFZ4UjZEc21seTlxY3dWYVBOazREMVBFL09D?=
 =?utf-8?B?bnc4M3Zrd0Z3K2JHaXVxVWxkU2hyZVBqMzA2N2w1OHY0U0QyMFhhb3VLbFVJ?=
 =?utf-8?B?OVZvWDV5a21ialdCeWFtbm5GOHRab2VMVjNKZkRONnJERmNwcjRZc0NqdTNL?=
 =?utf-8?B?VEdqT3FxVXQ0aHhjdlZNVHdWN2l5NVlwZFBQYVp2QnhldlcxbUswNGZQV1ZT?=
 =?utf-8?B?QktaRUYzR3RBZGJrRlViTHNkaktzSFM0b2ZmdTd2WG9NK3NNUVNBdWdoQU9I?=
 =?utf-8?B?UERyOGZZd2JiQWxhYXVBMHBKVmk0WWxObHdScWdrVjFPeXN2ZEZERUZBN09R?=
 =?utf-8?B?RWgrY2NPNlZFUzVFNWY4Rm1CbHBCL21FbC9rQTZrUXlCdk1XY1krSStGT29p?=
 =?utf-8?B?c0hlT293R1ZybW13K0h4UWY3cU1VVHV2ckJkekoyRU9NaTREb1VMOHMxd1pK?=
 =?utf-8?B?cWc0VDZUWWNpTDA1R0tiYWMvRE0zS2lSZ3FWQnlIZnRzMmxIVW1nYk5aeFN2?=
 =?utf-8?B?aDdoa1FtZVAzamdPVVkvMlk5ekNadDRXSTZwRE9ta25zVUFNUUY0Sm5pT0pt?=
 =?utf-8?B?RXVEcnZ2c24zdVRLRkMzWW5iZnlwZVZLQmVnTTFYZjlpdFh6UndqMzNjNmNu?=
 =?utf-8?B?QTBKdEFHV2JmWW5BSVR2OTB5Nm05N3NZQmZpSzZqL3FZSFN4ZTZ2ZTRYWEFM?=
 =?utf-8?B?aXlYWlhsdFUwMHdsb0VmZUdudUg5T3hCbm1uSk5ONTBCSmoxNFlrbHlYV2JD?=
 =?utf-8?B?RlJDWW0rV0Jjam1vb0txZ081NFU0TER2RHZiU2NvU3lsOE9wWDBEbDQ5VVJE?=
 =?utf-8?B?clExa2didmpVVXhibmhXWUlPRVNnQjQ1QWtVYmdZeHJ1SVA5Z2ZBS2JNOFZB?=
 =?utf-8?B?dW4yY09nTG9pMkxwR3pRVHFtQWkzNFhmQjR3T0tzTEw4b1pESy9PdEpnTG01?=
 =?utf-8?B?VnZMcThMeDF3SkpoS0VvY0ovUWlSL0dHS2pPMStsdTRacTQ1SDUvVk9TcXEz?=
 =?utf-8?Q?Vrl2W+MJe7fSXvaSHs/LP3h6G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f1dd6d9-cc8a-42c4-63cf-08db9295ecf6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:48:02.7441
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6hlRarVgODUGUWZKV7oU+G62MWXqkv2CpTT8gZwBSHuw1LrZ6PN76n+DYGD72CSa6nSp4nCJm8PQejE8/ejz5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9228

On 01.08.2023 10:58, Nicola Vetrini wrote:
> Rule 5.3 has the following headline:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"
> 
> The renames done by this patch avoid shadowing from happening.
> They are as follows:
> - s/socket_info/sock_info/ in 'do_write_psr_msrs'
> 
> The parameter 'cpu_khz' that causes a violation in 'pit_init'
> is unused, and hence can be removed.
> 
> Parameter 'debug_stack_lines' in 'compat_show_guest_stack' is removed,
> since the shadowed static variable has the same purpose.
> 
> The declaration of 'init_e820' is renamed to be consistent with its
> definition.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

> This patch is the non-controversial part of patch 1/4 from series
> https://lore.kernel.org/xen-devel/cover.1690788513.git.nicola.vetrini@bugseng.com/
> The other part has been dealt with with a patch from Jan Beulich
> (not yet committed at the time of writing)
> https://lore.kernel.org/xen-devel/e9035197-b329-af2e-65ed-af31cd0375c2@suse.com/

(Just) naming this v2 (or whichever version would have come next) would
have been nice.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:50:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574228.899482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQplc-0001HE-5g; Tue, 01 Aug 2023 13:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574228.899482; Tue, 01 Aug 2023 13: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 1qQplc-0001H7-2Y; Tue, 01 Aug 2023 13:50:28 +0000
Received: by outflank-mailman (input) for mailman id 574228;
 Tue, 01 Aug 2023 13:50:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQpla-0001H0-Oy
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:50:26 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe13::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5de01467-3072-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 15:50:25 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9228.eurprd04.prod.outlook.com (2603:10a6:10:353::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 13:50:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 13:50:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5de01467-3072-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ckfpZ6uavn+QeeLKX72g41Fc4uEp3MkUfJkMbXyx81uzXWLOWVLUI868t0T5UWbsA8x0x/VIYlGxYh3kVK3qmkV61fUNcwF/DPnPP6TISR+sKp0cT4YonBjMryrcqrFUWb3MtyY74GP42Xk7mXpcO36pJd7/eZdSSs4FzRJQpf1aw2R8vVw5YuXoOz1g+mQJOndIs5/gJqWlkwaiFj7CJm1ySsW+vfxKvIdyrA0FIFcG8cEVYMQFgzeq5U3kruGQUaKQETlpm4hzEaA1t6nBQvoe1BoP01V/7T1jRffM/D28brQzMVxAhAgYgIw59eoS/cyiYLf3vxG/pYt8Pezeqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FvPg3IhUWh1TBgh1T8s3jZPBueX+NMrRIifczvw5C3Y=;
 b=HImhE4ZK2rePLlOv0tzG9StXiggxTOtIPMJ54RLXICXNpeFG+3hvuILtW/faR5ej8XmDTSTiAYjZNiY4HE9b/7u0X3e3g43cclpxYr6tFda9bPOrayAj8D4Hu2S3SAN3z7tQiIEYL2H55zE2O0nad/DgTmhtm/SaPsSbWmMl43w3wlSxFPSTxTnKjvwamlmHvoMFyubo+svQ2UV/ETnq7QAhzXDUYgU8Kg8ehRE0gbazVMxTJxtz6eJ+HTMrrgUWQc9xzqP5oniyEcACxzDH3aHePcmgXcCInEOi6g+AXj1Aw4KL5gzHoONqrzweiMmjyUjoNNoqhGOIp2Y1TmG/Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FvPg3IhUWh1TBgh1T8s3jZPBueX+NMrRIifczvw5C3Y=;
 b=1YA8vFk58or+Bpoal9kBa+pDsjnRnrdPcsxnrzgDvNejM0kB1vaaof5pV1xqIfatabUk8H5prADiz0kZsTBxsNNFSbR2uQ+tpw9yFM3HbnW3vlNfIELXDk4fPeb3OvD0hiHdrN4HCk9ieYGAgg0I93QpBM9mk3Ye0ZjQ+IMTq8FC9Se1ZLFeyPfKHdVOWBtPn51Dvh1ZnKOokeGAkBwOLufs9RdUQWrIh+ejTodh6OvqtsN3e+anXCFGPgEUgI56iWiX7BKKl51/oQiU0oOieP+mLJBmmjFWttywXbP6WhEc4bWH6i1FpYS6dWMSzboPBH9kivPXRqkznP/QOjBX1Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4200c47e-6626-506c-1a17-991aef6e0be1@suse.com>
Date: Tue, 1 Aug 2023 15:50:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH] xen/spinlock: address violations of MISRA C:2012
 Rules 8.2 and 8.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <29b6a47a2711f065c02a3d2d94e1a201986cf015.1690882872.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <29b6a47a2711f065c02a3d2d94e1a201986cf015.1690882872.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0151.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9228:EE_
X-MS-Office365-Filtering-Correlation-Id: 54246ce2-fe19-4e37-993a-08db92964136
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Uq6EqldjzXoSmd4x7wmKsLqD/T4q8bzEhqKkCMlk0AkJjpdBSI+owHwCgGVSue+Ld0M6aIVL1nxWfJnrhEZQO3GtSTE5qiyky+zBUu6DM+dizcPYBevZRZ97uK1Dr/3uvCPQ1vRsn2p4BR1ooinezjl5YCPfdC7wQvw90WSIMo0srt4igxj3YQjsvCfq2Cjmq+qo9S3Kw6gd1mpsMVaV50hgjusLAvTFyS4CU1DIGuTPwQPLh1e9/BNx5uN+504bFkJC9i3TXqE6RcePdp/5q4JO7wicecJI0XXxgj8pW8U8vmkxd1px27VjndN65ag/MG2B7g6/+pvsTAiopOEVbETlLdFBY5ajPmcf8AVYvDa1XKExzhBkA/CCBpLe7fiLlD84+C8dXO2XX8tQFyT1jMgd/lipyN2SREwVPEpnzVgjgUTaqyBAUjflVS62OcbC3InVFmk+wmCJKava5kyJpfvj3Zu5P099JGxp6s558Fs8xlLCsNWEC+uEyk+StjKf4uZtBAkX3ZDcQyJvC2LBcX1VngMLJnSBVJSsVSht5ODfr6Uwyu/U6iEj8xcEkphLrsiR0/x9y3KfSc9qDGfasb/KiXIqknVn7mlzhq31vWFInlRuVP8MT8I4rrDW2waHO/2CFxR7f+3+vF71Lad+Xg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199021)(8936002)(8676002)(31686004)(36756003)(6486002)(41300700001)(478600001)(2616005)(2906002)(4744005)(26005)(83380400001)(316002)(31696002)(186003)(86362001)(6506007)(5660300002)(38100700002)(6512007)(54906003)(4326008)(53546011)(6916009)(66556008)(66476007)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YW9ITytxS3gzS2svMzJlMXY2Z1VuMUxiaVVnbnI1akhZS2xJZzB2VWRwRVIr?=
 =?utf-8?B?S0VMOVVML2Z2d1ZhY2VrWFMzYW82MlZLSnIybmg0bEt4QU4waW5USS9vWE9s?=
 =?utf-8?B?V2hPbnU2VENXamxDdEgxclpWVzZMYWVaUDhDR2N5aEl3NHg0UnhJWkpGZFJR?=
 =?utf-8?B?ZUg5bDdqUnZtQ2VOZzYvSUtUSElsS1FZKzNaOTdCQW5BbUs3Q1JLTURrT1Av?=
 =?utf-8?B?V2NIU2pzY1c3Z3ZGaHY2elVjRndETTFEUGVBRmI4aVE5UFZoNitVVGo3T3I5?=
 =?utf-8?B?dnRWZklTWGM0UGgzdzk5a2NWVC9ISC8zbVBDeWhwOXE4eFZ1Y1hiR1QvNFI3?=
 =?utf-8?B?N2xpdmFFRkJHdk1OcGRqNjVGbHJpbEUvUHFLOWE2UUJRUnY0Y0ZNQmRVZXNa?=
 =?utf-8?B?OFRqb2c0UTRyVG9JS2VxVmk4R1QxdEU5STJwK3FleVNYWmVBaWJaMmQrcE5l?=
 =?utf-8?B?NEpKK1NkL2pxeEUyRzVQcmhpbkY4b0E2MDlQd0dxUnNTOGNBUDJqbkhvS29M?=
 =?utf-8?B?VWNodnhZRmw0TkJvOHBvQXV6eURWdXFoNVhpaDZZdnRBaGFQZ01Xc3c0ZTQ0?=
 =?utf-8?B?ZjEwc0pVZXJBSGgyczBqMDAxYWd4SmZDWTB5NjlPSmlNVDI3cmg4VzNQOVJo?=
 =?utf-8?B?OVcrMG16aU44ME96cDJ5L2xlZUhwS3VjMEFZSUkyOGlHNzZZdmFZSkNEdm1z?=
 =?utf-8?B?UTNzQ0NkeHVpZ25IVHRyanZpZHFyOTJrRTRneHlqM0p4TFJ6TE1GMitJbTd5?=
 =?utf-8?B?bStJNkU5MFNZRllPeG1kVUNyVUpYS1l4akF3dTZUYkxaaWtxbmVKWk9kQjFn?=
 =?utf-8?B?VVYwYXJqUlVpcjM4MENrYVNHWFZUZ25TNGpKVE5SbHhjNWlsWEZ1d1ltdlk2?=
 =?utf-8?B?SmhHd1dSV3crd0d1SFJVMlhpdVlkTG0yK3BUM29HdXRoampERi9Mc1pOQkV0?=
 =?utf-8?B?bFQzRnZWUVNYMURNVmJweXR1Qldzc29hMUhTTXdwakUzYWhFZWJTVDh0VFE0?=
 =?utf-8?B?MmtYZGoraXVSRHRSUWVoNDJEQ2YvR1BRaUNIcEpVZXNIbUVpdHN6WGJNWHIz?=
 =?utf-8?B?VnlMcFozREZkMzU0WjdOVmZoaE1LSUdreS84T1dha21ybnlmOGhuY2hhb3lx?=
 =?utf-8?B?RVEvMnF4QW9zb0JuNFNkVjRiWVoyZ0duVVNUU1ZBdG9JOFNScDcvTElPanFz?=
 =?utf-8?B?V21rQVEzaDE2K2ZWSE5DMEV5RGxsZ0lGZjY3VHhkaWVBa05jVnlxSlQwaVVN?=
 =?utf-8?B?OCtGTVNNdWdHbmdIV2JOYnZYaEpFY1lzUnUveWtXYXpKNXdJUTE2a2NMQkE5?=
 =?utf-8?B?TkZROUxpeXFaUzBQWXJDRGk3eVgvQlBsUGZMRGpDd05uSWMzVHpPRXphekhC?=
 =?utf-8?B?NGhNWVhIZHRZcnRCcy9VSElwY3VNbmg5VkVBdzRPckQ2TUZVOWFnQjN4bEFC?=
 =?utf-8?B?cG0yNjJhcGsxNnZGZElHa2ppWVBrTWIza1BLOFE4TDdvQlNvUG1ZR1EvR3hr?=
 =?utf-8?B?bzRYTDF4ckJMajE2ZXBDc0xudVkyOHA0UFNZTVZmT3Fndm9PK09ZaE0xWTkx?=
 =?utf-8?B?ZitSUHFhMG00Nkl4MXJEQUovWmJOb0x3KzYzOFhnQTZCUkttMTl6QjFMZUZM?=
 =?utf-8?B?WG81MnB3ZmdRNXllK2JJS3NhMytlQmlheUNXQ3lTbk5tVnRwT1RncW1nQ1J6?=
 =?utf-8?B?cUxxcERmT3RsVmYzakNqQ0lqc0xhaFg1ajhhN1Y3RlhjZUtYT2VzblE2TXE2?=
 =?utf-8?B?NzFUQkVRbWt5aDNDdWFjZThGbng5eVdCS29tUFVsMjR0V1h0MU40R1JneVRn?=
 =?utf-8?B?UVVGOGVKTWlOZURxakliK0dRdjFFNENieHRubnFuTDhhcE5YaWZBTFhtUnEy?=
 =?utf-8?B?cUN0amk4N2R3VSt1MEhiNndYRStXK0gvZ2UxejJlRytXbmxVWnVxYjd1aGoy?=
 =?utf-8?B?V216c2JWUDU3SGcvSXdOdkpGcWRUaWhKUXR4RmZVQXp2ZjlVOXRBQkhxUy8r?=
 =?utf-8?B?d1N5MERxUVJoZEVhbE0zWDJjS21QZXZPanZSeG1yS21kSnBIb0ZGMEN1M1o1?=
 =?utf-8?B?S2N4eWI4TDJBcUhMc2IzUjNJUzF6K2Q4VmUrQk9yc1czWE4reUR5OEFoNUF0?=
 =?utf-8?Q?/k+Ld8f18cYFLEQEmcgKYRMo0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54246ce2-fe19-4e37-993a-08db92964136
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 13:50:24.1017
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4Lr415+olxs8K/OCGyTSdGqVIkqnBOXOS7EOzzfYgHOSCZ9r4rYopz0cqpFsLHzbitJnoCYK5ZLEnajpZDY/0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9228

On 01.08.2023 11:46, Federico Serafini wrote:
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
> @@ -125,8 +125,9 @@ struct lock_profile_qhead {
>      } while(0)
>  
>  void _lock_profile_register_struct(
> -    int32_t, struct lock_profile_qhead *, int32_t);
> -void _lock_profile_deregister_struct(int32_t, struct lock_profile_qhead *);
> +    int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
> +void _lock_profile_deregister_struct(int32_t type,
> +                                     struct lock_profile_qhead *qhead);

In adjacent declaration it would be nice if the same line wrapping
style was used. Can surely be taken care of while committing. With
the adjustment:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:50:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574230.899492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQplp-0001aJ-E8; Tue, 01 Aug 2023 13:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574230.899492; Tue, 01 Aug 2023 13: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 1qQplp-0001a9-BB; Tue, 01 Aug 2023 13:50:41 +0000
Received: by outflank-mailman (input) for mailman id 574230;
 Tue, 01 Aug 2023 13:50:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gjSu=DS=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qQpln-0001H0-Pf
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:50:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65bcb690-3072-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 15:50:38 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 58C894EE0737;
 Tue,  1 Aug 2023 15:50: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: 65bcb690-3072-11ee-b25c-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 01 Aug 2023 15:50:38 +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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_P?=
 =?UTF-8?Q?au_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] x86/cpu-policy: justify a violation of MISRA C:2012
 Rule 1.3
In-Reply-To: <e2d88673-c4dc-1151-182b-07cbd40e924f@suse.com>
References: <9ec42e01258968d2dc71d59c5ad41da448a7112e.1690895099.git.nicola.vetrini@bugseng.com>
 <e2d88673-c4dc-1151-182b-07cbd40e924f@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <3f9c68649fa1e5ca4151a46a110a8b8c@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 01/08/2023 15:40, Jan Beulich wrote:
> On 01.08.2023 15:06, Nicola Vetrini wrote:
>> The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
>> struct declaration to have no named members, hence violating
>> Rule 1.3:
>> "There shall be no occurrence of undefined or critical unspecified 
>> behaviour"
>> because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
>> "If the struct-declaration-list contains no named
>> members, the behavior is undefined."
>> 
>> It has been assessed that the feature set declaration is intentionally 
>> empty,
>> and that no risk of undesired behaviour stems from it, hence the 
>> struct
>> declaration is marked safe.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> As agreed during the MISRA C group meetings, this violation is dealt
>> with by means of a comment deviation, as future changes may eliminate 
>> the
>> root cause, which is the empty feature set.
>> My justification for the claim and the commit message may need some 
>> adjusting.
> 
> A reference to the compiler extension would be nice; the use of 
> extensions
> (which generally are well-defined, even if not always well-documented)
> should eliminate the UB that the standard specifies.
> 

It sure is a good idea to specify this. Since the use of this compiler 
extension is already
documented in 'docs/misra/C-language-toolchain.rst' I can just add a 
reference to that
in the justification.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 13:58:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 13:58:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574239.899502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQptO-0002VJ-5T; Tue, 01 Aug 2023 13:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574239.899502; Tue, 01 Aug 2023 13:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQptO-0002VC-2q; Tue, 01 Aug 2023 13:58:30 +0000
Received: by outflank-mailman (input) for mailman id 574239;
 Tue, 01 Aug 2023 13:58: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=nouE=DS=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1qQptM-0002V6-Jr
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 13:58:29 +0000
Received: from mgamail.intel.com (unknown [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a14cbe0-3073-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 15:58:24 +0200 (CEST)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 06:57:59 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by orsmga001.jf.intel.com with ESMTP; 01 Aug 2023 06:57:55 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1qQpsm-005MX9-2k; Tue, 01 Aug 2023 16:57:52 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a14cbe0-3073-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690898304; x=1722434304;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ZKIy+hH5QB+KBuMy5Vbg4Dhcb8h2GptMzqQNMbJ5fGU=;
  b=cxaJWq2SuAMDVIwUPtisnAfJnEyWqk6PJGyJI7FgFXdOrOa/uErM27Hp
   +NqPQWx+qiE16jc8bAHywSdJl0GXb/w4WSMzRTvGpnGs/T3WlG6rHkFBD
   sFtZ4AYuN7ABb0kUTSZLaT0GEOrd8R1fNlI1H47G0iA3lfYP3d1qzWlty
   gnrePRbXgjJCMKwY2sjjwnnuGMAOUU2xwxI2J08U1/lQ1ySYI2Xa/Rts6
   NXojIWQYEwtMHbbLHK46XLgCNipCYBKU0hninmLw+4GsO/CLvK+2cIn9D
   7lTXDgolHMkUHPbHqB52/LivRnwAgPNDIdOQso51DWr49IEP0IC/+I1eK
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="400250896"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="400250896"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="763772313"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="763772313"
Date: Tue, 1 Aug 2023 16:57:52 +0300
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Mark Brown <broonie@kernel.org>, alsa-devel@alsa-project.org,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
Message-ID: <ZMkPYFblXjxah6Xt@smile.fi.intel.com>
References: <20230731154718.31048-1-tiwai@suse.de>
 <b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
 <87h6pjj2ui.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87h6pjj2ui.wl-tiwai@suse.de>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Mon, Jul 31, 2023 at 09:30:29PM +0200, Takashi Iwai wrote:
> On Mon, 31 Jul 2023 19:20:54 +0200,
> Mark Brown wrote:
> > 
> > On Mon, Jul 31, 2023 at 05:46:54PM +0200, Takashi Iwai wrote:
> > 
> > > this is a patch set to clean up the PCM copy ops using sockptr_t as a
> > > "universal" pointer, inspired by the recent patch from Andy
> > > Shevchenko:
> > >   https://lore.kernel.org/r/20230721100146.67293-1-andriy.shevchenko@linux.intel.com
> > 
> > > Even though it sounds a bit weird, sockptr_t is a generic type that is
> > > used already in wide ranges, and it can fit our purpose, too.  With
> > > sockptr_t, the former split of copy_user and copy_kernel PCM ops can
> > > be unified again gracefully.
> > 
> > It really feels like we ought to rename, or add an alias for, the type
> > if we're going to start using it more widely - it's not helping to make
> > the code clearer.
> 
> That was my very first impression, too, but I changed my mind after
> seeing the already used code.  An alias might work, either typedef or
> define genptr_t or such as sockptr_t.  But we'll need to copy the
> bunch of helper functions, too...

Maybe we should define a genptr_t (in genptr.h) and convert sockptr infra to
use it (in sockptr.h)? This will leave network and other existing users to
convert to it step-by-step.

Another approach is to simply copy sockptr.h to genptr.h with changed naming
scheme and add a deprecation note to the former.

Thank you, Takashi, for doing this!

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:04:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574244.899512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQpzS-00044o-VV; Tue, 01 Aug 2023 14:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574244.899512; Tue, 01 Aug 2023 14: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 1qQpzS-00044h-SZ; Tue, 01 Aug 2023 14:04:46 +0000
Received: by outflank-mailman (input) for mailman id 574244;
 Tue, 01 Aug 2023 14:04:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ewA3=DS=kernel.org=broonie@srs-se1.protection.inumbo.net>)
 id 1qQpzR-00044b-HR
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:04:45 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5cefeb77-3074-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 16:04:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 47857615B4;
 Tue,  1 Aug 2023 14:04:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB7D0C433C7;
 Tue,  1 Aug 2023 14:04: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: 5cefeb77-3074-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690898681;
	bh=lI3n00luUKNfopH9HotLexiOPOuMEZpaKLOmB06ooZc=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=OEIpwVYkDq+meyS+F0NrjUec5s/e0v8SK2Iox7Y/zdkxJGa9HYCY+Qqv7P4WEfWkA
	 kAoMlWAh+2te7rC1NLxY/R2kSiuXFh8wAvmYJibLgpADDbLlPyB16g5LTBMwjlEn1a
	 G7PJjbM8fcOMRLDsi16jWNwGtrtbOMeTtKdLWHh8mu10k+SjrM2XtaV5pAZ4wWEZs7
	 c9odn6bRGk8znCKs/8LH6xAP+wHnp1AXA5K2jOPPBq43w9OqfSl9oJB/cc8ZMmTL21
	 1GOld3yySZ0K5npTLbN0VCfgXuNIqRPpImE/uS3azcZEP9z1QH5rL1s+UctXocUCsK
	 NCSFJqIkD2kfQ==
Date: Tue, 1 Aug 2023 15:04:34 +0100
From: Mark Brown <broonie@kernel.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
Message-ID: <f4cee7c8-4399-41b2-bb3f-5d5dcac37ca8@sirena.org.uk>
References: <20230731154718.31048-1-tiwai@suse.de>
 <b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
 <87h6pjj2ui.wl-tiwai@suse.de>
 <a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
 <87leeugbxm.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="VsD3ApJSux4lzU26"
Content-Disposition: inline
In-Reply-To: <87leeugbxm.wl-tiwai@suse.de>
X-Cookie: I thought YOU silenced the guard!


--VsD3ApJSux4lzU26
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Aug 01, 2023 at 02:54:45PM +0200, Takashi Iwai wrote:

> That's true.  The question is how more widely it'll be used, then.

Indeed.

> Is something like below what you had in mind, too?

Yes, or Andy's suggestion of just copying without trying to put a
redirect in works for me too.  I imagine there might be some
bikeshedding of the name, your proposal seems fine to me.

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

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

iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmTJEPIACgkQJNaLcl1U
h9A8iAf/VmHGSowoYOko6J42O7KZJk6ZjskuMxi0WOqbX1goKvceOkJwETo8Cfzm
MrLOBWuTXcN5avbnlMHgH9HUEXcDXBFq+IUj/thURpKG+qdVrdqIwhKMzUcobR5T
DwqVPa45MfFzLxWBZwtl1nYXit0CAgTpar2lRq9GCWfHv3dwMGLNmvI67USOGHN0
3F8lmVRbVBzlZwOU+CTq+VBey5YGevoARVwdbbjdCnZwGYFWsO8OSRX+L207+mGa
LUEf7DHkkhqnQn8YNjYJmQD9al7Yp1DWBPA9P33bVWXXD22WlsbTDX5ofbJUOVrx
roVhdFa8eRp+iqemnmwT0/1rr0LHoA==
=qtD0
-----END PGP SIGNATURE-----

--VsD3ApJSux4lzU26--


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:31:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574252.899542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOx-000802-EF; Tue, 01 Aug 2023 14:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574252.899542; Tue, 01 Aug 2023 14:31:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOx-0007zv-Aq; Tue, 01 Aug 2023 14:31:07 +0000
Received: by outflank-mailman (input) for mailman id 574252;
 Tue, 01 Aug 2023 14:31:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQqOw-0007Uu-De
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:31:06 +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 0ba77181-3078-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:31:04 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-4fe44955decso994707e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 07:31:04 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q28-20020ac24a7c000000b004fbac025223sm2568051lfp.22.2023.08.01.07.31.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 07:31: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: 0ba77181-3078-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690900264; x=1691505064;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z2wBe/2TT0oHArlSRwcilGBSfEqeRZv1FMy3mGku8To=;
        b=AU76X6HrvfCwR7orXC8F9s4jnlr6u2luF1+/ASp8aivUV2X7rvkYzmArwUonerDH48
         x03LklVGcIPHaCZ8R3J5x8NFxVCuZXpQFdu4+1z7HcT2qIorFTzgldS5TcYJt9b84BFH
         EDwvQAniErVgCPQO1Dmmpbc6a5DSQMrqUy/BhNUgwGRR1m5hXYvLNRKtlFwp1+djgZZO
         u9pOQJKcJx1ldyzW1iR6UmC9Xy1G5EAsE4KPX5p1cYchjDpR1pi4cv+32FvTdGTXtXff
         ZTP5mICQTU02F/obFhdZIoeNejBeePnHEizQuc043Bed8vl80tFFnoU8HfsK0cdiV6fD
         tMXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690900264; x=1691505064;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z2wBe/2TT0oHArlSRwcilGBSfEqeRZv1FMy3mGku8To=;
        b=RhvhpYq8CnmQSIunDQ3JHk8d/oh8+yRIMxM5X+uYODLSPL1pva6/H4wfLjnRSzzW7o
         COIYrmCaX+08j5E6ahiORl5Mzoq5632TFsa+4J60l4LATE1ddaPRqvXgSz4C15vSlqDm
         yTSfg+nNcfBUlEC4bflMtvZQ9GK7qzj9jiADpjY+xa27pYDpAyvLUF6bP1vT0feXXt9w
         hbZqrUnZ1I2WI9x0VtUNDLslQtde2vBAbpLdqMC/uYrjy9Fs7+5Agr4EDA/+7pZ/BDiT
         JEKPaEOdlIiD3+Og7tcrJlRZ18jFjpZdBbQPq4fduM+/Cx+6+G8yy8902NLhS3FTdPZH
         26VA==
X-Gm-Message-State: ABy/qLY2d8kO0HeWAatAwEsv/g+d/K8gApmO9LovJ01j53kd7ji5Zixu
	7bT84UYkZ9T9DEEO/j1lLIvC37mE2do=
X-Google-Smtp-Source: APBJJlF9w5TFyHopitQl6vnQPeRhznG3phXV1OJZ1E0AsSUez1+ydMX4mmjoc6wqpyYBPFddAahfJw==
X-Received: by 2002:a19:6707:0:b0:4fb:8ff3:1f74 with SMTP id b7-20020a196707000000b004fb8ff31f74mr1033067lfc.20.1690900263593;
        Tue, 01 Aug 2023 07:31:03 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v6 2/2] xen/riscv: introduce identity mapping
Date: Tue,  1 Aug 2023 17:30:50 +0300
Message-ID: <ba5b82958dd7e0a144f7534105bf1e5e61541204.1690899325.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1690899325.git.oleksii.kurochko@gmail.com>
References: <cover.1690899325.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The way how switch to virtual address was implemented in the
commit e66003e7be ("xen/riscv: introduce setup_initial_pages")
isn't safe enough as:
* enable_mmu() depends on hooking all exceptions
  and pagefault.
* Any exception other than pagefault, or not taking a pagefault
  causes it to malfunction, which means you will fail to boot
  depending on where Xen was loaded into memory.

Instead of the proposed way of switching to virtual addresses was
decided to use identity mapping for area which constains needed code
to switch from identity mapping and after switching to virtual addresses,
identity mapping is removed from page-tables in the following way:
search for top-most page table entry and remove it.

Fixes: e66003e7be ("xen/riscv: introduce setup_initial_pages")
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes in V6:
 - t2 register was renamed to t1 as t1 isn't used anymore in
   turn_on_mmu().
 - fold li, sll instructions to slli.
 - use a0 directly to calculate an argument of turn_on_mmu() instead of t0.
---
Changes in V5:
 - update the algo of identity mapping removing.
 - introduce IDENT_AREA_SIZE.
 - introduce turn_on_mmu() function to enable and switch from 1:1 mapping.
 - fix typo in PGTBL_INITIAL_COUNT define.
 - update the comment above PGTBL_INITIAL_COUNT.
 - update the commit message.
---
Changes in V4:
 - remove definition of ARRAY_SIZE and ROUNDUP as <xen/macors.h> was introduced where these macros are located now.
 - update definition of PGTBL_INITIAL_COUNT
 - update the commit message
 - update the algo of identity mapping removing
---
Changes in V3:
 - remove unrelated to the patch changes ( SPDX tags in config.h ).
 - update definition of PGTBL_INITIAL_COUNT taking into account identity mapping.
 - refactor remove_identity_mapping() function.
 - add explanatory comments in xen.lds.S and mm.c.
 - update commit message.
 - move save/restore of a0/a1 registers to [PATCH v2 2/3] xen/riscv: introduce
   function for physical offset calculation.
---
Changes in V2:
  - update definition of PGTBL_INITIAL_COUNT and the comment above.
  - code style fixes.
  - 1:1 mapping for entire Xen.
  - remove id_addrs array becase entire Xen is mapped.
  - reverse condition for cycle inside remove_identity_mapping().
  - fix page table walk in remove_identity_mapping().
  - update the commit message.
  - add Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
  - save hart_id and dtb_addr before call MMU related C functions.
  - use phys_offset variable instead of doing calcultations to get phys offset
    in head.S file. ( it can be easily done as entire Xen is 1:1 mapped )
  - declare enable_muu() as __init.
---
 xen/arch/riscv/include/asm/config.h |  2 +
 xen/arch/riscv/include/asm/mm.h     |  5 +-
 xen/arch/riscv/mm.c                 | 90 +++++++++++++++--------------
 xen/arch/riscv/riscv64/head.S       | 30 ++++++++++
 xen/arch/riscv/setup.c              | 14 +----
 xen/arch/riscv/xen.lds.S            | 11 ++++
 6 files changed, 97 insertions(+), 55 deletions(-)

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index fa90ae0898..f0544c6a20 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -95,6 +95,8 @@
 #define RV_STAGE1_MODE SATP_MODE_SV32
 #endif
 
+#define IDENT_AREA_SIZE 64
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 7b94cbadd7..07c7a0abba 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -13,8 +13,11 @@ extern unsigned char cpu0_boot_stack[];
 void setup_initial_pagetables(void);
 
 void enable_mmu(void);
-void cont_after_mmu_is_enabled(void);
+
+void remove_identity_mapping(void);
 
 unsigned long calc_phys_offset(void);
 
+void turn_on_mmu(unsigned long ra);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index a73f135a3c..053f043a3d 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -4,6 +4,7 @@
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/macros.h>
 #include <xen/pfn.h>
 
 #include <asm/early_printk.h>
@@ -35,8 +36,11 @@ static unsigned long __ro_after_init phys_offset;
  *
  * It might be needed one more page table in case when Xen load address
  * isn't 2 MB aligned.
+ *
+ * CONFIG_PAGING_LEVELS page tables are needed for the identity mapping,
+ * except that the root page table is shared with the initial mapping
  */
-#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) + 1)
+#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) * 2 + 1)
 
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_root[PAGETABLE_ENTRIES];
@@ -75,6 +79,7 @@ static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
     unsigned int index;
     pte_t *pgtbl;
     unsigned long page_addr;
+    bool is_identity_mapping = map_start == pa_start;
 
     if ( (unsigned long)_start % XEN_PT_LEVEL_SIZE(0) )
     {
@@ -108,16 +113,18 @@ static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
             {
                 unsigned long paddr = (page_addr - map_start) + pa_start;
                 unsigned int permissions = PTE_LEAF_DEFAULT;
+                unsigned long addr = is_identity_mapping
+                                     ? page_addr : LINK_TO_LOAD(page_addr);
                 pte_t pte_to_be_written;
 
                 index = pt_index(0, page_addr);
 
-                if ( is_kernel_text(LINK_TO_LOAD(page_addr)) ||
-                     is_kernel_inittext(LINK_TO_LOAD(page_addr)) )
-                    permissions =
-                        PTE_EXECUTABLE | PTE_READABLE | PTE_VALID;
+                if ( is_kernel_text(addr) ||
+                     is_kernel_inittext(addr) )
+                        permissions =
+                            PTE_EXECUTABLE | PTE_READABLE | PTE_VALID;
 
-                if ( is_kernel_rodata(LINK_TO_LOAD(page_addr)) )
+                if ( is_kernel_rodata(addr) )
                     permissions = PTE_READABLE | PTE_VALID;
 
                 pte_to_be_written = paddr_to_pte(paddr, permissions);
@@ -211,6 +218,13 @@ void __init setup_initial_pagetables(void)
     unsigned long linker_start  = LOAD_TO_LINK(load_start);
     unsigned long linker_end    = LOAD_TO_LINK(load_end);
 
+    unsigned long ident_start;
+    unsigned long ident_end;
+
+    /*
+     * If the overlapping check will be removed then remove_identity_mapping()
+     * logic should be updated.
+     */
     if ( (linker_start != load_start) &&
          (linker_start <= load_end) && (load_start <= linker_end) )
     {
@@ -232,48 +246,40 @@ void __init setup_initial_pagetables(void)
                           linker_start,
                           linker_end,
                           load_start);
+
+    if ( linker_start == load_start )
+        return;
+
+    ident_start = (unsigned long)turn_on_mmu & XEN_PT_LEVEL_MAP_MASK(0);
+    ident_end = ident_start + PAGE_SIZE;
+
+    setup_initial_mapping(&mmu_desc,
+                          ident_start,
+                          ident_end,
+                          ident_start);
 }
 
-void __init noreturn noinline enable_mmu()
+void __init remove_identity_mapping(void)
 {
-    /*
-     * Calculate a linker time address of the mmu_is_enabled
-     * label and update CSR_STVEC with it.
-     * MMU is configured in a way where linker addresses are mapped
-     * on load addresses so in a case when linker addresses are not equal
-     * to load addresses, after MMU is enabled, it will cause
-     * an exception and jump to linker time addresses.
-     * Otherwise if load addresses are equal to linker addresses the code
-     * after mmu_is_enabled label will be executed without exception.
-     */
-    csr_write(CSR_STVEC, LOAD_TO_LINK((unsigned long)&&mmu_is_enabled));
-
-    /* Ensure page table writes precede loading the SATP */
-    sfence_vma();
+    unsigned int i;
+    pte_t *pgtbl;
+    unsigned int index, xen_index;
+    unsigned long ident_start =
+        LINK_TO_LOAD(turn_on_mmu) & XEN_PT_LEVEL_MAP_MASK(0);
 
-    /* Enable the MMU and load the new pagetable for Xen */
-    csr_write(CSR_SATP,
-              PFN_DOWN((unsigned long)stage1_pgtbl_root) |
-              RV_STAGE1_MODE << SATP_MODE_SHIFT);
+    for ( pgtbl = stage1_pgtbl_root, i = CONFIG_PAGING_LEVELS; i; i-- )
+    {
+        index = pt_index(i - 1, ident_start);
+        xen_index = pt_index(i - 1, XEN_VIRT_START);
 
-    asm volatile ( ".p2align 2" );
- mmu_is_enabled:
-    /*
-     * Stack should be re-inited as:
-     * 1. Right now an address of the stack is relative to load time
-     *    addresses what will cause an issue in case of load start address
-     *    isn't equal to linker start address.
-     * 2. Addresses in stack are all load time relative which can be an
-     *    issue in case when load start address isn't equal to linker
-     *    start address.
-     *
-     * We can't return to the caller because the stack was reseted
-     * and it may have stash some variable on the stack.
-     * Jump to a brand new function as the stack was reseted
-     */
+        if ( index != xen_index )
+        {
+            pgtbl[index].pte = 0;
+            break;
+        }
 
-    switch_stack_and_jump((unsigned long)cpu0_boot_stack + STACK_SIZE,
-                          cont_after_mmu_is_enabled);
+        pgtbl = (pte_t *)LOAD_TO_LINK(pte_to_paddr(pgtbl[index]));
+    }
 }
 
 /*
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index ae194bb099..cb8888a572 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -39,6 +39,22 @@ ENTRY(start)
         jal     calc_phys_offset
         mv      s2, a0
 
+        jal     setup_initial_pagetables
+
+        /* Calculate proper VA after jump from 1:1 mapping */
+        la      a0, .L_primary_switched
+        sub     a0, a0, s2
+
+        jal     turn_on_mmu
+
+.L_primary_switched:
+        /*
+         * cpu0_boot_stack address is 1:1 mapping related so it should be
+         * recalculated after jump from 1:1 mapping world as 1:1 mapping
+         * will be removed soon in start_xen().
+         */
+        jal     reset_stack
+
         /* restore hart_id ( bootcpu_id ) and dtb address */
         mv      a0, s0
         mv      a1, s1
@@ -54,3 +70,17 @@ ENTRY(reset_stack)
 
         ret
 
+        .section .text.ident, "ax", %progbits
+
+ENTRY(turn_on_mmu)
+        sfence.vma
+
+        li      t0, RV_STAGE1_MODE
+        slli    t0, t0, SATP_MODE_SHIFT
+
+        la      t1, stage1_pgtbl_root
+        srl     t1, t1, PAGE_SHIFT
+        or      t1, t1, t0
+        csrw    CSR_SATP, t1
+
+        jr      a0
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index dde8fb898b..6593f601c1 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -13,20 +13,10 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
-    early_printk("Hello from C env\n");
-
-    setup_initial_pagetables();
-
-    enable_mmu();
-
-    for ( ;; )
-        asm volatile ("wfi");
+    remove_identity_mapping();
 
-    unreachable();
-}
+    early_printk("Hello from C env\n");
 
-void __init noreturn cont_after_mmu_is_enabled(void)
-{
     early_printk("All set up\n");
 
     for ( ;; )
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 9064852173..3fa7db3bf9 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -31,6 +31,11 @@ SECTIONS
         *(.text.*)
 #endif
 
+        . = ALIGN(IDENT_AREA_SIZE);
+        _ident_start = .;
+        *(.text.ident)
+        _ident_end = .;
+
         *(.fixup)
         *(.gnu.warning)
         . = ALIGN(POINTER_ALIGN);
@@ -173,4 +178,10 @@ ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
 ASSERT(!SIZEOF(.got),      ".got non-empty")
 ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
 
+/*
+ * Changing the size of Xen binary can require an update of
+ * PGTBL_INITIAL_COUNT.
+ */
 ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
+
+ASSERT(_ident_end - _ident_start <= IDENT_AREA_SIZE, "identity region is too big");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:31:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574250.899521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOs-0007V7-UE; Tue, 01 Aug 2023 14:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574250.899521; Tue, 01 Aug 2023 14:31:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOs-0007V0-Rb; Tue, 01 Aug 2023 14:31:02 +0000
Received: by outflank-mailman (input) for mailman id 574250;
 Tue, 01 Aug 2023 14:31: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=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQqOr-0007Uu-Ry
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:31:01 +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 08a5b33a-3078-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:30:59 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-4fe27849e6aso5058654e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 07:30:59 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q28-20020ac24a7c000000b004fbac025223sm2568051lfp.22.2023.08.01.07.30.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 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: 08a5b33a-3078-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690900259; x=1691505059;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=DphTfRycXy0USz4kNo5pnBYhh0AwrgYUK+qSbwAz5Wo=;
        b=dPokXKpRWLy+t7BlH3OfFOZXgq1LwTRBcXqicB6tWiHtEJm/3L6bv4IccL0pH1eO0x
         b7i6pH9cIxjSb3YukDP6XYbHWDYBHQs/cmTcJ8UvWsGOvxO24VX19dmnMHDMpTSXfCZU
         Mj7qrjGhPWTMbstW84c1T5hAjtAYF0/YrZcC97Fye+JiRO12LmSlzlP2vaiO/ec3SYtC
         FxBknJlr/NmF7vp6XRV8NExesbrX5sOeQseseEK3d4x2VTSjO4nQh2c0BPFZTnNqEtka
         68faSd3oKOQfwdCXxpIvaUo5t2ST6HkhGU1/jSNAijLa1MOFhHov6RXLgGUhG9LZnIj3
         vF9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690900259; x=1691505059;
        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=DphTfRycXy0USz4kNo5pnBYhh0AwrgYUK+qSbwAz5Wo=;
        b=ZYrfO7aBTJRQyI0QaK3d+XJ3EbnMe6d/QRcRkVqHnVY/kr9r2R6SGa/DzDGl+K9qvB
         itoWcAGsRYiP8H32uoC8pObueV1C6jPxXNykpqN6kny7oO+JOFneA3mf180FZF8OdDjk
         kvuo3RFRarXh9+G3EGJZDm7WZPbXf1iyq05XdCMmvhna2S4dOoeAKpiCi9/rkOZ29Nc+
         Gtlux+rP7le6vbguyKC/6OyspMZOty/+XdYoMhg4Dis9FsB47K2059+C3qi2uIR9MNQn
         VCoFya2ZLnjgkwkGUOmvvbr3RFBavSoMvq4nf+r3oYqbPC9pizGfSwc0mqyf8nUhYm+I
         WHHQ==
X-Gm-Message-State: ABy/qLZrRWfKPrxlPUdVWETjPZee8OcAkvGbqsJq4DFRhsrWrWov0q8N
	1sKzVCInR56+X0BgNLwwEh3aVLtN3vk=
X-Google-Smtp-Source: APBJJlE7LbUx9Yu5LJbLc0bJ3jJKrRbps3MEvTpQJ5vfGEUwaOxXCE0oHmc0cvm3DC7M3Zg1sXIOlA==
X-Received: by 2002:a19:9119:0:b0:4fe:3364:6c20 with SMTP id t25-20020a199119000000b004fe33646c20mr2033117lfd.16.1690900258405;
        Tue, 01 Aug 2023 07:30:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v6 0/2] xen/riscv: introduce identity mapping
Date: Tue,  1 Aug 2023 17:30:48 +0300
Message-ID: <cover.1690899325.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series introduces things necessary to implement identity mapping:
  1. Make identity mapping for the entire Xen.
  2. Enable MMU.
  3. Jump to the virtual address world
  4. Remove identity mapping.

Also current patch series introduces the calculation of physical offset before
MMU is enabled as access to physical offset will be calculated wrong after
MMU will be enabled because access to phys_off variable is PC-relative and
in the case when linker address != load address, it will cause MMU fault.

The reason for this patch series can be found here:
https://lore.kernel.org/xen-devel/4e336121-fc0c-b007-bf7b-430352563d55@citrix.com/

---
Changes in V6:
  - Update calc_phys_offset() after rebase.
  - Refactor turn_on_mmu() and a way how an argument of turn_on_mmu() is
    calculated.
---
Changes in V5:
	- update the algo of identity mapping removing.
	- introduce IDENT_AREA_SIZE.
	- introduce turn_on_mmu() function to enable and switch from 1:1 mapping.
	- fix typo in PGTBL_INITIAL_COUNT define.
	- update the comment above PGTBL_INITIAL_COUNT.
	- update prototype of calc_phys_offset(). now it returns phys_offset.
	- declare phys_offset as static.
	- save returned value of calc_phys_offset to register s2.
---
Changes in V4:
  - drop patch 	[PATCH v3 1/3] xen/riscv: add SPDX tag to config.h as it was
    merged to staging
  - remove definition of ARRAY_SIZE and ROUNDUP as <xen/macors.h> was introduced where these macros are located now.
	- update definition of PGTBL_INITIAL_COUNT
	- update the commit message for patch 'xen/riscv: introduce identity mapping'
	- update the comments in head.S
  - update the algo of identity mapping removing 
---
Changes in V3:
 - Update the patch series message.
 - The following patches were merged to staging so droped from the patch series:
   * xen/riscv: add .sbss section to .bss
   * xen/riscv: introduce reset_stack() function
   * xen/riscv: move extern of cpu0_boot_stack to header
   * xen/riscv: add SPDX tags
 - move save/restore of a0/a1 registers from patch 4 to patch 2 ( numbers are
   from the previous patch series version )
 - add SPDX tag in config.h
 - update definition of PGTBL_INITIAL_COUNT taking into account identity mapping.
 - refactor remove_identity_mapping() function.
 - add explanatory comments in xen.lds.S and mm.c.
---
Changes in V2:
 - update the patch series message.
 - drop patches from the previous version of the patch series:
   * xen/riscv: add __ASSEMBLY__ guards". ( merged )
   * xen/riscv: make sure that identity mapping isn't bigger then page size
     ( entire Xen is 1:1 mapped so there is no need for the checks from the patch )
 - add .sbss.* and put it befor .bss* .
 - move out reset_stack() to .text section.
 - add '__ro_after_init' for phys_offset variable.
 - add '__init' for calc_phys_offset().
 - declaring variable phys_off as non static as it will be used in head.S.
 - update definition of PGTBL_INITIAL_COUNT and the comment above.
 - code style fixes.
 - remove id_addrs array becase entire Xen is mapped.
 - reverse condition for cycle inside remove_identity_mapping().
 - fix page table walk in remove_identity_mapping().
 - save hart_id and dtb_addr before call MMU related C functions
 - use phys_offset variable instead of doing calcultations to get phys offset
   in head.S file. ( it can be easily done as entire Xen is 1:1 mapped now )
 - declare enable_muu() as __init.
 - Update SPDX tags.
 - Add Review-By/Suggested-By for some patches.
 - code style fixes.

Oleksii Kurochko (2):
  xen/riscv: introduce function for physical offset calculation
  xen/riscv: introduce identity mapping

 xen/arch/riscv/include/asm/config.h |   2 +
 xen/arch/riscv/include/asm/mm.h     |   7 +-
 xen/arch/riscv/mm.c                 | 109 +++++++++++++++++-----------
 xen/arch/riscv/riscv64/head.S       |  44 +++++++++++
 xen/arch/riscv/setup.c              |  14 +---
 xen/arch/riscv/xen.lds.S            |  11 +++
 6 files changed, 130 insertions(+), 57 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:31:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574251.899531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOu-0007ju-5k; Tue, 01 Aug 2023 14:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574251.899531; Tue, 01 Aug 2023 14:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqOu-0007jn-2r; Tue, 01 Aug 2023 14:31:04 +0000
Received: by outflank-mailman (input) for mailman id 574251;
 Tue, 01 Aug 2023 14:31: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=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQqOt-0007Uu-3I
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:31:03 +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 09c80964-3078-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:31:01 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-4fe383c1a26so3449395e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 07:31:01 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q28-20020ac24a7c000000b004fbac025223sm2568051lfp.22.2023.08.01.07.30.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 07:30:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09c80964-3078-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690900261; x=1691505061;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LUja0JE13agYREw0RGgZhxeHvXKg+830hNOPqDqfhTY=;
        b=lge5p9xcmTfGaaGQ9e+A3K37zgrGb+t6wHM2SMcJH9QbU4IA5XlRRCfPTnAIsvW4mF
         JgpW7dHuhDQxD2c/cIDllrqrAhUl7w7vQ53pNxm6Ljjnd8LivKvPyVpQGEgKzuhydLb6
         7oPX3ubeKxz0paEonowdWqHxFImRnmWOOzbev1ltDVEUNiYbreclfHvj5WmtNePeRFcK
         tmb8DVWDkNei1woNbJdydIIbbIgfP5xiN90IPlBS/XeXyL5KoivLQpg5Lm4j0H0xUb+J
         LaqSxQExSFgnJ+RQtk2GMwLIXOL4P0x8iA/s6WV6t3Vr/KXfFl0qkTrCqojNY3yqW/9j
         f3iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690900261; x=1691505061;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LUja0JE13agYREw0RGgZhxeHvXKg+830hNOPqDqfhTY=;
        b=ceyuystbpNTg2pfJ0dSvZbDJrGGpOiUJ4+iIm9B/KusRZ4QrD/jGKaYvAfJ1G6ANxB
         bghtMJABDD8Lp6OcJu5R0cEXFGBQszUZaSoUJ71bAZIbJxCup28fQotZSD0DUlvnv2KL
         jb6HLeSLfQOtJtU/HwPbM+uNpt87YYopW8EkZXo5SQ11y81sfafSKD+HSSNoZo/MX6Xk
         tw28IQyoWVSOzavXqW+ZfcnQ0uVRGVLz7oZxP4RcHATIdLf2mEoh+npT9fTqq/tcWYJp
         3AYsTUVeX7/VzVY54QDhMAixPJR9YnocuVkBNMpuKbHcOPtH8RQvNKiuarTpe0S/fp5+
         OE6w==
X-Gm-Message-State: ABy/qLajBrM3wweIXnQi0k1a2HkXai/cP3qItrWf/9MRCY2UpAFK4S57
	yX1yNV0aoiAQq95E3Hi7z7rnZQpaGxY=
X-Google-Smtp-Source: APBJJlEENUeOEhAG0XHIXrMsupEp7O2idyzLkgPM2oOVWGd5xuYU/qcvAPm1rLiXLiQqEmRk7lFLdQ==
X-Received: by 2002:ac2:4d19:0:b0:4f8:6625:f2ca with SMTP id r25-20020ac24d19000000b004f86625f2camr2382262lfi.61.1690900260555;
        Tue, 01 Aug 2023 07:31:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v6 1/2] xen/riscv: introduce function for physical offset calculation
Date: Tue,  1 Aug 2023 17:30:49 +0300
Message-ID: <1efa59f7296bd7b36f6c118b71180d86e89c72b1.1690899325.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1690899325.git.oleksii.kurochko@gmail.com>
References: <cover.1690899325.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function was introduced to calculate and save physical
offset before MMU is enabled because access to start() is
PC-relative and in case of linker_addr != load_addr it will
result in incorrect value in phys_offset.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - After 9380f06fe8("xen: Drop the (almost) unused extern start[]")
   an update of calc_phys_offset() was needed:
   - change start to _start.
   - add local volatile variable load_start to get properly Xens' load address.
     Otherwise compile thinks that (start - XEN_VIRT_START) is equal to 0.
---
Changes in V5:
 - update prototype of calc_phys_offset(). now it returns phys_offset.
 - declare phys_offset as static.
 - save returned value of calc_phys_offset to register s2.
---
Changes in V4:
 - update the comment messages in head.S related to save/restore of a0/a1 regs.
---
Changes in V3:
 - save/restore of a0/a1 registers before C first function call.
---
Changes in V2:
  - add __ro_after_init for phys_offset variable.
  - remove double blank lines.
  - add __init for calc_phys_offset().
  - update the commit message.
  - declaring variable phys_off as non static as it will be used in head.S.
---
 xen/arch/riscv/include/asm/mm.h |  2 ++
 xen/arch/riscv/mm.c             | 21 ++++++++++++++++++---
 xen/arch/riscv/riscv64/head.S   | 14 ++++++++++++++
 3 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 5e3ac5cde3..7b94cbadd7 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -15,4 +15,6 @@ void setup_initial_pagetables(void);
 void enable_mmu(void);
 void cont_after_mmu_is_enabled(void);
 
+unsigned long calc_phys_offset(void);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 99ed5e9623..a73f135a3c 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/cache.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
@@ -19,9 +20,10 @@ struct mmu_desc {
     pte_t *pgtbl_base;
 };
 
-#define PHYS_OFFSET ((unsigned long)_start - XEN_VIRT_START)
-#define LOAD_TO_LINK(addr) ((addr) - PHYS_OFFSET)
-#define LINK_TO_LOAD(addr) ((addr) + PHYS_OFFSET)
+static unsigned long __ro_after_init phys_offset;
+
+#define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
+#define LINK_TO_LOAD(addr) ((unsigned long)(addr) + phys_offset)
 
 /*
  * It is expected that Xen won't be more then 2 MB.
@@ -273,3 +275,16 @@ void __init noreturn noinline enable_mmu()
     switch_stack_and_jump((unsigned long)cpu0_boot_stack + STACK_SIZE,
                           cont_after_mmu_is_enabled);
 }
+
+/*
+ * calc_phys_offset() should be used before MMU is enabled because access to
+ * start() is PC-relative and in case when load_addr != linker_addr phys_offset
+ * will have an incorrect value
+ */
+unsigned long __init calc_phys_offset(void)
+{
+    volatile unsigned long load_start = (unsigned long)_start;
+
+    phys_offset = load_start - XEN_VIRT_START;
+    return phys_offset;
+}
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 2c0304646a..ae194bb099 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -29,6 +29,20 @@ ENTRY(start)
 
         jal     reset_stack
 
+        /*
+         * save hart_id ( bootcpu_id ) and dtb_base as a0 and a1 register can
+         * be used by C code
+         */
+        mv      s0, a0
+        mv      s1, a1
+
+        jal     calc_phys_offset
+        mv      s2, a0
+
+        /* restore hart_id ( bootcpu_id ) and dtb address */
+        mv      a0, s0
+        mv      a1, s1
+
         tail    start_xen
 
         .section .text, "ax", %progbits
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:45:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574270.899562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqcN-0001tL-9y; Tue, 01 Aug 2023 14:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574270.899562; Tue, 01 Aug 2023 14: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 1qQqcN-0001sB-40; Tue, 01 Aug 2023 14:44:59 +0000
Received: by outflank-mailman (input) for mailman id 574270;
 Tue, 01 Aug 2023 14: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=VBKQ=DS=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1qQqcL-0001l9-R9
 for xen-devel@lists.xen.org; Tue, 01 Aug 2023 14:44:58 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7e35ead-3079-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:44:52 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1qQqc6-00077U-Hn; Tue, 01 Aug 2023 14:44:42 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1qQqc6-0003DF-Fl; Tue, 01 Aug 2023 14:44:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7e35ead-3079-11ee-8613-37d641c3527e
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=SZXqskAvCr2m3Sg9JnEDMbVAwCNoFywf9GxMzz8UySw=; b=A5SSiGbqu6Jo+u+jhTA6RP/d0Z
	v+Py5L9yo1saysKXLeVDBSa1vrPe90zx4Kc4Xe4tkl+Fth+Ir7TsRVSURToLDm9JD2oZ/6mtkGNmN
	MQ89J7Ux2k7jiD71MB+lLWrt+9lxj5+zf2o8w7VDX96RYAdee/GpXez6Tspw39AJ/cBc=;
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 436 v1 (CVE-2023-34320) - arm: Guests can
 trigger a deadlock on Cortex-A77
Message-Id: <E1qQqc6-0003DF-Fl@xenbits.xenproject.org>
Date: Tue, 01 Aug 2023 14:44:42 +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-34320 / XSA-436

           arm: Guests can trigger a deadlock on Cortex-A77

ISSUE DESCRIPTION
=================

Cortex-A77 cores (r0p0 and r1p0) are affected by erratum 1508412
where software, under certain circumstances, could deadlock a core
due to the execution of either a load to device or non-cacheable memory,
and either a store exclusive or register read of the Physical
Address Register (PAR_EL1) in close proximity.

IMPACT
======

A (malicious) guest that doesn't include the workaround for erratum
1508412 could deadlock the core.  This will ultimately result to
a deadlock of the system.

VULNERABLE SYSTEMS
==================

Systems running all version of Xen are affected.

This bug is specific to Arm Cortex-A77 cores r0p0 and r1p0.

MITIGATION
==========

There are no known mitigations.

NOTE REGARDING LACK OF EMBARGO
==============================

This issue has been publicly documented.

RESOLUTION
==========

To handle properly the erratum, it is necessary to have an updated
firmware and that both the hypervisor and guest OSes have the workaround.
This means it is not possible to security support Xen on the Cortex-A77,
even on systems which have the workaround enabled.

Applying the attached patches will document the situation and also
add the workaround in Xen if someone wish to run on Cortex-A77 with
only trusted guests.

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.

xsa436/xsa436.patch           xen-unstable - Xen 4.17.x
xsa436/xsa436-4.16.patch      Xen 4.16.x
xsa436/xsa436-4.15.patch      Xen 4.15.x

$ sha256sum xsa436* xsa436*/*
64d34753cdbbcfec2c80db2daad98529bf900935419d0214057e962098b38160  xsa436.meta
cc0f1303d4ad4c4750bd555622b87a9721e0253759b07915e6ba5216c24e8f8d  xsa436/xsa436.patch
97d1bd7716637efce1fa5d7f608d7f26b2b396fa20b966c8c0cd22ef61dc07d4  xsa436/xsa436-4.15.patch
e1264a44df39d56a2c6246d8f9f511d0371a5f416c364ef766ea5a59e7b46f92  xsa436/xsa436-4.16.patch
$
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmTJGVoMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZIpMIAJJ/58V/2+aEQfc0Fd+UDegr+69PsgRVRKofbX5o
M8r0hCLoowsEvI8vxloaOCTtgEwzFq2zCYsUED1nn0iLk0MqK6t9njkuVD3cmuqt
WaVXiW7uJU8ph2pwscv2tVPBBYblT7+Y3fuHsbXEjEW40yQkStkD5NMgwH5Z0bhq
61zCZm+/xK66VBKnrWFdlTaueOLT11/lGPskISquWrYjz7Vr873k89fXdGURn6+9
N7gdl3eIDqkpGTXvUPFdPwwE+z1ESxGig24RYNQmt3UpLbIQO2wGp0HXbsJ8e1cj
r4KNhSFm/h6tsjOYxm5Jmi4an4gAOlVxCSNds2/+oZQVHpQ=
=GNOw
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa436.meta"
Content-Disposition: attachment; filename="xsa436.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MzYsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNyIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIK
ICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6
IHsKICAgICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAi
eGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJkZjMzOTVmNmIyZDc1
OWFiYTM5ZmI2N2E3YmMwZmU0OTE0N2M4YjM5IiwKICAgICAgICAgICJQcmVy
ZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAg
InhzYTQzNi94c2E0MzYtNC4xNS5wYXRjaCIKICAgICAgICAgIF0KICAgICAg
ICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xNiI6IHsKICAgICAgIlJlY2lw
ZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYi
OiAiODlmZTZkMGVkZWE4NDFkMWQyNjkwY2YzZjUxNzNlMzM0YzY4NzgyMyIs
CiAgICAgICAgICAiUHJlcmVxcyI6IFtdLAogICAgICAgICAgIlBhdGNoZXMi
OiBbCiAgICAgICAgICAgICJ4c2E0MzYveHNhNDM2LTQuMTYucGF0Y2giCiAg
ICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTci
OiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAg
ICAgICAiU3RhYmxlUmVmIjogIjMxNDFhMGI4NWMzN2I3NmUwNjllYzdkY2I5
MDZmZjIwMmY1YzQwNzUiLAogICAgICAgICAgIlByZXJlcXMiOiBbXSwKICAg
ICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhNDM2L3hzYTQz
Ni5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0s
CiAgICAibWFzdGVyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAi
eGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIwMWNhMjlmMGIxN2E1
MGE5NGIwZTIzMmJhMjc2YzMyZTk1ZDgwYWUzIiwKICAgICAgICAgICJQcmVy
ZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAg
InhzYTQzNi94c2E0MzYucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQog
ICAgICB9CiAgICB9CiAgfQp9

--=separator
Content-Type: application/octet-stream; name="xsa436/xsa436.patch"
Content-Disposition: attachment; filename="xsa436/xsa436.patch"
Content-Transfer-Encoding: base64

RnJvbSBiNmMyOGIwYTdmYTkxZTljOTJjYWYzODhhYzg3NTYzOWM0MjRhYmNl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMdWNhIEZhbmNlbGx1
IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+CkRhdGU6IE1vbiwgMTcgSnVsIDIw
MjMgMTM6MjU6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIXSB4ZW4vYXJtOiBB
ZGQgQ29ydGV4LUE3NyBlcnJhdHVtIDE1MDg0MTIgaGFuZGxpbmcKCkNvcnRl
eC1BNzcgY29yZXMgKHIwcDAsIHIxcDApIGNvdWxkIGRlYWRsb2NrIG9uIGEg
c2VxdWVuY2Ugb2YgYQpzdG9yZS1leGNsdXNpdmUgb3IgcmVhZCBvZiBQQVJf
RUwxIGFuZCBhIGxvYWQgd2l0aCBkZXZpY2Ugb3Igbm9uLWNhY2hlYWJsZQpt
ZW1vcnkgYXR0cmlidXRlcy4KQSB3b3JrYXJvdW5kIGlzIGF2YWlsYWJsZSwg
YnV0IGl0IGRlcGVuZHMgb24gYSBmaXJtd2FyZSBjb3VudGVycGFydC4KClRo
ZSBwcm9wb3NlZCB3b3JrYXJvdW5kIGZyb20gdGhlIGVycmF0YSBkb2N1bWVu
dCBpcyB0byBtb2RpZnkgdGhlIHNvZnR3YXJlCnJ1bm5pbmcgYXQgRUwxIGFu
ZCBhYm92ZSB0byBpbmNsdWRlIGEgRE1CIFNZIGJlZm9yZSBhbmQgYWZ0ZXIg
YWNjZXNzaW5nClBBUl9FTDEuCgpJbiBjb25qdW5jdGlvbiB0byB0aGUgYWJv
dmUsIHRoZSBmaXJtd2FyZSBuZWVkcyB0byB1c2UgYSBzcGVjaWZpYyB3cml0
ZQpzZXF1ZW5jZSB0byBzZXZlcmFsIElNUExFTUVOVEFUSU9OIERFRklORUQg
cmVnaXN0ZXJzIHRvIGhhdmUgdGhlIGhhcmR3YXJlCmluc2VydCBhIERNQiBT
WSBhZnRlciBhbGwgbG9hZC1leGNsdXNpdmUgYW5kIHN0b3JlLWV4Y2x1c2l2
ZSBpbnN0cnVjdGlvbnMuCgpBcHBseSB0aGUgd29ya2Fyb3VuZCB0byBYZW4g
d2hlcmUgUEFSX0VMMSBpcyByZWFkLCBpbXBsZW1lbnRpbmcgYW4gaGVscGVy
CmZ1bmN0aW9uIHRvIGRvIHRoYXQuClNpbmNlIFhlbiBjYW4gYmUgaW50ZXJy
dXB0ZWQgYnkgaXJxcyBpbiBhbnkgbW9tZW50LCBhZGQgYSBiYXJyaWVyIG9u
CmVudHJ5L2V4aXQgd2hlbiB3ZSBhcmUgcnVubmluZyBvbiB0aGUgYWZmZWN0
ZWQgY29yZXMuCgpBIGd1ZXN0IHdpdGhvdXQgdGhlIHdvcmthcm91bmQgY2Fu
IGRlYWRsb2NrIHRoZSBzeXN0ZW0sIHNvIHdhcm4gdGhlIHVzZXJzCm9mIFhl
biB3aXRoIHRoZSBhYm92ZSB0eXBlIG9mIGNvcmVzIHRvIHVzZSBvbmx5IHRy
dXN0ZWQgZ3Vlc3RzLCBieQpwcmludGluZyBhIG1lc3NhZ2Ugb24gWGVuIHN0
YXJ0dXAuCgpTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZh
bmNlbGx1QGFybS5jb20+ClJldmlld2VkLWJ5OiBCZXJ0cmFuZCBNYXJxdWlz
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+ClJldmlld2VkLWJ5OiBKdWxp
ZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPgotLS0KIFNVUFBPUlQubWQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArKwogZG9jcy9taXNj
L2FybS9zaWxpY29uLWVycmF0YS50eHQgICAgICB8ICAxICsKIHhlbi9hcmNo
L2FybS9LY29uZmlnICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysr
KysrKysrKysrKysKIHhlbi9hcmNoL2FybS9hcm02NC9lbnRyeS5TICAgICAg
ICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0v
Y3B1ZXJyYXRhLmMgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKysrLS0t
LQogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgICAgICAgICB8ICAy
ICstCiB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvcGFnZS5oIHwg
MTIgKysrKysrLS0tLS0tCiB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vY3B1
ZmVhdHVyZS5oIHwgIDMgKystCiB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
c3lzcmVncy5oICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiA5
IGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NVUFBPUlQubWQgYi9TVVBQT1JULm1kCmlu
ZGV4IDhlMDQwZDFjMWVmNS4uYjYzMzc2ZjRkOGQyIDEwMDY0NAotLS0gYS9T
VVBQT1JULm1kCisrKyBiL1NVUFBPUlQubWQKQEAgLTM5LDggKzM5LDEwIEBA
IHN1cHBvcnRlZCBpbiB0aGlzIGRvY3VtZW50LgogCiAgICAgU3RhdHVzOiBT
dXBwb3J0ZWQKICAgICBTdGF0dXMsIENvcnRleCBBNTcgcjBwMC1yMXAxOiBT
dXBwb3J0ZWQsIG5vdCBzZWN1cml0eSBzdXBwb3J0ZWQKKyAgICBTdGF0dXMs
IENvcnRleCBBNzcgcjBwMC1yMXAwOiBTdXBwb3J0ZWQsIG5vdCBzZWN1cml0
eSBzdXBwb3J0ZWQKIAogRm9yIHRoZSBDb3J0ZXggQTU3IHIwcDAgLSByMXAx
LCBzZWUgRXJyYXRhIDgzMjA3NS4KK0ZvciB0aGUgQ29ydGV4IEE3NyByMHAw
IC0gcjFwMCwgc2VlIEVycmF0YSAxNTA4NDEyLgogCiAjIyBIb3N0IGhhcmR3
YXJlIHN1cHBvcnQKIApkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2FybS9zaWxp
Y29uLWVycmF0YS50eHQgYi9kb2NzL21pc2MvYXJtL3NpbGljb24tZXJyYXRh
LnR4dAppbmRleCAxOTI1ZDhmZDRlZTAuLmM0ZTgyZGY1MzU2NiAxMDA2NDQK
LS0tIGEvZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKKysrIGIv
ZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKQEAgLTU4LDQgKzU4
LDUgQEAgc3RhYmxlIGh5cGVydmlzb3JzLgogfCBBUk0gICAgICAgICAgICB8
IENvcnRleC1BNzYgICAgICB8ICMxMjg2ODA3ICAgICAgICB8IEFSTTY0X0VS
UkFUVU1fMTI4NjgwNyAgIHwKIHwgQVJNICAgICAgICAgICAgfCBOZW92ZXJz
ZS1OMSAgICAgfCAjMTE2NTUyMiAgICAgICAgfCBOL0EKIHwgQVJNICAgICAg
ICAgICAgfCBOZW92ZXJzZS1OMSAgICAgfCAjMTI4NjgwNyAgICAgICAgfCBB
Uk02NF9FUlJBVFVNXzEyODY4MDcgICB8Cit8IEFSTSAgICAgICAgICAgIHwg
Q29ydGV4LUE3NyAgICAgIHwgIzE1MDg0MTIgICAgICAgIHwgQVJNNjRfRVJS
QVRVTV8xNTA4NDEyICAgfAogfCBBUk0gICAgICAgICAgICB8IE1NVS01MDAg
ICAgICAgICB8ICM4NDI4NjkgICAgICAgICB8IE4vQSAgICAgICAgICAgICAg
ICAgICAgIHwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIv
eGVuL2FyY2gvYXJtL0tjb25maWcKaW5kZXggMzNlMDA0ZDcwMmJmLi42ZWQx
ZDUxNzkxZTEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisr
KyBiL3hlbi9hcmNoL2FybS9LY29uZmlnCkBAIC0zMTIsNiArMzEyLDI3IEBA
IGNvbmZpZyBBUk02NF9FUlJBVFVNXzEyODY4MDcKIAogCSAgSWYgdW5zdXJl
LCBzYXkgWS4KIAorY29uZmlnIEFSTTY0X0VSUkFUVU1fMTUwODQxMgorCWJv
b2wgIkNvcnRleC1BNzc6IDE1MDg0MTI6IHBvc3NpYmxlIGRlYWRsb2NrIG9u
IHNlcXVlbmNlIG9mIE5DL0RldmljZSBsb2FkIGFuZCBzdG9yZSBleGNsdXNp
dmUgb3IgUEFSIHJlYWQiCisJZGVmYXVsdCB5CisJZGVwZW5kcyBvbiBBUk1f
NjQKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3VuZCBm
b3IgQXJtIENvcnRleC1BNzcgZXJyYXR1bSAxNTA4NDEyLgorCisJICBBZmZl
Y3RlZCBDb3J0ZXgtQTc3IGNvcmVzIChyMHAwLCByMXAwKSBjb3VsZCBkZWFk
bG9jayBvbiBhIHNlcXVlbmNlCisJICBvZiBhIHN0b3JlLWV4Y2x1c2l2ZSBv
ciByZWFkIG9mIFBBUl9FTDEgYW5kIGEgbG9hZCB3aXRoIGRldmljZSBvcgor
CSAgbm9uLWNhY2hlYWJsZSBtZW1vcnkgYXR0cmlidXRlcy4gVGhlIHdvcmth
cm91bmQgZGVwZW5kcyBvbiBhIGZpcm13YXJlCisJICBjb3VudGVycGFydC4K
KworCSAgWGVuIGd1ZXN0cyBtdXN0IGFsc28gaGF2ZSB0aGUgd29ya2Fyb3Vu
ZCBpbXBsZW1lbnRlZCBvciB0aGV5IGNhbgorCSAgZGVhZGxvY2sgdGhlIHN5
c3RlbS4KKworCSAgV29yayBhcm91bmQgdGhlIGlzc3VlIGJ5IGluc2VydGlu
ZyBETUIgU1kgYmFycmllcnMgYXJvdW5kIFBBUl9FTDEKKwkgIHJlZ2lzdGVy
IHJlYWRzIGFuZCB3YXJuaW5nIFhlbiB1c2Vycy4gVGhlIERNQiBiYXJyaWVy
IGlzIHN1ZmZpY2llbnQKKwkgIHRvIHByZXZlbnQgYSBzcGVjdWxhdGl2ZSBQ
QVJfRUwxIHJlYWQuCisKKwkgIElmIHVuc3VyZSwgc2F5IFkuCisKIGVuZG1l
bnUKIAogY29uZmlnIEFSTTY0X0hBUkRFTl9CUkFOQ0hfUFJFRElDVE9SCmRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUyBiL3hlbi9h
cmNoL2FybS9hcm02NC9lbnRyeS5TCmluZGV4IDk1ZjFhOTI2ODQxOS4uOTVm
ZjRlM2UwNTE3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50
cnkuUworKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUwpAQCAtMTM0
LDYgKzEzNCwxNiBAQAogICogcG9zaXRpb24gb24gdGhlIHN0YWNrIGJlZm9y
ZS4KICAqLwogICAgICAgICAubWFjcm8gIGVudHJ5LCBoeXAsIGNvbXBhdCwg
c2F2ZV94MF94MT0xCisKKyAgICAgICAgLyoKKyAgICAgICAgICogRW5zdXJl
IGFueSBQQVJfRUwxIHJlYWRzIGNvbXBsZXRlLCBpbiBjYXNlIHdlIHdlcmUg
aW50ZXJydXB0ZWQKKyAgICAgICAgICogYmV0d2VlbiB0aGUgUEFSX0VMMSBy
ZWFkIGFuZCB0aGUgbWVtb3J5IGJhcnJpZXIgZm9yIHRoZSBlcnJhdHVtCisg
ICAgICAgICAqIDE1MDg0MTIgd29ya2Fyb3VuZC4KKyAgICAgICAgICovCisg
ICAgICAgIGFsdGVybmF0aXZlX2lmIEFSTTY0X1dPUktBUk9VTkRfMTUwODQx
MgorICAgICAgICBkbWIgc3kKKyAgICAgICAgYWx0ZXJuYXRpdmVfZWxzZV9u
b3BfZW5kaWYKKwogICAgICAgICBzdWIgICAgIHNwLCBzcCwgIyhVUkVHU19T
UFNSX2VsMSAtIFVSRUdTX0xSKSAvKiBDUFNSLCBQQywgU1AsIExSICovCiAK
ICAgICAgICAgLmlmIFxoeXAgPT0gMCAgICAgICAgIC8qIEd1ZXN0IG1vZGUg
Ki8KQEAgLTQ5Miw2ICs1MDIsMTUgQEAgcmV0dXJuX2Zyb21fdHJhcDoKIAog
ICAgICAgICBsZHIgICAgIGxyLCBbc3BdLCAjKFVSRUdTX1NQU1JfZWwxIC0g
VVJFR1NfTFIpIC8qIENQU1IsIFBDLCBTUCwgTFIgKi8KIAorICAgICAgICAv
KgorICAgICAgICAgKiBFbnN1cmUgYW55IGRldmljZS9OQyByZWFkcyBjb21w
bGV0ZSwgaW4gY2FzZSB3ZSB3ZXJlIGludGVycnVwdGVkCisgICAgICAgICAq
IGJldHdlZW4gdGhlIG1lbW9yeSBiYXJyaWVyIGZvciB0aGUgZXJyYXR1bSAx
NTA4NDEyIHdvcmthcm91bmQgYW5kCisgICAgICAgICAqIGFueSBQQVJfRUwx
IHJlYWQuCisgICAgICAgICAqLworICAgICAgICBhbHRlcm5hdGl2ZV9pZiBB
Uk02NF9XT1JLQVJPVU5EXzE1MDg0MTIKKyAgICAgICAgZG1iIHN5CisgICAg
ICAgIGFsdGVybmF0aXZlX2Vsc2Vfbm9wX2VuZGlmCisKICAgICAgICAgZXJl
dAogICAgICAgICBzYgogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vY3B1
ZXJyYXRhLmMgYi94ZW4vYXJjaC9hcm0vY3B1ZXJyYXRhLmMKaW5kZXggYWU2
NDlkMTZlZjAyLi5lYTY4MGZhYzJlNDQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L2FybS9jcHVlcnJhdGEuYworKysgYi94ZW4vYXJjaC9hcm0vY3B1ZXJyYXRh
LmMKQEAgLTY2OCw2ICs2NjgsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBh
cm1fY3B1X2NhcGFiaWxpdGllcyBhcm1fZXJyYXRhW10gPSB7CiAgICAgICAg
IC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9BVF9TUEVDVUxBVEUs
CiAgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX0E1Nyks
CiAgICAgfSwKKyNpZmRlZiBDT05GSUdfQVJNNjRfRVJSQVRVTV8xNTA4NDEy
CisgICAgeworICAgICAgICAvKiBDb3J0ZXgtQTc3IHIwcDAgLSByMXAwICov
CisgICAgICAgIC5kZXNjID0gIkFSTSBlcnJhdHVtIDE1MDg0MTIgKGh5cGVy
dmlzb3IgcG9ydGlvbikiLAorICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0
X1dPUktBUk9VTkRfMTUwODQxMiwKKyAgICAgICAgTUlEUl9SQU5HRShNSURS
X0NPUlRFWF9BNzcsIDAsIDEpLAorICAgIH0sCisjZW5kaWYKICAgICB7CiAg
ICAgICAgIC8qIENvcnRleC1BNTUgKEFsbCB2ZXJzaW9ucyBhcyBlcnJhdHVt
IGlzIG9wZW4gaW4gU0RFTiB2MTQpICovCiAgICAgICAgIC5kZXNjID0gIkFS
TSBlcnJhdHVtIDE1MzA5MjMiLApAQCAtNjg2LDExICs2OTQsMTEgQEAgdm9p
ZCBfX2luaXQgZW5hYmxlX2VycmF0YV93b3JrYXJvdW5kcyh2b2lkKQogewog
ICAgIGVuYWJsZV9jcHVfY2FwYWJpbGl0aWVzKGFybV9lcnJhdGEpOwogCi0j
aWZkZWYgQ09ORklHX0FSTTY0X0VSUkFUVU1fODMyMDc1Ci0gICAgaWYgKCBj
cHVzX2hhdmVfY2FwKEFSTTY0X1dPUktBUk9VTkRfREVWSUNFX0xPQURfQUNR
VUlSRSkgKQorI2lmIGRlZmluZWQoQ09ORklHX0FSTTY0X0VSUkFUVU1fODMy
MDc1KSB8fCBkZWZpbmVkKENPTkZJR19BUk02NF9FUlJBVFVNXzE1MDg0MTIp
CisgICAgaWYgKCBjcHVzX2hhdmVfY2FwKEFSTTY0X1dPUktBUk9VTkRfREVW
SUNFX0xPQURfQUNRVUlSRSkgfHwKKyAgICAgICAgIGNwdXNfaGF2ZV9jYXAo
QVJNNjRfV09SS0FST1VORF8xNTA4NDEyKSApCiAgICAgewotICAgICAgICBw
cmludGtfb25jZSgiKioqKiBUaGlzIENQVSBpcyBhZmZlY3RlZCBieSB0aGUg
ZXJyYXRhIDgzMjA3NS4gICAgICAgICAgICAgICAgICAgICAgKioqKlxuIgot
ICAgICAgICAgICAgICAgICAgICAiKioqKiBHdWVzdHMgd2l0aG91dCBDUFUg
ZXJyYXR1bSB3b3JrYXJvdW5kcyBjYW4gZGVhZGxvY2sgdGhlIHN5c3RlbSEg
KioqKlxuIgorICAgICAgICBwcmludGtfb25jZSgiKioqKiBHdWVzdHMgd2l0
aG91dCBDUFUgZXJyYXR1bSB3b3JrYXJvdW5kcyBjYW4gZGVhZGxvY2sgdGhl
IHN5c3RlbSEgKioqKlxuIgogICAgICAgICAgICAgICAgICAgICAiKioqKiBP
bmx5IHRydXN0ZWQgZ3Vlc3RzIHNob3VsZCBiZSB1c2VkLiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKioqKlxuIik7CiAKICAgICAgICAgLyogVGFp
bnQgdGhlIG1hY2hpbmUgaGFzIGJlaW5nIGluc2VjdXJlICovCmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9t
YWluLmMKaW5kZXggMmNkNDgxOTc5Y2YxLi4zZTM3MmZiNzBiOTkgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9h
cm0vZG9tYWluLmMKQEAgLTEzNyw3ICsxMzcsNyBAQCBzdGF0aWMgdm9pZCBj
dHh0X3N3aXRjaF9mcm9tKHN0cnVjdCB2Y3B1ICpwKQogICAgIHAtPmFyY2gu
dHRicjEgPSBSRUFEX1NZU1JFRzY0KFRUQlIxX0VMMSk7CiAgICAgaWYgKCBp
c18zMmJpdF9kb21haW4ocC0+ZG9tYWluKSApCiAgICAgICAgIHAtPmFyY2gu
ZGFjciA9IFJFQURfU1lTUkVHKERBQ1IzMl9FTDIpOwotICAgIHAtPmFyY2gu
cGFyID0gUkVBRF9TWVNSRUc2NChQQVJfRUwxKTsKKyAgICBwLT5hcmNoLnBh
ciA9IHJlYWRfc3lzcmVnX3BhcigpOwogI2lmIGRlZmluZWQoQ09ORklHX0FS
TV8zMikKICAgICBwLT5hcmNoLm1haXIwID0gUkVBRF9DUDMyKE1BSVIwKTsK
ICAgICBwLT5hcmNoLm1haXIxID0gUkVBRF9DUDMyKE1BSVIxKTsKZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm02NC9wYWdlLmgg
Yi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvcGFnZS5oCmluZGV4
IDBjYmEyNjYzNzMzYi4uZmJmZTY3YmY4OTUxIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvcGFnZS5oCisrKyBiL3hlbi9h
cmNoL2FybS9pbmNsdWRlL2FzbS9hcm02NC9wYWdlLmgKQEAgLTQ4LDExICs0
OCwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW52YWxpZGF0ZV9pY2FjaGVf
bG9jYWwodm9pZCkKIC8qIEFzayB0aGUgTU1VIHRvIHRyYW5zbGF0ZSBhIFZB
IGZvciB1cyAqLwogc3RhdGljIGlubGluZSB1aW50NjRfdCBfX3ZhX3RvX3Bh
cih2YWRkcl90IHZhKQogewotICAgIHVpbnQ2NF90IHBhciwgdG1wID0gUkVB
RF9TWVNSRUc2NChQQVJfRUwxKTsKKyAgICB1aW50NjRfdCBwYXIsIHRtcCA9
IHJlYWRfc3lzcmVnX3BhcigpOwogCiAgICAgYXNtIHZvbGF0aWxlICgiYXQg
czFlMnIsICUwOyIgOiA6ICJyIiAodmEpKTsKICAgICBpc2IoKTsKLSAgICBw
YXIgPSBSRUFEX1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHBhciA9IHJlYWRf
c3lzcmVnX3BhcigpOwogICAgIFdSSVRFX1NZU1JFRzY0KHRtcCwgUEFSX0VM
MSk7CiAgICAgcmV0dXJuIHBhcjsKIH0KQEAgLTYwLDI4ICs2MCwyOCBAQCBz
dGF0aWMgaW5saW5lIHVpbnQ2NF90IF9fdmFfdG9fcGFyKHZhZGRyX3QgdmEp
CiAvKiBBc2sgdGhlIE1NVSB0byB0cmFuc2xhdGUgYSBHdWVzdCBWQSBmb3Ig
dXMgKi8KIHN0YXRpYyBpbmxpbmUgdWludDY0X3QgZ3ZhX3RvX21hX3Bhcih2
YWRkcl90IHZhLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0gICAgdWludDY0
X3QgcGFyLCB0bXAgPSBSRUFEX1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHVp
bnQ2NF90IHBhciwgdG1wID0gcmVhZF9zeXNyZWdfcGFyKCk7CiAKICAgICBp
ZiAoIChmbGFncyAmIEdWMk1fV1JJVEUpID09IEdWMk1fV1JJVEUgKQogICAg
ICAgICBhc20gdm9sYXRpbGUgKCJhdCBzMTJlMXcsICUwOyIgOiA6ICJyIiAo
dmEpKTsKICAgICBlbHNlCiAgICAgICAgIGFzbSB2b2xhdGlsZSAoImF0IHMx
MmUxciwgJTA7IiA6IDogInIiICh2YSkpOwogICAgIGlzYigpOwotICAgIHBh
ciA9IFJFQURfU1lTUkVHNjQoUEFSX0VMMSk7CisgICAgcGFyID0gcmVhZF9z
eXNyZWdfcGFyKCk7CiAgICAgV1JJVEVfU1lTUkVHNjQodG1wLCBQQVJfRUwx
KTsKICAgICByZXR1cm4gcGFyOwogfQogCiBzdGF0aWMgaW5saW5lIHVpbnQ2
NF90IGd2YV90b19pcGFfcGFyKHZhZGRyX3QgdmEsIHVuc2lnbmVkIGludCBm
bGFncykKIHsKLSAgICB1aW50NjRfdCBwYXIsIHRtcCA9IFJFQURfU1lTUkVH
NjQoUEFSX0VMMSk7CisgICAgdWludDY0X3QgcGFyLCB0bXAgPSByZWFkX3N5
c3JlZ19wYXIoKTsKIAogICAgIGlmICggKGZsYWdzICYgR1YyTV9XUklURSkg
PT0gR1YyTV9XUklURSApCiAgICAgICAgIGFzbSB2b2xhdGlsZSAoImF0IHMx
ZTF3LCAlMDsiIDogOiAiciIgKHZhKSk7CiAgICAgZWxzZQogICAgICAgICBh
c20gdm9sYXRpbGUgKCJhdCBzMWUxciwgJTA7IiA6IDogInIiICh2YSkpOwog
ICAgIGlzYigpOwotICAgIHBhciA9IFJFQURfU1lTUkVHNjQoUEFSX0VMMSk7
CisgICAgcGFyID0gcmVhZF9zeXNyZWdfcGFyKCk7CiAgICAgV1JJVEVfU1lT
UkVHNjQodG1wLCBQQVJfRUwxKTsKICAgICByZXR1cm4gcGFyOwogfQpkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2NwdWZlYXR1cmUu
aCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jcHVmZWF0dXJlLmgKaW5k
ZXggYzg2YTJlN2YyOTFjLi4zYTM5ZmU0YjVhZmUgMTAwNjQ0Ci0tLSBhL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jcHVmZWF0dXJlLmgKKysrIGIveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2NwdWZlYXR1cmUuaApAQCAtNjgsOCAr
NjgsOSBAQAogI2RlZmluZSBBUk1fV09SS0FST1VORF9CSEJfTE9PUF8zMiAx
NAogI2RlZmluZSBBUk1fV09SS0FST1VORF9CSEJfU01DQ18zIDE1CiAjZGVm
aW5lIEFSTV9IQVNfU0IgMTYKKyNkZWZpbmUgQVJNNjRfV09SS0FST1VORF8x
NTA4NDEyIDE3CiAKLSNkZWZpbmUgQVJNX05DQVBTICAgICAgICAgICAxNwor
I2RlZmluZSBBUk1fTkNBUFMgICAgICAgICAgIDE4CiAKICNpZm5kZWYgX19B
U1NFTUJMWV9fCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9zeXNyZWdzLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vc3lz
cmVncy5oCmluZGV4IDVjNWM1MWJiY2RiZi4uNjFlMzBjOWU1MTdjIDEwMDY0
NAotLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vc3lzcmVncy5oCisr
KyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9zeXNyZWdzLmgKQEAgLTks
NiArOSwzMCBAQAogIyBlcnJvciAidW5rbm93biBBUk0gdmFyaWFudCIKICNl
bmRpZgogCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisjaW5jbHVkZSA8YXNt
L2FsdGVybmF0aXZlLmg+CisKK3N0YXRpYyBpbmxpbmUgcmVnaXN0ZXJfdCBy
ZWFkX3N5c3JlZ19wYXIodm9pZCkKK3sKKyAgICByZWdpc3Rlcl90IHBhcl9l
bDE7CisKKyAgICAvKgorICAgICAqIE9uIENvcnRleC1BNzcgcjBwMCBhbmQg
cjFwMCwgcmVhZCBhY2Nlc3MgdG8gUEFSX0VMMSBzaGFsbCBpbmNsdWRlIGEK
KyAgICAgKiBETUIgU1kgYmVmb3JlIGFuZCBhZnRlciBhY2Nlc3NpbmcgaXQs
IGFzIHBhcnQgb2YgdGhlIHdvcmthcm91bmQgZm9yIHRoZQorICAgICAqIGVy
cmF0YSAxNTA4NDEyLgorICAgICAqLworICAgIGFzbSB2b2xhdGlsZShBTFRF
Uk5BVElWRSgibm9wIiwgImRtYiBzeSIsIEFSTTY0X1dPUktBUk9VTkRfMTUw
ODQxMiwKKyAgICAgICAgICAgICAgICAgQ09ORklHX0FSTTY0X0VSUkFUVU1f
MTUwODQxMikpOworICAgIHBhcl9lbDEgPSBSRUFEX1NZU1JFRzY0KFBBUl9F
TDEpOworICAgIGFzbSB2b2xhdGlsZShBTFRFUk5BVElWRSgibm9wIiwgImRt
YiBzeSIsIEFSTTY0X1dPUktBUk9VTkRfMTUwODQxMiwKKyAgICAgICAgICAg
ICAgICAgQ09ORklHX0FSTTY0X0VSUkFUVU1fMTUwODQxMikpOworCisgICAg
cmV0dXJuIHBhcl9lbDE7Cit9CisKKyNlbmRpZiAvKiAgIV9fQVNTRU1CTFlf
XyAgKi8KKwogI2VuZGlmIC8qIF9fQVNNX0FSTV9TWVNSRUdTX0ggKi8KIC8q
CiAgKiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjQwLjEKCg==

--=separator
Content-Type: application/octet-stream; name="xsa436/xsa436-4.15.patch"
Content-Disposition: attachment; filename="xsa436/xsa436-4.15.patch"
Content-Transfer-Encoding: base64

RnJvbSBiY2IwNzc3NjkyZWVjYjYwMzdmNmMxMzI0MGRmNTkxZmE3MGU3NWVl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMdWNhIEZhbmNlbGx1
IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+CkRhdGU6IE1vbiwgMTcgSnVsIDIw
MjMgMTM6MjU6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIXSB4ZW4vYXJtOiBB
ZGQgQ29ydGV4LUE3NyBlcnJhdHVtIDE1MDg0MTIgaGFuZGxpbmcKCkNvcnRl
eC1BNzcgY29yZXMgKHIwcDAsIHIxcDApIGNvdWxkIGRlYWRsb2NrIG9uIGEg
c2VxdWVuY2Ugb2YgYQpzdG9yZS1leGNsdXNpdmUgb3IgcmVhZCBvZiBQQVJf
RUwxIGFuZCBhIGxvYWQgd2l0aCBkZXZpY2Ugb3Igbm9uLWNhY2hlYWJsZQpt
ZW1vcnkgYXR0cmlidXRlcy4KQSB3b3JrYXJvdW5kIGlzIGF2YWlsYWJsZSwg
YnV0IGl0IGRlcGVuZHMgb24gYSBmaXJtd2FyZSBjb3VudGVycGFydC4KClRo
ZSBwcm9wb3NlZCB3b3JrYXJvdW5kIGZyb20gdGhlIGVycmF0YSBkb2N1bWVu
dCBpcyB0byBtb2RpZnkgdGhlIHNvZnR3YXJlCnJ1bm5pbmcgYXQgRUwxIGFu
ZCBhYm92ZSB0byBpbmNsdWRlIGEgRE1CIFNZIGJlZm9yZSBhbmQgYWZ0ZXIg
YWNjZXNzaW5nClBBUl9FTDEuCgpJbiBjb25qdW5jdGlvbiB0byB0aGUgYWJv
dmUsIHRoZSBmaXJtd2FyZSBuZWVkcyB0byB1c2UgYSBzcGVjaWZpYyB3cml0
ZQpzZXF1ZW5jZSB0byBzZXZlcmFsIElNUExFTUVOVEFUSU9OIERFRklORUQg
cmVnaXN0ZXJzIHRvIGhhdmUgdGhlIGhhcmR3YXJlCmluc2VydCBhIERNQiBT
WSBhZnRlciBhbGwgbG9hZC1leGNsdXNpdmUgYW5kIHN0b3JlLWV4Y2x1c2l2
ZSBpbnN0cnVjdGlvbnMuCgpBcHBseSB0aGUgd29ya2Fyb3VuZCB0byBYZW4g
d2hlcmUgUEFSX0VMMSBpcyByZWFkLCBpbXBsZW1lbnRpbmcgYW4gaGVscGVy
CmZ1bmN0aW9uIHRvIGRvIHRoYXQuClNpbmNlIFhlbiBjYW4gYmUgaW50ZXJy
dXB0ZWQgYnkgaXJxcyBpbiBhbnkgbW9tZW50LCBhZGQgYSBiYXJyaWVyIG9u
CmVudHJ5L2V4aXQgd2hlbiB3ZSBhcmUgcnVubmluZyBvbiB0aGUgYWZmZWN0
ZWQgY29yZXMuCgpBIGd1ZXN0IHdpdGhvdXQgdGhlIHdvcmthcm91bmQgY2Fu
IGRlYWRsb2NrIHRoZSBzeXN0ZW0sIHNvIHdhcm4gdGhlIHVzZXJzCm9mIFhl
biB3aXRoIHRoZSBhYm92ZSB0eXBlIG9mIGNvcmVzIHRvIHVzZSBvbmx5IHRy
dXN0ZWQgZ3Vlc3RzLCBieQpwcmludGluZyBhIG1lc3NhZ2Ugb24gWGVuIHN0
YXJ0dXAuCgpTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZh
bmNlbGx1QGFybS5jb20+ClJldmlld2VkLWJ5OiBCZXJ0cmFuZCBNYXJxdWlz
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+ClJldmlld2VkLWJ5OiBKdWxp
ZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPgotLS0KIFNVUFBPUlQubWQg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIGRvY3MvbWlzYy9hcm0v
c2lsaWNvbi1lcnJhdGEudHh0IHwgIDEgKwogeGVuL2FyY2gvYXJtL0tjb25m
aWcgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKIHhl
bi9hcmNoL2FybS9hcm02NC9lbnRyeS5TICAgICAgIHwgMTkgKysrKysrKysr
KysrKysrKysrKwogeGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jICAgICAgICAg
fCAxNiArKysrKysrKysrKystLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMg
ICAgICAgICAgICB8ICAyICstCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0
L3BhZ2UuaCB8IDEyICsrKysrKy0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFy
bS9jcHVmZWF0dXJlLmggfCAgMyArKy0KIHhlbi9pbmNsdWRlL2FzbS1hcm0v
c3lzcmVncy5oICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiA5
IGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NVUFBPUlQubWQgYi9TVVBQT1JULm1kCmlu
ZGV4IDBmYjI2MmY4MWY0MC4uZDU3MTlmMDA1YmE5IDEwMDY0NAotLS0gYS9T
VVBQT1JULm1kCisrKyBiL1NVUFBPUlQubWQKQEAgLTM5LDggKzM5LDEwIEBA
IHN1cHBvcnRlZCBpbiB0aGlzIGRvY3VtZW50LgogCiAgICAgU3RhdHVzOiBT
dXBwb3J0ZWQKICAgICBTdGF0dXMsIENvcnRleCBBNTcgcjBwMC1yMXAxOiBT
dXBwb3J0ZWQsIG5vdCBzZWN1cml0eSBzdXBwb3J0ZWQKKyAgICBTdGF0dXMs
IENvcnRleCBBNzcgcjBwMC1yMXAwOiBTdXBwb3J0ZWQsIG5vdCBzZWN1cml0
eSBzdXBwb3J0ZWQKIAogRm9yIHRoZSBDb3J0ZXggQTU3IHIwcDAgLSByMXAx
LCBzZWUgRXJyYXRhIDgzMjA3NS4KK0ZvciB0aGUgQ29ydGV4IEE3NyByMHAw
IC0gcjFwMCwgc2VlIEVycmF0YSAxNTA4NDEyLgogCiAjIyBIb3N0IGhhcmR3
YXJlIHN1cHBvcnQKIApkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2FybS9zaWxp
Y29uLWVycmF0YS50eHQgYi9kb2NzL21pc2MvYXJtL3NpbGljb24tZXJyYXRh
LnR4dAppbmRleCAxOTI1ZDhmZDRlZTAuLmM0ZTgyZGY1MzU2NiAxMDA2NDQK
LS0tIGEvZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKKysrIGIv
ZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKQEAgLTU4LDQgKzU4
LDUgQEAgc3RhYmxlIGh5cGVydmlzb3JzLgogfCBBUk0gICAgICAgICAgICB8
IENvcnRleC1BNzYgICAgICB8ICMxMjg2ODA3ICAgICAgICB8IEFSTTY0X0VS
UkFUVU1fMTI4NjgwNyAgIHwKIHwgQVJNICAgICAgICAgICAgfCBOZW92ZXJz
ZS1OMSAgICAgfCAjMTE2NTUyMiAgICAgICAgfCBOL0EKIHwgQVJNICAgICAg
ICAgICAgfCBOZW92ZXJzZS1OMSAgICAgfCAjMTI4NjgwNyAgICAgICAgfCBB
Uk02NF9FUlJBVFVNXzEyODY4MDcgICB8Cit8IEFSTSAgICAgICAgICAgIHwg
Q29ydGV4LUE3NyAgICAgIHwgIzE1MDg0MTIgICAgICAgIHwgQVJNNjRfRVJS
QVRVTV8xNTA4NDEyICAgfAogfCBBUk0gICAgICAgICAgICB8IE1NVS01MDAg
ICAgICAgICB8ICM4NDI4NjkgICAgICAgICB8IE4vQSAgICAgICAgICAgICAg
ICAgICAgIHwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIv
eGVuL2FyY2gvYXJtL0tjb25maWcKaW5kZXggMzMwYmJmNjIzMmQ0Li5lM2M4
Yjg5NTk0M2UgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisr
KyBiL3hlbi9hcmNoL2FybS9LY29uZmlnCkBAIC0yODQsNiArMjg0LDI3IEBA
IGNvbmZpZyBBUk02NF9FUlJBVFVNXzEyODY4MDcKIAogCSAgSWYgdW5zdXJl
LCBzYXkgWS4KIAorY29uZmlnIEFSTTY0X0VSUkFUVU1fMTUwODQxMgorCWJv
b2wgIkNvcnRleC1BNzc6IDE1MDg0MTI6IHBvc3NpYmxlIGRlYWRsb2NrIG9u
IHNlcXVlbmNlIG9mIE5DL0RldmljZSBsb2FkIGFuZCBzdG9yZSBleGNsdXNp
dmUgb3IgUEFSIHJlYWQiCisJZGVmYXVsdCB5CisJZGVwZW5kcyBvbiBBUk1f
NjQKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3VuZCBm
b3IgQXJtIENvcnRleC1BNzcgZXJyYXR1bSAxNTA4NDEyLgorCisJICBBZmZl
Y3RlZCBDb3J0ZXgtQTc3IGNvcmVzIChyMHAwLCByMXAwKSBjb3VsZCBkZWFk
bG9jayBvbiBhIHNlcXVlbmNlCisJICBvZiBhIHN0b3JlLWV4Y2x1c2l2ZSBv
ciByZWFkIG9mIFBBUl9FTDEgYW5kIGEgbG9hZCB3aXRoIGRldmljZSBvcgor
CSAgbm9uLWNhY2hlYWJsZSBtZW1vcnkgYXR0cmlidXRlcy4gVGhlIHdvcmth
cm91bmQgZGVwZW5kcyBvbiBhIGZpcm13YXJlCisJICBjb3VudGVycGFydC4K
KworCSAgWGVuIGd1ZXN0cyBtdXN0IGFsc28gaGF2ZSB0aGUgd29ya2Fyb3Vu
ZCBpbXBsZW1lbnRlZCBvciB0aGV5IGNhbgorCSAgZGVhZGxvY2sgdGhlIHN5
c3RlbS4KKworCSAgV29yayBhcm91bmQgdGhlIGlzc3VlIGJ5IGluc2VydGlu
ZyBETUIgU1kgYmFycmllcnMgYXJvdW5kIFBBUl9FTDEKKwkgIHJlZ2lzdGVy
IHJlYWRzIGFuZCB3YXJuaW5nIFhlbiB1c2Vycy4gVGhlIERNQiBiYXJyaWVy
IGlzIHN1ZmZpY2llbnQKKwkgIHRvIHByZXZlbnQgYSBzcGVjdWxhdGl2ZSBQ
QVJfRUwxIHJlYWQuCisKKwkgIElmIHVuc3VyZSwgc2F5IFkuCisKIGVuZG1l
bnUKIAogY29uZmlnIEFSTTY0X0hBUkRFTl9CUkFOQ0hfUFJFRElDVE9SCmRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUyBiL3hlbi9h
cmNoL2FybS9hcm02NC9lbnRyeS5TCmluZGV4IGE4YzIxNDUwNjc4Ni4uNGYz
M2NlZjBiM2NkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50
cnkuUworKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUwpAQCAtMTEy
LDYgKzExMiwxNiBAQAogICogcG9zaXRpb24gb24gdGhlIHN0YWNrIGJlZm9y
ZS4KICAqLwogICAgICAgICAubWFjcm8gIGVudHJ5LCBoeXAsIGNvbXBhdCwg
c2F2ZV94MF94MT0xCisKKyAgICAgICAgLyoKKyAgICAgICAgICogRW5zdXJl
IGFueSBQQVJfRUwxIHJlYWRzIGNvbXBsZXRlLCBpbiBjYXNlIHdlIHdlcmUg
aW50ZXJydXB0ZWQKKyAgICAgICAgICogYmV0d2VlbiB0aGUgUEFSX0VMMSBy
ZWFkIGFuZCB0aGUgbWVtb3J5IGJhcnJpZXIgZm9yIHRoZSBlcnJhdHVtCisg
ICAgICAgICAqIDE1MDg0MTIgd29ya2Fyb3VuZC4KKyAgICAgICAgICovCisg
ICAgICAgIGFsdGVybmF0aXZlX2lmIEFSTTY0X1dPUktBUk9VTkRfMTUwODQx
MgorICAgICAgICBkbWIgc3kKKyAgICAgICAgYWx0ZXJuYXRpdmVfZWxzZV9u
b3BfZW5kaWYKKwogICAgICAgICBzdWIgICAgIHNwLCBzcCwgIyhVUkVHU19T
UFNSX2VsMSAtIFVSRUdTX0xSKSAvKiBDUFNSLCBQQywgU1AsIExSICovCiAg
ICAgICAgIHB1c2ggICAgeDI4LCB4MjkKICAgICAgICAgcHVzaCAgICB4MjYs
IHgyNwpAQCAtNDY1LDYgKzQ3NSwxNSBAQCByZXR1cm5fZnJvbV90cmFwOgog
CiAgICAgICAgIGxkciAgICAgbHIsIFtzcF0sICMoVVJFR1NfU1BTUl9lbDEg
LSBVUkVHU19MUikgLyogQ1BTUiwgUEMsIFNQLCBMUiAqLwogCisgICAgICAg
IC8qCisgICAgICAgICAqIEVuc3VyZSBhbnkgZGV2aWNlL05DIHJlYWRzIGNv
bXBsZXRlLCBpbiBjYXNlIHdlIHdlcmUgaW50ZXJydXB0ZWQKKyAgICAgICAg
ICogYmV0d2VlbiB0aGUgbWVtb3J5IGJhcnJpZXIgZm9yIHRoZSBlcnJhdHVt
IDE1MDg0MTIgd29ya2Fyb3VuZCBhbmQKKyAgICAgICAgICogYW55IFBBUl9F
TDEgcmVhZC4KKyAgICAgICAgICovCisgICAgICAgIGFsdGVybmF0aXZlX2lm
IEFSTTY0X1dPUktBUk9VTkRfMTUwODQxMgorICAgICAgICBkbWIgc3kKKyAg
ICAgICAgYWx0ZXJuYXRpdmVfZWxzZV9ub3BfZW5kaWYKKwogICAgICAgICBl
cmV0CiAgICAgICAgIHNiCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9j
cHVlcnJhdGEuYyBiL3hlbi9hcmNoL2FybS9jcHVlcnJhdGEuYwppbmRleCBh
ZTY0OWQxNmVmMDIuLmVhNjgwZmFjMmU0NCAxMDA2NDQKLS0tIGEveGVuL2Fy
Y2gvYXJtL2NwdWVycmF0YS5jCisrKyBiL3hlbi9hcmNoL2FybS9jcHVlcnJh
dGEuYwpAQCAtNjY4LDYgKzY2OCwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IGFybV9jcHVfY2FwYWJpbGl0aWVzIGFybV9lcnJhdGFbXSA9IHsKICAgICAg
ICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX0FUX1NQRUNVTEFU
RSwKICAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTU3
KSwKICAgICB9LAorI2lmZGVmIENPTkZJR19BUk02NF9FUlJBVFVNXzE1MDg0
MTIKKyAgICB7CisgICAgICAgIC8qIENvcnRleC1BNzcgcjBwMCAtIHIxcDAg
Ki8KKyAgICAgICAgLmRlc2MgPSAiQVJNIGVycmF0dW0gMTUwODQxMiAoaHlw
ZXJ2aXNvciBwb3J0aW9uKSIsCisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJN
NjRfV09SS0FST1VORF8xNTA4NDEyLAorICAgICAgICBNSURSX1JBTkdFKE1J
RFJfQ09SVEVYX0E3NywgMCwgMSksCisgICAgfSwKKyNlbmRpZgogICAgIHsK
ICAgICAgICAgLyogQ29ydGV4LUE1NSAoQWxsIHZlcnNpb25zIGFzIGVycmF0
dW0gaXMgb3BlbiBpbiBTREVOIHYxNCkgKi8KICAgICAgICAgLmRlc2MgPSAi
QVJNIGVycmF0dW0gMTUzMDkyMyIsCkBAIC02ODYsMTEgKzY5NCwxMSBAQCB2
b2lkIF9faW5pdCBlbmFibGVfZXJyYXRhX3dvcmthcm91bmRzKHZvaWQpCiB7
CiAgICAgZW5hYmxlX2NwdV9jYXBhYmlsaXRpZXMoYXJtX2VycmF0YSk7CiAK
LSNpZmRlZiBDT05GSUdfQVJNNjRfRVJSQVRVTV84MzIwNzUKLSAgICBpZiAo
IGNwdXNfaGF2ZV9jYXAoQVJNNjRfV09SS0FST1VORF9ERVZJQ0VfTE9BRF9B
Q1FVSVJFKSApCisjaWYgZGVmaW5lZChDT05GSUdfQVJNNjRfRVJSQVRVTV84
MzIwNzUpIHx8IGRlZmluZWQoQ09ORklHX0FSTTY0X0VSUkFUVU1fMTUwODQx
MikKKyAgICBpZiAoIGNwdXNfaGF2ZV9jYXAoQVJNNjRfV09SS0FST1VORF9E
RVZJQ0VfTE9BRF9BQ1FVSVJFKSB8fAorICAgICAgICAgY3B1c19oYXZlX2Nh
cChBUk02NF9XT1JLQVJPVU5EXzE1MDg0MTIpICkKICAgICB7Ci0gICAgICAg
IHByaW50a19vbmNlKCIqKioqIFRoaXMgQ1BVIGlzIGFmZmVjdGVkIGJ5IHRo
ZSBlcnJhdGEgODMyMDc1LiAgICAgICAgICAgICAgICAgICAgICAqKioqXG4i
Ci0gICAgICAgICAgICAgICAgICAgICIqKioqIEd1ZXN0cyB3aXRob3V0IENQ
VSBlcnJhdHVtIHdvcmthcm91bmRzIGNhbiBkZWFkbG9jayB0aGUgc3lzdGVt
ISAqKioqXG4iCisgICAgICAgIHByaW50a19vbmNlKCIqKioqIEd1ZXN0cyB3
aXRob3V0IENQVSBlcnJhdHVtIHdvcmthcm91bmRzIGNhbiBkZWFkbG9jayB0
aGUgc3lzdGVtISAqKioqXG4iCiAgICAgICAgICAgICAgICAgICAgICIqKioq
IE9ubHkgdHJ1c3RlZCBndWVzdHMgc2hvdWxkIGJlIHVzZWQuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqKioqXG4iKTsKIAogICAgICAgICAvKiBU
YWludCB0aGUgbWFjaGluZSBoYXMgYmVpbmcgaW5zZWN1cmUgKi8KZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9k
b21haW4uYwppbmRleCA1ZWFmNGM3MThlYzMuLjk2MWI2ZGM4MmE1NiAxMDA2
NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNo
L2FybS9kb21haW4uYwpAQCAtMTM2LDcgKzEzNiw3IEBAIHN0YXRpYyB2b2lk
IGN0eHRfc3dpdGNoX2Zyb20oc3RydWN0IHZjcHUgKnApCiAgICAgcC0+YXJj
aC50dGJyMSA9IFJFQURfU1lTUkVHNjQoVFRCUjFfRUwxKTsKICAgICBpZiAo
IGlzXzMyYml0X2RvbWFpbihwLT5kb21haW4pICkKICAgICAgICAgcC0+YXJj
aC5kYWNyID0gUkVBRF9TWVNSRUcoREFDUjMyX0VMMik7Ci0gICAgcC0+YXJj
aC5wYXIgPSBSRUFEX1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHAtPmFyY2gu
cGFyID0gcmVhZF9zeXNyZWdfcGFyKCk7CiAjaWYgZGVmaW5lZChDT05GSUdf
QVJNXzMyKQogICAgIHAtPmFyY2gubWFpcjAgPSBSRUFEX0NQMzIoTUFJUjAp
OwogICAgIHAtPmFyY2gubWFpcjEgPSBSRUFEX0NQMzIoTUFJUjEpOwpkaWZm
IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9hcm02NC9wYWdlLmggYi94
ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0L3BhZ2UuaAppbmRleCAwY2JhMjY2
MzczM2IuLmZiZmU2N2JmODk1MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLWFybS9hcm02NC9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFy
bS9hcm02NC9wYWdlLmgKQEAgLTQ4LDExICs0OCwxMSBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgaW52YWxpZGF0ZV9pY2FjaGVfbG9jYWwodm9pZCkKIC8qIEFz
ayB0aGUgTU1VIHRvIHRyYW5zbGF0ZSBhIFZBIGZvciB1cyAqLwogc3RhdGlj
IGlubGluZSB1aW50NjRfdCBfX3ZhX3RvX3Bhcih2YWRkcl90IHZhKQogewot
ICAgIHVpbnQ2NF90IHBhciwgdG1wID0gUkVBRF9TWVNSRUc2NChQQVJfRUwx
KTsKKyAgICB1aW50NjRfdCBwYXIsIHRtcCA9IHJlYWRfc3lzcmVnX3Bhcigp
OwogCiAgICAgYXNtIHZvbGF0aWxlICgiYXQgczFlMnIsICUwOyIgOiA6ICJy
IiAodmEpKTsKICAgICBpc2IoKTsKLSAgICBwYXIgPSBSRUFEX1NZU1JFRzY0
KFBBUl9FTDEpOworICAgIHBhciA9IHJlYWRfc3lzcmVnX3BhcigpOwogICAg
IFdSSVRFX1NZU1JFRzY0KHRtcCwgUEFSX0VMMSk7CiAgICAgcmV0dXJuIHBh
cjsKIH0KQEAgLTYwLDI4ICs2MCwyOCBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2
NF90IF9fdmFfdG9fcGFyKHZhZGRyX3QgdmEpCiAvKiBBc2sgdGhlIE1NVSB0
byB0cmFuc2xhdGUgYSBHdWVzdCBWQSBmb3IgdXMgKi8KIHN0YXRpYyBpbmxp
bmUgdWludDY0X3QgZ3ZhX3RvX21hX3Bhcih2YWRkcl90IHZhLCB1bnNpZ25l
ZCBpbnQgZmxhZ3MpCiB7Ci0gICAgdWludDY0X3QgcGFyLCB0bXAgPSBSRUFE
X1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHVpbnQ2NF90IHBhciwgdG1wID0g
cmVhZF9zeXNyZWdfcGFyKCk7CiAKICAgICBpZiAoIChmbGFncyAmIEdWMk1f
V1JJVEUpID09IEdWMk1fV1JJVEUgKQogICAgICAgICBhc20gdm9sYXRpbGUg
KCJhdCBzMTJlMXcsICUwOyIgOiA6ICJyIiAodmEpKTsKICAgICBlbHNlCiAg
ICAgICAgIGFzbSB2b2xhdGlsZSAoImF0IHMxMmUxciwgJTA7IiA6IDogInIi
ICh2YSkpOwogICAgIGlzYigpOwotICAgIHBhciA9IFJFQURfU1lTUkVHNjQo
UEFSX0VMMSk7CisgICAgcGFyID0gcmVhZF9zeXNyZWdfcGFyKCk7CiAgICAg
V1JJVEVfU1lTUkVHNjQodG1wLCBQQVJfRUwxKTsKICAgICByZXR1cm4gcGFy
OwogfQogCiBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IGd2YV90b19pcGFfcGFy
KHZhZGRyX3QgdmEsIHVuc2lnbmVkIGludCBmbGFncykKIHsKLSAgICB1aW50
NjRfdCBwYXIsIHRtcCA9IFJFQURfU1lTUkVHNjQoUEFSX0VMMSk7CisgICAg
dWludDY0X3QgcGFyLCB0bXAgPSByZWFkX3N5c3JlZ19wYXIoKTsKIAogICAg
IGlmICggKGZsYWdzICYgR1YyTV9XUklURSkgPT0gR1YyTV9XUklURSApCiAg
ICAgICAgIGFzbSB2b2xhdGlsZSAoImF0IHMxZTF3LCAlMDsiIDogOiAiciIg
KHZhKSk7CiAgICAgZWxzZQogICAgICAgICBhc20gdm9sYXRpbGUgKCJhdCBz
MWUxciwgJTA7IiA6IDogInIiICh2YSkpOwogICAgIGlzYigpOwotICAgIHBh
ciA9IFJFQURfU1lTUkVHNjQoUEFSX0VMMSk7CisgICAgcGFyID0gcmVhZF9z
eXNyZWdfcGFyKCk7CiAgICAgV1JJVEVfU1lTUkVHNjQodG1wLCBQQVJfRUwx
KTsKICAgICByZXR1cm4gcGFyOwogfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUvYXNtLWFybS9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVkZS9hc20tYXJt
L2NwdWZlYXR1cmUuaAppbmRleCBkNGU3Y2RlNjc1ZTUuLjQxYWNhOWM1OGM2
ZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9jcHVmZWF0dXJl
LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jcHVmZWF0dXJlLmgKQEAg
LTUzLDggKzUzLDkgQEAKICNkZWZpbmUgQVJNX1dPUktBUk9VTkRfQkhCX0xP
T1BfMjQgMTMKICNkZWZpbmUgQVJNX1dPUktBUk9VTkRfQkhCX0xPT1BfMzIg
MTQKICNkZWZpbmUgQVJNX1dPUktBUk9VTkRfQkhCX1NNQ0NfMyAxNQorI2Rl
ZmluZSBBUk02NF9XT1JLQVJPVU5EXzE1MDg0MTIgMTYKIAotI2RlZmluZSBB
Uk1fTkNBUFMgICAgICAgICAgIDE2CisjZGVmaW5lIEFSTV9OQ0FQUyAgICAg
ICAgICAgMTcKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zeXNyZWdzLmggYi94ZW4vaW5jbHVk
ZS9hc20tYXJtL3N5c3JlZ3MuaAppbmRleCA1YzVjNTFiYmNkYmYuLjYxZTMw
YzllNTE3YyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zeXNy
ZWdzLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9zeXNyZWdzLmgKQEAg
LTksNiArOSwzMCBAQAogIyBlcnJvciAidW5rbm93biBBUk0gdmFyaWFudCIK
ICNlbmRpZgogCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisjaW5jbHVkZSA8
YXNtL2FsdGVybmF0aXZlLmg+CisKK3N0YXRpYyBpbmxpbmUgcmVnaXN0ZXJf
dCByZWFkX3N5c3JlZ19wYXIodm9pZCkKK3sKKyAgICByZWdpc3Rlcl90IHBh
cl9lbDE7CisKKyAgICAvKgorICAgICAqIE9uIENvcnRleC1BNzcgcjBwMCBh
bmQgcjFwMCwgcmVhZCBhY2Nlc3MgdG8gUEFSX0VMMSBzaGFsbCBpbmNsdWRl
IGEKKyAgICAgKiBETUIgU1kgYmVmb3JlIGFuZCBhZnRlciBhY2Nlc3Npbmcg
aXQsIGFzIHBhcnQgb2YgdGhlIHdvcmthcm91bmQgZm9yIHRoZQorICAgICAq
IGVycmF0YSAxNTA4NDEyLgorICAgICAqLworICAgIGFzbSB2b2xhdGlsZShB
TFRFUk5BVElWRSgibm9wIiwgImRtYiBzeSIsIEFSTTY0X1dPUktBUk9VTkRf
MTUwODQxMiwKKyAgICAgICAgICAgICAgICAgQ09ORklHX0FSTTY0X0VSUkFU
VU1fMTUwODQxMikpOworICAgIHBhcl9lbDEgPSBSRUFEX1NZU1JFRzY0KFBB
Ul9FTDEpOworICAgIGFzbSB2b2xhdGlsZShBTFRFUk5BVElWRSgibm9wIiwg
ImRtYiBzeSIsIEFSTTY0X1dPUktBUk9VTkRfMTUwODQxMiwKKyAgICAgICAg
ICAgICAgICAgQ09ORklHX0FSTTY0X0VSUkFUVU1fMTUwODQxMikpOworCisg
ICAgcmV0dXJuIHBhcl9lbDE7Cit9CisKKyNlbmRpZiAvKiAgIV9fQVNTRU1C
TFlfXyAgKi8KKwogI2VuZGlmIC8qIF9fQVNNX0FSTV9TWVNSRUdTX0ggKi8K
IC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjQwLjEKCg==

--=separator
Content-Type: application/octet-stream; name="xsa436/xsa436-4.16.patch"
Content-Disposition: attachment; filename="xsa436/xsa436-4.16.patch"
Content-Transfer-Encoding: base64

RnJvbSA1MDgzYjhiNGE0MjVjNjQ4MjBhYzEwNmNlMGY3OWNjNWFmMTk1YjVi
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMdWNhIEZhbmNlbGx1
IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+CkRhdGU6IE1vbiwgMTcgSnVsIDIw
MjMgMTM6MjU6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIXSB4ZW4vYXJtOiBB
ZGQgQ29ydGV4LUE3NyBlcnJhdHVtIDE1MDg0MTIgaGFuZGxpbmcKCkNvcnRl
eC1BNzcgY29yZXMgKHIwcDAsIHIxcDApIGNvdWxkIGRlYWRsb2NrIG9uIGEg
c2VxdWVuY2Ugb2YgYQpzdG9yZS1leGNsdXNpdmUgb3IgcmVhZCBvZiBQQVJf
RUwxIGFuZCBhIGxvYWQgd2l0aCBkZXZpY2Ugb3Igbm9uLWNhY2hlYWJsZQpt
ZW1vcnkgYXR0cmlidXRlcy4KQSB3b3JrYXJvdW5kIGlzIGF2YWlsYWJsZSwg
YnV0IGl0IGRlcGVuZHMgb24gYSBmaXJtd2FyZSBjb3VudGVycGFydC4KClRo
ZSBwcm9wb3NlZCB3b3JrYXJvdW5kIGZyb20gdGhlIGVycmF0YSBkb2N1bWVu
dCBpcyB0byBtb2RpZnkgdGhlIHNvZnR3YXJlCnJ1bm5pbmcgYXQgRUwxIGFu
ZCBhYm92ZSB0byBpbmNsdWRlIGEgRE1CIFNZIGJlZm9yZSBhbmQgYWZ0ZXIg
YWNjZXNzaW5nClBBUl9FTDEuCgpJbiBjb25qdW5jdGlvbiB0byB0aGUgYWJv
dmUsIHRoZSBmaXJtd2FyZSBuZWVkcyB0byB1c2UgYSBzcGVjaWZpYyB3cml0
ZQpzZXF1ZW5jZSB0byBzZXZlcmFsIElNUExFTUVOVEFUSU9OIERFRklORUQg
cmVnaXN0ZXJzIHRvIGhhdmUgdGhlIGhhcmR3YXJlCmluc2VydCBhIERNQiBT
WSBhZnRlciBhbGwgbG9hZC1leGNsdXNpdmUgYW5kIHN0b3JlLWV4Y2x1c2l2
ZSBpbnN0cnVjdGlvbnMuCgpBcHBseSB0aGUgd29ya2Fyb3VuZCB0byBYZW4g
d2hlcmUgUEFSX0VMMSBpcyByZWFkLCBpbXBsZW1lbnRpbmcgYW4gaGVscGVy
CmZ1bmN0aW9uIHRvIGRvIHRoYXQuClNpbmNlIFhlbiBjYW4gYmUgaW50ZXJy
dXB0ZWQgYnkgaXJxcyBpbiBhbnkgbW9tZW50LCBhZGQgYSBiYXJyaWVyIG9u
CmVudHJ5L2V4aXQgd2hlbiB3ZSBhcmUgcnVubmluZyBvbiB0aGUgYWZmZWN0
ZWQgY29yZXMuCgpBIGd1ZXN0IHdpdGhvdXQgdGhlIHdvcmthcm91bmQgY2Fu
IGRlYWRsb2NrIHRoZSBzeXN0ZW0sIHNvIHdhcm4gdGhlIHVzZXJzCm9mIFhl
biB3aXRoIHRoZSBhYm92ZSB0eXBlIG9mIGNvcmVzIHRvIHVzZSBvbmx5IHRy
dXN0ZWQgZ3Vlc3RzLCBieQpwcmludGluZyBhIG1lc3NhZ2Ugb24gWGVuIHN0
YXJ0dXAuCgpTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZh
bmNlbGx1QGFybS5jb20+ClJldmlld2VkLWJ5OiBCZXJ0cmFuZCBNYXJxdWlz
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+ClJldmlld2VkLWJ5OiBKdWxp
ZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPgotLS0KIFNVUFBPUlQubWQg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIGRvY3MvbWlzYy9hcm0v
c2lsaWNvbi1lcnJhdGEudHh0IHwgIDEgKwogeGVuL2FyY2gvYXJtL0tjb25m
aWcgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKIHhl
bi9hcmNoL2FybS9hcm02NC9lbnRyeS5TICAgICAgIHwgMTkgKysrKysrKysr
KysrKysrKysrKwogeGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jICAgICAgICAg
fCAxNiArKysrKysrKysrKystLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMg
ICAgICAgICAgICB8ICAyICstCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0
L3BhZ2UuaCB8IDEyICsrKysrKy0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFy
bS9jcHVmZWF0dXJlLmggfCAgMyArKy0KIHhlbi9pbmNsdWRlL2FzbS1hcm0v
c3lzcmVncy5oICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiA5
IGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NVUFBPUlQubWQgYi9TVVBQT1JULm1kCmlu
ZGV4IDg1NzI2MTAyZWFiOC4uNzhhOTMxNTllM2RhIDEwMDY0NAotLS0gYS9T
VVBQT1JULm1kCisrKyBiL1NVUFBPUlQubWQKQEAgLTM5LDggKzM5LDEwIEBA
IHN1cHBvcnRlZCBpbiB0aGlzIGRvY3VtZW50LgogCiAgICAgU3RhdHVzOiBT
dXBwb3J0ZWQKICAgICBTdGF0dXMsIENvcnRleCBBNTcgcjBwMC1yMXAxOiBT
dXBwb3J0ZWQsIG5vdCBzZWN1cml0eSBzdXBwb3J0ZWQKKyAgICBTdGF0dXMs
IENvcnRleCBBNzcgcjBwMC1yMXAwOiBTdXBwb3J0ZWQsIG5vdCBzZWN1cml0
eSBzdXBwb3J0ZWQKIAogRm9yIHRoZSBDb3J0ZXggQTU3IHIwcDAgLSByMXAx
LCBzZWUgRXJyYXRhIDgzMjA3NS4KK0ZvciB0aGUgQ29ydGV4IEE3NyByMHAw
IC0gcjFwMCwgc2VlIEVycmF0YSAxNTA4NDEyLgogCiAjIyBIb3N0IGhhcmR3
YXJlIHN1cHBvcnQKIApkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2FybS9zaWxp
Y29uLWVycmF0YS50eHQgYi9kb2NzL21pc2MvYXJtL3NpbGljb24tZXJyYXRh
LnR4dAppbmRleCAxOTI1ZDhmZDRlZTAuLmM0ZTgyZGY1MzU2NiAxMDA2NDQK
LS0tIGEvZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKKysrIGIv
ZG9jcy9taXNjL2FybS9zaWxpY29uLWVycmF0YS50eHQKQEAgLTU4LDQgKzU4
LDUgQEAgc3RhYmxlIGh5cGVydmlzb3JzLgogfCBBUk0gICAgICAgICAgICB8
IENvcnRleC1BNzYgICAgICB8ICMxMjg2ODA3ICAgICAgICB8IEFSTTY0X0VS
UkFUVU1fMTI4NjgwNyAgIHwKIHwgQVJNICAgICAgICAgICAgfCBOZW92ZXJz
ZS1OMSAgICAgfCAjMTE2NTUyMiAgICAgICAgfCBOL0EKIHwgQVJNICAgICAg
ICAgICAgfCBOZW92ZXJzZS1OMSAgICAgfCAjMTI4NjgwNyAgICAgICAgfCBB
Uk02NF9FUlJBVFVNXzEyODY4MDcgICB8Cit8IEFSTSAgICAgICAgICAgIHwg
Q29ydGV4LUE3NyAgICAgIHwgIzE1MDg0MTIgICAgICAgIHwgQVJNNjRfRVJS
QVRVTV8xNTA4NDEyICAgfAogfCBBUk0gICAgICAgICAgICB8IE1NVS01MDAg
ICAgICAgICB8ICM4NDI4NjkgICAgICAgICB8IE4vQSAgICAgICAgICAgICAg
ICAgICAgIHwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIv
eGVuL2FyY2gvYXJtL0tjb25maWcKaW5kZXggZWNmYTY4MjJlNGQzLi5jNzg3
YTA0MmEwYTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisr
KyBiL3hlbi9hcmNoL2FybS9LY29uZmlnCkBAIC0yNzgsNiArMjc4LDI3IEBA
IGNvbmZpZyBBUk02NF9FUlJBVFVNXzEyODY4MDcKIAogCSAgSWYgdW5zdXJl
LCBzYXkgWS4KIAorY29uZmlnIEFSTTY0X0VSUkFUVU1fMTUwODQxMgorCWJv
b2wgIkNvcnRleC1BNzc6IDE1MDg0MTI6IHBvc3NpYmxlIGRlYWRsb2NrIG9u
IHNlcXVlbmNlIG9mIE5DL0RldmljZSBsb2FkIGFuZCBzdG9yZSBleGNsdXNp
dmUgb3IgUEFSIHJlYWQiCisJZGVmYXVsdCB5CisJZGVwZW5kcyBvbiBBUk1f
NjQKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3VuZCBm
b3IgQXJtIENvcnRleC1BNzcgZXJyYXR1bSAxNTA4NDEyLgorCisJICBBZmZl
Y3RlZCBDb3J0ZXgtQTc3IGNvcmVzIChyMHAwLCByMXAwKSBjb3VsZCBkZWFk
bG9jayBvbiBhIHNlcXVlbmNlCisJICBvZiBhIHN0b3JlLWV4Y2x1c2l2ZSBv
ciByZWFkIG9mIFBBUl9FTDEgYW5kIGEgbG9hZCB3aXRoIGRldmljZSBvcgor
CSAgbm9uLWNhY2hlYWJsZSBtZW1vcnkgYXR0cmlidXRlcy4gVGhlIHdvcmth
cm91bmQgZGVwZW5kcyBvbiBhIGZpcm13YXJlCisJICBjb3VudGVycGFydC4K
KworCSAgWGVuIGd1ZXN0cyBtdXN0IGFsc28gaGF2ZSB0aGUgd29ya2Fyb3Vu
ZCBpbXBsZW1lbnRlZCBvciB0aGV5IGNhbgorCSAgZGVhZGxvY2sgdGhlIHN5
c3RlbS4KKworCSAgV29yayBhcm91bmQgdGhlIGlzc3VlIGJ5IGluc2VydGlu
ZyBETUIgU1kgYmFycmllcnMgYXJvdW5kIFBBUl9FTDEKKwkgIHJlZ2lzdGVy
IHJlYWRzIGFuZCB3YXJuaW5nIFhlbiB1c2Vycy4gVGhlIERNQiBiYXJyaWVy
IGlzIHN1ZmZpY2llbnQKKwkgIHRvIHByZXZlbnQgYSBzcGVjdWxhdGl2ZSBQ
QVJfRUwxIHJlYWQuCisKKwkgIElmIHVuc3VyZSwgc2F5IFkuCisKIGVuZG1l
bnUKIAogY29uZmlnIEFSTTY0X0hBUkRFTl9CUkFOQ0hfUFJFRElDVE9SCmRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUyBiL3hlbi9h
cmNoL2FybS9hcm02NC9lbnRyeS5TCmluZGV4IDk1ZjFhOTI2ODQxOS4uOTVm
ZjRlM2UwNTE3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvZW50
cnkuUworKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvZW50cnkuUwpAQCAtMTM0
LDYgKzEzNCwxNiBAQAogICogcG9zaXRpb24gb24gdGhlIHN0YWNrIGJlZm9y
ZS4KICAqLwogICAgICAgICAubWFjcm8gIGVudHJ5LCBoeXAsIGNvbXBhdCwg
c2F2ZV94MF94MT0xCisKKyAgICAgICAgLyoKKyAgICAgICAgICogRW5zdXJl
IGFueSBQQVJfRUwxIHJlYWRzIGNvbXBsZXRlLCBpbiBjYXNlIHdlIHdlcmUg
aW50ZXJydXB0ZWQKKyAgICAgICAgICogYmV0d2VlbiB0aGUgUEFSX0VMMSBy
ZWFkIGFuZCB0aGUgbWVtb3J5IGJhcnJpZXIgZm9yIHRoZSBlcnJhdHVtCisg
ICAgICAgICAqIDE1MDg0MTIgd29ya2Fyb3VuZC4KKyAgICAgICAgICovCisg
ICAgICAgIGFsdGVybmF0aXZlX2lmIEFSTTY0X1dPUktBUk9VTkRfMTUwODQx
MgorICAgICAgICBkbWIgc3kKKyAgICAgICAgYWx0ZXJuYXRpdmVfZWxzZV9u
b3BfZW5kaWYKKwogICAgICAgICBzdWIgICAgIHNwLCBzcCwgIyhVUkVHU19T
UFNSX2VsMSAtIFVSRUdTX0xSKSAvKiBDUFNSLCBQQywgU1AsIExSICovCiAK
ICAgICAgICAgLmlmIFxoeXAgPT0gMCAgICAgICAgIC8qIEd1ZXN0IG1vZGUg
Ki8KQEAgLTQ5Miw2ICs1MDIsMTUgQEAgcmV0dXJuX2Zyb21fdHJhcDoKIAog
ICAgICAgICBsZHIgICAgIGxyLCBbc3BdLCAjKFVSRUdTX1NQU1JfZWwxIC0g
VVJFR1NfTFIpIC8qIENQU1IsIFBDLCBTUCwgTFIgKi8KIAorICAgICAgICAv
KgorICAgICAgICAgKiBFbnN1cmUgYW55IGRldmljZS9OQyByZWFkcyBjb21w
bGV0ZSwgaW4gY2FzZSB3ZSB3ZXJlIGludGVycnVwdGVkCisgICAgICAgICAq
IGJldHdlZW4gdGhlIG1lbW9yeSBiYXJyaWVyIGZvciB0aGUgZXJyYXR1bSAx
NTA4NDEyIHdvcmthcm91bmQgYW5kCisgICAgICAgICAqIGFueSBQQVJfRUwx
IHJlYWQuCisgICAgICAgICAqLworICAgICAgICBhbHRlcm5hdGl2ZV9pZiBB
Uk02NF9XT1JLQVJPVU5EXzE1MDg0MTIKKyAgICAgICAgZG1iIHN5CisgICAg
ICAgIGFsdGVybmF0aXZlX2Vsc2Vfbm9wX2VuZGlmCisKICAgICAgICAgZXJl
dAogICAgICAgICBzYgogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vY3B1
ZXJyYXRhLmMgYi94ZW4vYXJjaC9hcm0vY3B1ZXJyYXRhLmMKaW5kZXggYWU2
NDlkMTZlZjAyLi5lYTY4MGZhYzJlNDQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L2FybS9jcHVlcnJhdGEuYworKysgYi94ZW4vYXJjaC9hcm0vY3B1ZXJyYXRh
LmMKQEAgLTY2OCw2ICs2NjgsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBh
cm1fY3B1X2NhcGFiaWxpdGllcyBhcm1fZXJyYXRhW10gPSB7CiAgICAgICAg
IC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9BVF9TUEVDVUxBVEUs
CiAgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX0E1Nyks
CiAgICAgfSwKKyNpZmRlZiBDT05GSUdfQVJNNjRfRVJSQVRVTV8xNTA4NDEy
CisgICAgeworICAgICAgICAvKiBDb3J0ZXgtQTc3IHIwcDAgLSByMXAwICov
CisgICAgICAgIC5kZXNjID0gIkFSTSBlcnJhdHVtIDE1MDg0MTIgKGh5cGVy
dmlzb3IgcG9ydGlvbikiLAorICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0
X1dPUktBUk9VTkRfMTUwODQxMiwKKyAgICAgICAgTUlEUl9SQU5HRShNSURS
X0NPUlRFWF9BNzcsIDAsIDEpLAorICAgIH0sCisjZW5kaWYKICAgICB7CiAg
ICAgICAgIC8qIENvcnRleC1BNTUgKEFsbCB2ZXJzaW9ucyBhcyBlcnJhdHVt
IGlzIG9wZW4gaW4gU0RFTiB2MTQpICovCiAgICAgICAgIC5kZXNjID0gIkFS
TSBlcnJhdHVtIDE1MzA5MjMiLApAQCAtNjg2LDExICs2OTQsMTEgQEAgdm9p
ZCBfX2luaXQgZW5hYmxlX2VycmF0YV93b3JrYXJvdW5kcyh2b2lkKQogewog
ICAgIGVuYWJsZV9jcHVfY2FwYWJpbGl0aWVzKGFybV9lcnJhdGEpOwogCi0j
aWZkZWYgQ09ORklHX0FSTTY0X0VSUkFUVU1fODMyMDc1Ci0gICAgaWYgKCBj
cHVzX2hhdmVfY2FwKEFSTTY0X1dPUktBUk9VTkRfREVWSUNFX0xPQURfQUNR
VUlSRSkgKQorI2lmIGRlZmluZWQoQ09ORklHX0FSTTY0X0VSUkFUVU1fODMy
MDc1KSB8fCBkZWZpbmVkKENPTkZJR19BUk02NF9FUlJBVFVNXzE1MDg0MTIp
CisgICAgaWYgKCBjcHVzX2hhdmVfY2FwKEFSTTY0X1dPUktBUk9VTkRfREVW
SUNFX0xPQURfQUNRVUlSRSkgfHwKKyAgICAgICAgIGNwdXNfaGF2ZV9jYXAo
QVJNNjRfV09SS0FST1VORF8xNTA4NDEyKSApCiAgICAgewotICAgICAgICBw
cmludGtfb25jZSgiKioqKiBUaGlzIENQVSBpcyBhZmZlY3RlZCBieSB0aGUg
ZXJyYXRhIDgzMjA3NS4gICAgICAgICAgICAgICAgICAgICAgKioqKlxuIgot
ICAgICAgICAgICAgICAgICAgICAiKioqKiBHdWVzdHMgd2l0aG91dCBDUFUg
ZXJyYXR1bSB3b3JrYXJvdW5kcyBjYW4gZGVhZGxvY2sgdGhlIHN5c3RlbSEg
KioqKlxuIgorICAgICAgICBwcmludGtfb25jZSgiKioqKiBHdWVzdHMgd2l0
aG91dCBDUFUgZXJyYXR1bSB3b3JrYXJvdW5kcyBjYW4gZGVhZGxvY2sgdGhl
IHN5c3RlbSEgKioqKlxuIgogICAgICAgICAgICAgICAgICAgICAiKioqKiBP
bmx5IHRydXN0ZWQgZ3Vlc3RzIHNob3VsZCBiZSB1c2VkLiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKioqKlxuIik7CiAKICAgICAgICAgLyogVGFp
bnQgdGhlIG1hY2hpbmUgaGFzIGJlaW5nIGluc2VjdXJlICovCmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9t
YWluLmMKaW5kZXggOTZlMWIyMzU1MDFkLi5jYjFkNTRiYTg1NDkgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9h
cm0vZG9tYWluLmMKQEAgLTEzNyw3ICsxMzcsNyBAQCBzdGF0aWMgdm9pZCBj
dHh0X3N3aXRjaF9mcm9tKHN0cnVjdCB2Y3B1ICpwKQogICAgIHAtPmFyY2gu
dHRicjEgPSBSRUFEX1NZU1JFRzY0KFRUQlIxX0VMMSk7CiAgICAgaWYgKCBp
c18zMmJpdF9kb21haW4ocC0+ZG9tYWluKSApCiAgICAgICAgIHAtPmFyY2gu
ZGFjciA9IFJFQURfU1lTUkVHKERBQ1IzMl9FTDIpOwotICAgIHAtPmFyY2gu
cGFyID0gUkVBRF9TWVNSRUc2NChQQVJfRUwxKTsKKyAgICBwLT5hcmNoLnBh
ciA9IHJlYWRfc3lzcmVnX3BhcigpOwogI2lmIGRlZmluZWQoQ09ORklHX0FS
TV8zMikKICAgICBwLT5hcmNoLm1haXIwID0gUkVBRF9DUDMyKE1BSVIwKTsK
ICAgICBwLT5hcmNoLm1haXIxID0gUkVBRF9DUDMyKE1BSVIxKTsKZGlmZiAt
LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYXJtNjQvcGFnZS5oIGIveGVu
L2luY2x1ZGUvYXNtLWFybS9hcm02NC9wYWdlLmgKaW5kZXggMGNiYTI2NjM3
MzNiLi5mYmZlNjdiZjg5NTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz
bS1hcm0vYXJtNjQvcGFnZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v
YXJtNjQvcGFnZS5oCkBAIC00OCwxMSArNDgsMTEgQEAgc3RhdGljIGlubGlu
ZSB2b2lkIGludmFsaWRhdGVfaWNhY2hlX2xvY2FsKHZvaWQpCiAvKiBBc2sg
dGhlIE1NVSB0byB0cmFuc2xhdGUgYSBWQSBmb3IgdXMgKi8KIHN0YXRpYyBp
bmxpbmUgdWludDY0X3QgX192YV90b19wYXIodmFkZHJfdCB2YSkKIHsKLSAg
ICB1aW50NjRfdCBwYXIsIHRtcCA9IFJFQURfU1lTUkVHNjQoUEFSX0VMMSk7
CisgICAgdWludDY0X3QgcGFyLCB0bXAgPSByZWFkX3N5c3JlZ19wYXIoKTsK
IAogICAgIGFzbSB2b2xhdGlsZSAoImF0IHMxZTJyLCAlMDsiIDogOiAiciIg
KHZhKSk7CiAgICAgaXNiKCk7Ci0gICAgcGFyID0gUkVBRF9TWVNSRUc2NChQ
QVJfRUwxKTsKKyAgICBwYXIgPSByZWFkX3N5c3JlZ19wYXIoKTsKICAgICBX
UklURV9TWVNSRUc2NCh0bXAsIFBBUl9FTDEpOwogICAgIHJldHVybiBwYXI7
CiB9CkBAIC02MCwyOCArNjAsMjggQEAgc3RhdGljIGlubGluZSB1aW50NjRf
dCBfX3ZhX3RvX3Bhcih2YWRkcl90IHZhKQogLyogQXNrIHRoZSBNTVUgdG8g
dHJhbnNsYXRlIGEgR3Vlc3QgVkEgZm9yIHVzICovCiBzdGF0aWMgaW5saW5l
IHVpbnQ2NF90IGd2YV90b19tYV9wYXIodmFkZHJfdCB2YSwgdW5zaWduZWQg
aW50IGZsYWdzKQogewotICAgIHVpbnQ2NF90IHBhciwgdG1wID0gUkVBRF9T
WVNSRUc2NChQQVJfRUwxKTsKKyAgICB1aW50NjRfdCBwYXIsIHRtcCA9IHJl
YWRfc3lzcmVnX3BhcigpOwogCiAgICAgaWYgKCAoZmxhZ3MgJiBHVjJNX1dS
SVRFKSA9PSBHVjJNX1dSSVRFICkKICAgICAgICAgYXNtIHZvbGF0aWxlICgi
YXQgczEyZTF3LCAlMDsiIDogOiAiciIgKHZhKSk7CiAgICAgZWxzZQogICAg
ICAgICBhc20gdm9sYXRpbGUgKCJhdCBzMTJlMXIsICUwOyIgOiA6ICJyIiAo
dmEpKTsKICAgICBpc2IoKTsKLSAgICBwYXIgPSBSRUFEX1NZU1JFRzY0KFBB
Ul9FTDEpOworICAgIHBhciA9IHJlYWRfc3lzcmVnX3BhcigpOwogICAgIFdS
SVRFX1NZU1JFRzY0KHRtcCwgUEFSX0VMMSk7CiAgICAgcmV0dXJuIHBhcjsK
IH0KIAogc3RhdGljIGlubGluZSB1aW50NjRfdCBndmFfdG9faXBhX3Bhcih2
YWRkcl90IHZhLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0gICAgdWludDY0
X3QgcGFyLCB0bXAgPSBSRUFEX1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHVp
bnQ2NF90IHBhciwgdG1wID0gcmVhZF9zeXNyZWdfcGFyKCk7CiAKICAgICBp
ZiAoIChmbGFncyAmIEdWMk1fV1JJVEUpID09IEdWMk1fV1JJVEUgKQogICAg
ICAgICBhc20gdm9sYXRpbGUgKCJhdCBzMWUxdywgJTA7IiA6IDogInIiICh2
YSkpOwogICAgIGVsc2UKICAgICAgICAgYXNtIHZvbGF0aWxlICgiYXQgczFl
MXIsICUwOyIgOiA6ICJyIiAodmEpKTsKICAgICBpc2IoKTsKLSAgICBwYXIg
PSBSRUFEX1NZU1JFRzY0KFBBUl9FTDEpOworICAgIHBhciA9IHJlYWRfc3lz
cmVnX3BhcigpOwogICAgIFdSSVRFX1NZU1JFRzY0KHRtcCwgUEFSX0VMMSk7
CiAgICAgcmV0dXJuIHBhcjsKIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vY3B1ZmVhdHVyZS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9j
cHVmZWF0dXJlLmgKaW5kZXggZjczNjg3NjZjMDdjLi4yZjM4MTM3ZjM5ZDUg
MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZmVhdHVyZS5o
CisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZmVhdHVyZS5oCkBAIC02
Nyw4ICs2Nyw5IEBACiAjZGVmaW5lIEFSTV9XT1JLQVJPVU5EX0JIQl9MT09Q
XzI0IDEzCiAjZGVmaW5lIEFSTV9XT1JLQVJPVU5EX0JIQl9MT09QXzMyIDE0
CiAjZGVmaW5lIEFSTV9XT1JLQVJPVU5EX0JIQl9TTUNDXzMgMTUKKyNkZWZp
bmUgQVJNNjRfV09SS0FST1VORF8xNTA4NDEyIDE2CiAKLSNkZWZpbmUgQVJN
X05DQVBTICAgICAgICAgICAxNgorI2RlZmluZSBBUk1fTkNBUFMgICAgICAg
ICAgIDE3CiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS1hcm0vc3lzcmVncy5oIGIveGVuL2luY2x1ZGUv
YXNtLWFybS9zeXNyZWdzLmgKaW5kZXggNWM1YzUxYmJjZGJmLi42MWUzMGM5
ZTUxN2MgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc3lzcmVn
cy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc3lzcmVncy5oCkBAIC05
LDYgKzksMzAgQEAKICMgZXJyb3IgInVua25vd24gQVJNIHZhcmlhbnQiCiAj
ZW5kaWYKIAorI2lmbmRlZiBfX0FTU0VNQkxZX18KKworI2luY2x1ZGUgPGFz
bS9hbHRlcm5hdGl2ZS5oPgorCitzdGF0aWMgaW5saW5lIHJlZ2lzdGVyX3Qg
cmVhZF9zeXNyZWdfcGFyKHZvaWQpCit7CisgICAgcmVnaXN0ZXJfdCBwYXJf
ZWwxOworCisgICAgLyoKKyAgICAgKiBPbiBDb3J0ZXgtQTc3IHIwcDAgYW5k
IHIxcDAsIHJlYWQgYWNjZXNzIHRvIFBBUl9FTDEgc2hhbGwgaW5jbHVkZSBh
CisgICAgICogRE1CIFNZIGJlZm9yZSBhbmQgYWZ0ZXIgYWNjZXNzaW5nIGl0
LCBhcyBwYXJ0IG9mIHRoZSB3b3JrYXJvdW5kIGZvciB0aGUKKyAgICAgKiBl
cnJhdGEgMTUwODQxMi4KKyAgICAgKi8KKyAgICBhc20gdm9sYXRpbGUoQUxU
RVJOQVRJVkUoIm5vcCIsICJkbWIgc3kiLCBBUk02NF9XT1JLQVJPVU5EXzE1
MDg0MTIsCisgICAgICAgICAgICAgICAgIENPTkZJR19BUk02NF9FUlJBVFVN
XzE1MDg0MTIpKTsKKyAgICBwYXJfZWwxID0gUkVBRF9TWVNSRUc2NChQQVJf
RUwxKTsKKyAgICBhc20gdm9sYXRpbGUoQUxURVJOQVRJVkUoIm5vcCIsICJk
bWIgc3kiLCBBUk02NF9XT1JLQVJPVU5EXzE1MDg0MTIsCisgICAgICAgICAg
ICAgICAgIENPTkZJR19BUk02NF9FUlJBVFVNXzE1MDg0MTIpKTsKKworICAg
IHJldHVybiBwYXJfZWwxOworfQorCisjZW5kaWYgLyogICFfX0FTU0VNQkxZ
X18gICovCisKICNlbmRpZiAvKiBfX0FTTV9BUk1fU1lTUkVHU19IICovCiAv
KgogICogTG9jYWwgdmFyaWFibGVzOgotLSAKMi40MC4xCgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:50:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574346.899596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqhl-0005K6-I1; Tue, 01 Aug 2023 14:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574346.899596; Tue, 01 Aug 2023 14:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqhl-0005Jz-EP; Tue, 01 Aug 2023 14:50:33 +0000
Received: by outflank-mailman (input) for mailman id 574346;
 Tue, 01 Aug 2023 14:50: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=OOcM=DS=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qQqhj-0005Jr-VB
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:50:32 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1e83bdd-307a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:50:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9865.eurprd04.prod.outlook.com (2603:10a6:10:4f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug
 2023 14:50:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.026; Tue, 1 Aug 2023
 14:50:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1e83bdd-307a-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cB5X9TaytQilnF7vBZiIiZ40c4ZHlcvtsQNSjcq8lcLgWcdrvNzEOh5GOmIuSD8FfnbROZCy5QcZk2rIeySQq+z910d54Mg50c3e1F13iMxD97ZhFGaZSxzW3APRGw196ZNe6pR0HPqh27AJrhnm4BUEuYWIp5vXx7S67HgIHePRxLbfImnIOv/z0StGEHw4qv1nDcdX6FxF6wwGkutnFUqaEL7fxU2/T/tbvOiAiycy1PrXVBVjSMGPp2CHIFba/iox2Rj4uKWzMdliEvi1ZhaNoCUPymPBYk3BvaYxUHDFSaGU26dYuXaVCx7B4Mc38Aba9rRic1r11P0ewtk4QQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gs1JOrX2quhXPpOm/hsB2Y/9bXV8kVqK94dVS7bKTWY=;
 b=NvbooTn/81BL+u/Fsrd7NLGr0MA+cyzCepFKahPBbtjTRjOKWVFG9D8OF3G5XXEfa+hUddd+CsxLDL4UJFlAfjQeFk6xSwIWgz6uwikRh1uag0RxkpuaxKLvYPLd5ef2vjLi1Q6ABr2vLdOAG5H3+V8BpgI3x3K3oBsJmxdcEaiWXW5l1xIHWydi9Rql4JwjHgKuhbvrT1V87/ZI/rtVeEwKWGDq/3jpA9HYu9ItxSCRwgHGOPCbi5u/ftNhOHE/zyD07eqZ4B2Cv+U3oK6we8BhZBAdXs2Lp4Mm2TZyUewudJW7VQe4aFXLgqUVQXIqPip/av3xFs2LyDEoAijyrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gs1JOrX2quhXPpOm/hsB2Y/9bXV8kVqK94dVS7bKTWY=;
 b=ty7GkQnZ6CmF2EyRnSGPi4N6ArshK71Sq9G6tLwY2arTodLQEul4mndiTxCyvIeVw+1C1G+4VKOA3r+vDQhsTbUcsSJUFoCTJPhLe9VNAn3MUuPe+5JTOWyhBIKKYb1lV4GpGRpYuoD4FlIS/9gPnDxz9P9B84FFzbJp+YYGgZqmI3vz9x72Mgd303DBeGfW3nkLgywXsmOk9f3SOqd/K7P6WWDAQGtFFLB8kqsiQE1kPJeEXkcghACQGy5nK/en/Y5um3nOoVGCYlJ7wrft6oOgkBw/XkQ4JC3+gn/uG2MEXJrtARdrdLPDN3I6h2Toa/oZU5hGItyGzqbJLez+RA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <45d03ac2-94f5-d05f-fc7c-7402b3e6eaf6@suse.com>
Date: Tue, 1 Aug 2023 16:50:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v6 2/2] xen/riscv: introduce identity mapping
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1690899325.git.oleksii.kurochko@gmail.com>
 <ba5b82958dd7e0a144f7534105bf1e5e61541204.1690899325.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ba5b82958dd7e0a144f7534105bf1e5e61541204.1690899325.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9865:EE_
X-MS-Office365-Filtering-Correlation-Id: 6db133a7-a86c-4f8f-36ca-08db929ea49a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n813i/UfYW88ZEb8cdnvHSb/Zq50TvwpSBLUMY7uT4OXeY/7K85gk5zkw8tc7u8IgkeNYowhB2zdW1oXKHVFFez+eiWXUTKB12mMX4RTJkFsjrtw/1bNQ8LgrjGcwYnBq8gh0ZXF+1tsGguYzKCgQ0hulCLja0IQyy5I5PeD7EawoV/JYxxEto92kJjeoW/esm5Yc1K1gJyRdcAAcd8rcdBDXqKg5UmDx89svWKXm60u0e7TU3NDiiaq4QtH/bUBRdlb+Rx499gVypsyhERB6zpgZmy5akFQEAMl1QRlh2WeAjvNiWpfBBCIyWRjhZOf93iYkBN1JI5ZCe/TiRCaiAcddD6IeFCIxgvzhK811egPY9nxkgrfADy7sKtM6yukQ8fkFELubuxQGK0h/Njt6wTLVqpPV4rFwB1rpLlgMnPVXFAhwPIQfCxe3/cGQZfkCIKpcDjMf+n401jXqGlX8BstommZKLAxq7bOO/i8CjAVpRNhqsDTUMFzEHmuZ6ZDZ7ckEImTosOhjykB/Axu3iE51/BZvhgHRyQCPRedqVENHvxsoVxkX8yuHWiq1xZAWdOyNo06ubfuz4kU6GpqwX94+A4qbaqax+HLrgDed6/ONpZs8ADfsTIK9ps/MjbaheFXarBbic0J1NodndFoHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(366004)(376002)(136003)(39860400002)(451199021)(2906002)(6916009)(4326008)(2616005)(4744005)(186003)(86362001)(316002)(31696002)(31686004)(478600001)(41300700001)(38100700002)(6512007)(54906003)(5660300002)(66556008)(66476007)(53546011)(66946007)(6506007)(26005)(8676002)(8936002)(36756003)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXdJaFdqUTVPRk9MNlVtSzlxQ1NOb2ZSYjhWQkJLTnR0MDh0RGFRT2s4Tksr?=
 =?utf-8?B?bU5uRXYwR29qeDFLVFc4a01vdUsya081WXUzd2tmY3FzOFNsK3hUcGIzcEtF?=
 =?utf-8?B?cEFock5zc09SVmt1UVZsazZhYjZRd0FHU0ZDb2lzQm5XQlhHdUNWZTNGdHlR?=
 =?utf-8?B?bG5QTERGeGNBWHBoOXNHcFVjMldpS3dZTENZTDNqTDgrM2pFL3J4RUFlUXoy?=
 =?utf-8?B?NTQ0KzVXOGJwMk96WVRNWE0wRWRHc2xDdjhGMzNNeUwyUG9jR1lIdjZxMGdm?=
 =?utf-8?B?ck1oNk1DWWtZTzA0Nms3OVJBSWN4UFZKT3dXTDF3WUo5ME12VWVKakVOOUUw?=
 =?utf-8?B?Z1lhV1ZzRGUySnNKUXVvaWIzb3hqYWZhcmJtb0gyL3YxUHdKTHBYQXRtbjc3?=
 =?utf-8?B?SithUVB0bndKOElON1dSSjBqL3ZhbzdLbythNEpzMm5tZytlTnpYRmt5enpD?=
 =?utf-8?B?Qm5RNittWk1UUnhFWnhBcXAvWS9aaTlzcjhyWnlVaUt3VTI4djhXY0xabnpK?=
 =?utf-8?B?VUhFWll2a1YxanpPV3RLWUlUZGd6Y2lEOGluNTZyVW5nbHBkVitYa1BGcW0x?=
 =?utf-8?B?VTlWV1VIdldnNHhsT2wxdjZ2MXhpblJQbGRSR2NzOHZqclUxYVJHYmlBVmRr?=
 =?utf-8?B?TU5JME5ONlc1YlJDeFlEa1Npc2t5S1lDZFh6Rmhad0U0NFhyTkNKS3EzUW55?=
 =?utf-8?B?Ny9YWmRRbTBwT3J3d00zb2ZaS3M2MFRHbHBINjZOUnRkZ1VITnpiSlluRkZy?=
 =?utf-8?B?S2E2WElNSGxScE1xeXQrMHZaNVpMT3k5dmhhUkVvY1lFWmlHY3ZnTFBhZ2Uw?=
 =?utf-8?B?ZUhMYm5heUZoMnF4WHNNbGFqakRGR0RET3JWeUxHR3Y3alJ6S1BPck50WkZV?=
 =?utf-8?B?SVRpT2ZhVEdNdXZwQU5NVUdCMkI2ODIxZjErWGV2MGljZ3VBUWRzMTFOcFoz?=
 =?utf-8?B?aDN4VWNXaEFNWVNEdVFyampBVjBkVFdUTXFxbTVYRlRwcHpLdXpzU0Iyc2o4?=
 =?utf-8?B?WG1TMEdqTDFhOCtNeDJRNC9uby9hZXMyNmxiUW5YMUg5bXNTdDhuZ3h1eFNN?=
 =?utf-8?B?V1pqckdWQjJtdkZmT2hMWVhxZG1aVnBWVk0weFhOYkJ0NmxTYU1YajVXUmN4?=
 =?utf-8?B?VTIzVDh4TCtoOFRrT3RZRzAwZzVNOXhMWE9oTzZtenREcitSMFNZbE9GaXhQ?=
 =?utf-8?B?OVh3YW1YMDRlNThwRWpnRkV6b3VsQ0JRbWI5cWJnU2JCYUl0QzBLUXRya1NT?=
 =?utf-8?B?L0ZlMzM0cnBqMkMwdlp2VDl5eG1JeUpOZDJEMk9vOU9ELzd0clBNdjlnSmFq?=
 =?utf-8?B?MXlRRnlGVlJvbk9pZEtldWpuVDgyc1RlWWRHeDlMT0pEaWJwMGFmQ2R1dzZE?=
 =?utf-8?B?OWVlcDFvbU9iODl3RW9hdVRWK2lqUzFtc2s1YTU4ZVZDakVTbGNYTzhKVmRP?=
 =?utf-8?B?dC8xN2craXY2cXNYVGwwT0hLMmswRXd0b2ttdFg2UUVua0ZNY1FqNWJsalhj?=
 =?utf-8?B?U2lzbnFsbkUybEhqenFhR3d3NmhoVzQrVmx6RDNJOVFuTjd0OXdUbFpUZmpw?=
 =?utf-8?B?bk5lbjJuYmJvdnBlRFV3T1pDSDhRZzdya2p5YmRLT1VjWGRHQSsyODJuV2Jr?=
 =?utf-8?B?TGJQUnM1K0U3VE12QTVUb3BqVmlmU216U3NyQndJQ2JSMFZSOGx3alowcWRq?=
 =?utf-8?B?ZGdiL1kwR1pxMWxxbW9WM1ZFazg0dUV1UHZsUnhkZWFCZE5RYS9Ob3RhY1hi?=
 =?utf-8?B?aUNrL3FXTitQM25lN3Z2emdhYUh1Skd4RW9sZktxMjUyOFVhbThCZThOYmhK?=
 =?utf-8?B?Slk4bi83aE5tdWdwSzNGQ25naGptSDFITnU3bG9MKzcwZmVVMWVEVzNCb3lt?=
 =?utf-8?B?Ni9WblFBRzhRWFJXR0FmSk56Z0RPa0JRUnlDelFiTlUyeE1ISUxpd0tvZW1v?=
 =?utf-8?B?K3QvVlZCdVdQSEhzNno3L0t1S3YrNmcyVU0ydnlhVUhGNHBhNHE0aWRJR1BU?=
 =?utf-8?B?cXlZWkpKUzcwdUlWdkhwazlDY25aVUw2T0ViQ0FuVW9zMndqVWtJRHpGcDM1?=
 =?utf-8?B?VU1rUHNlZEVHRHBSYURqdzVrMWpmRGw3UEhiYjUyODdIL1VjbjBUVGNJVGRU?=
 =?utf-8?Q?1uvg58Vb5cAroXt7WeXqJ/9I9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6db133a7-a86c-4f8f-36ca-08db929ea49a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 14:50:26.9071
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zyYSi911thsOciblBZa/7mT1xHUW/xdwQ+YVMs3SnAFxXeTY6DuQaBvdvLnFkUaAraBsSRCP3Hv8NsQlyndiwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9865

On 01.08.2023 16:30, Oleksii Kurochko wrote:
> @@ -54,3 +70,17 @@ ENTRY(reset_stack)
>  
>          ret
>  
> +        .section .text.ident, "ax", %progbits
> +
> +ENTRY(turn_on_mmu)
> +        sfence.vma
> +
> +        li      t0, RV_STAGE1_MODE
> +        slli    t0, t0, SATP_MODE_SHIFT
> +
> +        la      t1, stage1_pgtbl_root
> +        srl     t1, t1, PAGE_SHIFT

I think it would be good to be consistent in the use of pseudo insns:
Above you use slli, so here it would want to be srli (or the other
way around).

Jan

> +        or      t1, t1, t0
> +        csrw    CSR_SATP, t1
> +
> +        jr      a0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:51:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574358.899606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqio-0005t0-3l; Tue, 01 Aug 2023 14:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574358.899606; Tue, 01 Aug 2023 14: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 1qQqio-0005st-0Z; Tue, 01 Aug 2023 14:51:38 +0000
Received: by outflank-mailman (input) for mailman id 574358;
 Tue, 01 Aug 2023 14:51:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQqim-0005lo-Th
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:51:36 +0000
Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com
 [2607:f8b0:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8e59a8a-307a-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:51:35 +0200 (CEST)
Received: by mail-ot1-x333.google.com with SMTP id
 46e09a7af769-6bca5d6dcedso1755751a34.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 07:51: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: e8e59a8a-307a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690901494; x=1691506294;
        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=H88X5gfHf9VxmAkjJBqSKV70I+aQh9Izc8ZfPc/BhRg=;
        b=S4lezuvicEDGzoR/m9HZk0SMsBwHoMinC1LMlVO0wVObRRo+8h+QlmU3M4OsbOW9Jq
         UhqxuWHSRQHCrfrTCMKq0grHpdYc4tAm5hAYPjuntAsEbQdU86JxF6+NlI9ioDE+kwfv
         JUCk/W5bbLUhXtotdPcw+O/IrNrfb5VrYMOI5kqPg05cxOGI8LIT4ic8coww2mY7QSBw
         9HdNx2XaaDmPoaKFOM1WEyTjYbhJAnPe7SwCJpAGNniCnUEB5NV6aK7nBVrwmHU4LGSW
         ORiXy9dIaKrvlnG0C5uZxx+BYHs+PNkV5rJJfxjqylVj9WlIpOc5DDCDzOTJu37kvYSi
         gbwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690901494; x=1691506294;
        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=H88X5gfHf9VxmAkjJBqSKV70I+aQh9Izc8ZfPc/BhRg=;
        b=Zv65Xm5OASK+q+kTZhPsxwhGog4JUypHfDCVGa4zGd+R71yKfSWJIz5XQO8APbHEJg
         AVf0y6rOMancgCpAxO0B2GQVP38tYkN5ZBxBSYLZCJ2KLdJhGGhOu3cE3X0Ss6eS+TCy
         3pr1TboaLxvBgGJmDNmJ4h2To+VRKEx2muoLY0am9KdRjW/+ZUfkwCrW9OqYILMYi8R3
         xzBF6ci7jkvU3VVhAOfqrBRDuVGOmuWGQNhehDgnRf/Hh3grYMYJmPlbsmV3TmtyezAj
         1kkBRUX+x417kRFnI0yh/hwYuwJrqQBIJQRr43qJnZGMo4Svb9oj10rB6kr84EfCyUoW
         LSiQ==
X-Gm-Message-State: ABy/qLbbPrSErfYkxXz/z3gtAfSssbjPA+RUx8ihjOtn0WA42ZaE95lO
	FPyTkd5unp/uc3MhbZIl7/B2DfZ/hIBzSOxvquI2wYJwXEc=
X-Google-Smtp-Source: APBJJlFqUq7uzRO3KioIVq8hurFoIOS+BN5308K5b9dIadr0OS3Ne5WsQLdAo6tM2o3DNYocWWEwINndhJzCnUfZ1cI=
X-Received: by 2002:a05:6870:210a:b0:1b0:57f8:dabf with SMTP id
 f10-20020a056870210a00b001b057f8dabfmr13933189oae.33.1690901493893; Tue, 01
 Aug 2023 07:51:33 -0700 (PDT)
MIME-Version: 1.0
References: <20230801001258.555944-1-raj.khem@gmail.com> <ed6ce883-4905-fc3b-5614-48f86dc490dc@suse.com>
In-Reply-To: <ed6ce883-4905-fc3b-5614-48f86dc490dc@suse.com>
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 1 Aug 2023 07:51:07 -0700
Message-ID: <CAMKF1spd77aTkEv6jZ7LUU9KuegrS28c+K6x5VvV7YhVByy7bQ@mail.gmail.com>
Subject: Re: [PATCH] arm32: Avoid using solaris syntax for .section directive
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 1, 2023 at 12:33=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 01.08.2023 02:12, Khem Raj wrote:
> > Assembler from binutils 2.41 rejects this syntax
> >
> > .section "name"[, flags...]
> >
> > where flags could be #alloc, #write, #execstr
> > Switch to using ELF syntax
>
> You mean GNU, not ELF (ELF is describing the object format, not the
> syntax used). Feels almost like a regression (I'll mention that to
> Alan), which likely went unnoticed so far because Linux had changed
> to GNU syntax already in 5.5, to allow building with Clang's
> integrated assembler. This aspect may be worth mentioning here as
> well.

OK will send v2

>
> > .section name[, "flags"[, @type]]
> >
> > [1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.htm=
l#SEC119
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> Out of curiosity - why were there four instances of the patch?
> They all look largely identical; if there are differences, I haven't
> spotted them.

there should not have been
I was a not a subscriber to mailing list, did not realize why it was
not appearing on ml :)

>
> Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:53:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574363.899615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqkW-0006Tq-Da; Tue, 01 Aug 2023 14:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574363.899615; Tue, 01 Aug 2023 14:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqkW-0006Tj-Am; Tue, 01 Aug 2023 14:53:24 +0000
Received: by outflank-mailman (input) for mailman id 574363;
 Tue, 01 Aug 2023 14:53:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQqkV-0006Td-2s
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:53:23 +0000
Received: from mail-oa1-x2e.google.com (mail-oa1-x2e.google.com
 [2001:4860:4864:20::2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27ecf86b-307b-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:53:21 +0200 (CEST)
Received: by mail-oa1-x2e.google.com with SMTP id
 586e51a60fabf-1be267b1c88so1875648fac.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 07:53: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: 27ecf86b-307b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690901600; x=1691506400;
        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=71zAllxtILSJMl520qYLiyamgeSvcpZWU9eA3eCkpBg=;
        b=UhizypcMY2to4q0uTpe5WPzOLh2JqcV1Wzblu6URCNECWrSeukGfIVaxAy8O6zqiej
         vFnHxSSG5YAZK/tkqdl5bDLfW0TSB7sDBw3DR29dZ6i6v+tGR8GQAIqj6xtN4J1me/Yn
         A2YCJZq4tFtS4/d0iBj26htt30nVPEKV2zGh/vtRokU8Nii6l+u9pmOiFc/JuCay4+LC
         tpaByhzyibsuN0t8s+PVJecpQbtvWvoc3Rl5GutbVhXdovp5WtqXhQIP8sxuOOHWTIKf
         QZ80VUZQJ8uC5gnA4hkRfvwbhQ+oCxhDGZGC8cwjEfxVJGXUNyD6N092juO9/UKwG2eG
         g3Rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690901600; x=1691506400;
        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=71zAllxtILSJMl520qYLiyamgeSvcpZWU9eA3eCkpBg=;
        b=VbKOOT+bHp26/sRWuQ5T6hnmuRR09RBtzXukGDRauakZ96iVLyVZO6QTME3OTMUbGH
         OF/BOAAd8XopAFB2dfMstq179ppB9IrmetJdalLla1ftQPG+ivUQSp0FQxUcHd9CNRZb
         NGkqtCEKbd43uMWcUl5etux9/zPKLSYiN3wM0mr4B6NXj8GfHy7u0wx/u2BwAG4jeh5Y
         hvjpGzUDSulyRHMiEqN4mfoL0lwb2WHcO7HdinHdL6+4C45oazL8nYr8/O+k53OjPJhb
         q9pA7n+lfaGGN9lUJKpTlQKwW6gZSeqkUc+mxthPwbad4VCB8tef0xGWRE5Gy4nrL2lD
         mL4w==
X-Gm-Message-State: ABy/qLYgfFAU8afupM4JbNJRPj7rk98wKokJyHjw3NBEoam9RTcIS/nu
	j+czQbKRQMswggyhSlS0ZCs/xEsK6FF7XpQ8BHw=
X-Google-Smtp-Source: APBJJlGIPxTL+25/2g0PKkhyvr9HbdTpYHGjM6kcQz7zSEfsYN/de92yRQA2VVqmynM/kaHLFdK38x6flER1iZj2PJA=
X-Received: by 2002:a05:6870:ec8e:b0:1b0:d28:2a76 with SMTP id
 eo14-20020a056870ec8e00b001b00d282a76mr10379283oab.21.1690901599794; Tue, 01
 Aug 2023 07:53:19 -0700 (PDT)
MIME-Version: 1.0
References: <20230801002853.556437-1-raj.khem@gmail.com> <99574b63-18e5-20fe-659a-432fdaf4b5af@amd.com>
In-Reply-To: <99574b63-18e5-20fe-659a-432fdaf4b5af@amd.com>
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 1 Aug 2023 07:52:53 -0700
Message-ID: <CAMKF1sq9x=UUGcROH3i9hHDJ0q867EgiEWDMyj8hpYoDm7zstw@mail.gmail.com>
Subject: Re: [PATCH] arm32: Avoid using solaris syntax for .section directive
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 1, 2023 at 12:39=E2=80=AFAM Michal Orzel <michal.orzel@amd.com>=
 wrote:
>
> Hi,
>
> On 01/08/2023 02:28, Khem Raj wrote:
> >
> >
> > Assembler from binutils 2.41 rejects this syntax
> >
> > .section "name"[, flags...]
> >
> > where flags could be #alloc, #write, #execstr
> s/execstr/execinstr + there is also #exclude and #tls if you want to list=
 them all
>
> > Switch to using ELF syntax
> >
> > .section name[, "flags"[, @type]]
> >
> > [1] https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.htm=
l#SEC119
> I think it would be better to add a link to 2.41 docs instead or to refer=
 to the following commit
> of binutils:
> 4cb88cfae843 "PR11601, Solaris assembler compatibility doesn't work"
>
>
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  xen/arch/arm/arm32/proc-v7.S | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.=
S
> > index c90a31d80f..6d3d19b873 100644
> > --- a/xen/arch/arm/arm32/proc-v7.S
> > +++ b/xen/arch/arm/arm32/proc-v7.S
> > @@ -29,7 +29,7 @@ brahma15mp_init:
> >          mcr   CP32(r0, ACTLR)
> >          mov   pc, lr
> >
> > -        .section ".proc.info", #alloc
> > +        .section .proc.info, "a"
> >          .type __v7_ca15mp_proc_info, #object
> >  __v7_ca15mp_proc_info:
> >          .long 0x410FC0F0             /* Cortex-A15 */
> > @@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
> >          .long caxx_processor
> >          .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
> >
> > -        .section ".proc.info", #alloc
> > +        .section .proc.info, "a"
> >          .type __v7_ca7mp_proc_info, #object
> >  __v7_ca7mp_proc_info:
> >          .long 0x410FC070             /* Cortex-A7 */
> > @@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
> >          .long caxx_processor
> >          .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
> >
> > -        .section ".proc.info", #alloc
> > +        .section .proc.info, "a"
> >          .type __v7_brahma15mp_proc_info, #object
> >  __v7_brahma15mp_proc_info:
> >          .long 0x420F00F0             /* Broadcom Brahma-B15 */
> > --
> > 2.41.0
> >
> >
>
> The patch looks good but a fast grep shows that ".section .dtb,#alloc" in=
 arch/arm/dtb.S would also want
> to be changed (I do not have gas 2.41, so you can check it by specifying =
dtb to be included in Xen image through
> "menuconfig->Common Features->Absolute path to device tree blob")

thanks will add it to v2 as well

>
> ~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 14:54:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 14:54:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574370.899627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqla-000726-OR; Tue, 01 Aug 2023 14:54:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574370.899627; Tue, 01 Aug 2023 14:54:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQqla-00071z-Jk; Tue, 01 Aug 2023 14:54:30 +0000
Received: by outflank-mailman (input) for mailman id 574370;
 Tue, 01 Aug 2023 14:54: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=g6MH=DS=huawei.com=yuehaibing@srs-se1.protection.inumbo.net>)
 id 1qQqlZ-00071t-1J
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 14:54:29 +0000
Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c68509b-307b-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 16:54:25 +0200 (CEST)
Received: from canpemm500007.china.huawei.com (unknown [172.30.72.57])
 by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4RFdMf2GZVzNmQW;
 Tue,  1 Aug 2023 22:50:54 +0800 (CST)
Received: from localhost (10.174.179.215) by canpemm500007.china.huawei.com
 (7.192.104.62) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 1 Aug
 2023 22:54:19 +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: 4c68509b-307b-11ee-8613-37d641c3527e
From: Yue Haibing <yuehaibing@huawei.com>
To: <jgross@suse.com>, <sstabellini@kernel.org>,
	<oleksandr_tyshchenko@epam.com>, <rahul.singh@arm.com>
CC: <xen-devel@lists.xenproject.org>, <yuehaibing@huawei.com>
Subject: [PATCH -next] xen/evtchn: Remove unused function declaration xen_set_affinity_evtchn()
Date: Tue, 1 Aug 2023 22:54:13 +0800
Message-ID: <20230801145413.40684-1-yuehaibing@huawei.com>
X-Mailer: git-send-email 2.10.2.windows.1
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [10.174.179.215]
X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To
 canpemm500007.china.huawei.com (7.192.104.62)
X-CFilter-Loop: Reflected

Commit 67473b8194bc ("xen/events: Remove disfunct affinity spreading")
leave this unused declaration.

Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
---
 include/xen/events.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/xen/events.h b/include/xen/events.h
index 95970a2f7695..95d5e28de324 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -75,7 +75,6 @@ void evtchn_put(evtchn_port_t evtchn);
 
 void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector);
 void rebind_evtchn_irq(evtchn_port_t evtchn, int irq);
-int xen_set_affinity_evtchn(struct irq_desc *desc, unsigned int tcpu);
 
 static inline void notify_remote_via_evtchn(evtchn_port_t port)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 15:47:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 15:47:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574401.899636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQraS-0004Fg-Jc; Tue, 01 Aug 2023 15:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574401.899636; Tue, 01 Aug 2023 15:47:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQraS-0004FZ-Gi; Tue, 01 Aug 2023 15:47:04 +0000
Received: by outflank-mailman (input) for mailman id 574401;
 Tue, 01 Aug 2023 15:47:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zpAT=DS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qQraQ-0004FT-E7
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 15:47:02 +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 a6f932fa-3082-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 17:47:00 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-4fe1344b707so9256552e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 08:47:00 -0700 (PDT)
Received: from [192.168.203.100] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 h11-20020ac25d6b000000b004fa4323ec97sm2598283lft.301.2023.08.01.08.46.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 08:46: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: a6f932fa-3082-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690904819; x=1691509619;
        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=bniAvYrttii6JtZVaUgncqBFmgEinZ4rXQ+fm8PB9kg=;
        b=ZJKeBfHafaJxkInQPtZo2jLn5+oBpZPPbLramUa4mjweG+/A8Rkz3QeZlxuwzbCqGp
         h+EumFUhN2K1lxeL/cTvenJmaFuNyPebG3T+U/681RaIV/uRDGh2eP7y/e7dYdlLGbng
         t2KUuGb4FVd0ggOrvVp/tbvZdKy2498FBVvvsnHvi9FwSVjYcbkULki3hdfE/2OYpgnu
         F1ZJbz774SwD9XYX3dJm5ubguugPE1FTMo0np4eb3A4AaT+CnfJyYlsZ6JUe9q7ePlzZ
         6pdIBQne703MnsaOKcFqKzI+m7H7IqSfSQU5brlAXXTIOBiJRrCxBOvmTLnxGAewfvDf
         Burw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690904819; x=1691509619;
        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=bniAvYrttii6JtZVaUgncqBFmgEinZ4rXQ+fm8PB9kg=;
        b=YndycwssFGHpcZh/EmFGWn0POjRElJrJzWN0a5txrNmAfgf1WCazuVQT1eSXfio5RZ
         QAgcy+NSh4fEtS3o76Zc0VMgOEdQRuiDuvQX814Et9NBkvhAeGFwuQZzLqE04zsV5RSC
         k7EMDTpyleMRuQ3xEiOuEb7TbAuxBAM4VIOWOjo+aAvVk68AHnastC+YZIIUjFetpCYd
         nh4Nq4DdL8eOXSxW8687aHnJmZ/ywH3Y+H6Qd1CUs7LvyW2mpfBjOo59I25edh6ZVaic
         fFypjrQDkzhTfkSLr1e32p21POJWxyUB2fFPG0+kyQ9nTTX9qlazlAKwV/CkAw4QkPJ5
         YIuA==
X-Gm-Message-State: ABy/qLbcVnIKilqujNqDxjPqGDyYkBDX827qb4WJ7LDkAME6Z+ya6liW
	8cIhYmOYu5a6yr9STU8zUsQ=
X-Google-Smtp-Source: APBJJlF8SVc1mEaiapCKbhRbQlHODk4BafmyiZn4aarAubtNFjjCBPNmWk3lo+m0M+dq6vCdXtCU4g==
X-Received: by 2002:ac2:5306:0:b0:4fe:25bc:71f5 with SMTP id c6-20020ac25306000000b004fe25bc71f5mr2470828lfh.11.1690904819377;
        Tue, 01 Aug 2023 08:46:59 -0700 (PDT)
Message-ID: <261b20991738cc14cb62ef248901d02fd1c002a1.camel@gmail.com>
Subject: Re: [PATCH v6 2/2] xen/riscv: introduce identity mapping
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 01 Aug 2023 18:46:58 +0300
In-Reply-To: <45d03ac2-94f5-d05f-fc7c-7402b3e6eaf6@suse.com>
References: <cover.1690899325.git.oleksii.kurochko@gmail.com>
	 <ba5b82958dd7e0a144f7534105bf1e5e61541204.1690899325.git.oleksii.kurochko@gmail.com>
	 <45d03ac2-94f5-d05f-fc7c-7402b3e6eaf6@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

T24gVHVlLCAyMDIzLTA4LTAxIGF0IDE2OjUwICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwMS4wOC4yMDIzIDE2OjMwLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gQEAgLTU0LDMg
KzcwLDE3IEBAIEVOVFJZKHJlc2V0X3N0YWNrKQo+ID4gwqAKPiA+IMKgwqDCoMKgwqDCoMKgwqAg
cmV0Cj4gPiDCoAo+ID4gK8KgwqDCoMKgwqDCoMKgIC5zZWN0aW9uIC50ZXh0LmlkZW50LCAiYXgi
LCAlcHJvZ2JpdHMKPiA+ICsKPiA+ICtFTlRSWSh0dXJuX29uX21tdSkKPiA+ICvCoMKgwqDCoMKg
wqDCoCBzZmVuY2Uudm1hCj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHQw
LCBSVl9TVEFHRTFfTU9ERQo+ID4gK8KgwqDCoMKgwqDCoMKgIHNsbGnCoMKgwqAgdDAsIHQwLCBT
QVRQX01PREVfU0hJRlQKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBsYcKgwqDCoMKgwqAgdDEs
IHN0YWdlMV9wZ3RibF9yb290Cj4gPiArwqDCoMKgwqDCoMKgwqAgc3JswqDCoMKgwqAgdDEsIHQx
LCBQQUdFX1NISUZUCj4gCj4gSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIHRvIGJlIGNvbnNpc3Rl
bnQgaW4gdGhlIHVzZSBvZiBwc2V1ZG8gaW5zbnM6Cj4gQWJvdmUgeW91IHVzZSBzbGxpLCBzbyBo
ZXJlIGl0IHdvdWxkIHdhbnQgdG8gYmUgc3JsaSAob3IgdGhlIG90aGVyCj4gd2F5IGFyb3VuZCku
Ck9vcHMsIEkgb3Zlcmxvb2tlZCB0aGF0LgpXaGVuIEkgZXhhbWluZWQgdGhlIGRpc2Fzc2VtYmxl
ciwgaXQgYXV0b21hdGljYWxseSB0cmFuc2Zvcm1lZCBpdCB0bwonc3JsaScsCnNvIEkgZm9yZ290
IHRvIGNoYW5nZSBpdC4KCkl0IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUgdG8gdXNlICdzcmxp
Jy4KCkknbGwgd2FpdCBmb3IgYW55IGFkZGl0aW9uYWwgY29tbWVudHMsIGFuZCBpZiB0aGVyZSBh
cmUgbm9uZSwgSSdsbCBzZW5kCmEgbmV3IHBhdGNoIHNlcmllcyB2ZXJzaW9uLgoKVGhhbmtzLgoK
fiBPbGVrc2lpCj4gCj4gPiArwqDCoMKgwqDCoMKgwqAgb3LCoMKgwqDCoMKgIHQxLCB0MSwgdDAK
PiA+ICvCoMKgwqDCoMKgwqDCoCBjc3J3wqDCoMKgIENTUl9TQVRQLCB0MQo+ID4gKwo+ID4gK8Kg
wqDCoMKgwqDCoMKgIGpywqDCoMKgwqDCoCBhMAo+IAoKCg==



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:03:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574410.899646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQrqd-0007JA-3T; Tue, 01 Aug 2023 16:03:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574410.899646; Tue, 01 Aug 2023 16: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 1qQrqd-0007J3-0k; Tue, 01 Aug 2023 16:03:47 +0000
Received: by outflank-mailman (input) for mailman id 574410;
 Tue, 01 Aug 2023 16:03: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=24fE=DS=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1qQrqc-0007Ix-FR
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:03:46 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd56bc48-3084-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 18:03:44 +0200 (CEST)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 74FA16732D; Tue,  1 Aug 2023 18:03:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd56bc48-3084-11ee-8613-37d641c3527e
Date: Tue, 1 Aug 2023 18:03:39 +0200
From: Christoph Hellwig <hch@lst.de>
To: Petr Tesarik <petrtesarik@huaweicloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>, James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	"moderated list:XEN HYPERVISOR ARM" <xen-devel@lists.xenproject.org>,
	"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:MIPS" <linux-mips@vger.kernel.org>,
	"open list:XEN SWIOTLB SUBSYSTEM" <iommu@lists.linux.dev>,
	"open list:SLAB ALLOCATOR" <linux-mm@kvack.org>,
	Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Subject: Re: [PATCH v7 0/9] Allow dynamic allocation of software IO TLB
 bounce buffers
Message-ID: <20230801160339.GB13111@lst.de>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

Thanks,

I've applied this to a new swiotlb-dynamic branch that I'll pull into
the dma-mapping for-next tree.



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:06:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574413.899655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQrtI-0007tl-Fu; Tue, 01 Aug 2023 16:06:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574413.899655; Tue, 01 Aug 2023 16: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 1qQrtI-0007te-DH; Tue, 01 Aug 2023 16:06:32 +0000
Received: by outflank-mailman (input) for mailman id 574413;
 Tue, 01 Aug 2023 16: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQrtH-0007tU-6E
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:06:31 +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 5d721bbf-3085-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 18:06:27 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690905978394667.5904322669267;
 Tue, 1 Aug 2023 09: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: 5d721bbf-3085-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1690905980; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=E0+G4/RbxkFKV79+eB7HIqeT2L1Q1Nqvfl4LNWWQVHo0lpK+Xea1PjHP7Il35THdaVAxq7In1PZG1unoBc+ZSGEyOtmXqtD8fnTldABpVYUDnHX7lZij1utAPrKUThDF+Terij31PMjGe5taePHAV1RKuGSB8c4HpdKkqe4xew4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690905980; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=O/CJBISWz6EI4/Y6OymY+j6HswAHAIyZi8m02gX250o=; 
	b=C3FzfMVWW33z+pFKbs1aL06U5g2h+LkyL+Of8tR1KNixGj1iX9WRqw7nf2DFlVGXpxlRa8mBTI/owkc0vuYe+Dpkoj5TKkffepf34jUUSNgaB5NUHNUQxe8sK9rXvbdLOWf8mhVe5k2bqa8CnCcZFJ6tX8uQHWebB/bcCJOr2cI=
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=1690905980;
	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=O/CJBISWz6EI4/Y6OymY+j6HswAHAIyZi8m02gX250o=;
	b=O4m12KzDUnvCnEgF+iMd/0v91UJSt9CAYvQ+fVnMYDOd7itpEmbYppypQLzJdzn0
	x9S5ggTSQXbDNCn3Gv6eb0etTc7vY+D9VDTRqFZBXSz1l1PKuo81Nkt+luQ8O2KSTa9
	meKmiTmnU5F9et6Zu1+G6TDgDC6bnp9iYGocNDa0=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stefano Stabellini <stefano.stabellini@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] console: generalize the ability for domU access
Date: Tue,  1 Aug 2023 12:06:07 -0400
Message-Id: <20230801160608.19219-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This patch reworks the console rotation logic to provide a general mechanism to
incorporate domU in to the rotation. It does so by walking the domain list
using the XSM console privlege check to determine if the domain is given access.

In reworking the rotation logic, the assumption that the hardware domain is the
first domain created is removed and is changed to explicitly locate the
hardware domain at boot. As part of this removal, the reliance on the
`max_init_domid` global is eliminated, allowing the removal of a compatibility
`#define` for the x86 arch.

Suggested-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---

This patch was developed as part of enabling PVH domain construction for
hyperlaunch. ThereÂ will be a corresponding Linux patch to enable the kernel to
make use of console_io whenÂ running as a DomU. For x86, this will only be
usable by leveraging FLASK to assign the privilegeÂ to a label that is applied
to domains desired to be able to use the Xen console. When hyperlaunch is
merged, it will become possible to assign the privilege without FLASK.Â This
should work for Arm environments with or without vp1011 backend.

 xen/arch/x86/include/asm/setup.h |   2 -
 xen/drivers/char/console.c       | 134 +++++++++++++++++++++++--------
 2 files changed, 99 insertions(+), 37 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 51fce66607..5242dfcf93 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -64,6 +64,4 @@ extern bool opt_dom0_verbose;
 extern bool opt_dom0_cpuid_faulting;
 extern bool opt_dom0_msr_relaxed;
 
-#define max_init_domid (0)
-
 #endif
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 0e410fa086..f5b759898e 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -473,45 +473,102 @@ static void cf_check dump_console_ring_key(unsigned char key)
  */
 static unsigned int __read_mostly console_rx = 0;
 
-#define max_console_rx (max_init_domid + 1)
+#define CON_RX_DOMID (console_rx - 1)
 
 /* Make sure to rcu_unlock_domain after use */
 struct domain *console_input_domain(void)
 {
     if ( console_rx == 0 )
             return NULL;
-    return rcu_lock_domain_by_id(console_rx - 1);
+    return rcu_lock_domain_by_id(CON_RX_DOMID);
 }
 
 static void switch_serial_input(void)
 {
-    unsigned int next_rx = console_rx;
+    struct domain *next, *d = console_input_domain();
 
-    /*
-     * Rotate among Xen, dom0 and boot-time created domUs while skipping
-     * switching serial input to non existing domains.
-     */
-    for ( ; ; )
+    if ( d == NULL )
     {
-        struct domain *d;
+        if ( hardware_domain )
+        {
+            console_rx = hardware_domain->domain_id + 1;
+            printk("*** Serial input to DOM%d", CON_RX_DOMID);
+            goto out; //print switch_code statement & newline
+        }
+        else
+        {
+            for_each_domain(next)
+            {
+                if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
+                {
+                    console_rx = next->domain_id + 1;
+                    printk("*** Serial input to DOM%d", CON_RX_DOMID);
+                    goto out; //print switch_code statement & newline
+                }
+            }
 
-        if ( next_rx++ >= max_console_rx )
+            console_rx = 0;
+            printk("*** Serial input to Xen");
+            goto out;
+        }
+    }
+
+    for ( next = rcu_dereference(d->next_in_list); next != NULL;
+          next = rcu_dereference(next->next_in_list) )
+    {
+        if ( hardware_domain && next == hardware_domain )
         {
             console_rx = 0;
             printk("*** Serial input to Xen");
-            break;
+            goto out;
         }
 
-        d = rcu_lock_domain_by_id(next_rx - 1);
-        if ( d )
+        if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
         {
-            rcu_unlock_domain(d);
-            console_rx = next_rx;
-            printk("*** Serial input to DOM%u", next_rx - 1);
-            break;
+            console_rx = next->domain_id + 1;
+            printk("*** Serial input to DOM%d", CON_RX_DOMID);
+            goto out;
+        }
+    }
+
+    /*
+     * Hit the end of the domain list and instead of assuming that the
+     * hardware domain is the first in the list, get the first domain
+     * in the domain list and then if it is not the hardware domain or
+     * does not have console privilege, iterate the list until we find
+     * the hardware domain or a domain with console privilege.
+     */
+    if ( next == NULL )
+    {
+        for_each_domain(next)
+        {
+            if ( hardware_domain && next == hardware_domain )
+            {
+                console_rx = 0;
+                printk("*** Serial input to Xen");
+                goto out;
+            }
+
+            if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
+            {
+                console_rx = next->domain_id + 1;
+                printk("*** Serial input to DOM%d", CON_RX_DOMID);
+                goto out;
+            }
         }
     }
 
+    /*
+     * If we got here, could not find a domain with console io privilege.
+     * Default to Xen.
+     */
+    console_rx = 0;
+    printk("*** Serial input to Xen");
+
+out:
+    if ( d != NULL)
+        rcu_unlock_domain(d);
+
     if ( switch_code )
         printk(" (type 'CTRL-%c' three times to switch input)",
                opt_conswitch[0]);
@@ -520,12 +577,11 @@ static void switch_serial_input(void)
 
 static void __serial_rx(char c, struct cpu_user_regs *regs)
 {
-    switch ( console_rx )
-    {
-    case 0:
+    if ( console_rx == 0 )
         return handle_keypress(c, regs);
 
-    case 1:
+    if ( hardware_domain->domain_id == CON_RX_DOMID )
+    {
         /*
          * Deliver input to the hardware domain buffer, unless it is
          * already full.
@@ -538,31 +594,37 @@ static void __serial_rx(char c, struct cpu_user_regs *regs)
          * getting stuck.
          */
         send_global_virq(VIRQ_CONSOLE);
-        break;
-
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-    default:
+    }
+    else
     {
-        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
+        struct domain *d = rcu_lock_domain_by_any_id(CON_RX_DOMID);
 
+        if ( d == NULL )
+            goto unlock_out;
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
         /*
          * If we have a properly initialized vpl011 console for the
          * domain, without a full PV ring to Dom0 (in that case input
          * comes from the PV ring), then send the character to it.
          */
-        if ( d != NULL &&
-             !d->arch.vpl011.backend_in_domain &&
+        if ( !d->arch.vpl011.backend_in_domain &&
              d->arch.vpl011.backend.xen != NULL )
+        {
             vpl011_rx_char_xen(d, c);
-        else
-            printk("Cannot send chars to Dom%d: no UART available\n",
-                   console_rx - 1);
+            goto unlock_out;
+        }
+#endif
+
+        if ( (serial_rx_prod - serial_rx_cons) != SERIAL_RX_SIZE )
+            serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;
 
+        send_guest_global_virq(d, VIRQ_CONSOLE);
+
+unlock_out:
         if ( d != NULL )
             rcu_unlock_domain(d);
     }
-#endif
-    }
 
 #ifdef CONFIG_X86
     if ( pv_shim && pv_console )
@@ -627,7 +689,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
         if ( copy_from_guest(kbuf, buffer, kcount) )
             return -EFAULT;
 
-        if ( is_hardware_domain(cd) )
+        if ( cd->domain_id == CON_RX_DOMID )
         {
             /* Use direct console output as it could be interactive */
             spin_lock_irq(&console_lock);
@@ -717,6 +779,8 @@ long do_console_io(
         rc = -E2BIG;
         if ( count > INT_MAX )
             break;
+        if ( CON_RX_DOMID != current->domain->domain_id )
+            return 0;
 
         rc = 0;
         while ( (serial_rx_cons != serial_rx_prod) && (rc < count) )
@@ -1107,7 +1171,7 @@ void __init console_endboot(void)
      * a useful 'how to switch' message.
      */
     if ( opt_conswitch[1] == 'x' )
-        console_rx = max_console_rx;
+        console_rx = 0;
 
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", 0);
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:14:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574420.899666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQs0x-0000zl-96; Tue, 01 Aug 2023 16:14:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574420.899666; Tue, 01 Aug 2023 16:14:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQs0x-0000ze-5i; Tue, 01 Aug 2023 16:14:27 +0000
Received: by outflank-mailman (input) for mailman id 574420;
 Tue, 01 Aug 2023 16:14:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQs0v-0000zY-I1
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:14:25 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79b057a0-3086-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 18:14:23 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690906457983258.8849360837505;
 Tue, 1 Aug 2023 09:14: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: 79b057a0-3086-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690906459; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=FCalTfY/E0aAARrLJfuwrakIySVz0BGh0t/d7czwDRM+5whXdVj55Wyhmfw5KtjvO7SwBDNOF2w+3S2RM+P9c7vuuTN4LYsvXbQV7cZtO9H1ZpNhdvn4GSA36F4Fqv1kSCuGLqFn+jOAXOyA6x+HiLff1ywRsb756w3IsS/mEIw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690906459; h=Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=pCr0JdRG9q1ElrX475c2UAk9oXat/55aUxS95iDoabE=; 
	b=DB0OBlpAaswZDKABw4uoCZGGdWImU4i0kh6Ko+nE+1BcwvACU+LSXiUUnOf3MMP5LHlljox1ikMEMan5z/N0aPAtItcRtQVllVqUYCICLTThNJ5LuUcG0ivGY25pqLSkPwgZFaeY2mLNGxKF6GlcGohJT8m61yw7JwTYqBpZMLo=
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=1690906459;
	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=pCr0JdRG9q1ElrX475c2UAk9oXat/55aUxS95iDoabE=;
	b=ggNPW559vdCH4iJr7NqNzPpzSbA37ybSIczyTfldvLc3ZQxk6hnmCmIkdE3uoso9
	i0btBdjGB8MFS818MIwx7l12lrSIU41qfZk4CU6tlz9+hnC6V+ggQzewfqnWJqEd1ir
	nOOvAwD/291TBm/IAxcyMc9KwWaMsbT7oFHOKiTY=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>,
	Rich Persaud <persaur@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/2] Rebranding dom0less to hyperlaunch part 1
Date: Tue,  1 Aug 2023 12:14:07 -0400
Message-Id: <20230801161409.25905-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This is the first series of the proposal put forth on moving to have dom0less
folded under and thus rebranded as a part of hyperlaunch. As laid out in the
proposal, the series updates the hyperlaunch device tree documentation and
applies the general refactoring of FDT parsing to make core logic common.

Daniel P. Smith (2):
  docs: update hyperlaunch device tree
  fdt: make fdt handling reusable across arch

 MAINTAINERS                                   |  11 +
 .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
 xen/arch/arm/bootfdt.c                        | 141 +----
 xen/common/Kconfig                            |   4 +
 xen/common/Makefile                           |   3 +-
 xen/common/fdt.c                              | 153 +++++
 xen/include/xen/device_tree.h                 |  50 +-
 xen/include/xen/fdt.h                         |  79 +++
 8 files changed, 551 insertions(+), 456 deletions(-)
 create mode 100644 xen/common/fdt.c
 create mode 100644 xen/include/xen/fdt.h

-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:14:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:14:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574421.899676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQs17-0001HT-FS; Tue, 01 Aug 2023 16:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574421.899676; Tue, 01 Aug 2023 16: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 1qQs17-0001HM-CR; Tue, 01 Aug 2023 16:14:37 +0000
Received: by outflank-mailman (input) for mailman id 574421;
 Tue, 01 Aug 2023 16: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQs16-0000zY-4n
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:14:36 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80573520-3086-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 18:14:34 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690906459472812.6746861262045;
 Tue, 1 Aug 2023 09:14: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: 80573520-3086-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690906461; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=SpFGSRZv168vMV09mTTWUKEVz9JNfC42MiXsVB2tnQy3YLFfo02HsuyjJ2oon5UwgRk9plmQkm4ntlt1sIBqgxwWPreyCK3QAg/EIA2UTa+yhWh6KgzovOc8/gHjKNHwwnj6bt2yMVI2YCSoNbQbJLeqRlwcazQ413rOA8MTAXw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690906461; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=EW4AyI36gTHVj3MBWRAetoSpPzDjxbKjm9mKfWizXOo=; 
	b=jY63lARPwfH/uJLrqqVKRDoXDrJycvewxdqi6AboR97Cofj+X1IC5IBabkcytx3ISrwEUl0oZVkclU0ie8cAYkEW25Vf5i9mD5K0/2bzaRvPq3AHvEJfaEf1JerJ1FMWRzgYOKBReAMyVQwfSsZE1Vapwn0VJuulyaZB/mso6xw=
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=1690906461;
	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-Type:Content-Transfer-Encoding:Reply-To;
	bh=EW4AyI36gTHVj3MBWRAetoSpPzDjxbKjm9mKfWizXOo=;
	b=jUQn0/BiXXca9SaScHVBiryK0BNMviYvvdTIm2fMnlLLX4SUv8JTxzzdfuQQ0Gy2
	82R62H8P51oZwrKbx4z+NT7k3RBLVFHMHDSbxEI2tyyGIvXPGMRM/2a2CBHVP2pZkJc
	zefG+OtHit7OBM9hlsOdO6pm6ixWz8C97C3I07TQ=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] docs: update hyperlaunch device tree
Date: Tue,  1 Aug 2023 12:14:08 -0400
Message-Id: <20230801161409.25905-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801161409.25905-1-dpsmith@apertussolutions.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

With on going development of hyperlaunch, changes to the device tree definitions
has been necessary. This commit updates the specification for all current changes
along with changes expected to be made in finalizing the capability.

This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
this documentation under its purview. It also reserves the path
`xen/common/domain-builder` for the hyperlaunch domain builder code base.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 MAINTAINERS                                   |   9 +
 .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
 2 files changed, 309 insertions(+), 266 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d8a02a6c19..694412a961 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -332,6 +332,15 @@ M:	Nick Rosbrook <rosbrookn@gmail.com>
 S:	Maintained
 F:	tools/golang
 
+HYPERLAUNCH
+M:	Daniel P. Smith <dpsmith@apertussolutions.com>
+M:	Christopher Clark <christopher.w.clark@gmail.com>
+W:	https://wiki.xenproject.org/wiki/Hyperlaunch
+S:	Supported
+F:	docs/design/launch/hyperlaunch.rst
+F:	docs/design/launch/hyperlaunch-devicetree.rst
+F:	xen/common/domain-builder/
+
 HYPFS
 M:	Juergen Gross <jgross@suse.com>
 S:	Supported
diff --git a/docs/designs/launch/hyperlaunch-devicetree.rst b/docs/designs/launch/hyperlaunch-devicetree.rst
index b49c98cfbd..0bc719e4ae 100644
--- a/docs/designs/launch/hyperlaunch-devicetree.rst
+++ b/docs/designs/launch/hyperlaunch-devicetree.rst
@@ -2,10 +2,11 @@
 Xen Hyperlaunch Device Tree Bindings
 -------------------------------------
 
-The Xen Hyperlaunch device tree adopts the dom0less device tree structure and
-extends it to meet the requirements for the Hyperlaunch capability. The primary
-difference is the introduction of the ``hypervisor`` node that is under the
-``/chosen`` node. The move to a dedicated node was driven by:
+The Xen Hyperlaunch device tree is informed by the dom0less device tree
+structure with extensions to meet the requirements for the Hyperlaunch
+capability. A major depature from the dom0less device tree is the introduction
+of the ``hypervisor`` node that is under the ``/chosen`` node. The move to a
+dedicated node was driven by:
 
 1. Reduces the need to walk over nodes that are not of interest, e.g. only
    nodes of interest should be in ``/chosen/hypervisor``
@@ -13,331 +14,364 @@ difference is the introduction of the ``hypervisor`` node that is under the
 2. Allows for the domain construction information to easily be sanitized by
    simple removing the ``/chosen/hypervisor`` node.
 
-Example Configuration
----------------------
-
-Below are two example device tree definitions for the hypervisor node. The
-first is an example of a multiboot-based configuration for x86 and the second
-is a module-based configuration for Arm.
-
-Multiboot x86 Configuration:
-""""""""""""""""""""""""""""
-
-::
-
-    hypervisor {
-        #address-cells = <1>;
-        #size-cells = <0>;
-        compatible = â€œhypervisor,xenâ€
-
-        // Configuration container
-        config {
-            compatible = "xen,config";
-
-            module {
-                compatible = "module,microcode", "multiboot,module";
-                mb-index = <1>;
-            };
-
-            module {
-                compatible = "module,xsm-policy", "multiboot,module";
-                mb-index = <2>;
-            };
-        };
-
-        // Boot Domain definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0x7FF5>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0x00000001>;
-
-            memory = <0x0 0x20000>;
-            cpus = <1>;
-            module {
-                compatible = "module,kernel", "multiboot,module";
-                mb-index = <3>;
-            };
-
-            module {
-                compatible = "module,ramdisk", "multiboot,module";
-                mb-index = <4>;
-            };
-            module {
-                compatible = "module,config", "multiboot,module";
-                mb-index = <5>;
-            };
-
-        // Classic Dom0 definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0>;
-
-            // PERMISSION_NONE          (0)
-            // PERMISSION_CONTROL       (1 << 0)
-            // PERMISSION_HARDWARE      (1 << 1)
-            permissions = <3>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0xC0000006>;
-
-            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
-            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
-            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
-            mode = <5>; /* 64 BIT, PV */
-
-            // UUID
-            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
-
-            cpus = <1>;
-            memory = <0x0 0x20000>;
-            security-id = â€œdom0_t;
-
-            module {
-                compatible = "module,kernel", "multiboot,module";
-                mb-index = <6>;
-                bootargs = "console=hvc0";
-            };
-            module {
-                compatible = "module,ramdisk", "multiboot,module";
-                mb-index = <7>;
-            };
-    };
-
-The multiboot modules supplied when using the above config would be, in order:
+The Hypervisor node
+-------------------
 
-* (the above config, compiled)
-* CPU microcode
-* XSM policy
-* kernel for boot domain
-* ramdisk for boot domain
-* boot domain configuration file
-* kernel for the classic dom0 domain
-* ramdisk for the classic dom0 domain
+The ``hypervisor`` node is a top level container for all information relating
+to how the hyperlaunch is to proceed. This includes definitions of the domains
+that will be built by hypervisor on start up. The node will be named
+``hypervisor``  with a ``compatible`` property to identify which hypervisors
+the configuration is intended. The hypervisor node will consist of one or more
+config nodes and one or more domain nodes.
 
-Module Arm Configuration:
-"""""""""""""""""""""""""
+Properties
+""""""""""
 
-::
+compatible
+  Identifies which hypervisors the configuration is compatible. Required.
 
-    hypervisor {
-        compatible = â€œhypervisor,xenâ€
+  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
 
-        // Configuration container
-        config {
-            compatible = "xen,config";
+Child Nodes
+"""""""""""
 
-            module {
-                compatible = "module,microcodeâ€;
-                module-addr = <0x0000ff00 0x80>;
-            };
+* config
+* domain
 
-            module {
-                compatible = "module,xsm-policy";
-                module-addr = <0x0000ff00 0x80>;
+Config Node
+-----------
 
-            };
-        };
+A ``config`` node is for passing configuration data and identifying any boot
+modules that is of interest to the hypervisor.  For example this would be where
+Xen would be informed of microcode or XSM policy locations. Each ``config``
+node will require a unique device-tree compliant name as there may be one or
+more ``config`` nodes present in a single dtb file. To identify which
+hypervisor the configuration is intended, the required ``compatible`` property
+must be present.
 
-        // Boot Domain definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0x7FF5>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0x00000001>;
-
-            memory = <0x0 0x20000>;
-            cpus = <1>;
-            module {
-                compatible = "module,kernel";
-                module-addr = <0x0000ff00 0x80>;
-            };
+While the config node is not meant to replace the hypervisor commandline, there
+may be cases where it is better suited for passing configuration details at
+boot time.  This additional information may be carried in properties assigned
+to a ``config`` node. If there are any boot modules that are intended for the
+hypervisor, then a ``module`` child node should be provided to identify the
+boot module.
 
-            module {
-                compatible = "module,ramdisk";
-                module-addr = <0x0000ff00 0x80>;
-            };
-            module {
-                compatible = "module,config";
-                module-addr = <0x0000ff00 0x80>;
-            };
+Properties
+""""""""""
 
-        // Classic Dom0 definition
-        domain@0 {
-            compatible = "xen,domain";
-
-            domid = <0>;
-
-            // PERMISSION_NONE          (0)
-            // PERMISSION_CONTROL       (1 << 0)
-            // PERMISSION_HARDWARE      (1 << 1)
-            permissions = <3>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0xC0000006>;
-
-            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
-            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
-            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
-            mode = <5>; /* 64 BIT, PV */
-
-            // UUID
-            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
-
-            cpus = <1>;
-            memory = <0x0 0x20000>;
-            security-id = â€œdom0_tâ€;
-
-            module {
-                compatible = "module,kernel";
-                module-addr = <0x0000ff00 0x80>;
-                bootargs = "console=hvc0";
-            };
-            module {
-                compatible = "module,ramdisk";
-                module-addr = <0x0000ff00 0x80>;
-            };
-    };
+compatible
+  Identifies the hypervisor the confiugration is intended. Required.
 
-The modules that would be supplied when using the above config would be:
+  Format: "<hypervisor name>,config", e.g "xen,config"
 
-* (the above config, compiled into hardware tree)
-* CPU microcode
-* XSM policy
-* kernel for boot domain
-* ramdisk for boot domain
-* boot domain configuration file
-* kernel for the classic dom0 domain
-* ramdisk for the classic dom0 domain
+bootargs
+  This is used to provide the boot params for Xen.
 
-The hypervisor device tree would be compiled into the hardware device tree and
-provided to Xen using the standard method currently in use. The remaining
-modules would need to be loaded in the respective addresses specified in the
-`module-addr` property.
+  Format: String, e.g. "flask=silo"
 
+Child Nodes
+"""""""""""
 
-The Hypervisor node
--------------------
+* module
 
-The hypervisor node is a top level container for the domains that will be built
-by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
-property is used to identify the type of hypervisor node present..
+Domain Node
+-----------
 
-compatible
-  Identifies the type of node. Required.
+A ``domain`` node is for describing the construction of a domain. Since there
+may be one or more domain nodes, each one requires a unique, DTB compliant name
+and a ``compatible`` property to identify as a domain node.
 
-The Config node
----------------
+A ``domain`` node  may provide a ``domid`` property which will be used as the
+requested domain id for the domain with a value of â€œ0â€ signifying to use the
+next available domain id, which is the default behavior if omitted. It should
+be noted that a domain configuration is not able to request a domid of â€œ0â€.
+Beyond that, a domain node may have any of the following optional properties.
 
-A config node is for detailing any modules that are of interest to Xen itself.
-For example this would be where Xen would be informed of microcode or XSM
-policy locations. If the modules are multiboot modules and are able to be
-located by index within the module chain, the ``mb-index`` property should be
-used to specify the index in the multiboot module chain.. If the module will be
-located by physical memory address, then the ``module-addr`` property should be
-used to identify the location and size of the module.
+Properties
+""""""""""
 
 compatible
-  Identifies the type of node. Required.
-
-The Domain node
----------------
+  Identifies the node as a domain node and for which hypervisor. Required.
 
-A domain node is for describing the construction of a domain. It may provide a
-domid property which will be used as the requested domain id for the domain
-with a value of â€œ0â€ signifying to use the next available domain id, which is
-the default behavior if omitted. A domain configuration is not able to request
-a domid of â€œ0â€. After that a domain node may have any of the following
-parameters,
-
-compatible
-  Identifies the type of node. Required.
+  Format: "<hypervisor name>,domain", e.g "xen,domain"
 
 domid
-  Identifies the domid requested to assign to the domain. Required.
+  Identifies the domid requested to assign to the domain.
 
-permissions
+  Format: Integer, e.g <0>
+
+role
   This sets what Discretionary Access Control permissions
   a domain is assigned. Optional, default is none.
 
-functions
-  This identifies what system functions a domain will fulfill.
+  Format: Bitfield, e.g <3> or <0x00000003>
+
+          ROLE_NONE                (0)
+          ROLE_UNBOUNDED_DOMAIN    (1U<<0)
+          ROLE_CONTROL_DOMAIN      (1U<<1)
+          ROLE_HARDWARE_DOMAIN     (1U<<2)
+          ROLE_XENSTORE_DOMAIN     (1U<<3)
+
+capability
+  This identifies what system capabilities a domain may have beyond the role it
+  was assigned.
   Optional, the default is none.
 
-.. note::  The `functions` bits that have been selected to indicate
-   ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two bits
-   (30, 31) such that should these features ever be fully retired, the flags may
-   be dropped without leaving a gap in the flag set.
+  Format: Bitfield, e.g <3221225487> or <0xC0000007>
+
+          CAP_NONE            (0)
+          CAP_CONSOLE_IO      (1U<<0)
 
 mode
   The mode the domain will be executed under. Required.
 
+  Format: Bitfield, e.g <5> or <0x00000005>
+
+          MODE_PARAVIRTUALIZED     (1 << 0) PV | PVH/HVM
+          MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
+          MODE_LONG                (1 << 2) 64 BIT | 32 BIT
+
 domain-uuid
   A globally unique identifier for the domain. Optional,
   the default is NULL.
 
+  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
+
 cpus
   The number of vCPUs to be assigned to the domain. Optional,
   the default is â€œ1â€.
 
+  Format: Integer, e.g <0>
+
 memory
-  The amount of memory to assign to the domain, in KBs.
+  The amount of memory to assign to the domain, in KBs. This field uses a DTB
+  Reg which contains a start and size. For memory allocation start may or may
+  not have significance but size will always be used for the amount of memory
   Required.
 
+  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
+
 security-id
   The security identity to be assigned to the domain when XSM
   is the access control mechanism being used. Optional,
-  the default is â€œdomu_tâ€.
+  the default is â€œsystem_u:system_r:domU_tâ€.
+
+  Format: string, e.g. "system_u:system_r:domU_t"
+
+Child Nodes
+"""""""""""
+
+* module
+
+Module node
+-----------
 
-The Module node
----------------
+This node describes a boot module loaded by the boot loader. A ``module`` node
+will often appear repeatedly and will require a unique and DTB compliant name
+for each instance. The compatible property is required to identify that the
+node is a ``module`` node, the type of boot module, and what it represents.
 
-This node describes a boot module loaded by the boot loader. The required
-compatible property follows the format: module,<type> where type can be
-â€œkernelâ€, â€œramdiskâ€, â€œdevice-treeâ€, â€œmicrocodeâ€, â€œxsm-policyâ€ or â€œconfigâ€. In
-the case the module is a multiboot module, the additional property string
-â€œmultiboot,moduleâ€ may be present. One of two properties is required and
-identifies how to locate the module. They are the mb-index, used for multiboot
-modules, and the module-addr for memory address based location.
+Depending on the type of boot module, the ``module`` node will require either a
+``module-index`` or ``module-addr`` property must be present. They provide the
+boot module specific way of locating the boot module in memory.
+
+Properties
+""""""""""
 
 compatible
   This identifies what the module is and thus what the hypervisor
   should use the module for during domain construction. Required.
 
-mb-index
-  This identifies the index for this module in the multiboot module chain.
+  Format: "module,<module type>"[, "module,<locating type>"]
+          module type: kernel, ramdisk, device-tree, microcode, xsm-policy,
+                       config
+
+          locating type: index, addr
+
+module-index
+  This identifies the index for this module when in a module chain.
   Required for multiboot environments.
 
+  Format: Integer, e.g. <0>
+
 module-addr
   This identifies where in memory this module is located. Required for
   non-multiboot environments.
 
+  Format: DTB Reg <start size>, e.g. <0x0 0x20000>
+
 bootargs
   This is used to provide the boot params to kernel modules.
 
+  Format: String, e.g. "ro quiet"
+
 .. note::  The bootargs property is intended for situations where the same kernel multiboot module is used for more than one domain.
+
+Example Configuration
+---------------------
+
+Below are two example device tree definitions for the hypervisor node. The
+first is an example of a multiboot-based configuration for x86 and the second
+is a module-based configuration for Arm.
+
+Multiboot x86 Configuration:
+""""""""""""""""""""""""""""
+
+::
+
+    /dts-v1/;
+
+    / {
+        chosen {
+            hypervisor {
+                compatible = "hypervisor,xen", "xen,x86";
+
+                dom0 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <9>;
+                    mode = <12>;
+
+                    domain-uuid = [B3 FB 98 FB 8F 9F 67 A3 8A 6E 62 5A 09 13 F0 8C];
+
+                    cpus = <1>;
+                    memory = "1024M";
+
+                    kernel {
+                        compatible = "module,kernel", "module,index";
+                        module-index = <1>;
+                    };
+
+                    initrd {
+                        compatible = "module,ramdisk", "module,index";
+                        module-index = <2>;
+                    };
+                };
+
+                dom1 {
+                    compatible = "xen,domain";
+                    domid = <1>;
+                    role = <0>;
+                    capability = <1>;
+                    mode = <12>;
+                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64 54 1A 74];
+                    cpus = <1>;
+                    memory = "1024M";
+
+                    kernel {
+                        compatible = "module,kernel", "module,index";
+                        module-index = <3>;
+                        bootargs = "console=hvc0 earlyprintk=xen root=/dev/ram0 rw";
+                    };
+
+                    initrd {
+                        compatible = "module,ramdisk", "module,index";
+                        module-index = <4>;
+                    };
+                };
+            };
+        };
+    };
+
+
+
+The multiboot modules supplied when using the above config would be, in order:
+
+* (the above config, compiled)
+* kernel for PVH unbounded domain
+* ramdisk for PVH unbounded domain
+* kernel for PVH guest domain
+* ramdisk for PVH guest domain
+
+Module Arm Configuration:
+"""""""""""""""""""""""""
+
+::
+
+    /dts-v1/;
+
+    / {
+        chosen {
+            hypervisor {
+                compatible = â€œhypervisor,xenâ€
+
+                // Configuration container
+                config {
+                    compatible = "xen,config";
+
+                    module {
+                        compatible = "module,xsm-policy";
+                        module-addr = <0x0000ff00 0x80>;
+
+                    };
+                };
+
+                // Unbounded Domain definition
+                dom0 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <9>;
+
+                    mode = <12>; /* 64 BIT, PVH */
+
+                    memory = <0x0 0x20000>;
+                    cpus = <1>;
+                    module {
+                        compatible = "module,kernel";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+
+                    module {
+                        compatible = "module,ramdisk";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+
+                // Guest definition
+                dom1 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <0>;
+                    capability = <1>;
+
+                    mode = <12>; /* 64 BIT, PVH */
+
+                    // UUID
+                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64 54 1A 74];
+
+                    cpus = <1>;
+                    memory = <0x0 0x20000>;
+                    security-id = â€œdom0_tâ€;
+
+                    module {
+                        compatible = "module,kernel";
+                        module-addr = <0x0000ff00 0x80>;
+                        bootargs = "console=hvc0";
+                    };
+                    module {
+                        compatible = "module,ramdisk";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+                };
+            };
+        };
+    };
+
+The modules that would be supplied when using the above config would be:
+
+* (the above config, compiled into hardware tree)
+* XSM policy
+* kernel for unbounded domain
+* ramdisk for unbounded domain
+* kernel for guest domain
+* ramdisk for guest domain
+
+The hypervisor device tree would be compiled into the hardware device tree and
+provided to Xen using the standard method currently in use. The remaining
+modules would need to be loaded in the respective addresses specified in the
+`module-addr` property.
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:14:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574423.899685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQs1J-0001k7-QE; Tue, 01 Aug 2023 16:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574423.899685; Tue, 01 Aug 2023 16:14:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQs1J-0001jy-NG; Tue, 01 Aug 2023 16:14:49 +0000
Received: by outflank-mailman (input) for mailman id 574423;
 Tue, 01 Aug 2023 16:14:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQs1I-0000zY-9O
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:14:48 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87e3c789-3086-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 18:14:47 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690906461023126.57678525510755;
 Tue, 1 Aug 2023 09:14: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: 87e3c789-3086-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690906463; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kftLtAyCVJotdA+tt7yqfJOhwVST4aPQMxRMzvSRp7aeNADv5rsz80FSMozg7f4NTBaCZ2oe5mo94zConlBM5Eubqe4CZ3QyE+fz3UvaE7lP9c6JoPXjsyUIlV3vQeJY4Bo0sof1JjZJRtndwwAuwm+O7s4O+sX1wok6m8+vtgA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690906463; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=iJdTGx0QdelpoFD1gaU2LsNp6huwPZ2m+dQ4G7t7rbs=; 
	b=WjVWo4DJMPa0yL5qbmTQoxBN9m4S/Y8SOpu4GOoje9ivvc4GcHgb8T0yTpNUuLuGinzE/abUukuvAfCTKByAyboT8Y6rYXrnLqb6uuvg5czxzJFoJEz1jLxybyi78LL15RJowGSaAVvavg5XzExHqmHEwsdqGxsBaqVK35FfwmQ=
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=1690906463;
	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=iJdTGx0QdelpoFD1gaU2LsNp6huwPZ2m+dQ4G7t7rbs=;
	b=VqEFUyBtKQmiWsMHzt/mIM5ZOd6U5YSBmiBG8E1EyKmUcAOfHB1lM1M+eqvEGO/a
	BgfTlTk84xjPgTOCvG7H1eddgFqfwae4/4DSPtcceW6AZLehnYjubMBAr3vmo9XKXDa
	zS+181/TMUKb702qQgZXQY1YfYtknttYT4a9Ps1A=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH 2/2] fdt: make fdt handling reusable across arch
Date: Tue,  1 Aug 2023 12:14:09 -0400
Message-Id: <20230801161409.25905-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801161409.25905-1-dpsmith@apertussolutions.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
introduced for when the ability of parsing DTB files is needed by a capability
such as hyperlaunch.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 MAINTAINERS                   |   2 +
 xen/arch/arm/bootfdt.c        | 141 +------------------------------
 xen/common/Kconfig            |   4 +
 xen/common/Makefile           |   3 +-
 xen/common/fdt.c              | 153 ++++++++++++++++++++++++++++++++++
 xen/include/xen/device_tree.h |  50 +----------
 xen/include/xen/fdt.h         |  79 ++++++++++++++++++
 7 files changed, 242 insertions(+), 190 deletions(-)
 create mode 100644 xen/common/fdt.c
 create mode 100644 xen/include/xen/fdt.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 694412a961..b7fc3ed805 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -303,7 +303,9 @@ F:	xen/common/libfdt/
 F:	xen/common/device_tree.c
 F:	xen/include/xen/libfdt/
 F:	xen/include/xen/device_tree.h
+F:	include/xen/fdt.h
 F:	xen/drivers/passthrough/device_tree.c
+F:	common/fdt.c
 
 ECLAIR
 R:	Simone Ballarin <simone.ballarin@bugseng.com>
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1..cdf4f17789 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -12,79 +12,11 @@
 #include <xen/device_tree.h>
 #include <xen/lib.h>
 #include <xen/libfdt/libfdt-xen.h>
+#include <xen/fdt.h>
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
 
-static bool __init device_tree_node_matches(const void *fdt, int node,
-                                            const char *match)
-{
-    const char *name;
-    size_t match_len;
-
-    name = fdt_get_name(fdt, node, NULL);
-    match_len = strlen(match);
-
-    /* Match both "match" and "match@..." patterns but not
-       "match-foo". */
-    return strncmp(name, match, match_len) == 0
-        && (name[match_len] == '@' || name[match_len] == '\0');
-}
-
-static bool __init device_tree_node_compatible(const void *fdt, int node,
-                                               const char *match)
-{
-    int len, l;
-    const void *prop;
-
-    prop = fdt_getprop(fdt, node, "compatible", &len);
-    if ( prop == NULL )
-        return false;
-
-    while ( len > 0 ) {
-        if ( !dt_compat_cmp(prop, match) )
-            return true;
-        l = strlen(prop) + 1;
-        prop += l;
-        len -= l;
-    }
-
-    return false;
-}
-
-void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
-                                uint32_t size_cells, paddr_t *start,
-                                paddr_t *size)
-{
-    uint64_t dt_start, dt_size;
-
-    /*
-     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
-     * Thus, there is an implicit cast from uint64_t to paddr_t.
-     */
-    dt_start = dt_next_cell(address_cells, cell);
-    dt_size = dt_next_cell(size_cells, cell);
-
-    if ( dt_start != (paddr_t)dt_start )
-    {
-        printk("Physical address greater than max width supported\n");
-        WARN();
-    }
-
-    if ( dt_size != (paddr_t)dt_size )
-    {
-        printk("Physical size greater than max width supported\n");
-        WARN();
-    }
-
-    /*
-     * Xen will truncate the address/size if it is greater than the maximum
-     * supported width and it will give an appropriate warning.
-     */
-    *start = dt_start;
-    *size = dt_size;
-}
-
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
@@ -135,77 +67,6 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     return 0;
 }
 
-u32 __init device_tree_get_u32(const void *fdt, int node,
-                               const char *prop_name, u32 dflt)
-{
-    const struct fdt_property *prop;
-
-    prop = fdt_get_property(fdt, node, prop_name, NULL);
-    if ( !prop || prop->len < sizeof(u32) )
-        return dflt;
-
-    return fdt32_to_cpu(*(uint32_t*)prop->data);
-}
-
-/**
- * device_tree_for_each_node - iterate over all device tree sub-nodes
- * @fdt: flat device tree.
- * @node: parent node to start the search from
- * @func: function to call for each sub-node.
- * @data: data to pass to @func.
- *
- * Any nodes nested at DEVICE_TREE_MAX_DEPTH or deeper are ignored.
- *
- * Returns 0 if all nodes were iterated over successfully.  If @func
- * returns a value different from 0, that value is returned immediately.
- */
-int __init device_tree_for_each_node(const void *fdt, int node,
-                                     device_tree_node_func func,
-                                     void *data)
-{
-    /*
-     * We only care about relative depth increments, assume depth of
-     * node is 0 for simplicity.
-     */
-    int depth = 0;
-    const int first_node = node;
-    u32 address_cells[DEVICE_TREE_MAX_DEPTH];
-    u32 size_cells[DEVICE_TREE_MAX_DEPTH];
-    int ret;
-
-    do {
-        const char *name = fdt_get_name(fdt, node, NULL);
-        u32 as, ss;
-
-        if ( depth >= DEVICE_TREE_MAX_DEPTH )
-        {
-            printk("Warning: device tree node `%s' is nested too deep\n",
-                   name);
-            continue;
-        }
-
-        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
-        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
-
-        address_cells[depth] = device_tree_get_u32(fdt, node,
-                                                   "#address-cells", as);
-        size_cells[depth] = device_tree_get_u32(fdt, node,
-                                                "#size-cells", ss);
-
-        /* skip the first node */
-        if ( node != first_node )
-        {
-            ret = func(fdt, node, name, depth, as, ss, data);
-            if ( ret != 0 )
-                return ret;
-        }
-
-        node = fdt_next_node(fdt, node, &depth);
-    } while ( node >= 0 && depth > 0 );
-
-    return 0;
-}
-
 static int __init process_memory_node(const void *fdt, int node,
                                       const char *name, int depth,
                                       u32 address_cells, u32 size_cells,
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0d248ab941..e2fdb3cbc3 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -38,8 +38,12 @@ config HAS_ALTERNATIVE
 config HAS_COMPAT
 	bool
 
+config CORE_DEVICE_TREE
+	bool
+
 config HAS_DEVICE_TREE
 	bool
+	select CORE_DEVICE_TREE
 
 config HAS_EX_TABLE
 	bool
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..fd3769e1c6 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -11,6 +11,7 @@ obj-y += domain.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
+obj-$(CONFIG_CORE_DEVICE_TREE) += fdt.o
 obj-$(CONFIG_CRASH_DEBUG) += gdbstub.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
@@ -75,7 +76,7 @@ obj-y += sched/
 obj-$(CONFIG_UBSAN) += ubsan/
 
 obj-$(CONFIG_NEEDS_LIBELF) += libelf/
-obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
+obj-$(CONFIG_CORE_DEVICE_TREE) += libfdt/
 
 CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(objtree)/)$(KCONFIG_CONFIG)
 $(obj)/config.gz: $(CONF_FILE)
diff --git a/xen/common/fdt.c b/xen/common/fdt.c
new file mode 100644
index 0000000000..8d7acaaa43
--- /dev/null
+++ b/xen/common/fdt.c
@@ -0,0 +1,153 @@
+/*
+ * Flattened Device Tree
+ *
+ * Copyright (C) 2012-2014 Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <xen/fdt.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/types.h>
+
+bool __init device_tree_node_matches(
+    const void *fdt, int node, const char *match)
+{
+    const char *name;
+    size_t match_len;
+
+    name = fdt_get_name(fdt, node, NULL);
+    match_len = strlen(match);
+
+    /* Match both "match" and "match@..." patterns but not
+       "match-foo". */
+    return strncmp(name, match, match_len) == 0
+        && (name[match_len] == '@' || name[match_len] == '\0');
+}
+
+bool __init device_tree_node_compatible(
+    const void *fdt, int node, const char *match)
+{
+    int len, l;
+    const void *prop;
+
+    prop = fdt_getprop(fdt, node, "compatible", &len);
+    if ( prop == NULL )
+        return false;
+
+    while ( len > 0 ) {
+        if ( !dt_compat_cmp(prop, match) )
+            return true;
+        l = strlen(prop) + 1;
+        prop += l;
+        len -= l;
+    }
+
+    return false;
+}
+
+void __init device_tree_get_reg(
+    const __be32 **cell, uint32_t address_cells, uint32_t size_cells,
+    paddr_t *start, paddr_t *size)
+{
+    uint64_t dt_start, dt_size;
+
+    /*
+     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
+     * Thus, there is an implicit cast from uint64_t to paddr_t.
+     */
+    dt_start = dt_next_cell(address_cells, cell);
+    dt_size = dt_next_cell(size_cells, cell);
+
+    if ( dt_start != (paddr_t)dt_start )
+    {
+        printk("Physical address greater than max width supported\n");
+        WARN();
+    }
+
+    if ( dt_size != (paddr_t)dt_size )
+    {
+        printk("Physical size greater than max width supported\n");
+        WARN();
+    }
+
+    /*
+     * Xen will truncate the address/size if it is greater than the maximum
+     * supported width and it will give an appropriate warning.
+     */
+    *start = dt_start;
+    *size = dt_size;
+}
+
+u32 __init device_tree_get_u32(
+    const void *fdt, int node, const char *prop_name, u32 dflt)
+{
+    const struct fdt_property *prop;
+
+    prop = fdt_get_property(fdt, node, prop_name, NULL);
+    if ( !prop || prop->len < sizeof(u32) )
+        return dflt;
+
+    return fdt32_to_cpu(*(uint32_t*)prop->data);
+}
+
+/**
+ * device_tree_for_each_node - iterate over all device tree sub-nodes
+ * @fdt: flat device tree.
+ * @node: parent node to start the search from
+ * @func: function to call for each sub-node.
+ * @data: data to pass to @func.
+ *
+ * Any nodes nested at DEVICE_TREE_MAX_DEPTH or deeper are ignored.
+ *
+ * Returns 0 if all nodes were iterated over successfully.  If @func
+ * returns a value different from 0, that value is returned immediately.
+ */
+int __init device_tree_for_each_node(
+    const void *fdt, int node, device_tree_node_func func, void *data)
+{
+    /*
+     * We only care about relative depth increments, assume depth of
+     * node is 0 for simplicity.
+     */
+    int depth = 0;
+    const int first_node = node;
+    u32 address_cells[DEVICE_TREE_MAX_DEPTH];
+    u32 size_cells[DEVICE_TREE_MAX_DEPTH];
+    int ret;
+
+    do {
+        const char *name = fdt_get_name(fdt, node, NULL);
+        u32 as, ss;
+
+        if ( depth >= DEVICE_TREE_MAX_DEPTH )
+        {
+            printk("Warning: device tree node `%s' is nested too deep\n",
+                   name);
+            continue;
+        }
+
+        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
+        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
+
+        address_cells[depth] = device_tree_get_u32(fdt, node,
+                                                   "#address-cells", as);
+        size_cells[depth] = device_tree_get_u32(fdt, node,
+                                                "#size-cells", ss);
+
+        /* skip the first node */
+        if ( node != first_node )
+        {
+            ret = func(fdt, node, name, depth, as, ss, data);
+            if ( ret != 0 )
+                return ret;
+        }
+
+        node = fdt_next_node(fdt, node, &depth);
+    } while ( node >= 0 && depth > 0 );
+
+    return 0;
+}
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index c2eada7489..f59aa54423 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -14,13 +14,12 @@
 #include <asm/device.h>
 #include <public/xen.h>
 #include <public/device_tree_defs.h>
+#include <xen/fdt.h>
 #include <xen/kernel.h>
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
 
-#define DEVICE_TREE_MAX_DEPTH 16
-
 /*
  * Struct used for matching a device
  */
@@ -159,17 +158,8 @@ struct dt_raw_irq {
     u32 specifier[DT_MAX_IRQ_SPEC];
 };
 
-typedef int (*device_tree_node_func)(const void *fdt,
-                                     int node, const char *name, int depth,
-                                     u32 address_cells, u32 size_cells,
-                                     void *data);
-
 extern const void *device_tree_flattened;
 
-int device_tree_for_each_node(const void *fdt, int node,
-                              device_tree_node_func func,
-                              void *data);
-
 /**
  * dt_unflatten_host_device_tree - Unflatten the host device tree
  *
@@ -214,14 +204,6 @@ extern const struct dt_device_node *dt_interrupt_controller;
 struct dt_device_node *
 dt_find_interrupt_controller(const struct dt_device_match *matches);
 
-#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
-#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
-#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
-
-/* Default #address and #size cells */
-#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
-#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
-
 #define dt_for_each_property_node(dn, pp)                   \
     for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
 
@@ -231,16 +213,6 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
 #define dt_for_each_child_node(dt, dn)                      \
     for ( dn = (dt)->child; (dn) != NULL; dn = (dn)->sibling )
 
-/* Helper to read a big number; size is in cells (not bytes) */
-static inline u64 dt_read_number(const __be32 *cell, int size)
-{
-    u64 r = 0;
-
-    while ( size-- )
-        r = (r << 32) | be32_to_cpu(*(cell++));
-    return r;
-}
-
 /* Wrapper for dt_read_number() to return paddr_t (instead of uint64_t) */
 static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
 {
@@ -268,26 +240,6 @@ static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
     return r;
 }
 
-/* Helper to convert a number of cells to bytes */
-static inline int dt_cells_to_size(int size)
-{
-    return (size * sizeof (u32));
-}
-
-/* Helper to convert a number of bytes to cells, rounds down */
-static inline int dt_size_to_cells(int bytes)
-{
-    return (bytes / sizeof(u32));
-}
-
-static inline u64 dt_next_cell(int s, const __be32 **cellp)
-{
-    const __be32 *p = *cellp;
-
-    *cellp = p + s;
-    return dt_read_number(p, s);
-}
-
 static inline const char *dt_node_full_name(const struct dt_device_node *np)
 {
     return (np && np->full_name) ? np->full_name : "<no-node>";
diff --git a/xen/include/xen/fdt.h b/xen/include/xen/fdt.h
new file mode 100644
index 0000000000..00f9f3792f
--- /dev/null
+++ b/xen/include/xen/fdt.h
@@ -0,0 +1,79 @@
+/*
+ * Flattened Device Tree
+ *
+ * Copyright (C) 2012 Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __XEN_FDT_H__
+#define __XEN_FDT_H__
+
+#include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/types.h>
+
+#define DEVICE_TREE_MAX_DEPTH 16
+
+/* Default #address and #size cells */
+#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
+#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
+
+#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
+#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
+#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
+
+/* Helper to read a big number; size is in cells (not bytes) */
+static inline u64 dt_read_number(const __be32 *cell, int size)
+{
+    u64 r = 0;
+
+    while ( size-- )
+        r = (r << 32) | be32_to_cpu(*(cell++));
+    return r;
+}
+
+/* Helper to convert a number of cells to bytes */
+static inline int dt_cells_to_size(int size)
+{
+    return (size * sizeof (u32));
+}
+
+/* Helper to convert a number of bytes to cells, rounds down */
+static inline int dt_size_to_cells(int bytes)
+{
+    return (bytes / sizeof(u32));
+}
+
+static inline u64 dt_next_cell(int s, const __be32 **cellp)
+{
+    const __be32 *p = *cellp;
+
+    *cellp = p + s;
+    return dt_read_number(p, s);
+}
+
+
+bool __init device_tree_node_matches(
+    const void *fdt, int node, const char *match);
+
+bool __init device_tree_node_compatible(
+    const void *fdt, int node, const char *match);
+
+void __init device_tree_get_reg(
+    const __be32 **cell, u32 address_cells, u32 size_cells, u64 *start,
+    u64 *size);
+
+u32 __init device_tree_get_u32(
+    const void *fdt, int node, const char *prop_name, u32 dflt);
+
+typedef int (*device_tree_node_func)(
+    const void *fdt, int node, const char *name, int depth, u32 address_cells,
+    u32 size_cells, void *data);
+
+int device_tree_for_each_node(
+    const void *fdt, int node, device_tree_node_func func, void *data);
+
+
+#endif /* __XEN_FDT_H__ */
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 16:50:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 16:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574438.899695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQsa1-0006av-BQ; Tue, 01 Aug 2023 16:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574438.899695; Tue, 01 Aug 2023 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 1qQsa1-0006ao-8k; Tue, 01 Aug 2023 16:50:41 +0000
Received: by outflank-mailman (input) for mailman id 574438;
 Tue, 01 Aug 2023 16:50:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PUJK=DS=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQsa0-0006ai-EG
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 16:50:40 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a0748e9-308b-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 18:50:38 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4790682855CD;
 Tue,  1 Aug 2023 11:50: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 dxiFkFjZgdqP; Tue,  1 Aug 2023 11:50:35 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0F1B38285615;
 Tue,  1 Aug 2023 11:50:35 -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 B0wLQ-t1NMT0; Tue,  1 Aug 2023 11:50:34 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 5030D82855CD;
 Tue,  1 Aug 2023 11:50: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: 8a0748e9-308b-11ee-b25c-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0F1B38285615
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690908635; bh=O0CDEXKqIDdnsT6c++fa+0YtT9ok5dHmC7fBHzW1hdc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=dCtPdWOdKJzuqfNh8AmUcTG/EeZ5h3/fG4LjPiJlPGAOx0+R8rYTGtWjckovFgBsn
	 DRPrxRaWMD8wiT+Mhpu+nqvPhHpfIskOJiJesSZVLeGDMBqvmqcXkp0HvjIkIgKpeq
	 75RI3lCpkShe6kC7tNdjFj+4Dq+HqJLGs1F/dUZo=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <56795c25-1b81-32d3-e839-a3331c1922a4@raptorengineering.com>
Date: Tue, 1 Aug 2023 11:50:33 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] common: move simple_strto{,u}l{,l}() to lib/
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <4ba63342-6200-1f76-bf63-8df62e8955a4@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <4ba63342-6200-1f76-bf63-8df62e8955a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 5:34 AM, Jan Beulich wrote:
> Convert style from a Xen/Linux mix to pure Xen while doing the move. No
> other changes, despite having been heavily tempted to do some - at the
> very least to make simple_strtoul() and simple_strtoull() the same in
> how they deal with non-numeric digits.
> 
> Requested-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Further changes I was considering:
> - "value" doesn't need to be unsigned long, and even less so unsigned
>   long long,
> - strtoull.c could simply include strtoul.c, after #define-ing "long"
>   to "long long" and "simple_strtoul" to "simple_strtoull",
> - "else if ( base == 16 )" wants folding with its inner if().
> 
> --- a/xen/common/vsprintf.c
> +++ b/xen/common/vsprintf.c
> @@ -24,108 +24,6 @@
>  #include <asm/div64.h>
>  #include <asm/page.h>
>  
> -/**
> - * simple_strtoul - convert a string to an unsigned long
> - * @cp: The start of the string
> - * @endp: A pointer to the end of the parsed string will be placed here
> - * @base: The number base to use
> - */
> -unsigned long simple_strtoul(
> -    const char *cp, const char **endp, unsigned int base)
> -{
> -    unsigned long result = 0,value;
> -
> -    if (!base) {
> -        base = 10;
> -        if (*cp == '0') {
> -            base = 8;
> -            cp++;
> -            if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {
> -                cp++;
> -                base = 16;
> -            }
> -        }
> -    } else if (base == 16) {
> -        if (cp[0] == '0' && toupper(cp[1]) == 'X')
> -            cp += 2;
> -    }
> -    while (isxdigit(*cp) &&
> -           (value = isdigit(*cp) ? *cp-'0' : toupper(*cp)-'A'+10) < base) {
> -        result = result*base + value;
> -        cp++;
> -    }
> -    if (endp)
> -        *endp = cp;
> -    return result;
> -}
> -
> -EXPORT_SYMBOL(simple_strtoul);
> -
> -/**
> - * simple_strtol - convert a string to a signed long
> - * @cp: The start of the string
> - * @endp: A pointer to the end of the parsed string will be placed here
> - * @base: The number base to use
> - */
> -long simple_strtol(const char *cp, const char **endp, unsigned int base)
> -{
> -    if(*cp=='-')
> -        return -simple_strtoul(cp+1,endp,base);
> -    return simple_strtoul(cp,endp,base);
> -}
> -
> -EXPORT_SYMBOL(simple_strtol);
> -
> -/**
> - * simple_strtoull - convert a string to an unsigned long long
> - * @cp: The start of the string
> - * @endp: A pointer to the end of the parsed string will be placed here
> - * @base: The number base to use
> - */
> -unsigned long long simple_strtoull(
> -    const char *cp, const char **endp, unsigned int base)
> -{
> -    unsigned long long result = 0,value;
> -
> -    if (!base) {
> -        base = 10;
> -        if (*cp == '0') {
> -            base = 8;
> -            cp++;
> -            if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {
> -                cp++;
> -                base = 16;
> -            }
> -        }
> -    } else if (base == 16) {
> -        if (cp[0] == '0' && toupper(cp[1]) == 'X')
> -            cp += 2;
> -    }
> -    while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp)
> -                                                               ? toupper(*cp) : *cp)-'A'+10) < base) {
> -        result = result*base + value;
> -        cp++;
> -    }
> -    if (endp)
> -        *endp = cp;
> -    return result;
> -}
> -
> -EXPORT_SYMBOL(simple_strtoull);
> -
> -/**
> - * simple_strtoll - convert a string to a signed long long
> - * @cp: The start of the string
> - * @endp: A pointer to the end of the parsed string will be placed here
> - * @base: The number base to use
> - */
> -long long simple_strtoll(const char *cp,const char **endp,unsigned int base)
> -{
> -    if(*cp=='-')
> -        return -simple_strtoull(cp+1,endp,base);
> -    return simple_strtoull(cp,endp,base);
> -}
> -
>  static int skip_atoi(const char **s)
>  {
>      int i=0;
> --- a/xen/lib/Makefile
> +++ b/xen/lib/Makefile
> @@ -28,6 +28,10 @@ lib-y += strrchr.o
>  lib-y += strsep.o
>  lib-y += strspn.o
>  lib-y += strstr.o
> +lib-y += strtol.o
> +lib-y += strtoll.o
> +lib-y += strtoul.o
> +lib-y += strtoull.o
>  lib-$(CONFIG_X86) += xxhash32.o
>  lib-$(CONFIG_X86) += xxhash64.o
>  
> --- /dev/null
> +++ b/xen/lib/strtol.c
> @@ -0,0 +1,28 @@
> +/*
> + *  Copyright (C) 1991, 1992  Linus Torvalds
> + */
> +
> +#include <xen/lib.h>
> +
> +/**
> + * simple_strtol - convert a string to a signed long
> + * @cp: The start of the string
> + * @endp: A pointer to the end of the parsed string will be placed here
> + * @base: The number base to use
> + */
> +long simple_strtol(const char *cp, const char **endp, unsigned int base)
> +{
> +    if ( *cp == '-' )
> +        return -simple_strtoul(cp + 1, endp, base);
> +    return simple_strtoul(cp, endp, base);
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --- /dev/null
> +++ b/xen/lib/strtoll.c
> @@ -0,0 +1,28 @@
> +/*
> + *  Copyright (C) 1991, 1992  Linus Torvalds
> + */
> +
> +#include <xen/lib.h>
> +
> +/**
> + * simple_strtoll - convert a string to a signed long long
> + * @cp: The start of the string
> + * @endp: A pointer to the end of the parsed string will be placed here
> + * @base: The number base to use
> + */
> +long long simple_strtoll(const char *cp, const char **endp, unsigned int base)
> +{
> +    if ( *cp == '-' )
> +        return -simple_strtoull(cp + 1, endp, base);
> +    return simple_strtoull(cp, endp, base);
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --- /dev/null
> +++ b/xen/lib/strtoul.c
> @@ -0,0 +1,61 @@
> +/*
> + *  Copyright (C) 1991, 1992  Linus Torvalds
> + */
> +
> +#include <xen/ctype.h>
> +#include <xen/lib.h>
> +
> +/**
> + * simple_strtoul - convert a string to an unsigned long
> + * @cp: The start of the string
> + * @endp: A pointer to the end of the parsed string will be placed here
> + * @base: The number base to use
> + */
> +unsigned long simple_strtoul(
> +    const char *cp, const char **endp, unsigned int base)
> +{
> +    unsigned long result = 0, value;
> +
> +    if ( !base )
> +    {
> +        base = 10;
> +        if ( *cp == '0' )
> +        {
> +            base = 8;
> +            cp++;
> +            if ( (toupper(*cp) == 'X') && isxdigit(cp[1]) )
> +            {
> +                cp++;
> +                base = 16;
> +            }
> +        }
> +    }
> +    else if ( base == 16 )
> +    {
> +        if ( cp[0] == '0' && toupper(cp[1]) == 'X' )
> +            cp += 2;
> +    }
> +
> +    while ( isxdigit(*cp) &&
> +            (value = isdigit(*cp) ? *cp - '0'
> +                                  : toupper(*cp) - 'A' + 10) < base )
> +    {
> +        result = result * base + value;
> +        cp++;
> +    }
> +
> +    if ( endp )
> +        *endp = cp;
> +
> +    return result;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --- /dev/null
> +++ b/xen/lib/strtoull.c
> @@ -0,0 +1,62 @@
> +/*
> + *  Copyright (C) 1991, 1992  Linus Torvalds
> + */
> +
> +#include <xen/ctype.h>
> +#include <xen/lib.h>
> +
> +/**
> + * simple_strtoull - convert a string to an unsigned long long
> + * @cp: The start of the string
> + * @endp: A pointer to the end of the parsed string will be placed here
> + * @base: The number base to use
> + */
> +unsigned long long simple_strtoull(
> +    const char *cp, const char **endp, unsigned int base)
> +{
> +    unsigned long long result = 0, value;
> +
> +    if ( !base )
> +    {
> +        base = 10;
> +        if ( *cp == '0' )
> +        {
> +            base = 8;
> +            cp++;
> +            if ( (toupper(*cp) == 'X') && isxdigit(cp[1]) )
> +            {
> +                cp++;
> +                base = 16;
> +            }
> +        }
> +    }
> +    else if ( base == 16 )
> +    {
> +        if ( cp[0] == '0' && toupper(cp[1]) == 'X' )
> +            cp += 2;
> +    }
> +
> +    while ( isxdigit(*cp) &&
> +            (value = isdigit(*cp) ? *cp - '0'
> +                                  : (islower(*cp) ? toupper(*cp)
> +                                                  : *cp) - 'A' + 10) < base )
> +    {
> +        result = result * base + value;
> +        cp++;
> +    }
> +
> +    if ( endp )
> +        *endp = cp;
> +
> +    return result;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Reviewed-by: Shawn Anastasio <sanastasio@raptorengineering.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 17:06:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 17:06:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574446.899705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQsop-0008FW-OG; Tue, 01 Aug 2023 17:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574446.899705; Tue, 01 Aug 2023 17: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 1qQsop-0008FP-Le; Tue, 01 Aug 2023 17:05:59 +0000
Received: by outflank-mailman (input) for mailman id 574446;
 Tue, 01 Aug 2023 17: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=Jaq7=DS=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qQsoo-0008FJ-RK
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 17:05:58 +0000
Received: from frasgout13.his.huawei.com
 (ecs-14-137-139-46.compute.hwclouds-dns.com [14.137.139.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad73914e-308d-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 19:05:56 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.227])
 by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4RFh6D0F8tz9yMKx
 for <xen-devel@lists.xenproject.org>; Wed,  2 Aug 2023 00:54:28 +0800 (CST)
Received: from [10.81.206.119] (unknown [10.81.206.119])
 by APP1 (Coremail) with SMTP id LxC2BwAn2bg5O8lkq2QeAA--.14915S2;
 Tue, 01 Aug 2023 18:05:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad73914e-308d-11ee-b25c-6b7b168915f2
Message-ID: <56be3268-60ee-a496-4781-a59ce34bfca8@huaweicloud.com>
Date: Tue, 1 Aug 2023 19:04:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 0/9] Allow dynamic allocation of software IO TLB bounce
 buffers
Content-Language: en-US
To: Christoph Hellwig <hch@lst.de>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Russell King <linux@armlinux.org.uk>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
 "H. Peter Anvin" <hpa@zytor.com>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Robin Murphy <robin.murphy@arm.com>, Christoph Lameter <cl@linux.com>,
 Pekka Enberg <penberg@kernel.org>, David Rientjes <rientjes@google.com>,
 Joonsoo Kim <iamjoonsoo.kim@lge.com>,
 Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 Hyeonggon Yoo <42.hyeyoo@gmail.com>,
 Petr Tesarik <petr.tesarik.ext@huawei.com>, Jonathan Corbet
 <corbet@lwn.net>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Hans de Goede <hdegoede@redhat.com>, James Seo <james@equiv.tech>,
 James Clark <james.clark@arm.com>, Kees Cook <keescook@chromium.org>,
 "moderated list:XEN HYPERVISOR ARM" <xen-devel@lists.xenproject.org>,
 "moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
 open list <linux-kernel@vger.kernel.org>,
 "open list:MIPS" <linux-mips@vger.kernel.org>,
 "open list:XEN SWIOTLB SUBSYSTEM" <iommu@lists.linux.dev>,
 "open list:SLAB ALLOCATOR" <linux-mm@kvack.org>,
 Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
 <20230801160339.GB13111@lst.de>
From: Petr Tesarik <petrtesarik@huaweicloud.com>
In-Reply-To: <20230801160339.GB13111@lst.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-CM-TRANSID:LxC2BwAn2bg5O8lkq2QeAA--.14915S2
X-Coremail-Antispam: 1UD129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73
	VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjp_UUUY77AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E
	6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28Cjx
	kF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8I
	cVCY1x0267AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIE14v26F4j6r4UJwA2z4x0Y4vEx4A2js
	IEc7CjxVAFwI0_Cr1j6rxdM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE
	6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72
	CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4II
	rI8v6xkF7I0E8cxan2IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r
	4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF
	67AKxVWrXVW8Jr1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6x
	IIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6rW3Jr0E3s1lIxAI
	cVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x0267AKxVWxJr0_GcJvcSsGvfC2Kf
	nxnUUI43ZEXa7VUbJ73DUUUUU==
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

On 8/1/2023 6:03 PM, Christoph Hellwig wrote:
> Thanks,
> 
> I've applied this to a new swiotlb-dynamic branch that I'll pull into
> the dma-mapping for-next tree.

Thank you.

I guess I can prepare some follow-up series now. ;-)

Petr T



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 17:16:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 17:16:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574450.899716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQsyi-0001Kk-N7; Tue, 01 Aug 2023 17:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574450.899716; Tue, 01 Aug 2023 17:16:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQsyi-0001Kd-J3; Tue, 01 Aug 2023 17:16:12 +0000
Received: by outflank-mailman (input) for mailman id 574450;
 Tue, 01 Aug 2023 17: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQsyh-0001KX-E7
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 17:16:11 +0000
Received: from mgamail.intel.com (unknown [192.55.52.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19060a7c-308f-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 19:16:07 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 10:09:56 -0700
Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14])
 by orsmga003.jf.intel.com with ESMTP; 01 Aug 2023 10:09:43 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 10:09:39 -0700
Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by
 ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 10:09:38 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Tue, 1 Aug 2023 10:09:38 -0700
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Tue, 1 Aug 2023 10:09:38 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SN7PR11MB6827.namprd11.prod.outlook.com (2603:10b6:806:2a2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Tue, 1 Aug
 2023 17:09:35 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.043; Tue, 1 Aug 2023
 17:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19060a7c-308f-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690910167; x=1722446167;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=+CCVzjLnbeSNysyEXz6yi7nFGWkI9dBZ7iOSmBeOerw=;
  b=NaiPaHnRpeayRFpt8Y3gMKnGyAjk6rHDSbtYcMH4ECwVZ8vWrtsdjQL7
   i98ig4UQGiOUQ2Az+CYP6Zv9oH36pL8uV4PwgjAJAkdCd6zll8t7pOqFR
   hRJcJABhcg7htllFldGvFolENqtv4ZW3quhPd2IJSOM2oAfrAr8WTpsnl
   0CCFrcexyTTLDjB01bES5smlTdBOkiVqTb9KfyuHr8CDBbHFS+O66Z1OA
   ml7pcSxKfcZ3gaof4KjyLxvPjAn9sjrLM5jf1G+SKsDRj/QyrTLO9gzmL
   6eAbTb5MXjn2mvdWPDkawYKOdJDjbcLZXaFQD7A62zAPGJvLWcxnMzJXX
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="400307989"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="400307989"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="678730789"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="678730789"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mkCF/TeNkhevV1YALkTdsTqyojOTIoA9Udt5KouUzmStgo5TFsZtoryW7UIXCsyS4osT/JIuW+iZ4fiWt4WGFwDS35E2vFkGhsd5OO3c5SRWSGTzIAmlpDDG2n74lmIuC+lW8Ptyeg5uDxB2o7E6XeVV06YjF9wPv9CTg970KuccEuQT2llJtMNJt00lTN/KroFyS4AHTQ1nlox9WYtnYRLm540gS4pdaeTY3IlQtc9Phi4ixeqNYaa0ONDpXXCG3a4ukmI61wBxgTSohqu1tE1jY+GvG64Y/T/DehwDKOkXf9SNI+PWQdxMbhgJHNImX2MjWejkhu6hxjYKFd3/3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+CCVzjLnbeSNysyEXz6yi7nFGWkI9dBZ7iOSmBeOerw=;
 b=D3NPIsmaepn+W2gRk4wDV7WsarTPyBYJb7IqBfkaY76bSROZUXlp2+a6nCN3bhB7DTPPE8l2qAp/jZG4ZRhNDLlZGIU/e/skhwknLLaWYanYu+g8iAWPQAxm511bcvat/++vVAXsOmY8jGzk+KjnIR5T0+tUvYuT1owkcFskop6wjJHi619trZmQKCKRUEILhZkEzIuUfjS+IpY7ykjAf1U77fiRfvmXi0cJyU8zUT03zM2u8H4iXbQTTZ0FOQsLul9uOYfGZM4Z1clhcdkYnYDGytZ1DlKaaXY5p1JIIoLKM5J+czSxXsKIpRk6rCwGOIh68CE79OT3NdFyNpSpcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Jonathan Corbet <corbet@lwn.net>, "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" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	"Lutomirski, Andy" <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, "Luck,
 Tony" <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, "Cui,
 Dexuan" <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, "Wanpeng
 Li" <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
	"Christopherson,, Sean" <seanjc@google.com>, "Gross, Jurgen"
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>, Josh Poimboeuf
	<jpoimboe@kernel.org>, "Paul E . McKenney" <paulmck@kernel.org>, "Catalin
 Marinas" <catalin.marinas@arm.com>, Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>, Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Liam R . Howlett"
	<Liam.Howlett@oracle.com>, Sebastian Reichel
	<sebastian.reichel@collabora.com>, "Kirill A . Shutemov"
	<kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger
	<babu.moger@amd.com>, Jim Mattson <jmattson@google.com>, Sandipan Das
	<sandipan.das@amd.com>, Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede
	<hdegoede@redhat.com>, "Chatre, Reinette" <reinette.chatre@intel.com>,
	"Daniel Sneddon" <daniel.sneddon@linux.intel.com>, Breno Leitao
	<leitao@debian.org>, Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst
	<brgerst@gmail.com>, "Sami Tolvanen" <samitolvanen@google.com>, Alexander
 Potapenko <glider@google.com>, Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>, "Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>, Masami Hiramatsu <mhiramat@kernel.org>,
	"Masahiro Yamada" <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, "Li,
 Fei1" <fei1.li@intel.com>, Conghui <conghui.chen@intel.com>, "Raj, Ashok"
	<ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, Mark Rutland
	<mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, "Jiapeng
 Chong" <jiapeng.chong@linux.alibaba.com>, Jane Malalane
	<jane.malalane@citrix.com>, "Woodhouse, David" <dwmw@amazon.co.uk>,
	"Ostrovsky, Boris" <boris.ostrovsky@oracle.com>, Arnaldo Carvalho de Melo
	<acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Subject: RE: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Thread-Topic: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Thread-Index: AQHZxFK8XA18LlhFCECR8aoFrmHwB6/VQ+oAgABgJaA=
Date: Tue, 1 Aug 2023 17:09:35 +0000
Message-ID: <SA1PR11MB6734532B586E631CE59DD1D1A80AA@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
 <20230801105236.GB79828@hirez.programming.kicks-ass.net>
In-Reply-To: <20230801105236.GB79828@hirez.programming.kicks-ass.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SN7PR11MB6827:EE_
x-ms-office365-filtering-correlation-id: bf9786ca-6ce3-4e4f-68d8-08db92b214c9
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: CDKQ0TjGJh/7/cVvM+pqz1HbOAdr5D2EtjMzX1Gx2Vi5AfP0mN/JUocX2BTFvTQLpZG7nDkBUEqyQYAAGI2l/SN7kKCGgYTRnwA7Kdd4mvqiGSInh8xE2AIFNWr5SPJy2EjUYiD1lFBEQb130JvD4Mjht6WUqRpXA1vDQoSJ0vhW7FC/j6WhIiSBFUEviCRWqB9WoYo/l1kEfX7FW7stNtZHvnkfS/qXNv84H/9V6K0yc+6wa2fm1v8AP2mcsGKF5euS+srWr24YfLb1cgsB8USI4HHlShimvUeFshzxcMeXzz7fbg2YuzZzo7kWZSOT+WNKKh4uR31wk2FIqt0tQY0QPW1MvXbsZz/i7vqWq2TxWfs0hT9MphjZAeh2DJuu/GqLExiIBd9OQ3TkoULzC+ZTG/f/gYOPWTjVdXcapz3FkdsPiG6VXNi5b4y5FFYaGmCrt+9Uyb7f+e4f2hKWaQUJ/Z0TV/RagM2I/XD4Q2TKh927AX8B30ZDjLS8LFqWU+s5J6hI647m9CG89Pil3znLv1r5kv7TTxGNzgmHgqE3l4jjVm8fe6RSV7wlMWBHOFJ4UxgaJjKpRZ0BzZLQFT2/HzKXEH9dmeDCLQeGkjtsK0GSc6+S3AD3+K1WZsPX
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(376002)(346002)(39860400002)(451199021)(478600001)(38100700002)(82960400001)(122000001)(55016003)(86362001)(33656002)(38070700005)(9686003)(7696005)(71200400001)(7416002)(186003)(8676002)(26005)(8936002)(6506007)(7406005)(5660300002)(76116006)(7366002)(52536014)(2906002)(4326008)(66446008)(66556008)(64756008)(6916009)(66946007)(66476007)(54906003)(41300700001)(316002)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?81Tp7M1Ra2r7Mk/hI8OqMUQD86NtOytB/N1LDRFjK4VO5A6Tmqt58QWm+DNX?=
 =?us-ascii?Q?ncwjOAgmEANPbQsvM6qvlfSnCIRhvxWpIrNMtRQ7v6SDJv9XR7cjscMn8N4W?=
 =?us-ascii?Q?3v6iUSY2VHDiKHHhy+zWLAZbh9jjpflAryi/1MIBztyq0v5/LhrpAZ/Fevp1?=
 =?us-ascii?Q?sxTMVAcm7A1tjB5QmBX2xe5QIuH9KtRdYPTXD80nN3WiGJUFuc1wpyyWuYlt?=
 =?us-ascii?Q?nKuMYZDWXnUmCViHFM0t9gS9okT1LJK6l3tq+NXmP0rXtxT6aWctvRpQtC5S?=
 =?us-ascii?Q?WHcNFwEx2xkw2fX/mTJMeOZterP3BNcdcRlcG7Q2xwr5f7UsC31ajfjE4qBE?=
 =?us-ascii?Q?ox72dkKunRiCWtPLfhsG3K1wVU+lLelFEmDTNojdLFjrmmDP3Va0nyI1yley?=
 =?us-ascii?Q?IQTlUduKi/WByOo6QAQtTG4DgfMHUfXVc9ZqpSHizZzfQHmHqvtkGCw7QsDG?=
 =?us-ascii?Q?ggnrka5KPKvLGG2NtYxcdGzJUWJcS8mGJKGS4GkGZLOyMLXJ3M1AwITAyLBV?=
 =?us-ascii?Q?V1LGjgCyRsMO2NOpZFZ81QMz8iPEFu0Ji82WfAqh+5cr8x57UyTlDyoujX5V?=
 =?us-ascii?Q?BccV2rjNm436169kADd4aHNwcXOZFPkKSO0xGcq8cQ0A5cnKKxg8t+hvCE3T?=
 =?us-ascii?Q?BBi+CBLaXooEnk4wdLsX43Hk0aAnsdFnJz7MNP55BPD/RNKMpJZfDjqw60X9?=
 =?us-ascii?Q?Qk1pnlcSiUJ6KwlF8g/GRxv2IUfyBels5tvyMPzOac9UmvKSa57pFbzJ+61v?=
 =?us-ascii?Q?uC+aSpU3ZjUNKWsixaxgw24EtMjpgFA7S/MRCRm9PeI6efEubftgRpwToumd?=
 =?us-ascii?Q?PXiE1wD0oBMFa1eq09KG3HQZFA3OASj2iYb6UbRbRszkQZo5lfh4xScCqshK?=
 =?us-ascii?Q?9bxo+92dvyyQEB9Q9Bo+vArHsAMlJMAMFxvM7+jC7WQN1kNPFDRqwG8Wsld6?=
 =?us-ascii?Q?1lcvhidq19e/+DcMyIhGdXLaOKjZKHDFdBIwNMMhbHJEHPIVxXw5nydvWDoW?=
 =?us-ascii?Q?R2IBra0+Vr+ToNElPRe1AC/cXx5XkZQLIsZsOY68pRdesLEGNXpbrHubFI9v?=
 =?us-ascii?Q?VZXodzZ5zBJvruHH7JcFmf641qKLYVlH0VE1R4Aj8T+5Ru46q/oQBfKYdXOT?=
 =?us-ascii?Q?t1gp3XYcHZfBio4zWJNYdIo5AdkXIpzuXztZsF61e1hmq3bCyI/VO2cjkPY0?=
 =?us-ascii?Q?WfRg6Otzupp8axwCAT+qAPLpBJDUUgCviGrjN0IgSeyadVW43M5p6Ul2Edlp?=
 =?us-ascii?Q?FS/0Iip2r/i61WFADtCVL7ebirqQIzdlePzPGhHdhxwxuGjyHLhEFctmA3Ao?=
 =?us-ascii?Q?p96at9KyjsIPNM+3VJI6Rydiz650kNb7jgbLhF1THKxaaZaqibklvwd2em0c?=
 =?us-ascii?Q?6vlSN+2Jb2bGpNSeu+GEXTw5FPnSH305Oy9HiCL12gMSDsZ9TUgz8ogS2CXf?=
 =?us-ascii?Q?RwgLaKy5tG/CP6/DOObNvAGRo9rjrtrukFgxDl0rdpYWw5JdFSOXoim4qpIk?=
 =?us-ascii?Q?qJo5Rgmn+i2KCPth9odVnamVKNHd2fXaB9i3kccf+DqUPiIXKMIU9r48bYfi?=
 =?us-ascii?Q?2oP9NNwXK14SuEpWbIQ=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf9786ca-6ce3-4e4f-68d8-08db92b214c9
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2023 17:09:35.3481
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dz4UjiirvuvXZbLrF9Wf+pNK1IwNG9f98n0EuAQ9Srl+HrTQFnxuOMeSLtsM1hpe7/6aQDL/a8rzB42L96M0Uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6827
X-OriginatorOrg: intel.com

> > Resend because the mail system failed to deliver some messages yesterda=
y.
>=20
> The one from yesterday came in 6 thread groups: 0-25, 26, 27, 28, 29, 30-=
36,
> while the one from today comes in 2 thread groups: 0-26, 27-36. Which I
> suppose one can count as an improvement :/

Sigh, sorry for the chaos.

>
> Seriously, it should not be hard to send 36 patches in a single thread.

No, but it worked fine before thus I didn't realize there an email
service policy which prevents sending email to too many recipients
in a short period (I have a long CC list in this v9 patch set).

> I see you're trying to send through the regular corporate email
> trainwreck; do you have a linux.intel.com account? Or really anything
> else besides intel.com? You can try sending the series to yourself to
> see if it arrives correctly as a whole before sending it out to the list
> again.

I did try sending to myself before to LKML, and it worked fine. But
now you know why it happened.

As mentioned, I should avoid "the regular corporate email trainwreck"
before doing it again. Working on it...


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 17:41:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 17:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574455.899725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtNS-0004hh-Nu; Tue, 01 Aug 2023 17:41:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574455.899725; Tue, 01 Aug 2023 17:41:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtNS-0004ha-K3; Tue, 01 Aug 2023 17:41:46 +0000
Received: by outflank-mailman (input) for mailman id 574455;
 Tue, 01 Aug 2023 17:41: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=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQtNQ-0004hU-DQ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 17:41:44 +0000
Received: from mgamail.intel.com (unknown [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab53decd-3092-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 19:41:41 +0200 (CEST)
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 10:41:37 -0700
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by fmsmga004.fm.intel.com with ESMTP; 01 Aug 2023 10:41:37 -0700
Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 10:41:36 -0700
Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by
 fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 10:41:36 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Tue, 1 Aug 2023 10:41:36 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.172)
 by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Tue, 1 Aug 2023 10:41:36 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by CO1PR11MB5027.namprd11.prod.outlook.com (2603:10b6:303:9d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.40; Tue, 1 Aug
 2023 17:41:32 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.043; Tue, 1 Aug 2023
 17:41: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: ab53decd-3092-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690911701; x=1722447701;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qS4CPA9EKW0OJfbbVJ1lseYCR6nfbdaDN/hUHotm144=;
  b=EsITI6D3wObpHectKQcbgkv6sZVwRu24fFdDQ62R/v5+6h+jcTfbpNpU
   TFNdV/GDddW5CuJJX3F+eIGP3dO/cBu82tl+ZWqoatFvM7K5r1Nz6Pp5R
   08WSD8O50oIgsA/bYWeVP8Rcbb6VhslXsQ0Tdip5GypJT0lU3fmEd/azj
   meWltgHmnfOWl7chQu2c6FD45E+9e9Y55lWo71STTDT6iAftUhlmQY1xk
   S1h17LhReIBY3OvRvK8oMptOq8Jp1DvKODVDMDFkioV/9KaFJEvO7REox
   /LiKrkqfx7qwkEcU/Y+LSk5A82X1qITstaPlFKNwHTUMQGWJduP20M7K/
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="455741882"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="455741882"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="798769997"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="798769997"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WwlyRzHtPWPBWGy8ggnGXWwtcrp8MX+Xf1eokRZNd4nAt1o6ipc44ZvEvAkl7YETGQVtvbbVW3050FLPH+zvbdjlXMs7YmqCE+n7AJe5sVTDJoufe21b6tTRUR8wUNo1uyAZVeM/c4nyaRTJJnFXOHJ8/gbIdYY7roS1XxW7gZZioNkk13HzMMDIZYDS/S5hQAuLNlwg82l9Q61r1OiSR+dXf+efQMbV+5z9yb+FnudPM/0VdZyatRBsn8+911E5DLq3n0xmzsoG96/Hfz2s4ncejFsRWCcO2v5DpBOdQBWy45P78tgASpo0/NglAXnKJV/wuC+vDLNY/1hfYpRLQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/oGFI5LY6O1zy/8NOdL5CXeIwuqJxl0Y5UaYhyX0+40=;
 b=HzIbP6eKwQE8AZmyUY533nfBewWcmY1wPA3r+3SyVBdm/hhEffA6OeV/v3Qfth/uEXqmdJ7RVs28m80cyEQbV3YPz09lS2T9RqONhfcqWsHow3m9Cb6m9qempvxwZsCjaHYDycfE3sOSoZ6G2rtoMN7brYMk35sYVzu2Q530hcg9k3Ia/os2ZRg2V6mVrLT2vb/MfNApYKAdD8smK2ONGF/6jA+YM9iQzuBc9GyjfWLxP14NNi1Tt70+3EaY1Cc0UXIu4gLJRuBt5i89zyU5vXyvmERZg4mydGCQGDAo4QT1cjQns97bDbO3nciM+EXSoIKFOgpxrw/+v1vYrj0dMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Jonathan Corbet <corbet@lwn.net>, "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" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	"Lutomirski, Andy" <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, "Luck,
 Tony" <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, "Cui,
 Dexuan" <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, "Wanpeng
 Li" <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
	"Christopherson,, Sean" <seanjc@google.com>, "Gross, Jurgen"
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>, Josh Poimboeuf
	<jpoimboe@kernel.org>, "Paul E . McKenney" <paulmck@kernel.org>, "Catalin
 Marinas" <catalin.marinas@arm.com>, Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>, Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Liam R . Howlett"
	<Liam.Howlett@oracle.com>, Sebastian Reichel
	<sebastian.reichel@collabora.com>, "Kirill A . Shutemov"
	<kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger
	<babu.moger@amd.com>, Jim Mattson <jmattson@google.com>, Sandipan Das
	<sandipan.das@amd.com>, Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede
	<hdegoede@redhat.com>, "Chatre, Reinette" <reinette.chatre@intel.com>,
	"Daniel Sneddon" <daniel.sneddon@linux.intel.com>, Breno Leitao
	<leitao@debian.org>, Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst
	<brgerst@gmail.com>, "Sami Tolvanen" <samitolvanen@google.com>, Alexander
 Potapenko <glider@google.com>, Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>, "Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>, Masami Hiramatsu <mhiramat@kernel.org>,
	"Masahiro Yamada" <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, "Li,
 Fei1" <fei1.li@intel.com>, Conghui <conghui.chen@intel.com>, "Raj, Ashok"
	<ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, Mark Rutland
	<mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, "Jiapeng
 Chong" <jiapeng.chong@linux.alibaba.com>, Jane Malalane
	<jane.malalane@citrix.com>, "Woodhouse, David" <dwmw@amazon.co.uk>,
	"Ostrovsky, Boris" <boris.ostrovsky@oracle.com>, Arnaldo Carvalho de Melo
	<acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Subject: RE: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Thread-Topic: [PATCH RESEND v9 00/36] x86: enable FRED for x86-64
Thread-Index: AQHZxFK8XA18LlhFCECR8aoFrmHwB6/VQ+oAgAAkVwCAAExQ8A==
Date: Tue, 1 Aug 2023 17:41:32 +0000
Message-ID: <SA1PR11MB67343841FFBAB71F005B0440A80AA@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230801083318.8363-1-xin3.li@intel.com>
 <20230801105236.GB79828@hirez.programming.kicks-ass.net>
 <20230801130240.GA80967@hirez.programming.kicks-ass.net>
In-Reply-To: <20230801130240.GA80967@hirez.programming.kicks-ass.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|CO1PR11MB5027:EE_
x-ms-office365-filtering-correlation-id: 816e65fe-dfe9-4a81-1eb4-08db92b68b91
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: hbZBEgrMrSkukRlhRInro59naLc8vtW89qNg99W/JoEDrg1vZPjqBg/u4FEzRpbdt5HO9n3YhZ+s60rOGWaeJ4JvOlhgRK+NI7ATnneSDZB4P8FcKWam+yYn+En8JNkDAbgqyuyC8QakgKIZA+D2KeDhu2oDW8/ROyrASOQ0qZPC4SM/XL86ffPCul1P99rEXmh2yIGFw4NmyzfwsB53noi5Oztj+ERI1eXQioteUH1Dx9amYk7hAuohNJvRuAPS/Cw/Nn0Wsv8Gq4/j6OJz+tfFCoQdTVI6HdhBphRkuxsen359RArg0aFjQNikQGKVaAdBoZrM6xLtq+9olf4YyDzbCu8Qf5nAnAKU8owMWW0g0sICXRfQ4E9HnBu0TCHEeVybq3g3jaCItPv+dzkyu68aba2LVGF2V+0gcweu8WMWQl8erzUZy8WRgvZ/cZ7GRPjhmkB6xHaMyER/roQfGUOdqQYe8SGUUIDsj2CsdtdJR5qYu30cretfK62yJ1S/V0dF38SEyrrokSZlroSm70S6Xs6cLk2XOaUSqe3FCFdx1vubUU8nImxh+1JwOHanjOveg9TNGYl4WfBQYGv2UmadFzty42nWii5hQE4E0dI=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(396003)(39860400002)(366004)(346002)(451199021)(38100700002)(66476007)(86362001)(316002)(8676002)(8936002)(64756008)(5660300002)(66446008)(4326008)(6916009)(41300700001)(54906003)(7416002)(7366002)(122000001)(33656002)(52536014)(76116006)(66946007)(66556008)(82960400001)(7406005)(38070700005)(478600001)(4744005)(2906002)(71200400001)(966005)(9686003)(7696005)(6506007)(26005)(186003)(55016003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9S376hmpo4BhJC85NLrvpSb+4HNunXLP+7Y/90z2sNCXPaYTJCGYBVP69XP3?=
 =?us-ascii?Q?R38CnDhUy12iDryXj356vd70qWLvkFEPPnKs9QSXPMeQn9e1+2KDwqV5q1Ad?=
 =?us-ascii?Q?UDxSob9WX8WY5Rtl5bQxzb8q43+ay5YjBdtj76fpa8ly1YR79IVBcSwzkpAC?=
 =?us-ascii?Q?ONS0Wt7DqTJVkYUCmW45kipLv/LJEt/VplBKs4VRqiKojV+gFelT8ruP5nju?=
 =?us-ascii?Q?nnf5u+xEQPYQC7ARPBaHqo67gm41GaHZOmBAXDSMqrJkK15mVHhsHS8Q1RcJ?=
 =?us-ascii?Q?9R8DdjEl7GpIFZGQT+UQ6glJDwBAjckQLOFcdegodVfGebaP9eJF0kpni/1I?=
 =?us-ascii?Q?TxkRJCJTi32sMkOsW+MDfkvrCLGohEBY5TiR+5Dd4gofRICcWePlLVn8eK76?=
 =?us-ascii?Q?6VEaCKB+Uo/ItV6nsCtMBinmbMpiYwUs2m6Va1RrhpSpUnKw+II8QMMD+Slv?=
 =?us-ascii?Q?qNZoVjjTb+Gaj8rUaMOevgnXQ46B2zEGomEFpRVrw0VIoQ+sojxKTqfshlJB?=
 =?us-ascii?Q?3xLN4uYWs5jdDjENcukBUdQXmmtkq4AWnYiXUZ9JZBo/dE3dYIve6PWU6U/G?=
 =?us-ascii?Q?JoGzKouwiw/GrEo08HPIsaDkguQnlTgeNW1BypWbTfs5uS+pLoVwgosokYg2?=
 =?us-ascii?Q?eaHu7sk+9s7T9eQSBLZCjSQ7YNvm5oSJiMmBAV77CTZTRTRxtiMY4Y2e6h4M?=
 =?us-ascii?Q?tWHJkxUT2TMBpHX8bp8IMbTv0tzcTSJQG8ZCgHdnQzZudDK0/9g1ZTGziQiL?=
 =?us-ascii?Q?mOPoWDyiAcqbAu1Mxa54pTkvbdivC5ItrM7AQvQt0TG6Cc/Bgg2ZIYV3ZgGK?=
 =?us-ascii?Q?YKvRfjt2S5aPMkboAPOv2U3CZTAHmkyXHKZpqPz+ulJ5sZHaB3BB3rGPLcl5?=
 =?us-ascii?Q?ilQ9REuSRMtvNsq/JFBqm2KRd8RYP9GRxuU25ydzTFzcoOV/uxDEf5NFI0jn?=
 =?us-ascii?Q?mVRrXjWMPe+saQ/jDa7+UUS5l5cAHHgLuOHs0P+RuuLBZqKMotgu/acYbUlE?=
 =?us-ascii?Q?UUiVrd2ERZXQFJWhxcr2SpULzLqLe6ik5r1JB0NTnJ7UuCIxDOSgYDQbVqYm?=
 =?us-ascii?Q?EmdfFu/TTfFaBjUmkoecNcArt3qFdhTkBS/CIjcJPCChqHu3WP0K2p28/5WA?=
 =?us-ascii?Q?hSvl68zkyS+e1TkrvKNYXQ6gGiz5I9c6eVFSgdxPB47mtia4F6L+cKf9QxhM?=
 =?us-ascii?Q?/hgaq9FZsNxiEKICf/WTsNBxI3SF5Y7t28bNWGghrCMEQ/Zdt0Xu1ThATuwp?=
 =?us-ascii?Q?Y8V9WxSVmsqHHf3l6P0jVmEx5RXzwLbnjmxRj0agul8u9RaQtfTPVv3rOS+3?=
 =?us-ascii?Q?RA28LWVNpXQZ8hQs229ahH7zwrWqwyKmb13SCjTGTZZIFQeC8sx4TQI4EXn8?=
 =?us-ascii?Q?tDtzWwZWbU/8KFRZ2dLW6QZQGJN+IRFztg6CZB0aBRP5UNYu9sfwYOFkOuOn?=
 =?us-ascii?Q?I8xzAm74L+de8SMApxaOSFrNIJ+0LmJ5Uq4Z3dyzvyMwXOYkQrzqfC7+z/Sr?=
 =?us-ascii?Q?sitm0GKIm9ob3fuTsribPqNmnLDJOkM8J1XMIM300Vn2svzZIuiCVYdC5tc0?=
 =?us-ascii?Q?c5H/mL8qbblKNUsarks=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 816e65fe-dfe9-4a81-1eb4-08db92b68b91
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2023 17:41:32.5745
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Kr0p4GM7rbulXd6menIn/NIkH7YsL0JXwhFRCBBrfmbU0hxYTP9IhCqLJRY2JshGhxJ/9DwLX/odK2AoYSxrYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5027
X-OriginatorOrg: intel.com

> > I also believe there is a kernel.org service for sending patch series,
> > but i'm not sure I remember the details.
>=20
> https://b4.docs.kernel.org/en/latest/contributor/send.html

It says:
The kernel.org endpoint can only be used for kernel.org-hosted projects.
If there are no recognized mailing lists in the to/cc headers, then the
submission will be rejected.

If I want to test the email sending service, how could I test it with sendi=
ng
just to myself?  Maybe it allows only sending to the sender.



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 17:49:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 17:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574460.899736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtV5-0005P7-Kk; Tue, 01 Aug 2023 17:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574460.899736; Tue, 01 Aug 2023 17:49:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtV5-0005P0-ID; Tue, 01 Aug 2023 17:49:39 +0000
Received: by outflank-mailman (input) for mailman id 574460;
 Tue, 01 Aug 2023 17:49: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=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQtV4-0005Ou-HJ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 17:49:38 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6df2ccf-3093-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 19:49:35 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bb81809ca8so46969665ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 10:49:36 -0700 (PDT)
Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:2cb0::94c8])
 by smtp.gmail.com with ESMTPSA id
 c5-20020a170902c1c500b001b85a4821f8sm5012699plc.276.2023.08.01.10.49.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Aug 2023 10:49: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: c6df2ccf-3093-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690912175; x=1691516975;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=HD89QJtBs0B8JZHVQe5+HG6SdeeQku6GpLIOjBFTcZg=;
        b=FIezstmcY3HMWQdOQPd1AuBW9Iyn2ARm4WhVc602oO/wNpI0MrNjQp4zuaM94Xhm7p
         d/hIQsmzsLHvKFnLwlTTL/R3olmENOAwzeOgTlQSl2HLMmHbFFsJ2b7q6kXPmzP1LEWQ
         SYa1pL3jC3/Beal0bs2hayYQOTjd2GIjF3RLJ21HW2lQwo9vacEG0UPk7CegBjzQIaM7
         7iOxjIM5+ZV68XjBgj9uOEzFJ5Lw4ZX2PKQ+5caTlMmbFsRCy3a3cjqAVUU2gd76NVHG
         vQ9DGao+ZA2eVGVaEbdynMmvjwelkQRW0uBWqZWy05vUh7v58gop6uFEHxSm8e1IJ9Qo
         HKRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690912175; x=1691516975;
        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=HD89QJtBs0B8JZHVQe5+HG6SdeeQku6GpLIOjBFTcZg=;
        b=SLU3ELDxE6Ua5wO+yIXCAPQYn0tA0Z7MVqi4uCRDdnpBqDmlQj8fDGljNb2ttwu5Nn
         V9v0EExVKczzMgGRgQh3pfMWeDcSOPgMZJ0IJlMy5xopNOkpuA9/seK/ycfm4JRYIfxx
         pmWMVldStGxUsRZq/z18AySi6BLC7vxGFtfsNcCA4NBEuHDVie6ACOim0xMcgTnwhlSY
         nwU3JMtuJIB/9od/M7TMgYAot8JRW8NDiNjUIZ5uGC4T6Bgry52zMTIJ5cJy+Mjx+bqU
         tbHCx+820wpfVE0lRsRRFt07t1xEId2WOVNrrjzC+XGb0GtX+SKOnf8UAsCJLmb9cftH
         LclA==
X-Gm-Message-State: ABy/qLYsVDjFUtEej+yW+xc1T3Viv9HvIJ4DmJ+wLYAMvStli2cL4Bu3
	WZGYKMrF1MBSicJ8QJ//7Vq3FGfSGGQk8g==
X-Google-Smtp-Source: APBJJlGm7gIbbgr3MmRCHl5ITFMri5K7SK1TIt3OY5+nDlwX6uOT0xTOzP7+TH3raQZyU8537vnafw==
X-Received: by 2002:a17:902:c947:b0:1bb:ab0d:4f76 with SMTP id i7-20020a170902c94700b001bbab0d4f76mr17561709pla.58.1690912174564;
        Tue, 01 Aug 2023 10:49:34 -0700 (PDT)
From: Khem Raj <raj.khem@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Khem Raj <raj.khem@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2] arm32: Avoid using solaris syntax for .section directive
Date: Tue,  1 Aug 2023 10:49:30 -0700
Message-ID: <20230801174930.2995947-1-raj.khem@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Assembler from binutils 2.41 rejects [1] this syntax

.section "name"[, flags...]

where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]

It is almost like a regression compared to 2.40 or older release,
It likely went unnoticed so far because Linux kernel changed
to GNU syntax already in 5.5, to allow building with Clang's
integrated assembler.

Switch to using GNU syntax

.section name[, "flags"[, @type]]

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
[2] https://sourceware.org/binutils/docs-2.41/as.html#Section

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v1 -> v2:
 - Improvise on commit message
 - Make similar change in xen/arch/arm/dtb.S

 xen/arch/arm/arm32/proc-v7.S | 6 +++---
 xen/arch/arm/dtb.S           | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
index c90a31d80f..6d3d19b873 100644
--- a/xen/arch/arm/arm32/proc-v7.S
+++ b/xen/arch/arm/arm32/proc-v7.S
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc
+        .section .proc.info, "a"
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */
diff --git a/xen/arch/arm/dtb.S b/xen/arch/arm/dtb.S
index c39f3a095c..386f83ba64 100644
--- a/xen/arch/arm/dtb.S
+++ b/xen/arch/arm/dtb.S
@@ -1,3 +1,3 @@
-        .section .dtb,#alloc
+        .section .dtb, "a"
         GLOBAL(_sdtb)
         .incbin CONFIG_DTB_FILE
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 17:52:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 17:52:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574463.899745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtXN-0006of-0V; Tue, 01 Aug 2023 17:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574463.899745; Tue, 01 Aug 2023 17:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQtXM-0006oY-U7; Tue, 01 Aug 2023 17:52:00 +0000
Received: by outflank-mailman (input) for mailman id 574463;
 Tue, 01 Aug 2023 17:51:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nouE=DS=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1qQtXL-0006oO-Fx
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 17:51:59 +0000
Received: from mgamail.intel.com (unknown [192.55.52.120])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 170b10fc-3094-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 19:51:54 +0200 (CEST)
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 10:51:47 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by orsmga008.jf.intel.com with ESMTP; 01 Aug 2023 10:51:43 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1qQtX2-00DKb2-0b; Tue, 01 Aug 2023 20:51:40 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 170b10fc-3094-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690912314; x=1722448314;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=23Wc3k0mFLbrQycUcEsHy3FEUV7003iJlGRdyTKc6ms=;
  b=PCUoIkXMQeK6PgQqyzurFvxhlQkIf3OUGJ1J2qKMomkcrETlAdSnp1GD
   rU8AiWlWtXaXuWdghcFoEIJ7Yz5CM12CRk/9BrS36Oezi/0NBosa+5/km
   M7gW3PiDBYp75S/MYFyMe25TtKJPIcj7Ed01Q/0sGaIpCkKa/LSzFXx+U
   QnTlc+iThqyfcoJBSy5IQgQt23D7H8kQ3PNmTcl+D1ZP4/dp2jiH9A5Pt
   urMCwDcikMi72miS23C2Ko0SPeV2Gc6ONlnT5IBygkR/hGbC0Ilfj70tY
   3tm0S41Q+mRy7xVc2J2/rfxPzPk/sQMgWykG4yn80wAVZ6lLAofgzRXYl
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="368273820"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="368273820"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="758441153"
X-IronPort-AV: E=Sophos;i="6.01,247,1684825200"; 
   d="scan'208";a="758441153"
Date: Tue, 1 Aug 2023 20:51:39 +0300
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Mark Brown <broonie@kernel.org>, alsa-devel@alsa-project.org,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
Message-ID: <ZMlGKy7ibjkQ6ii7@smile.fi.intel.com>
References: <20230731154718.31048-1-tiwai@suse.de>
 <b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
 <87h6pjj2ui.wl-tiwai@suse.de>
 <a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
 <87leeugbxm.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87leeugbxm.wl-tiwai@suse.de>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Tue, Aug 01, 2023 at 02:54:45PM +0200, Takashi Iwai wrote:
> On Mon, 31 Jul 2023 21:40:20 +0200,
> Mark Brown wrote:
> > On Mon, Jul 31, 2023 at 09:30:29PM +0200, Takashi Iwai wrote:
> > > Mark Brown wrote:
> > 
> > > > It really feels like we ought to rename, or add an alias for, the type
> > > > if we're going to start using it more widely - it's not helping to make
> > > > the code clearer.
> > 
> > > That was my very first impression, too, but I changed my mind after
> > > seeing the already used code.  An alias might work, either typedef or
> > > define genptr_t or such as sockptr_t.  But we'll need to copy the
> > > bunch of helper functions, too...
> > 
> > I would predict that if the type becomes more widely used that'll happen
> > eventually and the longer it's left the more work it'll be.
> 
> That's true.  The question is how more widely it'll be used, then.
> 
> Is something like below what you had in mind, too?

I agree with your proposal (uniptr_t also works for me), but see below.

...

> +#include <linux/slab.h>
> +#include <linux/uaccess.h>

But let make the list of the headers right this time.

It seems to me that

err.h
minmax.h // maybe not, see a remark at the bottom
string.h
types.h

are missing.

More below.

...

> +	void *p = kmalloc_track_caller(len, GFP_USER | __GFP_NOWARN);
> +
> +	if (!p)
> +		return ERR_PTR(-ENOMEM);

This can use cleanup.h.

> +	if (copy_from_uniptr(p, src, len)) {
> +		kfree(p);
> +		return ERR_PTR(-EFAULT);
> +	}
> +	return p;
> +}
> +
> +static inline void *memdup_uniptr_nul(uniptr_t src, size_t len)
> +{
> +	char *p = kmalloc_track_caller(len + 1, GFP_KERNEL);

Ditto.

> +	if (!p)
> +		return ERR_PTR(-ENOMEM);
> +	if (copy_from_uniptr(p, src, len)) {
> +		kfree(p);
> +		return ERR_PTR(-EFAULT);
> +	}
> +	p[len] = '\0';
> +	return p;
> +}

...

> +static inline long strncpy_from_uniptr(char *dst, uniptr_t src, size_t count)
> +{
> +	if (uniptr_is_kernel(src)) {
> +		size_t len = min(strnlen(src.kernel, count - 1) + 1, count);

I didn't get why do we need min()? To check the count == 0 case?

Wouldn't

		size_t len;

		len = strnlen(src.kernel, count);
		if (len == 0)
			return 0;

		/* Copy a trailing NUL if found */
		if (len < count)
			len++;

be a good equivalent?

> +		memcpy(dst, src.kernel, len);
> +		return len;
> +	}
> +	return strncpy_from_user(dst, src.user, count);
> +}

...

> +static inline int check_zeroed_uniptr(uniptr_t src, size_t offset, size_t size)
> +{
> +	if (!uniptr_is_kernel(src))

Why not to align all the functions to use same conditional (either always
positive or negative)?

> +		return check_zeroed_user(src.user + offset, size);
> +	return memchr_inv(src.kernel + offset, 0, size) == NULL;
> +}

...

Taking all remarks into account I would rather go with sockptr.h being
untouched for now, just a big

/* DO NOT USE, it's obsolete, use uniptr.h instead! */

to be added.

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Aug 01 18:23:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 18:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574468.899757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQu1U-0001ty-E7; Tue, 01 Aug 2023 18:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574468.899757; Tue, 01 Aug 2023 18:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQu1U-0001tr-9T; Tue, 01 Aug 2023 18:23:08 +0000
Received: by outflank-mailman (input) for mailman id 574468;
 Tue, 01 Aug 2023 18: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=PUJK=DS=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQu1T-0001tk-BQ
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 18:23:07 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 746a07b3-3098-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 20:23:04 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8BC9982853A7;
 Tue,  1 Aug 2023 13:23:03 -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 XoBu06R2ebb9; Tue,  1 Aug 2023 13:23:02 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 59AC882853DF;
 Tue,  1 Aug 2023 13:23:02 -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 oGYoZW4Pvb6j; Tue,  1 Aug 2023 13:23:02 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D0D4C82853A7;
 Tue,  1 Aug 2023 13:23:01 -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: 746a07b3-3098-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 59AC882853DF
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690914182; bh=vVuA9sK/GcfstVkfqozkCI+BlEvlmi8R5qcN3jfU8M0=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=o1vhQOZKVOtzzCyoQltX3q4FyeFhIrOxoTpOjgmBtvy2ZGZflBNIhWNKozO6WApYF
	 y10jxpmw8p1KcFfLvn8C7lzyFwt/QemE82irZbNTG5OKz7q0J/ubq07mnY6sbxsDnB
	 Z6BzbJ8cS8MM05c7YAdGYHoKNfrhN3T7u93XyON8=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <3b492bff-6ef6-f242-7d74-206a599afaab@raptorengineering.com>
Date: Tue, 1 Aug 2023 13:23:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 2/5] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <335ce2a18f8cce679dd8b30d11560989131b4337.1690579561.git.sanastasio@raptorengineering.com>
 <0b2cb188-bcb1-1ed3-1181-9e1d0d98ab4a@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <0b2cb188-bcb1-1ed3-1181-9e1d0d98ab4a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 7:20 AM, Jan Beulich wrote:
> On 28.07.2023 23:35, Shawn Anastasio wrote:
>> @@ -11,16 +13,19 @@ ENTRY(start)
>>      FIXUP_ENDIAN
>>  
>>      /* set up the TOC pointer */
>> -    LOAD_IMM32(%r2, .TOC.)
>> +    bcl	    20, 31, .+4
>> +1:  mflr    %r12
>> +    addis   %r2, %r12, .TOC.-1b@ha
>> +    addi    %r2, %r2, .TOC.-1b@l
>>  
>>      /* set up the initial stack */
>> -    LOAD_IMM32(%r1, cpu0_boot_stack)
>> +    LOAD_REG_ADDR(%r1, cpu0_boot_stack)
> 
> Question: Would perhaps make sense to use %sp and %rtoc in place of
> %r1 and %r2 (not just here of course)?

In my opinion, usage of the aliased register names ends up making the
code less clear.


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 18:24:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 18:24:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574471.899766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQu2w-0002RF-Na; Tue, 01 Aug 2023 18:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574471.899766; Tue, 01 Aug 2023 18:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQu2w-0002R8-KO; Tue, 01 Aug 2023 18:24:38 +0000
Received: by outflank-mailman (input) for mailman id 574471;
 Tue, 01 Aug 2023 18:24: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=PUJK=DS=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQu2u-0002R0-Qp
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 18:24:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa2c0585-3098-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 20:24:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2399D8285497;
 Tue,  1 Aug 2023 13:24: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 pfcc-9Db09eW; Tue,  1 Aug 2023 13:24:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3BDFC82853DF;
 Tue,  1 Aug 2023 13:24: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 jA2m5m0n0gwk; Tue,  1 Aug 2023 13:24:33 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id C738F82853A7;
 Tue,  1 Aug 2023 13:24: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: aa2c0585-3098-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3BDFC82853DF
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690914273; bh=J+KyGv3B071ltB41m2dhkYpEyS/dfVfCw6N9IXMQuXg=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=tFc/gBF/GYxmm8tIU0WS0JMCr4nz2Xp63agoBUSIKNk3ohVAGCsIxeKadhCMQVYEs
	 FW5nU1Z3etiUCug82F13hvV/PpJnhWEVPgs8Sx5/eYyWPoQMEyzUyXJYUzv94T2QMe
	 yPEE0Tmc04Kx3swFnGlfiV9MLfcbtJL4GoH2dljY=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <f3894efa-0eb6-a9de-f84a-413531f26108@raptorengineering.com>
Date: Tue, 1 Aug 2023 13:24:32 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 4/5] xen/ppc: Parse device tree for OPAL node on PowerNV
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <fc4011f42ea017ec9ae12c4f1a0c1a09b7bbcfc8.1690579561.git.sanastasio@raptorengineering.com>
 <bc5d6856-03b3-038c-8d9d-fb06309e766f@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <bc5d6856-03b3-038c-8d9d-fb06309e766f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 7/31/23 11:06 AM, Jan Beulich wrote:
> On 28.07.2023 23:35, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/arch.mk
>> +++ b/xen/arch/ppc/arch.mk
>> @@ -10,5 +10,5 @@ CFLAGS += -mstrict-align -mcmodel=medium -mabi=elfv2 -fPIC -mno-altivec -mno-vsx
>>  LDFLAGS += -m elf64lppc
>>  
>>  # TODO: Drop override when more of the build is working
>> -override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
>> -override ALL_LIBS-y =
>> +override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o common/libfdt/built_in.o lib/built_in.o
>> +override ALL_LIBS-y = lib/lib.a
> 
> Can't you drop the ALL_LIBS-y override right here?

Just tested this and it does indeed work. I'll drop the override in v2.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 19:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 19:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574478.899775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQucV-0006rl-G6; Tue, 01 Aug 2023 19:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574478.899775; Tue, 01 Aug 2023 19: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 1qQucV-0006re-DT; Tue, 01 Aug 2023 19:01:23 +0000
Received: by outflank-mailman (input) for mailman id 574478;
 Tue, 01 Aug 2023 19: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=QMqF=DS=flex--seanjc.bounces.google.com=3fVbJZAYKCXwxjfsohlttlqj.htr2js-ij0jqqnxyx.2jsuwtojhy.twl@srs-se1.protection.inumbo.net>)
 id 1qQucU-0006rY-Fk
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 19:01:22 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb8b08c9-309d-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 21:01:18 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-583312344e7so74397927b3.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 12:01: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: cb8b08c9-309d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20221208; t=1690916477; x=1691521277;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=6dm7mDs/QRbe10huX8K6gEhxhyCrqJzyAo9u27HeE6w=;
        b=J5GQt97bUuhSZbWtCfXdnF37hw3zRFmggpgXFePbfydkgIO7T1qEq3TC7f2qz7LLlB
         4S49rV6qgmg3/1l7yVS022ikDEXmKlfxNhAqIDWvOchRNowXWLLBy8iIxpAA/cT2wvOj
         0Jut4JR9bEMoTT1P2cTZf83PChcuoKX14DaGcu7FEuFVDg3mxNwmKtE3VgJDMNgE7MkD
         qC/oqkmws4pn49hZ8CNZrDufM0eGNvp8S3xY09c5Nn1FRHXe1bqAvy/+d7JqHlPxTLKn
         yaIphA2Z9J7Icu9PWR1Vc38L8VhqePDOXgAC9cI1GdFOazdrFTAWSjBwE0/ppSeYpBGV
         xMeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690916477; x=1691521277;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6dm7mDs/QRbe10huX8K6gEhxhyCrqJzyAo9u27HeE6w=;
        b=XvvJ10voN5w4ywGHteF5FbebzBhNDxXdIrkagLaUbh1brXosLyA3vN77Au+J9rmTJ5
         FY0FQIcWPT7JcfW8IwXN/nntHI74oNmxMR8npE+F6LdHw+fHDgu0Q3aPD/Mw+Q8pgo4k
         JiWPjizrPryBreTXbV2QJKrk5VN4VyF0Uk/jqfggduBLzZT5lrmGZGd0lFJJSP+I6x6o
         pv8noNoMa31Ss3FWudNPZEPmPPP93GRmmZpmkaWEGqwB2nbn+367CAM6cZwm9vW6WE0L
         0BdWt1p/YTDZmXmQVmltV5FYylJEDpFZBjNOC2+aeOXZafQUXGWN5ibYOPqdZyG9haSD
         8Xsw==
X-Gm-Message-State: ABy/qLaACfgPH6S0+h+66ZSuUazdR8NiOlmTdMckm/f02FhoYEhYpG9v
	qnuQfg50Kfq9bLBfJ3fCSImVBaP034A=
X-Google-Smtp-Source: APBJJlGmS9vDxvKMs0vj75dQg8WdrWLo21/ggGbLQ/stLSWTeYc5YOHqkncZwnm3qxat2TVzW25JPR0Oz6k=
X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37])
 (user=seanjc job=sendgmr) by 2002:a25:ad15:0:b0:d12:d6e4:a08f with SMTP id
 y21-20020a25ad15000000b00d12d6e4a08fmr86035ybi.6.1690916477204; Tue, 01 Aug
 2023 12:01:17 -0700 (PDT)
Date: Tue, 1 Aug 2023 19:01:15 +0000
In-Reply-To: <20230801083553.8468-7-xin3.li@intel.com>
Mime-Version: 1.0
References: <20230801083553.8468-1-xin3.li@intel.com> <20230801083553.8468-7-xin3.li@intel.com>
Message-ID: <ZMlWe5TgS6HM98Mg@google.com>
Subject: Re: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
From: Sean Christopherson <seanjc@google.com>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, 
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Jonathan Corbet <corbet@lwn.net>, 
	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>, Andy Lutomirski <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, 
	Tony Luck <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Wanpeng Li <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	"Paul E . McKenney" <paulmck@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, 
	Randy Dunlap <rdunlap@infradead.org>, Steven Rostedt <rostedt@goodmis.org>, 
	Kim Phillips <kim.phillips@amd.com>, Hyeonggon Yoo <42.hyeyoo@gmail.com>, 
	"Liam R . Howlett" <Liam.Howlett@oracle.com>, 
	Sebastian Reichel <sebastian.reichel@collabora.com>, 
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>, 
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger <babu.moger@amd.com>, 
	Jim Mattson <jmattson@google.com>, Sandipan Das <sandipan.das@amd.com>, 
	Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede <hdegoede@redhat.com>, 
	Reinette Chatre <reinette.chatre@intel.com>, Daniel Sneddon <daniel.sneddon@linux.intel.com>, 
	Breno Leitao <leitao@debian.org>, Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>, 
	Sami Tolvanen <samitolvanen@google.com>, Alexander Potapenko <glider@google.com>, 
	Andrew Morton <akpm@linux-foundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	"Eric W . Biederman" <ebiederm@xmission.com>, Kees Cook <keescook@chromium.org>, 
	Masami Hiramatsu <mhiramat@kernel.org>, Masahiro Yamada <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, 
	Fei Li <fei1.li@intel.com>, Conghui <conghui.chen@intel.com>, 
	Ashok Raj <ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, 
	Mark Rutland <mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, 
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>, Jane Malalane <jane.malalane@citrix.com>, 
	David Woodhouse <dwmw@amazon.co.uk>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Arnaldo Carvalho de Melo <acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Content-Type: text/plain; charset="us-ascii"

On Tue, Aug 01, 2023, Xin Li wrote:
> 
> diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
> index 07e927d4d099..5ee6a57b59a5 100644
> --- a/arch/x86/kvm/vmx/vmenter.S
> +++ b/arch/x86/kvm/vmx/vmenter.S
> @@ -2,12 +2,14 @@
>  #include <linux/linkage.h>
>  #include <asm/asm.h>
>  #include <asm/bitsperlong.h>
> +#include <asm/fred.h>
>  #include <asm/kvm_vcpu_regs.h>
>  #include <asm/nospec-branch.h>
>  #include <asm/percpu.h>
>  #include <asm/segment.h>
>  #include "kvm-asm-offsets.h"
>  #include "run_flags.h"
> +#include "../../entry/calling.h"

Rather than do the low level PUSH_REGS and POP_REGS, I vote to have core code
expose a FRED-specific wrapper for invoking external_interrupt().  More below.

>  
>  #define WORD_SIZE (BITS_PER_LONG / 8)
>  
> @@ -31,6 +33,80 @@
>  #define VCPU_R15	__VCPU_REGS_R15 * WORD_SIZE
>  #endif
>  
> +#ifdef CONFIG_X86_FRED
> +.macro VMX_DO_FRED_EVENT_IRQOFF branch_insn branch_target nmi=0

objtool isn't happy.

arch/x86/kvm/vmx/vmenter.o: warning: objtool: vmx_do_fred_interrupt_irqoff+0x6c: return with modified stack frame
arch/x86/kvm/vmx/vmenter.o: warning: objtool: vmx_do_fred_nmi_irqoff+0x37: sibling call from callable instruction with modified stack frame

The "return with modified stack frame" goes away with my suggested changes, but
the sibling call remains for the NMI case due to the JMP instead of a call.

> +	/*
> +	 * Unconditionally create a stack frame, getting the correct RSP on the
> +	 * stack (for x86-64) would take two instructions anyways, and RBP can
> +	 * be used to restore RSP to make objtool happy (see below).
> +	 */
> +	push %_ASM_BP
> +	mov %_ASM_SP, %_ASM_BP

The frame stuff is worth throwing in a macro, if only to avoid a copy+pasted
comment, which by the by, is wrong.  (a) it's ERETS, not IRET.  (b) the IRQ does
a vanilla RET, not ERETS.  E.g. like so:

.macro VMX_DO_EVENT_FRAME_BEGIN
	/*
	 * Unconditionally create a stack frame, getting the correct RSP on the
	 * stack (for x86-64) would take two instructions anyways, and RBP can
	 * be used to restore RSP to make objtool happy (see below).
	 */
	push %_ASM_BP
	mov %_ASM_SP, %_ASM_BP
.endm

.macro VMX_DO_EVENT_FRAME_END
	/*
	 * "Restore" RSP from RBP, even though {E,I}RET has already unwound RSP
	 * to the correct value *in most cases*.  KVM's IRQ handling with FRED
	 * doesn't do ERETS, and objtool doesn't know the callee will IRET/ERET
	 * and, without the explicit restore, thinks the stack is getting walloped.
	 * Using an unwind hint is problematic due to x86-64's dynamic alignment.
	 */
	mov %_ASM_BP, %_ASM_SP
	pop %_ASM_BP
.endm

> +
> +	/*
> +	 * Don't check the FRED stack level, the call stack leading to this
> +	 * helper is effectively constant and shallow (relatively speaking).
> +	 *
> +	 * Emulate the FRED-defined redzone and stack alignment.
> +	 */
> +	sub $(FRED_CONFIG_REDZONE_AMOUNT << 6), %rsp
> +	and $FRED_STACK_FRAME_RSP_MASK, %rsp
> +
> +	/*
> +	 * A FRED stack frame has extra 16 bytes of information pushed at the
> +	 * regular stack top compared to an IDT stack frame.

There is pretty much no chance that anyone remembers the layout of an IDT stack
frame off the top of their head.  I.e. saying "FRED has 16 bytes more" isn't all
that useful.  It also fails to capture the fact that FRED stuff a hell of a lot
more information in those "common" 48 bytes.

It'll be hard/impossible to capture all of the overload info in a comment, but
showing the actual layout of the frame would be super helpful, e.g. something like
this

	/*
	 * FRED stack frames are always 64 bytes:
	 *
	 * ------------------------------
	 * | Bytes  | Usage             |
	 * -----------------------------|
	 * | 63:56  | Reserved          |
	 * | 55:48  | Event Data        | 
         * | 47:40  | SS + Event Info   |
         * | 39:32  | RSP               |
	 * | 31:24  | RFLAGS            |
         * | 23:16  | CS + Aux Info     |
         * |  15:8  | RIP               |
         * |   7:0  | Error Code        |    
         * ------------------------------           
	 */

> +	 */
> +	push $0		/* Reserved by FRED, must be 0 */
> +	push $0		/* FRED event data, 0 for NMI and external interrupts */
> +
> +	shl $32, %rdi				/* FRED event type and vector */
> +	.if \nmi
> +	bts $FRED_SSX_NMI_BIT, %rdi		/* Set the NMI bit */

The spec I have from May 2022 says the NMI bit colocated with CS, not SS.  And
the cover letter's suggestion to use a search engine to find the spec ain't
exactly helpful, that just gives me the same "May 2022 Revision 3.0" spec.  So
either y'all have a spec that I can't find, or this is wrong.

> +	.endif
> +	bts $FRED_SSX_64_BIT_MODE_BIT, %rdi	/* Set the 64-bit mode */
> +	or $__KERNEL_DS, %rdi
> +	push %rdi
> +	push %rbp
> +	pushf
> +	mov $__KERNEL_CS, %rax
> +	push %rax
> +
> +	/*
> +	 * Unlike the IDT event delivery, FRED _always_ pushes an error code
> +	 * after pushing the return RIP, thus the CALL instruction CANNOT be
> +	 * used here to push the return RIP, otherwise there is no chance to
> +	 * push an error code before invoking the IRQ/NMI handler.
> +	 *
> +	 * Use LEA to get the return RIP and push it, then push an error code.
> +	 */
> +	lea 1f(%rip), %rax

This is quite misleading for IRQs.  It took me a while to figure out that the only
reason it's functionally ok is that external_interrupt() will do RET, not ERETS,
i.e. the RIP that's pushed here isn't used for IRQs!  Expanding the above comment
would be quite helpful, e.g.

	 *
	 * Use LEA to get the return RIP and push it, then push an error code.
	 * Note, only NMI handling does an ERETS to the target!  IRQ handling
	 * doesn't need to unmask NMIs and so simply uses CALL+RET, i.e. the
	 * RIP pushed here is only truly consumed for NMIs!

> +	push %rax
> +	push $0		/* FRED error code, 0 for NMI and external interrupts */
> +
> +	.if \nmi == 0
> +	PUSH_REGS
> +	mov %rsp, %rdi

Nit, *if* this stays in KVM, please use %_ASM_ARG1 instead of %rdi.  I normally
dislike unnecessary abstraction, but in this case using _ASM_ARG1 makes it clear
(without a comment) that this code is loading a param for a funciton call, *not*
for some FRED magic.

> +	.endif

Jumping way back to providing a wrapper for FRED, if we do that, then there's no
need to include calling.h, and the weird wrinkle about the ERET target kinda goes
away too.  E.g. provide this in arch/x86/entry/entry_64_fred.S

	.section .text, "ax"

/* Note, this is instrumentation safe, and returns via RET, not ERETS! */
#if IS_ENABLED(CONFIG_KVM_INTEL)
SYM_CODE_START(fred_irq_entry_from_kvm)
	FRED_ENTER
	call external_interrupt
	FRED_EXIT
	RET
SYM_CODE_END(fred_irq_entry_from_kvm)
EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
#endif

and then the KVM side for this particular chunk is more simply:

	lea 1f(%rip), %rax
	push %rax
	push $0		/* FRED error code, 0 for NMI and external interrupts */

	\branch_insn \branch_target
1:
	VMX_DO_EVENT_FRAME_END
	RET


Alternatively, the whole thing could be shoved into arch/x86/entry/entry_64_fred.S,
but at a glance I don't think that would be a net positive due to the need to handle
IRQs vs. NMIs.

> +	\branch_insn \branch_target
> +
> +	.if \nmi == 0
> +	POP_REGS
> +	.endif
> +
> +1:
> +	/*
> +	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to

As mentioned above, this is incorrect on two fronts.

> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index 0ecf4be2c6af..4e90c69a92bf 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -6890,6 +6890,14 @@ static void vmx_apicv_post_state_restore(struct kvm_vcpu *vcpu)
>  	memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir));
>  }
>  
> +#ifdef CONFIG_X86_FRED
> +void vmx_do_fred_interrupt_irqoff(unsigned int vector);
> +void vmx_do_fred_nmi_irqoff(unsigned int vector);
> +#else
> +#define vmx_do_fred_interrupt_irqoff(x) BUG()
> +#define vmx_do_fred_nmi_irqoff(x) BUG()
> +#endif

My slight preference is to open code the BUG() as a ud2 in assembly, purely to
avoid more #ifdefs.

> +
>  void vmx_do_interrupt_irqoff(unsigned long entry);
>  void vmx_do_nmi_irqoff(void);
>  
> @@ -6932,14 +6940,16 @@ static void handle_external_interrupt_irqoff(struct kvm_vcpu *vcpu)
>  {
>  	u32 intr_info = vmx_get_intr_info(vcpu);
>  	unsigned int vector = intr_info & INTR_INFO_VECTOR_MASK;
> -	gate_desc *desc = (gate_desc *)host_idt_base + vector;
>  
>  	if (KVM_BUG(!is_external_intr(intr_info), vcpu->kvm,
>  	    "unexpected VM-Exit interrupt info: 0x%x", intr_info))
>  		return;
>  
>  	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
> -	vmx_do_interrupt_irqoff(gate_offset(desc));
> +	if (cpu_feature_enabled(X86_FEATURE_FRED))
> +		vmx_do_fred_interrupt_irqoff(vector);	/* Event type is 0 */

I strongly prefer to use code to document what's going on.  E.g. the tail comment
just left me wondering, what event type is 0?  Whereas this makes it quite clear
that KVM is signaling a hardware interrupt.  The fact that it's a nop as far as
code generation goes is irrelevant.

	vmx_do_fred_interrupt_irqoff((EVENT_TYPE_HWINT << 16) | vector);

> +	else
> +		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base + vector));
>  	kvm_after_interrupt(vcpu);
>  
>  	vcpu->arch.at_instruction_boundary = true;

Here's a diff for (hopefully) everything I've suggested above.

---
 arch/x86/entry/entry_64_fred.S | 17 ++++++-
 arch/x86/kernel/traps.c        |  5 --
 arch/x86/kvm/vmx/vmenter.S     | 84 +++++++++++++++-------------------
 arch/x86/kvm/vmx/vmx.c         |  7 +--
 4 files changed, 55 insertions(+), 58 deletions(-)

diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.S
index 12063267d2ac..a973c0bd29f6 100644
--- a/arch/x86/entry/entry_64_fred.S
+++ b/arch/x86/entry/entry_64_fred.S
@@ -10,7 +10,6 @@
 #include "calling.h"
 
 	.code64
-	.section ".noinstr.text", "ax"
 
 .macro FRED_ENTER
 	UNWIND_HINT_END_OF_STACK
@@ -24,6 +23,22 @@
 	POP_REGS
 .endm
 
+	.section .text, "ax"
+
+/* Note, this is instrumentation safe, and returns via RET, not ERETS! */
+#if IS_ENABLED(CONFIG_KVM_INTEL)
+SYM_CODE_START(fred_irq_entry_from_kvm)
+	FRED_ENTER
+	call external_interrupt
+	FRED_EXIT
+	RET
+SYM_CODE_END(fred_irq_entry_from_kvm)
+EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
+#endif
+
+	.section ".noinstr.text", "ax"
+
+
 /*
  * The new RIP value that FRED event delivery establishes is
  * IA32_FRED_CONFIG & ~FFFH for events that occur in ring 3.
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 21eeba7b188f..cbcb83c71dab 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1566,11 +1566,6 @@ int external_interrupt(struct pt_regs *regs)
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_KVM_INTEL)
-/* For KVM VMX to handle IRQs in IRQ induced VM exits. */
-EXPORT_SYMBOL_GPL(external_interrupt);
-#endif
-
 #endif /* CONFIG_X86_64 */
 
 void __init trap_init(void)
diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
index 79a4c91d9434..e25df565c3f8 100644
--- a/arch/x86/kvm/vmx/vmenter.S
+++ b/arch/x86/kvm/vmx/vmenter.S
@@ -9,7 +9,6 @@
 #include <asm/segment.h>
 #include "kvm-asm-offsets.h"
 #include "run_flags.h"
-#include "../../entry/calling.h"
 
 #define WORD_SIZE (BITS_PER_LONG / 8)
 
@@ -33,15 +32,31 @@
 #define VCPU_R15	__VCPU_REGS_R15 * WORD_SIZE
 #endif
 
+.macro VMX_DO_EVENT_FRAME_BEGIN
+	/*
+	 * Unconditionally create a stack frame, getting the correct RSP on the
+	 * stack (for x86-64) would take two instructions anyways, and RBP can
+	 * be used to restore RSP to make objtool happy (see below).
+	 */
+	push %_ASM_BP
+	mov %_ASM_SP, %_ASM_BP
+.endm
+
+.macro VMX_DO_EVENT_FRAME_END
+	/*
+	 * "Restore" RSP from RBP, even though {E,I}RET has already unwound RSP
+	 * to the correct value *in most cases*.  KVM's IRQ handling with FRED
+	 * doesn't do ERETS, and objtool doesn't know the callee will IRET/ERET
+	 * and, without the explicit restore, thinks the stack is getting walloped.
+	 * Using an unwind hint is problematic due to x86-64's dynamic alignment.
+	 */
+	mov %_ASM_BP, %_ASM_SP
+	pop %_ASM_BP
+.endm
+
 #ifdef CONFIG_X86_FRED
 .macro VMX_DO_FRED_EVENT_IRQOFF branch_insn branch_target nmi=0
-	/*
-	 * Unconditionally create a stack frame, getting the correct RSP on the
-	 * stack (for x86-64) would take two instructions anyways, and RBP can
-	 * be used to restore RSP to make objtool happy (see below).
-	 */
-	push %_ASM_BP
-	mov %_ASM_SP, %_ASM_BP
+	VMX_DO_EVENT_FRAME_BEGIN
 
 	/*
 	 * Don't check the FRED stack level, the call stack leading to this
@@ -78,43 +93,23 @@
 	 * push an error code before invoking the IRQ/NMI handler.
 	 *
 	 * Use LEA to get the return RIP and push it, then push an error code.
+	 * Note, only NMI handling does an ERETS to the target!  IRQ handling
+	 * doesn't need to unmask NMIs and so simply uses CALL+RET, i.e. the
+	 * RIP pushed here is only truly consumed for NMIs!
 	 */
 	lea 1f(%rip), %rax
 	push %rax
 	push $0		/* FRED error code, 0 for NMI and external interrupts */
 
-	.if \nmi == 0
-	PUSH_REGS
-	mov %rsp, %rdi
-	.endif
-
 	\branch_insn \branch_target
-
-	.if \nmi == 0
-	POP_REGS
-	.endif
-
 1:
-	/*
-	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to
-	 * the correct value.  objtool doesn't know the callee will IRET and,
-	 * without the explicit restore, thinks the stack is getting walloped.
-	 * Using an unwind hint is problematic due to x86-64's dynamic alignment.
-	 */
-	mov %_ASM_BP, %_ASM_SP
-	pop %_ASM_BP
+	VMX_DO_EVENT_FRAME_END
 	RET
 .endm
 #endif
 
 .macro VMX_DO_EVENT_IRQOFF call_insn call_target
-	/*
-	 * Unconditionally create a stack frame, getting the correct RSP on the
-	 * stack (for x86-64) would take two instructions anyways, and RBP can
-	 * be used to restore RSP to make objtool happy (see below).
-	 */
-	push %_ASM_BP
-	mov %_ASM_SP, %_ASM_BP
+	VMX_DO_EVENT_FRAME_BEGIN
 
 #ifdef CONFIG_X86_64
 	/*
@@ -129,14 +124,7 @@
 	push $__KERNEL_CS
 	\call_insn \call_target
 
-	/*
-	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to
-	 * the correct value.  objtool doesn't know the callee will IRET and,
-	 * without the explicit restore, thinks the stack is getting walloped.
-	 * Using an unwind hint is problematic due to x86-64's dynamic alignment.
-	 */
-	mov %_ASM_BP, %_ASM_SP
-	pop %_ASM_BP
+	VMX_DO_EVENT_FRAME_END
 	RET
 .endm
 
@@ -375,11 +363,13 @@ SYM_INNER_LABEL_ALIGN(vmx_vmexit, SYM_L_GLOBAL)
 
 SYM_FUNC_END(__vmx_vcpu_run)
 
-#ifdef CONFIG_X86_FRED
 SYM_FUNC_START(vmx_do_fred_nmi_irqoff)
+#ifdef CONFIG_X86_FRED
 	VMX_DO_FRED_EVENT_IRQOFF jmp fred_entrypoint_kernel nmi=1
+#else
+	ud2
+#endif
 SYM_FUNC_END(vmx_do_fred_nmi_irqoff)
-#endif
 
 SYM_FUNC_START(vmx_do_nmi_irqoff)
 	VMX_DO_EVENT_IRQOFF call asm_exc_nmi_kvm_vmx
@@ -438,11 +428,13 @@ SYM_FUNC_END(vmread_error_trampoline)
 #endif
 
 .section .text, "ax"
-#ifdef CONFIG_X86_FRED
 SYM_FUNC_START(vmx_do_fred_interrupt_irqoff)
-	VMX_DO_FRED_EVENT_IRQOFF call external_interrupt
+#ifdef CONFIG_X86_FRED
+	VMX_DO_FRED_EVENT_IRQOFF call fred_irq_entry_from_kvm
+#else
+	ud2
+#endif
 SYM_FUNC_END(vmx_do_fred_interrupt_irqoff)
-#endif
 
 SYM_FUNC_START(vmx_do_interrupt_irqoff)
 	VMX_DO_EVENT_IRQOFF CALL_NOSPEC _ASM_ARG1
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index bf757f5071e4..cb4675dd87df 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6919,13 +6919,8 @@ static void vmx_apicv_post_state_restore(struct kvm_vcpu *vcpu)
 	memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir));
 }
 
-#ifdef CONFIG_X86_FRED
 void vmx_do_fred_interrupt_irqoff(unsigned int vector);
 void vmx_do_fred_nmi_irqoff(unsigned int vector);
-#else
-#define vmx_do_fred_interrupt_irqoff(x) BUG()
-#define vmx_do_fred_nmi_irqoff(x) BUG()
-#endif
 
 void vmx_do_interrupt_irqoff(unsigned long entry);
 void vmx_do_nmi_irqoff(void);
@@ -6976,7 +6971,7 @@ static void handle_external_interrupt_irqoff(struct kvm_vcpu *vcpu)
 
 	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
 	if (cpu_feature_enabled(X86_FEATURE_FRED))
-		vmx_do_fred_interrupt_irqoff(vector);	/* Event type is 0 */
+		vmx_do_fred_interrupt_irqoff((EVENT_TYPE_HWINT << 16) | vector);
 	else
 		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base + vector));
 	kvm_after_interrupt(vcpu);

base-commit: 8961078ffe509a97ec7803b17912e57c47b93fa2
-- 



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 19:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 19:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574484.899786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvCu-00020S-Di; Tue, 01 Aug 2023 19:39:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574484.899786; Tue, 01 Aug 2023 19:39:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvCu-00020L-Az; Tue, 01 Aug 2023 19:39:00 +0000
Received: by outflank-mailman (input) for mailman id 574484;
 Tue, 01 Aug 2023 19:38:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1cbQ=DS=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1qQvCq-00020F-C4
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 19:38:59 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c77ad8d-30a3-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 21:38:54 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qQvBp-00Erfk-29; Tue, 01 Aug 2023 19:37:54 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 01EB0300134;
 Tue,  1 Aug 2023 21:37:51 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id DAE66201BD3C3; Tue,  1 Aug 2023 21:37:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c77ad8d-30a3-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=XUuRgq2k+Zj7Cps3kG/jmE/mhHsCYkzavBA/LPVkFBs=; b=jllufagrIa/lR21PAk9SYyMhAG
	pQAKupOfSK4Dhh0bm8iu1sQUv9lMhmRfH/zIvVnAM8LOfko59SeoulYg7NALKjJ4L9wG27jLaoCUk
	gVCMqQbB9DVabk0U/daweZJfrGQMpNcCkOCcvsgrPQ4KE5dfmfOj0n2s0xa62dY1PDmFWpMB45jNu
	LOPPbQsrn054suZVnJ1EWOzTD5AT5eORcFhvn29qDMNKwPt8+TQatJHQzhZXvfRyi4ozGOpj7FuWL
	cOM24LcfEIScuEycHMT/AYoj4Clhch0kIau5XVicK1eYoms8Rz55EE4BCNn7jkt3fSY6vPg3byZad
	2AEwkPlg==;
Date: Tue, 1 Aug 2023 21:37:50 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Xin Li <xin3.li@intel.com>, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org, kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org, Jonathan Corbet <corbet@lwn.net>,
	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>,
	Andy Lutomirski <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>,
	Tony Luck <tony.luck@intel.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Babu Moger <babu.moger@amd.com>, Jim Mattson <jmattson@google.com>,
	Sandipan Das <sandipan.das@amd.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Daniel Sneddon <daniel.sneddon@linux.intel.com>,
	Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Alexander Potapenko <glider@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Ze Gao <zegao2021@gmail.com>, Fei Li <fei1.li@intel.com>,
	Conghui <conghui.chen@intel.com>, Ashok Raj <ashok.raj@intel.com>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Yantengsi <siyanteng@loongson.cn>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Sathvika Vasireddy <sv@linux.ibm.com>
Subject: Re: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
Message-ID: <20230801193750.GA119080@hirez.programming.kicks-ass.net>
References: <20230801083553.8468-1-xin3.li@intel.com>
 <20230801083553.8468-7-xin3.li@intel.com>
 <ZMlWe5TgS6HM98Mg@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZMlWe5TgS6HM98Mg@google.com>

On Tue, Aug 01, 2023 at 07:01:15PM +0000, Sean Christopherson wrote:
> The spec I have from May 2022 says the NMI bit colocated with CS, not SS.  And
> the cover letter's suggestion to use a search engine to find the spec ain't
> exactly helpful, that just gives me the same "May 2022 Revision 3.0" spec.  So
> either y'all have a spec that I can't find, or this is wrong.

https://intel.com/sdm

is a useful shorthand I've recently been told about. On that page is
also "Flexible Return and Event Delivery Specification", when clicked it
will gift you a FRED v5.0 PDF.


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 19:49:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 19:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574489.899795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvMg-0003WP-94; Tue, 01 Aug 2023 19:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574489.899795; Tue, 01 Aug 2023 19:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvMg-0003WI-6L; Tue, 01 Aug 2023 19:49:06 +0000
Received: by outflank-mailman (input) for mailman id 574489;
 Tue, 01 Aug 2023 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=ZDJD=DS=flex--seanjc.bounces.google.com=3rWHJZAYKCcI0mivrkowwotm.kwu5mv-lm3mttq010.5mvxzwrmk1.wzo@srs-se1.protection.inumbo.net>)
 id 1qQvMe-0003WC-Mi
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 19:49:04 +0000
Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com
 [2607:f8b0:4864:20::64a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7709b043-30a4-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 21:49:03 +0200 (CEST)
Received: by mail-pl1-x64a.google.com with SMTP id
 d9443c01a7336-1bbb97d27d6so42581245ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 12:49:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7709b043-30a4-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20221208; t=1690919342; x=1691524142;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=ymMuGbXslfyJGs4W/pBqFuGxl9xUvy7q5fX4QbBoOtQ=;
        b=CydE6ofDFbki4OoGOG75dPf8HjmzdP4bx8vverzkUAQVtD69mMn7n68FWR8AAp7DXQ
         w+dl1y5zJGShPu6hUhv3xWgs0RLuDKkU1QeFVeAkGndzTQF4ejZ1rYTen/R2bDlQiGdt
         p2JE4NI74wSzCDPayw3C3EPUnZHQ6AwVPX7+Hr/id3ZzAXZ75VD1wArInmjbenyfG79V
         cEByprzGAc4WBhBRZXFreyy3tDtKJhpsG+vPyPTXY7LVerieG5d/K0kioNLl2WhELfBY
         ntCCC/ISdhA9syO12Y1PCPSKi59/fx8iNJKpcw07IuHVOLESRbk7CVIj2E7rNQ0Q4Awv
         rGdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690919342; x=1691524142;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ymMuGbXslfyJGs4W/pBqFuGxl9xUvy7q5fX4QbBoOtQ=;
        b=Kn50+t53uU5NOm8Km3htzxTmehToWLKgCZ8oinGiCRFxhxWq52eAldm8vX2R5wHZdN
         zvotcZjjHa+FQI8CZY0qRBye0Jn2cvbDEjBCFpAYmAMYqfZgDzzVVYN+2d98FGAOmoKE
         ka1pwuXiCCH5V5aK3bmAZ4NSgKu09zhvzQ7CgoW57MbH7gG1g/mBo4idqTOEQDdXXu7h
         hfQ4ny5BENwmrAaarSgu+ZCLihuUOHjQ8GJfIzucftXRAveQoG/Dut673iA11w4+sdeq
         u3x5b2152uf+jTqLbMxZpoU73zPvNYIXXdZQNIlQb2/IMFFpL9Ek+G9eG2QkQy7Cq7Sb
         6Bcw==
X-Gm-Message-State: ABy/qLbTgnd+o0Vurg2TekbT6b6vc+33ErxsCV0eGMH2yPFxHpHF6OIX
	RQt/as1wKmqvjNcMFBleh7yi4Pne9q0=
X-Google-Smtp-Source: APBJJlHzs/CPjAfxg4yY07jd2lFS2uJwEiSQkwxUoufms67SS+axZJeOfATbgdLU+XSQqEOfpNJp/uAu49A=
X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37])
 (user=seanjc job=sendgmr) by 2002:a17:902:f683:b0:1b8:a54c:61ef with SMTP id
 l3-20020a170902f68300b001b8a54c61efmr67559plg.9.1690919341844; Tue, 01 Aug
 2023 12:49:01 -0700 (PDT)
Date: Tue, 1 Aug 2023 19:49:00 +0000
In-Reply-To: <20230801193750.GA119080@hirez.programming.kicks-ass.net>
Mime-Version: 1.0
References: <20230801083553.8468-1-xin3.li@intel.com> <20230801083553.8468-7-xin3.li@intel.com>
 <ZMlWe5TgS6HM98Mg@google.com> <20230801193750.GA119080@hirez.programming.kicks-ass.net>
Message-ID: <ZMlhrHv1c9P6HQXw@google.com>
Subject: Re: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Xin Li <xin3.li@intel.com>, linux-doc@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org, 
	linux-hyperv@vger.kernel.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Jonathan Corbet <corbet@lwn.net>, 
	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>, Andy Lutomirski <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, 
	Tony Luck <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Wanpeng Li <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	"Paul E . McKenney" <paulmck@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, 
	Randy Dunlap <rdunlap@infradead.org>, Steven Rostedt <rostedt@goodmis.org>, 
	Kim Phillips <kim.phillips@amd.com>, Hyeonggon Yoo <42.hyeyoo@gmail.com>, 
	"Liam R . Howlett" <Liam.Howlett@oracle.com>, 
	Sebastian Reichel <sebastian.reichel@collabora.com>, 
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>, 
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger <babu.moger@amd.com>, 
	Jim Mattson <jmattson@google.com>, Sandipan Das <sandipan.das@amd.com>, 
	Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede <hdegoede@redhat.com>, 
	Reinette Chatre <reinette.chatre@intel.com>, Daniel Sneddon <daniel.sneddon@linux.intel.com>, 
	Breno Leitao <leitao@debian.org>, Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>, 
	Sami Tolvanen <samitolvanen@google.com>, Alexander Potapenko <glider@google.com>, 
	Andrew Morton <akpm@linux-foundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	"Eric W . Biederman" <ebiederm@xmission.com>, Kees Cook <keescook@chromium.org>, 
	Masami Hiramatsu <mhiramat@kernel.org>, Masahiro Yamada <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, 
	Fei Li <fei1.li@intel.com>, Conghui <conghui.chen@intel.com>, 
	Ashok Raj <ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, 
	Mark Rutland <mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, 
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>, Jane Malalane <jane.malalane@citrix.com>, 
	David Woodhouse <dwmw@amazon.co.uk>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Arnaldo Carvalho de Melo <acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Content-Type: text/plain; charset="us-ascii"

On Tue, Aug 01, 2023, Peter Zijlstra wrote:
> On Tue, Aug 01, 2023 at 07:01:15PM +0000, Sean Christopherson wrote:
> > The spec I have from May 2022 says the NMI bit colocated with CS, not SS.  And
> > the cover letter's suggestion to use a search engine to find the spec ain't
> > exactly helpful, that just gives me the same "May 2022 Revision 3.0" spec.  So
> > either y'all have a spec that I can't find, or this is wrong.
> 
> https://intel.com/sdm
> 
> is a useful shorthand I've recently been told about.

Hallelujah!

> On that page is also "Flexible Return and Event Delivery Specification", when
> clicked it will gift you a FRED v5.0 PDF.

Worked for me, too.  Thanks!


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:20:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574495.899805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvr3-0007tP-Fo; Tue, 01 Aug 2023 20:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574495.899805; Tue, 01 Aug 2023 20:20:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvr3-0007tI-D7; Tue, 01 Aug 2023 20:20:29 +0000
Received: by outflank-mailman (input) for mailman id 574495;
 Tue, 01 Aug 2023 20:20:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvr2-0007tB-EA
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:20:28 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d78e14aa-30a8-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 22:20:23 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 16909212173621014.5551400025472;
 Tue, 1 Aug 2023 13:20: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: d78e14aa-30a8-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1690921219; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=E413ofvZPo9ecp1I5vBmTYsC5yIJ9vgdigDQfffgzj1GXG4fTxzJG+sU3eGcyeLzqgHdLOETjpd/7i27BlzU6X+FZN1XeZ2dat1euy4Ktdvnf1lGUxUoxE5No9vBk4AvB5MBKpi7BqhgKGOK/kf+CbSXDOvseZF0ugU1XZAc794=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921219; h=Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=ko9U8cGQhnmgoATzcdLjAMLp8cggi3FR/MqknwYUGjw=; 
	b=XLDon0Q6hOidpC6DAmlQx5CG79Cc5StFCEvKiwXux0Fdk1Gli/nWneU4mOqG6z1l1R1n6bei2zfiwf/dMIV/F5B1Gw+lVqfjWBZGIhOxzL5ZOyPfo7W4mQvTI+vMxlGu6vBipb+2Lx67/HHjxrYmhvb1Mwgl0XRnLQF0UqpJk4g=
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=1690921219;
	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=ko9U8cGQhnmgoATzcdLjAMLp8cggi3FR/MqknwYUGjw=;
	b=L8B+SkqbAs+n+BtTOmiwTj30QSvyY1S+C9oj/2NQgj9D2uCsoeu9c+/U4DBCAqFt
	r24RWirHEzRW3jB7DTK1E+d+2WIwlZ6DvroJ+x3k4yhQvOLWCePyW2oPD1HU+cjEuzt
	hHIYiraxeaUYKx0Uu46Hz9VPT+3x7LUl+0MOBmW0=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>,
	Rich Persaud <persaur@gmail.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [RFC 0/6] Hyperlaunch domain roles and capabilities
Date: Tue,  1 Aug 2023 16:20:00 -0400
Message-Id: <20230801202006.20322-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

A goal of the hyperlaunch effort was to solidify the concept of the different
types of domains the hypervisor has some notion around. The initial approach
was to formalize these types as roles enforced through the XSM framework. In
this RFC, a simpler approach is taken to lay a foundation of domain roles and
assignable capabilities.

The approach in this series is to collapse the relevant bools in struct domain
into a pair of bit flag entries that represent roles and capabilities that a
domain is assigned.

Daniel P. Smith (6):
  dom0: replace explict zero checks
  roles: provide abstraction for the possible domain roles
  roles: add a role for xenstore domain
  capabilities: introduce console io as a domain capability
  capabilities: add dom0 cpu faulting disable
  capabilities: convert attach debugger into a capability

 xen/arch/arm/domain_build.c     |  6 ++-
 xen/arch/x86/cpu-policy.c       |  2 +-
 xen/arch/x86/cpu/common.c       | 82 ++++++++++++++++-----------------
 xen/arch/x86/hvm/svm/svm.c      |  8 ++--
 xen/arch/x86/hvm/vmx/realmode.c |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c     |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c      | 10 ++--
 xen/arch/x86/setup.c            |  6 +++
 xen/arch/x86/traps.c            |  6 ++-
 xen/common/domain.c             | 21 +++++++--
 xen/common/domctl.c             |  6 ++-
 xen/common/sched/arinc653.c     |  2 +-
 xen/common/sched/core.c         |  4 +-
 xen/include/xen/sched.h         | 58 +++++++++++++++++++----
 xen/include/xsm/dummy.h         |  6 +--
 xen/xsm/flask/hooks.c           | 12 ++---
 16 files changed, 150 insertions(+), 83 deletions(-)

-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:20:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574496.899816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvr6-00088b-My; Tue, 01 Aug 2023 20:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574496.899816; Tue, 01 Aug 2023 20: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 1qQvr6-00088U-K0; Tue, 01 Aug 2023 20:20:32 +0000
Received: by outflank-mailman (input) for mailman id 574496;
 Tue, 01 Aug 2023 20: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvr5-0007tB-6f
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:20:31 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db082af5-30a8-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 22:20:29 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690921219023154.7244666059837;
 Tue, 1 Aug 2023 13: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: db082af5-30a8-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1690921221; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=lNiYjknsKhksJuvxpu+1YL5h1k8mUf7MfDMTehx9xU9qY5ePFGqwxPnrerUsLBUENjnbLVykTx6E+3375JIzcLHVjrH1owt/cSAJx4+MsyWXAOYsyQ8QyOhYARJSdBcWS7hfpcs2IHDbWgZ0pPzTKoy12sj88af3NZYp1j/eQc8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921221; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=QxHgg6odiTfgWhhWOuj3R7wSlDiixIdY8mSDQ2Z3eHA=; 
	b=QxaM6Mozt3aw6tfNbgM0mdmi6SZMN2qq8JWlFgWqRoVslhpfCKnpUG/ju1IJ8IHddkjWz3pKHO9jlZ6yqU6s/BvvLgeOITobNtuGmvPmm+JYx7JaL4W1axtMW4kQXTeMnhZ6yUSd74Cmq86A25KWy88w6SpnkfXs7KLG9/tpICQ=
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=1690921221;
	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=QxHgg6odiTfgWhhWOuj3R7wSlDiixIdY8mSDQ2Z3eHA=;
	b=JENP3hnykOC520uj6z57yLCmOzl6QU/5aI46l4vND4WKa2l/AGeUazOqIK8Vtu6y
	MapOgQvnxH7eaGAvDTmUhJDP+KGAsizdabjmyucONUw15X0hwzYwxdOfkJHLBZsU9aj
	hpPLkJScrv/frwb24yryVd6pgxcf0S297t3YL7CE=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org,
	xen-devel@dornerworks.com
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Nathan Studer <nathan.studer@dornerworks.com>,
	Stewart Hildebrand <stewart@stew.dk>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [RFC 1/6] dom0: replace explict zero checks
Date: Tue,  1 Aug 2023 16:20:01 -0400
Message-Id: <20230801202006.20322-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

A legacy concept is that the initial domain will have a domain id of zero. As a
result there are places where a check that a domain is the inital domain is
determined by an explicit check that the domid is zero.

This commit seeks to abstract this check into a function call and replace all
check locations with the function call.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/domain.c         | 4 ++--
 xen/common/sched/arinc653.c | 2 +-
 xen/common/sched/core.c     | 4 ++--
 xen/include/xen/sched.h     | 7 +++++++
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 304aa04fa6..8fb3c052f5 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -309,7 +309,7 @@ static int late_hwdom_init(struct domain *d)
     struct domain *dom0;
     int rv;
 
-    if ( d != hardware_domain || d->domain_id == 0 )
+    if ( d != hardware_domain || is_initial_domain(d) )
         return 0;
 
     rv = xsm_init_hardware_domain(XSM_HOOK, d);
@@ -612,7 +612,7 @@ struct domain *domain_create(domid_t domid,
     d->is_privileged = flags & CDF_privileged;
 
     /* Sort out our idea of is_hardware_domain(). */
-    if ( domid == 0 || domid == hardware_domid )
+    if ( is_initial_domain(d) || domid == hardware_domid )
     {
         if ( hardware_domid < 0 || hardware_domid >= DOMID_FIRST_RESERVED )
             panic("The value of hardware_dom must be a valid domain ID\n");
diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index a82c0d7314..31e8270af3 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -404,7 +404,7 @@ a653sched_alloc_udata(const struct scheduler *ops, struct sched_unit *unit,
      * Add every one of dom0's units to the schedule, as long as there are
      * slots available.
      */
-    if ( unit->domain->domain_id == 0 )
+    if ( is_initial_domain(unit->domain) )
     {
         entry = sched_priv->num_schedule_entries;
 
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 022f548652..210ad30f94 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -585,7 +585,7 @@ int sched_init_vcpu(struct vcpu *v)
          */
         sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
     }
-    else if ( d->domain_id == 0 && opt_dom0_vcpus_pin )
+    else if ( is_initial_domain(d) && opt_dom0_vcpus_pin )
     {
         /*
          * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
@@ -594,7 +594,7 @@ int sched_init_vcpu(struct vcpu *v)
         sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
     }
 #ifdef CONFIG_X86
-    else if ( d->domain_id == 0 )
+    else if ( is_initial_domain(d) )
     {
         /*
          * In absence of dom0_vcpus_pin instead, the hard and soft affinity of
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 854f3e32c0..a9276a7bed 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1058,6 +1058,13 @@ void scheduler_disable(void);
 void watchdog_domain_init(struct domain *d);
 void watchdog_domain_destroy(struct domain *d);
 
+static always_inline bool is_initial_domain(const struct domain *d)
+{
+    static int init_domain_id = 0;
+
+    return d->domain_id == init_domain_id;
+}
+
 /*
  * Use this check when the following are both true:
  *  - Using this feature or interface requires full access to the hardware
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:20:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:20:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574497.899826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvrL-00007Z-W0; Tue, 01 Aug 2023 20:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574497.899826; Tue, 01 Aug 2023 20:20:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvrL-00007P-St; Tue, 01 Aug 2023 20:20:47 +0000
Received: by outflank-mailman (input) for mailman id 574497;
 Tue, 01 Aug 2023 20:20: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvrK-0007tB-NS
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:20:46 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e42cb24b-30a8-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 22:20:44 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690921220423235.25435125968477;
 Tue, 1 Aug 2023 13:20:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e42cb24b-30a8-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1690921222; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DCsyMRf8xAaiW6V1MikN6A+7KB+qawGSQaoE+fU00o0RtbQCtfU4We3Qv4qG5GmZF57GQJbbB7Bl8ecL62/ZddTQxc0eLGPJfii7l+TG+WwQ76H9Qfxn1qZ2GNbZKXCURhg40/bf6gUloroHct+k1G9hIF1dsHzfW2OD5pb9pqM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921222; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=deDaH1mtD3wmtBLBicRQEslJzzR5NTIhnW//O7OUueo=; 
	b=adqNUS2vwkEOP74LrJxnjLB3DpNLDejgALxzqz1qHmAPf/TPzdSdRnOT9UtoXLhhOwJc/xbXtDj7hClTyKSS8GYl0hZ+eUShT5EbYzV0GSKQT6XVNI0dSiuX0R5cNOh4C1CqCEtcNKyaIqYcKmTtJzku2ibzwsuB5MaHxRdIQjE=
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=1690921222;
	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=deDaH1mtD3wmtBLBicRQEslJzzR5NTIhnW//O7OUueo=;
	b=Nq/4qPInj010nlvQY8Aj5jx/3/svbtKYrChM01e+EM79DiY7ZY4YWw7EznUDp+Da
	G5DETugcWT93dlg6z9pbgUdppwpBS0v/sRj9eMBw1oS321J39Bb9zFnuHU4AUlMQVOe
	SIEZN4U1zv5X5EKi85IC9W7t3DLeguLr5isP2feg=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 2/6] roles: provide abstraction for the possible domain roles
Date: Tue,  1 Aug 2023 16:20:02 -0400
Message-Id: <20230801202006.20322-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The existing concepts such as unbounded domain, ie. all powerful, control
domain and hardware domain are, effectively, roles the domains provide for the
system. Currently, these are represented with booleans within `struct domain`
or global domid variables that are compared against. This patch begins to
formalize these roles by replacing the `is_control` and `is_console`, along
with expanding the check against the global `hardware_domain` with a single
encapsulating role attribute in `struct domain`.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/arch/arm/domain_build.c |  2 ++
 xen/arch/x86/setup.c        |  2 ++
 xen/common/domain.c         | 14 +++++++++++++-
 xen/include/xen/sched.h     | 16 +++++++++-------
 xen/include/xsm/dummy.h     |  4 ++--
 xen/xsm/flask/hooks.c       | 12 ++++++------
 6 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a5..51b4daefe1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -4201,6 +4201,8 @@ void __init create_dom0(void)
     if ( IS_ERR(dom0) )
         panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
 
+    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
+
     if ( alloc_dom0_vcpu0(dom0) == NULL )
         panic("Error creating domain 0 vcpu0\n");
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2dbe9857aa..4e20edc3bf 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const module_t *image,
     if ( IS_ERR(d) )
         panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
 
+    d->role |= ROLE_UNBOUNDED_DOMAIN;
+
     init_dom0_cpuid_policy(d);
 
     if ( alloc_dom0_vcpu0(d) == NULL )
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8fb3c052f5..0ff1d52e3d 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
     setup_io_bitmap(dom0);
 #endif
 
+    /*
+     * "dom0" may have been created under the unbounded role, demote it from
+     * that role, reducing it to the control domain role and any other roles it
+     * may have been given.
+     */
+    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
+    dom0->role |= ROLE_CONTROL_DOMAIN;
+
     rcu_unlock_domain(dom0);
 
     iommu_hwdom_init(d);
@@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
     }
 
     /* Sort out our idea of is_control_domain(). */
-    d->is_privileged = flags & CDF_privileged;
+    if ( flags & CDF_privileged )
+        d->role |= ROLE_CONTROL_DOMAIN;
+    else
+        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
 
     /* Sort out our idea of is_hardware_domain(). */
     if ( is_initial_domain(d) || domid == hardware_domid )
@@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
 
         old_hwdom = hardware_domain;
         hardware_domain = d;
+        d->role |= ROLE_HARDWARE_DOMAIN;
     }
 
     TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index a9276a7bed..695f240326 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -467,8 +467,10 @@ struct domain
 #endif
     /* is node-affinity automatically computed? */
     bool             auto_node_affinity;
-    /* Is this guest fully privileged (aka dom0)? */
-    bool             is_privileged;
+#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
+#define ROLE_CONTROL_DOMAIN    (1U<<1)
+#define ROLE_HARDWARE_DOMAIN   (1U<<2)
+    uint8_t          role;
     /* Can this guest access the Xen console? */
     bool             is_console;
     /* Is this guest being debugged by dom0? */
@@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
 
 static always_inline bool is_initial_domain(const struct domain *d)
 {
-    static int init_domain_id = 0;
-
-    return d->domain_id == init_domain_id;
+    return d->role & ROLE_UNBOUNDED_DOMAIN;
 }
 
 /*
@@ -1076,7 +1076,8 @@ static always_inline bool is_hardware_domain(const struct domain *d)
     if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
         return false;
 
-    return evaluate_nospec(d == hardware_domain);
+    return evaluate_nospec(((d->role & ROLE_HARDWARE_DOMAIN) ||
+        is_initial_domain(d)) && (d == hardware_domain));
 }
 
 /* This check is for functionality specific to a control domain */
@@ -1085,7 +1086,8 @@ static always_inline bool is_control_domain(const struct domain *d)
     if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
         return false;
 
-    return evaluate_nospec(d->is_privileged);
+    return evaluate_nospec((d->role & ROLE_CONTROL_DOMAIN) ||
+        is_initial_domain(d));
 }
 
 #define VM_ASSIST(d, t) (test_bit(VMASST_TYPE_ ## t, &(d)->vm_assist))
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 8671af1ba4..18f1ddd127 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -108,7 +108,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
 {
     struct domain *d = current->domain;
 
-    ASSERT(d->is_privileged);
+    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
 
     if ( d->domain_id != DOMID_IDLE )
     {
@@ -116,7 +116,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
         return -EPERM;
     }
 
-    d->is_privileged = false;
+    d->role &= ~ROLE_CONTROL_DOMAIN;
 
     return 0;
 }
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 78225f68c1..0a31719f43 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -193,7 +193,7 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
     default:
         if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
         {
-            if ( d->is_privileged )
+            if ( d->role & ROLE_CONTROL_DOMAIN )
                 dsec->sid = SECINITSID_DOM0;
             else if ( pv_shim )
                 dsec->sid = SECINITSID_DOMU;
@@ -213,7 +213,7 @@ static int cf_check flask_set_system_active(void)
 
     dsec = d->ssid;
 
-    ASSERT(d->is_privileged);
+    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
     ASSERT(dsec->sid == SECINITSID_XENBOOT);
     ASSERT(dsec->self_sid == SECINITSID_XENBOOT);
 
@@ -224,11 +224,11 @@ static int cf_check flask_set_system_active(void)
     }
 
     /*
-     * While is_privileged has no significant meaning under flask, set to false
-     * as is_privileged is not only used for a privilege check but also as a
-     * type of domain check, specifically if the domain is the control domain.
+     * While domain roles have no significant meaning under flask, mask out
+     * control domain role as it is not only used for a privilege check but
+     * also as a type of domain check.
      */
-    d->is_privileged = false;
+    d->role &= ~ROLE_CONTROL_DOMAIN;
 
     dsec->self_sid = dsec->sid = SECINITSID_XEN;
 
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:21:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574500.899836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvra-0000el-AG; Tue, 01 Aug 2023 20:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574500.899836; Tue, 01 Aug 2023 20:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvra-0000ee-7l; Tue, 01 Aug 2023 20:21:02 +0000
Received: by outflank-mailman (input) for mailman id 574500;
 Tue, 01 Aug 2023 20:21:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvrY-0000Vh-UH
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:21:00 +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 ed01d9c5-30a8-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 22:21:00 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690921221539148.37958387649314;
 Tue, 1 Aug 2023 13: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: ed01d9c5-30a8-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690921223; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kjFnFBapoQ7lQPlaLmhBGvI7h1nmY845AgXgJ0HUtbJqdU5LFjp4IS1FXBnKy7xkeKljZeRqAjxiXA5syLROHfw3HyA9jjsdv70zwIGlSF7oFV9Mk1wloUHUzpiMgQG+rLdNp7iyaNegw5MhvpDZ6Qb8B5GylqTCGPxWwhU7P04=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921223; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=c36aqSstXSR6pA2kH24inhu4JODBmXhwXRJ9bra9rs8=; 
	b=c9QZqfFpDJ1w86/B7pmdMPyXkRhywCD71Kv1KwC6Kp6mex/HXD7uxLoxYbUpq50xNhj6ARDZHQbuj3ueb/Ls9UdZd7q2Vg6NmYlh6daU2wgug+3ULYvb3ZCZWllp8vdoE3umD0M6unNdqko8YH3y+gonbTmOOKVwTMPqMbVzyM4=
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=1690921223;
	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=c36aqSstXSR6pA2kH24inhu4JODBmXhwXRJ9bra9rs8=;
	b=btgPcKIbUkSCLwMaCRscbjh82/cPU6TGLwPP0U3S/ywG+tUxcBk5jNvSLzy4/hZc
	xDBuVQuZrMeyJSFNsNe7P0xIGLMxLW1bax6KROOPs58YV0AADiOcQNToX+WyuqtVaQF
	Qms39sOusy73/lmd4LFVl0dafI4DtzhOXSaca6JQ=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC 3/6] roles: add a role for xenstore domain
Date: Tue,  1 Aug 2023 16:20:03 -0400
Message-Id: <20230801202006.20322-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Expand the possible roles for a domain to include a role for the Xenstore
domain.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/domain.c     | 3 +++
 xen/include/xen/sched.h | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0ff1d52e3d..dbf055c559 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -633,6 +633,9 @@ struct domain *domain_create(domid_t domid,
         d->role |= ROLE_HARDWARE_DOMAIN;
     }
 
+    if ( d->options & XEN_DOMCTL_CDF_xs_domain )
+        d->role |= ROLE_XENSTORE_DOMAIN;
+
     TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
 
     lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 695f240326..ec0f9baff6 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -470,6 +470,7 @@ struct domain
 #define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
 #define ROLE_CONTROL_DOMAIN    (1U<<1)
 #define ROLE_HARDWARE_DOMAIN   (1U<<2)
+#define ROLE_XENSTORE_DOMAIN   (1U<<3)
     uint8_t          role;
     /* Can this guest access the Xen console? */
     bool             is_console;
@@ -1165,7 +1166,7 @@ static inline bool is_vcpu_online(const struct vcpu *v)
 
 static inline bool is_xenstore_domain(const struct domain *d)
 {
-    return d->options & XEN_DOMCTL_CDF_xs_domain;
+    return d->role & ROLE_XENSTORE_DOMAIN;
 }
 
 static always_inline bool is_iommu_enabled(const struct domain *d)
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:21:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574503.899845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvrl-0001Eg-IA; Tue, 01 Aug 2023 20:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574503.899845; Tue, 01 Aug 2023 20:21: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 1qQvrl-0001EZ-F4; Tue, 01 Aug 2023 20:21:13 +0000
Received: by outflank-mailman (input) for mailman id 574503;
 Tue, 01 Aug 2023 20:21: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvrk-0000Vh-73
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:21:12 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3c81379-30a8-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 22:21:11 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690921222919263.86301750890664;
 Tue, 1 Aug 2023 13: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: f3c81379-30a8-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690921225; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=LJWZTW9Bg+L3Q9L21qmOk/5B1b4zY0rfPZxLFiwzTbtB2gaThkYoDLs1Gw8mYQy6W2grTkYZvfTx8zecJeh0hlctmBdjVEmJ0XWJyXQ3Ew4it1mVuTqus6oF9tujOpH0JPW4j5UYXW6VFQhMYOcUPAxSz1jsUEG4dYo5V5PccC4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921225; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=kf2Rd6TYnxR8dfigS+pnLDBD8C8lGV2r426kdzFRdWo=; 
	b=SHxaszVus3sPdBwiai8onFiR+mMahjhb+zsdUVdbFpevDmDlXQuShYnIDemHUX6lkVu0C+wYcHebM2YbDDoi2hjisRn2eB/s2lHKcaE82rcWwU/fVtLynCYk4uKnRPEWAr1Xj5U5mh4kake3JFFm8NGoScphuAQ2rlyXUDrWoIk=
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=1690921225;
	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=kf2Rd6TYnxR8dfigS+pnLDBD8C8lGV2r426kdzFRdWo=;
	b=a8Qo8Oav2zQrW8HSf67m7NJOl5msUgbNz0s6kOusuLrAyDHJkLZB2NVXh5pr6cXf
	nCAA2mi2ldd85jpcM8Rxt9y0vtKP1g0PLhHP5QhORLyT/xq6KJxJPfeyWhAKrfo7cfi
	4TOdW0fi7xdhVJKZx4NUs1n6DkdN0+upfuvu7GkU=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	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: [RFC 4/6] capabilities: introduce console io as a domain capability
Date: Tue,  1 Aug 2023 16:20:04 -0400
Message-Id: <20230801202006.20322-5-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The field `is_console` suggests that the field represents a state of being or
posession, not that it reflects the privilege to access the console. In this
patch the field is renamed to capabilities to encapsulate the capabilities a
domain has been granted. The first capability being the ability to read/write
the Xen console.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/arch/arm/domain_build.c |  4 +++-
 xen/include/xen/sched.h     | 25 +++++++++++++++++++++++--
 xen/include/xsm/dummy.h     |  2 +-
 3 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 51b4daefe1..ad7432b029 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -4076,7 +4076,9 @@ void __init create_domUs(void)
             panic("Error creating domain %s (rc = %ld)\n",
                   dt_node_name(node), PTR_ERR(d));
 
-        d->is_console = true;
+        if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )
+            printk("failed setting console_io on %pd\n", d);
+
         dt_device_set_used_by(node, d->domain_id);
 
         rc = construct_domU(d, node);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index ec0f9baff6..b04fbe0565 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -472,8 +472,8 @@ struct domain
 #define ROLE_HARDWARE_DOMAIN   (1U<<2)
 #define ROLE_XENSTORE_DOMAIN   (1U<<3)
     uint8_t          role;
-    /* Can this guest access the Xen console? */
-    bool             is_console;
+#define CAP_CONSOLE_IO  (1U<<0)
+    uint8_t          capabilities;
     /* Is this guest being debugged by dom0? */
     bool             debugger_attached;
     /*
@@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
     return is_hvm_domain(v->domain);
 }
 
+static always_inline bool domain_has_cap(
+    const struct domain *d, uint8_t cap)
+{
+    return d->capabilities & cap;
+}
+
+static always_inline bool domain_set_cap(
+    struct domain *d, uint8_t cap)
+{
+    switch ( cap )
+    {
+    case CAP_CONSOLE_IO:
+        d->capabilities |= cap;
+        break;
+    default:
+        return false;
+    }
+
+    return domain_has_cap(d, cap);
+}
+
 static always_inline bool hap_enabled(const struct domain *d)
 {
     /* sanitise_domain_config() rejects HAP && !HVM */
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 18f1ddd127..067ff1d111 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -268,7 +268,7 @@ static XSM_INLINE int cf_check xsm_console_io(
     XSM_DEFAULT_ARG struct domain *d, int cmd)
 {
     XSM_ASSERT_ACTION(XSM_OTHER);
-    if ( d->is_console )
+    if ( domain_has_cap(d, CAP_CONSOLE_IO) )
         return xsm_default_action(XSM_HOOK, d, NULL);
 #ifdef CONFIG_VERBOSE_DEBUG
     if ( cmd == CONSOLEIO_write )
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:21:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:21:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574505.899855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvry-0001rM-Oz; Tue, 01 Aug 2023 20:21:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574505.899855; Tue, 01 Aug 2023 20:21:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvry-0001rF-MO; Tue, 01 Aug 2023 20:21:26 +0000
Received: by outflank-mailman (input) for mailman id 574505;
 Tue, 01 Aug 2023 20:21: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=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvrx-0000Vh-8u
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:21:25 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbb9076f-30a8-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 22:21:24 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1690921224303856.0970233237165;
 Tue, 1 Aug 2023 13: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: fbb9076f-30a8-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690921226; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=g2IEczmY3ijXZ1YHho3IZfu6YTmF4eaEB/eX7H499qCJcVzbN3siHaE30Z50NywMmdX/UUQyM1pQ5ROIMmims1eH4GYG8VXFEO9w7f8zeCKV0lco35/iZ/zJVOi5VlhNlVOhrh1rib2T/ymt43cWzxAKPJ90RIO2/H3BilYHwN4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921226; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=7ND+sooMpw5YPJbP1s16uk5VZG1QVw0bGyicpPO6T2Q=; 
	b=iDypGFFju+iorCRbCu1v6Vydraf2VoFooKlXDnMMoCxatBohmqq7MLXRYZ6EvtmVhIRCYTY0IcJB5IJDGRDlxn7kLmSvzMRBSzc+ny80UReQAQhMEadFq6EkpXbM3vmFzBt76dVh+RKHgwoft2HdbzBhIW79uR/xA9iFW29V51E=
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=1690921226;
	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=7ND+sooMpw5YPJbP1s16uk5VZG1QVw0bGyicpPO6T2Q=;
	b=oCTDWLjidEWDIMQf7q7AdaFYNGMNs8thaCk/9VpBUqfOOxXI0I0yoAZywHIrnxPJ
	/NSZn9/wo5V2ec8POU4XZMIsUtO7/uVT7+PXa+8UhtGVTcJzYgtjmXssgOfK9VEc+Hx
	Q/5HXKNq+cQNyRErpZBxGle0x/6EUtFtv67tOfdc=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.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: [RFC 5/6] capabilities: add dom0 cpu faulting disable
Date: Tue,  1 Aug 2023 16:20:05 -0400
Message-Id: <20230801202006.20322-6-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This encapsulates disableing cpu faulting for PV dom0 as a capability.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/arch/x86/cpu-policy.c |  2 +-
 xen/arch/x86/cpu/common.c | 82 +++++++++++++++++++--------------------
 xen/arch/x86/setup.c      |  4 ++
 xen/include/xen/sched.h   |  8 +++-
 4 files changed, 52 insertions(+), 44 deletions(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 1f954d4e59..42c3193938 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -912,7 +912,7 @@ void __init init_dom0_cpuid_policy(struct domain *d)
      * If the domain is getting unfiltered CPUID, don't let the guest kernel
      * play with CPUID faulting either, as Xen's CPUID path won't cope.
      */
-    if ( !opt_dom0_cpuid_faulting && is_control_domain(d) && is_pv_domain(d) )
+    if ( domain_has_cap(d, CAP_DISABLE_CPU_FAULT) )
         p->platform_info.cpuid_faulting = false;
 
     recalculate_cpuid_policy(d);
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index cfcdaace12..937581e353 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -164,48 +164,46 @@ static void set_cpuid_faulting(bool enable)
 
 void ctxt_switch_levelling(const struct vcpu *next)
 {
-	const struct domain *nextd = next ? next->domain : NULL;
-	bool enable_cpuid_faulting;
-
-	if (cpu_has_cpuid_faulting ||
-	    boot_cpu_has(X86_FEATURE_CPUID_USER_DIS)) {
-		/*
-		 * No need to alter the faulting setting if we are switching
-		 * to idle; it won't affect any code running in idle context.
-		 */
-		if (nextd && is_idle_domain(nextd))
-			return;
-		/*
-		 * We *should* be enabling faulting for PV control domains.
-		 *
-		 * The domain builder has now been updated to not depend on
-		 * seeing host CPUID values.  This makes it compatible with
-		 * PVH toolstack domains, and lets us enable faulting by
-		 * default for all PV domains.
-		 *
-		 * However, as PV control domains have never had faulting
-		 * enforced on them before, there might plausibly be other
-		 * dependenices on host CPUID data.  Therefore, we have left
-		 * an interim escape hatch in the form of
-		 * `dom0=no-cpuid-faulting` to restore the older behaviour.
-		 */
-		enable_cpuid_faulting = nextd && (opt_dom0_cpuid_faulting ||
-		                                  !is_control_domain(nextd) ||
-		                                  !is_pv_domain(nextd)) &&
-		                        (is_pv_domain(nextd) ||
-		                         next->arch.msrs->
-		                         misc_features_enables.cpuid_faulting);
-
-		if (cpu_has_cpuid_faulting)
-			set_cpuid_faulting(enable_cpuid_faulting);
-		else
-			amd_set_cpuid_user_dis(enable_cpuid_faulting);
-
-		return;
-	}
-
-	if (ctxt_switch_masking)
-		alternative_vcall(ctxt_switch_masking, next);
+    const struct domain *nextd = next ? next->domain : NULL;
+    bool enable_cpuid_faulting;
+
+    if ( cpu_has_cpuid_faulting ||
+         boot_cpu_has(X86_FEATURE_CPUID_USER_DIS) ) {
+        /*
+        * No need to alter the faulting setting if we are switching
+        * to idle; it won't affect any code running in idle context.
+        */
+        if (nextd && is_idle_domain(nextd))
+            return;
+        /*
+        * We *should* be enabling faulting for PV control domains.
+        *
+        * The domain builder has now been updated to not depend on
+        * seeing host CPUID values.  This makes it compatible with
+        * PVH toolstack domains, and lets us enable faulting by
+        * default for all PV domains.
+        *
+        * However, as PV control domains have never had faulting
+        * enforced on them before, there might plausibly be other
+        * dependenices on host CPUID data.  Therefore, we have left
+        * an interim escape hatch in the form of
+        * `dom0=no-cpuid-faulting` to restore the older behaviour.
+        */
+        enable_cpuid_faulting = nextd &&
+            domain_has_cap(nextd, CAP_DISABLE_CPU_FAULT) &&
+            (is_pv_domain(nextd) ||
+            next->arch.msrs->misc_features_enables.cpuid_faulting);
+
+        if (cpu_has_cpuid_faulting)
+            set_cpuid_faulting(enable_cpuid_faulting);
+        else
+            amd_set_cpuid_user_dis(enable_cpuid_faulting);
+
+        return;
+    }
+
+    if (ctxt_switch_masking)
+        alternative_vcall(ctxt_switch_masking, next);
 }
 
 bool_t opt_cpu_info;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4e20edc3bf..d65144da01 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -907,6 +907,10 @@ static struct domain *__init create_dom0(const module_t *image,
 
     d->role |= ROLE_UNBOUNDED_DOMAIN;
 
+    if ( !opt_dom0_cpuid_faulting &&
+         !domain_set_cap(d, CAP_DISABLE_CPU_FAULT) )
+        printk(XENLOG_WARNING "failed to set CPU faulting on Dom %pd\n", d);
+
     init_dom0_cpuid_policy(d);
 
     if ( alloc_dom0_vcpu0(d) == NULL )
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index b04fbe0565..ebfe65cd73 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -472,7 +472,8 @@ struct domain
 #define ROLE_HARDWARE_DOMAIN   (1U<<2)
 #define ROLE_XENSTORE_DOMAIN   (1U<<3)
     uint8_t          role;
-#define CAP_CONSOLE_IO  (1U<<0)
+#define CAP_CONSOLE_IO         (1U<<0)
+#define CAP_DISABLE_CPU_FAULT  (1U<<1)
     uint8_t          capabilities;
     /* Is this guest being debugged by dom0? */
     bool             debugger_attached;
@@ -1160,6 +1161,11 @@ static always_inline bool domain_set_cap(
     case CAP_CONSOLE_IO:
         d->capabilities |= cap;
         break;
+    case CAP_DISABLE_CPU_FAULT:
+        /* Disabling cpu faulting is only allowed for a PV control domain. */
+        if ( is_pv_domain(d) && is_control_domain(d) )
+            d->capabilities |= cap;
+        break;
     default:
         return false;
     }
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 20:21:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 20:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574506.899866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvs8-0002HV-1j; Tue, 01 Aug 2023 20:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574506.899866; Tue, 01 Aug 2023 20:21:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQvs7-0002HO-Ub; Tue, 01 Aug 2023 20:21:35 +0000
Received: by outflank-mailman (input) for mailman id 574506;
 Tue, 01 Aug 2023 20:21:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B3Rc=DS=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qQvs6-0000Vh-NB
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 20:21:34 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 015545d7-30a9-11ee-b25c-6b7b168915f2;
 Tue, 01 Aug 2023 22:21:33 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 169092122567987.94507889080217;
 Tue, 1 Aug 2023 13: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: 015545d7-30a9-11ee-b25c-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1690921227; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=eG/Jtj2jjhormLMJ8XaVecZkgDIqh8gVxgA4QY1AJ284PvyjA8JAMQ69PlgD5dj/o9HsZPzDydB1/djt8Thmj1SFXlXELhLph/E0r+BOpyOpze+/57pFXGJiTTCuJiSMro+AHiwzn8HiqoGm0mej89q49uEMansFfQ9fQbqinp8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1690921227; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=svZfhnzIdfl7IZVzuYzxJG9861EfU+6CgnykhTEOAGo=; 
	b=gcq3ynDrvoMA+5ma7mE1tahSxRik03zdp5XIFeYhwZzhONbzcKcZrrHpTDpDTLdQUTLhEWHWSQNSyuIT6hBV8NSIr6hjnnfKnc1VLTpsYm9n7dop2JP9rxGvnT0MkXYHP+pFQrciwPLrXKsc2tsEM1ozQnTMqZvklB+yGqUtZxg=
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=1690921227;
	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=svZfhnzIdfl7IZVzuYzxJG9861EfU+6CgnykhTEOAGo=;
	b=mSptNUuNqsChDAreussuY050V7fWTUHVOlYiNTMjMZt9oOuskamL7WrMR6aEMIG+
	PLxoMKPl1sBCkvGqp4KDDSrCfqo39vlF7GSYF8CO+SuFfjIe+yVW3iTXp4vRApmrDve
	ZVg5vjrZFJ6bog455l770X5d1NuIuTfiohv1dQBg=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.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>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [RFC 6/6] capabilities: convert attach debugger into a capability
Date: Tue,  1 Aug 2023 16:20:06 -0400
Message-Id: <20230801202006.20322-7-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230801202006.20322-1-dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Expresses the ability to attach a debugger as a capability that a domain can be
provisioned.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/arch/x86/hvm/svm/svm.c      |  8 ++++----
 xen/arch/x86/hvm/vmx/realmode.c |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c     |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c      | 10 +++++-----
 xen/arch/x86/traps.c            |  6 ++++--
 xen/common/domctl.c             |  6 ++++--
 xen/include/xen/sched.h         |  9 ++++++---
 7 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 27170213ae..9872804d39 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -999,7 +999,7 @@ static void noreturn cf_check svm_do_resume(void)
 {
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
-    bool debug_state = (v->domain->debugger_attached ||
+    bool debug_state = (domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) ||
                         v->domain->arch.monitor.software_breakpoint_enabled ||
                         v->domain->arch.monitor.debug_exception_enabled);
     bool_t vcpu_guestmode = 0;
@@ -1335,7 +1335,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
         }
         /* fall through */
     case X86_EXC_BP:
-        if ( curr->domain->debugger_attached )
+        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
         {
             /* Debug/Int3: Trap to debugger. */
             domain_pause_for_debugger();
@@ -2732,7 +2732,7 @@ void svm_vmexit_handler(void)
 
     case VMEXIT_ICEBP:
     case VMEXIT_EXCEPTION_DB:
-        if ( !v->domain->debugger_attached )
+        if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
         {
             unsigned int trap_type;
 
@@ -2769,7 +2769,7 @@ void svm_vmexit_handler(void)
         if ( insn_len == 0 )
              break;
 
-        if ( v->domain->debugger_attached )
+        if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
         {
             /* AMD Vol2, 15.11: INT3, INTO, BOUND intercepts do not update RIP. */
             __update_guest_eip(regs, insn_len);
diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c
index ff44ddcfa6..f761026a9d 100644
--- a/xen/arch/x86/hvm/vmx/realmode.c
+++ b/xen/arch/x86/hvm/vmx/realmode.c
@@ -121,7 +121,7 @@ void vmx_realmode_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt)
 
     if ( rc == X86EMUL_EXCEPTION )
     {
-        if ( unlikely(curr->domain->debugger_attached) &&
+        if ( unlikely(domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH)) &&
              ((hvmemul_ctxt->ctxt.event.vector == X86_EXC_DB) ||
               (hvmemul_ctxt->ctxt.event.vector == X86_EXC_BP)) )
         {
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 13719cc923..9474869018 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -1912,7 +1912,7 @@ void cf_check vmx_do_resume(void)
         hvm_asid_flush_vcpu(v);
     }
 
-    debug_state = v->domain->debugger_attached
+    debug_state = domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH)
                   || v->domain->arch.monitor.software_breakpoint_enabled
                   || v->domain->arch.monitor.singlestep_enabled;
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7ec44018d4..5069e3cbf3 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2041,7 +2041,7 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
             break;
         /* fall through */
     case X86_EXC_BP:
-        if ( curr->domain->debugger_attached )
+        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
         {
             /* Debug/Int3: Trap to debugger. */
             domain_pause_for_debugger();
@@ -2121,7 +2121,7 @@ static void cf_check vmx_set_info_guest(struct vcpu *v)
      * immediately vmexit and hence make no progress.
      */
     __vmread(GUEST_INTERRUPTIBILITY_INFO, &intr_shadow);
-    if ( v->domain->debugger_attached &&
+    if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) &&
          (v->arch.user_regs.eflags & X86_EFLAGS_TF) &&
          (intr_shadow & VMX_INTR_SHADOW_STI) )
     {
@@ -4283,7 +4283,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 }
             }
 
-            if ( !v->domain->debugger_attached )
+            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
             {
                 unsigned long insn_len = 0;
                 int rc;
@@ -4307,7 +4307,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             break;
         case X86_EXC_BP:
             HVMTRACE_1D(TRAP, vector);
-            if ( !v->domain->debugger_attached )
+            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
             {
                 unsigned long insn_len;
                 int rc;
@@ -4647,7 +4647,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                               HVM_MONITOR_SINGLESTEP_BREAKPOINT,
                               0, 0, 0);
 
-            if ( v->domain->debugger_attached )
+            if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
                 domain_pause_for_debugger();
         }
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 4229bda159..041ced35ea 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1214,7 +1214,8 @@ void do_int3(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
+    if ( guest_kernel_mode(curr, regs) &&
+         domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
     {
         curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
         domain_pause_for_debugger();
@@ -1995,7 +1996,8 @@ void do_debug(struct cpu_user_regs *regs)
     v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
     v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
 
-    if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
+    if ( guest_kernel_mode(v, regs) &&
+         domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
     {
         domain_pause_for_debugger();
         return;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 505e29c0dc..895ddf0600 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -99,7 +99,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
         ((d->is_dying == DOMDYING_dead) ? XEN_DOMINF_dying     : 0) |
         (d->is_shut_down                ? XEN_DOMINF_shutdown  : 0) |
         (d->controller_pause_count > 0  ? XEN_DOMINF_paused    : 0) |
-        (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
+        (domain_has_cap(d, CAP_DEBUGGER_ATTACH) ?
+                                          XEN_DOMINF_debugged  : 0) |
         (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
         (is_hvm_domain(d)               ? XEN_DOMINF_hvm_guest : 0) |
         d->shutdown_code << XEN_DOMINF_shutdownshift;
@@ -643,7 +644,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
         else
         {
             domain_pause(d);
-            d->debugger_attached = !!op->u.setdebugging.enable;
+            if ( !!op->u.setdebugging.enable )
+                domain_set_cap(d, CAP_DEBUGGER_ATTACH);
             domain_unpause(d); /* causes guest to latch new status */
         }
         break;
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index ebfe65cd73..47eadb5008 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -474,9 +474,8 @@ struct domain
     uint8_t          role;
 #define CAP_CONSOLE_IO         (1U<<0)
 #define CAP_DISABLE_CPU_FAULT  (1U<<1)
-    uint8_t          capabilities;
-    /* Is this guest being debugged by dom0? */
-    bool             debugger_attached;
+#define CAP_DEBUGGER_ATTACH    (1U<<2)
+    uint16_t         capabilities;
     /*
      * Set to true at the very end of domain creation, when the domain is
      * unpaused for the first time by the systemcontroller.
@@ -1166,6 +1165,10 @@ static always_inline bool domain_set_cap(
         if ( is_pv_domain(d) && is_control_domain(d) )
             d->capabilities |= cap;
         break;
+    case CAP_DEBUGGER_ATTACH:
+        if ( !is_control_domain(d) )
+            d->capabilities |= cap;
+        break;
     default:
         return false;
     }
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:03:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:03:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574525.899875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQwWF-0007It-5p; Tue, 01 Aug 2023 21:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574525.899875; Tue, 01 Aug 2023 21:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQwWF-0007Im-2m; Tue, 01 Aug 2023 21:03:03 +0000
Received: by outflank-mailman (input) for mailman id 574525;
 Tue, 01 Aug 2023 21:03: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 1qQwWD-0007Id-GL
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 21:03:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQwWD-0007y7-2t; Tue, 01 Aug 2023 21:03:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQwWC-0000HK-R9; Tue, 01 Aug 2023 21:03:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=5xAoF19G5on0AAgh3e8gncEBAhAwmSFAmOP58Ky81R4=; b=YFSpjnfbYwpQkIKdmDmVb3E3d9
	BkrxyKDoHq6cK4211Ssb5BVD3wBG9WA0R+G8yorjyHD6NC1Nc1+DCY3k8cwrifM4yxIQBmVcviHEV
	4vGkNNXRkQr9OCOOUD4nj91ximxpgeCPfc/T+P+KFZKmTfMsBwIG3E62+sUNagwLN9pQ=;
Message-ID: <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
Date: Tue, 1 Aug 2023 22:02:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Khem Raj <raj.khem@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Michal Orzel <michal.orzel@amd.com>
References: <20230801174930.2995947-1-raj.khem@gmail.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
In-Reply-To: <20230801174930.2995947-1-raj.khem@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Title: This patch is not arm32 specific anymore. So I would replace 
'arm32' with 'arm'. This can be done on commit.

On 01/08/2023 18:49, Khem Raj wrote:
> Assembler from binutils 2.41 rejects [1] this syntax
> 
> .section "name"[, flags...]
> 
> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
> 
> It is almost like a regression compared to 2.40 or older release,

The next word after ',' start with an uppercase. Did you intend to use 
'.' rather than ','?

That said, the documentation has the following:

For SPARC ELF targets, the assembler supports another type of .section 
directive for compatibility with the Solaris assembler:"

This leads me to think this is not a regression and instead an intended 
behavior (even though it breaks older build) even it breaks build.

I would suggest to reword the commit message to:

"
Assembler from binutiles 2.41 will rejects ([1], [2]) the following syntax

.section "name", #alloc

for any other any target other than ELF SPARC. This means we can't use 
it in the Arm code.

So switch to the GNU syntax

.section name [, "flags"[, @type]]

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
[2] https://sourceware.org/binutils/docs-2.41/as.html#Section

If you agree with the commit message, I can update it while committing.

We should also consider to backport.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574533.899889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQwon-0001Mj-Lm; Tue, 01 Aug 2023 21:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574533.899889; Tue, 01 Aug 2023 21: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 1qQwon-0001Mc-J8; Tue, 01 Aug 2023 21:22:13 +0000
Received: by outflank-mailman (input) for mailman id 574533;
 Tue, 01 Aug 2023 21:22: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 1qQwom-0001MO-HX; Tue, 01 Aug 2023 21:22: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 1qQwom-0008Qo-EJ; Tue, 01 Aug 2023 21:22: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 1qQwol-0008Fv-Tv; Tue, 01 Aug 2023 21:22:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qQwol-0001I9-TR; Tue, 01 Aug 2023 21:22:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xnsDnzCINM3KD3vxcozsDMYUPpfRShH50fkVNrm7m9c=; b=nQJUvhigVq11856Jw8IxlQa3oh
	c7wmymJ5FJXFX1qkKpI120OxK1cU70tZxuU8AK0ZY7Ji/B4J+7JL75UXP3+F5Yv+vxo9zQbmZcnae
	YfJfa5lvvK6KG/xAlreXcOuSOc7orUXzOfBLwH0XyOm3sZZFCGLAlX1jhSPvAnGQepeU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182092-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 182092: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=602ee4c2954ed3f9f8552e08043146bee60ec012
X-Osstest-Versions-That:
    xen=64b40594f589c9069fb8cf3899d4aac59c86d4f1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 01 Aug 2023 21:22:11 +0000

flight 182092 xen-4.14-testing real [real]
flight 182104 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182092/
http://logs.test-lab.xenproject.org/osstest/logs/182104/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 182104-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 182104-retest

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

version targeted for testing:
 xen                  602ee4c2954ed3f9f8552e08043146bee60ec012
baseline version:
 xen                  64b40594f589c9069fb8cf3899d4aac59c86d4f1

Last test of basis   181996  2023-07-24 16:37:10 Z    8 days
Testing same since   182092  2023-07-31 13:06:48 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   64b40594f5..602ee4c295  602ee4c2954ed3f9f8552e08043146bee60ec012 -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:29:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574539.899900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQwvx-00021c-Ej; Tue, 01 Aug 2023 21:29:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574539.899900; Tue, 01 Aug 2023 21:29:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQwvx-00021V-Ar; Tue, 01 Aug 2023 21:29:37 +0000
Received: by outflank-mailman (input) for mailman id 574539;
 Tue, 01 Aug 2023 21:29:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qQwvv-00021P-QP
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 21:29:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQwvu-00007d-Vm; Tue, 01 Aug 2023 21:29:34 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQwvu-0001JL-Pz; Tue, 01 Aug 2023 21:29:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=mWg3GZe2EMYm8jv+TPe6s28ff4x2p+sSJJfNamkRpVI=; b=J1+xlsNLJb81lUGUEsGg5VR+O0
	/GTVpweTIpoIAyuzkPYiKI6EBskx1bpFiILDUmgyV+02NF4TtHW3ldFNqECOWA7oEwo/cOxqWaQ8t
	r9ZnZutmfvjKmct7bR+mvl6JVSo7ROtZNmQ6vAuaBg9ASbHnKeL7ji+NARpYex44nycU=;
Message-ID: <41f92dc6-7d3f-9342-5521-cdb99d8ee405@xen.org>
Date: Tue, 1 Aug 2023 22:29:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-19-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 18/25] tools/xenstore: don't use struct node_perms in
 struct node
In-Reply-To: <20230724110247.10520-19-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 24/07/2023 12:02, Juergen Gross wrote:
> Open code struct node_perms in struct node in order to prepare using
> struct node_hdr in struct node.
> 
> Add two helpers to transfer permissions between struct node and struct
> node_perms.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> ---
>   tools/xenstore/xenstored_core.c        | 76 ++++++++++++++------------
>   tools/xenstore/xenstored_core.h        | 21 ++++++-
>   tools/xenstore/xenstored_domain.c      | 13 ++---
>   tools/xenstore/xenstored_transaction.c |  8 +--
>   tools/xenstore/xenstored_watch.c       |  7 ++-
>   5 files changed, 75 insertions(+), 50 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index 86b7c9bf36..c72fc0c725 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -735,7 +735,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
>   
>   	/* Datalen, childlen, number of permissions */
>   	node->generation = hdr->generation;
> -	node->perms.num = hdr->num_perms;
> +	node->num_perms = hdr->num_perms;
>   	node->datalen = hdr->datalen;
>   	node->childlen = hdr->childlen;
>   	node->acc.domid = perms_from_node_hdr(hdr)->id;
> @@ -743,8 +743,8 @@ struct node *read_node(struct connection *conn, const void *ctx,
>   
>   	/* Copy node data to new memory area, starting with permissions. */
>   	size -= sizeof(*hdr);
> -	node->perms.p = talloc_memdup(node, perms_from_node_hdr(hdr), size);
> -	if (node->perms.p == NULL) {
> +	node->perms = talloc_memdup(node, perms_from_node_hdr(hdr), size);
> +	if (node->perms == NULL) {
>   		errno = ENOMEM;
>   		goto error;
>   	}
> @@ -757,7 +757,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
>   		node->acc.memory = 0;
>   
>   	/* Data is binary blob (usually ascii, no nul). */
> -	node->data = node->perms.p + hdr->num_perms;
> +	node->data = node->perms + hdr->num_perms;
>   	/* Children is strings, nul separated. */
>   	node->children = node->data + node->datalen;
>   
> @@ -796,7 +796,7 @@ int write_node_raw(struct connection *conn, const char *db_name,
>   		return errno;
>   
>   	size = sizeof(*hdr)
> -		+ node->perms.num * sizeof(node->perms.p[0])
> +		+ node->num_perms * sizeof(node->perms[0])
>   		+ node->datalen + node->childlen;
>   
>   	/* Call domain_max_chk() in any case in order to record max values. */
> @@ -813,13 +813,13 @@ int write_node_raw(struct connection *conn, const char *db_name,
>   
>   	hdr = data;
>   	hdr->generation = node->generation;
> -	hdr->num_perms = node->perms.num;
> +	hdr->num_perms = node->num_perms;
>   	hdr->datalen = node->datalen;
>   	hdr->childlen = node->childlen;
>   
>   	p = perms_from_node_hdr(hdr);
> -	memcpy(p, node->perms.p, node->perms.num * sizeof(*node->perms.p));
> -	p += node->perms.num * sizeof(*node->perms.p);
> +	memcpy(p, node->perms, node->num_perms * sizeof(*node->perms));
> +	p += node->num_perms * sizeof(*node->perms);
>   	memcpy(p, node->data, node->datalen);
>   	p += node->datalen;
>   	memcpy(p, node->children, node->childlen);
> @@ -900,6 +900,7 @@ static int ask_parents(struct connection *conn, const void *ctx,
>   		       const char *name, unsigned int *perm)
>   {
>   	struct node *node;
> +	struct node_perms perms;
>   
>   	do {
>   		name = get_parent(ctx, name);
> @@ -919,7 +920,8 @@ static int ask_parents(struct connection *conn, const void *ctx,
>   		return 0;
>   	}
>   
> -	*perm = perm_for_conn(conn, &node->perms);
> +	node_to_node_perms(node, &perms);
> +	*perm = perm_for_conn(conn, &perms);

This seems to be a common pattern. Can you introduce a wrapper?

>   	return 0;
>   }
>   
> @@ -956,11 +958,13 @@ static struct node *get_node(struct connection *conn,
>   			     unsigned int perm)
>   {
>   	struct node *node;
> +	struct node_perms perms;
>   
>   	node = read_node(conn, ctx, name);
>   	/* If we don't have permission, we don't have node. */
>   	if (node) {
> -		if ((perm_for_conn(conn, &node->perms) & perm) != perm) {
> +		node_to_node_perms(node, &perms);
> +		if ((perm_for_conn(conn, &perms) & perm) != perm) {
>   			errno = EACCES;
>   			node = NULL;
>   		}
> @@ -1434,14 +1438,14 @@ static struct node *construct_node(struct connection *conn, const void *ctx,
>   		node->name = talloc_steal(node, names[levels - 1]);
>   
>   		/* Inherit permissions, unpriv domains own what they create. */
> -		node->perms.num = parent->perms.num;
> -		node->perms.p = talloc_memdup(node, parent->perms.p,
> -					      node->perms.num *
> -					      sizeof(*node->perms.p));
> -		if (!node->perms.p)
> +		node->num_perms = parent->num_perms;
> +		node->perms = talloc_memdup(node, parent->perms,
> +					    node->num_perms *
> +					    sizeof(*node->perms));
> +		if (!node->perms)
>   			goto nomem;
>   		if (domain_is_unprivileged(conn))
> -			node->perms.p[0].id = conn->id;
> +			node->perms[0].id = conn->id;
>   
>   		/* No children, no data */
>   		node->children = node->data = NULL;
> @@ -1764,12 +1768,14 @@ static int do_get_perms(const void *ctx, struct connection *conn,
>   	struct node *node;
>   	char *strings;
>   	unsigned int len;
> +	struct node_perms perms;
>   
>   	node = get_spec_node(conn, ctx, onearg(in), NULL, XS_PERM_READ);
>   	if (!node)
>   		return errno;
>   
> -	strings = perms_to_strings(node, &node->perms, &len);
> +	node_to_node_perms(node, &perms);
> +	strings = perms_to_strings(node, &perms, &len);

This is the only user of perms_to_strings(). So can we just pass the 
node rather than the perms? This would avoid the call to 
node_to_node_perms().

>   	if (!strings)
>   		return errno;
>   
> @@ -1818,10 +1824,10 @@ static int do_set_perms(const void *ctx, struct connection *conn,
>   	    perms.p[0].id != get_node_owner(node))
>   		return EPERM;
>   
> -	old_perms = node->perms;
> +	node_to_node_perms(node, &old_perms);
>   	if (domain_nbentry_dec(conn, get_node_owner(node)))
>   		return ENOMEM;
> -	node->perms = perms;
> +	node_perms_to_node(&perms, node);
>   	if (domain_nbentry_inc(conn, get_node_owner(node)))
>   		return ENOMEM;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:34:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574545.899909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQx0J-0003Vv-1Y; Tue, 01 Aug 2023 21:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574545.899909; Tue, 01 Aug 2023 21:34:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQx0I-0003Vo-VJ; Tue, 01 Aug 2023 21:34:06 +0000
Received: by outflank-mailman (input) for mailman id 574545;
 Tue, 01 Aug 2023 21:34:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qQx0H-0003Vi-Sm
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 21:34:05 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQx0H-0000D3-70; Tue, 01 Aug 2023 21:34:05 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQx0H-0001X9-1w; Tue, 01 Aug 2023 21:34:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tnhdVY1efL6wdvUGeDL7OkJOXxe7OXVl6sH5Tez9BSU=; b=a6TFJhlyi3VeShbff21naQM42C
	9xtV1nCaKXXrXo950RhzqFLzh2/8pFIqSo6OWGGiub9m2HWbgZsMVgSRec/8OgafqKbc6pviDpJC7
	O28TVkZITPT4ZC2YV9S2VPvSvDzHz3YD7HFTFyIkpkyd1/bhdv5WPXFT9uiLbRq8Dp1E=;
Message-ID: <dc888f49-0e9e-cce3-541e-9eb6cc6d599b@xen.org>
Date: Tue, 1 Aug 2023 22:34:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v3 19/25] tools/xenstore: use struct node_hdr in struct
 node
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-20-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230724110247.10520-20-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 24/07/2023 12:02, Juergen Gross wrote:
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index c72fc0c725..404ecd0c62 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -555,6 +555,12 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
>   	}
>   }
>   
> +static size_t calc_node_acc_size(struct node_hdr *hdr)

The parameter can be const.

> +{
> +	return sizeof(*hdr) + hdr->num_perms * sizeof(struct xs_permissions) +
> +	       hdr->datalen + hdr->childlen;
> +}
> +

[...]

> diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
> index 9cb4c2f3eb..adf8a785fc 100644
> --- a/tools/xenstore/xenstored_core.h
> +++ b/tools/xenstore/xenstored_core.h
> @@ -181,6 +181,7 @@ extern struct list_head connections;
>    */
>   struct node_hdr {
>   	uint64_t generation;
> +#define NO_GENERATION ~((uint64_t)0)
>   	uint16_t num_perms;
>   	uint16_t datalen;
>   	uint32_t childlen;
> @@ -197,6 +198,10 @@ struct node_account_data {
>   };
>   
>   struct node {
> +	/* Data direct for data base. */

I can't parse it. Did you mean 'from' rather than 'for'?

> +	struct node_hdr hdr;
> +
> +	/* Xenstore path. */
>   	const char *name;
>   	/* Name used to access data base. */
>   	const char *db_name;
> @@ -204,20 +209,13 @@ struct node {
>   	/* Parent (optional) */
>   	struct node *parent;
Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:46:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:46:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574549.899920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxC1-00053z-52; Tue, 01 Aug 2023 21:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574549.899920; Tue, 01 Aug 2023 21: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 1qQxC1-00053s-1r; Tue, 01 Aug 2023 21:46:13 +0000
Received: by outflank-mailman (input) for mailman id 574549;
 Tue, 01 Aug 2023 21:46:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qQxBz-00053m-PA
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 21:46: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 1qQxBy-0000OY-R9; Tue, 01 Aug 2023 21:46:10 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQxBy-00024c-M1; Tue, 01 Aug 2023 21:46:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=DfN7B1+PFgLt4NmDJOm3OKQ0rnGv+Wa/Cy3yHVp9wdw=; b=mKh8ahpKfBKWs9GK2R+scYK/4V
	LaCr05ldOgZxVh52+rBO06dKQ4wm1XsWJ7pcs9ILGBIygSYruJ9B/H8RaEG68vqRu7XOTqfWSOvtE
	tRIOMF+EzVrpSqwsXqdzHXCv19KMzf6SMMjMGXAKfx7nEdsbsZPKjbp8umdaBNA19xug=;
Message-ID: <eee34bcc-2937-4a1f-b326-4a21c9db2173@xen.org>
Date: Tue, 1 Aug 2023 22:46:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-21-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 20/25] tools/xenstore: alloc new memory in
 domain_adjust_node_perms()
In-Reply-To: <20230724110247.10520-21-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 24/07/2023 12:02, Juergen Gross wrote:
> In order to avoid modifying the node data in the data base in case a
> domain is gone, let domain_adjust_node_perms() allocate new memory for
> the permissions in case they need to be modified. As this should
> happen only in very rare cases, it is fine to do this even when having
> copied the node data already.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - new patch
> ---
>   tools/xenstore/xenstored_core.c   | 10 +++++-----
>   tools/xenstore/xenstored_domain.c | 19 +++++++++++++++----
>   2 files changed, 20 insertions(+), 9 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index 404ecd0c62..ea3d20a372 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -751,6 +751,11 @@ struct node *read_node(struct connection *conn, const void *ctx,
>   		goto error;
>   	}
>   
> +	/* Data is binary blob (usually ascii, no nul). */
> +	node->data = node->perms + hdr->num_perms;
> +	/* Children is strings, nul separated. */
> +	node->children = node->data + node->hdr.datalen;
> +

It took me a while to understand why you move the lines above. I tihnk 
it would be worth documenting in the code (possibly on top of the 
declaration domain_adjust_node_perms()) that domain_adjust_node_perms() 
may re-allocate the permissions.

>   	if (domain_adjust_node_perms(node))
>   		goto error;
>   
> @@ -758,11 +763,6 @@ struct node *read_node(struct connection *conn, const void *ctx,
>   	if (node->acc.domid != get_node_owner(node))
>   		node->acc.memory = 0;
>   
> -	/* Data is binary blob (usually ascii, no nul). */
> -	node->data = node->perms + hdr->num_perms;
> -	/* Children is strings, nul separated. */
> -	node->children = node->data + node->hdr.datalen;
> -
>   	if (access_node(conn, node, NODE_ACCESS_READ, NULL))
>   		goto error;
>   
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index fdf1095acb..cdef6efef4 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -1334,13 +1334,24 @@ int domain_alloc_permrefs(struct node_perms *perms)
>   int domain_adjust_node_perms(struct node *node)
>   {
>   	unsigned int i;
> +	struct xs_permissions *perms = node->perms;
> +	bool copied = false;
>   
>   	for (i = 1; i < node->hdr.num_perms; i++) {
> -		if (node->perms[i].perms & XS_PERM_IGNORE)
> +		if ((perms[i].perms & XS_PERM_IGNORE) ||
> +		    chk_domain_generation(perms[i].id, node->hdr.generation))
>   			continue;
> -		if (!chk_domain_generation(node->perms[i].id,
> -					   node->hdr.generation))
> -			node->perms[i].perms |= XS_PERM_IGNORE;
> +
> +		if (!copied) {

This wants a coment explain why you need to copy it.

> +			perms = talloc_memdup(node, node->perms,
> +					node->hdr.num_perms * sizeof(*perms));
> +			if (!perms)
> +				return ENOMEM;
> +			node->perms = perms;
> +			copied = true;
> +		}
> +
> +		perms[i].perms |= XS_PERM_IGNORE;
>   	}
>   
>   	return 0;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 21:50:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 21:50:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574554.899929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxG4-0006Wb-Ks; Tue, 01 Aug 2023 21:50:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574554.899929; Tue, 01 Aug 2023 21:50:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxG4-0006WU-Hv; Tue, 01 Aug 2023 21:50:24 +0000
Received: by outflank-mailman (input) for mailman id 574554;
 Tue, 01 Aug 2023 21:50: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=w4lv=DS=gmail.com=raj.khem@srs-se1.protection.inumbo.net>)
 id 1qQxG3-0006WO-Iz
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 21:50:23 +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 69347b35-30b5-11ee-8613-37d641c3527e;
 Tue, 01 Aug 2023 23:50:21 +0200 (CEST)
Received: by mail-oa1-x32.google.com with SMTP id
 586e51a60fabf-1bba7717d3bso4559742fac.1
 for <xen-devel@lists.xenproject.org>; Tue, 01 Aug 2023 14: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: 69347b35-30b5-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1690926620; x=1691531420;
        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=d5rCAtpBNZXLPF1OmSD+Axody9pboeWmdmrPPO1MaOI=;
        b=QF+pguATSKLHX1a7qURHsLDFb43GgVsOkXf+YuzRuMvfzL9u5Lm6/098at+Bo0X0OF
         psFPWkV9dkhMY3jlc/rMbwXI9UTZiBF/RW+8PRi1lG6+4ghn/8BehNZybrIdpaEH5JEV
         5pt+N8rDlySShFuIpvdijSW30mWvyqDireSey6RvsweRndchMt8+whuKYgGbmY2sGnV0
         W81/3ELo1uaMGYSWLnuD5zVt1vYULErJbl3gL/o8D9teaFjxXO4BSYHJNe4ridR97gF0
         ix99cvJ/CRW3DfSABez1awxLg5qXsUazFs+BzNi+R6PkkrNNCAJkEcOSv+D6rAxybGPa
         F4cA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690926620; x=1691531420;
        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=d5rCAtpBNZXLPF1OmSD+Axody9pboeWmdmrPPO1MaOI=;
        b=JHiRUe9R/CKNh6/HssyBOJYAiIvcGNER7wj0pbsid/VXOdS81jhN8JSamFzBZrjNyH
         2NR+dT+9mTvS1uv4rZ9kUBKEmbwkt2IEDJ4RZZFIHVIgD4lYArxgs5u5+UGzrPvH8rMZ
         Gda14bDllD9gYEDqh8LvemK294gJ6gAEps0kkQWv5opGNKBq7R53AIkxrGnEEiiTqASU
         PQUXbIO6aZMeeFPA+tsPeDgfXIKS6gZaUv6DstW1hXnTmR4lg5CiBGscbN3sFFNNrX9s
         Cvb2E5HHiQWQsnIHQu+JFlxvzzgxCEbhbcwePn4oC1Fovn9P+rZt6CLTm8H2OJwZuaSz
         7GHw==
X-Gm-Message-State: ABy/qLYAtvLuvVu3EQWAieXGX/yFZ8kApFxxo1Oj4y98XMGa0u1i57Q/
	jTDeroRf9RXlhPcPZedAt4hGceUtPBaMc8GFqFg=
X-Google-Smtp-Source: APBJJlHX6m3nhYISCmTsQNwrp4Xd3U2QurjDzHUUYAgcbCgWYobQ5O1r4hHvwoL383XfwQOaaqHnRgBIJ51SsErIQi4=
X-Received: by 2002:a05:6870:46a5:b0:1b0:25b4:4b7a with SMTP id
 a37-20020a05687046a500b001b025b44b7amr17682930oap.51.1690926620049; Tue, 01
 Aug 2023 14:50:20 -0700 (PDT)
MIME-Version: 1.0
References: <20230801174930.2995947-1-raj.khem@gmail.com> <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
In-Reply-To: <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 1 Aug 2023 14:49:53 -0700
Message-ID: <CAMKF1srf0h=x7vSv4jF6AwyJfsmeddzyPOjSog7eK7TeF9yjsQ@mail.gmail.com>
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section directive
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 1, 2023 at 2:03=E2=80=AFPM Julien Grall <julien@xen.org> wrote:
>
> Hi,
>
> Title: This patch is not arm32 specific anymore. So I would replace
> 'arm32' with 'arm'. This can be done on commit.
>
> On 01/08/2023 18:49, Khem Raj wrote:
> > Assembler from binutils 2.41 rejects [1] this syntax
> >
> > .section "name"[, flags...]
> >
> > where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
> >
> > It is almost like a regression compared to 2.40 or older release,
>
> The next word after ',' start with an uppercase. Did you intend to use
> '.' rather than ','?
>
> That said, the documentation has the following:
>
> For SPARC ELF targets, the assembler supports another type of .section
> directive for compatibility with the Solaris assembler:"
>
> This leads me to think this is not a regression and instead an intended
> behavior (even though it breaks older build) even it breaks build.
>
> I would suggest to reword the commit message to:
>
> "
> Assembler from binutiles 2.41 will rejects ([1], [2]) the following synta=
x
>
> .section "name", #alloc
>
> for any other any target other than ELF SPARC. This means we can't use
> it in the Arm code.
>
> So switch to the GNU syntax
>
> .section name [, "flags"[, @type]]
>
> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=3D11601
> [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
>
> If you agree with the commit message, I can update it while committing.

LGTM, go ahead.

>
> We should also consider to backport.
>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:00:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574560.899940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxQA-00084S-FI; Tue, 01 Aug 2023 22:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574560.899940; Tue, 01 Aug 2023 22:00:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxQA-00084L-Bl; Tue, 01 Aug 2023 22:00:50 +0000
Received: by outflank-mailman (input) for mailman id 574560;
 Tue, 01 Aug 2023 22:00: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 1qQxQ9-00084F-Mt
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:00: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 1qQxQ8-0000oj-V7; Tue, 01 Aug 2023 22:00:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qQxQ8-0002a3-PG; Tue, 01 Aug 2023 22:00:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=gLfJupRwQ7HYE1cXcogQMMCy5YqnUZMWBbvO46IEjB0=; b=l2ksIYWLtQhr8tUB86lXcO3F0h
	M7I50l7QzaUmCi2JZLE1nx4qOMRMkDivIsuz7MxzgxlOLu6fKtU+XUTp1dLQOUnX0+qEjbVqre/Ea
	scyMRjWDk1LI8mSYNWY17VNzgG2Zx4OrtL8XqJTlP5LEsrLSoYoncIw2CQ68CQpdm2WQ=;
Message-ID: <ffbb1cfc-e99b-6d45-f123-f347c5897c88@xen.org>
Date: Tue, 1 Aug 2023 23:00:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-22-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 21/25] tools/xenstore: introduce read_node_nocopy()
In-Reply-To: <20230724110247.10520-22-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

Title: I can't find read_node_nocopy(). I found a read_node_const(). 
Which name did you intend to use?

On 24/07/2023 12:02, Juergen Gross wrote:
> +static int read_node_helper(struct connection *conn, struct node *node)
> +{
>   	/* Data is binary blob (usually ascii, no nul). */
> -	node->data = node->perms + hdr->num_perms;
> +	node->data = node->perms + node->hdr.num_perms;
>   	/* Children is strings, nul separated. */
>   	node->children = node->data + node->hdr.datalen;
>   
>   	if (domain_adjust_node_perms(node))
> -		goto error;
> +		return -1;

You are either returning 0 or -1 which is then only used in if ( ... ). 
Can we simply return a boolean (true for success, false for a failure)?

The rest LGTM.

>   
>   	/* If owner is gone reset currently accounted memory size. */
>   	if (node->acc.domid != get_node_owner(node))
>   		node->acc.memory = 0;
>   
>   	if (access_node(conn, node, NODE_ACCESS_READ, NULL))
> +		return -1;
> +
> +	return 0;
> +}

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:29:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:29:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574569.899951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxrz-0002GE-Nm; Tue, 01 Aug 2023 22:29:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574569.899951; Tue, 01 Aug 2023 22:29:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQxrz-0002G7-IC; Tue, 01 Aug 2023 22:29:35 +0000
Received: by outflank-mailman (input) for mailman id 574569;
 Tue, 01 Aug 2023 22:29: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=j6MK=DS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQxry-0002G1-0d
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:29:34 +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 e20faa3f-30ba-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 00:29:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3520E61696;
 Tue,  1 Aug 2023 22:29:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04990C433C7;
 Tue,  1 Aug 2023 22:29:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e20faa3f-30ba-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690928969;
	bh=y7Xj3uYtClikgUD+bLbpt8U+auf0lAO5gADuiw8ZcWM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EHuXYE+ZYSKFBO+sr5dpsomE3370A4lpxngSk+43GmuwhwtUt9n1JlcpE+1BymtNC
	 NsPdcZBSc2u1yh+gScXJDIkeD6YENbxBTgRh7FBmtWprIx8O4hKxZFczjBTb0yK2Pb
	 fa4UGenoZNE0zG6fRieLwAAW8FClRGineWPY9GsdOAldrD1Ih2tf7bNZeR0CEJkkyZ
	 t1p1eh02Cl5LYU66jDc8lYRZ3HW6CqQENh5YX+y+ZY1ioWG0SNHGZjJJrjMp8wFBCO
	 thzF2mKsjDacoClWKusGINl2KPLPw3sRkx2iJPNsnczzLALVXDUmzlc2XLWyafHm3s
	 A/wfdBI/zc/4Q==
Date: Tue, 1 Aug 2023 15:29: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, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [XEN PATCH v2 3/3] arm/efi: address MISRA C:2012 Rule 5.3
In-Reply-To: <688eea3584d537b6f41bb32f227f8be74ffd2783.1690893696.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308011529150.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690893696.git.nicola.vetrini@bugseng.com> <688eea3584d537b6f41bb32f227f8be74ffd2783.1690893696.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, 1 Aug 2023, Nicola Vetrini wrote:
> Rule 5.3 has the following headline:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"
> 
> The file-scope variable 'fdt' is shadowed by function parameters,
> and thus violates the rule, hence it's renamed to 'fdt_efi'
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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



> ---
> Changes in v2:
> - Renamed the file-scope variable instead of removing function parameters.
> ---
>  xen/arch/arm/efi/efi-boot.h | 84 ++++++++++++++++++-------------------
>  1 file changed, 42 insertions(+), 42 deletions(-)
> 
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index 6126a71400..f24df2abb9 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -49,7 +49,7 @@ static void PrintMessage(const CHAR16 *s);
>  {0xb1b621d5U, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0}}
>  
>  static struct file __initdata dtbfile;
> -static void __initdata *fdt;
> +static void __initdata *fdt_efi;
>  static void __initdata *memmap;
>  
>  static int __init setup_chosen_node(void *fdt, int *addr_cells, int *size_cells)
> @@ -383,7 +383,7 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
>      if ( EFI_ERROR(status) )
>          blexit(L"EFI memory map processing failed");
>  
> -    status = fdt_add_uefi_nodes(SystemTable, fdt, map, map_size, desc_size,
> +    status = fdt_add_uefi_nodes(SystemTable, fdt_efi, map, map_size, desc_size,
>                                  desc_ver);
>      if ( EFI_ERROR(status) )
>          PrintErrMesg(L"Updating FDT failed", status);
> @@ -395,7 +395,7 @@ static void __init efi_arch_pre_exit_boot(void)
>  
>  static void __init noreturn efi_arch_post_exit_boot(void)
>  {
> -    efi_xen_start(fdt, fdt_totalsize(fdt));
> +    efi_xen_start(fdt_efi, fdt_totalsize(fdt_efi));
>  }
>  
>  static void __init efi_arch_cfg_file_early(const EFI_LOADED_IMAGE *image,
> @@ -420,8 +420,8 @@ static void __init efi_arch_cfg_file_early(const EFI_LOADED_IMAGE *image,
>              efi_bs->FreePool(name.w);
>          }
>      }
> -    fdt = fdt_increase_size(&dtbfile, cfg.size + EFI_PAGE_SIZE);
> -    if ( !fdt )
> +    fdt_efi = fdt_increase_size(&dtbfile, cfg.size + EFI_PAGE_SIZE);
> +    if ( !fdt_efi )
>          blexit(L"Unable to create new FDT");
>  }
>  
> @@ -465,7 +465,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>      int chosen;
>  
>      /* locate chosen node, which is where we add Xen module info. */
> -    chosen = fdt_subnode_offset(fdt, 0, "chosen");
> +    chosen = fdt_subnode_offset(fdt_efi, 0, "chosen");
>      if ( chosen < 0 )
>          blexit(L"Unable to find chosen node");
>  
> @@ -498,7 +498,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>      else
>      {
>          /* Get xen,xen-bootargs in /chosen if it is specified */
> -        const char *dt_bootargs_prop = fdt_getprop(fdt, chosen,
> +        const char *dt_bootargs_prop = fdt_getprop(fdt_efi, chosen,
>                                                     "xen,xen-bootargs", NULL);
>          if ( dt_bootargs_prop )
>          {
> @@ -526,7 +526,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>              blexit(L"FDT string overflow");
>      }
>  
> -    if ( fdt_setprop_string(fdt, chosen, "xen,xen-bootargs", buf) < 0 )
> +    if ( fdt_setprop_string(fdt_efi, chosen, "xen,xen-bootargs", buf) < 0 )
>          blexit(L"Unable to set xen,xen-bootargs property.");
>  
>      efi_bs->FreePool(buf);
> @@ -542,7 +542,7 @@ static void __init efi_arch_handle_module(const struct file *file,
>  
>      if ( file == &dtbfile )
>          return;
> -    chosen = setup_chosen_node(fdt, &addr_len, &size_len);
> +    chosen = setup_chosen_node(fdt_efi, &addr_len, &size_len);
>      if ( chosen < 0 )
>          blexit(L"Unable to setup chosen node");
>  
> @@ -551,13 +551,13 @@ static void __init efi_arch_handle_module(const struct file *file,
>          static const char __initconst ramdisk_compat[] = "multiboot,ramdisk\0"
>                                                           "multiboot,module";
>  
> -        node = fdt_add_subnode(fdt, chosen, "ramdisk");
> +        node = fdt_add_subnode(fdt_efi, chosen, "ramdisk");
>          if ( node < 0 )
>              blexit(L"Unable to add ramdisk FDT node.");
> -        if ( fdt_setprop(fdt, node, "compatible", ramdisk_compat,
> +        if ( fdt_setprop(fdt_efi, node, "compatible", ramdisk_compat,
>                           sizeof(ramdisk_compat)) < 0 )
>              blexit(L"Unable to set compatible property.");
> -        if ( fdt_set_reg(fdt, node, addr_len, size_len, ramdisk.addr,
> +        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, ramdisk.addr,
>                      ramdisk.size) < 0 )
>              blexit(L"Unable to set reg property.");
>      }
> @@ -566,13 +566,13 @@ static void __init efi_arch_handle_module(const struct file *file,
>          static const char __initconst xsm_compat[] = "xen,xsm-policy\0"
>                                                       "multiboot,module";
>  
> -        node = fdt_add_subnode(fdt, chosen, "xsm");
> +        node = fdt_add_subnode(fdt_efi, chosen, "xsm");
>          if ( node < 0 )
>              blexit(L"Unable to add xsm FDT node.");
> -        if ( fdt_setprop(fdt, node, "compatible", xsm_compat,
> +        if ( fdt_setprop(fdt_efi, node, "compatible", xsm_compat,
>                           sizeof(xsm_compat)) < 0 )
>              blexit(L"Unable to set compatible property.");
> -        if ( fdt_set_reg(fdt, node, addr_len, size_len, xsm.addr,
> +        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, xsm.addr,
>                      xsm.size) < 0 )
>              blexit(L"Unable to set reg property.");
>      }
> @@ -581,15 +581,15 @@ static void __init efi_arch_handle_module(const struct file *file,
>          static const char __initconst kernel_compat[] = "multiboot,kernel\0"
>                                                          "multiboot,module";
>  
> -        node = fdt_add_subnode(fdt, chosen, "kernel");
> +        node = fdt_add_subnode(fdt_efi, chosen, "kernel");
>          if ( node < 0 )
>              blexit(L"Unable to add dom0 FDT node.");
> -        if ( fdt_setprop(fdt, node, "compatible", kernel_compat,
> +        if ( fdt_setprop(fdt_efi, node, "compatible", kernel_compat,
>                           sizeof(kernel_compat)) < 0 )
>              blexit(L"Unable to set compatible property.");
> -        if ( options && fdt_setprop_string(fdt, node, "bootargs", options) < 0 )
> +        if ( options && fdt_setprop_string(fdt_efi, node, "bootargs", options) < 0 )
>              blexit(L"Unable to set bootargs property.");
> -        if ( fdt_set_reg(fdt, node, addr_len, size_len, kernel.addr,
> +        if ( fdt_set_reg(fdt_efi, node, addr_len, size_len, kernel.addr,
>                           kernel.size) < 0 )
>              blexit(L"Unable to set reg property.");
>      }
> @@ -719,7 +719,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>      module_info *file;
>  
>      /* Check if the node is a multiboot,module otherwise return */
> -    module_compat = fdt_node_check_compatible(fdt, module_node_offset,
> +    module_compat = fdt_node_check_compatible(fdt_efi, module_node_offset,
>                                                "multiboot,module");
>      if ( module_compat < 0 )
>          /* Error while checking the compatible string */
> @@ -730,7 +730,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>          return 0;
>  
>      /* Read xen,uefi-binary property to get the file name. */
> -    uefi_name_prop = fdt_getprop(fdt, module_node_offset, "xen,uefi-binary",
> +    uefi_name_prop = fdt_getprop(fdt_efi, module_node_offset, "xen,uefi-binary",
>                                   &uefi_name_len);
>  
>      if ( !uefi_name_prop )
> @@ -751,13 +751,13 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>      snprintf(mod_string, sizeof(mod_string), "module@%"PRIx64, file->addr);
>  
>      /* Rename the module to be module@{address} */
> -    if ( fdt_set_name(fdt, module_node_offset, mod_string) < 0 )
> +    if ( fdt_set_name(fdt_efi, module_node_offset, mod_string) < 0 )
>      {
>          PrintMessage(L"Unable to modify module node name.");
>          return ERROR_RENAME_MODULE_NAME;
>      }
>  
> -    if ( fdt_set_reg(fdt, module_node_offset, reg_addr_cells, reg_size_cells,
> +    if ( fdt_set_reg(fdt_efi, module_node_offset, reg_addr_cells, reg_size_cells,
>                       file->addr, file->size) < 0 )
>      {
>          PrintMessage(L"Unable to set module reg property.");
> @@ -766,7 +766,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>  
>      if ( !is_domu_module )
>      {
> -        if ( (fdt_node_check_compatible(fdt, module_node_offset,
> +        if ( (fdt_node_check_compatible(fdt_efi, module_node_offset,
>                                      "multiboot,kernel") == 0) )
>          {
>              /*
> @@ -784,14 +784,14 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>              kernel.size = file->size;
>          }
>          else if ( ramdisk.addr &&
> -                  (fdt_node_check_compatible(fdt, module_node_offset,
> +                  (fdt_node_check_compatible(fdt_efi, module_node_offset,
>                                               "multiboot,ramdisk") == 0) )
>          {
>              PrintMessage(L"Dom0 ramdisk already found in cfg file.");
>              return ERROR_DOM0_RAMDISK_FOUND;
>          }
>          else if ( xsm.addr &&
> -                  (fdt_node_check_compatible(fdt, module_node_offset,
> +                  (fdt_node_check_compatible(fdt_efi, module_node_offset,
>                                               "xen,xsm-policy") == 0) )
>          {
>              PrintMessage(L"XSM policy already found in cfg file.");
> @@ -816,7 +816,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
>      unsigned int mb_modules_found = 0;
>  
>      /* Get #address-cells and #size-cells from domain node */
> -    prop = fdt_get_property(fdt, domain_node, "#address-cells", &len);
> +    prop = fdt_get_property(fdt_efi, domain_node, "#address-cells", &len);
>      if ( !prop )
>      {
>          PrintMessage(L"#address-cells not found in domain node.");
> @@ -825,7 +825,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
>  
>      addr_cells = fdt32_to_cpu(*((uint32_t *)prop->data));
>  
> -    prop = fdt_get_property(fdt, domain_node, "#size-cells", &len);
> +    prop = fdt_get_property(fdt_efi, domain_node, "#size-cells", &len);
>      if ( !prop )
>      {
>          PrintMessage(L"#size-cells not found in domain node.");
> @@ -835,9 +835,9 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
>      size_cells = fdt32_to_cpu(*((uint32_t *)prop->data));
>  
>      /* Check for nodes compatible with multiboot,module inside this node */
> -    for ( module_node = fdt_first_subnode(fdt, domain_node);
> +    for ( module_node = fdt_first_subnode(fdt_efi, domain_node);
>            module_node > 0;
> -          module_node = fdt_next_subnode(fdt, module_node) )
> +          module_node = fdt_next_subnode(fdt_efi, module_node) )
>      {
>          int ret = handle_module_node(loaded_image, dir_handle, module_node,
>                                       addr_cells, size_cells, true);
> @@ -862,7 +862,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
>      EFI_FILE_HANDLE dir_handle = NULL;
>  
>      /* Check for the chosen node in the current DTB */
> -    chosen = setup_chosen_node(fdt, &addr_len, &size_len);
> +    chosen = setup_chosen_node(fdt_efi, &addr_len, &size_len);
>      if ( chosen < 0 )
>      {
>          PrintMessage(L"Unable to setup chosen node");
> @@ -870,13 +870,13 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
>      }
>  
>      /* Check for nodes compatible with xen,domain under the chosen node */
> -    for ( node = fdt_first_subnode(fdt, chosen);
> +    for ( node = fdt_first_subnode(fdt_efi, chosen);
>            node > 0;
> -          node = fdt_next_subnode(fdt, node) )
> +          node = fdt_next_subnode(fdt_efi, node) )
>      {
>          int ret;
>  
> -        if ( !fdt_node_check_compatible(fdt, node, "xen,domain") )
> +        if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
>          {
>              /* Found a node with compatible xen,domain; handle this node. */
>              ret = handle_dom0less_domain_node(loaded_image, &dir_handle, node);
> @@ -951,29 +951,29 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
>       * node to decide whether to skip the UEFI Xen configuration file or not.
>       */
>  
> -    fdt = lookup_fdt_config_table(SystemTable);
> -    dtbfile.ptr = fdt;
> +    fdt_efi = lookup_fdt_config_table(SystemTable);
> +    dtbfile.ptr = fdt_efi;
>      dtbfile.need_to_free = false; /* Config table memory can't be freed. */
>  
> -    if ( fdt &&
> -         (fdt_node_offset_by_compatible(fdt, 0, "multiboot,module") > 0) )
> +    if ( fdt_efi &&
> +         (fdt_node_offset_by_compatible(fdt_efi, 0, "multiboot,module") > 0) )
>      {
>          /* Locate chosen node */
> -        int node = fdt_subnode_offset(fdt, 0, "chosen");
> +        int node = fdt_subnode_offset(fdt_efi, 0, "chosen");
>          const void *cfg_load_prop;
>          int cfg_load_len;
>  
>          if ( node > 0 )
>          {
>              /* Check if xen,uefi-cfg-load property exists */
> -            cfg_load_prop = fdt_getprop(fdt, node, "xen,uefi-cfg-load",
> +            cfg_load_prop = fdt_getprop(fdt_efi, node, "xen,uefi-cfg-load",
>                                          &cfg_load_len);
>              if ( !cfg_load_prop )
>                  load_cfg_file = false;
>          }
>      }
>  
> -    if ( !fdt || load_cfg_file )
> +    if ( !fdt_efi || load_cfg_file )
>      {
>          /*
>           * We either have no FDT, or one without modules, so we must have a
> @@ -983,7 +983,7 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
>      }
>      PrintStr(L"Using modules provided by bootloader in FDT\r\n");
>      /* We have modules already defined in fdt, just add space. */
> -    fdt = fdt_increase_size(&dtbfile, EFI_PAGE_SIZE);
> +    fdt_efi = fdt_increase_size(&dtbfile, EFI_PAGE_SIZE);
>  
>      return false;
>  }
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:54:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:54:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574574.899960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyFp-0005fx-NI; Tue, 01 Aug 2023 22:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574574.899960; Tue, 01 Aug 2023 22:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyFp-0005fq-KI; Tue, 01 Aug 2023 22:54:13 +0000
Received: by outflank-mailman (input) for mailman id 574574;
 Tue, 01 Aug 2023 22:54: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=PUJK=DS=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQyFo-0005fU-5y
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:54:12 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51ea000c-30be-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 00:54:08 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 623B582859F4;
 Tue,  1 Aug 2023 17:54:06 -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 Lm04u2qqgvGr; Tue,  1 Aug 2023 17:54:04 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 949408285A2B;
 Tue,  1 Aug 2023 17:54:04 -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 CkcdfIuHHHN4; Tue,  1 Aug 2023 17:54:04 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 2954682859F4;
 Tue,  1 Aug 2023 17:54:04 -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: 51ea000c-30be-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 949408285A2B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690930444; bh=3/X49LZtB0q8e21PzAIz8wSdVqrP+VUI0RFYwJYNlwA=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=El/x5ogrVjI9rZ0iMhB49KFXlxeyiGpLKoDbGjBPuVqQTOioLljJx8vj2g9UVhCbi
	 BDhMupQdVgv6RvBTZKCrajGd6YgdSwO9/hvBPbQ9wnvPxPCXRftgM8F2MWPhdtuWef
	 8uhmRDO18s7uLiCWp66c7z0be/x3C3qBIKFHoW2k=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <f83af545-eb06-5f19-cb89-fc24ef6d9a2f@raptorengineering.com>
Date: Tue, 1 Aug 2023 17:54:03 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 5/5] xen/ppc: Implement early serial console on PowerNV
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <3023ad320b42fa3787bb71a9cf83b34965668fe9.1690579561.git.sanastasio@raptorengineering.com>
 <41b33115-274c-7172-f100-85d6a4f1d538@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <41b33115-274c-7172-f100-85d6a4f1d538@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 6:19 AM, Jan Beulich wrote:
> On 28.07.2023 23:35, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/include/asm/asm-defns.h
>> +++ b/xen/arch/ppc/include/asm/asm-defns.h
>> @@ -23,6 +23,18 @@
>>      addis reg,%r2,name@toc@ha;                                               \
>>      addi  reg,reg,name@toc@l
> 
> Noticing only now, because of the issue ...
> 
>> +/*
>> + * Declare a global assembly function with a proper TOC setup prologue
>> + */
>> +#define _GLOBAL_TOC(name)                                                   \
>> +    .balign 4;                                                              \
>> +    .type name,@function;                                                   \
>> +    .globl name;                                                            \
>> +name:                                                                       \
>> +0:  addis %r2,%r12,(.TOC.-0b)@ha;                                           \
>> +    addi %r2,%r2,(.TOC.-0b)@l;                                              \
>> +    .localentry name,.-name
> 
> ... being widened - could we gain blanks after the commas? Down here
> (to match the code in context) another padding blank after "addi"
> would also be nice.

Sure, will do in v2.

>> --- a/xen/arch/ppc/opal.c
>> +++ b/xen/arch/ppc/opal.c
>> @@ -8,9 +8,28 @@
>>  #include <xen/init.h>
>>  #include <xen/lib.h>
>>  
>> -/* Global OPAL struct containing entrypoint and base */
>> +/* Global OPAL struct containing entrypoint and base used by opal-calls.S */
>>  struct opal opal;
>>  
>> +int64_t opal_console_write(int64_t term_number, uint64_t *length,
>> +                           uint8_t *buffer);
> 
> Would this perhaps better be void *, eliminating the need for casting
> in calls of this function?

I made it uint8_t to match the official OPAL API documentation (though I
now see I missed a `const`):
https://open-power.github.io/skiboot/doc/opal-api/opal-console-read-write-1-2.html#opal-console-write

In this case though, the type information of this parameter might not be
that important and changing it to void* to avoid the cast is fine with
me.

>> +int64_t opal_console_flush(int64_t term_number);
>> +int64_t opal_reinit_cpus(uint64_t flags);
>> +
>> +static void opal_putchar(char c)
> 
> Can't this be __init?

Unlike OpenFirmware, OPAL calls are expected to be used by the OS during
its entire lifecycle, not just during early boot, so the full
(non-early) serial console driver would likely want to use these
functions as well.

> 
>> +{
>> +    uint64_t len;
>> +    if (c == '\n')
> 
> Nit: Blank line please between declaration(s) and statement(s). (At
> least one more instance below.)

Will fix.

> Also please add the missing blanks in the if(), seeing that otherwise
> the file is aiming at being Xen style.

Ditto.

>> +    {
>> +        char buf = '\r';
>> +        len = cpu_to_be64(1);
>> +        opal_console_write(0, &len, (uint8_t *) &buf);
>> +    }
>> +    len = cpu_to_be64(1);
>> +    opal_console_write(0, &len, (uint8_t *) &c);
>> +    opal_console_flush(0);
>> +}
>> +
>>  void __init boot_opal_init(const void *fdt)
>>  {
>>      int opal_node;
>> @@ -45,4 +64,10 @@ void __init boot_opal_init(const void *fdt)
>>  
>>      opal.base = be64_to_cpu(*opal_base);
>>      opal.entry = be64_to_cpu(*opal_entry);
>> +
>> +    early_printk_init(opal_putchar);
>> +
>> +    /* Ask OPAL to set HID0 for Little Endian interrupts + Radix TLB support */
>> +    opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_LE | OPAL_REINIT_CPUS_MMU_RADIX
>> +                     | OPAL_REINIT_CPUS_MMU_HASH);
> 
> Nit: operators on continued lines go at the end of the earlier line.

Will fix.

>> --- /dev/null
>> +++ b/xen/arch/ppc/ppc64/opal-calls.S
>> @@ -0,0 +1,82 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Adapted from Linux's arch/powerpc/boot/opal-calls.S
>> + *
>> + * Copyright (c) 2016 IBM Corporation.
>> + * Copyright Raptor Engineering, LLC
>> + */
>> +
>> +#include <asm/asm-defns.h>
>> +#include <asm/asm-offsets.h>
> 
> Would it make sense to have asm-defns.h include asm-offsets.h, like
> x86 and Arm do?

Sure, I'll make this change along with the formatting updates in
asm-defns.h

>> +#include <asm/opal-api.h>
>> +#include <asm/msr.h>
>> +
>> +    .text
> 
> Is any of this code still needed post-init?

Yes, see above.

>> +#define OPAL_CALL(name, token)  \
>> +    .globl name;                \
>> +name:                           \
>> +    li      %r0, token;         \
>> +    b       opal_call;
> 
> I think the trailing semicolon wants omitting.

Will fix.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:55:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574576.899970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyGf-0006E1-0d; Tue, 01 Aug 2023 22:55:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574576.899970; Tue, 01 Aug 2023 22: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 1qQyGe-0006Du-Sw; Tue, 01 Aug 2023 22:55:04 +0000
Received: by outflank-mailman (input) for mailman id 574576;
 Tue, 01 Aug 2023 22: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=j6MK=DS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQyGd-00068k-JI
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:55:03 +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 72496b3b-30be-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 00:55:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DF9006170A;
 Tue,  1 Aug 2023 22:55:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99F44C433C7;
 Tue,  1 Aug 2023 22:54: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: 72496b3b-30be-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690930500;
	bh=5zn9kQv49Hcnf6MfXJ5JEWSAtAYEyHbETuWQJIOn3VM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MovoLszg0Z68inlF15OiVMeq/UlHp7SuYiSpbut4jksERd0LouU3daPTlcA/te9Hr
	 EsT9qY6Tq6XHAxiYOftnwYapkQ+kBLkiKqpJfTfx3gbijFpIJE8Mzxv49++1biuwQB
	 +ISVEQYOR53AB/4ZvnAmGeaNrlWZeoE7ukMMBfRXlbXh07H/vZAEu3Jkh9INK/89Qi
	 /4CSOvnNScTCs0wuO0N3M+gHvSS5kor+LhpY27f7BPsxKeig0QHv6aqtOmsmXSqlFI
	 Hot5ivEqyi0+tjOpx01YP6LEgcOCE75gcB+BtRZY95gk7vWGVgMaOGu/JeAk12vqKK
	 D83F9d547wRCw==
Date: Tue, 1 Aug 2023 15:54:58 -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>
Subject: Re: [XEN PATCH 1/4] automation/eclair: add support for tag
 pipelines
In-Reply-To: <5e79b954062385c4d765c32347bcb45896d3ed5e.1690881495.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308011542120.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com> <5e79b954062385c4d765c32347bcb45896d3ed5e.1690881495.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 Tue, 1 Aug 2023, Simone Ballarin wrote:
> The ECLAIR jobs fail when triggered by tag pipelines (e.g.
> xen-project/patchew/xen).
> 
> This patch extends the integration to support such pipelines.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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

Thanks for the fix! One good suggestion from Andrew would be to check
for required variables at the beginning, rather than at the end. As it
is now we are doing all the work just to fail at the end. It would have
been better to fail immediately saving resources. It could be another
patch :-)


> ---
>  .../eclair_analysis/ECLAIR/action.settings    | 24 ++++++++++++-------
>  1 file changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index 96426811a8..71c10d5141 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -41,7 +41,7 @@ github)
>      push | workflow_dispatch)
>          event=push
>          # Extract the branch name from "refs/heads/<branch>"
> -        branch="${GITHUB_REF#refs/heads/}"
> +        ref="${GITHUB_REF#refs/heads/}"
>          headCommitId="${GITHUB_SHA}"
>          pushUser="${GITHUB_ACTOR}"
>          ;;
> @@ -75,7 +75,13 @@ gitlab)
>          ;;
>      push | pipeline | web)
>          event=push
> -        branch="${CI_COMMIT_BRANCH}"
> +        if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
> +            ref_kind=branch
> +            ref="${CI_COMMIT_BRANCH}"
> +        else
> +            ref_kind=tag
> +            ref="${CI_COMMIT_TAG}"
> +        fi
>          headCommitId="${CI_COMMIT_SHA}"
>          pushUser="${GITLAB_USER_NAME}"
>          ;;
> @@ -99,7 +105,7 @@ jenkins)
>      jenkinsBotToken="${ECLAIR_BOT_TOKEN:-}"
>  
>      event=push
> -    branch="${GIT_BRANCH}"
> +    ref="${GIT_BRANCH}"
>      headCommitId="${GIT_COMMIT}"
>      pushUser=$(git show --pretty='format:%aN' -s)
>      ;;
> @@ -111,7 +117,7 @@ esac
>  
>  if [ "${event}" = "push" ] && [ -n "${autoPRBranch:-}" ]; then
>      # AUTO PR Feature enabled
> -    if ! [ "${branch}" = "${autoPRBranch}" ] ||
> +    if ! [ "${ref}" = "${autoPRBranch}" ] ||
>          ! [ "${repository}" = "${autoPRRepository}" ]; then
>          event=auto_pull_request
>      fi
> @@ -123,17 +129,17 @@ pull_request)
>      jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pullRequestUser} wants to merge ${pullRequestHeadRepo}:${pullRequestHeadRef} (${headCommitId}) into ${pullRequestBaseRef} (${baseCommitId})"
>      ;;
>  push)
> -    subDir="${branch}"
> -    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: branch ${branch} (${headCommitId})"
> -    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${branch}${variantHeadline} #${jobId}"
> +    subDir="${ref}"
> +    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${ref_kind} ${ref} (${headCommitId})"
> +    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
>      ;;
>  auto_pull_request)
>      git remote remove autoPRRemote || true
>      git remote add autoPRRemote "${autoPRRemoteUrl}"
>      git fetch -q autoPRRemote
> -    subDir="${branch}"
> +    subDir="${ref}"
>      baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD)
> -    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${branch} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
> +    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${ref} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
>      ;;
>  *)
>      echo "Unexpected event ${event}" >&2
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:55:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574577.899979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyGs-0006ct-7Y; Tue, 01 Aug 2023 22:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574577.899979; Tue, 01 Aug 2023 22: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 1qQyGs-0006cm-4j; Tue, 01 Aug 2023 22:55:18 +0000
Received: by outflank-mailman (input) for mailman id 574577;
 Tue, 01 Aug 2023 22: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=j6MK=DS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQyGr-0006a5-Fi
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:55: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 79d8104c-30be-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 00:55:15 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CD3BD6173D;
 Tue,  1 Aug 2023 22:55:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84F30C433C8;
 Tue,  1 Aug 2023 22:55: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: 79d8104c-30be-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690930513;
	bh=QkLQ9kast8vfIEvHrFehxIBcnIuL8yfQwANOYm+u+uo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=k/8WSzUNyZTNrX+Q8TS8L4nKgsJBgGarlkbUiGPU//ubkOjglinZWk/cWHH60VJd8
	 9L4kqk1l/8+NA5fbmFRDKi6WehB7/z53tRHgatBCspT2Tr4tShmjKHH/cpPr/7NCB+
	 ZqLT/qZoQI7jdlq7RCG+mN6LVMARM9Qeej2bIQS9ULnNRdCNPwsr4ojLPODvAU97ID
	 vBhME5rB9MS1fqtqAewalsnXHg52JzYMxZflhaZdoRPqkhpZrHnZu35kFBc18+X7rb
	 qCImrQxusu+MbBgyjvbxKsDvNl07lLlo5U3zJaXuBWNm+roEdB7dcrfJLLaLfIB1gr
	 KGPlyClMcHDCg==
Date: Tue, 1 Aug 2023 15:55:11 -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>
Subject: Re: [XEN PATCH 2/4] automation/eclair: add direct link to reports
In-Reply-To: <c07f1474bc4a46fbc969b02bbd1b95f88a872acc.1690881495.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308011542460.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com> <c07f1474bc4a46fbc969b02bbd1b95f88a872acc.1690881495.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 Tue, 1 Aug 2023, Simone Ballarin wrote:
> This patch adds direct links to the analysis findings in the
> console log.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


> ---
>  .../eclair_analysis/ECLAIR/action.helpers     | 84 ++++++++++++++-----
>  1 file changed, 65 insertions(+), 19 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.helpers b/automation/eclair_analysis/ECLAIR/action.helpers
> index 2ad6428eaa..df9bf2bd11 100644
> --- a/automation/eclair_analysis/ECLAIR/action.helpers
> +++ b/automation/eclair_analysis/ECLAIR/action.helpers
> @@ -1,17 +1,26 @@
> +esc=$(printf '\e')
> +cr=$(printf '\r')
> +
>  if [ -n "${GITLAB_CI:-}" ]; then
>      ci=gitlab
> +    eol=
> +    link_start="${esc}[33m"
> +    link_end="${esc}[m"
>  elif [ -n "${GITHUB_ACTION:-}" ]; then
>      ci=github
> +    eol="\\"
> +    link_start=
> +    link_end=
>  elif [ -n "${JENKINS_HOME:-}" ]; then
>      ci=jenkins
> +    eol="<br/>"
> +    link_start=
> +    link_end=
>  else
>      echo "Unexpected CI/CD context" >&2
>      exit 1
>  fi
>  
> -esc=$(printf '\e')
> -cr=$(printf '\r')
> -
>  open_section() {
>      id=$1
>      title=$2
> @@ -36,54 +45,86 @@ summary() {
>  
>      case "${ci}" in
>      github)
> -        nl="\\"
> +        eol="\\"
>          ;;
>      gitlab)
> -        nl=
> +        eol=
>          ;;
>      jenkins)
> -        nl="<br/>"
> +        eol="<br/>"
>          ;;
>      *)
> -        nl=
> +        eol=
>          ;;
>      esac
>  
> +    currentDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/PROJECT.ecd;/by_service.html#service&kind"
>      if [ -z "${newReports}" ]; then
> -        fixedMsg=
> +        fixedMsg="No fixed reports as there is no baseline"
>          unfixedMsg="Unfixed reports: ${unfixedReports}"
> -        countsMsg="${unfixedMsg}"
> +        referenceReportsMsgTxt=
> +        referenceReportsMsgLog=
>      else
>          fixedMsg="Fixed reports: ${fixedReports}"
>          unfixedMsg="Unfixed reports: ${unfixedReports} [new: ${newReports}]"
> -        countsMsg="${fixedMsg}${nl}
> -${unfixedMsg}"
> +        case "${event}" in
> +        pull_request | auto_pull_request)
> +            referenceDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/base/PROJECT.ecd;/by_service.html#service&kind"
> +            reference_kind=base
> +            ;;
> +        push)
> +            referenceDbReportsUrl="${eclairReportUrlPrefix}/fs${jobDir}/prev/PROJECT.ecd;/by_service.html#service&kind"
> +            reference_kind=previous
> +            ;;
> +        *)
> +            echo "Unexpected event ${event}" >&2
> +            exit 1
> +            ;;
> +        esac
>      fi
> +
>      case "${ci}" in
>      jenkins)
> +        if [ -n "${newReports}" ]; then
> +            referenceReportsMsgTxt="<a href="${referenceDbReportsUrl}">Browse ${reference_kind} reports</a>"
> +        fi
>          cat <<EOF >"${summaryTxt}"
> -${countsMsg}                                                                              ${nl}
> +${fixedMsg}${eol}
> +${unfixedMsg}                                                                              ${eol}
>  <a href="https://www.bugseng.com/eclair">
>    <img src="${eclairReportUrlPrefix}/rsrc/eclair.svg" width="100" />
>  </a>
>  <h3>${jobHeadline}</h3>
> -<a href="${indexHtmlUrl}">Browse analysis results</a>
> +<a href="${indexHtmlUrl}">Browse analysis summary</a>
> +<a href="${currentDbReportsUrl}">Browse current reports</a>
> +${referenceReportsMsgTxt}
>  EOF
>          ;;
>      *)
> +        if [ -n "${newReports}" ]; then
> +            referenceReportsMsgTxt="Browse ${reference_kind} reports: ${referenceDbReportsUrl}"
> +        fi
>          cat <<EOF >"${summaryTxt}"
>  <a href="https://www.bugseng.com/eclair">
>    <img src="${eclairReportUrlPrefix}/rsrc/eclair.svg" width="100" />
>  </a>
>  Analysis Summary
>  
> -${jobHeadline}${nl}
> -${countsMsg}${nl}
> -[Browse analysis](${indexHtmlUrl})
> +${jobHeadline}${eol}
> +${fixedMsg}${eol}
> +${unfixedMsg}${eol}
> +Browse analysis summary: ${indexHtmlUrl}
> +Browse current reports: ${currentDbReportsUrl}
> +${referenceReportsMsgTxt}
>  EOF
>          ;;
>      esac
>  
> +    analysisSummaryMsgLog="Browse analysis summary: ${link_start}${indexHtmlUrl}${link_end}"
> +    currentReportsMsgLog="Browse current reports: ${link_start}${currentDbReportsUrl}${link_end}"
> +    if [ -n "${newReports}" ]; then
> +        referenceReportsMsgLog="Browse ${reference_kind} reports: ${link_start}${referenceDbReportsUrl}${link_end}"
> +    fi
>      case ${ci} in
>      github)
>          cat "${summaryTxt}" >"${GITHUB_STEP_SUMMARY}"
> @@ -93,8 +134,11 @@ EOF
>          # Generate summary and print it (GitLab-specific)
>          cat <<EOF
>  ${jobHeadline}
> -${countsMsg}
> -Browse analysis: ${esc}[33m${indexHtmlUrl}${esc}[m
> +${fixedMsg}
> +${unfixedMsg}
> +${analysisSummaryMsgLog}
> +${currentReportsMsgLog}
> +${referenceReportsMsgLog}
>  EOF
>          close_section ECLAIR_summary
>          ;;
> @@ -103,7 +147,9 @@ EOF
>  ${jobHeadline}
>  ${fixedMsg}
>  ${unfixedMsg}
> -Browse analysis: ${indexHtmlUrl}
> +${analysisSummaryMsgLog}
> +${currentReportsMsgLog}
> +${referenceReportsMsgLog}
>  EOF
>          ;;
>      *)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:55:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574579.899990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyH1-00073A-Fz; Tue, 01 Aug 2023 22:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574579.899990; Tue, 01 Aug 2023 22: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 1qQyH1-00072x-Cp; Tue, 01 Aug 2023 22:55:27 +0000
Received: by outflank-mailman (input) for mailman id 574579;
 Tue, 01 Aug 2023 22:55: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=j6MK=DS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQyH0-0006a5-2l
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:55:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5b4dfd-30be-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 00:55:24 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 157C76175E;
 Tue,  1 Aug 2023 22:55:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE8B4C433C9;
 Tue,  1 Aug 2023 22:55: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: 7f5b4dfd-30be-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690930522;
	bh=Zq4j4sA91c4fjlF94qx8L1rfRV34WFvbrKGFOAGpuOE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SqPd81tUzhEYU06GHVrfqv34VqnwxjkevKZZIf8vgeSoZav/gjZEYvyIem3nnnicN
	 kAHuJYw1LpZePHRn8R9czN3ka4WASvRRKXD+5uiU8mvAXApaIJmcLJZHw2sfyGpEye
	 ZeJCsUdctWBZ/wiG0UTa5VOzKLuG3inmLk6FQWVb4ivcvuR5Ik6xkedl4u7oq1yUnq
	 fWcdedj1wwNIIB2zsaCLH0xpkMq+t4YD3a0XUw70GKVL9TjN8gYJD8PSjQZNubsME1
	 0f5VeN7WEiPPSHLEUgCaVQ6hYYbOhGhldlJrsNQrfFc9/8k0oTOQTdd+uvGxllBhT/
	 RaAD+DYheUnSA==
Date: Tue, 1 Aug 2023 15:55:20 -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>
Subject: Re: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines
In-Reply-To: <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308011545350.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com> <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.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 Tue, 1 Aug 2023, Simone Ballarin wrote:
> This patch introduces six new ECLAIR jobs that run only
> when triggered by a GitLab scheduled pipeline.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  .../eclair_analysis/ECLAIR/action.settings    |  2 +-
>  automation/gitlab-ci/analyze.yaml             | 65 +++++++++++++++++--
>  2 files changed, 62 insertions(+), 5 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index 71c10d5141..528bc24c72 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -73,7 +73,7 @@ gitlab)
>          headCommitId="${CI_COMMIT_SHA}"
>          baseCommitId="${CI_MERGE_REQUEST_DIFF_BASE_SHA}"
>          ;;
> -    push | pipeline | web)
> +    push | pipeline | web | schedule)
>          event=push
>          if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
>              ref_kind=branch
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 3d8166572b..3325ef9d9a 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -8,6 +8,8 @@
>      ENABLE_ECLAIR_BOT: "n"
>      AUTO_PR_BRANCH: "staging"
>      AUTO_PR_REPOSITORY: "xen-project/xen"
> +  script:
> +    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
>    artifacts:
>      when: always
>      paths:
> @@ -23,8 +25,6 @@ eclair-x86_64:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "Set1"
> -  script:
> -    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
>    allow_failure: true
>  
>  eclair-ARM64:
> @@ -33,6 +33,63 @@ eclair-ARM64:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "Set1"
> -  script:
> -    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
> +  allow_failure: true
> +
> +.eclair-analysis:on-schedule:
> +  extends: .eclair-analysis
> +  rules:
> +    - if: $CI_PIPELINE_SOURCE == "schedule"

If I understand this right, the idea is that someone would schedule a
pipeline (Build -> "Pipeline Schedules") and as part of that, they would
also define the variable "CI_PIPELINE_SOURCE" to schedule.

Is that correct?

If so, please add a good in-code comments here on top of
.eclair-analysis:on-schedule to explain it. So that someone reading this
might know how what to do with the Gitlab CI settings.


> +eclair-x86_64-Set1:on-schedule:
> +  extends: .eclair-analysis:on-schedule
> +  variables:
> +    VARIANT: "X86_64"
> +    RULESET: "Set1"
> +    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:
> +  extends: .eclair-analysis:on-schedule
> +  variables:
> +    VARIANT: "ARM64"
> +    RULESET: "Set3"
> +    ANALYSIS_KIND: "${RULESET}-scheduled"
> +    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
>    allow_failure: true
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 22:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 22:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574580.900000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyHA-0007Yv-U9; Tue, 01 Aug 2023 22:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574580.900000; Tue, 01 Aug 2023 22:55:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQyHA-0007Ym-Qr; Tue, 01 Aug 2023 22:55:36 +0000
Received: by outflank-mailman (input) for mailman id 574580;
 Tue, 01 Aug 2023 22:55:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=j6MK=DS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQyH9-00068k-9M
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 22:55:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 858e2184-30be-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 00:55:34 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7BA706170A;
 Tue,  1 Aug 2023 22:55:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4132BC433C7;
 Tue,  1 Aug 2023 22:55: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: 858e2184-30be-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690930532;
	bh=Ee7DDAYHauG77sy+uzAQQVwyNNEPwIv9SOzMTw9Jtf0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LfWzSf+7c01925+Yic7h1PjDb2MPLbd6pWIQs5myUaeK2hKOGoAq1HMfcAu02IzE+
	 xC3GMd3P/X9p9TW5ffdIHUY00udhP51VEp0O28eNsoLFec/y2zf7HXXcs1I95sOjDh
	 CnVKVIwb0vF0XRL7eREjEcCTb4jDUr/aqt9WEn5HQJuh06Xqjg/ENhtKmkqklFCwiT
	 exCGK2yLruncG9jAauZ4U/5ZHI7cNHE0Y8QDeaniibVXpIYmZSJ+D/SMVEfsKOrok0
	 DpcB55v5sWsx9y7ZPAXgE1aekvQqGo0rMd+PEn6MEr+ZIwlHeYbQILyhSWDIli4Kpk
	 i+ZHlN+EMvO3w==
Date: Tue, 1 Aug 2023 15:55:30 -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>
Subject: Re: [XEN PATCH 4/4] automation/eclair: avoid failure in case of
 missing merge point
In-Reply-To: <b1b5e151a176d2644fd836eec6190f98c23894d0.1690881495.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308011546010.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com> <b1b5e151a176d2644fd836eec6190f98c23894d0.1690881495.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 Tue, 1 Aug 2023, Simone Ballarin wrote:
> In the context of an auto pull request, when a common merge point
> is not found the integration will continue the analysis without
> failing.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


> ---
>  automation/eclair_analysis/ECLAIR/action.settings | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index 528bc24c72..f96368ffc7 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -138,7 +138,9 @@ auto_pull_request)
>      git remote add autoPRRemote "${autoPRRemoteUrl}"
>      git fetch -q autoPRRemote
>      subDir="${ref}"
> -    baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD)
> +    if ! baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" HEAD); then
> +        baseCommitId=no_merge_point
> +    fi
>      jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: ${pushUser} wants to merge ${repository}:${ref} (${headCommitId}) into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
>      ;;
>  *)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 01 23:19:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 Aug 2023 23:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574596.900010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQye3-0003BE-OO; Tue, 01 Aug 2023 23:19:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574596.900010; Tue, 01 Aug 2023 23:19:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQye3-0003B7-Lg; Tue, 01 Aug 2023 23:19:15 +0000
Received: by outflank-mailman (input) for mailman id 574596;
 Tue, 01 Aug 2023 23:19:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=L1iX=DS=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qQye1-0003Au-88
 for xen-devel@lists.xenproject.org; Tue, 01 Aug 2023 23:19:13 +0000
Received: from mgamail.intel.com (unknown [134.134.136.24])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf16d94f-30c1-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 01:19:08 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 01 Aug 2023 16:19:04 -0700
Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15])
 by fmsmga006.fm.intel.com with ESMTP; 01 Aug 2023 16:19:03 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 16:19:02 -0700
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Tue, 1 Aug 2023 16:19:02 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Tue, 1 Aug 2023 16:19:02 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Tue, 1 Aug 2023 16:19:01 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by BN9PR11MB5531.namprd11.prod.outlook.com (2603:10b6:408:104::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Tue, 1 Aug
 2023 23:18:58 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.043; Tue, 1 Aug 2023
 23:18: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: cf16d94f-30c1-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1690931948; x=1722467948;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Bj5w8ug5nXkPeA631Z/FPHszoX+SVqqkPZbhd/00H+M=;
  b=jO7e9TAPDJSo47rE0yB6TvLgF252z5GELRD86UG7HouxaxetO3SmIxvx
   0eD1YNisakyv55CqEAJ7K8y52cMCJWG5o92mytQg2w69LmBwSiDVTHGeh
   p3vWX8bk0jO+dIXwZMvcEcLT6Dcs28RdnZh4bytdLyhsWU2swi45sqBOI
   2l9H3ltmbYkHfdjvY92Ja+paO3gjfM8qYn3g0qKHsKSkdO5R5r/fIB/1w
   SVmJtRjcAdR7MCFl3HFlT7CKpt+MNz7uVi72j3zw9Cj6U5IlSCR+GCVPo
   0oHIMDWsVC85ilfnpQnmKFmd9I4QAXB/YvHxoZsJ3V9A6bC1gKUrX0z0T
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="372164218"
X-IronPort-AV: E=Sophos;i="6.01,248,1684825200"; 
   d="scan'208";a="372164218"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="975463188"
X-IronPort-AV: E=Sophos;i="6.01,248,1684825200"; 
   d="scan'208";a="975463188"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H6OnvTlFB0Z4Az04FF2JP/OQPJXQARjUEk6tuZWuEzxwzNx1am73RzC4tRurLIPmOE0nAN5+MNDPh/hNYLcuBW+dampqcxvRaf4i+1vrmAdrZ6I4JSGdc0gYtOkKVVnAAsNrsAigNHYN+FECMc3qOuwOXTHFoRIkqspvkvpJ/aiLrD7ra5AfUR6YEyl+G1UQBKJWgLMQ1ifjQAttI4FinsaIYCHwzYcqMLuEiNQald+8WlgpqZEkKctJFJOOUxEPTLnjDaKu0KgItzPXmF6IbLYHelpeBt4Hy0ZkmfyYDeDW+SX+SWh9QxoB5k0pV2/lnoBI2ht/ekn3lBawsPTZOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S8XlHjVcyfKORPqwqUUtCNjTJnsqwsptu6fUDZ6EwMc=;
 b=h8Gx5TfTzNt1IIu4IBBZ1PsLgHJHdv5h06581B9Ptv37El2/n5d1c69T36NonHbCHd9u4utT71NF44OeLZtZakNvFOEM6OV1ro5AVqgH+sMnyZx3qtg/kxo1JhNIh6y3Leo+VF9RrQmwWDWteX1SYYyPNQrcvDCp00TCmWIUT2Dvd/dIKZqBbeePbgrGUFnt76ex1m+9GlCjwqTwCPcYXt6XtsgwActzeORHTm+wfJ8W3zwtJpYW/FnbUAcE2qT+RVzOORGY7fEdg/t6gugHbk/XN7HRodpZRICYsxa9DOH+Wjs+5S8w6SgUmym4iNGtQOn1pbowpYFRPGss64oqrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: "Christopherson,, Sean" <seanjc@google.com>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Jonathan Corbet <corbet@lwn.net>, "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" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	"Lutomirski, Andy" <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, "Luck,
 Tony" <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, "Cui,
 Dexuan" <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, "Wanpeng
 Li" <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, "Peter
 Zijlstra" <peterz@infradead.org>, "Gross, Jurgen" <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Josh Poimboeuf <jpoimboe@kernel.org>, "Paul
 E . McKenney" <paulmck@kernel.org>, Catalin Marinas
	<catalin.marinas@arm.com>, Randy Dunlap <rdunlap@infradead.org>, "Steven
 Rostedt" <rostedt@goodmis.org>, Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Liam R . Howlett"
	<Liam.Howlett@oracle.com>, Sebastian Reichel
	<sebastian.reichel@collabora.com>, "Kirill A . Shutemov"
	<kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger
	<babu.moger@amd.com>, Jim Mattson <jmattson@google.com>, Sandipan Das
	<sandipan.das@amd.com>, Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede
	<hdegoede@redhat.com>, "Chatre, Reinette" <reinette.chatre@intel.com>,
	"Daniel Sneddon" <daniel.sneddon@linux.intel.com>, Breno Leitao
	<leitao@debian.org>, Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst
	<brgerst@gmail.com>, "Sami Tolvanen" <samitolvanen@google.com>, Alexander
 Potapenko <glider@google.com>, Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>, "Eric W . Biederman" <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>, Masami Hiramatsu <mhiramat@kernel.org>,
	"Masahiro Yamada" <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, "Li,
 Fei1" <fei1.li@intel.com>, Conghui <conghui.chen@intel.com>, "Raj, Ashok"
	<ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, Mark Rutland
	<mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, "Jiapeng
 Chong" <jiapeng.chong@linux.alibaba.com>, Jane Malalane
	<jane.malalane@citrix.com>, "Woodhouse, David" <dwmw@amazon.co.uk>,
	"Ostrovsky, Boris" <boris.ostrovsky@oracle.com>, Arnaldo Carvalho de Melo
	<acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Subject: RE: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
Thread-Topic: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
Thread-Index: AQHZxFc6Fm9A65hsiUKYksIzWWSQ5K/VzGiAgABBoTA=
Date: Tue, 1 Aug 2023 23:18:58 +0000
Message-ID: <SA1PR11MB673440DE4294DDE87D93AE54A80AA@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
 <20230801083553.8468-7-xin3.li@intel.com> <ZMlWe5TgS6HM98Mg@google.com>
In-Reply-To: <ZMlWe5TgS6HM98Mg@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|BN9PR11MB5531:EE_
x-ms-office365-filtering-correlation-id: dcaf6d6e-4187-4417-1291-08db92e5aef5
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: r+cxM3pPta8sYitUgROn2PDucNcvUltiyujBLIB2Z3wc/WA1AbpGfiDgnG9ZYXNPCazHzJRSrD7yg9SlHm0RpgIU92mD//G2FOnZbMXYqkS9rAXw8oGg29t03wb9+L8oj34ta6j/zwjU159ZxdM4/KUGyubBdtUbQwPvR2Fcu82GfE6XgEgEcZPoFpG18sWnfD8mwsKSZ/IPzxtmQULTfv0bfMlSUrigqSh/dityjnqxcvC1NlobvtkVFxDX/EtrPJDHDBI33wmCK4NWV/Jfm/PXW6Ojbs3wqBWGKVYnB+mg2ReWtV0Rr7HmOhZ9r0V6/M9Deske9dBdlz/eYLTWAckiJLc6RNaaxIKUrcQc+l8ZHNcuu8pibRB2E/uGeoBe8Z+HejgkJfxE18Xyz1P1r7PwUEPz554vq8wLD/3HflT+OF4VkbiEeEpEadkuRjFktwPyolvk7fmbSq24tNm0qQV+6NuJMDzha/lLGYG6v+KZcAyUfOHWDLWQBrbhrBKYbB+vdNv8paD2fKP2UkojnMLGw5Gfri8nYlkqhwOlRfQgqWfdPfxcVDNZEYmL1Bci+KJ3nYJ/TQkJrRWXZ4ZmOUiM+pw1wFV/3ZLR/xfij2Y=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(376002)(346002)(396003)(136003)(451199021)(55016003)(186003)(9686003)(316002)(86362001)(478600001)(122000001)(54906003)(38100700002)(76116006)(71200400001)(66946007)(66556008)(66476007)(66446008)(33656002)(64756008)(7696005)(4326008)(6916009)(82960400001)(6506007)(41300700001)(26005)(52536014)(8676002)(5660300002)(8936002)(30864003)(2906002)(38070700005)(7416002)(7406005)(7366002)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?a/2pvAgarmi6UxxjEwF9/15YLf2D0Eyn4fdBB8TeZPD1X1viRO//B83LSg+W?=
 =?us-ascii?Q?Kb1IdO9MiI6onQllU79snUl5ERrgGYi0IcI196Hl3kip2suAMqWODPMTM2LP?=
 =?us-ascii?Q?eNrdGtYbxu7IVB71bzz8NR4HhEADC8Iz/0UpQWzmDOg5jYVpP9bheXJFvSu0?=
 =?us-ascii?Q?Pe8yWpoq72YuJCN1vn/WZbfmimwy1GnFcNimvVFQmWCVn5sW06QeSYH2BUNQ?=
 =?us-ascii?Q?rWMxGTwHW6TUTD3cJ9N7wIjTotFv7mx6lzbIbfmNaa5Kq8vPbBJbrFC2pkz6?=
 =?us-ascii?Q?o0XywMr2OPye+wB1KthXoxT9FlPr5knw9mevANI78AgCQqBTo/HdQwxLsa9q?=
 =?us-ascii?Q?mh4OmuzyKkQYl1rW2Y/Qj606hKl8yXua+muHOsNGOGoQkzKXsUh4wBdP3IVp?=
 =?us-ascii?Q?9w2RARPvzINL29PxfzwHggsig+iwYOv/hQbxbUE0EOnbLeR34bSucGOl50L1?=
 =?us-ascii?Q?RzjSNl1Mmj872iKuR7IdZKVnx3P125fcFI6Wms7Fwrf7xUstqDQeZJ/831Qg?=
 =?us-ascii?Q?AHrT5Hhoea963KRxmwvc+xTs7h3jDDmwy6cuoEAPzbCze2I/jD1J0JdE00nh?=
 =?us-ascii?Q?8JUkhP1iq2/nkMAv5HP3WBMstojrhSwGAHUmAyVTe9ejwgGWOogZN7/1oKHq?=
 =?us-ascii?Q?gXWYUgLlg1D3JQv8ytHKjTWuXcYkFH9UcUusaGJ6xYpoqhQVfhtyRM5UtaBo?=
 =?us-ascii?Q?E+CLgpxhhHMPkFaYhCub2XqviDWFDoFIUOif5Mp/6mwhYGvozE1/88Kug/f6?=
 =?us-ascii?Q?i8Ip+TfcXnB8OyuoNL/tfdZ7auSwDB9TUvdaQJmjIKxnVPkVu/X75wezWphi?=
 =?us-ascii?Q?YwcyUPwBXPXXiGWXCJfkYBSCGXjDFs7sNpdm8eOoBNeZcRgMQ+kBDC0CHw3M?=
 =?us-ascii?Q?0giAooLfQrIrOvOMgmG8n/rsthYIg+qCw3n8hsjNr3FtZBMLZLh4+JhIjF2o?=
 =?us-ascii?Q?M9b9a+CPz4Fx+VNCkhsSXlnECKrQ2Mx0IYM7PjgyM/WufkvWwbRagO4F8Bcs?=
 =?us-ascii?Q?88T8Rui1/HKgQq2tkgICF13dQehrvtfhw857nucMvWVWxu4il690S0aoVUdu?=
 =?us-ascii?Q?J6L9aje42joksBmHiVoAdRjr8TNotpKWCu+0R33wHKEQhEPuCldsiNkr5mnD?=
 =?us-ascii?Q?gNoxHrhUA19rkcAf+3NcKQkhRqVlDjWjPBPMHFOQ/9IC1MuGWmxe3VwrKM5+?=
 =?us-ascii?Q?6NLq3/MvzcwkJg7MeruyNC7FSHYrnJRJjtTfyFzBV68ahPqny6nmjHhaXXQg?=
 =?us-ascii?Q?mS7kWPhezOmDMXB4j/afudj8xvnEBFaRJg38Clj6x+lohzd9A75OGSQj/wnO?=
 =?us-ascii?Q?0IZVVPSPZCpZF0GRQ2QBUOzS3WFZ/CUcZ1URSH6YA+mhFG7xeXctwtMps1FE?=
 =?us-ascii?Q?QC6Fj1+UhReDZAV4AQUd8m+vvsKtPa2Z+vkSow4Wd0rZmLQBBXGRJHvtAnqm?=
 =?us-ascii?Q?csHgiAtZu+rrRMLsJ62P/DbeDtSc2BkZ8sxdMrOc0sMfRikfW50dzH/O/tdl?=
 =?us-ascii?Q?Ep2bVYks3d+ffPtxBwQm3xVJ2lalH6UQdOZuQW0i1dbQum+zAwaiL3YtjpSq?=
 =?us-ascii?Q?ybJJ8ADOJcos5uSX+uE=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcaf6d6e-4187-4417-1291-08db92e5aef5
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2023 23:18:58.3382
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zLD37UF9Af+/IutB05oxvOXT646Uz9bT1I+muC63nEsLa2MpWAeg8hpAy4QXyWL2PwYzM6wcEojbDrn0Es+yLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5531
X-OriginatorOrg: intel.com


> > +#include "../../entry/calling.h"
>=20
> Rather than do the low level PUSH_REGS and POP_REGS, I vote to have core =
code
> expose a FRED-specific wrapper for invoking external_interrupt().  More b=
elow.

Nice idea!

> > +	/*
> > +	 * A FRED stack frame has extra 16 bytes of information pushed at the
> > +	 * regular stack top compared to an IDT stack frame.
>=20
> There is pretty much no chance that anyone remembers the layout of an IDT=
 stack
> frame off the top of their head.  I.e. saying "FRED has 16 bytes more" is=
n't all
> that useful.  It also fails to capture the fact that FRED stuff a hell of=
 a lot
> more information in those "common" 48 bytes.
>=20
> It'll be hard/impossible to capture all of the overload info in a comment=
, but
> showing the actual layout of the frame would be super helpful, e.g. somet=
hing
> like
> this
>=20
> 	/*
> 	 * FRED stack frames are always 64 bytes:
> 	 *
> 	 * ------------------------------
> 	 * | Bytes  | Usage             |
> 	 * -----------------------------|
> 	 * | 63:56  | Reserved          |
> 	 * | 55:48  | Event Data        |
>          * | 47:40  | SS + Event Info   |
>          * | 39:32  | RSP               |
> 	 * | 31:24  | RFLAGS            |
>          * | 23:16  | CS + Aux Info     |
>          * |  15:8  | RIP               |
>          * |   7:0  | Error Code        |
>          * ------------------------------
> 	 */
> 	 *
> 	 * Use LEA to get the return RIP and push it, then push an error code.
> 	 * Note, only NMI handling does an ERETS to the target!  IRQ handling
> 	 * doesn't need to unmask NMIs and so simply uses CALL+RET, i.e. the
> 	 * RIP pushed here is only truly consumed for NMIs!

I take these as ASM code does need more love, i.e., nice comments :/

Otherwise only more confusion.

=20
>=20
> Jumping way back to providing a wrapper for FRED, if we do that, then the=
re's no
> need to include calling.h, and the weird wrinkle about the ERET target ki=
nda goes
> away too.  E.g. provide this in arch/x86/entry/entry_64_fred.S
>=20
> 	.section .text, "ax"
>=20
> /* Note, this is instrumentation safe, and returns via RET, not ERETS! */
> #if IS_ENABLED(CONFIG_KVM_INTEL)
> SYM_CODE_START(fred_irq_entry_from_kvm)
> 	FRED_ENTER
> 	call external_interrupt
> 	FRED_EXIT
> 	RET
> SYM_CODE_END(fred_irq_entry_from_kvm)
> EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
> #endif
>=20
> and then the KVM side for this particular chunk is more simply:
>=20
> 	lea 1f(%rip), %rax
> 	push %rax
> 	push $0		/* FRED error code, 0 for NMI and external
> interrupts */
>=20
> 	\branch_insn \branch_target
> 1:
> 	VMX_DO_EVENT_FRAME_END
> 	RET
>=20
>=20
> Alternatively, the whole thing could be shoved into
> arch/x86/entry/entry_64_fred.S,
> but at a glance I don't think that would be a net positive due to the nee=
d to
> handle
> IRQs vs. NMIs.
>=20
> > +	\branch_insn \branch_target
> > +
> > +	.if \nmi =3D=3D 0
> > +	POP_REGS
> > +	.endif
> > +
> > +1:
> > +	/*
> > +	 * "Restore" RSP from RBP, even though IRET has already unwound RSP t=
o
>=20
> As mentioned above, this is incorrect on two fronts.
>=20
> > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> > index 0ecf4be2c6af..4e90c69a92bf 100644
> > --- a/arch/x86/kvm/vmx/vmx.c
> > +++ b/arch/x86/kvm/vmx/vmx.c
> > @@ -6890,6 +6890,14 @@ static void vmx_apicv_post_state_restore(struct
> kvm_vcpu *vcpu)
> >  	memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir));
> >  }
> >
> > +#ifdef CONFIG_X86_FRED
> > +void vmx_do_fred_interrupt_irqoff(unsigned int vector);
> > +void vmx_do_fred_nmi_irqoff(unsigned int vector);
> > +#else
> > +#define vmx_do_fred_interrupt_irqoff(x) BUG()
> > +#define vmx_do_fred_nmi_irqoff(x) BUG()
> > +#endif
>=20
> My slight preference is to open code the BUG() as a ud2 in assembly, pure=
ly to
> avoid more #ifdefs.
>=20
> > +
> >  void vmx_do_interrupt_irqoff(unsigned long entry);
> >  void vmx_do_nmi_irqoff(void);
> >
> > @@ -6932,14 +6940,16 @@ static void handle_external_interrupt_irqoff(st=
ruct
> kvm_vcpu *vcpu)
> >  {
> >  	u32 intr_info =3D vmx_get_intr_info(vcpu);
> >  	unsigned int vector =3D intr_info & INTR_INFO_VECTOR_MASK;
> > -	gate_desc *desc =3D (gate_desc *)host_idt_base + vector;
> >
> >  	if (KVM_BUG(!is_external_intr(intr_info), vcpu->kvm,
> >  	    "unexpected VM-Exit interrupt info: 0x%x", intr_info))
> >  		return;
> >
> >  	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
> > -	vmx_do_interrupt_irqoff(gate_offset(desc));
> > +	if (cpu_feature_enabled(X86_FEATURE_FRED))
> > +		vmx_do_fred_interrupt_irqoff(vector);	/* Event type is 0 */
>=20
> I strongly prefer to use code to document what's going on.  E.g. the tail=
 comment
> just left me wondering, what event type is 0?  Whereas this makes it quit=
e clear
> that KVM is signaling a hardware interrupt.  The fact that it's a nop as =
far as
> code generation goes is irrelevant.
>=20
> 	vmx_do_fred_interrupt_irqoff((EVENT_TYPE_HWINT << 16) | vector);

Better readability.

>=20
> > +	else
> > +		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base
> + vector));
> >  	kvm_after_interrupt(vcpu);
> >
> >  	vcpu->arch.at_instruction_boundary =3D true;
>=20
> Here's a diff for (hopefully) everything I've suggested above.

Thanks a lot!  I will test it and update the patch in this mail thread.

>=20
> ---
>  arch/x86/entry/entry_64_fred.S | 17 ++++++-
>  arch/x86/kernel/traps.c        |  5 --
>  arch/x86/kvm/vmx/vmenter.S     | 84 +++++++++++++++-------------------
>  arch/x86/kvm/vmx/vmx.c         |  7 +--
>  4 files changed, 55 insertions(+), 58 deletions(-)
>=20
> diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fre=
d.S
> index 12063267d2ac..a973c0bd29f6 100644
> --- a/arch/x86/entry/entry_64_fred.S
> +++ b/arch/x86/entry/entry_64_fred.S
> @@ -10,7 +10,6 @@
>  #include "calling.h"
>=20
>  	.code64
> -	.section ".noinstr.text", "ax"
>=20
>  .macro FRED_ENTER
>  	UNWIND_HINT_END_OF_STACK
> @@ -24,6 +23,22 @@
>  	POP_REGS
>  .endm
>=20
> +	.section .text, "ax"
> +
> +/* Note, this is instrumentation safe, and returns via RET, not ERETS! *=
/
> +#if IS_ENABLED(CONFIG_KVM_INTEL)
> +SYM_CODE_START(fred_irq_entry_from_kvm)
> +	FRED_ENTER
> +	call external_interrupt
> +	FRED_EXIT
> +	RET
> +SYM_CODE_END(fred_irq_entry_from_kvm)
> +EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
> +#endif
> +
> +	.section ".noinstr.text", "ax"
> +
> +
>  /*
>   * The new RIP value that FRED event delivery establishes is
>   * IA32_FRED_CONFIG & ~FFFH for events that occur in ring 3.
> diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
> index 21eeba7b188f..cbcb83c71dab 100644
> --- a/arch/x86/kernel/traps.c
> +++ b/arch/x86/kernel/traps.c
> @@ -1566,11 +1566,6 @@ int external_interrupt(struct pt_regs *regs)
>  	return 0;
>  }
>=20
> -#if IS_ENABLED(CONFIG_KVM_INTEL)
> -/* For KVM VMX to handle IRQs in IRQ induced VM exits. */
> -EXPORT_SYMBOL_GPL(external_interrupt);
> -#endif
> -
>  #endif /* CONFIG_X86_64 */
>=20
>  void __init trap_init(void)
> diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
> index 79a4c91d9434..e25df565c3f8 100644
> --- a/arch/x86/kvm/vmx/vmenter.S
> +++ b/arch/x86/kvm/vmx/vmenter.S
> @@ -9,7 +9,6 @@
>  #include <asm/segment.h>
>  #include "kvm-asm-offsets.h"
>  #include "run_flags.h"
> -#include "../../entry/calling.h"
>=20
>  #define WORD_SIZE (BITS_PER_LONG / 8)
>=20
> @@ -33,15 +32,31 @@
>  #define VCPU_R15	__VCPU_REGS_R15 * WORD_SIZE
>  #endif
>=20
> +.macro VMX_DO_EVENT_FRAME_BEGIN
> +	/*
> +	 * Unconditionally create a stack frame, getting the correct RSP on the
> +	 * stack (for x86-64) would take two instructions anyways, and RBP can
> +	 * be used to restore RSP to make objtool happy (see below).
> +	 */
> +	push %_ASM_BP
> +	mov %_ASM_SP, %_ASM_BP
> +.endm
> +
> +.macro VMX_DO_EVENT_FRAME_END
> +	/*
> +	 * "Restore" RSP from RBP, even though {E,I}RET has already unwound RSP
> +	 * to the correct value *in most cases*.  KVM's IRQ handling with FRED
> +	 * doesn't do ERETS, and objtool doesn't know the callee will IRET/ERET
> +	 * and, without the explicit restore, thinks the stack is getting wallo=
ped.
> +	 * Using an unwind hint is problematic due to x86-64's dynamic alignmen=
t.
> +	 */
> +	mov %_ASM_BP, %_ASM_SP
> +	pop %_ASM_BP
> +.endm
> +
>  #ifdef CONFIG_X86_FRED
>  .macro VMX_DO_FRED_EVENT_IRQOFF branch_insn branch_target nmi=3D0
> -	/*
> -	 * Unconditionally create a stack frame, getting the correct RSP on the
> -	 * stack (for x86-64) would take two instructions anyways, and RBP can
> -	 * be used to restore RSP to make objtool happy (see below).
> -	 */
> -	push %_ASM_BP
> -	mov %_ASM_SP, %_ASM_BP
> +	VMX_DO_EVENT_FRAME_BEGIN
>=20
>  	/*
>  	 * Don't check the FRED stack level, the call stack leading to this
> @@ -78,43 +93,23 @@
>  	 * push an error code before invoking the IRQ/NMI handler.
>  	 *
>  	 * Use LEA to get the return RIP and push it, then push an error code.
> +	 * Note, only NMI handling does an ERETS to the target!  IRQ handling
> +	 * doesn't need to unmask NMIs and so simply uses CALL+RET, i.e. the
> +	 * RIP pushed here is only truly consumed for NMIs!
>  	 */
>  	lea 1f(%rip), %rax
>  	push %rax
>  	push $0		/* FRED error code, 0 for NMI and external
> interrupts */
>=20
> -	.if \nmi =3D=3D 0
> -	PUSH_REGS
> -	mov %rsp, %rdi
> -	.endif
> -
>  	\branch_insn \branch_target
> -
> -	.if \nmi =3D=3D 0
> -	POP_REGS
> -	.endif
> -
>  1:
> -	/*
> -	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to
> -	 * the correct value.  objtool doesn't know the callee will IRET and,
> -	 * without the explicit restore, thinks the stack is getting walloped.
> -	 * Using an unwind hint is problematic due to x86-64's dynamic alignmen=
t.
> -	 */
> -	mov %_ASM_BP, %_ASM_SP
> -	pop %_ASM_BP
> +	VMX_DO_EVENT_FRAME_END
>  	RET
>  .endm
>  #endif
>=20
>  .macro VMX_DO_EVENT_IRQOFF call_insn call_target
> -	/*
> -	 * Unconditionally create a stack frame, getting the correct RSP on the
> -	 * stack (for x86-64) would take two instructions anyways, and RBP can
> -	 * be used to restore RSP to make objtool happy (see below).
> -	 */
> -	push %_ASM_BP
> -	mov %_ASM_SP, %_ASM_BP
> +	VMX_DO_EVENT_FRAME_BEGIN
>=20
>  #ifdef CONFIG_X86_64
>  	/*
> @@ -129,14 +124,7 @@
>  	push $__KERNEL_CS
>  	\call_insn \call_target
>=20
> -	/*
> -	 * "Restore" RSP from RBP, even though IRET has already unwound RSP to
> -	 * the correct value.  objtool doesn't know the callee will IRET and,
> -	 * without the explicit restore, thinks the stack is getting walloped.
> -	 * Using an unwind hint is problematic due to x86-64's dynamic alignmen=
t.
> -	 */
> -	mov %_ASM_BP, %_ASM_SP
> -	pop %_ASM_BP
> +	VMX_DO_EVENT_FRAME_END
>  	RET
>  .endm
>=20
> @@ -375,11 +363,13 @@ SYM_INNER_LABEL_ALIGN(vmx_vmexit,
> SYM_L_GLOBAL)
>=20
>  SYM_FUNC_END(__vmx_vcpu_run)
>=20
> -#ifdef CONFIG_X86_FRED
>  SYM_FUNC_START(vmx_do_fred_nmi_irqoff)
> +#ifdef CONFIG_X86_FRED
>  	VMX_DO_FRED_EVENT_IRQOFF jmp fred_entrypoint_kernel nmi=3D1
> +#else
> +	ud2
> +#endif
>  SYM_FUNC_END(vmx_do_fred_nmi_irqoff)
> -#endif
>=20
>  SYM_FUNC_START(vmx_do_nmi_irqoff)
>  	VMX_DO_EVENT_IRQOFF call asm_exc_nmi_kvm_vmx
> @@ -438,11 +428,13 @@ SYM_FUNC_END(vmread_error_trampoline)
>  #endif
>=20
>  .section .text, "ax"
> -#ifdef CONFIG_X86_FRED
>  SYM_FUNC_START(vmx_do_fred_interrupt_irqoff)
> -	VMX_DO_FRED_EVENT_IRQOFF call external_interrupt
> +#ifdef CONFIG_X86_FRED
> +	VMX_DO_FRED_EVENT_IRQOFF call fred_irq_entry_from_kvm
> +#else
> +	ud2
> +#endif
>  SYM_FUNC_END(vmx_do_fred_interrupt_irqoff)
> -#endif
>=20
>  SYM_FUNC_START(vmx_do_interrupt_irqoff)
>  	VMX_DO_EVENT_IRQOFF CALL_NOSPEC _ASM_ARG1
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index bf757f5071e4..cb4675dd87df 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -6919,13 +6919,8 @@ static void vmx_apicv_post_state_restore(struct
> kvm_vcpu *vcpu)
>  	memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir));
>  }
>=20
> -#ifdef CONFIG_X86_FRED
>  void vmx_do_fred_interrupt_irqoff(unsigned int vector);
>  void vmx_do_fred_nmi_irqoff(unsigned int vector);
> -#else
> -#define vmx_do_fred_interrupt_irqoff(x) BUG()
> -#define vmx_do_fred_nmi_irqoff(x) BUG()
> -#endif
>=20
>  void vmx_do_interrupt_irqoff(unsigned long entry);
>  void vmx_do_nmi_irqoff(void);
> @@ -6976,7 +6971,7 @@ static void handle_external_interrupt_irqoff(struct
> kvm_vcpu *vcpu)
>=20
>  	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
>  	if (cpu_feature_enabled(X86_FEATURE_FRED))
> -		vmx_do_fred_interrupt_irqoff(vector);	/* Event type is 0 */
> +		vmx_do_fred_interrupt_irqoff((EVENT_TYPE_HWINT << 16) |
> vector);
>  	else
>  		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base
> + vector));
>  	kvm_after_interrupt(vcpu);
>=20
> base-commit: 8961078ffe509a97ec7803b17912e57c47b93fa2
> --



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:05:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574602.900019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzMn-0001Fq-0o; Wed, 02 Aug 2023 00:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574602.900019; Wed, 02 Aug 2023 00:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzMm-0001Fj-UN; Wed, 02 Aug 2023 00:05:28 +0000
Received: by outflank-mailman (input) for mailman id 574602;
 Wed, 02 Aug 2023 00:05:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xkiE=DT=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1qQzMl-0001Fc-CE
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:05:27 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46ba67e0-30c8-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 02:05:25 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id E60415C01A1;
 Tue,  1 Aug 2023 20:05:22 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Tue, 01 Aug 2023 20:05:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 1 Aug 2023 20:05:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46ba67e0-30c8-11ee-b25c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1690934722; x=1691021122; bh=8WhJYcgNJo9vOQ4evmBwmKMCj1RPcplmZPN
	dqAmCGbA=; b=rWeCAnaHP0g+ajeAOTMXYz8UMeMBmxdmVtiVHopEaJlJLCoLn+m
	SEn6QQAfooD5KXe6+nl7kveQdsqG123O2LlzUNi25QyaK9A1QUBrj0+zTirpGf90
	fAFfVvdBRN8TQc726N0/hMmjNsHuqtkzEjC7r3XQvmFPv4CtJYsTDuMBaYgBo0Jg
	iYzGUWMP8Okm2RFxHUo3OOcazeuDdBqIqIjUsc3fcITU027QPgDSDD5KrP7/uJi7
	nd/GP79I4SZJh2J87Gli9f3WTFrpFu7x1NMuo7VH8y4IFGD54mSXaR8h0Ze8Et6F
	cKq1LVrzys9BJXQexCNre7yzhj0w2j4q1xQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1690934722; x=1691021122; bh=8WhJYcgNJo9vO
	Q4evmBwmKMCj1RPcplmZPNdqAmCGbA=; b=cMaJEJmSX28+T/QKK4/OwvCzykGzG
	2u4kd8MUF02ue71pT2Y2i4Xxd1VP+jsIW9pK+uGMXd9jV/1ushTaWgANcaR7ER0f
	iCkCd3GUhhswZXPK5utlM4/qOKa+VggAdxRNYlwNqsRgmAkkpbCSl8CosvY/0OpU
	PXY+bej3OKPBisjmIPRTereYmF3pC3qTmuKplxxCT5EYcNoO3UcVkW0tUPDb8tOh
	HKZnr1nwciQOIDVRxnLmWvaJ7RvIrtJTYqV2wFLCqaIS2IVSdaMInKP3+yk4SUoP
	zXz9fRAy1xJlYMKCSGt8XDoukCWwI72zWapSzZWWhjGgm/ximBjvgdUKQ==
X-ME-Sender: <xms:wp3JZDCIGVvVgHEkilK-kGGXaV3iK_-j6hw-C1exeqhLtdfBO5VaZQ>
    <xme:wp3JZJg4cC5ijDOUCpnOnZETtOs4IBAfzAUT7U_OmLsvlGfqU67wQWFu8YWs8e44O
    qrlCRfmT7wAwg>
X-ME-Received: <xmr:wp3JZOkAIYwXWK3Nx_tSwcSh3EuvGyveAg0If6WxcV3sqINFKTpvXsw5vyAe-XJeLkAZRjEVBWITRNGDE64S8jUdqeu3zqQs1jI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrjeejgdeftdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevueej
    teegleelteduueevhfetgfffjeevtddvgfeiveehteehleegueelvdejveenucffohhmrg
    hinhepghhithhlrggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
    pehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomh
X-ME-Proxy: <xmx:wp3JZFwljnry1BYClnxP6Ie-FiNuqi7lMtJ79G6dEyR5d1B2vhFTNw>
    <xmx:wp3JZIRUKlmnwjXk5AkHJ1BLZ6e_Ix2vVmWLYMQj6UlhYjUBFvimcg>
    <xmx:wp3JZIYwi-E3ZMcvxQUe-EaZm9j6oOfLNKz92_wfaJW-zIVAWAlvBQ>
    <xmx:wp3JZDfu0bifyAKXCZpOKO8gCBEcPBqkr2yUdPxlM_twOn6tHAMJfA>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 2 Aug 2023 02:05:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Simone Ballarin <simone.ballarin@bugseng.com>,
	xen-devel@lists.xenproject.org, consulting@bugseng.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines
Message-ID: <ZMmdvllVvfDz3T92@mail-itl>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
 <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308011545350.2127516@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="+YnZtu0Gyqk33/ME"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2308011545350.2127516@ubuntu-linux-20-04-desktop>


--+YnZtu0Gyqk33/ME
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 2 Aug 2023 02:05:17 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Simone Ballarin <simone.ballarin@bugseng.com>,
	xen-devel@lists.xenproject.org, consulting@bugseng.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines

On Tue, Aug 01, 2023 at 03:55:20PM -0700, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Simone Ballarin wrote:
> > This patch introduces six new ECLAIR jobs that run only
> > when triggered by a GitLab scheduled pipeline.
> >=20
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > ---
> > +.eclair-analysis:on-schedule:
> > +  extends: .eclair-analysis
> > +  rules:
> > +    - if: $CI_PIPELINE_SOURCE =3D=3D "schedule"
>=20
> If I understand this right, the idea is that someone would schedule a
> pipeline (Build -> "Pipeline Schedules") and as part of that, they would
> also define the variable "CI_PIPELINE_SOURCE" to schedule.

No, this is pre-defined variable in gitlab:
https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

>=20
> Is that correct?
>=20
> If so, please add a good in-code comments here on top of
> .eclair-analysis:on-schedule to explain it. So that someone reading this
> might know how what to do with the Gitlab CI settings.
>=20

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

--+YnZtu0Gyqk33/ME
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmTJnb4ACgkQ24/THMrX
1yz9rgf+M38/Y0SWqKAwhTVqJNOx6NknckOsDs5c2DtB5GMozpVPF+15a8FA/ZO0
MWz8BF9c/KUfhIxPY9PvDkkRNM/q+xslNUUrR1K2eEfoUvgMLyHQ4cC6YPIb7RHb
v1DKUIOqmKnzGMFAKUAmlZY0l+cmx6AVN4iJ3otAVvYOC2ZDPdP5kCW17H4PUpEK
qJg44jeb6RVVrUaBLCBMLlBCVRoMVImhDP8RcfiUUmXg83c6h7g3lvhsUCRcDrSw
GP+Dk6qAl4UilnJ14F2ysepNv9gE9I+GZ7MdjGuGT2YUMFBLyPQM0QrLjYo50ICC
kZLSs1Tn6jxLy3BErX4/X5TjccaOog==
=CZVL
-----END PGP SIGNATURE-----

--+YnZtu0Gyqk33/ME--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:09:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:09:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574606.900031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzQI-0001pv-JF; Wed, 02 Aug 2023 00:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574606.900031; Wed, 02 Aug 2023 00: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 1qQzQI-0001po-EQ; Wed, 02 Aug 2023 00:09:06 +0000
Received: by outflank-mailman (input) for mailman id 574606;
 Wed, 02 Aug 2023 00:09: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=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQzQH-0001pg-Iw
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:09:05 +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 c93d1eb4-30c8-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 02:09:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9152D6176B;
 Wed,  2 Aug 2023 00:09:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3689EC433C8;
 Wed,  2 Aug 2023 00:09: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: c93d1eb4-30c8-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690934941;
	bh=roaBjhdPe5cHaDSRDczjRWCxieCCrBLzaiLSjYR+7Kg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QuBnPiMJzQv/hmQELFgBH0DASMeTOtQXkdaSAJToCtKpswiD86kHqPkp6XKff5SQu
	 haAMhb93r4yFJqiGr/6hdN0+4vSi0mAJtCBQ9AhgntsaaZFWJSSLOLAVXaTsJKfNMo
	 jCCzM5rL7CQPNRkJpbEs+XtOPntlsHr5JfOfQGPNW2aTld3zstjOti3qHsMzw3DjxE
	 pVfgXObLhUXor6ZDGVTu4MqXBa+FSyBJk2agA0IwnFoTBfU5Z0U3HCYkgbgplT1SN/
	 a92jZNnmXn4I2tXKyWOSz3CVbV2zJtZHCYxdrFgadR+6/VByLiLQYa8ZX+/Sh9iOZS
	 jzw3RgA8PqeDA==
Date: Tue, 1 Aug 2023 17:08:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines
In-Reply-To: <ZMmdvllVvfDz3T92@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2308011708240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com> <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308011545350.2127516@ubuntu-linux-20-04-desktop> <ZMmdvllVvfDz3T92@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1622732373-1690934941=:2127516"

  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-1622732373-1690934941=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 2 Aug 2023, Marek Marczykowski-GĂ³recki wrote:
> On Tue, Aug 01, 2023 at 03:55:20PM -0700, Stefano Stabellini wrote:
> > On Tue, 1 Aug 2023, Simone Ballarin wrote:
> > > This patch introduces six new ECLAIR jobs that run only
> > > when triggered by a GitLab scheduled pipeline.
> > > 
> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > ---
> > > +.eclair-analysis:on-schedule:
> > > +  extends: .eclair-analysis
> > > +  rules:
> > > +    - if: $CI_PIPELINE_SOURCE == "schedule"
> > 
> > If I understand this right, the idea is that someone would schedule a
> > pipeline (Build -> "Pipeline Schedules") and as part of that, they would
> > also define the variable "CI_PIPELINE_SOURCE" to schedule.
> 
> No, this is pre-defined variable in gitlab:
> https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

Even better! Thanks! Then no need for a comment and the patch is OK as
is.

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-1622732373-1690934941=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574612.900057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSk-0003Ym-MM; Wed, 02 Aug 2023 00:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574612.900057; Wed, 02 Aug 2023 00: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 1qQzSk-0003YO-E1; Wed, 02 Aug 2023 00:11:38 +0000
Received: by outflank-mailman (input) for mailman id 574612;
 Wed, 02 Aug 2023 00: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzSj-0003Fo-4K
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:11:37 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23bf799c-30c9-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 02:11:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E16608285393;
 Tue,  1 Aug 2023 19:11:33 -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 jmLuI6QSiIjo; Tue,  1 Aug 2023 19:11:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id AE9DD82865A8;
 Tue,  1 Aug 2023 19:11: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 ksnYdg15_S0P; Tue,  1 Aug 2023 19:11:32 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 074B282860C6;
 Tue,  1 Aug 2023 19:11: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: 23bf799c-30c9-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com AE9DD82865A8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935092; bh=O7tKNlbYGTBKU34+OS6G3eEZ3bNtT5+tgy+g2otdYhY=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=V/3EqYNrKKtMm/16ssB2zqoK89/dcxqBADN4KXTDJAOOLV73GByo4nUzisq/nL/ym
	 kb1QDaOsd6x972vpY6m4Zb9QwcyMKV5hTFpwdzGgDnLZHJQUAHMVON1DXPuIlQnjBZ
	 1G8boDVthyNjJDi5p3dcMydwTS27PAu5xnnuEq4M=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 3/4] xen/ppc: Parse device tree for OPAL node on PowerNV
Date: Tue,  1 Aug 2023 19:11:05 -0500
Message-Id: <7026e54897e360d935d065c7ec904dc3f6082857.1690934409.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1690934409.git.sanastasio@raptorengineering.com>
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Communication with firmware boot services on PowerNV requires parsing
the fdt blob passed by the bootloader in order to obtain the firmware
entrypoint. Use Xen's libfdt to do this and store the information
required for firmware calls, to be implemented in a future patch.

The full xen/common build doesn't yet work, but libfdt and its xen/lib
dependency can be made to build by defining a few stub headers.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changed in v2:
  - Remove ALL_LIBS-y override

 xen/arch/ppc/Kconfig                 |  1 +
 xen/arch/ppc/Makefile                |  1 +
 xen/arch/ppc/arch.mk                 |  3 +-
 xen/arch/ppc/include/asm/boot.h      | 16 +++++++++-
 xen/arch/ppc/include/asm/bug.h       | 18 +++++++++++
 xen/arch/ppc/include/asm/cache.h     |  6 ++++
 xen/arch/ppc/include/asm/processor.h | 13 +++++++-
 xen/arch/ppc/include/asm/string.h    |  6 ++++
 xen/arch/ppc/include/asm/system.h    |  6 ++++
 xen/arch/ppc/opal.c                  | 48 ++++++++++++++++++++++++++++
 xen/arch/ppc/setup.c                 |  9 ++++--
 11 files changed, 121 insertions(+), 6 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bug.h
 create mode 100644 xen/arch/ppc/include/asm/cache.h
 create mode 100644 xen/arch/ppc/include/asm/string.h
 create mode 100644 xen/arch/ppc/include/asm/system.h
 create mode 100644 xen/arch/ppc/opal.c

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index a2ade2ecf4..b32dce39b8 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -1,5 +1,6 @@
 config PPC
 	def_bool y
+	select HAS_DEVICE_TREE

 config PPC64
 	def_bool y
diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 098a4dd0a9..0c0a7884a1 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -2,6 +2,7 @@ obj-$(CONFIG_PPC64) +=3D ppc64/

 obj-y +=3D boot-of.init.o
 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
+obj-y +=3D opal.o
 obj-y +=3D setup.o

 $(TARGET): $(TARGET)-syms
diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index 0183b9ac6a..3bf79bac37 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -10,5 +10,4 @@ CFLAGS +=3D -mstrict-align -mcmodel=3Dmedium -mabi=3Del=
fv2 -fPIC -mno-altivec -mno-vsx
 LDFLAGS +=3D -m elf64lppc

 # TODO: Drop override when more of the build is working
-override ALL_OBJS-y =3D arch/$(SRCARCH)/built_in.o
-override ALL_LIBS-y =3D
+override ALL_OBJS-y =3D arch/$(SRCARCH)/built_in.o common/libfdt/built_i=
n.o lib/built_in.o
diff --git a/xen/arch/ppc/include/asm/boot.h b/xen/arch/ppc/include/asm/b=
oot.h
index 9b8a7c43c2..296539cd9e 100644
--- a/xen/arch/ppc/include/asm/boot.h
+++ b/xen/arch/ppc/include/asm/boot.h
@@ -4,7 +4,10 @@

 #include <xen/types.h>

-/* a collection of interfaces used during boot. */
+/*
+ * OpenFirmware boot interfaces
+ */
+
 enum {
     OF_FAILURE =3D -1,
     OF_SUCCESS =3D 0,
@@ -20,4 +23,15 @@ struct of_service {
 int enter_of(struct of_service *args, unsigned long entry);
 void boot_of_init(unsigned long vec);

+/*
+ * OPAL boot interfaces
+ */
+
+struct opal {
+    uint64_t base;
+    uint64_t entry;
+};
+
+void boot_opal_init(const void *fdt);
+
 #endif /* _ASM_PPC_BOOT_H */
diff --git a/xen/arch/ppc/include/asm/bug.h b/xen/arch/ppc/include/asm/bu=
g.h
new file mode 100644
index 0000000000..e5e874b31c
--- /dev/null
+++ b/xen/arch/ppc/include/asm/bug.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _ASM_PPC_BUG_H
+#define _ASM_PPC_BUG_H
+
+#include <xen/stringify.h>
+
+/*
+ * Power ISA guarantees that an instruction consisting of all zeroes is
+ * illegal.
+ */
+#define BUG_OPCODE  0x00000000
+
+#define BUG_INSTR ".long " __stringify(BUG_OPCODE)
+
+#define BUG_FN_REG r0
+
+#endif /* _ASM_PPC_BUG_H */
diff --git a/xen/arch/ppc/include/asm/cache.h b/xen/arch/ppc/include/asm/=
cache.h
new file mode 100644
index 0000000000..8a0a6b7b17
--- /dev/null
+++ b/xen/arch/ppc/include/asm/cache.h
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _ASM_PPC_CACHE_H
+#define _ASM_PPC_CACHE_H
+
+#endif /* _ASM_PPC_CACHE_H */
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 838d279508..2300640787 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -133,6 +133,17 @@ struct cpu_user_regs
     uint32_t entry_vector;
 };

-#endif
+/*
+ * panic() isn't available at the moment so an infinite loop will be
+ * used temporarily.
+ * TODO: change it to panic()
+ */
+static inline void noreturn die(void)
+{
+    for ( ; ; )
+        HMT_very_low();
+}
+
+#endif /* __ASSEMBLY__ */

 #endif /* _ASM_PPC_PROCESSOR_H */
diff --git a/xen/arch/ppc/include/asm/string.h b/xen/arch/ppc/include/asm=
/string.h
new file mode 100644
index 0000000000..7a420e05e4
--- /dev/null
+++ b/xen/arch/ppc/include/asm/string.h
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _ASM_PPC_STRING_H
+#define _ASM_PPC_STRING_H
+
+#endif /* _ASM_PPC_STRING_H */
diff --git a/xen/arch/ppc/include/asm/system.h b/xen/arch/ppc/include/asm=
/system.h
new file mode 100644
index 0000000000..94091df644
--- /dev/null
+++ b/xen/arch/ppc/include/asm/system.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_SYSTEM_H_
+#define _ASM_SYSTEM_H_
+
+#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
+
+#endif /* _ASM_SYSTEM_H */
diff --git a/xen/arch/ppc/opal.c b/xen/arch/ppc/opal.c
new file mode 100644
index 0000000000..251de8ac23
--- /dev/null
+++ b/xen/arch/ppc/opal.c
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <asm/boot.h>
+#include <asm/early_printk.h>
+#include <asm/opal-api.h>
+#include <asm/processor.h>
+#include <xen/types.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
+/* Global OPAL struct containing entrypoint and base */
+struct opal opal;
+
+void __init boot_opal_init(const void *fdt)
+{
+    int opal_node;
+    const __be64 *opal_base;
+    const __be64 *opal_entry;
+
+    if ( fdt_check_header(fdt) < 0 )
+    {
+        /*
+         * NOTE: This won't actually print since the early serial
+         * console isn't set up yet.
+         */
+        early_printk("Booted without valid FDT pointer in r3!\n");
+        die();
+    }
+
+    opal_node =3D fdt_path_offset(fdt, "/ibm,opal");
+    if ( opal_node < 0 )
+    {
+        early_printk("Unable to find ibm,opal node!\n");
+        die();
+    }
+
+    opal_base =3D fdt_getprop(fdt, opal_node, "opal-base-address", NULL)=
;
+    opal_entry =3D fdt_getprop(fdt, opal_node, "opal-entry-address", NUL=
L);
+    if ( !opal_base || !opal_entry )
+    {
+        early_printk("Failed to get opal-base-address/opal-entry-address=
 "
+                     "property from DT!\n");
+        die();
+    }
+
+    opal.base =3D be64_to_cpu(*opal_base);
+    opal.entry =3D be64_to_cpu(*opal_entry);
+}
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 7c623a49f5..bacd6d1acd 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -18,8 +18,13 @@ void __init noreturn start_xen(unsigned long r3, unsig=
ned long r4,
     }
     else
     {
-        /* kexec boot: Unimplemented */
-        __builtin_trap();
+        /*
+         * kexec boot protocol
+         *
+         * TODO: This currently assumes an OPAL/PowerNV system, but it's=
 also
+         * possible to be kexec'd on an OF system.
+         */
+        boot_opal_init((void *) r3);
     }

     early_printk("Hello, ppc64le!\n");
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574613.900065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSl-0003kg-7D; Wed, 02 Aug 2023 00:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574613.900065; Wed, 02 Aug 2023 00:11:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSk-0003iW-VB; Wed, 02 Aug 2023 00:11:38 +0000
Received: by outflank-mailman (input) for mailman id 574613;
 Wed, 02 Aug 2023 00: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzSj-0003Fo-P8
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:11:37 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24068f59-30c9-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 02:11:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 54EA182860C6;
 Tue,  1 Aug 2023 19:11: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 GKvhWNa3NfSJ; Tue,  1 Aug 2023 19:11:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3B72F8285BEB;
 Tue,  1 Aug 2023 19:11: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 BCZX--nrtIun; Tue,  1 Aug 2023 19:11:33 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 97F828285393;
 Tue,  1 Aug 2023 19:11: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: 24068f59-30c9-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3B72F8285BEB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935093; bh=p+DRgSuWZDmGJuetNvOOlJpomr6S/4OpH3mhhUD04Oc=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=hLhwH/nuDNpwfiyDhZcTAm0Rx0PElf7t3DcFyDabxTjHA/oDjkia+tbjrJt+zcC77
	 vsd6dLUJX2PxCYZFFWIHCSgxGtCFAHhw0P86vBOHkfO+vsYEHeo2rxdzFhNwYaKgPi
	 tB3cWgcs/ZPtmNHgDrBiBo+1AU7XaxNH7ollBkaA=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 4/4] xen/ppc: Implement early serial console on PowerNV
Date: Tue,  1 Aug 2023 19:11:06 -0500
Message-Id: <3176762c2eb09d01d65a348e296a94cf0356ff46.1690934409.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1690934409.git.sanastasio@raptorengineering.com>
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Implement the OPAL firmware calls required to write to the serial
console on PowerNV systems. Unlike pseries/Open Firmware, the OPAL
firmware interface can be used past early boot and as such the relevant
functions are not marked as __init.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changed in v2:
  - Include asm-offsets in asm-defns.h
  - Clean up assembly formatting in asm-defns.h
  - Clean up formatting of opal.c
  - Clean up stray semicolon in OPAL_CALL macro in opal-calls.S

 xen/arch/ppc/include/asm/asm-defns.h | 18 ++++++-
 xen/arch/ppc/opal.c                  | 28 +++++++++-
 xen/arch/ppc/ppc64/Makefile          |  1 +
 xen/arch/ppc/ppc64/asm-offsets.c     |  4 ++
 xen/arch/ppc/ppc64/opal-calls.S      | 81 ++++++++++++++++++++++++++++
 5 files changed, 129 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/ppc/ppc64/opal-calls.S

diff --git a/xen/arch/ppc/include/asm/asm-defns.h b/xen/arch/ppc/include/=
asm/asm-defns.h
index 5821f9024d..f1c49808bd 100644
--- a/xen/arch/ppc/include/asm/asm-defns.h
+++ b/xen/arch/ppc/include/asm/asm-defns.h
@@ -2,6 +2,8 @@
 #ifndef _ASM_PPC_ASM_DEFNS_H
 #define _ASM_PPC_ASM_DEFNS_H

+#include <asm/asm-offsets.h>
+
 /*
  * Load a 64-bit immediate value into the specified GPR.
  */
@@ -20,8 +22,20 @@
  * Load the address of a symbol from the TOC into the specified GPR.
  */
 #define LOAD_REG_ADDR(reg,name)                                         =
     \
-    addis reg,%r2,name@toc@ha;                                          =
     \
-    addi  reg,reg,name@toc@l
+    addis reg, %r2, name@toc@ha;                                        =
     \
+    addi  reg, reg, name@toc@l
+
+/*
+ * Declare a global assembly function with a proper TOC setup prologue
+ */
+#define _GLOBAL_TOC(name)                                               =
    \
+    .balign 4;                                                          =
    \
+    .type name, @function;                                              =
    \
+    .globl name;                                                        =
    \
+name:                                                                   =
    \
+0:  addis %r2, %r12, (.TOC.-0b)@ha;                                     =
    \
+    addi  %r2, %r2, (.TOC.-0b)@l;                                       =
    \
+    .localentry name, .-name

 /*
  * Depending on how we were booted, the CPU could be running in either
diff --git a/xen/arch/ppc/opal.c b/xen/arch/ppc/opal.c
index 251de8ac23..1183b7d5ef 100644
--- a/xen/arch/ppc/opal.c
+++ b/xen/arch/ppc/opal.c
@@ -8,9 +8,29 @@
 #include <xen/init.h>
 #include <xen/lib.h>

-/* Global OPAL struct containing entrypoint and base */
+/* Global OPAL struct containing entrypoint and base used by opal-calls.=
S */
 struct opal opal;

+int64_t opal_console_write(int64_t term_number, uint64_t *length,
+                           const void *buffer);
+int64_t opal_console_flush(int64_t term_number);
+int64_t opal_reinit_cpus(uint64_t flags);
+
+static void opal_putchar(char c)
+{
+    uint64_t len;
+
+    if ( c =3D=3D '\n' )
+    {
+        char buf =3D '\r';
+        len =3D cpu_to_be64(1);
+        opal_console_write(0, &len, &buf);
+    }
+    len =3D cpu_to_be64(1);
+    opal_console_write(0, &len, &c);
+    opal_console_flush(0);
+}
+
 void __init boot_opal_init(const void *fdt)
 {
     int opal_node;
@@ -45,4 +65,10 @@ void __init boot_opal_init(const void *fdt)

     opal.base =3D be64_to_cpu(*opal_base);
     opal.entry =3D be64_to_cpu(*opal_entry);
+
+    early_printk_init(opal_putchar);
+
+    /* Ask OPAL to set HID0 for Little Endian interrupts + Radix TLB sup=
port */
+    opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_LE | OPAL_REINIT_CPUS_MMU_RAD=
IX |
+                     OPAL_REINIT_CPUS_MMU_HASH);
 }
diff --git a/xen/arch/ppc/ppc64/Makefile b/xen/arch/ppc/ppc64/Makefile
index f4956daaa9..b9a91dc15f 100644
--- a/xen/arch/ppc/ppc64/Makefile
+++ b/xen/arch/ppc/ppc64/Makefile
@@ -1,2 +1,3 @@
 obj-y +=3D head.o
 obj-y +=3D of-call.o
+obj-y +=3D opal-calls.o
diff --git a/xen/arch/ppc/ppc64/asm-offsets.c b/xen/arch/ppc/ppc64/asm-of=
fsets.c
index e1129cb0f4..c15c1bf136 100644
--- a/xen/arch/ppc/ppc64/asm-offsets.c
+++ b/xen/arch/ppc/ppc64/asm-offsets.c
@@ -6,6 +6,7 @@

 #include <xen/macros.h>
 #include <asm/processor.h>
+#include <asm/boot.h>

 #define DEFINE(_sym, _val)                                              =
    \
     asm volatile ( "\n.ascii\"=3D=3D>#define " #_sym " %0 /* " #_val " *=
/<=3D=3D\"" \
@@ -46,6 +47,9 @@ void __dummy__(void)
     OFFSET(UREGS_cr, struct cpu_user_regs, cr);
     OFFSET(UREGS_fpscr, struct cpu_user_regs, fpscr);
     DEFINE(UREGS_sizeof, sizeof(struct cpu_user_regs));
+
+    OFFSET(OPAL_base, struct opal, base);
+    OFFSET(OPAL_entry, struct opal, entry);
 }

 /*
diff --git a/xen/arch/ppc/ppc64/opal-calls.S b/xen/arch/ppc/ppc64/opal-ca=
lls.S
new file mode 100644
index 0000000000..cc5de75c8a
--- /dev/null
+++ b/xen/arch/ppc/ppc64/opal-calls.S
@@ -0,0 +1,81 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Adapted from Linux's arch/powerpc/boot/opal-calls.S
+ *
+ * Copyright (c) 2016 IBM Corporation.
+ * Copyright Raptor Engineering, LLC
+ */
+
+#include <asm/asm-defns.h>
+#include <asm/opal-api.h>
+#include <asm/msr.h>
+
+    .text
+
+#define OPAL_CALL(name, token)  \
+    .globl name;                \
+name:                           \
+    li      %r0, token;         \
+    b       opal_call
+
+ _GLOBAL_TOC(opal_call)
+    /* Back up LR, CR, r2 in caller's stack frame */
+    mflr    %r11
+    mfcr    %r12
+    std     %r2, 24(%r1)
+    std     %r11, 16(%r1)
+    stw     %r12, 8(%r1)
+
+    /* Use r14 (non-volatile) to store the virtual address of opal_retur=
n_mmu */
+    std     %r14, -8(%r1)
+    stdu    %r1, -48(%r1)
+    LOAD_REG_ADDR(%r14, opal_return_mmu)
+
+    /*
+     * Setup new MSR without LE or MMU. Original MSR will be preserved a=
cross
+     * opal call in r13
+     */
+    mfmsr   %r13
+    li      %r11, MSR_LE | MSR_IR | MSR_DR
+    andc    %r12, %r13, %r11
+    mthsrr1 %r12
+
+    LOAD_REG_ADDR(%r11, opal_return_real)
+    mtlr     %r11
+
+    /* Load the opal call entry point and base */
+    LOAD_REG_ADDR(%r11, opal)
+    ld      %r12, OPAL_entry(%r11)
+    ld      %r2, OPAL_base(%r11)
+    mthsrr0 %r12
+    hrfid
+
+opal_return_real:
+    /*
+     * OPAL will always return to us in Big Endian mode. Since we are go=
ing
+     * to restore the old MSR with the correct endianness and MMU status=
 set, we
+     * can avoid an unnecessary FIXUP_ENDIAN trampoline by just encoding=
 the
+     * required Big Endian instructions to restore the old MSR direclty.
+     */
+    .long 0xa64bbb7d /* mthsrr1 %r13 (Old MSR) */
+    .long 0xa64bda7d /* mthsrr0 %r14 (Virtual address of opal_return_mmu=
) */
+    .long 0x2402004c /* hrfid */
+
+opal_return_mmu:
+    /*
+     * We're back in the correct endianness and MMU mode, restore regist=
ers
+     * and return
+     */
+    addi    %r1, %r1, 48
+    ld      %r14, -8(%r1)
+    lwz     %r11, 8(%r1)
+    ld      %r12, 16(%r1)
+    ld      %r2, 24(%r1)
+    mtcr    %r11
+    mtlr    %r12
+
+    blr
+
+OPAL_CALL(opal_console_write, OPAL_CONSOLE_WRITE)
+OPAL_CALL(opal_console_flush, OPAL_CONSOLE_FLUSH)
+OPAL_CALL(opal_reinit_cpus, OPAL_REINIT_CPUS)
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574611.900049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSk-0003Us-5j; Wed, 02 Aug 2023 00:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574611.900049; Wed, 02 Aug 2023 00: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 1qQzSk-0003Ul-2k; Wed, 02 Aug 2023 00:11:38 +0000
Received: by outflank-mailman (input) for mailman id 574611;
 Wed, 02 Aug 2023 00:11: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzSi-0003Fc-79
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:11:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23034186-30c9-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 02:11:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A538B828574A;
 Tue,  1 Aug 2023 19:11:32 -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 DUQIxQ5pEZEn; Tue,  1 Aug 2023 19:11:31 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6DE398284EB7;
 Tue,  1 Aug 2023 19:11:31 -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 sEqQJTs6SKw6; Tue,  1 Aug 2023 19:11:31 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 171CE8285491;
 Tue,  1 Aug 2023 19:11: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: 23034186-30c9-11ee-b25c-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 6DE398284EB7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935091; bh=evTmLh29uUc24NiflnIA1Cij5ypJhBmERpFc9O8S3xI=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=caEcdTwlQbhKy8QLdyCBbZLRGtqRv7YaDeFXDJlJ/YnRhdU+LjpFDhvYX39D2fITo
	 +/+2mJi8jWHC/e2o3lbo1oBy4Gvo/xgTPWZEXEMWRxGiyJu/Z+njG+jhxuzBzZ4kQD
	 IqG8pvweAKvZ1FBcDIwqUScYaiZdHMPcaaYYiXiM=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 1/4] xen/ppc: Switch to medium PIC code model
Date: Tue,  1 Aug 2023 19:11:03 -0500
Message-Id: <c72c242988295b665a8bd235a351806dc112ad01.1690934409.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1690934409.git.sanastasio@raptorengineering.com>
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Switch Xen to the medium PIC code model on Power. Among other things,
this allows us to be load address agnostic and will open the door to
booting on bare metal PowerNV systems that don't use OpenFirmware.

Also update XEN_VIRT_START to 0xc000000000000000, which is equivalent to
address 0x0 when the MMU is off. This prevents Open Firmware from
loading Xen at an offset from its base load address, so the DECL_SECTION
hack in xen.lds.S is no longer required.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changed in v2:
  - Remove stray newline
  - Use label instead of .+4 in TOC setup branch

 xen/arch/ppc/arch.mk                 |  2 +-
 xen/arch/ppc/include/asm/asm-defns.h |  7 +++++
 xen/arch/ppc/include/asm/config.h    |  2 +-
 xen/arch/ppc/ppc64/head.S            | 12 +++++---
 xen/arch/ppc/xen.lds.S               | 44 ++++++++++------------------
 5 files changed, 33 insertions(+), 34 deletions(-)

diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index 7eec22c283..0183b9ac6a 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -5,7 +5,7 @@ ppc-march-$(CONFIG_POWER_ISA_2_07B) :=3D power8
 ppc-march-$(CONFIG_POWER_ISA_3_00) :=3D power9

 CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
-CFLAGS +=3D -mstrict-align -mcmodel=3Dlarge -mabi=3Delfv2 -mno-altivec -=
mno-vsx
+CFLAGS +=3D -mstrict-align -mcmodel=3Dmedium -mabi=3Delfv2 -fPIC -mno-al=
tivec -mno-vsx -msoft-float

 LDFLAGS +=3D -m elf64lppc

diff --git a/xen/arch/ppc/include/asm/asm-defns.h b/xen/arch/ppc/include/=
asm/asm-defns.h
index 35b1c89d4e..5821f9024d 100644
--- a/xen/arch/ppc/include/asm/asm-defns.h
+++ b/xen/arch/ppc/include/asm/asm-defns.h
@@ -16,6 +16,13 @@
     lis reg, (val) @h;                                                  =
     \
     ori reg, reg, (val) @l;                                             =
     \

+/*
+ * Load the address of a symbol from the TOC into the specified GPR.
+ */
+#define LOAD_REG_ADDR(reg,name)                                         =
     \
+    addis reg,%r2,name@toc@ha;                                          =
     \
+    addi  reg,reg,name@toc@l
+
 /*
  * Depending on how we were booted, the CPU could be running in either
  * Little Endian or Big Endian mode. The following trampoline from Linux
diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index cb27d2781e..d060f0dca7 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -39,7 +39,7 @@
     name:
 #endif

-#define XEN_VIRT_START _AT(UL, 0x400000)
+#define XEN_VIRT_START _AT(UL, 0xc000000000000000)

 #define SMP_CACHE_BYTES (1 << 6)

diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index 02ff520458..4172f1b8ec 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */

 #include <asm/asm-defns.h>
+#include <asm/asm-offsets.h>

     .section .text.header, "ax", %progbits

@@ -11,16 +12,19 @@ ENTRY(start)
     FIXUP_ENDIAN

     /* set up the TOC pointer */
-    LOAD_IMM32(%r2, .TOC.)
+    bcl	    20, 31, 1f
+1:  mflr    %r12
+    addis   %r2, %r12, .TOC.-1b@ha
+    addi    %r2, %r2, .TOC.-1b@l

     /* set up the initial stack */
-    LOAD_IMM32(%r1, cpu0_boot_stack)
+    LOAD_REG_ADDR(%r1, cpu0_boot_stack)
     li      %r11, 0
     stdu    %r11, -STACK_FRAME_OVERHEAD(%r1)

     /* clear .bss */
-    LOAD_IMM32(%r14, __bss_start)
-    LOAD_IMM32(%r15, __bss_end)
+    LOAD_REG_ADDR(%r14, __bss_start)
+    LOAD_REG_ADDR(%r15, __bss_end)
 1:
     std     %r11, 0(%r14)
     addi    %r14, %r14, 8
diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index c628cc0e5c..2fa81d5a83 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -15,25 +15,12 @@ PHDRS
 #endif
 }

-/**
- * OpenFirmware's base load address is 0x400000 (XEN_VIRT_START).
- * By defining sections this way, we can keep our virtual address base a=
t 0x400000
- * while keeping the physical base at 0x0.
- *
- * Otherwise, OpenFirmware incorrectly loads .text at 0x400000 + 0x40000=
0 =3D 0x800000.
- * Taken from x86/xen.lds.S
- */
-#ifdef CONFIG_LD_IS_GNU
-# define DECL_SECTION(x) x : AT(ADDR(#x) - XEN_VIRT_START)
-#else
-# define DECL_SECTION(x) x : AT(ADDR(x) - XEN_VIRT_START)
-#endif
-
 SECTIONS
 {
     . =3D XEN_VIRT_START;
+    _start =3D .;

-    DECL_SECTION(.text) {
+    .text : {
         _stext =3D .;            /* Text section */
         *(.text.header)

@@ -52,7 +39,7 @@ SECTIONS
     } :text

     . =3D ALIGN(PAGE_SIZE);
-    DECL_SECTION(.rodata) {
+    .rodata : {
         _srodata =3D .;          /* Read-only data */
         *(.rodata)
         *(.rodata.*)
@@ -67,7 +54,7 @@ SECTIONS

     #if defined(BUILD_ID)
     . =3D ALIGN(4);
-    DECL_SECTION(.note.gnu.build-id) {
+    .note.gnu.build-id : {
         __note_gnu_build_id_start =3D .;
         *(.note.gnu.build-id)
         __note_gnu_build_id_end =3D .;
@@ -76,19 +63,19 @@ SECTIONS
     _erodata =3D .;                /* End of read-only data */

     . =3D ALIGN(PAGE_SIZE);
-    DECL_SECTION(.data.ro_after_init) {
+    .data.ro_after_init : {
         __ro_after_init_start =3D .;
         *(.data.ro_after_init)
         . =3D ALIGN(PAGE_SIZE);
         __ro_after_init_end =3D .;
-    } : text
+    } :text

-    DECL_SECTION(.data.read_mostly) {
+    .data.read_mostly : {
         *(.data.read_mostly)
     } :text

     . =3D ALIGN(PAGE_SIZE);
-    DECL_SECTION(.data) {                    /* Data */
+    .data : {                    /* Data */
         *(.data.page_aligned)
         . =3D ALIGN(8);
         __start_schedulers_array =3D .;
@@ -103,7 +90,7 @@ SECTIONS

     . =3D ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin =3D .;
-    DECL_SECTION(.init.text) {
+    .init.text : {
         _sinittext =3D .;
         *(.init.text)
         _einittext =3D .;
@@ -111,7 +98,7 @@ SECTIONS
     } :text

     . =3D ALIGN(PAGE_SIZE);
-    DECL_SECTION(.init.data) {
+    .init.data : {
         *(.init.rodata)
         *(.init.rodata.*)

@@ -140,18 +127,18 @@ SECTIONS
         __ctors_end =3D .;
     } :text

-    DECL_SECTION(.got) {
-        *(.got)
+    .got : {
+        *(.got .toc)
     } :text

-    DECL_SECTION(.got.plt) {
+    .got.plt : {
         *(.got.plt)
     } :text

     . =3D ALIGN(POINTER_ALIGN);
     __init_end =3D .;

-    DECL_SECTION(.bss) {                     /* BSS */
+    .bss : {                     /* BSS */
         __bss_start =3D .;
         *(.bss.stack_aligned)
         *(.bss.page_aligned)
@@ -167,10 +154,11 @@ SECTIONS
         . =3D ALIGN(POINTER_ALIGN);
         __bss_end =3D .;
     } :text
+
     _end =3D . ;

     /* Section for the device tree blob (if any). */
-    DECL_SECTION(.dtb) { *(.dtb) } :text
+    .dtb : { *(.dtb) } :text

     DWARF2_DEBUG_SECTIONS

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574614.900069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSl-0003sA-GF; Wed, 02 Aug 2023 00:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574614.900069; Wed, 02 Aug 2023 00:11:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSl-0003r4-AT; Wed, 02 Aug 2023 00:11:39 +0000
Received: by outflank-mailman (input) for mailman id 574614;
 Wed, 02 Aug 2023 00:11:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzSk-0003Fc-0J
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:11:38 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24b88c23-30c9-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 02:11:36 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 80E598285BEB;
 Tue,  1 Aug 2023 19:11: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 ytrMOHAsggp4; Tue,  1 Aug 2023 19:11:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 26F8882860D8;
 Tue,  1 Aug 2023 19:11: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 z9G1bl3ezzIu; Tue,  1 Aug 2023 19:11:31 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 74A98828574A;
 Tue,  1 Aug 2023 19:11: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: 24b88c23-30c9-11ee-b25c-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 26F8882860D8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935092; bh=fdyVe894HHgk3h8xSGSF2mcH94BslBHZiYxBadv73ms=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=BTcPUHaGK03OzgC5KnVPQsovwzg51MZfMf9h+LWDgW01CWSg6ePWsRoKfsnxlVc24
	 Ogw7Wg1SGVNuFoayiBSbtFQvVirwRIqr/vjVh+In8IQr6VmY624LiCGGK7RHUDQLSk
	 KmvFLfMpynvU4y4Ta8gvFZDMEi0FmmMD3UraFnR8=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 2/4] xen/ppc: Add OPAL API definition header file
Date: Tue,  1 Aug 2023 19:11:04 -0500
Message-Id: <398ef92c0103fbc70f53b26403fa6596ac73ec0c.1690934409.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1690934409.git.sanastasio@raptorengineering.com>
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

OPAL (OpenPower Abstraction Layer) is the interface exposed by firmware
on PowerNV (bare metal) systems. Import Linux's header definining the
API and related information.

>From Linux commit 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changed in v2:
  - Add Linux commit reference to commit message

 xen/arch/ppc/include/asm/opal-api.h | 1190 +++++++++++++++++++++++++++
 1 file changed, 1190 insertions(+)
 create mode 100644 xen/arch/ppc/include/asm/opal-api.h

diff --git a/xen/arch/ppc/include/asm/opal-api.h b/xen/arch/ppc/include/a=
sm/opal-api.h
new file mode 100644
index 0000000000..75100eda83
--- /dev/null
+++ b/xen/arch/ppc/include/asm/opal-api.h
@@ -0,0 +1,1190 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * OPAL API definitions.
+ *
+ * Copyright 2011-2015 IBM Corp.
+ */
+
+#ifndef __OPAL_API_H
+#define __OPAL_API_H
+
+/****** OPAL APIs ******/
+
+/* Return codes */
+#define OPAL_SUCCESS		0
+#define OPAL_PARAMETER		-1
+#define OPAL_BUSY		-2
+#define OPAL_PARTIAL		-3
+#define OPAL_CONSTRAINED	-4
+#define OPAL_CLOSED		-5
+#define OPAL_HARDWARE		-6
+#define OPAL_UNSUPPORTED	-7
+#define OPAL_PERMISSION		-8
+#define OPAL_NO_MEM		-9
+#define OPAL_RESOURCE		-10
+#define OPAL_INTERNAL_ERROR	-11
+#define OPAL_BUSY_EVENT		-12
+#define OPAL_HARDWARE_FROZEN	-13
+#define OPAL_WRONG_STATE	-14
+#define OPAL_ASYNC_COMPLETION	-15
+#define OPAL_EMPTY		-16
+#define OPAL_I2C_TIMEOUT	-17
+#define OPAL_I2C_INVALID_CMD	-18
+#define OPAL_I2C_LBUS_PARITY	-19
+#define OPAL_I2C_BKEND_OVERRUN	-20
+#define OPAL_I2C_BKEND_ACCESS	-21
+#define OPAL_I2C_ARBT_LOST	-22
+#define OPAL_I2C_NACK_RCVD	-23
+#define OPAL_I2C_STOP_ERR	-24
+#define OPAL_XIVE_PROVISIONING	-31
+#define OPAL_XIVE_FREE_ACTIVE	-32
+#define OPAL_TIMEOUT		-33
+
+/* API Tokens (in r0) */
+#define OPAL_INVALID_CALL		       -1
+#define OPAL_TEST				0
+#define OPAL_CONSOLE_WRITE			1
+#define OPAL_CONSOLE_READ			2
+#define OPAL_RTC_READ				3
+#define OPAL_RTC_WRITE				4
+#define OPAL_CEC_POWER_DOWN			5
+#define OPAL_CEC_REBOOT				6
+#define OPAL_READ_NVRAM				7
+#define OPAL_WRITE_NVRAM			8
+#define OPAL_HANDLE_INTERRUPT			9
+#define OPAL_POLL_EVENTS			10
+#define OPAL_PCI_SET_HUB_TCE_MEMORY		11
+#define OPAL_PCI_SET_PHB_TCE_MEMORY		12
+#define OPAL_PCI_CONFIG_READ_BYTE		13
+#define OPAL_PCI_CONFIG_READ_HALF_WORD  	14
+#define OPAL_PCI_CONFIG_READ_WORD		15
+#define OPAL_PCI_CONFIG_WRITE_BYTE		16
+#define OPAL_PCI_CONFIG_WRITE_HALF_WORD		17
+#define OPAL_PCI_CONFIG_WRITE_WORD		18
+#define OPAL_SET_XIVE				19
+#define OPAL_GET_XIVE				20
+#define OPAL_GET_COMPLETION_TOKEN_STATUS	21 /* obsolete */
+#define OPAL_REGISTER_OPAL_EXCEPTION_HANDLER	22
+#define OPAL_PCI_EEH_FREEZE_STATUS		23
+#define OPAL_PCI_SHPC				24
+#define OPAL_CONSOLE_WRITE_BUFFER_SPACE		25
+#define OPAL_PCI_EEH_FREEZE_CLEAR		26
+#define OPAL_PCI_PHB_MMIO_ENABLE		27
+#define OPAL_PCI_SET_PHB_MEM_WINDOW		28
+#define OPAL_PCI_MAP_PE_MMIO_WINDOW		29
+#define OPAL_PCI_SET_PHB_TABLE_MEMORY		30
+#define OPAL_PCI_SET_PE				31
+#define OPAL_PCI_SET_PELTV			32
+#define OPAL_PCI_SET_MVE			33
+#define OPAL_PCI_SET_MVE_ENABLE			34
+#define OPAL_PCI_GET_XIVE_REISSUE		35
+#define OPAL_PCI_SET_XIVE_REISSUE		36
+#define OPAL_PCI_SET_XIVE_PE			37
+#define OPAL_GET_XIVE_SOURCE			38
+#define OPAL_GET_MSI_32				39
+#define OPAL_GET_MSI_64				40
+#define OPAL_START_CPU				41
+#define OPAL_QUERY_CPU_STATUS			42
+#define OPAL_WRITE_OPPANEL			43 /* unimplemented */
+#define OPAL_PCI_MAP_PE_DMA_WINDOW		44
+#define OPAL_PCI_MAP_PE_DMA_WINDOW_REAL		45
+#define OPAL_PCI_RESET				49
+#define OPAL_PCI_GET_HUB_DIAG_DATA		50
+#define OPAL_PCI_GET_PHB_DIAG_DATA		51
+#define OPAL_PCI_FENCE_PHB			52
+#define OPAL_PCI_REINIT				53
+#define OPAL_PCI_MASK_PE_ERROR			54
+#define OPAL_SET_SLOT_LED_STATUS		55
+#define OPAL_GET_EPOW_STATUS			56
+#define OPAL_SET_SYSTEM_ATTENTION_LED		57
+#define OPAL_RESERVED1				58
+#define OPAL_RESERVED2				59
+#define OPAL_PCI_NEXT_ERROR			60
+#define OPAL_PCI_EEH_FREEZE_STATUS2		61
+#define OPAL_PCI_POLL				62
+#define OPAL_PCI_MSI_EOI			63
+#define OPAL_PCI_GET_PHB_DIAG_DATA2		64
+#define OPAL_XSCOM_READ				65
+#define OPAL_XSCOM_WRITE			66
+#define OPAL_LPC_READ				67
+#define OPAL_LPC_WRITE				68
+#define OPAL_RETURN_CPU				69
+#define OPAL_REINIT_CPUS			70
+#define OPAL_ELOG_READ				71
+#define OPAL_ELOG_WRITE				72
+#define OPAL_ELOG_ACK				73
+#define OPAL_ELOG_RESEND			74
+#define OPAL_ELOG_SIZE				75
+#define OPAL_FLASH_VALIDATE			76
+#define OPAL_FLASH_MANAGE			77
+#define OPAL_FLASH_UPDATE			78
+#define OPAL_RESYNC_TIMEBASE			79
+#define OPAL_CHECK_TOKEN			80
+#define OPAL_DUMP_INIT				81
+#define OPAL_DUMP_INFO				82
+#define OPAL_DUMP_READ				83
+#define OPAL_DUMP_ACK				84
+#define OPAL_GET_MSG				85
+#define OPAL_CHECK_ASYNC_COMPLETION		86
+#define OPAL_SYNC_HOST_REBOOT			87
+#define OPAL_SENSOR_READ			88
+#define OPAL_GET_PARAM				89
+#define OPAL_SET_PARAM				90
+#define OPAL_DUMP_RESEND			91
+#define OPAL_ELOG_SEND				92	/* Deprecated */
+#define OPAL_PCI_SET_PHB_CAPI_MODE		93
+#define OPAL_DUMP_INFO2				94
+#define OPAL_WRITE_OPPANEL_ASYNC		95
+#define OPAL_PCI_ERR_INJECT			96
+#define OPAL_PCI_EEH_FREEZE_SET			97
+#define OPAL_HANDLE_HMI				98
+#define OPAL_CONFIG_CPU_IDLE_STATE		99
+#define OPAL_SLW_SET_REG			100
+#define OPAL_REGISTER_DUMP_REGION		101
+#define OPAL_UNREGISTER_DUMP_REGION		102
+#define OPAL_WRITE_TPO				103
+#define OPAL_READ_TPO				104
+#define OPAL_GET_DPO_STATUS			105
+#define OPAL_OLD_I2C_REQUEST			106	/* Deprecated */
+#define OPAL_IPMI_SEND				107
+#define OPAL_IPMI_RECV				108
+#define OPAL_I2C_REQUEST			109
+#define OPAL_FLASH_READ				110
+#define OPAL_FLASH_WRITE			111
+#define OPAL_FLASH_ERASE			112
+#define OPAL_PRD_MSG				113
+#define OPAL_LEDS_GET_INDICATOR			114
+#define OPAL_LEDS_SET_INDICATOR			115
+#define OPAL_CEC_REBOOT2			116
+#define OPAL_CONSOLE_FLUSH			117
+#define OPAL_GET_DEVICE_TREE			118
+#define OPAL_PCI_GET_PRESENCE_STATE		119
+#define OPAL_PCI_GET_POWER_STATE		120
+#define OPAL_PCI_SET_POWER_STATE		121
+#define OPAL_INT_GET_XIRR			122
+#define	OPAL_INT_SET_CPPR			123
+#define OPAL_INT_EOI				124
+#define OPAL_INT_SET_MFRR			125
+#define OPAL_PCI_TCE_KILL			126
+#define OPAL_NMMU_SET_PTCR			127
+#define OPAL_XIVE_RESET				128
+#define OPAL_XIVE_GET_IRQ_INFO			129
+#define OPAL_XIVE_GET_IRQ_CONFIG		130
+#define OPAL_XIVE_SET_IRQ_CONFIG		131
+#define OPAL_XIVE_GET_QUEUE_INFO		132
+#define OPAL_XIVE_SET_QUEUE_INFO		133
+#define OPAL_XIVE_DONATE_PAGE			134
+#define OPAL_XIVE_ALLOCATE_VP_BLOCK		135
+#define OPAL_XIVE_FREE_VP_BLOCK			136
+#define OPAL_XIVE_GET_VP_INFO			137
+#define OPAL_XIVE_SET_VP_INFO			138
+#define OPAL_XIVE_ALLOCATE_IRQ			139
+#define OPAL_XIVE_FREE_IRQ			140
+#define OPAL_XIVE_SYNC				141
+#define OPAL_XIVE_DUMP				142
+#define OPAL_XIVE_GET_QUEUE_STATE		143
+#define OPAL_XIVE_SET_QUEUE_STATE		144
+#define OPAL_SIGNAL_SYSTEM_RESET		145
+#define OPAL_NPU_INIT_CONTEXT			146
+#define OPAL_NPU_DESTROY_CONTEXT		147
+#define OPAL_NPU_MAP_LPAR			148
+#define OPAL_IMC_COUNTERS_INIT			149
+#define OPAL_IMC_COUNTERS_START			150
+#define OPAL_IMC_COUNTERS_STOP			151
+#define OPAL_GET_POWERCAP			152
+#define OPAL_SET_POWERCAP			153
+#define OPAL_GET_POWER_SHIFT_RATIO		154
+#define OPAL_SET_POWER_SHIFT_RATIO		155
+#define OPAL_SENSOR_GROUP_CLEAR			156
+#define OPAL_PCI_SET_P2P			157
+#define OPAL_QUIESCE				158
+#define OPAL_NPU_SPA_SETUP			159
+#define OPAL_NPU_SPA_CLEAR_CACHE		160
+#define OPAL_NPU_TL_SET				161
+#define OPAL_SENSOR_READ_U64			162
+#define OPAL_SENSOR_GROUP_ENABLE		163
+#define OPAL_PCI_GET_PBCQ_TUNNEL_BAR		164
+#define OPAL_PCI_SET_PBCQ_TUNNEL_BAR		165
+#define OPAL_HANDLE_HMI2			166
+#define	OPAL_NX_COPROC_INIT			167
+#define OPAL_XIVE_GET_VP_STATE			170
+#define OPAL_MPIPL_UPDATE			173
+#define OPAL_MPIPL_REGISTER_TAG			174
+#define OPAL_MPIPL_QUERY_TAG			175
+#define OPAL_SECVAR_GET				176
+#define OPAL_SECVAR_GET_NEXT			177
+#define OPAL_SECVAR_ENQUEUE_UPDATE		178
+#define OPAL_LAST				178
+
+#define QUIESCE_HOLD			1 /* Spin all calls at entry */
+#define QUIESCE_REJECT			2 /* Fail all calls with OPAL_BUSY */
+#define QUIESCE_LOCK_BREAK		3 /* Set to ignore locks. */
+#define QUIESCE_RESUME			4 /* Un-quiesce */
+#define QUIESCE_RESUME_FAST_REBOOT	5 /* Un-quiesce, fast reboot */
+
+/* Device tree flags */
+
+/*
+ * Flags set in power-mgmt nodes in device tree describing
+ * idle states that are supported in the platform.
+ */
+
+#define OPAL_PM_TIMEBASE_STOP		0x00000002
+#define OPAL_PM_LOSE_HYP_CONTEXT	0x00002000
+#define OPAL_PM_LOSE_FULL_CONTEXT	0x00004000
+#define OPAL_PM_NAP_ENABLED		0x00010000
+#define OPAL_PM_SLEEP_ENABLED		0x00020000
+#define OPAL_PM_WINKLE_ENABLED		0x00040000
+#define OPAL_PM_SLEEP_ENABLED_ER1	0x00080000 /* with workaround */
+#define OPAL_PM_STOP_INST_FAST		0x00100000
+#define OPAL_PM_STOP_INST_DEEP		0x00200000
+
+/*
+ * OPAL_CONFIG_CPU_IDLE_STATE parameters
+ */
+#define OPAL_CONFIG_IDLE_FASTSLEEP	1
+#define OPAL_CONFIG_IDLE_UNDO		0
+#define OPAL_CONFIG_IDLE_APPLY		1
+
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+
+/* Other enums */
+enum OpalFreezeState {
+	OPAL_EEH_STOPPED_NOT_FROZEN =3D 0,
+	OPAL_EEH_STOPPED_MMIO_FREEZE =3D 1,
+	OPAL_EEH_STOPPED_DMA_FREEZE =3D 2,
+	OPAL_EEH_STOPPED_MMIO_DMA_FREEZE =3D 3,
+	OPAL_EEH_STOPPED_RESET =3D 4,
+	OPAL_EEH_STOPPED_TEMP_UNAVAIL =3D 5,
+	OPAL_EEH_STOPPED_PERM_UNAVAIL =3D 6
+};
+
+enum OpalEehFreezeActionToken {
+	OPAL_EEH_ACTION_CLEAR_FREEZE_MMIO =3D 1,
+	OPAL_EEH_ACTION_CLEAR_FREEZE_DMA =3D 2,
+	OPAL_EEH_ACTION_CLEAR_FREEZE_ALL =3D 3,
+
+	OPAL_EEH_ACTION_SET_FREEZE_MMIO =3D 1,
+	OPAL_EEH_ACTION_SET_FREEZE_DMA  =3D 2,
+	OPAL_EEH_ACTION_SET_FREEZE_ALL  =3D 3
+};
+
+enum OpalPciStatusToken {
+	OPAL_EEH_NO_ERROR	=3D 0,
+	OPAL_EEH_IOC_ERROR	=3D 1,
+	OPAL_EEH_PHB_ERROR	=3D 2,
+	OPAL_EEH_PE_ERROR	=3D 3,
+	OPAL_EEH_PE_MMIO_ERROR	=3D 4,
+	OPAL_EEH_PE_DMA_ERROR	=3D 5
+};
+
+enum OpalPciErrorSeverity {
+	OPAL_EEH_SEV_NO_ERROR	=3D 0,
+	OPAL_EEH_SEV_IOC_DEAD	=3D 1,
+	OPAL_EEH_SEV_PHB_DEAD	=3D 2,
+	OPAL_EEH_SEV_PHB_FENCED	=3D 3,
+	OPAL_EEH_SEV_PE_ER	=3D 4,
+	OPAL_EEH_SEV_INF	=3D 5
+};
+
+enum OpalErrinjectType {
+	OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR	=3D 0,
+	OPAL_ERR_INJECT_TYPE_IOA_BUS_ERR64	=3D 1,
+};
+
+enum OpalErrinjectFunc {
+	/* IOA bus specific errors */
+	OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_ADDR	=3D 0,
+	OPAL_ERR_INJECT_FUNC_IOA_LD_MEM_DATA	=3D 1,
+	OPAL_ERR_INJECT_FUNC_IOA_LD_IO_ADDR	=3D 2,
+	OPAL_ERR_INJECT_FUNC_IOA_LD_IO_DATA	=3D 3,
+	OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_ADDR	=3D 4,
+	OPAL_ERR_INJECT_FUNC_IOA_LD_CFG_DATA	=3D 5,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_ADDR	=3D 6,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_MEM_DATA	=3D 7,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_IO_ADDR	=3D 8,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_IO_DATA	=3D 9,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_ADDR	=3D 10,
+	OPAL_ERR_INJECT_FUNC_IOA_ST_CFG_DATA	=3D 11,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_ADDR	=3D 12,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_DATA	=3D 13,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_MASTER	=3D 14,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_RD_TARGET	=3D 15,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_ADDR	=3D 16,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_DATA	=3D 17,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_MASTER	=3D 18,
+	OPAL_ERR_INJECT_FUNC_IOA_DMA_WR_TARGET	=3D 19,
+};
+
+enum OpalMmioWindowType {
+	OPAL_M32_WINDOW_TYPE =3D 1,
+	OPAL_M64_WINDOW_TYPE =3D 2,
+	OPAL_IO_WINDOW_TYPE  =3D 3
+};
+
+enum OpalExceptionHandler {
+	OPAL_MACHINE_CHECK_HANDLER	    =3D 1,
+	OPAL_HYPERVISOR_MAINTENANCE_HANDLER =3D 2,
+	OPAL_SOFTPATCH_HANDLER		    =3D 3
+};
+
+enum OpalPendingState {
+	OPAL_EVENT_OPAL_INTERNAL   =3D 0x1,
+	OPAL_EVENT_NVRAM	   =3D 0x2,
+	OPAL_EVENT_RTC		   =3D 0x4,
+	OPAL_EVENT_CONSOLE_OUTPUT  =3D 0x8,
+	OPAL_EVENT_CONSOLE_INPUT   =3D 0x10,
+	OPAL_EVENT_ERROR_LOG_AVAIL =3D 0x20,
+	OPAL_EVENT_ERROR_LOG	   =3D 0x40,
+	OPAL_EVENT_EPOW		   =3D 0x80,
+	OPAL_EVENT_LED_STATUS	   =3D 0x100,
+	OPAL_EVENT_PCI_ERROR	   =3D 0x200,
+	OPAL_EVENT_DUMP_AVAIL	   =3D 0x400,
+	OPAL_EVENT_MSG_PENDING	   =3D 0x800,
+};
+
+enum OpalThreadStatus {
+	OPAL_THREAD_INACTIVE =3D 0x0,
+	OPAL_THREAD_STARTED =3D 0x1,
+	OPAL_THREAD_UNAVAILABLE =3D 0x2 /* opal-v3 */
+};
+
+enum OpalPciBusCompare {
+	OpalPciBusAny	=3D 0,	/* Any bus number match */
+	OpalPciBus3Bits	=3D 2,	/* Match top 3 bits of bus number */
+	OpalPciBus4Bits	=3D 3,	/* Match top 4 bits of bus number */
+	OpalPciBus5Bits	=3D 4,	/* Match top 5 bits of bus number */
+	OpalPciBus6Bits	=3D 5,	/* Match top 6 bits of bus number */
+	OpalPciBus7Bits	=3D 6,	/* Match top 7 bits of bus number */
+	OpalPciBusAll	=3D 7,	/* Match bus number exactly */
+};
+
+enum OpalDeviceCompare {
+	OPAL_IGNORE_RID_DEVICE_NUMBER =3D 0,
+	OPAL_COMPARE_RID_DEVICE_NUMBER =3D 1
+};
+
+enum OpalFuncCompare {
+	OPAL_IGNORE_RID_FUNCTION_NUMBER =3D 0,
+	OPAL_COMPARE_RID_FUNCTION_NUMBER =3D 1
+};
+
+enum OpalPeAction {
+	OPAL_UNMAP_PE =3D 0,
+	OPAL_MAP_PE =3D 1
+};
+
+enum OpalPeltvAction {
+	OPAL_REMOVE_PE_FROM_DOMAIN =3D 0,
+	OPAL_ADD_PE_TO_DOMAIN =3D 1
+};
+
+enum OpalMveEnableAction {
+	OPAL_DISABLE_MVE =3D 0,
+	OPAL_ENABLE_MVE =3D 1
+};
+
+enum OpalM64Action {
+	OPAL_DISABLE_M64 =3D 0,
+	OPAL_ENABLE_M64_SPLIT =3D 1,
+	OPAL_ENABLE_M64_NON_SPLIT =3D 2
+};
+
+enum OpalPciResetScope {
+	OPAL_RESET_PHB_COMPLETE		=3D 1,
+	OPAL_RESET_PCI_LINK		=3D 2,
+	OPAL_RESET_PHB_ERROR		=3D 3,
+	OPAL_RESET_PCI_HOT		=3D 4,
+	OPAL_RESET_PCI_FUNDAMENTAL	=3D 5,
+	OPAL_RESET_PCI_IODA_TABLE	=3D 6
+};
+
+enum OpalPciReinitScope {
+	/*
+	 * Note: we chose values that do not overlap
+	 * OpalPciResetScope as OPAL v2 used the same
+	 * enum for both
+	 */
+	OPAL_REINIT_PCI_DEV =3D 1000
+};
+
+enum OpalPciResetState {
+	OPAL_DEASSERT_RESET =3D 0,
+	OPAL_ASSERT_RESET   =3D 1
+};
+
+enum OpalPciSlotPresence {
+	OPAL_PCI_SLOT_EMPTY	=3D 0,
+	OPAL_PCI_SLOT_PRESENT	=3D 1
+};
+
+enum OpalPciSlotPower {
+	OPAL_PCI_SLOT_POWER_OFF	=3D 0,
+	OPAL_PCI_SLOT_POWER_ON	=3D 1,
+	OPAL_PCI_SLOT_OFFLINE	=3D 2,
+	OPAL_PCI_SLOT_ONLINE	=3D 3
+};
+
+enum OpalSlotLedType {
+	OPAL_SLOT_LED_TYPE_ID =3D 0,	/* IDENTIFY LED */
+	OPAL_SLOT_LED_TYPE_FAULT =3D 1,	/* FAULT LED */
+	OPAL_SLOT_LED_TYPE_ATTN =3D 2,	/* System Attention LED */
+	OPAL_SLOT_LED_TYPE_MAX =3D 3
+};
+
+enum OpalSlotLedState {
+	OPAL_SLOT_LED_STATE_OFF =3D 0,	/* LED is OFF */
+	OPAL_SLOT_LED_STATE_ON =3D 1	/* LED is ON */
+};
+
+/*
+ * Address cycle types for LPC accesses. These also correspond
+ * to the content of the first cell of the "reg" property for
+ * device nodes on the LPC bus
+ */
+enum OpalLPCAddressType {
+	OPAL_LPC_MEM	=3D 0,
+	OPAL_LPC_IO	=3D 1,
+	OPAL_LPC_FW	=3D 2,
+};
+
+enum opal_msg_type {
+	OPAL_MSG_ASYNC_COMP	=3D 0,	/* params[0] =3D token, params[1] =3D rc,
+					 * additional params function-specific
+					 */
+	OPAL_MSG_MEM_ERR	=3D 1,
+	OPAL_MSG_EPOW		=3D 2,
+	OPAL_MSG_SHUTDOWN	=3D 3,	/* params[0] =3D 1 reboot, 0 shutdown */
+	OPAL_MSG_HMI_EVT	=3D 4,
+	OPAL_MSG_DPO		=3D 5,
+	OPAL_MSG_PRD		=3D 6,
+	OPAL_MSG_OCC		=3D 7,
+	OPAL_MSG_PRD2		=3D 8,
+	OPAL_MSG_TYPE_MAX,
+};
+
+struct opal_msg {
+	__be32 msg_type;
+	__be32 reserved;
+	__be64 params[8];
+};
+
+/* System parameter permission */
+enum OpalSysparamPerm {
+	OPAL_SYSPARAM_READ  =3D 0x1,
+	OPAL_SYSPARAM_WRITE =3D 0x2,
+	OPAL_SYSPARAM_RW    =3D (OPAL_SYSPARAM_READ | OPAL_SYSPARAM_WRITE),
+};
+
+enum {
+	OPAL_IPMI_MSG_FORMAT_VERSION_1 =3D 1,
+};
+
+struct opal_ipmi_msg {
+	uint8_t version;
+	uint8_t netfn;
+	uint8_t cmd;
+	uint8_t data[];
+};
+
+/* FSP memory errors handling */
+enum OpalMemErr_Version {
+	OpalMemErr_V1 =3D 1,
+};
+
+enum OpalMemErrType {
+	OPAL_MEM_ERR_TYPE_RESILIENCE	=3D 0,
+	OPAL_MEM_ERR_TYPE_DYN_DALLOC,
+};
+
+/* Memory Reilience error type */
+enum OpalMemErr_ResilErrType {
+	OPAL_MEM_RESILIENCE_CE		=3D 0,
+	OPAL_MEM_RESILIENCE_UE,
+	OPAL_MEM_RESILIENCE_UE_SCRUB,
+};
+
+/* Dynamic Memory Deallocation type */
+enum OpalMemErr_DynErrType {
+	OPAL_MEM_DYNAMIC_DEALLOC	=3D 0,
+};
+
+struct OpalMemoryErrorData {
+	enum OpalMemErr_Version	version:8;	/* 0x00 */
+	enum OpalMemErrType	type:8;		/* 0x01 */
+	__be16			flags;		/* 0x02 */
+	uint8_t			reserved_1[4];	/* 0x04 */
+
+	union {
+		/* Memory Resilience corrected/uncorrected error info */
+		struct {
+			enum OpalMemErr_ResilErrType	resil_err_type:8;
+			uint8_t				reserved_1[7];
+			__be64				physical_address_start;
+			__be64				physical_address_end;
+		} resilience;
+		/* Dynamic memory deallocation error info */
+		struct {
+			enum OpalMemErr_DynErrType	dyn_err_type:8;
+			uint8_t				reserved_1[7];
+			__be64				physical_address_start;
+			__be64				physical_address_end;
+		} dyn_dealloc;
+	} u;
+};
+
+/* HMI interrupt event */
+enum OpalHMI_Version {
+	OpalHMIEvt_V1 =3D 1,
+	OpalHMIEvt_V2 =3D 2,
+};
+
+enum OpalHMI_Severity {
+	OpalHMI_SEV_NO_ERROR =3D 0,
+	OpalHMI_SEV_WARNING =3D 1,
+	OpalHMI_SEV_ERROR_SYNC =3D 2,
+	OpalHMI_SEV_FATAL =3D 3,
+};
+
+enum OpalHMI_Disposition {
+	OpalHMI_DISPOSITION_RECOVERED =3D 0,
+	OpalHMI_DISPOSITION_NOT_RECOVERED =3D 1,
+};
+
+enum OpalHMI_ErrType {
+	OpalHMI_ERROR_MALFUNC_ALERT	=3D 0,
+	OpalHMI_ERROR_PROC_RECOV_DONE,
+	OpalHMI_ERROR_PROC_RECOV_DONE_AGAIN,
+	OpalHMI_ERROR_PROC_RECOV_MASKED,
+	OpalHMI_ERROR_TFAC,
+	OpalHMI_ERROR_TFMR_PARITY,
+	OpalHMI_ERROR_HA_OVERFLOW_WARN,
+	OpalHMI_ERROR_XSCOM_FAIL,
+	OpalHMI_ERROR_XSCOM_DONE,
+	OpalHMI_ERROR_SCOM_FIR,
+	OpalHMI_ERROR_DEBUG_TRIG_FIR,
+	OpalHMI_ERROR_HYP_RESOURCE,
+	OpalHMI_ERROR_CAPP_RECOVERY,
+};
+
+enum OpalHMI_XstopType {
+	CHECKSTOP_TYPE_UNKNOWN	=3D	0,
+	CHECKSTOP_TYPE_CORE	=3D	1,
+	CHECKSTOP_TYPE_NX	=3D	2,
+	CHECKSTOP_TYPE_NPU	=3D	3
+};
+
+enum OpalHMI_CoreXstopReason {
+	CORE_CHECKSTOP_IFU_REGFILE		=3D 0x00000001,
+	CORE_CHECKSTOP_IFU_LOGIC		=3D 0x00000002,
+	CORE_CHECKSTOP_PC_DURING_RECOV		=3D 0x00000004,
+	CORE_CHECKSTOP_ISU_REGFILE		=3D 0x00000008,
+	CORE_CHECKSTOP_ISU_LOGIC		=3D 0x00000010,
+	CORE_CHECKSTOP_FXU_LOGIC		=3D 0x00000020,
+	CORE_CHECKSTOP_VSU_LOGIC		=3D 0x00000040,
+	CORE_CHECKSTOP_PC_RECOV_IN_MAINT_MODE	=3D 0x00000080,
+	CORE_CHECKSTOP_LSU_REGFILE		=3D 0x00000100,
+	CORE_CHECKSTOP_PC_FWD_PROGRESS		=3D 0x00000200,
+	CORE_CHECKSTOP_LSU_LOGIC		=3D 0x00000400,
+	CORE_CHECKSTOP_PC_LOGIC			=3D 0x00000800,
+	CORE_CHECKSTOP_PC_HYP_RESOURCE		=3D 0x00001000,
+	CORE_CHECKSTOP_PC_HANG_RECOV_FAILED	=3D 0x00002000,
+	CORE_CHECKSTOP_PC_AMBI_HANG_DETECTED	=3D 0x00004000,
+	CORE_CHECKSTOP_PC_DEBUG_TRIG_ERR_INJ	=3D 0x00008000,
+	CORE_CHECKSTOP_PC_SPRD_HYP_ERR_INJ	=3D 0x00010000,
+};
+
+enum OpalHMI_NestAccelXstopReason {
+	NX_CHECKSTOP_SHM_INVAL_STATE_ERR	=3D 0x00000001,
+	NX_CHECKSTOP_DMA_INVAL_STATE_ERR_1	=3D 0x00000002,
+	NX_CHECKSTOP_DMA_INVAL_STATE_ERR_2	=3D 0x00000004,
+	NX_CHECKSTOP_DMA_CH0_INVAL_STATE_ERR	=3D 0x00000008,
+	NX_CHECKSTOP_DMA_CH1_INVAL_STATE_ERR	=3D 0x00000010,
+	NX_CHECKSTOP_DMA_CH2_INVAL_STATE_ERR	=3D 0x00000020,
+	NX_CHECKSTOP_DMA_CH3_INVAL_STATE_ERR	=3D 0x00000040,
+	NX_CHECKSTOP_DMA_CH4_INVAL_STATE_ERR	=3D 0x00000080,
+	NX_CHECKSTOP_DMA_CH5_INVAL_STATE_ERR	=3D 0x00000100,
+	NX_CHECKSTOP_DMA_CH6_INVAL_STATE_ERR	=3D 0x00000200,
+	NX_CHECKSTOP_DMA_CH7_INVAL_STATE_ERR	=3D 0x00000400,
+	NX_CHECKSTOP_DMA_CRB_UE			=3D 0x00000800,
+	NX_CHECKSTOP_DMA_CRB_SUE		=3D 0x00001000,
+	NX_CHECKSTOP_PBI_ISN_UE			=3D 0x00002000,
+};
+
+struct OpalHMIEvent {
+	uint8_t		version;	/* 0x00 */
+	uint8_t		severity;	/* 0x01 */
+	uint8_t		type;		/* 0x02 */
+	uint8_t		disposition;	/* 0x03 */
+	uint8_t		reserved_1[4];	/* 0x04 */
+
+	__be64		hmer;
+	/* TFMR register. Valid only for TFAC and TFMR_PARITY error type. */
+	__be64		tfmr;
+
+	/* version 2 and later */
+	union {
+		/*
+		 * checkstop info (Core/NX).
+		 * Valid for OpalHMI_ERROR_MALFUNC_ALERT.
+		 */
+		struct {
+			uint8_t	xstop_type;	/* enum OpalHMI_XstopType */
+			uint8_t reserved_1[3];
+			__be32  xstop_reason;
+			union {
+				__be32 pir;	/* for CHECKSTOP_TYPE_CORE */
+				__be32 chip_id;	/* for CHECKSTOP_TYPE_NX */
+			} u;
+		} xstop_error;
+	} u;
+};
+
+/* OPAL_HANDLE_HMI2 out_flags */
+enum {
+	OPAL_HMI_FLAGS_TB_RESYNC	=3D (1ull << 0), /* Timebase has been resynced=
 */
+	OPAL_HMI_FLAGS_DEC_LOST		=3D (1ull << 1), /* DEC lost, needs to be repr=
ogrammed */
+	OPAL_HMI_FLAGS_HDEC_LOST	=3D (1ull << 2), /* HDEC lost, needs to be rep=
rogrammed */
+	OPAL_HMI_FLAGS_TOD_TB_FAIL	=3D (1ull << 3), /* TOD/TB recovery failed. =
*/
+	OPAL_HMI_FLAGS_NEW_EVENT	=3D (1ull << 63), /* An event has been created=
 */
+};
+
+enum {
+	OPAL_P7IOC_DIAG_TYPE_NONE	=3D 0,
+	OPAL_P7IOC_DIAG_TYPE_RGC	=3D 1,
+	OPAL_P7IOC_DIAG_TYPE_BI		=3D 2,
+	OPAL_P7IOC_DIAG_TYPE_CI		=3D 3,
+	OPAL_P7IOC_DIAG_TYPE_MISC	=3D 4,
+	OPAL_P7IOC_DIAG_TYPE_I2C	=3D 5,
+	OPAL_P7IOC_DIAG_TYPE_LAST	=3D 6
+};
+
+struct OpalIoP7IOCErrorData {
+	__be16 type;
+
+	/* GEM */
+	__be64 gemXfir;
+	__be64 gemRfir;
+	__be64 gemRirqfir;
+	__be64 gemMask;
+	__be64 gemRwof;
+
+	/* LEM */
+	__be64 lemFir;
+	__be64 lemErrMask;
+	__be64 lemAction0;
+	__be64 lemAction1;
+	__be64 lemWof;
+
+	union {
+		struct OpalIoP7IOCRgcErrorData {
+			__be64 rgcStatus;	/* 3E1C10 */
+			__be64 rgcLdcp;		/* 3E1C18 */
+		}rgc;
+		struct OpalIoP7IOCBiErrorData {
+			__be64 biLdcp0;		/* 3C0100, 3C0118 */
+			__be64 biLdcp1;		/* 3C0108, 3C0120 */
+			__be64 biLdcp2;		/* 3C0110, 3C0128 */
+			__be64 biFenceStatus;	/* 3C0130, 3C0130 */
+
+			uint8_t biDownbound;	/* BI Downbound or Upbound */
+		}bi;
+		struct OpalIoP7IOCCiErrorData {
+			__be64 ciPortStatus;	/* 3Dn008 */
+			__be64 ciPortLdcp;	/* 3Dn010 */
+
+			uint8_t ciPort;		/* Index of CI port: 0/1 */
+		}ci;
+	};
+};
+
+/**
+ * This structure defines the overlay which will be used to store PHB er=
ror
+ * data upon request.
+ */
+enum {
+	OPAL_PHB_ERROR_DATA_VERSION_1 =3D 1,
+};
+
+enum {
+	OPAL_PHB_ERROR_DATA_TYPE_P7IOC =3D 1,
+	OPAL_PHB_ERROR_DATA_TYPE_PHB3 =3D 2,
+	OPAL_PHB_ERROR_DATA_TYPE_PHB4 =3D 3
+};
+
+enum {
+	OPAL_P7IOC_NUM_PEST_REGS =3D 128,
+	OPAL_PHB3_NUM_PEST_REGS =3D 256,
+	OPAL_PHB4_NUM_PEST_REGS =3D 512
+};
+
+struct OpalIoPhbErrorCommon {
+	__be32 version;
+	__be32 ioType;
+	__be32 len;
+};
+
+struct OpalIoP7IOCPhbErrorData {
+	struct OpalIoPhbErrorCommon common;
+
+	__be32 brdgCtl;
+
+	// P7IOC utl regs
+	__be32 portStatusReg;
+	__be32 rootCmplxStatus;
+	__be32 busAgentStatus;
+
+	// P7IOC cfg regs
+	__be32 deviceStatus;
+	__be32 slotStatus;
+	__be32 linkStatus;
+	__be32 devCmdStatus;
+	__be32 devSecStatus;
+
+	// cfg AER regs
+	__be32 rootErrorStatus;
+	__be32 uncorrErrorStatus;
+	__be32 corrErrorStatus;
+	__be32 tlpHdr1;
+	__be32 tlpHdr2;
+	__be32 tlpHdr3;
+	__be32 tlpHdr4;
+	__be32 sourceId;
+
+	__be32 rsv3;
+
+	// Record data about the call to allocate a buffer.
+	__be64 errorClass;
+	__be64 correlator;
+
+	//P7IOC MMIO Error Regs
+	__be64 p7iocPlssr;                // n120
+	__be64 p7iocCsr;                  // n110
+	__be64 lemFir;                    // nC00
+	__be64 lemErrorMask;              // nC18
+	__be64 lemWOF;                    // nC40
+	__be64 phbErrorStatus;            // nC80
+	__be64 phbFirstErrorStatus;       // nC88
+	__be64 phbErrorLog0;              // nCC0
+	__be64 phbErrorLog1;              // nCC8
+	__be64 mmioErrorStatus;           // nD00
+	__be64 mmioFirstErrorStatus;      // nD08
+	__be64 mmioErrorLog0;             // nD40
+	__be64 mmioErrorLog1;             // nD48
+	__be64 dma0ErrorStatus;           // nD80
+	__be64 dma0FirstErrorStatus;      // nD88
+	__be64 dma0ErrorLog0;             // nDC0
+	__be64 dma0ErrorLog1;             // nDC8
+	__be64 dma1ErrorStatus;           // nE00
+	__be64 dma1FirstErrorStatus;      // nE08
+	__be64 dma1ErrorLog0;             // nE40
+	__be64 dma1ErrorLog1;             // nE48
+	__be64 pestA[OPAL_P7IOC_NUM_PEST_REGS];
+	__be64 pestB[OPAL_P7IOC_NUM_PEST_REGS];
+};
+
+struct OpalIoPhb3ErrorData {
+	struct OpalIoPhbErrorCommon common;
+
+	__be32 brdgCtl;
+
+	/* PHB3 UTL regs */
+	__be32 portStatusReg;
+	__be32 rootCmplxStatus;
+	__be32 busAgentStatus;
+
+	/* PHB3 cfg regs */
+	__be32 deviceStatus;
+	__be32 slotStatus;
+	__be32 linkStatus;
+	__be32 devCmdStatus;
+	__be32 devSecStatus;
+
+	/* cfg AER regs */
+	__be32 rootErrorStatus;
+	__be32 uncorrErrorStatus;
+	__be32 corrErrorStatus;
+	__be32 tlpHdr1;
+	__be32 tlpHdr2;
+	__be32 tlpHdr3;
+	__be32 tlpHdr4;
+	__be32 sourceId;
+
+	__be32 rsv3;
+
+	/* Record data about the call to allocate a buffer */
+	__be64 errorClass;
+	__be64 correlator;
+
+	/* PHB3 MMIO Error Regs */
+	__be64 nFir;			/* 000 */
+	__be64 nFirMask;		/* 003 */
+	__be64 nFirWOF;		/* 008 */
+	__be64 phbPlssr;		/* 120 */
+	__be64 phbCsr;		/* 110 */
+	__be64 lemFir;		/* C00 */
+	__be64 lemErrorMask;		/* C18 */
+	__be64 lemWOF;		/* C40 */
+	__be64 phbErrorStatus;	/* C80 */
+	__be64 phbFirstErrorStatus;	/* C88 */
+	__be64 phbErrorLog0;		/* CC0 */
+	__be64 phbErrorLog1;		/* CC8 */
+	__be64 mmioErrorStatus;	/* D00 */
+	__be64 mmioFirstErrorStatus;	/* D08 */
+	__be64 mmioErrorLog0;		/* D40 */
+	__be64 mmioErrorLog1;		/* D48 */
+	__be64 dma0ErrorStatus;	/* D80 */
+	__be64 dma0FirstErrorStatus;	/* D88 */
+	__be64 dma0ErrorLog0;		/* DC0 */
+	__be64 dma0ErrorLog1;		/* DC8 */
+	__be64 dma1ErrorStatus;	/* E00 */
+	__be64 dma1FirstErrorStatus;	/* E08 */
+	__be64 dma1ErrorLog0;		/* E40 */
+	__be64 dma1ErrorLog1;		/* E48 */
+	__be64 pestA[OPAL_PHB3_NUM_PEST_REGS];
+	__be64 pestB[OPAL_PHB3_NUM_PEST_REGS];
+};
+
+struct OpalIoPhb4ErrorData {
+	struct OpalIoPhbErrorCommon common;
+
+	__be32 brdgCtl;
+
+	/* PHB4 cfg regs */
+	__be32 deviceStatus;
+	__be32 slotStatus;
+	__be32 linkStatus;
+	__be32 devCmdStatus;
+	__be32 devSecStatus;
+
+	/* cfg AER regs */
+	__be32 rootErrorStatus;
+	__be32 uncorrErrorStatus;
+	__be32 corrErrorStatus;
+	__be32 tlpHdr1;
+	__be32 tlpHdr2;
+	__be32 tlpHdr3;
+	__be32 tlpHdr4;
+	__be32 sourceId;
+
+	/* PHB4 ETU Error Regs */
+	__be64 nFir;				/* 000 */
+	__be64 nFirMask;			/* 003 */
+	__be64 nFirWOF;				/* 008 */
+	__be64 phbPlssr;			/* 120 */
+	__be64 phbCsr;				/* 110 */
+	__be64 lemFir;				/* C00 */
+	__be64 lemErrorMask;			/* C18 */
+	__be64 lemWOF;				/* C40 */
+	__be64 phbErrorStatus;			/* C80 */
+	__be64 phbFirstErrorStatus;		/* C88 */
+	__be64 phbErrorLog0;			/* CC0 */
+	__be64 phbErrorLog1;			/* CC8 */
+	__be64 phbTxeErrorStatus;		/* D00 */
+	__be64 phbTxeFirstErrorStatus;		/* D08 */
+	__be64 phbTxeErrorLog0;			/* D40 */
+	__be64 phbTxeErrorLog1;			/* D48 */
+	__be64 phbRxeArbErrorStatus;		/* D80 */
+	__be64 phbRxeArbFirstErrorStatus;	/* D88 */
+	__be64 phbRxeArbErrorLog0;		/* DC0 */
+	__be64 phbRxeArbErrorLog1;		/* DC8 */
+	__be64 phbRxeMrgErrorStatus;		/* E00 */
+	__be64 phbRxeMrgFirstErrorStatus;	/* E08 */
+	__be64 phbRxeMrgErrorLog0;		/* E40 */
+	__be64 phbRxeMrgErrorLog1;		/* E48 */
+	__be64 phbRxeTceErrorStatus;		/* E80 */
+	__be64 phbRxeTceFirstErrorStatus;	/* E88 */
+	__be64 phbRxeTceErrorLog0;		/* EC0 */
+	__be64 phbRxeTceErrorLog1;		/* EC8 */
+
+	/* PHB4 REGB Error Regs */
+	__be64 phbPblErrorStatus;		/* 1900 */
+	__be64 phbPblFirstErrorStatus;		/* 1908 */
+	__be64 phbPblErrorLog0;			/* 1940 */
+	__be64 phbPblErrorLog1;			/* 1948 */
+	__be64 phbPcieDlpErrorLog1;		/* 1AA0 */
+	__be64 phbPcieDlpErrorLog2;		/* 1AA8 */
+	__be64 phbPcieDlpErrorStatus;		/* 1AB0 */
+	__be64 phbRegbErrorStatus;		/* 1C00 */
+	__be64 phbRegbFirstErrorStatus;		/* 1C08 */
+	__be64 phbRegbErrorLog0;		/* 1C40 */
+	__be64 phbRegbErrorLog1;		/* 1C48 */
+
+	__be64 pestA[OPAL_PHB4_NUM_PEST_REGS];
+	__be64 pestB[OPAL_PHB4_NUM_PEST_REGS];
+};
+
+enum {
+	OPAL_REINIT_CPUS_HILE_BE	=3D (1 << 0),
+	OPAL_REINIT_CPUS_HILE_LE	=3D (1 << 1),
+
+	/* These two define the base MMU mode of the host on P9
+	 *
+	 * On P9 Nimbus DD2.0 and Cumlus (and later), KVM can still
+	 * create hash guests in "radix" mode with care (full core
+	 * switch only).
+	 */
+	OPAL_REINIT_CPUS_MMU_HASH	=3D (1 << 2),
+	OPAL_REINIT_CPUS_MMU_RADIX	=3D (1 << 3),
+
+	OPAL_REINIT_CPUS_TM_SUSPEND_DISABLED =3D (1 << 4),
+};
+
+typedef struct oppanel_line {
+	__be64 line;
+	__be64 line_len;
+} oppanel_line_t;
+
+enum opal_prd_msg_type {
+	OPAL_PRD_MSG_TYPE_INIT =3D 0,	/* HBRT --> OPAL */
+	OPAL_PRD_MSG_TYPE_FINI,		/* HBRT/kernel --> OPAL */
+	OPAL_PRD_MSG_TYPE_ATTN,		/* HBRT <-- OPAL */
+	OPAL_PRD_MSG_TYPE_ATTN_ACK,	/* HBRT --> OPAL */
+	OPAL_PRD_MSG_TYPE_OCC_ERROR,	/* HBRT <-- OPAL */
+	OPAL_PRD_MSG_TYPE_OCC_RESET,	/* HBRT <-- OPAL */
+};
+
+struct opal_prd_msg_header {
+	uint8_t		type;
+	uint8_t		pad[1];
+	__be16		size;
+};
+
+struct opal_prd_msg;
+
+#define OCC_RESET                       0
+#define OCC_LOAD                        1
+#define OCC_THROTTLE                    2
+#define OCC_MAX_THROTTLE_STATUS         5
+
+struct opal_occ_msg {
+	__be64 type;
+	__be64 chip;
+	__be64 throttle_status;
+};
+
+/*
+ * SG entries
+ *
+ * WARNING: The current implementation requires each entry
+ * to represent a block that is 4k aligned *and* each block
+ * size except the last one in the list to be as well.
+ */
+struct opal_sg_entry {
+	__be64 data;
+	__be64 length;
+};
+
+/*
+ * Candidate image SG list.
+ *
+ * length =3D VER | length
+ */
+struct opal_sg_list {
+	__be64 length;
+	__be64 next;
+	struct opal_sg_entry entry[];
+};
+
+/*
+ * Dump region ID range usable by the OS
+ */
+#define OPAL_DUMP_REGION_HOST_START		0x80
+#define OPAL_DUMP_REGION_LOG_BUF		0x80
+#define OPAL_DUMP_REGION_HOST_END		0xFF
+
+/* CAPI modes for PHB */
+enum {
+	OPAL_PHB_CAPI_MODE_PCIE		=3D 0,
+	OPAL_PHB_CAPI_MODE_CAPI		=3D 1,
+	OPAL_PHB_CAPI_MODE_SNOOP_OFF    =3D 2,
+	OPAL_PHB_CAPI_MODE_SNOOP_ON	=3D 3,
+	OPAL_PHB_CAPI_MODE_DMA		=3D 4,
+	OPAL_PHB_CAPI_MODE_DMA_TVT1	=3D 5,
+};
+
+/* OPAL I2C request */
+struct opal_i2c_request {
+	uint8_t	type;
+#define OPAL_I2C_RAW_READ	0
+#define OPAL_I2C_RAW_WRITE	1
+#define OPAL_I2C_SM_READ	2
+#define OPAL_I2C_SM_WRITE	3
+	uint8_t flags;
+#define OPAL_I2C_ADDR_10	0x01	/* Not supported yet */
+	uint8_t	subaddr_sz;		/* Max 4 */
+	uint8_t reserved;
+	__be16 addr;			/* 7 or 10 bit address */
+	__be16 reserved2;
+	__be32 subaddr;		/* Sub-address if any */
+	__be32 size;			/* Data size */
+	__be64 buffer_ra;		/* Buffer real address */
+};
+
+/*
+ * EPOW status sharing (OPAL and the host)
+ *
+ * The host will pass on OPAL, a buffer of length OPAL_SYSEPOW_MAX
+ * with individual elements being 16 bits wide to fetch the system
+ * wide EPOW status. Each element in the buffer will contain the
+ * EPOW status in it's bit representation for a particular EPOW sub
+ * class as defined here. So multiple detailed EPOW status bits
+ * specific for any sub class can be represented in a single buffer
+ * element as it's bit representation.
+ */
+
+/* System EPOW type */
+enum OpalSysEpow {
+	OPAL_SYSEPOW_POWER	=3D 0,	/* Power EPOW */
+	OPAL_SYSEPOW_TEMP	=3D 1,	/* Temperature EPOW */
+	OPAL_SYSEPOW_COOLING	=3D 2,	/* Cooling EPOW */
+	OPAL_SYSEPOW_MAX	=3D 3,	/* Max EPOW categories */
+};
+
+/* Power EPOW */
+enum OpalSysPower {
+	OPAL_SYSPOWER_UPS	=3D 0x0001, /* System on UPS power */
+	OPAL_SYSPOWER_CHNG	=3D 0x0002, /* System power config change */
+	OPAL_SYSPOWER_FAIL	=3D 0x0004, /* System impending power failure */
+	OPAL_SYSPOWER_INCL	=3D 0x0008, /* System incomplete power */
+};
+
+/* Temperature EPOW */
+enum OpalSysTemp {
+	OPAL_SYSTEMP_AMB	=3D 0x0001, /* System over ambient temperature */
+	OPAL_SYSTEMP_INT	=3D 0x0002, /* System over internal temperature */
+	OPAL_SYSTEMP_HMD	=3D 0x0004, /* System over ambient humidity */
+};
+
+/* Cooling EPOW */
+enum OpalSysCooling {
+	OPAL_SYSCOOL_INSF	=3D 0x0001, /* System insufficient cooling */
+};
+
+/* Argument to OPAL_CEC_REBOOT2() */
+enum {
+	OPAL_REBOOT_NORMAL		=3D 0,
+	OPAL_REBOOT_PLATFORM_ERROR	=3D 1,
+	OPAL_REBOOT_FULL_IPL		=3D 2,
+	OPAL_REBOOT_MPIPL		=3D 3,
+	OPAL_REBOOT_FAST		=3D 4,
+};
+
+/* Argument to OPAL_PCI_TCE_KILL */
+enum {
+	OPAL_PCI_TCE_KILL_PAGES,
+	OPAL_PCI_TCE_KILL_PE,
+	OPAL_PCI_TCE_KILL_ALL,
+};
+
+/* The xive operation mode indicates the active "API" and
+ * corresponds to the "mode" parameter of the opal_xive_reset()
+ * call
+ */
+enum {
+	OPAL_XIVE_MODE_EMU	=3D 0,
+	OPAL_XIVE_MODE_EXPL	=3D 1,
+};
+
+/* Flags for OPAL_XIVE_GET_IRQ_INFO */
+enum {
+	OPAL_XIVE_IRQ_TRIGGER_PAGE	=3D 0x00000001,
+	OPAL_XIVE_IRQ_STORE_EOI		=3D 0x00000002,
+	OPAL_XIVE_IRQ_LSI		=3D 0x00000004,
+	OPAL_XIVE_IRQ_SHIFT_BUG		=3D 0x00000008, /* P9 DD1.0 workaround */
+	OPAL_XIVE_IRQ_MASK_VIA_FW	=3D 0x00000010, /* P9 DD1.0 workaround */
+	OPAL_XIVE_IRQ_EOI_VIA_FW	=3D 0x00000020, /* P9 DD1.0 workaround */
+	OPAL_XIVE_IRQ_STORE_EOI2	=3D 0x00000040,
+};
+
+/* Flags for OPAL_XIVE_GET/SET_QUEUE_INFO */
+enum {
+	OPAL_XIVE_EQ_ENABLED		=3D 0x00000001,
+	OPAL_XIVE_EQ_ALWAYS_NOTIFY	=3D 0x00000002,
+	OPAL_XIVE_EQ_ESCALATE		=3D 0x00000004,
+};
+
+/* Flags for OPAL_XIVE_GET/SET_VP_INFO */
+enum {
+	OPAL_XIVE_VP_ENABLED		=3D 0x00000001,
+	OPAL_XIVE_VP_SINGLE_ESCALATION	=3D 0x00000002,
+};
+
+/* "Any chip" replacement for chip ID for allocation functions */
+enum {
+	OPAL_XIVE_ANY_CHIP		=3D 0xffffffff,
+};
+
+/* Xive sync options */
+enum {
+	/* This bits are cumulative, arg is a girq */
+	XIVE_SYNC_EAS			=3D 0x00000001, /* Sync irq source */
+	XIVE_SYNC_QUEUE			=3D 0x00000002, /* Sync irq target */
+};
+
+/* Dump options */
+enum {
+	XIVE_DUMP_TM_HYP	=3D 0,
+	XIVE_DUMP_TM_POOL	=3D 1,
+	XIVE_DUMP_TM_OS		=3D 2,
+	XIVE_DUMP_TM_USER	=3D 3,
+	XIVE_DUMP_VP		=3D 4,
+	XIVE_DUMP_EMU_STATE	=3D 5,
+};
+
+/* "type" argument options for OPAL_IMC_COUNTERS_* calls */
+enum {
+	OPAL_IMC_COUNTERS_NEST =3D 1,
+	OPAL_IMC_COUNTERS_CORE =3D 2,
+	OPAL_IMC_COUNTERS_TRACE =3D 3,
+};
+
+
+/* PCI p2p descriptor */
+#define OPAL_PCI_P2P_ENABLE		0x1
+#define OPAL_PCI_P2P_LOAD		0x2
+#define OPAL_PCI_P2P_STORE		0x4
+
+/* MPIPL update operations */
+enum opal_mpipl_ops {
+	OPAL_MPIPL_ADD_RANGE			=3D 0,
+	OPAL_MPIPL_REMOVE_RANGE			=3D 1,
+	OPAL_MPIPL_REMOVE_ALL			=3D 2,
+	OPAL_MPIPL_FREE_PRESERVED_MEMORY	=3D 3,
+};
+
+/* Tag will point to various metadata area. Kernel will
+ * use tag to get metadata value.
+ */
+enum opal_mpipl_tags {
+	OPAL_MPIPL_TAG_CPU	=3D 0,
+	OPAL_MPIPL_TAG_OPAL	=3D 1,
+	OPAL_MPIPL_TAG_KERNEL	=3D 2,
+	OPAL_MPIPL_TAG_BOOT_MEM	=3D 3,
+};
+
+/* Preserved memory details */
+struct opal_mpipl_region {
+	__be64	src;
+	__be64	dest;
+	__be64	size;
+};
+
+/* Structure version */
+#define OPAL_MPIPL_VERSION		0x01
+
+struct opal_mpipl_fadump {
+	u8	version;
+	u8	reserved[7];
+	__be32	crashing_pir;	/* OPAL crashing CPU PIR */
+	__be32	cpu_data_version;
+	__be32	cpu_data_size;
+	__be32	region_cnt;
+	struct	opal_mpipl_region region[];
+} __packed;
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __OPAL_API_H */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574610.900039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzSi-0003Fw-Tf; Wed, 02 Aug 2023 00:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574610.900039; Wed, 02 Aug 2023 00: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 1qQzSi-0003Fp-R9; Wed, 02 Aug 2023 00:11:36 +0000
Received: by outflank-mailman (input) for mailman id 574610;
 Wed, 02 Aug 2023 00:11: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzSh-0003Fc-P6
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:11:35 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22f12058-30c9-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 02:11:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1A12A8285491;
 Tue,  1 Aug 2023 19:11:32 -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 j4Lm-4MEYJ2j; Tue,  1 Aug 2023 19:11:31 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 124328285393;
 Tue,  1 Aug 2023 19:11:31 -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 R0MSFixpmkbU; Tue,  1 Aug 2023 19:11:30 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 99D808284EB7;
 Tue,  1 Aug 2023 19:11:30 -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: 22f12058-30c9-11ee-b25c-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 124328285393
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935091; bh=dXQ4sbcV3/HyJrYh/QxCwscwRLOih6LVbq3xto6wpbE=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=vmbTdtja4J6tbwLZFKikWvUOS0itYocviw2IpKM2DcbLfd6JlcfMR+qwt3VFzHAVA
	 VwyjzsR9cD7gpJK39iy7UM9AHUoBpGJezvQPG92uvikMHdctPiliA6hLfvd3IcxhFS
	 68YeR0ATLs+jAMDExooa+DZoCSCzIZEpsNJliMog=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 0/4] xen/ppc: Add PowerNV bare metal support
Date: Tue,  1 Aug 2023 19:11:02 -0500
Message-Id: <cover.1690934409.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hello all,

This series adds support for booting and using the serial console on
bare metal PowerNV/OpenPOWER systems. Up until now, Xen could only be
booted on the QEMU pseries model, which was initially targetted for ease
of development, but which differs significantly from the bare metal
systems where this port is likely to be the most useful.

In addition to adding support for the PowerNV boot protocol and firmware
interface, changes required to get libfdt from xen/libfdt building are
included. This is required to obtain the firmware entrypoint address on
PowerNV.

This series is based on Jan's "common: move simple_strto{,u}l{,l}() to li=
b/"
https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00095.htm=
l

Thanks,
Shawn

--
Changed in v2:
  - Drop simple_strtoul patch, base on Jan's patch instead
  - Remove ALL_LIBS-y override
  - Clean up formatting of opal.c, opal-calls.S, asm-defns.h
  - Consistently use label in TOC address calculation in head.S

Shawn Anastasio (4):
  xen/ppc: Switch to medium PIC code model
  xen/ppc: Add OPAL API definition header file
  xen/ppc: Parse device tree for OPAL node on PowerNV
  xen/ppc: Implement early serial console on PowerNV

 xen/arch/ppc/Kconfig                 |    1 +
 xen/arch/ppc/Makefile                |    1 +
 xen/arch/ppc/arch.mk                 |    5 +-
 xen/arch/ppc/include/asm/asm-defns.h |   21 +
 xen/arch/ppc/include/asm/boot.h      |   16 +-
 xen/arch/ppc/include/asm/bug.h       |   18 +
 xen/arch/ppc/include/asm/cache.h     |    6 +
 xen/arch/ppc/include/asm/config.h    |    2 +-
 xen/arch/ppc/include/asm/opal-api.h  | 1190 ++++++++++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |   13 +-
 xen/arch/ppc/include/asm/string.h    |    6 +
 xen/arch/ppc/include/asm/system.h    |    6 +
 xen/arch/ppc/opal.c                  |   74 ++
 xen/arch/ppc/ppc64/Makefile          |    1 +
 xen/arch/ppc/ppc64/asm-offsets.c     |    4 +
 xen/arch/ppc/ppc64/head.S            |   12 +-
 xen/arch/ppc/ppc64/opal-calls.S      |   81 ++
 xen/arch/ppc/setup.c                 |    9 +-
 xen/arch/ppc/xen.lds.S               |   44 +-
 19 files changed, 1470 insertions(+), 40 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bug.h
 create mode 100644 xen/arch/ppc/include/asm/cache.h
 create mode 100644 xen/arch/ppc/include/asm/opal-api.h
 create mode 100644 xen/arch/ppc/include/asm/string.h
 create mode 100644 xen/arch/ppc/include/asm/system.h
 create mode 100644 xen/arch/ppc/opal.c
 create mode 100644 xen/arch/ppc/ppc64/opal-calls.S

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:13:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574628.900090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzUA-00062V-63; Wed, 02 Aug 2023 00:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574628.900090; Wed, 02 Aug 2023 00:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzUA-00062O-2z; Wed, 02 Aug 2023 00:13:06 +0000
Received: by outflank-mailman (input) for mailman id 574628;
 Wed, 02 Aug 2023 00:13:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qQzU8-00062C-Un
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:13:04 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59017bab-30c9-11ee-b25c-6b7b168915f2;
 Wed, 02 Aug 2023 02:13:04 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4393B8285491;
 Tue,  1 Aug 2023 19:13:03 -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 8FFkcEg6oGCh; Tue,  1 Aug 2023 19:13:02 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 29C28828573A;
 Tue,  1 Aug 2023 19:13:02 -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 3I6xQspQvnn6; Tue,  1 Aug 2023 19:13:02 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id BB5188285491;
 Tue,  1 Aug 2023 19:13:01 -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: 59017bab-30c9-11ee-b25c-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 29C28828573A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1690935182; bh=ZlK/EaXWdc0s8a3b4yh4TLuSDzNdwGh+7w7fL5yZcNk=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=JoAKtIXP4hVsvk85RzyftPBFQYDxslf8hMlipuuU8F7RoEL46OhDLAM6pv/jChX7a
	 Fp4a49wyOeIUqcXuyYriKXeI9jiCT37j7riDJV0YxbJPdK/qS9W21IMkE9ZB6evVh5
	 vxyOl4hzeIlJENxyjTIOJMyGPYsFb9fYHJ6gWVX8=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <70d8e49c-df00-6243-f5f7-066dd56312f2@raptorengineering.com>
Date: Tue, 1 Aug 2023 19:13:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 0/4] xen/ppc: Add PowerNV bare metal support
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <cover.1690934409.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 7:11 PM, Shawn Anastasio wrote:
> Hello all,

Apologies, the subject should indicate that this is a v2 but I forgot to
pass the appropriate argument to git-send-email.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:24:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574637.900100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qQzf9-0007eA-4t; Wed, 02 Aug 2023 00:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574637.900100; Wed, 02 Aug 2023 00: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 1qQzf9-0007e3-1t; Wed, 02 Aug 2023 00:24:27 +0000
Received: by outflank-mailman (input) for mailman id 574637;
 Wed, 02 Aug 2023 00:24:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qQzf7-0007dx-JB
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:24:25 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed4fd8ac-30ca-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 02:24:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0CC726177B;
 Wed,  2 Aug 2023 00:24:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF1A3C433C7;
 Wed,  2 Aug 2023 00:24:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed4fd8ac-30ca-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690935860;
	bh=IU56Re5B1oCRydK/QbSInlmtW9Qv3T7gpkgBQPxJCQU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=d9mPKEZerNrgr/GdxmP4WqxygB/gERXpg6z2H6N7n4neeyqvHW8q8j8v/7PAAXDrR
	 bSDyjNovjASvQATQMlgpAanEF5C2wmYuI3bKhPU7Tmbi7FxQzvvs5i3zBjTjEgREMH
	 HPeD4oHsn+NCofu/gWC6ebyPey3ubvKcDAxGDEMYE25fMoibKHFB/5+e2tuph2WRl3
	 t2cS8B4b8ECv6JONy1RhUZmniosWryR4Npy3qWetZ3uno6djoWB/yIGENmu9zE2vfo
	 N2aK/kLmF2KLa0yid+NWD6+P/PRxIZyeydhpknL3kzo0wN2mRrI1/zu6g1lbqinM8s
	 OHe9o+KM3UllQ==
Date: Tue, 1 Aug 2023 17:24:17 -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: xen-devel@lists.xenproject.org, xen-devel@dornerworks.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>, Nathan Studer <nathan.studer@dornerworks.com>, 
    Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>, 
    roberto.bagnara@bugseng.com
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
In-Reply-To: <20230801202006.20322-2-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-2-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> A legacy concept is that the initial domain will have a domain id of zero. As a
> result there are places where a check that a domain is the inital domain is
> determined by an explicit check that the domid is zero.
> 
> This commit seeks to abstract this check into a function call and replace all
> check locations with the function call.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Thanks for the patch, this is a good cleanup!


> ---
>  xen/common/domain.c         | 4 ++--
>  xen/common/sched/arinc653.c | 2 +-
>  xen/common/sched/core.c     | 4 ++--
>  xen/include/xen/sched.h     | 7 +++++++
>  4 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 304aa04fa6..8fb3c052f5 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -309,7 +309,7 @@ static int late_hwdom_init(struct domain *d)
>      struct domain *dom0;
>      int rv;
>  
> -    if ( d != hardware_domain || d->domain_id == 0 )
> +    if ( d != hardware_domain || is_initial_domain(d) )
>          return 0;
>  
>      rv = xsm_init_hardware_domain(XSM_HOOK, d);
> @@ -612,7 +612,7 @@ struct domain *domain_create(domid_t domid,
>      d->is_privileged = flags & CDF_privileged;
>  
>      /* Sort out our idea of is_hardware_domain(). */
> -    if ( domid == 0 || domid == hardware_domid )
> +    if ( is_initial_domain(d) || domid == hardware_domid )
>      {
>          if ( hardware_domid < 0 || hardware_domid >= DOMID_FIRST_RESERVED )
>              panic("The value of hardware_dom must be a valid domain ID\n");
> diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
> index a82c0d7314..31e8270af3 100644
> --- a/xen/common/sched/arinc653.c
> +++ b/xen/common/sched/arinc653.c
> @@ -404,7 +404,7 @@ a653sched_alloc_udata(const struct scheduler *ops, struct sched_unit *unit,
>       * Add every one of dom0's units to the schedule, as long as there are
>       * slots available.
>       */
> -    if ( unit->domain->domain_id == 0 )
> +    if ( is_initial_domain(unit->domain) )
>      {
>          entry = sched_priv->num_schedule_entries;
>  
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 022f548652..210ad30f94 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -585,7 +585,7 @@ int sched_init_vcpu(struct vcpu *v)
>           */
>          sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
>      }
> -    else if ( d->domain_id == 0 && opt_dom0_vcpus_pin )
> +    else if ( is_initial_domain(d) && opt_dom0_vcpus_pin )
>      {
>          /*
>           * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
> @@ -594,7 +594,7 @@ int sched_init_vcpu(struct vcpu *v)
>          sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
>      }
>  #ifdef CONFIG_X86
> -    else if ( d->domain_id == 0 )
> +    else if ( is_initial_domain(d) )
>      {
>          /*
>           * In absence of dom0_vcpus_pin instead, the hard and soft affinity of
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 854f3e32c0..a9276a7bed 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>  void watchdog_domain_init(struct domain *d);
>  void watchdog_domain_destroy(struct domain *d);
>  
> +static always_inline bool is_initial_domain(const struct domain *d)

I know you used always_inline only because is_hardware_domain just below
also uses it, but I wonder if we need it.

Also, Robero, it looks like always_inline is missing from
docs/misra/C-language-toolchain.rst? Or do we plan to get rid of it?


> +{
> +    static int init_domain_id = 0;

I take it is done this way because you plan to make it configurable?


> +    return d->domain_id == init_domain_id;
> +}
> +
>  /*
>   * Use this check when the following are both true:
>   *  - Using this feature or interface requires full access to the hardware
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:54:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574643.900109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR08K-0002fb-ES; Wed, 02 Aug 2023 00:54:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574643.900109; Wed, 02 Aug 2023 00:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR08K-0002fU-Bn; Wed, 02 Aug 2023 00:54:36 +0000
Received: by outflank-mailman (input) for mailman id 574643;
 Wed, 02 Aug 2023 00:54: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=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qR08J-0002fO-8I
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:54:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 242ecbf4-30cf-11ee-b25d-6b7b168915f2;
 Wed, 02 Aug 2023 02:54:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 24A7D61781;
 Wed,  2 Aug 2023 00:54:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 297FEC433C8;
 Wed,  2 Aug 2023 00:54: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: 242ecbf4-30cf-11ee-b25d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690937670;
	bh=kPIPs0tagdc7wz6cqm078wsT0VP4Nz7bEp25hTn+ynA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lngzkikAvDJmbubFKAzWHvjOPc6IjSc7iAoyxhdR7mMkwGaCFpw+aiH74wZlPxtk2
	 ekTUbGcQ+AF/y5Tm1cVAofeUOZvG1kKkroqMIgZzo75bL7orToucWfqvZrBWbFdfcW
	 3yQybtUYbBi0xQD94xF0woYiGbZl5gVyYO4vbR/iwOk6oJCNRCjITmWfPhC3oXeP8H
	 zW8oZ4fyTuTYSwDxSGnG4BuILRYPVkT+Dr8yuvyT9lxDMh4BTd3WBeFvOnJL9JnssK
	 oK4qybVevErV7TsIJpmsnYlyWZLNRwSKEN2rG6oJ1N9U44SDflKZodM09uHXT3PX8O
	 s6hjVxW/ffoJg==
Date: Tue, 1 Aug 2023 17:54:27 -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: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
In-Reply-To: <20230801202006.20322-3-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-3-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> The existing concepts such as unbounded domain, ie. all powerful, control
> domain and hardware domain are, effectively, roles the domains provide for the
> system. Currently, these are represented with booleans within `struct domain`
> or global domid variables that are compared against. This patch begins to
> formalize these roles by replacing the `is_control` and `is_console`, along
> with expanding the check against the global `hardware_domain` with a single
> encapsulating role attribute in `struct domain`.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

This is definitely heading in the right direction


> ---
>  xen/arch/arm/domain_build.c |  2 ++
>  xen/arch/x86/setup.c        |  2 ++
>  xen/common/domain.c         | 14 +++++++++++++-
>  xen/include/xen/sched.h     | 16 +++++++++-------
>  xen/include/xsm/dummy.h     |  4 ++--
>  xen/xsm/flask/hooks.c       | 12 ++++++------
>  6 files changed, 34 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 39b4ee03a5..51b4daefe1 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
>      if ( IS_ERR(dom0) )
>          panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
>  
> +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;

I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
"ROOT"?

I also recognize I am not good at naming things so I'll stop here and
let other provide better feedback :-)


Also, do we actually need unbounded given that it gets replaced with
control_domain pretty soon?

I am asking because I think that at least from a safety perspective it
would be a problem to run a domain as "unbounded". In a safety system,
we wouldn't want anything to be unbounded, not even temporarily at boot.
If "unbounded" is removed before running dom0, then of course it is no
problem because actually dom0 never gets to run with "unbounded" set.

(I am currently thinking of solving the privilege issue by using XSM and
removing most privileges from Dom0.) 


>      if ( alloc_dom0_vcpu0(dom0) == NULL )
>          panic("Error creating domain 0 vcpu0\n");
>  
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 2dbe9857aa..4e20edc3bf 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const module_t *image,
>      if ( IS_ERR(d) )
>          panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
>  
> +    d->role |= ROLE_UNBOUNDED_DOMAIN;
> +
>      init_dom0_cpuid_policy(d);
>  
>      if ( alloc_dom0_vcpu0(d) == NULL )
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 8fb3c052f5..0ff1d52e3d 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>      setup_io_bitmap(dom0);
>  #endif
>  
> +    /*
> +     * "dom0" may have been created under the unbounded role, demote it from
> +     * that role, reducing it to the control domain role and any other roles it
> +     * may have been given.
> +     */
> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
> +    dom0->role |= ROLE_CONTROL_DOMAIN;

I think we need a better definition of the three roles to understand
what this mean.


>      rcu_unlock_domain(dom0);
>  
>      iommu_hwdom_init(d);
> @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
>      }
>  
>      /* Sort out our idea of is_control_domain(). */
> -    d->is_privileged = flags & CDF_privileged;
> +    if ( flags & CDF_privileged )
> +        d->role |= ROLE_CONTROL_DOMAIN;
> +    else
> +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
>  
>      /* Sort out our idea of is_hardware_domain(). */
>      if ( is_initial_domain(d) || domid == hardware_domid )
> @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
>  
>          old_hwdom = hardware_domain;
>          hardware_domain = d;
> +        d->role |= ROLE_HARDWARE_DOMAIN;
>      }
>  
>      TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index a9276a7bed..695f240326 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -467,8 +467,10 @@ struct domain
>  #endif
>      /* is node-affinity automatically computed? */
>      bool             auto_node_affinity;
> -    /* Is this guest fully privileged (aka dom0)? */
> -    bool             is_privileged;
> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)

This is a great step in the right direction but I think at least a short
in-code comment to explain the difference between the three


> +    uint8_t          role;
>      /* Can this guest access the Xen console? */
>      bool             is_console;
>      /* Is this guest being debugged by dom0? */
> @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
>  
>  static always_inline bool is_initial_domain(const struct domain *d)
>  {
> -    static int init_domain_id = 0;
> -
> -    return d->domain_id == init_domain_id;
> +    return d->role & ROLE_UNBOUNDED_DOMAIN;
>  }

As far as I can tell this is the only functional change in this patch:
given that dom0 loses unbounded soon after boot, the "is_initial_domain"
checks will start to fail?

We have a few of them in the code and I couldn't rule out that at least
these 3 could happen at runtime:

xen/common/sched/core.c:    else if ( is_initial_domain(d) && opt_dom0_vcpus_pin )
xen/common/sched/core.c:    else if ( is_initial_domain(d) )
xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )

Maybe they need to be changed to control_domain checks?


>  /*
> @@ -1076,7 +1076,8 @@ static always_inline bool is_hardware_domain(const struct domain *d)
>      if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>          return false;
>  
> -    return evaluate_nospec(d == hardware_domain);
> +    return evaluate_nospec(((d->role & ROLE_HARDWARE_DOMAIN) ||
> +        is_initial_domain(d)) && (d == hardware_domain));
>  }
>  
>  /* This check is for functionality specific to a control domain */
> @@ -1085,7 +1086,8 @@ static always_inline bool is_control_domain(const struct domain *d)
>      if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>          return false;
>  
> -    return evaluate_nospec(d->is_privileged);
> +    return evaluate_nospec((d->role & ROLE_CONTROL_DOMAIN) ||
> +        is_initial_domain(d));
>  }
>  
>  #define VM_ASSIST(d, t) (test_bit(VMASST_TYPE_ ## t, &(d)->vm_assist))
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 8671af1ba4..18f1ddd127 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -108,7 +108,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
>  {
>      struct domain *d = current->domain;
>  
> -    ASSERT(d->is_privileged);
> +    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
>  
>      if ( d->domain_id != DOMID_IDLE )
>      {
> @@ -116,7 +116,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
>          return -EPERM;
>      }
>  
> -    d->is_privileged = false;
> +    d->role &= ~ROLE_CONTROL_DOMAIN;
>  
>      return 0;
>  }
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 78225f68c1..0a31719f43 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -193,7 +193,7 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
>      default:
>          if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
>          {
> -            if ( d->is_privileged )
> +            if ( d->role & ROLE_CONTROL_DOMAIN )
>                  dsec->sid = SECINITSID_DOM0;
>              else if ( pv_shim )
>                  dsec->sid = SECINITSID_DOMU;
> @@ -213,7 +213,7 @@ static int cf_check flask_set_system_active(void)
>  
>      dsec = d->ssid;
>  
> -    ASSERT(d->is_privileged);
> +    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
>      ASSERT(dsec->sid == SECINITSID_XENBOOT);
>      ASSERT(dsec->self_sid == SECINITSID_XENBOOT);
>  
> @@ -224,11 +224,11 @@ static int cf_check flask_set_system_active(void)
>      }
>  
>      /*
> -     * While is_privileged has no significant meaning under flask, set to false
> -     * as is_privileged is not only used for a privilege check but also as a
> -     * type of domain check, specifically if the domain is the control domain.
> +     * While domain roles have no significant meaning under flask, mask out
> +     * control domain role as it is not only used for a privilege check but
> +     * also as a type of domain check.
>       */
> -    d->is_privileged = false;
> +    d->role &= ~ROLE_CONTROL_DOMAIN;
>  
>      dsec->self_sid = dsec->sid = SECINITSID_XEN;
>  
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:55:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574646.900123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR09c-0003GV-Q6; Wed, 02 Aug 2023 00:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574646.900123; Wed, 02 Aug 2023 00:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR09c-0003GO-My; Wed, 02 Aug 2023 00:55:56 +0000
Received: by outflank-mailman (input) for mailman id 574646;
 Wed, 02 Aug 2023 00:55: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 1qR09a-0003G6-My; Wed, 02 Aug 2023 00:55: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 1qR09a-0005C3-LO; Wed, 02 Aug 2023 00:55: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 1qR09a-0005d4-7R; Wed, 02 Aug 2023 00:55:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qR09a-00053G-6x; Wed, 02 Aug 2023 00:55: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=bJp0QIkUrB/CfwqBGyX9FGwTep4O3LnGVCaX622y4nQ=; b=6E/Xr/RKUd3gP25bPD9+MyMZ6o
	kN7tqXnshNtG4rP6g7YAy1XkXIAxkTgvGL/8nokQ5LnCK6ypiu1BOn7tTkrgHtpeT0SkF/MPjnwvT
	Mnd7+zz/saYaKm7TBFpMOp8BjrBXQPSJmbeS38oT1s1MrJzvIJYS/3/uTx9Fa5EWrO/Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182093-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 182093: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds: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-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e05a0e65b09d8512fdf4881c7fae713045c7d83d
X-Osstest-Versions-That:
    xen=faa4e2b1cf8022497a7b60c5b50a3bd280a5fc65
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 00:55:54 +0000

flight 182093 xen-4.15-testing real [real]
flight 182105 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182093/
http://logs.test-lab.xenproject.org/osstest/logs/182105/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 182105-retest

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

version targeted for testing:
 xen                  e05a0e65b09d8512fdf4881c7fae713045c7d83d
baseline version:
 xen                  faa4e2b1cf8022497a7b60c5b50a3bd280a5fc65

Last test of basis   181995  2023-07-24 16:37:09 Z    8 days
Testing same since   182093  2023-07-31 13:06:54 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   faa4e2b1cf..e05a0e65b0  e05a0e65b09d8512fdf4881c7fae713045c7d83d -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 00:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 00:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574653.900135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR0BI-0003vC-Br; Wed, 02 Aug 2023 00:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574653.900135; Wed, 02 Aug 2023 00: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 1qR0BI-0003v5-7W; Wed, 02 Aug 2023 00:57:40 +0000
Received: by outflank-mailman (input) for mailman id 574653;
 Wed, 02 Aug 2023 00:57:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qR0BG-0003ux-6N
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 00:57:38 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9217e946-30cf-11ee-b25d-6b7b168915f2;
 Wed, 02 Aug 2023 02:57:37 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id ECCED6176D;
 Wed,  2 Aug 2023 00:57:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2607AC433C8;
 Wed,  2 Aug 2023 00:57: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: 9217e946-30cf-11ee-b25d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690937855;
	bh=BfGIuwpRCN4qhBSwEVz0f3fnhIPy1Gr2sJI264ojiNE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ofNyJD9I3d+T3Ng/0MZYU3mcPbRvx8rNXtFv7k9gErQ4LmNHM8PqdQJcZX+kKYTbs
	 53RBLMWKWTML+v3Cu2ZxYpdKnx8XQR8p/yyo4/3LJJIE/q20kq26vK5Fsr+A5ok6xa
	 yWjKs864IStLwjBHFMrksn9eQhNoxk9ptRlFv1DrfPGCz/0pG5MuYjGj0XTUaAYZQ4
	 qODZ+yet4Sb1vH2Yb3Ef41ddsRyW4wE9nEs3qjr1RuocNXAlhl8oVpBZIpJADBT3Vn
	 USDvJZEsfRnH1barv2YGcP0uv6YAmDT3CrTkKHq35mXS/n2Et/ucdsUyyr/81nFNpD
	 3yG3x2vYT175A==
Date: Tue, 1 Aug 2023 17:57:32 -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: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [RFC 3/6] roles: add a role for xenstore domain
In-Reply-To: <20230801202006.20322-4-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308011757190.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-4-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> Expand the possible roles for a domain to include a role for the Xenstore
> domain.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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


> ---
>  xen/common/domain.c     | 3 +++
>  xen/include/xen/sched.h | 3 ++-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 0ff1d52e3d..dbf055c559 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -633,6 +633,9 @@ struct domain *domain_create(domid_t domid,
>          d->role |= ROLE_HARDWARE_DOMAIN;
>      }
>  
> +    if ( d->options & XEN_DOMCTL_CDF_xs_domain )
> +        d->role |= ROLE_XENSTORE_DOMAIN;
> +
>      TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
>  
>      lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 695f240326..ec0f9baff6 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -470,6 +470,7 @@ struct domain
>  #define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>  #define ROLE_CONTROL_DOMAIN    (1U<<1)
>  #define ROLE_HARDWARE_DOMAIN   (1U<<2)
> +#define ROLE_XENSTORE_DOMAIN   (1U<<3)
>      uint8_t          role;
>      /* Can this guest access the Xen console? */
>      bool             is_console;
> @@ -1165,7 +1166,7 @@ static inline bool is_vcpu_online(const struct vcpu *v)
>  
>  static inline bool is_xenstore_domain(const struct domain *d)
>  {
> -    return d->options & XEN_DOMCTL_CDF_xs_domain;
> +    return d->role & ROLE_XENSTORE_DOMAIN;
>  }
>  
>  static always_inline bool is_iommu_enabled(const struct domain *d)
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 01:01:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 01:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574659.900144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR0FM-00079G-Qt; Wed, 02 Aug 2023 01:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574659.900144; Wed, 02 Aug 2023 01:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR0FM-00078h-O6; Wed, 02 Aug 2023 01:01:52 +0000
Received: by outflank-mailman (input) for mailman id 574659;
 Wed, 02 Aug 2023 01:01:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qR0FM-0006sE-7Q
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 01:01:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28ac7f5a-30d0-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 03:01:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5AEC461781;
 Wed,  2 Aug 2023 01:01:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EB19C433C7;
 Wed,  2 Aug 2023 01:01: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: 28ac7f5a-30d0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690938107;
	bh=b8ZTI0DUyypX2jJSHtf2hriCyizM8M3M0RYQ+M4v/YA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=A7kTImnC2LsEX0aY+x2+ZLnBYazmGEpgL2PlR6uND+YzoC6ZaBWOnST7EMeJtaGMH
	 jTR+336XRJo6pVtBMutRIooXSS6dgNvpXppd9O9mUoeHCK1o/lsnZNACBkWVnJBx7M
	 /4pVtFtuMa21J50jCvvk0T4ee5dkfANUfGiOgaIuDfMrAWBQ5HteBhX6prUCfu3iYa
	 yYp0o3GKPl6jpJ9uw4irXl2EJ8lJ6TDK/t1ZHJ04VDFC1uXm176M90gauxp/EctY3q
	 HZaaDxiH8i3EqPF6z/3++yhIHvzQy1TW+T+nE+SlBee+x/2qhbKSZWLalFl02Dk7AO
	 +X2si9ICrZx1A==
Date: Tue, 1 Aug 2023 18:01:45 -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: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    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: [RFC 4/6] capabilities: introduce console io as a domain
 capability
In-Reply-To: <20230801202006.20322-5-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-5-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> The field `is_console` suggests that the field represents a state of being or
> posession, not that it reflects the privilege to access the console. In this
  ^ possession

> patch the field is renamed to capabilities to encapsulate the capabilities a
> domain has been granted. The first capability being the ability to read/write
> the Xen console.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Patch looks fine to me aside the two minor nits. I am not sure I
understand 100% the difference between capabilities and roles but I am
OK with the patch. I'd like to hear Julien's feedback on this as well. 


> ---
>  xen/arch/arm/domain_build.c |  4 +++-
>  xen/include/xen/sched.h     | 25 +++++++++++++++++++++++--
>  xen/include/xsm/dummy.h     |  2 +-
>  3 files changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 51b4daefe1..ad7432b029 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -4076,7 +4076,9 @@ void __init create_domUs(void)
>              panic("Error creating domain %s (rc = %ld)\n",
>                    dt_node_name(node), PTR_ERR(d));
>  
> -        d->is_console = true;
> +        if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )

code style


> +            printk("failed setting console_io on %pd\n", d);
> +
>          dt_device_set_used_by(node, d->domain_id);
>  
>          rc = construct_domU(d, node);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index ec0f9baff6..b04fbe0565 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -472,8 +472,8 @@ struct domain
>  #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>  #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>      uint8_t          role;
> -    /* Can this guest access the Xen console? */
> -    bool             is_console;
> +#define CAP_CONSOLE_IO  (1U<<0)
> +    uint8_t          capabilities;
>      /* Is this guest being debugged by dom0? */
>      bool             debugger_attached;
>      /*
> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
>      return is_hvm_domain(v->domain);
>  }
>  
> +static always_inline bool domain_has_cap(
> +    const struct domain *d, uint8_t cap)
> +{
> +    return d->capabilities & cap;
> +}
> +
> +static always_inline bool domain_set_cap(
> +    struct domain *d, uint8_t cap)
> +{
> +    switch ( cap )
> +    {
> +    case CAP_CONSOLE_IO:
> +        d->capabilities |= cap;
> +        break;
> +    default:
> +        return false;
> +    }
> +
> +    return domain_has_cap(d, cap);
> +}
> +
>  static always_inline bool hap_enabled(const struct domain *d)
>  {
>      /* sanitise_domain_config() rejects HAP && !HVM */
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 18f1ddd127..067ff1d111 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -268,7 +268,7 @@ static XSM_INLINE int cf_check xsm_console_io(
>      XSM_DEFAULT_ARG struct domain *d, int cmd)
>  {
>      XSM_ASSERT_ACTION(XSM_OTHER);
> -    if ( d->is_console )
> +    if ( domain_has_cap(d, CAP_CONSOLE_IO) )
>          return xsm_default_action(XSM_HOOK, d, NULL);
>  #ifdef CONFIG_VERBOSE_DEBUG
>      if ( cmd == CONSOLEIO_write )
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 01:06:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 01:06:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574663.900154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR0K7-0001tl-Cv; Wed, 02 Aug 2023 01:06:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574663.900154; Wed, 02 Aug 2023 01: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 1qR0K7-0001td-9C; Wed, 02 Aug 2023 01:06:47 +0000
Received: by outflank-mailman (input) for mailman id 574663;
 Wed, 02 Aug 2023 01:06:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qR0K6-0001tX-8z
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 01:06:46 +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 d7b7b512-30d0-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 03:06:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 42D266177D;
 Wed,  2 Aug 2023 01:06:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43283C433C8;
 Wed,  2 Aug 2023 01: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: d7b7b512-30d0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1690938401;
	bh=kd4wYEFviwXVQfwPUHkNXQA46VC++kHg1EJl8BsckaQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iedw+7pKxOjwZXGBUB76zAplcVmUjyPWOgcirxKap3r3xkLaPXCW8C2ebu2uunaDf
	 SORKjJ8elixUdyr90/n+O11b4OaPsZYJLhz3jIJnWJIQEqtAdClwloYsHu4dCTMbv0
	 OYK43E4sdHJgNt6c3UIHkYo/8VOhaEUAADzJBi738APvA3Nsvto0cfcUG5Ic+A3hUw
	 IKii6q2VOj0QFsEZFrXvSmaKqyNtUNcVU9Njq4zDPeBV8nPZ0lWhO17hjhDgI4TF7K
	 LBSPN7ZDE8+FmgSCTv/mQHwBsZlZJr9hFsnT4QSHL+IKteK7Di5J+jja2ljEaL4Hat
	 reQJLZSEHQomA==
Date: Tue, 1 Aug 2023 18:06:39 -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: Wei Liu <wl@xen.org>, 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>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a
 capability
In-Reply-To: <20230801202006.20322-7-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308011802401.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-7-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> Expresses the ability to attach a debugger as a capability that a domain can be
> provisioned.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/arch/x86/hvm/svm/svm.c      |  8 ++++----
>  xen/arch/x86/hvm/vmx/realmode.c |  2 +-
>  xen/arch/x86/hvm/vmx/vmcs.c     |  2 +-
>  xen/arch/x86/hvm/vmx/vmx.c      | 10 +++++-----
>  xen/arch/x86/traps.c            |  6 ++++--
>  xen/common/domctl.c             |  6 ++++--
>  xen/include/xen/sched.h         |  9 ++++++---
>  7 files changed, 25 insertions(+), 18 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index 27170213ae..9872804d39 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -999,7 +999,7 @@ static void noreturn cf_check svm_do_resume(void)
>  {
>      struct vcpu *v = current;
>      struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
> -    bool debug_state = (v->domain->debugger_attached ||
> +    bool debug_state = (domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) ||
>                          v->domain->arch.monitor.software_breakpoint_enabled ||
>                          v->domain->arch.monitor.debug_exception_enabled);
>      bool_t vcpu_guestmode = 0;
> @@ -1335,7 +1335,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
>          }
>          /* fall through */
>      case X86_EXC_BP:
> -        if ( curr->domain->debugger_attached )
> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>          {
>              /* Debug/Int3: Trap to debugger. */
>              domain_pause_for_debugger();
> @@ -2732,7 +2732,7 @@ void svm_vmexit_handler(void)
>  
>      case VMEXIT_ICEBP:
>      case VMEXIT_EXCEPTION_DB:
> -        if ( !v->domain->debugger_attached )
> +        if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>          {
>              unsigned int trap_type;
>  
> @@ -2769,7 +2769,7 @@ void svm_vmexit_handler(void)
>          if ( insn_len == 0 )
>               break;
>  
> -        if ( v->domain->debugger_attached )
> +        if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>          {
>              /* AMD Vol2, 15.11: INT3, INTO, BOUND intercepts do not update RIP. */
>              __update_guest_eip(regs, insn_len);
> diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c
> index ff44ddcfa6..f761026a9d 100644
> --- a/xen/arch/x86/hvm/vmx/realmode.c
> +++ b/xen/arch/x86/hvm/vmx/realmode.c
> @@ -121,7 +121,7 @@ void vmx_realmode_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt)
>  
>      if ( rc == X86EMUL_EXCEPTION )
>      {
> -        if ( unlikely(curr->domain->debugger_attached) &&
> +        if ( unlikely(domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH)) &&
>               ((hvmemul_ctxt->ctxt.event.vector == X86_EXC_DB) ||
>                (hvmemul_ctxt->ctxt.event.vector == X86_EXC_BP)) )
>          {
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index 13719cc923..9474869018 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -1912,7 +1912,7 @@ void cf_check vmx_do_resume(void)
>          hvm_asid_flush_vcpu(v);
>      }
>  
> -    debug_state = v->domain->debugger_attached
> +    debug_state = domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH)
>                    || v->domain->arch.monitor.software_breakpoint_enabled
>                    || v->domain->arch.monitor.singlestep_enabled;
>  
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 7ec44018d4..5069e3cbf3 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2041,7 +2041,7 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
>              break;
>          /* fall through */
>      case X86_EXC_BP:
> -        if ( curr->domain->debugger_attached )
> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>          {
>              /* Debug/Int3: Trap to debugger. */
>              domain_pause_for_debugger();
> @@ -2121,7 +2121,7 @@ static void cf_check vmx_set_info_guest(struct vcpu *v)
>       * immediately vmexit and hence make no progress.
>       */
>      __vmread(GUEST_INTERRUPTIBILITY_INFO, &intr_shadow);
> -    if ( v->domain->debugger_attached &&
> +    if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) &&
>           (v->arch.user_regs.eflags & X86_EFLAGS_TF) &&
>           (intr_shadow & VMX_INTR_SHADOW_STI) )
>      {
> @@ -4283,7 +4283,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                  }
>              }
>  
> -            if ( !v->domain->debugger_attached )
> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>              {
>                  unsigned long insn_len = 0;
>                  int rc;
> @@ -4307,7 +4307,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>              break;
>          case X86_EXC_BP:
>              HVMTRACE_1D(TRAP, vector);
> -            if ( !v->domain->debugger_attached )
> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>              {
>                  unsigned long insn_len;
>                  int rc;
> @@ -4647,7 +4647,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                                HVM_MONITOR_SINGLESTEP_BREAKPOINT,
>                                0, 0, 0);
>  
> -            if ( v->domain->debugger_attached )
> +            if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>                  domain_pause_for_debugger();
>          }
>  
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 4229bda159..041ced35ea 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1214,7 +1214,8 @@ void do_int3(struct cpu_user_regs *regs)
>          return;
>      }
>  
> -    if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
> +    if ( guest_kernel_mode(curr, regs) &&
> +         domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>      {
>          curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
>          domain_pause_for_debugger();
> @@ -1995,7 +1996,8 @@ void do_debug(struct cpu_user_regs *regs)
>      v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>      v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
>  
> -    if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
> +    if ( guest_kernel_mode(v, regs) &&
> +         domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>      {
>          domain_pause_for_debugger();
>          return;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 505e29c0dc..895ddf0600 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -99,7 +99,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
>          ((d->is_dying == DOMDYING_dead) ? XEN_DOMINF_dying     : 0) |
>          (d->is_shut_down                ? XEN_DOMINF_shutdown  : 0) |
>          (d->controller_pause_count > 0  ? XEN_DOMINF_paused    : 0) |
> -        (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
> +        (domain_has_cap(d, CAP_DEBUGGER_ATTACH) ?
> +                                          XEN_DOMINF_debugged  : 0) |
>          (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
>          (is_hvm_domain(d)               ? XEN_DOMINF_hvm_guest : 0) |
>          d->shutdown_code << XEN_DOMINF_shutdownshift;
> @@ -643,7 +644,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>          else
>          {
>              domain_pause(d);
> -            d->debugger_attached = !!op->u.setdebugging.enable;
> +            if ( !!op->u.setdebugging.enable )
> +                domain_set_cap(d, CAP_DEBUGGER_ATTACH);
>              domain_unpause(d); /* causes guest to latch new status */
>          }
>          break;
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index ebfe65cd73..47eadb5008 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -474,9 +474,8 @@ struct domain
>      uint8_t          role;
>  #define CAP_CONSOLE_IO         (1U<<0)
>  #define CAP_DISABLE_CPU_FAULT  (1U<<1)
> -    uint8_t          capabilities;
> -    /* Is this guest being debugged by dom0? */
> -    bool             debugger_attached;
> +#define CAP_DEBUGGER_ATTACH    (1U<<2)
> +    uint16_t         capabilities;

No need to switch to uint16_t just yet?


>      /*
>       * Set to true at the very end of domain creation, when the domain is
>       * unpaused for the first time by the systemcontroller.
> @@ -1166,6 +1165,10 @@ static always_inline bool domain_set_cap(
>          if ( is_pv_domain(d) && is_control_domain(d) )
>              d->capabilities |= cap;
>          break;
> +    case CAP_DEBUGGER_ATTACH:
> +        if ( !is_control_domain(d) )
> +            d->capabilities |= cap;

I take it is not possible to attach it to dom0? I am not familiar with
XEN_DOMCTL_setdebugging but the hypercall doesn't seem to have such
restriction.


> +        break;
>      default:
>          return false;
>      }
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 02:33:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 02:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574670.900164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR1fK-000329-Ai; Wed, 02 Aug 2023 02:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574670.900164; Wed, 02 Aug 2023 02:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR1fK-000321-66; Wed, 02 Aug 2023 02:32:46 +0000
Received: by outflank-mailman (input) for mailman id 574670;
 Wed, 02 Aug 2023 02:32:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qR1fJ-00031r-2c; Wed, 02 Aug 2023 02:32:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qR1fI-0003xh-Vu; Wed, 02 Aug 2023 02:32:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qR1fI-0008Tr-Dh; Wed, 02 Aug 2023 02:32:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qR1fI-0003xz-DA; Wed, 02 Aug 2023 02:32:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l4y6Y1WbLh21+OiA1WEF39hIpV24kTzlhp5dnv0XikI=; b=dBqW+4lb0GdDtLi+vNTN0FSKVg
	jAOcXztWQKFO4G5BS6+ZqZOOy5rMbGGGTR31she1BRSWOkfqw9qrNqWKaWz8uhIgzi2p+7AVgk9/I
	ykQj9n1tRT4XqNigzKkhyVXTqrWZ7C7+0U2O2/Nze0VYPcaJOcAzlFSmkTksVfvLuLlo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182094-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 182094: 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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-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-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1: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-armhf-armhf-xl-arndale: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-arndale:saverestore-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-qemuu-debianhvm-amd64-xsm: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-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a910e3f2a4d128bc045ac6be374459e73ddf9fde
X-Osstest-Versions-That:
    xen=82c5ab6be04a1f5544e38ed5198e79b91cecac45
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 02:32:44 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   181998  2023-07-24 16:37:44 Z    8 days
Testing same since   182094  2023-07-31 13:07:24 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   82c5ab6be0..a910e3f2a4  a910e3f2a4d128bc045ac6be374459e73ddf9fde -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 03:59:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 03:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574680.900178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR31B-000361-Mg; Wed, 02 Aug 2023 03:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574680.900178; Wed, 02 Aug 2023 03:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR31B-00035u-Jk; Wed, 02 Aug 2023 03:59:25 +0000
Received: by outflank-mailman (input) for mailman id 574680;
 Wed, 02 Aug 2023 03:59: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=4j5E=DT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qR319-00035o-W2
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 03:59:24 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20625.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f558cc07-30e8-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 05:59:20 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAXPR08MB7600.eurprd08.prod.outlook.com (2603:10a6:102:23f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Wed, 2 Aug
 2023 03:59:14 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 03:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f558cc07-30e8-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JQ7hy4kt3MOBvJpIkl2UMzoPI11BxW+LEYL7nLhX2dzYc62LJy7dqM6AVLWkXFTmO3JOTaEfQAj8akwvJFJ/Ne5EHf5oiNSrJngSTbuuxyeW+FM6N1zi2Js8FsjgBhuaS5URaZ9LuRvU/W9pE6IG1P5BFdGEJEaWQlDDM/NPqOcfPRNIi3CzZSF2gtowbsJOJbKx0LcGgmkZIAzWSgXdOdAeNAyz434iVqcvoRcuOOWRsp8Ctj+s1PUx1KSRVYZL+/+TCL3r36C/HR6xrZGivIjM4hThDKi7B4DZ2qQRdKvel1wgHo/MoRrIP259msv2+DMylwccdL2en1yANiqv2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6pPRehJouAJ14zJDuwpjJGN2EJjKr4+iWJK4Lzd6pvo=;
 b=FQbnyT2UIqcHPOnjV6Wkko5BX30HKGG2UdBc4eDPfpUUMuYNuylbCoTgRz8L4Q8y8/wAC93BhKgUWIBLw6+TevFIqv6w3mLK7NUcAZJiC74XS8MK07eWoJ6SFL9qZx9IgEaPiqF1CKQEnJcqdeJu9cH3bDoABZgnEHYbN/lZ1eMcGHU0KB5zGmk/66klfsj+j3921dpM4IT4ylvf3qc/nCyLXuzFa9+4dHYjOY8MB/tbZpR5bLyQ4ZDqrLLdLEUoR01sNQcRty3pf3VbXaXQ0oGiXSxLIDb11nOFkzNijv6ryBClRMpDLIi+e5EzAFHhi9Uv7bxMI0vrcwXCXpGf1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=6pPRehJouAJ14zJDuwpjJGN2EJjKr4+iWJK4Lzd6pvo=;
 b=2nU79hqxnjNUvZHsMg3B9B1HavxpuhRCrHKHSE6Q7uYaexi03A+2MJAv/s6XyZRQkr2bmwqfwwf1pbOpIo0EnEw/sjJ3l+LHI/ArZ/cCcY45S78FYY7BUuikJX20/UEwQ0ulUG3a/0qeufdJa1jvpAO7JOEnpuK/etLykLDW4+4=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan
 Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: RE: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of MPU
 work
Thread-Topic: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of
 MPU work
Thread-Index: AQHZxCqGkXVqhatOiEqMa3qeqTOTXK/VHIIAgAEp0BA=
Date: Wed, 2 Aug 2023 03:59:13 +0000
Message-ID:
 <AS8PR08MB7991DDC48815259C6B857E22920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <4f43b069-cb78-f356-628e-29b8ca8e595a@xen.org>
In-Reply-To: <4f43b069-cb78-f356-628e-29b8ca8e595a@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 58B84113F4AF0842A5BDAB482C07EBBD.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|PAXPR08MB7600:EE_
x-ms-office365-filtering-correlation-id: 34db764c-15e7-41bc-5b64-08db930cd5ce
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 FE8jbiYZBprAVeR7Znv4/ZhdJceTwE3/fyLXCRLrGb+vmICmW3mP0l/QZK4JMgey8NO1svGML/NMONfL9h3IQlBJ5b7RdF9Wy0OapW3oofPxjPVEo3f+Dxi+6olJytBkO3k0IMWSmnSMGHhVfrkfkQus8woxc9vv3zDCGVMdUFv+ofqSAabgLY99eHc8BwY1ZaEVkYWAgHXZUQsb8MS8dGwxXj5+0Wj5muWj2yvVlcmuMRPc2jG8IxHnV6FAq0YfWGSXwM4+EQ1hEhZzelFIqBFW3U1dysTRbJxMKPwQRbxDoMNynwyXW7sD2T73wATGYJzU+AYSouDoMzO8lzPvHz2QDYMcgI6SFWj1yePXyZXzUWNuGGcPyng7uJqIkZwU47F7uMBv2sW5AnGwcyC0Y44Ak6lYJrw3Z0U07jXsNIR3sDDb2cN68fcN1DeHRCwa9QHgjg91q+CeXZWnFDR0njakQM4KHbNiQ71JfkwEl9f+ZE+xtVVBtfEex4rtDBrIIB3i8MSFFQfWPInCnVgeGkQDSq9qrwPphbG3lswgjEoXToeYClPgSLntyv2eqhsoRP0efxWRgOSVaRVNEdD4bE4D3qr21qEOHzkm2ObRMp/wHKQsXkA/l+OM1maw2NYy56iel1x7ISxPdJDo8unFeQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(376002)(136003)(346002)(39860400002)(451199021)(38070700005)(2906002)(4326008)(83380400001)(41300700001)(186003)(86362001)(316002)(478600001)(38100700002)(76116006)(9686003)(966005)(122000001)(110136005)(54906003)(52536014)(55016003)(5660300002)(66556008)(66476007)(66446008)(53546011)(64756008)(71200400001)(33656002)(26005)(6506007)(8676002)(66946007)(8936002)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cUQrZkRZZlB1R3crYnVxTmNDd3JMVjVZcjZZRVJZMDhzQTY3ci9UMEV3R3dJ?=
 =?utf-8?B?OUFRVTRSV3JDNmNGSU9JWTgyZjR4cURRL3duS0ZZakVRNmxRNHFPN1k2bXlp?=
 =?utf-8?B?aVYyVmtIc20yQktyNW8vMnp4ZU0yUGFjWFJMS2twS0wyWEdnQUd0ZDZxK1BV?=
 =?utf-8?B?bWI5dU5mRGR2OC9vdEp0OWQvL2FocElpdUV5SUtBWjhweGRkYW1ucVZ1elk1?=
 =?utf-8?B?Q0E1eFh3a0RVK1NjNTVXSmk3RlFWcWNiVXpPNTRqQlorb0gwYVJSVk5yYlAr?=
 =?utf-8?B?K1RFZitDKzFmMEczV0hvdGRYRTY1YTdRZHMvRStwTVlSZFEwY0RWTTlCbXMx?=
 =?utf-8?B?d2wxSjQveCsxSFM1K1RhaVZYRFFsTU1IeFh1OVNIM25aLzlJNFVzeEFoSUFV?=
 =?utf-8?B?cXd0cFBoNlFxcUJCeTRIZGk0OUFPK0hIZng2SnE2UjF2QWJzZ0FKc2IvaXlo?=
 =?utf-8?B?Uk5Ja3JjNDcrVzF0R3NhWklXZHRlZjJ1TDR3YXplcVZVRFBxN3A3TWZtb3ll?=
 =?utf-8?B?NE43NjN2amZXWlhhSVZWQm9hRFBBVEs3RVNCc0hnQ3N6dDFHcXhLTWdFeTV2?=
 =?utf-8?B?b1E5U3NpR3dGS0NhTnVCdjkwT0ZtSVFQQkJENGp4VjV4SSszaEZRWlU0YTFV?=
 =?utf-8?B?S3VRNjhKU0hQWnVTRW9IRmptTGJGemJwc2VlWVBsYnhQczAxbTVDTGdMZzVq?=
 =?utf-8?B?OGdDOUhEd0d2TGIrdG5wd1ZFUHk0VU5jVVZEVEZVQUQvV1NERjJnNGdKdmhH?=
 =?utf-8?B?TExDbUplSlEwQ1BvWU8zTDJCeWo3eXNWU2YvZG8zdDM2d0RsZEc4RXk1U2Q5?=
 =?utf-8?B?cmEybFp2dGNSWjBTWE5INzFMMTJ2cVFwd09NWm5odDFtZVRRVDJuenpXdnlK?=
 =?utf-8?B?eDZjSWxONEc2N3dIUERtbEhLSlFVMDdoOTJCVm9Wekdacm5sS3k5T25Mc2lN?=
 =?utf-8?B?MTZZWlNlZ2NjcDZnOVFsQS9KaFFvWWdJR0hMVXRDK1grK2U5eHU5d1EvNm1W?=
 =?utf-8?B?cjd3Tkp2Nk5IOGdjVHlCcTBYN3BGa0xQbXJwemF3TTVnYW42dGUrVWp3NXJV?=
 =?utf-8?B?V2VTcnMyZEtUVGM2eWlJRFlZNGs5VG1qSWFaV0FHeHFVVUNQbmZuNmpuT2hV?=
 =?utf-8?B?VW5mWTJsUXIxMzhyTW9pZmxOOTFpUWMwNzhyNFFpcWc0VkpWZ1ZHUnEyODFT?=
 =?utf-8?B?Skp0cDVvZURleFptNjFKcVR3Z2xsOXRuVDBISXJYb3hON0E5R1FGSjNsNU4x?=
 =?utf-8?B?N2dRazJlQUVZblhpMGVkbjJhL3FQNUF0anFmeWgxSGVPY0h4YmRxY2NpRWJH?=
 =?utf-8?B?aER3V2NTR0ovYlNGQjczeFNDaXArUUxTaG01VFNqZkVOeGtaZENUTmR6MDYy?=
 =?utf-8?B?YTZQanEzZHBvMHZkOUhjK2pNSStVTGtKTXhNMms1bThzcENpbkxSd1ZWbFk3?=
 =?utf-8?B?THpCS0tXQXBMK1lCQ1JUOGZnN2VOTVRyRVdGTmJ5aDkwbzFvN3JzcnR4di9t?=
 =?utf-8?B?b1ZQbjdKOTZaSmJOU2d2cnE5QUl5bHV6V1M4L1JKUm9WNkthM09LTEdIQmtx?=
 =?utf-8?B?U25pVnp6N2d3TVVCci9WcWVPNURQeXIzbm9BdC9Fc1FMZjFyU21LWVBzanVt?=
 =?utf-8?B?UXNOeGxvZjY5RU9EbkFFSEVTc1l3T1IyUzJZTXNibjFoelRVUGQ1UDBtUDlQ?=
 =?utf-8?B?NDBKK2oxVEpSRTNUOHkxOXdPdnQwWHJncjVRdS94djFJVTN4ZHdsS0JRNm9p?=
 =?utf-8?B?RXZUcGYvczRQNVVMa2U0UHNySSs2Tm9ESW5vbU95OGZqZlozWDRpRFk4dTJY?=
 =?utf-8?B?emNoTTdHMXc1VDArVGs4Z2t5ZjUzT3BQRHRRTTRrZWdqd0NsYjlPaTFYS29h?=
 =?utf-8?B?STVFSzJiWWhqTmlBc04rcDJRQjRwYnZKNGFXdzVZZVFUOVJTZ0g3OWZYR3Bm?=
 =?utf-8?B?OXB4bGpJV1lBNXpPdlA5RnQ3UjhhRWorbnlKUGhyL3dyVmtyQmZMZGk2Sng2?=
 =?utf-8?B?dkc2Zit3eU5DbFNxcmNVOXlkNm5DQ25GVWl3SmRlM3V6QWZ2elFlUVRhSWw2?=
 =?utf-8?B?TFErNGVEWk83TU1tRk5YOFZKcWdFMFdLYXJaUHZncSswYUpmOEREUjFXelZj?=
 =?utf-8?Q?7e4RhziraehqxF+GqC1Bss9Bx?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34db764c-15e7-41bc-5b64-08db930cd5ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2023 03:59:13.8773
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5oU959sPJojez4nd8VwQsRHgN7ok1uc5twUSx3vQjOKuTwfm6PgJAyQsddx6j99rlAwepVH+OZUIEv2d2K65yA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7600

SGkgSnVsaWVuLA0KDQpUaGFua3MgZm9yIHlvdXIgcHJvbXB0IHJlc3BvbnNlIGFuZCB5b3VyIHRp
bWUgb24gdGhlIHJldmlldyENCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t
OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0
IDAwLzEzXSB4ZW4vYXJtOiBTcGxpdCBNTVUgY29kZSBhcyB0aGUgcHJlcHJhdGlvbiBvZg0KPiBN
UFUgd29yaw0KPiANCj4gSGksDQo+IA0KPiBPbiAwMS8wOC8yMDIzIDA0OjQ0LCBIZW5yeSBXYW5n
IHdyb3RlOg0KPiA+IEJhc2VkIG9uIHRoZSBkaXNjdXNzaW9uIGluIHRoZSBYZW4gU3VtbWl0IFsx
XSwgc2VuZGluZyB0aGlzIHNlcmllcyBvdXQgYWZ0ZXINCj4gPiBhZGRyZXNzaW5nIHRoZSBjb21t
ZW50cyBpbiB2MyBbMl0gYXMgdGhlIHByZXBhcmF0aW9uIHdvcmsgdG8gYWRkIE1QVQ0KPiBzdXBw
b3J0Lg0KPiA+DQo+ID4gTW9zdGx5IGNvZGUgbW92ZW1lbnQsIHdpdGggc29tZSBvZiBLY29uZmln
IGFuZCBidWlsZCBzeXN0ZW0gKG1haW5seQ0KPiBNYWtlZmlsZXMpDQo+ID4gYWRqdXN0bWVudC4g
Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgZXhwZWN0ZWQuDQo+IA0KPiBJIGNhbid0IHJlYWxseSByZXZp
ZXcgdGhpcyBzZXJpZXMgd2l0aG91dCBrbm93aW5nIGhvdyB0aGlzIHdpbGwNCj4gaW50ZWdyYXRl
IHdpdGggdGhlIHJlc3Qgb2YgdGhlIE1QVSB3b3JrLiANCg0KU29ycnkgYWJvdXQgaXQsIEkgc2hv
dWxkIGhhdmUgYXNrZWQgYmVmb3JlIHNlbmRpbmcgdGhlIHNlcmllcy4NCg0KPiBDYW4geW91IGF0
IGxlYXN0IHByb3ZpZGUgYSB0cmVlDQo+IHdpdGggYWxsIHRoZSBwYXRjaGVzIGFwcGxpZWQgKGlu
Y2x1ZGluZyB0aGUgTVBVIG9uZSk/DQoNClNlZSBbMV0gZm9yIHRoZSBmdWxsIHNpbmdsZSBjb3Jl
IE1QVSBpbXBsZW1lbnRhdGlvbiB3aGljaCBJJ3ZlIHZlcmlmaWVkDQpsb2NhbGx5IGFib3V0IHRo
ZSBNTVUgYW5kIE1QVSBzaW5nbGUgY29yZSBMaW51eCBib290IG9uIEZWUCwgYW5kDQpsb29rcyBs
aWtlIEdpdGxhYiBpcyBhbHNvIG5vdCBjb21wbGFpbmluZyBbMl0uDQoNCk5vdGUgdGhhdCBJJ3Zl
IGFkZHJlc3NlZCBjb21tZW50cyBmcm9tIHlvdSBhbmQgQXlhbiBpbiB2MyBhYm91dCB0aGUNCk1N
VS9NUFUgaGVscGVycyBkdXBsaWNhdGlvbiBhbmQgdGhlIGFybTMyL2FybTY0IHNwbGl0IHdvcmsu
IEkgZGlkbid0DQphZGRyZXNzIHRoZSBjb21tZW50IGluIFszXSBhYm91dCB0aGUgUkVTMCBzdHVm
ZiwgYnV0IEkgdGhpbmsgdGhpcyBpcyBub3QNCnJlbGF0ZWQgdG8gdGhlIE1NVSBzcGxpdCBzZXJp
ZXMgSSBzZW50IHllc3RlcmRheSB0byBtYWlsaW5nIGxpc3QgYW5kIHRoZQ0KZm9ybWFsIHY0IE1Q
VSB3b3JrIHNlbnQgdG8gdGhlIG1haWxpbmcgbGlzdCB3aWxsIGNvbnRhaW4gdGhlIGZpeCBmb3Ig
dGhpcw0KY29tbWVudC4NCg0KWzFdIGh0dHBzOi8vZ2l0bGFiLmNvbS94ZW4tcHJvamVjdC9wZW9w
bGUvaGVucnl3L3hlbi8tL2NvbW1pdHMvbXB1X3Y0DQpbMl0gaHR0cHM6Ly9naXRsYWIuY29tL3hl
bi1wcm9qZWN0L3Blb3BsZS9oZW5yeXcveGVuLy0vcGlwZWxpbmVzLzk1Mjc0MjAyNQ0KWzNdIGh0
dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvcGF0Y2gvMjAyMzA2
MjYwMzM0NDMuMjk0MzI3MC0zMi1QZW5ueS5aaGVuZ0Bhcm0uY29tLw0KDQpLaW5kIHJlZ2FyZHMs
DQpIZW5yeQ0KDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 04:47:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 04:47:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574685.900188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3lN-0008UE-6e; Wed, 02 Aug 2023 04:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574685.900188; Wed, 02 Aug 2023 04:47: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 1qR3lN-0008U7-3h; Wed, 02 Aug 2023 04:47:09 +0000
Received: by outflank-mailman (input) for mailman id 574685;
 Wed, 02 Aug 2023 04:47: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=HuXe=DT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qR3lL-0008U1-C9
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 04:47:07 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1379177-30ef-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 06:47:05 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0CF8821ACF;
 Wed,  2 Aug 2023 04:47:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D1E7213909;
 Wed,  2 Aug 2023 04:47:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WOc0McjfyWSZVQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 02 Aug 2023 04:47:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1379177-30ef-11ee-b25e-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1690951625; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ABqtY7IgbgBW9NBSM6+342auGDC0z78g/OwW11uUkjE=;
	b=Llmd92Px49npHmhksYPcxkjgB3UequQGdo4XvyXhe4JH4LA+6lBR7JpeIvwjTyjXtyIv7A
	6BQGq/qs7zrJ3UV1KAhxhy4u7f0mLflMCgtxwaF0CRaAGGdi57oW8elS+HJhkkcfuvllJv
	KFpC9xx6+gPnnuRm3XkgY/1yt5EH5qE=
Message-ID: <d4b7344b-1225-ed0f-b2f4-67bf1f4ace68@suse.com>
Date: Wed, 2 Aug 2023 06:47:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 18/25] tools/xenstore: don't use struct node_perms in
 struct node
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-19-jgross@suse.com>
 <41f92dc6-7d3f-9342-5521-cdb99d8ee405@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <41f92dc6-7d3f-9342-5521-cdb99d8ee405@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------P6KH9mfzd0GcRKzn0cBru0zS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------P6KH9mfzd0GcRKzn0cBru0zS
Content-Type: multipart/mixed; boundary="------------nBQ0uUdTaMDaq0ADEwermb9I";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <d4b7344b-1225-ed0f-b2f4-67bf1f4ace68@suse.com>
Subject: Re: [PATCH v3 18/25] tools/xenstore: don't use struct node_perms in
 struct node
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-19-jgross@suse.com>
 <41f92dc6-7d3f-9342-5521-cdb99d8ee405@xen.org>
In-Reply-To: <41f92dc6-7d3f-9342-5521-cdb99d8ee405@xen.org>

--------------nBQ0uUdTaMDaq0ADEwermb9I
Content-Type: multipart/mixed; boundary="------------0MuVBaBTXEAzJdHhWt1b2nl5"

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

T24gMDEuMDguMjMgMjM6MjksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
cGVuIGNvZGUgc3RydWN0IG5vZGVfcGVybXMgaW4gc3RydWN0IG5vZGUgaW4gb3JkZXIgdG8g
cHJlcGFyZSB1c2luZw0KPj4gc3RydWN0IG5vZGVfaGRyIGluIHN0cnVjdCBub2RlLg0KPj4N
Cj4+IEFkZCB0d28gaGVscGVycyB0byB0cmFuc2ZlciBwZXJtaXNzaW9ucyBiZXR3ZWVuIHN0
cnVjdCBub2RlIGFuZCBzdHJ1Y3QNCj4+IG5vZGVfcGVybXMuDQo+Pg0KPj4gU2lnbmVkLW9m
Zi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBWMjoN
Cj4+IC0gbmV3IHBhdGNoDQo+PiAtLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3Jl
ZF9jb3JlLmPCoMKgwqDCoMKgwqDCoCB8IDc2ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0t
DQo+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5owqDCoMKgwqDCoMKgwqAg
fCAyMSArKysrKystDQo+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmPC
oMKgwqDCoMKgIHwgMTMgKystLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF90
cmFuc2FjdGlvbi5jIHzCoCA4ICstLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVk
X3dhdGNoLmPCoMKgwqDCoMKgwqAgfMKgIDcgKystDQo+PiDCoCA1IGZpbGVzIGNoYW5nZWQs
IDc1IGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQg
YS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jIGIvdG9vbHMveGVuc3RvcmUveGVu
c3RvcmVkX2NvcmUuYw0KPj4gaW5kZXggODZiN2M5YmYzNi4uYzcyZmMwYzcyNSAxMDA2NDQN
Cj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMNCj4+ICsrKyBiL3Rv
b2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMNCj4+IEBAIC03MzUsNyArNzM1LDcgQEAg
c3RydWN0IG5vZGUgKnJlYWRfbm9kZShzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgY29uc3Qg
dm9pZCANCj4+ICpjdHgsDQo+PiDCoMKgwqDCoMKgIC8qIERhdGFsZW4sIGNoaWxkbGVuLCBu
dW1iZXIgb2YgcGVybWlzc2lvbnMgKi8NCj4+IMKgwqDCoMKgwqAgbm9kZS0+Z2VuZXJhdGlv
biA9IGhkci0+Z2VuZXJhdGlvbjsNCj4+IC3CoMKgwqAgbm9kZS0+cGVybXMubnVtID0gaGRy
LT5udW1fcGVybXM7DQo+PiArwqDCoMKgIG5vZGUtPm51bV9wZXJtcyA9IGhkci0+bnVtX3Bl
cm1zOw0KPj4gwqDCoMKgwqDCoCBub2RlLT5kYXRhbGVuID0gaGRyLT5kYXRhbGVuOw0KPj4g
wqDCoMKgwqDCoCBub2RlLT5jaGlsZGxlbiA9IGhkci0+Y2hpbGRsZW47DQo+PiDCoMKgwqDC
oMKgIG5vZGUtPmFjYy5kb21pZCA9IHBlcm1zX2Zyb21fbm9kZV9oZHIoaGRyKS0+aWQ7DQo+
PiBAQCAtNzQzLDggKzc0Myw4IEBAIHN0cnVjdCBub2RlICpyZWFkX25vZGUoc3RydWN0IGNv
bm5lY3Rpb24gKmNvbm4sIGNvbnN0IHZvaWQgDQo+PiAqY3R4LA0KPj4gwqDCoMKgwqDCoCAv
KiBDb3B5IG5vZGUgZGF0YSB0byBuZXcgbWVtb3J5IGFyZWEsIHN0YXJ0aW5nIHdpdGggcGVy
bWlzc2lvbnMuICovDQo+PiDCoMKgwqDCoMKgIHNpemUgLT0gc2l6ZW9mKCpoZHIpOw0KPj4g
LcKgwqDCoCBub2RlLT5wZXJtcy5wID0gdGFsbG9jX21lbWR1cChub2RlLCBwZXJtc19mcm9t
X25vZGVfaGRyKGhkciksIHNpemUpOw0KPj4gLcKgwqDCoCBpZiAobm9kZS0+cGVybXMucCA9
PSBOVUxMKSB7DQo+PiArwqDCoMKgIG5vZGUtPnBlcm1zID0gdGFsbG9jX21lbWR1cChub2Rl
LCBwZXJtc19mcm9tX25vZGVfaGRyKGhkciksIHNpemUpOw0KPj4gK8KgwqDCoCBpZiAobm9k
ZS0+cGVybXMgPT0gTlVMTCkgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGVycm5vID0gRU5P
TUVNOw0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZXJyb3I7DQo+PiDCoMKgwqDCoMKg
IH0NCj4+IEBAIC03NTcsNyArNzU3LDcgQEAgc3RydWN0IG5vZGUgKnJlYWRfbm9kZShzdHJ1
Y3QgY29ubmVjdGlvbiAqY29ubiwgY29uc3Qgdm9pZCANCj4+ICpjdHgsDQo+PiDCoMKgwqDC
oMKgwqDCoMKgwqAgbm9kZS0+YWNjLm1lbW9yeSA9IDA7DQo+PiDCoMKgwqDCoMKgIC8qIERh
dGEgaXMgYmluYXJ5IGJsb2IgKHVzdWFsbHkgYXNjaWksIG5vIG51bCkuICovDQo+PiAtwqDC
oMKgIG5vZGUtPmRhdGEgPSBub2RlLT5wZXJtcy5wICsgaGRyLT5udW1fcGVybXM7DQo+PiAr
wqDCoMKgIG5vZGUtPmRhdGEgPSBub2RlLT5wZXJtcyArIGhkci0+bnVtX3Blcm1zOw0KPj4g
wqDCoMKgwqDCoCAvKiBDaGlsZHJlbiBpcyBzdHJpbmdzLCBudWwgc2VwYXJhdGVkLiAqLw0K
Pj4gwqDCoMKgwqDCoCBub2RlLT5jaGlsZHJlbiA9IG5vZGUtPmRhdGEgKyBub2RlLT5kYXRh
bGVuOw0KPj4gQEAgLTc5Niw3ICs3OTYsNyBAQCBpbnQgd3JpdGVfbm9kZV9yYXcoc3RydWN0
IGNvbm5lY3Rpb24gKmNvbm4sIGNvbnN0IGNoYXIgDQo+PiAqZGJfbmFtZSwNCj4+IMKgwqDC
oMKgwqDCoMKgwqDCoCByZXR1cm4gZXJybm87DQo+PiDCoMKgwqDCoMKgIHNpemUgPSBzaXpl
b2YoKmhkcikNCj4+IC3CoMKgwqDCoMKgwqDCoCArIG5vZGUtPnBlcm1zLm51bSAqIHNpemVv
Zihub2RlLT5wZXJtcy5wWzBdKQ0KPj4gK8KgwqDCoMKgwqDCoMKgICsgbm9kZS0+bnVtX3Bl
cm1zICogc2l6ZW9mKG5vZGUtPnBlcm1zWzBdKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgICsg
bm9kZS0+ZGF0YWxlbiArIG5vZGUtPmNoaWxkbGVuOw0KPj4gwqDCoMKgwqDCoCAvKiBDYWxs
IGRvbWFpbl9tYXhfY2hrKCkgaW4gYW55IGNhc2UgaW4gb3JkZXIgdG8gcmVjb3JkIG1heCB2
YWx1ZXMuICovDQo+PiBAQCAtODEzLDEzICs4MTMsMTMgQEAgaW50IHdyaXRlX25vZGVfcmF3
KHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBjb25zdCBjaGFyIA0KPj4gKmRiX25hbWUsDQo+
PiDCoMKgwqDCoMKgIGhkciA9IGRhdGE7DQo+PiDCoMKgwqDCoMKgIGhkci0+Z2VuZXJhdGlv
biA9IG5vZGUtPmdlbmVyYXRpb247DQo+PiAtwqDCoMKgIGhkci0+bnVtX3Blcm1zID0gbm9k
ZS0+cGVybXMubnVtOw0KPj4gK8KgwqDCoCBoZHItPm51bV9wZXJtcyA9IG5vZGUtPm51bV9w
ZXJtczsNCj4+IMKgwqDCoMKgwqAgaGRyLT5kYXRhbGVuID0gbm9kZS0+ZGF0YWxlbjsNCj4+
IMKgwqDCoMKgwqAgaGRyLT5jaGlsZGxlbiA9IG5vZGUtPmNoaWxkbGVuOw0KPj4gwqDCoMKg
wqDCoCBwID0gcGVybXNfZnJvbV9ub2RlX2hkcihoZHIpOw0KPj4gLcKgwqDCoCBtZW1jcHko
cCwgbm9kZS0+cGVybXMucCwgbm9kZS0+cGVybXMubnVtICogc2l6ZW9mKCpub2RlLT5wZXJt
cy5wKSk7DQo+PiAtwqDCoMKgIHAgKz0gbm9kZS0+cGVybXMubnVtICogc2l6ZW9mKCpub2Rl
LT5wZXJtcy5wKTsNCj4+ICvCoMKgwqAgbWVtY3B5KHAsIG5vZGUtPnBlcm1zLCBub2RlLT5u
dW1fcGVybXMgKiBzaXplb2YoKm5vZGUtPnBlcm1zKSk7DQo+PiArwqDCoMKgIHAgKz0gbm9k
ZS0+bnVtX3Blcm1zICogc2l6ZW9mKCpub2RlLT5wZXJtcyk7DQo+PiDCoMKgwqDCoMKgIG1l
bWNweShwLCBub2RlLT5kYXRhLCBub2RlLT5kYXRhbGVuKTsNCj4+IMKgwqDCoMKgwqAgcCAr
PSBub2RlLT5kYXRhbGVuOw0KPj4gwqDCoMKgwqDCoCBtZW1jcHkocCwgbm9kZS0+Y2hpbGRy
ZW4sIG5vZGUtPmNoaWxkbGVuKTsNCj4+IEBAIC05MDAsNiArOTAwLDcgQEAgc3RhdGljIGlu
dCBhc2tfcGFyZW50cyhzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgY29uc3Qgdm9pZCANCj4+
ICpjdHgsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFy
ICpuYW1lLCB1bnNpZ25lZCBpbnQgKnBlcm0pDQo+PiDCoCB7DQo+PiDCoMKgwqDCoMKgIHN0
cnVjdCBub2RlICpub2RlOw0KPj4gK8KgwqDCoCBzdHJ1Y3Qgbm9kZV9wZXJtcyBwZXJtczsN
Cj4+IMKgwqDCoMKgwqAgZG8gew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIG5hbWUgPSBnZXRf
cGFyZW50KGN0eCwgbmFtZSk7DQo+PiBAQCAtOTE5LDcgKzkyMCw4IEBAIHN0YXRpYyBpbnQg
YXNrX3BhcmVudHMoc3RydWN0IGNvbm5lY3Rpb24gKmNvbm4sIGNvbnN0IHZvaWQgDQo+PiAq
Y3R4LA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4gwqDCoMKgwqDCoCB9
DQo+PiAtwqDCoMKgICpwZXJtID0gcGVybV9mb3JfY29ubihjb25uLCAmbm9kZS0+cGVybXMp
Ow0KPj4gK8KgwqDCoCBub2RlX3RvX25vZGVfcGVybXMobm9kZSwgJnBlcm1zKTsNCj4+ICvC
oMKgwqAgKnBlcm0gPSBwZXJtX2Zvcl9jb25uKGNvbm4sICZwZXJtcyk7DQo+IA0KPiBUaGlz
IHNlZW1zIHRvIGJlIGEgY29tbW9uIHBhdHRlcm4uIENhbiB5b3UgaW50cm9kdWNlIGEgd3Jh
cHBlcj8NCg0KT2theS4NCg0KPiANCj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7DQo+PiDCoCB9
DQo+PiBAQCAtOTU2LDExICs5NTgsMTMgQEAgc3RhdGljIHN0cnVjdCBub2RlICpnZXRfbm9k
ZShzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgcGVybSkNCj4+IMKgIHsNCj4+IMKgwqDCoMKg
wqAgc3RydWN0IG5vZGUgKm5vZGU7DQo+PiArwqDCoMKgIHN0cnVjdCBub2RlX3Blcm1zIHBl
cm1zOw0KPj4gwqDCoMKgwqDCoCBub2RlID0gcmVhZF9ub2RlKGNvbm4sIGN0eCwgbmFtZSk7
DQo+PiDCoMKgwqDCoMKgIC8qIElmIHdlIGRvbid0IGhhdmUgcGVybWlzc2lvbiwgd2UgZG9u
J3QgaGF2ZSBub2RlLiAqLw0KPj4gwqDCoMKgwqDCoCBpZiAobm9kZSkgew0KPj4gLcKgwqDC
oMKgwqDCoMKgIGlmICgocGVybV9mb3JfY29ubihjb25uLCAmbm9kZS0+cGVybXMpICYgcGVy
bSkgIT0gcGVybSkgew0KPj4gK8KgwqDCoMKgwqDCoMKgIG5vZGVfdG9fbm9kZV9wZXJtcyhu
b2RlLCAmcGVybXMpOw0KPj4gK8KgwqDCoMKgwqDCoMKgIGlmICgocGVybV9mb3JfY29ubihj
b25uLCAmcGVybXMpICYgcGVybSkgIT0gcGVybSkgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgZXJybm8gPSBFQUNDRVM7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBub2RlID0gTlVMTDsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9DQo+PiBAQCAtMTQzNCwx
NCArMTQzOCwxNCBAQCBzdGF0aWMgc3RydWN0IG5vZGUgKmNvbnN0cnVjdF9ub2RlKHN0cnVj
dCBjb25uZWN0aW9uIA0KPj4gKmNvbm4sIGNvbnN0IHZvaWQgKmN0eCwNCj4+IMKgwqDCoMKg
wqDCoMKgwqDCoCBub2RlLT5uYW1lID0gdGFsbG9jX3N0ZWFsKG5vZGUsIG5hbWVzW2xldmVs
cyAtIDFdKTsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBJbmhlcml0IHBlcm1pc3Npb25z
LCB1bnByaXYgZG9tYWlucyBvd24gd2hhdCB0aGV5IGNyZWF0ZS4gKi8NCj4+IC3CoMKgwqDC
oMKgwqDCoCBub2RlLT5wZXJtcy5udW0gPSBwYXJlbnQtPnBlcm1zLm51bTsNCj4+IC3CoMKg
wqDCoMKgwqDCoCBub2RlLT5wZXJtcy5wID0gdGFsbG9jX21lbWR1cChub2RlLCBwYXJlbnQt
PnBlcm1zLnAsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgbm9kZS0+cGVybXMubnVtICoNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaXplb2YoKm5vZGUtPnBlcm1zLnAp
KTsNCj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAoIW5vZGUtPnBlcm1zLnApDQo+PiArwqDCoMKg
wqDCoMKgwqAgbm9kZS0+bnVtX3Blcm1zID0gcGFyZW50LT5udW1fcGVybXM7DQo+PiArwqDC
oMKgwqDCoMKgwqAgbm9kZS0+cGVybXMgPSB0YWxsb2NfbWVtZHVwKG5vZGUsIHBhcmVudC0+
cGVybXMsDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBub2RlLT5udW1fcGVybXMgKg0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZW9mKCpub2RlLT5wZXJtcykpOw0KPj4gK8KgwqDC
oMKgwqDCoMKgIGlmICghbm9kZS0+cGVybXMpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBnb3RvIG5vbWVtOw0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChkb21haW5faXNf
dW5wcml2aWxlZ2VkKGNvbm4pKQ0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbm9kZS0+
cGVybXMucFswXS5pZCA9IGNvbm4tPmlkOw0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
bm9kZS0+cGVybXNbMF0uaWQgPSBjb25uLT5pZDsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAv
KiBObyBjaGlsZHJlbiwgbm8gZGF0YSAqLw0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIG5vZGUt
PmNoaWxkcmVuID0gbm9kZS0+ZGF0YSA9IE5VTEw7DQo+PiBAQCAtMTc2NCwxMiArMTc2OCwx
NCBAQCBzdGF0aWMgaW50IGRvX2dldF9wZXJtcyhjb25zdCB2b2lkICpjdHgsIHN0cnVjdCAN
Cj4+IGNvbm5lY3Rpb24gKmNvbm4sDQo+PiDCoMKgwqDCoMKgIHN0cnVjdCBub2RlICpub2Rl
Ow0KPj4gwqDCoMKgwqDCoCBjaGFyICpzdHJpbmdzOw0KPj4gwqDCoMKgwqDCoCB1bnNpZ25l
ZCBpbnQgbGVuOw0KPj4gK8KgwqDCoCBzdHJ1Y3Qgbm9kZV9wZXJtcyBwZXJtczsNCj4+IMKg
wqDCoMKgwqAgbm9kZSA9IGdldF9zcGVjX25vZGUoY29ubiwgY3R4LCBvbmVhcmcoaW4pLCBO
VUxMLCBYU19QRVJNX1JFQUQpOw0KPj4gwqDCoMKgwqDCoCBpZiAoIW5vZGUpDQo+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycm5vOw0KPj4gLcKgwqDCoCBzdHJpbmdzID0gcGVy
bXNfdG9fc3RyaW5ncyhub2RlLCAmbm9kZS0+cGVybXMsICZsZW4pOw0KPj4gK8KgwqDCoCBu
b2RlX3RvX25vZGVfcGVybXMobm9kZSwgJnBlcm1zKTsNCj4+ICvCoMKgwqAgc3RyaW5ncyA9
IHBlcm1zX3RvX3N0cmluZ3Mobm9kZSwgJnBlcm1zLCAmbGVuKTsNCj4gDQo+IFRoaXMgaXMg
dGhlIG9ubHkgdXNlciBvZiBwZXJtc190b19zdHJpbmdzKCkuIFNvIGNhbiB3ZSBqdXN0IHBh
c3MgdGhlIG5vZGUgcmF0aGVyIA0KPiB0aGFuIHRoZSBwZXJtcz8gVGhpcyB3b3VsZCBhdm9p
ZCB0aGUgY2FsbCB0byBub2RlX3RvX25vZGVfcGVybXMoKS4NCg0KRmluZSB3aXRoIG1lLg0K
DQoNCkp1ZXJnZW4NCg==
--------------0MuVBaBTXEAzJdHhWt1b2nl5
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0MuVBaBTXEAzJdHhWt1b2nl5--

--------------nBQ0uUdTaMDaq0ADEwermb9I--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTJ38gFAwAAAAAACgkQsN6d1ii/Ey+B
Ogf/WiJkuqRyVrT5rjg1Qe2d0PLxHrVMl0NoCjMLqFYoec47bZWYK13SLBoeqRd2LsgJzQi2uyk5
L8TwdFBOAyYNLHdxTe+kzmQYYgkEst5yPAUL058T0DmofS05Al73Yzdyq8LOGRMNp+37U36+d/4j
aUK9H2v5zkhxor6RXuztJ/rEED66w99J6ApHIodJxiwRTekcDWy6w+NIYW0aSWt+XI0/8OYZXi1L
q+2ULXtW8mcu34PDgrpofCbdJG+3oX1tCyZi+rID/bre3i6oFcOTCfGIRR7yL87K9kdl+VuFnf4v
dXVlgxXismgLXMNGCYgPia9nhDUYlGv/ISXTYHQA0A==
=Rrs9
-----END PGP SIGNATURE-----

--------------P6KH9mfzd0GcRKzn0cBru0zS--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 04:50:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 04:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574688.900197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3of-0001Vj-L2; Wed, 02 Aug 2023 04:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574688.900197; Wed, 02 Aug 2023 04:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3of-0001Vc-IX; Wed, 02 Aug 2023 04:50:33 +0000
Received: by outflank-mailman (input) for mailman id 574688;
 Wed, 02 Aug 2023 04: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=HuXe=DT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qR3oe-0001VS-54
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 04:50:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ba25f9a-30f0-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 06:50:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BFE391F38D;
 Wed,  2 Aug 2023 04:50:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9A06C13909;
 Wed,  2 Aug 2023 04:50:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OowjJJbgyWT+VgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 02 Aug 2023 04:50:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ba25f9a-30f0-11ee-b25e-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1690951830; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=O9bKgcdWKomLWy0HXyWDVTSHUSkrbXKE1jyDrwiAGAc=;
	b=BcJyH7XoKhEmX1vTLSnJCMFCzupA/m8NPozRqPVcC+aitAn4jgZd1uoIz2lG+NDl0D9Cdt
	XW37OcfWWUUpuQ7I+19klbizIVOv71lXNIkEzAbVPC0DXRzGFvtTwIc2BRNGOZ0Hdk+Ljk
	yCyqNXX6bhVFjtgNCT2AUK32ZV/mZRM=
Message-ID: <09811df6-96da-c1a0-be1c-24e2f6d6dacb@suse.com>
Date: Wed, 2 Aug 2023 06:50:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 19/25] tools/xenstore: use struct node_hdr in struct
 node
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-20-jgross@suse.com>
 <dc888f49-0e9e-cce3-541e-9eb6cc6d599b@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <dc888f49-0e9e-cce3-541e-9eb6cc6d599b@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------43R0FoyWmr04auMdovkISPsS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------43R0FoyWmr04auMdovkISPsS
Content-Type: multipart/mixed; boundary="------------Zjb7PCGdBmkKPLGeyTjhW6GI";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <09811df6-96da-c1a0-be1c-24e2f6d6dacb@suse.com>
Subject: Re: [PATCH v3 19/25] tools/xenstore: use struct node_hdr in struct
 node
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-20-jgross@suse.com>
 <dc888f49-0e9e-cce3-541e-9eb6cc6d599b@xen.org>
In-Reply-To: <dc888f49-0e9e-cce3-541e-9eb6cc6d599b@xen.org>

--------------Zjb7PCGdBmkKPLGeyTjhW6GI
Content-Type: multipart/mixed; boundary="------------HGEQ8N0lasvqxxGD0fBYFuGl"

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

T24gMDEuMDguMjMgMjM6MzQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBk
aWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYyBiL3Rvb2xzL3hl
bnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMNCj4+IGluZGV4IGM3MmZjMGM3MjUuLjQwNGVjZDBj
NjIgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+
PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+PiBAQCAtNTU1LDYg
KzU1NSwxMiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplX2ZkcyhpbnQgKnBfc29ja19wb2xs
ZmRfaWR4LCBpbnQgDQo+PiAqcHRpbWVvdXQpDQo+PiDCoMKgwqDCoMKgIH0NCj4+IMKgIH0N
Cj4+ICtzdGF0aWMgc2l6ZV90IGNhbGNfbm9kZV9hY2Nfc2l6ZShzdHJ1Y3Qgbm9kZV9oZHIg
KmhkcikNCj4gDQo+IFRoZSBwYXJhbWV0ZXIgY2FuIGJlIGNvbnN0Lg0KDQpJJ3ZlIGNoYW5n
ZWQgdGhpcyBhbHJlYWR5IGluIG15IHBlbmRpbmcgVjQuIDotKQ0KDQo+IA0KPj4gK3sNCj4+
ICvCoMKgwqAgcmV0dXJuIHNpemVvZigqaGRyKSArIGhkci0+bnVtX3Blcm1zICogc2l6ZW9m
KHN0cnVjdCB4c19wZXJtaXNzaW9ucykgKw0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIGhk
ci0+ZGF0YWxlbiArIGhkci0+Y2hpbGRsZW47DQo+PiArfQ0KPj4gKw0KPiANCj4gWy4uLl0N
Cj4gDQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuaCBi
L3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmgNCj4+IGluZGV4IDljYjRjMmYzZWIu
LmFkZjhhNzg1ZmMgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRf
Y29yZS5oDQo+PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5oDQo+PiBA
QCAtMTgxLDYgKzE4MSw3IEBAIGV4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGNvbm5lY3Rpb25z
Ow0KPj4gwqDCoCAqLw0KPj4gwqAgc3RydWN0IG5vZGVfaGRyIHsNCj4+IMKgwqDCoMKgwqAg
dWludDY0X3QgZ2VuZXJhdGlvbjsNCj4+ICsjZGVmaW5lIE5PX0dFTkVSQVRJT04gfigodWlu
dDY0X3QpMCkNCj4+IMKgwqDCoMKgwqAgdWludDE2X3QgbnVtX3Blcm1zOw0KPj4gwqDCoMKg
wqDCoCB1aW50MTZfdCBkYXRhbGVuOw0KPj4gwqDCoMKgwqDCoCB1aW50MzJfdCBjaGlsZGxl
bjsNCj4+IEBAIC0xOTcsNiArMTk4LDEwIEBAIHN0cnVjdCBub2RlX2FjY291bnRfZGF0YSB7
DQo+PiDCoCB9Ow0KPj4gwqAgc3RydWN0IG5vZGUgew0KPj4gK8KgwqDCoCAvKiBEYXRhIGRp
cmVjdCBmb3IgZGF0YSBiYXNlLiAqLw0KPiANCj4gSSBjYW4ndCBwYXJzZSBpdC4gRGlkIHlv
dSBtZWFuICdmcm9tJyByYXRoZXIgdGhhbiAnZm9yJz8NCg0KSSdsbCBjaGFuZ2UgaXQgdG86
DQoNCgkvKiBDb3BpZWQgdG8vZnJvbSBkYXRhIGJhc2UuICovDQoNCg0KSnVlcmdlbg0KDQo=

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

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------HGEQ8N0lasvqxxGD0fBYFuGl--

--------------Zjb7PCGdBmkKPLGeyTjhW6GI--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTJ4JYFAwAAAAAACgkQsN6d1ii/Ey9s
LwgAmF49Pj9dMd2PzOTmoW5Gj96J+onAMnhMqnZx8uCbqdwiEL1ETWhIzelYw/45PW16nHxqMBC7
LAKPkPM3DIO4hJsFn7dR28ga3R1IUvswnMK0nnJ3xYJpb+vMN+gz9OaSkoFBDx21TTUFPfZFVaMa
0rQ1jDYARaf/LrXChEpc4Yt51Rn2aoqaiEp9Xe3au5uPH8H250lxGtztQlbCmhwfb95rTM9k6RdB
w8V70KYvwnXdcC/PtaEUYx7jZOFwJz6FUjjD3WreX42NY+efKxdfVOo0xaTnad2LGMt6EeZf1NCS
xnwkTmkckgW/XIlonV89KaD3GdWSLTPXljKsdJbKHQ==
=RvDv
-----END PGP SIGNATURE-----

--------------43R0FoyWmr04auMdovkISPsS--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 04:51:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 04:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574693.900207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3pV-00026I-38; Wed, 02 Aug 2023 04:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574693.900207; Wed, 02 Aug 2023 04: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 1qR3pV-00026B-0M; Wed, 02 Aug 2023 04:51:25 +0000
Received: by outflank-mailman (input) for mailman id 574693;
 Wed, 02 Aug 2023 04:51:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HuXe=DT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qR3pU-00025i-5Q
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 04:51:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 387eb699-30f0-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 06:51:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 408B021B73;
 Wed,  2 Aug 2023 04:51:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 16FD413909;
 Wed,  2 Aug 2023 04:51:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PFgxBMfgyWRLVwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 02 Aug 2023 04:51:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 387eb699-30f0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1690951879; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=J4PSGMwWbk4P8w7ztqk0CAWrzy5bIeDcfk2lLlw0U0s=;
	b=pp5SnA66a/BYX7FpEb6/kmCiTrCgeOCYAPnZfevFB8WCht6yu6g6xe1GIDnZoW32na+7xB
	Oo+a53wHHld8gjEp0y8K702oDF6mknzlWjkVyfTtAKBDw8iy3tBZiAzYmDR/qX9dltyyUC
	FLA4O6dr6L9Rxm3uTjXNDHW6Cw6mFFM=
Message-ID: <e40bcd91-a007-d72c-de8e-6db7ac00f0c4@suse.com>
Date: Wed, 2 Aug 2023 06:51:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 20/25] tools/xenstore: alloc new memory in
 domain_adjust_node_perms()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-21-jgross@suse.com>
 <eee34bcc-2937-4a1f-b326-4a21c9db2173@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <eee34bcc-2937-4a1f-b326-4a21c9db2173@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------xXcQ60UYAMJuYm0d5bkISI2M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------xXcQ60UYAMJuYm0d5bkISI2M
Content-Type: multipart/mixed; boundary="------------bNNvoBGTLP7dHvGY06PeJjGQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e40bcd91-a007-d72c-de8e-6db7ac00f0c4@suse.com>
Subject: Re: [PATCH v3 20/25] tools/xenstore: alloc new memory in
 domain_adjust_node_perms()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-21-jgross@suse.com>
 <eee34bcc-2937-4a1f-b326-4a21c9db2173@xen.org>
In-Reply-To: <eee34bcc-2937-4a1f-b326-4a21c9db2173@xen.org>

--------------bNNvoBGTLP7dHvGY06PeJjGQ
Content-Type: multipart/mixed; boundary="------------n5g42DvTrRRlpIu0JpklBvq3"

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

T24gMDEuMDguMjMgMjM6NDYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJ
biBvcmRlciB0byBhdm9pZCBtb2RpZnlpbmcgdGhlIG5vZGUgZGF0YSBpbiB0aGUgZGF0YSBi
YXNlIGluIGNhc2UgYQ0KPj4gZG9tYWluIGlzIGdvbmUsIGxldCBkb21haW5fYWRqdXN0X25v
ZGVfcGVybXMoKSBhbGxvY2F0ZSBuZXcgbWVtb3J5IGZvcg0KPj4gdGhlIHBlcm1pc3Npb25z
IGluIGNhc2UgdGhleSBuZWVkIHRvIGJlIG1vZGlmaWVkLiBBcyB0aGlzIHNob3VsZA0KPj4g
aGFwcGVuIG9ubHkgaW4gdmVyeSByYXJlIGNhc2VzLCBpdCBpcyBmaW5lIHRvIGRvIHRoaXMg
ZXZlbiB3aGVuIGhhdmluZw0KPj4gY29waWVkIHRoZSBub2RlIGRhdGEgYWxyZWFkeS4NCj4+
DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+
PiAtLS0NCj4+IFYzOg0KPj4gLSBuZXcgcGF0Y2gNCj4+IC0tLQ0KPj4gwqAgdG9vbHMveGVu
c3RvcmUveGVuc3RvcmVkX2NvcmUuY8KgwqAgfCAxMCArKysrKy0tLS0tDQo+PiDCoCB0b29s
cy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmMgfCAxOSArKysrKysrKysrKysrKystLS0t
DQo+PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z
KC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3Jl
LmMgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+PiBpbmRleCA0MDRlY2Qw
YzYyLi5lYTNkMjBhMzcyIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUveGVuc3Rv
cmVkX2NvcmUuYw0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYw0K
Pj4gQEAgLTc1MSw2ICs3NTEsMTEgQEAgc3RydWN0IG5vZGUgKnJlYWRfbm9kZShzdHJ1Y3Qg
Y29ubmVjdGlvbiAqY29ubiwgY29uc3QgDQo+PiB2b2lkICpjdHgsDQo+PiDCoMKgwqDCoMKg
wqDCoMKgwqAgZ290byBlcnJvcjsNCj4+IMKgwqDCoMKgwqAgfQ0KPj4gK8KgwqDCoCAvKiBE
YXRhIGlzIGJpbmFyeSBibG9iICh1c3VhbGx5IGFzY2lpLCBubyBudWwpLiAqLw0KPj4gK8Kg
wqDCoCBub2RlLT5kYXRhID0gbm9kZS0+cGVybXMgKyBoZHItPm51bV9wZXJtczsNCj4+ICvC
oMKgwqAgLyogQ2hpbGRyZW4gaXMgc3RyaW5ncywgbnVsIHNlcGFyYXRlZC4gKi8NCj4+ICvC
oMKgwqAgbm9kZS0+Y2hpbGRyZW4gPSBub2RlLT5kYXRhICsgbm9kZS0+aGRyLmRhdGFsZW47
DQo+PiArDQo+IA0KPiBJdCB0b29rIG1lIGEgd2hpbGUgdG8gdW5kZXJzdGFuZCB3aHkgeW91
IG1vdmUgdGhlIGxpbmVzIGFib3ZlLiBJIHRpaG5rIGl0IHdvdWxkIA0KPiBiZSB3b3J0aCBk
b2N1bWVudGluZyBpbiB0aGUgY29kZSAocG9zc2libHkgb24gdG9wIG9mIHRoZSBkZWNsYXJh
dGlvbiANCj4gZG9tYWluX2FkanVzdF9ub2RlX3Blcm1zKCkpIHRoYXQgZG9tYWluX2FkanVz
dF9ub2RlX3Blcm1zKCkgbWF5IHJlLWFsbG9jYXRlIHRoZSANCj4gcGVybWlzc2lvbnMuDQoN
Ck9rYXkuDQoNCj4gDQo+PiDCoMKgwqDCoMKgIGlmIChkb21haW5fYWRqdXN0X25vZGVfcGVy
bXMobm9kZSkpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBlcnJvcjsNCj4+IEBAIC03
NTgsMTEgKzc2Myw2IEBAIHN0cnVjdCBub2RlICpyZWFkX25vZGUoc3RydWN0IGNvbm5lY3Rp
b24gKmNvbm4sIGNvbnN0IA0KPj4gdm9pZCAqY3R4LA0KPj4gwqDCoMKgwqDCoCBpZiAobm9k
ZS0+YWNjLmRvbWlkICE9IGdldF9ub2RlX293bmVyKG5vZGUpKQ0KPj4gwqDCoMKgwqDCoMKg
wqDCoMKgIG5vZGUtPmFjYy5tZW1vcnkgPSAwOw0KPj4gLcKgwqDCoCAvKiBEYXRhIGlzIGJp
bmFyeSBibG9iICh1c3VhbGx5IGFzY2lpLCBubyBudWwpLiAqLw0KPj4gLcKgwqDCoCBub2Rl
LT5kYXRhID0gbm9kZS0+cGVybXMgKyBoZHItPm51bV9wZXJtczsNCj4+IC3CoMKgwqAgLyog
Q2hpbGRyZW4gaXMgc3RyaW5ncywgbnVsIHNlcGFyYXRlZC4gKi8NCj4+IC3CoMKgwqAgbm9k
ZS0+Y2hpbGRyZW4gPSBub2RlLT5kYXRhICsgbm9kZS0+aGRyLmRhdGFsZW47DQo+PiAtDQo+
PiDCoMKgwqDCoMKgIGlmIChhY2Nlc3Nfbm9kZShjb25uLCBub2RlLCBOT0RFX0FDQ0VTU19S
RUFELCBOVUxMKSkNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycm9yOw0KPj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYyANCj4+IGIvdG9v
bHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5jDQo+PiBpbmRleCBmZGYxMDk1YWNiLi5j
ZGVmNmVmZWY0IDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2Rv
bWFpbi5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmMNCj4+
IEBAIC0xMzM0LDEzICsxMzM0LDI0IEBAIGludCBkb21haW5fYWxsb2NfcGVybXJlZnMoc3Ry
dWN0IG5vZGVfcGVybXMgKnBlcm1zKQ0KPj4gwqAgaW50IGRvbWFpbl9hZGp1c3Rfbm9kZV9w
ZXJtcyhzdHJ1Y3Qgbm9kZSAqbm9kZSkNCj4+IMKgIHsNCj4+IMKgwqDCoMKgwqAgdW5zaWdu
ZWQgaW50IGk7DQo+PiArwqDCoMKgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyAqcGVybXMgPSBu
b2RlLT5wZXJtczsNCj4+ICvCoMKgwqAgYm9vbCBjb3BpZWQgPSBmYWxzZTsNCj4+IMKgwqDC
oMKgwqAgZm9yIChpID0gMTsgaSA8IG5vZGUtPmhkci5udW1fcGVybXM7IGkrKykgew0KPj4g
LcKgwqDCoMKgwqDCoMKgIGlmIChub2RlLT5wZXJtc1tpXS5wZXJtcyAmIFhTX1BFUk1fSUdO
T1JFKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIGlmICgocGVybXNbaV0ucGVybXMgJiBYU19QRVJN
X0lHTk9SRSkgfHwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNoa19kb21haW5fZ2Vu
ZXJhdGlvbihwZXJtc1tpXS5pZCwgbm9kZS0+aGRyLmdlbmVyYXRpb24pKQ0KPj4gwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7DQo+PiAtwqDCoMKgwqDCoMKgwqAgaWYg
KCFjaGtfZG9tYWluX2dlbmVyYXRpb24obm9kZS0+cGVybXNbaV0uaWQsDQo+PiAtwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbm9kZS0+aGRyLmdlbmVy
YXRpb24pKQ0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbm9kZS0+cGVybXNbaV0ucGVy
bXMgfD0gWFNfUEVSTV9JR05PUkU7DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFj
b3BpZWQpIHsNCj4gDQo+IFRoaXMgd2FudHMgYSBjb21lbnQgZXhwbGFpbiB3aHkgeW91IG5l
ZWQgdG8gY29weSBpdC4NCg0KT2theS4NCg0KDQpKdWVyZ2VuDQo=
--------------n5g42DvTrRRlpIu0JpklBvq3
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------n5g42DvTrRRlpIu0JpklBvq3--

--------------bNNvoBGTLP7dHvGY06PeJjGQ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTJ4MYFAwAAAAAACgkQsN6d1ii/Ey9d
rAf/QRNqqfEvhxbalOUwNxnFZ6G3YMDkovla43OEQ70WQNYjlGUEyG9u44CbtYh41nmELGUtoW85
6tg694PzGgo8uVnC3JGu4wyaEj7oG+aWmDhnhsSzXKx32JlKue/Y6XCdNcHWOvYMIQIYt8pAJRVf
25+5L7jgm8qbceRMc0FzZT2PYdbP4i3M2qIRNUjVIKPGJ9HTpjbTX7WYOv2EvmlGnAD+C/GIJ7BC
/2BjaNkZohs4EK40Yuxbb6txR44FmJD4aJ0TkCMp5MrTauGHH+88/UiGKYg8tbXzpjbU50MTVmUp
nhX431Vce5Qs2RRgaqkXCz7a2kNUb2AwCUz4j7OdIA==
=KVKY
-----END PGP SIGNATURE-----

--------------xXcQ60UYAMJuYm0d5bkISI2M--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 04:52:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 04:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574696.900218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3qu-0002fS-Da; Wed, 02 Aug 2023 04:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574696.900218; Wed, 02 Aug 2023 04:52:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR3qu-0002fL-Af; Wed, 02 Aug 2023 04:52:52 +0000
Received: by outflank-mailman (input) for mailman id 574696;
 Wed, 02 Aug 2023 04:52:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HuXe=DT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qR3qs-0002fB-MW
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 04:52:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e0183a3-30f0-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 06:52:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E7E9221B75;
 Wed,  2 Aug 2023 04:52:48 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B5CAB13909;
 Wed,  2 Aug 2023 04:52:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ZaLhKiDhyWTcVwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 02 Aug 2023 04:52:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e0183a3-30f0-11ee-b25e-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1690951968; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Fq7kb0HcM1QBcZeZMgFh4gEofAabwcbg7KEnZLeYvNE=;
	b=NpGWNZ6Z/Bu9Sq6AALiH9ARLzleGmj1WkyoabiNXoXrUREfrI3xur3zALWUCkJsVrJFjim
	jyv1B/a/kxr5hFW8ha4jy+/mJD2/+dUzWHA5B0/cHX/0yyFpHchzrw5yGxRJ1jVv9/QtD/
	WKabq8sgOcDEqRFGX6IPoiSX15gLdI0=
Message-ID: <1d4a41af-9a7c-baf5-7d40-0fbbf9229de6@suse.com>
Date: Wed, 2 Aug 2023 06:52:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 21/25] tools/xenstore: introduce read_node_nocopy()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-22-jgross@suse.com>
 <ffbb1cfc-e99b-6d45-f123-f347c5897c88@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <ffbb1cfc-e99b-6d45-f123-f347c5897c88@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XXHcZFzv1yJDvPvpI4C2NA5O"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XXHcZFzv1yJDvPvpI4C2NA5O
Content-Type: multipart/mixed; boundary="------------qWaLtQ1B0tw2ZgsA4hRAX6Ym";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <1d4a41af-9a7c-baf5-7d40-0fbbf9229de6@suse.com>
Subject: Re: [PATCH v3 21/25] tools/xenstore: introduce read_node_nocopy()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-22-jgross@suse.com>
 <ffbb1cfc-e99b-6d45-f123-f347c5897c88@xen.org>
In-Reply-To: <ffbb1cfc-e99b-6d45-f123-f347c5897c88@xen.org>

--------------qWaLtQ1B0tw2ZgsA4hRAX6Ym
Content-Type: multipart/mixed; boundary="------------OPUSvSJWRwikYmlSolbeTGRm"

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

T24gMDIuMDguMjMgMDA6MDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IFRpdGxlOiBJIGNhbid0IGZpbmQgcmVhZF9ub2RlX25vY29weSgpLiBJIGZvdW5k
IGEgcmVhZF9ub2RlX2NvbnN0KCkuIFdoaWNoIG5hbWUgDQo+IGRpZCB5b3UgaW50ZW5kIHRv
IHVzZT8NCg0KT2gsIHNvcnJ5IGZvciB0aGF0LiBJIHRoaW5rIHJlYWRfbm9kZV9jb25zdCgp
IGlzIHRoZSBiZXR0ZXIgY2hvaWNlLg0KDQo+IA0KPiBPbiAyNC8wNy8yMDIzIDEyOjAyLCBK
dWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gK3N0YXRpYyBpbnQgcmVhZF9ub2RlX2hlbHBlcihz
dHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgc3RydWN0IG5vZGUgKm5vZGUpDQo+PiArew0KPj4g
wqDCoMKgwqDCoCAvKiBEYXRhIGlzIGJpbmFyeSBibG9iICh1c3VhbGx5IGFzY2lpLCBubyBu
dWwpLiAqLw0KPj4gLcKgwqDCoCBub2RlLT5kYXRhID0gbm9kZS0+cGVybXMgKyBoZHItPm51
bV9wZXJtczsNCj4+ICvCoMKgwqAgbm9kZS0+ZGF0YSA9IG5vZGUtPnBlcm1zICsgbm9kZS0+
aGRyLm51bV9wZXJtczsNCj4+IMKgwqDCoMKgwqAgLyogQ2hpbGRyZW4gaXMgc3RyaW5ncywg
bnVsIHNlcGFyYXRlZC4gKi8NCj4+IMKgwqDCoMKgwqAgbm9kZS0+Y2hpbGRyZW4gPSBub2Rl
LT5kYXRhICsgbm9kZS0+aGRyLmRhdGFsZW47DQo+PiDCoMKgwqDCoMKgIGlmIChkb21haW5f
YWRqdXN0X25vZGVfcGVybXMobm9kZSkpDQo+PiAtwqDCoMKgwqDCoMKgwqAgZ290byBlcnJv
cjsNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLTE7DQo+IA0KPiBZb3UgYXJlIGVpdGhl
ciByZXR1cm5pbmcgMCBvciAtMSB3aGljaCBpcyB0aGVuIG9ubHkgdXNlZCBpbiBpZiAoIC4u
LiApLiBDYW4gd2UgDQo+IHNpbXBseSByZXR1cm4gYSBib29sZWFuICh0cnVlIGZvciBzdWNj
ZXNzLCBmYWxzZSBmb3IgYSBmYWlsdXJlKT8NCg0KRmluZSB3aXRoIG1lLg0KDQo+IA0KPiBU
aGUgcmVzdCBMR1RNLg0KDQpUaGFua3MsDQoNCg0KSnVlcmdlbg0KDQo=
--------------OPUSvSJWRwikYmlSolbeTGRm
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------OPUSvSJWRwikYmlSolbeTGRm--

--------------qWaLtQ1B0tw2ZgsA4hRAX6Ym--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTJ4SAFAwAAAAAACgkQsN6d1ii/Ey8K
igf8DW3KTxuvBxuJwVEeO1kHw0Ap45EHkTVr2xJwxcja1NlsGBuXb6dPc85b3fz8rFwGgZgUNuTC
W6PF6+TAll9QmtoLqw3O4eAZKm6XioE0petz9WO6EePLyyJ8lASV1/KW16p6AHa9S2Usotv4U5w7
EzHL7CA2506e0us/xSiFrt8+CDJPbI3/LdPVzbb5te1JXPIJSkoSRF9YPfFiJG4tqjiyMXs+3RgG
SBEpELpzx8yg+PH292iMWmtbix1QewmVunxyoHMS3Wk/vV7lSGyClMzLjgZQhUoHV6QQvPs6crnk
6SC4TR0EuMSMLbCvATVYffVlZAd9LmvNNTsPRPZzgA==
=4bG4
-----END PGP SIGNATURE-----

--------------XXHcZFzv1yJDvPvpI4C2NA5O--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 06:14:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 06:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574704.900228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR57I-00032j-4h; Wed, 02 Aug 2023 06:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574704.900228; Wed, 02 Aug 2023 06: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 1qR57I-00032c-1p; Wed, 02 Aug 2023 06:13:52 +0000
Received: by outflank-mailman (input) for mailman id 574704;
 Wed, 02 Aug 2023 06:13: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=4j5E=DT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qR57F-00032W-Qg
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 06:13:50 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe12::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bce8901e-30fb-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 08:13:46 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB8683.eurprd08.prod.outlook.com (2603:10a6:20b:563::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 06:13:43 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 06:13:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bce8901e-30fb-11ee-b25e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=POlnQ7PiXPHuezO7vc8Wineosa+11S/uSCLo/RAiAkrizh//25AKCzrF1tKbYR3UVpUacR3W2yqBhzwd8GH4oUTzjybBZixs+gR9ldxNSf/y7NFXde486p0MQC2+LApEjbC0ASYc0F3nvzjJ+qrGeZ1sHcWBCt/olLPkxwlXRAyetwZGQwkcR2mvlVMSoULBSzyv4viOPJFA73lLWfimIs9TwfyTDRskp8IIFURIW8Orv7qoQQ0SDZZwsJG9wQ3gLbkMk73QaQsozZoF6zxssogxST//vuw/KyVZg8WQFT5Tbe4wCwtSdajqZvOFEpWDTco7A9ztOjWss6E+TC57RA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ndeMOJpnV5l16pEpE8gpP+JmxPx03elHUu9IBQo0zVo=;
 b=jY7rm7twOOdLZuJ/tYI1lVUkxVMTh/c/qsIKwogkRXuyUdvm0ZoJi76tTxGZ8m/Fs3piFQ3cbkA1TR7fuKBznPUnNEeRofE5XTb3I5ycI90wDjXNUOMHNM64Vo6XCUdxa0bS7N8PoVgE29s+kAgbGvYCiZAwGxLW7z6eg8kyFnCWIBDD90j5EbYtdhlazX5j+rO+LsVvO6P1LtEdslnEsmKGNqNuU439tjs+mvc0YlE6i921W2gN5lzs2shQZl88pmKlgGOODJ7wDARhk1ZVWvo2f1F/WopEpAt15Bj1L2P8QpR7ltVnO1+Y/7Ys1m3MIIxHMVH6b+JBFl2I9d2huw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=ndeMOJpnV5l16pEpE8gpP+JmxPx03elHUu9IBQo0zVo=;
 b=6PYK/fFsrIqdkye56VaIOjNoDtxJPWi45Kscs2pvovW0eV/uZxBmRqwvg+y/2uxS1+VwkhjdgbSOAlOJcVfjSKPSI+cI7zZBujW41u5HF1dRGl8sIuYgxSEPaw7wW294DoQJh4GYPATQJVTLYTOQ/UpHbIXdJ3/hG3UzBqjSDvw=
From: Henry Wang <Henry.Wang@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [PATCH 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxJNabMSouWTajUmNjHUgHUELYa/Whhow
Date: Wed, 2 Aug 2023 06:13:42 +0000
Message-ID:
 <AS8PR08MB799102916C8CA24C276DB51A920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
In-Reply-To: <20230801161409.25905-3-dpsmith@apertussolutions.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 5506CBA16CD1DC4AA5CB26A3932700C5.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|AS8PR08MB8683:EE_
x-ms-office365-filtering-correlation-id: c7b406d1-58fc-462a-bc83-08db931f9f5c
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Xsyvd2dpE9PFM7AXt9Jbs0j6xC0tQMeBEb5Uv7Ss+utSx/EhxfIHCgEJNShXEzrXtEcn/5JPF9anGpIFmuw931LlSnAUMnPkN/tfHI62xOQCSAqI96jWSC4vcqBdAwvtHEfGe2/hFwLGfrk/NFVDD6j8t9D0LkrTwmoicWSASwXNq9i+xJ2AHdDOJlSK9e6pG/HatdCda5tAatmYI5abnJIC4z/iWyjWNye/E5f5M5o+M2k/f7UBZvTYV/Q5xIC/I2pYe0giHMw5ZNOSpTvy60/Y9yxBJBE1+4DxgkoOgsXQYDAsy/SYt89+druEl1TTbk6Who2kkPrcFoo/yL+K1usEO0VxEtaEoIEaOhH55qwS1AeNpOMLUqSSQOdXk1+3Y8gkgV7G1nvc8f0qndZyn+Y9z/3u6hDvZXUXQoyTkRDDXgW1xbirVjuYjo5Jeq5tcE7agvM/EHwMv2aqKwl+ktOttrNRBCUYupzzTBkvjhv+FNfKuR94xFkdfJg2oNQH/uDIASZvkDFM6vBX9ZPqb5QvJ1z58hWLopRBW/8gMzQucevbdNIWHlKIe+Is7QHn36/7ZpSBkPCdlambYiLKFMKyrUscoBjIDMzRJ4vihf2Ya5WOlqfCTff6G5bS20Zg
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(451199021)(66476007)(66446008)(64756008)(4326008)(316002)(41300700001)(66556008)(66946007)(76116006)(2906002)(86362001)(52536014)(38070700005)(8936002)(8676002)(55016003)(5660300002)(6506007)(33656002)(26005)(186003)(122000001)(71200400001)(83380400001)(9686003)(54906003)(110136005)(478600001)(38100700002)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?DZcZAyNa3isCz2bRybKF8v/qObguEZv6ErUvnXLIBMtsgPlhRkLURtLwRcC7?=
 =?us-ascii?Q?Us7/9EQFqA+zLQZb7vQ7fzX+qZuVXcB5UpmnEZTW+BmIYoyGw91alwDKPb87?=
 =?us-ascii?Q?8tup0BwdnK2XyH08bb3IPBkOvxSyeVsTAeR1KT7jLwNLgMv0p36z9qcRRJHL?=
 =?us-ascii?Q?G9NsJFSKqsEUnEzCTARTaHZPdUhqQKVQAhmIYD86y6NYx1jr6eBH+HhjdfHq?=
 =?us-ascii?Q?FeGMpwoQmyWNvwkhg1fhnkKkQg8P98vCEuuJI4ktNEpGnyAGTiOkK1QvSyM1?=
 =?us-ascii?Q?XQEu7iAkdLrsg7BwLSey7tRCm9QFDA/1J4iF3tir9Bo3qqlycBXFpXbumD7s?=
 =?us-ascii?Q?RnmPN2WX9u2R2Otq4qkTxI04jMrByYVj9FprSMpiVTeZ56mSTKdF8EiebCpu?=
 =?us-ascii?Q?lAeD4Mw7MN9yq2+yHFvAofOtOGZP0oqS2Tnv4Mtj/BmIyjebiI4IrF+ao8ed?=
 =?us-ascii?Q?Kg/89+1vVdxhyx8QkPlsf4oHle8CNKjuVaTnrdbATIBqWOghWFAOUyvaRwKl?=
 =?us-ascii?Q?lQXjCl5hqTc9bB5SKUz9M0W+VTnAc6Anxl5pMznjFD88B01TDJpyq2RPdzyB?=
 =?us-ascii?Q?ozSbYCv/FOG7ZqAkSRM7OCt+m0E7SIvF3oVeoXPBOjOl56K8k8ffu1JtaffC?=
 =?us-ascii?Q?Wc7dR1BnK+kaJwdwBPKQkpkltyTiIDZy5rSg6Tn2ACFGRyjA4xI2rHy8hHdI?=
 =?us-ascii?Q?miL3YW5ADRhCHTPoOrU1mIBNU/tHPw+McBXgWQkWJn4PMZ249AXhDldznQ6F?=
 =?us-ascii?Q?D/TsBdH8Kwf5tOgNBioRO+etjqtMU7BNl+jZLs4WnbT/V/5ddHFTMd+vFAJu?=
 =?us-ascii?Q?UxG/zQhZ9IhS85ANrLFm4PgWAxsRwSl6pWqbgRA/RAKJE9ddzPPvPuAQEsz4?=
 =?us-ascii?Q?LhEqKt7Ukb/x73KgL88pv7P8cnXNt86IDy5IiSJ/OuPDiixpjD2RpFZ54QAd?=
 =?us-ascii?Q?odiHxIBVZO2XfUnxKFI1mCt8Kvmjgxs9NFYzqVexbBZwgCAiemQNpVyKmSrB?=
 =?us-ascii?Q?LDSXuGF7kDWQeDTjLVMeR/DIe5jUSb2vOaFOgTvrF/V9MmxDn4seTvVrcrgI?=
 =?us-ascii?Q?FFBiXb67FRDPJEdsfsrm1eTsx7xcJfhQmxyxvzAwBc+CtMAQb1TmrOqCGY12?=
 =?us-ascii?Q?rRrAh3wJiDy1OjYbSe6/2R2/HPacR3ZqfHeOEhRP5QrjJOGPMhLH/z5QEuKo?=
 =?us-ascii?Q?9AnA+E4eSLlGeUb8/qTjFnlcoP26U15gN2ekm7/MOE6avy77mR5PjHp4yJ3O?=
 =?us-ascii?Q?f90DpW7StptPKf9GrM71KwoKPTwFyv+IrakBgIG4j3E9znTYMcOLjSB/cWBw?=
 =?us-ascii?Q?idmejFQ8FUVqNcxc+YGXGFNv02l8P8v0OHuH7Wcn1UyZgPMDo8eKcR75dbfl?=
 =?us-ascii?Q?t69cyWMxSNvrSh/YZ4P6zGHQ6s9NbMB3sS2WSANyHg5PlHjPqAIqXVOyWqRx?=
 =?us-ascii?Q?uZebadfhTdCKGQbnjh69BoWhiVpo52RK+LSzbu32PIzygNgJWmYsPhJj785Y?=
 =?us-ascii?Q?V4mNGGEqepGi46AiVKhmeCav5Fx38AqBRNraRIa0RqfzNCIoIEwq5IOBKy6V?=
 =?us-ascii?Q?j+1qkOvKnxyW3Km2Y0kr6DuYfGyxW40k5lbezBLH?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7b406d1-58fc-462a-bc83-08db931f9f5c
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2023 06:13:42.9426
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AugjDFum2+Fe5HKJKJ7AzuaGII+Ph/5HIZMDyKljNFUHDqP8RJL2QI8LEZ+pCCVaFF/2LZgSCuJ0nLT16w+aag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8683

Hi Daniel,

> -----Original Message-----
> Subject: [PATCH 2/2] fdt: make fdt handling reusable across arch
>=20
> This refactors reusable code from Arm's bootfdt.c and device-tree.h that =
is
> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
> introduced for when the ability of parsing DTB files is needed by a capab=
ility
> such as hyperlaunch.
>=20
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  MAINTAINERS                   |   2 +
>  xen/arch/arm/bootfdt.c        | 141 +------------------------------
>  xen/common/Kconfig            |   4 +
>  xen/common/Makefile           |   3 +-
>  xen/common/fdt.c              | 153 ++++++++++++++++++++++++++++++++++
>  xen/include/xen/device_tree.h |  50 +----------
>  xen/include/xen/fdt.h         |  79 ++++++++++++++++++
>  7 files changed, 242 insertions(+), 190 deletions(-)
>  create mode 100644 xen/common/fdt.c
>  create mode 100644 xen/include/xen/fdt.h
>=20
> +void __init device_tree_get_reg(
> +    const __be32 **cell, uint32_t address_cells, uint32_t size_cells,
> +    paddr_t *start, paddr_t *size)
> +{
> +    uint64_t dt_start, dt_size;
> +
> +    /*
> +     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-b=
it.
> +     * Thus, there is an implicit cast from uint64_t to paddr_t.
> +     */
> +    dt_start =3D dt_next_cell(address_cells, cell);
> +    dt_size =3D dt_next_cell(size_cells, cell);
> +
> +    if ( dt_start !=3D (paddr_t)dt_start )
> +    {
> +        printk("Physical address greater than max width supported\n");
> +        WARN();
> +    }
> +
> +    if ( dt_size !=3D (paddr_t)dt_size )
> +    {
> +        printk("Physical size greater than max width supported\n");
> +        WARN();
> +    }
> +
> +    /*
> +     * Xen will truncate the address/size if it is greater than the maxi=
mum
> +     * supported width and it will give an appropriate warning.
> +     */
> +    *start =3D dt_start;
> +    *size =3D dt_size;
> +}
> +
> +u32 __init device_tree_get_u32(
> +    const void *fdt, int node, const char *prop_name, u32 dflt)
> +{
> +    const struct fdt_property *prop;
> +
> +    prop =3D fdt_get_property(fdt, node, prop_name, NULL);
> +    if ( !prop || prop->len < sizeof(u32) )
> +        return dflt;
> +
> +    return fdt32_to_cpu(*(uint32_t*)prop->data);
> +}

When I tested this patch by our internal CI (I applied this patch on top
of today's staging:
c2026b88b5 xen/arm/IRQ: uniform irq_set_affinity() with x86 version),
there are some build errors as below:

aarch64-linux-gnu-gcc -MMD -MP -MF ./.asm-offsets.s.d -DBUILD_ID -fno-stric=
t-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-state=
ment -Wno-unused-but-set-variable -Wno-unused-local-typedefs -O2 -fomit-fra=
me-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wn=
o-pointer-arith -Wvla -pipe -D__XEN__ -include /jenkins/workspace/ais-xenbi=
ts-xen/layers/xen/xen/include/xen/config.h -mcpu=3Dgeneric -mgeneral-regs-o=
nly -mno-outline-atomics -I./include -I./arch/arm/include -I/jenkins/worksp=
ace/ais-xenbits-xen/layers/xen/xen/include -I/jenkins/workspace/ais-xenbits=
-xen/layers/xen/xen/arch/arm/include -fno-pie -fno-stack-protector -fno-exc=
eptions -fno-asynchronous-unwind-tables -Wnested-externs -S -g0 -o asm-offs=
ets.s.new -MQ asm-offsets.s /jenkins/workspace/ais-xenbits-xen/layers/xen/x=
en/arch/arm/arm64/asm-offsets.c
In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/arm64/asm-offsets.c:13:
/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/setu=
p.h:162:6: error: redundant redeclaration of 'device_tree_get_reg' [-Werror=
=3Dredundant-decls]
  162 | void device_tree_get_reg(const __be32 **cell, uint32_t address_cell=
s,
      |      ^~~~~~~~~~~~~~~~~~~
In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/device_tree.h:17,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/include/asm/smp.h:6,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/smp.h:4,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/rwlock.h:6,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/sched.h:7,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/arm64/asm-offsets.c:9:
/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/fdt.h:64:13: =
note: previous declaration of 'device_tree_get_reg' with type 'void(const _=
_be32 **, u32,  u32,  u64 *, u64 *)' {aka 'void(const unsigned int **, unsi=
gned int,  unsigned int,  long unsigned int *, long unsigned int *)'}
   64 | void __init device_tree_get_reg(
      |             ^~~~~~~~~~~~~~~~~~~
In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/arm64/asm-offsets.c:13:
/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/setu=
p.h:165:5: error: redundant redeclaration of 'device_tree_get_u32' [-Werror=
=3Dredundant-decls]
  165 | u32 device_tree_get_u32(const void *fdt, int node,
      |     ^~~~~~~~~~~~~~~~~~~
In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/device_tree.h:17,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/include/asm/smp.h:6,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/smp.h:4,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/rwlock.h:6,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/inc=
lude/xen/sched.h:7,
                 from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arc=
h/arm/arm64/asm-offsets.c:9:
/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/fdt.h:68:12: =
note: previous declaration of 'device_tree_get_u32' with type 'u32(const vo=
id *, int,  const char *, u32)' {aka 'unsigned int(const void *, int,  cons=
t char *, unsigned int)'}
   68 | u32 __init device_tree_get_u32(
      |            ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/./build.mk:=
45: asm-offsets.s] Error 1
make[1]: *** [/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/Makefile:59=
7: xen] Error 2
make[1]: Leaving directory '/jenkins/workspace/ais-xenbits-xen/build/xen-fv=
p-base'
make: *** [Makefile:183: __sub-make] Error 2
make: Leaving directory '/jenkins/workspace/ais-xenbits-xen/layers/xen/xen'

The staging itself passed the CI check. Did I miss some context to make
this patch works? Could you please provide some hints? Thanks in advance!

Kind regards,
Henry




From xen-devel-bounces@lists.xenproject.org Wed Aug 02 06:45:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 06:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574713.900237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR5bn-0006Yn-KK; Wed, 02 Aug 2023 06:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574713.900237; Wed, 02 Aug 2023 06:45:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR5bn-0006Yg-Hq; Wed, 02 Aug 2023 06:45:23 +0000
Received: by outflank-mailman (input) for mailman id 574713;
 Wed, 02 Aug 2023 06:45: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=TXK3=DT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qR5bm-0006Ya-JK
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 06:45:22 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20630.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25ae4399-3100-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 08:45:19 +0200 (CEST)
Received: from CY5PR14CA0011.namprd14.prod.outlook.com (2603:10b6:930:2::20)
 by CY8PR12MB8267.namprd12.prod.outlook.com (2603:10b6:930:7c::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 06:45:16 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:930:2:cafe::c9) by CY5PR14CA0011.outlook.office365.com
 (2603:10b6:930:2::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Wed, 2 Aug 2023 06:45:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.79) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6631.24 via Frontend Transport; Wed, 2 Aug 2023 06:45:16 +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.27; Wed, 2 Aug
 2023 01:45: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.27; Tue, 1 Aug
 2023 23:45:15 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 2 Aug 2023 01:45: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: 25ae4399-3100-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DaYqJA3aOBpO647RufGyZbp1dCMaGMOg/2Ovh07jw5pYqtPEPh98tnrIJ3YQPXUCvtbn+xWs+14JvIIp9AGTo0TaNbzPexj89NcYJNZ1M07DUOy0W79PzR8ed4UU3HSrpqW9Z6/XW4bKG5yRz8H88ecu5GlZFZclUMrz+JhKFGB0RdvtxV0OuRAeB7gVwfjBnkZN6FsC/1amaGy/SknsjEuL86Hwb51PcinYhKKgCqmpbytGvpYPUctUEfd11vOs66KscjX5OIXVc6ROC3HmKqOKAegcL7ufvirt5Zzd7/TuFMEaKPdHlEYT19rmzqfxmHscicIqvRL0n1dmmj5iCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p8182KY+n3aHnqyfWZHGhA1CwEz6eV9ppeOvRRMd53U=;
 b=bQuxqHWbtWpgUImvOgV/gQhPVEXuqAeX/hmQoxygsmOi3R0HBzw5z7vu9+IQGaMMJ7CBvUgBhRh9K0d7a0dN2d+2UxhIEuevF/CMKpQsrVrRjVD5dqfKOwFnW+YPaxVS86aICHn/5EMHp/iK73PrTOzfoba/OXviADGyCgrdrA/VixYJiyk1ccfE4ZxDmqF/XEx9O6yflTBrGxTcSb/srCqpfkUf3F7nhVD1U3mDWV3aroz9l3diYaGr/kiB/ApSaa0axfVicVsrADDsF3s18G7V1UfeA+VURovKqCraZJdsVK8SgEjUtcyCKHreQdi6rH/tHbRefv5G4WeY/3Yp1g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p8182KY+n3aHnqyfWZHGhA1CwEz6eV9ppeOvRRMd53U=;
 b=4OlZD8oNF07VJ+3f95HYqNLoMKj14FIuFYx+caasRjPMPR1BF0yEyrxy8CdUTXERhZ9uwmJfxrVYni7EHBgE2BPvGbB/eZHHdOD0LuecU6nywk4xz4dhgSz1STom/xcWrbOfHGXudMtOoQOa4m6POkaQN2cwotkgazGUNRQmi0k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <321cb38e-7622-5e3c-cec7-77321ac9a4c3@amd.com>
Date: Wed, 2 Aug 2023 08:45:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
Content-Language: en-US
To: Khem Raj <raj.khem@gmail.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>
References: <20230801174930.2995947-1-raj.khem@gmail.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230801174930.2995947-1-raj.khem@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|CY8PR12MB8267:EE_
X-MS-Office365-Filtering-Correlation-Id: 92d2ac82-917e-4115-ba7b-08db9324082b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5dydmuWGIlKOItuFdFJBqEJax/5DuUCPCXVEn33kkLUfls5SBPQFFTzHeDRF89gA8Z2QoUI7zVDhCzwHOlVCSYmO/xgzt+H5/kyXuITkMS0hxvwLblGgufYLvsZ6uqCxH6Y03WqMzCl/i5UAgN2vuD9SvIwaAgCpn84MR0X0t8JM/d8hWeAmoReQRWVX0eYKQw0tNM0BGl8WZiRGK6ZhwJXnp4g5z2XAqKZIQfLf4QmIXuOBahdgDvKnIOk4Xli+cIug+/cTlYoEKpN9/udcybPxVfuoIa72Y8SAFZY6I+9E7xdH04k0b4/GKjdWryjCY2FWUuayllYMt2kuu+8BnSbiCL6Sivs8iGGKi487yvj4pblFp77jvST9oKuxnC6gz2UIS/FAgKQK/Mv5dkBvdj3oXuqIp6gGp7vLy2y5kFLXtr/CrvaMLmv4HohUDqu+G37lm50LkZ3BK65bux7LeBtpZcqOHf/yVqHCpVPW8WBLXizMHYI6Cx7dZBjmdmKGYHJv/eXyN3/Vi944TQhjvU8QboSLibxrk6GXuP/6yIzryf8sjoMv/0U8JI7FwwF/P5vrTEh6PmVRIPT+EWl3UnQlS8p7GgVC77aB8Lj2OI6OhYUJJKbxNcQ/nAuxUmFlHXqjlbaSA1hh2xMMVwp65mbIl6jPkyVBayNSxBLvbi9TrhZAJKkMoEiZNVs8PITILLrrYdcQioY79sR6kN0MO0pN9ZQmMEG/j2rN/OQRlyHOiv4u0l3Gp/lZIXaA6eWri1ru56SS2l49vW93o3MUe/yDLE8r3IID3ZyERy83AYeSqmrs71WLXjTtk46f4uDj6MNkTrnI9eC3auB59M9a3fAu9PJfwj2pqlBRtpeTggA=
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:(13230028)(4636009)(396003)(136003)(346002)(376002)(39860400002)(82310400008)(451199021)(36840700001)(40470700004)(46966006)(70206006)(70586007)(86362001)(31696002)(966005)(2906002)(31686004)(4326008)(54906003)(110136005)(44832011)(40480700001)(36756003)(40460700003)(478600001)(83380400001)(82740400003)(426003)(47076005)(41300700001)(2616005)(356005)(81166007)(5660300002)(36860700001)(8676002)(8936002)(26005)(53546011)(316002)(336012)(186003)(16576012)(4744005)(142923001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 06:45:16.6996
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 92d2ac82-917e-4115-ba7b-08db9324082b
X-MS-Exchange-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:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8267

Hi,

On 01/08/2023 19:49, Khem Raj wrote:
> 
> 
> Assembler from binutils 2.41 rejects [1] this syntax
> 
> .section "name"[, flags...]
> 
> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
> 
> It is almost like a regression compared to 2.40 or older release,
> It likely went unnoticed so far because Linux kernel changed
> to GNU syntax already in 5.5, to allow building with Clang's
> integrated assembler.
> 
> Switch to using GNU syntax
> 
> .section name[, "flags"[, @type]]
> 
> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
> [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
With the changes suggested by Julien:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 06:54:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 06:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574717.900248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR5k7-00081d-FS; Wed, 02 Aug 2023 06:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574717.900248; Wed, 02 Aug 2023 06:53: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 1qR5k7-00081W-Ax; Wed, 02 Aug 2023 06:53:59 +0000
Received: by outflank-mailman (input) for mailman id 574717;
 Wed, 02 Aug 2023 06:53: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 1qR5k6-00081M-PM; Wed, 02 Aug 2023 06:53: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 1qR5k6-0001k8-Lg; Wed, 02 Aug 2023 06:53: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 1qR5k6-00085v-1Y; Wed, 02 Aug 2023 06:53:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qR5k6-0005Kl-12; Wed, 02 Aug 2023 06:53: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=+SsAqF/Qh83NF1SnMwQ5rxo/cGdyUMQUkrpEVB8QV5M=; b=S45G1cLvgyL7I1NRmt2On1GXL0
	Y0SQvlskr+Wf4MvpHVOGAzKIlxSdH4t0B8lVE6lSAzZfublTKlV95EXYqlPlikzmjACZEoEbAFWgq
	c/HQ5BpmAZVmsPEJzCM/79VEB29xMiXi/K1webr5dnKI3L7tAhBNsUve9yXCsgK7N1VU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182095-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182095: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-migrupgrade:xen-install/src_host:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-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-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-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:migrate-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:saverestore-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-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-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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c18b2dd93f396eadd116d0016cf7285523a13505
X-Osstest-Versions-That:
    xen=04f14792a6c7a4e4cd8fda10b29c7e72837c5433
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 06:53:58 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 182109-retest

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

version targeted for testing:
 xen                  c18b2dd93f396eadd116d0016cf7285523a13505
baseline version:
 xen                  04f14792a6c7a4e4cd8fda10b29c7e72837c5433

Last test of basis   182016  2023-07-26 00:36:44 Z    7 days
Testing same since   182095  2023-07-31 13:07:46 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   04f14792a6..c18b2dd93f  c18b2dd93f396eadd116d0016cf7285523a13505 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:11:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574725.900262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR60h-00029G-TS; Wed, 02 Aug 2023 07:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574725.900262; Wed, 02 Aug 2023 07:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR60h-000299-Qc; Wed, 02 Aug 2023 07:11:07 +0000
Received: by outflank-mailman (input) for mailman id 574725;
 Wed, 02 Aug 2023 07:11: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR60g-000293-UU
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:11:07 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc4bb421-3103-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 09:11:01 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9930.eurprd04.prod.outlook.com (2603:10a6:800:1e1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:10:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:10: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: bc4bb421-3103-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aVGlsekUpoVvHp2TRgbmwvf4pU+oAHHhAygHQCUzLUuqbpcvk4RO1cLsJ/2be7T6enreJCKVYV4bSb7cz1/yixkAre69u3B7D9JEvEW7fG6w4GlCGZUImD7wxlVFdy1w9wOqT8sN18yEbASFpoZNS69gSJw1zp/rgFHz15Axu4UP7QhE/0bcPfWs/HaRl2c0rerE0ueAR+3GwyWlC01sg5/JjeXxJE/dfFUkgXRswD52RznLIIZK3k1EmOYFefjRWmXcer4EAin4oD7PEZoooA20EW7uERBNZ3i4J6SSw9qqwC/44mxEHItTGTPSMJmv9kwo6dDUg43nJhsJNpGOfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y2gsbWAK1hWxBxzH9Ld1Tp9I8VrXn5DEEemrE12FGPw=;
 b=lfn/6jgUsv4u1FDAR2dpx4fG9oJ/eRbfS7GYaSxj/2roalM/vToND40NvTssX+4LcXTqsdocUk0bXNUpwdml/YZdkvN50p/TApI9uslN77T8wDbwnYDTNUSgZsxwscEiUppJxPapCJE4jbzH7lFAYjUmXsh1v3gzuEE7E5Pp1gYV1st7lEjqKt489sZj0jDHneWquJWHlK+szqKj/VJFsmuE6VCpElVr7h36Z3N+Oxo3iKrT2Rz1bn/u+0V4ge06EpXt//i7ba2uAo9y6kgHU86BEEv8ljVeioPItReEUNhykH8qx11uae0VRy6JY8AK5jVOTIqCOYYjzIQjpfVNIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y2gsbWAK1hWxBxzH9Ld1Tp9I8VrXn5DEEemrE12FGPw=;
 b=f1BWOJKBsTmQpX9MRGU3r7lVqBNOmuE8HhywE8i4ug39VwxjymYH48d9lfkPFiRamJPHVuzc/Kgvr+VkBVL/8nY0NJzGekJzQUgkDSi11Z6P354xbk6Sf5qQtx1/na0vrT89SB5CEuv5r93XtbFq2KgNSPCAkchSdoqxmjqLnzELSBUulP55pSp2Fdu651OVEIneN4OZIEhVFV5BUeC5cBf4EEojbP3NdA/r4CYnwqoQxi2K1ql4DnluVKazkavmtUKie6lEy2cq2Uw+My1ebEHPtMgzo1Li1QiYWitz9EYevwnuGjmoQOL+BNriZ4wQe9Ks33Ep4Xo4uzW9XMkOIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7cff2f6-3f22-aba1-5e7f-f9845a363e3b@suse.com>
Date: Wed, 2 Aug 2023 09:10:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 5/5] xen/ppc: Implement early serial console on PowerNV
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690579561.git.sanastasio@raptorengineering.com>
 <3023ad320b42fa3787bb71a9cf83b34965668fe9.1690579561.git.sanastasio@raptorengineering.com>
 <41b33115-274c-7172-f100-85d6a4f1d538@suse.com>
 <f83af545-eb06-5f19-cb89-fc24ef6d9a2f@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f83af545-eb06-5f19-cb89-fc24ef6d9a2f@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0028.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9930:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c66a140-2288-43bb-668e-08db93279e84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y4bJg326GxCCyO8v9ySgBBDUR014keTm/XRKNN0DPs41o2kWXSKzKirmOEwbFcmWit9vq679IJpt8NCGtBXCpu0qQT3ywDFTBmGD65R/5+D6jxR869MO5KDtrzeRgPrOqvRCyU98KT4bnXwsfqcgghlJ5AD6eBHcFz9sPP0nc3eXmR65uGO3E7F4gfD0qgL+qBQufbCMegTDw/ghWhSN0JL9Hxe98pLERW4ZIfJ8E3k8DkMcXHWwG9iUfsAoS2MQ1WAo9t7wLMrn593LXLkTHeeGrWn8UOyw7jizdqRF/5K2iqu4YobTHIbVOSOKqRyjvujYPJkmM5PpG1uW9eol3ST2Rf93whDo2jGF4mmppyX6P+Uldc54IcR4ii0cJBhAARxKvQmlA4XHfLPf7u88Odewvsvq9ebPQg98un7dPSB2m/uCPJsblLVr9avl6abue33jyrAF9Vm5XnWPQ3v8UedVsITO4Fg+fyoJxlDe4E1lEVa54AU9W9r7Bx0zxbzbnFHMHmE21MB8nsuQvL5ZcFVzNa8MMWkHsZordAc9WYiVzXSf9rGkIwzkMcVpThoLb2w2BEQ3BgyF4uqBc3IaV5Mq2Z25F2xqAM271SXazDyKpoYveG9G5O6zr4gBZQjFntFiumPDQJKuwtDEWC4U9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39850400004)(136003)(396003)(346002)(451199021)(2616005)(36756003)(6512007)(316002)(86362001)(478600001)(54906003)(38100700002)(66946007)(66476007)(66556008)(6486002)(4326008)(6916009)(31696002)(53546011)(6506007)(41300700001)(26005)(186003)(8676002)(8936002)(5660300002)(4744005)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RjdXS0xkWFR3V2RLak9USVB5c1VkaTk5c3p3QmEydjBqQnkxZVRvMmFOdlJ3?=
 =?utf-8?B?Vzlma2plTWFidUhPU1NFY3ZyKzV6a2lkNDBaUC9tOEg1UWlEM0U0cHBwbytC?=
 =?utf-8?B?TEY4MEpGNUZINmtFNWY2emFPbjNLMkZSSE1vSDhmYzJkU1J4UWo0U1ZaRkNX?=
 =?utf-8?B?Y1p1azkrNTRmQU1Ma3F0TWdodXRLckhaNEFVd2NPcmdBMTVnbGtYRDFzenA5?=
 =?utf-8?B?Tk5LemlYMXRDeStCRDdLSmZBek9wUHJFNENBemtLdUlMdmdqUkZWWnQybnBl?=
 =?utf-8?B?NFhBbkZkTVNXNWdIZ0J4aDRwVWhDSFcvRWhDM3VFUjllSldPdkFEUGEwc1Vl?=
 =?utf-8?B?TUhnaHBLNlVycDRiVTJxc1hGSWVyNG1HcXZVbnJDck5vR2JUc3RwWEExRGNn?=
 =?utf-8?B?azlDSEdoRG5Sc1FPbEYwRlJ1c0hYQ1hlU1JYREtmVmZ4RVVXdXpOM2wvdnF6?=
 =?utf-8?B?QlA2UWpkZVJMZlZUdjVWS2h4Nk0yeDZkdDBxeWRSSnQzWDI3eVhOaWtGMitl?=
 =?utf-8?B?Q3M1bXl1WGZ5UktjSGVCUjNjTnBSQmxkVmdXampTRExuYWhxSXlYS3hhMW82?=
 =?utf-8?B?bVRLMVlDQjhmQlp2Uk9PVThrWnNrTVR3b1dvQTByN2JtUlZ6RVRVWnN0ak5W?=
 =?utf-8?B?d2tUTG1xWWRLeFg1b29hbjVnbDc2QUU1ZkFQUkdjMzNzOGtQVk1CNGxjc2Va?=
 =?utf-8?B?dEQ4L0tPWFdDSmFoSHpKNTA3UVVaRTBXWGgxOUdSQ3ZlSVgwaGtHVGRWYU42?=
 =?utf-8?B?bFV4OFZvZkh0bU5sbVhackFXa1dLUDdERXc4OXk1YWZDcUI4OXpBYTZsckMr?=
 =?utf-8?B?ZWZjblJrREpLYjlrbGp6T1ZkMC9OZytSUXlJeUJ1RUtFU3loYnJnbFRPUUNw?=
 =?utf-8?B?aUo5QWxXY1NnM29qY0lpZnhOZEpvZHd3TU42Q1JPcEpMUTB3TityUTAxS3g3?=
 =?utf-8?B?WERQRjhJM3VWQzBML0RXUkg3QTRqOHo5azJwV1g2bGdDcGE3TEx0TmlkeHNZ?=
 =?utf-8?B?Q0M4NHpuWUtrb3hyVkl5TFFGaTFiV1hvWmVFUlJNVXpDc1k0WVlhMUtTWnB6?=
 =?utf-8?B?dHlWYUtFV1haT093ckFjOTREV2tXV0NjN1VKb2IxT2VuTXl6cWxOTkVLT3JE?=
 =?utf-8?B?d3NVUEVNWUdOcENPbXVSU09jUDBlR0dUZERsWFNXUUJ2cDFLTkxablVFRmZ5?=
 =?utf-8?B?ZlFnZ3RNUWRkTXJSWWw4Wm9NUHZDVU4vNThsM240SHo4NWIwa2ppTUpyQTkx?=
 =?utf-8?B?NUkwMDB4RnpIUUhYcjNkaFQ1b3BLZGZXK20xQnpYb2cvbURXOTYrc05JWDRR?=
 =?utf-8?B?amtBcmRkd2g5M3hKbUkvbDZYS1g5dE0xZ3Y1Y2xYVTEzc2Zwd1UyYjYyaTlr?=
 =?utf-8?B?bzVKaGpVa2gwU2preTI2Q01CdCt2M241TFdNMUF6RmFkY0V6RUtUTUdsdkRY?=
 =?utf-8?B?QlNCQ2RKUWNYQ3NqK2tOK2N1YXMyUGZhRUlGVkdYQWxKdkprdlN4OHpWVElR?=
 =?utf-8?B?L3BaaTJDRzlUSXNINW4xV3ZWZkNHaWJIbHZtNzNuemhuUFhFTUlPcTFMSWps?=
 =?utf-8?B?bjE2eUh5VEdTVHlWRXZXaVMzWHQxR0ZuTk8xM21xTDNKTEFsd0NVVkxWZTVW?=
 =?utf-8?B?dEZoZFJWckV1K3BmU3ZXVng2YXFUc1Y5Y08zZ3B6OEdFN3FCVXRVcURFc1FQ?=
 =?utf-8?B?aDQ2YU83ZnFtU04xTS9uSHozRVozOWNiUWl4WWF4NWVCMUhQMWxZUVU4aGpj?=
 =?utf-8?B?VGFJYk9sbVB1MnFIVWszWERpd2xrNEkwRkpHNzFnRTh3ckwwVlFLYitkSENH?=
 =?utf-8?B?eFdjeXc1dFcwMDExbnNnbDhSbGpHUUdPVTFDMVBLS3RLQWxJZlZVYThsbmZU?=
 =?utf-8?B?aDFtZVFDOVRvOXRxaW9ldC9TNC9xMlVpU0o4MTZ3RXJhWWxiRk5jRXVuSnN2?=
 =?utf-8?B?WERvNXFFRUR3MkQ2bGtOR2tCYWFnWHJzSmVuNFNxY3lWRVV2Q1JhdW12clBk?=
 =?utf-8?B?SmJFaGFLdVMwNmNPNXJRWWUvVjhLbFpGN3gxZHhoNk1YSWY5bUFhY28yU1Np?=
 =?utf-8?B?ekZNdEVLUncwL052cnpzSjhtdHovNk5XeUxZQXpUNjRydGMyODVEVzlIOWMr?=
 =?utf-8?Q?g2e/Yk2Ojt49ebKJBi0rFpk+7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c66a140-2288-43bb-668e-08db93279e84
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:10:57.7021
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KhGKOX3mAt6ho5oJEITXtKnITQfGt1+k3BvBXjlqBwAfTDFcd0JOMEcbQgnXX67e8ziwFMmrKNL6DDes4zYZFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9930

On 02.08.2023 00:54, Shawn Anastasio wrote:
> On 8/1/23 6:19 AM, Jan Beulich wrote:
>> On 28.07.2023 23:35, Shawn Anastasio wrote:
>>> +static void opal_putchar(char c)
>>
>> Can't this be __init?
> 
> Unlike OpenFirmware, OPAL calls are expected to be used by the OS during
> its entire lifecycle, not just during early boot, so the full
> (non-early) serial console driver would likely want to use these
> functions as well.

Well, in the present usage it's unneeded post-init afaict. Hence if you
don't want to add __init until another use appears, please add a
respective remark in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:17:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:17:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574731.900272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR66L-0002ol-NF; Wed, 02 Aug 2023 07:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574731.900272; Wed, 02 Aug 2023 07: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 1qR66L-0002oe-K4; Wed, 02 Aug 2023 07:16:57 +0000
Received: by outflank-mailman (input) for mailman id 574731;
 Wed, 02 Aug 2023 07:16: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR66K-0002oY-N0
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:16:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f870f26-3104-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 09:16:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6998.eurprd04.prod.outlook.com (2603:10a6:20b:10a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:16:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07: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>
X-Inumbo-ID: 8f870f26-3104-11ee-b25e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l2ZfC0DcxMjs8JULLXxV/dh0fWsBzlKM5vwVQGrxq/BSGVmJkEfYZ2DYmWhl6Pkt22oDfw9J/ZmjrxEQY3K/m/P2kCp3/EfqAFtLW2U3M3Y7lbPU3ebZpIJRLo3olTiPL09gqgjsNDGvfMxAsW0d5n9ULpw/WsAObQ9CLB1kkjhRB9BjCYJdUs5uFpU6jbz2p/jkDn+y0fwJgsIsC4S9BHXkDA9m12ld6qtgfGze/hF7w4AImTB+AK4zUb4Ev6gRvkPygcOjXOztv8eQdPlZrd5piXN/vkh1GFFWE8sAfL1iNBCgwhArvCpT/0FA7M3ucrcDio9CLRO0vwGDqHDGhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KsbyRsYos73yyDPCpkKl5JV5OdZ2xsaCh+55LwFQFm8=;
 b=eED1apRzQnRCGnfblkw+lDKvLO8LfPMPJeMbquB23U9jlBsMP3Hl9LlDx12w4cbYPG9k7Me2J2K7tor429ralLmay/78Fbd4vA0FDPjESaBDWNMoZIeOaf+vi22LQiA9GZ8LMlcslDlYWP2THIUYvLUyvbiUTIxEVpMxnjjpDF5b1XvNTNWXag98DZjtyDsXfQAmG8/T0LaUvEKZfyIbWgElv96aMkWye/CNga+K66hyIq0yDi9caC2XCvBgn35/DxuabVTh4T2INn9ziaAZH28SfF1hBbr6wm2v0zov83VeOopPlUJx/KKkGAFGvwM1KMC9tut6RAxmj3hnS7G0SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KsbyRsYos73yyDPCpkKl5JV5OdZ2xsaCh+55LwFQFm8=;
 b=pbdQNfdFsma0STjtqK2P7cq5VVYLSRzgf/eb/5o40NU/LZ2ASvmNMA9NYq3mL2aJGcNyiRWa+Nm1n3rh/+B/6C8OfYE11oNUt1NWNqA37ooVrmkNAVNYxwQvPzTw39aakrT3la+ZBsoACXnvZ2E3joMaQR86NH7ZnpCf/fgVu/VrHsImaLR71Jq47ux5qH6Q4Z0eo9eP1TdTNw8rtcq4N0obV+bDrIOjz2TbVI4UXWUzcLpF9D9HPokXNPJ3Ufeok+afLWy5buvPgLdaNu+If1/jocrWnyrEnmcMgGBL0YjSvUUz6mZDuSfJZn/aSnv0hNO0lZQhD2PMWSlj1muLUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3c5e9a2-918d-5b6c-b0bd-34b61d00c769@suse.com>
Date: Wed, 2 Aug 2023 09:16:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 1/4] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <c72c242988295b665a8bd235a351806dc112ad01.1690934409.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c72c242988295b665a8bd235a351806dc112ad01.1690934409.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6998:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c9f6479-1253-44de-00f1-08db93287275
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OGaAGDlfQDZNjo+CPhs2fa2AGm6qoWf4d0PpGxVBSkxl1aZ2W7iBeih/PFrFCUOnJD4WYUYfQMDLG/5MwkDZc+iWBBzFu8rC3bDSS9uALcPgJtPmJ8Uxy+mxkwy+OfZuDJqxeRLI61AD5+fu1+xmC/Eu91cyO0JlPefy51s68wqIBjal/E9z65Oe0UpLiSQkD++6lMVpQCml4QILamgN4c9nQA+U6Ryo9BSAGWnm+Z8w7yNZrVBJNQdrWO7dAnkiJ8+nkwGIxRmUNHUH/3ubJPJDgYhR67rJmMAvd5tUafwo8DlylTn4MrmmfAtAo5fVsEnCHsZCXN+6fb/JSFf9Ra/090bqy19+6/K7a13dNobQucXAFOiLqptqwd8w/GIv82oOacq8DiMF3IYJ3F1aaC/g3NgCEeo6Lb0GEwg4Qm/zwMMv8LV57cxU8r9ydkWvPh5cnCpkfOg70U/M282jsJ9J4vN0kGMTeJSSzmXWhknAmRsWGTdpamba48I4wCsDwPd1tmVSd9AjTWJhA4fkkIP92dxWnANUuNXtVW6NdFX35Teee3yNzYdKWgSnl8M9Nmjvbiijy5GNbwUT9toMSPRur/PoLzjt8BntRhLbWEc88DMsMtI+g1bILTbdSCmLRMa/frtJtTVNHTQzibOv0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(39850400004)(346002)(396003)(376002)(451199021)(2616005)(5660300002)(53546011)(8936002)(6506007)(186003)(8676002)(478600001)(26005)(4326008)(54906003)(6916009)(66946007)(66476007)(66556008)(316002)(41300700001)(6486002)(6512007)(31696002)(86362001)(36756003)(2906002)(4744005)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTNab3FiMDNZYzlNSDExSUFhSUtQcms5UGJUcWV5UWxoZjV4ekVqTU5QVGUz?=
 =?utf-8?B?cnVFNHFOTjMwY0QvekliZU1RYTdoeTFVWmJ5UjdKZER1YzB4U0V6UVV6VHNE?=
 =?utf-8?B?anRYdjV2OUQ2Vk5WTnRNa1VjMkYvMkRGV1UwNWFvMG5OaWg2TWNtMm56Q0ZH?=
 =?utf-8?B?RjhLYWpWdytQY0p4bmF5djNUZ0JnWmU3dU1JTE1lTndNcHQxUERFY2hvV1lN?=
 =?utf-8?B?c1NwdTlHV1JwdjZFbzJ0MlZrZXk0SjlIQjB5TnZ3WmxNdzZOaS9sZU9qTVlU?=
 =?utf-8?B?UE81a0VudnlHNnM5Zk9hcXNKUHllQnkzQ1BrZyswR1ovTXFJbUFpcER5REtv?=
 =?utf-8?B?SEZnN3B1S2k1OHFjdU1DalNuTEZwLytiM3ExT3FBS2NJa1EwSmdBTythNHE5?=
 =?utf-8?B?M1ArTEtuaDFaVnd5T0creGdYVVhSa2ZIWUNlaTlDRjNpNWQwVTVFdlRtYzR2?=
 =?utf-8?B?c1lUazJ0YVU2LzlFOFhYVlZmQUVSOHM5UCtVbjNjRU1TZUM0eXhoQlpGWVNM?=
 =?utf-8?B?dElqL3JSWC94Nk1ha21EM05mdXFraDVTb1NaMGMxaUViakdsNlAyOVI3NGdM?=
 =?utf-8?B?c1BTTWlpczF2blNHaDlDK2NTV0FTRzRINm1Cc28xdWFBSGtwNmtTclhUbGxz?=
 =?utf-8?B?cE9oeTZJdktGdHBsOExOTUNkZnhxVkFSdzRGRERCMzcwSTFROU5QMkVRejlC?=
 =?utf-8?B?azZhMWJVNjJLOXZxd2E5NGc4UVpGV1dmUHNaTmRjMkk0a3FjZGd3dm03MDhP?=
 =?utf-8?B?Q0ZVVFFvcmhBcXNmVlg4b0tSVEJJSjBrb0VWRzF3V0xvYWJiRlZLU0ZMaDZ2?=
 =?utf-8?B?cHBKQk9RdTdNZDNpOHppcEdyeWNUQzRUeXpCdWt2b2NBNEFTZy9zeUo0Q2Nj?=
 =?utf-8?B?NGNXbEVNdjZPeE92SXN4T0orODdQbDBJOW15NVNGMVpXNEIvb1hWWGs5citr?=
 =?utf-8?B?b1JqQmFtaUNraUI0SVFuNW5jMGVwM3ZBWDQ5Z2lzNXlHYlJQak51RlYvSGp1?=
 =?utf-8?B?SittcTMxRlZNcEk4T2NUMU13bWs5SUhLV1AwcW5wV0h1Q3VVZ1RIb012UWN4?=
 =?utf-8?B?aElqNlhETGRmNmc4SDAzYXN4STFONUtCU1dOSHZFQWxzZER3QmlqVmhiS2Fn?=
 =?utf-8?B?MXhERERlc3lrdVRxTEV4QjRFYUhRMk1wc0RTQ24zSTA5WmFTSnFtS3g1Z1Bx?=
 =?utf-8?B?czBXWlJrbE85bWVYbTNqdXhsQmNQSU9wZlZuVUNXcVB0Rzk5YTdRWTRnMVhK?=
 =?utf-8?B?YU1PNnpxRU1kSUx4QXEwK213QVlHdzFRZUltQ25XWjB2UC85cnUreUw5RVFJ?=
 =?utf-8?B?UC9jcXI0Y0ZrQUpmcXFVTzROS0t6UkdWTmg4MFF3czR0SFk1aUdaRFgxbisy?=
 =?utf-8?B?VkhQMzMyNzlpWlo1OWxSYnlDcDNtd1hwcXBHUFVLczF2a3A5MEc5czB0NmFC?=
 =?utf-8?B?aTJwYWZqRnIwWjRnVmdXR2R0NndsbWp3b25lTjJScGpRWjZiMTkyMEF4Ujla?=
 =?utf-8?B?UHBMd2pyNjFpckRLNDRJOUtZdEVONFBNeCtRSkZUTTRlRVd0djFyQVM4WmNF?=
 =?utf-8?B?YjE0RGloejZyZE84WGNhREpwVHg4REIvQms5SHV5clNlQUdaZEs4MnYxdkF6?=
 =?utf-8?B?YTNTYTBXd2tvSjZmdUFTUHA5OFYwZ1BIWEdNcVlHbUZBRml6eHp2ZjJ4cnMv?=
 =?utf-8?B?NUdYN254cSt1SWh0OENJeldMdTNuOEFqekdyTSswK3lRaFhTbUR6Z2kyWVRC?=
 =?utf-8?B?Q3lmSDhhd3VKVk5wNnNyRkNTc0pEMGNKVUdOVHpDUU01UFhJT1E2RytwT0NB?=
 =?utf-8?B?M1ZwWGJNTTVQaXNxdWMzdEhUM3UyQXFqeHozdGxDVjduL0pzUGYxcjdXNUZx?=
 =?utf-8?B?dnNnc2s3My9FUnZ1Ymhqa1VJVlpSc09sSkRscVRIZ2dPTHVHRFpFQVZndU9O?=
 =?utf-8?B?VU5iSlR3ejVGRUJ6bEk1eURyV2hlbmRLMitqSHFmYU5wK3hDMTNzbjFHalox?=
 =?utf-8?B?Vk5pTXN5cllpWGdLdnZZbUxsOU83cnBaaHRISnpUVERXbEdNY3NTVDJXN3J4?=
 =?utf-8?B?YTM0Y3NwcjBGbjBkUG9UZmo3Y0cvTWRTRmdqTG1oY2cvK3ZRRzdyS2UvWHlX?=
 =?utf-8?Q?v3NQBvE/R1DGS56uU4uSyF2PC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c9f6479-1253-44de-00f1-08db93287275
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:16:53.3141
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9aIwMBP9bxMtRd7ALWMl5DuGqXeZd0D+G0SNgzuFFOHCLxOMQkMZuJKhl/PEUOaWthRSKw+E6xPGkURVkhCBFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6998

On 02.08.2023 02:11, Shawn Anastasio wrote:
> --- a/xen/arch/ppc/include/asm/asm-defns.h
> +++ b/xen/arch/ppc/include/asm/asm-defns.h
> @@ -16,6 +16,13 @@
>      lis reg, (val) @h;                                                       \
>      ori reg, reg, (val) @l;                                                  \
> 
> +/*
> + * Load the address of a symbol from the TOC into the specified GPR.
> + */
> +#define LOAD_REG_ADDR(reg,name)                                              \
> +    addis reg,%r2,name@toc@ha;                                               \
> +    addi  reg,reg,name@toc@l

Didn't you indicate you'd add blanks after the commas (also) here?

> --- a/xen/arch/ppc/ppc64/head.S
> +++ b/xen/arch/ppc/ppc64/head.S
> @@ -1,6 +1,7 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> 
>  #include <asm/asm-defns.h>
> +#include <asm/asm-offsets.h>
> 
>      .section .text.header, "ax", %progbits
> 
> @@ -11,16 +12,19 @@ ENTRY(start)
>      FIXUP_ENDIAN
> 
>      /* set up the TOC pointer */
> -    LOAD_IMM32(%r2, .TOC.)
> +    bcl	    20, 31, 1f

Hard tab slipped in.

I'm happy to take care of both while committing; then:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574735.900282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6BX-0004Gk-AX; Wed, 02 Aug 2023 07:22:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574735.900282; Wed, 02 Aug 2023 07:22:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6BX-0004Gd-6I; Wed, 02 Aug 2023 07:22:19 +0000
Received: by outflank-mailman (input) for mailman id 574735;
 Wed, 02 Aug 2023 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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6BV-0004GH-Al
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:22:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e03c6a5-3105-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 09:22:15 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8106.eurprd04.prod.outlook.com (2603:10a6:10:24b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:22:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:22: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: 4e03c6a5-3105-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Du1ULJ7lrsl5Z356G7qKKoAohXkUltzit5Es1uNAtdI8csayD5qZHQofQSCvg6u6ej4Sw5JvtGda1uFf/Hjxxg+UcpDv2MGFiddI3Y5tA7kFjhVHH/MgFWNKxLC+al+e5qeE490OglMF2vjuBq34JBEWtd5+9tccKZuLQL9YeRAlEu6iHP/NmOFmWQl1zZBfz17fiRy7VOYywnUG5maffGEnrLuzO2ELsmUsWAXSerMuQ9KtmNr3T2XHcFpVEX2B9uQe/4XF7YO5X27ppCZg1j+NvgKTPrMwV3cOAHsNe+GsimcatgIdCHUi3mKJmk56YjXJRFGxMVZMLIZAEWFf6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J+DUHtIaXyD72TldqUTpHnQTaJ8xCIyWshquJfI0BDg=;
 b=W32Mc3e8J5MMcbgPRpSdnupQJcPoz5/koavFDqNN0nobwchkQDZqVvhDyeYsC65F34e8KePMQjsFKPPFKEMpbZtDLlZV8JZcVv0JOOz9S4tLVL+NMXJ+ZHnOFLtmYeUJz/e9BOd3lBDPaDdiFZqOOF0mSb49xmdHUOslPVpKSPutHKEk+oGzkznqX2ke8CojvO/TKmLBLA0G0sw/cI7QlmmCzu0aBdCBA4r0UrCPpkVMiiG/FDRrcedWr96reIE6B3gmQQu79kVxqq0JU8+2jUvYNK9dO21sBvoF1UkLaEsvzBHcugdY3T2Uq1QmdhXfUZe7H5KcKCZ++baarL6gvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J+DUHtIaXyD72TldqUTpHnQTaJ8xCIyWshquJfI0BDg=;
 b=Y23jqz1GXfec4Ul4ZF9VvJlCE8VnTqBCdBaZv3CDzF0k06Qbhc0Hy2iApYKNzgoAT21omcMLZsD2y2NhRdvYD3lvTpN4J+Gdn+2qrHH/eeSNKi0W/y1kdZeksjlcJOH3FVX/ITaSF33B8ItCCk11PIz2DX5nrgGv+5S/9H6kRnF+OabBH6W2FPkyOZt0FQr1JIf5PM+awA0qPo6gdcKSMFS1DE5Xw+Fz1zExCvw8TQYsNEQNeK4HMX7QSi67bO4VnZzmONvAQ4WR3p/LJ3U1zFyLLz50faz3lGj7TSg2pYcXD62PO6wNfE+eDc1gClQyC49AkMqbDn+1rnwA+yfrUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7501e7b-2064-38dd-af32-738e01a830c5@suse.com>
Date: Wed, 2 Aug 2023 09:22:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Khem Raj <raj.khem@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20230801174930.2995947-1-raj.khem@gmail.com>
 <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8106:EE_
X-MS-Office365-Filtering-Correlation-Id: 65fa041a-8034-49ae-6506-08db932930bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TnnhvaBTQ6pg7xhQ2d9VAp3u5HOrDGNSFVjo/XLKF+7K4G+zphwK0xSWy/g2JqdaqV/6Z5APXk2ZtIX+Dw1M3BzHMGZKhnPFFNcwFoPQpd1x1qmM++SM56Zuiyo9ef6wyV6omm/R+FwnLFsZd0fHs+kx2VSSMI+iRPHX++h/gxk7ZCVVTMdLIiR5vB9fdVbLIyum12NqL6oFs6zmySr5FjhLQO3rH8Z5RrPqVY2EwGbi4LVduNZSg8xW+Ud4S5armkwQqByNyh6F6SQXnEcNlkrHm6ZVFf4uKgYo/QZF65jlFTm5EvqQuIomU2oilEsogs+1+SZWKWOqdA4RmVrTh6Ob9+pg28om0WXJGG7ZXtc4yIOMTgWsNNROmlBMyZH7idXUFtHhCvaxu9p81QV4M9uoHBqyzTbdzKVGFSN5V3G+Mwg7ysKWkz43jh+ZU44ig61h1eL/vP+R6P2FjIuElJb8++iyZjmVKrDc3Q+QI15N3fvt/L1NvAorqTInabcuWUt7gobxOvzVM+nwnBOQYt1g5KHwGSNtg4BZ0OBW44tbIIcCHu5+ZFFOibNxJzXimRABMzk6s9NYTo0O6tTRQHJn3o5W6h7ZJtX1cEYs62FSNjPxq9dFAqxZFpvcnXWX3UUHyNtRreRnDSidkvTxM1VvhjuBPECMOESc3iGIMS0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(366004)(136003)(396003)(346002)(451199021)(2616005)(186003)(966005)(6512007)(316002)(86362001)(478600001)(54906003)(110136005)(38100700002)(66946007)(66556008)(66476007)(6486002)(4326008)(31696002)(6506007)(53546011)(36756003)(41300700001)(26005)(8676002)(5660300002)(8936002)(2906002)(83380400001)(31686004)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Nm9NTkZTcEFUNGt1YS85L3cvSkovS0ppdUhaN2VDRlVKS1AxdTR5RDduMFVY?=
 =?utf-8?B?MG91RlBTbjFiNmsxelExQlAxWW8zQW9RSmQ0RzZlQ3gyU0tmekcrdzZhL2Za?=
 =?utf-8?B?RGdhVEpzQkF1QjVFWWN0dGdHSTVyUllVclNzTEU4Y2l5VitpWmdwVWdHMTkr?=
 =?utf-8?B?WEFVTXYyTmV6S2ZpR3RBbGZkM0ZDVmJhcCsvdUJ6dnd3dFczNHVzQkpFTGxq?=
 =?utf-8?B?M0RPazEwTHdLSnVEUWhRR3V2UklBdEI3eDdDMiszSHlieFYzbVlIRm1MbElh?=
 =?utf-8?B?N1RsdFFDZ0JxTDcyMmdndmRFa0dsbDFFRWlneGJOQmxwSlYwMU4vZjlNNnNa?=
 =?utf-8?B?ZmxlYVhzdDUzRFROcXBKeXdPdE5lbXk5NmZuK0NMbFZtUzgvMUdTdFpTbUtM?=
 =?utf-8?B?NTlMREdabW9DaGVMMVI2ZnlsbUIwb2tzbjJMdVJSUWJGYUR5QXRWQ0J1MlBW?=
 =?utf-8?B?cnhLdEFlQ2prVStmUlVxWGV0NTM0MzA5cGpkdFJZdzhvMFR3UXRjSG5qK1pP?=
 =?utf-8?B?RG1FdHpiZDFBY0VoNXlxTVB2SVBZRGZFRk9yb00rMVlQenZkRlV0SUlzVHBP?=
 =?utf-8?B?dnViTGZjcWJMaW5iR2tTYTZNOXg4Qmdob2QzeU45b3hsTGJnQjVTMm13RlJD?=
 =?utf-8?B?MlAwd0ZkT0ZHR1NmeWp4bmo1alRIUWtOSkwyaGVPWk9XYzZueWU0bVBZMjFw?=
 =?utf-8?B?bTRTbFd3WS8vOFRrY09PR0wyYjlnbWk0QVJMVE94OExwT3UzcHVBUldtQVNB?=
 =?utf-8?B?QnhBRkdaaGxGOUViMGQ4WElhcmk4eE16OVc1aTg4bkZJSUVSczJSUnhtbGpI?=
 =?utf-8?B?eUlzWDA3aTRMcjc2K01jbCtoR0k4VG1hNk15RlVnNkVGSng4aVZNNDRTdVhX?=
 =?utf-8?B?ai81RjBlUG1vSGN2d0laNkdnYWRLYlk2Y3JDV3l2NEg4YXBKSUhtdC96bm1I?=
 =?utf-8?B?aVJWZEJTQ2FURXlkMVJsdDV4OVRYbk91NlJhN2cyWVMvWEprSnA1SGpHSjdH?=
 =?utf-8?B?ZTZaR3RrYnB1ODdneFJ3U05ZOVdZWDFQc2pnVityVGI1OXQ5MlAyV3p2emVj?=
 =?utf-8?B?QXpBZGo2eGRxaTIyTE9WbUMyRlBTUDFQQlVqc3FVOXN6VXVoNWxDMndOOVQ4?=
 =?utf-8?B?L1A1KytuQkZvcEgvRlN4MlZvMGc2L1JnZk5GKzhsQ1krbVJIUEQxVUJkSklX?=
 =?utf-8?B?Z0ZBOHIyRFUzR0VYbnFHRnJ5Y3NIdnFTQWY1NDZvRlAydFZSbk1ZcVMza05E?=
 =?utf-8?B?VGV0RG54aGt2c0w4UEVBYlZrOC9BRUk1d2hWbStnOHRIT2Y0RllzQTZIYzY4?=
 =?utf-8?B?U3ZrMzY2MGdLeDB3ekg1cW9jeHd6RXRJZXVDamVaUytvckdnY0FhQjd2bHJL?=
 =?utf-8?B?U2pQdDc4bVVzVjJpMnRvaStyWUtlVHo5R3BxU09EQm9PNDFSTmx2L3NuM2h4?=
 =?utf-8?B?aE43aVBWaG1Mekl1TTU1Rnl4aE4zclRtNi9jbWEyWEVuNm9tcVNGNStvbS92?=
 =?utf-8?B?NVg3d2Q4Y0x0UStVUjFlTmgyZDRzeXQvVlNmTFNveTZObldKSGdmVTYyenRk?=
 =?utf-8?B?Rjhtd0JaRkxmZ29MNnl0MDZ1aldmcmw5VjVQSjltYU1UdEEyVnRPYXpMYTFt?=
 =?utf-8?B?L2lLLzNxUGUveXNnUGNDKzJpZk4vYnBnaWM1N2wxaVVuQnJWNnc5c1RGOWxh?=
 =?utf-8?B?alNxZ3hZRDJmL2xyM1pBM216ZlB4QzY1Zyt5N3IraVlIdUdVMHYxdXJJNDJE?=
 =?utf-8?B?eC9BN3JhMWw4QVQ5NXIvMVZZQ1Z1anRjbVRSN281MUI1WWRla3FFK3dnYmor?=
 =?utf-8?B?NTh5ejQ5Y05IeldxZ01mUGZJaTFGODNwazFIcnV5Y3o2NFpkeFZUVC9SRkhL?=
 =?utf-8?B?QWE4cDIvRk5YUjRNNk5VYWlBWFNEOWV3ZHpldWx0NktWMmZtSVJ1dHg4ejNW?=
 =?utf-8?B?RjNkNkFpUmFZWjBNNXRxL0lkMVJmQUxNenFlVzlzc3FWbks5SVZpNWxQUEN5?=
 =?utf-8?B?OUxGVmthWnNOMFNUNjVrVDF1Tm5TZ3o5cmZmQmU3VXhnZkszN3JZdGovT0or?=
 =?utf-8?B?V0ZhajFjNGFRdTFVTGJYakVsQVJjemcydE81MmFRWDlrNlMxbUNEQ2Yxd3pJ?=
 =?utf-8?Q?lLERUv99xjjoNOtD2j7MVHME1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65fa041a-8034-49ae-6506-08db932930bf
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:22:12.5402
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EXsqwY9wDgQREcj4L41vvOyV0qDv38/tn7FZ6yvQqmWL/YQqn9r/5lx+Rw8QoEA2c1iB8SkECQsH4b9wJMd4Uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8106

On 01.08.2023 23:02, Julien Grall wrote:
> Hi,
> 
> Title: This patch is not arm32 specific anymore. So I would replace 
> 'arm32' with 'arm'. This can be done on commit.
> 
> On 01/08/2023 18:49, Khem Raj wrote:
>> Assembler from binutils 2.41 rejects [1] this syntax
>>
>> .section "name"[, flags...]
>>
>> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
>>
>> It is almost like a regression compared to 2.40 or older release,
> 
> The next word after ',' start with an uppercase. Did you intend to use 
> '.' rather than ','?
> 
> That said, the documentation has the following:
> 
> For SPARC ELF targets, the assembler supports another type of .section 
> directive for compatibility with the Solaris assembler:"

But note that "SPARC" was added there only by the commit introducing the
perceived regression.

Jan

> This leads me to think this is not a regression and instead an intended 
> behavior (even though it breaks older build) even it breaks build.
> 
> I would suggest to reword the commit message to:
> 
> "
> Assembler from binutiles 2.41 will rejects ([1], [2]) the following syntax
> 
> .section "name", #alloc
> 
> for any other any target other than ELF SPARC. This means we can't use 
> it in the Arm code.
> 
> So switch to the GNU syntax
> 
> .section name [, "flags"[, @type]]
> 
> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
> [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
> 
> If you agree with the commit message, I can update it while committing.
> 
> We should also consider to backport.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:27:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574739.900292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Gl-0004te-TM; Wed, 02 Aug 2023 07:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574739.900292; Wed, 02 Aug 2023 07:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Gl-0004tX-PQ; Wed, 02 Aug 2023 07:27:43 +0000
Received: by outflank-mailman (input) for mailman id 574739;
 Wed, 02 Aug 2023 07:27:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFyk=DT=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qR6Gj-0004tL-M1
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:27:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fc73d92-3106-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 09:27:40 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-87-5-121-62.retail.telecomitalia.it [87.5.121.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 676644EE0737;
 Wed,  2 Aug 2023 09:27:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fc73d92-3106-11ee-b25e-6b7b168915f2
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] xen/string: add missing parameter names
Date: Wed,  2 Aug 2023 09:27:32 +0200
Message-Id: <e771afd1e1f6906a440883f4e6ee94847cbc7f7e.1690961143.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names to address violations of MISRA C:2012
Rule 8.2 ("Function types shall be in prototype form with named
parameters").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
index b4d2217a96..805947d82b 100644
--- a/xen/include/xen/string.h
+++ b/xen/include/xen/string.h
@@ -12,27 +12,27 @@
 #define strncpy __xen_has_no_strncpy__
 #define strncat __xen_has_no_strncat__
 
-size_t strlcpy(char *, const char *, size_t);
-size_t strlcat(char *, const char *, size_t);
-int strcmp(const char *, const char *);
-int strncmp(const char *, const char *, size_t);
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
-char *strchr(const char *, int);
-char *strrchr(const char *, int);
-char *strstr(const char *, const char *);
-size_t strlen(const char *);
-size_t strnlen(const char *, size_t);
-char *strpbrk(const char *, const char *);
-char *strsep(char **, const char *);
-size_t strspn(const char *, const char *);
-
-void *memset(void *, int, size_t);
-void *memcpy(void *, const void *, size_t);
-void *memmove(void *, const void *, size_t);
-int memcmp(const void *, const void *, size_t);
-void *memchr(const void *, int, size_t);
-void *memchr_inv(const void *, int, size_t);
+size_t strlcpy(char *dest, const char *src, size_t size);
+size_t strlcat(char *dest, const char *src, size_t size);
+int strcmp(const char *cs, const char *ct);
+int strncmp(const char *cs, const char *ct, size_t count);
+int strcasecmp(const char *s1, const char *s2);
+int strncasecmp(const char *s1, const char *s2, size_t len);
+char *strchr(const char *s, int c);
+char *strrchr(const char *s, int c);
+char *strstr(const char *s1, const char *s2);
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t count);
+char *strpbrk(const char *cs, const char *ct);
+char *strsep(char **s, const char *ct);
+size_t strspn(const char *s, const char *accept);
+
+void *memset(void *s, int c, size_t n);
+void *memcpy(void *dest, const void *src, size_t count);
+void *memmove(void *dest, const void *src, size_t count);
+int memcmp(const void *cs, const void *ct, size_t count);
+void *memchr(const void *s, int c, size_t n);
+void *memchr_inv(const void *s, int c, size_t n);
 
 #include <asm/string.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:27:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574740.900296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Gm-0004wo-4p; Wed, 02 Aug 2023 07:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574740.900296; Wed, 02 Aug 2023 07: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 1qR6Gm-0004vZ-0j; Wed, 02 Aug 2023 07:27:44 +0000
Received: by outflank-mailman (input) for mailman id 574740;
 Wed, 02 Aug 2023 07:27:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6Gj-0004tM-S5
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:27:41 +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 0f7a321c-3106-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 09:27:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8343.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:27:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:27:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f7a321c-3106-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LLJ1bccHBmM8NFJvdgXz9YumDHKh1xh76rscYl8UkkX1Sa/KXtfteUA5P1I0hOt0tu8SW0arXi3Pe4wZ8tLhsI4LI1JtCzZPUfNnnau7pLMlxjyc2bwshmQ92OVsdoG8HPddg8P4uiNm70snzjfZFyowbU4Fuz33BaBBhtP5ZFusIo+U2jo/F13w0C/2Jf1cHnemYM7O7ozPU9TsCvd9hIBajAc2jCO/BvrQpzXJfCdQFteGhFKWXEerQ9pnoO5KYt9PGKyqsz1jGD8Q4GuL/VnKFB24kt1crLx9i2pcwTTvjIr/V/q07gL/FE/mlAGCkav0vhUr50kPz7QMsogJsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5pRboXmPxAwZ6LRmPy3jmICi5TEhvx+Bu2Lh7GmNhJs=;
 b=dq7hDxBgh+B85l3t3GtP332ayiZdUp8OoU2Tfb3jLRle1f8dg54FTZmdpMV8G+gGJ+mKU37ZbZ3yqbdVdkLjV7wktOEdcE1jSCWqcTGnhgqz9BFSZozJoAXe0Mwq372yNzy0gzdJ72EJsyb/peFRkKLm5Y9G7QDKTwpku7ZbZKDlmmnI1CyBhcL1o/dumOzZ5mXiKws5oCGOVZ1z1mxbAo+mj5shyCHpFhBom7WxDwVQe6UHvMra9s0OcbXeWzoc7qME4g4FpUwgrRRA98DkQ+O2pXHJL55yMWL7XVBsnMMOU1fwUTtWXhFAj37MVFRWqFDAHEGcVohHAM/0DcMgog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5pRboXmPxAwZ6LRmPy3jmICi5TEhvx+Bu2Lh7GmNhJs=;
 b=2DQ1yXe7ZIWvFMCJAAm7if3/xI47C8MMbrXjoYY80Jl2ZwbkCzZgwF65ZObGDwHHmU6A8kkCHDCpL+FI4IjbwAw875sBeLyQIXWiJoNQckZenUsnyX8VdnAZXFO7gMQGNNs0ZQJ/v4uOoV94V98yHnvtyE2Js2fw2GwXfjy0ZKZuuc9JtCVEDQaqadZSu1oDWHmo7ZWPwyrQtPQLJFYqC/m4Po/i8YdCg9HCmRlmlXR1CH6sTQzVwNcUClCgYTGY7KpGrotVbQ0qOjffprFNLl2DrwTItdnO4FqCQsqAfxn9t6Y23Jr8X/zxCDvwPhnVb/84laJ6IeGnOF5RNdjOVw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6ce3a936-e35e-caf6-b197-66441292bb9b@suse.com>
Date: Wed, 2 Aug 2023 09:27:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801161409.25905-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8343:EE_
X-MS-Office365-Filtering-Correlation-Id: c568ad1d-6076-4e58-c428-08db9329e258
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MxEXircvWrdY1uffGuTQ/+ZsfMX+94uzQRf91bTCcZJMcf9WEkXU0ayN5Qk845jgJJc2TCg3loH5sIAhakft1RApCeiX1SAt71gDXTQuZPMyNKGRSi6vlX2OAZKm7NPi7woUzpTGB11AOmmCG9yFfm6w84sT54zxQWvweNFOMaRrxilSASvliJ0vpca0h3vW1Akr3AUNvDqW/vjuXpvKxUtcM+yoZ+kdxf+O97Wu2QWgTkPjYngj+aDHgwQ08/cBi5mh/kvH27QGrtsxaSD/RZFhz7hD3gaHTmV9aq02LaVdor7rJT96h+KvCBxMeafSuVqRag2QFrG8Iw7QPEOnWN7RJpjHntSH7sKxjB0t5JYlB5vLRDzYj/8qt50KCLE6OY/9rVGkdJ/W+zKvJHf67YILiLQtWKDr4iGRSKcqg6P8IOdWvfdAYonaxKS1rdLOazlTP/uPOke8Mykjakgije4KLxbts027qEbeKYaz0R+vcIld15ZG4LA28cFddP0VK2VIzrC0XV5Pk8S+H+bypUYLIrUnOu1aujS87iVNA4CjdwQQWOtSIx+5tH72+Cyw1hlgaLpS1qyioC1yT67tLLRv0x4UF4mcdJFHgkN1KEBHQNetsKZ1/jCmUQmoB/0jKgBXmvbIr7eI6+2FoA6JtA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(366004)(136003)(396003)(346002)(451199021)(2616005)(186003)(6512007)(316002)(86362001)(478600001)(54906003)(38100700002)(66946007)(66556008)(66476007)(6666004)(6486002)(6916009)(4326008)(31696002)(6506007)(53546011)(36756003)(41300700001)(26005)(8676002)(5660300002)(8936002)(2906002)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHBZc3RPdFVLRWtrcnZ6emlib29ndEx5UUtMZzFZQnVidVZReFYyQTdPOVFt?=
 =?utf-8?B?RUFob1orajltWU1mcUVjaWRCZDJINFkxVlRIOVdXQWI2TnlzT2lyL3d4N2Jy?=
 =?utf-8?B?bEw1WHoyM3FPcThsc2Z5Rnh5SGpKU1hQNi9ZTU8yUk1NcDZlTjNWRW1hdTAr?=
 =?utf-8?B?V3VwbHkwQVl1UzFUT21mYzl4MGl1RmRPWDV0cytDQUgwNE0ycWFwYUtibUU4?=
 =?utf-8?B?N1BadVV5UjlOb3BHL0lLSjhTT1ZRU2lnOW5XNlJFVjdwbzRhQ3liZ2hQdnVQ?=
 =?utf-8?B?a2V1V1JFRDJjOHB2OWduVlV1TjRyc2ZEL3BkaDZVWituUXdQY2ordXpUMlAz?=
 =?utf-8?B?WmhxS1JISTdHNUJLSGR6aDA3YWdnVmVwNVVKSk9XMjFzcUxSVDB2bEFqRkNp?=
 =?utf-8?B?TE1VcGVvNTVYVXVUYnhZMVhBZEhXU3VzQlo5ZE9qT0NvTk1VWDEyQThRNXBZ?=
 =?utf-8?B?ak42RFlITEg1UlVQNWo2RWo0R3Fvd1o1YzF2WDJrQWNSblJPRm1KZTU0RGUy?=
 =?utf-8?B?MU9vWjhoSXNsM2Fac3g5a1QraGJTSDBNalhUTUd3ZG83L01QdytIS0xJOGJT?=
 =?utf-8?B?VFptaHJCVm9pTUMxcHZIa2RZR2N4NFJSU2huN0NjYlA3cTFhZzkvTXBmS0lV?=
 =?utf-8?B?T0lXWEI0ZGdWZityaHhTYWZ0TGdpRGZUY0lITlUraWZycm9hZmZXSCtobnJE?=
 =?utf-8?B?b0VGSWdELzBrNnNwclNVYndVVC91VE52L2NxeDFmdU5URm5HRHVxV2R2NU9W?=
 =?utf-8?B?VDVzRmQ4S2FCd2VRNmNGQVZpUnFjUDErbDhpMEVMTlJqaFNSUU9Mc2Y1clNU?=
 =?utf-8?B?amxyMU55TFdwNGQyQVVjR0ovR2VlN3RIa1NCRTlGTjlMdjFLOVhiSm9DcXAw?=
 =?utf-8?B?ZlJqMmFvZ2RNcnNOK1Ayb2pCeU95M1YwYlVpTUtZNkc5S05pT3d6SlhpZWpB?=
 =?utf-8?B?MTZKYVVUK3hDWi9RUDBhQlNQQUp0QlpkZlpKSjNOdFphUG12Z3p1V2RBVDEw?=
 =?utf-8?B?MW05MVJxUjNXdDZ4dHFrb0RmVE5UUXdCQUF0WEE4NzlramNZTXZlQ3lObU1V?=
 =?utf-8?B?WGhaa0diQnMzM1lJTzlLTWxnaFl4N1JyL0U3Y0RobkljWmxySGN2RHZKdFhz?=
 =?utf-8?B?VnljbTBtWDQyTGtUQnpQNWQvTVhWdEd1VnVKTytWMU5sZUxtdUtlQWlRRTlS?=
 =?utf-8?B?dlBYY3JBVGxZV0d1T3pjTWxPWnRUVEIzbDhWUmVpVXZKbys0Ui81QWcyRi9v?=
 =?utf-8?B?aTdJQjNqQ2dianBOa0grRVJOb2l2SUdkaklVVCszd2k1Q0o3YmVLYUxuVHRB?=
 =?utf-8?B?dGtKSEZQRWVBRSsvam5HY2dpZW9lcUp4Vit4OUpybGI4c001QTQ0S0tOWmhD?=
 =?utf-8?B?dnBxL0xHcncrSGpPdjdoYVl6MW5NdTdjRVFFRWwvUngzWXc1S2JGaVI3bk5z?=
 =?utf-8?B?aGhzcHJISkw2YWY4cHhteElhWVZUSFo1OG8zcmhaZEN3YWdhQXE2TUtCZTFU?=
 =?utf-8?B?TzRvRzVEbUs1eHhyaHVVL2NuazRQN3pUM3ZvbFlabElJV1FQU09TSCtwOHJk?=
 =?utf-8?B?dUhnL2VJYzhtQndCZmtoTUJnTWl4UGNSUXVIRlZEaUVueit0RUt2N3BpbHhJ?=
 =?utf-8?B?cmN0SU5uVGFKUGpZSXlIaXp4WE1odS82QTlFbWNYa1p1c1FtTGZwbE9TSWxG?=
 =?utf-8?B?SUZWcmJtbzNVemRUY1Z4VnpaTTh5MFQ3RmZkbmgyRzgwZTB3UkFlK1ZBbWcr?=
 =?utf-8?B?cHVja1dGYXJoUU51amFEY09tM2N3ZkZ2NmY5MlFRYlViMW9iVURSZlRUTUlt?=
 =?utf-8?B?VjZQTUhKOWt0MVpQcVZHYTN2cEQvejUvVHhWamcvS2FNekg1MEhWL05ZR1Zh?=
 =?utf-8?B?a1dVejVSek9WaVlnRU9oYVhWbSt2NGc2WDRnWjF0ZXMrdk9lVXNMdFpEZkVZ?=
 =?utf-8?B?OVBCQkgyQ3AwYkhML0ZFcURBWWQ4dXprWFRiQmdrZ0VLdlo5ckVsS0pXNjNG?=
 =?utf-8?B?ZVFJRG9tcTRjVzZCWGxvYlM0ZXFFUXdJM3pLa2NiQURERDZ0MkVVODcrdjdU?=
 =?utf-8?B?MkZhWmdIa0ZDT1hFT3lMNVdBM2tzRXBIcTB3Vkc0N2JFSFA0ZmRkcGVUaXVD?=
 =?utf-8?Q?gvv6R8M5te79WTYZwwBQPO+y8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c568ad1d-6076-4e58-c428-08db9329e258
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:27:10.4475
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rgKh/Q3e6lyhwpQwZcgYndj/ZVWD+lQ6vl7OfLMZ7th0kW1iN1XZjxf1dUtD9PmTGz8SPhyjqL09kiWFyBjxLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8343

On 01.08.2023 18:14, Daniel P. Smith wrote:
> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
> introduced for when the ability of parsing DTB files is needed by a capability
> such as hyperlaunch.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  MAINTAINERS                   |   2 +
>  xen/arch/arm/bootfdt.c        | 141 +------------------------------
>  xen/common/Kconfig            |   4 +
>  xen/common/Makefile           |   3 +-
>  xen/common/fdt.c              | 153 ++++++++++++++++++++++++++++++++++
>  xen/include/xen/device_tree.h |  50 +----------
>  xen/include/xen/fdt.h         |  79 ++++++++++++++++++
>  7 files changed, 242 insertions(+), 190 deletions(-)
>  create mode 100644 xen/common/fdt.c
>  create mode 100644 xen/include/xen/fdt.h

The filename here ...

> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -303,7 +303,9 @@ F:	xen/common/libfdt/
>  F:	xen/common/device_tree.c
>  F:	xen/include/xen/libfdt/
>  F:	xen/include/xen/device_tree.h
> +F:	include/xen/fdt.h
>  F:	xen/drivers/passthrough/device_tree.c
> +F:	common/fdt.c

... don't match the additions here. Also please insert in alphabetically
sorted order, ignoring the previously misplaced final entry (entries),
unless you want to take the opportunity and get things properly sorted
again in this section.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:39:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574749.900312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Rz-000711-Aq; Wed, 02 Aug 2023 07:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574749.900312; Wed, 02 Aug 2023 07:39:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Rz-00070u-7y; Wed, 02 Aug 2023 07:39:19 +0000
Received: by outflank-mailman (input) for mailman id 574749;
 Wed, 02 Aug 2023 07:39:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a4RV=DT=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qR6Ry-00070T-0I
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:39:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae6d6273-3107-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 09:39:15 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 502164EE0737;
 Wed,  2 Aug 2023 09:39: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: ae6d6273-3107-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 02 Aug 2023 09:39:15 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 3/4] automation/eclair: add scheduled pipelines
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <alpine.DEB.2.22.394.2308011708240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
 <76f3cdddcba485e8124659566b2f992b3b14da17.1690881495.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308011545350.2127516@ubuntu-linux-20-04-desktop>
 <ZMmdvllVvfDz3T92@mail-itl>
 <alpine.DEB.2.22.394.2308011708240.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <3b62d7e9d7d630e2bc31f0579d3bdb1f@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

Il 02/08/2023 02:08 Stefano Stabellini ha scritto:
> On Wed, 2 Aug 2023, Marek Marczykowski-GĂ³recki wrote:
>> On Tue, Aug 01, 2023 at 03:55:20PM -0700, Stefano Stabellini wrote:
>> > On Tue, 1 Aug 2023, Simone Ballarin wrote:
>> > > This patch introduces six new ECLAIR jobs that run only
>> > > when triggered by a GitLab scheduled pipeline.
>> > >
>> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> > > ---
>> > > +.eclair-analysis:on-schedule:
>> > > +  extends: .eclair-analysis
>> > > +  rules:
>> > > +    - if: $CI_PIPELINE_SOURCE == "schedule"
>> >
>> > If I understand this right, the idea is that someone would schedule a
>> > pipeline (Build -> "Pipeline Schedules") and as part of that, they would
>> > also define the variable "CI_PIPELINE_SOURCE" to schedule.
>> 
>> No, this is pre-defined variable in gitlab:
>> https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
> 
> Even better! Thanks! Then no need for a comment and the patch is OK as
> is.
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Here is a link with the instructions for creating scheduled pipelines:
https://docs.gitlab.com/ee/ci/pipelines/schedules.html

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:42:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574754.900321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6V2-0008Qr-Oa; Wed, 02 Aug 2023 07:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574754.900321; Wed, 02 Aug 2023 07:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6V2-0008Qk-Li; Wed, 02 Aug 2023 07:42:28 +0000
Received: by outflank-mailman (input) for mailman id 574754;
 Wed, 02 Aug 2023 07:42:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6V1-0008Qd-IJ
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:42:27 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe02::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1fa3bf18-3108-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 09:42:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7249.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:42:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:42:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fa3bf18-3108-11ee-b25e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQNDVesECgA8x0MH6Po4rUnBqEetg29KdK5Bmov0mumH14YwYpxuLI47MNE22NmVvEuryf41duEbODrCoruFh5du+lYLvU0/SBggm8/ZJtxZ0xWh3TvqZ5wYIpro7ZfS5dJFn45hRY3hgmO7Cb8x0O89pFA1juc8xvmhXL1pWP9AJAVprzPEEpJQEZIjCGk8QFeRIzDxCFC8nidzkpUUsA3H/4ELakvTtijtkHcitwJHaIwjpudajpK/iHpR+2ntX3d8yaX5yrk7skBBJdB8h77Hg1JQ/RBf3Y99PQHqp2OCszHJMuOmJ6O4HOJEk4prUq4VRAccI0JI0Vsjnzul5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Wn7uAtj3uJy6zSmTzq4KrF5V4bBuF2v5ugXcovyBDE=;
 b=SrKunJLJ/OI7kwx7ZSVeB6pfZj9M+8+AXqL0EL4gByuRBrO5fiUU013mAdSqXI6AEqoa7G7FHdPPYH98CuiAZc2Fm1/5A/gQQBzfu1gmoUFFSJGdzCGv/4L+aYYFd+CZnoH/cSLhYdFpKVcNrPgf12Qx0r/Vaj0U/xev4KLqRL71aoxPooV1qfr+KVL9yTK3Pcl5Qqp1KQ+Ko6SOTxed+PpNDih0i/DNtMG/fohq3OHjam7yT5WWSaq5ym6sG5O9fY+XZINgR/ptMGWsbTwjAxd+TpqIlJWfh3AS4oA4rtyN8wVMym5nm/3cPtd4lZz3SznxxeoZjW9uNc492xStGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5Wn7uAtj3uJy6zSmTzq4KrF5V4bBuF2v5ugXcovyBDE=;
 b=NC61oG0Qj0OAvfkfdgOKSDidS6dziIC3FdxJj5v26/AOc/uKlJq+NyNmDAbbZ0GJk4iGptS5x29b0kxmRjyLpT9RbRrRyplz+alc/JkQFdXZ1SOHWTq3gNHWFXFx+LugRv1jy72pdWYuZhlo+w9cCdEZry6RFEZpqX8A/gWkeNbZiUngT224B1v4kolAnWdEqMiT0E1hGMaBDLWPRimYY2KQ99+XaSkK5L+LGh6rHb+nS2DK4JNWjh3COmzwlYteDufKH91zze/AG1MK7Ii+cuYvLHHnn88dhMFG7THm6EUsz5l6JuEeCqSZdxKBXN6Ua+R5CKXI0P31EHITLgOoww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3f4c0430-42ce-bb2c-3755-d5f6af8e3b40@suse.com>
Date: Wed, 2 Aug 2023 09:42:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, xen-devel@dornerworks.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 roberto.bagnara@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7249:EE_
X-MS-Office365-Filtering-Correlation-Id: c51bc3a9-edfd-40a0-4227-08db932c021f
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6J5eUIwCYel/77T3DMmFnaiwVK5vKE3gWvBZmpRNQw6g7BJCD2T2ov767TfIeD9d7wT1+VriwKhTdq6RkuSZUNdBkaPQv7AFD3vlw7zztPj/7+xdzOLjLkvq16iFp8FWit7OVeYzSp6e2yQ/gb0loLXwmUgysKBmpPy6PIlGG2LdhPaOpKmaTYMG7vl+03i4hh/UuvQbo5bvJQsS+bQD03BoqzEBHShPC9bc/eBWiqVQl17ZOaFFMtN9DXwuhZBJy/rlh2zSXFhGUzEtlNmPZtC2yIi7EsQQrnIT8nt+FChZffctXUZ1wk4zakasgB3VppITrteBDCQQVFSdFHT2ZgOb+ywJhb+6bQojecxln59oQY4SlAdMPE9h1ttqRVnrZEhdCHRGT6Oyr0GNY95EBCqdl0keveplw7g655s0kEIOvXphvwoeRfdxu60O5q3xOyKt40vWVY9WUICjjMPuSRIsTIF1aKJGYMsaQ6WDLDhNmmvPhlzI78Kx4LfRTwf9VxD/VdFPYqDGwD+W19e1NzqqyY2vmkXwwJSKl80gaOkEHuTAS8CqHF2OwDhlbk1udPIKnhvkvaelsk5Fig7Jp+75nKf5bYjwuzm6hioGHF+6MKIMHEPEH1DZpbSrmJmU2wla8RQU6ltrPOO6BDSung==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(396003)(346002)(366004)(376002)(451199021)(6486002)(8936002)(8676002)(478600001)(54906003)(31686004)(6916009)(316002)(66476007)(66556008)(4326008)(6512007)(66946007)(38100700002)(41300700001)(186003)(53546011)(7416002)(6506007)(26005)(5660300002)(36756003)(31696002)(2906002)(86362001)(4744005)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zm1RRGVkeUJnUURBQlZiVWdmd1o3My83Nm80OUl2WnBVT2VqSFEvVVpxa3RS?=
 =?utf-8?B?VzIvT2o3RC9KUzVsV1RNRkNVVjBsR1p0WXN4OGJobEI0TGU2anRJbndXaGI1?=
 =?utf-8?B?U1VPaFVGeExVMzFKYklGL1oyNTRMTXZuMnRHaTZweUhyeldwM0J6dGZINTZx?=
 =?utf-8?B?SWNkQXNlT0I3c0pQZmlBemdIL2tlRFhhV1FRNXJvRUFJQnpiN3JRUlRGdXJ1?=
 =?utf-8?B?c1ArNUZsdllUWWlqd2E5cko1RENyZTQ2Ky9IT1hTVERRdG9aZU51SnRMcC9U?=
 =?utf-8?B?akVqNU9VNTYyNTIrazhwT0s0WW11VEJPMDQ3VDlqNlIzdTdXdWlpK21nWGsw?=
 =?utf-8?B?SEVtblV2MGxIZXYxQk1uUnhEOWUwZUdERDdGdTZxdTQ2NXJlZmV6czg2U0dH?=
 =?utf-8?B?Rld2OEw3djhybGdtL0VFNklCUC9PQ2kyZ1dkZStaZFJyaitvRzBGU0ZRTE5m?=
 =?utf-8?B?c1QrRFptY3JLMXU5RHNVRGM5QXJOWTREbWxOYWZqOFpQeWorWVljMWRiOHY1?=
 =?utf-8?B?Y0djQVpzU1c5RCtTVFE0ZE9mRDVPME02c2pvZ0hwSlZZSWxWeTkrU2hHbjl2?=
 =?utf-8?B?R2FWZmFZWmQwcUVRd3Vud2phNmFhZytjdUJlR3gxQ1oyT2pBeU9ic0g1VUV2?=
 =?utf-8?B?dU1vanRXRGtGc0RicTNXamJHd1p5ZEM1b3hJNkVZL1hXWmxyZmQ4QjlaTjhD?=
 =?utf-8?B?Qm1JN1lCSDZjU21zdVppT09aemdLbjcxaXM2Y0JGaTRBUDlQYjNTaDZlMlho?=
 =?utf-8?B?R05ueUYrMUVhQnpOcTdWU3JBeUU4OHlUbkJXOUtzSVhtamMvWElhbjE2Y2pK?=
 =?utf-8?B?NTdsNitiMFRpcVF5RmRRbklMdzdYL1FTbXhLRlhCbi9pcXNkbm1wVXlZZDNx?=
 =?utf-8?B?czdpYW1aM2dlMmZ1ZU9rMklCb2Y0cVZtQVRrSytnN3VPZTVMajVZNThIRnNh?=
 =?utf-8?B?YW42YS9IVFNaRXRYM0xqNEZHb2V6Ukg3OHhoR2dDRXNMeU5GSmZQNVFCR3Na?=
 =?utf-8?B?VmxtSzBLaVNXVTZCSGhFQ1ZMTC9GZ2kyOWtzUzRnTDJwUEprUEFKdDIyNEJ3?=
 =?utf-8?B?MnlORXN5NVc4MDNGTTZQcnFweUJxUDBhdURxcTl2VUxoUlRMWnY4cFZZSnd1?=
 =?utf-8?B?ZGViVktaMTYzcUxjd2dqd2cybHdqYTdBWDE1aWlaWVpaSjJkdjBSVXJCUHNy?=
 =?utf-8?B?alZGb1lUK1MzNlkzdWFFTWJLSHdFTlQ3aHVNVTQvaDRTTnEvRDhTMGw0dmk0?=
 =?utf-8?B?TXpnYW8xYi91N1p3TS8zSnZkOVM0MTVRSjExRnhwR3hpOGY1S1NmQi9vbmdX?=
 =?utf-8?B?dGpMRTNFSkQzSzRqZlpVS3pTYktPYzQ0OEJZZy83amplRUJnNk04VEhJMFlP?=
 =?utf-8?B?ZUUrNWZ1RXVvR0lyeWJBbnV4Umw1elovMnhQQTZyak42WkFKNmZkdWhHOGho?=
 =?utf-8?B?QnZvT0xUSGYzSWxjVkRQbE1ZS3NPMldXZldNNnBDeFhPYnozMUlxNTFCVE50?=
 =?utf-8?B?d0tYQ0xWV1NqaHFGKzBFdUJQKzhDa2hXbnlqSkVucEpNYUpVK2tRcGNlUWMv?=
 =?utf-8?B?Y3dXWmd1YVdKbFpOWkN1eFB3dzZwUWN2eVRnMm1FRTF4QXZDUjg4ZnVZZlcx?=
 =?utf-8?B?VHByWXhYRXgyUHZ5TldVOG9zU2thazU4V0J2MktSMzZSUHRTTTlSNjB3Sldq?=
 =?utf-8?B?K1Yzb0MrRlNsQjh2cmJaWE9hS0dpSktkaGlwODhPT1JYTUxyZjgrU1g3S2I3?=
 =?utf-8?B?K0QzVUo3L1ZrTm9ORElzTm5BQ1krVlZ5Q2lmejdzQ3JwbHd4YUh4OWV3b0k1?=
 =?utf-8?B?ZFFxWHlWbHl2SWFQOGJoZFZvTmlWZ0VFdmsxTXRYNXlleFRBaVdYWFhqNVEr?=
 =?utf-8?B?d1dib1pUcnRRclV3SzNRL0lidTJqMnFrM2MrWWRLNUhnZHU0K0RUM25PNklk?=
 =?utf-8?B?SGY0bm85cE1PdHJGcFY2QWQ4enVoSEVlY3FYQnArSFZNZjd1Q1dERGNJN0Ux?=
 =?utf-8?B?YmQyTUljUFdmcUl2UzVDZkJUcnJWbXZrVUUyclVkeStLd2R1Qmp0NzVoNDlj?=
 =?utf-8?B?bUhKckNUc3pRZUhtclpyNi9EV1Y1ZWFrNXdjWmM3RWR0YXBrVVhBTmVzM0JH?=
 =?utf-8?Q?XCpg/IMbbqpZ90FxhxTC9Fpt/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c51bc3a9-edfd-40a0-4227-08db932c021f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:42:22.7841
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6pO78Epa877BiJzPIVoz+XU0DqpNizOcOVy1aXi8GyJeRSi48dog4FTX3OT9R0Q7ACAmg8zRoYUm/FbDspE9cQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7249

On 02.08.2023 02:24, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>>  void watchdog_domain_init(struct domain *d);
>>  void watchdog_domain_destroy(struct domain *d);
>>  
>> +static always_inline bool is_initial_domain(const struct domain *d)
> 
> I know you used always_inline only because is_hardware_domain just below
> also uses it, but I wonder if we need it.
> 
> Also, Robero, it looks like always_inline is missing from
> docs/misra/C-language-toolchain.rst? Or do we plan to get rid of it?

Under "Non-standard tokens" we have both __inline__ and __attribute__
listed, which I think is enough to cover this specific case as well?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:43:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574757.900331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Vj-0000Vn-0W; Wed, 02 Aug 2023 07:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574757.900331; Wed, 02 Aug 2023 07:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6Vi-0000Vg-Tz; Wed, 02 Aug 2023 07:43:10 +0000
Received: by outflank-mailman (input) for mailman id 574757;
 Wed, 02 Aug 2023 07:43:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a4RV=DT=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qR6Vg-0000V1-U1
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:43:08 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3907be46-3108-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 09:43:08 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id BF9504EE0737;
 Wed,  2 Aug 2023 09:43: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: 3907be46-3108-11ee-b25e-6b7b168915f2
MIME-Version: 1.0
Date: Wed, 02 Aug 2023 09:43:07 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Doug Goldstein
 <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 1/4] automation/eclair: add support for tag pipelines
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <alpine.DEB.2.22.394.2308011542120.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690881495.git.simone.ballarin@bugseng.com>
 <5e79b954062385c4d765c32347bcb45896d3ed5e.1690881495.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308011542120.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <35333b6e9a43c6b3cfb27b0808689e66@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Il 02/08/2023 00:54 Stefano Stabellini ha scritto:
> On Tue, 1 Aug 2023, Simone Ballarin wrote:
>> The ECLAIR jobs fail when triggered by tag pipelines (e.g.
>> xen-project/patchew/xen).
>> 
>> This patch extends the integration to support such pipelines.
>> 
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Thanks for the fix! One good suggestion from Andrew would be to check
> for required variables at the beginning, rather than at the end. As it
> is now we are doing all the work just to fail at the end. It would have
> been better to fail immediately saving resources. It could be another
> patch :-)
> 

Yes, this is definitely a good idea.
I will propose a new patch.

> 
>> ---
>>  .../eclair_analysis/ECLAIR/action.settings    | 24 
>> ++++++++++++-------
>>  1 file changed, 15 insertions(+), 9 deletions(-)
>> 
>> diff --git a/automation/eclair_analysis/ECLAIR/action.settings 
>> b/automation/eclair_analysis/ECLAIR/action.settings
>> index 96426811a8..71c10d5141 100644
>> --- a/automation/eclair_analysis/ECLAIR/action.settings
>> +++ b/automation/eclair_analysis/ECLAIR/action.settings
>> @@ -41,7 +41,7 @@ github)
>>      push | workflow_dispatch)
>>          event=push
>>          # Extract the branch name from "refs/heads/<branch>"
>> -        branch="${GITHUB_REF#refs/heads/}"
>> +        ref="${GITHUB_REF#refs/heads/}"
>>          headCommitId="${GITHUB_SHA}"
>>          pushUser="${GITHUB_ACTOR}"
>>          ;;
>> @@ -75,7 +75,13 @@ gitlab)
>>          ;;
>>      push | pipeline | web)
>>          event=push
>> -        branch="${CI_COMMIT_BRANCH}"
>> +        if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
>> +            ref_kind=branch
>> +            ref="${CI_COMMIT_BRANCH}"
>> +        else
>> +            ref_kind=tag
>> +            ref="${CI_COMMIT_TAG}"
>> +        fi
>>          headCommitId="${CI_COMMIT_SHA}"
>>          pushUser="${GITLAB_USER_NAME}"
>>          ;;
>> @@ -99,7 +105,7 @@ jenkins)
>>      jenkinsBotToken="${ECLAIR_BOT_TOKEN:-}"
>> 
>>      event=push
>> -    branch="${GIT_BRANCH}"
>> +    ref="${GIT_BRANCH}"
>>      headCommitId="${GIT_COMMIT}"
>>      pushUser=$(git show --pretty='format:%aN' -s)
>>      ;;
>> @@ -111,7 +117,7 @@ esac
>> 
>>  if [ "${event}" = "push" ] && [ -n "${autoPRBranch:-}" ]; then
>>      # AUTO PR Feature enabled
>> -    if ! [ "${branch}" = "${autoPRBranch}" ] ||
>> +    if ! [ "${ref}" = "${autoPRBranch}" ] ||
>>          ! [ "${repository}" = "${autoPRRepository}" ]; then
>>          event=auto_pull_request
>>      fi
>> @@ -123,17 +129,17 @@ pull_request)
>>      jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: 
>> ${pullRequestUser} wants to merge 
>> ${pullRequestHeadRepo}:${pullRequestHeadRef} (${headCommitId}) into 
>> ${pullRequestBaseRef} (${baseCommitId})"
>>      ;;
>>  push)
>> -    subDir="${branch}"
>> -    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: 
>> branch ${branch} (${headCommitId})"
>> -    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${branch}${variantHeadline} 
>> #${jobId}"
>> +    subDir="${ref}"
>> +    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: 
>> ${ref_kind} ${ref} (${headCommitId})"
>> +    badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} 
>> #${jobId}"
>>      ;;
>>  auto_pull_request)
>>      git remote remove autoPRRemote || true
>>      git remote add autoPRRemote "${autoPRRemoteUrl}"
>>      git fetch -q autoPRRemote
>> -    subDir="${branch}"
>> +    subDir="${ref}"
>>      baseCommitId=$(git merge-base "autoPRRemote/${autoPRBranch}" 
>> HEAD)
>> -    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: 
>> ${pushUser} wants to merge ${repository}:${branch} (${headCommitId}) 
>> into ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
>> +    jobHeadline="ECLAIR ${ANALYSIS_KIND} on repository ${repository}: 
>> ${pushUser} wants to merge ${repository}:${ref} (${headCommitId}) into 
>> ${autoPRRepository}/${autoPRBranch} (${baseCommitId})"
>>      ;;
>>  *)
>>      echo "Unexpected event ${event}" >&2
>> --
>> 2.34.1
>> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:47:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574763.900342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6ZU-0001Ai-Gr; Wed, 02 Aug 2023 07:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574763.900342; Wed, 02 Aug 2023 07:47:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6ZU-0001Ab-D3; Wed, 02 Aug 2023 07:47:04 +0000
Received: by outflank-mailman (input) for mailman id 574763;
 Wed, 02 Aug 2023 07:47: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6ZS-0001AV-G5
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:47:02 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe16::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3c88916-3108-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 09:47:01 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB6831.eurprd04.prod.outlook.com (2603:10a6:803:135::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:46:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:46: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: c3c88916-3108-11ee-b25e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I0zPL0yEK4l8cgjLTQPuk4pjf15gYTy5TbwXnN6F/gCxAdhtWOPuqnLjDeeDeoPsucIsaOkOU4yLpH8t/moUotEbl35FsQYUXGpYSEIwx0HcE+7n7VtfLrW1DhU56rWIJ1A8M8uvZdhAEkjqLVrtmg1wQwcHKfJtBMiQ9mDZN8YLiGirCf73MFUSFeMaU/mDUbTxrkrXq8dfYcGLfjdlqdGXgszEtzqSw9XFq3nsj8YfMW4Sr+XbX2NckI1rS1+JaZjGPS1Nrac/rqbk/xj/ctCsgLTX+FShtGfvsfpIsUXxeyODSNW9NvYOyLaUEvL9zSyD1Fd+lDtbqLSFIjR64w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0s7bvAesuRkdCPN/OC5YevGNnXHQrUja18fb/4dflmA=;
 b=FNFWm3tGa+78Z9xxF2YxFGAniUXeSPIfCfnVcjNgtTcCzxJy1Kc6eFE9Z1e+00bjisR/zF2tbEgv4sNckDSYTCh7H5zPtg4HL5c6Za+GcJYO4CtyMGix4QFMKAI5kx4JOFj0vQvCpc62qC1I9Wo9N4Fnfq3zrUyMA3SVipuMMTdOjHZU/uFOMifGsD2HjMBaRJzfNLhkIhR2eojXvsSjuem7qt+Nu98oUpZRRRTORzibfDj81cETRIHavXfUju1/+Fyv4AlOsYqxEmHJZlE5AaK1bx+LAEyhwpqNMnYHb5ynI7jxVy5gexemJb8XtppmQmasI4Sjsbpk6JOr4eSWIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0s7bvAesuRkdCPN/OC5YevGNnXHQrUja18fb/4dflmA=;
 b=oQuPiYvki1z+gQ8rtBv60E7cKtTqWdnCV0zP1X6lt8uHlydu4CXncuetO5fGNT+7inqQJukqcdvhSrk362BEGSAcQB9Zadj78UyM2ya/brNUbCFcFtKz0jM/0WzCY6wfKYXaqn9ZGwiNA0N4MZKGcdHvj/QfNj+6An9TVGwvP+gCYr1PfmHaIelLGTz66pj7sl13F1eEUsor/83ICGG60Tlrsin8PuQ7s7y7a4Nc6TW9jBXr8zNjPGHfb3GfT0BWow0JBiEokvZJWvJAEhxYnInOHs5j8+DH8YFXDAaHH/2WUYJRbo6aNYtDFkIaWnqJ98LVcEgbjgO260FYuPc3TQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fa9799bf-1a74-48a8-f4f4-3d2c563f0b13@suse.com>
Date: Wed, 2 Aug 2023 09:46:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org, xen-devel@dornerworks.com
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB6831:EE_
X-MS-Office365-Filtering-Correlation-Id: 9823530b-271e-4e24-88aa-08db932ca58c
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9/NKRCnT7KmyRL5xCPQs+f6zA4a/XS6dBaJ4xwpjDNJP4cxVhSVrJkPWJJajX/7wVvXhwNLIDJlmjRi+Xuu9bTW1OmRsJ5aLZP/3FQ+TbcCwE6IlvnUo9wqzKO1obodSe73nuc0Im6AO7ibvluzHW3qaPK5fXRzlv9WdAcFqR17X+L302XSbbe4QwEEeY+3L5o7ghOH7p7UU+c1WdRI2RxWFXjkW8l5j5cX9jXjy2ZImoEf0Fm181nHOfWD8Y7mgz10TOHWStUiacoQuEgp5xchA0OYGS+6GTMkomAZy0DkDmKWcO9v/lpV/IxrpA602nuhvkADPhg4JlvMuOBBXgCM5klIXXp090/RvRx32X45Q60GwPNG3ldYHkfhya9QbT2XDUlYtJwzWrczBGt8bHtsamGLRPs1QYFLYh85A78BoyhjT19qKjMptA87wSxhFIWnSL0ghRU6ErN3WuP9YxEraIvUAAf+BAFncGxNTzfq432hd+0/mMUc5JiJhZVw3T+IUbnO2him0IC96YOJ1qDEW721PXu4lonROP/X7/7CbeBlHRVZ0JbD/0kMwfmDKPnwjTNyjiElNVquP7eZY/alSztHkqi4LvuOIgH1GNlPEUvSL2FawL/FAa90VsJyfwR//Eih7wCmLX9+swRsY+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(136003)(39850400004)(346002)(366004)(451199021)(2616005)(186003)(6506007)(53546011)(26005)(4744005)(316002)(66946007)(2906002)(66476007)(5660300002)(6916009)(4326008)(7416002)(41300700001)(8676002)(8936002)(6666004)(6486002)(6512007)(478600001)(54906003)(38100700002)(66556008)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHRrNzFuZ0hqc24wV1h0cDNaSDFGOUphWFdqMzNocjVaRnNCbkQybVNoU0VT?=
 =?utf-8?B?VVhKTkRTZXZqcTVvdjgyZFRvYUxGaS9MTUFNL0VwVmp4eVVrZXRNWTliSEc4?=
 =?utf-8?B?OU1EM2cxZzNZWGZPZ3A1Sks3Qm51NVRaL1lGc1pNd3kwNmFRWjR5VlBBNGhE?=
 =?utf-8?B?K0UzYmhJenhhL1VlSjMxUXJ0MzMyL0JNTDluN3R4K0gxd1hRZENwNlcyajlM?=
 =?utf-8?B?QUNIOG1zRW5sNHBaVkNJUmFPSUExRkU5bG80dkQ2eTBydXhWdUJwRnFIcS9P?=
 =?utf-8?B?TDhBcS9ldGF2bG1WUXMwTVFYckFVdVNlMUltWTBROVQrMGdSZWpZUk9iR0Vj?=
 =?utf-8?B?anpOUmxxYjVvL0RJOTBrNHFhY1VCeGVuMTFZQWpEMmNFcnM4ZUkveFVrSXVH?=
 =?utf-8?B?TVc0dEh2cXZZeHpoaHNqZFpFbEFCMFZEOUNpOE5GZjg4Z1BpVk5BamVqKytN?=
 =?utf-8?B?NiswSzVpSnJKZWYwZGRwc0svMXdwdEtSYXRDYjhCQWtRZUQ0NUVRc1AwMk1q?=
 =?utf-8?B?RThGVDNCK2VPYnBDSDduMER3QThqd1h0WlE2SForaytLazVlMzVMdGQ4U0Z6?=
 =?utf-8?B?QUljcEpnYjBIcjYrN3YvTWxGTHZOWG5kSVkzSVVvdWxYUVJMb25BNmpUclJU?=
 =?utf-8?B?NHpHVDZiZFNUUkozYkludm94N0tjcEtNYk5DZzhRMUYzS25saXY2c1YwN2lU?=
 =?utf-8?B?UWdMcldJdXhiQVFLNmg1cjZzS254a2xVRmI2YlVMb05oeTBBd1dTWHVEeW52?=
 =?utf-8?B?Y2xrQVUrRTZIUjk3cThxTjVKeWRXWkJIN1c5MnF0cmN5NitaVXRiSVdsNDlh?=
 =?utf-8?B?NFpCUXVVaDR4K1pYaVhPUWxQb1daTWVHdnhIZ1hEUDJMTHFEZTFwL0E1RkRZ?=
 =?utf-8?B?S2NLY0JWSnd1Q3JDblhkUTVwWFRHOEhJOS8zUHZYMDYwVXFaUVNpT3cwMzFN?=
 =?utf-8?B?d1psQUdsQW1rNXJlMEZOQVRCSmdMSzF4MXdNKzNOZWhKSWJjT1FHekh4S3pl?=
 =?utf-8?B?NDhYKzBCOVYvdDhoQUEvdUlRYkd6OFlHT2I3aElYUXhTSHQweXY2VzJNTFR1?=
 =?utf-8?B?eU9UMTdWNnRBdlg3ekFYUkZoeFo2NzRFcDhiMkVBaGRDYXVSSE0yZEZzenA1?=
 =?utf-8?B?RE14RVUwVXMwcUd3enB4THY0eWVUaEJYTzlJRVZBZnpzV0JJeC9NenE1UU5I?=
 =?utf-8?B?cWRkTmhiWGI0c29Xd1dBZFFwYmwwVjRSZWVkNG14L3pDdGxNM2dDKzBjUmRX?=
 =?utf-8?B?VWJqNFhRUlFZRDZUd2tIT3ZJNXJoM1NnNnQwL1VQUnlNS2ZmT0VBZGxncy9D?=
 =?utf-8?B?aFFaOWZ1WXZZYlBTMG1MTWUxVkdiVTkzZlUwQi9CckpCVG1ZYVhoL3lNL3g1?=
 =?utf-8?B?UWZ1UUJNRHJJM2h5SDdaWlFTUFg5aEVFa01aNTNLeWlnaHNMY1J4TXJJRjlX?=
 =?utf-8?B?eGhkcnQwVnJ3N0dEa0RDVWV4cTJ1U2JjeFlqSTAxUU5tNkhnWjBBbTdLY213?=
 =?utf-8?B?M1Qvd0MvajQ4WjQ3dlRzT1Z5bWVZc3RvSmZuMkJRTldXQlZuZmlWcVB4UlpJ?=
 =?utf-8?B?SkM0UUVMUGVRVUdVVTJqSnhMUFN6M2lCK3BaTmNDYW9ndDdhN1ZIZXNlQlpG?=
 =?utf-8?B?Z2xBNm50N1ppaytLSXFvMytRaFNhOUxEY2oxcmtlOWdFOXY3UXAxb0YwZ2ZL?=
 =?utf-8?B?WGhDMXNkRC9WS3lhSGZiTVg1YjQ0by9tU1I4cEpWc0NOaDdoQ1QvdDRNNzBt?=
 =?utf-8?B?OGFwQ3VEY0IyRXdsaUdraC9SeG54K0dBMGIyVVc4djRwd2FldFFPRklHRzVV?=
 =?utf-8?B?Y01haVgyeXFXbDBZT3R3b1IwdzY2WSt3NnJVa2haQVNCWGJOek1NODhCbTg3?=
 =?utf-8?B?M1duYU1Ib2JKdlAxWXlzdGp0YnY4ajlwQkRxam5XY3dSWCtzNjRwQXRLU1g3?=
 =?utf-8?B?algxNHZIMFNVQnAvOEhrMmI1aURMMVlTVnpXRkNTUStPYno1R1U2UFdGSWZp?=
 =?utf-8?B?cjVCb041em9QZ0szNU5zSmNrdlI0dFRWVTY4ZFdHTkQvWC93R1JaQU1WNWZw?=
 =?utf-8?B?a20wSHlqd0FJSFVhN3Q3bDB6ZEs3dldHdmw5bDNDaTlXYlB2enV5QUIzdi9I?=
 =?utf-8?Q?ChWJHXHwex9wWrgmSjxGpT0YU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9823530b-271e-4e24-88aa-08db932ca58c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:46:56.9465
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ShRE0KPKVAkn8/k9JjdLfGC83Smt7YmJrE+8oFpYMkZNLepWIXDsofQUMSyKvGL8Yr0ylRmoC5hBu0Nt+B0nIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6831

On 01.08.2023 22:20, Daniel P. Smith wrote:
> A legacy concept is that the initial domain will have a domain id of zero. As a
> result there are places where a check that a domain is the inital domain is
> determined by an explicit check that the domid is zero.

It might help if you at least outlined here why/how this is going to
change.

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>  void watchdog_domain_init(struct domain *d);
>  void watchdog_domain_destroy(struct domain *d);
>  
> +static always_inline bool is_initial_domain(const struct domain *d)
> +{
> +    static int init_domain_id = 0;

This may then also help with the question on why you use a static
variable here. (In any event the type of this variable wants to
be correct; plain int isn't appropriate ...

> +    return d->domain_id == init_domain_id;

... for this comparison.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:51:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574768.900351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6eA-0002g9-5a; Wed, 02 Aug 2023 07:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574768.900351; Wed, 02 Aug 2023 07:51: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 1qR6eA-0002g2-2s; Wed, 02 Aug 2023 07:51:54 +0000
Received: by outflank-mailman (input) for mailman id 574768;
 Wed, 02 Aug 2023 07:51:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6e8-0002fw-MY
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:51:52 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7032f187-3109-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 09:51:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB10029.eurprd04.prod.outlook.com (2603:10a6:102:380::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 07:51:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 07:51:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7032f187-3109-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O3+wVmf6SfmAmmR3fI0jrPiCZbuj0jdtvIkTNMMDjm8mUE52/8wQIeJhTk5bLuqXa1SSEkStE7K7mo+7G5KfHQWCLEETQAUCuYiUXWXtyym9iXqx/acGJAEOmmtDElXIpld9KjK/ue33vUyo00Hmk9WMcXTPxjRKLzrrouMNvI1P4NbLdu3GdxsE1QRoSICUYZygXcU3PzmX7JPfSVV+I4siTMIWiDgx0VjcEK94Mfwv+liJ7fFkIk7zRdFka+wW+Y2xVVmUemGJf6poFZKKFuxM23PGfS2AJxl/XBx9w+PCZpiSKwXc2NXS844nFws1o9r0aSzaMpHtUiUJmXFUbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bo1KwlTLRh23X2gWkgL4nTGICIXqpMUpvj9JprEOskg=;
 b=XXh2kJGWpegQPtfnVVoY2kLgzwHhAIxDc4iBOIZhT1KWzDhoxZXQEwHmRC8Ws4feVCBhH42dFxiZ+35ATPUZnXGYLEeemxcYpdunq0kghEdCKg+/d8+bKOcEqHm75oux+JpPu8RGKj0IojCUTzsDzvVZLEqr89nME2Q1DE2D5fMp/yYaR008FsHiPJ0wSmLryikNmRV9/SX9b20buasWi0suJxc8Y1IEop11LwDU14qOKtmeFasgGbsIryguKRrP0tZO/UomsbEktPg56KzjSGIqpbkfBIgvs2LWeCgMZnycHuoidhMRQjAV9YUIbASliUVMvZHU86oFQch6wLHFcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bo1KwlTLRh23X2gWkgL4nTGICIXqpMUpvj9JprEOskg=;
 b=DsPKxtXP9SfXndTz0V3FUxdcUgLDByBix9Jmy2mnKn6qLgymKc1yrimKzl317jJ0SbumJafddDS85zFLAWoBBN5eNCVg2FIUoQDunmauxn62WlH4XHJmW0QrNAht3KnvtOjCRiKSDLJCnxGGF+3BLjwzEH66Rah+gNbMg7OBsJ3V0CALVPG7cDnnj48ftrocL6l95LcWZ+xSR3/E8b/r2K/CVw2eUpXQkcCPqgQTvCeVSkQkb71GqjICXgfRkBHHNa153YpHeVPg2t3+5DQLne3mwvmEaf5+JYqVnLEiGxO1uyCk9gL1emUTpp06VPOxJGOCzbmu6zikW68RMGkRQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b64e236b-e9c3-2036-e43e-93b456e44ff9@suse.com>
Date: Wed, 2 Aug 2023 09:51:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0161.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB10029:EE_
X-MS-Office365-Filtering-Correlation-Id: 14f52f26-0b0c-44bb-ff63-08db932d534a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i2nh6mNS7nec8lc3Z7ZabGa9gdasLIt/BJFj/FOUJ4m8zKLzW9NQmJy3cms/b4+9nbARceEw2MPIlwgPtgsmA1YlfWPDTMYMIlLVKFOY3H3+aJgTr+hnEZUfT+eDJMrN6TBUN3jLQkPHsvSFx8RhkN9zQrRcp+qN09WesrgNGEZcr/+WXDbyIlyFsBxIZILr/n0t5RrfclBAco6kEbQDEYhTBzu+Gqcd0yqueL6m7FSUUo6egE8aS9PHR9ere6i1qq+uf4AA8mVqKK3oc5/2/SxwlkytPGhUwRVPtePRHEXC5nF8x9w8+fdS9EYvb1+wPi+FWd9hHqSUDNsJmAufriMaZknR2dZ00J+ksnvwTLadCQkqG45bh9vOm2kYFT3u5yJ2LwZXB6iOD7fnXbNXGSft5Rd7nw4BgBKyt++sXw4LNkxgaCPsa5ljoX6QKojrOC6/KCWM7tSu0NTl8VdcDttiPCGKB3NTiHzZn1bt9E5DGCUisteyPeDd1kTdc102aEyNOrEx/5ePebCj4kCKirhKHEuwvpcoHY79TyJ1Q5oryFRFshlqQf7EeKhZgvjbi4cZx85KhY6GArIiNNNaXed0V1uFpuD6Txu/VKIljdHKLnapLtU9szyPTYzx0vp94TEbuawVUIPxdUioEpcBXw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(346002)(376002)(39860400002)(366004)(451199021)(66946007)(86362001)(31696002)(6916009)(66476007)(66556008)(6486002)(6512007)(2906002)(31686004)(4326008)(54906003)(36756003)(478600001)(83380400001)(41300700001)(38100700002)(2616005)(7416002)(5660300002)(8676002)(8936002)(26005)(53546011)(6506007)(316002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1BsbTY4NXdUOFlKZWd3RUFReDAzc0tsNGtPRDlMNkx1UTBsR3F6WXNZN0Nj?=
 =?utf-8?B?b1UwRUxXT1ovN3JLQmpFMUgwb3dsQzhHSGFiNjlGNllEbFdJeVptZFNoODNa?=
 =?utf-8?B?ZWdESkNrVVZvMUQxd1ErdERWaHl6WWFpczZUdkhYZTl0OW5yWEk5ZGJuRzI0?=
 =?utf-8?B?Q09PR1Y0ZDNacGM3MVQ0OXFSMFpmWnNqTDMyUlRTbWovUitqZnpRZVUwUUNi?=
 =?utf-8?B?ZjN3Z3pHOExBTE9IUXdyUkJRMlluQnBod2RLYVhsSXducVVNQ24xK09ENGpR?=
 =?utf-8?B?L3BudUpKc3R1SEdHb3lCOUlOdUd1UDkyaERXbVF2RHJFSEY4cEN0RUttaEFw?=
 =?utf-8?B?Mis3cmlRNEVheml0M3F6Q0hpRDE5cWNPVW1kSHJLcEw5QmU0ZTdLdHIxblZG?=
 =?utf-8?B?ODEwK1Y4RFRXck13TlhpN0dJbGJyaUtGSk1tWU9HRTBqazNkbXdJVXNTdWJM?=
 =?utf-8?B?SFlaUjl2bGJ2R1EvbFRxWjQvUHExTWtCUnIvajZ5azdQZDQ1QXpub1pZdUF6?=
 =?utf-8?B?bmY0L09vMitWbm1vczh2V2ViZC9NZ3Nlc0k1Q3lMUGlxaTFqTU9yNk9UWU5H?=
 =?utf-8?B?ZC90ZkNYWjFBWXdWY3RSSzhZQ091aExuaTNnZDR3b1pWQ2F3L0lkVm9GNDV3?=
 =?utf-8?B?K2QvSHVYSDdsT2E4ZHlRS0dBVW41WVFQa0d6MmJ1b2c1aWpIRnl5NHRzVElq?=
 =?utf-8?B?am1HY1FXbVhtNG8wQWNRSnZ2ZWFFRHIwOGRQYTUydmRER2RocXQ3VVlFOHZY?=
 =?utf-8?B?ejZXbWU5ZDhmbno3RytZQXY4OE9BamZXWXUxZDRuYi9hUEQ5NHgxd3NpL3Nx?=
 =?utf-8?B?WmdiQ2c4RFZYQmJZMVVaTjNOTGNKQmFCWThZUmVxeVBYV01ieXZZa05RZlU2?=
 =?utf-8?B?UXJsOWgwSVRFbGdEYjV4SFRKclVrTDI0Q3dlODEyd2FrdXpzcjVXUFFQT2gr?=
 =?utf-8?B?MloyN2JyclR1YkJOeWhKdFNrMzYvV1I3enc1QjNKTVl4UTI3M01vZ3NZT3lW?=
 =?utf-8?B?b3R3MzhZVm9zZ1NLTDZ2Slc1WTBJVWhsb3F0L0kvK282MjRHbDZndWVta0pM?=
 =?utf-8?B?bEdKMzNxWUxTTGdyRkNNZEN5c1pEUGxIV1VKTWxKTkpyeExsSEUyTzk1eDJT?=
 =?utf-8?B?OW9aZnN1aUJnYUp4YUpqeUNrTTAxTEVOTjQwckxvbk94ZTJpU1RpbnhHWDhI?=
 =?utf-8?B?LzM0TWtMTFBTNEFySlZ0UUdrY0RlVzk1SXF6ZDg1TnQrelNzcUgwSVR0dzhs?=
 =?utf-8?B?M2YrTTRHamE0eURLQzROMVAvM0FLaXNHdThVcjBUUndlYXVQNjNOREhYM0s1?=
 =?utf-8?B?aTZKT29ISzFKaGFkOWpoMnBvc1lIa05LVCtLcXRKTmU4QUJzZmJrUnZPMUw0?=
 =?utf-8?B?SnlGQnBCc2RCam5uT3diMi9PYTQ5cXFydTJrUkRWWTBUYkl4aUZaL0FLamxw?=
 =?utf-8?B?VFFFa3loWWY4eEFLMU1td0xISE9KL0h1bnBXVmxDbmtVbE41aDVGbzl1dWZs?=
 =?utf-8?B?UFBoS0MxNi9mTTdxNEJiRllCUEEydThRbERjWmxmSlpLdGlZdTZoZ01hUFlI?=
 =?utf-8?B?OUdmejlZRnU5Ym9KZ0RDY1A2LzlTNTBGcGovcXlGay9HWlJXSkswNnN5NG54?=
 =?utf-8?B?TjVWMlQzOHZOS2JTL2VVR0UxK3lSZGtSYWtvVXJOYXdVY0RmYWJiZjd4djN5?=
 =?utf-8?B?eUpCR2kzODVUUzJVTzAxWmpYYmxMdEpqVmkwZmMwSE1LeUdBVWU0OU5zNGE2?=
 =?utf-8?B?SHlBcGRsV2M2b01JbEg5U0IyY0NRbThuRkNRUkxVZXExS0hVNmd3NEFGSXRH?=
 =?utf-8?B?Rk5reDY2aHFkNmZINUVZejBDZ0FwYVpPbFJVbjdBMkZvcWhJalcxUEVQL3dr?=
 =?utf-8?B?b2NRYnlySzgxRVhNenNRdHlZdXRxem9vOGhIYU9COHlRVGN0ekVCMGJJdExn?=
 =?utf-8?B?OTlwekFibUJreXFlSUZ1UGExa1VzQ1EyeGlZUkUvUmVQMkl2Sjdzb3Q3TXhK?=
 =?utf-8?B?U1puS1NrRm1CdzNOb3poT2JqNGg0Sit5c1hFMHQwN0o2SmdvWVAzNXl4dXp5?=
 =?utf-8?B?TVpjK2c1Z1NualJwbXVPR2MrL2g0VVM2ajEveWI2TEw1bWM5TVh0Y2I5NGsx?=
 =?utf-8?Q?7nlrM6FjPUnHOnYYtM6dJQhaK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14f52f26-0b0c-44bb-ff63-08db932d534a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 07:51:48.4784
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xNayUwo8wcUANXhdVOuQAe6sTsAePiTOyEl3jZHeA7nXCBefBdtI+qr5OwlQ8YceICrSk9U9VkJGU6DSvEm5Uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB10029

On 01.08.2023 22:20, Daniel P. Smith wrote:
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>      setup_io_bitmap(dom0);
>  #endif
>  
> +    /*
> +     * "dom0" may have been created under the unbounded role, demote it from
> +     * that role, reducing it to the control domain role and any other roles it
> +     * may have been given.
> +     */
> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);

This doesn't look to remove anything, when taking into account ...

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -467,8 +467,10 @@ struct domain
>  #endif
>      /* is node-affinity automatically computed? */
>      bool             auto_node_affinity;
> -    /* Is this guest fully privileged (aka dom0)? */
> -    bool             is_privileged;
> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)

... that each of the constants has just a single bit set. Seeing the
& there I was expecting something like

#define ROLE_UNBOUNDED_DOMAIN  (ROLE_CONTROL_DOMAIN | ROLE_HARDWARE_DOMAIN)

instead.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 07:54:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 07:54:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574771.900361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6gh-0003FB-Ia; Wed, 02 Aug 2023 07:54:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574771.900361; Wed, 02 Aug 2023 07:54:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6gh-0003F4-G0; Wed, 02 Aug 2023 07:54:31 +0000
Received: by outflank-mailman (input) for mailman id 574771;
 Wed, 02 Aug 2023 07:54: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 1qR6gg-0003Ey-LJ
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 07:54: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 1qR6gf-00034e-S3; Wed, 02 Aug 2023 07:54:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qR6gf-0002Ky-Kj; Wed, 02 Aug 2023 07:54:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=2hy0VfCSnJmQ7IYq0zC9qMqOGe29w9Pn0XRR3XHSWUA=; b=iZNl3KSQbZrkL2U0A9Vj0DmuOZ
	TaAaVq7o3gtvljHedcl78LQ9hYyCC+8r9amzDDtKssCV2kPwo8nBy0H/z2Ro+viS5e75vIQ8MXbtO
	eRM1OlYmapd3k0ZWM6H/zkYoQ41QOBLUnb9UPgLeOq10yjAezdHnr3uFqVwqGCY+kdJQ=;
Message-ID: <c75870a3-d7b4-891f-7c93-c62e97b25fdb@xen.org>
Date: Wed, 2 Aug 2023 08:54:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Jan Beulich <jbeulich@suse.com>, Khem Raj <raj.khem@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20230801174930.2995947-1-raj.khem@gmail.com>
 <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
 <f7501e7b-2064-38dd-af32-738e01a830c5@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
In-Reply-To: <f7501e7b-2064-38dd-af32-738e01a830c5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 02/08/2023 08:22, Jan Beulich wrote:
> On 01.08.2023 23:02, Julien Grall wrote:
>> Hi,
>>
>> Title: This patch is not arm32 specific anymore. So I would replace
>> 'arm32' with 'arm'. This can be done on commit.
>>
>> On 01/08/2023 18:49, Khem Raj wrote:
>>> Assembler from binutils 2.41 rejects [1] this syntax
>>>
>>> .section "name"[, flags...]
>>>
>>> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
>>>
>>> It is almost like a regression compared to 2.40 or older release,
>>
>> The next word after ',' start with an uppercase. Did you intend to use
>> '.' rather than ','?
>>
>> That said, the documentation has the following:
>>
>> For SPARC ELF targets, the assembler supports another type of .section
>> directive for compatibility with the Solaris assembler:"
> 
> But note that "SPARC" was added there only by the commit introducing the
> perceived regression.

Yes, I noticed it while replying yesterday. I still would not describe 
it as a regression mainly because I am not convinced binutils will 
revert the change and it feels like a good move.

Also, regarding your point about older tree on the bug report. I don't 
think we guarantee that stable works all new toolchain without any change.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 08:02:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 08:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574781.900371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6nv-0005It-NI; Wed, 02 Aug 2023 08:01:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574781.900371; Wed, 02 Aug 2023 08:01:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR6nv-0005Im-Kg; Wed, 02 Aug 2023 08:01:59 +0000
Received: by outflank-mailman (input) for mailman id 574781;
 Wed, 02 Aug 2023 08:01:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR6nu-0005Ig-7C
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 08:01:58 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d999d7ec-310a-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 10:01:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9332.eurprd04.prod.outlook.com (2603:10a6:10:36c::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 08:01:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 08:01: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: d999d7ec-310a-11ee-b25e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IIWV1IrFXSzknm2xKbIrS0v+CXZnYv5Mwa5bQK1VCf3nCvKW66OPvwhxrpw5zxFRF4sY3z8QYfE+EsRWqsXre7ZKfFJ/8aZ5XHgT1gTl7Db42cZmnm+2X40n4QwLTI4bXmPrll1KnLkyvJE6g0YLRCpl8VVqH9lfqNSbx3kLJcyI2RsOD4d2TDn/BcaLG3C2SgjZnJgTIxBp+hdZkxcls5cHVOKhmdvf05zVaoa27y+UIxdmqYQhOGwXxWZuUAG4Yqbp7K/WxqciFdWvBUXYPvup1GVu/VvhGkg5IAiOQYlzy1nvfeKppbX8Bv4CAMltmkQ7ivCD6J9jtkm5HMO8bQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DetXZRLRb8zggcsk1BEVOLIqZPtJHYj5cs+EhHzAgkc=;
 b=a2jZzlb22lLM90zTiR6A5Cdgl+AKXvS4wiDsWNeYxeK++QaIMLem/nZTRWhtAxBYC56/hxmQNIVXzf+T6TtRffpgO4obhvcyABLUic/d2hzfmceBEB0L5m2fo0fBegzLUtBCxBZCMO+h/DD9RxDS0P5TbzEIyz+kXXhlFuTmqe9y0DtBJ9WKIl6GoYWJRg++qkx5z6Hvush7DxYCvaZlcmhP4u+Yj2hw6QpGCth6k7h90JqhPV/SWiVilO9+aaEwxSgoHn1JJ57JYO/LNWi+Vi/kjP9pg4dcsYzkX7umxgW2aZ5kAmMkK4UlSSQ9JoLJASIW72WQpuiN+WhlUY5q3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DetXZRLRb8zggcsk1BEVOLIqZPtJHYj5cs+EhHzAgkc=;
 b=R/i3Pl9IZPzxUpZYXcQsU6NZJLVPo16h+QOc3h7cqJXCQa9/0EzuHq9xwpQrV4SxQ2LtZIW3FuuKycDXnQarPykSHlRqjiJEQzSdNf6W+4WwOlJT0NxxX1znuGCR2o7WHIVuMTAKVvFunPd8SYlHUmZkFkSKejGBbqy0+wDgf3+BueceJ05TJE6DpjI8dmNKQIyqdW8IDk/+JL3Xzqkyoo3ceMC032E9JYK9n93bGDDgGo8ghDOMmo2Mg+8gTCSajayfQNYKeCh+PFAKe7lsJBufnEC8DKzUPjqbayPPsn76lKl2kWiwzmipfzIIDkrZilY5PM39qK+7Kz6IjBLyzA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a56b1da7-05c1-fcd0-d39f-0e528ea066a6@suse.com>
Date: Wed, 2 Aug 2023 10:01:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>, Khem Raj <raj.khem@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20230801174930.2995947-1-raj.khem@gmail.com>
 <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
 <f7501e7b-2064-38dd-af32-738e01a830c5@suse.com>
 <c75870a3-d7b4-891f-7c93-c62e97b25fdb@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c75870a3-d7b4-891f-7c93-c62e97b25fdb@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0261.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9332:EE_
X-MS-Office365-Filtering-Correlation-Id: bc917bb7-6a32-4a6c-bcf0-08db932ebbda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xyniPKc/BRizI6ps8tT8s/2zketR0Q4j7bOwMZGR1n4FHWkYAna0jfGVynyU9oysWBuYnPH62vbrcYkcqCRDzcpYVTFzxpvw1RUFy+SWhAyazW0OQaPLu2CNVrrciNMQ/LClTay1sEralbKkzsn5ogSD0X+Y9zwxrmwaFNSnvFlx7UrFKs32eatH2FpnHNtTVwaooa8bk/aKkQ49tzpn1lbC9LS9ZAQX0gEGyj8vY8CBS23T/wf5Q+OJdfp2bEIVCg0mLjUtiqDJMmAtPOjgXmQgcQX8rbOsVc0gvtOacwJp5DVRG2vips24veBf2h8uW9HbpdAJZEsZz3YEgwwr4PxmxoKC42IKp4enirGbAuzYnAh/FyT7bTM7j8F+r5x1VgJMj2rDIi0qkc8XxyI7Ka2nGWiZG77FMTpAnALxcuwfOCjeArgW2amyenh0LdN0RsYHCdpSw25GEeVbGh6Q9z2IKRkL7hRs9XJBlerpPAS/vhMQLkCseq/zXuAmiq+Kb3jeBXW2FHPltiQiRYpsuLA38ycVKystzpNNWx3DNgZDCORLhNujMYax0fwRSJV5jxeNgIw0wqn0/eQ3z1DihckWzOYJ5TmT4iZX1uDzVn3v7jYconCfbayq5OvTtfqRlW7Ag1NPuPv+DHKJATeb11rl9Tg9wqt9Vhoh/cPdF9OF/tZW8paeo3Ld4z5xIofn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(366004)(136003)(396003)(346002)(451199021)(2616005)(186003)(6512007)(316002)(86362001)(478600001)(54906003)(38100700002)(66946007)(66556008)(66476007)(6486002)(6916009)(4326008)(31696002)(6506007)(53546011)(36756003)(41300700001)(26005)(8676002)(5660300002)(8936002)(2906002)(83380400001)(31686004)(142923001)(60764002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXk4a0tDR3JteW0zNjFxK3dpamFMNjVOMXhJeWpGcTBYNEoxVVN0S2xDSCs4?=
 =?utf-8?B?U29MeTZCaUppaTFHajdrdGFEUkFQVDluenh1NGhmR3JlNzdkYy9VQVl2bHpp?=
 =?utf-8?B?RUZUZThKeVMzU1ZPOFU1NzZjK1ZmY1d2L2NNQm4rZkRUSnB1cVYyeFNWTWo4?=
 =?utf-8?B?T2MxUUQydUtIUXl2RnBSQS9KVldTUEQ3OFduUnpnejVVRlBxWGhNMlBUMGt0?=
 =?utf-8?B?bUxqWEZ3UDlXZ2lveVhvWHdjNVZnaU1MNGFVdnM5cDVtR01YNDBhWlhKQ3Jz?=
 =?utf-8?B?TzduSlhZSURUbnFnVHJzbkFjTkVpbXYxQlAyc3ZjaXBrSDBVVjhJQkVON3Fp?=
 =?utf-8?B?SUloZFRBdUx3S3JDem5BNE9GV21LTjU3VEJhSHBJMzBwSkRXSjlCWlRVbEdz?=
 =?utf-8?B?eDE1MTdaNHh4Sy9nR1V6T2JIdkdJWjdodzhQdTVXY1orc1pmbXNOc2VFTjhQ?=
 =?utf-8?B?cC9zakFpQTIyMDZQa1Q1c1pCb2Q2TnpsMVMrSXRIbkVPQ2xqRmwrTzlSaldZ?=
 =?utf-8?B?V2NHV0NFWFQrYjRiT2hHdFhBK3pQVkpHUXNQS0x1a0FzSFRtNnl5bS9COTF1?=
 =?utf-8?B?Qko4TlpGdEFtL1R1S0laYUk1NzJ3dHJGeUhRc2dCSTlIZ094aXVLalU2UFRT?=
 =?utf-8?B?eHRxajU5WFhudWNEalExOGppYXR4cnNhWkVuMnByNDJRYk56SlVhTnB3S3Zs?=
 =?utf-8?B?OUtoc3FMdmlQVnR5T2dnVGtsSWJyRDFOM1RkREV1TGpRLzV0VTFxSzc5U09H?=
 =?utf-8?B?K1N1R2l5dUtMMzhvZmlua0tydnJrV0dJL2dOUG5qd0VVMFA3blJMS3N6NTZt?=
 =?utf-8?B?cncxeUEzbmFOVTR0SENqS3ZSMTUraXdxR1NYeUpXRFp6MURVN1hTZzBQR3ZI?=
 =?utf-8?B?cFRGQTkrYXRkNXNteG16eDNTVlQ5ODladXg5em5sdVR6NTZoRCt1Vlg0K25j?=
 =?utf-8?B?UUhkb1dmNVJqN3Z5Wmc3NGxSMFludTgyc1g3ZnMwTnRLT3g0REZHSC92Y2F4?=
 =?utf-8?B?NmtoTUlFWFhoeXZkV3dNS2dNSDU5bzVpQ3pTaHhQaWFWTU02SWFyQkh3cXMw?=
 =?utf-8?B?ZGZVLy9KdWVEMVV5Yk1sL2kyZndnd2QvaCt2VS9CRXhpWHo3OEJZVytpUkNF?=
 =?utf-8?B?WlVZRXdRNHpkeHM0TW5tUmRtejViRFhBS1hWd0FDd3kzSE5YWDhaTk1XN3BP?=
 =?utf-8?B?OTd6a29kTTlSM01lYVd3aFpIVW4xNUl2QzRUcnovUEVzZkJOdlQxL21DWm1n?=
 =?utf-8?B?OW1kR2pjazBpdXY4bmhnbGV3VWZIV3Q2WWdVRFlpRzJYb1htajBqdnFpSHBp?=
 =?utf-8?B?Uk5EM3RhZ3JkWk44RkxkSWNnOHJpTkE5cjRrWUR0RkdUbGc1eGtpTHNyRlFo?=
 =?utf-8?B?RmprY3VzNUdlOHR4UEdwa3JDK3dQd3lDVWN4MFJQYjYrNEdsWHkwakcxWjhJ?=
 =?utf-8?B?LzdEVUVBeHRhUXk5Yjh4cEtTQnVLL3lSVmNrRGVFNmlXSDhxVHAxLzlDUUJO?=
 =?utf-8?B?ZTB0Y202WnRNUmZrZ0wxb2FqNmZnd1krdmNCek11bHpnOGtzZHRpZldWd3M3?=
 =?utf-8?B?VXk4L0plc0ozSEZXcFo2SC9NcTZTRHhiT21Cc3lXOVBod2hhYWN4Q1NBeGty?=
 =?utf-8?B?NTVweWduNDhtZHVjMXN1ajMrOC9DWmI3V1NFbWJsVlg1aE1wTjlETUd1SXVx?=
 =?utf-8?B?bUlhcncveFFnK252ZjFObWNCQ2hlQUEwZElrd2FEbEtveGZzSGE5SDV5TG5O?=
 =?utf-8?B?dlJMcWxDTlQ2RktYY2diZ3JUVjQ0d0x1ZTNMY3JNdW1sVjZaaE9KNTVwQ3JH?=
 =?utf-8?B?cHVwQTlLNDFwblFSNjVyT3lqejZhczBSN3ljQlNFbndwaGpreFR1RjFOMDRK?=
 =?utf-8?B?TnRaL2FDYzg0S09PVUd5ZVNkcGp3OEoxZFcvc2krd3lyeWVjRlhSMlNQQjds?=
 =?utf-8?B?VEJvRTFxUm1rRDVwbWRLc1ZUNTNQbWxxeXBmOGxRTmxpaUU0V3B6aWFnQU9q?=
 =?utf-8?B?ZDFzUlNGSTZUVlFieUNrdXludC9KVnBEM1NuaWM4TTlGZzRQbVZDUWQ4cnJm?=
 =?utf-8?B?TVhJMFRoNmJBakIwREZZS2h1K2JQejBtblZzQnVNUkFBRVVYZUY5VGlJVkdp?=
 =?utf-8?Q?LhT1mUFNkbcopONJhfKH5c3CP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc917bb7-6a32-4a6c-bcf0-08db932ebbda
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 08:01:53.3641
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u7F+YbT0aHmOmzoEV8kMpCDFyZaTasdqMx5wq0EjPliqy9vtTNjk4fTr/NHuynmLq5WFVlPZFf55Q6o53eYf9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9332

On 02.08.2023 09:54, Julien Grall wrote:
> On 02/08/2023 08:22, Jan Beulich wrote:
>> On 01.08.2023 23:02, Julien Grall wrote:
>>> Title: This patch is not arm32 specific anymore. So I would replace
>>> 'arm32' with 'arm'. This can be done on commit.
>>>
>>> On 01/08/2023 18:49, Khem Raj wrote:
>>>> Assembler from binutils 2.41 rejects [1] this syntax
>>>>
>>>> .section "name"[, flags...]
>>>>
>>>> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
>>>>
>>>> It is almost like a regression compared to 2.40 or older release,
>>>
>>> The next word after ',' start with an uppercase. Did you intend to use
>>> '.' rather than ','?
>>>
>>> That said, the documentation has the following:
>>>
>>> For SPARC ELF targets, the assembler supports another type of .section
>>> directive for compatibility with the Solaris assembler:"
>>
>> But note that "SPARC" was added there only by the commit introducing the
>> perceived regression.
> 
> Yes, I noticed it while replying yesterday. I still would not describe 
> it as a regression mainly because I am not convinced binutils will 
> revert the change and it feels like a good move.

I agree as to it being unlikely that the change is going to be (partly)
reverted, unless someone strongly advocated for it. It also wouldn't be
of much use to us, unless a 2.41.1 was cut very soon.

> Also, regarding your point about older tree on the bug report. I don't 
> think we guarantee that stable works all new toolchain without any change.

We don't guarantee that, no, but I think it is in our own interest to
keep things building with the newest tool chains. When build-testing
stable tree commits before pushing, I don't want to always have to
remember to force the build to use an older tool chain, when normally
my build rune would default to a pretty up-to-date one. This is also
why for this specific class of changes I typically prefer to see them
also go onto the security-only stable trees.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 08:19:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 08:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574794.900382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR74N-0006uu-5q; Wed, 02 Aug 2023 08:18:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574794.900382; Wed, 02 Aug 2023 08:18: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 1qR74N-0006un-1U; Wed, 02 Aug 2023 08:18:59 +0000
Received: by outflank-mailman (input) for mailman id 574794;
 Wed, 02 Aug 2023 08:18: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 1qR74M-0006ud-5B; Wed, 02 Aug 2023 08:18: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 1qR74M-00044T-1q; Wed, 02 Aug 2023 08:18: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 1qR74L-0004OC-Kx; Wed, 02 Aug 2023 08:18:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qR74L-00069l-KW; Wed, 02 Aug 2023 08:18:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/8xT2lzrodVcsoi1AbXIqYwzOx7fU+RQ2aEc9BFhBxk=; b=Wkq4C+wr/mpdZ0qsF2KTokG3DC
	Z7gkYQWuCPise8HKDU/tttjpzMJk3fCITe5pTbQNhIUd1aVcI7lIetLyFaiAsZWYm4ZhY40mLoUvA
	kbk4ZzECx4FfNHXjNdpWlTxM2NvpmwMdzRoObQJyPdSXN6Wj39AoVb3x1bJS5x9wOZ+8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182108-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182108: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d11968fcc56cbbffef7d906048b00faea9415447
X-Osstest-Versions-That:
    ovmf=677f2c6f1509da21258e02957b869b71b008fc61
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 08:18:57 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d11968fcc56cbbffef7d906048b00faea9415447
baseline version:
 ovmf                 677f2c6f1509da21258e02957b869b71b008fc61

Last test of basis   182090  2023-07-31 12:44:11 Z    1 days
Testing same since   182108  2023-08-02 03:40:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ranbir Singh <Ranbir.Singh3@Dell.com>
  Ranbir Singh <rsingh@ventanamicro.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   677f2c6f15..d11968fcc5  d11968fcc56cbbffef7d906048b00faea9415447 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 08:58:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 08:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574808.900392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR7gU-0002xe-6C; Wed, 02 Aug 2023 08:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574808.900392; Wed, 02 Aug 2023 08:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR7gU-0002xX-3Z; Wed, 02 Aug 2023 08:58:22 +0000
Received: by outflank-mailman (input) for mailman id 574808;
 Wed, 02 Aug 2023 08:58:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR7gT-0002xR-Hr
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 08:58:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba0df38c-3112-11ee-b25e-6b7b168915f2;
 Wed, 02 Aug 2023 10:58:19 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A030B4EE0737;
 Wed,  2 Aug 2023 10:58: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: ba0df38c-3112-11ee-b25e-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2] x86/cpu-policy: justify a violation of MISRA C:2012 Rule 1.3
Date: Wed,  2 Aug 2023 10:57:59 +0200
Message-Id: <30fdada8b08b2060c6f1ccc2ecb06d418efd97b0.1690966632.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
struct declaration to have no named members, hence violating
Rule 1.3:
"There shall be no occurrence of undefined or critical unspecified behaviour"
because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
"If the struct-declaration-list contains no named
members, the behavior is undefined."

Given that Xen is using an undocumented GCC extension that specifies the
behaviour upon defining a struct with no named member, this construct is
well-defined and thus it is marked as safe.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Added a comment mentioning the use of a GCC extension.

Note for v1:
As agreed during the MISRA C group meetings, this violation is dealt
with by means of a comment deviation, as future changes may eliminate the
root cause, which is the empty feature set.
My justification for the claim and the commit message may need some adjusting.

Note for v2:
Note that GCC does not document the particular usage of non-empty structs
with no named members, but it works as expected nonetheless.
---
 docs/misra/safe.json                 | 9 +++++++++
 xen/include/xen/lib/x86/cpu-policy.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index e3c8a1d8eb..ec2bd58777 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -12,6 +12,15 @@
         },
         {
             "id": "SAF-1-safe",
+            "analyser": {
+                "eclair": "MC3R1.R1.3",
+                "text": "The following declaration of a struct with no named members is deliberate and the use of an undocumented GCC extension ensures that the behaviour is fully defined for that compiler."
+            },
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        },
+        {
+            "id": "SAF-2-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index bab3eecda6..6b52f080c9 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -203,6 +203,7 @@ struct cpu_policy
             };
             union {
                 uint32_t _7c1;
+                /* SAF-1-safe */
                 struct { DECL_BITFIELD(7c1); };
             };
             union {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:43:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:43:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574817.900402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8OG-0008FO-H3; Wed, 02 Aug 2023 09:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574817.900402; Wed, 02 Aug 2023 09: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 1qR8OG-0008FH-Dl; Wed, 02 Aug 2023 09:43:36 +0000
Received: by outflank-mailman (input) for mailman id 574817;
 Wed, 02 Aug 2023 09:43: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR8OE-0008F7-Mm
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:43:34 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 095db98b-3119-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 11:43:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8960.eurprd04.prod.outlook.com (2603:10a6:102:20f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 09:43:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 09:43:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 095db98b-3119-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kW/1+cr+StnCQmI79Z9amuALg8WIaLckvPDrgw5Sazr1eD/0QJzgkXX7Ccl11ZMS2SfZfkO/IYASKGB2w0cGQxX1L/S1fWhVr+eJY0S1l2yNpyFBxY4G4gvZk8a3tozdMMCADDw4b+QkZ3qSm2K/L7Wz4S77FkVwXOXC99WONXEkxIEmOooi1WPmZ/3IW6Uod7xa/nnP3WZ2DaCsKShY97a8qV2QtNZkJx/xfASBfDexh7zth3h4Hs4DiJUH8mvl0AnVBeMPw2OjHN5nM8UfNEuovUIaI/BKIlvHBhucG8uuL5hzp3vpzg6OnHra56LSL6ZU7a7LpEWzcaBQBA6RFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xmAn4ea9Ft5uLOmWRqAcascwlZgYJ3Ef4JqGmYRj/ls=;
 b=CrBsktgy4/bSypTGE8TCqftG1qwthlux49uOqR/ldqHKREWfpjVKkoy4cwKaAvhHx4i2RAU36FOA260gvT2GVQZK91XVkOdswfEpjjzPBIa0VZKf8QcRAUfCcOfgoMczAvhDqECmG5/dM+L5Oa9LZr1nIslQD20RtmsK1BitZj1AN1mmCaurcl53+q+TGUv7OY5AwqFv8tpv1wcxdzpiERXKsbcXMHNbdJPKwBwOXp6vOt6ez+QSV6GDUuMJdiSJIZTqu7j72c/BwUUUuW1OP+N32D4jbSKNkXAyG1zTZIE49IR+K48/KzZQIyBVOXXvY8hDNbySMjze6z4nWeU16A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xmAn4ea9Ft5uLOmWRqAcascwlZgYJ3Ef4JqGmYRj/ls=;
 b=47AINLJg5MSJmgKS4NoNG2+L8GrlT80UgTpOL4XDHMBFJZd+c32gXKT6TeS7VVPhO3SgP7+0GK6vHyUmkaEszadxPIptQCYLuyve7p1KJ+Vhi7Z9lDxc4pmHPgS/Ji4B05CHyljstIoXZjy8cfuw6j0tavBwu1Ug4DDaxFk5hHPH85Y/YMLTksHlm87YYEQbpGmt/Ru0kNsg6XssviSBTIlMRBzWUIdZl62mZ3IqTjjtShOrW8+ixmoGuRx31MGGSxTs//bCIBwISU0uSOeb8K6gUbk3dbhdgJl8YQ3XcxF/0gig374GMJaK3mbNGMDUDTKBYicc0kIDuuSICPlmqA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd774c2f-d69c-85c4-db0c-b666b7608272@suse.com>
Date: Wed, 2 Aug 2023 11:43:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/gen-cpuid: avoid violations of Misra rule 1.3
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8960:EE_
X-MS-Office365-Filtering-Correlation-Id: 2aa002f1-9978-48be-df23-08db933cec46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kyyTl4anwRVoN+WjSnoW+BlMYSrhPFGEuppZIVMLdqC6F2IR+PU0MznfUEwRrObnMCAK6I+3u/pYJpfhrtI43E1q1OttxJUVfXFivWHxdJmnMN3iz3ZzS2d3A+LuA7UlpVZsJFn/bqDTYNfPLkasYgUiou/NO6KTm/xI4uq+urSt3u8MGZYAP0hHKBShhU3Z0J/PsNhp9306bDZ5beECD97eQzoEWcDW8/1FpmBQ/fNQo9N53UqEiO44Xi8O2XASzs+JZyftETO/MfAXnTJWS746wS+KtyNBRNd4zIw5PaFOOOTZ/TRsZKhVkMVuTao0NjsAzQbydgC0TTHLPl665BncuksolXIfmVjtpEZTo5DU/anLhk5nBIabwHj0et4SUm/9uqnYhBkQGSHqPguq4fQaA5vqWTe+O/2gcb3L5tD9J0RDuvzNmKyM/oruNIaSM5foQ9/3CvjLZWnh+wNEwbRY+PMU6EulS20ax4G0V7Z60xVLYDNL22cO+vTXClc/GX6yYmiaAY/gxTuDVZfnJxNHqgUSeSYfMkn0i3BCcxHM+gmnH7why/Kma5p0xdVFAX0+EuOLlbzRVNp0I2EE2Qigp5G/+ZNceHFb3wj/9RTioxadV9B8gFXxtUeoyzRTAEG2IzCG6UwZP7I5Vg/tRw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(186003)(8936002)(8676002)(26005)(41300700001)(31686004)(2906002)(5660300002)(2616005)(86362001)(478600001)(54906003)(316002)(38100700002)(6506007)(6486002)(66946007)(66476007)(66556008)(31696002)(6916009)(4326008)(6512007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFBCTkl6NTJTOFM3OElFWHExZUdINW1sWXZjNVpwRnFQUERhb2lZVFdndHl4?=
 =?utf-8?B?WVdmU29oQVRCNllYbFdINnVvYjRmM3ZtbkxDSzA0Z0NRSDBJNTNZT2sybmtE?=
 =?utf-8?B?N0dTWUlFR3JGZ3ozOU5mZjcycDh6V0Rwd3BCeWxiUWh5NVNDckppNEV1bitV?=
 =?utf-8?B?Mjl1ZlhHd3dGS2ZaSmRVVS8zeTd2aktVSXo3V2xCbDFMb2xKcmZodFFFNFJF?=
 =?utf-8?B?TFhzRTB5NXIzazIrYTdBWFhEV3Nqbjl3d1RscDMwQWxTOUVsUUxRbmtVVGMv?=
 =?utf-8?B?bi9iVmlBUHJQODVTTkNyd2lSa0o5SXVOVFlQWXE5YTZiM1dWbElFdDU1QXo4?=
 =?utf-8?B?eG1WaEkyTjlvZDNBV2ppTXBhTnpldDNpRmFoOE9YcWJxY214RnM5SEJDS1Nk?=
 =?utf-8?B?djBrbjF2L0NMTExzZGNwV0RaR0RSdVNXcnFRd3Q0QzBuUDVKV1FiUUoyVUxN?=
 =?utf-8?B?UGFzdU1sd0FXYVRWZWd5SC9NNFV6dWhxdXBORVlMeUtzYXJTV2JaUkN0MmdU?=
 =?utf-8?B?T0pBdTNqN08ra1JiNUV2cTF3Q0gxNGlFOTdEUWZ3RnYrRUxrTHRaQi9FMnpL?=
 =?utf-8?B?dkJ0OGM1eFpsMXc2TEtDdmd2ekhwRDF5cUI1c0pwRnBrWHZITUdNTnJiRlp1?=
 =?utf-8?B?MU9NbndqejlQcW83M2VWVmhReURHejZSUm51TW54UHdQYnVJdVVCbFpPSkJY?=
 =?utf-8?B?NUF5a1lwZ1dadUhDaHlMc2J0MURMNUVUT0lWM0YycWwrdXhtdXlMM0tNTEZi?=
 =?utf-8?B?ekZEbzYvRVQvQWQxN1FubG1CUjAwcGsyVVJsUGk5QlZrMnBlRHlyMnl6blhz?=
 =?utf-8?B?bXVDL1l6UzlnaXRCVVpEYlNnMXZvK1hNdU94L3VaZE5QQnFWY2V6VGtiZ2pP?=
 =?utf-8?B?VmNKSnZSQ1gwSit6SGs3M3czSWRhMCtBSWpuRXpCeml0L2VPVHZwdGFJYnFs?=
 =?utf-8?B?QThjWEU4bVpIdmUxTk9XcEFZcFk0WE9CaVVtZzZxSTJaM0hmNm9waTE0ZzJI?=
 =?utf-8?B?b2t0Z0g3SVdlZXhFMGJNaWdTWXI0RUhoQkRXb2hnUjhsQk9lTFd1aVZ4WXhz?=
 =?utf-8?B?Tk0wSEQ0cWtNZmg5WWI5NUhSbFVjcVBlMzJEWHhGYlVVS3RycHBzZDQzNC8w?=
 =?utf-8?B?YVUwVGVUL2F2b2xvSmtmWmZuazQzZXhwWXhvam5UK05RbHVoSmZJV0crcWsy?=
 =?utf-8?B?V1pZTWZTaTVRakhzQ0kySUI4YlEyZnBsM3BUalZhd0NFTmVxemZ6YmQ0WGJ5?=
 =?utf-8?B?WkliQlVTa3Z6T3BaZ0llOU1laU5ibVg4blNWRGlMVk5KUkNhZGU1YzFCbmNq?=
 =?utf-8?B?WkphcTVOdSs5MG5RaytKZW85WDl1UVRwMjI3dFhDSnV6dW8yZ21Kd0RFdTAw?=
 =?utf-8?B?RE1HeVpOTlJxTEVZNWpIdFJGeU44THNtandkZUh0T0hQaWtyTnpFOUtCWm1h?=
 =?utf-8?B?eHJ6SmthRWVIbGdqZUYzNEZ3ekw2NTRFSlRVdmJXZEJmRE44dHp2OU1WUGNU?=
 =?utf-8?B?MWg5bEpWVVVGRlo1RCtENmIzajhFSS9iU0RsRGUvMjRIVW9jOWIrQ3VBR244?=
 =?utf-8?B?UnJ4bk5xZ3E1VlpuLzFZRUo3ZTcwNEozeG5KaGJoOTZMSEhLQTg0Qm9rT2Mw?=
 =?utf-8?B?OVhBRS9vTnFmZDEzV0VtWkVVVExxRmJDbmxiZ2c4akhBMUFVTFlaQ2ZDekM3?=
 =?utf-8?B?L3hNUDJzRGVMTGlYcjFLTU1ldWp2Nmd3SVI5OGZZVUJpWUVPRDdnODFTbzV2?=
 =?utf-8?B?VHlxdGFGVmpZNDBVeG1SN1pGaUVqQit4WkRBdWRlRi8raERCNjZNWE96YUFS?=
 =?utf-8?B?Wm9zNTNudG04SkkrbGZyUlFpRUpFREUvZ3QzRm1vUHIwYytYM3NEZ1Z4ZThr?=
 =?utf-8?B?RVZHeW5kMFVmVlBpSnRDSmVNWTc0UkVaWStabldjYlJBWGJTZjZQOE9kV0tJ?=
 =?utf-8?B?L3RSdUZMTU1ERllIRWZKSDZjMGF0aFNuY2xPTEd6QVR5bzZtcWdSamlIL29G?=
 =?utf-8?B?VzVEZ21lUW8xdkxwT0lZSUdKaHFWRE1DeHEzOVIvamdCWDAyQ2VEb0QwL2VV?=
 =?utf-8?B?OTBaTmU4YnFCRW00TTVJM0J2bnJ3Rjdob0JEZmFJYnJHcjlCa0Zhb0RZZGVV?=
 =?utf-8?Q?yMICvfgpJ162KU94HeqevrJag?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2aa002f1-9978-48be-df23-08db933cec46
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 09:43:27.5893
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GQrTKhFo8drt6AymAjNymJfszicIf+gdGYjpBcmaLaR9zuUcQPRqdjw0T5q36w/7qdvbgax27eU6tMh4MSZIPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8960

Structures or unions without any named members aren't liked by Misra
(nor the C standard). Avoid emitting such for leaves without any known
bits.

At this occasion also add the script to the X86 section in ./MAINTAINERS.

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

--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -601,6 +601,7 @@ F:	xen/arch/x86/
 F:	xen/include/public/arch-x86/
 F:	xen/include/xen/lib/x86
 F:	xen/lib/x86
+F:	xen/tools/gen-cpuid.py
 F:	tools/firmware/hvmloader/
 F:	tools/firmware/rombios/
 F:	tools/firmware/vgabios/
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -367,6 +367,7 @@ def crunch_numbers(state):
     for word in range(state.nr_entries):
 
         names = []
+        empty = 1
         for bit in range(32):
 
             name = state.names.get(word * 32 + bit, "")
@@ -380,9 +381,15 @@ def crunch_numbers(state):
             if name in ("APIC", "OSXSAVE", "OSPKE"):
                 name = ""
 
+            if name:
+                empty = 0
+
             names.append(name.lower())
 
-        state.bitfields.append("bool " + ":1, ".join(names) + ":1")
+        if empty:
+            state.bitfields.append("unsigned int empty_" + str(word) + ":32")
+        else:
+            state.bitfields.append("bool " + ":1, ".join(names) + ":1")
 
 
 def write_results(state):


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:45:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574819.900411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pd-0000M5-QJ; Wed, 02 Aug 2023 09:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574819.900411; Wed, 02 Aug 2023 09:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pd-0000Ly-NE; Wed, 02 Aug 2023 09:45:01 +0000
Received: by outflank-mailman (input) for mailman id 574819;
 Wed, 02 Aug 2023 09:44:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8Pb-0000LL-LD
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:44:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e698eaf-3119-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 11:44:58 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id CE9A64EE0740;
 Wed,  2 Aug 2023 11:44:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e698eaf-3119-11ee-b25f-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 1/4] x86/mce: address MISRA C:2012 Rule 5.3
Date: Wed,  2 Aug 2023 11:44:28 +0200
Message-Id: <52ec7caf08089e3aaaad2bcf709a7d387d55d58f.1690969271.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690969271.git.nicola.vetrini@bugseng.com>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Suitable mechanical renames are made to avoid shadowing, thus
addressing violations of MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/cpu/mcheck/barrier.c | 8 ++++----
 xen/arch/x86/cpu/mcheck/barrier.h | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/barrier.c b/xen/arch/x86/cpu/mcheck/barrier.c
index a7e5b19a44..51a1d37a76 100644
--- a/xen/arch/x86/cpu/mcheck/barrier.c
+++ b/xen/arch/x86/cpu/mcheck/barrier.c
@@ -16,11 +16,11 @@ void mce_barrier_dec(struct mce_softirq_barrier *bar)
     atomic_dec(&bar->val);
 }
 
-void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
+void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait)
 {
     int gen;
 
-    if ( !wait )
+    if ( !do_wait )
         return;
     atomic_inc(&bar->ingen);
     gen = atomic_read(&bar->outgen);
@@ -34,11 +34,11 @@ void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
     }
 }
 
-void mce_barrier_exit(struct mce_softirq_barrier *bar, bool wait)
+void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait)
 {
     int gen;
 
-    if ( !wait )
+    if ( !do_wait )
         return;
     atomic_inc(&bar->outgen);
     gen = atomic_read(&bar->ingen);
diff --git a/xen/arch/x86/cpu/mcheck/barrier.h b/xen/arch/x86/cpu/mcheck/barrier.h
index c4d52b6192..5cd1b4e4bf 100644
--- a/xen/arch/x86/cpu/mcheck/barrier.h
+++ b/xen/arch/x86/cpu/mcheck/barrier.h
@@ -32,14 +32,14 @@ void mce_barrier_init(struct mce_softirq_barrier *);
 void mce_barrier_dec(struct mce_softirq_barrier *);
 
 /*
- * If @wait is false, mce_barrier_enter/exit() will return immediately
+ * If @do_wait is false, mce_barrier_enter/exit() will return immediately
  * without touching the barrier. It's used when handling a
  * non-broadcasting MCE (e.g. MCE on some old Intel CPU, MCE on AMD
  * CPU and LMCE on Intel Skylake-server CPU) which is received on only
  * one CPU and thus does not invoke mce_barrier_enter/exit() calls on
  * all CPUs.
  *
- * If @wait is true, mce_barrier_enter/exit() will handle the given
+ * If @do_wait is true, mce_barrier_enter/exit() will handle the given
  * barrier as below.
  *
  * Increment the generation number and the value. The generation number
@@ -53,8 +53,8 @@ void mce_barrier_dec(struct mce_softirq_barrier *);
  * These barrier functions should always be paired, so that the
  * counter value will reach 0 again after all CPUs have exited.
  */
-void mce_barrier_enter(struct mce_softirq_barrier *, bool wait);
-void mce_barrier_exit(struct mce_softirq_barrier *, bool wait);
+void mce_barrier_enter(struct mce_softirq_barrier *, bool do_wait);
+void mce_barrier_exit(struct mce_softirq_barrier *, bool do_wait);
 
 void mce_barrier(struct mce_softirq_barrier *);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:45:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574821.900422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pe-0000TX-93; Wed, 02 Aug 2023 09:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574821.900422; Wed, 02 Aug 2023 09: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 1qR8Pe-0000Qh-4x; Wed, 02 Aug 2023 09:45:02 +0000
Received: by outflank-mailman (input) for mailman id 574821;
 Wed, 02 Aug 2023 09:45:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8Pc-0000LL-AA
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:45:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ed653e6-3119-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 11:44:59 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9C0044EE0741;
 Wed,  2 Aug 2023 11:44: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: 3ed653e6-3119-11ee-b25f-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
Date: Wed,  2 Aug 2023 11:44:29 +0200
Message-Id: <16fa23ecb465442c566a18af0a569092075eef26.1690969271.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690969271.git.nicola.vetrini@bugseng.com>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename variables to avoid shadowing and thus address
MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/mtrr.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 29f3fb1607..d504d1e43b 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
 
 static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
 {
-    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
+    const struct mtrr_state *mtrr = &v->arch.hvm.mtrr;
     struct hvm_hw_mtrr hw_mtrr = {
-        .msr_mtrr_def_type = mtrr_state->def_type |
-                             MASK_INSR(mtrr_state->fixed_enabled,
+        .msr_mtrr_def_type = mtrr->def_type |
+                             MASK_INSR(mtrr->fixed_enabled,
                                        MTRRdefType_FE) |
-                            MASK_INSR(mtrr_state->enabled, MTRRdefType_E),
-        .msr_mtrr_cap      = mtrr_state->mtrr_cap,
+                            MASK_INSR(mtrr->enabled, MTRRdefType_E),
+        .msr_mtrr_cap      = mtrr->mtrr_cap,
     };
     unsigned int i;
 
@@ -710,14 +710,14 @@ static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
 
     for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
     {
-        hw_mtrr.msr_mtrr_var[i * 2] = mtrr_state->var_ranges->base;
-        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr_state->var_ranges->mask;
+        hw_mtrr.msr_mtrr_var[i * 2] = mtrr->var_ranges->base;
+        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr->var_ranges->mask;
     }
 
     BUILD_BUG_ON(sizeof(hw_mtrr.msr_mtrr_fixed) !=
-                 sizeof(mtrr_state->fixed_ranges));
+                 sizeof(mtrr->fixed_ranges));
 
-    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr_state->fixed_ranges,
+    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr->fixed_ranges,
            sizeof(hw_mtrr.msr_mtrr_fixed));
 
     return hvm_save_entry(MTRR, v->vcpu_id, h, &hw_mtrr);
@@ -727,7 +727,7 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
 {
     unsigned int vcpuid, i;
     struct vcpu *v;
-    struct mtrr_state *mtrr_state;
+    struct mtrr_state *mtrr;
     struct hvm_hw_mtrr hw_mtrr;
 
     vcpuid = hvm_load_instance(h);
@@ -749,26 +749,26 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }
 
-    mtrr_state = &v->arch.hvm.mtrr;
+    mtrr = &v->arch.hvm.mtrr;
 
     hvm_set_guest_pat(v, hw_mtrr.msr_pat_cr);
 
-    mtrr_state->mtrr_cap = hw_mtrr.msr_mtrr_cap;
+    mtrr->mtrr_cap = hw_mtrr.msr_mtrr_cap;
 
     for ( i = 0; i < NUM_FIXED_MSR; i++ )
-        mtrr_fix_range_msr_set(d, mtrr_state, i, hw_mtrr.msr_mtrr_fixed[i]);
+        mtrr_fix_range_msr_set(d, mtrr, i, hw_mtrr.msr_mtrr_fixed[i]);
 
     for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
     {
-        mtrr_var_range_msr_set(d, mtrr_state,
+        mtrr_var_range_msr_set(d, mtrr,
                                MSR_IA32_MTRR_PHYSBASE(i),
                                hw_mtrr.msr_mtrr_var[i * 2]);
-        mtrr_var_range_msr_set(d, mtrr_state,
+        mtrr_var_range_msr_set(d, mtrr,
                                MSR_IA32_MTRR_PHYSMASK(i),
                                hw_mtrr.msr_mtrr_var[i * 2 + 1]);
     }
 
-    mtrr_def_type_msr_set(d, mtrr_state, hw_mtrr.msr_mtrr_def_type);
+    mtrr_def_type_msr_set(d, mtrr, hw_mtrr.msr_mtrr_def_type);
 
     return 0;
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:45:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574820.900416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pe-0000PT-21; Wed, 02 Aug 2023 09:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574820.900416; Wed, 02 Aug 2023 09: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 1qR8Pd-0000O4-TX; Wed, 02 Aug 2023 09:45:01 +0000
Received: by outflank-mailman (input) for mailman id 574820;
 Wed, 02 Aug 2023 09:45:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8Pc-0000Lc-5p
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:45:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3df6e956-3119-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 11:44:58 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C26E14EE0737;
 Wed,  2 Aug 2023 11:44: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: 3df6e956-3119-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH 0/4] x86: address some violations of MISRA C:2012 Rule 5.3
Date: Wed,  2 Aug 2023 11:44:27 +0200
Message-Id: <cover.1690969271.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some variables are renamed or deleted in this series to avoid shadowing, which
violates MISRA C:2012 Rule 5.3, whose headline is:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

Nicola Vetrini (4):
  x86/mce: address MISRA C:2012 Rule 5.3
  x86/mtrr: address MISRA C:2012 Rule 5.3
  x86/irq: rename variable to address MISRA C:2012 Rule 5.3
  x86/setup: address MISRA C:2012 Rule 5.3

 xen/arch/x86/cpu/mcheck/barrier.c |  8 ++++----
 xen/arch/x86/cpu/mcheck/barrier.h |  8 ++++----
 xen/arch/x86/hvm/hvm.c            |  2 +-
 xen/arch/x86/hvm/mtrr.c           | 32 +++++++++++++++----------------
 xen/arch/x86/include/asm/irq.h    |  2 +-
 xen/arch/x86/include/asm/setup.h  |  2 +-
 xen/arch/x86/io_apic.c            | 10 +++++-----
 xen/arch/x86/irq.c                | 12 ++++++------
 xen/arch/x86/msi.c                |  4 ++--
 xen/arch/x86/setup.c              |  3 +--
 xen/include/xen/irq.h             |  2 +-
 11 files changed, 42 insertions(+), 43 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:45:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574822.900427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pe-0000cs-Kv; Wed, 02 Aug 2023 09:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574822.900427; Wed, 02 Aug 2023 09: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 1qR8Pe-0000ag-Fp; Wed, 02 Aug 2023 09:45:02 +0000
Received: by outflank-mailman (input) for mailman id 574822;
 Wed, 02 Aug 2023 09:45: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8Pd-0000LL-AU
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:45:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f5c049e-3119-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 11:45:00 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 5CF0D4EE0742;
 Wed,  2 Aug 2023 11:44: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: 3f5c049e-3119-11ee-b25f-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH 3/4] x86/irq: rename variable to address MISRA C:2012 Rule 5.3
Date: Wed,  2 Aug 2023 11:44:30 +0200
Message-Id: <af52de5af977362330680707e0acf890e3cb0995.1690969271.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690969271.git.nicola.vetrini@bugseng.com>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
local variables in the changed file. To avoid this, the variable is
renamed to 'irq_description'.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/hvm.c         |  2 +-
 xen/arch/x86/include/asm/irq.h |  2 +-
 xen/arch/x86/io_apic.c         | 10 +++++-----
 xen/arch/x86/irq.c             | 12 ++++++------
 xen/arch/x86/msi.c             |  4 ++--
 xen/include/xen/irq.h          |  2 +-
 6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2180abeb33..ca5bb96388 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -474,7 +474,7 @@ void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v)
 
         if ( !desc )
             return;
-        ASSERT(MSI_IRQ(desc - irq_desc));
+        ASSERT(MSI_IRQ(desc - irq_descriptor));
         irq_set_affinity(desc, cpumask_of(v->processor));
         spin_unlock_irq(&desc->lock);
     }
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index ad907fc97f..f6df977170 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -172,7 +172,7 @@ int assign_irq_vector(int irq, const cpumask_t *mask);
 
 void cf_check irq_complete_move(struct irq_desc *desc);
 
-extern struct irq_desc *irq_desc;
+extern struct irq_desc *irq_descriptor;
 
 void lock_vector_lock(void);
 void unlock_vector_lock(void);
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index b3afef8933..b59d6cfb9e 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -990,9 +990,9 @@ static inline void ioapic_register_intr(int irq, unsigned long trigger)
 {
     if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
         trigger == IOAPIC_LEVEL)
-        irq_desc[irq].handler = &ioapic_level_type;
+        irq_descriptor[irq].handler = &ioapic_level_type;
     else
-        irq_desc[irq].handler = &ioapic_edge_type;
+        irq_descriptor[irq].handler = &ioapic_edge_type;
 }
 
 static void __init setup_IO_APIC_irqs(void)
@@ -1098,7 +1098,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
      * The timer IRQ doesn't have to know that behind the
      * scene we have a 8259A-master in AEOI mode ...
      */
-    irq_desc[0].handler = &ioapic_edge_type;
+    irq_descriptor[0].handler = &ioapic_edge_type;
 
     /*
      * Add it to the IO-APIC irq-routing table:
@@ -1912,7 +1912,7 @@ static void __init check_timer(void)
     if ((ret = bind_irq_vector(0, vector, &cpumask_all)))
         printk(KERN_ERR"..IRQ0 is not set correctly with ioapic!!!, err:%d\n", ret);
     
-    irq_desc[0].status &= ~IRQ_DISABLED;
+    irq_descriptor[0].status &= ~IRQ_DISABLED;
 
     /*
      * Subtle, code in do_timer_interrupt() expects an AEOI
@@ -2009,7 +2009,7 @@ static void __init check_timer(void)
     printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
 
     disable_8259A_irq(irq_to_desc(0));
-    irq_desc[0].handler = &lapic_irq_type;
+    irq_descriptor[0].handler = &lapic_irq_type;
     apic_write(APIC_LVT0, APIC_DM_FIXED | vector);	/* Fixed mode */
     enable_8259A_irq(irq_to_desc(0));
 
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 6abfd81621..ed95896bce 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -45,7 +45,7 @@ integer_param("irq-max-guests", irq_max_guests);
 
 vmask_t global_used_vector_map;
 
-struct irq_desc __read_mostly *irq_desc = NULL;
+struct irq_desc __read_mostly *irq_descriptor = NULL;
 
 static DECLARE_BITMAP(used_vectors, X86_NR_VECTORS);
 
@@ -424,9 +424,9 @@ int __init init_irq_data(void)
     for ( vector = 0; vector < X86_NR_VECTORS; ++vector )
         this_cpu(vector_irq)[vector] = INT_MIN;
 
-    irq_desc = xzalloc_array(struct irq_desc, nr_irqs);
-    
-    if ( !irq_desc )
+    irq_descriptor = xzalloc_array(struct irq_desc, nr_irqs);
+
+    if ( !irq_descriptor )
         return -ENOMEM;
 
     for ( irq = 0; irq < nr_irqs_gsi; irq++ )
@@ -1133,7 +1133,7 @@ static void cf_check set_eoi_ready(void *data);
 static void cf_check irq_guest_eoi_timer_fn(void *data)
 {
     struct irq_desc *desc = data;
-    unsigned int i, irq = desc - irq_desc;
+    unsigned int i, irq = desc - irq_descriptor;
     irq_guest_action_t *action;
 
     spin_lock_irq(&desc->lock);
@@ -1382,7 +1382,7 @@ static void __set_eoi_ready(const struct irq_desc *desc)
     struct pending_eoi *peoi = this_cpu(pending_eoi);
     int                 irq, sp;
 
-    irq = desc - irq_desc;
+    irq = desc - irq_descriptor;
 
     if ( !action || action->in_flight ||
          !cpumask_test_and_clear_cpu(smp_processor_id(),
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1d..35d417c63a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -1322,7 +1322,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         unsigned int i = 0, nr = 1;
 
         irq = entry->irq;
-        desc = &irq_desc[irq];
+        desc = &irq_descriptor[irq];
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -1377,7 +1377,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
                 break;
 
             spin_unlock_irqrestore(&desc->lock, flags);
-            desc = &irq_desc[entry[++i].irq];
+            desc = &irq_descriptor[entry[++i].irq];
             spin_lock_irqsave(&desc->lock, flags);
             if ( desc->msi_desc != entry + i )
                 goto bogus;
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index 9747e818f7..56a3aa6a29 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -107,7 +107,7 @@ typedef struct irq_desc {
 } __cacheline_aligned irq_desc_t;
 
 #ifndef irq_to_desc
-#define irq_to_desc(irq)    (&irq_desc[irq])
+#define irq_to_desc(irq)    (&irq_descriptor[irq])
 #endif
 
 int init_one_irq_desc(struct irq_desc *desc);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:45:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574823.900451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8Pg-0001Hw-86; Wed, 02 Aug 2023 09:45:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574823.900451; Wed, 02 Aug 2023 09:45: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 1qR8Pg-0001GB-2a; Wed, 02 Aug 2023 09:45:04 +0000
Received: by outflank-mailman (input) for mailman id 574823;
 Wed, 02 Aug 2023 09:45:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8Pe-0000Lc-Oz
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:45:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fdaf24d-3119-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 11:45:01 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 452BD4EE0743;
 Wed,  2 Aug 2023 11:45: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: 3fdaf24d-3119-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 4/4] x86/setup: address MISRA C:2012 Rule 5.3
Date: Wed,  2 Aug 2023 11:44:31 +0200
Message-Id: <807b238780c3e2dfce785c6bb173099a4bd38e4b.1690969271.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690969271.git.nicola.vetrini@bugseng.com>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The parameters renamed in the function declaration caused shadowing
with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
them also addresses Rule 8.3:
"All declarations of an object or function shall use the same names
and type qualifiers".

The local variable 'mask' is removed because it shadows the homonymous
variable defined in an outer scope, with no change to the semantics.
It was introduced by commit 5a771800114c437fb857b44b3ed74f60e87979c2
as a refactoring of the branch that handles 'CONFIG_X86_64' for function
'__start_xen'.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/setup.h | 2 +-
 xen/arch/x86/setup.c             | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 51fce66607..b0e6a39e23 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -33,7 +33,7 @@ static inline void vesa_init(void) {};
 
 int construct_dom0(
     struct domain *d,
-    const module_t *kernel, unsigned long kernel_headroom,
+    const module_t *image, unsigned long image_headroom,
     module_t *initrd,
     const char *cmdline);
 void setup_io_bitmap(struct domain *d);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2dbe9857aa..80ae973d64 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         s = map_s;
         if ( s < map_e )
         {
-            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
-
+            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
             map_s = (s + mask) & ~mask;
             map_e &= ~mask;
             init_boot_pages(map_s, map_e);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 09:48:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 09:48:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574848.900461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8SV-0003G3-No; Wed, 02 Aug 2023 09:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574848.900461; Wed, 02 Aug 2023 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 1qR8SV-0003Fw-LI; Wed, 02 Aug 2023 09:47:59 +0000
Received: by outflank-mailman (input) for mailman id 574848;
 Wed, 02 Aug 2023 09:47:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR8SU-0003Fq-Dl
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 09:47:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2089.outbound.protection.outlook.com [40.107.7.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8ab1ae8-3119-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 11:47:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Wed, 2 Aug
 2023 09:47:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 09:47:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8ab1ae8-3119-11ee-b25f-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PiwyOlrehs8Xq5TOXigJ3qKPE2QnCX2+lWyZLN8xkJlIKyPUuzvT0+30dgnOzkRu6J1wXo036y55XkzuyweRnp5ODHuzfCG3VAKqedVlhkBAYy5iqsQSJCWWdALDseD2UX3oIsV5SRSbMQu+D3j577zilYAmhk7yuCMUQwD7zl5K8DoxZQd35CsDzhTFgJPi5BE6HIyUylSpxmG1SH3LcYmduIIxVORGSFZvuAhORPsFqqxaF5rEDRLVo35hQySsF2/VhBtudBLjirCcdWUbJiqDG2N9cPRQrSD/yqmM+kCRex1E+RugNqZrnvNVG/IK1jTxNDJoohiIEJ1Z4aFFgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GPHQI3HV/ISYU//I4owjCgl9bftVPfSPRgtTkcbD1a4=;
 b=ejHHr0kpLipgxDxhZGoNC425P4F+SWhi98ZP9tQ0PNOy+mPoZxdM6CAO5v0zS9IJ8Uk9vlrh2Phm2QV/J8GQmLjpjKMiBDUSDnIV2nzOtC5RzRF4zRqkXxZi9ayUlAFZTahGskQNyVtSQD9oiwdSEQmq62g2bMPFAXrOOUszm7XW/P4TblwxFaf9hKxj5SxBB2exBiqcPtUwsEuMXdde0WlsadfX+4Tjf/8gegjO5S2+GoJQ5wRL34XFr/zBxZLZ0DvRLMkYvOTfK9qf5GijfohJslbBbC/0O4gNNN0MhfCEiy5F/51lR5X7OUxmWNfuDumcjZE9aK/Qvv/Ljr8U0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GPHQI3HV/ISYU//I4owjCgl9bftVPfSPRgtTkcbD1a4=;
 b=HzF/HckZPqZ5OKtUxZ5uV0P+0M3pw7LVHMAuhnXEOig+h9kKuGO/rMBowWIdId2SIQC6uqsAL5kZNao+245yCvC4DJcNX9AY6f0F7MCEMoM4qAZ2xI+1Jwk1Cr6trIT/lhq6Zr5UuaX5qOsia0fPpGor9pJm1iN5MJu9dJ/1ypmcG9Fq3jX//vBgM+p4zucZ+VKTcS0rE2uPx2vM5mOfo5nnN58sh3CDzR9pL7FgWE8TYOBqVtJLp4bMcVdXmNhviFKtNj+L/4qm5fMw0lWwyuRDTv+McjGJ0VBJ70+56MK/yTE1ufjxo1/s1CgFj7d6myXpI8EU0aLpdeo/o/ymgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5ff38731-fed7-91eb-c933-28d191fb429b@suse.com>
Date: Wed, 2 Aug 2023 11:47:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH v2] x86/cpu-policy: justify a violation of MISRA
 C:2012 Rule 1.3
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>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <30fdada8b08b2060c6f1ccc2ecb06d418efd97b0.1690966632.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <30fdada8b08b2060c6f1ccc2ecb06d418efd97b0.1690966632.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0241.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8646:EE_
X-MS-Office365-Filtering-Correlation-Id: d95b31ab-3168-4b82-a6c2-08db933d7b5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pw09r5ais+37lVtH4pr1aMBUQkmQmQxhYOzpaQECiPxWk2SF/odSruzdxik0hUZYsU+Xxcpbg6b8sgULq7EqR0oSrJnZgVTWV6T4RHMPrRGJWowNWLfpar42xcWK6SVhvjCiiiMajev6l3YIBPU7nSYX/0eVX79JrenYi5oGFQUHS7YNjO3JmieJHMUX/FfvH+1Z/eBKMioL76z91HqDUvpxCDOavhW/pzQWruY73hwrVigkkEGWSJiSUyHmT1/c2mx/cB4iY4wxnCyrX9ATDG2ychRDGRZTr1QDP/LQPPARfijftPqo8fw8n+iF4Bk5P3H6NM5QdLQGh/YQ6kHLLTJJm3z9UKWz0uR2nmcim71deZ9MB7/qQt4GDWwcfxDOvr/zZUjtTHoyrV3tyliWbtieSHVntZRPghD0egLdI61T7NTzm2TKMMY17SsOfy0BMBuU2Bu/VYitPf731UmcIaUYJZKDDl+iThkaciuM16Eg6fWL4pHe0aYRbUTspwXEoe+9qSdbfn7EqYmkZLaDicwULV+yYcgFxmoRnn407BY4lEFc4CAzv1F/c6SDD0Oh3NgX4oh0uT9pl7oWfsNuWW1tud+fvqPwDsRywGqQDizYnczaikUvv/+5pAGc/eKf4MRJOOjftBi4pem2n1awUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199021)(4744005)(8936002)(2616005)(41300700001)(8676002)(5660300002)(86362001)(2906002)(36756003)(186003)(7416002)(53546011)(6506007)(6916009)(4326008)(66946007)(66556008)(26005)(66476007)(54906003)(6486002)(38100700002)(31686004)(316002)(31696002)(6512007)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N1RoVGY4Mno1UXBhM3FHcDZKb1dBbjMxaW1WWVNXR2tCWit3SXRkMXV1YVlE?=
 =?utf-8?B?K2dGbFZVVXN5dXplSURlZTUra3dnM2hiZGFyWXlVS0lzbXZXcnR0QlY4ZjJQ?=
 =?utf-8?B?Z0hWalU5OVRjYTVmNzIwU1NLN3l4NEpYczlVV3RoelpBN2pSU1h3aGFKbDBT?=
 =?utf-8?B?SGNJR05uZENBM09abnhjSUUvNFdUSUJzWkJpUFVVMlMzZVBlUE5tZzlDNnV5?=
 =?utf-8?B?RjhXbTMwZXJmVVVRa0tCb3k0b3hGYVlQYjNyVXMxYy9nTGpUd2ZIcThEeEVM?=
 =?utf-8?B?c1BuOUIyRDgwaW9qTFYyMzNLdzl0MlIxZUl0MmR6V1UvMXlKeGc3N1g1VjY1?=
 =?utf-8?B?SngzYW5TWkhmaDhWQjdOSFFFeERUc1BSd1dqaHdaRE5ET1BlZU5jR2xyMTh5?=
 =?utf-8?B?NGxod2F5UFRTcWlVR0lFVTNJL2V5M09xMFYxdFFwMTZtY2k2T0Q3TldiZEtQ?=
 =?utf-8?B?RGtpUE1Ic1YwZENkWU5SV0lPbEpKTVo4eE8xT0pHbXREK3laOUN2V3pCNkJQ?=
 =?utf-8?B?RnNzM25nU2w0dnZuUnU0QWkvMy94eU8rbGphR01lWnpnYmh6MUQ0SVBtZlRK?=
 =?utf-8?B?RGU0aE5IYnRwOVc4Q0ozVmpsR1lNelVIRkdPM3JIYVM2ZTRoKzFndVJWWnp3?=
 =?utf-8?B?OG90UTVKbTNhZGlUTUY0RzFxUnZacG1iVE4xZTNESWZpZDdFRUFySWVLYTh1?=
 =?utf-8?B?bGJTbUc2TE9DL0h2dHNXVFNSY3FlWWppcWJRekVwbUlVUW5uMUx6SVM3OXFy?=
 =?utf-8?B?akE0bWNWWUZhVk1YemN0TWZrblJFbm9RcGEzWm9MVGk2UVBtazJuVTVQdDZx?=
 =?utf-8?B?cExzNXpxRWxIYi82ZVNvUkE0d0hJelNwcUJaUk9HcVM0TkdaamhTUkVXQkhQ?=
 =?utf-8?B?amJpWGFqNkFONktUUGJTTFdBckVhYjZOVXBHeUZYUWtyTHVwNTdiOTlPSnQw?=
 =?utf-8?B?NWpWQ1Bkd3dRNFUvMkttOGlaLzI3OWxPRTZZUElEckg4SDYrdURJYTVhWmQ5?=
 =?utf-8?B?emM1dFYzMUxpdTdIYTc0eVBNdU1RNEp6cGx5MVU4dTFrZVFBa1ZsN0liaUph?=
 =?utf-8?B?dEFzMlNTT2IwekY4NG1VaUZvMlZLc0hZWFIydE9zckQ2SU1FRTBWczNGZEZS?=
 =?utf-8?B?M3dIUFpMbTdDUjNkRXExclUyTm5JWHpCNUt5dXVIWG1YcDlIb01sekF1WGx5?=
 =?utf-8?B?VlRzNUlrUlN2M3VKODhadVVQMWttQUtHK2NvZmZmaDNpWUdZOTdnZTcvWGx5?=
 =?utf-8?B?OE5qN2RmSzFyY2t1UXF3UEljWGZWMnZORHFVMnh4RGd1b09ZZVRjaWNWS01i?=
 =?utf-8?B?TWtzRnNtaWNFU0JXWHdIeUFxVjdnV2h4QXd2aDdvYUVWbEZFOEMrVXVrWHg3?=
 =?utf-8?B?ZHZUODdVNW9GYzFtNVROUkhRaGF3UlNiUnJkcXFRZEgvRjVSVjRzQUYwSUF3?=
 =?utf-8?B?ZTRxRCtqQWN6VGNXRXc4SHQ0Z3Z4eXU3QzRyd05Rd1lQQnRqbHc3YU9FRkQw?=
 =?utf-8?B?MUZJUFF0bHJURG5kcDdFZHZOTHJjc3drZ1hNWXMxOFBBNzNQdTcrT1p6NU5t?=
 =?utf-8?B?eVhIaDQ1QSs0WHlQQ2JDNVQrR2MwaGVUTS84c0NtVG9EUG5YSmRFcUdZbVJE?=
 =?utf-8?B?THo1REo2bTBtcFFLVi9FQ0Y5YjQrMThsaWo4YlJobXp6dzgyNWVjaEJ0NnVQ?=
 =?utf-8?B?VFFxVytINXJWbjdFdlBBWHdUd0dBOWFKUG96SE1hWU5GMzlCekJuZmkvWVFJ?=
 =?utf-8?B?VWVTLzJiZUtCcUIwdFNoTXV5bHFhSUZ3bkcwNGhzNHRzOFIyejIza2d4VlVY?=
 =?utf-8?B?WUxQbjBxNk5RMHMwazloRVZWTzNVa2U2OUNjNXhraG0wWURLcVNaL3AzT1RP?=
 =?utf-8?B?S1pOeGxaS1JzN3FBWlZCT0Y2L1lpc3JscERBUDM0U0tTYmc5UDBGR2EyWGhh?=
 =?utf-8?B?SnpUc0pZSi9nR1dnaWs3NUliNmx2ZmpBbmsyUXlsRGRudFkzM1pGSGRYcXBI?=
 =?utf-8?B?N01qZnE2QkJPOVlxa3NsMnA0Qy9OVVRJWjVLOVZOQ2psVWR3dFNvbWUyNGJS?=
 =?utf-8?B?ZTJ2TUE1NU1DUVVOeFJXQ1JseEFDMGo0Ui9hdkI1cTBLR040YThVNXlFTVhT?=
 =?utf-8?Q?Ei7EfPCzyK8d/Xr3koIHO4cm1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d95b31ab-3168-4b82-a6c2-08db933d7b5b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 09:47:27.6135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k4qNlHU7T3GI/N718nWUucc1wMMaU6+eb5hb0RmyjcUrzVDo/IrpJEIWUWzUW/gWrH9cLWTpUtvKH8816TaMNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

On 02.08.2023 10:57, Nicola Vetrini wrote:
> The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
> struct declaration to have no named members, hence violating
> Rule 1.3:
> "There shall be no occurrence of undefined or critical unspecified behaviour"
> because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
> "If the struct-declaration-list contains no named
> members, the behavior is undefined."
> 
> Given that Xen is using an undocumented GCC extension that specifies the
> behaviour upon defining a struct with no named member, this construct is
> well-defined and thus it is marked as safe.

Especially after realizing that I was wrong here (I was under the wrong
impression that we'd generate a struct without members, when it's one
without named members, yet [to me at least] only the former is a known
gcc extension we use), I've sent an alternative proposal. Let's see
whether in particular Andrew considers this acceptable.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 10:01:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 10:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574853.900471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR8fn-0005i8-TN; Wed, 02 Aug 2023 10:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574853.900471; Wed, 02 Aug 2023 10: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 1qR8fn-0005i1-Qu; Wed, 02 Aug 2023 10:01:43 +0000
Received: by outflank-mailman (input) for mailman id 574853;
 Wed, 02 Aug 2023 10:01: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qR8fm-0005hv-So
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 10:01:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93f766f4-311b-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 12:01:41 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C81584EE0737;
 Wed,  2 Aug 2023 12:01: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: 93f766f4-311b-11ee-b25f-6b7b168915f2
MIME-Version: 1.0
Date: Wed, 02 Aug 2023 12:01:40 +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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_P?=
 =?UTF-8?Q?au_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86/cpu-policy: justify a violation of MISRA
 C:2012 Rule 1.3
In-Reply-To: <5ff38731-fed7-91eb-c933-28d191fb429b@suse.com>
References: <30fdada8b08b2060c6f1ccc2ecb06d418efd97b0.1690966632.git.nicola.vetrini@bugseng.com>
 <5ff38731-fed7-91eb-c933-28d191fb429b@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <796058860d0536799e40fc14f169efd2@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 02/08/2023 11:47, Jan Beulich wrote:
> On 02.08.2023 10:57, Nicola Vetrini wrote:
>> The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
>> struct declaration to have no named members, hence violating
>> Rule 1.3:
>> "There shall be no occurrence of undefined or critical unspecified 
>> behaviour"
>> because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
>> "If the struct-declaration-list contains no named
>> members, the behavior is undefined."
>> 
>> Given that Xen is using an undocumented GCC extension that specifies 
>> the
>> behaviour upon defining a struct with no named member, this construct 
>> is
>> well-defined and thus it is marked as safe.
> 
> Especially after realizing that I was wrong here (I was under the wrong
> impression that we'd generate a struct without members, when it's one
> without named members, yet [to me at least] only the former is a known
> gcc extension we use), I've sent an alternative proposal. Let's see
> whether in particular Andrew considers this acceptable.
> 

Well, I don't know the exact discussion on this in that MISRA meeting 
(25/07 iirc),
but the outcome I'm aware of was to deviate that construct because there 
are possibly
others like that in other configurations/future patches. Anyway, this 
usage does not
fall under gcc's documented extensions (either the one you mentioned or 
the one about
unnamed fields, 6.63), but it does allow it (has a warning only on 
-pedantic afaict),
hence why I put undocumented here.

In the meantime, I can test your patch to see if it has no unintended 
impact on other code
w.r.t. Rule 1.3.

Regards,

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 10:34:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 10:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574861.900481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9B8-0000iq-9t; Wed, 02 Aug 2023 10:34:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574861.900481; Wed, 02 Aug 2023 10:34:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9B8-0000iI-78; Wed, 02 Aug 2023 10:34:06 +0000
Received: by outflank-mailman (input) for mailman id 574861;
 Wed, 02 Aug 2023 10:34: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 1qR9B7-0000i8-Az; Wed, 02 Aug 2023 10:34: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 1qR9B7-00077X-6j; Wed, 02 Aug 2023 10:34: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 1qR9B6-00034j-PS; Wed, 02 Aug 2023 10:34:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qR9B6-00078P-Ou; Wed, 02 Aug 2023 10:34:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uRhghlJ1IlzNPwqV/a7aa+mgZgB6uufALbtsOq34mpM=; b=6Ce5xZqRj/+E7yZkBKNjxE1qny
	iaB8rlCJt5BmWqC4A0vADKAWv7cGyPMTWe+wr+AVQySyu2y/qVkDMZbB7nz7DhYMbK8zll4eyezBw
	tNsgiLQCo4kG6TUOjvVP1uGDrcWN4QYteZARo/D+flijBRpevSb1SeQAlNkcFpMkrvvA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182096-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182096: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=8cb945be2d6d7c3f8ad9bbc4ec1ec5c189a6717b
X-Osstest-Versions-That:
    qemuu=ccb86f079a9e4d94918086a9df18c1844347aff8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 10:34:04 +0000

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

Regressions :-(

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

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 182113-retest

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

version targeted for testing:
 qemuu                8cb945be2d6d7c3f8ad9bbc4ec1ec5c189a6717b
baseline version:
 qemuu                ccb86f079a9e4d94918086a9df18c1844347aff8

Last test of basis   182067  2023-07-29 02:34:52 Z    4 days
Testing same since   182096  2023-07-31 15:38:52 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  CĂ©dric Le Goater <clg@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 8cb945be2d6d7c3f8ad9bbc4ec1ec5c189a6717b
Merge: ccb86f079a c1e244b655
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Sun Jul 30 13:07:47 2023 -0700

    Merge tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu into staging
    
    hw/nvme fixes
    
    - use the stl/ldl pci dma api
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQEzBAABCgAdFiEEUigzqnXi3OaiR2bATeGvMW1PDekFAmTGuc8ACgkQTeGvMW1P
    # Dek41wgAwqgRmtUhmmaQJJpF5Pya3J7n3Zkbp+cULdnSp/su7W7yIUTcTzdbr34d
    # 9LbNHmWerXYinlIxG08ZWw2lq0TwApKj+8gv/wf8H7dG86/pBYfoQvOlkNx2QKyR
    # vtRNlILCEbJpbSfY3LbFNvRGOkArr6HkzT4hZprUIfCvRg58u5oIxEx/ZYa+m3WU
    # ED0y/46e7HbVbmbwJKrn4EK3k0zGdFyeINRZ5TB5DML3lCTX6eaZTLUXGIb7LLcK
    # Xyv6/TCkPTggDszTam24kx0A7DhC+3f2C8DsJg7H8jnWb1F+oq/2EJam/0HU22Uk
    # n348MrWOusuF7kbHMCP9h28gYT3aWw==
    # =KjVO
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Sun 30 Jul 2023 12:28:15 PM PDT
    # gpg:                using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9
    # gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown]
    # gpg:                 aka "Klaus Jensen <k.jensen@samsung.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: DDCA 4D9C 9EF9 31CC 3468  4272 63D5 6FC5 E55D A838
    #      Subkey fingerprint: 5228 33AA 75E2 DCE6 A247  66C0 4DE1 AF31 6D4F 0DE9
    
    * tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu:
      hw/nvme: use stl/ldl pci dma api
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit c1e244b6552efdff5612a33c6630aaf95964eaf5
Author: Klaus Jensen <k.jensen@samsung.com>
Date:   Thu Jul 20 11:42:24 2023 +0200

    hw/nvme: use stl/ldl pci dma api
    
    Use the stl/ldl pci dma api for writing/reading doorbells. This removes
    the explicit endian conversions.
    
    Reviewed-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
    Reviewed-by: CĂ©dric Le Goater <clg@redhat.com>
    Tested-by: CĂ©dric Le Goater <clg@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 11:00:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 11:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574873.900495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9aG-00045U-Ij; Wed, 02 Aug 2023 11:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574873.900495; Wed, 02 Aug 2023 11:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9aG-00045N-FP; Wed, 02 Aug 2023 11:00:04 +0000
Received: by outflank-mailman (input) for mailman id 574873;
 Wed, 02 Aug 2023 11:00:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vke=DT=citrix.com=prvs=571ca8ae6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qR9aF-0003oY-EX
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 11:00:03 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8f9b1c6-3123-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 13:00:01 +0200 (CEST)
Received: from mail-dm6nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Aug 2023 06:59:54 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW4PR03MB6475.namprd03.prod.outlook.com (2603:10b6:303:122::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 10:59:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Wed, 2 Aug 2023
 10:59:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8f9b1c6-3123-11ee-b25f-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1690974001;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=oUgvU7aeNf3v7ae8QQ0uyj+OkUFKYhxjCzflP9AkPQM=;
  b=YKwR7jlqO/tsJ2S2pkB5K2Vm+Kscxfy+4w3xLoJuDD4AIS2lXOMgwCpx
   k2qz4Z4ualmSexU0ew8SlOwyUoyN59fZQfnkLj5ODQb6c4WKjcXkwGsib
   oiikUBxlFFzgmdwPii39zp5NCD2vh4SukYfA/ODDzqippQXphUO4uuHer
   U=;
X-IronPort-RemoteIP: 104.47.59.177
X-IronPort-MID: 120876147
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:xRzzBKyHrqJ8eHA2Y6N6t+f2xyrEfRIJ4+MujC+fZmUNrF6WrkVUm
 DAYW2HQOKnbYWHyftslOd++9RsPsMeDzt4yTAA5pCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPaoT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUVK8
 aUcDhYUUg2C3fmmxrCEY+dLme12eaEHPKtH0p1h5RfwKK98BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjmVlVMuuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAtpCS+PhqqECbFu77TU3OTQvT2OAsNKpl0WfA4luF
 nIe0397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqC8p+EoDX0PjIaRUcEZCQDSQJD/dT/uoA1jzrFU9l4Hai6yNbyHFnNL
 yuiqSE/g/AfiJAN3qDip1Tf2Wvz+d7OUxI/4RjRUiS99ARlaYW5Zouur1/G8fJHK4XfRV6E1
 JQZp/WjACk1JcnlvESwrC8lRdlFO97t3OXgvGNS
IronPort-HdrOrdr: A9a23:gktUoaHYTpmPrepTpLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-Talos-CUID: =?us-ascii?q?9a23=3AYBsHWWm3YY4pcSk2tIyLuRPVTrvXOVnZyC7UBWm?=
 =?us-ascii?q?hNXtoEqaFT12v0a1DjOM7zg=3D=3D?=
X-Talos-MUID: 9a23:oKz+SwUeGTK6uAbq/BS1oABLDd1Q2LWFGF0GsM1divS6PwUlbg==
X-IronPort-AV: E=Sophos;i="6.01,249,1684814400"; 
   d="scan'208";a="120876147"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cAd3yBBpQJQHpAS0lJy4GRnntigoBjVONMwA/CKFngO6AjM+LJYBTPMaSbqNCL0R4qA1YnvIAmfK7M4V+SvVlWhUrEyjpo48fEnN5zbkt7WSeHP8Go/tPWOdU3kjw6j3RYJg2h+If4QYyWYeJfMKExMmbRuJYmLA+zvQLFq7Aqyn7k16pTj4EwCWBQ81GRLv8bA2bjngVzBPxZ2r4W+ItboshdqREQXhoPeGTNeot2w36LkWLpWMmtcGOF37Dqln0jxw+75z4rpPkF3lhHmM8nYsuEWpPk/N6gdumWkGnI0niiJJ7kqiGoPC3j7qu8zLosM+MlZxgNx39AVRAgrn8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ULTEx47mnRQuAP2u8jn8rm48uieFQBZpTlSRk2k0kvw=;
 b=Zrz1FFUSIjunXEkVEUsqOK4ktc0m4iBfRoLGCovp55m4cSpTO9ZUTl/8YwhJef54+V36YeD+vEfK70EftYeGnNTXwUxtYbEImvlVkCCthwJ6ka+QMLVPY9t1PVZwmDbPQ3P9TO7sLwd6T/HFQ2wf4kHd2niF32kjRsGS1TcoVeWYmLbREKHFeWdnqRaUlbbs0KGhbkKBJjeGcccrqdCeLix6Vok5jRhEy3VcyaSm/iTjEifx0630nvKEMUNcey8CtmzRcfJ7Hnaqw2SGfn/b9LJRyksl+fX+hQ0A7SGlKs8J0qAJzKyOVV81C5c0uxWizwcbxNDv+a9A58ATcbQjZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ULTEx47mnRQuAP2u8jn8rm48uieFQBZpTlSRk2k0kvw=;
 b=QSnZKbjOgrqYDMIEzOeURNfPOzV0J7OjDLuqA2WmLUqXWbuViN9id9He1Geia+5R9Cn92g8KicjO5X/3xBQvcgL9LR0nSoFI00BHYNRzis9uQHSxvX2uhxQggQS8kK190rWG8epAzF/9HiJ+7MnrKMEt1req4IrdENuL10mFv1U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <423ec861-52b7-67c9-26b6-c069c8bf1df4@citrix.com>
Date: Wed, 2 Aug 2023 11:59:45 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/gen-cpuid: avoid violations of Misra rule 1.3
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <fd774c2f-d69c-85c4-db0c-b666b7608272@suse.com>
In-Reply-To: <fd774c2f-d69c-85c4-db0c-b666b7608272@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0020.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:a6::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MW4PR03MB6475:EE_
X-MS-Office365-Filtering-Correlation-Id: dd58b1d3-d494-41cd-06e8-08db93479845
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pmszJfu+uXigBOb9MAQpxdEEcX+UjMYVIhQ4xQ+z5bvWF8mk/1oUsZRm6UWEfQ2+FClzyvQBdKFs94H2W6lHzfM2cUJNOg3iUKEZnxt3zWvbpxPk4MPAIAPyUV535l4GzpJDdR60Qm6g2jDAvGY5yOdiEYTeNf3LrAc/ANQtG2aEXSQkC8g8ssc42eGPJYcCZA0tCBCt54q/tDi1WRbSFQDT10XxXKP2WxQfULOizpoe8BzwIootHgqgzhyGiOrZxocUoPXWzz2xyrGaA1oTCVHECQh/T/SyP0ikbuwObPcDLE9jI0LgGJATMYoDt6icTsmwHs19a3rlJbmBHdNYIkBw+iJ1EvZPENfXwRnQa/tIl0ff9GPh8Bg6Y1tjpvKYp9wbMCtLJESdW0i/fLvKl/m8gshbflKaI9ONxK6kxdZ2s//t9YYTI3D0GA7TT5P+b06fEwEBbp3Zqy3hqkvBStPTzCmzpF9fjdPB+tsFTlRECsECgK+RMTzmMvFpVgpQt9iiCqgYyVa1lqe01Wg3N/9FvDjhXCBNVbv35Iy98xSOXdn0ejNPHHeh6qr6xClhd4JsVUfPfdJQan39ymXoqhXSdu79XVvzBY5oO97EbXTTWqGwT2pTH1W4uPBx27+lBIail6ispCEJRXB77pkl9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(8936002)(8676002)(31686004)(41300700001)(5660300002)(2906002)(83380400001)(2616005)(186003)(86362001)(478600001)(54906003)(110136005)(316002)(53546011)(26005)(82960400001)(6506007)(38100700002)(66946007)(6666004)(66476007)(66556008)(31696002)(6486002)(4326008)(6512007)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SkxGZnlZTjh5Qi9BcGZIbmZWazVUdUtjSzdNbHNJQTJ0T1E1Uk4yN3h4SEdp?=
 =?utf-8?B?VnYvOEFiQXB6ZStiUE56c05RS0puSjZYNkM4M0R3bmxrZlM0RU1Vd2llNSs1?=
 =?utf-8?B?VForUHdyK1FhZ3krcEtrQjlvQllaUjNzRGhGamQ2aXZzQTBxUUpaRmFWc3hV?=
 =?utf-8?B?enRPMXBtTzJ6VTJFL2pjbndMVzRBNUNoY3ZXaVBrMjlNTlB3V2JpQ0tzTWx6?=
 =?utf-8?B?RHlLN3NSdjJhRTBjUWk3Q0w3TjNKK0dNc2dKOXdHRjMrd1kxb2RPS0trMEpG?=
 =?utf-8?B?ZDFmelZXYzRodk5walgwam5IZkdGWEN1VmVrcGpuYUhsckdFZjFMZUVvZXV5?=
 =?utf-8?B?UW1WcHpWSEJ4Tng4KzdCQ2UvK3ZpeDJQMXVUNVFNMTAvSWE0OUJ6WUV2OW45?=
 =?utf-8?B?VzdtYi93S05nNk14UXRNU2cxZ1U2aFROQzIrRVIyelZTSzU2NndMTHNGVzhz?=
 =?utf-8?B?TnJCb3U3eTU0UWFWUVVFVDlEUXRXOHUzbXh4UStYSlBtS3dLVEZkZG5GRTJT?=
 =?utf-8?B?UXUydWpKVjJvT2VaRTNMeWpqTFZ1QUtvTUpXaHBKbUlKcVJyaEVGUzM3eVVI?=
 =?utf-8?B?NGNJNlBhTkl0UHNqd3JoRW1kU014a0lwMTkreVUva2RYekFJSG9zbVBnbzEy?=
 =?utf-8?B?di9rMzEvaEY2UlJWVTdQR2NLb2paVFJLaElSVlNlV1ZyblBhMjFNVGdKMDN0?=
 =?utf-8?B?NDRzMmkwMmxBTVN0NkJYMkZ5ei9ST2xwcHZGdWtYOEtKSE1WQ0M3REgraTEv?=
 =?utf-8?B?QklxRHlWTktLemNzZ3Z6YkZEaVRTeDZBYytOUDczRzZpdFh5ZENOa1lwVUdJ?=
 =?utf-8?B?WC96cUVvM0JCTUZ2MWt3RTNJYlpHYUtiTmhjaE1PWWdYaEwzVDVJYnlJb1Zt?=
 =?utf-8?B?a3dOYmpBUWUwMGVpS1VWUUQrMk5YbkFRTktIOWNjOWZLYkkxWEQva1JWd1F6?=
 =?utf-8?B?dVNKTDNHSksrRndka1g3SlBPRlZ2bU1YTmsrallWVUs4Mk9FYTF3YWJCNFBZ?=
 =?utf-8?B?OWdUTFNQZUhuOVdmUVUzM0svcE9QMkdlSTBUVWdjQ3FFcDBmRzJ2YU5JbEty?=
 =?utf-8?B?ZnlIbEtBRjhscmQydjFreDJuaFpNaE9DQ1pxc3M3WVhrNEpteTVNVkQveTE1?=
 =?utf-8?B?WWNRemM3M3Y3VytvcFA2ME1sanM5emhnbmZJenFudThMODd2ZVRneGlWM0Yy?=
 =?utf-8?B?UWl4MThWTDh1TkZMeTR6RkZBOTRWazEyaVkrRllRQUcwWmxPOFpUUXRjWDc2?=
 =?utf-8?B?ZERKRGdWVmNIcElHNWgyOThmV2FreWQ3TlVVQXgxUW45a0JZVjdueGZ2ckNn?=
 =?utf-8?B?M0pzaGtCU2NoTDRrQWN0WUdqc3FRNVNIMGlDMjdBc0dFK2ZEcjNxSzBlMU9I?=
 =?utf-8?B?SW82a1VNcUFDWGxoM3JZWGZtOHpEZHozYjNDTGx0RmQ4T0wyMktYQ3NaNGpL?=
 =?utf-8?B?eXRoR25nellpUXBxaENLR1hkMGxoVVZFUnpXOFY2dzBjWnZVR1lEM1JDRWR4?=
 =?utf-8?B?V2Ztd3Y2RjlOaUUvaThsMU4zUW8yeld1cmlVdXNNUWFYUHNFdEtEaXF4b2dC?=
 =?utf-8?B?RC94WnVGMERXbWNjN3R3LzlCcmhLY2pRcDhUMFJja0kvdUFMUVpUZW5KUnFG?=
 =?utf-8?B?bGl6U3gwbzMyVFFUZVA0c1IzeXRVZjBPME0vL0pYQUtud1R3R093MGlZNHla?=
 =?utf-8?B?ZlEyNG1NRW1hTGhpVnJOQUd6L3NkOVRZNlhtcG8rV0xTYU9nWExiM29VQTlZ?=
 =?utf-8?B?NVFqWitXUTVjb2wrT1pjS2R5dERTUGVVUjJZUWROeVBDdmltVHBKblNibFFH?=
 =?utf-8?B?Q01OMGNqYXVLRWlROTdlY1BDRjRBNGp0NGFPZk83dHJIcnlpOWl6YmE4ZkU2?=
 =?utf-8?B?V2h5RytMYlZBaktmYTVaNjQ5aW0vQnlUM280QjZvbDZZSUVJLzNuRTBJN0xC?=
 =?utf-8?B?a2JYM04xaE9wb2xJTkR2b1lrUWdINW16d0ZyLzNjTGV0UXdQc0FialcyVXRp?=
 =?utf-8?B?QjRobGUvYUFzbVliVzNXSkpvR0UycmZVd3hrdUZpaGxEcFJjNFB0UWg2TC9S?=
 =?utf-8?B?QXlrZHpRbDkzUjlzTnBOMXBzZS9lMzBwSC9IZVBoOXBtbWVoZXVNQmtxTWUr?=
 =?utf-8?B?K0EvM0E5SGVDbXhnOGJXem5sTCs1NW9hbzZsNWlrWm9ranFZdjcycjF4K2V4?=
 =?utf-8?B?ZlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/pOuDbEfvlXCQ02if9f8ObsGBZ3gI2qibtAfW7h6WFxqdcmlTx8IS+6+H7ucwMYGnyBUgIJUOxyfVUZvqxtKhPjImlg72Y2O1KIY5qMFw6ImU6sL3wWouZcQPycopqv15YyOAvmLHbN01hmnJzlqlFauQkY/hzdYvbmtlTqnX1g22aqqQISSD7Tltcule+R/N5pR1udTwkFQ3fSfA0Krje0jDvF6pkcEH3yUn++Iyv13dKSl3AiSwFDIhgkSLSiA2+46nppKEPlKsKzokP/ZUHMrrlvCL88cOyhDWPG5AyYkP5oGkR0gszQQiBhRdbVuBZRWIHcU08oBQ01MCuZEpJTcduBYzqNlIhNooCoUZ7QGgA7z0Ghx4T6wZ41dsCOASu66O/BRZafz3ndP6LRtPrxJYpu6IdVxhJ0AjjNBqGR5GMVAp+W1fTIkLlDSaYry6SY9mv3VQOFSCNI23OC2d45o9iYvCMvH13lB6fSJCl/QQkx/ThWRuqHGGZhPrNXXD8U80dMbQPAYtanybFJS2u9DgOElzV4gAtegVsNkdA2S/tj6Xv5w1TxjXwk9H5OG6Qt4uFvJXwWsFAJmMvH1mOEbYydzhWWWrTq42nprjpT8/tmGnEgadTdknxPvuriTxf97Jpq3t5vJEMeyla2LD+tZJg6Mz39M/0pYsyE/anVZ+WceTDkFZ0yh2r7vPp2w71pdhtLf1n313GhJnclyD0W7oVQDIHtZanBn4xT2u7mJ7K79zjy7rbZ+ibwk1QLvSbzRjZL/WiFLTr2pENPTLMSbvmW7LUv8HcbCx73UDH7+FbcTO8K8po0z9Z5c1b3UDwsP8rRs36bKPiVx5owjnuflWfIaxpYAqFSCukV6AQs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd58b1d3-d494-41cd-06e8-08db93479845
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 10:59:51.8461
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZUD5AkXuR7pkPdJONM5T2gvofUwlj58eelciXI6OXQVMWyFbxJxj9d0x2S2D+AD0+0po4iLadltk5JmPJk9MIebiqP9hXUW+zfQj+ipK+uc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6475

On 02/08/2023 10:43 am, Jan Beulich wrote:
> Structures or unions without any named members aren't liked by Misra
> (nor the C standard). Avoid emitting such for leaves without any known
> bits.
>
> At this occasion also add the script to the X86 section in ./MAINTAINERS.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -601,6 +601,7 @@ F:	xen/arch/x86/
>  F:	xen/include/public/arch-x86/
>  F:	xen/include/xen/lib/x86
>  F:	xen/lib/x86
> +F:	xen/tools/gen-cpuid.py
>  F:	tools/firmware/hvmloader/
>  F:	tools/firmware/rombios/
>  F:	tools/firmware/vgabios/
> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -367,6 +367,7 @@ def crunch_numbers(state):
>      for word in range(state.nr_entries):
>  
>          names = []
> +        empty = 1
>          for bit in range(32):
>  
>              name = state.names.get(word * 32 + bit, "")
> @@ -380,9 +381,15 @@ def crunch_numbers(state):
>              if name in ("APIC", "OSXSAVE", "OSPKE"):
>                  name = ""
>  
> +            if name:
> +                empty = 0
> +
>              names.append(name.lower())
>  
> -        state.bitfields.append("bool " + ":1, ".join(names) + ":1")
> +        if empty:
> +            state.bitfields.append("unsigned int empty_" + str(word) + ":32")
> +        else:
> +            state.bitfields.append("bool " + ":1, ".join(names) + ":1")

There's no need for the extra empty variable (this is python, not C).

if any(names):
Â Â Â  state.bitfields.append("bool " + ":1, ".join(names) + ":1")
else:
Â Â Â  state.bitfields.append("uint32_t empty_%s" % (word, ))

But there's a related bug later in the script which MISRA won't notice
unless it happens to run on the cset boundary introducing a new leaf.

I'll see about doing a patch to address both.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 11:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 11:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574876.900504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9bm-0004lW-Tn; Wed, 02 Aug 2023 11:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574876.900504; Wed, 02 Aug 2023 11: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 1qR9bm-0004lP-R1; Wed, 02 Aug 2023 11:01:38 +0000
Received: by outflank-mailman (input) for mailman id 574876;
 Wed, 02 Aug 2023 11:01:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR9bl-0004lH-VU
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 11:01:38 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2cb66d2-3123-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 13:01:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7342.eurprd04.prod.outlook.com (2603:10a6:800:1a0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 11:01:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 11:01:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2cb66d2-3123-11ee-b25f-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U/VRk1PHO9C5sYd+LDcuc007V4W0AuR522r5spzO1v4EloEFrMMqfZku9wzblOvUg6LHa6hbXkMElf+pxxzaL2Q8RXt3GvjTQh2mQOtREm8+3i5BpUuAmnJ5AZ4g2NcpFyQn3SeGLi6L1Rk4CbJjniT+ZgpJYeg3T8wEtvDVQAQhSYKfMVZavUS5t6+o5Ph+BoMmKwWz/dyVlqBmgj6++N+NvyzlshCboOlnZs78EaveokO7MtQqgBeww6xOVBqH7yi17Ho96jvrmlcDIuIfdhDGtxYbY7U1SRV6W23TZKw2dITgLAUz4HgG+R8U7t0Q13h8yhBzc04u1RF6TEU8lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fdh5TOzTgAphRoEI55SIoaVipyL6Mk5004Y1GLqMc8E=;
 b=A34yWaBP7MT4+F4MDlYvxLnyqy1cCj9N8RvHauaZAqESOOLmZGydbh19Z7i30pAAqsu280D4KEUKJhCWmyIGf/wHtv8MUzL7h9FW5w7QSh8Ldr7c/KQOxEF/LYG3ZiEPgosM/XWVkEQW+WhoUWqyHHo/ETqkpQi6XqovjHWce+zNCaq6cOj9snRivy1MJsDXs7gt8ZInkUicQfhKs12bQ2+YNSVapSxj2JqDM3wz0WhZdhpFOY68h6YG8Mqr1DHkXxJ9biLPSkE5TTCSu9BPirYUqYlhhL0+M4amRu5hXfJMdcEZKeFM5L6uvheueZdMDFBMuIQGHo1B2nLhmKMCJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fdh5TOzTgAphRoEI55SIoaVipyL6Mk5004Y1GLqMc8E=;
 b=gspky/Lilw5kVsHZVub/qnHoAvR2IHpjQa7DixAd1dgKjiWMJXcu2aHuWk3Bn5qkn8jsLlsZJ8ymhqS7ksNoZ6szoHPpnBxw3ipBF3BlRCVSbaZjXj2nqTj2eRaLHUY2zzVPnhcIDCuHjED1T84yqVnQLoS7Vd2bVa7ddbVXWgrJX/qWKZ3R3kq1We14BO6RJOUG/MtjmAduKo9MVqwgjX2G0zGn5mPPaeB2673iNeabGDbpDUotiz0dQW12N2yriT0uci9FBvGi+iz90IBtbdQIpo2zEfjtOhiZVbHLFz5l0Yh5r3rjFJpHpZYuwKdvyujEtg/FfwDU1DkVrTkp0A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
Date: Wed, 2 Aug 2023 13:01:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801160608.19219-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7342:EE_
X-MS-Office365-Filtering-Correlation-Id: bd09ca9d-5243-4b65-88e5-08db9347d48e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yuzgaeL9XaVHpGz1BL7Rs8Y+HhjkT4Rd/T2wuqXwuoL+NRQb/I30qTaiML3ct58n0ktxfGw8gUb4cjAxItZBjEw32kD+5J45mwKOmMVg6d08WToqaTwkGlx0uruZzg3iqMEUrE1u2psm3adkUZOXyD0hyCxIbiGDnfgB13ldx6R/0ndpxRyETTqrE+lACXWM2x83zTf4uy3PRLQZTX3FeOZ210hQA56PaF9wP02BFLWtMj3LCpBQBWrbjyVRgK76DvaR612y92SKeyocBq2zyxuJH6YhwC0jpQxJl2RqyUX4JoKkNc12aBw48O2Sva622jP8qL5UDyQ0/0i9tSb2ja5pB6sAojFZdFCwZmpMhObok7g03LELjQSK4zhY3ZccxSFj99TBx+AXyOS68n+kOD/5UgmQzZVkWbFoqgLTpkH1wC5BjFfGM1qIqCYKAT9/HCI/H80+mV3djmXq5whsJVXefP7xbKYXi2d3xD1f0v9J/voJLS/NAwDE6q8654au3EUhGB6wehMvNS0qBl9PDGs02ShfDUkF+z3BXSPBSdInSrVdIlLSazC5U4dKn64sM83yHU59/PHXt2DOfABBnGsPgxNa5xlzz01zFrhQ1ENjfPhXCthhBadguNfzJ3kdLwb4Ma46lKnUKw6EvKCBNg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(39850400004)(366004)(136003)(396003)(451199021)(478600001)(86362001)(31696002)(6512007)(36756003)(6666004)(6486002)(316002)(8676002)(8936002)(41300700001)(5660300002)(31686004)(6916009)(4326008)(66556008)(66476007)(83380400001)(7416002)(54906003)(2906002)(38100700002)(66946007)(26005)(2616005)(186003)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mmlhcnd2VGJzdUlLTEE3eFdkVVRMbUpKaUQyZzBkdzY4VTBhcW5GL0hrZFBM?=
 =?utf-8?B?dUhZdERidEFrT2JCYytvbEsxMDJTYll5VENmZjVSRkh2RzBsWUpWNkRVcmlB?=
 =?utf-8?B?NDFTd0pmWlEzcFEvZ3VOWEVQcDExZFBYVEVyMjJWSmN2R1M0Z1lwbzhpQ25W?=
 =?utf-8?B?ZzM2Mjd1cVhVSEdUWXZoVHhMQUNyWUZEakovWkVWbGl5S1lLcFVGSFZzSHdN?=
 =?utf-8?B?ckhQZzYwbUJjaTdiRktWL016S05idFdNcDg4U3lycGlIeHFSRnZxYnpVZ2dT?=
 =?utf-8?B?eXpPbkdtTmFYTGJwYUlkWTJPRGpBdnVXZTZDMGJlL3UvTkxXdkVBMURvWXY4?=
 =?utf-8?B?Y3d6dTZ1QTBvWVE3Z0lMa2xEZ0hMdEVUSjFRQmtBNGhOQXhneEZwSnBWODJC?=
 =?utf-8?B?Z1dwdTNOdkwycGFDQzNXZGFBaUJxTlNweEpoaEkrTGQ2NEM2QkMyRmJZRUNE?=
 =?utf-8?B?RUc0UHJ4UnBjc1VFN0ZuYnBwSXJNQ0MyOVUrSDdUbk5nVEhYR055Vk1jRzE5?=
 =?utf-8?B?VWNtTGxabThOcDJlN2RUS3pSVEp1eWc4Tk0xMzhTMDByUVZ6dnF2QSt5dnZK?=
 =?utf-8?B?SS9sTmMwcTNuS2RZUWMzYlVzMjRxM0pjdGlpWStaOXk3ejZ1Zk03bC9JT011?=
 =?utf-8?B?Z3lLbFlmYXFydEhFbmFVQU9Yb0c2ZUsvMGVvRmZoeXcrOWp0VTVUVnlmQ1Bz?=
 =?utf-8?B?b245bE1yU0NBS0dKZ0pnMm1zTnBta2Q0bWVBNHJxOFlURGEybXB2R1lqUUdD?=
 =?utf-8?B?THNRKzViSEJRNm0ra3piemlOSU03dXN1VnhnV0pyTTQweTlZaVFJUGszOTd3?=
 =?utf-8?B?cW01aE9zcGl2OHFjNWdCSEZIUVJENFdib0ZFS3dTek12Vk5QSEtyS0p6LzVJ?=
 =?utf-8?B?U20zZllFY3BPeUo4QXloMXl6Ny9YYjhHc0NiTXJSenNwVmhSbnZXdklScGdh?=
 =?utf-8?B?ZTNpVis1MXl5NFRjWm5wQTVJaXBTQmlVQW1kb0RXRU1Rc0QzaDlqOEc5VjZa?=
 =?utf-8?B?WVhWNDRxTlZSWFFUWks2cUIrbVVlT2xiRzUzV2JiNER6QWc0WTZKU0NacTc4?=
 =?utf-8?B?OEZEUzI0anE5R0FDMkVHL2EydktrOVRpQWdTSTVoanliOVJESHEzZ0hHMU12?=
 =?utf-8?B?WDQzdUpmYjB0dFF2SkxmdFRPTURNaDRvaFliVFZDakFURXV3VkZ5bm0zVnl6?=
 =?utf-8?B?SlRvWWJkUzZ2Q0tFbngvSlFKanpXTkc1MGR4bm9NZDE5dzNZK1ExQjQ5WStT?=
 =?utf-8?B?dnZ1aFVtME8rT2htSTBMbXF4L0hQaHRkOHRFN1hOTmNNZlN6R3ZDZ2s5Ujdv?=
 =?utf-8?B?Nm05QlpwMmtrTVo1Z1FPbHVZRGFKRWJiRDZabVJ2N1FFNGFValNQeUwzU1BW?=
 =?utf-8?B?NklaRVduRUIzZ0lKQUl2WndyOFhRUHlBaGJXbm15MnNNQ3h4YnUrTTF3RlFD?=
 =?utf-8?B?VG10NVc4Y2RtRys5ZzMvejZlSG5tajBCbTltOFFnTzdnbi9RNFdEMlB4ZFhC?=
 =?utf-8?B?MnBVTUc1NkcyOFYxSWlGUWxGNGNqYjZPZFBLVXdYRTVydmxDcW03U1JBV0x0?=
 =?utf-8?B?SytLV1JZbWFxMGtuQS9NVzl2NW1oWHhuSmwvWHNmelhwUFFDZDNVbEMvQ0NY?=
 =?utf-8?B?YVlZTGJqUEM0a3kwTnFmdmNweHV3enNSZGlialNEVThmQnc3MGJSM0EvdjVM?=
 =?utf-8?B?Zi9pRFF5YWI5RFVXcUY3RUQyR2hpKzhOaDR0T1BsV2xNQjNIVk9LaUd1bTZC?=
 =?utf-8?B?dCtZejdJemN2aFVkejdNQS9pQVdzVlhpMklmS1k1NVdIYzdkL281U212NjJM?=
 =?utf-8?B?a3VUSjZFVXY5ODFCcHlNazYzMHFOeE9GdHVIeGRDRjV0TWg5ZzNCblN4L2lF?=
 =?utf-8?B?OWVBTFRlMSs2Qi9RSzByYlplNEh2THpCL29Lc2tyOEw3OFZtV09xUXVkSUx4?=
 =?utf-8?B?dW8xckxwRGdnc3llTTRMUEFaOXpJZnNDcGt4WmVJMzI5dlhJeGViT3doSlZP?=
 =?utf-8?B?bDc0cExKMmFobVJaS2tFK2FROGpQOXJodFptRCtYTWZRRDA1SGcyTjg0eVZI?=
 =?utf-8?B?Qzg0WTRLdUZsU01Ubm5oSisxbExuVy8xSmVmWnBpOHQ1blFENktvTTc2SHdF?=
 =?utf-8?Q?kEzcPZ9TCndoUPBGwTtZLLkLB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd09ca9d-5243-4b65-88e5-08db9347d48e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 11:01:32.2429
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: np+GiwZTC29IJwLLOgS6Rz9GPXS9PW1ZPZo2tqm4dWIK2Ll5SMuHySRDzH5Kox60zPs361H4Pvio5u3vegGkpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7342

On 01.08.2023 18:06, Daniel P. Smith wrote:
> This patch reworks the console rotation logic to provide a general mechanism to
> incorporate domU in to the rotation. It does so by walking the domain list
> using the XSM console privlege check to determine if the domain is given access.
> 
> In reworking the rotation logic, the assumption that the hardware domain is the
> first domain created is removed and is changed to explicitly locate the
> hardware domain at boot.

I guess I'm unable to identify any "at boot only" code. I'm also
puzzled by this indicating there is a need to do so, when the global
variable "hardware_domain" is available, and you actually use it.

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -473,45 +473,102 @@ static void cf_check dump_console_ring_key(unsigned char key)
>   */
>  static unsigned int __read_mostly console_rx = 0;
>  
> -#define max_console_rx (max_init_domid + 1)
> +#define CON_RX_DOMID (console_rx - 1)
>  
>  /* Make sure to rcu_unlock_domain after use */
>  struct domain *console_input_domain(void)
>  {
>      if ( console_rx == 0 )
>              return NULL;
> -    return rcu_lock_domain_by_id(console_rx - 1);
> +    return rcu_lock_domain_by_id(CON_RX_DOMID);
>  }
>  
>  static void switch_serial_input(void)
>  {
> -    unsigned int next_rx = console_rx;
> +    struct domain *next, *d = console_input_domain();

Looks like "next" cannot be pointer-to-const just because the XSM hooks
still aren't properly const-ified. Oh well.

> -    /*
> -     * Rotate among Xen, dom0 and boot-time created domUs while skipping
> -     * switching serial input to non existing domains.
> -     */

While it would need adjustment, I don't think the comment wants deleting
altogether.

> -    for ( ; ; )
> +    if ( d == NULL )

This covers both Xen receiving input and the domain receiving input having
gone away. Originally in the latter case the next sequential (in domid
numbering) domain would be switched to. In the new logic you start over
from the beginning of the domain list. Such a change in behavior (if
deemed acceptable at all, which I'm not convinced of) needs calling out in
the description.

>      {
> -        struct domain *d;
> +        if ( hardware_domain )
> +        {
> +            console_rx = hardware_domain->domain_id + 1;
> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);

Here and elsewhere - why %d when original code properly used %u? I also
think there are now quite a few too many of these all identical
printk()s.

> +            goto out; //print switch_code statement & newline

Leftover development comment? (There's at least one more.)

> +        }
> +        else

Please avoid "else" after an if() that ends in "return", "goto", or
alike.

> +        {
> +            for_each_domain(next)

What guarantees that the list won't change behind your back? You don't
hold domlist_read_lock here afaict. It might be that you're safe because
that lock is an RCU one and this function is only invoked at init time
or from some form of interrupt handler. But that's far from obvious and
will hence need both properly confirming and stating in a comment. (It
is actually this concern, iirc, which so far had us avoid iterating the
domain list here.)

> +            {
> +                if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
> +                {
> +                    console_rx = next->domain_id + 1;
> +                    printk("*** Serial input to DOM%d", CON_RX_DOMID);
> +                    goto out; //print switch_code statement & newline
> +                }
> +            }
>  
> -        if ( next_rx++ >= max_console_rx )
> +            console_rx = 0;
> +            printk("*** Serial input to Xen");
> +            goto out;
> +        }
> +    }
> +
> +    for ( next = rcu_dereference(d->next_in_list); next != NULL;
> +          next = rcu_dereference(next->next_in_list) )

This looks like an open-coded continuation of for_each_domain() - I'm
afraid I'm wary of introducing anything like this.

> +    {
> +        if ( hardware_domain && next == hardware_domain )
>          {
>              console_rx = 0;
>              printk("*** Serial input to Xen");
> -            break;
> +            goto out;

Since you use "goto" anyway, this wants introducing a 2nd label (maybe
"xen"?) ahead of the identical code you add further down (immediately
ahead of the "out" label), to avoid code duplication.

>          }
>  
> -        d = rcu_lock_domain_by_id(next_rx - 1);
> -        if ( d )
> +        if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>          {
> -            rcu_unlock_domain(d);
> -            console_rx = next_rx;
> -            printk("*** Serial input to DOM%u", next_rx - 1);
> -            break;
> +            console_rx = next->domain_id + 1;
> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
> +            goto out;
> +        }
> +    }
> +
> +    /*
> +     * Hit the end of the domain list and instead of assuming that the
> +     * hardware domain is the first in the list, get the first domain
> +     * in the domain list and then if it is not the hardware domain or
> +     * does not have console privilege, iterate the list until we find
> +     * the hardware domain or a domain with console privilege.
> +     */
> +    if ( next == NULL )
> +    {
> +        for_each_domain(next)
> +        {
> +            if ( hardware_domain && next == hardware_domain )
> +            {
> +                console_rx = 0;
> +                printk("*** Serial input to Xen");
> +                goto out;
> +            }
> +
> +            if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
> +            {
> +                console_rx = next->domain_id + 1;
> +                printk("*** Serial input to DOM%d", CON_RX_DOMID);
> +                goto out;
> +            }
>          }
>      }
>  
> +    /*
> +     * If we got here, could not find a domain with console io privilege.
> +     * Default to Xen.
> +     */

"Default to" is a little odd when there are no other options.

> +    console_rx = 0;
> +    printk("*** Serial input to Xen");
> +
> +out:

Labels indented by at least one blank please.

> @@ -520,12 +577,11 @@ static void switch_serial_input(void)
>  
>  static void __serial_rx(char c, struct cpu_user_regs *regs)
>  {
> -    switch ( console_rx )
> -    {
> -    case 0:
> +    if ( console_rx == 0 )

By using CON_RX_DOMID everywhere else you try to carefully avoid and
open-coded assumptions on the precise biasing used there. With this
it would seem to me that here "CON_RX_DOMID > DOMID_MASK" would be
more in line with that model then.

>          return handle_keypress(c, regs);
>  
> -    case 1:
> +    if ( hardware_domain->domain_id == CON_RX_DOMID )

No check of hardware_domain against NULL?

> +    {
>          /*
>           * Deliver input to the hardware domain buffer, unless it is
>           * already full.
> @@ -538,31 +594,37 @@ static void __serial_rx(char c, struct cpu_user_regs *regs)
>           * getting stuck.
>           */
>          send_global_virq(VIRQ_CONSOLE);
> -        break;
> -
> -#ifdef CONFIG_SBSA_VUART_CONSOLE
> -    default:
> +    }
> +    else
>      {
> -        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
> +        struct domain *d = rcu_lock_domain_by_any_id(CON_RX_DOMID);
>  
> +        if ( d == NULL )
> +            goto unlock_out;
> +
> +#ifdef CONFIG_SBSA_VUART_CONSOLE
>          /*
>           * If we have a properly initialized vpl011 console for the
>           * domain, without a full PV ring to Dom0 (in that case input
>           * comes from the PV ring), then send the character to it.
>           */
> -        if ( d != NULL &&
> -             !d->arch.vpl011.backend_in_domain &&
> +        if ( !d->arch.vpl011.backend_in_domain &&
>               d->arch.vpl011.backend.xen != NULL )
> +        {
>              vpl011_rx_char_xen(d, c);
> -        else
> -            printk("Cannot send chars to Dom%d: no UART available\n",
> -                   console_rx - 1);
> +            goto unlock_out;
> +        }
> +#endif
> +
> +        if ( (serial_rx_prod - serial_rx_cons) != SERIAL_RX_SIZE )
> +            serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;

This is Dom0's buffer; I don't think sharing with DomU-s is correct.
You also cannot ...

> @@ -717,6 +779,8 @@ long do_console_io(
>          rc = -E2BIG;
>          if ( count > INT_MAX )
>              break;
> +        if ( CON_RX_DOMID != current->domain->domain_id )
> +            return 0;
>  
>          rc = 0;
>          while ( (serial_rx_cons != serial_rx_prod) && (rc < count) )

... assume that by the time this hypercall is invoked input focus
hasn't switched. I think there's no way around a per-domain input
buffer, which of course would need setting up only for console-io-
capable domains.

> @@ -1107,7 +1171,7 @@ void __init console_endboot(void)
>       * a useful 'how to switch' message.
>       */
>      if ( opt_conswitch[1] == 'x' )
> -        console_rx = max_console_rx;
> +        console_rx = 0;

I can't bring this change in line with the comment ahead of the if():
Won't this result in switch_serial_input() switching to Dom0?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 11:08:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 11:08:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574884.900515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qR9i2-0005To-Ke; Wed, 02 Aug 2023 11:08:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574884.900515; Wed, 02 Aug 2023 11: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 1qR9i2-0005Th-H9; Wed, 02 Aug 2023 11:08:06 +0000
Received: by outflank-mailman (input) for mailman id 574884;
 Wed, 02 Aug 2023 11:08: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qR9i1-0005Tb-J8
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 11:08:05 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9de9540-3124-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 13:08:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6873.eurprd04.prod.outlook.com (2603:10a6:10:115::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 11:08:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 11:08: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: d9de9540-3124-11ee-b25f-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e+wGWGAb0xlQYkuiDYSH34mxH55RlX5OftpDlPqeSjorco/9PSgz23GbqJqbQr5G8kog9MVCMhb4G93MfOuPmLTYSIvvfILyWJr3oPEXacc1XuVSt5wh0GnsvvXwr+deb09p2gRhIhGRGu2IcE8QVDOMrnR4d2FOW/bwqBw9y3330hk8CXLhUm907ZP9NzbedZRkHZ52Z0zX9vTBSZltYqNQbonAAMC/2dot0kcjERkFyOU6tfLzB6tzekbLsvuxlUo14Vueus8VAxhEQYZwd0RyUjA/PeziEcYP5NO6xoKj7LSAzBvBx9XqYwS1ru0EV/VxCiJuK3LG3bskYlcBqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PplYT8/GebARzSPmiPx58erRYbxhvjke7VWAyczDLiU=;
 b=XH5408gCISSp20mwTlzSeFDQPQHOwKcA3JUXhoGqCH18V3OTSPSAe5jhVhHKGrC7smZKw+c5Esqj0tbamkZdMDy8cOWkB8K3umS3IgkcBSKDo6vSuyQeOLdsVP/QkEg4+2p/M/UVqo7yhQEqHeJpkCkVbPc7BpYNGnS0eKLe8sUx76zZtMov0QFsJ3ydMjxKW/di0wsA0upwBw2ua0LFgCmTLQTYYdOKeZfA6CZvj4ExKnDnCObFVW4cHrtVE+emAPExsxXIBHGXBXmNSIkt9fBm1OaatgCmIL43lczDdGL0A6GI12SG7TJhDLBUTVJB1l4AMILcfWcE51fD2nwwGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PplYT8/GebARzSPmiPx58erRYbxhvjke7VWAyczDLiU=;
 b=SOFk/I/H1iA2ErNnnzH/QjS4zjaEtw9ATokiW904427mHgOGQlwq/HPMObQEPtAS+z/ztMVHER8R9+0iYNOG2rvN2ikrjrutps7Mq1yLv+fOavqbHlKm5VbVkZR2kF7IoT3RwA4hfc050tainhUnxSXQ7w2SU381nNk/yyP3mPBaRfdGFetV9CGxRE9WqUuW6q8/Cnqg8DRwAzVByKI8cwzB0R4gaTxonXqdnJdNOS/Jb1nnRN5rMxIR4QF1OEWwzP2WJlSWm9Clsw/8zst/3u0b6UD+3xLmvFtlz+pOMo7mOrdKT8Fh7AW6qVbZSPsYAdpIngdNlkBlLINOgh/xFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <20b1d680-d69c-264d-7764-ff2143ded9da@suse.com>
Date: Wed, 2 Aug 2023 13:07:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH v2] x86/cpu-policy: justify a violation of MISRA
 C:2012 Rule 1.3
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>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <30fdada8b08b2060c6f1ccc2ecb06d418efd97b0.1690966632.git.nicola.vetrini@bugseng.com>
 <5ff38731-fed7-91eb-c933-28d191fb429b@suse.com>
 <796058860d0536799e40fc14f169efd2@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <796058860d0536799e40fc14f169efd2@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6873:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c44db7b-7d32-480a-ec45-08db9348bbe6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SnFMXHLgM0MYJS5yrVKEPaHLa0sT423PNIEIhg2biWxQP4wVDvaEfBN3Wvkn2WpaURumRbBN5vlrA1Bigy0YmlLBhae5/YNZXJP1jChlxbxty8gb9BLw60zjWD8DUhy/eO4Y5jBWe1svwySCPVxp//uRr9fe+hC9Pqs1XOkeRxz5NreRe8l4nD7IsNH4QOwT6AttxAuCjekSQ4bNreiFVuJ/0R7wlCLUiAoTz3ngUPNdB+q87Q+giNjiqXA9PthOpfnw1+Xm7ggoTGoBgJgAa/61PTVlbdVL+61s/IEr0u3sVfawJ0CJ6yg5e48dJzFCg8XUyCBK92OUYmxwu6xQXXjyfeMb40WUd7B2/EdfAbCLiET4x935ZVEMc5ybAT8xCn8ucysQZyWRtwUwaMiXSLWtdexqiieSUkoBUBawrzT5mo3YjAMpSVYyuEw6yl7kMD3f1n+5qls2zhyuCGupZOZ/EE6FhOWp38UOKRxXDcgYK28WcanQ4fnkHTp9SUZndtFKvD3L9+2jumSmCteubRBHC4fC/Ccsb3p4M5qG49Go4KpOZAkvvHPEwdZwulgvkD9gCghRyGxy37jI6fkrmaXmBJI9uOhAyssfW29KYLJczTLw+l09Q1ws7LSwRqSR78ird+XfA4ckiNEsTJFSFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(8936002)(8676002)(5660300002)(26005)(41300700001)(2906002)(31686004)(7416002)(36756003)(2616005)(478600001)(54906003)(38100700002)(316002)(86362001)(6506007)(53546011)(6486002)(66946007)(66556008)(66476007)(31696002)(4326008)(6916009)(186003)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TzhBeFFzSkN3anNkL1R3eGMwMWJEM2c3SDZmQUF1elpIcTEzWk1GN3EyTXpr?=
 =?utf-8?B?S0hrWkxUUW1pc2ZJY3NWbjNVT0ExemkrRXR2Z21mbThnQjMxZVJhcXkxSFJq?=
 =?utf-8?B?K3Z3UDVwaXpwVG45TUFzY29CT0hJRXJicE93UFBHclpnWHowNVI3Y0xodGhM?=
 =?utf-8?B?bmMwMXVKUkxGc01xeHZsS1hVT0pGOENLT1U0Zkt0aFdRRXRZMmg0SElVazdM?=
 =?utf-8?B?QlgramIvOHlkMVhYQkJNZlRtaWNVS2Mxd3gxanBVdytncXkrNnRkdmtLYm5u?=
 =?utf-8?B?T1Vna21JN1BkbEJucFZSK0dIYkNuSWZYK3JNRGl1djZkYk9nVk1ieDZXRXlI?=
 =?utf-8?B?UEhZS1RkRXhHSitwUVpvUU11eWE0NGd5c2k3cFl5eTg2SjlQbk1kaVBWelFN?=
 =?utf-8?B?N1RLYjl1cGtPWmhCYkhaS1dYZnB3WE1hR21NYll1d1l1TSthUE1EZ3l0ZHlm?=
 =?utf-8?B?Y25paG9ieUUwa0V6N0xOTTVpN3lNc2d3UVNSTGkrTlhLalh6V0laRWR5dUVl?=
 =?utf-8?B?cjB6MHFmaERjbWZyRE1DZGROQi9ONHpLOEdSR2ZEcWdOUnJGS1ZTY0QxQ1Yx?=
 =?utf-8?B?SUhGUngxZlpnTVNua1RPaWwwQkhOejAzR0xGOUxBZDkvY2tXK0Z2VXNLT3Ux?=
 =?utf-8?B?dUxnbERJVG9OYzF6SFVrdHJpUnExWUxCR2Z3Z1RsWDZxNExpc3ViblpiQjUv?=
 =?utf-8?B?RzVRc3RZYmJZWFJwbHJ2eWNGb3dhV1FUNkVLUGk4K05HeXhaL0FXWU9PQ2Zr?=
 =?utf-8?B?L1ExS3NlZmxMLzgvcndtNHdFZXRsUTVnU1lVTWRUcFRPOWx4V0RxUlVXMkFq?=
 =?utf-8?B?Y0V6RThYMDZ0N3h6YU9BNzZ0Y0dDYzJJSmVqVEFEeDVPL05qZlA5MjVUdEZV?=
 =?utf-8?B?Vll6M3F1ZGNWK2VvZzZsUUZFUStFanV6eXJrWWNLTDRZU3prS3NCaFhQbGNS?=
 =?utf-8?B?UkpScSs2bVJZYlVwNnRiSGdHSm8xTnRNU0FEeDRodGFUT3FpZm1rY0tUKzZT?=
 =?utf-8?B?NWt5RW5wV0JMamo0VnJES1llSytyb1lybWpBYmI2bnAzK0MvdGZRdEhwZ2VC?=
 =?utf-8?B?bzAzNThMc3QyK1FYODRqQzFUeVBtNkZPVk9IbXE0UjVZTFdEMzUweGJGMlNv?=
 =?utf-8?B?L0Y2T0ZMS3dBNk9jUytlRE1ualBKcW52LzNSYjdHRWtYOVkwWS9NUDFhQ2xx?=
 =?utf-8?B?U3RhL3lhenNFUVd4cngyZzZEd1hyS3lIbWhNRURVWlZwNHZ1L3hHV0lCejdj?=
 =?utf-8?B?MlBzbW1qV24zRXBHMXFlSlhMOG9xdlk3NEYvRDR3dGlZY3FCWDlJSVVnTFBx?=
 =?utf-8?B?MnZ2N1JXd0ZpR1NsVjNpN1ZVZ25ZSHlyZ0dpTFJnMjlnUDZrbVhsdlh0dlc0?=
 =?utf-8?B?R0RaclVlY3dKaWU2TkJlNWxUbEt2N2lyWXhacFlvUENraVBybm5oZHYvdkFh?=
 =?utf-8?B?QXhCV0FPWVIvVDJQdEQyNEptNkVjVTVJaThjRGlXTlVxMzYyT1FDUXBhU3VP?=
 =?utf-8?B?cTB6ckgzdzM1cm5VVnlVMHlWZ1lGTVhhcU5iRU5oMVZ6VGY5Q0hDclZud1RB?=
 =?utf-8?B?R2hYNnY3WHI1WnNDOCs3cEFjSm9zc1dFUkxRRVMxTDloYnZLRm0wQ0NlZzRz?=
 =?utf-8?B?R2pGYWRqeTFHVzRKOXlUMnlqTTNZdGw5cEdiZjE1OUJwV1lobk9VYi9mVzkw?=
 =?utf-8?B?M09rb3pTTTkrWEJIdGlWSlR3aThvWXZVdkJNTTM0UWczWS8wdklhYjJ6RXlk?=
 =?utf-8?B?WmhkV1A0cXoyVVhsV0c5eDdWQnZGejZVRkpTTVJ2N0p6dC9KazJRVUZuc3BB?=
 =?utf-8?B?WDBQUUhhL0R5SGZuM0hSWXcrckxsSU1GL2VtbDQwb3ZnVGVPai9rWUFtOEJj?=
 =?utf-8?B?aXRPNWwvcVhvN0RmMU9BcVhGVTNoSjk5TWlhV21oeXJ2bm9oY2dnRXE5UjlH?=
 =?utf-8?B?VGNIQmtBTUl0eW9TYVN4cmhENHFjTGJYZHAyVVhEWXJFdU9SSzA1YTY0WnJa?=
 =?utf-8?B?S1k4U2tHVEo0QlRyN0ZrZjdDUlZqTktpWWN5YXUwQzF0MzlmT3JZR3o0UDF4?=
 =?utf-8?B?RkQ4YWp6YWh3RG9uc0RkV0dleDZkbkxtZzRoREd0b25ESG82ajFqcHRZK3pq?=
 =?utf-8?Q?KLe9p486lfQ6x+e9SCyo9uoZn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c44db7b-7d32-480a-ec45-08db9348bbe6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 11:08:00.4114
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fiHqRIKho245qKADx6ZYHh6FzbgrjOax9nkn/H7eZfHI5MWdmr/iADdSGgZ981DKr1KPQsbi9oHzu/xe1L7ayg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6873

On 02.08.2023 12:01, Nicola Vetrini wrote:
> On 02/08/2023 11:47, Jan Beulich wrote:
>> On 02.08.2023 10:57, Nicola Vetrini wrote:
>>> The empty feature set 'str_7c1' in 'tools/misc/xen-cpuid.c' causes the
>>> struct declaration to have no named members, hence violating
>>> Rule 1.3:
>>> "There shall be no occurrence of undefined or critical unspecified 
>>> behaviour"
>>> because it is forbidden by ISO/IEC 9899:1999(E), Section 6.7.2.1.7:
>>> "If the struct-declaration-list contains no named
>>> members, the behavior is undefined."
>>>
>>> Given that Xen is using an undocumented GCC extension that specifies 
>>> the
>>> behaviour upon defining a struct with no named member, this construct 
>>> is
>>> well-defined and thus it is marked as safe.
>>
>> Especially after realizing that I was wrong here (I was under the wrong
>> impression that we'd generate a struct without members, when it's one
>> without named members, yet [to me at least] only the former is a known
>> gcc extension we use), I've sent an alternative proposal. Let's see
>> whether in particular Andrew considers this acceptable.
>>
> 
> Well, I don't know the exact discussion on this in that MISRA meeting 
> (25/07 iirc),
> but the outcome I'm aware of was to deviate that construct because there 
> are possibly
> others like that in other configurations/future patches.

Correct. The goal wants to be to allow for such future changes in as
seamless a manner as possible. By tweaking the script generating
these struct fields, we can eliminate the present instance and avoid
any future instances showing up, and we also won't need to remember
to add SAF-* comments at any point in time.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 11:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 11:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574889.900524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRA7s-0000Q8-LS; Wed, 02 Aug 2023 11:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574889.900524; Wed, 02 Aug 2023 11:34:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRA7s-0000Q1-Il; Wed, 02 Aug 2023 11:34:48 +0000
Received: by outflank-mailman (input) for mailman id 574889;
 Wed, 02 Aug 2023 11:34: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 1qRA7r-0000Pr-CE; Wed, 02 Aug 2023 11:34: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 1qRA7r-0008QH-6c; Wed, 02 Aug 2023 11:34: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 1qRA7q-0006dc-Qs; Wed, 02 Aug 2023 11:34:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRA7q-0002Z9-QR; Wed, 02 Aug 2023 11:34: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=M6wi6lRmvRloNOiX4+aHsjkWldqozMeMShXY12YsCn4=; b=m89U+LpvcyECGlQwUO91sLU/JX
	tiXESDLi+1mh4vcYBt74zeJETZa6e9xEjXWO8sGIQGC+J88KzQyGnvVsFtb8LwmHCTWk6MEdjO9zy
	JramaScDIwjciQ05IUgq6sUb5u6cTkzdeF7gafuw4bsy+W1Ju/x77emi/8MEoIXwfTO4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182111-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182111: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5cadb8ce2148979b6c464f6da5a8cd97425c5165
X-Osstest-Versions-That:
    ovmf=d11968fcc56cbbffef7d906048b00faea9415447
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 11:34:46 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5cadb8ce2148979b6c464f6da5a8cd97425c5165
baseline version:
 ovmf                 d11968fcc56cbbffef7d906048b00faea9415447

Last test of basis   182108  2023-08-02 03:40:51 Z    0 days
Testing same since   182111  2023-08-02 08:42:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Joey Vagedes <joey.vagedes@gmail.com>
  Joey Vagedes <joeyvagedes@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   d11968fcc5..5cadb8ce21  5cadb8ce2148979b6c464f6da5a8cd97425c5165 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 11:45:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 11:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574896.900535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRAIB-00020L-KV; Wed, 02 Aug 2023 11:45:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574896.900535; Wed, 02 Aug 2023 11: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 1qRAIB-00020E-HK; Wed, 02 Aug 2023 11:45:27 +0000
Received: by outflank-mailman (input) for mailman id 574896;
 Wed, 02 Aug 2023 11:45: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 1qRAIA-000203-Dn; Wed, 02 Aug 2023 11:45: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 1qRAIA-000095-Bu; Wed, 02 Aug 2023 11:45: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 1qRAIA-0007Gy-20; Wed, 02 Aug 2023 11:45:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRAIA-0005ZV-1W; Wed, 02 Aug 2023 11:45:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UUHwm1+gXd4q0XKKsNHGbmq8CYJZkFmoI6dxZ7jR3MQ=; b=tmx2vS8w75C8fCIXYHdJIFo0WJ
	yTvHZS1y+vpndPQq8I+osaSa+pi3OcEMt6rTH+P4kB51NqaUquGS2vQKaFJODNGpyKAuG+Z48ryZn
	E6Ro3aQRm43dVSd4OjP9caD5rVYRFfH2PnlYTY84UkHUv3ZlCdOlitTV+HGnaq4THsmI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182112-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182112: 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=51588938e0cd0e02dbc1d6d8c697c577135ff666
X-Osstest-Versions-That:
    xen=c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 11:45:26 +0000

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

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                  51588938e0cd0e02dbc1d6d8c697c577135ff666
baseline version:
 xen                  c2026b88b58cbb6a84e2885c320a8cfe08f8ffc8

Last test of basis   182100  2023-08-01 10:03:51 Z    1 days
Testing same since   182112  2023-08-02 09:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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
   c2026b88b5..51588938e0  51588938e0cd0e02dbc1d6d8c697c577135ff666 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:10:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:10:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574927.900550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBcW-00033J-46; Wed, 02 Aug 2023 13:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574927.900550; Wed, 02 Aug 2023 13: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 1qRBcW-00033C-1P; Wed, 02 Aug 2023 13:10:32 +0000
Received: by outflank-mailman (input) for mailman id 574927;
 Wed, 02 Aug 2023 13:10: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=/vke=DT=citrix.com=prvs=571ca8ae6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRBcU-000331-RH
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:10:31 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2d6ea2d-3135-11ee-b25f-6b7b168915f2;
 Wed, 02 Aug 2023 15:10: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: f2d6ea2d-3135-11ee-b25f-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1690981828;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=pN+ikulm61CRL3YUYcg8p+iLYA0x8CIURTvBSYwIGuQ=;
  b=GkK7mVBSq2u6IEJqziNio0zFX9sY2bQrOS+aPxQVwxtLtufrx6SM5cTe
   yLnv57sr08mnrN8IDy1KipyjWj0AKNTI7Q/m9CEKVfSr3cAizEnxXN+Uw
   sfadLEWuNIJ/EUEFAYtwz6DjwX3LxuIZAvunqcBO/9iXDa6Ewg7yBVhca
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120889552
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:kdUL3K0nU1Q7GZNya/bD5cxxkn2cJEfYwER7XKvMYLTBsI5bpzwGm
 DAWWjuFbP2LamDzetkiPI6/oB4BuZeEyNUxGwtlpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxmP6gS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfQkJF0
 NAVCj02Qy+8htCUn4qJdvMvv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ8NzhbJ+
 z+cl4j/KiMCM9Cw9QWiy2ClrKyfjD72aak0SrLto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQC0
 F6CmNfgQyJirKeUT3O1/Kqbtj60Nm4eKmpqWMMfZVJbuZ+5+th110+RCI85S8ZZk+EZBxmz4
 DuvgCUcio4+svEK5YfkxWL7mXGV882hohEO2unHYo60xlonNdb0Ptb0sQCzAeVod9jAEATY1
 JQQs43Htb1VU8nQ/MCYaL9VdIxF8cppJ9E1bbRHO5A6vwqg9He4FWy7yGEvfRw5WirolNKAX
 aMyhe+yzMUJVJdSRfUrC79d8uxzpUQaKfzrV+rPcv1FaYVreQmM8UlGPBDBhzG0zBh9wPBmY
 P93lPpA6l5DWMxaIMeeHb9BgdfHOAhgrY8seXwL50v+iufPDJJkYbwELEGPfogEAFCs+W3oH
 yJkH5LSkX13CbSuChQ7BKZPdTjm21BnX8GpwyGWH8bfSjdb9JYJVqeNmuh+INM790mX/8+Rl
 kyAtoZj4AKXrRX6xc+iMxiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:54CkdK6zOTmgfuTqCwPXwUGBI+orL9Y04lQ7vn2ZESYlCvBxl6
 iV/MjzpiWEygr5OUtQ3OxoXZPqfZqyz+8Q3WB8B9mftUzdyRKVxeJZnPzfKl/bakrDH4dmvM
 8LH8dD4Z/LfD5HZK3BkWqF+qMbsby6GdeT9IXjJhlWLD2DxspbgjtRO0K+KAlbVQNGDZ02GN
 63/cxcvQetfnwRc4CSGmQFd/KrnayDqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 n+lRDj7KnLiYDy9vac7R6Z031loqqt9jJxPr3BtiHTEESitu+cXvUqZ1RFhkF6nAjg0idqrD
 CGmWZaAy060QKqQokzyiGdmDUJBF0Vmj/fIBmj8A3eiN28SzQgB8Vbg4VFNhPf9ko7pdl5lL
 lGxmSDqvNsfGH9dQnGlqj1vitR5zmJiGtnlfRWg21UUIMYZrMUpYsD/FlNGJNFGC7h8ogoHO
 RnEcmZvZ9tACenRmGcunMqzM2nX3w1EBvDSk8eutaN2zwTmHxi1UMXyMEWg39F/pMgTJtP4f
 jCL81T5cRzZ95Tabg4CPYKQMOxBGCISRXQMHiKKVCiD60DM2Klke+H3Fz03pDVRHUl9upMpH
 2aaiIkiYcbQTOTNfGz
X-Talos-CUID: 9a23:elNd/2yW2z7EziqLijI5BgVXOcsAXnD/wUz9HHC5O0Q2cI+pUxyprfY=
X-Talos-MUID: =?us-ascii?q?9a23=3AGea6gQxldMitsp1cmVbUITasMnOaqJa2D0wirao?=
 =?us-ascii?q?hgtuNH28gKiqQvR+RHIByfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,249,1684814400"; 
   d="scan'208";a="120889552"
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>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH v2] x86/gen-cpuid: Avoid violations of Misra rule 1.3
Date: Wed, 2 Aug 2023 14:10:03 +0100
Message-ID: <20230802131003.166670-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

Add the script to the X86 section in ./MAINTAINERS.

Structures or unions without any named members aren't liked by Misra
(nor the C standard). Avoid emitting such for leaves without any known
bits.

The placeholders are affected similarly, but are only visible to MISRA in the
middle of a patch series adding a new leaf.  The absence of a name was
intentional as these defines need to not duplicate names.

As that's not deemed acceptable any more, move placeholder processing into the
main loop and append the the word number to generate unique names.

  $ diff cpuid-autogen-{before,after}.h
  @@ -1034,7 +1034,7 @@
       bool intel_psfd:1, ipred_ctrl:1, rrsba_ctrl:1, ddp_ctrl:1,     ...

   #define CPUID_BITFIELD_14 \
  -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
  +    uint32_t _placeholder_14

   #define CPUID_BITFIELD_15 \
       bool :1, :1, :1, :1, avx_vnni_int8:1, avx_ne_convert:1, :1,    ...
  @@ -1043,19 +1043,19 @@
       bool rdcl_no:1, eibrs:1, rsba:1, skip_l1dfl:1, intel_ssb_no:1, ...

   #define CPUID_BITFIELD_17 \
  -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
  +    uint32_t _placeholder_17

   #define CPUID_BITFIELD_18 \
  -    uint32_t :32 /* placeholder */
  +    uint32_t _placeholder_18

   #define CPUID_BITFIELD_19 \
  -    uint32_t :32 /* placeholder */
  +    uint32_t _placeholder_19

   #define CPUID_BITFIELD_20 \
  -    uint32_t :32 /* placeholder */
  +    uint32_t _placeholder_20

   #define CPUID_BITFIELD_21 \
  -    uint32_t :32 /* placeholder */
  +    uint32_t _placeholder_21

   #endif /* __XEN_X86__FEATURESET_DATA__ */

No functional change.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * Write it more pythonically.  Fix up the placeholders too.
---
 MAINTAINERS            |  1 +
 xen/tools/gen-cpuid.py | 11 ++++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d8a02a6c1918..a0805d35cd71 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -601,6 +601,7 @@ F:	xen/arch/x86/
 F:	xen/include/public/arch-x86/
 F:	xen/include/xen/lib/x86
 F:	xen/lib/x86
+F:	xen/tools/gen-cpuid.py
 F:	tools/firmware/hvmloader/
 F:	tools/firmware/rombios/
 F:	tools/firmware/vgabios/
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index 72cf11654ba9..5797bc64c803 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -363,8 +363,8 @@ def crunch_numbers(state):
     state.deep_features = deps.keys()
     state.nr_deep_deps = len(state.deep_deps.keys())
 
-    # Calculate the bitfield name declarations
-    for word in range(state.nr_entries):
+    # Calculate the bitfield name declarations.  Leave 4 placeholders on the end
+    for word in range(state.nr_entries + 4):
 
         names = []
         for bit in range(32):
@@ -382,7 +382,10 @@ def crunch_numbers(state):
 
             names.append(name.lower())
 
-        state.bitfields.append("bool " + ":1, ".join(names) + ":1")
+        if any(names):
+            state.bitfields.append("bool " + ":1, ".join(names) + ":1")
+        else:
+            state.bitfields.append("uint32_t _placeholder_%s" % (word, ))
 
 
 def write_results(state):
@@ -464,8 +467,6 @@ def write_results(state):
 
 """)
 
-    state.bitfields += ["uint32_t :32 /* placeholder */"] * 4
-
     for idx, text in enumerate(state.bitfields):
         state.output.write(
             "#define CPUID_BITFIELD_%d \\\n    %s\n\n"

base-commit: 51588938e0cd0e02dbc1d6d8c697c577135ff666
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:22:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574932.900561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBoI-0004ZI-7r; Wed, 02 Aug 2023 13:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574932.900561; Wed, 02 Aug 2023 13:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBoI-0004ZB-3o; Wed, 02 Aug 2023 13:22:42 +0000
Received: by outflank-mailman (input) for mailman id 574932;
 Wed, 02 Aug 2023 13:22: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=j9Om=DT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRBoH-0004Z5-F0
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:22:41 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6c8ee88-3137-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 15:22:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7142.eurprd04.prod.outlook.com (2603:10a6:20b:113::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 13:22:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 13:22:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6c8ee88-3137-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jm1YgyxlQXaBelA7xtGyiHhb5UasncN8CiQYoyH+w6pPh7NvHsj0m5FlQGGKimlTWiszdV3d7OeI9xcr3yoBwHoljLyuTSTIwZCfsAdgm65cdSADIi7a3oM5liIOPh+MJM80zI/5CGoT+yuG6K22rThSa+6Mh2iQL9jjZ68/1FVsWXo91UgsvRahMq3O93dzGVxXE3J/jaqj8TLl7Az8CpKy7zjD3TbUZw3XckrYybBmB2Nx3MoO7UMrbCY9MNzXh95tnhB32acTcMD4SP/Qbw6o8vMKraX2DJYIExzlCR1w9ERf3NHM2QHJNKgUiyvQUIueL7dss+YXOgkUhNyy8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jbmkM94i4Y6Kbqbs5bDYN11RQAXqd8uCacxrc9BCgyM=;
 b=OEQ5FCdm1TZkUyQ/NLvgg2EJzIzN1GK+Q0stU7tcqaRLIB5XmMmR3ZPas8Vm6y36X1AOBQccoRmvvsqZ5qfqDIKNmzziuP1xnNiRNbK45yJ1CTlkf478gW15+U0bFFSb8d05rIPx7OQgvPwD+Uua1LxS37jMJn55OLLHfE4CUlJ9eDZAUkZ1rby5XseAX7FlTsZL8AoXhQQnIrxsPEHKpHh7YMXjTyqUACLawo+5TL7eu7wUipGSUKuQ6XAHtU/HJX+cSoxGz/NJItHhie2tu1vsx/UirjO4Lp+ISigWYyaPTsQfXylzO0KBCTaSVGsx2bgLNmPyf8TtIYfHwLdzrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jbmkM94i4Y6Kbqbs5bDYN11RQAXqd8uCacxrc9BCgyM=;
 b=2j7b4uhw0gPzdn34tbymYTzSEPFMlSgf0/qjRL5CV72zlEsGHGQpFbJz5SvESSLkG1zZ0unBQvrmPvPqF82cHiq4OtnO9dpV62xZGtzPQ8EJk29fDPavC20wJvaqiWWIDnDQvfBZdaCBK036ba4nW8vs81qBHkOVpNDR7rVmayfrnlnlBwQnOYrHdb4qbXbbMxObcXLFK2EEsVlCpP1FQMB04ahR5hY7Qi9hxG22lLNtEUOxQcTJuIvRJf+ZmLCPxK3YGw1GaavCNkbD/AhsLqgdG8MtBQ7wKfQk//0qLuVDJ66Vir9w5lxPIRRWJC04re6bnl26o+8Ho/Tpw2t4MQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b7ad0800-4808-d18b-2278-d4d4812c8d46@suse.com>
Date: Wed, 2 Aug 2023 15:22:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2] x86/gen-cpuid: Avoid violations of Misra rule 1.3
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230802131003.166670-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230802131003.166670-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7142:EE_
X-MS-Office365-Filtering-Correlation-Id: d188a132-a21e-4ef2-e077-08db935b8949
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H5utEMK/HmmPYZbUuZJXoGU6S8xqzBn+7z7F/w8sRlacO39zIrO7EnpN5MzlYsZcB86m8iyUcqtfuKj62ipqN4Ve9qIjEhBRadFvsGSZO7I+TsALZDT2kF+iacS2IR+UON1GCuGWwJ5r/xOc735xxWrDhm5Ky7rGsIdDrbNcEld9BdFsajW0PE3vl+UfNLUGHsyKCkeg/kF1xvhW8O1IsiHXSXc1BhQ99/lRN9EKHUm6EJjHKZ9nabW4hxxhgxf1FpcP0EDJ0IBmMPoWtvEMdLWoLaKJs2oAyRMfYTyQnPs6nY0gs0LkNm+BZWhBDDH8Nh9wvCMx/6XE0TRbzxZ8x3Mw2ljeZlIVolDNRZ4Rt5CJhYam53MffphV/phk2dW3I5ZLVS3xi9FikfsmVmYLJBVQ6FcerXTkk4g31VjmP9CZN+SM9JFWFH409y/0zjKfal9aYg7qp5GpjCYWOlSR4NaJoYAsuIdMdU/NofhsFePno5Fx7GSvAdLTCMopY3+KSJm/ZOBYHH0ERVgBhDZ+eqntuRrG031aozm2OrKXePcc8Hx4RGVPOccOnqtGsUKKi0AnW7vuH5sjkT4dh+78Qm8TKvZ9uvamddjfAXMS8oLpvveUORWG0ypJVLoAgG8qDU4WtumVSzI2HNR30Fm7HA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39860400002)(451199021)(31686004)(2616005)(26005)(6506007)(36756003)(38100700002)(54906003)(186003)(53546011)(2906002)(6486002)(478600001)(8676002)(8936002)(5660300002)(86362001)(6666004)(31696002)(66946007)(66556008)(6916009)(4326008)(66476007)(41300700001)(316002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UkFGamtzazdqQW5ocHJvR1AyYzZMaU9yc2xhakNoYzA2SE5IOC93eGZXRFBH?=
 =?utf-8?B?MjN2Mk5ZNEhEY1lzZ3hTNTZVM0Zwb3B1VHM0UlV4dVA3azV1V0RFVHk3LzhD?=
 =?utf-8?B?dFNZVHFQeGxGYXhSWlZoaVZqa0dUOWpwL0J5Yy9MdlR1dGxxTVVseE9FMDRx?=
 =?utf-8?B?RGcrWElsZGE4NzdyWGFUd0VVTkdhSENiNE9iazZhcUgwY1lWcDYvYVk5eURi?=
 =?utf-8?B?b1dLRUxsYXlkUDgzSkp1R01WRk90RURGM3RxMDV2K0tTd0FabUVyYXZNWm1n?=
 =?utf-8?B?dkFmM3VHRGtqUDFNbVFxaG9qVFdJUWhzMjBOcnV2cTFqZnF0WDBOcVBqRnhF?=
 =?utf-8?B?NzNTYmdzS0xXeU91OWFYUjhFbWpPSzlKUEUxSlM4UFNCUStUUlpoQUxUOU01?=
 =?utf-8?B?Q0ZQWm5mRThMYjNGRDV0Q0lmR01aOVc0eFFWY2JaZm1EbWhDZ0I2UWI3WVdr?=
 =?utf-8?B?bFl3L2NyU0RZWkE5REN6OUsxUzBrU3hBTEZ0RHdpSjBGN3A3bW0yUlVZK0k2?=
 =?utf-8?B?S2JVUW9LQVJrN1VETWpHYUJDdXpvczB4YnhuMGV6MHhQT3AwUFNRV2xsWVhW?=
 =?utf-8?B?WDNqWDZjemxneVNaQ2kxdzl0V25sdVZVM1d2ZXVmeHNHS3N1b1dTZDhvYzNx?=
 =?utf-8?B?THYvTGhWYzIvOUF0NGR5dEY1ejZLTVp5cTJDTUh0cWs4aTV1MnFWMjVVVXQ3?=
 =?utf-8?B?RTB2TGFqS3JsSHFnQkNQa2VMdXQ4LzZPcWNrdi9YRTJjM3RRSlZiV3I0L29O?=
 =?utf-8?B?UngzNEJ4ZDZydGZldHFLdXplbW5JSkt5UkxXYkV3S0c5NjA5akZ4ZGxXMSs5?=
 =?utf-8?B?eXJmTm4wMElZenVPQ2ZjWnhBYUJHbWVEVFpaNnhTbDdCSWtVZHFkdm5iZ1BO?=
 =?utf-8?B?dS8vS2ovMzExZXNYWHdOakdNMTZTNU93M01taDNZdnNJYkJFZkhEcEV5RkEx?=
 =?utf-8?B?VUlOWTkybS8yUE8wT1MxSkNxU3lqUitoVGtEMUZkcXVPK2hWamlYMFBYVVpy?=
 =?utf-8?B?QXNobXRLUXNGcGowZHliUm16c1JFV2RrQTdLdGpqeitxenJKb3hEUG1aeG5q?=
 =?utf-8?B?dVFNeStlUVY3NHRXYkR4OFFpNnNzT3UzbEoybGpzR0pSWGtkTDM2Ukk4ZjNr?=
 =?utf-8?B?WXZMUDNicXpTd2g4VVJHVmJOcnlYbVQ4T0hNam9lUWcwQW04Y21CV1czS2JU?=
 =?utf-8?B?cURvVkxUSWxYVHdjSG82YVBIMWRsa1VhZVNrT1h3Y3dpTjkvdURwd1NHWXdy?=
 =?utf-8?B?VUVjUzRWd0tmRThQd25xSTEvUGtKZE9zd0EvaWNvdzVYMkJqemthWkxqVWw3?=
 =?utf-8?B?cjFpU0g4MjdxYzhwdGkrRk5TOFIrbGFFTnZXdThYRTdQclpJSDFZaWJIMmN6?=
 =?utf-8?B?WXJEcFBNY05WWUFpcjc5MlJJMVNlc09MU3JhU3RFVGRWMUpQQXQ2M08vWmlt?=
 =?utf-8?B?OThHc2ZsV2VDczlZdnRUNHkwcFZtK1JScVdCSGN3azJHL3dPR1V4ZTNMZ3Yw?=
 =?utf-8?B?OUJISG1vbXZ4T0xpOURacDZ6SkdtNk1BS1doNlBwblBSU0NJZHRWWmt3ZjVt?=
 =?utf-8?B?dldoNCtNcllsTFYxVk5JeTVCb0RkQ1Z3cHYrcVJnYitmNFNsOUl4bHBwRVhC?=
 =?utf-8?B?VGd1YXVGY0t2emJhRFRqOGRlWUdQVWs1d2wyYnNqOEFhb2M0VDZ4STBxRDhw?=
 =?utf-8?B?Q0hydDlpM0dGS1dPWmJsYTRxNXp5dHRIWkcrZFNPVVNUejl1T2Q3cnFxVDha?=
 =?utf-8?B?cGI0dG1YeHVEVnhlRWltVkNYOGdXRXJwNWpvODJ4a2dLV2R1R1R0WjU4MTlj?=
 =?utf-8?B?czg5ZlBhcUxwR1djbGlEYTJYa0FhQ05PWktYVVNSbXhDQ2NsdWhMUjc5ZXNN?=
 =?utf-8?B?ckdxWFhWZk5lRHNDQVgwb1N2NEZDZFcxUGljc1lkY2RZNHhvTDU3Sm44a0kx?=
 =?utf-8?B?OVNuYTJXSG0rVUI0dVpvMTdjWHVONGNUeVZVZFhRTXp4L1F6dXc2MmhsOHN1?=
 =?utf-8?B?MW9iai80Nmd4cWJHYzZud01NVWZoSE5HSk5rajQ2dVRMTmZ4UHM0R2I0Q3pu?=
 =?utf-8?B?U280dG5kanB4a21jbEp1MEx0alhVczE5QkxscXZzTDFBL1JMdGZheXhHbUhp?=
 =?utf-8?Q?O5q2pQTddnsTiJ9KzaBZopfnz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d188a132-a21e-4ef2-e077-08db935b8949
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 13:22:35.9250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PzAywFGCymx+FQnf9RH+zrtonP2pGQ1xA4fZNjvsZbM+umHb52JCuyZDp1+qdiWOC5CoVIApr48GFMhjWviMRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7142

On 02.08.2023 15:10, Andrew Cooper wrote:
> Add the script to the X86 section in ./MAINTAINERS.
> 
> Structures or unions without any named members aren't liked by Misra
> (nor the C standard). Avoid emitting such for leaves without any known
> bits.
> 
> The placeholders are affected similarly, but are only visible to MISRA in the
> middle of a patch series adding a new leaf.  The absence of a name was
> intentional as these defines need to not duplicate names.
> 
> As that's not deemed acceptable any more, move placeholder processing into the
> main loop and append the the word number to generate unique names.
> 
>   $ diff cpuid-autogen-{before,after}.h
>   @@ -1034,7 +1034,7 @@
>        bool intel_psfd:1, ipred_ctrl:1, rrsba_ctrl:1, ddp_ctrl:1,     ...
> 
>    #define CPUID_BITFIELD_14 \
>   -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
>   +    uint32_t _placeholder_14
> 
>    #define CPUID_BITFIELD_15 \
>        bool :1, :1, :1, :1, avx_vnni_int8:1, avx_ne_convert:1, :1,    ...
>   @@ -1043,19 +1043,19 @@
>        bool rdcl_no:1, eibrs:1, rsba:1, skip_l1dfl:1, intel_ssb_no:1, ...
> 
>    #define CPUID_BITFIELD_17 \
>   -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
>   +    uint32_t _placeholder_17
> 
>    #define CPUID_BITFIELD_18 \
>   -    uint32_t :32 /* placeholder */
>   +    uint32_t _placeholder_18
> 
>    #define CPUID_BITFIELD_19 \
>   -    uint32_t :32 /* placeholder */
>   +    uint32_t _placeholder_19
> 
>    #define CPUID_BITFIELD_20 \
>   -    uint32_t :32 /* placeholder */
>   +    uint32_t _placeholder_20
> 
>    #define CPUID_BITFIELD_21 \
>   -    uint32_t :32 /* placeholder */
>   +    uint32_t _placeholder_21
> 
>    #endif /* __XEN_X86__FEATURESET_DATA__ */
> 
> No functional change.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> v2:
>  * Write it more pythonically.

Yeah, you know I don't speak Python very well. I was glad I got it to
work without overly much hassle.

> @@ -382,7 +382,10 @@ def crunch_numbers(state):
>  
>              names.append(name.lower())
>  
> -        state.bitfields.append("bool " + ":1, ".join(names) + ":1")
> +        if any(names):
> +            state.bitfields.append("bool " + ":1, ".join(names) + ":1")
> +        else:
> +            state.bitfields.append("uint32_t _placeholder_%s" % (word, ))

I thought % could be used here, but then I wouldn't have known to use
%s (elsewhere we use %u), nor to add an empty argument (which I see
is done in a few other places as well, but not uniformly when %s is
used). I assume there's a reason for the specific way you've done it
here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:27:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574936.900571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBsb-0005AV-PY; Wed, 02 Aug 2023 13:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574936.900571; Wed, 02 Aug 2023 13:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBsb-0005AO-LR; Wed, 02 Aug 2023 13:27:09 +0000
Received: by outflank-mailman (input) for mailman id 574936;
 Wed, 02 Aug 2023 13:27: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=HuXe=DT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRBsa-0005AI-IS
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:27:08 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46219955-3138-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 15:27:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id ADB281F8A4;
 Wed,  2 Aug 2023 13:27:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8190E13919;
 Wed,  2 Aug 2023 13:27:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id t26+HalZymQZbQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 02 Aug 2023 13:27:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46219955-3138-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1690982825; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=k0kitvcA5nLs9AE7chmpglfgup5XkxvTAeLnE2nilus=;
	b=eDyNUA2ny7A+uaeC7/YkNh0O9dvj3+wCCtUmuHiKdpBLZHhxSu94BUT7aYGQO/S0LyVQsT
	UUnV2lsoUBeempgiIbOx8l8iS2UHHfwYwroUgHnoQ3GGBZjbWeHCjiXJc0FX6gyGIw8cc9
	p/UmShxA1S63jFwtiv1SvuOYNBKlt54=
Message-ID: <d67106cf-6368-6dd8-11d6-cc1f3ecc36ec@suse.com>
Date: Wed, 2 Aug 2023 15:27:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
Content-Language: en-US
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, rahul.singh@arm.com
Cc: xen-devel@lists.xenproject.org
References: <20230801145413.40684-1-yuehaibing@huawei.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230801145413.40684-1-yuehaibing@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ETSmEXOC7kgD4PkgRcJI7DNu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ETSmEXOC7kgD4PkgRcJI7DNu
Content-Type: multipart/mixed; boundary="------------i4vxukn0iBhI50xMe64E7w8c";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, rahul.singh@arm.com
Cc: xen-devel@lists.xenproject.org
Message-ID: <d67106cf-6368-6dd8-11d6-cc1f3ecc36ec@suse.com>
Subject: Re: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
References: <20230801145413.40684-1-yuehaibing@huawei.com>
In-Reply-To: <20230801145413.40684-1-yuehaibing@huawei.com>

--------------i4vxukn0iBhI50xMe64E7w8c
Content-Type: multipart/mixed; boundary="------------SkXK70tpRqP4YkofH8oklmr6"

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

T24gMDEuMDguMjMgMTY6NTQsIFl1ZSBIYWliaW5nIHdyb3RlOg0KPiBDb21taXQgNjc0NzNi
ODE5NGJjICgieGVuL2V2ZW50czogUmVtb3ZlIGRpc2Z1bmN0IGFmZmluaXR5IHNwcmVhZGlu
ZyIpDQo+IGxlYXZlIHRoaXMgdW51c2VkIGRlY2xhcmF0aW9uLg0KPiANCj4gU2lnbmVkLW9m
Zi1ieTogWXVlIEhhaWJpbmcgPHl1ZWhhaWJpbmdAaHVhd2VpLmNvbT4NCg0KUmV2aWV3ZWQt
Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQoNCg==

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

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------SkXK70tpRqP4YkofH8oklmr6--

--------------i4vxukn0iBhI50xMe64E7w8c--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTKWagFAwAAAAAACgkQsN6d1ii/Ey8e
Uwf/YjnfblYcOtHENtUKkZiqZxCanu4hF/AGilVcnQYSnDGgeA033mKMjLurUwqS5ote5G9PN620
HuVgbHqU/U0jVaxp6Uvs4n9pe+EVgNjnexg9BjqKguN2+5DotZO5mD5DKYuLkAC8JC6rAeAfNuwo
F4IYpcS3vhwGjyyVwO2GbWpX6QnZaOc4T9XdxoBqPxYOqir0celSbthkhrPFvgeg9pwo4K3J7c3n
aGKHXAKDAhLr4hhr5bIGKV1g9os41DAPIgifUoLS65Q/HXMBV15QiivGkMcg38O+USQBP/+8eX2I
mEywHkmpZ2FHXYJGD6l2M3PDXcxwM6yXu+aV7ZLCvw==
=ojaL
-----END PGP SIGNATURE-----

--------------ETSmEXOC7kgD4PkgRcJI7DNu--


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:31:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574941.900581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBwx-0006cv-9v; Wed, 02 Aug 2023 13:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574941.900581; Wed, 02 Aug 2023 13:31:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRBwx-0006co-6M; Wed, 02 Aug 2023 13:31:39 +0000
Received: by outflank-mailman (input) for mailman id 574941;
 Wed, 02 Aug 2023 13:31: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=/vke=DT=citrix.com=prvs=571ca8ae6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRBwv-0006ci-LE
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:31:37 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5755142-3138-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 15:31:34 +0200 (CEST)
Received: from mail-bn7nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Aug 2023 09:31:31 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5604.namprd03.prod.outlook.com (2603:10b6:208:29a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 13:31:27 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Wed, 2 Aug 2023
 13:31: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: e5755142-3138-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1690983094;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=mmIj5gQS9Glz/5KnZL6kz4FZF0Dtt1GbJvEsBCFSfQo=;
  b=dFLervU9AQA2raDA1QucjIc1u0CEyDcdAY8lROv+p07S7WwMP3K7WrU2
   uTiAi3l04g+0pEMqp6CHG6rDTw3jW7qQHNl35LoTSllZiDrf7txF1wL0e
   jYqoRaMsG+6b+H5zPvsYNbzl0jux8Oq08ddUwuFACZ9aFzKfihnqKWMGk
   w=;
X-IronPort-RemoteIP: 104.47.70.103
X-IronPort-MID: 118269684
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:rLbff6KhUMdV1lfcFE+REJQlxSXFcZb7ZxGr2PjKsXjdYENS0mFUx
 zcZDz2CPq6NYmv2fYx+Poy09kwF7ZGBnYViQFNlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRkPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5pKF4Vy
 +UnLgoxNDKB3sWk642YVNJF05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLl2Sd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHqrAtxDSu3knhJsqEaXw3AuLSYGbgK2+9W3p3CfdfkCe
 mVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpQNonv8gyTHo02
 0OTntXoLTZyv6aYT33b/bCRxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdJN3r6
 zWDrSx7jbNMi8cOjv2/5Qqe22nqoYXVRAko4AmRRnii8g5yeI+iYcqv9ETf6vFDao2eSzFto
 UQ5piRX18hWZbnlqcBHaLxl8G2BjxpdDADhvA==
IronPort-HdrOrdr: A9a23:aA43sqhtgF/DCgR6Hqbz9CJHE3BQXgYji2hC6mlwRA09TyX4rb
 HUoB1/73TJYVkqNk3I9ersBEDCewK5yXcN2+gs1O6ZPDUO21HYTr2Kj7GSuwEIcheWnoRgPM
 FbAs1D4bbLYmSS4/yX3OD2KadG/DArytHPuc7Oi11WZUVBbaV46gdwDQyWVndxWBJNCfMCZf
 mhD4581kOdRUg=
X-Talos-CUID: 9a23:WKn5UW+qZTZCmf0yrCuVv1A9JZsba0Lb9kuKAU3hLnRCd56LcnbFrQ==
X-Talos-MUID: 9a23:SLDBbwjO6g0R1ENl8skFQMMpL8Nt/5mLM1A2yJhcl8epCw1eEGrMpWHi
X-IronPort-AV: E=Sophos;i="6.01,249,1684814400"; 
   d="scan'208";a="118269684"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oJMijDyyu/ZOEaWeIyh4d3OEaHhja83ko2FAYAZWOyK4OVg6npDkBcOR+CaKDGNHiUOJ3/FdSW33twh9AVp6VJoQtRnwBZVBmfHotPt8/fxLA0ksLG70g2NniVcsLsZ6bNxC2mFoECUN5LxjCYnm5QLU74xf9p5deVd9u97W/Wps0uSjvlc4xhKluRx8WTU4pMlLHAs/NJTapfeMzdO6o5KpVWcngvERQ27Ljb3nUrvf9BGbqqKii3HzJMufiup7R/xuEUay3FF3yzPhsDKm1sfaOl0rIsEMCBc3TS+9lmKF/qhGIsIMl5sUiXnJAf5iWbwJtmD2sRoujuI/D/XspA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2TbtnL/m8prfhEqUqlTW4I8qNZGxszTAgBNOj+2dmDg=;
 b=Q0AXBDxnHqiY4NUeEwp2WuYCdRUZaXJocnuM69RupY5gGZha1yYv51UoK6xHxQwuXHAUSKClfHuvHOTCKBm/8L+ZFWsfSUyiR0AjspsZRjGf/vhEJR08FhwSASCiwSKvKkXeUr1zd9hlnZsG3WA5muLV+IPg7Ss7V9swOrF0AS5cS4+YqBoNnCQIUZ+vVggwSfdj8wBK/v84eZKpwrmKfj11tKnC5nNhASe8eLji+IU9oj+FVJQyj9Yl//cvOO43OV8svScSKE/XOcNEeRPxbwoxdQGH9HhvnbmAzqJuwmS4/8vNIKYMsJlX4IRIAL1vYODQnCN0zYduXAE2oqaSdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2TbtnL/m8prfhEqUqlTW4I8qNZGxszTAgBNOj+2dmDg=;
 b=pE2FjnvbmSgMgBYJ4sFXbkzvpSPp1WNobowxScC6DCuda8RlE4XywFPL74jSvyYz0xteVW+fwHzKs0mz8FzSeQ9gwggEv3V1Rx/wK5MkyQmWwXk2bZTog4y7A5UHMuirujrh6ChiLjYjZeoL8rsiL1wDQj7SXYq+MXjntewz4mU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <185d2ddf-9461-564c-5d29-4a5afe88596d@citrix.com>
Date: Wed, 2 Aug 2023 14:31:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/gen-cpuid: Avoid violations of Misra rule 1.3
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230802131003.166670-1-andrew.cooper3@citrix.com>
 <b7ad0800-4808-d18b-2278-d4d4812c8d46@suse.com>
In-Reply-To: <b7ad0800-4808-d18b-2278-d4d4812c8d46@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0185.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a::29) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5604:EE_
X-MS-Office365-Filtering-Correlation-Id: 28c263fd-0c20-4d8a-059b-08db935cc5b7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R/PYo+nYyIttISvwou1+TUgGfrDzJQqdDLCcXy2W7vhGcRRrcIZoxYGoCvAQnb8qxqFdj660IwsOcwaIAMCGeivy9c7sgcmv07XASRaTfXDDsUR/mngtqGJsxGVl/jjjW/TOgO+TgpkowChecKQovJgzekDU9ZvTHmwgluYBU0Pc6TZv/PHHDOXVjAQPl9+aDf+JkBoULJQcwX40rQqKjnMwyh1wREi7eNxXKUoSoDb64vLRTwEJ+fjufjsTY3lXeZKgoq1EBxDZUV0ikAYYlt9f7QHcyeDN+soADXskyh6hFNAGCJ31YGWCOa2cRby+p/1HqDH0Od3YTHmajDREz/CSIT3piKa1J9RwCCeAoIpiqZUxJEo6a53Xhg/EbC7ItGzPKQAUmcqOYOT3/zP+PX8w4xmCRnk9rysCRBDSZUEsc+o2Xvz01ij72HyzvBLhCFzMjIGvZwk6ZvWaxXya6hCEOGQn1gefQltR1eQEHhxdUJ2ykzLq8S7gr3t3JWqH4F12uYMJk4RSt2kbO8zCbqkJ+ySvwhnZ5uFr5vGj8MypNU3IXbR7ozVyDdl2nirdkLiFPQhXVlUZjlbQAlclMB1vG827/hDccJU8+sjoL2d60dHeHNBdHvlUZbFdOLBzAd+LGtzOa1lcuFsAT+FCKg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(366004)(346002)(396003)(376002)(451199021)(31686004)(4326008)(6916009)(31696002)(86362001)(36756003)(38100700002)(82960400001)(53546011)(6506007)(2616005)(83380400001)(186003)(26005)(6666004)(6486002)(6512007)(478600001)(54906003)(66556008)(66476007)(66946007)(8676002)(8936002)(316002)(41300700001)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1Exc2lmdUdVT2RvMTdyallDSVo5TUJ6SHo4M3JVRy9EYmxsdENaNEFMSHBY?=
 =?utf-8?B?eTJMdEc1UktYeUJlU0loQkRDeU1jVUhLTHd3eDI1T2dhNkNZRk5jRHpTVXly?=
 =?utf-8?B?Q0JBQ2dNKzJvZEROQ0lnTjZCQWNsZHdpQWFwVEdwU2NvWnRVcm4ybVNKYXZM?=
 =?utf-8?B?bTdmTkpVVytyc0FZS09mcVZIVkJvT1ZWT21tckRGTGZOcVNSZThnNmg2TVBy?=
 =?utf-8?B?RUVUTm1ESjA2ZzV5dTFLQys0MWVwUFlUU3dvdEhRSjJxSEhIbC9UbDlKc1Zk?=
 =?utf-8?B?SzEyVmpiL0NwSWc5Q1V5RXBnT1dBbHJlUSs5aTZXbDllSTYyTWl0SGNSM1dS?=
 =?utf-8?B?S1daQklXK1ZUZzZ5N3FtekZ3dStQTUc3a3ZVMUVPbVc1a0NIK29MdHp2TVRp?=
 =?utf-8?B?UTVtZlRET0xlUWd4Zk10UTJxOC9lRG1TS3FNMzFpM01teS81L3FySHZqYU0z?=
 =?utf-8?B?ZXp4dEZZaU92ZURGbFRUSFZIM2o3VUdsd0djTFpRZ3EvZklhUnM1cUNQUWFq?=
 =?utf-8?B?ak4zcjNQRFRycW54b2VpUUJUSTRqcnhIZGhkUnRqYTFQUktCaEtHek4zQWh4?=
 =?utf-8?B?cTRxUFh2TXpEU0tvZzF0WW9rSjVpbk0ycG1ScmJ2Sy9qalJUY280Z1hZTFNL?=
 =?utf-8?B?MFFDRmJZK3I1WXRORE8xa2JOLzgvdVNON0ZDY3hOekY4clo5YUJYVXhMSHB1?=
 =?utf-8?B?dldSbzFQY3U1aDJqaUlnSHkvRmVnZVAxTXRaTlZKSmVpM2p4NTJQVWNicTcz?=
 =?utf-8?B?UXdUWGZNVjBMdnBmNkd0ZGo2cTZ4TWYxQi9VVkc3eFJycGM0MjgzamNlczlR?=
 =?utf-8?B?MXRZSWJFQzV3M25mNEMrcDZOWUZEdkFUSUUySmI2dldmRkVieGJQbmpVV2Rp?=
 =?utf-8?B?bis3c1hPQkhBNHV0M3FPVEpZdHNkTTE4eWs4Zjk4NXkzeEFLU1VvckNnUUEx?=
 =?utf-8?B?RlE2TTMrR2owaFRPR1JGV3VobHRiWXp0MG8xU2tZeVJvUUVmV0hnN0crd2w3?=
 =?utf-8?B?OUMrRVJIdDFJRFl5LzZsMTdPcXN4ZTFWaEtzS2FwODA2d0xua2NEbzdnWDBh?=
 =?utf-8?B?VEthYUZ6Sjl1RmdWc1ZaaHIrS3lrMzVMOGdWcTNhM2hNWFQ5aWdQMEdlMGxM?=
 =?utf-8?B?cWR6U3lhWnpTUHNTQlB6ZU52YWRvaU81amY4SGljU0YzQUt6UExSVjdPUXYv?=
 =?utf-8?B?SWJYKyt1V0N3M0lUY3lDQ1ZvdWhHbUVzcDN0RGRPR3lWek5MVFlmNmdxcmNT?=
 =?utf-8?B?OVEvOTJYQjg0VVRTL1dJaTc0dXJlcm8vTTkrVkVlOEVaMEFMMkJZRWh5dzZ2?=
 =?utf-8?B?Q3poKzg2N2toSEJUaVhDamlPbFpBdGJOT2s4Nk96T2ZiZytUaHRQMDFXNEFN?=
 =?utf-8?B?VWF5T3pId05hOEluZ3F1bFF3ME55ZzdFbkJWWThtQ0JJd3czM2JPWEtHT3k2?=
 =?utf-8?B?QWt0THdlNWV1Y0NJNzRZVXNhNlJtK3V6ZzdkWUQ4VWVFYzY5MVFERTFIeWJv?=
 =?utf-8?B?N1FjRVcyeFJxaGQvSFlwMXZWbWtCRjByVnh4Q0xMaUtvVXNoK1JXb0l4dmhK?=
 =?utf-8?B?enZIU3hUZ0VXbkNkRU5WSFhpZVVjSlZQUUtZYmpwcWdRQm02YURsV0MvVGla?=
 =?utf-8?B?YW9WUkJnSFZKYVFDMTNCOGdrcnYvcDU0Ym1pWjdINUczMkZvZ2gwNC8vczlq?=
 =?utf-8?B?UkcxYTJMRHU0Mk9rNElmSmVZNVpCT3ZxYkhnWCtieSszZGtKVDhqcktYYnhj?=
 =?utf-8?B?TlEzWUxranF3dCtEU1dPWnB2NkxuamlSNllTYmE1ZGttL2F3WnlRaTkwdEJa?=
 =?utf-8?B?RHIvSDd2WEg2dGdNeEFwMWtsT1EzRjhlR1JtQXhkWEJMYUY2T1EwcDJYTUN5?=
 =?utf-8?B?OXd3cDE5aWZWWWJRSXVCQ2pWWDlvSUQwV0FUUnhOdzlYUDBTWUlUcXQrOVhG?=
 =?utf-8?B?VzJzTGZkTElPQnVsdU1KQnBQRlZpcTFpMC9NQmV6dFJPZzZpaUVOWVA0Mmkr?=
 =?utf-8?B?WDY4UmllUS9IWnd4VmJqWVBVYmlSTU5uanQ2Z2tvOTVldk01azhBcDVYazNF?=
 =?utf-8?B?Ym9FQ2duV04rbUg0bzF4c0tkdEJTZjkvUnk0cS96clc5YVZmSlcyUzBDMHI5?=
 =?utf-8?B?RFcvWWxPVm1UYWc4empnTFVVWkpZaVRpR1RYaGZHRE96c3o0ZGFPTVcvYzRM?=
 =?utf-8?B?YVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	30RuHhsc58mOUG7tWYHz1DtmQgnbCSCtqrI2vC/jXxHuZOMtc5nLAEroLRF9UgFVKC/bv4iLs9uvmaMp/nYPjN39HL7PmebVhOz6y7Fk3jCLYML9HckO4v2AkioVbnnGG4SET1bbJjI/SMVh4RcgvYYJKAPJ3NTRqu0OX/s5dzbevuBFoKGI3CvGWa8eZdGcrurcL2VFW2hWKnRyTFA6a7ET+4xIIMcdbUBHVZWKV7Hi0eqUqof5IvEDtFf2K4yeFlqvx4Fn1kY7QqDqZwTKCX7QgSsQcz7//I13Ek6dMVigAyAmkixRwUHtc82cGbYceC7MIAsmwcr4It94pLS3xBESNwe3aFxeC7t5z1pu0/7Ud5+O5fe+5PyvzeTnafLmdt5kLMXI7Fck6Qt+VBYL4eKc5HM+g9GowrTV3gZ6sqJvfdE1xk5heHmBm9rnFY7us51cFdG/mdlG9AQL97G4416lWJjUUjObmmQgpdJ+LT2ZHdfXpIcPu/Fz0zNgzYoecj8uYn5WYIrXbG9TsEmxPdaCJZ0oIxInNGye+6awisjII3Y5M2oVI9ieAwRWv5HTmWqkqz7FPe9Xc41YPqXscMyzb6BHwS9aI/cdKr057hrQPbmvnuJkiaCnVRIro4r83fUH8hs9GbmzWdTgtfijuN2uy736bPH/J2rjQmKJF36ZZ1vsRa+ipSfa7xTq7jlp1HhvJAaM1Io88zfsoR6oNRDHSzT/9Abummb9IorbCQLR9kTq/NOTsULyozwPzksIeIPnbfZrMjEuEDLtRyizAv26MtwWZpvbSNugSU7IjoxawF6OYmtRcVSH5LEpC3nOb1FFXbZmLnlO/lkjZ3FWSh8iAmx4tcScJv7xeUWicqE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28c263fd-0c20-4d8a-059b-08db935cc5b7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 13:31:26.9036
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HCrN9RJmyzmffooiWv/9mbHqfTnpM18uQKoOHnRNkJaaXQZjxsG/RlToysTEyv0JPldwaPoiXmVHIsUrM2dVWxeOVnNC3qyuXXUSNDyHCBI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5604

On 02/08/2023 2:22 pm, Jan Beulich wrote:
> On 02.08.2023 15:10, Andrew Cooper wrote:
>> Add the script to the X86 section in ./MAINTAINERS.
>>
>> Structures or unions without any named members aren't liked by Misra
>> (nor the C standard). Avoid emitting such for leaves without any known
>> bits.
>>
>> The placeholders are affected similarly, but are only visible to MISRA in the
>> middle of a patch series adding a new leaf.  The absence of a name was
>> intentional as these defines need to not duplicate names.
>>
>> As that's not deemed acceptable any more, move placeholder processing into the
>> main loop and append the the word number to generate unique names.
>>
>>   $ diff cpuid-autogen-{before,after}.h
>>   @@ -1034,7 +1034,7 @@
>>        bool intel_psfd:1, ipred_ctrl:1, rrsba_ctrl:1, ddp_ctrl:1,     ...
>>
>>    #define CPUID_BITFIELD_14 \
>>   -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
>>   +    uint32_t _placeholder_14
>>
>>    #define CPUID_BITFIELD_15 \
>>        bool :1, :1, :1, :1, avx_vnni_int8:1, avx_ne_convert:1, :1,    ...
>>   @@ -1043,19 +1043,19 @@
>>        bool rdcl_no:1, eibrs:1, rsba:1, skip_l1dfl:1, intel_ssb_no:1, ...
>>
>>    #define CPUID_BITFIELD_17 \
>>   -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
>>   +    uint32_t _placeholder_17
>>
>>    #define CPUID_BITFIELD_18 \
>>   -    uint32_t :32 /* placeholder */
>>   +    uint32_t _placeholder_18
>>
>>    #define CPUID_BITFIELD_19 \
>>   -    uint32_t :32 /* placeholder */
>>   +    uint32_t _placeholder_19
>>
>>    #define CPUID_BITFIELD_20 \
>>   -    uint32_t :32 /* placeholder */
>>   +    uint32_t _placeholder_20
>>
>>    #define CPUID_BITFIELD_21 \
>>   -    uint32_t :32 /* placeholder */
>>   +    uint32_t _placeholder_21
>>
>>    #endif /* __XEN_X86__FEATURESET_DATA__ */
>>
>> No functional change.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> with one question below.
>
>> v2:
>>  * Write it more pythonically.
> Yeah, you know I don't speak Python very well. I was glad I got it to
> work without overly much hassle.

Generally speaking, if you've got bool-like variables around loops,
there's a neater way of expressing it.

This one relies on truthy/falsy values where "" is treated as false.Â 
(Same too with None, 0, (,), {} and [] for the other primitive datatypes).

>
>> @@ -382,7 +382,10 @@ def crunch_numbers(state):
>>  
>>              names.append(name.lower())
>>  
>> -        state.bitfields.append("bool " + ":1, ".join(names) + ":1")
>> +        if any(names):
>> +            state.bitfields.append("bool " + ":1, ".join(names) + ":1")
>> +        else:
>> +            state.bitfields.append("uint32_t _placeholder_%s" % (word, ))
> I thought % could be used here, but then I wouldn't have known to use
> %s (elsewhere we use %u), nor to add an empty argument (which I see
> is done in a few other places as well, but not uniformly when %s is
> used). I assume there's a reason for the specific way you've done it
> here?

Hmm.Â  That was taken from your version.

In python, %s means "call str() on whatever you have".Â  Similarly, %r
means repr().Â  str() on an integer behaves as %d.

But yes, %u would be better here, and consistent with the rest of the
script.

Happy to fix on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:44:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574948.900591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRC8x-0008DT-Gh; Wed, 02 Aug 2023 13:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574948.900591; Wed, 02 Aug 2023 13:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRC8x-0008DM-DO; Wed, 02 Aug 2023 13:44:03 +0000
Received: by outflank-mailman (input) for mailman id 574948;
 Wed, 02 Aug 2023 13:44: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=F4LG=DT=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1qRC8w-0008DG-QV
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:44:02 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a213386f-313a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 15:43:59 +0200 (CEST)
Received: from AS4P192CA0029.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:5e1::14)
 by DU0PR08MB7787.eurprd08.prod.outlook.com (2603:10a6:10:3b8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19; Wed, 2 Aug
 2023 13:43:24 +0000
Received: from AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:5e1:cafe::f) by AS4P192CA0029.outlook.office365.com
 (2603:10a6:20b:5e1::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45 via Frontend
 Transport; Wed, 2 Aug 2023 13:43:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT056.mail.protection.outlook.com (100.127.140.107) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.45 via Frontend Transport; Wed, 2 Aug 2023 13:43:24 +0000
Received: ("Tessian outbound d7adc65d10b4:v145");
 Wed, 02 Aug 2023 13:43:24 +0000
Received: from 0fe65365a262.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3798346E-7498-4EA4-AA87-B1F5C51D0A84.1; 
 Wed, 02 Aug 2023 13:43:17 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0fe65365a262.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 02 Aug 2023 13:43:17 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by GV1PR08MB7874.eurprd08.prod.outlook.com (2603:10a6:150:5d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 13:43:15 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::4560:65a:d8e2:719c]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::4560:65a:d8e2:719c%4]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 13:43: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: a213386f-313a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pH3bkCIKuTVL3DEWeAq83+jifAYz5QQcYRZXgDudh9o=;
 b=9YI2vjXMulWiI2h0aKhWfS5vdlW4lQAFs/oGD4l7O/hiW64iIbGWtV+vQBvDMrRT+nhD5l/EO87HgG4E4nANtTTFwV7kyb4jU//mfsG80hJe9o1Xq0OmgKVdtnYmpM2himo9RKyuz6oGT1pIm/NSKXOpXLduw/1T5Ln/lG1EXPA=
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: defbb318eaf48460
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NJl2nDPo5fg2hg0Zt8KnunawWc0VWZQnBixHtdKqm1NfRQKJglask/48OGsxJj8lYIa4/U4bxPjnoNvyXc6Tnrz1YGuglgjnPD3gBT3v4bwBNB3TNJlEiV2H0b5ic5sN2henElRV/TL54JrGuhu/GsYP7DvDBsg8NEvsSw7Z3y06rOXAxr2+dsyqa4PmSfBSSticPI1cWNixLA79xOzWRysAdDb9JOlkKUcBMyqz6fVJbTGochlA8Su73Hp/KayBoTSCvya2aNgBlbAPiOx2Olz8VP7+FRnzBu6atcdRcZVuwFPwdkyov7WxsT8/UVyR7vQZk18+6vdXFI74cnNDKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pH3bkCIKuTVL3DEWeAq83+jifAYz5QQcYRZXgDudh9o=;
 b=mTJ6mc+tr25rFk2VhNELclXvhanAqHGyCnlAr+cV6GM/rqTldqgGndKPkQU2mYtGDHgfn83qIn+4D0Yu3EK9/DCjVW+OZZ2+Uo1KPjoF/KjVV7QjUpUZb21dPP215BKZ9XDdr3JOPKXG5s8UfaH8CfbVQc9EgszmG7l6UQvljUeynWJrrHMTv2ON/FV/43QOOrzYYV6WRNQeSKBJz4mKa0VXYCr0gx/RO3TmLkvGvY8T65/eP7/pRAWFqMWkR6ZJVRgmHnJgJ2DY6ObaWKU+2ACT8OaNQHluykKDr4PoaZV6tTP0lRYca9F1eeAtOkWZj+94nS14mvxFOf7Z07NhJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=pH3bkCIKuTVL3DEWeAq83+jifAYz5QQcYRZXgDudh9o=;
 b=9YI2vjXMulWiI2h0aKhWfS5vdlW4lQAFs/oGD4l7O/hiW64iIbGWtV+vQBvDMrRT+nhD5l/EO87HgG4E4nANtTTFwV7kyb4jU//mfsG80hJe9o1Xq0OmgKVdtnYmpM2himo9RKyuz6oGT1pIm/NSKXOpXLduw/1T5Ln/lG1EXPA=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Yue Haibing <yuehaibing@huawei.com>
CC: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "oleksandr_tyshchenko@epam.com"
	<oleksandr_tyshchenko@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
Thread-Topic: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
Thread-Index: AQHZxIgYKn4PxeouQUGx1NvFxt0zwq/XBWqA
Date: Wed, 2 Aug 2023 13:43:14 +0000
Message-ID: <A433CFA7-7DDA-4E17-96F7-1B6C254A9B36@arm.com>
References: <20230801145413.40684-1-yuehaibing@huawei.com>
In-Reply-To: <20230801145413.40684-1-yuehaibing@huawei.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_|GV1PR08MB7874:EE_|AM7EUR03FT056:EE_|DU0PR08MB7787:EE_
X-MS-Office365-Filtering-Correlation-Id: cea9dbd8-298a-429e-baed-08db935e7187
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:
 MKcNWW86242y84aKVs4eI/wpBzyJngqjRj4k3KQUytlLa22KspP/lde6WAoL4gCaR6clbbWosFEFiuEkWX4Hc+UoSmnoWauHIzYu41F34kDXj9UzTpD////PCsCdMYQQxbbN5zHPjyyw+SCr6vUVd4wh2nbmt1xvqz0MsRFY+rmco8DGadj64ExszH6AaHydt1j3W7GhOR+VballePgmhNz5n/OvoTKdS6feurki9g9tpdwOMaLYyZrYMBTy/ltJbYJieB7E9TykHs0Yx+PivsT4eXmyeHvlowQiLg7s0kA8TsB7NwfybCl3Hq2QvfGSjVwof6dyCC7ngvHMNmP8UupZIX3h8ykJ4k6dOIoEb+0wS7eQjMdw4pNO64Wa0dz2FwQkL+Jf8bsUFmVQYE+K8loFmabZpZ+09eZle8Bq1p90CiBJgMmT+8M4sAJJKuqvNXei8YhrF/GO7bT9zE1yrolS9uEkXCY60gLmydRBUKdHzbUI2bcod0oZE1SjJ8/dtMIBuXg5cJrD3czGCDCWRkO1CE5Cr7BN9p2Ukz9ckynQtDth337S7FajI35x3u2ohiz3amL/dowHW8PgH3I+7lZT8QvfyK7VHDQoo8QW91d9ejAEa9qa/tumJfB3RQk3R5lzY4RBvFIFgDyNP6nY2Q==
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:(13230028)(4636009)(39860400002)(376002)(366004)(396003)(346002)(136003)(451199021)(41300700001)(36756003)(71200400001)(86362001)(33656002)(478600001)(6512007)(316002)(6486002)(66446008)(66556008)(76116006)(66946007)(64756008)(91956017)(4326008)(6916009)(66476007)(5660300002)(26005)(8676002)(8936002)(6506007)(38070700005)(53546011)(186003)(54906003)(4744005)(2616005)(38100700002)(2906002)(122000001)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FBD42BE14DD97041807DD902243D5163@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7874
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:
 AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	764144d6-9545-4a8d-2f6e-08db935e6bc2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YH/iUHCXV48rjkEatsu5HjgSAa0c91E+SaYggz0ziNoesbWNNvK1kThVGW5doc7hiN2GpzUy8wBSHGPFBzgd4VYVA+U6o2JXCL6xwfO4ppY5r7Gnh+C8IxMkBpZdPl9+fTaGoN/vh0QaZMNrrEYMhUWcf67hBwPdxxVVn7h/EXEyo6dOAY5Q/k3pqDB8TyWHR8VyrfIlAjY05eoFAxOWr537tejf4aVB49yrVfRpiXolqa9PQRWTdITQF/2kJtP65BUm8IUGdfrvITTfOYdHoiefXu29wDiM1walTlCfbFWnzEPzPaez1XmhDNUDQ9ePz0AdpO03zet2sx4GC+EKy04yVfast9iQLjgqi0ODJknPiKZUa7FKospUkl3nPzDZaWBWuutIbH0XQ8S1jjeYcSKnsnm3BR9763GeiAbRH4LvmExeBocU049Tc23gfMeiiVFUymyBNrDtjr0GQ5Ow4UaTWzhWlH5mNBKVfD7mbfDZa86CD/Pr8PMZHoDqxpzPGk/iCSdkOEFt8yWCjJmVjjSGJiC3lQg5U0eh67nm3iyH4VJcjwMwEkOMTYfCyMieqcH46h84yyAGMM4Ch4is1wkNMikH+bi0rDaP0ttM49cx1zUzVzcNTadpxI7jHEXSYAdaK7D3T0JAZr7Zy25S0YuGN3vzVMnj0AsfSF3TMFjslN5PTOZFi0NoMvidoP4SUp4Mt1WaEyQW7N1PqEhkBzjfLH7n9ghJZorbM61frs8X2dGqRWwt3LKfDCcK3B/7
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(396003)(39860400002)(451199021)(82310400008)(46966006)(36840700001)(40470700004)(4744005)(33656002)(36756003)(40480700001)(86362001)(478600001)(6512007)(6486002)(8676002)(6862004)(8936002)(41300700001)(316002)(5660300002)(4326008)(40460700003)(36860700001)(47076005)(83380400001)(54906003)(2906002)(70586007)(70206006)(26005)(81166007)(356005)(82740400003)(2616005)(186003)(6506007)(336012)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 13:43:24.3361
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cea9dbd8-298a-429e-baed-08db935e7187
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7787

Hi Yue,

> On 1 Aug 2023, at 3:54 pm, Yue Haibing <yuehaibing@huawei.com> wrote:
>=20
> Commit 67473b8194bc ("xen/events: Remove disfunct affinity spreading")
> leave this unused declaration.
>=20
> Signed-off-by: Yue Haibing <yuehaibing@huawei.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul Singh

> ---
> include/xen/events.h | 1 -
> 1 file changed, 1 deletion(-)
>=20
> diff --git a/include/xen/events.h b/include/xen/events.h
> index 95970a2f7695..95d5e28de324 100644
> --- a/include/xen/events.h
> +++ b/include/xen/events.h
> @@ -75,7 +75,6 @@ void evtchn_put(evtchn_port_t evtchn);
>=20
> void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector);
> void rebind_evtchn_irq(evtchn_port_t evtchn, int irq);
> -int xen_set_affinity_evtchn(struct irq_desc *desc, unsigned int tcpu);
>=20
> static inline void notify_remote_via_evtchn(evtchn_port_t port)
> {
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 13:54:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 13:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574953.900600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCIf-0001JI-Cb; Wed, 02 Aug 2023 13:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574953.900600; Wed, 02 Aug 2023 13:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCIf-0001JB-9x; Wed, 02 Aug 2023 13:54:05 +0000
Received: by outflank-mailman (input) for mailman id 574953;
 Wed, 02 Aug 2023 13:54: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=gGWG=DT=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qRCIe-0001J5-0p
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 13:54:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 08958414-313c-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 15:54: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 91D9D113E;
 Wed,  2 Aug 2023 06:54:43 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 75D893F5A1;
 Wed,  2 Aug 2023 06:53: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: 08958414-313c-11ee-8613-37d641c3527e
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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Wed,  2 Aug 2023 14:53:50 +0100
Message-Id: <20230802135350.745251-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
the GICv2 emulation for guests, it is required only when using GICV2
driver, otherwise using GICV3 it is optional and can be deselected
if the user doesn't want to offer the vGICv2 interface to guests or
maybe its GICv3 hardware can't offer the GICv2 compatible mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Kconfig        | 13 +++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 5 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd284..dc702f08ace7 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -78,6 +78,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -92,6 +100,11 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config VGICV2
+	bool "vGICv2 interface for guests"
+	default y
+	depends on (GICV2 || GICV3) && !NEW_VGIC
+
 config HVM
         def_bool y
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a505..b2b609eb0c2d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2775,6 +2775,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2826,6 +2827,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2901,8 +2903,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 95e4f020febe..d18a3317ccc4 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 97d6f6106638..86fa8bc7e894 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -95,10 +95,12 @@ int domain_vgic_register(struct domain *d, int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:27:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574963.900611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCog-00052x-Su; Wed, 02 Aug 2023 14:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574963.900611; Wed, 02 Aug 2023 14:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCog-00052q-QD; Wed, 02 Aug 2023 14:27:10 +0000
Received: by outflank-mailman (input) for mailman id 574963;
 Wed, 02 Aug 2023 14:27:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXK3=DT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRCof-00052k-6v
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:27:09 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e89::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7af8ce3-3140-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:27:07 +0200 (CEST)
Received: from MW4PR04CA0342.namprd04.prod.outlook.com (2603:10b6:303:8a::17)
 by SJ2PR12MB9244.namprd12.prod.outlook.com (2603:10b6:a03:574::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 14:27:02 +0000
Received: from CO1PEPF000044FD.namprd21.prod.outlook.com
 (2603:10b6:303:8a:cafe::9e) by MW4PR04CA0342.outlook.office365.com
 (2603:10b6:303:8a::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Wed, 2 Aug 2023 14:27:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044FD.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.6652.19 via Frontend Transport; Wed, 2 Aug 2023 14:27: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.27; Wed, 2 Aug
 2023 09:27:00 -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.27; Wed, 2 Aug
 2023 09:27:00 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 2 Aug 2023 09:26: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: a7af8ce3-3140-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ETz/y/5ay50DkvE2BIq4agIte2RKPTrnT0tov1tfnvICvtV7/I8Oz6HQy4aotq4xkDWWKPGPTNpNuYbV8xMJqYH/yvtVKpV0mSp29t7WAPxlwbXafMExUhoqsW3vlGBWFfgZEv5I+uCKi1OpEJVY6Z94TAsa+0vg9lr99jmjQnDj4t0UyYf0tVw0WWVkOqDXhd8AM3H1k3pmKF6bp9OjuO/oFcb6RxO7x3AYca/7yXQwVRffmNHn2ZiWG0Hf21bPnmWvf80FJkO73cvhkStFGfmHGJjOM8cKJnriRC1QmzJZ6WAlMNVWqvFfXarvip1/hZVhCBSTc5L0RDRdTthL0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nohBqLPQWx4dTuM4PWNJLXKTSyzFHK5QNQ1WRz6kULU=;
 b=Hq0z+OIyfGgsy8v0yk1xwcqZwAR7i/Xh/0rk8toGGRUSpDy7q0GxXIwcaY/CkpbOQerQpWwSW4uqO/1wk30BSnSPAj5yGM3Or3fiV0Qj5O+NAeB/k9/TGuLN6J5n6JLb+jdwISyGtVh/JIX+PloGQMNgQsDcTjCCliUzKtuKlOhKDdJhyefcR2zeiOvWpmw+I3urevcqyPyu56tYZx+RnpfPJYl/DlwxnEZpuZ4ya2IiOIu1JsoQ9wfjoBiaNUpzFj0bZcUafGOowCc2sHDHAtpW9dVxWkK1R4LX74pUcU/QIOjESWbLhL7g6gWcmgB5cs1I4wiO3FNbebtUFb+ToA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nohBqLPQWx4dTuM4PWNJLXKTSyzFHK5QNQ1WRz6kULU=;
 b=nm+tammUCSXaxSdG1yylCYhwRH8OVkq5Ws0lTXLKCqBjQss5iFAqTKzn4dBqDgC4PYN/+DCOf0yYeB6qVQHzXG37utn43HZeSxmPOlmazmbVvCc8lazz9xJbO44lwrBRZw91q80K6sPSyQW14J14ThiWR/nDgkGpp9wkRKAHOqU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
Date: Wed, 2 Aug 2023 16:26:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Content-Language: en-US
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: <20230802135350.745251-1-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230802135350.745251-1-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: CO1PEPF000044FD:EE_|SJ2PR12MB9244:EE_
X-MS-Office365-Filtering-Correlation-Id: 69a3f33b-c919-479e-5d5f-08db93648a12
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ds0KnKK5gQ036SbIJ+2bJQuDItA0AH1STLo10vqy4T9JCeof/5DIvF2d+FBEZXOVuXXYVviDUdOvH0z1ab4T0i2BsQwh/am4POi5tvgX3jNIsKVCWrInV2tVmSk08JPs2cFL/HMhIQDdWUw+xrnjtwCmEcOTttr92UHAUt3l7F3i81CXoorNUxLty33JD8jZCgHlnJO/pC20r5YcyU5l9v9IJCLO6PVMO0m1sRKbZA2RmDWqdSy6EVjttzYEulDXgu6yB/ecNILiKjg9B2ZRIiBB0V4zg2EjNSM56lFeanAApAqFGgGWyfDkl+tmEgw0WtYCUNBkWaZ5q3dC6kt0mLeEnpTGAu3gfbKoJfe/r0cmGQka+Tb1xdBCCD14uETZJ8ru07CIbzVKOvJ16C6EP2z/jWnDMRzzPxCUpY36lLaFQjrC540msStJ6LoEyEorr+7ig3lY3kaYQYd18dZxz2VYFz79TK7K/N4LTKuaZdzFI0pfZIeXA/q08O++6ZbZkWU+MSy7YihKALIcGHlWMZdabb/zXRi8zlCEC9faLoP+MB2BdYpyQ7vVI93bPz8n637ZbEs31pQUtfuIlp7LMBgJZVycjyBc9HBubNGfK7NY4W0UgaCDgDlDEGAMB0kcBboqvkB/hLROmb48tynfZboTHRSxJBshuk9CsDu1W1uVWteqegfE0WrcH/UyN5SbKZ0F2ff8qZ0dxugs0LFGqOxHva1RUfZmvEdRACWoaq64hi6B/OwovvvLKhSbyRmHMqJDIoCqWp/cbi0Kp+egBJ1lVdTyU9RepG/aU04HUmVlSvlAEy9P2lmWEjU0mYyN
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:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(82310400008)(451199021)(46966006)(36840700001)(40470700004)(44832011)(4326008)(40460700003)(70586007)(70206006)(2906002)(426003)(2616005)(81166007)(82740400003)(356005)(53546011)(336012)(186003)(26005)(83380400001)(47076005)(36860700001)(110136005)(54906003)(40480700001)(86362001)(31696002)(36756003)(478600001)(41300700001)(8936002)(8676002)(5660300002)(31686004)(16576012)(316002)(66899021)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 14:27:02.3654
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69a3f33b-c919-479e-5d5f-08db93648a12
X-MS-Exchange-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:
	CO1PEPF000044FD.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9244

Hi Luca,

On 02/08/2023 15:53, Luca Fancellu wrote:
> 
> 
> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
> when needed, the option is active by default.
> 
> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
> the GICv2 emulation for guests, it is required only when using GICV2
> driver, otherwise using GICV3 it is optional and can be deselected
> if the user doesn't want to offer the vGICv2 interface to guests or
> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/arm/Kconfig        | 13 +++++++++++++
>  xen/arch/arm/Makefile       |  4 ++--
>  xen/arch/arm/domain_build.c |  4 ++++
>  xen/arch/arm/gic-v3.c       |  4 ++++
>  xen/arch/arm/vgic.c         |  2 ++
>  5 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index fd57a82dd284..dc702f08ace7 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -78,6 +78,14 @@ config ARM_EFI
>           UEFI firmware. A UEFI stub is provided to allow Xen to
>           be booted as an EFI application.
> 
> +config GICV2
So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
This means that Xen would fail on boot without any message as it happens before serial driver initialization.
Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574973.900637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzo-0006px-NU; Wed, 02 Aug 2023 14:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574973.900637; Wed, 02 Aug 2023 14:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzo-0006ms-Hy; Wed, 02 Aug 2023 14:38:40 +0000
Received: by outflank-mailman (input) for mailman id 574973;
 Wed, 02 Aug 2023 14:38:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzn-0006bO-Pv
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44f44a64-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:39 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D50094EE0741;
 Wed,  2 Aug 2023 16:38: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: 44f44a64-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:08 +0200
Message-Id: <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the declarations are moved in the smallest enclosing
scope, near other variable definitions.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/cpuid.c  |  3 +--
 xen/arch/x86/domain.c | 23 +++++++++++------------
 xen/arch/x86/irq.c    |  3 +--
 xen/arch/x86/msr.c    |  3 +--
 4 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 455a09b2dd..90e1370e90 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -37,6 +37,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
 {
     const struct domain *d = v->domain;
     const struct cpu_policy *p = d->arch.cpu_policy;
+    const struct cpu_user_regs *regs;
 
     *res = EMPTY_LEAF;
 
@@ -136,8 +137,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
      */
     switch ( leaf )
     {
-        const struct cpu_user_regs *regs;
-
     case 0x1:
         /* TODO: Rework topology logic. */
         res->b &= 0x00ffffffu;
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 5f66c2ae33..015f7b14ab 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -2268,6 +2268,17 @@ int domain_relinquish_resources(struct domain *d)
 {
     int ret;
     struct vcpu *v;
+    enum {
+        PROG_iommu_pagetables = 1,
+        PROG_shared,
+        PROG_paging,
+        PROG_vcpu_pagetables,
+        PROG_xen,
+        PROG_l4,
+        PROG_l3,
+        PROG_l2,
+        PROG_done,
+    };
 
     BUG_ON(!cpumask_empty(d->dirty_cpumask));
 
@@ -2291,18 +2302,6 @@ int domain_relinquish_resources(struct domain *d)
 #define PROGRESS(x)                                                     \
         d->arch.rel_priv = PROG_ ## x; /* Fallthrough */ case PROG_ ## x
 
-        enum {
-            PROG_iommu_pagetables = 1,
-            PROG_shared,
-            PROG_paging,
-            PROG_vcpu_pagetables,
-            PROG_xen,
-            PROG_l4,
-            PROG_l3,
-            PROG_l2,
-            PROG_done,
-        };
-
     case 0:
         ret = pci_release_devices(d);
         if ( ret )
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 6abfd81621..4fd0cc163d 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1135,6 +1135,7 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
     struct irq_desc *desc = data;
     unsigned int i, irq = desc - irq_desc;
     irq_guest_action_t *action;
+    cpumask_t *cpu_eoi_map;
 
     spin_lock_irq(&desc->lock);
     
@@ -1169,8 +1170,6 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
 
     switch ( action->ack_type )
     {
-        cpumask_t *cpu_eoi_map;
-
     case ACKTYPE_UNMASK:
         if ( desc->handler->end )
             desc->handler->end(desc, 0);
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index ecf126566d..0e61e0fe4e 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -335,11 +335,10 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
     const struct cpu_policy *cp = d->arch.cpu_policy;
     struct vcpu_msrs *msrs = v->arch.msrs;
     int ret = X86EMUL_OKAY;
+    uint64_t rsvd;
 
     switch ( msr )
     {
-        uint64_t rsvd;
-
         /* Read-only */
     case MSR_IA32_PLATFORM_ID:
     case MSR_CORE_CAPABILITIES:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574971.900624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzo-0006bk-1A; Wed, 02 Aug 2023 14:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574971.900624; Wed, 02 Aug 2023 14:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzn-0006bd-TF; Wed, 02 Aug 2023 14:38:39 +0000
Received: by outflank-mailman (input) for mailman id 574971;
 Wed, 02 Aug 2023 14:38:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzm-0006bO-3e
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 437097a0-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:36 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 784624EE0737;
 Wed,  2 Aug 2023 16:38:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 437097a0-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 00/11] xen: address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:06 +0200
Message-Id: <cover.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The headline for Rule 2.1 states:
"A project shall not contain unreachable code". Violations of this rule addressed
by this patch are caused by two constructs:

1. Declarations inside switch statements, before any clause. This construct is
   allowed by the language, but is considered unreachable code, since the program
	 execution doesn't ever reach these statements, even though the variables are
	 introduced in the switch block.
2. Code following functions that are not intended to return to the caller or
   additional statements required by defensive programming practices or other
	 MISRA rules (such as a break to end each switch clause, even if that break
	 is effectively unreachable).

(1) is resolved by moving the declarations in an appropriate scope, while (2) is
addressed by adding ASSERT_UNREACHABLE() calls to signal that the code below is
intentionally unreachable, thus motivating the violation of the rule.

---
The approach taken in this series to address the violations is the outcome of
a MISRA C group meeting held 25/07/2023.

Nicola Vetrini (11):
  x86/efi: move variable declaration to address MISRA C:2012 Rule 2.1
  x86: move declarations to address MISRA C:2012 Rule 2.1
  x86/uaccess: move declarations to address MISRA C:2012 Rule 2.1
  x86emul: move variable definitions to address MISRA C:2012 Rule 2.1
  drivers/pci: move variable definitions to address MISRA C:2012 Rule
    2.1
  xen/ioreq: move variable declaration to address MISRA C:2012 Rule 2.1
  xen: address MISRA C:2012 Rule 2.1
  xen: move declarations to address MISRA C:2012 Rule 2.1
  x86/xstate: moved BUILD_BUG_ON to address MISRA C:2012 Rule 2.1
  xen/sched: add ASSERT_UNREACHABLE() to address MISRA C:2012 Rule 2.1
  x86/mm: Add assertion to address MISRA C:2012 Rule 2.1

 xen/arch/x86/cpuid.c                   |  3 +--
 xen/arch/x86/domain.c                  | 23 +++++++++++------------
 xen/arch/x86/efi/efi-boot.h            |  5 ++---
 xen/arch/x86/hvm/emulate.c             |  9 ++++-----
 xen/arch/x86/hvm/hvm.c                 | 10 ++++------
 xen/arch/x86/include/asm/uaccess.h     |  6 ++++--
 xen/arch/x86/irq.c                     |  3 +--
 xen/arch/x86/mm.c                      |  1 +
 xen/arch/x86/mm/p2m-pod.c              |  1 +
 xen/arch/x86/msr.c                     |  3 +--
 xen/arch/x86/x86_emulate/0f01.c        |  7 +++----
 xen/arch/x86/x86_emulate/blk.c         | 17 ++++++++---------
 xen/arch/x86/x86_emulate/decode.c      |  3 ++-
 xen/arch/x86/x86_emulate/fpu.c         |  3 +--
 xen/arch/x86/x86_emulate/util-xen.c    |  4 ++--
 xen/arch/x86/x86_emulate/x86_emulate.c | 14 +++++++-------
 xen/arch/x86/xstate.c                  |  3 ++-
 xen/common/compat/memory.c             |  3 +--
 xen/common/domain.c                    | 15 +++++++--------
 xen/common/ioreq.c                     |  3 +--
 xen/common/sched/core.c                |  1 +
 xen/common/shutdown.c                  | 18 ++++++++++++------
 xen/drivers/passthrough/pci.c          | 10 ++++------
 23 files changed, 81 insertions(+), 84 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574974.900654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzp-0007KM-TU; Wed, 02 Aug 2023 14:38:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574974.900654; Wed, 02 Aug 2023 14:38: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 1qRCzp-0007J7-PX; Wed, 02 Aug 2023 14:38:41 +0000
Received: by outflank-mailman (input) for mailman id 574974;
 Wed, 02 Aug 2023 14:38: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzo-0006bO-Px
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45699fe4-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:39 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 04B374EE0742;
 Wed,  2 Aug 2023 16:38: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: 45699fe4-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 03/11] x86/uaccess: move declarations to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:09 +0200
Message-Id: <6d5e4f307b360393e29641d727ef78b697643f47.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable declarations inside macros {put,get}_unsafe_size are
considered unreachable code, as they appear in a switch statement, before
any clause. They are moved in the enclosing scope to resolve the violation.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/uaccess.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
index 684fccd95c..a2aaab1e87 100644
--- a/xen/arch/x86/include/asm/uaccess.h
+++ b/xen/arch/x86/include/asm/uaccess.h
@@ -191,11 +191,12 @@ struct __large_struct { unsigned long buf[100]; };
 
 #define put_unsafe_size(x, ptr, size, grd, retval, errret)                 \
 do {                                                                       \
+    long dummy_;                                                           \
+                                                                           \
     retval = 0;                                                            \
     stac();                                                                \
     switch ( size )                                                        \
     {                                                                      \
-    long dummy_;                                                           \
     case 1:                                                                \
         put_unsafe_asm(x, ptr, grd, retval, "b", "b", "iq", errret);       \
         break;                                                             \
@@ -218,11 +219,12 @@ do {                                                                       \
 
 #define get_unsafe_size(x, ptr, size, grd, retval, errret)                 \
 do {                                                                       \
+    long dummy_;                                                           \
+                                                                           \
     retval = 0;                                                            \
     stac();                                                                \
     switch ( size )                                                        \
     {                                                                      \
-    long dummy_;                                                           \
     case 1: get_unsafe_asm(x, ptr, grd, retval, "b", "=q", errret); break; \
     case 2: get_unsafe_asm(x, ptr, grd, retval, "w", "=r", errret); break; \
     case 4: get_unsafe_asm(x, ptr, grd, retval, "k", "=r", errret); break; \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574972.900629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzo-0006eR-9z; Wed, 02 Aug 2023 14:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574972.900629; Wed, 02 Aug 2023 14:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzo-0006dO-4Z; Wed, 02 Aug 2023 14:38:40 +0000
Received: by outflank-mailman (input) for mailman id 574972;
 Wed, 02 Aug 2023 14:38:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzm-0006bO-Pb
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 444042f5-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:37 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4A5D14EE0740;
 Wed,  2 Aug 2023 16:38:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 444042f5-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 01/11] x86/efi: move variable declaration to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:07 +0200
Message-Id: <aa72e3371fa4ab4806cd866c569718d766d3142e.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable declaration is moved where it's actually used, rather
than being declared in the switch before any clause, thus being
classified as unreachable code.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/efi/efi-boot.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 92f4cfe8bd..b00441b1a2 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -390,8 +390,6 @@ static void __init efi_arch_edd(void)
         {
             switch ( DevicePathType(devp.DevPath) )
             {
-                const u8 *p;
-
             case ACPI_DEVICE_PATH:
                 if ( state != root || boot_edd_info_nr > EDD_INFO_MAX )
                     break;
@@ -463,7 +461,8 @@ static void __init efi_arch_edd(void)
                 params->device_path_info_length =
                     sizeof(struct edd_device_params) -
                     offsetof(struct edd_device_params, key);
-                for ( p = (const u8 *)&params->key; p < &params->checksum; ++p )
+                for ( const u8 *p = (const u8 *)&params->key;
+                      p < &params->checksum; ++p )
                     params->checksum -= *p;
                 break;
             case MEDIA_DEVICE_PATH:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574975.900663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzs-0007d3-4K; Wed, 02 Aug 2023 14:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574975.900663; Wed, 02 Aug 2023 14: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 1qRCzs-0007cn-0n; Wed, 02 Aug 2023 14:38:44 +0000
Received: by outflank-mailman (input) for mailman id 574975;
 Wed, 02 Aug 2023 14: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzp-0006bO-WE
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 465e692a-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:41 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 978C14EE0744;
 Wed,  2 Aug 2023 16:38: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: 465e692a-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 05/11] drivers/pci: move variable definitions to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:11 +0200
Message-Id: <99f434f5d8b9c8eca275f23799a642ba34e79eb8.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the variable declarations are moved in the smallest enclosing
scope, near other variable definitions.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/drivers/passthrough/pci.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 33452791a8..3f5fa5beef 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -315,6 +315,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
     struct pci_dev *pdev;
     unsigned int pos;
     int rc;
+    unsigned int cap, sec_bus, sub_bus;
 
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus == bus && pdev->devfn == devfn )
@@ -343,8 +344,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
     /* update bus2bridge */
     switch ( pdev->type = pdev_type(pseg->nr, bus, devfn) )
     {
-        unsigned int cap, sec_bus, sub_bus;
-
         case DEV_TYPE_PCIe2PCI_BRIDGE:
         case DEV_TYPE_LEGACY_PCI_BRIDGE:
             sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
@@ -424,11 +423,11 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
 
 static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
 {
+    unsigned int sec_bus, sub_bus;
+
     /* update bus2bridge */
     switch ( pdev->type )
     {
-        unsigned int sec_bus, sub_bus;
-
         case DEV_TYPE_PCIe2PCI_BRIDGE:
         case DEV_TYPE_LEGACY_PCI_BRIDGE:
             sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
@@ -1555,11 +1554,10 @@ int iommu_do_pci_domctl(
     u8 bus, devfn;
     int ret = 0;
     uint32_t machine_sbdf;
+    unsigned int flags;
 
     switch ( domctl->cmd )
     {
-        unsigned int flags;
-
     case XEN_DOMCTL_get_device_group:
     {
         u32 max_sdevs;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574976.900670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzs-0007gH-Kn; Wed, 02 Aug 2023 14:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574976.900670; Wed, 02 Aug 2023 14: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 1qRCzs-0007fA-BK; Wed, 02 Aug 2023 14:38:44 +0000
Received: by outflank-mailman (input) for mailman id 574976;
 Wed, 02 Aug 2023 14: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzq-0006bO-QF
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46b8c10b-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:42 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 5E2AE4EE0745;
 Wed,  2 Aug 2023 16:38:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46b8c10b-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH 06/11] xen/ioreq: move variable declaration to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:12 +0200
Message-Id: <587d42fef7a0fc3fb3e7e5ef3deed6617b84cf03.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the variable declarations are moved in the smallest enclosing
scope, near other variable definitions.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/ioreq.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 7cb717f7a2..5044f43b81 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1111,6 +1111,7 @@ struct ioreq_server *ioreq_server_select(struct domain *d,
     FOR_EACH_IOREQ_SERVER(d, id, s)
     {
         struct rangeset *r;
+        unsigned long start, end;
 
         if ( !s->enabled )
             continue;
@@ -1119,8 +1120,6 @@ struct ioreq_server *ioreq_server_select(struct domain *d,
 
         switch ( type )
         {
-            unsigned long start, end;
-
         case XEN_DMOP_IO_RANGE_PORT:
             start = addr;
             end = start + p->size - 1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574977.900676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzt-0007nI-09; Wed, 02 Aug 2023 14:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574977.900676; Wed, 02 Aug 2023 14: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 1qRCzs-0007ly-OA; Wed, 02 Aug 2023 14:38:44 +0000
Received: by outflank-mailman (input) for mailman id 574977;
 Wed, 02 Aug 2023 14:38: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzr-0007ap-7l
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45e7e813-3142-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:38:40 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id BFDC64EE0743;
 Wed,  2 Aug 2023 16:38:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45e7e813-3142-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 04/11] x86emul: move variable definitions to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:10 +0200
Message-Id: <e958e4831a5363efe2a3902171fe5d7a37908e69.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the variable declarations are moved in the only clause
scope that uses it.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/emulate.c             |  9 ++++-----
 xen/arch/x86/hvm/hvm.c                 | 10 ++++------
 xen/arch/x86/x86_emulate/0f01.c        |  7 +++----
 xen/arch/x86/x86_emulate/blk.c         | 17 ++++++++---------
 xen/arch/x86/x86_emulate/decode.c      |  3 ++-
 xen/arch/x86/x86_emulate/fpu.c         |  3 +--
 xen/arch/x86/x86_emulate/util-xen.c    |  4 ++--
 xen/arch/x86/x86_emulate/x86_emulate.c | 14 +++++++-------
 8 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 75ee98a73b..2261e8655b 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1994,6 +1994,7 @@ static int cf_check hvmemul_rep_stos(
     bool_t df = !!(ctxt->regs->eflags & X86_EFLAGS_DF);
     int rc = hvmemul_virtual_to_linear(seg, offset, bytes_per_rep, reps,
                                        hvm_access_write, hvmemul_ctxt, &addr);
+    char *buf;
 
     if ( rc != X86EMUL_OKAY )
         return rc;
@@ -2025,7 +2026,6 @@ static int cf_check hvmemul_rep_stos(
     switch ( p2mt )
     {
         unsigned long bytes;
-        char *buf;
 
     default:
         /* Allocate temporary buffer. */
@@ -2289,16 +2289,15 @@ static int cf_check hvmemul_cache_op(
     struct hvm_emulate_ctxt *hvmemul_ctxt =
         container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
     uint32_t pfec = PFEC_page_present;
+    unsigned long addr;
+    int rc;
+    void *mapping;
 
     if ( !cache_flush_permitted(current->domain) )
         return X86EMUL_OKAY;
 
     switch ( op )
     {
-        unsigned long addr;
-        int rc;
-        void *mapping;
-
     case x86emul_clflush:
     case x86emul_clflushopt:
     case x86emul_clwb:
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2180abeb33..4170343b34 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1494,10 +1494,10 @@ static int cf_check hvm_load_cpu_msrs(struct domain *d, hvm_domain_context_t *h)
 
     for ( i = 0; i < ctxt->count; ++i )
     {
+        int rc;
+
         switch ( ctxt->msr[i].index )
         {
-            int rc;
-
         case MSR_SPEC_CTRL:
         case MSR_INTEL_MISC_FEATURES_ENABLES:
         case MSR_PKRS:
@@ -3522,6 +3522,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     struct domain *d = v->domain;
     uint64_t *var_range_base, *fixed_range_base;
     int ret;
+    unsigned int index;
 
     var_range_base = (uint64_t *)v->arch.hvm.mtrr.var_ranges;
     fixed_range_base = (uint64_t *)v->arch.hvm.mtrr.fixed_ranges;
@@ -3533,8 +3534,6 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
 
     switch ( msr )
     {
-        unsigned int index;
-
     case MSR_EFER:
         *msr_content = v->arch.hvm.guest_efer;
         break;
@@ -3636,6 +3635,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
     struct vcpu *v = current;
     struct domain *d = v->domain;
     int ret;
+    unsigned int index;
 
     HVMTRACE_3D(MSR_WRITE, msr,
                (uint32_t)msr_content, (uint32_t)(msr_content >> 32));
@@ -3668,8 +3668,6 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
 
     switch ( msr )
     {
-        unsigned int index;
-
     case MSR_EFER:
         if ( hvm_set_efer(msr_content) )
            return X86EMUL_EXCEPTION;
diff --git a/xen/arch/x86/x86_emulate/0f01.c b/xen/arch/x86/x86_emulate/0f01.c
index ba43fc394b..22a14b12c3 100644
--- a/xen/arch/x86/x86_emulate/0f01.c
+++ b/xen/arch/x86/x86_emulate/0f01.c
@@ -24,13 +24,12 @@ int x86emul_0f01(struct x86_emulate_state *s,
 {
     enum x86_segment seg = (s->modrm_reg & 1) ? x86_seg_idtr : x86_seg_gdtr;
     int rc;
+    unsigned long base, limit, cr0, cr0w, cr4;
+    struct segment_register sreg;
+    uint64_t msr_val;
 
     switch ( s->modrm )
     {
-        unsigned long base, limit, cr0, cr0w, cr4;
-        struct segment_register sreg;
-        uint64_t msr_val;
-
     case 0xc6:
         switch ( s->vex.pfx )
         {
diff --git a/xen/arch/x86/x86_emulate/blk.c b/xen/arch/x86/x86_emulate/blk.c
index e790f4f900..f2956c0d52 100644
--- a/xen/arch/x86/x86_emulate/blk.c
+++ b/xen/arch/x86/x86_emulate/blk.c
@@ -26,19 +26,18 @@ int x86_emul_blk(
     struct x86_emulate_ctxt *ctxt)
 {
     int rc = X86EMUL_OKAY;
-
-    switch ( s->blk )
-    {
-        bool zf;
+    bool zf;
 #ifndef X86EMUL_NO_FPU
+    struct {
+        struct x87_env32 env;
         struct {
-            struct x87_env32 env;
-            struct {
-               uint8_t bytes[10];
-            } freg[8];
-        } fpstate;
+           uint8_t bytes[10];
+        } freg[8];
+    } fpstate;
 #endif
 
+    switch ( s->blk )
+    {
         /*
          * Throughout this switch(), memory clobbers are used to compensate
          * that other operands may not properly express the (full) memory
diff --git a/xen/arch/x86/x86_emulate/decode.c b/xen/arch/x86/x86_emulate/decode.c
index f58ca3984e..daebf3a9bd 100644
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -1758,9 +1758,9 @@ int x86emul_decode(struct x86_emulate_state *s,
     /* Fetch the immediate operand, if present. */
     switch ( d & SrcMask )
     {
+    case SrcImm: {
         unsigned int bytes;
 
-    case SrcImm:
         if ( !(d & ByteOp) )
         {
             if ( mode_64bit() && !amd_like(ctxt) &&
@@ -1785,6 +1785,7 @@ int x86emul_decode(struct x86_emulate_state *s,
     case SrcImm16:
         s->imm1 = insn_fetch_type(uint16_t);
         break;
+		}
     }
 
     ctxt->opcode = opcode;
diff --git a/xen/arch/x86/x86_emulate/fpu.c b/xen/arch/x86/x86_emulate/fpu.c
index 480d879657..002d5e1253 100644
--- a/xen/arch/x86/x86_emulate/fpu.c
+++ b/xen/arch/x86/x86_emulate/fpu.c
@@ -84,11 +84,10 @@ int x86emul_fpu(struct x86_emulate_state *s,
     uint8_t b;
     int rc;
     struct x86_emulate_stub stub = {};
+    unsigned long dummy;
 
     switch ( b = ctxt->opcode )
     {
-        unsigned long dummy;
-
     case 0x9b:  /* wait/fwait */
         host_and_vcpu_must_have(fpu);
         get_fpu(X86EMUL_FPU_wait);
diff --git a/xen/arch/x86/x86_emulate/util-xen.c b/xen/arch/x86/x86_emulate/util-xen.c
index 5e90818010..7ab2ac712f 100644
--- a/xen/arch/x86/x86_emulate/util-xen.c
+++ b/xen/arch/x86/x86_emulate/util-xen.c
@@ -77,10 +77,10 @@ bool cf_check x86_insn_is_portio(const struct x86_emulate_state *s,
 bool cf_check x86_insn_is_cr_access(const struct x86_emulate_state *s,
                                     const struct x86_emulate_ctxt *ctxt)
 {
+    unsigned int ext;
+
     switch ( ctxt->opcode )
     {
-        unsigned int ext;
-
     case X86EMUL_OPC(0x0f, 0x01):
         if ( x86_insn_modrm(s, NULL, &ext) >= 0
              && (ext & 5) == 4 ) /* SMSW / LMSW */
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index e88245eae9..d6c04fd5f3 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1479,15 +1479,15 @@ x86_emulate(
         break;
     }
 
+    enum x86_segment seg;
+    struct segment_register cs, sreg;
+    struct cpuid_leaf leaf;
+    uint64_t msr_val;
+    unsigned int i, n;
+    unsigned long dummy;
+
     switch ( ctxt->opcode )
     {
-        enum x86_segment seg;
-        struct segment_register cs, sreg;
-        struct cpuid_leaf leaf;
-        uint64_t msr_val;
-        unsigned int i, n;
-        unsigned long dummy;
-
     case 0x00: case 0x01: add: /* add reg,mem */
         if ( ops->rmw && dst.type == OP_MEM )
             state->rmw = rmw_add;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574978.900680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzt-0007yB-FC; Wed, 02 Aug 2023 14:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574978.900680; Wed, 02 Aug 2023 14:38: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 1qRCzt-0007vk-7n; Wed, 02 Aug 2023 14:38:45 +0000
Received: by outflank-mailman (input) for mailman id 574978;
 Wed, 02 Aug 2023 14:38: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzr-0006bO-QZ
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 473a13cb-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:42 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id EE2194EE073F;
 Wed,  2 Aug 2023 16:38:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 473a13cb-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:13 +0200
Message-Id: <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 2.1 states: "A project shall not contain unreachable code".

The functions
- machine_halt
- maybe_reboot
- machine_restart
are not supposed to return, hence the following break statement
is marked as intentionally unreachable with the ASSERT_UNREACHABLE()
macro to justify the violation of the rule.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/shutdown.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index a933ee001e..88f735a30e 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -38,39 +38,45 @@ void hwdom_shutdown(u8 reason)
         printk("Hardware Dom%u halted: halting machine\n",
                hardware_domain->domain_id);
         machine_halt();
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
 
     case SHUTDOWN_crash:
         debugger_trap_immediate();
         printk("Hardware Dom%u crashed: ", hardware_domain->domain_id);
         kexec_crash(CRASHREASON_HWDOM);
         maybe_reboot();
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
 
     case SHUTDOWN_reboot:
         printk("Hardware Dom%u shutdown: rebooting machine\n",
                hardware_domain->domain_id);
         machine_restart(0);
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
 
     case SHUTDOWN_watchdog:
         printk("Hardware Dom%u shutdown: watchdog rebooting machine\n",
                hardware_domain->domain_id);
         kexec_crash(CRASHREASON_WATCHDOG);
         machine_restart(0);
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
 
     case SHUTDOWN_soft_reset:
         printk("Hardware domain %d did unsupported soft reset, rebooting.\n",
                hardware_domain->domain_id);
         machine_restart(0);
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
 
     default:
         printk("Hardware Dom%u shutdown (unknown reason %u): ",
                hardware_domain->domain_id, reason);
         maybe_reboot();
-        break; /* not reached */
+        ASSERT_UNREACHABLE();
+        break;
     }
 }  
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574980.900702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzv-00009w-Bd; Wed, 02 Aug 2023 14:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574980.900702; Wed, 02 Aug 2023 14: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 1qRCzv-00007s-4D; Wed, 02 Aug 2023 14:38:47 +0000
Received: by outflank-mailman (input) for mailman id 574980;
 Wed, 02 Aug 2023 14:38:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzt-0006bO-Hd
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4884aa7a-3142-11ee-b260-6b7b168915f2;
 Wed, 02 Aug 2023 16:38:45 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 519DB4EE0746;
 Wed,  2 Aug 2023 16:38: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: 4884aa7a-3142-11ee-b260-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:16 +0200
Message-Id: <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The break statement after the return statement is definitely unreachable.
As such, an call to the ASSERT_UNREACHABLE() macro is added to signal
the intentionality of such construct.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The break in the clause is mandated by Required Rule 16.3, which is
not yet an accepted rule for Xen, but may be in the future.
---
 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 022f548652..fcee902b4e 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int cpu)
         /* fallthrough */
     case TASKLET_enqueued|TASKLET_scheduled:
         return true;
+        ASSERT_UNREACHABLE();
         break;
     case TASKLET_scheduled:
         clear_bit(_TASKLET_scheduled, tasklet_work);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574979.900708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzv-0000Fe-UB; Wed, 02 Aug 2023 14:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574979.900708; Wed, 02 Aug 2023 14: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 1qRCzv-0000Dx-Fv; Wed, 02 Aug 2023 14:38:47 +0000
Received: by outflank-mailman (input) for mailman id 574979;
 Wed, 02 Aug 2023 14:38: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=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzt-0007ap-7L
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47b43c9a-3142-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:38:43 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C89704EE0740;
 Wed,  2 Aug 2023 16:38: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: 47b43c9a-3142-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 08/11] xen: move declarations to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:14 +0200
Message-Id: <055dce166662183c68fb488fa7f7722a3a5fcd98.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the variable declarations are moved in the smallest enclosing
scope, near other variable definitions.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/compat/memory.c |  3 +--
 xen/common/domain.c        | 15 +++++++--------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/xen/common/compat/memory.c b/xen/common/compat/memory.c
index 8ca63ceda6..d4c4204119 100644
--- a/xen/common/compat/memory.c
+++ b/xen/common/compat/memory.c
@@ -85,13 +85,12 @@ int compat_memory_op(unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) compat)
             struct compat_mem_access_op mao;
             struct compat_mem_acquire_resource mar;
         } cmp;
+        xen_pfn_t *space;
 
         set_xen_guest_handle(nat.hnd, COMPAT_ARG_XLAT_VIRT_BASE);
         split = 0;
         switch ( op )
         {
-            xen_pfn_t *space;
-
         case XENMEM_increase_reservation:
         case XENMEM_decrease_reservation:
         case XENMEM_populate_physmap:
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 304aa04fa6..e3aeaf059d 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -401,6 +401,13 @@ static int domain_teardown(struct domain *d)
 {
     struct vcpu *v;
     int rc;
+    enum {
+        PROG_none,
+        PROG_gnttab_mappings,
+        PROG_vcpu_teardown,
+        PROG_arch_teardown,
+        PROG_done,
+    };
 
     BUG_ON(!d->is_dying);
 
@@ -435,14 +442,6 @@ static int domain_teardown(struct domain *d)
     case PROG_vcpu_ ## x:                       \
         v = d->teardown.vcpu
 
-        enum {
-            PROG_none,
-            PROG_gnttab_mappings,
-            PROG_vcpu_teardown,
-            PROG_arch_teardown,
-            PROG_done,
-        };
-
     case PROG_none:
         BUILD_BUG_ON(PROG_none != 0);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574981.900712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzw-0000Kk-8t; Wed, 02 Aug 2023 14:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574981.900712; Wed, 02 Aug 2023 14:38:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzv-0000J0-Sz; Wed, 02 Aug 2023 14:38:47 +0000
Received: by outflank-mailman (input) for mailman id 574981;
 Wed, 02 Aug 2023 14:38:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzt-0007ap-U6
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48220271-3142-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:38:44 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 95DD24EE0742;
 Wed,  2 Aug 2023 16:38: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: 48220271-3142-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 09/11] x86/xstate: moved BUILD_BUG_ON to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:15 +0200
Message-Id: <4cdcd0a9f99109463686420d6c3fc6681d215d99.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable declarations between a switch statement guard and before
any case label are unreachable code, and hence violate Rule 2.1:
"A project shall not contain unreachable code".

Therefore the variable declarations are moved in the smallest enclosing
scope, near other variable definitions.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/xstate.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 92496f3795..cb2b9e720c 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -396,9 +396,10 @@ void xrstor(struct vcpu *v, uint64_t mask)
      */
     for ( prev_faults = faults = 0; ; prev_faults = faults )
     {
+        BUILD_BUG_ON(sizeof(faults) != 4); /* Clang doesn't support %z in asm. */
+
         switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
         {
-            BUILD_BUG_ON(sizeof(faults) != 4); /* Clang doesn't support %z in asm. */
 #define _xrstor(insn) \
         asm volatile ( "1: .byte " insn "\n" \
                        "3:\n" \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:38:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.574982.900728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRCzx-0000y3-Vj; Wed, 02 Aug 2023 14:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 574982.900728; Wed, 02 Aug 2023 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 1qRCzx-0000vx-Kp; Wed, 02 Aug 2023 14:38:49 +0000
Received: by outflank-mailman (input) for mailman id 574982;
 Wed, 02 Aug 2023 14:38:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YIS5=DT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRCzv-0007ap-E4
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:38:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4900c027-3142-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:38:45 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id F2D134EE0747;
 Wed,  2 Aug 2023 16:38: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: 4900c027-3142-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [XEN PATCH 11/11] x86/mm: Add assertion to address MISRA C:2012 Rule 2.1
Date: Wed,  2 Aug 2023 16:38:17 +0200
Message-Id: <91b2f2c9e728c1f19f7baab301299d995a074279.1690985045.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1690985045.git.nicola.vetrini@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The ASSERT_UNREACHABLE() assertion is added before a definitely
unreachable return statement to address MISRA C:2012 Rule 2.1,
because the explicit return from a non-void function is a defensive
coding measure, and thus intended to be unreachable.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/mm.c         | 1 +
 xen/arch/x86/mm/p2m-pod.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index be2b10a391..ebd4f3827a 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4879,6 +4879,7 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         return subarch_memory_op(cmd, arg);
     }
 
+    ASSERT_UNREACHABLE();
     return 0;
 }
 
diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index 9969eb45fa..cd5501217f 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -1045,6 +1045,7 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, unsigned int count
     }
 
     return;
+    ASSERT_UNREACHABLE();
 
 out_unmap:
     /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:43:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575007.900744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD4B-0005kB-Ep; Wed, 02 Aug 2023 14:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575007.900744; Wed, 02 Aug 2023 14: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 1qRD4B-0005k4-CD; Wed, 02 Aug 2023 14:43:11 +0000
Received: by outflank-mailman (input) for mailman id 575007;
 Wed, 02 Aug 2023 14:43: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 1qRD4A-0005ju-Ha; Wed, 02 Aug 2023 14:43: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 1qRD4A-000480-Bl; Wed, 02 Aug 2023 14:43: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 1qRD49-0007at-QU; Wed, 02 Aug 2023 14:43:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRD49-0001EQ-Pq; Wed, 02 Aug 2023 14:43:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u2Piyq9SZRJ88ivwyRjoHVgJQI/01i9aGzgHVMqXNPo=; b=oie3te2etrlngw1ljuE8VxW5z7
	uLteLa4GnkPQUTmy2SosYxkbxg0Ri18n+f+c8ypAGqKXGW2G9Kpo2Rfi+WJ+JQ7gF5LgemHxN/LnH
	lXm0pKYR8Uc+/uBJ5poHUHXSwY96hrqEoUQMARKkQ1X/XSZr9HE46M5sCIh4EQi1AE1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182110-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182110: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:regression
    xen-4.17-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.17-testing:build-arm64-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.17-testing:build-arm64:hosts-allocate:starved:nonblocking
    xen-4.17-testing:build-arm64-pvops:hosts-allocate:starved:nonblocking
    xen-4.17-testing:build-arm64-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=3d0aa6f23d54a4d3c608010c58c1147a1500d865
X-Osstest-Versions-That:
    xen=c18b2dd93f396eadd116d0016cf7285523a13505
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 14:43:09 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-migrupgrade  11 xen-install/dst_host     fail REGR. vs. 182095

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182117-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182095
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182095
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182095
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182095
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182095
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182095
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw  1 build-check(1)               starved  n/a
 build-arm64-libvirt           1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl           1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  3 hosts-allocate               starved  n/a
 build-arm64                   2 hosts-allocate               starved  n/a
 build-arm64-pvops             2 hosts-allocate               starved  n/a
 build-arm64-xsm               2 hosts-allocate               starved  n/a
 test-armhf-armhf-libvirt      3 hosts-allocate               starved  n/a
 test-armhf-armhf-libvirt-qcow2  3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-vhd       3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl           3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-arndale   3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-credit1   3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-multivcpu  3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-rtds      3 hosts-allocate               starved  n/a
 test-armhf-armhf-xl-credit2   3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  3d0aa6f23d54a4d3c608010c58c1147a1500d865
baseline version:
 xen                  c18b2dd93f396eadd116d0016cf7285523a13505

Last test of basis   182095  2023-07-31 13:07:46 Z    2 days
Testing same since   182110  2023-08-02 06:56:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Luca Fancellu <luca.fancellu@arm.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 3d0aa6f23d54a4d3c608010c58c1147a1500d865
Author: Luca Fancellu <luca.fancellu@arm.com>
Date:   Mon Jul 17 13:25:46 2023 +0100

    xen/arm: Add Cortex-A77 erratum 1508412 handling
    
    Cortex-A77 cores (r0p0, r1p0) could deadlock on a sequence of a
    store-exclusive or read of PAR_EL1 and a load with device or non-cacheable
    memory attributes.
    A workaround is available, but it depends on a firmware counterpart.
    
    The proposed workaround from the errata document is to modify the software
    running at EL1 and above to include a DMB SY before and after accessing
    PAR_EL1.
    
    In conjunction to the above, the firmware needs to use a specific write
    sequence to several IMPLEMENTATION DEFINED registers to have the hardware
    insert a DMB SY after all load-exclusive and store-exclusive instructions.
    
    Apply the workaround to Xen where PAR_EL1 is read, implementing an helper
    function to do that.
    Since Xen can be interrupted by irqs in any moment, add a barrier on
    entry/exit when we are running on the affected cores.
    
    A guest without the workaround can deadlock the system, so warn the users
    of Xen with the above type of cores to use only trusted guests, by
    printing a message on Xen startup.
    
    This is XSA-436 / CVE-2023-34320.
    
    Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
    [stefano: add XSA-436 to commit message]
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:43:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575012.900753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD4g-0006Gf-S5; Wed, 02 Aug 2023 14:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575012.900753; Wed, 02 Aug 2023 14:43:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD4g-0006GY-PD; Wed, 02 Aug 2023 14:43:42 +0000
Received: by outflank-mailman (input) for mailman id 575012;
 Wed, 02 Aug 2023 14:43: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=gGWG=DT=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRD4f-00067Z-Cf
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:43:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f87db47f-3142-11ee-b261-6b7b168915f2;
 Wed, 02 Aug 2023 16:43:40 +0200 (CEST)
Received: from DUZPR01CA0208.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b6::6) by PAVPR08MB9187.eurprd08.prod.outlook.com
 (2603:10a6:102:30b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 14:43:06 +0000
Received: from DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b6:cafe::1f) by DUZPR01CA0208.outlook.office365.com
 (2603:10a6:10:4b6::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Wed, 2 Aug 2023 14:43:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT060.mail.protection.outlook.com (100.127.142.238) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Wed, 2 Aug 2023 14:43:06 +0000
Received: ("Tessian outbound e1fdbe8a48d3:v145");
 Wed, 02 Aug 2023 14:43:06 +0000
Received: from e1c22c1a775c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 48748ED1-619D-419B-B29F-09B0C87E4012.1; 
 Wed, 02 Aug 2023 14:42:56 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e1c22c1a775c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 02 Aug 2023 14:42:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DBBPR08MB6298.eurprd08.prod.outlook.com (2603:10a6:10:1f7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 14:42:53 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 14:42:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f87db47f-3142-11ee-b261-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x8rPRUL91NEXqFBgvQIvumIDzFRaE95Z0bjyHtDytK4=;
 b=qAvfpETCC3pYqW8j2+lV6tNZB+ZkrmUxbbjTvCne+gpBwDuhe5EO2lSs/+Zo5tZFrP3r+iMlal+mxhrPmgJetUkUZR1tNli4k9c+cbnA2BeDdAZPy9elXtzeuinNRfvogOZkAiC3icUjUUjq3oU22z/4ufVi3i6DQGRgDGK1+pk=
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: 5501f7eec9eea79d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oejz501g3Feek8NzGhNDM3XNvWeVf79TlZHXH1HfZtJXQ1LUwj1FpcMnGFfoLbYwnJrHQ1Z29TF515oA2cvB0yH4zX2bQYlvfPUdt8hbKfgjmPvKMx2C8OZUSkxbGf6VlRiJQHxg36wm0oj0ld64535PAdcOmQAAyOAPBwY/UfJuEEGKbKN1bmHBacSHqp7p44m7Agix/KM6Wgsj62rtJHyKXTcmnqFLN0arqD4p+taQY1LTKIA0ya020GgKwYNcxPGyr2UqVgrZMFARvF1lpFS8bViGGI5MA/RVrt1VFM0pMd4m2zo/Z3MlEoh3YCXb84Pore1eijAGlgNjVtFcKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x8rPRUL91NEXqFBgvQIvumIDzFRaE95Z0bjyHtDytK4=;
 b=jN05A8FeeIKvajFMWYBgBe3J0c6rSD8r6PrcgVBEg23E6mV9p37X/JP0JroZLS7+pdGWrxAZth34ppN4zyFYoekV2hJU7lPYvA1XtMC1MITz/wZnH1ZQtrFpKUepIsrGfUQtqg6hlfZRMp/8WrloopQVF99u9UQFTRa4ZLtExK/lAcIeM7++1O+hdu5zvETL8fDBSUS0D3wMegGoXoQ6vkft54+aWZXhVXb4trireTUoqlG4XKKKahSfBXaOKcGFKIFExnTmbjJNrpLGwUN/F0EKW5zERb7cFF8OlYAcM8NwfiKrMia2hk3iXUJxOSRPV91t2mxITEugr4w72zFg7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=x8rPRUL91NEXqFBgvQIvumIDzFRaE95Z0bjyHtDytK4=;
 b=qAvfpETCC3pYqW8j2+lV6tNZB+ZkrmUxbbjTvCne+gpBwDuhe5EO2lSs/+Zo5tZFrP3r+iMlal+mxhrPmgJetUkUZR1tNli4k9c+cbnA2BeDdAZPy9elXtzeuinNRfvogOZkAiC3icUjUUjq3oU22z/4ufVi3i6DQGRgDGK1+pk=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index: AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQA=
Date: Wed, 2 Aug 2023 14:42:53 +0000
Message-ID: <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
In-Reply-To: <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBBPR08MB6298:EE_|DBAEUR03FT060:EE_|PAVPR08MB9187:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e5128f7-8698-4488-9779-08db9366c8cc
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:
 Fh9xQdUu/4BtIn2iFG5OTuWMlD5Ge/pO7jN1+kmOpZGN/KKoSdMXO6Ou9Jx2kXTuqzI8JtOcYmDVFJoOJ+h0Naq7B8xgwtOdjg0pX4sFG0LtfDa/+mNbNyyRp+DovvSsSsS7J4LCcdrrIUMS9AeW1ME/QBlkkbu9X2R8mbVT/mUd83sSJ6cHBsbwLB6LoA2HDUT68T9tOuSLx4MsivnwDSTvtwp7pmTlr79lZa/wuY+SmU9NnSs5cqGijDcC9X6y+1FQ3mFHiDJPkdZ5aojxGEnxYEVdPSGzJf56xYBe/kwc9jPa7INAb/BSY1tV7FzIJWjrHx4/3h0yFf5y7pjMzEDwhb6bgWyQ72ZA43NnqV1PY+6SIn/5cRxXzhKojHUed46GYso0QASuOzTZUZA3+mOkYBNMqw6htc3cp4HRbiBiQNKry5zxI6bwbAOEtzTpdRAu3Gn6O5/+W5g6BbsnZP/bDihaZ/Ul1BlnzAPk07saHH5JQA2wenpGp5J2K60yRCCGvXsOVRJjZKI5aax/XFqBMggOA52JukHwPEFEE8riHcG0D5AW3/GegXK0vOig9iTGrTqt2yOpaoWYJtIz3Zl/OZuOt7YGL9ApHYe/23M1XDyMSOUcBKoXNMX8VMl9maHLBcicffz+vWfpPXYewg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(366004)(136003)(346002)(396003)(451199021)(66899021)(2616005)(5660300002)(36756003)(38070700005)(122000001)(38100700002)(2906002)(33656002)(83380400001)(478600001)(26005)(186003)(53546011)(6506007)(8936002)(8676002)(6512007)(41300700001)(71200400001)(6486002)(86362001)(54906003)(6916009)(66946007)(66556008)(66476007)(91956017)(76116006)(66446008)(4326008)(64756008)(316002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <BCB3817A0A40584688E7131B927422D3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6298
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a46ba5e4-2990-41e7-c7ad-08db9366c0ee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x0NfPCacsR6Ht8no/D1FNp4n71owBR+mWru4B0Ftzv7/J1eGCbv13+3kSKDkMOddvC/+E9b26G19/Pi7AnigcT427MNehRoezzfWSgp4gBmgIeJ/vncWCcHxXFGq+3fpGz1gwNl+5SBoXuwIvdNegAyIObwzbgVOzaHXFTB28OMq7EFDamKyYrMTXVZZBjKERwBMVnJqdOxLzN4gP7NlZ0O697WPAa9QRrKU1X+SZflhL0CVRlvSKD2jjZZl4lRct7yMzRNylr7pWhKDEfxvt6NqHNl2T/O5LI+RPASBwySUgdhhhT6AU/2mEj0XypvbtigRAVrjb7LzXClPlVduOXdEAUzcP1xk6fJfJCu7tbuox5w8MUIBqn5xEp+r0HxEvbMqqFXSE8G755syDJOAFdCfhJ6t2SZhNtyowfvBT9NE1HuUkojeNNEctW73nDUF5+bbaa9LZwNQ20UJ4lctVGh9sk7gppxM5DFRQN4eC3GaZns5RJj8LwV8uO+CG8IBkrDnCfMNKSNWvpCdxdUA5zdOUIGJZCZh9m+q85i8kjp56Hc4CEkn24i1ZzjfzjHmscXVYCdr3TxPz0O4zYKgrqqyQxUNh0c0BJzv4qbCCGWwoLJgMx4Pq+Mw2pMUw54dO8aPt/dukjRliWCvdPEnhaBRW0kV29L1baFqXAEH32CNdLpPNDbhESfezcqSUyVd0NIkf3LDyD6Dd097IXIP6Y6yZi9yzbT52tWb6/3X5eRM4G9k3BaS5ukWceRuJ9Ru
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39850400004)(346002)(396003)(136003)(376002)(82310400008)(451199021)(40470700004)(36840700001)(46966006)(6862004)(8676002)(5660300002)(41300700001)(107886003)(66899021)(2906002)(8936002)(83380400001)(47076005)(36860700001)(40460700003)(2616005)(40480700001)(186003)(336012)(86362001)(81166007)(478600001)(54906003)(316002)(53546011)(82740400003)(26005)(6506007)(33656002)(356005)(70586007)(70206006)(6486002)(4326008)(6512007)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 14:43:06.7699
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e5128f7-8698-4488-9779-08db9366c8cc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9187

DQoNCj4gT24gMiBBdWcgMjAyMywgYXQgMTU6MjYsIE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVs
QGFtZC5jb20+IHdyb3RlOg0KPiANCj4gSGkgTHVjYSwNCj4gDQo+IE9uIDAyLzA4LzIwMjMgMTU6
NTMsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiANCj4+IA0KPj4gSW50cm9kdWNlIEtjb25maWcg
R0lDVjIgdG8gYmUgYWJsZSB0byBjb21waWxlIHRoZSBHSUN2MiBkcml2ZXIgb25seQ0KPj4gd2hl
biBuZWVkZWQsIHRoZSBvcHRpb24gaXMgYWN0aXZlIGJ5IGRlZmF1bHQuDQo+PiANCj4+IEludHJv
ZHVjZSBLY29uZmlnIFZHSUNWMiB0aGF0IGRlcGVuZHMgb24gR0lDVjIgb3IgR0lDVjMgYW5kIGNv
bXBpbGVzDQo+PiB0aGUgR0lDdjIgZW11bGF0aW9uIGZvciBndWVzdHMsIGl0IGlzIHJlcXVpcmVk
IG9ubHkgd2hlbiB1c2luZyBHSUNWMg0KPj4gZHJpdmVyLCBvdGhlcndpc2UgdXNpbmcgR0lDVjMg
aXQgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSBkZXNlbGVjdGVkDQo+PiBpZiB0aGUgdXNlciBkb2Vz
bid0IHdhbnQgdG8gb2ZmZXIgdGhlIHZHSUN2MiBpbnRlcmZhY2UgdG8gZ3Vlc3RzIG9yDQo+PiBt
YXliZSBpdHMgR0lDdjMgaGFyZHdhcmUgY2FuJ3Qgb2ZmZXIgdGhlIEdJQ3YyIGNvbXBhdGlibGUg
bW9kZS4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxs
dUBhcm0uY29tPg0KPj4gLS0tDQo+PiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgfCAxMyAr
KysrKysrKysrKysrDQo+PiB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgfCAgNCArKy0tDQo+
PiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgfCAgNCArKysrDQo+PiB4ZW4vYXJjaC9hcm0v
Z2ljLXYzLmMgICAgICAgfCAgNCArKysrDQo+PiB4ZW4vYXJjaC9hcm0vdmdpYy5jICAgICAgICAg
fCAgMiArKw0KPj4gNSBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u
cygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJj
aC9hcm0vS2NvbmZpZw0KPj4gaW5kZXggZmQ1N2E4MmRkMjg0Li5kYzcwMmYwOGFjZTcgMTAwNjQ0
DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KPj4gKysrIGIveGVuL2FyY2gvYXJtL0tj
b25maWcNCj4+IEBAIC03OCw2ICs3OCwxNCBAQCBjb25maWcgQVJNX0VGSQ0KPj4gICAgICAgICAg
VUVGSSBmaXJtd2FyZS4gQSBVRUZJIHN0dWIgaXMgcHJvdmlkZWQgdG8gYWxsb3cgWGVuIHRvDQo+
PiAgICAgICAgICBiZSBib290ZWQgYXMgYW4gRUZJIGFwcGxpY2F0aW9uLg0KPj4gDQo+PiArY29u
ZmlnIEdJQ1YyDQo+IFNvLCBub3cgaXQgd291bGQgYmUgcG9zc2libGUgdG8gZGVzZWxlY3QgYm90
aCBHSUMgZHJpdmVycyBhbmQgWGVuIHdvdWxkIG5vdCBjb21wbGFpbiB3aGVuIGJ1aWxkaW5nLg0K
PiBUaGlzIG1lYW5zIHRoYXQgWGVuIHdvdWxkIGZhaWwgb24gYm9vdCB3aXRob3V0IGFueSBtZXNz
YWdlIGFzIGl0IGhhcHBlbnMgYmVmb3JlIHNlcmlhbCBkcml2ZXIgaW5pdGlhbGl6YXRpb24uDQo+
IFNpbmNlIGhhdmluZyBHSUMgZHJpdmVyIGJ1aWx0IGluIGlzIGEgbXVzdC1oYXZlIEkgdGhpbmsg
d2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhdCBsZWFzdCBvbmUgaXMgZW5hYmxlZC4NCg0KSGkg
TWljaGFsLA0KDQpJIHRyaWVkIGFuZCBJIGhhZDoNCg0KU3RhcnRpbmcga2VybmVsIC4uLg0KDQot
IFVBUlQgZW5hYmxlZCAtDQotIEJvb3QgQ1BVIGJvb3RpbmcgLQ0KLSBDdXJyZW50IEVMIDAwMDAw
MDAwMDAwMDAwMDggLQ0KLSBJbml0aWFsaXplIENQVSAtDQotIFR1cm5pbmcgb24gcGFnaW5nIC0N
Ci0gWmVybyBCU1MgLQ0KLSBSZWFkeSAtDQooWEVOKSBDaGVja2luZyBmb3IgaW5pdHJkIGluIC9j
aG9zZW4NCihYRU4pIFJBTTogMDAwMDAwMDA4MDAwMDAwMCAtIDAwMDAwMDAwZmVmZmZmZmYNCihY
RU4pIFJBTTogMDAwMDAwMDg4MDAwMDAwMCAtIDAwMDAwMDA4ZmZmZmZmZmYNCihYRU4pDQooWEVO
KSBNT0RVTEVbMF06IDAwMDAwMDAwODQwMDAwMDAgLSAwMDAwMDAwMDg0MTVkMDAwIFhlbg0KKFhF
TikgTU9EVUxFWzFdOiAwMDAwMDAwMGZkNmM1MDAwIC0gMDAwMDAwMDBmZDZjODAwMCBEZXZpY2Ug
VHJlZQ0KKFhFTikgTU9EVUxFWzJdOiAwMDAwMDAwMDgwMDgwMDAwIC0gMDAwMDAwMDA4MTRmMWEw
MCBLZXJuZWwNCihYRU4pICBSRVNWRFswXTogMDAwMDAwMDA4MDAwMDAwMCAtIDAwMDAwMDAwODAw
MTAwMDANCihYRU4pICBSRVNWRFsxXTogMDAwMDAwMDAxODAwMDAwMCAtIDAwMDAwMDAwMTg3ZmZm
ZmYNCihYRU4pDQooWEVOKQ0KKFhFTikgQ29tbWFuZCBsaW5lOiBub3JlYm9vdCBkb20wX21lbT0x
MDI0TSBjb25zb2xlPWR0dWFydCBkdHVhcnQ9c2VyaWFsMCBib290c2NydWI9MA0KKFhFTikgUEZO
IGNvbXByZXNzaW9uIG9uIGJpdHMgMjAuLi4yMg0KKFhFTikgRG9tYWluIGhlYXAgaW5pdGlhbGlz
ZWQNCihYRU4pIEJvb3RpbmcgdXNpbmcgRGV2aWNlIFRyZWUNCihYRU4pIFBsYXRmb3JtOiBHZW5l
cmljIFN5c3RlbQ0KKFhFTikNCihYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioNCihYRU4pIFBhbmljIG9uIENQVSAwOg0KKFhFTikgVW5hYmxlIHRvIGZpbmQgY29t
cGF0aWJsZSBHSUMgaW4gdGhlIGRldmljZSB0cmVlDQooWEVOKSAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqDQooWEVOKQ0KKFhFTikgTWFudWFsIHJlc2V0IHJlcXVpcmVk
ICgnbm9yZWJvb3QnIHNwZWNpZmllZCkNCg0KV291bGRu4oCZdCBiZSBlbm91Z2ggdG8gc3VnZ2Vz
dCB0aGUgdXNlciB0aGF0IGF0IGxlYXN0IG9uZSBHSUMgbmVlZHMgdG8gYmUgc2VsZWN0ZWQ/IElu
IHRoZSBoZWxwIGl0DQphbHNvIHN0YXRlcyDigJxpZiB1bnN1cmUsIHNheSBZIg0KDQo+IA0KPiB+
TWljaGFsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:44:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:44:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575016.900764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD5Z-0006rh-5J; Wed, 02 Aug 2023 14:44:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575016.900764; Wed, 02 Aug 2023 14:44: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 1qRD5Z-0006rZ-2P; Wed, 02 Aug 2023 14:44:37 +0000
Received: by outflank-mailman (input) for mailman id 575016;
 Wed, 02 Aug 2023 14:44: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=/vke=DT=citrix.com=prvs=571ca8ae6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRD5Y-0006bA-3D
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:44:36 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16f7db42-3143-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 16:44:33 +0200 (CEST)
Received: from mail-co1nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Aug 2023 10:44:29 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5032.namprd03.prod.outlook.com (2603:10b6:a03:1eb::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 14:44:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Wed, 2 Aug 2023
 14:44: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: 16f7db42-3143-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1690987472;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UNeF6WAyrYDXqzjP+1UB8Hs+VZNNbhNjmB9zY5OzRkM=;
  b=WsIjBmbi9zkBBkdwmXMBU7fL2x4JlLyVPZuXrK8F/YG8+MWI8bGdY4/e
   yOT3nmB8WTLT9kb1HkBQj5JRkRzlUT9wpU+DtrlORrL79FtAjuV6pfnGl
   dVhmFWgYSZkppqFHPmARQ3OjisZaWAPK/manIw5PWfAAfYtJjCahsgtuY
   c=;
X-IronPort-RemoteIP: 104.47.56.177
X-IronPort-MID: 118696024
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7mdw1a7BCUB3A50UuvNXGwxRtILGchMFZxGqfqrLsTDasY5as4F+v
 mQWWWiBO/6KYmXyet9xbd6x9U0FvsTUxoRkSQZq+Xo2Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAT5geH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 KxGKA5KUUu63f+Snpnqdtk32el5I5y+VG8fkikIITDxK98DGMmGaIKToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Okkooj+eF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtLROPpqKYw3DV/wEQuNzAXa1GDhcKX0FC9S+hyK
 H0p2gUH+P1aGEuDC4OVsweDiHiFtRkYUpxOHvEg6QeM4qDJ7B2UAGdCRTlEAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdptj0EjH5x
 3aNtjozg50aiMJN3KK+lXjXjjStr97TRwE07wneXWW4xgp8aMiuYInAwVHK5PAGL5ucR0PHv
 HEAl8WExOkLAdeGkynlaO4KGqq04+qENjL0i0NgBJQn+HKm/HvLVYJa7Sx6JUxpGt0ZYjKva
 0jW0StO4LdDMX3sarV4C79dEOwvxKnkUN/iD/bda4MXZoArLVDYuiZzeUSXwmbh1lA2lr0yM
 ouadsDqCmsGDaNgz3y9QOJ1PaIX+x3SDFj7HfjTpylLG5LHDJJJYd/p6GezU90=
IronPort-HdrOrdr: A9a23:841YB6lG9Ntq75cZ07tXrgrCQ6zpDfLm3DAbv31ZSRFFG/Fwz/
 re5cjy1XfP6Ar5K0tQ4exoWZPwPk80kKQf3WB/B8bGYOCLggWVxcRZnO3fKl7balPDH4xmpM
 NdmsFFYbWdYmSSz/yKhzVQeOxM/DDzytHLuQ6o9QYPcegFUcBdBgFCYDpzWXcGPjWuTaBJaa
 a0145iqz28eXIRdK2AdwI4tsb41qH2qK4=
X-Talos-CUID: =?us-ascii?q?9a23=3AzI1BymgRaqiiIDrTAjLuTdNwEzJuUy2DzEmXHBS?=
 =?us-ascii?q?BU3tNFpbEdW/Lp44+nJ87?=
X-Talos-MUID: 9a23:vOcqBQgc4cRq3e5gqioSTsMpCfhF4pqkMGQ2v88YuNm+GC9BBheypWHi
X-IronPort-AV: E=Sophos;i="6.01,249,1684814400"; 
   d="scan'208";a="118696024"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m0KQMbrulpcy1MazCf14/3J3AkzNH2aInI4ul3ifMNIgLBEIQ9Ptm/ZxAjTO4PgoBSqyPL/V/zTKb8azuWbW8R4vHk+lun9tPfSnKcg+hmn7g3oUPxlPjRnY2tIfyTRYFIdJ06tB8YflRyziqkNDZlSU3xWpdKaV/9TUlIaDEJidD1WPPmucq/Q8k+SL6yVN/X/HFbGq573spml6Vjd8LiQTb9xD9g4x+5WfHBbNGbUBAISs2r7uIytSocepLmZvWmyO7kYw4aZ1LOZYfglwEJtX+D+5T1p0a1kJZGgeEQskcfkwCkaQGBvt18svvuH3synS3HcFRxno9eqTFqDA8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UhKHw/piiMVIfAz6pOjG7eVxMM10gNolgIJmF2iIWvw=;
 b=evfeR9ihuZYvOin/rQ5nCXBh20HrspVvKG2bS1/xVWjbXCPC3FGVvm1wRYDqiETIwvz9Q7RQAYMe+egjLXyUQTWRq4C402TkODg194QqGo82xInsE+1SvVuOmPmhqR5envqQqzHNVFSVEAWwOcm1KNqXEQYlOkRjhAvNQQsvoCMBQfnuRwKsHLj9l7lsFf+AOtT+3e0/1900+a7ZuL9gGAH18viuwr/o2KSKPZ9uTHtOjN5Gzw19e39dSaSa+dkQHz60BhBahtK0qoED+TbMHYqjzAwpDX9AuiWeMHr6cMOaT4kC5UNgxQxjfKLoCOJTwUVo+CrGAja+eYxXWj3LSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UhKHw/piiMVIfAz6pOjG7eVxMM10gNolgIJmF2iIWvw=;
 b=L8rPWGHY50LBfx5QSiXmOmw2iifkdgyN2+8A181tXLwfHRgVqqMhOB+quUDDWyb2Ab4qpuqyW/aCuQAQZWRM9KPSlCvs3qLWGOOQg9fi2B6lM/OXU2k+laWJfRg+zfcWMBoO04dTEC+oGyqyvUTFMF/PMKE1WC46lXZb+H3fIM8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <22224dbf-352f-710c-7708-bc1ac0bb5803@citrix.com>
Date: Wed, 2 Aug 2023 15:44:13 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
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,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
In-Reply-To: <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0114.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5032:EE_
X-MS-Office365-Filtering-Correlation-Id: 4304b82f-1595-4697-f98c-08db9366f4a3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C2/1RTZXTuv/bnLonxidDTMS/klPvv0bjF2N3StoYOHoTwgC8BVx3kqRROYRwioccGaH8eoi3Jbe5l2QELHhpR3dP30gjkItcd8UMxGFk/6P8zZO96vS6GNiWyqx+qblC/f3OV3vXvws/2CivQSZNYPqChXgX53S8KY3ulO6w+ND+TnnonNzlXtFldR4/bfGYEcAZlACZuXMilVxB4iuZ/9icueZ2fCiA53zAcXmAFvteAHtg1TjwdkbSD3fyxxX2sKMFKZfKK2biuSkLA9kIOFkwVTwecA/nYthTnykJcA7vq8yy3DlZiN6xSOPblboriOtsoVAdz0DEK53mcMrXnBzOIHCPbgxpjAdChjU0KYMr84+cEf2xxfLvRvYLaeQmxnEaR49bBh6JiZgXHR27P5Wk8Oofi23XgIcTZH3BPSdLGW79SXuEi8QCu2xYNUjl4j0Fr2UMkN2R856ozf1KT1H/HWiSeI8HUl3GYZwhkmDWgzGFb2NpVkyep45QEHL6y5+cN6y2ShKarjliK0U9Wyj9M/zq+fNtDZCwjSprphi+ySlhHlIKl5ijDmU0xKuDb5Ecwnugap/mzJ9/QFpxY7YSRnZ4NO1dAEsoJVWQZCX272S2eMpif9SVFO+wW92IBns5WfGB2eiHL0kqjnJkg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(8936002)(8676002)(5660300002)(26005)(41300700001)(2906002)(31686004)(7416002)(36756003)(2616005)(478600001)(54906003)(38100700002)(316002)(86362001)(6506007)(53546011)(6486002)(66946007)(66556008)(66476007)(6666004)(31696002)(82960400001)(4326008)(186003)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUozdjdoVFJPSWZpK2pEWXhVMzFhdmFVWlhvYTdjRFFEdXNrZVpGd2JzZEtV?=
 =?utf-8?B?YlJvWTdSS2VCdWNRbnpEeEFSOGZrZ1I3WjZNQlVzN0M4QXkxT29BT0ZXblFB?=
 =?utf-8?B?eEJ5ZHRVeUNpUG0wcExMNlN1UjczV3NTZlJUK3lKcklQdVF4blFjL1Q2VTY2?=
 =?utf-8?B?NFB5ZGNSbVl6TDNWSWV6RXNNUjRsM1dZdjhhM2pjc2N2aWp2N2ZkMzBsUGFD?=
 =?utf-8?B?R1BCaDN3OFhMMGVVZ1N4Z0l1ZFphWGZ2WXZBanRUQ2RKZTZ5bzZhNG9HbS9D?=
 =?utf-8?B?QkhWUitCUS9FZEE2b2VWN2ErNW1RMEZ0ZjhZeDNiQUpiTVFjNEx2RURBeEY3?=
 =?utf-8?B?WjhON1VqQTVwUmtML1VWNGRhMlVTREJ2SXIyd1VGOGtGVkN2MzdqQXN3bzM4?=
 =?utf-8?B?cUYrUU1KTGNuL1BwQWxheUMvazNtMnJrS0RlUHBqSkFmaEhJT3Y0VldQcHpv?=
 =?utf-8?B?OHBocDNxWnNaK1RBc20rNnM2MDJjMnhrRWpkT09hWlF2SlQ1aFphVDAwSzVl?=
 =?utf-8?B?Y2hYK3JhVVhRUjJFcEdRdDhIS3hMd0ozRkxmRkdKUm9Rdm1UdGxJTGI4azdZ?=
 =?utf-8?B?U08wclJqcEcwa1ZyU1Zydm1SMkJ0YmNWdmY1UVlXSEpkT1A3alBOMEIyb2dN?=
 =?utf-8?B?NCtCUC9rQmU2SlVQTE9oNzl2K3ZXaGVHVEZxeEVUTEhaZDZMaFl5eGpYVFRF?=
 =?utf-8?B?NWJRdXBUSlZteEtkUkdueXEvTjhqS3lQNkEweWNKQW50eWpGa1d2MUxtREhp?=
 =?utf-8?B?VndsVU0zY1Q3M0RDclE0OTNrcTVqaDBQajdNUlpLMzVCcVRDQXdjZ3FLT0cr?=
 =?utf-8?B?SWdWMStMQ1lPRyszYmhoYjM0T1ltQk9IOHFtZ29vU3VzaFFSL3BYRlpIemFK?=
 =?utf-8?B?U0J5TFJWNmdJcUVuSW05Y05nd1dmcmNyZzUydDZIaHcxNnRMVXFoTFNJeEtw?=
 =?utf-8?B?UzdTSjVpaGZTYW5hZGZwblJkVTluK3ZaaDBzQnN4bDB4dFk0LzEveUpGaVVn?=
 =?utf-8?B?NHBQeVpNK3lGRVNnMS9OUG5pRldFaGg1d0Qwd2E4b2ttTEFmVE1NK0Yrc0s5?=
 =?utf-8?B?T1YwQ3BsL1BkNHBjV096MGpsUnF5dytDWmlFc1JZMldjRWpWRG9LbVdlVFBG?=
 =?utf-8?B?Ry9ZTkE2My9RSi9hb3hwMGpJaG5mcytVaEF3aGNpVjJGbm5JR3p1OGFlbi9k?=
 =?utf-8?B?cHBRMGpaUndzWC9zR2hvNW5kbW5HYVlXR1ZUaE5PckEwUkg3emlZdEpYYWcy?=
 =?utf-8?B?UmJ1WW1SN2drMFZhL0Q1c0hRM3kvdkgrYURkQ3JEak44alduN0ZhbC9xeXIv?=
 =?utf-8?B?Unc5Mkg3YmE3K2dNUHdoWkdtZUpFY2RZSXhOM3ZnRmM2cE1kZU9VZ3JmaFlX?=
 =?utf-8?B?ait4NW9uM2JLcXZCNGk1MVFXa3hHdmQrK1BLMWdMRHdKcWVONGFaci9GY01z?=
 =?utf-8?B?SUxQRTZXK0s4dlFMUVc3WU1seEkyVGI0dGdkaXB5d0NSK1hJbXEzVDUzRFVr?=
 =?utf-8?B?Y3E4TUY4NjdscjVwRldZTENsMzRpMk1KTnIrbHExYjliVkFhNmZyUkhLbW9P?=
 =?utf-8?B?QlVkalJzNTE1ZGFXY2s2MlR4blZOcGFSNEhZRm53eUhOSENYVndQMzFiaC9E?=
 =?utf-8?B?bmdxdm5DbTk2RlA3TW9NQXorL3hvTExDSXFNUjVJZ0hMM1J2NlR5dEhOYVpn?=
 =?utf-8?B?cUdUQk9TSS9jRDNlNG9qMDB3NjNaelArTTNSZUpMa3JCdFBHRXFRRzhUNlZW?=
 =?utf-8?B?U1h0RkNsTDR0aWxRQVpJQ0JQV2ppcVZ2a2ZUc21hNHg4UUxzR01nTk1BUmFD?=
 =?utf-8?B?clNWaC9Jblh1MW1NQkdva0FXME1zUWZDdXhFMFEzckFCSXFkbVUra0kyQllW?=
 =?utf-8?B?MXJ5dGI1ajBIOGlzNVVreTVCT3RWSGNLMitHOHRKbytxSXp3VVpMd3hPMTZ3?=
 =?utf-8?B?Z1FpK3FRVkgrWUpkUHRTRmR5RFBBUmJUVW95Y2UyT2h0YytiYjJSYnlnY0pR?=
 =?utf-8?B?MDgvbzRYc3lZanpHVXRoMGFQT1BLVStpWnYxUlplOG1QdGgwYzR3cU1UZW1x?=
 =?utf-8?B?VU5jQmFJZzgzOXlybVZOZHlZRWNrWE1tMGVPcUtGKytvT3ZvRzVodE80QnZO?=
 =?utf-8?B?SlJFRjE2QnNPS3VnNlk1dHRnb1BmbHlTbis4cDZoMGJBWjFYaU92ZXJ5Z00w?=
 =?utf-8?B?THc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	5KKC7Y4RS8VnXkOnhA2SMQ7UYg3ljSO/QS9L7YAlpb0b9L0PlyThXQKu2hbgpvq6jtQA0UiRhpqhVzfPJr1+PeaIbb/C2uitdgsuXBZXZVmT6XVKjAPd8ncGrJ1fs8bpbQg6Gsdjpc/UJgZ6AMRfIbzCt4g4ZCUPXM/AX7Pi5DzTt1iqBIzw0Iu18YRB997XDApKOuJZtaL0KkQ6km5bdgHwg7QPdf6br5Zwrq2vz3wUMy1vnS5lTgH40/ap0y17LqNOG8rQtcWZ8r2/dRJkXahQq5k5j3RNZL2yH9X9ehxfaGjMy7xkCdY9zB3TyobiRaFXjk8LIzDexlwwE5FbnYjochRu6jZqkLHzu83Y56D6F5FDl5mvxpepAduHR1IUkurp/TBfqi/SadKnAu8Svp1NNjnSRJTme2ESCUUWhkmRxZw+LoKWBGRONSERRfjP1XrQviU5skK1wCuy0toYkSYqTZ0ZcviYQP37rTfX73ENGdObIGeF5m0JdzL7HVWuigli+J/Y4qRxzL7Oj09/BXDdz8sleaE5+RE4IIglFG9szK9uORFl4NKVbl6mC/wVTqsKqJRVUeukjcsYbD9U+ugkSBiM0oWv3JHv0qUJ0ysxs9Hc9kw6cfBHjL/cID8BoUE7Iz6CjdIG25N/LhoXONglVaZPhdqifjdbrvHjf5zj92gbF8dsQ2080kjHoxACzgJ30BXnxVm4wCvbiSfu+rMdZ5qPInOt9s+3F/a7QtBDfa04cT+I/L3HANll9gVRre++Xj6qUwYQyBCiymLsPwle4m8Cw5fZUkmB3Xj/pQMxX0M/bkiqco7YFxQGhBMi+vb+B0jQMKycnf+dwecitzF2eMGj7iZoqM/cWDdHlpmwh5kYzVMgDdK8DIy1GBtSFg1lps2zQwDZWrVhWPby+Q==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4304b82f-1595-4697-f98c-08db9366f4a3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 14:44:20.5895
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GO3n/EOvsxjzAEYhKKGJi/uZG0UNyUd1ftDF3LmdC9ENkajHF8RWz616akbK6OmnPsJrzbrvtIeERDS7qZE3rBLxQ7WutaWDDj0u/7SPmRo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5032

On 02/08/2023 3:38 pm, Nicola Vetrini wrote:
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 5f66c2ae33..015f7b14ab 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -2268,6 +2268,17 @@ int domain_relinquish_resources(struct domain *d)
>  {
>      int ret;
>      struct vcpu *v;
> +    enum {
> +        PROG_iommu_pagetables = 1,
> +        PROG_shared,
> +        PROG_paging,
> +        PROG_vcpu_pagetables,
> +        PROG_xen,
> +        PROG_l4,
> +        PROG_l3,
> +        PROG_l2,
> +        PROG_done,
> +    };
>  
>      BUG_ON(!cpumask_empty(d->dirty_cpumask));
>  
> @@ -2291,18 +2302,6 @@ int domain_relinquish_resources(struct domain *d)
>  #define PROGRESS(x)                                                     \
>          d->arch.rel_priv = PROG_ ## x; /* Fallthrough */ case PROG_ ## x
>  
> -        enum {
> -            PROG_iommu_pagetables = 1,
> -            PROG_shared,
> -            PROG_paging,
> -            PROG_vcpu_pagetables,
> -            PROG_xen,
> -            PROG_l4,
> -            PROG_l3,
> -            PROG_l2,
> -            PROG_done,
> -        };
> -
>      case 0:
>          ret = pci_release_devices(d);
>          if ( ret )

Why does this get moved?Â  There's no code (reachable or unreachable) in
there.

This is very subtle logic to start with, and you're moving one part of
it away from the comment explaining how the magic works.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:48:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575048.900774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD9W-0007dK-Ln; Wed, 02 Aug 2023 14:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575048.900774; Wed, 02 Aug 2023 14:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRD9W-0007d9-I5; Wed, 02 Aug 2023 14:48:42 +0000
Received: by outflank-mailman (input) for mailman id 575048;
 Wed, 02 Aug 2023 14:48: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=TXK3=DT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRD9U-0007co-Kd
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:48:40 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9f9821b-3143-11ee-b262-6b7b168915f2;
 Wed, 02 Aug 2023 16:48:39 +0200 (CEST)
Received: from CY5PR03CA0021.namprd03.prod.outlook.com (2603:10b6:930:8::36)
 by SN7PR12MB6766.namprd12.prod.outlook.com (2603:10b6:806:26a::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 14:48:35 +0000
Received: from CY4PEPF0000EE37.namprd05.prod.outlook.com
 (2603:10b6:930:8:cafe::2d) by CY5PR03CA0021.outlook.office365.com
 (2603:10b6:930:8::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend
 Transport; Wed, 2 Aug 2023 14:48:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE37.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.6652.19 via Frontend Transport; Wed, 2 Aug 2023 14:48:35 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 2 Aug
 2023 09:48:34 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 2 Aug
 2023 07:48:34 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 2 Aug 2023 09:48: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: a9f9821b-3143-11ee-b262-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HPymXie5d7HNWM7USa88HZ257RD5vIyw/xwM1oIx0yx7nr6tnPVJU5KsEHI/wModXQ4rdHVTC3wCR5oFiQF4VRwJV8pZX5mMFXQcUC6RKnCePFNgAXeoJ3CvRmQvBQtv4XvAywF8xXL2ZKaNqJXSnWq+DTxw9TfxasQ5BMRMisEQ8tB7+rgJg6LOy+BCUArfZuR5Ha5OgEdvhA6Ild7cyFQoVvvGANOZO9LQhx6Z4qBYjpYcmas1LTREEJ9aYhbqSAVE8wQBgP9VN50BQt+/UX8hiFHsd6yUKOFLQeUJosWqo0ooZ99lHe/tzjO9grP0Rix/21QmPGKQs1ExNvYcig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hg7jkSVwUQysoOXw/WmRJXplEQ3B3+UCu3avV0ef9p8=;
 b=aY8xNT8hDDosq1X1KxCrX80LfzszXnlNeK7kGWJP6NMRTc9/sjHyrqLemWYtZCpjMjtR9WYV0JHden/8CLxTROFFdcOLJ9nfWdGGKQ/00M0auFBzI+SZf3q0dgbZlV7TC6uXE0RXuSiblbB7qdHAiUEMJSqiBCHcNCYwMDNXSqskPIuHuybBD7twHEOYbrfQB/HDaMsn3ztTc+c8gF9LoO8sIRH3cLgbfaA3WSSU6HQ9XPagqMZ3aWF2FYxBRkF+29hmtm3rHHo6zghu0BLNdQYjT36iyj5r7btqxz4mfdAtKimrGkpU+tnmM3N8skeoGEW5Zu2N2gNUReXwxlk9/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hg7jkSVwUQysoOXw/WmRJXplEQ3B3+UCu3avV0ef9p8=;
 b=tzL/g/LV3u/qQqzxMmtgcUOvn7bB6Jiup1po6c2M/0d0xFaHBDv5LtGXWDTlNnMN+mZPVeZTSaUbuyLe5t+9k3xFlChdmHk8zcH3YybNfXD6HDOvA9LU7XHnq6DLyEtnpiLdx1cyvFagIhq9lV/ojTl5XLSfnHFuyFgptZL/X/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: <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
Date: Wed, 2 Aug 2023 16:48:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Content-Language: en-US
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE37:EE_|SN7PR12MB6766:EE_
X-MS-Office365-Filtering-Correlation-Id: 78ee1989-240e-4eb0-f946-08db93678cad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+9qZp5FnLodqoa5Z/0CpfFYWFDGkIHKHu5orl2yb5qVWtBf6fiT89FuLjczymUIJ8kx17fngzkHqfSiZIzWynI1SHbYpS1ebu6TQA/lItryNLp/xjK8pyNByOzaJ14IrAB1VWJkvtoWdUj4Mwyr4TewK7Ug/qrL4lC8DVUmu9YZTLOFE24ZKs73nWIMkXvEJ8/nPlBQ/5ceQKIS0DwH2x70bcnjrCykqA8B29yOSAIbWCLzuqdQ+kPK+gI6g90V+ghf3ASYj0+LTrujg+shyMiJAVFdW1F5/JaM/3kW9rK6Nhrex6E+tt/2SzQOLUYOLQ+UVTzhCDxC/9amO4KtSb9z9bosV4ELjKWHev2Ci/YGYCKo9+6Bque9tZEznNm8Nn6+7QOmrexMx6YYTo5TgPlZ3/oBdHvbtlNxOuWMTjBbXh44gmIdD2rcIWbzwsDXgxtzNBaHSXRMKQbSPzA5EJTxS/ovZq+a6x2n9fAfH4N8c+9iAmVTkw4w8nd6XLe2X8up9HLygaxERsffIHTWJzNq/dLqhMdLjyX29kKxNcAHn0vkHv4fiu/KF/41uQ0wQWQpYrtQKGUbJJRY87J0HSt90AnTBDjLRqSrMlD2KEl7y6P6eYuVTICzOxmpNISoQTZRM7Z4J2P7rkCJrPM7m8UIEDFBklL98T7qNxOFZb4tsenvILmuRs2NzZ46x9Hc5RkPgfd/5Ch4hh5SfW1LFY070ufqlXBFBn3wX2L7GZ1rgm4A56Z8Kkba7PtJQNnnygl/AcgBSnRKlvXcnLPUYIT7tdGRBQy7/Ocpq6b5qxEVT48Vq7geX7+zK8+Ptfuj4
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:(13230028)(4636009)(346002)(376002)(136003)(396003)(39860400002)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(478600001)(40480700001)(86362001)(31696002)(36756003)(6666004)(16576012)(316002)(66899021)(8676002)(8936002)(41300700001)(5660300002)(31686004)(4326008)(6916009)(44832011)(40460700003)(36860700001)(47076005)(83380400001)(54906003)(70586007)(2906002)(70206006)(426003)(26005)(81166007)(356005)(82740400003)(2616005)(336012)(186003)(53546011)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 14:48:35.2933
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 78ee1989-240e-4eb0-f946-08db93678cad
X-MS-Exchange-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:
	CY4PEPF0000EE37.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6766

Hi,

On 02/08/2023 16:42, Luca Fancellu wrote:
> 
> 
>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Luca,
>>
>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>
>>>
>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>> when needed, the option is active by default.
>>>
>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>> the GICv2 emulation for guests, it is required only when using GICV2
>>> driver, otherwise using GICV3 it is optional and can be deselected
>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>> xen/arch/arm/Makefile       |  4 ++--
>>> xen/arch/arm/domain_build.c |  4 ++++
>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>> xen/arch/arm/vgic.c         |  2 ++
>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index fd57a82dd284..dc702f08ace7 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>          UEFI firmware. A UEFI stub is provided to allow Xen to
>>>          be booted as an EFI application.
>>>
>>> +config GICV2
>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
> 
> Hi Michal,
> 
> I tried and I had:
> 
> Starting kernel ...
> 
> - UART enabled -
> - Boot CPU booting -
> - Current EL 0000000000000008 -
> - Initialize CPU -
> - Turning on paging -
> - Zero BSS -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000080000000 - 00000000feffffff
> (XEN) RAM: 0000000880000000 - 00000008ffffffff
> (XEN)
> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
> (XEN)
> (XEN)
> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
> (XEN) PFN compression on bits 20...22
> (XEN) Domain heap initialised
> (XEN) Booting using Device Tree
> (XEN) Platform: Generic System
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Unable to find compatible GIC in the device tree
> (XEN) ****************************************
> (XEN)
> (XEN) Manual reset required ('noreboot' specified)
Having early printk enabled all the time is not common and not enabled in release builds FWIK.
So in general, user would just see "Starting kernel" from u-boot and had to debug what's going on.

> 
> Wouldnâ€™t be enough to suggest the user that at least one GIC needs to be selected? In the help it
> also states â€œif unsure, say Y"
I always think it is better to meet the users needs by preventing unwise mistakes like unselecting both drivers.
As always, it is up to maintainers.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 14:56:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 14:56:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575055.900784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRDGf-0000lZ-Ie; Wed, 02 Aug 2023 14:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575055.900784; Wed, 02 Aug 2023 14: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 1qRDGf-0000lS-FE; Wed, 02 Aug 2023 14:56:05 +0000
Received: by outflank-mailman (input) for mailman id 575055;
 Wed, 02 Aug 2023 14:56: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=/vke=DT=citrix.com=prvs=571ca8ae6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRDGe-0000lM-Mi
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 14:56:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2202a1f-3144-11ee-b262-6b7b168915f2;
 Wed, 02 Aug 2023 16:56:02 +0200 (CEST)
Received: from mail-dm6nam04lp2047.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Aug 2023 10:55:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5502.namprd03.prod.outlook.com (2603:10b6:a03:279::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19; Wed, 2 Aug
 2023 14:55:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Wed, 2 Aug 2023
 14:55: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: b2202a1f-3144-11ee-b262-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1690988162;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=5uhLGxYOXyEg7PZAexzzZHJMpwmhbJYFsqRd8ABdZtU=;
  b=U3rYQ20Gw+LClCxEsfvQRoWJmKQb0k1QpJpiq/mf6gTe4+uh7By5K6hA
   Lf4a4a8J3QUrIvCYBdP5o6D4dkJWtVJ0+WjlF+7x3UfKxV8bz/cvjRTmG
   TrFWd6o0T7pbFgJ0c87E+p0wvVFyKWWpHXQHlAR15porYK0mKmxJ+QMny
   A=;
X-IronPort-RemoteIP: 104.47.73.47
X-IronPort-MID: 118281120
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:S2SaLaNK9Lapc5DvrR1AlsFynXyQoLVcMsEvi/4bfWQNrUp30zEPn
 GEYCm+PafyJMGukc98jYd/g8xkPuMKGzNBiQQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5gZmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0qFrXD986
 MEJEz0Qf0iZgrzv+7u5auY506zPLOGzVG8ekldJ6GmFSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vFxvze7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraWzXmrAdtITNVU8NZt0XGemVUoDyQOTECKjfOYjUi3VtZmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZbb9YrrtMxAzYj2
 VmAhdrBDyFgq7CTRjSW8bL8hTWzMi8RJCkcaDMeTA0Ey9P+r5o+iB2JRdFmeIalg9uwFTzuz
 jSiqCklm65VncMNz7+8/13Mn3SrvJehc+IuzgDeX2bg4gYnYoegP9Cs8QKDsakGK5uFRF6cu
 nRCg9KZ8O0FEZCKkmqKXfkJG7aqof2CNVUwnGJSInXozBz1k1bLQGyayGgWyJtBWircRQLUX
 Q==
IronPort-HdrOrdr: A9a23:Ka7lMKGGmRCvUiedpLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-Talos-CUID: 9a23:8dW3W2DMB7Kh0m36E257qRAmB/00SXDA3S/KJhHhMm9raLLAHA==
X-Talos-MUID: =?us-ascii?q?9a23=3AIgWOrA0BaLbR3EGOXBXPIDDYkjUj5PWCBR80qpI?=
 =?us-ascii?q?/o9CfBAB6GjCbhTmze9py?=
X-IronPort-AV: E=Sophos;i="6.01,249,1684814400"; 
   d="scan'208";a="118281120"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hmu68aQHVMB+x0EuiRIUAIVpI+UInhJ18s8KHabBK2c2DI5i0EPdt7ip8r/v0SHA4T/lVHob3w+1nwSdHjz7BkmohlV8LrvwWqtGqTWFdq3mDj04qYWbzCy8UnMdVH7UNdQ1PV/WyNHBCuaeMudpsnQ02awoBoP6ByUF5/qovxFkvTA961ATHYV9SoLAGJVUeHOaK0C2LqAjkB6KKwJP+9w7ppBWolTA7+NoQNK95dK1qqCr3v6WjPptZBYniAUgPb1s0kgXKnQ1zZe0hGzAN6l8nkXO8UXTjQM+MT/SKub/XsGQ45gl4leTWFTSlPW5sFlL3LvUdJoGEeMkFA5XEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5uhLGxYOXyEg7PZAexzzZHJMpwmhbJYFsqRd8ABdZtU=;
 b=LYf2HkYKRDN6Ex/8cm6m83x256zIBznAc+Ru4L4kZzP8qosF7kv8jicQ77c6KoWqC3DaODDp1/CZaWp5/f2nWl8Rc69tV+kcpk8xuj5Be2m7lH/Eg7vr5Gsr021mv+OyFlGhwJvjgoH8F4s4DSVtguq6tL/xxHeb/4B0eeCvBvD7BRvO3XqSFAeuINmf9DeYCCtK8l1d/pK8TmZ/8VZOZiQQp/w4eOD+YIJMf3LRkBWD64zV3DqzVeHgdCtGfBMijRYRgr4B4ZzMturoYkcDBz4pcGrOK7DI9smZqRyYOzgnbqDGdbqgRof3YGAWJt7Q84FPEEg49YZ3v4pz3tQl6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5uhLGxYOXyEg7PZAexzzZHJMpwmhbJYFsqRd8ABdZtU=;
 b=mabKcbfUaGR9XjNNk+rkVgzLhex9X33E/EpQUmSxhvq1qGYdl7lf5d3ywmSCJequsPMOtS1f7UVYg1eRTQppIDJGfBKmSRXmHTyNdgND2iYmbbhHUmbSVCOT6cHCXP5RwipHQnZbU3QrqIV9awzWACPt1qkCxmmyOC2XbBdpNp8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <366d308a-92c2-bb7f-3c93-c1fdb23c2e68@citrix.com>
Date: Wed, 2 Aug 2023 15:55:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 3/3] x86: Delete str()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728194320.3082120-1-andrew.cooper3@citrix.com>
 <20230728194320.3082120-4-andrew.cooper3@citrix.com>
 <88fc0c4d-de8c-73ae-93ea-5df60a30493d@suse.com>
In-Reply-To: <88fc0c4d-de8c-73ae-93ea-5df60a30493d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0470.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::26) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5502:EE_
X-MS-Office365-Filtering-Correlation-Id: fa3c94b5-dd4f-422c-f617-08db93689444
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y1sBtBBQh8qCU7x9UsvL6MYwN3RD98U6GytfHseI2dZRzGN++vNFNYHCO+s0/SzrfqDvObK895T+UfCXD7YGRLxiodCg6l211gqiljvlpc1wteWCkFqSW8bA1gkos10RVc81FtaqA1Q/S8EL2LGhHgrIetIS7fCdLcTanDqN8s3oa/48BYqRLzDtBnORFST5d/ec40BJZYgPXyuzYNuemSjP13sqLbJofq4/65fr2iA6oFtnOF3oxQdmMCBy716peLdR+o67FPV7xSS8912qSUrl1yNrbnOtcmw5VXRaCwwXIa0iwcRPQUl0JWiv2Di2Lojs6LjLJrahJI/fGpsRdP7GtcJc7BJX3DU5Auq9ZkLh0L+ul54HsfXz6X/woz4EgunXYkvTwx79zxpHB07HBjQ+/FfnQUQkNV3KDISZhBsH7ZxOHDxRmM13hS1MrhExZqozxfF7q8lq8drLbaKOvs7S3Q/xsFFjmgu2y2OLdsLr2GVJPd++wQ49Nfxc5veoL3zmEsu9Hb7RN5HQMF+71/xIeIZAoyiGurAEgGd78IvbbNsBe2fuUx+ds7q3yckZ7eiRZjau4V5fvS18At3VdhQqX5ksUkbkr6BcZLazYynxTIPSoEazscdRKXkliLHR5Rmv05QyCp1Bivkz7FKccQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(366004)(451199021)(66556008)(66476007)(6916009)(4326008)(66946007)(2906002)(38100700002)(2616005)(82960400001)(53546011)(186003)(6506007)(26005)(83380400001)(54906003)(86362001)(31696002)(36756003)(478600001)(6512007)(6666004)(6486002)(4744005)(41300700001)(8936002)(8676002)(5660300002)(31686004)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUNEanptMlNLVi9STlJDazZvanM5U2paaUNtbnBNZE05ZzMwMFFyTlBHSG9o?=
 =?utf-8?B?UnBxYTMyUWhTNnYxcHpobzJzY1RkUUs3OVBoNmtKWjAzaHhnbDV1cFpZc1hU?=
 =?utf-8?B?SEU3OXoxZk1Rb1Z2WHRsVXc2bUZ5NFRKV0g1emxCU2h2UHlXREtaSTVQSVY3?=
 =?utf-8?B?bTNrNmYyZFd3dG1RcDdUMnRwbzBYRVgrNFdnV3hFM3dVczcxZlBPcUdUNkNk?=
 =?utf-8?B?NlI5aHJCWlFMUmtzZElyRCtRc3J1Snd4bU9vaFBOc0pPaUhnT3dZamhDVlJG?=
 =?utf-8?B?NkVBcVh5UGQ0ejdiM0tEYk16UnRab0FNQUpQTFpBNEFNNnhJdG1aMHd6SHdr?=
 =?utf-8?B?SkR3dmRwNHJ1NEp0OVNTUVRCamlPWktaTUxBV1dlQVFKOHFEWm5VZU1EaGVv?=
 =?utf-8?B?ZGxiUjFBMThJVmlNOXJPajZ5UlVLYXcvWEc1N0tDQlpLYVFzQ2VKeHNrM3Ay?=
 =?utf-8?B?VmdxS3RZaFZRRjFzRVdLWjR3RkltdFYwY2tCZWVhd1hCNzlMUWliKzJzRk0y?=
 =?utf-8?B?bnN4M29BM0ZqcGg1aytPd2d6TWZXcHZvK2JadFY4OHpIUWQ2SVlKaC9tR3NU?=
 =?utf-8?B?MlBmaG5wRVVtandrNVZmVEY5L2tZUUpqbmNCYms3ejlIRWxNamxsbXpqQVhI?=
 =?utf-8?B?ZFJTTVdlYThtWlRBbE5FbE5aQ2NsdTZ6bjBrblF4aExTTjdJak8wbDlySy91?=
 =?utf-8?B?Q204dzk4em9pZDJkdTVwNjF2cy9STUFMQVl6cVRhZG9Jdjc1c2Z5L014bHU5?=
 =?utf-8?B?UURSbHg1TGFYVkMwekRGenlrNjQxeEVQdVQ5MXlPOHBpcyt0L0dVZy83MmI4?=
 =?utf-8?B?VmRUcU1PNHhWeGpVeXJ1ZGZYaTNjcXlLV2d4WDNCK1NlQ0MrTzVuRjZBVmk2?=
 =?utf-8?B?T3F5RWJYOVprazhScjRsNzdWS1RmRGx3dTJkMEp0Sy9HNXc4OHdnRVBJbldu?=
 =?utf-8?B?R3AxZXdSM2tTUDlHcnNtbTJSM2tsUENHUUFuVVdlR1BxSU5VUHloRjRtbFdP?=
 =?utf-8?B?S0ZISFF1WitRSTlvMWRLY3VlNmRwZWdXazRSOEtmcy9GUUI3cnBwbUNGMFZn?=
 =?utf-8?B?Z0NtZUl1TTNTL2VKQ0Q0NGkwdVNqM0tpWnpmWEpaRXR5dHR2RkxFK1F4SnVS?=
 =?utf-8?B?M0toSjQvVXJHaFF6WFp2SVhhTHM4YzV3aHVQVTJPdHV3L25PTDFaTGRPYm1u?=
 =?utf-8?B?UUpablJZcHVISXZ1SnpRenBYY3cxSlhSYnVUVkNVeWMwTVQ3N2JjSEF6K3Zv?=
 =?utf-8?B?bkNyMkFIdUFEZGsxQXgyOUhGVXJSYzQvSWIyV2FpKzFWWTlkU2tSdjdDcVly?=
 =?utf-8?B?aDIzME9WYUlpNHNpazJnV0Rpdzk4UVVVbjQ2eXAzTFJKQ2JHV0tMQllKLy8x?=
 =?utf-8?B?cGlhUkVJVEpmcWZDTFFHUDNPM1dYWE9BaklSUm9yZzIwRmhLS0U5QkNta0h1?=
 =?utf-8?B?d1pZMHZCM09lVE9pcnhCWEVBSDg4dEUvZjgxWTg0SFBmcWtLSFhnRmJUa082?=
 =?utf-8?B?dSs0clNBT29tWnF6Nk4vWDBvMEZlZkRjNEdpa3pGYUdYdEpaTTVBM2lyRXpi?=
 =?utf-8?B?MWdCaGhKQm9YbCtWUHk5aWF5V3k1T1ZwZXFPY2FLSHRYZUh5RGg3bTFoZ3pu?=
 =?utf-8?B?VmNpazNaRnRxQzRQa3htaXFMcVdESUNjMmd0aXZVWnNWWmFEUC81T2FvZ1dw?=
 =?utf-8?B?bXM2eFUzUlVBUkFwMURpNVFvTk9obE8yMjBzMHNPNWlrWjJvK285MFFRMHZp?=
 =?utf-8?B?YmZnNGMxdllZem8vZVd4bHVYd2JwMURadzF5Q09hSVVKVzJXL3BIUzNhY3VF?=
 =?utf-8?B?WXl4dE00UmpIZmw4NWNISnp4OU1KMVJxWW9GME9LOGdnNFZUcmo4UUZUcCtu?=
 =?utf-8?B?NW4yMkk3U2VWeFlWYU14N3IrVVhyemRUT2s0MHkrb0t4emJ2TFN2K1BUQVk2?=
 =?utf-8?B?YnRsNFJ2YXVGSFZ5SjNMY3ZUSEw0aDJ3TnF3c2xwV0wweUExTW43bU9OdThQ?=
 =?utf-8?B?eXo3ZndBSDRpc0xQbGlpV0tZMVFzcDdMYVNocDFVN1N5dW1YWVc2ZThGdHBz?=
 =?utf-8?B?SXRYRGpKRzB0MkQ4SUtOZnA3R2VoYTVXT3JtcTJmYVJ6S25qZlo3MjNuSmJq?=
 =?utf-8?B?MjlSVjFvZ1RzSHczM0FXS0haWjVlZlM2cll5ejcvSmZ3WmVrTTNTNnZFU1hk?=
 =?utf-8?B?ZEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QnWXo44RahUYBqkgu/P2elM1Q9oCnQaS6lF1DaxaoMx5T6ZOuDQWxVMVJGd/44qe3emQ3oFMfX1sbHgj/aoC/Kfgqcysj8GDKF2f1N+UEx5FSR3zwMhWZYqkZgHGZ85RPA8iUSJXU+RjL81x3DpiS5JjxrNA3juDVLyKThbKB+CqYwEs2oZQ2gvvQw3D9hLzUUatqFfF5+A8ePtYoNHn376xEl4f595g6lc59Fg7cCwZIq2m9JHMRzH4x5f2JnegPTY9C1yiMCx/IYWxrpBwvce1UyiT5ANHfbGED+Ufw/EAgwHu8ntEWOWJ/8rpplPt0pR/TGdlmCtIKN9jMd605gUEds0hhkGR7MxYaJqJKE09Lpx1ESErG0dSlmTOKcEnUfbcHlr8RxDVAQjIvs0rfy7ixq1PeEseeytMhmwZj7WctCY+2lA0Pw00uGAhcsVYU9nHszdBLgVaKQty5/lSP1x5OgBBFN6ed5mEWRZ5xsFCVNolR7v29hGOAgtpOQ1upiaZi09aY63GNDwcaoFIRbdXHIrAU4EVNGbZDntX8exx8MBRJP4XqrBNReBkqkVVod3Hdn4WqMHvgaIOsvnsYgs7tHBeaNLC/sUfpjl7u8yXNM4ktJPDcfxZ5IhX5nSiHc1FOqXM1RIpZ96ys/+y6ke1qF0KOgDR+UtFPnq/1jSEe/zFbKF/hAoFnBb0t/7Xb3H6dTijEypGbQSAmCb9ncW909tKIuIUgDCZKKEu+H+9xMo5hhEGdqGVHJD6CmK3MksTMtlZ0BiBOcC+5ut97JBppZkjMZ44WOkFwBhjaUa+0DrhhsEzzwvGlC1GQq8IrhPrHsBhSa2W7Ruc1AMnEcyhVwY10gSi46ddFo3VLDM=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa3c94b5-dd4f-422c-f617-08db93689444
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 14:55:57.9859
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aPiIyrBzxz8XAzWX4nOuOWCf0l63DK5Q33gSFtK/F3SGTQjXmLp0jeNhgZCqQmZl+oo5a54KT8bER785jqJUNcEWKy8bQ5lQ01pt8IkMRlo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5502

On 31/07/2023 9:25 am, Jan Beulich wrote:
> On 28.07.2023 21:43, Andrew Cooper wrote:
>> This is used in an assertion only, which is somewhat dubious to begin with and
>> won't surivive the x86-S work (where TR will become be a NUL selector).
> I'm kind of okay with the removal, but I can't read anything like the
> above out of the doc. Can you point me at where this is said?

A future draft of the spec.

FRED removes the IDT completely, most of the TSS, and can let you get
away with GDT/LDT limits of 0.

x86-S removes the final aspects of the TSS (the IO perm bitmap, and PVI).

Intel have agreed that being able to (effectively) `ltr $0x0000` to set
the TSS invalid (like NULL selectors do for all other segments) would be
useful, as it means you don't need to have a transiently non-empty GDT
just to load an empty TR.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 15:05:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 15:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575059.900794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRDPp-0002KD-Ek; Wed, 02 Aug 2023 15:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575059.900794; Wed, 02 Aug 2023 15: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 1qRDPp-0002K6-Bg; Wed, 02 Aug 2023 15:05:33 +0000
Received: by outflank-mailman (input) for mailman id 575059;
 Wed, 02 Aug 2023 15:05: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=gGWG=DT=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRDPn-0002K0-O6
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 15:05:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0464b31d-3146-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 17:05:28 +0200 (CEST)
Received: from AM6PR01CA0063.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::40) by AS8PR08MB6005.eurprd08.prod.outlook.com
 (2603:10a6:20b:298::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 15:05:22 +0000
Received: from AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::5b) by AM6PR01CA0063.outlook.office365.com
 (2603:10a6:20b:e0::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Wed, 2 Aug 2023 15:05:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT033.mail.protection.outlook.com (100.127.140.129) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Wed, 2 Aug 2023 15:05:21 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Wed, 02 Aug 2023 15:05:21 +0000
Received: from 6bcb336d501e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B5C8649B-675E-42B4-85E4-7C0C06DEF681.1; 
 Wed, 02 Aug 2023 15:05:10 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6bcb336d501e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 02 Aug 2023 15:05:10 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB8646.eurprd08.prod.outlook.com (2603:10a6:20b:55d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 15:05:07 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 15:05:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0464b31d-3146-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ghsrb5yPr7B3yO8mr2dFhlWwYP0lbcf1aRChOIn058w=;
 b=JBZ+HxjJ5FZ+WmQwowRb4Rh4FMPcoEi7WF5wBqX/UjDmGS8c47I5gwpHsDimf+Jl0bhinLLpgofasE4uCY9dryEtGrr/8Hvh0jmbE3IxbLYZU7mfO0+oaOq9x08eWOSOPHCwqiBmjTfvIkYq6Ixn+7zGnRfj6jl1dH97R6K0Mmo=
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: 836e7222c394a90c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GQCvr41PHvNW7SfBb943XQfNFBm68ApKaaR+AAkD9D6vd/uG43D3y+OJoDMToaTjqCckrgONXlsULwufQL95Jt6DV6M+xumDAZz18w/CJvmxEpu025bshRxpqu6/h1g0NAt4EMLGiSJpXudtR0kUCyVcvHV2wBm7i3mrxWoXAiO4FArggWwEe2cJrPfaOlE4x8p0uKG3hvvAs7DKUanXspZooFVYWSyxYRw1MyGfQ5+MQPOdG+JVDGZBqzrARenQTltI21ozL3axkJ7NamdI9bC2mQfjxBmeRoxUSNpd4npV0nd5e13S2Mvz66SfCLdK7piLNSOrYiZoMqJOrqoSFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ghsrb5yPr7B3yO8mr2dFhlWwYP0lbcf1aRChOIn058w=;
 b=cOPcQCrjmKc/N6m/gkNlTjrIuCRHt4CbZxazFEKAnJgISWmrOPCRprsTSI/dbfuC16lpf9wsPpPI7RH+SIj1/VJDGcgPQiVfBRgoyhuVLRqzbYXOlp1+HBeme/JcEcW4AGU38913rQy+zkcCx4JpOIX4synKdfO3jb1XvnErOKiXjlrhcbmBQRhrmDy9f4uzE1CQ5AKJ4ws/btIpHt/KjaWpJbKrlkcYnRgAnOoBS4S7xUxn7PHzfCGTUs0KEfPVH7PySerFvuq+uwxzZnwoM8T5D42w9BJex9VueD1KVNhvkfu9tuasTSe/skLpFh9YbBiNDgRoAGHR/fZaICwOAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=ghsrb5yPr7B3yO8mr2dFhlWwYP0lbcf1aRChOIn058w=;
 b=JBZ+HxjJ5FZ+WmQwowRb4Rh4FMPcoEi7WF5wBqX/UjDmGS8c47I5gwpHsDimf+Jl0bhinLLpgofasE4uCY9dryEtGrr/8Hvh0jmbE3IxbLYZU7mfO0+oaOq9x08eWOSOPHCwqiBmjTfvIkYq6Ixn+7zGnRfj6jl1dH97R6K0Mmo=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index: AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQCAAAGbgIAABJqA
Date: Wed, 2 Aug 2023 15:05:06 +0000
Message-ID: <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
In-Reply-To: <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB8646:EE_|AM7EUR03FT033:EE_|AS8PR08MB6005:EE_
X-MS-Office365-Filtering-Correlation-Id: a86d7b37-bcd1-444a-be7e-08db9369e455
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:
 XZC4xWo2mk6RXvMco4tKlWQqdbl2EKjA4rIyFID+u0uFs8CPfXQcLj5gQ2OHCJHN7X14kd5UkvYYFp2756xLGPllRWAdOieFdfzLUhkt7njI6fqCyxz2ZkEcqG45KoGFiThi6jVi5qilE018GQYutplnAeT0XBJdpwxnZuijYrucMeA1v+vJzt0qG4lSVjTqXmjwdp70D1SczC6Z4KWRKweRijQhH79TezjWH0mZJkVzbV7Bna7KPsmcl/N5DYMzKn1bjpIV1/u4mC9wO9sCyBGUOFuHClBfC3t8b0bBNokJZlfbj2a5JV1qNJSOWaQocH4tk/1VZOSuqzXeNSvUsdxOEqpnXZ8iFbQ0GlYVX1md2lh31/bcFmBXiW/r1S5VZDoQMa7++CeHq3ZzwaJoDQ/DprGQNB+eDSDpLo+h5WLWDD3C0TypxssfS/TOI7GBzG/7XX9LwWfDWxNnbTkmEHSwnLVNCu0lK2Y6yUeiPe079o5sLXa8U+yHg7llZZTYY1idl1XHgFXU3AfMUK+/jGtFgLc/iOxHBjUlnl9l5x8xu5c/bQxPTYiFIsLWWR6EwABzlVaezqLzdL/chwTSzSqm1bwQXCBtnpdwywyqfmC2UUAVu5dSh/SNdtzptsTDoHlGKyfqkR+L0PMHkmvSYg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(8936002)(8676002)(5660300002)(26005)(41300700001)(66899021)(2906002)(83380400001)(38070700005)(36756003)(2616005)(478600001)(54906003)(122000001)(38100700002)(316002)(86362001)(6506007)(53546011)(64756008)(6486002)(76116006)(71200400001)(66946007)(66556008)(66476007)(91956017)(66446008)(33656002)(4326008)(6916009)(186003)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <68FCCAAB4848A4428056140E271D6B2D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8646
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:
 AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d52c6dfa-ba13-4e46-64f8-08db9369db74
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hRrfNR+KvCKf7YYyj/ry6Cj+M+zZtLaORjzPGccd3YmdkNhFaVhmjlt7dt2wHDC2sLKZR+Zh1YDF+v5+uT1qpBdTHos6GxTVLguQHfzEzPl08oLxF3gP2Ngjx8vMieXrCrHufjTwUs7Is/cesTaORRLb97lwkruO1p+HYWC3cBJx95YlXdn6HEBU4YjY9KO6M6Ik2CI9r+pDJC5zEGazv7p5QRK1bDxKBew/3AnWIGmp0nRhPecbH1Sgi99qy/kr9r9kACsgJyz8sMpcAtA1wXeVnzwiu8lwG7hmJ21NtDrBidoTo996W36Hz78wbo/bitPNJhDJasCiY4DDmyGHmzQg4Q/Bt6tGQK4tmZHDL/lwZrRtYtzxbiu0k3r4m3e1HbJ5aNpt7s09SpgKIfVcsXspPfr2na+angI5jSP/G4xIe/+J2u79uFyT4fJoCtAIe8S0JQo3CFhCXU+WnUOcJM+PrWE8F9gyFKpiU3Tub53qOkdcmaANqX4ddg1mlxCLPynmdKvuRENDR+IgpoGlG+vK+RlsyqToNqFYQ8SgFpdvdMgsZ4jxKE+xc4le64Sr7bNY9eabOWVdZDKNt3YlV7HdohMNR9uWafjx159G5/viSVC8FKPNiLXqb/hUfXDSN61pdxaB0UkWnyd9dubkKjMUvCqqHzsJBHygODnZGXtCWZG1HiUgoQiSnliIio2VW5QOM7BvEmM6PBpYIh88y9gFs/ujpxUyFpnCeEB+pHEROCvPYN5gI+K5FZvdSjx0
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(136003)(376002)(39860400002)(82310400008)(451199021)(36840700001)(40470700004)(46966006)(8936002)(8676002)(5660300002)(26005)(41300700001)(107886003)(66899021)(36860700001)(2906002)(83380400001)(6862004)(47076005)(36756003)(40460700003)(336012)(2616005)(40480700001)(478600001)(54906003)(81166007)(316002)(86362001)(6506007)(53546011)(82740400003)(6486002)(356005)(70586007)(70206006)(33656002)(4326008)(186003)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 15:05:21.3949
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a86d7b37-bcd1-444a-be7e-08db9369e455
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6005

DQoNCj4gT24gMiBBdWcgMjAyMywgYXQgMTU6NDgsIE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVs
QGFtZC5jb20+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAwMi8wOC8yMDIzIDE2OjQyLCBM
dWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+PiBPbiAyIEF1ZyAyMDIzLCBhdCAxNToy
NiwgTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4g
SGkgTHVjYSwNCj4+PiANCj4+PiBPbiAwMi8wOC8yMDIzIDE1OjUzLCBMdWNhIEZhbmNlbGx1IHdy
b3RlOg0KPj4+PiANCj4+Pj4gDQo+Pj4+IEludHJvZHVjZSBLY29uZmlnIEdJQ1YyIHRvIGJlIGFi
bGUgdG8gY29tcGlsZSB0aGUgR0lDdjIgZHJpdmVyIG9ubHkNCj4+Pj4gd2hlbiBuZWVkZWQsIHRo
ZSBvcHRpb24gaXMgYWN0aXZlIGJ5IGRlZmF1bHQuDQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgS2Nv
bmZpZyBWR0lDVjIgdGhhdCBkZXBlbmRzIG9uIEdJQ1YyIG9yIEdJQ1YzIGFuZCBjb21waWxlcw0K
Pj4+PiB0aGUgR0lDdjIgZW11bGF0aW9uIGZvciBndWVzdHMsIGl0IGlzIHJlcXVpcmVkIG9ubHkg
d2hlbiB1c2luZyBHSUNWMg0KPj4+PiBkcml2ZXIsIG90aGVyd2lzZSB1c2luZyBHSUNWMyBpdCBp
cyBvcHRpb25hbCBhbmQgY2FuIGJlIGRlc2VsZWN0ZWQNCj4+Pj4gaWYgdGhlIHVzZXIgZG9lc24n
dCB3YW50IHRvIG9mZmVyIHRoZSB2R0lDdjIgaW50ZXJmYWNlIHRvIGd1ZXN0cyBvcg0KPj4+PiBt
YXliZSBpdHMgR0lDdjMgaGFyZHdhcmUgY2FuJ3Qgb2ZmZXIgdGhlIEdJQ3YyIGNvbXBhdGlibGUg
bW9kZS4NCj4+Pj4gDQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFu
Y2VsbHVAYXJtLmNvbT4NCj4+Pj4gLS0tDQo+Pj4+IHhlbi9hcmNoL2FybS9LY29uZmlnICAgICAg
ICB8IDEzICsrKysrKysrKysrKysNCj4+Pj4geGVuL2FyY2gvYXJtL01ha2VmaWxlICAgICAgIHwg
IDQgKystLQ0KPj4+PiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgfCAgNCArKysrDQo+Pj4+
IHhlbi9hcmNoL2FybS9naWMtdjMuYyAgICAgICB8ICA0ICsrKysNCj4+Pj4geGVuL2FyY2gvYXJt
L3ZnaWMuYyAgICAgICAgIHwgIDIgKysNCj4+Pj4gNSBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRp
b25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPj4+PiANCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L2FybS9LY29uZmlnIGIveGVuL2FyY2gvYXJtL0tjb25maWcNCj4+Pj4gaW5kZXggZmQ1N2E4MmRk
Mjg0Li5kYzcwMmYwOGFjZTcgMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmln
DQo+Pj4+ICsrKyBiL3hlbi9hcmNoL2FybS9LY29uZmlnDQo+Pj4+IEBAIC03OCw2ICs3OCwxNCBA
QCBjb25maWcgQVJNX0VGSQ0KPj4+PiAgICAgICAgIFVFRkkgZmlybXdhcmUuIEEgVUVGSSBzdHVi
IGlzIHByb3ZpZGVkIHRvIGFsbG93IFhlbiB0bw0KPj4+PiAgICAgICAgIGJlIGJvb3RlZCBhcyBh
biBFRkkgYXBwbGljYXRpb24uDQo+Pj4+IA0KPj4+PiArY29uZmlnIEdJQ1YyDQo+Pj4gU28sIG5v
dyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBkZXNlbGVjdCBib3RoIEdJQyBkcml2ZXJzIGFuZCBY
ZW4gd291bGQgbm90IGNvbXBsYWluIHdoZW4gYnVpbGRpbmcuDQo+Pj4gVGhpcyBtZWFucyB0aGF0
IFhlbiB3b3VsZCBmYWlsIG9uIGJvb3Qgd2l0aG91dCBhbnkgbWVzc2FnZSBhcyBpdCBoYXBwZW5z
IGJlZm9yZSBzZXJpYWwgZHJpdmVyIGluaXRpYWxpemF0aW9uLg0KPj4+IFNpbmNlIGhhdmluZyBH
SUMgZHJpdmVyIGJ1aWx0IGluIGlzIGEgbXVzdC1oYXZlIEkgdGhpbmsgd2UgbmVlZCB0byBtYWtl
IHN1cmUgdGhhdCBhdCBsZWFzdCBvbmUgaXMgZW5hYmxlZC4NCj4+IA0KPj4gSGkgTWljaGFsLA0K
Pj4gDQo+PiBJIHRyaWVkIGFuZCBJIGhhZDoNCj4+IA0KPj4gU3RhcnRpbmcga2VybmVsIC4uLg0K
Pj4gDQo+PiAtIFVBUlQgZW5hYmxlZCAtDQo+PiAtIEJvb3QgQ1BVIGJvb3RpbmcgLQ0KPj4gLSBD
dXJyZW50IEVMIDAwMDAwMDAwMDAwMDAwMDggLQ0KPj4gLSBJbml0aWFsaXplIENQVSAtDQo+PiAt
IFR1cm5pbmcgb24gcGFnaW5nIC0NCj4+IC0gWmVybyBCU1MgLQ0KPj4gLSBSZWFkeSAtDQo+PiAo
WEVOKSBDaGVja2luZyBmb3IgaW5pdHJkIGluIC9jaG9zZW4NCj4+IChYRU4pIFJBTTogMDAwMDAw
MDA4MDAwMDAwMCAtIDAwMDAwMDAwZmVmZmZmZmYNCj4+IChYRU4pIFJBTTogMDAwMDAwMDg4MDAw
MDAwMCAtIDAwMDAwMDA4ZmZmZmZmZmYNCj4+IChYRU4pDQo+PiAoWEVOKSBNT0RVTEVbMF06IDAw
MDAwMDAwODQwMDAwMDAgLSAwMDAwMDAwMDg0MTVkMDAwIFhlbg0KPj4gKFhFTikgTU9EVUxFWzFd
OiAwMDAwMDAwMGZkNmM1MDAwIC0gMDAwMDAwMDBmZDZjODAwMCBEZXZpY2UgVHJlZQ0KPj4gKFhF
TikgTU9EVUxFWzJdOiAwMDAwMDAwMDgwMDgwMDAwIC0gMDAwMDAwMDA4MTRmMWEwMCBLZXJuZWwN
Cj4+IChYRU4pICBSRVNWRFswXTogMDAwMDAwMDA4MDAwMDAwMCAtIDAwMDAwMDAwODAwMTAwMDAN
Cj4+IChYRU4pICBSRVNWRFsxXTogMDAwMDAwMDAxODAwMDAwMCAtIDAwMDAwMDAwMTg3ZmZmZmYN
Cj4+IChYRU4pDQo+PiAoWEVOKQ0KPj4gKFhFTikgQ29tbWFuZCBsaW5lOiBub3JlYm9vdCBkb20w
X21lbT0xMDI0TSBjb25zb2xlPWR0dWFydCBkdHVhcnQ9c2VyaWFsMCBib290c2NydWI9MA0KPj4g
KFhFTikgUEZOIGNvbXByZXNzaW9uIG9uIGJpdHMgMjAuLi4yMg0KPj4gKFhFTikgRG9tYWluIGhl
YXAgaW5pdGlhbGlzZWQNCj4+IChYRU4pIEJvb3RpbmcgdXNpbmcgRGV2aWNlIFRyZWUNCj4+IChY
RU4pIFBsYXRmb3JtOiBHZW5lcmljIFN5c3RlbQ0KPj4gKFhFTikNCj4+IChYRU4pICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+IChYRU4pIFBhbmljIG9uIENQVSAw
Og0KPj4gKFhFTikgVW5hYmxlIHRvIGZpbmQgY29tcGF0aWJsZSBHSUMgaW4gdGhlIGRldmljZSB0
cmVlDQo+PiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+
PiAoWEVOKQ0KPj4gKFhFTikgTWFudWFsIHJlc2V0IHJlcXVpcmVkICgnbm9yZWJvb3QnIHNwZWNp
ZmllZCkNCj4gSGF2aW5nIGVhcmx5IHByaW50ayBlbmFibGVkIGFsbCB0aGUgdGltZSBpcyBub3Qg
Y29tbW9uIGFuZCBub3QgZW5hYmxlZCBpbiByZWxlYXNlIGJ1aWxkcyBGV0lLLg0KPiBTbyBpbiBn
ZW5lcmFsLCB1c2VyIHdvdWxkIGp1c3Qgc2VlICJTdGFydGluZyBrZXJuZWwiIGZyb20gdS1ib290
IGFuZCBoYWQgdG8gZGVidWcgd2hhdCdzIGdvaW5nIG9uLg0KPiANCj4+IA0KPj4gV291bGRu4oCZ
dCBiZSBlbm91Z2ggdG8gc3VnZ2VzdCB0aGUgdXNlciB0aGF0IGF0IGxlYXN0IG9uZSBHSUMgbmVl
ZHMgdG8gYmUgc2VsZWN0ZWQ/IEluIHRoZSBoZWxwIGl0DQo+PiBhbHNvIHN0YXRlcyDigJxpZiB1
bnN1cmUsIHNheSBZIg0KPiBJIGFsd2F5cyB0aGluayBpdCBpcyBiZXR0ZXIgdG8gbWVldCB0aGUg
dXNlcnMgbmVlZHMgYnkgcHJldmVudGluZyB1bndpc2UgbWlzdGFrZXMgbGlrZSB1bnNlbGVjdGlu
ZyBib3RoIGRyaXZlcnMuDQo+IEFzIGFsd2F5cywgaXQgaXMgdXAgdG8gbWFpbnRhaW5lcnMuDQoN
CkFueXdheSBJIHVuZGVyc3RhbmQgeW91ciBwb2ludCwgZG8geW91IHRoaW5rIHNvbWV0aGluZyBs
aWtlIHRoYXQgY291bGQgYmUgb2s/IEnigJl2ZSBjaGVja2VkIGFuZCBpdCB3b3JrcywgaXQNCmNv
bXBpbGUgb25seSBpZiBhdCBsZWFzdCBvbmUgR0lDIGRyaXZlciBpcyBlbmFibGVkDQoNCmRpZmYg
LS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jDQppbmRl
eCAyNjRkMmYyZDRiMDkuLjg1YjRhN2YwODkzMiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL2FybS9z
ZXR1cC5jDQorKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYw0KQEAgLTEwOTYsNiArMTA5Niw5IEBA
IHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJvb3RfcGh5c19vZmZzZXQsDQog
DQogICAgIHByZWluaXRfeGVuX3RpbWUoKTsNCiANCisgICAgLyogRG9uJ3QgYnVpbGQgaWYgYXQg
bGVhc3Qgb25lIEdJQyBkcml2ZXIgaXMgZW5hYmxlZCAqLw0KKyAgICBCVUlMRF9CVUdfT04oIShJ
U19FTkFCTEVEKENPTkZJR19HSUNWMykgfHwgSVNfRU5BQkxFRChDT05GSUdfR0lDVjIpDQorICAg
ICAgICAgICAgICAgICB8fCBJU19FTkFCTEVEKENPTkZJR19ORVdfVkdJQykpKTsNCiAgICAgZ2lj
X3ByZWluaXQoKTsNCiANCiAgICAgYXJtX3VhcnRfaW5pdCgpOw0KDQo+IA0KPiB+TWljaGFsDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 15:47:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 15:47:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575068.900807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRE4A-0006m6-Kn; Wed, 02 Aug 2023 15:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575068.900807; Wed, 02 Aug 2023 15: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 1qRE4A-0006lz-I1; Wed, 02 Aug 2023 15:47:14 +0000
Received: by outflank-mailman (input) for mailman id 575068;
 Wed, 02 Aug 2023 15:47: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 1qRE48-0006lt-KO
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 15:47: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 1qRE48-0005Xa-DM; Wed, 02 Aug 2023 15:47:12 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRE48-0005q5-55; Wed, 02 Aug 2023 15:47: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:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=JcRcT5GsB9W1AnjvjW1VWtnJX4Dzo7/Z8y9C0RNk4CA=; b=GqoNAt
	m7w1BaISQjHmf1TIoeMOiIiF4hfOF2XzJYsoBcPgnxEjZ+fUhpyHtUtL/ZQ5/wLZpNPGX/BEFvPZf
	WgdL2eHskh7xkTZ4lF+v0dwGHIK/NIkCwXPi2suzx6iKDdusnK7lX0vedQKcjzmYZTnqORxTHd/lf
	eR/1yYS4CsE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/x86: Constify the vCPU parameter for expand_xsave_states()
Date: Wed,  2 Aug 2023 16:47:05 +0100
Message-Id: <20230802154705.84530-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

expand_xsave_states() is not meant to modify the vCPU. So the parameter
can be const.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/include/asm/xstate.h | 2 +-
 xen/arch/x86/xstate.c             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/xstate.h b/xen/arch/x86/include/asm/xstate.h
index 7ab0bdde89cf..c08c267884f0 100644
--- a/xen/arch/x86/include/asm/xstate.h
+++ b/xen/arch/x86/include/asm/xstate.h
@@ -100,7 +100,7 @@ int __must_check validate_xstate(const struct domain *d,
                                  uint64_t xcr0, uint64_t xcr0_accum,
                                  const struct xsave_hdr *hdr);
 int __must_check handle_xsetbv(u32 index, u64 new_bv);
-void expand_xsave_states(struct vcpu *v, void *dest, unsigned int size);
+void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size);
 void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size);
 
 /* extended state init and cleanup functions */
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 92496f379546..3d566252eaa2 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -172,7 +172,7 @@ static void setup_xstate_comp(uint16_t *comp_offsets,
  * It is the callers responsibility to ensure that there is xsave state to
  * serialise, and that the provided buffer is exactly the right size.
  */
-void expand_xsave_states(struct vcpu *v, void *dest, unsigned int size)
+void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
 {
     const struct xsave_struct *xsave = v->arch.xsave_area;
     const void *src;
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 16:19:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 16:19:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575076.900822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qREZB-0002N8-RC; Wed, 02 Aug 2023 16:19:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575076.900822; Wed, 02 Aug 2023 16: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 1qREZB-0002N1-Og; Wed, 02 Aug 2023 16:19:17 +0000
Received: by outflank-mailman (input) for mailman id 575076;
 Wed, 02 Aug 2023 16:19:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=rdMi=DT=rabbit.lu=slack@srs-se1.protection.inumbo.net>)
 id 1qREZ9-0002Mt-SP
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 16:19:16 +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 528be2e0-3150-11ee-b262-6b7b168915f2;
 Wed, 02 Aug 2023 18:19:14 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fe2bc2701bso241745e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 02 Aug 2023 09:19:14 -0700 (PDT)
Received: from [192.168.2.1] (82-64-138-184.subs.proxad.net. [82.64.138.184])
 by smtp.googlemail.com with ESMTPSA id
 22-20020a05600c22d600b003fbb618f7adsm2069195wmg.15.2023.08.02.09.19.09
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 02 Aug 2023 09:19: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: 528be2e0-3150-11ee-b262-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=rabbit-lu.20221208.gappssmtp.com; s=20221208; t=1690993154; x=1691597954;
        h=content-transfer-encoding:subject:from:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uOrjw3OVIELigHd6J8onu3wawRYKujsftrlpLv+TAgM=;
        b=Sk24tqc+5FebLHoamkHyQEzK2ViGxDcERwYLQhqe952i3HuExmq1Lu6XmQEJKX8z1p
         fOF/Wo4Qex4X6t8seClEDBcW1GJINe7Am7ICiyv41/egw5ocX8VPEheeQ1/lsDvDytOp
         IrWV1G8OrPTAKnjS3ZjvBOimO4j9xordBAIQznq5tSd9N9F6p5V3ux24yhlMTR15kkRm
         5eDqSKGVsTqjMtae40yEOtx1FrEc2X4GrQa+ylNt9OHovAkm9K1MzqXS5m5NXgdeXj05
         EnZExh4B+4/hk8f/ffM06iN5LD3lZLBgWTaM6tyOo3ynfO1W2QjiNEErnOyfG4aCaPQ5
         0Abw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1690993154; x=1691597954;
        h=content-transfer-encoding:subject:from:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uOrjw3OVIELigHd6J8onu3wawRYKujsftrlpLv+TAgM=;
        b=EYUB60TuuyT4bKXIeKb1qA/vfygNkl7nldajRzOuStkKCn8a8/IjSle5pKFjsyXxUL
         HRHZDcbGLQQcATxSO8Cqu+P+7GCHIJ/9qKOQ/ASO+xERHnsc42QkTJDF5hLbuyIWqdVC
         Ln+5U4SO1uxlwvsRNMLti9emWNb9n3Vp73FtjDM/2aO+GqNXrsVai/tN/f5/4AF9n9Z9
         Dp5A3yKGCS4lGaJ7CYrnfmjQ4vjTsPi9d4Ul7A163lo2IOD4WpezPCmPUOk5RDNhzkmk
         Bq48zhxakrEZb8nk3nAnAtOrEeHDBlVMcg+9/HOEu5tFh8e8E3DQxgq4gXpI3/XmIFWM
         HitQ==
X-Gm-Message-State: ABy/qLbZp0RaL/AN6V/J18ATzkkUFY8S0XDWVK+fGfQnSh8PdcUMSjLw
	rTsJVF5sNHU5p+MGxykSiFJX+DWq1zt3JN6XU40=
X-Google-Smtp-Source: APBJJlEh6fCrXDrhqN2eTIB19YNxuRiNTr5vrGAEBDadKq1INRMdqQzX/2Zqt4AkPatzS3HByMvBRg==
X-Received: by 2002:a1c:7c03:0:b0:3fe:2140:f504 with SMTP id x3-20020a1c7c03000000b003fe2140f504mr5553845wmc.20.1690993154130;
        Wed, 02 Aug 2023 09:19:14 -0700 (PDT)
Message-ID: <f3d98514-0dbf-d6fd-c0da-cda4fca6152c@rabbit.lu>
Date: Wed, 2 Aug 2023 18:19:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Content-Language: en-US
To: xen-devel@lists.xenproject.org
From: zithro <slack@rabbit.lu>
Subject: Network interfaces naming changes in domUs with >10 vifs (Debian bug
 1042842)
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello all,

I report here following a discussion on #xen-devel about Debian bug 
1042842 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042842).

When using more than 10 vifs in a domU on Xen 4.14 (deb11), the 
attributions are like :

vifX.0 <> eth0
vifX.1 <> eth1
vifX.2 <> eth2
[...]
vifX.10 <> eth10

With Xen 4.17 (deb12), it changes to :

vifX.0 <> eth0
vifX.1 <> eth1
vifX.10 <> eth2
vifX.2 <> eth3
[...]

Both tests are using oxenstored (the default in Debian 11/12), I don't 
know for the bug reporter. I didn't try cxenstored.
The bug reporter mentionned commit 
"http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=fce6999", I don't 
know if it's related or not.
For now, he's using "/etc/network/interfaces" to force the attribution.

If I understood correctly, all people who answered on IRC think this is 
"not-a-Xen bug", but I was asked to post here for all to discuss.

For more context, I extracted some comments from IRC (I removed 
usernames as I didn't know if I was allowed to quote them).

Thanks !

--------------
IRC DISCUSSION
--------------

- AFAIK, there is no sorting in Xenstored. And you should not expect 
that even if libxl sorted properly it will be seen in the same order on 
the other end.
- is the ethN number in domU related to vif number in xenstore, or to 
device detection order?
- there's no order to eth names at all. they're allocated 
first-come-first-serve, so it entirely depends on how parallel the 
probing of nic drivers are. even if netfront is serialised around 
xenstore accesses, it probably allocates in the order that XS_DIRECTORY 
comes back with
- from simple tests, it looks like VIFs are created in Xenstore in the 
order of the config file, but if you "xenstore-ls /[...]/vif", you can 
see vifs are ordered like vif1,vif10,vif11,vif2,etc
- the order is different between Xen 4.14 and 4.17 (ie. the "expected" 
order works on 4.14, not 4.17)
- But really, Debian should have never relied on how the nodes are 
ordered. This is not something we guarantee in the Xenstored API
- the last big batch of XSA content for the xenstoreds did some major 
rearranging of oxenstored. We dropped a NIH second garbage collector, 
and a NIH weakref system IIRC. I could entirely believe that the 
apparent sort order changed as a result
- generally, I think Linux world established quite some time ago that 
ethN names are not stable
- It's definitely a complicated issue.  Perhaps best to post to 
xen-devel so we can have a discussion. I expect the answer is not-a-Xen 
bug, but I don't think we have a clear understanding of the problem yet


--
zithro / Cyril


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 16:32:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 16:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575083.900832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRElr-0004jd-Ur; Wed, 02 Aug 2023 16:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575083.900832; Wed, 02 Aug 2023 16: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 1qRElr-0004jW-SC; Wed, 02 Aug 2023 16:32:23 +0000
Received: by outflank-mailman (input) for mailman id 575083;
 Wed, 02 Aug 2023 16:32: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=J7gP=DT=huaweicloud.com=petrtesarik@srs-se1.protection.inumbo.net>)
 id 1qRElr-0004jQ-C2
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 16:32:23 +0000
Received: from frasgout12.his.huawei.com (unknown [14.137.139.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2627c717-3152-11ee-b262-6b7b168915f2;
 Wed, 02 Aug 2023 18:32:20 +0200 (CEST)
Received: from mail02.huawei.com (unknown [172.18.147.229])
 by frasgout12.his.huawei.com (SkyGuard) with ESMTP id 4RGHGc4KMvz9xFbJ
 for <xen-devel@lists.xenproject.org>; Thu,  3 Aug 2023 00:18:48 +0800 (CST)
Received: from A2101119013HW2.china.huawei.com (unknown [10.81.207.228])
 by APP1 (Coremail) with SMTP id LxC2BwCnWbn9hMpkgNcsAA--.36049S2;
 Wed, 02 Aug 2023 17:32:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2627c717-3152-11ee-b262-6b7b168915f2
From: Petr Tesarik <petrtesarik@huaweicloud.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 (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR X86),
	linux-kernel@vger.kernel.org (open list:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>,
	petr@tesarici.cz
Subject: [PATCH v1] xen: remove a confusing comment on auto-translated guest I/O
Date: Wed,  2 Aug 2023 18:31:51 +0200
Message-Id: <20230802163151.1486-1-petrtesarik@huaweicloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:LxC2BwCnWbn9hMpkgNcsAA--.36049S2
X-Coremail-Antispam: 1UD129KBjvdXoWruw1fCF1DKFy5Ary3AFyUGFg_yoWDKwcE9F
	4xZF48Ww45tr93X34UKr4avaySyan3trWF9Fn2y34YyFWxXFs7XFs2g3Z0kw4xXFWrCrZx
	XF9xXry7Jw40kjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbSAFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w
	A2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_
	Gr1UM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r4UJV
	WxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
	2Ix0cI8IcVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
	W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2
	Y2ka0xkIwI1lc7CjxVAaw2AFwI0_Jw0_GFylc7CjxVAKzI0EY4vE52x082I5MxAIw28Icx
	kI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2Iq
	xVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVW8ZVWrXwCIc40Y0x0EwIxGrwCI42
	IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY
	6xAIw20EY4v20xvaj40_Zr0_Wr1UMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2js
	IEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUxUUUUUUUU=
X-CM-SenderInfo: hshw23xhvd2x3n6k3tpzhluzxrxghudrp/
X-CFilter-Loop: Reflected

From: Petr Tesarik <petr.tesarik.ext@huawei.com>

After removing the conditional return from xen_create_contiguous_region(),
the accompanying comment was left in place, but it now precedes an
unrelated conditional and confuses readers.

Fixes: 989513a735f5 ("xen: cleanup pvh leftovers from pv-only sources")
Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 arch/x86/xen/mmu_pv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index e0a975165de7..804a5441324c 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2310,12 +2310,6 @@ int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
 	int            success;
 	unsigned long vstart = (unsigned long)phys_to_virt(pstart);
 
-	/*
-	 * Currently an auto-translated guest will not perform I/O, nor will
-	 * it require PAE page directories below 4GB. Therefore any calls to
-	 * this function are redundant and can be ignored.
-	 */
-
 	if (unlikely(order > MAX_CONTIG_ORDER))
 		return -ENOMEM;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 17:40:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 17:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575095.900852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRFp3-0003Kf-V5; Wed, 02 Aug 2023 17:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575095.900852; Wed, 02 Aug 2023 17: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 1qRFp3-0003KY-SL; Wed, 02 Aug 2023 17:39:45 +0000
Received: by outflank-mailman (input) for mailman id 575095;
 Wed, 02 Aug 2023 17:39: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 1qRFp2-0003KQ-Cn
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 17:39: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 1qRFp1-00006W-Nq; Wed, 02 Aug 2023 17:39:43 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[192.168.26.206]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRFp1-0007Mz-Dm; Wed, 02 Aug 2023 17:39:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=amogQHwyZFPdalebZNK/V3bo9V+QlBmSGFdST+gtu+E=; b=ahyk85dEVp7/fQb/rzogO2sTV0
	tVxhlyhZJtOfE0XwVaV+UbFQhoed3qhmSMGiE40dbPR0ypuZFAw56epgPN/njpjlqPtt+zKm0RYVV
	edAhYkt1kuxvlwwcjdFJ/PxbHEnc8OtjBNzKovEKAErFScJ+XLYw4sQBYOlOYsNQeMig=;
Message-ID: <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
Date: Wed, 2 Aug 2023 18:39:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 02/08/2023 16:05, Luca Fancellu wrote:
>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi,
>>
>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>
>>>
>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>> Hi Luca,
>>>>
>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>
>>>>>
>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>> when needed, the option is active by default.
>>>>>
>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>
>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>> ---
>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>> --- a/xen/arch/arm/Kconfig
>>>>> +++ b/xen/arch/arm/Kconfig
>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>          UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>          be booted as an EFI application.
>>>>>
>>>>> +config GICV2
>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>
>>> Hi Michal,
>>>
>>> I tried and I had:
>>>
>>> Starting kernel ...
>>>
>>> - UART enabled -
>>> - Boot CPU booting -
>>> - Current EL 0000000000000008 -
>>> - Initialize CPU -
>>> - Turning on paging -
>>> - Zero BSS -
>>> - Ready -
>>> (XEN) Checking for initrd in /chosen
>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>> (XEN)
>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>> (XEN)
>>> (XEN)
>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>> (XEN) PFN compression on bits 20...22
>>> (XEN) Domain heap initialised
>>> (XEN) Booting using Device Tree
>>> (XEN) Platform: Generic System
>>> (XEN)
>>> (XEN) ****************************************
>>> (XEN) Panic on CPU 0:
>>> (XEN) Unable to find compatible GIC in the device tree
>>> (XEN) ****************************************
>>> (XEN)
>>> (XEN) Manual reset required ('noreboot' specified)
>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.

There are a lot of information printed before the console is properly 
brought up. I wonder if we should look at adding early console like 
Linux does?

>> So in general, user would just see "Starting kernel" from u-boot and had to debug what's going on.
>>
>>>
>>> Wouldnâ€™t be enough to suggest the user that at least one GIC needs to be selected? In the help it
>>> also states â€œif unsure, say Y"
>> I always think it is better to meet the users needs by preventing unwise mistakes like unselecting both drivers.
>> As always, it is up to maintainers.
> 
> Anyway I understand your point, do you think something like that could be ok? Iâ€™ve checked and it works, it
> compile only if at least one GIC driver is enabled
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 264d2f2d4b09..85b4a7f08932 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -1096,6 +1096,9 @@ void __init start_xen(unsigned long boot_phys_offset,
>   
>       preinit_xen_time();
>   
> +    /* Don't build if at least one GIC driver is enabled */
> +    BUILD_BUG_ON(!(IS_ENABLED(CONFIG_GICV3) || IS_ENABLED(CONFIG_GICV2)
> +                 || IS_ENABLED(CONFIG_NEW_VGIC)));
randconfig in gitlab will now randomly fail compilation. If we want to 
encode the dependency then it should be done in Kconfig. But I haven't 
looked at how to do that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 17:55:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 17:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575101.900869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRG4J-0006Fx-AI; Wed, 02 Aug 2023 17:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575101.900869; Wed, 02 Aug 2023 17:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRG4J-0006Fq-7V; Wed, 02 Aug 2023 17:55:31 +0000
Received: by outflank-mailman (input) for mailman id 575101;
 Wed, 02 Aug 2023 17:55: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=gGWG=DT=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRG4G-0006FX-Tt
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 17:55:29 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2864d76-315d-11ee-b262-6b7b168915f2;
 Wed, 02 Aug 2023 19:55:26 +0200 (CEST)
Received: from AS9PR06CA0034.eurprd06.prod.outlook.com (2603:10a6:20b:463::18)
 by VI1PR08MB5373.eurprd08.prod.outlook.com (2603:10a6:803:131::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 17:54:56 +0000
Received: from AM7EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:463:cafe::d8) by AS9PR06CA0034.outlook.office365.com
 (2603:10a6:20b:463::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend
 Transport; Wed, 2 Aug 2023 17:54:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT055.mail.protection.outlook.com (100.127.141.28) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Wed, 2 Aug 2023 17:54:54 +0000
Received: ("Tessian outbound d7adc65d10b4:v145");
 Wed, 02 Aug 2023 17:54:54 +0000
Received: from 8775f5645cc4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6A53934A-EED9-431F-960B-2B5F22A94A2B.1; 
 Wed, 02 Aug 2023 17:54:48 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8775f5645cc4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 02 Aug 2023 17:54:48 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VI1PR08MB10074.eurprd08.prod.outlook.com (2603:10a6:800:1be::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Wed, 2 Aug
 2023 17:54:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 17:54:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2864d76-315d-11ee-b262-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wGdoDvdQ15yG/UVpeZwNNtXlkuSiD2NZBrIKzlTlkgM=;
 b=vk4Vz8/sSewaf+GPLbdUbO3SnXBZOLwr0fbfoa6yxe0MXEsnLF+y0p8Nc9I+JDtmODtRgSBze9Mk0YGbLnwJUj9lrmECUf44eoIKGTCV0MA+0OitI+quv3+aJs6d0rKVlJZ8Cl39lTsLItLgxSXXFXCgT4WY9G5CRmBja9/wJuA=
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: 34aaec0725b9895a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hq7mkhMMHaKEiSouS6on9WQCBUFTzQPQpmhNQeqi4oBE4bAVJhSy8sFDRqsMUHsGTJ+T5/zd2xDPxpC4ppb5sHO7C3y+mJ4NUcd3xQUS+JeDqhXSvlFBQm/qTBTAI4/ns9EWWtA/m7xnNBUFGShmU5jsU8zKxopb7aQCjrsayu+yWdiRquJCqjrMOCW+ru/8zjogpc+0KXA70INwNRJhgljmRNBCH4CrRmCrqyTRhwOmrT9Kmv/iCcEXs7lYSWpto46UFxnJnR+JePnUffYKsGFZQYSoMi8Q+4t0j9pFnt1V20Fo2j131H4Inam7zs6C33LnbAPcBLmy7OCVvTuXYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wGdoDvdQ15yG/UVpeZwNNtXlkuSiD2NZBrIKzlTlkgM=;
 b=UU2AWFMODyzunHZ+5UbmT4aHKsPVYHdocSfudjTxv47lJ42vOKoUZtoHR1yYYNYhAI4nuu0EeIsrN3B0LRYyBDCg/4oa59HbHLayin3k+XrVopKUkjd5glcbWMZS7JHA+WV39DEHyWCuYPmm5gnGDEDiZB0aQqZ9cDQrCrQphamAvKaPJr4oudm2uShqeYEngy/q5j3dkP5wy1UERZco2x+ssKVeW1SHfSkHVFXMIgypcwX4CFHnZDuS0Fj/HI4Rk7JlDRhoYHILl31wRuqjJLFol8oGBpjXqtMSED9yqUOKlVMIbVy10XyujmWlpUvtBSpKZiTfKLu11Q9TFKm5ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=wGdoDvdQ15yG/UVpeZwNNtXlkuSiD2NZBrIKzlTlkgM=;
 b=vk4Vz8/sSewaf+GPLbdUbO3SnXBZOLwr0fbfoa6yxe0MXEsnLF+y0p8Nc9I+JDtmODtRgSBze9Mk0YGbLnwJUj9lrmECUf44eoIKGTCV0MA+0OitI+quv3+aJs6d0rKVlJZ8Cl39lTsLItLgxSXXFXCgT4WY9G5CRmBja9/wJuA=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index:
 AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQCAAAGbgIAABJqAgAArPoCAAAQngA==
Date: Wed, 2 Aug 2023 17:54:43 +0000
Message-ID: <9B62D8DC-2425-42A4-A95F-BC41FA27238D@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
In-Reply-To: <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VI1PR08MB10074:EE_|AM7EUR03FT055:EE_|VI1PR08MB5373:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ed789e5-04f1-4767-3c37-08db93819435
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:
 tpo8iftuQ8pd61fSxpMlgL5ns5cw6eHChgVK3rCxzNb7UQ1JJv+jCDFS4oz3piv8iLXGppdGOtQVrFrYKgxiQcmceSLPi3pIb0//dSKp4LULW/j3zxn6mwyTH35jasvdoXKZutMmtjKdcpEVP6tHz6ghpXPTxKvGLU5SjGtfWCLJRe1YUZ9LdlrnZlMkpoiqv8nofeD9vKwRW+cF+vmgR9p5K7nxS4pRokIJqF19sALxt5Df0ZrQ/89srYVLh7CHRKELinYqApbqr4Yn7/G9cmw+8YV7PCQ94U88FhYsFJ9eO29Vitgjxt5nr9K1EmIPAMAhffSidc5+YUX1C5I/ZQymknrEx/JXR/5REDCzajp6yUv9h4fR4Hoo+qXss5PsA8rFsmAKZO7SYduNn/OfEyJ2bSGYPykl3Ckm9/K+YDzSWVsNw2/joO/2yPem1KLKXt/gw3vWtDgXPXlD1Vsyh+lGTGrTML0oirCsViG5okBH68wLQm2GL/NbZ1Lp2SnJJoOPe6Pnj+7IQavlm++JkWxXEP8i4hLW+iXbQqgcpKTKU6sEXWMMBowdQp3VqNBsUG99bQ7KRaZVGLdbUvU/6cIrNspOiGVenXGRGoTaRcc/EM7z6KAlm8+cwSafOHmjDcUClSNep+F1fZruFkEmfQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(346002)(376002)(136003)(396003)(451199021)(2906002)(8936002)(316002)(86362001)(66899021)(8676002)(5660300002)(38070700005)(41300700001)(33656002)(36756003)(6486002)(71200400001)(478600001)(122000001)(186003)(26005)(53546011)(6506007)(54906003)(83380400001)(2616005)(76116006)(66556008)(91956017)(66946007)(38100700002)(6512007)(64756008)(66476007)(4326008)(66446008)(6916009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B435A59441F6594CA6FE0D9AA0831D3F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10074
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:
 AM7EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e624f4c9-4e56-4441-1c35-08db93818da5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5Zn3eBY21AdnPSopNI/1nMWnCQIQcVpFdoPRQkC5+Z8aY5s4/rL5sSR24wu6/J+Km53GRJAKK0hnn1opiR6uyevOKZ8R8C77ayCZx9OVXtRcrK6JUQY8AonO40jzVse+aOOO/U0/njEo6tRM2u0Zv73h+Rarc6SGXULDyPfJRHpwYh79veNsDWsP0mc8uKfVDgDsUTdj13zP/952AwORjIdyXm59fheoZZMh+S6i85rSP6+bgz4cAEkzlBQl+sEui530diXhFBFhvBq45Jo2UMEoTteEVNOGbh4f3R+QmjuOaW0akcpnCUqxGAjCVYr4VgEKcVYLRIXbIpWDBcvsCkAIv0OTmagyKYf5u88Duc5+3fMBoqiWdNXF4LPCip3LVSg8Xeh5YZFwXhQ0LOicleXEBsglGboubHAzdGFYlkce/8RthpBTs5Ck1FZqOSo1mPyAqG4z+eXe0mDY2wYGTz/Pdz+FRraGBvERlAsWrw/9BLL9OweNkr4RGR4GdpWCoT3Ewqzu7eJu4vd4K8zdCfo05dGVax5aMpGiAeaDEYgTePfV2paNjl8sD4qW4Rls0C3L6f8v4SG3EOTIfPBIvp12nm9+cQXa0KSVmiYnBjEbX2iBtWarRAxPveqZLBCRS5JATgS/swHYz/0d9unwEyv9eDDss2rZJ/ijtzMJsN7j8107It6pxmrrCr9sCSMe01NrVgP5/qloDK85P2jWXrpfF4tjolWvwMyFiBUyiweOilZh3mryGa1MFvP8XplD
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(136003)(376002)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(40480700001)(336012)(40460700003)(2616005)(186003)(6512007)(316002)(86362001)(478600001)(54906003)(81166007)(33656002)(6486002)(70206006)(70586007)(356005)(4326008)(82740400003)(53546011)(6506007)(36756003)(41300700001)(26005)(107886003)(8676002)(5660300002)(8936002)(47076005)(6862004)(2906002)(66899021)(36860700001)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 17:54:54.9013
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ed789e5-04f1-4767-3c37-08db93819435
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5373

DQoNCj4gT24gMiBBdWcgMjAyMywgYXQgMTg6MzksIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGkgTHVjYSwNCj4gDQo+IE9uIDAyLzA4LzIwMjMgMTY6MDUsIEx1
Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4gT24gMiBBdWcgMjAyMywgYXQgMTU6NDgsIE1pY2hhbCBP
cnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IEhpLA0KPj4+IA0K
Pj4+IE9uIDAyLzA4LzIwMjMgMTY6NDIsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+IA0KPj4+
PiANCj4+Pj4+IE9uIDIgQXVnIDIwMjMsIGF0IDE1OjI2LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5v
cnplbEBhbWQuY29tPiB3cm90ZToNCj4+Pj4+IA0KPj4+Pj4gSGkgTHVjYSwNCj4+Pj4+IA0KPj4+
Pj4gT24gMDIvMDgvMjAyMyAxNTo1MywgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4+PiANCj4+
Pj4+PiANCj4+Pj4+PiBJbnRyb2R1Y2UgS2NvbmZpZyBHSUNWMiB0byBiZSBhYmxlIHRvIGNvbXBp
bGUgdGhlIEdJQ3YyIGRyaXZlciBvbmx5DQo+Pj4+Pj4gd2hlbiBuZWVkZWQsIHRoZSBvcHRpb24g
aXMgYWN0aXZlIGJ5IGRlZmF1bHQuDQo+Pj4+Pj4gDQo+Pj4+Pj4gSW50cm9kdWNlIEtjb25maWcg
VkdJQ1YyIHRoYXQgZGVwZW5kcyBvbiBHSUNWMiBvciBHSUNWMyBhbmQgY29tcGlsZXMNCj4+Pj4+
PiB0aGUgR0lDdjIgZW11bGF0aW9uIGZvciBndWVzdHMsIGl0IGlzIHJlcXVpcmVkIG9ubHkgd2hl
biB1c2luZyBHSUNWMg0KPj4+Pj4+IGRyaXZlciwgb3RoZXJ3aXNlIHVzaW5nIEdJQ1YzIGl0IGlz
IG9wdGlvbmFsIGFuZCBjYW4gYmUgZGVzZWxlY3RlZA0KPj4+Pj4+IGlmIHRoZSB1c2VyIGRvZXNu
J3Qgd2FudCB0byBvZmZlciB0aGUgdkdJQ3YyIGludGVyZmFjZSB0byBndWVzdHMgb3INCj4+Pj4+
PiBtYXliZSBpdHMgR0lDdjMgaGFyZHdhcmUgY2FuJ3Qgb2ZmZXIgdGhlIEdJQ3YyIGNvbXBhdGli
bGUgbW9kZS4NCj4+Pj4+PiANCj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQo+Pj4+Pj4gLS0tDQo+Pj4+Pj4geGVuL2FyY2gvYXJtL0tj
b25maWcgICAgICAgIHwgMTMgKysrKysrKysrKysrKw0KPj4+Pj4+IHhlbi9hcmNoL2FybS9NYWtl
ZmlsZSAgICAgICB8ICA0ICsrLS0NCj4+Pj4+PiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMg
fCAgNCArKysrDQo+Pj4+Pj4geGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgIHwgIDQgKysrKw0K
Pj4+Pj4+IHhlbi9hcmNoL2FybS92Z2ljLmMgICAgICAgICB8ICAyICsrDQo+Pj4+Pj4gNSBmaWxl
cyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPj4+Pj4+IA0KPj4+
Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vS2NvbmZpZyBiL3hlbi9hcmNoL2FybS9LY29u
ZmlnDQo+Pj4+Pj4gaW5kZXggZmQ1N2E4MmRkMjg0Li5kYzcwMmYwOGFjZTcgMTAwNjQ0DQo+Pj4+
Pj4gLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcNCj4+Pj4+PiArKysgYi94ZW4vYXJjaC9hcm0v
S2NvbmZpZw0KPj4+Pj4+IEBAIC03OCw2ICs3OCwxNCBAQCBjb25maWcgQVJNX0VGSQ0KPj4+Pj4+
ICAgICAgICAgVUVGSSBmaXJtd2FyZS4gQSBVRUZJIHN0dWIgaXMgcHJvdmlkZWQgdG8gYWxsb3cg
WGVuIHRvDQo+Pj4+Pj4gICAgICAgICBiZSBib290ZWQgYXMgYW4gRUZJIGFwcGxpY2F0aW9uLg0K
Pj4+Pj4+IA0KPj4+Pj4+ICtjb25maWcgR0lDVjINCj4+Pj4+IFNvLCBub3cgaXQgd291bGQgYmUg
cG9zc2libGUgdG8gZGVzZWxlY3QgYm90aCBHSUMgZHJpdmVycyBhbmQgWGVuIHdvdWxkIG5vdCBj
b21wbGFpbiB3aGVuIGJ1aWxkaW5nLg0KPj4+Pj4gVGhpcyBtZWFucyB0aGF0IFhlbiB3b3VsZCBm
YWlsIG9uIGJvb3Qgd2l0aG91dCBhbnkgbWVzc2FnZSBhcyBpdCBoYXBwZW5zIGJlZm9yZSBzZXJp
YWwgZHJpdmVyIGluaXRpYWxpemF0aW9uLg0KPj4+Pj4gU2luY2UgaGF2aW5nIEdJQyBkcml2ZXIg
YnVpbHQgaW4gaXMgYSBtdXN0LWhhdmUgSSB0aGluayB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0
IGF0IGxlYXN0IG9uZSBpcyBlbmFibGVkLg0KPj4+PiANCj4+Pj4gSGkgTWljaGFsLA0KPj4+PiAN
Cj4+Pj4gSSB0cmllZCBhbmQgSSBoYWQ6DQo+Pj4+IA0KPj4+PiBTdGFydGluZyBrZXJuZWwgLi4u
DQo+Pj4+IA0KPj4+PiAtIFVBUlQgZW5hYmxlZCAtDQo+Pj4+IC0gQm9vdCBDUFUgYm9vdGluZyAt
DQo+Pj4+IC0gQ3VycmVudCBFTCAwMDAwMDAwMDAwMDAwMDA4IC0NCj4+Pj4gLSBJbml0aWFsaXpl
IENQVSAtDQo+Pj4+IC0gVHVybmluZyBvbiBwYWdpbmcgLQ0KPj4+PiAtIFplcm8gQlNTIC0NCj4+
Pj4gLSBSZWFkeSAtDQo+Pj4+IChYRU4pIENoZWNraW5nIGZvciBpbml0cmQgaW4gL2Nob3Nlbg0K
Pj4+PiAoWEVOKSBSQU06IDAwMDAwMDAwODAwMDAwMDAgLSAwMDAwMDAwMGZlZmZmZmZmDQo+Pj4+
IChYRU4pIFJBTTogMDAwMDAwMDg4MDAwMDAwMCAtIDAwMDAwMDA4ZmZmZmZmZmYNCj4+Pj4gKFhF
TikNCj4+Pj4gKFhFTikgTU9EVUxFWzBdOiAwMDAwMDAwMDg0MDAwMDAwIC0gMDAwMDAwMDA4NDE1
ZDAwMCBYZW4NCj4+Pj4gKFhFTikgTU9EVUxFWzFdOiAwMDAwMDAwMGZkNmM1MDAwIC0gMDAwMDAw
MDBmZDZjODAwMCBEZXZpY2UgVHJlZQ0KPj4+PiAoWEVOKSBNT0RVTEVbMl06IDAwMDAwMDAwODAw
ODAwMDAgLSAwMDAwMDAwMDgxNGYxYTAwIEtlcm5lbA0KPj4+PiAoWEVOKSAgUkVTVkRbMF06IDAw
MDAwMDAwODAwMDAwMDAgLSAwMDAwMDAwMDgwMDEwMDAwDQo+Pj4+IChYRU4pICBSRVNWRFsxXTog
MDAwMDAwMDAxODAwMDAwMCAtIDAwMDAwMDAwMTg3ZmZmZmYNCj4+Pj4gKFhFTikNCj4+Pj4gKFhF
TikNCj4+Pj4gKFhFTikgQ29tbWFuZCBsaW5lOiBub3JlYm9vdCBkb20wX21lbT0xMDI0TSBjb25z
b2xlPWR0dWFydCBkdHVhcnQ9c2VyaWFsMCBib290c2NydWI9MA0KPj4+PiAoWEVOKSBQRk4gY29t
cHJlc3Npb24gb24gYml0cyAyMC4uLjIyDQo+Pj4+IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxp
c2VkDQo+Pj4+IChYRU4pIEJvb3RpbmcgdXNpbmcgRGV2aWNlIFRyZWUNCj4+Pj4gKFhFTikgUGxh
dGZvcm06IEdlbmVyaWMgU3lzdGVtDQo+Pj4+IChYRU4pDQo+Pj4+IChYRU4pICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+Pj4gKFhFTikgUGFuaWMgb24gQ1BVIDA6
DQo+Pj4+IChYRU4pIFVuYWJsZSB0byBmaW5kIGNvbXBhdGlibGUgR0lDIGluIHRoZSBkZXZpY2Ug
dHJlZQ0KPj4+PiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
DQo+Pj4+IChYRU4pDQo+Pj4+IChYRU4pIE1hbnVhbCByZXNldCByZXF1aXJlZCAoJ25vcmVib290
JyBzcGVjaWZpZWQpDQo+Pj4gSGF2aW5nIGVhcmx5IHByaW50ayBlbmFibGVkIGFsbCB0aGUgdGlt
ZSBpcyBub3QgY29tbW9uIGFuZCBub3QgZW5hYmxlZCBpbiByZWxlYXNlIGJ1aWxkcyBGV0lLLg0K
PiANCj4gVGhlcmUgYXJlIGEgbG90IG9mIGluZm9ybWF0aW9uIHByaW50ZWQgYmVmb3JlIHRoZSBj
b25zb2xlIGlzIHByb3Blcmx5IGJyb3VnaHQgdXAuIEkgd29uZGVyIGlmIHdlIHNob3VsZCBsb29r
IGF0IGFkZGluZyBlYXJseSBjb25zb2xlIGxpa2UgTGludXggZG9lcz8NCj4gDQo+Pj4gU28gaW4g
Z2VuZXJhbCwgdXNlciB3b3VsZCBqdXN0IHNlZSAiU3RhcnRpbmcga2VybmVsIiBmcm9tIHUtYm9v
dCBhbmQgaGFkIHRvIGRlYnVnIHdoYXQncyBnb2luZyBvbi4NCj4+PiANCj4+Pj4gDQo+Pj4+IFdv
dWxkbuKAmXQgYmUgZW5vdWdoIHRvIHN1Z2dlc3QgdGhlIHVzZXIgdGhhdCBhdCBsZWFzdCBvbmUg
R0lDIG5lZWRzIHRvIGJlIHNlbGVjdGVkPyBJbiB0aGUgaGVscCBpdA0KPj4+PiBhbHNvIHN0YXRl
cyDigJxpZiB1bnN1cmUsIHNheSBZIg0KPj4+IEkgYWx3YXlzIHRoaW5rIGl0IGlzIGJldHRlciB0
byBtZWV0IHRoZSB1c2VycyBuZWVkcyBieSBwcmV2ZW50aW5nIHVud2lzZSBtaXN0YWtlcyBsaWtl
IHVuc2VsZWN0aW5nIGJvdGggZHJpdmVycy4NCj4+PiBBcyBhbHdheXMsIGl0IGlzIHVwIHRvIG1h
aW50YWluZXJzLg0KPj4gQW55d2F5IEkgdW5kZXJzdGFuZCB5b3VyIHBvaW50LCBkbyB5b3UgdGhp
bmsgc29tZXRoaW5nIGxpa2UgdGhhdCBjb3VsZCBiZSBvaz8gSeKAmXZlIGNoZWNrZWQgYW5kIGl0
IHdvcmtzLCBpdA0KPj4gY29tcGlsZSBvbmx5IGlmIGF0IGxlYXN0IG9uZSBHSUMgZHJpdmVyIGlz
IGVuYWJsZWQNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNo
L2FybS9zZXR1cC5jDQo+PiBpbmRleCAyNjRkMmYyZDRiMDkuLjg1YjRhN2YwODkzMiAxMDA2NDQN
Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vc2V0
dXAuYw0KPj4gQEAgLTEwOTYsNiArMTA5Niw5IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNp
Z25lZCBsb25nIGJvb3RfcGh5c19vZmZzZXQsDQo+PiAgICAgICAgcHJlaW5pdF94ZW5fdGltZSgp
Ow0KPj4gICsgICAgLyogRG9uJ3QgYnVpbGQgaWYgYXQgbGVhc3Qgb25lIEdJQyBkcml2ZXIgaXMg
ZW5hYmxlZCAqLw0KPj4gKyAgICBCVUlMRF9CVUdfT04oIShJU19FTkFCTEVEKENPTkZJR19HSUNW
MykgfHwgSVNfRU5BQkxFRChDT05GSUdfR0lDVjIpDQo+PiArICAgICAgICAgICAgICAgICB8fCBJ
U19FTkFCTEVEKENPTkZJR19ORVdfVkdJQykpKTsNCj4gcmFuZGNvbmZpZyBpbiBnaXRsYWIgd2ls
bCBub3cgcmFuZG9tbHkgZmFpbCBjb21waWxhdGlvbi4gSWYgd2Ugd2FudCB0byBlbmNvZGUgdGhl
IGRlcGVuZGVuY3kgdGhlbiBpdCBzaG91bGQgYmUgZG9uZSBpbiBLY29uZmlnLiBCdXQgSSBoYXZl
bid0IGxvb2tlZCBhdCBob3cgdG8gZG8gdGhhdC4NCg0KT2sgSeKAmWxsIGludmVzdGlnYXRlIGl0
LCBhcGFydCBmcm9tIHRoYXQsIGlmIEkgZmluZCBhIHBvc3NpYmxlIHdheSB0byBoYXZlIHRoYXQg
aW4gS2NvbmZpZywgZG8geW91IGhhdmUgYW55IG9iamVjdGlvbiBvbiB3aGF0IHRoaXMgcGF0Y2gg
aXMgZG9pbmcgYW5kIHRoZSBhcHByb2FjaCB0YWtlbj8NCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4g
LS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 18:01:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 18:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575107.900879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRG9w-00081r-1t; Wed, 02 Aug 2023 18:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575107.900879; Wed, 02 Aug 2023 18:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRG9v-00081j-Tn; Wed, 02 Aug 2023 18:01:19 +0000
Received: by outflank-mailman (input) for mailman id 575107;
 Wed, 02 Aug 2023 18:01:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRG9v-00081X-4e; Wed, 02 Aug 2023 18:01:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRG9u-0000kL-Vo; Wed, 02 Aug 2023 18:01:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRG9u-0007nz-Ft; Wed, 02 Aug 2023 18:01:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRG9u-0004VC-F3; Wed, 02 Aug 2023 18:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rs6UCZtzs7OB8AKJmCbfY3x0c1JpLUMytOSYOBjlXJM=; b=fCp5789QbHBYBx4UJ98z+iAPew
	MvcTjWKYdF+tsXWGz+MxcFJPTP5ZsDEiKN4ZPjGTV7KzIiIH898eKu3oq+DpnpzJG4E53B5OEI5NG
	yQaX4pF9u8cMIyvB2YQYt1C3VCSfVLeaCSfCN7choiapYQ6M+Wqeo+EPDZE8m5YpSiEw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182097-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182097: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c
X-Osstest-Versions-That:
    xen=fff3c99f84589a876fcd8467ea99f2c8d9ff8d21
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 18:01:18 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 182122-retest
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat fail pass in 182122-retest

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

version targeted for testing:
 xen                  c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c
baseline version:
 xen                  fff3c99f84589a876fcd8467ea99f2c8d9ff8d21

Last test of basis   182085  2023-07-31 01:52:13 Z    2 days
Testing same since   182097  2023-07-31 19:40:22 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fff3c99f84..c0dd53b8cb  c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 18:40:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 18:40:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575117.900894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRGlG-0003j0-TZ; Wed, 02 Aug 2023 18:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575117.900894; Wed, 02 Aug 2023 18:39:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRGlG-0003it-Qx; Wed, 02 Aug 2023 18:39:54 +0000
Received: by outflank-mailman (input) for mailman id 575117;
 Wed, 02 Aug 2023 18:39:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRGlF-0003in-NY
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 18:39:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRGlF-0001i1-3K; Wed, 02 Aug 2023 18:39:53 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[192.168.26.206]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRGlE-0001X1-OF; Wed, 02 Aug 2023 18:39:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=GzOA+EIFInXB9PUvby4YlhpdN8FpNm3/+NnR918g4kM=; b=ioP0H6bbkhK5Q57k5XpaiIFt0x
	LpmbxNOCF1yX9W2wdScczioEDrjjpVD02i2pJx/1rsN5AFdUqMpew8GW8/sMeVFsbgWcOUy7onOJH
	/F4N+CJ19mpMiV7mzx/GG7At0bmFvNevbk4pKI8kSZWq61UsfalKsj7YMCUEMRhjaZCQ=;
Message-ID: <46a985da-03e9-b05d-0107-7c54526c71f9@xen.org>
Date: Wed, 2 Aug 2023 19:39:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <9B62D8DC-2425-42A4-A95F-BC41FA27238D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9B62D8DC-2425-42A4-A95F-BC41FA27238D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 02/08/2023 18:54, Luca Fancellu wrote:
> 
> 
>> On 2 Aug 2023, at 18:39, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 02/08/2023 16:05, Luca Fancellu wrote:
>>>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>>>
>>>>>
>>>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>
>>>>>> Hi Luca,
>>>>>>
>>>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>>>
>>>>>>>
>>>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>>>> when needed, the option is active by default.
>>>>>>>
>>>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>>>
>>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>>>> ---
>>>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>>>
>>>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>>>> --- a/xen/arch/arm/Kconfig
>>>>>>> +++ b/xen/arch/arm/Kconfig
>>>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>>>          UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>>>          be booted as an EFI application.
>>>>>>>
>>>>>>> +config GICV2
>>>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>> I tried and I had:
>>>>>
>>>>> Starting kernel ...
>>>>>
>>>>> - UART enabled -
>>>>> - Boot CPU booting -
>>>>> - Current EL 0000000000000008 -
>>>>> - Initialize CPU -
>>>>> - Turning on paging -
>>>>> - Zero BSS -
>>>>> - Ready -
>>>>> (XEN) Checking for initrd in /chosen
>>>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>>>> (XEN)
>>>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>>>> (XEN)
>>>>> (XEN)
>>>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>>>> (XEN) PFN compression on bits 20...22
>>>>> (XEN) Domain heap initialised
>>>>> (XEN) Booting using Device Tree
>>>>> (XEN) Platform: Generic System
>>>>> (XEN)
>>>>> (XEN) ****************************************
>>>>> (XEN) Panic on CPU 0:
>>>>> (XEN) Unable to find compatible GIC in the device tree
>>>>> (XEN) ****************************************
>>>>> (XEN)
>>>>> (XEN) Manual reset required ('noreboot' specified)
>>>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.
>>
>> There are a lot of information printed before the console is properly brought up. I wonder if we should look at adding early console like Linux does?
>>
>>>> So in general, user would just see "Starting kernel" from u-boot and had to debug what's going on.
>>>>
>>>>>
>>>>> Wouldnâ€™t be enough to suggest the user that at least one GIC needs to be selected? In the help it
>>>>> also states â€œif unsure, say Y"
>>>> I always think it is better to meet the users needs by preventing unwise mistakes like unselecting both drivers.
>>>> As always, it is up to maintainers.
>>> Anyway I understand your point, do you think something like that could be ok? Iâ€™ve checked and it works, it
>>> compile only if at least one GIC driver is enabled
>>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>>> index 264d2f2d4b09..85b4a7f08932 100644
>>> --- a/xen/arch/arm/setup.c
>>> +++ b/xen/arch/arm/setup.c
>>> @@ -1096,6 +1096,9 @@ void __init start_xen(unsigned long boot_phys_offset,
>>>         preinit_xen_time();
>>>   +    /* Don't build if at least one GIC driver is enabled */
>>> +    BUILD_BUG_ON(!(IS_ENABLED(CONFIG_GICV3) || IS_ENABLED(CONFIG_GICV2)
>>> +                 || IS_ENABLED(CONFIG_NEW_VGIC)));
>> randconfig in gitlab will now randomly fail compilation. If we want to encode the dependency then it should be done in Kconfig. But I haven't looked at how to do that.
> 
> Ok Iâ€™ll investigate it, apart from that, if I find a possible way to have that in Kconfig, do you have any objection on what this patch is doing and the approach taken?

Even if it is not possible, I wouldn't worry too much about it. While I 
agree with Michal that it is not great to have nothing printed, Kconfig 
can only reject configuration that are properly broken. But there are 
plenty that are sound but would still not boot on some platform.

A pretty good example is someone may decide to disable GICv3 and try to 
boot on a GICv3 platform... Another one is not enabling the UART driver 
for your platform :).

The latter there is nothing we can do without earlyprintk. But for the 
former, then we can try to enable the console earlier and/or delay when 
the GIC is initialized.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 18:48:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 18:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575122.900905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRGtg-0005Dw-Ne; Wed, 02 Aug 2023 18:48:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575122.900905; Wed, 02 Aug 2023 18:48:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRGtg-0005Dp-Kh; Wed, 02 Aug 2023 18:48:36 +0000
Received: by outflank-mailman (input) for mailman id 575122;
 Wed, 02 Aug 2023 18:48:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gGWG=DT=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRGtf-0005Dj-Pk
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 18:48:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2dc02f67-3165-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 20:48:33 +0200 (CEST)
Received: from DB7PR02CA0022.eurprd02.prod.outlook.com (2603:10a6:10:52::35)
 by PR3PR08MB5738.eurprd08.prod.outlook.com (2603:10a6:102:81::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 18:48:27 +0000
Received: from DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::52) by DB7PR02CA0022.outlook.office365.com
 (2603:10a6:10:52::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend
 Transport; Wed, 2 Aug 2023 18:48:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT018.mail.protection.outlook.com (100.127.142.74) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.45 via Frontend Transport; Wed, 2 Aug 2023 18:48:27 +0000
Received: ("Tessian outbound f5de790fcf89:v145");
 Wed, 02 Aug 2023 18:48:26 +0000
Received: from 0776538ef36a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8AADE72D-01B9-4818-ADDE-3AAA5A1491B3.1; 
 Wed, 02 Aug 2023 18:48:20 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0776538ef36a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 02 Aug 2023 18:48:20 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM0PR08MB5364.eurprd08.prod.outlook.com (2603:10a6:208:186::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug
 2023 18:48:18 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023
 18:48:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2dc02f67-3165-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nr1QaiDje45fN5p7/GB+rS2vVH33PQsie3UEFvVOUW8=;
 b=vfEkUlMCZTRn/GWB4H5xxieO781QdiIgDLnwvziyCKXYf2TMcIRRzmfyUb6YJKK/5BcK3vn5UND1lwhQ8ZZHz0eN3k6c5eczxmha4wPx9x/JfQs7fULFk5mvrWLH3WGayQ3pzlxnwbG2gbfF8tnmYhfwP7rfEs+DoESivuFp+Iw=
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: 112f36a131564bb6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GZ6l3Gx4MFKlaxb5whUOWHc/horA5To4WC5epQOu1yKIckDU4cvVqfgXZ8CFg9SXU+5d0kN24x3rtAOnCy40WPjIaNJ0IBPihDKNBcz58u88TiAFxJ/WxPQA5Uqu9YR3x/8ktszrl+S354+DWUsHfb5H86gdYeuMVbibwt7eZ7OTtz+0/eDPDYrO4LdBUKtO2amgjC+KLJ++UakHEOvwq7N2SqSoH4mTxNTACxfnyYL0tSBeQmuvaVQ+umemVvK+FCfz1R6Oqd0tMh8KYh5aejGib0z6RqshaYlm0MoFPTuIePrVEX2MjsTcS73G9mAsHMIELUJopoYwaOFkp23RGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nr1QaiDje45fN5p7/GB+rS2vVH33PQsie3UEFvVOUW8=;
 b=FrycME60j1VwgdmDdf59cirXeFUjVYIXk5JCIdKnQc6sBaV70UzUPTfHittMKATbIrzIXMegLdrmkKcKrtNcxWqw6MGqniR1Od/cYTk55YNdfrmMwfASgjvhYy8RrFdZPGfk/RknufzYpcDNMwPHNNxy90kBGINVuiSO8B2H2agLMrbqrvASWKo3h7SsIo/alqEZRj+aO0AIVrk70bSXXYHIb+HZVQAXeddQ0coXP55TJuh9K3SbYW2jeDp7jnhrmJlqzqU9WzDjrbAPpJ3CUYJeArxRkDwf7u2c1AsWKzv2rCQbajDNee4+fq13KWr3Yuq8iY2P5H+ftWhVhJsfFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=nr1QaiDje45fN5p7/GB+rS2vVH33PQsie3UEFvVOUW8=;
 b=vfEkUlMCZTRn/GWB4H5xxieO781QdiIgDLnwvziyCKXYf2TMcIRRzmfyUb6YJKK/5BcK3vn5UND1lwhQ8ZZHz0eN3k6c5eczxmha4wPx9x/JfQs7fULFk5mvrWLH3WGayQ3pzlxnwbG2gbfF8tnmYhfwP7rfEs+DoESivuFp+Iw=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index:
 AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQCAAAGbgIAABJqAgAArPoCAAAQngIAADKcAgAACUgA=
Date: Wed, 2 Aug 2023 18:48:18 +0000
Message-ID: <E90F9075-3578-472A-AF42-6495F8E5456B@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <9B62D8DC-2425-42A4-A95F-BC41FA27238D@arm.com>
 <46a985da-03e9-b05d-0107-7c54526c71f9@xen.org>
In-Reply-To: <46a985da-03e9-b05d-0107-7c54526c71f9@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM0PR08MB5364:EE_|DBAEUR03FT018:EE_|PR3PR08MB5738:EE_
X-MS-Office365-Filtering-Correlation-Id: 11a7a808-3ab7-4f94-d768-08db93890ec6
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:
 tMc2opZUmLEsfIBYb7zjCQJyoSkteTJJkLZK8LFS6rytI/jiKLll+YXdrNoUa9chEHs9EsKkyJacL55XZm7QDsD6YOzL1z0IEdw5Ht6KEmu4uvrbJHNVG4mLEUd0+8sTdfIc6bMFVmWqzNyXng6acGKwUqS7bVHZuVsNiLAeZcZQsby+CnoGukl8uH0h6+tEWRDb13Szn8sw6E6ar7NXdBPoawu85sCCH5MvaZr53jlBmk3y0D36KRZobzpZzww5Sp23Wl8q6xQDrOVkB4qvuIwdEnagxBIsUKktfm9CQqEfnCgWmQ5dBt1hWWtSFR6GCIkRKUm6eMySmZfmhuNca6RaGhaTJR+drsNPUdQLkoINAdxYBlpfURgj8TmyqPynibOIvhowfb2hSQXpgmY1DbW0JqAxwo2zqCE81fBToMjflw2gg/u0k0fjwUy6I89mYaz4fJfCY6iB/fncUHin9gPaQaTtmzS0mL6oBS3hpSg72+dKfqNgkRrfabJDoyh6lni+gpFcvJaKjjTtvtahPj3SbFMi/mHXc1nrksM9psyVzi3tyBSDwbnraIYUPR4UDvVPCuX6vzkmd3cWdvFZSGlyCdaPjxEvghBk+xf/ALtOqJldJ9FB/QpjcQQp0vrvKxHKQXv7SfF1ya4l840Xrw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(366004)(136003)(376002)(451199021)(2616005)(186003)(6512007)(316002)(86362001)(478600001)(54906003)(122000001)(38100700002)(66476007)(66556008)(91956017)(66446008)(33656002)(6486002)(66946007)(71200400001)(76116006)(4326008)(6916009)(64756008)(53546011)(6506007)(36756003)(41300700001)(26005)(8676002)(5660300002)(8936002)(2906002)(66899021)(38070700005)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <73BE56D147FB5442ADF1CC8477AD975C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5364
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31e93a97-f348-4135-eacf-08db938909bf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7czGggujyUqV+Qpso75Nje0g+hZODUS1zcTwPVetrymferReAxG+ZLVICqO6I2UyPEKPeGekwDLgrRKPtewtbPa+r/WeLVHwag8c1bOn9sgC+eWvnuenHji/U5TBCfirIjyO31c0lwwQVXqQfL047Rbmj8OSF1AA1TeKU+3Wa5YFHT2CL+8z1vCrISCjLCaJnKC/nB4zR1zzCTwm+2IbbQQ34TFf9Q5gRHJfCXigMKCweE5Jeqv1p/kyrDDPBEZCEU0LaloPd/R17WggDVZSLqwPv59UwokC8FJs8ZzGwlqS6QlZvzRp9qixlUF9WLf1ma/lMxEevFuAcFmWvMaSendp717yc74QC6Cy9h9/xLgvEvEdKhXO1fAbFRNtP/6zjg7zx59zwHZB7f83uXSGR6vhL2gF1JFbTV/RnwuQymuF89AsHC//FXBdVWCeN6TojRYh3FkobXCMlz0ugDy8EqZa9u/IGXHAPM/4K2lk7VrHUfh9bFU9ztpgS6sFEZAviSZBMXu+e9YZ3M5Fh6ab+QYVIMTHyUACOqZfJcH/IWvnGgqgjmzq7cWoBDN0M9ipPJo37TkkrE2AJvz0IOsmKBXPXJybCg6XJ18ZxAKjv6+cDvElTDrE/W24uBcnQbCvslsymG50QbxJ8kuY+rwf2kuiAzpY7Qzcygqz8muWOU3vtRo+v2bZFK77oOBoH8a5X3PFK9QGGNcw5jg0DwFFiDnNr3tESXcv8D6jOlSQVWS1ixbH3DDb0d/N4B7VWeKn
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(136003)(376002)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(40480700001)(336012)(40460700003)(2616005)(186003)(6512007)(316002)(86362001)(478600001)(54906003)(81166007)(33656002)(6486002)(70206006)(70586007)(356005)(4326008)(82740400003)(53546011)(6506007)(36756003)(41300700001)(26005)(107886003)(8676002)(5660300002)(8936002)(47076005)(6862004)(2906002)(66899021)(36860700001)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 18:48:27.0772
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 11a7a808-3ab7-4f94-d768-08db93890ec6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5738

DQoNCj4gT24gMiBBdWcgMjAyMywgYXQgMTk6MzksIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAwMi8wOC8yMDIzIDE4OjU0LCBMdWNhIEZh
bmNlbGx1IHdyb3RlOg0KPj4+IE9uIDIgQXVnIDIwMjMsIGF0IDE4OjM5LCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBIaSBMdWNhLA0KPj4+IA0KPj4+IE9u
IDAyLzA4LzIwMjMgMTY6MDUsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+PiBPbiAyIEF1ZyAy
MDIzLCBhdCAxNTo0OCwgTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6
DQo+Pj4+PiANCj4+Pj4+IEhpLA0KPj4+Pj4gDQo+Pj4+PiBPbiAwMi8wOC8yMDIzIDE2OjQyLCBM
dWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+PiBPbiAyIEF1ZyAy
MDIzLCBhdCAxNToyNiwgTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6
DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBIaSBMdWNhLA0KPj4+Pj4+PiANCj4+Pj4+Pj4gT24gMDIvMDgv
MjAyMyAxNTo1MywgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gDQo+
Pj4+Pj4+PiBJbnRyb2R1Y2UgS2NvbmZpZyBHSUNWMiB0byBiZSBhYmxlIHRvIGNvbXBpbGUgdGhl
IEdJQ3YyIGRyaXZlciBvbmx5DQo+Pj4+Pj4+PiB3aGVuIG5lZWRlZCwgdGhlIG9wdGlvbiBpcyBh
Y3RpdmUgYnkgZGVmYXVsdC4NCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gSW50cm9kdWNlIEtjb25maWcg
VkdJQ1YyIHRoYXQgZGVwZW5kcyBvbiBHSUNWMiBvciBHSUNWMyBhbmQgY29tcGlsZXMNCj4+Pj4+
Pj4+IHRoZSBHSUN2MiBlbXVsYXRpb24gZm9yIGd1ZXN0cywgaXQgaXMgcmVxdWlyZWQgb25seSB3
aGVuIHVzaW5nIEdJQ1YyDQo+Pj4+Pj4+PiBkcml2ZXIsIG90aGVyd2lzZSB1c2luZyBHSUNWMyBp
dCBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIGRlc2VsZWN0ZWQNCj4+Pj4+Pj4+IGlmIHRoZSB1c2Vy
IGRvZXNuJ3Qgd2FudCB0byBvZmZlciB0aGUgdkdJQ3YyIGludGVyZmFjZSB0byBndWVzdHMgb3IN
Cj4+Pj4+Pj4+IG1heWJlIGl0cyBHSUN2MyBoYXJkd2FyZSBjYW4ndCBvZmZlciB0aGUgR0lDdjIg
Y29tcGF0aWJsZSBtb2RlLg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNh
IEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQo+Pj4+Pj4+PiAtLS0NCj4+Pj4+Pj4+
IHhlbi9hcmNoL2FybS9LY29uZmlnICAgICAgICB8IDEzICsrKysrKysrKysrKysNCj4+Pj4+Pj4+
IHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICB8ICA0ICsrLS0NCj4+Pj4+Pj4+IHhlbi9hcmNo
L2FybS9kb21haW5fYnVpbGQuYyB8ICA0ICsrKysNCj4+Pj4+Pj4+IHhlbi9hcmNoL2FybS9naWMt
djMuYyAgICAgICB8ICA0ICsrKysNCj4+Pj4+Pj4+IHhlbi9hcmNoL2FybS92Z2ljLmMgICAgICAg
ICB8ICAyICsrDQo+Pj4+Pj4+PiA1IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDIg
ZGVsZXRpb25zKC0pDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h
cm0vS2NvbmZpZyBiL3hlbi9hcmNoL2FybS9LY29uZmlnDQo+Pj4+Pj4+PiBpbmRleCBmZDU3YTgy
ZGQyODQuLmRjNzAyZjA4YWNlNyAxMDA2NDQNCj4+Pj4+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9L
Y29uZmlnDQo+Pj4+Pj4+PiArKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KPj4+Pj4+Pj4gQEAg
LTc4LDYgKzc4LDE0IEBAIGNvbmZpZyBBUk1fRUZJDQo+Pj4+Pj4+PiAgICAgICAgIFVFRkkgZmly
bXdhcmUuIEEgVUVGSSBzdHViIGlzIHByb3ZpZGVkIHRvIGFsbG93IFhlbiB0bw0KPj4+Pj4+Pj4g
ICAgICAgICBiZSBib290ZWQgYXMgYW4gRUZJIGFwcGxpY2F0aW9uLg0KPj4+Pj4+Pj4gDQo+Pj4+
Pj4+PiArY29uZmlnIEdJQ1YyDQo+Pj4+Pj4+IFNvLCBub3cgaXQgd291bGQgYmUgcG9zc2libGUg
dG8gZGVzZWxlY3QgYm90aCBHSUMgZHJpdmVycyBhbmQgWGVuIHdvdWxkIG5vdCBjb21wbGFpbiB3
aGVuIGJ1aWxkaW5nLg0KPj4+Pj4+PiBUaGlzIG1lYW5zIHRoYXQgWGVuIHdvdWxkIGZhaWwgb24g
Ym9vdCB3aXRob3V0IGFueSBtZXNzYWdlIGFzIGl0IGhhcHBlbnMgYmVmb3JlIHNlcmlhbCBkcml2
ZXIgaW5pdGlhbGl6YXRpb24uDQo+Pj4+Pj4+IFNpbmNlIGhhdmluZyBHSUMgZHJpdmVyIGJ1aWx0
IGluIGlzIGEgbXVzdC1oYXZlIEkgdGhpbmsgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhdCBs
ZWFzdCBvbmUgaXMgZW5hYmxlZC4NCj4+Pj4+PiANCj4+Pj4+PiBIaSBNaWNoYWwsDQo+Pj4+Pj4g
DQo+Pj4+Pj4gSSB0cmllZCBhbmQgSSBoYWQ6DQo+Pj4+Pj4gDQo+Pj4+Pj4gU3RhcnRpbmcga2Vy
bmVsIC4uLg0KPj4+Pj4+IA0KPj4+Pj4+IC0gVUFSVCBlbmFibGVkIC0NCj4+Pj4+PiAtIEJvb3Qg
Q1BVIGJvb3RpbmcgLQ0KPj4+Pj4+IC0gQ3VycmVudCBFTCAwMDAwMDAwMDAwMDAwMDA4IC0NCj4+
Pj4+PiAtIEluaXRpYWxpemUgQ1BVIC0NCj4+Pj4+PiAtIFR1cm5pbmcgb24gcGFnaW5nIC0NCj4+
Pj4+PiAtIFplcm8gQlNTIC0NCj4+Pj4+PiAtIFJlYWR5IC0NCj4+Pj4+PiAoWEVOKSBDaGVja2lu
ZyBmb3IgaW5pdHJkIGluIC9jaG9zZW4NCj4+Pj4+PiAoWEVOKSBSQU06IDAwMDAwMDAwODAwMDAw
MDAgLSAwMDAwMDAwMGZlZmZmZmZmDQo+Pj4+Pj4gKFhFTikgUkFNOiAwMDAwMDAwODgwMDAwMDAw
IC0gMDAwMDAwMDhmZmZmZmZmZg0KPj4+Pj4+IChYRU4pDQo+Pj4+Pj4gKFhFTikgTU9EVUxFWzBd
OiAwMDAwMDAwMDg0MDAwMDAwIC0gMDAwMDAwMDA4NDE1ZDAwMCBYZW4NCj4+Pj4+PiAoWEVOKSBN
T0RVTEVbMV06IDAwMDAwMDAwZmQ2YzUwMDAgLSAwMDAwMDAwMGZkNmM4MDAwIERldmljZSBUcmVl
DQo+Pj4+Pj4gKFhFTikgTU9EVUxFWzJdOiAwMDAwMDAwMDgwMDgwMDAwIC0gMDAwMDAwMDA4MTRm
MWEwMCBLZXJuZWwNCj4+Pj4+PiAoWEVOKSAgUkVTVkRbMF06IDAwMDAwMDAwODAwMDAwMDAgLSAw
MDAwMDAwMDgwMDEwMDAwDQo+Pj4+Pj4gKFhFTikgIFJFU1ZEWzFdOiAwMDAwMDAwMDE4MDAwMDAw
IC0gMDAwMDAwMDAxODdmZmZmZg0KPj4+Pj4+IChYRU4pDQo+Pj4+Pj4gKFhFTikNCj4+Pj4+PiAo
WEVOKSBDb21tYW5kIGxpbmU6IG5vcmVib290IGRvbTBfbWVtPTEwMjRNIGNvbnNvbGU9ZHR1YXJ0
IGR0dWFydD1zZXJpYWwwIGJvb3RzY3J1Yj0wDQo+Pj4+Pj4gKFhFTikgUEZOIGNvbXByZXNzaW9u
IG9uIGJpdHMgMjAuLi4yMg0KPj4+Pj4+IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkDQo+
Pj4+Pj4gKFhFTikgQm9vdGluZyB1c2luZyBEZXZpY2UgVHJlZQ0KPj4+Pj4+IChYRU4pIFBsYXRm
b3JtOiBHZW5lcmljIFN5c3RlbQ0KPj4+Pj4+IChYRU4pDQo+Pj4+Pj4gKFhFTikgKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPj4+Pj4+IChYRU4pIFBhbmljIG9uIENQ
VSAwOg0KPj4+Pj4+IChYRU4pIFVuYWJsZSB0byBmaW5kIGNvbXBhdGlibGUgR0lDIGluIHRoZSBk
ZXZpY2UgdHJlZQ0KPj4+Pj4+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioNCj4+Pj4+PiAoWEVOKQ0KPj4+Pj4+IChYRU4pIE1hbnVhbCByZXNldCByZXF1aXJl
ZCAoJ25vcmVib290JyBzcGVjaWZpZWQpDQo+Pj4+PiBIYXZpbmcgZWFybHkgcHJpbnRrIGVuYWJs
ZWQgYWxsIHRoZSB0aW1lIGlzIG5vdCBjb21tb24gYW5kIG5vdCBlbmFibGVkIGluIHJlbGVhc2Ug
YnVpbGRzIEZXSUsuDQo+Pj4gDQo+Pj4gVGhlcmUgYXJlIGEgbG90IG9mIGluZm9ybWF0aW9uIHBy
aW50ZWQgYmVmb3JlIHRoZSBjb25zb2xlIGlzIHByb3Blcmx5IGJyb3VnaHQgdXAuIEkgd29uZGVy
IGlmIHdlIHNob3VsZCBsb29rIGF0IGFkZGluZyBlYXJseSBjb25zb2xlIGxpa2UgTGludXggZG9l
cz8NCj4+PiANCj4+Pj4+IFNvIGluIGdlbmVyYWwsIHVzZXIgd291bGQganVzdCBzZWUgIlN0YXJ0
aW5nIGtlcm5lbCIgZnJvbSB1LWJvb3QgYW5kIGhhZCB0byBkZWJ1ZyB3aGF0J3MgZ29pbmcgb24u
DQo+Pj4+PiANCj4+Pj4+PiANCj4+Pj4+PiBXb3VsZG7igJl0IGJlIGVub3VnaCB0byBzdWdnZXN0
IHRoZSB1c2VyIHRoYXQgYXQgbGVhc3Qgb25lIEdJQyBuZWVkcyB0byBiZSBzZWxlY3RlZD8gSW4g
dGhlIGhlbHAgaXQNCj4+Pj4+PiBhbHNvIHN0YXRlcyDigJxpZiB1bnN1cmUsIHNheSBZIg0KPj4+
Pj4gSSBhbHdheXMgdGhpbmsgaXQgaXMgYmV0dGVyIHRvIG1lZXQgdGhlIHVzZXJzIG5lZWRzIGJ5
IHByZXZlbnRpbmcgdW53aXNlIG1pc3Rha2VzIGxpa2UgdW5zZWxlY3RpbmcgYm90aCBkcml2ZXJz
Lg0KPj4+Pj4gQXMgYWx3YXlzLCBpdCBpcyB1cCB0byBtYWludGFpbmVycy4NCj4+Pj4gQW55d2F5
IEkgdW5kZXJzdGFuZCB5b3VyIHBvaW50LCBkbyB5b3UgdGhpbmsgc29tZXRoaW5nIGxpa2UgdGhh
dCBjb3VsZCBiZSBvaz8gSeKAmXZlIGNoZWNrZWQgYW5kIGl0IHdvcmtzLCBpdA0KPj4+PiBjb21w
aWxlIG9ubHkgaWYgYXQgbGVhc3Qgb25lIEdJQyBkcml2ZXIgaXMgZW5hYmxlZA0KPj4+PiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYw0KPj4+
PiBpbmRleCAyNjRkMmYyZDRiMDkuLjg1YjRhN2YwODkzMiAxMDA2NDQNCj4+Pj4gLS0tIGEveGVu
L2FyY2gvYXJtL3NldHVwLmMNCj4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4+Pj4g
QEAgLTEwOTYsNiArMTA5Niw5IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25n
IGJvb3RfcGh5c19vZmZzZXQsDQo+Pj4+ICAgICAgICBwcmVpbml0X3hlbl90aW1lKCk7DQo+Pj4+
ICArICAgIC8qIERvbid0IGJ1aWxkIGlmIGF0IGxlYXN0IG9uZSBHSUMgZHJpdmVyIGlzIGVuYWJs
ZWQgKi8NCj4+Pj4gKyAgICBCVUlMRF9CVUdfT04oIShJU19FTkFCTEVEKENPTkZJR19HSUNWMykg
fHwgSVNfRU5BQkxFRChDT05GSUdfR0lDVjIpDQo+Pj4+ICsgICAgICAgICAgICAgICAgIHx8IElT
X0VOQUJMRUQoQ09ORklHX05FV19WR0lDKSkpOw0KPj4+IHJhbmRjb25maWcgaW4gZ2l0bGFiIHdp
bGwgbm93IHJhbmRvbWx5IGZhaWwgY29tcGlsYXRpb24uIElmIHdlIHdhbnQgdG8gZW5jb2RlIHRo
ZSBkZXBlbmRlbmN5IHRoZW4gaXQgc2hvdWxkIGJlIGRvbmUgaW4gS2NvbmZpZy4gQnV0IEkgaGF2
ZW4ndCBsb29rZWQgYXQgaG93IHRvIGRvIHRoYXQuDQo+PiBPayBJ4oCZbGwgaW52ZXN0aWdhdGUg
aXQsIGFwYXJ0IGZyb20gdGhhdCwgaWYgSSBmaW5kIGEgcG9zc2libGUgd2F5IHRvIGhhdmUgdGhh
dCBpbiBLY29uZmlnLCBkbyB5b3UgaGF2ZSBhbnkgb2JqZWN0aW9uIG9uIHdoYXQgdGhpcyBwYXRj
aCBpcyBkb2luZyBhbmQgdGhlIGFwcHJvYWNoIHRha2VuPw0KPiANCj4gRXZlbiBpZiBpdCBpcyBu
b3QgcG9zc2libGUsIEkgd291bGRuJ3Qgd29ycnkgdG9vIG11Y2ggYWJvdXQgaXQuIFdoaWxlIEkg
YWdyZWUgd2l0aCBNaWNoYWwgdGhhdCBpdCBpcyBub3QgZ3JlYXQgdG8gaGF2ZSBub3RoaW5nIHBy
aW50ZWQsIEtjb25maWcgY2FuIG9ubHkgcmVqZWN0IGNvbmZpZ3VyYXRpb24gdGhhdCBhcmUgcHJv
cGVybHkgYnJva2VuLiBCdXQgdGhlcmUgYXJlIHBsZW50eSB0aGF0IGFyZSBzb3VuZCBidXQgd291
bGQgc3RpbGwgbm90IGJvb3Qgb24gc29tZSBwbGF0Zm9ybS4NCj4gDQo+IEEgcHJldHR5IGdvb2Qg
ZXhhbXBsZSBpcyBzb21lb25lIG1heSBkZWNpZGUgdG8gZGlzYWJsZSBHSUN2MyBhbmQgdHJ5IHRv
IGJvb3Qgb24gYSBHSUN2MyBwbGF0Zm9ybS4uLiBBbm90aGVyIG9uZSBpcyBub3QgZW5hYmxpbmcg
dGhlIFVBUlQgZHJpdmVyIGZvciB5b3VyIHBsYXRmb3JtIDopLg0KPiANCj4gVGhlIGxhdHRlciB0
aGVyZSBpcyBub3RoaW5nIHdlIGNhbiBkbyB3aXRob3V0IGVhcmx5cHJpbnRrLiBCdXQgZm9yIHRo
ZSBmb3JtZXIsIHRoZW4gd2UgY2FuIHRyeSB0byBlbmFibGUgdGhlIGNvbnNvbGUgZWFybGllciBh
bmQvb3IgZGVsYXkgd2hlbiB0aGUgR0lDIGlzIGluaXRpYWxpemVkLg0KDQo6KSBKdXN0IGZvdW5k
IGEgd2F5DQoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vS2NvbmZpZyBiL3hlbi9hcmNoL2Fy
bS9LY29uZmlnDQppbmRleCA1Y2RiYTA3ZGY5NjQuLjkzMzA5Y2Q0OTE0NCAxMDA2NDQNCi0tLSBh
L3hlbi9hcmNoL2FybS9LY29uZmlnDQorKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KQEAgLTE4
LDYgKzE4LDcgQEAgY29uZmlnIEFSTQ0KICAgICAgICBzZWxlY3QgSEFTX1BNQVANCiAgICAgICAg
c2VsZWN0IEhBU19VQlNBTg0KICAgICAgICBzZWxlY3QgSU9NTVVfRk9SQ0VfUFRfU0hBUkUNCisg
ICAgICAgc2VsZWN0IEdJQ1YyIGlmICFHSUNWMyAmJiAhTkVXX1ZHSUMNCiANCiBjb25maWcgQVJD
SF9ERUZDT05GSUcNCiAgICAgICAgc3RyaW5nDQoNCklmIEnigJl2ZSBwbGF5ZWQgYSBiaXQgd2l0
aCB0aGUgbWVudWNvbmZpZyBhbmQgaXQgc2VsZWN0cyBHSUN2MiBpZiBubyBvdGhlciBnaWMgZHJp
dmVyIGlzIHNlbGVjdGVkLCBzbyBiYXNpY2FsbHkNCmFzIGJlZm9yZSB3aGVuIGdpY3YyIHdhcyBh
bHdheXMgZW5hYmxlZC4NCklmIGV2ZXJ5b25lIGFncmVlcyBJIGNhbiB1c2UgdGhpcyBzb2x1dGlv
biBhbmQgaW5jbHVkZSBpdCBpbiB0aGUgbmV4dCBwdXNoDQoNCg0KPiANCj4gQ2hlZXJzLA0KPiAN
Cj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 18:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 18:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575129.900918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRH2N-0006mq-OT; Wed, 02 Aug 2023 18:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575129.900918; Wed, 02 Aug 2023 18:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRH2N-0006mj-Ld; Wed, 02 Aug 2023 18:57:35 +0000
Received: by outflank-mailman (input) for mailman id 575129;
 Wed, 02 Aug 2023 18:57: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=L2nj=DT=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1qRH2M-0006md-ET
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 18:57:34 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e32f7f1-3166-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 20:57:31 +0200 (CEST)
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 372HJ7fh009355; Wed, 2 Aug 2023 18:56:52 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 3s4spc839u-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 02 Aug 2023 18:56:52 +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 372Iixod015769; Wed, 2 Aug 2023 18:56:51 GMT
Received: from nam02-sn1-obe.outbound.protection.outlook.com
 (mail-sn1nam02lp2046.outbound.protection.outlook.com [104.47.57.46])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3s4s78jk7h-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 02 Aug 2023 18:56:51 +0000
Received: from CH0PR10MB5020.namprd10.prod.outlook.com (2603:10b6:610:c0::22)
 by CO6PR10MB5585.namprd10.prod.outlook.com (2603:10b6:303:144::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.28; Wed, 2 Aug
 2023 18:56:49 +0000
Received: from CH0PR10MB5020.namprd10.prod.outlook.com
 ([fe80::847f:ef72:f382:87f2]) by CH0PR10MB5020.namprd10.prod.outlook.com
 ([fe80::847f:ef72:f382:87f2%7]) with mapi id 15.20.6652.019; Wed, 2 Aug 2023
 18: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>
X-Inumbo-ID: 6e32f7f1-3166-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2023-03-30;
 bh=UEtdnVsxy+ikkjByO/gkZiKE1KvjbFWBawdvnlleMGE=;
 b=NuWpDFZsiUNAumuC75W6LLG8D/eR7ZHHNLu39z3r6dCzzujQ7puwcIYc+S1WPSVR1JFf
 nUCSSEnQsf3KMMFGhTdTaAESPo4Cv98S8U92ByUgl3azHHsdXrBizUSIRPJAFqLUKo+b
 50W1xALFLnvUXM+FKEJma/FCNy+ZKIfuvY1kJracoenoqYC9b9yCMESSgQQKdyBswTgF
 1Ktul6b5T/ct16lv6clYZLTaSb5B2vXwR9xkvYBAa2eO1Ic/eGKkS/66syyI+TgeweZa
 L1tk5dZr6MR/vB/CTJy+lUYohIyE2I1VgY/6OLP6/C+J/XaqIOIx9m4tgIYAVAFOjUgz zQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NyW5c7YXC0mFK/Gp3UbgaqazBLRRZp1rLXdjq4nvWM5OhXzYx+OtBK5ma/uGHXSAe+OZx3INwr0YqrJHmAfn3rT2t17J5PyOOxBvvEt99xGUrupuueIsbrr2d2R3WdzZwPINlBDa5Jx4v+MINtPAULCQbc7FDiwpklWeijI7VreP+oSNqLUWU6yXkLeFZzJ5iPf3gDtQdxA0xlOUW8duyK/FUpa0C8Ixy13YEESTwcWqvxuVFALPaZgM+NjGK/oqepWc72rG5CSH6mP3F4jVFc2ndWRQwLt0pqElqeuj1MK6xlYbKsK/POThYvMUyAvDg1EFkWLjL79oHa205/V8gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UEtdnVsxy+ikkjByO/gkZiKE1KvjbFWBawdvnlleMGE=;
 b=md1LgvDEm3V3BnIpz8pc0vZYaL66SJcGPZMt/FbXx0Ra0IvJkzSzhrFOkBhl6G86AchdkK4HkDgGTfvFdRcKW66Os9h/9U0BeT7ESdKRpYL//ThhlHnVoiV3RpgWCjOULBlZHI2rvYwlnycDtD+lPpVYTl7k8phqIjq0a47NY519vUJWX35tPmqnfgb3xNVOv7R+cOyFz9mlofHEpV0eetFVV5T56t+svlgP9BmsQjz4dNvxn4DJ5pE6aN61x8SCBVB+G8B3zgg1wzQKR9QawUyjTCP4SDZLeFl2TWsDCQ2crIksW3OV6qLZDRAkCMq5fRXaXe/o+6Lo4xRpHPhx1g==
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=UEtdnVsxy+ikkjByO/gkZiKE1KvjbFWBawdvnlleMGE=;
 b=NRF0cJB/6FOYMyyLwltiN7LwtoGhzrAb8RfkQEBfJFdLVNm6W593QoZs71gwxQSVWV7d8QGwJ93JwNFhZL1n6Vw0dmKt0cr/IfpNDqY/3/KNYdP94Duco++L6X1R3FPpmgLpRjIyV7RN0+Ujw1Yji3UAfoFC1LfdMehdHK3vGVU=
Message-ID: <ec32cde5-68cb-8492-024f-002211fbf871@oracle.com>
Date: Wed, 2 Aug 2023 14:56:39 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.1
Subject: Re: [PATCH v1] xen: remove a confusing comment on auto-translated
 guest I/O
Content-Language: en-US
To: Petr Tesarik <petrtesarik@huaweicloud.com>,
        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>,
        "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
        "H. Peter Anvin" <hpa@zytor.com>,
        "moderated list:XEN HYPERVISOR X86" <xen-devel@lists.xenproject.org>,
        "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
 <linux-kernel@vger.kernel.org>
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
References: <20230802163151.1486-1-petrtesarik@huaweicloud.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <20230802163151.1486-1-petrtesarik@huaweicloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SA0PR11CA0043.namprd11.prod.outlook.com
 (2603:10b6:806:d0::18) To CH0PR10MB5020.namprd10.prod.outlook.com
 (2603:10b6:610:c0::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH0PR10MB5020:EE_|CO6PR10MB5585:EE_
X-MS-Office365-Filtering-Correlation-Id: 51d65094-5bde-4a50-e46e-08db938a39d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	oVoc2OEZ2FV+CoL10csXoRVghcz2kKQeXm+n/hDcgWMItq8aKV19Vb5JG2wYDvoOHznCOEKvaYcR3xqq3EGFN9roDlvxGgm74O0UlbUpSTO8PXSS5UF1fnJQwzj9iiMUUuYBCaYVheupbi664dRulTnxjaH0Slbt+jv0DkzOLDZDRwiUJf9EF1Fv1qzUmJFjf3xyaDZ+tToAdkrwVIfMRIse2plOx3C4wVYzolE2jLtwUWP+fWr90bwheLjmntPg1LYQ2C4MlPL8blvNVJNr/PXIRan9UsVytPdAWSVxfv38WCt25CKOrUFbsEgb7gtBghRjMyQD1p9VVN19EVQp9Hilupatu2ZeFYTmaSdmhyPCL/6nxwJYCtSwWVkc45k1YouJlAiAKFF+bPRGgi1o2Gwl9acAG5T0gvGmTts5fQJkIEW0YOLpUkIdGSNFHbnWvkoxbHroMUpg1720Ud9ocILvHu5T+hUS7R1xXu9yC/q+kprUhMOXZKWn5W4BEMcW9aLCX6NrG1V9MQ2n+Wvq/9PQM93051jeAdXFIbB6Lr0XsLfo5Fj9ees3StZZdEknVW3Kt2wDYutXinb9eUy81YeXRX0hPStVRDxyNU/CWoTnXmfmnR4z8LVPj1PaXPfqrSzbN3gHISxAuB+MWi+eShkm+DYViHyOdAI+IW8kM1c=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5020.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(136003)(396003)(376002)(346002)(451199021)(44832011)(6512007)(6486002)(36756003)(53546011)(2616005)(186003)(6506007)(26005)(66946007)(921005)(38100700002)(7416002)(110136005)(4326008)(316002)(31696002)(86362001)(66476007)(41300700001)(8936002)(8676002)(5660300002)(31686004)(2906002)(66556008)(6666004)(478600001)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?cWVEYm8ySXNOU0RqckM1cWJYVnVlbWhjODF2M0J4VXdqV3RnU2RKMkxhNFgw?=
 =?utf-8?B?YmxUM2daSVdGV2tXQXNCdzc4dThTVnM3bFROSGJlRmxlMWZtM3lubG8wSjRx?=
 =?utf-8?B?cUdJL3NKaTk4czZBa0UyaE1YY2NEU0NMUklGcWRxZGk3SHZPQVFjS2Jac1V5?=
 =?utf-8?B?NGQxNG9qT0xMbS9vZkxxbUpMakpjWnNUYWJtL293cmxvOUdKa0t1b2gyK0l5?=
 =?utf-8?B?Z2JXNkUxSUtzaUY1bENTKzdMR1p6a0VJbHJLK3p2am85SzY0bzQyUy9MRXJh?=
 =?utf-8?B?WE5obDhLc1QvZjVFd25DdW1RRHZlaHYvMTZzN2I2ZHAyNHJlZDRwQk85RnJ6?=
 =?utf-8?B?d1NVLzhpa293bUlGQ0FvKzllWHA4UC9xWitxTit3VUxKTHU1eVVCMHdNNk1K?=
 =?utf-8?B?Y0RreTg4eEhiaEVpWGNSd2ZFaU1SeFdNOHhrd0FDSmFoaTdaL2tUR1FoMFVs?=
 =?utf-8?B?WkZYdk11SHRFSlkvVGhUb1JIc3BhRlNXNVhxTXhWbnlQclVPN1pmbVZrN1Jp?=
 =?utf-8?B?ci81MWpjbmFMcDVxbzFtNkw0cHJyOFY4T2FuUklSYjdpSlZsYzM1N2NEL3ZI?=
 =?utf-8?B?SVdhZTlCTzFNbEp3RUtiWmtkZCtRUE43ZUxlV1UzN0hNd0F6R1BRZ1ZpRGhs?=
 =?utf-8?B?K0NMNCt3TlUvbWE0OFVHS0V2VTlHeWlZaVVYMllITkxUNW5qRWV1QVhhYUkw?=
 =?utf-8?B?eVVDZFhJOWdVUEF2SFd4SjdJTm9lMzRaN085ejZTL3pRSGJqRlNVVDkrS0Fl?=
 =?utf-8?B?dWllQ0F6dGFkWjI2YmMrSGpFcWtiS1hxUlVSNHRLZjlkUUhPVGhZQnVocXpk?=
 =?utf-8?B?U3MvNlZuQ0hZS1ZKVDlXS2FoVEJ6N0lPNERhRmgzLzRFOTJ6V25zZ0IrVHNV?=
 =?utf-8?B?TDROS3dSSW9JV0ZxQjVoYjlqVHMrVHJxSXU1M3NaVWZYK3FvbDdDS3dDUXls?=
 =?utf-8?B?ZU9ETmpmTjRzajE4SXFGTXhYaXBTamllbisvR1o1QlBha2hLMGhwdW40b3hw?=
 =?utf-8?B?dzhQQStwdHFnVmZ3SGoyZDlMdVllZTN3QmE1M050MGlVVDMxdjhDc1R1TVdm?=
 =?utf-8?B?eTNQNmRvS3hUZnY4NXdFRTZ5Nk1QQVJuOUd3RlFEYy95RVRoTVR6TWRNTWZR?=
 =?utf-8?B?WDV4clJOeUFNQlQ4SjJ5RXFrVFpwVGhlcTNHMng2djZIZ1BXVTE3SkFJeCt1?=
 =?utf-8?B?MVN6UnFtUm9kYk5zbEZ1ZTBEUVhmeEc4cHl6U2V1ZXdLTS8vK09jOENsSTRV?=
 =?utf-8?B?TUp3YjAwTWVnOUlKU1ZaYmdhSGt3Q2xHKzA0THJsUU50M0RUdDNsSXNrOWEr?=
 =?utf-8?B?TEVCZlJzVXRaL2twTkxuNSs0b2l0dThWWUwrSzBBVkcvRzgxSGNtcGE1RTVa?=
 =?utf-8?B?ZlR6b1ZSN3F5OEVyZUhRbEplZDVaK01WcGtOZE80ekFoMVp6dHJ2ZEhuSDUx?=
 =?utf-8?B?azVNeTIrcmo4VHZnWFU3N1FmNGtyV0E0Ty83Vkk4Sy94V0lvVFhPc0pyMlc3?=
 =?utf-8?B?WCtmSUlmZm0rOW80NGVXYmRmdnoyaHZCNWlJcWxuV28wRk5jT1M5YndDczdI?=
 =?utf-8?B?OFl6MGJMY0tRbHhOUzAxQzZ4bTRiNTNnOXRwZHgyTHFyNExwK1ZvRFBjVzJS?=
 =?utf-8?B?bnpxbmY2VEk2aVpZK1ExNmN2dHNDUW5MdkJadmNjekg4NlFVajB3RklYWTFl?=
 =?utf-8?B?Tm52SDRpRVFVaW5aalR2NjRhWmhYRms4RHVqa0ZDZ1FPanluQUN1aFRYVkVO?=
 =?utf-8?B?dmVBWkNXcUNLODhNMkNPNndyNHRQdFpKY2xhbzkrMnlNbTJZTWlnaGhrYTBy?=
 =?utf-8?B?Y01HaXhPVSt6T1d0UGtGYWFVNUE1R05DYU5XMTIzZ3MzV0VXWVBxQmtBbE1Z?=
 =?utf-8?B?TnFSSUFMQzZOZjJpaVZxK3B0V3BCY3Z1cWw3V0p5U0E0ZjBuaUtST1VhMmFn?=
 =?utf-8?B?Q1crU3NhUkFFdEh5aitwZ2NwaDRScDY5Q2NKai90MHRTSFJqV0w2VG9yYVlo?=
 =?utf-8?B?dit1d290MDVIY0svaytiY1lEVTRsQjFqRUNMeldpa1BiMVdDR3RHa1E1RFlE?=
 =?utf-8?B?d2lmdUFac0tZTytaajZiQWFQWnNqQk9vK3pyaG45TUtZa1N5dkVJQXRPdnU4?=
 =?utf-8?B?MDVvZHFCak9aM1ZmdnV2Vms3ckFuYjEzMEh0TzIvS25nemhFR1lLdUlhZWVW?=
 =?utf-8?B?d1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	=?utf-8?B?YUppOHhiL3owaGdIWlpxTzlJc0hYVnVmOTR0Y0xiclUyaVk2akNjSHNlaDVt?=
 =?utf-8?B?Rlk2SVowbkZYdnNFWW5GU2lSOHk1OU9lM3ErK0RYaWU5SHNhLytSeGJzNkxk?=
 =?utf-8?B?VEhCL1J6SXZDckdwVVdsb09pVGNpOTV6YWFQNHBhNHhkdUpobzYrRzFaRHZ6?=
 =?utf-8?B?bzdySEtPS0gweEh2dEZydjFKSjBWWmIzVzdFTXFzTlg2Sys4dWtBTkViNWEy?=
 =?utf-8?B?SGs5aWFMTlY3elpmOTFJTGlvZU53dmdmcmNkcU4wWndyMkZkd1BNSFU5aFBL?=
 =?utf-8?B?R1E4aDZqdHl2NHdTaHFBVGlWdUxsNGkzQW9kdEZWbUdTYWdwU002TWNiajdE?=
 =?utf-8?B?NlZPWGRQYlJCaGdvYTkvdlQwVEY3NG4rTUw3anh2UWpvUHcwcEFTV2NLVzgr?=
 =?utf-8?B?WkFvREFGdHhsamw1ZGdzaUJLVzZVV2xxRUJoWFdGR29JSEt4OWZTZnpHSy9h?=
 =?utf-8?B?WjZqVjAzcC9UOU9OY0d5d2p1bjlGMFd6cC91NFpjVC90UEdTckNCT2RjYk1P?=
 =?utf-8?B?UTdiVGpSSU51blRHa3kwQVVvbk84bjRxcjBzQ2lINmFOUDRXSnVxSUpQSTU2?=
 =?utf-8?B?c2FHbk9GOUh5REVkR3hRR2xZTDl3VkY4TldSOGVDcUY0UjUyamZ0RUIzQWFB?=
 =?utf-8?B?R0xLS1dvQ3l6NTJsTkhmV2E0Qlk3eU1LNW1zU3hQd0dkTWVOc2doQzJhbExs?=
 =?utf-8?B?UThvZG90ZUhKWnFJenV0ckpKdGdLY3NKRkhhOW1ENjI1eGxrL3BxaWhMb0ZI?=
 =?utf-8?B?ckp5REMzL09TZGR4Z2NGSEZRT0hGMUN5OFl4RnNHS1JtMklUcnFXY0RxbklD?=
 =?utf-8?B?SVpneHFXTFB1cE5oSm1lS1lRdmlBNkZzdVZ6T0QrN1VqaGM4S21HeCtzeWxR?=
 =?utf-8?B?aW9YeEJhRm44Zm80OUIyV1VoZlRFY2g3S1JPK3FxeHFZNWlHN25DcWVzUGxp?=
 =?utf-8?B?TjlvUXNBNGpRdk5MRmt6MDIrV2R6Rm1SamV0QTBPdm9EOGlrVWlYMk1GVjFh?=
 =?utf-8?B?RXphY3lTQlA5N3FkWnlzRk1sS0pnKzVoUXhkekZuaTRIdUIxdGgrdEh0WFZx?=
 =?utf-8?B?NUdFOVUzZnJVNGFnbFVyQ0pHWmFTa080bjA3WDVTQXJ5T3RydHJDejJueTBO?=
 =?utf-8?B?MHhQVDA3dVdwZFNLaHpDZDdDS3d6OXIwRHl5QUNJQ25tOTNOa0V3QlBiaTg0?=
 =?utf-8?B?U1NxSVg2R0FIM2xuRGxKVlhydzZxMXdmaTBrMHk4Qi9HTGlNZ3R4VmRTVCtW?=
 =?utf-8?B?Z0N4bk9rbGcyVGpib2RkeTZRTmNxL0JmOUdvNkNrWkdyU2N0TVNKRGpTbWNX?=
 =?utf-8?B?N0YyVVNDUkhpekd0SGRmZU4xczBqK21HMDVrZi9DaVNCZW15NXFBdXBiNUtr?=
 =?utf-8?B?eDZkZkNtOWZVOURKR0lFN2NPRUtxWW5oeStUaXhld0lodmswVzIxSTkxWjRo?=
 =?utf-8?B?a1JGL1lkdEhMcjU2SWJ3bnBFWDhHWVUreTN3emxMWXRYZjRTRzJaYzVET1NR?=
 =?utf-8?Q?vKopuA=3D?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51d65094-5bde-4a50-e46e-08db938a39d2
X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5020.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 18:56:48.9789
 (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: 07zrAWeLSrUhF94OECeIr04eE9i2SdqcTmxooiPEFXXDI6ZHj5v3WeS3BeF7jVnj81IzuTeKdR+G0Y7PgCQys7MH0AWOqW7x0oBC0YDvVYA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5585
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26
 definitions=2023-08-02_15,2023-08-01_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0
 adultscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2306200000 definitions=main-2308020167
X-Proofpoint-ORIG-GUID: k5QIQZ3bJpy7Tc2F4b9X9y2ETc8NWHLV
X-Proofpoint-GUID: k5QIQZ3bJpy7Tc2F4b9X9y2ETc8NWHLV



On 8/2/23 12:31 PM, Petr Tesarik wrote:
> From: Petr Tesarik <petr.tesarik.ext@huawei.com>
> 
> After removing the conditional return from xen_create_contiguous_region(),
> the accompanying comment was left in place, but it now precedes an
> unrelated conditional and confuses readers.
> 
> Fixes: 989513a735f5 ("xen: cleanup pvh leftovers from pv-only sources")
> Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 19:07:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 19:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575133.900928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRHBo-0008Ip-O2; Wed, 02 Aug 2023 19:07:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575133.900928; Wed, 02 Aug 2023 19: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 1qRHBo-0008IY-Ig; Wed, 02 Aug 2023 19:07:20 +0000
Received: by outflank-mailman (input) for mailman id 575133;
 Wed, 02 Aug 2023 19:07:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRHBo-0008II-5P; Wed, 02 Aug 2023 19:07:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRHBn-0002O0-W1; Wed, 02 Aug 2023 19:07:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRHBn-0002c4-ET; Wed, 02 Aug 2023 19:07:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRHBn-00031W-Dv; Wed, 02 Aug 2023 19:07:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=B+8Zafxj7xdEO39u8VL+n1y0SwRZMEiEXLk1iFu7CWQ=; b=lqBLL8+wSH3jiC0SbPvqBW27QV
	okq010PnqQkTvQC573+Vb1aytzC8neVk7YyfrrdCux8JfEmIKg7YYOSWdd9DpSH3VrsQ4Oz2xdiW6
	U0W/lyHxceDfCSS72Tu2jkiCChMEoqyGjxewg4rubuXPU0DYRqpPu7pPdeO5UkAAKA18=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182099-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182099: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw: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-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=a3a8cc0415cc46ffc4d89d60ba3d742a02880a36
X-Osstest-Versions-That:
    libvirt=010cfec9690d68e26ba4e3747c5c636d3d1f39f0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 19:07:19 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182068
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182068
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182068
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              a3a8cc0415cc46ffc4d89d60ba3d742a02880a36
baseline version:
 libvirt              010cfec9690d68e26ba4e3747c5c636d3d1f39f0

Last test of basis   182068  2023-07-29 04:18:56 Z    4 days
Testing same since   182099  2023-08-01 04:20:48 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   010cfec969..a3a8cc0415  a3a8cc0415cc46ffc4d89d60ba3d742a02880a36 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 19:15:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 19:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575140.900941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRHJh-0001Od-G7; Wed, 02 Aug 2023 19:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575140.900941; Wed, 02 Aug 2023 19:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRHJh-0001OW-Cw; Wed, 02 Aug 2023 19:15:29 +0000
Received: by outflank-mailman (input) for mailman id 575140;
 Wed, 02 Aug 2023 19:15:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRHJf-0001OQ-Qw
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 19:15: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 1qRHJd-0002X8-Qs; Wed, 02 Aug 2023 19:15:25 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[192.168.26.206]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRHJd-0002tN-JG; Wed, 02 Aug 2023 19:15:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=d1wLjcJg9FiEWaX/Xn3WopQJZQYBCLitG5chy4hwaxs=; b=sMTpKGAKHprp63kxop31AE9YrV
	E8K/w80G/j6Lf1RVUtIhRSyV9reZSIg43m/lkjsDfq+DDzIGVCGUEMfW1LNDZ9DSTa3x3s4mo4he0
	WTMkflFLNryJlf0zJxYZe0MEDj5lp6DkOFaGZkejFFEHzVaotZoVE/4Gmq96WBmgEtCs=;
Message-ID: <cf83ca05-2942-0509-9677-dc97b9dc604e@xen.org>
Date: Wed, 2 Aug 2023 20:15:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <9B62D8DC-2425-42A4-A95F-BC41FA27238D@arm.com>
 <46a985da-03e9-b05d-0107-7c54526c71f9@xen.org>
 <E90F9075-3578-472A-AF42-6495F8E5456B@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <E90F9075-3578-472A-AF42-6495F8E5456B@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 02/08/2023 19:48, Luca Fancellu wrote:
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5cdba07df964..93309cd49144 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -18,6 +18,7 @@ config ARM
>          select HAS_PMAP
>          select HAS_UBSAN
>          select IOMMU_FORCE_PT_SHARE
> +       select GICV2 if !GICV3 && !NEW_VGIC
>   
>   config ARCH_DEFCONFIG
>          string
> 
> If Iâ€™ve played a bit with the menuconfig and it selects GICv2 if no other gic driver is selected, so basically
> as before when gicv2 was always enabled.
> If everyone agrees I can use this solution and include it in the next push

I am not thrilled with this approach. I understand that the default 
today is GICv2, but why should it continue to be like that?

Even if we were switching to GICv3, it feels rather a odd approach 
because you would make it work for one set of the users but not the others.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 19:17:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 19:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575143.900950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRHL9-0001wK-Qw; Wed, 02 Aug 2023 19:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575143.900950; Wed, 02 Aug 2023 19: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 1qRHL9-0001wD-OC; Wed, 02 Aug 2023 19:16:59 +0000
Received: by outflank-mailman (input) for mailman id 575143;
 Wed, 02 Aug 2023 19:16: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 1qRHL8-0001w3-Me; Wed, 02 Aug 2023 19:16: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 1qRHL8-0002Yn-Lo; Wed, 02 Aug 2023 19:16: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 1qRHL8-00038A-Dm; Wed, 02 Aug 2023 19:16:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRHL8-0006F7-DK; Wed, 02 Aug 2023 19: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=/A9jcQgu82W2daKxACbEoJxl2WtNy9GipRlWvoJMxTw=; b=JCWGJ3/6b/JF/KPB4454yOHZwA
	S+GzNKwZkW7nwtdvoGtvjNIsJ3Ktwr070pTrOS2gh9u3+TMtr0bF5q1oOlvRO1vJwBUw+Z5qfgHWE
	0WgOnXGsub+urwoUf8hYB8agga82Rj6bsTFwuO/eCuLOMLIIOOo/RJ5Ud62HBdouvT3o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182124-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182124: 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=da55d9dc919752e092e591a74ab54c2f7d5adfab
X-Osstest-Versions-That:
    xen=51588938e0cd0e02dbc1d6d8c697c577135ff666
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 19:16:58 +0000

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

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                  da55d9dc919752e092e591a74ab54c2f7d5adfab
baseline version:
 xen                  51588938e0cd0e02dbc1d6d8c697c577135ff666

Last test of basis   182112  2023-08-02 09:00:26 Z    0 days
Testing same since   182124  2023-08-02 16:10:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.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
   51588938e0..da55d9dc91  da55d9dc919752e092e591a74ab54c2f7d5adfab -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 20:18:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 20:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575161.900969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRIIm-00009n-JG; Wed, 02 Aug 2023 20:18:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575161.900969; Wed, 02 Aug 2023 20:18:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRIIm-00009e-GF; Wed, 02 Aug 2023 20:18:36 +0000
Received: by outflank-mailman (input) for mailman id 575161;
 Wed, 02 Aug 2023 20:18: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 1qRIIl-00009S-TD; Wed, 02 Aug 2023 20:18: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 1qRIIl-0004C0-Ro; Wed, 02 Aug 2023 20:18: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 1qRIIl-0007Nt-Gu; Wed, 02 Aug 2023 20:18:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRIIl-00064q-GQ; Wed, 02 Aug 2023 20:18: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=WW3CnyCo5oqE4S8av5AUU8E8WLCj6QoZaXb44jbsiGE=; b=0QW0tx8kkC798clXJAJBJ6Dgfv
	e0j6NRpKC+Hf266QHffuyj/Sh8zhfDElqVYC5blUWQB6NhlhQodlJWILLIueUnCKSiKKCjcVVQ6NR
	W9k7MkiicV2sEd8CUmgBGZcSIweLQSYiiYGEhY1rim+jveAm6HtoLI7+7XnoOVjsGivQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182121-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182121: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fa789cc68a85a5781c18c64b9112c779750b2125
X-Osstest-Versions-That:
    ovmf=5cadb8ce2148979b6c464f6da5a8cd97425c5165
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 20:18:35 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fa789cc68a85a5781c18c64b9112c779750b2125
baseline version:
 ovmf                 5cadb8ce2148979b6c464f6da5a8cd97425c5165

Last test of basis   182111  2023-08-02 08:42:38 Z    0 days
Testing same since   182121  2023-08-02 15:40:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Joey Vagedes <joey.vagedes@gmail.com>
  Joey Vagedes <joeyvagedes@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5cadb8ce21..fa789cc68a  fa789cc68a85a5781c18c64b9112c779750b2125 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 20:19:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 20:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575165.900980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRIJx-0000gI-Ty; Wed, 02 Aug 2023 20:19:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575165.900980; Wed, 02 Aug 2023 20: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 1qRIJx-0000gB-R7; Wed, 02 Aug 2023 20:19:49 +0000
Received: by outflank-mailman (input) for mailman id 575165;
 Wed, 02 Aug 2023 20: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=F9x3=DT=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRIJw-0000fz-Ar
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 20:19:48 +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 eb0f4094-3171-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 22:19:45 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691007580777367.84003628495543;
 Wed, 2 Aug 2023 13:19:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb0f4094-3171-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691007583; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=b7hovrLJM2gMZUtVHQojyZiIU+PiuLTi02e9181eLDfBFvrvI73R+cKfOyhyos23ZjyXBPBQ+eYYAdq8bawsOw+aDtiKSM72DMPpAmhsfVvBVGA2eNtb1XVbnD7U4Eflv8+P8zFDV3F1a/cy90df0tmA7SP2oomtfm7JQQfZb2M=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691007583; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=cXdqKLC6su+a6fFUARpsTMErLg/CXMnfU4mRRHRkGKE=; 
	b=JMRqWkVJSKUuynFFxDtw1wAzi2B3xZnjiRjAeSSRs/1YchgMsHh9N3smEGEAojP7aUMAytpstXDGJkFwIFhwV6vA91oLCKaABKY6NNW+pEls831arwIpNImEWLE7HhpyzGsnIHvnaPyXJHR0xVyEHv6e5vf8iLXRsRagdrgD+2M=
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=1691007583;
	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=cXdqKLC6su+a6fFUARpsTMErLg/CXMnfU4mRRHRkGKE=;
	b=syKOAf7NScc8ArgMsH1zxg0VDolAMJuNrZDVspxYy5DET2NaDbqtr544o31KVQbg
	kAreS3teJP9qJK7A3eviEGu5y2dmC2Kc/nOlFvz5A01bqaQvNroXsypqLLqPkug38QB
	fPVzycaAehklGhnhWGIR1Ov95NGgxOmFx5YAWkgY=
Message-ID: <7afba030-48f2-baaf-02f9-dae84107a620@apertussolutions.com>
Date: Wed, 2 Aug 2023 16:19:38 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
 <AS8PR08MB799102916C8CA24C276DB51A920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <AS8PR08MB799102916C8CA24C276DB51A920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/23 02:13, Henry Wang wrote:
> Hi Daniel,

Hey Henry!

>> -----Original Message-----
>> Subject: [PATCH 2/2] fdt: make fdt handling reusable across arch
>>
>> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
>> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
>> introduced for when the ability of parsing DTB files is needed by a capability
>> such as hyperlaunch.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   MAINTAINERS                   |   2 +
>>   xen/arch/arm/bootfdt.c        | 141 +------------------------------
>>   xen/common/Kconfig            |   4 +
>>   xen/common/Makefile           |   3 +-
>>   xen/common/fdt.c              | 153 ++++++++++++++++++++++++++++++++++
>>   xen/include/xen/device_tree.h |  50 +----------
>>   xen/include/xen/fdt.h         |  79 ++++++++++++++++++
>>   7 files changed, 242 insertions(+), 190 deletions(-)
>>   create mode 100644 xen/common/fdt.c
>>   create mode 100644 xen/include/xen/fdt.h
>>
>> +void __init device_tree_get_reg(
>> +    const __be32 **cell, uint32_t address_cells, uint32_t size_cells,
>> +    paddr_t *start, paddr_t *size)
>> +{
>> +    uint64_t dt_start, dt_size;
>> +
>> +    /*
>> +     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
>> +     * Thus, there is an implicit cast from uint64_t to paddr_t.
>> +     */
>> +    dt_start = dt_next_cell(address_cells, cell);
>> +    dt_size = dt_next_cell(size_cells, cell);
>> +
>> +    if ( dt_start != (paddr_t)dt_start )
>> +    {
>> +        printk("Physical address greater than max width supported\n");
>> +        WARN();
>> +    }
>> +
>> +    if ( dt_size != (paddr_t)dt_size )
>> +    {
>> +        printk("Physical size greater than max width supported\n");
>> +        WARN();
>> +    }
>> +
>> +    /*
>> +     * Xen will truncate the address/size if it is greater than the maximum
>> +     * supported width and it will give an appropriate warning.
>> +     */
>> +    *start = dt_start;
>> +    *size = dt_size;
>> +}
>> +
>> +u32 __init device_tree_get_u32(
>> +    const void *fdt, int node, const char *prop_name, u32 dflt)
>> +{
>> +    const struct fdt_property *prop;
>> +
>> +    prop = fdt_get_property(fdt, node, prop_name, NULL);
>> +    if ( !prop || prop->len < sizeof(u32) )
>> +        return dflt;
>> +
>> +    return fdt32_to_cpu(*(uint32_t*)prop->data);
>> +}
> 
> When I tested this patch by our internal CI (I applied this patch on top
> of today's staging:
> c2026b88b5 xen/arm/IRQ: uniform irq_set_affinity() with x86 version),
> there are some build errors as below:
> 
> aarch64-linux-gnu-gcc -MMD -MP -MF ./.asm-offsets.s.d -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs -O2 -fomit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/config.h -mcpu=generic -mgeneral-regs-only -mno-outline-atomics -I./include -I./arch/arm/include -I/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include -I/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Wnested-externs -S -g0 -o asm-offsets.s.new -MQ asm-offsets.s /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/arm64/asm-offsets.c
> In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/arm64/asm-offsets.c:13:
> /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/setup.h:162:6: error: redundant redeclaration of 'device_tree_get_reg' [-Werror=redundant-decls]
>    162 | void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
>        |      ^~~~~~~~~~~~~~~~~~~
> In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/device_tree.h:17,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/smp.h:6,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/smp.h:4,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/rwlock.h:6,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/sched.h:7,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/arm64/asm-offsets.c:9:
> /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/fdt.h:64:13: note: previous declaration of 'device_tree_get_reg' with type 'void(const __be32 **, u32,  u32,  u64 *, u64 *)' {aka 'void(const unsigned int **, unsigned int,  unsigned int,  long unsigned int *, long unsigned int *)'}
>     64 | void __init device_tree_get_reg(
>        |             ^~~~~~~~~~~~~~~~~~~
> In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/arm64/asm-offsets.c:13:
> /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/setup.h:165:5: error: redundant redeclaration of 'device_tree_get_u32' [-Werror=redundant-decls]
>    165 | u32 device_tree_get_u32(const void *fdt, int node,
>        |     ^~~~~~~~~~~~~~~~~~~
> In file included from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/device_tree.h:17,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/include/asm/smp.h:6,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/smp.h:4,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/rwlock.h:6,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/sched.h:7,
>                   from /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/arch/arm/arm64/asm-offsets.c:9:
> /jenkins/workspace/ais-xenbits-xen/layers/xen/xen/include/xen/fdt.h:68:12: note: previous declaration of 'device_tree_get_u32' with type 'u32(const void *, int,  const char *, u32)' {aka 'unsigned int(const void *, int,  const char *, unsigned int)'}
>     68 | u32 __init device_tree_get_u32(
>        |            ^~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> make[2]: *** [/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/./build.mk:45: asm-offsets.s] Error 1
> make[1]: *** [/jenkins/workspace/ais-xenbits-xen/layers/xen/xen/Makefile:597: xen] Error 2
> make[1]: Leaving directory '/jenkins/workspace/ais-xenbits-xen/build/xen-fvp-base'
> make: *** [Makefile:183: __sub-make] Error 2
> make: Leaving directory '/jenkins/workspace/ais-xenbits-xen/layers/xen/xen'
> 
> The staging itself passed the CI check. Did I miss some context to make
> this patch works? Could you please provide some hints? Thanks in advance!

Nope you are correct, I now need to go back and look if I sent patches 
out of the wrong branch or if I really did miss cleaning up the original 
declarations in the Arm tree. I fairly confident I made sure gitlab-ci 
passed before I cut the patches for sending, but since I had three 
different series in flight, I may have gotten jumbled. Apologies for the 
unnecessary churn here.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 20:22:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 20:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575169.900990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRIM6-000290-8z; Wed, 02 Aug 2023 20:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575169.900990; Wed, 02 Aug 2023 20:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRIM6-00028t-68; Wed, 02 Aug 2023 20:22:02 +0000
Received: by outflank-mailman (input) for mailman id 575169;
 Wed, 02 Aug 2023 20:22: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=F9x3=DT=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRIM4-00028n-Lg
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 20:22:00 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a42c37f-3172-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 22:21:58 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691007707481648.6787527259322;
 Wed, 2 Aug 2023 13: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: 3a42c37f-3172-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691007709; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Zz0MjaajDsFBonzv5hWRfcG9dn1TVzO9pufGPhBA74mSIgGTw05Sb7Rp8nD71psO3wHZ+RnBlvkwnDD3yR66XNO6sfGbSBIWgPphDy+A+AWOfgoDTlElrxta+CI0wToaFi8b3cUYZaeAt+gh6VuZmuRPnfconff4hhaGE17Zw3c=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691007709; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Po1VrRofBB295pCEpyxAkDJUrJEKqzaejllOsbYbV7c=; 
	b=LmQWkSNdj7efhEpCmyRHzc4fNfu72rEBiRF0uw65VhpT4F0X6AMrXGYvfdheZ7deaHFW44z5xBlXsaj+HLBHRXFHE2uDVaX4jhPjce1JA6yYlLIYL7edIU7WjV9cuKLtqVfwMuqKY/2rjt1rpzFM9pWnzZV/V91XaJzNNcAMFPU=
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=1691007709;
	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=Po1VrRofBB295pCEpyxAkDJUrJEKqzaejllOsbYbV7c=;
	b=UVHOcOLXVo2d6UQW28XFDE8dMLmvk45dYFhGBEPozIHnXkXur4D6ZSNkeXuSuCfB
	GrhGHgYcC71fNESgHWMv/faCio7u4mb2IbQFyOR+v4KRBWflm8GCaaTPORGr5Rgq0Jm
	bfz2FNijYNszDjK+RJr8AdDSMGiBuJsPDhgve9QM=
Message-ID: <d21df242-d42f-1304-8163-bac45bbedc3b@apertussolutions.com>
Date: Wed, 2 Aug 2023 16:21:45 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
 <6ce3a936-e35e-caf6-b197-66441292bb9b@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <6ce3a936-e35e-caf6-b197-66441292bb9b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/23 03:27, Jan Beulich wrote:
> On 01.08.2023 18:14, Daniel P. Smith wrote:
>> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
>> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
>> introduced for when the ability of parsing DTB files is needed by a capability
>> such as hyperlaunch.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   MAINTAINERS                   |   2 +
>>   xen/arch/arm/bootfdt.c        | 141 +------------------------------
>>   xen/common/Kconfig            |   4 +
>>   xen/common/Makefile           |   3 +-
>>   xen/common/fdt.c              | 153 ++++++++++++++++++++++++++++++++++
>>   xen/include/xen/device_tree.h |  50 +----------
>>   xen/include/xen/fdt.h         |  79 ++++++++++++++++++
>>   7 files changed, 242 insertions(+), 190 deletions(-)
>>   create mode 100644 xen/common/fdt.c
>>   create mode 100644 xen/include/xen/fdt.h
> 
> The filename here ...
> 
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -303,7 +303,9 @@ F:	xen/common/libfdt/
>>   F:	xen/common/device_tree.c
>>   F:	xen/include/xen/libfdt/
>>   F:	xen/include/xen/device_tree.h
>> +F:	include/xen/fdt.h
>>   F:	xen/drivers/passthrough/device_tree.c
>> +F:	common/fdt.c
> 
> ... don't match the additions here. Also please insert in alphabetically
> sorted order, ignoring the previously misplaced final entry (entries),
> unless you want to take the opportunity and get things properly sorted
> again in this section.

Ack, will fix along with ensuring they are properly sorted.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:09:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575241.901043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJ67-0000G8-DH; Wed, 02 Aug 2023 21:09:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575241.901043; Wed, 02 Aug 2023 21:09: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 1qRJ67-0000G1-9q; Wed, 02 Aug 2023 21:09:35 +0000
Received: by outflank-mailman (input) for mailman id 575241;
 Wed, 02 Aug 2023 21:09:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRJ65-0000Fv-LM
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:09:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRJ61-0005Oi-Bm; Wed, 02 Aug 2023 21:09:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRJ61-0007NH-5y; Wed, 02 Aug 2023 21:09:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=NakkT8skXSoyT0IxvsaSFsYRCvpGqz0PGAqwjJn4Rec=; b=Pc9DO3TXie9PzBRUoQiOyt1juF
	oJ3jKGrNKU5DgC0qbncPhBcHRqh7JCIB+pYAQdSghGmNtzC/8X/NjTtDJ4EoLOTmHrpIOgpjoChYl
	UFs3syDmvXmhspTL52RxI6J+RiO33PaCBTkJX3rFHZfCatakY/gWHPbJ18rF1l5UZMQE=;
Message-ID: <78c71235-a4f8-ecce-cd58-56d3cc44e88f@xen.org>
Date: Wed, 2 Aug 2023 22:09:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>, Khem Raj <raj.khem@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20230801174930.2995947-1-raj.khem@gmail.com>
 <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
 <f7501e7b-2064-38dd-af32-738e01a830c5@suse.com>
 <c75870a3-d7b4-891f-7c93-c62e97b25fdb@xen.org>
 <a56b1da7-05c1-fcd0-d39f-0e528ea066a6@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a56b1da7-05c1-fcd0-d39f-0e528ea066a6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 02/08/2023 09:01, Jan Beulich wrote:
> On 02.08.2023 09:54, Julien Grall wrote:
>> On 02/08/2023 08:22, Jan Beulich wrote:
>>> On 01.08.2023 23:02, Julien Grall wrote:
>>>> Title: This patch is not arm32 specific anymore. So I would replace
>>>> 'arm32' with 'arm'. This can be done on commit.
>>>>
>>>> On 01/08/2023 18:49, Khem Raj wrote:
>>>>> Assembler from binutils 2.41 rejects [1] this syntax
>>>>>
>>>>> .section "name"[, flags...]
>>>>>
>>>>> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
>>>>>
>>>>> It is almost like a regression compared to 2.40 or older release,
>>>>
>>>> The next word after ',' start with an uppercase. Did you intend to use
>>>> '.' rather than ','?
>>>>
>>>> That said, the documentation has the following:
>>>>
>>>> For SPARC ELF targets, the assembler supports another type of .section
>>>> directive for compatibility with the Solaris assembler:"
>>>
>>> But note that "SPARC" was added there only by the commit introducing the
>>> perceived regression.
>>
>> Yes, I noticed it while replying yesterday. I still would not describe
>> it as a regression mainly because I am not convinced binutils will
>> revert the change and it feels like a good move.
> 
> I agree as to it being unlikely that the change is going to be (partly)
> reverted, unless someone strongly advocated for it. It also wouldn't be
> of much use to us, unless a 2.41.1 was cut very soon.
> 
>> Also, regarding your point about older tree on the bug report. I don't
>> think we guarantee that stable works all new toolchain without any change.
> 
> We don't guarantee that, no, but I think it is in our own interest to
> keep things building with the newest tool chains. When build-testing
> stable tree commits before pushing, I don't want to always have to
> remember to force the build to use an older tool chain, when normally
> my build rune would default to a pretty up-to-date one.

This is where gitlab would definitely help because we can keep 
containers around to build older Xen versions.

>  This is also
> why for this specific class of changes I typically prefer to see them
> also go onto the security-only stable trees.

I am ok if this is backported to older tree. This is trivial enough.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:16:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575245.901053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJCe-0001jz-2V; Wed, 02 Aug 2023 21:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575245.901053; Wed, 02 Aug 2023 21: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 1qRJCd-0001js-W2; Wed, 02 Aug 2023 21:16:19 +0000
Received: by outflank-mailman (input) for mailman id 575245;
 Wed, 02 Aug 2023 21:16: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJCc-0001jm-Q3
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:16:18 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfd17f12-3179-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:16:15 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LFrXm008271
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:15:59 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LFrg0008270;
 Wed, 2 Aug 2023 14:15:53 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfd17f12-3179-11ee-8613-37d641c3527e
Message-Id: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 2 Aug 2023 08:33:47 -0700
Subject: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
X-Spam-Status: No, score=1.5 required=10.0 tests=DATE_IN_PAST_03_06,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: *
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Is there a freeze on that I'm unaware of?  Is there so much traffic from
other developers that smaller output ones are being missed?  I'm
wondering about the initial revision of this series not getting any
feedback:
https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01264.html


Due to the lack of news on the first thread, I've done some looking to
assess the feasibility.  The xl.cfg parser looks a bit jumbled.  Too many
things are visible to too many places.  In general some pieces have
really needed some TLC for a long time.

Note, some portions of this are semi-WIP.  The first 5 patches are simply
overdue maintenance.  Not particularly urgent, but should probably be
done.

Patch #06 is rather more urgent maintenance.  While it might not explode
soon, that is a landmine.

Patch #07 is the first big issue.  The roles of the various headers had
never been sorted out.  The underlying issue was more the contents of
"libxlu_cfg_i.h" needed to be merged into "libxlu_cfg_y.h".  Bison 2.3
may not have had the ability to embedded things into its header in 2010,
but the functionality appears to have been present in Bison 3.3.

There is an issue of what level of indentation should be used in
libxlu_cfg_y.y?  Normally the sections being added wouldn't be indented,
but normally they would be directly in headers.  I'm unsure of which
direction to go here.

Patch #08 seemed best to leave after #07 due to overlap and difficulty
with reordering.  I'm a bit worried about the interfacing with flex.


Then comes the issue of moving things out of libxlu_internal.h which
should never have been there.  The XLU_Config* values should have been
placed in libxlu_cfg_i.h instead.  Since I'm doing a thorough job,
they're instead moving to libxlu_cfg.c.

I'm unsure splitting libxlu_cfg.c is worthwhile.  The resultant reusable
libxlu_cfg.c is rather small.  Yet avoiding the need to reimplement the
small portion is handy.


Is the decision to keep in-tree copies of current Flex/Bison output still
valid?  I would be awful tempted to remove them from main/master, even
if copies are maintained on release branches.


Elliott Mitchell (22):
  tools/utils: cleanup formatting of libxlutil.h
  tools/utils: rename "n" arguments to "key"
  tools/utils: remove old declaration of xlu__cfg_yyparse()
  tools/utils: enable all Bison warnings
  tools/utils: update Bison parser directives
  tools/utils: remove libxlu_cfg_i.h from libxlu_disk.c
  tools/utils: merge contents of libxlu_cfg_i.h to libxlu_cfg_y.y
  tools/utils: Bison: switch from name-prefix to api.prefix
  tools/utils: move CfgParseContext to top of libxlu_cfg_y.y
  tools/utils: move XLU_ConfigSetting to libxl_cfg.c
  tools/utils: move XLU_ConfigValue to libxl_cfg.c
  tools/utils: remove YYLTYPE definition from libxlu_internal.h
  tools/utils: move XLU_ConfigList to libxl_cfg.c
  tools/utils: introduce xlu_cfg_printf() function
  tools/utils: move XLU_Config to libxlu_cfg.c
  tools/utils: move XLU_Operation to libxlu_cfg_y.h
  tools/utils: move setting free loop to xlu__cfg_set_free()
  tools/utils: spread xlu_cfg_printf() over libxlu_cfg.c
  tools/utils: add pointer to in-progress settings to CfgParseContext
  tools/utils: add wrapper for readfile()/readdata() functions
  tools/utils: add settings get function
  tools/utils: break flex/bison parser away from main config file

 tools/include/libxlutil.h                     |  31 +-
 tools/libs/util/Makefile                      |   3 +-
 tools/libs/util/libxlu_cfg.c                  | 679 ++----------------
 .../util/{libxlu_cfg.c => libxlu_cfg_i.c}     | 196 +++--
 tools/libs/util/libxlu_cfg_i.h                |  59 --
 tools/libs/util/libxlu_cfg_l.l                |   2 +-
 tools/libs/util/libxlu_cfg_y.y                |  58 +-
 tools/libs/util/libxlu_disk.c                 |  15 +-
 tools/libs/util/libxlu_internal.h             |  59 +-
 tools/libs/util/libxlu_pci.c                  |  11 +-
 tools/libs/util/libxlu_vif.c                  |   4 +-
 11 files changed, 223 insertions(+), 894 deletions(-)
 copy tools/libs/util/{libxlu_cfg.c => libxlu_cfg_i.c} (78%)
 delete mode 100644 tools/libs/util/libxlu_cfg_i.h

-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:17:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575263.901063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJDL-0002KV-HN; Wed, 02 Aug 2023 21:17:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575263.901063; Wed, 02 Aug 2023 21:17: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 1qRJDL-0002KO-El; Wed, 02 Aug 2023 21:17:03 +0000
Received: by outflank-mailman (input) for mailman id 575263;
 Wed, 02 Aug 2023 21: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJDK-0001jm-97
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:17:02 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eab11be8-3179-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:17:00 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LGkRh008303
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:16:51 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LGkHC008302;
 Wed, 2 Aug 2023 14:16:46 -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: eab11be8-3179-11ee-8613-37d641c3527e
Message-Id: <81a887863224ef22b8d582129fc3cbda596c7880.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Mon, 10 Jul 2023 15:55:30 -0700
Subject: [PATCH 01/22] tools/utils: cleanup formatting of libxlutil.h
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Some arguments included a name, but not all did.  Now use "cfg" for
all uses of XLU_Config * and "list" for uses of XLU_ConfigList *.

Also fix some spaces missing from xlu_cfg_get_defbool()'s prototype.

Rename the "b" argument of xlu_cfg_get_defbool() to "value_r".  Similar
to other functions this is where the returned value is stored.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/include/libxlutil.h    | 22 +++++++++++-----------
 tools/libs/util/libxlu_cfg.c |  6 +++---
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/tools/include/libxlutil.h b/tools/include/libxlutil.h
index 4dd3c5e92b..fcbe41b15a 100644
--- a/tools/include/libxlutil.h
+++ b/tools/include/libxlutil.h
@@ -40,12 +40,12 @@ XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename);
   /* report_filename is copied; report is saved and must remain valid
    *  until the Config is destroyed. */
 
-int xlu_cfg_readfile(XLU_Config*, const char *real_filename);
-int xlu_cfg_readdata(XLU_Config*, const char *data, int length);
+int xlu_cfg_readfile(XLU_Config *cfg, const char *real_filename);
+int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length);
   /* If these fail, then it is undefined behaviour to call xlu_cfg_get_...
    * functions.  You have to just xlu_cfg_destroy. */
 
-void xlu_cfg_destroy(XLU_Config*);
+void xlu_cfg_destroy(XLU_Config *cfg);
 
 
 /* All of the following print warnings to "report" if there is a problem.
@@ -56,26 +56,26 @@ void xlu_cfg_destroy(XLU_Config*);
  *   ERANGE   value out of range (from strtol)
  */
 
-int xlu_cfg_get_string(const XLU_Config*, const char *n, const char **value_r,
-                       int dont_warn);
+int xlu_cfg_get_string(const XLU_Config *cfg, const char *n,
+                       const char **value_r, int dont_warn);
 /* free/strdup version */
 int xlu_cfg_replace_string(const XLU_Config *cfg, const char *n,
                            char **value_r, int dont_warn);
-int xlu_cfg_get_long(const XLU_Config*, const char *n, long *value_r,
+int xlu_cfg_get_long(const XLU_Config *cfg, const char *n, long *value_r,
                      int dont_warn);
-int xlu_cfg_get_bounded_long(const XLU_Config*, const char *n, long min,
+int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n, long min,
                              long max, long *value_r, int dont_warn);
-int xlu_cfg_get_defbool(const XLU_Config*, const char *n, libxl_defbool *b,
-                     int dont_warn);
+int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n,
+                        libxl_defbool *value_r, int dont_warn);
 
-int xlu_cfg_get_list(const XLU_Config*, const char *n,
+int xlu_cfg_get_list(const XLU_Config *cfg, const char *n,
                      XLU_ConfigList **list_r /* may be 0 */,
                      int *entries_r /* may be 0 */,
                      int dont_warn);
   /* there is no need to free *list_r; lifetime is that of the XLU_Config */
 int xlu_cfg_get_list_as_string_list(const XLU_Config *cfg, const char *n,
                                     libxl_string_list *sl, int dont_warn);
-const char *xlu_cfg_get_listitem(const XLU_ConfigList*, int entry);
+const char *xlu_cfg_get_listitem(const XLU_ConfigList *list, int entry);
   /* xlu_cfg_get_listitem cannot fail, except that if entry is
    * out of range it returns 0 (not setting errno) */
 
diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 874f5abfb9..87ac8c4b41 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -328,15 +328,15 @@ int xlu_cfg_get_long(const XLU_Config *cfg, const char *n,
                                     dont_warn);
 }
 
-int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n, libxl_defbool *b,
-                     int dont_warn)
+int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n,
+                        libxl_defbool *value_r, int dont_warn)
 {
     int ret;
     long l;
 
     ret = xlu_cfg_get_long(cfg, n, &l, dont_warn);
     if (ret) return ret;
-    libxl_defbool_set(b, !!l);
+    libxl_defbool_set(value_r, !!l);
     return 0;
 }
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:18:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575281.901073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJEv-0002w9-Sc; Wed, 02 Aug 2023 21:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575281.901073; Wed, 02 Aug 2023 21:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJEv-0002w2-PK; Wed, 02 Aug 2023 21:18:41 +0000
Received: by outflank-mailman (input) for mailman id 575281;
 Wed, 02 Aug 2023 21:18: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJEu-0002vw-Gn
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:18:40 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25e12516-317a-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:18:39 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LIUvV008334
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:18:36 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LIUPs008333;
 Wed, 2 Aug 2023 14:18:30 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25e12516-317a-11ee-b263-6b7b168915f2
Message-Id: <2d87776c7cf9637f10cade3de5c9dcd3d1c96931.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 26 Jul 2023 21:09:21 -0700
Subject: [PATCH 03/22] tools/utils: remove old declaration of
 xlu__cfg_yyparse()
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

This was added at b104c3762dc.  Appears this was fixed in the intervening
decade.  Otherwise this could have been an issue from using advanced
features of Bison.  Now this appears unnecessary.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_cfg_i.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg_i.h b/tools/libs/util/libxlu_cfg_i.h
index 4217f5b28d..3717b9460c 100644
--- a/tools/libs/util/libxlu_cfg_i.h
+++ b/tools/libs/util/libxlu_cfg_i.h
@@ -42,12 +42,6 @@ void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
 
 void xlu__cfgl_likely_python(CfgParseContext *ctx);
 
-
-
-/* Why oh why does bison not declare this in its autogenerated .h ? */
-int xlu__cfg_yyparse(CfgParseContext *ctx);
-
-
 #endif /*LIBXLU_CFG_I_H*/
 
 /*
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:19:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575297.901082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJFm-0003UB-4Y; Wed, 02 Aug 2023 21:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575297.901082; Wed, 02 Aug 2023 21: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 1qRJFm-0003U4-1l; Wed, 02 Aug 2023 21:19:34 +0000
Received: by outflank-mailman (input) for mailman id 575297;
 Wed, 02 Aug 2023 21: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJFk-0003Tu-Br
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:19:32 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44d95d70-317a-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:19:31 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LJMDH008355
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:19:27 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LJMYx008354;
 Wed, 2 Aug 2023 14:19:22 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44d95d70-317a-11ee-b263-6b7b168915f2
Message-Id: <3aa2df31a341c97d0cc21b1837233446ff1d48c2.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Thu, 27 Jul 2023 14:43:15 -0700
Subject: [PATCH 04/22] tools/utils: enable all Bison warnings
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Warnings from Bison seem less likely to be urgent, but on general
principle enable everything.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/util/Makefile b/tools/libs/util/Makefile
index c3b21875dc..d2c90ced69 100644
--- a/tools/libs/util/Makefile
+++ b/tools/libs/util/Makefile
@@ -50,7 +50,7 @@ $(OBJS-y) $(PIC_OBJS): libxlu_cfg_l.c libxlu_cfg_y.c libxlu_disk_l.c
 
 %.c %.h:: %.y
 	@rm -f $*.[ch]
-	$(BISON) --output=$*.c $<
+	$(BISON) -Wall --output=$*.c $<
 
 %.c %.h:: %.l
 	@rm -f $*.[ch]
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:21:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575318.901093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJHS-0004vc-FR; Wed, 02 Aug 2023 21:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575318.901093; Wed, 02 Aug 2023 21:21:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJHS-0004vV-C7; Wed, 02 Aug 2023 21:21:18 +0000
Received: by outflank-mailman (input) for mailman id 575318;
 Wed, 02 Aug 2023 21:21: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJHR-0004vP-NF
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:21:17 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83949012-317a-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:21:16 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LL7DC008373
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:21:12 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LL6lp008372;
 Wed, 2 Aug 2023 14:21:06 -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: 83949012-317a-11ee-b263-6b7b168915f2
Message-Id: <07d4758b3ce8b3680c7b0107329033925832a15d.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 18 Jul 2023 22:02:48 -0700
Subject: [PATCH 06/22] tools/utils: remove libxlu_cfg_i.h from libxlu_disk.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

The upper layer disk string parser doesn't need the internals of the
lower layer file parser.  Split the layers apart.  This looks to have
been a copy&paste issue.

Fixes: 5c206536ad ("libxl: disks: new xlu_disk_parse function")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_disk.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tools/libs/util/libxlu_disk.c b/tools/libs/util/libxlu_disk.c
index 1de16a6a06..e94f4d06cd 100644
--- a/tools/libs/util/libxlu_disk.c
+++ b/tools/libs/util/libxlu_disk.c
@@ -1,7 +1,6 @@
 #include "libxlu_internal.h"
 #include "libxlu_disk_l.h"
 #include "libxlu_disk_i.h"
-#include "libxlu_cfg_i.h"
 
 void xlu__disk_err(DiskParseContext *dpc, const char *erroneous,
                    const char *message) {
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:22:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575335.901103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJIJ-0005Ul-Ow; Wed, 02 Aug 2023 21:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575335.901103; Wed, 02 Aug 2023 21: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 1qRJIJ-0005Ue-M5; Wed, 02 Aug 2023 21:22:11 +0000
Received: by outflank-mailman (input) for mailman id 575335;
 Wed, 02 Aug 2023 21:22: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJII-0005Ie-Kh
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:22:10 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a2aa3667-317a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:22:08 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LLxep008383
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:22:05 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LLx0F008382;
 Wed, 2 Aug 2023 14:21:59 -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: a2aa3667-317a-11ee-8613-37d641c3527e
Message-Id: <39785555d883fa43b03423e68964bd21f92e791a.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Fri, 28 Jul 2023 12:10:14 -0700
Subject: [PATCH 07/22] tools/utils: merge contents of libxlu_cfg_i.h to
 libxlu_cfg_y.y
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Bison has added the ability to emit declarations in its header.  As such
everything can instead be dumped in Bison's header instead of having a
private one.

This resolves the mixed up situation with the libxlu headers.  Problem is
libxlu_cfg_i.h was trying to function as a wrapper for libxlu_cfg_y.h.
Issue is libxlu_cfg.c's #include order didn't match and thus everything
was fragile.

Fixes: b104c3762d ('Replace config file parser for "xl"')
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
The bug @b104c3762d was the incorrect ordering of #includes in
libxlu_cfg.c.  It should instead have been:
 #include "libxlu_cfg_i.h"
 #include "libxlu_cfg_l.h"

Had this bug not been present, later commits might have looked deeper and
chosen correct solutions.  Instead this resulted in all the ripples which
this series fixes.

I'm unsure whether Bison had implemented the %code feature by this point
in time.

The one and a half remaining issues are whether to convert the %{ %}
section to %code and move it after the %union.  The %union construct ends
up in libxlu_cfg_y.h, whereas the %{ %}/%code construct ends up in
libxlu_cfg_y.c.
---
 tools/libs/util/libxlu_cfg.c   |  1 -
 tools/libs/util/libxlu_cfg_i.h | 53 ----------------------------------
 tools/libs/util/libxlu_cfg_l.l |  2 +-
 tools/libs/util/libxlu_cfg_y.y | 29 ++++++++++++++++++-
 4 files changed, 29 insertions(+), 56 deletions(-)
 delete mode 100644 tools/libs/util/libxlu_cfg_i.h

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 87ac8c4b41..7e9eec550d 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -22,7 +22,6 @@
 #include "libxlu_internal.h"
 #include "libxlu_cfg_y.h"
 #include "libxlu_cfg_l.h"
-#include "libxlu_cfg_i.h"
 
 XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
diff --git a/tools/libs/util/libxlu_cfg_i.h b/tools/libs/util/libxlu_cfg_i.h
deleted file mode 100644
index 3717b9460c..0000000000
--- a/tools/libs/util/libxlu_cfg_i.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * libxlu_cfg_i.h - xl configuration file parsing: parser-internal declarations
- *
- * Copyright (C) 2010      Citrix Ltd.
- * Author Ian Jackson <ian.jackson@eu.citrix.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.
- */
-
-#ifndef LIBXLU_CFG_I_H
-#define LIBXLU_CFG_I_H
-
-#include "libxlu_internal.h"
-#include "libxlu_cfg_y.h"
-
-void xlu__cfg_set_free(XLU_ConfigSetting *set);
-void xlu__cfg_set_store(CfgParseContext*, char *name,
-                        enum XLU_Operation op,
-                        XLU_ConfigValue *val, int lineno);
-XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx,
-                                    char *atom, YYLTYPE *loc);
-XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
-                                  XLU_ConfigValue *val,
-                                  YYLTYPE *loc);
-void xlu__cfg_list_append(CfgParseContext *ctx,
-                          XLU_ConfigValue *list,
-                          XLU_ConfigValue *val);
-void xlu__cfg_value_free(XLU_ConfigValue *value);
-char *xlu__cfgl_strdup(CfgParseContext*, const char *src);
-char *xlu__cfgl_dequote(CfgParseContext*, const char *src);
-
-void xlu__cfg_yyerror(YYLTYPE *locp, CfgParseContext*, char const *msg);
-void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
-
-void xlu__cfgl_likely_python(CfgParseContext *ctx);
-
-#endif /*LIBXLU_CFG_I_H*/
-
-/*
- * Local variables:
- * mode: C
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/tools/libs/util/libxlu_cfg_l.l b/tools/libs/util/libxlu_cfg_l.l
index 390d6e2c2b..ba023fd679 100644
--- a/tools/libs/util/libxlu_cfg_l.l
+++ b/tools/libs/util/libxlu_cfg_l.l
@@ -17,7 +17,7 @@
  */
 
 %{
-#include "libxlu_cfg_i.h"
+#include "libxlu_cfg_y.h"
 
 #define ctx ((CfgParseContext*)yyextra)
 #define YY_NO_INPUT
diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index e53d8ed337..e796066941 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -16,9 +16,36 @@
  * GNU Lesser General Public License for more details.
  */
 
+%code requires {
+#include "libxlu_internal.h"
+}
+
+%code provides {
+void xlu__cfg_set_free(XLU_ConfigSetting *set);
+void xlu__cfg_set_store(CfgParseContext*, char *name,
+                        enum XLU_Operation op,
+                        XLU_ConfigValue *val, int lineno);
+XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx,
+                                    char *atom, YYLTYPE *loc);
+XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
+                                  XLU_ConfigValue *val,
+                                  YYLTYPE *loc);
+void xlu__cfg_list_append(CfgParseContext *ctx,
+                          XLU_ConfigValue *list,
+                          XLU_ConfigValue *val);
+void xlu__cfg_value_free(XLU_ConfigValue *value);
+char *xlu__cfgl_strdup(CfgParseContext*, const char *src);
+char *xlu__cfgl_dequote(CfgParseContext*, const char *src);
+
+void xlu__cfg_yyerror(YYLTYPE *locp, CfgParseContext*, char const *msg);
+void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
+
+void xlu__cfgl_likely_python(CfgParseContext *ctx);
+}
+
 %{
 #define ctx_scanner ctx->scanner
-#include "libxlu_cfg_i.h"
+#include "libxlu_cfg_y.h"
 #include "libxlu_cfg_l.h"
 %}
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:23:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575359.901116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJK0-000680-5P; Wed, 02 Aug 2023 21:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575359.901116; Wed, 02 Aug 2023 21:23:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJK0-00067t-2j; Wed, 02 Aug 2023 21:23:56 +0000
Received: by outflank-mailman (input) for mailman id 575359;
 Wed, 02 Aug 2023 21:23:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJJz-00067Z-5k
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:23:55 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0e72bc8-317a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:23:53 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LNhnU008407
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:23:49 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LNhDC008406;
 Wed, 2 Aug 2023 14:23:43 -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: e0e72bc8-317a-11ee-8613-37d641c3527e
Message-Id: <58041bfb2a8ce9a54a337a2293c5094c119f7390.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 26 Jul 2023 21:56:32 -0700
Subject: [PATCH 09/22] tools/utils: move CfgParseContext to top of
 libxlu_cfg_y.y
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

The CfgParseContext structure/typedef is used inside the parser.  Whereas
most #include's of libxlu_internal.h need the common declarations, not
the parser internals.  Due to this, the structure should be near the top
of libxlu_cfg_y.h (libxlu_cfg_i.h @b104c3762d), and not towards the
middle of libxlu_internal.h.

Fixes: b104c3762d ('Replace config file parser for "xl"')
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Ideally at @b104c3762d Bison might already have implemented its %code
feature.  Less ideal, but workable CfgParseContext should have been
placed in libxlu_cfg_i.h, between the two #includes:
 #include "libxlu_internal.h"
 typedef struct { } CfgParseContext;
 #include "libxlu_cfg_y.h"

Using Bison's %code feature is rather superior though.  This patch is
where indentation in Bison.y files becomes crucial.  I'm unsure of the
call to make, so I've left this as cut&paste which means this will almost
certainly change.
---
 tools/libs/util/libxlu_cfg_y.y    | 6 ++++++
 tools/libs/util/libxlu_internal.h | 6 ------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index adbb74ff11..75e7140478 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -18,6 +18,12 @@
 
 %code requires {
 #include "libxlu_internal.h"
+
+typedef struct {
+    XLU_Config *cfg;
+    int err, lexerrlineno, likely_python;
+    void *scanner;
+} CfgParseContext;
 }
 
 %code provides {
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 01fe073069..246ad0bde7 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -63,12 +63,6 @@ struct XLU_Config {
     char *config_source;
 };
 
-typedef struct {
-    XLU_Config *cfg;
-    int err, lexerrlineno, likely_python;
-    void *scanner;
-} CfgParseContext;
-
 
 #define STRINGIFY(x) #x
 #define TOSTRING(x) STRINGIFY(x)
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:24:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:24:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575374.901126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJKq-0006l8-IS; Wed, 02 Aug 2023 21:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575374.901126; Wed, 02 Aug 2023 21: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 1qRJKq-0006l1-Fn; Wed, 02 Aug 2023 21:24:48 +0000
Received: by outflank-mailman (input) for mailman id 575374;
 Wed, 02 Aug 2023 21:24: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJKo-00067Z-UA
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:24:46 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffe0de99-317a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:24:45 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LOZ04008420
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:24:41 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LOZN1008419;
 Wed, 2 Aug 2023 14:24:35 -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: ffe0de99-317a-11ee-8613-37d641c3527e
Message-Id: <e25a056307c43161cdd93bb9aaf6c5073971034f.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 18 Jul 2023 16:31:34 -0700
Subject: [PATCH 10/22] tools/utils: move XLU_ConfigSetting to libxl_cfg.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

XLU_ConfigSetting is only used inside libxl_cfg.c, so no need for it in
the internal header.  Keep the type definition in libxlu_internal.h as
the incomplete definition is needed for xlu__cfg_set_free().

There is no longer any need for XLU_ConfigSetting to be transparent.

Fixes: b104c3762d, 1a09c5113a ("libxlu: rework internal representation of setting")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
@1a09c5113a deeper probing should have been done and figured out
everything needed to move to libxlu_cfg_i.h.  Making use of %code would
have been better, but moving would have been sufficient.

Note: If the decision is made to keep libxlu_cfg.c intact, then the type
definition should be in libxlu_cfg_y.y/libxlu_cfg_y.h.
---
 tools/libs/util/libxlu_cfg.c      | 8 ++++++++
 tools/libs/util/libxlu_internal.h | 8 +-------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 20534343f4..2ad58d4240 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -23,6 +23,14 @@
 #include "libxlu_cfg_y.h"
 #include "libxlu_cfg_l.h"
 
+struct XLU_ConfigSetting {
+    struct XLU_ConfigSetting *next;
+    char *name;
+    XLU_ConfigValue *value;
+    enum XLU_Operation op;
+    int lineno;
+};
+
 XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 246ad0bde7..bf1827ea73 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -49,13 +49,7 @@ struct XLU_ConfigValue {
     XLU__CFG_YYLTYPE loc;
 };
 
-typedef struct XLU_ConfigSetting { /* transparent */
-    struct XLU_ConfigSetting *next;
-    char *name;
-    XLU_ConfigValue *value;
-    enum XLU_Operation op;
-    int lineno;
-} XLU_ConfigSetting;
+typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 
 struct XLU_Config {
     XLU_ConfigSetting *settings;
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575437.901171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNe-0008G6-7X; Wed, 02 Aug 2023 21:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575437.901171; Wed, 02 Aug 2023 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 1qRJNe-0008Ew-0h; Wed, 02 Aug 2023 21:27:42 +0000
Received: by outflank-mailman (input) for mailman id 575437;
 Wed, 02 Aug 2023 21:27: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJMU-0004vP-FI
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:26:30 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e3e1e12-317b-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:26:29 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LQKx1008439
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:26:26 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LQKN6008438;
 Wed, 2 Aug 2023 14:26:20 -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: 3e3e1e12-317b-11ee-b263-6b7b168915f2
Message-Id: <ab3e13091009dc781bda87582cc119354a7cd1ec.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 18 Jul 2023 23:07:20 -0700
Subject: [PATCH 12/22] tools/utils: remove YYLTYPE definition from
 libxlu_internal.h
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

The definition was needed due to XLU_ConfigValue being before Bison's
declaration of YYLTYPE.  Since XLU_ConfigValue has moved to libxlu_cfg.c,
the duplication is now unnecessary.

Fixes: 1a09c5113a, 6ec86e91c8 ("libxlu: record location when parsing values")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Had @1a09c5113a placed the structure definition in libxlu_cfg_i.h, there
never would have been a need to override YYLTYPE.
---
 tools/libs/util/libxlu_internal.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 1a9d25e14e..c68669c3a1 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -31,15 +31,6 @@ struct XLU_ConfigList {
     XLU_ConfigValue **values;
 };
 
-typedef struct XLU__CFG_YYLTYPE
-{
-  int first_line;
-  int first_column;
-  int last_line;
-  int last_column;
-} XLU__CFG_YYLTYPE;
-#define XLU__CFG_YYLTYPE_IS_DECLARED
-
 typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 
 struct XLU_Config {
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575436.901167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNd-0008DV-Rm; Wed, 02 Aug 2023 21:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575436.901167; Wed, 02 Aug 2023 21:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNd-0008DE-MB; Wed, 02 Aug 2023 21:27:41 +0000
Received: by outflank-mailman (input) for mailman id 575436;
 Wed, 02 Aug 2023 21: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJE7-0001jm-EO
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:17:51 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08349857-317a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:17:49 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LHc3i008327
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:17:43 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LHcDt008326;
 Wed, 2 Aug 2023 14:17:38 -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: 08349857-317a-11ee-8613-37d641c3527e
Message-Id: <dd995e0b975d55b905ad6f668bac7cf56992981a.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 12 Jul 2023 23:29:59 -0700
Subject: [PATCH 02/22] tools/utils: rename "n" arguments to "key"
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Hopefully make it clearer to others this is the key associated with the
storage value to retrieve.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/include/libxlutil.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/include/libxlutil.h b/tools/include/libxlutil.h
index fcbe41b15a..0ce66c2096 100644
--- a/tools/include/libxlutil.h
+++ b/tools/include/libxlutil.h
@@ -56,24 +56,24 @@ void xlu_cfg_destroy(XLU_Config *cfg);
  *   ERANGE   value out of range (from strtol)
  */
 
-int xlu_cfg_get_string(const XLU_Config *cfg, const char *n,
+int xlu_cfg_get_string(const XLU_Config *cfg, const char *key,
                        const char **value_r, int dont_warn);
 /* free/strdup version */
-int xlu_cfg_replace_string(const XLU_Config *cfg, const char *n,
+int xlu_cfg_replace_string(const XLU_Config *cfg, const char *key,
                            char **value_r, int dont_warn);
-int xlu_cfg_get_long(const XLU_Config *cfg, const char *n, long *value_r,
+int xlu_cfg_get_long(const XLU_Config *cfg, const char *key, long *value_r,
                      int dont_warn);
-int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n, long min,
+int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *key, long min,
                              long max, long *value_r, int dont_warn);
-int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n,
+int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *key,
                         libxl_defbool *value_r, int dont_warn);
 
-int xlu_cfg_get_list(const XLU_Config *cfg, const char *n,
+int xlu_cfg_get_list(const XLU_Config *cfg, const char *key,
                      XLU_ConfigList **list_r /* may be 0 */,
                      int *entries_r /* may be 0 */,
                      int dont_warn);
   /* there is no need to free *list_r; lifetime is that of the XLU_Config */
-int xlu_cfg_get_list_as_string_list(const XLU_Config *cfg, const char *n,
+int xlu_cfg_get_list_as_string_list(const XLU_Config *cfg, const char *key,
                                     libxl_string_list *sl, int dont_warn);
 const char *xlu_cfg_get_listitem(const XLU_ConfigList *list, int entry);
   /* xlu_cfg_get_listitem cannot fail, except that if entry is
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575421.901136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNb-0007Sv-0f; Wed, 02 Aug 2023 21:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575421.901136; Wed, 02 Aug 2023 21:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNa-0007Sj-TH; Wed, 02 Aug 2023 21:27:38 +0000
Received: by outflank-mailman (input) for mailman id 575421;
 Wed, 02 Aug 2023 21:27: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJGb-0003L7-Jc
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:20:25 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64102d71-317a-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:20:23 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LKEVN008367
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:20:19 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LKE6T008366;
 Wed, 2 Aug 2023 14:20:14 -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: 64102d71-317a-11ee-8613-37d641c3527e
Message-Id: <6a645ebcf70c46df5a3ce0d8539d1108d9927d19.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Sat, 29 Jul 2023 16:04:18 -0700
Subject: [PATCH 05/22] tools/utils: update Bison parser directives
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Update per Bison's obsolete warnings.  Testing indicates these are simple
and safe.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Someone check for acceptable Bison versions?

I'm testing with Flex 2.6.4 and Bison 3.7.5.
---
 tools/libs/util/libxlu_cfg_y.y | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index 020fc63eb3..e53d8ed337 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -28,9 +28,9 @@
 }
 
 %locations
-%pure-parser
+%define api.pure
 %defines
-%error-verbose
+%define parse.error verbose
 %name-prefix "xlu__cfg_yy"
 %parse-param { CfgParseContext *ctx }
 %lex-param { ctx_scanner }
@@ -48,7 +48,7 @@
 file:  stmts
  |     stmts assignment
 
-stmts:  /* empty */
+stmts:  %empty
  |      stmts stmt
 
 stmt:   assignment endstmt
@@ -67,13 +67,12 @@ value:  atom                         { $$= xlu__cfg_string_mk(ctx,$1,&@1); }
 atom:   STRING                   { $$= $1; }
  |      NUMBER                   { $$= $1; }
 
-valuelist: /* empty */           { $$= xlu__cfg_list_mk(ctx,NULL,&yylloc); }
+valuelist: %empty               { $$= xlu__cfg_list_mk(ctx,NULL,&yylloc); }
  |      values                  { $$= $1; }
  |      values ',' nlok         { $$= $1; }
 
 values: value nlok                  { $$= xlu__cfg_list_mk(ctx,$1,&@1); }
  |      values ',' nlok value nlok  { xlu__cfg_list_append(ctx,$1,$4); $$= $1; }
 
-nlok:
-        /* nothing */
+nlok:   %empty
  |      nlok NEWLINE
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575426.901147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNb-0007YR-KB; Wed, 02 Aug 2023 21:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575426.901147; Wed, 02 Aug 2023 21: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 1qRJNb-0007WQ-Bz; Wed, 02 Aug 2023 21:27:39 +0000
Received: by outflank-mailman (input) for mailman id 575426;
 Wed, 02 Aug 2023 21: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJLe-0004vP-1G
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:25:38 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ef7b072-317b-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:25:37 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LPSkE008432
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:25:33 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LPS4R008431;
 Wed, 2 Aug 2023 14:25:28 -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: 1ef7b072-317b-11ee-b263-6b7b168915f2
Message-Id: <22cd5f8f7d7d7c54a1a02a36bcd32c88632c6dbb.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 18 Jul 2023 23:07:20 -0700
Subject: [PATCH 11/22] tools/utils: move XLU_ConfigValue to libxl_cfg.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

At no point was the complete type for XLU_ConfigValue used anywhere
besides libxlu_cfg.c, overdue for a move.

Fixes: 1a09c5113a ("libxlu: rework internal representation of setting")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_cfg.c      | 9 +++++++++
 tools/libs/util/libxlu_internal.h | 9 ---------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 2ad58d4240..d3b5c86ed6 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -31,6 +31,15 @@ struct XLU_ConfigSetting {
     int lineno;
 };
 
+struct XLU_ConfigValue {
+    enum XLU_ConfigValueType type;
+    union {
+        char *string;
+        XLU_ConfigList list;
+    } u;
+    XLU__CFG_YYLTYPE loc;
+};
+
 XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index bf1827ea73..1a9d25e14e 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -40,15 +40,6 @@ typedef struct XLU__CFG_YYLTYPE
 } XLU__CFG_YYLTYPE;
 #define XLU__CFG_YYLTYPE_IS_DECLARED
 
-struct XLU_ConfigValue {
-    enum XLU_ConfigValueType type;
-    union {
-        char *string;
-        XLU_ConfigList list;
-    } u;
-    XLU__CFG_YYLTYPE loc;
-};
-
 typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 
 struct XLU_Config {
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575423.901141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJNb-0007V6-A5; Wed, 02 Aug 2023 21:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575423.901141; Wed, 02 Aug 2023 21: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 1qRJNb-0007Tn-3h; Wed, 02 Aug 2023 21:27:39 +0000
Received: by outflank-mailman (input) for mailman id 575423;
 Wed, 02 Aug 2023 21:27: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJJ7-0004vP-OS
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:23:01 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1bf85c8-317a-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:23:01 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LMpRt008400
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:22:57 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LMphh008399;
 Wed, 2 Aug 2023 14:22:51 -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: c1bf85c8-317a-11ee-b263-6b7b168915f2
Message-Id: <cdd94e122d92f65b6df668faac3f8d2b25eddb0a.1690990427.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Sat, 29 Jul 2023 17:03:47 -0700
Subject: [PATCH 08/22] tools/utils: Bison: switch from name-prefix to
 api.prefix
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

bison -Wall declares %name-prefix deprecated.  The suggested replacement
is "api.prefix".  "api.prefix" though effects rather a lot more places
than %name-prefix does.  As a result, rename YYLTYPE/YYSTYPE to match.

As a quick workaround #define YYLTYPE/YYSTYPE to convince flex to
interface correctly.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
According to the documentation api.prefix was introduced in Bison 2.6,
while braces became recommended with Bison 3.0.  This seems sufficiently
in the past to be worth adopting now.

A better workaround for flex is needed.
---
 tools/libs/util/libxlu_cfg.c      |  9 +++++----
 tools/libs/util/libxlu_cfg_y.y    | 13 +++++++++----
 tools/libs/util/libxlu_internal.h |  8 ++++----
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 7e9eec550d..20534343f4 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -388,7 +388,7 @@ const char *xlu_cfg_get_listitem(const XLU_ConfigList *list, int entry) {
 
 
 XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx, char *atom,
-                                    YYLTYPE *loc)
+                                    XLU__CFG_YYLTYPE *loc)
 {
     XLU_ConfigValue *value = NULL;
 
@@ -412,7 +412,7 @@ XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx, char *atom,
 
 XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
                                   XLU_ConfigValue *val,
-                                  YYLTYPE *loc)
+                                  XLU__CFG_YYLTYPE *loc)
 {
     XLU_ConfigValue *value = NULL;
     XLU_ConfigValue **values = NULL;
@@ -667,13 +667,14 @@ char *xlu__cfgl_dequote(CfgParseContext *ctx, const char *src) {
 }
 
 void xlu__cfgl_lexicalerror(CfgParseContext *ctx, char const *msg) {
-    YYLTYPE loc;
+    XLU__CFG_YYLTYPE loc;
     loc.first_line= xlu__cfg_yyget_lineno(ctx->scanner);
     xlu__cfg_yyerror(&loc, ctx, msg);
     ctx->lexerrlineno= loc.first_line;
 }
 
-void xlu__cfg_yyerror(YYLTYPE *loc, CfgParseContext *ctx, char const *msg) {
+void xlu__cfg_yyerror(XLU__CFG_YYLTYPE *loc, CfgParseContext *ctx,
+        char const *msg) {
     const char *text, *newline;
     int len, lineno;
 
diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index e796066941..adbb74ff11 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -26,10 +26,10 @@ void xlu__cfg_set_store(CfgParseContext*, char *name,
                         enum XLU_Operation op,
                         XLU_ConfigValue *val, int lineno);
 XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx,
-                                    char *atom, YYLTYPE *loc);
+                                    char *atom, XLU__CFG_YYLTYPE *loc);
 XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
                                   XLU_ConfigValue *val,
-                                  YYLTYPE *loc);
+                                  XLU__CFG_YYLTYPE *loc);
 void xlu__cfg_list_append(CfgParseContext *ctx,
                           XLU_ConfigValue *list,
                           XLU_ConfigValue *val);
@@ -37,10 +37,15 @@ void xlu__cfg_value_free(XLU_ConfigValue *value);
 char *xlu__cfgl_strdup(CfgParseContext*, const char *src);
 char *xlu__cfgl_dequote(CfgParseContext*, const char *src);
 
-void xlu__cfg_yyerror(YYLTYPE *locp, CfgParseContext*, char const *msg);
+void xlu__cfg_yyerror(XLU__CFG_YYLTYPE *locp, CfgParseContext*,
+                      char const *msg);
 void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
 
 void xlu__cfgl_likely_python(CfgParseContext *ctx);
+
+/* issue of name-prefix versus api.prefix and Flex Bison-bridge */
+#define YYLTYPE XLU__CFG_YYLTYPE
+#define YYSTYPE XLU__CFG_YYSTYPE
 }
 
 %{
@@ -58,7 +63,7 @@ void xlu__cfgl_likely_python(CfgParseContext *ctx);
 %define api.pure
 %defines
 %define parse.error verbose
-%name-prefix "xlu__cfg_yy"
+%define api.prefix {xlu__cfg_yy}
 %parse-param { CfgParseContext *ctx }
 %lex-param { ctx_scanner }
 
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 1f7559ecd9..01fe073069 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -31,14 +31,14 @@ struct XLU_ConfigList {
     XLU_ConfigValue **values;
 };
 
-typedef struct YYLTYPE
+typedef struct XLU__CFG_YYLTYPE
 {
   int first_line;
   int first_column;
   int last_line;
   int last_column;
-} YYLTYPE;
-#define YYLTYPE_IS_DECLARED
+} XLU__CFG_YYLTYPE;
+#define XLU__CFG_YYLTYPE_IS_DECLARED
 
 struct XLU_ConfigValue {
     enum XLU_ConfigValueType type;
@@ -46,7 +46,7 @@ struct XLU_ConfigValue {
         char *string;
         XLU_ConfigList list;
     } u;
-    YYLTYPE loc;
+    XLU__CFG_YYLTYPE loc;
 };
 
 typedef struct XLU_ConfigSetting { /* transparent */
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:29:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575503.901186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJP2-0001pQ-Iz; Wed, 02 Aug 2023 21:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575503.901186; Wed, 02 Aug 2023 21:29:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJP2-0001pH-F2; Wed, 02 Aug 2023 21:29:08 +0000
Received: by outflank-mailman (input) for mailman id 575503;
 Wed, 02 Aug 2023 21:29:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJP2-0001nP-0O
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:29:08 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b7a40ad-317b-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:29:06 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LSusM008502
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:29:02 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LSusJ008501;
 Wed, 2 Aug 2023 14:28:56 -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: 9b7a40ad-317b-11ee-8613-37d641c3527e
Message-Id: <e685f7dd1464953fe59dfa29115cfac669e00df0.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Thu, 13 Jul 2023 19:01:19 -0700
Subject: [PATCH 15/22] tools/utils: move XLU_Config to libxlu_cfg.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Only the lowest layer of configuration handling looks inside XLU_Config.
As such the structure can move to this header instead of the shared
header.

Mark ->config_source as constant.  Most places it truly is constant, only
the free() violates the constant.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
This could also move to libxlu_cfg_y.h and make preserving messages
easier while allowing libxlu_cfg.c to split.
---
 tools/libs/util/libxlu_cfg.c      | 8 +++++++-
 tools/libs/util/libxlu_internal.h | 6 ------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index e37f84829f..69b95a4ed0 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -47,6 +47,12 @@ struct XLU_ConfigValue {
     XLU__CFG_YYLTYPE loc;
 };
 
+struct XLU_Config {
+    XLU_ConfigSetting *settings;
+    FILE *report;
+    const char *config_source;
+};
+
 XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
@@ -188,7 +194,7 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
         set_next= set->next;
         xlu__cfg_set_free(set);
     }
-    free(cfg->config_source);
+    free((void *)cfg->config_source);
     free(cfg);
 }
 
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 214ebe5f48..93caf24a6e 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -27,12 +27,6 @@
 
 typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 
-struct XLU_Config {
-    XLU_ConfigSetting *settings;
-    FILE *report;
-    char *config_source;
-};
-
 
 #define STRINGIFY(x) #x
 #define TOSTRING(x) STRINGIFY(x)
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575537.901195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJQk-0003Oy-1G; Wed, 02 Aug 2023 21:30:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575537.901195; Wed, 02 Aug 2023 21:30: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 1qRJQj-0003Or-Uk; Wed, 02 Aug 2023 21:30:53 +0000
Received: by outflank-mailman (input) for mailman id 575537;
 Wed, 02 Aug 2023 21:30:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJQi-0003Og-9l
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:30:52 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d971e1d6-317b-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:30:50 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LUerU008520
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:30:46 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LUeMk008519;
 Wed, 2 Aug 2023 14:30:40 -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: d971e1d6-317b-11ee-8613-37d641c3527e
Message-Id: <829def3bc27e138286677b95d549684b82f864f4.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 25 Jul 2023 11:06:06 -0700
Subject: [PATCH 17/22] tools/utils: move setting free loop to
 xlu__cfg_set_free()
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

This better breaks layers apart.  xlu_cfg_destroy() now only knows about
the XLU_Config structure, while xlu__cfg_set_free() knows about
XLU_ConfigSetting.

Move declaration of xlu__cfg_set_free() to shared header to indicate it
will bridge layers.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
This is the end of the higher-value series.  Moving the loop is
appropriate whether or not libxlu_cfg.c is split.

Moving the declaration and patches after this though are mostly valuable
for splitting libxlu_cfg.c into reusable and non-reusable portions.
---
 tools/libs/util/libxlu_cfg.c      | 20 ++++++++------------
 tools/libs/util/libxlu_cfg_y.y    |  1 -
 tools/libs/util/libxlu_internal.h |  5 +++++
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 69b95a4ed0..7fec7fe7be 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -178,22 +178,18 @@ void xlu__cfg_value_free(XLU_ConfigValue *value)
 }
 
 void xlu__cfg_set_free(XLU_ConfigSetting *set) {
-    if (!set) return;
-    free(set->name);
-    xlu__cfg_value_free(set->value);
-    free(set);
+    while(set) {
+        XLU_ConfigSetting *next = set->next;
+        free(set->name);
+        xlu__cfg_value_free(set->value);
+        free(set);
+        set = next;
+    }
 }
 
 void xlu_cfg_destroy(XLU_Config *cfg) {
-    XLU_ConfigSetting *set, *set_next;
-
     if (!cfg) return;
-    for (set= cfg->settings;
-         set;
-         set= set_next) {
-        set_next= set->next;
-        xlu__cfg_set_free(set);
-    }
+    xlu__cfg_set_free(cfg->settings);
     free((void *)cfg->config_source);
     free(cfg);
 }
diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index 5dfb06941a..5c7e31222d 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -32,7 +32,6 @@ enum XLU_Operation {
     XLU_OP_ADDITION,
 };
 
-void xlu__cfg_set_free(XLU_ConfigSetting *set);
 void xlu__cfg_set_store(CfgParseContext*, char *name,
                         enum XLU_Operation op,
                         XLU_ConfigValue *val, int lineno);
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 93caf24a6e..cc98efba27 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -35,6 +35,11 @@ typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 extern int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
     __attribute__((__format__(__printf__, 2, 3)));
 
+/*
+ * Internals for file parser *only*, NOT to be used by other parsing/lexing
+ */
+extern void xlu__cfg_set_free(XLU_ConfigSetting *set);
+
 #endif /*LIBXLU_INTERNAL_H*/
 
 /*
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575560.901206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJRa-0003xr-A5; Wed, 02 Aug 2023 21:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575560.901206; Wed, 02 Aug 2023 21:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJRa-0003xi-7K; Wed, 02 Aug 2023 21:31:46 +0000
Received: by outflank-mailman (input) for mailman id 575560;
 Wed, 02 Aug 2023 21:31: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJRZ-0003Og-5O
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:31:45 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f90ad61c-317b-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:31:43 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LVX8K008530
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:31:38 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LVXH9008529;
 Wed, 2 Aug 2023 14:31:33 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f90ad61c-317b-11ee-8613-37d641c3527e
Message-Id: <88fee0319d859ab9643a735bc3a3038e245afe6d.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 19 Jul 2023 10:31:21 -0700
Subject: [PATCH 18/22] tools/utils: spread xlu_cfg_printf() over libxlu_cfg.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

There are far more printf()s inside libxlu_cfg.c, so these had been left
alone briefly.  Now attack all of these.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Note, several messages change mildly.  The message in parse() didn't
previously include the filename.
---
 tools/libs/util/libxlu_cfg.c | 78 ++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 43 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 7fec7fe7be..91e056bb33 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -78,8 +78,7 @@ static int ctx_prep(CfgParseContext *ctx, XLU_Config *cfg) {
 
     e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
     if (e) {
-        fprintf(cfg->report,"%s: unable to create scanner: %s\n",
-                cfg->config_source, strerror(e));
+        xlu_cfg_printf(cfg, " unable to create scanner: %s\n", strerror(e));
         return e;
     }
     return 0;
@@ -99,11 +98,12 @@ static void parse(CfgParseContext *ctx) {
     if (r) assert(ctx->err);
 
     if (ctx->err && ctx->likely_python) {
-        fputs(
- "warning: Config file looks like it contains Python code.\n"
- "warning:  Arbitrary Python is no longer supported.\n"
- "warning:  See https://wiki.xen.org/wiki/PythonInXlConfig\n",
-              ctx->cfg->report);
+        xlu_cfg_printf(ctx->cfg,
+ " warning: Config file looks like it contains Python code.\n");
+        xlu_cfg_printf(ctx->cfg,
+ " warning:  Arbitrary Python is no longer supported.\n");
+        xlu_cfg_printf(ctx->cfg,
+ " warning:  See https://wiki.xen.org/wiki/PythonInXlConfig\n");
     }
 }
 
@@ -144,8 +144,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length) {
 
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
     if (!buf) {
-        fprintf(cfg->report,"%s: unable to allocate scanner buffer\n",
-                cfg->config_source);
+        xlu_cfg_printf(cfg, " unable to allocate scanner buffer\n");
         ctx.err= ENOMEM;
         goto xe;
     }
@@ -236,10 +235,10 @@ static int find_atom(const XLU_Config *cfg, const char *n,
 
     if (set->value->type!=XLU_STRING) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: parameter `%s' is"
+            xlu_cfg_printf(cfg,
+                    "%d: warning: parameter `%s' is"
                     " a list but should be a single value\n",
-                    cfg->config_source, set->lineno, n);
+                    set->lineno, n);
         return EINVAL;
     }
     *set_r= set;
@@ -257,10 +256,8 @@ int xlu_cfg_value_get_string(const XLU_Config *cfg, XLU_ConfigValue *value,
 {
     if (value->type != XLU_STRING) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d:%d: warning: value is not a string\n",
-                    cfg->config_source, value->loc.first_line,
-                    value->loc.first_column);
+            xlu_cfg_printf(cfg, "%d:%d: warning: value is not a string\n",
+                    value->loc.first_line, value->loc.first_column);
         *value_r = NULL;
         return EINVAL;
     }
@@ -274,10 +271,8 @@ int xlu_cfg_value_get_list(const XLU_Config *cfg, XLU_ConfigValue *value,
 {
     if (value->type != XLU_LIST) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d:%d: warning: value is not a list\n",
-                    cfg->config_source, value->loc.first_line,
-                    value->loc.first_column);
+            xlu_cfg_printf(cfg, "%d:%d: warning: value is not a list\n",
+                    value->loc.first_line, value->loc.first_column);
         *value_r = NULL;
         return EINVAL;
     }
@@ -325,10 +320,10 @@ int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n,
     e= find_atom(cfg,n,&set,dont_warn);  if (e) return e;
     if (set->op == XLU_OP_ADDITION) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: can't use += with numbers"
+            xlu_cfg_printf(cfg,
+                    "%d: warning: can't use += with numbers"
                     " for parameter `%s'\n",
-                    cfg->config_source, set->lineno, n);
+                    set->lineno, n);
         return EINVAL;
     }
     errno= 0; l= strtol(set->value->u.string, &ep, 0);
@@ -337,31 +332,31 @@ int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n,
         e= errno;
         assert(e==EINVAL || e==ERANGE);
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: parameter `%s' could not be parsed"
+            xlu_cfg_printf(cfg,
+                    "%d: warning: parameter `%s' could not be parsed"
                     " as a number: %s\n",
-                    cfg->config_source, set->lineno, n, strerror(e));
+                    set->lineno, n, strerror(e));
         return e;
     }
     if (*ep || ep==set->value->u.string) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: parameter `%s' is not a valid number\n",
-                    cfg->config_source, set->lineno, n);
+            xlu_cfg_printf(cfg,
+                    "%d: warning: parameter `%s' is not a valid number\n",
+                    set->lineno, n);
         return EINVAL;
     }
     if (l < min) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: value `%ld' is smaller than minimum bound '%ld'\n",
-                    cfg->config_source, set->lineno, l, min);
+            xlu_cfg_printf(cfg,
+                    "%d: warning: value `%ld' is smaller than minimum bound '%ld'\n",
+                    set->lineno, l, min);
         return EINVAL;
     }
     if (l > max) {
         if (!dont_warn)
-            fprintf(cfg->report,
-                    "%s:%d: warning: value `%ld' is greater than maximum bound '%ld'\n",
-                    cfg->config_source, set->lineno, l, max);
+            xlu_cfg_printf(cfg,
+                    "%d: warning: value `%ld' is greater than maximum bound '%ld'\n",
+                    set->lineno, l, max);
         return EINVAL;
     }
 
@@ -393,10 +388,10 @@ int xlu_cfg_get_list(const XLU_Config *cfg, const char *n,
     set= find(cfg,n);  if (!set) return ESRCH;
     if (set->value->type!=XLU_LIST) {
         if (!dont_warn) {
-            fprintf(cfg->report,
-                    "%s:%d: warning: parameter `%s' is a single value"
+            xlu_cfg_printf(cfg,
+                    "%d: warning: parameter `%s' is a single value"
                     " but should be a list\n",
-                    cfg->config_source, set->lineno, n);
+                    set->lineno, n);
         }
         return EINVAL;
     }
@@ -743,11 +738,8 @@ void xlu__cfg_yyerror(XLU__CFG_YYLTYPE *loc, CfgParseContext *ctx,
         len--;
     }
 
-    fprintf(ctx->cfg->report,
-            "%s:%d: config parsing error near %s%.*s%s%s: %s\n",
-            ctx->cfg->config_source, lineno,
-            len?"`":"", len, text, len?"'":"", newline,
-            msg);
+    xlu_cfg_printf(ctx->cfg, "%d: config parsing error near %s%.*s%s%s: %s\n",
+            lineno, len?"`":"", len, text, len?"'":"", newline, msg);
     if (!ctx->err) ctx->err= EINVAL;
 }
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:32:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:32:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575568.901216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJS0-0004SP-Hj; Wed, 02 Aug 2023 21:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575568.901216; Wed, 02 Aug 2023 21:32: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 1qRJS0-0004SI-F2; Wed, 02 Aug 2023 21:32:12 +0000
Received: by outflank-mailman (input) for mailman id 575568;
 Wed, 02 Aug 2023 21:32:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRJRy-0004Rr-Pb
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:32:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRJRy-0006AL-D6; Wed, 02 Aug 2023 21:32:10 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRJRy-00085k-7f; Wed, 02 Aug 2023 21:32:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=wx9wWzO62qpM3Q3HJhjfG7MpH0kyWjiPahf2FbxCNWk=; b=x9RmiT6GXPgVIXgqtuzwVc7jmu
	LtKz5HslaZLNsZSP93dvpfi00avFmanojJlJJBY8yjdyiET7BYtyyz1hO60/unaiLyLSJZrZAULKv
	MLeazuSRtAhFYdkN4v/OHV0woZpuklNKtp09X9WJBM47jJSkRrjqpA+0zSavLFOTFFM8=;
Message-ID: <e4773ca3-965d-ac3d-81e0-88065b8523a2@xen.org>
Date: Wed, 2 Aug 2023 22:32:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v2] arm32: Avoid using solaris syntax for .section
 directive
To: Khem Raj <raj.khem@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Michal Orzel <michal.orzel@amd.com>
References: <20230801174930.2995947-1-raj.khem@gmail.com>
 <18d3b823-22b2-85fc-18d2-09cf102b4506@xen.org>
 <CAMKF1srf0h=x7vSv4jF6AwyJfsmeddzyPOjSog7eK7TeF9yjsQ@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAMKF1srf0h=x7vSv4jF6AwyJfsmeddzyPOjSog7eK7TeF9yjsQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 01/08/2023 22:49, Khem Raj wrote:
> On Tue, Aug 1, 2023 at 2:03â€¯PM Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> Title: This patch is not arm32 specific anymore. So I would replace
>> 'arm32' with 'arm'. This can be done on commit.
>>
>> On 01/08/2023 18:49, Khem Raj wrote:
>>> Assembler from binutils 2.41 rejects [1] this syntax
>>>
>>> .section "name"[, flags...]
>>>
>>> where flags could be #alloc, #write, #execinstr, #exclude, and #tls [2]
>>>
>>> It is almost like a regression compared to 2.40 or older release,
>>
>> The next word after ',' start with an uppercase. Did you intend to use
>> '.' rather than ','?
>>
>> That said, the documentation has the following:
>>
>> For SPARC ELF targets, the assembler supports another type of .section
>> directive for compatibility with the Solaris assembler:"
>>
>> This leads me to think this is not a regression and instead an intended
>> behavior (even though it breaks older build) even it breaks build.
>>
>> I would suggest to reword the commit message to:
>>
>> "
>> Assembler from binutiles 2.41 will rejects ([1], [2]) the following syntax
>>
>> .section "name", #alloc
>>
>> for any other any target other than ELF SPARC. This means we can't use
>> it in the Arm code.
>>
>> So switch to the GNU syntax
>>
>> .section name [, "flags"[, @type]]
>>
>> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
>> [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
>>
>> If you agree with the commit message, I can update it while committing.
> 
> LGTM, go ahead.

I have committed with:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:35:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:35:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575578.901226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJUx-00059N-WD; Wed, 02 Aug 2023 21:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575578.901226; Wed, 02 Aug 2023 21:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJUx-00059G-TI; Wed, 02 Aug 2023 21:35:15 +0000
Received: by outflank-mailman (input) for mailman id 575578;
 Wed, 02 Aug 2023 21:35:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJUw-00059A-Mu
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:35:14 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75fc2764-317c-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:35:12 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LZ28o008587
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:35:07 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LZ2Ae008586;
 Wed, 2 Aug 2023 14:35:02 -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: 75fc2764-317c-11ee-b263-6b7b168915f2
Message-Id: <b26bff76b883e2b2c7c55ad9290bbaa9bef73cd0.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 25 Jul 2023 15:50:14 -0700
Subject: [PATCH 22/22] tools/utils: break flex/bison parser away from main
 config file
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Potentially allowing a different parser to be substituted.

Omit libxlu_internal.h from libxlu_cfg_i.c, since it is kept in
libxlu_cfg_y.h.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/Makefile                      |   1 +
 tools/libs/util/libxlu_cfg.c                  | 662 ------------------
 .../util/{libxlu_cfg.c => libxlu_cfg_i.c}     |  87 ---
 3 files changed, 1 insertion(+), 749 deletions(-)
 copy tools/libs/util/{libxlu_cfg.c => libxlu_cfg_i.c} (90%)

diff --git a/tools/libs/util/Makefile b/tools/libs/util/Makefile
index d2c90ced69..bfca15b9b5 100644
--- a/tools/libs/util/Makefile
+++ b/tools/libs/util/Makefile
@@ -3,6 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 OBJS-y += libxlu_cfg_y.o
 OBJS-y += libxlu_cfg_l.o
+OBJS-y += libxlu_cfg_i.o
 OBJS-y += libxlu_cfg.o
 OBJS-y += libxlu_disk_l.o
 OBJS-y += libxlu_disk.o
diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 7bbedde8f6..040d3ea914 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -21,31 +21,6 @@
 #include <stdarg.h>
 
 #include "libxlu_internal.h"
-#include "libxlu_cfg_y.h"
-#include "libxlu_cfg_l.h"
-
-struct XLU_ConfigSetting {
-    struct XLU_ConfigSetting *next;
-    char *name;
-    XLU_ConfigValue *value;
-    enum XLU_Operation op;
-    int lineno;
-};
-
-struct XLU_ConfigList {
-    int avalues; /* available slots */
-    int nvalues; /* actual occupied slots */
-    XLU_ConfigValue **values;
-};
-
-struct XLU_ConfigValue {
-    enum XLU_ConfigValueType type;
-    union {
-        char *string;
-        XLU_ConfigList list;
-    } u;
-    XLU__CFG_YYLTYPE loc;
-};
 
 struct XLU_Config {
     XLU_ConfigSetting *settings;
@@ -67,49 +42,6 @@ XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     return cfg;
 }
 
-static int ctx_prep(CfgParseContext *ctx, XLU_Config *cfg,
-    XLU_ConfigSetting **psettings)
-{
-    int e;
-
-    ctx->cfg= cfg;
-    ctx->psettings = psettings;
-    ctx->err= 0;
-    ctx->lexerrlineno= -1;
-    ctx->likely_python= 0;
-    ctx->scanner= 0;
-
-    e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
-    if (e) {
-        xlu_cfg_printf(cfg, " unable to create scanner: %s\n", strerror(e));
-        return e;
-    }
-    return 0;
-}
-
-static void ctx_dispose(CfgParseContext *ctx) {
-    if (ctx->scanner) xlu__cfg_yylex_destroy(ctx->scanner);
-}
-
-static void parse(CfgParseContext *ctx) {
-    /* On return, ctx.err will be updated with the error status. */
-    int r;
-
-    xlu__cfg_yyset_lineno(1, ctx->scanner);
-
-    r= xlu__cfg_yyparse(ctx);
-    if (r) assert(ctx->err);
-
-    if (ctx->err && ctx->likely_python) {
-        xlu_cfg_printf(ctx->cfg,
- " warning: Config file looks like it contains Python code.\n");
-        xlu_cfg_printf(ctx->cfg,
- " warning:  Arbitrary Python is no longer supported.\n");
-        xlu_cfg_printf(ctx->cfg,
- " warning:  See https://wiki.xen.org/wiki/PythonInXlConfig\n");
-    }
-}
-
 int xlu_cfg_readfile(XLU_Config *cfg, const char *name)
 {
     FILE *file;
@@ -129,85 +61,12 @@ int xlu_cfg_readfile(XLU_Config *cfg, const char *name)
     return ret;
 }
 
-int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
-    XLU_ConfigSetting **psettings, FILE *f, const char *name)
-{
-    int e;
-
-    CfgParseContext ctx;
-    e = ctx_prep(&ctx, cfg, psettings);
-    if (e) { ctx.err= e; goto xe; }
-
-    xlu__cfg_yyrestart(f, ctx.scanner);
-
-    parse(&ctx);
-
- xe:
-    ctx_dispose(&ctx);
-
-    return ctx.err;
-}
-
 int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length)
 {
     return xlu__cfg_readdata(cfg, cfg->report, cfg->config_source,
         &cfg->settings, data, length);
 }
 
-int xlu__cfg_readdata(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
-    XLU_ConfigSetting **psettings, const char *data, int length)
-{
-    int e;
-    YY_BUFFER_STATE buf= 0;
-
-    CfgParseContext ctx;
-    e = ctx_prep(&ctx, cfg, psettings);
-    if (e) { ctx.err= e; goto xe; }
-
-    buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
-    if (!buf) {
-        xlu_cfg_printf(cfg, " unable to allocate scanner buffer\n");
-        ctx.err= ENOMEM;
-        goto xe;
-    }
-
-    parse(&ctx);
-
- xe:
-    if (buf) xlu__cfg_yy_delete_buffer(buf, ctx.scanner);
-    ctx_dispose(&ctx);
-
-    return ctx.err;
-}
-
-void xlu__cfg_value_free(XLU_ConfigValue *value)
-{
-    int i;
-
-    if (!value) return;
-
-    switch (value->type) {
-    case XLU_STRING:
-        free(value->u.string);
-        break;
-    case XLU_LIST:
-        for (i = 0; i < value->u.list.nvalues; i++)
-            xlu__cfg_value_free(value->u.list.values[i]);
-        free(value->u.list.values);
-    }
-    free(value);
-}
-
-void xlu__cfg_set_free(XLU_ConfigSetting *set) {
-    while(set) {
-        XLU_ConfigSetting *next = set->next;
-        free(set->name);
-        xlu__cfg_value_free(set->value);
-        free(set);
-        set = next;
-    }
-}
-
 void xlu_cfg_destroy(XLU_Config *cfg) {
     if (!cfg) return;
     xlu__cfg_set_free(cfg->settings);
@@ -237,539 +96,18 @@ int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
     return -errno;
 }
 
-static XLU_ConfigSetting *find(const XLU_Config *cfg, const char *n) {
-    XLU_ConfigSetting *set;
-
-    for (set = xlu__cfg_get_settings(cfg);
-         set;
-         set= set->next)
-        if (!strcmp(set->name, n))
-            return set;
-    return 0;
-}
-
-static int find_atom(const XLU_Config *cfg, const char *n,
-                     XLU_ConfigSetting **set_r, int dont_warn) {
-    XLU_ConfigSetting *set;
-
-    set= find(cfg,n);
-    if (!set) return ESRCH;
-
-    if (set->value->type!=XLU_STRING) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: parameter `%s' is"
-                    " a list but should be a single value\n",
-                    set->lineno, n);
-        return EINVAL;
-    }
-    *set_r= set;
-    return 0;
-}
-
 XLU_ConfigSetting *xlu__cfg_get_settings(const XLU_Config *cfg)
 {
     return cfg->settings;
 }
 
 
-enum XLU_ConfigValueType xlu_cfg_value_type(const XLU_ConfigValue *value)
-{
-    return value->type;
-}
-
-int xlu_cfg_value_get_string(const XLU_Config *cfg, XLU_ConfigValue *value,
-                             char **value_r, int dont_warn)
-{
-    if (value->type != XLU_STRING) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg, "%d:%d: warning: value is not a string\n",
-                    value->loc.first_line, value->loc.first_column);
-        *value_r = NULL;
-        return EINVAL;
-    }
-
-    *value_r = value->u.string;
-    return 0;
-}
-
-int xlu_cfg_value_get_list(const XLU_Config *cfg, XLU_ConfigValue *value,
-                           XLU_ConfigList **value_r, int dont_warn)
-{
-    if (value->type != XLU_LIST) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg, "%d:%d: warning: value is not a list\n",
-                    value->loc.first_line, value->loc.first_column);
-        *value_r = NULL;
-        return EINVAL;
-    }
-
-    *value_r = &value->u.list;
-    return 0;
-}
-
-XLU_ConfigValue *xlu_cfg_get_listitem2(const XLU_ConfigList *list,
-                                       int entry)
-{
-    if (entry < 0 || entry >= list->nvalues) return NULL;
-    return list->values[entry];
-}
-
-int xlu_cfg_get_string(const XLU_Config *cfg, const char *n,
-                       const char **value_r, int dont_warn) {
-    XLU_ConfigSetting *set;
-    int e;
-
-    e= find_atom(cfg,n,&set,dont_warn);  if (e) return e;
-    *value_r= set->value->u.string;
-    return 0;
-}
-
-int xlu_cfg_replace_string(const XLU_Config *cfg, const char *n,
-                           char **value_r, int dont_warn) {
-    XLU_ConfigSetting *set;
-    int e;
-
-    e= find_atom(cfg,n,&set,dont_warn);  if (e) return e;
-    free(*value_r);
-    *value_r= strdup(set->value->u.string);
-    return 0;
-}
-
-int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n,
-                             long min, long max, long *value_r,
-                             int dont_warn) {
-    long l;
-    XLU_ConfigSetting *set;
-    int e;
-    char *ep;
-
-    e= find_atom(cfg,n,&set,dont_warn);  if (e) return e;
-    if (set->op == XLU_OP_ADDITION) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: can't use += with numbers"
-                    " for parameter `%s'\n",
-                    set->lineno, n);
-        return EINVAL;
-    }
-    errno= 0; l= strtol(set->value->u.string, &ep, 0);
-    e= errno;
-    if (errno) {
-        e= errno;
-        assert(e==EINVAL || e==ERANGE);
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: parameter `%s' could not be parsed"
-                    " as a number: %s\n",
-                    set->lineno, n, strerror(e));
-        return e;
-    }
-    if (*ep || ep==set->value->u.string) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: parameter `%s' is not a valid number\n",
-                    set->lineno, n);
-        return EINVAL;
-    }
-    if (l < min) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: value `%ld' is smaller than minimum bound '%ld'\n",
-                    set->lineno, l, min);
-        return EINVAL;
-    }
-    if (l > max) {
-        if (!dont_warn)
-            xlu_cfg_printf(cfg,
-                    "%d: warning: value `%ld' is greater than maximum bound '%ld'\n",
-                    set->lineno, l, max);
-        return EINVAL;
-    }
-
-    *value_r= l;
-    return 0;
-}
-
 int xlu_cfg_get_long(const XLU_Config *cfg, const char *n,
                      long *value_r, int dont_warn) {
     return xlu_cfg_get_bounded_long(cfg, n, LONG_MIN, LONG_MAX, value_r,
                                     dont_warn);
 }
 
-int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n,
-                        libxl_defbool *value_r, int dont_warn)
-{
-    int ret;
-    long l;
-
-    ret = xlu_cfg_get_long(cfg, n, &l, dont_warn);
-    if (ret) return ret;
-    libxl_defbool_set(value_r, !!l);
-    return 0;
-}
-
-int xlu_cfg_get_list(const XLU_Config *cfg, const char *n,
-                     XLU_ConfigList **list_r, int *entries_r, int dont_warn) {
-    XLU_ConfigSetting *set;
-    set= find(cfg,n);  if (!set) return ESRCH;
-    if (set->value->type!=XLU_LIST) {
-        if (!dont_warn) {
-            xlu_cfg_printf(cfg,
-                    "%d: warning: parameter `%s' is a single value"
-                    " but should be a list\n",
-                    set->lineno, n);
-        }
-        return EINVAL;
-    }
-    if (list_r) *list_r= &set->value->u.list;
-    if (entries_r) *entries_r= set->value->u.list.nvalues;
-    return 0;
-}
-
-int xlu_cfg_get_list_as_string_list(const XLU_Config *cfg, const char *n,
-                     libxl_string_list *psl, int dont_warn) {
-    int i, rc, nr;
-    XLU_ConfigList *list;
-    libxl_string_list sl;
-
-    rc = xlu_cfg_get_list(cfg, n, &list, &nr, dont_warn);
-    if (rc)  return rc;
-
-    sl = malloc(sizeof(char*)*(nr + 1));
-    if (sl == NULL) return ENOMEM;
-
-    for (i=0; i<nr; i++) {
-        const char *a = xlu_cfg_get_listitem(list, i);
-        sl[i] = a ? strdup(a) : NULL;
-    }
-
-    sl[nr] = NULL;
-
-    *psl = sl;
-    return 0;
-}
-
-const char *xlu_cfg_get_listitem(const XLU_ConfigList *list, int entry) {
-    if (entry < 0 || entry >= list->nvalues) return 0;
-    if (list->values[entry]->type != XLU_STRING) return 0;
-    return list->values[entry]->u.string;
-}
-
-
-XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx, char *atom,
-                                    XLU__CFG_YYLTYPE *loc)
-{
-    XLU_ConfigValue *value = NULL;
-
-    if (ctx->err) goto x;
-
-    value = malloc(sizeof(*value));
-    if (!value) goto xe;
-    value->type = XLU_STRING;
-    value->u.string = atom;
-    memcpy(&value->loc, loc, sizeof(*loc));
-
-    return value;
-
- xe:
-    ctx->err= errno;
- x:
-    free(value);
-    free(atom);
-    return NULL;
-}
-
-XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
-                                  XLU_ConfigValue *val,
-                                  XLU__CFG_YYLTYPE *loc)
-{
-    XLU_ConfigValue *value = NULL;
-    XLU_ConfigValue **values = NULL;
-
-    if (ctx->err) goto x;
-
-    values = malloc(sizeof(*values));
-    if (!values) goto xe;
-    values[0] = val;
-
-    value = malloc(sizeof(*value));
-    if (!value) goto xe;
-    value->type = XLU_LIST;
-    value->u.list.nvalues = !!val;
-    value->u.list.avalues = 1;
-    value->u.list.values = values;
-    memcpy(&value->loc, loc, sizeof(*loc));
-
-    return value;
-
- xe:
-    ctx->err= errno;
- x:
-    free(value);
-    free(values);
-    xlu__cfg_value_free(val);
-    return NULL;
-}
-
-void xlu__cfg_list_append(CfgParseContext *ctx,
-                          XLU_ConfigValue *list,
-                          XLU_ConfigValue *val)
-{
-    if (ctx->err) return;
-
-    assert(val);
-    assert(list->type == XLU_LIST);
-
-    if (list->u.list.nvalues >= list->u.list.avalues) {
-        int new_avalues;
-        XLU_ConfigValue **new_values = NULL;
-
-        if (list->u.list.avalues > INT_MAX / 100) {
-            ctx->err = ERANGE;
-            xlu__cfg_value_free(val);
-            return;
-        }
-
-        new_avalues = list->u.list.avalues * 4;
-        new_values  = realloc(list->u.list.values,
-                              sizeof(*new_values) * new_avalues);
-        if (!new_values) {
-            ctx->err = errno;
-            xlu__cfg_value_free(val);
-            return;
-        }
-
-        list->u.list.avalues = new_avalues;
-        list->u.list.values  = new_values;
-    }
-
-    list->u.list.values[list->u.list.nvalues] = val;
-    list->u.list.nvalues++;
-}
-
-static int xlu__cfg_concat_vals(CfgParseContext *ctx,
-                                XLU_ConfigValue *prev,
-                                XLU_ConfigValue *to_add)
-{
-    int r;
-
-    if (prev->type != to_add->type) {
-        xlu__cfgl_lexicalerror(ctx,
-                           "can't add [list] to \"string\" or vice versa");
-        return EINVAL;
-    }
-
-    switch (to_add->type) {
-    case XLU_STRING: {
-        char *new_string = NULL;
-
-        r = asprintf(&new_string, "%s%s", prev->u.string,
-                     to_add->u.string);
-        if (r < 0) {
-            return errno;
-        }
-        free(to_add->u.string);
-        to_add->u.string = new_string;
-        return 0;
-    }
-    case XLU_LIST: {
-        XLU_ConfigList *const prev_list = &prev->u.list;
-        XLU_ConfigList *const cur_list = &to_add->u.list;
-        int nvalues;
-
-        if (prev->u.list.nvalues > INT_MAX - to_add->u.list.nvalues) {
-            return ERANGE;
-        }
-        nvalues = prev->u.list.nvalues + to_add->u.list.nvalues;
-
-        if (nvalues >= cur_list->avalues) {
-            XLU_ConfigValue **new_vals;
-            new_vals = realloc(cur_list->values,
-                               nvalues * sizeof(*new_vals));
-            if (!new_vals) {
-                return ENOMEM;
-            }
-            cur_list->avalues = nvalues;
-            cur_list->values = new_vals;
-        }
-
-        /* make space for `prev' into `to_add' */
-        memmove(cur_list->values + prev_list->nvalues,
-                cur_list->values,
-                cur_list->nvalues * sizeof(XLU_ConfigValue *));
-        /* move values from `prev' to `to_add' as the list in `prev' will
-         * not be reachable by find(). */
-        memcpy(cur_list->values,
-               prev_list->values,
-               prev_list->nvalues * sizeof(XLU_ConfigValue *));
-        cur_list->nvalues = nvalues;
-        prev_list->nvalues = 0;
-        memset(prev_list->values, 0,
-               prev_list->nvalues * sizeof(XLU_ConfigValue *));
-        return 0;
-    }
-    default:
-        abort();
-    }
-    return -1;
-}
-
-void xlu__cfg_set_store(CfgParseContext *ctx, char *name,
-                        enum XLU_Operation op,
-                        XLU_ConfigValue *val, int lineno) {
-    XLU_ConfigSetting *set;
-    int r;
-
-    if (ctx->err) goto out;
-
-    assert(name);
-
-    if (op == XLU_OP_ADDITION) {
-        /* If we have += concatenate with previous value with same name */
-        XLU_ConfigSetting *prev_set = find(ctx->cfg, name);
-        if (prev_set) {
-            r = xlu__cfg_concat_vals(ctx, prev_set->value, val);
-            if (r) {
-                ctx->err = r;
-                goto out;
-            }
-        }
-    }
-
-    set = malloc(sizeof(*set));
-    if (!set) {
-        ctx->err = errno;
-        goto out;
-    }
-    set->name= name;
-    set->value = val;
-    set->op = op;
-    set->lineno= lineno;
-    set->next = *ctx->psettings;
-    *ctx->psettings = set;
-    return;
-out:
-    assert(ctx->err);
-    free(name);
-    xlu__cfg_value_free(val);
-}
-
-char *xlu__cfgl_strdup(CfgParseContext *ctx, const char *src) {
-    char *result;
-
-    if (ctx->err) return 0;
-    result= strdup(src);
-    if (!result) ctx->err= errno;
-    return result;
-}
-
-char *xlu__cfgl_dequote(CfgParseContext *ctx, const char *src) {
-    char *result;
-    const char *p;
-    char *q;
-    int len, c, nc;
-
-    if (ctx->err) return 0;
-
-    len= strlen(src);
-    assert(len>=2 && src[0]==src[len-1]);
-
-    result= malloc(len-1);
-    if (!result) { ctx->err= errno; return 0; }
-
-    q= result;
-
-    for (p= src+1;
-         p < src+len-1;
-         ) {
-        c= *p++;
-        if (c=='\\') {
-            assert(p < src+len-1);
-            nc= *p++;
-            if (nc=='"' || nc=='\'' || nc=='\\') {
-                *q++= nc;
-            } else if (nc=='a') { *q++= '\007';
-            } else if (nc=='b') { *q++= '\010';
-            } else if (nc=='f') { *q++= '\014';
-            } else if (nc=='n') { *q++= '\n';
-            } else if (nc=='r') { *q++= '\r';
-            } else if (nc=='t') { *q++= '\t';
-            } else if (nc=='v') { *q++= '\013';
-            } else if (nc=='x') {
-
-#define NUMERIC_CHAR(minlen,maxlen,base,basetext) do{                        \
-                char numbuf[(maxlen)+1], *ep;                                \
-                unsigned long val;                                           \
-                                                                             \
-                strncpy(numbuf,p,(maxlen));                                  \
-                numbuf[(maxlen)]= 0;                                         \
-                val= strtoul(numbuf, &ep, (base));                           \
-                if (ep <= numbuf+(minlen)) {                                 \
-                    xlu__cfgl_lexicalerror(ctx,"invalid digit after"         \
-                         " backslash " basetext "numerical character escape" \
-                         " in quoted string");                               \
-                    ctx->err= EINVAL;                                        \
-                    goto x;                                                  \
-                }                                                            \
-                p += (ep - numbuf);                                          \
- }while(0)
-
-                p++;
-                NUMERIC_CHAR(2,2,16,"hex");
-            } else if (nc>='0' && nc<='7') {
-                NUMERIC_CHAR(1,3,10,"octal");
-            } else {
-                xlu__cfgl_lexicalerror(ctx,
-                           "invalid character after backlash in quoted string");
-                ctx->err= EINVAL;
-                goto x;
-            }
-            assert(p <= src+len-1);
-        } else {
-            *q++= c;
-        }
-    }
-
- x:
-    *q++= 0;
-    return result;
-}
-
-void xlu__cfgl_lexicalerror(CfgParseContext *ctx, char const *msg) {
-    XLU__CFG_YYLTYPE loc;
-    loc.first_line= xlu__cfg_yyget_lineno(ctx->scanner);
-    xlu__cfg_yyerror(&loc, ctx, msg);
-    ctx->lexerrlineno= loc.first_line;
-}
-
-void xlu__cfg_yyerror(XLU__CFG_YYLTYPE *loc, CfgParseContext *ctx,
-        char const *msg) {
-    const char *text, *newline;
-    int len, lineno;
-
-    lineno= loc->first_line;
-    if (lineno <= ctx->lexerrlineno) return;
-
-    text= xlu__cfg_yyget_text(ctx->scanner);
-    len= xlu__cfg_yyget_leng(ctx->scanner);
-    newline= "";
-    if (len>0 && text[len-1]=='\n') {
-        len--;
-        lineno--;
-        if (!len) {
-            newline= "<newline>";
-        }
-    }
-    while (len>0 && (text[len-1]=='\t' || text[len-1]==' ')) {
-        len--;
-    }
-
-    xlu_cfg_printf(ctx->cfg, "%d: config parsing error near %s%.*s%s%s: %s\n",
-            lineno, len?"`":"", len, text, len?"'":"", newline, msg);
-    if (!ctx->err) ctx->err= EINVAL;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg_i.c
similarity index 90%
copy from tools/libs/util/libxlu_cfg.c
copy to tools/libs/util/libxlu_cfg_i.c
index 7bbedde8f6..bf5890b273 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg_i.c
@@ -20,7 +20,6 @@
 #include <limits.h>
 #include <stdarg.h>
 
-#include "libxlu_internal.h"
 #include "libxlu_cfg_y.h"
 #include "libxlu_cfg_l.h"
 
@@ -47,26 +46,6 @@ struct XLU_ConfigValue {
     XLU__CFG_YYLTYPE loc;
 };
 
-struct XLU_Config {
-    XLU_ConfigSetting *settings;
-    FILE *report;
-    const char *config_source;
-};
-
-XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
-    XLU_Config *cfg;
-
-    cfg= malloc(sizeof(*cfg));
-    if (!cfg) return 0;
-
-    cfg->report= report;
-    cfg->config_source= strdup(report_source);
-    if (!cfg->config_source) { free(cfg); return 0; }
-
-    cfg->settings= 0;
-    return cfg;
-}
-
 static int ctx_prep(CfgParseContext *ctx, XLU_Config *cfg,
     XLU_ConfigSetting **psettings)
 {
@@ -110,25 +89,6 @@ static void parse(CfgParseContext *ctx) {
     }
 }
 
-int xlu_cfg_readfile(XLU_Config *cfg, const char *name)
-{
-    FILE *file;
-    int ret;
-
-    file = fopen(name, "r");
-    if (file) {
-        ret = xlu__cfg_readfile(cfg, cfg->report, cfg->config_source,
-            &cfg->settings, file, name);
-        fclose(file);
-    } else {
-        ret = errno;
-        fprintf(cfg->report,"%s: unable to open configuration file: %s\n",
-                name, strerror(ret));
-    }
-
-    return ret;
-}
-
 int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
     XLU_ConfigSetting **psettings, FILE *f, const char *name)
 {
@@ -148,12 +108,6 @@ int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
     return ctx.err;
 }
 
-int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length)
-{
-    return xlu__cfg_readdata(cfg, cfg->report, cfg->config_source,
-        &cfg->settings, data, length);
-}
-
 int xlu__cfg_readdata(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
     XLU_ConfigSetting **psettings, const char *data, int length)
 {
@@ -208,35 +162,6 @@ void xlu__cfg_set_free(XLU_ConfigSetting *set) {
     }
 }
 
-void xlu_cfg_destroy(XLU_Config *cfg) {
-    if (!cfg) return;
-    xlu__cfg_set_free(cfg->settings);
-    free((void *)cfg->config_source);
-    free(cfg);
-}
-
-int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
-{
-    va_list args;
-    int ret;
-
-    if (!cfg || !cfg->report)
-        return EFAULT;
-
-    ret = fputs(cfg->config_source, cfg->report);
-    if (ret < 0)
-        return -errno;
-    ret = fputc(':', cfg->report);
-    if (ret < 0)
-        return -errno;
-
-    va_start(args, format);
-    ret = vfprintf(cfg->report, format, args);
-    va_end(args);
-
-    return -errno;
-}
-
 static XLU_ConfigSetting *find(const XLU_Config *cfg, const char *n) {
     XLU_ConfigSetting *set;
 
@@ -267,11 +192,6 @@ static int find_atom(const XLU_Config *cfg, const char *n,
     return 0;
 }
 
-XLU_ConfigSetting *xlu__cfg_get_settings(const XLU_Config *cfg)
-{
-    return cfg->settings;
-}
-
 
 enum XLU_ConfigValueType xlu_cfg_value_type(const XLU_ConfigValue *value)
 {
@@ -391,12 +311,6 @@ int xlu_cfg_get_bounded_long(const XLU_Config *cfg, const char *n,
     return 0;
 }
 
-int xlu_cfg_get_long(const XLU_Config *cfg, const char *n,
-                     long *value_r, int dont_warn) {
-    return xlu_cfg_get_bounded_long(cfg, n, LONG_MIN, LONG_MAX, value_r,
-                                    dont_warn);
-}
-
 int xlu_cfg_get_defbool(const XLU_Config *cfg, const char *n,
                         libxl_defbool *value_r, int dont_warn)
 {
@@ -456,7 +370,6 @@ const char *xlu_cfg_get_listitem(const XLU_ConfigList *list, int entry) {
     return list->values[entry]->u.string;
 }
 
-
 XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx, char *atom,
                                     XLU__CFG_YYLTYPE *loc)
 {
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575603.901237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJX0-0005nx-GS; Wed, 02 Aug 2023 21:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575603.901237; Wed, 02 Aug 2023 21:37:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJX0-0005nq-C3; Wed, 02 Aug 2023 21:37:22 +0000
Received: by outflank-mailman (input) for mailman id 575603;
 Wed, 02 Aug 2023 21:37: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJU4-0003Og-Oi
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:34:20 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55ed6a32-317c-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:34:19 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LY9lp008578
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:34:15 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LY9Dr008577;
 Wed, 2 Aug 2023 14:34: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: 55ed6a32-317c-11ee-8613-37d641c3527e
Message-Id: <d1e5795e274571a63b94148a7d371c629eefb3a5.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 25 Jul 2023 20:11:06 -0700
Subject: [PATCH 21/22] tools/utils: add settings get function
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

The better to isolate the shared portion of the interface from the
low-level implementation.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_cfg.c      | 7 ++++++-
 tools/libs/util/libxlu_internal.h | 2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index cb99b0aab0..7bbedde8f6 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -240,7 +240,7 @@ int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
 static XLU_ConfigSetting *find(const XLU_Config *cfg, const char *n) {
     XLU_ConfigSetting *set;
 
-    for (set= cfg->settings;
+    for (set = xlu__cfg_get_settings(cfg);
          set;
          set= set->next)
         if (!strcmp(set->name, n))
@@ -267,6 +267,11 @@ static int find_atom(const XLU_Config *cfg, const char *n,
     return 0;
 }
 
+XLU_ConfigSetting *xlu__cfg_get_settings(const XLU_Config *cfg)
+{
+    return cfg->settings;
+}
+
 
 enum XLU_ConfigValueType xlu_cfg_value_type(const XLU_ConfigValue *value)
 {
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 34c6c7a443..993ff88171 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -45,6 +45,8 @@ extern int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile,
 extern int xlu__cfg_readdata(XLU_Config *cfg, FILE *msgfile,
     const char *msgprefix, XLU_ConfigSetting **psettings, const char *data,
     int length);
+extern XLU_ConfigSetting *xlu__cfg_get_settings(const XLU_Config *cfg)
+    __attribute__((access(read_only, 1)));
 
 #endif /*LIBXLU_INTERNAL_H*/
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575608.901245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJX2-00063n-Mm; Wed, 02 Aug 2023 21:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575608.901245; Wed, 02 Aug 2023 21:37:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJX2-00063e-Jf; Wed, 02 Aug 2023 21:37:24 +0000
Received: by outflank-mailman (input) for mailman id 575608;
 Wed, 02 Aug 2023 21:37:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJOE-0004vP-Mr
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:28:18 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c87010a-317b-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:28:14 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LS4dU008489
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:28:10 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LS4M9008488;
 Wed, 2 Aug 2023 14:28:04 -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: 7c87010a-317b-11ee-b263-6b7b168915f2
Message-Id: <7c33609a299bcec685b9a77becd73abefbb9d237.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Thu, 13 Jul 2023 19:01:19 -0700
Subject: [PATCH 14/22] tools/utils: introduce xlu_cfg_printf() function
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Isolate the lower layer configuration handling from the upper layer.  Now
only the lowest layer of configuration handling looks inside XLU_Config.

Also make error messages a bit more consistent.  Now PCI device parsing
will report filename.

Replace the XLU__PCI_ERR() with xlu_cfg_printf().  The new function
encompasses the full functionality of the macro.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Someone else can decide where xlu__disk_err() should have its linebreaks
and indentation.  That string isn't very good.

I'm wondering about the return codes.  *printf() can return errors, but
so many places are ignoring them.  If the output is a console the errors
are fairly unlikely, but full storage does happen.
---
 tools/libs/util/libxlu_cfg.c      | 23 +++++++++++++++++++++++
 tools/libs/util/libxlu_disk.c     | 14 +++++---------
 tools/libs/util/libxlu_internal.h |  4 ++++
 tools/libs/util/libxlu_pci.c      | 11 ++++-------
 tools/libs/util/libxlu_vif.c      |  4 +---
 5 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 67d1a8123f..e37f84829f 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -18,6 +18,7 @@
 #define _GNU_SOURCE
 
 #include <limits.h>
+#include <stdarg.h>
 
 #include "libxlu_internal.h"
 #include "libxlu_cfg_y.h"
@@ -191,6 +192,28 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
     free(cfg);
 }
 
+int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
+{
+    va_list args;
+    int ret;
+
+    if (!cfg || !cfg->report)
+        return EFAULT;
+
+    ret = fputs(cfg->config_source, cfg->report);
+    if (ret < 0)
+        return -errno;
+    ret = fputc(':', cfg->report);
+    if (ret < 0)
+        return -errno;
+
+    va_start(args, format);
+    ret = vfprintf(cfg->report, format, args);
+    va_end(args);
+
+    return -errno;
+}
+
 static XLU_ConfigSetting *find(const XLU_Config *cfg, const char *n) {
     XLU_ConfigSetting *set;
 
diff --git a/tools/libs/util/libxlu_disk.c b/tools/libs/util/libxlu_disk.c
index e94f4d06cd..8728c9e133 100644
--- a/tools/libs/util/libxlu_disk.c
+++ b/tools/libs/util/libxlu_disk.c
@@ -4,13 +4,10 @@
 
 void xlu__disk_err(DiskParseContext *dpc, const char *erroneous,
                    const char *message) {
-    fprintf(dpc->cfg->report,
-            "%s: config parsing error in disk specification: %s"
-            "%s%s%s"
-            " in `%s'\n",
-            dpc->cfg->config_source, message,
-            erroneous?": near `":"", erroneous?erroneous:"", erroneous?"'":"",
-            dpc->spec);
+    xlu_cfg_printf(dpc->cfg,
+            " config parsing error in disk specification: %s%s%s%s in `%s'\n",
+            message, erroneous?": near `":"", erroneous?erroneous:"",
+            erroneous?"'":"", dpc->spec);
     if (!dpc->err) dpc->err= EINVAL;
 }
 
@@ -28,8 +25,7 @@ static int dpc_prep(DiskParseContext *dpc, const char *spec) {
     return 0;
 
  fail:
-    fprintf(dpc->cfg->report, "cannot init disk scanner: %s\n",
-            strerror(errno));
+    xlu_cfg_printf(dpc->cfg, " cannot init disk scanner: %s\n", strerror(errno));
     return e;
 }
 
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index 310e2145a7..214ebe5f48 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -37,6 +37,10 @@ struct XLU_Config {
 #define STRINGIFY(x) #x
 #define TOSTRING(x) STRINGIFY(x)
 
+
+extern int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
+    __attribute__((__format__(__printf__, 2, 3)));
+
 #endif /*LIBXLU_INTERNAL_H*/
 
 /*
diff --git a/tools/libs/util/libxlu_pci.c b/tools/libs/util/libxlu_pci.c
index 294482c6d7..1f75317428 100644
--- a/tools/libs/util/libxlu_pci.c
+++ b/tools/libs/util/libxlu_pci.c
@@ -5,9 +5,6 @@
 #include "libxlu_internal.h"
 
 
-#define XLU__PCI_ERR(_c, _x, _a...) \
-    if((_c) && (_c)->report) fprintf((_c)->report, _x, ##_a)
-
 static int parse_bdf(libxl_device_pci *pci, const char *str, const char **endp)
 {
     const char *ptr = str;
@@ -129,7 +126,7 @@ static int parse_rdm_policy(XLU_Config *cfg, libxl_rdm_reserve_policy *policy,
     int ret = libxl_rdm_reserve_policy_from_string(str, policy);
 
     if (ret)
-        XLU__PCI_ERR(cfg, "Unknown RDM policy: %s", str);
+        xlu_cfg_printf(cfg, " Unknown RDM policy: %s", str);
 
     return ret;
 }
@@ -193,7 +190,7 @@ int xlu_pci_parse_spec_string(XLU_Config *cfg, libxl_device_pci *pci,
             pci->name = strdup(val);
             if (!pci->name) ret = ERROR_NOMEM;
         } else {
-            XLU__PCI_ERR(cfg, "Unknown PCI_SPEC_STRING option: %s", key);
+            xlu_cfg_printf(cfg, " Unknown PCI_SPEC_STRING option: %s", key);
             ret = ERROR_INVAL;
         }
 
@@ -233,7 +230,7 @@ int xlu_rdm_parse(XLU_Config *cfg, libxl_rdm_reserve *rdm, const char *str)
                 } else if (!strcmp(tok, "policy")) {
                     state = STATE_RESERVE_POLICY;
                 } else {
-                    XLU__PCI_ERR(cfg, "Unknown RDM state option: %s", tok);
+                    xlu_cfg_printf(cfg, " Unknown RDM state option: %s", tok);
                     goto parse_error;
                 }
                 tok = ptr + 1;
@@ -246,7 +243,7 @@ int xlu_rdm_parse(XLU_Config *cfg, libxl_rdm_reserve *rdm, const char *str)
                 if (!strcmp(tok, "host")) {
                     rdm->strategy = LIBXL_RDM_RESERVE_STRATEGY_HOST;
                 } else {
-                    XLU__PCI_ERR(cfg, "Unknown RDM strategy option: %s", tok);
+                    xlu_cfg_printf(cfg, " Unknown RDM strategy option: %s", tok);
                     goto parse_error;
                 }
                 tok = ptr + 1;
diff --git a/tools/libs/util/libxlu_vif.c b/tools/libs/util/libxlu_vif.c
index ccf0cbdf57..8331010550 100644
--- a/tools/libs/util/libxlu_vif.c
+++ b/tools/libs/util/libxlu_vif.c
@@ -6,9 +6,7 @@ static const char *vif_bytes_per_sec_re = "^[0-9]+[GMK]?[Bb]/s$";
 static const char *vif_internal_usec_re = "^[0-9]+[mu]?s?$";
 
 static void xlu__vif_err(XLU_Config *cfg, const char *msg, const char *rate) {
-    fprintf(cfg->report,
-            "%s: config parsing error in vif: %s in `%s'\n",
-            cfg->config_source, msg, rate);
+    xlu_cfg_printf(cfg, " config parsing error in vif: %s in `%s'\n", msg, rate);
 }
 
 static int vif_parse_rate_bytes_per_sec(XLU_Config *cfg, const char *bytes,
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575646.901257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXJ-0006kv-0i; Wed, 02 Aug 2023 21:37:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575646.901257; Wed, 02 Aug 2023 21: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 1qRJXI-0006ko-RQ; Wed, 02 Aug 2023 21:37:40 +0000
Received: by outflank-mailman (input) for mailman id 575646;
 Wed, 02 Aug 2023 21:37:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJSQ-0003Og-JX
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:32:38 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18eeff17-317c-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:32:36 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LWPL5008540
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:32:31 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LWPo4008539;
 Wed, 2 Aug 2023 14:32:25 -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: 18eeff17-317c-11ee-8613-37d641c3527e
Message-Id: <6452c9eae533fbed7e156f71f53045fe7438174b.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Wed, 26 Jul 2023 14:22:14 -0700
Subject: [PATCH 19/22] tools/utils: add pointer to in-progress settings to
 CfgParseContext
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Rather than needing the full structure, for many operations the settings
pointer is enough.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_cfg.c   | 13 ++++++++-----
 tools/libs/util/libxlu_cfg_y.y |  1 +
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 91e056bb33..3c0703f9df 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -67,10 +67,13 @@ XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     return cfg;
 }
 
-static int ctx_prep(CfgParseContext *ctx, XLU_Config *cfg) {
+static int ctx_prep(CfgParseContext *ctx, XLU_Config *cfg,
+    XLU_ConfigSetting **psettings)
+{
     int e;
 
     ctx->cfg= cfg;
+    ctx->psettings = psettings;
     ctx->err= 0;
     ctx->lexerrlineno= -1;
     ctx->likely_python= 0;
@@ -112,7 +115,7 @@ int xlu_cfg_readfile(XLU_Config *cfg, const char *real_filename) {
     int e;
 
     CfgParseContext ctx;
-    e = ctx_prep(&ctx, cfg);
+    e = ctx_prep(&ctx, cfg, &cfg->settings);
     if (e) { ctx.err= e; goto xe; }
 
     f= fopen(real_filename, "r");
@@ -139,7 +142,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length) {
     YY_BUFFER_STATE buf= 0;
 
     CfgParseContext ctx;
-    e= ctx_prep(&ctx, cfg);
+    e = ctx_prep(&ctx, cfg, &cfg->settings);
     if (e) { ctx.err= e; goto xe; }
 
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
@@ -619,8 +622,8 @@ void xlu__cfg_set_store(CfgParseContext *ctx, char *name,
     set->value = val;
     set->op = op;
     set->lineno= lineno;
-    set->next= ctx->cfg->settings;
-    ctx->cfg->settings= set;
+    set->next = *ctx->psettings;
+    *ctx->psettings = set;
     return;
 out:
     assert(ctx->err);
diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index 5c7e31222d..5bd4cbb0ab 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -21,6 +21,7 @@
 
 typedef struct {
     XLU_Config *cfg;
+    XLU_ConfigSetting **psettings;
     int err, lexerrlineno, likely_python;
     void *scanner;
 } CfgParseContext;
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575654.901266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXK-00070e-64; Wed, 02 Aug 2023 21:37:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575654.901266; Wed, 02 Aug 2023 21:37:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXK-00070T-2D; Wed, 02 Aug 2023 21:37:42 +0000
Received: by outflank-mailman (input) for mailman id 575654;
 Wed, 02 Aug 2023 21:37:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJNK-0004vP-G1
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:27:22 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d25a01e-317b-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:27:21 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LRCsJ008463
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:27:18 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LRCav008462;
 Wed, 2 Aug 2023 14:27:12 -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: 5d25a01e-317b-11ee-b263-6b7b168915f2
Message-Id: <de7fedb2b94476563d9c7657c9cba70b82767027.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 18 Jul 2023 23:07:20 -0700
Subject: [PATCH 13/22] tools/utils: move XLU_ConfigList to libxl_cfg.c
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

With XLU_ConfigValue now in libxlu_cfg.c, XLU_ConfigList can follow.

Fixes: 1a09c5113a ("libxlu: rework internal representation of setting")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
Placing XLU_ConfigValue/XLU_ConfigList in libxlu_internal.h was certainly
*wrong*.
---
 tools/libs/util/libxlu_cfg.c      | 6 ++++++
 tools/libs/util/libxlu_internal.h | 6 ------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index d3b5c86ed6..67d1a8123f 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -31,6 +31,12 @@ struct XLU_ConfigSetting {
     int lineno;
 };
 
+struct XLU_ConfigList {
+    int avalues; /* available slots */
+    int nvalues; /* actual occupied slots */
+    XLU_ConfigValue **values;
+};
+
 struct XLU_ConfigValue {
     enum XLU_ConfigValueType type;
     union {
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index c68669c3a1..310e2145a7 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -25,12 +25,6 @@
 
 #include "libxlutil.h"
 
-struct XLU_ConfigList {
-    int avalues; /* available slots */
-    int nvalues; /* actual occupied slots */
-    XLU_ConfigValue **values;
-};
-
 typedef struct XLU_ConfigSetting XLU_ConfigSetting;
 
 struct XLU_Config {
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575686.901276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXQ-0007Uu-Em; Wed, 02 Aug 2023 21:37:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575686.901276; Wed, 02 Aug 2023 21:37:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXQ-0007Un-B4; Wed, 02 Aug 2023 21:37:48 +0000
Received: by outflank-mailman (input) for mailman id 575686;
 Wed, 02 Aug 2023 21:37: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJPq-0002A0-N2
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:29:58 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba56475f-317b-11ee-b263-6b7b168915f2;
 Wed, 02 Aug 2023 23:29:58 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LTmp6008512
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:29:54 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LTm1g008511;
 Wed, 2 Aug 2023 14:29:48 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba56475f-317b-11ee-b263-6b7b168915f2
Message-Id: <d7b9af537aa1c56189c98aa61589e2226af86d6e.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Sun, 9 Jul 2023 16:06:30 -0700
Subject: [PATCH 16/22] tools/utils: move XLU_Operation to libxlu_cfg_y.h
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

This enumerated value is never used outside of the lowest layer of the
configuration parser.  As such, move to the internal header.

Fixes: a30910bfd7 ("libxlu: Handle += in config files")
Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
I'm unsure whether this is fixing a30910bfd7.  Placing XLU_Operation in
libxlutil.h was certainly erroneous, but it is quite unlikely to directly
result in actual bugs.
---
 tools/include/libxlutil.h      | 5 -----
 tools/libs/util/libxlu_cfg_y.y | 5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/include/libxlutil.h b/tools/include/libxlutil.h
index 0ce66c2096..de57ca4200 100644
--- a/tools/include/libxlutil.h
+++ b/tools/include/libxlutil.h
@@ -25,11 +25,6 @@ enum XLU_ConfigValueType {
     XLU_LIST,
 };
 
-enum XLU_Operation {
-    XLU_OP_ASSIGNMENT = 0,
-    XLU_OP_ADDITION,
-};
-
 /* Unless otherwise stated, all functions return an errno value. */
 typedef struct XLU_Config XLU_Config;
 typedef struct XLU_ConfigList XLU_ConfigList;
diff --git a/tools/libs/util/libxlu_cfg_y.y b/tools/libs/util/libxlu_cfg_y.y
index 75e7140478..5dfb06941a 100644
--- a/tools/libs/util/libxlu_cfg_y.y
+++ b/tools/libs/util/libxlu_cfg_y.y
@@ -27,6 +27,11 @@ typedef struct {
 }
 
 %code provides {
+enum XLU_Operation {
+    XLU_OP_ASSIGNMENT = 0,
+    XLU_OP_ADDITION,
+};
+
 void xlu__cfg_set_free(XLU_ConfigSetting *set);
 void xlu__cfg_set_store(CfgParseContext*, char *name,
                         enum XLU_Operation op,
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:37:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575692.901286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJXR-0007l5-Pa; Wed, 02 Aug 2023 21:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575692.901286; Wed, 02 Aug 2023 21: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 1qRJXR-0007kW-Iz; Wed, 02 Aug 2023 21:37:49 +0000
Received: by outflank-mailman (input) for mailman id 575692;
 Wed, 02 Aug 2023 21:37: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=w0qL=DT=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRJTE-0003Og-So
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:33:28 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36f5476d-317c-11ee-8613-37d641c3527e;
 Wed, 02 Aug 2023 23:33:27 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 372LXHYp008558
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 2 Aug 2023 17:33:23 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 372LXHcA008557;
 Wed, 2 Aug 2023 14:33:17 -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: 36f5476d-317c-11ee-8613-37d641c3527e
Message-Id: <52d5a8411767aa17ce0db845471ad38dd49f6594.1690990428.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Date: Tue, 25 Jul 2023 20:26:48 -0700
Subject: [PATCH 20/22] tools/utils: add wrapper for readfile()/readdata()
 functions
X-Spam-Status: No, score=2.5 required=10.0 tests=DATE_IN_PAST_96_XX,
	KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

These functions needs to cross the boundary between core and lower-layer.
As such split them in two.  Pass most of the values from XLU_Config as
they can be used by the lower-layer.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 tools/libs/util/libxlu_cfg.c      | 47 ++++++++++++++++++++++---------
 tools/libs/util/libxlu_internal.h |  6 ++++
 2 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/tools/libs/util/libxlu_cfg.c b/tools/libs/util/libxlu_cfg.c
index 3c0703f9df..cb99b0aab0 100644
--- a/tools/libs/util/libxlu_cfg.c
+++ b/tools/libs/util/libxlu_cfg.c
@@ -110,39 +110,58 @@ static void parse(CfgParseContext *ctx) {
     }
 }
 
-int xlu_cfg_readfile(XLU_Config *cfg, const char *real_filename) {
-    FILE *f = 0;
+int xlu_cfg_readfile(XLU_Config *cfg, const char *name)
+{
+    FILE *file;
+    int ret;
+
+    file = fopen(name, "r");
+    if (file) {
+        ret = xlu__cfg_readfile(cfg, cfg->report, cfg->config_source,
+            &cfg->settings, file, name);
+        fclose(file);
+    } else {
+        ret = errno;
+        fprintf(cfg->report,"%s: unable to open configuration file: %s\n",
+                name, strerror(ret));
+    }
+
+    return ret;
+}
+
+int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
+    XLU_ConfigSetting **psettings, FILE *f, const char *name)
+{
     int e;
 
     CfgParseContext ctx;
-    e = ctx_prep(&ctx, cfg, &cfg->settings);
+    e = ctx_prep(&ctx, cfg, psettings);
     if (e) { ctx.err= e; goto xe; }
 
-    f= fopen(real_filename, "r");
-    if (!f) {
-        ctx.err = errno;
-        fprintf(cfg->report,"%s: unable to open configuration file: %s\n",
-                real_filename, strerror(e));
-        goto xe;
-    }
-
     xlu__cfg_yyrestart(f, ctx.scanner);
 
     parse(&ctx);
 
  xe:
     ctx_dispose(&ctx);
-    if (f) fclose(f);
 
     return ctx.err;
 }
 
-int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length) {
+int xlu_cfg_readdata(XLU_Config *cfg, const char *data, int length)
+{
+    return xlu__cfg_readdata(cfg, cfg->report, cfg->config_source,
+        &cfg->settings, data, length);
+}
+
+int xlu__cfg_readdata(XLU_Config *cfg, FILE *msgfile, const char *msgprefix,
+    XLU_ConfigSetting **psettings, const char *data, int length)
+{
     int e;
     YY_BUFFER_STATE buf= 0;
 
     CfgParseContext ctx;
-    e = ctx_prep(&ctx, cfg, &cfg->settings);
+    e = ctx_prep(&ctx, cfg, psettings);
     if (e) { ctx.err= e; goto xe; }
 
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
diff --git a/tools/libs/util/libxlu_internal.h b/tools/libs/util/libxlu_internal.h
index cc98efba27..34c6c7a443 100644
--- a/tools/libs/util/libxlu_internal.h
+++ b/tools/libs/util/libxlu_internal.h
@@ -39,6 +39,12 @@ extern int xlu_cfg_printf(const XLU_Config *cfg, const char *format, ...)
  * Internals for file parser *only*, NOT to be used by other parsing/lexing
  */
 extern void xlu__cfg_set_free(XLU_ConfigSetting *set);
+extern int xlu__cfg_readfile(XLU_Config *cfg, FILE *msgfile,
+    const char *msgprefix, XLU_ConfigSetting **psettings, FILE *file,
+    const char *name);
+extern int xlu__cfg_readdata(XLU_Config *cfg, FILE *msgfile,
+    const char *msgprefix, XLU_ConfigSetting **psettings, const char *data,
+    int length);
 
 #endif /*LIBXLU_INTERNAL_H*/
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@m5p.com      PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





From xen-devel-bounces@lists.xenproject.org Wed Aug 02 21:42:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 21:42:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575765.901299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJbO-0001tg-Ct; Wed, 02 Aug 2023 21:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575765.901299; Wed, 02 Aug 2023 21:41:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRJbO-0001tY-9v; Wed, 02 Aug 2023 21:41:54 +0000
Received: by outflank-mailman (input) for mailman id 575765;
 Wed, 02 Aug 2023 21:41: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 1qRJbM-0001tQ-OR
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 21:41: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 1qRJbJ-0006Pk-63; Wed, 02 Aug 2023 21:41:49 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRJbJ-00008O-0a; Wed, 02 Aug 2023 21:41: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=5OX86ePTqckG8JhNv/p3p6t5dZGA691nyQRGEt/NfsA=; b=hr/WJbdyWhsdJYWBE1kkalzft9
	QqY2Zu1HkYzlzQw0GH9Wun9VRxIgYGzV6VekX3o7SwDrTWKZe7W82pSZWNWaLreJLXlCR+T8K3QWs
	L/zkAavB6jnLtkTpV9CoIOGDySLk115EITVY0cVsY6Gnka0dd6NKr1i5FT9N63eXXhNE=;
Message-ID: <d82d4c97-eb5c-0446-408d-7fd2f7af45fd@xen.org>
Date: Wed, 2 Aug 2023 22:41:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1690475512.git.oleksii.kurochko@gmail.com>
 <6e8f243284b53a9c56e7faf5e0e5ee5e20de9958.1690475512.git.oleksii.kurochko@gmail.com>
 <98596d8e-6c11-715a-7842-910806abda77@suse.com>
 <75cd58c00ac6b9f49f1656d6793888ef470c9eff.camel@gmail.com>
 <9c74b2a2-450c-6932-868f-6109374de6bc@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v4 1/1] ns16550: add support for polling mode when device
 tree is used
In-Reply-To: <9c74b2a2-450c-6932-868f-6109374de6bc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 01/08/2023 10:59, Jan Beulich wrote:
> On 01.08.2023 11:46, Oleksii wrote:
>> On Mon, 2023-07-31 at 15:24 +0200, Jan Beulich wrote:
>>> On 27.07.2023 18:45, Oleksii Kurochko wrote:
>>>> @@ -654,6 +674,9 @@ static void ns16550_init_common(struct ns16550
>>>> *uart)
>>>>   
>>>>  Â Â Â Â  /* Default lsr_mask = UART_LSR_THRE */
>>>>  Â Â Â Â  uart->lsr_maskÂ  = UART_LSR_THRE;
>>>> +
>>>> +Â Â Â  if ( strstr(opt_com1, "poll") || strstr(opt_com2, "poll") )
>>>> +Â Â Â Â Â Â Â  uart->intr_works = polling;
>>>>  Â }
>>>
>>> A non-__init function may not reference __initdata objects. But
>>> strstr()
>>> is too lax anyway, and you also shouldn't check the wrong port's
>>> options.
>>> You want to recognize "poll" _only_ where all other command line
>>> options
>>> are processed.
>> Just to confirm, do you mean that I should use parse_positional() ( or
>> something similar ) for the device-tree method of initializing ns16550?
>>
>> I checked the polling behavior as described above because
>> parse_positional() is utilized solely for X86.
>>
>> It appears that command line options are parsed only in the case of
>> x86.
> 
> Hmm, looks like you're right. Arm folks will want to clarify how they
> got away without any command line overrides so far,

So far, everything we needed was described in the firmware table (e.g. 
ACPI/Device-Tree).

> and how they think
> now necessary ones should be suitably added.

I think "poll" is the only parameter that we should parse on Arm.

> I recall I had reservations
> when the file was massaged to compile out supposedly x86-only code.

I had a look at the code protected by CONFIG_X86. Most of it still want 
to be configured behind CONFIG_X86 at least until we have PCI support. 
But even with it, some work would be necessary to be able to support PCI 
UART.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 22:45:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 22:45:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575852.901315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKax-0008Ut-Ts; Wed, 02 Aug 2023 22:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575852.901315; Wed, 02 Aug 2023 22: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 1qRKax-0008Ul-Pz; Wed, 02 Aug 2023 22:45:31 +0000
Received: by outflank-mailman (input) for mailman id 575852;
 Wed, 02 Aug 2023 22:45:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRKaw-0008UW-Eh; Wed, 02 Aug 2023 22:45:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRKaw-0007pC-5i; Wed, 02 Aug 2023 22:45: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 1qRKav-0007ns-PW; Wed, 02 Aug 2023 22:45:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRKav-0001k2-P4; Wed, 02 Aug 2023 22:45:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dtpdOLMdwIw1aVyiLg57UyL0gyKJccIffeEQrfyzOOc=; b=iKfkc/8YMzZhrRHaSglGpmkZI1
	PbbpM5p2XD5c2p2iso2MpFU42bJF+syCnvlNRjadixq9siyGQtLK4SGJtOLpz39IgT/dWOI0zGkzZ
	k5RwREjL9g7eCn2XCQUu+YF8fR5IDqVLZu56QoU0xqzTAT6FM4LaYvZu2cmNb7BHBzCM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182101-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182101: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:host-ping-check-xen:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot: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-raw:xen-boot: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-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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
    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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 02 Aug 2023 22:45:29 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2  14 guest-start      fail in 182087 pass in 182101
 test-amd64-amd64-xl-qemuu-ovmf-amd64 21 guest-start.2 fail in 182087 pass in 182101
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot           fail pass in 182087
 test-amd64-amd64-xl-shadow    8 xen-boot                   fail pass in 182087
 test-amd64-amd64-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 182087
 test-amd64-amd64-dom0pvh-xl-amd 23 guest-start.2           fail pass in 182087
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 15 guest-saverestore fail pass in 182087
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182087
 test-amd64-amd64-xl-vhd      21 guest-start/debian.repeat  fail pass in 182087

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

version targeted for testing:
 linux                5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  108 days
Failing since        180281  2023-04-17 06:24:36 Z  107 days  197 attempts
Testing same since   182083  2023-07-31 00:41:50 Z    2 days    3 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575859.901327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsE-0002Xy-6Y; Wed, 02 Aug 2023 23:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575859.901327; Wed, 02 Aug 2023 23: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 1qRKsE-0002Xr-3u; Wed, 02 Aug 2023 23:03:22 +0000
Received: by outflank-mailman (input) for mailman id 575859;
 Wed, 02 Aug 2023 23:03:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsC-0002Xg-Vq
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:21 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c461511c-3188-11ee-b265-6b7b168915f2;
 Thu, 03 Aug 2023 01:03:18 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 20C018285570;
 Wed,  2 Aug 2023 18:03: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 L50En6x9HQe5; Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D5AB982853DD;
 Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2FNVpzo_oeqE; Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 694448285570;
 Wed,  2 Aug 2023 18:03: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: c461511c-3188-11ee-b265-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com D5AB982853DD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017395; bh=E+ZWgBHexIIC5drESkxQIt9+akyKQK9mOXv/LPhfb4Q=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=pjB+X0hSerN2rUHKxTcnAfmizRMpvZMhGE7AQBDKKqHFNnbg/6czAiGEOl41rxIxT
	 FrrVzUYoUnLeYvKKS8KubPQxSIBYqxhnrISMfeT9cCCyCKH/QaQ6tKQCnVcQeA2zPB
	 TC/YoWujZn/nJ6ATFkINIV7dx0rvwFYYeoRmG810=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 1/9] xen/common: Add missing #includes treewide
Date: Wed,  2 Aug 2023 18:02:57 -0500
Message-Id: <2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

A few files treewide depend on defininitions in headers that they
don't include. This works when arch headers end up including the
required headers by chance, but broke on ppc64 with only minimal/stub
arch headers.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/common/memory.c       | 1 +
 xen/common/symbols.c      | 1 +
 xen/common/xmalloc_tlsf.c | 1 +
 xen/include/xen/domain.h  | 1 +
 xen/include/xen/iommu.h   | 1 +
 xen/include/xen/sched.h   | 1 +
 6 files changed, 6 insertions(+)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index c206fa4808..1b185b00e4 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -28,6 +28,7 @@
 #include <asm/current.h>
 #include <asm/hardirq.h>
 #include <asm/p2m.h>
+#include <asm/page.h>
 #include <public/memory.h>
 #include <xsm/xsm.h>
=20
diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 9377f41424..691e617925 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -19,6 +19,7 @@
 #include <xen/virtual_region.h>
 #include <public/platform.h>
 #include <xen/guest_access.h>
+#include <xen/errno.h>
=20
 #ifdef SYMBOLS_ORIGIN
 extern const unsigned int symbols_offsets[];
diff --git a/xen/common/xmalloc_tlsf.c b/xen/common/xmalloc_tlsf.c
index c603c39bb9..349b31cb4c 100644
--- a/xen/common/xmalloc_tlsf.c
+++ b/xen/common/xmalloc_tlsf.c
@@ -27,6 +27,7 @@
 #include <xen/mm.h>
 #include <xen/pfn.h>
 #include <asm/time.h>
+#include <asm/page.h>
=20
 #define MAX_POOL_NAME_LEN       16
=20
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index d35af34841..767127b440 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -4,6 +4,7 @@
=20
 #include <xen/types.h>
=20
+#include <public/domctl.h>
 #include <public/xen.h>
 #include <asm/domain.h>
 #include <asm/numa.h>
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 405db59971..ef817efec9 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -24,6 +24,7 @@
 #include <xen/page-defs.h>
 #include <xen/pci.h>
 #include <xen/spinlock.h>
+#include <xen/errno.h>
 #include <public/domctl.h>
 #include <public/hvm/ioreq.h>
 #include <asm/device.h>
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 854f3e32c0..6a96534a45 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -21,6 +21,7 @@
 #include <xen/smp.h>
 #include <xen/perfc.h>
 #include <asm/atomic.h>
+#include <asm/current.h>
 #include <xen/vpci.h>
 #include <xen/wait.h>
 #include <public/xen.h>
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575860.901338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsF-0002mr-D3; Wed, 02 Aug 2023 23:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575860.901338; Wed, 02 Aug 2023 23: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 1qRKsF-0002mk-AG; Wed, 02 Aug 2023 23:03:23 +0000
Received: by outflank-mailman (input) for mailman id 575860;
 Wed, 02 Aug 2023 23:03:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsD-0002Xg-KX
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:21 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c461f0e5-3188-11ee-b265-6b7b168915f2;
 Thu, 03 Aug 2023 01:03:18 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CCB3382867D6;
 Wed,  2 Aug 2023 18:03: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 89gNs2vIgyAc; Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 858D082854B3;
 Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id fUmWstjzii5g; Wed,  2 Aug 2023 18:03:15 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 0975682853DD;
 Wed,  2 Aug 2023 18:03: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: c461f0e5-3188-11ee-b265-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 858D082854B3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017395; bh=tcDUbXvor3Abx3L0/suO4KclBQRdywXt5N4X3WqZUt8=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=ZcdhIBKkTIX0iC2GYS9WP2stox3fAcZx7VzpECgVJap6ytyLcaZeMxS1rtOGiPlwX
	 vpQF/5Y43ijsrJGHSaxOMCfeMb2U2PE+d4y/um5KQ76lrPL5hTkAKV4JROdbDHSo9f
	 4mVsygeluQw2zSrRAv7QdrW2YkFAX2k2TanbLAcw=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 0/9] ppc: Enable full Xen build
Date: Wed,  2 Aug 2023 18:02:56 -0500
Message-Id: <cover.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hello all,

This patch series performs all of the additions necessary to drop the
build overrides for PPC 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, unimplemented stubs
that just call BUG().

A few miscellaneous changes were also made to non-ppc code as well,
namely a few missing header fixes as well as an ARM-ism in the ns16550
driver.

Thanks,
Shawn

Shawn Anastasio (9):
  xen/common: Add missing #includes treewide
  xen/ppc: Add public/arch-ppc.h
  xen/ppc: Implement atomic.h
  xen/ppc: Implement bitops.h
  xen/ppc: Define minimal stub headers required for full build
  ns16550: Guard accesses to `vuart` field by CONFIG_ARM
  xen/ppc: Define bug frames table in linker script
  xen/ppc: Add stub function and symbol definitions
  xen/ppc: Enable full Xen build

 xen/arch/ppc/Kconfig                     |   1 +
 xen/arch/ppc/Makefile                    |  17 +-
 xen/arch/ppc/arch.mk                     |   3 -
 xen/arch/ppc/include/asm/altp2m.h        |  39 +++
 xen/arch/ppc/include/asm/atomic.h        | 387 +++++++++++++++++++++++
 xen/arch/ppc/include/asm/bitops.h        | 331 ++++++++++++++++++-
 xen/arch/ppc/include/asm/bug.h           |   7 +
 xen/arch/ppc/include/asm/cache.h         |   2 +
 xen/arch/ppc/include/asm/config.h        |   9 +
 xen/arch/ppc/include/asm/cpufeature.h    |   9 +
 xen/arch/ppc/include/asm/current.h       |  42 +++
 xen/arch/ppc/include/asm/delay.h         |  11 +
 xen/arch/ppc/include/asm/desc.h          |   0
 xen/arch/ppc/include/asm/device.h        |  53 ++++
 xen/arch/ppc/include/asm/div64.h         |  14 +
 xen/arch/ppc/include/asm/domain.h        |  46 +++
 xen/arch/ppc/include/asm/event.h         |  35 ++
 xen/arch/ppc/include/asm/flushtlb.h      |  23 ++
 xen/arch/ppc/include/asm/grant_table.h   |   0
 xen/arch/ppc/include/asm/guest_access.h  |  54 ++++
 xen/arch/ppc/include/asm/guest_atomics.h |  14 +
 xen/arch/ppc/include/asm/hardirq.h       |  18 ++
 xen/arch/ppc/include/asm/hypercall.h     |   0
 xen/arch/ppc/include/asm/io.h            |  15 +
 xen/arch/ppc/include/asm/iocap.h         |   7 +
 xen/arch/ppc/include/asm/iommu.h         |   7 +
 xen/arch/ppc/include/asm/irq.h           |  32 ++
 xen/arch/ppc/include/asm/mem_access.h    |   0
 xen/arch/ppc/include/asm/memory.h        |  34 ++
 xen/arch/ppc/include/asm/mm.h            | 255 ++++++++++++++-
 xen/arch/ppc/include/asm/monitor.h       |  48 +++
 xen/arch/ppc/include/asm/nospec.h        |  18 ++
 xen/arch/ppc/include/asm/numa.h          |  26 ++
 xen/arch/ppc/include/asm/p2m.h           | 105 ++++++
 xen/arch/ppc/include/asm/page.h          |  19 ++
 xen/arch/ppc/include/asm/paging.h        |   7 +
 xen/arch/ppc/include/asm/pci.h           |   7 +
 xen/arch/ppc/include/asm/percpu.h        |  26 ++
 xen/arch/ppc/include/asm/procarea.h      |  38 +++
 xen/arch/ppc/include/asm/processor.h     |   6 +
 xen/arch/ppc/include/asm/random.h        |   9 +
 xen/arch/ppc/include/asm/regs.h          |   2 +
 xen/arch/ppc/include/asm/setup.h         |   6 +
 xen/arch/ppc/include/asm/smp.h           |  18 ++
 xen/arch/ppc/include/asm/softirq.h       |   8 +
 xen/arch/ppc/include/asm/spinlock.h      |  15 +
 xen/arch/ppc/include/asm/system.h        | 243 +++++++++++++-
 xen/arch/ppc/include/asm/time.h          |  20 ++
 xen/arch/ppc/include/asm/vm_event.h      |  49 +++
 xen/arch/ppc/include/asm/xenoprof.h      |   0
 xen/arch/ppc/mm-radix.c                  |  46 ++-
 xen/arch/ppc/opal.c                      |   2 -
 xen/arch/ppc/setup.c                     |  10 +-
 xen/arch/ppc/stubs.c                     | 351 ++++++++++++++++++++
 xen/arch/ppc/tlb-radix.c                 |   2 +-
 xen/arch/ppc/xen.lds.S                   |  10 +
 xen/common/memory.c                      |   1 +
 xen/common/symbols.c                     |   1 +
 xen/common/xmalloc_tlsf.c                |   1 +
 xen/drivers/char/ns16550.c               |   2 +
 xen/include/public/arch-ppc.h            | 140 ++++++++
 xen/include/public/hvm/save.h            |   2 +
 xen/include/public/pmu.h                 |   2 +
 xen/include/public/xen.h                 |   2 +
 xen/include/xen/domain.h                 |   1 +
 xen/include/xen/iommu.h                  |   1 +
 xen/include/xen/sched.h                  |   1 +
 67 files changed, 2693 insertions(+), 17 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/arch/ppc/include/asm/atomic.h
 create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
 create mode 100644 xen/arch/ppc/include/asm/current.h
 create mode 100644 xen/arch/ppc/include/asm/delay.h
 create mode 100644 xen/arch/ppc/include/asm/desc.h
 create mode 100644 xen/arch/ppc/include/asm/device.h
 create mode 100644 xen/arch/ppc/include/asm/div64.h
 create mode 100644 xen/arch/ppc/include/asm/domain.h
 create mode 100644 xen/arch/ppc/include/asm/event.h
 create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
 create mode 100644 xen/arch/ppc/include/asm/grant_table.h
 create mode 100644 xen/arch/ppc/include/asm/guest_access.h
 create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
 create mode 100644 xen/arch/ppc/include/asm/hardirq.h
 create mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/arch/ppc/include/asm/io.h
 create mode 100644 xen/arch/ppc/include/asm/iocap.h
 create mode 100644 xen/arch/ppc/include/asm/iommu.h
 create mode 100644 xen/arch/ppc/include/asm/irq.h
 create mode 100644 xen/arch/ppc/include/asm/mem_access.h
 create mode 100644 xen/arch/ppc/include/asm/memory.h
 create mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/arch/ppc/include/asm/nospec.h
 create mode 100644 xen/arch/ppc/include/asm/numa.h
 create mode 100644 xen/arch/ppc/include/asm/p2m.h
 create mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/arch/ppc/include/asm/pci.h
 create mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/ppc/include/asm/procarea.h
 create mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/ppc/include/asm/setup.h
 create mode 100644 xen/arch/ppc/include/asm/smp.h
 create mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/ppc/include/asm/spinlock.h
 create mode 100644 xen/arch/ppc/include/asm/time.h
 create mode 100644 xen/arch/ppc/include/asm/vm_event.h
 create mode 100644 xen/arch/ppc/include/asm/xenoprof.h
 create mode 100644 xen/arch/ppc/stubs.c
 create mode 100644 xen/include/public/arch-ppc.h

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575864.901373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsI-0003ZY-29; Wed, 02 Aug 2023 23:03:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575864.901373; Wed, 02 Aug 2023 23: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 1qRKsH-0003Yp-SX; Wed, 02 Aug 2023 23:03:25 +0000
Received: by outflank-mailman (input) for mailman id 575864;
 Wed, 02 Aug 2023 23:03:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsF-0002Xg-L9
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6497382-3188-11ee-b265-6b7b168915f2;
 Thu, 03 Aug 2023 01:03:21 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7F86B82867D6;
 Wed,  2 Aug 2023 18:03: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 5_ulkB8bEAwK; Wed,  2 Aug 2023 18:03:19 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 18B8682853DD;
 Wed,  2 Aug 2023 18:03:19 -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 PKJPQVnVlc8g; Wed,  2 Aug 2023 18:03:18 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A87368286988;
 Wed,  2 Aug 2023 18:03:18 -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: c6497382-3188-11ee-b265-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 18B8682853DD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017399; bh=1Z3BHp5C4S6qyWtJBZVL9zKOQ4J/V94ak8r3E6OfMhE=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=OxSSE0AbnR2XSjQTFUqjkz660FTxvImjkTr0IhY5FmyQTiHcq2I12bHlbSICfLs8u
	 qISW10KsmeJ5MHH9muogX6u82BMmVh0MMDKfGBlpEtP1MCgDHNqrUNb39a24/nWMyv
	 hMyXh8BPQfu7Xbc0/7iaPfVYwpnqTkuuuTePSHO0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Date: Wed,  2 Aug 2023 18:03:04 -0500
Message-Id: <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Add stub function and symbol definitions required by common code. If the
file that the definition is supposed to be located in doesn't already
exist yet, temporarily place its definition in the new stubs.c

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/Makefile   |   1 +
 xen/arch/ppc/mm-radix.c |  44 +++++
 xen/arch/ppc/setup.c    |  10 +-
 xen/arch/ppc/stubs.c    | 351 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 404 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/ppc/stubs.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index a059ac4c0a..969910b3b6 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
 obj-y +=3D mm-radix.o
 obj-y +=3D opal.o
 obj-y +=3D setup.o
+obj-y +=3D stubs.o
 obj-y +=3D tlb-radix.o
=20
 $(TARGET): $(TARGET)-syms
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 399898a36d..1ed6897366 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -266,3 +266,47 @@ void __init setup_initial_pagetables(void)
     /* Turn on the MMU */
     enable_mmu();
 }
+
+
+/*
+ * TODO: Implement the functions below
+ */
+unsigned long total_pages;
+unsigned long frametable_base_pdx __read_mostly;
+
+void put_page(struct page_info *p)
+{
+    BUG();
+}
+
+void arch_dump_shared_mem_info(void)
+{
+    BUG();
+}
+
+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();
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    BUG();
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    BUG();
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    BUG();
+}
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 466993987b..06c0a5fa80 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -1,5 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/lib.h>
 #include <xen/init.h>
+#include <xen/mm.h>
+#include <public/version.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
 #include <asm/processor.h>
@@ -7,8 +10,6 @@
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZ=
E);
=20
-void __init setup_initial_pagetables(void);
-
 void __init noreturn start_xen(unsigned long r3, unsigned long r4,
                                unsigned long r5, unsigned long r6,
                                unsigned long r7)
@@ -39,3 +40,8 @@ void __init noreturn start_xen(unsigned long r3, unsign=
ed long r4,
=20
     unreachable();
 }
+
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    BUG();
+}
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
new file mode 100644
index 0000000000..2b3ee94115
--- /dev/null
+++ b/xen/arch/ppc/stubs.c
@@ -0,0 +1,351 @@
+/* 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 <public/vm_event.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 =3D { { [0] =3D 1UL } };
+
+/* time.c */
+
+s_time_t get_s_time(void)
+{
+    BUG();
+}
+
+int reprogram_timer(s_time_t timeout)
+{
+    BUG();
+}
+
+void send_timer_event(struct vcpu *v)
+{
+    BUG();
+}
+
+/* traps.c */
+
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    BUG();
+}
+
+void arch_hypercall_tasklet_result(struct vcpu *v, long res)
+{
+    BUG();
+}
+
+void vcpu_show_execution_state(struct vcpu *v)
+{
+    BUG();
+}
+
+/* shutdown.c */
+
+void machine_restart(unsigned int delay_millisecs)
+{
+    BUG();
+}
+
+void machine_halt(void)
+{
+    BUG();
+}
+
+/* vm_event.c */
+
+void vm_event_fill_regs(vm_event_request_t *req)
+{
+    BUG();
+}
+
+void vm_event_set_registers(struct vcpu *v, vm_event_response_t *rsp)
+{
+    BUG();
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on PPC. */
+}
+
+/* domctl.c */
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    BUG();
+}
+
+/* monitor.c */
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
+{
+    BUG();
+}
+
+/* smp.c */
+
+void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_event_check_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_call_function_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+/* irq.c */
+
+struct pirq *alloc_pirq_struct(struct domain *d)
+{
+    BUG();
+}
+
+int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share)
+{
+    BUG();
+}
+
+void pirq_guest_unbind(struct domain *d, struct pirq *pirq)
+{
+    BUG();
+}
+
+void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask=
)
+{
+    BUG();
+}
+
+static void ack_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+static void end_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+hw_irq_controller no_irq_type =3D {
+    .typename =3D "none",
+    .startup =3D irq_startup_none,
+    .shutdown =3D irq_shutdown_none,
+    .enable =3D irq_enable_none,
+    .disable =3D irq_disable_none,
+    .ack =3D ack_none,
+    .end =3D end_none
+};
+
+int arch_init_one_irq_desc(struct irq_desc *desc)
+{
+    BUG();
+}
+
+void smp_send_state_dump(unsigned int cpu)
+{
+    BUG();
+}
+
+/* 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();
+}
+
+void continue_running(struct vcpu *same)
+{
+    BUG();
+}
+
+void sync_local_execstate(void)
+{
+    BUG();
+}
+
+void sync_vcpu_execstate(struct vcpu *v)
+{
+    BUG();
+}
+
+void startup_cpu_idle_loop(void)
+{
+    BUG();
+}
+
+void free_domain_struct(struct domain *d)
+{
+    BUG();
+}
+
+void dump_pageframe_info(struct domain *d)
+{
+    BUG();
+}
+
+void free_vcpu_struct(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_vcpu_create(struct vcpu *v)
+{
+    BUG();
+}
+
+void arch_vcpu_destroy(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_switch_to_aarch64_mode(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    BUG();
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    BUG();
+}
+
+int arch_domain_teardown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_shutdown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_pause(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_unpause(struct domain *d)
+{
+    BUG();
+}
+
+int arch_domain_soft_reset(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_creation_finished(struct domain *d)
+{
+    BUG();
+}
+
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG();
+}
+
+int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) ar=
g)
+{
+    BUG();
+}
+
+int arch_vcpu_reset(struct vcpu *v)
+{
+    BUG();
+}
+
+int domain_relinquish_resources(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_domain_info(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_update_evtchn_irq(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_block_unless_event_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_kick(struct vcpu *v)
+{
+    BUG();
+}
+
+struct domain *alloc_domain_struct(void)
+{
+    BUG();
+}
+
+struct vcpu *alloc_vcpu_struct(const struct domain *d)
+{
+    BUG();
+}
+
+unsigned long
+hypercall_create_continuation(unsigned int op, const char *format, ...)
+{
+    BUG();
+}
+
+int __init parse_arch_dom0_param(const char *s, const char *e)
+{
+    BUG();
+}
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575862.901350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsG-0002zg-Bm; Wed, 02 Aug 2023 23:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575862.901350; Wed, 02 Aug 2023 23: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 1qRKsG-0002y1-4C; Wed, 02 Aug 2023 23:03:24 +0000
Received: by outflank-mailman (input) for mailman id 575862;
 Wed, 02 Aug 2023 23:03:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsE-0002ha-Vq
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c52108b4-3188-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 01:03:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8525C82857CC;
 Wed,  2 Aug 2023 18:03: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 rrykhtEJfngC; Wed,  2 Aug 2023 18:03:16 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B5F548285755;
 Wed,  2 Aug 2023 18:03: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 h0xsFUFCJUW2; Wed,  2 Aug 2023 18:03:16 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 549648285570;
 Wed,  2 Aug 2023 18:03: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: c52108b4-3188-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B5F548285755
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017396; bh=lLrkou/Ji/TdfUO/m/EFd+jofhnUCIg/laAuoA5SU4Q=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=Vh2PyYIMAFUm+xC0GS7Jt5f0z3KnWMNVFZuA7r8xSv0XD/Dvhd/d5I0xv9QAAM4pv
	 S7EW6eY/okJCgkuN22nMnQHTwkQkRONvfxIQyJnz+Hj91a6oLD/QmSjO5R93Cazxsz
	 EClDd2U0j6w/eUVvAKOZvZV88SdeXiPVMAzSp498=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 3/9] xen/ppc: Implement atomic.h
Date: Wed,  2 Aug 2023 18:02:59 -0500
Message-Id: <8035b9659a5930c00802dd36ab52574695d6b419.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Implement atomic.h for PPC, based off of the original Xen 3.2
implementation.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/include/asm/atomic.h | 387 ++++++++++++++++++++++++++++++
 xen/arch/ppc/include/asm/memory.h |  34 +++
 2 files changed, 421 insertions(+)
 create mode 100644 xen/arch/ppc/include/asm/atomic.h
 create mode 100644 xen/arch/ppc/include/asm/memory.h

diff --git a/xen/arch/ppc/include/asm/atomic.h b/xen/arch/ppc/include/asm=
/atomic.h
new file mode 100644
index 0000000000..336dedc476
--- /dev/null
+++ b/xen/arch/ppc/include/asm/atomic.h
@@ -0,0 +1,387 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * PowerPC64 atomic operations
+ *
+ * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
+ * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
+ * Copyright Raptor Engineering LLC
+ *
+ * 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.
+ */
+
+#ifndef _ASM_PPC64_ATOMIC_H_
+#define _ASM_PPC64_ATOMIC_H_
+
+#include <xen/atomic.h>
+
+#include <asm/memory.h>
+#include <asm/system.h>
+
+static inline int atomic_read(const atomic_t *v)
+{
+    return *(volatile int *)&v->counter;
+}
+
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+
+static inline void atomic_set(atomic_t *v, int i)
+{
+    v->counter =3D i;
+}
+
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter =3D i;
+}
+
+void __bad_atomic_read(const volatile void *p, void *res);
+void __bad_atomic_size(void);
+
+#define build_atomic_read(name, insn, type)                             =
       \
+    static inline type name(const volatile type *addr)                  =
       \
+    {                                                                   =
       \
+        type ret;                                                       =
       \
+        asm volatile ( insn "%U1%X1 %0,%1" : "=3Dr"(ret) : "m<>"(*addr) =
);       \
+        return ret;                                                     =
       \
+    }
+
+#define build_atomic_write(name, insn, type)                            =
       \
+    static inline void name(volatile type *addr, type val)              =
       \
+    {                                                                   =
       \
+        asm volatile ( insn "%U0%X0 %1,%0" : "=3Dm<>"(*addr) : "r"(val) =
);       \
+    }
+
+#define build_add_sized(name, ldinsn, stinsn, type)                     =
       \
+    static inline void name(volatile type *addr, type val)              =
       \
+    {                                                                   =
       \
+        type t;                                                         =
       \
+        asm volatile ( "1: " ldinsn " %0,0,%3\n"                        =
       \
+                       "add%I2 %0,%0,%2\n"                              =
       \
+                       stinsn " %0,0,%3 \n"                             =
       \
+                       "bne- 1b\n"                                      =
       \
+                       : "=3D&r"(t), "+m"(*addr)                        =
         \
+                       : "r"(val), "r"(addr)                            =
       \
+                       : "cc" );                                        =
       \
+    }
+
+build_atomic_read(read_u8_atomic, "lbz", uint8_t)
+build_atomic_read(read_u16_atomic, "lhz", uint16_t)
+build_atomic_read(read_u32_atomic, "lwz", uint32_t)
+build_atomic_read(read_u64_atomic, "ldz", uint64_t)
+
+build_atomic_write(write_u8_atomic, "stb", uint8_t)
+build_atomic_write(write_u16_atomic, "sth", uint16_t)
+build_atomic_write(write_u32_atomic, "stw", uint32_t)
+build_atomic_write(write_u64_atomic, "std", uint64_t)
+
+build_add_sized(add_u8_sized, "lbarx", "stbcx.",uint8_t)
+build_add_sized(add_u16_sized, "lharx", "sthcx.", uint16_t)
+build_add_sized(add_u32_sized, "lwarx", "stwcx.", uint32_t)
+
+#undef build_atomic_read
+#undef build_atomic_write
+#undef build_add_sized
+
+static always_inline void read_atomic_size(const volatile void *p, void =
*res,
+                                           unsigned int size)
+{
+    ASSERT(IS_ALIGNED((vaddr_t) p, size));
+    switch ( size )
+    {
+    case 1:
+        *(uint8_t *)res =3D read_u8_atomic(p);
+        break;
+    case 2:
+        *(uint16_t *)res =3D read_u16_atomic(p);
+        break;
+    case 4:
+        *(uint32_t *)res =3D read_u32_atomic(p);
+        break;
+    case 8:
+        *(uint64_t *)res =3D read_u64_atomic(p);
+        break;
+    default:
+        __bad_atomic_read(p, res);
+        break;
+    }
+}
+
+static always_inline void write_atomic_size(volatile void *p, void *val,
+                                            unsigned int size)
+{
+    ASSERT(IS_ALIGNED((vaddr_t) p, size));
+    switch ( size )
+    {
+    case 1:
+        write_u8_atomic(p, *(uint8_t *)val);
+        break;
+    case 2:
+        write_u16_atomic(p, *(uint16_t *)val);
+        break;
+    case 4:
+        write_u32_atomic(p, *(uint32_t *)val);
+        break;
+    case 8:
+        write_u64_atomic(p, *(uint64_t *)val);
+        break;
+    default:
+        __bad_atomic_size();
+        break;
+    }
+}
+
+#define read_atomic(p)                                                  =
       \
+    ({                                                                  =
       \
+        union {                                                         =
       \
+            typeof(*(p)) val;                                           =
       \
+            char c[0];                                                  =
       \
+        } x_;                                                           =
       \
+        read_atomic_size(p, x_.c, sizeof(*(p)));                        =
       \
+        x_.val;                                                         =
       \
+    })
+
+#define write_atomic(p, x)                                              =
       \
+    do                                                                  =
       \
+    {                                                                   =
       \
+        typeof(*(p)) x_ =3D (x);                                        =
         \
+        write_atomic_size(p, &x_, sizeof(*(p)));                        =
       \
+    } while ( 0 )
+
+#define add_sized(p, x)                                                 =
       \
+    ({                                                                  =
       \
+        typeof(*(p)) __x =3D (x);                                       =
         \
+        switch ( sizeof(*(p)) )                                         =
       \
+        {                                                               =
       \
+        case 1:                                                         =
       \
+            add_u8_sized((uint8_t *) (p), __x);                         =
       \
+            break;                                                      =
       \
+        case 2:                                                         =
       \
+            add_u16_sized((uint16_t *) (p), __x);                       =
       \
+            break;                                                      =
       \
+        case 4:                                                         =
       \
+            add_u32_sized((uint32_t *) (p), __x);                       =
       \
+            break;                                                      =
       \
+        default:                                                        =
       \
+            __bad_atomic_size();                                        =
       \
+            break;                                                      =
       \
+        }                                                               =
       \
+    })
+
+static inline void atomic_add(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%3\n"
+                   "add %0,%2,%0\n"
+                   "stwcx. %0,0,%3\n"
+                   "bne- 1b"
+                   : "=3D&r"(t), "=3Dm"(v->counter)
+                   : "r"(a), "r"(&v->counter), "m"(v->counter) : "cc" );
+}
+
+static inline int atomic_add_return(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%2\n"
+                   "add %0,%1,%0\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r"(t)
+                   : "r"(a), "r"(&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_sub(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%3\n"
+                   "subf %0,%2,%0\n"
+                   "stwcx. %0,0,%3\n"
+                   "bne- 1b"
+                   : "=3D&r"(t), "=3Dm"(v->counter)
+                   : "r"(a), "r"(&v->counter), "m"(v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_sub_return(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%2\n"
+                   "subf %0,%1,%0\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r"(t)
+                   : "r"(a), "r"(&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_inc(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%2\n"
+                   "addic %0,%0,1\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   : "=3D&r"(t), "=3Dm"(v->counter)
+                   : "r"(&v->counter), "m"(v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_inc_return(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%1\n"
+                   "addic %0,%0,1\n"
+                   "stwcx. %0,0,%1\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r"(t)
+                   : "r"(&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_dec(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%2\n"
+                   "addic %0,%0,-1\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   : "=3D&r"(t), "=3Dm"(v->counter)
+                   : "r"(&v->counter), "m"(v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_dec_return(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%1\n"
+                   "addic %0,%0,-1\n"
+                   "stwcx. %0,0,%1\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r"(t)
+                   : "r"(&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+/*
+ * Atomically test *v and decrement if it is greater than 0.
+ * The function returns the old value of *v minus 1.
+ */
+static inline int atomic_dec_if_positive(atomic_t *v)
+{
+    int t;
+
+    asm volatile(PPC_ATOMIC_ENTRY_BARRIER
+                 "1:    lwarx    %0,0,%1        # atomic_dec_if_positive=
\n"
+                 "addic.    %0,%0,-1\n"
+                 "blt-    2f\n"
+                 "stwcx.    %0,0,%1\n"
+                 "bne-    1b\n"
+                 PPC_ATOMIC_EXIT_BARRIER
+                 "2:" : "=3D&r"(t)
+                 : "r"(&v->counter) : "cc", "memory");
+
+    return t;
+}
+
+static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
+                                             atomic_t *v)
+{
+    atomic_t rc;
+    rc.counter =3D __cmpxchg(&v->counter, old.counter, new.counter, size=
of(int));
+    return rc;
+}
+
+#define arch_cmpxchg(ptr, o, n)                                         =
       \
+    ({                                                                  =
       \
+        __typeof__(*(ptr)) _o_ =3D (o);                                 =
         \
+        __typeof__(*(ptr)) _n_ =3D (n);                                 =
         \
+        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) _o_,      =
       \
+                                       (unsigned long) _n_, sizeof(*(ptr=
)));   \
+    })
+
+static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+{
+    return arch_cmpxchg(&v->counter, old, new);
+}
+
+#define ATOMIC_OP(op, insn, suffix, sign) \
+    static inline void atomic_##op(int a, atomic_t *v)                  =
         \
+    {                                                                   =
         \
+        int t;                                                          =
         \
+        asm volatile ( "1: lwarx %0,0,%3\n"                             =
         \
+                       insn "%I2" suffix " %0,%0,%2\n"                  =
       \
+                       "stwcx. %0,0,%3 \n"                              =
         \
+                       "bne- 1b\n"                                      =
         \
+                       : "=3D&r"(t), "+m"(v->counter)                   =
           \
+                       : "r" #sign(a), "r"(&v->counter)                 =
         \
+                       : "cc" );                                        =
         \
+    }
+
+ATOMIC_OP(and, "and", ".", K)
+
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) =3D=3D 0;
+}
+
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) =3D=3D 0;
+}
+
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) =3D=3D 0;
+}
+
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+
+static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+{
+	int c, old;
+
+	c =3D atomic_read(v);
+	while (c !=3D u && (old =3D atomic_cmpxchg((v), c, c + a)) !=3D c)
+		c =3D old;
+	return c;
+}
+
+static inline int atomic_add_unless(atomic_t *v, int a, int u)
+{
+    return __atomic_add_unless(v, a, u);
+}
+
+#endif /* _ASM_PPC64_ATOMIC_H_ */
diff --git a/xen/arch/ppc/include/asm/memory.h b/xen/arch/ppc/include/asm=
/memory.h
new file mode 100644
index 0000000000..7b12e01b1a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/memory.h
@@ -0,0 +1,34 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright (C) IBM Corp. 2005
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ */
+
+#ifndef _ASM_MEMORY_H_
+#define _ASM_MEMORY_H_
+
+#include <xen/config.h>
+
+#ifdef CONFIG_SMP
+#define PPC_ATOMIC_ENTRY_BARRIER "sync\n"
+#define PPC_ATOMIC_EXIT_BARRIER  "sync\n"
+#else
+#define PPC_ATOMIC_ENTRY_BARRIER
+#define PPC_ATOMIC_EXIT_BARRIER
+#endif
+
+#endif
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575863.901368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsH-0003Ws-NH; Wed, 02 Aug 2023 23:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575863.901368; Wed, 02 Aug 2023 23: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 1qRKsH-0003Vo-JJ; Wed, 02 Aug 2023 23:03:25 +0000
Received: by outflank-mailman (input) for mailman id 575863;
 Wed, 02 Aug 2023 23:03:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsF-0002ha-K9
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c48f3022-3188-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 01:03:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8476682854B3;
 Wed,  2 Aug 2023 18:03: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 aZx53xWMIUrw; Wed,  2 Aug 2023 18:03:16 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5A90282857CC;
 Wed,  2 Aug 2023 18:03: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 KeZPv3Og7xUN; Wed,  2 Aug 2023 18:03:16 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id ECB318285755;
 Wed,  2 Aug 2023 18:03: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: c48f3022-3188-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 5A90282857CC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017396; bh=/NqBjJ2QqrMRxqfD0TktMNubuD+Oy6q5OiAFylCvLXw=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=NvDnMh3sMDwd8EfBcxA5F5FsRtP8g0Ve+fM0s3yIte6Yy23dwnX5IaCZC2Z10ygI1
	 1YZDZDWBqSIqdqiNNTUq3hkEAMUx4pg09L/jNejXqO2G18nFZd1QAGxTcmW+xFgqNg
	 wjkeTJ5Pd1ddx93S1kDo1i6p/QlwgO0EXMFbA3DM=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 2/9] xen/ppc: Add public/arch-ppc.h
Date: Wed,  2 Aug 2023 18:02:58 -0500
Message-Id: <14d8455ca49f69a56e87aad5d4e20cf8f77e55cd.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/include/public/arch-ppc.h | 140 ++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)
 create mode 100644 xen/include/public/arch-ppc.h

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.=
h
new file mode 100644
index 0000000000..0eb7ce4208
--- /dev/null
+++ b/xen/include/public/arch-ppc.h
@@ -0,0 +1,140 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
+ * of this software and associated documentation files (the "Software"),=
 to
+ * deal in the Software without restriction, including without limitatio=
n the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, =
and/or
+ * sell copies of the Software, and to permit persons to whom the Softwa=
re is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be includ=
ed in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE=
R
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (C) IBM Corp. 2005, 2006
+ * Copyright (C) Raptor Engineering, LLC 2023
+ *
+ * Authors: Hollis Blanchard <hollisb@us.ibm.com>
+ *          Timothy Pearson <tpearson@raptorengineering.com>
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_PPC64_H__
+#define __XEN_PUBLIC_ARCH_PPC64_H__
+
+#define  int64_aligned_t  int64_t __attribute__((aligned(8)))
+#define uint64_aligned_t uint64_t __attribute__((aligned(8)))
+
+#ifndef __ASSEMBLY__
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
+    typedef union { type *p; unsigned long q; }                 \
+        __guest_handle_ ## name;                                \
+    typedef union { type *p; uint64_aligned_t q; }              \
+        __guest_handle_64_ ## name
+
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, =
name)
+#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
+#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
+#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
+#define set_xen_guest_handle_raw(hnd, val)                  \
+    do {                                                    \
+        __typeof__(&(hnd)) _sxghr_tmp =3D &(hnd);             \
+        _sxghr_tmp->q =3D 0;                                  \
+        _sxghr_tmp->p =3D val;                                \
+    } while ( 0 )
+#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val=
)
+
+#ifdef __XEN_TOOLS__
+#define get_xen_guest_handle(val, hnd)  do { val =3D (hnd).p; } while (0=
)
+#endif
+
+typedef uint64_t xen_pfn_t;
+#define PRI_xen_pfn PRIx64
+#define PRIu_xen_pfn PRIu64
+
+/*
+ * Maximum number of virtual CPUs in legacy multi-processor guests.
+ * Only one. All other VCPUS must use VCPUOP_register_vcpu_info.
+ */
+#define XEN_LEGACY_MAX_VCPUS 1
+
+typedef uint64_t xen_ulong_t;
+#define PRI_xen_ulong PRIx64
+#endif
+
+/*
+ * Pointers and other address fields inside interface structures are pad=
ded to
+ * 64 bits. This means that field alignments aren't different between 32=
- and
+ * 64-bit architectures.
+ */
+/* NB. Multi-level macro ensures __LINE__ is expanded before concatenati=
on. */
+#define __MEMORY_PADDING(_X)
+#define _MEMORY_PADDING(_X)  __MEMORY_PADDING(_X)
+#define MEMORY_PADDING       _MEMORY_PADDING(__LINE__)
+
+/* And the trap vector is... */
+#define TRAP_INSTR "li 0,-1; sc" /* XXX just "sc"? */
+
+#ifndef __ASSEMBLY__
+
+#define XENCOMM_INLINE_FLAG (1UL << 63)
+
+typedef uint64_t xen_ulong_t;
+
+/* User-accessible registers: nost of these need to be saved/restored
+ * for every nested Xen invocation. */
+struct vcpu_guest_core_regs
+{
+    uint64_t gprs[32];
+    uint64_t lr;
+    uint64_t ctr;
+    uint64_t srr0;
+    uint64_t srr1;
+    uint64_t pc;
+    uint64_t msr;
+    uint64_t fpscr;             /* XXX Is this necessary */
+    uint64_t xer;
+    uint64_t hid4;              /* debug only */
+    uint64_t dar;               /* debug only */
+    uint32_t dsisr;             /* debug only */
+    uint32_t cr;
+    uint32_t __pad;             /* good spot for another 32bit reg */
+    uint32_t entry_vector;
+};
+typedef struct vcpu_guest_core_regs vcpu_guest_core_regs_t;
+
+typedef uint64_t tsc_timestamp_t; /* RDTSC timestamp */ /* XXX timebase =
*/
+
+/* ONLY used to communicate with dom0! See also struct exec_domain. */
+struct vcpu_guest_context {
+    vcpu_guest_core_regs_t user_regs;         /* User-level CPU register=
s     */
+    uint64_t sdr1;                     /* Pagetable base               *=
/
+    /* XXX etc */
+};
+typedef struct vcpu_guest_context vcpu_guest_context_t;
+DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
+
+struct arch_shared_info {
+    uint64_t boot_timebase;
+};
+
+struct arch_vcpu_info {
+};
+
+struct xen_arch_domainconfig {
+};
+
+typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
+
+/* Support for multi-processor guests. */
+#endif
+
+#endif
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575865.901379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsI-0003g9-GY; Wed, 02 Aug 2023 23:03:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575865.901379; Wed, 02 Aug 2023 23: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 1qRKsI-0003d6-5X; Wed, 02 Aug 2023 23:03:26 +0000
Received: by outflank-mailman (input) for mailman id 575865;
 Wed, 02 Aug 2023 23: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsG-0002ha-KE
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:24 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c630ba31-3188-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 01:03:21 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3BCD58286985;
 Wed,  2 Aug 2023 18:03:19 -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 stl2bWSDymwU; Wed,  2 Aug 2023 18:03:18 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CD8ED8286986;
 Wed,  2 Aug 2023 18:03: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 awEEu_sSYccA; Wed,  2 Aug 2023 18:03:18 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 3AB2A8285801;
 Wed,  2 Aug 2023 18:03:18 -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: c630ba31-3188-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com CD8ED8286986
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017398; bh=IRB/k9AAEsYW3GbnY7XYEQDTmCQcNBCKgPHrjMuNqBM=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=fVtp3qJ4toRy7w4GJ53dyAY6jo82bfhuX8WVP11rW4I0gi3pk+YORa4cvIfurrRXQ
	 4ShGAVQcjKAz7qxmUpFWA3zjko7bewpCdf4gcgv1yF93fuoipyQXvwYMltFPxC2n3A
	 BICoRsAchBTkZGHBYusdrJ+kXEuk/uyjA+y2kxM0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 7/9] xen/ppc: Define bug frames table in linker script
Date: Wed,  2 Aug 2023 18:03:03 -0500
Message-Id: <65e26bb63977749cc50daad4ecaf891bf7cc6b0a.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Define the bug frames table in ppc's linker script as is done by other
architectures.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/xen.lds.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 2fa81d5a83..692aa34add 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -41,6 +41,16 @@ SECTIONS
     . =3D ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata =3D .;          /* Read-only data */
+        /* Bug frames table */
+       __start_bug_frames =3D .;
+       *(.bug_frames.0)
+       __stop_bug_frames_0 =3D .;
+       *(.bug_frames.1)
+       __stop_bug_frames_1 =3D .;
+       *(.bug_frames.2)
+       __stop_bug_frames_2 =3D .;
+       *(.bug_frames.3)
+       __stop_bug_frames_3 =3D .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575861.901345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsF-0002vU-WD; Wed, 02 Aug 2023 23:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575861.901345; Wed, 02 Aug 2023 23: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 1qRKsF-0002uE-S9; Wed, 02 Aug 2023 23:03:23 +0000
Received: by outflank-mailman (input) for mailman id 575861;
 Wed, 02 Aug 2023 23:03:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsE-0002Xg-Kp
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:22 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c556464b-3188-11ee-b265-6b7b168915f2;
 Thu, 03 Aug 2023 01:03:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 9B5FD8286987;
 Wed,  2 Aug 2023 18:03: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 EoR4xdmHyltq; Wed,  2 Aug 2023 18:03:17 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 414C582853DD;
 Wed,  2 Aug 2023 18:03: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 NuW5S9AYKLyX; Wed,  2 Aug 2023 18:03:17 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id BBCF98285801;
 Wed,  2 Aug 2023 18:03: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: c556464b-3188-11ee-b265-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 414C582853DD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017397; bh=rZAldAQK00ovSXSpgF7Lp58mw77D/MWNT5l6iW6CChk=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=dZMQ3XBNkxo4errxPUnFLgXNh0mDY/dATXwqgJfpw05xrpStnw9JRhdyZvtUFagds
	 PGlKVK3mZbgOp0UP5hJhSluMMnMYbMynO9J3iqXHsR4OTlM0HvA/6MaaJQw9PcHDx7
	 J62CWVRpYzH6B40yO3xehHkKSu2mJKLioyM3XGQs=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 4/9] xen/ppc: Implement bitops.h
Date: Wed,  2 Aug 2023 18:03:00 -0500
Message-Id: <63b89c627948015cc9a1c1e5d1775ee9e41508ba.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Implement bitops.h, based on Linux's implementation as of commit
5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/include/asm/bitops.h | 331 +++++++++++++++++++++++++++++-
 1 file changed, 327 insertions(+), 4 deletions(-)

diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm=
/bitops.h
index a7cd8ec7c5..286f68cbfe 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -1,11 +1,334 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Adapted from Linux's arch/powerpc/include/asm/bitops.h.
+ *
+ * Merged version by David Gibson <david@gibson.dropbear.id.au>.
+ * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don
+ * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard.  They
+ * originally took it from the ppc32 code.
+ */
 #ifndef _ASM_PPC_BITOPS_H
 #define _ASM_PPC_BITOPS_H
=20
-#include <xen/compiler.h>
+#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
=20
 /* PPC bit number conversion */
-#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
-#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
-#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+#define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
+#define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
+#define PPC_BITMASK(bs, be)  ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+
+/* Macro for generating the ***_bits() functions */
+#define DEFINE_BITOP(fn, op, prefix)        \
+static inline void fn(unsigned long mask,    \
+        volatile unsigned int *_p)     \
+{                                       \
+    unsigned long old;                  \
+    unsigned int *p =3D (unsigned int *)_p;    \
+    __asm__ __volatile__ (              \
+    prefix                              \
+"1: lwarx %0,0,%3,0\n"                  \
+    #op "%I2 %0,%0,%2\n"                \
+    "stwcx. %0,0,%3\n"                  \
+    "bne- 1b\n"                         \
+    : "=3D&r" (old), "+m" (*p)            \
+    : "rK" (mask), "r" (p)              \
+    : "cc", "memory");                  \
+}
+
+DEFINE_BITOP(set_bits, or, "")
+DEFINE_BITOP(change_bits, xor, "")
+
+#define DEFINE_CLROP(fn, prefix)                    \
+static inline void fn(unsigned long mask, volatile unsigned int *_p)    =
\
+{                                    \
+    unsigned long old;                        \
+    unsigned int *p =3D (unsigned int *)_p;                \
+                                    		\
+    asm volatile (                        	\
+    	prefix                        			\
+    	"1: lwarx %0,0,%3,0\n"     		\
+        "andc %0,%0,%2\n"                	\
+        "stwcx. %0,0,%3\n"                	\
+        "bne- 1b\n"                    		\
+        : "=3D&r" (old), "+m" (*p)            \
+        : "r" (mask), "r" (p)               \
+        : "cc", "memory");                	\
+}
+
+DEFINE_CLROP(clear_bits, "")
+
+static inline void set_bit(int nr, volatile void *addr)
+{
+    set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(=
nr));
+}
+static inline void clear_bit(int nr, volatile void *addr)
+{
+    clear_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WOR=
D(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 long *p =3D (const volatile unsigned lon=
g *)addr;
+        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)=
));
+}
+
+static inline unsigned long test_and_clear_bits(unsigned long mask, vola=
tile void *_p)
+{
+    unsigned long old, t;
+    unsigned int *p =3D (unsigned int *)_p;
+
+    asm volatile (
+		"sync\n"
+    "1:" "lwarx %0,0,%3,0\n"
+        "andc    %1,%0,%2\n"
+        "stwcx. %1,0,%3\n"
+        "bne- 1b\n"
+		"sync\n"
+        : "=3D&r" (old), "=3D&r" (t)
+        : "r" (mask), "r" (p)
+        : "cc", "memory");
+
+    return (old & mask);
+}
+
+static inline int test_and_clear_bit(unsigned int nr,
+					  				 volatile void *addr)
+{
+	return test_and_clear_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) !=3D =
0;
+}
+
+#define DEFINE_TESTOP(fn, op, eh)	\
+static inline unsigned long fn(			\
+		unsigned long mask,			\
+		volatile unsigned int *_p)		\
+{							\
+	unsigned long old, t;				\
+	unsigned int *p =3D (unsigned int *)_p;		\
+	__asm__ __volatile__ (				\
+	"sync\n"						\
+"1:" "lwarx %0,0,%3,%4\n"			\
+	#op "%I2 %1,%0,%2\n"				\
+	"stwcx. %1,0,%3\n"				\
+	"bne- 1b\n"					\
+	"sync\n"						\
+	: "=3D&r" (old), "=3D&r" (t)			\
+	: "rK" (mask), "r" (p), "n" (eh)		\
+	: "cc", "memory");				\
+	return (old & mask);				\
+}
+
+DEFINE_TESTOP(test_and_set_bits, or, 0)
+
+static inline int test_and_set_bit(unsigned long nr, volatile void *addr=
)
+{
+	return test_and_set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr =
+ BITOP_WORD(nr)) !=3D 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 =3D BITOP_MASK(nr);
+        volatile unsigned int *p =3D
+                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
+        unsigned int old =3D *p;
+
+        *p =3D old | mask;
+        return (old & mask) !=3D 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 =3D BITOP_MASK(nr);
+        volatile unsigned int *p =3D
+                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
+        unsigned int old =3D *p;
+
+        *p =3D old & ~mask;
+        return (old & mask) !=3D 0;
+}
+
+#define flsl(x) generic_flsl(x)
+#define fls(x) generic_fls(x)
+#define ffs(x) ({ unsigned int __t =3D (x); fls(__t & -__t); })
+#define ffsl(x) ({ unsigned long __t =3D (x); flsl(__t & -__t); })
+
+/* 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
+ *
+ * The Hamming Weight of a number is the total number of bits set in it.
+ */
+#define hweight64(x) generic_hweight64(x)
+#define hweight32(x) generic_hweight32(x)
+#define hweight16(x) generic_hweight16(x)
+#define hweight8(x) generic_hweight8(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);
+}
+
+/**
+ * find_first_set_bit - find the first set bit in @word
+ * @word: the word to search
+ *
+ * Returns the bit-number of the first set bit (first bit being 0).
+ * The input must *not* be zero.
+ */
+#define find_first_set_bit(x) ({ ffsl(x) - 1; })
+
+/*
+ * Find the first set bit in a memory region.
+ */
+static inline unsigned long find_first_bit(const unsigned long *addr,
+										   unsigned long size)
+{
+	const unsigned long *p =3D addr;
+	unsigned long result =3D 0;
+	unsigned long tmp;
+
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp =3D *(p++)))
+			goto found;
+		result +=3D BITS_PER_LONG;
+		size -=3D BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+
+	tmp =3D (*p) & (~0UL >> (BITS_PER_LONG - size));
+	if (tmp =3D=3D 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found:
+	return result + __ffs(tmp);
+}
+
+static inline unsigned long find_next_bit(const unsigned long *addr,
+										  unsigned long size,
+			    						  unsigned long offset)
+{
+	const unsigned long *p =3D addr + BITOP_WORD(offset);
+	unsigned long result =3D offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >=3D size)
+		return size;
+	size -=3D result;
+	offset %=3D BITS_PER_LONG;
+	if (offset) {
+		tmp =3D *(p++);
+		tmp &=3D (~0UL << offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (tmp)
+			goto found_middle;
+		size -=3D BITS_PER_LONG;
+		result +=3D BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp =3D *(p++)))
+			goto found_middle;
+		result +=3D BITS_PER_LONG;
+		size -=3D BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp =3D *p;
+
+found_first:
+	tmp &=3D (~0UL >> (BITS_PER_LONG - size));
+	if (tmp =3D=3D 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + __ffs(tmp);
+}
+
+/*
+ * This implementation of find_{first,next}_zero_bit was stolen from
+ * Linus' asm-alpha/bitops.h.
+ */
+static inline unsigned long find_next_zero_bit(const unsigned long *addr=
,
+											   unsigned long size,
+											   unsigned long offset)
+{
+	const unsigned long *p =3D addr + BITOP_WORD(offset);
+	unsigned long result =3D offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >=3D size)
+		return size;
+	size -=3D result;
+	offset %=3D BITS_PER_LONG;
+	if (offset) {
+		tmp =3D *(p++);
+		tmp |=3D ~0UL >> (BITS_PER_LONG - offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (~tmp)
+			goto found_middle;
+		size -=3D BITS_PER_LONG;
+		result +=3D BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if (~(tmp =3D *(p++)))
+			goto found_middle;
+		result +=3D BITS_PER_LONG;
+		size -=3D BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp =3D *p;
+
+found_first:
+	tmp |=3D ~0UL << size;
+	if (tmp =3D=3D ~0UL)	/* Are any bits zero? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + ffz(tmp);
+}
=20
 #endif /* _ASM_PPC_BITOPS_H */
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575866.901392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsJ-00049W-LS; Wed, 02 Aug 2023 23:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575866.901392; Wed, 02 Aug 2023 23:03:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsJ-00047Z-Hd; Wed, 02 Aug 2023 23:03:27 +0000
Received: by outflank-mailman (input) for mailman id 575866;
 Wed, 02 Aug 2023 23:03: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsH-0002ha-KG
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:25 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c630955c-3188-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 01:03:21 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D90A58285755;
 Wed,  2 Aug 2023 18:03: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 q5S3udTYLjJ5; Wed,  2 Aug 2023 18:03:18 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3CF748286985;
 Wed,  2 Aug 2023 18:03: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 EVp_UIJ6pOb8; Wed,  2 Aug 2023 18:03:18 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id BEC5182857CC;
 Wed,  2 Aug 2023 18:03: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: c630955c-3188-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3CF748286985
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017398; bh=mTHIJoDesvUL/1mvvl/fu0GmqgkC6yCd3GyR+DEjPQM=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=gyhBMPrbZOxx2NbfavaS5idAmmnHNgceVgOSB2PqpVWV1kD5ciH4ZT6KQra/sBk0f
	 ZKanThnkAWEw2pqLbkB6W2y9fYkk8hbs905OBqMGWFFAi4CoZL+Wxxo4K/PFThpH2e
	 4BXUcx1chDr7AJ6PQb5zo+eJnfZwpg2072AmoJAg=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 6/9] ns16550: Guard accesses to `vuart` field by CONFIG_ARM
Date: Wed,  2 Aug 2023 18:03:02 -0500
Message-Id: <1bee2fe06c4a9262b05cb4b8cd392d9630279f30.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

When CONFIG_ARM is defined, a `vuart` field is added to struct ns16550,
but accesses to this field in ns16550_uart_dt_init weren't correctly
guarded. Fix build on !ARM platforms that define CONFIG_HAS_DEVICE_TREE
by correctly guarding access to the vuart field in this function.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/drivers/char/ns16550.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 212a9c49ae..c0598efb27 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1797,11 +1797,13 @@ static int __init ns16550_uart_dt_init(struct dt_=
device_node *dev,
=20
     uart->dw_usr_bsy =3D dt_device_is_compatible(dev, "snps,dw-apb-uart"=
);
=20
+#ifdef CONFIG_ARM
     uart->vuart.base_addr =3D uart->io_base;
     uart->vuart.size =3D uart->io_size;
     uart->vuart.data_off =3D UART_THR <<uart->reg_shift;
     uart->vuart.status_off =3D UART_LSR<<uart->reg_shift;
     uart->vuart.status =3D UART_LSR_THRE|UART_LSR_TEMT;
+#endif
=20
     /* Register with generic serial driver. */
     serial_register_uart(uart - ns16550_com, &ns16550_driver, uart);
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575867.901407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsL-0004a4-60; Wed, 02 Aug 2023 23:03:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575867.901407; Wed, 02 Aug 2023 23:03:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsK-0004Zh-VY; Wed, 02 Aug 2023 23:03:28 +0000
Received: by outflank-mailman (input) for mailman id 575867;
 Wed, 02 Aug 2023 23:03:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsI-0002Xg-8h
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:26 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7f4ff75-3188-11ee-b265-6b7b168915f2;
 Thu, 03 Aug 2023 01:03:24 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 41E9582853DD;
 Wed,  2 Aug 2023 18:03:23 -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 4Fb2Nfq4bCbN; Wed,  2 Aug 2023 18:03:17 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C92968286980;
 Wed,  2 Aug 2023 18:03: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 z5LRkq34hd61; Wed,  2 Aug 2023 18:03:17 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 248908286985;
 Wed,  2 Aug 2023 18:03: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: c7f4ff75-3188-11ee-b265-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C92968286980
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017397; bh=K/1O9TRQA10A6v+g1F1roS24XihOkwDHxxE5UQO9nJ8=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=cV7KLHzN+chE8lGLs4rX/CIN95ws2j23JrIIK4+Goyg5B7gMOWrW38StqfjC91plA
	 WiL0qySXJiORYFLri+CJDDZKvKGfFLTHJMZ9X2+dMZlp1Iv81ByCJ4YSycY7yGUz+I
	 F1iwPdl4LE/4sqL/g36soeIr3ibnzrHkwePTFI3k=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 5/9] xen/ppc: Define minimal stub headers required for full build
Date: Wed,  2 Aug 2023 18:03:01 -0500
Message-Id: <9cd545a4a9ef55d06ea0b81044e22f64ee42823e.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Additionally, change inclusion of asm/ headers to corresponding xen/ ones
throughout arch/ppc now that they work.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/Kconfig                     |   1 +
 xen/arch/ppc/include/asm/altp2m.h        |  39 ++++
 xen/arch/ppc/include/asm/bug.h           |   7 +
 xen/arch/ppc/include/asm/cache.h         |   2 +
 xen/arch/ppc/include/asm/config.h        |   9 +
 xen/arch/ppc/include/asm/cpufeature.h    |   9 +
 xen/arch/ppc/include/asm/current.h       |  42 ++++
 xen/arch/ppc/include/asm/delay.h         |  11 +
 xen/arch/ppc/include/asm/desc.h          |   0
 xen/arch/ppc/include/asm/device.h        |  53 +++++
 xen/arch/ppc/include/asm/div64.h         |  14 ++
 xen/arch/ppc/include/asm/domain.h        |  46 ++++
 xen/arch/ppc/include/asm/event.h         |  35 ++++
 xen/arch/ppc/include/asm/flushtlb.h      |  23 ++
 xen/arch/ppc/include/asm/grant_table.h   |   0
 xen/arch/ppc/include/asm/guest_access.h  |  54 +++++
 xen/arch/ppc/include/asm/guest_atomics.h |  14 ++
 xen/arch/ppc/include/asm/hardirq.h       |  18 ++
 xen/arch/ppc/include/asm/hypercall.h     |   0
 xen/arch/ppc/include/asm/io.h            |  15 ++
 xen/arch/ppc/include/asm/iocap.h         |   7 +
 xen/arch/ppc/include/asm/iommu.h         |   7 +
 xen/arch/ppc/include/asm/irq.h           |  32 +++
 xen/arch/ppc/include/asm/mem_access.h    |   0
 xen/arch/ppc/include/asm/mm.h            | 255 ++++++++++++++++++++++-
 xen/arch/ppc/include/asm/monitor.h       |  48 +++++
 xen/arch/ppc/include/asm/nospec.h        |  18 ++
 xen/arch/ppc/include/asm/numa.h          |  26 +++
 xen/arch/ppc/include/asm/p2m.h           | 105 ++++++++++
 xen/arch/ppc/include/asm/page.h          |  19 ++
 xen/arch/ppc/include/asm/paging.h        |   7 +
 xen/arch/ppc/include/asm/pci.h           |   7 +
 xen/arch/ppc/include/asm/percpu.h        |  26 +++
 xen/arch/ppc/include/asm/procarea.h      |  38 ++++
 xen/arch/ppc/include/asm/processor.h     |   6 +
 xen/arch/ppc/include/asm/random.h        |   9 +
 xen/arch/ppc/include/asm/regs.h          |   2 +
 xen/arch/ppc/include/asm/setup.h         |   6 +
 xen/arch/ppc/include/asm/smp.h           |  18 ++
 xen/arch/ppc/include/asm/softirq.h       |   8 +
 xen/arch/ppc/include/asm/spinlock.h      |  15 ++
 xen/arch/ppc/include/asm/system.h        | 243 ++++++++++++++++++++-
 xen/arch/ppc/include/asm/time.h          |  20 ++
 xen/arch/ppc/include/asm/vm_event.h      |  49 +++++
 xen/arch/ppc/include/asm/xenoprof.h      |   0
 xen/arch/ppc/mm-radix.c                  |   2 +-
 xen/arch/ppc/opal.c                      |   2 -
 xen/arch/ppc/tlb-radix.c                 |   2 +-
 xen/include/public/hvm/save.h            |   2 +
 xen/include/public/pmu.h                 |   2 +
 xen/include/public/xen.h                 |   2 +
 51 files changed, 1368 insertions(+), 7 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
 create mode 100644 xen/arch/ppc/include/asm/current.h
 create mode 100644 xen/arch/ppc/include/asm/delay.h
 create mode 100644 xen/arch/ppc/include/asm/desc.h
 create mode 100644 xen/arch/ppc/include/asm/device.h
 create mode 100644 xen/arch/ppc/include/asm/div64.h
 create mode 100644 xen/arch/ppc/include/asm/domain.h
 create mode 100644 xen/arch/ppc/include/asm/event.h
 create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
 create mode 100644 xen/arch/ppc/include/asm/grant_table.h
 create mode 100644 xen/arch/ppc/include/asm/guest_access.h
 create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
 create mode 100644 xen/arch/ppc/include/asm/hardirq.h
 create mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/arch/ppc/include/asm/io.h
 create mode 100644 xen/arch/ppc/include/asm/iocap.h
 create mode 100644 xen/arch/ppc/include/asm/iommu.h
 create mode 100644 xen/arch/ppc/include/asm/irq.h
 create mode 100644 xen/arch/ppc/include/asm/mem_access.h
 create mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/arch/ppc/include/asm/nospec.h
 create mode 100644 xen/arch/ppc/include/asm/numa.h
 create mode 100644 xen/arch/ppc/include/asm/p2m.h
 create mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/arch/ppc/include/asm/pci.h
 create mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/ppc/include/asm/procarea.h
 create mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/ppc/include/asm/setup.h
 create mode 100644 xen/arch/ppc/include/asm/smp.h
 create mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/ppc/include/asm/spinlock.h
 create mode 100644 xen/arch/ppc/include/asm/time.h
 create mode 100644 xen/arch/ppc/include/asm/vm_event.h
 create mode 100644 xen/arch/ppc/include/asm/xenoprof.h

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index ab116ffb2a..a6eae597af 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -1,6 +1,7 @@
 config PPC
 	def_bool y
 	select HAS_DEVICE_TREE
+	select HAS_PDX
=20
 config PPC64
 	def_bool y
diff --git a/xen/arch/ppc/include/asm/altp2m.h b/xen/arch/ppc/include/asm=
/altp2m.h
new file mode 100644
index 0000000000..73a1e3a114
--- /dev/null
+++ b/xen/arch/ppc/include/asm/altp2m.h
@@ -0,0 +1,39 @@
+/*
+ * Alternate p2m
+ *
+ * Copyright (c) 2014, Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify =
it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOU=
T
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License=
 for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License alo=
ng with
+ * this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __ASM_PPC_ALTP2M_H__
+#define __ASM_PPC_ALTP2M_H__
+
+#include <xen/sched.h>
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on PPC. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on PPC, should not be reached. */
+    BUG();
+    return 0;
+}
+
+#endif /* __ASM_PPC_ALTP2M_H__ */
diff --git a/xen/arch/ppc/include/asm/bug.h b/xen/arch/ppc/include/asm/bu=
g.h
index e5e874b31c..d02e8e2898 100644
--- a/xen/arch/ppc/include/asm/bug.h
+++ b/xen/arch/ppc/include/asm/bug.h
@@ -4,6 +4,7 @@
 #define _ASM_PPC_BUG_H
=20
 #include <xen/stringify.h>
+#include <asm/processor.h>
=20
 /*
  * Power ISA guarantees that an instruction consisting of all zeroes is
@@ -15,4 +16,10 @@
=20
 #define BUG_FN_REG r0
=20
+#define BUG() do { \
+    die(); \
+} while (0)
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do { } while (0)
+
 #endif /* _ASM_PPC_BUG_H */
diff --git a/xen/arch/ppc/include/asm/cache.h b/xen/arch/ppc/include/asm/=
cache.h
index 8a0a6b7b17..0d7323d789 100644
--- a/xen/arch/ppc/include/asm/cache.h
+++ b/xen/arch/ppc/include/asm/cache.h
@@ -3,4 +3,6 @@
 #ifndef _ASM_PPC_CACHE_H
 #define _ASM_PPC_CACHE_H
=20
+#define __read_mostly __section(".data.read_mostly")
+
 #endif /* _ASM_PPC_CACHE_H */
diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index b76f940431..965b79aa64 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -41,6 +41,15 @@
=20
 #define XEN_VIRT_START _AT(vaddr_t, 0xc000000000000000)
=20
+#define VMAP_VIRT_START (XEN_VIRT_START + GB(1))
+#define VMAP_VIRT_SIZE  GB(1)
+
+#define FRAMETABLE_VIRT_START  (XEN_VIRT_START + GB(32))
+#define FRAMETABLE_SIZE        GB(32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
 #define SMP_CACHE_BYTES (1 << 6)
=20
 #define STACK_ORDER 0
diff --git a/xen/arch/ppc/include/asm/cpufeature.h b/xen/arch/ppc/include=
/asm/cpufeature.h
new file mode 100644
index 0000000000..3552b9231d
--- /dev/null
+++ b/xen/arch/ppc/include/asm/cpufeature.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_PPC_CPUFEATURE_H__
+#define __ASM_PPC_CPUFEATURE_H__
+
+static inline int cpu_nr_siblings(unsigned int cpu)
+{
+    return 1;
+}
+
+#endif /* __ASM_PPC_CPUFEATURE_H__ */
diff --git a/xen/arch/ppc/include/asm/current.h b/xen/arch/ppc/include/as=
m/current.h
new file mode 100644
index 0000000000..87a854d6b0
--- /dev/null
+++ b/xen/arch/ppc/include/asm/current.h
@@ -0,0 +1,42 @@
+#ifndef __ASM_PPC_CURRENT_H__
+#define __ASM_PPC_CURRENT_H__
+
+#include <xen/percpu.h>
+
+#ifndef __ASSEMBLY__
+
+struct vcpu;
+
+/* 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 =3D (vcpu); } while (0)
+#define get_cpu_current(cpu)  (per_cpu(curr_vcpu, cpu))
+
+/* Per-VCPU state that lives at the top of the stack */
+struct cpu_info {
+    struct cpu_user_regs guest_cpu_user_regs;
+    unsigned long elr;
+    uint32_t flags;
+};
+
+static inline struct cpu_info *get_cpu_info(void)
+{
+#ifdef __clang__
+    unsigned long sp;
+
+    asm ("mr %0, 1" : "=3Dr" (sp));
+#else
+    register unsigned long sp asm ("r1");
+#endif
+
+    return (struct cpu_info *)((sp & ~(STACK_SIZE - 1)) +
+                               STACK_SIZE - sizeof(struct cpu_info));
+}
+
+#define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_PPC_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/delay.h b/xen/arch/ppc/include/asm/=
delay.h
new file mode 100644
index 0000000000..36be1775f8
--- /dev/null
+++ b/xen/arch/ppc/include/asm/delay.h
@@ -0,0 +1,11 @@
+#ifndef __ASM_PPC_DELAY_H__
+#define __ASM_PPC_DELAY_H__
+
+#include <xen/lib.h>
+
+static inline void udelay(unsigned long usecs)
+{
+    BUG();
+}
+
+#endif /* __ASM_PPC_DELAY_H__ */
diff --git a/xen/arch/ppc/include/asm/desc.h b/xen/arch/ppc/include/asm/d=
esc.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/device.h b/xen/arch/ppc/include/asm=
/device.h
new file mode 100644
index 0000000000..cb8454f605
--- /dev/null
+++ b/xen/arch/ppc/include/asm/device.h
@@ -0,0 +1,53 @@
+#ifndef __ASM_PPC_DEVICE_H__
+#define __ASM_PPC_DEVICE_H__
+
+enum device_type
+{
+    DEV_DT,
+    DEV_PCI,
+};
+
+struct device {
+    enum device_type type;
+#ifdef CONFIG_HAS_DEVICE_TREE
+    struct dt_device_node *of_node; /* Used by drivers imported from Lin=
ux */
+#endif
+};
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_GIC,
+    DEVICE_PCI_HOSTBRIDGE,
+    /* Use for error */
+    DEVICE_UNKNOWN,
+};
+
+struct device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* List of devices supported by this driver */
+    const struct dt_device_match *dt_match;
+    /*
+     * Device initialization.
+     *
+     * -EAGAIN is used to indicate that device probing is deferred.
+     */
+    int (*init)(struct dt_device_node *dev, const void *data);
+};
+
+typedef struct device device_t;
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") =3D {                                          \
+    .name =3D _namestr,                                               \
+    .class =3D _class,                                                \
+
+#define DT_DEVICE_END                                               \
+};
+
+#endif /* __ASM_PPC_DEVICE_H__ */
diff --git a/xen/arch/ppc/include/asm/div64.h b/xen/arch/ppc/include/asm/=
div64.h
new file mode 100644
index 0000000000..6959c3fb26
--- /dev/null
+++ b/xen/arch/ppc/include/asm/div64.h
@@ -0,0 +1,14 @@
+#ifndef __ASM_PPC_DIV64_H__
+#define __ASM_PPC_DIV64_H__
+
+#include <xen/types.h>
+
+#define do_div(n,base) ({                       \
+    uint32_t __base =3D (base);                   \
+    uint32_t __rem;                             \
+    __rem =3D ((uint64_t)(n)) % __base;           \
+    (n) =3D ((uint64_t)(n)) / __base;             \
+    __rem;                                      \
+})
+
+#endif /* __ASM_PPC_DIV64_H__ */
diff --git a/xen/arch/ppc/include/asm/domain.h b/xen/arch/ppc/include/asm=
/domain.h
new file mode 100644
index 0000000000..4ade3d484e
--- /dev/null
+++ b/xen/arch/ppc/include/asm/domain.h
@@ -0,0 +1,46 @@
+#ifndef __ASM_PPC_DOMAIN_H__
+#define __ASM_PPC_DOMAIN_H__
+
+#include <xen/xmalloc.h>
+#include <public/hvm/params.h>
+
+struct hvm_domain
+{
+    uint64_t              params[HVM_NR_PARAMS];
+};
+
+#define is_domain_direct_mapped(d) ((void)(d), 0)
+
+/* TODO: Implement */
+#define guest_mode(r) ({ (void) (r); BUG(); 0; })
+
+struct arch_vcpu_io {
+};
+
+struct arch_vcpu {
+};
+
+struct arch_domain {
+    struct hvm_domain hvm;
+};
+
+#include <xen/sched.h>
+
+static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void)
+{
+    return xmalloc(struct vcpu_guest_context);
+}
+
+static inline void free_vcpu_guest_context(struct vcpu_guest_context *vg=
c)
+{
+    xfree(vgc);
+}
+
+struct guest_memory_policy {};
+static inline void update_guest_memory_policy(struct vcpu *v,
+                                              struct guest_memory_policy=
 *gmp)
+{}
+
+static inline void arch_vcpu_block(struct vcpu *v) {}
+
+#endif /* __ASM_PPC_DOMAIN_H__ */
diff --git a/xen/arch/ppc/include/asm/event.h b/xen/arch/ppc/include/asm/=
event.h
new file mode 100644
index 0000000000..3141127f31
--- /dev/null
+++ b/xen/arch/ppc/include/asm/event.h
@@ -0,0 +1,35 @@
+#ifndef __ASM_PPC_EVENT_H__
+#define __ASM_PPC_EVENT_H__
+
+#include <xen/lib.h>
+
+/* TODO: implement */
+static inline void vcpu_kick(struct vcpu *v) { BUG(); }
+static inline void vcpu_mark_events_pending(struct vcpu *v) { BUG(); }
+static inline void vcpu_update_evtchn_irq(struct vcpu *v) { BUG(); }
+static inline void vcpu_block_unless_event_pending(struct vcpu *v) { BUG=
(); }
+
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    BUG();
+    return 0;
+}
+
+/* No arch specific virq definition now. Default to global. */
+static inline bool arch_virq_is_global(unsigned int virq)
+{
+    return true;
+}
+
+static inline int local_events_need_delivery(void)
+{
+    BUG();
+    return 0;
+}
+
+static inline void local_event_delivery_enable(void)
+{
+    BUG();
+}
+
+#endif /* __ASM_PPC_EVENT_H__ */
diff --git a/xen/arch/ppc/include/asm/flushtlb.h b/xen/arch/ppc/include/a=
sm/flushtlb.h
new file mode 100644
index 0000000000..1af3bd2301
--- /dev/null
+++ b/xen/arch/ppc/include/asm/flushtlb.h
@@ -0,0 +1,23 @@
+#ifndef __ASM_PPC_FLUSHTLB_H__
+#define __ASM_PPC_FLUSHTLB_H__
+
+#include <xen/cpumask.h>
+
+/*
+ * Filter the given set of CPUs, removing those that definitely flushed =
their
+ * TLB since @page_timestamp.
+ */
+/* XXX lazy implementation just doesn't clear anything.... */
+static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timest=
amp) {}
+
+#define tlbflush_current_time()                 (0)
+
+static inline void page_set_tlbflush_timestamp(struct page_info *page)
+{
+    page->tlbflush_timestamp =3D tlbflush_current_time();
+}
+
+/* Flush specified CPUs' TLBs */
+void arch_flush_tlb_mask(const cpumask_t *mask);
+
+#endif /* __ASM_PPC_FLUSHTLB_H__ */
diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/includ=
e/asm/grant_table.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/guest_access.h b/xen/arch/ppc/inclu=
de/asm/guest_access.h
new file mode 100644
index 0000000000..1919e0566f
--- /dev/null
+++ b/xen/arch/ppc/include/asm/guest_access.h
@@ -0,0 +1,54 @@
+#ifndef __ASM_PPC_GUEST_ACCESS_H__
+#define __ASM_PPC_GUEST_ACCESS_H__
+
+#include <xen/mm.h>
+
+/* TODO */
+
+static inline unsigned long raw_copy_to_guest(void *to, const void *from=
, unsigned int len)
+{
+    BUG();
+}
+static inline unsigned long raw_copy_to_guest_flush_dcache(void *to, con=
st void *from,
+                                             unsigned int len)
+{
+    BUG();
+}
+static inline unsigned long raw_copy_from_guest(void *to, const void *fr=
om, unsigned int len)
+{
+    BUG();
+}
+static inline unsigned long raw_clear_guest(void *to, unsigned int len)
+{
+    BUG();
+}
+
+/* Copy data to guest physical address, then clean the region. */
+static inline unsigned long copy_to_guest_phys_flush_dcache(struct domai=
n *d,
+                                              paddr_t gpa,
+                                              void *buf,
+                                              unsigned int len)
+{
+    BUG();
+}
+
+static inline int access_guest_memory_by_gpa(struct domain *d, paddr_t g=
pa, void *buf,
+                               uint32_t size, bool is_write)
+{
+    BUG();
+}
+
+
+#define __raw_copy_to_guest raw_copy_to_guest
+#define __raw_copy_from_guest raw_copy_from_guest
+#define __raw_clear_guest raw_clear_guest
+
+/*
+ * Pre-validate a guest handle.
+ * Allows use of faster __copy_* functions.
+ */
+/* All PPC guests are paging mode external and hence safe */
+#define guest_handle_okay(hnd, nr) (1)
+#define guest_handle_subrange_okay(hnd, first, last) (1)
+
+#endif /* __ASM_PPC_GUEST_ACCESS_H__ */
diff --git a/xen/arch/ppc/include/asm/guest_atomics.h b/xen/arch/ppc/incl=
ude/asm/guest_atomics.h
new file mode 100644
index 0000000000..bf4f802a15
--- /dev/null
+++ b/xen/arch/ppc/include/asm/guest_atomics.h
@@ -0,0 +1,14 @@
+#ifndef __ASM_PPC_GUEST_ATOMICS_H__
+#define __ASM_PPC_GUEST_ATOMICS_H__
+
+#include <xen/lib.h>
+
+/* TODO: implement */
+#define guest_test_bit(d, nr, p)            ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+#define guest_clear_bit(d, nr, p)           ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+#define guest_set_bit(d, nr, p)             ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+#define guest_test_and_set_bit(d, nr, p)    ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+#define guest_test_and_clear_bit(d, nr, p)  ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+#define guest_test_and_change_bit(d, nr, p) ({ (void) (d); (void) (nr); =
(void) (p); BUG(); false; })
+
+#endif /* __ASM_PPC_GUEST_ATOMICS_H__ */
diff --git a/xen/arch/ppc/include/asm/hardirq.h b/xen/arch/ppc/include/as=
m/hardirq.h
new file mode 100644
index 0000000000..51ef290961
--- /dev/null
+++ b/xen/arch/ppc/include/asm/hardirq.h
@@ -0,0 +1,18 @@
+#ifndef __ASM_PPC_HARDIRQ_H__
+#define __ASM_PPC_HARDIRQ_H__
+
+#include <xen/cache.h>
+
+typedef struct {
+        unsigned long __softirq_pending;
+        unsigned int __local_irq_count;
+} __cacheline_aligned irq_cpustat_t;
+
+#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t a=
bove */
+
+#define in_irq() (local_irq_count(smp_processor_id()) !=3D 0)
+
+#define irq_enter()     (local_irq_count(smp_processor_id())++)
+#define irq_exit()      (local_irq_count(smp_processor_id())--)
+
+#endif /* __ASM_PPC_HARDIRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/hypercall.h b/xen/arch/ppc/include/=
asm/hypercall.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/io.h b/xen/arch/ppc/include/asm/io.=
h
new file mode 100644
index 0000000000..f8f3bd6ff7
--- /dev/null
+++ b/xen/arch/ppc/include/asm/io.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_PPC_IO_H__
+#define __ASM_PPC_IO_H__
+
+#include <xen/lib.h>
+
+/* TODO */
+#define readb(c)                ({ (void)(c); BUG(); 0; })
+#define readw(c)                ({ (void)(c); BUG(); 0; })
+#define readl(c)                ({ (void)(c); BUG(); 0; })
+
+#define writeb(v,c)             ({ (void)(v); (void)(c); BUG(); })
+#define writew(v,c)             ({ (void)(v); (void)(c); BUG(); })
+#define writel(v,c)             ({ (void)(v); (void)(c); BUG(); })
+
+#endif /* __ASM_PPC_IO_H__ */
diff --git a/xen/arch/ppc/include/asm/iocap.h b/xen/arch/ppc/include/asm/=
iocap.h
new file mode 100644
index 0000000000..16ae0cf1c8
--- /dev/null
+++ b/xen/arch/ppc/include/asm/iocap.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_IOCAP_H__
+#define __ASM_PPC_IOCAP_H__
+
+#define cache_flush_permitted(d)                        \
+    (!rangeset_is_empty((d)->iomem_caps))
+
+#endif /* __ASM_PPC_IOCAP_H__ */
diff --git a/xen/arch/ppc/include/asm/iommu.h b/xen/arch/ppc/include/asm/=
iommu.h
new file mode 100644
index 0000000000..fb1a381518
--- /dev/null
+++ b/xen/arch/ppc/include/asm/iommu.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_IOMMU_H__
+#define __ASM_PPC_IOMMU_H__
+
+struct arch_iommu {
+};
+
+#endif /* __ASM_PPC_IOMMU_H__ */
diff --git a/xen/arch/ppc/include/asm/irq.h b/xen/arch/ppc/include/asm/ir=
q.h
new file mode 100644
index 0000000000..99d30dd2bf
--- /dev/null
+++ b/xen/arch/ppc/include/asm/irq.h
@@ -0,0 +1,32 @@
+#ifndef __ASM_PPC_IRQ_H__
+#define __ASM_PPC_IRQ_H__
+
+#include <xen/lib.h>
+#include <xen/device_tree.h>
+#include <public/device_tree_defs.h>
+
+/* TODO */
+#define nr_irqs 0U
+#define nr_static_irqs 0
+#define arch_hwdom_irqs(domid) 0U
+
+#define domain_pirq_to_irq(d, pirq) (pirq)
+
+struct arch_pirq {
+};
+
+struct arch_irq_desc {
+    unsigned int type;
+};
+
+static inline void arch_move_irqs(struct vcpu *v)
+{
+    BUG();
+}
+
+static inline int platform_get_irq(const struct dt_device_node *device, =
int index)
+{
+    BUG();
+}
+
+#endif /* __ASM_PPC_IRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/mem_access.h b/xen/arch/ppc/include=
/asm/mem_access.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.=
h
index 36e44a4356..86e5cbf609 100644
--- a/xen/arch/ppc/include/asm/mm.h
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -1,19 +1,270 @@
 #ifndef _ASM_PPC_MM_H
 #define _ASM_PPC_MM_H
=20
+#include <public/xen.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
 #include <asm/config.h>
 #include <asm/page-bits.h>
=20
+void setup_initial_pagetables(void);
+
+extern unsigned long total_pages;
+
 #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))
=20
 #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
-#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START)
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
=20
 /* Convert between Xen-heap virtual addresses and machine addresses. */
 #define __pa(x)             (virt_to_maddr(x))
 #define __va(x)             (maddr_to_virt(x))
=20
-void setup_initial_pagetables(void);
+/* Convert between Xen-heap virtual addresses and machine frame numbers.=
 */
+#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
+#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
+
+/* Convert between Xen-heap virtual addresses and page-info structures. =
*/
+static inline struct page_info *virt_to_page(const void *v)
+{
+    BUG();
+    return NULL;
+}
+
+/*
+ * 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)
+
+#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.              =
   */
+
+ /* 2-bit count of uses of this frame as its current type. */
+#define PGT_count_mask    PG_mask(3, 3)
+
+/* 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 static memory */
+#define PGC_static     0
+/* 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) =3D=3D PGC_s=
tate_##st)
+/* Page is not reference counted */
+#define _PGC_extra        PG_shift(10)
+#define PGC_extra         PG_mask(1, 10)
+
+/* Count of references to this frame. */
+#define PGC_count_width   PG_shift(10)
+#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
+
+/*
+ * Page needs to be scrubbed. Since this bit can only be set on a page t=
hat 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
+
+#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) >=3D virt_to_maddr(&_start)) &&           \
+     (mfn_to_maddr(mfn) <=3D 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 =3D (_d))
+
+/* TODO: implement */
+#define mfn_valid(mfn) ({ (void) (mfn); 0; })
+#define max_page ((unsigned long )0)
+
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define domain_set_alloc_bitsize(d) ((void)0)
+#define domain_clamp_alloc_bitsize(d, b) (b)
+
+#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
+
+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) !=3D 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) =3D=3D=
 0). */
+        union {
+            struct {
+                /*
+                 * Index of the first *possibly* unscrubbed page in the =
buddy.
+                 * One more bit than maximum possible order to accommoda=
te
+                 * 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, but not as a shadow. */
+        struct {
+            /* Owner of this page (zero 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 flushe=
s.
+         * Only valid for: a) free pages, and b) pages with zero type co=
unt
+         */
+        u32 tlbflush_timestamp;
+    };
+    u64 pad;
+};
+
+
+#define FRAMETABLE_VIRT_START  (XEN_VIRT_START + GB(32))
+#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)));
+}
+
+/*
+ * 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 ty=
pe)
+{
+    return 1;
+}
+
+static inline void put_page_type(struct page_info *page)
+{
+    return;
+}
+
+/* TODO */
+static inline bool get_page_nr(struct page_info *page, const struct doma=
in *domain,
+                        unsigned long nr)
+{
+    BUG();
+}
+static inline void put_page_nr(struct page_info *page, unsigned long nr)
+{
+    BUG();
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * PPC 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) =3D=3D SHARED_M2P_ENTRY)
+
+/* Xen always owns P2M on PPC */
+#define set_gpfn_from_mfn(mfn, pfn) do { (void) (mfn), (void)(pfn); } wh=
ile (0)
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define PDX_GROUP_SHIFT (16 + 5)
+
+static inline unsigned long domain_get_maximum_gpfn(struct domain *d)
+{
+    BUG();
+    return 0;
+}
+
+static inline long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) a=
rg)
+{
+    BUG();
+    return 0;
+}
+
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32; /* TODO */
+}
+
+/*
+ * On PPC, all the RAM is currently direct mapped in Xen.
+ * Hence return always true.
+ */
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned lo=
ng nr)
+{
+    return true;
+}
=20
 #endif /* _ASM_PPC_MM_H */
diff --git a/xen/arch/ppc/include/asm/monitor.h b/xen/arch/ppc/include/as=
m/monitor.h
new file mode 100644
index 0000000000..f810a367c7
--- /dev/null
+++ b/xen/arch/ppc/include/asm/monitor.h
@@ -0,0 +1,48 @@
+/* Derived from xen/arch/arm/include/asm/monitor.h */
+#ifndef __ASM_PPC_MONITOR_H__
+#define __ASM_PPC_MONITOR_H__
+
+#include <public/domctl.h>
+
+#include <xen/sched.h>
+#include <public/domctl.h>
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace=
)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_o=
p *mop)
+{
+    /* No arch-specific monitor ops on PPC. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on PPC. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on PPC. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    uint32_t capabilities =3D 0;
+
+    capabilities =3D (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST |
+                    1U << XEN_DOMCTL_MONITOR_EVENT_PRIVILEGED_CALL);
+
+    return capabilities;
+}
+
+#endif /* __ASM_PPC_MONITOR_H__ */
diff --git a/xen/arch/ppc/include/asm/nospec.h b/xen/arch/ppc/include/asm=
/nospec.h
new file mode 100644
index 0000000000..4d8ec923e9
--- /dev/null
+++ b/xen/arch/ppc/include/asm/nospec.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * From arch/arm/include/asm/nospec.h.
+ * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserve=
d.
+ */
+#ifndef __ASM_PPC_NOSPEC_H__
+#define __ASM_PPC_NOSPEC_H__
+
+static inline bool evaluate_nospec(bool condition)
+{
+    return condition;
+}
+
+static inline void block_speculation(void)
+{
+}
+
+#endif /* __ASM_PPC_NOSPEC_H__ */
diff --git a/xen/arch/ppc/include/asm/numa.h b/xen/arch/ppc/include/asm/n=
uma.h
new file mode 100644
index 0000000000..d857bba2ba
--- /dev/null
+++ b/xen/arch/ppc/include/asm/numa.h
@@ -0,0 +1,26 @@
+#ifndef __ASM_PPC_NUMA_H__
+#define __ASM_PPC_NUMA_H__
+
+#include <xen/types.h>
+#include <xen/mm.h>
+
+typedef uint8_t nodeid_t;
+
+/* Fake one node for now. See also node_online_map. */
+#define cpu_to_node(cpu) 0
+#define node_to_cpumask(node)   (cpu_online_map)
+
+/*
+ * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
+ * is required because the dummy helpers are using it.
+ */
+extern mfn_t first_valid_mfn;
+
+/* XXX: implement NUMA support */
+#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
+#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
+#define __node_distance(a, b) (20)
+
+#define arch_want_default_dmazone() (false)
+
+#endif /* __ASM_PPC_NUMA_H__ */
diff --git a/xen/arch/ppc/include/asm/p2m.h b/xen/arch/ppc/include/asm/p2=
m.h
new file mode 100644
index 0000000000..851e9f011a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/p2m.h
@@ -0,0 +1,105 @@
+#ifndef __ASM_PPC_P2M_H__
+#define __ASM_PPC_P2M_H__
+
+#include <asm/page-bits.h>
+
+#define paddr_bits PADDR_BITS
+
+/*
+ * List of possible type for each page in the p2m entry.
+ * The number of available bit per page in the pte for this purpose is 4=
 bits.
+ * So it's possible to only have 16 fields. If we run out of value in th=
e
+ * future, it's possible to use higher value for pseudo-type and don't s=
tore
+ * them in the p2m entry.
+ */
+typedef enum {
+    p2m_invalid =3D 0,    /* Nothing mapped here */
+    p2m_ram_rw,         /* Normal read/write guest RAM */
+    p2m_ram_ro,         /* Read-only; writes are silently dropped */
+    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO are=
a */
+    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-c=
acheable */
+    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cache=
able */
+    p2m_map_foreign_rw, /* Read/write RAM pages from foreign domain */
+    p2m_map_foreign_ro, /* Read-only RAM pages from foreign domain */
+    p2m_grant_map_rw,   /* Read/write grant mapping */
+    p2m_grant_map_ro,   /* Read-only grant mapping */
+    /* The types below are only used to decide the page attribute in the=
 P2M */
+    p2m_iommu_map_rw,   /* Read/write iommu mapping */
+    p2m_iommu_map_ro,   /* Read-only iommu mapping */
+    p2m_max_real_type,  /* Types after this won't be store in the p2m */
+} p2m_type_t;
+
+#include <xen/p2m-common.h>
+
+static inline int get_page_and_type(struct page_info *page,
+                                    struct domain *domain,
+                                    unsigned long type)
+{
+    BUG();
+    return 1;
+}
+
+/* Look up a GFN and take a reference count on the backing page. */
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    BUG();
+    return NULL;
+}
+
+static inline void memory_type_changed(struct domain *d)
+{
+    BUG();
+}
+
+
+static inline int guest_physmap_mark_populate_on_demand(struct domain *d=
, unsigned long gfn,
+                                                        unsigned int ord=
er)
+{
+    BUG();
+    return 1;
+}
+
+static inline int guest_physmap_add_entry(struct domain *d,
+                            gfn_t gfn,
+                            mfn_t mfn,
+                            unsigned long page_order,
+                            p2m_type_t t)
+{
+    BUG();
+    return 1;
+}
+
+/* Untyped version for RAM only, for compatibility */
+static inline int __must_check
+guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn,
+                       unsigned int page_order)
+{
+    return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
+}
+
+static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
+{
+    BUG();
+    return _mfn(0);
+}
+
+static inline bool arch_acquire_resource_check(struct domain *d)
+{
+    /*
+     * The reference counting of foreign entries in set_foreign_p2m_entr=
y()
+     * is supported on PPC.
+     */
+    return true;
+}
+
+static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    /* Not supported on PPC. */
+}
+
+#endif /* __ASM_PPC_P2M_H__ */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/p=
age.h
index e58b0a7354..713630c393 100644
--- a/xen/arch/ppc/include/asm/page.h
+++ b/xen/arch/ppc/include/asm/page.h
@@ -39,6 +39,9 @@
 #define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
 #define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
=20
+/* TODO */
+#define PAGE_HYPERVISOR 0
+
 /*
  * Radix Tree layout for 64KB pages:
  *
@@ -175,4 +178,20 @@ struct prtb_entry {
=20
 void tlbie_all(void);
=20
+static inline void invalidate_icache(void)
+{
+    BUG();
+}
+
+#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();
+}
+
+#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
+
 #endif /* _ASM_PPC_PAGE_H */
diff --git a/xen/arch/ppc/include/asm/paging.h b/xen/arch/ppc/include/asm=
/paging.h
new file mode 100644
index 0000000000..eccacece29
--- /dev/null
+++ b/xen/arch/ppc/include/asm/paging.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_PAGING_H__
+#define __ASM_PPC_PAGING_H__
+
+#define paging_mode_translate(d)              (1)
+#define paging_mode_external(d)               (1)
+
+#endif /* __ASM_PPC_PAGING_H__ */
diff --git a/xen/arch/ppc/include/asm/pci.h b/xen/arch/ppc/include/asm/pc=
i.h
new file mode 100644
index 0000000000..e76c8e5475
--- /dev/null
+++ b/xen/arch/ppc/include/asm/pci.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_PCI_H__
+#define __ASM_PPC_PCI_H__
+
+struct arch_pci_dev {
+};
+
+#endif /* __ASM_PPC_PCI_H__ */
diff --git a/xen/arch/ppc/include/asm/percpu.h b/xen/arch/ppc/include/asm=
/percpu.h
new file mode 100644
index 0000000000..faae72ee41
--- /dev/null
+++ b/xen/arch/ppc/include/asm/percpu.h
@@ -0,0 +1,26 @@
+#ifndef __PPC_PERCPU_H__
+#define __PPC_PERCPU_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+
+extern char __per_cpu_start[], __per_cpu_data_end[];
+extern unsigned long __per_cpu_offset[NR_CPUS];
+void percpu_init_areas(void);
+
+#define smp_processor_id() 0 /* TODO: Fix this */
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, smp_processor_id()))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, smp_processor_id()))
+
+#endif
+
+#endif /* __PPC_PERCPU_H__ */
diff --git a/xen/arch/ppc/include/asm/procarea.h b/xen/arch/ppc/include/a=
sm/procarea.h
new file mode 100644
index 0000000000..55a358f1e4
--- /dev/null
+++ b/xen/arch/ppc/include/asm/procarea.h
@@ -0,0 +1,38 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright (C) IBM Corp. 2005
+ *
+ * Authors: Hollis Blanchard <hollisb@us.ibm.com>
+ */
+
+#ifndef _ASM_PROCAREA_H_
+#define _ASM_PROCAREA_H_
+
+#include <xen/types.h>
+
+struct vcpu;
+struct gdb_state;
+
+struct processor_area
+{
+    unsigned int whoami;
+    unsigned int hard_id;
+    struct vcpu *cur_vcpu;
+    void *hyp_stack_base;
+    unsigned long saved_regs[2];
+};
+
+#endif
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 417288738c..695f98af5b 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -110,6 +110,10 @@
 /* Macro to adjust thread priority for hardware multithreading */
 #define HMT_very_low()  asm volatile ( "or %r31, %r31, %r31" )
=20
+/* TODO: This isn't correct */
+#define cpu_to_core(_cpu)   (0)
+#define cpu_to_socket(_cpu) (0)
+
 /*
  * User-accessible registers: most of these need to be saved/restored
  * for every nested Xen invocation.
@@ -175,6 +179,8 @@ static inline void noreturn die(void)
         HMT_very_low();
 }
=20
+#define cpu_relax() asm volatile ( "or %r1, %r1, %r1; or %r2, %r2, %r2" =
)
+
 #endif /* __ASSEMBLY__ */
=20
 #endif /* _ASM_PPC_PROCESSOR_H */
diff --git a/xen/arch/ppc/include/asm/random.h b/xen/arch/ppc/include/asm=
/random.h
new file mode 100644
index 0000000000..2f9e9bbae4
--- /dev/null
+++ b/xen/arch/ppc/include/asm/random.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_PPC_RANDOM_H__
+#define __ASM_PPC_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_PPC_RANDOM_H__ */
diff --git a/xen/arch/ppc/include/asm/regs.h b/xen/arch/ppc/include/asm/r=
egs.h
index d5f47a6ff1..68135ca584 100644
--- a/xen/arch/ppc/include/asm/regs.h
+++ b/xen/arch/ppc/include/asm/regs.h
@@ -23,6 +23,8 @@
 #ifndef _ASM_REG_DEFS_H_
 #define _ASM_REG_DEFS_H_
=20
+#include <xen/types.h>
+
 /* Special Purpose Registers */
 #define SPRN_VRSAVE 256
 #define SPRN_DSISR  18
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/=
setup.h
new file mode 100644
index 0000000000..e4f64879b6
--- /dev/null
+++ b/xen/arch/ppc/include/asm/setup.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_PPC_SETUP_H__
+#define __ASM_PPC_SETUP_H__
+
+#define max_init_domid (0)
+
+#endif /* __ASM_PPC_SETUP_H__ */
diff --git a/xen/arch/ppc/include/asm/smp.h b/xen/arch/ppc/include/asm/sm=
p.h
new file mode 100644
index 0000000000..eca43f0e6c
--- /dev/null
+++ b/xen/arch/ppc/include/asm/smp.h
@@ -0,0 +1,18 @@
+#ifndef __ASM_SMP_H
+#define __ASM_SMP_H
+
+#include <xen/cpumask.h>
+#include <xen/percpu.h>
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when w=
e
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+#endif
diff --git a/xen/arch/ppc/include/asm/softirq.h b/xen/arch/ppc/include/as=
m/softirq.h
new file mode 100644
index 0000000000..a0b28a5e51
--- /dev/null
+++ b/xen/arch/ppc/include/asm/softirq.h
@@ -0,0 +1,8 @@
+#ifndef __ASM_PPC_SOFTIRQ_H__
+#define __ASM_PPC_SOFTIRQ_H__
+
+#define NR_ARCH_SOFTIRQS 0
+
+#define arch_skip_send_event_check(cpu) 0
+
+#endif /* __ASM_PPC_SOFTIRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/spinlock.h b/xen/arch/ppc/include/a=
sm/spinlock.h
new file mode 100644
index 0000000000..4bdb4b1e98
--- /dev/null
+++ b/xen/arch/ppc/include/asm/spinlock.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_SPINLOCK_H
+#define __ASM_SPINLOCK_H
+
+#define arch_lock_acquire_barrier() smp_mb()
+#define arch_lock_release_barrier() smp_mb()
+
+#define arch_lock_relax() cpu_relax()
+#define arch_lock_signal()
+#define arch_lock_signal_wmb()      \
+({                                  \
+    smp_wmb();                      \
+    arch_lock_signal();             \
+})
+
+#endif /* __ASM_SPINLOCK_H */
diff --git a/xen/arch/ppc/include/asm/system.h b/xen/arch/ppc/include/asm=
/system.h
index 94091df644..5adc321e88 100644
--- a/xen/arch/ppc/include/asm/system.h
+++ b/xen/arch/ppc/include/asm/system.h
@@ -1,6 +1,247 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright (C) IBM Corp. 2005
+ * Copyright (C) Raptor Engineering LLC
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ *          Shawn Anastasio <sanastasio@raptorengineering.com>
+ */
+
 #ifndef _ASM_SYSTEM_H_
 #define _ASM_SYSTEM_H_
=20
-#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
+#include <xen/config.h>
+#include <xen/lib.h>
+#include <asm/memory.h>
+#include <asm/time.h>
+#include <asm/processor.h>
+#include <asm/msr.h>
+
+#define xchg(ptr,x) 							       \
+({									       \
+	__typeof__(*(ptr)) _x_ =3D (x);					       \
+	(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr)));=
 \
+})
+
+#define build_xchg(fn, type, ldinsn, stinsn) \
+static inline unsigned long \
+fn(volatile type *m, unsigned long val) \
+{ \
+    unsigned long dummy; \
+                                                    \
+    __asm__ __volatile__(                           \
+    PPC_ATOMIC_ENTRY_BARRIER                        \
+"1: " ldinsn " %0,0,%3\n"                           \
+    stinsn " %2,0,%3\n"                             \
+"2:  bne- 1b"                                       \
+    PPC_ATOMIC_EXIT_BARRIER                         \
+    : "=3D&r" (dummy), "=3Dm" (*m)                      \
+    : "r" (val), "r" (m)                            \
+    : "cc", "memory");                              \
+    return dummy;                                   \
+}
+
+build_xchg(__xchg_u8, uint8_t, "lbarx", "stbcx.")
+build_xchg(__xchg_u16, uint16_t, "lharx", "sthcx.")
+build_xchg(__xchg_u32, uint32_t, "lwarx", "stwcx.")
+build_xchg(__xchg_u64, uint64_t, "ldarx", "stdcx.")
+
+#undef build_xchg
+
+/*
+ * This function doesn't exist, so you'll get a linker error
+ * if something tries to do an invalid xchg().
+ */
+extern void __xchg_called_with_bad_pointer(void);
+
+static inline unsigned long
+__xchg(volatile void *ptr, unsigned long x, int size)
+{
+    switch (size) {
+    case 1:
+        return __xchg_u8(ptr, x);
+    case 2:
+        return __xchg_u16(ptr, x);
+    case 4:
+        return __xchg_u32(ptr, x);
+    case 8:
+        return __xchg_u64(ptr, x);
+    }
+    __xchg_called_with_bad_pointer();
+    return x;
+}
+
+
+static inline unsigned long
+__cmpxchg_u32(volatile int *p, int old, int new)
+{
+    unsigned int prev;
+
+    __asm__ __volatile__ (
+    PPC_ATOMIC_ENTRY_BARRIER
+"1: lwarx   %0,0,%2     # __cmpxchg_u32\n\
+    cmpw    0,%0,%3\n\
+    bne-    2f\n\
+    stwcx.  %4,0,%2\n\
+    bne-    1b"
+    PPC_ATOMIC_EXIT_BARRIER
+    "\n\
+2:"
+    : "=3D&r" (prev), "=3Dm" (*p)
+    : "r" (p), "r" (old), "r" (new), "m" (*p)
+    : "cc", "memory");
+
+    return prev;
+}
+
+static inline unsigned long
+__cmpxchg_u64(volatile long *p, unsigned long old, unsigned long new)
+{
+    unsigned long prev;
+
+    __asm__ __volatile__ (
+    PPC_ATOMIC_ENTRY_BARRIER
+"1: ldarx   %0,0,%2     # __cmpxchg_u64\n\
+    cmpd    0,%0,%3\n\
+    bne-    2f\n\
+    stdcx.  %4,0,%2\n\
+    bne-    1b"
+    PPC_ATOMIC_EXIT_BARRIER
+    "\n\
+2:"
+    : "=3D&r" (prev), "=3Dm" (*p)
+    : "r" (p), "r" (old), "r" (new), "m" (*p)
+    : "cc", "memory");
+
+    return prev;
+}
+
+/* This function doesn't exist, so you'll get a linker error
+   if something tries to do an invalid cmpxchg().  */
+extern void __cmpxchg_called_with_bad_pointer(void);
+
+static always_inline unsigned long
+__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int =
size)
+{
+    switch (size) {
+    case 2:
+        BUG(); return 0; /* XXX implement __cmpxchg_u16 ? */
+    case 4:
+        return __cmpxchg_u32(ptr, old, new);
+    case 8:
+        return __cmpxchg_u64(ptr, old, new);
+    }
+    __cmpxchg_called_with_bad_pointer();
+    return old;
+}
+
+#define cmpxchg_user(ptr,o,n) cmpxchg(ptr,o,n)
+
+#define cmpxchg(ptr,o,n)                         \
+  ({                                     \
+     __typeof__(*(ptr)) _o_ =3D (o);                   \
+     __typeof__(*(ptr)) _n_ =3D (n);                   \
+     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,       \
+                    (unsigned long)_n_, sizeof(*(ptr))); \
+  })
+
+
+/*
+ * Memory barrier.
+ * The sync instruction guarantees that all memory accesses initiated
+ * by this processor have been performed (with respect to all other
+ * mechanisms that access memory).  The eieio instruction is a barrier
+ * providing an ordering (separately) for (a) cacheable stores and (b)
+ * loads and stores to non-cacheable memory (e.g. I/O devices).
+ *
+ * mb() prevents loads and stores being reordered across this point.
+ * rmb() prevents loads being reordered across this point.
+ * wmb() prevents stores being reordered across this point.
+ * read_barrier_depends() prevents data-dependent loads being reordered
+ *  across this point (nop on PPC).
+ *
+ * We have to use the sync instructions for mb(), since lwsync doesn't
+ * order loads with respect to previous stores.  Lwsync is fine for
+ * rmb(), though.
+ * For wmb(), we use sync since wmb is used in drivers to order
+ * stores to system memory with respect to writes to the device.
+ * However, smp_wmb() can be a lighter-weight eieio barrier on
+ * SMP since it is only used to order updates to system memory.
+ */
+#define mb()   __asm__ __volatile__ ("sync" : : : "memory")
+#define rmb()  __asm__ __volatile__ ("lwsync" : : : "memory")
+#define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
+#define read_barrier_depends()  do { } while(0)
+
+#define set_mb(var, value)  do { var =3D value; smp_mb(); } while (0)
+#define set_wmb(var, value) do { var =3D value; smp_wmb(); } while (0)
+
+#define smp_mb__before_atomic()    smp_mb()
+#define smp_mb__after_atomic()     smp_mb()
+
+#ifdef CONFIG_SMP
+#define smp_mb()    mb()
+#define smp_rmb()   rmb()
+#define smp_wmb()   __asm__ __volatile__ ("lwsync" : : : "memory")
+#define smp_read_barrier_depends()  read_barrier_depends()
+#else
+#define smp_mb()    __asm__ __volatile__("": : :"memory")
+#define smp_rmb()   __asm__ __volatile__("": : :"memory")
+#define smp_wmb()   __asm__ __volatile__("": : :"memory")
+#define smp_read_barrier_depends()  do { } while(0)
+#endif /* CONFIG_SMP */
+
+#define local_save_flags(flags) ((flags) =3D mfmsr())
+#define local_irq_restore(flags) do { \
+        __asm__ __volatile__("": : :"memory"); \
+        mtmsrd((flags)); \
+} while(0)
+
+static inline void local_irq_disable(void)
+{
+        unsigned long msr;
+        msr =3D mfmsr();
+        mtmsrd(msr & ~MSR_EE);
+        __asm__ __volatile__("" : : : "memory");
+}
+
+static inline void local_irq_enable(void)
+{
+        unsigned long msr;
+        __asm__ __volatile__("" : : : "memory");
+        msr =3D mfmsr();
+        mtmsrd(msr | MSR_EE);
+}
+
+static inline void __do_save_and_cli(unsigned long *flags)
+{
+    unsigned long msr;
+    msr =3D mfmsr();
+    *flags =3D msr;
+    mtmsrd(msr & ~MSR_EE);
+    __asm__ __volatile__("" : : : "memory");
+}
+
+#define local_irq_save(flags) __do_save_and_cli(&flags)
+
+static inline int local_irq_is_enabled(void)
+{
+    return !!(mfmsr() & MSR_EE);
+}
+
+#define arch_fetch_and_add(x, v) __sync_fetch_and_add(x, v)
=20
 #endif /* _ASM_SYSTEM_H */
diff --git a/xen/arch/ppc/include/asm/time.h b/xen/arch/ppc/include/asm/t=
ime.h
new file mode 100644
index 0000000000..7872d3c15b
--- /dev/null
+++ b/xen/arch/ppc/include/asm/time.h
@@ -0,0 +1,20 @@
+#ifndef __ASM_PPC_TIME_H__
+#define __ASM_PPC_TIME_H__
+
+#include <xen/lib.h>
+#include <asm/processor.h>
+#include <asm/regs.h>
+
+struct vcpu;
+
+/* TODO: implement */
+static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG()=
; }
+
+typedef unsigned long cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+	return mfspr(SPRN_TBRL);
+}
+
+#endif /* __ASM_PPC_TIME_H__ */
diff --git a/xen/arch/ppc/include/asm/vm_event.h b/xen/arch/ppc/include/a=
sm/vm_event.h
new file mode 100644
index 0000000000..346653f32a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/vm_event.h
@@ -0,0 +1,49 @@
+#ifndef __ASM_PPC_VM_EVENT_H__
+#define __ASM_PPC_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <xen/vm_event.h>
+#include <public/domctl.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct v=
cpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t =
*rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Not supported on PPC. */
+}
+
+#endif /* __ASM_PPC_VM_EVENT_H__ */
diff --git a/xen/arch/ppc/include/asm/xenoprof.h b/xen/arch/ppc/include/a=
sm/xenoprof.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 071e71b73e..399898a36d 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -1,13 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/mm.h>
 #include <xen/types.h>
 #include <xen/lib.h>
=20
 #include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/early_printk.h>
-#include <asm/mm.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 #include <asm/regs.h>
diff --git a/xen/arch/ppc/opal.c b/xen/arch/ppc/opal.c
index 396a9e403b..1183b7d5ef 100644
--- a/xen/arch/ppc/opal.c
+++ b/xen/arch/ppc/opal.c
@@ -1,10 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
-#include "xen/compiler.h"
 #include <asm/boot.h>
 #include <asm/early_printk.h>
 #include <asm/opal-api.h>
 #include <asm/processor.h>
-#include <asm/mm.h>
 #include <xen/types.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/init.h>
diff --git a/xen/arch/ppc/tlb-radix.c b/xen/arch/ppc/tlb-radix.c
index 69934076a7..551e8280de 100644
--- a/xen/arch/ppc/tlb-radix.c
+++ b/xen/arch/ppc/tlb-radix.c
@@ -5,9 +5,9 @@
  *
  * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation.
  */
+#include <xen/bitops.h>
 #include <xen/stringify.h>
=20
-#include <asm/bitops.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
=20
diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.=
h
index 464ebdb0da..2cf4238daa 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -89,6 +89,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
 #include "../arch-x86/hvm/save.h"
 #elif defined(__arm__) || defined(__aarch64__)
 #include "../arch-arm/hvm/save.h"
+#elif defined(__powerpc64__)
+#include "../arch-ppc.h"
 #else
 #error "unsupported architecture"
 #endif
diff --git a/xen/include/public/pmu.h b/xen/include/public/pmu.h
index eb87a81e7b..5a176b6ac3 100644
--- a/xen/include/public/pmu.h
+++ b/xen/include/public/pmu.h
@@ -11,6 +11,8 @@
 #include "arch-x86/pmu.h"
 #elif defined (__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined (__powerpc64__)
+#include "arch-ppc.h"
 #else
 #error "Unsupported architecture"
 #endif
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 920567e006..b812a0a324 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -16,6 +16,8 @@
 #include "arch-x86/xen.h"
 #elif defined(__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined(__powerpc64__)
+#include "arch-ppc.h"
 #else
 #error "Unsupported architecture"
 #endif
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:03:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575868.901412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsL-0004fy-Nr; Wed, 02 Aug 2023 23:03:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575868.901412; Wed, 02 Aug 2023 23:03:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRKsL-0004ez-Ea; Wed, 02 Aug 2023 23:03:29 +0000
Received: by outflank-mailman (input) for mailman id 575868;
 Wed, 02 Aug 2023 23:03: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=SOIS=DT=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRKsI-0002ha-KR
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:03:26 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c638a8ca-3188-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 01:03:21 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5EAF38285801;
 Wed,  2 Aug 2023 18:03: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 xhEj096is2P6; Wed,  2 Aug 2023 18:03:19 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CC73F8286986;
 Wed,  2 Aug 2023 18:03:19 -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 m71qTlx5EDTo; Wed,  2 Aug 2023 18:03:19 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 0E9CE8285801;
 Wed,  2 Aug 2023 18:03:19 -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: c638a8ca-3188-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com CC73F8286986
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691017399; bh=YjlYohwL3eAJPEYKReeeAY3HrxNXgmlGT5VKjdLta3c=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=cdIn5slO1nJk9TEPSLCT2MK526NhohahrjwqqMD+D0nH3+kpBVWPq0tgFcLtwlkNW
	 PdJNv2xsda1QqN3Km60VKIu8kUgbjBFGr2PjBiKgAdYxWqJQCXJXz6ZD/JwARqZgN8
	 WJFDkceDmuzGuglyDWW5NjX2OYomgLbaMTAWZXC0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 9/9] xen/ppc: Enable full Xen build
Date: Wed,  2 Aug 2023 18:03:05 -0500
Message-Id: <44fe62a196e2621ac88d0f4b9e7ee97bf1874d59.1691016993.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691016993.git.sanastasio@raptorengineering.com>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Bring ppc's Makefile and arch.mk in line with arm and x86 to disable the
build overrides and enable the full Xen build.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/Makefile | 16 +++++++++++++++-
 xen/arch/ppc/arch.mk  |  3 ---
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 969910b3b6..7b68b5ace2 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
 	cp -f $< $@
=20
 $(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=3Dsysv $(dot-target).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).0.S
+	$(MAKE) $(build)=3D$(@D) $(dot-target).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(dot-target).0.o -o $(dot-target).1
+	$(NM) -pa --format=3Dsysv $(dot-target).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).1.S
+	$(MAKE) $(build)=3D$(@D) $(dot-target).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=3Dsysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
+	rm -f $(@D)/.$(@F).[0-9]*
=20
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index d05cbf1df5..917ad0e6a8 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -7,6 +7,3 @@ CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
 CFLAGS +=3D -mstrict-align -mcmodel=3Dmedium -mabi=3Delfv2 -fPIC -mno-al=
tivec -mno-vsx -msoft-float
=20
 LDFLAGS +=3D -m elf64lppc
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y =3D arch/$(SRCARCH)/built_in.o common/libfdt/built_i=
n.o lib/built_in.o
--=20
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 02 23:59:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 Aug 2023 23:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575909.901436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRLk8-0004kB-85; Wed, 02 Aug 2023 23:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575909.901436; Wed, 02 Aug 2023 23:59:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRLk8-0004k4-5I; Wed, 02 Aug 2023 23:59:04 +0000
Received: by outflank-mailman (input) for mailman id 575909;
 Wed, 02 Aug 2023 23:59: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=pqe9=DT=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRLk6-0004jy-HB
 for xen-devel@lists.xenproject.org; Wed, 02 Aug 2023 23:59:02 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c6ef2d2-3190-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 01:59:00 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 091B1601FF;
 Wed,  2 Aug 2023 23:58:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C2A3C433C7;
 Wed,  2 Aug 2023 23:58:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c6ef2d2-3190-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691020738;
	bh=CGf6zLHod+gBC6eVW+X/5kQwWtgG5PS8YiOXAxpMj6Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=B1G9WbziHbZykkttskmVH/ZyJn0iaSH4zAJXJ3JG3Ybxajyjf+aUm8ieVXTFJsM+V
	 j8xW0MNwoXcudXuvL2E/qcvF4pcyz3f2Jvn3DOGFzSMuM5lna75C+x1ZmFCFaiWc88
	 3jSuvme6y+nMRXMhJV6vUBqO/9MqvQ4jv3wd1Ux7UlMsK74X7xksigSzstAhy9/aV9
	 iCMiX6Ctw7P5E8Vd2ja9c+u1Cp0uc2HHamccll9v0Kn5ztPGD9YZkM2cuEWw5AqwtN
	 5nOcydnK2gGxOUe+QL2MGwKDKq7W/RRX2GL4JMEkP8N89L2WHqUcX7qkaJf9swdwyZ
	 RoCvY0zRu8iMQ==
Date: Wed, 2 Aug 2023 16:58: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: "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    Christopher Clark <christopher.w.clark@gmail.com>, 
    Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] console: generalize the ability for domU access
In-Reply-To: <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308021657290.2127516@ubuntu-linux-20-04-desktop>
References: <20230801160608.19219-1-dpsmith@apertussolutions.com> <3b889079-571a-a83a-0cba-c30cf2ce0b1b@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, 2 Aug 2023, Jan Beulich wrote:
> > -    for ( ; ; )
> > +    if ( d == NULL )
> 
> This covers both Xen receiving input and the domain receiving input having
> gone away. Originally in the latter case the next sequential (in domid
> numbering) domain would be switched to. In the new logic you start over
> from the beginning of the domain list. Such a change in behavior (if
> deemed acceptable at all, which I'm not convinced of) needs calling out in
> the description.

I think it would be best to keep the current behavior as we already
have people using it unless we have strong reasons to change it.


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575925.901474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNJa-0001BO-4H; Thu, 03 Aug 2023 01:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575925.901474; Thu, 03 Aug 2023 01:39:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNJZ-0001B2-Up; Thu, 03 Aug 2023 01:39:45 +0000
Received: by outflank-mailman (input) for mailman id 575925;
 Thu, 03 Aug 2023 01:39:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNJZ-0001As-Ck
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 01:39:45 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e32b50d-319e-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 03:39:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CA4B261B71;
 Thu,  3 Aug 2023 01:39:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C845C433C8;
 Thu,  3 Aug 2023 01:39: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: 9e32b50d-319e-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691026781;
	bh=cq+sPioqIkCaTlixIBx1YmCuR88cVtypYWRXHYlNyCg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Z+44jwIYxeN6zdEdjp9Wuhq57+o7Qw3p748gm4IePJx2LjxsH0f+/OiVERDXfz1sU
	 74/AR8Kli9TeMGz0fZhuGNmiUAjNpMXMz2idT/NOgOzkzUu4M0rcSmKkP2wHQSwz9i
	 d1SaIRu9xBV/PSL3JBoJAYWxVfoLMlugkwTYyGvfv/LwRxYoZxwDq5nwWs3fK5F38n
	 DJuAcbwqYroKYp1t37nk4XKkw4BqJfs816YAZgae94pLUzaSG283+E5870hbTzOEhs
	 iIAc1w6gJoAe4PTCdSkd5Ge4c88nz1nGnkfHAI2N7TEOwTvhO3S8zbgDIxGAaZaS+m
	 Wkwno2khz43Nw==
Date: Wed, 2 Aug 2023 18:39:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH] xen/string: add missing parameter names
In-Reply-To: <e771afd1e1f6906a440883f4e6ee94847cbc7f7e.1690961143.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021838280.2127516@ubuntu-linux-20-04-desktop>
References: <e771afd1e1f6906a440883f4e6ee94847cbc7f7e.1690961143.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 Wed, 2 Aug 2023, Federico Serafini wrote:
> Add missing parameter names to address violations of MISRA C:2012
> Rule 8.2 ("Function types shall be in prototype form with named
> parameters").
> 
> No functional changes.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>  1 file changed, 21 insertions(+), 21 deletions(-)
> 
> diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
> index b4d2217a96..805947d82b 100644
> --- a/xen/include/xen/string.h
> +++ b/xen/include/xen/string.h
> @@ -12,27 +12,27 @@
>  #define strncpy __xen_has_no_strncpy__
>  #define strncat __xen_has_no_strncat__
>  
> -size_t strlcpy(char *, const char *, size_t);
> -size_t strlcat(char *, const char *, size_t);
> -int strcmp(const char *, const char *);
> -int strncmp(const char *, const char *, size_t);
> -int strcasecmp(const char *, const char *);
> -int strncasecmp(const char *, const char *, size_t);
> -char *strchr(const char *, int);
> -char *strrchr(const char *, int);
> -char *strstr(const char *, const char *);
> -size_t strlen(const char *);
> -size_t strnlen(const char *, size_t);
> -char *strpbrk(const char *, const char *);
> -char *strsep(char **, const char *);
> -size_t strspn(const char *, const char *);
> -
> -void *memset(void *, int, size_t);
> -void *memcpy(void *, const void *, size_t);
> -void *memmove(void *, const void *, size_t);
> -int memcmp(const void *, const void *, size_t);
> -void *memchr(const void *, int, size_t);
> -void *memchr_inv(const void *, int, size_t);
> +size_t strlcpy(char *dest, const char *src, size_t size);
> +size_t strlcat(char *dest, const char *src, size_t size);
> +int strcmp(const char *cs, const char *ct);
> +int strncmp(const char *cs, const char *ct, size_t count);
> +int strcasecmp(const char *s1, const char *s2);
> +int strncasecmp(const char *s1, const char *s2, size_t len);
> +char *strchr(const char *s, int c);
> +char *strrchr(const char *s, int c);
> +char *strstr(const char *s1, const char *s2);
> +size_t strlen(const char *s);
> +size_t strnlen(const char *s, size_t count);
> +char *strpbrk(const char *cs, const char *ct);
> +char *strsep(char **s, const char *ct);
> +size_t strspn(const char *s, const char *accept);
> +
> +void *memset(void *s, int c, size_t n);

This should be

void *memset(void *s, int c, size_t count);


> +void *memcpy(void *dest, const void *src, size_t count);
> +void *memmove(void *dest, const void *src, size_t count);
> +int memcmp(const void *cs, const void *ct, size_t count);
> +void *memchr(const void *s, int c, size_t n);
> +void *memchr_inv(const void *s, int c, size_t n);
>  
>  #include <asm/string.h>
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:40:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:40:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575927.901484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNKa-0002XT-Bb; Thu, 03 Aug 2023 01:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575927.901484; Thu, 03 Aug 2023 01: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 1qRNKa-0002XM-7l; Thu, 03 Aug 2023 01:40:48 +0000
Received: by outflank-mailman (input) for mailman id 575927;
 Thu, 03 Aug 2023 01: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=tn0Q=DU=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qRNKZ-0002XG-4U
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 01:40:47 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe12::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2f5f4f3-319e-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 03:40:44 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAVPR08MB9818.eurprd08.prod.outlook.com (2603:10a6:102:31e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Thu, 3 Aug
 2023 01:40:41 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 01:40:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2f5f4f3-319e-11ee-b267-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EAOf11muDPiVnMIUhhLHEA7WJU+eB4P7IiIkIvHc9s5vH0dfOWMCtsfiS6H+yKf7kwQPdAitWvufZnV5OUFDhcEHD/b4phjfWzaYgpGZwdRfLRhilxOBgMrG0RXih8+2Z/7qevsWnqREbo63ZZWzzlImukjj61mlzFcKJEg36eSv84/82pbEbeu9jGWv3Kfp0PPgMPNY1y3t5jtX6zlSyV5OBYztDiz5v9hhkbps/eCEeHIXnHvTSn26pU/zV4yl14ivrxyjoTeBSQqNnCStCItyNIzoX7DbPxiZ3t4qoHEK2Z+w4U+vmCEnTaESp4iX3qxVHU2ojoghHkgUXptfyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TalCKGhmv8pur2cReg9h8iMB+kbTlhu4a28bwsjAXY0=;
 b=lTU4l+wFBN61ohfiKktY4JOwtdGjth0ij447YYtAXE0//G6NIPmw82h9y4MRKMygs3ut2d3MeJ4aT9XT1oq4Q1/Jvxv8x7Fzor874SDktPOzpmqD5pzoI60vDUus197uASyG7gTfIlzhFjFa43CSGNo+kqtRNvnd1xX+/UoadpNo5GUOes+GT7WbGVF5TQ0Qd1Ov+MPoVaD8ndOehSfVTDf17Fo8SzP5WjNBiKmA1vOxoct4wJA52f85mLCdRNPx5L+M/hRpjHjhgqgDBIRAd/0EpN5i4kSQr3WQWsmQam4RZ2F/pPRfLjn2N/OUMdDUsbwUlJxKgSt0mf+EiPsLlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=TalCKGhmv8pur2cReg9h8iMB+kbTlhu4a28bwsjAXY0=;
 b=vkmUfdVEfLWlAPdxCRs8CrhfbhIGkfv/UFD6wvTj1yC3tNMQdV+qTfhG4kNdCS0yOQ9QoSodeavRta7PuJF4ci/RRVguQjv9DdQ0+1NGp/jAkNA9mQLQOSk+HFMbLSh4z1ED7ehh4s1BxYxBXZGAHhaht+Ymh4B7e6CRf4h309Q=
From: Henry Wang <Henry.Wang@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [PATCH 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxJNabMSouWTajUmNjHUgHUELYa/WhhowgADuEQCAAFUFoA==
Date: Thu, 3 Aug 2023 01:40:40 +0000
Message-ID:
 <AS8PR08MB7991BC2D8AAC933CE77F4DE79208A@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
 <AS8PR08MB799102916C8CA24C276DB51A920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <7afba030-48f2-baaf-02f9-dae84107a620@apertussolutions.com>
In-Reply-To: <7afba030-48f2-baaf-02f9-dae84107a620@apertussolutions.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 5AB0CE3F1013594EAA0BA62AF7527390.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|PAVPR08MB9818:EE_
x-ms-office365-filtering-correlation-id: 7d3b0012-e107-4f0a-b4b3-08db93c2a4e8
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 w3OtiOyvHicy0P22wxa/zETrdUBSMtqdIix6IIz146IqgXvWKwGxPSr2RYrTCPguekRJsy+6jbL/UTF5XRbI445Ci6NOBDlXZkQeIT6m377gGzBWEvd/lncG0TzhptrHdDEOEXaITKRs5ZvfFaghihmJHP7R3CgaRxpRIC2RAElAbOLKuFufCaOGeaWNPhUmaN4JILswdrl4uSipXOO31BVPwQsxg8OE02QislG25vM4Z7x3wYn6UQy/1sUeGKu8TnWNapJCMMUebdG//Zdiv0rVQBmlxPN3QgBQFSlYCm3Q3LM0ruczl6wU0d2StyV4LqtGC6nvBdu+1UphzjzIJNMvMzpg/MPacbmhNBzyML8Fe+6YjWBTzlx46fgv7P29EcKWFjwIbiN34RCLJn2YFZvgYNdXckmURm7eFwIpd5G0ru2inI7fl3M152cP5XT6TLHOXy5D8C//WxQ3ZiWwIxtxPIzWiPEySkZ0K3eDrD7axl2OkVdNyiH63Nf99IlDUwZsMs8Mq14NoxaTNJ6bREIkbCimt/desaP7rfQddi+9uw2pVccOATIGR/A+oLRtEuHCokMIKZ4rPka0Yq0t0/xdqpY+1akJX6ACWBxc7nEi79l65skMY3KgbfczeO2h
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199021)(66946007)(64756008)(86362001)(66446008)(66476007)(66556008)(7696005)(71200400001)(52536014)(76116006)(9686003)(2906002)(4326008)(54906003)(110136005)(55016003)(33656002)(478600001)(83380400001)(38100700002)(41300700001)(122000001)(5660300002)(8676002)(8936002)(26005)(38070700005)(6506007)(186003)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RnVCczZUUjhVMzRtTWwyYjVFOUdTMjlXRDNGb2VrcFBnazRpU1ZxR3Y1UWMz?=
 =?utf-8?B?N3ltODJVRlZaWnl6emVaVDcyQTQyMk5qTFh6SGRoN2o3WnE2RjA5NENTcjM0?=
 =?utf-8?B?UlM4VUtqNlVlaVNNZ2NOa1N2TS9WZlBVaVJVTzFISXdzMkpOVG9GNTllNGUy?=
 =?utf-8?B?K2pLOVAxYVU2S0JKUjVYSFZRTHVtOU5McEs2czUwTzdpbWQ2L0FTdEo1MjZt?=
 =?utf-8?B?cmUwK3VPWnlBZUV2dzdzenJ1S1ZvTUVPV3dyaWpUd3I4akdsdE11eVVaTTNL?=
 =?utf-8?B?MlZsaFdIVDNDNG1SODdLMWpMZGJuaWc2SmF0UjlpWVNuQlZ3ZHM1T3V6dVF5?=
 =?utf-8?B?OGhQQTVFTWh6eWV0ZmFjWmFEOFZjV0JwVGhDL3h6TmMxbzRZbXNEV3hKWVpv?=
 =?utf-8?B?K3pPd3I3UDNyWXppOElKL0p0SDlHUW5ZbXpvZzk0WkYrU3dON3Rlb2plRDk4?=
 =?utf-8?B?WDByVk9KUm84K2h0VG1EbXdMSndIVnBYZFovWGNSeUMwUXk1ZHZ4bTh1aThQ?=
 =?utf-8?B?NlFkT0tibFErUEhWUnFBa3JaRE9OUkR6NlhtUWZ5TVVGQUxZWmNsT0dvSTNV?=
 =?utf-8?B?WGx6elVLbGwybFdwTkF0NFprT0NrYm8yS0x1Q29HaWJibEJva1RvbDNZTnhM?=
 =?utf-8?B?RS9LVFgxbldNUy9JQmpENWNCZUFramZBMzBEdnhkajFRZjZQNmlYcUtqeUVr?=
 =?utf-8?B?VDlLZW1sVzl1b0NnUHV3aUR2Yyt0WVdNUXIrSnpTcWZKWnM0UnFBcURhejhF?=
 =?utf-8?B?dDZERWRPMHYybi83a09uUUdxYTBiS05SRFlMRjhiV2QvcTVvVFlENDlCNmIz?=
 =?utf-8?B?UEQwUm9WOE45bmpMc0MrMTJJL1p1WW5Oa2poM2VRdEozTVdZbjJPa2N5WjJ4?=
 =?utf-8?B?MmxzT1BKeS84cjJBSkxkcnB6THlWMTR1OTg5alBEQzBZWHNSTnNTVTFRRWps?=
 =?utf-8?B?bFBlWXA5c1Erb3F2MTRDWElSZWFyRy9EY0FMQS9acTdDV1h2YkZOSkJRWGU5?=
 =?utf-8?B?cHhLVlBDZE9IdkE2L1R0UWxvUUVjbmNMay8zZU43TkdvOWhZVVpMdEpCNkUx?=
 =?utf-8?B?R081TW10T0g3b1pFeUR3dlg1ZTBjNFFtbUt0SlRBN3QrN2J3bml2dFBvMVRI?=
 =?utf-8?B?ejhqSFpMQUg4NCt6N0tFVndIdEY3UXJwQmdZei9aZlE3ZDYvMFdqc2NIOVZs?=
 =?utf-8?B?UElFcHBpNThJRjBZNTc4NkJMQThSd3poMzZMM0N2dkZ1RkVyTVVKMFdxQTh6?=
 =?utf-8?B?Mm9pcGI5QXFoVytnYkJPTnZHbFhYZDFneEFBWWhiRXhRNjhZRHNIaks4M3hE?=
 =?utf-8?B?WFpRMnovMUM1RWVveGlBanpuRXM3anJGOWF4TkpTN1laNHBLS3hHYUk5cEl4?=
 =?utf-8?B?dTdGTitCQ3Y2SU9udWJpMU52ckdJYUxQMy91QTFMNGNLdVFhZmJFazJpc0h6?=
 =?utf-8?B?d1JzWmpOT0Z5TUNTTVpkQWlFOVJkRWNGdDZSSk1qMVNvQnp2VWJ5cVAxL2ZK?=
 =?utf-8?B?NXVLUllWYnBvM0htN2EwR1d6NVRyUncrWVlMNExiQWF3MXZEVDVPdFU4b2Q2?=
 =?utf-8?B?cmhGUzJrdnIzVlh3T1NQZC9kMVFGamg1QjJrY0xxQUdBTGtlay9pV01kcGgx?=
 =?utf-8?B?RUllL0JUWDY3U2Z2Z1QyV3VZNWhMS2FWQXNLZGZrejZhMHRvRG85am4xUi9J?=
 =?utf-8?B?cE1rMXcxV0hnUDJVajBUdVFhOGF1RUJrNHdtNDBMK3U0Nk5CRG9FekQ0aHN1?=
 =?utf-8?B?NDhTeG9xRmgxUkw4bHJjMU45blQrRVA0WkIzMEVCUngvdndhLzg2aUNtc1dM?=
 =?utf-8?B?MFVxSUQwUzcxSlFVZ1dwWEF3NmE0NVFHUnozVHRBK1RvUTZCS0ErMDFxbzdB?=
 =?utf-8?B?b0MvNFZTN0NUUSsyeDB2SlRYQkc0Zk13ZUY5WVR6M01nY1E2NWQ5cTRPQnNN?=
 =?utf-8?B?WlU2enk2UWM4Mnp5Z2pRVlpjb2FRMjc3NERoNUY2SXNVbkI4aFBIbTF1SkZ1?=
 =?utf-8?B?aTFiWFozd25iWmlTZkY2MjgyQWF2cmlhNnBlbDR1Vll5amxSeHVTVDNYYUVo?=
 =?utf-8?B?aWtSbHVlVzVsSjlwMmJPb203ZW41UjlFVWdGUDVXenIwVTNpU2luREticTN4?=
 =?utf-8?Q?aPURhcB3GkAvB3/zmFodWcPJP?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d3b0012-e107-4f0a-b4b3-08db93c2a4e8
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2023 01:40:40.2550
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: BVvNs6d/kBJV9wpiKqPwKxKfO3lrTnLb1r/GKryR8dDonrFEjy5DQldF9pToJQnP9u6p5E+PdhY9jyKBgzzKlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9818

SGkgRGFuaWVsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggMi8yXSBmZHQ6IG1ha2UgZmR0IGhhbmRsaW5nIHJldXNhYmxlIGFjcm9zcyBhcmNo
DQo+ID4gbWFrZTogKioqIFtNYWtlZmlsZToxODM6IF9fc3ViLW1ha2VdIEVycm9yIDINCj4gPiBt
YWtlOiBMZWF2aW5nIGRpcmVjdG9yeSAnL2plbmtpbnMvd29ya3NwYWNlL2Fpcy14ZW5iaXRzLQ0K
PiB4ZW4vbGF5ZXJzL3hlbi94ZW4nDQo+ID4NCj4gPiBUaGUgc3RhZ2luZyBpdHNlbGYgcGFzc2Vk
IHRoZSBDSSBjaGVjay4gRGlkIEkgbWlzcyBzb21lIGNvbnRleHQgdG8gbWFrZQ0KPiA+IHRoaXMg
cGF0Y2ggd29ya3M/IENvdWxkIHlvdSBwbGVhc2UgcHJvdmlkZSBzb21lIGhpbnRzPyBUaGFua3Mg
aW4gYWR2YW5jZSENCj4gDQo+IE5vcGUgeW91IGFyZSBjb3JyZWN0LCBJIG5vdyBuZWVkIHRvIGdv
IGJhY2sgYW5kIGxvb2sgaWYgSSBzZW50IHBhdGNoZXMNCj4gb3V0IG9mIHRoZSB3cm9uZyBicmFu
Y2ggb3IgaWYgSSByZWFsbHkgZGlkIG1pc3MgY2xlYW5pbmcgdXAgdGhlIG9yaWdpbmFsDQo+IGRl
Y2xhcmF0aW9ucyBpbiB0aGUgQXJtIHRyZWUuIEkgZmFpcmx5IGNvbmZpZGVudCBJIG1hZGUgc3Vy
ZSBnaXRsYWItY2kNCj4gcGFzc2VkIGJlZm9yZSBJIGN1dCB0aGUgcGF0Y2hlcyBmb3Igc2VuZGlu
ZywgDQoNCkkgdGhpbmsgc28sIGFzIEkgc2F3IHNvbWV0aGluZyByZWxhdGVkIHRvIHRoZSBHaXRs
YWItQ0kgcnVubmVycyBkaXNjdXNzaW9uDQppbiBJUkMgeWVzdGVyZGF5Lg0KDQo+IGJ1dCBzaW5j
ZSBJIGhhZCB0aHJlZQ0KPiBkaWZmZXJlbnQgc2VyaWVzIGluIGZsaWdodCwgSSBtYXkgaGF2ZSBn
b3R0ZW4ganVtYmxlZC4gQXBvbG9naWVzIGZvciB0aGUNCj4gdW5uZWNlc3NhcnkgY2h1cm4gaGVy
ZS4NCg0KTm8gcHJvYmxlbSBhdCBhbGwsIEkgYW0gbW9yZSB0aGFuIGhhcHB5IHRvIGRvIHRoZSB0
ZXN0IGZvciB5b3VyDQp2MiBzZXJpZXMgb25jZSBpdCBpcyBpbiB0aGUgbWFpbGluZyBsaXN0IDop
KQ0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBWL3IsDQo+IERhbmllbCBQLiBTbWl0
aA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:40:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575928.901494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNKk-0002qT-JX; Thu, 03 Aug 2023 01:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575928.901494; Thu, 03 Aug 2023 01:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNKk-0002qO-FU; Thu, 03 Aug 2023 01:40:58 +0000
Received: by outflank-mailman (input) for mailman id 575928;
 Thu, 03 Aug 2023 01:40:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNKj-0002pl-6H
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 01:40:57 +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 c8cfc42a-319e-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 03:40:54 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 97E4161B71;
 Thu,  3 Aug 2023 01:40:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61382C433C7;
 Thu,  3 Aug 2023 01:40: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: c8cfc42a-319e-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691026853;
	bh=Czl4qfeCMTghZNpoaiNGcIqLh3cNDFfqV69KFZU3Np4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pGXLQ0umjDkCzhAPdSjgnRlBjt8qJiwmf5oB7tAbz7FDXFFFyBOlnxbnU77B/4yz6
	 DCAGDPb2IwqRJW58PYTIhEbrWpMUWqPluQXiC0uqsYJ7/cCz3MgQVwDks4MmTaxzY/
	 8X8JOLVMDJwvZwx9Xhww2FiJMG8bHqEgpTT+tBWGwlhq8gAGEk5KhSBNPFrs1nQJb2
	 LiXw1He8NwmRx2GhzW5XmVNK6WG2riheQpidO0ynPvIyFxReYZgM1EFV4yxQkXSeLx
	 owzy3XgDkdF2+G24vJffLLFrfDAi93IaZfLL21q3e/FIdUVWMc0EhHlIRcsz63SXPh
	 8VRjF/2lLE80Q==
Date: Wed, 2 Aug 2023 18:40:50 -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, xen-devel@dornerworks.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, Nathan Studer <nathan.studer@dornerworks.com>, 
    Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>, 
    roberto.bagnara@bugseng.com, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
In-Reply-To: <3f4c0430-42ce-bb2c-3755-d5f6af8e3b40@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308021840220.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-2-dpsmith@apertussolutions.com> <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop> <3f4c0430-42ce-bb2c-3755-d5f6af8e3b40@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, 2 Aug 2023, Jan Beulich wrote:
> On 02.08.2023 02:24, Stefano Stabellini wrote:
> > On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> >> --- a/xen/include/xen/sched.h
> >> +++ b/xen/include/xen/sched.h
> >> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
> >>  void watchdog_domain_init(struct domain *d);
> >>  void watchdog_domain_destroy(struct domain *d);
> >>  
> >> +static always_inline bool is_initial_domain(const struct domain *d)
> > 
> > I know you used always_inline only because is_hardware_domain just below
> > also uses it, but I wonder if we need it.
> > 
> > Also, Robero, it looks like always_inline is missing from
> > docs/misra/C-language-toolchain.rst? Or do we plan to get rid of it?
> 
> Under "Non-standard tokens" we have both __inline__ and __attribute__
> listed, which I think is enough to cover this specific case as well?

I think we should add always_inline explicitely to
docs/misra/C-language-toolchain.rst to avoid any doubts about it


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:41:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:41:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575935.901504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNLX-0003e5-2j; Thu, 03 Aug 2023 01:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575935.901504; Thu, 03 Aug 2023 01:41:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNLW-0003dy-Vc; Thu, 03 Aug 2023 01:41:46 +0000
Received: by outflank-mailman (input) for mailman id 575935;
 Thu, 03 Aug 2023 01:41: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 1qRNLV-0003di-CU; Thu, 03 Aug 2023 01:41: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 1qRNLV-0006Ff-9x; Thu, 03 Aug 2023 01:41: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 1qRNLU-00006n-QJ; Thu, 03 Aug 2023 01:41:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRNLU-0005Y5-Oz; Thu, 03 Aug 2023 01:41:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zcBrDb/1JD1tQpkMHOjb4SEB1AjHA6uTCSCpAGuFrCk=; b=fCtLN8dS2cBdBF3tasmKU4l8te
	tzrVZZmPFn/DXqnavpYKIfgz7nRYbGoIJAZ6W/gnGULMg/igDU1yIl03n9KpH20qzZiCxBjt+6Zqq
	dFskGBzaBJrUueUVeAXZ7W9XTiqYv8xs1aKxKknqJ/D54QGmwGuK7Zts5xBx0VcjfIXw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182136-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182136: 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=dfc490a3740bb7d6889939934afadcb58891fbce
X-Osstest-Versions-That:
    xen=da55d9dc919752e092e591a74ab54c2f7d5adfab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 01:41:44 +0000

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

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                  dfc490a3740bb7d6889939934afadcb58891fbce
baseline version:
 xen                  da55d9dc919752e092e591a74ab54c2f7d5adfab

Last test of basis   182124  2023-08-02 16:10:28 Z    0 days
Testing same since   182136  2023-08-02 22:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   da55d9dc91..dfc490a374  dfc490a3740bb7d6889939934afadcb58891fbce -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:45:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575944.901513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNPO-0004MT-I5; Thu, 03 Aug 2023 01:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575944.901513; Thu, 03 Aug 2023 01:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNPO-0004MM-FW; Thu, 03 Aug 2023 01:45:46 +0000
Received: by outflank-mailman (input) for mailman id 575944;
 Thu, 03 Aug 2023 01:45: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNPM-0004MG-Ol
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 01:45: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 735bcd55-319f-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 03:45:40 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A1B7C61BAA;
 Thu,  3 Aug 2023 01:45:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6182C433C8;
 Thu,  3 Aug 2023 01:45: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: 735bcd55-319f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691027139;
	bh=nynb/XD0+dwJaz0ovN23T/F0FlHbEyQJRCUDo7kQ6bs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kq7EAPVxXwmCmmPYRn9WTDWc1jNbqvTHfW5SXL4fFE3BTSs3lQUxj6ENQSMaBf37N
	 tQQjQbbFJDG3zCMAM2TuP1cephKlzu5/rutkb6kWqJE5UrtAwhgmFx54LljfU9mXL2
	 ldGisjKT2UOiHeROqgHl8TzEbL4r0YBTGWc4+3c33YqFtNXFNZMbEPlp+hO3K6DQ1+
	 elvBefMqAlpblyhMj4Zcho1dkrDIFeR71Zj3uEO0nKrQRsGbme5qpykFvkOTBiaSDi
	 3QT7g9l9GsdUMSfpqlLIWKLEcfnbuuZ+ytyvLvSmN6mUgNaeuKNCeLRnaJe8+3Q3l2
	 uCFpjfkcGMAQg==
Date: Wed, 2 Aug 2023 18:45:36 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 1/4] x86/mce: address MISRA C:2012 Rule 5.3
In-Reply-To: <52ec7caf08089e3aaaad2bcf709a7d387d55d58f.1690969271.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021844020.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com> <52ec7caf08089e3aaaad2bcf709a7d387d55d58f.1690969271.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> Suitable mechanical renames are made to avoid shadowing, thus
> addressing violations of MISRA C:2012 Rule 5.3:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/cpu/mcheck/barrier.c | 8 ++++----
>  xen/arch/x86/cpu/mcheck/barrier.h | 8 ++++----
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/mcheck/barrier.c b/xen/arch/x86/cpu/mcheck/barrier.c
> index a7e5b19a44..51a1d37a76 100644
> --- a/xen/arch/x86/cpu/mcheck/barrier.c
> +++ b/xen/arch/x86/cpu/mcheck/barrier.c
> @@ -16,11 +16,11 @@ void mce_barrier_dec(struct mce_softirq_barrier *bar)
>      atomic_dec(&bar->val);
>  }
>  
> -void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
> +void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait)

"wait" clashes with xen/common/sched/core.c:wait, which is globally
exported, right?

I think it would be good to add this info to the commit message in this
kind of patches.


>  {
>      int gen;
>  
> -    if ( !wait )
> +    if ( !do_wait )
>          return;
>      atomic_inc(&bar->ingen);
>      gen = atomic_read(&bar->outgen);
> @@ -34,11 +34,11 @@ void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
>      }
>  }
>  
> -void mce_barrier_exit(struct mce_softirq_barrier *bar, bool wait)
> +void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait)
>  {
>      int gen;
>  
> -    if ( !wait )
> +    if ( !do_wait )
>          return;
>      atomic_inc(&bar->outgen);
>      gen = atomic_read(&bar->ingen);
> diff --git a/xen/arch/x86/cpu/mcheck/barrier.h b/xen/arch/x86/cpu/mcheck/barrier.h
> index c4d52b6192..5cd1b4e4bf 100644
> --- a/xen/arch/x86/cpu/mcheck/barrier.h
> +++ b/xen/arch/x86/cpu/mcheck/barrier.h
> @@ -32,14 +32,14 @@ void mce_barrier_init(struct mce_softirq_barrier *);
>  void mce_barrier_dec(struct mce_softirq_barrier *);
>  
>  /*
> - * If @wait is false, mce_barrier_enter/exit() will return immediately
> + * If @do_wait is false, mce_barrier_enter/exit() will return immediately
>   * without touching the barrier. It's used when handling a
>   * non-broadcasting MCE (e.g. MCE on some old Intel CPU, MCE on AMD
>   * CPU and LMCE on Intel Skylake-server CPU) which is received on only
>   * one CPU and thus does not invoke mce_barrier_enter/exit() calls on
>   * all CPUs.
>   *
> - * If @wait is true, mce_barrier_enter/exit() will handle the given
> + * If @do_wait is true, mce_barrier_enter/exit() will handle the given
>   * barrier as below.
>   *
>   * Increment the generation number and the value. The generation number
> @@ -53,8 +53,8 @@ void mce_barrier_dec(struct mce_softirq_barrier *);
>   * These barrier functions should always be paired, so that the
>   * counter value will reach 0 again after all CPUs have exited.
>   */
> -void mce_barrier_enter(struct mce_softirq_barrier *, bool wait);
> -void mce_barrier_exit(struct mce_softirq_barrier *, bool wait);
> +void mce_barrier_enter(struct mce_softirq_barrier *, bool do_wait);
> +void mce_barrier_exit(struct mce_softirq_barrier *, bool do_wait);

You might as well add "bar" as first parameter?


>  void mce_barrier(struct mce_softirq_barrier *);
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 01:52:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 01:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575949.901526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNVR-0005pi-8M; Thu, 03 Aug 2023 01:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575949.901526; Thu, 03 Aug 2023 01: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 1qRNVR-0005pb-5C; Thu, 03 Aug 2023 01:52:01 +0000
Received: by outflank-mailman (input) for mailman id 575949;
 Thu, 03 Aug 2023 01:52:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNVQ-0005pV-6I
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 01:52:00 +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 53d8b120-31a0-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 03:51:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id ED2C561AC0;
 Thu,  3 Aug 2023 01:51:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1C68C433C8;
 Thu,  3 Aug 2023 01:51:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53d8b120-31a0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691027515;
	bh=2IK/EQDswiEIawo9ypafj9tfC/m/hF62pOzQJce9/nk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LrukKmL/FZdc6411n7wCcaTyIjFhyWisK5MxWve2jYk2kTCHglqmja/5FjUmM5+uV
	 KAL4qYGNE529pIP9BO4O+5/t4vm9unFzNbXlL+Xufkq7gYGSvdgHI+Y3QmfrjNbJRS
	 X/XLlfVAehLIvk0XIDRT9idlnlv08be3AfMRrDbNxhos9T28G6V2hQuXFrb1xRVOZ9
	 i4ENV1vNiJl8G2g7uyx++TJsza3yj2XbL21SB4bVWiSpkgsed+KgFfRgrp62P7fODL
	 OymgrsqXS94uywvKYg0iOQZ91+hn+1fGxXBtl1dt1iZqD4y1b/k256nBNCyO4bXQ53
	 1f0EWk541pVqw==
Date: Wed, 2 Aug 2023 18:51:52 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
In-Reply-To: <16fa23ecb465442c566a18af0a569092075eef26.1690969271.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021847190.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com> <16fa23ecb465442c566a18af0a569092075eef26.1690969271.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> Rename variables to avoid shadowing and thus address
> MISRA C:2012 Rule 5.3:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

This one clashes with xen/arch/x86/include/asm/mtrr.h:struct mtrr_state
right?


> ---
>  xen/arch/x86/hvm/mtrr.c | 32 ++++++++++++++++----------------
>  1 file changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
> index 29f3fb1607..d504d1e43b 100644
> --- a/xen/arch/x86/hvm/mtrr.c
> +++ b/xen/arch/x86/hvm/mtrr.c
> @@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
>  
>  static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
>  {
> -    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
> +    const struct mtrr_state *mtrr = &v->arch.hvm.mtrr;

I can see in hvm_vcpu_cacheattr_init, mtrr_get_type and other places
that we use:

  const struct mtrr_state *m

maybe that's better? I'll let Jan comment.

Anyway, the patch looks correct to me.



>      struct hvm_hw_mtrr hw_mtrr = {
> -        .msr_mtrr_def_type = mtrr_state->def_type |
> -                             MASK_INSR(mtrr_state->fixed_enabled,
> +        .msr_mtrr_def_type = mtrr->def_type |
> +                             MASK_INSR(mtrr->fixed_enabled,
>                                         MTRRdefType_FE) |
> -                            MASK_INSR(mtrr_state->enabled, MTRRdefType_E),
> -        .msr_mtrr_cap      = mtrr_state->mtrr_cap,
> +                            MASK_INSR(mtrr->enabled, MTRRdefType_E),
> +        .msr_mtrr_cap      = mtrr->mtrr_cap,
>      };
>      unsigned int i;
>  
> @@ -710,14 +710,14 @@ static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
>  
>      for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
>      {
> -        hw_mtrr.msr_mtrr_var[i * 2] = mtrr_state->var_ranges->base;
> -        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr_state->var_ranges->mask;
> +        hw_mtrr.msr_mtrr_var[i * 2] = mtrr->var_ranges->base;
> +        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr->var_ranges->mask;
>      }
>  
>      BUILD_BUG_ON(sizeof(hw_mtrr.msr_mtrr_fixed) !=
> -                 sizeof(mtrr_state->fixed_ranges));
> +                 sizeof(mtrr->fixed_ranges));
>  
> -    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr_state->fixed_ranges,
> +    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr->fixed_ranges,
>             sizeof(hw_mtrr.msr_mtrr_fixed));
>  
>      return hvm_save_entry(MTRR, v->vcpu_id, h, &hw_mtrr);
> @@ -727,7 +727,7 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
>  {
>      unsigned int vcpuid, i;
>      struct vcpu *v;
> -    struct mtrr_state *mtrr_state;
> +    struct mtrr_state *mtrr;
>      struct hvm_hw_mtrr hw_mtrr;
>  
>      vcpuid = hvm_load_instance(h);
> @@ -749,26 +749,26 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
>          return -EINVAL;
>      }
>  
> -    mtrr_state = &v->arch.hvm.mtrr;
> +    mtrr = &v->arch.hvm.mtrr;
>  
>      hvm_set_guest_pat(v, hw_mtrr.msr_pat_cr);
>  
> -    mtrr_state->mtrr_cap = hw_mtrr.msr_mtrr_cap;
> +    mtrr->mtrr_cap = hw_mtrr.msr_mtrr_cap;
>  
>      for ( i = 0; i < NUM_FIXED_MSR; i++ )
> -        mtrr_fix_range_msr_set(d, mtrr_state, i, hw_mtrr.msr_mtrr_fixed[i]);
> +        mtrr_fix_range_msr_set(d, mtrr, i, hw_mtrr.msr_mtrr_fixed[i]);
>  
>      for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
>      {
> -        mtrr_var_range_msr_set(d, mtrr_state,
> +        mtrr_var_range_msr_set(d, mtrr,
>                                 MSR_IA32_MTRR_PHYSBASE(i),
>                                 hw_mtrr.msr_mtrr_var[i * 2]);
> -        mtrr_var_range_msr_set(d, mtrr_state,
> +        mtrr_var_range_msr_set(d, mtrr,
>                                 MSR_IA32_MTRR_PHYSMASK(i),
>                                 hw_mtrr.msr_mtrr_var[i * 2 + 1]);
>      }
>  
> -    mtrr_def_type_msr_set(d, mtrr_state, hw_mtrr.msr_mtrr_def_type);
> +    mtrr_def_type_msr_set(d, mtrr, hw_mtrr.msr_mtrr_def_type);
>  
>      return 0;
>  }
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:00:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575954.901540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNdS-0007pt-36; Thu, 03 Aug 2023 02:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575954.901540; Thu, 03 Aug 2023 02: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 1qRNdS-0007pl-02; Thu, 03 Aug 2023 02:00:18 +0000
Received: by outflank-mailman (input) for mailman id 575954;
 Thu, 03 Aug 2023 02:00:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNdR-0007pf-8V
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:00:17 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c72e0fa-31a1-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 04:00:15 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D841A61069;
 Thu,  3 Aug 2023 02:00:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1A47C433C8;
 Thu,  3 Aug 2023 02:00:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c72e0fa-31a1-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691028013;
	bh=8V7IIqQLl9s20Gt2MiDLHn34a5YPUaUtQhF0fee8D7U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FaqR3DxxRTSiU7rMxUnBDTpcteqIBBtJUuqDFGWdBng7tvHbYxfgo20/4fVT0RJJT
	 JP0zigJtuIYio6DzJLGIGv0Fq56eZRxxJYCLRU4SXOWTNWzAq6rjFsQ5VwPb+0vVAc
	 Xr365xYx17Cx+K6ur3KNdqCWvUdnvNA2WNDpBEpFeMoIT0AoLVJpa3MS/oNeI3hQT2
	 BBNUWqizuw53Y5/ayKBsw9xPIxCVwpbsiiOJ+7pa1lphOUqrkNBbjKB6Gl2NNvhgxO
	 VM74NO23b+7P3amP3EIrLxfU1wrWTHrE9T/+ft7erJD4acj4TGZig1yphFuOlvVYB9
	 0/h087a+qUuuQ==
Date: Wed, 2 Aug 2023 19:00:10 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH 3/4] x86/irq: rename variable to address MISRA C:2012
 Rule 5.3
In-Reply-To: <af52de5af977362330680707e0acf890e3cb0995.1690969271.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021900030.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com> <af52de5af977362330680707e0acf890e3cb0995.1690969271.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
> local variables in the changed file. To avoid this, the variable is
> renamed to 'irq_description'.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  xen/arch/x86/hvm/hvm.c         |  2 +-
>  xen/arch/x86/include/asm/irq.h |  2 +-
>  xen/arch/x86/io_apic.c         | 10 +++++-----
>  xen/arch/x86/irq.c             | 12 ++++++------
>  xen/arch/x86/msi.c             |  4 ++--
>  xen/include/xen/irq.h          |  2 +-
>  6 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 2180abeb33..ca5bb96388 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -474,7 +474,7 @@ void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v)
>  
>          if ( !desc )
>              return;
> -        ASSERT(MSI_IRQ(desc - irq_desc));
> +        ASSERT(MSI_IRQ(desc - irq_descriptor));
>          irq_set_affinity(desc, cpumask_of(v->processor));
>          spin_unlock_irq(&desc->lock);
>      }
> diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
> index ad907fc97f..f6df977170 100644
> --- a/xen/arch/x86/include/asm/irq.h
> +++ b/xen/arch/x86/include/asm/irq.h
> @@ -172,7 +172,7 @@ int assign_irq_vector(int irq, const cpumask_t *mask);
>  
>  void cf_check irq_complete_move(struct irq_desc *desc);
>  
> -extern struct irq_desc *irq_desc;
> +extern struct irq_desc *irq_descriptor;
>  
>  void lock_vector_lock(void);
>  void unlock_vector_lock(void);
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index b3afef8933..b59d6cfb9e 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -990,9 +990,9 @@ static inline void ioapic_register_intr(int irq, unsigned long trigger)
>  {
>      if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
>          trigger == IOAPIC_LEVEL)
> -        irq_desc[irq].handler = &ioapic_level_type;
> +        irq_descriptor[irq].handler = &ioapic_level_type;
>      else
> -        irq_desc[irq].handler = &ioapic_edge_type;
> +        irq_descriptor[irq].handler = &ioapic_edge_type;
>  }
>  
>  static void __init setup_IO_APIC_irqs(void)
> @@ -1098,7 +1098,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
>       * The timer IRQ doesn't have to know that behind the
>       * scene we have a 8259A-master in AEOI mode ...
>       */
> -    irq_desc[0].handler = &ioapic_edge_type;
> +    irq_descriptor[0].handler = &ioapic_edge_type;
>  
>      /*
>       * Add it to the IO-APIC irq-routing table:
> @@ -1912,7 +1912,7 @@ static void __init check_timer(void)
>      if ((ret = bind_irq_vector(0, vector, &cpumask_all)))
>          printk(KERN_ERR"..IRQ0 is not set correctly with ioapic!!!, err:%d\n", ret);
>      
> -    irq_desc[0].status &= ~IRQ_DISABLED;
> +    irq_descriptor[0].status &= ~IRQ_DISABLED;
>  
>      /*
>       * Subtle, code in do_timer_interrupt() expects an AEOI
> @@ -2009,7 +2009,7 @@ static void __init check_timer(void)
>      printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
>  
>      disable_8259A_irq(irq_to_desc(0));
> -    irq_desc[0].handler = &lapic_irq_type;
> +    irq_descriptor[0].handler = &lapic_irq_type;
>      apic_write(APIC_LVT0, APIC_DM_FIXED | vector);	/* Fixed mode */
>      enable_8259A_irq(irq_to_desc(0));
>  
> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
> index 6abfd81621..ed95896bce 100644
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -45,7 +45,7 @@ integer_param("irq-max-guests", irq_max_guests);
>  
>  vmask_t global_used_vector_map;
>  
> -struct irq_desc __read_mostly *irq_desc = NULL;
> +struct irq_desc __read_mostly *irq_descriptor = NULL;
>  
>  static DECLARE_BITMAP(used_vectors, X86_NR_VECTORS);
>  
> @@ -424,9 +424,9 @@ int __init init_irq_data(void)
>      for ( vector = 0; vector < X86_NR_VECTORS; ++vector )
>          this_cpu(vector_irq)[vector] = INT_MIN;
>  
> -    irq_desc = xzalloc_array(struct irq_desc, nr_irqs);
> -    
> -    if ( !irq_desc )
> +    irq_descriptor = xzalloc_array(struct irq_desc, nr_irqs);
> +
> +    if ( !irq_descriptor )
>          return -ENOMEM;
>  
>      for ( irq = 0; irq < nr_irqs_gsi; irq++ )
> @@ -1133,7 +1133,7 @@ static void cf_check set_eoi_ready(void *data);
>  static void cf_check irq_guest_eoi_timer_fn(void *data)
>  {
>      struct irq_desc *desc = data;
> -    unsigned int i, irq = desc - irq_desc;
> +    unsigned int i, irq = desc - irq_descriptor;
>      irq_guest_action_t *action;
>  
>      spin_lock_irq(&desc->lock);
> @@ -1382,7 +1382,7 @@ static void __set_eoi_ready(const struct irq_desc *desc)
>      struct pending_eoi *peoi = this_cpu(pending_eoi);
>      int                 irq, sp;
>  
> -    irq = desc - irq_desc;
> +    irq = desc - irq_descriptor;
>  
>      if ( !action || action->in_flight ||
>           !cpumask_test_and_clear_cpu(smp_processor_id(),
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index d0bf63df1d..35d417c63a 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -1322,7 +1322,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
>          unsigned int i = 0, nr = 1;
>  
>          irq = entry->irq;
> -        desc = &irq_desc[irq];
> +        desc = &irq_descriptor[irq];
>  
>          spin_lock_irqsave(&desc->lock, flags);
>  
> @@ -1377,7 +1377,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
>                  break;
>  
>              spin_unlock_irqrestore(&desc->lock, flags);
> -            desc = &irq_desc[entry[++i].irq];
> +            desc = &irq_descriptor[entry[++i].irq];
>              spin_lock_irqsave(&desc->lock, flags);
>              if ( desc->msi_desc != entry + i )
>                  goto bogus;
> diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
> index 9747e818f7..56a3aa6a29 100644
> --- a/xen/include/xen/irq.h
> +++ b/xen/include/xen/irq.h
> @@ -107,7 +107,7 @@ typedef struct irq_desc {
>  } __cacheline_aligned irq_desc_t;
>  
>  #ifndef irq_to_desc
> -#define irq_to_desc(irq)    (&irq_desc[irq])
> +#define irq_to_desc(irq)    (&irq_descriptor[irq])
>  #endif
>  
>  int init_one_irq_desc(struct irq_desc *desc);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:05:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:05:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575958.901549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNiW-0008SB-L8; Thu, 03 Aug 2023 02:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575958.901549; Thu, 03 Aug 2023 02:05: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 1qRNiW-0008S4-IS; Thu, 03 Aug 2023 02:05:32 +0000
Received: by outflank-mailman (input) for mailman id 575958;
 Thu, 03 Aug 2023 02:05:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNiV-0008Rv-JR
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:05:31 +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 382cbd67-31a2-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 04:05:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A519761BA2;
 Thu,  3 Aug 2023 02:05:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A19BBC433C8;
 Thu,  3 Aug 2023 02:05: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: 382cbd67-31a2-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691028328;
	bh=GBnPtI8PPafHynrWGs1h9p7I5P+S0S74fgmbouf7Akk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jTNIGRUA/7SA20mvd8KIEbzOu3R1smFpiTq8qMzyZRFWE8rxcrIZag5lATckdbtcb
	 AA+HditFPJJwZFYJtXfH3jltqYUNLH1ntaWc4fZtjznuZ9/xJh9V9XDLdWGyLICBj4
	 Kmz8s0TnGSXkNZywiZJSu092QXsLhu0BTf6cFQwP9XmmiGsJv7gqbnrIKPifmvuVl0
	 DT4uZm0GrumkjLdt77DKEEMjpU8J4hQoy2Uiox9TeIhrzIWOgMNxcIy1wDemHZ+/xA
	 jYoIxlg4OxehOGhq5DVqhhYL92NguEKXYKntKsYSy+TSqVnGHUs0IfO63MMiKPFMX0
	 jr/qy3aykPd6A==
Date: Wed, 2 Aug 2023 19:05:25 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 4/4] x86/setup: address MISRA C:2012 Rule 5.3
In-Reply-To: <807b238780c3e2dfce785c6bb173099a4bd38e4b.1690969271.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021904160.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com> <807b238780c3e2dfce785c6bb173099a4bd38e4b.1690969271.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> The parameters renamed in the function declaration caused shadowing
> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
> them also addresses Rule 8.3:
> "All declarations of an object or function shall use the same names
> and type qualifiers".
> 
> The local variable 'mask' is removed because it shadows the homonymous
> variable defined in an outer scope, with no change to the semantics.
> It was introduced by commit 5a771800114c437fb857b44b3ed74f60e87979c2
> as a refactoring of the branch that handles 'CONFIG_X86_64' for function
> '__start_xen'.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  xen/arch/x86/include/asm/setup.h | 2 +-
>  xen/arch/x86/setup.c             | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
> index 51fce66607..b0e6a39e23 100644
> --- a/xen/arch/x86/include/asm/setup.h
> +++ b/xen/arch/x86/include/asm/setup.h
> @@ -33,7 +33,7 @@ static inline void vesa_init(void) {};
>  
>  int construct_dom0(
>      struct domain *d,
> -    const module_t *kernel, unsigned long kernel_headroom,
> +    const module_t *image, unsigned long image_headroom,
>      module_t *initrd,
>      const char *cmdline);
>  void setup_io_bitmap(struct domain *d);
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 2dbe9857aa..80ae973d64 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          s = map_s;
>          if ( s < map_e )
>          {
> -            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
> -
> +            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
>              map_s = (s + mask) & ~mask;
>              map_e &= ~mask;
>              init_boot_pages(map_s, map_e);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:08:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:08:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575964.901563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNlT-0000gc-8Q; Thu, 03 Aug 2023 02:08:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575964.901563; Thu, 03 Aug 2023 02:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNlT-0000gV-4g; Thu, 03 Aug 2023 02:08:35 +0000
Received: by outflank-mailman (input) for mailman id 575964;
 Thu, 03 Aug 2023 02:08: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNlR-0000gL-L5
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:08:33 +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 a3fa6c0f-31a2-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 04:08:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B748F61A55;
 Thu,  3 Aug 2023 02:08:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B4B98C433C8;
 Thu,  3 Aug 2023 02:08: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: a3fa6c0f-31a2-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691028509;
	bh=aA4v9h6t6gO/CizV6u27fPJ0WGPVWaL/wPZimXZ9TTk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AZ5jQHaSAx8zb39wSfyXbgqcZx/tMUjunnIR7lpJoLCByPab88TkYaVbZpREGYpTD
	 nnufxQ6hIVQoNZjNEzuHlZTes+9G5ydPwH7Ik7ly/ax+7AXM6Gc3Paglo5b8U9i9hc
	 G6PAaAiIyiO7mBgGHGdSBbRUn/BeE3chFOEgmWCb5AFbdAxsUmpc/4RMa1xPaLTUBD
	 TXkS7jrXJ+9yCHoJtKfOS2xOqDwmOW4RyNGbpBshpU9wxTCVqunJPTxgeeihfCCE0d
	 odTZvybce7JkxMHnxiemGWsnrR2znRU6ndpbA8mOiPHuJzWu54Qy3ZcnAvXgntRS5J
	 S/XNi6SyGAVkg==
Date: Wed, 2 Aug 2023 19:08: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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 01/11] x86/efi: move variable declaration to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <aa72e3371fa4ab4806cd866c569718d766d3142e.1690985045.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021906530.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <aa72e3371fa4ab4806cd866c569718d766d3142e.1690985045.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> The variable declaration is moved where it's actually used, rather
> than being declared in the switch before any clause, thus being
> classified as unreachable code.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/efi/efi-boot.h | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index 92f4cfe8bd..b00441b1a2 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -390,8 +390,6 @@ static void __init efi_arch_edd(void)
>          {
>              switch ( DevicePathType(devp.DevPath) )
>              {
> -                const u8 *p;
> -
>              case ACPI_DEVICE_PATH:
>                  if ( state != root || boot_edd_info_nr > EDD_INFO_MAX )
>                      break;
> @@ -463,7 +461,8 @@ static void __init efi_arch_edd(void)
>                  params->device_path_info_length =
>                      sizeof(struct edd_device_params) -
>                      offsetof(struct edd_device_params, key);
> -                for ( p = (const u8 *)&params->key; p < &params->checksum; ++p )
> +                for ( const u8 *p = (const u8 *)&params->key;
> +                      p < &params->checksum; ++p )

In Xen we don't mix declaration and code. So the following is not
something we use:

  for (int i = 0; i < 10; i++)

I think you'd have to introduce another block under case
MESSAGING_DEVICE_PATH so that you can moved const u8 *p there


>                      params->checksum -= *p;
>                  break;
>              case MEDIA_DEVICE_PATH:
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:13:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575969.901575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNqH-00028Q-Q0; Thu, 03 Aug 2023 02:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575969.901575; Thu, 03 Aug 2023 02: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 1qRNqH-00028J-NP; Thu, 03 Aug 2023 02:13:33 +0000
Received: by outflank-mailman (input) for mailman id 575969;
 Thu, 03 Aug 2023 02:13:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNqG-00028D-Vv
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:13:32 +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 570b0f5c-31a3-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 04:13:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BF50761069;
 Thu,  3 Aug 2023 02:13:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0AF7C433C8;
 Thu,  3 Aug 2023 02: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: 570b0f5c-31a3-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691028809;
	bh=mHiAOK+yWX5612sP3VmpYF6Q8GiD9sWY3VWtK0hgF7w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=skQgGv7XFoePf6wxt5S7WJikW/sEbGi3/IxuB4l4IhuLmjR2qtJBBT8FSAJ6Ny6sl
	 fLJ+x5Vm9Tsa6QGrlpT1+ujh3ukKGhia1TfLcsW57ZnLDQ5qdPe1jYMM70JMPuaY12
	 +i5LQd46uT9eyfVZxW4BZC5nnt27UPoKRUhQ5FCXLRSTfEfVt2sN5NGz6uJxy3TB/a
	 KWHVZY6RoEhiQ7cz4OzixlkE4XdMbJ0+pIMMgJxMhZ5fFTk1dhtXCZJrUJkKF9qDcm
	 yjhRZI4At9C5h7dG2XTKm2Stj5L8QRf8khzzIlSSe3eS27HxCJLdWj57BvIAyckcKZ
	 uCTqJYZy3+WDg==
Date: Wed, 2 Aug 2023 19: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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> Variable declarations between a switch statement guard and before
> any case label are unreachable code, and hence violate Rule 2.1:
> "A project shall not contain unreachable code".
> 
> Therefore the declarations are moved in the smallest enclosing
> scope, near other variable definitions.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/cpuid.c  |  3 +--
>  xen/arch/x86/domain.c | 23 +++++++++++------------
>  xen/arch/x86/irq.c    |  3 +--
>  xen/arch/x86/msr.c    |  3 +--
>  4 files changed, 14 insertions(+), 18 deletions(-)
> 
> diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
> index 455a09b2dd..90e1370e90 100644
> --- a/xen/arch/x86/cpuid.c
> +++ b/xen/arch/x86/cpuid.c
> @@ -37,6 +37,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
>  {
>      const struct domain *d = v->domain;
>      const struct cpu_policy *p = d->arch.cpu_policy;
> +    const struct cpu_user_regs *regs;
>  
>      *res = EMPTY_LEAF;
>  
> @@ -136,8 +137,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
>       */
>      switch ( leaf )
>      {
> -        const struct cpu_user_regs *regs;
> -
>      case 0x1:
>          /* TODO: Rework topology logic. */
>          res->b &= 0x00ffffffu;
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 5f66c2ae33..015f7b14ab 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -2268,6 +2268,17 @@ int domain_relinquish_resources(struct domain *d)
>  {
>      int ret;
>      struct vcpu *v;
> +    enum {
> +        PROG_iommu_pagetables = 1,
> +        PROG_shared,
> +        PROG_paging,
> +        PROG_vcpu_pagetables,
> +        PROG_xen,
> +        PROG_l4,
> +        PROG_l3,
> +        PROG_l2,
> +        PROG_done,
> +    };
>  
>      BUG_ON(!cpumask_empty(d->dirty_cpumask));
>  
> @@ -2291,18 +2302,6 @@ int domain_relinquish_resources(struct domain *d)
>  #define PROGRESS(x)                                                     \
>          d->arch.rel_priv = PROG_ ## x; /* Fallthrough */ case PROG_ ## x
>  
> -        enum {
> -            PROG_iommu_pagetables = 1,
> -            PROG_shared,
> -            PROG_paging,
> -            PROG_vcpu_pagetables,
> -            PROG_xen,
> -            PROG_l4,
> -            PROG_l3,
> -            PROG_l2,
> -            PROG_done,
> -        };
> -
>      case 0:
>          ret = pci_release_devices(d);
>          if ( ret )
> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
> index 6abfd81621..4fd0cc163d 100644
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -1135,6 +1135,7 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>      struct irq_desc *desc = data;
>      unsigned int i, irq = desc - irq_desc;
>      irq_guest_action_t *action;
> +    cpumask_t *cpu_eoi_map;
>  
>      spin_lock_irq(&desc->lock);
>      
> @@ -1169,8 +1170,6 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>  
>      switch ( action->ack_type )
>      {
> -        cpumask_t *cpu_eoi_map;

It is only used by case ACKTYPE_EOI so it can be moved there (with a new
block):


    case ACKTYPE_EOI:
    {
        cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
        cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
        spin_unlock_irq(&desc->lock);
        on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
        return;
    }
    }


>      case ACKTYPE_UNMASK:
>          if ( desc->handler->end )
>              desc->handler->end(desc, 0);
> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> index ecf126566d..0e61e0fe4e 100644
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -335,11 +335,10 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
>      const struct cpu_policy *cp = d->arch.cpu_policy;
>      struct vcpu_msrs *msrs = v->arch.msrs;
>      int ret = X86EMUL_OKAY;
> +    uint64_t rsvd;
>  
>      switch ( msr )
>      {
> -        uint64_t rsvd;
> -

It is only used by case MSR_INTEL_MISC_FEATURES_ENABLES so it can be
moved there


>          /* Read-only */
>      case MSR_IA32_PLATFORM_ID:
>      case MSR_CORE_CAPABILITIES:
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:14:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:14:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575970.901586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRNr4-0002dp-36; Thu, 03 Aug 2023 02:14:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575970.901586; Thu, 03 Aug 2023 02: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 1qRNr4-0002di-0F; Thu, 03 Aug 2023 02:14:22 +0000
Received: by outflank-mailman (input) for mailman id 575970;
 Thu, 03 Aug 2023 02:14: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRNr3-0002da-Dv
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:14: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 73737b75-31a3-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 04:14:19 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CD1B261069;
 Thu,  3 Aug 2023 02:14:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7C8FC433C8;
 Thu,  3 Aug 2023 02:14:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73737b75-31a3-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691028857;
	bh=fv9ZSf3cy7anxtXJVausBOb/A4E4rO2D1oyZ7XzEenE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kwIWMVPAS9kfIQrlvQ74ZE53SON1HeViR3CFAQw5UmZUyCmsIQjSs9mUeQpzosbRu
	 rkTh9SM4VLtziDAKiamADCawGOhMlXbEcohAtJLqzQTE6RsuBfIz7N2BG80VBl6Oct
	 Ph7f/OKcqiD3AYUzugbaxNBmUPtUTP6K0evBpxmkJJSUk5kYTaz+xEmzN7GTOtPLEH
	 d6otn27i61FOLFrqE5r3AJ7KAu6hgBOhpljarACWwtG/uO0ZFvKbfM1Gm+XpO/6S2t
	 ihk0akY+lIsTbGeLjCQNkBX5Vq70VLkEmQeGP/KInIw/34i5AS30aLVplAe+IzANIO
	 95glttTXFR7tw==
Date: Wed, 2 Aug 2023 19:14:14 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 03/11] x86/uaccess: move declarations to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <6d5e4f307b360393e29641d727ef78b697643f47.1690985045.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021914000.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <6d5e4f307b360393e29641d727ef78b697643f47.1690985045.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> The variable declarations inside macros {put,get}_unsafe_size are
> considered unreachable code, as they appear in a switch statement, before
> any clause. They are moved in the enclosing scope to resolve the violation.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  xen/arch/x86/include/asm/uaccess.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
> index 684fccd95c..a2aaab1e87 100644
> --- a/xen/arch/x86/include/asm/uaccess.h
> +++ b/xen/arch/x86/include/asm/uaccess.h
> @@ -191,11 +191,12 @@ struct __large_struct { unsigned long buf[100]; };
>  
>  #define put_unsafe_size(x, ptr, size, grd, retval, errret)                 \
>  do {                                                                       \
> +    long dummy_;                                                           \
> +                                                                           \
>      retval = 0;                                                            \
>      stac();                                                                \
>      switch ( size )                                                        \
>      {                                                                      \
> -    long dummy_;                                                           \
>      case 1:                                                                \
>          put_unsafe_asm(x, ptr, grd, retval, "b", "b", "iq", errret);       \
>          break;                                                             \
> @@ -218,11 +219,12 @@ do {                                                                       \
>  
>  #define get_unsafe_size(x, ptr, size, grd, retval, errret)                 \
>  do {                                                                       \
> +    long dummy_;                                                           \
> +                                                                           \
>      retval = 0;                                                            \
>      stac();                                                                \
>      switch ( size )                                                        \
>      {                                                                      \
> -    long dummy_;                                                           \
>      case 1: get_unsafe_asm(x, ptr, grd, retval, "b", "=q", errret); break; \
>      case 2: get_unsafe_asm(x, ptr, grd, retval, "w", "=r", errret); break; \
>      case 4: get_unsafe_asm(x, ptr, grd, retval, "k", "=r", errret); break; \
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:33:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575979.901601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRO9N-0005DL-LR; Thu, 03 Aug 2023 02:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575979.901601; Thu, 03 Aug 2023 02:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRO9N-0005DE-Ip; Thu, 03 Aug 2023 02:33:17 +0000
Received: by outflank-mailman (input) for mailman id 575979;
 Thu, 03 Aug 2023 02:33:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRO9M-0005D8-8r
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:33:16 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18582948-31a6-11ee-b267-6b7b168915f2;
 Thu, 03 Aug 2023 04:33:14 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 20E6261BB0;
 Thu,  3 Aug 2023 02:33:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04C69C433C8;
 Thu,  3 Aug 2023 02:33:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18582948-31a6-11ee-b267-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691029992;
	bh=J4i76pf8BZVyTZBwFcrYkyQx+BbOr+RRV7ik23DZfVs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=h0hnAjYLRQFjlJpj2Z3bh7pzWKjRYq/w56ObbTBqcvV3HaTRQRbqcMntYAWk/dBnU
	 bhtu9rEUJwAvuznero1Y//7cz8z22ls/IvjUlheox9WiVLjT6mlqV9Jbh3lFobNyTK
	 nE0AN6yfdqU7Z4+1a6b3AFCGNy0p3ObsBP0TW50+ZLrXUhXZX2kaYdL3QiizVBUZvi
	 bcfUniy7Nk++gOTjGLYfm1006vnYcJGTzR0IvJHXG/zzYrX9QKaosdBY8dXkVGUUEF
	 LTEMQCrYGcMJk0enITywcfZtWXIe4Fkjd+1p4Kcx3ykpIkyXCe8RtF9LtBOGWdlOOU
	 qnp5Ir9iTf25w==
Date: Wed, 2 Aug 2023 19:33:09 -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, Paul Durrant <paul@xen.org>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 04/11] x86emul: move variable definitions to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <e958e4831a5363efe2a3902171fe5d7a37908e69.1690985045.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021915020.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <e958e4831a5363efe2a3902171fe5d7a37908e69.1690985045.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> Variable declarations between a switch statement guard and before
> any case label are unreachable code, and hence violate Rule 2.1:
> "A project shall not contain unreachable code".
> 
> Therefore the variable declarations are moved in the only clause
> scope that uses it.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/hvm/emulate.c             |  9 ++++-----
>  xen/arch/x86/hvm/hvm.c                 | 10 ++++------
>  xen/arch/x86/x86_emulate/0f01.c        |  7 +++----
>  xen/arch/x86/x86_emulate/blk.c         | 17 ++++++++---------
>  xen/arch/x86/x86_emulate/decode.c      |  3 ++-
>  xen/arch/x86/x86_emulate/fpu.c         |  3 +--
>  xen/arch/x86/x86_emulate/util-xen.c    |  4 ++--
>  xen/arch/x86/x86_emulate/x86_emulate.c | 14 +++++++-------
>  8 files changed, 31 insertions(+), 36 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> index 75ee98a73b..2261e8655b 100644
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -1994,6 +1994,7 @@ static int cf_check hvmemul_rep_stos(
>      bool_t df = !!(ctxt->regs->eflags & X86_EFLAGS_DF);
>      int rc = hvmemul_virtual_to_linear(seg, offset, bytes_per_rep, reps,
>                                         hvm_access_write, hvmemul_ctxt, &addr);
> +    char *buf;
>  
>      if ( rc != X86EMUL_OKAY )
>          return rc;
> @@ -2025,7 +2026,6 @@ static int cf_check hvmemul_rep_stos(
>      switch ( p2mt )
>      {
>          unsigned long bytes;
> -        char *buf;

why can "bytes" where it is?
Bith buf and bytes could be declared under "default" with a new block


>      default:
>          /* Allocate temporary buffer. */
> @@ -2289,16 +2289,15 @@ static int cf_check hvmemul_cache_op(
>      struct hvm_emulate_ctxt *hvmemul_ctxt =
>          container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
>      uint32_t pfec = PFEC_page_present;
> +    unsigned long addr;
> +    int rc;
> +    void *mapping;
>  
>      if ( !cache_flush_permitted(current->domain) )
>          return X86EMUL_OKAY;
>  
>      switch ( op )
>      {
> -        unsigned long addr;
> -        int rc;
> -        void *mapping;

These three could be...


>      case x86emul_clflush:
>      case x86emul_clflushopt:
>      case x86emul_clwb:

... here in a new block



> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 2180abeb33..4170343b34 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -1494,10 +1494,10 @@ static int cf_check hvm_load_cpu_msrs(struct domain *d, hvm_domain_context_t *h)
>  
>      for ( i = 0; i < ctxt->count; ++i )
>      {
> +        int rc;
> +
>          switch ( ctxt->msr[i].index )
>          {
> -            int rc;
> -
>          case MSR_SPEC_CTRL:
>          case MSR_INTEL_MISC_FEATURES_ENABLES:
>          case MSR_PKRS:
> @@ -3522,6 +3522,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>      struct domain *d = v->domain;
>      uint64_t *var_range_base, *fixed_range_base;
>      int ret;
> +    unsigned int index;
>  
>      var_range_base = (uint64_t *)v->arch.hvm.mtrr.var_ranges;
>      fixed_range_base = (uint64_t *)v->arch.hvm.mtrr.fixed_ranges;
> @@ -3533,8 +3534,6 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>  
>      switch ( msr )
>      {
> -        unsigned int index;
> -
>      case MSR_EFER:
>          *msr_content = v->arch.hvm.guest_efer;
>          break;
> @@ -3636,6 +3635,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
>      struct vcpu *v = current;
>      struct domain *d = v->domain;
>      int ret;
> +    unsigned int index;
>  
>      HVMTRACE_3D(MSR_WRITE, msr,
>                 (uint32_t)msr_content, (uint32_t)(msr_content >> 32));
> @@ -3668,8 +3668,6 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
>  
>      switch ( msr )
>      {
> -        unsigned int index;
> -
>      case MSR_EFER:
>          if ( hvm_set_efer(msr_content) )
>             return X86EMUL_EXCEPTION;
> diff --git a/xen/arch/x86/x86_emulate/0f01.c b/xen/arch/x86/x86_emulate/0f01.c
> index ba43fc394b..22a14b12c3 100644
> --- a/xen/arch/x86/x86_emulate/0f01.c
> +++ b/xen/arch/x86/x86_emulate/0f01.c
> @@ -24,13 +24,12 @@ int x86emul_0f01(struct x86_emulate_state *s,
>  {
>      enum x86_segment seg = (s->modrm_reg & 1) ? x86_seg_idtr : x86_seg_gdtr;
>      int rc;
> +    unsigned long base, limit, cr0, cr0w, cr4;
> +    struct segment_register sreg;
> +    uint64_t msr_val;

base and limit can go under case 0xfc

cr0 and cr0w can go under case GRP7_ALL(6)




>      switch ( s->modrm )
>      {
> -        unsigned long base, limit, cr0, cr0w, cr4;
> -        struct segment_register sreg;
> -        uint64_t msr_val;
> -
>      case 0xc6:
>          switch ( s->vex.pfx )
>          {
> diff --git a/xen/arch/x86/x86_emulate/blk.c b/xen/arch/x86/x86_emulate/blk.c
> index e790f4f900..f2956c0d52 100644
> --- a/xen/arch/x86/x86_emulate/blk.c
> +++ b/xen/arch/x86/x86_emulate/blk.c
> @@ -26,19 +26,18 @@ int x86_emul_blk(
>      struct x86_emulate_ctxt *ctxt)
>  {
>      int rc = X86EMUL_OKAY;
> -
> -    switch ( s->blk )
> -    {
> -        bool zf;
> +    bool zf;
>  #ifndef X86EMUL_NO_FPU
> +    struct {
> +        struct x87_env32 env;
>          struct {
> -            struct x87_env32 env;
> -            struct {
> -               uint8_t bytes[10];
> -            } freg[8];
> -        } fpstate;
> +           uint8_t bytes[10];
> +        } freg[8];
> +    } fpstate;
>  #endif
>  
> +    switch ( s->blk )
> +    {
>          /*
>           * Throughout this switch(), memory clobbers are used to compensate
>           * that other operands may not properly express the (full) memory
> diff --git a/xen/arch/x86/x86_emulate/decode.c b/xen/arch/x86/x86_emulate/decode.c
> index f58ca3984e..daebf3a9bd 100644
> --- a/xen/arch/x86/x86_emulate/decode.c
> +++ b/xen/arch/x86/x86_emulate/decode.c
> @@ -1758,9 +1758,9 @@ int x86emul_decode(struct x86_emulate_state *s,
>      /* Fetch the immediate operand, if present. */
>      switch ( d & SrcMask )
>      {
> +    case SrcImm: {

The Xen coding style is:

    case SrcImm:
    {

Also, this change looks wrong?


>          unsigned int bytes;
>  
> -    case SrcImm:
>          if ( !(d & ByteOp) )
>          {
>              if ( mode_64bit() && !amd_like(ctxt) &&
> @@ -1785,6 +1785,7 @@ int x86emul_decode(struct x86_emulate_state *s,
>      case SrcImm16:
>          s->imm1 = insn_fetch_type(uint16_t);
>          break;
> +		}
>      }
>  
>      ctxt->opcode = opcode;
> diff --git a/xen/arch/x86/x86_emulate/fpu.c b/xen/arch/x86/x86_emulate/fpu.c
> index 480d879657..002d5e1253 100644
> --- a/xen/arch/x86/x86_emulate/fpu.c
> +++ b/xen/arch/x86/x86_emulate/fpu.c
> @@ -84,11 +84,10 @@ int x86emul_fpu(struct x86_emulate_state *s,
>      uint8_t b;
>      int rc;
>      struct x86_emulate_stub stub = {};
> +    unsigned long dummy;
>  
>      switch ( b = ctxt->opcode )
>      {
> -        unsigned long dummy;
> -
>      case 0x9b:  /* wait/fwait */
>          host_and_vcpu_must_have(fpu);
>          get_fpu(X86EMUL_FPU_wait);
> diff --git a/xen/arch/x86/x86_emulate/util-xen.c b/xen/arch/x86/x86_emulate/util-xen.c
> index 5e90818010..7ab2ac712f 100644
> --- a/xen/arch/x86/x86_emulate/util-xen.c
> +++ b/xen/arch/x86/x86_emulate/util-xen.c
> @@ -77,10 +77,10 @@ bool cf_check x86_insn_is_portio(const struct x86_emulate_state *s,
>  bool cf_check x86_insn_is_cr_access(const struct x86_emulate_state *s,
>                                      const struct x86_emulate_ctxt *ctxt)
>  {
> +    unsigned int ext;
> +
>      switch ( ctxt->opcode )
>      {
> -        unsigned int ext;

This can go under case X86EMUL_OPC with a new block


>      case X86EMUL_OPC(0x0f, 0x01):
>          if ( x86_insn_modrm(s, NULL, &ext) >= 0
>               && (ext & 5) == 4 ) /* SMSW / LMSW */
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
> index e88245eae9..d6c04fd5f3 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -1479,15 +1479,15 @@ x86_emulate(
>          break;
>      }
>  
> +    enum x86_segment seg;
> +    struct segment_register cs, sreg;
> +    struct cpuid_leaf leaf;
> +    uint64_t msr_val;
> +    unsigned int i, n;
> +    unsigned long dummy;
> +
>      switch ( ctxt->opcode )
>      {
> -        enum x86_segment seg;
> -        struct segment_register cs, sreg;
> -        struct cpuid_leaf leaf;
> -        uint64_t msr_val;
> -        unsigned int i, n;
> -        unsigned long dummy;

In Xen we don't mix declarations and code, so they would have to go to
the top of the function


>      case 0x00: case 0x01: add: /* add reg,mem */
>          if ( ops->rmw && dst.type == OP_MEM )
>              state->rmw = rmw_add;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 02:36:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 02:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575984.901614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qROCE-0005sm-9H; Thu, 03 Aug 2023 02:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575984.901614; Thu, 03 Aug 2023 02: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 1qROCE-0005sf-6n; Thu, 03 Aug 2023 02:36:14 +0000
Received: by outflank-mailman (input) for mailman id 575984;
 Thu, 03 Aug 2023 02: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qROCC-0005sZ-Eu
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 02:36:12 +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 80d24fcd-31a6-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 04:36:09 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C054C61BB5;
 Thu,  3 Aug 2023 02:36:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB666C433C8;
 Thu,  3 Aug 2023 02:36: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: 80d24fcd-31a6-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691030168;
	bh=RdX8b0xHNNxkZ4bcak3+rkH60PSPk9TzSUqo3+cssGY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=olGTfOJPZIe3mFCrsTrP1HzSWMna0DWQwqnjaiSyAMG+sAFq+NoSvc2lTGPp1hS9n
	 7RcrpZg4lxFgk+eS5nMsvSh9j4bvlNl/e+TZiHB+hFZhKzAcV2LMdatEinHJtvA5hd
	 yqz7TfCxLN8KG6aR+3XiyWHa8xQ11Gz0AtN8yP88RDT0Jsw7viZMQ0YyEWhICfln5h
	 /AQUxESmu09c5Tz0YmYjk/BhQJ2lvP5tIHnk7KsLdC5FcW5H1Asi6JVjpbsepXU4V0
	 fNgBec6RYc7sSvKPU/jnz93gDI1Wjs9E9VUCZLg8ir0zgIpbL5fqUCi+npJ8ADDs8L
	 zzo15UjZcYnhA==
Date: Wed, 2 Aug 2023 19:36:05 -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, Jan Beulich <jbeulich@suse.com>, 
    Paul Durrant <paul@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH 05/11] drivers/pci: move variable definitions to
 address MISRA C:2012 Rule 2.1
In-Reply-To: <99f434f5d8b9c8eca275f23799a642ba34e79eb8.1690985045.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308021934130.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <99f434f5d8b9c8eca275f23799a642ba34e79eb8.1690985045.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 Wed, 2 Aug 2023, Nicola Vetrini wrote:
> Variable declarations between a switch statement guard and before
> any case label are unreachable code, and hence violate Rule 2.1:
> "A project shall not contain unreachable code".
> 
> Therefore the variable declarations are moved in the smallest enclosing
> scope, near other variable definitions.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/drivers/passthrough/pci.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 33452791a8..3f5fa5beef 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -315,6 +315,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>      struct pci_dev *pdev;
>      unsigned int pos;
>      int rc;
> +    unsigned int cap, sec_bus, sub_bus;
>  
>      list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>          if ( pdev->bus == bus && pdev->devfn == devfn )
> @@ -343,8 +344,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>      /* update bus2bridge */
>      switch ( pdev->type = pdev_type(pseg->nr, bus, devfn) )
>      {
> -        unsigned int cap, sec_bus, sub_bus;

sub_bus and sec_bus could go under case DEV_TYPE_LEGACY_PCI_BRIDGE
cap could go under case DEV_TYPE_PCIe_ENDPOINT


>          case DEV_TYPE_PCIe2PCI_BRIDGE:
>          case DEV_TYPE_LEGACY_PCI_BRIDGE:
>              sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
> @@ -424,11 +423,11 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>  
>  static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
>  {
> +    unsigned int sec_bus, sub_bus;
> +
>      /* update bus2bridge */
>      switch ( pdev->type )
>      {
> -        unsigned int sec_bus, sub_bus;

They could go under case DEV_TYPE_LEGACY_PCI_BRIDGE


>          case DEV_TYPE_PCIe2PCI_BRIDGE:
>          case DEV_TYPE_LEGACY_PCI_BRIDGE:
>              sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
> @@ -1555,11 +1554,10 @@ int iommu_do_pci_domctl(
>      u8 bus, devfn;
>      int ret = 0;
>      uint32_t machine_sbdf;
> +    unsigned int flags;
>  
>      switch ( domctl->cmd )
>      {
> -        unsigned int flags;

it could go under case XEN_DOMCTL_test_assign_device


>      case XEN_DOMCTL_get_device_group:
>      {
>          u32 max_sdevs;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 03:16:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 03:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.575995.901640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qROop-0001yQ-FE; Thu, 03 Aug 2023 03:16:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 575995.901640; Thu, 03 Aug 2023 03: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 1qROop-0001yJ-AR; Thu, 03 Aug 2023 03:16:07 +0000
Received: by outflank-mailman (input) for mailman id 575995;
 Thu, 03 Aug 2023 03:16: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 1qROoo-0001y9-Et; Thu, 03 Aug 2023 03:16: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 1qROoo-0000Ta-AJ; Thu, 03 Aug 2023 03:16: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 1qROon-0002W4-Ur; Thu, 03 Aug 2023 03:16:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qROon-0007Fz-UR; Thu, 03 Aug 2023 03:16: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=dNUoIba/Q34vIqRr3fU/GGbMz2iEKMoU8UD+bz10pUA=; b=FIRq9FZpMbxMX+H2rYkczUjZTm
	YNcwxRc8/WsBWFsM584+cEvB5+8pkHD1X1l/GZ2kZ3GnUPPITcJofvUi8BWrAbt6UzifpdvZX7U17
	GAwQ66+rw3NsQaz7fcuWP0fo4aN1GvNYnl+L8b8OtG+/oJaXlKQfb3ttQqbKDl3nZvAE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182103-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-unstable test] 182103: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:hosts-allocate:starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=690346043db881debcace7d22249f3355527c5f9
X-Osstest-Versions-That:
    qemuu=698407ef8395521a9a5b15ed9cd0b7e1fc258ded
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 03:16:05 +0000

flight 182103 qemu-upstream-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182103/

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                690346043db881debcace7d22249f3355527c5f9
baseline version:
 qemuu                698407ef8395521a9a5b15ed9cd0b7e1fc258ded

Last test of basis   181975  2023-07-22 17:52:53 Z   11 days
Testing same since   182103  2023-08-01 18:08:53 Z    1 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   698407ef83..690346043d  690346043db881debcace7d22249f3355527c5f9 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 06:21:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 06:21:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576026.901717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRRi5-0004zt-VF; Thu, 03 Aug 2023 06:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576026.901717; Thu, 03 Aug 2023 06: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 1qRRi5-0004zm-SN; Thu, 03 Aug 2023 06:21:21 +0000
Received: by outflank-mailman (input) for mailman id 576026;
 Thu, 03 Aug 2023 06:21:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRRi4-0004zc-MR; Thu, 03 Aug 2023 06:21:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRRi4-0005FN-Jk; Thu, 03 Aug 2023 06:21:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRRi4-00074p-94; Thu, 03 Aug 2023 06:21:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRRi4-0005Uj-8b; Thu, 03 Aug 2023 06:21:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EZCbhwptoau4mWZ4snLrWywUBCCdG4xWO6JgC0h9eYE=; b=rID38f2JtYP4IL911HO29wC8B0
	S1ZNrEsgY2G20C+3t5jKlOmz7OYb6n+IZcCbu2DRAKFKoSpljmWrnnroI1lQ3sDxWBIUKj+Za6sBF
	47pKhhHfvs77tugZggk9O3PUAwcPrx7aUQq2GWIqZQQnG/LnEl80cBYd/AgW2SXAFe7E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182120-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182120: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:heisenbug
    xen-4.17-testing:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-migrupgrade:xen-install/src_host:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd: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:migrate-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:saverestore-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-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-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-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):starved:nonblocking
    xen-4.17-testing:build-arm64-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):starved:nonblocking
    xen-4.17-testing:build-arm64-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:build-arm64-pvops:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.17-testing:build-arm64:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm: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=3d0aa6f23d54a4d3c608010c58c1147a1500d865
X-Osstest-Versions-That:
    xen=c18b2dd93f396eadd116d0016cf7285523a13505
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 06:21:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 11 xen-install/dst_host fail in 182110 pass in 182120
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 182110 pass in 182120
 test-amd64-i386-libvirt-pair 10 xen-install/src_host       fail pass in 182110
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat  fail pass in 182110

Tests which did not succeed, but are not blocking:
 test-amd64-i386-migrupgrade  10 xen-install/src_host         fail  like 182095
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182095
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182095
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182095
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182095
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182095
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182095
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182095
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182095
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182095
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182095
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1   1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-xl           1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           starved in 182110 n/a
 build-arm64-libvirt           1 build-check(1)           starved in 182110 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           starved in 182110 n/a
 build-arm64-xsm               2 hosts-allocate           starved in 182110 n/a
 build-arm64-pvops             2 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-libvirt-qcow2  3 hosts-allocate         starved in 182110 n/a
 test-armhf-armhf-libvirt      3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-libvirt-raw  3 hosts-allocate           starved in 182110 n/a
 build-arm64                   2 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl-vhd       3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl           3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl-arndale   3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl-rtds      3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl-multivcpu  3 hosts-allocate          starved in 182110 n/a
 test-armhf-armhf-xl-credit2   3 hosts-allocate           starved in 182110 n/a
 test-armhf-armhf-xl-credit1   3 hosts-allocate           starved in 182110 n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  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                  3d0aa6f23d54a4d3c608010c58c1147a1500d865
baseline version:
 xen                  c18b2dd93f396eadd116d0016cf7285523a13505

Last test of basis   182095  2023-07-31 13:07:46 Z    2 days
Testing same since   182110  2023-08-02 06:56:35 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Luca Fancellu <luca.fancellu@arm.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                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  fail    
 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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c18b2dd93f..3d0aa6f23d  3d0aa6f23d54a4d3c608010c58c1147a1500d865 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 07:15:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 07:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576035.901734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRSYS-0002CP-3D; Thu, 03 Aug 2023 07:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576035.901734; Thu, 03 Aug 2023 07: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 1qRSYS-0002CI-0Q; Thu, 03 Aug 2023 07:15:28 +0000
Received: by outflank-mailman (input) for mailman id 576035;
 Thu, 03 Aug 2023 07:15: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=KRpN=DU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRSYQ-0002CB-IK
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 07:15:26 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8332b98b-31cd-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 09:15:24 +0200 (CEST)
Received: from SA0PR11CA0172.namprd11.prod.outlook.com (2603:10b6:806:1bb::27)
 by SJ1PR12MB6267.namprd12.prod.outlook.com (2603:10b6:a03:456::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 07:15:19 +0000
Received: from SN1PEPF0002529E.namprd05.prod.outlook.com
 (2603:10b6:806:1bb:cafe::e9) by SA0PR11CA0172.outlook.office365.com
 (2603:10b6:806:1bb::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 07:15:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002529E.mail.protection.outlook.com (10.167.242.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Thu, 3 Aug 2023 07:15:18 +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.27; Thu, 3 Aug
 2023 02:15:18 -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.27; Thu, 3 Aug
 2023 00:15:17 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 3 Aug 2023 02:15:16 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8332b98b-31cd-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kZetXMIRQCxZn6mWiy7xbH+vglrtwHbTdpQEs7e9VM5VOScBvKWBbtXVMBSeuNpRdv4A+Av/S7YLnksePm8yuicJchISCmcGRsWciUV3TCFf0Fm4jV75YhT0/kU0fmeUT3s3tgYKWnEOQ0bpSGdVCzkQcBmyBCN8l2i8NfO7tow+Y8Gl65lbS29770K0hMpUU1IhapDGdPb5fpe9akuIFna4tuwFf9Vf/cXZMoHscAUi1HyvZvYmJCIvrZPxmK0x+pRqHEwQV92IyYR5spEiBs7ZGPKh8V7GwrX/Ji4GjlwPvUVsvda5MGHviG/A0dlBMMO3q7AyXjl3mnd/S7MODA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r3QbZelKwxhDNvT7zVJTaE8jeQTT4RR730grwMLw5MI=;
 b=j+i+fvuWXj0Gkt1Sdeei3P327Wi80HpjvHtYsOheSLq7By5DaDCbxUwwnIrZ1vZstjNXDg9CKIoC7dTy8SvsOq+AKiCHVxVsW884FUpC4pvIcMe41nFFP64Y75KnrDy5Hv3gKT3VWdCYk6J2FlfQMUeiZQyzvnWq2fLcglwj6awhWGu2U/TpVczi2Bbwh2C6NPfPOomjhoXp2Tgfbh/WhGH9VWZuZEyWgPuorttj/B4T2++Ud4rC/VG8ZEjUM12JIbMCdJ88dQd+p+79ntfGQtGKgw3E2DwMwDqmFKx2liCHoh5DecApQ/5FblQA8tV09Fts+txW2zpkjj6ZDB/KTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r3QbZelKwxhDNvT7zVJTaE8jeQTT4RR730grwMLw5MI=;
 b=aikWgEuXbfcO8y//+w3UyfitTRcSMAiwt70Q29Caj7bxXO2eLEmKqaoYtlGL7Y1hi146DtR33Wtz5wMj6QF7WZAeLWHmh+d+Dp8BwK+VR3GwOxlcTHQEjGxkOwXKK8QMOmVxriLXGgw21Xr3c8/E5mbXCKeGbwmUKM8vKAZ4oO0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
Date: Thu, 3 Aug 2023 09:15:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002529E:EE_|SJ1PR12MB6267:EE_
X-MS-Office365-Filtering-Correlation-Id: 6555ca15-0dbe-4ccf-78a0-08db93f1647d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h2KuGXQ5kFXWk2ilV6Yn7dRLYDpHPgJ7TnoZUs7OVnpb3XnqJvlAscCBgz9YjlM66xs0uSBGqJGnTgH9DtQJ9SplVy5dTl9MHyC3zEcI9fOx15Ql019P++fCBinxhT2m3FOVtO5VoiP8myCUQv6xQGAdk5zt3QPYbpnpfml/BTW8COwhpZvKOmGUl/wBsTiYMLjRabQ+4lS3MWQLgAeYJP8XJ4m0okBhJUtmFRAin9e9NGRriG87Bp58w00RdvVHRMPy8u7ZQ6Dtdg2zG+c6YlslEjebWddCck5fyulL/uXcnuN0avD+Bfue4kWqr5F8ErOac3nwBTevICykyepkZvQf/8poQh9F6vl9cSKzmPFca97ipxru9bpRvW0rEGpR8i5CL8gmg+srZ+whT2M1ZbRNWe0aB5XnOCq9VFqsiBwYMFSPpbYSM900rGh3yU6WNPYYoWmYUoP83xyKRTN1aS+4i54DZI8dNZUjk1BWpPV90jeH7HLNjDR+zkw8FJ0Ivw38g4BXjX7p2XhVNM7z4CSsuSiEKGSahtEz7045aOMonGP5l7Kipd2LGAPQxiPYMOlpsB3fQM38dtwZac8YafKJPhTh9KyVMK7lzFVjlpJHZf9ZUQOzpL2mJY/wxvXt47AKCMdHpU3+0fvWR/5DDATkykoec7yJTMsWYkg9W4bWyAbN+1ufajhEoedDS5+iDwgok12BDLoXJLlWghq7uE7To62Pr7J6huykBYWTcMM6ZUQsEQHUJG/AAjItTGtDhkgXhdS6h02/JX5jmEaz4pNq3hYAZI4LYoeG3Cau5nY=
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:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199021)(82310400008)(40470700004)(36840700001)(46966006)(36756003)(31696002)(86362001)(31686004)(66899021)(82740400003)(40460700003)(40480700001)(54906003)(478600001)(110136005)(356005)(81166007)(47076005)(336012)(426003)(2616005)(186003)(26005)(83380400001)(53546011)(41300700001)(8676002)(8936002)(44832011)(316002)(16576012)(36860700001)(5660300002)(4326008)(70206006)(70586007)(2906002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 07:15:18.4778
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6555ca15-0dbe-4ccf-78a0-08db93f1647d
X-MS-Exchange-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:
	SN1PEPF0002529E.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6267



On 02/08/2023 19:39, Julien Grall wrote:
> 
> 
> Hi Luca,
> 
> On 02/08/2023 16:05, Luca Fancellu wrote:
>>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>>
>>> Hi,
>>>
>>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>>
>>>>
>>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>
>>>>> Hi Luca,
>>>>>
>>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>>
>>>>>>
>>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>>> when needed, the option is active by default.
>>>>>>
>>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>>
>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>>> ---
>>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>>> --- a/xen/arch/arm/Kconfig
>>>>>> +++ b/xen/arch/arm/Kconfig
>>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>>          UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>>          be booted as an EFI application.
>>>>>>
>>>>>> +config GICV2
>>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>>
>>>> Hi Michal,
>>>>
>>>> I tried and I had:
>>>>
>>>> Starting kernel ...
>>>>
>>>> - UART enabled -
>>>> - Boot CPU booting -
>>>> - Current EL 0000000000000008 -
>>>> - Initialize CPU -
>>>> - Turning on paging -
>>>> - Zero BSS -
>>>> - Ready -
>>>> (XEN) Checking for initrd in /chosen
>>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>>> (XEN)
>>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>>> (XEN)
>>>> (XEN)
>>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>>> (XEN) PFN compression on bits 20...22
>>>> (XEN) Domain heap initialised
>>>> (XEN) Booting using Device Tree
>>>> (XEN) Platform: Generic System
>>>> (XEN)
>>>> (XEN) ****************************************
>>>> (XEN) Panic on CPU 0:
>>>> (XEN) Unable to find compatible GIC in the device tree
>>>> (XEN) ****************************************
>>>> (XEN)
>>>> (XEN) Manual reset required ('noreboot' specified)
>>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.
> 
> There are a lot of information printed before the console is properly
> brought up. I wonder if we should look at adding early console like
> Linux does?
I guess it is not a matter of "if" but "when" and I think it's just that no one has time to do that
since it is more a like a feature for developers rather than for customers (they just report the issue
and we need to fix it :)). There are so many things that can go wrong during early boot including the entire boofdt parsing
and having earlycon would be so desirable.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 07:36:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 07:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576040.901744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRSsM-0004i6-Me; Thu, 03 Aug 2023 07:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576040.901744; Thu, 03 Aug 2023 07:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRSsM-0004hz-Jp; Thu, 03 Aug 2023 07:36:02 +0000
Received: by outflank-mailman (input) for mailman id 576040;
 Thu, 03 Aug 2023 07:36: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 1qRSsK-0004ht-V2
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 07:36:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRSsK-0006lm-Hj; Thu, 03 Aug 2023 07:36:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRSsK-00082q-7R; Thu, 03 Aug 2023 07:36: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=BeG+6oeCw7mY+IH05PJsyCj/NoFiq6CRV82Xc/vjVKY=; b=ae0/0cXRoWXFOgec+Fy6QDs6W2
	XaAyIEXxCuZmjed0tseiTrpHaqvWDPBG8PO+730Wx/iJPvppkB68Ao35YutNn9AL9efwGQoBQCpOD
	M9VfGQQa4FZAQFFI7izRfqydZTgC6UGN50cqGE2E2BmtNhf3rRh4JgYwMnZuH2mrK8q0=;
Message-ID: <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
Date: Thu, 3 Aug 2023 08:35:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
In-Reply-To: <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2023 08:15, Michal Orzel wrote:
> On 02/08/2023 19:39, Julien Grall wrote:
>>
>>
>> Hi Luca,
>>
>> On 02/08/2023 16:05, Luca Fancellu wrote:
>>>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>>>
>>>>>
>>>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>
>>>>>> Hi Luca,
>>>>>>
>>>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>>>
>>>>>>>
>>>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>>>> when needed, the option is active by default.
>>>>>>>
>>>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>>>
>>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>>>> ---
>>>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>>>
>>>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>>>> --- a/xen/arch/arm/Kconfig
>>>>>>> +++ b/xen/arch/arm/Kconfig
>>>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>>>           UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>>>           be booted as an EFI application.
>>>>>>>
>>>>>>> +config GICV2
>>>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>> I tried and I had:
>>>>>
>>>>> Starting kernel ...
>>>>>
>>>>> - UART enabled -
>>>>> - Boot CPU booting -
>>>>> - Current EL 0000000000000008 -
>>>>> - Initialize CPU -
>>>>> - Turning on paging -
>>>>> - Zero BSS -
>>>>> - Ready -
>>>>> (XEN) Checking for initrd in /chosen
>>>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>>>> (XEN)
>>>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>>>> (XEN)
>>>>> (XEN)
>>>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>>>> (XEN) PFN compression on bits 20...22
>>>>> (XEN) Domain heap initialised
>>>>> (XEN) Booting using Device Tree
>>>>> (XEN) Platform: Generic System
>>>>> (XEN)
>>>>> (XEN) ****************************************
>>>>> (XEN) Panic on CPU 0:
>>>>> (XEN) Unable to find compatible GIC in the device tree
>>>>> (XEN) ****************************************
>>>>> (XEN)
>>>>> (XEN) Manual reset required ('noreboot' specified)
>>>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.
>>
>> There are a lot of information printed before the console is properly
>> brought up. I wonder if we should look at adding early console like
>> Linux does?
> I guess it is not a matter of "if" but "when" and I think it's just that no one has time to do that
> since it is more a like a feature for developers rather than for customers (they just report the issue
> and we need to fix it :)).

Sure. This is always the case, but it also means developpers will 
continue to waste time when investigating early boot issues. I wouldn't 
be surprised if the total time wasted is more than the actual effort to 
add support :).

> There are so many things that can go wrong during early boot including the entire boofdt parsing
> and having earlycon would be so desirable.
It is not clear what to take from your reply. Earlier you were concerned 
about the error not showing up in the log if the .config is not correct.

There is no really quick fix for that as a .config may work for platform 
A but not platform B. The only viable solution is having an early console.

Anything else like forcing to always have one GICvX selected is just a 
hack that would work for one set of people but not the others.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:05:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576050.901754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTL0-0000J6-DS; Thu, 03 Aug 2023 08:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576050.901754; Thu, 03 Aug 2023 08:05:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTL0-0000Iz-A6; Thu, 03 Aug 2023 08:05:38 +0000
Received: by outflank-mailman (input) for mailman id 576050;
 Thu, 03 Aug 2023 08: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRTKy-0000It-JJ
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:05:36 +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 859a529e-31d4-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:05:34 +0200 (CEST)
Received: from DB8PR06CA0018.eurprd06.prod.outlook.com (2603:10a6:10:100::31)
 by AS8PR08MB8063.eurprd08.prod.outlook.com (2603:10a6:20b:54c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:04:59 +0000
Received: from DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::e4) by DB8PR06CA0018.outlook.office365.com
 (2603:10a6:10:100::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend
 Transport; Thu, 3 Aug 2023 08:04:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT017.mail.protection.outlook.com (100.127.142.243) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 08:04:59 +0000
Received: ("Tessian outbound f1e964b3a9be:v145");
 Thu, 03 Aug 2023 08:04:59 +0000
Received: from ce50d277fe64.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 793C0985-07A5-4C5D-A3AB-5347362104F0.1; 
 Thu, 03 Aug 2023 08:04:52 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ce50d277fe64.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 08:04:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS4PR08MB7853.eurprd08.prod.outlook.com (2603:10a6:20b:51c::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:04:50 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:04:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 859a529e-31d4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TDvI8MDbYKaDXjqZ0zTEM8J4YD4KVCCgqp6VT0TZlOY=;
 b=aWQOUnUC4He6RFdvWBUVCRO/EGav0Z18M98xWEEUikDzUqj6CoRMJ7pMlZC3bPDdxpeXJcfCA4YoCWRjkEvx/b+eSwsINlQId4DEkom4iQojK+qSUw9X/aOlCm634Fy3ywJ2d7W6uTIa12JW8lCX+fCaGy6Vwq89RHV9AYPo7qE=
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: 24f99669834b1f0c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TUVPtldjlEP2GAmbOG7N3cLp+hiZzNR+E7yP9haVa5fWRQ1qSjfq6z2esQ+NwCj+WdmGwSaR0+2oJ3FNSRDYnB++tHDQZU/qne2ZOmkcMBW6h88Wv8BNgBDawIlmWe9Itr+XjP59F3soXX8WlGnV/aGKIUh8+E/5RVKRjg/EUzC+ol1pTYnqcQA4j7ECCHvcCRH33s4IqLO3CY3mUXppXevxM5LTu2iGIZ/k3AJluzx/McZ7kE/+ACuM63yAoZdfzlRKCx7GbYV5e9JG+1M/Q8eHEm0OixCoevesIpPj2zoeIXUpP9hlMzfz78bJxNSivGRufbB28H1dMOVnIAvRCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TDvI8MDbYKaDXjqZ0zTEM8J4YD4KVCCgqp6VT0TZlOY=;
 b=fh2XSc45nR3NgXhV4LCPHYw7abUGPUVn+cFD8F8rXmhPDGW+tM5wOXTKLYiCyA5Du4qyp1zM2lIeSpi9NMR9dKmuZw7LkZg/16jU5ZzpqSg8coaXnzN6RmXjbTnX5UXxWsBHfiMTwupZg9L/zsEttPpXdRB3Z8xW96DLgAgz1B0NVfhNLWMEZkzvcjUjNHIWa3z5mbY3ZjCYo2x+1yoN2mix3zf667NoAKCSxbpUZ/Y1RsmG6J2Lbtqrg8P9NgDOMxYKxDh7Ts+35n/Sb1uCm1WOt0puvSOn3ZgMr/pcC8gFFSko8tIRfEKUMJzvJAkaLGIDirwtnJmpHtfiwv8yrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=TDvI8MDbYKaDXjqZ0zTEM8J4YD4KVCCgqp6VT0TZlOY=;
 b=aWQOUnUC4He6RFdvWBUVCRO/EGav0Z18M98xWEEUikDzUqj6CoRMJ7pMlZC3bPDdxpeXJcfCA4YoCWRjkEvx/b+eSwsINlQId4DEkom4iQojK+qSUw9X/aOlCm634Fy3ywJ2d7W6uTIa12JW8lCX+fCaGy6Vwq89RHV9AYPo7qE=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index:
 AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQCAAAGbgIAABJqAgAArPoCAAOPegIAABcoAgAAIA4A=
Date: Thu, 3 Aug 2023 08:04:49 +0000
Message-ID: <33DCC5E2-7190-464C-B25A-68BC68CA4021@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
In-Reply-To: <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS4PR08MB7853:EE_|DBAEUR03FT017:EE_|AS8PR08MB8063:EE_
X-MS-Office365-Filtering-Correlation-Id: fc0e48d3-7591-453f-fddd-08db93f8551c
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:
 ux3HFo/Dnomf/0VhD+ZWh7eJ66XgRmlktDlWIHhiwcvZV8c4sgOxNz0iPrH3etQr5709jubO45f2aRFgit9b0zOYxPVbJfCkYyuZswY0Yf5TYFQfOR9FPNgDiXQPcBGBN37bal6Pn2/MwWt1hGlNxLv/iLLkXPiVaad/Q6muBPhtGFcXUePwkhYPlqlk/aXNvlm2GOdkxgjyv4nYLsF9MZ8fH1a5KC4DyrtT9UX8TfecOVJsRVz790kTsYz9/cYlRklgoQ7beya0N//5x5C9xrGaKto4TcL7xryOtv57MLvVMeBj9/0Wif802xM6aq0ttJIpw2lpiERUjtuVLiuQTbQTlocntZHNJJQ6/x/b4tV35M5XQuZWePVv+kMXnJRE7L7u6IW4Ra+Jbhdli000glvN32nTK5MBTWj8p6Ae51ArNfgUaUKnQcnAJ7O1Ohovk++i/AYKyh6OtXZF7gWIHDjGIbgtPEjXQt7shtwQccoHY8so2y77sDkxn8VE6sF4PX7Gv1RF4pXX/3IVcKKyzlwxA96yLn7VUM7HEOR2IaMVQ/EccL4oe+AnFYkgV3c5x4AiaeLzNp/9V4ca1qD6W7GlVp2O36XiqLys8SOTK5pkWzYyPlxVim98b51XRhQDBG3iUFS+CGwORQaKyhyaZg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199021)(2616005)(83380400001)(6506007)(26005)(186003)(41300700001)(2906002)(91956017)(66946007)(76116006)(4326008)(64756008)(66446008)(66476007)(66556008)(5660300002)(6916009)(316002)(8676002)(8936002)(6486002)(71200400001)(6512007)(478600001)(54906003)(38100700002)(122000001)(33656002)(86362001)(36756003)(38070700005)(66899021)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0F6A0ABC3CDDD8418989182A0D19B3D0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7853
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:
 DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9cac6697-6c9d-4d91-a809-08db93f84f85
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cwup3RxPtBD7ynY+u4hQokSnK3rnxW4hexp37Rkp8OaUqNpHU/0xOVS1bUf0WMGi/w4SDJ8tNC21X7h1CNoFlrnjFlaj8WlR5BPfAnZqBr82BW3/cba8Mm/ZzwXdkM25/DoAHDc+azgL+Xnrt5//JrN+XnAPc63FGd+ZNDYV9WyQphdPuq0ATjXVmHClG2+Lpf9ms56KvuUvwKGhK+1kwaY/woERX04h5P0ABS1n/Xo9QbbAqThHkE7KXg9Xljs4cZgaJA+bdsTquliYZdh8YRPo5gIN1PeXLNM+sWFH9zybtjkaSrLgRvtLn/p23VU1Df6WMmQp6GfFjH0b0KR+zikyvDLmsraqZm+/uoIHYkDuQPHD3wmOVz1sbaO5xGJCoFZZN3tzRyDD+0t7kVg9HB+cM3Iq2TfHk5sTNlzc4s4WykiXUC8A8+SokWe9JklZXVaS2IyMWkIN/HXl9d/umTWnXh7rpuXw7R+HJYq0q2x8nCh2b0At+LWztO3nf3i2/oTwVNtHloDQi2ygMcBNm3C57BJ5SNZoZ0NxM88gDc5x08LveCN3kh26+DYrVJRTzMYNWD9p+ANiOfgkeewFTY7zzsnrDIfuScYFRMxKA7rONWbo/fkznYFPUK2gEPJ6HdKXuxYAQrDXuQ8OFh3X6iZlaDCirG+aRVQZNiMl0UKvH8zJTBaDZLoKQq/M5/5GnsFQO0BtOZB0LcR8inUqaQhGswUzUcCHbblmY+lgh1PMGf2o5CtegF4euRXwiNYd
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199021)(82310400008)(36840700001)(46966006)(40470700004)(40460700003)(2616005)(107886003)(6506007)(83380400001)(26005)(186003)(336012)(47076005)(36860700001)(316002)(2906002)(70586007)(70206006)(4326008)(5660300002)(6862004)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(40480700001)(356005)(81166007)(33656002)(86362001)(36756003)(82740400003)(66899021);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:04:59.2036
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fc0e48d3-7591-453f-fddd-08db93f8551c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8063

DQo+Pj4+Pj4gDQo+Pj4+Pj4gLSBVQVJUIGVuYWJsZWQgLQ0KPj4+Pj4+IC0gQm9vdCBDUFUgYm9v
dGluZyAtDQo+Pj4+Pj4gLSBDdXJyZW50IEVMIDAwMDAwMDAwMDAwMDAwMDggLQ0KPj4+Pj4+IC0g
SW5pdGlhbGl6ZSBDUFUgLQ0KPj4+Pj4+IC0gVHVybmluZyBvbiBwYWdpbmcgLQ0KPj4+Pj4+IC0g
WmVybyBCU1MgLQ0KPj4+Pj4+IC0gUmVhZHkgLQ0KPj4+Pj4+IChYRU4pIENoZWNraW5nIGZvciBp
bml0cmQgaW4gL2Nob3Nlbg0KPj4+Pj4+IChYRU4pIFJBTTogMDAwMDAwMDA4MDAwMDAwMCAtIDAw
MDAwMDAwZmVmZmZmZmYNCj4+Pj4+PiAoWEVOKSBSQU06IDAwMDAwMDA4ODAwMDAwMDAgLSAwMDAw
MDAwOGZmZmZmZmZmDQo+Pj4+Pj4gKFhFTikNCj4+Pj4+PiAoWEVOKSBNT0RVTEVbMF06IDAwMDAw
MDAwODQwMDAwMDAgLSAwMDAwMDAwMDg0MTVkMDAwIFhlbg0KPj4+Pj4+IChYRU4pIE1PRFVMRVsx
XTogMDAwMDAwMDBmZDZjNTAwMCAtIDAwMDAwMDAwZmQ2YzgwMDAgRGV2aWNlIFRyZWUNCj4+Pj4+
PiAoWEVOKSBNT0RVTEVbMl06IDAwMDAwMDAwODAwODAwMDAgLSAwMDAwMDAwMDgxNGYxYTAwIEtl
cm5lbA0KPj4+Pj4+IChYRU4pICBSRVNWRFswXTogMDAwMDAwMDA4MDAwMDAwMCAtIDAwMDAwMDAw
ODAwMTAwMDANCj4+Pj4+PiAoWEVOKSAgUkVTVkRbMV06IDAwMDAwMDAwMTgwMDAwMDAgLSAwMDAw
MDAwMDE4N2ZmZmZmDQo+Pj4+Pj4gKFhFTikNCj4+Pj4+PiAoWEVOKQ0KPj4+Pj4+IChYRU4pIENv
bW1hbmQgbGluZTogbm9yZWJvb3QgZG9tMF9tZW09MTAyNE0gY29uc29sZT1kdHVhcnQgZHR1YXJ0
PXNlcmlhbDAgYm9vdHNjcnViPTANCj4+Pj4+PiAoWEVOKSBQRk4gY29tcHJlc3Npb24gb24gYml0
cyAyMC4uLjIyDQo+Pj4+Pj4gKFhFTikgRG9tYWluIGhlYXAgaW5pdGlhbGlzZWQNCj4+Pj4+PiAo
WEVOKSBCb290aW5nIHVzaW5nIERldmljZSBUcmVlDQo+Pj4+Pj4gKFhFTikgUGxhdGZvcm06IEdl
bmVyaWMgU3lzdGVtDQo+Pj4+Pj4gKFhFTikNCj4+Pj4+PiAoWEVOKSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqDQo+Pj4+Pj4gKFhFTikgUGFuaWMgb24gQ1BVIDA6DQo+
Pj4+Pj4gKFhFTikgVW5hYmxlIHRvIGZpbmQgY29tcGF0aWJsZSBHSUMgaW4gdGhlIGRldmljZSB0
cmVlDQo+Pj4+Pj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Kg0KPj4+Pj4+IChYRU4pDQo+Pj4+Pj4gKFhFTikgTWFudWFsIHJlc2V0IHJlcXVpcmVkICgnbm9y
ZWJvb3QnIHNwZWNpZmllZCkNCg0KSGkgSnVsaWVuLCBNaWNoYWwsDQoNCj4+Pj4+IEhhdmluZyBl
YXJseSBwcmludGsgZW5hYmxlZCBhbGwgdGhlIHRpbWUgaXMgbm90IGNvbW1vbiBhbmQgbm90IGVu
YWJsZWQgaW4gcmVsZWFzZSBidWlsZHMgRldJSy4NCj4+PiANCj4+PiBUaGVyZSBhcmUgYSBsb3Qg
b2YgaW5mb3JtYXRpb24gcHJpbnRlZCBiZWZvcmUgdGhlIGNvbnNvbGUgaXMgcHJvcGVybHkNCj4+
PiBicm91Z2h0IHVwLiBJIHdvbmRlciBpZiB3ZSBzaG91bGQgbG9vayBhdCBhZGRpbmcgZWFybHkg
Y29uc29sZSBsaWtlDQo+Pj4gTGludXggZG9lcz8NCj4+IEkgZ3Vlc3MgaXQgaXMgbm90IGEgbWF0
dGVyIG9mICJpZiIgYnV0ICJ3aGVuIiBhbmQgSSB0aGluayBpdCdzIGp1c3QgdGhhdCBubyBvbmUg
aGFzIHRpbWUgdG8gZG8gdGhhdA0KPj4gc2luY2UgaXQgaXMgbW9yZSBhIGxpa2UgYSBmZWF0dXJl
IGZvciBkZXZlbG9wZXJzIHJhdGhlciB0aGFuIGZvciBjdXN0b21lcnMgKHRoZXkganVzdCByZXBv
cnQgdGhlIGlzc3VlDQo+PiBhbmQgd2UgbmVlZCB0byBmaXggaXQgOikpLg0KPiANCj4gU3VyZS4g
VGhpcyBpcyBhbHdheXMgdGhlIGNhc2UsIGJ1dCBpdCBhbHNvIG1lYW5zIGRldmVsb3BwZXJzIHdp
bGwgY29udGludWUgdG8gd2FzdGUgdGltZSB3aGVuIGludmVzdGlnYXRpbmcgZWFybHkgYm9vdCBp
c3N1ZXMuIEkgd291bGRuJ3QgYmUgc3VycHJpc2VkIGlmIHRoZSB0b3RhbCB0aW1lIHdhc3RlZCBp
cyBtb3JlIHRoYW4gdGhlIGFjdHVhbCBlZmZvcnQgdG8gYWRkIHN1cHBvcnQgOikuDQoNCknigJl2
ZSBub3QgaW52ZXN0aWdhdGVkIG9uIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gYWRkIHRo
YXQsIEkgd291bGRu4oCZdCB1bmRlcmVzdGltYXRlIHRoYXQgYW5kIHVuZm9ydHVuYXRlbHkgcGVv
cGxlIGhhdmUNCmRpZmZlcmVudCBjYXBhY2l0eSBhbmQgY29tcGFuaWVzIGhhdmUgZGlmZmVyZW50
IHByaW9yaXRpZXMsIHNvIGEgcXVpY2sgZmVhdHVyZSBjYW4gdHJhbnNsYXRlIG9uIG1vbnRocyB3
aGVuIHRoZSB0aW1lIGFsbG9jYXRlZA0KZm9yIGEgcGFydGljdWxhciBqb2IgaXMsIGxldOKAmXMg
c2F5LCBvbmUgZGF5IGEgbW9udGguDQoNCj4gDQo+PiBUaGVyZSBhcmUgc28gbWFueSB0aGluZ3Mg
dGhhdCBjYW4gZ28gd3JvbmcgZHVyaW5nIGVhcmx5IGJvb3QgaW5jbHVkaW5nIHRoZSBlbnRpcmUg
Ym9vZmR0IHBhcnNpbmcNCj4+IGFuZCBoYXZpbmcgZWFybHljb24gd291bGQgYmUgc28gZGVzaXJh
YmxlLg0KPiBJdCBpcyBub3QgY2xlYXIgd2hhdCB0byB0YWtlIGZyb20geW91ciByZXBseS4gRWFy
bGllciB5b3Ugd2VyZSBjb25jZXJuZWQgYWJvdXQgdGhlIGVycm9yIG5vdCBzaG93aW5nIHVwIGlu
IHRoZSBsb2cgaWYgdGhlIC5jb25maWcgaXMgbm90IGNvcnJlY3QuDQo+IA0KPiBUaGVyZSBpcyBu
byByZWFsbHkgcXVpY2sgZml4IGZvciB0aGF0IGFzIGEgLmNvbmZpZyBtYXkgd29yayBmb3IgcGxh
dGZvcm0gQSBidXQgbm90IHBsYXRmb3JtIEIuIFRoZSBvbmx5IHZpYWJsZSBzb2x1dGlvbiBpcyBo
YXZpbmcgYW4gZWFybHkgY29uc29sZS4NCj4gDQo+IEFueXRoaW5nIGVsc2UgbGlrZSBmb3JjaW5n
IHRvIGFsd2F5cyBoYXZlIG9uZSBHSUN2WCBzZWxlY3RlZCBpcyBqdXN0IGEgaGFjayB0aGF0IHdv
dWxkIHdvcmsgZm9yIG9uZSBzZXQgb2YgcGVvcGxlIGJ1dCBub3QgdGhlIG90aGVycy4NCg0KSSBh
Z3JlZSB3aXRoIHlvdSBpbiBwYXJ0LCB3aGVuIHlvdSBzYXkgdGhhdCBpdCB3b3VsZCB3b3JrIGZv
ciBvbmUgc2V0IG9mIHBlb3BsZSBidXQgbm90IHRoZSBvdGhlcnMsIGlzbuKAmXQgaXQgYWx3YXlz
IHRoZSBjYXNlPyBXZSBhcmUgcHJvdmlkaW5nDQphIGRlZmNvbmZpZyB0aGF0IHdvdWxkIGZpdCB0
aGUgbWFqb3JpdHkgb2YgdGhlIHBlb3BsZSwgYnV0IGl04oCZcyBhbHdheXMgYSBzZXQgb2YgdGhl
bS4NCg0KTW9yZSBzcGVjaWZpYyB0byB0aGlzIHBhdGNoLCB3aXRoIHRoZSBwcm92aWRlZCBLY29u
ZmlnIOKAnGhhY2vigJ0gYXMgeW91IHNheSwgaXQgaXMgbm90IG9ubHkgcHJvdmlkaW5nIHRoZSBz
YW1lIHVzZXIgZXhwZXJpZW5jZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwNCml0IGlzIGRvaW5nIG1v
cmUsIGl0IGlzIHByb3ZpZGluZyBhIHdheSB0byBleGNsdWRlIGZyb20gdGhlIGJ1aWxkIHRoZSBH
SUN2MiB3aGljaCBpcyBub3QgcG9zc2libGUgY3VycmVudGx5LCB0aGlzIHdvcmsgYWltcyB0byBw
cm92aWRlIGEgbW9yZQ0KZmluZSBncmFudWxhciBjb25maWd1cmF0aW9uIHNvIHRoYXQgZXhwZXJp
ZW5jZWQgdXNlcnMgY2FuIHJlbW92ZSBlbnRpcmUgbW9kdWxlcyB0aGF0IHRoZXkgZG9u4oCZdCBu
ZWVkIGluIHRoZWlyIHBsYXRmb3JtIHNvIHRoYXQgdGhleSBkb27igJl0IGhhdmUNCnRvIHRha2Ug
dGhlbSBpbnRvIGFjY291bnQgd2hlbiBnb2luZyB0bywgZm9yIGV4YW1wbGUsIHNhZmV0eSBjcml0
aWNhbCBhdWRpdHMuDQoNCkkgYWdyZWUgd2l0aCB5b3UgdGhhdCBlYXJseWNvbiB3b3VsZCBiZSBw
ZXJmZWN0LCBzbyB0aGF0IHdlIGNvdWxkIG1ha2UgdGhlIHVzZXIgcmVtb3ZlIGV2ZXJ5IG1vZHVs
ZSBhbmQgbGV0IGhpbSBrbm93IHF1aWNrbHkgdGhlIGlzc3VlLA0KYnV0IG9uIHRoZSBvdGhlciBo
YW5kIGl0IGlzIGEgY29tcGxldGUgbmV3IGZlYXR1cmUgdGhhdCB5b3UgYXJlIHJlcXVlc3Rpbmcg
KGFyZSB5b3U/KSB0byBtYWtlIHRoaXMgcGF0Y2ggZ28gZm9yd2FyZC4NCg0KTXkgcGVyc29uYWwg
b3BpbmlvbiBpcyB0aGF0LCBzaW5jZSB0aGlzIHBhdGNoIGlzIG5vdCBhZmZlY3RpbmcgdGhlIHVz
ZXIgZXhwZXJpZW5jZSwgaXQgaXMgbWFpbnRhaW5pbmcgdGhlIGN1cnJlbnQgc3RhdHVzIChub3Qg
aWRlYWwpLCBidXQgYXQgbGVhc3QNCkl0IGlzIHByb3ZpZGluZyBzb21ldGhpbmcgbW9yZSwgaXQg
d291bGQgYmUgYSBzaGFtZSB0byB0aHJvdyB0aGF0IGluIHRoZSBiaW4gYmVjYXVzZSBubyBvbmUg
aGFzIHRpbWUgdG8gd29yayBvbiBlYXJseWNvbi4NCg0KQ2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:07:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576054.901763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTML-0000tM-S1; Thu, 03 Aug 2023 08:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576054.901763; Thu, 03 Aug 2023 08:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTML-0000tF-PS; Thu, 03 Aug 2023 08:07:01 +0000
Received: by outflank-mailman (input) for mailman id 576054;
 Thu, 03 Aug 2023 08:07:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PRme=DU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRTMK-0000t9-ND
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:07:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b846049c-31d4-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 10:06:59 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8A7EC4EE0737;
 Thu,  3 Aug 2023 10:06: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: b846049c-31d4-11ee-b268-6b7b168915f2
MIME-Version: 1.0
Date: Thu, 03 Aug 2023 10:06:58 +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,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 1/4] x86/mce: address MISRA C:2012 Rule 5.3
In-Reply-To: <alpine.DEB.2.22.394.2308021844020.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
 <52ec7caf08089e3aaaad2bcf709a7d387d55d58f.1690969271.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021844020.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <5c07fb2501c305db444d42eb280fab36@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 03/08/2023 03:45, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> Suitable mechanical renames are made to avoid shadowing, thus
>> addressing violations of MISRA C:2012 Rule 5.3:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope"
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/arch/x86/cpu/mcheck/barrier.c | 8 ++++----
>>  xen/arch/x86/cpu/mcheck/barrier.h | 8 ++++----
>>  2 files changed, 8 insertions(+), 8 deletions(-)
>> 
>> diff --git a/xen/arch/x86/cpu/mcheck/barrier.c 
>> b/xen/arch/x86/cpu/mcheck/barrier.c
>> index a7e5b19a44..51a1d37a76 100644
>> --- a/xen/arch/x86/cpu/mcheck/barrier.c
>> +++ b/xen/arch/x86/cpu/mcheck/barrier.c
>> @@ -16,11 +16,11 @@ void mce_barrier_dec(struct mce_softirq_barrier 
>> *bar)
>>      atomic_dec(&bar->val);
>>  }
>> 
>> -void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
>> +void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait)
> 
> "wait" clashes with xen/common/sched/core.c:wait, which is globally
> exported, right?
> 
> I think it would be good to add this info to the commit message in this
> kind of patches.
> 

Correct, it's in 'xen/include/xen/wait.h' that makes it visible in the 
file modified
by the patch. I'll add it in v2.

>> -void mce_barrier_enter(struct mce_softirq_barrier *, bool wait);
>> -void mce_barrier_exit(struct mce_softirq_barrier *, bool wait);
>> +void mce_barrier_enter(struct mce_softirq_barrier *, bool do_wait);
>> +void mce_barrier_exit(struct mce_softirq_barrier *, bool do_wait);
> 
> You might as well add "bar" as first parameter?
> 
> 
>>  void mce_barrier(struct mce_softirq_barrier *);
>> 

Will do. I checked that this would not interfere with other patches
related to Rules 8.2 and 8.3.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576057.901773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTMo-0001M6-4X; Thu, 03 Aug 2023 08:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576057.901773; Thu, 03 Aug 2023 08: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 1qRTMo-0001Lx-1h; Thu, 03 Aug 2023 08:07:30 +0000
Received: by outflank-mailman (input) for mailman id 576057;
 Thu, 03 Aug 2023 08:07:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KRpN=DU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRTMm-0000t9-Qv
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:07:28 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e83::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c92b4638-31d4-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 10:07:27 +0200 (CEST)
Received: from SJ0PR05CA0147.namprd05.prod.outlook.com (2603:10b6:a03:33d::32)
 by PH0PR12MB7790.namprd12.prod.outlook.com (2603:10b6:510:289::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Thu, 3 Aug
 2023 08:07:23 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:33d:cafe::7f) by SJ0PR05CA0147.outlook.office365.com
 (2603:10b6:a03:33d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.18 via Frontend
 Transport; Thu, 3 Aug 2023 08:07:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Thu, 3 Aug 2023 08:07:22 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 3 Aug
 2023 03:07:21 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 3 Aug
 2023 01:07:21 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 3 Aug 2023 03:07: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: c92b4638-31d4-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dZ796zQEps7zKScBDUXVuVeSx4wJ45bRBGZXijSqgHnv60YJR7U6ZUcmqvTQNwpjkX8BWdQ56fE7OxaecvoL0Dh8enZXCgQpA/upiRWmyUYKW1BPV0jabLED9gqv3lvr6cuydnxtx2qvWsMqZGx1VGpt4YDvf5dgSh/921l/X+RsMeCpim+nvWjhCActcgVDn+KZs3NOhbKQ2sVO02NYu230LPXajhUcQ8lAyNJkofspjGPKVcoCeDkrp0yIG/cKtkgctyXxRNZGx+POMCmBBnL+uuzODR9J7lqi+q31hZzDf3rUVzHe2ND/SH9VPeyL0znrGAtvJq8cLKW9As5CQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vtu01wfErjl8p1ZXHqqdIcDF25BBmHSforxtkzCzv0I=;
 b=EIJd6PMd29/QDiYpiP3YlV8/X75QTbS+DckvKOw/T8lnTZqMdBte98UVSxSzh14jEMSSLUOLcvLlLFnW+KtXptqi1fA77AE38x2bJsbjBfw7+Z/40msRbUAEc85tqWvQ2mPmT3z65zAs3LVbY8YhThNQ2Ed7ShZXJiit1pYgNQ5XnU+DDjQi7tEZTyArieW3ZdIM1kc5okdWdVR+dQjP8ukvtX/I8A2BqrGPhOEEv/YcdyQbihsT/ivUjdFbpMTPxoSHesBw4uK4/KdsI36PunFJGJzxCmMWcWCpBN/9ThJ/PSxLTq7pqBZjeWzWmSVp/H1oQXYlegUHYHs3UWMHVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vtu01wfErjl8p1ZXHqqdIcDF25BBmHSforxtkzCzv0I=;
 b=B7Su1dPo5HNJMPEGe1okPMoluBa+zczGtn6QZ04f8e8kUNrUntgv1YZrefKVU3QKCIgYRmge02rt5C5eTyo7wGwbxExPFbPIV2wOKhcr7TBJcx9g+89rQHClx5t8mBulIBOBGjEF0NbMOutF3RPLKer8CQTBsha8waBSJdxNK6w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2c16c9c2-afed-3dda-7e88-b4c5269665f2@amd.com>
Date: Thu, 3 Aug 2023 10:07:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Content-Language: en-US
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|PH0PR12MB7790:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a0532f1-7d99-401c-80f4-08db93f8aab9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pFU6hZOtsQn9tT6ZfcQ/lCbNQGjany1MY1Og2lr1xPIvHpd7tCGuEr6okkBRyGBiKPJGwc3X9Q5n19zBXASvC3PRiLU1wdmBXCpKGs3wbuzQoBPdlShmRIrNXxjK414meWyuJ9X11smyqJ4ooz2uQa6u0O6/u+RlihIo8P2rey1ECrJ6X/JBc8YIPEbpZsguqwVyNWmnZoRtaYot3v84Fk6kyS9zlaXpZShyhSpS2ROUgjPUkQwhcwVemSEQ4OgoUpIOBh8tH6S7x1UejoeIc70Zj3lBlr2zUpWBGMBu9xTTlIM0Q8vyber03O8ywHdI//65Dw03hcqCLxSzkRNgl75XiNo13TVqUecv/XKrsfvGAy36paAvI3/wQ7SxYvNuC7/oUdV7erbYn6ES+w3OZLnY385aY6tlFtu1otX43lht6l7j/Qx9e8l4yOcZZueICxssTzbs5BnXWNGHLcZxIl7bQ3fVE8rE/YcQtXSpjBwJjphITB7od3ezmAT0oR362axnhJAXwvm3A1BxaNOzZMkauMowhKKNu6F0PpCT5lruinOVYq2gwITNxzk0BnhD+VaHqMQribPfpQxD7zcEW5PazIsanHcNdZQ1Q0TuANV2RVR00Fw3f+CXY7bG3LzTAJCLahT3BEYV5etwwkli4jaKaOcY4bqxkGypFIUdCn/u7Nuorm9zneJq/1rQmyhMRXyGrBijATA5DhGCJLs7ieHF0PS0ZbbSRnCF7xQQWoyZK3FRD1jzgi1vfKOeoNBABdqKxLYnfEs/qSUJJv9dbcuFcsBG3jx7N8uZzdQk4W5Bv/htaIWj8gpNDeZ3dD8v
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:(13230028)(4636009)(39860400002)(346002)(136003)(376002)(396003)(82310400008)(451199021)(40470700004)(36840700001)(46966006)(40480700001)(2616005)(40460700003)(336012)(186003)(16576012)(316002)(86362001)(478600001)(54906003)(81166007)(110136005)(4326008)(356005)(31696002)(70586007)(70206006)(82740400003)(53546011)(36756003)(41300700001)(26005)(426003)(5660300002)(8676002)(8936002)(47076005)(2906002)(66899021)(36860700001)(44832011)(83380400001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:07:22.7107
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a0532f1-7d99-401c-80f4-08db93f8aab9
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7790



On 03/08/2023 09:35, Julien Grall wrote:
> 
> 
> Hi,
> 
> On 03/08/2023 08:15, Michal Orzel wrote:
>> On 02/08/2023 19:39, Julien Grall wrote:
>>>
>>>
>>> Hi Luca,
>>>
>>> On 02/08/2023 16:05, Luca Fancellu wrote:
>>>>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>>>>
>>>>>>
>>>>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>>
>>>>>>> Hi Luca,
>>>>>>>
>>>>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>>>>> when needed, the option is active by default.
>>>>>>>>
>>>>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>>>>
>>>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>>>>> ---
>>>>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>>>>> --- a/xen/arch/arm/Kconfig
>>>>>>>> +++ b/xen/arch/arm/Kconfig
>>>>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>>>>           UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>>>>           be booted as an EFI application.
>>>>>>>>
>>>>>>>> +config GICV2
>>>>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>>>>
>>>>>> Hi Michal,
>>>>>>
>>>>>> I tried and I had:
>>>>>>
>>>>>> Starting kernel ...
>>>>>>
>>>>>> - UART enabled -
>>>>>> - Boot CPU booting -
>>>>>> - Current EL 0000000000000008 -
>>>>>> - Initialize CPU -
>>>>>> - Turning on paging -
>>>>>> - Zero BSS -
>>>>>> - Ready -
>>>>>> (XEN) Checking for initrd in /chosen
>>>>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>>>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>>>>> (XEN)
>>>>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>>>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>>>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>>>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>>>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>>>>> (XEN)
>>>>>> (XEN)
>>>>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>>>>> (XEN) PFN compression on bits 20...22
>>>>>> (XEN) Domain heap initialised
>>>>>> (XEN) Booting using Device Tree
>>>>>> (XEN) Platform: Generic System
>>>>>> (XEN)
>>>>>> (XEN) ****************************************
>>>>>> (XEN) Panic on CPU 0:
>>>>>> (XEN) Unable to find compatible GIC in the device tree
>>>>>> (XEN) ****************************************
>>>>>> (XEN)
>>>>>> (XEN) Manual reset required ('noreboot' specified)
>>>>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.
>>>
>>> There are a lot of information printed before the console is properly
>>> brought up. I wonder if we should look at adding early console like
>>> Linux does?
>> I guess it is not a matter of "if" but "when" and I think it's just that no one has time to do that
>> since it is more a like a feature for developers rather than for customers (they just report the issue
>> and we need to fix it :)).
> 
> Sure. This is always the case, but it also means developpers will
> continue to waste time when investigating early boot issues. I wouldn't
> be surprised if the total time wasted is more than the actual effort to
> add support :).
most probably

> 
>> There are so many things that can go wrong during early boot including the entire boofdt parsing
>> and having earlycon would be so desirable.
> It is not clear what to take from your reply. Earlier you were concerned
> about the error not showing up in the log if the .config is not correct.
> 
> There is no really quick fix for that as a .config may work for platform
> A but not platform B. The only viable solution is having an early console.
> 
> Anything else like forcing to always have one GICvX selected is just a
> hack that would work for one set of people but not the others.
Yes, having early console would solve these issues and for now we might need to be
on the mercy of users to do wise selection. That said, the scenario with GIC is not really
the same as for something that can work on platform A and not on B. No GIC built-in
cannot work on any platform, hence my concern (it is different than selecting wrong GIC).
But because I do not see any simple solution other than building always both and you don't like
what Luca just did (fallback to GICv2), I'm ok. Initializing UART prior to GIC would also require
quite some work to defer the IRQ translation that depends on the GIC.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:12:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576065.901784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTRf-0002vO-NN; Thu, 03 Aug 2023 08:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576065.901784; Thu, 03 Aug 2023 08:12:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTRf-0002vH-Ka; Thu, 03 Aug 2023 08:12:31 +0000
Received: by outflank-mailman (input) for mailman id 576065;
 Thu, 03 Aug 2023 08:12:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRTRe-0002v8-C5
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:12:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRTRd-0008El-SX; Thu, 03 Aug 2023 08:12:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRTRd-0001Jw-Jt; Thu, 03 Aug 2023 08:12:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yfxp1bZM15OcNspcFyALedShd5Zo2jreE3hhmpofOp4=; b=hWHRMp5aIksin1qS6gkKzZZ7/F
	9RS+gk5NcPqhZVFFfbahgol0qVvkPu/jb60Pq1nj6IgO7NoLi3NUtTDzroPCYi9V8Q0ISNzNxIbu4
	kg2ogsrnYNawrxK1bwf9ZooVcZIoRPF/b7cVL7pAKjP62r35GZj9lkxQZtb9mfVZN5lw=;
Message-ID: <b6ed2183-1555-7895-da7f-88e5075d400b@xen.org>
Date: Thu, 3 Aug 2023 09:12:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
 <2c16c9c2-afed-3dda-7e88-b4c5269665f2@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2c16c9c2-afed-3dda-7e88-b4c5269665f2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 03/08/2023 09:07, Michal Orzel wrote:
> On 03/08/2023 09:35, Julien Grall wrote:
>> On 03/08/2023 08:15, Michal Orzel wrote:
>>> On 02/08/2023 19:39, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Luca,
>>>>
>>>> On 02/08/2023 16:05, Luca Fancellu wrote:
>>>>>> On 2 Aug 2023, at 15:48, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 02/08/2023 16:42, Luca Fancellu wrote:
>>>>>>>
>>>>>>>
>>>>>>>> On 2 Aug 2023, at 15:26, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>>>
>>>>>>>> Hi Luca,
>>>>>>>>
>>>>>>>> On 02/08/2023 15:53, Luca Fancellu wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
>>>>>>>>> when needed, the option is active by default.
>>>>>>>>>
>>>>>>>>> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
>>>>>>>>> the GICv2 emulation for guests, it is required only when using GICV2
>>>>>>>>> driver, otherwise using GICV3 it is optional and can be deselected
>>>>>>>>> if the user doesn't want to offer the vGICv2 interface to guests or
>>>>>>>>> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>>>>>>> ---
>>>>>>>>> xen/arch/arm/Kconfig        | 13 +++++++++++++
>>>>>>>>> xen/arch/arm/Makefile       |  4 ++--
>>>>>>>>> xen/arch/arm/domain_build.c |  4 ++++
>>>>>>>>> xen/arch/arm/gic-v3.c       |  4 ++++
>>>>>>>>> xen/arch/arm/vgic.c         |  2 ++
>>>>>>>>> 5 files changed, 25 insertions(+), 2 deletions(-)
>>>>>>>>>
>>>>>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>>>>>> index fd57a82dd284..dc702f08ace7 100644
>>>>>>>>> --- a/xen/arch/arm/Kconfig
>>>>>>>>> +++ b/xen/arch/arm/Kconfig
>>>>>>>>> @@ -78,6 +78,14 @@ config ARM_EFI
>>>>>>>>>            UEFI firmware. A UEFI stub is provided to allow Xen to
>>>>>>>>>            be booted as an EFI application.
>>>>>>>>>
>>>>>>>>> +config GICV2
>>>>>>>> So, now it would be possible to deselect both GIC drivers and Xen would not complain when building.
>>>>>>>> This means that Xen would fail on boot without any message as it happens before serial driver initialization.
>>>>>>>> Since having GIC driver built in is a must-have I think we need to make sure that at least one is enabled.
>>>>>>>
>>>>>>> Hi Michal,
>>>>>>>
>>>>>>> I tried and I had:
>>>>>>>
>>>>>>> Starting kernel ...
>>>>>>>
>>>>>>> - UART enabled -
>>>>>>> - Boot CPU booting -
>>>>>>> - Current EL 0000000000000008 -
>>>>>>> - Initialize CPU -
>>>>>>> - Turning on paging -
>>>>>>> - Zero BSS -
>>>>>>> - Ready -
>>>>>>> (XEN) Checking for initrd in /chosen
>>>>>>> (XEN) RAM: 0000000080000000 - 00000000feffffff
>>>>>>> (XEN) RAM: 0000000880000000 - 00000008ffffffff
>>>>>>> (XEN)
>>>>>>> (XEN) MODULE[0]: 0000000084000000 - 000000008415d000 Xen
>>>>>>> (XEN) MODULE[1]: 00000000fd6c5000 - 00000000fd6c8000 Device Tree
>>>>>>> (XEN) MODULE[2]: 0000000080080000 - 00000000814f1a00 Kernel
>>>>>>> (XEN)  RESVD[0]: 0000000080000000 - 0000000080010000
>>>>>>> (XEN)  RESVD[1]: 0000000018000000 - 00000000187fffff
>>>>>>> (XEN)
>>>>>>> (XEN)
>>>>>>> (XEN) Command line: noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0
>>>>>>> (XEN) PFN compression on bits 20...22
>>>>>>> (XEN) Domain heap initialised
>>>>>>> (XEN) Booting using Device Tree
>>>>>>> (XEN) Platform: Generic System
>>>>>>> (XEN)
>>>>>>> (XEN) ****************************************
>>>>>>> (XEN) Panic on CPU 0:
>>>>>>> (XEN) Unable to find compatible GIC in the device tree
>>>>>>> (XEN) ****************************************
>>>>>>> (XEN)
>>>>>>> (XEN) Manual reset required ('noreboot' specified)
>>>>>> Having early printk enabled all the time is not common and not enabled in release builds FWIK.
>>>>
>>>> There are a lot of information printed before the console is properly
>>>> brought up. I wonder if we should look at adding early console like
>>>> Linux does?
>>> I guess it is not a matter of "if" but "when" and I think it's just that no one has time to do that
>>> since it is more a like a feature for developers rather than for customers (they just report the issue
>>> and we need to fix it :)).
>>
>> Sure. This is always the case, but it also means developpers will
>> continue to waste time when investigating early boot issues. I wouldn't
>> be surprised if the total time wasted is more than the actual effort to
>> add support :).
> most probably
> 
>>
>>> There are so many things that can go wrong during early boot including the entire boofdt parsing
>>> and having earlycon would be so desirable.
>> It is not clear what to take from your reply. Earlier you were concerned
>> about the error not showing up in the log if the .config is not correct.
>>
>> There is no really quick fix for that as a .config may work for platform
>> A but not platform B. The only viable solution is having an early console.
>>
>> Anything else like forcing to always have one GICvX selected is just a
>> hack that would work for one set of people but not the others.
> Yes, having early console would solve these issues and for now we might need to be
> on the mercy of users to do wise selection. That said, the scenario with GIC is not really
> the same as for something that can work on platform A and not on B. No GIC built-in
> cannot work on any platform, hence my concern (it is different than selecting wrong GIC).

The assumption behind this is the user will always have a platform where 
it can boot Xen. I am not aware of many users with this opportunity of 
choice. So to me this is not very different from Xen can't boot on A but 
can on B.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:14:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576068.901793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTTY-0003TQ-2y; Thu, 03 Aug 2023 08:14:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576068.901793; Thu, 03 Aug 2023 08:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTTY-0003TJ-0M; Thu, 03 Aug 2023 08:14:28 +0000
Received: by outflank-mailman (input) for mailman id 576068;
 Thu, 03 Aug 2023 08:14: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=PRme=DU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRTTX-0003TD-7L
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:14:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1e12223-31d5-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:14:24 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1A1644EE0737;
 Thu,  3 Aug 2023 10:14: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: c1e12223-31d5-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Thu, 03 Aug 2023 10:14:24 +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,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
In-Reply-To: <alpine.DEB.2.22.394.2308021847190.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
 <16fa23ecb465442c566a18af0a569092075eef26.1690969271.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021847190.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <56d5b07a4194e5036ef92dcb56072851@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 03/08/2023 03:51, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> Rename variables to avoid shadowing and thus address
>> MISRA C:2012 Rule 5.3:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope"
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> This one clashes with xen/arch/x86/include/asm/mtrr.h:struct mtrr_state
> right?
> 

Yes, indeed. You can also check this when in doubt at
https://saas.eclairit.com, but I do agree that mentioning it directly in 
the commit
would make review easier.

> 
>> ---
>>  xen/arch/x86/hvm/mtrr.c | 32 ++++++++++++++++----------------
>>  1 file changed, 16 insertions(+), 16 deletions(-)
>> 
>> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
>> index 29f3fb1607..d504d1e43b 100644
>> --- a/xen/arch/x86/hvm/mtrr.c
>> +++ b/xen/arch/x86/hvm/mtrr.c
>> @@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain 
>> *d, uint64_t gfn_start,
>> 
>>  static int cf_check hvm_save_mtrr_msr(struct vcpu *v, 
>> hvm_domain_context_t *h)
>>  {
>> -    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
>> +    const struct mtrr_state *mtrr = &v->arch.hvm.mtrr;
> 
> I can see in hvm_vcpu_cacheattr_init, mtrr_get_type and other places
> that we use:
> 
>   const struct mtrr_state *m
> 
> maybe that's better? I'll let Jan comment.
> 
> Anyway, the patch looks correct to me.
> 
> 

I though about it, and it seemed too generic, so in the end I decided 
for mtrr, but
as always with names, I'm open to alternative suggestions.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:26:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576075.901803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTfU-00056J-Bb; Thu, 03 Aug 2023 08:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576075.901803; Thu, 03 Aug 2023 08:26:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTfU-00056C-8z; Thu, 03 Aug 2023 08:26:48 +0000
Received: by outflank-mailman (input) for mailman id 576075;
 Thu, 03 Aug 2023 08:26:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wv4z=DU=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRTfT-000566-6f
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:26:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7afaa859-31d7-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:26:44 +0200 (CEST)
Received: from Dell.bugseng.com.homenet.telecomitalia.it
 (host-87-5-121-62.retail.telecomitalia.it [87.5.121.62])
 by support.bugseng.com (Postfix) with ESMTPSA id E99034EE0737;
 Thu,  3 Aug 2023 10:26: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: 7afaa859-31d7-11ee-8613-37d641c3527e
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] xen/string: add missing parameter names
Date: Thu,  3 Aug 2023 10:26:34 +0200
Message-Id: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names to address violation of MISRA C:2012
rule 8.2 ("Function types shall be in prototype form with named
parameters").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
  - memset() adjusted.
---
 xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
index b4d2217a96..e91e3112e0 100644
--- a/xen/include/xen/string.h
+++ b/xen/include/xen/string.h
@@ -12,27 +12,27 @@
 #define strncpy __xen_has_no_strncpy__
 #define strncat __xen_has_no_strncat__
 
-size_t strlcpy(char *, const char *, size_t);
-size_t strlcat(char *, const char *, size_t);
-int strcmp(const char *, const char *);
-int strncmp(const char *, const char *, size_t);
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
-char *strchr(const char *, int);
-char *strrchr(const char *, int);
-char *strstr(const char *, const char *);
-size_t strlen(const char *);
-size_t strnlen(const char *, size_t);
-char *strpbrk(const char *, const char *);
-char *strsep(char **, const char *);
-size_t strspn(const char *, const char *);
-
-void *memset(void *, int, size_t);
-void *memcpy(void *, const void *, size_t);
-void *memmove(void *, const void *, size_t);
-int memcmp(const void *, const void *, size_t);
-void *memchr(const void *, int, size_t);
-void *memchr_inv(const void *, int, size_t);
+size_t strlcpy(char *dest, const char *src, size_t size);
+size_t strlcat(char *dest, const char *src, size_t size);
+int strcmp(const char *cs, const char *ct);
+int strncmp(const char *cs, const char *ct, size_t count);
+int strcasecmp(const char *s1, const char *s2);
+int strncasecmp(const char *s1, const char *s2, size_t len);
+char *strchr(const char *s, int c);
+char *strrchr(const char *s, int c);
+char *strstr(const char *s1, const char *s2);
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t count);
+char *strpbrk(const char *cs, const char *ct);
+char *strsep(char **s, const char *ct);
+size_t strspn(const char *s, const char *accept);
+
+void *memset(void *s, int c, size_t count);
+void *memcpy(void *dest, const void *src, size_t count);
+void *memmove(void *dest, const void *src, size_t count);
+int memcmp(const void *cs, const void *ct, size_t count);
+void *memchr(const void *s, int c, size_t n);
+void *memchr_inv(const void *s, int c, size_t n);
 
 #include <asm/string.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576079.901814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTib-0005sC-PP; Thu, 03 Aug 2023 08:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576079.901814; Thu, 03 Aug 2023 08:30:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTib-0005rY-Mj; Thu, 03 Aug 2023 08:30:01 +0000
Received: by outflank-mailman (input) for mailman id 576079;
 Thu, 03 Aug 2023 08:30:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRTia-0005jU-0m
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:30: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 1qRTiZ-0000GS-KI; Thu, 03 Aug 2023 08:29:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRTiZ-0001l5-DR; Thu, 03 Aug 2023 08:29:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mVJOpTN/SMXgzQ3juWQOsGhVuQYcAPpO4fcB+I4DqFM=; b=23U7AzbbK1Bp9MyIYLe5XCKy+A
	zOHqalCnNpmIMmai2cQ4kklrEJsav65VuJL8pcoucF/BxSvkbxkCtwizBhifbMbFAZs8A2cvE+3u4
	EigrTz+YU1OYlTJSYQ5HlZTE/JlvB5638BD/uBHDKRqzf6y16W8cFwBpXV8V+7dte4Fo=;
Message-ID: <3942c22a-80e1-29bd-4bd8-15d4bc43d220@xen.org>
Date: Thu, 3 Aug 2023 09:29:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
 <33DCC5E2-7190-464C-B25A-68BC68CA4021@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <33DCC5E2-7190-464C-B25A-68BC68CA4021@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 03/08/2023 09:04, Luca Fancellu wrote:
>>> There are so many things that can go wrong during early boot including the entire boofdt parsing
>>> and having earlycon would be so desirable.
>> It is not clear what to take from your reply. Earlier you were concerned about the error not showing up in the log if the .config is not correct.
>>
>> There is no really quick fix for that as a .config may work for platform A but not platform B. The only viable solution is having an early console.
>>
>> Anything else like forcing to always have one GICvX selected is just a hack that would work for one set of people but not the others.
> 
> I agree with you in part, when you say that it would work for one set of people but not the others, isnâ€™t it always the case? We are providing
> a defconfig that would fit the majority of the people, but itâ€™s always a set of them.

Correct.

> 
> More specific to this patch, with the provided Kconfig â€œhackâ€ as you say, it is not only providing the same user experience as the current state,
> it is doing more, it is providing a way to exclude from the build the GICv2 which is not possible currently, this work aims to provide a more
> fine granular configuration so that experienced users can remove entire modules that they donâ€™t need in their platform so that they donâ€™t have
> to take them into account when going to, for example, safety critical audits.

There seems to be some misunderstanding about the hack I am referring 
to. This is not about the patch itself but the following line:

select GICV2 if !GICV3 && !NEW_VGIC

Now that GICv2 can be deselecting, I see no point to force select GICV2 
if GICV3 is not selected.

As I wrote earlier, there is so many way for someone to create .config 
that is wrong or doesn't boot on their platform. So someone tweaking 
.config should always be careful when selecting/deselecting options.

> 
> I agree with you that earlycon would be perfect, so that we could make the user remove every module and let him know quickly the issue,
> but on the other hand it is a complete new feature that you are requesting (are you?) to make this patch go forward.

I didn't suggest it. I was making the point that if you have time, it is 
best to spend it trying to enable the early console rather than trying 
to prevent the user to disable both GIC.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:36:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576084.901824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRToN-0007CR-EF; Thu, 03 Aug 2023 08:35:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576084.901824; Thu, 03 Aug 2023 08:35:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRToN-0007CK-Ai; Thu, 03 Aug 2023 08:35:59 +0000
Received: by outflank-mailman (input) for mailman id 576084;
 Thu, 03 Aug 2023 08:35:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRToM-0007CE-L0
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:35:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4596aed-31d8-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 10:35:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8226.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:35:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:35: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: c4596aed-31d8-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RfS2pyDu4D+hup8GbXVmHu5UjvgtCjTFodVNFTAe5+HsPVC4f9lCIzYSTpmk/pcQJJf9QA8hwKmZlnQEhFr/gBzmT/wmAt/Y6e3tbJhRsjkNJLQz/m0FpeeAsjuw/r0xsEFYWVNSR+UVSUstWgNuj/wzQDiXxGoBTihiNb775xwo+PGK2gZP85KDcQByk34LSz+x2byYaNT+fn2DeXiHdm8p4vekEwD4CwUQVNWhGTX/4801B+RxLcoxzVcnl8rVmJaF+nO/bwTgSc6+sNf7D4mW4buJMnkP4MfSFULZR8y7OtFJCjlkeQvQnwDkyYfWZshtGHzVhG3/1kbaFoI6vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mQNgGyCcg1CmsUg3fNOMBUw3IOBCWjocZRi19DmmcMM=;
 b=cucbzQTgvdkXzajVfGzn61kfTu02dz4a+LcZ9LGztSU2Jpz9uY4FM//l6UpCMk8oMkR8Dv7ttDg6PrAaWUxL1LMGt7qmVPllE0JQ2R3QPX8+ZQdPkpgM1UGTrrNZrzJUEUD/ZLfHayBylOc74euOlB5m/xAZ6g6qpu+9+BPODOZaIsua5dkd0cmnvXhpJQJQ0lLWl3oSdswPqmxS4eEPwfW9Xs2DsC0eFZITxwre10s+vKsLa8Jb7HtA0lluQ83Om4MqPkRMbUWcc7lA5eBCjxIZRagw+X2R8/ubzeHhVJMS2vWubxKzC87cjFLC8bcelDVrTiTJLxLZpeW8LxVyhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mQNgGyCcg1CmsUg3fNOMBUw3IOBCWjocZRi19DmmcMM=;
 b=xo7DPPz1JDdIaLTE9+sapSR7h3p9FK/FOy6Vqv/OxSNBMJuNcISJ+PtNvLeZ9Ajo1I39YtceM3wVl8L6of1JuRrZKmS6LUXghayGYaP3krJcEVmCvpFCJTyiPK9oFakG0NonafD3lo6BjNUXoyR6RY3TyhJp5tJFT02b/7PjPPnzvPeR653Yv+VzLDd6IUxtaXimfHYrBeMRZOXG3crFJmxfKKUikF2rkvhC+rAddAbE2tipav1+Og88bYhazHdu2nyDoA0873F/No53dzBLfysEfUIS0rIzWV6/lzeP7TYiNvjUWtgaBmMmDxaYMTWYNwyIJyxTz8WOT336pEbfbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
Date: Thu, 3 Aug 2023 10:35:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690990427.git.ehem+xen@m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1690990427.git.ehem+xen@m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8226:EE_
X-MS-Office365-Filtering-Correlation-Id: 506f03ac-5127-4b18-a8e0-08db93fca745
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5MsEnmZe0mgSq/NkB+jwCAUhLTj/oDFugU+RgFdm+SPxiFlTRuuMpyQKi0rQGvQpdJAHrTv8lSdmO5H8flZk+Vcpq2RGeXfVt1nzkdaJtCtT/WMKZmT9AyWb6op0BBx0SI8S6rFvZgujmfIJUt5F1sI+JGFeFmeiKTPZlHznMURYjzFE6QsaQIyrAZ1G4ztYy1+LOEYBr2SRJ+4W1CuSTzq6fFqVCEKxnW8hVx7b7xQiJkliJfPY+/q8PYWV+GwqzcDsnRXRZvhXhNNr5dVlzb2x/rvYBUOoll0pB6bWCNuSfvZX4c1jwhKxUb9sW9kNsZZVmFqYcMC7tUQlfaqGqgY2R34x43MbW2moAspAOqXkhAPs/LJ/KsJniKXFYWZ2znNKg7qjX4vPwX+ZZwK6XvBvVOFNsknDDVFJPJ7YDV19rUrEEXdVXCXgqZySluuGNS8jY63PAiMgqhzYNA46YNdth4Pc1MnK7gixSPZljAet+E0zlnz/DUTuyrAAl1RewGKn8x5jPH8qN78ue7f9tZgyX8HNCqmNv5XyLlhqZAlnLbSj4EAejcu+igRO/A7mhc/aZVudmXM5DSCrEyFJ1ZzbrE3A+T0zNwhSp06bWKInHVhhqUlwJrqndTvfnVRf
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(396003)(136003)(451199021)(36756003)(31696002)(86362001)(31686004)(54906003)(478600001)(38100700002)(2616005)(6506007)(186003)(26005)(83380400001)(53546011)(8676002)(8936002)(41300700001)(966005)(6512007)(6486002)(316002)(66476007)(66556008)(5660300002)(4326008)(66946007)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXU2ZVRsSEFsblVtSytMdHBUNGErYWlxeGNPQ1lVR2xrbmI0bGVXekpHZnVh?=
 =?utf-8?B?c1pkdGxuQ2x0NWM5bGQwSExvNVM2dUgxOTd2NXJDZ0hqQ3BOMXZ3THlVeFBl?=
 =?utf-8?B?TE5NY2YyeDhNYlNEU3A4UllRdEVWdDZ1SHc1VEhEZXVXaWlwVlh6cWJ5Q1JN?=
 =?utf-8?B?NTRoM3R1K2wwSVBqejZrRVp3UWtIKzZCUGVkNllNQm9oamJYL3M4aFkvRzRJ?=
 =?utf-8?B?WThKYzhVbEpJdS9tL1pELzI5QW5lQ3ZWMmowcEpMdWZjaGI4SE5GbnNLZXVw?=
 =?utf-8?B?eEtoUmZQWTk1bEJ1N1lEV0w4eWNreWc4L0hsdmdkQmZTVGI3RVpteEYxN3Nn?=
 =?utf-8?B?eG54M2ZVVThsN01vYnluSEJxTFE1K0V4bCtJYS9YSG13UEs1bCtKT3lka3Nu?=
 =?utf-8?B?cjJ6WmJ1QS9PdHNwamFLUG0xaThJZnJaNDcxRXhoUFFldmdLS2RTTW81azlj?=
 =?utf-8?B?TzRtSU4yWE9DeVpDaWRhRFhCVmU4NGRHRDhYcktMcmN6QjY3bm1uSCtNQlpS?=
 =?utf-8?B?aStqTFZ3NC93UlJHeW8zWkF2cGQ1V0lDZHRHYWNEdTNZLzNLRS9wS0VrWG9N?=
 =?utf-8?B?VEhLbWJVLzlzaWZpZDVoTFQxVnpEZUxqbEFjQktPN1NoS3JkOStQalhuTXRK?=
 =?utf-8?B?SEdjSFFTcnhPdTA4RERPRmlQalp6UWgrL2M2b0RIUm9hd0svL1lXaExHems4?=
 =?utf-8?B?aXpMUFBORUYwYXdrdUF1d0xaSDZyMFhLM2RrTG02aU5LZU11WW9ZeTUzSHA4?=
 =?utf-8?B?ajd5VmFETE9OeUlKdGN5bUJvVEV2dTVQTmxJQ09yZ3VTdkRIRFIyVkl6dVlm?=
 =?utf-8?B?WWVEWGNjS016bVZDNzFsSk5jSWdwL3hlTUtvaHZ5TFNGcXVLczd0MktUK1FT?=
 =?utf-8?B?SkNXdGdmNVRWbVFYRkE2V0xhWmtaem54YWJEYzZZSUZ3VmxWY01UekRwdEV0?=
 =?utf-8?B?cDh4VFBNVTJHb0kzTVoySU11Q3NzZytzbGFRbzk5MURucUVLczVJV1hXUmgw?=
 =?utf-8?B?MVBGcFRFc2QrVzNyeEJxdEZMQUh6dm1ONG1UNVRUOXh3NDVaOXRKdnNya2pZ?=
 =?utf-8?B?dUtkZFFDUHVja0Nmei9TSTFsSUZuTjVGOVR4czJvUnZDc0hHemx1QXkzZUJi?=
 =?utf-8?B?aWJPdFBvS2JQMWZZZEdEeXd3aWt2Rkd0bTJIMnJXMzIyb3Z3WUtTemtIeFNj?=
 =?utf-8?B?bC80dHYrOUJLOEo0bE1BeE5iNzNybUNVZ0dwT3I3Z056QWNWMEhxb0k4RzJI?=
 =?utf-8?B?NWVMMFdSVlEwTG45T2hQcDgrb3Y3SmZ1eTRkdWFSUUlBOWUvOHVsSXovbkJ2?=
 =?utf-8?B?QzYxb2FDc0hjM04wQW9FSkdhK0hoWCtrNzhsakJpRys1QUF0dEQxcnVkN0k0?=
 =?utf-8?B?WjJJMXRzZzFDekc2eWk1czBlYkJodnJsWU1LVVpXT21XZ2EwQUtWK0p5QThx?=
 =?utf-8?B?UW9kWUNHN2x0Q1U5UkxIN1ZxNUhrdTBFL2VPSWFCM2tKV0g2VGhUd0VYN0du?=
 =?utf-8?B?TmpoYzZydHRCQnE1OGxFNzJOZjV0R0J5YUlYTlhmb2VWd0ZDMmFoV05Hck84?=
 =?utf-8?B?eGNHTzdkYVdVUnQ2VVZkcjBHdys5TnBuazR1YVdDWklHaEhBWHVmOW9nSXZj?=
 =?utf-8?B?WElDMStHY0xmc29OVnJhYWU3SXhuS3VGOW81dHhQYk1OYmVkeForb2lCOHVq?=
 =?utf-8?B?cWlrVm5QOWhLaVVaaEtLSFloSG5WSmx4NWVDUUFqZWpiTjlKakZJSlp0YXl3?=
 =?utf-8?B?Y0pVWnM3bnB1ZyttUTVObTBaWEI1YVhCVlV3Z2dHd2ZhUEpqR1MyRWtkVWsy?=
 =?utf-8?B?VjRtYllRRVZYbTM1bmVLRjZySE4rZUthYzVqalRpajdFT0QyajJnd1N4TW5H?=
 =?utf-8?B?THQ4KzVuOFp0a0d0WXRkQ2FaOW5EenIyRlo1Nm5YYzljM2s0MTdNdzRQQmhX?=
 =?utf-8?B?NThYbVhjQ2U1NXRPMVVmcFIxRUZIUWVxb3ZYb1VvTitGMW5QZ2hrcDZOL1g2?=
 =?utf-8?B?eDhvYm14OHRhQi9EaWZaZ0JscStWVmNsUk0vSHpwY0NKa0RUak43ZzFYbG1B?=
 =?utf-8?B?aEkwYzgxVnJGaTJqYUNFY1NSelN0RzdnY3VKQmE4blhXdzVaeFZIK085WTlY?=
 =?utf-8?Q?+DUyijx04hJQRGlC+kXcb2jRb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 506f03ac-5127-4b18-a8e0-08db93fca745
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:35:55.1995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H9eS/4o/mYaCizWOoRtURy/3V97m3Yueww5ba9vgAu9+kH7pmI8uarBUcugHVWsPkOeYVipI8AZsCY8EsDyb5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8226

On 02.08.2023 17:33, Elliott Mitchell wrote:
> Is there a freeze on that I'm unaware of?  Is there so much traffic from
> other developers that smaller output ones are being missed?  I'm
> wondering about the initial revision of this series not getting any
> feedback:
> https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01264.html
> 
> 
> Due to the lack of news on the first thread, I've done some looking to
> assess the feasibility.  The xl.cfg parser looks a bit jumbled.  Too many
> things are visible to too many places.  In general some pieces have
> really needed some TLC for a long time.
> 
> Note, some portions of this are semi-WIP.  The first 5 patches are simply
> overdue maintenance.  Not particularly urgent, but should probably be
> done.
> 
> Patch #06 is rather more urgent maintenance.  While it might not explode
> soon, that is a landmine.
> 
> Patch #07 is the first big issue.  The roles of the various headers had
> never been sorted out.  The underlying issue was more the contents of
> "libxlu_cfg_i.h" needed to be merged into "libxlu_cfg_y.h".  Bison 2.3
> may not have had the ability to embedded things into its header in 2010,
> but the functionality appears to have been present in Bison 3.3.
> 
> There is an issue of what level of indentation should be used in
> libxlu_cfg_y.y?  Normally the sections being added wouldn't be indented,
> but normally they would be directly in headers.  I'm unsure of which
> direction to go here.
> 
> Patch #08 seemed best to leave after #07 due to overlap and difficulty
> with reordering.  I'm a bit worried about the interfacing with flex.
> 
> 
> Then comes the issue of moving things out of libxlu_internal.h which
> should never have been there.  The XLU_Config* values should have been
> placed in libxlu_cfg_i.h instead.  Since I'm doing a thorough job,
> they're instead moving to libxlu_cfg.c.
> 
> I'm unsure splitting libxlu_cfg.c is worthwhile.  The resultant reusable
> libxlu_cfg.c is rather small.  Yet avoiding the need to reimplement the
> small portion is handy.
> 
> 
> Is the decision to keep in-tree copies of current Flex/Bison output still
> valid?  I would be awful tempted to remove them from main/master, even
> if copies are maintained on release branches.
> 
> 
> Elliott Mitchell (22):
>   tools/utils: cleanup formatting of libxlutil.h
>   tools/utils: rename "n" arguments to "key"
>   tools/utils: remove old declaration of xlu__cfg_yyparse()
>   tools/utils: enable all Bison warnings
>   tools/utils: update Bison parser directives
>   tools/utils: remove libxlu_cfg_i.h from libxlu_disk.c
>   tools/utils: merge contents of libxlu_cfg_i.h to libxlu_cfg_y.y
>   tools/utils: Bison: switch from name-prefix to api.prefix
>   tools/utils: move CfgParseContext to top of libxlu_cfg_y.y
>   tools/utils: move XLU_ConfigSetting to libxl_cfg.c
>   tools/utils: move XLU_ConfigValue to libxl_cfg.c
>   tools/utils: remove YYLTYPE definition from libxlu_internal.h
>   tools/utils: move XLU_ConfigList to libxl_cfg.c
>   tools/utils: introduce xlu_cfg_printf() function
>   tools/utils: move XLU_Config to libxlu_cfg.c
>   tools/utils: move XLU_Operation to libxlu_cfg_y.h
>   tools/utils: move setting free loop to xlu__cfg_set_free()
>   tools/utils: spread xlu_cfg_printf() over libxlu_cfg.c
>   tools/utils: add pointer to in-progress settings to CfgParseContext
>   tools/utils: add wrapper for readfile()/readdata() functions
>   tools/utils: add settings get function
>   tools/utils: break flex/bison parser away from main config file

Some of the patches looks to have been posted previously as a 7-patch
series. It would have been nice if therefore this one was marked as
v2, indicating in a revision log what the differences are. It appears
as if at least one out of those 7 earlier patches was dropped (or
maybe assimilated into another one).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576088.901833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTro-0007mz-Tj; Thu, 03 Aug 2023 08:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576088.901833; Thu, 03 Aug 2023 08:39:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTro-0007ms-QZ; Thu, 03 Aug 2023 08:39:32 +0000
Received: by outflank-mailman (input) for mailman id 576088;
 Thu, 03 Aug 2023 08:39:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRTrn-0007mk-PP
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:39:31 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42b32575-31d9-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:39:29 +0200 (CEST)
Received: from AM0PR04CA0116.eurprd04.prod.outlook.com (2603:10a6:208:55::21)
 by VI1PR08MB5408.eurprd08.prod.outlook.com (2603:10a6:803:130::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:39:20 +0000
Received: from AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:55:cafe::e9) by AM0PR04CA0116.outlook.office365.com
 (2603:10a6:208:55::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 08:39:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT009.mail.protection.outlook.com (100.127.140.130) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 08:39:19 +0000
Received: ("Tessian outbound f5de790fcf89:v145");
 Thu, 03 Aug 2023 08:39:19 +0000
Received: from 80dc86cb0a2b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 272FC1CD-FB26-4604-B345-2468A09FF1D5.1; 
 Thu, 03 Aug 2023 08:39:08 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 80dc86cb0a2b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 08:39:08 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9617.eurprd08.prod.outlook.com (2603:10a6:20b:60a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:39:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:39:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42b32575-31d9-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=24UuytHTGu6W1sbBtxfuRtUA8GkKrUW9H/7CxJT7wNM=;
 b=43FsXKkm3bcuHgQTJMLATplBLoOYQzCZKdhXAZKA3vSUOvYS0/plDxNY0xDCbc9GeESPpNAH+BqP9MDj349fseldULRU31duuceQu3nqW/M/wX1hNKYYftFOuEjS+cOcJOwCZpANxlVXs6lIDshI/c2b2UXmdioQMSxLZt+2o+8=
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: 64fe5bd1c2aa6dc6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XZ23lFN038n8ZDBXy5oii3/ePupS7J/kaPHidYXZmmEpu8QJ7EGJcLNBO7rR4qBC3hyrmNUtpDymxG+XLW4ToAjW6kC8woT/AP41RqkXWNIyHpfap39HfoiiD/KctQq217kAxjK+uAu3KXGohse9u0eScvXMOE/gBa8oT70uFkUy5jOiJiUbDM4VDTSqzFhFusQBMh1yI28UdOxK7gCpK9n0WrixClNUqV884gPe2lZy/L3x4xxe9g6cxYU1X1/rogNXxeweSk251mg6XFi430/mF5bFZPiroiSlQbjSuzqV52dsBkv0ddaQe9IQMBkMeWRkAVBFhjdqJbJRnAo8MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=24UuytHTGu6W1sbBtxfuRtUA8GkKrUW9H/7CxJT7wNM=;
 b=adWpHjqwX+wWLqy+zQvB70oD4OAMaWtRvOf61f/K8LGPSaS/9VwLskEPpQabQ/XQOG3Bz+E/aTdG02/IKpHRh21K6liN6+B5W9bdprLdxDAEyVLwgqQxZXb2EqBrW4MGhR8GoCuKyMG3cvrHnWynushMFWeHzV9wLIAFf8fRFe+wiyYbW/up2xd5Nc4rbNAB3lnNbt9oKX33Mr8rftmbM12J4jXURfcWY6FEMX0ivvl0ZANwqdFiJYSO3aIttBnUnOGEOi8wTfWFV1HXGYYSjrtu9Yy9/2N0rERjk01GvZHImvGmOMPpG9QrkCzKZL5IPemGMuC/BxcYbrKQawZOeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=24UuytHTGu6W1sbBtxfuRtUA8GkKrUW9H/7CxJT7wNM=;
 b=43FsXKkm3bcuHgQTJMLATplBLoOYQzCZKdhXAZKA3vSUOvYS0/plDxNY0xDCbc9GeESPpNAH+BqP9MDj349fseldULRU31duuceQu3nqW/M/wX1hNKYYftFOuEjS+cOcJOwCZpANxlVXs6lIDshI/c2b2UXmdioQMSxLZt+2o+8=
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: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index:
 AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/XEDgAgAAEZQCAAAGbgIAABJqAgAArPoCAAOPegIAABcoAgAAIA4CAAAcSgIAAAn4A
Date: Thu, 3 Aug 2023 08:39:02 +0000
Message-ID: <BD156163-5EA0-4497-9A44-F32CB257DA4C@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
 <33DCC5E2-7190-464C-B25A-68BC68CA4021@arm.com>
 <3942c22a-80e1-29bd-4bd8-15d4bc43d220@xen.org>
In-Reply-To: <3942c22a-80e1-29bd-4bd8-15d4bc43d220@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9617:EE_|AM7EUR03FT009:EE_|VI1PR08MB5408:EE_
X-MS-Office365-Filtering-Correlation-Id: e910746c-1a42-4f4a-364c-08db93fd2122
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:
 j6dKEaeu9v7FoOJAuYVf50/oruq1Kae+agxyJm9G010LsI0L5T/sqK3L5uMA9zGBKkS+4hRVqbFSqBP3cZD+rYDTEv0qQHzM6iVFjMjyKHd6Qi44aws1GsV6HBQ5oCS8pUrCu5DMkuDfhaWnBiPe/jnk45wvYB9H/nchgBJ5Ss8yp5h/nku++CYOo1q6XzgXVpx2RW4le3WZ5UjT6va/QAh8N/EJ//j9tZpuR7EOO9ap5ns0zi9ehlTuMWKihCBvft309Yu4TkJa7S4sPBcTmkY1NN0H0sLpaPGOx/qHBvsEtfHCbzJ453vJjTyHpxaWcXeDBHW/GRUv4C54C9b2Yccy7fPgnFPpp7DpzEXAlc/Ua1KPS8MEky0guB9KsuwPSinthddRHtqSZuNDNrPNm4xckap24TIHmtGzbih5AG7rl9LclrPdightIQ+sQ1ce+mAqKsoXs4f0I2p8kdrwU+H2D8uB6wjvNFJB8nbFeSCxhEAzCglA6Akc4gxazMKVh5YsZU1tm/oxHyN/2W15Oahqtf1ZSRZaplwCYJbc/Q0e1OHC1edMB+WVVQrHlJqYdkvYMNoQbdjrq0GXQX9puekr8Yc18u4E+k026aeAnMqkpqesixhkm1EdSxwP5dhJpCKHlHGi+dK039SLeC3B5w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(136003)(396003)(366004)(451199021)(38070700005)(36756003)(86362001)(33656002)(54906003)(478600001)(38100700002)(122000001)(41300700001)(2616005)(83380400001)(186003)(26005)(6506007)(53546011)(8936002)(8676002)(6512007)(6486002)(71200400001)(66556008)(6916009)(5660300002)(4326008)(316002)(66476007)(66446008)(64756008)(2906002)(66946007)(91956017)(76116006)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C139B71E69A115488FE772A50E08B165@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9617
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:
 AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1732d8af-f9eb-40af-6bc6-08db93fd1744
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hzkpuR2sqAJyKs1Sk7NDEfc8SAE6dV4RcjSGILTuqa9cBo84kCiRlamgynKv6SCVNfqyBwjiFW55w+g/m1r5DAuXqZIS4ojl1375rDrqEmpCUFJbDfzxkHJVHZVczCqSspUYDOtB9gNEB8f+U+Jy5ig3fDd2exZg+dY22bI8fg7L8w8FRY3WD8CymrQ2GXryArs41PebX9NKq6Ip2fybaxLLsEG4pfIikGOscy/z7ZN1i70N4JQZ/ck5RZozHtyvWnppmokHXGJS/G4qnhUBjjbRax+QVn2q4rHoGdOifnquSXDAmE5hXxmccXtSbOn8oFyxBCwPY2IWso2e7VgSX624G4nMyllfIbGbsRmjrNCXakojlwLaKs0AMvu+lmg06XBakAvIaTYiSl9PJDMdKdcvGPaoyU3wEOcy/CMoZ8M/7GVND3VHAahuKnvAjQiUM+N4tfRqy0Q3jiDAN52y6Fewp/4Qc788ezvoqgp17QKd7MzmvzkKhIjwdUrCpWktTj/3wUAKwy7JFfQdv0KqU8AYuZfjQqCE/zXZ5qHb/tUZSKcJ4CQS7Il6n/4uahx7KssbhqW8dJdrcM6O21NFxTvjNQVNqIXUgaT300H/Lf5n56+RbQ8a6hpzsc36/eYrPVHbA/yTxiu5yrXze+LfM2jlaTF8BqVCCUWFy4uqH45E5A2KFX/rj1Lx5phD/Hy12C7K6GsApZLkCs59Ga54T4p1qH2TNMx3sv+FIPSRmLHVOIvG7x2P131GYFXpr2RF
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199021)(82310400008)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(107886003)(53546011)(6506007)(83380400001)(26005)(186003)(336012)(47076005)(36860700001)(316002)(2906002)(70586007)(70206006)(4326008)(5660300002)(6862004)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(40480700001)(356005)(81166007)(86362001)(33656002)(36756003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:39:19.4175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e910746c-1a42-4f4a-364c-08db93fd2122
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5408

DQoNCj4gT24gMyBBdWcgMjAyMywgYXQgMDk6MjksIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAwMy8wOC8yMDIzIDA5OjA0LCBMdWNhIEZhbmNl
bGx1IHdyb3RlOg0KPj4+PiBUaGVyZSBhcmUgc28gbWFueSB0aGluZ3MgdGhhdCBjYW4gZ28gd3Jv
bmcgZHVyaW5nIGVhcmx5IGJvb3QgaW5jbHVkaW5nIHRoZSBlbnRpcmUgYm9vZmR0IHBhcnNpbmcN
Cj4+Pj4gYW5kIGhhdmluZyBlYXJseWNvbiB3b3VsZCBiZSBzbyBkZXNpcmFibGUuDQo+Pj4gSXQg
aXMgbm90IGNsZWFyIHdoYXQgdG8gdGFrZSBmcm9tIHlvdXIgcmVwbHkuIEVhcmxpZXIgeW91IHdl
cmUgY29uY2VybmVkIGFib3V0IHRoZSBlcnJvciBub3Qgc2hvd2luZyB1cCBpbiB0aGUgbG9nIGlm
IHRoZSAuY29uZmlnIGlzIG5vdCBjb3JyZWN0Lg0KPj4+IA0KPj4+IFRoZXJlIGlzIG5vIHJlYWxs
eSBxdWljayBmaXggZm9yIHRoYXQgYXMgYSAuY29uZmlnIG1heSB3b3JrIGZvciBwbGF0Zm9ybSBB
IGJ1dCBub3QgcGxhdGZvcm0gQi4gVGhlIG9ubHkgdmlhYmxlIHNvbHV0aW9uIGlzIGhhdmluZyBh
biBlYXJseSBjb25zb2xlLg0KPj4+IA0KPj4+IEFueXRoaW5nIGVsc2UgbGlrZSBmb3JjaW5nIHRv
IGFsd2F5cyBoYXZlIG9uZSBHSUN2WCBzZWxlY3RlZCBpcyBqdXN0IGEgaGFjayB0aGF0IHdvdWxk
IHdvcmsgZm9yIG9uZSBzZXQgb2YgcGVvcGxlIGJ1dCBub3QgdGhlIG90aGVycy4NCj4+IEkgYWdy
ZWUgd2l0aCB5b3UgaW4gcGFydCwgd2hlbiB5b3Ugc2F5IHRoYXQgaXQgd291bGQgd29yayBmb3Ig
b25lIHNldCBvZiBwZW9wbGUgYnV0IG5vdCB0aGUgb3RoZXJzLCBpc27igJl0IGl0IGFsd2F5cyB0
aGUgY2FzZT8gV2UgYXJlIHByb3ZpZGluZw0KPj4gYSBkZWZjb25maWcgdGhhdCB3b3VsZCBmaXQg
dGhlIG1ham9yaXR5IG9mIHRoZSBwZW9wbGUsIGJ1dCBpdOKAmXMgYWx3YXlzIGEgc2V0IG9mIHRo
ZW0uDQo+IA0KPiBDb3JyZWN0Lg0KPiANCj4+IE1vcmUgc3BlY2lmaWMgdG8gdGhpcyBwYXRjaCwg
d2l0aCB0aGUgcHJvdmlkZWQgS2NvbmZpZyDigJxoYWNr4oCdIGFzIHlvdSBzYXksIGl0IGlzIG5v
dCBvbmx5IHByb3ZpZGluZyB0aGUgc2FtZSB1c2VyIGV4cGVyaWVuY2UgYXMgdGhlIGN1cnJlbnQg
c3RhdGUsDQo+PiBpdCBpcyBkb2luZyBtb3JlLCBpdCBpcyBwcm92aWRpbmcgYSB3YXkgdG8gZXhj
bHVkZSBmcm9tIHRoZSBidWlsZCB0aGUgR0lDdjIgd2hpY2ggaXMgbm90IHBvc3NpYmxlIGN1cnJl
bnRseSwgdGhpcyB3b3JrIGFpbXMgdG8gcHJvdmlkZSBhIG1vcmUNCj4+IGZpbmUgZ3JhbnVsYXIg
Y29uZmlndXJhdGlvbiBzbyB0aGF0IGV4cGVyaWVuY2VkIHVzZXJzIGNhbiByZW1vdmUgZW50aXJl
IG1vZHVsZXMgdGhhdCB0aGV5IGRvbuKAmXQgbmVlZCBpbiB0aGVpciBwbGF0Zm9ybSBzbyB0aGF0
IHRoZXkgZG9u4oCZdCBoYXZlDQo+PiB0byB0YWtlIHRoZW0gaW50byBhY2NvdW50IHdoZW4gZ29p
bmcgdG8sIGZvciBleGFtcGxlLCBzYWZldHkgY3JpdGljYWwgYXVkaXRzLg0KPiANCj4gVGhlcmUg
c2VlbXMgdG8gYmUgc29tZSBtaXN1bmRlcnN0YW5kaW5nIGFib3V0IHRoZSBoYWNrIEkgYW0gcmVm
ZXJyaW5nIHRvLiBUaGlzIGlzIG5vdCBhYm91dCB0aGUgcGF0Y2ggaXRzZWxmIGJ1dCB0aGUgZm9s
bG93aW5nIGxpbmU6DQo+IA0KPiBzZWxlY3QgR0lDVjIgaWYgIUdJQ1YzICYmICFORVdfVkdJQw0K
PiANCj4gTm93IHRoYXQgR0lDdjIgY2FuIGJlIGRlc2VsZWN0aW5nLCBJIHNlZSBubyBwb2ludCB0
byBmb3JjZSBzZWxlY3QgR0lDVjIgaWYgR0lDVjMgaXMgbm90IHNlbGVjdGVkLg0KDQpPayBJIHNl
ZQ0KDQo+IA0KPiBBcyBJIHdyb3RlIGVhcmxpZXIsIHRoZXJlIGlzIHNvIG1hbnkgd2F5IGZvciBz
b21lb25lIHRvIGNyZWF0ZSAuY29uZmlnIHRoYXQgaXMgd3Jvbmcgb3IgZG9lc24ndCBib290IG9u
IHRoZWlyIHBsYXRmb3JtLiBTbyBzb21lb25lIHR3ZWFraW5nIC5jb25maWcgc2hvdWxkIGFsd2F5
cyBiZSBjYXJlZnVsIHdoZW4gc2VsZWN0aW5nL2Rlc2VsZWN0aW5nIG9wdGlvbnMuDQoNClllcyBp
bmRlZWQNCg0KPiANCj4+IEkgYWdyZWUgd2l0aCB5b3UgdGhhdCBlYXJseWNvbiB3b3VsZCBiZSBw
ZXJmZWN0LCBzbyB0aGF0IHdlIGNvdWxkIG1ha2UgdGhlIHVzZXIgcmVtb3ZlIGV2ZXJ5IG1vZHVs
ZSBhbmQgbGV0IGhpbSBrbm93IHF1aWNrbHkgdGhlIGlzc3VlLA0KPj4gYnV0IG9uIHRoZSBvdGhl
ciBoYW5kIGl0IGlzIGEgY29tcGxldGUgbmV3IGZlYXR1cmUgdGhhdCB5b3UgYXJlIHJlcXVlc3Rp
bmcgKGFyZSB5b3U/KSB0byBtYWtlIHRoaXMgcGF0Y2ggZ28gZm9yd2FyZC4NCj4gDQo+IEkgZGlk
bid0IHN1Z2dlc3QgaXQuIEkgd2FzIG1ha2luZyB0aGUgcG9pbnQgdGhhdCBpZiB5b3UgaGF2ZSB0
aW1lLCBpdCBpcyBiZXN0IHRvIHNwZW5kIGl0IHRyeWluZyB0byBlbmFibGUgdGhlIGVhcmx5IGNv
bnNvbGUgcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIHByZXZlbnQgdGhlIHVzZXIgdG8gZGlzYWJsZSBi
b3RoIEdJQy4NCg0KSXQgd2lsbCBiZSBmb3Igc3VyZSBzb21ldGhpbmcgSSB3aWxsIGludmVzdGln
YXRlLCBidXQgaW4gdGhlIG1lYW4gdGltZSB1bmZvcnR1bmF0ZWx5IEkgd29u4oCZdCBoYXZlIHRp
bWUgYXQgbGVhc3QgdW50aWwgT2N0b2Jlcg0KdG8gZXZlbiBzdGFydCBhbiBpbnZlc3RpZ2F0aW9u
Lg0KDQpJIHdvdWxkIGxpa2UgdG8gYXNrIGlmIHlvdSBzZWUgdGhpcyBvbmUgZ29pbmcgZm9yd2Fy
ZHMgb3Igbm90IChhcyBpdCBpcyksIGJlY2F1c2UgSSBoYXZlIGEgc2V0IG9mIHBhdGNoZXMgdG8g
aXNvbGF0ZSBhbmQgS2NvbmZpZy1vdXQNCnRoZSBkb20wbGVzcyBjb2RlLCB0aGF0IGlzIGRlcGVu
ZGluZyBvbiB0aGlzIG9uZSAoZm9yIGEgc21hbGwgYml0KSBhbmQgYmVmb3JlIHNlbmRpbmcgdGhl
bSBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpZiB0aGlzIG9uZSBjYW4NCnNlZSB0aGUgbGlnaHQgb3Ig
bm90Lg0KDQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576092.901844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTuA-0000p0-Dk; Thu, 03 Aug 2023 08:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576092.901844; Thu, 03 Aug 2023 08: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 1qRTuA-0000ot-Ax; Thu, 03 Aug 2023 08:41:58 +0000
Received: by outflank-mailman (input) for mailman id 576092;
 Thu, 03 Aug 2023 08:41: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRTu9-0000ol-A8
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:41:57 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe02::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 997c99b8-31d9-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:41:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7989.eurprd04.prod.outlook.com (2603:10a6:20b:28b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:41:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:41:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 997c99b8-31d9-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e4g41+gvolXteh4lu96LCzOh+jH7vUgMYcYo72e8zT7/cPmugqNppkmE8UejuQxNZL7jF+1W6iH79TvtzV20dUWPoDAvIniACM4CGDqnVREa7b5Wo+QjXovetClJ9nkxKB6rrT13q/2+CYFMIAjQcRdAUfQ/1Qg6JESLgc0h+rHWJuy3FshRNXtp63pDfwbnhsaK69Fv/soeurSEh1DLc/eU2m2Uy9wZQyi5oOGniy5HJJQD3iuDEJSSvECT81nN1+/85F9EsRKqJe/DW8MloBDUu9/1Fzt1An0KrEoMiWepkxbM1Tw7wmMNombAx6GZqKw+wj/CXyk6bPNK4ejIeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3O1vSwflEAE9qOo/cmIsG9F6LMui8WCEtFaeweP8yEo=;
 b=R+FYtC5Sje9k7PXSAzYVx9utIcxoEMSikQaoElPSPEjpxVwQvPzhfxoQfBBrtdaRYboWmZ/izX6WdSwtDVR5jysZmQTVjVT4C/+2Z6yZqvR7l7sqQfLNTZUVLE4PI0k9x/Q5JVHFHhtyqE0loZAA+CkRVP6ewzxN4Uaw5fneQ6dgDDgWpHQ7anb0O/ceybMsPXMNxq9bErU126Dw0+kNMN/8hSGsro2PQjEvdtMY2hZbmlEyW3bIfhoHEoe/Rl0NSHj+0YusOIMIC9ELDrPuU0qgp/baK7vArQscqd2dJipyzw3F4IQT8tAObHkKIcODWNr4A7Jc7PiLbHTjZczLtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3O1vSwflEAE9qOo/cmIsG9F6LMui8WCEtFaeweP8yEo=;
 b=X+y5bOBqgOI01VAXxhaT+7zUExeipsrPFz1haFks03JKewybHMTSjfkvQXN3zdC9B41gJ4WxtBpzKnf3gYnml79W6qVVlhSoOltnGbQfG7dpOVjVVVbjy6Mx5l40n//UHOFtw8v/XTN/3iu+LdHc6AUDQJ0PPl10ZDwOou50lN0ZHgpGAltLDvm8zshS2FBUycnk41HBhkY7q0xCc7RO9FZDsabKgMNa34FLH0a3Njm+sPDGM/9anHc2YANE/fY0At66/EID82RvFhcvIsDgeLh4WSVwar1P9uCAKSNEUf8nvG8xLDyeFZ8LUnn5VGapsvqqRmJd11w1L6JQ9saliA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dcb93b2d-fef6-0730-d0eb-f7f8b7ef17ed@suse.com>
Date: Thu, 3 Aug 2023 10:41:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.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>, Wei Liu <wl@xen.org>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
 <16fa23ecb465442c566a18af0a569092075eef26.1690969271.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021847190.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021847190.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7989:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c941f1d-c4ba-464f-b1fa-08db93fd7cb3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	04lM+C9c7+hcrrAhG2Y+6xbBNxAgnDF40QZutwzkUIJhWvqiC8lKxWtPi2ATTwuhZ7vU8Jgd0GmzxeB6rHba1dzuLd4+i9pvlXgUy8k50OLnRe30bIZITrUFrWu4fhttLyPododCq+Wyh0GV3x/OqJPFWdw3rh3ZMjoxWXxLgAJ2pnlGRnT8wT0yyAEPopFX7LEOSqTPTkns07gEGOuAI2hUZJyvSsEzqZj+FkrqL/AKGLe2oK1nw9NdChsmb8+QiCfC4iRLHzgW+EqD0T1GPDZKxeVrKtY484HGrzktZtdlK73wXygeYYPMzrj0vxgPDiF2qP9UcxbeqGASAsin11ZNa3MGhwuhNyFwm+bsuxf2LeVDz0hBqegnIB4T9V1RIo6SaC6B07LnCMJXH0hESAD3XuD+8ChfF0VKGNf+g6Oxw8YphCKYnZ6MCTOvc+5F6IOvJAZawNUKoETy7wF5kBY8yJCdwHaBaKI+tD8YlVt60n8R+Qjfvuyx1RHh+1gqOdBOfKRyXOG0Yx215RcCav+C+Q3BgpmfCSSbSc8WfzaMNepPBG/e2ShsTTDPXdGrR1BxIrnJoxdFXd+WIeEpxPno6pUEqe5Abzyz9HYrxJtRRRvR0pxTCLzGWsPtYnhBDJKb0bdtu3BP0YvHylx10w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(41300700001)(4744005)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(316002)(7416002)(8676002)(8936002)(6486002)(6512007)(478600001)(54906003)(110136005)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDg4OEJzb0NOTEJkQ3pqZDVWdTlPTEdqU296UkpKaytNUlVFUDNUUEZmT2g2?=
 =?utf-8?B?SUNyZkZGczRUVTI1OG5vMU1GTUhMS2tMOExnT3ZQWFd4anRsQk43WnRZdXJU?=
 =?utf-8?B?M3ljZHBJSGR4TDRoV3JIeGdXSXdqV01MNUdnWmRKRklrZkVhbFA0b29rZzlX?=
 =?utf-8?B?SWlTWkY4WDkzcGc2UzAvODZ6dGVJamhZQTZycDU3dk8yWGIraU9FMWxHa1E4?=
 =?utf-8?B?dkdycFJBNUJ2bjArc1BqQTgra0RQQlFaYjh5K0pHVXYrVWEvSThJYjhETzdS?=
 =?utf-8?B?dE9SS3lVVUIrYUZRMkMwWjIwVWFUbk55RXkrS2pkdHRDaVlGd0ErcUMxUzUv?=
 =?utf-8?B?SU5jS2VudS8zZ3B5Ym45ekxRQWNxSWs1V1ZtTFJRUHRZQ3JKOFVSdmFWZUFF?=
 =?utf-8?B?RUdGMk1KckRLTEVNaEQwOTFIcWptbnZmbHpnVDFzRGlHUWNIdTFsZGhqOUho?=
 =?utf-8?B?WFdHek8vYXRWcmhaeFNENm1BemRWeGxXdnN5VDdZSFFOdTAwOHltNzErMzVy?=
 =?utf-8?B?SzVvZXlSMkVTbENzTHFDQkxKVUdtS0RGdXJ0eDR4NXg4YnNmWFFuaUp6YWVi?=
 =?utf-8?B?ejhpVzYyRTVhZjFUNHFKWm85NDQxc25oTUtmUWZuMEJzYjFsQ1I1aHlwTm1W?=
 =?utf-8?B?T0lLek81a3FMZG13ekU5clNMa01mVlp6bGpXNGErN0pWbVh4VWxqZVNZYzV1?=
 =?utf-8?B?L0U5Sm02QzRDRWNId1JNOExWZ3pMUzBGendUWitCbnRjVDNtWHAvUHRETHEr?=
 =?utf-8?B?bS9rTFVDbXAvZmozUERaU2d1azY0K0pvRmI0R1dLeWFvMy9yVnN1bkdnbmVT?=
 =?utf-8?B?TDV3dXRoWkNPRDkxMlVMbGZaNVRqN2ZNM0FyeHQ4UzBMWjFNS1Ixcy9GbDRv?=
 =?utf-8?B?RGhyN2tFUXNEWktMMWVFeCt0N2h2QjJKWFpobnI3TDE4RXdaZEsyaGRVSGls?=
 =?utf-8?B?SkYwck5iMzZuM2RDb3Fra1dmbXhhSXpuLzJIcWRqc2kzRjltUklMakN6ZmJI?=
 =?utf-8?B?dmw4MERxMkVRa3RvdEFJWk4vWTF0T2pCRnRPdVFhWFA4NjJFZEdaRVZ1Tmx5?=
 =?utf-8?B?YVI2RjBtWGZhM3RLUFhMNC9ZZlN0Mk9IM0JUZGRQZll0MUFRUlUwZ3FJci8w?=
 =?utf-8?B?YnBVSWVKOTZKRDQrcjFVcEEvRlBCaUhqRjg1cGZndy9qQzFwcUZyaUtvbWZR?=
 =?utf-8?B?cmkrTWFJUWIwVU02bFdIYU5wTHl0ZHhQRm9oU2FLREdpVGxndUVsU0hEZ3RS?=
 =?utf-8?B?UEpBZUJyOTQvU0xFMk5uVlRDakxHQ0NuaWtBbEZUWXlKSnhHMUdqQ2t0Q29S?=
 =?utf-8?B?R2N3V2hIZCtQK1pHTGxyTEJRL0wvNFhYdmJLOVhuV2tIdTlVYzd6MlBtbjZH?=
 =?utf-8?B?ZkxKRk95aGFFTFBnSmMzQ0Z6Tld2TUVxVWhJQXdBUzF6eGdEOWZFMGZWc2E1?=
 =?utf-8?B?aHg5MVlaL3N0aERLODhHTFdiNzBLTDJuZjZWNVE5eW82U0lFbmloeFNBTDdl?=
 =?utf-8?B?MExjZCt1UFdWWjFDZTVkNVBNTWdOVXdnSVZwVXdCSDFLcUkwVXQvTmJCOTdR?=
 =?utf-8?B?VFFrSG5KV2dCRVpnTGlrb0lzcGc3d0UxUEZkQ0g2aWNKK0tFZ0pFZnVpSGlo?=
 =?utf-8?B?NFZjeXRFeDYyM2Fpc2s4WVNaTTduMjRSb3diMGdGb1RTRksxbmlMbFRWMU1v?=
 =?utf-8?B?VWZsc2N6emE1OVZyeDFkRCtSNG4vZkpBRFVoWHZ2d0NFMy9jbTV4bVhFQnRQ?=
 =?utf-8?B?UmJTaWRzYzdhZHcyS21vdmY1TmVKWDdDaDd0QWlwZmNDcjlMbW5oc1RLMGJl?=
 =?utf-8?B?N1lZSENKdFlkQVlzakllRmlhelppcnpERjZjRy8yR1Vhbjk4d0kwVndLZXM5?=
 =?utf-8?B?b3ZzaWlhdVU2U2x2OHBOcW40UXBhOCtEenBsY1d4MTB5Zi9PejFodmNpVHBQ?=
 =?utf-8?B?V1lHNktKMlRzOVJiaVZLMGk4N1QzcWE2N1UyQWEwVmhlWldqdUE5dDhGbWxN?=
 =?utf-8?B?VmIxYThCQUlyNHJHMXBRZnNJM1Q3NGFKVi9CTWRwbUpTTnFxOUNxYWk4cnR4?=
 =?utf-8?B?WGw0amRUbjQ2YW1zMGxJeDQyTFJMVWkrMlJqRFFmMDhlMHNzY0xiNTQyM1Zl?=
 =?utf-8?Q?HNY0z/yN3m2ZI6ZTxngub9nd3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c941f1d-c4ba-464f-b1fa-08db93fd7cb3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:41:53.3059
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DyqGVNAUDgr+j4iqPBwXKf8WmlTHXqxlJusXxeumBhW2AHH5vyuQ+bGfFp7wwhxYztgIcnUWYxztEYZHR81pBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7989

On 03.08.2023 03:51, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/hvm/mtrr.c
>> +++ b/xen/arch/x86/hvm/mtrr.c
>> @@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
>>  
>>  static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
>>  {
>> -    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
>> +    const struct mtrr_state *mtrr = &v->arch.hvm.mtrr;
> 
> I can see in hvm_vcpu_cacheattr_init, mtrr_get_type and other places
> that we use:
> 
>   const struct mtrr_state *m
> 
> maybe that's better? I'll let Jan comment.

When unambiguous, personally I prefer shorter names (and as you say
existing code supports me in that). Obviously the longer a function,
the more potential future ambiguities also need taking into
consideration.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:43:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576096.901853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTvw-0001OB-On; Thu, 03 Aug 2023 08:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576096.901853; Thu, 03 Aug 2023 08:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRTvw-0001O3-Lm; Thu, 03 Aug 2023 08:43:48 +0000
Received: by outflank-mailman (input) for mailman id 576096;
 Thu, 03 Aug 2023 08:43:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRTvv-0001Nx-7d
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:43:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbb06ce8-31d9-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 10:43:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8333.eurprd04.prod.outlook.com (2603:10a6:102:1c0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 08:43:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:43: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: dbb06ce8-31d9-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WQ1SLYyj7jEm3ynpPOMAF2rCMRh3VH/WuEtnsNEaWqpNM7xvS1adCsihGJJxej+Jgt6+c6wpVHLXqM3jGzgRUe0Egnh/UJjon6zSVUP5wT0PPrh+WGb841RY85T56GAcYVG0ogb0nlVVOhpEWwL7WwmfFtbXSxVBXFoPdjJ779jmDrerdgcPBH9RsHN6Ff/FilitPHmg8uplzyITxYjZxfWdaA2kVdJlpasfEG4qdSHSQ7AJI3vW0GOPAcMRu0tT1iTdoWKVOkRlAQHNuVyshB4GnkqN9I+c7qH1jsK2gJ7DHjWpnMYmZm6ACjH7HDcSTf1CUnpJ9YJ7Co8Fa9YOvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0+U+7andq4PMomAokpMT4FjNJbi+2tsGvsddXhjZ8fo=;
 b=Aywp4c9NIEiybV8Ge18wJ6h4c5dyXZtUrkd/+y9rZGV5IY4rx//xmE8vp/BGfbIqYP2EUk7EJYsV2dzD9uM/s/x4clFv2ehOCp3ukch3LEkwkseQajUdt7usPhX6SZCsF3nQ49gnCSpNAlcBcAUrrZ78m0PchbSCRTANoo2y2fVeiSqRJOFMoswmc35i24nLlqlsSuyXlNdrdxnlFmQXQdD2fY39AIemASlbDtPNzUSe8m79Vl9mOpbnASRm4C2ZLjAqcmIlVkmHMOb61CPewmdX634V84uf0ueYOI/HnYkfN90f/RHiQxAZ912JY5X1mY1CGHRUPb5+kpBjZtkEWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0+U+7andq4PMomAokpMT4FjNJbi+2tsGvsddXhjZ8fo=;
 b=GyKdc2NQkzuQKosPW6MTRP0u+X1e+unh6aRSLYEwJ5Ee6pK4q++WD3mDytjG0fpwpGNDsz0JAbsz2FFTVIMIeInfDZzCI3naqlBTcuMEuOFy+SJs/qB6GFKn2AgRRp8Cx8vGkcTVJxulFuWvuceGsbm8vVVjjVx6Nxq1gW8rGuYgc1hofNTB/5xMiSa4RAS12rGkx+x2rakdItb4xsYxE2RXyTNrxaNyUG/O0LmoOUOHDiNq6kmEHNYpbiXSJFBCIiXCMH24gCdCjfRwgfkKvhd0pbh9SpuL2J5P3FZtvg4IeZCA0gaVwkGk/RRUtGWu/qQasbYLc+9QLBl6c3fnmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e89a09e-ed5e-5322-2b94-4547d930ac7f@suse.com>
Date: Thu, 3 Aug 2023 10:43:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 3/4] x86/irq: rename variable to address MISRA C:2012
 Rule 5.3
Content-Language: en-US
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,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com>
 <af52de5af977362330680707e0acf890e3cb0995.1690969271.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021900030.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021900030.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8333:EE_
X-MS-Office365-Filtering-Correlation-Id: a12debc3-1298-41b7-eefd-08db93fdbe7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/Bb3q3dhpnI0uRrD2oF3I4MW7hyOoNwW1NVhg0N2CYMtJgRsJ3oiSRCQI+Urawgd2JsnjnA3gTB5NI4Ox9MGEcsJloo/DTA5pg5LbWd9a57M/KvoJatCGKXVQXQDqfjaCAWTxesq5si+QjUQy3QUsIb5QdIWRWsFclJWLJkfxJzMd9w40qgx4fqf+USf9HWsfcfjOUlb1FBaKcc77zj0EeE7cgFCHY4RhXsAoqhxLUmzP5JxTh4n454gCIVk5TRyjX8VA4qGZvqRSDHer+n/5rcaU5YconQwXezBmr5ggsfyBcL+jiYdmwMLxJchXB6dZVdvIzlhI74WbFGjxuiF4ObzFzNp0aH/5vtIKR0RwQiLuh7yR//WRtHOMun+PLzkMVe6VtQuY5MIuh9KOJ4Eluf3oIRzJF6u6pbkXiG3/V+9SYbcEb96x75Cn7YUtNpA/KdkR2BhbHbLvggUtOO76o8pgGrJm2IGvk7oikxKRrEAvrQa5oq8GfrtaMNkLC/pg1OqQWmCKGDE7X00RBKEPafS4uLYlJtqCxmRebpwG6JoxbpGh9/d6ln19VccZHPKBIfSAxDt+s2O+ocQWk2+6u0Y0Y9BBVO6KKiB2w6g2OyyNERROh5yRaWnNZLW8kI4m63UwHXBKaLGYgZk33bfjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(4744005)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(7416002)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(66899021)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmNPM0JralEvcGtOS093YlR3bzYraHdDazlDUitKVEdNRDBLem5pMVlQb2dV?=
 =?utf-8?B?TDBhZGFYeEhDYjJnSlIyaS8vVnB6NzlpdWxFcFlGTjRMTCtoZ3Y5UEk2K2s4?=
 =?utf-8?B?ajE3YjVlUWwyWnpraVlJMTFRNUozSEJJeVdoWG5ZeVNWbmhyK2VzeU1EeERE?=
 =?utf-8?B?Y05FcmxXWFNJZWJsVHdXbVlER20rL0N5TkFwazhDNE02MGdvU1NjajFaMlpu?=
 =?utf-8?B?OEZZWWFUd29vZG1WaFl6SDRBZWhFcjdWZkZYWjFURmIvMUxFbFRtbEIrbFEw?=
 =?utf-8?B?SDZjUlU5MUZWRndZR1RZTTl1UDlrU0JnUXJ2SWlUcVZHQi9Ba1BTL1JpbDN4?=
 =?utf-8?B?OHNibU9BS3ZQZjUvb2tDSzNEWVlTaXVkTzNZd2dMVk4rekYxdi9YbXZwQTFJ?=
 =?utf-8?B?NGFBRE8yUVpXQzd0UGVUK0hTZDZmdlN6Y0F4SVBvOUd6SjdhdTBXdndVaGd1?=
 =?utf-8?B?ekRQODZMQVNDR2NWM3VDdGk1VlQ1ZTZIci9XaVdrdEJGbWphOHUzeHREL1JR?=
 =?utf-8?B?Rms0WE5ycDdwa1dyVFpzSGJLaXdCUkJJeEdQanpLSlJUc0lwSFlCa0dmTGJI?=
 =?utf-8?B?dUh3cC94cjRUUXI3V0duK2VxQllyMGRYSEtFTVNWMjRsNnlHMEFRdXE2ZnlN?=
 =?utf-8?B?cTZhRzRFbm90bGNRaE5qZlYwd2R2MGwyZWsyYjZFL05mL2lreHQxK25Wc0Zm?=
 =?utf-8?B?UVFwVjhZMjd4Wk5nc25RNmtQY0FNNFdlcklUUk9SS3ZoOGVaS2VFRk1iQ3dT?=
 =?utf-8?B?akp2NjhuVWVJZGQ0T3VnS0Vld0pIUUpWR2VBaWwzbVMwUDV3RElEZkhlSERm?=
 =?utf-8?B?Mmc0SFZjM3dkbmo0Y0ZRYm1VWk50UmJWQzhPZWd1LzFNdVRYZ0tES1hNcWJ1?=
 =?utf-8?B?Z0h5dHpjSnJxZ09HWEdtZm5GYlpCTTBXM2liRHZBbjdzcGtMVWkwc2hrR3JJ?=
 =?utf-8?B?bXVWYnZ1RVBOd3VaRUxMU1ZhRWU4T2JCd3BNWE5nTy9Sb0hTWVR4dkRwc0sz?=
 =?utf-8?B?dFZvZTRycjM5TWljR3RubmVWcG5MYVJieXdZN050NjFjWmZnN0QxTTBMSy9n?=
 =?utf-8?B?S0NSQVlPZEl2dWhEWGdyUGovU3ZDTGNjS1JRbktBNk9mOGM5eE1yZ2k3Z3hF?=
 =?utf-8?B?UzlRdWJMMVZlK3ozOTU2d2p4UGtQV29HTFVVSmVJcnFVU29kVUZyOHdMVG5Z?=
 =?utf-8?B?K1VRZCtmMkZRWjBYczhKWStjTnVNcXRnSFdBN0pzbzloVmsxTUloNXduYnZv?=
 =?utf-8?B?S0pJWU9TQzdjZjM4UjNkS1pYS3Aza0JFUEdBZlg1WVIyZElyWVJIVTRXSUUz?=
 =?utf-8?B?S0ZOdlJ1UnFZWkFnK1hSQmEvWE5sblNhSlNHS1E1T0xuaFNiQTZGZDJxamVR?=
 =?utf-8?B?MWlwRGhIQkdpd1BESDFCZ3RLWk5RVXExaWR0NE4zS2Z6MWpseEhFOFY2YkFW?=
 =?utf-8?B?RnFWYS9OTW5oNUdSZnpjMWFpbVlBREtDNDdBVWZGZjZsZmdmMEJDejdsaVZF?=
 =?utf-8?B?QWtKcWlQSS9HMFVXeFpwMFhTdGJyQU5xOThXWk5UeTFHQmRuNWtYRmRRNUFh?=
 =?utf-8?B?SUJqcnNsZldRRFQySGRNbG44dGM2Z0QrbGhGVHZjN1l6VFR2NGtvcWFVYkF2?=
 =?utf-8?B?d3RjeFcrY1MrbktTRUNSRndBVW5YcUFUTVJ1OUxnV1JHaTZHaGNHdG5wZm5j?=
 =?utf-8?B?V29wK0hjUVlKRGFGZlRwRkUrenl0TTFEYlBDWWFLeVNuV2ZtRjI3ZVBML2lo?=
 =?utf-8?B?dkl1ZWltcThRTHJQWHlzNWEydW44SHJlT2dGUG90aHBSaVhwZktyQ3FXS1NO?=
 =?utf-8?B?OFlwTWN3d1lHQjBxdlEvMnQ0M2k1bWxRYUVzOFdhNjd2MlBJTEU4NWdBNG9P?=
 =?utf-8?B?TXdtRXg2T1RqeFg3VTQxYndPTnQwT0hnZ1ArUEpuL01ydkgwOG5HNFV1RkdF?=
 =?utf-8?B?anBYUXdpaHA4Z3lTNFdWRzJqRi82bk5UeVhvcE1MSkFtc2d6aWxEdDNZdWlj?=
 =?utf-8?B?dzZUK0JMZEswZUlycUlRTVl2VERmVnUyd0ExYmh6Tmo3SlJIQnVKMC9sWjAr?=
 =?utf-8?B?MHp6OVFpcXFlM1k5VzNxeFJydGxLUFQ5bDdmVS9BZE5yS2cwcXlFeGRFL29l?=
 =?utf-8?Q?gmFRzoBiJxWj50Fu9ny1fPNDA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a12debc3-1298-41b7-eefd-08db93fdbe7c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:43:43.7664
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I377kftQ2fYXwC5ibwuo202sAtBAOBn6MJWLFRmT7C3ftn6dcRPK0Dl/QSdpNpL/GmKkKOx/UBcecKahcXMoSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8333

On 03.08.2023 04:00, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
>> local variables in the changed file. To avoid this, the variable is
>> renamed to 'irq_description'.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Btw, Stefano, could you please trim context when you reply to patches,
and when you add no other remarks besides offering a tag?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:54:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576102.901864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRU5n-0002vs-Lh; Thu, 03 Aug 2023 08:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576102.901864; Thu, 03 Aug 2023 08:53: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 1qRU5n-0002vl-IL; Thu, 03 Aug 2023 08:53:59 +0000
Received: by outflank-mailman (input) for mailman id 576102;
 Thu, 03 Aug 2023 08:53:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRU5m-0002vf-88
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:53:58 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47519263-31db-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:53:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7347.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 08:53:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08:53:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47519263-31db-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jyNMHPm4+0iQixansHIXlRtHwcQSqJMfDp7ZWha5Koyp0uI82HF2eYy2BGFUe89eKzy4kXgwYbXrUlz4OjjG23UaWMOHKMRE4n+FVBcmChsnyTA3HGz9eN9IPGiFkXADmIPPQfLuu0iEjr674Dq1Z5b/WEt8fQuw43J1sge3AgR6u+zhsuX/EvSJrad5DuIlqxPfcYu8Nxk1KIjS0d/5SbL3vMhkfo5FrSCHht3P0BBEIFMnCLiWsyDe5dZ7+kaDkbEDi81z63NNYhyrknPYOHxkWBEZdlWph4ktD+/rJhObw+NzhoJ7LbgDvIKAYqsn9nNgJXZtyATwmx01dStUBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VbuCDpq2unlXBKLhBLNPBb8KMEi2PfbPxj6w/wTRvQI=;
 b=MUtXGU/ECSubAZCg6FalB0wTa9wv+k3G6m2xKyhfE7eji+qpC3jg46766bZi5tdf5PmJ+1leR0s2oTP0ZkB4CeOIcL8Fz73SIvguIQaorJBeknaK99lhCxcUUZHmLmxF8pIWMJYcZbm5iPkQHniObmcG7HN/BC6imQIS2WHIWWSbOKQOf1RJwoFdzjml/J2fmQGBcV7Uprj5K/vf3LySgXoVgw66CQl5ZSJv25XzA1I8H9+xHUd7D98Qjhox9mpc8pUDNr7UOx2XTWEoFCCOxJDKnR0Au0c9Q1Dz0oUUTzGnwafsOJoDr5F8KrdT5VF+sCOJaAo1MQ+qaD1fNEzi1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VbuCDpq2unlXBKLhBLNPBb8KMEi2PfbPxj6w/wTRvQI=;
 b=EIRM/+IVxLKYwCZ6Hhb6dqQWz7m6i6HCrXzcNm4fGakBTIZ3TqbqixZcsSjnAMUp5u0PpjXGiEmNJEsWBlOJ1Y8GMlOP2WF8PHSDtRYqRkWc2hDD2S73Po9bLURQwA0gpxA5dB3YQtSsoGEst+KTe+Yp/2N2L7WC1GUJQJQEiKMwzBtYkhB72BY1mxRnR/XGM54xujdKupEY4obPwb/SZy9tUz/M8twtyiZb+lNXc/+wn91gSX2Iic87VBU4MNyjGlzTpJGMd0/8yb2QFAzBhSFqRxlaSvlKo4Mf3siBvy0Q0OuKcOuZ9F7pCSUEUBjl3KsBNPrYBnS04NqHglGPUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <376a6586-388b-271c-7667-e63bb1565eef@suse.com>
Date: Thu, 3 Aug 2023 10:53:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] xen/x86: Constify the vCPU parameter for
 expand_xsave_states()
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230802154705.84530-1-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230802154705.84530-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0195.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7347:EE_
X-MS-Office365-Filtering-Correlation-Id: 55829d34-760a-4ef9-b290-08db93ff2a02
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	txwgLymvlzNKy2iuspoekp4Wnz9LBK8EkMFq8mxC5x+pihmQvViMW9lttM7gpIDDes1W0cwF0vzZm/avVU+hsnH+7Rbh3IqpnGnmxhfFmf+JUt9OWtDg5LySSDmJM8BIuuuJQDewn4CmIPxAe1OhRggCqTKl3eCe4AQzWf9loETvdx5PAqdQZAwrDE5zVglAUZnNKtDyknHdD+r75Nwc2qUwyqHwXb/WQsLrrIy49QTQ8g5+ZTtNGkT5KBNYhpWe/FCzfxG0lisU7WckqQgVKLUyMG+F4oMAy73Tw7IimFMxkpuHm3n+QD2NnAIuLGacJbYLMs3MyGmQi3wRQYYtFRea2YiTvl8vXinSCYqXBm7gupHnSb5L+g9jTlWHAWZW2jlPID+dSAgP//ke3ywRAgZMCUB3agZBAxi3koklnZfs170yPtH6SzZsmlJGJdx4iG2vwU1l83W1TntOW8j8PXZNK8XPAAj4b+OKDYMUscHbXL4XjDR6lZdJftqKt3OFf+NuqqQs//Qz9Mhc+hpinEQHBGcCNWYFv7ar5f0XCjlbhSH5cWYBPgQjhJ21HJKNem9RerhVx3wc38c8+Mo2EhySNHTiHn/nuP4qTT6bTBCyRAFLNlDFzryS7VOpOZ/U5ZoYYspgR7nGOlGARiFq2A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(396003)(136003)(451199021)(36756003)(31696002)(86362001)(558084003)(31686004)(54906003)(478600001)(38100700002)(2616005)(6506007)(186003)(26005)(53546011)(8676002)(8936002)(41300700001)(6512007)(6486002)(6916009)(316002)(66476007)(66556008)(5660300002)(4326008)(66946007)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SkNGaXgwdng4Mk04OWtaclBkUk9QVmRsR1FKdCtRZG8xUHEyYkpmMXZHSjhJ?=
 =?utf-8?B?NVpqU3JkRnYwa2d2WHp2NGxHeFJnWVVST2tQSFc1bmMzTktXdXh2aVNNTGV1?=
 =?utf-8?B?UzFrZmZCL2wzaEUzUm01L0VNSUdPRHBjbmZVRk44b0s1T2ErZ1hzNldocXQ5?=
 =?utf-8?B?Nzl5WFBxNlRIWmJVOURnSC9aWDJNaFNhTGVIWVN6RmNzNVArbWlMTmpCK3JW?=
 =?utf-8?B?NTRLczBFUFNGOEwxYnJiVi9CVzdURXBkU0RBaUdpZEluUE1OT2ZKd0RXbEVu?=
 =?utf-8?B?VDEwVm9EZzJKZkZ5RUxxVjlxTmVOaWVyR3JvUFR5K1ZnMnl4ZTZ4RTcyQ1Fs?=
 =?utf-8?B?OS9XY1hJeityUEpzUTl2a3VZaklGNitPMktWOGlnUHh4STU5OUFEUjloZEpS?=
 =?utf-8?B?ZnRvSWhETThRcmVWNXBJZkI5T3lsYzd0amdERHdZOUpKMksxVTRaYnRRbFlP?=
 =?utf-8?B?SlNJSkptWEVqQnVyNzFOMS91UTVYSnNBTG1PTkdzcjlzZUMrTUR1Z01tVjl4?=
 =?utf-8?B?WCtXWFpDZElQalRscUVLMWhGejR1T0I0ZTZZUG5BMEZvK1ZkMlpiZzZGY1hT?=
 =?utf-8?B?eVg5ZWhyYUlRbHJJd09UeUVpdUFNcG1IOEZyNVlxK3hJSENRN3prRUU0UmNU?=
 =?utf-8?B?YTQvbS9pK0tPZ01CKzRqc2tTM0F1TlI2Uk92N2JqMjRTOVYrZENHRjRsTUxk?=
 =?utf-8?B?WWwwZHcrRlBhNy9QVmcwR0x2NzYyYkNQWThEYnQycENkaDR4Q0NFMzZoMVND?=
 =?utf-8?B?S3Y4Njkzb1JReElmWmVnY3FSSjMvZkppUWd5c3FLR21TOTdidU4zWGpFUW5r?=
 =?utf-8?B?LzF2ZFpRMDBVZlFRRzdGZlNaT2lGdHVRbi9vV3Ivc05TZUVPNjJPWXFFMktv?=
 =?utf-8?B?d0Jnb1hoUkp2OFRNQmgvQW9hZWtmbkhHVXpqRERCV3BPRlJreUJZTnNtOVEv?=
 =?utf-8?B?S2FMNURoQ1JoY0h5UFNiY2xxdW9vVm9QNFhKMnhPR1psSWUzZFM4K0hGb0hJ?=
 =?utf-8?B?Y2NXdURSclNCU0RrUlF5ZGhsdjRvWldoYzZCbG1zSEUvVUNMeEJJT2dOOHdC?=
 =?utf-8?B?UkI1RXJNZTJmOUlmUnZSOHBDcjJ6cUlXK1JvdlRqY1FrOUVucEY5TzI3d3ZJ?=
 =?utf-8?B?cTNDRWV1bXNjMWprVWh3NXU1M3VCSnhGZ2dGY2NXOStRRmVCL0F4MFRNRjBo?=
 =?utf-8?B?UVhWMzlYRjg1TnNpUUYvWFJqRVFHaXBmVU5qa3FiS3pybDBPV2FkVHBLQktv?=
 =?utf-8?B?ZG9VRDJTVVlhcm9vbkZzMzlXMEs5a1JLZTQxOHRpTitzbFFvUUhaVEc4cjdi?=
 =?utf-8?B?YW1COUlvblNtTEY0c0hsY0VNVzB4UnQ2YUlweDlkWThGZ0VzMFB2WGUxWW1a?=
 =?utf-8?B?THVIZlArVnMyOEdNQ0xkOHhpTW4wRDVVUkVlRm5xUGlnTU1SZWpMaUN4amt6?=
 =?utf-8?B?MGdXa1VUZzhCVEVlMCt2eVh4VTVEdjdIMlpQT2ZUVUZZV2o0ZXRySG9VckpI?=
 =?utf-8?B?MUJockl1T0ZqNG1xaURvd0hYZDljR094TEVpOVN1SS8vazVtSGp3eXkvTWZL?=
 =?utf-8?B?R21HWHVjelFuSkN6WFVrTU94TEt4aHQyNllmWWVDV3JvVHY0UjhmSFZITGlT?=
 =?utf-8?B?Y3VUTzJ3MUtzTmJuS2dmOFJWSjk3c0VrOG5oZW01eUNsK2VMbnlOTGZQRVUv?=
 =?utf-8?B?T1Vta21UZmJsbUJKWDRJSXdUN3FtMHFud2pMSmljaUVOR0RrcEl2NFZPWDhZ?=
 =?utf-8?B?a3ZMWjRRY2ZVRjVaT2M5TVhycWF0SVNJZzlzQy9uUHBVU2ZyQzcrYzlxSmtX?=
 =?utf-8?B?Sy9nZmFvd2Izb1pOT2tMMExzKytybzFtOHV1QS85QTh6VU5keFlDeE5OY3Zq?=
 =?utf-8?B?M1E5SGNpUUZJZDhjbnp1RHF2dTZkY0E2SkRidjdWQUlGVlJ6SWg4enJRM2ky?=
 =?utf-8?B?a0p2YkI2ZXQybjl6VHVBWGI1YnJYTDBxSjAzZTZsTm9JN2pOYXlhUlBxOXJl?=
 =?utf-8?B?T2crUmlkemRKSGQ3U0pnNElDaGJhbEJkTDNsSHUvRm5LQmlwK3RLWXBad2xL?=
 =?utf-8?B?MVBYWGdlUHBqdGxjWmlpYktHM0JOaGZ0SnNtcHFweUJ4RGpHaTZNZ1VtOVR0?=
 =?utf-8?Q?sfNuswqimyex3P8HwnIXGPcMh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55829d34-760a-4ef9-b290-08db93ff2a02
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:53:53.6292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r4I7W9d09ufDm0/8dXhCErNreOOncO+lqdELduDL9o3vM3GyTz1joczz2ZiDMpaCuofZp8zRrdeFQgLhhKrZFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7347

On 02.08.2023 17:47, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> expand_xsave_states() is not meant to modify the vCPU. So the parameter
> can be const.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Aug 03 08:57:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 08:57:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576108.901873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRU9G-0003c3-6a; Thu, 03 Aug 2023 08:57:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576108.901873; Thu, 03 Aug 2023 08:57:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRU9G-0003bw-3x; Thu, 03 Aug 2023 08:57:34 +0000
Received: by outflank-mailman (input) for mailman id 576108;
 Thu, 03 Aug 2023 08:57:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRU9F-0003bq-5D
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 08:57:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c74ff36f-31db-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 10:57:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8825.eurprd04.prod.outlook.com (2603:10a6:20b:408::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 08:57:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 08: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>
X-Inumbo-ID: c74ff36f-31db-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I8NE/dYkCE8kI5SFu7Q4AUn3lLRr7RfxezZk1qxugD3J4ZbEgi+/r/2r3KzKDKFu2OcD2zJXU1raESp6li8yzzsDw6Kkum/rU2dWVZnx7PT+3l9LPMCmxkmnrY5crHZqfcc3MmDjWHsNlAq4F3cCeVzj3AeyRIGZRTSVxxNMTUCltMCt0wL3uRH80TfRR0w6JX3+rkN+1BMFRoNEuWrVEnDeUNCl57CEcrXEKTy3Nw0XJn6trAdsnqroUkkzRdVLJdLOJIx639c/RLBDEciex/YBkAotQJibntEoa3pCUGNIKCrKdNn8AL2rQ3ng/l74kD4QaM5Mo/jfUh9xvfFUng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RT9ryw0LZDBkectChClncy0rb3IV7pG2xjcg6yTcE10=;
 b=cTyTI6ZGBtg/KVQGR3LTFTkeuKTCuRSH6ArohsfTgqxLrsn1r1Y/6UKtIENH67NzuzvuG+/kf+3CzNOgxx/prXCrvzOteqCxV2QUW5yAO5Tjqsrr9KnjuJ1414Nz64hodgaRI53JurUTFAdaVOWBul/o9LWNudxDMm9cWw3pS6jcPO1VYMhejZ+TWswT1cgSXYWweXrip/KNCJoMgPGw8xQj7jemAGlskctXLn4lfzOyy6xvl2LUWRzUZxMDC2BsoGr+bryaO/u1p0OnKF74NEfP8JZuArjpCh6xttfP+uTSL1kbHYyHvJmZwhzYCSZiDx1VDBQOx9dW/zO1bAipKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RT9ryw0LZDBkectChClncy0rb3IV7pG2xjcg6yTcE10=;
 b=RvelaCQEPmHbGl/xh8kJ/GpGNTFrHMKMbMFj41nKEQYHFGx90ilYSJQYs+AuE6aS1VKcMYLhBDcjTkAL4cxnjwtwQX0u4Z9gAeYxX8fRz0hpwldIworkuKxrrXhzbvo4jWtZj2k8UZIV6JcrgjArfwypi1PhKNk3UXcpVDBMGMkShfTO0o3ZLfvpOxgYqZ6ZMg3L778i1ddy3bNO99Yx9jOpGfN8pqJj/DVJWw+zE+jrAP634wE9+Tauvi9rVGoe0RI+KLgzjV3Ph/FWlJYOgiOoHl0sI9yntRZQc7KV+YFujko9AmAZ5tVdFgFQ5HjrJABGu3h54WGwx+Myua8ePA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3af75576-4a34-ab0e-3c1a-20a143e993e8@suse.com>
Date: Thu, 3 Aug 2023 10:57:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 01/11] x86/efi: move variable declaration to address
 MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.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>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <aa72e3371fa4ab4806cd866c569718d766d3142e.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021906530.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021906530.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8825:EE_
X-MS-Office365-Filtering-Correlation-Id: bc00d21b-de8a-4913-c863-08db93ffa9e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lMJx3AhdgOfIEaVqpWEEb0zR3wDLENyV4DIsUhDTXrom7zqe/JpN+u6jqhYjYVzCMi8qOqIBFtZYKBwIGJX5Yd1pEr6cByCLdXVlEGQenZtYsMv8nQ3lZQ2bPOTtcP9KWSRto1YfLi5/LZkBjdJ+pdZPjhRzJZqPrqaN30S1H5/imyRjfVyYetXwNTbX+FHqg8UptpuMOrKadhBOMKicht4wAiXYIiN8g+W6Xf9SBxjcefIRu0yN5awYv9LRzNohST34GSN0zHjNyKDBNyruZkOqERYf5Ryo4ahtbxngJdZ+HbqBQOdhmdtBdHeQsVj57mdp16qEXjCHt8cHfvMGXwtsTA9GHhjKMHWcQSHafCB6lPUw9BQToQR8Y7WZL37au8/HnVFcH4CkMaZp+PY+cBsCPEqpHylqmmbrNRlJiqVMrOW4UfqMdotwvFRLRhBhBHvnH6kit626tIx2WW2bSrhfPWo7uZj+5RmhNzAR9z18WmBW0huqla/YRyLE6vF/vRX6u19HtvXlVKkNG3xP/6OaCy+qZMv8phfv9F2zdsOCtlOpQv/RaIYN8X/7H24A1HzkrfGoK6Lo01zI6rd+kmbSu0k+4pogUhVhDbX9h1GvIxiRu8I/IkHYIaBjbIB1LD+8XykTN+ZwC8GN4gjCjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(396003)(136003)(451199021)(36756003)(31696002)(86362001)(31686004)(54906003)(478600001)(110136005)(38100700002)(2616005)(6506007)(186003)(26005)(83380400001)(53546011)(8676002)(8936002)(41300700001)(6512007)(6486002)(316002)(66476007)(66556008)(5660300002)(4326008)(7416002)(66946007)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVFaOUhXT2R2WVdPSU9zNG1raHF4OXFEcDJ0b3l0U3ExUStHWnRoMTQweHJZ?=
 =?utf-8?B?aDdxNDFDRVVLdEtyUGJUSTV4ZFVzUzBUQUlZYTJHOGFKWnB3S1NraU0zSWQ2?=
 =?utf-8?B?Y1l1RlJlMVBKSHRBYjRBeml3WWJDVmx5SjNTMjFRaHE5VzBMcFNIYXJ0dnJp?=
 =?utf-8?B?aEtjMFFoRHc4bWlmSlVyN1l0RDJoWkpaRWl0dURTUVRmbWtsRnBDQ3FBb1p4?=
 =?utf-8?B?Q2pEV3pMS2l5MzBhOENZNDR6Y0xGR2V1Q3lXN1lyV2Rxeks0OU41bCtrazFJ?=
 =?utf-8?B?ZHF1V1ZmcTVrM2F5VFk4TXViSlByR3YxaDhQWEkxSWNFclF0N3lBV3hNMmhY?=
 =?utf-8?B?aHBtQ0xMS2V2M1M3QVB6SG1IM2hicDlnM2RVeDlmRHRHNVEzMFAxaGNCdDdz?=
 =?utf-8?B?UDhNc3J6dDYwTUtSUkZtSThuVURIRGRIRDFNVTBGcG1VOUJMMllBcEcvK3cv?=
 =?utf-8?B?c2tYTm5PU3c5cCtwTEJidTk4S1dlNStrb1kwVldHZG9oSnYxN1RSbTFUREhx?=
 =?utf-8?B?L0xUL2NrRDBxTmg3MDFnWXVTdER0MlFKRkN2bmxHejJETFN3MmRTd3dQMlRR?=
 =?utf-8?B?RU1adXBWaU16UUNOMmxrOTJINmdpVytNdjBPYWVlUkcySXZ4d0RlL2ZXWHI3?=
 =?utf-8?B?Nm9TODdLN1l0T21PTUV5Z29Pdll4S1RIb3YybmM3OGpDV0gzN0pDNjNGeXNz?=
 =?utf-8?B?dk1LQ0xuWUluWEk4SElhRzhsSlByRXZ4UjBJTlFUalIzYm5QczQ1a2FZaStC?=
 =?utf-8?B?VlpzZWZKS1UrK3oray9UV1BNWVpra0pzU0VvN081azR5eGVCSE8zNXpsYVc4?=
 =?utf-8?B?ektiWVAxb2FuQm53NS8wdHJCdHp2QTFSWDBnVVJRRUM4cW5TZUNsTWFLMjNZ?=
 =?utf-8?B?VFEwc1ZScmFCc0xIK0dsekNZUTU0Ty9kRFBwbVU2a3NWN0IwaVdsUVF1eDBh?=
 =?utf-8?B?Sno4RTEwZHYyVks2R1gzUmtBZmJjaUMvNFNkR212Y2dOYWRNMlZrSjJIS2sr?=
 =?utf-8?B?TFBnRzZoaldjdVNtcG50aE1ieStmcXF4M2hDeWtSZEZXRDNyUmFxdlM3V0c5?=
 =?utf-8?B?T3BXTFRKQ3hlMi8vL2l4V1AyYklDY0hEcmRsQWRqdUNobXNLc0xNWW9DR2lL?=
 =?utf-8?B?bDRobkkrOWZxd0JaNVNVMjFVeHAwTiszOG5vZ3g3RzE3ZnEvUXM2dXg3Nndu?=
 =?utf-8?B?OVNMQ3kvUDFEU2tWcjVIQjhYVUtDeENIK0dLQnlidE15OGh5L3p3UE5YK0Nj?=
 =?utf-8?B?QzhNOEVSbUUyTGIwbnhkMlVoQ2lwbVZ3TDZXanBvWDVTZ0g0Zlh6MGZtTUZK?=
 =?utf-8?B?Z0YvSmhWS3RkK3ora3BmUm9TZnN2NDl4R0tyMTFFeDZnRm84RXZiM3hqMEZq?=
 =?utf-8?B?RzZjbTZwbDBrOXhTWXZjTklpcmxuWWZDMTczenRtYmptamhsMFJlSmtvTkQ4?=
 =?utf-8?B?dTJqSUlSdlVYRGpaS25nYldrYWgxbHFxLzBuMUxqaFFlUnF1cEI2ejJROE5l?=
 =?utf-8?B?R2REcGxNSG1ScERCSVBLUktrZ2JXN3NhdXVZeTAvUlBNOWFRRnJMdmFJRk43?=
 =?utf-8?B?YXNPRXhZU2Myd1drNk9XUDZwdW91ejBaUkFhZ21SZnJHVjVjbDI2cUVXUmlq?=
 =?utf-8?B?VkNRZTRjaDdqdjhiZ0NVd3kwUG10aVlKS1BVMkNGTkxYelFZTlhFN1dYb01T?=
 =?utf-8?B?Y2gzYVJOeTBiK2IvNGVlRkI2a2lMOFBDaEpzQXFsVW15bWFybXB6YitnYmRJ?=
 =?utf-8?B?WUlzekJqL21oOVpLRVFBelo0N201SlR0RFk4RkdJdlFBYkRjUXpHNVQ5QnpB?=
 =?utf-8?B?RzFJRmpXWVRJN0JWMUxyK1RoMU9JclE2aUZCL3RiNnZKSVpqdDZ3eEFyc2Fz?=
 =?utf-8?B?Qy9hUTVWRG45c3lPR1J2VmU4QjE0VksxVWoyVXZockxJNytzM01kaVVFUE1X?=
 =?utf-8?B?WDFJOEs5T0JzakxmNjdoN2NGWGhVemE2YzBKOWFPMFg4UEdSbjBKY1VyUzhu?=
 =?utf-8?B?eE4rUDlDQW4vaVBZL3hLSWhpUVNUcVBhUjgxaEM2SnVyM0RhcmFxcitSU1Rq?=
 =?utf-8?B?N0F5U0gwR0JkNHVqM3ZGdkVkSTZBSkVGaU4zK0doVk9NQmhIRGU5SWE0d1pv?=
 =?utf-8?Q?KHMrnoDZNmkaOZVUpE+LTAg/I?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc00d21b-de8a-4913-c863-08db93ffa9e2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:57:28.2391
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n4G5k8rFqLH/osLL8c6JiULqdNEaUIxGzLV97Jbh+ram1yYWWdLdVWY9a7DDAvybS0HwNJxwAdcplTjTlrTvEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8825

On 03.08.2023 04:08, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> The variable declaration is moved where it's actually used, rather
>> than being declared in the switch before any clause, thus being
>> classified as unreachable code.
>>
>> No functional changes.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/arch/x86/efi/efi-boot.h | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
>> index 92f4cfe8bd..b00441b1a2 100644
>> --- a/xen/arch/x86/efi/efi-boot.h
>> +++ b/xen/arch/x86/efi/efi-boot.h
>> @@ -390,8 +390,6 @@ static void __init efi_arch_edd(void)
>>          {
>>              switch ( DevicePathType(devp.DevPath) )
>>              {
>> -                const u8 *p;
>> -
>>              case ACPI_DEVICE_PATH:
>>                  if ( state != root || boot_edd_info_nr > EDD_INFO_MAX )
>>                      break;
>> @@ -463,7 +461,8 @@ static void __init efi_arch_edd(void)
>>                  params->device_path_info_length =
>>                      sizeof(struct edd_device_params) -
>>                      offsetof(struct edd_device_params, key);
>> -                for ( p = (const u8 *)&params->key; p < &params->checksum; ++p )
>> +                for ( const u8 *p = (const u8 *)&params->key;
>> +                      p < &params->checksum; ++p )
> 
> In Xen we don't mix declaration and code. So the following is not
> something we use:
> 
>   for (int i = 0; i < 10; i++)

You're aware that we gained a couple of such uses already? I also think
that when we discussed this we said this style could be at least
okay-ish (until formalized in ./CODING_STYLE).

What I'm unhappy with here is the retaining of u8, when it could easily
become uint8_t at this occasion.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576111.901884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUDA-00054v-PA; Thu, 03 Aug 2023 09:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576111.901884; Thu, 03 Aug 2023 09:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUDA-00054o-MR; Thu, 03 Aug 2023 09:01:36 +0000
Received: by outflank-mailman (input) for mailman id 576111;
 Thu, 03 Aug 2023 09: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRUD9-00054h-Px
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:01:35 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58a9f840-31dc-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 11:01:34 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7347.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 09:01:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:01:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58a9f840-31dc-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jd0na9u7ndVbVsUbaSUfbXNpGgOgtpm/X8Y8z6yCE1Y7xfMM5/rWua575TNrGU7cIypZwAJHfMja9oNFrLwQw61h4kcstX+2LEIyoVmpLpqZjLK1DSSDlAPs9VywNIVni6BxMZIwRd6mkBKMPnvUm5SHogxXTJzLAZbtS26l6Q/SL3WOuHaPBHRZf4t+70ufVu7UnWE8D81EEFmYPGtqIdQ5wcCH13FiNGK06Ma7ZHKlhce6lYQTF7sVN9aWkGsYfM14nDv23s5AoVr7fdnTliGT3PXq9/R1E3DW4eYrrm6Df8CB3frtJVeJj5RWVQz+X8JDBbB8mLCxE6QU9BwPCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xFyfZvvP2uaovuJM+c1ngdvlhJmsALwSlhhtKueHeYA=;
 b=S6OftbX2/6CSdDn4UVTWGQekGhbBIEK85oVj77gugB4HLT9HPZYOhfqIeIDuY8cnZ6ARkBi9+Cf0a70pu03hxuZvnOMd1N5NZkiCmDri8NmBEb2lDomX1L4FIFT+oNIpvUfPme9vGABgvG2WYkneo9meBYiLBryDsd/CVGTaaxNYxP54Tz/vFKqNifsxFvVLNEKSjdswEVloz88ojSgdU8LWhRvbehmQNtPWYDK8XwQecQMzjE5nFsvLNUGPB3H+tfG9nWsFgluudjvaxL6t/WV1fHwnXWFknEfx7Re5JgIV5XKAtLdz9iPnkr6KCAY1NAdCX4fovkMd6Y8T9ncgZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xFyfZvvP2uaovuJM+c1ngdvlhJmsALwSlhhtKueHeYA=;
 b=Kc2wFxJLK2RgsSwKe9E7C/fysE3qd5dGFAbCYTxUzc/8jVOYejoqsQ2RhRvXk3813Y3DvRc6PMLnaSebdq9CDWILJX5c4TRGykk9l750oJzNKhqOOJnkO3GkSRRH/WT9zedYEpJy6+zRAza6sb2L4KjhOoVZGkkJUL3ddrSAASvcENrnTHqgYGYYTouN90NLo3Pfr025Ix+pfqttaPK6eTvnGT8MJ81RRyu4XhTlD50m+VnM7UslKj02b5L7oxKkIh21xajyt3dhMDyQKtgnvZllHjATztlff/Y7yGPnzniU5uivmmo9SRyD8OXNlk97/9anZtCu2tzm0ws2r0Zy5Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
Date: Thu, 3 Aug 2023 11:01:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.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>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7347:EE_
X-MS-Office365-Filtering-Correlation-Id: 902989ab-7308-4b32-37d4-08db94003aff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dE4N9Eo72lYYeMktimdbhvH4t0hRc4ODoRLGwaJaVErkvFpitC5sqEXBJKZvXDoPhQ26saciuOHYATZ4W2gMiF+5LHf6nlfcUmSWwavtJfQ/FP9FTpqV5vErwIj95a3f/yEMIa7yz72GP596hoUqdhSFgRXNHX6R+B/UmleOvbTe3SU/W5WvlVjCpzKINGxat5+qwbxU1AxqvWxGOWA2cKq8moCs4oAwVTiDQ/Tpp0z4S/Rl+iW7rcMiebrnGEvM7b248OUe4NUBm51YifuLdsg3q7+WgQkSQO9mLYrRyrGHGYr00OlEra9BnC1fOzOqBHPuUn0gJoyQGVbsEjSeN5pcveok5FTM8M5nvPu+kFkFwTrWU+w27HqiV6yE9b3tIg5+SAsSDfkuAAlDO29F+T+VAOw3tNIhjmTSB0DVmZlP2D5V5z2mGEMF+bRkBYv+h+lDfjKDHJ82evNVrTSvylfP5jtEiwAoIoJT4v3/GNUbQQj2tAWE5CtHV5Ioh9doStuVvjLNjo0UrsuEMjXBKAuJNm0ZrMLiZefsDbHzqL0OKgNZsO++z9mto7cXEFxHPsmMY7BrmA/Sv/DDcMsC0pmsj3m0uUARq46cQb0KIKNu7JhYA04Yhlq3cViqpmYSPsl/7jLOqLcAOVBIxKPcaw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(396003)(136003)(451199021)(36756003)(31696002)(86362001)(31686004)(54906003)(478600001)(110136005)(38100700002)(2616005)(6506007)(186003)(26005)(83380400001)(53546011)(8676002)(8936002)(41300700001)(6512007)(6486002)(316002)(4744005)(66476007)(66556008)(5660300002)(4326008)(7416002)(66946007)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkQ5WWZqU3RlTWdrSmVBTlZMUVZWbzYrSlc0bjVML0g1YTZnZTQ4Q2NjTk9B?=
 =?utf-8?B?VmN4OEY1R2p6NWZ1RU9LV1JmVzRJMzlidzdFT1hRQ0xUMHNpdXo3Mzdod2Ez?=
 =?utf-8?B?UkxMbzdLUXZaVWRqYXB6bVJSbUJtNTRYbEVFRWlVMUkvd1Q1MUVLbWhtWUpY?=
 =?utf-8?B?UEJwYU5lVkwzc2IxTnJYZGt2M3phMTh4czlPbk5UVm5CNFJYSWZTUmFqWEd4?=
 =?utf-8?B?bSs5cnM4RjV5M1QvUkZ5czVXLzRERVQ3Z1REMWhYZW00MUgxSmkzMCtkOTJZ?=
 =?utf-8?B?eWFieWhKbXk1b1BuNmk3WmpmSUQrU0d3bmtPd0duR3dxSGhCRis3ODRiVUdR?=
 =?utf-8?B?RlU4d2VtQkF6bFlrRTRyZ0diSFFvQThwU2lGKzgvQUgwYVNzK3dnL2tSMFRt?=
 =?utf-8?B?d00zQnlHRUFhaVE4am85eVB2V3JWOUo5NEhvZEg2a2RlSXVRVWorR002NkFC?=
 =?utf-8?B?SzVnMTRlejBYZkw2Y0QwZnpmYXl3Ry8rNmFCMzV6ZU1lT3RsdnpXdnI2b0Nt?=
 =?utf-8?B?ZnRiRTlmSG9GNVladVBDeGhwb0F0T0NTTzFLeDFibWFzOWpJUCtjamxkbnEv?=
 =?utf-8?B?TGh3Q1puYkpNR3c3QnFWczhRMU5YTkZkUVlCeXVmdENQdjVrRThRSmdNS25P?=
 =?utf-8?B?OTEwRldWVGk0bDlWQkltZzNaeGFhNjJHOXRYNXVxWnlVYTd3SWZpY1pjU1l6?=
 =?utf-8?B?c1lSQmRZMDcxSC9JTDNoZ09UMjkvSi9IcEpnbmZiR3BkbHVwSzlrUGQxdzdx?=
 =?utf-8?B?ZUM2Mkljd3I2dUVOSlI1MUppb1orTDZvYmg3bk1MWndTVkdJWlorbUxOYVFO?=
 =?utf-8?B?THBOUE5XUzg3YXIvdjVYa2R0dXJySmVQM3BMaWhHcFdLT242TWgwK2Vzanor?=
 =?utf-8?B?NWtwdVRvK21vMG5jdlJMWS8zdlkwKzd3VTJwRmlQTGtZcFpGaGliSUFPQVVS?=
 =?utf-8?B?VkJZMVdNbmtPRTF4a3JwUFN3WHp6U3hHYlRXZnlPT21FM2p6OXR2Sit3UXQ5?=
 =?utf-8?B?OVQ0TGlqa1ZKZmlYV3BCdWk4QlFtZ1ltWGpHN2ZXa2JRc3NVNVRIeHhoUG1t?=
 =?utf-8?B?UGlYS1BlTU4rMVdrNzc4cWFMbWhNUzhWT09WMTdZbTZEaW5GTGNBblU4VFVX?=
 =?utf-8?B?VktxSjN1Q2Zsd3N2aitBSjNBL0VKN0k4ZSt0dDFNbmxoUHhQanA0YU9GUGt2?=
 =?utf-8?B?MDNyV0dQQkFkWlJOeCtYNXVDWklOTm5FK0NnSHIva1lnTmJieUQyblZsclpF?=
 =?utf-8?B?NFRFcDdndnBjZnZ3YlZNbW50a3RKcGtlSitvOWZUWFMxYjJXYzFDd1lvUzJ1?=
 =?utf-8?B?aW1HWC9XVEdOTVk1OXlCdVIzTEZ1M2lEUTRoZTNmcGxaR2pJZXM0NEZIcXkw?=
 =?utf-8?B?aTV1eEVLTFNEbEs1ZGFqU3M2bSttQUpVeHU2dlQvQzI1TUZJSXpBQU9XY09B?=
 =?utf-8?B?Q1NaVjBMTHV6ZW5WR3VCeW1zNEJ1YkZwdU9QOGprWnNxWW80UGxYeG9KS3p3?=
 =?utf-8?B?K0JEYzhjaE8xaHpYenFDMi95NDR3ajlNRFJqdEtIQ2o1OHpscmpiTmFmYWo2?=
 =?utf-8?B?WTlVaVluYXd6MmJ3QXBacGxmTklEendBNlA4eHVMUmJvUGZmREY1MEF5NHBz?=
 =?utf-8?B?dXhEVWZXTHBCQXNvTEdxYVJzTXNDalZ2cHpOdUN5VUhHU3BJN3RRQXJLdmN1?=
 =?utf-8?B?N0hBUmtwYmpjd0llTGl5OXl2aDVXbGc2STRGekFsMWhUZURZZW90N3BsMnFV?=
 =?utf-8?B?UkhYNVVsSGdlZVZxMUlXc0VoeDF1b0ZWOC9YUVNWZEdFN051dG5yR3E2NnZj?=
 =?utf-8?B?YXk0T3R6SnNzaWc2WGVZVER2ZFBjd2NMQTYvcWpUSDRMcXcyak9GQndibFFz?=
 =?utf-8?B?TVU5bmRKUkVMazlyMmxjQVlPZWplS0hMbVlUNnlnamtGOExYeFZ5Wm9nOHd3?=
 =?utf-8?B?ajdUVzhET01JcGVKb1NQNTVuWDArb3NTTjN2MytuTldscG5XdmN4cXd4YlFq?=
 =?utf-8?B?dDdPUml0UGU1cGNHS3kraWZkOCsrRnFVZUdRdVNXNG96aWEvR0c4cTJ5bVhO?=
 =?utf-8?B?ZURReEhEZkFHMEMvZWpSZTc2dm56RlB5QkVrSTNYdVlxdHFSd1g2T2VNUnp5?=
 =?utf-8?Q?35xmP26WI1A1GE/t1pIArHgHF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 902989ab-7308-4b32-37d4-08db94003aff
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:01:31.5223
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AKuBiqqH8ery9cBQkgCjfPMXRTfadUj/vQYSRUMtmbMv9x/myN40HrYuHeKSm/ccIby4alaAs7U/ekq9oIipdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7347

On 03.08.2023 04:13, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> @@ -1169,8 +1170,6 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>  
>>      switch ( action->ack_type )
>>      {
>> -        cpumask_t *cpu_eoi_map;
> 
> It is only used by case ACKTYPE_EOI so it can be moved there (with a new
> block):
> 
> 
>     case ACKTYPE_EOI:
>     {
>         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
>         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
>         spin_unlock_irq(&desc->lock);
>         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
>         return;
>     }
>     }

This pattern (two closing braces at the same level) is why switch scope
variable declarations were introduced (at least as far as introductions
by me go). If switch scope variables aren't okay (which I continue to
consider questionable), then this stylistic aspect needs sorting first
(if everyone else thinks the above style is okay - with the missing
blank line inserted -, then so be it).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:05:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:05:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576115.901893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUHE-0005gu-8X; Thu, 03 Aug 2023 09:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576115.901893; Thu, 03 Aug 2023 09: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 1qRUHE-0005gn-5s; Thu, 03 Aug 2023 09:05:48 +0000
Received: by outflank-mailman (input) for mailman id 576115;
 Thu, 03 Aug 2023 09:05: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRUHD-0005gg-C2
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:05:47 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7d00::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edf4b94f-31dc-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 11:05:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7625.eurprd04.prod.outlook.com (2603:10a6:10:202::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:05:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:05: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: edf4b94f-31dc-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QyrX5O5fkmHRBI54yX/NnCP/daYMi+9aKIdG8MH5WGkLSvJcYbaxOQubjJg5CY7EiHHsdq3BVj+0kM/V6Z17ulBboLxfitPlp+XgDrEMYb5QFo0B6Pc5xjbSFPwEbzymvjj9UMoiENUHbXsHwMj+HlXjabXDaRcBNI2PMn8Y5HZKjdI2YdL02elvn6KuXaFL5KfSX3eIu3K6/PQFwTJfz5Y9JnQNWAmBMLL8F3zz26LW2mMzjE6xCbSodZRa5qweteHbw7llXavNb0PREoWAYu9Ma642ks4XhJFM2lUNI5Ay8A7n46eqaAI4QI1i4vO4r2tulKIOHZ51sPXVWu7qHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ct6eL2qweUjt6jjItz65Fg+I3CL67e6ZcInGGy57IiA=;
 b=FHCu2vf4XTRm8PhNG3/yL+s1lp7hQLiWsbvLlsM/X/OW4+6nBuN51/sgxEJU8ra0EWDNk6NXJ3ZHhl0aCeulcWwETjL8dVXom8ighLv1rHdJGJFdBQ5Xo9Dt0ImEt9CPOPMHchbSkz3Kl2s48QhqqPtMPqlB+jam82rgLd3GXc3y60ajjgx/Es6wlLzHCHjMNPclZrGUyeNCZ4prBYrU+PA/4MXfvWF3SIR6ryyI4P6tKCvVU8/SrtmfcWQcUCt8vrgqISMW3prDOG4CZEFOo2zNLBU+wHeg/ndm1LqqWJ5sEhUEWyfKD39mqLHzuASEXpQPsqfGfJnKcKqZ5CXuZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ct6eL2qweUjt6jjItz65Fg+I3CL67e6ZcInGGy57IiA=;
 b=WP4mvyGPVUAM9TaVhSvyeyp4qpdcgKNeSgcgC7zzvaXAgvb9WAXzC1QmwhlTNlw4y22hbZRtZ9M12gGeEDilucxC/VM6MPBJbxV6JhT1Ork8vYO2uQ+u1rzOL9sOadgf2DtpDEYBD2ymn35eLbkqiEy1z+hlMiKo+PcJxCSRRhyM0g9UtbH4kcicoBIv1rANVIEjnY/zzq0Zx2NN2KCAGF3u8ScUjDwcGWBLPp3ECaNtywzPH49RtLvAe3tF5hXLd7ObRgh47YlUqmrHxTNd51khEBzw6fDUwTVdbglN7B8ZXz7ZAOeUWAPXybFe1xkb6jbkx3b+QLGtO9sk/dw0ug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1db67ff-4254-a292-afae-9ff8fbf9cf37@suse.com>
Date: Thu, 3 Aug 2023 11:05:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0182.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7625:EE_
X-MS-Office365-Filtering-Correlation-Id: cacafcd9-ac69-469f-aab7-08db9400d0ca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ac+7Fvme0NpSlrKSvvexU9uXRRWoIvgBAOp6EU2oyV8tfOPWB2ko0gO+4vN2PmIco3LZxOxhaFHHG72k4hlwmOBnwvR8+DVLII71dkHpSHcltnm8SOF+h/UmUIRcjYBimRB3mindfznPLfdpnwdz4IsDsZ4g1MM8sojWHyQs76XgS8CEiMQ/2VDAhf2vyqeglXHIo9iv97AASOYsNrWCH4J+Jx97q3ZkMl09uiS0MAhnp1eZBsXt7lJDKQ2rTpsQLbmeOURgUKBfC5YfnL+PIByXWb1GT45nnOgwIJW8xQsxE+MkNVkmMac9icjq9KDyTHaRTf6rSTm+cTUcbIUl8z6l20X9/oHj9zvk7Lq//Is6LAxH5jPta5jK1AuFQX+X2KtuUfE4GrM+kVURuRXEafLlTXNSOEW627sC8IbLHPf2J36OJsIFMpelRVQXFau0P6t9kyTPju+kduUExWd0o/4WTsrFyhXAe+Fk4rGpeJ9lZK2Flt9FFdO1mIYZYoP/UxUPWQF8DhU8sjQzqkbYsHfT0NqOh41+CGP2HcpbWy5Ad5BBKo5xWHBXhJsuk7a4dolD3MHsO5Dxaz8plqILdpfGdQ+8ooExEodFjp7HZqAqIdTYOx+0zwS9vvnWjJEt35gEzdXyz7g9qnMOXax8QA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(7416002)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTBPMWVKTHQ3RDN3NlZicVducWhvemNNSU9NZFo1YUx6bHBPRUI3T2k3YlM0?=
 =?utf-8?B?V3kzTllPYjFscmtnTjB5dHY5SHo3VUpraUVkNzg3Z2IyOW5Td3hsZGxKbEI2?=
 =?utf-8?B?WlVEUjJmb0hhSHZ1VUxmakFpZW5ZdFlzam41SCtDZTd1djU2U21BYm12NUlh?=
 =?utf-8?B?VVg0WnJZS3R1c0gxaG51ckNKMDNRYmVoV0NpSVpEZ215Uzd0QXAra3NGY0lQ?=
 =?utf-8?B?ZGZteTZEWllZQkVrZ2xURml0T2paRTJvSkw2RFhTVWxDVitlZmowcGo3OFNM?=
 =?utf-8?B?SXVtdzZjdEhxSmpVc2xEVGJaVUxQejBNZzJsSVdYMHJlWHZCcC9SZTNlR2xv?=
 =?utf-8?B?S0J1a3Rzb2dIK1k5Q2gzMktYL25ZR1lwQXRsVDBSdFNFaUhxbndBRndJWjBO?=
 =?utf-8?B?ZUx5L2RXaVFVWW1RdUxpeXdOR0ljYVQwNy80RXZSRGlRekY0VFFCZGgzaDVm?=
 =?utf-8?B?aHRVNDRib1Iva3hEa3RKNlVzSGtWb3hHNVI2Yjdweit1aU5QcEk0aUtVTjB5?=
 =?utf-8?B?UVpLRzE1dHVwcjE3QXRSYmZtZTVpbHFzTGQ0ZzJ1ZHovNWpMV2dVUVpvUlE0?=
 =?utf-8?B?OGFiTTJHbndYQ1ZPV1VMdytWaXd6Z3QvOTBuZi91Y2JFaTlQTkFVWmFCSkoz?=
 =?utf-8?B?L1BQQVQ3OFI1YklPL0ZtNUFOcVNNTnZMcUJXbFJNUFJIZktYekpMSXVxZDMx?=
 =?utf-8?B?SStQM0JidzhnZzFaR0lrUXJmVk56clZLTVU3ZXRpQXQyT0hac21saXZFVEpB?=
 =?utf-8?B?VFpIMHJBNW9GZUsrZzBzYnhZUTRMT2J3NlFiKyt0cUE4MHJ1QUtFdkh0SG10?=
 =?utf-8?B?dGY0RE4rV0paemZlWXl4RW13SDhhZTlZQSt5WVRFY2o4SXMxdFJidWFnSUNN?=
 =?utf-8?B?dnNMOUFnMnk5b2w1TmpibVBoclRsY2h5WjZwTitIMFQ5V2tlWCtGVm41alVJ?=
 =?utf-8?B?Y09OcDAvbEtHalRkVnpibGYzRnFpUFJoM3l1TFlXVlc4RTc3UFVBY0c1NEtL?=
 =?utf-8?B?VXEwcXBLYkZpOWJuM0hPQmYwNEcyYllrOGRHQjY2bVFXdG9BMFpUa2crS1hE?=
 =?utf-8?B?eS9TY1I0bms0SmF0dWRhQ21ORFFzY0Npa3NYTCs5aitEeEpKejRqZnphY2t6?=
 =?utf-8?B?QjFYRWRhTk5wMjNDS3I4dHdScE5YbnhpU3ViU0M2TEVNM0c2eXcvZDRJVVhp?=
 =?utf-8?B?Qkh3TzhRN29PWVU2UERzSlhyb0QwcG5wS3lPV2xxNUdlUE9HSGdwWGZNc0Fa?=
 =?utf-8?B?bXZpMGVJWVlBcjhCYy8rNG9zOFRpL3d6ODJJMlhpYWlrTHl0cjRFTWFVSlJW?=
 =?utf-8?B?UCtZTXFnODNFaHN4RHRLQkRPUUhhUllEeHFqSkNBTXhOSEVqYS9SalU5MVIw?=
 =?utf-8?B?bDNxeUZZK2ErMjVrNzZqVGduK09qZ2VOblhKWmZ0RVZBT000a0lJYjFXZDVt?=
 =?utf-8?B?ZCtUbk14OTR0YzhlRFpEQXB4WGtUOGNpS3Q1TFRMeHlqT1pLTTN0RFhKSXZr?=
 =?utf-8?B?bWtDU3o1VWhPalcwY2U5Zitrc2lrYzF1V1RHKy9oNU9GTzIrWmVsQjRETE9K?=
 =?utf-8?B?Sm1iZ1JsMEh2SGVTbG0wU2RWajR2bXRybkNFN2l3UG1UUkg5elk2MXI3UTl6?=
 =?utf-8?B?K1BzMmhWdHYraXUxVHFWMnBidm94S3MrUnp3Z29hbWNnMDhIMFhwVmtXZktH?=
 =?utf-8?B?MUxsRGYxUTZERDZpWTlIeElXVWJMOFpPOFhsMXg4OUVYdFBPK3ZOcFVXQkt4?=
 =?utf-8?B?OXBsSGtrdzRGTXNScStmNHg5SlpOM3poOHQ4eEpkRkVVay9MMzBpc0QxM3BK?=
 =?utf-8?B?THY0R2tNYW5lWUp1WFlPRDFQcnI2MUtBemdmblBlVlpMR05HSFlyU0VNUnRy?=
 =?utf-8?B?TWtBQlRWRWtNU0M4MVIrN3FNUlR4U0thUk5HR21jTWd4cU45Y0hYRnNvdkNI?=
 =?utf-8?B?WDFQU2VheGptSGk1SVlyTG41VHVqclYxZkwvcGtRK1NRSG9kODRodTVQVSt6?=
 =?utf-8?B?RnZYZmdHRGZkbjBlOFcxK0pGOVQwZ3ArQWFoWWlhNE9aVzQ4MTM2MzBVZjY4?=
 =?utf-8?B?SWhCN0Z2V1lRaHBGY1cyWmFnOHpHS3Y4SGs0VkZ0VEcvc005NEw0YnZvbUp5?=
 =?utf-8?Q?Qsc3tGryuSxGx1I4Efxy1QwPy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cacafcd9-ac69-469f-aab7-08db9400d0ca
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:05:42.9030
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JgQY/wOHLvHzR/r5IZYmBZI8TxkirjcAKvy2m1RcQ1AEaEVY4tJlFzUwnMZIorXU0Dqlw+nfSc+2jj7LLC2jIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7625

On 02.08.2023 16:38, Nicola Vetrini wrote:
> Variable declarations between a switch statement guard and before
> any case label are unreachable code, and hence violate Rule 2.1:
> "A project shall not contain unreachable code".
> 
> Therefore the declarations are moved in the smallest enclosing
> scope, near other variable definitions.

This needs further clarification: There's no "code" involved here
in the sense that a compiler might eliminate it. Yet that's what
the rule's rationale is focusing on. There's no even mention of
declarations like the ones you move. In particular (and on top
of my comment on patch 1) ...

> --- a/xen/arch/x86/cpuid.c
> +++ b/xen/arch/x86/cpuid.c
> @@ -37,6 +37,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
>  {
>      const struct domain *d = v->domain;
>      const struct cpu_policy *p = d->arch.cpu_policy;
> +    const struct cpu_user_regs *regs;
>  
>      *res = EMPTY_LEAF;
>  
> @@ -136,8 +137,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
>       */
>      switch ( leaf )
>      {
> -        const struct cpu_user_regs *regs;
> -
>      case 0x1:
>          /* TODO: Rework topology logic. */
>          res->b &= 0x00ffffffu;

... I'm not happy to see scopes of variables widened.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:09:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576121.901904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUKt-0006Ms-S3; Thu, 03 Aug 2023 09:09:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576121.901904; Thu, 03 Aug 2023 09:09: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 1qRUKt-0006Ml-Oi; Thu, 03 Aug 2023 09:09:35 +0000
Received: by outflank-mailman (input) for mailman id 576121;
 Thu, 03 Aug 2023 09:09: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRUKs-0006MM-8o
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:09:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75a322b6-31dd-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 11:09:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6851.eurprd04.prod.outlook.com (2603:10a6:208:182::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:09:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:09:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75a322b6-31dd-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bQCsFwQA117si/FdDE+LP0fgHvRW6uPAo4uK3s5MzNKYtZl9S6wkg+nsHgjSqTNL1+soxtVuESRGJPKYgUcJqPcAajla2B5IlePXUh7nRsT6IApRJapaFLVi4eJLST8K02CSkZWXVNGpCAl8SXKMJ1h1lBZ1ippHL62M7DdurJMfYbCYmV656XooEFG5MnSVoLuNTHhzWnIXxuSrk5Bxv7DA7ZxRkhcRn5fVtj2M1F4hhxNv8DXRTTmrnrvOmNk7s/hNkvrxBoRW3V+901v8Bv6AGHjnJUd+ZhPYwMWEjfM87PXLGNC0XfbBzxvn0lLTlx42CxQkh6Xj+C+GyhENWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j8eveVOsOqlgiWdKX5XlNF3lqVszhPaGXVqKswy2xkU=;
 b=WZTDJNZ67h5eRe44aRzysFQ9N+b3InYJ0qoLcuZ+uOqgmLRgJEnhN7+6VDNayKhf35G3vUWL5UVNT1VULFMjmSbeCZELZTcB462NcyEk5lw2G2Xq4lCUH3VXr0890vCJ83/kT3TFK88QqM/7TglsS2WuvTC+xAbCBjxDkPBxTnPxQ8ZaOHhizthAig+ZasKnJ9bxXFDPDZZ2yQojKH70qY397nwy2Z7wy0KKv19dgK84V+kngwrf40Cmwg3AB0CD8kHX8nzG07CvueOJxySat1IeAmsxDVN5959MJ9zwZiGEqodCb7wBaw9cTfx6KI+7yRyoQneq3tbWJDd8WWtwXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j8eveVOsOqlgiWdKX5XlNF3lqVszhPaGXVqKswy2xkU=;
 b=JEDWqCcxRJVZKp5FZYA3hk3DyuooIgTJASoo1RlAGAHlX949TU4tYFbIAlbYHVsoJxskgEj1E+fIu4mN6vmWTbMyoBA4moYJFqm60ESgDY88RiO+rxyzxT3IN7BoOCqch0qVubaLGid/32deP25NOLkh+hQzigvP8FbDHq0ssLVWe4vdNbb8bq/Amw5B979UM3tt7VHb8PQHrtCAQnxDn+26G8oo1aS5zBBaYvA1lEqq2DxG9P9ancH2alUDdmRtfCB0jk8Ap7ZckqCEr+0uK4iyKSwoO69v0YCy7UHMyeSJz45FCnV1Z6JdaALyNi5+X+RoyUT2aTA2bn/OvJEiGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02c49ab5-e943-d256-e5a1-95b5770f48a8@suse.com>
Date: Thu, 3 Aug 2023 11:09:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 04/11] x86emul: move variable definitions to address
 MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <e958e4831a5363efe2a3902171fe5d7a37908e69.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021915020.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021915020.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6851:EE_
X-MS-Office365-Filtering-Correlation-Id: e53dc178-4f19-4bd8-8f73-08db94015892
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+igWFaFi8y6x3PUqbOBNhKnOHzbmSwEbiPlaKnmbytoqdYTJ4pTCh57kRlnvmv+D1md1XgmuAhYy1kyO88rTOJcf9kVMYvuooqb8ZP0ACR5P/kylRHUbKFQXOQZy6MvUh7880JNDFBZ9AJSB6yVGsjFzHpN01/N6O22G83GVBvywMZgjSxQVaAP0F2InBAOq6vlgIySn0q7LBHibjqLFqX0J+pOxyWKiBgIAtQ/oZ3MbNY5pekl19rB8vcYNbIi21kpF+YXOgqaK2g8AwvUWDWL+j/Wtrko4NR6z5PFciU0KLvhxugtNOUzbxsZSgp0L7fdYEvIMFGoiPfODji71WOCXmVRly4pMllgGvVxI8NFFu+cz4fLHZFsk+zRNZ7gi7jBnj7+TlsgUOJTKr0ZszqS6ZE90FUITejv1MwNysbgzWN9M5lqIL/LI1Ne/fvlsyME8pi7hleem9nbd/CPnJpRCnaGhoCT7MXkL84rVhKOjog37YxcZtCqEa23lNDMF6M9rC8Y079YlLy9dwbDaHw/yMBp7OEqBAG/2ADnFlocCkBM0RUnVVewso+TieuQOP7CiaA8BbQ91BpcyvEoivOfv/zJGQ9ox971aU3TVV3GgYaXoY4dHr4LMzyttd1/N8V4NUasLjVjCJbrADZoQBA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199021)(2616005)(53546011)(83380400001)(6506007)(26005)(186003)(41300700001)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(316002)(7416002)(8676002)(8936002)(6486002)(6512007)(478600001)(54906003)(110136005)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bitEdytpcXJjOFlqZ1RVSlFOSXlPSVEreDVWK3NoQkVSSkY2UnFYZ0luejZ0?=
 =?utf-8?B?cURxMXNlQXcyU2ZxOEdjdGFMaXRzYjY0ZENQd0JvQWdIVlk3KytMb29BVmxX?=
 =?utf-8?B?eHhDVW9CZGlLRzlVZk9BbTRrMjhHWDJ0eFQ4WExhYmhjYkJDQkp1R2tjamxi?=
 =?utf-8?B?K0VCNFQ1S2k3Z0N4Y3ZNcXhHV0NNM1hQWkF4UGZFNXFjVDJuK1JUSHhIbVFJ?=
 =?utf-8?B?eno0Y0ZpdXJCSUpRVmJFMkVrd3IwRERIc0krbmh6QnRpckJkRXdVSWV6azNo?=
 =?utf-8?B?eHBUZTgrcHFYRzhIZWYwM0pQMmhpYzNWM0RvNlZ1Zms2SmlqVlVFdThMNFow?=
 =?utf-8?B?YVQyWDMyaFV0OEFFb1lyeldnTFVocmg0SndjK1Y1amVqMUR5YmhYaVl2QkpK?=
 =?utf-8?B?VnpJQ0ZYZ2FtYWtjYi9hR05ZOVMweTRNbWpxUE41NGIxY0ExMlY5N0s3ZUtX?=
 =?utf-8?B?Wk10T0E5ZDBYYlB6Yi9venMrT2JxNnFtZTRqOUNtVWpSZitvbENoUmFqOHpy?=
 =?utf-8?B?L1REbHlFb1Nidzd2bXpGRTBpOXlDaGRxa2FqcFA2ZHI5R2kweThSenZJd21H?=
 =?utf-8?B?a3lwY1BhcE1Bb29uSk9RZTlkSmZoY1RJaUxzOFFWUlVqdUN1T0Q4NCtNaStZ?=
 =?utf-8?B?TEcxNVVjOEVTZWt6OXFlYmpBMlM1dE00S3BDdTcwMXBnRFlJbHdOSC9LZjVy?=
 =?utf-8?B?VVFpSUlsSkxQSkNwRHcxOC80K0lBckxsak1zcFBGTnIybUkwSW5WWUgxdXhU?=
 =?utf-8?B?eDlvWWk2YjliWUVrN2RMMEdaUkdXN3J2MFYwYUVVaHdwTUNmVHA1RzVsOFQ4?=
 =?utf-8?B?YmR6aCtwUVdnWDNYTnMxUVZSdE5KRDdkdzA3UEhCbTNhRjRRaTByK2xqQ0h2?=
 =?utf-8?B?QnQrMlpiVE9OVUN4M3hKRVExZVhxSUFSOE1UcFUvOFoyeXNaQUphVCtsNzd3?=
 =?utf-8?B?V05mK3BhKzhZTHgwSkxpekkvVldUcDNJN3hkZXpiT3h4WVRoQU1ZcmNLbHQ2?=
 =?utf-8?B?SEo0THhPamU3d0w4VHBaWnplRE83T2pHMlI4SUVucVdySWljWUo5TDl0SU16?=
 =?utf-8?B?cndVdnJKSnBDczdadVJIR0YrY3krNUEyeUdLOUc4K0tkWGQxK2p0c1NQS2hn?=
 =?utf-8?B?Sm1NNUV4blF0Nk5vMk5zUzl2cXlQUUhQMHVPWFFNQmZFWlB3TjhWeDdqdmZU?=
 =?utf-8?B?SGdsdmNybU5hem1TS0FDVmZITEU1VTJTSk1jZW5BblZBeW1ERWFGTmFRZ0Y0?=
 =?utf-8?B?QldIeWVXZ0FWRW16aTRIYnBXYkorR2hsMzJQVG4xU3dua3htY3VBZFpVb0My?=
 =?utf-8?B?MlpTL242UmNMbGxEd3BFeEtuYlJ2c3pDWHBDTE1iRFhHVndWcGxNVHMxTGVa?=
 =?utf-8?B?NWFvdmdmUVRmSmVJMDZsZHVVSVAvaCtmcmJQQVh3V1pQZzZWMnN0dUFPK3pQ?=
 =?utf-8?B?UGViUlR1dmoxVkxtV3ZKTEM2b0ttQVpHWHpyTm5oTDQvaWJYbUVnSlR5VDd0?=
 =?utf-8?B?bTkvaXRqZVJQWFF2eWp6SEtYZ1hZQnBqV1JzWk5PSzl4VU1tcllpMFo5OEYv?=
 =?utf-8?B?Y3VkRjV4TldGMG8xa2QwTDRlc0tUeXVVNWZnYmZzK0ZKQUM0SEFJUlNRN3A5?=
 =?utf-8?B?WXFCa3FRTlgvUkI2NjhabUNDOVpHeUJRT09sM3B1S2dWMmE1YmRPcWt1ckxx?=
 =?utf-8?B?bTFzczdBSlpuTHB2eVNXdWRjdHNFbnk2dGsxUFF1WGovb09rbEdHSGd1bkIy?=
 =?utf-8?B?eTg1NFhtVzdNWkx2WXFmM2l0V0NBS1hNcXNIVVJ6UEZHcVpkSzEzTHowUVNj?=
 =?utf-8?B?RXpBNFBYdnB1MFlKdmV5T1NXVXNCMzdmVkFPcTVVaEFSbVhqT29UZkdQTEs2?=
 =?utf-8?B?UnpuUW9pQVREWFdwdDFHRVpGRUVRRWMxZ0dFZUNha2laNCtNcEMrRjZSa2Fx?=
 =?utf-8?B?M1pzY3dZbnZBT3MyS0orR3I1MVRFSXJVTFIwZEVaSURJSklVdTFRTWdJTUhX?=
 =?utf-8?B?S3dHWjhnWHh3MERQZ3VVaE9VVEF6T1BsV3U3SkZCbXJiQkw1SmdKTVNxWU5x?=
 =?utf-8?B?NDZROVRDWFR6dThPS0lWQld4YzFtQWEyckJtT0lBNjVpTC9sVmw1N3VhMTJ2?=
 =?utf-8?Q?Bsq2IihcPg3VrIb5fospA6PF5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e53dc178-4f19-4bd8-8f73-08db94015892
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:09:30.6693
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /jDDVrYT3vhbzn1Os774ehJUdrrBSU2xqN/bgURLqz+6+HtFOwlG5EyvqKL5ivUNe0PaHmQ+gIN+PlDmNalRTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6851

On 03.08.2023 04:33, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>> @@ -2289,16 +2289,15 @@ static int cf_check hvmemul_cache_op(
>>      struct hvm_emulate_ctxt *hvmemul_ctxt =
>>          container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
>>      uint32_t pfec = PFEC_page_present;
>> +    unsigned long addr;
>> +    int rc;
>> +    void *mapping;
>>  
>>      if ( !cache_flush_permitted(current->domain) )
>>          return X86EMUL_OKAY;
>>  
>>      switch ( op )
>>      {
>> -        unsigned long addr;
>> -        int rc;
>> -        void *mapping;
> 
> These three could be...
> 
> 
>>      case x86emul_clflush:
>>      case x86emul_clflushopt:
>>      case x86emul_clwb:
> 
> ... here in a new block

Except they're likely to be re-used as new enumerators are added.

>> --- a/xen/arch/x86/x86_emulate/util-xen.c
>> +++ b/xen/arch/x86/x86_emulate/util-xen.c
>> @@ -77,10 +77,10 @@ bool cf_check x86_insn_is_portio(const struct x86_emulate_state *s,
>>  bool cf_check x86_insn_is_cr_access(const struct x86_emulate_state *s,
>>                                      const struct x86_emulate_ctxt *ctxt)
>>  {
>> +    unsigned int ext;
>> +
>>      switch ( ctxt->opcode )
>>      {
>> -        unsigned int ext;
> 
> This can go under case X86EMUL_OPC with a new block

Same here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:16:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576125.901913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRURV-0007qA-H6; Thu, 03 Aug 2023 09:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576125.901913; Thu, 03 Aug 2023 09:16:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRURV-0007q3-ET; Thu, 03 Aug 2023 09:16:25 +0000
Received: by outflank-mailman (input) for mailman id 576125;
 Thu, 03 Aug 2023 09:16:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRURV-0007pw-50
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:16:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7d00::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 693f3aab-31de-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 11:16:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8636.eurprd04.prod.outlook.com (2603:10a6:20b:43f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:16:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:16:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 693f3aab-31de-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UUPvXqQLlcpGrmHBxoCMFObe8JK91q1IJ+W7bA1UaTYm+nlGy9jRJs/4pyn40fv+txk0qMAXilGYmhkjjcHshbqV8gP3JyVNKUVx6MIH2STQulL8gB3iRB2UetWgtnfSviiBdbaug/x1U4pUAYW8gzdeP9cRLWWM82wKwtOxAbKrI6abS4XCzh0U3v0jlK5Yd3XEgWa4Te/Ax7Ngq8bspIwRvH1iK7bpiWL8XS4JETAfRtIjKjK3+7CXv3orcjMFL8LNuujaT4Kj0ZFLog1F7uHh8lJ6qRMBterEsGx51tFYzkuh8NVbpgZFQkdksQ/Hs04L5kmAwWwIEBnA6tdYKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1kj9ri09BREZFT2T6zcvI87nG5Txd5cPnlOAP7pxLDM=;
 b=MEAL98fu3CWBgqE6GwwPwJu8XVp0+S4WFhBZKOM7w/UAL2WD4KK5Qxf4CFN0QjhajiMNtxWQ+qb5dQT5i5ujql3VZ1Z11ZU8EGpJrJDMj5M0kGtF1tQt5ELLF+g1BHXaD8Hx+LmY1mVSdgCchc9GFkOuh1u+i0FPysbvFsBQr5kM93aqjPxh0zB6UI5iH2dY2SPEiVg65F0YXHXRmbOGxRbAo2JzPKY2yAjU45yOR/kzMgz4HZi54kbJlJb+xT+t4eFjwVokaG49at8huSPH8bjWLN4+iDL5JeCSxkh0MgPwV2AT7v2dFa8rXWFQO1rvbxczbs8w/YT8h5rAZ+fxIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1kj9ri09BREZFT2T6zcvI87nG5Txd5cPnlOAP7pxLDM=;
 b=MB/NMgelSiG1eRPSnVlOsdpjR9yLLk3yUfZf0fcW6ZuSiE+6KmemR+6HPofgeToYkYDF58ZDb6XQVTgBwa36fGetMA7aSslIfQfhmYaNfkCYkM6XNnVGZeyf+EiNHE8O3AGDyWWze+y4kZILlKlpcOCASAP0VLD4l3SRsNG+3VquInf797dAGou40NwglHnXzAh0DuAvpw0zCwiAUEcTQyBhAV2x6mAUZZlRCVFm3fBmVDQOSCfQLN/JbGUvPXHn2fYyVy19v5BykOisli6nNC6AAAw6k2GL3rLR5oOdvCt+i+ihLjLeQLhfLtZqUotW3FPWaVQEn1o+Z7sPyE2jUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
Date: Thu, 3 Aug 2023 11:16:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8636:EE_
X-MS-Office365-Filtering-Correlation-Id: 90cc0d34-57da-4d69-6c97-08db94024c03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZT8cbMB5al2XSuUyAJNq1QDuDhHehKBoCWzkXh8+1/muuiozapiMDymwDXGbxhIwm7OOUbbFnMfF8w68EHzpydo9BkutW5QQgREhscwlgm6wTt7nxP+HRbF3eGbIjngC9XCOXPZ7dEbxmhX/huEfG/hfbyKTSAYQQXOlpBiR5SWvbuQ2TsJzUVIplAcZpqK+QJJvwhr/uKR3vtf+7Tc/x631tc2x9Sw+sMDIIpSXse750s6ywKjFCxXgxlThPCQBOfOK+AVwYqttUgaPLue6Gvj+vYT39rvc1grpBbTjV0W+E9xZ95RaJh6fsNntmf2wXH79/DK+ThceDtLWx1EzJO5H85XfAICX3PD8XGcntlk4UjazHmzZhAoQRQtQRdHf2gm8gMGbmZZ/sXv93mImkP726ouXfPex/587vmmuMkGZOoaebl0dJec24FrjK5ySlOAwij9zIONveGz2dTrgzWe55Gd4Tmp8rUge2SX4dUWlYrwl8bZ43Lk/X+mD1+EJK63a7y9KYM0AuxL6rrFqPNbzTwAJVhSL6yJcBt+OVghzyGkgcuYEiRNJQKHok+7rKo8YvWDuGtq88MnIQulEis/C3EwkuG8CDfg0eLcnGKO2sYfMR/eJ+SlC2dDsQfYPW9bjeMWsLS3EjmHKEXMNAw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(4744005)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(7416002)(41300700001)(8676002)(8936002)(6486002)(6666004)(6512007)(54906003)(478600001)(38100700002)(36756003)(31696002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0l5cEE2YXIwdTMxanB0N2pNeE0zK0lkMWg3VWtnMVlRbSs1TnNubnJGTGdM?=
 =?utf-8?B?bDd1Qzh4YXJubzFIN2kxTDdrQkhCMm9tUkFhNjV6L2JSRTBRcWZRcHYweGRx?=
 =?utf-8?B?TFFpVmtJRTJUUnVMSTFtQUcwMVBrMXc0V09kSm5sL0lkNXNrYTZEN3VXSFlt?=
 =?utf-8?B?N014b0tZYjhvRU92bWVHNDR5TlNnR2VBYnJjQzBDOEp2ZHhmd3pkQmNQZm5Q?=
 =?utf-8?B?SHQyVnFVVVUweFE2UDZMOXZJaXgvNG5GMVNIV3IzaXVtMjFlVjJ4TUJuWC9a?=
 =?utf-8?B?OTljbXRYR2Uwenc1ekw1TjRUQjYyZWZLbmhUK3hWVEVFS2l6TXdVRnNFZ2hY?=
 =?utf-8?B?VDNSSHdRTHRiMnE3SHZKU0J0a3dvZDJuNVFaQ2lqVldFRE8ydzN4R3RCRmJK?=
 =?utf-8?B?WCtYTzdjUHR2b285ZVF0S0ZBL0hIaE91Zmlwc1l0ZzZxT0dEcXllU2NrL3lO?=
 =?utf-8?B?VU92aEExZ2wyMndmM0VZYzVXZ2FVNHArdHh4MlM1ZCtrOGp2NjJWZFRKMjVT?=
 =?utf-8?B?ZjFERUNnWXFaSldyU2NGb2tJWFppWXZDMFBZam9MWTQyaktKNU5hSVlEWi9N?=
 =?utf-8?B?Q2dDREY1QTdZdWh6OS9DRFFXdTRBTTB0RzNwQ1J6NnNjRHF6RjhicGRrWmlD?=
 =?utf-8?B?YUlXV21UMkN4MS9vNEFBRG14K1g1NG53R1N4K2pUN0E0SzhseVVHODVqdDR1?=
 =?utf-8?B?L0Q1RzA1NzgvLzZ0ZU9hRU5OelJnSzJHdk5BVm1ZVTF5b3QzekFFT0c3NXdS?=
 =?utf-8?B?OUs2T2lYUGllMUZFZDJJeDFXcmxuc1VBaTNGZHlyNmFOR3JHMkpPSHVoTGF3?=
 =?utf-8?B?Y0psV0lKZnpad2tsUnN1bElMSXVPMGFPdzlIQzJLS1FLWm56K1JqQTE1WXZv?=
 =?utf-8?B?bEswZWVqRng0T2w5M2dCRjlNejJGTVNneGZpZGc5NUQvekpFS3ZiTkFKRWRx?=
 =?utf-8?B?Q09CRDNQVWNNTUNOakpTOHppTG54UkRGWEZyandQMStTSlRJWkhsN2RsUldT?=
 =?utf-8?B?Y2FqdXVKQzFaUDVwQU5pVDVNditGVExPek8wVTNKaUNnRm90SGU0RzdZMncy?=
 =?utf-8?B?YWFFL09YcktmTzY5dW1iYXVybDRpTTFYR2Y1akdtOGZ3Mnh3WXN2dnN1R080?=
 =?utf-8?B?NFVkZER2dTluT3NpeVpybm4xaFZzcURuYkg5OXkyNE9pbXpiRzh6N3BFQ1Nw?=
 =?utf-8?B?RndXOTdJSSthM0piajFtbWhickNOWE9iOVdXNkN4Y2JKTVpGQ2J5TkcyS3hB?=
 =?utf-8?B?MmtDT05TUWgrdkY4UC9sUy81MCtNSGdPNFp4QTd5emEyY1NPYnk3ZE5VZGJk?=
 =?utf-8?B?YWhUNldGNzhBb0diNWVhWmZmL0twM3Y5SjJyb3h2dDlnTHVhRzQ0UyszTjRj?=
 =?utf-8?B?WUt1UFVFOU1wWjBES2krMlA4VFFSckJVYnMyQVdJYlZSY1ZFTExIeEFwWG54?=
 =?utf-8?B?T09MZUJPOTVjbjNleXVjY05SOWhEVkhLR0thMXRVV3FteXVEVHdYSERhV2p2?=
 =?utf-8?B?NCtCcVZDMEpab2pHSzI2bm9BZ3ZleWZYdlI5QzllRjZKc2w2emhVSlJjMXll?=
 =?utf-8?B?OGRVY1V6Zlo3eFErMnRsR2w5U0FzVFVmY1oyWkRBZExlRFZvOXR2Q1dhNWZx?=
 =?utf-8?B?aFluOFdoeHZ0V3dJTGZ5WHZUalpjdGVSc0lkeEV1N2FqKytrNHAxUEp1SE1E?=
 =?utf-8?B?OG9sdTZUUFhLdUptMEdOZGtRSFpFZk5TTWwzcDZNNUJqWlBrWEVRQzVwcGtU?=
 =?utf-8?B?WEVxVTBzdmk0RmJhbFVoSWxXOTcvcTM2OVdhN1UxUmUzYUdHTW5jbEIxdVdt?=
 =?utf-8?B?UHBhTlkxbWhkNU85NlFPWkhINmc3WXBiZ2UybkI4VVc5ZEE5UHAwK1VlYk8w?=
 =?utf-8?B?VjhIV1VUZTJPV3NDdC9lQ2Q1YVVEM21JbU10WjM4aXIzV085V01mb2pYWExs?=
 =?utf-8?B?Zm5VQVYxUmdQQmhCMyswMnpSV21BRFRZWmlpRHhuRk9XL2hKa2pNbjcwWm9I?=
 =?utf-8?B?MlJrN0tBNVpvQjNPdlg5SXM1by9UWHc5ODNMTTRZT3dsTVdRb2ZKdXRwanY2?=
 =?utf-8?B?N0p2TnVtZ3RlYkEvL3BJSENyQ0kvcGZpYkFCNU1DWnhrbFFUYU5ranhxV3JG?=
 =?utf-8?Q?OzIG91gkaOAfWlUSuaQwhej31?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90cc0d34-57da-4d69-6c97-08db94024c03
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:16:19.0263
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FIY3NByFOOjJS4g/Lp5xglIkhxMlmD3PneI2/HkHJGs40GHrNlOd2Q/z8/9evxBTS8WAMWueXtG9WqBDnkzFgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8636

On 02.08.2023 16:38, Nicola Vetrini wrote:
> Rule 2.1 states: "A project shall not contain unreachable code".
> 
> The functions
> - machine_halt
> - maybe_reboot
> - machine_restart
> are not supposed to return, hence the following break statement
> is marked as intentionally unreachable with the ASSERT_UNREACHABLE()
> macro to justify the violation of the rule.

During the discussion it was mentioned that this won't help with
release builds, where right now ASSERT_UNREACHABLE() expands to
effectively nothing. You want to clarify here how release builds
are to be taken care of, as those are what eventual certification
will be run against.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:17:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:17:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576128.901924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUSu-0008PC-SC; Thu, 03 Aug 2023 09:17:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576128.901924; Thu, 03 Aug 2023 09:17: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 1qRUSu-0008P5-Op; Thu, 03 Aug 2023 09:17:52 +0000
Received: by outflank-mailman (input) for mailman id 576128;
 Thu, 03 Aug 2023 09:17:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRUSt-0008Ox-Qs
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:17:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9de3da00-31de-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 11:17:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8678.eurprd04.prod.outlook.com (2603:10a6:10:2dd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:17:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:17:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9de3da00-31de-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BfSmX5lDI7WU/+3s1fMwFAoK5fwYkUGS0BRfQaenDQlNYtg5eQrrr8uo2WYVrnP9Zm2wSL/v/Xt0uR8etWl07An1v9c7IBoMSelrfo5KrkGeJw5+g5OJYeLcq1JH/wbR970ZIU1p/nwsynAV3udkgm2PaTfXje4D2C7D3NfbGjxK3GZy0TncJclhNrwMLZDY67I0SGy7NqDAgsTnh4RPWGluVsannN2Ychzutzh0nrx66OhT9CMLXrW6oLIoIa3ZmbUSU38fomtBDbLSyWNcSVXYctJq7tajzUCahpTaD7BAZ1fPexqpIGhZBRKPAQ2MR6mlPy2aWnGX0zpm35w/Dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=enfIGUhhvDBmZOOL1jGIxqtRs6Basm68Vb70YeM5t5A=;
 b=BQsl7swxVwQzPZGumSXYsDKiLW9+J8emC5bFkyR20VhCSMSRYjYhoHfdwrxG8sNETGmXrfzZRCul7PIZHgVDkMCao8tJPbT1J+Ti535JxQBNopewz3/orf5PUivzHvnu6aV/S4SR9XnjOExKd51FWwtquQL4r2ahsYw8pf7LHQPv6pJU+qS6qa/939Q68RaiWSmxjdKiZsGfTI7I0m9IV/P+h2O6MXwgOQvl43OO9ziIvr9WoRQHxQ8R/d8M3yz3L9XMdgltVvtMbsDkLjyYY0CsHTumHVEJ5ylJpwQ15QwyqGrDc/oJ4SCs1OkgkHycT/dbRWCyaTZQao9BKK6tPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=enfIGUhhvDBmZOOL1jGIxqtRs6Basm68Vb70YeM5t5A=;
 b=NnMx/KpXZECVIPSwdB3aw2yEQ5COuD1525h79nnG/baGKXholK3AjBNyTLcX5Gd5bwwhGS/slRNIQSWuRR3fOBBt26xwe1xgoM7J8iH2U3+aU3tDpLB7YlExyjRyWlhTNMkuH5+TGA66xAbpxRvrb//Oouap31VmlDdBUMgoxnGHU5qsVeKjDFmnhTpOWuEH5p88b4E2nXJPn8DvAh+lERQVKfI9vongT4xOS6WdQfFYuYwePxmQB+P7KtOS/sqCyLdjjZo1zVq7RmOrZJyFQwoy+146ebOMpr3BvxF19L/2C9MIVkuaWvdx7l9GxtKVeE8++bXzOxQG9afIquIguw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d18a1e2c-4396-7d7f-bd28-2d9e71107862@suse.com>
Date: Thu, 3 Aug 2023 11:17:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
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,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8678:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c6feaa4-8585-48a2-b5dd-08db940280b2
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xHCoWj2w69YZQJYSqZX586pz0PEPyRBj5pUexGPupeckulG1wCe2VI7nEbhIqpZltehrirmD3TCKdkMLO9CB1AeMDtQ1GuyMlKLxnG6jLiDEWukCWJ7EnFPvQmHt+ahJwRcxJveRmKO7M0kC5P3q6jF08+vADyzMbgBWB0LGHi9r90883u6AxUHCDEWnHZd77vRqxBQUpFhLHACIMajofKudSueuaEbXL3PoI0FeMOH/xuki00tlPk+wg0fubIQnw2E2kpYgYnq38Z2ifQoIRSK9vmIgCVZsxY1r4C2CJRySyg6rK/zU3ZFrIOZ+mqap8hjzpl6k4MuiPhAXK4I1YRCvzQtE5xQTF1K64nvaWMdzOFbWfmj4XY+3K9VDg0/cMVySLPbRxsoQwbf6dQnS2csQyuBjQ0H0Irdcp9GlS25B9nV7Tft0pw4RTsF2AQu8ih83Ihz9Ks/4izoRMh3p8zDLv9qRqLBOZbAgWLwtWRjTlD4NtuPSPkOMjQBwlqYRRQugzLkeOlPz45R1Kg34gxcxSgHlT2D5qm/Qu+sb5T4lvFAuPnKCXJ17nJfeIGfZrHjwYsO0AsaOzWX5fS7QkrJvWQaD9EK2IznmdybkbYXmVG/Io/Md5IsdAFgMBh2/1QM5UHcbVpJBgyEVOKsYQQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(4744005)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(38100700002)(36756003)(31696002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2w2cThSdDZNM0xKRVRmSnJaczEwZDBIT212enI2T2lQU054SEU2cHU1UUdL?=
 =?utf-8?B?eGJCdisvZHNqcFRCSkJzMjBlOUhXKzVpU1huMVlKLzBObkNRVEN2bVVFYk5t?=
 =?utf-8?B?UlNjK0pVRkxMSmlKNnE4dnJpWXJCNktlakl0TUZTdzh1TWtyNmVkVmxkMUd6?=
 =?utf-8?B?Vk9VYm5BTEFTZkZUdUYxeUFCS1BzVTNyeWdkK1BoeU9yRk96c0VTODZyM2VU?=
 =?utf-8?B?Mk9lNit4dHJoMmFnQkFaVksrSXdFNjhMbzgxUmRnZitTZEs3Mnhza3oyNGVx?=
 =?utf-8?B?YXdpcWYwWVcyc0Rma1hBTHFmT2d4ZnA4Yzc1RkQzVFVWb2ZNNlVtaHhUeHMv?=
 =?utf-8?B?UWxUeXdKY051VVdadFhaTEcxY2ZGNmhoTUg2M3kzOXh1clo1ajU2ejJkNTBC?=
 =?utf-8?B?bnJVemx5QTB0TmZVT0lZbGU2QzB6WHJUY2dzNnFiTC9PcjJ2aHBNVEp0VnVI?=
 =?utf-8?B?QXhVRU94aU1Na0ZFTjdlMDFqckh5NVdJOXROODBCNGRqNFRJd0o3ek1PTEhE?=
 =?utf-8?B?aWt1RVEzU2tBMTRxaVgrYXlpb2orZGlyckI3bnpQbmkrVlN3bUNjN3pqbEkw?=
 =?utf-8?B?dmdxQjBsQUtxMjMwNnVLNDk0aHpKZm9KZzVsMHpTZlJPanM1MW1WQVd1M0Nw?=
 =?utf-8?B?TUNTZ0hDei9Mb3EwM3QxOGVuN25VVlJuQW1qdk5WRmJEcEt1MURSQVhrRFdw?=
 =?utf-8?B?dm1nZmFwWHFSR2ZiaUJXQkxwcnF4aVVvR3ltRlNYbC9CSDdCY0hjQW1uYXpo?=
 =?utf-8?B?KzZIcTJKNGs5QkVZRmhBMFk2RUdkT3FrbDllZWFKck12NGc2ZG1sL1MvSzQy?=
 =?utf-8?B?cTVyRDIvTDJvR2w5ZzZrVEJQa2NrcDA1aVJUblY4Y0duQzRKVEpzMVZMNkRx?=
 =?utf-8?B?S3psTFRDOHAzOEd5QzdUeTNSZWRjOEk2bWJzRFI3SUgzb2svYzROcm9zN0F6?=
 =?utf-8?B?QUdRNlJkVmgzL0g1WDZDcFMwMUNlQ3pjU0d3aE1RZ1dGVVhXeUhlNG9BeklN?=
 =?utf-8?B?RnBoYW5meGtKa280VS9hZlBDSHNGeGc1bnJHbXJKZWJ0RGZjZE8yYVlxSlNi?=
 =?utf-8?B?MGVVc09aVGk0VTlZMCt3Q2JKUlR2UXBwTVRQNHZyeXpQcDZtaU5qS3pxUXd2?=
 =?utf-8?B?MUJpYUwxV00rKzhXOUNVc3FxNVBGTWR6WmZzM3VrVHB2S3d5T3QzcFpUWHZy?=
 =?utf-8?B?bWlzT25WOUpKL0x1Wll2ZmUrSXhzZ0hGVHlLcEhmTmFURlhjRm1TaTFtMnZa?=
 =?utf-8?B?NXoyQkRBWkloQmlnaEF1eHJ1d055Z0I1LzFVanRQT0svNFA4TWxYS3hjU3hI?=
 =?utf-8?B?ZlJGenVBa2VldTU0dTdCSzFOWmQ4aC8vY01QMC9RK21JMFRDYTN6WEJkTDJl?=
 =?utf-8?B?Y0xURUh1QVNFUTU2OHcraFZhdUJLY1R1TDQwVXBlRmlsWnhzN2N3anZTTXRy?=
 =?utf-8?B?ZzQwU2Z4Ukhjb25GZ292WnR6M296K0hGKzdReTlVSk5YdE5VRzJXYUxLd2VG?=
 =?utf-8?B?bTlydDNnclg5VXBsVVprbzU0RDZkMUN2SksrWFJmb3c1OWlkdWt0ODlSbW00?=
 =?utf-8?B?ek92WGQ5RUF4S2x3OEE4NjhzSGV6SFJGcEJZUkNiRnNFd2ZmK0R1WEZKWUNw?=
 =?utf-8?B?azdXc0xNTmM0S1k0RXdPQ1BweUFxRTlkT3RITFFLQjQ1c2krdEtYcGlDVmQw?=
 =?utf-8?B?R1lhWHJudGJlVWNOTy9mS01jUER3bXgvRFpwUUhuQzBaMC9lekV5SDdMY29q?=
 =?utf-8?B?UXhkTXgyalFDc25iaFF0MGNvZHluaDZxMUJDckN6UWx2THQ0aGtiRjlpdE9x?=
 =?utf-8?B?akVQYlRqakNscHRwSFUzRkJJOW9sNmpVZlBCdkpSM2ZxYUpMS1pmSzdEaVVN?=
 =?utf-8?B?WUxGUlRPcmJqM29GTE1VVXgyL2JaZ2ZMVWM0VHlqOTdrYVlNNFFubSt2NkxV?=
 =?utf-8?B?YTU4dGVwQlpPVVNQaEJsTGNoVFBKUmxwbVduZXpGeU5WRDhsVENvbUpYSEVa?=
 =?utf-8?B?dU1yK3IrSno1eTB4c25KYkNZd2pSckEwVm8xRFlSM2lXNXp2d2pzdzdqMDdV?=
 =?utf-8?B?OG9yOC9Md3g5RGs4UjFMMHNqVUtZTWhDSTZKaVNhbFNBdUx5b3NDS0FLclo2?=
 =?utf-8?Q?3F4ZFZcvKt1gvgm3YUxXby2R4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c6feaa4-8585-48a2-b5dd-08db940280b2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:17:47.4384
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nFvUo+XwPl58QuBY5dSca8uDirfjvQUYHnUnfLR0PpTAr1S+gt6nIDMSLIi5AQwHLvNWLHcs0+EWtNbKe09KMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8678

On 02.08.2023 16:38, Nicola Vetrini wrote:
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int cpu)
>          /* fallthrough */
>      case TASKLET_enqueued|TASKLET_scheduled:
>          return true;
> +        ASSERT_UNREACHABLE();
>          break;

What use is "break" after "return"? IOW rather than adding code here,
imo a line wants removing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:20:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576133.901933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUVQ-0001Si-Aq; Thu, 03 Aug 2023 09:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576133.901933; Thu, 03 Aug 2023 09: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 1qRUVQ-0001Sb-8D; Thu, 03 Aug 2023 09:20:28 +0000
Received: by outflank-mailman (input) for mailman id 576133;
 Thu, 03 Aug 2023 09: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=PRme=DU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRUVP-0001ST-38
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:20:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa7edf91-31de-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 11:20:25 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id CE68F4EE0737;
 Thu,  3 Aug 2023 11:20: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: fa7edf91-31de-11ee-b268-6b7b168915f2
MIME-Version: 1.0
Date: Thu, 03 Aug 2023 11:20:24 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, Ayan Kumar Halder
 <ayankuma@amd.com>, consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Address MISRA C:2012 Rule 8.4
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <786d24b044bfa503a73a36d2a01eae8c@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

The headline of Rule 8.4 is as follows:
"A compatible declaration shall be visible when an object or
function with external linkage is defined".

Some functions reported in [1][2] are lacking a declaration in the 
respective header files;
as remarked on xen-devel's IRC channel, this is ok since they are only 
called from asm code (e.g., start_xen). A similar discussion
had taken place in the past (see [3]) and the general consensus was to 
deviate these cases.
If that is still the case, a suitable project-wide deviation can be 
added to address these violations.

[1] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
[2] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
[3] 
https://lore.kernel.org/all/20220705210218.483854-2-burzalodowa@gmail.com/

Regards,

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:20:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576136.901944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUVf-0001q3-I7; Thu, 03 Aug 2023 09:20:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576136.901944; Thu, 03 Aug 2023 09:20:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUVf-0001pw-FS; Thu, 03 Aug 2023 09:20:43 +0000
Received: by outflank-mailman (input) for mailman id 576136;
 Thu, 03 Aug 2023 09:20:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRUVd-0001ST-M5
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:20:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03b7f1d8-31df-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 11:20:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8678.eurprd04.prod.outlook.com (2603:10a6:10:2dd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:20:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:20:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03b7f1d8-31df-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TJlx66OZkNQHDNQEHHKfhZow7njOA8UR1ijunZRTJmTw5dLxCXYu53CAXp/fQoZmpPN+Zw0Il+80AKJIoEtOnhaK78//kjyKsLFRKG98ncIOD9Q7HfLppKYdu/GF455bUtSQhnyK1hdcUFVdq6/paY6RwTLcVeALfYCAxkVkUyEbu4Or3oEZZ06Dun+DGWPiJiGgKiOJDt9oCczDD2+XcZPqjjR8v7KBxwCBgOJSaxOKFGsniocRqHvQkyYPvJY9aJOvFQDwP9mKOjNWbl9U+8hT02HXT0XUsDqFY4njUMSQ5EMJ5VWS+ESyjBBFQNf302DV88Y5YdZhc4TSbQcdtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tA1PdkAWBB6c0y72UrfcTIBqgkop7cNxizi7uWeUh6w=;
 b=R4r7Ubpbde8JAo4mxXescEVAVuJgrmPQbB+3uMjZmjMi4lQyrPvmOXwolPhl6S2EfrbxQLuh9DexSfc/RNBiKuBU3suE+LEJ2WxgIl5blakCTcjM9K8Pv6w/z+hUwDJ0U3ZiXA3GerWtjQR4vvSVfYC4ZrkKONWlxfFZKrDaYKXx0LoW56h2RO+ynms5o5FMks78XjqR8X5AJscuEEtekRiCW2jKRnelInXGcU+svCeCXm5eXWsRB6Rm7fkyMqomezka1HbXVL1ONxIxAmwsXjtxotir7zZtg0KNv5PJLrSvWkA0dZKGs5WMb8hWCgpn7Q4PYOtEl6fRFEGFbcuT/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tA1PdkAWBB6c0y72UrfcTIBqgkop7cNxizi7uWeUh6w=;
 b=oyQC8SZ6iKQfCngEL0lnc9wFZwuCVXxmZJxQkX4R6uVevSN2KASHuqAasjm/utNLjcHeYazPEuoW/Dvn9nVL5t31YLQNoVH96O7JYSeLrCX6sZHaGf8Jy3CX1XcWWWc3WwWLCXeADEqBvZPlr48vqLA0rbgxPJcVl8QkOnIj8bsryDa/28RM6iBVyZp1izZ9zzmaoU6oqcqubHxiaotp1lQw6cJtbS8roClrRPCixpEPAeUCCspT5r8w8MNJiVgkQ4m1IYH6ciumbtCQGNvd2M758+uY7vPASv1qW+LZi/hOCgBih4vCSsklKYNEi4lVLRwnXyvYLZa9dAI12CWb0A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ba36273-33ad-753c-06a5-be117b6658e0@suse.com>
Date: Thu, 3 Aug 2023 11:20:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 11/11] x86/mm: Add assertion to address MISRA C:2012
 Rule 2.1
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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <91b2f2c9e728c1f19f7baab301299d995a074279.1690985045.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <91b2f2c9e728c1f19f7baab301299d995a074279.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8678:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f333f81-b4a1-4895-ea92-08db9402e74a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/l0MpECWaENy9MOPbCNbji8bWyg+031oRhtBoori8dJBIZnXEatrmBOx9rvqjJwog5nh+0ZWrVfHyZMf7Uzn8Uby142URyznsps4lLQFqlCa7q0fVcZOXZkrUu8AgUAlpecdMXH3fbdFEdSXURy3g5+p+528fH7SblZVIt/dUBdgBzVWH0nQd4aHsUFWb8DFwjC7C5TJuLf9swVD77g0gwZmwxiYKKPQehST1YUgzd5UPHYSxbL1npH63cEpRz2Yv6/OEc6YAYfe1KHeFJPXZLc+wB+nUd75TgxUyd8gB2k0L0qAJCqmiaqE3Vil9K/OmfEzh9ZK2I2FYz8gMbZTo23bcbjSo/BSbA/BoqO4Dj+uFsRAV0+hC9VWZ92i5//4JasVSbQ4zAVoyQqCPLpARwNezIZJV57FS4fisgJL4POIndnWBz8f2L7z4Qm/brzB+MjrH+opGi+T41mqiizfcTVpvp8gjAJFi0SvN2BubkG8DZNEtnWNjsUBsEWd37pgOUGsKctgK+0xdKgnCS3tpLZq2tKQQeHLUCVnaEGPH9onb/+UUnTLUDKb+H2n2cTcl4CEERg9Pr2hVPs1ORV0BY4/sMEvBU9HnjCGmMRA32kWPCBldycuLZHL1Votsc+01SUmvsG80c8R1aJtjePDWA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(4744005)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(7416002)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(38100700002)(36756003)(31696002)(86362001)(31686004)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YUd0TzlJckZLMHRIQVdvS2pZc2MxTEgzMW40eUJjNU9TZVo2cVE5RXNxOGZw?=
 =?utf-8?B?c2pXdDhtMHM1RGR5QWtzdW9UczZQc3NUdXRpSHJyVVZiQUZyQmd6S25sOTdo?=
 =?utf-8?B?QVo5bjNzczNmUlVmUkRlTHF3OWNyeVVpMVVJeURLMndMMlJaNmVaNVVaWGV5?=
 =?utf-8?B?bzVUNzhSNm5WWHhGZEQ0U29nazZkMEpGUmhQdmdUKzlVNnFlVnhRQUZDODZR?=
 =?utf-8?B?QVk1RjV1eTE0aVh2cVB3dndkQTBaeG9ZVklNZDl4eHQ2Q08zejlWanFjM3pD?=
 =?utf-8?B?M0tVNVpLbnFGbmUvQ1FyRVFOVUdPalFsaXpSNlRMT21BUWZQemRnVFBQQVVy?=
 =?utf-8?B?U1d4eWFGZlMyTHh3eVFua3phcmdDUjg0VmFBMnNPem1zWDVnKzVKeGtHV2F0?=
 =?utf-8?B?WGQ3akpEWkV0b3ZEd05PdG80RXZLTVcwU1hTS3BMQmttWWxGWTlJSkFGM3Bi?=
 =?utf-8?B?UVVSYkg0Y2QrT2ErY204c0lzbUF6UzlVNVc4MU82V3Zic2ZjUHBEamN0bVNi?=
 =?utf-8?B?U09FMlJWcWxvdnBRa1FESlVEcnJSRzlTbTdZMXcyT3EvTHNxMUQ1eFRReWVm?=
 =?utf-8?B?L3FtUk9oZkFiRmNTeERoUm1ad2tsNWxVV3p1d3lHdWp0VWNoVWFFL3Z2L1ZR?=
 =?utf-8?B?alluOVl2NEtYdmZSTlY2ZGp3WXZyNDNUWnFNVXhUOHhZNC9GaGprUE5pR080?=
 =?utf-8?B?ZCtZaHA5dnZ3UncxYWRsZGlNbnI1VE90YWxqK0dPNmFramtnS20yaHk4RmV5?=
 =?utf-8?B?d01jb2wwTzY3a0JlTTgxTk90amhoWFdVOElDRzhtMDdmTG9QeDBLWGVkRURx?=
 =?utf-8?B?bnUrNkdweTA3UWdRVzA0MWoydlFLYnZiandEbENlUFVBTm5hSEVJUnBCVE5j?=
 =?utf-8?B?a2VoRUU5Z29rcVJ3ZE9jc3NDSE5BeWltbjQ1cTFFdkpCWG9TSzc2clNKMkdE?=
 =?utf-8?B?V3RMR05jKzNydE5rUmpzSkpac0JMN2pHYkZiOW0wVkt4dTVBZWErVlYxU3M3?=
 =?utf-8?B?Qis3djBRcDZtZ0VvRTJyR0ZobDk0WkxTZm13Z1F2RTZPaG5WWTFra091U3NI?=
 =?utf-8?B?K3BybzRacGQrZ1R1V1BLek8xZUtPNHA3Z1F6SFZGb0pzZEdGMWZIN0Y3c0da?=
 =?utf-8?B?d3IwWkpkaW9BUVpGOXhML3ZVMlg2OHQramNJSWpXbURuYUcySGpQVy9Ddlpi?=
 =?utf-8?B?c1NNNElWaTQ4RFAvOU5aZEVTWDFLeGNsWGNoeDNmeG93U0VWaWpXb1FweHFK?=
 =?utf-8?B?U0VSYU50RVh5TVNiZHhxa1pwUWFhSTBjN2xtdnhDQ3FOTkYwL3hGQXFlb1lV?=
 =?utf-8?B?Z0RxVzlSeTBFTUhBZktURFgwTlRrT0M0UzF5V29Od2dRUkYyY243OGlhS1gx?=
 =?utf-8?B?U0w5MVZQWktmWG13NXlRMkxzZXFxeC9XLzF3L1FlOUwxOVZHaUlwekJKOVhS?=
 =?utf-8?B?Uy9RWHBiVmEwSFE2NDZ3S0hoc2tvVlBCSHlaTGpmYkcyTmFxZ2tFdG5iZ3Iy?=
 =?utf-8?B?SWw0Smh4bmQreU52ck9kSlJvTGUyenhrRG1BcDN4U29pRStzdklOUVMzVTNI?=
 =?utf-8?B?b2JiQXc0Tml4YXFoYyswbmVQU0ZjYUVjd3R5elovU0xmMGs2V3dvNlRVSHZ3?=
 =?utf-8?B?ZjZJSkZNYjhMNk9FMnkzanB5UjJaWEdyMnFFRHFMSUt5RVZPM0I1Q2w1YnJK?=
 =?utf-8?B?elRJWVk3RVF6TVJuVzZDOG43elhxdStoUVl4L0VGZ3R0ekxWNVFGUWMrRi81?=
 =?utf-8?B?SjJrQVJHbTZ4R09sem9wLzVpM1VzZTdXVCtXQTlIamVYQlM2Tkk2TWlucG9F?=
 =?utf-8?B?ckxKZzI1U0t5SU02MmNlRGhmMDI2NDlFUXJ1T29uSGlYeStwaUM0T1hOU2Qz?=
 =?utf-8?B?b1FENHd6S1NzSnFrTVhvQWt2cVVoM3IzTWZSNnRnL1g5aUFOc0NGY0hESXJa?=
 =?utf-8?B?UmUxcEZsb0ZiQlpReEtSRFk0VEd2VmdEdThuZWlmM0ZlNThCcVZOMU1OUTJz?=
 =?utf-8?B?QXAwV3lRaERyQ0RKSUJnNWc2M0p3VTg5SHRkc2ExSlpkck80NTRNQjlkVVlE?=
 =?utf-8?B?a2ZrY3d6Q29CSk9YNzNRWDV6K09YNjNXa29MRnFyV1VTTjBWN3RpbWJKSWxu?=
 =?utf-8?Q?kIyCZHIjrFAxauwvV59qLFrAN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f333f81-b4a1-4895-ea92-08db9402e74a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:20:39.5325
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uL8qXNx1tNHC25H65FU8H9vznNENzjGLkWdPAO6nQiy+D6XFVTRzyTJ5iGhMcTWh/3ImUdG2oKdWdFNrYGOYWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8678

On 02.08.2023 16:38, Nicola Vetrini wrote:
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4879,6 +4879,7 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          return subarch_memory_op(cmd, arg);
>      }
>  
> +    ASSERT_UNREACHABLE();
>      return 0;
>  }

I'd prefer to instead switch earlier "return 0" to "break".

> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -1045,6 +1045,7 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, unsigned int count
>      }
>  
>      return;
> +    ASSERT_UNREACHABLE();
>  
>  out_unmap:
>      /*

In the description you say "before", but here you add something _after_
"return". What's the deal?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:30:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576143.901953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUf4-0003Xr-Dx; Thu, 03 Aug 2023 09:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576143.901953; Thu, 03 Aug 2023 09:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUf4-0003Xk-BG; Thu, 03 Aug 2023 09:30:26 +0000
Received: by outflank-mailman (input) for mailman id 576143;
 Thu, 03 Aug 2023 09:30:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PRme=DU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRUf2-0003Xe-BL
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:30:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e6316d3-31e0-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 11:30:22 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A6EBA4EE0737;
 Thu,  3 Aug 2023 11:30: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: 5e6316d3-31e0-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Thu, 03 Aug 2023 11:30:21 +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>, Wei Liu <wl@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 11/11] x86/mm: Add assertion to address MISRA C:2012
 Rule 2.1
In-Reply-To: <0ba36273-33ad-753c-06a5-be117b6658e0@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <91b2f2c9e728c1f19f7baab301299d995a074279.1690985045.git.nicola.vetrini@bugseng.com>
 <0ba36273-33ad-753c-06a5-be117b6658e0@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <d506555fb3653322703f50d8756f3560@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 03/08/2023 11:20, Jan Beulich wrote:
> On 02.08.2023 16:38, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -4879,6 +4879,7 @@ long arch_memory_op(unsigned long cmd, 
>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>          return subarch_memory_op(cmd, arg);
>>      }
>> 
>> +    ASSERT_UNREACHABLE();
>>      return 0;
>>  }
> 
> I'd prefer to instead switch earlier "return 0" to "break".

Ok

> 
>> --- a/xen/arch/x86/mm/p2m-pod.c
>> +++ b/xen/arch/x86/mm/p2m-pod.c
>> @@ -1045,6 +1045,7 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const 
>> gfn_t *gfns, unsigned int count
>>      }
>> 
>>      return;
>> +    ASSERT_UNREACHABLE();
>> 
>>  out_unmap:
>>      /*
> 
> In the description you say "before", but here you add something _after_
> "return". What's the deal?
> 
> Jan

In this case the unreachable part is that after the label (looking at it 
now, I should have
put the assert after the label to make it clear), because earlier all 
jumps to
'out_unmap' are like this:

   ASSERT_UNREACHABLE();
   domain_crash(d);
   goto out_unmap;

As I understood it, this is a defensive coding measure, preventing pages 
to remain mapped if,
for some reason the above code actually executes. Am I correct?

Regards,

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:46:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576148.901963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUuS-00057h-LJ; Thu, 03 Aug 2023 09:46:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576148.901963; Thu, 03 Aug 2023 09: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 1qRUuS-00057a-If; Thu, 03 Aug 2023 09:46:20 +0000
Received: by outflank-mailman (input) for mailman id 576148;
 Thu, 03 Aug 2023 09:46: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 1qRUuR-00057U-Gl
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:46: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 1qRUuR-00021n-1L; Thu, 03 Aug 2023 09:46:19 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRUuQ-00058N-PS; Thu, 03 Aug 2023 09:46: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=uKQlEQh2f1FeMdUq8Ub6MJCuP8O/rZdEBeih/oP3A3E=; b=q8FONRsff89uU1OBGVDHOSB7Qu
	qVPHuQclpkcD41010jtrWAPOSR+SH6Pv1EkIutuFvgOzqOxykgoYeVcn3r68Bvy5JxthUVcz2rrFa
	1yW0tHlgeJ+cyrGkrNuMH68thdB88SzOpE0Tz1JBdxtB1kMOHOpd8U3XBXzPCMaesE3k=;
Message-ID: <15e52d9f-8d45-fd22-71bc-fbc71ff39470@xen.org>
Date: Thu, 3 Aug 2023 10:46:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230802135350.745251-1-luca.fancellu@arm.com>
 <17bc595a-dc30-9e76-4d31-aad62f9c9672@amd.com>
 <3ED442CB-0569-4C9C-9770-39D2FE4852A0@arm.com>
 <8c8f2564-935b-e3c8-ad15-348135140a53@amd.com>
 <92AE30B2-B2CE-465F-A6FC-A86961BED85A@arm.com>
 <9d40bd81-dc3a-0288-8f8a-1de62dc30d1d@xen.org>
 <1a364aa9-4549-80b9-4319-d91551f228bd@amd.com>
 <8516a6bb-8321-fc84-c7ce-10a7b41ecb59@xen.org>
 <33DCC5E2-7190-464C-B25A-68BC68CA4021@arm.com>
 <3942c22a-80e1-29bd-4bd8-15d4bc43d220@xen.org>
 <BD156163-5EA0-4497-9A44-F32CB257DA4C@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <BD156163-5EA0-4497-9A44-F32CB257DA4C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2023 09:39, Luca Fancellu wrote:
> I would like to ask if you see this one going forwards or not (as it is), because I have a set of patches to isolate and Kconfig-out
> the dom0less code, that is depending on this one (for a small bit) and before sending them I need to understand if this one can
> see the light or not.

In principle, I have no issues with trying to disable some part of Xen 
code. I will still need to look at each one to confirm I am happy with 
the changes.

For this case, I will have a look in a bit.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:51:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576151.901974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRUzI-0006aF-9B; Thu, 03 Aug 2023 09:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576151.901974; Thu, 03 Aug 2023 09: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 1qRUzI-0006a8-4q; Thu, 03 Aug 2023 09:51:20 +0000
Received: by outflank-mailman (input) for mailman id 576151;
 Thu, 03 Aug 2023 09:51: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 1qRUzG-0006Zy-UD; Thu, 03 Aug 2023 09:51: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 1qRUzG-0002Gk-PB; Thu, 03 Aug 2023 09:51: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 1qRUzG-0003uF-D1; Thu, 03 Aug 2023 09:51:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRUzG-0000DV-Ce; Thu, 03 Aug 2023 09:51:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gpCmXiSlLSUh8/Nj/Fuz0vFIq1hRx6Q/s8yvuZZcuH0=; b=QP1cqNwLb95wFS7j3Qwd+wO9uQ
	hSj31h19BgmTC+odVVbo3EyX/JQVod2wFkUeal2LzTzrg9lyfi/UQCkeNfgERSPgux4W3y0vbYTzK
	viX136bC0jsDT2dmeKPCvnb1DZvumY3HcHOdQBKHbcLfLxcvp4jOVHBD54CA9peI1F1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182106-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 182106: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-i386-migrupgrade:xen-install/src_host: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-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-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-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl: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-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl: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:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=87eaa43b30f8ffb600f8e6f765d5c7e4bcb241b9
X-Osstest-Versions-That:
    xen=e05a0e65b09d8512fdf4881c7fae713045c7d83d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 09:51:18 +0000

flight 182106 xen-4.15-testing real [real]
flight 182162 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182106/
http://logs.test-lab.xenproject.org/osstest/logs/182162/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail pass in 182162-retest

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

version targeted for testing:
 xen                  87eaa43b30f8ffb600f8e6f765d5c7e4bcb241b9
baseline version:
 xen                  e05a0e65b09d8512fdf4881c7fae713045c7d83d

Last test of basis   182093  2023-07-31 13:06:54 Z    2 days
Testing same since   182106  2023-08-02 00:59:52 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Luca Fancellu <luca.fancellu@arm.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e05a0e65b0..87eaa43b30  87eaa43b30f8ffb600f8e6f765d5c7e4bcb241b9 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:53:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576158.901983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRV1Z-0007Cv-P1; Thu, 03 Aug 2023 09:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576158.901983; Thu, 03 Aug 2023 09:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRV1Z-0007Co-MP; Thu, 03 Aug 2023 09:53:41 +0000
Received: by outflank-mailman (input) for mailman id 576158;
 Thu, 03 Aug 2023 09: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRV1Z-0007Cg-2U
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:53:41 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e8d1b21-31e3-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 11:53:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9186.eurprd04.prod.outlook.com (2603:10a6:102:232::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 09:53:35 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 09:53: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: 9e8d1b21-31e3-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSd1e+66fk1F1OlY4/VSUquaXhxZlLxsF7WoPt7mL92evXOej89xpfJMZFd2EV0BEhAeKj9TwdgpXo4UmpEdkJeCsBET/x7Kn3MPNuCnS8cj9I257/WFOFW6ZJzjiN3Z9qX9L++YGoYIMc8w8c1HXSptPhHPKAEXtk1taKzSQnVEpZlipJD/ILAGdrqhQvlcCHxbpCcOf8WZORnlTHv1Cb23XrsOOmTwZBxHaD/F6qVf25EivTKcteOkrfIWV1kjlEtlTHcynCHDqWp+EViBI9WcPNsOjoCCRXeucK7Jy1jJYfTJvO9FVrj9wUiZiYghRjSsTgi1Mhp6ioDEZArxCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J+/SplQubp7bsJRDx2BCsiBz6B8hWfpy15gr46xSccY=;
 b=Q8I/NAWWqhuPDDaWkjwJootpzgwSUyiNUHKkKLndjePsdqHqzLf4HOG3yMNE6maySWKroqIi9D45dfMh4VwrARW1GikmiTIYJrjPtHf/Y67r1hOyWWiC3Kxn3R5rEqvVFa6405Yn8WIuQD2zQn5kuhjYIe7Un7FUM4i9HVW5nUD+LeMsoFQBTyJYSkRMB/fN/a9ygUHec/py2TrsFz0Xj6SQ6Nz9Ycr7+LrN0Ruia498Hmw4Sz29T0s99KppPFhnYytEA9azTiBUch7dmz60ktvrKr6kbogAxAnunWDdJ6SqFSE6c8VNbYjBYr54kOyLDFUNi2Nv0ButOuajH8iv7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J+/SplQubp7bsJRDx2BCsiBz6B8hWfpy15gr46xSccY=;
 b=WTQ2KZ4MlLpmRkeK6CqzdA3dN/o1I6sDzLfb/bLcCcUtVyb78C1aS1IE1cC6Su3OTxmKS855PNk+wCNJjtHCPpHpn0jOAvs9/makgUgnUkxcA0QG126qbDYXKOug9rHgDDxh40x6ZQFieK3gQVqfh4WuKz9YyK8NyBEpfLFcaCrKSGJxe1Gq2wC1TLMT21LlkYclkzLatGAKkbVx2EM/wtiod6WqDm6EoAdq52NhwULSMHPh66RmMJexChWlX/fk+sGezg1tIeFvJX0uOuho+J35A7ec+buRUe720siyD+icN17xaB9iqhSj9l3QFzDd/7dRsUwf9GTVS/IXmPwJ4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b82f46ab-d91c-c4cf-faa1-8a78d120fb73@suse.com>
Date: Thu, 3 Aug 2023 11:53:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v3 2/2] tools/xenstore: fix get_spec_node()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Julien Grall
 <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20230724103324.4207-1-jgross@suse.com>
 <20230724103324.4207-3-jgross@suse.com>
 <5aaf37aa-cb7d-59e5-5e0b-40fa73177d35@suse.com>
 <a937b261-d42d-888f-7460-ed431b725c45@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a937b261-d42d-888f-7460-ed431b725c45@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9186:EE_
X-MS-Office365-Filtering-Correlation-Id: 28dbda1e-38b0-47e7-66e6-08db94078112
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ToyvH2mByXmhCr1MpkrTPGYTPRjdip2m7IHbEmz9joovJA05hNymGcDRVVrCujJN1H2kbk7oT23JnsQ4oY3Jvy0M9oRedvR5ow29RTYl+5O9/yN9G5mbk8SbMqUCClZ9L/LslJ3+E6/Nq+24OUyWy8+UmZzUn6XKnm9bl0ADWEzhyMDqaeMtYTx00Mq94Qc3AZuq+rOep1Bh6gMjB1U1PLV6KMtYRiYGZybE+ZyISkhT2FvWh+Av8f+Ni1BurxKLdJrhIzEV0bF8VG+mIcNmbxEMqO7+yDfe2RGo10NqMoUylvzjn+fpgvl533bRC8Qa4+ljkIWBWD8HEmfOzpZKqwyIhwVIAj3kRjN8WMheIExCuO3BwiO70Xwxurzdw/gtqk06/UuTxr7q1ZYz/+oTlOi29MQONYRb42JH2dFncTXPWEn8SZ6cGVnc0ltauAmGVEWzAUNvdakd5oOhGfTpMQstFi7gl/rgtvvbfPGCmOgyMlpLLfn4Tc5Ryv3i7tfetyXAV339l9JNn9ZPY+B//paBGqZyXCTE1F0Bhjquz3qXCAszZyVJKEynT8DxBV0IlTV+kgC7H+l4pxIDPrt9p7mlXaDbIjgXL/artarUEASSoyCphy1oEbRpdRGN+b1HiNgEaasg3ZpMm4ZMXZdujA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199021)(41300700001)(66556008)(316002)(2906002)(4326008)(66946007)(6636002)(66476007)(6862004)(8936002)(8676002)(5660300002)(38100700002)(26005)(36756003)(53546011)(186003)(6506007)(86362001)(83380400001)(2616005)(31696002)(6512007)(478600001)(54906003)(6486002)(37006003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVBYZmZjTTQ4clBUdjg3RjdFNFNUWVNiNlNpaEh6YUxrakVWNkQxNzRjbm83?=
 =?utf-8?B?ZDdBTVg5eG5NSldYcTVlOUtZTG95K3ZpT1ZsM2E4Y1ZUUWVNVWI0L2FwTXhG?=
 =?utf-8?B?RXkvTjlZemNFcXRRVThHak1MeDVaWmM2VG96ZnMyZGV2cHM1RTFaTWVQY2py?=
 =?utf-8?B?VkxjakdkNHVPL095NUkya0sxQXR6d2dPMDVDVThwd3JPTmVHSDdGcmRjNW5H?=
 =?utf-8?B?eHNSczJpYiszMWVkb0NQSWl0UFNnajNrZmJ5UDI1eXFuckRvbW5LeDNwY0Mz?=
 =?utf-8?B?dE1hME1iaGM2dUVEbnJZcXI4OUx0MWpyL1BCWGhSNGhPNUY2Q3kxNHQ1TUdX?=
 =?utf-8?B?YkZMaVF3OS83WWVYS3pFRXdsZUJkRlBCMW9pdnNXNjVhcW9BL3V1b0VCcTI1?=
 =?utf-8?B?dGM1TnIveDQ2amwvTW1uNTA5VWNFbDJXWkFsdmFZM1lzU0J1b1lRVms5QzlC?=
 =?utf-8?B?MVlKN0plYmJqTUo1N1JweDBsRGxZbXh6VmcxZmpBSkxVanY5WkdocFgrUjdQ?=
 =?utf-8?B?T2xnbTdvSHFFNTdUeCtOajQyZDBkaFZlZzZua3RkaFBTd0VsaHJoZ0ZlRGVz?=
 =?utf-8?B?QW5IOE5DVGcybkNlOGNLVldOb0xaY2RXUHIvYTdrTG9pcTB0T0pvUFhTL0kx?=
 =?utf-8?B?UWdhR0lSdW9HMzc1a3dRSkxQOXQvaXhPSUg2UzlWMXJkalgvb0hUUGVxVW9U?=
 =?utf-8?B?VCtubGdPY2tteHpCOVM0ZlNOQ3NzWExuQkg0Ry9GNjNhMEZkWG80eWZXelhr?=
 =?utf-8?B?NkxFYzBuOHhLYWNuK0w4NURyTmFuRWlUQmtXaGJjTnZ5SXNaWDQzdzRuNkdR?=
 =?utf-8?B?SWZhLytXWS9GaE9XZFF2ckdQemJWZE8vRFRsanE1UW5HMHJGQTM2R1oyVXZO?=
 =?utf-8?B?aTNrMkpVVVFWVytJcjdrUjcrc3NGT01FZWE3NlZONloxQUpYWlRqdktRVWN6?=
 =?utf-8?B?eUFtZDc3RUxHc21pTHFFMDc1L1ozYTBUYm5UaEUzQ0Myd2JIVi8rSVNEVnVt?=
 =?utf-8?B?ekt5QUl1MXlFQ01qNW9kQTdVbmlyR0hJS3V1d1k3K1hacGlodmJNZkU2RWJN?=
 =?utf-8?B?VFdTRXd1VHR2d0VaV1hzMEErYU9MT3FNaDdCSFc5K2ZDbXIzbzV2WjNDbG1P?=
 =?utf-8?B?TE5yVDkydGUrU0NERnBTM0hRWUJoSlZlT0I3M0lUWk5wUnJSS3Z5Z3dQNjZo?=
 =?utf-8?B?dkJBTlpNZ3VLMUo4UGlnZGdtREY3c2hteGw1MzRoN3VCM2FucVIyaVhJV0lG?=
 =?utf-8?B?V1JjRDUvVXN0NC9XR0N6RkQrSy8ySk4veXIwNkVQRGg1dFp3ejNUY3kyaWpl?=
 =?utf-8?B?ZXZIaTI3QXpoMWhNUXZIU1c5NzBXeHRDTWJLWnZ4ZHMwL2w0VERUTW5YUzlM?=
 =?utf-8?B?NlJBSVZjMXRRaGRwOVRQNEFXbTI1b2tGUGJ6M0FUR1NXbGhMVmkvZktHSEVl?=
 =?utf-8?B?czYzdG1lS3hUUExwcno5V0JqR2FBQ0pySEtsMlo4T1FRSXl1UlVGKzFMOGcw?=
 =?utf-8?B?YVZDb25IUkNpcmQxdDRvdjJ2NWV4emVGY3JGMndoSXVGQzJraEJwckdnODZO?=
 =?utf-8?B?MzFRK0lLd2xTLzJMYkpIOUZOZTJIOHFaV3k5WjE5SERtUG02N1Q0WisrbStT?=
 =?utf-8?B?TU5hS3Q4dmVSVStualByczAvRlgvZnZRNnJCL0c4RmY2OHBEZDV5L2YwSGdO?=
 =?utf-8?B?UWhsVEJEcU4xVjMxdVNtNUIzVUo1amgvdW80QS82djFrcmFMKzNTcGhTWjl3?=
 =?utf-8?B?bXJucU95YU1HMmR5STJDQ0tjdVhQYlVSRXVxZC9qMWdibDFPaDdlWTlGNzJp?=
 =?utf-8?B?WUxEc1hkVjVUUzNrNDVGUHhlT2FBTHdOb2hOOXIwS09sK2J2OGhWR2lqZytX?=
 =?utf-8?B?QVVwbkhsRysyWjVrK2RFdDZySjBwVFNiTlcxMkJEbmZaTjJlSVZQM2I0OVl0?=
 =?utf-8?B?eHRydzIvSVp1QndVcm45SC9pZXVWSldjVE5yNlZBeExrNVNyNGliQ1FUVkJh?=
 =?utf-8?B?bGV5cWo5ZWJjOExvOTF5eUFGaXdHbVFLVnYxMUhnYWNURmZCNktmOXdSOEJv?=
 =?utf-8?B?NTBaZlBoT1NtMFhqWGthY1FEMm94WkMrUloyMW84NHlxaHZ4RGgyUm1zcy9v?=
 =?utf-8?Q?qI0dtS7DNgiE/Dxe4mOn4whIa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28dbda1e-38b0-47e7-66e6-08db94078112
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 09:53:35.6668
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VraN7nLlohslcpP9n7hbAA2AFnMG75gplVpZItuQlxk9mhNQIdAYNCTy/R+GEW5nIov+6Qc22ukYPxXnwF5Atw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9186

On 27.07.2023 09:55, Juergen Gross wrote:
> On 27.07.23 09:53, Jan Beulich wrote:
>> On 24.07.2023 12:33, Juergen Gross wrote:
>>> In case get_spec_node() is being called for a special node starting
>>> with '@' it won't set *canonical_name. This can result in a crash of
>>> xenstored due to dereferencing the uninitialized name in
>>> fire_watches().
>>>
>>> This is no security issue as it requires either a privileged caller or
>>> ownership of the special node in question by an unprivileged caller
>>> (which is questionable, as this would make the owner privileged in some
>>> way).
>>>
>>> Fixes: d6bb63924fc2 ("tools/xenstore: introduce dummy nodes for special watch paths")
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>>
>> I've committed the two patches, and I've queued this one for backporting.
> 
> Thanks.
> 
>> Can at least one of you please confirm that the earlier patch is not
>> intended to be backported, and that instead a cast will need adding in
>> the backport of the one here?
> 
> Yes, that was the plan.

Hmm, looks like the offending patch exists only on the master branch.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 09:58:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 09:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576164.901998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRV65-0007t0-DM; Thu, 03 Aug 2023 09:58:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576164.901998; Thu, 03 Aug 2023 09:58: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 1qRV65-0007st-Ad; Thu, 03 Aug 2023 09:58:21 +0000
Received: by outflank-mailman (input) for mailman id 576164;
 Thu, 03 Aug 2023 09:58: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 1qRV64-0007sn-AH
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 09:58: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 1qRV64-0002O8-11; Thu, 03 Aug 2023 09:58:20 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRV63-0005mA-RY; Thu, 03 Aug 2023 09: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>
DKIM-Signature: v=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=vXXwLeKSesqW6P0my9eiMh/3Mour9Agu9cMHmw+/bag=; b=tDs27RUoq2EUCDFlW61kovnrf4
	SR3j64V3PtXa4DW23CdIIcJNPcdTa8JsaQ7SkWOnvxt4inXOZUrE3n6y+Dn49CwMOTooER5F4W3Wg
	pa6qyaoG4cQnGkSK+egfm9JjLUBehIkrRZxGHs+Y64uMSx294h9msiJ99YzBXIBMyDNk=;
Message-ID: <9320a2b7-18cd-2766-b115-300755d64932@xen.org>
Date: Thu, 3 Aug 2023 10:58:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230802135350.745251-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/08/2023 14:53, Luca Fancellu wrote:
> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
> when needed, the option is active by default.
> 
> Introduce Kconfig VGICV2 that depends on GICV2 or GICV3 and compiles
> the GICv2 emulation for guests, it is required only when using GICV2
> driver, otherwise using GICV3 it is optional and can be deselected
> if the user doesn't want to offer the vGICv2 interface to guests or
> maybe its GICv3 hardware can't offer the GICv2 compatible mode.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/Kconfig        | 13 +++++++++++++
>   xen/arch/arm/Makefile       |  4 ++--
>   xen/arch/arm/domain_build.c |  4 ++++
>   xen/arch/arm/gic-v3.c       |  4 ++++
>   xen/arch/arm/vgic.c         |  2 ++
>   5 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index fd57a82dd284..dc702f08ace7 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -78,6 +78,14 @@ config ARM_EFI
>   	  UEFI firmware. A UEFI stub is provided to allow Xen to
>   	  be booted as an EFI application.
>   
> +config GICV2
> +	bool "GICv2 driver"
> +	default y
> +	select VGICV2
> +	help
> +	  Driver for the ARM Generic Interrupt Controller v2.
> +	  If unsure, say Y
> +
>   config GICV3
>   	bool "GICv3 driver"
>   	depends on !NEW_VGIC
> @@ -92,6 +100,11 @@ config HAS_ITS
>           bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
>           depends on GICV3 && !NEW_VGIC && !ARM_32
>   
> +config VGICV2
> +	bool "vGICv2 interface for guests"

This description is a bit misleading as the vGICv2 will also be used for 
dom0 in the case of vGICv2.

> +	default y

Please add a longer help.

> +	depends on (GICV2 || GICV3) && !NEW_VGIC

In the near future, I don't expect anyone to introduce a new non-GIC of 
interrupt controller for Arm. But I would expect new version of the GIC. 
So I would drop (GICV2 || GICV3).

Also when !NEW_VGIC is selected, this will make VGICV2 will be 
unselected. I was actually expecting the other way around given that new 
vGIC only offer v2 support.

The rest of the changes LGTM.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576168.902007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVMm-0002MJ-NT; Thu, 03 Aug 2023 10:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576168.902007; Thu, 03 Aug 2023 10:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVMm-0002MB-Kd; Thu, 03 Aug 2023 10:15:36 +0000
Received: by outflank-mailman (input) for mailman id 576168;
 Thu, 03 Aug 2023 10:15: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRVMk-0002Lc-Rx
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:15:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7d00::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae2cdd08-31e6-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:15:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6963.eurprd04.prod.outlook.com (2603:10a6:208:18b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 10:15:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 10:15: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: ae2cdd08-31e6-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CTogRfIfphU3kX4C/e9M9lGRbYO5GK1D1pIKjtN6ukE+um8z+x7uVCkcdxmt4PvDvp0Rj8xQCQECV2DRlnRiek0AGE+tNMLjTIi7Bdmt8JSciGPEKcY6lyQlmHf9CRk4HA2r5BtF5kn1356E+LiJ21LryQ18d+qRRTRaSnBqYbv+pUAxSTbFFTLVgs5zA9K8Sub9NAZ+8lc8PXHHzFw7V8SdnMUXSV0if6yOP64IaPitaXiG49frMKGvYKzKFDa+uAyo+PLTALJOdVzrDsmYuzClVXyhi2SFuVIrnLQQ7yVCooPDRoy1xnHRuaDakpDDsnO/22KHwRWZqE8flt/hLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4q9BXtk8s2rkrLIMpuk5869VQ4BI6xtPmbxxCg4i8TM=;
 b=A6hzeFZ24dvzHOrjMhllm1aBAeJwp2nAIFWIrQCtY0lH2JEshoqLwkBEZ9SWESS9jfi+wlXREoJaJd8lJejZcWLM2L46j9SDen297Mbkytk5/MyORL8oYOWh60DPtmjBeNUsqEsqdiPhmGJRLIPuTZumfz07PL/WxolqCJhs/yOpk2naIlMiXZ0WEyU9J+xAIJH5/opEEWz6RpQlKeWd1XnnkXFZS6eph33wmDR9GIjwciaC2eMmWqrHm2+pxnSLGbYZAXvTkhPx5QAhO2uFCYwLk8Ks85SnhHts7EYivLpzds8QO93WdSUsluR40qGcdV9ffoVCPVce4wLt0tm+ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4q9BXtk8s2rkrLIMpuk5869VQ4BI6xtPmbxxCg4i8TM=;
 b=aoH7nemT3VpTcDlC2gj6Yjp5Rrn+eIpqQRDlb1UyhJKckVAeuDqfJVUdxOY0UWh0RPcN1Y33BmYWjGq+TAC9SudQNcBCgAtvY8V/TElrepusJettbRv4XRXCTH321Zjqo06armxRu8pBXfs+AtHJ+F2Zmg4eBJIBb/DtLbs1AQd+TknSCMKYgEJDmlYtrFuFuyHuaejHBBbRVVhKq5mOTNSHPpqjTWGIYzL3kcBPefaAFtAJUfxn4i7PwZIShwdlVM3D3cO9l+p0SxL12yEb7m1nMVY1rulX9xviXZnGESyAmMFtXPoqD+0nF3j5L8O4WkoDMwU2J71w71hUBytU4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <99d89bce-42ff-f6e5-090b-3b9f8e130e66@suse.com>
Date: Thu, 3 Aug 2023 12:15:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] xenctrl_stubs.c: fix NULL dereference
Content-Language: en-US
To: =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>
Cc: =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <3b6374c44ae7e4afce427a9ea852d8d1ebbb42b3.1689236671.git.edwin.torok@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3b6374c44ae7e4afce427a9ea852d8d1ebbb42b3.1689236671.git.edwin.torok@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0201.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6963:EE_
X-MS-Office365-Filtering-Correlation-Id: ca2bba31-ec35-4998-0f44-08db940a8fdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G1fBwV7dz4aUa47nCE1sqbgd0LtDS4opDKtQm6uwGiNNlacTrDcHQvpGUe6ZOfbzvaQz3aGDCR4XK3hSeqx/Y4/EdgYhD0xaYc0qT/xU16Mj3atzSpqDPtAuJAxZOLQJV1mJQKJfra7APRcR1OOJAUt4o+TETi5Z+lFPrkTymM+yQVLQuRHhMIkFiJvHOABdN589qDB/wBtBSzLsxMXs9SW3O5YvXV9GWHmE2e7ZLsP8l/D0nu0dUyXqIAFeS+girKZ5pRHFZ45D6MCTz4AcwobsIf3ipvH9LluYuE8Zrt7AftxmUzm6RtymE7clEjoddBBRQ1t0yRXpO1PP5Ag1I2JRlvKvAgREC0dST9t/iQb26BcXY7OXY0jY1oY3wchb/8hCZesXtZqW3SeyGDlVuaQgxBjN/oqvNS9L3WcyGQMdJd5ZlXZpDGdnp2WJVQwtGvQnUsh+dw6CBnA+VrOfy7IiKJDAdmr0nQ647IjqvaIBoNo1MRUFwjj19kQSJjmzwDCqaIR6vPCZX5AzGov6qElgvYywIT6sLy424xF4uCcTXqV+v2J8Eg8winGrhlhP5kGn8zlvh/HDm7i1JhHQ2V0st1/kZtGU7cigtjqXw8J1y0aPd8HGf1nPNgZDH2MzVCo3pCfgaPVPxWSIo0q/OQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(4744005)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(6666004)(6512007)(54906003)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZjdYc1lxS2I2dktHRm5pbTJrUXhwcmR2QlJnZTJTb0YzOHZBZ0FzdUVqdytQ?=
 =?utf-8?B?OUhhS3pRUHZDVFNZbUFJZHF1cWwzOHNaQnJwZWVKemxzWEhEVHlzL1d3Z090?=
 =?utf-8?B?WU1vVE1tWTdOcmFSUFZsa0ZudE5EN1VEYmJNOUVkWDlwTUJtV3E5dmVObENz?=
 =?utf-8?B?VllKRjNrT2hySUtZSjdPOTJLYXFTRzZnYUQ3cWhRV1FoMjgxbmpiUWRJbjNl?=
 =?utf-8?B?UXIzUkFPclJubmdac3ZlTUhDMUdoam1jbjhmS21UdnpCSDc1ZzFkOTkxMTB1?=
 =?utf-8?B?dVppZ0cwb2d1bm1Qbk1SbTRNbEVkT2VRRVAzZ0RXQlFlZ2pzTzhpNXpFZVJh?=
 =?utf-8?B?RG8rSUxLT0c2akpodXJBOFFhQnlWUkVHcjRhcnNlbUErM0pzM1ZqM3NlOGpj?=
 =?utf-8?B?MVlIK3FMYXlJUHRTNDdDRndzT0RFUmgvMHRQZU9ONWU5dUNBYjZuVGFYVnVr?=
 =?utf-8?B?Z1JqY05BdUhidTJublpqUisxNHNWVldiTVM0NTEwMmcrTlJEM0hjclpDQ1JE?=
 =?utf-8?B?Z2Q4U3A1aFhiZU9scVpvT0tnbmhmNnZzWGNEK2o5UHBjb25CUjBhRUlxRlBW?=
 =?utf-8?B?VndST3BqWlJaMi9RNkZ1Tzg3N1R4TVFVVEZWNmVlTnVlOWNhRlgzSGpyL3A5?=
 =?utf-8?B?M2ptc2hScnpicW9GcVBleGVQUjQ4Q282akxmSHl1M0JLUG9HUmRhajBzWlhL?=
 =?utf-8?B?R0dvL21OaXVxTVM3cnY4eW11VWFJck1sY3FIeFdzTGdpRFRMOExxRE1IY3hk?=
 =?utf-8?B?ODZsdEVTaVFrZmYzY1p6VDdoY2VzSG5VRnBwcW9GWXM4Ty9wNEg0cFJwaXY5?=
 =?utf-8?B?Z3ovMVZyRmRESEkwVllVMnFFcUpDMFl5dE1MSjg5TDZjQ3lsRHpMM1VGd2xo?=
 =?utf-8?B?eVY4b3czNnhYMGpsb1dQOFVEeGFPN3loS3pDeXZVamJtSS9XeG1Wd3ZEU3NN?=
 =?utf-8?B?dmxLVVRsQnl2QU54UU5vTCtneTA4U1dFSmRlVkNiM2tWaUplOERHOENOWU1t?=
 =?utf-8?B?dVdYSExsdllrZTVwOEFxV3VjbmtrazFWMjJ0azJDOGRPUzFPcitiWDhmTUxy?=
 =?utf-8?B?ekdySG1FNlRMU3lpOFJpL1BYTk5FeTB0TEJLUUh2R2tFVHlzVXVtVGFSVitB?=
 =?utf-8?B?N3hlWE9aUDZVMFIxTi9BSzVuaHBQMnVsM242bHErMDRuMEIwWHN6SnVhekEv?=
 =?utf-8?B?UHVsTUVxN3B5b3pDUkFkaEdhMHRaclNTSHdhYkp4cFRWL1FKL1d3ZzRXdFJv?=
 =?utf-8?B?dk9vYnhuSlozNEEycmV1WXhSL2IyVEZOeHNIS3ZHaHNsVEJJWVRCWElWRE93?=
 =?utf-8?B?L21UNlA5YmZoSHA5ZzQ2a3FkMkc2TGVVWmUvRW50NC9pbFRXRDFqWDdBNk5O?=
 =?utf-8?B?YkhXbHVMRVJGTCtocUhrT21adXFUc0MvcFVHMWtZcXBFNlJlMk1ZYVJVMERO?=
 =?utf-8?B?L2Q0UGl0djRPaGptZ0FIVTNLVWxGNWNyODdoZkdjM0hZUThlMFgzbmlLbjIw?=
 =?utf-8?B?VjdzRDU0U0tuQ1RNaG54NUErbGhaM0NNNjJra1lQdjZNRGMzNlZEbTZiQ0xv?=
 =?utf-8?B?L2RVVUgvU0VhR0p6RWdKYko0SDdCeXdXMGxrdHNMeXhCT1BKL1FXaHZnMlN3?=
 =?utf-8?B?UFpHdU9uNllxTmtZRmx0K202Mk9XMlgweU13aXhvbFowZTZlQWNFSXY5L2cw?=
 =?utf-8?B?VjZQVmRqQklVZ2RlcE44eEZRcVhHRlM4bzJ3MXVVS2VoQW41RHRycUxORlJ3?=
 =?utf-8?B?bDNyRDlnRldrcEJ4NGhUZ2xwY0t1VGpyOGZGOEZuempYVVNsa1VKbE81ak5T?=
 =?utf-8?B?NGJBZmxhUUp6aERWd21KUzQyeVJNWDhCckpVdDcxczlid2FTRWRxZjJpZ0xy?=
 =?utf-8?B?dityc1owTDBnMWtlTlJ2Z1pPcE5KUm1UaW1zQVRKbyswTm1uOFVTaVNkVU5u?=
 =?utf-8?B?ajNhd1RZVVZmTUZ5MXBIejN6eVpySFE2K29rQjg3K201N2h2S2xYV1pxVWR4?=
 =?utf-8?B?dExXNXpsV0k5dlJwcDIwZEI1Y0lSU1kzS1YrTFo2c0Fzb1UyMjl2MEpvbFpk?=
 =?utf-8?B?TTE3Q0NqY1pDMWFKQkdVdjRIcVV3SXZmNWFqb3llSE83OTRYQ2ZIUC9UWFZX?=
 =?utf-8?Q?LYJ+TXgkVR8I8cb3JdDRauRkh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca2bba31-ec35-4998-0f44-08db940a8fdb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 10:15:29.1281
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0jOKw8wB7vWje8o9wArXA4Fy+67Qrmq/8WA5ddQ+tZhatEHXA2LwGZQ26e3IjRDAR6u5/xPxeIzOaZ3bqy/WhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6963

On 13.07.2023 10:30, Edwin TĂ¶rĂ¶k wrote:
> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> @@ -832,7 +832,7 @@ CAMLprim value physinfo_arch_caps(const xc_physinfo_t *info)
>  
>  	tag = 1; /* tag x86 */
>  
> -	arch_obj = Tag_cons;
> +	arch_obj = Val_emptylist;
>  
>  #endif
>  

Since, aiui, this also affects 4.17, but the patch as is doesn't apply
there, could you please provide a suitable backport of what went onto
the master branch?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576172.902018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVSe-0003rK-Dh; Thu, 03 Aug 2023 10:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576172.902018; Thu, 03 Aug 2023 10:21:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVSe-0003rD-9f; Thu, 03 Aug 2023 10:21:40 +0000
Received: by outflank-mailman (input) for mailman id 576172;
 Thu, 03 Aug 2023 10:21: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=Dmgz=DU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRVSd-0003r5-48
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:21:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 874996f1-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:21:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 05703219AD;
 Thu,  3 Aug 2023 10:21:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C6ACF134B0;
 Thu,  3 Aug 2023 10:21:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mnITL7B/y2QEEAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 03 Aug 2023 10:21:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 874996f1-31e7-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691058097; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=TWXN2ElWv8BEV6Ycc9EHkQ5nJH5s0YKDnJHm35J5odc=;
	b=Xpd292P6wH1JGfGsDH9pIqEALlHISNQPJ7n59HFk/x3ZnbvFYSuIVKsRofyJF43wqC21RB
	LnWQQOPMyBN+wvsPIGmKjEUOCwFnas8RWmqfIOU1QAH97oHc24Jltcsh9icMtLAuO6ADM8
	GE8vgKt4mYvLC92RbpXgGEpNEI9BUrU=
Message-ID: <2bd36102-0373-dcf4-552f-5b4bed67d595@suse.com>
Date: Thu, 3 Aug 2023 12:21:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 2/2] tools/xenstore: fix get_spec_node()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Julien Grall
 <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20230724103324.4207-1-jgross@suse.com>
 <20230724103324.4207-3-jgross@suse.com>
 <5aaf37aa-cb7d-59e5-5e0b-40fa73177d35@suse.com>
 <a937b261-d42d-888f-7460-ed431b725c45@suse.com>
 <b82f46ab-d91c-c4cf-faa1-8a78d120fb73@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <b82f46ab-d91c-c4cf-faa1-8a78d120fb73@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RYAYTMBsjGHju0T6r5kKyxqG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RYAYTMBsjGHju0T6r5kKyxqG
Content-Type: multipart/mixed; boundary="------------vEj2nenpQEgjPku105qIaLnc";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Julien Grall
 <jgrall@amazon.com>, xen-devel@lists.xenproject.org
Message-ID: <2bd36102-0373-dcf4-552f-5b4bed67d595@suse.com>
Subject: Re: [PATCH v3 2/2] tools/xenstore: fix get_spec_node()
References: <20230724103324.4207-1-jgross@suse.com>
 <20230724103324.4207-3-jgross@suse.com>
 <5aaf37aa-cb7d-59e5-5e0b-40fa73177d35@suse.com>
 <a937b261-d42d-888f-7460-ed431b725c45@suse.com>
 <b82f46ab-d91c-c4cf-faa1-8a78d120fb73@suse.com>
In-Reply-To: <b82f46ab-d91c-c4cf-faa1-8a78d120fb73@suse.com>

--------------vEj2nenpQEgjPku105qIaLnc
Content-Type: multipart/mixed; boundary="------------8noQYMSZeSBgEQGpPe9oSvND"

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

T24gMDMuMDguMjMgMTE6NTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wNy4yMDIz
IDA5OjU1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjcuMDcuMjMgMDk6NTMsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDI0LjA3LjIwMjMgMTI6MzMsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IEluIGNhc2UgZ2V0X3NwZWNfbm9kZSgpIGlzIGJlaW5nIGNhbGxl
ZCBmb3IgYSBzcGVjaWFsIG5vZGUgc3RhcnRpbmcNCj4+Pj4gd2l0aCAnQCcgaXQgd29uJ3Qg
c2V0ICpjYW5vbmljYWxfbmFtZS4gVGhpcyBjYW4gcmVzdWx0IGluIGEgY3Jhc2ggb2YNCj4+
Pj4geGVuc3RvcmVkIGR1ZSB0byBkZXJlZmVyZW5jaW5nIHRoZSB1bmluaXRpYWxpemVkIG5h
bWUgaW4NCj4+Pj4gZmlyZV93YXRjaGVzKCkuDQo+Pj4+DQo+Pj4+IFRoaXMgaXMgbm8gc2Vj
dXJpdHkgaXNzdWUgYXMgaXQgcmVxdWlyZXMgZWl0aGVyIGEgcHJpdmlsZWdlZCBjYWxsZXIg
b3INCj4+Pj4gb3duZXJzaGlwIG9mIHRoZSBzcGVjaWFsIG5vZGUgaW4gcXVlc3Rpb24gYnkg
YW4gdW5wcml2aWxlZ2VkIGNhbGxlcg0KPj4+PiAod2hpY2ggaXMgcXVlc3Rpb25hYmxlLCBh
cyB0aGlzIHdvdWxkIG1ha2UgdGhlIG93bmVyIHByaXZpbGVnZWQgaW4gc29tZQ0KPj4+PiB3
YXkpLg0KPj4+Pg0KPj4+PiBGaXhlczogZDZiYjYzOTI0ZmMyICgidG9vbHMveGVuc3RvcmU6
IGludHJvZHVjZSBkdW1teSBub2RlcyBmb3Igc3BlY2lhbCB3YXRjaCBwYXRocyIpDQo+Pj4+
IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+Pj4g
UmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+Pj4NCj4+
PiBJJ3ZlIGNvbW1pdHRlZCB0aGUgdHdvIHBhdGNoZXMsIGFuZCBJJ3ZlIHF1ZXVlZCB0aGlz
IG9uZSBmb3IgYmFja3BvcnRpbmcuDQo+Pg0KPj4gVGhhbmtzLg0KPj4NCj4+PiBDYW4gYXQg
bGVhc3Qgb25lIG9mIHlvdSBwbGVhc2UgY29uZmlybSB0aGF0IHRoZSBlYXJsaWVyIHBhdGNo
IGlzIG5vdA0KPj4+IGludGVuZGVkIHRvIGJlIGJhY2twb3J0ZWQsIGFuZCB0aGF0IGluc3Rl
YWQgYSBjYXN0IHdpbGwgbmVlZCBhZGRpbmcgaW4NCj4+PiB0aGUgYmFja3BvcnQgb2YgdGhl
IG9uZSBoZXJlPw0KPj4NCj4+IFllcywgdGhhdCB3YXMgdGhlIHBsYW4uDQo+IA0KPiBIbW0s
IGxvb2tzIGxpa2UgdGhlIG9mZmVuZGluZyBwYXRjaCBleGlzdHMgb25seSBvbiB0aGUgbWFz
dGVyIGJyYW5jaC4NCg0KT2gsIGluZGVlZC4gSXQgc2VlbWVkIHRvIGJlIHNvIGxvbmcgYWdv
IHRoYXQgSSBjaGFuZ2VkIHRoaXMgLi4uDQoNCg0KSnVlcmdlbg0K
--------------8noQYMSZeSBgEQGpPe9oSvND
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------8noQYMSZeSBgEQGpPe9oSvND--

--------------vEj2nenpQEgjPku105qIaLnc--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTLf7AFAwAAAAAACgkQsN6d1ii/Ey+y
/wf/Vi+zGDyf8XONEfpwO5juD9g6AHJFjbE4Ts6T/FWYq0lYwVuCyYtOAjQKdXhMvN5K9IQlPuD3
kE8eqD+ujlQS7cRGxMrgNLYBgQ1lbGpah3GoLYTedmMj+QabmmNPjr8oY/s33zK2VQgCgzbwI466
JtTGBpGzb5PAvKUWXWfKIh5heQa1LEYfVxDjkUtFXojgB3jdtU1f8TzF1TjSjmd2Ooq7OHUPNff5
zmIZZpLp6U5bjm5+2SFMzl1Y8054IlmB5yRkv2IBxlQBQ1F8t+QAd2ghQPJYTRU+D0lWpB28zBsx
UGmIv1dxMs5Fmku06X29PTNGorQqqxOo0ZZSAATy0A==
=9g84
-----END PGP SIGNATURE-----

--------------RYAYTMBsjGHju0T6r5kKyxqG--


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576176.902027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVTz-0004S5-Ra; Thu, 03 Aug 2023 10:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576176.902027; Thu, 03 Aug 2023 10:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVTz-0004Ry-Os; Thu, 03 Aug 2023 10:23:03 +0000
Received: by outflank-mailman (input) for mailman id 576176;
 Thu, 03 Aug 2023 10:23:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVTy-0004Rp-Du
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9381d91-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:23:01 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 97D464EE0737;
 Thu,  3 Aug 2023 12:22: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: b9381d91-31e7-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@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>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Paul Durrant <paul@xen.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [XEN PATCH 00/13] xen: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:15 +0200
Message-Id: <cover.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to address some violations ofMISRA C:2012 Rule 7.3:
"The lowercase character 'l' shall not be used in a literal suffix".

This patch replaces "l" suffixes with "L", to comply with the rule.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

Gianluca Luparini (13):
  AMD/IOMMU: address violations of MISRA C:2012 Rule 7.3
  x86/svm: address violations of MISRA C:2012 Rule 7.3
  xen/arm: address violations of MISRA C:2012 Rule 7.3
  x86/IOMMU: address violations of MISRA C:2012 Rule 7.3
  xen/ioreq: address violations of MISRA C:2012 Rule 7.3
  xen/mem_access: address violations of MISRA C:2012 Rule 7.3
  xen/vpci: address violations of MISRA C:2012 Rule 7.3
  xen/hvm: address violations of MISRA C:2012 Rule 7.3
  x86/mm: address violations of MISRA C:2012 Rule 7.3
  x86/viridian: address violations of MISRA C:2012 Rule 7.3
  xen/x86: address violations of MISRA C:2012 Rule 7.3
  xen/common: address violations of MISRA C:2012 Rule 7.3
  xen: address violations of MISRA C:2012 Rule 7.3

 xen/arch/arm/include/asm/processor.h        |  6 +++---
 xen/arch/arm/vtimer.c                       |  2 +-
 xen/arch/x86/cpu-policy.c                   |  4 ++--
 xen/arch/x86/dom0_build.c                   |  2 +-
 xen/arch/x86/e820.c                         |  2 +-
 xen/arch/x86/hpet.c                         |  2 +-
 xen/arch/x86/hvm/emulate.c                  |  2 +-
 xen/arch/x86/hvm/hpet.c                     |  6 +++---
 xen/arch/x86/hvm/hvm.c                      |  6 +++---
 xen/arch/x86/hvm/io.c                       |  2 +-
 xen/arch/x86/hvm/stdvga.c                   |  2 +-
 xen/arch/x86/hvm/svm/svm.c                  |  4 ++--
 xen/arch/x86/hvm/viridian/synic.c           |  2 +-
 xen/arch/x86/hvm/viridian/time.c            | 10 +++++-----
 xen/arch/x86/include/asm/apicdef.h          |  4 ++--
 xen/arch/x86/include/asm/debugreg.h         | 16 ++++++++--------
 xen/arch/x86/include/asm/guest_pt.h         | 16 ++++++++--------
 xen/arch/x86/include/asm/pv/domain.h        |  2 +-
 xen/arch/x86/mm.c                           |  4 ++--
 xen/arch/x86/mm/p2m-pt.c                    |  6 +++---
 xen/arch/x86/mm/p2m.c                       | 20 ++++++++++----------
 xen/arch/x86/mm/physmap.c                   |  4 ++--
 xen/arch/x86/msr.c                          |  2 +-
 xen/arch/x86/nmi.c                          |  2 +-
 xen/arch/x86/psr.c                          |  8 ++++----
 xen/arch/x86/spec_ctrl.c                    |  6 +++---
 xen/arch/x86/x86_64/mm.c                    |  4 ++--
 xen/arch/x86/xstate.c                       |  2 +-
 xen/common/ioreq.c                          |  2 +-
 xen/common/mem_access.c                     |  4 ++--
 xen/common/page_alloc.c                     |  6 +++---
 xen/common/rangeset.c                       |  2 +-
 xen/common/softirq.c                        |  8 ++++----
 xen/common/vsprintf.c                       |  2 +-
 xen/drivers/passthrough/amd/iommu_guest.c   |  2 +-
 xen/drivers/passthrough/amd/iommu_map.c     |  2 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
 xen/drivers/passthrough/x86/iommu.c         |  8 ++++----
 xen/drivers/vpci/header.c                   |  2 +-
 xen/drivers/vpci/msi.c                      |  2 +-
 xen/drivers/vpci/msix.c                     | 10 +++++-----
 xen/include/xen/bitops.h                    |  8 ++++----
 xen/include/xen/ioreq.h                     |  2 +-
 xen/include/xen/tasklet.h                   |  4 ++--
 xen/include/xen/time.h                      |  4 ++--
 xen/lib/x86/cpuid.c                         |  4 ++--
 46 files changed, 111 insertions(+), 111 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576177.902038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUG-0004pY-3z; Thu, 03 Aug 2023 10:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576177.902038; Thu, 03 Aug 2023 10:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUG-0004pR-0J; Thu, 03 Aug 2023 10:23:20 +0000
Received: by outflank-mailman (input) for mailman id 576177;
 Thu, 03 Aug 2023 10:23:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUF-0004Rp-Cw
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3c9bffb-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:23:18 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 509D94EE0737;
 Thu,  3 Aug 2023 12:23: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: c3c9bffb-31e7-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 01/13] AMD/IOMMU: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:16 +0200
Message-Id: <2af1f76d2c002dd9f0b01eebf7af516d86bfe91e.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/drivers/passthrough/amd/iommu_guest.c   | 2 +-
 xen/drivers/passthrough/amd/iommu_map.c     | 2 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_guest.c b/xen/drivers/passthrough/amd/iommu_guest.c
index 47a912126a..80d289b8bf 100644
--- a/xen/drivers/passthrough/amd/iommu_guest.c
+++ b/xen/drivers/passthrough/amd/iommu_guest.c
@@ -87,7 +87,7 @@ static uint64_t dte_get_gcr3_table(const struct amd_iommu_dte *dte)
 static void dte_set_gcr3_table(struct amd_iommu_dte *dte, uint16_t dom_id,
                                uint64_t addr, bool gv, uint8_t glx)
 {
-#define GCR3_MASK(hi, lo) (((1ul << ((hi) + 1)) - 1) & ~((1ul << (lo)) - 1))
+#define GCR3_MASK(hi, lo) (((1UL << ((hi) + 1)) - 1) & ~((1UL << (lo)) - 1))
 
     /* I bit must be set when gcr3 is enabled */
     dte->i = true;
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index 993bac6f88..daa24a4858 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -838,7 +838,7 @@ int cf_check amd_iommu_quarantine_init(struct pci_dev *pdev, bool scratch_page)
 {
     struct domain_iommu *hd = dom_iommu(dom_io);
     unsigned long end_gfn =
-        1ul << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT);
+        1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT);
     unsigned int level = amd_iommu_get_paging_mode(end_gfn);
     unsigned int req_id = get_dma_requestor_id(pdev->seg, pdev->sbdf.bdf);
     const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(pdev->seg);
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 94e3775506..bea70db4b7 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -368,7 +368,7 @@ static int cf_check amd_iommu_domain_init(struct domain *d)
      */
     hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
             is_hvm_domain(d)
-            ? 1ul << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
+            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
             : get_upper_mfn_bound() + 1),
         amd_iommu_min_paging_mode);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576178.902048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUI-0005Ak-BZ; Thu, 03 Aug 2023 10:23:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576178.902048; Thu, 03 Aug 2023 10:23:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUI-0005Ab-7h; Thu, 03 Aug 2023 10:23:22 +0000
Received: by outflank-mailman (input) for mailman id 576178;
 Thu, 03 Aug 2023 10:23:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUG-0004Rp-NY
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c48b5c64-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:23:20 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 7BA0A4EE0740;
 Thu,  3 Aug 2023 12:23: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: c48b5c64-31e7-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 02/13] x86/svm: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:17 +0200
Message-Id: <2779c3b2cbe27d95274a4ab44f6b9c877e59e8bc.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/hvm/svm/svm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index b3845bdca7..01dd592d9b 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1077,7 +1077,7 @@ static void svm_guest_osvw_init(struct domain *d)
      * Guests should see errata 400 and 415 as fixed (assuming that
      * HLT and IO instructions are intercepted).
      */
-    svm->osvw.length = min(max(3ul, osvw_length), 64ul);
+    svm->osvw.length = min(max(3UL, osvw_length), 64UL);
     svm->osvw.status = osvw_status & ~6;
 
     /*
@@ -1652,7 +1652,7 @@ static void svm_do_nested_pgfault(struct vcpu *v,
     else if ( pfec & NPT_PFEC_in_gpt )
         npfec.kind = npfec_kind_in_gpt;
 
-    ret = hvm_hap_nested_page_fault(gpa, ~0ul, npfec);
+    ret = hvm_hap_nested_page_fault(gpa, ~0UL, npfec);
 
     if ( tb_init_done )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576180.902058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUL-0005U1-Ki; Thu, 03 Aug 2023 10:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576180.902058; Thu, 03 Aug 2023 10:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUL-0005Tu-Gl; Thu, 03 Aug 2023 10:23:25 +0000
Received: by outflank-mailman (input) for mailman id 576180;
 Thu, 03 Aug 2023 10:23: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=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUJ-0004Rp-Ja
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c64a8d92-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:23:23 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 765244EE0737;
 Thu,  3 Aug 2023 12:23: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: c64a8d92-31e7-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 04/13] x86/IOMMU: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:19 +0200
Message-Id: <ba2605e168cb65ca7f2e4fcc6b957b5ae0b3062a.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/drivers/passthrough/x86/iommu.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c
index d290855959..c85549ccad 100644
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -576,16 +576,16 @@ struct page_info *iommu_alloc_pgtable(struct domain_iommu *hd,
 
         ASSERT((CONTIG_LEVEL_SHIFT & (contig_mask >> shift)) == CONTIG_LEVEL_SHIFT);
 
-        p[0] = (CONTIG_LEVEL_SHIFT + 0ull) << shift;
+        p[0] = (CONTIG_LEVEL_SHIFT + 0ULL) << shift;
         p[1] = 0;
-        p[2] = 1ull << shift;
+        p[2] = 1ULL << shift;
         p[3] = 0;
 
         for ( i = 4; i < PAGE_SIZE / sizeof(*p); i += 4 )
         {
-            p[i + 0] = (find_first_set_bit(i) + 0ull) << shift;
+            p[i + 0] = (find_first_set_bit(i) + 0ULL) << shift;
             p[i + 1] = 0;
-            p[i + 2] = 1ull << shift;
+            p[i + 2] = 1ULL << shift;
             p[i + 3] = 0;
         }
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576181.902064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUM-0005XO-1f; Thu, 03 Aug 2023 10:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576181.902064; Thu, 03 Aug 2023 10:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUL-0005Wh-P3; Thu, 03 Aug 2023 10:23:25 +0000
Received: by outflank-mailman (input) for mailman id 576181;
 Thu, 03 Aug 2023 10:23: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=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUJ-0005QX-Lm
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c587ec01-31e7-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:23:21 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 217904EE0741;
 Thu,  3 Aug 2023 12:23: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: c587ec01-31e7-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:18 +0200
Message-Id: <c39836607097b09119a4f4480c77506295333a55.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/arm/include/asm/processor.h | 6 +++---
 xen/arch/arm/vtimer.c                | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 7e42ff8811..8e02410465 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -521,9 +521,9 @@ extern register_t __cpu_logical_map[];
 #define CNTKCTL_EL1_EL0PTEN  (1u<<9) /* Expose phys timer registers to EL0 */
 
 /* Timer control registers */
-#define CNTx_CTL_ENABLE   (1ul<<0)  /* Enable timer */
-#define CNTx_CTL_MASK     (1ul<<1)  /* Mask IRQ */
-#define CNTx_CTL_PENDING  (1ul<<2)  /* IRQ pending */
+#define CNTx_CTL_ENABLE   (1UL<<0)  /* Enable timer */
+#define CNTx_CTL_MASK     (1UL<<1)  /* Mask IRQ */
+#define CNTx_CTL_PENDING  (1UL<<2)  /* IRQ pending */
 
 /* Timer frequency mask */
 #define CNTFRQ_MASK       GENMASK(31, 0)
diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c
index 48f2daa907..c54360e202 100644
--- a/xen/arch/arm/vtimer.c
+++ b/xen/arch/arm/vtimer.c
@@ -206,7 +206,7 @@ static bool vtimer_cntp_tval(struct cpu_user_regs *regs, register_t *r,
 
     if ( read )
     {
-        *r = (uint32_t)((v->arch.phys_timer.cval - cntpct) & 0xffffffffull);
+        *r = (uint32_t)((v->arch.phys_timer.cval - cntpct) & 0xffffffffULL);
     }
     else
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576182.902067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUM-0005br-7u; Thu, 03 Aug 2023 10:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576182.902067; Thu, 03 Aug 2023 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 1qRVUM-0005a4-2T; Thu, 03 Aug 2023 10:23:26 +0000
Received: by outflank-mailman (input) for mailman id 576182;
 Thu, 03 Aug 2023 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=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUL-0004Rp-0m
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c718767e-31e7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:23:24 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id E185C4EE0740;
 Thu,  3 Aug 2023 12:23: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: c718767e-31e7-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Paul Durrant <paul@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 05/13] xen/ioreq: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:20 +0200
Message-Id: <771362e703548e55d4ccc420fa880585a5748c4f.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/ioreq.c      | 2 +-
 xen/include/xen/ioreq.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 7cb717f7a2..62b907f4c4 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1182,7 +1182,7 @@ static int ioreq_send_buffered(struct ioreq_server *s, ioreq_t *p)
      *  - the count field is usually used with data_is_ptr and since we don't
      *    support data_is_ptr we do not waste space for the count field either
      */
-    if ( (p->addr > 0xffffful) || p->data_is_ptr || (p->count != 1) )
+    if ( (p->addr > 0xfffffUL) || p->data_is_ptr || (p->count != 1) )
         return 0;
 
     switch ( p->size )
diff --git a/xen/include/xen/ioreq.h b/xen/include/xen/ioreq.h
index a26614d331..cd399adf17 100644
--- a/xen/include/xen/ioreq.h
+++ b/xen/include/xen/ioreq.h
@@ -60,7 +60,7 @@ struct ioreq_server {
 static inline paddr_t ioreq_mmio_first_byte(const ioreq_t *p)
 {
     return unlikely(p->df) ?
-           p->addr - (p->count - 1ul) * p->size :
+           p->addr - (p->count - 1UL) * p->size :
            p->addr;
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:23:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:23:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576183.902088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVUO-0006Ir-HW; Thu, 03 Aug 2023 10:23:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576183.902088; Thu, 03 Aug 2023 10: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 1qRVUO-0006Ii-DC; Thu, 03 Aug 2023 10:23:28 +0000
Received: by outflank-mailman (input) for mailman id 576183;
 Thu, 03 Aug 2023 10: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=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVUN-0005QX-EG
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:23:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7fccec2-31e7-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:23:25 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 483E64EE0737;
 Thu,  3 Aug 2023 12:23: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: c7fccec2-31e7-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 06/13] xen/mem_access: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:21 +0200
Message-Id: <7e4ff67a24206177c5a304055f395cc2983bb994.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/mem_access.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
index 010e6f8dbf..385950789c 100644
--- a/xen/common/mem_access.c
+++ b/xen/common/mem_access.c
@@ -60,7 +60,7 @@ int mem_access_memop(unsigned long cmd,
 
     case XENMEM_access_op_set_access:
         rc = -EINVAL;
-        if ( (mao.pfn != ~0ull) &&
+        if ( (mao.pfn != ~0ULL) &&
              (mao.nr < start_iter ||
               ((mao.pfn + mao.nr - 1) < mao.pfn) ||
               ((mao.pfn + mao.nr - 1) > domain_get_maximum_gpfn(d))) )
@@ -96,7 +96,7 @@ int mem_access_memop(unsigned long cmd,
             break;
 
         rc = -EINVAL;
-        if ( (mao.pfn > domain_get_maximum_gpfn(d)) && mao.pfn != ~0ull )
+        if ( (mao.pfn > domain_get_maximum_gpfn(d)) && mao.pfn != ~0ULL )
             break;
 
         rc = p2m_get_mem_access(d, _gfn(mao.pfn), &access, 0);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576203.902109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVXy-0000FG-JC; Thu, 03 Aug 2023 10:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576203.902109; Thu, 03 Aug 2023 10:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVXy-0000F9-EF; Thu, 03 Aug 2023 10:27:10 +0000
Received: by outflank-mailman (input) for mailman id 576203;
 Thu, 03 Aug 2023 10:27:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVXx-0008Qm-E4
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cef0546-31e8-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:27:09 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 464F84EE0740;
 Thu,  3 Aug 2023 12:27: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: 4cef0546-31e8-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 08/13] xen/hvm: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:23 +0200
Message-Id: <d1be6a0bad7e5cd6277a7b258a1fa70e58a68140.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/hvm/emulate.c | 2 +-
 xen/arch/x86/hvm/io.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 75ee98a73b..053c6b495d 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -74,7 +74,7 @@ static int cf_check null_read(
     const struct hvm_io_handler *io_handler, uint64_t addr, uint32_t size,
     uint64_t *data)
 {
-    *data = ~0ul;
+    *data = ~0UL;
     return X86EMUL_OKAY;
 }
 
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 53de1a967d..d75af83ad0 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -400,7 +400,7 @@ static int cf_check vpci_mmcfg_read(
     unsigned int reg;
     pci_sbdf_t sbdf;
 
-    *data = ~0ul;
+    *data = ~0UL;
 
     read_lock(&d->arch.hvm.mmcfg_lock);
     mmcfg = vpci_mmcfg_find(d, addr);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576202.902097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVXv-0008Qz-9X; Thu, 03 Aug 2023 10:27:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576202.902097; Thu, 03 Aug 2023 10: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 1qRVXv-0008Qs-6h; Thu, 03 Aug 2023 10:27:07 +0000
Received: by outflank-mailman (input) for mailman id 576202;
 Thu, 03 Aug 2023 10:27:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVXt-0008Qm-Rq
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a719cfb-31e8-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:27:04 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 4440D4EE0737;
 Thu,  3 Aug 2023 12:27: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: 4a719cfb-31e8-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 07/13] xen/vpci: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:22 +0200
Message-Id: <4b97aa8203935ba6e202926add0baf8901af5ee9.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/drivers/vpci/header.c |  2 +-
 xen/drivers/vpci/msi.c    |  2 +-
 xen/drivers/vpci/msix.c   | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 60f7049e34..767c1ba718 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -447,7 +447,7 @@ static void cf_check bar_write(
      * Update the cached address, so that when memory decoding is enabled
      * Xen can map the BAR into the guest p2m.
      */
-    bar->addr &= ~(0xffffffffull << (hi ? 32 : 0));
+    bar->addr &= ~(0xffffffffULL << (hi ? 32 : 0));
     bar->addr |= (uint64_t)val << (hi ? 32 : 0);
 
     /* Make sure Xen writes back the same value for the BAR RO bits. */
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 8f2b59e61a..9090d97c9a 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -103,7 +103,7 @@ static void cf_check address_write(
     struct vpci_msi *msi = data;
 
     /* Clear low part. */
-    msi->address &= ~0xffffffffull;
+    msi->address &= ~0xffffffffULL;
     msi->address |= val;
 
     update_msi(pdev, msi);
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 25bde77586..bc77d4825d 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -273,7 +273,7 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
     struct vpci *vpci = msix->pdev->vpci;
     unsigned int slot;
 
-    *data = ~0ul;
+    *data = ~0UL;
 
     if ( !adjacent_handle(msix, addr + len - 1) )
         return X86EMUL_OKAY;
@@ -305,13 +305,13 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
          */
         for ( i = 0; i < len; i++ )
         {
-            unsigned long partial = ~0ul;
+            unsigned long partial = ~0UL;
             int rc = adjacent_read(d, msix, addr + i, 1, &partial);
 
             if ( rc != X86EMUL_OKAY )
                 return rc;
 
-            *data &= ~(0xfful << (i * 8));
+            *data &= ~(0xffUL << (i * 8));
             *data |= (partial & 0xff) << (i * 8);
         }
 
@@ -363,7 +363,7 @@ static int cf_check msix_read(
     const struct vpci_msix_entry *entry;
     unsigned int offset;
 
-    *data = ~0ul;
+    *data = ~0UL;
 
     if ( !msix )
         return X86EMUL_RETRY;
@@ -525,7 +525,7 @@ static int cf_check msix_write(
             entry->addr = data;
             break;
         }
-        entry->addr &= ~0xffffffffull;
+        entry->addr &= ~0xffffffffULL;
         entry->addr |= data;
         break;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576204.902118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVY6-0000bK-Pu; Thu, 03 Aug 2023 10:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576204.902118; Thu, 03 Aug 2023 10: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 1qRVY6-0000b6-MP; Thu, 03 Aug 2023 10:27:18 +0000
Received: by outflank-mailman (input) for mailman id 576204;
 Thu, 03 Aug 2023 10:27: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=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVY6-0000aV-3w
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 513cee2c-31e8-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:27:16 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 752E24EE0737;
 Thu,  3 Aug 2023 12:27: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: 513cee2c-31e8-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 09/13] x86/mm: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:24 +0200
Message-Id: <feae9122f4fc761f24bed0d015f30849f52449bd.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/mm/p2m-pt.c  |  6 +++---
 xen/arch/x86/mm/p2m.c     | 20 ++++++++++----------
 xen/arch/x86/mm/physmap.c |  4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 6d1bb5daad..b2b14746c1 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -552,7 +552,7 @@ static void check_entry(mfn_t mfn, p2m_type_t new, p2m_type_t old,
     if ( new == p2m_mmio_direct )
         ASSERT(!mfn_eq(mfn, INVALID_MFN) &&
                !rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
-                                        mfn_x(mfn) + (1ul << order)));
+                                        mfn_x(mfn) + (1UL << order)));
     else if ( p2m_allows_invalid_mfn(new) || new == p2m_invalid ||
               new == p2m_mmio_dm )
         ASSERT(mfn_valid(mfn) || mfn_eq(mfn, INVALID_MFN));
@@ -745,9 +745,9 @@ p2m_pt_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
     if ( need_iommu_pt_sync(p2m->domain) &&
          (iommu_old_flags != iommu_pte_flags || old_mfn != mfn_x(mfn)) )
         rc = iommu_pte_flags
-             ? iommu_legacy_map(d, _dfn(gfn), mfn, 1ul << page_order,
+             ? iommu_legacy_map(d, _dfn(gfn), mfn, 1UL << page_order,
                                 iommu_pte_flags)
-             : iommu_legacy_unmap(d, _dfn(gfn), 1ul << page_order);
+             : iommu_legacy_unmap(d, _dfn(gfn), 1UL << page_order);
 
     /*
      * Free old intermediate tables if necessary.  This has to be the
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index f6df35767a..0983bd71d9 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -392,7 +392,7 @@ int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
                   unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma)
 {
     bool hap = hap_enabled(p2m->domain);
-    unsigned long todo = 1ul << page_order;
+    unsigned long todo = 1UL << page_order;
     int set_rc, rc = 0;
 
     ASSERT(gfn_locked_by_me(p2m, gfn));
@@ -401,10 +401,10 @@ int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
     {
         unsigned long fn_mask = (!mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0) |
                                 gfn_x(gfn) | todo;
-        unsigned int order = (!(fn_mask & ((1ul << PAGE_ORDER_1G) - 1)) &&
+        unsigned int order = (!(fn_mask & ((1UL << PAGE_ORDER_1G) - 1)) &&
                               hap && hap_has_1gb)
                              ? PAGE_ORDER_1G
-                             : (!(fn_mask & ((1ul << PAGE_ORDER_2M) - 1)) &&
+                             : (!(fn_mask & ((1UL << PAGE_ORDER_2M) - 1)) &&
                                 (!hap || hap_has_2mb))
                                ? PAGE_ORDER_2M : PAGE_ORDER_4K;
 
@@ -412,10 +412,10 @@ int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
         if ( set_rc )
             rc = set_rc;
 
-        gfn = gfn_add(gfn, 1ul << order);
+        gfn = gfn_add(gfn, 1UL << order);
         if ( !mfn_eq(mfn, INVALID_MFN) )
-            mfn = mfn_add(mfn, 1ul << order);
-        todo -= 1ul << order;
+            mfn = mfn_add(mfn, 1UL << order);
+        todo -= 1UL << order;
     }
 
     return rc;
@@ -1407,7 +1407,7 @@ void np2m_flush_base(struct vcpu *v, unsigned long np2m_base)
     struct p2m_domain *p2m;
     unsigned int i;
 
-    np2m_base &= ~(0xfffull);
+    np2m_base &= ~(0xfffULL);
 
     nestedp2m_lock(d);
     for ( i = 0; i < MAX_NESTEDP2M; i++ )
@@ -1456,7 +1456,7 @@ p2m_get_nestedp2m_locked(struct vcpu *v)
     bool needs_flush = true;
 
     /* Mask out low bits; this avoids collisions with P2M_BASE_EADDR */
-    np2m_base &= ~(0xfffull);
+    np2m_base &= ~(0xfffULL);
 
     if (nv->nv_flushp2m && nv->nv_p2m) {
         nv->nv_p2m = NULL;
@@ -1614,8 +1614,8 @@ unsigned long paging_gva_to_gfn(struct vcpu *v,
          * Sanity check that l1_gfn can be used properly as a 4K mapping, even
          * if it mapped by a nested superpage.
          */
-        ASSERT((l2_gfn & ((1ul << l1_page_order) - 1)) ==
-               (l1_gfn & ((1ul << l1_page_order) - 1)));
+        ASSERT((l2_gfn & ((1UL << l1_page_order) - 1)) ==
+               (l1_gfn & ((1UL << l1_page_order) - 1)));
 
         return l1_gfn;
     }
diff --git a/xen/arch/x86/mm/physmap.c b/xen/arch/x86/mm/physmap.c
index f1695e456e..098ccdf541 100644
--- a/xen/arch/x86/mm/physmap.c
+++ b/xen/arch/x86/mm/physmap.c
@@ -72,7 +72,7 @@ int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
         if ( !is_iommu_enabled(d) )
             return 0;
         return iommu_legacy_map(d, _dfn(gfn), _mfn(gfn),
-                                1ul << PAGE_ORDER_4K,
+                                1UL << PAGE_ORDER_4K,
                                 p2m_access_to_iommu_flags(p2ma));
     }
 
@@ -85,7 +85,7 @@ int clear_identity_p2m_entry(struct domain *d, unsigned long gfn)
     {
         if ( !is_iommu_enabled(d) )
             return 0;
-        return iommu_legacy_unmap(d, _dfn(gfn), 1ul << PAGE_ORDER_4K);
+        return iommu_legacy_unmap(d, _dfn(gfn), 1UL << PAGE_ORDER_4K);
     }
 
     return p2m_remove_identity_entry(d, gfn);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576218.902128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYC-00016W-1c; Thu, 03 Aug 2023 10:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576218.902128; Thu, 03 Aug 2023 10:27:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYB-00016L-V2; Thu, 03 Aug 2023 10:27:23 +0000
Received: by outflank-mailman (input) for mailman id 576218;
 Thu, 03 Aug 2023 10:27:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVYB-0000aV-0i
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54644258-31e8-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:27:21 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id BD84F4EE0737;
 Thu,  3 Aug 2023 12:27: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: 54644258-31e8-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Paul Durrant <paul@xen.org>,
	Wei Liu <wl@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>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 10/13] x86/viridian: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:25 +0200
Message-Id: <63f0d6385f302517244604af5536ffebd74ba589.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/hvm/viridian/synic.c |  2 +-
 xen/arch/x86/hvm/viridian/time.c  | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/viridian/synic.c b/xen/arch/x86/hvm/viridian/synic.c
index 83d7addfc3..8cf600cec6 100644
--- a/xen/arch/x86/hvm/viridian/synic.c
+++ b/xen/arch/x86/hvm/viridian/synic.c
@@ -233,7 +233,7 @@ int viridian_synic_rdmsr(const struct vcpu *v, uint32_t idx, uint64_t *val)
          * should be set to. Assume everything but the bottom bit
          * should be zero.
          */
-        *val = 1ul;
+        *val = 1UL;
         break;
 
     case HV_X64_MSR_SIEFP:
diff --git a/xen/arch/x86/hvm/viridian/time.c b/xen/arch/x86/hvm/viridian/time.c
index a3ea3fa067..137577384f 100644
--- a/xen/arch/x86/hvm/viridian/time.c
+++ b/xen/arch/x86/hvm/viridian/time.c
@@ -66,7 +66,7 @@ static void update_reference_tsc(const struct domain *d, bool initialize)
      * The offset value is calculated on restore after migration and
      * ensures that Windows will not see a large jump in ReferenceTime.
      */
-    p->tsc_scale = ((10000ul << 32) / d->arch.tsc_khz) << 32;
+    p->tsc_scale = ((10000UL << 32) / d->arch.tsc_khz) << 32;
     p->tsc_offset = trc->off;
     smp_wmb();
 
@@ -79,7 +79,7 @@ static uint64_t trc_val(const struct domain *d, int64_t offset)
     uint64_t tsc, scale;
 
     tsc = hvm_get_guest_tsc(pt_global_vcpu_target(d));
-    scale = ((10000ul << 32) / d->arch.tsc_khz) << 32;
+    scale = ((10000UL << 32) / d->arch.tsc_khz) << 32;
 
     return hv_scale_tsc(tsc, scale, offset);
 }
@@ -201,7 +201,7 @@ static void start_stimer(struct viridian_stimer *vs)
     ASSERT(expiration - now > 0);
 
     vs->expiration = expiration;
-    timeout = (expiration - now) * 100ull;
+    timeout = (expiration - now) * 100ULL;
 
     vs->started = true;
     clear_bit(stimerx, &vv->stimer_pending);
@@ -413,14 +413,14 @@ int viridian_time_rdmsr(const struct vcpu *v, uint32_t idx, uint64_t *val)
         if ( viridian_feature_mask(d) & HVMPV_no_freq )
             return X86EMUL_EXCEPTION;
 
-        *val = (uint64_t)d->arch.tsc_khz * 1000ull;
+        *val = (uint64_t)d->arch.tsc_khz * 1000ULL;
         break;
 
     case HV_X64_MSR_APIC_FREQUENCY:
         if ( viridian_feature_mask(d) & HVMPV_no_freq )
             return X86EMUL_EXCEPTION;
 
-        *val = 1000000000ull / APIC_BUS_CYCLE_NS;
+        *val = 1000000000ULL / APIC_BUS_CYCLE_NS;
         break;
 
     case HV_X64_MSR_REFERENCE_TSC:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576219.902138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYG-0001XR-C4; Thu, 03 Aug 2023 10:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576219.902138; Thu, 03 Aug 2023 10:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYG-0001XH-8k; Thu, 03 Aug 2023 10:27:28 +0000
Received: by outflank-mailman (input) for mailman id 576219;
 Thu, 03 Aug 2023 10:27:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVYE-0008Qm-Iv
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56df6d5b-31e8-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:27:25 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id F3C004EE0737;
 Thu,  3 Aug 2023 12:27: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: 56df6d5b-31e8-11ee-b268-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 11/13] xen/x86: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:26 +0200
Message-Id: <40f438ad05338dd86587eb469c7b0614e1d69462.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/cpu-policy.c            |  4 ++--
 xen/arch/x86/dom0_build.c            |  2 +-
 xen/arch/x86/e820.c                  |  2 +-
 xen/arch/x86/hpet.c                  |  2 +-
 xen/arch/x86/hvm/hpet.c              |  6 +++---
 xen/arch/x86/hvm/hvm.c               |  6 +++---
 xen/arch/x86/hvm/stdvga.c            |  2 +-
 xen/arch/x86/include/asm/apicdef.h   |  4 ++--
 xen/arch/x86/include/asm/debugreg.h  | 16 ++++++++--------
 xen/arch/x86/include/asm/guest_pt.h  | 16 ++++++++--------
 xen/arch/x86/include/asm/pv/domain.h |  2 +-
 xen/arch/x86/mm.c                    |  4 ++--
 xen/arch/x86/msr.c                   |  2 +-
 xen/arch/x86/nmi.c                   |  2 +-
 xen/arch/x86/psr.c                   |  8 ++++----
 xen/arch/x86/spec_ctrl.c             |  6 +++---
 xen/arch/x86/x86_64/mm.c             |  4 ++--
 xen/arch/x86/xstate.c                |  2 +-
 xen/lib/x86/cpuid.c                  |  4 ++--
 19 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 1f954d4e59..5fbb3602ae 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -250,9 +250,9 @@ static void recalculate_xstate(struct cpu_policy *p)
     else
         xstates &= ~XSTATE_XSAVES_ONLY;
 
-    for ( i = 2; i < min(63ul, ARRAY_SIZE(p->xstate.comp)); ++i )
+    for ( i = 2; i < min(63UL, ARRAY_SIZE(p->xstate.comp)); ++i )
     {
-        uint64_t curr_xstate = 1ul << i;
+        uint64_t curr_xstate = 1UL << i;
 
         if ( !(xstates & curr_xstate) )
             continue;
diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
index 8b1fcc6471..09fb8b063a 100644
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -537,7 +537,7 @@ int __init dom0_setup_permissions(struct domain *d)
     for ( i = 0; i < e820.nr_map; i++ )
     {
         unsigned long sfn, efn;
-        sfn = max_t(unsigned long, paddr_to_pfn(e820.map[i].addr), 0x100ul);
+        sfn = max_t(unsigned long, paddr_to_pfn(e820.map[i].addr), 0x100UL);
         efn = paddr_to_pfn(e820.map[i].addr + e820.map[i].size - 1);
         if ( (e820.map[i].type == E820_UNUSABLE) &&
              (e820.map[i].size != 0) &&
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index 0b89935510..4911e64b8c 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -450,7 +450,7 @@ static uint64_t __init mtrr_top_of_ram(void)
 
     /* paddr_bits must have been set at this point */
     ASSERT(paddr_bits);
-    addr_mask = ((1ull << paddr_bits) - 1) & PAGE_MASK;
+    addr_mask = ((1ULL << paddr_bits) - 1) & PAGE_MASK;
 
     rdmsrl(MSR_MTRRcap, mtrr_cap);
     rdmsrl(MSR_MTRRdefType, mtrr_def);
diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index bc164dd82c..a2df1c7df4 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -619,7 +619,7 @@ void __init cf_check hpet_broadcast_init(void)
          * math multiplication factor for nanosecond to hpet tick conversion.
          */
         hpet_events[i].mult = div_sc((unsigned long)hpet_rate,
-                                     1000000000ul, 32);
+                                     1000000000UL, 32);
         hpet_events[i].shift = 32;
         hpet_events[i].next_event = STIME_MAX;
         spin_lock_init(&hpet_events[i].lock);
diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index dff27b760e..80f323316c 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -161,7 +161,7 @@ static int cf_check hpet_read(
 
     if ( !v->domain->arch.hvm.params[HVM_PARAM_HPET_ENABLED] )
     {
-        result = ~0ul;
+        result = ~0UL;
         goto out;
     }
 
@@ -169,7 +169,7 @@ static int cf_check hpet_read(
 
     if ( hpet_check_access_length(addr, length) != 0 )
     {
-        result = ~0ul;
+        result = ~0UL;
         goto out;
     }
 
@@ -486,7 +486,7 @@ static int cf_check hpet_write(
         if ( timer_is_periodic(h, tn) &&
              !(h->hpet.timers[tn].config & HPET_TN_SETVAL) )
         {
-            uint64_t max_period = (timer_is_32bit(h, tn) ? ~0u : ~0ull) >> 1;
+            uint64_t max_period = (timer_is_32bit(h, tn) ? ~0u : ~0ULL) >> 1;
 
             /*
              * Clamp period to reasonable min/max values:
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2180abeb33..3a99c0ff20 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -294,7 +294,7 @@ void hvm_get_guest_pat(struct vcpu *v, uint64_t *guest_pat)
 static bool pat_valid(uint64_t val)
 {
     /* Yields a non-zero value in any lane which had value greater than 7. */
-    uint64_t any_gt_7   =  val & 0xf8f8f8f8f8f8f8f8ull;
+    uint64_t any_gt_7   =  val & 0xf8f8f8f8f8f8f8f8ULL;
 
     /*
      * With the > 7 case covered, identify lanes with the value 0-3 by finding
@@ -302,7 +302,7 @@ static bool pat_valid(uint64_t val)
      *
      * Yields bit 2 set in each lane which has a value <= 3.
      */
-    uint64_t any_le_3   = ~val & 0x0404040404040404ull;
+    uint64_t any_le_3   = ~val & 0x0404040404040404ULL;
 
     /*
      * Logically, any_2_or_3 is "any_le_3 && bit 1 set".
@@ -3626,7 +3626,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
 
  gp_fault:
     ret = X86EMUL_EXCEPTION;
-    *msr_content = -1ull;
+    *msr_content = -1ULL;
     goto out;
 }
 
diff --git a/xen/arch/x86/hvm/stdvga.c b/xen/arch/x86/hvm/stdvga.c
index 798a9a0549..2586891863 100644
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -305,7 +305,7 @@ static int cf_check stdvga_mem_read(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t *p_data)
 {
-    uint64_t data = ~0ul;
+    uint64_t data = ~0UL;
 
     switch ( size )
     {
diff --git a/xen/arch/x86/include/asm/apicdef.h b/xen/arch/x86/include/asm/apicdef.h
index 2440d83c8d..a261436993 100644
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -34,8 +34,8 @@
 #define			SET_xAPIC_LOGICAL_ID(x)	(((x)<<24))
 #define			APIC_ALL_CPUS		0xFF
 #define		APIC_DFR	0xE0
-#define			APIC_DFR_CLUSTER		0x0FFFFFFFul
-#define			APIC_DFR_FLAT			0xFFFFFFFFul
+#define			APIC_DFR_CLUSTER		0x0FFFFFFFUL
+#define			APIC_DFR_FLAT			0xFFFFFFFFUL
 #define		APIC_SPIV	0xF0
 #define			APIC_SPIV_FOCUS_DISABLED	(1<<9)
 #define			APIC_SPIV_APIC_ENABLED		(1<<8)
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index c57914efc6..86aa6d7143 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -21,8 +21,8 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ZERO (~0xffffeffful) /* Reserved, read as zero */
-#define DR_STATUS_RESERVED_ONE  0xffff0ff0ul /* Reserved, read as one */
+#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
+#define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
    The top two bytes of the control register consist of 4 fields of 4
@@ -61,12 +61,12 @@
    We can slow the instruction pipeline for instructions coming via the
    gdt or the ldt if we want to.  I am not sure why this is an advantage */
 
-#define DR_CONTROL_RESERVED_ZERO (~0xffff27fful) /* Reserved, read as zero */
-#define DR_CONTROL_RESERVED_ONE  (0x00000400ul) /* Reserved, read as one */
-#define DR_LOCAL_EXACT_ENABLE    (0x00000100ul) /* Local exact enable */
-#define DR_GLOBAL_EXACT_ENABLE   (0x00000200ul) /* Global exact enable */
-#define DR_RTM_ENABLE            (0x00000800ul) /* RTM debugging enable */
-#define DR_GENERAL_DETECT        (0x00002000ul) /* General detect enable */
+#define DR_CONTROL_RESERVED_ZERO (~0xffff27ffUL) /* Reserved, read as zero */
+#define DR_CONTROL_RESERVED_ONE  (0x00000400UL) /* Reserved, read as one */
+#define DR_LOCAL_EXACT_ENABLE    (0x00000100UL) /* Local exact enable */
+#define DR_GLOBAL_EXACT_ENABLE   (0x00000200UL) /* Global exact enable */
+#define DR_RTM_ENABLE            (0x00000800UL) /* RTM debugging enable */
+#define DR_GENERAL_DETECT        (0x00002000UL) /* General detect enable */
 
 #define write_debugreg(reg, val) do {                       \
     unsigned long __val = val;                              \
diff --git a/xen/arch/x86/include/asm/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
index bde7588342..bc312343cd 100644
--- a/xen/arch/x86/include/asm/guest_pt.h
+++ b/xen/arch/x86/include/asm/guest_pt.h
@@ -32,15 +32,15 @@ gfn_to_paddr(gfn_t gfn)
 
 /* Mask covering the reserved bits from superpage alignment. */
 #define SUPERPAGE_RSVD(bit)                                             \
-    (((1ul << (bit)) - 1) & ~(_PAGE_PSE_PAT | (_PAGE_PSE_PAT - 1ul)))
+    (((1UL << (bit)) - 1) & ~(_PAGE_PSE_PAT | (_PAGE_PSE_PAT - 1UL)))
 
 static inline uint32_t fold_pse36(uint64_t val)
 {
-    return (val & ~(0x1fful << 13)) | ((val & (0x1fful << 32)) >> (32 - 13));
+    return (val & ~(0x1ffUL << 13)) | ((val & (0x1ffUL << 32)) >> (32 - 13));
 }
 static inline uint64_t unfold_pse36(uint32_t val)
 {
-    return (val & ~(0x1fful << 13)) | ((val & (0x1fful << 13)) << (32 - 13));
+    return (val & ~(0x1ffUL << 13)) | ((val & (0x1ffUL << 13)) << (32 - 13));
 }
 
 /* Types of the guest's page tables and access functions for them */
@@ -99,10 +99,10 @@ static inline guest_l2e_t guest_l2e_from_gfn(gfn_t gfn, u32 flags)
 #define GUEST_L2_PAGETABLE_SHIFT         21
 #define GUEST_L3_PAGETABLE_SHIFT         30
 
-#define GUEST_L1_PAGETABLE_RSVD            0x7ff0000000000000ul
-#define GUEST_L2_PAGETABLE_RSVD            0x7ff0000000000000ul
+#define GUEST_L1_PAGETABLE_RSVD            0x7ff0000000000000UL
+#define GUEST_L2_PAGETABLE_RSVD            0x7ff0000000000000UL
 #define GUEST_L3_PAGETABLE_RSVD                                      \
-    (0xfff0000000000000ul | _PAGE_GLOBAL | _PAGE_PSE | _PAGE_DIRTY | \
+    (0xfff0000000000000UL | _PAGE_GLOBAL | _PAGE_PSE | _PAGE_DIRTY | \
      _PAGE_ACCESSED | _PAGE_USER | _PAGE_RW)
 
 #else /* GUEST_PAGING_LEVELS == 4 */
@@ -281,7 +281,7 @@ static always_inline bool guest_pks_enabled(const struct vcpu *v)
 static always_inline uint64_t guest_rsvd_bits(const struct vcpu *v)
 {
     return ((PADDR_MASK &
-             ~((1ul << v->domain->arch.cpuid->extd.maxphysaddr) - 1)) |
+             ~((1UL << v->domain->arch.cpuid->extd.maxphysaddr) - 1)) |
             (guest_nx_enabled(v) ? 0 : put_pte_flags(_PAGE_NX_BIT)));
 }
 
@@ -301,7 +301,7 @@ static always_inline bool guest_l2e_rsvd_bits(const struct vcpu *v,
             ((l2e.l2 & _PAGE_PSE) &&
              (l2e.l2 & ((GUEST_PAGING_LEVELS == 2 && guest_can_use_pse36(v->domain))
                           /* PSE36 tops out at 40 bits of address width. */
-                        ? (fold_pse36(rsvd_bits | (1ul << 40)))
+                        ? (fold_pse36(rsvd_bits | (1UL << 40)))
                         : SUPERPAGE_RSVD(GUEST_L2_PAGETABLE_SHIFT)))));
 }
 
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index db7a40f68e..75a6b9e5c7 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -93,7 +93,7 @@ static inline int pv_vcpu_initialise(struct vcpu *v) { return -EOPNOTSUPP; }
 static inline void pv_domain_destroy(struct domain *d) {}
 static inline int pv_domain_initialise(struct domain *d) { return -EOPNOTSUPP; }
 
-static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0ul; }
+static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0UL; }
 
 static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
 {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index be2b10a391..ad0eafc900 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3057,10 +3057,10 @@ static int _get_page_type(struct page_info *page, unsigned long type,
 
             if ( (x & PGT_type_mask) == PGT_writable_page )
                 rc = iommu_legacy_unmap(d, _dfn(mfn_x(mfn)),
-                                        1ul << PAGE_ORDER_4K);
+                                        1UL << PAGE_ORDER_4K);
             else
                 rc = iommu_legacy_map(d, _dfn(mfn_x(mfn)), mfn,
-                                      1ul << PAGE_ORDER_4K,
+                                      1UL << PAGE_ORDER_4K,
                                       IOMMUF_readable | IOMMUF_writable);
 
             if ( unlikely(rc) )
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index ecf126566d..ef55498c1a 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -431,7 +431,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
     {
         bool old_cpuid_faulting = msrs->misc_features_enables.cpuid_faulting;
 
-        rsvd = ~0ull;
+        rsvd = ~0ULL;
         if ( cp->platform_info.cpuid_faulting )
             rsvd &= ~MSR_MISC_FEATURES_CPUID_FAULTING;
 
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 7656023748..c5c28300b0 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -205,7 +205,7 @@ void __init check_nmi_watchdog(void)
      * (Intel SDM, section 18.22.2)
      */
     if ( nmi_watchdog == NMI_LOCAL_APIC )
-        nmi_hz = max(1ul, cpu_khz >> 20);
+        nmi_hz = max(1UL, cpu_khz >> 20);
 
     return;
 }
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 90bcb25e60..4c01813c4b 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -289,7 +289,7 @@ static bool cf_check cat_check_cbm(const struct feat_node *feat, uint32_t *val)
     unsigned long cbm = *val;
 
     /* Set bits should only in the range of [0, cbm_len). */
-    if ( cbm & (~0ul << cbm_len) )
+    if ( cbm & (~0UL << cbm_len) )
         return false;
 
     /* At least one bit need to be set. */
@@ -360,7 +360,7 @@ static bool cat_init_feature(const struct cpuid_leaf *regs,
         wrmsrl(MSR_IA32_PSR_L3_MASK(1), cat_default_val(feat->cat.cbm_len));
         rdmsrl(MSR_IA32_PSR_L3_QOS_CFG, val);
         wrmsrl(MSR_IA32_PSR_L3_QOS_CFG,
-               val | (1ull << PSR_L3_QOS_CDP_ENABLE_BIT));
+               val | (1ULL << PSR_L3_QOS_CDP_ENABLE_BIT));
 
         break;
     }
@@ -636,7 +636,7 @@ static void __init init_psr_cmt(unsigned int rmid_max)
 
     psr_cmt->features = edx;
     psr_cmt->rmid_max = min(rmid_max, ebx);
-    rmid_mask = ~(~0ull << get_count_order(ebx));
+    rmid_mask = ~(~0ULL << get_count_order(ebx));
 
     if ( psr_cmt->features & PSR_RESOURCE_TYPE_L3 )
     {
@@ -738,7 +738,7 @@ static void psr_assoc_init(void)
         unsigned int cos_max = get_max_cos_max(info);
 
         if ( info->feat_init )
-            psra->cos_mask = ((1ull << get_count_order(cos_max)) - 1) <<
+            psra->cos_mask = ((1ULL << get_count_order(cos_max)) - 1) <<
                              ASSOC_REG_SHIFT;
     }
 
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 4081cef200..bc50173620 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -1047,7 +1047,7 @@ static __init void l1tf_calculations(void)
      * The address mask which the L1D cache uses, which might be wider than
      * the CPUID-reported maxphysaddr.
      */
-    l1tf_addr_mask = ((1ul << l1d_maxphysaddr) - 1) & PAGE_MASK;
+    l1tf_addr_mask = ((1UL << l1d_maxphysaddr) - 1) & PAGE_MASK;
 
     /*
      * To be safe, l1tf_safe_maddr must be above the highest cacheable entity
@@ -1087,8 +1087,8 @@ static __init void l1tf_calculations(void)
      *   information is in terms of guest physical layout.
      */
     l1tf_safe_maddr = max(l1tf_safe_maddr, ((l1d_maxphysaddr > paddr_bits)
-                                            ? (1ul << paddr_bits)
-                                            : (3ul << (paddr_bits - 2))));
+                                            ? (1UL << paddr_bits)
+                                            : (3UL << (paddr_bits - 2))));
 }
 
 /* Calculate whether this CPU is vulnerable to MDS. */
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 60db439af3..15b36e332d 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1313,7 +1313,7 @@ int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm)
     {
         for ( i = spfn; i < epfn; i++ )
             if ( iommu_legacy_map(hardware_domain, _dfn(i), _mfn(i),
-                                  1ul << PAGE_ORDER_4K,
+                                  1UL << PAGE_ORDER_4K,
                                   IOMMUF_readable | IOMMUF_writable) )
                 break;
         if ( i != epfn )
@@ -1321,7 +1321,7 @@ int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm)
             while (i-- > old_max)
                 /* If statement to satisfy __must_check. */
                 if ( iommu_legacy_unmap(hardware_domain, _dfn(i),
-                                        1ul << PAGE_ORDER_4K) )
+                                        1UL << PAGE_ORDER_4K) )
                     continue;
 
             goto destroy_m2p;
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 92496f3795..3062c28219 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -150,7 +150,7 @@ static void setup_xstate_comp(uint16_t *comp_offsets,
     offset = comp_offsets[2];
     for ( i = 2; i < xstate_features; i++ )
     {
-        if ( (1ul << i) & xcomp_bv )
+        if ( (1UL << i) & xcomp_bv )
         {
             if ( test_bit(i, &xstate_align) )
                 offset = ROUNDUP(offset, 64);
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 07e5501914..2006cbaa1c 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -211,7 +211,7 @@ void x86_cpu_policy_fill_native(struct cpu_policy *p)
         for ( i = 2; i < min_t(unsigned int, 63,
                                ARRAY_SIZE(p->xstate.raw)); ++i )
         {
-            if ( xstates & (1ull << i) )
+            if ( xstates & (1ULL << i) )
                 cpuid_count_leaf(0xd, i, &p->xstate.raw[i]);
         }
     }
@@ -419,7 +419,7 @@ int x86_cpuid_copy_to_buffer(const struct cpu_policy *p,
               &(struct cpuid_leaf){ p->hv2_limit });
 
     /* Extended leaves. */
-    for ( leaf = 0; leaf <= MIN(p->extd.max_leaf & 0xfffful,
+    for ( leaf = 0; leaf <= MIN(p->extd.max_leaf & 0xffffUL,
                                 ARRAY_SIZE(p->extd.raw) - 1); ++leaf )
         COPY_LEAF(0x80000000 | leaf, XEN_CPUID_NO_SUBLEAF, &p->extd.raw[leaf]);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576226.902148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYR-0002FD-RF; Thu, 03 Aug 2023 10:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576226.902148; Thu, 03 Aug 2023 10: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 1qRVYR-0002F6-O1; Thu, 03 Aug 2023 10:27:39 +0000
Received: by outflank-mailman (input) for mailman id 576226;
 Thu, 03 Aug 2023 10:27:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVYR-0000aV-6q
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e062244-31e8-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:27:37 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id D8B1D4EE0737;
 Thu,  3 Aug 2023 12:27:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e062244-31e8-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 12/13] xen/common: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:27 +0200
Message-Id: <f095e38d076bbc5d9150da9d1896e6ccbd39ff6f.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/page_alloc.c | 6 +++---
 xen/common/rangeset.c   | 2 +-
 xen/common/softirq.c    | 8 ++++----
 xen/common/vsprintf.c   | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index e40473f71e..03b63d0ee7 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2380,7 +2380,7 @@ int assign_pages(
         if ( unlikely(nr > d->max_pages - tot_pages) )
         {
             gprintk(XENLOG_INFO, "Over-allocation for %pd: %Lu > %u\n",
-                    d, tot_pages + 0ull + nr, d->max_pages);
+                    d, tot_pages + 0ULL + nr, d->max_pages);
             rc = -E2BIG;
             goto out;
         }
@@ -2392,7 +2392,7 @@ int assign_pages(
         {
             gprintk(XENLOG_INFO,
                     "Excess allocation for %pd: %Lu (%u extra)\n",
-                    d, d->tot_pages + 0ull + nr, d->extra_pages);
+                    d, d->tot_pages + 0ULL + nr, d->extra_pages);
             if ( pg[0].count_info & PGC_extra )
                 d->extra_pages -= nr;
             rc = -E2BIG;
@@ -2460,7 +2460,7 @@ struct page_info *alloc_domheap_pages(
         {
             unsigned long i;
 
-            for ( i = 0; i < (1ul << order); i++ )
+            for ( i = 0; i < (1UL << order); i++ )
             {
                 ASSERT(!pg[i].count_info);
                 pg[i].count_info = PGC_extra;
diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index a6ef264046..f3baf52ab6 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -393,7 +393,7 @@ static int cf_check merge(unsigned long s, unsigned long e, void *data)
 
 int rangeset_merge(struct rangeset *r1, struct rangeset *r2)
 {
-    return rangeset_report_ranges(r2, 0, ~0ul, merge, r1);
+    return rangeset_report_ranges(r2, 0, ~0UL, merge, r1);
 }
 
 int rangeset_add_singleton(
diff --git a/xen/common/softirq.c b/xen/common/softirq.c
index 063e93cbe3..321d26902d 100644
--- a/xen/common/softirq.c
+++ b/xen/common/softirq.c
@@ -29,7 +29,7 @@ static void __do_softirq(unsigned long ignore_mask)
 {
     unsigned int i, cpu;
     unsigned long pending;
-    bool rcu_allowed = !(ignore_mask & (1ul << RCU_SOFTIRQ));
+    bool rcu_allowed = !(ignore_mask & (1UL << RCU_SOFTIRQ));
 
     ASSERT(!rcu_allowed || rcu_quiesce_allowed());
 
@@ -57,12 +57,12 @@ static void __do_softirq(unsigned long ignore_mask)
 void process_pending_softirqs(void)
 {
     /* Do not enter scheduler as it can preempt the calling context. */
-    unsigned long ignore_mask = (1ul << SCHEDULE_SOFTIRQ) |
-                                (1ul << SCHED_SLAVE_SOFTIRQ);
+    unsigned long ignore_mask = (1UL << SCHEDULE_SOFTIRQ) |
+                                (1UL << SCHED_SLAVE_SOFTIRQ);
 
     /* Block RCU processing in case of rcu_read_lock() held. */
     if ( !rcu_quiesce_allowed() )
-        ignore_mask |= 1ul << RCU_SOFTIRQ;
+        ignore_mask |= 1UL << RCU_SOFTIRQ;
 
     ASSERT(!in_irq() && local_irq_is_enabled());
     __do_softirq(ignore_mask);
diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
index 94c1ba7257..c49631c0a4 100644
--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -225,7 +225,7 @@ static char *print_bitmap_string(char *str, const char *end,
      */
     for ( i = ROUNDUP(nr_bits, CHUNKSZ) - CHUNKSZ; i >= 0; i -= CHUNKSZ )
     {
-        unsigned int chunkmask = (1ull << chunksz) - 1;
+        unsigned int chunkmask = (1ULL << chunksz) - 1;
         unsigned int word      = i / BITS_PER_LONG;
         unsigned int offset    = i % BITS_PER_LONG;
         unsigned long val      = (bitmap[word] >> offset) & chunkmask;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:27:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576227.902158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVYW-0002fi-2f; Thu, 03 Aug 2023 10:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576227.902158; Thu, 03 Aug 2023 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 1qRVYV-0002fQ-W3; Thu, 03 Aug 2023 10:27:43 +0000
Received: by outflank-mailman (input) for mailman id 576227;
 Thu, 03 Aug 2023 10:27:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYgs=DU=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qRVYU-0000aV-Sk
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:27:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6038b78b-31e8-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:27:41 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 8CAAA4EE0740;
 Thu,  3 Aug 2023 12:27: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: 6038b78b-31e8-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH 13/13] xen: address violations of MISRA C:2012 Rule 7.3
Date: Thu,  3 Aug 2023 12:22:28 +0200
Message-Id: <5b625185f779b9903463b8abd1aabfe7d5d8e548.1691053438.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
states:
"The lowercase character 'l' shall not be used in a literal suffix".

Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.

The changes in this patch are mechanical.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/include/xen/bitops.h  | 8 ++++----
 xen/include/xen/tasklet.h | 4 ++--
 xen/include/xen/time.h    | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index e926047932..654f525fb4 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -186,12 +186,12 @@ static inline unsigned int generic_hweight64(uint64_t w)
     if ( BITS_PER_LONG < 64 )
         return generic_hweight32(w >> 32) + generic_hweight32(w);
 
-    w -= (w >> 1) & 0x5555555555555555ul;
-    w =  (w & 0x3333333333333333ul) + ((w >> 2) & 0x3333333333333333ul);
-    w =  (w + (w >> 4)) & 0x0f0f0f0f0f0f0f0ful;
+    w -= (w >> 1) & 0x5555555555555555UL;
+    w =  (w & 0x3333333333333333UL) + ((w >> 2) & 0x3333333333333333UL);
+    w =  (w + (w >> 4)) & 0x0f0f0f0f0f0f0f0fUL;
 
     if ( IS_ENABLED(CONFIG_HAS_FAST_MULTIPLY) )
-        return (w * 0x0101010101010101ul) >> 56;
+        return (w * 0x0101010101010101UL) >> 56;
 
     w += w >> 8;
     w += w >> 16;
diff --git a/xen/include/xen/tasklet.h b/xen/include/xen/tasklet.h
index ea73171f6e..193acf8f42 100644
--- a/xen/include/xen/tasklet.h
+++ b/xen/include/xen/tasklet.h
@@ -37,8 +37,8 @@ struct tasklet
 DECLARE_PER_CPU(unsigned long, tasklet_work_to_do);
 #define _TASKLET_enqueued  0 /* Tasklet work is enqueued for this CPU. */
 #define _TASKLET_scheduled 1 /* Scheduler has scheduled do_tasklet(). */
-#define TASKLET_enqueued   (1ul << _TASKLET_enqueued)
-#define TASKLET_scheduled  (1ul << _TASKLET_scheduled)
+#define TASKLET_enqueued   (1UL << _TASKLET_enqueued)
+#define TASKLET_scheduled  (1UL << _TASKLET_scheduled)
 
 static inline bool tasklet_work_to_do(unsigned int cpu)
 {
diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h
index 9ceaec541f..5aafdda4f3 100644
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -57,9 +57,9 @@ struct tm wallclock_time(uint64_t *ns);
 #define SECONDS(_s)     ((s_time_t)((_s)  * 1000000000ULL))
 #define MILLISECS(_ms)  ((s_time_t)((_ms) * 1000000ULL))
 #define MICROSECS(_us)  ((s_time_t)((_us) * 1000ULL))
-#define STIME_MAX ((s_time_t)((uint64_t)~0ull>>1))
+#define STIME_MAX ((s_time_t)((uint64_t)~0ULL>>1))
 /* Chosen so (NOW() + delta) wont overflow without an uptime of 200 years */
-#define STIME_DELTA_MAX ((s_time_t)((uint64_t)~0ull>>2))
+#define STIME_DELTA_MAX ((s_time_t)((uint64_t)~0ULL>>2))
 
 /* Explicitly OR with 1 just in case version number gets out of sync. */
 #define version_update_begin(v) (((v) + 1) | 1)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:29:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576233.902167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVaK-0003vp-Fz; Thu, 03 Aug 2023 10:29:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576233.902167; Thu, 03 Aug 2023 10:29: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 1qRVaK-0003vi-Cy; Thu, 03 Aug 2023 10:29:36 +0000
Received: by outflank-mailman (input) for mailman id 576233;
 Thu, 03 Aug 2023 10:29: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRVaI-0003v5-Rh
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:29:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7d00::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a32e5ee8-31e8-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 12:29:33 +0200 (CEST)
Received: from AS9PR06CA0151.eurprd06.prod.outlook.com (2603:10a6:20b:45c::8)
 by DB8PR08MB5356.eurprd08.prod.outlook.com (2603:10a6:10:f9::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 10:29:22 +0000
Received: from AM7EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45c:cafe::88) by AS9PR06CA0151.outlook.office365.com
 (2603:10a6:20b:45c::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 10:29:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT031.mail.protection.outlook.com (100.127.140.84) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.45 via Frontend Transport; Thu, 3 Aug 2023 10:29:21 +0000
Received: ("Tessian outbound ba2f3d95109c:v145");
 Thu, 03 Aug 2023 10:29:21 +0000
Received: from 1ef2d0cc2d0d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 962BB63B-1BA6-4B37-A1EB-BC29480D9AC3.1; 
 Thu, 03 Aug 2023 10:28:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1ef2d0cc2d0d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 10:28:27 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB6080.eurprd08.prod.outlook.com (2603:10a6:102:ec::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 10:28:26 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 10:28:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a32e5ee8-31e8-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F9r9HetsJDprQeKfL5CvjTbWMKMTHnuWnREm361MzuU=;
 b=C6IYVpD2idZzspeF3Z0F3b9fQHnhZQAFQhXtU6aGUhl9cl1NxYZ18b9Hsy4Ck025OwrtfRb80AL1hNQMtARw2HEH9WyV9V5x1KFSiruowRwprN4df0+eUGqbe0WWZ9nN/487fyxyH+uSekXkHmON0Sj/EUhiofR0fJM1JyqWFTo=
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: e8896e8b218cbc21
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lodZzfBkCsdbLmKJi0XtEdXCVsEDdEx8UjV49aN8hg31fHcyvuvcB/3lwcuusThSBNHNkSF74fJwsBaV/la9UEcnJPDSIcQD25Q48LbdypP94Ooif1u0WNATZ2kaPCWSDxkjzsVT0H33zUahyrWbKciEw08q4JtL6jE1byvt6lTcYCCAIFdMK40VGVQ74wEGnFCAiCTnyGfAzDCAYdEki9PH8VaEOswHSeG/o3YocESnM2ttBC/cYIjiDtDsYiDI1Osj0zpOThecai92f+qQoQWRZZzEjwvDKwqhtsvfMvo4h1SSI0WnEFpFvsjP+KV/zEQoCG1UaudXL7hMuGfBjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F9r9HetsJDprQeKfL5CvjTbWMKMTHnuWnREm361MzuU=;
 b=GaJ/5lj8H0X60f6WYY7NallDOoz1Cdebn5v6OJQ1wp4IGDilwG2hYLobTWcG0+g/wdD6bCvy4O5/yP8OaB2veIUEIEF+Cv03ha1ZA5qvj8PkYqmeO37y/fn6orKUoXpp5nKBjH108nGqYExtKFVLfMPDFQECzNd12e92A+/o5rQJ1X1dFo1wUilIBnx621P2NBNbdvybNRJLtCixqqcDhoMrz1NnJAvkLXcsPE/O2dDP0SFxrKKOq3dbHzIeMB4iX9RMx+MyyyD9C5SE/pAbZhjUQDjP197LAcoV0mHjmNxI40gKR5fFChJBY9ypL2b+n0yFHHc0SUU9OG3fdGBM9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=F9r9HetsJDprQeKfL5CvjTbWMKMTHnuWnREm361MzuU=;
 b=C6IYVpD2idZzspeF3Z0F3b9fQHnhZQAFQhXtU6aGUhl9cl1NxYZ18b9Hsy4Ck025OwrtfRb80AL1hNQMtARw2HEH9WyV9V5x1KFSiruowRwprN4df0+eUGqbe0WWZ9nN/487fyxyH+uSekXkHmON0Sj/EUhiofR0fJM1JyqWFTo=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Federico Serafini <federico.serafini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "consulting@bugseng.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>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Thread-Topic: [XEN PATCH v2] xen/string: add missing parameter names
Thread-Index: AQHZxeRL9pSVXV1k9k69k8jE/HqUO6/YXqGA
Date: Thu, 3 Aug 2023 10:28:24 +0000
Message-ID: <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
References:
 <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
In-Reply-To:
 <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PA4PR08MB6080:EE_|AM7EUR03FT031:EE_|DB8PR08MB5356:EE_
X-MS-Office365-Filtering-Correlation-Id: 0075ddaf-ae46-4694-0d95-08db940c8086
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:
 0LiG+lpIOQw7kKe7PGylGc6IizikbOb9l5ri/zBCLnk0Tyd+bIpGFteA3CSnnopftf76WJEcHV5WrAvqUqsDHQXeEcGGVX4lRtevfi8u/lwqGXs5ZaUmbBOX+K5I3aDKCS/zjcnyziGEbin16DvlyziIyVdorNQQNN+/TXGJ6c+rUMIT/Od55L4TN1wx9dgZsGU9itEZhd2fgZCp2O/cG224MZFREBhRZQBa5Rvxxw6h1lvtWZrstKRuy2RGk4B3Snxpani3wOXFyddMTy/Mlw0VM75j2IoJNHjkckO3BHZwwErVTFmPOphX9UxlEVnCfvvT4KV9gA2GcBkoJY8SPbyb+0wmWuDZhjMOdf+mcckpHkzTm5ldR/ik6bVl8j4NYzzffzJAjEG5LEg7jS+gaolRd6rrGRl6zoVy1gudPtX437FIQT4k/7RAFJl4HsOUCVdwOzjyKTOu5qQPN8HZhNrSyvgbFqxLKNHPAI8XGiFc5SP68ECYkNiA//XBkAWrAAKGDsrfEWtJD/0BopyVGWRfEi6llN/Sz79l0eOdTFvI0rECQSvVx1E8DgJEbagEPr9mdr2vQ6zg9LfebZG3R6ZvPWKiNX4H1SmeQl2SiEhDQYpS/wg5MzVTV8y2vfiRMuCHOUaNUURuAh24jTeVmA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199021)(2616005)(53546011)(6506007)(83380400001)(26005)(186003)(316002)(76116006)(2906002)(91956017)(66946007)(4326008)(64756008)(66446008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(71200400001)(6512007)(54906003)(478600001)(38100700002)(122000001)(33656002)(36756003)(86362001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <71A0FAA146D44A4A8309A86C51282DEC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6080
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:
 AM7EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c3a4e142-d08c-4622-169f-08db940c5e33
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/nLRkvyb1ay5t3DKzePXrEhLiwyyl6F+FVD/ppyiAauB/ANbmNC3TShbTwpLzRNLgpSXFDu50EyDdw5uQyP/haUKJ/CdX+y22ZrdITdTpg+JrLVNF9tRugXPgpA8PUSKxrr4n+DsfgJrbhwChGf2zC/SikA9HGmt0dhQ5EoPU4KLbg9myh6ZODOQqOIRcW6V9uYblJtOmS+c44GbibArW4WugATyq5/LWXTJLLO/TlJvzXSMe7EpkuOS9Xi+aak+5o+uBCOGG9z5WTDhiovkXJ4UeQHYVUmj+nigXZRcyC7yrWDQDNxYXaIaYzSB1eo95KJrXkNQYlV0szpHzdxalf/CVUq1gcVV/Et1ZMwkwGSlwi+CJyYhNqUjvrbTugXwHsTqLkc7sYvhK8EXyQ2fxZWEuPyuFP6zgrm4II0uctdOiESWaUi+gVcxbAGtD3IFNx8OAJb8HrpbaCv7jl52tr6kdFOi2JBFR06A6hhKV58c67sV0mnEAFy3Zw+wYac784N4HGaPViiH9VmZe9agscUs0hdCf3eM7bnqLFTwugjMx1EOkOaEWZ/J0k0aiiqYldeqkiwafTXV8eQoKS+y0xCYafWubHsopWiuaRnToU8jr4qUPujVTKAnFBaVh6bTPszfUOoFlOnx/CwAOqzG4jtZ+eWp/NxA9wZrwpleuEq3j7GNtKoiouVZvcMQqxtcXIFG+lzmJrG47x5yN0QEDxfpS9IYJCTrXireIALbPMQzLyfhFa6RKC3vITncCKg9
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199021)(82310400008)(36840700001)(46966006)(40470700004)(40460700003)(2616005)(53546011)(6506007)(83380400001)(26005)(186003)(336012)(47076005)(36860700001)(316002)(2906002)(70586007)(70206006)(4326008)(5660300002)(6862004)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(40480700001)(356005)(81166007)(33656002)(86362001)(36756003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 10:29:21.8750
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0075ddaf-ae46-4694-0d95-08db940c8086
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5356



> On 3 Aug 2023, at 09:26, Federico Serafini <federico.serafini@bugseng.com=
> wrote:
>=20
> Add missing parameter names to address violation of MISRA C:2012
> rule 8.2 ("Function types shall be in prototype form with named
> parameters").
>=20
> No functional changes.
>=20
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
> Changes in v2:
>  - memset() adjusted.
> ---
> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
> 1 file changed, 21 insertions(+), 21 deletions(-)
>=20
> diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
> index b4d2217a96..e91e3112e0 100644
> --- a/xen/include/xen/string.h
> +++ b/xen/include/xen/string.h
> @@ -12,27 +12,27 @@
> #define strncpy __xen_has_no_strncpy__
> #define strncat __xen_has_no_strncat__
>=20
> -size_t strlcpy(char *, const char *, size_t);
> -size_t strlcat(char *, const char *, size_t);
> -int strcmp(const char *, const char *);
> -int strncmp(const char *, const char *, size_t);
> -int strcasecmp(const char *, const char *);
> -int strncasecmp(const char *, const char *, size_t);
> -char *strchr(const char *, int);
> -char *strrchr(const char *, int);
> -char *strstr(const char *, const char *);
> -size_t strlen(const char *);
> -size_t strnlen(const char *, size_t);
> -char *strpbrk(const char *, const char *);
> -char *strsep(char **, const char *);
> -size_t strspn(const char *, const char *);
> -
> -void *memset(void *, int, size_t);
> -void *memcpy(void *, const void *, size_t);
> -void *memmove(void *, const void *, size_t);
> -int memcmp(const void *, const void *, size_t);
> -void *memchr(const void *, int, size_t);
> -void *memchr_inv(const void *, int, size_t);
> +size_t strlcpy(char *dest, const char *src, size_t size);
> +size_t strlcat(char *dest, const char *src, size_t size);
> +int strcmp(const char *cs, const char *ct);
> +int strncmp(const char *cs, const char *ct, size_t count);
> +int strcasecmp(const char *s1, const char *s2);
> +int strncasecmp(const char *s1, const char *s2, size_t len);
> +char *strchr(const char *s, int c);
> +char *strrchr(const char *s, int c);
> +char *strstr(const char *s1, const char *s2);
> +size_t strlen(const char *s);
> +size_t strnlen(const char *s, size_t count);
> +char *strpbrk(const char *cs, const char *ct);
> +char *strsep(char **s, const char *ct);
> +size_t strspn(const char *s, const char *accept);
> +
> +void *memset(void *s, int c, size_t count);
> +void *memcpy(void *dest, const void *src, size_t count);

There is a comment in arch/arm/rm32/lib/memcpy.S with this:
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */

> +void *memmove(void *dest, const void *src, size_t count);

There is a comment in arch/arm/rm32/lib/memmove.S with this:
 * Prototype: void *memmove(void *dest, const void *src, size_t n);

> +int memcmp(const void *cs, const void *ct, size_t count);
> +void *memchr(const void *s, int c, size_t n);
> +void *memchr_inv(const void *s, int c, size_t n);

@Stefano: would it make sense to remove it as part of this patch or maybe n=
ot?

Apart from that, the patch looks good to me:

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:45:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:45:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576253.902178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVpC-0006Si-Pe; Thu, 03 Aug 2023 10:44:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576253.902178; Thu, 03 Aug 2023 10:44: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 1qRVpC-0006SN-M1; Thu, 03 Aug 2023 10:44:58 +0000
Received: by outflank-mailman (input) for mailman id 576253;
 Thu, 03 Aug 2023 10:44: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRVpA-0006R6-8b
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:44:56 +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 c63f1b36-31ea-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:44:53 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691059486980177.53896160741135;
 Thu, 3 Aug 2023 03:44: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: c63f1b36-31ea-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691059489; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=CqoqPxcMhQKOSPFPL1drpXXXj7+fRTAJ065EQiu+d3/RZWmCBOxKTYxkoNW0znDCFQCB2HU28ZG5sgdO9InvX317KkviZ5E7o/csXC+paN9dRbe4jHgjAF4sALIGdGE6YXN+H3KAlPp4xSQNF/eTCtGPIBp+damKCr5ITyIZ1gk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691059489; h=Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=NI9QzLntlpPNBsuyFhfQihukqMkII5427Tj801yySmU=; 
	b=kEjtLWi8Lbe/Ka4h1xTWx+HbSP9Nk+QG1yXefTfGfhRxiFQvWBs48WYpl8Jmo6JBWanGygIGyu9diKMjggV6clEofmBGBG/xyTJFlcH/magttwCpPBLhohqdeZzyKw2FceNMXlYVYAo1OlaaDhiGtmYh4I2QFw+OJiHci09DYZk=
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=1691059489;
	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=NI9QzLntlpPNBsuyFhfQihukqMkII5427Tj801yySmU=;
	b=XGLVUR7VAywlrnre4hu8LGiM+TSyiMlU32+vC4hs6p+z7cnekY60dFtDQELPZ0Bj
	a/CRNKLPhdwcC5+3tVvudpmujnFUkWF93hyJEA6hZQizm8CImupluQfbATikoW2ZOQC
	aGtu9n9FWv1GfQr7vokcj5YnOep085W1Je7YiGx8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>,
	Rich Persaud <persaur@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/2] Rebranding dom0less to hyperlaunch part 1
Date: Thu,  3 Aug 2023 06:44:36 -0400
Message-Id: <20230803104438.24720-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This is the first series of the proposal put forth on moving to have dom0less
folded under and thus rebranded as a part of hyperlaunch. As laid out in the
proposal, the series updates the hyperlaunch device tree documentation and
applies the general refactoring of FDT parsing to make core logic common.

Changes in v2
 - removed original function declarations from arch/arm/include/asm/setup.h
 - corrected the new F: entries in the FDT section of MAINTAINERS
 - alphabetized the F: entries in the FDT section of MAINTAINERS

Daniel P. Smith (2):
  docs: update hyperlaunch device tree
  fdt: make fdt handling reusable across arch

 MAINTAINERS                                   |  17 +-
 .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
 xen/arch/arm/bootfdt.c                        | 141 +----
 xen/arch/arm/domain_build.c                   |   1 +
 xen/arch/arm/include/asm/setup.h              |   6 -
 xen/common/Kconfig                            |   4 +
 xen/common/Makefile                           |   3 +-
 xen/common/fdt.c                              | 153 +++++
 xen/include/xen/device_tree.h                 |  50 +-
 xen/include/xen/fdt.h                         |  79 +++
 10 files changed, 555 insertions(+), 465 deletions(-)
 create mode 100644 xen/common/fdt.c
 create mode 100644 xen/include/xen/fdt.h

-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:45:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576254.902188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVpS-0006ms-6S; Thu, 03 Aug 2023 10:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576254.902188; Thu, 03 Aug 2023 10:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVpS-0006ml-3D; Thu, 03 Aug 2023 10:45:14 +0000
Received: by outflank-mailman (input) for mailman id 576254;
 Thu, 03 Aug 2023 10:45:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRVpR-0006R6-2m
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:45:13 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0d3c369-31ea-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:45:10 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691059488468459.8456392127623;
 Thu, 3 Aug 2023 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: d0d3c369-31ea-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691059491; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fi5lAjasoGhPJ0xY7+ygV9hjj5fHuhf9L+DPwwBa3aBowixgni8c2Pf+ZIAKBEBc6AqncoCxDkX/9xfVH1Z7tE3f8Xi9mkUBamFX3cFLk4SeV77OleH+YDeD30rkugQOOkLTEw4rf2gFYYZHK4KdolfFO48EjnbC2NjO2RrbXo4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691059491; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=EW4AyI36gTHVj3MBWRAetoSpPzDjxbKjm9mKfWizXOo=; 
	b=CKGPhBukzRvx6g6gAB58Wx+ZlTCSp6sBl+jTSgoQ1VrnBGbHHR+yYPvoyFCxJJp1F/3t6l72F90bXUcMLhZJELP1JZFF60Wv1VBE6BL11TvkjHKGw1LKsg1ne0MDkkbZkxE2SJOzq42vQgMyNZJ24m3b2+x2+hUtP8Y5kUq9V+Y=
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=1691059491;
	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-Type:Content-Transfer-Encoding:Reply-To;
	bh=EW4AyI36gTHVj3MBWRAetoSpPzDjxbKjm9mKfWizXOo=;
	b=fVvTEHHmkO6gU+mQHcbeirdwehY3XAMAn+WPEsWkC7a/50e6pWQg0KfP2Hka155e
	WaTmH106Ia1Ps2E6m9N0ttbmYo3nKp2JAjKUJ+8fhcGRcdV/gL/26aK0b4iq338iQwp
	WZVzut64+F5ulZebTip4erSy1pwikKUVj3WkuZ5U=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/2] docs: update hyperlaunch device tree
Date: Thu,  3 Aug 2023 06:44:37 -0400
Message-Id: <20230803104438.24720-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230803104438.24720-1-dpsmith@apertussolutions.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

With on going development of hyperlaunch, changes to the device tree definitions
has been necessary. This commit updates the specification for all current changes
along with changes expected to be made in finalizing the capability.

This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
this documentation under its purview. It also reserves the path
`xen/common/domain-builder` for the hyperlaunch domain builder code base.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 MAINTAINERS                                   |   9 +
 .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
 2 files changed, 309 insertions(+), 266 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d8a02a6c19..694412a961 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -332,6 +332,15 @@ M:	Nick Rosbrook <rosbrookn@gmail.com>
 S:	Maintained
 F:	tools/golang
 
+HYPERLAUNCH
+M:	Daniel P. Smith <dpsmith@apertussolutions.com>
+M:	Christopher Clark <christopher.w.clark@gmail.com>
+W:	https://wiki.xenproject.org/wiki/Hyperlaunch
+S:	Supported
+F:	docs/design/launch/hyperlaunch.rst
+F:	docs/design/launch/hyperlaunch-devicetree.rst
+F:	xen/common/domain-builder/
+
 HYPFS
 M:	Juergen Gross <jgross@suse.com>
 S:	Supported
diff --git a/docs/designs/launch/hyperlaunch-devicetree.rst b/docs/designs/launch/hyperlaunch-devicetree.rst
index b49c98cfbd..0bc719e4ae 100644
--- a/docs/designs/launch/hyperlaunch-devicetree.rst
+++ b/docs/designs/launch/hyperlaunch-devicetree.rst
@@ -2,10 +2,11 @@
 Xen Hyperlaunch Device Tree Bindings
 -------------------------------------
 
-The Xen Hyperlaunch device tree adopts the dom0less device tree structure and
-extends it to meet the requirements for the Hyperlaunch capability. The primary
-difference is the introduction of the ``hypervisor`` node that is under the
-``/chosen`` node. The move to a dedicated node was driven by:
+The Xen Hyperlaunch device tree is informed by the dom0less device tree
+structure with extensions to meet the requirements for the Hyperlaunch
+capability. A major depature from the dom0less device tree is the introduction
+of the ``hypervisor`` node that is under the ``/chosen`` node. The move to a
+dedicated node was driven by:
 
 1. Reduces the need to walk over nodes that are not of interest, e.g. only
    nodes of interest should be in ``/chosen/hypervisor``
@@ -13,331 +14,364 @@ difference is the introduction of the ``hypervisor`` node that is under the
 2. Allows for the domain construction information to easily be sanitized by
    simple removing the ``/chosen/hypervisor`` node.
 
-Example Configuration
----------------------
-
-Below are two example device tree definitions for the hypervisor node. The
-first is an example of a multiboot-based configuration for x86 and the second
-is a module-based configuration for Arm.
-
-Multiboot x86 Configuration:
-""""""""""""""""""""""""""""
-
-::
-
-    hypervisor {
-        #address-cells = <1>;
-        #size-cells = <0>;
-        compatible = â€œhypervisor,xenâ€
-
-        // Configuration container
-        config {
-            compatible = "xen,config";
-
-            module {
-                compatible = "module,microcode", "multiboot,module";
-                mb-index = <1>;
-            };
-
-            module {
-                compatible = "module,xsm-policy", "multiboot,module";
-                mb-index = <2>;
-            };
-        };
-
-        // Boot Domain definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0x7FF5>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0x00000001>;
-
-            memory = <0x0 0x20000>;
-            cpus = <1>;
-            module {
-                compatible = "module,kernel", "multiboot,module";
-                mb-index = <3>;
-            };
-
-            module {
-                compatible = "module,ramdisk", "multiboot,module";
-                mb-index = <4>;
-            };
-            module {
-                compatible = "module,config", "multiboot,module";
-                mb-index = <5>;
-            };
-
-        // Classic Dom0 definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0>;
-
-            // PERMISSION_NONE          (0)
-            // PERMISSION_CONTROL       (1 << 0)
-            // PERMISSION_HARDWARE      (1 << 1)
-            permissions = <3>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0xC0000006>;
-
-            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
-            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
-            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
-            mode = <5>; /* 64 BIT, PV */
-
-            // UUID
-            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
-
-            cpus = <1>;
-            memory = <0x0 0x20000>;
-            security-id = â€œdom0_t;
-
-            module {
-                compatible = "module,kernel", "multiboot,module";
-                mb-index = <6>;
-                bootargs = "console=hvc0";
-            };
-            module {
-                compatible = "module,ramdisk", "multiboot,module";
-                mb-index = <7>;
-            };
-    };
-
-The multiboot modules supplied when using the above config would be, in order:
+The Hypervisor node
+-------------------
 
-* (the above config, compiled)
-* CPU microcode
-* XSM policy
-* kernel for boot domain
-* ramdisk for boot domain
-* boot domain configuration file
-* kernel for the classic dom0 domain
-* ramdisk for the classic dom0 domain
+The ``hypervisor`` node is a top level container for all information relating
+to how the hyperlaunch is to proceed. This includes definitions of the domains
+that will be built by hypervisor on start up. The node will be named
+``hypervisor``  with a ``compatible`` property to identify which hypervisors
+the configuration is intended. The hypervisor node will consist of one or more
+config nodes and one or more domain nodes.
 
-Module Arm Configuration:
-"""""""""""""""""""""""""
+Properties
+""""""""""
 
-::
+compatible
+  Identifies which hypervisors the configuration is compatible. Required.
 
-    hypervisor {
-        compatible = â€œhypervisor,xenâ€
+  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
 
-        // Configuration container
-        config {
-            compatible = "xen,config";
+Child Nodes
+"""""""""""
 
-            module {
-                compatible = "module,microcodeâ€;
-                module-addr = <0x0000ff00 0x80>;
-            };
+* config
+* domain
 
-            module {
-                compatible = "module,xsm-policy";
-                module-addr = <0x0000ff00 0x80>;
+Config Node
+-----------
 
-            };
-        };
+A ``config`` node is for passing configuration data and identifying any boot
+modules that is of interest to the hypervisor.  For example this would be where
+Xen would be informed of microcode or XSM policy locations. Each ``config``
+node will require a unique device-tree compliant name as there may be one or
+more ``config`` nodes present in a single dtb file. To identify which
+hypervisor the configuration is intended, the required ``compatible`` property
+must be present.
 
-        // Boot Domain definition
-        domain {
-            compatible = "xen,domain";
-
-            domid = <0x7FF5>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0x00000001>;
-
-            memory = <0x0 0x20000>;
-            cpus = <1>;
-            module {
-                compatible = "module,kernel";
-                module-addr = <0x0000ff00 0x80>;
-            };
+While the config node is not meant to replace the hypervisor commandline, there
+may be cases where it is better suited for passing configuration details at
+boot time.  This additional information may be carried in properties assigned
+to a ``config`` node. If there are any boot modules that are intended for the
+hypervisor, then a ``module`` child node should be provided to identify the
+boot module.
 
-            module {
-                compatible = "module,ramdisk";
-                module-addr = <0x0000ff00 0x80>;
-            };
-            module {
-                compatible = "module,config";
-                module-addr = <0x0000ff00 0x80>;
-            };
+Properties
+""""""""""
 
-        // Classic Dom0 definition
-        domain@0 {
-            compatible = "xen,domain";
-
-            domid = <0>;
-
-            // PERMISSION_NONE          (0)
-            // PERMISSION_CONTROL       (1 << 0)
-            // PERMISSION_HARDWARE      (1 << 1)
-            permissions = <3>;
-
-            // FUNCTION_NONE            (0)
-            // FUNCTION_BOOT            (1 << 0)
-            // FUNCTION_CRASH           (1 << 1)
-            // FUNCTION_CONSOLE         (1 << 2)
-            // FUNCTION_XENSTORE        (1 << 30)
-            // FUNCTION_LEGACY_DOM0     (1 << 31)
-            functions = <0xC0000006>;
-
-            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
-            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
-            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
-            mode = <5>; /* 64 BIT, PV */
-
-            // UUID
-            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
-
-            cpus = <1>;
-            memory = <0x0 0x20000>;
-            security-id = â€œdom0_tâ€;
-
-            module {
-                compatible = "module,kernel";
-                module-addr = <0x0000ff00 0x80>;
-                bootargs = "console=hvc0";
-            };
-            module {
-                compatible = "module,ramdisk";
-                module-addr = <0x0000ff00 0x80>;
-            };
-    };
+compatible
+  Identifies the hypervisor the confiugration is intended. Required.
 
-The modules that would be supplied when using the above config would be:
+  Format: "<hypervisor name>,config", e.g "xen,config"
 
-* (the above config, compiled into hardware tree)
-* CPU microcode
-* XSM policy
-* kernel for boot domain
-* ramdisk for boot domain
-* boot domain configuration file
-* kernel for the classic dom0 domain
-* ramdisk for the classic dom0 domain
+bootargs
+  This is used to provide the boot params for Xen.
 
-The hypervisor device tree would be compiled into the hardware device tree and
-provided to Xen using the standard method currently in use. The remaining
-modules would need to be loaded in the respective addresses specified in the
-`module-addr` property.
+  Format: String, e.g. "flask=silo"
 
+Child Nodes
+"""""""""""
 
-The Hypervisor node
--------------------
+* module
 
-The hypervisor node is a top level container for the domains that will be built
-by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
-property is used to identify the type of hypervisor node present..
+Domain Node
+-----------
 
-compatible
-  Identifies the type of node. Required.
+A ``domain`` node is for describing the construction of a domain. Since there
+may be one or more domain nodes, each one requires a unique, DTB compliant name
+and a ``compatible`` property to identify as a domain node.
 
-The Config node
----------------
+A ``domain`` node  may provide a ``domid`` property which will be used as the
+requested domain id for the domain with a value of â€œ0â€ signifying to use the
+next available domain id, which is the default behavior if omitted. It should
+be noted that a domain configuration is not able to request a domid of â€œ0â€.
+Beyond that, a domain node may have any of the following optional properties.
 
-A config node is for detailing any modules that are of interest to Xen itself.
-For example this would be where Xen would be informed of microcode or XSM
-policy locations. If the modules are multiboot modules and are able to be
-located by index within the module chain, the ``mb-index`` property should be
-used to specify the index in the multiboot module chain.. If the module will be
-located by physical memory address, then the ``module-addr`` property should be
-used to identify the location and size of the module.
+Properties
+""""""""""
 
 compatible
-  Identifies the type of node. Required.
-
-The Domain node
----------------
+  Identifies the node as a domain node and for which hypervisor. Required.
 
-A domain node is for describing the construction of a domain. It may provide a
-domid property which will be used as the requested domain id for the domain
-with a value of â€œ0â€ signifying to use the next available domain id, which is
-the default behavior if omitted. A domain configuration is not able to request
-a domid of â€œ0â€. After that a domain node may have any of the following
-parameters,
-
-compatible
-  Identifies the type of node. Required.
+  Format: "<hypervisor name>,domain", e.g "xen,domain"
 
 domid
-  Identifies the domid requested to assign to the domain. Required.
+  Identifies the domid requested to assign to the domain.
 
-permissions
+  Format: Integer, e.g <0>
+
+role
   This sets what Discretionary Access Control permissions
   a domain is assigned. Optional, default is none.
 
-functions
-  This identifies what system functions a domain will fulfill.
+  Format: Bitfield, e.g <3> or <0x00000003>
+
+          ROLE_NONE                (0)
+          ROLE_UNBOUNDED_DOMAIN    (1U<<0)
+          ROLE_CONTROL_DOMAIN      (1U<<1)
+          ROLE_HARDWARE_DOMAIN     (1U<<2)
+          ROLE_XENSTORE_DOMAIN     (1U<<3)
+
+capability
+  This identifies what system capabilities a domain may have beyond the role it
+  was assigned.
   Optional, the default is none.
 
-.. note::  The `functions` bits that have been selected to indicate
-   ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two bits
-   (30, 31) such that should these features ever be fully retired, the flags may
-   be dropped without leaving a gap in the flag set.
+  Format: Bitfield, e.g <3221225487> or <0xC0000007>
+
+          CAP_NONE            (0)
+          CAP_CONSOLE_IO      (1U<<0)
 
 mode
   The mode the domain will be executed under. Required.
 
+  Format: Bitfield, e.g <5> or <0x00000005>
+
+          MODE_PARAVIRTUALIZED     (1 << 0) PV | PVH/HVM
+          MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
+          MODE_LONG                (1 << 2) 64 BIT | 32 BIT
+
 domain-uuid
   A globally unique identifier for the domain. Optional,
   the default is NULL.
 
+  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
+
 cpus
   The number of vCPUs to be assigned to the domain. Optional,
   the default is â€œ1â€.
 
+  Format: Integer, e.g <0>
+
 memory
-  The amount of memory to assign to the domain, in KBs.
+  The amount of memory to assign to the domain, in KBs. This field uses a DTB
+  Reg which contains a start and size. For memory allocation start may or may
+  not have significance but size will always be used for the amount of memory
   Required.
 
+  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
+
 security-id
   The security identity to be assigned to the domain when XSM
   is the access control mechanism being used. Optional,
-  the default is â€œdomu_tâ€.
+  the default is â€œsystem_u:system_r:domU_tâ€.
+
+  Format: string, e.g. "system_u:system_r:domU_t"
+
+Child Nodes
+"""""""""""
+
+* module
+
+Module node
+-----------
 
-The Module node
----------------
+This node describes a boot module loaded by the boot loader. A ``module`` node
+will often appear repeatedly and will require a unique and DTB compliant name
+for each instance. The compatible property is required to identify that the
+node is a ``module`` node, the type of boot module, and what it represents.
 
-This node describes a boot module loaded by the boot loader. The required
-compatible property follows the format: module,<type> where type can be
-â€œkernelâ€, â€œramdiskâ€, â€œdevice-treeâ€, â€œmicrocodeâ€, â€œxsm-policyâ€ or â€œconfigâ€. In
-the case the module is a multiboot module, the additional property string
-â€œmultiboot,moduleâ€ may be present. One of two properties is required and
-identifies how to locate the module. They are the mb-index, used for multiboot
-modules, and the module-addr for memory address based location.
+Depending on the type of boot module, the ``module`` node will require either a
+``module-index`` or ``module-addr`` property must be present. They provide the
+boot module specific way of locating the boot module in memory.
+
+Properties
+""""""""""
 
 compatible
   This identifies what the module is and thus what the hypervisor
   should use the module for during domain construction. Required.
 
-mb-index
-  This identifies the index for this module in the multiboot module chain.
+  Format: "module,<module type>"[, "module,<locating type>"]
+          module type: kernel, ramdisk, device-tree, microcode, xsm-policy,
+                       config
+
+          locating type: index, addr
+
+module-index
+  This identifies the index for this module when in a module chain.
   Required for multiboot environments.
 
+  Format: Integer, e.g. <0>
+
 module-addr
   This identifies where in memory this module is located. Required for
   non-multiboot environments.
 
+  Format: DTB Reg <start size>, e.g. <0x0 0x20000>
+
 bootargs
   This is used to provide the boot params to kernel modules.
 
+  Format: String, e.g. "ro quiet"
+
 .. note::  The bootargs property is intended for situations where the same kernel multiboot module is used for more than one domain.
+
+Example Configuration
+---------------------
+
+Below are two example device tree definitions for the hypervisor node. The
+first is an example of a multiboot-based configuration for x86 and the second
+is a module-based configuration for Arm.
+
+Multiboot x86 Configuration:
+""""""""""""""""""""""""""""
+
+::
+
+    /dts-v1/;
+
+    / {
+        chosen {
+            hypervisor {
+                compatible = "hypervisor,xen", "xen,x86";
+
+                dom0 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <9>;
+                    mode = <12>;
+
+                    domain-uuid = [B3 FB 98 FB 8F 9F 67 A3 8A 6E 62 5A 09 13 F0 8C];
+
+                    cpus = <1>;
+                    memory = "1024M";
+
+                    kernel {
+                        compatible = "module,kernel", "module,index";
+                        module-index = <1>;
+                    };
+
+                    initrd {
+                        compatible = "module,ramdisk", "module,index";
+                        module-index = <2>;
+                    };
+                };
+
+                dom1 {
+                    compatible = "xen,domain";
+                    domid = <1>;
+                    role = <0>;
+                    capability = <1>;
+                    mode = <12>;
+                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64 54 1A 74];
+                    cpus = <1>;
+                    memory = "1024M";
+
+                    kernel {
+                        compatible = "module,kernel", "module,index";
+                        module-index = <3>;
+                        bootargs = "console=hvc0 earlyprintk=xen root=/dev/ram0 rw";
+                    };
+
+                    initrd {
+                        compatible = "module,ramdisk", "module,index";
+                        module-index = <4>;
+                    };
+                };
+            };
+        };
+    };
+
+
+
+The multiboot modules supplied when using the above config would be, in order:
+
+* (the above config, compiled)
+* kernel for PVH unbounded domain
+* ramdisk for PVH unbounded domain
+* kernel for PVH guest domain
+* ramdisk for PVH guest domain
+
+Module Arm Configuration:
+"""""""""""""""""""""""""
+
+::
+
+    /dts-v1/;
+
+    / {
+        chosen {
+            hypervisor {
+                compatible = â€œhypervisor,xenâ€
+
+                // Configuration container
+                config {
+                    compatible = "xen,config";
+
+                    module {
+                        compatible = "module,xsm-policy";
+                        module-addr = <0x0000ff00 0x80>;
+
+                    };
+                };
+
+                // Unbounded Domain definition
+                dom0 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <9>;
+
+                    mode = <12>; /* 64 BIT, PVH */
+
+                    memory = <0x0 0x20000>;
+                    cpus = <1>;
+                    module {
+                        compatible = "module,kernel";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+
+                    module {
+                        compatible = "module,ramdisk";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+
+                // Guest definition
+                dom1 {
+                    compatible = "xen,domain";
+
+                    domid = <0>;
+
+                    role = <0>;
+                    capability = <1>;
+
+                    mode = <12>; /* 64 BIT, PVH */
+
+                    // UUID
+                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64 54 1A 74];
+
+                    cpus = <1>;
+                    memory = <0x0 0x20000>;
+                    security-id = â€œdom0_tâ€;
+
+                    module {
+                        compatible = "module,kernel";
+                        module-addr = <0x0000ff00 0x80>;
+                        bootargs = "console=hvc0";
+                    };
+                    module {
+                        compatible = "module,ramdisk";
+                        module-addr = <0x0000ff00 0x80>;
+                    };
+                };
+            };
+        };
+    };
+
+The modules that would be supplied when using the above config would be:
+
+* (the above config, compiled into hardware tree)
+* XSM policy
+* kernel for unbounded domain
+* ramdisk for unbounded domain
+* kernel for guest domain
+* ramdisk for guest domain
+
+The hypervisor device tree would be compiled into the hardware device tree and
+provided to Xen using the standard method currently in use. The remaining
+modules would need to be loaded in the respective addresses specified in the
+`module-addr` property.
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 10:45:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 10:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576257.902198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVpn-0007SA-Ga; Thu, 03 Aug 2023 10:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576257.902198; Thu, 03 Aug 2023 10:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRVpn-0007S0-DV; Thu, 03 Aug 2023 10:45:35 +0000
Received: by outflank-mailman (input) for mailman id 576257;
 Thu, 03 Aug 2023 10:45:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRVpm-0006R6-FV
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 10:45:34 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dddc5d67-31ea-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 12:45:32 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691059489859266.14813489756693;
 Thu, 3 Aug 2023 03:44:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dddc5d67-31ea-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691059492; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=aqV+odTA/piZryJ1RNlX8srNIenVVyn7kqmZEo2Ou5ffwXNUMRJWxnlaFi4IcM4dmfZUPXnZAgxkZgDfi9TKKhdv+b7NqzKe2OeBoiHXvKc391mxHiDAgV5AA3BONVE1meTDzZI2UOkCXkojmVhsD67dsq4V2C+ylc8UGpnVNjc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691059492; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=J7499yaTk92ZTF+Y3RPSxthIKYwu2L2+YjjgPAOMoF8=; 
	b=hWYuCKTNnNXnVPC7VrVhK6JG0gIWCTyLYS1eGw/+mflqBVQ/gqHyS4xvbANk3VpTWFmY7d2pquluVNmcxRJvjDQaY4QyJoOtWDdKKliyCF3X5GPNJBZA13QHDPyUqn7fP7ZsARvNnt+12kvDnEMzkjhbNF6WhB1Rj/YbnSyWjO0=
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=1691059492;
	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=J7499yaTk92ZTF+Y3RPSxthIKYwu2L2+YjjgPAOMoF8=;
	b=aa7Bv6AvRpBeDjO4+OBL9CRK16n/miBWKuWn+MaRMzEpk1ByoYd5SCTdmpDD8L9Z
	raU+LLrQ37FgN+z/qiB3aP7U/uBlbzC64/EyO4LICu0YhAKKrAvqDtfJRsRhlfVPUIQ
	vjoqhtLagSuBWggDRFUPAHiNrrZHGBgf6ZryfWfA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Date: Thu,  3 Aug 2023 06:44:38 -0400
Message-Id: <20230803104438.24720-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20230803104438.24720-1-dpsmith@apertussolutions.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
introduced for when the ability of parsing DTB files is needed by a capability
such as hyperlaunch.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 MAINTAINERS                      |   8 +-
 xen/arch/arm/bootfdt.c           | 141 +---------------------------
 xen/arch/arm/domain_build.c      |   1 +
 xen/arch/arm/include/asm/setup.h |   6 --
 xen/common/Kconfig               |   4 +
 xen/common/Makefile              |   3 +-
 xen/common/fdt.c                 | 153 +++++++++++++++++++++++++++++++
 xen/include/xen/device_tree.h    |  50 +---------
 xen/include/xen/fdt.h            |  79 ++++++++++++++++
 9 files changed, 246 insertions(+), 199 deletions(-)
 create mode 100644 xen/common/fdt.c
 create mode 100644 xen/include/xen/fdt.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 694412a961..ad684a2148 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -299,11 +299,13 @@ DEVICE TREE
 M:	Stefano Stabellini <sstabellini@kernel.org>
 M:	Julien Grall <julien@xen.org>
 S:	Supported
-F:	xen/common/libfdt/
 F:	xen/common/device_tree.c
-F:	xen/include/xen/libfdt/
-F:	xen/include/xen/device_tree.h
+F:	xen/common/fdt.c
+F:	xen/common/libfdt/
 F:	xen/drivers/passthrough/device_tree.c
+F:	xen/include/xen/device_tree.h
+F:	xen/include/xen/fdt.h
+F:	xen/include/xen/libfdt/
 
 ECLAIR
 R:	Simone Ballarin <simone.ballarin@bugseng.com>
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1..cdf4f17789 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -12,79 +12,11 @@
 #include <xen/device_tree.h>
 #include <xen/lib.h>
 #include <xen/libfdt/libfdt-xen.h>
+#include <xen/fdt.h>
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
 
-static bool __init device_tree_node_matches(const void *fdt, int node,
-                                            const char *match)
-{
-    const char *name;
-    size_t match_len;
-
-    name = fdt_get_name(fdt, node, NULL);
-    match_len = strlen(match);
-
-    /* Match both "match" and "match@..." patterns but not
-       "match-foo". */
-    return strncmp(name, match, match_len) == 0
-        && (name[match_len] == '@' || name[match_len] == '\0');
-}
-
-static bool __init device_tree_node_compatible(const void *fdt, int node,
-                                               const char *match)
-{
-    int len, l;
-    const void *prop;
-
-    prop = fdt_getprop(fdt, node, "compatible", &len);
-    if ( prop == NULL )
-        return false;
-
-    while ( len > 0 ) {
-        if ( !dt_compat_cmp(prop, match) )
-            return true;
-        l = strlen(prop) + 1;
-        prop += l;
-        len -= l;
-    }
-
-    return false;
-}
-
-void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
-                                uint32_t size_cells, paddr_t *start,
-                                paddr_t *size)
-{
-    uint64_t dt_start, dt_size;
-
-    /*
-     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
-     * Thus, there is an implicit cast from uint64_t to paddr_t.
-     */
-    dt_start = dt_next_cell(address_cells, cell);
-    dt_size = dt_next_cell(size_cells, cell);
-
-    if ( dt_start != (paddr_t)dt_start )
-    {
-        printk("Physical address greater than max width supported\n");
-        WARN();
-    }
-
-    if ( dt_size != (paddr_t)dt_size )
-    {
-        printk("Physical size greater than max width supported\n");
-        WARN();
-    }
-
-    /*
-     * Xen will truncate the address/size if it is greater than the maximum
-     * supported width and it will give an appropriate warning.
-     */
-    *start = dt_start;
-    *size = dt_size;
-}
-
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
@@ -135,77 +67,6 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     return 0;
 }
 
-u32 __init device_tree_get_u32(const void *fdt, int node,
-                               const char *prop_name, u32 dflt)
-{
-    const struct fdt_property *prop;
-
-    prop = fdt_get_property(fdt, node, prop_name, NULL);
-    if ( !prop || prop->len < sizeof(u32) )
-        return dflt;
-
-    return fdt32_to_cpu(*(uint32_t*)prop->data);
-}
-
-/**
- * device_tree_for_each_node - iterate over all device tree sub-nodes
- * @fdt: flat device tree.
- * @node: parent node to start the search from
- * @func: function to call for each sub-node.
- * @data: data to pass to @func.
- *
- * Any nodes nested at DEVICE_TREE_MAX_DEPTH or deeper are ignored.
- *
- * Returns 0 if all nodes were iterated over successfully.  If @func
- * returns a value different from 0, that value is returned immediately.
- */
-int __init device_tree_for_each_node(const void *fdt, int node,
-                                     device_tree_node_func func,
-                                     void *data)
-{
-    /*
-     * We only care about relative depth increments, assume depth of
-     * node is 0 for simplicity.
-     */
-    int depth = 0;
-    const int first_node = node;
-    u32 address_cells[DEVICE_TREE_MAX_DEPTH];
-    u32 size_cells[DEVICE_TREE_MAX_DEPTH];
-    int ret;
-
-    do {
-        const char *name = fdt_get_name(fdt, node, NULL);
-        u32 as, ss;
-
-        if ( depth >= DEVICE_TREE_MAX_DEPTH )
-        {
-            printk("Warning: device tree node `%s' is nested too deep\n",
-                   name);
-            continue;
-        }
-
-        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
-        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
-
-        address_cells[depth] = device_tree_get_u32(fdt, node,
-                                                   "#address-cells", as);
-        size_cells[depth] = device_tree_get_u32(fdt, node,
-                                                "#size-cells", ss);
-
-        /* skip the first node */
-        if ( node != first_node )
-        {
-            ret = func(fdt, node, name, depth, as, ss, data);
-            if ( ret != 0 )
-                return ret;
-        }
-
-        node = fdt_next_node(fdt, node, &depth);
-    } while ( node >= 0 && depth > 0 );
-
-    return 0;
-}
-
 static int __init process_memory_node(const void *fdt, int node,
                                       const char *name, int depth,
                                       u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a5..7bd6c009d1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -30,6 +30,7 @@
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
+#include <xen/fdt.h>
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..ae2bfcc7e6 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -159,12 +159,6 @@ const char *boot_module_kind_as_string(bootmodule_kind kind);
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
-void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
-                         uint32_t size_cells, paddr_t *start, paddr_t *size);
-
-u32 device_tree_get_u32(const void *fdt, int node,
-                        const char *prop_name, u32 dflt);
-
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0d248ab941..e2fdb3cbc3 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -38,8 +38,12 @@ config HAS_ALTERNATIVE
 config HAS_COMPAT
 	bool
 
+config CORE_DEVICE_TREE
+	bool
+
 config HAS_DEVICE_TREE
 	bool
+	select CORE_DEVICE_TREE
 
 config HAS_EX_TABLE
 	bool
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..fd3769e1c6 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -11,6 +11,7 @@ obj-y += domain.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
+obj-$(CONFIG_CORE_DEVICE_TREE) += fdt.o
 obj-$(CONFIG_CRASH_DEBUG) += gdbstub.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
@@ -75,7 +76,7 @@ obj-y += sched/
 obj-$(CONFIG_UBSAN) += ubsan/
 
 obj-$(CONFIG_NEEDS_LIBELF) += libelf/
-obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
+obj-$(CONFIG_CORE_DEVICE_TREE) += libfdt/
 
 CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(objtree)/)$(KCONFIG_CONFIG)
 $(obj)/config.gz: $(CONF_FILE)
diff --git a/xen/common/fdt.c b/xen/common/fdt.c
new file mode 100644
index 0000000000..8d7acaaa43
--- /dev/null
+++ b/xen/common/fdt.c
@@ -0,0 +1,153 @@
+/*
+ * Flattened Device Tree
+ *
+ * Copyright (C) 2012-2014 Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <xen/fdt.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/types.h>
+
+bool __init device_tree_node_matches(
+    const void *fdt, int node, const char *match)
+{
+    const char *name;
+    size_t match_len;
+
+    name = fdt_get_name(fdt, node, NULL);
+    match_len = strlen(match);
+
+    /* Match both "match" and "match@..." patterns but not
+       "match-foo". */
+    return strncmp(name, match, match_len) == 0
+        && (name[match_len] == '@' || name[match_len] == '\0');
+}
+
+bool __init device_tree_node_compatible(
+    const void *fdt, int node, const char *match)
+{
+    int len, l;
+    const void *prop;
+
+    prop = fdt_getprop(fdt, node, "compatible", &len);
+    if ( prop == NULL )
+        return false;
+
+    while ( len > 0 ) {
+        if ( !dt_compat_cmp(prop, match) )
+            return true;
+        l = strlen(prop) + 1;
+        prop += l;
+        len -= l;
+    }
+
+    return false;
+}
+
+void __init device_tree_get_reg(
+    const __be32 **cell, uint32_t address_cells, uint32_t size_cells,
+    paddr_t *start, paddr_t *size)
+{
+    uint64_t dt_start, dt_size;
+
+    /*
+     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
+     * Thus, there is an implicit cast from uint64_t to paddr_t.
+     */
+    dt_start = dt_next_cell(address_cells, cell);
+    dt_size = dt_next_cell(size_cells, cell);
+
+    if ( dt_start != (paddr_t)dt_start )
+    {
+        printk("Physical address greater than max width supported\n");
+        WARN();
+    }
+
+    if ( dt_size != (paddr_t)dt_size )
+    {
+        printk("Physical size greater than max width supported\n");
+        WARN();
+    }
+
+    /*
+     * Xen will truncate the address/size if it is greater than the maximum
+     * supported width and it will give an appropriate warning.
+     */
+    *start = dt_start;
+    *size = dt_size;
+}
+
+u32 __init device_tree_get_u32(
+    const void *fdt, int node, const char *prop_name, u32 dflt)
+{
+    const struct fdt_property *prop;
+
+    prop = fdt_get_property(fdt, node, prop_name, NULL);
+    if ( !prop || prop->len < sizeof(u32) )
+        return dflt;
+
+    return fdt32_to_cpu(*(uint32_t*)prop->data);
+}
+
+/**
+ * device_tree_for_each_node - iterate over all device tree sub-nodes
+ * @fdt: flat device tree.
+ * @node: parent node to start the search from
+ * @func: function to call for each sub-node.
+ * @data: data to pass to @func.
+ *
+ * Any nodes nested at DEVICE_TREE_MAX_DEPTH or deeper are ignored.
+ *
+ * Returns 0 if all nodes were iterated over successfully.  If @func
+ * returns a value different from 0, that value is returned immediately.
+ */
+int __init device_tree_for_each_node(
+    const void *fdt, int node, device_tree_node_func func, void *data)
+{
+    /*
+     * We only care about relative depth increments, assume depth of
+     * node is 0 for simplicity.
+     */
+    int depth = 0;
+    const int first_node = node;
+    u32 address_cells[DEVICE_TREE_MAX_DEPTH];
+    u32 size_cells[DEVICE_TREE_MAX_DEPTH];
+    int ret;
+
+    do {
+        const char *name = fdt_get_name(fdt, node, NULL);
+        u32 as, ss;
+
+        if ( depth >= DEVICE_TREE_MAX_DEPTH )
+        {
+            printk("Warning: device tree node `%s' is nested too deep\n",
+                   name);
+            continue;
+        }
+
+        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
+        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
+
+        address_cells[depth] = device_tree_get_u32(fdt, node,
+                                                   "#address-cells", as);
+        size_cells[depth] = device_tree_get_u32(fdt, node,
+                                                "#size-cells", ss);
+
+        /* skip the first node */
+        if ( node != first_node )
+        {
+            ret = func(fdt, node, name, depth, as, ss, data);
+            if ( ret != 0 )
+                return ret;
+        }
+
+        node = fdt_next_node(fdt, node, &depth);
+    } while ( node >= 0 && depth > 0 );
+
+    return 0;
+}
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 1d79e23b28..82db38b140 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -14,13 +14,12 @@
 #include <asm/device.h>
 #include <public/xen.h>
 #include <public/device_tree_defs.h>
+#include <xen/fdt.h>
 #include <xen/kernel.h>
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
 
-#define DEVICE_TREE_MAX_DEPTH 16
-
 /*
  * Struct used for matching a device
  */
@@ -159,17 +158,8 @@ struct dt_raw_irq {
     u32 specifier[DT_MAX_IRQ_SPEC];
 };
 
-typedef int (*device_tree_node_func)(const void *fdt,
-                                     int node, const char *name, int depth,
-                                     u32 address_cells, u32 size_cells,
-                                     void *data);
-
 extern const void *device_tree_flattened;
 
-int device_tree_for_each_node(const void *fdt, int node,
-                              device_tree_node_func func,
-                              void *data);
-
 /**
  * dt_unflatten_host_device_tree - Unflatten the host device tree
  *
@@ -214,14 +204,6 @@ extern const struct dt_device_node *dt_interrupt_controller;
 struct dt_device_node *
 dt_find_interrupt_controller(const struct dt_device_match *matches);
 
-#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
-#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
-#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
-
-/* Default #address and #size cells */
-#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
-#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
-
 #define dt_for_each_property_node(dn, pp)                   \
     for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
 
@@ -231,16 +213,6 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
 #define dt_for_each_child_node(dt, dn)                      \
     for ( dn = (dt)->child; (dn) != NULL; dn = (dn)->sibling )
 
-/* Helper to read a big number; size is in cells (not bytes) */
-static inline u64 dt_read_number(const __be32 *cell, int size)
-{
-    u64 r = 0;
-
-    while ( size-- )
-        r = (r << 32) | be32_to_cpu(*(cell++));
-    return r;
-}
-
 /* Wrapper for dt_read_number() to return paddr_t (instead of uint64_t) */
 static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
 {
@@ -268,26 +240,6 @@ static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
     return r;
 }
 
-/* Helper to convert a number of cells to bytes */
-static inline int dt_cells_to_size(int size)
-{
-    return (size * sizeof (u32));
-}
-
-/* Helper to convert a number of bytes to cells, rounds down */
-static inline int dt_size_to_cells(int bytes)
-{
-    return (bytes / sizeof(u32));
-}
-
-static inline u64 dt_next_cell(int s, const __be32 **cellp)
-{
-    const __be32 *p = *cellp;
-
-    *cellp = p + s;
-    return dt_read_number(p, s);
-}
-
 static inline const char *dt_node_full_name(const struct dt_device_node *np)
 {
     return (np && np->full_name) ? np->full_name : "<no-node>";
diff --git a/xen/include/xen/fdt.h b/xen/include/xen/fdt.h
new file mode 100644
index 0000000000..00ae6a5c8b
--- /dev/null
+++ b/xen/include/xen/fdt.h
@@ -0,0 +1,79 @@
+/*
+ * Flattened Device Tree
+ *
+ * Copyright (C) 2012 Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __XEN_FDT_H__
+#define __XEN_FDT_H__
+
+#include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/types.h>
+
+#define DEVICE_TREE_MAX_DEPTH 16
+
+/* Default #address and #size cells */
+#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
+#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
+
+#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
+#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
+#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
+
+/* Helper to read a big number; size is in cells (not bytes) */
+static inline u64 dt_read_number(const __be32 *cell, int size)
+{
+    u64 r = 0;
+
+    while ( size-- )
+        r = (r << 32) | be32_to_cpu(*(cell++));
+    return r;
+}
+
+/* Helper to convert a number of cells to bytes */
+static inline int dt_cells_to_size(int size)
+{
+    return (size * sizeof (u32));
+}
+
+/* Helper to convert a number of bytes to cells, rounds down */
+static inline int dt_size_to_cells(int bytes)
+{
+    return (bytes / sizeof(u32));
+}
+
+static inline u64 dt_next_cell(int s, const __be32 **cellp)
+{
+    const __be32 *p = *cellp;
+
+    *cellp = p + s;
+    return dt_read_number(p, s);
+}
+
+
+bool device_tree_node_matches(
+    const void *fdt, int node, const char *match);
+
+bool device_tree_node_compatible(
+    const void *fdt, int node, const char *match);
+
+void device_tree_get_reg(
+    const __be32 **cell, u32 address_cells, u32 size_cells, u64 *start,
+    u64 *size);
+
+u32 device_tree_get_u32(
+    const void *fdt, int node, const char *prop_name, u32 dflt);
+
+typedef int (*device_tree_node_func)(
+    const void *fdt, int node, const char *name, int depth, u32 address_cells,
+    u32 size_cells, void *data);
+
+int device_tree_for_each_node(
+    const void *fdt, int node, device_tree_node_func func, void *data);
+
+
+#endif /* __XEN_FDT_H__ */
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:45:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576267.902208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWla-0005h3-Om; Thu, 03 Aug 2023 11:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576267.902208; Thu, 03 Aug 2023 11: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 1qRWla-0005gw-KF; Thu, 03 Aug 2023 11:45:18 +0000
Received: by outflank-mailman (input) for mailman id 576267;
 Thu, 03 Aug 2023 11:45:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KRpN=DU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRWlZ-0005gq-4K
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:45:17 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e88::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34f57335-31f3-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 13:45:14 +0200 (CEST)
Received: from MW4PR04CA0143.namprd04.prod.outlook.com (2603:10b6:303:84::28)
 by PH0PR12MB8822.namprd12.prod.outlook.com (2603:10b6:510:28d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 11:45:10 +0000
Received: from CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:84:cafe::94) by MW4PR04CA0143.outlook.office365.com
 (2603:10b6:303:84::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend
 Transport; Thu, 3 Aug 2023 11:45:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT097.mail.protection.outlook.com (10.13.175.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6631.39 via Frontend Transport; Thu, 3 Aug 2023 11:45: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.27; Thu, 3 Aug
 2023 06:45:08 -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.27; Thu, 3 Aug
 2023 06:45:08 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 3 Aug 2023 06:45: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: 34f57335-31f3-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ecLJks8nZLCKArJCOHq2ujcIQLhnw+8cFrvryAwSr/B/gKbpVrTQzv5xmcPfO14G/B93c/9D688ravyY1ryO1PedAfeiRIZ9inviJTbA0u37F7rxuvMpqkh5mhtt84G6l1LKmVNFa8forqSq+S5M9XNkrTO+xHQowQWXWZu/j0iaBfD1V7p9PPVKOZ21kraypZrnZKT5Ys6KnTS8kf3u9LDZxxNwBXs4d6D16RJkRlZndLJeIZuDZlFi1F3dAGDSg/fzeYPbnpIIpzAjfgQnAlbHV2cVeDeHsTiNpZzx9xjtSAIPHZFLMYCfuZL94Kvb2+kht2pUUEswzlB1D2fShw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4jFaJzUg551tZWmkn3AOVmjvfu748N+LQ5EQgCqAtsQ=;
 b=VBiWt1ahoJEM9R6HA2U0OcuXSwdIhDNAiwMhoXnvs0Vf/jXhUPFqLDxTNXn68lUE3c/c0wStmxm0O6M0OWlbYNsAgw1t+8eZJPUkGj1rLcemzdGRycY7lHyqX7nMng8G5O9aa5Fdj6GtQruk8qWg421/SXOwIZu7p+f6SXlxV/TWu1568h0aUFYseGK3DcVDwahS2nvmsvGwQeuM9XbNHUXZjkZkCTkWOtAw+nBDtu42qE1EmgkRVPCVxEwmxzNRGE1i/0xnJdHBKB8W363ulqM1yR0wJbFU34NDQxSdpTV4hiaD/VxgRCPmYYjpfNuCa4TEkuV/fpDj0i6wo7lIJg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4jFaJzUg551tZWmkn3AOVmjvfu748N+LQ5EQgCqAtsQ=;
 b=kvLCQS2dlamNBpnwx1kg15fpOK/ziLcUHGO+e8PTsC9tY7i0t8i7g/H1HlbYoESUnOUGNwV8deG1j84fCxs9RNbLsTFxdX0oAEL8Bg597nKRma0dLISNAbceZEtRZyqWGpG7RmG5fQAaB/kxP7bWB2u4BaV9Xb5Mr2ahVF2xuKM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
Date: Thu, 3 Aug 2023 13:45:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230803104438.24720-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT097:EE_|PH0PR12MB8822:EE_
X-MS-Office365-Filtering-Correlation-Id: d2de6af3-6218-44b8-c458-08db9417174e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4H0DW4atyqqC7Hk65CXdQVC4pWCo3fEZ0CVLlQUJ23wRPjUfqtxwytwjnoiKtpNEceE0Up14Faf9QgwQ5uEohXt8PL3VSX0tGhp05FCmbaPUzjpHm/Lha5NPUwumvep87k11d1txv3RtUscbzUaE+7u2PQW5ioK9tBDFW9d0tfMbWwxZayjpMvw3Ih4H1EWYi8p8dGrIbxHYaeNfxE9/R2ig5C6B7FeHYiWQfFTgQtuS/c3S3J1QpNfCCZrNZ5CNakDcSP8ynBImqV2DonQtUQWBgRCm3sNuLVSyYxQqwywXu58W+HqLyQS4mkoeNhuYVy11W8vbSt2tS3z7sCWcaNqyH93e7MMZj+fMasRojVxNCwChYN8x152wxzBjVs9LgRfeLyHOTAIujMkOPnm1fCllh+kcUyOUuMNx9IytE8P6/+/hTx5yywujqB+e2nLOX6XRTPUB1eJW0uFFgYmnl/rJwX2zyBYZ/33kNOGSSz6osm9o/hUqhzpcNg7DYRUGyFNh+bcubQSg9cMdtTkFTWlHl2pMZ5YBE5WqL/FOaOVH9R7tTaufa5HA1XqQuPRnPX7kOlpsH2X03WiOBy7F6bbdGvn1LT+lsp5PfUWTLpRLbfQnVI20UFYxiwvETlY0kfc3H8obuu0mecGUPFOMEiCOHv+SiTnQhtfyIJEsl8Jc6cCW7wUGMovAhLFhnVdhZ63VYWMP77Fgj+PZkY71SQ5AGA8OM4Bf0DsQ7NG11pMIsLYCKMGl/pCdoMAdyJPeK+x6JTZTlCjDzUbJFFdKTlo0hm6bodSEknlp3cEJjys=
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:(13230028)(4636009)(39860400002)(136003)(346002)(396003)(376002)(82310400008)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(426003)(2616005)(336012)(53546011)(83380400001)(26005)(186003)(47076005)(41300700001)(36860700001)(16576012)(30864003)(70586007)(2906002)(70206006)(4326008)(5660300002)(316002)(44832011)(8676002)(8936002)(15650500001)(966005)(478600001)(54906003)(110136005)(40480700001)(356005)(81166007)(31696002)(86362001)(36756003)(31686004)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 11:45:09.7535
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2de6af3-6218-44b8-c458-08db9417174e
X-MS-Exchange-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:
	CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8822

Hi Daniel,

On 03/08/2023 12:44, Daniel P. Smith wrote:
> 
> 
> With on going development of hyperlaunch, changes to the device tree definitions
> has been necessary. This commit updates the specification for all current changes
> along with changes expected to be made in finalizing the capability.
> 
> This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
> this documentation under its purview. It also reserves the path
> `xen/common/domain-builder` for the hyperlaunch domain builder code base.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  MAINTAINERS                                   |   9 +
>  .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
>  2 files changed, 309 insertions(+), 266 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d8a02a6c19..694412a961 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -332,6 +332,15 @@ M: Nick Rosbrook <rosbrookn@gmail.com>
>  S:     Maintained
>  F:     tools/golang
> 
> +HYPERLAUNCH
> +M:     Daniel P. Smith <dpsmith@apertussolutions.com>
> +M:     Christopher Clark <christopher.w.clark@gmail.com>
> +W:     https://wiki.xenproject.org/wiki/Hyperlaunch
> +S:     Supported
> +F:     docs/design/launch/hyperlaunch.rst
> +F:     docs/design/launch/hyperlaunch-devicetree.rst
> +F:     xen/common/domain-builder/
> +
>  HYPFS
>  M:     Juergen Gross <jgross@suse.com>
>  S:     Supported
> diff --git a/docs/designs/launch/hyperlaunch-devicetree.rst b/docs/designs/launch/hyperlaunch-devicetree.rst
> index b49c98cfbd..0bc719e4ae 100644
> --- a/docs/designs/launch/hyperlaunch-devicetree.rst
> +++ b/docs/designs/launch/hyperlaunch-devicetree.rst
> @@ -2,10 +2,11 @@
>  Xen Hyperlaunch Device Tree Bindings
>  -------------------------------------
> 
> -The Xen Hyperlaunch device tree adopts the dom0less device tree structure and
> -extends it to meet the requirements for the Hyperlaunch capability. The primary
> -difference is the introduction of the ``hypervisor`` node that is under the
> -``/chosen`` node. The move to a dedicated node was driven by:
> +The Xen Hyperlaunch device tree is informed by the dom0less device tree
> +structure with extensions to meet the requirements for the Hyperlaunch
> +capability. A major depature from the dom0less device tree is the introduction
> +of the ``hypervisor`` node that is under the ``/chosen`` node. The move to a
> +dedicated node was driven by:
> 
>  1. Reduces the need to walk over nodes that are not of interest, e.g. only
>     nodes of interest should be in ``/chosen/hypervisor``
> @@ -13,331 +14,364 @@ difference is the introduction of the ``hypervisor`` node that is under the
>  2. Allows for the domain construction information to easily be sanitized by
>     simple removing the ``/chosen/hypervisor`` node.
> 
> -Example Configuration
> ----------------------
> -
> -Below are two example device tree definitions for the hypervisor node. The
> -first is an example of a multiboot-based configuration for x86 and the second
> -is a module-based configuration for Arm.
> -
> -Multiboot x86 Configuration:
> -""""""""""""""""""""""""""""
> -
> -::
> -
> -    hypervisor {
> -        #address-cells = <1>;
> -        #size-cells = <0>;
> -        compatible = â€œhypervisor,xenâ€
> -
> -        // Configuration container
> -        config {
> -            compatible = "xen,config";
> -
> -            module {
> -                compatible = "module,microcode", "multiboot,module";
> -                mb-index = <1>;
> -            };
> -
> -            module {
> -                compatible = "module,xsm-policy", "multiboot,module";
> -                mb-index = <2>;
> -            };
> -        };
> -
> -        // Boot Domain definition
> -        domain {
> -            compatible = "xen,domain";
> -
> -            domid = <0x7FF5>;
> -
> -            // FUNCTION_NONE            (0)
> -            // FUNCTION_BOOT            (1 << 0)
> -            // FUNCTION_CRASH           (1 << 1)
> -            // FUNCTION_CONSOLE         (1 << 2)
> -            // FUNCTION_XENSTORE        (1 << 30)
> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
> -            functions = <0x00000001>;
> -
> -            memory = <0x0 0x20000>;
> -            cpus = <1>;
> -            module {
> -                compatible = "module,kernel", "multiboot,module";
> -                mb-index = <3>;
> -            };
> -
> -            module {
> -                compatible = "module,ramdisk", "multiboot,module";
> -                mb-index = <4>;
> -            };
> -            module {
> -                compatible = "module,config", "multiboot,module";
> -                mb-index = <5>;
> -            };
> -
> -        // Classic Dom0 definition
> -        domain {
> -            compatible = "xen,domain";
> -
> -            domid = <0>;
> -
> -            // PERMISSION_NONE          (0)
> -            // PERMISSION_CONTROL       (1 << 0)
> -            // PERMISSION_HARDWARE      (1 << 1)
> -            permissions = <3>;
> -
> -            // FUNCTION_NONE            (0)
> -            // FUNCTION_BOOT            (1 << 0)
> -            // FUNCTION_CRASH           (1 << 1)
> -            // FUNCTION_CONSOLE         (1 << 2)
> -            // FUNCTION_XENSTORE        (1 << 30)
> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
> -            functions = <0xC0000006>;
> -
> -            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
> -            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
> -            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
> -            mode = <5>; /* 64 BIT, PV */
> -
> -            // UUID
> -            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
> -
> -            cpus = <1>;
> -            memory = <0x0 0x20000>;
> -            security-id = â€œdom0_t;
> -
> -            module {
> -                compatible = "module,kernel", "multiboot,module";
> -                mb-index = <6>;
> -                bootargs = "console=hvc0";
> -            };
> -            module {
> -                compatible = "module,ramdisk", "multiboot,module";
> -                mb-index = <7>;
> -            };
> -    };
> -
> -The multiboot modules supplied when using the above config would be, in order:
> +The Hypervisor node
> +-------------------
> 
> -* (the above config, compiled)
> -* CPU microcode
> -* XSM policy
> -* kernel for boot domain
> -* ramdisk for boot domain
> -* boot domain configuration file
> -* kernel for the classic dom0 domain
> -* ramdisk for the classic dom0 domain
> +The ``hypervisor`` node is a top level container for all information relating
> +to how the hyperlaunch is to proceed. This includes definitions of the domains
> +that will be built by hypervisor on start up. The node will be named
> +``hypervisor``  with a ``compatible`` property to identify which hypervisors
> +the configuration is intended. The hypervisor node will consist of one or more
> +config nodes and one or more domain nodes.
> 
> -Module Arm Configuration:
> -"""""""""""""""""""""""""
> +Properties
> +""""""""""
> 
> -::
> +compatible
> +  Identifies which hypervisors the configuration is compatible. Required.
> 
> -    hypervisor {
> -        compatible = â€œhypervisor,xenâ€
> +  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
> 
> -        // Configuration container
> -        config {
> -            compatible = "xen,config";
> +Child Nodes
> +"""""""""""
> 
> -            module {
> -                compatible = "module,microcodeâ€;
> -                module-addr = <0x0000ff00 0x80>;
> -            };
> +* config
> +* domain
> 
> -            module {
> -                compatible = "module,xsm-policy";
> -                module-addr = <0x0000ff00 0x80>;
> +Config Node
> +-----------
> 
> -            };
> -        };
> +A ``config`` node is for passing configuration data and identifying any boot
> +modules that is of interest to the hypervisor.  For example this would be where
> +Xen would be informed of microcode or XSM policy locations. Each ``config``
> +node will require a unique device-tree compliant name as there may be one or
> +more ``config`` nodes present in a single dtb file. To identify which
> +hypervisor the configuration is intended, the required ``compatible`` property
> +must be present.
> 
> -        // Boot Domain definition
> -        domain {
> -            compatible = "xen,domain";
> -
> -            domid = <0x7FF5>;
> -
> -            // FUNCTION_NONE            (0)
> -            // FUNCTION_BOOT            (1 << 0)
> -            // FUNCTION_CRASH           (1 << 1)
> -            // FUNCTION_CONSOLE         (1 << 2)
> -            // FUNCTION_XENSTORE        (1 << 30)
> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
> -            functions = <0x00000001>;
> -
> -            memory = <0x0 0x20000>;
> -            cpus = <1>;
> -            module {
> -                compatible = "module,kernel";
> -                module-addr = <0x0000ff00 0x80>;
> -            };
> +While the config node is not meant to replace the hypervisor commandline, there
> +may be cases where it is better suited for passing configuration details at
> +boot time.  This additional information may be carried in properties assigned
> +to a ``config`` node. If there are any boot modules that are intended for the
> +hypervisor, then a ``module`` child node should be provided to identify the
> +boot module.
> 
> -            module {
> -                compatible = "module,ramdisk";
> -                module-addr = <0x0000ff00 0x80>;
> -            };
> -            module {
> -                compatible = "module,config";
> -                module-addr = <0x0000ff00 0x80>;
> -            };
> +Properties
> +""""""""""
> 
> -        // Classic Dom0 definition
> -        domain@0 {
> -            compatible = "xen,domain";
> -
> -            domid = <0>;
> -
> -            // PERMISSION_NONE          (0)
> -            // PERMISSION_CONTROL       (1 << 0)
> -            // PERMISSION_HARDWARE      (1 << 1)
> -            permissions = <3>;
> -
> -            // FUNCTION_NONE            (0)
> -            // FUNCTION_BOOT            (1 << 0)
> -            // FUNCTION_CRASH           (1 << 1)
> -            // FUNCTION_CONSOLE         (1 << 2)
> -            // FUNCTION_XENSTORE        (1 << 30)
> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
> -            functions = <0xC0000006>;
> -
> -            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
> -            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
> -            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
> -            mode = <5>; /* 64 BIT, PV */
> -
> -            // UUID
> -            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
> -
> -            cpus = <1>;
> -            memory = <0x0 0x20000>;
> -            security-id = â€œdom0_tâ€;
> -
> -            module {
> -                compatible = "module,kernel";
> -                module-addr = <0x0000ff00 0x80>;
> -                bootargs = "console=hvc0";
> -            };
> -            module {
> -                compatible = "module,ramdisk";
> -                module-addr = <0x0000ff00 0x80>;
> -            };
> -    };
> +compatible
> +  Identifies the hypervisor the confiugration is intended. Required.
> 
> -The modules that would be supplied when using the above config would be:
> +  Format: "<hypervisor name>,config", e.g "xen,config"
> 
> -* (the above config, compiled into hardware tree)
> -* CPU microcode
> -* XSM policy
> -* kernel for boot domain
> -* ramdisk for boot domain
> -* boot domain configuration file
> -* kernel for the classic dom0 domain
> -* ramdisk for the classic dom0 domain
> +bootargs
> +  This is used to provide the boot params for Xen.
> 
> -The hypervisor device tree would be compiled into the hardware device tree and
> -provided to Xen using the standard method currently in use. The remaining
> -modules would need to be loaded in the respective addresses specified in the
> -`module-addr` property.
> +  Format: String, e.g. "flask=silo"
> 
> +Child Nodes
> +"""""""""""
> 
> -The Hypervisor node
> --------------------
> +* module
> 
> -The hypervisor node is a top level container for the domains that will be built
> -by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
> -property is used to identify the type of hypervisor node present..
> +Domain Node
> +-----------
> 
> -compatible
> -  Identifies the type of node. Required.
> +A ``domain`` node is for describing the construction of a domain. Since there
> +may be one or more domain nodes, each one requires a unique, DTB compliant name
> +and a ``compatible`` property to identify as a domain node.
> 
> -The Config node
> ----------------
> +A ``domain`` node  may provide a ``domid`` property which will be used as the
> +requested domain id for the domain with a value of â€œ0â€ signifying to use the
> +next available domain id, which is the default behavior if omitted. It should
> +be noted that a domain configuration is not able to request a domid of â€œ0â€.
> +Beyond that, a domain node may have any of the following optional properties.
> 
> -A config node is for detailing any modules that are of interest to Xen itself.
> -For example this would be where Xen would be informed of microcode or XSM
> -policy locations. If the modules are multiboot modules and are able to be
> -located by index within the module chain, the ``mb-index`` property should be
> -used to specify the index in the multiboot module chain.. If the module will be
> -located by physical memory address, then the ``module-addr`` property should be
> -used to identify the location and size of the module.
> +Properties
> +""""""""""
> 
>  compatible
> -  Identifies the type of node. Required.
> -
> -The Domain node
> ----------------
> +  Identifies the node as a domain node and for which hypervisor. Required.
> 
> -A domain node is for describing the construction of a domain. It may provide a
> -domid property which will be used as the requested domain id for the domain
> -with a value of â€œ0â€ signifying to use the next available domain id, which is
> -the default behavior if omitted. A domain configuration is not able to request
> -a domid of â€œ0â€. After that a domain node may have any of the following
> -parameters,
> -
> -compatible
> -  Identifies the type of node. Required.
> +  Format: "<hypervisor name>,domain", e.g "xen,domain"
> 
>  domid
> -  Identifies the domid requested to assign to the domain. Required.
> +  Identifies the domid requested to assign to the domain.
> 
> -permissions
> +  Format: Integer, e.g <0>
> +
> +role
>    This sets what Discretionary Access Control permissions
>    a domain is assigned. Optional, default is none.
> 
> -functions
> -  This identifies what system functions a domain will fulfill.
> +  Format: Bitfield, e.g <3> or <0x00000003>
> +
> +          ROLE_NONE                (0)
> +          ROLE_UNBOUNDED_DOMAIN    (1U<<0)
> +          ROLE_CONTROL_DOMAIN      (1U<<1)
> +          ROLE_HARDWARE_DOMAIN     (1U<<2)
> +          ROLE_XENSTORE_DOMAIN     (1U<<3)
> +
> +capability
> +  This identifies what system capabilities a domain may have beyond the role it
> +  was assigned.
>    Optional, the default is none.
> 
> -.. note::  The `functions` bits that have been selected to indicate
> -   ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two bits
> -   (30, 31) such that should these features ever be fully retired, the flags may
> -   be dropped without leaving a gap in the flag set.
> +  Format: Bitfield, e.g <3221225487> or <0xC0000007>
> +
> +          CAP_NONE            (0)
> +          CAP_CONSOLE_IO      (1U<<0)
> 
>  mode
>    The mode the domain will be executed under. Required.
> 
> +  Format: Bitfield, e.g <5> or <0x00000005>
> +
> +          MODE_PARAVIRTUALIZED     (1 << 0) PV | PVH/HVM
> +          MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
> +          MODE_LONG                (1 << 2) 64 BIT | 32 BIT
> +
>  domain-uuid
>    A globally unique identifier for the domain. Optional,
>    the default is NULL.
> 
> +  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
> +
>  cpus
>    The number of vCPUs to be assigned to the domain. Optional,
>    the default is â€œ1â€.
> 
> +  Format: Integer, e.g <0>
> +
>  memory
> -  The amount of memory to assign to the domain, in KBs.
> +  The amount of memory to assign to the domain, in KBs. This field uses a DTB
> +  Reg which contains a start and size. For memory allocation start may or may
> +  not have significance but size will always be used for the amount of memory
>    Required.
> 
> +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
There is a mismatch between the description and above format:
- KB vs MB
- string vs reg format
- the x86 example uses string and Arm uses reg format

> +
>  security-id
>    The security identity to be assigned to the domain when XSM
>    is the access control mechanism being used. Optional,
> -  the default is â€œdomu_tâ€.
> +  the default is â€œsystem_u:system_r:domU_tâ€.
> +
> +  Format: string, e.g. "system_u:system_r:domU_t"
This is specifying full label (as expected) whereas the examples use only type

> +
> +Child Nodes
> +"""""""""""
> +
> +* module
> +
> +Module node
> +-----------
> 
> -The Module node
> ----------------
> +This node describes a boot module loaded by the boot loader. A ``module`` node
> +will often appear repeatedly and will require a unique and DTB compliant name
> +for each instance. The compatible property is required to identify that the
> +node is a ``module`` node, the type of boot module, and what it represents.
> 
> -This node describes a boot module loaded by the boot loader. The required
> -compatible property follows the format: module,<type> where type can be
> -â€œkernelâ€, â€œramdiskâ€, â€œdevice-treeâ€, â€œmicrocodeâ€, â€œxsm-policyâ€ or â€œconfigâ€. In
> -the case the module is a multiboot module, the additional property string
> -â€œmultiboot,moduleâ€ may be present. One of two properties is required and
> -identifies how to locate the module. They are the mb-index, used for multiboot
> -modules, and the module-addr for memory address based location.
> +Depending on the type of boot module, the ``module`` node will require either a
> +``module-index`` or ``module-addr`` property must be present. They provide the
> +boot module specific way of locating the boot module in memory.
> +
> +Properties
> +""""""""""
> 
>  compatible
>    This identifies what the module is and thus what the hypervisor
>    should use the module for during domain construction. Required.
> 
> -mb-index
> -  This identifies the index for this module in the multiboot module chain.
> +  Format: "module,<module type>"[, "module,<locating type>"]
> +          module type: kernel, ramdisk, device-tree, microcode, xsm-policy,
> +                       config
> +
> +          locating type: index, addr
> +
> +module-index
> +  This identifies the index for this module when in a module chain.
>    Required for multiboot environments.
> 
> +  Format: Integer, e.g. <0>
> +
>  module-addr
>    This identifies where in memory this module is located. Required for
>    non-multiboot environments.
> 
> +  Format: DTB Reg <start size>, e.g. <0x0 0x20000>
I guess the number of cells for start and size will be taken from #address-celss and #size-cells
defined either in /chosen or a config/domain node?

Also, what is the plan for the existing dom0less dt properties?
Will they need to be moved to new /hypervisor node or we will have to parse both /chosen and /hypervisor nodes?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:46:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576269.902218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWmL-0006Bz-1w; Thu, 03 Aug 2023 11:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576269.902218; Thu, 03 Aug 2023 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 1qRWmK-0006Bs-Ve; Thu, 03 Aug 2023 11:46:04 +0000
Received: by outflank-mailman (input) for mailman id 576269;
 Thu, 03 Aug 2023 11:46: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 1qRWmK-0006Bk-8k
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:46: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 1qRWmJ-0004sS-0D; Thu, 03 Aug 2023 11:46:03 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRWmI-0002Wq-Pr; Thu, 03 Aug 2023 11:46: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=K/7UeQonLHoBscJp+e7PzRWE6gJnQ00GyYTSin8KOh0=; b=qarq0bVoQOGk0QzSg33fz5sZ99
	+fP2gVk9gfzxHefcGVMgIMcXgpcWloV6kOsACRVbqDxoRkAzL2XBAZO0T/QsEg0TbOMthoHPCC5Of
	6NOIxCTfeMSNiN49aggtMyMbw7iHbRV8JmDnF06M5b006hyGtqGPTHz0CrxFBgmWYhbQ=;
Message-ID: <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
Date: Thu, 3 Aug 2023 12:46:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 03/08/2023 11:28, Luca Fancellu wrote:
>> On 3 Aug 2023, at 09:26, Federico Serafini <federico.serafini@bugseng.com> wrote:
>>
>> Add missing parameter names to address violation of MISRA C:2012
>> rule 8.2 ("Function types shall be in prototype form with named
>> parameters").
>>
>> No functional changes.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>> Changes in v2:
>>   - memset() adjusted.
>> ---
>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>
>> diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
>> index b4d2217a96..e91e3112e0 100644
>> --- a/xen/include/xen/string.h
>> +++ b/xen/include/xen/string.h
>> @@ -12,27 +12,27 @@
>> #define strncpy __xen_has_no_strncpy__
>> #define strncat __xen_has_no_strncat__
>>
>> -size_t strlcpy(char *, const char *, size_t);
>> -size_t strlcat(char *, const char *, size_t);
>> -int strcmp(const char *, const char *);
>> -int strncmp(const char *, const char *, size_t);
>> -int strcasecmp(const char *, const char *);
>> -int strncasecmp(const char *, const char *, size_t);
>> -char *strchr(const char *, int);
>> -char *strrchr(const char *, int);
>> -char *strstr(const char *, const char *);
>> -size_t strlen(const char *);
>> -size_t strnlen(const char *, size_t);
>> -char *strpbrk(const char *, const char *);
>> -char *strsep(char **, const char *);
>> -size_t strspn(const char *, const char *);
>> -
>> -void *memset(void *, int, size_t);
>> -void *memcpy(void *, const void *, size_t);
>> -void *memmove(void *, const void *, size_t);
>> -int memcmp(const void *, const void *, size_t);
>> -void *memchr(const void *, int, size_t);
>> -void *memchr_inv(const void *, int, size_t);
>> +size_t strlcpy(char *dest, const char *src, size_t size);
>> +size_t strlcat(char *dest, const char *src, size_t size);
>> +int strcmp(const char *cs, const char *ct);
>> +int strncmp(const char *cs, const char *ct, size_t count);
>> +int strcasecmp(const char *s1, const char *s2);
>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>> +char *strchr(const char *s, int c);
>> +char *strrchr(const char *s, int c);
>> +char *strstr(const char *s1, const char *s2);
>> +size_t strlen(const char *s);
>> +size_t strnlen(const char *s, size_t count);
>> +char *strpbrk(const char *cs, const char *ct);
>> +char *strsep(char **s, const char *ct);
>> +size_t strspn(const char *s, const char *accept);
>> +
>> +void *memset(void *s, int c, size_t count);
>> +void *memcpy(void *dest, const void *src, size_t count);
> 
> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
> 
>> +void *memmove(void *dest, const void *src, size_t count);
> 
> There is a comment in arch/arm/rm32/lib/memmove.S with this:
>   * Prototype: void *memmove(void *dest, const void *src, size_t n);
> 
>> +int memcmp(const void *cs, const void *ct, size_t count);
>> +void *memchr(const void *s, int c, size_t n);
>> +void *memchr_inv(const void *s, int c, size_t n);
> 
> @Stefano: would it make sense to remove it as part of this patch or maybe not?

They are a verbatim copy of the Linux code. So I would rather no touch it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576274.902228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWnU-0006pE-Hr; Thu, 03 Aug 2023 11:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576274.902228; Thu, 03 Aug 2023 11:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWnU-0006p7-Ek; Thu, 03 Aug 2023 11:47:16 +0000
Received: by outflank-mailman (input) for mailman id 576274;
 Thu, 03 Aug 2023 11:47: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRWnT-0006ox-Dm
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:47:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2041.outbound.protection.outlook.com [40.107.7.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d4bf67e-31f3-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 13:47:14 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7214.eurprd04.prod.outlook.com (2603:10a6:800:1a6::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 11:46:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 11:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d4bf67e-31f3-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z0EbneWhDqO8Y3Ja3Z0VNLIpnOD5Yp/gUHt9lbI5+EI6tJS6bnO55IyugVFrCtevPDNYOYV0FrIBg6/3+ZbIgH9bJur2WvBZtvMleSfh/O8alaultkuHk8SG0wZqmsUSFwV4lPh2+KfqEkI/fmcFk0QcM+Yhe5Ndm3hPmFXfyLfFi39olOVt8PDtxESbBGvlYoQiWLxCl7g/WrBCQmT/1YVHFG+MdwRVCfhFx6V8OnCG1Eg1oNJjGhaepHnmVXCQhDMIVp/7tHbtslKxKhMHvJjj52UPbC5GljTpfFUqpWd3c7+hUblkxQ9h256XnGhC1So7bbOx8tz8p9au2U89CA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NYY449ATC3SaIKZ4g81JfOqzjstBdmRXd8vP3FsgYLU=;
 b=NnQ3d+wswwprSlqJV2Zs7JUKxUY+4BXwxqSW9qmf9bNhPEnT+gxzoVYWNzKVn1qmtNnCVGoEqaH3OlvVYPxIMWBSyA9Rk7Tc0XtWuNos7U5OY7rdmFjTab2dUIGz3NLm7cA2ArKbeRmZ3+jt3vIBtROuLg3TEadA/Tvj2XvJA2A2DpY8+ujWF9RBSCQ7iznI/1Qr2YfhO4a36QoW5gWRk1lCdnNIjVHSWEceBEqsinP3UgRgqMseYz/16W76Lmgxr9LPJncj9pwFUxf/UoHhG1RqMrORlaGEr/vJ4phTJjxXJlCIQMhP3Q/RObmrH3/PTMDSAQxF/afo5JkMrjTerA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NYY449ATC3SaIKZ4g81JfOqzjstBdmRXd8vP3FsgYLU=;
 b=Y/5fT8QYc84lhWZ3vhv/jvvncQad6Fvx6ZP5P/pJXWMo3FpzDMoeQdyakutZ4hJPk8cO03cNbnmywup37WsexABoRmtAyerC4yQxIPXlKFPv9xiIch/13105jtblekXdTk1Z7qAViG+KCnvx37RFJBJn1doQYMCXt3QCWmUEeLD7jS72pyolj1j/3letKi0SG28mx8OLq+gkw7bk8u3Rza44y6aB8VyOn979GvG4cVuF/JsJrOyEEZOE/p4zOF/+24hOoxJbM84HnXrtQ2Y0aU9DTjbVxKb1EIr4qGOb7S07BwNIELrJIQA66GFnoorRWKSARpqmaa//d3k3KkPo/Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <97527049-e3ac-9d8e-806c-2204ed7f68dd@suse.com>
Date: Thu, 3 Aug 2023 13:46:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Ping: [PATCH] x86/HVM: drop dead assignments from
 hvmemul_rep_{movs,stos}()
Content-Language: en-US
To: Paul Durrant <paul@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <32e33a0b-d572-ea7f-b1a8-3263711582e5@suse.com>
 <alpine.DEB.2.22.394.2307271141500.3118466@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2307271141500.3118466@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7214:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d941830-8c41-479c-8e23-08db94174fa4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n6K7uTpl9UPLOZaF/mUX0kNNOXGa35VpVNstLNJb0t/Ef/iYnD6MfPmaleuXhC1k2hipKtXKEbcLECEkvQi+FfZp4V8euWHTz8X7zoNIiaaCBrzx0xc4f1ZypbUbSeeTQSGgJEU4BwIOwvWfW4HpBq0o5YjeWLVoyXxkt1l7DSXPzCMFMlfW1L8LL+97ZnnMqJ0UkxUcKOpkFDIXL+MQzvDNg15ruEadgICHR0zav0qFmAH7yRzmNnT7m9CCLJ58EShyztGkq3jUZxHMjY0WQLsGZOw1PwZwioygKcb+1qSx5zWvXs2S581Dx1lEdY9I/H0yV22/gJkjs3pcU8ld0TqkH4jmApA0pEusz3dG6gCa1C6D0a+jf19a93OZM/9qh+4B9Y1SjeGwQewgbnZ2qYBLJEMfYWzwkuCjChOx91lGArsSQqMyT37qXK8LLcTb+1OSCqGwhT48dTUlr335GZSapy2RvDb4ndPJVlEX4ileHedQ8u+jVd3wfQq2CSwcPPgQEoX2lsx10apm+51Jp086t26FA/oQD3+mgMJtno/mkvPmSoZjwxL6wF3a5OYkzPOwiecJCvRVDWHyVL3FdUmr+rjHyQRmxByeem2xuhSKUmYStHE1dmc0Dn6kyRuEMTn2NcVqBTH9W1OvDEqQwA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(396003)(136003)(451199021)(36756003)(31696002)(86362001)(31686004)(54906003)(478600001)(38100700002)(2616005)(6506007)(186003)(26005)(53546011)(8676002)(8936002)(41300700001)(6512007)(6486002)(6916009)(316002)(4744005)(66476007)(66556008)(5660300002)(4326008)(66946007)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VkdocHVJeWo3ZU9YTzBtM25vc2wrUitHdXNxMUU2SVViVnBaYXl2ZkdjNGhI?=
 =?utf-8?B?MEQwUENHc2lFY0h1eVRVVnNCU0hZdEFaTThpY01FVXlnOHNjWUorY1dFdjhw?=
 =?utf-8?B?NTVSdmVOUUhoTms4VWJveEtNdGthdXZHeFQxeWQyakkyb2Q4S2dyOWE3WjB3?=
 =?utf-8?B?Rlh1KzRLQmR1U1p1ZEZpZ0xIUStPaVdxbDcvVFo3YnVqNEUxcmdPejFwdDVy?=
 =?utf-8?B?SXA4Rkl2aDBOam9JbzhLMHdwQ2hVVUxuaU5IVk9ucEVRdXdwUGdveFg0c1Jy?=
 =?utf-8?B?SkFrYitFRzVieGZaam5sa2tlOEhmZjFWaTNKNG1PWjZyUG5NTEs0djJDOFFn?=
 =?utf-8?B?ZEdEWlEydUhmdjNFMStiSVpzZDRUMElINS9lQU91QmhQRW54aUFHajNqVll5?=
 =?utf-8?B?QzllRE5RYXhtcnBXbGtqNUlpdldBa2dXdWlNT0NOS0NqVDRaRUFtZ0lZU1J3?=
 =?utf-8?B?MjJ0SkxEbnN6NzRiTlRUU2xJM1VkUlVueVh0S2JGQTZKbzEvNit2d2t6Q0pT?=
 =?utf-8?B?b1JpNE91N20rVlNBb2kwRFFPckduZjhRdlBKUmlqN0dNTG5tbDA5amJsanNm?=
 =?utf-8?B?MmhlMURQT3E3YmEzeVl6T0dYSnh6MjE3SStNdDlUUU9rTVd0dkllOGN6aTky?=
 =?utf-8?B?eXZlNUNCVXhlaXUxcGFreitXK3NuSmwwblZ0dktLanlPVXBmdUZ5TTVSR1kx?=
 =?utf-8?B?YVdmK1Nidm9KQS9uaEx6MDJ0RmxIY0RXN25nS1pRM0hTdnVCZldVL0kyY1NN?=
 =?utf-8?B?TmJLckJiaG42Mnh5d2U2QU1hU3EvcldCalZoWGZNVkdwZC8vWHRxeU5CMUp5?=
 =?utf-8?B?SEl3UDd2UzZ4WitvZGJEa2IyZitDM3hoSU1vV213ZnREWGdvcFJzY3Q2VDJP?=
 =?utf-8?B?WDZvbzd0WndWQXI5b1UvR3VKZTBNbDZHaTMzYmcwZ2tLTFdXaEp2RXNxSjQ0?=
 =?utf-8?B?aEdGdS9PTURndWF0SnlqU0xNcHhoU0xwaXpmenRRN0s2ZDlmRFd3QzlGSWVu?=
 =?utf-8?B?d05Ca1AyY0RtOXIyc3U3K2dlNmdDdUlsRmxRckdlWTdYd2RVM1JHUDU2ai8r?=
 =?utf-8?B?SHhzMWlCNDJha0ZMUjdWSVFUWUE2TUl0K2I1TEt2dmNmTFRRSWl4eFdOVDdv?=
 =?utf-8?B?S0tsbUl0elJxRDhkeG8ydnhOR3BqTkVUMXRUNU5VQjMyWE5LbmRhalA3cWxq?=
 =?utf-8?B?QlozdnNVOWVoWmwvMlc1RklTcjN1TjJ3cm9BMThtMTV4cSt4dzVVMjJ5dytE?=
 =?utf-8?B?bWlTTlNOTmc4bWsvTkF3QVpBNExvdEs0THJocDJpcEwzcDc2eDVxUjMyOU83?=
 =?utf-8?B?KzVXcEtwTjhBazJGRlNVdWtVTUNxUWlPbkhYNWQzVGZDcmpoOGZpdmF3Q29U?=
 =?utf-8?B?WlptcktDb21wazZZNFRsK2tLdU40UWFhblg0NnBLNTk1MFE0RjQ3VkgrbjNl?=
 =?utf-8?B?VG4wb1FGdG5BelJsQ05FL3JSVWN3TGRGTGh3bE5Ob3A2MGZScGpmb2FEZXRK?=
 =?utf-8?B?b2g2RjdKOUEvcm5yRFkvNlE3dWkvWVE5cjZpdjZweDErM1Q0RHVyeEZteUNF?=
 =?utf-8?B?alJ3VjZORHpZQnZVU1ZKQmNKK01HN09GNGQxaXAvQURCNHovVU5zY0IvSysz?=
 =?utf-8?B?TTZmdHJpV1JGeE16UWd2TEdzYi9kMHhoT3F1TElNRHh1MkVIU09FbTBhZWdp?=
 =?utf-8?B?aGpZZ0ZBWTJLSEYxMjcxOUd6cVRvRjdyVllQYmtNY25KN0FaVHRsTHp5dnFY?=
 =?utf-8?B?QVpJN1ZHT1lsUUVBc2xSazZyN1d4R01ydHBkZGZJMXcwYUs2NEZwOU5RVFgw?=
 =?utf-8?B?eUVxaERjM2hZL3R1b3pnYTZGM1dFeEFwSnlsU0VjUWUzaTEwQ1BFOWs1SVg4?=
 =?utf-8?B?OXhCV21aZ2wrME5CaFlZUFNTb3pSNFduL1dSYUZxcXQyN3E2TmNYNE5mTmIv?=
 =?utf-8?B?TU5PdG05bFR3TXN1TXNSd1kxYlMwT2dMTE9Db3haYzIvblZZelI5VndyY1pQ?=
 =?utf-8?B?YS83WXdBQjZpaW9vVnBNb3BTSHBnOVl0Y0MyeWFwTTNvUWV0Mmw4ZHNNSStB?=
 =?utf-8?B?S3BqNXRFZ0tIWXg3aUNPZElsWTNHK0o0dDYvTW4zVFpCczVycWUvNjNDdWxK?=
 =?utf-8?Q?N1CIcngQHv8vS6v/lNiMtDB03?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d941830-8c41-479c-8e23-08db94174fa4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 11:46:44.6777
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pv6HHaU6OtmmzwqG8zhvCRPRQPmkpyP8xiCwC+OP+bHg98AuM+SKct0OhweudPdlvEnzYzM8abyI0uY+g0Mjcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7214

On 27.07.2023 20:41, Stefano Stabellini wrote:
> On Thu, 27 Jul 2023, Jan Beulich wrote:
>> In the latter case the variable altogether is then unused and hence gets
>> dropped, eliminating a Misra Rule 5.3 violation. I'm afraid I mistakenly
>> introduced both assignments in 57a57465daaf ("x86/HVM: use available
>> linear->phys translations in REP MOVS/STOS handling"), likely as a
>> result of some re-work on the patch.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Paul - any chance of an ack?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:53:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:53:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576280.902238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWtR-0008Lc-7j; Thu, 03 Aug 2023 11:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576280.902238; Thu, 03 Aug 2023 11:53:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWtR-0008LV-3u; Thu, 03 Aug 2023 11:53:25 +0000
Received: by outflank-mailman (input) for mailman id 576280;
 Thu, 03 Aug 2023 11:53: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRWtP-0008LP-Qt
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:53:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 574d587a-31f4-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 13:53:20 +0200 (CEST)
Received: from DB7PR05CA0022.eurprd05.prod.outlook.com (2603:10a6:10:36::35)
 by AS8PR08MB9020.eurprd08.prod.outlook.com (2603:10a6:20b:5c0::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 11:53:17 +0000
Received: from DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::b9) by DB7PR05CA0022.outlook.office365.com
 (2603:10a6:10:36::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 11:53:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT028.mail.protection.outlook.com (100.127.142.236) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Thu, 3 Aug 2023 11:53:16 +0000
Received: ("Tessian outbound d7adc65d10b4:v145");
 Thu, 03 Aug 2023 11:53:16 +0000
Received: from e434bc8d1354.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2B5327BC-9E21-44B9-BD14-C39F036650B0.1; 
 Thu, 03 Aug 2023 11:52:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e434bc8d1354.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 11:52:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB6133.eurprd08.prod.outlook.com (2603:10a6:20b:298::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 11:52:34 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 11:52:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 574d587a-31f4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wOgLIG2ymWt56P5HO3TD91hHwe6zt9JbXfvELR5x7gg=;
 b=6h/tgrMRY1qtZaNmaReyIq8sezZruk6VW8zOpjIbPtk7ntBdo4nrYUE/duj6YhS6d3dMPlapSXhdqzEdJnpnrJWE0WGGyCQrL6VKCYlQWh6HdEm0/pscXOMtdGiQB6AXtgzxXShknpmTONGgp8uXlMfG9iqUO4WTSLxU5PmKFgw=
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: 12ca26ff7673410d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MtQ1qgFMZy4l3pIJITyJaUAIEI5Wu2M0l9gWOODnTCPI0prIe+JXiBo/cwKzAP7pmQQDukLE3VheK4CjtTyQP5ID22ObHLlZwPWbbyoLh0NZUwpc5onlI2EX/X8PuQCx+WY5Ov3NfOK0OChmaHYCeVRnG7tHbpYixXGWRAJxlhv5kmgopsfwGzEok1IMfOatE5mVkpFnvIMPMECzgAI3OZnNo7AbQsVK/J/U/M4GGHfKIFT+yqonc0dHMLgkSKAm7d2DBXFHJ55XYy7UUS2zrWOn9xEB1SmI2D5XSQYF3sd48gQm8rYa2CXUVjTw7ZB5KdYAK9MPhsZgRj7ccw/DLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wOgLIG2ymWt56P5HO3TD91hHwe6zt9JbXfvELR5x7gg=;
 b=NsuJ1qcCW0kdK0PTO8z9sXB21AsepAIAN+DrJgGWlpOy9N7mD75Vgt04fZA10Nn1sAOp3oMuNQcnZRWg17l3idi0uWbxD5RITjp3+e0mO9w1e+IVC7ScVX4LDtrQRs5qmzEedfmtqRF9gTRvnB6Fnj0M3ZhklDoEIMYsVNsneKgnCfsTvVhAkYXyT0KkhLncNcR3qReRmCbcX9rxpJwvaoXdzU/SrEY1wZOQR75zZepUPgOyq0Kl5eh3m3roGeDiNWzlwQ+LCWe8SzJ4GFk3bhO2UjB4ARGrS+p57wyJ6LuUAWFsXFXSsev2XyAUKGwS2HAXWdckz38nEfVFbN1thg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=wOgLIG2ymWt56P5HO3TD91hHwe6zt9JbXfvELR5x7gg=;
 b=6h/tgrMRY1qtZaNmaReyIq8sezZruk6VW8zOpjIbPtk7ntBdo4nrYUE/duj6YhS6d3dMPlapSXhdqzEdJnpnrJWE0WGGyCQrL6VKCYlQWh6HdEm0/pscXOMtdGiQB6AXtgzxXShknpmTONGgp8uXlMfG9iqUO4WTSLxU5PmKFgw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Federico Serafini <federico.serafini@bugseng.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, "consulting@bugseng.com"
	<consulting@bugseng.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Thread-Topic: [XEN PATCH v2] xen/string: add missing parameter names
Thread-Index: AQHZxeRL9pSVXV1k9k69k8jE/HqUO6/YXqGAgAAVuwCAAAHJgA==
Date: Thu, 3 Aug 2023 11:52:34 +0000
Message-ID: <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
References:
 <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
 <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
In-Reply-To: <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB6133:EE_|DBAEUR03FT028:EE_|AS8PR08MB9020:EE_
X-MS-Office365-Filtering-Correlation-Id: d8238770-2e36-41d3-b35d-08db9418399e
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:
 OMtRxY3PmtFUk8x/26LsMcgkJMSM3w7wU497EfmkogEalaW0BYSyFh/xrT9nUSrlgkbLdFiageES36a6XI/4H2VRO1JymDbHePWt2sIkrcSXRNsV7/dowh8/nhj+uHl2+xalvY8WZrhxQM1ABXsVrhf88qVEeaID5baaHTgaogaNfnYH8VqUeTwVNY5HN6vjpDkgNR7XvRsei4k4U3Vscq2OBOjR6sFB1lGVcmmv4nDcqUhrBLwJu9UWvS2wT9j0riMeQ61aNe4qC9wtM1Awrw3JMk0UK7AQ2DjvI8jL1tq6oylJlHneXnfbxpmAewjJYVreIlnMa41rt+itDXhcwQBQiMWui4ElgiED+xtNZozwhwVRnsg459/yG+eCG6lqNxIpWgVvzgyoU/nKnPWk/BNd87Yujvv/AZjser+q1V3sHAv+V4VA4goyInzIH1TCuiv9AadU/joJxXD8EKhjH70KD2e6SkfigpclHZC0VR0al4vfgkS96GEFI6THS2RXZS0rR6neaGxcMjZbmtPoibikdEC1nXlfFKVvpiZuOqwP+rN3UtNwAM608bELgIr4bxJNl2/e2Tx9k7KVHKZsxoLKVRLvO51uRmL4KsHsWYI7Jx22EoOWVaJZwuu5Gclaj2Hc9uzepzw3lUqUUSqQtQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(451199021)(2616005)(53546011)(83380400001)(6506007)(26005)(186003)(41300700001)(2906002)(91956017)(66946007)(76116006)(4326008)(64756008)(66446008)(66476007)(66556008)(5660300002)(6916009)(316002)(8676002)(8936002)(6486002)(71200400001)(6512007)(478600001)(54906003)(38100700002)(122000001)(33656002)(86362001)(36756003)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B2177AE1F55BEF46A76F0EE4632FD464@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6133
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4b977345-9476-4407-1f31-08db94182024
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bfOdzeNqtgx1YVnG8JSdp3wbYKMvAhZKLv5QwCe/JyzGaKlVX17XIq7Z56HkuvX/oujWb6Y0kaLqpDvP57EH0EW2q1TYhtFLaekbqZFPzTkl2SrRt5pFkC5Non71T4itUav+wdaaAvU9ZWs+8dEFO8A4SCnLW0+GK2/5JfvQMakHGvWcpvhieE7TGZuPI9M/SpBVozrkmyvEIBVvK4Cp+RLrDDF2WYvjR9jS6/l4PDRZJPoeogFrZRPjDGFE4bT1kNRccEjy7KnC62EKAFeXAdSJqBb5Gmv6fMqfvFJ2cUIyHutb3UJHxz8SftFMaiH9WkkdEP3havmWEy9iUxvP026hgBTiqnc5TNrGUVibDxrdopqE2rT8J4oxO9P7wsPf/F20gDe5dluHIUwZL+syuT9RUcOpGzgrj/UjUd+gjfPior2T4waAGAADZN8nUmNqUjaBPST91wZ3tkiiC9sARs4eANPk7uMFC/YGnLcLiZCTKGiiWQpU1cVCy+Hljm5VpCMbKU/r6a6Kxm7e8urbg0EOuuDr2YGRivovUOE/M0BLO4Z/C7v4EtFu1h4cr2ktIcOA2U1NUBaXoV7SXbYHp2gNJk+P1WUPpPzirSGoQdEKU4WjOUMhp9fZGT97pbr/wDuznC/mieslY/QpNy7BKhfNFD9qhmYDR3axJJNoqxfn2HOjgVFxx0W4TNjpk408V/e8bkzlZ5hezgO0jIXtb9NB8861EptZXLtG8rDGOAEHonqHOfIqhdCogfIMIHAx
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(36756003)(86362001)(33656002)(82740400003)(40460700003)(40480700001)(54906003)(478600001)(356005)(81166007)(47076005)(2616005)(6506007)(336012)(186003)(26005)(83380400001)(53546011)(8676002)(8936002)(6862004)(41300700001)(6512007)(6486002)(316002)(36860700001)(5660300002)(4326008)(70586007)(2906002)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 11:53:16.9572
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d8238770-2e36-41d3-b35d-08db9418399e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9020

DQoNCj4gT24gMyBBdWcgMjAyMywgYXQgMTI6NDYsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGkgTHVjYSwNCj4gDQo+IE9uIDAzLzA4LzIwMjMgMTE6MjgsIEx1
Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4gT24gMyBBdWcgMjAyMywgYXQgMDk6MjYsIEZlZGVyaWNv
IFNlcmFmaW5pIDxmZWRlcmljby5zZXJhZmluaUBidWdzZW5nLmNvbT4gd3JvdGU6DQo+Pj4gDQo+
Pj4gQWRkIG1pc3NpbmcgcGFyYW1ldGVyIG5hbWVzIHRvIGFkZHJlc3MgdmlvbGF0aW9uIG9mIE1J
U1JBIEM6MjAxMg0KPj4+IHJ1bGUgOC4yICgiRnVuY3Rpb24gdHlwZXMgc2hhbGwgYmUgaW4gcHJv
dG90eXBlIGZvcm0gd2l0aCBuYW1lZA0KPj4+IHBhcmFtZXRlcnMiKS4NCj4+PiANCj4+PiBObyBm
dW5jdGlvbmFsIGNoYW5nZXMuDQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1ieTogRmVkZXJpY28gU2Vy
YWZpbmkgPGZlZGVyaWNvLnNlcmFmaW5pQGJ1Z3NlbmcuY29tPg0KPj4+IC0tLQ0KPj4+IENoYW5n
ZXMgaW4gdjI6DQo+Pj4gIC0gbWVtc2V0KCkgYWRqdXN0ZWQuDQo+Pj4gLS0tDQo+Pj4geGVuL2lu
Y2x1ZGUveGVuL3N0cmluZy5oIHwgNDIgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KPj4+IDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlv
bnMoLSkNCj4+PiANCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3N0cmluZy5oIGIv
eGVuL2luY2x1ZGUveGVuL3N0cmluZy5oDQo+Pj4gaW5kZXggYjRkMjIxN2E5Ni4uZTkxZTMxMTJl
MCAxMDA2NDQNCj4+PiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vc3RyaW5nLmgNCj4+PiArKysgYi94
ZW4vaW5jbHVkZS94ZW4vc3RyaW5nLmgNCj4+PiBAQCAtMTIsMjcgKzEyLDI3IEBADQo+Pj4gI2Rl
ZmluZSBzdHJuY3B5IF9feGVuX2hhc19ub19zdHJuY3B5X18NCj4+PiAjZGVmaW5lIHN0cm5jYXQg
X194ZW5faGFzX25vX3N0cm5jYXRfXw0KPj4+IA0KPj4+IC1zaXplX3Qgc3RybGNweShjaGFyICos
IGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsNCj4+PiAtc2l6ZV90IHN0cmxjYXQoY2hhciAqLCBjb25z
dCBjaGFyICosIHNpemVfdCk7DQo+Pj4gLWludCBzdHJjbXAoY29uc3QgY2hhciAqLCBjb25zdCBj
aGFyICopOw0KPj4+IC1pbnQgc3RybmNtcChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgc2l6
ZV90KTsNCj4+PiAtaW50IHN0cmNhc2VjbXAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOw0K
Pj4+IC1pbnQgc3RybmNhc2VjbXAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7
DQo+Pj4gLWNoYXIgKnN0cmNocihjb25zdCBjaGFyICosIGludCk7DQo+Pj4gLWNoYXIgKnN0cnJj
aHIoY29uc3QgY2hhciAqLCBpbnQpOw0KPj4+IC1jaGFyICpzdHJzdHIoY29uc3QgY2hhciAqLCBj
b25zdCBjaGFyICopOw0KPj4+IC1zaXplX3Qgc3RybGVuKGNvbnN0IGNoYXIgKik7DQo+Pj4gLXNp
emVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsNCj4+PiAtY2hhciAqc3RycGJyayhj
b25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7DQo+Pj4gLWNoYXIgKnN0cnNlcChjaGFyICoqLCBj
b25zdCBjaGFyICopOw0KPj4+IC1zaXplX3Qgc3Ryc3BuKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hh
ciAqKTsNCj4+PiAtDQo+Pj4gLXZvaWQgKm1lbXNldCh2b2lkICosIGludCwgc2l6ZV90KTsNCj4+
PiAtdm9pZCAqbWVtY3B5KHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOw0KPj4+IC12b2lk
ICptZW1tb3ZlKHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOw0KPj4+IC1pbnQgbWVtY21w
KGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOw0KPj4+IC12b2lkICptZW1jaHIo
Y29uc3Qgdm9pZCAqLCBpbnQsIHNpemVfdCk7DQo+Pj4gLXZvaWQgKm1lbWNocl9pbnYoY29uc3Qg
dm9pZCAqLCBpbnQsIHNpemVfdCk7DQo+Pj4gK3NpemVfdCBzdHJsY3B5KGNoYXIgKmRlc3QsIGNv
bnN0IGNoYXIgKnNyYywgc2l6ZV90IHNpemUpOw0KPj4+ICtzaXplX3Qgc3RybGNhdChjaGFyICpk
ZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzaXplKTsNCj4+PiAraW50IHN0cmNtcChjb25z
dCBjaGFyICpjcywgY29uc3QgY2hhciAqY3QpOw0KPj4+ICtpbnQgc3RybmNtcChjb25zdCBjaGFy
ICpjcywgY29uc3QgY2hhciAqY3QsIHNpemVfdCBjb3VudCk7DQo+Pj4gK2ludCBzdHJjYXNlY21w
KGNvbnN0IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMik7DQo+Pj4gK2ludCBzdHJuY2FzZWNtcChj
b25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIHNpemVfdCBsZW4pOw0KPj4+ICtjaGFyICpz
dHJjaHIoY29uc3QgY2hhciAqcywgaW50IGMpOw0KPj4+ICtjaGFyICpzdHJyY2hyKGNvbnN0IGNo
YXIgKnMsIGludCBjKTsNCj4+PiArY2hhciAqc3Ryc3RyKGNvbnN0IGNoYXIgKnMxLCBjb25zdCBj
aGFyICpzMik7DQo+Pj4gK3NpemVfdCBzdHJsZW4oY29uc3QgY2hhciAqcyk7DQo+Pj4gK3NpemVf
dCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBjb3VudCk7DQo+Pj4gK2NoYXIgKnN0cnBi
cmsoY29uc3QgY2hhciAqY3MsIGNvbnN0IGNoYXIgKmN0KTsNCj4+PiArY2hhciAqc3Ryc2VwKGNo
YXIgKipzLCBjb25zdCBjaGFyICpjdCk7DQo+Pj4gK3NpemVfdCBzdHJzcG4oY29uc3QgY2hhciAq
cywgY29uc3QgY2hhciAqYWNjZXB0KTsNCj4+PiArDQo+Pj4gK3ZvaWQgKm1lbXNldCh2b2lkICpz
LCBpbnQgYywgc2l6ZV90IGNvdW50KTsNCj4+PiArdm9pZCAqbWVtY3B5KHZvaWQgKmRlc3QsIGNv
bnN0IHZvaWQgKnNyYywgc2l6ZV90IGNvdW50KTsNCj4+IFRoZXJlIGlzIGEgY29tbWVudCBpbiBh
cmNoL2FybS9ybTMyL2xpYi9tZW1jcHkuUyB3aXRoIHRoaXM6DQo+PiAvKiBQcm90b3R5cGU6IHZv
aWQgKm1lbWNweSh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKTsgKi8NCj4+
PiArdm9pZCAqbWVtbW92ZSh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBjb3Vu
dCk7DQo+PiBUaGVyZSBpcyBhIGNvbW1lbnQgaW4gYXJjaC9hcm0vcm0zMi9saWIvbWVtbW92ZS5T
IHdpdGggdGhpczoNCj4+ICAqIFByb3RvdHlwZTogdm9pZCAqbWVtbW92ZSh2b2lkICpkZXN0LCBj
b25zdCB2b2lkICpzcmMsIHNpemVfdCBuKTsNCj4+PiAraW50IG1lbWNtcChjb25zdCB2b2lkICpj
cywgY29uc3Qgdm9pZCAqY3QsIHNpemVfdCBjb3VudCk7DQo+Pj4gK3ZvaWQgKm1lbWNocihjb25z
dCB2b2lkICpzLCBpbnQgYywgc2l6ZV90IG4pOw0KPj4+ICt2b2lkICptZW1jaHJfaW52KGNvbnN0
IHZvaWQgKnMsIGludCBjLCBzaXplX3Qgbik7DQo+PiBAU3RlZmFubzogd291bGQgaXQgbWFrZSBz
ZW5zZSB0byByZW1vdmUgaXQgYXMgcGFydCBvZiB0aGlzIHBhdGNoIG9yIG1heWJlIG5vdD8NCj4g
DQo+IFRoZXkgYXJlIGEgdmVyYmF0aW0gY29weSBvZiB0aGUgTGludXggY29kZS4gU28gSSB3b3Vs
ZCByYXRoZXIgbm8gdG91Y2ggaXQuDQoNCk9oIEkgc2VlISBUaGFuayB5b3UgZm9yIHBvaW50aW5n
IHRoYXQgb3V0LCB0aGVuIEnigJltIHdvbmRlcmluZyBpZiBpdOKAmXMgdGhlcmUgYSByZWFzb24g
d2h5IHdlDQphcmUgdXNpbmcg4oCYY291bnTigJkgaW5zdGVhZCBvZiDigJlu4oCZIGFzIHRoaXJk
IHBhcmFtZXRlciBuYW1lLCBJIGtub3cgU3RlZmFubyBzdWdnZXN0ZWQgdGhhdCwgc28NCkl04oCZ
cyBqdXN0IGEgY3VyaW9zaXR5LiBNYXliZSBpdOKAmXMgZm9yIGNsYXJpdHk/DQoNCj4gDQo+IENo
ZWVycywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:56:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576283.902247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWwG-0000W1-LX; Thu, 03 Aug 2023 11:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576283.902247; Thu, 03 Aug 2023 11:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWwG-0000Vu-Ir; Thu, 03 Aug 2023 11:56:20 +0000
Received: by outflank-mailman (input) for mailman id 576283;
 Thu, 03 Aug 2023 11:56:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b1P5=DU=citrix.com=prvs=57264c000=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRWwE-0000Vi-Es
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:56:18 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf24156b-31f4-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 13:56:15 +0200 (CEST)
Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2023 07:56:01 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5184.namprd03.prod.outlook.com (2603:10b6:208:1e2::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 11:55:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Thu, 3 Aug 2023
 11:55: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: bf24156b-31f4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691063775;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=COUk0Wgz7yZkgzhePNL+B049hzOO43HXB1QDuVGj2f0=;
  b=Tdt2IfWl3oMBTFiEVFXtDrs0xkEufEsxhBQFOQGlJ+lNZHEoOHEQYWSb
   trhiXu8HGq5SApLiE4WGjSZD8fcxXCAJ9Cz0r0FbAwe1IKWG2jvDNi9I+
   EFTlFg6aR2QoQn6pqjRAuYVvq9AULPd0Rw3Toj2GWMG40OdUy3bBMt8tZ
   k=;
X-IronPort-RemoteIP: 104.47.55.102
X-IronPort-MID: 121015384
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:M3F5aqtCS59gVOVXYD/t9whCvufnVM1fMUV32f8akzHdYApBsoF/q
 tZmKTqCbqzbNGbwftkjPY3jpBxQ6sDQmIdrSFdoq31mRiMW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+GzCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwASICT07cjfmK2ezicfkvrPo7DMvxFdZK0p1g5Wmx4fcOZ7nmGv2PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60aIC9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTir6Yz3QbDmgT/DjUVXkWc/NKlg3SFUt54d
 2YbxCkpj6oLoRnDot7VGkfQTGS/ljoBUNMWPeQ84wyJzrf86hycQGMDS1ZpasEitcIwbSwn0
 BmOhdyBLTJivLCPSHmasKyZtzq8OC4UBWUfajQJSwRD6N7myKkjgxSKQtt9HaqditzuBSq20
 z2MtDI5hbgYkYgMzarT1VvAhSmxooTISAEd7BjYRW+j4UVyY4vNT46i5EXf7P1ABJ2EVVTHt
 38B8+CF9/wHB5yJkC2LQc0OEauv6vLDNyfT6XZwG7Ex+jLr/GSsFb28+xl7LUZtd8MbIzngZ
 RaLvRsLvccJeny3caVwfoS9TdwwyrTtHsjkUfaSacdSZp92d0mM+yQGiVOs4l0BWXMEyckXU
 ap3u+72ZZrGIcyLFAaLeto=
IronPort-HdrOrdr: A9a23:/Jk3Qa9G0dYNgi65NJxuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-Talos-CUID: 9a23:RocEgmHisFpVPWZ+qmJO5kE1RJ8vaUHEki7rMwySN35JSqe8HAo=
X-Talos-MUID: =?us-ascii?q?9a23=3A0SIdxwyNSBTjXfdKZgoxskA6vdyaqKelFmdQuok?=
 =?us-ascii?q?PgfKNOQssETijjzOVQLZyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,252,1684814400"; 
   d="scan'208";a="121015384"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XsvMCY5SIHM9kRkrVHufaNaxaSHc5y3NTbSOqMG/FpQr29+ftHELf1SDbcLEEa3/CdPYmcwZLIss1jOZqXNf1CARgY04BpeOzkROA90v+kyD2xfhUtEM3dBDR2Y7GcDd1bRbgoDNBMw/UW4yIF3jtpZsj/LMfAdpgyB6c0ctuIFMJ7/7b9EqInSUJAqEBWxRtAZkcVzyevln/Yx1pe+uasjR3Ls9BItUbqaqu+Dh8WrP68QLftAsP32Wq+k0M8zeoAdq7nVpd/xy74WCceUpLzVdv4LLojYIX8A0TIkUzmqpXL2yv8OdAMYbBCnmSLn9k1tMqmi3B7Rxv/Z4tDRiKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1x4RnheK6/LhYWF9bzfgUkWB/nfyA/xAppqOshrii+8=;
 b=oYrWF6vj4fpCy3yCgnhEamJ8FDrSu0xuL8ef1yrDk9RsGn+7NneCvfOT6fBoaW/eJ3dATNPhDq8hhvlnC7kwLUi/YfSO8uijqKCJSTdOhKoV2AQ9OKwkgUEa7d4lezKKppO+Kj/oprlyqo079/bW0n1D1sEpDUYrONT072YWIKNGmp9PzyhA5b46J7S/WyxfagSTOpKo40XfxaeL7fmxSkKNJyo8ysPwAFbIkmWpwIxT7k7a9mt/mEefiec+uhI7aTTzVnHq1N3aB3oUFK+hNMiDYYipTdWCefNEMcXf6n6fdCWh6v0+uJb6EQEYYApYSL0C0ez6NxFBRNlbbM+Rrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1x4RnheK6/LhYWF9bzfgUkWB/nfyA/xAppqOshrii+8=;
 b=AU+Uu167AeUjc3360T/fI1+x3PL/UpHodUDiweEGWj+M7cakfV0Ddrig1Sss6XNFfWMsVXkyk88EpWhiXGSdALfNtkQGBMxs56XQY20oG/A0UWvFekThcoG3hsV4WZWkmPmdKjkdoIQr6mZEXGZwFblBDQQkHfGnBoQHx3yYOcg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e6e045aa-783f-61cd-6ad2-f02f97f2f672@citrix.com>
Date: Thu, 3 Aug 2023 12:55:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>, Julien Grall <julien@xen.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
 <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
 <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
In-Reply-To: <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0286.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5184:EE_
X-MS-Office365-Filtering-Correlation-Id: c8dd07c4-cfb7-43c1-0c28-08db941899a4
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+bSYhj3Ii3aGNWCa0e5PurHE2GxDzr8mmdt8s1/Ch+SLaJwZs2VpOwHWRZmDXgqP3xJDgWPtuCDIEqPxUMgUGUS5MLsSNa2yovqDkEVbykYc+AASnoUp3vy12qxDRYx3Yb+432rJ5lpMdSnYPvGBWMMEplpmwmr+KCmD3SuL8hsBxFZhomsAl1qrslIjB89St3gDTvfJYdocOgbj0BwgkRrjxAXHdPVB6IN7x5ZkKaBWK6Uv8PGiPTKtoqRwIj3niaZTN0pITFtoURhSOqnSGTgBD3D+GJ/tFG4KaBVCTS3t7L4oEWXKhxxAlAOS9lr29pyDSm9RGfwjmjRrW2z3XsYv4rVknbnrXJKKQz0doaW4tNZw9DST/FJoaTJEtxGcaTi+G1vHM/WjbOECT/CxqLYsd53UHAkgA6l54yBSsJAI21ZCYpODjLPvb8pSWZoJz3dVvnogqZlKzwj/OBxNOujfme1K999y08xXkCAXZPtvsL1jw7ddoI7TfllazcqWM4+15JxrMjqYSUyhMEPKK1X7gi+NqAfDmJSvXJI9nTo7zEiAX23FYcoXG01sr68PkZYXZhz/aMHEpd20z2faTzyp+EioBL0yB5pyeN41Tb75in9/g5+1Bk/jFNBdU4km5vGTYblUoCB7ftqVBwvPhw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(366004)(136003)(396003)(376002)(451199021)(86362001)(36756003)(31696002)(31686004)(54906003)(478600001)(110136005)(38100700002)(82960400001)(2616005)(6506007)(186003)(26005)(83380400001)(53546011)(8676002)(8936002)(6666004)(41300700001)(6512007)(6486002)(316002)(66476007)(66556008)(5660300002)(4326008)(66946007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEY3YTdsQURpdzUxWHc3VWVIbFEwYjFMVWo5U1JtUDRyV3UvaldXeW5LZUQ3?=
 =?utf-8?B?dnBRRzZMcTRobnBEN1hobXBNclNON2V3WnQ0azVtTDVYR0tobGNIaWhTWUpl?=
 =?utf-8?B?M0hpcm9GNUxXSFdsNHZ1bFdEelg1UjRQZXRFQzhzRTFzOE5zcVV0ZDNEN1pn?=
 =?utf-8?B?cjdrOTFWbjh0NGFjS29DNHRlZTBKWko5MTFrMlNqemZaeXNpQjR2dHdCVWI4?=
 =?utf-8?B?MDBnSkZnN2pBbVFkK2VTMk42dUM4TTdDT1VpRUV5T0NnaWxlVlJXMVJmbUhL?=
 =?utf-8?B?bmZ1ekRUZmE5K0VrVmQ4cjNYT0tGRmJ5cDltSm5lZVduMzdyUFV5OU5iNHVK?=
 =?utf-8?B?M1JCYlpESTdURU1VdjdTK1BDbDlka1lYa2FYQWZGVEhqNCtvbzFicGJzOXhw?=
 =?utf-8?B?WHlmTGRVNTd1S1BNUFFUcHBCWkZDeDVzMGFVN1BLaVNBWUxVeSsxVnBHNUhX?=
 =?utf-8?B?b2JyUlNaQi91WmpCV3NRU0VJbG1sSXdqMjNyUkRETUxTV0o1SEpxZ1JCR05q?=
 =?utf-8?B?N0M2bms2L3hWMVQ4eXhIYmxUc3pPcjNQRVNkRmlMNlNUdnVvYVhpMis1ZTh1?=
 =?utf-8?B?S1RlbnkzQUVaVEltYnRMOEI2L0h2WkFMdkRkeUdGcVEzRnZRV1BuTUloSlBK?=
 =?utf-8?B?VVUvRGRhWjhSMjZoMGMvc1ozdWFsTVVlVnBtTEdzS1JCaVAvTVVXeWhLNVdR?=
 =?utf-8?B?SWtkYkE0R0hwUlQwTXFqdlRWUTI2WEs1Qk8wWCtlRVJwM05HclhNWEErMysz?=
 =?utf-8?B?NHlNNHRIVVJqRzVGRFVKT045YytvQitKRFpESlNhczR4YWFlUUFvbmJZWnRN?=
 =?utf-8?B?WWxrdVNlak9rejVvdUZ1SEMySzBvemFycys5M0N2cFp3RzFCNGJqaWJhNUVh?=
 =?utf-8?B?THF0dytwVER2UTdIbHJCVlIrcHVSSHBFNW1zamlKK01HMUEyTHNhS2xXRzlX?=
 =?utf-8?B?UUpZWTFLaGdYV2VRSHlHSFNoMDNvaVo1MC9EUnN1bzYxRDNiM3pQT3R5SEVD?=
 =?utf-8?B?RHhRekFoS0o1RkdOaXZXb1dmVkh5MUZIMVdaWmxIc21JVkYrMDZzQzRBa0x4?=
 =?utf-8?B?eWdTR3VQc3owZTRiNXdXV05idVE2bTFNNC9RSnQ3YnB0NlNzRTdYOFFJM0JO?=
 =?utf-8?B?d09ERkwzT0ZvdmJ1blEyeGVPREVaZWg0a1N0SHBvSUcydzBPRVMrdS8rY0lZ?=
 =?utf-8?B?Qy9KUHB4a21LeStOaUsvb1FEU25lUGQ4N3JQMFAwdGJTZGpuSlVqNzJrbWFS?=
 =?utf-8?B?UWQ4aDljNlF3eFcyMXhlSHBIcEVvMW5QVWN1MVlHWHNCaUc2Si8yZTQ1RTlx?=
 =?utf-8?B?NXc4bHFiRTRGbWU5QWZ5Q2lOaGRCQTQxTFdrVktlMmVqVThMQW9yTWd2eDFz?=
 =?utf-8?B?YzFCVG1hbFNHTGNnOExIMnk4VVQreHNqM1pkdUV4Q1hBV3VXSHlqUlpCSGtE?=
 =?utf-8?B?cms4U3RaaDJsTnpKdS81ZTZSWnJVU0YxeE95QnlSc1ArZVpNcXFoTXg5dllm?=
 =?utf-8?B?Q3h2RU9OQTllQStHODFlKytaTElyUGJNazdHWE9rUWl2SWQvMmtwV0ZVQWkv?=
 =?utf-8?B?QWFSQWZ6eXEzb0prdXczeFYveTVVSzh2MmUwOVRsQVR5SVBJRHYzQnQ2VlVO?=
 =?utf-8?B?ZnFxcisxWUtPa0swcC9RVGloTU9tR3ZWZFFQVjM2d2FTS2Q3NjgxRmxKd3Jm?=
 =?utf-8?B?azNWM1JFdVBWMitrWXhQZFE5dTVjM2Fub2dQSmdWZGFtak1VaTh4MXoyS3JR?=
 =?utf-8?B?TmtuTXc2UXRaT1pZTjFEbStxOFRESndjRE5zRlBhbzhpYkNhUDd5SnFjZnNj?=
 =?utf-8?B?Y2g0cWFpNXIrd3RtNE5TWlpFZGhrc3dxc2paSHFZSGZ4UlhhRms4LzRoS2FR?=
 =?utf-8?B?WWkwK0Y3N0lpUFMyOUNxQW52ZW9qam5taTJNTEhTclUwZ3VpejBxbXF5SG1s?=
 =?utf-8?B?M095SEJ5Q0cwQzVxeWlVV0l6YXhaWTdvaHQ4OElCQVppNlZ3NXB1bCtKNEph?=
 =?utf-8?B?bXRiTU5aZlArOE5nYTJOV2QvYVpEMWk5Yk9zR2tRSDVnTTE3M1k1UjFmTVN2?=
 =?utf-8?B?NS9vMGc5K0U1TDZTV1p2NTZBYTNRdUVFR3FNaCtGdzh3Q3RNdm5rWmFtM0R5?=
 =?utf-8?B?d1FQMHJFNlo4WWI2VzQwU1JKZE4yR2VEZDIxbEZBMERnbjVwK3JENGdxTnYv?=
 =?utf-8?B?cFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jb8JrgwiS1m6pFPui+LN/ZrwukpGo544w0AtaKR90Hh+V9M/sIxWSFRnW476oi4lzEPOmZByLXgE2sGbT4sLAs7QWzYxsPVUqZletZldvazVucHy+mUG+Ib7XcAfgB5iuVBNMwKOHpHjb020byj1Xm9ph/kvb2QAZ9MzBCb1EVI/0oBYzT/0/NifzGvWuuPwMgANLFQOWrtu7yhn1RHK60Zz30vXrgiKQiWZExTMmlTf/AQYOuJCT6YlwjlKrjDDuU8rdKQ8OR+A0niZr79HL1ONRS48XG1C+MQff4L9GOv1LWC73tsU4q79nW8FebRyD4V04UfWYxgeAdGzQxUMpyHBJ5Ys4s+ukQ0NxhyGE8FMUzDHYjC1eY8veyHo+zB1rXEATLJjY/6DppfeQ7EowfUzH9toOZdIYe/XPGG846FhHBF420oGn9dh8rVmBBO5i8E05aA679MWoE/C+OudkdqCEt5ngwKc2VH08YJGC9y6C0RCC+3ok+xcJNTlLwK75pv+MJ/BksndvfWCn0J4dmPkYtq1ZLQ6jrx8Hq1COYPq5e6XF73P0VaaCBYaZu4FBTxHCKJgHfFRsGuweXCp6DQ+MhIfGD8JnnV0pmSNbWC17dhVK5b/AQlqr0v3wCjo+iAepmC7ds+Hv8x0yoqnVm3Iyh74fE9IGa7WP9lAMsrBtMM4Gpqd7RkrzTNIFoi0nKi9827DVTi1Uzqhxubpkfv5rwEIiJTiycXdRdYsgPbj32aba4B9K5S9/pv3VbNbZQSghNdq7QIE1nFAWfhKed3VtU04IGGvP5eIPxk8EfnZ6va8Ma/HhbO4OAPLsHBYrIHHy+qLxTMZSgOIQHj/X+DeNtT9qZmWm1Dcv6Y6ZuGQRXwjB50QzL+4wl0i7Zg0TSG/VoFU+XsWWq7awVGF0w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8dd07c4-cfb7-43c1-0c28-08db941899a4
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 11:55:58.3982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8piwnMoxqrt26yyQk4SzqkTUr19dS1Zd87Ih9HG2uiqHvNMjmq1/PgjUICdzhDOcJNd4XotsXLw9jRHdFylg4sQYTIoCGQLJJCDDovgKigY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5184

On 03/08/2023 12:52 pm, Luca Fancellu wrote:
>
>> On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 03/08/2023 11:28, Luca Fancellu wrote:
>>>> On 3 Aug 2023, at 09:26, Federico Serafini <federico.serafini@bugseng.com> wrote:
>>>>
>>>> Add missing parameter names to address violation of MISRA C:2012
>>>> rule 8.2 ("Function types shall be in prototype form with named
>>>> parameters").
>>>>
>>>> No functional changes.
>>>>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>>  - memset() adjusted.
>>>> ---
>>>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>>>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>>>
>>>> diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
>>>> index b4d2217a96..e91e3112e0 100644
>>>> --- a/xen/include/xen/string.h
>>>> +++ b/xen/include/xen/string.h
>>>> @@ -12,27 +12,27 @@
>>>> #define strncpy __xen_has_no_strncpy__
>>>> #define strncat __xen_has_no_strncat__
>>>>
>>>> -size_t strlcpy(char *, const char *, size_t);
>>>> -size_t strlcat(char *, const char *, size_t);
>>>> -int strcmp(const char *, const char *);
>>>> -int strncmp(const char *, const char *, size_t);
>>>> -int strcasecmp(const char *, const char *);
>>>> -int strncasecmp(const char *, const char *, size_t);
>>>> -char *strchr(const char *, int);
>>>> -char *strrchr(const char *, int);
>>>> -char *strstr(const char *, const char *);
>>>> -size_t strlen(const char *);
>>>> -size_t strnlen(const char *, size_t);
>>>> -char *strpbrk(const char *, const char *);
>>>> -char *strsep(char **, const char *);
>>>> -size_t strspn(const char *, const char *);
>>>> -
>>>> -void *memset(void *, int, size_t);
>>>> -void *memcpy(void *, const void *, size_t);
>>>> -void *memmove(void *, const void *, size_t);
>>>> -int memcmp(const void *, const void *, size_t);
>>>> -void *memchr(const void *, int, size_t);
>>>> -void *memchr_inv(const void *, int, size_t);
>>>> +size_t strlcpy(char *dest, const char *src, size_t size);
>>>> +size_t strlcat(char *dest, const char *src, size_t size);
>>>> +int strcmp(const char *cs, const char *ct);
>>>> +int strncmp(const char *cs, const char *ct, size_t count);
>>>> +int strcasecmp(const char *s1, const char *s2);
>>>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>>>> +char *strchr(const char *s, int c);
>>>> +char *strrchr(const char *s, int c);
>>>> +char *strstr(const char *s1, const char *s2);
>>>> +size_t strlen(const char *s);
>>>> +size_t strnlen(const char *s, size_t count);
>>>> +char *strpbrk(const char *cs, const char *ct);
>>>> +char *strsep(char **s, const char *ct);
>>>> +size_t strspn(const char *s, const char *accept);
>>>> +
>>>> +void *memset(void *s, int c, size_t count);
>>>> +void *memcpy(void *dest, const void *src, size_t count);
>>> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
>>> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
>>>> +void *memmove(void *dest, const void *src, size_t count);
>>> There is a comment in arch/arm/rm32/lib/memmove.S with this:
>>>  * Prototype: void *memmove(void *dest, const void *src, size_t n);
>>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>>> +void *memchr(const void *s, int c, size_t n);
>>>> +void *memchr_inv(const void *s, int c, size_t n);
>>> @Stefano: would it make sense to remove it as part of this patch or maybe not?
>> They are a verbatim copy of the Linux code. So I would rather no touch it.
> Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there a reason why we
> are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano suggested that, so
> Itâ€™s just a curiosity. Maybe itâ€™s for clarity?

'n' is what the parameter is called in the C spec.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 11:57:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 11:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576288.902257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRWxO-000182-45; Thu, 03 Aug 2023 11:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576288.902257; Thu, 03 Aug 2023 11: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 1qRWxO-00017v-1P; Thu, 03 Aug 2023 11:57:30 +0000
Received: by outflank-mailman (input) for mailman id 576288;
 Thu, 03 Aug 2023 11:57: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 1qRWxM-00017n-TS
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 11:57: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 1qRWxL-0005Em-MC; Thu, 03 Aug 2023 11:57:27 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRWxL-0002ti-Fi; Thu, 03 Aug 2023 11:57: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=jUjfhjRzz9jAmM6SBtqFHcoXBJ2qBpxuPqhdpJlDr8o=; b=OPd5Hu1uSyOmUjk8EKZH7tEe0L
	+8CaiFCnUhHE0WyYfq5G0UFsnxANOok1Mx4htJuVbdEgdoGtfeAqIJvqHyIPI9E+LtrGwcAnl1UE2
	oGl36wvOnzVKUAtZMhPndevro0V8EPJwqqY64m5hEJnKimAuRRr3t5XkLzvdFDLvmq28=;
Message-ID: <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org>
Date: Thu, 3 Aug 2023 12:57:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
 <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
 <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 03/08/2023 12:52, Luca Fancellu wrote:
>> On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 03/08/2023 11:28, Luca Fancellu wrote:
>>>> On 3 Aug 2023, at 09:26, Federico Serafini <federico.serafini@bugseng.com> wrote:
>>>>
>>>> Add missing parameter names to address violation of MISRA C:2012
>>>> rule 8.2 ("Function types shall be in prototype form with named
>>>> parameters").
>>>>
>>>> No functional changes.
>>>>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>>   - memset() adjusted.
>>>> ---
>>>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>>>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>>>
>>>> diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
>>>> index b4d2217a96..e91e3112e0 100644
>>>> --- a/xen/include/xen/string.h
>>>> +++ b/xen/include/xen/string.h
>>>> @@ -12,27 +12,27 @@
>>>> #define strncpy __xen_has_no_strncpy__
>>>> #define strncat __xen_has_no_strncat__
>>>>
>>>> -size_t strlcpy(char *, const char *, size_t);
>>>> -size_t strlcat(char *, const char *, size_t);
>>>> -int strcmp(const char *, const char *);
>>>> -int strncmp(const char *, const char *, size_t);
>>>> -int strcasecmp(const char *, const char *);
>>>> -int strncasecmp(const char *, const char *, size_t);
>>>> -char *strchr(const char *, int);
>>>> -char *strrchr(const char *, int);
>>>> -char *strstr(const char *, const char *);
>>>> -size_t strlen(const char *);
>>>> -size_t strnlen(const char *, size_t);
>>>> -char *strpbrk(const char *, const char *);
>>>> -char *strsep(char **, const char *);
>>>> -size_t strspn(const char *, const char *);
>>>> -
>>>> -void *memset(void *, int, size_t);
>>>> -void *memcpy(void *, const void *, size_t);
>>>> -void *memmove(void *, const void *, size_t);
>>>> -int memcmp(const void *, const void *, size_t);
>>>> -void *memchr(const void *, int, size_t);
>>>> -void *memchr_inv(const void *, int, size_t);
>>>> +size_t strlcpy(char *dest, const char *src, size_t size);
>>>> +size_t strlcat(char *dest, const char *src, size_t size);
>>>> +int strcmp(const char *cs, const char *ct);
>>>> +int strncmp(const char *cs, const char *ct, size_t count);
>>>> +int strcasecmp(const char *s1, const char *s2);
>>>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>>>> +char *strchr(const char *s, int c);
>>>> +char *strrchr(const char *s, int c);
>>>> +char *strstr(const char *s1, const char *s2);
>>>> +size_t strlen(const char *s);
>>>> +size_t strnlen(const char *s, size_t count);
>>>> +char *strpbrk(const char *cs, const char *ct);
>>>> +char *strsep(char **s, const char *ct);
>>>> +size_t strspn(const char *s, const char *accept);
>>>> +
>>>> +void *memset(void *s, int c, size_t count);
>>>> +void *memcpy(void *dest, const void *src, size_t count);
>>> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
>>> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
>>>> +void *memmove(void *dest, const void *src, size_t count);
>>> There is a comment in arch/arm/rm32/lib/memmove.S with this:
>>>   * Prototype: void *memmove(void *dest, const void *src, size_t n);
>>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>>> +void *memchr(const void *s, int c, size_t n);
>>>> +void *memchr_inv(const void *s, int c, size_t n);
>>> @Stefano: would it make sense to remove it as part of this patch or maybe not?
>>
>> They are a verbatim copy of the Linux code. So I would rather no touch it.
> 
> Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there a reason why we
> are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano suggested that, so
> Itâ€™s just a curiosity. Maybe itâ€™s for clarity?

I guess because the generic implementation of memset (see 
xen/lib/memset.c) is using 'count' rather than 'n'.

Given what Andrew said, I would say we should rename the parameter to 'n'.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576304.902278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX58-00037r-GF; Thu, 03 Aug 2023 12:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576304.902278; Thu, 03 Aug 2023 12: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 1qRX58-00037k-Cl; Thu, 03 Aug 2023 12:05:30 +0000
Received: by outflank-mailman (input) for mailman id 576304;
 Thu, 03 Aug 2023 12: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX56-0002sc-D0
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05:28 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 080a0305-31f6-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 14:05:26 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-4fe216edaf7so2512093e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05: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: 080a0305-31f6-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064325; x=1691669125;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=EMex7KAok8kJ3fYDsnZYNrb6j4rgrDMOCX/LkNSGack=;
        b=oKHyysyJy6wfxFmYBZqHe723s/tEjI0XJyms8bL2CcRzoJ/oh7Aeb00IMF9/LIZ6YT
         DIKLkjbc/ppHtGgzXmc5wISbu9P79n0AbaHclrnOO6cjoyxmSltOGML2pk3kuOL+vySH
         0H3E278eN59PX0Qy7vEYStNVWwUUH9OMVzKZVBbbH1EApbHo8dehl9CCitfsIN1tZ47/
         3VYS5S92PHNqBWXHsu432QME5s7Vl8XFxXLtnD+A8pF+AmXhJRsErzyL/kRqrDjmQsuH
         JnmyAAg4K88eQGfPAR6ZZUqmI+SFsGrkmrVO+UPJ7bgGMblhsKbabd+2CjZobTNpv+P/
         NHaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064325; x=1691669125;
        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=EMex7KAok8kJ3fYDsnZYNrb6j4rgrDMOCX/LkNSGack=;
        b=Pn9HM4BQgY1opPCs2iCoAX/k6fiRsye9ovR5N9ct3rIPmy2tAazPBM0FcBQncYRS86
         xLaow9wRhMXTzgb1PYzw11xRGmNI3SawVNqlcGuVNX4CRxy+rKfVSed23+8Sxc1KbqsC
         kArdW7IaEhVjAUMcKYeQhTblWhfYuov0eMQGSG9oR7CVm/ci6G6iTdvyYJecBE8eUsDO
         jC43R/IOa7mtg6IltQTIaJaYeiSLZIGEIv5RalwjQxUZCISigYNBvwq8oVPgWrHeTKpZ
         9Z+/IrRXfVjJb07qxBM9GUm7X0iGdALyr6xVXBFVCMGd0+CA9aaHt9R4ART7wTSJHzRo
         4s4A==
X-Gm-Message-State: ABy/qLYANt+q2XMnfzNRHC567ocO5A9Us7qjqRVxqWpZvaP4CrIG+NWb
	14Emk6GmXaTqa04okM/1GTlloFKBDbE=
X-Google-Smtp-Source: APBJJlHmIBGtGsUqFlzSiGadFsBF/jw2fizwPFT8rf5AF+V/B47QKdC/GnZj4w7iQbfuuyX3B0vvnA==
X-Received: by 2002:a05:6512:e83:b0:4fe:3291:6b50 with SMTP id bi3-20020a0565120e8300b004fe32916b50mr3287761lfb.7.1691064325111;
        Thu, 03 Aug 2023 05:05:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 0/6] RISCV basic exception handling implementation
Date: Thu,  3 Aug 2023 15:05:16 +0300
Message-ID: <cover.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on:
    xen/riscv: introduce identity mapping [1]
which haven't been merged yet.

The patch series provides a basic implementation of exception handling.
It can do only basic things such as decode a cause of an exception,
save/restore registers and execute "wfi" instruction if an exception
can not be handled.

To verify that exception handling works well it was implemented macros
from <asm/bug.h> such as BUG/WARN/run_in_exception/assert_failed.
The implementation of macros is used "ebreak" instruction and set up bug
frame tables for each type of macros.
Also it was implemented register save/restore to return and continue work
after WARN/run_in_exception.
Not all functionality of the macros was implemented as some of them
require hard-panic the system which is not available now. Instead of
hard-panic 'wfi' instruction is used but it should be definitely changed
in the neareset future.
It wasn't implemented show_execution_state() and stack trace discovering
as it's not necessary now.

[1] https://lore.kernel.org/xen-devel/cover.1690899325.git.oleksii.kurochko@gmail.com/

---
Changes in V7:
 - Update the depenency ( mentioned in the cover letter message ) of the current
   patch series.
 - clean up comments.
 - code style fixes.
 - move definition of cast_to_bug_frame() from patch 4 to 5.
---
Changes in V6:
 - Update the cover letter message: the patch set is based on MMU patch series.
 - Introduce new patch with temporary printk functionality. ( it will be
   removed when Xen common code will be ready )
 - Change early_printk() to printk().
 - Remove usage of LINK_TO_LOAD() due to the MMU being enabled first.
 - Add additional explanatory comments.
 - Remove patch "xen/riscv: initialize boot_info structure" from the patch
   series.
---
Changes in V5:
 - Rebase on top of [1] and [2]
 - Add new patch which introduces stub for <asm/bug.h> to keep Xen compilable
   as in the patch [xen/riscv: introduce decode_cause() stuff] is used
   header <xen/lib.h> which requires <asm/bug.h>.
 - Remove <xen/error.h> from riscv/traps/c as nothing would require
   inclusion.
 - decode_reserved_interrupt_cause(), decode_interrupt_cause(),
   decode_cause, do_unexpected_trap() were made as static they are expected
   to be used only in traps.c
 - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
 - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
 - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
   the patch
 - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce 
   read_instr() to read instruction properly as the length of qinstruction can be
   either 32 or 16 bits.
 - Code style fixes
 - update the comments before do_bug_frame() in riscv/trap.c
 - [[PATCH v4 5/5] automation: modify RISC-V smoke test ] was dropped as it was provided
   more simple solution by Andrew.  CI: Simplify RISCV smoke testing
 - Refactor is_valid_bugaddr() function.
 - 2 new patches ([PATCH v5 {1-2}/7]) were introduced, the goal of which is to recalculate
   addresses used in traps.c, which can be linker time relative. It is needed as we don't
   have enabled MMU yet.
---
Changes in V4:
  - Rebase the patch series on top of new version of [introduce generic
    implementation of macros from bug.h] patch series.
  - Update the cover letter message as 'Early printk' was merged and
    the current one patch series is based only on [introduce generic
    implementation of macros from bug.h] which hasn't been commited yet.
  - The following patches of the patch series were merged to staging:
      [PATCH v3 01/14] xen/riscv: change ISA to r64G
      [PATCH v3 02/14] xen/riscv: add <asm/asm.h> header
      [PATCH v3 03/14] xen/riscv: add <asm/riscv_encoding.h header
      [PATCH v3 04/14] xen/riscv: add <asm/csr.h> header
      [PATCH v3 05/14] xen/riscv: introduce empty <asm/string.h>
      [PATCH v3 06/14] xen/riscv: introduce empty <asm/cache.h>
      [PATCH v3 07/14] xen/riscv: introduce exception context
      [PATCH v3 08/14] xen/riscv: introduce exception handlers implementation
      [PATCH v3 10/14] xen/riscv: mask all interrupts
  - Fix addressed comments in xen-devel mailing list.

---
Changes in V3:
  - Change the name of config RISCV_ISA_RV64IMA to RISCV_ISA_RV64G
    as instructions from Zicsr and Zifencei extensions aren't part of
    I extension any more.
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
  - Update commit messages
---
Changes in V2:
  - take the latest riscv_encoding.h from OpenSBI, update it with Xen
    related changes, and update the commit message with "Origin:"
    tag and the commit message itself.
  - add "Origin:" tag to the commit messag of the patch
    [xen/riscv: add <asm/csr.h> header].
  - Remove the patch [xen/riscv: add early_printk_hnum() function] as the
    functionality provided by the patch isn't used now.
  - Refactor prcoess.h: move structure offset defines to asm-offsets.c,
    change register_t to unsigned long.
  - Refactor entry.S to use offsets defined in asm-offsets.C
  - Rename {__,}handle_exception to handle_trap() and do_trap() to be more
    consistent with RISC-V spec.
  - Merge the pathc which introduces do_unexpected_trap() with the patch
    [xen/riscv: introduce exception handlers implementation].
  - Rename setup_trap_handler() to trap_init() and update correspondingly
    the patches in the patch series.
  - Refactor bug.h, remove bug_instr_t type from it.
  - Refactor decode_trap_cause() function to be more optimization-friendly.
  - Add two new empty headers: <cache.h> and <string.h> as they are needed to
    include <xen/lib.h> which provides ARRAY_SIZE and other macros.
  - Code style fixes.
---

Oleksii Kurochko (6):
  xen/riscv: introduce temporary printk stuff
  xen/riscv: introduce dummy <asm/bug.h>
  xen/riscv: introduce decode_cause() stuff
  xen/riscv: introduce trap_init()
  xen/riscv: introduce an implementation of macros from <asm/bug.h>
  xen/riscv: test basic handling stuff

 xen/arch/riscv/early_printk.c      | 168 ++++++++++++++++++++++
 xen/arch/riscv/include/asm/bug.h   |  37 +++++
 xen/arch/riscv/include/asm/traps.h |   1 +
 xen/arch/riscv/setup.c             |  20 +++
 xen/arch/riscv/traps.c             | 224 ++++++++++++++++++++++++++++-
 xen/arch/riscv/xen.lds.S           |  10 ++
 6 files changed, 459 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/bug.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576306.902290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX59-0003JY-5I; Thu, 03 Aug 2023 12:05:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576306.902290; Thu, 03 Aug 2023 12:05: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 1qRX58-0003I4-VK; Thu, 03 Aug 2023 12:05:30 +0000
Received: by outflank-mailman (input) for mailman id 576306;
 Thu, 03 Aug 2023 12:05: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX57-0002sb-BB
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05:29 +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 0996ed66-31f6-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:05:28 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-4fe28e4671dso1586007e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:28 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05:05: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: 0996ed66-31f6-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064328; x=1691669128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EXuF1AtcaFIuqh3RnuzjKGdWBJliPJb+moN2Ah/LYz8=;
        b=gRt8bvU/HD2PsiCRodzS3I+Wd6vdyLIiKQ6TVGm0bEIXxGG/YxYsgpadjNhjJFOHZc
         boEcOY8/NMbjRv9OB3eOWkZKhJqR745V4uG2e1gF/zcas7vS3B7rDMzjFgAxL3ZHte/A
         7uquNO9uO4p6HiEwGAoCbd/W/vIPXgNn24ofvgvyIPCUrO1quJwWzv6DnjO5LhL9kJj8
         TWN+jPlzEcQJjI/Pt9fDkR3m4By3xjDcD2TOExycv5qSsbU3jS2/UphfWu5Sg+pDaheV
         Y23fPNM55yuLmMC2PsUSd7Y8DRR/JJ/KLsQU3myo7bjQ6rv5j2EGOgvnxxz/L0VYGj/2
         69TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064328; x=1691669128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=EXuF1AtcaFIuqh3RnuzjKGdWBJliPJb+moN2Ah/LYz8=;
        b=XZDJotmPe95E1m7X177znlv36qoCeatTRWekwe4BUNxWpAuMRtv7ql9m0RFfPF03Re
         2NmU7pJvVTIKjqZtDzUNvNShugsBUVcjN+gidYVkkyTbdaWtwPp83PE1bcvLTsRp0iVH
         Hc47DwRtbPPWo0Gys9Agj7KyRgFS4Y76unxmCgzzWkAIftucESg5PAmf1RL+vt+S9MuG
         XC4Z9KByepRD7KUIXgv0jM20B3MEFovMSIKRtAEoRCZUgpq8maID3WyDWeVt5DrV9Vfe
         VJ505zxuwxFIY5i6I+2REIPBWef1j77OLU9ZjY8dpRDYUQgWQRDhxTw0Z7JDOiOAym+B
         e0ZQ==
X-Gm-Message-State: ABy/qLZwUEmlKa8t1lTfsv8R1eW2A6HCd6KRKptfDjbtfQnMahwKEjyh
	727pqh01mYLI3wJFxepFo/QeMO6fpIk=
X-Google-Smtp-Source: APBJJlEYKsvurp295A8fafMIlO/Ww5a4Tb9xWwALkTdp3vT1IkXrzdcwiuV8Q5VT2RegS9LqjAY/fQ==
X-Received: by 2002:a19:ab09:0:b0:4fe:1ecf:8ab4 with SMTP id u9-20020a19ab09000000b004fe1ecf8ab4mr6014686lfe.18.1691064328125;
        Thu, 03 Aug 2023 05:05:28 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 4/6] xen/riscv: introduce trap_init()
Date: Thu,  3 Aug 2023 15:05:20 +0300
Message-ID: <921ea81d2571ce3103336cd2bf6619b8a8a6751c.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V7:
 - #define cast_to_bug_frame(addr) ((const struct bug_frame *)(addr)).
 - remove unnecessary comments in trap_init() function.
---
Changes in V6:
 - trap_init() is now called after enabling the MMU.
 - Add additional explanatory comments.
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Nothing changed
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Rename setup_trap_handler() to trap_init().
  - Add Reviewed-by to the commit message.
---
 xen/arch/riscv/include/asm/traps.h |  1 +
 xen/arch/riscv/setup.c             |  3 +++
 xen/arch/riscv/traps.c             | 12 ++++++++++++
 3 files changed, 16 insertions(+)

diff --git a/xen/arch/riscv/include/asm/traps.h b/xen/arch/riscv/include/asm/traps.h
index 3fef318478..c30118e095 100644
--- a/xen/arch/riscv/include/asm/traps.h
+++ b/xen/arch/riscv/include/asm/traps.h
@@ -9,6 +9,7 @@
 
 void do_trap(struct cpu_user_regs *cpu_regs);
 void handle_trap(void);
+void trap_init(void);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6593f601c1..abdd1669c6 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -5,6 +5,7 @@
 
 #include <asm/early_printk.h>
 #include <asm/mm.h>
+#include <asm/traps.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
@@ -15,6 +16,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     remove_identity_mapping();
 
+    trap_init();
+
     early_printk("Hello from C env\n");
 
     early_printk("All set up\n");
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ea1012e83e..3e08ec44f7 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -12,6 +12,18 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+/*
+ * Initialize the trap handling.
+ *
+ * The function is called after MMU is enabled.
+ */
+void trap_init(void)
+{
+    unsigned long addr = (unsigned long)&handle_trap;
+
+    csr_write(CSR_STVEC, addr);
+}
+
 static const char *decode_trap_cause(unsigned long cause)
 {
     static const char *const trap_causes[] = {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576307.902299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX59-0003Vs-R0; Thu, 03 Aug 2023 12:05:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576307.902299; Thu, 03 Aug 2023 12:05: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 1qRX59-0003SP-HE; Thu, 03 Aug 2023 12:05:31 +0000
Received: by outflank-mailman (input) for mailman id 576307;
 Thu, 03 Aug 2023 12:05: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX57-0002sb-Qy
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05:29 +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 0976e245-31f6-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:05:29 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-4fe463420fbso1494136e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05: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: 0976e245-31f6-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064328; x=1691669128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=STtKrHA1Sag04TDET++CsZtqnaGprv3A+LtpFHsKLZ0=;
        b=Z0jMj2MbtzzeO2TkiK5IxBi2JLOcWaT3c8iXqSjMnwrOGXZUxChrwf3fJ6Njq9NcVg
         dRPhoo+l+mJa19wEcxQjU64qTTKCIR8LjyxLYOZpuGEcBwcxJzLogBH7tZhR+fBHizdW
         FmLkSwomBCgO9l7RqQcN9+WlhoMFMj5mHy7ib5Iit0e2JMzv+CF/muG6vYSt5ZE3ibcU
         9spL5V5yElrnhTAlTr0VY2VWfPSYWwt4eke7C56tgnVY8AAAZGF7zM2wXeeQyI2JQu+F
         hOBIUvJQ8pJHT4KgzwFIu7+j7mGfJ99g2UPQXBYwfo2oRIuL53pJDx6g6jQbq/Yup80D
         Vv7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064328; x=1691669128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=STtKrHA1Sag04TDET++CsZtqnaGprv3A+LtpFHsKLZ0=;
        b=FHhHILzsQ6yrf0ogRkFl8Z9kMFVZziWB08aFbDB6BZH5TXUyyCNiRIU+ChW2K1no6p
         fEEyT4ZZC2BGejUVujmMfuaS9u3x6rkeTagQ2QTsXP+yLi0WbigKdu+WJzgQ3npB4vgH
         CPt5NonHCBcZnfjWW9AJY1ZqFmIa7ygSqMX18X5nVxEFDlAyRcBmWMz36NE5tB57j5/L
         4/wt6llg3wY9mOPyp+zGKARqCiWR3KWhHVAlAdcbREK7jQyIXOJEQZGw0bTIn4bbDi7L
         SstIhBHiZgRvfNmXL1WxVgJYyZJBRryH8Nbn7HwLGewA6ugEUNcttFScY83gQxObwY70
         3c/g==
X-Gm-Message-State: ABy/qLbY8Wz8RklVU0kExmBABzt4ZV5j+VPwZdtpa4tnVTOgzFrpCRL/
	92wbOolBDu6L3oycsO8sfT9Xo1dkfgA=
X-Google-Smtp-Source: APBJJlHvs7TfwdJjxWn0f+qWGjUj7YUnxmhAGYG0gOXVrOItVzjirQEsu0ZTFkM/slG5jIGyujl5Gg==
X-Received: by 2002:a05:6512:4003:b0:4f8:7055:6f7e with SMTP id br3-20020a056512400300b004f870556f7emr6298170lfb.44.1691064327475;
        Thu, 03 Aug 2023 05:05:27 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 3/6] xen/riscv: introduce decode_cause() stuff
Date: Thu,  3 Aug 2023 15:05:19 +0300
Message-ID: <25e8e5c5826199ad6f91fb5106472917765d8260.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces stuff needed to decode a reason of an
exception.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Nothing changed. Only rebase.
---
Changes in V6:
 - Remove usage of LINK_TO_LOAD() due to the MMU being enabled first.
 - Change early_printk() to printk()
---
Changes in V5:
  - Remove <xen/error.h> from riscv/traps/c as nothing would require
    inclusion.
  - decode_reserved_interrupt_cause(), decode_interrupt_cause(), decode_cause, do_unexpected_trap()
    were made as static they are expected to be used only in traps.c
  - use LINK_TO_LOAD() for addresses which can be linker time relative.
---
Changes in V4:
  - fix string in decode_reserved_interrupt_cause()
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Make decode_trap_cause() more optimization friendly.
  - Merge the pathc which introduces do_unexpected_trap() to the current one.
---
 xen/arch/riscv/traps.c | 84 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 83 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..ea1012e83e 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,10 +4,92 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+
+#include <asm/csr.h>
+#include <asm/early_printk.h>
 #include <asm/processor.h>
 #include <asm/traps.h>
 
-void do_trap(struct cpu_user_regs *cpu_regs)
+static const char *decode_trap_cause(unsigned long cause)
+{
+    static const char *const trap_causes[] = {
+        [CAUSE_MISALIGNED_FETCH] = "Instruction Address Misaligned",
+        [CAUSE_FETCH_ACCESS] = "Instruction Access Fault",
+        [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction",
+        [CAUSE_BREAKPOINT] = "Breakpoint",
+        [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned",
+        [CAUSE_LOAD_ACCESS] = "Load Access Fault",
+        [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned",
+        [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault",
+        [CAUSE_USER_ECALL] = "Environment Call from U-Mode",
+        [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode",
+        [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode",
+        [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault",
+        [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault",
+        [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault",
+        [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page Fault",
+        [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault",
+        [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction Fault",
+        [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page Fault",
+    };
+
+    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
+        return trap_causes[cause];
+    return "UNKNOWN";
+}
+
+static const char *decode_reserved_interrupt_cause(unsigned long irq_cause)
+{
+    switch ( irq_cause )
+    {
+    case IRQ_M_SOFT:
+        return "M-mode Software Interrupt";
+    case IRQ_M_TIMER:
+        return "M-mode TIMER Interrupt";
+    case IRQ_M_EXT:
+        return "M-mode External Interrupt";
+    default:
+        return "UNKNOWN IRQ type";
+    }
+}
+
+static const char *decode_interrupt_cause(unsigned long cause)
+{
+    unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG;
+
+    switch ( irq_cause )
+    {
+    case IRQ_S_SOFT:
+        return "Supervisor Software Interrupt";
+    case IRQ_S_TIMER:
+        return "Supervisor Timer Interrupt";
+    case IRQ_S_EXT:
+        return "Supervisor External Interrupt";
+    default:
+        return decode_reserved_interrupt_cause(irq_cause);
+    }
+}
+
+static const char *decode_cause(unsigned long cause)
+{
+    if ( cause & CAUSE_IRQ_FLAG )
+        return decode_interrupt_cause(cause);
+
+    return decode_trap_cause(cause);
+}
+
+static void do_unexpected_trap(const struct cpu_user_regs *regs)
 {
+    unsigned long cause = csr_read(CSR_SCAUSE);
+
+    printk("Unhandled exception: %s\n", decode_cause(cause));
+
     die();
 }
+
+void do_trap(struct cpu_user_regs *cpu_regs)
+{
+    do_unexpected_trap(cpu_regs);
+}
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576305.902284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX58-0003Bp-Q1; Thu, 03 Aug 2023 12:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576305.902284; Thu, 03 Aug 2023 12: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 1qRX58-0003B0-Kb; Thu, 03 Aug 2023 12:05:30 +0000
Received: by outflank-mailman (input) for mailman id 576305;
 Thu, 03 Aug 2023 12: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX57-0002sc-36
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05:29 +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 084ba611-31f6-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 14:05:26 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-4fe2de785e7so1579671e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05:05:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 084ba611-31f6-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064326; x=1691669126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xJtJCMw7fy83NnUSxcXJn4fOwoFlzc9n7K+NQt3JNLk=;
        b=RNWNGd0waEqqsrrlGRF6VMWNTiCqywapKS5vo7BDm/+3b5nQYmkZLLkCFu+QhGUnCI
         A3mkbvy/dM7C31HgETx5n8dfAM2ieUsPJ75KPDq34gzwYkKpibRifIyqzKh9tbAcC2wb
         FzLAgrAq0BSwkJAGEgh/krJdAZ53EqRqQfki7kt9+MdkNdyy0jFqbzGJ4PNJPoDCioFV
         ZWvzf6YQxuqJ+A6s6+uDZFIlrFYSODlraxDAa7vJZGVNttm5r54eJMASsoCKj0uvtbFC
         8TxuzXpx7a8n5/aUv94EYHpsxqQDES986incGMJPV9DnoPFDLIwflke/HNChmXsyeM8N
         know==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064326; x=1691669126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xJtJCMw7fy83NnUSxcXJn4fOwoFlzc9n7K+NQt3JNLk=;
        b=UXE2H3ruglHdDd2KB9wyZ54dxrHlikIDOBZR4VpyciFgzMaa/Q6cvTQTMJOtSZxiW8
         rl0OLkrVGcHRyC05bXf40MWRa299S8/5VekpHIGfQ9Du6QxeFyJ/JKk94W4Dpd6pDagT
         68kWtCqygGNRqqmo5m7I1yNHxdemlRjela4Woouy++lOqTfLI23jsHmU3RIAVW929uM5
         Z8hBOhrCGwOCZqDxtRHnM/vloCSLDtJaOx9yXZzePNBoP9zAFp2ml/MLWuwHuP7sESGZ
         lUgfZEioTlmQBWOF4DIXyl02I7NNLjVpXxe0kJ+Oojvvz70Z4llJGXJ0uFi97CSD41gF
         hAyA==
X-Gm-Message-State: ABy/qLa9TdQ2Zh+DrG5UaRgNCdd1+iLzcCbNLdBDctqikXx+15w5wXIT
	lsCjguoHr/3zVi/Do9f2rGYWZsCvW/I=
X-Google-Smtp-Source: APBJJlHetGi4rKmwdsyTXvWMkMyAuaRKX7fJZoGlpHhx8H9/f9PpXxsZXR+gKwxg7MV/tlVe56k1+g==
X-Received: by 2002:a05:6512:2009:b0:4f8:6560:6436 with SMTP id a9-20020a056512200900b004f865606436mr6501358lfb.9.1691064325827;
        Thu, 03 Aug 2023 05:05:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 1/6] xen/riscv: introduce temporary printk stuff
Date: Thu,  3 Aug 2023 15:05:17 +0300
Message-ID: <4fbdbbb3bf2bf2ebee2709bbb52be02c89a4a55a.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introdcuces printk related stuff which should be deleted
after Xen common code will be available.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - only rebase was done.
---
Changes in V6:
 - the patch was introduced in the current patch series (V6)
---
 xen/arch/riscv/early_printk.c | 168 ++++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)

diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 610c814f54..60742a042d 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -40,3 +40,171 @@ 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
+
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576303.902268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX57-0002sy-9x; Thu, 03 Aug 2023 12:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576303.902268; Thu, 03 Aug 2023 12:05:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX57-0002sr-5Q; Thu, 03 Aug 2023 12:05:29 +0000
Received: by outflank-mailman (input) for mailman id 576303;
 Thu, 03 Aug 2023 12: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX56-0002sb-6b
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05: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 08974c9d-31f6-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:05:27 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-4fe48d0ab0fso1506314e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05: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: 08974c9d-31f6-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064326; x=1691669126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y+DU3kYIXVYlczgnjPIgAblT5y0PqecHU2rZnswjn2g=;
        b=QpM/5DX/BO83ao1VktAURaEd5vCgzt+w0XxW1EJmZXBfkcFVuYv39XZXGen2V/W4T0
         tGVUo5RgkpDe4TE2w+dlXerXCXb8ZTG60Rf1Xp4Oep2MG4X5l/PLahyMovcjcZlONjtk
         BqEQgZBg2fzjkK8GQ1QYllV7nixVPOpRM/MzlfMspE00SQIuskK9asiii0eAkBrluog6
         Ohy+t7XsnC/3L0iDYVdEbl5hTNsTkbutZ5WMefoIPETJUFK73EMT9MzfACcvEsXFvv9P
         fgqhkZ3fYsPp2rwIeYJmEYhPShKTe507oRgPGCj+xKE6cJiQrLgvbsyi9ttpjOSMAT6F
         tNwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064326; x=1691669126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Y+DU3kYIXVYlczgnjPIgAblT5y0PqecHU2rZnswjn2g=;
        b=cnFHttdE7hRW8E9z7ofdcgBRw9I5oWfs+rFw9T+CQLoVL9s1IeZxK55EvihLDj69+L
         tV6ba2vusfsuJb1cmIIsNWUZEYvUBeoieRhVdXWgpn1MCoO7+l681xMBwzqoEk/3Zpm9
         JuOTlmErvCFbrkHduP1Dk4U57QL3ZvLXTMVcLErBBqnXvU5Ijd5KCFUASjpNjW+aff7g
         uGiRIstWQB61k4/q7KjYj5PSzpd4q8HKAesaAMI2DSzzyWlDN0YiEfZxAwlKpFk0bpAK
         ie/bVpEnjVv5G6AFJxwXLFoBXC5K6lwp8jIjbSc+l+I8M/B791Jkoy8PBhhYqgVEgKkI
         ZU7Q==
X-Gm-Message-State: ABy/qLYwxxTuKDyngEqXIYY1BhA2aZY1cNETapvA3vFlFOzw1PGdwvRj
	1XWHwQR0L5BMb9as9M3e/7NvnsJ2Qds=
X-Google-Smtp-Source: APBJJlEbonaD9/0BAPXd1RpRxUS7o9+LRSnGh1aH+kdhyaTHliEbakbUGPrbaDGLYJumlFmokTiuTQ==
X-Received: by 2002:a05:6512:2253:b0:4fe:711:2931 with SMTP id i19-20020a056512225300b004fe07112931mr7480300lfu.22.1691064326389;
        Thu, 03 Aug 2023 05:05:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 2/6] xen/riscv: introduce dummy <asm/bug.h>
Date: Thu,  3 Aug 2023 15:05:18 +0300
Message-ID: <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<xen/lib.h> will be used in the patch "xen/riscv: introduce
decode_cause() stuff" and requires <asm/bug.h>

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Nothing changed. Only rebase.
---
Changes in V6:
 - Nothing changed. Only rebase.
---
Changes in V5:
 * the patch was introduced in the current patch series (V5)
---
 xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bug.h

diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
new file mode 100644
index 0000000000..e8b1e40823
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2021-2023 Vates
+ *
+ */
+#ifndef _ASM_RISCV_BUG_H
+#define _ASM_RISCV_BUG_H
+
+#endif /* _ASM_RISCV_BUG_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576308.902316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX5B-00042e-5d; Thu, 03 Aug 2023 12:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576308.902316; Thu, 03 Aug 2023 12: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 1qRX5A-000418-Rf; Thu, 03 Aug 2023 12:05:32 +0000
Received: by outflank-mailman (input) for mailman id 576308;
 Thu, 03 Aug 2023 12:05:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX59-0002sb-M7
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05:31 +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 0af92a90-31f6-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:05:31 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-4fe1c285690so1484750e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:31 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05:05: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: 0af92a90-31f6-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064330; x=1691669130;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VSibP5eTiQgTk20HjOHTiUPAjHnFr8NTK33Zlp/pEgM=;
        b=W6CAZlzPU+q9DyJ4PxnDSCSGu2OKImYbHfsVDqpgeVcB03n78aqZo+OJFUKhCPpqvA
         3SGs0+aJjno9H1WyopozDLnhJxISIFMSaxf5NLJQGEzb1CHm3DRvfh91cn4q4EnPj/3q
         3a8Ty1x2z0FR5T7q7R4eXyMRFrgt1P1V6BAZYkNWfIfMb00+HcdlcLNohfNaY8ftV67s
         5f5FqWruN5SCnuRSge+9zxNRYLGgHQYSuE2wFv3eZOP/uzY3NBlO7s9B0QGBVll4u7mP
         NFqXGNaUDBqtsDocKl8aBME+k7rlfkieewXMxj3i5iq1bVXVPJulwavaLh5wgZhIicWm
         0VXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064330; x=1691669130;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VSibP5eTiQgTk20HjOHTiUPAjHnFr8NTK33Zlp/pEgM=;
        b=EOC2fxJzBMSbmepzTzArxx+7G03PXK0jH5oK5t2wuCoSqiBY/DSO1a+4rf+8zuFFuQ
         aA4ell+Ff7PmY5c63LVaPXCdhyocZsweivTg5Bud1cXJ4n9RFf5Uz8R/xvKa6tBidS50
         roUiDXwt9lTA81oYvIWTB1XojQsRVGkWVV6VF4j6C54ATEQYrslA9eXR2oHOHhla1XJ7
         h++MAQK5BwQDBLnO7DAG1RcrgHY/z++XEm34l+/pOSlJC8IFAe5gfwTOkk1HI/AV9dmH
         4IBxlbkWCecZLEo+Jw77YAhplxlxBDPZjTC7ZSQHQMNHXb+UHrUZ4T2LEx9zOr96gPNo
         chHQ==
X-Gm-Message-State: ABy/qLbKmrqzKWkCdOeR8AM/isJExFwj4ZqcEPwPo+PN37X6sJxQEMqx
	VAzKicEwdV2JJ7hehx2audqx4a88GWg=
X-Google-Smtp-Source: APBJJlG4UqEUWpc3dVF03OxtTwW2iHbpqYjBVtCRroEIaKyZdZ+eNxE4rlulDSKQ0g3NphinHlIrvA==
X-Received: by 2002:a05:6512:2521:b0:4f7:6775:2a66 with SMTP id be33-20020a056512252100b004f767752a66mr8694805lfb.53.1691064330433;
        Thu, 03 Aug 2023 05:05:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 6/6] xen/riscv: test basic handling stuff
Date: Thu,  3 Aug 2023 15:05:22 +0300
Message-ID: <89553c7196a3e01294a17a0ae3946544b1b14e04.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V6:
  - Nothing changed. Only rebase.
---
Changes in V6:
  - Nothing changed
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Add Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Nothing changed
---
 xen/arch/riscv/setup.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index abdd1669c6..ab83f84e67 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 
@@ -11,6 +12,20 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
+static void test_run_in_exception(struct cpu_user_regs *regs)
+{
+    early_printk("If you see this message, ");
+    early_printk("run_in_exception_handler is most likely working\n");
+}
+
+static void test_macros_from_bug_h(void)
+{
+    run_in_exception_handler(test_run_in_exception);
+    WARN();
+    early_printk("If you see this message, ");
+    early_printk("WARN is most likely working\n");
+}
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
@@ -18,6 +33,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    test_macros_from_bug_h();
+
     early_printk("Hello from C env\n");
 
     early_printk("All set up\n");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:05:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576309.902320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRX5B-000461-Cx; Thu, 03 Aug 2023 12:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576309.902320; Thu, 03 Aug 2023 12: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 1qRX5B-000455-63; Thu, 03 Aug 2023 12:05:33 +0000
Received: by outflank-mailman (input) for mailman id 576309;
 Thu, 03 Aug 2023 12:05: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=DEIV=DU=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qRX59-0002sc-P8
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:05: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 0a391522-31f6-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 14:05:29 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-4fe0e23a4b1so1554116e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 05:05:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 e22-20020ac25476000000b004fdfefdf4acsm3304557lfn.39.2023.08.03.05.05.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 03 Aug 2023 05: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: 0a391522-31f6-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691064329; x=1691669129;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n0T/c4H8PYV8a+tUf8bqa7kNmhfFOIl+4o24A/6F65Y=;
        b=m802bzewGsdutyqXiwNNiqsYfn3M4z9y5xCanYDSAoA3f8ePVkg/q+T3QSz1krZJbW
         jjE8Xme9E05+k17DEBsRkiMxZZykmstizUoamdINVEJCYaIYmeHaHYC9ZVoVkasrusoA
         uf5rdFd9/O+WPvJhaFwBNPQs2EImt+HITbwLhyIKB2WpT/gVrGZpyDy/LQDO4RiHAiPz
         gov6/EsKwHHrHiJ03r9iFFaks7XPrryTi/ovEt/VWVMnw0jgF22Xz7tTfh9cI5elTtD2
         5VfQWJx/V7Y2a1p0RNkqKmTGedc6bUl0Rh/szGEDOmkoLoM9ZDoxeEEKbtVLYPeUx8Ob
         O8xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691064329; x=1691669129;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=n0T/c4H8PYV8a+tUf8bqa7kNmhfFOIl+4o24A/6F65Y=;
        b=iKYl6iSfjwVm7hBvMLRCItxmHJYRF9QbfVImBux0YncG32F06xsVe31eMDWjJ0+vie
         hXyyXCmiMKFBszlw9D7JtTFL74Gn6Ue2tAKRrX7bcktHsWx0R+FPu0kPMITQ19S+J8YZ
         5vks78AEE4lWi+8mD6Y3+vOK2c7JUpddKeVNEpQvltD16Kkwi3IPbqxmk6ySrwVEbxfd
         IMc/tF4f8KqI+SM0jkAc18/UnVZ4xdAUoEpGX8M8WHWMrQhqXLKiuQzr8pnCDsr4zEkb
         vZHGjLoYWaFwhKfrP1BAtYLRLBd6R7HRh+fPIvmpAXIG7pN5/7rgtKMG1tWVA0JfeiJ0
         EbGg==
X-Gm-Message-State: ABy/qLY60VFWowZGvnfR/5SRbw1eD9uO5VITQs4c4IVhsXXyoYxpaUpx
	KUFFmj77MAhjFD7c+V9N0pZj4SWzuCk=
X-Google-Smtp-Source: APBJJlFcG/cnXqx2b/EBsYl3rOroJ1/VDytVVW7Wh4XLH1gBRwg4iEuipD+1UxKgXe6vmMzf+NnUCA==
X-Received: by 2002:ac2:5b4e:0:b0:4fe:1f1c:184f with SMTP id i14-20020ac25b4e000000b004fe1f1c184fmr7005761lfp.44.1691064329028;
        Thu, 03 Aug 2023 05:05:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 5/6] xen/riscv: introduce an implementation of macros from <asm/bug.h>
Date: Thu,  3 Aug 2023 15:05:21 +0300
Message-ID: <9fdda7716faf412f1e2cdf9a990c98e64c4b21f3.1691063432.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691063432.git.oleksii.kurochko@gmail.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces macros: BUG(), WARN(), run_in_exception(),
assert_failed.
To be precise, the macros from generic bug implementation (<xen/bug.h>)
will be used.

The implementation uses "ebreak" instruction in combination with
diffrent bug frame tables (for each type) which contains useful
information.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - move to this patch the definition of cast_to_bug_frame() from the previous patch.
 - update the comment in bug.h.
 - update the comment above do_bug_frame().
 - fix code style.
 - add comment to read_instr func.
 - add space for bug_frames in lds.S. 
---
Changes in V6:
  - Avoid LINK_TO_LOAD() as bug.h functionality expected to be used
    after MMU is enabled.
  - Change early_printk() to printk()
---
Changes in V5:
  - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
  - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
  - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
    the patch
  - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce read_instr() to
    read instruction properly as the length of qinstruction can be either 32 or 16 bits.
  - Code style fixes
  - update the comments before do_bug_frame() in riscv/trap.c
  - Refactor is_valid_bugaddr() function.
  - introduce macros cast_to_bug_frame(addr) to hide casts.
  - use LINK_TO_LOAD() for addresses which are linker time relative.
---
Changes in V4:
  - Updates in RISC-V's <asm/bug.h>:
    * Add explanatory comment about why there is only defined for 32-bits length
      instructions and 16/32-bits BUG_INSN_{16,32}.
    * Change 'unsigned long' to 'unsigned int' inside GET_INSN_LENGTH().
    * Update declaration of is_valid_bugaddr(): switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'.
  - Updates in RISC-V's traps.c:
    * replace /xen and /asm includes 
    * update definition of is_valid_bugaddr():switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'. Code style inside function
      was updated too.
    * do_bug_frame() refactoring:
      * local variables start and bug became 'const struct bug_frame'
      * bug_frames[] array became 'static const struct bug_frame[] = ...'
      * remove all casts
      * remove unneeded comments and add an explanatory comment that the do_bug_frame()
        will be switched to a generic one.
    * do_trap() refactoring:
      * read 16-bits value instead of 32-bits as compressed instruction can
        be used and it might happen than only 16-bits may be accessible.
      * code style updates
      * re-use instr variable instead of re-reading instruction.
  - Updates in setup.c:
    * add blank line between xen/ and asm/ includes.
---
Changes in V3:
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
---
Changes in V2:
  - Remove __ in define namings
  - Update run_in_exception_handler() with
    register void *fn_ asm(__stringify(BUG_FN_REG)) = (fn);
  - Remove bug_instr_t type and change it's usage to uint32_t
---
 xen/arch/riscv/include/asm/bug.h |  27 +++++++
 xen/arch/riscv/traps.c           | 128 +++++++++++++++++++++++++++++++
 xen/arch/riscv/xen.lds.S         |  10 +++
 3 files changed, 165 insertions(+)

diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
index e8b1e40823..f5ff96140f 100644
--- a/xen/arch/riscv/include/asm/bug.h
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -7,4 +7,31 @@
 #ifndef _ASM_RISCV_BUG_H
 #define _ASM_RISCV_BUG_H
 
+#ifndef __ASSEMBLY__
+
+#define BUG_INSTR "ebreak"
+
+/*
+ * The base instruction set has a fixed length of 32-bit naturally aligned
+ * instructions.
+ *
+ * There are extensions of variable length ( where each instruction can be
+ * any number of 16-bit parcels in length ).
+ *
+ * Compressed ISA is used now where the instruction length is 16 bit  and
+ * 'ebreak' instruction, in this case, can be either 16 or 32 bit (
+ * depending on if compressed ISA is used or not )
+ */
+#define INSN_LENGTH_MASK        _UL(0x3)
+#define INSN_LENGTH_32          _UL(0x3)
+
+#define BUG_INSN_32             _UL(0x00100073) /* ebreak */
+#define BUG_INSN_16             _UL(0x9002)     /* c.ebreak */
+#define COMPRESSED_INSN_MASK    _UL(0xffff)
+
+#define GET_INSN_LENGTH(insn)                               \
+    (((insn) & INSN_LENGTH_MASK) == INSN_LENGTH_32 ? 4 : 2) \
+
+#endif /* !__ASSEMBLY__ */
+
 #endif /* _ASM_RISCV_BUG_H */
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index 3e08ec44f7..439c098c22 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -5,6 +5,8 @@
  * RISC-V Trap handlers
  */
 
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
 
 #include <asm/csr.h>
@@ -12,6 +14,8 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+#define cast_to_bug_frame(addr) ((const struct bug_frame *)(addr))
+
 /*
  * Initialize the trap handling.
  *
@@ -101,7 +105,131 @@ static void do_unexpected_trap(const struct cpu_user_regs *regs)
     die();
 }
 
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    printk("implement show_execution_state(regs)\n");
+}
+
+/*
+ * TODO: generic do_bug_frame() should be used instead of current
+ * implementation panic(), printk() and find_text_region()
+ * (virtual memory?) will be ready/merged
+ */
+int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
+{
+    const struct bug_frame *start, *end;
+    const struct bug_frame *bug = NULL;
+    unsigned int id = 0;
+    const char *filename, *predicate;
+    int lineno;
+
+    static const struct bug_frame *bug_frames[] = {
+        &__start_bug_frames[0],
+        &__stop_bug_frames_0[0],
+        &__stop_bug_frames_1[0],
+        &__stop_bug_frames_2[0],
+        &__stop_bug_frames_3[0],
+    };
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        start = cast_to_bug_frame(bug_frames[id]);
+        end   = cast_to_bug_frame(bug_frames[id + 1]);
+
+        while ( start != end )
+        {
+            if ( (vaddr_t)bug_loc(start) == pc )
+            {
+                bug = start;
+                goto found;
+            }
+
+            start++;
+        }
+    }
+
+ found:
+    if ( bug == NULL )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        goto end;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s:%d\n", filename, lineno);
+
+        show_execution_state(regs);
+
+        goto end;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s:%d\n", filename, lineno);
+
+        show_execution_state(regs);
+
+        printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+
+        printk("Assertion %s failed at %s:%d\n", predicate, filename, lineno);
+
+        show_execution_state(regs);
+
+        printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+    }
+
+    return -EINVAL;
+
+ end:
+    return 0;
+}
+
+static bool is_valid_bugaddr(uint32_t insn)
+{
+    return insn == BUG_INSN_32 ||
+           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;
+}
+
+/* Should be used only in Xen code ? */
+static uint32_t read_instr(unsigned long pc)
+{
+    uint16_t instr16 = *(uint16_t *)pc;
+
+    if ( GET_INSN_LENGTH(instr16) == 2 )
+        return (uint32_t)instr16;
+    else
+        return *(uint32_t *)pc;
+}
+
 void do_trap(struct cpu_user_regs *cpu_regs)
 {
+    register_t pc = cpu_regs->sepc;
+    uint32_t instr = read_instr(pc);
+
+    if ( is_valid_bugaddr(instr) )
+    {
+        if ( !do_bug_frame(cpu_regs, pc) )
+        {
+            cpu_regs->sepc += GET_INSN_LENGTH(instr);
+            return;
+        }
+    }
+
     do_unexpected_trap(cpu_regs);
 }
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 3fa7db3bf9..a10e0ad87c 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -45,6 +45,16 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata = .;          /* Read-only data */
+        /* Bug frames table */
+        __start_bug_frames = .;
+        *(.bug_frames.0)
+        __stop_bug_frames_0 = .;
+        *(.bug_frames.1)
+        __stop_bug_frames_1 = .;
+        *(.bug_frames.2)
+        __stop_bug_frames_2 = .;
+        *(.bug_frames.3)
+        __stop_bug_frames_3 = .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:19:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576334.902339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXIf-0007pb-Oh; Thu, 03 Aug 2023 12:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576334.902339; Thu, 03 Aug 2023 12: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 1qRXIf-0007pU-IY; Thu, 03 Aug 2023 12:19:29 +0000
Received: by outflank-mailman (input) for mailman id 576334;
 Thu, 03 Aug 2023 12: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRXId-0007pO-Nh
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:19:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcdaaee8-31f7-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:19:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9957.eurprd04.prod.outlook.com (2603:10a6:102:385::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 12:19:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 12:19:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcdaaee8-31f7-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BaYwzBPEX9lr2OJVd1/Arq/DJhrPKi1q/bc/j7ya3lWX9fi6b8ob4z/887Vl8s4Ohv/75OaPIF2dz5pX5G+DtLZulkp8Sav4CANd6O5Cno2Ff7aCT1VvFdlap0cHin7JGLx5uu6msAmhg43iF+pD1xaTlwETDppPrKNDHvA5Tz+uBylZtsurtNOXlMBvpk0GVFlV5MUTo8lc2QZ6NbOCeUXkRwXzwgM+XXRcZaA+cuk8KaehSrBaJldKx4PLGdMoYtEYJbmEFfkvZtBnCsF3xKZq08/Tegk0vIjuf+O9w+77AtqPQB5E0+7WQW+leAxF7jDyZApK7bCg21565pU9Lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4dhR017bDjrmKAEZTxdhb12weLlVVl90mgs3HHFP1mQ=;
 b=cb/K/GwQYZAQo4+8aY9amQ1ASgkqMyMLk9deFJJxlCEplSdqg5h2CfIm1O6uHCchVXuLPJJT7HiDjH6ugzmglCZIK1/USsNGsVOFC1+ITlZ77TEWT2kXVHtUFIoXxwTlVqP22cT7L6QCeIFdww7FIormHBxp1YkUhP3JvB8GGD8WwH1RNEcnk6rTY6OqYHZYPLDyUOZ1D857m3mCWMG5SsGYgZcVkxlELEaEZn6YBM12uSxqhYuSKlP8jFgrLFHJbbkf5VBksTgtjljxmzhH+jD0uoTQ9FYZaac9GsL8kjBuYbNMY9E6U7nA+XNd+eitXbFihhUvdL9CwXIAqSYyEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4dhR017bDjrmKAEZTxdhb12weLlVVl90mgs3HHFP1mQ=;
 b=AtqngBJpoGB6ggEiJvgtgd7+czBIwgUZCdsnMoRueCzDIzxjexqPelMMz4bsnAywvN909sZ2i5HEPioc8WqW+2bpyxLTgLwTygwhmso7oDWdWUa4T/X+ufjfqUhQ2StkVk6iuusvEJ/bduxpfUJ4k127IP+pti6gMNPxCCF7mbR2C7pUxO6GHfBIbk21xf7aRGuYgbOxtbnJgJjNRf6Y/Lwh1Fvjt+sZnq+vOdBCJG5fN/PtJdby7q5c7drtee/OqNbQFI7NOki3MkCKtmp0dsal9XIaJLOtDCylwp0Ypu6N4QfUheNGhHU67SE79gPksxIYoeHr8RpUL9K/XjxjUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <52a02ef3-80a7-9000-4644-38adbb5a2573@suse.com>
Date: Thu, 3 Aug 2023 14:19:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230803104438.24720-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9957:EE_
X-MS-Office365-Filtering-Correlation-Id: 0773aea1-301c-4a54-e1cb-08db941bdf96
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pp7oYPnCZVLhTJfM1bQg6MG0CRlLIrCVH7gf258mfLT/wYXwHpcfhmY+Z4M21r+9gfaVeX2pgChZZff98IsyLCkdRsKYGmpHh7/VSHU4I3GrZMek4J0QkgdWwXrvsgoDHEzz2Az4c7G1avaSfZqSrwR390DbPmexhEsevf43eF4YWyagbtXs8SLbTBcUEWyLnfOUxNhMNqwUxHhIwANaYn3QUAwYz5cburzuVZ8ew29I0TG7btQkTuZy0GbxoqM5//pIpq//r0oiRB+heVZEWLs7B34LOnFtSgTN3UImKutv0BSBRbEZS2OuEsW7xSNf8+HPtbYxc1XXqZbJJDLCeXdtMa2oONJsaHzgGUWnCM33NTMsGHZXZh6stzpPVeSqGz0PB+g89G3QpwdHKQUhFsPRipVDH0DDqXb8FvA/TAVuUX/x6KJkF3yhkIZwxqp8iO6gdqLgReSaVKfvPMrdv4Mih6F01bFsmlAhPtC+8Ea2CahW/VHzE+47XqaBuHdw0D0zUnTNThQs0wsi2ixk/MEJjCl6UxEvoY477YPYNl9wKeGHbkT1uy61ZQZ8hppupIaec4Uj6hIp3Thwh4jig+q6cJoFK2XPT35kcZg8FS77ZIyOeC6f3OmzjwY7hAae
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(316002)(2906002)(66946007)(4326008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(6666004)(966005)(6512007)(54906003)(478600001)(38100700002)(36756003)(31696002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wk95WWljb3U0YzdkWVBkMFZmd3loS2VaM3d3b3BlZVZYMDVwK2FIQkpMUkZG?=
 =?utf-8?B?QmdmeVNYSGpxV1pyalVPbTdFSW5pTnFGWjJjczU5alI4NG5rYnBPaVlkcTMy?=
 =?utf-8?B?QUZaYUtaZTc2WnlRU0NLQXdTSFhxMy9TRHdmOCtZOHZkSnlYN0RtcGd5WFVu?=
 =?utf-8?B?TjRDeE9uMXF6K0RuWmpGeldJMHdaVC9uVWFEaStiQnR3KzVOZDZKNUJJVE9W?=
 =?utf-8?B?b1pmVW4xTW0wSWRQNDlHaUhwTG9CK1RWOTQ0bHJ2c29DN05sOHF1cytJZ2RR?=
 =?utf-8?B?RFB5cjVkcnR1dlZROXBjZk55TmNCVXB6K0pRcXJGRW9GOWJ0WG1wNUExcUFV?=
 =?utf-8?B?T1JjbFoyd0ZNMm43RGMrTFVyWlNlemZmSjc0aUpzalZzZDlnV0hselhpNU43?=
 =?utf-8?B?ZVBDZEtpQkc0M1FEeTN3Z0R6dmFRdkhoL2pFclZFVDdQcEtHMUw1dEZBNlRS?=
 =?utf-8?B?aW9UMU9jVWlZUCtTK2xBSExOaGRsWS9GWGhNU0pydFhvaTArb294dld4dFpn?=
 =?utf-8?B?UVJLRHZKU0s1ajV4dXlJOE5FeWZ0SWxCMnkrR1ZGdGxpU0N0SVhhTjFKc3Vh?=
 =?utf-8?B?NmFMdkFvMlV6U2VydTRsZjRkVUJ2R1ZCNjh5Uk5jZEUzMnRSNGdCcUFBMHA3?=
 =?utf-8?B?dm55U0VSYmd5c015MzVnR1N1MFdGZDIrQ25VMHRweENFeVhvNVFITUZGZGZS?=
 =?utf-8?B?ZTFaSkl6cE9URVh2ZVV1eXJLMXNmcmx6QUNHRzh1aUlXV1hFRWtwVEt0dmVQ?=
 =?utf-8?B?N3dkSEt3dzhIRGJFTkErYmNHa2VLOC9pMHlqaWNHaWpMbEdROGFNbDhySHFt?=
 =?utf-8?B?czdFaDNjQTlpUENKZTBRQ3JrT1BFNVlWaUxXRnFXOUtHcUFQYVlvWTBrTkdr?=
 =?utf-8?B?aXpzZjc0emJNY0Zva2JTOTJ5U1lBZXo0K2ZHMUpJNWJBK2pZNUJ1QjhTS2dE?=
 =?utf-8?B?MGhMaHpMdGlOcWRST016V2R3N2llUktQR2dtU2piU0VnSG04cmZaejhlbm9i?=
 =?utf-8?B?NkwvL3I3aTFtLzFDUGYxTlA0WXczb0tOZ1FRUFBPRXF0K1pnc0ZzT3FseEx4?=
 =?utf-8?B?d0hWb24yRHY1NUdpbHFWMmp1L3dJeWpFWmp5UER3Y2xtcXc3TGR3Mk1Rcks2?=
 =?utf-8?B?bWZQN1JLZ05RNVRsNVFSRTRYSHZMQTVZSGNFaWhTRWJobWphVHIydXBJT2gz?=
 =?utf-8?B?K05YdC92MFNFTnhTT1daak5XT2thQk1KYUxjcVpac2w1V2p0blBPNzFLSEEr?=
 =?utf-8?B?UCtuU1daWllkcjloNUZXVmJVTmNaNUhUM0xRSDh4VWRUVXBHMkI0UmFIY0Vo?=
 =?utf-8?B?T2pKUnUyTVBBdzRZYVZ3YWdWU3JzSmZIeUVLVXY5Y1hkaUhudEdLZWdndW0x?=
 =?utf-8?B?bDRaMldJeEg1UXZvc09qR1IxNUdORm9VcCtpVW5yMmhJUkZtUnNVRi8yTCs3?=
 =?utf-8?B?UTB6Y3VBUG4xUjJjblN6SXJuVm10Q1Z4M0gxcGJFcVo2cXFwdWhGblpjcjhH?=
 =?utf-8?B?TWJQKzJkOTd3bWRncFRPNkIya3gremlhU3NkdTA2dHFMbENrY0VGaTB4N0xL?=
 =?utf-8?B?V0UvdTEvOFFYMWRNMFRuWTkwaVovcHVNT1hZSnJGOXhzMWt6WjhxOGNGQ1g5?=
 =?utf-8?B?OW9ITmNLTGpUTDdZc092WmRuNmxlRUNLMy8zTVJmWGM3d1RicDZVa05iZ3JQ?=
 =?utf-8?B?VGJaR0szL0lVYzVrSEY2aHpwRSttL0txQXM4RUVPVkNXSjdFRUo0d0U2amZh?=
 =?utf-8?B?YU5JaUhqNlIyOTd1eDNIdVNTVjhWMHNKdjF1RkVhM1duS1c0TmcwQzViLzhr?=
 =?utf-8?B?YzhqYVZwYXBpa1M1WUo0WHAxT1RIZzdrMHFGa2hmNFNtUm9Qb1M4cGY2QlVV?=
 =?utf-8?B?Q0pJd0czcDFNcmJaOWM0aGh3TEN6ZkFlNnIrZUZsNEFMQ1lxYllIYlkrVzlU?=
 =?utf-8?B?emFBdXdlTlcyaTMvbE9Cb1pBSG90a1d2RVgwUU1zV2tjMk5NWU4vUTJzZzND?=
 =?utf-8?B?ZVhneFBteW9rd0dLTG95QVpvYlVFL1lKeUZmTk1uanJnckx1bENPSXl6L1hq?=
 =?utf-8?B?QVpMTkxEem1PbWFxUHQ5ODZMNnZGM05RcDVwM3NpTzZhVVNHMWZDVW9QMnlQ?=
 =?utf-8?Q?GZx12GroIqw7z6Se4Apy6Qmhb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0773aea1-301c-4a54-e1cb-08db941bdf96
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 12:19:24.0543
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y/m4lXhNOKVXyD2Ewa7kkAeThlrPIi2LAhCIqz94EEWa+WocF7GO7ATL+kln/hDWZjVbYFcRy+QZkQFaHfaiDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9957

On 03.08.2023 12:44, Daniel P. Smith wrote:
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -332,6 +332,15 @@ M:	Nick Rosbrook <rosbrookn@gmail.com>
>  S:	Maintained
>  F:	tools/golang
>  
> +HYPERLAUNCH
> +M:	Daniel P. Smith <dpsmith@apertussolutions.com>
> +M:	Christopher Clark <christopher.w.clark@gmail.com>
> +W:	https://wiki.xenproject.org/wiki/Hyperlaunch
> +S:	Supported
> +F:	docs/design/launch/hyperlaunch.rst
> +F:	docs/design/launch/hyperlaunch-devicetree.rst
> +F:	xen/common/domain-builder/

I would generally suggest that maintainership changes come in a separate
patch. Furthermore aiui lots of stuff is going to be moved from elsewhere,
and such code may better stay under its original maintainership (unless
it was agreed that it would shift). So initially maybe best to name the
original maintainers here under M: and add the two of you with R: ?

I also don't think it makes sense to include a not-yet-populated path
here; who knows what this is going to change to by the time things get
committed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:49:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576339.902348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXlQ-0002vs-PK; Thu, 03 Aug 2023 12:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576339.902348; Thu, 03 Aug 2023 12:49:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXlQ-0002vl-M1; Thu, 03 Aug 2023 12:49:12 +0000
Received: by outflank-mailman (input) for mailman id 576339;
 Thu, 03 Aug 2023 12: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=KRpN=DU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRXlP-0002vf-HP
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:49:11 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e83::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22141e1c-31fc-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 14:49:08 +0200 (CEST)
Received: from DS7P222CA0022.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::25) by
 IA1PR12MB8407.namprd12.prod.outlook.com (2603:10b6:208:3d9::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Thu, 3 Aug
 2023 12:49:04 +0000
Received: from DM6NAM11FT093.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2e:cafe::88) by DS7P222CA0022.outlook.office365.com
 (2603:10b6:8:2e::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 12:49:04 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT093.mail.protection.outlook.com (10.13.172.235) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6631.42 via Frontend Transport; Thu, 3 Aug 2023 12:49:03 +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.27; Thu, 3 Aug
 2023 07:49:02 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 3 Aug 2023 07:49: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: 22141e1c-31fc-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lz2O3vqQ72xBoGzKBTXP9Dead3C3oLdQWU3CRHq4ConoE2mAuI+bBlYWKFHuu6MqRY5vtxpO8Y891LONnIUueCy8TZ2CbloXE46ZeL1x9zczIzuGNCS3gTCjy2VZ7nhqLNWWydhu/vnqMWzVDRR8U9ZXFAymkPnnVOf2pKQdDdvbGWqpPHKFik/w28omR58PUgfFrU/TaZZaJ4dBSVyUdQTjs7CSAY+4pZUvrYwSUnsnOl9fUZgcFcgbnyffoqg/ggQ2hZgt7EOTyjvLwJtxFgKBqBvv84Tp8lqrGwjrXJHz6NSYuLqfGid5GXday8n0NTbk3dRwI97K7i2abD33ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xL21f752i8F569qjM8PulemcQ27LQAbMnO8ySg2E1cY=;
 b=B5rP02huDHr4vPEY+Gt/UEOB+Nn4B3gW6ApmpITp9apLJZUTO78ZiCw8T2K8lmda1gy5lAqLNbemt5zI7YKvR/EcuAPjQZXN5p11fhMpfdDvVLn7UtHun9WqtYekRuFGkOvb4Q1EyPhDf2GjkVoEDLoeU3o7cxFaMyWGp/AuRIw9MCYzxEsOwLYveDMgqregzvxDZ3C3Qs6+ulzJ6iT1fp9CIuxTLnVZvO6NLj32krT34xyJB2qWp3dnwVaz5KZy1boKE0VleHEQZWmeqArNVgbq8GVN83gzNH2Qv0xnI7jwL7JVKF2KWkSjmtJS+aVCxuT+NX4S5UvllLvM2hPNiA==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xL21f752i8F569qjM8PulemcQ27LQAbMnO8ySg2E1cY=;
 b=Ff4P7vz3iTCSRidsjZHQVjZX/s5QSgtxGa9Wz8Fx2IWaeBlFmicbtUGekx4SzA8joRDW3zU9oM49ViwsT27yjHesnLTilik+NIRwGasRDrmOWraKQxVl6notHRBD7woH62ufD5JPrf1sXKb0EPX3/kLWSreNqaEPGv6/3x4AdeY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <476e5c13-2b4f-d115-7237-d5220ec13cf2@amd.com>
Date: Thu, 3 Aug 2023 14:48:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230803104438.24720-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT093:EE_|IA1PR12MB8407:EE_
X-MS-Office365-Filtering-Correlation-Id: 81d71292-398f-44b3-300e-08db94200457
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GfWSKHmmrh6eg4W6l9lFVluydwox8GnESTJgZ1HjLgmLnatPg+FOwH+kpC9vx9t51slQrXyXp0D0DQoUhHPishKNam3fUXeYIfWBg0BW+JdBSTHfEl96Vd8H2XzWjJjQ3mv9tSTIKrl/xm1K6oqQG8x8YUHFNWTnNO5dM595wiDRalXyB/WuDi2EEnn+48GwJaALAsvTGX8RlN9ZLoxy5LX06FWyTrVa8XT4AvsKgY6BwwkqmpcLL4jnuHYr5g6OyRQa/lg/O4GEFupaQgbAM0AnX1Kc5W2iwVOtc7YdwAowQFf4F0FqL1eh0j7/bhxgOawNQD/hZr0IssICfKgfX+p5yv0oqo/NsTIR34IngS0BVBk0aUXFNdqQTs4PEgUUcZ33lpL1erJBeVIP3jFfXgsJEWg1ruldWmjev0TkqFv6pwf3wdGZw4kvfWIXuprRp3mjoHmKHE1sCB7Ae+SGm4wH7ZQt9Xco7VJ+eWp8NhwbhfDrciwtpXXQKEzybYRFyMOlfoiE01i8csR4CnomOKvHIr64oRbpddOFqwDcaaa7GvdND96VWIgHDnCbwCFYhUacm3XFD1Ppp5RHAJStxH1xFLOjPD0AXsONwLulns8W3DLKQ0KsOf4C17hLsGdVPB5YTIQNH5egIG21lVkMQGoRfTKkmyI2wZuGM1bg0BHVTsqRSYCTv2JAJU68uY0/YOGHyy77iOmtN3X4Bb4VJa8/wZUtSp1/Ld17s2FPBNgWC2Ue7+LAbac+aWDzbePd7mhhTzo/Xj9nDRNDdpfIJSQHFoHuqIU534bAZCLMCnRn121fx8zGkGhRNgg1t9vojt4cDRCgBgJ6wlkHA5j5Vg==
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:(13230028)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199021)(82310400008)(46966006)(36840700001)(40470700004)(40480700001)(186003)(336012)(40460700003)(2616005)(36756003)(316002)(16576012)(81166007)(478600001)(86362001)(54906003)(110136005)(6666004)(70206006)(4326008)(31696002)(82740400003)(70586007)(356005)(53546011)(26005)(41300700001)(8936002)(8676002)(7416002)(426003)(47076005)(31686004)(83380400001)(44832011)(36860700001)(5660300002)(2906002)(2004002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 12:49:03.4963
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81d71292-398f-44b3-300e-08db94200457
X-MS-Exchange-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:
	DM6NAM11FT093.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8407

Hi Daniel,

On 03/08/2023 12:44, Daniel P. Smith wrote:
> 
> 
> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
IIUC, you just try to untangle the code for fdt from dt (unflattened). CORE_DEVICE_TREE is
a bit ambiguous in my opinion, so maybe just CONFIG_FDT, especially since you use it to guard libfdt/?

> introduced for when the ability of parsing DTB files is needed by a capability
> such as hyperlaunch.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  MAINTAINERS                      |   8 +-
>  xen/arch/arm/bootfdt.c           | 141 +---------------------------
>  xen/arch/arm/domain_build.c      |   1 +
>  xen/arch/arm/include/asm/setup.h |   6 --
>  xen/common/Kconfig               |   4 +
>  xen/common/Makefile              |   3 +-
>  xen/common/fdt.c                 | 153 +++++++++++++++++++++++++++++++
>  xen/include/xen/device_tree.h    |  50 +---------
>  xen/include/xen/fdt.h            |  79 ++++++++++++++++
>  9 files changed, 246 insertions(+), 199 deletions(-)
>  create mode 100644 xen/common/fdt.c
>  create mode 100644 xen/include/xen/fdt.h
> 
[...]

> diff --git a/xen/common/fdt.c b/xen/common/fdt.c
> new file mode 100644
> index 0000000000..8d7acaaa43
> --- /dev/null
> +++ b/xen/common/fdt.c
> @@ -0,0 +1,153 @@
> +/*
SPDX missing for a new file

> + * Flattened Device Tree
> + *
> + * Copyright (C) 2012-2014 Citrix Systems, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +#include <xen/fdt.h>
> +#include <xen/init.h>
> +#include <xen/lib.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/types.h>
> +
> +bool __init device_tree_node_matches(
> +    const void *fdt, int node, const char *match)
FWICS, this code style (that you use for every function in this patch) is rather uncommon in Xen so maybe better to follow the generic style.
Also, this would avoid changing the style of functions/prototypes you move.

[...]

> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index 1d79e23b28..82db38b140 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -14,13 +14,12 @@
>  #include <asm/device.h>
>  #include <public/xen.h>
>  #include <public/device_tree_defs.h>
> +#include <xen/fdt.h>
>  #include <xen/kernel.h>
>  #include <xen/string.h>
>  #include <xen/types.h>
>  #include <xen/list.h>
> 
> -#define DEVICE_TREE_MAX_DEPTH 16
> -
>  /*
>   * Struct used for matching a device
>   */
> @@ -159,17 +158,8 @@ struct dt_raw_irq {
>      u32 specifier[DT_MAX_IRQ_SPEC];
>  };
> 
> -typedef int (*device_tree_node_func)(const void *fdt,
> -                                     int node, const char *name, int depth,
> -                                     u32 address_cells, u32 size_cells,
> -                                     void *data);
> -
>  extern const void *device_tree_flattened;
> 
> -int device_tree_for_each_node(const void *fdt, int node,
> -                              device_tree_node_func func,
> -                              void *data);
> -
>  /**
>   * dt_unflatten_host_device_tree - Unflatten the host device tree
>   *
> @@ -214,14 +204,6 @@ extern const struct dt_device_node *dt_interrupt_controller;
>  struct dt_device_node *
>  dt_find_interrupt_controller(const struct dt_device_match *matches);
> 
> -#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
> -#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
> -#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
> -
> -/* Default #address and #size cells */
> -#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
> -#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
> -
>  #define dt_for_each_property_node(dn, pp)                   \
>      for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
> 
> @@ -231,16 +213,6 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
>  #define dt_for_each_child_node(dt, dn)                      \
>      for ( dn = (dt)->child; (dn) != NULL; dn = (dn)->sibling )
> 
> -/* Helper to read a big number; size is in cells (not bytes) */
> -static inline u64 dt_read_number(const __be32 *cell, int size)
> -{
> -    u64 r = 0;
> -
> -    while ( size-- )
> -        r = (r << 32) | be32_to_cpu(*(cell++));
> -    return r;
> -}
> -
>  /* Wrapper for dt_read_number() to return paddr_t (instead of uint64_t) */
>  static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
Shouldn't this also go to fdt.h as it is just a wrapper for dt_read_number() you moved?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:51:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576342.902358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXnp-0004Jb-6A; Thu, 03 Aug 2023 12:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576342.902358; Thu, 03 Aug 2023 12:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXnp-0004JU-2w; Thu, 03 Aug 2023 12:51:41 +0000
Received: by outflank-mailman (input) for mailman id 576342;
 Thu, 03 Aug 2023 12:51: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=b1P5=DU=citrix.com=prvs=57264c000=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRXnn-0004JM-BN
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:51:39 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7aefd3bb-31fc-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 14:51:37 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2023 08:51:31 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6093.namprd03.prod.outlook.com (2603:10b6:5:394::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 12:51:27 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Thu, 3 Aug 2023
 12:51:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aefd3bb-31fc-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691067097;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=adqGrAGCprXngJsaMYxsvJRmFQlWxll518DzORMmq+Q=;
  b=FnMr6v7mDqUgmg/AEcImhaKtjrc+rqbCB/Y72iHPGsDqJNrl4MlWAp3Z
   FaASwGK3K/K9dfPWzn9ntWvkL1r3t/hxcrTVVo0ZUq7g8o8awMa9+yyCO
   13JkhGJSR+CHOSq3c5innBIZ2MsADi43JLIHK9Yb3i2+V7adC1krj5xEB
   Q=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 117065075
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SgTkLKid4bZWQAs1IcwpVwUjX161tREKZh0ujC45NGQN5FlHY01je
 htvWTuGP/eIMWD9fNsiO9i0oUhSvJGHyt9jSgJo+Sg0Qigb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AeFzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQYF3cWVCKipNmv7+q5Utlop8YlNpDSadZ3VnFIlVk1DN4AaLWaGuDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEhluGzYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeTnrqA32ALOroAVIEMcBHG5m7qWs0OFYNVTO
 kwPpy5xkpFnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLmUIUT9HLsAhrsg1bTcu0
 UKF2djuAFRHvLSLRFqH+7yTrDf0PjIaRUcdYQcUQA1D5MPsyKkjgxSKQtt9HaqditzuBSq20
 z2MtDI5hbgYkYgMzarTwLzcqzelp5yMRAhl4AzSBzuh9lkgOt/jYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr323FF6KLFWyI3AxDGQ==
IronPort-HdrOrdr: A9a23:E8+enauQsbxWodBuh8sM23ZW7skDctV00zEX/kB9WHVpm5qj5q
 STdZUgtSMc5wx7ZJhNo7q90cq7IE80l6Qb3WBLB8bGYOCOggLBEGgF1+bfKlbbdREWmNQw6U
 /OGZIOb+EZoTJB/KXHCKjTKadD/OW6
X-Talos-CUID: =?us-ascii?q?9a23=3ACVqaxWlXstoH/jr1bYmY3CxFcB3XOX3ii2zqEW6?=
 =?us-ascii?q?bMn9GEL+NeVux+qV+yvM7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3ASLNk/Q7be0waWcSs8bqZekAbxow26fWECnpOvqw?=
 =?us-ascii?q?LgPKDOT1wIGqZ0wuOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,252,1684814400"; 
   d="scan'208";a="117065075"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nMl8J6+rmgJOM+vwXFvNL/nqhnNxIbosCWwQhzZ/SZuRUaJ/eOrC4mvt8Ko1OO7eIGEp2D+3qUtKxOIaX0uRvJ+Q76vmfp8XrX9xWm/UDOZIAY14WS96/QUl4HppQ2TMvh5Kag6OHSg1nqdrMsZiARByvUZHEtH9T1LQmYfgcuBBYgckyzYYuj2rwR4HvmADvh3PdW6cluFtUlrXniL1xc4zM0IM488U4veKidU9XftkKpgNMwGAMNJ1whz+55nGb8reBiOS6NSs8orHI9eJbB+v1LF16K5UxRzYfGR/cBTPGNTF0xT277dcezowzQyx7Ys7YGUtE0OrBPALSPYVmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yw34/tIROxtCDfAjyyNkLhBW3hDuKbFih0AXS74ocU4=;
 b=Idu4DWiD7r7BJ5xrijCTobw+0tgvyx10qx+YrqlRWPpPnGK2fxpbUp5zCS8kTQqhOT7s7Gvq9DHbKItjIXdLoIPIbYEfL3Ccu5cEeN0TpF6MU+jlE379jTTYLsohcEpYQDJnxk5xwXDNKDO2LIhcS7Q8anoH1NNYvvB686W2MuEWsRRs1G/pKr+iz+k+u3pyIVUl/+FlRXHoHkuXP056kANkZP18ly5ikpur3o2iDbWnpWLhNfoW8NtePGyx+67IGgb97JjYFQAZWlWpV9yXvhs5fuU8LJgNtgLPPMGAi72dikYNY8MISkGS70Fxc/cGlOOxZg51IbRIp+K+Qqbd9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yw34/tIROxtCDfAjyyNkLhBW3hDuKbFih0AXS74ocU4=;
 b=B2rvw1WK4OtW3dhtMnjBjpT7jfKjLxId7FkLPZ7XbTN6ASMPM7q5FIJbNdninSDIGltmND0zI5Hbu8O4/5PtEbzFnBTnxFoadCehLKppEddDP+QQrOYg4seq6QGFt+fOm2xqHmS3T1CoRNW03lnGUKgg7dqJ5qiKLxqlPxxoFTk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ad50c7bd-e51b-d0a0-7f6c-46092cd8a2fa@citrix.com>
Date: Thu, 3 Aug 2023 13:51:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] xenctrl_stubs.c: fix NULL dereference
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?=
 <edvin.torok@citrix.com>
Cc: =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <3b6374c44ae7e4afce427a9ea852d8d1ebbb42b3.1689236671.git.edwin.torok@cloud.com>
 <99d89bce-42ff-f6e5-090b-3b9f8e130e66@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <99d89bce-42ff-f6e5-090b-3b9f8e130e66@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P123CA0024.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:388::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6093:EE_
X-MS-Office365-Filtering-Correlation-Id: d0050bda-eb27-4438-b192-08db942059c6
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3da4OCLChehWo14Oi6S8MmYDLhhyHXlgg3iWZlpGmay2v2n5PNvE8faQTPF5Mof4gSljMATilRARCM6j5zrET84W+n/qJZosayyi5rcW9hSKs27ztd5jBYukhCshgMEovHUeaagiqdiCUlL3z1S/wWEJw9mrg2wHf6FjUHZ8UHD0L0IWHYWfhmodEH9NvkFle8pphpNCig3v4ZK5HqtKIs+/UgF7j9unkEIebXTAqqEp73Hrf7eL3fjxz3LjXvDrtp7OSJ5Ci9RbPJRTz8j3PuFtjpPJoZPrNERcHqIvBmA2lH2FtVOgEWZ5di9wj07r4hlM6z+4o/+1MwGiL1TigCHivBR2VPd2nCOeUqGQ5BxERmT8xFc0dyhjD+3o54pMQtVq91ks/wHx1XCQIM7jHg866FqW2Rwda7I5CpeYPGpckOSEuro81yxQZ8nQfnOWJPNTfWXzSLaszlgamopn7NiMnC25NCDMu0IS+Y5mnxmYooGYIbAXOOILlrdd8PHfCWV+lfT4srh08PuJG0LEa3PgFzeZEsayeVso3KQEK4ignoaJO99bZ367zsZcYoxotN63LCnIT6XeTsSUhpR/hb5PoWE8eVF+Xlq9VBDW01S2cCC7E0ckBCoIDOKGTURPJ+fehQUH5187pRYG/c35dw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(39860400002)(366004)(376002)(346002)(451199021)(41300700001)(8936002)(8676002)(53546011)(186003)(6506007)(26005)(86362001)(31696002)(2616005)(38100700002)(82960400001)(316002)(6486002)(6666004)(478600001)(6512007)(110136005)(54906003)(36756003)(66556008)(66476007)(6636002)(4326008)(66946007)(31686004)(2906002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXM1Q1pyYTB4anpaK2s2aC9pa041MmJ1WHc0UUdsMG90NE1EcVBLcTJ3ZnJu?=
 =?utf-8?B?YTNHeTNPNmJWNWhnYTZPMHh2QVJIQVJBS0hEWis5NzM3QzE3aXowc1hjR1lo?=
 =?utf-8?B?ZS9CV2FEUXNBNUtsenJ5bFJla05Fa0hyNmd4YURLSERianVlTGxIMU9hd2Z6?=
 =?utf-8?B?ak94NmlOdnVHeEE0S3ZZYWJZTlVxVlRRSGpBMUNqWGhWbXV4WXNPRldXWjEx?=
 =?utf-8?B?Y1RCdXFycjdTaDE1K2lPMWVIbC92R0V3c28yTEorelYwNkpDOFF4cm11K3Nm?=
 =?utf-8?B?Y2JJVFZJSnBvRDA1SE41bXJMT1loUnRRSUIzNzN5b0ZDY0lrUXhBaWFYVFpJ?=
 =?utf-8?B?M1dMaEZnN1RCQVQvMkkvRHR4MkVIZlcrTVI2V3lrbGJUWnV4SW1qSUpwQUZ5?=
 =?utf-8?B?c2ZtVzVIWGtaYy9Yc0tJODhYdmU4WUIyTEFPSklsL0dzVTU0YU44KzE1d1V6?=
 =?utf-8?B?UGhRUUdrSFJleGlkOWdhZ1BhUW1hdFVRdE1IUUdXcktCZC9JUVhkcVdlZ2l3?=
 =?utf-8?B?SGMyKzlNS2kvYkJkQUpDZ0lGVEtjekJBazVxbWFPdmU1bUNabUtvZkswUlk4?=
 =?utf-8?B?cHd2WlYvSHdwUTlWbjBYTW9tWXZlaE82Kzh1VnBEdG1DVzR3Vk1uU1U1bitM?=
 =?utf-8?B?dkZ2eUUvelFGTjhOQi9KZUJoeVpUS2k1NnNZT0F1WWloaVYraGg2ME5zWGx3?=
 =?utf-8?B?TnpZa3Joa2xzUCtvaGNCdmJ2RTZ5STE0REtCUjloZ2pWcG9SYno4TFk4Wkxa?=
 =?utf-8?B?b0loSVU1aEFRbDRxR1RYL2c5ZFVrcnNBT3Z1R21YTWVvSUdMbHZqNnRXb3Rx?=
 =?utf-8?B?bUZlVkt2RmdhbjVLbTQ5bFZrVFA5NXRnVEcvMTlyV0FWRzl0L0M1RFI2R2J5?=
 =?utf-8?B?bkgyVWVTTjNNK3QzZE9JZWM4RW01RUpydE42aFdIQlcrbGx5UmVmd1FYczZy?=
 =?utf-8?B?ZlJqeU1ZQm8ra3JuYjJIa1lEZ0VzK2h0bVRqcFNKNDFoYjBkWm5pWlVIemti?=
 =?utf-8?B?TXRiTGkxRi9BREdaNWZDeUNKUXduMXRKV1paZVQ2a25aM3F4R0ZsMFQ4ajlN?=
 =?utf-8?B?WDlpZTRnbnIvWTBNTzVlRnl4ZVlWaDRqLy8xSk1QYlc5UVZ4UFdqdDBBYmhp?=
 =?utf-8?B?VVpWdVRGSzdraEp0WDVIUkFOYUJXYnR2Rzk2TWdmeTJxblRTVmd1YnhhT3o4?=
 =?utf-8?B?N2R0K3VHR0hHa3UxSmZYTHZLQUV6cFhhbHJRd2JRUko5NDlSQ21GZ0FoY0Jm?=
 =?utf-8?B?dFlKT29KNjJ2T3l4d28yaWV4N1BDbVZ5M2RucjM5OWsra29GK1pTTERpL3Bk?=
 =?utf-8?B?c0NRQ2c3Q3Y0VkhJdWU3bVRBSmxDSitQUXZhdGRoeUtmWHJYZDA0QXhZK1FJ?=
 =?utf-8?B?TTV2Tm1ISTlLdUI4QXdoWTFiYUQ0Tkhma1RtbWV4bjVIQU5NYzZsNXNnTm5J?=
 =?utf-8?B?aE83a21Ka3A5Wk9FYzVsME1TYWJNb2tLRHlXdTZwdDI2YlMrYUF2MnZlV0dJ?=
 =?utf-8?B?aXpCQ3dDelpYNFFrT1oySit3dWRhZHlPOGhFUWhvcFNPcE9Hcjc0a3NWbTU3?=
 =?utf-8?B?QlpBVEYzZElGN3lNR2d4dnJ0cWdvMmR1NWhCUStqQmpBR2FDUDluWElnb2xS?=
 =?utf-8?B?TUplMGdDWXVHNU1ySlI0L0hOYUY5MVhRRTAxd1RORlhyTElneTc3d3ZIU1FT?=
 =?utf-8?B?SWVJYzFySm5oQ0Qza213UVN5aXpwOWJzSFdyZUVxTlVUSXhmanFJM0d2Y1NW?=
 =?utf-8?B?aVNoVUNobnI2UEtjQlBhVFRrSjZQcWpDcVlveDM1dFNWdnpSS0d4VUYrSWxQ?=
 =?utf-8?B?cjhLVnpZWlZLQ01wNlM2ZnB2OElZeGdYaXhWdnpTV250cURjVTJBWXNRYlkz?=
 =?utf-8?B?VDZ3OUpnZm1TWitSU29iZzdQVVYrMzZQbkFKejBZVm9HdFQrcForTWhRTHZT?=
 =?utf-8?B?NGMreW0rTE0zanpybXQ3QlFObURxbkhFNjg4dWVCWXNWYlpPaDVlcU43cjJu?=
 =?utf-8?B?aEd0cHd6c2piNG5NUWsxWUVhYUw5YmJNdUdPSlFNblcyR0RMUHROWUZIcHRy?=
 =?utf-8?B?aEh1WHFzK2pMT1BzQUFvd3pad0ExRlBPSUFiRUQ3VWR5Q25zems4eDZucnI2?=
 =?utf-8?B?RDkxeVFPa0p1VUlYOHpzYUo3aWo0M2NUMW5iT2MrK3d2WnZzUVFWTXlTRzdn?=
 =?utf-8?B?QUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	hoPQnJJ67WjNY4QKBS8JiF79hGnPdmL+c5LXO6EM2BGTNHEe5y13T0N6Wiudy7K+OKhACZi8VZOo+KWa14ZgC9mXCs+QVB9riSVR209i7e0L4X5DVfykxsJygx5yZDdZFOZCYE+QbrEjekh80cHzTMHgIuimdaQXxlIFWz0LkjI5b7pRNmMV3MPurRRQWV/Gx9AomZ9ST1g0k+I3w+4E/4jCfZjOJGXNi/VDqxNRAndbo9I+oLxRBkR2Oe3Gg0eLuL35uMTylALkKLN7FlqENtzaCAssAargEWlsLV5X7AQpnjmqjOUmkaDbuGxWtu6M2IvbV/zQhte4lhGdSQYSWv0u1p6NgXFlEhRStFJecpA+byLoRYMfEbKCg0Qnqg/5xIoW+uAI0tOcTvEvAjYZZBQjv7Ntk6mz5eH8807L1xFOebUBjuE/XpdCBCTB1KdUYIRYqLasLevEYSjn3/nInq6+tlPMu2BgUOuhmoaZI+M/g/J5hsDt0crHKpBzZ9Tb+kToQlSsvoBS7pumJQ1em++nRd01v46jrsK4P2sgN8wrpmXqmza1QGMmpuunvY31R3/9KlFvUgxGLavrt6LNKwhKOhBMGLAas510ExixoSJXQcLIdHGA8z5VpXBGvZ+K/tpCisYDRm5PONFRTlmaeyElU2eElOfHZuPTKv2m2F9pTA8x0U9AwhDtXq20oV9YUBiNqtA8gZLpThXrc8rFyisqU8BY4UEajhT9e1reaEmo1b57LGZt4yKGAQAdcS4rE1r0UJfdOuh/7R6ldR70budh6H8WJ2LRQfyMqnGuTtaQhSFP88o9buRkjcJnG56N5nWqZlQrbRq6DXE4sboh1etCDiqsHp5McLpLyMgaoiIURs3GrhuVLkrmqVP31F0E
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0050bda-eb27-4438-b192-08db942059c6
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 12:51:27.2214
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: blHg4m2M0BuBj4STHRyA2Dc+amuROE9V0VYwBnwQ0usKGtBW9r9zHdzGyIcVt4nP5rIqT2eSf+mKmFs2ckxR+0F5Aoi4Q/YN5UE6HzpYYf4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6093

On 03/08/2023 11:15 am, Jan Beulich wrote:
> On 13.07.2023 10:30, Edwin TĂ¶rĂ¶k wrote:
>> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
>> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
>> @@ -832,7 +832,7 @@ CAMLprim value physinfo_arch_caps(const xc_physinfo_t *info)
>>  
>>  	tag = 1; /* tag x86 */
>>  
>> -	arch_obj = Tag_cons;
>> +	arch_obj = Val_emptylist;
>>  
>>  #endif
>>  
> Since, aiui, this also affects 4.17, but the patch as is doesn't apply
> there, could you please provide a suitable backport of what went onto
> the master branch?

diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c
b/tools/ocaml/libs/xc/xenctrl_stubs.c
index facb5615776b..7de2ff544428 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -748,7 +748,7 @@ CAMLprim value stub_xc_physinfo(value xch)
Â Â Â Â Â Â Â  Store_field(physinfo, 9, Val_int(c_physinfo.max_cpu_id + 1));
Â 
Â #if defined(__i386__) || defined(__x86_64__)
-Â Â Â Â Â Â  arch_cap_list = Tag_cons;
+Â Â Â Â Â Â  arch_cap_list = Val_emptylist;
Â 
Â Â Â Â Â Â Â  arch_cap_flags_tag = 1; /* tag x86 */
Â #else


This logic got factored out of stub_xc_physinfo() into the new
physinfo_arch_caps() as part of the ARM SVE work in 4.18.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:57:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576347.902371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXt0-0004zr-QL; Thu, 03 Aug 2023 12:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576347.902371; Thu, 03 Aug 2023 12:57:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXt0-0004zk-NR; Thu, 03 Aug 2023 12:57:02 +0000
Received: by outflank-mailman (input) for mailman id 576347;
 Thu, 03 Aug 2023 12:57:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRXt0-0004ze-28
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 12:57:02 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a890314-31fd-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 14:56:59 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691067412090507.9520434344752;
 Thu, 3 Aug 2023 05:56: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: 3a890314-31fd-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691067414; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KdFwQfA9sqJfTbFOL7ydd5VRfe6vl9ajKNp8mMSJ1PsJw60e6AhGkJdlewcBPkFBTBGHMskmkMScGGlhq8MOZT3u7iBO9PnCoZqpbVDQsF0E/u5LIG+sBv9EZ6QC/bbpG7H7pFH2bGTdqgWf0iLE9a1EWQ1xvWS1qOMirOfSTdg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691067414; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Hk5uuj6GbfvXUbIcemYhrHAe2Y8Su9mvkhSFvHr3MmI=; 
	b=UOPd/sya61Xz9MfC4eciz+QRKnn3vmcnknBMd0C6MiZXe8XBaV+tkP9WsJgeMzgahQHhLD4Fuhr+QTZIRisLETBhEEYXydaBIIpTueBe/G6c8bqz5ZVrPlQQ9WdtivD8CaiXl++jMfPWL6bS8i4bGuvUoOznX/k6dLDztSjNliY=
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=1691067414;
	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=Hk5uuj6GbfvXUbIcemYhrHAe2Y8Su9mvkhSFvHr3MmI=;
	b=l50yqvXK4v5GHFtEqjziUq0Q1mdR+rhdO4rFEVxqdz1bMokUYUlBteXWP8z3TXRB
	BS+T9/jhcxL9922e0gKKxoxRqr9eeVWw2kzLk5C83m1P5BCJkggMRbcFIVN/idqWZbx
	Jq/bJFXCOEvCE+TuKNiH1dwlF1pEkMDiUJvsSEE0=
Message-ID: <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
Date: Thu, 3 Aug 2023 08:56:49 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/23 07:01, Jan Beulich wrote:
> On 01.08.2023 18:06, Daniel P. Smith wrote:
>> This patch reworks the console rotation logic to provide a general mechanism to
>> incorporate domU in to the rotation. It does so by walking the domain list
>> using the XSM console privlege check to determine if the domain is given access.
>>
>> In reworking the rotation logic, the assumption that the hardware domain is the
>> first domain created is removed and is changed to explicitly locate the
>> hardware domain at boot.
> 
> I guess I'm unable to identify any "at boot only" code. I'm also
> puzzled by this indicating there is a need to do so, when the global
> variable "hardware_domain" is available, and you actually use it.

As to the "at boot only", there is a switch, which upon closer look I 
have broken and will now have to fix, that if the 2nd char of the 
'conswitch' boot param is 'x', then the console is not supposed to auto 
switch to "dom0".

I was trying to keep the console_rx tracking logic the same, but I have 
already diverted far from what was there, I might as well rewrite that 
as well. Doing so would allow the value 0 can actually reflect domain id 
0 and not have to continue the off-by-one game played mapping domid 
from/to console_rx.

>> --- a/xen/drivers/char/console.c
>> +++ b/xen/drivers/char/console.c
>> @@ -473,45 +473,102 @@ static void cf_check dump_console_ring_key(unsigned char key)
>>    */
>>   static unsigned int __read_mostly console_rx = 0;
>>   
>> -#define max_console_rx (max_init_domid + 1)
>> +#define CON_RX_DOMID (console_rx - 1)
>>   
>>   /* Make sure to rcu_unlock_domain after use */
>>   struct domain *console_input_domain(void)
>>   {
>>       if ( console_rx == 0 )
>>               return NULL;
>> -    return rcu_lock_domain_by_id(console_rx - 1);
>> +    return rcu_lock_domain_by_id(CON_RX_DOMID);
>>   }
>>   
>>   static void switch_serial_input(void)
>>   {
>> -    unsigned int next_rx = console_rx;
>> +    struct domain *next, *d = console_input_domain();
> 
> Looks like "next" cannot be pointer-to-const just because the XSM hooks
> still aren't properly const-ified. Oh well.

Something I can look at another point as XSM maintainer.

>> -    /*
>> -     * Rotate among Xen, dom0 and boot-time created domUs while skipping
>> -     * switching serial input to non existing domains.
>> -     */
> 
> While it would need adjustment, I don't think the comment wants deleting
> altogether.

Ack.

>> -    for ( ; ; )
>> +    if ( d == NULL )
> 
> This covers both Xen receiving input and the domain receiving input having
> gone away. Originally in the latter case the next sequential (in domid
> numbering) domain would be switched to. In the new logic you start over
> from the beginning of the domain list. Such a change in behavior (if
> deemed acceptable at all, which I'm not convinced of) needs calling out in
> the description.

No, the intent is to keep the existing behavior. Again, this is a 
fallout from trying to track by domid with the assumptions that 1. only 
boot time constructed domains would be given access, 2. those domains 
where created with sequential domids and 3.) those domains never went 
away (or if they did, it would result in a dead spot in the rotation). 
As stated above, just dropping the pretense of tracking by domid will 
provide a simpler solution and maintain the existing behavior, minus the 
possibility of having dead spots in the rotation.

>>       {
>> -        struct domain *d;
>> +        if ( hardware_domain )
>> +        {
>> +            console_rx = hardware_domain->domain_id + 1;
>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
> 
> Here and elsewhere - why %d when original code properly used %u? I also
> think there are now quite a few too many of these all identical
> printk()s.

Good question, I did not write the line, it was copy/paste from 
elsewhere in the file and then continued to replicate from there.

>> +            goto out; //print switch_code statement & newline
> 
> Leftover development comment? (There's at least one more.)

Yes and no, the comment came from elsewhere in the file and early in 
development it I place it here to later decide if it should stay (and 
get converted into a compliant comment). I will drop it in the next 
iteration.

>> +        }
>> +        else
> 
> Please avoid "else" after an if() that ends in "return", "goto", or
> alike.

Really? How would you propose handling common finalization when
completion happens during the execution of two branches of the logical 
purpose of the function? Do you want to see two separate if statements 
of `if ( condition A )` and `if ( ! condition A )`?

>> +        {
>> +            for_each_domain(next)
> 
> What guarantees that the list won't change behind your back? You don't
> hold domlist_read_lock here afaict. It might be that you're safe because
> that lock is an RCU one and this function is only invoked at init time
> or from some form of interrupt handler. But that's far from obvious and
> will hence need both properly confirming and stating in a comment. (It
> is actually this concern, iirc, which so far had us avoid iterating the
> domain list here.)

It is better to error on the side of caution instead of assuming this 
will always be invoked in a safe manner. I will add a read lock for the 
domain list.

>> +            {
>> +                if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>> +                {
>> +                    console_rx = next->domain_id + 1;
>> +                    printk("*** Serial input to DOM%d", CON_RX_DOMID);
>> +                    goto out; //print switch_code statement & newline
>> +                }
>> +            }
>>   
>> -        if ( next_rx++ >= max_console_rx )
>> +            console_rx = 0;
>> +            printk("*** Serial input to Xen");
>> +            goto out;
>> +        }
>> +    }
>> +
>> +    for ( next = rcu_dereference(d->next_in_list); next != NULL;
>> +          next = rcu_dereference(next->next_in_list) )
> 
> This looks like an open-coded continuation of for_each_domain() - I'm
> afraid I'm wary of introducing anything like this.

Not exactly, for_each_domain() always starts with beginning of the 
domain list and walks from that point forward. This open coded version 
stats at domain d and walks from there to the end of the list. Which is 
why there is logic below, which uses for_each_domain(), to walk from the 
beginning of the list until the next domain with console_io or the 
hardware domain, whichever occurs first.

What I did not want to do is potentially waste a lot of cycles doing 
for_each_domain() with a continue until it reached the current domain 
and then start checking for the privilege.

I could take this and introduce a new macro, for_each_domain_from (or a 
better name if there are suggestions) and use it here.

>> +    {
>> +        if ( hardware_domain && next == hardware_domain )
>>           {
>>               console_rx = 0;
>>               printk("*** Serial input to Xen");
>> -            break;
>> +            goto out;
> 
> Since you use "goto" anyway, this wants introducing a 2nd label (maybe
> "xen"?) ahead of the identical code you add further down (immediately
> ahead of the "out" label), to avoid code duplication.

Ack.

>>           }
>>   
>> -        d = rcu_lock_domain_by_id(next_rx - 1);
>> -        if ( d )
>> +        if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>           {
>> -            rcu_unlock_domain(d);
>> -            console_rx = next_rx;
>> -            printk("*** Serial input to DOM%u", next_rx - 1);
>> -            break;
>> +            console_rx = next->domain_id + 1;
>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
>> +            goto out;
>> +        }
>> +    }
>> +
>> +    /*
>> +     * Hit the end of the domain list and instead of assuming that the
>> +     * hardware domain is the first in the list, get the first domain
>> +     * in the domain list and then if it is not the hardware domain or
>> +     * does not have console privilege, iterate the list until we find
>> +     * the hardware domain or a domain with console privilege.
>> +     */
>> +    if ( next == NULL )
>> +    {
>> +        for_each_domain(next)
>> +        {
>> +            if ( hardware_domain && next == hardware_domain )
>> +            {
>> +                console_rx = 0;
>> +                printk("*** Serial input to Xen");
>> +                goto out;
>> +            }
>> +
>> +            if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>> +            {
>> +                console_rx = next->domain_id + 1;
>> +                printk("*** Serial input to DOM%d", CON_RX_DOMID);
>> +                goto out;
>> +            }
>>           }
>>       }
>>   
>> +    /*
>> +     * If we got here, could not find a domain with console io privilege.
>> +     * Default to Xen.
>> +     */
> 
> "Default to" is a little odd when there are no other options.

Fallback to?

>> +    console_rx = 0;
>> +    printk("*** Serial input to Xen");
>> +
>> +out:
> 
> Labels indented by at least one blank please.

Ack.

>> @@ -520,12 +577,11 @@ static void switch_serial_input(void)
>>   
>>   static void __serial_rx(char c, struct cpu_user_regs *regs)
>>   {
>> -    switch ( console_rx )
>> -    {
>> -    case 0:
>> +    if ( console_rx == 0 )
> 
> By using CON_RX_DOMID everywhere else you try to carefully avoid and
> open-coded assumptions on the precise biasing used there. With this
> it would seem to me that here "CON_RX_DOMID > DOMID_MASK" would be
> more in line with that model then.

Yep and it results in not correctly implementing the commandline 
parameter behavior. Since I am already doing a domain list walk, instead 
of having to convert from domids, this really should just be tracked 
with a domain ref and use the rcu lock to catch if the domain drops at 
any point.

>>           return handle_keypress(c, regs);
>>   
>> -    case 1:
>> +    if ( hardware_domain->domain_id == CON_RX_DOMID )
> 
> No check of hardware_domain against NULL?

Missed this one, will fix.

>> +    {
>>           /*
>>            * Deliver input to the hardware domain buffer, unless it is
>>            * already full.
>> @@ -538,31 +594,37 @@ static void __serial_rx(char c, struct cpu_user_regs *regs)
>>            * getting stuck.
>>            */
>>           send_global_virq(VIRQ_CONSOLE);
>> -        break;
>> -
>> -#ifdef CONFIG_SBSA_VUART_CONSOLE
>> -    default:
>> +    }
>> +    else
>>       {
>> -        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
>> +        struct domain *d = rcu_lock_domain_by_any_id(CON_RX_DOMID);
>>   
>> +        if ( d == NULL )
>> +            goto unlock_out;
>> +
>> +#ifdef CONFIG_SBSA_VUART_CONSOLE
>>           /*
>>            * If we have a properly initialized vpl011 console for the
>>            * domain, without a full PV ring to Dom0 (in that case input
>>            * comes from the PV ring), then send the character to it.
>>            */
>> -        if ( d != NULL &&
>> -             !d->arch.vpl011.backend_in_domain &&
>> +        if ( !d->arch.vpl011.backend_in_domain &&
>>                d->arch.vpl011.backend.xen != NULL )
>> +        {
>>               vpl011_rx_char_xen(d, c);
>> -        else
>> -            printk("Cannot send chars to Dom%d: no UART available\n",
>> -                   console_rx - 1);
>> +            goto unlock_out;
>> +        }
>> +#endif
>> +
>> +        if ( (serial_rx_prod - serial_rx_cons) != SERIAL_RX_SIZE )
>> +            serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;
> 
> This is Dom0's buffer; I don't think sharing with DomU-s is correct.

I would disagree, it is the hypervisor's buffer that it decides to share 
with domains it trust. It just so happens that it always trusts the 
hardware domain. This is why I explicitly changed this to the XSM call, 
to express that when the system manager, by enabling this privilege on 
the domain, has decided to trust these domains to have access to the 
hypervisor's buffer.

> You also cannot ...
> 
>> @@ -717,6 +779,8 @@ long do_console_io(
>>           rc = -E2BIG;
>>           if ( count > INT_MAX )
>>               break;
>> +        if ( CON_RX_DOMID != current->domain->domain_id )
>> +            return 0;
>>   
>>           rc = 0;
>>           while ( (serial_rx_cons != serial_rx_prod) && (rc < count) )
> 
> ... assume that by the time this hypercall is invoked input focus
> hasn't switched. I think there's no way around a per-domain input
> buffer, which of course would need setting up only for console-io-
> capable domains.

Let's explore the exact concern here, the scenarios as far as I can see 
it is as follows.

A person at the serial/console types keys for the current console domain 
(domA), then enters the console switch sequence, switching to another 
domain (domB). DomA's CONSOLEIO_read hypercall arrives after the switch 
and thus is not sent the rx buffer contents. Then domB's CONSOLEIO_read 
arrives and then because `serial_rx_cons` and `serial_rx_prod` are not 
the same, domB is sent the bytes that were intended for domA.

While a per domain console_io buffer would address this issue, I believe 
there is a simpler solution that can be extended depending on whether it 
is acceptable for the undelivered bytes to be dropped or not.

Simply upon switching, if serial_rx_cons and serial_rx_prod are set the 
same, then no bytes will be leaked to domB from domA above. An extra 
precaution could be taken to zero the serial_rx buffer. If guaranteed 
delivery is desired, a list of buffer remnants could be drained on 
hypercall and console switching.

IMHO I believe the reality is while there is potential that the scenario 
could happen, the probability is low. Doing a per domain buffer will 
always incur the resource overhead even if the event never happens, 
while the above approach would only incur the resource overhead when the 
situation occurs.

>> @@ -1107,7 +1171,7 @@ void __init console_endboot(void)
>>        * a useful 'how to switch' message.
>>        */
>>       if ( opt_conswitch[1] == 'x' )
>> -        console_rx = max_console_rx;
>> +        console_rx = 0;
> 
> I can't bring this change in line with the comment ahead of the if():
> Won't this result in switch_serial_input() switching to Dom0?

Correct, if there is a Dom0 and it is the hardware domain. As noted, I 
missed that I broke the behavior this was intended to create.

v/r.
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 12:58:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 12:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576352.902382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXu6-0005bs-7X; Thu, 03 Aug 2023 12:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576352.902382; Thu, 03 Aug 2023 12:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXu6-0005bl-4A; Thu, 03 Aug 2023 12:58:10 +0000
Received: by outflank-mailman (input) for mailman id 576352;
 Thu, 03 Aug 2023 12:58: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 1qRXu5-0005bb-1w; Thu, 03 Aug 2023 12:58: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 1qRXu5-0006a4-0E; Thu, 03 Aug 2023 12:58: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 1qRXu4-0008Sm-Ho; Thu, 03 Aug 2023 12:58:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRXu4-0002Ib-HN; Thu, 03 Aug 2023 12:58: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=utWgtWXkRNKdpIZ2ZrTWRz8ozurjzm+CoOFN/IVcRAM=; b=aIx5ujXhcaha4e4qeBGmkXVq64
	cigkK6qUvJanJsoYE5KpdXHbw5mJ25mYk3f7Bg2KuoClVH8Ry3hwrB1aEyH6Jyh+YejMSgYcG8Sik
	U4NlWmdxzh1eC5K3xc1hV9ATu3azzLJD7NA6cNZWQK+C7UZB946UjX5o4FJD8prDUO2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182107-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 182107: 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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-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-arm64-arm64-xl: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:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing: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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3e357970c90172526d58e964f8ceaf32b2c69655
X-Osstest-Versions-That:
    xen=a910e3f2a4d128bc045ac6be374459e73ddf9fde
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 12:58:08 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   182094  2023-07-31 13:07:24 Z    2 days
Testing same since   182107  2023-08-02 02:35:16 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Luca Fancellu <luca.fancellu@arm.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a910e3f2a4..3e357970c9  3e357970c90172526d58e964f8ceaf32b2c69655 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:04:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576359.902391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXzz-00077c-Tp; Thu, 03 Aug 2023 13:04:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576359.902391; Thu, 03 Aug 2023 13:04:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRXzz-00077V-R0; Thu, 03 Aug 2023 13:04:15 +0000
Received: by outflank-mailman (input) for mailman id 576359;
 Thu, 03 Aug 2023 13:04: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRXzy-00077P-6h
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:04:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d33015e-31fe-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 15:04:12 +0200 (CEST)
Received: from DB9PR01CA0022.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:1d8::27) by PAWPR08MB10117.eurprd08.prod.outlook.com
 (2603:10a6:102:361::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 13:04:08 +0000
Received: from DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d8:cafe::db) by DB9PR01CA0022.outlook.office365.com
 (2603:10a6:10:1d8::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 13:04:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT022.mail.protection.outlook.com (100.127.142.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 13:04:07 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Thu, 03 Aug 2023 13:04:07 +0000
Received: from bca4b23c9316.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 741FF735-B5D8-4099-A9A3-2073EE41726F.1; 
 Thu, 03 Aug 2023 13:04:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bca4b23c9316.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 13:04:01 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB10019.eurprd08.prod.outlook.com (2603:10a6:102:362::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 13:03:59 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 13:03:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d33015e-31fe-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IYabnfGTYSDlSRQTGH+QiW6OL7y+hwSMHNlCer8295U=;
 b=v/LxC+ADUOFZ6WAv1MC6fRlj32PkmWjno6vahzrjE82SqT28v6RNWdrsKXaV9mjlOR+GB/K2hiOVvWMfl8LICiOuRFs/Q8ohrJED9hdUdg+TvDeKXV7MskS1sjxICn5s4S5jSY28YtD6tKbN9qIaVcRfyagmJ234jz+3W3+GaFE=
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: c636bfc46a2a0c4c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bifWv6gKVpmN9nYafuKx4UEQfbI204FaKWy3IPzUTRJz6sEyYTR7AJa2GYLF/iryY7WAmKkHEPDPi4uNP0Bj+zOcTyIgI32vAIgdNsiZCYDm+NcAawYC6CEemMMI/A/Mv8Svw++nXX9A/oQ6j8AUP36FZ50pRnbNzNg5m0YlYDDK/zPaPdI+bpq8wMgF5kam2VeHZzEIpezzIm4fq3le3vyB16FTXuwlN9n9AU015rVf5/Ao8mnAXBrC/dZb2f7TWS5aBAD/vK90brJwjiY1Y+Mx1SYnZF1DceENO6hUpOPveDsF2U6wW1emdsFOe8fZtzAuMz9Kwqv7h3uTdNu/ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IYabnfGTYSDlSRQTGH+QiW6OL7y+hwSMHNlCer8295U=;
 b=CFTVh1fa7O3+v2G4OW1WyYpN5QMj0G8mlVqkHcwF3/qvSg8BjJ4OS/wHZvCYNA+pzreLrKaix5QVBSCRTn1CHTOLMPNq1jWG3aSDBO+vFZtRF5btKKT88r0sYufJHZiJkSoNPZJ2WsA3yKdGsWcs0iF60UZfZK2pWHY3AVSatRQ9Q3CqNtg9MHBMsn0W/dmX5AuC5VPhB7eNTkoAkIIrssrowGEHIxcjVuZCK4U/8sxN5/0u7AKOuTf+XSLoaYG45ytGZl7wHAgpalXD1LQVj4I7Jx2BsS6SYHMS9EOyxAq9c8LGIMlD7UIMs4MojI9z8M3gkdZ09/QmFXqKWBMTeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=IYabnfGTYSDlSRQTGH+QiW6OL7y+hwSMHNlCer8295U=;
 b=v/LxC+ADUOFZ6WAv1MC6fRlj32PkmWjno6vahzrjE82SqT28v6RNWdrsKXaV9mjlOR+GB/K2hiOVvWMfl8LICiOuRFs/Q8ohrJED9hdUdg+TvDeKXV7MskS1sjxICn5s4S5jSY28YtD6tKbN9qIaVcRfyagmJ234jz+3W3+GaFE=
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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index: AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/YV3wAgAAz1YA=
Date: Thu, 3 Aug 2023 13:03:59 +0000
Message-ID: <B2EA567E-1E51-44CC-94D8-DC8C765EC4AB@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <9320a2b7-18cd-2766-b115-300755d64932@xen.org>
In-Reply-To: <9320a2b7-18cd-2766-b115-300755d64932@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB10019:EE_|DBAEUR03FT022:EE_|PAWPR08MB10117:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d16cb0e-26d0-4697-ae1b-08db94221f5a
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:
 YyXXwls85j5o8EILzsxUE9hKLMwtZ9W/noC5uVAGAk6phjLGpyErr3PzySpAKiQFfkfxSlzjVXYsh0t6shhxAnmQojCbgyhwgL85zZBtdwQZ0+FfWs7eZ3AcEagwRGGv9K1Vae0YXz6sdgrwf0Swowgt00ik/QjkhwcWpo3t3KTk5xODyIYoFWVqI4j7UxgGt3wnOiA5cg4ZwfyFSsK3YPqYH8YMT+Rt1VxP1AIiytEAySyJojxJ5G2jNWyuyuNXyfS5qEwwUidggrPjnq+Y4fhnB3rUVfyBXFjbl+icySBQ2gTpMEYoqvWaL4GsDsSyy8KGPD7bhXW+SjuzIfT/Uoa6i1hGYoSv3eaTAF7PcDTC1WZeVQrqkZcHJuA9/+WNSfTZlM/7P9CS54e0nig4jKut92NRI1wot1wAUTkNB9549FSnmv1oCX+RYVclkhnpsDue48IF0GPCZFZ7s+2UYZAgjf8q5ZFNNRgZoNDY0SAOTXX64RVPOerTkopn05oQ9MXotq+3Zk4nBdw0/ZEtIWAoqlwo5E5cr24y42k7K2GMhtWnWs5X7z5iA04uT4M0iYBGBQSZ4G82xFw9kb86h/eeJkL50mlKV71OJvGbthAIqzjonAZwxAu4T/Acm91h+swE1mJfkqLwlwOoEnkGSg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199021)(2616005)(6506007)(26005)(186003)(316002)(76116006)(2906002)(91956017)(66946007)(4326008)(64756008)(66446008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(71200400001)(6512007)(54906003)(478600001)(38100700002)(122000001)(33656002)(36756003)(86362001)(38070700005)(66899021)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <983C0E5AEDB8C44D8FA9640A66572CC8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10019
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d6d90a2c-6054-48f3-be86-08db94221a42
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Tw5CEVtiULJIN4cBbYO5zSZrwdPZkmNJE1B1Vd9DLBjZLfIvpJH/sQ6Flw2skxYZ3eylBM90KkRes6fKcM01JS2BFvFL+FA4EKWll8+Fwnyjwc/jXnHS0HQ1o/OwRbwmnH6cELmthw2TIiRM2FQCHCujQPnEzu1cTbx3wWumH6FE67zF4nMYA+xBejo3M6TmDT6IyjmW+V4ezAu0WZSD1/dG+qjz0ox7JnqmNYyhk/RDV/wSyzpcYxoY2Kxqw1wuodVsjZ3pGp8JLkjBzyYxfSZ2eIOi+s2n+WV8qznh3f0PbwKnqkGqpUmf2ucYxXj5t9N1Zk09614aiLnRdY82/V0pJqj9vIHWm+y3CJ91XbZn/JmtBTTjI1vLY8TbGrZOeFESPi30u60TwsQsBn1UjDzOCjnGx1c1EsadSjBvCNwkQrY2iSThbryqApgpPyjWyc5ewCb2HyjLAy/ISZ0/HHOu/sQw9ONN+KH1xgPPde1SOc5b+cmQMy+MM9dgnVmUmMAX4RCk5iI3hEEciwQsHcb89AMooJcbsqfoBLQcF/eHUA+OOmUqffKpcQzTt8z11mQ/95m2Vll+yTOrJIqQyAZ/bLxK1vEjRjr/BBFUeIRdCwdWG6FnaexoJliynum93H8IB0DUy6F462wQintXHXeAO+TNIKQ/K/3NHWr8FRHGXxqP4khzmK7+bzl1jKIYAzu2xKHClq6ydZL+/RvxexBj2at1Nd+69AUgsFEAxB4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(396003)(346002)(376002)(82310400008)(451199021)(36840700001)(40470700004)(46966006)(41300700001)(40460700003)(8936002)(8676002)(6862004)(36860700001)(47076005)(6506007)(336012)(186003)(26005)(107886003)(86362001)(2616005)(81166007)(356005)(82740400003)(316002)(40480700001)(54906003)(478600001)(6512007)(6486002)(33656002)(36756003)(4326008)(70586007)(70206006)(2906002)(5660300002)(66899021);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 13:04:07.8736
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d16cb0e-26d0-4697-ae1b-08db94221f5a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10117

Hi Julien,

>> +
>>  config GICV3
>>   bool "GICv3 driver"
>>   depends on !NEW_VGIC
>> @@ -92,6 +100,11 @@ config HAS_ITS
>>          bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPP=
ORTED
>>          depends on GICV3 && !NEW_VGIC && !ARM_32
>>  +config VGICV2
>> + bool "vGICv2 interface for guests"
>=20
> This description is a bit misleading as the vGICv2 will also be used for =
dom0 in the case of vGICv2.
>=20
>> + default y
>=20
> Please add a longer help.
>=20
>> + depends on (GICV2 || GICV3) && !NEW_VGIC
>=20
> In the near future, I don't expect anyone to introduce a new non-GIC of i=
nterrupt controller for Arm. But I would expect new version of the GIC. So =
I would drop (GICV2 || GICV3).
>=20
> Also when !NEW_VGIC is selected, this will make VGICV2 will be unselected=
. I was actually expecting the other way around given that new vGIC only of=
fer v2 support.
>=20
> The rest of the changes LGTM.

Thanks a lot for having a look on this patch, you are right the NEW_VGIC is=
 offering only v2 support at the moment, does this changes captures your
Comments?

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5cdba07df964..1c600b3b8d04 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -110,15 +110,19 @@ config HAS_ITS
         depends on GICV3 && !NEW_VGIC && !ARM_32
=20
 config VGICV2
-       bool "vGICv2 interface for guests"
+       bool "vGICv2 interface for domains"
        default y
-       depends on (GICV2 || GICV3) && !NEW_VGIC
+       help
+         Provides a virtualised interface for the Generic Interrupt Contro=
ller that
+         can be used by Xen's domains.
+         If unsure, say Y
=20
 config HVM
         def_bool y
=20
 config NEW_VGIC
        bool "Use new VGIC implementation"
+       select VGICV2
        ---help---
=20
        This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y +=3D vgic.o
-obj-y +=3D vgic-v2.o
+obj-$(CONFIG_VGICV2) +=3D vgic-v2.o
 obj-y +=3D vgic-mmio.o
-obj-y +=3D vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) +=3D vgic-mmio-v2.o
 obj-y +=3D vgic-init.o



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



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:13:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:13:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576364.902402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRY8P-0000FP-RH; Thu, 03 Aug 2023 13:12:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576364.902402; Thu, 03 Aug 2023 13:12: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 1qRY8P-0000FI-Np; Thu, 03 Aug 2023 13:12:57 +0000
Received: by outflank-mailman (input) for mailman id 576364;
 Thu, 03 Aug 2023 13:12: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRY8O-0000FC-1Y
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:12:56 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 741d7b0e-31ff-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 15:12:54 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691068361302602.0827953807205;
 Thu, 3 Aug 2023 06:12:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 741d7b0e-31ff-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691068363; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KdBsPb/36Bx0f6EAyNk9GAejDbzVKtsrpfId3o9DsKSakDAiXm5iaPRAD3zydRDbmASP0TEiC96RfTIVn12R1QBFxj8TU9SmO2w5UygtJyzXafjUtlwTLBl2tPiE80EoDRd+wjpXVwLeDHqCeWjtwzjbVfftZOskzYHYf+TgOQ8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691068363; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=p+i+tVUmrsXbTJPh7J2O2HcVZAW1GBPm8/kJrcCQziQ=; 
	b=HmkZojdErOmaW8xbYJKKP6X6BtaE3dQx8oGsIJJWeCitpEzy15wI/RrsrDEY7T/WI9ScJeDbm9AlpNJrzTOOxZvf1JXDMrLUWXM8YHak12EwoFWbGlMFaOfxk7Tw9IGFLux8y7wTKl89AYlIhjVfd0QE6aLeseIOY8JYiymVJk0=
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=1691068363;
	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=p+i+tVUmrsXbTJPh7J2O2HcVZAW1GBPm8/kJrcCQziQ=;
	b=QZRQZK+9piv1CiQOSJUm2QJ2zYpE37zd78k2Kr3BFRv/47HgBV6nc1SGfYE5tdVc
	gTXcy1VXwG2W02betM0mkPC7zn9lPXQjfaDCj1FbjaBdNCUo/2aWJVDUUq9pgITk2Fi
	C0U2v6hlY2RpLXyT9wKLHudxtuw8koe0AmfX0QSk=
Message-ID: <98db3f0c-6188-ba1b-7252-ae3e31adbf36@apertussolutions.com>
Date: Thu, 3 Aug 2023 09:12:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jan Beulich <jbeulich@suse.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <alpine.DEB.2.22.394.2308021657290.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308021657290.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



On 8/2/23 19:58, Stefano Stabellini wrote:
> On Wed, 2 Aug 2023, Jan Beulich wrote:
>>> -    for ( ; ; )
>>> +    if ( d == NULL )
>>
>> This covers both Xen receiving input and the domain receiving input having
>> gone away. Originally in the latter case the next sequential (in domid
>> numbering) domain would be switched to. In the new logic you start over
>> from the beginning of the domain list. Such a change in behavior (if
>> deemed acceptable at all, which I'm not convinced of) needs calling out in
>> the description.
> 
> I think it would be best to keep the current behavior as we already
> have people using it unless we have strong reasons to change it.

I agree and intended to keep the order of switching but I disagree on 
keeping the complete current behavior. I mean that by the complete 
current behavior being defined, at least for Arm, as meaning only the 
domains created at boot. The is_console flag in struct domain is the DAC 
equivalent to granting the FLASK access XEN__READCONSOLE to a domain, it 
was just never implemented/used until domoless enable it. An intended 
consequence of this patch is to ensure any domain granted the privilege, 
either through the DAC is_console or FLASK XEN__READCONSOLE, is included 
in the rotation regardless if the domain was created at boot or at runtime.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:14:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576367.902411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRY9o-0000nO-4e; Thu, 03 Aug 2023 13:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576367.902411; Thu, 03 Aug 2023 13:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRY9o-0000nH-1W; Thu, 03 Aug 2023 13:14:24 +0000
Received: by outflank-mailman (input) for mailman id 576367;
 Thu, 03 Aug 2023 13:14: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRY9m-0000n9-P7
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:14:22 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7d7f373-31ff-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 15:14:21 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691068454617635.0981335618633;
 Thu, 3 Aug 2023 06:14: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: a7d7f373-31ff-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691068457; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Q89MeVFSK8jwhtPdVQ1oDiTvVFk5wAQYSewss5+2mdtjkqUvtbUSTRTRwjqbotQv9N1b6ycmbFOr/xcDzLtdZKAMXDNUYQZLfFSYQFSMKeh1zQ6nr+GfLzJ60FLXUntRLL7AK5K+dUyQuvPLVPTJbiq+5G0gmhR+tSTFiUDTXek=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691068457; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=hpa3gHQ2YUcIcsojKGTgCk04d0FhFq+N9GgsGAyqK0I=; 
	b=MEJgOtORnusvNfn5amv0ALHqj9tW/X9av8s+JkKKuTAcOOT4HDkkwc6W0wG7S0c2lzAXUCPEHtkWqxP1Xr6rkP2guJmKFCK2kHtVVL1kRioxiz1s1FLk8i2WenpYN69UBuwT9o452WjNeAh7tSb2NDMS/G0twg4/TWsRXpU+j0s=
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=1691068457;
	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=hpa3gHQ2YUcIcsojKGTgCk04d0FhFq+N9GgsGAyqK0I=;
	b=EXhsZwoho68ZeAJZj20YDTSsCoZvkOJOeiriMfPt/RcUAciEI52ArTWh9uZhZPt7
	6x45SE+iyVoRJr5lRA4AqkCug1ezsADZQfbGWzZs74UvQDbjqLr7MKw/R0DWyio6wuy
	6m/va2Zz2Kn2npY/Lv45zer/RZtPO0n9blO/Bvcg=
Message-ID: <71a942bb-a846-e37c-93e7-eb47cad7b7fa@apertussolutions.com>
Date: Thu, 3 Aug 2023 09:14:11 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20230801161409.25905-1-dpsmith@apertussolutions.com>
 <20230801161409.25905-3-dpsmith@apertussolutions.com>
 <AS8PR08MB799102916C8CA24C276DB51A920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <7afba030-48f2-baaf-02f9-dae84107a620@apertussolutions.com>
 <AS8PR08MB7991BC2D8AAC933CE77F4DE79208A@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <AS8PR08MB7991BC2D8AAC933CE77F4DE79208A@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



On 8/2/23 21:40, Henry Wang wrote:
> Hi Daniel,
> 
>> -----Original Message-----
>> Subject: Re: [PATCH 2/2] fdt: make fdt handling reusable across arch
>>> make: *** [Makefile:183: __sub-make] Error 2
>>> make: Leaving directory '/jenkins/workspace/ais-xenbits-
>> xen/layers/xen/xen'
>>>
>>> The staging itself passed the CI check. Did I miss some context to make
>>> this patch works? Could you please provide some hints? Thanks in advance!
>>
>> Nope you are correct, I now need to go back and look if I sent patches
>> out of the wrong branch or if I really did miss cleaning up the original
>> declarations in the Arm tree. I fairly confident I made sure gitlab-ci
>> passed before I cut the patches for sending,
> 
> I think so, as I saw something related to the Gitlab-CI runners discussion
> in IRC yesterday.
> 
>> but since I had three
>> different series in flight, I may have gotten jumbled. Apologies for the
>> unnecessary churn here.
> 
> No problem at all, I am more than happy to do the test for your
> v2 series once it is in the mailing list :))

Great! Thank you!

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:20:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576372.902422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYFe-0002IV-OW; Thu, 03 Aug 2023 13:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576372.902422; Thu, 03 Aug 2023 13:20:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYFe-0002IO-Ll; Thu, 03 Aug 2023 13:20:26 +0000
Received: by outflank-mailman (input) for mailman id 576372;
 Thu, 03 Aug 2023 13:20: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRYFd-0002II-KZ
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:20:25 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7fd4d85f-3200-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 15:20:22 +0200 (CEST)
Received: from AM6PR04CA0034.eurprd04.prod.outlook.com (2603:10a6:20b:92::47)
 by PAXPR08MB6512.eurprd08.prod.outlook.com (2603:10a6:102:15a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 13:20:16 +0000
Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:92:cafe::eb) by AM6PR04CA0034.outlook.office365.com
 (2603:10a6:20b:92::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 13:20:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 13:20:15 +0000
Received: ("Tessian outbound ba2f3d95109c:v145");
 Thu, 03 Aug 2023 13:20:15 +0000
Received: from 4d39f9a696b2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FE1F423C-DA71-4FB6-B999-463B7E1C9A84.1; 
 Thu, 03 Aug 2023 13:19:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4d39f9a696b2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 13:19:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PR3PR08MB5609.eurprd08.prod.outlook.com (2603:10a6:102:81::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 13:19:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 13:19:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fd4d85f-3200-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yko7sJmAsPPi1OmFjJV2UWT7nJR71uws+pnhFOs32cY=;
 b=qclv42IOfnYs3n1ali34BJ986r5SpkhaSAGhFryPNBL6bAYPQTz5otqA1EoIN1zajPyLNV+2Nz+VxEw/usCC41oWl+C3MbYu4tI48lQo+8LCzQ5gDfLqypUUR3sutNwD8oKnuIyIgSGnF1SAfWL3P4PoYN2MVHITu1PQLbcKuuA=
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: 807d66da92d13ce1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IYko0bpM/8JPO7Zo2xzS4CIuTuiNDzMRGIAX9yL9t3GyQDXQ7XaoTOVHhMFA0WmpwCsfwqAywJuUfmIBMhPXfY6pmpyZuMWZ0XP/dRFw5k1c6qBrENug83VMsjuhV/uMAwshdOU2S/kpZt3aBatkX9nt1iFQnaB405pDNCj3fN3cbNb4USjfDYpAyK7Au7DI9XEowDI2CAz8afhu6TkwnMH6k15exGosjz7ncTIfh8AYnGg+NeVxozV0CHvsgUud0O+qUpkI1Bw96O13lp7M1svHMufD85ukxd9w/jq31e2ArK+7xHmsAUXBgEjzHGFMtnONDOauXH/r38ERl2SAlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yko7sJmAsPPi1OmFjJV2UWT7nJR71uws+pnhFOs32cY=;
 b=fIB7skvQuVMrADkKLzSsj5ZhveGNVBxgXZh4VFrRyDpKYu8z3yXqkfrGEzycNho32NwQLOMWl1h3NbZGpgz0k8xfSykrvyzH66a1QTTBjt0lv613qYx9JlFomzEAcpSY/5pY3FZjSRGtbOxeBWVqsxb4kBWKZURG2q0Sxl8pe85uCZ7ZELo9E4+ZOTJ8llQYOuUeiol+spwmg4YV6K6TDFnqEjL7ogLIx1X5PXUu/LiErj35fGUcRfPbNsWdxe5mzm0bcyQ3bXC7/2IKkgEvEAjent+ZY24cxhOI6gSBsCYuQcdhV0NLXAmDGA6bbXdw9kcL4Nr9g2HJlbC8YJgJvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=Yko7sJmAsPPi1OmFjJV2UWT7nJR71uws+pnhFOs32cY=;
 b=qclv42IOfnYs3n1ali34BJ986r5SpkhaSAGhFryPNBL6bAYPQTz5otqA1EoIN1zajPyLNV+2Nz+VxEw/usCC41oWl+C3MbYu4tI48lQo+8LCzQ5gDfLqypUUR3sutNwD8oKnuIyIgSGnF1SAfWL3P4PoYN2MVHITu1PQLbcKuuA=
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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Topic: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Thread-Index: AQHZxUjDKmzjB69oo0mbnCqJ2MJvKa/YV3wAgAAz1YCAAAR1AA==
Date: Thu, 3 Aug 2023 13:19:56 +0000
Message-ID: <4F3C5624-A96E-4AB0-87B2-B5F67B8661E2@arm.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <9320a2b7-18cd-2766-b115-300755d64932@xen.org>
 <B2EA567E-1E51-44CC-94D8-DC8C765EC4AB@arm.com>
In-Reply-To: <B2EA567E-1E51-44CC-94D8-DC8C765EC4AB@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PR3PR08MB5609:EE_|AM7EUR03FT006:EE_|PAXPR08MB6512:EE_
X-MS-Office365-Filtering-Correlation-Id: d3a0d8cd-e0f2-4672-7798-08db94246024
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:
 IBbBU4tIX8myHPmT5cPD0CcekePGjPqEQJ8iP+bXwueP5tyY8QKF4ZeVzelOsgRg+rOrifLWSJK9qeSkiDzQZVct7bQqOpj9z+AZ5Os1yexr0Tgn20hyDqpOmmrH1mte5MMj6RYvF4ecPlT4YrNCxEQFQHodL51+hxj/wdMH1F6bKRb5g53efhdCk5bYQW28f6eyGIeXBWS3rGY9GB1/vFjA78yqPM9HouCwO0zfm7ctHGiYpHFlSy/+62Ap41jC1xTLFHIPAdLqLEi20TOo/BwDQ0GM6agbVEcYAe7lVuAizB4PNZoBSd6ConbomIAmMer6rRmydfK+zr4UKOb5Ieq2Ro4LJYz4YbYwDJ3uMUQyGnaZZA7cJ+dYs7gujsMtoCrB9sK5OyB112lK5Cf441BQLEPS6KdxTdIrwHAOfG/qRjhtDycTCv/6SbeVr3elZNSJUdHRoZENKSmjTDqGGqTPI/4WqSq2fHsUrHQsTBjAR5s9T4tZ7CxJgPllXZ8GYMSIzwJvFWQew/MDdRdrf4bDMR6NfHtSnzxUIWjBoPT1YIl85Nuni5CQZDVK7CstTEkDleojOOvzkaRPXKqUJU9q/iuKMN5hPfP5AHJL9evHlZKt4eh1XKY1tAoQ+dUO9F+DwYDinV98c4DMr2zsNA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199021)(2616005)(53546011)(6506007)(26005)(186003)(316002)(76116006)(2906002)(91956017)(66946007)(4326008)(64756008)(66446008)(66476007)(66556008)(5660300002)(6916009)(41300700001)(8676002)(8936002)(6486002)(71200400001)(6512007)(54906003)(478600001)(38100700002)(122000001)(86362001)(33656002)(36756003)(38070700005)(66899021)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <1E440CA75D497E4BA154F459819B38B6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5609
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:
 AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7f3a274e-0b82-4730-88ba-08db942454de
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VMeNzhD+XdzWNYvvI6YlGjt6YhCd5FsriRWhglz8b9iqYm/WUwouuxhIeAYAMmtlyBORkR0kfT7leAjhKSdlJOoDkDAJg01LoqdjUnah9HgjpUf2MHfqA6Hg1HD1K3gJss5s3rmvonjIHrheHDdh2pkqxY6oAK6YEgqWva2lgueazGOh90qAkyxly50J0QGNYaNoXfIMZoOcQBTWqxHOZ/KoQ+ZYToX+8W7R4gKVopHLeSQWtuhfe//CAfO0XphdoCSdIxRj7M/fgW5pMPvwcq0RHVHFJZUIKsVfoJJ3MGZZqyyIHoADs/pGobTqKSJgxER6lrKbqju8SlhfM6SKH86lCvYL0jmodv1w98dNUwsRJ1TdaMZaGc59fUlUYtJ9smvS14XcM0o3n7XEuV2h3uzOyGWXnM9eS6indhUuoIwjayJp1LyHfgCJpSey4xOU/3/u24UjASTE6kROUQ0/R9ol9eNudWGDGjYxiaXUhJZvnSShlJdwbAIsQfLMmt8C0V/yo9EwMQszm/rXpDz0GDf0vuWBBSPRrGXidgGvM77HdktX53W/N8jbbApFPwxw/waZmA4YVnEuqhGAyUCZIawJaWE7OlDyfE82v89ypgJhHOsWYJr7VhY1L410Q8dT25J4NsBVa2PvEFdcIhIE7i6RAIc5jwrL18hSXXT9DVErJj89KgRXUmbQTkGi+Df9M7ATUAMOvjYDwIl8ysKzt9NnoicYoxYTyVf5JfRcLGE=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199021)(82310400008)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(107886003)(53546011)(6506007)(26005)(186003)(336012)(47076005)(36860700001)(316002)(2906002)(70586007)(70206006)(4326008)(5660300002)(6862004)(41300700001)(8676002)(8936002)(6486002)(6512007)(54906003)(478600001)(40480700001)(356005)(81166007)(86362001)(33656002)(36756003)(82740400003)(66899021);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 13:20:15.4699
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3a0d8cd-e0f2-4672-7798-08db94246024
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6512

DQoNCj4gT24gMyBBdWcgMjAyMywgYXQgMTQ6MDMsIEx1Y2EgRmFuY2VsbHUgPEx1Y2EuRmFuY2Vs
bHVAYXJtLmNvbT4gd3JvdGU6DQo+IA0KPiBIaSBKdWxpZW4sDQo+IA0KPj4+ICsNCj4+PiBjb25m
aWcgR0lDVjMNCj4+PiAgYm9vbCAiR0lDdjMgZHJpdmVyIg0KPj4+ICBkZXBlbmRzIG9uICFORVdf
VkdJQw0KPj4+IEBAIC05Miw2ICsxMDAsMTEgQEAgY29uZmlnIEhBU19JVFMNCj4+PiAgICAgICAg
IGJvb2wgIkdJQ3YzIElUUyBNU0kgY29udHJvbGxlciBzdXBwb3J0IChVTlNVUFBPUlRFRCkiIGlm
IFVOU1VQUE9SVEVEDQo+Pj4gICAgICAgICBkZXBlbmRzIG9uIEdJQ1YzICYmICFORVdfVkdJQyAm
JiAhQVJNXzMyDQo+Pj4gK2NvbmZpZyBWR0lDVjINCj4+PiArIGJvb2wgInZHSUN2MiBpbnRlcmZh
Y2UgZm9yIGd1ZXN0cyINCj4+IA0KPj4gVGhpcyBkZXNjcmlwdGlvbiBpcyBhIGJpdCBtaXNsZWFk
aW5nIGFzIHRoZSB2R0lDdjIgd2lsbCBhbHNvIGJlIHVzZWQgZm9yIGRvbTAgaW4gdGhlIGNhc2Ug
b2YgdkdJQ3YyLg0KPj4gDQo+Pj4gKyBkZWZhdWx0IHkNCj4+IA0KPj4gUGxlYXNlIGFkZCBhIGxv
bmdlciBoZWxwLg0KPj4gDQo+Pj4gKyBkZXBlbmRzIG9uIChHSUNWMiB8fCBHSUNWMykgJiYgIU5F
V19WR0lDDQo+PiANCj4+IEluIHRoZSBuZWFyIGZ1dHVyZSwgSSBkb24ndCBleHBlY3QgYW55b25l
IHRvIGludHJvZHVjZSBhIG5ldyBub24tR0lDIG9mIGludGVycnVwdCBjb250cm9sbGVyIGZvciBB
cm0uIEJ1dCBJIHdvdWxkIGV4cGVjdCBuZXcgdmVyc2lvbiBvZiB0aGUgR0lDLiBTbyBJIHdvdWxk
IGRyb3AgKEdJQ1YyIHx8IEdJQ1YzKS4NCj4+IA0KPj4gQWxzbyB3aGVuICFORVdfVkdJQyBpcyBz
ZWxlY3RlZCwgdGhpcyB3aWxsIG1ha2UgVkdJQ1YyIHdpbGwgYmUgdW5zZWxlY3RlZC4gSSB3YXMg
YWN0dWFsbHkgZXhwZWN0aW5nIHRoZSBvdGhlciB3YXkgYXJvdW5kIGdpdmVuIHRoYXQgbmV3IHZH
SUMgb25seSBvZmZlciB2MiBzdXBwb3J0Lg0KPj4gDQo+PiBUaGUgcmVzdCBvZiB0aGUgY2hhbmdl
cyBMR1RNLg0KPiANCj4gVGhhbmtzIGEgbG90IGZvciBoYXZpbmcgYSBsb29rIG9uIHRoaXMgcGF0
Y2gsIHlvdSBhcmUgcmlnaHQgdGhlIE5FV19WR0lDIGlzIG9mZmVyaW5nIG9ubHkgdjIgc3VwcG9y
dCBhdCB0aGUgbW9tZW50LCBkb2VzIHRoaXMgY2hhbmdlcyBjYXB0dXJlcyB5b3VyDQo+IENvbW1l
bnRzPw0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcNCj4gaW5kZXggNWNkYmEwN2RmOTY0Li4xYzYwMGIzYjhkMDQgMTAwNjQ0DQo+
IC0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnDQo+ICsrKyBiL3hlbi9hcmNoL2FybS9LY29uZmln
DQo+IEBAIC0xMTAsMTUgKzExMCwxOSBAQCBjb25maWcgSEFTX0lUUw0KPiAgICAgICAgIGRlcGVu
ZHMgb24gR0lDVjMgJiYgIU5FV19WR0lDICYmICFBUk1fMzINCj4gDQo+IGNvbmZpZyBWR0lDVjIN
Cj4gLSAgICAgICBib29sICJ2R0lDdjIgaW50ZXJmYWNlIGZvciBndWVzdHMiDQo+ICsgICAgICAg
Ym9vbCAidkdJQ3YyIGludGVyZmFjZSBmb3IgZG9tYWlucyINCj4gICAgICAgIGRlZmF1bHQgeQ0K
PiAtICAgICAgIGRlcGVuZHMgb24gKEdJQ1YyIHx8IEdJQ1YzKSAmJiAhTkVXX1ZHSUMNCj4gKyAg
ICAgICBoZWxwDQo+ICsgICAgICAgICBQcm92aWRlcyBhIHZpcnR1YWxpc2VkIGludGVyZmFjZSBm
b3IgdGhlIEdlbmVyaWMgSW50ZXJydXB0IENvbnRyb2xsZXIgdGhhdA0KPiArICAgICAgICAgY2Fu
IGJlIHVzZWQgYnkgWGVuJ3MgZG9tYWlucy4NCj4gKyAgICAgICAgIElmIHVuc3VyZSwgc2F5IFkN
Cj4gDQo+IGNvbmZpZyBIVk0NCj4gICAgICAgICBkZWZfYm9vbCB5DQo+IA0KPiBjb25maWcgTkVX
X1ZHSUMNCj4gICAgICAgIGJvb2wgIlVzZSBuZXcgVkdJQyBpbXBsZW1lbnRhdGlvbiINCj4gKyAg
ICAgICBzZWxlY3QgVkdJQ1YyDQoNClNvcnJ5LCBJIG1lYW50IHRvIHVzZSBoZXJlIOKAnHNlbGVj
dCBHSUNWMiINCg0KPiAgICAgICAgLS0taGVscC0tLQ0KPiANCj4gICAgICAgIFRoaXMgaXMgYW4g
YWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gb2YgdGhlIEFSTSBHSUMgaW50ZXJydXB0DQo+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS92Z2lj
L01ha2VmaWxlDQo+IGluZGV4IDgwNjgyNjk0OGUyMC4uNjBjYmY3ZjJmOTRhIDEwMDY0NA0KPiAt
LS0gYS94ZW4vYXJjaC9hcm0vdmdpYy9NYWtlZmlsZQ0KPiArKysgYi94ZW4vYXJjaC9hcm0vdmdp
Yy9NYWtlZmlsZQ0KPiBAQCAtMSw1ICsxLDUgQEANCj4gb2JqLXkgKz0gdmdpYy5vDQo+IC1vYmot
eSArPSB2Z2ljLXYyLm8NCj4gK29iai0kKENPTkZJR19WR0lDVjIpICs9IHZnaWMtdjIubw0KPiBv
YmoteSArPSB2Z2ljLW1taW8ubw0KPiAtb2JqLXkgKz0gdmdpYy1tbWlvLXYyLm8NCj4gK29iai0k
KENPTkZJR19WR0lDVjIpICs9IHZnaWMtbW1pby12Mi5vDQo+IG9iai15ICs9IHZnaWMtaW5pdC5v
DQo+IA0KPiANCj4gDQo+PiANCj4+IENoZWVycywNCj4+IA0KPj4gLS0gDQo+PiBKdWxpZW4gR3Jh
bGwNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:23:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576376.902431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYIq-0002s6-5h; Thu, 03 Aug 2023 13:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576376.902431; Thu, 03 Aug 2023 13: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 1qRYIq-0002rz-30; Thu, 03 Aug 2023 13:23:44 +0000
Received: by outflank-mailman (input) for mailman id 576376;
 Thu, 03 Aug 2023 13:23:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRYIp-0002rt-Fw
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:23:43 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f59c6287-3200-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 15:23:40 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 169106901259642.063268145639086;
 Thu, 3 Aug 2023 06:23: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: f59c6287-3200-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691069015; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=BiQp6xKBP2N5/sQdi/zRz5pj+IjMcGxsdkvzrctqilXN+h7OgrW+CfaJ12R6xEBUlpSduV70yEs6lzDOZJbhkQ1VhdBtOctWENg70o/sdLvkZ5A2yE8Fis0p8i1qavWxKyfHe7OamaoOOYRZhC3v047h4FubC1a/euDZPHenQ/o=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691069015; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=J3fJ8+Sv5o5vmk9lGPGuBN12/HbQyJ1QFr9EUpAwrSk=; 
	b=MlavFkGMsdS6Oytr2yOXlo5q47mpd5dmayta6l0/47HC6aW9sqHmanBn4S7nMv5t1udCRR5fpYiTLiJZesADwQCcsiy0JIsPg3p1NwFABxnlJe1LeN/EAyelX/Di8Wfk401qmq/AvZ6AsnqpfNNIAUFIEDZSFU4Cz8eEA2GtIvA=
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=1691069015;
	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=J3fJ8+Sv5o5vmk9lGPGuBN12/HbQyJ1QFr9EUpAwrSk=;
	b=tqc09EoRCVNnVVEYe4qYXVVlduZpifrxlRSO7ZD5JEw88GgZ1/fpvKekkn4EFPmK
	KfIaMJQW0qZoNZNhogVmR9U5sBdMrwp4NFHv3X59PLOWYZcBGsqA7V+TnB+ac0U/kLt
	hRbp6g8wux5cUpa3HLs7UeKlh+2oz025CN9f30L4=
Message-ID: <29453e14-27e5-eb2c-daeb-ae9a46fd9e29@apertussolutions.com>
Date: Thu, 3 Aug 2023 09:23:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, xen-devel@dornerworks.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 roberto.bagnara@bugseng.com
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011721030.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/1/23 20:24, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> A legacy concept is that the initial domain will have a domain id of zero. As a
>> result there are places where a check that a domain is the inital domain is
>> determined by an explicit check that the domid is zero.
>>
>> This commit seeks to abstract this check into a function call and replace all
>> check locations with the function call.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Thanks for the patch, this is a good cleanup!

Thank you for the sentiment as well as giving it a review!

>> ---
>>   xen/common/domain.c         | 4 ++--
>>   xen/common/sched/arinc653.c | 2 +-
>>   xen/common/sched/core.c     | 4 ++--
>>   xen/include/xen/sched.h     | 7 +++++++
>>   4 files changed, 12 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>> index 304aa04fa6..8fb3c052f5 100644
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -309,7 +309,7 @@ static int late_hwdom_init(struct domain *d)
>>       struct domain *dom0;
>>       int rv;
>>   
>> -    if ( d != hardware_domain || d->domain_id == 0 )
>> +    if ( d != hardware_domain || is_initial_domain(d) )
>>           return 0;
>>   
>>       rv = xsm_init_hardware_domain(XSM_HOOK, d);
>> @@ -612,7 +612,7 @@ struct domain *domain_create(domid_t domid,
>>       d->is_privileged = flags & CDF_privileged;
>>   
>>       /* Sort out our idea of is_hardware_domain(). */
>> -    if ( domid == 0 || domid == hardware_domid )
>> +    if ( is_initial_domain(d) || domid == hardware_domid )
>>       {
>>           if ( hardware_domid < 0 || hardware_domid >= DOMID_FIRST_RESERVED )
>>               panic("The value of hardware_dom must be a valid domain ID\n");
>> diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
>> index a82c0d7314..31e8270af3 100644
>> --- a/xen/common/sched/arinc653.c
>> +++ b/xen/common/sched/arinc653.c
>> @@ -404,7 +404,7 @@ a653sched_alloc_udata(const struct scheduler *ops, struct sched_unit *unit,
>>        * Add every one of dom0's units to the schedule, as long as there are
>>        * slots available.
>>        */
>> -    if ( unit->domain->domain_id == 0 )
>> +    if ( is_initial_domain(unit->domain) )
>>       {
>>           entry = sched_priv->num_schedule_entries;
>>   
>> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
>> index 022f548652..210ad30f94 100644
>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -585,7 +585,7 @@ int sched_init_vcpu(struct vcpu *v)
>>            */
>>           sched_set_affinity(unit, cpumask_of(0), cpumask_of(0));
>>       }
>> -    else if ( d->domain_id == 0 && opt_dom0_vcpus_pin )
>> +    else if ( is_initial_domain(d) && opt_dom0_vcpus_pin )
>>       {
>>           /*
>>            * If dom0_vcpus_pin is specified, dom0 vCPUs are pinned 1:1 to
>> @@ -594,7 +594,7 @@ int sched_init_vcpu(struct vcpu *v)
>>           sched_set_affinity(unit, cpumask_of(processor), &cpumask_all);
>>       }
>>   #ifdef CONFIG_X86
>> -    else if ( d->domain_id == 0 )
>> +    else if ( is_initial_domain(d) )
>>       {
>>           /*
>>            * In absence of dom0_vcpus_pin instead, the hard and soft affinity of
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index 854f3e32c0..a9276a7bed 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>>   void watchdog_domain_init(struct domain *d);
>>   void watchdog_domain_destroy(struct domain *d);
>>   
>> +static always_inline bool is_initial_domain(const struct domain *d)
> 
> I know you used always_inline only because is_hardware_domain just below
> also uses it, but I wonder if we need it.

I was under the impression that access checks like these could end up in 
fast paths, so we wanted to coax the compiler into inlining these 
whenever possible. If others feel it is not needed, I have no objection 
to moving it to just inline.

> Also, Robero, it looks like always_inline is missing from
> docs/misra/C-language-toolchain.rst? Or do we plan to get rid of it?
> 
> 
>> +{
>> +    static int init_domain_id = 0;
> 
> I take it is done this way because you plan to make it configurable?

As you see in a later patch, it gets changed into an assignable role for 
the domain.

>> +    return d->domain_id == init_domain_id;
>> +}
>> +
>>   /*
>>    * Use this check when the following are both true:
>>    *  - Using this feature or interface requires full access to the hardware
>> -- 
>> 2.20.1
>>


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576381.902442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYSW-0004Qv-8b; Thu, 03 Aug 2023 13:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576381.902442; Thu, 03 Aug 2023 13:33:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYSW-0004Qo-5e; Thu, 03 Aug 2023 13:33:44 +0000
Received: by outflank-mailman (input) for mailman id 576381;
 Thu, 03 Aug 2023 13:33:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRYSV-0004Qi-Eu
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:33:43 +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 5b9c3325-3202-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 15:33:41 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691069615584770.6636556301372;
 Thu, 3 Aug 2023 06:33: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: 5b9c3325-3202-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691069617; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=a3h63MK2gqqr7HV5WiKivaBYU2qc1JH8mSkkMRa3GGxpAJrc3mDSJLRWCNLMhu4aDvLIVQZnd09ViDGkdrxurtq4PeZUdgHRmfpcyNk87NvJmLm/2gWz0Ocsa8Lnndw364Qez1mHeP6bysOBTWJpZkC6oTv6w2H/vvcytFKsJAA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691069617; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Ah/XQd/hZBpE0Stgw+77JLFwk+CLLIchBNGJVpobHsw=; 
	b=SA70azil8tnYy79SvP1wvrnL962CXEFnroSL3gVu2Jv0GpMwq+srw7uMZsSttFIh3G8d82Ne7kPc0rahaB3Xcuo5CCRD5JmKHGPW0lnKHUtJxNnAFrt0XGJVfNZCL7liWzV6DiR8Y5032OYjO4Tg/yHLIgLVM6jYb9pbKnddLtc=
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=1691069617;
	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=Ah/XQd/hZBpE0Stgw+77JLFwk+CLLIchBNGJVpobHsw=;
	b=akadWhX6dWJWP+gGzIgjQG/IWLjfTS3QsqISmCJZQAblUybAsFAKx6QmdWVs03qC
	NBAoqxg2sJOlsNVh55S2JjjraT/dD7DkE1Varmgu11VdaS85k5fw4Y9QHkR/1f9d0Xb
	cLLnz20jp0UDVG2gfDbvGCbnF7/k/GWmf10k6vh0=
Message-ID: <97319344-02d2-4fa4-9325-fbcd74364bdf@apertussolutions.com>
Date: Thu, 3 Aug 2023 09:33:33 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
 <fa9799bf-1a74-48a8-f4f4-3d2c563f0b13@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <fa9799bf-1a74-48a8-f4f4-3d2c563f0b13@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/23 03:46, Jan Beulich wrote:
> On 01.08.2023 22:20, Daniel P. Smith wrote:
>> A legacy concept is that the initial domain will have a domain id of zero. As a
>> result there are places where a check that a domain is the inital domain is
>> determined by an explicit check that the domid is zero.
> 
> It might help if you at least outlined here why/how this is going to
> change.

Okay, I will try expanding on this further.

>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>>   void watchdog_domain_init(struct domain *d);
>>   void watchdog_domain_destroy(struct domain *d);
>>   
>> +static always_inline bool is_initial_domain(const struct domain *d)
>> +{
>> +    static int init_domain_id = 0;
> 
> This may then also help with the question on why you use a static
> variable here. (In any event the type of this variable wants to
> be correct; plain int isn't appropriate ...

Ah, so this is a dated patch that I brought because of the abstraction 
it made. The intent in the original series for making it static was in 
preparation to handle the shim case where init_domid() would have return 
a non-zero value.

So the static can be dropped and changed to domid_t.

>> +    return d->domain_id == init_domain_id;
> 
> ... for this comparison.)
> 
> Jan

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:36:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576384.902452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYV4-00050b-LB; Thu, 03 Aug 2023 13:36:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576384.902452; Thu, 03 Aug 2023 13: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 1qRYV4-00050U-IP; Thu, 03 Aug 2023 13:36:22 +0000
Received: by outflank-mailman (input) for mailman id 576384;
 Thu, 03 Aug 2023 13:36: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 1qRYV3-00050O-Lz
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:36: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 1qRYUx-0007Rw-KE; Thu, 03 Aug 2023 13:36:15 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRYUx-0007VQ-DO; Thu, 03 Aug 2023 13:36:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M9kx6ktWiLuSAUESx8zDJ4d5/ShxILEjEUccuRaSgU4=; b=FNJCDzZ2NfQ6yOOgKz/pJEhpcR
	NbSUJ4robBR5lWxtQLrDGGNq0VXfl1a0VazHvqxQ2OPDY8Ie1uLH2SlsDDvFnDMR5RKrOlMoLl8f0
	0GI/DBbx0PX+d84GtFD/vAa3+LgwtiVsfqgGcya9OtvGsiSKMns62gQPfxy/sqinM0KU=;
Message-ID: <da257167-683f-4a2b-a14e-b55ae208bd7e@xen.org>
Date: Thu, 3 Aug 2023 14:36:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
 <fa9799bf-1a74-48a8-f4f4-3d2c563f0b13@suse.com>
 <97319344-02d2-4fa4-9325-fbcd74364bdf@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <97319344-02d2-4fa4-9325-fbcd74364bdf@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Daniel,

On 03/08/2023 14:33, Daniel P. Smith wrote:
> On 8/2/23 03:46, Jan Beulich wrote:
>> On 01.08.2023 22:20, Daniel P. Smith wrote:
>>> A legacy concept is that the initial domain will have a domain id of 
>>> zero. As a
>>> result there are places where a check that a domain is the inital 
>>> domain is
>>> determined by an explicit check that the domid is zero.
>>
>> It might help if you at least outlined here why/how this is going to
>> change.
> 
> Okay, I will try expanding on this further.
> 
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>>> Â  void watchdog_domain_init(struct domain *d);
>>> Â  void watchdog_domain_destroy(struct domain *d);
>>> +static always_inline bool is_initial_domain(const struct domain *d)
>>> +{
>>> +Â Â Â  static int init_domain_id = 0;
>>
>> This may then also help with the question on why you use a static
>> variable here. (In any event the type of this variable wants to
>> be correct; plain int isn't appropriate ...
> 
> Ah, so this is a dated patch that I brought because of the abstraction 
> it made. The intent in the original series for making it static was in 
> preparation to handle the shim case where init_domid() would have return 
> a non-zero value.
> 
> So the static can be dropped and changed to domid_t.

Looking at one of the follow-up patch, I see:

  static always_inline bool is_initial_domain(const struct domain *d)
  {
-    static int init_domain_id = 0;
-
-    return d->domain_id == init_domain_id;
+    return d->role & ROLE_UNBOUNDED_DOMAIN;
  }

So is there any point to have the local variable? IOW, can't this simply 
be "d->domain_id == 0"?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:44:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576389.902462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYdC-0006Wi-H8; Thu, 03 Aug 2023 13:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576389.902462; Thu, 03 Aug 2023 13: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 1qRYdC-0006Wb-EV; Thu, 03 Aug 2023 13:44:46 +0000
Received: by outflank-mailman (input) for mailman id 576389;
 Thu, 03 Aug 2023 13:44: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRYdA-0006WV-Nv
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:44:44 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe16::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5d62ad1-3203-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 15:44:42 +0200 (CEST)
Received: from DUZPR01CA0013.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c3::6) by AM8PR08MB5633.eurprd08.prod.outlook.com
 (2603:10a6:20b:1d3::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 13:44:39 +0000
Received: from DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3c3:cafe::c6) by DUZPR01CA0013.outlook.office365.com
 (2603:10a6:10:3c3::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43 via Frontend
 Transport; Thu, 3 Aug 2023 13:44:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT051.mail.protection.outlook.com (100.127.142.148) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 13:44:39 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Thu, 03 Aug 2023 13:44:39 +0000
Received: from a455a34f525b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BB97611D-1219-4BE0-8D5D-AE92427DD36C.1; 
 Thu, 03 Aug 2023 13:44:32 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a455a34f525b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 13:44:32 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DBBPR08MB6106.eurprd08.prod.outlook.com (2603:10a6:10:202::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 13:44:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 13:44:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5d62ad1-3203-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G+8rGRNjKxGdiV+gyhWlFDoq2gCSj/NyKItPF4XCZDg=;
 b=dc5CZox9LbKxWGE7dVBUmR43WFAkA/9B9bR0wwgL2MOwVKU/NYL367XQNZoah2cFBWNLqz0RfHdhIBQ6XxLzdg6Aed3xCX6/Zz7bbCjdIkmRJQApyj54P121R5Cst1W3oqa+Yw+cLPZc2f6C6UX/CMuVopKIVEDnka6zTHfeOkA=
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: 7c9fdae8b09ee7ae
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=keFHdqTiE04cY9q2DgTLNf2s+vjIW/vfUuNNkvl97FAD/iO+GZHGDun/Mj1TYuLwNofQQpYpAd5rbyPb17D0Q2ZgRAUhhSuyaxYEk8UWuSwmNVRWEAxjcmyMcs1Dt3TS4MHPW9BkOLZHXJtqOxKnomppHEqZY+DapRm0cXasg6qnWcXzx5InGJpWuoJbu/nw8j6xiLOEBW9KPmAekZX9bBM/H3iMREvmCfhJmLbrZR2Nxvh0ZMySnx6VKPH89H2cSyHqNzya/JE9gqhE0+U6vUKz77O4qW+5nxX7CXywCYh2dexRIaJmakwUHHn93K6nAlAu95izHqb00CZl2WisGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G+8rGRNjKxGdiV+gyhWlFDoq2gCSj/NyKItPF4XCZDg=;
 b=Tuypze9y+LAGJ3VXvdrZKbTM0uW6dC3gmn4DeVN3iFCsepcBzFGfU4fOph7xy/SbGaEVEmPztx6/WDmhjj6Td2yet15c2A72+3br7EdvFiSRjrObDj5VO0IzkTth8FXWMJYn9sgvBjHfdC0LQdcrVDCSaHcxK5YJx8uylUGeiWpYiRE4RgMQHhIdGufQKy0d3Ac7I9b3gnSWhDW7M1RasevaMYowZ+ekXDskyp44dcIk1EOGlEmeVS1PbYYGcTRFEqoXM+Dx5drJgq80Fl27jo8/DY/JZwbA8AV2vEmWks35vPlKrjooeJ0d4jj8v68nEr1BxONPZZ4zpLA1TRMUiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=G+8rGRNjKxGdiV+gyhWlFDoq2gCSj/NyKItPF4XCZDg=;
 b=dc5CZox9LbKxWGE7dVBUmR43WFAkA/9B9bR0wwgL2MOwVKU/NYL367XQNZoah2cFBWNLqz0RfHdhIBQ6XxLzdg6Aed3xCX6/Zz7bbCjdIkmRJQApyj54P121R5Cst1W3oqa+Yw+cLPZc2f6C6UX/CMuVopKIVEDnka6zTHfeOkA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "consulting@bugseng.com"
	<consulting@bugseng.com>, Gianluca Luparini <gianluca.luparini@bugseng.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: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Rule 7.3
Thread-Topic: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Rule 7.3
Thread-Index: AQHZxfSdOEvKJttXMkm/J+fEFT8536/YlUqA
Date: Thu, 3 Aug 2023 13:44:30 +0000
Message-ID: <3B413D0B-A2A8-40FD-A301-D0524B539827@arm.com>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <c39836607097b09119a4f4480c77506295333a55.1691053438.git.simone.ballarin@bugseng.com>
In-Reply-To:
 <c39836607097b09119a4f4480c77506295333a55.1691053438.git.simone.ballarin@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBBPR08MB6106:EE_|DBAEUR03FT051:EE_|AM8PR08MB5633:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ecf84e7-c742-4afe-5d37-08db9427c896
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:
 3pwB/scOQK2wHfAJqst7TNdifhVc6AS//oku9IyCs45CzZhwgfbrQ5ciXU7eBg6CcSdpUbO/O4UNlYkqxkHejwFACxI2M3RpFNKctIm10L6xxGnAG6E1pUq9BQpy45nnUi+9PSA9AqCYaZ8NKNIor1WY5w96H91oep+dTxfJCvxyfo8Gs7V3PFMbSQFAKvgVIp700M0ibPdaJLuLO3g3hnx19P02c9xhbg1NaeW5lrw83QS5JsE2nQy6ckUZZpw5+DQiT6UmCFrVWYKo54zMZbqzTGkB1umEyO3MPC1ThpHKvX2yzgYD52hXsO7TVrNNqccLC4/OUECZBB6BRBu+gPmzNCf79WQ0kNT+97cFIJ13mvOCv+xXKIBX2Go/eJRrrrNiET3aN4ms1JcB5QxpwVZ9l4Dz3uqKq/oySUdQCe1TpWWL8501qBIxVPz1/B44qwkauQpCy6gCM+9vejomIFdJCQ1EfXPv41MkAz6n+Tj4OAkjeGnO6KkDWA7kcptsoFQyO7BWahHHB4VZItpZ208I4bvqktlIOKHTJkCXWcbbR2/LFfHsg8dGySm7NuKyqo54l7fK4NHJQCVUlrcz7EAP4zYAzxOTx6Dgbw/1FmNH3dNHR88gCeAEAQ990s1ASZ00Suh5oXfLEqz/HGHbag==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199021)(4744005)(41300700001)(66556008)(66446008)(316002)(2906002)(91956017)(4326008)(76116006)(6916009)(64756008)(66946007)(66476007)(8936002)(8676002)(5660300002)(122000001)(38100700002)(33656002)(26005)(36756003)(53546011)(186003)(38070700005)(6506007)(86362001)(2616005)(6512007)(478600001)(54906003)(71200400001)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D90AC83B6E391C40B1A6892044207A4C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6106
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4cb018a0-9b6d-4528-03ec-08db9427c342
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vZiv4E9sV0ZqhzXLT73+vKoKaXb+W0BWf+5zTR0S4051Mt90Xm206wo6bxRvfp0BF0dEVduK7/mO9cjERkYAzGxNCaXRXf9rIgEX2uIZIla78tN6vMsO7+wJtOvspZj3gULe+sQ6nGnIsMCCp2hKGTcgEMnmIhFRlIQDd+XVzpFKam8vnYlhMhbxlbdNTIkvMVSIjB4juMIwIHAIQsTI7SiUdj6BbT+CyN0HjGNQm7EuOn1ZBlMWPJ5AaT96mBFUos1seX5m4T5bZeOVkjMecKv712+Ox46b61utCATWoE9+u5Tjr2txO/7H5DwZKwhEm9N8NQcZpuhwjxhCH0AsCI9eE4TKwRID5A+9pDHNVyOH6aaY13iHZsmFOZz9SN77FKcw51b+Sn2syhNH3LHMtV/f7DS/QA0JF1H7pw6pMQmgwric21le6+RzFRzGs2Kqmc4guaGJ65qtAqFeyo9Tp+a/u6V9QWIQbKOjU4W5CymjfLIrdrzw0PqPCjTP6OZBSeaOajp07c4mNZxlu/Iu3GSRz8WDsNg7IbUqQ+cbZAFhtrU5ni4pNlyAG2uIiMJyuz58pAcbVrgtiao2m72ZyO6/vGNJ/JADTgvsgrI8pTpyA923HDlGdNp573GP09PN8PMglyZOfBBA5MIsmuQtk8RVm/aMx4/AJImhEXsAN4Iz5kNUhtcn6YTNCXr6cpxoZXM6vvlVakUasvVBrhDfr24J24POh3zDb4rDopzYVNI=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(39860400002)(136003)(376002)(451199021)(82310400008)(46966006)(36840700001)(40470700004)(86362001)(36756003)(33656002)(82740400003)(40460700003)(40480700001)(54906003)(478600001)(356005)(81166007)(47076005)(2616005)(6506007)(336012)(186003)(26005)(107886003)(53546011)(8676002)(8936002)(6862004)(41300700001)(6512007)(6486002)(316002)(36860700001)(4744005)(5660300002)(4326008)(70586007)(2906002)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 13:44:39.2990
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ecf84e7-c742-4afe-5d37-08db9427c896
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5633



> On 3 Aug 2023, at 11:22, Simone Ballarin <simone.ballarin@bugseng.com> wr=
ote:
>=20
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>=20
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headlin=
e
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
>=20
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguit=
y.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consi=
stency.
>=20
> The changes in this patch are mechanical.
>=20
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Thu Aug 03 13:54:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 13:54:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576394.902471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYmr-00084P-DT; Thu, 03 Aug 2023 13:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576394.902471; Thu, 03 Aug 2023 13:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYmr-00084I-An; Thu, 03 Aug 2023 13:54:45 +0000
Received: by outflank-mailman (input) for mailman id 576394;
 Thu, 03 Aug 2023 13:54: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 1qRYmq-000849-EO
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 13:54: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 1qRYmq-0007uk-5T; Thu, 03 Aug 2023 13:54:44 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRYmp-00086T-VY; Thu, 03 Aug 2023 13:54: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=IOmaq4fJVMiMgUgxVmaSThvgSoBQuYx4aMyfqBdqNFg=; b=FYYufqnspyNobNmhWMMF0tnp8N
	4smcUEITF382BAM9K5yHSVps1xZThXvdbQTwE5eq81NpoQEZSPEquDV/tfvnE/PFQNpFtvrgP+VBh
	O1Gn8XwPpNcBrTb+sWJZp31RDYV0y5Bju23VjyLRHKjAHNHw8QGdUTBCH54RhUab0CgQ=;
Message-ID: <868d3bb2-0d97-4cb5-b7b8-27ac3d0181d5@xen.org>
Date: Thu, 3 Aug 2023 14:54:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230802135350.745251-1-luca.fancellu@arm.com>
 <9320a2b7-18cd-2766-b115-300755d64932@xen.org>
 <B2EA567E-1E51-44CC-94D8-DC8C765EC4AB@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <B2EA567E-1E51-44CC-94D8-DC8C765EC4AB@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/08/2023 14:03, Luca Fancellu wrote:
> Hi Julien,

Hi,

>>> +
>>>   config GICV3
>>>    bool "GICv3 driver"
>>>    depends on !NEW_VGIC
>>> @@ -92,6 +100,11 @@ config HAS_ITS
>>>           bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
>>>           depends on GICV3 && !NEW_VGIC && !ARM_32
>>>   +config VGICV2
>>> + bool "vGICv2 interface for guests"
>>
>> This description is a bit misleading as the vGICv2 will also be used for dom0 in the case of vGICv2.
>>
>>> + default y
>>
>> Please add a longer help.
>>
>>> + depends on (GICV2 || GICV3) && !NEW_VGIC
>>
>> In the near future, I don't expect anyone to introduce a new non-GIC of interrupt controller for Arm. But I would expect new version of the GIC. So I would drop (GICV2 || GICV3).
>>
>> Also when !NEW_VGIC is selected, this will make VGICV2 will be unselected. I was actually expecting the other way around given that new vGIC only offer v2 support.
>>
>> The rest of the changes LGTM.
> 
> Thanks a lot for having a look on this patch, you are right the NEW_VGIC is offering only v2 support at the moment, does this changes captures your
> Comments?
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5cdba07df964..1c600b3b8d04 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -110,15 +110,19 @@ config HAS_ITS
>           depends on GICV3 && !NEW_VGIC && !ARM_32
>   
>   config VGICV2
> -       bool "vGICv2 interface for guests"
> +       bool "vGICv2 interface for domains"
>          default y
> -       depends on (GICV2 || GICV3) && !NEW_VGIC
> +       help
> +         Provides a virtualised interface for the Generic Interrupt Controller that
> +         can be used by Xen's domains.

How about:

Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen 
domains. This can be configured at the domain creation.

This option is mandatory when using GICv2. For GICv3, this allows domain 
to use GICv2 when the hardware supports it.

If unsure say Y.


> +         If unsure, say Y
>   
>   config HVM
>           def_bool y
>   
>   config NEW_VGIC
>          bool "Use new VGIC implementation"
> +       select VGICV2
>          ---help---
>   
>          This is an alternative implementation of the ARM GIC interrupt
> diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
> index 806826948e20..60cbf7f2f94a 100644
> --- a/xen/arch/arm/vgic/Makefile
> +++ b/xen/arch/arm/vgic/Makefile
> @@ -1,5 +1,5 @@
>   obj-y += vgic.o
> -obj-y += vgic-v2.o
> +obj-$(CONFIG_VGICV2) += vgic-v2.o
>   obj-y += vgic-mmio.o
> -obj-y += vgic-mmio-v2.o
> +obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
>   obj-y += vgic-init.o
> 
> 
> 
>>
>> Cheers,
>>
>> -- 
>> Julien Grall
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:00:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576398.902482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRYsf-0001Dm-2O; Thu, 03 Aug 2023 14:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576398.902482; Thu, 03 Aug 2023 14: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 1qRYse-0001Df-VD; Thu, 03 Aug 2023 14:00:44 +0000
Received: by outflank-mailman (input) for mailman id 576398;
 Thu, 03 Aug 2023 14: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRYsd-0001DZ-W4
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:00:43 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 213ff945-3206-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:00:42 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691071236444697.0834525331015;
 Thu, 3 Aug 2023 07: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: 213ff945-3206-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691071238; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=lVUosfmbp5T+CFvz0swdVInTrWLOpyyh8RsmsfQXTjDK1g6R7lckqs+RQ4nNYu5ydb0Iq1rmjajR/YgZIk2BfW46ULqISL8P9ZyGd3XhqTVWg92c9ZG0NS5W9K87GOE7uVJyJR2a4vjw3PNXey2MW+1rcR4HTrJe7pp3dVOoZZ0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691071238; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=6RXLCicIfGbmHJoG+x3NHNQo7vkNX5Pb+Ok3L72yLyU=; 
	b=oC5vikqO+DO81J+oYvGFXyqq26gVkWclfXyRdm7JFGYAGNNzIhqejZB2sSpXwjMpfiT4ZX9GAhfoQ14Q57nw7/Xuiv0fUEz5kWpA+RSEBNFpU494OSZPe6eRNZ57zHG2IPy1AIwpppd7F1meHw8M/cRguqNcxtKi50XX0PB7GHo=
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=1691071238;
	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=6RXLCicIfGbmHJoG+x3NHNQo7vkNX5Pb+Ok3L72yLyU=;
	b=h4AGhm6pY65esh2zJVN1RxNLa2dEKUkobVX+ZUDWFOcPnM08vXG5uI6/dc07O34s
	Vae6X6qJrzKtFH6oMl3jCDixqNkemWECExpaRvbqRIbG0p65Sbe98zayGuClzeTBlFd
	WuzdaokNy8/mNbjJXdLTXJr9Kwy74yJDsyf9EuLc=
Message-ID: <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
Date: Thu, 3 Aug 2023 10:00:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/1/23 20:54, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> The existing concepts such as unbounded domain, ie. all powerful, control
>> domain and hardware domain are, effectively, roles the domains provide for the
>> system. Currently, these are represented with booleans within `struct domain`
>> or global domid variables that are compared against. This patch begins to
>> formalize these roles by replacing the `is_control` and `is_console`, along
>> with expanding the check against the global `hardware_domain` with a single
>> encapsulating role attribute in `struct domain`.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> This is definitely heading in the right direction

Thank you, it is good to know there is some agreement here.

>> ---
>>   xen/arch/arm/domain_build.c |  2 ++
>>   xen/arch/x86/setup.c        |  2 ++
>>   xen/common/domain.c         | 14 +++++++++++++-
>>   xen/include/xen/sched.h     | 16 +++++++++-------
>>   xen/include/xsm/dummy.h     |  4 ++--
>>   xen/xsm/flask/hooks.c       | 12 ++++++------
>>   6 files changed, 34 insertions(+), 16 deletions(-)
>>
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 39b4ee03a5..51b4daefe1 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
>>       if ( IS_ERR(dom0) )
>>           panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
>>   
>> +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
> 
> I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
> "ROOT"?
> 
> I also recognize I am not good at naming things so I'll stop here and
> let other provide better feedback :-)

In first version of hyperlaunch and in the early roles work, I was 
working to move toward eliminating this concept entirely. The reality is 
this is a model that has existed for over 20 years and there are those 
who accept and embrace the model. Introducing the name UNBOUNDED was to 
at least break the idea that the all powerful domain necessarily is the 
first/initial domain to run. With hyperlaunch, there are still 
security-based scenarios where you might want to run a DomB before 
starting an all privileged domain. I spent quite some time, probably 
more than I should have, to find a good name that expresses what this 
role is. Considering a comment below and a comment by Jan, I am starting 
to think a better way to view it is a domain that assumes all roles in 
the system. So your suggestions of SUPER or ROOT might be more fitting. 
I considered ROLE_ALL, but something about it doesn't sit right with me. 
With that said I welcome the yak shaving of naming to begin. ( ^_^)

> Also, do we actually need unbounded given that it gets replaced with
> control_domain pretty soon?

Yes, because as mentioned above, this is meant to express a domain that 
has been assigned all roles, for which later the domain may decided to 
delegate the role to another domain.

> I am asking because I think that at least from a safety perspective it
> would be a problem to run a domain as "unbounded". In a safety system,
> we wouldn't want anything to be unbounded, not even temporarily at boot.
> If "unbounded" is removed before running dom0, then of course it is no
> problem because actually dom0 never gets to run with "unbounded" set.

I think this is were the name UNBOUNDED may have been a bad choice. The 
UNBOUNDED role is dom0. It is the control domain, the hardware domain, 
the Xenstore domain, and the crash domain (if that were to be solidified).

> (I am currently thinking of solving the privilege issue by using XSM and
> removing most privileges from Dom0.)

I obviously would be a huge advocate of that approach. ( ^_^)

>>       if ( alloc_dom0_vcpu0(dom0) == NULL )
>>           panic("Error creating domain 0 vcpu0\n");
>>   
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 2dbe9857aa..4e20edc3bf 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const module_t *image,
>>       if ( IS_ERR(d) )
>>           panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
>>   
>> +    d->role |= ROLE_UNBOUNDED_DOMAIN;
>> +
>>       init_dom0_cpuid_policy(d);
>>   
>>       if ( alloc_dom0_vcpu0(d) == NULL )
>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>> index 8fb3c052f5..0ff1d52e3d 100644
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>>       setup_io_bitmap(dom0);
>>   #endif
>>   
>> +    /*
>> +     * "dom0" may have been created under the unbounded role, demote it from
>> +     * that role, reducing it to the control domain role and any other roles it
>> +     * may have been given.
>> +     */
>> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
>> +    dom0->role |= ROLE_CONTROL_DOMAIN;
> 
> I think we need a better definition of the three roles to understand
> what this mean.

Definition and as highlighted, a better name.

>>       rcu_unlock_domain(dom0);
>>   
>>       iommu_hwdom_init(d);
>> @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
>>       }
>>   
>>       /* Sort out our idea of is_control_domain(). */
>> -    d->is_privileged = flags & CDF_privileged;
>> +    if ( flags & CDF_privileged )
>> +        d->role |= ROLE_CONTROL_DOMAIN;
>> +    else
>> +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
>>   
>>       /* Sort out our idea of is_hardware_domain(). */
>>       if ( is_initial_domain(d) || domid == hardware_domid )
>> @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
>>   
>>           old_hwdom = hardware_domain;
>>           hardware_domain = d;
>> +        d->role |= ROLE_HARDWARE_DOMAIN;
>>       }
>>   
>>       TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index a9276a7bed..695f240326 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -467,8 +467,10 @@ struct domain
>>   #endif
>>       /* is node-affinity automatically computed? */
>>       bool             auto_node_affinity;
>> -    /* Is this guest fully privileged (aka dom0)? */
>> -    bool             is_privileged;
>> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
>> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
> 
> This is a great step in the right direction but I think at least a short
> in-code comment to explain the difference between the three

Ack.

>> +    uint8_t          role;
>>       /* Can this guest access the Xen console? */
>>       bool             is_console;
>>       /* Is this guest being debugged by dom0? */
>> @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
>>   
>>   static always_inline bool is_initial_domain(const struct domain *d)
>>   {
>> -    static int init_domain_id = 0;
>> -
>> -    return d->domain_id == init_domain_id;
>> +    return d->role & ROLE_UNBOUNDED_DOMAIN;
>>   }
> 
> As far as I can tell this is the only functional change in this patch:
> given that dom0 loses unbounded soon after boot, the "is_initial_domain"
> checks will start to fail?

Today, dom0 should not lose any of its roles at boot unless dom0less 
were to create a hardware domain.

Upon reflection, I am thinking this check might want renaming to align 
with the rename of this role.

> We have a few of them in the code and I couldn't rule out that at least
> these 3 could happen at runtime:
> 
> xen/common/sched/core.c:    else if ( is_initial_domain(d) && opt_dom0_vcpus_pin )
> xen/common/sched/core.c:    else if ( is_initial_domain(d) )
> xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )
> 
> Maybe they need to be changed to control_domain checks?

Perhaps, I would want to study them a bit before switching them over.

>>   /*
>> @@ -1076,7 +1076,8 @@ static always_inline bool is_hardware_domain(const struct domain *d)
>>       if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>>           return false;
>>   
>> -    return evaluate_nospec(d == hardware_domain);
>> +    return evaluate_nospec(((d->role & ROLE_HARDWARE_DOMAIN) ||
>> +        is_initial_domain(d)) && (d == hardware_domain));
>>   }
>>   
>>   /* This check is for functionality specific to a control domain */
>> @@ -1085,7 +1086,8 @@ static always_inline bool is_control_domain(const struct domain *d)
>>       if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>>           return false;
>>   
>> -    return evaluate_nospec(d->is_privileged);
>> +    return evaluate_nospec((d->role & ROLE_CONTROL_DOMAIN) ||
>> +        is_initial_domain(d));
>>   }
>>   
>>   #define VM_ASSIST(d, t) (test_bit(VMASST_TYPE_ ## t, &(d)->vm_assist))
>> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
>> index 8671af1ba4..18f1ddd127 100644
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -108,7 +108,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
>>   {
>>       struct domain *d = current->domain;
>>   
>> -    ASSERT(d->is_privileged);
>> +    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
>>   
>>       if ( d->domain_id != DOMID_IDLE )
>>       {
>> @@ -116,7 +116,7 @@ static XSM_INLINE int cf_check xsm_set_system_active(void)
>>           return -EPERM;
>>       }
>>   
>> -    d->is_privileged = false;
>> +    d->role &= ~ROLE_CONTROL_DOMAIN;
>>   
>>       return 0;
>>   }
>> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
>> index 78225f68c1..0a31719f43 100644
>> --- a/xen/xsm/flask/hooks.c
>> +++ b/xen/xsm/flask/hooks.c
>> @@ -193,7 +193,7 @@ static int cf_check flask_domain_alloc_security(struct domain *d)
>>       default:
>>           if ( domain_sid(current->domain) == SECINITSID_XENBOOT )
>>           {
>> -            if ( d->is_privileged )
>> +            if ( d->role & ROLE_CONTROL_DOMAIN )
>>                   dsec->sid = SECINITSID_DOM0;
>>               else if ( pv_shim )
>>                   dsec->sid = SECINITSID_DOMU;
>> @@ -213,7 +213,7 @@ static int cf_check flask_set_system_active(void)
>>   
>>       dsec = d->ssid;
>>   
>> -    ASSERT(d->is_privileged);
>> +    ASSERT(d->role & ROLE_CONTROL_DOMAIN);
>>       ASSERT(dsec->sid == SECINITSID_XENBOOT);
>>       ASSERT(dsec->self_sid == SECINITSID_XENBOOT);
>>   
>> @@ -224,11 +224,11 @@ static int cf_check flask_set_system_active(void)
>>       }
>>   
>>       /*
>> -     * While is_privileged has no significant meaning under flask, set to false
>> -     * as is_privileged is not only used for a privilege check but also as a
>> -     * type of domain check, specifically if the domain is the control domain.
>> +     * While domain roles have no significant meaning under flask, mask out
>> +     * control domain role as it is not only used for a privilege check but
>> +     * also as a type of domain check.
>>        */
>> -    d->is_privileged = false;
>> +    d->role &= ~ROLE_CONTROL_DOMAIN;
>>   
>>       dsec->self_sid = dsec->sid = SECINITSID_XEN;
>>   
>> -- 
>> 2.20.1
>>


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:12:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576403.902491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ4B-0002pC-7A; Thu, 03 Aug 2023 14:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576403.902491; Thu, 03 Aug 2023 14: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 1qRZ4B-0002p5-4c; Thu, 03 Aug 2023 14:12:39 +0000
Received: by outflank-mailman (input) for mailman id 576403;
 Thu, 03 Aug 2023 14:12: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRZ4A-0002oj-9W
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:12:38 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca69b3f1-3207-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:12:35 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691071947595388.4374355217228;
 Thu, 3 Aug 2023 07:12: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: ca69b3f1-3207-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691071950; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Pt6gRMM6IMzhXREFSYSHGzioHoVMqsXCGAvRsTCiwMChVaCD5YdxkOJvqIee7eOLZo7/TQMm6gFhWg6uhnYI7Qnrl7/LHW3g8Y3XDTvATlar3bMeQ3eP2/0KIyuUtbKwTjspTllT0R4FQ3nL1ORzeadsqYQ7daTN6xt+0Mhr2Ss=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691071950; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=kgbWUzvjAJOai+vyRMYUHqrwL1+0ZrXPwIxIAWO83No=; 
	b=NTZy37Ykt6EK1Eax3m09lPVLXyxQwnGWyjffNqvxwiE0dEhcrHdfTjxND1oG5khzFMMh3h9q4725IUh38zxBNpsqC4PjW4GOEM7BdWTwmhkK0zjI2k/Hgi9tnHbhXrcSFILho1Yaa13son4jkxuVlbA2K3RwXt4B5xy0tmYjJ2A=
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=1691071950;
	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=kgbWUzvjAJOai+vyRMYUHqrwL1+0ZrXPwIxIAWO83No=;
	b=Y54hJfE7KMKqqyeUzQlhB44OCuPcn4jNtftdk7gYv5SisU9pwq5GRC+jxQd0Tnjo
	jZmw6yjSScx+LPRz0cQMPt/3RmNaNHdOJ1ADpVUOA84bBNwZP7VQAJ0rNelsr6PN8+L
	14IJUdkbT/7TmGYmuxKlj0gjOv0I+49wIj9rAwso=
Message-ID: <40b73f1e-0dad-b6e8-ed21-3aaf1a35029c@apertussolutions.com>
Date: Thu, 3 Aug 2023 10:12:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
 <b64e236b-e9c3-2036-e43e-93b456e44ff9@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <b64e236b-e9c3-2036-e43e-93b456e44ff9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/2/23 03:51, Jan Beulich wrote:
> On 01.08.2023 22:20, Daniel P. Smith wrote:
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>>       setup_io_bitmap(dom0);
>>   #endif
>>   
>> +    /*
>> +     * "dom0" may have been created under the unbounded role, demote it from
>> +     * that role, reducing it to the control domain role and any other roles it
>> +     * may have been given.
>> +     */
>> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
> 
> This doesn't look to remove anything, when taking into account ...

Ugh, you are correct. It was meant to be a bitwise and of dom0-role with 
a mask that has every bit set except ROLE_UNBOUNDED_DOMAIN and 
ROLE_HARDWARE_DOMAIN. But being a bonehead, I bitwise and the two roles 
instead of or-ing them. I agree with your comment below, which will 
reduce to just masking a bitwise not of ROLE_HARDWARE_DOMAIN.

>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -467,8 +467,10 @@ struct domain
>>   #endif
>>       /* is node-affinity automatically computed? */
>>       bool             auto_node_affinity;
>> -    /* Is this guest fully privileged (aka dom0)? */
>> -    bool             is_privileged;
>> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
>> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
> 
> ... that each of the constants has just a single bit set. Seeing the
> & there I was expecting something like
> 
> #define ROLE_UNBOUNDED_DOMAIN  (ROLE_CONTROL_DOMAIN | ROLE_HARDWARE_DOMAIN)
> 
> instead.

Agree, instead of consuming one the limited number of bits for a role 
that represents a domain having all roles, just or all the roles 
together. Then I can reclaim one of the bits of the flag field.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:13:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576405.902502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ4k-0003IR-HU; Thu, 03 Aug 2023 14:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576405.902502; Thu, 03 Aug 2023 14:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ4k-0003IK-Dw; Thu, 03 Aug 2023 14:13:14 +0000
Received: by outflank-mailman (input) for mailman id 576405;
 Thu, 03 Aug 2023 14:13: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRZ4i-0003I6-Ht
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:13:12 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df4d5cfe-3207-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:13:10 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691071984468195.7324363645455;
 Thu, 3 Aug 2023 07:13: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: df4d5cfe-3207-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691071986; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=GJfbRKFRS+y/0O+Mj7Mdf8Z65xM2UpksYeqiD1E2Fz2XbSCk1HPPuIuXSf6pSJ+Znxp+FfXvm3tmx5WWmh7lMcLsFChJiyXnKJEnCISXBiR+NY5I+3LzN0IPyx3sRrbaAOWQ7kZpk2c+uG+bhwoZ//NVGedm6Bhgd5g9BirVbTI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691071986; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=HXc+4giYhO4aml0XV6KxKu9+fo/2k40iM5wQljtnt8c=; 
	b=auoX3PJFjZ0JKCPWQxrfyRoNBLeL95unHoViE6LSfeHyo113goRAvUriQwxx9gccCA4cl7JML7tgjY9xCfuUGfmUHjdSMpBSYcuxKbF82bxcGNALymr0SfudBCMsWQtNQa2LOt2E9OyXbhj8tMAYaFjNCffI9/JDPKSO6EarCHk=
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=1691071986;
	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=HXc+4giYhO4aml0XV6KxKu9+fo/2k40iM5wQljtnt8c=;
	b=ptL+HsDmz/DFX3QIijKecTmBfkdB4xWWw6fhgPOgC0IaV0AxgahWWbnc+h3pMh7u
	KW/NBDhbI8senF6AOIY00N69N01HeW90YMm16q2nA/RBtK8pauCwKwBqYkf5EXmMG7S
	La8I/pFyuRJUxSu9NekTLlzs470fsPi5A56B7GGw=
Message-ID: <a191581d-6b11-2156-c73b-954eed36306a@apertussolutions.com>
Date: Thu, 3 Aug 2023 10:13:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 3/6] roles: add a role for xenstore domain
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.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>,
 Wei Liu <wl@xen.org>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-4-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011757190.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011757190.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/1/23 20:57, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> Expand the possible roles for a domain to include a role for the Xenstore
>> domain.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thank you!

>> ---
>>   xen/common/domain.c     | 3 +++
>>   xen/include/xen/sched.h | 3 ++-
>>   2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>> index 0ff1d52e3d..dbf055c559 100644
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -633,6 +633,9 @@ struct domain *domain_create(domid_t domid,
>>           d->role |= ROLE_HARDWARE_DOMAIN;
>>       }
>>   
>> +    if ( d->options & XEN_DOMCTL_CDF_xs_domain )
>> +        d->role |= ROLE_XENSTORE_DOMAIN;
>> +
>>       TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
>>   
>>       lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid);
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index 695f240326..ec0f9baff6 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -470,6 +470,7 @@ struct domain
>>   #define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>>   #define ROLE_CONTROL_DOMAIN    (1U<<1)
>>   #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>> +#define ROLE_XENSTORE_DOMAIN   (1U<<3)
>>       uint8_t          role;
>>       /* Can this guest access the Xen console? */
>>       bool             is_console;
>> @@ -1165,7 +1166,7 @@ static inline bool is_vcpu_online(const struct vcpu *v)
>>   
>>   static inline bool is_xenstore_domain(const struct domain *d)
>>   {
>> -    return d->options & XEN_DOMCTL_CDF_xs_domain;
>> +    return d->role & ROLE_XENSTORE_DOMAIN;
>>   }
>>   
>>   static always_inline bool is_iommu_enabled(const struct domain *d)
>> -- 
>> 2.20.1
>>


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:14:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576409.902512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ5U-0003sM-R7; Thu, 03 Aug 2023 14:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576409.902512; Thu, 03 Aug 2023 14: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 1qRZ5U-0003sF-Nj; Thu, 03 Aug 2023 14:14:00 +0000
Received: by outflank-mailman (input) for mailman id 576409;
 Thu, 03 Aug 2023 14: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRZ5U-0002oj-0j
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:14:00 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc79d45c-3207-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:13:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7728.eurprd04.prod.outlook.com (2603:10a6:102:e8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 14:13:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 14:13: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: fc79d45c-3207-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GLXTgIzBsoLcmZt7rW+wu/iPCIyUeJdy8BuJnyx8rmvH7xnlzYrwbaWnrQZbqV+hmRfd3FuJHSm7ivuUdCUyyg85KIBGR6JTT2lkClbyy5WqEeSfWfKyIlZHYsboOMcfjAqOE8f9fLoxAxusIwBwaQNdXeqeUhlgQ9cf2dRY3c/dsb1tzP0LfyxzxPfdZRrgxH3p/ZGAeLFKjWDdfPqW/aC1NXS9sPbky1QCV3zzOkbNbhf0DSIL8SeVccBokh6ER+NZcJvPYhkAscmRz0cJEPVxeyMsfzJOcuu5+xJ9XlTLF2X9BwMxSlALN3ae8dRF4JHVxZ+I3aBaOu9vh56ZhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7NsEMr+SmwoWPb2iqiSjroBMiSElrK3/QVNBH7KDaf0=;
 b=knIDQY27A4an+8ZB8PvR+F4F9e8XPVibeJYXUKWQleIH6zBCEMJyBwVbqk6EbO+/Ict+wE9Y6YoWiFxmmDqKjwvuuXOi8ve0Zfm4eI4xGVNgzfGPyT7qF0YWf0dUdNpw4CtGD+ztY5ZKhZrZYh1Zihkp0ITMjLKnKNWd9ZWvyIVbyRq4VIDBFYNgp1VLKHP7AirwE9jWt32yYDiuvCX+0JVktOkw+KJVvtuHgWboh+mS79CEjVrrN5onGrlkkV1Fww8N5XRf1EbEhL9PX+ucYFptC+K9qkIXTfOAqtHO1l0IQTVrLhdTiAGmSl88G10Ltrp4XqLtLcRoc/debdf8dA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7NsEMr+SmwoWPb2iqiSjroBMiSElrK3/QVNBH7KDaf0=;
 b=LeASbGVGkheh+IMXy0veaOE0hl7qmaUbImKYD5VceKVi16wvAdF8hN/4NX7aOYscCLM8byc+KvNONDOtEOaUgbZqzh76rj5yDeCP/pdjN29p7YpfuwLK0meBZ96772/MRsdT57FJbs0ZGRrsNzgkwYeFEvZCGaNN7S5StJPjWF5BWuWvg+j19PK9wmkt9RhQyPcNImQXGqtzfxqIjSNqmrHfMztqSKnEy2sjSpJou7fFt/usY1YyQve6BV5fhIwq9ZSDlrGjR1FLBMTpLgWEH4tZ62hwev7gdrAgXCe1AqyaKWcJ4gcZcFcnfLliLxcJEdVtiEvAtqx+Gk8+xnyVsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
Date: Thu, 3 Aug 2023 16:13:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] libxl: build fixes for recent CPUID work
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7728:EE_
X-MS-Office365-Filtering-Correlation-Id: 148290da-a9a8-43b2-4af0-08db942bd601
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Neru8GpTiXQhTBClxggpEhDKaE87bbaTF3MDW4o+EMTEXyPyoJt0AMy/qio0HdfCaGAd6g/6AnJHOaVKfevrSLpIXO08ldxsLrAXq6GyYRwMarKeadqQuLZ8RxtMvdEH3cmBd781uokWncK1RhTTnsBDaIbGKrxX4VfbgHh+jG5XiHqvtOSpKeXbzkDHGMpnXGfk5y4zUr+RfJJ8D/CbrM2ajBXymHdraIt2keagw6lV6QzdorWTdZEFpuXkF3QvFUBLq4iJSEF2VIC0TuHhD9VomldP4crv/g5x/pARIyOUTJ2unCoF8oHWNzQ1lZSdwVE31TMt8PArchPS6YLcXM2snNuaAKsLRbnOCiwjiAX02fB6e/f4W+lAddTQUzyx0ZS+9AaE85da68r72ONqwFa07hJ4//Dccskn9RIKltZbX1STW0f2hYdcuLmthVhQMgY4SziYABGwZWjeffI2+XUXm8RVuD8F7/dMPgMmHRI/FTsfwveX3tlf6gv1tr7CVfbppyvgku6SJzA/YgEvEwBBZ2eYzGCGPgJx+ZZ6FMvYPFrPXDd106Q4pt7cOpOseZQWUA5lvRptS1Bw6+MwdPNWmZHtxPoH+vMHxVPnzVspCJKN4Q8IQ+ZaG91T+7X0s0YdAfCO/WFaDJYUKFAuBg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(39860400002)(136003)(376002)(366004)(451199021)(558084003)(36756003)(86362001)(31696002)(31686004)(54906003)(478600001)(38100700002)(2616005)(6506007)(186003)(26005)(107886003)(8676002)(8936002)(41300700001)(6512007)(6486002)(6666004)(316002)(66476007)(66556008)(5660300002)(6916009)(2906002)(4326008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTVmTTZ1aVkxdmVvNDVEMURHK0pRQnRrRDRTQ3VZaU01cDc1bDlnOC9JWGh0?=
 =?utf-8?B?YVVJYVlYUDZLaVhSMzVjOS9pUEEvbExnOWRxanIydXd1WU5kRytZakF0M1Ro?=
 =?utf-8?B?YXU4MTk5YmJsMjYzTmljTE5SSksrWGhHaVVManlTUDVpL1NJL0luU2dNWCtl?=
 =?utf-8?B?OHNQWjF5ZHF2Uzl4WmI1eFBMSk5Tc2VDZitMOVVlUDQ1MHpTU2N6a1FJcWd3?=
 =?utf-8?B?ZXBXNHFaS1RGamtoTTYyZURvbHk2THBUOE1nWGNiWDk2aGtzS0ZmekVGQ0I2?=
 =?utf-8?B?ek9SdGM4SjlpQkZDOEdVa2JOS3M3Z0dwMEdjSjJ2TCtZREhRSSsxQmxMUHZj?=
 =?utf-8?B?ZVRzbHNQR254N1hMTkZ1S2w3VzBkcEJYQUZSU29teGNBT09qWkcvUzRhRWlX?=
 =?utf-8?B?ZnRpTllSYjFmUkc5UjhJcVY5VEdrMjg4REk3bnY1M096REorTXBWMVNKVmt3?=
 =?utf-8?B?Q0xaaHI1ckcvL1JLY3pYMG9NOXBrcUloV2JnZzhHbjUrZDAySlRSUndUNE45?=
 =?utf-8?B?N3NiTm9FSS9vOWxTeVRTZ0tvbHAxVUh1V1p0MWlybitjUGpiTGsxM1ZLWG1x?=
 =?utf-8?B?b3I1UUc4VXBoL2Mrbm1jaU5mQUhuZlBRU3lHdWM4MG9KUE1WazM0NE93a3ZC?=
 =?utf-8?B?T290dEEyTVBLclNlRVZsNElYR1lYeTV2dlpwRnJGTXIvcktiZ2FTMWp5NWpq?=
 =?utf-8?B?SFNWMWtQTE5SME5Fb25EVGtRZktRNTFOWUUybjZkSzFqd0Y5elVTbEZWbTdX?=
 =?utf-8?B?dnZHSndOSjdaNWM3UDRMT0hPWElKQWpxbEVIQW1KYnFCTXI1MUlYK1JRUTA3?=
 =?utf-8?B?UmZoalp4eHV0ZTR3UDVESFhBNVE3dmEyTkxtS0NleGFRZXdocmhBS3E2bGwv?=
 =?utf-8?B?dVNXOTlOaXF3VlRXZG9JVWFEUHUvNlVmUWNsTXpmbCtjcUFaZUNhclNRNDIv?=
 =?utf-8?B?OTNDR2RReDlNQkV5b2VNSTJXRGFRclVPdkFGQ0IxMmtIQnlOUHZVNGNMcHdU?=
 =?utf-8?B?S2VqRmJoc0JDOHJNKzhoY0hhZ2xMV1p0Vnp4WlJDenlOd0ZGMlJ3V2pDZWxL?=
 =?utf-8?B?VTRTVjJqWWNBbjNacnRWWmtvK3B0ZWd2OFNEZXJMQjZyNmcxSlUydXJEUytU?=
 =?utf-8?B?RXZmUVN1OTcwdmx1T1lhUzU5cjFIdklBWmxnci9ZTDZ1eEwvdDk3VlBSK0VS?=
 =?utf-8?B?dkFRc3hpUlF5S3BtQ2NEaDZ4dVJDSVVFMFRITlMvd1VIVm1FcW9xdm94ZURq?=
 =?utf-8?B?NzdzZ1lxSnJwMngwOHZMNlpHYXg5WE52VzA3UEVCMjdqT05zeTZ1dFBINXNj?=
 =?utf-8?B?ZVZ6WE1HeC9xRHVEZFQrK0tHTmxFQ0w2aEJxS2UvcGl5Nk9MNjA2c3pXUlJ4?=
 =?utf-8?B?SElaSGM2dmJMT0VvREo1MTUyTlBFait5QmZDM2MyOEoyNEVHeDA5dnBQb2tv?=
 =?utf-8?B?aFVqRmxvUU5MTTdraVJQb1FlV25ZeWgzUzh6aWpmZzU1UkprdXJmbXlOVC9E?=
 =?utf-8?B?MkJLSnVBSE04M00rZ1cybzZPa1FlVFZJZ0hxQ2lwVi9HSXdYSmNKcllWcUM3?=
 =?utf-8?B?RXhSdmMyaTNTaXVFaGUydHU3WXYzM013VFV0QldEdHVDRGE3b0FiTVZnbUhu?=
 =?utf-8?B?QWwvZU5HQkk3OTI2MUZSUk1UTnpGaDRrRWRTNWpKZXZNT1JGYTdURkFJY25k?=
 =?utf-8?B?VmxQZjl5b252VFBhZFhaWVVpU2lrUVhFY2tKYlpQWHFTcmE3dE40UWhaT1px?=
 =?utf-8?B?Y3dVZXd3bUdsbkJzQ1kvQTJsSTVSNlBRRHFWZWd4KzZwMmtqZk42SnhkSE9J?=
 =?utf-8?B?eWJoSEltdjlhZVM2aWVOTjdSVkR5eFc2QU8wU3QzcVIzTjcwK3F5ZFhWdkFR?=
 =?utf-8?B?R3QxdWswVFNzRGN1blAxUXpNaXIxK01RWFVJZ2xlZlEyTVUxZ2EvdXNOVjJB?=
 =?utf-8?B?R1Z0ejh5dE1aUEZqd29ZTlVvRmRPR3lPOWhHeC96ZzhVMFFOdlUxWjhlMS90?=
 =?utf-8?B?bUJjdmZwb1o2QkxFNU13RmhzaUlaTFhjdVFFUVU0eG8wQjR4SkRFR0N0SzlR?=
 =?utf-8?B?TFZjN1hWWVM0Si9ETklFeUw3ZGE5a1pFODVvMHlNZWkwU2ZPTGpuNXJVdm9K?=
 =?utf-8?Q?HY1MW3XcONjxJvAdMrsq1cWT7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 148290da-a9a8-43b2-4af0-08db942bd601
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:13:39.9713
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wmk45oSFtDEwRnSLO8SmAn+rpX6tbUomDENbYFGO7n8sziE4Euep0t+AStUlJkFcGhNV5t/4jUGFD5CVbgi9xQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7728

1: avoid shadowing of index()
2: allow building with old gcc again

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:14:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:14:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576412.902522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ6D-0004Ps-4p; Thu, 03 Aug 2023 14:14:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576412.902522; Thu, 03 Aug 2023 14: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 1qRZ6D-0004Pj-1U; Thu, 03 Aug 2023 14:14:45 +0000
Received: by outflank-mailman (input) for mailman id 576412;
 Thu, 03 Aug 2023 14: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRZ6B-0004PR-TH
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:14:43 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16b7cebc-3208-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:14:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7977.eurprd04.prod.outlook.com (2603:10a6:10:1ed::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Thu, 3 Aug
 2023 14:14:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 14: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>
X-Inumbo-ID: 16b7cebc-3208-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GwNT9JX8K3CRQToDzYxMD9EadIOu/g5BF6Bm0WuNBEdBOcNYyNt2ymIhdB5J37/pIuncLk9dfFTwNtRGakqARelboufr+l8oMtNssJSl8fjL8XJgUCX96A29WnsI+yYi5ngNlesk1MFkkVXVXa55MmbCNfDz9b5B6V7JyKlKGxnt8daWgN4vhj8Xxnvh/kYqzW2kIQdjO6hD3g/39YW0N9TN2XSSl+ELszDb69ruDzLBNDOr2h1OYOEf4nwhNBbG9I/8417vcdNoT1cPFPgouD56AQ4Iba3jZmxqwAJqZncNWr1FYSSu9JwFaJe4jsPbPQqvuw77LbmQdWIMRgXZLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=obCL3PCbJvdo09qNGQHUZs/QI2sBpH+PLePc5+Lcf4A=;
 b=F4pOvQwExrI7HTobvqoASa+gBHzt0fnxcFxySBveCjFr+JmndqGavYVJYr8f5jVja55kEXH8ylDBzJfCrqqfntUGt1A4cwJa8MHxW43b7QvGHn7TgVqTNbi9KS4DdlWvfLaueMY2HT5kz1IYgnAc3RSdac7hPKotaGYlRAPBDo/504XHiwTaG0Mon049KcC/gW5XxcNWU1RqypC0R5oTmcphre2JfqiC2/8OlEpLZ8qKOuR8b8slps6AKFd9DPIAz3/EXm3FXZkVBQyZm5eo0tcqayg7X0SCUpr6u7OWdBZJNyN+K2JQYsnMnq9s1qG7AtpWzH7j+lbLdmpB/YMIkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=obCL3PCbJvdo09qNGQHUZs/QI2sBpH+PLePc5+Lcf4A=;
 b=R126oDAvSMVh8KZRjeu3GFu0f3GNEcUDviUZ3zodrMhdV1/pR80ksv2aKnJlKU7fp/S6sbcdm3DqRw78EoKjjNtn2mE+LjfLH6eYRLbEFhOCcxevlMWDuUShLc5nGAt3+9u5jd3N4olwOG70WDgw4Ki76TLDxI1n9HOsF4XfOx8qdO2TtXkQr8CFdiHmnYIqpa4T5tZEh0BnKNt110gR3u4zNZ4iQnuzFLpSlvAznWjevlcMuLfb+4MwcvIG4o9w7xxAj8xNj3b9DtSktl+1yq23Unqjkj3CzaHnTX0CwHmToN/apG/RMtvr9cSop1waqyMlnrNbWVMdc0NHMtm4pw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <71b20ec7-fcc9-9c24-2cad-fca64e949e44@suse.com>
Date: Thu, 3 Aug 2023 16:14:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH 1/2] libxl: avoid shadowing of index()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
In-Reply-To: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7977:EE_
X-MS-Office365-Filtering-Correlation-Id: e7015116-2dd2-4160-1756-08db942bf96d
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wQx/X7ukQMD7pOoXikMc7NEHJk217CJ2FVTlKxd0dyzde3f0B5weKcD15kWJjMtnMQNYZSnJWU6R9BfKDXRdWmx9/oPFn7HfwsbzY5tR5wojU/85aKfIgjDwN013Q16mBeyTgBmg5uw/ta24eJwCMuwk0LAOVpOj4F5kSB5ZHhU7IbCXOg3xgjJ++rR6OJL+7h5CHMfs5gWG1bXXcxY1dXLFg5jBjRtK4njrZFXf5NaNEXXPSnJqtS1IMmIIifUVaXA6fwItAB+Wl2nSsW1qM2peIuvqrTdlezq6bMH+iVTdwrXf4LG47LkMsEoBYBtXCcJD9lREXjiTE39tyOD0zPVhPFhxy69LjjYKe+qnXveOhOctqo4YqeymgkRnaoYZXEsTelTrghM1Fmrt59gpQhSjzw5LRD0jxMxQigGrwhZxfmRkSpY+SvfVLkuQ2Z7u7BMSRiWcgmFaNfX6FjsjD4GeWWRhC/VX01QqAXnPznESeNW2Wi5An1Nsl7edyBuENHUjEZQqgWK4RBaFFgxcWGTtZkcA2mWajWu4ipy5YDr6alMujla6l1dtcAY951Xm0A7l0hmBDEowJtA5Gy1ownSNXoyzFYr1ubrEeYVjgGjL/ImCUI53m7ffV2RDgSK31P6hRjrdv7PuX9HHNaLPqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199021)(54906003)(6506007)(107886003)(26005)(478600001)(2616005)(83380400001)(6486002)(36756003)(4326008)(66946007)(186003)(38100700002)(316002)(6916009)(66556008)(41300700001)(66476007)(86362001)(31686004)(6512007)(31696002)(5660300002)(8676002)(8936002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bk8yNDBheDVBYVgyNGlyVWlYKzVMTSs2TnBqSGNBa0NtektLanR4cnBDK1hr?=
 =?utf-8?B?YmJJZkZmQTFCdWFZTkZQdzFlaCt0bVc3QmdNczFVOHYzRldnWFB6ZWZhOGEw?=
 =?utf-8?B?b0tPNDkxZzIzVlZyb3RiRmZtNG9WUXB5L2N0YmlySW83bG1VSlY4ZzBTYmFU?=
 =?utf-8?B?dGZSN3Rnbjg0TXdkenpKVUhjbUZ5RDlxVEUxWUpjZW1nTFlpUlRQSVdKMWF6?=
 =?utf-8?B?Rlo1K3Q5QTNIUWxjSmxaWlBqYlVrcEN6Q2d1Nm10UHM4K0c1YndRREdyQVFp?=
 =?utf-8?B?TCs4c3l3QWhoaGZpc3FiQzFyRVhVU2FyUE94K0hUOWo1ZERQR2xWVk5JbDF0?=
 =?utf-8?B?WGFzbTI0cFBzdCtKT3BVVTlXb29ua0F1WlFmZ3ZxcllaNkp5SWN5OG5oaFdE?=
 =?utf-8?B?TWxESytDR3NTTVdpbWF2aDlSZS9OSXk3ckxrWG9scndnMW1hQ2xzRnZSMk1O?=
 =?utf-8?B?TkcwWFNrVHRnSkdDYnR2bWozYjFUWk9SWkRwU08vVE94dGIrb0FwWDdlU0Jy?=
 =?utf-8?B?VC9SYXFBcThNa3NFTGVSSHpVdWhUVXpKa2pjWGhScVRXYmlzQzh0YUlNSTlt?=
 =?utf-8?B?YjNLSkhLQStKT1FjbnhZQ2FGY1pTTHdEWVg5TVlmWEpzSjFDdzRWa3BTOXhI?=
 =?utf-8?B?ZkNWR1huak5pa2FvcStqdjlocEUxK0dNMFpmQmE3TmJkRHlSSnhBNDhYNFY4?=
 =?utf-8?B?NU5sRy9oZi8vYVdyWWpuY0ovZllIKzM5OXY5NHNQVFRqNThQUFZ0TzJHaERy?=
 =?utf-8?B?QVpZMVlGSDY5VHVETFJmZkI3R1NULzNNaVVEZmZnZGZlZ2FkUVVVTzd3d3Jm?=
 =?utf-8?B?U3BTNXBlK0l6cnJqRzdrUTYweC92bW9mQitldFVIK21uWWs3UnpLdHlEZTQx?=
 =?utf-8?B?TXJFZ1dnbUVYMVhDelRJQTRqVGdweTRsaXltSVZVS050aU5HUVdpVmZ5VFhj?=
 =?utf-8?B?NEt6dzc4Si8vdWgvWXRUQ0ZvdzMxOEIxamZGU05qL0xiOXBxa3ZnVGRtUnBF?=
 =?utf-8?B?TmRwWG1BOWJsSENPWmlUbm8rOTRDM3hjb2VpQ3crWUxyWVlmZFl2UStDeVk0?=
 =?utf-8?B?bEVMbndPbS9kcWR3YmttREg2SXJlQVMzUkpSM29HeGFDZElCeUlkZVAxK2du?=
 =?utf-8?B?MHlHNDNXOXpvenN1bHBRSlpVemN4b2p5d0drRlV6a2NLTjhJdERXcFpNNEl5?=
 =?utf-8?B?WHdrVkNDU3AyUkVXMEhEeE5XUzJGa1VCVHoyUEUvTnFWZk82WEFXMUdGcHRn?=
 =?utf-8?B?c2NFZFZ4V0MzbHc5Qkp2WDFSVkljRHB1M1V0WTdsdFZ1cFVEcnB5Nm82c3lh?=
 =?utf-8?B?RWh3bnh2Y3VETkE3ZTNwT09jV1I5MEVWcTM3MVViUmZEZkVSNHB6UGx0aFda?=
 =?utf-8?B?ajYvbCthaTI2NnFLcnIzZ2s3YjZlZjd5WmdBUXVhdkNpbExhTmRtZXAydkRp?=
 =?utf-8?B?bmNSTnp6SU1rNzhvUlY2NTdaOGZHc2Z6WEx5T20xV1ovbE1hdHdxaTB0Nldn?=
 =?utf-8?B?MTRRVW9VQjcrMmp4cXVvUmxsV0trOC9KbHIrNGZiRDNzbS8yVkpnOURSYjRh?=
 =?utf-8?B?ODllRTJPaGNxSkVsWlhqWW1GR0JJamx1Ynd4bGtXdEZMRTNaTmRwMnN4bkdM?=
 =?utf-8?B?bmhPVWoyVWUzSTd0S3o5NzhBOFZ5b1J3Q3RoMGlhRmhjeW9vTUlUSlpmeXhv?=
 =?utf-8?B?M0dEU0hZOXNPRVBtck9jbEVFdnJpMzM1U0JCYVZJNzFDVXg3MWVjRTRBU241?=
 =?utf-8?B?dEc0WHF6UjRvYlBWNS9NSmtlcjNSN1RMbHl1YTN3OUlONnZUN295MExJRlZQ?=
 =?utf-8?B?Z1pHSElMREEvQytDZTRJUW1FNkgveUM3Zzl4aFVaNzZXRDBCS0R2dVZ4RDdF?=
 =?utf-8?B?TUNKc3FWVnJPaXIvSFo1bTU1Z3ZQdnZ2KytlanNjYzdzTERWZ2lZSU15c2lZ?=
 =?utf-8?B?azE0QjRocjNhYXhSQ25MT2FtbkNweWl4bXl1clVVTDFmWnRoLytuMDBlc2xL?=
 =?utf-8?B?cGx6MFhoKzRRai85eHNkUWxHMllFWGsxOEQvRFo3YzdsZ2EzczVjek43Z1Fm?=
 =?utf-8?B?Q0ZaSHRyQTRSQ3hnSmhRUm1jK2RiMm9DaWx2MXZZbjNrbGR4UjNGNlJhaFN3?=
 =?utf-8?Q?5jFSnjgvE/iYiub4lE6Q4DRyr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7015116-2dd2-4160-1756-08db942bf96d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:14:39.3365
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m7/3v/uTBdNZrag3J7Gs528LhElzmteJz76NyCFw6jpSfoTisOAso8cVYreeVzPOnOZTPDJmaV691H3QveI6dQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7977

Because of -Wshadow the build otherwise fails with old enough glibc.

While there also obey line length limits for msr_add().

Fixes: 6d21cedbaa34 ("libxl: add support for parsing MSR features")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -157,7 +157,7 @@ static int cpuid_add(libxl_cpuid_policy_
     return 0;
 }
 
-static struct xc_msr *msr_find_match(libxl_cpuid_policy_list *pl, uint32_t index)
+static struct xc_msr *msr_find_match(libxl_cpuid_policy_list *pl, uint32_t idx)
 {
     unsigned int i = 0;
     libxl_cpuid_policy_list policy = *pl;
@@ -167,14 +167,14 @@ static struct xc_msr *msr_find_match(lib
 
     if (policy->msr != NULL) {
         for (i = 0; policy->msr[i].index != XC_MSR_INPUT_UNUSED; i++) {
-            if (policy->msr[i].index == index) {
+            if (policy->msr[i].index == idx) {
                 return &policy->msr[i];
             }
         }
     }
 
     policy->msr = realloc(policy->msr, sizeof(struct xc_msr) * (i + 2));
-    policy->msr[i].index = index;
+    policy->msr[i].index = idx;
     memset(policy->msr[i].policy, 'x', ARRAY_SIZE(policy->msr[0].policy) - 1);
     policy->msr[i].policy[ARRAY_SIZE(policy->msr[0].policy) - 1] = '\0';
     policy->msr[i + 1].index = XC_MSR_INPUT_UNUSED;
@@ -182,10 +182,10 @@ static struct xc_msr *msr_find_match(lib
     return &policy->msr[i];
 }
 
-static int msr_add(libxl_cpuid_policy_list *policy, uint32_t index, unsigned int bit,
-                   const char *val)
+static int msr_add(libxl_cpuid_policy_list *policy, uint32_t idx,
+                   unsigned int bit, const char *val)
 {
-    struct xc_msr *entry = msr_find_match(policy, index);
+    struct xc_msr *entry = msr_find_match(policy, idx);
 
     /* Only allow options taking a character for MSRs, no values allowed. */
     if (strlen(val) != 1)



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:15:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576416.902533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZ6r-00052x-ID; Thu, 03 Aug 2023 14:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576416.902533; Thu, 03 Aug 2023 14: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 1qRZ6r-00052q-Dk; Thu, 03 Aug 2023 14:15:25 +0000
Received: by outflank-mailman (input) for mailman id 576416;
 Thu, 03 Aug 2023 14: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRZ6q-00052g-J1
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:15:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f317f22-3208-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:15:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7977.eurprd04.prod.outlook.com (2603:10a6:10:1ed::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Thu, 3 Aug
 2023 14:15:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 14:15:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f317f22-3208-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aYlbFVuVqu4CUqRNH4M/OO/m8/CyOQ3+xBmCk5+DVAC8W3U1U/HVoXc6UuugRdZQfScu62pv0gy56vsOOiSrztUnBrO8jZRXkfpq+UEEJOsxABCLwcU0plM8H7k+pPvSB/5NRUjCtG4KyZGiuQr/WEK0gVMZQSYTAUpi765RfgdFIab7S6iXhNfux9lJGDHmmGU7JaDPbsjhe7EQVd4XxUOmgR5pMy9LomANFWcQQhz82sbt88ICA0SscvpNygkrGT3ymBMfERSu88KDHIxMX0oJYx5bkzf8q2NaQX5jt0NgOP9DSE2jeZMHSM5SMBJgLt8MJGu2VTRDzggV3sgKcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pW0Q7b7mAbaCsN9ic44XlYuE60szaE3+3cpssf/B9Jw=;
 b=QTzN53d7Le6uhlStV/QGQCSzuAJU3cAjqTYctgC1IdCRJvoIKDQJDn0wC6VRY3tt4h7sVvhjaC7j+ht0KBCmbLG401/gbbkl1L3hUjnoZLcwfbs5wzGauVuWQLUi33YdixWkIhdnRjSNEUtEDoo9HzfwmZNZZe+wZcaMWNWrPiHUQrWY1PT/lY+ghPKwhrxqzTuSblz43nKskAl0n6zpsB9wab4yfcr1TZanbj1SKw1mm46KvnS8Y9Dd2j2vfykwo4t6vk3n3B/ONgsbt8NZ9ldMMF2Jj0In1VKfcaAYxLjg4gUlTOix0GgFFh02TYHoPh/ro/3KK0wBBKgaCXQ7kQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pW0Q7b7mAbaCsN9ic44XlYuE60szaE3+3cpssf/B9Jw=;
 b=aICgwONFGMdantSZIeV5fBJDuPRAEavYjrmCVm0Syc93dawV/nJhliYZol/tfV8FkhsI1w88OzaazycSt06UVHnDzUVorDT/f0mV0QCiAEdMNChCgbwFQTRAZbVK4ARwyHHb1U+W16zSKGDidEpqMtaVxZAelkuDH5YfcENCohqYtFOqRDFFNqAFUIyPOtLlwF2zgMlHIoLxlToxm8gh9scvjZx8foIsk1WJho0YGjuQK/StWGyNxdMLLrug/G9Kv+s4CDPtWVSrU6ggU8tFp1Pusb97cOC5/hTgf3du7XAhMIgxpnngiyzaN4rM5YETwvY7MU4N4W8YL1Y0ElH2hg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <550a2b3d-ed15-6035-623d-8725edb40b2d@suse.com>
Date: Thu, 3 Aug 2023 16:15:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH 2/2] libxl: allow building with old gcc again
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
In-Reply-To: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0204.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7977:EE_
X-MS-Office365-Filtering-Correlation-Id: dccf5f94-90d6-4614-da5d-08db942c126f
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b53N3KypiyzVIIKvaO3W/pOoLO1+hezA1tgpkg56YQZkgxEXJOfVCAq3tOEAHjiobOM2W2iN3bYj3dxtxe85+agKDbXiXjgaOynXzaDDrer/iv91F52DJjBVcgr7kc9D4pN3OxrYlZRZIrV5CrbVb8fqVKEnNkYpCdNo4yakZ8WM7Uiz6W4dirWaLFX0UPW1aOF8wSLZ0fls0tzT7EQ+BgD7Tc6B7MOscGJhy1OI/iPnf21IQqaSBkWc5LZTdnhQjc7ZCGpZXwmfhhFCNMnhY0mJEqBRgbZr/TngfX8JzfFHke+IxGgI/7gTjkfU0gF0Zoau0DvaGFrvdIskQFNhVD6+2m49dR/TXESC0+19DN6daWWkxrgtgmKw+gPz5JZ+D0iCgwqeyrkmTmyTSRqUyNEimPXQ92p4RwAlmvmZzDDX/NdQSVv/d+olWFUduRJRPFYjs44mZr+jZA7e6dkMTMi81MERX5NxOSNnKPA/nHtlQoaINOK2DO4zt9Rw63Y9opUV0LrfTJtVnllJb2qI9NAtfJmGbh65+N5ZzkwO+wI2CqDvsKvMvrq7v6k6+JTxBdCQ+0hNtkWJhA13e4s2BGpE1DJ8Rr2DdFpH3/GdDmh3LHiM6aVigEkYk9nmUwL4D82e8McdFy/NCcc9yqvCHw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199021)(54906003)(6506007)(107886003)(26005)(478600001)(2616005)(6486002)(36756003)(4326008)(66946007)(186003)(38100700002)(316002)(6916009)(66556008)(41300700001)(66476007)(86362001)(31686004)(6512007)(31696002)(5660300002)(8676002)(8936002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlZNTENoL0UzMmdQMlhqOFNGTklsYTR6T2xLdTJNTlZFOFpJS2ZBa3hPYkJH?=
 =?utf-8?B?QnF1WEVIUGRMVVU2bEUxU3FBbjYwR2hSS1VlOHo1NzI0RXlKcjBtS0d1cEEr?=
 =?utf-8?B?OXl5emRObWxHWUZDVWpOZ3IwWE5mRDZDSzhwSmNBTnhUNFNYYk9nOHA0Z3J4?=
 =?utf-8?B?Q1BFTWJ4TnJ6bVRaYzR0dUEzelhnMnYzNm14S3lTUkQybVQ0THpnbXBuRWRJ?=
 =?utf-8?B?ODRUc1hFREN4ODlpd20zNEtwRmlsbWdnckhSYjJzckwzQzBZQTBrM2h6bHNY?=
 =?utf-8?B?V0YwU2tRTWVjdG9RQllHSmMxcC9oRk9QSDJmOGlWUGFONm04Ny9penBIeTNG?=
 =?utf-8?B?ZmF4K0RzNkQxTkhXSmxWeGFOc3E5SXlvNzlmQTZhUkFOY29ZZXQyb2tXQmwv?=
 =?utf-8?B?d0EyYkV3SHlaUERxOXVhUmlTSGREQUxtL051WlVhaTJMUzUzL0loOHdnNmls?=
 =?utf-8?B?UXhTSHFaWEVhOWZkZzBwZ2hpOGhyQzJnMkZOTEI5NlcyQnNaTWw2UXVVa3dX?=
 =?utf-8?B?TUtUaVl2aGxkWTZQR0pEQVhLdXhORDFxSFdPcDRyWHFVVGgwZEhCR2ZJWVRZ?=
 =?utf-8?B?MHhRZlcvZ3ZacXRJcDJNTjFzcmRGQWV0bGI4RHgxeGZYZEx6L2d6RFcxeFRt?=
 =?utf-8?B?c1RSVE1rNWJQWE0yMDhjdHN1eEkzV0ZWZnNiRDRYVEkydEp3L2J3L05BeXI3?=
 =?utf-8?B?N2QrZld6M1dPYmgrcCtKeDEvc2hCT3Y5RFNONm9nZzBhMy9DRzhMN0FjRXhG?=
 =?utf-8?B?SkJxdCtRYWRNVE5vNlROeHN0VlBqMHNndm5YVmJYWkhMTUpTdndIdDgwL2pn?=
 =?utf-8?B?VlZ4eUNjOVZydlU0TG9rTWlVZVlydExnZUtsd1c5TW5hWFlaeFJLNFdVOW8r?=
 =?utf-8?B?emJhY3oxckdtQVpYbFFidWxlTm5ncU13THF3Mkg1a0JueGhMbUNRVmxoOGp4?=
 =?utf-8?B?US96cEJTcjQvVnZ5TDhnVW5qdkxBNU9rSW9HMzNRbERPODdRRVRCa3VwNGNS?=
 =?utf-8?B?VWlDNmtMa0pJengvUFVGRjhNbEphU1JPSG5JZjZEN3hKS1R0YitZM1Z1S1ZK?=
 =?utf-8?B?RWVMWWNSRzd6cEZCelp2K2NWa1k1K1k0K2JaY1FlNG05UDNhMkFueUpra3RW?=
 =?utf-8?B?MGc1VFBzZW5hd0R4d09PbnVZY2FIM1R2MnBHK2JCSXBvOUl5WTBDMWZIUGlx?=
 =?utf-8?B?T3BWLzVsYkY5SEp1Z1pVeWVhRmZxdllEMFNobFBqZ214czVXRk90a2JYdCtG?=
 =?utf-8?B?VzVrVXFhODQrb09pVVV5ZHRHOWRRSEErMkJCaTgySUNsbE5tWVhpMXUzeGZJ?=
 =?utf-8?B?SC9FbzFsM1hzM05NTnNYV1dwdUEya1hpeXcwZDB0alRTMXVSaHI0cmVWZk5U?=
 =?utf-8?B?TGdRSVpVamVIMHZiTzgyUWh2eVNHKytHSEwxSUwxS0w0azg2cnA0T1BRL2FQ?=
 =?utf-8?B?VjFNcWtmM2dPMTkwM28rMHl1eFFVd1AzSkFnQnRkSlpsSnRkYjg4WjA5U0kw?=
 =?utf-8?B?RG14OGZ2cGwxYllUdEV3R0VxdGllcStMU0ZTak9DUGh1NDVrNHFkSHJ5dUF3?=
 =?utf-8?B?M01CZ0Q2WExBaWxhaStFWkVmdzk3ckd6aFE3SkFXaGtDL2p2RjFRWWRMRXVa?=
 =?utf-8?B?Z25JUkhiVXB2TzdMcGJhaldWbVE4VDBnMW1mV1NCKzBObWFYRU1pa0VaNjUz?=
 =?utf-8?B?UjRYbzNKVGgxYmFLWEY0eEJIeWxQMGRjWEtVdms5Zk12NDNLS25JNTJ0TVN6?=
 =?utf-8?B?SVp5N2d4c2FsSW0vOThaVTJrNEc2M0hUdUpBRmcyV3FvN012b2RoS1YwUWVw?=
 =?utf-8?B?Y21yRlNtSzZHdVhCNUZwczhmMlQ4WXpNaHhUTk0zbDVqRWlGeU9LdDZXMUJG?=
 =?utf-8?B?QVQ4NUg5SGlBYlJvczVaNXVSK3QvNUY5SHJsckg5S2xSVHVDSktKTUt5cEFz?=
 =?utf-8?B?VGh3d3RnZE5obFgzMlRPbE01VXE4ZTNaQ2REcWRkczJqYlNtMmN6T3YyY0c5?=
 =?utf-8?B?ZDZ5UUJYN2kwTEllM08zeGU1TlUvVTZvK080SURHQW1zWHJycWVlcHFucFpm?=
 =?utf-8?B?TVVEb0wrSFNXS1I5Nm9EZE9pNTl4bUprMU1OYkxMekdDYXZDZ1VUNDZVRkNI?=
 =?utf-8?Q?+oy5LzuqBG1jV9xrOI86K29he?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dccf5f94-90d6-4614-da5d-08db942c126f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:15:21.3130
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EV+FjhvzJJUKVVvV8Lpra1Qe0K03d7BqNc7GINrr2iwshgW7czoNxyDasuOo6w9gm+tBQMvcp3mvE3U4hPiw3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7977

We can't use initializers of unnamed struct/union members just yet.

Fixes: d638fe233cb3 ("libxl: use the cpuid feature names from cpufeatureset.h")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -316,12 +316,16 @@ int libxl_cpuid_parse_config(libxl_cpuid
                 uint32_t index;
                 unsigned int reg;
             } msr;
-        };
+        } u;
     } feature_to_policy[] = {
 #define CPUID_ENTRY(l, s, r) \
-    { .type = FEAT_CPUID, .cpuid.leaf = l, .cpuid.subleaf = s, .cpuid.reg = r }
+    { .type = FEAT_CPUID, \
+      .u = { .cpuid.leaf = l, .cpuid.subleaf = s, .cpuid.reg = r } \
+    }
 #define MSR_ENTRY(i, r) \
-    { .type = FEAT_MSR, .msr.index = i, .msr.reg = r }
+    { .type = FEAT_MSR, \
+      .u = { .msr.index = i, .msr.reg = r } \
+    }
         CPUID_ENTRY(0x00000001, NA, CPUID_REG_EDX),
         CPUID_ENTRY(0x00000001, NA, CPUID_REG_ECX),
         CPUID_ENTRY(0x80000001, NA, CPUID_REG_EDX),
@@ -380,9 +384,9 @@ int libxl_cpuid_parse_config(libxl_cpuid
         struct cpuid_flags f;
 
         f.name = feat->name;
-        f.leaf = feature_to_policy[feat->bit / 32].cpuid.leaf;
-        f.subleaf = feature_to_policy[feat->bit / 32].cpuid.subleaf;
-        f.reg = feature_to_policy[feat->bit / 32].cpuid.reg;
+        f.leaf = feature_to_policy[feat->bit / 32].u.cpuid.leaf;
+        f.subleaf = feature_to_policy[feat->bit / 32].u.cpuid.subleaf;
+        f.reg = feature_to_policy[feat->bit / 32].u.cpuid.reg;
         f.bit = feat->bit % 32;
         f.length = 1;
 
@@ -393,10 +397,10 @@ int libxl_cpuid_parse_config(libxl_cpuid
     {
         unsigned int bit = feat->bit % 32;
 
-        if (feature_to_policy[feat->bit / 32].msr.reg == CPUID_REG_EDX)
+        if (feature_to_policy[feat->bit / 32].u.msr.reg == CPUID_REG_EDX)
             bit += 32;
 
-        return msr_add(policy, feature_to_policy[feat->bit / 32].msr.index,
+        return msr_add(policy, feature_to_policy[feat->bit / 32].u.msr.index,
                        bit, val);
     }
     }



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:19:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576424.902541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZAp-0005iZ-0V; Thu, 03 Aug 2023 14:19:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576424.902541; Thu, 03 Aug 2023 14: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 1qRZAo-0005iS-UC; Thu, 03 Aug 2023 14:19:30 +0000
Received: by outflank-mailman (input) for mailman id 576424;
 Thu, 03 Aug 2023 14: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=Dmgz=DU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRZAn-0005iM-63
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:19:29 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0c78008-3208-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:19:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A96A81F74D;
 Thu,  3 Aug 2023 14:19:26 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 861A81333C;
 Thu,  3 Aug 2023 14:19:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id E+wpH263y2RKDAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 03 Aug 2023 14:19:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0c78008-3208-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691072366; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9mpiYXcqL7Q2jJPmy9JaK5F66QXRce8GKFt9fsWIXmI=;
	b=PtjsniYG6rpjipjCcHnN0pg94g02xC3YqT+jEZg8PpzZsDumiU4pIMlxXNgjLkoyLfrD4I
	wQoPYwJxyZz228VvIeDl1Ua3gG+wEpSJLDT69MOIGsoR2+v2Vd1R4R9Vb5DG9nOwOzZ/6O
	rz5AvawOrzHYjZYivLeBvqXSBV4j6dk=
Message-ID: <ba458b73-6994-56a6-33dd-13a35c7604fb@suse.com>
Date: Thu, 3 Aug 2023 16:19:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH] libxenstat/Linux: pass nul-terminated string to strpbrk()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
References: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------PmxH1X2QsX7U6KR0Qb02J1iE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------PmxH1X2QsX7U6KR0Qb02J1iE
Content-Type: multipart/mixed; boundary="------------3h6lSz6AUEXhr6RwpHKAdL2n";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Message-ID: <ba458b73-6994-56a6-33dd-13a35c7604fb@suse.com>
Subject: Re: [PATCH] libxenstat/Linux: pass nul-terminated string to strpbrk()
References: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>
In-Reply-To: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>

--------------3h6lSz6AUEXhr6RwpHKAdL2n
Content-Type: multipart/mixed; boundary="------------BxMzJ4DwjiQAxwxdlCZjm5Xb"

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

T24gMjYuMDcuMjMgMTI6NDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBXaGlsZSB3aGF0ICJ0
bXAiIHBvaW50cyB0byBoYXMgYmVlbiBjbGVhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIGZpcnN0
DQo+IGl0ZXJhdGlvbiBvZiBwYXJzZU5ldERldkxpbmUoKSdzIG1haW4gbG9vcCwgdGhpcyBp
cyB0b28gbGF0ZSBmb3IgdGhlDQo+IGZpcnN0IGl0ZXJhdGlvbidzIGludm9jYXRpb24gb2Yg
c3RycGJyaygpIChjb3B5aW5nIHRoZSBpbnRlcmZhY2UgbmFtZSkuDQo+IFByb3Blcmx5IG51
bC10ZXJtaW5hdGUgdGhlIHN0cmluZyBhdCBwb3B1bGF0aW9uIHRpbWUgaW5zdGVhZCwgcmVt
b3ZpbmcNCj4gdGhlIGxhdGUgY2xlYXJpbmcuDQo+IA0KPiBXaGlsZSB0aGVyZSBhbHNvIGVs
aW1pbmF0ZSBhIGNvbmZ1c2luZyAoYmVjYXVzZSBvZiBiZWluZyB3cm9uZykgY29tbWVudDoN
Cj4gQSByZWdleCBwYXJzaW5nIGVycm9yIHdvdWxkIGJlIGhhbmRsZWQgb25lIGZ1cnRoZXIg
c2NvcGUgb3V0d2FyZHMuIEhlcmUNCj4gd2UncmUgZGVhbGluZyB3aXRoIGZpZWxkIDEgdnMg
YW55IG9mIHRoZSBsYXRlciBmaWVsZHMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3Nz
IDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------BxMzJ4DwjiQAxwxdlCZjm5Xb
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------BxMzJ4DwjiQAxwxdlCZjm5Xb--

--------------3h6lSz6AUEXhr6RwpHKAdL2n--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTLt20FAwAAAAAACgkQsN6d1ii/Ey9I
Swf/RZ0OgpakolII39liPJAv/DYr57bxsOD7LKKu9NjHFF5RsNdGNHVFEQ1pwq32y5LQNI7Do4+1
YX2L8/Y4PG+EVQsT4U823a89WiX8sCNACVVekmR1Gd5+gebfF7SbecB9vl6aI+TPYgT+/5ztupIW
CQOJ69sU4cWxoQhQwohGPZGVAU4jtKdSNlFJpiD9nuuXO3O5X41VwQwuqMm4pn84xW95RVhy8bbU
UMxUQ0963pYTafM2sZQOKX4OdwK74ChcBYaAIOin1StAyBMVBkWbZAUZOMBmJQJVyL/EMwLElmX+
Y6tZw2/N+0AN8Uxtm9Ya6lS3Bn4eBiPbhqbNsyAEgQ==
=K7jw
-----END PGP SIGNATURE-----

--------------PmxH1X2QsX7U6KR0Qb02J1iE--


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:22:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576427.902552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZDK-00078x-Dn; Thu, 03 Aug 2023 14:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576427.902552; Thu, 03 Aug 2023 14:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZDK-00078q-At; Thu, 03 Aug 2023 14:22:06 +0000
Received: by outflank-mailman (input) for mailman id 576427;
 Thu, 03 Aug 2023 14:22: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=PRme=DU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRZDI-00078k-Vp
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:22:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e0d5c87-3209-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:22:03 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 32DA14EE0737;
 Thu,  3 Aug 2023 16:22: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: 1e0d5c87-3209-11ee-b268-6b7b168915f2
MIME-Version: 1.0
Date: Thu, 03 Aug 2023 16:22:03 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.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?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
 <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <6a5260299c5822abfbd74749ebea8f8f@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 03/08/2023 11:01, Jan Beulich wrote:
> On 03.08.2023 04:13, Stefano Stabellini wrote:
>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>>> @@ -1169,8 +1170,6 @@ static void cf_check 
>>> irq_guest_eoi_timer_fn(void *data)
>>> 
>>>      switch ( action->ack_type )
>>>      {
>>> -        cpumask_t *cpu_eoi_map;
>> 
>> It is only used by case ACKTYPE_EOI so it can be moved there (with a 
>> new
>> block):
>> 
>> 
>>     case ACKTYPE_EOI:
>>     {
>>         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
>>         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
>>         spin_unlock_irq(&desc->lock);
>>         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
>>         return;
>>     }
>>     }
> 
> This pattern (two closing braces at the same level) is why switch scope
> variable declarations were introduced (at least as far as introductions
> by me go). If switch scope variables aren't okay (which I continue to
> consider questionable), then this stylistic aspect needs sorting first
> (if everyone else thinks the above style is okay - with the missing
> blank line inserted -, then so be it).
> 
> Jan

Actually, they can be deviated because they don't result in wrong code 
being generated.
This, modulo the review comments received, is what most of the code 
would look like if
they weren't, with the biggest pain point being that in many cases the 
choice is either
the pattern with blocks for certain clauses or moving them in the 
enclosing scope, which may
be several hundred lines above. If there's agreement on deviating them, 
I can drop the patches
dealing with switches and do a v2 with just the other modifications.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:33:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:33:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576433.902561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZNu-0000Kh-CZ; Thu, 03 Aug 2023 14:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576433.902561; Thu, 03 Aug 2023 14:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZNu-0000Ka-9Y; Thu, 03 Aug 2023 14:33:02 +0000
Received: by outflank-mailman (input) for mailman id 576433;
 Thu, 03 Aug 2023 14:33:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Dmgz=DU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRZNs-0000KR-VT
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:33:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4ff73b6-320a-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:32:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3AE91218F2;
 Thu,  3 Aug 2023 14:32:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0867D1333C;
 Thu,  3 Aug 2023 14:32:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lVYJOJq6y2RBEwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 03 Aug 2023 14:32:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4ff73b6-320a-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691073179; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=bXPJxjEovYG3jMTipgyUB6iBPTKA9WkxlkLusXF5wew=;
	b=pdF9E/CUjg4zwoPIJKP7lmm9R2mkY61mEcebQwi2f8/Sx3Tp524nDhabawfqF3u/WSuEyH
	B6CJ6ENdoEs25k4VH2XeOUXOdvA1dCMYgMYsaYm03sKiHvw8yrAUYRwE1x2d9uhPGWIfC7
	no/yfQ6aQ0dGyRmTItG8+jUTjIRXPas=
Message-ID: <90f011cd-5c85-0480-2e47-be6f229800f6@suse.com>
Date: Thu, 3 Aug 2023 16:32:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH 0/2] libxl: build fixes for recent CPUID work
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Lglzt0XgzXqqI36w0tBsigth"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Lglzt0XgzXqqI36w0tBsigth
Content-Type: multipart/mixed; boundary="------------lsSYJsxx6fc0Z7StpvowAp7L";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Message-ID: <90f011cd-5c85-0480-2e47-be6f229800f6@suse.com>
Subject: Re: [PATCH 0/2] libxl: build fixes for recent CPUID work
References: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
In-Reply-To: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>

--------------lsSYJsxx6fc0Z7StpvowAp7L
Content-Type: multipart/mixed; boundary="------------aHvNczKhbVNWJLB0y1PCCugf"

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

T24gMDMuMDguMjMgMTY6MTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiAxOiBhdm9pZCBzaGFk
b3dpbmcgb2YgaW5kZXgoKQ0KPiAyOiBhbGxvdyBidWlsZGluZyB3aXRoIG9sZCBnY2MgYWdh
aW4NCj4gDQo+IEphbg0KDQpGb3IgdGhlIHNlcmllczoNCg0KUmV2aWV3ZWQtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------aHvNczKhbVNWJLB0y1PCCugf
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------aHvNczKhbVNWJLB0y1PCCugf--

--------------lsSYJsxx6fc0Z7StpvowAp7L--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTLupoFAwAAAAAACgkQsN6d1ii/Ey+Q
GAf/ZW0m+eZI0kPDSBFcrQ3TZ8YXge88+wNQhflYrZE+eaIiyPsqPWRGXToHt0SgiqfST0FEfrex
iZUzekwtV+7eA70Wy8QPDtZeXl7fd7DKIDNvtaW9VsoogIkwGAmhoCorb/7dSocWf75NooQzgWz3
TNxtT3Tq33prZqXoPdrvCQelSLiUOdNtMbnhIC8l2GhBJw3MsygWqxKKpsWvViDMOKuWIgKjjc7I
vOUIbKKTMGm06mfwJ7W/pWcERC3Z4iNZL+bhy5cJ+Lu5xG1cV9OGMSDx6XapKFFdjWZ1d19LUZcc
TVM+M/AJSIgYdlqcnHrMKEPfAOMFnVsQS17c5XsFgA==
=tpkv
-----END PGP SIGNATURE-----

--------------Lglzt0XgzXqqI36w0tBsigth--


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:41:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576438.902572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZVb-0001zC-AK; Thu, 03 Aug 2023 14:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576438.902572; Thu, 03 Aug 2023 14:40:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZVb-0001z5-67; Thu, 03 Aug 2023 14:40:59 +0000
Received: by outflank-mailman (input) for mailman id 576438;
 Thu, 03 Aug 2023 14:40:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3G/A=DU=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qRZVa-0001yz-Bl
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:40:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c09ac3a8-320b-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:40: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 C4861113E;
 Thu,  3 Aug 2023 07:41:37 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E56AF3F5A1;
 Thu,  3 Aug 2023 07:40: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: c09ac3a8-320b-11ee-8613-37d641c3527e
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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Thu,  3 Aug 2023 15:40:35 +0100
Message-Id: <20230803144035.4071610-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from RFC:
 - removed dependency on (GICV2 || GICV3) && !NEW_VGIC from VGICV2 symbol,
   add help for that following Julien's suggestion and changed "guests" for
   "domains" in its prompt.
   Now NEW_VGIC selects GICV2 because it provides only v2 emulation, changed
   the vgic/Makefile accordingly.
   Reworded the commit message.
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd284..03ec1247ad4c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -78,6 +78,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -92,11 +100,22 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a505..b2b609eb0c2d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2775,6 +2775,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2826,6 +2827,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2901,8 +2903,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 95e4f020febe..d18a3317ccc4 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 97d6f6106638..86fa8bc7e894 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -95,10 +95,12 @@ int domain_vgic_register(struct domain *d, int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:41:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576441.902582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZW9-0002TS-I7; Thu, 03 Aug 2023 14:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576441.902582; Thu, 03 Aug 2023 14:41:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZW9-0002TL-EL; Thu, 03 Aug 2023 14:41:33 +0000
Received: by outflank-mailman (input) for mailman id 576441;
 Thu, 03 Aug 2023 14:41: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 1qRZW8-0002T7-1d; Thu, 03 Aug 2023 14:41: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 1qRZW7-0000XK-UW; Thu, 03 Aug 2023 14: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 1qRZW7-0002e0-K3; Thu, 03 Aug 2023 14:41:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRZW7-00052S-Ji; Thu, 03 Aug 2023 14: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=kEN7E0A0R9BectnqzN5zkKubAURTbeXuq6ryJY1d0rQ=; b=mslqW90c6TnfQwiCpOq+a7Iiqy
	GpEpLHFZVPWriLPrJPoug4ok+KdjMvj8Zerdf3yCjw0jE7u8/BIp9Zli9eICCwMkBSf1zEQ5s3oJp
	4peSYfgfhtlDBK/Ict9uLtC120HF9z+5PeuKZRz93xcy+3l2cMNN81Hg2sbLHQhy1smA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182163-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182163: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7672d1cca58228b0cb7f099e8863aa3a44ae45db
X-Osstest-Versions-That:
    ovmf=fa789cc68a85a5781c18c64b9112c779750b2125
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 14:41:31 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7672d1cca58228b0cb7f099e8863aa3a44ae45db
baseline version:
 ovmf                 fa789cc68a85a5781c18c64b9112c779750b2125

Last test of basis   182121  2023-08-02 15:40:44 Z    0 days
Testing same since   182163  2023-08-03 12:42:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dandan Bi <dandan.bi@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   fa789cc68a..7672d1cca5  7672d1cca58228b0cb7f099e8863aa3a44ae45db -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:50:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576449.902591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZeF-0003CM-C3; Thu, 03 Aug 2023 14:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576449.902591; Thu, 03 Aug 2023 14:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZeF-0003CF-9M; Thu, 03 Aug 2023 14:49:55 +0000
Received: by outflank-mailman (input) for mailman id 576449;
 Thu, 03 Aug 2023 14:49:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=k1st=DU=tibco.com=kecho@srs-se1.protection.inumbo.net>)
 id 1qRZdZ-0003BH-D6
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:49:13 +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 e8e255c9-320c-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 16:49:12 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-4fe07f0636bso1845244e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 07: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: e8e255c9-320c-11ee-b268-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691074151; x=1691678951;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=LtTQGZNo5YSjoPnpB3y/JCSf673ZWqc5kxtsocf7clY=;
        b=EdBWOU/8ZnyKuo8MAcOfcoO/f35LQ2pcQfn87HkvsSbt+A6X2kPFV5gguIZla4W9CB
         6r6AUF5fdojgppa5aN2vRBPSte6rxfPsmDR2dzf7kOHhhjeD6xiZtgCZ/Sv0cyICFddu
         uEcklozGVKGVqg9Suf3dL4JsqPis0k82+TboA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691074151; x=1691678951;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LtTQGZNo5YSjoPnpB3y/JCSf673ZWqc5kxtsocf7clY=;
        b=OYENOSShAYbWZagWR4xubkGJ0JvlqTjid+Hs9t7NGRnYjvvW79D4sCDUluKedmqpSB
         msCDyYv/DIwaAFH12Wn5bLvLCp/eA4hZ3cAUeLsVF9BQS1RqaPj5DQXvw76DXBsNjyVh
         cASExxiCx4AnKV7PxPZVlX1MBJFbB1tr9oQ9ML41fFEZdXbFqNEM7BWY36bKGl1fxNMJ
         BjZ9QrCBRZXNC3AmUN32ocMsvYZDbusmQPdvZHUFTS34J958RNeAQkfqv1WaPw4po115
         /EMNKAcxG/KRmL1nEWYruUA3NqNEQIC/6dB9kjcp29OhRuj2P7Tz7H5Ava1LuiplKz4K
         rhMQ==
X-Gm-Message-State: ABy/qLZo6XRlIMFN0+hqSnYsdVNg610SL7qsIC9B/R83BRwacI+rfEiT
	HuCG4lkEcY2O+XQEbasLnP4AkQDP1I1f6kudWttvVqHzeSoKnPvMnxwyRIFy9Gf62A==
X-Google-Smtp-Source: APBJJlEz825szI+9GBb01xYOoTAD2buEEi9Y2nDZmnt6/Id3lSKe/rHLLYg7Q+b+DnaKtCWKxd8hUU26FA7vTWAFm60=
X-Received: by 2002:a19:8c5c:0:b0:4fb:cabd:2a66 with SMTP id
 i28-20020a198c5c000000b004fbcabd2a66mr7113632lfj.21.1691074151428; Thu, 03
 Aug 2023 07:49:11 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 3 Aug 2023 15:48:36 +0100
Message-ID: <CAO-mL=yUogtHyY6jgBo_6W4WfhypmoF8wsJDA3TOzPV74+j8Eg@mail.gmail.com>
Subject: Call for agenda items for 03/08/23 Community Call @ 1500 UTC
To: undisclosed-recipients:;
Content-Type: multipart/alternative; boundary="00000000000015cdb4060205e2d7"
Bcc: xen-devel@lists.xenproject.org

--00000000000015cdb4060205e2d7
Content-Type: text/plain; charset="UTF-8"

Hi all,

The proposed agenda is in this link
<https://cryptpad.fr/pad/#/2/pad/edit/vQgbgUdA3hhXYK2XS79CAgEs/>and you can
edit to add items.  Alternatively, you can reply to this mail directly.

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

Note the following administrative conventions for the call:
* Unless, agreed in the previous meeting otherwise, the call is on the 1st
Thursday of each month at 1600 British Time (either GMT or BST)
* I usually send out a meeting reminder a few days before with a
provisional agenda

* To allow time to switch between meetings, we'll plan on starting the
agenda at 16:05 sharp.  Aim to join by 16:03 if possible to allocate time
to sort out technical difficulties &c

* If you want to be CC'ed please add or remove yourself from the
sign-up-sheet at
https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/

*George is on PTO this week, so I will be hosting this call with the help
from the community.

== Dial-in Information ==
## Meeting time
16:00 - 17:00 British time
Further International meeting times:
<https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=4&day=2&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179>
<https://www.timeanddate.com/worldclock/meetingdetails.html?year=2021&month=04&day=8&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179>
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=5&day=4&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179


## Dial in details
Web: https://meet.jit.si/XenProjectCommunityCall

Dial-in info and pin can be found here:

https://meet.jit.si/static/dialInInfo.html?room=XenProjectCommunityCall
Many thanks,
Kelly Choi

Open Source Community Manager, XenServer
Cloud Software Group

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

<div dir=3D"ltr"><p>Hi all,</p><p>The proposed agenda is in this<a href=3D"=
https://cryptpad.fr/pad/#/2/pad/edit/vQgbgUdA3hhXYK2XS79CAgEs/"> link </a>a=
nd you can edit to add items.=C2=A0 Alternatively, you can reply to this ma=
il directly.<br></p><p>Agenda items appreciated a few days before the call:=
 please put your name besides items if you edit the document.<br></p><p>Not=
e the following administrative conventions for the call:<br>* Unless, agree=
d in the previous meeting otherwise, the call is on the 1st Thursday of eac=
h month at 1600 British Time (either GMT or BST)<br>* I usually send out a =
meeting reminder a few days before with a provisional agenda<br></p><p>* To=
 allow time to switch between meetings, we&#39;ll plan on starting the agen=
da at 16:05 sharp.=C2=A0 Aim to join by 16:03 if possible to allocate time =
to sort out technical difficulties &amp;c</p><p>* If you want to be CC&#39;=
ed please add or remove yourself from the sign-up-sheet at=C2=A0<a href=3D"=
https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/">https://cry=
ptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/</a><br></p><p>*George i=
s on PTO this week, so I will be hosting this call with the help from the c=
ommunity.=C2=A0</p><p>=3D=3D Dial-in Information =3D=3D<br>## Meeting time<=
br>16:00 - 17:00 British time<br>Further International meeting times:=C2=A0=
<a href=3D"https://www.timeanddate.com/worldclock/meetingdetails.html?year=
=3D2020&amp;month=3D4&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><a href=3D"https://ww=
w.timeanddate.com/worldclock/meetingdetails.html?year=3D2021&amp;month=3D04=
&amp;day=3D8&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D3=
7&amp;p3=3D224&amp;p4=3D179"></a><a href=3D"https://www.timeanddate.com/wor=
ldclock/meetingdetails.html?year=3D2023&amp;month=3D5&amp;day=3D4&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/meetingdetails.html?year=3D2=
023&amp;month=3D5&amp;day=3D4&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=
=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D179</a><br></p><p><br>## Dial in =
details<br>Web:=C2=A0<a href=3D"https://meet.jit.si/XenProjectCommunityCall=
">https://meet.jit.si/XenProjectCommunityCall</a><br></p><p>Dial-in info an=
d pin can be found here:<br></p><p><a href=3D"https://meet.jit.si/static/di=
alInInfo.html?room=3DXenProjectCommunityCall">https://meet.jit.si/static/di=
alInInfo.html?room=3DXenProjectCommunityCall</a></p><div><div dir=3D"ltr" c=
lass=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 styl=
e=3D"color:rgb(136,136,136)">Open Source Community Manager, XenServer</div>=
<div style=3D"color:rgb(136,136,136)">Cloud Software Group</div></div></div=
></div></div></div>

--00000000000015cdb4060205e2d7--


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 14:55:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 14:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576454.902601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZj9-0004eI-Ui; Thu, 03 Aug 2023 14:54:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576454.902601; Thu, 03 Aug 2023 14:54: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 1qRZj9-0004eB-RL; Thu, 03 Aug 2023 14:54:59 +0000
Received: by outflank-mailman (input) for mailman id 576454;
 Thu, 03 Aug 2023 14: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRZj8-0004ca-35
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 14:54:58 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe02::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b35c4832-320d-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 16:54:52 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8533.eurprd04.prod.outlook.com (2603:10a6:10:2d4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 14:54:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 14: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>
X-Inumbo-ID: b35c4832-320d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LBE6Ojih0w7RL0+3LZ3AXb1RnbSz5/tVm3LTSZ6/axMXXw6nVe3YDlEsFrNrqyOdpJje/fUolfaY7csnJ3zUGkVhwN2BCA22GSNFxkMscKPPGSQ6967FhD59gYxfoJ+A0lYnPr9rd3BNsl3cCZM2pttDj8w8HofiWOqHZnNfNQXpprR8QXtl9kOyamx6PtcsBSY9ojJxe9YwI3PlafOlB+ExJKrmSQZGsuTsV6LAjTIhb6yuON0W7u6tCSgqyZswXwJ9gOk8VpDsvMcZ1vE4+TYHDRhA50euv6C/7ROaFotnZEvXAHyGLJL5Vt4MtrYxqehpz2KicZr42qlcAM/AhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L7bkNJqp3St7fRuY7Bj4G78GKIHC1TqIMBw5kretX/U=;
 b=BeOwfBRfXGSW0R0klIwMNBg8LJBnr6ddjq7ugjsbh2LCXe3VE8oYEX9cBAVUIvQAkPzK+dyWIaGxA86Rmr7xmrAeVWRgMUQxwveo2Fv6FwoRULLS09PD/8E0EetdJb7zwB/SGQWUX6iA7MO9MF7/Ec6lp2UBfZhBqT8Y6txvuW0QDP7g4SQCdAh0tSEEFt/7WnOFaRmx4RF1C10clL+cJqkmEPiAo2+OmNEiMpehopdxo9ItnZ8+Ct57wEx9TW/qiufrfYeTaR6sPmHhn+rvulXEePRBwbdV2w4cfFQOOtdgxQ8uipHvHk+TV5XM1Kjgg6iEcFq2QJ0ERG7ABk/0Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L7bkNJqp3St7fRuY7Bj4G78GKIHC1TqIMBw5kretX/U=;
 b=OBLoa30Y+GUcvC8zfqs8A+PG58GEbILFdpoIjoPfmrwH2NVehedOEMRJ50OlsO8RHhdEGDwLX7fPoYV0+MPdahW0x3TvQhjhG4Rqw0s7zTP+yJLsMFVQGi54ZWr5jMgL6ITzzGZ9D/j/AshnlG0sXSdnOmbcg8APpDaE2QnLGhomsj9Bqyj4Msgbl187CmidHId1E80TPecrqG5uk8EloVMVgkDmL0yb8BFOeqIrnzH2KrvixlXWQi38FBn4sIe0l/bJoyyYUBEjq1IjSVuFbQBlxs78NmlsugPFOYUKXe8jeDnBLTGVok7glSoHdF0xEvHrUtQcVpQUTCIwYCUCFA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7bbe2f11-981b-5e0f-8bf4-b8d0b4a2ccc9@suse.com>
Date: Thu, 3 Aug 2023 16:54:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: Call for agenda items for 03/08/23 Community Call @ 1500 UTC
Content-Language: en-US
To: Kelly Choi <kelly.choi@cloud.com>
References: <CAO-mL=yUogtHyY6jgBo_6W4WfhypmoF8wsJDA3TOzPV74+j8Eg@mail.gmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAO-mL=yUogtHyY6jgBo_6W4WfhypmoF8wsJDA3TOzPV74+j8Eg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8533:EE_
X-MS-Office365-Filtering-Correlation-Id: 56e49c69-8539-40b8-ba50-08db94319698
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XCeBqCfZGO1sZxo6utfnBdEMi1jqov6z6I4X0kOwn7WgjNNH0LCw1T4DD/hnmOuq7tD2MMXwW6Qppdtitce7HhBg0Ya+QWkxN43ZfZocQBjBLzWyd+coquiKnGYssX7R50g3OWVExyv2CQc9E+xHg+delXB7KkG6DmI3Oyr58hAJ8cP8a8R9a7aU7bpUkmaZMnVT1/fwlicL0pKx/7gNZyJ3VFtxsGIrJyA60PiJNezZkfOQkxQHXM8Y0re+ILUxoXWRfsQfMM+6QBPwv+kjtkLzyM1jlxvnAknnntCkpoQ3yvP7gGvz70pBC1NbOE+vUy32FtUnDyeVYIAPlrzaVG6WQxmu6Uwj+r72sAkhoB3ja2Cf0psKTJ0uzMLi6xiGZrkLGZWK+BJWhzzx8U3QLTVMDgK1SpaicClO3+CtX4cmnw5yiWRXKN2odfCRCfA0bLzZ54n0f4uNzZFa/+lVM0iqFphNRNjtgXqH2B2vSgZAxLx4zX5QDgWFPrD+Y1NshCN/SFmHqEdsv7uIR2zZT8PJSnyTclA7ud8wGvDf7ZdY8AC2e0CpjSpSBCz7wthDLtGRN6f7rF58W5czlEObDgfRr4NF+1jkshOqQ5hbZec4ObJUJgu4hncwlI2UX/StcvR05pM7sGJLCbtQbD+qpXZpf/QFEYbqDeZ9dYZr8yg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(136003)(346002)(376002)(366004)(451199021)(2906002)(4744005)(2616005)(86362001)(31696002)(38100700002)(36756003)(41300700001)(31686004)(6486002)(6512007)(966005)(66476007)(316002)(6916009)(4326008)(66946007)(66556008)(26005)(6506007)(53546011)(5660300002)(478600001)(186003)(8936002)(8676002)(221023011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTVmc2Y5Vmo5RFA3MkRHdFlFS3o2Tm9weHNSMFZ1cUVYeTRNZ1hPZmFYWmFW?=
 =?utf-8?B?emtjODFiOUwrY2JkK1c3ZnJxcVdFNnFzSUFaV1BUaFlCdzZCUlFUTkdVVzFk?=
 =?utf-8?B?MnJhUUkwOVUxelg4WmdEVkpvdXAxcDFKeXlmTjlXRlpjV1VkcGxaLzg0eWFy?=
 =?utf-8?B?WHZrdzhMUFZxM295ZUsrOGpaUUZCajQ4QlJET29wakx2UXJ4bzhjYllqdEUy?=
 =?utf-8?B?Zk5UR3FmNGJrdTE4RzdGZHQzNUlsUjhmN3AxeWE4WjM5QTFHbkczNWE2QTc4?=
 =?utf-8?B?T3pRRFV3R21TWHBqQVovczN0d3hPRDJWYzJVUUlaQlZkVVFWam5tUS9wYk1U?=
 =?utf-8?B?NTBGNHlWcGxrQm9jMjV2T0R6WmZSd3ZsSW41cFFhUGR2dmdON3ZpZUlnbi84?=
 =?utf-8?B?OHBndGFZaEhSc2V1ZVNuS3c5elBMMHFIZllKY0JxZCt1R2R2QWVzaHBDOTgr?=
 =?utf-8?B?U0pIbWpac1J5bWdZQ2dHMWhoZllXeEdvbzFQRG04ZTlyR3RxVFRnTDdPaGRP?=
 =?utf-8?B?Mnhyb1QzN3FubXhrc21haGtma3k0czFzS0Q1MFNEcEpuT2NUSlozN1lpTzMv?=
 =?utf-8?B?M0RRSytPL3hQUmNFelJZRGltaHVVclFPaU02VEJXQkZySWsxb084SGU4bytp?=
 =?utf-8?B?QVhkZmxvRjNLTVpHUjI0WnJwTU1kLzlzdUszWFR1cHJWczNHZm9xb1pEZENx?=
 =?utf-8?B?Uk9ZOUkyNmhyT1Ewcjl5N0JncnBhU29hRXdybGtXTGg5RXZCVkxOQkVxTWZ0?=
 =?utf-8?B?Sm1ZQjc3WEh1UnI4SjZ6bFBuU1VZK01DU0hiOHp2bHZxK3Z0ZHlCVVM3UWFV?=
 =?utf-8?B?bEtLTDN5bDFoNWM5aWhxMmhtYnBmN3c5QXNENmdiTDNkUXFkYlZCbDg2UlRh?=
 =?utf-8?B?WnVTSzRJbHY2V2NCTVEvSHdiQ3NiSTNRZ3Z2enRQcmxSeFBKSERvd3hIVzRC?=
 =?utf-8?B?RFhxdVF0enoydThpNE1OK1ZDVTRwNTV2N2VpT1Bxd2VXWHdCQkhKYjRpY0pa?=
 =?utf-8?B?dmZ2cUxVUW1IRHE1UjBxSzhWUzBRTThtRUxHc2tUa3ZTK1g2K21vUTlXLzYy?=
 =?utf-8?B?bGNEU01GUDU1Tm1XVTF6WFJGVE5xcG9UVWtScTIzVkRBNW9PRXovL1J4Rzdj?=
 =?utf-8?B?YVg3Q0kwWHpKV3hwQ01oOU1tdVp6S0lQNmwyODg3S3hUM01PMVZva09WeFBH?=
 =?utf-8?B?UmF4b3VKckt5bHh1cFk0emdvd3JOVzhHL3FIakYyS1kxV1Z6YVg0ditQbW1H?=
 =?utf-8?B?amRyd09paTNxSnZOaHMwYVh0dkpUOWZrdmRiSXhPTU9KdE95YkpkSm5ZbGdn?=
 =?utf-8?B?VHo5TVRDeWppWEI0NjVZY2EwYWlsclJHTjdDeENabEFVY1pWamZaalpoWkk4?=
 =?utf-8?B?Snc5NTFjMXFlTWU5U2J2aUhsaGJERzZwb1VibGYxMG12S0Vtcks5YzEveERQ?=
 =?utf-8?B?QWxLa0sxc3o5UHlkOEVGOWhtR2EzRG9Ud3poRFd4M0p0M2dEMllYR1BIWmNB?=
 =?utf-8?B?Y3dyZGRIWXRHWlU4T3B4RGNNTUkwM0pvZUhpZ0pPUU05YnVZdWloUGk1NU1Z?=
 =?utf-8?B?NjVqbTJrcEkyNTBZS2lHOCtJSHBIQTJ3dFlIMWtQYjQyMWpzYjdURCtIM0h0?=
 =?utf-8?B?NldsTWRSbC9oSDFmYmJjZllWTm1mZFArbUlsYng4RnBsRXBLNmJqaTFIYThG?=
 =?utf-8?B?QkoyRDdNNytNSTljNmhramtkUEEyemZ3M3NGdzdWY2J1MWc5b0VvaURZZ05o?=
 =?utf-8?B?bDJsWlFoM1ZCTExyU0xCVkd6V1F2YmhHbVRjdWxldHRSYWFNUnpUSmRoYmFF?=
 =?utf-8?B?V3VwMVZTS3c1MDVvN0Y4aUFqOUlDdjh2VkxtclBNKzA2eHJzYTJrbUhSU3By?=
 =?utf-8?B?VWltRm0xTDhBc1lvYmRQbFJ0VVVldTlKVElKbmxjeHpuMmY1dDBVZmh3Sk1X?=
 =?utf-8?B?S0R2L2hqTTVPTmozN0srRGVyN2puMGdSbGJ4OWJ1R0JQZ1hDdEFCV1cweU9S?=
 =?utf-8?B?bHNMNmRrcVR1a1JXWHlLLzBJV0svYysvdWdydUdkUTlaelIrTENFd0oxSG9F?=
 =?utf-8?B?T2pFSVBoSHVnLzBYdjdXeTdQdXcwYVZoQW5jZG5KRzIrU3l2M0czVEpFNmpr?=
 =?utf-8?Q?h5byGTSqMZPykQuNxIDm4mXU/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56e49c69-8539-40b8-ba50-08db94319698
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:54:50.6199
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YI/jCWtN3bdeU2iG/kUjVo6s6/Z4PnLNvUUtjDnpEX/cB9LGZqXPAyZ2D/Fs5yn8KcB9jWlAd+3cnGtKPy0aOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8533

On 03.08.2023 16:48, Kelly Choi wrote:
> The proposed agenda is in this link
> <https://cryptpad.fr/pad/#/2/pad/edit/vQgbgUdA3hhXYK2XS79CAgEs/>and you can
> edit to add items.  Alternatively, you can reply to this mail directly.

Just to mention it: George has previously pointed at

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

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:12:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576459.902612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZzq-0007A0-Hn; Thu, 03 Aug 2023 15:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576459.902612; Thu, 03 Aug 2023 15:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRZzq-00079t-EQ; Thu, 03 Aug 2023 15:12:14 +0000
Received: by outflank-mailman (input) for mailman id 576459;
 Thu, 03 Aug 2023 15:12:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b1P5=DU=citrix.com=prvs=57264c000=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRZzp-00079n-TQ
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:12:14 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d16e300-3210-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 17:12:10 +0200 (CEST)
Received: from mail-sn1nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Aug 2023 11:12:00 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB7116.namprd03.prod.outlook.com (2603:10b6:510:297::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 15:11:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Thu, 3 Aug 2023
 15:11:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d16e300-3210-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691075530;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=YzrYmWJalqXA0q+sl+9kg/YSXzJcnmqZbIQzHYhqDK4=;
  b=dJqYAeQWEchh39wa32HQ3UqSZkwZxeQjILpW34UioNptOL2t2PDze+Da
   pPlxev3Xb6UM52YqEv7GZCaF1tUkz2++LQYdUtGPTuwBb07Nq0o8iNNXE
   ZplqeX6aO9B8Q6e4Z8bAI0c+zsnuwo/kMQLIA66HOd48/El5CQJ5Ge8o6
   U=;
X-IronPort-RemoteIP: 104.47.57.41
X-IronPort-MID: 121044182
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SwqLt6zrZccpb/Wu6Oh6t+cKxyrEfRIJ4+MujC+fZmUNrF6WrkVRz
 mRJCmmFOa7bMWWjfdB0aIix800Pu5SBzIM2HVNopSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPasT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVNU5
 KYSCDVXVy2gvdmn5Z2faPZIjdt2eaEHPKtH0p1h5RfwKK58BKvlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVkFUZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqhAdpOSOTorJaGhnW39m4VViAudGGp+6P6oUubV85fE
 Fcbr39GQa8asRbDosPGdx+3unmfpTYHRsFdVeY97WmlyKDZ/gKYDWgsVSNaZZots8pebSwn0
 BqFks3kARRrsaaJUjSN+7GMtzSwNCMJa2gYakcsUg8t89Tl5oYpgXryos1LFae0ipjuH2j2y
 jXS9iwm3e1P1IgMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl
 BA5dwK2tYji0bnlePSxfdgw
IronPort-HdrOrdr: A9a23:vDXHrqDHVQWOKBrlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: 9a23:KJsSX21YY1fRejInI+pOvLxfKNo0KHf9yS3pHmyCMndMZ5m3Vnub5/Yx
X-Talos-MUID: =?us-ascii?q?9a23=3A4O1Sig3rFJNzfjFoig2d70NYqDUjx5SsDh4wqbQ?=
 =?us-ascii?q?8qZPedgd1HjuBjA+sTdpy?=
X-IronPort-AV: E=Sophos;i="6.01,252,1684814400"; 
   d="scan'208";a="121044182"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iChGnpII+2p9ajBwW6Kl5LkRgJhnI4AUZBKHexQIkK5oTAZY1atjx+3uZvnQuJp0Seo2DGr+uKeZel6lLhqNX3IuDTg5yu8+E8GOd9Om9EYkoS3GgQVOSggeXNlHE6wmERYYwAWRvYfB4QYqMJGy2IKQpcTdlZah0lF9mAZ9/D5W1tJ8q7Lwv9fKLwUorauOm8e/vSUbeM86CoJ1bYGcMBwdvdaxWvB8J1/YsEGsfdngULAbf7yqvxtFps9Ocnr7Lcb7MBDF1BMHV/HVTMUhJ0DovULIkRfDGrE5/TixJKo21JMS3ryQJtsAPzH5SSMt8NXMpPzGC3md7CbUm/cTsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YzrYmWJalqXA0q+sl+9kg/YSXzJcnmqZbIQzHYhqDK4=;
 b=X61J8iCYEY1MVbUUOWLpBaEf7KIfv8YCNriybUDUWPnt+Kc0SPL0DbKkKvvgFbJHyKW/D0LqwCPvMAf2M/MyjntVwMVfdEtSqMT85qlfRS1lgoU06CMEWuLuN5AfyyxEwXEn0Hl9lBtO0ynEH4zPm6Gk7WxW3VD7rSne190uKOalHS/BXi+pqCZ1K8qOlQi7CSd+fmsoRsB52yla7kI6nqN5XxuElxT9yFfDG7u9tOEglnT6wbLv3RDbhskXRvMXfOAR3Lghg/xNZ9RuBktrTIEHsFssvTaKI3fuztHnkzd/mHtEyyo4vJUdgPyApUMfyY3TVDfQc8NQOJ+XjHpFHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YzrYmWJalqXA0q+sl+9kg/YSXzJcnmqZbIQzHYhqDK4=;
 b=WM06JyBn1o3klUuiwHBJ0lAfA8xjFgXnWpCV3UliBbQCx9BrWz6sttJfjfPCJzbhBokhggkVg/6J2UKSjR0Gl73NBHWOm7RIJmJ1/suRiTXc6oN3sD8QXifhuZUTTIT6cRV8XwMKrEoAD73DORcPCU4lVtvqHVlFiD55lWzzwW8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <96b4db3f-bbf8-b04e-da5a-9af894152200@citrix.com>
Date: Thu, 3 Aug 2023 16:11:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 0/2] libxl: build fixes for recent CPUID work
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <226f087d-34b1-1a27-4048-f9c6ce3d2d76@suse.com>
 <90f011cd-5c85-0480-2e47-be6f229800f6@suse.com>
In-Reply-To: <90f011cd-5c85-0480-2e47-be6f229800f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0132.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB7116:EE_
X-MS-Office365-Filtering-Correlation-Id: 3732bb31-4215-47c4-d839-08db9433faf2
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JSz4kPuWJzUPO19HyzgZziXF8CJDcSPB6d1/fcZ0P4+r7lkjC6eQuDDAnIxRrBpazPHGsmME2G0PBF2cYU0SBUR/xUjlfwWO6QN6bMmogujOBD1L+gzeNj8VorVw6gNFVhkpEy9b/I/dvK3C00/ncwEkSTaoSJYO1rALBeqqKbTvCAejwb/hA8jYOMzC+Ea4Eg/j+uEXeD6tElLQ+yT5bEyLBGP8wrd5jkHKL713ek7tKL3QtmemgSsgjFOyOOv2oEwAnLnX6dXyTE629EPlBt+TmutZ4m7LX/fw7+1aKrAjfSLX+TqSU8lMmF3nCysxALNqN+poFDmB/IxnsFAhNm6KQwOYA2+07nvZH4ls7KNnW7kdSWKxSFpEJ9YC1dybgqS1qxxrB4lmxapikgbCF94zIa7R30nlgHKEux2IXZej4TS0H7xRAa4yahEtFebTF3Fq6gKraUqmx+8CqYEy9xYCcXw4ATelV0yxlexwLLLvX5JgsHw0yOGvxN1Pa+5AyUjIWtYZmtsxO8cEg/zhCSikeDMy/KMpjrL/54b3fvxeYrp4YJ9PIDkY8fP1Nn0cpNqkFx3F9Op1PhhVNt0aNa64BvFVnFv4aO0TwrlC1P95KsQSz715bePIOS/FEAK/d4e2es2lI7lIvSQZHmpgQA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(396003)(366004)(39860400002)(376002)(451199021)(66476007)(66556008)(54906003)(66946007)(41300700001)(2906002)(316002)(4326008)(8676002)(8936002)(5660300002)(82960400001)(38100700002)(6506007)(26005)(558084003)(186003)(36756003)(53546011)(31696002)(86362001)(2616005)(478600001)(6512007)(110136005)(6486002)(6666004)(107886003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bDY0SmtBT2lEN0pqKzFVc0J5MnI2dmQ4UkV2WGF5ZnN1bDhzRjJEaGNDVmNi?=
 =?utf-8?B?UHI5RmR2R2NHRkFLektiU3RVZFhXQzlSbU1JY3BveG9XcEhHZ1JiWjY4K01h?=
 =?utf-8?B?TU96SEFnZE1Ic21SNWJNNEhnV0xKYWoxaUk3NzRPVi9seFRUNm11WURBMFNL?=
 =?utf-8?B?VHljM09WU2Y4OE04eVkxa3llWnUweG5WaDR5b212YTB0YjFKUnJUdVVVSXBl?=
 =?utf-8?B?QkFrdzRLVXB2ODNpa1dFRE5nbjZNc3g3SmxmU0hkc05TbVl1T1RrektjbUo0?=
 =?utf-8?B?U0s2T29CbkkwOVdQejg2a0l1MHlkb2lHLzlNMmw1UVZ2c2RWVXQ4cXZPdk0z?=
 =?utf-8?B?cXJ6VjVIZXBOc3QvWWtGUDVQemFTZmU0Vk9uVmNqeVQ1ODYrNWxDdkNHMDhn?=
 =?utf-8?B?RTZGcGcwQ3NCNG4rYk4xclFuZ2c1QTJ5Wk52dVNqaEdVZTY1cEVvUHNBMzhO?=
 =?utf-8?B?eEZoTUxzd3kxY21GeUZDZ1IveEI4QXVuVDBMMjVXTnJELzV2NWVTamxKcHpU?=
 =?utf-8?B?WWpJck9hdE5lVzRyYkhlNFNwbGRtY05YOW81VmhGc1grMGdKM1Z5MGFYNzVn?=
 =?utf-8?B?S3EzOERZYjAvVnRkanltSmtnQi9CeFh4Tmg1ajJIS3RVYVdiUklFeHdlL3dS?=
 =?utf-8?B?dGxZalBaWkhlbHd0enBJdGRNaWh0alRObDI3RGhhM3lzOHFmMklwejlVZTJk?=
 =?utf-8?B?S2VDUDVjT1J4bkJsa2JvS3ZYYnoxYTVkaEJkRVhjVE9YdUNZUURXN0F2cXA3?=
 =?utf-8?B?eE5SVTNNbnRtSDluZ1JVUDNVTFdqcFd0ZWJSbXVSWkVDVVd4UlJEbWFpQ3l5?=
 =?utf-8?B?VkVMelV3eXhjckh5RCtDOGZaTGVjSjZyWnRhZXlYaDUzbHRxcVQ3OVFqWTY2?=
 =?utf-8?B?YjAxcVVnZDVxOUZPeWJhaUo2NE5xNlNiWjM4N3NNTDFyS1NGQUNGbVdyMVI1?=
 =?utf-8?B?OUJ0WXRwNzhPcWRaNXV2WGpSbWJUL0xEbjN6dVgwMzVGdnoyQVdPTXVOUm9D?=
 =?utf-8?B?UkVjYkd0KzkwQzc2WWdiVENWN2JuTGhTa0VZUEg3b0x2eWtBSzhRRExXMXlU?=
 =?utf-8?B?d05pNStFang0M2hxQkhJV3JUTkROWGpGVXJ5cmVsU2cwTisyNlV6TVZrbDdK?=
 =?utf-8?B?VkM3RmhxbVZXVWdzZ3g3VG5RK0FTZVJoUk9waUNUZThXZzdiTUtnRWFSN0t5?=
 =?utf-8?B?U2x2TUtnZE9yWUpsNXNSWHUwaW1HWlg5S2hIUUM5NzJsREhWaDBXUUNxcEZB?=
 =?utf-8?B?ZjBmRjN1WGJQb0xodmMwT3h3VnBlSVA2Wm1KMkVXOEJDQmNSQW1VaUtrUzcw?=
 =?utf-8?B?cFFIV2t0U2toank5ZXFSQ2RaVDkxOE1rU2RsSk1QSmViZHJldXJMV1lOTUxx?=
 =?utf-8?B?MlIzaldkdmZTbDhPbWN4cTN0VGRlM2hVWjBFRVV5clFiYUJHbFp0L1RUOUx4?=
 =?utf-8?B?MmU1VmZXc3hZN2JMWUQxc09Udm9oOUcwMTM2MkhvWTF6ZExTUEJ6Q0pRYmdP?=
 =?utf-8?B?QXhWRkVXMGF0MmR0MS9nOVgvMWlxWFE2bUp5QWZmNEF5NWtrUFhad05uNWph?=
 =?utf-8?B?Z0E4c3VCZU1DWStzSmpNM2VzRE12YitLU1J2NFVxb3gyNC83T2dXZ3crK2lF?=
 =?utf-8?B?RUVYRnVGV0VjS1c5UzFwUXY3NWJkNFIwKzdyeDNFSlY4aHZtOVc2VzRZT2VZ?=
 =?utf-8?B?V3hxT3BXQmNaUHFIb2ZPTGhIelYvajJNUU1JcjJ2QVRLQVg0M2J5VDZPcWlr?=
 =?utf-8?B?amZhMEVOOGYvSjdud256RU94UWQ1U0VBVGU4QkZwd0Y2UkNjbDEwazRaeURh?=
 =?utf-8?B?RnhkWld0emtFeEFLQ1M4c05OUEZQYzVnZE9WV3lSQWxVbmdRMW9nZlNtZlN4?=
 =?utf-8?B?aTAxcWc3YXhvUlpLdDkrU1oydlJYWURtK2RqbGVxVm5vWWExaEhaWGl0N3Bh?=
 =?utf-8?B?UVhueERtbWhsejAzdUZERkxaQVlZRTl0MlFBcnBhNkV4SjdGOHZkeTVlOERP?=
 =?utf-8?B?S2pKd3pPNEJqSUJPRGk2ZjVnd2lqNFB4SG9LSEh5ekVnbG5NdUpld0N6VHZD?=
 =?utf-8?B?dzloNzl3OEloUEY5aWM1RktSSmlCRjB2VEhPOG9WMXBkdmxucDRzdlg1Rktv?=
 =?utf-8?B?Q1NIcDJjNE9yM1NmbklYL2xPZSsyam5aTzhDQUo1NWpsS0FoMXdwWVBiK0xV?=
 =?utf-8?B?OFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	s+s2Y0naKaC5zsAZo3M3sCtN9uuxpeCOnaB1oJaAgXv01K/Q4lfijXDpBVTMgygUN7Pwzt5R3S0HBHHwfTX4K69HvcXIG5zbUN2MDfqM/jyTXTQ5w/e1wEjJ5PU0zCDoPUW00wetSyVOJGKbtffxXD9ALmPzNKr9CVd+Vy7/H6Xh/5PoG1zvriDqHjTaB8m2rCEFwFYdWJVRkSLaZ6H/mnXyMAmY9mYAczDSQuJ2UaJuVpMM3Fzt6UOHRTwVjlmHZkNv+stkTsyCtG6lDdhUGgg8+Rm1TlisCT6mvC4gGcWATA3Zoou96Eh6d8wsAj0uX9xyMxzYoQ992t4VM9YJenq1ceEMH5UfeVRWCLsCcgV7qcqrC8UEzHEZNs7HG42hH0KsZ2CiuuhZxv/U6VnRl2TCMRjDBODMFRm7w5RU/obWfwO0cu5hCNFgjvH7eoRCLhCdr1bCe7WOpcNhK2rNPWUOm26/Qn/PV3gsSLc9guI5wk/LvQCz+u5XDJYdY/tZKXMJ5Zscv0jHihack5Ag+L9pDu4mb2c7NWrH21RMvs+j1I490zxSN0oIYnMwwRd0uAg6lJzY6sN0In04sXJ44UlctblmiefIRpJSYBT9S7fesewhFlroRCjF4OlKdSWCn2v6xY197eb8FQH9RCG3qAUoY8yQG0XcqW2ZElqLUARbzuhazNJMdFEfgrl74quDcUgHw+hiGkochgZmLdxIY6Ffj1lFchE3oMAj9kYd0NnfGDKrWK+QMUXBfImkGvu0AGvMSCQwDG/Pe9yatDi9hWrGAj2GEFFNb9gLhFs9xhvZ9e5rHXRHxm9KLpjF3o12
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3732bb31-4215-47c4-d839-08db9433faf2
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 15:11:58.2279
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K7HARcFFe1gCnq8mz/iRG7CQVTRCE3ZlvMh6TmCC6QmSj8wmWqhiGycjCfDeM5XuktPx8RPXsT+sKkxd41qev0k1L4jpT6gl5b1noevbo3U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7116

On 03/08/2023 3:32 pm, Juergen Gross wrote:
> On 03.08.23 16:13, Jan Beulich wrote:
>> 1: avoid shadowing of index()
>> 2: allow building with old gcc again
>>
>> Jan
>
> For the series:
>
> Reviewed-by: Juergen Gross <jgross@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:41:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576464.902622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaRu-00028r-PT; Thu, 03 Aug 2023 15:41:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576464.902622; Thu, 03 Aug 2023 15:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaRu-00028k-Mq; Thu, 03 Aug 2023 15:41:14 +0000
Received: by outflank-mailman (input) for mailman id 576464;
 Thu, 03 Aug 2023 15:41: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRaRt-00028e-7I
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:41:13 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29fdc1a8-3214-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 17:41:10 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691077265755591.6976092136987;
 Thu, 3 Aug 2023 08:41: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: 29fdc1a8-3214-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691077267; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=JZutway1iudxNiE66wsg4Q5bTV99SBGEiN8GtBL/N2FH8W95a6jYccWtOptuZY/tCIfrdU7rKoFWLreiIn+xT/cxgYJ100Cw4U7FQIRrQeCEPs/9pgL99aas6CmQUJfaI8vgl9iMZgwkNnF0knmPO7urK64OVam8XBjF4BO71Co=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691077267; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=grSgGT4kCmqT7GVHxUlEWkLYR/m3dGzyr4FKWQWQIuk=; 
	b=MNKTRxdH9vH8BdPt3+zf+nTasaCRFS5VbE98S+Fxbpj1O6H1APNgxbVvmrijFvSzZRM+7956+vdZjBhbXbjAyzWofMWb8S/wz3r5OD3Z8XEFwl8/v3jaXjUSBS81Z8gMrDu8UJSylQdj5/k/GEsA22LfYgL7XDh4MKSJu2LnN7k=
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=1691077267;
	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=grSgGT4kCmqT7GVHxUlEWkLYR/m3dGzyr4FKWQWQIuk=;
	b=qNjQfsagMHwkSRLflTTV60RkCE5fCcOSnlyH1n9wyi4vG+PEmlwqUJvNqkfoYZTz
	JQM1ArHMLG2WCd1PAwD+Kkt9nAZst0WSH3GJnhjyLHj22Bdxy14AIy8J5yEqi+WzNzu
	qAeQHXMkFW+AU+tHP0+SNf7EmBNGs/l41agNkkq8=
Message-ID: <14346689-8276-3c26-91e1-59bc2328518e@apertussolutions.com>
Date: Thu, 3 Aug 2023 11:41:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/1/23 21:01, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> The field `is_console` suggests that the field represents a state of being or
>> posession, not that it reflects the privilege to access the console. In this
>    ^ possession

Thank you for the catch.

>> patch the field is renamed to capabilities to encapsulate the capabilities a
>> domain has been granted. The first capability being the ability to read/write
>> the Xen console.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Patch looks fine to me aside the two minor nits. I am not sure I
> understand 100% the difference between capabilities and roles but I am
> OK with the patch. I'd like to hear Julien's feedback on this as well.

This might be worth a section in the hypervisor-guide. As mentioned in 
the cover letter, this was originally proposed as being under XSM. A 
challenge I ran into is that, depending on your view, the 
`is_privileged` field and `hardware_domain` global were either abused as 
a function check and a non-resource privilege check or are just 
multifaceted variables. This is why the concept of the role was struck 
upon, it is more intuitive (for me at least) that have a role is 
something that imparts accesses (privilege checks) and dictates 
hypervisor behaviors when handling the domain (function checks). This 
then brings us to an access or behavior that may be inherent to some 
role(s) but may want to grant on an individually to a guest. A prime 
example of this is console_io, for which it is inherent that the 
hardware domain role will have access but may want to grant to a guest 
without granting it an entire role. This is why I provided for 
identifying these capabilities so that they may be assigned individually 
to a domain.

While the role/capability is a natural progression from how the 
hypervisor currently operates. Another approach that could be consider 
to deliver a similar experience would be to break down every access and 
function into a capability and then define the standard roles as a 
conglomeration of certain capabilities.

I am open to suggestions here.

>> ---
>>   xen/arch/arm/domain_build.c |  4 +++-
>>   xen/include/xen/sched.h     | 25 +++++++++++++++++++++++--
>>   xen/include/xsm/dummy.h     |  2 +-
>>   3 files changed, 27 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 51b4daefe1..ad7432b029 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -4076,7 +4076,9 @@ void __init create_domUs(void)
>>               panic("Error creating domain %s (rc = %ld)\n",
>>                     dt_node_name(node), PTR_ERR(d));
>>   
>> -        d->is_console = true;
>> +        if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )
> 
> code style
> 
> 
>> +            printk("failed setting console_io on %pd\n", d);
>> +
>>           dt_device_set_used_by(node, d->domain_id);
>>   
>>           rc = construct_domU(d, node);
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index ec0f9baff6..b04fbe0565 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -472,8 +472,8 @@ struct domain
>>   #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>>   #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>>       uint8_t          role;
>> -    /* Can this guest access the Xen console? */
>> -    bool             is_console;
>> +#define CAP_CONSOLE_IO  (1U<<0)
>> +    uint8_t          capabilities;
>>       /* Is this guest being debugged by dom0? */
>>       bool             debugger_attached;
>>       /*
>> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
>>       return is_hvm_domain(v->domain);
>>   }
>>   
>> +static always_inline bool domain_has_cap(
>> +    const struct domain *d, uint8_t cap)
>> +{
>> +    return d->capabilities & cap;
>> +}
>> +
>> +static always_inline bool domain_set_cap(
>> +    struct domain *d, uint8_t cap)
>> +{
>> +    switch ( cap )
>> +    {
>> +    case CAP_CONSOLE_IO:
>> +        d->capabilities |= cap;
>> +        break;
>> +    default:
>> +        return false;
>> +    }
>> +
>> +    return domain_has_cap(d, cap);
>> +}
>> +
>>   static always_inline bool hap_enabled(const struct domain *d)
>>   {
>>       /* sanitise_domain_config() rejects HAP && !HVM */
>> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
>> index 18f1ddd127..067ff1d111 100644
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -268,7 +268,7 @@ static XSM_INLINE int cf_check xsm_console_io(
>>       XSM_DEFAULT_ARG struct domain *d, int cmd)
>>   {
>>       XSM_ASSERT_ACTION(XSM_OTHER);
>> -    if ( d->is_console )
>> +    if ( domain_has_cap(d, CAP_CONSOLE_IO) )
>>           return xsm_default_action(XSM_HOOK, d, NULL);
>>   #ifdef CONFIG_VERBOSE_DEBUG
>>       if ( cmd == CONSOLEIO_write )
>> -- 
>> 2.20.1
>>


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:42:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576466.902633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaSw-0002cI-47; Thu, 03 Aug 2023 15:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576466.902633; Thu, 03 Aug 2023 15:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaSv-0002cB-Vc; Thu, 03 Aug 2023 15:42:17 +0000
Received: by outflank-mailman (input) for mailman id 576466;
 Thu, 03 Aug 2023 15: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRaSu-0002c3-3E
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:42:16 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51a159d1-3214-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 17:42:14 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6897.eurprd04.prod.outlook.com (2603:10a6:208:184::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 15:41:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 15:41:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51a159d1-3214-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ObjJ59AJUxZJaWbPtVMFGIWc7DPSa+pywJfhFgzv+Xza+4HwQo1Viup5ATSWVrASDFa2V87zUfEpDuGE+lnrlZcj+lgofIeB2oavJayUf4MWd8lnDT8pXDuvatGPi/gMwloYMLGsrm8bUCXrk/dr8MuXC9kWYyYq0HddTiNP8sc3d3wq/9KkbKBd3XgBYeQt40s3cqB9+LISnh8vRLnLMN6Gz9mR5xlMYXHavIgrVCb8i5gvamyZ9fTDe9dM01xN/Pd+/cuaei+HX09VK1fxmTDvJ/kJZzft0PUr2mNEVD15caILu1XER0ic88EGpEYPCmq/Fz1BJ3XWEz4ivC3Dzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9P4uoyU/0qNGHpXBbsPek+ERlXRrnBGIV/T9hzgJSIM=;
 b=U/zauUSQK3hhYo33+yNNx1NNQnAIpf8uXNZao58aDcoqSea6FogIR7qZ6r+yIi10r2nKqHo8ih9dmfCZWscWiuahzNy4dgnzmbqg0naYaJzNKTiEphH84kV/4seLrGO42xezTSpdfhKmaY4L+sxymkFOmiNfPd/EB+tgEULhEEIzSTis6Yy1/BzTpMnK/dKSyeNRd9Sf4dl3SKB/9d2Fs8wxSBVh3Ar3JwQLcFiuiVkdq8GDsDmU/OMeIkmR07ukCRnrF9KiidA9ndQ8e//Jon3RyloVSKXlil0sIgoIKCcqdVcPQPESaUH6nWuRrZlpJgZaINWAG3PA6lDM/u8LxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9P4uoyU/0qNGHpXBbsPek+ERlXRrnBGIV/T9hzgJSIM=;
 b=l8UMtt8QomW5kspuQaJFjX3mxw0GXUSrtAnKnTxNb4iNzJTuiyG/gIiOZdDWuL9t4ILKTDHle+roeolIjuLQLzN5ESzZsOWVWrMX41JzNgbOLVxzINHTrvDPZRd/7Ka39LvcQ6hR7vDdy1Ul0C3pKc2HSNY2/4B4pSP3iqZIZSyaHFJwSeKkorG833XvMfH7c6wfvj0AjuBbW063w88AuSpjZ65rX/YzF/qnUUh2jG6ACoj26EAREdZbUgpx5lZ/P34BLR4JQKoxh+XiEnjWamzGAHalDU6OlYpCFibJN3dY8bgumg8M4jnX4mElKdJPNSEL3227Kts8uYDD9XdR5w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <693596f9-e2b7-41ac-6d3b-5c82fd3474b5@suse.com>
Date: Thu, 3 Aug 2023 17:41:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 11/11] x86/mm: Add assertion to address MISRA C:2012
 Rule 2.1
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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <91b2f2c9e728c1f19f7baab301299d995a074279.1690985045.git.nicola.vetrini@bugseng.com>
 <0ba36273-33ad-753c-06a5-be117b6658e0@suse.com>
 <d506555fb3653322703f50d8756f3560@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d506555fb3653322703f50d8756f3560@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6897:EE_
X-MS-Office365-Filtering-Correlation-Id: 4aabf589-6861-48e1-2977-08db9438247d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gzzMkPdPUTUvqnq677Lk/MB2DeCKzJ0yoRu6pKMvYiAGFjwe1lGCV7xTmjc8K5kgv/KFC+76hJxd8hu3gjyHyX3VA5gPPhBvjuitiifsOeiwuyi7Zdehsy0MlQaCie8P2GIIyuveOkuVeBVypVSn5B/SwDkK5Gs78SksdSGNap7pbyP4lr74dTGrU4YBU7a/O7y+Gtl4eGKKrqoFNXkcgGmp2HqBrEgKv9ZIxYgyHDEikHMx2tihaP6uYZgON+nkPkpZi9l9eeVBgPR4KL2aRjVdxfG0ddZA9/EkO5W77qmPLkU2SiSfnfzaOq9kiq+fa4arpaOOs7xxNYoqKY1ePq3JorDz7p0DJdYLlNpJoazVSDS5H6Hhdr0DQ2UnstEqewFf905YkNeyW88gOMbkWESeMPr4PFskqXAZsA8MPZjuDouleDtXozZ8qBn0108+pkXY2JYlx5VGgUzw2yQJ3/wP+xwKdvpR6o/R6Te1lxZ74AWgO33+BVYKIskqwK88lVH3VWybqfVPbIljjZp3mpn+KaG4wIavQHx+VIJ/11sXepHHvL40J7i7lMvf6NdcYz6006hxIhEmXv4OApG1IwWbEAKRR0iz67zLg38+y0sY+HKhK5AfHNhoujJsUaIdB5eWdX5ENq5UaYvRArjlHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(366004)(39860400002)(376002)(451199021)(66476007)(66556008)(54906003)(66946007)(41300700001)(2906002)(316002)(6916009)(4326008)(8676002)(8936002)(5660300002)(38100700002)(6506007)(26005)(186003)(36756003)(53546011)(31696002)(86362001)(2616005)(478600001)(6512007)(6486002)(7416002)(31686004)(66899021)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUNZaFBMR0huYnlTM0w1MHpTNmRwZWtYa0h4RXZnQ3ZYdTN2L05ZT3RxSDRl?=
 =?utf-8?B?b3lrV1VhRmh6NFdiYUE0SC8wSm1RUVFCb1hYelB0RWZ0UW1WdDRSUjVJKzU5?=
 =?utf-8?B?eDFWUGFTRk5KUS9WbmVBcHh5ZDhZM0EzTzdwY2xmWFFHV3IvSzg3N2hRY0ZI?=
 =?utf-8?B?TTFydy9YV05RdUV4VmVTYkdQL0VqdURIb3JBbC83Mk1JUUN3Q3ZmSDFpN1JY?=
 =?utf-8?B?WlNOcHZ0blN4TlREM0d1QVNzcVJKcVlQRm9sUjk4SExqWlk3STNWZVorTmQ1?=
 =?utf-8?B?dnBOVWxveW8yZ3A5MVRudXY1bU5UV1VWalRDY0UyNkJHUVRZRkttZlN0NTY1?=
 =?utf-8?B?SUtubzJwVHBSOHo2RlcyUzkzdW1qbzBYQUIyWlkzY1k2YzVnTENiWExib0cy?=
 =?utf-8?B?TjI0WHRoQ29HYUh5YUYwSjBxbEV5UzlzMk50bXQ2VE8rMCtnRU9ldHAvbk51?=
 =?utf-8?B?S3RXbkdmN29MbHVqcTE1Z1ZVdXU3MGpFWXFyV3RuLzRwcmFLTHZWVFZ2K21u?=
 =?utf-8?B?VStPNGhTOS82R2w4M2hGN2Exd2ordXpJUEVmOVNPZEpEeDY1M2RrSVFlOTBt?=
 =?utf-8?B?YzIrd1lpRHJ6MHlTazVsc29najVoN0FyMXZxUyt5SU9VSjRpdVVKbEZzZm9F?=
 =?utf-8?B?eERVL2hBV0Z1dklxWng0dHJRcXJyemE1SVpzZVdjMmc1Q3NPTUlQUE4rcVN2?=
 =?utf-8?B?d05Da0gwVFA4R1JidnlNN2Y5eUZ6Tjh6M0ZCVURyUVdLMXh1R0ZzaU16ekY2?=
 =?utf-8?B?My9HNWM0WElPeW4wQjh2Ty81K0hUdllDdkNtdVNhY0VtWXJ3dVl1S3grVGNV?=
 =?utf-8?B?Ukx3SWl3VFo1NkFLNXF2eUxUem1lOXJSa0hmbFJzeldOK2MzWHp6N2dwbk5S?=
 =?utf-8?B?cVNrY1F5elFHMzJqa25ZSEpRWlMvdHpSdVVwY1MwUjIyd0lVTnR0RFN3Tkx6?=
 =?utf-8?B?Q1QvVDZiTU5EbklJb1I2c29VTnljTGJxQ0JlOUdJQWdCZklwQXlrakpaMC81?=
 =?utf-8?B?RStxVDVqN29BTVErQTlSSHQ5c2pQSlI2Z2IyMWlWZC9vM2NBekxtZVhRRzJS?=
 =?utf-8?B?ZmRGVzhxeG9CVkNYcVlQWjdYdzJKQXlpREhmZjgvcjk3VGlEZlA5R1J0MWRQ?=
 =?utf-8?B?UGJvcTUwL0J6c0VzdGg5SkNzWWdCUTgxMFJOMGxscW1Mei9FVWNlQWFzMTFS?=
 =?utf-8?B?THJJTmV1akhzNnRFRXNFMmRCYkx2MDFhYVJVU1hLUnZCNnVQbTlVV3V1bzht?=
 =?utf-8?B?ZGpheDM4aFRJWHQ5VzB0Zzd4WVJTelUyeXN3ZVUvNzMzNEhmcVV1R2c2Lzgy?=
 =?utf-8?B?WTNYSUlaNjMzNzdDQ0lzVGtmZFBXRERtbXNpSFNSdE5URE1XSFBGQ2ZzK1lm?=
 =?utf-8?B?dkgxc29VajZDdHRPbCtVMllwTmJlQkxmdGtjelZYZk5kbG9acTVESVROZ2ti?=
 =?utf-8?B?TjhMZkFUZ05WQjU2TFV4K0tTNTRXOVNJczQydmFRWjNIc2NUWU5wWjRaVk9X?=
 =?utf-8?B?S2tNRmg1WXpPcVhlZGxzNjB4eWdYSnM0cUhDWkRKQU03cTcybisvTEpKT3dX?=
 =?utf-8?B?Uzc0YkU2bEZ5eERreFp1UWQzQWd0VURDbXowRWttMThodlRvcmwzTWdocGsy?=
 =?utf-8?B?VE1KclovcmNEbTNieHgxZDljdzhJeEp6ZHltOTlvenowUW1YaCtYMVBEV2ZS?=
 =?utf-8?B?S1FsZXlJbkNlWVVBMjNKeTZZakxkRG5BeDNpdFBjQWEyaWhWUFRFa0h5Y05O?=
 =?utf-8?B?MG1ML0JSa0ZvWXVaUHlHYnB6dDByZVJJbzFtcWREWHI1bTA2ZXNrdVZybjB0?=
 =?utf-8?B?cE5ZZG5UMklKWjg2dkF2ZkJCbjdqN2g5c05FM05MVVZFVlNUaW9KNk9NMzFU?=
 =?utf-8?B?K0lPNGEvcVE5Nlp5UVg0akdQMnVhbk9XRVpWZWY2TFdrYlo2QVRoOGFYc3JQ?=
 =?utf-8?B?OHROVlZzNG85aGEzYzlweXdiYWlvTmpCMHpTOENvSytVSURMU0xMWUFEWnpL?=
 =?utf-8?B?TXVFVzh5NmlpclJBRkp6Vy9LejdrNDdVWVZvRkhFK0Nob3NpRm9FeE5wQ2Iw?=
 =?utf-8?B?NXl5Q3dpU3NOangxa0FaTklKSTlJT01LTUY3ZkRJdjhkeC9FN1AwVktQYmww?=
 =?utf-8?Q?QDActZB9nIy/xrOmQ8ikr5iMe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4aabf589-6861-48e1-2977-08db9438247d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 15:41:45.6011
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zjDZHNC4CAthHUXcIsXeuKkVPU78xmux+8jq8Mk4tBHGxu+hxUyS8YfiqpttXJgMN3FlEc8qMEORnWwCpZ4TSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6897

On 03.08.2023 11:30, Nicola Vetrini wrote:
> On 03/08/2023 11:20, Jan Beulich wrote:
>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>> @@ -1045,6 +1045,7 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const 
>>> gfn_t *gfns, unsigned int count
>>>      }
>>>
>>>      return;
>>> +    ASSERT_UNREACHABLE();
>>>
>>>  out_unmap:
>>>      /*
>>
>> In the description you say "before", but here you add something _after_
>> "return". What's the deal?
> 
> In this case the unreachable part is that after the label (looking at it 
> now, I should have
> put the assert after the label to make it clear), because earlier all 
> jumps to
> 'out_unmap' are like this:
> 
>    ASSERT_UNREACHABLE();
>    domain_crash(d);
>    goto out_unmap;
> 
> As I understood it, this is a defensive coding measure, preventing pages 
> to remain mapped if,
> for some reason the above code actually executes. Am I correct?

The comment there says "probably". So the label and following code might
be used for another error condition as well. Furthermore both paths
presently using "goto out_unmap" already have ASSERT_UNREACHABLE(), so
it's hard to see why we would need yet one more.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:52:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576473.902642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRacb-0004Ft-3h; Thu, 03 Aug 2023 15:52:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576473.902642; Thu, 03 Aug 2023 15:52:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRacb-0004Fm-0Y; Thu, 03 Aug 2023 15:52:17 +0000
Received: by outflank-mailman (input) for mailman id 576473;
 Thu, 03 Aug 2023 15:52: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRacZ-0004Fg-GV
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:52:15 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b509199b-3215-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 17:52:12 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691077926722381.80389769675753;
 Thu, 3 Aug 2023 08:52: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: b509199b-3215-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691077929; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=n5M8sqadDbqBUdBJEiWrFCCVrTZKJh/6Myif8ERn3W12V/7HuN2KZ+Hr/6tLyWeX8yyKiYdQSaRk0JDCXZUibAZMufZDTp+u0aN3IdCMtCKwfBX+GUx+OyYgou74O3HYVn8v0SO75wk23TsPiUy1956MUIHfHSFqfooDrL85C20=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691077929; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=ahXMxxfMvQJXeEM/uNzmE/KllU0VmrymEtqJirpqvIU=; 
	b=HnAcRxYooYPVtptwdjW3QnXfCiNXQcqdZfYgtGASimtW6DmjuNf2hy4oNlvMcZAKBqEHI0zHb6DXh5/EpJapyrzTyTh53s1DN24hqDhJvLkO03ZpX3hWhacUmaDn/cVCXx8QHk2K8g+QjVxD0vcARqwWPUgmyuQi9hG5ovSwQ+w=
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=1691077929;
	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=ahXMxxfMvQJXeEM/uNzmE/KllU0VmrymEtqJirpqvIU=;
	b=LnuvRrGqhRUPrE6rrzwkZe0Q+tnvrQhyyKeYPX6xG6LZjF4xvqRfMWEpPut/MvCY
	Zb5FDnruOHGRZrRRiY4+sU5rihvugfWFDJ2FYsHEvg2MjC5S2Q+GkYYmQ2aF00eIioW
	ZBtsr96QdfYCt6F4hsDKTBbTF2qNYAapONMiFpqs=
Message-ID: <2a651c80-7e44-1ff9-bb63-989605960c72@apertussolutions.com>
Date: Thu, 3 Aug 2023 11:52:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a capability
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Wei Liu <wl@xen.org>, 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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-7-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011802401.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308011802401.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/1/23 21:06, Stefano Stabellini wrote:
> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>> Expresses the ability to attach a debugger as a capability that a domain can be
>> provisioned.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/arch/x86/hvm/svm/svm.c      |  8 ++++----
>>   xen/arch/x86/hvm/vmx/realmode.c |  2 +-
>>   xen/arch/x86/hvm/vmx/vmcs.c     |  2 +-
>>   xen/arch/x86/hvm/vmx/vmx.c      | 10 +++++-----
>>   xen/arch/x86/traps.c            |  6 ++++--
>>   xen/common/domctl.c             |  6 ++++--
>>   xen/include/xen/sched.h         |  9 ++++++---
>>   7 files changed, 25 insertions(+), 18 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
>> index 27170213ae..9872804d39 100644
>> --- a/xen/arch/x86/hvm/svm/svm.c
>> +++ b/xen/arch/x86/hvm/svm/svm.c
>> @@ -999,7 +999,7 @@ static void noreturn cf_check svm_do_resume(void)
>>   {
>>       struct vcpu *v = current;
>>       struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
>> -    bool debug_state = (v->domain->debugger_attached ||
>> +    bool debug_state = (domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) ||
>>                           v->domain->arch.monitor.software_breakpoint_enabled ||
>>                           v->domain->arch.monitor.debug_exception_enabled);
>>       bool_t vcpu_guestmode = 0;
>> @@ -1335,7 +1335,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
>>           }
>>           /* fall through */
>>       case X86_EXC_BP:
>> -        if ( curr->domain->debugger_attached )
>> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>>           {
>>               /* Debug/Int3: Trap to debugger. */
>>               domain_pause_for_debugger();
>> @@ -2732,7 +2732,7 @@ void svm_vmexit_handler(void)
>>   
>>       case VMEXIT_ICEBP:
>>       case VMEXIT_EXCEPTION_DB:
>> -        if ( !v->domain->debugger_attached )
>> +        if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>           {
>>               unsigned int trap_type;
>>   
>> @@ -2769,7 +2769,7 @@ void svm_vmexit_handler(void)
>>           if ( insn_len == 0 )
>>                break;
>>   
>> -        if ( v->domain->debugger_attached )
>> +        if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>           {
>>               /* AMD Vol2, 15.11: INT3, INTO, BOUND intercepts do not update RIP. */
>>               __update_guest_eip(regs, insn_len);
>> diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c
>> index ff44ddcfa6..f761026a9d 100644
>> --- a/xen/arch/x86/hvm/vmx/realmode.c
>> +++ b/xen/arch/x86/hvm/vmx/realmode.c
>> @@ -121,7 +121,7 @@ void vmx_realmode_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt)
>>   
>>       if ( rc == X86EMUL_EXCEPTION )
>>       {
>> -        if ( unlikely(curr->domain->debugger_attached) &&
>> +        if ( unlikely(domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH)) &&
>>                ((hvmemul_ctxt->ctxt.event.vector == X86_EXC_DB) ||
>>                 (hvmemul_ctxt->ctxt.event.vector == X86_EXC_BP)) )
>>           {
>> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
>> index 13719cc923..9474869018 100644
>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>> @@ -1912,7 +1912,7 @@ void cf_check vmx_do_resume(void)
>>           hvm_asid_flush_vcpu(v);
>>       }
>>   
>> -    debug_state = v->domain->debugger_attached
>> +    debug_state = domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH)
>>                     || v->domain->arch.monitor.software_breakpoint_enabled
>>                     || v->domain->arch.monitor.singlestep_enabled;
>>   
>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>> index 7ec44018d4..5069e3cbf3 100644
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -2041,7 +2041,7 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
>>               break;
>>           /* fall through */
>>       case X86_EXC_BP:
>> -        if ( curr->domain->debugger_attached )
>> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>>           {
>>               /* Debug/Int3: Trap to debugger. */
>>               domain_pause_for_debugger();
>> @@ -2121,7 +2121,7 @@ static void cf_check vmx_set_info_guest(struct vcpu *v)
>>        * immediately vmexit and hence make no progress.
>>        */
>>       __vmread(GUEST_INTERRUPTIBILITY_INFO, &intr_shadow);
>> -    if ( v->domain->debugger_attached &&
>> +    if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) &&
>>            (v->arch.user_regs.eflags & X86_EFLAGS_TF) &&
>>            (intr_shadow & VMX_INTR_SHADOW_STI) )
>>       {
>> @@ -4283,7 +4283,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>                   }
>>               }
>>   
>> -            if ( !v->domain->debugger_attached )
>> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>               {
>>                   unsigned long insn_len = 0;
>>                   int rc;
>> @@ -4307,7 +4307,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>               break;
>>           case X86_EXC_BP:
>>               HVMTRACE_1D(TRAP, vector);
>> -            if ( !v->domain->debugger_attached )
>> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>               {
>>                   unsigned long insn_len;
>>                   int rc;
>> @@ -4647,7 +4647,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>                                 HVM_MONITOR_SINGLESTEP_BREAKPOINT,
>>                                 0, 0, 0);
>>   
>> -            if ( v->domain->debugger_attached )
>> +            if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>                   domain_pause_for_debugger();
>>           }
>>   
>> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
>> index 4229bda159..041ced35ea 100644
>> --- a/xen/arch/x86/traps.c
>> +++ b/xen/arch/x86/traps.c
>> @@ -1214,7 +1214,8 @@ void do_int3(struct cpu_user_regs *regs)
>>           return;
>>       }
>>   
>> -    if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
>> +    if ( guest_kernel_mode(curr, regs) &&
>> +         domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>>       {
>>           curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
>>           domain_pause_for_debugger();
>> @@ -1995,7 +1996,8 @@ void do_debug(struct cpu_user_regs *regs)
>>       v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>>       v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
>>   
>> -    if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
>> +    if ( guest_kernel_mode(v, regs) &&
>> +         domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>>       {
>>           domain_pause_for_debugger();
>>           return;
>> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
>> index 505e29c0dc..895ddf0600 100644
>> --- a/xen/common/domctl.c
>> +++ b/xen/common/domctl.c
>> @@ -99,7 +99,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
>>           ((d->is_dying == DOMDYING_dead) ? XEN_DOMINF_dying     : 0) |
>>           (d->is_shut_down                ? XEN_DOMINF_shutdown  : 0) |
>>           (d->controller_pause_count > 0  ? XEN_DOMINF_paused    : 0) |
>> -        (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
>> +        (domain_has_cap(d, CAP_DEBUGGER_ATTACH) ?
>> +                                          XEN_DOMINF_debugged  : 0) |
>>           (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
>>           (is_hvm_domain(d)               ? XEN_DOMINF_hvm_guest : 0) |
>>           d->shutdown_code << XEN_DOMINF_shutdownshift;
>> @@ -643,7 +644,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>           else
>>           {
>>               domain_pause(d);
>> -            d->debugger_attached = !!op->u.setdebugging.enable;
>> +            if ( !!op->u.setdebugging.enable )
>> +                domain_set_cap(d, CAP_DEBUGGER_ATTACH);
>>               domain_unpause(d); /* causes guest to latch new status */
>>           }
>>           break;
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index ebfe65cd73..47eadb5008 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -474,9 +474,8 @@ struct domain
>>       uint8_t          role;
>>   #define CAP_CONSOLE_IO         (1U<<0)
>>   #define CAP_DISABLE_CPU_FAULT  (1U<<1)
>> -    uint8_t          capabilities;
>> -    /* Is this guest being debugged by dom0? */
>> -    bool             debugger_attached;
>> +#define CAP_DEBUGGER_ATTACH    (1U<<2)
>> +    uint16_t         capabilities;
> 
> No need to switch to uint16_t just yet?

I know space is tight in struct domain, wanted to reclaim the freed 
space into capabilities (or roles). One thing I was considering if 
enough space could be found is instead replace it all with a pointer to 
a new struct that held these values. It would allow using heap space and 
future growth of the structure. As of this patch, it is consuming 5 
bytes and would need to find an additional 3 bytes. Is there a 
willingness to entertain such an approach?

>>       /*
>>        * Set to true at the very end of domain creation, when the domain is
>>        * unpaused for the first time by the systemcontroller.
>> @@ -1166,6 +1165,10 @@ static always_inline bool domain_set_cap(
>>           if ( is_pv_domain(d) && is_control_domain(d) )
>>               d->capabilities |= cap;
>>           break;
>> +    case CAP_DEBUGGER_ATTACH:
>> +        if ( !is_control_domain(d) )
>> +            d->capabilities |= cap;
> 
> I take it is not possible to attach it to dom0? I am not familiar with
> XEN_DOMCTL_setdebugging but the hypercall doesn't seem to have such
> restriction.

Good question, on first glance I can't see why I added this. Going to 
walk through it again and see if I can figure out why, otherwise I will 
drop it.

>> +        break;
>>       default:
>>           return false;
>>       }
>> -- 
>> 2.20.1
>>


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:57:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576476.902651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRah7-0004qp-L8; Thu, 03 Aug 2023 15:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576476.902651; Thu, 03 Aug 2023 15:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRah7-0004qi-IO; Thu, 03 Aug 2023 15:56:57 +0000
Received: by outflank-mailman (input) for mailman id 576476;
 Thu, 03 Aug 2023 15:56: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRah6-0004qa-AD
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:56:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe02::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e426eb4-3216-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 17:56:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9140.eurprd04.prod.outlook.com (2603:10a6:102:22f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 15:56:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 15:56: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: 5e426eb4-3216-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hFIbRyhlIZeZmlMX0xhIuNY76qzgsPuI+tRHMT2h9mv1E3GxO1dTGI29iDu5HD5xPxuVPOiXE2wvLvi7E5g0Ho59MS8GDZ77sfTAdqsFHJ81gKHVzu1ONVtsa1dpKwXGyOHYlN1cZqv+RaKfAB4GCqIMK/l0kMxKpGAy0MITNljegwEPjDxEdEJCGq0Xm1Tb4e/teP3eCrYdFEZb6xoOOppu8WCFQGiEAcIrHI8KF8ipVGGDEbh0wsbxPy3HIoWIpoh9fAIAYGr5Bj7Yam35iAo6wcQAZJ8rUR5rd7LMzXa2So88Ly5zGWHLGlH23Nshxq8xSCGLIaQ81gy3bClKLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7z++OH64X4v10TV4JneKLO7NZHCTtV+E1pdVc36zSq4=;
 b=XsUGyBMupMxLxuzL7yZKVlFvkVj1EySOOXWwTGZcrFtNhwpImgqQkaJW/E6g8uPgbXQbdAhPU1wWLT6QzOrrfyjvOuSYPS79sZMARwj37YIXGAb3Wlnu9p7F5IQDOuGQXENSEDLBOk3giqkN4KT6G/b7eLKtsWgGkBlisXbSY4rB1+bFGUmfVaVTpiVIa2o9Bv1GSc3e4roVaHLBAJ+MqJKVpXpoy+LBS1dAuPR57URHeUXfE4bdgxr/xVrFoe4ywr4BKJclqHx2rqdaUkXbBGCGYTLejPlEFh2SQyt59ewOKiuH4UBx5V7di08GdK0UznGwlkFCrhGD+mzhjAZhtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7z++OH64X4v10TV4JneKLO7NZHCTtV+E1pdVc36zSq4=;
 b=2tek5Z/BnkSnu/CLQVA4vXnkvP9eVDkE0H+Rfwd+OK1ZhB1fTO0jUxtrTNBvMCWHqTq/TRL32etJvTVwVRrXGaMwz3I1RWysz+EX0EGIbfY0ElNyGUpvesHETvmJdKg/V0pKdoQO8MpOZt5H8WjZEun3wSEcokbvhXYHH8SkBnLjbeq+ZKlj7qF6uLPtItAtXNAImKN6u7FKL18h2NrgM19GHoZ+SZl0lhWdXbSe5EL5dNZUDq1sd8Wqh1beQZsm3+wtE7GgG4H7BcH0MSbMIrVhjvW6unJ7zfalHVHbGDV3InjX4caRVTa1qskcxNh/oI0FNA3eWNyO4EwGQWTVyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
Date: Thu, 3 Aug 2023 17:56:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9140:EE_
X-MS-Office365-Filtering-Correlation-Id: 60e618fc-b1c4-4b9e-1c3e-08db943a3d18
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lndacWCb6HXCarskpn9KnziVdPBIv1oGHqbx8zdI2K0v2BeGOi8R39LZtc/QoF61UIiSTnQNgQSs2x6aRADjtCYAhiOciUp/Njzj7/vyVFeP6OFS5XtArimPb+T1clBQFkzybH78dmERzLgm9A/AZrbs1JKujM4638pvw7njW4b/ifIgwFpqUGjs2MFuO4CH4KJNWk9wWoIjSePXmBUkjokrvTyMs2BNyvNPRq9B3tgbQsjj/uHWHr9k01cwi6M0fuQgb62WxbMcdkPQTlz4ihN43aLfRaCbky0d0vbfRTFkkmQlX8OSu8ILfZlYqyrfCIX2TxWAAX31LNwJYjGu2JC3evHqNM3qrfYmz3OWTNCDWImYN/HW0DwJ8QjPsG+mpMGJwMH/0M64qYCh/aXuhJm510EPbTqoK5SJ6QENkbyAqlIDvcZzy5OrugDAdBhZ4eiOXce+6MKPXYYZT7z6ObEoZfx3gM1uunrRfQNuIytu8TxCTQ34HGpcybNZmAiiN0jJjNu5gpARmPB51JXEx0DG2gRgsU0KAjXsoJgawsm9H2UhvdyMKBjjmwQBs8zQYTvWPIS4l05V4fkZd+bbIElJzTPteu0WPZlPKJCpKzfVFeZTZTQc/dxnOPqRz4ANaTOs2Uk0Jnx6rL+onDatSw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(136003)(376002)(366004)(39860400002)(451199021)(66556008)(41300700001)(6916009)(316002)(2906002)(66946007)(4326008)(66476007)(8936002)(8676002)(5660300002)(26005)(36756003)(53546011)(186003)(6506007)(86362001)(83380400001)(2616005)(31696002)(38100700002)(478600001)(6512007)(54906003)(6486002)(7416002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVgzdzRVVWE0T0NvQUZibnVxc3VxRmVtazRnSWkyeEwzWUJkTjJyMWpVazA2?=
 =?utf-8?B?bjBMbjd2S0ZnNmpybXg0VitFNU0wUTdNdGdydzF2S3VkTFVyaE5DN2lTU1B0?=
 =?utf-8?B?YXJvT21yYjdPd2wxS2tUbVBmUVI1Rmc0NjVBMWxSL3dmeXRKME50eUVtU2N3?=
 =?utf-8?B?T01yYzNIN1VPOXFFcWM4My95Q2hyZUZNVjg1Y0JXMUJTTGtBNkw0clo1Wm5l?=
 =?utf-8?B?L3dtYnBqVmRKRkpiSmZVdVpnUDAvU2RtWU9GTnJUWjFDVzVxdERza0IwNjlZ?=
 =?utf-8?B?cHZZdURTRGRkanZLd2hOVWZielFPdjZiQW1IOFhVR2UvV0R3aEhNd080N3A0?=
 =?utf-8?B?bmhhVE9PVkpnUFJrVmlETndlak5lakc1MHRBUnhuVGlMN0hHWGZyNm5nMHFT?=
 =?utf-8?B?bUQybGYyQ2ptRGwvQjVlbWtuMkRZQmVGVDQxYUp0ZDJWMXFDMFNZOUNPSDZm?=
 =?utf-8?B?cDh6V0dOTjhnaVRPZFdSajBKT3hmYytTYTlqKzdUMndhUlU2WThlclhwK2Mv?=
 =?utf-8?B?T0ZVRGpvR1ZZRkp1dXF5Wjc0WWpEeVF2K0ZVWnNVWWdpQlJHRHhHdEZIN2Z2?=
 =?utf-8?B?dHZyeHRWZnJLNUFodTJPUGxaNVM5NEtNRkJqemIvZm9LM3RjaW9jYUhNdGZy?=
 =?utf-8?B?aVdCbDFnOHhXT04rSXB5UFRVS3pyaEI1VERwWmNmWVZSK0E3T0NjL05XUFRw?=
 =?utf-8?B?Rk9YZFc5ZFpMZ1ZSLyt2M1I0YW1EdHZYaStBUGZoTFF4aGk1aVYzS0RFMkIr?=
 =?utf-8?B?RGtuUElKTHpCalBhenhnMW9oQ2gzakx1M1VBNk9Nay9PYXA1QTJaOHV3aGZN?=
 =?utf-8?B?OEV0UVhyYmtYWGp6djZCYjhkYng5RTIyMVdEWitpZWhSd0ZzTDVMV0paZ0t1?=
 =?utf-8?B?NDdSVHFMSVZDTzEyelJWZmFJeWM1TVdrV2Y3aG5OdnN1N0srbFhQM082MEVl?=
 =?utf-8?B?WkgyWFNYTC9ZWUVCdkJVdzArNmc4U1lxU3AxK01Ib2REbkZwN0NabkN0MzZr?=
 =?utf-8?B?Y1ZzNzFjL3g2UWNKYWpxQWZzeDBXMG0xVXJTcTZPanFKL3RpZmVBV1JoM0l5?=
 =?utf-8?B?RUs1STRwT05xYzlmaU9ORHdhKzQrTWY4SVFmbXo3NzRNT3Zjbkk1dmZzUHB1?=
 =?utf-8?B?QlpDb1M0VUpnUjlBWFlrbVVFVUE5QUFvd2RsUnk3QXJYSUxFaGsxM2hwSEM5?=
 =?utf-8?B?K200NFVtZWpZaUUvanhiUjZyY0VaZytML1VySlVUUDFzWjdBTmowTE0zM0xS?=
 =?utf-8?B?aXJKTTBpZUxPb1UwaUZKQUhnbVJ3NkQyZkdLQ2IySm5VT0o5NVBzSUs4dGRk?=
 =?utf-8?B?V1VKb2M0NTV6MzBhR3JtQUtqcndEWjAxWnk0Z0RwOURPZnhzZ3JINmVoclBs?=
 =?utf-8?B?bWZweVJ1NzdUd2taZlI1aEJKS0E2WncwV0l6Q1FwcjBoM3N0a1pXdU9zZ0NI?=
 =?utf-8?B?SVIxdW5PUUxhMkxJa3FPYnJ4cXlvdTdJSnRjTlVKQWVLVThaM25md0RCQnZx?=
 =?utf-8?B?cUgzM2JxaWFpZS94RVQ0eWpJZ2QrZEU1NTc3MnQ1NFdWMnU2Yk55VSt3S3lX?=
 =?utf-8?B?cnhSdDh1NU13enNRS3hjdXFtK05MT3NtLzFFN3k5OEtmVndsTEhWV2d1Nm5h?=
 =?utf-8?B?OWR6UDlVcEx6S0IzbmVrQ0hqL3h1Y1V5VTFwL2dkbnNrU0pEWDJzdmRMb2ov?=
 =?utf-8?B?dXc3d0l4SGc4R3NlbGJCanpnYitvbXhseEs1SENjYmRqOWQ1TTVPYUhGRDhE?=
 =?utf-8?B?M3lCVUVGR2lzYTFDbTdMNTNwcXhUYy9xemlkNS81bTd0azFFQ0k3WUtHNEhT?=
 =?utf-8?B?eWZ6ZjllSUpaRzlmVFkvcXJyQ2VjcjlyeUhHdUhUaWtMNm5mMGdnandIRkRy?=
 =?utf-8?B?UWp2UnJ4TitBekJhYWFiY3V2dSsrMzZ5b25wbGl1bktmKzR1WEd6WE0yMjVO?=
 =?utf-8?B?UHV2cG84NlFxaFlPcXBDMGEyb3VreHZzdTlqMm5Ba3NEcFNuSkVscVhtRnY1?=
 =?utf-8?B?bUV4UFBGRlR3VmxDVW53NkdoNHVzSlorMmpFTSs4R0tKSWRQYkMwTENzeEtZ?=
 =?utf-8?B?UHl0Q3lqNkxUYzZKZDF6elQ2cE9ad2NaUEhXdHgrOEFwSHBvWmpLVVpDc3BO?=
 =?utf-8?Q?5z/a/QSSs7rl7wdce62K/lPy2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60e618fc-b1c4-4b9e-1c3e-08db943a3d18
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 15:56:45.8037
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z5XYevfJ3S0aw/Y9JU8HVw/ATcAD/qIHbiOkKf9MRwaBdB8oKV67TKTAvsOHPj0Dir/iRhSYuCbZ+xmwbp6t4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9140

On 03.08.2023 14:56, Daniel P. Smith wrote:
> On 8/2/23 07:01, Jan Beulich wrote:
>> On 01.08.2023 18:06, Daniel P. Smith wrote:
>>> +        if ( hardware_domain )
>>> +        {
>>> +            console_rx = hardware_domain->domain_id + 1;
>>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>
>> Here and elsewhere - why %d when original code properly used %u? I also
>> think there are now quite a few too many of these all identical
>> printk()s.
> 
> Good question, I did not write the line, it was copy/paste from 
> elsewhere in the file and then continued to replicate from there.

There's exactly one such line right now, using DOM%u. If I'm not
mistaken, it's not all that long ago that this was changed, so I
would suspect an incomplete rebase.

>>> +            goto out; //print switch_code statement & newline
>>
>> Leftover development comment? (There's at least one more.)
> 
> Yes and no, the comment came from elsewhere in the file

Did it?

> and early in 
> development it I place it here to later decide if it should stay (and 
> get converted into a compliant comment). I will drop it in the next 
> iteration.

Thanks.

>>> +        }
>>> +        else
>>
>> Please avoid "else" after an if() that ends in "return", "goto", or
>> alike.
> 
> Really? How would you propose handling common finalization when
> completion happens during the execution of two branches of the logical 
> purpose of the function? Do you want to see two separate if statements 
> of `if ( condition A )` and `if ( ! condition A )`?

What would you need the 2nd if() for when the first one ends in "return",
"goto", or alike?

>>> +        {
>>> +            for_each_domain(next)
>>
>> What guarantees that the list won't change behind your back? You don't
>> hold domlist_read_lock here afaict. It might be that you're safe because
>> that lock is an RCU one and this function is only invoked at init time
>> or from some form of interrupt handler. But that's far from obvious and
>> will hence need both properly confirming and stating in a comment. (It
>> is actually this concern, iirc, which so far had us avoid iterating the
>> domain list here.)
> 
> It is better to error on the side of caution instead of assuming this 
> will always be invoked in a safe manner. I will add a read lock for the 
> domain list.

I'm not firm enough in RCU to be certain whether acquiring that lock is
permissible here.

>>> +            {
>>> +                if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>> +                {
>>> +                    console_rx = next->domain_id + 1;
>>> +                    printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>> +                    goto out; //print switch_code statement & newline
>>> +                }
>>> +            }
>>>   
>>> -        if ( next_rx++ >= max_console_rx )
>>> +            console_rx = 0;
>>> +            printk("*** Serial input to Xen");
>>> +            goto out;
>>> +        }
>>> +    }
>>> +
>>> +    for ( next = rcu_dereference(d->next_in_list); next != NULL;
>>> +          next = rcu_dereference(next->next_in_list) )
>>
>> This looks like an open-coded continuation of for_each_domain() - I'm
>> afraid I'm wary of introducing anything like this.
> 
> Not exactly, for_each_domain() always starts with beginning of the 
> domain list and walks from that point forward.

Right, hence my use of the word "continuation".

> This open coded version 
> stats at domain d and walks from there to the end of the list. Which is 
> why there is logic below, which uses for_each_domain(), to walk from the 
> beginning of the list until the next domain with console_io or the 
> hardware domain, whichever occurs first.
> 
> What I did not want to do is potentially waste a lot of cycles doing 
> for_each_domain() with a continue until it reached the current domain 
> and then start checking for the privilege.
> 
> I could take this and introduce a new macro, for_each_domain_from (or a 
> better name if there are suggestions) and use it here.

That's effectively what I would like to be done, yes.

>>> +    {
>>> +        if ( hardware_domain && next == hardware_domain )
>>>           {
>>>               console_rx = 0;
>>>               printk("*** Serial input to Xen");
>>> -            break;
>>> +            goto out;
>>
>> Since you use "goto" anyway, this wants introducing a 2nd label (maybe
>> "xen"?) ahead of the identical code you add further down (immediately
>> ahead of the "out" label), to avoid code duplication.
> 
> Ack.
> 
>>>           }
>>>   
>>> -        d = rcu_lock_domain_by_id(next_rx - 1);
>>> -        if ( d )
>>> +        if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>>           {
>>> -            rcu_unlock_domain(d);
>>> -            console_rx = next_rx;
>>> -            printk("*** Serial input to DOM%u", next_rx - 1);
>>> -            break;
>>> +            console_rx = next->domain_id + 1;
>>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>> +            goto out;
>>> +        }
>>> +    }
>>> +
>>> +    /*
>>> +     * Hit the end of the domain list and instead of assuming that the
>>> +     * hardware domain is the first in the list, get the first domain
>>> +     * in the domain list and then if it is not the hardware domain or
>>> +     * does not have console privilege, iterate the list until we find
>>> +     * the hardware domain or a domain with console privilege.
>>> +     */
>>> +    if ( next == NULL )
>>> +    {
>>> +        for_each_domain(next)
>>> +        {
>>> +            if ( hardware_domain && next == hardware_domain )
>>> +            {
>>> +                console_rx = 0;
>>> +                printk("*** Serial input to Xen");
>>> +                goto out;
>>> +            }
>>> +
>>> +            if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>> +            {
>>> +                console_rx = next->domain_id + 1;
>>> +                printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>> +                goto out;
>>> +            }
>>>           }
>>>       }
>>>   
>>> +    /*
>>> +     * If we got here, could not find a domain with console io privilege.
>>> +     * Default to Xen.
>>> +     */
>>
>> "Default to" is a little odd when there are no other options.
> 
> Fallback to?

Yes.

>>> @@ -538,31 +594,37 @@ static void __serial_rx(char c, struct cpu_user_regs *regs)
>>>            * getting stuck.
>>>            */
>>>           send_global_virq(VIRQ_CONSOLE);
>>> -        break;
>>> -
>>> -#ifdef CONFIG_SBSA_VUART_CONSOLE
>>> -    default:
>>> +    }
>>> +    else
>>>       {
>>> -        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
>>> +        struct domain *d = rcu_lock_domain_by_any_id(CON_RX_DOMID);
>>>   
>>> +        if ( d == NULL )
>>> +            goto unlock_out;
>>> +
>>> +#ifdef CONFIG_SBSA_VUART_CONSOLE
>>>           /*
>>>            * If we have a properly initialized vpl011 console for the
>>>            * domain, without a full PV ring to Dom0 (in that case input
>>>            * comes from the PV ring), then send the character to it.
>>>            */
>>> -        if ( d != NULL &&
>>> -             !d->arch.vpl011.backend_in_domain &&
>>> +        if ( !d->arch.vpl011.backend_in_domain &&
>>>                d->arch.vpl011.backend.xen != NULL )
>>> +        {
>>>               vpl011_rx_char_xen(d, c);
>>> -        else
>>> -            printk("Cannot send chars to Dom%d: no UART available\n",
>>> -                   console_rx - 1);
>>> +            goto unlock_out;
>>> +        }
>>> +#endif
>>> +
>>> +        if ( (serial_rx_prod - serial_rx_cons) != SERIAL_RX_SIZE )
>>> +            serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;
>>
>> This is Dom0's buffer; I don't think sharing with DomU-s is correct.
> 
> I would disagree, it is the hypervisor's buffer that it decides to share 
> with domains it trust. It just so happens that it always trusts the 
> hardware domain. This is why I explicitly changed this to the XSM call, 
> to express that when the system manager, by enabling this privilege on 
> the domain, has decided to trust these domains to have access to the 
> hypervisor's buffer.

I don't think such trust can be assumed to allow the domains to see e.g.
each others root passwords.

>>> @@ -717,6 +779,8 @@ long do_console_io(
>>>           rc = -E2BIG;
>>>           if ( count > INT_MAX )
>>>               break;
>>> +        if ( CON_RX_DOMID != current->domain->domain_id )
>>> +            return 0;
>>>   
>>>           rc = 0;
>>>           while ( (serial_rx_cons != serial_rx_prod) && (rc < count) )
>>
>> ... assume that by the time this hypercall is invoked input focus
>> hasn't switched. I think there's no way around a per-domain input
>> buffer, which of course would need setting up only for console-io-
>> capable domains.
> 
> Let's explore the exact concern here, the scenarios as far as I can see 
> it is as follows.
> 
> A person at the serial/console types keys for the current console domain 
> (domA), then enters the console switch sequence, switching to another 
> domain (domB). DomA's CONSOLEIO_read hypercall arrives after the switch 
> and thus is not sent the rx buffer contents. Then domB's CONSOLEIO_read 
> arrives and then because `serial_rx_cons` and `serial_rx_prod` are not 
> the same, domB is sent the bytes that were intended for domA.
> 
> While a per domain console_io buffer would address this issue, I believe 
> there is a simpler solution that can be extended depending on whether it 
> is acceptable for the undelivered bytes to be dropped or not.
> 
> Simply upon switching, if serial_rx_cons and serial_rx_prod are set the 
> same, then no bytes will be leaked to domB from domA above. An extra 
> precaution could be taken to zero the serial_rx buffer. If guaranteed 
> delivery is desired, a list of buffer remnants could be drained on 
> hypercall and console switching.
> 
> IMHO I believe the reality is while there is potential that the scenario 
> could happen, the probability is low. Doing a per domain buffer will 
> always incur the resource overhead even if the event never happens, 
> while the above approach would only incur the resource overhead when the 
> situation occurs.

Which, afaict, would then result in stuff typed in for one domain being
discarded, without there being any indication how much of it was discarded
(and hence would need typing again).

I don't share the resource concern: If an admin wants multiple domains
to take input this way, they can't assume this comes at no price at all.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:58:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576481.902662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaig-0005Sh-3O; Thu, 03 Aug 2023 15:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576481.902662; Thu, 03 Aug 2023 15:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaig-0005SY-0E; Thu, 03 Aug 2023 15:58:34 +0000
Received: by outflank-mailman (input) for mailman id 576481;
 Thu, 03 Aug 2023 15:58:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRaie-0005SO-KE
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:58:32 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96b613cb-3216-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 17:58:31 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691078305145440.71844765958383;
 Thu, 3 Aug 2023 08: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: 96b613cb-3216-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691078307; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=jBTmvow01AHF+vVYEiaumQ4VBM7Xqg3GDhID528w12gJ/KImu2W8xCUcvcGHuM7XrRGxK0/pKVWbEuUG8FjEg+p9S7XIE/64fipd/2OLTfoeZSd6mswvoXWnHCldAo+1OS13SHjNfUpIKvmvEnWi6d4jRzcmexTZlOBty9CIzoU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691078307; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=f/NEKVxmYeOoBO1Aj3ft9iK1B2vxUt4/FmnzD0CucWk=; 
	b=FnpYAiTM2H69prk5J7Qp+1+GH/SOlN4vvH1ZwI/xIJj0UHtJEL/Lx2xxQmZaq6Sll+aDoODiBzeVO18Y8nGQmtXnIRpxPUeXf4PEpBqHKOhTSzDxqhqQe/Qf8IKRrWDvDlxWm8cbujEkFrk+BjjrMdtlejy9nwO8sN1zLk2ZKQQ=
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=1691078307;
	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=f/NEKVxmYeOoBO1Aj3ft9iK1B2vxUt4/FmnzD0CucWk=;
	b=PwmSrlffQ2ISBk11TIAGxzyFxF4l3FagMe/GhcK80t5A0vaD50WU2u5VFZ0l9ZT7
	76o6aToz6Bw9+nSfg6udiOcXVvTT53g1jDF33KZsvEhWwWsIYZhaKKoVT9y0/EKMZ8Z
	XvToCVLrd5EQphqaeyf8mdO+YdSeqxsD9oQPU6tM=
Message-ID: <d1538191-12e7-0c60-787d-b85bceb6d938@apertussolutions.com>
Date: Thu, 3 Aug 2023 11:58:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 1/6] dom0: replace explict zero checks
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-2-dpsmith@apertussolutions.com>
 <fa9799bf-1a74-48a8-f4f4-3d2c563f0b13@suse.com>
 <97319344-02d2-4fa4-9325-fbcd74364bdf@apertussolutions.com>
 <da257167-683f-4a2b-a14e-b55ae208bd7e@xen.org>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <da257167-683f-4a2b-a14e-b55ae208bd7e@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/3/23 09:36, Julien Grall wrote:
> Hi Daniel,

Hey Julien,

> On 03/08/2023 14:33, Daniel P. Smith wrote:
>> On 8/2/23 03:46, Jan Beulich wrote:
>>> On 01.08.2023 22:20, Daniel P. Smith wrote:
>>>> A legacy concept is that the initial domain will have a domain id of 
>>>> zero. As a
>>>> result there are places where a check that a domain is the inital 
>>>> domain is
>>>> determined by an explicit check that the domid is zero.
>>>
>>> It might help if you at least outlined here why/how this is going to
>>> change.
>>
>> Okay, I will try expanding on this further.
>>
>>>> --- a/xen/include/xen/sched.h
>>>> +++ b/xen/include/xen/sched.h
>>>> @@ -1058,6 +1058,13 @@ void scheduler_disable(void);
>>>> Â  void watchdog_domain_init(struct domain *d);
>>>> Â  void watchdog_domain_destroy(struct domain *d);
>>>> +static always_inline bool is_initial_domain(const struct domain *d)
>>>> +{
>>>> +Â Â Â  static int init_domain_id = 0;
>>>
>>> This may then also help with the question on why you use a static
>>> variable here. (In any event the type of this variable wants to
>>> be correct; plain int isn't appropriate ...
>>
>> Ah, so this is a dated patch that I brought because of the abstraction 
>> it made. The intent in the original series for making it static was in 
>> preparation to handle the shim case where init_domid() would have 
>> return a non-zero value.
>>
>> So the static can be dropped and changed to domid_t.
> 
> Looking at one of the follow-up patch, I see:
> 
>  Â static always_inline bool is_initial_domain(const struct domain *d)
>  Â {
> -Â Â Â  static int init_domain_id = 0;
> -
> -Â Â Â  return d->domain_id == init_domain_id;
> +Â Â Â  return d->role & ROLE_UNBOUNDED_DOMAIN;
>  Â }
> 
> So is there any point to have the local variable? IOW, can't this simply 
> be "d->domain_id == 0"?

Nope, you are right. All need for it drops with the static gone.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 15:59:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 15:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576483.902672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRajQ-0005yT-BS; Thu, 03 Aug 2023 15:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576483.902672; Thu, 03 Aug 2023 15: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 1qRajQ-0005yM-8o; Thu, 03 Aug 2023 15:59:20 +0000
Received: by outflank-mailman (input) for mailman id 576483;
 Thu, 03 Aug 2023 15:59: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=VY8U=DU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRajO-0005yA-Tm
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 15:59:18 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe02::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b37741ad-3216-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 17:59:18 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9140.eurprd04.prod.outlook.com (2603:10a6:102:22f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 15:59:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 15:59:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b37741ad-3216-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VmgmtKrxcuRr/PnScp+m7TsSiaCCjl7U/jIbx2ZwtN7svkQQK0Whs0KPJ88VZMbfKo/YKTzVQ349epPBbKXX45FdaQaqvqgCZdTek7vuBOPSx1ms/2EkxbZhr3Ju/mvksn9nKQrSMmK02sCpNffETfZYgdy7WIGoPondbLOcgCu6JXD14Kg4CDXdkI2oSpk62Br3s3yoXCwQZw0quWwHQAwKorVPfmrk6X4aH/knYhgdb8tkBCBDM9xkcKHZObVGVb+ISOiyKqdwAGWb599Waezs0oz5Bv+UFaQ7A+6J8PfALo2BOzuLyYAbd074PnGPH9foJKsfS6KAhBV5w9WqZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6SrfcUFGcRPjielCLtr1T77oANmGnKGvI417IekLEVQ=;
 b=LuGGLSxbz9XdIO4zE6JRKCiCWekL2BYNpjhzJ8Fw3+RLBI6hjlewFuHE8ChN5Ty51FC81nDDZszz8XtB67CjieqT5/hEXOcyToUOCSeOTBE6cYDx4TKz944zaLbY3E/uzhlRGKb+hvm7knljluDkao+kcFLrHMHIiZdYWgTAD/bGMjuQ8mCS0AT7ofYDmOGYExvGUP6s7xl/4ZrS6IkzqE/cNX5prxcmnCQVTZA71GEg27BeBWyM7Jum9KTj4IFrElwrAEcdVLFSR+i1eIyTWMY15qMGtaiaF7StCpuP4lDLAjlmB00stF59JowLTCnbPGt0w6yYz6HB+QFGRxyO0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6SrfcUFGcRPjielCLtr1T77oANmGnKGvI417IekLEVQ=;
 b=EQDJ4J4SadG6QYJsOPHfY3tTTyfMmlTvWZ1VXXAM6rgfSXTbv9iIRYfG9A01sb6FHXNMLNNndrWcrW4avoEt6i7TrEYE6FwO6rd2VvZVdwtLVeGE8kDl8Vl+y1+/V7HzEsmLU9elT6iru1IN9ngFwQBTHRftXJe/WI8+XtjV1fy+Bj3Mh/T/zsnzSZuf/o3nnPIRo4mz8g++eU6yIJyrut9/Wahb3EyEqlnftcjGm59uA+n2cHk8UwHGCqGQSQ4DFCaPJ4e/hgzObNCNKH/8lKc8A9GEMgCL860Hak2prbA1oeoscExrcGhvt6ww4A8zL89w/d2aeEMO6JECyeJpkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb622e00-09c2-df09-1127-63feb63eb961@suse.com>
Date: Thu, 3 Aug 2023 17:59:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a capability
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org,
 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>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-7-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011802401.2127516@ubuntu-linux-20-04-desktop>
 <2a651c80-7e44-1ff9-bb63-989605960c72@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2a651c80-7e44-1ff9-bb63-989605960c72@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9140:EE_
X-MS-Office365-Filtering-Correlation-Id: 51596be4-8036-462c-646a-08db943a9725
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KsEHdBs6PAAsymZDnyLU7J3Y/oXt1Hdg/fYX8n2CkugvJUagGJxALfi8/dHJxE8rCfkbOaIxA3dhyPRqrQ1+z0xDnuQedsJO7Gh6b5F/SG9nJ0MYuyoVNaNNAcF6RwE00HdahfVGrqUy4HKvQcy0NaDZcUICYuOqDwm0C4y6BVAlCeY6QWYhO9p0ZF+Zl7xYLe+t76ATRGXbtJBDqK8K3chOVulemNXC+BE1p8NpdN6x3QztA27zvmZ6hl1p61PDazO+qWro9Q1/DPZOBjJzXvlQ5K6cs3zpvQVmM4BHxzK3OQC04IH0l2X96y26UDymV7kydpAyccYp+iQIQ2px6c16HaKTVFIYAevJ4IIv2R2wLk+zA0jPNAYWecU773yyCIGUlTkwwMF0G+gu2ju96ESBrYHMBtj092UfI5N+e4wQN9cpdM0xlOj7zRPNHcZyarjE3kTBHTu28858oToifZhlhiJou0At+7AGVbygyPX+xlVaA7YA4j7xG0Eg9u+EscZBx4+hSbGSvfDc/0GKaOAOLqi75/UQxODeSZ6JQmxJIYLk+k85J5vjTs+53rbS35c9xQbFDaEmQrhQcWsjOmDs9OZ73eMgeoB40ADUSbONfuU3d485sMGhbF1q8TXRhgNJs0NFEk4TGYhn10Tbuw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(136003)(376002)(366004)(39860400002)(451199021)(66556008)(41300700001)(6916009)(316002)(2906002)(66946007)(4326008)(66476007)(8936002)(8676002)(5660300002)(26005)(36756003)(53546011)(186003)(6506007)(86362001)(2616005)(31696002)(38100700002)(478600001)(6512007)(54906003)(6486002)(7416002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WitkaGJXcUxCbjhlODMxdGg3Sm5XQ2djNXNJRUFTLzFWYWxmVk1zdDRMd1ZO?=
 =?utf-8?B?L3RmVXZZZkszMHhFSUgxN2JXTFdGTHlCdkc4eVdRRjZIOHhhU3p5NHJGWVpw?=
 =?utf-8?B?Z0lxQzI4V0NqUHVKendHWTNNVi9kM01DZmV3ZDg5VituZEVuK0ZUbnZucS9v?=
 =?utf-8?B?OFdXQ2RzTlZiM08ybmtScXNMRCt0QStlNzlkVEU2aXNNZ3ppK2hEMzNrb2JP?=
 =?utf-8?B?R0Y0K0VlODJrQUl3MlZmZnVQc0pRUWJad1dWOVJkR203M2RURStnczJMRmVN?=
 =?utf-8?B?WS9VamdLL0RHcTZmQm8xUXIwM29tV3cyWUVFTEN1ckMwQ1ZKdnRYL055VTh5?=
 =?utf-8?B?RmhRNXhsQVkwY05TZnBqS3hsNHl0RUFiNHJEVk5NZ2NaVnRoRm8xL215SlpO?=
 =?utf-8?B?Q1NXVEJ6RmhHVWQrREt3eVdqTXR0aVFSQUVad25kaVpwSG92WWZqcmhIRDdV?=
 =?utf-8?B?anF5Q2oybFBJcURwTnFpSE9aYmJUbmkwRFlPSjVxWmtHblEzMDlLQkZ6cm1l?=
 =?utf-8?B?aU9meFI3MmtReko0VE9xWC8xWHg0WHhjcDNCei9iQTNPdldzd01zTlJJTVhU?=
 =?utf-8?B?NDZZSUNzcEdGQ3FhVmlZdUxVVXhYcHhCbDVWTzVUVHpFMEJpM1BGS0pMSHNi?=
 =?utf-8?B?Y3pUQkdSMUhhZS96N05mbUJxWXcyNXdJRWJvSlpTZFJnSXRwaVBCaUExeU13?=
 =?utf-8?B?elNydWl3YjVjazZjNVhuOFZRQWNyU0xXUGJlVXUrRThrYnlyVlVIcDd4VmJl?=
 =?utf-8?B?cHFuaU5qSnN4Q01PR0FzVW5aTjhRZFgwUVVVYi9VZWhDa3Zwa3JPK1JBQ21x?=
 =?utf-8?B?MFRRTElLb2s3ME13OWFhZkQ5aXZnaVVwWEN2WVM5ZXpoNHNpZ0o4eHQyRnRF?=
 =?utf-8?B?TWM5Q2lxUVdEdTdHaXNUbmxFdnltaWVWODZvQXRYRXFwVk1EZ2pFMjZTZEtx?=
 =?utf-8?B?ZnNVWS9MTndRYkRhOVRhVDJHUWxLNFBQWDJLQzl3cFJNYmFLeU5wS0d6eWk5?=
 =?utf-8?B?Rlp3R3FMSngyZFNGSWlpdmc2Y0E3WlM5WVM5ZW9QcnlIQ3FrcFJiYTFaZkVo?=
 =?utf-8?B?bk1zK0RsUEp0V0I5c0N5emsvdVQxWDQ3dmUrUkVtUU05NFMweEZOa0tzRFA4?=
 =?utf-8?B?RUh6ckxFUDlubCtSWVZDRy9FWG96NUV0K3A0VGdwTmhBVUZvamQ0MjVxOTRJ?=
 =?utf-8?B?bkpyQytFcVg1WTN6U2QvdWI4cStBeWxrSENZeGRIbW43R2VNMFB2UDVabklF?=
 =?utf-8?B?VDVUZnhmelZWaWtUL3lUSXo0MWtUdzd6RE1CV3BNMUFWZElnYkJvU2RGV0Fl?=
 =?utf-8?B?cnpNeGJSYVV6d1F3UGtQMm5qMkFVcTlJL2o4UHRPNWVVWURLQWIrQ2hNNFda?=
 =?utf-8?B?emNSNC8wQ2QrZHR0cXZCUGd6c2FJeXNuVUprZkVKM1ZSNWVRUjM1OGx3UjNQ?=
 =?utf-8?B?cnA1UmdHVkg2MW5DbnUyTlU5QjFVL2t3dUlCWFZ6clp4Y0lBZFJGUlZ0bkl0?=
 =?utf-8?B?NFRlU3lzTDFHL1ROVGJqQlNxRnZHeitzYkJHQ1pDaVViLzNia3Mxc1hvQ0pF?=
 =?utf-8?B?aHJETnR0bzQxSGVPeGJqbFBxdzhnTlVhUjlaUW5TSG5lYWIzbzQwQjVvNWJN?=
 =?utf-8?B?RlRTbEVHS0FENU9CdE5wd2dubkhOQzVwek04UFRpZXcvS1ZuM215WWJQdUZn?=
 =?utf-8?B?eWZlS2puWE9NR3Z5RDBTaW1yWGp4VDRZUWtIM0Q5RDZsSDhvZFVZQmowa0NW?=
 =?utf-8?B?V2g2ek5CRUswVnBJcDNwL3JlTXBnVkhtT0dveWZTeGZzL2gwTm1HZUdaeEkx?=
 =?utf-8?B?YTdjZVBJZ2dPeVNjUzRoV01PTVdvMm55MGZ3Z2dSUFJZMklDUUlBOUhobzkv?=
 =?utf-8?B?S1gzNnhZNmNJVGoxMVZreTRCWXh4SHdFQW1IQWV1SHh5Mnp2ajhrNDNLcHB1?=
 =?utf-8?B?TFNyRzJNY0x3MVU3T1ZWWkVrTksxWk1ManBZTU85ZlpCM2phZkdKMDhRK0hV?=
 =?utf-8?B?dWJZYWl6em9HZXM4RFRBclRVN3drV24yWFVmdUVrQ2xoZVlIdzJqNGxLUE5s?=
 =?utf-8?B?VS91cFRxcFRnaUV4MlF0SFkxOUFpQkQzWkNpdVQya0VBenloNzAySlBFeVYw?=
 =?utf-8?Q?ZwB8LSbPohJyxmmdsDOVq+B3a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51596be4-8036-462c-646a-08db943a9725
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 15:59:16.8796
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DNM8bU1PJuyXST94Ln/u4wtJUu5hmkg873Z2lwaxRfEBIHPjyXgR4X0SXtiAujEFVVXBlss86gOVl2Y39+GhOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9140

On 03.08.2023 17:52, Daniel P. Smith wrote:
> On 8/1/23 21:06, Stefano Stabellini wrote:
>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -474,9 +474,8 @@ struct domain
>>>       uint8_t          role;
>>>   #define CAP_CONSOLE_IO         (1U<<0)
>>>   #define CAP_DISABLE_CPU_FAULT  (1U<<1)
>>> -    uint8_t          capabilities;
>>> -    /* Is this guest being debugged by dom0? */
>>> -    bool             debugger_attached;
>>> +#define CAP_DEBUGGER_ATTACH    (1U<<2)
>>> +    uint16_t         capabilities;
>>
>> No need to switch to uint16_t just yet?
> 
> I know space is tight in struct domain, wanted to reclaim the freed 
> space into capabilities (or roles). One thing I was considering if 
> enough space could be found is instead replace it all with a pointer to 
> a new struct that held these values. It would allow using heap space and 
> future growth of the structure. As of this patch, it is consuming 5 
> bytes and would need to find an additional 3 bytes. Is there a 
> willingness to entertain such an approach?

Usually we do such conversion when data belonging to a subsystem (for lack
of a better term) grows big enough, not right away when eventual data size
isn't even known yet.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:04:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576490.902681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRanq-00082J-UT; Thu, 03 Aug 2023 16:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576490.902681; Thu, 03 Aug 2023 16:03:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRanq-00082C-RO; Thu, 03 Aug 2023 16:03:54 +0000
Received: by outflank-mailman (input) for mailman id 576490;
 Thu, 03 Aug 2023 16:03:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRanp-000826-24
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:03:53 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5556c0d9-3217-11ee-b268-6b7b168915f2;
 Thu, 03 Aug 2023 18:03:50 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691078625504929.2837018516593;
 Thu, 3 Aug 2023 09:03: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: 5556c0d9-3217-11ee-b268-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691078626; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DS13iNruZ74gob5JuEF9R9LJzhD6wYpKT7t2OgFNe/pQd3Yqr/3uXzF8//twWhKnAhKUVFMT0HGz+Rr9sGrszOeUqrkBh2Rr4pwRxcbcwALjkkyQ3D9aPuqzBkjA+FHD3jdXn/9WCUYY30pTN+DENQeY7rJtF4ro5zhfoesk0A8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691078626; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=ae4dbcHbi3OyPMm8c1f1Dt7aSpjgiQa8dQIIotDjUCc=; 
	b=kXK7aLvPRaxySO3cqlzk9ZwN6iU0phOaeJvVQUcW+waoSLl4h30NCYmKQoLyzRvPRnkBmzDzdJ0SMnvv9qmFayc0H6JmJ3dFOJfatYgnO05tu5YsCTisoe3b7VLVnmPWBFrmgTJ+Cb/MsGIvAGm/7hnGEchrCAN4rChMTMGi97s=
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=1691078626;
	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=ae4dbcHbi3OyPMm8c1f1Dt7aSpjgiQa8dQIIotDjUCc=;
	b=ZtptUgi1q5WO92dmAXdxKKYfXz4cLKardfsCQUNLCGFNO/ZKUQs5G1EK3JnXo35C
	eAh19Q5oxun/tJ/YHxdBG/rZdm0gWLAsUI/1e3GtNQW8FQHmSoAKwkrQtMpwO9bNpMp
	4m8zESqhg/U32M099eB9mWA78rxiQYVSpV23VmgE=
Message-ID: <aa574d08-bd31-0a0c-e2ae-15e184f2eb24@apertussolutions.com>
Date: Thu, 3 Aug 2023 12:03:42 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a capability
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org,
 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>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-7-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011802401.2127516@ubuntu-linux-20-04-desktop>
 <2a651c80-7e44-1ff9-bb63-989605960c72@apertussolutions.com>
 <eb622e00-09c2-df09-1127-63feb63eb961@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <eb622e00-09c2-df09-1127-63feb63eb961@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 11:59, Jan Beulich wrote:
> On 03.08.2023 17:52, Daniel P. Smith wrote:
>> On 8/1/23 21:06, Stefano Stabellini wrote:
>>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>>> --- a/xen/include/xen/sched.h
>>>> +++ b/xen/include/xen/sched.h
>>>> @@ -474,9 +474,8 @@ struct domain
>>>>        uint8_t          role;
>>>>    #define CAP_CONSOLE_IO         (1U<<0)
>>>>    #define CAP_DISABLE_CPU_FAULT  (1U<<1)
>>>> -    uint8_t          capabilities;
>>>> -    /* Is this guest being debugged by dom0? */
>>>> -    bool             debugger_attached;
>>>> +#define CAP_DEBUGGER_ATTACH    (1U<<2)
>>>> +    uint16_t         capabilities;
>>>
>>> No need to switch to uint16_t just yet?
>>
>> I know space is tight in struct domain, wanted to reclaim the freed
>> space into capabilities (or roles). One thing I was considering if
>> enough space could be found is instead replace it all with a pointer to
>> a new struct that held these values. It would allow using heap space and
>> future growth of the structure. As of this patch, it is consuming 5
>> bytes and would need to find an additional 3 bytes. Is there a
>> willingness to entertain such an approach?
> 
> Usually we do such conversion when data belonging to a subsystem (for lack
> of a better term) grows big enough, not right away when eventual data size
> isn't even known yet.

Right and if there is a desire to instead follow the suggestion in my 
reply to Stefano on patch 4, that approach could be sizeable. Larger 
than 40 bits/flags, that I am less confident about.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:13:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:13:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576494.902691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRaxG-00017S-Od; Thu, 03 Aug 2023 16:13:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576494.902691; Thu, 03 Aug 2023 16:13: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 1qRaxG-00017L-M9; Thu, 03 Aug 2023 16:13:38 +0000
Received: by outflank-mailman (input) for mailman id 576494;
 Thu, 03 Aug 2023 16:13: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=1bzA=DU=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRaxE-00017F-VQ
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:13:36 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b14c09b2-3218-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 18:13:34 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 373GDIOM012990
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 3 Aug 2023 12:13:24 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 373GDINx012989;
 Thu, 3 Aug 2023 09:13:18 -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: b14c09b2-3218-11ee-8613-37d641c3527e
Date: Thu, 3 Aug 2023 09:13:18 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
        Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Message-ID: <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Aug 03, 2023 at 10:35:53AM +0200, Jan Beulich wrote:
> 
> Some of the patches looks to have been posted previously as a 7-patch
> series. It would have been nice if therefore this one was marked as
> v2, indicating in a revision log what the differences are. It appears
> as if at least one out of those 7 earlier patches was dropped (or
> maybe assimilated into another one).

Indeed.  Problem is several tags could potentially have been used.
Should I have used all of them simultaneously?  Should I have used only
some of them?  Which subset?

Several were mildly adjusted, so it could have been marked "v2".

No one responded at all to the previous round, so this could have been
marked "RESEND".

Yet the refinements and general changes are large enough for the series
to be pretty distinct.

I didn't know which way to go, so with no idea which option to choose the
last one ended up winning out.  Perhaps that was wrong yet I've still no
feedback on the actual patches.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:31:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576499.902702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbEp-0003bL-8p; Thu, 03 Aug 2023 16:31:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576499.902702; Thu, 03 Aug 2023 16:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbEp-0003bE-5S; Thu, 03 Aug 2023 16:31:47 +0000
Received: by outflank-mailman (input) for mailman id 576499;
 Thu, 03 Aug 2023 16:31:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRbEo-0003b8-FD
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:31:46 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a45c96f-321b-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 18:31:43 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691080286751321.3099317106778;
 Thu, 3 Aug 2023 09:31:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a45c96f-321b-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691080290; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=WVHNIahXX+GyVajL5NI51z36PbD/JrB3dgqBOfR9tihW2x7FOF7x+QT+CEXEmY6fKzAziwuIHfvR2tgYE9MW9TZOAoSX0mL6pCobcektt5Hjat2oeCAGXuDlCNXPIXn0NibJat286ab+jtXWSvpDjXOEoPUZ/mlz1Jj92tJGGN4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691080290; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=2IueEmUBVFP14XKk2kgZbf4NNlgHXOu+R/AxWuAEvX0=; 
	b=ickL2eKuJxKLAmnlL71CUzHyu9WuymrOLcllvNA+2SMi6FW4ZjJPVGmIrEOE0E9gEP//WHVGdm8n1Xx0bvRm7sfuTswEXo/FzzvPssOw2iYcZM5yks3pmrj7/jJ9mMwuX1hS+UQ6QIfhdPAKtWR+XyiC/vJpkkAyfCWo4pE+r7s=
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=1691080290;
	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=2IueEmUBVFP14XKk2kgZbf4NNlgHXOu+R/AxWuAEvX0=;
	b=WN8GP32BpJgKun7AUvqxf/JYxLyX5qCoJfFR5e5oDelX2m7xnGGezRu71UQdh+au
	+vIOlSCH4MN+tYqiDPP0sG8Wf8eO6bq3kv3Ag+N/WuM9F/yC6P1OuI/M+qKjB2RFFZn
	B/wqGTzb3bwezcGWN8Lf/32rjNJqfIEmrhCGczf8=
Message-ID: <e1554020-a605-8df2-619a-eda86d86c50a@apertussolutions.com>
Date: Thu, 3 Aug 2023 12:31:24 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
 <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 11:56, Jan Beulich wrote:
> On 03.08.2023 14:56, Daniel P. Smith wrote:
>> On 8/2/23 07:01, Jan Beulich wrote:
>>> On 01.08.2023 18:06, Daniel P. Smith wrote:
>>>> +        if ( hardware_domain )
>>>> +        {
>>>> +            console_rx = hardware_domain->domain_id + 1;
>>>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>>
>>> Here and elsewhere - why %d when original code properly used %u? I also
>>> think there are now quite a few too many of these all identical
>>> printk()s.
>>
>> Good question, I did not write the line, it was copy/paste from
>> elsewhere in the file and then continued to replicate from there.
> 
> There's exactly one such line right now, using DOM%u. If I'm not
> mistaken, it's not all that long ago that this was changed, so I
> would suspect an incomplete rebase.
> 
>>>> +            goto out; //print switch_code statement & newline
>>>
>>> Leftover development comment? (There's at least one more.)
>>
>> Yes and no, the comment came from elsewhere in the file
> 
> Did it?

I thought it did.

>> and early in
>> development it I place it here to later decide if it should stay (and
>> get converted into a compliant comment). I will drop it in the next
>> iteration.
> 
> Thanks.

No problem.

>>>> +        }
>>>> +        else
>>>
>>> Please avoid "else" after an if() that ends in "return", "goto", or
>>> alike.
>>
>> Really? How would you propose handling common finalization when
>> completion happens during the execution of two branches of the logical
>> purpose of the function? Do you want to see two separate if statements
>> of `if ( condition A )` and `if ( ! condition A )`?
> 
> What would you need the 2nd if() for when the first one ends in "return",
> "goto", or alike?

Good point, not sure why I wasn't thinking this way.

>>>> +        {
>>>> +            for_each_domain(next)
>>>
>>> What guarantees that the list won't change behind your back? You don't
>>> hold domlist_read_lock here afaict. It might be that you're safe because
>>> that lock is an RCU one and this function is only invoked at init time
>>> or from some form of interrupt handler. But that's far from obvious and
>>> will hence need both properly confirming and stating in a comment. (It
>>> is actually this concern, iirc, which so far had us avoid iterating the
>>> domain list here.)
>>
>> It is better to error on the side of caution instead of assuming this
>> will always be invoked in a safe manner. I will add a read lock for the
>> domain list.
> 
> I'm not firm enough in RCU to be certain whether acquiring that lock is
> permissible here.

Same and I took your statements to suggest that I should.

>>>> +            {
>>>> +                if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>>> +                {
>>>> +                    console_rx = next->domain_id + 1;
>>>> +                    printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>>> +                    goto out; //print switch_code statement & newline
>>>> +                }
>>>> +            }
>>>>    
>>>> -        if ( next_rx++ >= max_console_rx )
>>>> +            console_rx = 0;
>>>> +            printk("*** Serial input to Xen");
>>>> +            goto out;
>>>> +        }
>>>> +    }
>>>> +
>>>> +    for ( next = rcu_dereference(d->next_in_list); next != NULL;
>>>> +          next = rcu_dereference(next->next_in_list) )
>>>
>>> This looks like an open-coded continuation of for_each_domain() - I'm
>>> afraid I'm wary of introducing anything like this.
>>
>> Not exactly, for_each_domain() always starts with beginning of the
>> domain list and walks from that point forward.
> 
> Right, hence my use of the word "continuation".

Ah. okay.

>> This open coded version
>> stats at domain d and walks from there to the end of the list. Which is
>> why there is logic below, which uses for_each_domain(), to walk from the
>> beginning of the list until the next domain with console_io or the
>> hardware domain, whichever occurs first.
>>
>> What I did not want to do is potentially waste a lot of cycles doing
>> for_each_domain() with a continue until it reached the current domain
>> and then start checking for the privilege.
>>
>> I could take this and introduce a new macro, for_each_domain_from (or a
>> better name if there are suggestions) and use it here.
> 
> That's effectively what I would like to be done, yes.

Okay, unless you (or anyone else) have another name suggestion, I will 
add it as the above name.

>>>> +    {
>>>> +        if ( hardware_domain && next == hardware_domain )
>>>>            {
>>>>                console_rx = 0;
>>>>                printk("*** Serial input to Xen");
>>>> -            break;
>>>> +            goto out;
>>>
>>> Since you use "goto" anyway, this wants introducing a 2nd label (maybe
>>> "xen"?) ahead of the identical code you add further down (immediately
>>> ahead of the "out" label), to avoid code duplication.
>>
>> Ack.
>>
>>>>            }
>>>>    
>>>> -        d = rcu_lock_domain_by_id(next_rx - 1);
>>>> -        if ( d )
>>>> +        if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>>>            {
>>>> -            rcu_unlock_domain(d);
>>>> -            console_rx = next_rx;
>>>> -            printk("*** Serial input to DOM%u", next_rx - 1);
>>>> -            break;
>>>> +            console_rx = next->domain_id + 1;
>>>> +            printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>>> +            goto out;
>>>> +        }
>>>> +    }
>>>> +
>>>> +    /*
>>>> +     * Hit the end of the domain list and instead of assuming that the
>>>> +     * hardware domain is the first in the list, get the first domain
>>>> +     * in the domain list and then if it is not the hardware domain or
>>>> +     * does not have console privilege, iterate the list until we find
>>>> +     * the hardware domain or a domain with console privilege.
>>>> +     */
>>>> +    if ( next == NULL )
>>>> +    {
>>>> +        for_each_domain(next)
>>>> +        {
>>>> +            if ( hardware_domain && next == hardware_domain )
>>>> +            {
>>>> +                console_rx = 0;
>>>> +                printk("*** Serial input to Xen");
>>>> +                goto out;
>>>> +            }
>>>> +
>>>> +            if ( xsm_console_io(XSM_OTHER, next, CONSOLEIO_read) == 0 )
>>>> +            {
>>>> +                console_rx = next->domain_id + 1;
>>>> +                printk("*** Serial input to DOM%d", CON_RX_DOMID);
>>>> +                goto out;
>>>> +            }
>>>>            }
>>>>        }
>>>>    
>>>> +    /*
>>>> +     * If we got here, could not find a domain with console io privilege.
>>>> +     * Default to Xen.
>>>> +     */
>>>
>>> "Default to" is a little odd when there are no other options.
>>
>> Fallback to?
> 
> Yes.

Ack.

>>>> @@ -538,31 +594,37 @@ static void __serial_rx(char c, struct cpu_user_regs *regs)
>>>>             * getting stuck.
>>>>             */
>>>>            send_global_virq(VIRQ_CONSOLE);
>>>> -        break;
>>>> -
>>>> -#ifdef CONFIG_SBSA_VUART_CONSOLE
>>>> -    default:
>>>> +    }
>>>> +    else
>>>>        {
>>>> -        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
>>>> +        struct domain *d = rcu_lock_domain_by_any_id(CON_RX_DOMID);
>>>>    
>>>> +        if ( d == NULL )
>>>> +            goto unlock_out;
>>>> +
>>>> +#ifdef CONFIG_SBSA_VUART_CONSOLE
>>>>            /*
>>>>             * If we have a properly initialized vpl011 console for the
>>>>             * domain, without a full PV ring to Dom0 (in that case input
>>>>             * comes from the PV ring), then send the character to it.
>>>>             */
>>>> -        if ( d != NULL &&
>>>> -             !d->arch.vpl011.backend_in_domain &&
>>>> +        if ( !d->arch.vpl011.backend_in_domain &&
>>>>                 d->arch.vpl011.backend.xen != NULL )
>>>> +        {
>>>>                vpl011_rx_char_xen(d, c);
>>>> -        else
>>>> -            printk("Cannot send chars to Dom%d: no UART available\n",
>>>> -                   console_rx - 1);
>>>> +            goto unlock_out;
>>>> +        }
>>>> +#endif
>>>> +
>>>> +        if ( (serial_rx_prod - serial_rx_cons) != SERIAL_RX_SIZE )
>>>> +            serial_rx_ring[SERIAL_RX_MASK(serial_rx_prod++)] = c;
>>>
>>> This is Dom0's buffer; I don't think sharing with DomU-s is correct.
>>
>> I would disagree, it is the hypervisor's buffer that it decides to share
>> with domains it trust. It just so happens that it always trusts the
>> hardware domain. This is why I explicitly changed this to the XSM call,
>> to express that when the system manager, by enabling this privilege on
>> the domain, has decided to trust these domains to have access to the
>> hypervisor's buffer.
> 
> I don't think such trust can be assumed to allow the domains to see e.g.
> each others root passwords.

Should or can are two different things, it does not change the fact what 
the action is being done here. Another aspect here to your "what if" is 
the question of what really is the likelihood that an admin is going to 
enter the root password and then send the console switch immediately to 
another domain via the serial interface on a production system that they 
made the conscious decision to trust an untrustworthy domain with the a 
highly trusted privilege of serial/console access.

>>>> @@ -717,6 +779,8 @@ long do_console_io(
>>>>            rc = -E2BIG;
>>>>            if ( count > INT_MAX )
>>>>                break;
>>>> +        if ( CON_RX_DOMID != current->domain->domain_id )
>>>> +            return 0;
>>>>    
>>>>            rc = 0;
>>>>            while ( (serial_rx_cons != serial_rx_prod) && (rc < count) )
>>>
>>> ... assume that by the time this hypercall is invoked input focus
>>> hasn't switched. I think there's no way around a per-domain input
>>> buffer, which of course would need setting up only for console-io-
>>> capable domains.
>>
>> Let's explore the exact concern here, the scenarios as far as I can see
>> it is as follows.
>>
>> A person at the serial/console types keys for the current console domain
>> (domA), then enters the console switch sequence, switching to another
>> domain (domB). DomA's CONSOLEIO_read hypercall arrives after the switch
>> and thus is not sent the rx buffer contents. Then domB's CONSOLEIO_read
>> arrives and then because `serial_rx_cons` and `serial_rx_prod` are not
>> the same, domB is sent the bytes that were intended for domA.
>>
>> While a per domain console_io buffer would address this issue, I believe
>> there is a simpler solution that can be extended depending on whether it
>> is acceptable for the undelivered bytes to be dropped or not.
>>
>> Simply upon switching, if serial_rx_cons and serial_rx_prod are set the
>> same, then no bytes will be leaked to domB from domA above. An extra
>> precaution could be taken to zero the serial_rx buffer. If guaranteed
>> delivery is desired, a list of buffer remnants could be drained on
>> hypercall and console switching.
>>
>> IMHO I believe the reality is while there is potential that the scenario
>> could happen, the probability is low. Doing a per domain buffer will
>> always incur the resource overhead even if the event never happens,
>> while the above approach would only incur the resource overhead when the
>> situation occurs.
> 
> Which, afaict, would then result in stuff typed in for one domain being
> discarded, without there being any indication how much of it was discarded
> (and hence would need typing again).

Again, I find the scenario unlikely but agree that good behavior is not 
to have a lossy console. That is why I suggested that a simple list (or 
other representation) of pending buffer fragments can be held for 
deliver to previous domains.

> I don't share the resource concern: If an admin wants multiple domains
> to take input this way, they can't assume this comes at no price at all.

Except its not just the admins that pay the price. I had already 
considered a per domain buffer, but realized that this is a more 
complicated approach requiring code in multiple places within the 
hypervisor. Whereas I believe the proposal above can exist solely within 
console.c and will not require having to hook in to domain 
create/destruction.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:34:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:34:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576503.902711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbHd-0004DW-RC; Thu, 03 Aug 2023 16:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576503.902711; Thu, 03 Aug 2023 16: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 1qRbHd-0004DP-OQ; Thu, 03 Aug 2023 16:34:41 +0000
Received: by outflank-mailman (input) for mailman id 576503;
 Thu, 03 Aug 2023 16:34:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRbHc-0004DH-Ry
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:34:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRbHV-0003rn-Iv; Thu, 03 Aug 2023 16:34:33 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRbHV-00074k-AZ; Thu, 03 Aug 2023 16:34:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=dvvBXxjniH/IlgE1ej5FHuyiI4F6RPdmj66rQM7XZek=; b=xd7pmytFP9/Dgy0tf8IZUqmY/g
	+jy1eMy/ld8p6q6ODKP4I8OX1RP5bUaVmWRYrndZ7gXvb10apbXICtqfuFXuhjc47Q1S7a3yMrPkQ
	C4E2vtom8ofGCyfdhaJCINuuTrfApqslh3+Mv98PHuz/Ys6y61ehhblCak92Mp04h15o=;
Message-ID: <8074634d-fd76-43fc-8e0f-4c3a70ea5360@xen.org>
Date: Thu, 3 Aug 2023 17:34:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Content-Language: en-GB
To: Elliott Mitchell <ehem+xen@m5p.com>, Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
 <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Elliott,

On 03/08/2023 17:13, Elliott Mitchell wrote:
> On Thu, Aug 03, 2023 at 10:35:53AM +0200, Jan Beulich wrote:
>>
>> Some of the patches looks to have been posted previously as a 7-patch
>> series. It would have been nice if therefore this one was marked as
>> v2, indicating in a revision log what the differences are. It appears
>> as if at least one out of those 7 earlier patches was dropped (or
>> maybe assimilated into another one).
> 
> Indeed.  Problem is several tags could potentially have been used.
> Should I have used all of them simultaneously?  Should I have used only
> some of them?  Which subset?
> 
> Several were mildly adjusted, so it could have been marked "v2".
> 
> No one responded at all to the previous round, so this could have been
> marked "RESEND".
> 
> Yet the refinements and general changes are large enough for the series
> to be pretty distinct.
> 
> I didn't know which way to go, so with no idea which option to choose the
> last one ended up winning out.  Perhaps that was wrong yet I've still no
> feedback on the actual patches.

Not sure if this is related to the lack of answer. But I didn't receive 
any of your patches via xen-devel (I received your replies). Skimming 
through the bounce for the xenproject mail server, I noticed a lot of 
the following:

     host gmail-smtp-in.l.google.com [142.250.123.26]
     SMTP error from remote mail server after pipelined end of data:
     550-5.7.1 This message is not RFC 5322 compliant. There are 
multiple Cc headers.
     550-5.7.1 To reduce the amount of spam sent to Gmail, this message 
has been
     550-5.7.1 blocked. Please visit
     550 5.7.1 
https://support.google.com/mail/?p=RfcMessageNonCompliant 
t7-20020a81e447000000b005839e8b595dsi12027284ywl.554 - gsmtp

It might be possible that other mail server are not happy with your e-mails.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:37:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576507.902722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbKM-0004pe-B6; Thu, 03 Aug 2023 16:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576507.902722; Thu, 03 Aug 2023 16:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbKM-0004pX-6A; Thu, 03 Aug 2023 16:37:30 +0000
Received: by outflank-mailman (input) for mailman id 576507;
 Thu, 03 Aug 2023 16:37:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J7Gs=DU=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qRbKK-0004pL-G9
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:37:28 +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 079ecf4c-321c-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 18:37:26 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-3fe45481edfso1267375e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 03 Aug 2023 09:37:26 -0700 (PDT)
Received: from [192.168.23.238] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 e13-20020a05600c218d00b003fe2bea77ccsm310591wme.5.2023.08.03.09.37.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 03 Aug 2023 09:37: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: 079ecf4c-321c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691080646; x=1691685446;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vL19yjeY0vCMtRBqOHZepEaKWa9q/fOl1WB+ypjiWzo=;
        b=VswwiWhCpaAA/nAaW58Gl+e9P0fTofSI4xljCW1yc/tyfxUxSqCO/8TnkG9b3s3TQf
         yVKHWJ7oqE3q8d6zU4HKT30aNuIyOEez7KLgBkJkPgT9Z72abG1FkdMx+9vUq0w/1J7E
         R9DHrMHfP5ECNJc34nbO2gij2n2T2TY9oE1IT+5HnqG7PKztpgpiD3+45oLzXaeUFdZp
         D4/lt5VCvKrCiincpz6jiorfjuvzFt2FTEbqaIOGYjUlM7Pouw68jGkXuIQpvHqMGQBl
         7bqH7a1JETEAYAY9uIP5I+n+3cCEnAn9HDkpGsm7K5fbbS6/d7FhG4Ysp7/u1avWKHMq
         oNwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691080646; x=1691685446;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=vL19yjeY0vCMtRBqOHZepEaKWa9q/fOl1WB+ypjiWzo=;
        b=DFcOf42tNUJfXhBL8Z7uF3oGDxqCv9FMSZdcww8YKExMIw1e8pxZ3DYUUQX5tFdIq9
         srWm2iv8MKEVzClXlD9RvnMit9oIaeg9nI9rmocCDrRulN7IlTcmYvXiUBxqA+j/iEoU
         FyOWWexlaJTneTzcWZdy2c9BchaV4L6m7wdizdXfJa1rkdezqrgnkzRJAxM+hUarTC2v
         at8KrtyTgCKpniOzvpv5umy9yDzOyyfGAtF6m8wt7aae/dyXHsE9/HftzGfLHNEvrOS4
         9raZX+2gHE67oGZlvFv+epuMs6dZNUNEUJYqVYp9ANNHQYrKMwhUx0+ER1r3EbF6c4gV
         Qv0A==
X-Gm-Message-State: ABy/qLacxNnOKSqcvj4xDext2zdfVT/CByMWuJcJhi/BJ0hTnbgy0Bpt
	m0yG+1n/1mls9AXsDhjqXPw=
X-Google-Smtp-Source: APBJJlHgqNyyzAgqI3bStyQ5BWKGoNks90Mb5QHinX8EbDmAxrooUb9Hd7VWeuYxH2won5req5en4Q==
X-Received: by 2002:a05:600c:219a:b0:3fe:2108:eb8e with SMTP id e26-20020a05600c219a00b003fe2108eb8emr7731597wme.34.1691080645588;
        Thu, 03 Aug 2023 09:37:25 -0700 (PDT)
Message-ID: <cd7b8657-be12-5550-82a3-5a1d07d60f50@gmail.com>
Date: Thu, 3 Aug 2023 17:37:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Reply-To: paul@xen.org
Subject: Re: Ping: [PATCH] x86/HVM: drop dead assignments from
 hvmemul_rep_{movs,stos}()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <32e33a0b-d572-ea7f-b1a8-3263711582e5@suse.com>
 <alpine.DEB.2.22.394.2307271141500.3118466@ubuntu-linux-20-04-desktop>
 <97527049-e3ac-9d8e-806c-2204ed7f68dd@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <97527049-e3ac-9d8e-806c-2204ed7f68dd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/08/2023 12:46, Jan Beulich wrote:
> On 27.07.2023 20:41, Stefano Stabellini wrote:
>> On Thu, 27 Jul 2023, Jan Beulich wrote:
>>> In the latter case the variable altogether is then unused and hence gets
>>> dropped, eliminating a Misra Rule 5.3 violation. I'm afraid I mistakenly
>>> introduced both assignments in 57a57465daaf ("x86/HVM: use available
>>> linear->phys translations in REP MOVS/STOS handling"), likely as a
>>> result of some re-work on the patch.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Paul - any chance of an ack?
> 

Sure.

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




From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:42:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576512.902731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbOw-0006I8-Qm; Thu, 03 Aug 2023 16:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576512.902731; Thu, 03 Aug 2023 16: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 1qRbOw-0006I1-Nk; Thu, 03 Aug 2023 16:42:14 +0000
Received: by outflank-mailman (input) for mailman id 576512;
 Thu, 03 Aug 2023 16:42: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 1qRbOu-0006Hv-So
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:42: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 1qRbOs-0003yv-No; Thu, 03 Aug 2023 16:42:10 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRbOs-0007Qv-FS; Thu, 03 Aug 2023 16:42:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=TmH+IFFCzTmmTF0Xjy4CEEm+3JAqwnh7imsQLqX4k3A=; b=L4BbnG0wawUcaO5evzq1r/pm9Z
	EyWhV8aYSSlfQxBXd0abV9KY//YafzkswVe83x0FqlwZwgBhm/5xItS/qQ2WDloRjE0PLI2dMqrid
	MTX9KfeKPypD6Lx/v88AWofOjNG9nSJz40UmtoQ7muSOoPo5pUcERro+FXPAWYYvRDr8=;
Message-ID: <facd218e-2863-4a88-a3cf-fa1938af14c7@xen.org>
Date: Thu, 3 Aug 2023 17:42:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: Constify the vCPU parameter for
 expand_xsave_states()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230802154705.84530-1-julien@xen.org>
 <376a6586-388b-271c-7667-e63bb1565eef@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <376a6586-388b-271c-7667-e63bb1565eef@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 03/08/2023 09:53, Jan Beulich wrote:
> On 02.08.2023 17:47, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> expand_xsave_states() is not meant to modify the vCPU. So the parameter
>> can be const.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks. I have committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:58:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576516.902742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbeG-0007tl-5Y; Thu, 03 Aug 2023 16:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576516.902742; Thu, 03 Aug 2023 16:58:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbeG-0007te-1Q; Thu, 03 Aug 2023 16:58:04 +0000
Received: by outflank-mailman (input) for mailman id 576516;
 Thu, 03 Aug 2023 16:58:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRbeF-0007tY-2C
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:58:03 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5b64568-321e-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 18:57:59 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691081874405559.5269101632989;
 Thu, 3 Aug 2023 09:57:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5b64568-321e-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691081875; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=jqqFM6/EMfOAtUrd5h8u3ybTWClM66RarMeijom0fgf+muYUb2yZ100tQan4qMFvJOSNeVrzj4TeLlvPpa9kmzZxmMeR2+8FCeEpuk2L/kBkM7ikq7Lq5nSRle2z6ysuyql4QLetZIPMhIsjAtcGUHF2TdWfF7C2fJIikDg8LCk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691081875; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=g4Ss0M45LZqDBXjGFDnG/1CBGH1BmnZ0+WnJqg4+oiU=; 
	b=DGzCJAJL7TVQTOxXK5dCB9oWvFiS5Okq2q08RRUJw9N0prMIkT5CZCH8ho4QjC1PqAHovj8lx04NP5ZLMEzNLEs3nD71AbZrOZ/7Mplm5Ih9DjqisM/54ZchSnD3DIk7JSryo3hRtaZLbUfp0TndWWGVvJWbrd0khkxwMkoSwq4=
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=1691081875;
	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=g4Ss0M45LZqDBXjGFDnG/1CBGH1BmnZ0+WnJqg4+oiU=;
	b=Xt43XqDNNNyxQTDXbN8WxgvcUidAa01DhWQnZoOV5xSeUyCsEslDKQlVDfnBzWT0
	PI9sSVCt9Sta3mpzXnlLPZu1WM5o18NbWW8etc49UrK3NDHXRRUwv2wjHHnF620vOYf
	S73BAxAbq1L7Awub8mn6FRnb4s3D6kKgIDIMaEsc=
Message-ID: <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
Date: Thu, 3 Aug 2023 12:57:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
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>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/3/23 07:45, Michal Orzel wrote:
> Hi Daniel,
> 
> On 03/08/2023 12:44, Daniel P. Smith wrote:
>>
>>
>> With on going development of hyperlaunch, changes to the device tree definitions
>> has been necessary. This commit updates the specification for all current changes
>> along with changes expected to be made in finalizing the capability.
>>
>> This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
>> this documentation under its purview. It also reserves the path
>> `xen/common/domain-builder` for the hyperlaunch domain builder code base.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   MAINTAINERS                                   |   9 +
>>   .../designs/launch/hyperlaunch-devicetree.rst | 566 ++++++++++--------
>>   2 files changed, 309 insertions(+), 266 deletions(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index d8a02a6c19..694412a961 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -332,6 +332,15 @@ M: Nick Rosbrook <rosbrookn@gmail.com>
>>   S:     Maintained
>>   F:     tools/golang
>>
>> +HYPERLAUNCH
>> +M:     Daniel P. Smith <dpsmith@apertussolutions.com>
>> +M:     Christopher Clark <christopher.w.clark@gmail.com>
>> +W:     https://wiki.xenproject.org/wiki/Hyperlaunch
>> +S:     Supported
>> +F:     docs/design/launch/hyperlaunch.rst
>> +F:     docs/design/launch/hyperlaunch-devicetree.rst
>> +F:     xen/common/domain-builder/
>> +
>>   HYPFS
>>   M:     Juergen Gross <jgross@suse.com>
>>   S:     Supported
>> diff --git a/docs/designs/launch/hyperlaunch-devicetree.rst b/docs/designs/launch/hyperlaunch-devicetree.rst
>> index b49c98cfbd..0bc719e4ae 100644
>> --- a/docs/designs/launch/hyperlaunch-devicetree.rst
>> +++ b/docs/designs/launch/hyperlaunch-devicetree.rst
>> @@ -2,10 +2,11 @@
>>   Xen Hyperlaunch Device Tree Bindings
>>   -------------------------------------
>>
>> -The Xen Hyperlaunch device tree adopts the dom0less device tree structure and
>> -extends it to meet the requirements for the Hyperlaunch capability. The primary
>> -difference is the introduction of the ``hypervisor`` node that is under the
>> -``/chosen`` node. The move to a dedicated node was driven by:
>> +The Xen Hyperlaunch device tree is informed by the dom0less device tree
>> +structure with extensions to meet the requirements for the Hyperlaunch
>> +capability. A major depature from the dom0less device tree is the introduction
>> +of the ``hypervisor`` node that is under the ``/chosen`` node. The move to a
>> +dedicated node was driven by:
>>
>>   1. Reduces the need to walk over nodes that are not of interest, e.g. only
>>      nodes of interest should be in ``/chosen/hypervisor``
>> @@ -13,331 +14,364 @@ difference is the introduction of the ``hypervisor`` node that is under the
>>   2. Allows for the domain construction information to easily be sanitized by
>>      simple removing the ``/chosen/hypervisor`` node.
>>
>> -Example Configuration
>> ----------------------
>> -
>> -Below are two example device tree definitions for the hypervisor node. The
>> -first is an example of a multiboot-based configuration for x86 and the second
>> -is a module-based configuration for Arm.
>> -
>> -Multiboot x86 Configuration:
>> -""""""""""""""""""""""""""""
>> -
>> -::
>> -
>> -    hypervisor {
>> -        #address-cells = <1>;
>> -        #size-cells = <0>;
>> -        compatible = â€œhypervisor,xenâ€
>> -
>> -        // Configuration container
>> -        config {
>> -            compatible = "xen,config";
>> -
>> -            module {
>> -                compatible = "module,microcode", "multiboot,module";
>> -                mb-index = <1>;
>> -            };
>> -
>> -            module {
>> -                compatible = "module,xsm-policy", "multiboot,module";
>> -                mb-index = <2>;
>> -            };
>> -        };
>> -
>> -        // Boot Domain definition
>> -        domain {
>> -            compatible = "xen,domain";
>> -
>> -            domid = <0x7FF5>;
>> -
>> -            // FUNCTION_NONE            (0)
>> -            // FUNCTION_BOOT            (1 << 0)
>> -            // FUNCTION_CRASH           (1 << 1)
>> -            // FUNCTION_CONSOLE         (1 << 2)
>> -            // FUNCTION_XENSTORE        (1 << 30)
>> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
>> -            functions = <0x00000001>;
>> -
>> -            memory = <0x0 0x20000>;
>> -            cpus = <1>;
>> -            module {
>> -                compatible = "module,kernel", "multiboot,module";
>> -                mb-index = <3>;
>> -            };
>> -
>> -            module {
>> -                compatible = "module,ramdisk", "multiboot,module";
>> -                mb-index = <4>;
>> -            };
>> -            module {
>> -                compatible = "module,config", "multiboot,module";
>> -                mb-index = <5>;
>> -            };
>> -
>> -        // Classic Dom0 definition
>> -        domain {
>> -            compatible = "xen,domain";
>> -
>> -            domid = <0>;
>> -
>> -            // PERMISSION_NONE          (0)
>> -            // PERMISSION_CONTROL       (1 << 0)
>> -            // PERMISSION_HARDWARE      (1 << 1)
>> -            permissions = <3>;
>> -
>> -            // FUNCTION_NONE            (0)
>> -            // FUNCTION_BOOT            (1 << 0)
>> -            // FUNCTION_CRASH           (1 << 1)
>> -            // FUNCTION_CONSOLE         (1 << 2)
>> -            // FUNCTION_XENSTORE        (1 << 30)
>> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
>> -            functions = <0xC0000006>;
>> -
>> -            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
>> -            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
>> -            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
>> -            mode = <5>; /* 64 BIT, PV */
>> -
>> -            // UUID
>> -            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
>> -
>> -            cpus = <1>;
>> -            memory = <0x0 0x20000>;
>> -            security-id = â€œdom0_t;
>> -
>> -            module {
>> -                compatible = "module,kernel", "multiboot,module";
>> -                mb-index = <6>;
>> -                bootargs = "console=hvc0";
>> -            };
>> -            module {
>> -                compatible = "module,ramdisk", "multiboot,module";
>> -                mb-index = <7>;
>> -            };
>> -    };
>> -
>> -The multiboot modules supplied when using the above config would be, in order:
>> +The Hypervisor node
>> +-------------------
>>
>> -* (the above config, compiled)
>> -* CPU microcode
>> -* XSM policy
>> -* kernel for boot domain
>> -* ramdisk for boot domain
>> -* boot domain configuration file
>> -* kernel for the classic dom0 domain
>> -* ramdisk for the classic dom0 domain
>> +The ``hypervisor`` node is a top level container for all information relating
>> +to how the hyperlaunch is to proceed. This includes definitions of the domains
>> +that will be built by hypervisor on start up. The node will be named
>> +``hypervisor``  with a ``compatible`` property to identify which hypervisors
>> +the configuration is intended. The hypervisor node will consist of one or more
>> +config nodes and one or more domain nodes.
>>
>> -Module Arm Configuration:
>> -"""""""""""""""""""""""""
>> +Properties
>> +""""""""""
>>
>> -::
>> +compatible
>> +  Identifies which hypervisors the configuration is compatible. Required.
>>
>> -    hypervisor {
>> -        compatible = â€œhypervisor,xenâ€
>> +  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
>>
>> -        // Configuration container
>> -        config {
>> -            compatible = "xen,config";
>> +Child Nodes
>> +"""""""""""
>>
>> -            module {
>> -                compatible = "module,microcodeâ€;
>> -                module-addr = <0x0000ff00 0x80>;
>> -            };
>> +* config
>> +* domain
>>
>> -            module {
>> -                compatible = "module,xsm-policy";
>> -                module-addr = <0x0000ff00 0x80>;
>> +Config Node
>> +-----------
>>
>> -            };
>> -        };
>> +A ``config`` node is for passing configuration data and identifying any boot
>> +modules that is of interest to the hypervisor.  For example this would be where
>> +Xen would be informed of microcode or XSM policy locations. Each ``config``
>> +node will require a unique device-tree compliant name as there may be one or
>> +more ``config`` nodes present in a single dtb file. To identify which
>> +hypervisor the configuration is intended, the required ``compatible`` property
>> +must be present.
>>
>> -        // Boot Domain definition
>> -        domain {
>> -            compatible = "xen,domain";
>> -
>> -            domid = <0x7FF5>;
>> -
>> -            // FUNCTION_NONE            (0)
>> -            // FUNCTION_BOOT            (1 << 0)
>> -            // FUNCTION_CRASH           (1 << 1)
>> -            // FUNCTION_CONSOLE         (1 << 2)
>> -            // FUNCTION_XENSTORE        (1 << 30)
>> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
>> -            functions = <0x00000001>;
>> -
>> -            memory = <0x0 0x20000>;
>> -            cpus = <1>;
>> -            module {
>> -                compatible = "module,kernel";
>> -                module-addr = <0x0000ff00 0x80>;
>> -            };
>> +While the config node is not meant to replace the hypervisor commandline, there
>> +may be cases where it is better suited for passing configuration details at
>> +boot time.  This additional information may be carried in properties assigned
>> +to a ``config`` node. If there are any boot modules that are intended for the
>> +hypervisor, then a ``module`` child node should be provided to identify the
>> +boot module.
>>
>> -            module {
>> -                compatible = "module,ramdisk";
>> -                module-addr = <0x0000ff00 0x80>;
>> -            };
>> -            module {
>> -                compatible = "module,config";
>> -                module-addr = <0x0000ff00 0x80>;
>> -            };
>> +Properties
>> +""""""""""
>>
>> -        // Classic Dom0 definition
>> -        domain@0 {
>> -            compatible = "xen,domain";
>> -
>> -            domid = <0>;
>> -
>> -            // PERMISSION_NONE          (0)
>> -            // PERMISSION_CONTROL       (1 << 0)
>> -            // PERMISSION_HARDWARE      (1 << 1)
>> -            permissions = <3>;
>> -
>> -            // FUNCTION_NONE            (0)
>> -            // FUNCTION_BOOT            (1 << 0)
>> -            // FUNCTION_CRASH           (1 << 1)
>> -            // FUNCTION_CONSOLE         (1 << 2)
>> -            // FUNCTION_XENSTORE        (1 << 30)
>> -            // FUNCTION_LEGACY_DOM0     (1 << 31)
>> -            functions = <0xC0000006>;
>> -
>> -            // MODE_PARAVIRTUALIZED     (1 << 0) /* PV | PVH/HVM */
>> -            // MODE_ENABLE_DEVICE_MODEL (1 << 1) /* HVM | PVH */
>> -            // MODE_LONG                (1 << 2) /* 64 BIT | 32 BIT */
>> -            mode = <5>; /* 64 BIT, PV */
>> -
>> -            // UUID
>> -            domain-uuid = [B3 FB 98 FB 8F 9F 67 A3];
>> -
>> -            cpus = <1>;
>> -            memory = <0x0 0x20000>;
>> -            security-id = â€œdom0_tâ€;
>> -
>> -            module {
>> -                compatible = "module,kernel";
>> -                module-addr = <0x0000ff00 0x80>;
>> -                bootargs = "console=hvc0";
>> -            };
>> -            module {
>> -                compatible = "module,ramdisk";
>> -                module-addr = <0x0000ff00 0x80>;
>> -            };
>> -    };
>> +compatible
>> +  Identifies the hypervisor the confiugration is intended. Required.
>>
>> -The modules that would be supplied when using the above config would be:
>> +  Format: "<hypervisor name>,config", e.g "xen,config"
>>
>> -* (the above config, compiled into hardware tree)
>> -* CPU microcode
>> -* XSM policy
>> -* kernel for boot domain
>> -* ramdisk for boot domain
>> -* boot domain configuration file
>> -* kernel for the classic dom0 domain
>> -* ramdisk for the classic dom0 domain
>> +bootargs
>> +  This is used to provide the boot params for Xen.
>>
>> -The hypervisor device tree would be compiled into the hardware device tree and
>> -provided to Xen using the standard method currently in use. The remaining
>> -modules would need to be loaded in the respective addresses specified in the
>> -`module-addr` property.
>> +  Format: String, e.g. "flask=silo"
>>
>> +Child Nodes
>> +"""""""""""
>>
>> -The Hypervisor node
>> --------------------
>> +* module
>>
>> -The hypervisor node is a top level container for the domains that will be built
>> -by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
>> -property is used to identify the type of hypervisor node present..
>> +Domain Node
>> +-----------
>>
>> -compatible
>> -  Identifies the type of node. Required.
>> +A ``domain`` node is for describing the construction of a domain. Since there
>> +may be one or more domain nodes, each one requires a unique, DTB compliant name
>> +and a ``compatible`` property to identify as a domain node.
>>
>> -The Config node
>> ----------------
>> +A ``domain`` node  may provide a ``domid`` property which will be used as the
>> +requested domain id for the domain with a value of â€œ0â€ signifying to use the
>> +next available domain id, which is the default behavior if omitted. It should
>> +be noted that a domain configuration is not able to request a domid of â€œ0â€.
>> +Beyond that, a domain node may have any of the following optional properties.
>>
>> -A config node is for detailing any modules that are of interest to Xen itself.
>> -For example this would be where Xen would be informed of microcode or XSM
>> -policy locations. If the modules are multiboot modules and are able to be
>> -located by index within the module chain, the ``mb-index`` property should be
>> -used to specify the index in the multiboot module chain.. If the module will be
>> -located by physical memory address, then the ``module-addr`` property should be
>> -used to identify the location and size of the module.
>> +Properties
>> +""""""""""
>>
>>   compatible
>> -  Identifies the type of node. Required.
>> -
>> -The Domain node
>> ----------------
>> +  Identifies the node as a domain node and for which hypervisor. Required.
>>
>> -A domain node is for describing the construction of a domain. It may provide a
>> -domid property which will be used as the requested domain id for the domain
>> -with a value of â€œ0â€ signifying to use the next available domain id, which is
>> -the default behavior if omitted. A domain configuration is not able to request
>> -a domid of â€œ0â€. After that a domain node may have any of the following
>> -parameters,
>> -
>> -compatible
>> -  Identifies the type of node. Required.
>> +  Format: "<hypervisor name>,domain", e.g "xen,domain"
>>
>>   domid
>> -  Identifies the domid requested to assign to the domain. Required.
>> +  Identifies the domid requested to assign to the domain.
>>
>> -permissions
>> +  Format: Integer, e.g <0>
>> +
>> +role
>>     This sets what Discretionary Access Control permissions
>>     a domain is assigned. Optional, default is none.
>>
>> -functions
>> -  This identifies what system functions a domain will fulfill.
>> +  Format: Bitfield, e.g <3> or <0x00000003>
>> +
>> +          ROLE_NONE                (0)
>> +          ROLE_UNBOUNDED_DOMAIN    (1U<<0)
>> +          ROLE_CONTROL_DOMAIN      (1U<<1)
>> +          ROLE_HARDWARE_DOMAIN     (1U<<2)
>> +          ROLE_XENSTORE_DOMAIN     (1U<<3)
>> +
>> +capability
>> +  This identifies what system capabilities a domain may have beyond the role it
>> +  was assigned.
>>     Optional, the default is none.
>>
>> -.. note::  The `functions` bits that have been selected to indicate
>> -   ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two bits
>> -   (30, 31) such that should these features ever be fully retired, the flags may
>> -   be dropped without leaving a gap in the flag set.
>> +  Format: Bitfield, e.g <3221225487> or <0xC0000007>
>> +
>> +          CAP_NONE            (0)
>> +          CAP_CONSOLE_IO      (1U<<0)
>>
>>   mode
>>     The mode the domain will be executed under. Required.
>>
>> +  Format: Bitfield, e.g <5> or <0x00000005>
>> +
>> +          MODE_PARAVIRTUALIZED     (1 << 0) PV | PVH/HVM
>> +          MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
>> +          MODE_LONG                (1 << 2) 64 BIT | 32 BIT
>> +
>>   domain-uuid
>>     A globally unique identifier for the domain. Optional,
>>     the default is NULL.
>>
>> +  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
>> +
>>   cpus
>>     The number of vCPUs to be assigned to the domain. Optional,
>>     the default is â€œ1â€.
>>
>> +  Format: Integer, e.g <0>
>> +
>>   memory
>> -  The amount of memory to assign to the domain, in KBs.
>> +  The amount of memory to assign to the domain, in KBs. This field uses a DTB
>> +  Reg which contains a start and size. For memory allocation start may or may
>> +  not have significance but size will always be used for the amount of memory
>>     Required.
>>
>> +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
> There is a mismatch between the description and above format:
> - KB vs MB
> - string vs reg format
> - the x86 example uses string and Arm uses reg format

Hmmm. I missed this in the hyperlaunch v1 update. In the original design 
that came from the working group it was going to use a reg as suggest by 
dom0less. During development of v1, we found it was not rich enough to 
express how Dom0 could be allocated memory and switched to a string to 
mirror the dom0 memory hypervisor command line parameter.

A question for those involved with dom0less, is what are the opinions 
about using this form for memory allocation. Is it required/possible to 
be able to instruct the hypervisor what physical address to use as the 
start of a domain's memory?

>> +
>>   security-id
>>     The security identity to be assigned to the domain when XSM
>>     is the access control mechanism being used. Optional,
>> -  the default is â€œdomu_tâ€.
>> +  the default is â€œsystem_u:system_r:domU_tâ€.
>> +
>> +  Format: string, e.g. "system_u:system_r:domU_t"
> This is specifying full label (as expected) whereas the examples use only type

Ack, the examples needs fixing.

>> +
>> +Child Nodes
>> +"""""""""""
>> +
>> +* module
>> +
>> +Module node
>> +-----------
>>
>> -The Module node
>> ----------------
>> +This node describes a boot module loaded by the boot loader. A ``module`` node
>> +will often appear repeatedly and will require a unique and DTB compliant name
>> +for each instance. The compatible property is required to identify that the
>> +node is a ``module`` node, the type of boot module, and what it represents.
>>
>> -This node describes a boot module loaded by the boot loader. The required
>> -compatible property follows the format: module,<type> where type can be
>> -â€œkernelâ€, â€œramdiskâ€, â€œdevice-treeâ€, â€œmicrocodeâ€, â€œxsm-policyâ€ or â€œconfigâ€. In
>> -the case the module is a multiboot module, the additional property string
>> -â€œmultiboot,moduleâ€ may be present. One of two properties is required and
>> -identifies how to locate the module. They are the mb-index, used for multiboot
>> -modules, and the module-addr for memory address based location.
>> +Depending on the type of boot module, the ``module`` node will require either a
>> +``module-index`` or ``module-addr`` property must be present. They provide the
>> +boot module specific way of locating the boot module in memory.
>> +
>> +Properties
>> +""""""""""
>>
>>   compatible
>>     This identifies what the module is and thus what the hypervisor
>>     should use the module for during domain construction. Required.
>>
>> -mb-index
>> -  This identifies the index for this module in the multiboot module chain.
>> +  Format: "module,<module type>"[, "module,<locating type>"]
>> +          module type: kernel, ramdisk, device-tree, microcode, xsm-policy,
>> +                       config
>> +
>> +          locating type: index, addr
>> +
>> +module-index
>> +  This identifies the index for this module when in a module chain.
>>     Required for multiboot environments.
>>
>> +  Format: Integer, e.g. <0>
>> +
>>   module-addr
>>     This identifies where in memory this module is located. Required for
>>     non-multiboot environments.
>>
>> +  Format: DTB Reg <start size>, e.g. <0x0 0x20000>
> I guess the number of cells for start and size will be taken from #address-celss and #size-cells
> defined either in /chosen or a config/domain node?

Correct, in the working group, that is what we were informed was the 
desired approach.

> Also, what is the plan for the existing dom0less dt properties?
> Will they need to be moved to new /hypervisor node or we will have to parse both /chosen and /hypervisor nodes?

In the proposal I sent to xen-devel in response to Luca's RFC for 
rebranding dom0less features under hyperlaunch, that is the purpose of 
this commit. Get this document up to date with what was done in v1 along 
with what we are planning/working on for hyperlaunch. One could think of 
this as effectively the API to the capabilities hyperlaunch will 
provide. Not just how to construct a domain, but what kinds of domains 
can be constructed by hyperlaunch. Step one of the proposal is to 
publish a patch upon which we all can iterate over and get to an 
agreement on a suitable interface for all. The next step would be the 
introduction of hyperlaunch dom0less compatibility mode, that would see 
the moving of the parsing logic for the existing dom0less nodes under 
/xen/common/domain-builder. It would continue to exist there even after 
hyperlaunch proper is merged and can remain there for backward 
compatibility until there is a decision to retire the compatibility 
interface.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 16:59:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 16:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576520.902751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbfz-0008UX-KM; Thu, 03 Aug 2023 16:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576520.902751; Thu, 03 Aug 2023 16:59: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 1qRbfz-0008UQ-HY; Thu, 03 Aug 2023 16:59:51 +0000
Received: by outflank-mailman (input) for mailman id 576520;
 Thu, 03 Aug 2023 16:59: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=Shid=DU=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qRbfx-0008UK-MM
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 16:59:50 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 247670fa-321f-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 18:59:46 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 03 Aug 2023 09:58:37 -0700
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by orsmga003.jf.intel.com with ESMTP; 03 Aug 2023 09:58:35 -0700
Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Thu, 3 Aug 2023 09:58:34 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Thu, 3 Aug 2023 09:58:34 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.43) by
 edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Thu, 3 Aug 2023 09:58:34 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by CH3PR11MB7913.namprd11.prod.outlook.com (2603:10b6:610:12e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug
 2023 16:58:31 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 16:58:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 247670fa-321f-11ee-b269-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691081986; x=1722617986;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2bR+bfeo29GmoggxVSBxVV8jt+ti59iiN8Dhuk5gklw=;
  b=SGYc0WuB+TNZVuXUpXJHiwXBvs/H7AoDEZPK+cLcJZHyyCM5ecm3dNu3
   K8lb8cvf4OUk6z2K3Bmwsm/M3s6oExbaH9ZudLSuL24geUWfTtkjlYYkk
   uT4OKXbaHPnLD4oD7z7ra/J8QMMSBb3nINCn1IdJH5dUOw2Gat2UCxa9k
   a7IoSrCvqfj2WQO9E0P7HMOEVAhw+fZJQ5CTf9OypMtMjygFlrlZXVw6s
   RGUjP7hTZNI523WYFjNap90cFYkKuUBG+C9GFeEy6FGI+cAwanW3HaoOz
   b12WXEkvjkuLu4vPE6r4eE8pqqbk94u6T1mtHXCDgb9fA781N/cruC59Q
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="367397347"
X-IronPort-AV: E=Sophos;i="6.01,252,1684825200"; 
   d="scan'208";a="367397347"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="679541479"
X-IronPort-AV: E=Sophos;i="6.01,252,1684825200"; 
   d="scan'208";a="679541479"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M7enksE22yIgC9mbwkTFdOdlR4eKjKs8QD9VU/KjpybvNsOHd7LcC2nNgMv3jhBzYkPA6GLuNTCLJOLh3fHA8JWqBHAnybaJJCaGrj0R6lpsKl+/F2ehYPcgySdjPlUlA29Af3nikGzcKXc9v7/3RyTvsW5hpxqavjngniVcPxc0Z3O5mtWvTw0ub3OfUBI5dK7QHmtA+U1D677rlpRLA3Kz/1VbUTQGVmC7uktbrK6LB9ffDFdWIyg/tF3/pD8qFHbIj+OIh8cvsXrgj8TcqrrQc+vJ4V32FQtG/CtROyZ2gPXP36vq3rVOeJ7OSDKatb24omqYy4C0yY7WFO0KEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+8Z0arXM7cn5WNXFdep3jTI0WR66B1rgi1eh6OtTn6w=;
 b=IvPkjYFYcY874+PsjpshnI3xfCaNg9rmKy2GN2MeRKcvOLzPsyCsKZXrvCGRZGtjKusCXcd1VjGN5z4r+6jucrG/FRtBbKfrHWCr6s+25DMVoLmvcNJRKBpOXGb9NiETdPip4uREa3O6l9kPUktMj9MmSM9zjhrivJBIC33pWx6Xs5+LI/7uHVlS3rLNoBArh7JQe1Q04C0QTmDioLpTq25LOa1dR+T+AOmoGyZ6E1hQDk3WUORERuKTcHNLB9BLsBJLwAZqb2RVnRoFYOFX0UMNG2BQFy1NdJJYCFbk0UlZY7r5bx2Xuw229NSMR1gDLg2DVS9+n3BFuZnWEbtjcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: "Li, Xin3" <xin3.li@intel.com>, "Christopherson,, Sean"
	<seanjc@google.com>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Jonathan Corbet <corbet@lwn.net>, "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" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
	"Lutomirski, Andy" <luto@kernel.org>, Oleg Nesterov <oleg@redhat.com>, "Luck,
 Tony" <tony.luck@intel.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, "Cui,
 Dexuan" <decui@microsoft.com>, Paolo Bonzini <pbonzini@redhat.com>, "Wanpeng
 Li" <wanpengli@tencent.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, "Peter
 Zijlstra" <peterz@infradead.org>, "Gross, Jurgen" <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Josh Poimboeuf <jpoimboe@kernel.org>, "Paul
 E . McKenney" <paulmck@kernel.org>, Catalin Marinas
	<catalin.marinas@arm.com>, Randy Dunlap <rdunlap@infradead.org>, "Steven
 Rostedt" <rostedt@goodmis.org>, Kim Phillips <kim.phillips@amd.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Liam R . Howlett"
	<Liam.Howlett@oracle.com>, Sebastian Reichel
	<sebastian.reichel@collabora.com>, "Kirill A . Shutemov"
	<kirill.shutemov@linux.intel.com>, Suren Baghdasaryan <surenb@google.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, Babu Moger
	<babu.moger@amd.com>, Jim Mattson <jmattson@google.com>, Sandipan Das
	<sandipan.das@amd.com>, Lai Jiangshan <jiangshanlai@gmail.com>, Hans de Goede
	<hdegoede@redhat.com>, "Chatre, Reinette" <reinette.chatre@intel.com>, Daniel
 Sneddon <daniel.sneddon@linux.intel.com>, Breno Leitao <leitao@debian.org>,
	Nikunj A Dadhania <nikunj@amd.com>, Brian Gerst <brgerst@gmail.com>, Sami
 Tolvanen <samitolvanen@google.com>, "Alexander Potapenko"
	<glider@google.com>, Andrew Morton <akpm@linux-foundation.org>, Arnd Bergmann
	<arnd@arndb.de>, "Eric W . Biederman" <ebiederm@xmission.com>, Kees Cook
	<keescook@chromium.org>, Masami Hiramatsu <mhiramat@kernel.org>, Masahiro
 Yamada <masahiroy@kernel.org>, Ze Gao <zegao2021@gmail.com>, "Raj, Ashok"
	<ashok.raj@intel.com>, "Jason A . Donenfeld" <Jason@zx2c4.com>, "Mark
 Rutland" <mark.rutland@arm.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>, Jane Malalane
	<jane.malalane@citrix.com>, "Woodhouse, David" <dwmw@amazon.co.uk>,
	"Ostrovsky, Boris" <boris.ostrovsky@oracle.com>, Arnaldo Carvalho de Melo
	<acme@redhat.com>, Yantengsi <siyanteng@loongson.cn>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Sathvika Vasireddy <sv@linux.ibm.com>
Subject: RE: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
Thread-Topic: [PATCH RESEND v9 33/36] KVM: VMX: Add VMX_DO_FRED_EVENT_IRQOFF
 for IRQ/NMI handling
Thread-Index: AQHZxFc6Fm9A65hsiUKYksIzWWSQ5K/VzGiAgABBoTCAArbF0A==
Date: Thu, 3 Aug 2023 16:58:31 +0000
Message-ID: <SA1PR11MB6734A497DC7A0243A2F401EEA808A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230801083553.8468-1-xin3.li@intel.com>
 <20230801083553.8468-7-xin3.li@intel.com> <ZMlWe5TgS6HM98Mg@google.com>
 <SA1PR11MB673440DE4294DDE87D93AE54A80AA@SA1PR11MB6734.namprd11.prod.outlook.com>
In-Reply-To: <SA1PR11MB673440DE4294DDE87D93AE54A80AA@SA1PR11MB6734.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|CH3PR11MB7913:EE_
x-ms-office365-filtering-correlation-id: 1340e906-affa-4bcd-abbb-08db9442dde2
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ZM3l2evIVK4S4X2wwWEz9wOpONWmR1I7RGBz23BuvnVFa3lp4Xq0r3P0iu9nAheAfbjd8MXQ39VbuRzo/CXTp10uEP3eavR/J72iYqucerJ6zt6iIC8PJ1+XhzvGNVyK7u6MavVrU9TEgSqjbbZQNezJ8OGwJG7neikGSU7+mlSxi9hoR5i8RxW/GWTcyYl328UQC8z7m9oGtfEVXaoerRJFktRRmqHpA1Du28JwNrG1vzMhgToR3aXs31g2fw5pkgfIGdIj34IrOhwOxf/5D6H/vK7+kxVCt9SrT6lciPmkYEJmgP/DIPLyE7amCUS5iWyr1Msra6yE6G/Rx/wcCjd/OHB/54t3kNkA++LM10TlRvZVQTb0fFoCoIFPCPSA5Sf53eZ25OhWuy9vkUaLvhmfoq+A/zQktJbzAdmDbUnVKOdh88SqRvDGg0LgfCU/vE5uIe1CCLjqMyWhB+vLh4UBa57mJluve9CtB76BV9fRO1TLHhq70xquwRkSVh7s4QktdeldifQ/RFdKIviCO3akc9McrG65iBkw4WPwpqPn/5cEDrUF5XxjkcPOiQIz+3YW6oMRjBCwwZVbiCohQ3uP+IC1/Mmqlb8/L6B2l+Atn+3yyUfe12pxX+UQqp95
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199021)(41300700001)(8936002)(8676002)(83380400001)(186003)(6506007)(26005)(82960400001)(86362001)(38100700002)(122000001)(38070700005)(316002)(71200400001)(478600001)(54906003)(9686003)(7696005)(66556008)(33656002)(110136005)(55016003)(64756008)(66446008)(4326008)(66476007)(66946007)(76116006)(2906002)(7366002)(7406005)(7416002)(52536014)(5660300002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?fO8D8G6PJfDfa2DVRt831A/mgOTPQYjjZkj10MRsn72LULvaVp7cyN8JtSzv?=
 =?us-ascii?Q?45v0/JYCj2iW6Ddx2bW2BX9UG/QWaVW/FPd3OvkqhtV+EP7xndAWGtHrqD1H?=
 =?us-ascii?Q?50MzbLH1/r4QXBcTkjORa6yb8AQSOOYib1j+uprWFtFO7Cj649UMeGfogj5b?=
 =?us-ascii?Q?k6ME0dVjxMZzHJnS0N3Axj88e9MXmwBYKxXvf3CzLWRH/XOziRs89+Vq3pMW?=
 =?us-ascii?Q?XVVX2LY18V9W0RevyRJHWTqE6BtsyPptf1MqDEbSFI3GNKJSvWCu3FvXDl9b?=
 =?us-ascii?Q?Ws5NUFWQtkO7LzkZF68iraPhj2CvgeZ0MMxCUb7c0tb7KEReJb//0QpiK1fJ?=
 =?us-ascii?Q?2/ViytgsQH+jU/BFcrJ0CV5/XDQ+T6ap5tqxpHFzm62I/pys6bn8VF92lEMf?=
 =?us-ascii?Q?ekdc/hm1BDDdHIv6OJJhLjRvLEqepSbPskigHwuFABfrDaApbZmg+EpIMyly?=
 =?us-ascii?Q?jS2pVBJE/DYjCc4zclA07T6Z+x8XANmkAm9hDfnwVesyolWmplUTvxjlCEgk?=
 =?us-ascii?Q?lAhadzhG2ZBOd7Yzio452XRSexjZ/bLzqPzsttGSvnRKnyM5iqELTonrqGc2?=
 =?us-ascii?Q?XHRzubs7IvQYhgG6C9+VEFhFm4yqYiTfDYTdo+zK9d7wwQ1bGt5ADl72pArY?=
 =?us-ascii?Q?IzcrBJtmp7XDSdtbaPxG5s2d8Y/JL91ywBG+CLJ/ToVtS+Jo7BzhsQy3GVbZ?=
 =?us-ascii?Q?yoU3UL6wWfsBBR+xr2sb/nf5mbW6PeL7/7qR0I9XhA4pgnrW5ezphW1fxRwg?=
 =?us-ascii?Q?HVV8s6T/h5pvjQ8E9UJuq48VKAr+Yceh6Ggz3ET2Pf72RHi1cwaDr3Aw96ln?=
 =?us-ascii?Q?X0T/NgpsroVatD5aMgygyAE5rZFkuYDAspzGBGqL3B9zalpnW6Grflw/ybKy?=
 =?us-ascii?Q?OgUSEaNEggPQbWd30xm9BMDJax5M7gp50Uev1D1QYCGbs16/lFh8wMIxEhW1?=
 =?us-ascii?Q?a5XqDH2lzZCy2cQ3+co4SCvsPkdIMg3Wnr8j0OHqx7FlyIRHPJSE2mE+WKzj?=
 =?us-ascii?Q?iQNWNKGyEjxo1ib+NZOLprWZQTfiQ+uWQVMlzx55DPyjkdk0T16DiaBhyQEn?=
 =?us-ascii?Q?l3qoFlbewzl+2d3Mc1sCLCtGxMgtkJS33hgs1SD28V0fOkuboey4bPPfqecY?=
 =?us-ascii?Q?mzXI8C8IVwDrGK7HyZhIs7ETXpyS4XqcWNRWWWSryfPAE22fMtUbklTvTWKV?=
 =?us-ascii?Q?JVPIw42QG4O4XXdji9RBpS1wZalvanTvsuKIEVp64hSz1qPpD3m7HmNIEGxx?=
 =?us-ascii?Q?Chn0HEm+r5y6amPM+grXXdq/o1y1CV1mQhhUBnkdgO6XqBQjgwQ1S+e2yRm4?=
 =?us-ascii?Q?7y1jt8yAOttqF00wNscPhWyzpborfU2mo5MN/l+bDU0VybCKjVXQB60qxG8i?=
 =?us-ascii?Q?TWVBYeosZVNe3euNplABbxRX1Z6wXuRjTMDl1aGsV+BrgdfPwYLncIQ+oM5l?=
 =?us-ascii?Q?wwmXYZyu147doDVRuoWTuIszer2AX/OdYlq80G9z0X3s9LBDwRtYbj1V+SdA?=
 =?us-ascii?Q?05eqxpVmFinJcJT2bmhM823hjAqNBIAkLus7eLXckQkDVqRSj5n95zEIT+ol?=
 =?us-ascii?Q?KfQYuzUPgpIw3flH8uc=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1340e906-affa-4bcd-abbb-08db9442dde2
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2023 16:58:31.4173
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rvadL9VkWw6g5APvNrm1GN3Yrg5AxRdKs5O+sh9uC6LPCEMPy69e7Su8lkjXx/63pkMSS/SlNtfxIPg82G4Etw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7913
X-OriginatorOrg: intel.com

> > Jumping way back to providing a wrapper for FRED, if we do that, then
> > there's no need to include calling.h, and the weird wrinkle about the
> > ERET target kinda goes away too.  E.g. provide this in
> > arch/x86/entry/entry_64_fred.S
> >
> > 	.section .text, "ax"
> >
> > /* Note, this is instrumentation safe, and returns via RET, not ERETS!
> > */ #if IS_ENABLED(CONFIG_KVM_INTEL)
> > SYM_CODE_START(fred_irq_entry_from_kvm)
> > 	FRED_ENTER
> > 	call external_interrupt
> > 	FRED_EXIT
> > 	RET
> > SYM_CODE_END(fred_irq_entry_from_kvm)
> > EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
> > #endif
> >
> > and then the KVM side for this particular chunk is more simply:
> >
> > 	lea 1f(%rip), %rax
> > 	push %rax
> > 	push $0		/* FRED error code, 0 for NMI and external
> > interrupts */
> >
> > 	\branch_insn \branch_target

The call instruction here inserts a return address between the FRED
stack frame just created and the GP regs pushed in the FRED wrapper,
thus it doesn't work.  I only realize it after looking at the stack layout
in the Intel Simics emulator.

> > 1:
> > 	VMX_DO_EVENT_FRAME_END
> > 	RET
>
> > Alternatively, the whole thing could be shoved into
> > arch/x86/entry/entry_64_fred.S, but at a glance I don't think that
> > would be a net positive due to the need to handle IRQs vs. NMIs.

But following your idea of "the whole thing could be shoved into ...",
plus the patch you posted, I get a patch as the following, which works
and gets rid of the 2 warnings of "with modified stack frame".

After calling external_interrupt() and POP_REGS, we can also use ERETS,
thus to unify the stack adjustment.

diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.=
S
index de9e2dc70e40..2b638914c6ed 100644
--- a/arch/x86/entry/entry_64_fred.S
+++ b/arch/x86/entry/entry_64_fred.S
@@ -4,12 +4,87 @@
  */
=20
 #include <asm/asm.h>
+#include <asm/export.h>
 #include <asm/fred.h>
+#include <asm/segment.h>
=20
 #include "calling.h"
=20
 	.code64
=20
+#if IS_ENABLED(CONFIG_KVM_INTEL)
+.macro FRED_ENTRY_FROM_KVM event_func nmi=3D0
+	ENDBR
+#ifdef CONFIG_X86_FRED
+	push %rbp
+	mov %rsp, %rbp
+
+	/*
+	 * Don't check the FRED stack level, the call stack leading to this
+	 * helper is effectively constant and shallow (relatively speaking).
+	 *
+	 * Emulate the FRED-defined redzone and stack alignment.
+	 */
+	sub $(FRED_CONFIG_REDZONE_AMOUNT << 6), %rsp
+	and $FRED_STACK_FRAME_RSP_MASK, %rsp
+
+	/*
+	 * Start to push a FRED stack frame, which is always 64 bytes:
+	 *
+	 * +--------+-----------------+
+	 * | Bytes  | Usage           |
+	 * +--------+-----------------+
+	 * | 63:56  | Reserved        |
+	 * | 55:48  | Event Data      |
+	 * | 47:40  | SS + Event Info |
+	 * | 39:32  | RSP             |
+	 * | 31:24  | RFLAGS          |
+	 * | 23:16  | CS + Aux Info   |
+	 * |  15:8  | RIP             |
+	 * |   7:0  | Error Code      |
+	 * +--------+-----------------+
+	 */
+	push $0					/* Reserved, must be 0 */
+	push $0					/* Event data, 0 for IRQ/NMI */
+
+	shl $32, %rdi				/* Event type and vector */
+	.if \nmi
+	bts $FRED_SSX_NMI_BIT, %rdi
+	.endif
+	bts $FRED_SSX_64_BIT_MODE_BIT, %rdi
+	or $__KERNEL_DS, %rdi
+	push %rdi
+	push %rbp
+	pushf
+	mov $__KERNEL_CS, %rax
+	push %rax
+
+	/*
+	 * Unlike the IDT event delivery, FRED _always_ pushes an error code
+	 * after pushing the return RIP, thus the CALL instruction CANNOT be
+	 * used here to push the return RIP, otherwise there is no chance to
+	 * push an error code before invoking the IRQ/NMI handler.
+	 *
+	 * Use LEA to get the return RIP and push it, then push an error code.
+	 */
+	lea 1f(%rip), %rax
+	push %rax				/* Return RIP */
+	push $0					/* Error code, 0 for IRQ/NMI */
+
+	PUSH_AND_CLEAR_REGS
+	movq %rsp, %rdi				/* %rdi -> pt_regs */
+	call \event_func
+	POP_REGS
+	ERETS
+1:
+	pop %rbp
+	RET
+#else /* CONFIG_X86_FRED */
+	ud2
+#endif /* CONFIG_X86_FRED */
+.endm
+#endif /* CONFIG_KVM_INTEL */
+
 .macro FRED_ENTER
 	UNWIND_HINT_END_OF_STACK
 	ENDBR
@@ -22,6 +97,16 @@
 	POP_REGS
 .endm
=20
+	.section .text, "ax"
+
+/* Note, this is instrumentation safe, and returns via RET */
+#if IS_ENABLED(CONFIG_KVM_INTEL)
+SYM_CODE_START(fred_irq_entry_from_kvm)
+	FRED_ENTRY_FROM_KVM external_interrupt
+SYM_CODE_END(fred_irq_entry_from_kvm)
+EXPORT_SYMBOL_GPL(fred_irq_entry_from_kvm);
+#endif
+
 	.section .noinstr.text, "ax"
=20
 /*
@@ -55,3 +140,10 @@ SYM_CODE_START_NOALIGN(fred_entrypoint_kernel)
 	FRED_EXIT
 	ERETS
 SYM_CODE_END(fred_entrypoint_kernel)
+
+#if IS_ENABLED(CONFIG_KVM_INTEL)
+SYM_CODE_START(fred_nmi_entry_from_kvm)
+	FRED_ENTRY_FROM_KVM fred_exc_nmi nmi=3D1
+SYM_CODE_END(fred_nmi_entry_from_kvm)
+EXPORT_SYMBOL_GPL(fred_nmi_entry_from_kvm);
+#endif
diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index 3c91f0eae62e..c7288213de14 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -122,6 +122,10 @@ DECLARE_FRED_HANDLER(fred_exc_double_fault);
 extern asmlinkage __visible void fred_entrypoint_user(void);
 extern asmlinkage __visible void fred_entrypoint_kernel(void);
=20
+/* For KVM VMX to handle IRQs in IRQ induced VM exits */
+extern asmlinkage __visible void fred_irq_entry_from_kvm(unsigned int even=
t_info);
+extern asmlinkage __visible void fred_nmi_entry_from_kvm(unsigned int even=
t_info);
+
 #endif /* __ASSEMBLY__ */
=20
 #endif /* CONFIG_X86_FRED */
diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
index be275a0410a8..f6f557c6329e 100644
--- a/arch/x86/kvm/vmx/vmenter.S
+++ b/arch/x86/kvm/vmx/vmenter.S
@@ -40,6 +40,20 @@
 	push %_ASM_BP
 	mov %_ASM_SP, %_ASM_BP
=20
+	/*
+	 * Start to push an IDT IRQ/NMI stack frame, which is 40 bytes on
+	 * x86_64 and 24 bytes on x86_32:
+	 *
+	 * +-------+-------------------+
+	 * | Bytes | Usage             |
+	 * +-------+-------------------+
+	 * | 39:32 | SS (x86_64 only)  |
+	 * | 31:24 | RSP (x86_64 only) |
+	 * | 23:16 | RFLAGS            |
+	 * |  15:8 | CS                |
+	 * |   7:0 | RIP               |
+	 * +-------+-------------------+
+	 */
 #ifdef CONFIG_X86_64
 	/*
 	 * Align RSP to a 16-byte boundary (to emulate CPU behavior) before
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index df461f387e20..83c89239fcff 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6961,14 +6961,16 @@ static void handle_external_interrupt_irqoff(struct=
 kvm_vcpu *vcpu)
 {
 	u32 intr_info =3D vmx_get_intr_info(vcpu);
 	unsigned int vector =3D intr_info & INTR_INFO_VECTOR_MASK;
-	gate_desc *desc =3D (gate_desc *)host_idt_base + vector;
=20
 	if (KVM_BUG(!is_external_intr(intr_info), vcpu->kvm,
 	    "unexpected VM-Exit interrupt info: 0x%x", intr_info))
 		return;
=20
 	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
-	vmx_do_interrupt_irqoff(gate_offset(desc));
+	if (cpu_feature_enabled(X86_FEATURE_FRED))
+		fred_irq_entry_from_kvm((EVENT_TYPE_HWINT << 16) | vector);
+	else
+		vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base + vector)=
);
 	kvm_after_interrupt(vcpu);
=20
 	vcpu->arch.at_instruction_boundary =3D true;
@@ -7254,7 +7256,10 @@ static noinstr void vmx_vcpu_enter_exit(struct kvm_v=
cpu *vcpu,
 	if ((u16)vmx->exit_reason.basic =3D=3D EXIT_REASON_EXCEPTION_NMI &&
 	    is_nmi(vmx_get_intr_info(vcpu))) {
 		kvm_before_interrupt(vcpu, KVM_HANDLING_NMI);
-		vmx_do_nmi_irqoff();
+		if (cpu_feature_enabled(X86_FEATURE_FRED))
+			fred_nmi_entry_from_kvm((EVENT_TYPE_NMI << 16) | NMI_VECTOR);
+		else
+			vmx_do_nmi_irqoff();
 		kvm_after_interrupt(vcpu);
 	}



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:16:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576531.902765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbwR-0002cQ-2L; Thu, 03 Aug 2023 17:16:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576531.902765; Thu, 03 Aug 2023 17:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbwQ-0002cJ-Vn; Thu, 03 Aug 2023 17:16:50 +0000
Received: by outflank-mailman (input) for mailman id 576531;
 Thu, 03 Aug 2023 17:16:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D5Ec=DU=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qRbwP-0002bQ-Hi
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 17:16:49 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86a68162-3221-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 19:16:48 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5D49C82852F1;
 Thu,  3 Aug 2023 12:16:46 -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 IrDwIyeYSX4W; Thu,  3 Aug 2023 12:16:45 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 737FA8285416;
 Thu,  3 Aug 2023 12:16:45 -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 EPQiwLxHX71q; Thu,  3 Aug 2023 12:16:45 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 1F12C82852F1;
 Thu,  3 Aug 2023 12:16:45 -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: 86a68162-3221-11ee-b269-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 737FA8285416
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691083005; bh=kOK47EPTNtM3IAKsvYQKRr4Q8E0gVq5NmMdRgtphQa4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=rA5belChoe4thu0NT5lVVisIB89PwzTAkCj4Eb5B2jjfIeoOxwUae7lv1hpwsl6dw
	 EeLWA1YYcY1jS8IdNBMSGlTm7JvrXUcC+VEoHndqj6hk//Td6JTzBNhVtG0Vi4bBKo
	 Pp+is4bVlhVnkwxfkoqVHbS+bCj3DuVnO0QOUTwc=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <31a31730-583e-6a22-48f2-44539202ef2d@raptorengineering.com>
Date: Thu, 3 Aug 2023 12:16:44 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 2/3] xen/ppc: Relocate kernel to physical address 0 on
 boot
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690582001.git.sanastasio@raptorengineering.com>
 <0802fad2743526da4fe49f0225e14161464f192e.1690582001.git.sanastasio@raptorengineering.com>
 <3b6b0984-89fb-268e-970a-0c7eb19a4863@suse.com>
 <428aa0e8-70bb-efb5-2b5a-54229b77c5a3@raptorengineering.com>
 <f62e5ac7-500a-6909-90f2-4580c14e2a18@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <f62e5ac7-500a-6909-90f2-4580c14e2a18@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 1:08 AM, Jan Beulich wrote:
> On 01.08.2023 01:37, Shawn Anastasio wrote:
>> On 7/31/23 10:46 AM, Jan Beulich wrote:
>>> On 29.07.2023 00:21, Shawn Anastasio wrote:
>>>> +    /* If we're at the correct address, skip copy */
>>>> +    cmpld   %r1, %r12
>>>> +    beq     .L_correct_address
>>>
>>> Can this ever be the case, especially with the MMU-off behavior you
>>> describe in the comment above? Wouldn't you need to ignore the top
>>> four bits in the comparison?
>>
>> It will always be the case after the code jumps to XEN_VIRT_START after
>> the copy takes place.
> 
> Well, of course.
> 
>> I could have it jump past the copy loop entirely,
>> but then I'd need to duplicate the TOC setup.
> 
> I don't think I understand this part of your reply: .L_correct_address
> _is_ past the copy loop.

Sorry, let me elaborate. I meant that I could have the end of the copy
loop (the mtctr + btctr preceeding .L_correct_address) jump to
(XEN_VIRT_START + .L_correct_address) as opposed to XEN_VIRT_START so
that the address comparison you originally commented on wouldn't be hit
again.

This would mean adding another TOC setup block at .L_correct_address,
though, since we'd be skipping over the one at the beginning of the
routine and the TOC needs to be reconfigured after the relocation.

>>>> +    /* Copy bytes until _end */
>>>> +    LOAD_REG_ADDR(%r11, _end)
>>>> +    addi    %r1, %r1, -8
>>>> +    li      %r13, -8
>>>> +.L_copy_xen:
>>>> +    ldu     %r10, 8(%r1)
>>>> +    stdu    %r10, 8(%r13)
>>>> +    cmpld   %r1, %r11
>>>> +    blt     .L_copy_xen
>>>> +
>>>> +    /* Jump to XEN_VIRT_START */
>>>> +    mtctr   %r12
>>>> +    bctr
>>>> +.L_correct_address:
>>>
>>> Can the two regions potentially overlap? Looking at the ELF header
>>> it's not clear to me what guarantees there are that this can't
>>> happen.
>>
>> As I understand it, any bootloader that placed the kernel at a low
>> enough address for this to be an issue wouldn't be able to boot Linux or
>> FreeBSD, so in practice it's a safe bet that this won't be the case.
> 
> Fair enough then.
> 
> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:17:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576533.902777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbwz-00034d-DN; Thu, 03 Aug 2023 17:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576533.902777; Thu, 03 Aug 2023 17:17:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRbwz-00034W-97; Thu, 03 Aug 2023 17:17:25 +0000
Received: by outflank-mailman (input) for mailman id 576533;
 Thu, 03 Aug 2023 17:17:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRbwx-00033Z-NR
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 17:17:23 +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 9a175a9b-3221-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 19:17:22 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691083031153710.1109667925965;
 Thu, 3 Aug 2023 10:17: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: 9a175a9b-3221-11ee-b269-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691083032; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gz4cRN/UxO1k9s/AeHLVWvWE7UGRKSMCOvgsJYYJMPiD7a7TPQqI5n4ZTpVu1uU1XvLCHgV+Maty7ymb0pL7PslJP7bgT7gtkYsStEz4mBbxGbwXHhN4aAZLtm1ZEhKWNFZub1aXbDq08EoyTcQUBqphT8Zi1zQeEeAMob03nw4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691083032; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=AmEf/+ki1UJIP4coeTooEdy1afIkuTFZimjus8hcjZc=; 
	b=N2X5Yd9Mx4hU2ZaPbKyUtia56cA9xJPr8mpLDByH8dmw3g+t95jn8zLwRzXJL+zJTVCqbVIbfd2xUuNLU+im25EweqVk7cvfgaWOrqDw/BwZIrvEH2t59/sMKH91LY/+wikBVYl6YZdusncEG9AkrxwNlxKjiDtDXT7A9NQDqDE=
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=1691083032;
	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=AmEf/+ki1UJIP4coeTooEdy1afIkuTFZimjus8hcjZc=;
	b=hmEKx9wCh+NW3rupnWwk4ZGDvlaNQ6mlgDuvxsIekmSYdognA3tBw05jWmLL9VaB
	ZDtWVvs5/VhnQSu1xzJHTsxUEeI39yGcx6IXCYAa8KrwPnEVmB1M7gfF6YdHW9Lymnl
	ciUB/qoV/ES2lxQ+coYNqIE/E/gatLg1o02N5qAg=
Message-ID: <b9fdd60a-e847-76a8-f29e-a431fae6d9ba@apertussolutions.com>
Date: Thu, 3 Aug 2023 13:17:09 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <52a02ef3-80a7-9000-4644-38adbb5a2573@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <52a02ef3-80a7-9000-4644-38adbb5a2573@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 08:19, Jan Beulich wrote:
> On 03.08.2023 12:44, Daniel P. Smith wrote:
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -332,6 +332,15 @@ M:	Nick Rosbrook <rosbrookn@gmail.com>
>>   S:	Maintained
>>   F:	tools/golang
>>   
>> +HYPERLAUNCH
>> +M:	Daniel P. Smith <dpsmith@apertussolutions.com>
>> +M:	Christopher Clark <christopher.w.clark@gmail.com>
>> +W:	https://wiki.xenproject.org/wiki/Hyperlaunch
>> +S:	Supported
>> +F:	docs/design/launch/hyperlaunch.rst
>> +F:	docs/design/launch/hyperlaunch-devicetree.rst
>> +F:	xen/common/domain-builder/
> 
> I would generally suggest that maintainership changes come in a separate
> patch. Furthermore aiui lots of stuff is going to be moved from elsewhere,
> and such code may better stay under its original maintainership (unless
> it was agreed that it would shift). So initially maybe best to name the
> original maintainers here under M: and add the two of you with R: ?

I can do this as a separate patch and mark it as fix for `d4f3125f1b 
docs/designs/launch: Hyperlaunch design document` where Christopher and 
I are the original authors of the only existing files covered under this 
new MAINTAINERSHIP entry currently.

As far as code moving here, the dom0less rebranding proposal called for 
an additional MAINTAINERS section titled HYPERLAUNCH DOM0LESS 
COMPATIBILITY that would retain the maintainers (or new ones if Arm 
wanted to propose others) from the ARM section.

The purpose of putting Christopher and I at the top are for several reasons,

  - The code in v1 was conglomerations of reuses/relocated code and a 
substantial amount of new code around it.

- As mentioned regarding the HYPERLAUNCH DOM0LESS COMPATIBILITY section, 
there may be paths below HYPERLAUNCH that are owned by others, but 
ultimately we conceived, designed, and created the capability. So it 
falls on us to ensure anything done in sub-feature, doesn't break or 
violate the larger design we sought to achieve while also not letting it 
fall back on THE REST.

> I also don't think it makes sense to include a not-yet-populated path
> here; who knows what this is going to change to by the time things get
> committed.

Well, if my proposed plan is executed as I suggested, hopefully there 
would be a series very soon that would move the dom0less device tree 
parsing under that path. Now to be inline with the above and address 
your concern, as the HYPERLAUNCH DOM0LESS COMPATIBILITY section is added 
to cover the file(s) the series adds, the HYPERLAUNCH section could then 
be updated with the top level path.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:22:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576541.902786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRc2I-0004hN-6b; Thu, 03 Aug 2023 17:22:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576541.902786; Thu, 03 Aug 2023 17:22:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRc2I-0004hG-1m; Thu, 03 Aug 2023 17:22:54 +0000
Received: by outflank-mailman (input) for mailman id 576541;
 Thu, 03 Aug 2023 17:22: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 1qRc2G-0004h6-Vj; Thu, 03 Aug 2023 17:22: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 1qRc2G-0004z8-R3; Thu, 03 Aug 2023 17:22: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 1qRc2G-0001gw-BB; Thu, 03 Aug 2023 17:22:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRc2G-0005Jq-Af; Thu, 03 Aug 2023 17:22:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dXnUyBBcOVecn+RAjV02UWsgn95A5LZvR6wsmIlgkLA=; b=pU1OxnFvQr8u1wN5cYBKrI708b
	pE79GMNleoqOSaWT1uC1TIi9U6sw+4RLqpusgst4dB3vPNmhkUkrcOOxpQCijACgd9Wk3s9dB68T0
	agQOhkfnvYwPOjS6gbWnN9PfIzZLvK2hCQmqMdTzO4NlfBPoVW37b+f/0eSz71ezamaw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182114-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182114: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-vhd:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=38a6de80b917b2a822cff0e38d83563ab401c890
X-Osstest-Versions-That:
    qemuu=ccb86f079a9e4d94918086a9df18c1844347aff8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 17:22:52 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd        7 xen-install         fail pass in 182169-retest
 test-armhf-armhf-xl-vhd       8 xen-boot            fail pass in 182169-retest

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

version targeted for testing:
 qemuu                38a6de80b917b2a822cff0e38d83563ab401c890
baseline version:
 qemuu                ccb86f079a9e4d94918086a9df18c1844347aff8

Last test of basis   182067  2023-07-29 02:34:52 Z    5 days
Failing since        182096  2023-07-31 15:38:52 Z    3 days    2 attempts
Testing same since   182114  2023-08-02 10:38:51 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  CĂ©dric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Gavin Shan <gshan@redhat.com>
  Helge Deller <deller@gmx.de>
  Joel Stanley <joel@jms.id.au>
  Klaus Jensen <k.jensen@samsung.com>
  Nicholas Piggin <npiggin@gmail.com>
  Olaf Hering <olaf@aepfle.de>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Warner Losh <imp@bsdimp.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   ccb86f079a..38a6de80b9  38a6de80b917b2a822cff0e38d83563ab401c890 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:29:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576547.902795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRc8v-0005LD-Rd; Thu, 03 Aug 2023 17:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576547.902795; Thu, 03 Aug 2023 17:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRc8v-0005L6-P5; Thu, 03 Aug 2023 17:29:45 +0000
Received: by outflank-mailman (input) for mailman id 576547;
 Thu, 03 Aug 2023 17:29: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qRc8u-0005L0-HG
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 17:29:44 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 530f6042-3223-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 19:29:41 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691083774724241.91618186962626;
 Thu, 3 Aug 2023 10:29:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 530f6042-3223-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691083776; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=mrMqGmqY1Toa3lpPDrAw0S2wyoznZsujWLJHpJtEfkWy9m5ZPwN5oJ/S9JcXWacZ73E5kjVWjd5ZChWGp4W8VzY1QDQ3FZAvspoAa42iP7ylLMRRuH4jcuW3AUiY9P+RFxh74VhDBbHU2C4VGca5F3s3PariPewE0AvsHgk0UKc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691083776; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=GXeUjwwr+A8yvrvDsQGAKvZOE1KzahYN6RE+9FJ12L4=; 
	b=D3fzz4PC4xZFNK380u2gpHeRmIOAsv6+vIDQ45re/1obvHF6MowFFxl63XRLnFvlcgmPt3EKs6kup6WnaQuLlo9QSr9xccerslX++UnNJ7ABtyWDFPtpQk9dwRs+rBARz7yKcXxbiZhSRrlZwBdd6s4Z7OF2uHstOCCUYGoAu2M=
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=1691083776;
	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=GXeUjwwr+A8yvrvDsQGAKvZOE1KzahYN6RE+9FJ12L4=;
	b=eBOoCQlmqM1QMbMAjcApXLiJTR2vdd8WhaZC8k7b1aezpydhKhfGcpAZRUO+b/ja
	7PFYEtr0R29mRIR8W+i8VvpYED9KwBT4ehE+GQ0HguzVJ3xBH0wDXMneJrW/ESvPsIK
	SkL0OYTavsXKXynBaT4f6qIir40dl73EgdnN5xLU=
Message-ID: <956a8409-a02f-41f0-5ddd-051d47907ad9@apertussolutions.com>
Date: Thu, 3 Aug 2023 13:29:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <476e5c13-2b4f-d115-7237-d5220ec13cf2@amd.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <476e5c13-2b4f-d115-7237-d5220ec13cf2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 08:48, Michal Orzel wrote:
> Hi Daniel,
> 
> On 03/08/2023 12:44, Daniel P. Smith wrote:
>>
>>
>> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
>> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
> IIUC, you just try to untangle the code for fdt from dt (unflattened). CORE_DEVICE_TREE is
> a bit ambiguous in my opinion, so maybe just CONFIG_FDT, especially since you use it to guard libfdt/?

Untangle is a very good way to phrase it. ( ^_^)

Yes, I don't see any reason why CONFIG_FDT could be used instead.

>> introduced for when the ability of parsing DTB files is needed by a capability
>> such as hyperlaunch.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   MAINTAINERS                      |   8 +-
>>   xen/arch/arm/bootfdt.c           | 141 +---------------------------
>>   xen/arch/arm/domain_build.c      |   1 +
>>   xen/arch/arm/include/asm/setup.h |   6 --
>>   xen/common/Kconfig               |   4 +
>>   xen/common/Makefile              |   3 +-
>>   xen/common/fdt.c                 | 153 +++++++++++++++++++++++++++++++
>>   xen/include/xen/device_tree.h    |  50 +---------
>>   xen/include/xen/fdt.h            |  79 ++++++++++++++++
>>   9 files changed, 246 insertions(+), 199 deletions(-)
>>   create mode 100644 xen/common/fdt.c
>>   create mode 100644 xen/include/xen/fdt.h
>>
> [...]
> 
>> diff --git a/xen/common/fdt.c b/xen/common/fdt.c
>> new file mode 100644
>> index 0000000000..8d7acaaa43
>> --- /dev/null
>> +++ b/xen/common/fdt.c
>> @@ -0,0 +1,153 @@
>> +/*
> SPDX missing for a new file

Ack.

>> + * Flattened Device Tree
>> + *
>> + * Copyright (C) 2012-2014 Citrix Systems, Inc.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
>> +#include <xen/fdt.h>
>> +#include <xen/init.h>
>> +#include <xen/lib.h>
>> +#include <xen/libfdt/libfdt.h>
>> +#include <xen/types.h>
>> +
>> +bool __init device_tree_node_matches(
>> +    const void *fdt, int node, const char *match)
> FWICS, this code style (that you use for every function in this patch) is rather uncommon in Xen so maybe better to follow the generic style.
> Also, this would avoid changing the style of functions/prototypes you move.

Um, my understanding is that this is the official style for Xen function 
definitions, unless it has changed due to MISRA, and that anytime a 
function definition is changed that the style should be corrected to 
this form.

Another coding style change I have been pinged on in the past that I 
surprised I have not been pinged on for this series is allowing the use 
of the short hand notation for ints, e.g. u8, u16, and u32.

> [...]
> 
>> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
>> index 1d79e23b28..82db38b140 100644
>> --- a/xen/include/xen/device_tree.h
>> +++ b/xen/include/xen/device_tree.h
>> @@ -14,13 +14,12 @@
>>   #include <asm/device.h>
>>   #include <public/xen.h>
>>   #include <public/device_tree_defs.h>
>> +#include <xen/fdt.h>
>>   #include <xen/kernel.h>
>>   #include <xen/string.h>
>>   #include <xen/types.h>
>>   #include <xen/list.h>
>>
>> -#define DEVICE_TREE_MAX_DEPTH 16
>> -
>>   /*
>>    * Struct used for matching a device
>>    */
>> @@ -159,17 +158,8 @@ struct dt_raw_irq {
>>       u32 specifier[DT_MAX_IRQ_SPEC];
>>   };
>>
>> -typedef int (*device_tree_node_func)(const void *fdt,
>> -                                     int node, const char *name, int depth,
>> -                                     u32 address_cells, u32 size_cells,
>> -                                     void *data);
>> -
>>   extern const void *device_tree_flattened;
>>
>> -int device_tree_for_each_node(const void *fdt, int node,
>> -                              device_tree_node_func func,
>> -                              void *data);
>> -
>>   /**
>>    * dt_unflatten_host_device_tree - Unflatten the host device tree
>>    *
>> @@ -214,14 +204,6 @@ extern const struct dt_device_node *dt_interrupt_controller;
>>   struct dt_device_node *
>>   dt_find_interrupt_controller(const struct dt_device_match *matches);
>>
>> -#define dt_prop_cmp(s1, s2) strcmp((s1), (s2))
>> -#define dt_node_cmp(s1, s2) strcasecmp((s1), (s2))
>> -#define dt_compat_cmp(s1, s2) strcasecmp((s1), (s2))
>> -
>> -/* Default #address and #size cells */
>> -#define DT_ROOT_NODE_ADDR_CELLS_DEFAULT 2
>> -#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
>> -
>>   #define dt_for_each_property_node(dn, pp)                   \
>>       for ( pp = (dn)->properties; (pp) != NULL; pp = (pp)->next )
>>
>> @@ -231,16 +213,6 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
>>   #define dt_for_each_child_node(dt, dn)                      \
>>       for ( dn = (dt)->child; (dn) != NULL; dn = (dn)->sibling )
>>
>> -/* Helper to read a big number; size is in cells (not bytes) */
>> -static inline u64 dt_read_number(const __be32 *cell, int size)
>> -{
>> -    u64 r = 0;
>> -
>> -    while ( size-- )
>> -        r = (r << 32) | be32_to_cpu(*(cell++));
>> -    return r;
>> -}
>> -
>>   /* Wrapper for dt_read_number() to return paddr_t (instead of uint64_t) */
>>   static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
> Shouldn't this also go to fdt.h as it is just a wrapper for dt_read_number() you moved?

This patch came from hyperlaunch v1 series were I only moved what I 
needed, not necessarily everything that could reasonably be moved. I 
will gladly incorporate any additional macros, inlines, and functions 
that is felt is general enough to be included.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:45:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576551.902806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRcO9-0007n2-2M; Thu, 03 Aug 2023 17:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576551.902806; Thu, 03 Aug 2023 17:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRcO8-0007mv-UV; Thu, 03 Aug 2023 17:45:28 +0000
Received: by outflank-mailman (input) for mailman id 576551;
 Thu, 03 Aug 2023 17:45:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1bzA=DU=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qRcO8-0007mo-Kt
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 17:45:28 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86cb8ffe-3225-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 19:45:26 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 373HjC50013441
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 3 Aug 2023 13:45:18 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 373HjCPp013440;
 Thu, 3 Aug 2023 10:45:12 -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: 86cb8ffe-3225-11ee-8613-37d641c3527e
Date: Thu, 3 Aug 2023 10:45:12 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Message-ID: <ZMvnqAJuBQSVbKYc@mattapan.m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
 <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
 <8074634d-fd76-43fc-8e0f-4c3a70ea5360@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <8074634d-fd76-43fc-8e0f-4c3a70ea5360@xen.org>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Aug 03, 2023 at 05:34:31PM +0100, Julien Grall wrote:
> 
> On 03/08/2023 17:13, Elliott Mitchell wrote:
> > 
> > I didn't know which way to go, so with no idea which option to choose the
> > last one ended up winning out.  Perhaps that was wrong yet I've still no
> > feedback on the actual patches.
> 
> Not sure if this is related to the lack of answer. But I didn't receive 
> any of your patches via xen-devel (I received your replies). Skimming 
> through the bounce for the xenproject mail server, I noticed a lot of 
> the following:
> 
>      host gmail-smtp-in.l.google.com [142.250.123.26]
>      SMTP error from remote mail server after pipelined end of data:
>      550-5.7.1 This message is not RFC 5322 compliant. There are 
> multiple Cc headers.
>      550-5.7.1 To reduce the amount of spam sent to Gmail, this message 
> has been
>      550-5.7.1 blocked. Please visit
>      550 5.7.1 
> https://support.google.com/mail/?p=RfcMessageNonCompliant 
> t7-20020a81e447000000b005839e8b595dsi12027284ywl.554 - gsmtp

That seems to be repotting a bug in `scripts/add_maintainers.pl`.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Thu Aug 03 17:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 17:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576557.902815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRcRE-0008Rn-Hr; Thu, 03 Aug 2023 17:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576557.902815; Thu, 03 Aug 2023 17:48: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 1qRcRE-0008Rg-FL; Thu, 03 Aug 2023 17:48:40 +0000
Received: by outflank-mailman (input) for mailman id 576557;
 Thu, 03 Aug 2023 17:48:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRcRD-0008Ra-6I
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 17:48:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRcR9-0005Ru-On; Thu, 03 Aug 2023 17:48:35 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.22.21]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRcR9-00073Z-Ha; Thu, 03 Aug 2023 17:48: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=N/IdIBSW66PnSSQRHQYBquFMdTZrRodDkH43DUfQZPo=; b=TL/HMBFJG7Z1M2lVBn4aVt8DTP
	wVhGgLGjhZFM89oBkoU5X9UMvtBowaekcRCusRlDiKN+2kNkvkfgJXRs3p3ZTnjIm+/KEK2tR+EQS
	BURe1BBC78eGcpv3IvHAeyJwPGDRp+ZyUkAmaa6ipiJJdSS/vU6hI0VfGsH4x4SWVh6g=;
Message-ID: <82914e71-fa96-490c-b584-a90045a71567@xen.org>
Date: Thu, 3 Aug 2023 18:48:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Content-Language: en-GB
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
 <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
 <8074634d-fd76-43fc-8e0f-4c3a70ea5360@xen.org>
 <ZMvnqAJuBQSVbKYc@mattapan.m5p.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZMvnqAJuBQSVbKYc@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2023 18:45, Elliott Mitchell wrote:
> On Thu, Aug 03, 2023 at 05:34:31PM +0100, Julien Grall wrote:
>>
>> On 03/08/2023 17:13, Elliott Mitchell wrote:
>>>
>>> I didn't know which way to go, so with no idea which option to choose the
>>> last one ended up winning out.  Perhaps that was wrong yet I've still no
>>> feedback on the actual patches.
>>
>> Not sure if this is related to the lack of answer. But I didn't receive
>> any of your patches via xen-devel (I received your replies). Skimming
>> through the bounce for the xenproject mail server, I noticed a lot of
>> the following:
>>
>>       host gmail-smtp-in.l.google.com [142.250.123.26]
>>       SMTP error from remote mail server after pipelined end of data:
>>       550-5.7.1 This message is not RFC 5322 compliant. There are
>> multiple Cc headers.
>>       550-5.7.1 To reduce the amount of spam sent to Gmail, this message
>> has been
>>       550-5.7.1 blocked. Please visit
>>       550 5.7.1
>> https://support.google.com/mail/?p=RfcMessageNonCompliant
>> t7-20020a81e447000000b005839e8b595dsi12027284ywl.554 - gsmtp
> 
> That seems to be repotting a bug in `scripts/add_maintainers.pl`.

I am curious to know why you think so?

I have been using scripts/add_maintainers.pl for quite a while and so 
far never seen any of my e-mail blocked.

My usual runes are:

42sh> scripts/add_maintainers.pl -d .
42sh> git-send-email *.patch

What's yours?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 18:07:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 18:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576561.902826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRcit-0002XS-1z; Thu, 03 Aug 2023 18:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576561.902826; Thu, 03 Aug 2023 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 1qRcis-0002XL-VY; Thu, 03 Aug 2023 18:06:54 +0000
Received: by outflank-mailman (input) for mailman id 576561;
 Thu, 03 Aug 2023 18:06: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRcir-0002XF-So
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 18:06:53 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84f67584-3228-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 20:06:51 +0200 (CEST)
Received: from AS9P250CA0020.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:532::22)
 by AS8PR08MB8088.eurprd08.prod.outlook.com (2603:10a6:20b:54d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 18:06:40 +0000
Received: from AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:532:cafe::60) by AS9P250CA0020.outlook.office365.com
 (2603:10a6:20b:532::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20 via Frontend
 Transport; Thu, 3 Aug 2023 18:06:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT033.mail.protection.outlook.com (100.127.140.129) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Thu, 3 Aug 2023 18:06:39 +0000
Received: ("Tessian outbound f9124736ff4f:v145");
 Thu, 03 Aug 2023 18:06:39 +0000
Received: from 2e2846a2a2f2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4C3B7C74-AF05-451D-9674-82FD4823A748.1; 
 Thu, 03 Aug 2023 18:05:57 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2e2846a2a2f2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 18:05:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9737.eurprd08.prod.outlook.com (2603:10a6:20b:607::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 18:05:53 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 18:05: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: 84f67584-3228-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E0NtMGP5Ni8N6PrPUiOBVIbo4Ed4wZldRchR3+VrtTE=;
 b=LnAHnzioTRSuoJfVu0jfG4WDc9/Hdt4ti+oIJXvRkbzVT83NIwFojKVp5vWFZC2x9XRTLdn+xQARNBDwv15PWBDw/xfCVMbBT1t8pRXAWhTQ5MyZ0kc8tWclBsapFXZDZ1svjIEaQDKwoV5VDI6TW3xezzjY/NdJ+F1CozIcV30=
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: 204ea91710035784
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AwqhfP3G9aRsrME8GbCft44S5za4Apnwfd3qqf7aETi+XpYhl9me9grfj4fsLMDzbi4cID4sTft80c7qR0wcxx++kixfIp9jHj/5uI2DDPLjP+iKWfNprkMfgRjgE5iOEImQ/fOM37I88Nd+zKhj28du2VbW9SApeVD1aS+51+mJiiU0wF+DrLdexropt5u+fxdpHdBWljJDmmfzJrANmBZGxISiewKn0gtD0Ut8f84P9XYLCxxkxHtVcLFNnLQ0bWo6HxxoWENUvBGCR/P3GzikimykauYvJNW+RqOMy/+JS4e2WJtADl/2XGzTwCWREV1XYhkRS8xED168a3PNfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E0NtMGP5Ni8N6PrPUiOBVIbo4Ed4wZldRchR3+VrtTE=;
 b=ZGVv2yjOBsmvKkDhIMcEa7urmMTNMMUqCNCjliQv4hua1xaknrFVEDCCdrpXuk42m33brLXSYtZNyxRUfJ9R47vUm7S91hcV/fLU9nb90b6PcqHiRGgMjU6YvIJD+ayLs5U7JMZkOtdUYMDtvw4mXcRFmbe9gKjEwQ1xeNMfPPtQVyT53vJKlP7FFO0oMikAcF+JVn8WXn4hwtjmwFu6YPuJHuJXbHP/4qzEyW+FpSwfKi0JQ2O/t2/kYQnlnqHWE/+7OFbGIZPbTLwK+tP/6SlK3jKNPG7bAKWzMlIN+JgL7KYsWwEvKnLQrDaLK69ObAzfuagxYoRaGVme6ZDZNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=E0NtMGP5Ni8N6PrPUiOBVIbo4Ed4wZldRchR3+VrtTE=;
 b=LnAHnzioTRSuoJfVu0jfG4WDc9/Hdt4ti+oIJXvRkbzVT83NIwFojKVp5vWFZC2x9XRTLdn+xQARNBDwv15PWBDw/xfCVMbBT1t8pRXAWhTQ5MyZ0kc8tWclBsapFXZDZ1svjIEaQDKwoV5VDI6TW3xezzjY/NdJ+F1CozIcV30=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxfetD3iMBVO78kiKHyDm3xOwK6/Y3kwA
Date: Thu, 3 Aug 2023 18:05:52 +0000
Message-ID: <CA8E22A7-D7E4-43E8-BE4E-D2C2B41D921C@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
In-Reply-To: <20230803104438.24720-3-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9737:EE_|AM7EUR03FT033:EE_|AS8PR08MB8088:EE_
X-MS-Office365-Filtering-Correlation-Id: a387b45c-033a-45e0-ddef-08db944c62b7
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:
 XWC3wZBQLrbJLJ37zhcd5WFCAj/a4zDdzncRJsYDyC6q1vNDGm8H0MzHNu9ImQYdd6qtR+Xg9s+fhts/dS5iCPxJ/WNoETyYTF8Gg8NreioMBprp8eBIyCmZd42KD8/Z+ksCCU8V4EXl1tNr1PVcNR4EnT9TGVgiSmOwS6iWHXrDjqHAPz++WH7/0TNJzyay3MbYxlCq6fIuDmgIAm3x0IuHJzOaIDCEptSulhBALxzO+yNA2dnp0jPiqP3RR8homtMW3/QBE2uUbVQpt1uFqwqJR8PmbZN3QsplZGGZt+CRMugvHSAV4srhxZvaUMM+mFdNWseFdFOiHpm9XbXxnwSM36V/AQ4Ds7PQRwShf9O75r24kSyvOJ/wgFdoQkCF0JfVi2zCgYSThMkk6z7wYlmqWxMJXgzu4NAAl3Kx0rzVW+QnxTrUmv4RHRz9e0vzweO4ndlO1NNUbRl2kQ6RPLcUUrU1/vZ/UanPFAUDGAXH6AKAiMA4jsav2eKeGXQG9ABWiyaBKMOZYo1vGgmjrZAinxMhKndsYJlGBzvnAk4bLCL2+bxcj0jyHMo9HhKSCdfjvXVkLsCRnaieXnvoH7WIY1pZ6wy4u7wQ+tJuom4Kjah7OL/LtiNoo1IL1lSsj2R3rLt1tZINFXAv99UVlwbnGuBVl/R0DxvOcGmBlgk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(376002)(136003)(396003)(346002)(39860400002)(451199021)(2616005)(6506007)(41300700001)(26005)(186003)(8676002)(8936002)(66556008)(2906002)(91956017)(4326008)(76116006)(64756008)(66946007)(5660300002)(6916009)(316002)(66446008)(66476007)(6486002)(71200400001)(6512007)(478600001)(54906003)(38100700002)(122000001)(33656002)(86362001)(36756003)(38070700005)(2004002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <738C3F0E0AA8A24E8E19EB4F09354148@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9737
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:
 AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7508740e-ef7b-4d1f-a759-08db944c46bd
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1U/z/7Pc3YcfiqBBehOnFP6/GEhSVQc7zK8GY+yRndkrZu1GPXhPVGxy442SxGGWXi6DRdhpJLwXz6pq/xCr5JFLanFL2RyifLwno2tzZNePz+ZAxjCyHem2qL6hMCmp9kWNsPRSIcjtVh+do5eghPjtWw0SqZdB33E4rte+F0deZuL6FslDDM1FbGF7Pb3EsYq6wp45Az8y81Ls9BunSfOekgDfqbg9NBieEMWVPlxZ3sdrTHTZguYQj5claq8gRhqEXqKGmf+Yfe8UZOjDdEa+49pgVgLAOPHrcKrp38arUzKj6LgmzlyUSNQpcJngMHPBycn/0ulgeRcPd9J9K/EbLlL9M9GqDi2BF7JoBt+v7V+/NY79ZYPvne/TtDY7YB+NHy/ym3u+RwFni7zWgGvJqezPQQiVuFd3vQt3eFN7eQJirAyUyPnrN701v0WTyspwXaVmoMmQGOouj6F9gOEs1SECv1e9zjRqyxF8MSGP/YsoHHVUCO/H39opo8EN3iOIMUtukwVRSPeEybdlDsq35zEJXwzTWB2z2kuX2TSVoqE7VtjG/ET7EU+oNZljpoYZ0UgzJs6XhTYrQJWS5JzL5PSmBfrR3bo9d9us3bYYDxQk4gc+ZYakwJSF1itf0orli6rcd4yOeGthajm6qOdKC1JcVdNpeY1K2Wk1yJWoeGRJ88Z2u6lujWmZ9/NuQX+iQW9pvkzSDnokPI3kiQQwq3YysDQ/bPpVgrYAcJnqbt55F5Db8KM975n8kwPr
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(346002)(136003)(39860400002)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(36756003)(33656002)(86362001)(82740400003)(40460700003)(40480700001)(54906003)(478600001)(81166007)(356005)(47076005)(2616005)(6506007)(336012)(186003)(26005)(6862004)(41300700001)(8936002)(8676002)(6512007)(6486002)(316002)(36860700001)(70586007)(4326008)(5660300002)(70206006)(2906002)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 18:06:39.7230
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a387b45c-033a-45e0-ddef-08db944c62b7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8088

SGkgRGFuaWVsLA0KDQpbLi4uXQ0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9mZHQuYyBiL3hl
bi9jb21tb24vZmR0LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw
MC4uOGQ3YWNhYWE0Mw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3hlbi9jb21tb24vZmR0LmMN
Cj4gQEAgLTAsMCArMSwxNTMgQEANCj4gKy8qDQo+ICsgKiBGbGF0dGVuZWQgRGV2aWNlIFRyZWUN
Cj4gKyAqDQo+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNCBDaXRyaXggU3lzdGVtcywgSW5j
Lg0KPiArICoNCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcw0KPiArICogcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQo+ICsgKi8NCg0KQ2FuIHlvdSBh
ZGQgYW4gZW1wdHkgbGluZSBoZXJlLCBJIHRoaW5rIGl0IGltcHJvdmVzIHJlYWRhYmlsaXR5LCBJ
IGtub3cgdGhhdCBzb21lIG90aGVyDQpoZWFkZXJzIGRvbuKAmXQgYWRkIGl0IHVuZm9ydHVuYXRl
bHkNCg0KPiArI2luY2x1ZGUgPHhlbi9mZHQuaD4NCj4gKyNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0K
PiArI2luY2x1ZGUgPHhlbi9saWIuaD4NCj4gKyNpbmNsdWRlIDx4ZW4vbGliZmR0L2xpYmZkdC5o
Pg0KPiArI2luY2x1ZGUgPHhlbi90eXBlcy5oPg0KPiArDQo+ICtib29sIF9faW5pdCBkZXZpY2Vf
dHJlZV9ub2RlX21hdGNoZXMoDQo+ICsgICAgY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSwgY29u
c3QgY2hhciAqbWF0Y2gpDQo+ICt7DQpbLi4uXQ0KDQpFbXB0eSBsaW5lDQoNCj4gKyNpZm5kZWYg
X19YRU5fRkRUX0hfXw0KPiArI2RlZmluZSBfX1hFTl9GRFRfSF9fDQo+ICsNCj4gKyNpbmNsdWRl
IDx4ZW4vaW5pdC5oPg0KPiArI2luY2x1ZGUgPHhlbi9saWJmZHQvbGliZmR0Lmg+DQo+ICsjaW5j
bHVkZSA8eGVuL3R5cGVzLmg+DQoNCkZvciB0aGUgbmV3IGZpbGVzLCBhcGFydCBmcm9tIE1pY2hh
bOKAmXMgY29tbWVudHMsIGlmIEkgcmVtZW1iZXIgY29ycmVjdGx5IGluIHRoZSBwYXN0IEkgd2Fz
IGFza2VkDQp0byBhZGQgdGhlc2UgbGluZXMgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZToNCg0KLyoN
CiogTG9jYWwgdmFyaWFibGVzOg0KKiBtb2RlOiBDDQoqIGMtZmlsZS1zdHlsZTogIkJTRCINCiog
Yy1iYXNpYy1vZmZzZXQ6IDQNCiogaW5kZW50LXRhYnMtbW9kZTogbmlsDQoqIEVuZDoNCiovDQoN
ClJlZ2FyZGluZyB0aGUgY29kaW5nIHN0eWxlLCBJIHRoaW5rIGl04oCZcyBiZXR0ZXIgdG8ga2Vl
cCB0aGUgc3R5bGUgeW914oCZdmUgZm91bmQgaW4gdGhlIG9yaWdpbmFsIGZpbGUsDQphbmQgY2hh
bmdlIG9ubHkgc29tZSBiaXRzIHdoZW4gdGhlIGNvZGUgaXMgbm90IGZvbGxvd2luZyBpdC4NCg0K
SSBrbm93IHRoZXJlIGlzIG5vdGhpbmcgZW5mb3JjaW5nIHBhcmFtZXRlcnMgb24gdGhlIHNhbWUg
bGluZSBvZiB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbiBhdCB0aGUNCm1vbWVudCwgYnV0IGl0IGlz
IGhvdyBpdOKAmXMgZG9uZSBmcm9tIHRoZSBvcmlnaW5hbCBmaWxlIHNvIEkgd291bGQgc3RpY2sg
d2l0aCBpdC4NCg0KUmVnYXJkaW5nIHRoZSB1MzIvdTY0IHR5cGVzLCBtYXliZSBzaW5jZSB5b3Ug
YXJlIG1vdmluZyB0aGUgY29kZSBpdCBjYW4gYmUgdGhlIG9jY2FzaW9uIHRvDQpjb252ZXJ0IHRo
ZW0sIGJ1dCBjaGVjayB3aXRoIHRoZSBtYWludGFpbmVyIGJlZm9yZS4NCg0KSeKAmXZlIGFsc28g
dGVzdGVkIHRoaXMgc2VyaWUgYW5kIGl0IHdvcmtzIGZpbmUhIEnigJltIG5vdCBsZWF2aW5nIGFu
eSB0YWcgYmVjYXVzZSB0aGlzIHBhdGNoIGlzIGdvaW5nIHRvDQpjaGFuZ2UgYW55d2F5Lg0KDQpD
aGVlcnMsDQpMdWNhDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 18:50:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 18:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576565.902836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRdOf-0007av-1u; Thu, 03 Aug 2023 18:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576565.902836; Thu, 03 Aug 2023 18:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRdOe-0007aM-Uo; Thu, 03 Aug 2023 18:50:04 +0000
Received: by outflank-mailman (input) for mailman id 576565;
 Thu, 03 Aug 2023 18:50: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 1qRdOd-0007MB-OU; Thu, 03 Aug 2023 18:50: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 1qRdOd-00076s-KY; Thu, 03 Aug 2023 18:50: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 1qRdOd-000673-2T; Thu, 03 Aug 2023 18:50:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRdOd-0001sU-1s; Thu, 03 Aug 2023 18:50:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0zQsRiBwm25rUemGyatuwdzUlueOGfyvBaJ4r0LAZ6s=; b=dGLayHolBpnwbSPXR9uU38y/ft
	3B9b//IzWZZmpy8FN9heWKPmQOElr/O10+5m1AZeEaIWCsz9IyNmCMz0xkhurf2Hm63cfoKwp+zuS
	z7FFViE1dQfqB9jlUFmaIivvzjlrw0Y6H/LttKS1tomfib+G1cBTx39g86U00Vk407Wg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182170-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182170: 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=1aa5acbbec3f37bf38d78fa96d210053f8e8efd5
X-Osstest-Versions-That:
    xen=dfc490a3740bb7d6889939934afadcb58891fbce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 18:50:03 +0000

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

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                  1aa5acbbec3f37bf38d78fa96d210053f8e8efd5
baseline version:
 xen                  dfc490a3740bb7d6889939934afadcb58891fbce

Last test of basis   182136  2023-08-02 22:00:27 Z    0 days
Testing same since   182170  2023-08-03 16:00:27 Z    0 days    1 attempts

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

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   dfc490a374..1aa5acbbec  1aa5acbbec3f37bf38d78fa96d210053f8e8efd5 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:16:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:16:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576572.902846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRdoJ-0001z5-3z; Thu, 03 Aug 2023 19:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576572.902846; Thu, 03 Aug 2023 19: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 1qRdoJ-0001yy-1K; Thu, 03 Aug 2023 19:16:35 +0000
Received: by outflank-mailman (input) for mailman id 576572;
 Thu, 03 Aug 2023 19: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRdoG-0001ys-Um
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:16: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 3fb27c51-3232-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 21:16:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C2F9F61E4A;
 Thu,  3 Aug 2023 19:16:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 882EAC433C8;
 Thu,  3 Aug 2023 19:16:26 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fb27c51-3232-11ee-b269-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691090188;
	bh=yOeJu+vJIGCaAC6WsK3aZAvgZavyItDahnlqQtMZVag=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JLXv1feUrrRjs8Dkmk+6L+r7bQJc5z7VR1v5DoJns/1l2di7dmXXkp9QbF/9nArjU
	 olgRg8r9IjC8gBnQUvoGRz/unXZPI62sHObJyQyRAz5SLS6mJKM+VCfEU+im/+aELf
	 Jx4pIgU20LrHUs/i0WUtYsW6Mqgen3AqzyQnplA56t3GlGLfapqTDvbJtYq/0i8AsH
	 8J5P8EA/IZEha/J63JpN4u1XIkTogi2CLIoEW3xKlZqGnnfQ9I5P/I3ga3d+fYGacM
	 ucNOlOUhHZuo8L79a0vp3ZQnpA2012ML5IMuwdgFACy9OCp6tnIlmhJR9tfhmNePnB
	 LLqfvD+rYGfzg==
Date: Thu, 3 Aug 2023 12:16:25 -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, 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>, 
    Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, 
    Julien Grall <julien@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [XEN PATCH 3/4] x86/irq: rename variable to address MISRA C:2012
 Rule 5.3
In-Reply-To: <9e89a09e-ed5e-5322-2b94-4547d930ac7f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308031216150.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690969271.git.nicola.vetrini@bugseng.com> <af52de5af977362330680707e0acf890e3cb0995.1690969271.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2308021900030.2127516@ubuntu-linux-20-04-desktop>
 <9e89a09e-ed5e-5322-2b94-4547d930ac7f@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, 3 Aug 2023, Jan Beulich wrote:
> On 03.08.2023 04:00, Stefano Stabellini wrote:
> > On Wed, 2 Aug 2023, Nicola Vetrini wrote:
> >> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
> >> local variables in the changed file. To avoid this, the variable is
> >> renamed to 'irq_description'.
> >>
> >> No functional change.
> >>
> >> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Btw, Stefano, could you please trim context when you reply to patches,
> and when you add no other remarks besides offering a tag?
> 
> Thanks, Jan

Will do


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:23:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576575.902856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRduq-0003SY-QK; Thu, 03 Aug 2023 19:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576575.902856; Thu, 03 Aug 2023 19:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRduq-0003SR-NO; Thu, 03 Aug 2023 19:23:20 +0000
Received: by outflank-mailman (input) for mailman id 576575;
 Thu, 03 Aug 2023 19: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRduo-0003SL-PG
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:23:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 325e9f33-3233-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 21:23:17 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D998E61E74;
 Thu,  3 Aug 2023 19:23:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3C7BC433C7;
 Thu,  3 Aug 2023 19:23:13 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 325e9f33-3233-11ee-b269-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691090595;
	bh=z4qx1DqzuV8mewQK3Q52hDDHbYVBzLiY4UAtU22xVTA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aQyvmJDcFC4bcszu2E0BKIsRxkk1ftrB0Jr2lafTgzkVkZIaPoFl9attiIK066Q3I
	 o09E/R5l7zxdqzPLuknLttDyfB5RgfkXsUHv2+C3roZ6pU7l8DtWWg8b8PQ7UzTiTZ
	 9O0AzHs0fi/MHP1L059i9ZXkpFJpObzVaDpWUTFH+CFtZGxhlHGZKGM2/t8hY3WNzj
	 b1lCXUmxAPjg1Xl41VhHGGbcnFkY5GJIxLKcGnqil/4PUJt9KASi+89QTEM2K6KA0o
	 PTSVhcGIpZUX4H7kv4n7fbZ16749d93Fh/6+CirNnexfIPALo88TcyIf5opoP4aCbk
	 V7SfIqr+DjInQ==
Date: Thu, 3 Aug 2023 12:23:12 -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>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <6a5260299c5822abfbd74749ebea8f8f@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031221440.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop> <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@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, 3 Aug 2023, Nicola Vetrini wrote:
> On 03/08/2023 11:01, Jan Beulich wrote:
> > On 03.08.2023 04:13, Stefano Stabellini wrote:
> > > On Wed, 2 Aug 2023, Nicola Vetrini wrote:
> > > > @@ -1169,8 +1170,6 @@ static void cf_check irq_guest_eoi_timer_fn(void
> > > > *data)
> > > > 
> > > >      switch ( action->ack_type )
> > > >      {
> > > > -        cpumask_t *cpu_eoi_map;
> > > 
> > > It is only used by case ACKTYPE_EOI so it can be moved there (with a new
> > > block):
> > > 
> > > 
> > >     case ACKTYPE_EOI:
> > >     {
> > >         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
> > >         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
> > >         spin_unlock_irq(&desc->lock);
> > >         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
> > >         return;
> > >     }
> > >     }
> > 
> > This pattern (two closing braces at the same level) is why switch scope
> > variable declarations were introduced (at least as far as introductions
> > by me go). If switch scope variables aren't okay (which I continue to
> > consider questionable), then this stylistic aspect needs sorting first
> > (if everyone else thinks the above style is okay - with the missing
> > blank line inserted -, then so be it).
> > 
> > Jan
> 
> Actually, they can be deviated because they don't result in wrong code being
> generated.
> This, modulo the review comments received, is what most of the code would look
> like if
> they weren't, with the biggest pain point being that in many cases the choice
> is either
> the pattern with blocks for certain clauses or moving them in the enclosing
> scope, which may
> be several hundred lines above. If there's agreement on deviating them, I can
> drop the patches
> dealing with switches and do a v2 with just the other modifications.

I think we should deviate them. Good idea to remove them in v2.


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:26:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576581.902865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRdyG-00047k-EL; Thu, 03 Aug 2023 19:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576581.902865; Thu, 03 Aug 2023 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 1qRdyG-00047d-Bl; Thu, 03 Aug 2023 19:26:52 +0000
Received: by outflank-mailman (input) for mailman id 576581;
 Thu, 03 Aug 2023 19:26: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRdyF-00047X-Gh
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:26:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b07a597f-3233-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 21:26:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C26D260C5B;
 Thu,  3 Aug 2023 19:26:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C80AAC433C8;
 Thu,  3 Aug 2023 19:26:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b07a597f-3233-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691090807;
	bh=ah2EhQb8tvf85Ee3ASO1btgn1Wfur/rLCfALJfIjU2U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HzMVsUDxB6LFSXW5SK/huZHYbEaXxfvW/vN5EJdQ38jlVXFt3sHkIS42lsHdJ5+gi
	 k5HDbBc87lA1wTbTLK9s5MZPrwroJlfSi98VIiQhNMgR2mM2xtQ77gL9ieTIiR23HQ
	 Lls1t0RVfO0mDR5UF/GXQRTR6LLlszwH6oxCENSGLg4gZQryM6SANneZhYEI65flHX
	 AhivZcS9i0cL4Aw++i/wFFQ6JQkfbLgkJxKC+V013g3LbKtxGy0cFqC4OyxplcoP+6
	 kWdXamwTQBlvnCqDlnjKwfF7ZwZWJKXMAn0c3NexFXu8yryT6GBFLYtYHaZiVkScqp
	 JrgeMphwMtJWA==
Date: Thu, 3 Aug 2023 12:26:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Luca Fancellu <Luca.Fancellu@arm.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
In-Reply-To: <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308031226010.2127516@ubuntu-linux-20-04-desktop>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com> <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com> <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org> <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
 <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-764670787-1691090807=:2127516"

  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-764670787-1691090807=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 3 Aug 2023, Julien Grall wrote:
> On 03/08/2023 12:52, Luca Fancellu wrote:
> > > On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
> > > 
> > > Hi Luca,
> > > 
> > > On 03/08/2023 11:28, Luca Fancellu wrote:
> > > > > On 3 Aug 2023, at 09:26, Federico Serafini
> > > > > <federico.serafini@bugseng.com> wrote:
> > > > > 
> > > > > Add missing parameter names to address violation of MISRA C:2012
> > > > > rule 8.2 ("Function types shall be in prototype form with named
> > > > > parameters").
> > > > > 
> > > > > No functional changes.
> > > > > 
> > > > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> > > > > ---
> > > > > Changes in v2:
> > > > >   - memset() adjusted.
> > > > > ---
> > > > > xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
> > > > > 1 file changed, 21 insertions(+), 21 deletions(-)
> > > > > 
> > > > > diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
> > > > > index b4d2217a96..e91e3112e0 100644
> > > > > --- a/xen/include/xen/string.h
> > > > > +++ b/xen/include/xen/string.h
> > > > > @@ -12,27 +12,27 @@
> > > > > #define strncpy __xen_has_no_strncpy__
> > > > > #define strncat __xen_has_no_strncat__
> > > > > 
> > > > > -size_t strlcpy(char *, const char *, size_t);
> > > > > -size_t strlcat(char *, const char *, size_t);
> > > > > -int strcmp(const char *, const char *);
> > > > > -int strncmp(const char *, const char *, size_t);
> > > > > -int strcasecmp(const char *, const char *);
> > > > > -int strncasecmp(const char *, const char *, size_t);
> > > > > -char *strchr(const char *, int);
> > > > > -char *strrchr(const char *, int);
> > > > > -char *strstr(const char *, const char *);
> > > > > -size_t strlen(const char *);
> > > > > -size_t strnlen(const char *, size_t);
> > > > > -char *strpbrk(const char *, const char *);
> > > > > -char *strsep(char **, const char *);
> > > > > -size_t strspn(const char *, const char *);
> > > > > -
> > > > > -void *memset(void *, int, size_t);
> > > > > -void *memcpy(void *, const void *, size_t);
> > > > > -void *memmove(void *, const void *, size_t);
> > > > > -int memcmp(const void *, const void *, size_t);
> > > > > -void *memchr(const void *, int, size_t);
> > > > > -void *memchr_inv(const void *, int, size_t);
> > > > > +size_t strlcpy(char *dest, const char *src, size_t size);
> > > > > +size_t strlcat(char *dest, const char *src, size_t size);
> > > > > +int strcmp(const char *cs, const char *ct);
> > > > > +int strncmp(const char *cs, const char *ct, size_t count);
> > > > > +int strcasecmp(const char *s1, const char *s2);
> > > > > +int strncasecmp(const char *s1, const char *s2, size_t len);
> > > > > +char *strchr(const char *s, int c);
> > > > > +char *strrchr(const char *s, int c);
> > > > > +char *strstr(const char *s1, const char *s2);
> > > > > +size_t strlen(const char *s);
> > > > > +size_t strnlen(const char *s, size_t count);
> > > > > +char *strpbrk(const char *cs, const char *ct);
> > > > > +char *strsep(char **s, const char *ct);
> > > > > +size_t strspn(const char *s, const char *accept);
> > > > > +
> > > > > +void *memset(void *s, int c, size_t count);
> > > > > +void *memcpy(void *dest, const void *src, size_t count);
> > > > There is a comment in arch/arm/rm32/lib/memcpy.S with this:
> > > > /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
> > > > > +void *memmove(void *dest, const void *src, size_t count);
> > > > There is a comment in arch/arm/rm32/lib/memmove.S with this:
> > > >   * Prototype: void *memmove(void *dest, const void *src, size_t n);
> > > > > +int memcmp(const void *cs, const void *ct, size_t count);
> > > > > +void *memchr(const void *s, int c, size_t n);
> > > > > +void *memchr_inv(const void *s, int c, size_t n);
> > > > @Stefano: would it make sense to remove it as part of this patch or
> > > > maybe not?
> > > 
> > > They are a verbatim copy of the Linux code. So I would rather no touch it.
> > 
> > Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there
> > a reason why we
> > are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano
> > suggested that, so
> > Itâ€™s just a curiosity. Maybe itâ€™s for clarity?
> 
> I guess because the generic implementation of memset (see xen/lib/memset.c) is
> using 'count' rather than 'n'.

Yep


> Given what Andrew said, I would say we should rename the parameter to 'n'.

Yes, either way works. I was only trying to be consistent with
xen/lib/memset.c. It is also fine to change xen/lib/memset.c instead.
--8323329-764670787-1691090807=:2127516--


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:31:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:31:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576585.902876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRe2D-0005ZZ-UY; Thu, 03 Aug 2023 19:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576585.902876; Thu, 03 Aug 2023 19:30:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRe2D-0005ZS-Rm; Thu, 03 Aug 2023 19:30:57 +0000
Received: by outflank-mailman (input) for mailman id 576585;
 Thu, 03 Aug 2023 19:30: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRe2C-0005ZM-J5
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:30:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42c102f7-3234-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 21:30:54 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1906C61E4A;
 Thu,  3 Aug 2023 19:30:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92F0EC433C7;
 Thu,  3 Aug 2023 19:30:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42c102f7-3234-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691091052;
	bh=lI+6uQRkufLyRH1Nq8UwjVXw5e13N1CEd6fGUHG3274=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g+O5MBRK/ZRdQsVdn3WxLDWMcRyOAvhSdicBjea89BUtLn4vj2g61GGNJ/UvhY9gX
	 5vlAsEo7ekB2TvSteGDmfT97tqFVtfb1Yd+zsw1oMWUnbRhv29qMYvx5Xn1K5cQDnL
	 1MH518/OJTzQ7nCykl85Y/RYPjQ3Pre8nqzVk9sGdphj6pQYOBnW+Lc+C1pih/wYPA
	 Jrj2/2mgx7cmZJDRwLkNbmgLbqX9tMbbpDd/IclHZ4ph9VnhHnnbVMXN16nFYB+1WG
	 bYax+/cnHAJxudKwEi5GeUqr0MSDuiYwnLejq9F4hQGuXD3Pq0+OhXR2UtaN9hI1JX
	 4jxxTrHYAQYdg==
Date: Thu, 3 Aug 2023 12:30:49 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    Christopher Clark <christopher.w.clark@gmail.com>, 
    Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] console: generalize the ability for domU access
In-Reply-To: <98db3f0c-6188-ba1b-7252-ae3e31adbf36@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308031229090.2127516@ubuntu-linux-20-04-desktop>
References: <20230801160608.19219-1-dpsmith@apertussolutions.com> <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com> <alpine.DEB.2.22.394.2308021657290.2127516@ubuntu-linux-20-04-desktop> <98db3f0c-6188-ba1b-7252-ae3e31adbf36@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, 3 Aug 2023, Daniel P. Smith wrote:
> On 8/2/23 19:58, Stefano Stabellini wrote:
> > On Wed, 2 Aug 2023, Jan Beulich wrote:
> > > > -    for ( ; ; )
> > > > +    if ( d == NULL )
> > > 
> > > This covers both Xen receiving input and the domain receiving input having
> > > gone away. Originally in the latter case the next sequential (in domid
> > > numbering) domain would be switched to. In the new logic you start over
> > > from the beginning of the domain list. Such a change in behavior (if
> > > deemed acceptable at all, which I'm not convinced of) needs calling out in
> > > the description.
> > 
> > I think it would be best to keep the current behavior as we already
> > have people using it unless we have strong reasons to change it.
> 
> I agree and intended to keep the order of switching but I disagree on keeping
> the complete current behavior. I mean that by the complete current behavior
> being defined, at least for Arm, as meaning only the domains created at boot.
> The is_console flag in struct domain is the DAC equivalent to granting the
> FLASK access XEN__READCONSOLE to a domain, it was just never implemented/used
> until domoless enable it. An intended consequence of this patch is to ensure
> any domain granted the privilege, either through the DAC is_console or FLASK
> XEN__READCONSOLE, is included in the rotation regardless if the domain was
> created at boot or at runtime.

I think that's fine.

Let's say that we have Xen, Dom0, and 2 Dom0less DomUs at boot.  The
console will start on Dom0 and the rotation would go:

Dom0->Dom1->Dom2->Xen->Dom0...

If a new domain comes up at runtime with is_console, it would become:

Dom0->Dom1->Dom2->Dom3->Xen->Dom0...


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:42:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:42:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576589.902885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qReDk-00077u-02; Thu, 03 Aug 2023 19:42:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576589.902885; Thu, 03 Aug 2023 19: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 1qReDj-00077n-T7; Thu, 03 Aug 2023 19:42:51 +0000
Received: by outflank-mailman (input) for mailman id 576589;
 Thu, 03 Aug 2023 19:42: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=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qReDi-00077f-F9
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:42:50 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb90aea6-3235-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 21:42:48 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691091754739117.37028717622366;
 Thu, 3 Aug 2023 12:42:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb90aea6-3235-11ee-b269-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691091755; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=GE1T+WHsDuXoDxDQ8av1C/yiUKuG2q38YkCj/VeUH1HcOriS96YJUlmj5bSA+1YZ3nL5mfbUWyMJVRx7NtmDO283M05GDw4XEqk/LAnv6c916BMFJjwdL63RIrVAAYpMSqwnL3TunA/XiDbSBheNO842FnFE7BmICM6b/sT1Uak=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691091755; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=2I+Vu5mQ8GuInwyRjafb7KsZvx3azkyTFJ/xC5tSh2w=; 
	b=IM24OgF0X3Qf58rIEkYMk/1d0A+J0jg2vWFBSuaF32FYLlDEJsX1a75Kb7KnCY9t7DQ0ULMycBNe8kJ4TMC5S/vyxZPf83xLKfMAiAzFt/ubbU11cyJ+FNo9uR4SoCYuqEKYhRNg6uPeUI6dtpVx02BxkaAswuNx1Z9A/4Hk0cw=
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=1691091755;
	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=2I+Vu5mQ8GuInwyRjafb7KsZvx3azkyTFJ/xC5tSh2w=;
	b=mEWUyf/vLxXyaQqpVzpZhiKxskDw5/T7MkvNt+dVMzwxE2ljGN841JL+l2cGuPGV
	6MJZnCIrDWSNmP6Im4ENDgPKDaZUF7z9ll0trFLhBF23Yo0juMqxS/j/wIABrbta4G3
	QOc2ye/J/NBPN7mj+STxXZPCRrKjDMOe0aqus8ig=
Message-ID: <4e5be83a-64f2-7a63-ec61-e992c8a8c1fb@apertussolutions.com>
Date: Thu, 3 Aug 2023 15:42:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <alpine.DEB.2.22.394.2308021657290.2127516@ubuntu-linux-20-04-desktop>
 <98db3f0c-6188-ba1b-7252-ae3e31adbf36@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031229090.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031229090.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



On 8/3/23 15:30, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
>> On 8/2/23 19:58, Stefano Stabellini wrote:
>>> On Wed, 2 Aug 2023, Jan Beulich wrote:
>>>>> -    for ( ; ; )
>>>>> +    if ( d == NULL )
>>>>
>>>> This covers both Xen receiving input and the domain receiving input having
>>>> gone away. Originally in the latter case the next sequential (in domid
>>>> numbering) domain would be switched to. In the new logic you start over
>>>> from the beginning of the domain list. Such a change in behavior (if
>>>> deemed acceptable at all, which I'm not convinced of) needs calling out in
>>>> the description.
>>>
>>> I think it would be best to keep the current behavior as we already
>>> have people using it unless we have strong reasons to change it.
>>
>> I agree and intended to keep the order of switching but I disagree on keeping
>> the complete current behavior. I mean that by the complete current behavior
>> being defined, at least for Arm, as meaning only the domains created at boot.
>> The is_console flag in struct domain is the DAC equivalent to granting the
>> FLASK access XEN__READCONSOLE to a domain, it was just never implemented/used
>> until domoless enable it. An intended consequence of this patch is to ensure
>> any domain granted the privilege, either through the DAC is_console or FLASK
>> XEN__READCONSOLE, is included in the rotation regardless if the domain was
>> created at boot or at runtime.
> 
> I think that's fine.
> 
> Let's say that we have Xen, Dom0, and 2 Dom0less DomUs at boot.  The
> console will start on Dom0 and the rotation would go:
> 
> Dom0->Dom1->Dom2->Xen->Dom0...
> 
> If a new domain comes up at runtime with is_console, it would become:
> 
> Dom0->Dom1->Dom2->Dom3->Xen->Dom0...

Correct, that is the sequence I was attempting to achieve, but then I 
ran into the dom0less CI configuration of booting a system with Xen and 
a DomU. The above rotation will stay the same less dom0/hwdom, but it 
did quickly point out that I made an assumption about the hardware 
domain always being present.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 19:58:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 19:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576593.902896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qReSK-0000IV-7y; Thu, 03 Aug 2023 19:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576593.902896; Thu, 03 Aug 2023 19:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qReSK-0000IK-56; Thu, 03 Aug 2023 19:57:56 +0000
Received: by outflank-mailman (input) for mailman id 576593;
 Thu, 03 Aug 2023 19:57:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0usr=DU=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qReSI-0000IE-Ej
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 19:57:54 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 061a4166-3238-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 21:57:51 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691092667791199.77173568139017;
 Thu, 3 Aug 2023 12: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: 061a4166-3238-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691092669; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=EDsZzosFgYgJh8PKJJRISsmDyPI4f7p1mAOdIaVUg4FY7Nwy23IUbQxlIL7Tcov4k/uJ4eiU3W4+YWylfXdmU6wLGSE+spMXiWSY+smbPT86UwYjvHZk7Fjqs5knhgLP1UGKQvjUmTYc6OhGxsMKuRDt5rRdCZ08/6yPQQg7cq0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691092669; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=jUXgWDeDFZinWlrthFhxXoyj9zP+vaetJ6tzgDwrRuY=; 
	b=VLQH9S+MHabG1B0sEZBx6co3dR+HW2ZwxzG6q1A84C/yI198ZRptDPhYjdjubPfoCJbAGIY44oUrT/cGm4kP5tv+3PGzxFmu194xPAEuh8UfRkPGW+t+lx2EjdbSlYqJ2y2H3cPIjXEoEt74iZuJiFW+/lLXIDsUi5lxbi09IlI=
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=1691092669;
	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=jUXgWDeDFZinWlrthFhxXoyj9zP+vaetJ6tzgDwrRuY=;
	b=abr9C0m/05aXKQDtnPIr/nACoDUmN4S5NxCtDEcgYmIK7IMBFktLHYDp56/zj4Pf
	cixjUduqwITAS+ZOe0l1ao4YuNYPegIQTU1ToUcd1h6SN6e3ziC7ZIwhEQVL7pxvpAK
	7jAcnidnB6PiMGhMAxNA0QVL5pTBdaqPfBZsSdIM=
Message-ID: <8a51be9e-0131-0590-9aea-bbec146ce239@apertussolutions.com>
Date: Thu, 3 Aug 2023 15:57:45 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <CA8E22A7-D7E4-43E8-BE4E-D2C2B41D921C@arm.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <CA8E22A7-D7E4-43E8-BE4E-D2C2B41D921C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/3/23 14:05, Luca Fancellu wrote:
> Hi Daniel,
> 
> [...]
>> diff --git a/xen/common/fdt.c b/xen/common/fdt.c
>> new file mode 100644
>> index 0000000000..8d7acaaa43
>> --- /dev/null
>> +++ b/xen/common/fdt.c
>> @@ -0,0 +1,153 @@
>> +/*
>> + * Flattened Device Tree
>> + *
>> + * Copyright (C) 2012-2014 Citrix Systems, Inc.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
> 
> Can you add an empty line here, I think it improves readability, I know that some other
> headers donâ€™t add it unfortunately

Yah, that is no problem.

>> +#include <xen/fdt.h>
>> +#include <xen/init.h>
>> +#include <xen/lib.h>
>> +#include <xen/libfdt/libfdt.h>
>> +#include <xen/types.h>
>> +
>> +bool __init device_tree_node_matches(
>> +    const void *fdt, int node, const char *match)
>> +{
> [...]
> 
> Empty line

Ack.

>> +#ifndef __XEN_FDT_H__
>> +#define __XEN_FDT_H__
>> +
>> +#include <xen/init.h>
>> +#include <xen/libfdt/libfdt.h>
>> +#include <xen/types.h>
> 
> For the new files, apart from Michalâ€™s comments, if I remember correctly in the past I was asked
> to add these lines to the end of the file:
> 
> /*
> * Local variables:
> * mode: C
> * c-file-style: "BSD"
> * c-basic-offset: 4
> * indent-tabs-mode: nil
> * End:
> */

You are correct, I will get them added.

> Regarding the coding style, I think itâ€™s better to keep the style youâ€™ve found in the original file,
> and change only some bits when the code is not following it.
> 
> I know there is nothing enforcing parameters on the same line of the function definition at the
> moment, but it is how itâ€™s done from the original file so I would stick with it.
> 
> Regarding the u32/u64 types, maybe since you are moving the code it can be the occasion to
> convert them, but check with the maintainer before.

I can leave the main code as is, but I do think header decl's should be 
styled correctly as there is no need to have them churn in the future 
over purely style changes.

> Iâ€™ve also tested this serie and it works fine! Iâ€™m not leaving any tag because this patch is going to
> change anyway.

No worries, thank you for taking the time to review the series.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 20:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 20:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576597.902906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRenc-0002rd-0Q; Thu, 03 Aug 2023 20:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576597.902906; Thu, 03 Aug 2023 20:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRenb-0002rW-TB; Thu, 03 Aug 2023 20:19:55 +0000
Received: by outflank-mailman (input) for mailman id 576597;
 Thu, 03 Aug 2023 20:19:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRena-0002rQ-T2
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 20:19:54 +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 1a017a79-323b-11ee-b269-6b7b168915f2;
 Thu, 03 Aug 2023 22:19:52 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3EB2E61DC5;
 Thu,  3 Aug 2023 20:19:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 39F36C433C9;
 Thu,  3 Aug 2023 20:19: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: 1a017a79-323b-11ee-b269-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691093990;
	bh=EBRDH3RTt6p1VCNkOrlD14ML+NHZpUaq1EDCelSZ6X4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tlJESTrA9Tzt/Edm6O21eU71ELqESLx6dY9aq+AK6+ZR4OQsC88mXFRnE/TYRnvQW
	 FOtyGx/NFQGal+vy54p5gsozvJF7oCIVs+3+MzQOrlTew2A4BYN9Dax0TkvhMNJuSb
	 198NO01n5SKCPD11223fkUPoTKL1gw8ghKsCXnNhHSmSqtCbKXVomsvh04wkigJmKJ
	 zYSoAyPBbHxK90DEk9abicLx2IIdL4qT27yTlICuz8Qz7PC+/32OIhWH+tkij/4uKz
	 w1xnDqhVyh2owvJS+LuAMuPNVqrUlqdakdEZjOJSyHvEqzsBdre0EL1W4z8XIQ2zrn
	 FMqkauTrCjPIA==
Date: Thu, 3 Aug 2023 13:19:47 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
In-Reply-To: <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-3-dpsmith@apertussolutions.com> <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop> <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@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, 3 Aug 2023, Daniel P. Smith wrote:
> On 8/1/23 20:54, Stefano Stabellini wrote:
> > On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> > > The existing concepts such as unbounded domain, ie. all powerful, control
> > > domain and hardware domain are, effectively, roles the domains provide for
> > > the
> > > system. Currently, these are represented with booleans within `struct
> > > domain`
> > > or global domid variables that are compared against. This patch begins to
> > > formalize these roles by replacing the `is_control` and `is_console`,
> > > along
> > > with expanding the check against the global `hardware_domain` with a
> > > single
> > > encapsulating role attribute in `struct domain`.
> > > 
> > > Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> > 
> > This is definitely heading in the right direction
> 
> Thank you, it is good to know there is some agreement here.
> 
> > > ---
> > >   xen/arch/arm/domain_build.c |  2 ++
> > >   xen/arch/x86/setup.c        |  2 ++
> > >   xen/common/domain.c         | 14 +++++++++++++-
> > >   xen/include/xen/sched.h     | 16 +++++++++-------
> > >   xen/include/xsm/dummy.h     |  4 ++--
> > >   xen/xsm/flask/hooks.c       | 12 ++++++------
> > >   6 files changed, 34 insertions(+), 16 deletions(-)
> > > 
> > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > > index 39b4ee03a5..51b4daefe1 100644
> > > --- a/xen/arch/arm/domain_build.c
> > > +++ b/xen/arch/arm/domain_build.c
> > > @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
> > >       if ( IS_ERR(dom0) )
> > >           panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
> > >   +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
> > 
> > I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
> > "ROOT"?
> > 
> > I also recognize I am not good at naming things so I'll stop here and
> > let other provide better feedback :-)
> 
> In first version of hyperlaunch and in the early roles work, I was working to
> move toward eliminating this concept entirely. The reality is this is a model
> that has existed for over 20 years and there are those who accept and embrace
> the model. Introducing the name UNBOUNDED was to at least break the idea that
> the all powerful domain necessarily is the first/initial domain to run. With
> hyperlaunch, there are still security-based scenarios where you might want to
> run a DomB before starting an all privileged domain. I spent quite some time,
> probably more than I should have, to find a good name that expresses what this
> role is. Considering a comment below and a comment by Jan, I am starting to
> think a better way to view it is a domain that assumes all roles in the
> system. So your suggestions of SUPER or ROOT might be more fitting. I
> considered ROLE_ALL, but something about it doesn't sit right with me. With
> that said I welcome the yak shaving of naming to begin. ( ^_^)
> 
> > Also, do we actually need unbounded given that it gets replaced with
> > control_domain pretty soon?
> 
> Yes, because as mentioned above, this is meant to express a domain that has
> been assigned all roles, for which later the domain may decided to delegate
> the role to another domain.
> 
> > I am asking because I think that at least from a safety perspective it
> > would be a problem to run a domain as "unbounded". In a safety system,
> > we wouldn't want anything to be unbounded, not even temporarily at boot.
> > If "unbounded" is removed before running dom0, then of course it is no
> > problem because actually dom0 never gets to run with "unbounded" set.
> 
> I think this is were the name UNBOUNDED may have been a bad choice. The
> UNBOUNDED role is dom0. It is the control domain, the hardware domain, the
> Xenstore domain, and the crash domain (if that were to be solidified).
> 
> > (I am currently thinking of solving the privilege issue by using XSM and
> > removing most privileges from Dom0.)
> 
> I obviously would be a huge advocate of that approach. ( ^_^)

Thanks for the history, that helps. I was asking because I would like to
make sure that all the options below are possible and easy to achieve:

1) traditional dom0 + some traditional domUs booted in a dom0less fashion
2) only traditional domUs booted in a dom0less fashion (no dom0 at all)
3) not-godlike-but-still-super dom0 + some traditional domUs booted in a dom0less fashion
4) domB booting

This ROLE_ALL domain would be dom0 in 1) and would be domB in 4).
In 2), there is no dom0 so there should also be no ROLE_ALL domain. All
good so far.


In 3), it looked to me that we would be creating a ROLE_ALL domain, then
taking away some of the ROLEs. It doesn't sound right? Let's say that we
want to have a hardware_domain (in the sense of default recipient of
hardware, not necessarily privileged) with dm_ops access, but no domctl
access. How would you go about it?

Would it be required to go through the ROLE_ALL stage? How does it
compare to the way it would work today without this patch applied?
Today, does XSM kick in after is_privileged is set, effectively being
the same thing as XSM kicking in later and removing some ROLEs after
ROLE_ALL is already set? So, basically nothing is changing?



> > >       if ( alloc_dom0_vcpu0(dom0) == NULL )
> > >           panic("Error creating domain 0 vcpu0\n");
> > >   diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > > index 2dbe9857aa..4e20edc3bf 100644
> > > --- a/xen/arch/x86/setup.c
> > > +++ b/xen/arch/x86/setup.c
> > > @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const
> > > module_t *image,
> > >       if ( IS_ERR(d) )
> > >           panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
> > >   +    d->role |= ROLE_UNBOUNDED_DOMAIN;
> > > +
> > >       init_dom0_cpuid_policy(d);
> > >         if ( alloc_dom0_vcpu0(d) == NULL )
> > > diff --git a/xen/common/domain.c b/xen/common/domain.c
> > > index 8fb3c052f5..0ff1d52e3d 100644
> > > --- a/xen/common/domain.c
> > > +++ b/xen/common/domain.c
> > > @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
> > >       setup_io_bitmap(dom0);
> > >   #endif
> > >   +    /*
> > > +     * "dom0" may have been created under the unbounded role, demote it
> > > from
> > > +     * that role, reducing it to the control domain role and any other
> > > roles it
> > > +     * may have been given.
> > > +     */
> > > +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
> > > +    dom0->role |= ROLE_CONTROL_DOMAIN;
> > 
> > I think we need a better definition of the three roles to understand
> > what this mean.
> 
> Definition and as highlighted, a better name.
> 
> > >       rcu_unlock_domain(dom0);
> > >         iommu_hwdom_init(d);
> > > @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
> > >       }
> > >         /* Sort out our idea of is_control_domain(). */
> > > -    d->is_privileged = flags & CDF_privileged;
> > > +    if ( flags & CDF_privileged )
> > > +        d->role |= ROLE_CONTROL_DOMAIN;
> > > +    else
> > > +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
> > >         /* Sort out our idea of is_hardware_domain(). */
> > >       if ( is_initial_domain(d) || domid == hardware_domid )
> > > @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
> > >             old_hwdom = hardware_domain;
> > >           hardware_domain = d;
> > > +        d->role |= ROLE_HARDWARE_DOMAIN;
> > >       }
> > >         TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
> > > diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> > > index a9276a7bed..695f240326 100644
> > > --- a/xen/include/xen/sched.h
> > > +++ b/xen/include/xen/sched.h
> > > @@ -467,8 +467,10 @@ struct domain
> > >   #endif
> > >       /* is node-affinity automatically computed? */
> > >       bool             auto_node_affinity;
> > > -    /* Is this guest fully privileged (aka dom0)? */
> > > -    bool             is_privileged;
> > > +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
> > > +#define ROLE_CONTROL_DOMAIN    (1U<<1)
> > > +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
> > 
> > This is a great step in the right direction but I think at least a short
> > in-code comment to explain the difference between the three
> 
> Ack.
> 
> > > +    uint8_t          role;
> > >       /* Can this guest access the Xen console? */
> > >       bool             is_console;
> > >       /* Is this guest being debugged by dom0? */
> > > @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
> > >     static always_inline bool is_initial_domain(const struct domain *d)
> > >   {
> > > -    static int init_domain_id = 0;
> > > -
> > > -    return d->domain_id == init_domain_id;
> > > +    return d->role & ROLE_UNBOUNDED_DOMAIN;
> > >   }
> > 
> > As far as I can tell this is the only functional change in this patch:
> > given that dom0 loses unbounded soon after boot, the "is_initial_domain"
> > checks will start to fail?
> 
> Today, dom0 should not lose any of its roles at boot unless dom0less were to
> create a hardware domain.

I don't understand this sentence. To me, hardware_domain means "default
recipient of hardware devices". It also happens to be traditionally
associated with Dom0, so many privilege checks are hardware_domain
check, although they should be instead control_domain checks.

So if you say "dom0 should not lose any of its roles at boot unless
dom0less were to create a hardware domain", I read it as:

"dom0 (all powerful) would not lose any of its powers at boot unless we
created dom0 (hardware domain, all powerful) with other domUs at boot
using dom0less."

which I don't understand



> Upon reflection, I am thinking this check might want renaming to align with
> the rename of this role.
> 
> > We have a few of them in the code and I couldn't rule out that at least
> > these 3 could happen at runtime:
> > 
> > xen/common/sched/core.c:    else if ( is_initial_domain(d) &&
> > opt_dom0_vcpus_pin )
> > xen/common/sched/core.c:    else if ( is_initial_domain(d) )
> > xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )
> > 
> > Maybe they need to be changed to control_domain checks?
> 
> Perhaps, I would want to study them a bit before switching them over.

+1


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 20:37:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 20:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576602.902916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRf4E-0005MV-HD; Thu, 03 Aug 2023 20:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576602.902916; Thu, 03 Aug 2023 20:37:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRf4E-0005MO-Dm; Thu, 03 Aug 2023 20:37:06 +0000
Received: by outflank-mailman (input) for mailman id 576602;
 Thu, 03 Aug 2023 20: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=b1P5=DU=citrix.com=prvs=57264c000=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRf4D-0005MI-6s
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 20:37:05 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f40c026-323d-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 22:37:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f40c026-323d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691095021;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Qo2z+FkjxDwHPIt1ZvN4XJLzKkB6Iynwj4/otjK3SjQ=;
  b=FGe2wWDDOQ15hZqamzvae3bZK6XB1/9STd+Ar+24PTtNZwsylEAhTka3
   VCfBvx8+Er8hu1yJUcK9wA4Ke5ITASvwlCkAx1pt+K6uh1eaTEYwQyMBx
   U2RMT9Knr+Le4nULmLDrwvnxcd7gJRkQm8UNacXFeVZK9aPpP0Qi2acJe
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118869900
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:roLjjq7yYmdf+K0AgrqTTAxRtITHchMFZxGqfqrLsTDasY5as4F+v
 mEZUWjUPa7YZ2Sgetp3b4XkpBkOu5bcyoRqGwNsq3phHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAT5weF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m5
 OcBFhI3Yh2/ocG7nrS7QfIzl/hyFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx/I9
 jyXrjyhav0cHIyG2ASr2G6Iv+/OryelQNlOD5bo1fE/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JLCPEz4gyJzqvS4i6aC3ICQzoHb8Yp3OcpQRQ62
 1nPmMnmbRRtrbmURHS15rqS6zSoNkA9D0UPeCsFRgst+MT4rcc4iRenZtRsCqmulfXuBCr9h
 TuNqUAWgrwJiMcR2qaT/FbZgimtrJzEUg404ArMWmuvqAh+YeaNa5Sz7FnH7d5JNIuDUkSap
 38AhtSf6+YVS5qKkUSlQuwLEKu4+vWtPzjVgFopFJ4knxym+2SiZpxX+DFzPgF2dM0AcCXqS
 EDWsAJVopRUOROXgbRfOtzrTZ5wlO65SIqjD6qPBjZTXnRvXB6c5R9MX0Kd40bOnRYqkaokZ
 oanIP/5WB72Fp9b5DaxQu4c15oiySY/2X7fSPjH8vi37VaNTCXLEOlYaTNiesh8tfrZ+1uNr
 76zIuPQk31ivPvCjj47GGL5BXQDNjAFCJ//sKS7ncbTc1M9SAnN5xI8qI7NmrCJfYwPzo8kH
 VnnACe0LWbCaYXvc1niV5yaQOqHsWxDhXw6JzcwGl2jxmIuZ42ihI9GKcpuJel4qr0+laAvJ
 xXgRylnKq0eIgkrBhxHNcWtxGCcXEvDaf2y09qNP2FkIs8Iq/3h8d74ZAr/nBTi/QLu3fbSV
 4aIj1uBKbJaHlQKMSojQK73p79HlSRHyb0asoqhCoU7RXgAB6Aze3Os0qFtcpFTQfgBrxPDv
 zur7d4jjbGli+cIHBPh3Mhoc6/B/zNCI3dn
IronPort-HdrOrdr: A9a23:6N+J3aMcfLuFTMBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-Talos-CUID: 9a23:fVn4gGADvaz+UJv6Ezh87XA2IMwoTlv+wSnWI0SjVndVGYTAHA==
X-Talos-MUID: 9a23:55QuTAZxnFUv1uBT5yb9uh9IKONR46WcDB4VyskdkJmnOnkl
X-IronPort-AV: E=Sophos;i="6.01,253,1684814400"; 
   d="scan'208";a="118869900"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>, Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
	"Daniel Smith" <dpsmith@apertussolutions.com>, Christopher Clark
	<christopher.w.clark@gmail.com>
Subject: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Date: Thu, 3 Aug 2023 21:36:50 +0100
Message-ID: <20230803203650.1474936-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

The opensuse-tumbleweed build jobs currently fail with:

  /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
  /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
     56 |   if (!key->p || !key->q || !key->u) {
        |       ^
  In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
  /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
     28 |   tpm_bn_t p;
        |            ^

This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
but that's not what the code does.

Adjust it to compile.  No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Juergen Gross <jgross@suse.com>
CC: Marek Marczykowski-GĂ³recki <marmarek@invisiblethingslab.com>
CC: Jason Andryuk <jandryuk@gmail.com>
CC: Daniel Smith <dpsmith@apertussolutions.com>
CC: Christopher Clark <christopher.w.clark@gmail.com>

While I've confirmed this to fix the build issue:

  https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430

I'm -1 overall to the change, and would prefer to disable vtpm-stubdom
entirely.

It's TPM 1.2 only, using decades-old libs, and some stuff in the upstream
https://github.com/PeterHuewe/tpm-emulator (which is still abandaonded as of
2018) is just as concerning as the basic error here in rsa_private().

vtpm-stubdom isn't credibly component of a Xen system, and we're wasting loads
of CI cycles testing it...
---
 stubdom/Makefile                 |  1 +
 stubdom/vtpm-tpm_bn_t-addr.patch | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 stubdom/vtpm-tpm_bn_t-addr.patch

diff --git a/stubdom/Makefile b/stubdom/Makefile
index a21e1c3fa3a8..d5fb354e7e37 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -243,6 +243,7 @@ tpm_emulator-$(XEN_TARGET_ARCH): tpm_emulator-$(TPMEMU_VERSION).tar.gz
 	patch -d $@ -p1 < vtpm_extern.patch
 	patch -d $@ -p1 < vtpm-microsecond-duration.patch
 	patch -d $@ -p1 < vtpm-command-duration.patch
+	patch -d $@ -p1 < vtpm-tpm_bn_t-addr.patch
 	mkdir $@/build
 	cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-declaration-after-statement"
 	touch $@
diff --git a/stubdom/vtpm-tpm_bn_t-addr.patch b/stubdom/vtpm-tpm_bn_t-addr.patch
new file mode 100644
index 000000000000..53172ae1c244
--- /dev/null
+++ b/stubdom/vtpm-tpm_bn_t-addr.patch
@@ -0,0 +1,18 @@
+All tpm_bn_t's are a 1-element array of one form or another, meaning the code
+below is tautological and triggers -Werror=address.
+
+diff -ru tpm_emulator-x86_64.orig/crypto/rsa.c tpm_emulator-x86_64/crypto/rsa.c
+--- tpm_emulator-x86_64.orig/crypto/rsa.c	2011-12-20 18:30:06.000000000 +0000
++++ tpm_emulator-x86_64/crypto/rsa.c	2023-08-03 20:44:17.379166284 +0100
+@@ -53,10 +53,7 @@
+   tpm_bn_init2(c, key->size);
+   tpm_bn_import(p, in_len, 1, in);
+ 
+-  if (!key->p || !key->q || !key->u) {
+-    /* c = p ^ d mod n */
+-    tpm_bn_powm(c, p, key->d, key->n);
+-  } else {
++  {
+     tpm_bn_init2(m1, key->size / 2);
+     tpm_bn_init2(m2, key->size / 2);
+     tpm_bn_init2(h, key->size);

base-commit: 092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 03 20:39:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 20:39:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576605.902925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRf67-0005w2-S2; Thu, 03 Aug 2023 20:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576605.902925; Thu, 03 Aug 2023 20: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 1qRf67-0005vv-PF; Thu, 03 Aug 2023 20:39:03 +0000
Received: by outflank-mailman (input) for mailman id 576605;
 Thu, 03 Aug 2023 20: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=3G/A=DU=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qRf66-0005vj-Ce
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 20:39:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c66d36a7-323d-11ee-8613-37d641c3527e;
 Thu, 03 Aug 2023 22:39:00 +0200 (CEST)
Received: from DB8PR06CA0009.eurprd06.prod.outlook.com (2603:10a6:10:100::22)
 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.6631.47; Thu, 3 Aug
 2023 20:38:46 +0000
Received: from DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::5f) by DB8PR06CA0009.outlook.office365.com
 (2603:10a6:10:100::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21 via Frontend
 Transport; Thu, 3 Aug 2023 20:38:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT055.mail.protection.outlook.com (100.127.142.171) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 20:38:45 +0000
Received: ("Tessian outbound f5de790fcf89:v145");
 Thu, 03 Aug 2023 20:38:45 +0000
Received: from c926f84c38a8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B88C7538-4AA4-41D3-AECA-6C69ACA10D10.1; 
 Thu, 03 Aug 2023 20:37:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c926f84c38a8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 03 Aug 2023 20:37:44 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB10257.eurprd08.prod.outlook.com (2603:10a6:102:367::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug
 2023 20:37:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023
 20:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c66d36a7-323d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wcgjQduBKAKOmnCmHicghrNByM6XK2eP+K7MyTSqdMY=;
 b=5KWC2vtp/TSSxqUvC09hLd73bV0FE7tpthwamV4Lywsr54npJk2hBvJrwnnmr6XggV0k2QqHK8rlL93iCEklroycHDc6S8UoRbqUAsyhTUnVcK3F9/u8z9/i0CwMCtQKHK/MYvLkO55GAXVZHxKxRMb1JZYHg7SRBHgaGp9AY+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ca4d64224fff281f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jcdNyv+N0qIm2d/1e8K99eto+vODSu12mYZDthIbpY4S5xoWSr+5td37sx4iBdKOVg71lctFe/g+Kp+NLnNaeNBfRUMM+JLgGFHPe2UTnCg3/Xj6fGxqj/zhsVziEe5tHkcUqVHj/pIQhoZyUzaKQJ6qgnLk328nedcHYLJljegM41m8bWTXp4zzKMBjKPWalPcXR8MCSOqJCdf94oJBZLRzCCQlqqpYZzr1gY5DiE/r566FlZIKkUJeY1Tt7JJT27gz5kaxRPTQlkLQ/NOsNGy2fQ1wp1RhVXiHZ7U4zTOvSQz5CSmq3pQuBj8mrX2Bb3PXGCuQqFRtZ6DE67NlKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wcgjQduBKAKOmnCmHicghrNByM6XK2eP+K7MyTSqdMY=;
 b=NQxMImSIf1O4E1Ws9Tbr4gXTTP4U9+298Q73CXVlI5n3xIOPTOQAgKv6iOfSnqnqbGtKEcxcM7/PRWZOy9O4izzuUpwCQgzs16SKrNW+le4YzmReIKWV1H/1oJoBr6TGMdjKW5gTvl+9fp3QCJdpyVdPXKTTJAwlmm4HvWffs694BRBDnZsa0eTqhfp0yOne4wmJkRk7izH9QwRuutUpPVqu62YvEuwKfbiyvna5WtjVOjFe0LUV6kOvvqxtGQPN7D1p7PUB9yrG/k4a9f3JbWlzQf5w88HIvaM8DvkAsWddJwYoux0fXWsD3hwlgrG3Ge3LQC3mgkChmOjhNl+jWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=wcgjQduBKAKOmnCmHicghrNByM6XK2eP+K7MyTSqdMY=;
 b=5KWC2vtp/TSSxqUvC09hLd73bV0FE7tpthwamV4Lywsr54npJk2hBvJrwnnmr6XggV0k2QqHK8rlL93iCEklroycHDc6S8UoRbqUAsyhTUnVcK3F9/u8z9/i0CwMCtQKHK/MYvLkO55GAXVZHxKxRMb1JZYHg7SRBHgaGp9AY+4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxfetD3iMBVO78kiKHyDm3xOwK6/Y3kwAgAAfToCAAAsagA==
Date: Thu, 3 Aug 2023 20:37:40 +0000
Message-ID: <2E1A5918-A475-4055-A5A5-DE0CE30C061A@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <CA8E22A7-D7E4-43E8-BE4E-D2C2B41D921C@arm.com>
 <8a51be9e-0131-0590-9aea-bbec146ce239@apertussolutions.com>
In-Reply-To: <8a51be9e-0131-0590-9aea-bbec146ce239@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB10257:EE_|DBAEUR03FT055:EE_|DB3PR08MB8986:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ee6900a-d821-4f3a-f7d5-08db9461a231
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:
 aA5ssTbqylqxvQJnr2wlEMk0X8ajjNtL5ZucjEiYqBUMesvC+pVUacalG9DqoKgp22D4krNgpqzyfEDXrmjMy2xxgfn5onCsnYkZp58rf+BeuYlJ+dxk1XpY4U027EDVC6OZGAxtPIJJg7MOpdXMsD0zenx6PDQdL+Y3KJzRgp5JpukSPr4eXDKfFa4CNo4DPcZoA4/+akLmCdAw/OFCVIllno01jIs6tx1u4QLwQkZeeOa7a39C0hhnjKhiL5JO776mE9NgoNu07ShCLO2rVtN03qOxcWF3cV7XyPvGUd1sKa5XvQ7pMaockCZVRH0hByPeMM590nb/LLY5qLNAN9Zku3mONTrTNvGsDTUUTIjB4iIz+SKeNtg9G3/6zZjissUEsHdWe8zIAPP93w3rZmOchxTluZj32wTrBkK5RVoeZWD/0wCEwSA2Y7NlrvABI6AAzjOHbfsGSa3PGQ1zT7d/6fPv4AEU0wQfUp39qfoA8Cf1um0J7yMvfwOA41gboQ0JxLc7ezYwq9+u0eqnIFVCz4BTO5KTgCZTsNGGpUyctYGU1TUS0m8joXA84wxvFbbxNhNaP9pbVt7WSb/xeU/lvIijOIIYOZ2/N6cz+vnp8er5zh5RG7qGsOVM5RFyit1lFROLpsirSklTBsLaUQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(366004)(39860400002)(376002)(136003)(396003)(451199021)(2616005)(6506007)(186003)(8676002)(26005)(66476007)(2906002)(316002)(66556008)(91956017)(4326008)(66946007)(5660300002)(64756008)(6916009)(76116006)(66446008)(8936002)(41300700001)(6486002)(71200400001)(6512007)(54906003)(478600001)(38100700002)(122000001)(33656002)(36756003)(86362001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <CFA380C05614CE49B803445A9010A845@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10257
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a4f7cd30-7e34-4409-295b-08db94617b37
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P6CiFLNBsNqLqF2m4Ikf1N6koK2wbqCsJg9iFqZ2AYpjWaRvraVmSznUftNu/OIF70Tsl3ZsbJjnifAjvnQ5cGsb4tLr8/s5btT3+aVxNs1miS2tysDzSJSdmTEDboNRbGsnfcYUqzyEVkqtfNYHQNV9Tz8gl0hH1ebsTDxeybVMNHsm0vuoJNkQfzzs5VNe6a+hDhnDCVprYvQ3+3z+UUFRWv05tnSKt0wcX+mMqG7d6GtENy2CbPUOnF6hlBICO7yxemDdAujygr+IpheRtWv45S1DKUyMnd2URlDBscLRb8194ANMursMO9nTETb7QLWn3LvcYJXo99tWfhtZyV+8agQEh9rf+x+wgk25kcR7PBMehkWMFl2McNiaM6ZM+SlF5Ek8IlQPUH8XfNY4wQfeR2o1o7EaD+IA3OCPe8VW7fv/3qHp6arwbYGEyGy9eQUI3gCaZT6QcUQVbEkxbw/7bZoAsZoK/71n69M1z8m5L40puUz38OOxL83fAPq+N51Fups+7wNJvVpvp+I5qzUqup5lMqvS0EOXySp4X68q5KBjckfJbtYHAaf1jBu/bLcM0QXMoDnWyG4WSJtGFcBjbztXc/q6vPUxT10gSTSlVRJoRW2elmH6TGaFc2sQjKTC1NvpIYLs22TeKTxwBdRGEIHH/GD5mtNH6yEB9SLQaq6lUroJhzGTMQRVMYz7Mrzv9QitEgyZGOsEExx7t4Awo2RQ8yHO4YnVuRkBbiDw0AQZuWRpH+e6t1K6uktR
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(136003)(376002)(396003)(451199021)(82310400008)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(6506007)(336012)(186003)(26005)(47076005)(8676002)(316002)(36860700001)(2906002)(4326008)(70206006)(5660300002)(70586007)(41300700001)(6862004)(8936002)(6486002)(6512007)(54906003)(478600001)(40480700001)(356005)(81166007)(33656002)(86362001)(36756003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 20:38:45.6979
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ee6900a-d821-4f3a-f7d5-08db9461a231
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8986

DQo+IA0KPj4gUmVnYXJkaW5nIHRoZSBjb2Rpbmcgc3R5bGUsIEkgdGhpbmsgaXTigJlzIGJldHRl
ciB0byBrZWVwIHRoZSBzdHlsZSB5b3XigJl2ZSBmb3VuZCBpbiB0aGUgb3JpZ2luYWwgZmlsZSwN
Cj4+IGFuZCBjaGFuZ2Ugb25seSBzb21lIGJpdHMgd2hlbiB0aGUgY29kZSBpcyBub3QgZm9sbG93
aW5nIGl0Lg0KPj4gSSBrbm93IHRoZXJlIGlzIG5vdGhpbmcgZW5mb3JjaW5nIHBhcmFtZXRlcnMg
b24gdGhlIHNhbWUgbGluZSBvZiB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbiBhdCB0aGUNCj4+IG1v
bWVudCwgYnV0IGl0IGlzIGhvdyBpdOKAmXMgZG9uZSBmcm9tIHRoZSBvcmlnaW5hbCBmaWxlIHNv
IEkgd291bGQgc3RpY2sgd2l0aCBpdC4NCj4+IFJlZ2FyZGluZyB0aGUgdTMyL3U2NCB0eXBlcywg
bWF5YmUgc2luY2UgeW91IGFyZSBtb3ZpbmcgdGhlIGNvZGUgaXQgY2FuIGJlIHRoZSBvY2Nhc2lv
biB0bw0KPj4gY29udmVydCB0aGVtLCBidXQgY2hlY2sgd2l0aCB0aGUgbWFpbnRhaW5lciBiZWZv
cmUuDQo+IA0KPiBJIGNhbiBsZWF2ZSB0aGUgbWFpbiBjb2RlIGFzIGlzLCBidXQgSSBkbyB0aGlu
ayBoZWFkZXIgZGVjbCdzIHNob3VsZCBiZSBzdHlsZWQgY29ycmVjdGx5IGFzIHRoZXJlIGlzIG5v
IG5lZWQgdG8gaGF2ZSB0aGVtIGNodXJuIGluIHRoZSBmdXR1cmUgb3ZlciBwdXJlbHkgc3R5bGUg
Y2hhbmdlcy4NCg0KVWhtLCB3aGVuIHlvdSBzYXkg4oCcc3R5bGVkIGNvcnJlY3RseeKAnSBkbyB5
b3UgbWVhbiBhcyBiZWxvdz8NCg0KDQo+Pj4gK2Jvb2wgX19pbml0IGRldmljZV90cmVlX25vZGVf
bWF0Y2hlcygNCj4+PiArICAgIGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsIGNvbnN0IGNoYXIg
Km1hdGNoKQ0KPj4+ICt7DQoNCg0KSWYgdGhhdOKAmXMgdGhlIGNhc2UsIGl0IHNlZW1zIHRvIG1l
IHRoYXQgdGhlcmUgaXMgbm90aGluZyBsaWtlIHRoYXQgaW4gdGhlIGNvZGViYXNlLA0KaW4gbXkg
d29yayB3aXRoIGNsYW5nLWZvcm1hdCBJ4oCZdmUgY29uZmlndXJlZCBpdCB0byBtYXRjaCBhcyBt
dWNoIGFzIEkgY2FuIHRoZQ0KWGVuIHN0eWxlIGFuZCB0aGlzIGZ1bmN0aW9uIHdvdWxkIGJlIGZv
cm1hdHRlZCBhcyB0aGUgb2xkIHN0eWxlIHRoYXQgaXQgaGFkLg0KDQpDYW4gSSBhc2sgeW91IHdo
ZXJlIGRpZCB5b3UgZmluZCBpbnN0cnVjdGlvbiB0byBzdHlsZSBpbiB0aGF0IHdheT8NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 20:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 20:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576610.902936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfBP-0007Pq-Eo; Thu, 03 Aug 2023 20:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576610.902936; Thu, 03 Aug 2023 20:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfBP-0007Pj-C2; Thu, 03 Aug 2023 20:44:31 +0000
Received: by outflank-mailman (input) for mailman id 576610;
 Thu, 03 Aug 2023 20:44: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 1qRfBN-0007Pd-GA
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 20:44: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 1qRfBN-0001Ki-3V; Thu, 03 Aug 2023 20:44:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfBM-0006iH-U2; Thu, 03 Aug 2023 20:44:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=g18EERidA2PIYHhnRFU+EyAtFmE+N4QvovOuy/VxbOA=; b=TbkrPmOqtrX8Ofsn4wThX275Kf
	bu3v1asrewWA+KA39R2SIqxED4rTYPROWgW7AQm2Hvt+HwyvfC5yiLmIkzeEUAOfXk+ietS+Xxjow
	4G0iKW4F+cpZ0UkkI/2BDeH9iyREsKYUhkYL7m0U4ZTcT+gMblrNqwk3qTbz8VfihZOQ=;
Message-ID: <adb34b6c-27a2-2f08-3024-747857fe7666@xen.org>
Date: Thu, 3 Aug 2023 21:44:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230803144035.4071610-1-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230803144035.4071610-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 03/08/2023 15:40, Luca Fancellu wrote:
> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
> when needed, the option is active by default.
> 
> Introduce Kconfig VGICV2 that compiles the Generic Interrupt
> Controller v2 emulation for domains, it is required only when using
> GICv2 driver, otherwise using the GICv3 driver it is optional and can
> be deselected if the user doesn't want to offer the v2 emulation to
> domains or maybe its GICv3 hardware can't offer the GICv2 compatible
> mode.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 21:03:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 21:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576616.902946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfTt-0001YA-0x; Thu, 03 Aug 2023 21:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576616.902946; Thu, 03 Aug 2023 21:03:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfTs-0001Y3-UH; Thu, 03 Aug 2023 21:03:36 +0000
Received: by outflank-mailman (input) for mailman id 576616;
 Thu, 03 Aug 2023 21:03:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRfTr-0001Xx-TZ
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 21:03:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfTp-0001po-OV; Thu, 03 Aug 2023 21:03:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfTp-0007Sk-FS; Thu, 03 Aug 2023 21: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=7NJgIuBBaorRvBuuZNfLjpOMs0awr/mZgat3dL+uQ/c=; b=AD1caAMM4tVHDRUnYmtP0Heqka
	IT8BrsiQYq+YVZZaUxIz6+a8nt/rLy/L0PX8JAwu9F0mgumV3m+vvVzWHoWWlHfZUNqwZmALPaa2i
	ZNpS9BUUUOy8eUH7JTCQu6dwpit4fSe0DbQF2ra/2VfhfCqabpC3+0JIM4C/9y2pmhUg=;
Message-ID: <8951f722-6949-b2b5-f6d4-2d515f085cde@xen.org>
Date: Thu, 3 Aug 2023 22:03:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Cc: 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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
In-Reply-To: <20230801202006.20322-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/08/2023 21:20, Daniel P. Smith wrote:
> The field `is_console` suggests that the field represents a state of being or
> posession, not that it reflects the privilege to access the console. In this
> patch the field is renamed to capabilities to encapsulate the capabilities a
> domain has been granted. The first capability being the ability to read/write
> the Xen console.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>   xen/arch/arm/domain_build.c |  4 +++-
>   xen/include/xen/sched.h     | 25 +++++++++++++++++++++++--
>   xen/include/xsm/dummy.h     |  2 +-
>   3 files changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 51b4daefe1..ad7432b029 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -4076,7 +4076,9 @@ void __init create_domUs(void)
>               panic("Error creating domain %s (rc = %ld)\n",
>                     dt_node_name(node), PTR_ERR(d));
>   
> -        d->is_console = true;
> +        if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )

Coding style: We don't usually add a space after '!'.

> +            printk("failed setting console_io on %pd\n", d);

I find a bit odd that we would continue even if the cap cannot be set. 
Can you clarify?

> +
>           dt_device_set_used_by(node, d->domain_id);
>   
>           rc = construct_domU(d, node);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index ec0f9baff6..b04fbe0565 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -472,8 +472,8 @@ struct domain
>   #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>   #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>       uint8_t          role;
> -    /* Can this guest access the Xen console? */
> -    bool             is_console;
> +#define CAP_CONSOLE_IO  (1U<<0)
Coding style: Space before and after <<.

> +    uint8_t          capabilities;
>       /* Is this guest being debugged by dom0? */
>       bool             debugger_attached;
>       /*
> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
>       return is_hvm_domain(v->domain);
>   }
>   
> +static always_inline bool domain_has_cap(
> +    const struct domain *d, uint8_t cap)

Coding style: We don't usually wrap the arguments this way. See 
domain_create() for an example.

> +{
> +    return d->capabilities & cap;
> +}
> +
> +static always_inline bool domain_set_cap(
> +    struct domain *d, uint8_t cap)

Same about the coding style here.

Also, do you expect the cap to be set only when the domain is created? 
If not, would you prevent potentially concurrent update to d->capabilities?


> +{
> +    switch ( cap )
> +    {
> +    case CAP_CONSOLE_IO:
> +        d->capabilities |= cap;
> +        break;
> +    default:

Is this meant to be reached? If not, maybe add ASSERT_UNREACHABLE()?

> +        return false;
> +    }
> +
> +    return domain_has_cap(d, cap);
> +} > +
>   static always_inline bool hap_enabled(const struct domain *d)
>   {
>       /* sanitise_domain_config() rejects HAP && !HVM */
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 18f1ddd127..067ff1d111 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -268,7 +268,7 @@ static XSM_INLINE int cf_check xsm_console_io(
>       XSM_DEFAULT_ARG struct domain *d, int cmd)
>   {
>       XSM_ASSERT_ACTION(XSM_OTHER);
> -    if ( d->is_console )
> +    if ( domain_has_cap(d, CAP_CONSOLE_IO) )
>           return xsm_default_action(XSM_HOOK, d, NULL);
>   #ifdef CONFIG_VERBOSE_DEBUG
>       if ( cmd == CONSOLEIO_write )

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 21:24:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 21:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576621.902956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfo0-00045P-O6; Thu, 03 Aug 2023 21:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576621.902956; Thu, 03 Aug 2023 21: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 1qRfo0-00045I-LL; Thu, 03 Aug 2023 21:24:24 +0000
Received: by outflank-mailman (input) for mailman id 576621;
 Thu, 03 Aug 2023 21:24:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRfnz-00045C-DH
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 21:24:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfnw-0002OG-Ki; Thu, 03 Aug 2023 21:24:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfnw-0008FT-Ap; Thu, 03 Aug 2023 21:24:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=b8ACP4rpO5B7yWigDdIUg8+cSQszFkSW9ZgxUJLoQH0=; b=vcF5VNsrNRhz1R51C8SN4Ml8+9
	PJlFcNJpcTLEdx/ijQLiRYoM6UAAsloQgprRpFtM2yyxHiSSoZbqbaw1CUvI5GF2vL7trNwRgoqjF
	HFRlJemGr6hxtnkOzSj6jQRH/6lgsT6S5u/Kd3FAXhDioLm6N6T/PbtBfscu0ulVNNPw=;
Message-ID: <423f86e7-10ee-134e-7683-e15f7e2c64ed@xen.org>
Date: Thu, 3 Aug 2023 22:24:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
 <14346689-8276-3c26-91e1-59bc2328518e@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <14346689-8276-3c26-91e1-59bc2328518e@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

On 03/08/2023 16:41, Daniel P. Smith wrote:
> On 8/1/23 21:01, Stefano Stabellini wrote:
>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>> patch the field is renamed to capabilities to encapsulate the 
>>> capabilities a
>>> domain has been granted. The first capability being the ability to 
>>> read/write
>>> the Xen console.
>>>
>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>
>> Patch looks fine to me aside the two minor nits. I am not sure I
>> understand 100% the difference between capabilities and roles but I am
>> OK with the patch. I'd like to hear Julien's feedback on this as well.
> 
> This might be worth a section in the hypervisor-guide. As mentioned in 
> the cover letter, this was originally proposed as being under XSM. A 
> challenge I ran into is that, depending on your view, the 
> `is_privileged` field and `hardware_domain` global were either abused as 
> a function check and a non-resource privilege check or are just 
> multifaceted variables. This is why the concept of the role was struck 
> upon, it is more intuitive (for me at least) that have a role is 
> something that imparts accesses (privilege checks) and dictates 
> hypervisor behaviors when handling the domain (function checks). This 
> then brings us to an access or behavior that may be inherent to some 
> role(s) but may want to grant on an individually to a guest. A prime 
> example of this is console_io, for which it is inherent that the 
> hardware domain role will have access but may want to grant to a guest 
> without granting it an entire role. This is why I provided for 
> identifying these capabilities so that they may be assigned individually 
> to a domain.

Thanks for the explanation. Just to confirm my understanding, what you 
are suggesting is that for a given role, a domain will at least have the 
matching capabilities (more could be granted). Is that correct?

If so, this wouldn't this mean we can remove d->role and simply use 
d->capabilities?

> 
> While the role/capability is a natural progression from how the 
> hypervisor currently operates. Another approach that could be consider 
> to deliver a similar experience would be to break down every access and 
> function into a capability and then define the standard roles as a 
> conglomeration of certain capabilities.

At least from the explanation above, I think it would make sense to 
break down role to multiple capabilities.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 21:31:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 21:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576625.902966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfuQ-0005ZL-DI; Thu, 03 Aug 2023 21:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576625.902966; Thu, 03 Aug 2023 21:31:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfuQ-0005ZE-AU; Thu, 03 Aug 2023 21:31:02 +0000
Received: by outflank-mailman (input) for mailman id 576625;
 Thu, 03 Aug 2023 21:31:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRfuO-0005Z4-S6; Thu, 03 Aug 2023 21:31:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRfuO-0002Vg-KE; Thu, 03 Aug 2023 21:31:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRfuO-0008Lu-6B; Thu, 03 Aug 2023 21:31:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRfuO-0001K2-5j; Thu, 03 Aug 2023 21:31:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gFSPCm9deNIY+l/KDz0AtZoQzdl0i2GcJKJL6jR44WM=; b=p/8FWssJy5tY85aZIZoetM72Vf
	PYtE8u4xfvYFOQdN1tnBz1yJU+8PendPWcsTJm93ZxsgqPudkqvBL0773Qbw9cO1S7BmeHOBcSYl3
	JXvWCS0gEUd5IYyPOcTDH7bT7iajExZ6vxgbEiIAw8WxVTSK62n2ifyeFoxX2OzLzO7Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182168-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182168: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ef051451367fa5455d75b38c407ca352a43b4849
X-Osstest-Versions-That:
    ovmf=7672d1cca58228b0cb7f099e8863aa3a44ae45db
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 21:31:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ef051451367fa5455d75b38c407ca352a43b4849
baseline version:
 ovmf                 7672d1cca58228b0cb7f099e8863aa3a44ae45db

Last test of basis   182163  2023-08-03 12:42:25 Z    0 days
Testing same since   182168  2023-08-03 15:12:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oliver Smith-Denny <osde@linux.microsoft.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   7672d1cca5..ef05145136  ef051451367fa5455d75b38c407ca352a43b4849 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 21:36:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 21:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576631.902975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRfzO-0006Bc-Vs; Thu, 03 Aug 2023 21:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576631.902975; Thu, 03 Aug 2023 21: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 1qRfzO-0006BV-TB; Thu, 03 Aug 2023 21:36:10 +0000
Received: by outflank-mailman (input) for mailman id 576631;
 Thu, 03 Aug 2023 21:36:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRfzN-0006BP-CM
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 21:36:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfzM-0002bq-F3; Thu, 03 Aug 2023 21:36:08 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRfzM-0000BX-9e; Thu, 03 Aug 2023 21:36:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=9I4IMIR62JFUSTNFv83Hx7SnUeTpD2dVhBdbjVSIbYA=; b=JmSD+bLu9AyoiOvCUNwkVnl8Me
	iGauZ9akeEuNCg/fWzs+uq9Daqddvk6mcoiBxxIRT3ooE0K5O5JcTATbnDgCsnsC0x0Sw7ASl7POP
	GCXRSiFdRleXUM2vpof2xgeOd0ucN1lZbtxxH+aIE620qVtq5h/TcoZTT69vovbtvhCY=;
Message-ID: <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
Date: Thu, 3 Aug 2023 22:36:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230724110247.10520-23-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/07/2023 12:02, Juergen Gross wrote:
> diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
> index 86cf8322b4..2662a3fa49 100644
> --- a/tools/xenstore/xenstored_watch.c
> +++ b/tools/xenstore/xenstored_watch.c
> @@ -166,19 +166,12 @@ static int destroy_watch(void *_watch)
>   static int check_watch_path(struct connection *conn, const void *ctx,
>   			    const char **path, bool *relative)
>   {
> -	/* Check if valid event. */
> -	if (strstarts(*path, "@")) {
> -		*relative = false;
> -		if (strlen(*path) > XENSTORE_REL_PATH_MAX)
> -			goto inval;

I can't find an exact matching check in is_valid_nodename(). The call 
also seems to put more restriction on '@' node. Can you clarify?

> -	} else {
> -		*relative = !strstarts(*path, "/");
> -		*path = canonicalize(conn, ctx, *path);
> -		if (!*path)
> -			return errno;
> -		if (!is_valid_nodename(conn, *path))
> -			goto inval;
> -	}
> +	*relative = !strstarts(*path, "/") && !strstarts(*path, "@");
> +	*path = canonicalize(conn, ctx, *path);
> +	if (!*path)
> +		return errno;
> +	if (!is_valid_nodename(conn, *path, true))
> +		goto inval;
>   
>   	return 0;
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 21:46:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 21:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576635.902985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRg9R-0007hN-T0; Thu, 03 Aug 2023 21:46:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576635.902985; Thu, 03 Aug 2023 21:46:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRg9R-0007hG-QT; Thu, 03 Aug 2023 21:46:33 +0000
Received: by outflank-mailman (input) for mailman id 576635;
 Thu, 03 Aug 2023 21:46:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRg9Q-0007hA-EF
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 21:46:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRg9P-0002lt-6C; Thu, 03 Aug 2023 21:46:31 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRg9O-0000ai-VN; Thu, 03 Aug 2023 21:46:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=UI+XY8c1yZmkOGX+ChwuPScO0M2akPMjAXHhbUROwUg=; b=0ZzXJPzPtI2pi6XZDkmuiD3srk
	vBWC0lNF6PlaJXl7o/d+z4yO6vkg5yk0qoQpPRN/Qz57bJ/kOFomwDJYhpMMxUFYA+pn0VQ47Busi
	qyXF06sKSiYjalcnHHxFyZiSmrbTNGFWSxrUnFs6VS2J1tJ6z1T7PDebK5tX4KSNSH0M=;
Message-ID: <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
Date: Thu, 3 Aug 2023 22:46:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
In-Reply-To: <20230724110247.10520-24-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/07/2023 12:02, Juergen Gross wrote:
> Today is_valid_nodename() is always called directly after calling
> canonicalize(), with the exception of do_unwatch(), where the call
> is missing (which is not correct, but results just in a wrong error
> reason being returned).

While this change makes sense...

> 
> Merge is_valid_nodename() into canonicalize(). While at it merge
> valid_chars() into it, too.

... I am not in favor of folding the code is_valid_nodename() and 
valid_chars() into canonicalize() because the code is now more difficult 
to read. Also, the keeping the split would allow to free the 'name' in 
case of an error without adding too much goto in the code.

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - new patch
> ---
>   tools/xenstore/xenstored_core.c  | 89 ++++++++++++++------------------
>   tools/xenstore/xenstored_core.h  |  6 +--
>   tools/xenstore/xenstored_watch.c | 16 ++----
>   3 files changed, 45 insertions(+), 66 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index ea5a1a9cce..ec20bc042d 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -1210,42 +1210,6 @@ void send_ack(struct connection *conn, enum xsd_sockmsg_type type)
>   	send_reply(conn, type, "OK", sizeof("OK"));
>   }
>   
> -static bool valid_chars(const char *node)
> -{
> -	/* Nodes can have lots of crap. */
> -	return (strspn(node,
> -		       "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
> -		       "abcdefghijklmnopqrstuvwxyz"
> -		       "0123456789-/_@") == strlen(node));
> -}
> -
> -bool is_valid_nodename(const struct connection *conn, const char *node,
> -		       bool allow_special)
> -{
> -	int local_off = 0;
> -	unsigned int domid;
> -
> -	/* Must start in / or - if special nodes are allowed - in @. */
> -	if (!strstarts(node, "/") && (!allow_special || !strstarts(node, "@")))
> -		return false;
> -
> -	/* Cannot end in / (unless it's just "/"). */
> -	if (strends(node, "/") && !streq(node, "/"))
> -		return false;
> -
> -	/* No double //. */
> -	if (strstr(node, "//"))
> -		return false;
> -
> -	if (sscanf(node, "/local/domain/%5u/%n", &domid, &local_off) != 1)
> -		local_off = 0;
> -
> -	if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off))
> -		return false;
> -
> -	return valid_chars(node);
> -}
> -
>   /* We expect one arg in the input: return NULL otherwise.
>    * The payload must contain exactly one nul, at the end.
>    */
> @@ -1279,16 +1243,46 @@ static char *perms_to_strings(const void *ctx, const struct node_perms *perms,
>   }
>   
>   const char *canonicalize(struct connection *conn, const void *ctx,
> -			 const char *node)
> +			 const char *node, bool allow_special)
>   {
> -	const char *prefix;
> +	char *name;
> +	int local_off = 0;
> +	unsigned int domid;
>   
> -	if (!node || (node[0] == '/') || (node[0] == '@'))
> -		return node;
> -	prefix = get_implicit_path(conn);
> -	if (prefix)
> -		return talloc_asprintf(ctx, "%s/%s", prefix, node);
> -	return node;
> +	errno = EINVAL;
> +	if (!node)
> +		return NULL;
> +
> +	if (strspn(node, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
> +			 "0123456789-/_@") != strlen(node))
> +		return NULL;
> +
> +	if (node[0] == '@' && !allow_special)
> +		return NULL;
> +
> +	if (node[0] != '/' && node[0] != '@') {
> +		name = talloc_asprintf(ctx, "%s/%s", get_implicit_path(conn),
> +				       node);

This is allocated but not freed on error. I understand this is part of 
the 'ctxt' and therefore will be free later on. But this means temporary 
memory will be allocated for longer. So best to clean-up when you can.

> +		if (!name)
> +			return NULL;
> +	} else
> +		name = (char *)node;

Why does name need to be const?

> +
> +	/* Cannot end in / (unless it's just "/"). */
> +	if (strends(name, "/") && !streq(name, "/"))
> +		return NULL;
> +
> +	/* No double //. */
> +	if (strstr(name, "//"))
> +		return NULL;
> +
> +	if (sscanf(name, "/local/domain/%5u/%n", &domid, &local_off) != 1)
> +		local_off = 0;
> +
> +	if (domain_max_chk(conn, ACC_PATHLEN, strlen(name) - local_off))
> +		return NULL;
> +
> +	return name;
>   }

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 22:07:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 22:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576639.902996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRgTN-0001n9-Ig; Thu, 03 Aug 2023 22:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576639.902996; Thu, 03 Aug 2023 22:07:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRgTN-0001n2-FQ; Thu, 03 Aug 2023 22:07:09 +0000
Received: by outflank-mailman (input) for mailman id 576639;
 Thu, 03 Aug 2023 22:07: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 1qRgTL-0001ms-DE; Thu, 03 Aug 2023 22:07: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 1qRgTL-0003J8-BU; Thu, 03 Aug 2023 22:07: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 1qRgTL-00020S-0A; Thu, 03 Aug 2023 22:07:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRgTK-0008QT-W2; Thu, 03 Aug 2023 22:07:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vAkV7C/winOGfeaSVagYkmgkefwZFsATE6mB7e8XKZc=; b=FmYE1GyWknCibHVI+OVVitjTb9
	mknP4OhYuB7xLERHskMeJYhGNNHU4DK/FUPfSE8ODEtgANN+lIGiU+tWxdLfVnCtH2P08dvNkwjvh
	HWHcGpGcsbma1dArHDUK2XbG3RgLYuXNINgthHgch/eGoWeU3BEi9GGW8vJSevf1VdjM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182172-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182172: 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=092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
X-Osstest-Versions-That:
    xen=1aa5acbbec3f37bf38d78fa96d210053f8e8efd5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 03 Aug 2023 22:07:06 +0000

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

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                  092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
baseline version:
 xen                  1aa5acbbec3f37bf38d78fa96d210053f8e8efd5

Last test of basis   182170  2023-08-03 16:00:27 Z    0 days
Testing same since   182172  2023-08-03 19:02:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1aa5acbbec..092cae024a  092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 23:39:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 23:39:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576647.903006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRhuD-0002yH-RY; Thu, 03 Aug 2023 23:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576647.903006; Thu, 03 Aug 2023 23:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRhuD-0002yA-Oa; Thu, 03 Aug 2023 23:38:57 +0000
Received: by outflank-mailman (input) for mailman id 576647;
 Thu, 03 Aug 2023 23:38:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRhuC-0002y4-Nr
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 23:38:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e79b14f8-3256-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 01:38:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 39A8161ECC;
 Thu,  3 Aug 2023 23:38:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69D56C433C8;
 Thu,  3 Aug 2023 23:38:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e79b14f8-3256-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691105931;
	bh=Gto+zPA7WqoUuOk2iaXFpTJBpEqbnLyFxmcl2hlKzqQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hCxW0wIwqeqN8N9Xy0TdiOvFSCOz5IcsDehPty6TxyG9Frx939mWqOabnoS2vokUi
	 EAPFsQg7Lte+ZVuxu5yBRVWABX+MiPRoPd9JNszMHSdI8rvEZZ+53h51LhrO8NS62C
	 zNVGi9scKSwLi47gIO1iGskHZHyz4zMf8/6xWW8ECa4JqkNJxOIhqduZsrHV48xU3m
	 lPjI/SsE12tdGQytk1n3SivmkOfCQWfV3ePfjjBvWxWa2wB1cQdl+lD6qQYz9ZA/2a
	 wRPfANPNTFyM2QqsN+FpuhDHS7mumJUG9Q/KSvIw6s4EKAa9suFiiGAuh01gHFjr8B
	 z8/fcjkZNv/5w==
Date: Thu, 3 Aug 2023 16:38:49 -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: 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>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com> <65e62111-7997-de4d-cf12-15d89ec87471@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, 3 Aug 2023, Daniel P. Smith wrote:
> > Also, what is the plan for the existing dom0less dt properties?
> > Will they need to be moved to new /hypervisor node or we will have to parse
> > both /chosen and /hypervisor nodes?
> 
> In the proposal I sent to xen-devel in response to Luca's RFC for rebranding
> dom0less features under hyperlaunch, that is the purpose of this commit. Get
> this document up to date with what was done in v1 along with what we are
> planning/working on for hyperlaunch. One could think of this as effectively
> the API to the capabilities hyperlaunch will provide. Not just how to
> construct a domain, but what kinds of domains can be constructed by
> hyperlaunch. Step one of the proposal is to publish a patch upon which we all
> can iterate over and get to an agreement on a suitable interface for all. The
> next step would be the introduction of hyperlaunch dom0less compatibility
> mode, that would see the moving of the parsing logic for the existing dom0less
> nodes under /xen/common/domain-builder. It would continue to exist there even
> after hyperlaunch proper is merged and can remain there for backward
> compatibility until there is a decision to retire the compatibility interface.

I like this plan. The two interfaces are so similar that it is basically
one interface with a couple of tiny differences.

So I expect we would move the existing dom0less parsing code to common/,
add a couple of extensions (such as parsing /hypervisor in addition to
/chosen) and use it as it.

Later on, after a few years of using /hypervisor instead of /chosen, if
nobody is using /chosen anymore, we could retire /chosen completely. But
this is just one DT node/property that gets retired (there are a couple
of others). I don't imagine we'll have a full new implementation of the
DT parsing logic that supersedes the existing implementation of it
(especially considering the difficulty of maintaining 2 different parsing
logics in the hypervisor for similar interfaces).

Same thing for the DT interface documentation. I don't think we need two
DT interface docs? We could start with the existing dom0less interface
(docs/misc/arm/device-tree/booting.txt), and move it somewhere common
like docs/misc/device-tree.

Then add any changes or extensions required by other architecture, such
as x86 and RISC-V.

For sure for x86 we need "module-index". I don't know if anything else
is must-have to get it to work on x86 but if there is, we should add
those too.


From xen-devel-bounces@lists.xenproject.org Thu Aug 03 23:50:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 Aug 2023 23:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576652.903015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRi5Q-0005R8-VI; Thu, 03 Aug 2023 23:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576652.903015; Thu, 03 Aug 2023 23: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 1qRi5Q-0005R1-Sa; Thu, 03 Aug 2023 23:50:32 +0000
Received: by outflank-mailman (input) for mailman id 576652;
 Thu, 03 Aug 2023 23: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=hVX3=DU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRi5Q-0005Qv-8G
 for xen-devel@lists.xenproject.org; Thu, 03 Aug 2023 23:50:32 +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 86c60f0d-3258-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 01:50:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E58ED61EFF;
 Thu,  3 Aug 2023 23:50:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2FAB2C433C8;
 Thu,  3 Aug 2023 23:50: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: 86c60f0d-3258-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691106628;
	bh=viWqANyZKHIi6essCCl/Y8s0t4ucXvcaCM8/oC45Vhs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tfQhsp/xS0fz229T7AfTFpXPr0GZTZAzCG0dvNaqFcK3V1qfIqRft61fbS5qqSVDK
	 e96fhi98MPth5eAFou3+umFiu61wt2Yy6/ZcIONChaPSGT4iVbi8lsLEkYG2hOJP/p
	 cnc1/uH1Uz0yAOpi27+tWHmQJG6eGdj7sprQCsdAJfcumd0rlPjXZGmZ9EASaPHcky
	 uOah4p8x4+vMQzNPQdYbbFGMuMi219B7qcjI+GJrr2Ti1KvbzeCaYwN1ne+9mrztFu
	 n0PMETWxc1dsoMfEqbkoMS4ucJn+xMP20NjtToNBjl4JeHx+152eCfFXL4OPQ1IQdE
	 oJrELuTTAYVJA==
Date: Thu, 3 Aug 2023 16:50:25 -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>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com> <e2d71138-e714-3c19-d5b9-94b322a47191@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, 3 Aug 2023, Jan Beulich wrote:
> On 02.08.2023 16:38, Nicola Vetrini wrote:
> > Rule 2.1 states: "A project shall not contain unreachable code".
> > 
> > The functions
> > - machine_halt
> > - maybe_reboot
> > - machine_restart
> > are not supposed to return, hence the following break statement
> > is marked as intentionally unreachable with the ASSERT_UNREACHABLE()
> > macro to justify the violation of the rule.
> 
> During the discussion it was mentioned that this won't help with
> release builds, where right now ASSERT_UNREACHABLE() expands to
> effectively nothing. You want to clarify here how release builds
> are to be taken care of, as those are what eventual certification
> will be run against.

Something along these lines:

ASSERT_UNREACHABLE(), not only is used in non-release builds to actually
assert and detect errors, but it is also used as a marker to tag
unreachable code. In release builds ASSERT_UNREACHABLE() doesn't resolve
into an assert, but retains its role of a code marker.

Does it work?


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:09:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576657.903025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiNl-0007iQ-LH; Fri, 04 Aug 2023 00:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576657.903025; Fri, 04 Aug 2023 00:09: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 1qRiNl-0007iJ-IG; Fri, 04 Aug 2023 00:09:29 +0000
Received: by outflank-mailman (input) for mailman id 576657;
 Fri, 04 Aug 2023 00:09: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRiNk-0007iC-NX
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:09:28 +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 2bab1b06-325b-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:09:26 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7D98B61EF2;
 Fri,  4 Aug 2023 00:09:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE0C3C433C8;
 Fri,  4 Aug 2023 00:09:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bab1b06-325b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691107763;
	bh=KsskHdlsOakz1lNpgxVEJJ+yy4KW2vSLGBoEznyVgDU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=f1M24UJdRvENNOAeV1T3ssJE81ggMsECHyHG/oW+BlC6GvGlFRVQ/oM2Pk4f75kDl
	 80UzLvhv8Kh1xawiJ3cA+PDB1DbOCN0o/g0auuRwIzr9u6hrEux+n48lTf/u5cJ/tq
	 uJl0KTteU9g3i35R1zoo7xmSFu90tOc/k4fMbHxTXWeFpFdBjphx9aNY7KQnU6mFQx
	 W3i42NcHGpOcURALTPvYviDdkXUAwPyufR1kS3RIvYtyX/nECeyUJGRGgHs1ZLsVRf
	 zrRzHMJs6n8LrUUm4MO+71t009Obz3/+Vr5LzkgPc1F0aDuzOYJSeg39zAuYS140ku
	 eIa+SxOicTGxA==
Date: Thu, 3 Aug 2023 17:09:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    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>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308031709070.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com> <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 3 Aug 2023, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
> > > Also, what is the plan for the existing dom0less dt properties?
> > > Will they need to be moved to new /hypervisor node or we will have to parse
> > > both /chosen and /hypervisor nodes?
> > 
> > In the proposal I sent to xen-devel in response to Luca's RFC for rebranding
> > dom0less features under hyperlaunch, that is the purpose of this commit. Get
> > this document up to date with what was done in v1 along with what we are
> > planning/working on for hyperlaunch. One could think of this as effectively
> > the API to the capabilities hyperlaunch will provide. Not just how to
> > construct a domain, but what kinds of domains can be constructed by
> > hyperlaunch. Step one of the proposal is to publish a patch upon which we all
> > can iterate over and get to an agreement on a suitable interface for all. The
> > next step would be the introduction of hyperlaunch dom0less compatibility
> > mode, that would see the moving of the parsing logic for the existing dom0less
> > nodes under /xen/common/domain-builder. It would continue to exist there even
> > after hyperlaunch proper is merged and can remain there for backward
> > compatibility until there is a decision to retire the compatibility interface.
> 
> I like this plan. The two interfaces are so similar that it is basically
> one interface with a couple of tiny differences.
> 
> So I expect we would move the existing dom0less parsing code to common/,
> add a couple of extensions (such as parsing /hypervisor in addition to
> /chosen) and use it as it.
> 
> Later on, after a few years of using /hypervisor instead of /chosen, if
> nobody is using /chosen anymore, we could retire /chosen completely. But
> this is just one DT node/property that gets retired (there are a couple
> of others). I don't imagine we'll have a full new implementation of the
> DT parsing logic that supersedes the existing implementation of it
> (especially considering the difficulty of maintaining 2 different parsing
> logics in the hypervisor for similar interfaces).
> 
> Same thing for the DT interface documentation. I don't think we need two
> DT interface docs? We could start with the existing dom0less interface
> (docs/misc/arm/device-tree/booting.txt), and move it somewhere common
> like docs/misc/device-tree.
> 
> Then add any changes or extensions required by other architecture, such
> as x86 and RISC-V.
> 
> For sure for x86 we need "module-index". I don't know if anything else
> is must-have to get it to work on x86 but if there is, we should add
> those too.


For clarity, I think we should definitely have
docs/design/launch/hyperlaunch.rst, and maybe we should also have
hyperlaunch-devicetree.rst as an overview description and user guide.
That's useful.

But in terms of official device tree bindings interface description
(basically what in Linux would go under
Documentation/devicetree/bindings/), I think it would be best to only
have a single document. The current one is
docs/misc/arm/device-tree/booting.txt.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576661.903035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRinI-0002ig-N7; Fri, 04 Aug 2023 00:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576661.903035; Fri, 04 Aug 2023 00:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRinI-0002iZ-KQ; Fri, 04 Aug 2023 00:35:52 +0000
Received: by outflank-mailman (input) for mailman id 576661;
 Fri, 04 Aug 2023 00:35:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRinH-0002iT-7f
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:35:51 +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 db82be17-325e-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:35:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0E63861DC7;
 Fri,  4 Aug 2023 00:35:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D045EC433C8;
 Fri,  4 Aug 2023 00:35: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: db82be17-325e-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109347;
	bh=xTOMQxXd2u9RB/JljKi0xPtht7ZUtCp0e47FG1ZhdF0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RJLISaVgWvv7NIU55pcycVq2cXlGpPXu0h0S3wGPvG3qAInIB8jRPz1WbOwnuvCbK
	 AFAJmr9Zr5i8TCZAdPRG8upte1Tc+EYZzLTzFW4+5WcVdVm+rMF5lrizs2I8lWjea/
	 +mR4WJ0rvIzcUUxjAmlKzDSpnCJx0QGriVCxwb1j8ZWKDzj5ey5ru/vuqgIVOrMimh
	 C3A6SSHMHE+kuH1OhbKXC0/Siw9drOBSCCpDt7RdWsmxIhKdoS5fZTbNT5HOcNTCFv
	 dfyLsubCJayTmmvLgwEpkVddHFRHhz+fpXqdeGHrGzF+03tnkz2VTytJmzo7CX5KTf
	 nfyIys2K+HHPg==
Date: Thu, 3 Aug 2023 17:35:44 -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 <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, 
    Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

I think that's OK for me. My only concern is that we should track the
project-wide deviations properly somewhere besides the ECLAIR
configuration under xen.git which is ECLAIR specific. So far we used the
notes in docs/misra/rules.rst. I don't know if that sufficient, but we
could add a note for 8.4:

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25..5977bc9d5e 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -245,7 +245,8 @@ maintainers if you want to suggest a change.
      - Required
      - A compatible declaration shall be visible when an object or
        function with external linkage is defined
-     -
+     - No need for declarations when functions are only called from
+       assembly
 
    * - `Rule 8.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_05_2.c>`_
      - Required


On Thu, 3 Aug 2023, Nicola Vetrini wrote:
> The headline of Rule 8.4 is as follows:
> "A compatible declaration shall be visible when an object or
> function with external linkage is defined".
> 
> Some functions reported in [1][2] are lacking a declaration in the respective
> header files;
> as remarked on xen-devel's IRC channel, this is ok since they are only called
> from asm code (e.g., start_xen). A similar discussion
> had taken place in the past (see [3]) and the general consensus was to deviate
> these cases.
> If that is still the case, a suitable project-wide deviation can be added to
> address these violations.
> 
> [1]
> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
> [2]
> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
> [3] https://lore.kernel.org/all/20220705210218.483854-2-burzalodowa@gmail.com/
> 
> Regards,
> 
> -- 
> Nicola Vetrini, BSc
> Software Engineer, BUGSENG srl (https://bugseng.com)
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:40:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576665.903046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiru-0004Al-9S; Fri, 04 Aug 2023 00:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576665.903046; Fri, 04 Aug 2023 00:40:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiru-0004Ae-6l; Fri, 04 Aug 2023 00:40:38 +0000
Received: by outflank-mailman (input) for mailman id 576665;
 Fri, 04 Aug 2023 00:40: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRirs-0004AY-Ht
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:40:36 +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 85aaec7f-325f-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:40:35 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B92B261E69;
 Fri,  4 Aug 2023 00:40:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 30D32C433C7;
 Fri,  4 Aug 2023 00:40: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: 85aaec7f-325f-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109633;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ptHtLHezoaXBnNqx1jtxwQq1wyegSfjNrAr4jbJcJVnFQCzLS+jy1mvPBnUfpDsnb
	 w1FdM/2oaJi7FfP2c39SEP7P3xf065X83K6KFfCsbvlaKY1hnULXD/cxzaXM2L7PtS
	 007i/ADbNAaz7fCag3lyteEBSwNtkm9pZskjbCIoC2abytyI0AVVvB8oMFzyb2VlDu
	 zlFPiHkAB7QRlePxRyDWrT3x2FBioNjSezPq1ExfY0BgvtIQjhfSsj8Jqpt7nXJQmB
	 WbViOBW96ehjeaWVzd1R8/OpMuueK4iaGk2UiaaAWDBR5Bl6EXqoc1q72Vpmo8qzU8
	 qqQUKrl4A6taA==
Date: Thu, 3 Aug 2023 17:40:30 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH 01/13] AMD/IOMMU: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <2af1f76d2c002dd9f0b01eebf7af516d86bfe91e.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031740180.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <2af1f76d2c002dd9f0b01eebf7af516d86bfe91e.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:43:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576668.903055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiuE-0004j3-L3; Fri, 04 Aug 2023 00:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576668.903055; Fri, 04 Aug 2023 00: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 1qRiuE-0004iw-IO; Fri, 04 Aug 2023 00:43:02 +0000
Received: by outflank-mailman (input) for mailman id 576668;
 Fri, 04 Aug 2023 00: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRiuD-0004im-3L
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:43:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db29d1ed-325f-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:42:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1E92761EF7;
 Fri,  4 Aug 2023 00:42:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6BBAFC433C7;
 Fri,  4 Aug 2023 00:42: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: db29d1ed-325f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109776;
	bh=UdXT2+JAmcKcv7dOtJNeXBI+rNm0c9k8j9eT6RBgY3Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kJ3QqrSHslJGLiwb4kI4SayoF8TMhC7gDLOfxzMoLmmCF5a40iralPryD4G/9N1ll
	 DH+0+xKOJDKwM8fi8fbHZKc9OLmFH8Spvcw60SzdSU2g0NeT1jajTem1I3taHV+P/8
	 zQClv+xp+6+hCyru1I/Za0fJ7MgNgQXA5xl2VWQDw5ayBvijvoJN8aw2ELWZWvXon+
	 +dH38jgS9iiGwl7gMAO8b95qt23Em0ba6+z2kN9fZBeZpm5qBMf0ClzKwJx9ICakmb
	 UofvkHsax9ZawhSzf3B4hmy637HOiJnFtQC7HWgIQaR3MubuRE6beTvqaujY6jc3WO
	 x0PJuRFO3ygzw==
Date: Thu, 3 Aug 2023 17:42:54 -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, 
    Gianluca Luparini <gianluca.luparini@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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/13] x86/svm: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <2779c3b2cbe27d95274a4ab44f6b9c877e59e8bc.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031742470.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <2779c3b2cbe27d95274a4ab44f6b9c877e59e8bc.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


> ---
>  xen/arch/x86/hvm/svm/svm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index b3845bdca7..01dd592d9b 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -1077,7 +1077,7 @@ static void svm_guest_osvw_init(struct domain *d)
>       * Guests should see errata 400 and 415 as fixed (assuming that
>       * HLT and IO instructions are intercepted).
>       */
> -    svm->osvw.length = min(max(3ul, osvw_length), 64ul);
> +    svm->osvw.length = min(max(3UL, osvw_length), 64UL);
>      svm->osvw.status = osvw_status & ~6;
>  
>      /*
> @@ -1652,7 +1652,7 @@ static void svm_do_nested_pgfault(struct vcpu *v,
>      else if ( pfec & NPT_PFEC_in_gpt )
>          npfec.kind = npfec_kind_in_gpt;
>  
> -    ret = hvm_hap_nested_page_fault(gpa, ~0ul, npfec);
> +    ret = hvm_hap_nested_page_fault(gpa, ~0UL, npfec);
>  
>      if ( tb_init_done )
>      {
> -- 
> 2.34.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:44:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576672.903066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRivj-0005Hg-00; Fri, 04 Aug 2023 00:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576672.903066; Fri, 04 Aug 2023 00: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 1qRivi-0005HZ-Se; Fri, 04 Aug 2023 00:44:34 +0000
Received: by outflank-mailman (input) for mailman id 576672;
 Fri, 04 Aug 2023 00:44: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRivh-0005HR-3D
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:44: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 12eed940-3260-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:44:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C23B561DC7;
 Fri,  4 Aug 2023 00:44:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 21504C433C8;
 Fri,  4 Aug 2023 00:44: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: 12eed940-3260-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109870;
	bh=T/Gyp8K+J/T2MSq60L3DlKPnDzhU+5aLg0S52VXWxEk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AUY9U1PoZmUQbGZyjyo4QI+aeaIdXl6poXHZfaZ8sy3RNp5UaL2rhhD/Ie9djkq3D
	 MIpdNlQtrqV5M88ILk/Hdjs9TgcpAkR5xOHstXdEIVvXPtmHkzjIZCgyPdQHerd8Y4
	 AnWdbSDY15PQ6eLz/a/xYedaPO46zKVZaE0lU3DXvUwtialPLSwnd6GTEhb7rEOkzH
	 lBsK04ODTCPijEKUH7eSpVViAwVJv4eLMLRRKHPthnWAbdNB2Gt0HQUzt2hsO6oGuw
	 EjzaafmHPrB0kYae0cZDeAXT5d68Zy6tsg/a1ZGG+iw7fShGroxzcFn9b7r67/Rzl/
	 IZGOX0pvLY7vg==
Date: Thu, 3 Aug 2023 17:44:27 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.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: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <c39836607097b09119a4f4480c77506295333a55.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031743440.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <c39836607097b09119a4f4480c77506295333a55.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:45:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576675.903075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiwd-0005r5-7r; Fri, 04 Aug 2023 00:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576675.903075; Fri, 04 Aug 2023 00: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 1qRiwd-0005qy-5J; Fri, 04 Aug 2023 00:45:31 +0000
Received: by outflank-mailman (input) for mailman id 576675;
 Fri, 04 Aug 2023 00:45:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRiwb-0005oh-QP
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:45:29 +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 346cb86a-3260-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:45:28 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0074261DC7;
 Fri,  4 Aug 2023 00:45:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73609C433C8;
 Fri,  4 Aug 2023 00:45: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: 346cb86a-3260-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109926;
	bh=T/Gyp8K+J/T2MSq60L3DlKPnDzhU+5aLg0S52VXWxEk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=myoZ64wH+anhtW07wEvaIpbUIWI5F/mzBsQtE2EOiOZfHSByKh/j1BtwsO4l2V0fX
	 6KKKC7fTRvwqgyvMHWG0ro8BxfwRGuRJLGiEeoaJH4EwC/jfrwNFgdAX3SSzGdlZgt
	 qnDNiF6jUqoBRbIArLgQBfP2gXICz/u+idOFMkUSyVKJLYQXV7548MapQIZ8jjdGEM
	 POBpUHDCxUF7HcxXlHIvh7VL5pBfU5gAB36P6/2KGHJj0od2CeL0wb05eRmreIpL39
	 3f06Lgfu1hOfWefdw6Bk2+WJ58kVi5s0R2C8M+4wkrUz1fhUPVkBwBxQwr46cq9M3T
	 /Lut0Fe0EzbYw==
Date: Thu, 3 Aug 2023 17:45:24 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH 04/13] x86/IOMMU: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <ba2605e168cb65ca7f2e4fcc6b957b5ae0b3062a.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031745140.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <ba2605e168cb65ca7f2e4fcc6b957b5ae0b3062a.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:46:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576680.903085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRixF-0006RM-Kn; Fri, 04 Aug 2023 00:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576680.903085; Fri, 04 Aug 2023 00: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 1qRixF-0006RE-IC; Fri, 04 Aug 2023 00:46:09 +0000
Received: by outflank-mailman (input) for mailman id 576680;
 Fri, 04 Aug 2023 00: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRixE-0005oh-PN
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:46:08 +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 4bb1b319-3260-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:46:07 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F305C61DC7;
 Fri,  4 Aug 2023 00:46:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AB213C433C7;
 Fri,  4 Aug 2023 00:46: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: 4bb1b319-3260-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691109965;
	bh=T/Gyp8K+J/T2MSq60L3DlKPnDzhU+5aLg0S52VXWxEk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OniK5GsPP4r1v/B+Xaq+PyQ/9FVT341uu39wnaF9irdRTkuDm+ruGnBG9REwLMCIM
	 k2UgO1FbT+O7RRkzfN56SLybqJYCvRv6B00oxoL6+VlBuDUj7xNGF6zSvp1UQdlwxa
	 anu1x6cl9jL7iHGs2TMALa7ySZh7XWJZXwG6JfzIFuQ2xDJX7bLdkaqt4JCh8RS1ej
	 AChg4vgztaSb0XWbKtpLsgSf+kG/tHz7QFm6TerrEWyUvn+HKIQD1QcnEA4jFiqaam
	 Q5fP0oFJ3Qw1GVMLmmDodnWBjiAaHdDvmHEQVVjqFirf+cEnyB/nQ9naAsOOhlQmBA
	 CGagW7zh8dy7w==
Date: Thu, 3 Aug 2023 17:46:03 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Paul Durrant <paul@xen.org>
Subject: Re: [XEN PATCH 05/13] xen/ioreq: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <771362e703548e55d4ccc420fa880585a5748c4f.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031745520.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <771362e703548e55d4ccc420fa880585a5748c4f.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:48:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576685.903095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiz8-00075m-15; Fri, 04 Aug 2023 00:48:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576685.903095; Fri, 04 Aug 2023 00:48:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRiz7-00075d-Uq; Fri, 04 Aug 2023 00:48:05 +0000
Received: by outflank-mailman (input) for mailman id 576685;
 Fri, 04 Aug 2023 00:48:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRiz6-00075V-As
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:48:04 +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 903e7fed-3260-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:48:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F3FED61EB3;
 Fri,  4 Aug 2023 00:48:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 682E8C433C7;
 Fri,  4 Aug 2023 00:47: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: 903e7fed-3260-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110080;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XAfB44FZtGHWgzqurllVDo3K6OoWTQj6opwOBRDxYSxGTX+ChqP6lPKNLjxR/eHi3
	 q76aosi2+qHSt3VTcFl8LPqpbtvlWiauuNcdrSiBu5l1+62SG44jLMMMjv3CiIsfN0
	 VGMIGRKV2qUbuzD4GSWvZYjwFvNBdf2wYyhmsquwTJcxx7ExLrvWlDlj/zt8wYlmze
	 Q/VbpAIF9p5/T1jL6NnZ8zqNEyErAxlk7BwnIHKZYaZN1bqL3Y3RIH6hWUlis6Kr+a
	 wnxZpuAsDcZH2e81UcWBOqQ+8GGOm0d8bBwZhcFNZKlpOIV7qkfTtNLsbEdBGL6Ety
	 cZ57NX4cJXl1g==
Date: Thu, 3 Aug 2023 17:47:58 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Tamas K Lengyel <tamas@tklengyel.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: Re: [XEN PATCH 06/13] xen/mem_access: address violations of MISRA
 C:2012 Rule 7.3
In-Reply-To: <7e4ff67a24206177c5a304055f395cc2983bb994.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031746340.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <7e4ff67a24206177c5a304055f395cc2983bb994.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:49:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576689.903106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj04-0007d5-9w; Fri, 04 Aug 2023 00:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576689.903106; Fri, 04 Aug 2023 00: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 1qRj04-0007cy-78; Fri, 04 Aug 2023 00:49:04 +0000
Received: by outflank-mailman (input) for mailman id 576689;
 Fri, 04 Aug 2023 00:49: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRj03-00075V-04
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:49:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b36d88d3-3260-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:49:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1736661E69;
 Fri,  4 Aug 2023 00:49:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF96FC433C8;
 Fri,  4 Aug 2023 00:48: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: b36d88d3-3260-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110139;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=V2+M83k1yhLrIVkst5rr4ON/xfA33kz1fsYAwUXlek0WD14US6CdzboSgkyEUcAbY
	 EVuy+MOZWNV9saQ2MvW9xHLSnl3bUbTunC6nVPOIOm0USQrh0QP8WS91XMoFTM3w5p
	 DnVhM8i8seC8k4FrfVNAP8Iz1uDM1aGG0eVqm1AkUV7Z/soMMgS0RdNBeANy+BrfdX
	 9WJMrXhOP/z36CJDlZ6ZqXO6SsNEEffYFYSL32iM83fQhh4G7dpz6F/Zvbftxr1lgD
	 Eyzxh3lyflyaKhml7NWNoi3zWYkxoBhEBExIlNpl0hNRcawUrK0c969XP32C+vaaV9
	 r4mcvhvA+xypA==
Date: Thu, 3 Aug 2023 17:48:57 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH 07/13] xen/vpci: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <4b97aa8203935ba6e202926add0baf8901af5ee9.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031748440.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <4b97aa8203935ba6e202926add0baf8901af5ee9.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576692.903116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj1L-0000c9-Ie; Fri, 04 Aug 2023 00:50:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576692.903116; Fri, 04 Aug 2023 00:50:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj1L-0000c2-G4; Fri, 04 Aug 2023 00:50:23 +0000
Received: by outflank-mailman (input) for mailman id 576692;
 Fri, 04 Aug 2023 00:50:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRj1K-0000bt-9H
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:50:22 +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 e28b9544-3260-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 02:50:20 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2492261DC7;
 Fri,  4 Aug 2023 00:50:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60300C433C7;
 Fri,  4 Aug 2023 00:50:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e28b9544-3260-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110218;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=epvsyWFaYKyhSrJliW05Ih4Ai+oFRvPv3p6Qe6nscmzkLlY+C70GFpWIVAMzK4r/T
	 t5g5/5IMc3F3EgE4j3QXipbzYqYLoGgYoh07Lyi1cyXN8DXyUC3dZ3bCJe6Jp2wDZW
	 ERUmXH/AiM/euaGb3ml75z5qbEajU9QLg5u74FbstIVyvRlVhMDEDjmiD+JoTVAF8w
	 Xbd2gAU1uztmNcBV6VssoEHAM/YPcmE838xzrqDuh1MHKYMAoEScYzevVi2y+AEB8Z
	 9feOhQIbUGDxjJwx1Vjf5uyYFrhqRjylIwj5ODTIUbDkLxTg4ZT9umKhjUdh2BPD00
	 AWnb1J6NAjZPw==
Date: Thu, 3 Aug 2023 17:50:15 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Paul Durrant <paul@xen.org>, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 08/13] xen/hvm: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <d1be6a0bad7e5cd6277a7b258a1fa70e58a68140.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031749170.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <d1be6a0bad7e5cd6277a7b258a1fa70e58a68140.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:52:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:52:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576697.903125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj3Z-0001CE-UJ; Fri, 04 Aug 2023 00:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576697.903125; Fri, 04 Aug 2023 00:52:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj3Z-0001C7-Rl; Fri, 04 Aug 2023 00:52:41 +0000
Received: by outflank-mailman (input) for mailman id 576697;
 Fri, 04 Aug 2023 00:52: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRj3Y-0001C1-KV
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:52:40 +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 3572b10e-3261-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:52:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 28C1761E6E;
 Fri,  4 Aug 2023 00:52:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64DE2C433C8;
 Fri,  4 Aug 2023 00:52: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: 3572b10e-3261-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110357;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ow7avtQkZoOvFTpmNrO2EJqMoB5dEkMcBn2URyWX/IEiR2bDWP+zIMynRgVLlWErs
	 ye5M384NAxsiP3GJQd4AotZFbArQxN3rLQjac5JIcq58Lz22p0iWB85KjRBiNme8Yl
	 4sVsftGL1kR/09xM2M4ev5Q7sCeNQzCsxzL8RkvuUUmTXrWhxygXvH7qv/CCRmXHEp
	 f9b/iVMGIUM0Kfv7PlOHNiaDFUHf7FGE2Lz/P5xz0XF95G+A2Oc2z9NZ8psPNJ5JUl
	 xPfB8fffF/MkYRcyDEE8i3MvLJ1ag6jnr8ZNHLRYD+DqTQyGBAi0HxuAn3Mafc++1N
	 wG4HQ2KwhYD0A==
Date: Thu, 3 Aug 2023 17:52:35 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 09/13] x86/mm: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <feae9122f4fc761f24bed0d015f30849f52449bd.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031751360.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <feae9122f4fc761f24bed0d015f30849f52449bd.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:54:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576701.903135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj5A-0001kL-9Z; Fri, 04 Aug 2023 00:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576701.903135; Fri, 04 Aug 2023 00: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 1qRj5A-0001kE-6o; Fri, 04 Aug 2023 00:54:20 +0000
Received: by outflank-mailman (input) for mailman id 576701;
 Fri, 04 Aug 2023 00:54:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRj59-0001k8-Hs
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:54:19 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70957153-3261-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:54:18 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 56C7461E6E;
 Fri,  4 Aug 2023 00:54:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FA6BC433C8;
 Fri,  4 Aug 2023 00:54:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70957153-3261-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110456;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XqHoxIPYc4YiOSoTC11OGMQFXqOryxj5DT7VZoc+jA+56DVknxaxLysIP/4wfUgEu
	 Md8x/yEiF6brFiGBozICG65NaU2rxc4Y7R2AHL3IQDFDqtxt+w819Q8Tq+7TWWxkUD
	 Wj9KQPS2RlorM7rgRLtYSx5/Eriz26vTzo3dPXtuBv6XqXaxwNDAWyO4gsoLmyVwoC
	 hMjVcq+lcMZ1Lr1QVqGHjOxOzZNOsE50SkklD3lJdi0KZftRuqNvU9I8PdqC5HHk6O
	 SwZATPv6epgq/Yj/gpIJXb7cE0TrNo8ei2lWmdGaGG6WJv8el4EorLPbhJKuNnuK6V
	 YAVPCwJAAVJsA==
Date: Thu, 3 Aug 2023 17:54:14 -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, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.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 10/13] x86/viridian: address violations of MISRA
 C:2012 Rule 7.3
In-Reply-To: <63f0d6385f302517244604af5536ffebd74ba589.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031753150.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <63f0d6385f302517244604af5536ffebd74ba589.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 00:59:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 00:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576706.903146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRj9p-0002P8-Rs; Fri, 04 Aug 2023 00:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576706.903146; Fri, 04 Aug 2023 00: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 1qRj9p-0002P1-Op; Fri, 04 Aug 2023 00:59:09 +0000
Received: by outflank-mailman (input) for mailman id 576706;
 Fri, 04 Aug 2023 00: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRj9o-0002Os-RW
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 00:59:08 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1cfbcfc7-3262-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 02:59:07 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9BA7F61E6E;
 Fri,  4 Aug 2023 00:59:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F17B2C433C7;
 Fri,  4 Aug 2023 00:59: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: 1cfbcfc7-3262-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110746;
	bh=Btq8tZRFhlQCg2lDER3ObYVeMIZwSEBi2OoSzGbb9xE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RCCpvF2Wrj3Nu8u02wLW+yGh1iRg1CfnSALh+liBJh0IXSvFkGorPg/0SY2IDF2Q0
	 6jhQR+tonTWNEoP6J3CSKK1Gy5XCkyDkFdys19hPT9HzEJuUSr5CarslL7Us/F3JkA
	 HnFmSkSnMopU04fUUoqNayQtDOdiO35hVGk/VuB/3eR131fKG2zOij223LI43+KWRW
	 xFP0d+8H+GfCup4vFEAJtFkHmbFcFs9qA+f2xbIR73BwIsTWPcuow+FRFQCfxXIxzw
	 5zloPPLXSI3mxf4p7lW5cPyVKCCdmtbXOA4KeHwzYbyBvvkZ1OGHU9McsvERJiI9J0
	 sx6t5YTVkDooA==
Date: Thu, 3 Aug 2023 17:59:03 -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, 
    Gianluca Luparini <gianluca.luparini@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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 11/13] xen/x86: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <40f438ad05338dd86587eb469c7b0614e1d69462.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031757440.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <40f438ad05338dd86587eb469c7b0614e1d69462.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>


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

But I think I need an eyes exam after reviewing this patch


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:01:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:01:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576709.903156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjBa-0000JX-70; Fri, 04 Aug 2023 01:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576709.903156; Fri, 04 Aug 2023 01: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 1qRjBa-0000IY-3N; Fri, 04 Aug 2023 01:00:58 +0000
Received: by outflank-mailman (input) for mailman id 576709;
 Fri, 04 Aug 2023 01: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRjBY-000873-UQ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 01:00:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ca173fe-3262-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 03:00:54 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4036261E6E;
 Fri,  4 Aug 2023 01:00:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FB64C433C7;
 Fri,  4 Aug 2023 01:00: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: 5ca173fe-3262-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110852;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oCdTSf8x8OpBX90SukM/z2/NrfXWpUWtiUR6G2PQxFBfv8gGp6Adpr+bqQrbUDuvq
	 494lL2cUhFMy3KatYnsw90Ko/lBprxXN64LOsgw+kdrp1a+T03nsWUsWmWoBvd2Vh2
	 JUExD81vud6g5BokrU9kUUzchhZZ/HaquRejbxnyF+oMu6XDVsBolLjnkMvr/T3C4J
	 Y+XnXo/ZlF+3X7zmw9Aoa5TRUBXSx6EJ8JrFDCr7Bao+NLZIcIxeQRXNJ3ycsS/5Pc
	 gwpvdnFJbfV2ZUr44ehcTjCOWdFqqry3K0H9sT4CNcd6imWgO55xX3qs3Jpf2UtXdJ
	 SVYaGRNAjPCKA==
Date: Thu, 3 Aug 2023 18:00:49 -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, 
    Gianluca Luparini <gianluca.luparini@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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 12/13] xen/common: address violations of MISRA C:2012
 Rule 7.3
In-Reply-To: <f095e38d076bbc5d9150da9d1896e6ccbd39ff6f.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031759480.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <f095e38d076bbc5d9150da9d1896e6ccbd39ff6f.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:02:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576713.903165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjCj-0006Sy-L1; Fri, 04 Aug 2023 01:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576713.903165; Fri, 04 Aug 2023 01:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjCj-0006Sr-IL; Fri, 04 Aug 2023 01:02:09 +0000
Received: by outflank-mailman (input) for mailman id 576713;
 Fri, 04 Aug 2023 01:02:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRjCh-0006Sh-Io
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 01:02:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 879d8829-3262-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 03:02:06 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7F65E61E6E;
 Fri,  4 Aug 2023 01:02:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C2DEC433C9;
 Fri,  4 Aug 2023 01:02:03 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 879d8829-3262-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691110924;
	bh=EaAQPFoaGOI3ZfSLVu0aZr8HeevyqtL/S0G/iXavdas=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ncu+9R8PdDC1CMhxX2QntplIA/gbl14i6Dl2uuYTZ8s+acRZUD022hlFAEtHO4zGo
	 h3XSUqBvCa0dsY5CynLe8UlKN+XvwPEqR586wSc7/X7wJn7SbUHk8aIbE7PwWc2asR
	 JxG1bLuPLFFf2v4lJZE5kkZVat84pcJNCLc8//Tojm5GWwwrJFgp+DPnLak2vGtDPf
	 ABchkO6zRuTw5jhTjBAOzPe+YxFs4j8CptuUJTecaNUzKlIaUFSVE5SxD2EAgHbHVv
	 DRNW20YNh/cj/i6bjHebyMvmsVBQDRJJAcruiNp5tvTGUopEG4vRgCSg//u/c1782c
	 yrGJVch9u1Rqw==
Date: Thu, 3 Aug 2023 18:02:02 -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, 
    Gianluca Luparini <gianluca.luparini@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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 13/13] xen: address violations of MISRA C:2012 Rule
 7.3
In-Reply-To: <5b625185f779b9903463b8abd1aabfe7d5d8e548.1691053438.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308031801560.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <5b625185f779b9903463b8abd1aabfe7d5d8e548.1691053438.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, 3 Aug 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:10:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:10:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576718.903175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjKk-000816-Fd; Fri, 04 Aug 2023 01:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576718.903175; Fri, 04 Aug 2023 01:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjKk-00080z-D3; Fri, 04 Aug 2023 01:10:26 +0000
Received: by outflank-mailman (input) for mailman id 576718;
 Fri, 04 Aug 2023 01:10: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRjKj-00080t-TS
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 01:10:25 +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 b058e5ca-3263-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 03:10:24 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D923661F09;
 Fri,  4 Aug 2023 01:10:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 653A4C433C8;
 Fri,  4 Aug 2023 01:10: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: b058e5ca-3263-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691111422;
	bh=oO0A3Ds5bT3/spXLHUEyqr8Wo0ZUsDh6x1xvfua1OlQ=;
	h=From:To:Cc:Subject:Date:From;
	b=jeFh6bLQ/4V3UmryprzFr7RaE7mUBoMoJo/nfqWsJGk/pyINWQihgYPP/IbVc7sOm
	 VggWil7VUm2+4FjLRHKYnMbys0k2UYiWecLQ/IYQhQ+yYT36amhywU/NDqSxsHFb+G
	 OBy3zjz7HiVxiRvedeKTsMdGBfKsUGytLao5ZyNLBGvB/C1rV9RgeRjTI7CjiFbpT/
	 5YnYyrRW/smilYTigX3WXcHBm07NAFZf8Irh6OnS/AytbfkplGCHSovUl8MCy9zgk6
	 iGRO/f9W17BHXy+kH6+oSBQE1Z6HBLIHK2fNK8PqtvAjrnOPekJU248G4/1QbVTtNM
	 +0ZVFjuVvVvwA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: cardoe@cardoe.com
Cc: sstabellini@kernel.org,
	andrew.cooper3@citrix.com,
	simone.ballarin@bugseng.com,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] automation: add missing "needs"
Date: Thu,  3 Aug 2023 18:10:18 -0700
Message-Id: <20230804011018.2888869-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

The test artifacts export jobs don't need prerequisites, so we should
specify "needs" with an empty array for them. That way, they are not
going to fruitlessly wait for previous jobs (ECLAIR jobs) to complete
before continuing.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/gitlab-ci/build.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index f01e2c32bb..af64a53ead 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -268,6 +268,7 @@
 
 .test-jobs-artifact-common:
   stage: build
+  needs: []
   except: !reference [.test-jobs-common, except]
 
 # Arm test artifacts
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:13:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:13:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576742.903254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjO4-0000uK-Mt; Fri, 04 Aug 2023 01:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576742.903254; Fri, 04 Aug 2023 01:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjO4-0000uD-JQ; Fri, 04 Aug 2023 01:13:52 +0000
Received: by outflank-mailman (input) for mailman id 576742;
 Fri, 04 Aug 2023 01:13:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRjO2-0000tr-Ng; Fri, 04 Aug 2023 01:13:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRjO2-0001oK-LR; Fri, 04 Aug 2023 01:13:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRjO2-0001Vf-6S; Fri, 04 Aug 2023 01:13:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRjO2-0004Wy-60; Fri, 04 Aug 2023 01:13:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+yP4fgZgcgrCcK9vOrJm1BGrgTzqDm4TaRt6CmQs+Ac=; b=Bo6No2SIXTnMx50Z0BW7C4lWGt
	P2jQbrJTfoz+xDSI+j4pid7EV6KO0MSDeXhiabrX/4N5aztoBnMIp+jRFa0I3hpXKMRTfZcj7jkRd
	G6HH/p3Rl+/mJ/adN2ocZE2l2yNWo4fp/MkQbUJhirwRHi7qIbKWhR1rNzEevTKKzij4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182128-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182128: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=51588938e0cd0e02dbc1d6d8c697c577135ff666
X-Osstest-Versions-That:
    xen=c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 01:13:50 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 182173-retest
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail pass in 182173-retest
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 182173-retest

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

version targeted for testing:
 xen                  51588938e0cd0e02dbc1d6d8c697c577135ff666
baseline version:
 xen                  c0dd53b8cbd1e47e9c89873a9265a7170bdc6b4c

Last test of basis   182097  2023-07-31 19:40:22 Z    3 days
Testing same since   182128  2023-08-02 18:03:55 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peter Hoyes <Peter.Hoyes@arm.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c0dd53b8cb..51588938e0  51588938e0cd0e02dbc1d6d8c697c577135ff666 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:14:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576750.903280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjOi-0001a4-66; Fri, 04 Aug 2023 01:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576750.903280; Fri, 04 Aug 2023 01: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 1qRjOi-0001Zx-2R; Fri, 04 Aug 2023 01:14:32 +0000
Received: by outflank-mailman (input) for mailman id 576750;
 Fri, 04 Aug 2023 01:14:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRjOg-0001Zb-Ru
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 01:14:30 +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 42a6ae3b-3264-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 03:14:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CF99061EDD;
 Fri,  4 Aug 2023 01:14:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1AB0C433C7;
 Fri,  4 Aug 2023 01:14: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: 42a6ae3b-3264-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691111668;
	bh=92tN2DfU2nM4pUttl6ojxsNSgRfdxW+Cw6LmxlTiFw4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JY/QtElVycxg8XfAbu6pk8SjpLIdQ2xNiVz1jPWwnFswnMbkXtDv11tgXLiOuRCml
	 0FcrKsOKweLnYpx6Ozjdfzeo0D1nf8EUVfnJ/i04p1GdWGkaZ1CblTiKVRegNmZw14
	 R4UJynL+M8UuYTGV5eH6RSGIhenuPGb3G2MW63F92A2ovQQeN+tWLIP7ijutsjgXSk
	 G1Zd5zTJBwvTmoGbeCCvt43FNlsguDDcUueRxzTVHQBCCYaYsJ/lilmpFXM2m70DER
	 6e4+4ApYbgBaYeto/r8J+JvOhf1kc0TmAPtrh6dPklPNKjXEhNDxcOzSuSN3YejfWz
	 fE/bIHHN8JGMA==
Date: Thu, 3 Aug 2023 18:14:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <alpine.DEB.2.22.394.2308031221440.2127516@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308031811380.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop> <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@bugseng.com> <alpine.DEB.2.22.394.2308031221440.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 3 Aug 2023, Stefano Stabellini wrote:
> > Actually, they can be deviated because they don't result in wrong code being
> > generated.
> > This, modulo the review comments received, is what most of the code would look
> > like if
> > they weren't, with the biggest pain point being that in many cases the choice
> > is either
> > the pattern with blocks for certain clauses or moving them in the enclosing
> > scope, which may
> > be several hundred lines above. If there's agreement on deviating them, I can
> > drop the patches
> > dealing with switches and do a v2 with just the other modifications.
> 
> I think we should deviate them. Good idea to remove them in v2.

We should add a note about this to docs/misra/rules.rst as well?

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25..e713b0ea99 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -106,7 +106,8 @@ maintainers if you want to suggest a change.
    * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
      - Required
      - A project shall not contain unreachable code
-     -
+     - It is acceptable to declare local variables under a switch
+       statement block
 
    * - `Rule 2.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_06.c>`_
      - Advisory


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:15:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576759.903306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjPu-0002Qt-Q8; Fri, 04 Aug 2023 01:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576759.903306; Fri, 04 Aug 2023 01: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 1qRjPu-0002Qm-M8; Fri, 04 Aug 2023 01:15:46 +0000
Received: by outflank-mailman (input) for mailman id 576759;
 Fri, 04 Aug 2023 01: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 1qRjPt-0002QO-Le; Fri, 04 Aug 2023 01: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 1qRjPt-0001s3-KE; Fri, 04 Aug 2023 01: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 1qRjPt-0001Z7-7G; Fri, 04 Aug 2023 01:15:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRjPt-0005GQ-6t; Fri, 04 Aug 2023 01:15:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3yHzi2rEmF5HBZlX0ni4+z+PqffbDqMlQOzL4TF9jxc=; b=LAOmkV0GTihYQmDgWFtE6WQ4Vw
	qGdLovbh0dD3tqPP0EMyf/iY0hwtgprazLnuljufRd6wYcGEFuYTrw4G+iVEfgBY0iRCk136YtMfF
	AM1Z/CoZsv84ZPKM2t7I7GxsktYcB68aAiU8ePzAplNdDeVx3TUcXgrygN3nEq9fzjiY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182131-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182131: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=99349ba18e726465215a71f28d2146a0a2adb65d
X-Osstest-Versions-That:
    libvirt=a3a8cc0415cc46ffc4d89d60ba3d742a02880a36
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 01:15:45 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182099
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182099
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182099
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              99349ba18e726465215a71f28d2146a0a2adb65d
baseline version:
 libvirt              a3a8cc0415cc46ffc4d89d60ba3d742a02880a36

Last test of basis   182099  2023-08-01 04:20:48 Z    2 days
Testing same since   182131  2023-08-02 19:15:02 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jim Fehlig <jfehlig@suse.com>
  Jiri Denemark <jdenemar@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   a3a8cc0415..99349ba18e  99349ba18e726465215a71f28d2146a0a2adb65d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 01:34:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 01:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576767.903316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRjiJ-00051A-ET; Fri, 04 Aug 2023 01:34:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576767.903316; Fri, 04 Aug 2023 01: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 1qRjiJ-00050s-7t; Fri, 04 Aug 2023 01:34:47 +0000
Received: by outflank-mailman (input) for mailman id 576767;
 Fri, 04 Aug 2023 01:34: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qRjiH-00050V-Rx
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 01:34:45 +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 1651faea-3267-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 03:34:44 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B835B61E6F;
 Fri,  4 Aug 2023 01:34:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8170C433C8;
 Fri,  4 Aug 2023 01:34: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: 1651faea-3267-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691112882;
	bh=49awLqtP5ffAvdFDI7t3AqrjjCHxZIRC4PDakMVh9vg=;
	h=From:To:Cc:Subject:Date:From;
	b=NMlZO6P7fOI7Pm2IYOICmvINhgQllAoNvk8e3l7AbS2lXrYRX/mXD1Hir+ppareGW
	 mz5sQpKqzq+bEJ71wwJzrhA7hVRhPlA4weAVvkiPy6LRokUMREKI3XAxubFMqpK4fd
	 YAy4RSDFJEPlLXSX0INjA218ZcUXD9OV68hnx34odvMjia/pScwmOv62zN01FNV9Sy
	 VpGfT1nZVsOWMWI64wftWCF76Xs3VaLh8nUOm7FlxOCPu6KjimM5mm+gCW3W/2ST1C
	 dmg+YSSSlCkLQM/hn7nlpUoWf2eBVxH1detGH+ZpildMPSzN3EcnnqbW5Be62vGrS4
	 VFAlY1cJtgYUA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	roberto.bagnara@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: add always_inline to C-language-toolchain
Date: Thu,  3 Aug 2023 18:34:38 -0700
Message-Id: <20230804013438.2894725-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 docs/misra/C-language-toolchain.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 785aed1eaf..21b292898c 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -84,6 +84,8 @@ The table columns are as follows:
           see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
        __const__, __inline__, __inline:
           see Section "6.48 Alternate Keywords" of GCC_MANUAL.
+       always_inline:
+          see Section "6.45 An Inline Function is As Fast As a Macro" of GCC_MANUAL.
        typeof, __typeof__:
           see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
        __alignof__, __alignof:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 02:38:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 02:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576775.903342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRkhe-0003fw-5h; Fri, 04 Aug 2023 02:38:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576775.903342; Fri, 04 Aug 2023 02:38: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 1qRkhe-0003fo-0F; Fri, 04 Aug 2023 02:38:10 +0000
Received: by outflank-mailman (input) for mailman id 576775;
 Fri, 04 Aug 2023 02:38: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 1qRkhd-0003fe-1m; Fri, 04 Aug 2023 02:38: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 1qRkhc-0004BL-UM; Fri, 04 Aug 2023 02:38: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 1qRkhc-0003y8-Gr; Fri, 04 Aug 2023 02:38:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRkhc-0003G0-EQ; Fri, 04 Aug 2023 02:38:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yPNa4J6Nz6nYQlk9Tv6Ub2fy8/No7gULBOnSN1NIqA0=; b=FZ3uyCBR3Jg/H2MEptTePwQkNU
	wzuAxTle1orA/Sxulh+mw8fzgUc8AhPBpSg9rYCV/qn/Zo69FLJG1+6VOdQsuQdMMk9MJhGuhK8vr
	xnxpRe9CkdKY1Wd8Olj4TV+x85mn/O8ZnCSfLAFku2uijnSGe7kL6weENeLkw4CVtZrw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182166-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 182166: tolerable trouble: fail/pass/starved - 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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=ff736d9f2abf9131414d72d0124b3c7739491249
X-Osstest-Versions-That:
    xen=3e357970c90172526d58e964f8ceaf32b2c69655
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 02:38:08 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  ff736d9f2abf9131414d72d0124b3c7739491249
baseline version:
 xen                  3e357970c90172526d58e964f8ceaf32b2c69655

Last test of basis   182107  2023-08-02 02:35:16 Z    1 days
Testing same since   182166  2023-08-03 14:38:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@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                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3e357970c9..ff736d9f2a  ff736d9f2abf9131414d72d0124b3c7739491249 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 04:11:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 04:11:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576782.903351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRm9W-0005nH-Q5; Fri, 04 Aug 2023 04:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576782.903351; Fri, 04 Aug 2023 04:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRm9W-0005nA-Ml; Fri, 04 Aug 2023 04:11:02 +0000
Received: by outflank-mailman (input) for mailman id 576782;
 Fri, 04 Aug 2023 04:11:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZNcn=DV=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qRm9V-0005n4-9N
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 04:11:01 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea1a206c-327c-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 06:10:58 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM9PR08MB5940.eurprd08.prod.outlook.com (2603:10a6:20b:281::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 04:10:55 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.021; Fri, 4 Aug 2023
 04:10:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea1a206c-327c-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RUL1Ouf7mHKPGnI7q0BM4bgRGqEPkNaUOoRoxEWQ9F8MVKtuGW7JuJIbiMyRvsHFdQDAP5wFrAvGMDCwoU/eTSs/chVuUKRN0jVo3WGpQsIqSfYC4AbRBGVGBqMVuTCyEerFd8aMxjv8rbPMoKGmLG4IQbPGxzP4G+ISg/E80CSL48o8j7fh2rEVPcmXfWNHfSlJh8FAKPYr7jKv1q4uTCVmL5Vf/s9WSgPS7lxFMQQF/A9E/UijJE4f20K2PHzA2/haec0nxcYaJdBcJbOdfV8/G0e5qFhpjhjGyrsiHasuPdMEmZke03jec19ym3fYstBpK479jjGZAi8jW4M1Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+8xqu/UcUCBDBaKDUDCHrvXv0JXe2qen/EqNo7YXWLY=;
 b=IzuQKL5IsxxilSjyA+qb9T4K0pBDC7hXrQxlGrNQnNwXKeupqYu+WqaoshN5vL7pAiz7p592bUegbQNx39dK6UWL33rzNcyrjg8oyoLuWbZ/3AdXmg3f4udf6WNabDYluCAfqkoqwjvYQ/h452EfstrS+TcNMxFApyttuUhk7Lz2MKd+Ogz+Cny64Bqxis6q5F/bEzd4irdgl471vrBwQ+znSxeOf6nP3jI83G9mEj2IM5Ex7DKmX1aLE2TSpO6oTGrTOnU7ZRrWaAHd8VtKaedBNM5Nx09jnYYYrD5CKJ9JeFPfYMBbl3QcTfwENIciNpedExFYh1ar7WObXJlqLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=+8xqu/UcUCBDBaKDUDCHrvXv0JXe2qen/EqNo7YXWLY=;
 b=2eAgeLmtEdkczu3I/bvLFGg9NH149itwyB3Wt3f/FIS5/JukW7L6f4pHNRw+vvnMfr2Nx3NfwoOWxCVaHjrO89K8R1e6u4CR1iYN2Ar9XTs+1rac+5GvJdaJ2FFjW3NJVLIYfHkgDvioB3GGW4wUNPBcM+iW6XFpDjDPQnq5uUw=
From: Henry Wang <Henry.Wang@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxfe0sdxLBCk0m0eqfbJm59//E6/ZhneQ
Date: Fri, 4 Aug 2023 04:10:54 +0000
Message-ID:
 <AS8PR08MB79912C0FD1E3B1AA5988175B9209A@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
In-Reply-To: <20230803104438.24720-3-dpsmith@apertussolutions.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9A6AEE420277C5488F584A3AB5447E13.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|AM9PR08MB5940:EE_
x-ms-office365-filtering-correlation-id: 81cc23de-1256-4002-7446-08db94a0cc63
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 8DDRolHa8/AeRYzp7YCFgjYho5fh8ktK2DF5qdzKyD/sQ7UosS5o2tKoZVcM8RVNkcDlIpWbfafaM7So0k84PjEW3t6hodPJMYjvsWF2mVi9wDG8+j9LrbGtiLjRxkvyXLhNqIQPqz/Gb+PEQgVea3fzT7YUAbclI4JRbiQHscvP9oJz8CnWQ083G1WjzpKSQOJgR7Cxr30UJtkWGANnWVJdVCjUe13PRUruospJeM+L17DNKfSByJvVkNZKoolZ1lEwjQ/jwCk+aiC9GSzV6JOjfD+GM+C2WF94WBubJj1hO7n0QQ/7z6QPW17MohZKbkxXi3TQYUrdmNQd3/AVWQC0xCkBs/roXxbHcWvzkVj8EfrKuYvq40HP5b31XXzL6ioO+uZ9BOYNq59fd4rZO0Pbf091/zCRPUUoqjK25VeZKYP5X5xDt9mJjAwP5w019MP3sJgVZZZQxFS4YjT9e/2a8MjYrDQv1zSPZ1FaLrLk3JL5ljQf0PtFufYsTY9IziHXgqSHjHsbu/r27dJc6SCAGEG/mGNy3h9czYagE4Bt8u3VM94F6lsjQ680jgAPSK2v37uPDpqOD77o/uDbXL9u7jyOXQ7jQnvF/IWaDhEFqkvV/gsscFlAt0UTbttH
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199021)(1800799003)(186006)(8676002)(26005)(6506007)(83380400001)(66476007)(2906002)(316002)(76116006)(4326008)(4744005)(66946007)(5660300002)(66446008)(64756008)(66556008)(8936002)(41300700001)(7696005)(71200400001)(52536014)(9686003)(110136005)(478600001)(55016003)(54906003)(38100700002)(122000001)(33656002)(86362001)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?RZI/5GiDw10BouSgtexTXZlJxIWhoF+VCFZcqhxYEB0Qu1kcv1I5ydkdsfNm?=
 =?us-ascii?Q?QzGZgVjgKPzcx36jHUyc0qFbCvDYkmWAhbbdlKYCoeGkVwLETRmJYjjSRD1U?=
 =?us-ascii?Q?yJb5EprPTZRn3e+KHM/FTNRFEz6HvuB4ggCWwXea+VpmGjsA69pQY/vC5xGV?=
 =?us-ascii?Q?jlnoG2tT7+HuFogAsb45jZJUx/I8qGfF3o2PGdz9iBN5saU7PxQfLl/eYyUj?=
 =?us-ascii?Q?jaaQ77UPldi/9uc5cIpb1LwVgCa7QvX7m+gyD4e8y471whYtXkOJBlTGkHAC?=
 =?us-ascii?Q?dxBoPztZJ+x6ryn3dZ9yJ3UFyVQqUqp9mafNy/kqiQb7O9wBb29EQiEtThCu?=
 =?us-ascii?Q?QX9negJ2MI/2tX0L+ZveGjcXpsmqNnUD8YYaBrTyFKz638Uc1YUpwBAV9P5d?=
 =?us-ascii?Q?o3oDuE/oRpvEjWbPYllXBE64ftepfCvz3rWvJ9+C4B4NocFjbWsw2K1s7nKe?=
 =?us-ascii?Q?2Rk+3ljTD6W1MCXz3tBFSw1GKgZ99vEDwt7KDGdZSSzvcagr07E5uhGsZoWu?=
 =?us-ascii?Q?p1H9+sHhB4a+NR2368k4scBv1fIm55LnOkReZBpKItL65Iem6J6hUkYdyKwI?=
 =?us-ascii?Q?BXrnsdXhzSFHnsfrZcf1hV+wyGGwCATmaKt2KU4NQWas5Y36vA879Uxtmc4/?=
 =?us-ascii?Q?3Sz78THrII89n41jZgjbxBiOjx4cbBBPtt4Y/qQUx3K1d40pWwWq/drzcniW?=
 =?us-ascii?Q?uBY4PZd1YWSMQrSyEH/hQF+k8M8XryTgGihVsbNKB4rAxteRPm8/Rg7ZMfUF?=
 =?us-ascii?Q?d4KFOijQeiilbDqJ1c7nrkSn2+uQv+UBOSvUJXhQTGrMB792NyZyWDPE4gUD?=
 =?us-ascii?Q?o6WyzN0uXuzxPFgCwdOjWcVguVB0shFcj/nKA7GqkqN/9P/i7uNQxJI6uI9S?=
 =?us-ascii?Q?JYYhwfD2t3Fq5KdUr4rKbSQv3/StdpUsv9a/b4M8taWQ2XyaDEVLVG9Bdb8s?=
 =?us-ascii?Q?Z3609oTMh/y0OW2cJK/y+yoKJR6EbnFSgaZFROPtydqEcp9wtZBuiYLiBxX2?=
 =?us-ascii?Q?ZANXlSoTKwBI8c9S/fokAo2Sonj+EFnlMZvpD5OTs2rVR2prCMZHi7uKjj4D?=
 =?us-ascii?Q?624bN6oVHJySDS4gRXyiom6+6pdCJ/X7/gtHBUDr3IDWRZCkLm1gE2Z6RUTK?=
 =?us-ascii?Q?/0JPqkrllaP5oPKe6vHR80sd0NqB255rBALW+KWjyvxZHjc7BANLDgRFjhyB?=
 =?us-ascii?Q?A/1TThNF23h7n87iwcxsNS3BPDx3Cef+V2g7RGmQiJnxrNYHqE+Mu4CkqOEs?=
 =?us-ascii?Q?uFoGVEod0LsYIiVLfVxXuAfBhdKY4ZiYOflSBqgoEfu1Cm4St63WAvRx/r5C?=
 =?us-ascii?Q?lx1kogBDNX31RwVhA/p/w9D0RAbfL1EW4+tEdZhOSdvq3PkT1Vbjsqg3bL4x?=
 =?us-ascii?Q?aPx3zXoJX9eWqvMbiQ8e1Lo3EFXpZJq3YUKgE1MmJuggKz2L9a2ZnesEe+XT?=
 =?us-ascii?Q?twzlHm59TZZWkOeHqV5JvXL/hP9MxjmvCHxJCYv4X8y+jYe32tkn0yLaUxal?=
 =?us-ascii?Q?E2+lZnO5DiJCC576cHqm/8PUcUzSIb4vPksDh/4QjsiWqaAIcBQHfaClKqwL?=
 =?us-ascii?Q?0oZX5L4xpqTCoTOKLDU=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81cc23de-1256-4002-7446-08db94a0cc63
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 04:10:54.7460
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: G2HkTlXQsell1nalLoWvN3j1eqQXyXDm+ksF33rDjcs9zJSW06dxk1vD5o/9JDd+fjMTUKhZHsDlyU6JL2XOCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5940

Hi Daniel,

> -----Original Message-----
> Subject: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
>=20
> This refactors reusable code from Arm's bootfdt.c and device-tree.h that =
is
> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
> introduced for when the ability of parsing DTB files is needed by a capab=
ility
> such as hyperlaunch.
>=20
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

As said yesterday, I tested this patch and can confirm this patch will not
break any of the boards we used for our testing. So

Tested-by: Henry Wang <Henry.Wang@arm.com>

(But I saw there are some comments from Michal and Luca about this
patch so I think these comments need to be addressed)

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 05:21:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 05:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576787.903361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnFI-0005P1-Ps; Fri, 04 Aug 2023 05:21:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576787.903361; Fri, 04 Aug 2023 05:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnFI-0005Ou-ND; Fri, 04 Aug 2023 05:21:04 +0000
Received: by outflank-mailman (input) for mailman id 576787;
 Fri, 04 Aug 2023 05:21: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 1qRnFH-0005Ok-Hk; Fri, 04 Aug 2023 05:21: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 1qRnFH-0000AB-G0; Fri, 04 Aug 2023 05:21: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 1qRnFG-0005Jb-VD; Fri, 04 Aug 2023 05:21:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRnFG-0000ZU-UZ; Fri, 04 Aug 2023 05:21: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=W0CjFcT7JNEJD8kFmhfB1bETWHIkhvztXtVr163h8Ts=; b=zlwC4aYtdMKYmx+zGFfqPe4ruz
	UgODB2u9BtmBoCNDxObcBcJRxq+yrGaqfQATl/7zIfsifcoC7J05+NbuOwgM9Y3HVzcd+eseGXVQR
	EvYQPmMMNiEzVo6CzWJMxPZkgTTNihoHKdbrzH1y9M4balDmRdHRN3LC643pbxkPFOEA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182177-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182177: 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=4a6448fd6497ad7952cd0baacec1869f6791de9e
X-Osstest-Versions-That:
    xen=092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 05:21:02 +0000

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

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                  4a6448fd6497ad7952cd0baacec1869f6791de9e
baseline version:
 xen                  092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a

Last test of basis   182172  2023-08-03 19:02:02 Z    0 days
Testing same since   182177  2023-08-04 02:02:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   092cae024a..4a6448fd64  4a6448fd6497ad7952cd0baacec1869f6791de9e -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 05:53:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 05:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576822.903389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnkj-0001Wu-Ce; Fri, 04 Aug 2023 05:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576822.903389; Fri, 04 Aug 2023 05:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnkj-0001Wn-9g; Fri, 04 Aug 2023 05:53:33 +0000
Received: by outflank-mailman (input) for mailman id 576822;
 Fri, 04 Aug 2023 05:53:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRnkh-0001Wh-AJ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 05:53:31 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20608.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c12cff4-328b-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 07:53:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB10073.eurprd04.prod.outlook.com (2603:10a6:800:1dd::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 05:53:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 05:53: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: 3c12cff4-328b-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HBLLS/20mRirAEBG9EDPkq/NdabbcfAO0phaxPSaOXccad7Q0xA4aiSP+FUzXLSfb6mRw28aqUlik6dhVdvTzxRdQBfxCL1bPtB/vR4VRbXGWG7wjuApT14m5qimXkuUDh5047IHefXo/hg4tUriFExqQfqnAtsjJ9Yw9l7Y+OIBKUAS2gjtUls2pe/HEq5k58GLPnB1uL0rb+deUqdJOVpx6ciD4Ulr7AkqFGl+GpQrL1AQAN9bXq0KqCbq2htCNtaD7lcfQRhZ5xJ+L7v97BziJcWxkvZ512L7LDkRf5o/8Hxu9N6bN8zFc6A6Cg7E22c7P1X+XSMxJOsG3iI50g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K28Xp1Ea3H7jAy+erQruHUf+De5WEFjuI4sZ1DTcCww=;
 b=ZOhpgo1JKBJ/i1rlLgxTX0JdeGc6ahTmLaJXONoZ32P2ZaY5IbbaVp78sNQ0+o4mKIWYJCNRQWtvFh/j1dysStY0D+4PkmykAWkYBNBCWb4QMchmIqmWMgG6bL17aD86FpxRjAa5vA4bSMCLoSMLbsKocLaY628GRMOmj4AztBQcNo8daXltGvgHNRs1DcPL+ZFLK2w771idN4guP92F3GrqzOY0Z8wJZuNS7YpphUOya1x5cY3K0veFK6wzZZdBmmHbopyY360E9KmN8TLQ+PfpadecWPZ9j1l8aoitjtH9JvdF3jjb/xmCulkaK+YZ2NAdtBhsxkQB/ddfwQt7Wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K28Xp1Ea3H7jAy+erQruHUf+De5WEFjuI4sZ1DTcCww=;
 b=HsJn/YF3WS4b0cRRDejZiRko6BsgvMf0wmYLGd8QIAoe2OSndlcgj1mCdPNrMgy7GaAvTE8DM2vedTcdZSBMnf151n6Xm2+Hp6QojJCpNS4PF6XWEkgTLWX8YoUmra6repWKMzZAOzzR6I1kivF32p6WpxYlqYl297mrbVWbTvE2jPWUehIqIHymc+5hQIyQdmDcU2KlnVub1jVjvGztxVfZOdpt8T3abUdI4x/UWwY1w8hL3Duop3VMIdl7LEKht/LIBQGIrJw+9yOHSUNsLiN4FpQD36OcAG+WjDlOG2FeJiyz4McEyLwctxFTLyf+6vGyTtaDjMazVuZywyMiwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cfc55215-48e5-3a39-4b32-67031ee35c6b@suse.com>
Date: Fri, 4 Aug 2023 07:53:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
 <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB10073:EE_
X-MS-Office365-Filtering-Correlation-Id: 8af6f497-578c-4401-fc86-08db94af1d69
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GMIGHP4E4I/yZ/QlW5Bg/wZxZxT9flXIMpzqdSPmOcPzEvkwIgbitX3N7z6Te/NE/qtqTp48W+FiuptWpEe38NDrFicqWVymQATe7Z9VkgTdrCUyeZYomUYNly5nZ/Uv3jei45VG36xHDnDv9Sf5aVehi1nZRmCeeQ1F/g9uOp7sx70hDzVYzkbsH1G2u+rucMJE7QlW2b3QcGWZg3z8APL3BLmJuUh5e1DryFAbfZI2L3qZZH90MMd0Z6IC6itHLPlI+5k4EwnTPHsmVzshpAOs24KZybMdfNOFy15yfwcMz9k4qR0i1ffG7dh0mlEaEQGiwBQ8+4xwMNpelGCgkaEsjEbNh1fgYJI/R8tI2E/k2Pc2pdgFRnu95IHfS77+HszLx3aSSI5j87K5NZC/De/p3/9fpMJDawN6I57EE+7NSKAy2LRsQMWK2VNg/o06O8NeFcgULc4QFe79HbUzPrHGM6x1tqcP/hfyM/Xburz0oD4FggVX+Ekd2hpXGl/ofDenqa5oyGlCGWc7zik70nrv4m4zcG2LfSNoukWSaN3Zt4KyU8M3QIKwWGR3DXwpY+eDF54+c8+S9iYgxyH6k843YraIcm4ak88o9FQWVsdadknEiL4oCnovdp6PgE2zhrPnLYlpt3GbdLY3a9JcKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(39860400002)(366004)(136003)(396003)(451199021)(1800799003)(186006)(2616005)(53546011)(8676002)(26005)(6506007)(66476007)(2906002)(316002)(4326008)(66946007)(5660300002)(66556008)(8936002)(41300700001)(6666004)(6486002)(6512007)(478600001)(54906003)(38100700002)(31696002)(36756003)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnZtbExxMURLNktUZm14RE1tUnJkbldHV3R5Z2JHdlRoQkd0bUs5dWdyZXEy?=
 =?utf-8?B?WGUwSFhCTTlqNVQ2V0ZqUFpjTzJpYU5DYndTS1VLWUg5N0pOOS9DTE1DTGJD?=
 =?utf-8?B?Q04wclpYTHFzQ2hOQUkwOExab21IbWpWeko5ZXRyaUUvNi9MbTExVURhNUV3?=
 =?utf-8?B?QlNhUzZVb3lkNW1hVW1Md3ErYmRsUUY2Zzh0VllwUEdFbjZCc3lFNkVmS3k0?=
 =?utf-8?B?bktsZkl6L0taY2wzUDNITVlQZEM2cElReVU1b05vQitYNnFhODg5QUNWdDl2?=
 =?utf-8?B?TmMyK2s3UFJkb2w0VHljcW83bkJ6UUZyS3h0Z3JNWFZtQ2JNTHpmVTlrNk84?=
 =?utf-8?B?T3hLaEtDaFVVS0JVSkN2b2pIRDlZS2lzK2N1RytGVytQMmI3TG1CTGJQVGdY?=
 =?utf-8?B?RHBKR3p1eUVhMFBjeFQ0UzB1TGltWlZiL2lLZXFORmU4QlVtNXovSnhNL29S?=
 =?utf-8?B?bHBkdENEenBKWCtZSkRGQWplVkREZ2pWWlJrY0J3czVoR2NRSk1jVDg4YWYz?=
 =?utf-8?B?TE9md05FTTZqYnN5eTdtdGliV1pZeEc4MWFBcG0vUTRHQ3VlMnZrRGtISlY4?=
 =?utf-8?B?WlFJRUxRR0hJa2dtUmRpdWVaUUwrNWpUMnZMZklhTFNSMU9zS3BKUnlna24r?=
 =?utf-8?B?Zi9nd3JGL2RGV052VlR0M08rck5HcUlPczQwQm5aMWhqNXJCdU0rbG91L3U2?=
 =?utf-8?B?SHZ6L0Q2UENIMjliampNTnFydnAwZDEyaTg1ajNLaXNxMzFPbzJPc1RrU0xO?=
 =?utf-8?B?MHdYWHMwVk8vVVd4alMrRGg2R2gvWENMVlpEUHBPVENxRzJPaVBCTWhsWVpt?=
 =?utf-8?B?QmRyajJSK2swbmxmZjVtbk83TWFnT3VQUEplZXdYb3lqNjZUZXJFSGlKczFJ?=
 =?utf-8?B?K2lyTlpJd1BPV2dZZ0sveGl5YlBtdC9kY0ZjMElQUTE3b3FtTFRQWkQzZDhX?=
 =?utf-8?B?aDMxUnlTTzJpRkNRaE01R2FDMDJjWGlNbU5BQW5VdGtqQ1pQZFF1dmhjSWJE?=
 =?utf-8?B?M0pWMXBRNXRoQXBMcCs1VDRHb3NET2dMK2ZlcHNnNjI3SmNicE9iR1poZG1p?=
 =?utf-8?B?UnJFdGthQ3k1dTNNeHhpZEZDVlFNbzNVUUgraldGa09yMjdKTjZTZGNibXJC?=
 =?utf-8?B?eXMxR0NUcGphakovODJHQjZIblg4YWlOUjJlNS94bVBmQUQvdVJnQ1dxRUhR?=
 =?utf-8?B?V0REcWNtME5MT0NjclhZazE4WVYyRnEzcCsrbmY0TG85NjY3YlhDMU8vRWY5?=
 =?utf-8?B?TFBtZjgrTUFIUG9ETUFqMlNiR1U3TEdRbWtWakVWaXljWmJodW9lS1N5NVRm?=
 =?utf-8?B?R2pveVprRjJmcGRSUDM4RnVmS1F5a2padTl0U0NCWjhMOG9DSVVEd1J5MUVx?=
 =?utf-8?B?YklqNllMem0xaEZRR1JBc1diV3p0QUNkWnRpMnBBMUlVdFhiai90aFkzZVJk?=
 =?utf-8?B?SGRmTlJJc3FpcXBwNVJ4UWkxRGxjZzBjd0ZPS2Z1QkVNWFNocmFoL3hwQ0wr?=
 =?utf-8?B?OVEzaDJXVzhnRFVvcUFCR2JnNy9NcEUzVkUzSFdRZHBDeWhKVmJxRHltTzVk?=
 =?utf-8?B?U1l4MEYrUVc3T2c5bU0wQUZPVzFUYXRjeUFCd1hSOWgxNGhJMmpiV3ZhZHYr?=
 =?utf-8?B?TjluMnF1VDFVeDRoandmWnRmN0MxZGY2eDAvVEU4WWVKZkhXRGdiV1dDY1BF?=
 =?utf-8?B?cU9vZzNaT2FGSzFNNmtFQ3lxT2U3d0o4VFdPdUZTQmNYWGhhT1BkRUtvWjFM?=
 =?utf-8?B?ZXMvdDVrTTZGa0VKQU1GVDdGck9WN3UyNEdQeUJQUmZXS2FCU0I5ZlpiQjFj?=
 =?utf-8?B?a2Z6TlNkeU4rc0pHL1g0V21wTGl5RFpKclBYTjNCZ0U5c1lnWjVRQkY3cVA0?=
 =?utf-8?B?UW5tajZpZHY0M3cvR3dPc3RDZy9LdXFMUXhwNnUybnpyQkp5OW5qM1Jncnk0?=
 =?utf-8?B?TVlMbGMvZ1E3QjEwZWJ1NWEySFJ5clRDWnpDV2R0RGVraFptNDA3RldLeE93?=
 =?utf-8?B?QmE4YkJxM1c4aDRzVXpsbi9kMkNKN0dnaHBaYWRVV3AyY1NnWHdCS2IyOWdM?=
 =?utf-8?B?OVB6MSsxQmpxZ1kxUjlqM2dwS3RKU2lPMWFPZnlsK245ZmJoNmZuY0g5Njh0?=
 =?utf-8?Q?fOCoYYHI48ALwVbNOuftyNfwN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8af6f497-578c-4401-fc86-08db94af1d69
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 05:53:23.8333
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bocY0SbTuyEGcz22zlzefh3qCA/CtA0v1zFEvOcU/g3Qp8eeo0XfiuSVVd7mSv81Bgu2gRR2xjgWh7MaC6+ihw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB10073

On 03.08.2023 18:13, Elliott Mitchell wrote:
> On Thu, Aug 03, 2023 at 10:35:53AM +0200, Jan Beulich wrote:
>>
>> Some of the patches looks to have been posted previously as a 7-patch
>> series. It would have been nice if therefore this one was marked as
>> v2, indicating in a revision log what the differences are. It appears
>> as if at least one out of those 7 earlier patches was dropped (or
>> maybe assimilated into another one).
> 
> Indeed.  Problem is several tags could potentially have been used.
> Should I have used all of them simultaneously?  Should I have used only
> some of them?  Which subset?
> 
> Several were mildly adjusted, so it could have been marked "v2".
> 
> No one responded at all to the previous round, so this could have been
> marked "RESEND".
> 
> Yet the refinements and general changes are large enough for the series
> to be pretty distinct.
> 
> I didn't know which way to go, so with no idea which option to choose the
> last one ended up winning out.  Perhaps that was wrong yet I've still no
> feedback on the actual patches.

As, for this series, being just in the role of a committer, without clearly
identifying that some earlier patches can now be dropped from the list of
things which need monitoring, you're making my (in that regard) supposedly
purely mechanical job harder (and presumably every other committer's as
well). As to not getting feedback: Your posting (at least the cover letter)
dates back to July 19. That's not all that long compared to other series.
Plus if you were concerned, you could have pinged the respective
maintainers.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 05:58:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 05:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576826.903400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnpW-0002Bd-VI; Fri, 04 Aug 2023 05:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576826.903400; Fri, 04 Aug 2023 05:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnpW-0002BW-Qe; Fri, 04 Aug 2023 05:58:30 +0000
Received: by outflank-mailman (input) for mailman id 576826;
 Fri, 04 Aug 2023 05:58: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRnpV-0002BP-Il
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 05:58:29 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed9df163-328b-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 07:58:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8302.eurprd04.prod.outlook.com (2603:10a6:102:1ca::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Fri, 4 Aug
 2023 05:58:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 05:58:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed9df163-328b-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dfSj3zzos0U0BDsmFMgW155JOtqOPGpEkUI5cVOsRyIbipQjGH9NtBSCkJ03w9J9hf2avhDMZ6HPTP+WWTE+AO6Ivx9UykWdUw8CQg7OuUTUS1DPeptlLKcMhfPUepbOdrh0mAo/90VetAS9LwdHgfPHOv7ykIEoesaO6IKaKG5O6W9OaTWDOqj4VH3a9JF8/AEE4WFnEIgok+SzdhsOztj658zmYJdqOuCPkDuouHkiBKfpZYezqKHROMsMaimy3QkpqoFwe2Jq67PL0mgV60yDJiVhXCnFOPy6Zng/DfGbhwX4orSY0CGKkqSXuf8N3ZCsXLhEfqof6XOC7lbZHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GWGvK5YPHXrng9atAY5AiFGKlI+n927P1PkwtxN6LTc=;
 b=Q1sdczgXC0zWnNpU48HhBNE+IEjmQ3NmVNLidmtv622lwIK1G6f8v4ELAr+1SQEfnaItcynIemtpLDBZL1voTFtxa/tBw6tJcugA+f6uLAkfUzjhaSqUsH+/4MOBRmCCqJz53vJYx47iPYrVrFemf9ngv3rNPysUDSQWek9OUdCGriEZPARwV622CUT+7ihBoZx79Drnq67eeemgT85/Bm6lFhZCzH9+2SyLvJTvyauhTfXmRkDSln6dUxe8uOnj6nbLz0VxrYEnuT1nkaN9CaPwSJnE82md4BwNMsXEYYAo3ohsOQkaab09BSC6CSKUF8AVgZSHccVTmKmqUnOvYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWGvK5YPHXrng9atAY5AiFGKlI+n927P1PkwtxN6LTc=;
 b=oB1QiqmTc9COXV0LgKxgkQRGn995HoAT0gEew0eFjqkM7dS0RsApWhAnXxkAQPTGHyHr21cXWjRxMdOKNxK4zlU7KSiR/0GMBnv2IPYLQQx1eEKnbo1BrvWKP8WRxR1LzligWFVbLWymBsDfuBk7P8/mWObv5WQxx8hhYtJaa+yQBp7ZnI0GwTtp69/FW4rnQbFjKwkudvcxQH2wgR4EH+5aLob52vqaGX44gxbGrh01YQDk5GzER2WSFJCTF0B0pXo7Iw9YD2XF4jXWeLpRwozvM/h7C0W+jdB1vtEmeHdaasi9LPPLp22qd4zApwHJyaubnjUtfnldKIVwoWBVgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e81cf29-65fd-74fc-db4f-95c453acc327@suse.com>
Date: Fri, 4 Aug 2023 07:58:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86emul: further correct 64-bit mode zero count repeated
 string insn handling
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8302:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e7e4dda-d52c-4a67-4aa5-08db94afd02d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Dgd6Iwqg21VuaIzpHpEaU5DJQXhejNItHVdtBPOtCNpVF2DrQrGIila4YJ4ccpokTojVfZ8VTOaej0DJBb0vWY7fLv1VRKUy8l8LUx+K7NmM42AbsAwWYcWDiAGbNJ6rHFGHvM8e1+ZHZbCY9PVMvBIuYc6z58JyOGSBf3ob78E0/w+k7p2dAiiuhwvQh1rwt1msFZ3aVXF3kbyAbOiGyVCzqMSq4KiZymC+3P1vjmvCE/rrHAa/+BUDBNf7fvLUX2/g0FQpbkIo/8GhrcubzchH0siPoqvdMA/uUwDgg8cXAOA6x8whwlCrZywXV+tXSvvrRB5OCAUtZZlCJENN0msTi6XwKhi+n+7XUQV1T/YznLNuhAFmMu9QXIFlKb6Tud81mRNSGx9Su9VH5m/l8ZLHvURWgP/bHXyeJ5w4kD14G9vXkE6G304NJv0GkXUvouuGw1QfcAlhz3N5iQD9ssEwNFW0C3k7C2Dbrxdr3oOOi8jrL2NbPAKOQpOOvi7aFu8w9rezKoWfFl2EIOUgmHbPHvE0EdNGPvpaKx7S1kNNLOAqzm16h76kd0IrW3Zy5YhLWELJhnfrrkTau1Dca85PfRKitWtHZHyS38B6wMGu1HxKqFaJVQdxhyfSRR/JqVUeOC5BeziChh9AKlTk5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(396003)(366004)(376002)(136003)(451199021)(1800799003)(186006)(86362001)(478600001)(2616005)(54906003)(36756003)(6512007)(316002)(26005)(66946007)(66556008)(6916009)(66476007)(38100700002)(6486002)(4326008)(31696002)(6506007)(41300700001)(8936002)(8676002)(31686004)(83380400001)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVJacjlCNk95NHlvdFhKT0F3Q0VpcjhKVzhDUFJiRzRoY0pNQ2tpOHl5aTFq?=
 =?utf-8?B?YlBhbGF0eUt3OFZ4VzlkZXpNeUZVVTJLZHR2S1dndi9mbHZNYmdVTncwRTFh?=
 =?utf-8?B?RnkyN2htUnNqY3VaNGlFblNoRUxBYUxNeEhjb2IzTzRaUFZLVWZxcUkzVi9u?=
 =?utf-8?B?Y2tWSUNIV2MveXNEU3A3bE1RZ3lNUFByZFBDaStNSWVrMFlrc08xRisvVDFG?=
 =?utf-8?B?Y3pkYS92RCtWdVZtWkVzSTBKN2VvMGFucllKQVZsNmdNdFB0ZUpkR00vNlNL?=
 =?utf-8?B?aStXRkNwNFJ0eU9JSE8xcmJrOUs0bDlZNnlUYWpKMFNDYU94aHFkK0dNcVhS?=
 =?utf-8?B?QjNPdTdYYngrREZOSkpmWlJhUFNOamt0RDVha1MwNVYyRXhHenE1YXE2a0V1?=
 =?utf-8?B?WFJwMkNXd3BvY2ovMlZrNGhPTlZzOVM3UklXc2VkbmRpRU5kc3ZBZDRQM3po?=
 =?utf-8?B?L2NPTW92NnVKRThTSEdwamR6UmlTRnRKWFZQY3Y0WlZFV3hZYW0rYzFBYm4w?=
 =?utf-8?B?UHh2RG5ycUdiMVQwbGZzWndnaFFiYm5OME90aWppN2dmTnVkMGxYUTlSTnRR?=
 =?utf-8?B?VGhCMU5kQVdvSkdaMU1zMFdSc1lCRG1FMTgrSThmYnBpakUwS0ZxSFJiN1F1?=
 =?utf-8?B?dVhtYkVtc3VOQmZZaldqZm1WNW1RMm9vQzhxbFNLSGlRMURDMjdaT1k4L2VU?=
 =?utf-8?B?Q1BybytTam5qYy9RQnR0NzFsLzNWMnpETWkwcTl0SE8waDBRV3RteFQ5SlNw?=
 =?utf-8?B?NWo5V0w5L2VMUUNGZGZWWWtHa3RKT1I3dXhQUkFkNGxWL0tDYWlvT3B0VWtB?=
 =?utf-8?B?aFZBSmFnQ2dja3hTb05qU09vd3BCYVlrdmFKcXV2SGcwN0E4QXdYRmNSNW1t?=
 =?utf-8?B?RkNOSnFIU3NHaTNZN2lNc2lYbVBiLzNlNXJSYVRST2llTTJTcHc5cmNUUnVD?=
 =?utf-8?B?VG5yYWtERFlZbmxqaUpuRlF4L1lsRDhmWGxubXZNcFFFTFcxVDVPOGJ4N01o?=
 =?utf-8?B?RWlFVytLaUtMN2J5dnNkaE1EcDZRVG8zblpaQmYrOXErYXNpM0R5eXhraVFJ?=
 =?utf-8?B?Zmt6c2gveWlyM2QxY0FwdDRObFhhZWxnWnY5SHlEOC90R1hScjkrVXkzbGdt?=
 =?utf-8?B?NXd4ZUQ5QS9yUFJyQkRwOFNMR1l4UU5OKzVKeVQ4RTVLTkUyS3I5YnZWdVMr?=
 =?utf-8?B?N3BFSWIzVGRIRXBHWlg0V3didG5kZDVkOEFBdTBoZXhxMFVXaXFyVXY2Q3F1?=
 =?utf-8?B?bnZxUUFONzFzVzlvbHdmQmFCNDJlaFlBZkl1TVNDK21TNlhBYzR0UmEvTnNX?=
 =?utf-8?B?R0pPNkgvTE1wbTM1NlErNGE5d0NMSEQ4RmdrTHJsN1czSTBnbDFkSjBQb296?=
 =?utf-8?B?L3RZWDQyUG9QWnUvZ2kxNmk5VWo4ZjkvcVFNMnowNHorOXZJYm41YlZoZUk3?=
 =?utf-8?B?YTVrMlZ2aDJsSGt4dk4wTWhrWGJLeXRETDQ4MEQ0ZThIa1NITXZTcDZ5OUtx?=
 =?utf-8?B?L1dTRHBBelNRZXFkQ1k2aWNhcGh1NFh4OTliVVBzQ2kzR1pDclBhcUhTK3VR?=
 =?utf-8?B?Q2djZHpyYitEa09xTXNNODFjOTZqRExiS1BtaGo2Z2Z1UHdWcXFEYWkwYWRL?=
 =?utf-8?B?b1lNSmJOQk1UWGdmOExnNFIydWpOTm9QUnlmY29ESGdYbzZxU2p5SnM4cWZZ?=
 =?utf-8?B?U1FFZlRvQUtWVnpBdVVYUjZ3TkRQYTcwV29SQjJlV3pjc3N4TTBkb0VJZ1hK?=
 =?utf-8?B?QUI5OGdrY0hwTVZxR3RMTmRsNG5lSkxyc1IwdVljUE9ndGNCUCtOOTFZUm1x?=
 =?utf-8?B?bG1MOTFpU1g5TXNUZ0M5TlZPRnRkbEtZYmdZSXpKaUJwZkVURjZFc1pRaWVJ?=
 =?utf-8?B?L1NlTnlvOEJWVTFLbXRFRlFsUmZhREdVc1M5ZnRWWncrdW9kL0Y5SmRZMkhM?=
 =?utf-8?B?cEpYZkF5aFEzYjhVVUo5Tk03NngyNmdGSFI3djRiMThrR09QK2pVckNjazRF?=
 =?utf-8?B?QzBnNDdRMXo5bnViR3ZaaFFxY2JXOE5rMHNHb0MwWDBySExpMVhqR3dnQklY?=
 =?utf-8?B?WnZqdUdHQndqbVV4OUR1WHg2b3dVM3FISjc4UXJWWjhBVUhpMU9UUGtub1dU?=
 =?utf-8?Q?8Zg6Qilev+pqvUSzfFH/yuGE2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e7e4dda-d52c-4a67-4aa5-08db94afd02d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 05:58:23.7231
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: buK9IqSUBMKcr3tWQWRHS7rE3v5k4gEa706jTlg/3JsgLUT3mhZbdVb6EMNLd1lzlogAMCwTZwjmIYCU8ZLhPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8302

In an entirely different context I came across Linux commit 428e3d08574b
("KVM: x86: Fix zero iterations REP-string"), which points out that
we're still doing things wrong: For one, there's no zero-extension at
all on AMD. And then while RCX is zero-extended from 32 bits uniformly
for all string instructions on newer hardware, RSI/RDI are only for MOVS
and STOS on the systems I have access to. (On an old family 0xf system
I've further found that for REP LODS even RCX is not zero-extended.)

Fixes: 79e996a89f69 ("x86emul: correct 64-bit mode repeated string insn handling with zero count")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Partly RFC for none of this being documented anywhere (and it partly
being model specific); inquiry pending.

If I was asked, I would have claimed to have tested all string insns and
for both vendors back at the time. But pretty clearly I didn't, and
instead I did derive uniform behavior from just the MOVS and STOS
observations on just Intel hardware; I'm sorry for that.
---
v3: Re-base.
v2: Re-base over re-ordering against previously 2nd patch in a series.

--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -489,7 +489,7 @@ static inline void put_loop_count(
         regs->r(cx) = ad_bytes == 4 ? (uint32_t)count : count;
 }
 
-#define get_rep_prefix(using_si, using_di) ({                           \
+#define get_rep_prefix(extend_si, extend_di) ({                         \
     unsigned long max_reps = 1;                                         \
     if ( rep_prefix() )                                                 \
         max_reps = get_loop_count(&_regs, ad_bytes);                    \
@@ -497,14 +497,14 @@ static inline void put_loop_count(
     {                                                                   \
         /*                                                              \
          * Skip the instruction if no repetitions are required, but     \
-         * zero extend involved registers first when using 32-bit       \
+         * zero extend relevant registers first when using 32-bit       \
          * addressing in 64-bit mode.                                   \
          */                                                             \
-        if ( mode_64bit() && ad_bytes == 4 )                            \
+        if ( !amd_like(ctxt) && mode_64bit() && ad_bytes == 4 )         \
         {                                                               \
             _regs.r(cx) = 0;                                            \
-            if ( using_si ) _regs.r(si) = (uint32_t)_regs.r(si);        \
-            if ( using_di ) _regs.r(di) = (uint32_t)_regs.r(di);        \
+            if ( extend_si ) _regs.r(si) = (uint32_t)_regs.r(si);       \
+            if ( extend_di ) _regs.r(di) = (uint32_t)_regs.r(di);       \
         }                                                               \
         goto complete_insn;                                             \
     }                                                                   \
@@ -1775,7 +1775,7 @@ x86_emulate(
         dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes;
         if ( (rc = ioport_access_check(port, dst.bytes, ctxt, ops)) != 0 )
             goto done;
-        nr_reps = get_rep_prefix(false, true);
+        nr_reps = get_rep_prefix(false, false);
         dst.mem.off = truncate_ea_and_reps(_regs.r(di), nr_reps, dst.bytes);
         dst.mem.seg = x86_seg_es;
         /* Try the presumably most efficient approach first. */
@@ -1817,7 +1817,7 @@ x86_emulate(
         dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes;
         if ( (rc = ioport_access_check(port, dst.bytes, ctxt, ops)) != 0 )
             goto done;
-        nr_reps = get_rep_prefix(true, false);
+        nr_reps = get_rep_prefix(false, false);
         ea.mem.off = truncate_ea_and_reps(_regs.r(si), nr_reps, dst.bytes);
         /* Try the presumably most efficient approach first. */
         if ( !ops->rep_outs )
@@ -2154,7 +2154,7 @@ x86_emulate(
     case 0xa6 ... 0xa7: /* cmps */ {
         unsigned long next_eip = _regs.r(ip);
 
-        get_rep_prefix(true, true);
+        get_rep_prefix(false, false);
         src.bytes = dst.bytes = (d & ByteOp) ? 1 : op_bytes;
         if ( (rc = read_ulong(ea.mem.seg, truncate_ea(_regs.r(si)),
                               &dst.val, dst.bytes, ctxt, ops)) ||
@@ -2196,7 +2196,7 @@ x86_emulate(
     }
 
     case 0xac ... 0xad: /* lods */
-        get_rep_prefix(true, false);
+        get_rep_prefix(false, false);
         if ( (rc = read_ulong(ea.mem.seg, truncate_ea(_regs.r(si)),
                               &dst.val, dst.bytes, ctxt, ops)) != 0 )
             goto done;
@@ -2207,7 +2207,7 @@ x86_emulate(
     case 0xae ... 0xaf: /* scas */ {
         unsigned long next_eip = _regs.r(ip);
 
-        get_rep_prefix(false, true);
+        get_rep_prefix(false, false);
         if ( (rc = read_ulong(x86_seg_es, truncate_ea(_regs.r(di)),
                               &dst.val, src.bytes, ctxt, ops)) != 0 )
             goto done;


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:00:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576831.903414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnrB-0003ke-M2; Fri, 04 Aug 2023 06:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576831.903414; Fri, 04 Aug 2023 06: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 1qRnrB-0003k0-Gy; Fri, 04 Aug 2023 06:00:13 +0000
Received: by outflank-mailman (input) for mailman id 576831;
 Fri, 04 Aug 2023 06:00:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRnr1-0003E0-QN
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:00:03 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2722b34f-328c-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:00:03 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8E3CC2186B;
 Fri,  4 Aug 2023 06:00:02 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 52AE4133B5;
 Fri,  4 Aug 2023 06:00:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YNUZEuKTzGRbMQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 06:00: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: 2722b34f-328c-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691128802; 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=H9woQQMc1BuLVL77pkVFJCk3edz6PGqB1F1anOaKa7M=;
	b=mgtytCg4Ea9KWviQrhfXSYbhCqk3gPGhKKydVEWMNNFUCK1gS9cP6QEgrgaCY758DMcmJ2
	uZzgxAXEXDNRas7ImAG56Qbz6GY+XRjDfmqyJNn/IpmA+XjirHc4E9VQeCCJ3u1L3jYSEH
	KIX5yYa31sgOXawpgO0l8nKXY63x0yY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/2] tools: add some more configure options
Date: Fri,  4 Aug 2023 07:59:58 +0200
Message-Id: <20230804060000.27710-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add two additional configure options for controlling the build of
pygrub and libfsimage.

Juergen Gross (2):
  tools: add configure option for disabling pygrub
  tools: add configure option for libfsimage

 config/Tools.mk.in |  2 ++
 tools/Makefile     |  4 ++--
 tools/configure    | 54 ++++++++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac | 14 ++++++++++++
 4 files changed, 72 insertions(+), 2 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:00:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576830.903409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnrB-0003iQ-Ct; Fri, 04 Aug 2023 06:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576830.903409; Fri, 04 Aug 2023 06: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 1qRnrB-0003iH-A9; Fri, 04 Aug 2023 06:00:13 +0000
Received: by outflank-mailman (input) for mailman id 576830;
 Fri, 04 Aug 2023 06:00:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRnr7-0003E0-Fo
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:00:09 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ab71d6d-328c-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:00:09 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C5AA821870;
 Fri,  4 Aug 2023 06:00:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9CDF3133B5;
 Fri,  4 Aug 2023 06:00:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0dv3JOiTzGRwMQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 06:00:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ab71d6d-328c-11ee-b26a-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691128808; 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=3lY3SIuVkWF2aYitFeP1w+X45FAECaznTjuW2uDVbFM=;
	b=tWqmlujgIyMbifW6nkPJCknlhHCYxlY1bE7VXSC1Opgp+ckF2QA5RAB9//kvLkFnY1krmD
	V6eIJZj8JWchrvjfoTBMxjWQZWJh0bcVkjMubDqIFeok2KP9VAaWyM+qvbKM6Ijac943tF
	JcR8V4+dMHRz4jIu7EZSyRrF7LvNMns=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/2] tools: add configure option for disabling pygrub
Date: Fri,  4 Aug 2023 07:59:59 +0200
Message-Id: <20230804060000.27710-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230804060000.27710-1-jgross@suse.com>
References: <20230804060000.27710-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a "--disable-pygrub" option for being able to disable the build
and installation of pygrub.

There are two main reasons to do so:

- A main reason to use pygrub is to allow a PV guest to choose its
  bitness (32- or 64-bit). Pygrub allows that by looking into the boot
  image and to start the guest in the correct mode depending on the
  kernel selected. With 32-bit PV guests being deprecated and the
  possibility to even build a hypervisor without 32-bit PV support,
  this use case is gone for at least some configurations.

- Pygrub is running in dom0 with root privileges. As it is operating
  on guest controlled data (the boot image) and taking decisions based
  on this data, there is a possible security issue. Not being possible
  to use pygrub is thus a step towards more security.

Default is still to build and install pygrub.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 config/Tools.mk.in |  1 +
 tools/Makefile     |  2 +-
 tools/configure    | 26 ++++++++++++++++++++++++++
 tools/configure.ac |  1 +
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index b7cc2961d8..432d7496f1 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -48,6 +48,7 @@ CONFIG_QEMU_XEN     := @qemu_xen@
 CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
 CONFIG_GOLANG       := @golang@
+CONFIG_PYGRUB       := @pygrub@
 
 CONFIG_SYSTEMD      := @systemd@
 SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
diff --git a/tools/Makefile b/tools/Makefile
index 1ff90ddfa0..bbd75ebc1a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -36,7 +36,7 @@ SUBDIRS-$(CONFIG_X86) += debugger
 SUBDIRS-$(CONFIG_TESTS) += tests
 
 SUBDIRS-y += python
-SUBDIRS-y += pygrub
+SUBDIRS-$(CONFIG_PYGRUB) += pygrub
 SUBDIRS-$(OCAML_TOOLS) += ocaml
 
 ifeq ($(CONFIG_RUMP),y)
diff --git a/tools/configure b/tools/configure
index 52b4717d01..130e0d9abf 100755
--- a/tools/configure
+++ b/tools/configure
@@ -707,6 +707,7 @@ AS86
 ipxe
 qemu_traditional
 LINUX_BACKEND_MODULES
+pygrub
 golang
 seabios
 ovmf
@@ -811,6 +812,7 @@ enable_xsmpolicy
 enable_ovmf
 enable_seabios
 enable_golang
+enable_pygrub
 with_linux_backend_modules
 enable_qemu_traditional
 enable_ipxe
@@ -1498,6 +1500,7 @@ Optional Features:
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-golang        Disable Go tools (default is ENABLED)
+  --disable-pygrub        Disable pygrub (default is ENABLED)
   --enable-qemu-traditional
                           Enable qemu traditional device model, (DEFAULT is
                           off)
@@ -4287,6 +4290,29 @@ golang=$ax_cv_golang
 
 
 
+# Check whether --enable-pygrub was given.
+if test "${enable_pygrub+set}" = set; then :
+  enableval=$enable_pygrub;
+fi
+
+
+if test "x$enable_pygrub" = "xno"; then :
+
+    ax_cv_pygrub="n"
+
+elif test "x$enable_pygrub" = "xyes"; then :
+
+    ax_cv_pygrub="y"
+
+elif test -z $ax_cv_pygrub; then :
+
+    ax_cv_pygrub="y"
+
+fi
+pygrub=$ax_cv_pygrub
+
+
+
 
 # Check whether --with-linux-backend-modules was given.
 if test "${with_linux_backend_modules+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index 3cccf41960..9947bcefc6 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -89,6 +89,7 @@ AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([golang], [Disable Go tools])
+AX_ARG_DEFAULT_ENABLE([pygrub], [Disable pygrub])
 
 AC_ARG_WITH([linux-backend-modules],
     AS_HELP_STRING([--with-linux-backend-modules="mod1 mod2"],
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:00:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576832.903429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnrG-0004FW-SI; Fri, 04 Aug 2023 06:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576832.903429; Fri, 04 Aug 2023 06: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 1qRnrG-0004FP-PG; Fri, 04 Aug 2023 06:00:18 +0000
Received: by outflank-mailman (input) for mailman id 576832;
 Fri, 04 Aug 2023 06:00:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRnrF-0004DM-6L
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:00:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e52605d-328c-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:00:15 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C926E1F8A3;
 Fri,  4 Aug 2023 06:00:14 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A1202133B5;
 Fri,  4 Aug 2023 06:00:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lr/uJe6TzGR8MQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 06:00:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e52605d-328c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691128814; 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=EzluZzjBGFWytrE7XLiRjbQBObqzhDXzMAFkA/Hykgo=;
	b=TitJxUkm236pFFRaEFGa6ewz80M0Tq1NoRvoD47zqt+1lKPnokiSyoH+DIwGo14WBlBAKr
	s9EfqNHRpgUs75VPa8WTz3mitH6K4hsP6AAxmbo9gvXq2w0vkQSAffp8ko4PFcITPmPhbc
	/NNizLNHdkrQlrCUTZW5nPJ7DLf/Y10=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/2] tools: add configure option for libfsimage
Date: Fri,  4 Aug 2023 08:00:00 +0200
Message-Id: <20230804060000.27710-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230804060000.27710-1-jgross@suse.com>
References: <20230804060000.27710-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The only in-tree user of libfsimage is pygrub. Now that it is possible
to disable the build of pygrub, the same should be possible for
libfsimage.

Add an option for controlling the build of libfsimage. The default is
on if pygrub is being built, and off if it isn't. Without pygrub the
build of libfsimage can be enabled via --enable-libfsimage.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 config/Tools.mk.in |  1 +
 tools/Makefile     |  2 +-
 tools/configure    | 28 ++++++++++++++++++++++++++++
 tools/configure.ac | 13 +++++++++++++
 4 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 432d7496f1..b54ab21f96 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -49,6 +49,7 @@ CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
 CONFIG_GOLANG       := @golang@
 CONFIG_PYGRUB       := @pygrub@
+CONFIG_LIBFSIMAGE   := @libfsimage@
 
 CONFIG_SYSTEMD      := @systemd@
 SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
diff --git a/tools/Makefile b/tools/Makefile
index bbd75ebc1a..311a9098d7 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-$(XENSTAT_XENTOP) += xentop
-SUBDIRS-y += libfsimage
+SUBDIRS-$(CONFIG_LIBFSIMAGE) += libfsimage
 SUBDIRS-$(CONFIG_Linux) += vchan
 
 # do not recurse in to a dir we are about to delete
diff --git a/tools/configure b/tools/configure
index 130e0d9abf..60dca366ca 100755
--- a/tools/configure
+++ b/tools/configure
@@ -700,6 +700,7 @@ EXTRA_QEMUU_CONFIGURE_ARGS
 qemu_xen_systemd
 qemu_xen_path
 qemu_xen
+libfsimage
 rombios
 BCC
 LD86
@@ -818,6 +819,7 @@ enable_qemu_traditional
 enable_ipxe
 with_system_ipxe
 enable_rombios
+enable_libfsimage
 with_system_qemu
 with_stubdom_qmp_proxy
 with_system_seabios
@@ -1508,6 +1510,8 @@ Optional Features:
                           --with-system-ipxe)
   --enable-rombios        Enable ROMBIOS, (DEFAULT is on if qemu-traditional
                           or ipxe is enabled, otherwise off)
+  --enable-libfsimage     Enable libfsimage, (DEFAULT is on if pygrub is
+                          enabled, otherwise off)
   --enable-systemd        Enable systemd support (default is DISABLED)
   --enable-9pfs           Explicitly enable 9pfs support in QEMU build
                           (default is to defer to QEMU configure default)
@@ -4621,6 +4625,30 @@ else
 fi
 
 
+# Check whether --enable-libfsimage was given.
+if test "${enable_libfsimage+set}" = set; then :
+  enableval=$enable_libfsimage;
+else
+
+    if test "x$enable_pygrub" = "xno"; then :
+
+        enable_libfsimage="no"
+
+else
+
+        enable_libfsimage="yes"
+
+fi
+
+fi
+
+if test "x$enable_libfsimage" = "xyes"; then :
+  libfsimage=y
+else
+  libfsimage=n
+fi
+
+
 
 # Check whether --with-system-qemu was given.
 if test "${with_system_qemu+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index 9947bcefc6..aea24eb982 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -185,6 +185,19 @@ AS_IF([test "x$enable_rombios" = "xyes"], [
 ])
 AC_SUBST(rombios)
 
+AC_ARG_ENABLE([libfsimage],
+    AS_HELP_STRING([--enable-libfsimage],
+                   [Enable libfsimage, (DEFAULT is on if pygrub is enabled,
+                    otherwise off)]),,[
+    AS_IF([test "x$enable_pygrub" = "xno"], [
+        enable_libfsimage="no"
+    ], [
+        enable_libfsimage="yes"
+    ])
+])
+AS_IF([test "x$enable_libfsimage" = "xyes"], [libfsimage=y], [libfsimage=n])
+AC_SUBST(libfsimage)
+
 AC_ARG_WITH([system-qemu],
     AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
        [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:07:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576842.903439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnxr-0005Rp-In; Fri, 04 Aug 2023 06:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576842.903439; Fri, 04 Aug 2023 06: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 1qRnxr-0005Ri-G0; Fri, 04 Aug 2023 06:07:07 +0000
Received: by outflank-mailman (input) for mailman id 576842;
 Fri, 04 Aug 2023 06:07:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRnxq-0005Rc-Cl
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:07:06 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224a9e8f-328d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:07:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9277.eurprd04.prod.outlook.com (2603:10a6:102:2b9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 06:07:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06: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: 224a9e8f-328d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y/s+6W0kHDRSmGVoUlJaM32zBLYfTiCmlpDVYgWTXSBIBz9wdg8/QGb5qg2ZHUzGHSuKFbk6A+bQGssvPqJSPwdf77sxDuZynrS3mbr71aqkdM+tC/0F5AyVgmoy8+WjC99QMAJf5Spm0KZdyqsT9VCGY5L/OULpeg16rgJY1WQZr+DcuGJrd6bHk6MARSa8puZWPWywlzJTGSuhwtNziIAnvR+fE3WOJlArb6XWkKuGkPLPW6xFGItXPDFGzKlQx+EAoQwhZvE0HD4fDxeFwN8AMKp4ERtOvK6xTZ+OpEU8+vmUlLFeJeHnvwboiLFWm6D3Mnb5r9RIzpm1aV67Ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CXWkm7VfS37UWvnn3hIxvcHzcg4l3UHsgHHUoknNLiQ=;
 b=nxIc627Dt2ssjN069cSPFhUewrhfM7BT5IOFmPUUGmlLRTdxNH/A/nE5pAWSeBwo2DUWX20cCteassWjk2p0HGR5VIGgpxxVTU/E6FBFqJJ6Ko8XHryIG3NM+ZFABI4j0nCWUmr6pZdaL3O7Odap/pRxFc5yKE9Cn3Hzx3UWu+p71yyk7Yg1pW9OwRx2b6IjnOSRS6PjCzVKWV38IgT0+F70yb6IBEKIQ843n+ibyoOkQ+GE9nKFP5bRGaYtv77BxQuQBj6pIB5+IGElQOJsNmy6z/fx7l7rqMARpwZQPdn3LuMWOM1G+ZB0JsTTx4VK124GGOoIGjOrKHzRZICcVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CXWkm7VfS37UWvnn3hIxvcHzcg4l3UHsgHHUoknNLiQ=;
 b=NnwwYjXyTe0XmzRzSzeTqI8pWkkAA/qXEBBTxo66GQocLPrAzwk4wow5yYH6RHGKKCCjRhnpE6pTghxNOGIC0QyKWdC55OHsSpkK1O8QYsr2zx3WDQ6zgOxSI3LlA5Vd4IGFgvwN/q9h7E+2Z0CZSrQcncM1sf2JPPpiOBPRK+bpL35+7l6UkSg5812SvUX0YAKr7CHrvJ71kKNijM2X0ZrCw9e2MqEFQmCtRo/ekkGUGOD9dzgFE7U9ZW3bhnB91cwafeT/HfVsGH99Znt1F3ulmTUp+1XWtqoH6hSW9LAS3mLeHK9UOTcI5ir9q1B/U95e9sDpGekf4PPh1wQWpA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
Date: Fri, 4 Aug 2023 08:06:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/2] fixed width type adjustments
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9277:EE_
X-MS-Office365-Filtering-Correlation-Id: 7828c13e-ecda-4224-2940-08db94b104d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hqYgZnCg+Hn4YyQ749vYI1AEiq101CZVatrHc9QDAJkm/fC6cY3CYHkeIl9caosGD4Du2tsgYA2ixRqzkkxn8gfSfUgdlmZULFdakoVJQ/gaSh7tmwQJAHStBLPb8RsBaCcjXFpt5JMeTwJRkBsLIWIH9mAByx8DAaPwk9EZIJZXjUkIf5aSef0ZU/eVsn2Drm+RRkPyDsmNIHX13IJPctrgcPfI9eG3Gg+ndyfSwegkOOiuB9a/A8LZATzZhziy5A+Rm1YYDW76Wx/KbCSXnEglGNlza00X4BkKgFMeyOPgamCoLcf227asdx9rlbqwNik3T/2hfXB5RBaoO85BqFR5RRq+XtOdD7TUsl/LT8MpS32Qqf3k4h0yC6wLkqHBII8f0dzRZcMESQ/ggQdq9Pba8FPJOv2H0Td+OcjpPBLXGRKQrNBzOcAkDNz0oehW6CO+w8ogO2F0rGbF3SQzskSGQ1aHRc3UEhx+iK+LIJvdZJ8O+JRQQWWSPbZ981iQvDxibs0WCecbJMbfyg+rPeL1KujwCnZVD7BP3oBQHxOG4lPvoOc80qIjAEB7NiSHR3lyYUmbC3P4PaB6e+YUcCLMPmmEBFtW0xmlUvoayqtGxi/W9zbMb72FanKaZJarTCgm81sDZTvLQz8ZLLiSEA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(396003)(39860400002)(376002)(346002)(1800799003)(451199021)(186006)(2616005)(8676002)(26005)(6506007)(66476007)(2906002)(316002)(4326008)(66946007)(5660300002)(6916009)(66556008)(8936002)(7416002)(41300700001)(6666004)(6486002)(6512007)(478600001)(54906003)(38100700002)(31696002)(36756003)(558084003)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUZTMnNBUVJxOTRlYU9LTlppdHIvMHlrclk3L0lIcFoyNHl1aENqdFdWbjZJ?=
 =?utf-8?B?SXYrRk1YK0M0K3hXQUxxY2VUaldpbTJpbFdsbEMydkd3aG1CU2c5VWZLalBZ?=
 =?utf-8?B?OVZuZGVDcjR3WDhkYTRvMEJlQWhGaXZXK3IwaEVyc21DODZhK1RqeHFDZlVP?=
 =?utf-8?B?OVZBZm1ieTRVbndFYjkyUnVHTk8rM0YxeGhSY1p5cmppendYMlFXQ0RVVU5k?=
 =?utf-8?B?b0RaRmVBTVU0V1lQS3V6UTVvTkZNbkFrMkg0S2tpWTBsbFc2bVp1Z1F1elNs?=
 =?utf-8?B?UXNtb1R4RS9oVVJ1RGpQRkRKRXlVcFhYbkxZbmZaY3ZRUG03Nkk5Rlo5Yk1p?=
 =?utf-8?B?RkpUellOSFIzakpKRnAyRFdOOWxDV21CdzdnNmJTNW1DWTMxMWJQVFdXWnpz?=
 =?utf-8?B?K3E5K2pVNG1WanI3N3ZDd2FjdkE1ZSt6UkRsdXhBRUs0Uk9IakgwT2N1em9o?=
 =?utf-8?B?cnVPc0UvK2tleWZqT0c4a280MlNLeld1aW5ZeXVaMVliU2ZsZWxOaUsveHVC?=
 =?utf-8?B?aE5PR2VIVkdrOWlxK0RtYmhJZzhsb3FGWEMxSEI4S1A5dnVkSHZ6UnNhTWUx?=
 =?utf-8?B?QVRMU1AxMndlaEs3bVV1TTQ3Uy83NXZWTDYwalE0NTlud1NSSWZCeGh4SVV0?=
 =?utf-8?B?TURoN2ZBdXZOYWd2VjN2NnRWYmljSHFyMjZTTFhBd090WHo0Vjh0K3RmYjB0?=
 =?utf-8?B?bTNxR1IzNGhkL2JuTTNqOXNLMXNKT0RpWk55amwzOUJPakNpcUE3eXFka3hL?=
 =?utf-8?B?Y1pJTlpOQ1pURXNvZE9SbUptYWRRS1hXTFpycjg1cWhaTkp4dTF4R1Q0WkFD?=
 =?utf-8?B?enQ5ZUlDMnQxaWhkbSt4cCtXQzZzUmtNM0phVnB3UWdGZUE0RFFIUnhjMDZO?=
 =?utf-8?B?bWFIRkEvQkZnN3NGSnFadGI2dktTUGtLdklZVjQ4NktMdGhLZXROV1Z5Wm51?=
 =?utf-8?B?eUxkN2p6YjhRdjh0WjRVUzZtK3lYV3luY3VHQXBHbzhvOGxHTjhMNG9IbjR1?=
 =?utf-8?B?TG1IOWJOWlBVV3FCVThlVTlJdzJLWTBtcWtIOFNCZ1pCdFFvdkJWNzkxOUp4?=
 =?utf-8?B?OEtRdnFTN0wxTHRRRkU4ZlgxVXBIenNCQnUxL1Uzc2ZQcG5tVFdzazh6YVlD?=
 =?utf-8?B?U0oxbUJ6c0ZtRmJTSWVuYTVVdHZDQ3pqZTlFWmVHaDNzMjRXdGFSeFZna1JL?=
 =?utf-8?B?Zy8wUzBIL0k5ZU1ZelplbERiUzk3TTh1d1ZzOHNQWE0yYzdXV1ZVTnU1VzM5?=
 =?utf-8?B?anY4ZW4yaDU2Sy9JdFZNZVp5K2tKRXdKdDU0ZEUvNWF0eU5tN25Md1NNRE8v?=
 =?utf-8?B?RFpaWmRCNEZYcS9UKzRpa3N0SjRCeElrVUh2S3Z0OUhIUUs0T1JwTWp6Wm9P?=
 =?utf-8?B?bCs5Zi9kdzJyZUoyVU44b2xUY2R0blZpUDNoRVAvaEIxS1lKTXB4QWN2cVM2?=
 =?utf-8?B?R3JBTXF5c29lNkYrcFhYczM5WjNncFZzb3M2QU5jRE5WaWdiaG1GWURGU2U2?=
 =?utf-8?B?U3RZcEFJTWNWeWtUK2N5c3RDbWFSbzV0R3VxU0dlTEh0STdLS2xTYm80U1Zu?=
 =?utf-8?B?czYwQyt5YkRrdjFVMS9QZU5OQnZjaXc3ekxNdDNZRFUwd2hFY2dweTlLRnhY?=
 =?utf-8?B?L1V4dUVPdDIrVW1JNks4WXEzZ1hrRGtHVDdRcU82VWhOS0VpQWNyQnpHSEJQ?=
 =?utf-8?B?QklNeXVlcHNNa2QydTlheTlVTUUzdnpvSGJxVjhpOTFJQlUwMlIrS1hqTzN4?=
 =?utf-8?B?RjBiOWFqKzBwdEs0N3plajhtRWNwblI3elptMUJ3VFpGNjhrNHlUSjdTVHRa?=
 =?utf-8?B?OGF4eDRvTTdGZ2l3ZGJocXY1OE9JVWc3R2ltQlFYdUpyeERUVFdxZVRZaDUx?=
 =?utf-8?B?aFJDT1R1NWlQVmxZSGRxOUgwZnJlWFRoOXlJUEV4VElyQjAxTEV1NlJUdXJG?=
 =?utf-8?B?YjA4SVBoQitZYmpBcUNILy8rM25MMDlaWk5uRU5FTDNsZGpaUW9Lb3ZtbXZ0?=
 =?utf-8?B?VWVnSDlyTlg1V0ZtdEZMQld3VzZMcENBUWc5TnowQ3A4WWloR240dk5jeTRk?=
 =?utf-8?B?N0RtY05nTEVwdHlrck1tYlNpck9QU2FMeWVXQnR0N1NFbkdoUkQyMlgwWE9u?=
 =?utf-8?Q?/QkEysdaV80RZ/E6NxcsP9bni?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7828c13e-ecda-4224-2940-08db94b104d1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:07:01.5807
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: W9cUFaU/nGzHbVxz3qmQKC3586U9NWrjEF8q9+VUAJVqfFMV3IB6oFuvbxXSdUd0IcXw72LMu+qwQq9DQSV3tQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9277

Patch 1 significantly reduced from Andrew's introduction of xen/stdint.h.

1: move Linux-inherited fixed width type decls to common header
2: __u8 is history

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:08:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:08:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576846.903449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnzC-0005zt-TZ; Fri, 04 Aug 2023 06:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576846.903449; Fri, 04 Aug 2023 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 1qRnzC-0005zm-Q8; Fri, 04 Aug 2023 06:08:30 +0000
Received: by outflank-mailman (input) for mailman id 576846;
 Fri, 04 Aug 2023 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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRnzB-0005ze-3k
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:08:29 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 541563b6-328d-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:08:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9277.eurprd04.prod.outlook.com (2603:10a6:102:2b9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 06:08:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:08:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 541563b6-328d-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RJkieJVClUbZuo7frihDEx3R3KUmhCzBKkL0k9bMRB41nR2Y91ENGmZTdwk3SwqkuioM4C+ZKt3D2r6U2uJanDgDkz9paIPAAS4ZsE0W+6B+W8/yrqrBKug1nzgX1zkW0j3Q7vnPsKW2aNDGKZ+lDzmaLtUuJ/zBoheyUGN3rfheM3Gvo6WCXMoBFAS6s7lo+GYrAJl4wdcN3/BImXl7HY6wREs8KQvhnFHY+MidUXtxivUUMECsJRpVHVktUEuKMmetK1pNU/rs51pg8I1TRCS5cCaeVgF8BkQSUW0V8Ne+6DzTBTcqEctYZIM0YnU3izGo/sE9kAdwh7BqX3sSFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cf6ROw1N7SDrNgirVisezrz+LJOsU87Fio6c0G9uOlc=;
 b=gxKje1uPdMp8oe+7XZRKFmRbJMzki1IXg+4pffnQ/6brrPMxyXqUuYXJFAv9FOJ8z+MPrHAFLyDV11tcBI6QNi5xtMQ9kQX6ta1TaNqLS9Q6GO3ATy+Iuu6kOup1Q3Aq7BQdMyw9NTquwtepi2JXhJziHqOUptDsjEWJY79VFYG+xPCYj5iTon4B+HwFt3yp02xXc7xEde71RfQ6j40iEipUNZlq9WDuw+wpMHFxN3IwwZ5XhKRxATtGf0N19uwy6i6USU1oSQU7edvNt2lD1esSEzm4xY920cMuY2cmiY6olyhddBpeUFo+Avd7xAGCS6SlA6EmKQMznpsNhpLi0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cf6ROw1N7SDrNgirVisezrz+LJOsU87Fio6c0G9uOlc=;
 b=2wF2+gAWWDW3lDGsScHjVG0HQ7Vi2xKHrj/xXr4h5EZUJ//0+XrPhsdonaOhfEBFU4ObLV6gvYuDhLUJaVT0O9ZB71c7LdA5Mmhd1tg9tzXlcRaeJpvLsO25y9plztEB1hJcy/PVQmuNekicqV+1UedV7nhRaQ24EffCQkjiUcK6xDy14coXGA46PcadazlT4Czm+97xlkooUKVhWneLwgKHUtoMM0DTcRwW/FmB4MrevW/5QgSn1Z2O2fwciakzboqFvNLQ0hguQOGmxFYqBI70wgRa9gjoIw6ZOk6QSxZ6TtLbvowezTIGS1o5GMaE65b2dp0hJPDorRrabwsIpA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
Date: Fri, 4 Aug 2023 08:08:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v2 1/2] common: move Linux-inherited fixed width type decls to
 common header
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
In-Reply-To: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9277:EE_
X-MS-Office365-Filtering-Correlation-Id: 0256e4b0-3583-4741-b550-08db94b13765
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cN2NIV13AO3bVqdgqDW9LFGKx1Y/nGEXzYuaazpOuX9ogF5RD2Y8B1E4A9SQT221SVjpgOMH97iz/Th+eIi8FI+jIgEENc9ZNF0J9Z72SunJ5EkTWdA8BeDti1T0X5QrhQ7PzTkvMCBX/e+1ATxh70M55b/NSt+olkhoHKgQaN/fauFc30YqAC/4FHhz22gzx/Xm2xOd/b05y7W2nKdRw5CFy9lIjvV4xNOynuj1n4GBDI8IzdkZcHp2ZAAqcitTLI+WiQZr0FXI9Zokx+PDeLjgi2aY3Z4H0+4L2PRgFC4X8mfFl/6W/IHvo+Wstwg6pGBbMc/5tddfhP1iuSut2TV1Hw3AC0uf1PjpxiE62vpXSIy0UNPu0ePazRjWJ1uC2z2GMld8gTjk7MG6tOAHC3xqTx/H7TE227Y0x1NtF6cIAWPFkiR8OqzugYzqPpsA08FJZ++oU+Nsa5Oiy/bA6L0qWjQVPhzlbRJ4+RZIIw9+UaYumayqzz5d8mhDWiks3sFi/s545GFL1ij12jRq4F8BRJ4Qa6D5Bhgxf1pNxWFu8f0wUjm8PEcD0XhO2YXPUVjxhNEjLfqdoLqPh4ohe7ArX+3fBf9wX0JixroVVxcQ1RWrZn4336ggn0oKeVv4JloxKkv9yFEjz28doYUxmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(396003)(39860400002)(376002)(346002)(1800799003)(451199021)(186006)(2616005)(8676002)(26005)(6506007)(83380400001)(66476007)(2906002)(316002)(4326008)(66946007)(5660300002)(6916009)(66556008)(8936002)(7416002)(41300700001)(6666004)(6486002)(6512007)(478600001)(54906003)(38100700002)(31696002)(36756003)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXlnL3FIMUpzdlBJVjYzdEpxVmxCQ3pZL2hZSnlvdENKUWkvcXp5MlFBSDNT?=
 =?utf-8?B?ZDF4cUhMUHRCRyt5NFRQVlp5TUlBeDJ0d0Z3V2x0bzZURzR0Y2JUUWJ2QUhM?=
 =?utf-8?B?aHhTNGhZT3FRc29aRHBqcWtwMkFQS0hhK2hQVldldHE5d2NBcmJMbTJqM1R6?=
 =?utf-8?B?UUNzN0d3elhIVm90akdNbmhIZ2Y5KzZkMEZxODBzQk15MU5QRmVTR0hNU282?=
 =?utf-8?B?WHh6ckdaS0tUT1U5ZStqdnhGSjMvY2JHc084T01NM3ZUQkRIaXE3N01PSnRl?=
 =?utf-8?B?Sk1QSXVpQnNQRVVzbFQzeEF0U24wRE5GcFIzenFKVWVzbTVaK0VKMGZQQ0Uy?=
 =?utf-8?B?eE9Ic2ZBalAwUEpiS1hFOVV2YUtzbTU3N3QwdlcyK1VTWDRsMGtYV3pDYmVm?=
 =?utf-8?B?QVZDUzdYdE5WbytPT2JTalZtVkJlQ3Y3TjdzS29nUzBjYnNReGx1dkZVeUlQ?=
 =?utf-8?B?QkgvOXNuaENVNmxjN2FQU05KdU9YU25jNEd5aEtOcnc4RllMWHdPb3BxeE91?=
 =?utf-8?B?dENxcG1VNHFqYURaenF4ajUyeDNBU2l4blYyNUdCK093MGdwVEdJMDRnUGp1?=
 =?utf-8?B?MG9jTjlUQ0xPbzF1UVNoajlXNjR2T21uNzQ4RDkvaG84MlBsdFFMNWgxT2NI?=
 =?utf-8?B?NE03WXd0am50cGEwTDRhY1pJVGRRUmdldWhXVWwwc2xEQTdyYzdSckRIY0Y5?=
 =?utf-8?B?TXdQT0pmRnRsSk5zWUsrZ2VLRHpQNUdGWUhTWkZVOVhUVnNMTlVOWFZXVysx?=
 =?utf-8?B?WVhUbHUyT2VKVEtsVXpoMWs3N2JkS25uTmVyVmdxemltZ1dOS1lndWdFU0gw?=
 =?utf-8?B?Y1VjRkcyUjVDWEMybWIzbzFRTzBXMVBVczJFbWZ5WjBhOXhsRk85TWFVQlRU?=
 =?utf-8?B?MEV6cDdkejhaOVFsSE9UTTRiOXB6aUg4UHZyVU5jMTBjamk4T3hkcGVkMG1J?=
 =?utf-8?B?NmJmeEkvSWk5L2k2dGVuNmp2TTF2L1IxbzNOT2RmSEhrTU0yb0hkbnU4R09K?=
 =?utf-8?B?VVZMTnk4MzcvdStCSURsNFAzMXNidE1DamdweFZrazZSVFpUWkZHN2ZRS1Jr?=
 =?utf-8?B?VFZxVnNDSzBFTjd5QVRtQjNiNXd2N0F5bFNoOW1rNXdXNmdOdjlQOTJweVVp?=
 =?utf-8?B?Y3hGLzg4a2VTWVpWdWhGeVNRdk5maldoTmdOMlVDVUQ0SVdoR3JJSHhXR3pl?=
 =?utf-8?B?d1ozQVBMeXNxQ25YM0ZYdFV2Z0srK0NpeERNYmt5RWVLVENSVjRDK2VpRjdp?=
 =?utf-8?B?em52VUowR0tYL1IzZ3JrMGduRFE5S0ZOa1JGNCtGcmRBN2Y3TURoQm4wK1hp?=
 =?utf-8?B?bmNubS9lR29nNkU0YzUxanZxSVBncHRPbEV1V3dLUmh4ZmlweVFZdTRCZkor?=
 =?utf-8?B?UjRKOThoZXE3eXFxeWE2TlVzRk41YlhWeWh6RmFNclMzZjZzaUtVOHR3cU10?=
 =?utf-8?B?K20zM0RWaEhEVGxWNmhUSGhzeDNFSlVYamZhaDdHc3hjYmo4WUFxY1NaWFhQ?=
 =?utf-8?B?aEtlOVpwRFVzMktpdU1pS0x5bitFcXJKV2VBRkkyanZjR1A4cUZSbmxxUEJT?=
 =?utf-8?B?N0J5dmJaUHpHbHhhZ296YWdoZ3hhT1RQZTdWN3lwakRwVm1SM1owbnBCSGt3?=
 =?utf-8?B?b1hlVzdpT2dmVXM2NDRseHJPRUd3WmlPeEtsc0VpbkFqTFlJdWtaKzZCV3NG?=
 =?utf-8?B?d0EzQVdOSW5aY0p3MVF2djM0T3RpMkdaTzM1TzJudXdTcnJjdVRFaDNkREpJ?=
 =?utf-8?B?STloSEN3eHkrV0NrVWVwbkJlVTlPbGJPSTFJbWlma1BiT3NzTjZFalo3RHA1?=
 =?utf-8?B?SnRhdlZBOFE1T1ZqWWQrRnhOdm1EVXgyRFM3b0VGcGNiQXk4M1ZXUzl0ZGw1?=
 =?utf-8?B?dHJaTm9JNnc0aENrdWc5WGx0LzQ2WndUOWFSUmV0SGk2bkF3bXVZOVIxRG4w?=
 =?utf-8?B?bE9FSzF2SWJ4Tml2bktBUVl3Z2ZRbXJpc3FZek9VcHU4UXVLSXJsYzVDQmw0?=
 =?utf-8?B?UlZkbGVYNHk3Q1BnY1RKMVlzVmROSkRKN3NQRC9FdXdST0pWNUVSTTFMZFE2?=
 =?utf-8?B?cHZlSXI3WkJndkEvZ2J5UjZRUFNDYW9aQVlzb0xiQzdMNUpwWS81RVVSelZY?=
 =?utf-8?Q?IWQdniOgnGIy6QLfFKqrAa50u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0256e4b0-3583-4741-b550-08db94b13765
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:08:26.3890
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C3L8aJVwy++JCkCzTAcjbl9ITevmNNtfWf1yEpbIn7fhhOKclLze4n6FyqGjxOr/El4xc/k3eU84wJobD3yKRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9277

Have these in one place, for all architectures to use. Also use the C99
types as the "original" ones, and derive the Linux compatible ones
(which we're trying to phase out). For __s<N>, seeing that no uses exist
anymore, move them to a new Linux compatibility header (as an act of
precaution - as said, we don't have any uses of these types right now).

In some Flask sources inclusion of asm/byteorder.h needs moving later.

No functional change intended.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: This is the residual (extended to PPC) of an earlier larger patch
    which was partly replaced by introducing xen/stdint.h.

--- a/xen/arch/arm/include/asm/types.h
+++ b/xen/arch/arm/include/asm/types.h
@@ -1,18 +1,7 @@
 #ifndef __ARM_TYPES_H__
 #define __ARM_TYPES_H__
 
-typedef signed char s8;
-typedef unsigned char u8;
-
-typedef signed short s16;
-typedef unsigned short u16;
-
-typedef signed int s32;
-typedef unsigned int u32;
-
 #if defined(CONFIG_ARM_32)
-typedef signed long long s64;
-typedef unsigned long long u64;
 typedef u32 vaddr_t;
 #define PRIvaddr PRIx32
 #if defined(CONFIG_PHYS_ADDR_T_32)
@@ -34,9 +23,9 @@ typedef u64 paddr_t;
 #endif
 typedef u32 register_t;
 #define PRIregister "08x"
-#elif defined (CONFIG_ARM_64)
-typedef signed long s64;
-typedef unsigned long u64;
+
+#elif defined(CONFIG_ARM_64)
+
 typedef u64 vaddr_t;
 #define PRIvaddr PRIx64
 typedef u64 paddr_t;
@@ -44,6 +33,7 @@ typedef u64 paddr_t;
 #define PRIpaddr "016lx"
 typedef u64 register_t;
 #define PRIregister "016lx"
+
 #endif
 
 #endif /* __ARM_TYPES_H__ */
--- a/xen/arch/ppc/include/asm/types.h
+++ b/xen/arch/ppc/include/asm/types.h
@@ -3,17 +3,6 @@
 #ifndef _ASM_PPC_TYPES_H
 #define _ASM_PPC_TYPES_H
 
-typedef signed char s8;
-typedef unsigned char u8;
-
-typedef signed short s16;
-typedef unsigned short u16;
-
-typedef signed int s32;
-typedef unsigned int u32;
-
-typedef signed long s64;
-typedef unsigned long u64;
 typedef unsigned long paddr_t;
 #define INVALID_PADDR (~0UL)
 #define PRIpaddr "016lx"
--- a/xen/arch/riscv/include/asm/types.h
+++ b/xen/arch/riscv/include/asm/types.h
@@ -3,19 +3,8 @@
 #ifndef __RISCV_TYPES_H__
 #define __RISCV_TYPES_H__
 
-typedef signed char s8;
-typedef unsigned char u8;
-
-typedef signed short s16;
-typedef unsigned short u16;
-
-typedef signed int s32;
-typedef unsigned int u32;
-
 #if defined(CONFIG_RISCV_32)
 
-typedef signed long long s64;
-typedef unsigned long long u64;
 typedef u32 vaddr_t;
 #define PRIvaddr PRIx32
 typedef u64 paddr_t;
@@ -26,8 +15,6 @@ typedef u32 register_t;
 
 #elif defined (CONFIG_RISCV_64)
 
-typedef signed long s64;
-typedef unsigned long u64;
 typedef u64 vaddr_t;
 #define PRIvaddr PRIx64
 typedef u64 paddr_t;
--- a/xen/arch/x86/include/asm/types.h
+++ b/xen/arch/x86/include/asm/types.h
@@ -1,17 +1,6 @@
 #ifndef __X86_TYPES_H__
 #define __X86_TYPES_H__
 
-typedef signed char s8;
-typedef unsigned char u8;
-
-typedef signed short s16;
-typedef unsigned short u16;
-
-typedef signed int s32;
-typedef unsigned int u32;
-
-typedef signed long s64;
-typedef unsigned long u64;
 typedef unsigned long paddr_t;
 #define INVALID_PADDR (~0UL)
 #define PRIpaddr "016lx"
--- /dev/null
+++ b/xen/include/xen/linux-compat.h
@@ -0,0 +1,19 @@
+/******************************************************************************
+ * linux-compat.h
+ *
+ * Container for types and other definitions use in Linux (and hence in files
+ * we "steal" from there), but which shouldn't be used (anymore) in normal Xen
+ * files.
+ */
+
+#ifndef __XEN_LINUX_COMPAT_H__
+#define __XEN_LINUX_COMPAT_H__
+
+#include <xen/types.h>
+
+typedef int8_t  __s8;
+typedef int16_t __s16;
+typedef int32_t __s32;
+typedef int64_t __s64;
+
+#endif /* __XEN_LINUX_COMPAT_H__ */
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -4,6 +4,16 @@
 #include <xen/stdbool.h>
 #include <xen/stdint.h>
 
+/* Linux inherited types which are being phased out */
+typedef int8_t s8;
+typedef uint8_t u8, __u8;
+typedef int16_t s16;
+typedef uint16_t u16, __u16;
+typedef int32_t s32;
+typedef uint32_t u32, __u32;
+typedef int64_t s64;
+typedef uint64_t u64, __u64;
+
 #include <asm/types.h>
 
 typedef __SIZE_TYPE__ size_t;
@@ -40,15 +50,6 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
 #define LONG_MIN        (-LONG_MAX - 1)
 #define ULONG_MAX       (~0UL)
 
-typedef uint8_t         __u8;
-typedef int8_t          __s8;
-typedef uint16_t        __u16;
-typedef int16_t         __s16;
-typedef uint32_t        __u32;
-typedef int32_t         __s32;
-typedef uint64_t        __u64;
-typedef int64_t         __s64;
-
 typedef __u16 __le16;
 typedef __u16 __be16;
 typedef __u32 __le32;
--- a/xen/xsm/flask/ss/conditional.c
+++ b/xen/xsm/flask/ss/conditional.c
@@ -9,7 +9,6 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
 #include <xen/lib.h>
 #include <xen/types.h>
 #include <xen/errno.h>
@@ -17,6 +16,8 @@
 #include <xen/spinlock.h>
 #include <xen/xmalloc.h>
 
+#include <asm/byteorder.h>
+
 #include "security.h"
 #include "conditional.h"
 
--- a/xen/xsm/flask/ss/ebitmap.c
+++ b/xen/xsm/flask/ss/ebitmap.c
@@ -10,12 +10,14 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
 #include <xen/lib.h>
 #include <xen/xmalloc.h>
 #include <xen/errno.h>
 #include <xen/spinlock.h>
 #include <xen/bitmap.h>
+
+#include <asm/byteorder.h>
+
 #include "ebitmap.h"
 #include "policydb.h"
 
--- a/xen/xsm/flask/ss/policydb.c
+++ b/xen/xsm/flask/ss/policydb.c
@@ -22,12 +22,14 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
 #include <xen/lib.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
 #include <xen/errno.h>
+
+#include <asm/byteorder.h>
+
 #include <conditional.h>
 #include "security.h"
 



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:09:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:09:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576850.903459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRnzm-0006Zl-9M; Fri, 04 Aug 2023 06:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576850.903459; Fri, 04 Aug 2023 06: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 1qRnzm-0006Ze-6F; Fri, 04 Aug 2023 06:09:06 +0000
Received: by outflank-mailman (input) for mailman id 576850;
 Fri, 04 Aug 2023 06: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRnzl-0005ze-Gw
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:09:05 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69c19f88-328d-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:09:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 06:09:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:09:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69c19f88-328d-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DvX/PiIT/n9WMVHXRKgP/fAdTfzLiPzqQnAwg6I2YuRGAsmBCqvaPJkqJ0JffHk/wzV7Uno74L64d6BEpQKU4i7Q8UfUU7v+fYsPY+H/uFA0vpjsnlFQDLc2rkkV/YtoRrIpAOghlcS+LG0kaQF+5ntmfp9/3LuIn8cDFOIB4rdTtlguyyJebYFMh/utAljyGr7ySfNa7mW6QZlYxZuoRyazM+O1t/0bLiC1Tf6+huAM3jThqL4YPPRJk6cBVGb99RGKqd9EpanKyV5mv7O+0V+pycfxC4XS4zWBTouGq4dRBqII0ILSrPtaU0yUGmcCFQq+2TCn7Q1fFymbFW5VgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6kl6RWXn5uemkd7ASmE2X55x5oFAeTzP12gxwiwAjek=;
 b=cJiXg6n3czBBLkW2iObgOkT9OnaSdxKm7IHEso0Pnkdt7ALp/81m0tDPPm69ZnV8GefOBjh5Ah4A1vwLkSA8dwJCRiFBbL3+Qm1nthus/q7zyfgjDICvqG3pPrwfdZwR7FYlyLRAjZAJUYMjGtDvwNhy0NxjQZoxRiy7GRZHELQhWm9N2RLwjk6su+WHgY8aAHG5+IVICaan8kpmMnLNPuNABdUcscW5QfKmz96Cesik9+81TLYb6dHDJ6Umy615pG0z9004A4eJXlBGLFqEawefaQRShkyUsTv+03orfCIg10NyByOdklE4iaM/93hPa55ueJWKQKWVs/WrK8xmFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6kl6RWXn5uemkd7ASmE2X55x5oFAeTzP12gxwiwAjek=;
 b=anxPElsUaRztEXyJINxqzMAzz8zGhj96bY8aS9Gcd2B0SvaUJjeqSWy4HJV4bFk94ZEttoa3aFcZZzXOh4RUpwinKVxYb4ALFiu2UvVX+VuIhXBaXsbMksrCEusR00MvdvEaNtJyTxYnfm11Zh2z5WnVP7weII/DalZ9InO/tMLmNjKPzaKsoDaY9mGUohXGMMBKaY43eYdfnCN1OMclaahU034bZXuM6sN3Yu362b1FtXhLckN9qtyAgVeFpt/XYv0c8ZIYdwu8qeCYQxcHYxfyJnk69zjgQmew+yanqzF3p1eHYQzeOFZrppj+MOzDC17G7ZLvEe0scu/uLt8ekQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dfd4e7b8-f994-f33b-d158-e698e8e8799a@suse.com>
Date: Fri, 4 Aug 2023 08:08:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v2 2/2] common: __u8 is history
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
In-Reply-To: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9067:EE_
X-MS-Office365-Filtering-Correlation-Id: 4547ea30-f847-4196-b5d1-08db94b14c24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IuYf+6Y6kagyl28TrjhEr80LTPWKvhlSJX+S39SjgAWH24WgPdrl8r5KLsfqjfRA8HK/0wmlE3fE38l31bv2CCSh8kr/8HRjH9sxkB1Xe88xcYAvAspnWRbtL50qGUMBZLxcs7NRYFJs5xn095Cw01Oq+v8hK+vcbpD6436CjgpxPsaAt2u1hy1bP5e6n9XOtqpLf9DcCUi7kZW8JSCXVAgI4A4SvoPjaZBnj5+HbgAdGJgw+C25wWBsq1IgAvS7ClLkQfoAFYcnUptmkDtshvyHGrlGkBvuG/4Eq76eX2XJZK/Jys/93Ggq3T5J59XFidvoUV8T0pDJc6W6CILFZZYbmkUHhMdRiJ8/rYa5k5ffQHmS1CkIhC1xHgiqINaSlZdNli/IZuNB01t3/znN/ybEwylnjtRT02B7IwUNTHYrvFENq8g6u6hJ7KJvl0yTu+Fb6KRGtBMZEtlZifHPmYGmpaizybEWUgJ5tVTy81hEGiveM2F+l2Jto5G/JnOXqVRdhlvFYXutFfatNnQkw+zBCTaZcYgAphVgEU3RnG22E/x3D9OPxI7t6a33sxP3Cun0+Ms5PTnEVmieDujyRTf+9QV08ndqOhbJ9aq60/y0k6yFUdvDyGf9nNAD9dzz5m/Y46s25qCcYQoySeQ50A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(1800799003)(186006)(2616005)(83380400001)(26005)(6506007)(8676002)(66556008)(316002)(2906002)(66946007)(5660300002)(66476007)(6916009)(4326008)(7416002)(41300700001)(8936002)(6486002)(6512007)(6666004)(4744005)(54906003)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDNJa3hWZzNxWnpNQU43OHgrTjlURUU2YUdZK21PWjlvQmhGZ1VtUC9Fc2Nm?=
 =?utf-8?B?YVl6eE05VzJXRTluaG91N2ttYzVNOGhvVUpEMU1HSTAxMEZocmdNUERyRW0r?=
 =?utf-8?B?RG1rbWx0SjN4UFBPYm1sNzRWMEEwaGZYRVVrdEN5MVFNL0h5UG9qazlmSjRJ?=
 =?utf-8?B?c1Y1YjBVUCtPMitGL29HODIybURDdzRBekhMWXZaNnowT1VSOWZ5SFp2Uita?=
 =?utf-8?B?QStoNy8weFpDQythYmpJUm5VbUVwUEhkNnc4dTJQclZXTmJBNDFlTzR2ZnZD?=
 =?utf-8?B?RkIvbmFWWVhFSmJTWXVzbDdIaklpSlQzR0VsWWplcDlyQ3ZjZFlTdXRUU0tv?=
 =?utf-8?B?K0tTUm9TYVM1RHpVRExRVXhrZUdVczZJVFVDbkFYR0xpWStnazJoR2REeUVK?=
 =?utf-8?B?c1RsSEJ5ZnBBdjU0VVU4SHpxekZQZ2RuTy9ZYlB5em56ZFlYSlBnbFNST3h4?=
 =?utf-8?B?Z2lMYjF3Z2FzYU5LbnROdnl5SE9XZ0dxUUVMZzlmSTlCT3FlZml1NHlYMWFv?=
 =?utf-8?B?SU9TZUpYYU1XZnlwT04wRU81d29xWVpuUDdTZ0RvdlhpWEdqWlpzL2VWS2Vi?=
 =?utf-8?B?cDFvNHpTZHBlZGZUY1JWZkZUVHJpKzlKYmtUT0FWZWVjcVc0Q2pCZ1FrZXpo?=
 =?utf-8?B?RzJNdi9TTE1EMzBWMzAxWWE1NTlHWUlrU3lkYXpBVVFnZkhxVHdpNjB4QTJJ?=
 =?utf-8?B?OGowdUlTeXJRd25hSnpFYTJJUGdiSm1lcDBVS3pKQ3FHSnNDbGc2UXUxSEo1?=
 =?utf-8?B?eXM2MFJzaEVMbWpvNEtCaWVsMEtZV3EyNWJWRTdkWGxDYWIyYUxKRUVqeTM2?=
 =?utf-8?B?aEE4WnFlR25IQmp6dlhNSS85NGJ1M2NvaUtQUWswdVJCWDhBdUxmamdqY1Z3?=
 =?utf-8?B?MDJKYStMWVVoUDZXZEs5eWI5ZDI1YkFpOFdSWHZKWlFrMDVOcjJjM2J2MnhG?=
 =?utf-8?B?VjJpNVhHWWpRYjQzcmhEWVZlUHNLTjBtSVpQN0kwelpNaXhLdnN6WkIyMWY5?=
 =?utf-8?B?MWFNUWF4RXZJbnlBSTZFOVhjYlp2b0M2Rzg0SklvaTltdEFzc25ubDNyT0NM?=
 =?utf-8?B?cGlqZ2lRQnZSa0NNNXF4QXRYQWthdFFhQzFWR3JFQmp2WmtBWUdJakN1bVJP?=
 =?utf-8?B?a0pyQ1RVb0QvUTc5WHdWaWxwb1ExN0NOOURrekF4T1hsb2RCb296TEJxTmlE?=
 =?utf-8?B?cCtMa3g4UWtPVFV1UFVUWDNvNFNaS3lkejUrT09OS2JGd1o0Zml0MnNRaWVC?=
 =?utf-8?B?Tm5JdzIyWUsxSUsrU1FRVHpNY3VTeGRwYUVmSDBOclVjVUZMazQ0NXJidmh6?=
 =?utf-8?B?Z2c1VEw2VDcrRUxxVDdRYTY2QmpZMjJXTUF1UndCWTFHd0xOUnUvWlZIMGFv?=
 =?utf-8?B?Q3kwa3plRXIyZ0FUSU5IMGVyK0dUMC9EQmFsWHlGMHpBU3N2VjMrNE9tUHg1?=
 =?utf-8?B?MnNEblppMmVCbTVESENqRjQ2dnB2TE5vbTgwVnFmbDJCenp1VW40eEU4REZz?=
 =?utf-8?B?akVrZHdiOGtsb25XakQwVkdTQURDaHNOZ1ZzS3M0WlprbzQ5K3FvTGk4dVBu?=
 =?utf-8?B?dm40ZDk2R08wMzNDSkNhSFFtN1V6WHN0YXJPeE5BaHNLU0FUZlF5RHVJNlRh?=
 =?utf-8?B?LzlYNVJ5eTNsTWtkaEUwb0V3YWMzS3RDOWhqWmFxOE45NW1rS2p5Tm9yNUhP?=
 =?utf-8?B?ZFFjR1pYMEZpMFJGY1dNbXNpZ2lCWjY5dWRzZk1Nenc1V1djWWN6S3A2UGhl?=
 =?utf-8?B?TUkwOTZjdGt3TUFlbnBFNFRBdFROUEVRRDRKbWEvMm8rMTlrT3Q0QzBldmc1?=
 =?utf-8?B?d3Y5dDZaMUdoV29aNGdHUTlhVVdrY2VVRE9VZ2k2MDZDTWFHbXBQK3dPWjFo?=
 =?utf-8?B?VFdIa1o1YzFXWmM5SU53cTlVMmw3Y25GK09zVy9oZ0s0WUxwRkQrU2UzcTZi?=
 =?utf-8?B?ZjBZcUpLUC94MUxNcDRtcXNlcEFoZzM1eThTTHFYVmVaQUNpWnRyMlNGbXdG?=
 =?utf-8?B?cEU2RkJoVEtYOFZGSzduMVUvSGs3RGFKNGFHUGt5TEFGM1gxRlFYTG9pS0pu?=
 =?utf-8?B?USt6ZnFHZ1VTWkNkU0xoSnlyV2NkdVZUQXcrL29Uc0hWNEV2cmRnYUgvUnh4?=
 =?utf-8?Q?zxeh9yKovNod16W55mDJ4Hd89?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4547ea30-f847-4196-b5d1-08db94b14c24
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:09:01.5550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bDwcK2szC59YV0gKoJFdEIHEjEdE3JRm/6WGzMtI+CKx+q3pUu0Qw8D7AUgDjkLNa04xwkvG7cTi/hrY71Y+qQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9067

With the last uses gone, move the type to linux-compat.h.

No functional change intended.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
The primary use of __u{16,32,64} is in the byte-order headers. Iirc
there is a series re-working part of that, so I guess before touching
the logic there that other series would better land first.

--- a/xen/include/xen/linux-compat.h
+++ b/xen/include/xen/linux-compat.h
@@ -12,6 +12,7 @@
 #include <xen/types.h>
 
 typedef int8_t  __s8;
+typedef uint8_t __u8;
 typedef int16_t __s16;
 typedef int32_t __s32;
 typedef int64_t __s64;
--- 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, __u8;
+typedef uint8_t u8;
 typedef int16_t s16;
 typedef uint16_t u16, __u16;
 typedef int32_t s32;



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576857.903468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoEp-0000hV-BU; Fri, 04 Aug 2023 06:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576857.903468; Fri, 04 Aug 2023 06: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 1qRoEp-0000hO-8a; Fri, 04 Aug 2023 06:24:39 +0000
Received: by outflank-mailman (input) for mailman id 576857;
 Fri, 04 Aug 2023 06: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoEo-0000hI-36
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:24:38 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94edce62-328f-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:24:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9210.eurprd04.prod.outlook.com (2603:10a6:10:2f9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 06:24:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:24: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: 94edce62-328f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IPLVDuk4yMw580TDa+IEiM+SKBpGmJM+LffICCOxReSF38Y3TDFCmjBxg8wHuACcfwUmcB2LhohmEC5nNmtdoLuzsbitSaUiPOG0MJefuz7bp/BRl009wDXJckd7BJ2uN+jBAOmofWmEfYf82WZ7KTVt0/P6wCijabHhi47uA3gWtg8Vg6y+ZwtqKV/rwpPfeVPIRTSGeZa648TTB3M12+OMgMv2es4FVansk/JexfbcdofHlq2xFWYJJMkukoFvHDKbmMYCp1NR9pTCqzWTgD2hbYkitpjvAS7PRhJFTcWQMST86YxrTQNC4LBr5tFmUxdHC7VYxqP5FVyoc0zeZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=khlMCG6Lb9J8bmE3Xh+hVWhqFVltOB8R4ef78zKo+9U=;
 b=YmejZYI1aXx5x5XI5rfwgMzKt1sGu36SJJTPq+BJhShYi9m1cAQDwP/jNEz6Dr9WpcsXzGbZ8cVKOEYB76l4GSB92ZQvJpgqjUbXlXkpBGCJCDfa4PfCBHA7RJq+51hW8rTaXvkzX2cb+Ow+h5WLSafBR46C8nNO3waTSDt6TQ1Cbh/IXWjHpcfpCl5uUH4k9LguJAMN4jqbtUP5CDLpCp/a75rQXP123pKzZImgmELNVlPgA3Ad0o8EVCKMwpL7wn2cMithp3f+kZFL3/In4GDGhi/CWoC2yrNrGAxxFvWcZ/XUXq5q6g+XdXCwsc+/D5kkIbt60x3gvoSGy52zfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=khlMCG6Lb9J8bmE3Xh+hVWhqFVltOB8R4ef78zKo+9U=;
 b=H15Va7IhkvQ/rfiJbU655H3XJrkk9qgsfC5WiI106zUpWwYb8ajGk0u9q7sFGWsxxWIcpXLP7oG9Ce2qXdUZ3h2g4L4ivh2ZVj8wf9dPf4113m9Dskk2WKahApA7DgyN/WWP67nNFCKkonk/uaGNP/ZTdueD37GH6t3ssCWxhrHOQrh7xh4pYXyrSLNoxjxadrStzC8gapYccFquI+XSJplgGLh1OWA8AVkjNrSezvHt+LHIqhrYA+FFjdT0/kP5pBeg54T4PVnbrd/Ri80MG58QBra3UckYd3CZzZISZTI2NA8BXOZf6+lruYhXNSYO/hIhjlGsD/Zv3HvJ3P89mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Date: Fri, 4 Aug 2023 08:24:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 0/8] annotate entry points with type and size
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>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
Content-Language: en-US
In-Reply-To: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9210:EE_
X-MS-Office365-Filtering-Correlation-Id: 717811ca-3db6-4843-ff65-08db94b37805
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tDtWKHkcmrI4xBNjhFhf+u4RVSuXxfhCak2aEYt1l0+NWeORRo674QI18u5JUgsMvh4QtXR8bwjfdKHW1xIsSs9h2CW/PHMNmsnFqU3kblSbn7JpXYEHFhrxwQ5Zcax4qTBL6N4c8pQjyg6C3ho/Aa7lcCBVD7aSjPKHHIj4YP2VAyYAlujI1hDIokGd7vUgJLQq6VggUrnLRF/OCwNJW19/onSHr2kYoIZpjVkv3EjCPMpI5rlH/linJCrT4P/SJmCMw4iLYskdem81HOoPFyMxXNXvh/1faoi8jkChjLx0aCHAb/9yFHEJ2e0fxjLJkXC6d5h/dgZWvJw4yt0lYPGSwlSh5VwK8q8nsXAn/lJo4SStvzpF5qkdanHB+7IQSM4GYmAi1haHiMmMns3S57wwoIgT3txiAxAfjo3nbyixAxnEVgjSDz1NKGGgc/t+hjW5Em1IBEZRF6bvdLrRZ4A/8SOVIywMNaICB3JOqkV6Y78HxwEOylJelsrZt5oqf1lgFw0NFtClAWq4L7S9tXo1urTlFiAzlNWryVszdJaUSJVHpiO14zjZtiBcImReKyPSjhhWoX2cOuteR3O/kpNHwDBK0OKvcLw5aq2gAG87Zjfy9HEqFo7LSIQwloX6jEl8PlW8iv7e9el3jNNEYQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(396003)(376002)(366004)(346002)(451199021)(186006)(1800799003)(6486002)(6512007)(86362001)(31696002)(6506007)(26005)(2616005)(36756003)(38100700002)(5660300002)(41300700001)(8676002)(8936002)(31686004)(4326008)(6916009)(2906002)(66556008)(66476007)(66946007)(4744005)(316002)(7416002)(478600001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGVNaGpCTkFITkFJZGVlMk83cXpHVnYxSUZwYWdFOWM2NTNFcitaOHpacElQ?=
 =?utf-8?B?Lzdyb09lQjlWQVNPL1U2a3A1N1pmcmhhd0s2T0xEdHhSY2ZJY0h0akx5M0pj?=
 =?utf-8?B?cS9wdEtkdnRCVE1GQnlIcHNVeUdtNjRXYWNMYUYzYnMzNkIxNHdXMWVIRElY?=
 =?utf-8?B?Z2xxWXlUbUhQZURJQmRlL3VOWXh4d01jL09KZmxjdXFXcGM0cTA4YThRVmR4?=
 =?utf-8?B?UVZheDg4V3hIMW1sNmZOdHhmU0FINUYxSnlmNnVFbHNMRitBUFUxWW9LNkVF?=
 =?utf-8?B?Wk5LUmxkM1FXU1ZKVkhVaXFnWVZ1Nk0vbmlaNDZZNUgyYVlYNFlFMmlNeHdF?=
 =?utf-8?B?WUw4MDl1RVp5SWhZUDAzL3VhRFBNQUJFcGFYZjl5VGN1Y3lZMUNQVWVGdVR2?=
 =?utf-8?B?NE03QVUxdmREeEdPdEx4T3luVzVybGd5Uk8vZC9iQitwTklxQU1hV0xhYzFC?=
 =?utf-8?B?M3lNN0R3czBpZ1p6TktadmZZazA0T2lSWHhwY004K1g0cVBnVVBiWmVzbFk5?=
 =?utf-8?B?TEt5Sy9EbXZ0eHdER0hVbXpkdEJzN3UrN0J1UCtEVVJGU2V5eS9yWlpvUUll?=
 =?utf-8?B?SmM2THdqMVBiSGlWTGxob3BtU1A5QytSOVYraEpUbFo2ZE9EdnJaSmJHcldR?=
 =?utf-8?B?em95Uy9UQTdZREZRZGhmdERPQlFGcUZpTzkrVkk1OVpSV2ZJVFJLL1I1UENM?=
 =?utf-8?B?SmV1SGl3bnQzY0lkeEhlZ1BBcHd3ZDRxamgzV29LU25rdS9icldZc3VrcGd5?=
 =?utf-8?B?VWZTNi9jZ05ENjBEQjAyZXdJNno5c0pBU29Ba0lMaGlDMzdZYXp3WUsra3o5?=
 =?utf-8?B?TUpZMHZYeEhQSjAreDhnelFSVDlVNmVCcTJCRHpYYmYxblhtOGQ5aDhGV3JS?=
 =?utf-8?B?TzhuUExDTC90REZxZHU2S2dSK3liaENyYXZlQXA1aldoUDVBSWNBSjVYTno1?=
 =?utf-8?B?SUNLWVVUdFlNa0dNcTdDZGJHaXJOeDZyeXhiVURYdlZEOGg3WUE2d2l1TmdQ?=
 =?utf-8?B?MzYwM3JYa0hScTFWSnQ4S2FCU3RSQVAwa2ZoUlFRSld3ak5DZ0podnV0a3ZC?=
 =?utf-8?B?ZTFucHQ3NVpuZUdMalROVG5yWERGcUJoeUVmeVZNN2MyREpHdjJBK2luUG9C?=
 =?utf-8?B?dTdWcTNKalJYenhnd0NGb3hPNEtUZStGYWNxdjRha29iT25oMWtSMTJlTllO?=
 =?utf-8?B?bDVwRjN3YmNHVklaUFRBNEUwMGhBMzhFZDU4czNTek1ZU2ZIYkIvak5SNnFQ?=
 =?utf-8?B?S21DQXR2QnhMdnhhM1JjbmxjWDEvekMyUjBFY2lqaTR5UUpQMERielpBQ25w?=
 =?utf-8?B?d01RVVFBZE8vRWhhQ3p0M3g1aWtBcEJudXJGVENXWGppcHhwcGVIM0F4R2Z3?=
 =?utf-8?B?WmhobXNwV3lBbk14N3hWaDNwczZmekREaStZWkFBcEw1MmZ2S09DemVOY1Jy?=
 =?utf-8?B?ZU9Oektzd0VCOHRRRmswWkZqSVZHd3U5RGRlc2w0V0ZqNzR1YXQyRTc0S0lS?=
 =?utf-8?B?MnBJdTRhWC9LbTFZNm5YQmZxcnJKUmYyZ2E4N1p4UEJRNHZ2bEdGcWtvTS9T?=
 =?utf-8?B?SXlISVFSK0FsNnp1REd0VXFJNWpyZkwvSjUzaXFlTzhHdlBEcXRSZ2ZSNmFW?=
 =?utf-8?B?VlgvTjVrd1BtdUsxdnlja2U0LzFFWkNWRXpCT1VaZjMzeXpSdWhmdWVvR0to?=
 =?utf-8?B?K1VOMVZYSzdaVnpJUEovemcrWTZFSGcwdTk5V29DU1NjNFFiK2RvZnFnUGpN?=
 =?utf-8?B?bFlNQm1CZnk3NXRwcHN1dXUvbnlKNFg3L2J6TG5Wb0phUWlNZnQ2Vm9uNnVP?=
 =?utf-8?B?cGNZZlY3OUFLcnFCc0JZeWNVRjhJWGE3TEwwS2dsQ2YxcGsrbS9MQlh3bkdk?=
 =?utf-8?B?aElrZkRuUmxwTFk0ZGdwVzBjclFrM0JHR2J1Rk5zS0FIa2tseGJhOFR2ZWh1?=
 =?utf-8?B?MUo0VXZpSlg2SUlyQnNVSjB5SFUrclFwbnlLbGFhamF1NThMT0pTUTlDQi80?=
 =?utf-8?B?MXhyQ0V5NUw3YnRlNENUOTBXWDV5ZmZxWUlKTlVrOUVIYnpOdVR6TVo2Zm9h?=
 =?utf-8?B?R2ZuQjBVdGl4akcwd25SMEtlZ01XVmw1ckJldkUzVmJRZDZVYk9Ed2R5VUpQ?=
 =?utf-8?Q?V4Zjpp7u8Y4end3sGYI1gorbQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 717811ca-3db6-4843-ff65-08db94b37805
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:24:33.8861
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zLBPb3+ZRYcAaqGcUHXALFmStMibqxLic7oRqpmLpL1Shyj9c6dm2N7GUV9oxH5JKgnSUGjbLFBRLXsuMCYDBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9210

The model introduced in patch 1 is now arch-agnostic, and all arch-es
are being switched at least partly (to at least give examples of how
things will look like); PPC and RISC-V are still small enough to switch
completely in one go.

1: common: assembly entry point type/size annotations
2: x86: annotate entry points with type and size
3: x86: also mark assembler globals hidden
4: Arm: annotate entry points with type and size
5: RISC-V: annotate entry points with type and size
6: PPC: switch entry point annotations to common model
7: tools/binfile: switch to common annotations model
8: common: honor CONFIG_CC_SPLIT_SECTIONS also for assembly functions

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:26:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576860.903479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoGT-0001Fn-OS; Fri, 04 Aug 2023 06:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576860.903479; Fri, 04 Aug 2023 06: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 1qRoGT-0001Fg-K7; Fri, 04 Aug 2023 06:26:21 +0000
Received: by outflank-mailman (input) for mailman id 576860;
 Fri, 04 Aug 2023 06:26: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoGS-0001FG-RQ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:26:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d320f1ee-328f-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:26:20 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:26:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:26:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d320f1ee-328f-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JIcepoZQLHoAej8AtgDTFQ5gmLSRviAcQHQfoyT31S98lbcGu3RfU6au/SbF4Bf7uehIu+DMKHTsj/BhsaYnZiAmV8eL+qAq8wCz/L5sTkB9qvyYLZtyoD7kvl2YWQTin2jWXcLe+hWiaYRbkc8uu3eFbLRwqxHzIXjU5NkBWE8EP89v4FjXJFJc2dhw5qqA2HRNedkKNw+NItuy9GHML9WG5saWllyJmLPE37FmXoiszVDJa3lc3+TXUp/gGfCdESA/BmsPtDFbOUHieryZqwkUn1yMIxhwHK1yNnz0BzuDZh6qPWkXhcRWvlnZcDixPLRzjihw2pHbjRNGnTntoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Njshz39xQXWzUhA0rIyJzlUroK26ZOgCP1y5HqVWGkc=;
 b=C2YNExXJc14pTzxKK6yDUvKBjGgWvoXD4j5vDSVQu70W0mGzfCcCpPltY9uxYNZv+HF6il1lFYPyp/bX0TxsGYo04KKPA+hEewtOt5oeAvm0nKClznrGSYT4y+JsPqGu8BhTnOr+vxZfju2mDufzmbDL8nEjH0KP4dAaQU1WMUdm0xb4FfuqkTTb28SQU8Hro0TEIDzEnOVp3NPCoujXU0e8rOU8BtzqBy6oH0jX7XI7cgD03jbQOjyVTRGChW5VkcUU4gw2qBQ6SR6NM7OidH9vXs7LpVat9XHofhgyJLDkXD/Rtxb2XBNSrg8E1iufCPjvQId9uUgLxxVuoihdWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Njshz39xQXWzUhA0rIyJzlUroK26ZOgCP1y5HqVWGkc=;
 b=f5nWjrvevgLbNrsC1jnrSqI3W78s9oeCwKE+hLBU8Fy0v8W+Rp1hb40gAOxKyxcUKd/+rVYY+GcIUGBtrWNgSL1RqWBbhvww0DRfQPTraFKmAECrpkTYqkbRmGM9jPUaA1Bs0tNRNObRdux60RMEYNZjWQvtwM4bASh+tU+FXgB+ZKMrSnu2XLbztsPSnwGVzdfHQYmTRsMB/QrbNOxBZ5Ai26hI+H6Ep1rIzzVgX7QmHl5I2sxDWCXz5yIYjY69JdSNE2xlskEuwX1p5wa0IMHettJL6YW26a9Vnsba4K7CbnIx3xq/7yfv5vPgoSYQTrFbzb1GDUzT4kvA1I7UlQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8ed43968-311e-263b-4dd7-9f8a49a394dc@suse.com>
Date: Fri, 4 Aug 2023 08:26:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 1/8] common: assembly entry point type/size annotations
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0112.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 383e3393-971a-43bb-ed4b-08db94b3b62f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AV0XOXT8QOWAFgwYxjNSlQmqEFIG6vcr71PeiqsmZeyoYhzz1/u4jEhZ3xmMsa+FQPPVu1ZnrKvutWR5CRjJQNSIgEEakA/Fc6eQtKXXqskBnEKexv51jYoPPVyhoROWCSj8N8IRtVqzMkA+qT11Q5M2jtjhpO57IRJef0RSrIR+9ixgi3GRcM30lZ34IRRqjspwdoN2daA0U4I+lwishW3v+LPpA1PpCVfl333GMt+xJ4Sf5fqPVWui6psI0VucXjLCUb9DdybyQmoKE/7ZR5gN9CWFVrvpjVYuVxNs+7zUrPhiph3oKcX+3B/o0Gj9lswKNfsAIKdBRPx6QUEz2V7ZEK6UsRhYdhdjJ5V2zRYZYb1DYok4WZH5VmubD/FlpQlPpblzmRXp0j+Y7rCiWctM6lf+JzPQ+idgII+y5ojeMkjicbam0pgyjgr/mu0DX1Q3HbpNz3ze1O48KOVWralpfB2R1ewS53b4zyLUCMtxn8sIKUeMQZ0vzgX8Bxqt7/f5izH5x0P+JnW4RtkCLorTLA73QyG0AtzFDLAwzV3oVFyLuq+O1CWAHOKOPRiUcwrRxnIcfgXA9hoGdR200ww+NjQsmWliqPU9t6Y7QOy+m1NVl0cqj2HN+wJuSkR0jhZ6e7zBmgmhm3MQ94IISw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(966005)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDFYZk5MQURlbnh3My9xOTlyeForOWZ4c1ZVUEJSTXNCUDEyaEZyVWlPYzNJ?=
 =?utf-8?B?blY1OUtpSmJyc1FrZlZNd0Z0RjN5WkdGNDMyQmRQbGhEcjFBVGtIN3pCMTRi?=
 =?utf-8?B?RlNBZExPK0hKTlMyQWhBSWs3WlZjbWxDMWR5bHZMZzRFV1NJWmFXKzZCUU9h?=
 =?utf-8?B?d21iRlp2TUpBSVRNcXBLeDNqVmZaMWhkUnVlb1NUMzdtZGtnRDdXR0g2TVlG?=
 =?utf-8?B?dTlFUUJjdGljb05RTndWdllPRHluTlRrNHhRcDJHWlZ4cU00UTBCa1k1Ullo?=
 =?utf-8?B?MmpXT0hkN2JSRnNFaE4vb0ZBVkNoYmN6SEttY1I2NUlSUERFa1plc21aL3JZ?=
 =?utf-8?B?cXBJdUh2OUowTXIweFV4c1VEcExSWFF3Z3F0VjJsRzd5YnI5QUZaL1dib1JH?=
 =?utf-8?B?K01yNnUvS0VhSUFXM24wazFwUFBma1c1d1pMblFmK0VuM3ZwNFJtT1c3Z0tl?=
 =?utf-8?B?cUQweU1HYUxDb2ZtU05LclFoVXE2aUtKaTEzR1dISWNCYk1aWlVtSGk2VWZR?=
 =?utf-8?B?OTZueTNVS2s1Rlo3bVV0TUROcEZjZ3NiZW95VCtqc3ZEUjk4SjI2YVk0cTRs?=
 =?utf-8?B?SFYxS3dkOTJVUWF2TUt0RXdqZXlyQUZGK3VLeTRRMXZmbEVQMkd5S2xjaVhk?=
 =?utf-8?B?Wjhkb2ZaTmZjNGtMVU9jTXNKMUFKK2NabVpSSmthRG1Fa1c0RnZ0aTlQNFli?=
 =?utf-8?B?NVB5NlYyOWYvajVpdC9xSjlUUFZiRmhtWmRXQ295NXRKYjJBVXhSMkNHaW5h?=
 =?utf-8?B?SHVSS2FWdFNkS3YxUGgvWU5PejIvTnFvMXlESnFwZ2hjY3pmWlY5N3Q5dWdR?=
 =?utf-8?B?Mm5QSzYreWJkOCtYRGRPeGtYVW8vUVFwSmVxakI4N1pqeVJsYXdCQTI3WVdT?=
 =?utf-8?B?bXNoazFSSGxjcUFBaEhQNE1PSnJhc3MvK0EwZ3VscmczYm5hUnZpQ2x2ZVZJ?=
 =?utf-8?B?SWFRNHRWQ2pIeEdJUWVGMmJyK3MrSkllTWdLN3Y3b0VKc1ZkZGYwc1ZsVC9K?=
 =?utf-8?B?OTZ6aWU0dzQxR2pNMzVlUHdPN0FwQTRQVHc4aUpsWG9BUjF1Q05kQU5sZDcy?=
 =?utf-8?B?M3U0cVdPcFh2T0EyTnFMbzlBYUVBdFAvSjFud1RzazhBK3NXM1JtaVI2VWJU?=
 =?utf-8?B?eUwybW9SVWZuZFZDUktKWWo1R0FBTjdIN3N4M3NOS2tqUFR5azZ5U1dOWGlh?=
 =?utf-8?B?QVdwUnFQaWVhRXFxNE02a1kremgxcFNQLzNNQysxREtWNHAraGtlTFV6Slk0?=
 =?utf-8?B?ZXBuclJQZU13amhnWXNXS21CbURCK2lCcll0MkZ3dzRxQ0w0RFYwd2JNMllV?=
 =?utf-8?B?T1RPc2ErZzRiNmNzd3djVWVaemtVNXd2Y1ZaVEpIMjNMcXpnUWNLQkk1S3JW?=
 =?utf-8?B?d0Zwa0gwUzdhemFxUjBHQnZCNndBWVA0WlZTYVg2YnJ5SUZhSjhscXZsWnJQ?=
 =?utf-8?B?V3RSUHFSOEdKOW9Rc0F2K2V2Y2JVVTArbXdFMURTSzNoNEt3SkRydGpPTGIw?=
 =?utf-8?B?ZHY4THdXSE56emdFQTErZUpvdXhXNERuMHo2WjhkV0dWOXB5V0ZGTDZPNHAx?=
 =?utf-8?B?ZTAxMTluTDgyQnBZWWdRWUJUZEpPanF5NDN0VnY1d01rRHVFcSs0SkpDSFhN?=
 =?utf-8?B?Rk42RENpZUJjMWFsd1dTVTNYMUR1c3hnVUxLN2dVUmlDOEk2YVRDNzY0RlZx?=
 =?utf-8?B?aDEyOEUzMlZlVUNTUUlZK1JZTmt1NXRjVktyL2VndGo0aW82Z3ZKd3pPQ3dS?=
 =?utf-8?B?WGRBTysyazZPRk9WZmgzUDRoYWJ2ZEF5R1oyaDBxMVc5UzNrd2k3UVhPR2ty?=
 =?utf-8?B?OU56cmRFMjY4K0s3WXg2ays2UVFwaVBTS3FEUGdoZjhYMXA0S0JUZ3BwbExC?=
 =?utf-8?B?Vis3T1lGTXdvemxiZEVRdytWVm1ocXpoenJndm9XdzdiZmdXRkhIWkx3bGtv?=
 =?utf-8?B?MitNT3B0NHhZaWtTMGMwQTRzSGtjdVozblVYU3FXVGtibWMzWUdsWndiczdj?=
 =?utf-8?B?c2kvdXFONEUzMkg5bFlqK3Z2dGJVUUJjSWFMa2cvVnRJdU1RTmJ6S0lxVTNI?=
 =?utf-8?B?Y0xSekZrdFBlM09lUTdiZktMNWZZN0pJVGN0ZkFKRXk1V01BWnBoazBBTXhj?=
 =?utf-8?Q?SRPElD4ZypTEuClsxqMXBJXoN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 383e3393-971a-43bb-ed4b-08db94b3b62f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:26:18.0939
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JoHYrPZKr9sQW8achC1A8vhLJAM36g92Uej6kWeOlvLlR/OdBzFP1iw7Z5QhH+3KEkM+wzeKAB3X8cqOmlZBAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Recent gas versions generate minimalistic Dwarf debug info for items
annotated as functions and having their sizes specified [1]. Furthermore
generating live patches wants items properly annotated. "Borrow" Arm's
END() and (remotely) derive other annotation infrastructure from
Linux'es, for all architectures to use.

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

[1] https://sourceware.org/git?p=binutils-gdb.git;a=commitdiff;h=591cc9fbbfd6d51131c0f1d4a92e7893edcc7a28
---
v3: New, generalized from earlier x86-only version. LAST() (now
    LASTARG()) moved to macros.h.
---
TBD: What to set CODE_ALIGN to by default? Or should we requires arch-es
     to define that in all cases?

TBD: {CODE,DATA}_ALIGN are byte granular, such that a value of 0 can be
     specified (in case this has some special meaning on an arch;
     conceivably it could mean to use some kind of arch default). We may
     not strictly need that, and hence we could also make these power-of
     -2 values (using .p2align).

Note that we can't use ALIGN() (in place of SYM_ALIGN()) as long as we
still have ALIGN.

Note further that FUNC()'s etc "algn" parameter is intended to allow for
only no or a single argument. If we wanted to also make the fill value
customizable per call site, the constructs would need re-doing to some
degree.

--- /dev/null
+++ b/xen/include/xen/linkage.h
@@ -0,0 +1,56 @@
+#ifndef __LINKAGE_H__
+#define __LINKAGE_H__
+
+#ifdef __ASSEMBLY__
+
+#include <xen/macros.h>
+
+#ifndef CODE_ALIGN
+# define CODE_ALIGN ??
+#endif
+#ifndef CODE_FILL
+# define CODE_FILL ~0
+#endif
+
+#ifndef DATA_ALIGN
+# define DATA_ALIGN 0
+#endif
+#ifndef DATA_FILL
+# define DATA_FILL ~0
+#endif
+
+#define SYM_ALIGN(algn...) .balign algn
+
+#define SYM_L_GLOBAL(name) .globl name
+#define SYM_L_WEAK(name)   .weak name
+#define SYM_L_LOCAL(name)  /* nothing */
+
+#define SYM_T_FUNC         STT_FUNC
+#define SYM_T_DATA         STT_OBJECT
+#define SYM_T_NONE         STT_NOTYPE
+
+#define SYM(name, typ, linkage, algn...)          \
+        .type name, SYM_T_ ## typ;                \
+        SYM_L_ ## linkage(name);                  \
+        SYM_ALIGN(algn);                          \
+        name:
+
+#define END(name) .size name, . - name
+
+#define FUNC(name, algn...) \
+        SYM(name, FUNC, GLOBAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+#define LABEL(name, algn...) \
+        SYM(name, NONE, GLOBAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+#define DATA(name, algn...) \
+        SYM(name, DATA, GLOBAL, LASTARG(DATA_ALIGN, ## algn), DATA_FILL)
+
+#define FUNC_LOCAL(name, algn...) \
+        SYM(name, FUNC, LOCAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+#define LABEL_LOCAL(name, algn...) \
+        SYM(name, NONE, LOCAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+#define DATA_LOCAL(name, algn...) \
+        SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## algn), DATA_FILL)
+
+#endif /*  __ASSEMBLY__ */
+
+#endif /* __LINKAGE_H__ */
--- a/xen/include/xen/macros.h
+++ b/xen/include/xen/macros.h
@@ -15,6 +15,15 @@
 #define count_args(args...) \
     count_args_(., ## args, 8, 7, 6, 5, 4, 3, 2, 1, 0)
 
+#define ARG1_(x, y...) (x)
+#define ARG2_(x, y...) ARG1_(y)
+#define ARG3_(x, y...) ARG2_(y)
+#define ARG4_(x, y...) ARG3_(y)
+
+#define ARG__(nr) ARG ## nr ## _
+#define ARG_(nr)  ARG__(nr)
+#define LASTARG(x, y...) ARG_(count_args(x, ## y))(x, ## y)
+
 /* Indirect macros required for expanded argument pasting. */
 #define PASTE_(a, b) a ## b
 #define PASTE(a, b) PASTE_(a, b)



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:27:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:27:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576864.903489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoH8-0001po-5M; Fri, 04 Aug 2023 06:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576864.903489; Fri, 04 Aug 2023 06: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 1qRoH8-0001ph-1F; Fri, 04 Aug 2023 06:27:02 +0000
Received: by outflank-mailman (input) for mailman id 576864;
 Fri, 04 Aug 2023 06:27: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoH6-0001p1-Cr
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:27:00 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea94aab1-328f-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:26:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:26:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:26:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea94aab1-328f-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mkUsSQcGqfGM5ImwGHBLBeaFem9Blj4+3KnJwikvmv9DFAorPeQVi+qZhpCkUEgLVjy4QlaiKihI8JardikT6FJHOTc8fe1Vto9VZOPFYuV9eG927+upS1zvJgwiZB6tqUlP69KOWJmAbHaPSVS2C9+MxZw0H/73r0kxmhvo+ois22/sFDQ9XeJwbSCyYKto0+7zOBaYrFFje/cn5N5ZufU5zhdLUmWzme/9kPhZahVE+1gEwYJoxekeT57DcRNf7USMq4fEPPVmICFh0d1zoo2ZZUotxqLC/mN3ejyY7YLFc+gbp2vN34WLPWlFJKd1dUfmcX6mZ3eBPnM+MT7xuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PoORKJUraSg+XV776ewByjof6hXH/BigXRIqZQuk5oA=;
 b=MvKG7HwTJnlX0gwUEXMsw5OmylQO6oGaPd3OMIh/alOT6yaqiaFGppCkMrZ/9A0R173sVvGEtw9qGWSUewIoTGkL3pBZG7nqpgcXzl9FnoSvcFTEL5o/Rb8GQH2POTKgdnHbSJdtf3kzoANVnvfrigOoV23NzlEsNHmX59/UGWEd98EpygmyAL6cWR0ilT7/qMDbohvgmEwm1kjUqjrygJSYPhCcV4ehvFG1Nja3oXPwmHetJykLt7ZKfepcllH3mCJc/cALwlttY6mL5KACpVqZPHG1QOGyh0wmLuJOuQMBUNTF+yCGmhFNFE1RIm2eAFsyPiX4XKeLBpfEH016Tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PoORKJUraSg+XV776ewByjof6hXH/BigXRIqZQuk5oA=;
 b=Qoir3ou1Vmj566cXB7U7EZ+EbkW8tCQcM7OteMWQojI4/G0F3gzBIU9qb21SO8DM5bM7CyQhTrRbNdMez2T9pCIUdCXTaCes2MH/Lcco6A8C/Jo8uPd1F7WkiaFo5YRbeSK5wDkTxJLrMXI9IWdWMe8y/M+YxCU5FmY8f6rgNUjRlvG8rFXtKl4izoPyGGf4WW0dN//UEzR5ihFi/nCOWLktzvt8dXfTv8wHdm00ua4YPoIMPaVwnHbyI5XwOYK6UmAttswtfVYH7/nRJZli9d54S93f1KfjhGVrPmYrUUachvgt+XBqC8BUSP0bBWHzf+KDJI4fT/ueq/h+0Mt53w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41f9f8e9-8eff-5e83-8730-1b7b7854336d@suse.com>
Date: Fri, 4 Aug 2023 08:26:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 2/8] x86: annotate entry points with type and size
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a473e54-1e6c-4192-e1a0-08db94b3cdf0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	78J1Pok1vRUT0bZCDkJluMssb8/BYm7aLj/84RvrdhEqyis4aE31uPDLp2SZ93n8zhX/8m4xbjXEG/Hlgb+JGmu2QEXJwRSYIeymdiRlXFzt2hQiqO6i/+twtLF/2KclCjDZLcfEyTcElB4YA6FCVExUU2jjaowRu9W/hUyN946vzz2VnXA6tV8pHPe1XnVxZKveS4WQ69mrYetUgRxuMKck5AQB1IY/H/4iL7MqQFKpZH7DCbpg4ahiQwG5r2ibIjKtGJ/tMIPK32Llcaxa7V9oJ30O3v0D2oMuGyxoSYIYXtzRBjPHy9zN4m9mcDZv1wfoAaOnI+vrTg45cg+8r5Jak0vUnx1VY9lAjU/Af0H7GW1TD357+sHGpS1G5x/lAVwMBYRnlOSSVrLVO1WArzBISbB6q48YCfrfiExRsKvkWeDyjJRmh/5ldcWJR5PUDBwPFMCkXZdzEhHDC+aoEzdaMYjwedy0t69wANY6cNO0bC7mOeRH8og5O55qy63o9kuFHWqovXFkuqxiGxy5LoUMiP1inCz0P2Ve+iE3gSOLzmB5G1ZABjY02uNr306/5HPNQrwg/xZVLGJFTj5Gm8Wt8RdsitPYwZgRHBo08kH1oRIvXiX89F9RXQFPuGuOVSvdI99stguCqfu+l9grhg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(30864003)(2906002)(86362001)(36756003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NllRZWhTTXlDWDhiNGpkZUJ3a053dmpyRkE2Wkh0cUMwMUp2YnJTWnpxWC8z?=
 =?utf-8?B?UDNzQ0o1ay9iUDBENXV6WmVKZjBNYWwwMm9YQjhhOUsyZEkrZkFBWTNoWjRP?=
 =?utf-8?B?eHhYaG1mRXQrT3hQK1FFT09JbEgwVjdsVUxraWlOQW5pZjl3ZDBJVVJhUE5P?=
 =?utf-8?B?SGJwZEhUSmwrTGF0dXlBcUtyL2RCNmM1RmhvOG9icWpFUXhaTWV0WVRGSHph?=
 =?utf-8?B?dmVWZ1NOQ3BtalJEaWxOcWFPd3dGNEphQ0Rwck0xdVlRS3pucE1KaWxMdkhW?=
 =?utf-8?B?ZTRrTEZvdE5DaWxZVVdNaW9HVEFsdmtnRlpZYTBFK2FqYkMxd2M4K00rYmJi?=
 =?utf-8?B?RnFoemxyMTBuekc1Q2xjZmJWbXQ3QWZxNG5vMDkybmNQT0l6TWdabHdsVDNF?=
 =?utf-8?B?N1dMNndRRUx6M1RaQVpTZVFaTy9ybWlVWEdZQmI1cXRyOU8vTTBNc3dPL3U3?=
 =?utf-8?B?NCtTQURqbi82am9UU3VTRndrSTFjUmxzWXJWeDZxRHlHOGludUpVZXNrcHJ2?=
 =?utf-8?B?ZW5iem5YUUhVa1F3ZU1hemE3eXNmekJOMXdISmpDTDZTSkU5TS9wVXlRaWht?=
 =?utf-8?B?ZEdMZXZGMzFrelE4ME95bGEyd1F0NnRIcVRiM2JxWVNFUXlaV2ltRTlickEx?=
 =?utf-8?B?OXZoTGpOSG81TTlxaUVibDU5czFzV2Z5d2lLc3R2S3JhaWZCbk1HL0ZCTkUx?=
 =?utf-8?B?bTI4WW1RcHpGLy9zWXNya1U3aG83YkVSS1BaVkNGVU0zbCtUNnoyZXhxTG44?=
 =?utf-8?B?RVE2YWxsVyttY2hFb0FQeEo2azZ2U1hQT0Zwb3FKcVpEYmNKWUJVQXBZVlU2?=
 =?utf-8?B?bzU2SEJVeXM5akd6UVBxYURLOTFmSW5FaGRKTnRGNDNNdU1JS2dTSXd1ZWw4?=
 =?utf-8?B?dDd1VEtMVlRTTFJYS1o4R0xVMVByaDBnMFZHN2RaNmhqVHVuM25vOVpCcHFm?=
 =?utf-8?B?YTJBS3dtaHh1bEl0MERkQitBaXdIaU9oZU9QZFd3VElJUjBaNms4TlhrU2hN?=
 =?utf-8?B?L1M2YTBXeHpaWm81VjBuMjBNa0RwRjZSQ2srUEt3ZUN4UkVDczNMRHMybTcv?=
 =?utf-8?B?L3NlUXdneUVCcEhnQlZZMGFoUmpEeStkbUJGVmxvbmNrandiM0dtb1VDRzlw?=
 =?utf-8?B?OHhZbllHM0ZhVWxNd3VodDdqWmJ6VE1BbUxWeWxvWDVmRFRoYkk3bEd1SXZY?=
 =?utf-8?B?YWE4S004YzNKY1B3YVdDbWVlSzg2VjA0elYrOVBzS2w0a3NKSDJKaWtOZ2g2?=
 =?utf-8?B?bEZ5djhEWlNPdmJ0N2I3MTZJVFFFRXZSUnRpZFdQYi9zODV0QzdBdFBnNnl6?=
 =?utf-8?B?anZLdlhYK3FhcFNaU21WcWNIUHRKdjI5Y1ZjbHZKd3plMXV2TSt0SThzWWN3?=
 =?utf-8?B?OWJXKzRqUWNkazdtZE9IQkc1UnUwOXJyM2pWKzN6WGN0OUN5V2ljNGNLanox?=
 =?utf-8?B?b28vS21IcFF0WGdsYytEVTQrdmdVMzhMd3gxc3lvN2NkQzJrODMvQ0g3QlVP?=
 =?utf-8?B?My9JeEVjK2FqcnZsdmEzWTNXZGhOVmlCeXNtM2FFeXp4TmhhdW80OUZtbnR6?=
 =?utf-8?B?T25HbXhlajFiUUtFVERBNDI5dGdRdkdZZUtWcVlTNHpkUEkzdFMxTFR6UUlQ?=
 =?utf-8?B?Y3g5UXR3MytZWXkrTFQwL3RWZndxMkphMkErbDlKSmVXL3RQbUtldi83S3g0?=
 =?utf-8?B?STR1OHlSMWNUS0xkdE4xQmg0anlIWmtqYm1CN05EVmtla3ViYkJrRTlBMXdN?=
 =?utf-8?B?bkRGZlVweDQ5bk5GTTQ2MS84aklUZTh1bDRpcm41eWFGY2FXM1pJSVJDZWxq?=
 =?utf-8?B?WGFtQTdQOW1FVHpKWk1saXRzUktDNW00Vjk1QU9yZlduS0R4ZCt2RGxtNllH?=
 =?utf-8?B?dUpEdXVDUk0zcGlaUGl1bjRqYWQzcWM1TWxyVEdoa2N0SFZvSnFvZ0VMNnpp?=
 =?utf-8?B?Wng0WFErTHJRQU4zQlQ1ME9Kc2Z6Zlo3S0VrY1VzZEVoR0ZiVkl1SVFTRTZF?=
 =?utf-8?B?bVdnMzhWeE5Na1A3a3dSQzVscmpMQXQ2M1E5N2JqNkxHajNnMklJZnlLWjEx?=
 =?utf-8?B?NURTZWxkcVlqL0ZVK3g3dG5lSS94SGVHRENWaU1iemtFVkRpUFJCK3NmWkx5?=
 =?utf-8?Q?Nc+UR6OCUWAG43yZbODaC0X9N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a473e54-1e6c-4192-e1a0-08db94b3cdf0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:26:57.9302
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9izG5Q4PInDjAPyZ0+MCUnPPdsZ27WEC2Kiffup4dqv9ow1mslKszH6snaiAqwVAkeTy9LMa7QfX1W7CCnIqcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Use the generic framework in xen/linkage.h.

For switch_to_kernel() and restore_all_guest() so far implicit alignment
(from being first in their respective sections) is being made explicit
(as in: using FUNC() without 2nd argument). Whereas for
{,compat}create_bounce_frame() and autogen_entrypoints[] alignment is
newly arranged for.

Except for the added/adjusted alignment padding (including their
knock-on effects) no change in generated code/data. Note that the basis
for support of weak definitions is added despite them not having any use
right now.

Note that ASM_INT() is switched to DATA(), not DATA_LOCAL(), as the only
use site wants the symbol global anyway.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v4: Correct simd_coprocessor_error's (now entry_XM) END(). Re-base.
v3: !PV variant of ret_from_intr is local. Introduction of macros split
    off to separate patch. Also adjust ASM_INT(). Re-base.
v2: Full rework.
---
Only two of the assembly files are being converted for now. More could
be done right here or as follow-on in separate patches.

Note that the FB-label in autogen_stubs() cannot be converted just yet:
Such labels cannot be used with .type. We could further diverge from
Linux'es model and avoid setting STT_NOTYPE explicitly (that's the type
labels get by default anyway).

The ASM_INT() redundancy of .global will be eliminated by a subsequent
patch.

I didn't think that I should make CODE_FILL evaluate to 0xCC right here;
IMO that wants to be a separate patch.

--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -13,6 +13,7 @@
 #include <asm/alternative.h>
 
 #ifdef __ASSEMBLY__
+#include <xen/linkage.h>
 #include <asm/asm-defns.h>
 #ifndef CONFIG_INDIRECT_THUNK
 .equ CONFIG_INDIRECT_THUNK, 0
@@ -343,10 +344,7 @@ static always_inline void stac(void)
     .popsection
 
 #define ASM_INT(label, val)                 \
-    .p2align 2;                             \
-label: .long (val);                         \
-    .size label, . - label;                 \
-    .type label, @object
+    DATA(label, 4) .long (val); END(label)
 
 #define ASM_CONSTANT(name, value)                \
     asm ( ".equ " #name ", %P0; .global " #name  \
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -43,7 +43,9 @@
 
 /* Linkage for x86 */
 #ifdef __ASSEMBLY__
-#define ALIGN .align 16,0x90
+#define CODE_ALIGN 16
+#define CODE_FILL 0x90
+#define ALIGN .align CODE_ALIGN, CODE_FILL
 #define ENTRY(name)                             \
   .globl name;                                  \
   ALIGN;                                        \
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -11,7 +11,7 @@
 #include <public/xen.h>
 #include <irq_vectors.h>
 
-ENTRY(entry_int82)
+FUNC(entry_int82)
         ENDBR64
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $0
@@ -27,9 +27,10 @@ ENTRY(entry_int82)
 
         mov   %rsp, %rdi
         call  do_entry_int82
+END(entry_int82)
 
 /* %rbx: struct vcpu */
-ENTRY(compat_test_all_events)
+FUNC(compat_test_all_events)
         ASSERT_NOT_IN_ATOMIC
         cli                             # tests must not race interrupts
 /*compat_test_softirqs:*/
@@ -66,24 +67,21 @@ compat_test_guest_events:
         call  compat_create_bounce_frame
         jmp   compat_test_all_events
 
-        ALIGN
 /* %rbx: struct vcpu */
-compat_process_softirqs:
+LABEL_LOCAL(compat_process_softirqs)
         sti
         call  do_softirq
         jmp   compat_test_all_events
 
-        ALIGN
 /* %rbx: struct vcpu, %rdx: struct trap_bounce */
-.Lcompat_process_trapbounce:
+LABEL_LOCAL(.Lcompat_process_trapbounce)
         sti
 .Lcompat_bounce_exception:
         call  compat_create_bounce_frame
         jmp   compat_test_all_events
 
-	ALIGN
 /* %rbx: struct vcpu */
-compat_process_mce:
+LABEL_LOCAL(compat_process_mce)
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
         jnz   .Lcompat_test_guest_nmi
         sti
@@ -97,9 +95,8 @@ compat_process_mce:
         movb %dl,VCPU_async_exception_mask(%rbx)
         jmp   compat_process_trap
 
-	ALIGN
 /* %rbx: struct vcpu */
-compat_process_nmi:
+LABEL_LOCAL(compat_process_nmi)
         testb $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%rbx)
         jnz   compat_test_guest_events
         sti
@@ -116,9 +113,10 @@ compat_process_trap:
         leaq  VCPU_trap_bounce(%rbx),%rdx
         call  compat_create_bounce_frame
         jmp   compat_test_all_events
+END(compat_test_all_events)
 
 /* %rbx: struct vcpu, interrupts disabled */
-ENTRY(compat_restore_all_guest)
+FUNC(compat_restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
         mov   $~(X86_EFLAGS_IOPL | X86_EFLAGS_VM), %r11d
         and   UREGS_eflags(%rsp),%r11d
@@ -161,9 +159,10 @@ ENTRY(compat_restore_all_guest)
         RESTORE_ALL adj=8 compat=1
 .Lft0:  iretq
         _ASM_PRE_EXTABLE(.Lft0, handle_exception)
+END(compat_restore_all_guest)
 
 /* This mustn't modify registers other than %rax. */
-ENTRY(cr4_pv32_restore)
+FUNC(cr4_pv32_restore)
         push  %rdx
         GET_CPUINFO_FIELD(cr4, dx)
         mov   (%rdx), %rax
@@ -193,8 +192,9 @@ ENTRY(cr4_pv32_restore)
         pop   %rdx
         xor   %eax, %eax
         ret
+END(cr4_pv32_restore)
 
-ENTRY(compat_syscall)
+FUNC(compat_syscall)
         /* Fix up reported %cs/%ss for compat domains. */
         movl  $FLAT_COMPAT_USER_SS, UREGS_ss(%rsp)
         movl  $FLAT_COMPAT_USER_CS, UREGS_cs(%rsp)
@@ -222,8 +222,9 @@ UNLIKELY_END(compat_syscall_gpf)
         movw  %si,TRAPBOUNCE_cs(%rdx)
         movb  %cl,TRAPBOUNCE_flags(%rdx)
         jmp   .Lcompat_bounce_exception
+END(compat_syscall)
 
-ENTRY(compat_sysenter)
+FUNC(compat_sysenter)
         CR4_PV32_RESTORE
         movq  VCPU_trap_ctxt(%rbx),%rcx
         cmpb  $X86_EXC_GP, UREGS_entry_vector(%rsp)
@@ -236,17 +237,19 @@ ENTRY(compat_sysenter)
         movw  %ax,TRAPBOUNCE_cs(%rdx)
         call  compat_create_bounce_frame
         jmp   compat_test_all_events
+END(compat_sysenter)
 
-ENTRY(compat_int80_direct_trap)
+FUNC(compat_int80_direct_trap)
         CR4_PV32_RESTORE
         call  compat_create_bounce_frame
         jmp   compat_test_all_events
+END(compat_int80_direct_trap)
 
 /* CREATE A BASIC EXCEPTION FRAME ON GUEST OS (RING-1) STACK:            */
 /*   {[ERRCODE,] EIP, CS, EFLAGS, [ESP, SS]}                             */
 /* %rdx: trap_bounce, %rbx: struct vcpu                                  */
 /* On return only %rbx and %rdx are guaranteed non-clobbered.            */
-compat_create_bounce_frame:
+FUNC_LOCAL(compat_create_bounce_frame)
         ASSERT_INTERRUPTS_ENABLED
         mov   %fs,%edi
         ALTERNATIVE "", stac, X86_FEATURE_XEN_SMAP
@@ -352,3 +355,4 @@ compat_crash_page_fault:
         jmp   .Lft14
 .previous
         _ASM_EXTABLE(.Lft14, .Lfx14)
+END(compat_create_bounce_frame)
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -24,7 +24,7 @@
 
 #ifdef CONFIG_PV
 /* %rbx: struct vcpu */
-switch_to_kernel:
+FUNC_LOCAL(switch_to_kernel)
         leaq  VCPU_trap_bounce(%rbx),%rdx
 
         /* TB_eip = 32-bit syscall ? syscall32_addr : syscall_addr */
@@ -89,24 +89,21 @@ test_guest_events:
         call  create_bounce_frame
         jmp   test_all_events
 
-        ALIGN
 /* %rbx: struct vcpu */
-process_softirqs:
+LABEL_LOCAL(process_softirqs)
         sti
         call do_softirq
         jmp  test_all_events
 
-        ALIGN
 /* %rbx: struct vcpu, %rdx struct trap_bounce */
-.Lprocess_trapbounce:
+LABEL_LOCAL(.Lprocess_trapbounce)
         sti
 .Lbounce_exception:
         call  create_bounce_frame
         jmp   test_all_events
 
-        ALIGN
 /* %rbx: struct vcpu */
-process_mce:
+LABEL_LOCAL(process_mce)
         testb $1 << VCPU_TRAP_MCE, VCPU_async_exception_mask(%rbx)
         jnz  .Ltest_guest_nmi
         sti
@@ -120,9 +117,8 @@ process_mce:
         movb %dl, VCPU_async_exception_mask(%rbx)
         jmp  process_trap
 
-        ALIGN
 /* %rbx: struct vcpu */
-process_nmi:
+LABEL_LOCAL(process_nmi)
         testb $1 << VCPU_TRAP_NMI, VCPU_async_exception_mask(%rbx)
         jnz  test_guest_events
         sti
@@ -139,11 +135,12 @@ process_trap:
         leaq VCPU_trap_bounce(%rbx), %rdx
         call create_bounce_frame
         jmp  test_all_events
+END(switch_to_kernel)
 
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
-restore_all_guest:
+FUNC_LOCAL(restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
 
         /* Stash guest SPEC_CTRL value while we can read struct vcpu. */
@@ -220,8 +217,7 @@ restore_all_guest:
         sysretq
 1:      sysretl
 
-        ALIGN
-.Lrestore_rcx_iret_exit_to_guest:
+LABEL_LOCAL(.Lrestore_rcx_iret_exit_to_guest)
         movq  8(%rsp), %rcx           # RIP
 /* No special register assumptions. */
 iret_exit_to_guest:
@@ -230,6 +226,7 @@ iret_exit_to_guest:
         addq  $8,%rsp
 .Lft0:  iretq
         _ASM_PRE_EXTABLE(.Lft0, handle_exception)
+END(restore_all_guest)
 
 /*
  * When entering SYSCALL from kernel mode:
@@ -246,7 +243,7 @@ iret_exit_to_guest:
  *  - Guest %rsp stored in %rax
  *  - Xen stack loaded, pointing at the %ss slot
  */
-ENTRY(lstar_enter)
+FUNC(lstar_enter)
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
 #endif
@@ -281,9 +278,10 @@ ENTRY(lstar_enter)
         mov   %rsp, %rdi
         call  pv_hypercall
         jmp   test_all_events
+END(lstar_enter)
 
 /* See lstar_enter for entry register state. */
-ENTRY(cstar_enter)
+FUNC(cstar_enter)
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
 #endif
@@ -321,8 +319,9 @@ ENTRY(cstar_enter)
         jne   compat_syscall
 #endif
         jmp   switch_to_kernel
+END(cstar_enter)
 
-ENTRY(sysenter_entry)
+FUNC(sysenter_entry)
         ENDBR64
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
@@ -331,7 +330,7 @@ ENTRY(sysenter_entry)
         pushq $FLAT_USER_SS
         pushq $0
         pushfq
-GLOBAL(sysenter_eflags_saved)
+LABEL(sysenter_eflags_saved, 0)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $3 /* ring 3 null cs */
         pushq $0 /* null rip */
@@ -385,8 +384,9 @@ UNLIKELY_END(sysenter_gpf)
         jne   compat_sysenter
 #endif
         jmp   .Lbounce_exception
+END(sysenter_entry)
 
-ENTRY(int80_direct_trap)
+FUNC(int80_direct_trap)
         ENDBR64
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $0
@@ -474,6 +474,7 @@ int80_slow_path:
          */
         GET_STACK_END(14)
         jmp   handle_exception_saved
+END(int80_direct_trap)
 
         /* create_bounce_frame & helpers don't need to be in .text.entry */
         .text
@@ -482,7 +483,7 @@ int80_slow_path:
 /*   { RCX, R11, [ERRCODE,] RIP, CS, RFLAGS, RSP, SS }                   */
 /* %rdx: trap_bounce, %rbx: struct vcpu                                  */
 /* On return only %rbx and %rdx are guaranteed non-clobbered.            */
-create_bounce_frame:
+FUNC_LOCAL(create_bounce_frame)
         ASSERT_INTERRUPTS_ENABLED
         testb $TF_kernel_mode,VCPU_thread_flags(%rbx)
         jnz   1f
@@ -618,6 +619,7 @@ ENTRY(dom_crash_sync_extable)
         xorl  %edi,%edi
         jmp   asm_domain_crash_synchronous /* Does not return */
         .popsection
+END(create_bounce_frame)
 #endif /* CONFIG_PV */
 
 /* --- CODE BELOW THIS LINE (MOSTLY) NOT GUEST RELATED --- */
@@ -626,7 +628,7 @@ ENTRY(dom_crash_sync_extable)
 
 /* No special register assumptions. */
 #ifdef CONFIG_PV
-ENTRY(continue_pv_domain)
+FUNC(continue_pv_domain)
         ENDBR64
         call  check_wakeup_from_wait
 ret_from_intr:
@@ -641,26 +643,28 @@ ret_from_intr:
 #else
         jmp   test_all_events
 #endif
+END(continue_pv_domain)
 #else
-ret_from_intr:
+FUNC_LOCAL(ret_from_intr, 0)
         ASSERT_CONTEXT_IS_XEN
         jmp   restore_all_xen
+END(ret_from_intr)
 #endif
 
         .section .init.text, "ax", @progbits
-ENTRY(early_page_fault)
+FUNC(early_page_fault)
         ENDBR64
         movl  $X86_EXC_PF, 4(%rsp)
         SAVE_ALL
         movq  %rsp, %rdi
         call  do_early_page_fault
         jmp   restore_all_xen
+END(early_page_fault)
 
         .section .text.entry, "ax", @progbits
 
-        ALIGN
 /* No special register assumptions. */
-restore_all_xen:
+FUNC_LOCAL(restore_all_xen)
         /*
          * Check whether we need to switch to the per-CPU page tables, in
          * case we return to late PV exit code (from an NMI or #MC).
@@ -677,8 +681,9 @@ UNLIKELY_END(exit_cr3)
 
         RESTORE_ALL adj=8
         iretq
+END(restore_all_xen)
 
-ENTRY(common_interrupt)
+FUNC(common_interrupt)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
 
@@ -707,12 +712,14 @@ ENTRY(common_interrupt)
         mov   %r15, STACK_CPUINFO_FIELD(xen_cr3)(%r14)
         mov   %bl, STACK_CPUINFO_FIELD(use_pv_cr3)(%r14)
         jmp ret_from_intr
+END(common_interrupt)
 
-ENTRY(entry_PF)
+FUNC(entry_PF)
         ENDBR64
         movl  $X86_EXC_PF, 4(%rsp)
+END(entry_PF)
 /* No special register assumptions. */
-GLOBAL(handle_exception)
+FUNC(handle_exception, 0)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
 
@@ -880,92 +887,108 @@ FATAL_exception_with_ints_disabled:
         xorl  %esi,%esi
         movq  %rsp,%rdi
         tailcall fatal_trap
+END(handle_exception)
 
-ENTRY(entry_DE)
+FUNC(entry_DE)
         ENDBR64
         pushq $0
         movl  $X86_EXC_DE, 4(%rsp)
         jmp   handle_exception
+END(entry_DE)
 
-ENTRY(entry_MF)
+FUNC(entry_MF)
         ENDBR64
         pushq $0
         movl  $X86_EXC_MF, 4(%rsp)
         jmp   handle_exception
+END(entry_MF)
 
-ENTRY(entry_XM)
+FUNC(entry_XM)
         ENDBR64
         pushq $0
         movl  $X86_EXC_XM, 4(%rsp)
         jmp   handle_exception
+END(entry_XM)
 
-ENTRY(entry_NM)
+FUNC(entry_NM)
         ENDBR64
         pushq $0
         movl  $X86_EXC_NM, 4(%rsp)
         jmp   handle_exception
+END(entry_NM)
 
-ENTRY(entry_DB)
+FUNC(entry_DB)
         ENDBR64
         pushq $0
         movl  $X86_EXC_DB, 4(%rsp)
         jmp   handle_ist_exception
+END(entry_DB)
 
-ENTRY(entry_BP)
+FUNC(entry_BP)
         ENDBR64
         pushq $0
         movl  $X86_EXC_BP, 4(%rsp)
         jmp   handle_exception
+END(entry_BP)
 
-ENTRY(entry_OF)
+FUNC(entry_OF)
         ENDBR64
         pushq $0
         movl  $X86_EXC_OF, 4(%rsp)
         jmp   handle_exception
+END(entry_OF)
 
-ENTRY(entry_BR)
+FUNC(entry_BR)
         ENDBR64
         pushq $0
         movl  $X86_EXC_BR, 4(%rsp)
         jmp   handle_exception
+END(entry_BR)
 
-ENTRY(entry_UD)
+FUNC(entry_UD)
         ENDBR64
         pushq $0
         movl  $X86_EXC_UD, 4(%rsp)
         jmp   handle_exception
+END(entry_UD)
 
-ENTRY(entry_TS)
+FUNC(entry_TS)
         ENDBR64
         movl  $X86_EXC_TS, 4(%rsp)
         jmp   handle_exception
+END(entry_TS)
 
-ENTRY(entry_NP)
+FUNC(entry_NP)
         ENDBR64
         movl  $X86_EXC_NP, 4(%rsp)
         jmp   handle_exception
+END(entry_NP)
 
-ENTRY(entry_SS)
+FUNC(entry_SS)
         ENDBR64
         movl  $X86_EXC_SS, 4(%rsp)
         jmp   handle_exception
+END(entry_SS)
 
-ENTRY(entry_GP)
+FUNC(entry_GP)
         ENDBR64
         movl  $X86_EXC_GP, 4(%rsp)
         jmp   handle_exception
+END(entry_GP)
 
-ENTRY(entry_AC)
+FUNC(entry_AC)
         ENDBR64
         movl  $X86_EXC_AC, 4(%rsp)
         jmp   handle_exception
+END(entry_AC)
 
-ENTRY(entry_CP)
+FUNC(entry_CP)
         ENDBR64
         movl  $X86_EXC_CP, 4(%rsp)
         jmp   handle_exception
+END(entry_CP)
 
-ENTRY(entry_DF)
+FUNC(entry_DF)
         ENDBR64
         movl  $X86_EXC_DF, 4(%rsp)
         /* Set AC to reduce chance of further SMAP faults */
@@ -988,8 +1011,9 @@ ENTRY(entry_DF)
 
         movq  %rsp,%rdi
         tailcall do_double_fault
+END(entry_DF)
 
-ENTRY(entry_NMI)
+FUNC(entry_NMI)
         ENDBR64
         pushq $0
         movl  $X86_EXC_NMI, 4(%rsp)
@@ -1116,21 +1140,24 @@ handle_ist_exception:
         ASSERT_CONTEXT_IS_XEN
         jmp   restore_all_xen
 #endif
+END(entry_NMI)
 
-ENTRY(entry_MC)
+FUNC(entry_MC)
         ENDBR64
         pushq $0
         movl  $X86_EXC_MC, 4(%rsp)
         jmp   handle_ist_exception
+END(entry_MC)
 
 /* No op trap handler.  Required for kexec crash path. */
-GLOBAL(trap_nop)
+FUNC(trap_nop, 0)
         ENDBR64
         iretq
+END(trap_nop)
 
 /* Table of automatically generated entry points.  One per vector. */
         .pushsection .init.rodata, "a", @progbits
-GLOBAL(autogen_entrypoints)
+DATA(autogen_entrypoints, 8)
         /* pop into the .init.rodata section and record an entry point. */
         .macro entrypoint ent
         .pushsection .init.rodata, "a", @progbits
@@ -1139,7 +1166,7 @@ GLOBAL(autogen_entrypoints)
         .endm
 
         .popsection
-autogen_stubs: /* Automatically generated stubs. */
+FUNC_LOCAL(autogen_stubs, 0) /* Automatically generated stubs. */
 
         vec = 0
         .rept X86_NR_VECTORS
@@ -1183,6 +1210,7 @@ autogen_stubs: /* Automatically generate
 
         vec = vec + 1
         .endr
+END(autogen_stubs)
 
         .section .init.rodata, "a", @progbits
-        .size autogen_entrypoints, . - autogen_entrypoints
+END(autogen_entrypoints)



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:28:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:28:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576867.903498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoI8-0002Rk-E7; Fri, 04 Aug 2023 06:28:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576867.903498; Fri, 04 Aug 2023 06: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 1qRoI8-0002Rb-BV; Fri, 04 Aug 2023 06:28:04 +0000
Received: by outflank-mailman (input) for mailman id 576867;
 Fri, 04 Aug 2023 06:28:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoI7-0002N8-3y
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:28:03 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f856222-3290-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:28:01 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:27:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:27:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f856222-3290-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OmXQcmb5VAeeXY7500tmOnrHEZ7BMb0QH1HdJ1bZJBb7B6L1uarMCpYCjdVO1nk7m4qm9B1OH+ySoFy2mQ3Ca+oGaI+/6hIijYtbE/hLMUZNjhyVUYJePIAlLk1uo+OFIZoaBfLf5FEVnESmoYHHkJFWQILM6fMIqqD9aHbKjEdqtVqn7JmOkZEv3EO7vZyNoeQoHY7jZRqZml9XIOjVNVwvB2dEglHWpO30TxmKpRMfbgd5Kol0yh01DlrWM4j8fXHjCj4tH0gGMne4dvgWcw9w9CO6vaxG0Xe+5cvUDo2thZqHuyCzkrSApHfucJBLs3WGzfthwndPm7/KXYHsNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bxqTYAMqHDtwTsaXt5W2izXbr1PoTAZ70AuZ6hPpGqA=;
 b=Hzeq8KGKWMKgaTZq4tO5BLrEPSwV0dIW3/04kJUAfiVN0ClNJz67iP4Asv4UfjBaRUpuC7NpIKZ7C+bTmcAuKFv5zCUa858worpdhMN+g36GPba88ul/aTDp+/wGcNdXutNFpdcPJHNu0tbLIbD1/r4/wc4HeNjJrQSEoO7lZThbKRFMI+O+u8BHGuEdfV9h6/DCLbScONIcUEKOGIGB9iL7DWDOmw5pI3scE5lAi6c6uA8dgrvF5wIyv7EjyYovPptO0M86a/w+8N0miH2wk/d2FRTC+xG4zKB2paBLwEMjsJdzrhf7IZOjqqgWc9MrJ11jATOQ3b32gfr/HSfAzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bxqTYAMqHDtwTsaXt5W2izXbr1PoTAZ70AuZ6hPpGqA=;
 b=IdUvyZWUWUnfYBIqNaqq1O8tiAOM5N90Gg0IUpzsuu8NmnD2KNqr79fNMMlGnvaZUCkCci5eIgsjT4yD7DDWUAS0cb+ACjS7j4l92+q2MOBl+1SthyWay32gKkquvsMbDGR6eCNUMCA1KdH84Rsmov/2q+E++4VdTblu1AaMmOaLsZiT4G3gu/nuk//qanBeoccA5ZDCiATEewKyuN3XCPcWwjzJYGcZYItu3dgOekpBS64aJXphwH+ru0IMP5d7pqN8+VF/gUkgnGS95hisFL/8SJ2UoMTbYGpMfhhV/AEr8XzAN2XUYq2h2ybEsy+fepaARJCLDRrdxdFMaKuf5Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29f404eb-e5c9-fb1a-e60a-47d4dc77578e@suse.com>
Date: Fri, 4 Aug 2023 08:27:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 3/8] x86: also mark assembler globals hidden
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 0ced7ace-56d8-41c9-db83-08db94b3f2bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rl4RFUex+Nm08t8dyQ0ELwJIMCxxc4nDVySDnhLQklu2sUUrK3STQYg0wchr7WHWjAR477MYagGiH0Lv04++W50IZJ/GF5sn14sDeqpHel6vrzOwo4FRd/AomnvHvSLMHTYM48WWlxJnh/iiTKzd4rK/D7eI1BYzrLZCYWQlJXmA5XVvGdUGdr8aX2QOeRjZ1jxBJcW1giGLTw4rNWPzdvV8pPbcoFm2tij3mY3rwuOTl8vZ7wUwESp4ke1ZAV24TB756NMCoQDFBgZOF0sq1NHybLFs35nDAIb2vFZ5SPr7Vj6CDg6VcJhzBgqEb5pLRBkYuCQ8CFdz1krtl15Qz9aZv8UPE1Eyb5ih92/o/lfphxpW40sY2JrUnpVSlwNudHRZCvkui5cO7ZzNI6Z4QYxjH7MHcSkawq3fVx7uiqEmXrnTdHLPrYX4BF2Ny8kTCQ0eNpQHBcT9je1PoT3R4HBsX/EGNw5wLa614vWpJgXvj/AxNMhmdpq0hvvtZfHUb/j2awAH/MCy0zqNhmR14HkfULIgByjXOYvWdBQc55RIfwU+zjJSN1pAdGEqZ+pAPEXckQHvYqjqzVxscEzSDJTJfWPN7Fgfo+tD62vXd+dhmHrJ3tJvjLk49Gta1hNScjV3CwPWQd1gRxpBqTmlqA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2g1bHErcHUyRGlOa3pkMVVmbTMxSkdqZi9CV2hDaEJhaDhvWXNReGhkbDE3?=
 =?utf-8?B?YjBCblBBdytvaGZrN3lBZlgrSE00b1RoZDBWSkFwTUMrbktya3BNMVhoaEcx?=
 =?utf-8?B?QzFYeFd1NlE2ejJGT3doMy9hRVBXWDYvOHBmZ2g4aVBNdlk2UjNBMVhvcktm?=
 =?utf-8?B?UlowK1dkOEFzNWt3SldWVGNlQnJvbGw4eUJLRmpPNGxaNFUzdGIxK09PS1ZF?=
 =?utf-8?B?UjRMMmU3VUcxdllzNU1mcE0ydkl5ZkRqZ2o3LzBzWlROWEdNRmpVbE5LYTh3?=
 =?utf-8?B?ek85VkhDQjBMZ3RJMmhKcjlYaWtQVWphbEtscUxQZTQ3ZDdyODVNM2paMDVa?=
 =?utf-8?B?MjhUMVFsMDVWaERXS1htWmxVUzJobWpDOWZockpranBMQlVQb3FVaEpkNEpD?=
 =?utf-8?B?bHFKM1d2R0lYUCtsTFJrQUM2MDJjVHFDSU5qZXVuaWRXUHFRbWtnNU8vM0t6?=
 =?utf-8?B?VXRTc0VnN3dDa2xCSzNVRXBHL0tsQWV1K2kxQWJtak96VjNTcGhZdkJZODBk?=
 =?utf-8?B?NUV2QXR6ZXBBbGtqN1RsdVVZL204UVlRRVlCWW1kOEV0VnBEdjR1WHN3TGov?=
 =?utf-8?B?U1VHYThia0pQZklpOGpaTGlXRGNqOXNlS2ZZbURGN3JWcXluMzVvb292cXdR?=
 =?utf-8?B?QTJlMnRvdy90Ky9YR0lpRmR3WG1UVmJwMzlUWVR3L21XbDEyMXc5aHAwSncr?=
 =?utf-8?B?UkZzZmg3ZjJNSkZ2Rmt5SW10U094bnM0SnU5MkRQTGVWK1FjYTVOL01QNjVJ?=
 =?utf-8?B?THFsYWJQOEZ4emJBSE1XYllyOVhDbUZIN1dsSTZuaXJ0and2R2hMc3VOTE5P?=
 =?utf-8?B?aGZhYUlraW5XWnNZY21yT2J5V2didXB4Vm9DTUQxVVJzMUVEdnQxeWtneHpY?=
 =?utf-8?B?TFp1MjVITTNQMnlGY1ZZUVI3aDB1ZGV4MGZaWW9RWjNxbjRtV0UzSGhudCtD?=
 =?utf-8?B?TllrU3RZTHJkU0t1Zit6RS9zUE1BdklGNjlvYW9vcml3TGdLTjNobTBpSHJJ?=
 =?utf-8?B?bjZ4c1VudUlTdm5tb0k1V2ZiY1dCQnlCTHJXT3ZhMSszSWZaVkRNc1VsL1Nn?=
 =?utf-8?B?aStyUDdqTmNkRm9oY28yK1k2MG02UnNpbXBaUHVQaGdhaFp5RlVWenkxWFFp?=
 =?utf-8?B?Y1RuMHBmclpOUXl4cEVQMzZrSzRaVjJnRkpMaU56dmRDMWR5NEpWUWx4VXBV?=
 =?utf-8?B?QXZ2ZG1aOVhRWjlFZGFpQWNuN0ZVWHdWUmlmQzBOTjArS3UwSFlDblBUdmtC?=
 =?utf-8?B?TjE2dW5MMTQ1dk9JbGY3dTJtbjd3RTJ1VXdjWXVwQ3hKTkIxQUh6R3p6ZWla?=
 =?utf-8?B?OFdsc2N0TTcyTmNnWVcwS3J2NXhOY2tBekN3VFhXcWdVSnpvTy9NUktiVnNF?=
 =?utf-8?B?bjVqMDNGY094UXVIcGhaemgzRWd3dU5RTlVGM1RqandWczdsSEZDZjdmaFZh?=
 =?utf-8?B?NGF6Q3JBVFBrUlRkNklqQ043OG11a3FHYkFYZ0R3bnlWYnBJalVuSXhhL2cv?=
 =?utf-8?B?N01yVTJGQVJIMUtXSXBtZmhKMVRtTUMySFNocHo5bCtwSGNQVlhEM1hHYllx?=
 =?utf-8?B?SjFBQUpoN05FY0NFMGZJQUJFU25JVFJpc1NaeTRYM0hoejF6MWdQbVpQQ3NR?=
 =?utf-8?B?Q0x4Y3I0QWJsOEphN2JiWHBEcEhTQXRxYWR2UjN4MzUyOWNiMlRVcDh4Qlpi?=
 =?utf-8?B?VmhaL1V2b1RyOWtyYU1PNjByeHk0U1FudFZEeURjS3J1aW1saEpyTjBjemk2?=
 =?utf-8?B?VkRNNDdUUXdqNVp1WG5HRXRzRjVVZkttdnBnTXFMb2JSMHk3b3pZclVKT3ZU?=
 =?utf-8?B?NTRUYmRpb3VrSktDeTVhbzNkdWgyYWgyWm1mN25HVlduNGlFKy91aFNSWi9h?=
 =?utf-8?B?d2MzV3R6cEZ4b21lODcvS0FaWnEzVnpBcFBVVnF2SDBvMnVhdE1USTNrZ0xS?=
 =?utf-8?B?TisxL2Rha1QvTGlMUGdLc1RIT29iS25aeUVZb05rdis3K25MM3ZmZmdPR2Fr?=
 =?utf-8?B?WUFPVHY5VjhCYm5Md21uc1VLZ2sxMWNXaGxSd2F4bEoySW96bzdYN1MwM0Jr?=
 =?utf-8?B?RXRZUHlod1lxZldzb0J2eUdNbE4zSjg1eWlLb05USUpGaXE3MG9RTFYzNDh3?=
 =?utf-8?Q?OVpcZKyLRx+HC4dpf8jxlI+Ro?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0ced7ace-56d8-41c9-db83-08db94b3f2bf
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:27:59.7027
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3D4AWl7BLojvCUKyhf9Z5B67qSTKpxebycLVSTdXNGhweR111Ope2gEOAzgh5GTKyZkisWs3kMeX3wVy3HFewQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Let's have assembler symbols be consistent with C ones. In principle
there are (a few) cases where gas can produce smaller code this way,
just that for now there's a gas bug causing smaller code to be emitted
even when that shouldn't be the case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
v3: Re-base over generalization of the annotations.
v2: New.

--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -47,11 +47,11 @@
 #define CODE_FILL 0x90
 #define ALIGN .align CODE_ALIGN, CODE_FILL
 #define ENTRY(name)                             \
-  .globl name;                                  \
   ALIGN;                                        \
-  name:
+  GLOBAL(name)
 #define GLOBAL(name)                            \
   .globl name;                                  \
+  .hidden name;                                 \
   name:
 #endif
 
--- a/xen/include/xen/linkage.h
+++ b/xen/include/xen/linkage.h
@@ -21,7 +21,7 @@
 
 #define SYM_ALIGN(algn...) .balign algn
 
-#define SYM_L_GLOBAL(name) .globl name
+#define SYM_L_GLOBAL(name) .globl name; .hidden name
 #define SYM_L_WEAK(name)   .weak name
 #define SYM_L_LOCAL(name)  /* nothing */
 



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:28:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576872.903509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoIu-000333-RZ; Fri, 04 Aug 2023 06:28:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576872.903509; Fri, 04 Aug 2023 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 1qRoIu-00032w-Oq; Fri, 04 Aug 2023 06:28:52 +0000
Received: by outflank-mailman (input) for mailman id 576872;
 Fri, 04 Aug 2023 06:28:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoIt-0002sK-Uk
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:28:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d461186-3290-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:28:51 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:28:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:28: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: 2d461186-3290-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DAwIm7t/p59NATT5GUxBa9UY5w0LT4rTpdYOEa53UMmsA2s8IKTmjW0xuwCL3ItYin2skl8nymY+IXDC/ce4h5SdzAuf9n6xWb7nI8JoqlpBEV8k/Sl1Dqj6l6Qv2rowMIhR/b0skKmRnJOw1IP7tdQRE8c3i5cMwiVdN+qwkEpvDToCzmzgOgu9qHGkwOojjJem6tbzTiC/xHRy7jDLNkwTpgi1jgt5xEHSbvlJdC+Cu6cgIxcqftgCIXNf9E+ogGlsxbyqLnx2mMa+6giErBTYFKTAITnVY+HoFjcXCrzdX8gOjtqNydxxcZrkMZ9Gnn3HuoqHRv/HBL+A6L9obg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bblEvpBVoD14a8jtWBS2FnTxPcXC/Rz9Fz+d/NPUWJs=;
 b=HBQirrIYTFNN5bX/rVpT/Aq/D/U3MkowqWXWtTHJSwgRtz/wa6bYNOtlHVWr7KcoeW1fTHL+Qa3VAxgWbgXLq4xS1OKiKOxwVMKCbudVA4RdzxJ4SsIq4S7+q5O/sRvxj6pdcR2I/arho/tJ4EvO6wizdhnHu/sNUpd3yAB05MdRqOKp5/zkOCcEa4haoAVnud+D8Mo2+9fTOh2soZ4nPzeWiSpHVq/Ea2tOD5xSJgy8P341hLsBjj81RKdPNgf9NPSarCA4ZBY6zKHaeyl3lLquYjVAeH3zqxXu4cj9R7/2f554XeqTr931yU36kZQmDMglfRWYkfaETf4RkgGQNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bblEvpBVoD14a8jtWBS2FnTxPcXC/Rz9Fz+d/NPUWJs=;
 b=va1cqj3Wc5A9jHdzwb1Ew58MsL/7SPWWxkIgtdU6eAQNnu4yzid0VeU0DKZ892QAlPI21UcAd+kn/E9CI9UzcCkmSU0EvmqA2x0EHGS+OgQjhdXZVIxk+HHTH0z5aCtUwbj298Pv8OV6eAj9tnWN9eit4jcte69bGtyr99dfbVglI8KAeuX7H9+gaziyxb/7YoJnrMaKJEKjyJuCP3b8o8gI9IGt34SWMs/J2dV92NkgYgPqpFENWmpFtEhkMdhgQSkKwiajxNWgYd5yIKk3Yr/BAd1NdZEbdzHcG2BfqHlDTgTb7WYMYW9RIzPoBS7WlN4pWZ6zCH63NzbrwpTbjA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e7685fa0-62e0-98b9-f9ba-7e698fb7373e@suse.com>
Date: Fri, 4 Aug 2023 08:28:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 4/8] Arm: annotate entry points with type and size
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: b92fb431-0328-4079-04d1-08db94b41093
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C9KNJo03jiSHm2NtZc41XT+yy7OFz+SSzThnYQYrw3S294auz+cVPllf9k14OQ/O110gNK0JzkVHxEumE0YkEyGW80lJVctPsFoCPidlJ31PvuKGcmtVjXypbvxHMaBx1p8evJy4mIiWKxfc5uT9awUYe9XBXUFZhKY86v3BC/9Ba8dvhucp3hUOC036rJd4Fj+LDuJzacEm3Bafod20SBUyTHYxdTnAshtZVk9Pk97NlL19kA9BMaanBvUocCZWuKKJv4xeVSiuMaTWcNIv03kv9ny6p7embBCTlFFKMMwdjhxlunWB9bd4wldhZ/7frOwZvoadJMWCPg5zW1RGoCb8v41y0bZRsKAWwrW12MH1GE2hmxqKntL0br15nt4AvKOL7xMyMPK5UZ2mzZ9gJHoUSyzkKMignxfBSF1FTdmto4KRYXKpJBAg6s33fVA9OSs4v6xgc8rHHQLGdnO9GT2SiES3t2LW6KTt0YCxv1BbdmEEOWaaC2bu90bv9hRmtvSdmDJ8F8eNkAziVEpwNIHOWSUP1Tv17nyQj1pawL+2BguwDF4oOTqtD9jHamO9MJyLJExx4AiZ7zk/LoKKIH9PpGxFUNM8EL5WaEvZ6L4W4YswCsImD+UYzTwNc0nSGYg2YYp7XXf2t8kDOd9gHg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d09RM25UZlRYSTNSZDAwcEVqRHlEdlU0QU8waGt5QnJPdi9pbGN1N1B0WUg4?=
 =?utf-8?B?bHc2Z0Q2SFY3YVBmcTZGUVZ2NTVrblM5bDNwczBmcnF5SkZiVmNZNzlaZnlz?=
 =?utf-8?B?QUVmUEg0ZHIyUHMyTjdnZGxoaDlGdjBmVVV6Vy9iSDFySlhiWXlyRWpQTm5k?=
 =?utf-8?B?WWVIM2pJYXhWNURhWjNQYnVJTjRFVk12ekdFN3diZzdnK2k2aFJlMWp4S3o2?=
 =?utf-8?B?THUwRk85RjNDSCtKZ2QySW84NjAxN0FtOWhuOTZMNWNxL0RudFBRcHp3d1lL?=
 =?utf-8?B?aGpuNmQ5akF1MVptM0M1UlRRTlhUVDBxLyt2TzVqa3graVhudmlobG1aWkp1?=
 =?utf-8?B?N045QzJQNTQzMEh4MTBrcFJvUnlCaXFhcHJBbVFzUVZEaUFWTDZYQWN2OGdD?=
 =?utf-8?B?TFFsOUlIZW1zWmhQWmRaSVczSzUrTkE2RVRPUjNYbUwycmRvQU1DQmtVMkpK?=
 =?utf-8?B?bmtTN1ZtbkQ5aGw1RTE3MTdQZHpnTUxkakVqOXY1akxIUUNPb1ZPT0szTVZY?=
 =?utf-8?B?UUhuMmk5WHhzd1dJdDhmSDhsS3NuVmoyVDErcEtRbzdDQkljT1JmZy9HOFZ4?=
 =?utf-8?B?UXVsczJ0bmh4NUp6YkdhRTNXRHdHLzA2UllzMWE5UEFsOTUzQ2Y5bklWUnhp?=
 =?utf-8?B?RElDWTdGRnVVUzl5TVc5TjBOSE96ODNSeEp1V3QxYVJJT0lkVUpsVEJZMGhO?=
 =?utf-8?B?Uk9ZTk1lZXdhUnprbi82bHlGKzl5R2dIeEFpYmdHS3EwdXMzSjZCcnJ1eUVv?=
 =?utf-8?B?RDRCR2xKV25mVTlxNmF6NFJ3SGd3dGs4OTN2RmY3b1hNdS91cWM5a3FvaC82?=
 =?utf-8?B?RmpzTE54K2diNEREUG5WOTA4RHFYdHA0Kzl2SzMvOWI5SjhuZ3ZYUjBIN0pK?=
 =?utf-8?B?TUtzOGhSVTZWcHFjRFhrSVo2RVVZWVJFem9qeWIvc3p0QmIyMWtaM25qZy9F?=
 =?utf-8?B?cHZWek9YRU1EbEF2UzdHN25yU1ZlSHBSNlVZRTYzVVAvc3plVFRIN0RSVmxN?=
 =?utf-8?B?eGRWbTQzSW5PZDdQZXZlQnF0LzVvdkNUSWJHUUdEbHpFdXRCOUpkaFBsNGti?=
 =?utf-8?B?T1NodTZVVU1GdzRreFZENFBqeVpPa0xFcGRWKy9XdGkreng2bzh1MURrR3Vr?=
 =?utf-8?B?UEx1dm1xdS9NYWpLdU4weHlNZkljUGRwVHJYK3ZlSk1KMmUyYk1WSFFNdW1Z?=
 =?utf-8?B?N2VCZlVSRWRJd2NlMTN4akorYmo1QzJ0UzUweHBkSFhva0RIdEdRall6N044?=
 =?utf-8?B?aE9Qc0FaeThqSTlDSXdKYnV5Y1NBVVJwM2tndG5sWFJ3T05QTUkyR3RQU0Yr?=
 =?utf-8?B?eE1JVFVFUmk0SERqMFc4VW00L0F1aENJODYvZG56bzlLN1R3c0tNWlRLNHJK?=
 =?utf-8?B?T0JsYUxBY2pwb1k3b3ZLdzBuTVhPRDZsOXBRVTFrRjRUWHJ6ZEhCN3p4d3hF?=
 =?utf-8?B?bUl3VVJWQTNJYjRKWEgzYWxOcTVpOG9VUlB0TXpGYmQyd2RrNS9kTjFSUlpG?=
 =?utf-8?B?Zlh5NGUyMXFUQlFyWWdMaXMzb2pCZERwZ1R2RlVELzVxcU9GTDJpZ0VuRlQ5?=
 =?utf-8?B?dTc3dDJ5eFFwNmcrVGxYY0VQS3piMHl5ZkJOQ3lEbzlSbks5RHpaYWpDV0ZZ?=
 =?utf-8?B?OUY4aUU3aHVMNTF4aTcrQzVkZEZpTGJUeG14MXAwOENyclpPaklranZQWURY?=
 =?utf-8?B?OUZrRC8zamlCenpwMElMZUhkSjg1RnFGbTE1T3Y4ME9FVHM3eGd4Y3ptdkJS?=
 =?utf-8?B?UUR5OFV4STBqOEFCOExzV2xOM1FjSldBa1FGckR6b1NnY2VOaXhwZnZkOWdP?=
 =?utf-8?B?ZUdINmtFQ2pUYnROTlJwZHNLRml4RnAyTTlpUFJMZ2l5MVgvYXRZRXpoMzln?=
 =?utf-8?B?RlpEc04yNGpFbzFBOUN0VWRsWFpOVUZDWUJLV2J3bitMQVp6SDgvdE1sc0to?=
 =?utf-8?B?L0lIMnhoWVpTVU5ra2RTVzQwOTJBdWcvT1FxZ3NOeENyTUFVWHNDRSsyN1A2?=
 =?utf-8?B?T3Vod09xNmpPekVmT1NYTUlqSGU0UElvb0l4Wk1RRGd6US9UTHR6bFY5Y3Vw?=
 =?utf-8?B?V25sUnZVcTlBN0w1cThuVnJYYy84VTIvS3lCdlFObzAzOHh6dVk0VXdmQWR6?=
 =?utf-8?Q?uhpC8/RkJYPFmwCTMiCnNNtze?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b92fb431-0328-4079-04d1-08db94b41093
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:28:49.7623
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7ODH2L1NH/UcFL5Q8/2ygdm4sej1aI6yGeWojn4fVcYJyr8TpZJSqmEkNlRY8Jon7/uEUS+LMjxzM7RzOUJTpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Use the generic framework in xen/linkage.h. No change in generated code
except for the changed padding value (noticable when config.gz isn't a
multiple of 4 in size). Plus of course the converted symbols change to
be hidden ones.

Note that ASM_INT() is switched to DATA(), not DATA_LOCAL(), as the only
use site wants the symbol global anyway.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Only one each of the assembly files is being converted for now. More
could be done right here or as follow-on in separate patches.

The ASM_INT() redundancy of .global will be eliminated by a subsequent
patch.
---
v3: New.

--- a/xen/arch/arm/arm32/lib/div64.S
+++ b/xen/arch/arm/arm32/lib/div64.S
@@ -42,7 +42,7 @@
  * Clobbered regs: xl, ip
  */
 
-ENTRY(__do_div64)
+FUNC(__do_div64)
 UNWIND(.fnstart)
 
 	@ Test for easy paths first.
@@ -206,4 +206,4 @@ Ldiv0_64:
 	ldr	pc, [sp], #8
 
 UNWIND(.fnend)
-ENDPROC(__do_div64)
+END(__do_div64)
--- a/xen/arch/arm/arm64/lib/clear_page.S
+++ b/xen/arch/arm/arm64/lib/clear_page.S
@@ -22,7 +22,7 @@
  * Parameters:
  *	x0 - dest
  */
-ENTRY(clear_page)
+FUNC(clear_page)
 	mrs	x1, dczid_el0
 	and	w1, w1, #0xf
 	mov	x2, #4
@@ -33,4 +33,4 @@ ENTRY(clear_page)
 	tst	x0, #(PAGE_SIZE - 1)
 	b.ne	1b
 	ret
-ENDPROC(clear_page)
+END(clear_page)
--- a/xen/arch/arm/include/asm/asm_defns.h
+++ b/xen/arch/arm/include/asm/asm_defns.h
@@ -5,6 +5,7 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
+#include <xen/linkage.h>
 #include <asm/processor.h>
 
 /* Macros for generic assembly code */
@@ -28,10 +29,7 @@ label:  .asciz msg;
 .popsection
 
 #define ASM_INT(label, val)                 \
-    .p2align 2;                             \
-label: .long (val);                         \
-    .size label, . - label;                 \
-    .type label, %object
+    DATA(label, 4) .long (val); END(label)
 
 #endif /* __ARM_ASM_DEFNS_H__ */
 /*
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -53,7 +53,8 @@
 
 /* Linkage for ARM */
 #ifdef __ASSEMBLY__
-#define ALIGN .align 2
+#define CODE_ALIGN 4
+#define ALIGN .balign CODE_ALIGN
 #define ENTRY(name)                             \
   .globl name;                                  \
   ALIGN;                                        \
@@ -61,8 +62,6 @@
 #define GLOBAL(name)                            \
   .globl name;                                  \
   name:
-#define END(name) \
-  .size name, .-name
 #define ENDPROC(name) \
   .type name, %function; \
   END(name)



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:30:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576878.903519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoKC-0004W4-4e; Fri, 04 Aug 2023 06:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576878.903519; Fri, 04 Aug 2023 06:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoKC-0004Vx-1e; Fri, 04 Aug 2023 06:30:12 +0000
Received: by outflank-mailman (input) for mailman id 576878;
 Fri, 04 Aug 2023 06:30:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoKB-0004V1-An
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:30:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5beb0a1e-3290-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:30:09 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:29:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:29:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5beb0a1e-3290-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hzcTy7tsLGD4M3lihdyD+9F1mHuoPohJar9VPN5V/2LM8NbbJpyEcu/uCegT3N5fLhs86jh32V0AmT7haB4QzjlQRGAH/FGGdVqs3pajuPHC28/4uW7nOKsP19TyPy8Noh2gY/qvzowL/uSDyzGEOpJx9ZdWUpKodfBmZV5SZKMY0PUqPBO6qec8OGcMRBHZ7rMipYNnuDWAvqlwLU4bnkYeObPkPIcayOGivbbDJmKnMnkZw2mkta4O8VB9qJkspnGJkoXtCk8VV7VYu1hFK6E+XKq9l86VLfLpumYcjse4L4Rq4A10ufaZev5sq0h9zGE3ZiZmOIkCInrtWOoBtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qika2Hq3tzyX7MA+htBUWEOe4yA4IGhKPbZp6tX/5Qo=;
 b=oL5ZjMAkjJouQSAwpTKfuoSgf8uU7/JVTVqRBYs2eZJy0kv8cP4vFJOXubXbPARGScxL8KnJCBvVNt46gfeh77tYXqA2eORZU4eLwi16jhVa72GG+nl6Avrqx70WOoS0Er48jd18F1MxXRTwzelT9JgkshhcSXfeeom4/4sALZhKlaFyqRcFqmVEWKkpqTBcQdVn5Wcb+2gGluo1/RDShphVHRSMypymGakWz9NqlJChqq5qpR9MBQVg9Ychik3VE1gMG39bAnFX5f4u/nAGgy3l+2QjiuICqcRaP85n25OI3Wll+55g5U+2yTnRP0/4QhLPUrG/0LdmxZBY+d6sPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qika2Hq3tzyX7MA+htBUWEOe4yA4IGhKPbZp6tX/5Qo=;
 b=nh/OP7khS+yhDOGdULDaL7vlZ3PmoKCMyOyipKF6UC6Z2/ox8Zsfyit9gLnOiVU016yDSvJ3gcr5JWTj4Rt7uxhoztnhIxoQRTHdj3ozhBmVEd/Ff0hP/mR2Kg5n4UMRTjShUBo51vISPh8aYrMxbG97KYYyW276Oi39qyeK1+WHsZZ+sUj4EA+I3qGD6zOT1w4xhIx+jyP3wh7zu0z/HPsL2oISTsiKp95e69/SQcdOQwErNxAqRjUjEjutU5dzN3gepCW6IKS8nkr2OVeAyPVW7CFBbToeDhiydGAaCeIweR8sRrGJSoiaZoDNM2hfwOv60mj6eK8PXmfUTp9tMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5caf1f7c-c4ba-9913-dd77-21562af18efe@suse.com>
Date: Fri, 4 Aug 2023 08:29:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 5/8] RISC-V: annotate entry points with type and size
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.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>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 560464bb-e74c-449d-22a9-08db94b42ee2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BlSoTblrw6r7jiz/lHqs5X9CN5YvIDUiMHaka4C4sN1UxsDU2rl+TEeG8tArxA+HDzvFALcx2GrbbdcUKE42phlu2RScVOYlWdDX44tjU21xPOF4P5DL+lh02zKb1bgif8oWAMnxaSik5iWb+mytfrS9ts/Iiz4CGr9i9h8q1m3VIVtDQxTVxLx9UeVGEUP4Hz1ND6rkdICFpieWxqPMc6R8kJE2VnJXFYDILJyRiIjKRZ3sdMktJffmiB9aDUm07EuQ3TO2I5wlilIw+AMhRYFPxn+01+TmAwmo3NDbI3buABP0MHo3Q91rsOewB8dtU2wdm1GcDpqTewtAnB1t12eLiNFNHGRiXJJnLR5MXWQnwzFebt7p6VsCvgmN9PZH3sXRkjHqirvE2q449nO+KQQhLstjNSlQzR2EQMpguBD1kXcSMMnI0OOcs5at+2ZsF7bkWqBKG1yj9BrMcQu1DWD4V75gLOQLmiTMWewxKKTyfaWhHwpqSPP4RxjJyTQoOg5LRkatAcXMa8qdvwT6sHsZJ9sBwYY2MYXLtwBIwW27pCfvUne1+r7fcXmFtJm3gLCOqzqIOLjFU3pvNSicZu301MjDurK6zCQougGBY8Tq28L/yE05WvBndwDJck3p8R2cM/zNta5h23GMyB95lg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Qm0way85TWNBN3J3YTlUN3Y4NkRhWVVMN3k5bzBvNGVkUUtXaklIWUdlWjY3?=
 =?utf-8?B?UVdQNmtkUWo1a05Wemw3K3VHeVVzL08xQXkrVlVLaUJVbEdZTEtJWVhCSEd0?=
 =?utf-8?B?dGI4eWZDSm5tTjBFcGpYQ1ZUNTdHRG4rYWh4RWpoL2Q2RDFJRXlCc1FqTHZY?=
 =?utf-8?B?bUI0VjZvVWkyWTZQVzBuK0xuL2NyWU5NVTVXZHhhRVpPdllUZy9vakhjZ2E0?=
 =?utf-8?B?ZDdpK0RjOVNNcmtRQ0ZDYi9mNnl3eG40ZGh6WW5vTnQvZVJVZ2xQR3JSc1BM?=
 =?utf-8?B?dWlJTUpPZmJTNlhvMDIzczg2YUJCSldKTTV6VzZrMFNzaXVKT2pPWUZoUWxj?=
 =?utf-8?B?eU9BYjZLNHNKTzFKZEg2Q2tjK1ZvbWFzRmxyWHZkSHJzVzgvM0ZlSFY3aENU?=
 =?utf-8?B?YUhZV1ZwaXZGUWYyTE1pSE4yMHppY3I5WUhnc1cxVk5iSEZJellZOEM1ZERK?=
 =?utf-8?B?ZjlwVVhHajRCMjdybWFuc3ZQQWFBREVEb3dvL1plb2VJd1g2cVBoTUZQTjNk?=
 =?utf-8?B?UnJPNExtVmR6Z3JDVGNoTGxUV3hqT081ZmtUSWlzWUorV3dKVHlOYnJhN0pF?=
 =?utf-8?B?Q2MrZmNyaUllYUdJeHRvVExuYnJORkZ3TWRtdGFpTXM4OXd6VW9MbGJDaEVF?=
 =?utf-8?B?Q3BOd3pRZy9NbG1JVDk3YVhzMHJPUHNQZFRBTFRKcWFzRU8rekhyTzVGRmdh?=
 =?utf-8?B?RExocVBSTlZpUzRFM0VNazFXYlVYUXovTlczRGlielpkOGdzRjlYNGdBS3BG?=
 =?utf-8?B?Uzl2RUZMcGJRUnYzRVFaT3lsZXliZm9kNDRjMWdZZjlpZFZFWjh0NENnWm9j?=
 =?utf-8?B?anJaSlRLWTMrb3k2VnVOUkZUYnNaMWR6amdKQ0hMbEJyYkk3dzc3UkdIeXAv?=
 =?utf-8?B?Rkp4SDV0cmg5NkxjbVBhU2JQVkR2WGkrSjFnaWJHQ3FBRHQ0cWg4dnVFMUox?=
 =?utf-8?B?Q2tqS05QOUFsMXp5TnFGTXh2bDlUK0NVY2NZdUF3REFrcDNKd2wvbHp5akNL?=
 =?utf-8?B?OUZhbTRwc1BSQlNhUVRDREljRzdlcDFtMkFzSUhuaU1ud2ZyK0VMM1N4ejM3?=
 =?utf-8?B?RzZjbjNqamRmemswUzArOTZONkhNNGl4Tk9lVFNhRm9oSVdoeEJUeStFM3dC?=
 =?utf-8?B?UURLeExYMllQT1pyQVBHMUU3dnJsWlI5ejh1NFQrWGNQcXVTNVgwSzVpcmF0?=
 =?utf-8?B?dWRqYnFFd25LS1UrQVJhN2x3Qm15ZWlZdjRGZ2hycUZtL1labTRCZ0QrbG5v?=
 =?utf-8?B?MXdFZTExeUVzWUxGckMwclNqR1A5OFJ1R01Sc1BiZGtQQUJyTUZzaFp3YW1a?=
 =?utf-8?B?bDNXa2xDQ2h4WkxrNGxmTkFtekw3ZHVReUJNdVZDNUZTSGRoKzZxeE83ODhx?=
 =?utf-8?B?N21wVWpyY1hneXUzME9NemEvbnp6bHA1T2hzT24rbm5zOWlwMzg0ZWFSRngv?=
 =?utf-8?B?QlNjL1dtTlk3MkVZVUlZemNiUklzUDdScDBob1d0MWhCNmI5aXdCU1RmWThE?=
 =?utf-8?B?ZENKR1lGMkprMkJId1ZPSHl4ZUxWR2VkaVJEVjZuRjNvenQyM0g0d3lXa3Bq?=
 =?utf-8?B?ZmJxU2FuckkyTWF4Z0dIaEhUMkRsRUN0VGUvbERpRFhVdWhRenJkOWRsSEtj?=
 =?utf-8?B?NnNoa3B1MzQxNkhGS2JhWnNWTzhPZkQ4aVRMNllxclAwYmErc0RkNWhzQ0R1?=
 =?utf-8?B?VGh4Y3VMVm8wZC9LUFZxQ2dLbXpRNHMvRFh5TkFDeEpzN01KdjNPM1FEV2ZM?=
 =?utf-8?B?QXd5NEJOSVQ4VjhwMEkydHZXQWs1MW5Mdk5vVkVDbFNhZVZvTE02amVjMUJC?=
 =?utf-8?B?dmM0MUYvV0JXdWgwN1NiVmhuRHpKaFRBdHVLTks0Y085WmpRbmtoTGpCKzJw?=
 =?utf-8?B?T1hkaStJMDVNQkl0ZmJBYUdXR1JzdFZTMit0SW1YdFZHSWlrbHdVSTFicnhX?=
 =?utf-8?B?TWNiaXdHVHA1Y2RwYnNWdUphakIwYVNZaEZmdFFJQWxZQnJjb1NhRDJSMzVH?=
 =?utf-8?B?TU1nMk5jK2N1Y2xZY29FSEdWSDIxT0QzaXBGQU52UWp2OGpNN1c0L3RmRGw2?=
 =?utf-8?B?MnliNng2Nk1VekhqMlV0OFlweG9zNDArenZmWUNRcDRBVmVHQUNyOXVkSGdW?=
 =?utf-8?Q?DNjAFxFdFJWnppqFnaE4yFC2P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 560464bb-e74c-449d-22a9-08db94b42ee2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:29:40.5791
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4Uczd0JvQQxsZLgVGAJ7veb/9LjLBAtiAqHYaKhecsMGQo0X7lPlnW0r250y4GKDNaDT48svG6bjSrvC1/8p8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Use the generic framework in xen/linkage.h. No change in generated code
except of course the converted symbols change to be hidden ones and gain
a valid size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Probably count_args_exp() should move to macros.h, but I first wanted to
see whether anyone can suggest any better approach for checking whether
a defined macro expands to nothing.
---
v4: Also drop #undef-s from linker script.
v3: New.

--- a/xen/arch/riscv/entry.S
+++ b/xen/arch/riscv/entry.S
@@ -5,7 +5,7 @@
 #include <asm/traps.h>
 
 /* WIP: only works while interrupting Xen context */
-ENTRY(handle_trap)
+FUNC(handle_trap)
 
     /* Exceptions from xen */
 save_to_stack:
@@ -92,3 +92,4 @@ restore_registers:
         REG_L   sp, CPU_USER_REGS_SP(sp)
 
         sret
+END(handle_trap)
--- a/xen/arch/riscv/include/asm/asm.h
+++ b/xen/arch/riscv/include/asm/asm.h
@@ -7,6 +7,7 @@
 #define _ASM_RISCV_ASM_H
 
 #ifdef __ASSEMBLY__
+#include <xen/linkage.h>
 #define __ASM_STR(x)	x
 #else
 #define __ASM_STR(x)	#x
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -69,12 +69,8 @@
 
 /* Linkage for RISCV */
 #ifdef __ASSEMBLY__
-#define ALIGN .align 4
-
-#define ENTRY(name)                                \
-  .globl name;                                     \
-  ALIGN;                                           \
-  name:
+#define CODE_ALIGN 16
+#define CODE_FILL /* empty */
 #endif
 
 #ifdef CONFIG_RISCV_64
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -8,7 +8,7 @@
          *   a0 -> hart_id ( bootcpu_id )
          *   a1 -> dtb_base 
          */
-ENTRY(start)
+FUNC(start)
         /* Mask all interrupts */
         csrw    CSR_SIE, zero
 
@@ -30,13 +30,14 @@ ENTRY(start)
         jal     reset_stack
 
         tail    start_xen
+END(start)
 
         .section .text, "ax", %progbits
 
-ENTRY(reset_stack)
+FUNC(reset_stack)
         la      sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
 
         ret
-
+END(reset_stack)
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -1,9 +1,6 @@
 #include <xen/lib.h>
 #include <xen/xen.lds.h>
 
-#undef ENTRY
-#undef ALIGN
-
 OUTPUT_ARCH(riscv)
 ENTRY(start)
 
--- a/xen/include/xen/linkage.h
+++ b/xen/include/xen/linkage.h
@@ -37,17 +37,28 @@
 
 #define END(name) .size name, . - name
 
+/*
+ * CODE_FILL in particular may need to expand to nothing (e.g. for RISC-V), in
+ * which case we also need to get rid of the comma in the .balign directive.
+ */
+#define count_args_exp(args...) count_args(args)
+#if count_args_exp(CODE_FILL)
+# define DO_CODE_ALIGN(algn...) LASTARG(CODE_ALIGN, ## algn), CODE_FILL
+#else
+# define DO_CODE_ALIGN(algn...) LASTARG(CODE_ALIGN, ## algn)
+#endif
+
 #define FUNC(name, algn...) \
-        SYM(name, FUNC, GLOBAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+        SYM(name, FUNC, GLOBAL, DO_CODE_ALIGN(algn))
 #define LABEL(name, algn...) \
-        SYM(name, NONE, GLOBAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+        SYM(name, NONE, GLOBAL, DO_CODE_ALIGN(algn))
 #define DATA(name, algn...) \
         SYM(name, DATA, GLOBAL, LASTARG(DATA_ALIGN, ## algn), DATA_FILL)
 
 #define FUNC_LOCAL(name, algn...) \
-        SYM(name, FUNC, LOCAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+        SYM(name, FUNC, LOCAL, DO_CODE_ALIGN(algn))
 #define LABEL_LOCAL(name, algn...) \
-        SYM(name, NONE, LOCAL, LASTARG(CODE_ALIGN, ## algn), CODE_FILL)
+        SYM(name, NONE, LOCAL, DO_CODE_ALIGN(algn))
 #define DATA_LOCAL(name, algn...) \
         SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## algn), DATA_FILL)
 



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:30:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576879.903529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoKI-0004nG-Bh; Fri, 04 Aug 2023 06:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576879.903529; Fri, 04 Aug 2023 06:30:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoKI-0004n9-90; Fri, 04 Aug 2023 06:30:18 +0000
Received: by outflank-mailman (input) for mailman id 576879;
 Fri, 04 Aug 2023 06:30: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoKG-0004V1-L4
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:30:16 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5fc27f67-3290-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:30:16 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:30:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:30: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: 5fc27f67-3290-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gs04y2bRLoSOIC/O5daECMMYZc7FpA1V1x3wGUo1SAWv+j8Qv043wMdjgf2FGBYMnXhH3wSD9pbA/CI+u4DP1gdEtmr90MTVCrADqKDLaRC80mL68mnkkSLixnghX4cQCI6hqelY5X6L6niq4vTtYcw5J3laJ2/zIvJd3l9HkmOZDg0Hz8jIGtIhS6Q7k65y+V2sIE42ln74k8vmy6+rAQtTmI7u3FU/Mf2mL5BibHmfHwV03JcQUpaoipMH5r9wjNsHM3R3lbqw9fsjzS0kIpiYNpiaqAmntjvrafhg2WISjUQcMS9iFE/98MFrZBVceaLSyxsEM6ziDCQwC2/VVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R5BIsX4FSDC0bHsNPv5zyFFrdlOeD6u1F2sVkFP/hDk=;
 b=GCG6IOxZ/+3H5dB7nFMPA5uJ9Zybi1o3l8J076k3cAVpc9OtnnDAsStoRPd06ePxDQ2LimCwRHWx8vda5XAWSG/HoHv5aAT8UZold+xHpXV+U2USz+AAe+p1h6nOxokaHeRVlD2A4oyO93pIvo9VfeKwhQwPjhlIPRPhVQv/NSUuwxuknNk1RT/pUq3kkH8an4ZDOqFmk5SX4GMPaKyl1Mi0rHL8i1q3KdoxaGPNtEOMVtqwaJi6vH04Jhl+pzHhHVxOdCQgVrd74aZ7qK9oopd3A6zQXQbJ4k8/1W2kHv+lUa3A+HPMIpotn3exIcURSgLTLdT7k3jHo1obXSCqIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R5BIsX4FSDC0bHsNPv5zyFFrdlOeD6u1F2sVkFP/hDk=;
 b=REvIjxpOiQ9k8mQbOavFaTAXXZ0UJ8797VdaQkxMHxks/8SOYPghJhEQ+XRHwgJd4kzpi1k1QJqE0wLL9X30aNX10CgIAWfHNqwAM62EgHA8WrJyfr1iRKrZ+9xqiNINy8asF0SYWJCeYM1uSBc/xyVJX/CVRMBtZwiQAfcaiSSRmOIlpA3vYOoSTddxQVe3GH/w8exJHpp8W41Vz+T9YWflREFO5lbWeaHZmalysDBqkTtWPPHefiCwaw0CuR1Pmr6aJOb4lciunIY+JvgPLqkxPhNUkCBH5nXSFriSolbPoxhjstLULS0pVnnqH7XsBk3a7QKbCTSBM7PDJrnHeQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7f855a0f-602f-910d-8fd9-956b379229f3@suse.com>
Date: Fri, 4 Aug 2023 08:30:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 5/8] PPC: switch entry point annotations to common model
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0204.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 5586d770-0169-415c-d8a2-08db94b44373
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IY9cps9VzvlNY0zPpJCRsNSwd9y7evuPlYSh5JA5lnm+j3cCcjtgqPFH3G++IenLrEotc5BLNbrzIlbya89WPtjiXhHg2EyPmGRiDeUQ+OYfDHGjUsUmvtG8qdC9lA7cnSSeZ5sTYSPJiC3OYWwUatnxGHZ+uCCzLO2RjMc5Q+C48zRe7G8qoFT181P0+BUPU2DhxeB7qAFTVYym66cwWPUIzLhHqNROzvulL1niXVxSLqfKAzQODOD4AtEing6sVeSLW2TuPER8rlvagpeWemIwP8pJUZtvLdui0GqSzANoGdhLXglEYzk3gwTffzr9zgbsJAP024c8FH0ctSsTuIPQEo0ppew6D3qvUKz9XikJMQFzzL5r4tQQLEM8puMZ7mntm0kTOXnbm1Lsa3ln1HegiY4aVkyNADirZLfD3OSdMqn5rEjFjFzezs9x0CnevpciAP89Xr1GGJMYwkMfWUG233ld/rBTB8pDeceuo+X9HcaNH1FoKxvCUzhG0Y9dMDpkYmHlC43z92+kaOyOCL74PQPm0PwmpQS5e8pj8hE5FY3Zwmf2CVPG/prfpOT/2tL1dDh5EzbeTS+Vx4IobEcVbeklbKSo6KuLYx8HDsWktZcfA2qFRCi65wleZeA3aT9jNe5RzcVk/SNY3a9ecA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?USs1K3ZLajNXNUVPdCtYblJVTjFJd2Y0ZUJnNnVFS1k5TDd5MUxCdEVJWTBx?=
 =?utf-8?B?VXZ2cFN1bksxdjlNL0VNRHFvSEluQnk2VlRPclNkZnRLb3RkRlFXU1IvQVpH?=
 =?utf-8?B?QVhrR29KTUVpbXdNbUpIOFNvSExpRVllbzhJMDJoRE9WMTZrNmVzWFVrK2Y5?=
 =?utf-8?B?aklwS01tQzg4TTBBcTJvWTF2QXFkM1VxRjJ3YjZRdWF3ODJac0s3UzZpVEtM?=
 =?utf-8?B?V3VibER2a2F1MmVkSHBheHN4YThlMlBWdGFSZHRNQ2dCZ1VhamYwS1VvMGE1?=
 =?utf-8?B?Ty9kMUxTaWRodEV0bkRjT1ZTZnJHdURncWs1ODFQdFJ4Tkk0Skk1U1h2Q2NR?=
 =?utf-8?B?TXd4amFCVS9xd0lyd0FxUUFuUGpLK2JqQmUreFVObUR5L29BT3N3cnI4RWli?=
 =?utf-8?B?NG1LUzZuaXhzK2l5TUVEOGFEaUduWlU1MThOVmhoTkRXRjR4b01kakNnZnNq?=
 =?utf-8?B?TXc0Ykx0R2FDT2lwRVlwUE1Ed1pSZEZsOXE2NjNGMXVieE9lekRmK0dQVWRH?=
 =?utf-8?B?RFBOSEZaQ01qMWY3RGFvSG11SCtBUTJoUzQ3RGorS2FBOGFCblgwVDN2L1Aw?=
 =?utf-8?B?SnN0ZmlnRnBiZmxvUnM2TGZPMENydmZjTE9aVTUza1F3SVZvUzNZeXBpcGVk?=
 =?utf-8?B?bm1ZdGlYNzJycnltaGlWQlo5bUpCSUtXMmRhck14VjRJcS9ZRUl5d1RTNWo0?=
 =?utf-8?B?QlNHRzNLVjdIS21SN1dVQjFaR3RpOVU3L29vTERaTm5MM0Q0a2MvWTBTQzBE?=
 =?utf-8?B?QndacGgzbWY3bVo0b1NWZHI5VjJnZFhNdGtyR3crODNxeUtJUWxmdEtNSFQ4?=
 =?utf-8?B?V0JreUVpVXpKRk1OU05DS0tJQ3lZanpUbUtpNFZQTG5ENVVwUkhiY3Z1by90?=
 =?utf-8?B?dUtXZHltWlEzK0YrclNWTmhseU5xTHRmTUcrd2ttL0JVMCtvV1hhdnUvNnlW?=
 =?utf-8?B?S2lJOTVxUERUa25WdUMxUzduUGtRVjJ2enI0QXA1MC9zaVhkK1NtUkZRY05t?=
 =?utf-8?B?QnFvYkM5dVFWWndvQ3ZMUysraE5aaGFIRWxMWE1IZkg2bWVBQmpmK2NMR3pS?=
 =?utf-8?B?WEZNTndxSjdrTGVmWlIwUlZ6dFlhd1NpWm40NDhGT2lGUmxNOW9WREl6ZTV1?=
 =?utf-8?B?SGRMRWV3b3dzVU0zSEtKTzkvanZRMmFqM2xEZXVqdXVVSW96SS9QTzZxbE1q?=
 =?utf-8?B?b3MrcnZxY2g4L2xVMXEybktTdWhDVWErUFJ4WkszTEJTa3U1U1NpcklPYUVm?=
 =?utf-8?B?VkFBMkJDWkFScEVjVWl0dFN2NkVvWTVMZ0NJMkdnZFpJTGp1enNacXRQQ0Yz?=
 =?utf-8?B?WWh5SHc5MU13alVSb3JoNWs2SVZnU3dnNjhmMVprUHZycjliR3JKVS9GMEo4?=
 =?utf-8?B?cnFOOC9Obnpjak5ROXVsVUFGdVFzbWh0TEZTTlorcGJDZytMYVdTRkRmaDJ4?=
 =?utf-8?B?NFBPV3c1SUhwMzcyTEp3WnNPanFLaGRMZE5YSGwyNHdxL3VJalBic1VBaUtF?=
 =?utf-8?B?UXpNblZOMURsT1h6VllvWW5NMmNHNE9jK0JJcjQzNG43VDNuQ3Nna2swSHBM?=
 =?utf-8?B?YUVYZkF0TVRSMkRkRFRpTWlsZTVRTGFyZkhaaHBxNTRueHE0Uml5VW5XZG9U?=
 =?utf-8?B?d2ljWWtvQzhhRzFhTk1kVE10NXJCZHZJOGs3UW01SFY0ekhFMnhubFdLVFFl?=
 =?utf-8?B?SG1oUE45emlRK0dyVm5PSHBTN1NRanpqNElLVVZGVmcvTHlOaGQ3ZFI4YjZm?=
 =?utf-8?B?WWNOQTRDc2w3RFZGTjFsbE5YTnNTNXJjM1dPSllvcVoyR2MrdFhhOTZqSzJD?=
 =?utf-8?B?azNzOGFwdnlaN3NYalNQeUZBVDBtcmIrb1FTb3JtRDBLS1ZrWW50NHNvMnJx?=
 =?utf-8?B?SmhibXhaMmxkd0VudHEwQXk1d3k1S2VFa0pOeHlnczU1a095TEFuNS9ydmdr?=
 =?utf-8?B?Q09CS25HcmQrMGZUaEN6RDhLdU4ybGxIMDRWME5YYnduWVpwQThmUlNJM0Vt?=
 =?utf-8?B?dEptM3FZUFpxbHFtUWdhTDRUU2FzdW0yR1g4ODFyMlZiVTlsWHdVL0E4dmg1?=
 =?utf-8?B?OGFXWDAxN3RQdlU0UmZnb1NkR1RQems1M0MzV2JzNXZ2UzJvNmFvQ0tQQkJM?=
 =?utf-8?Q?H4cFnYWbA9K39mdAQX7f+z0Iz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5586d770-0169-415c-d8a2-08db94b44373
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:30:15.0839
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 548XGWNPmS4WUxgWjBCr9m2i63ALLZf15s/z9SveaL5saH7UofCEGCCGwy+sX4Zp/X+r5TKBH93+UX/BUqs7KA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Use the generic framework in xen/linkage.h. No change in generated code
except of course the converted symbol changes to be a hidden one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v4: Also drop #undef-s from linker script. Re-base.
v3: New.

--- a/xen/arch/ppc/include/asm/asm-defns.h
+++ b/xen/arch/ppc/include/asm/asm-defns.h
@@ -2,6 +2,8 @@
 #ifndef _ASM_PPC_ASM_DEFNS_H
 #define _ASM_PPC_ASM_DEFNS_H
 
+#include <xen/linkage.h>
+
 /*
  * Load a 64-bit immediate value into the specified GPR.
  */
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -31,12 +31,7 @@
 
 /* Linkage for PPC */
 #ifdef __ASSEMBLY__
-#define ALIGN .p2align 2
-
-#define ENTRY(name)                                                            \
-    .globl name;                                                               \
-    ALIGN;                                                                     \
-    name:
+#define CODE_ALIGN 4
 #endif
 
 #define XEN_VIRT_START _AT(UL, 0xc000000000000000)
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -5,7 +5,7 @@
 
     .section .text.header, "ax", %progbits
 
-ENTRY(start)
+FUNC(start)
     /*
      * NOTE: argument registers (r3-r9) must be preserved until the C entrypoint
      */
@@ -36,6 +36,4 @@ ENTRY(start)
 
     /* should never return */
     trap
-
-    .size start, . - start
-    .type start, %function
+END(start)
--- a/xen/arch/ppc/ppc64/of-call.S
+++ b/xen/arch/ppc/ppc64/of-call.S
@@ -23,7 +23,7 @@
 
     .section .init.text, "ax", @progbits
 
-ENTRY(enter_of)
+FUNC(enter_of)
     mflr    %r0
     std     %r0, 16(%r1)
     stdu    %r1, -STACK_SWITCH_FRAME_SIZE(%r1) /* Save SP and create stack space */
@@ -78,6 +78,4 @@ ENTRY(enter_of)
     ld      %r0, 16(%r1)
     mtlr    %r0
     blr
-
-    .size enter_of, . - enter_of
-    .type enter_of, %function
+END(enter_of)
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -1,9 +1,6 @@
 #include <xen/lib.h>
 #include <xen/xen.lds.h>
 
-#undef ENTRY
-#undef ALIGN
-
 OUTPUT_ARCH(powerpc:common64)
 ENTRY(start)
 



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576886.903539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoKx-0005ch-QO; Fri, 04 Aug 2023 06:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576886.903539; Fri, 04 Aug 2023 06: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 1qRoKx-0005ca-N3; Fri, 04 Aug 2023 06:30:59 +0000
Received: by outflank-mailman (input) for mailman id 576886;
 Fri, 04 Aug 2023 06: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoKw-0005Xp-Hc
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:30:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77f071ab-3290-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:30:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:30:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:30:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77f071ab-3290-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HHL+forgOo8Jz3YB43ApbkgYBg2Ym6HtSRpB1xb5theZTI7WcXi0EMdMgrJUx/dGE7+ur4P6GWsACnfNszNGZVPFoglqOde7OzTyV2ZRAjSswpOzzTFueaAND2UtSURr2MMf6bW6CKV5PTfEjSE8qBAXTX6OLUBu9DzKGspD34XVkeuVi7fcJqKM9VPkdW9Ruc0fYA9SHJwVyzER5LX01A0dpTnzsyfVhpvDMhAnEh4YYKAtAKWEdb/541T+aKyX0K50sl+nAYjV7bQTJNanazVqKg9cqvKbZ/cTLBUxAwydX5HY5+WW7D2CsfYD8u+Tsmm8uWLlPhXZ5T1KfsMBdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NsniVDfE1jEbPDiRAa4YFhSNPmca1KwD931ycm8eIt0=;
 b=crTiQ8ONOTkc3IHEJZi28WmOQ3iy3mRe/vlktM8MaycHpqarVU5yN9XXjiSFJCgxrNKSQDuKFaj4KZ6wRBlKQ/qJ4pP36TIF7plZ2pbAulyhF84U9qi+IlaQzExuHq/NpdAbcyn67JmdTVY0RpzDVOLFasukq6MhTqh/1bYnes+1JXiwhr/t/tRQ6OGgG4F7bDxw7zMmX+Wa913bkjfvl8t5fRKoUa/4TK9IMOp+lrEGMq77JUVjAmC+YkKNjZWiYl9gYHgNjfiGOVf0pmnaGxT0ePjCU3g3B0yow6djbuPA5EUZOnjKqTFudLZaQ3BtQKXCWMs1wIvleWwIQBR67w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NsniVDfE1jEbPDiRAa4YFhSNPmca1KwD931ycm8eIt0=;
 b=gnON6k4R+Bo1aizJX5RqPtvVurC6OWcYFHsKWzkseCB7pRXVqfCAUUH2jN0Ms72Aje3o1DStulE1HnYpbTmgHyeRRZqyBA8xLFoCpd3oE3CoAAtckM8Yq6yYChH+9ia66zyT3zEsAju+TuRzGg86QYaM0YFRurBFcnqK6uu0w3tn8oA5gWqBOeClD9n1FmNVjXufhFl6zcouAKBHm/+Lx+qB+TFywO6auHOmG3g3cYU6DO3NT4qUaJr2fhkfPArFDVwm1CZDmBLLkSZ+T+g3pDBNVxJDWe5Ame7V0+dDEBBDSG2JXaXVOZo1ryiBVRjRup35ZbdvR3dR2slFDA/c6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2315f865-cd41-b0e6-524c-cee57e748ba1@suse.com>
Date: Fri, 4 Aug 2023 08:30:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 6/8] tools/binfile: switch to common annotations model
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0161.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 59dd9fa7-a0de-4629-c9fe-08db94b45b53
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZBOa+k3szAVW0vsxBeYTgdpoulw0YQT3Wd9B4p3m9kXbf+S5duWzFR3z6uFx13WcBQMksVTJhj/TC9B+osz/biRN8Z6CAlMa50a8c8K3WIrpG6besplM/NECCPt9Le+smvoVcbMaM0Z4mwHMX3T2PGIEJD/RaIFZPp8IKsH7DtPuIW2TChrvbm1M4/x7xjxDRVgW4oi7KW59XGknmq7H7p+P8MXW0lhYuQ/c9mfQjN8JL5yrzVeUTGQIcDRbSmfFIq6n9jLE8ABv/7jltIThjblt+pYBX8zx3s2meU4hGLtX/s2JVKh742K29SLIlv6o8xEplCW+GYKO09ECRnW7ojE3ECr4+diUIA8mZ8SuiieEZscYdUnXf6Cat8zPL0Y5zQMJN7yIlA5oolGF0rQRYDfLomrQrkSBvxZ09NDTEnuCeUC/SZ+7b/5TFWYc8cJW/Br+0yef2p2tA80VI3JVzx7tw5m6RD659i7X2fjlGY9pe1rngjtMfTrUOYs+UAfCA7G5YqJd7X7513oGHA3tZIVLthKjTlhitI6lIM+BzPf4nqYxnJeUZ2iEvgQAtQQWoKgou9pnYu1o0ReKvvm3cpN9/g0ZAlc2MDcmHg4KT4zH+KX6ki1+c68ZfK4aqPSU5+ImLO3w2h2K6aee3+/2Pg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(6506007)(8676002)(8936002)(31696002)(54906003)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(4744005)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFlCR01iZGl4MTVUNEVaR2hHc0pVai8zOE5VSEgxcGs2b2xCbVpUOUJCVGQr?=
 =?utf-8?B?RGlJVlA4dGhFdmU5dXAzYUZ5WXFrQkhpeHlxb2pXNGtsVnVTLzdHZURXZUpj?=
 =?utf-8?B?MUwrSnhKYm96cisraG9sd3ROUkVHWHFOakc4NU1lRmU0ZmNWamJBSmkzMHUr?=
 =?utf-8?B?S3FEdzkzWXJtVWJSZUUwY2lEWDVvOFc4T2pERm5FYlBoU1V4Rkp2TmJyREFx?=
 =?utf-8?B?YWhsUi95NXVQMHU4Rjcxd0JsOWJ6bDNmb20yUUUwUmV0MGZMcFkxTEpwVmEx?=
 =?utf-8?B?MU40djg4R3l2dFBzNldMWVF4czFKamxMSS9qUXZxUnNoYkFsaHh3MklZMVFY?=
 =?utf-8?B?R2lESVBmeTRGT0NRdkwvWERlYU1rdHNUdVVFOE95c3U2aWhKdnFIMmxqYW8r?=
 =?utf-8?B?MWlIVC85aDI5dTBtRlp5b0txTlpDazVNQm1zeUlRWTdLY0lHZURGZWlxdHVS?=
 =?utf-8?B?eUJ1ZWNkRWRQZ1k3MUlMSHhML1EzcG5GWXFiZnl6bXR1VU1OT0R5NXJrMklK?=
 =?utf-8?B?UFU3bUpqQVVNWkhOYi8xQzhUY1ByOUViU1FoeDZ4a002VkdWeWc0SGpFc1BD?=
 =?utf-8?B?bEZ0RHBaaG1FNFh5K3dlRDNockZOQ3NtN1pLNlFMMTFQWGMyTVAxelF2TFY2?=
 =?utf-8?B?TXBnYVA0bDdZdC9QemgwbXhNRWJISXlxbWVKSWp6dHA0STlUbm9zZ1g1VmRJ?=
 =?utf-8?B?dGRIU2FUc3J5NEh1bm1UREpXekpKSU13QUV1YTB2VUV3MDIyYmFnUHJHeEJ6?=
 =?utf-8?B?aVBHdmxkQUhlY2RPWTkwalczeUtwekZSREpBa2Y0WnBXRVpQMzgvWmxGaFBR?=
 =?utf-8?B?MnVNU0pqa21uOGpUZW54aFB1SHRQeHdTQVcyK2lWdHE0SEtRMW4xK01qeFY4?=
 =?utf-8?B?WStYUFhOcktxT1ZGbVFndTlYY3ZMVXNjc1JDT2phYUpuZWdvY3NBY2VpTWJV?=
 =?utf-8?B?UUVVbkVmdW80dk9XQVRDdEhJWERIWDRFRFphV0lpU2RxQXFVcUpocytpTWlv?=
 =?utf-8?B?TEhqQUwrbzdFcmd3RDRCM041Y0liWDJ3b0lHdWtTQjVWTUN1ZHNGaEZNTmFV?=
 =?utf-8?B?NHcvUDJXT2Y3aVR4SGl3dnFpRHZqbjdjbXlXNkV0MkkvZlo1NFc2UnlmazZi?=
 =?utf-8?B?SUxDaS9OZXNTbE5yNWRFWGtCUmRHZm1NRGw4YlZ2OFFHaU1TZzFwa2tvUGpa?=
 =?utf-8?B?TzFwVGc4dklkUHNuZlo4T3hTSndkM0xacEJmSi90SXJXYVNlUG9FcFlWOUFD?=
 =?utf-8?B?NmtTTWZNdG92aWllQndPcmVndTQ2ZzJoRW1uZ2w4Yy9rTXVyb2Z3eXlSN3Np?=
 =?utf-8?B?aE5JdWFmbUs1SEl6NlcrSndrY0JDcnJJRys1a2NUa3AyUXk5ODM1QmFWVmhn?=
 =?utf-8?B?Q3oyWXE2TjdmcEdXTURtZU4wYy96MXVVWndtTXJNMTFlMG5ydVJTN0NsUTFE?=
 =?utf-8?B?QTdNakg3RVlNWER5L2txR1ZjQ0s3VktTQ1J5SXQyWndGRmdYR1VHME85T0xi?=
 =?utf-8?B?NnJwS3RGRFNWK01mWnJIN3lmV0d6YUVjRE1aOGFodU1Rc1BsT0RpanlFckpC?=
 =?utf-8?B?MlJ4ZUJXdGwvNlplSGkycW9XaDdJZFA2NVJ5Rkk0STBDcS9SQXhuWEFxOHZR?=
 =?utf-8?B?ZEIxMW5ZNTAveFVuWkpna0Y3Um5EMGF1VUlEbGR2YjJ6UUI5ODlrSzhHTWln?=
 =?utf-8?B?ZVNjT1NrQUMvMWJoSUlSdmxWZXdaQjdlMGpzaC9UeGJ2ZnY5K0liSnZ4S3Mz?=
 =?utf-8?B?N2QyLzN5UjM0MDBSS2ljb2IzMXlOS0RzUzREMUhBOW1WMGJLZEtMWHlWeEVX?=
 =?utf-8?B?RTNocmxZc3dUNzlLL3QvN1pZd1MrTlp3QW9WS25qTTk1Z0pEWmFxanBRYnZj?=
 =?utf-8?B?cDFBRDF3K3FHOWdYVGZwRFlKZmk0Vi95MXFUV0syakN0QnJydnhVNDl0Q2Jn?=
 =?utf-8?B?VmhoYnFzUitpNnpvM1BFSGFUeDRqY29yUDNpaHNqamtpTG43Ynh2ZDl5eGZU?=
 =?utf-8?B?YnFZNDRZcnBzYnFlckJQelorcTZHS1ZIWXNMRERvdEhhZlJObjl0S3lmWmUz?=
 =?utf-8?B?VTFLRUd3OG5FK3llZUZ2aVloZ2RHd1lSSk9HekxLSzJxVnB6S1R5ZHcrVjc4?=
 =?utf-8?Q?TC69JRv8Zdtch22N8ciWpvQtE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 59dd9fa7-a0de-4629-c9fe-08db94b45b53
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:30:55.1966
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mJ3tJZ/j1PebHfYc38cvRsyiVCRR/i+/bgZogqMyL1uX0us4EupZkz/HK3EBhrw4b1dMQkoTX9xo0o0Vo6JOwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Use DATA() / END() and drop the now redundant .global. No change in
generated data; of course the two symbols now properly gain "hidden"
binding.

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

--- a/xen/tools/binfile
+++ b/xen/tools/binfile
@@ -29,15 +29,10 @@ cat <<EOF >$target
 
         .section $section.rodata, "a", %progbits
 
-        .p2align $align
-        .global $varname
-$varname:
+DATA($varname, 1 << $align)
         .incbin "$binsource"
 .Lend:
+END($varname)
 
-        .type $varname, %object
-        .size $varname, .Lend - $varname
-
-        .global ${varname}_size
         ASM_INT(${varname}_size, .Lend - $varname)
 EOF



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:32:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:32:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576890.903548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoMF-0006Ea-3K; Fri, 04 Aug 2023 06:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576890.903548; Fri, 04 Aug 2023 06: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 1qRoMF-0006ER-0d; Fri, 04 Aug 2023 06:32:19 +0000
Received: by outflank-mailman (input) for mailman id 576890;
 Fri, 04 Aug 2023 06:32: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoME-0006EL-O9
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:32:18 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2083.outbound.protection.outlook.com [40.107.7.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a84a7ed9-3290-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:32:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7549.eurprd04.prod.outlook.com (2603:10a6:102:e0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 06:31:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:31:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a84a7ed9-3290-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BE8IazFiMcKlt9EJxkTDglsHSdtX1En1Utjyrg3afWbPKgs8Rcd93/EIhld5TOWfCIWjbXX7OeK/BVWUv5ZcqqzEy7+TpvHWvqjzukfBdTu7wbv7xSpuq21DS5BJ+M59hwfmSHc7d+XBp/J1yHclJXTuloan5JH6/vr2NUQDUAZJZ6nlw6MAU9fTxsxZkLSlZiKXkAcU7SyPtNttungAWfhVV42CHqWCziLIeFWA+FRk7F9BuZR5HqPRjnYRl5/+owP5yN1Hd0yhMkwah2TKPEBReBfBRQ3uqFmgbwI3cuJM9J1+voGFYZPxckXxZc32HgwCou0a4fhGAx6Z5prFCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r8ESduLaN901hoKEazmFjnm9TC717oIo0zL1AjWTDiI=;
 b=TZMSoqhzDlqo8z2+yG1eVTIeXzqzMpdUDHHGtDDCnIWZDntQrHkQDq6Nle5KI9r2KRPHP1ZOEIw3FZAGn1S/lQDqHQ0Nmlh9M3qblS5D+uH5R/URZKk+i+Ha6ZVVX4FUk135OXqLCz+/N0mFzNSQ3ErcONNwq9wCJlq63N2uQq37jzUUfhGevVSpJgRQ+NYOFdWSOwKMneInKZH/LFIHSoN8XujxqPMN5LKwTC7W/51p+MzrD+Qe5tqQ7FWScQ94bk0vp5YAkCo1/+9ekmVUzXX2003t9oBULppVtEXuNvcQvM1Rk8ndKIHXlGF9h3lgalsGIfJgTE+7jlz0qfkdmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r8ESduLaN901hoKEazmFjnm9TC717oIo0zL1AjWTDiI=;
 b=rl3zp4Y+kxfANDy6gJJaRy2qAPulxXM6RdBSKvC5csSmUqDvJzbARBOkC6klPf65Ptm5RZZNCtUufXzQsNFlfPJX/5UdtfCBtBxiJ6KkhrkP7UxNEtJXkkuCPO4KZCS+BwS8PFMCClalAWAJTlYwHWGml6Ok3k9JIgHx2rwC+r3cyp0+Lfzt6DgODTtTEBUkDb1nb4Ece0hEbtEwbJ64UCFZjK4WodTEFdgeFCd0P/vlxN3oWezQBG7M4sg0YseWCZHFYLdkDByW7hDuzkE8YUz0WqrTocr6mbPodjZ6D1sVvNKFWc7AJLwxENTZAvLZve95FIFREPZvWrWugPGuWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fb27543a-a059-e9ac-5373-255a8f6edc14@suse.com>
Date: Fri, 4 Aug 2023 08:31:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: [PATCH v4 8/8] common: honor CONFIG_CC_SPLIT_SECTIONS also for
 assembly functions
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b5d8f3f-4935-408d-cb3d-08db94b47ad8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LRTipeec2RrFtz2YmC2S3V75mz6J9IVrn8Cz6aEK2EgsbF1KXjISQJCcd/taM70zyOjMAI076W5ePPMThodJMnGkB1r+EjUSiZZQzy0JZ5Rha2e8ill4++Nm6ZtEWDMm86KY9A5ODu7DsqcVUdQ6zwOO1CBfqha6B+j6Y6jWIVVixJFCDnEveFq4XH8wbO1H7sOC9JOKiIywmmatIORRM2ef+XjfmJ4NYcIAQudDWaS2k3gUbq5jf9fDaposn+z9eLQz83HU7He+wFGmoY6FCsNyty+F1dch/MGxINqyh8ADKezpeoRw+5LkpIEvusv8YBQBVkJeePuF2lVjdG8Z3x0sCztApDX36GZWIm9OUe67AdiuSbUuR+xUab1gU3qmMss5u6jq1exnnkAPQ2GDbTJ3R+Yh5cMy51znEyAuhIWZAbsPINdrnB09hGPuWffWVZVA1woivJ1T5pY6fHf4SWLu2LNIraldcOFz/pPnmQLdkWPcd3x1RGc+Hnx6CTikzJ357sEMVvOYeqRegqQbd2s5FjXsgx8x7vAZmjeuBwECTRrW7MN1+33pEvN1jP0kz1ff15NZXCTltTxWXf1e0/qL2nrcfPW/bfW9nZJv4yZC4sk8sd9ARs2Ma9uQoYtvo5j1p748nLHebn9RROhwYQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199021)(1800799003)(186006)(4326008)(6916009)(316002)(2616005)(66946007)(66476007)(66556008)(5660300002)(26005)(41300700001)(7416002)(6506007)(8676002)(8936002)(31696002)(54906003)(6666004)(6512007)(6486002)(478600001)(31686004)(38100700002)(2906002)(86362001)(36756003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2FLTmNKazJndVBrMXY4MDY3aXQrMmo5N3hITmN5TmowT2xHU25oaGltS0tm?=
 =?utf-8?B?YjRBRnByNldrWDZWSHB1UHBvVHd6U2xuekdSYXRyNlVZbW9NenFHdWNPdVBH?=
 =?utf-8?B?ajFzam00ZTI5YTkxb3V1WlFEdm9TdEZ5anRocG9vOEhUVUd0TW02em1MeXd4?=
 =?utf-8?B?aEFUalFtL0kwbzl1VkhPeEUwMERUU3hHWThxYjVhajlKYnFBaUR1Uzd0Q1Zj?=
 =?utf-8?B?NzJQbVdPSTBPQ0ZhNEZkOXIzMjhkYUZ0em1DVnEwRGxFdmtKVTZrZlVJZFg2?=
 =?utf-8?B?K2Y3bkFVN25YWHMyUW1xa1Jid0ZLUDkwZ0hFZkRqK0Yrd3B3N1VrZWNnVXpK?=
 =?utf-8?B?aUNHa0d4azN6RFJ4Mkg0ZTVhQi8vNWM3Sjc3NXpLNFNmakc1eitZMFpLVTBO?=
 =?utf-8?B?TUFNaWxOQzl0NHJMZHUvVjJHc2xsSnFiWHhYR0NBeTdxeWI2azdvcTkwL05B?=
 =?utf-8?B?ZlJWMmIrY0l6VXQrQnJwWmR5TEVDd09lWHpUTEVtYVRjMlp1c2pqQ3ZTWHhW?=
 =?utf-8?B?NjBMRUhrWlJxdGVzTU83VDJ0VnM2SXR5QlVYUXZJczQ3SDNhQXFtUWlUZ3Bs?=
 =?utf-8?B?Z0lhVTZtTzhpRmhuRndSN3R2cDl5bHV4dE40Vktydm5WWXI0clg3MDB3N3Av?=
 =?utf-8?B?V1hwZVBLUHRyQkRXOEIxRVl1b3E3TWpObkVVdW9DdVFwUE1kQ3VlU0ZLRFRD?=
 =?utf-8?B?bmJlclNMQzFIbUR4RUROam9UTnJkN3VtQWRpempZQnYyQ1dIRGo3bTlzbWNs?=
 =?utf-8?B?ejZweXQzZnZ0YkFnSWpqeFlHa1NFYVluV2xwdVZKYkc1dmtXcDBBWUZUVDl5?=
 =?utf-8?B?Vld6M3VXT1hHNEljbHVjMHlRYkt6T1YxbEZsZjcvVzNKUzNjK2N6ZUdESS9v?=
 =?utf-8?B?YU40eHQySjVXVFN1SDNKaWtUVW1IQWE5ZzBJTnFzbE11ZUlOcUtGMmhCZjRP?=
 =?utf-8?B?NWl2QVdpbkgyR0trMG5JUUxSN21FWHhRMldrTXQzcGFYS2hTSFl0QUM3SGR1?=
 =?utf-8?B?VklUU01BUFZpSDYzOUR3cGRFdnBJQVpjTFEvd3lCQitGbUFNeEFBWDc0V1lT?=
 =?utf-8?B?MzR3NWlPdVI2eWhFSnJ0emloY3ljczJMbVYraytlZmkrVHZQYkpwSGtQZG5S?=
 =?utf-8?B?cE16UG45M0xDMGpITDF1QmVoWG1ETzlPZkYvSjNDSnNGYUNXbXlOaDBIeFJv?=
 =?utf-8?B?Zmxsc2RBelVqdk9KZjZyMDNtU1hSbjBZdjI0N1ZkREswQ3kva3RhaGNpYWRM?=
 =?utf-8?B?cFFReXl1RGREdUxXQTBBa2NkTVFuM0JZeWRXT2cyNW1BQ1pMNmkyWHdpOHBJ?=
 =?utf-8?B?K3J4a2U3cWRrbk81VmJwcjBKVU5VNWVaMitISUFFcGlFdEFFTTVwb1RURDgy?=
 =?utf-8?B?Z3lFT3g0K0hRUDRCd28zLzB0ZEFkdGlDeXVqNVh4Qk96c3kyQk0vZlFxNnE2?=
 =?utf-8?B?UWZ0VjFOUmI1NVVjUmVsVUV1YWVIWFI3OGhGU0NXb1dydm41cTdyREpmZDZS?=
 =?utf-8?B?dnNlL3lhcmhKcTdGMnFlVFBKMVBnOXJWaVRlL09MeUFYVTZlVVMybDJIcklx?=
 =?utf-8?B?NkZYUW1oK3RxR3o3RVkyNEV2WVNGSUZ3QlRwL2w5YXB2anNBcCtCWUJ0QXBt?=
 =?utf-8?B?N01QWHA0Mm8yV3RnT0d6WFdwODRQcXFkK0hIU3E4REFpSnkvNXhrVmVwNENX?=
 =?utf-8?B?aS8xZU94cDB3T2tjRDM3U2ZJMi80Z21zTVljN0FHYVdwWjNHUFQwS0pCbHkv?=
 =?utf-8?B?UDFwbHVKWFlCMm54YnhjUW5XSEFEQTZOTkVLSWQzTTQvK0h1TFdQbGNQRHN3?=
 =?utf-8?B?ai8rbjRkT05KWEFMTFNTM0JGYUZCWFJBS2ZYRWJZMlFwcDVzU2hlV2ovZ1pF?=
 =?utf-8?B?b3BYSk5LbG9tWlRjWE9iOHllSWRPNTFWMGtlZW5SLzN6RXlTWmEvclZuTVBv?=
 =?utf-8?B?bGZrTjIwMUx0STh6RXlHejRSdjlLb3E3YzNvZVozTkFtdzQ3bm9sNSswditU?=
 =?utf-8?B?ckkvU1d0eEcvRjhoVTh6YW5qRkExZmlsbjdETWJDbm5yemR2WUpZUDFML21C?=
 =?utf-8?B?OUpOc1NQSUdlazBOTk90SkZ2dXlmYTRWY1NHZUQvZG5xeGZjQklSZG5MRVhS?=
 =?utf-8?Q?E6GMYFG9kdobM9Oae9VA/V3Lp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b5d8f3f-4935-408d-cb3d-08db94b47ad8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:31:48.0233
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F9TZGOuYH95OnhlSGTOwIFYrkRapOM9067qrSi2f29oS+b17cfaF8fOgy2C+31Aa3LjdjWqW+Tvv7MK9Uaim9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7549

Leverage the new infrastructure in xen/linkage.h to also switch to per-
function sections (when configured), deriving the specific name from the
"base" section in use at the time FUNC() is invoked.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
TBD: Since we use .subsection in UNLIKELY_START(), a perhaps not really
     wanted side effect of this change is that respective out-of-line
     code now moves much closer to its original (invoking) code.

TBD: Of course something with the same overall effect, but less
     impactful might do in Config.mk. E.g. $(filter-out -D%,$(3))
     instead of $(firstword (3)).

Note that we'd need to split DATA() in order to separate r/w and r/o
contributions. Further splitting might be needed to also support more
advanced attributes (e.g. merge), hence why this isn't done right here.
Sadly while a new section's name can be derived from the presently in
use, its attributes cannot be. Perhaps the only thing we can do is give
DATA() a 2nd mandatory parameter. Then again I guess most data
definitions could be moved to C anyway.
---
v4: Re-base.
v2: Make detection properly fail on old gas (by adjusting
    cc-option-add-closure).

--- a/Config.mk
+++ b/Config.mk
@@ -102,7 +102,7 @@ cc-option = $(shell if test -z "`echo 'v
 # Usage: $(call cc-option-add CFLAGS,CC,-march=winchip-c6)
 cc-option-add = $(eval $(call cc-option-add-closure,$(1),$(2),$(3)))
 define cc-option-add-closure
-    ifneq ($$(call cc-option,$$($(2)),$(3),n),n)
+    ifneq ($$(call cc-option,$$($(2)),$(firstword $(3)),n),n)
         $(1) += $(3)
     endif
 endef
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -407,6 +407,9 @@ AFLAGS += -D__ASSEMBLY__
 
 $(call cc-option-add,AFLAGS,CC,-Wa$(comma)--noexecstack)
 
+# Check to see whether the assmbler supports the --sectname-subst option.
+$(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--sectname-subst -DHAVE_AS_SECTNAME_SUBST)
+
 LDFLAGS-$(call ld-option,--warn-rwx-segments) += --no-warn-rwx-segments
 
 CFLAGS += $(CFLAGS-y)
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -154,6 +154,9 @@ SECTIONS
   .init.text : {
        _sinittext = .;
        *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.init.text.*)
+#endif
        _einittext = .;
        . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
        *(.altinstr_replacement)
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -90,6 +90,9 @@ SECTIONS
     .init.text : {
         _sinittext = .;
         *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        *(.init.text.*)
+#endif
         _einittext = .;
         . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
     } :text
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -89,6 +89,9 @@ SECTIONS
     .init.text : {
         _sinittext = .;
         *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        *(.init.text.*)
+#endif
         _einittext = .;
         . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
     } :text
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -86,6 +86,9 @@ SECTIONS
        . = ALIGN(PAGE_SIZE);
        _stextentry = .;
        *(.text.entry)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.text.entry.*)
+#endif
        . = ALIGN(PAGE_SIZE);
        _etextentry = .;
 
@@ -214,6 +217,9 @@ SECTIONS
 #endif
        _sinittext = .;
        *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.init.text.*)
+#endif
        *(.text.startup)
        _einittext = .;
        /*
--- a/xen/include/xen/linkage.h
+++ b/xen/include/xen/linkage.h
@@ -21,6 +21,14 @@
 
 #define SYM_ALIGN(algn...) .balign algn
 
+#if defined(HAVE_AS_SECTNAME_SUBST) && defined(CONFIG_CC_SPLIT_SECTIONS)
+# define SYM_PUSH_SECTION(name, attr) \
+         .pushsection %S.name, attr, %progbits; \
+         .equ .Lsplit_section, 1
+#else
+# define SYM_PUSH_SECTION(name, attr)
+#endif
+
 #define SYM_L_GLOBAL(name) .globl name; .hidden name
 #define SYM_L_WEAK(name)   .weak name
 #define SYM_L_LOCAL(name)  /* nothing */
@@ -35,7 +43,14 @@
         SYM_ALIGN(algn);                          \
         name:
 
-#define END(name) .size name, . - name
+#define END(name) \
+        .size name, . - name; \
+        .ifdef .Lsplit_section; \
+            .if .Lsplit_section; \
+                .popsection; \
+                .equ .Lsplit_section, 0; \
+            .endif; \
+        .endif
 
 /*
  * CODE_FILL in particular may need to expand to nothing (e.g. for RISC-V), in
@@ -49,6 +64,7 @@
 #endif
 
 #define FUNC(name, algn...) \
+        SYM_PUSH_SECTION(name, "ax"); \
         SYM(name, FUNC, GLOBAL, DO_CODE_ALIGN(algn))
 #define LABEL(name, algn...) \
         SYM(name, NONE, GLOBAL, DO_CODE_ALIGN(algn))
@@ -56,6 +72,7 @@
         SYM(name, DATA, GLOBAL, LASTARG(DATA_ALIGN, ## algn), DATA_FILL)
 
 #define FUNC_LOCAL(name, algn...) \
+        SYM_PUSH_SECTION(name, "ax"); \
         SYM(name, FUNC, LOCAL, DO_CODE_ALIGN(algn))
 #define LABEL_LOCAL(name, algn...) \
         SYM(name, NONE, LOCAL, DO_CODE_ALIGN(algn))



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:32:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:32:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576892.903558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoMg-0006kM-C4; Fri, 04 Aug 2023 06:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576892.903558; Fri, 04 Aug 2023 06:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoMg-0006kF-96; Fri, 04 Aug 2023 06:32:46 +0000
Received: by outflank-mailman (input) for mailman id 576892;
 Fri, 04 Aug 2023 06:32: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoMf-0006EL-5j
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:32:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b82b4042-3290-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:32:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9242.eurprd04.prod.outlook.com (2603:10a6:20b:4ca::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.48; Fri, 4 Aug
 2023 06:32:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:32:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b82b4042-3290-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ausqHzoCmVVOMvAxHlOil+uf59t1vqcGTrHPaCncvU1n/cyQeSMeynLEz/jnpKNOqjIIdJg016Mb40wZGw03z95N4pVWwwk8pHD6X55vZJxpJ4QlmC03R2i2sCCZ+KHof2OxuPsx6VcdPEKTZ3fenVh7uZ0Ds4kRXsLakaE+o7cCy8f6KIbzfon2zls9Gls/EmzoFSfbTYSvPhOHZ62AGRSqtlzzg6TZesxlTILGznKtSO3sxWhdOsZPqcIsx+CsI5cUb2tf6N9fBU71hyYDE+DMeIVaDmWxV2tjmiPT/WctXMIqwnhTutBsIm2VZ0CkzobrjxTUh0nh6Y1+bJxLnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JYd+Ywgcxb1lA7p76Cb3f57FcBHVU4ae7hWXTzcbzcI=;
 b=NJNWBBQfjY9hbizmc2j8x3xidKkJ7dyI/RmUsxKreDb9ciShBpdbCAHyIhpi9+ski6DxC60G6hmHGALjLBSwj8nxAoCHb9D+eXjLUQbnKc2d9hbVR9HW3OliwnznUI5GVhO73H1mDedvsrgtujhh5RPLcYjwQiXXra9zxKJVRAmdk1hpHBQ/i3KWOW1iAxTVSX3O+/qMaKHW8dPgzjhFlf9Fdo+p8CcqWz4GwPiHusjyC9Jad5DUY+iBU34lgN0BLqhwohwu0sg9RGEyGyqUB2MUf9wEtRWOpX4jjrk65Ee8Jd05rC4wKq93CD81lkN+zMWDJyNWVg5QpeUHOHNtdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JYd+Ywgcxb1lA7p76Cb3f57FcBHVU4ae7hWXTzcbzcI=;
 b=OXwCqSVf6arXcfZx58JIwM8Zsoxbub/BKASRLMddLmL8LnomtFTlED+TQILUUxJfivM20HBIp9cUYfgn9CEWylA54bmi/7Q8nAXaBNKlBN2fvdiff5YLbJjS7AlrWLL+B91QYf8M0uxaWV6YMVgAwwk7U3bxvvq196E1s+kXsFr4mkq2uGR4K3OJvuWVC9bVn6swmRb5buFkZNuV4KRJprGhBCdGvRgdJOqIfSR3W0sC1XE/AML0kzmIfgxWPD5AOY88muKb0Fkac1W4plJYDyHXqxgCVTM6q3SIZKHHPCUzbqASV54TgWYedtVgbwNtsbrob3F6rt5E06UJB6k+DA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd775e7f-c06e-63f6-a4ac-4904133000d2@suse.com>
Date: Fri, 4 Aug 2023 08:32:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v4 0/8] annotate entry points with type and size
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
In-Reply-To: <bfc597f3-c61c-727a-159a-859f57997d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9242:EE_
X-MS-Office365-Filtering-Correlation-Id: 1acb9389-e93c-43ac-059f-08db94b49b45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8v/d2sE4EV0s6hbiO7Ar641x1+7C6hjeCzIC28OeRA+OkGY6tbhaTHijS5XOBEmuzszsGfKGwnXqoQ26EgnP2jBE7UiJ3xVfB+CRWia5NnTDpMJqiLeT/iO2QRGMD8AIynq2csi1qLPuKWkZ/sgO6zR4NgAj6FMAlgbZmzKMs0ND/laNZFAXgwM+Mbe4tmidUyY2mfZyRu9uYXUh0li44D+JxrJtGiOa1B8wZjR30FGU1Va+Z/Tgc8yuaAranRPGZBCyB471oIdLYkv9IqNMPVWbl9qBRViqRse6oALEcRcWK+s0Pt2dgwMkXCZZ2YLbhWjA0vv/aSynqNLj+0Ls6vUP4MgEDg4MUmibfI5nT3vKvodEqHoTf4Bu8NiFlxsZBFdoK6YjnobWCZsIbmKwLdzSx4nEubwPMQO9jbEWov8T9MY2ve1Sfy5G4OqsmiEfqxl8ECnPO8yK9uyYfnZDBIIV1H31GPz3Bb/ZrI9JS+1bZ4PsxDXfhzEw9u0o3A8M9o+sj7Ope+yvTaD/6qqaynvgEFUlZhBk3NK5tPwQ4WOnsDGkqCixlm9CDA/nZXrr009UHjPiJNFD47YeghplreJVHRzg2d6wl8wCjAFmYy5s7YdXdeW+85qLw4Lc98kJ/EXT8iHrsBeTaknlKNZaCA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199021)(1800799003)(186006)(316002)(478600001)(2616005)(5660300002)(86362001)(7416002)(83380400001)(2906002)(31696002)(38100700002)(4744005)(36756003)(53546011)(6506007)(26005)(6512007)(41300700001)(6486002)(8936002)(8676002)(6916009)(4326008)(54906003)(66946007)(66556008)(66476007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?czVTSlhJWUVpaTEzMkpOSFVSQ2JzL2wwYU5YeHpTVGM2a0dXT0JodWlsRzVQ?=
 =?utf-8?B?K1RiZWcwM1FrajdwTVZSOEprWFdhUlU2YlhUaUtyc1dFbUc2SGp5KzV4Yklp?=
 =?utf-8?B?V2FXRnNONTlmL21qVU9Bb2owMmh4Z0lrTE0wMUUxcG02TnQrN3Jld0lySEk1?=
 =?utf-8?B?L3RzdnJ3MXhlZFgyMEJjbGRETFB2VUNxQm0rSXhUQkNReFlRQ3JyTXZTMFRX?=
 =?utf-8?B?R1lIV200OG41Y2tPcWlXTmt1dFFjbUROMFBFQkhsR3hhaGUyL1NabkRQZ1lO?=
 =?utf-8?B?blpQZVZIUThYUElTQXh2Zit0M2kvd3RlUytQeGk0NXBHdkwyZDlZeEUwSGdz?=
 =?utf-8?B?OGUwdDJhMEgydVdiR2Q0bFJ2bUdweGRvd1ZTNG8wZERKY0lxRnV3Z3RoMm1z?=
 =?utf-8?B?Z01yZERyWk5nbVVBUEVYdElwbzZsaS9jY2FaV3YrYklSVlhwdUlyQkYxaXM4?=
 =?utf-8?B?NjRiZ21Ld2h2WThoWE9NcldMV3h6dElIWFJ4THgvQUxGZjNPWGMxQ2hDeW43?=
 =?utf-8?B?NmJBWDJSS29tLytRU1Y2TGdXWFBTamRRMnAxdHphRS9vMlZGdDQyYVB1NzMv?=
 =?utf-8?B?T1NVMk5xanJNekFOcWxMb1U5NmllZWovd2h4bnJjcFU4NWdJUUpraDZpd0dF?=
 =?utf-8?B?KzZOWHlLelAwL1AxVnhHdlBGVDdLQWZLUzhJU1Z2U216WnhCZmxRM0VhdE03?=
 =?utf-8?B?UnVOdzhlL2JYWGdTeWZlYlQvc2I3NUVBOGQ2cVhhWEJiRDM1a1VHM2JpN2pv?=
 =?utf-8?B?dkswWXA2dnlFck1HdGtGYXU1NUpseGp3YWlXUUh2OWR6ZjhpaVBpb1VGRXVn?=
 =?utf-8?B?RW55NmlTbDdDdGJOMnVrakNyYjlYT1FhbzdrY2RKVC9OSHlFeGRRRnNXMWVa?=
 =?utf-8?B?ZkkxQU1ObXpQYmJ3bjN5T240cVYrZlI0d3B4K3VWTUg5Wkc1N1JmWm9wTnVi?=
 =?utf-8?B?cENia0ZRV2l5MFAwUFEzOFE5Tyt2SXA0cWlBVURrNFM1bGVGc2M3WWt0cXRY?=
 =?utf-8?B?NDNERm1LUEttbXNCL1dDWHRIL1lhUnJEODRlZ3Y0eSszYUlKMmlSZWY2aDhE?=
 =?utf-8?B?eFlKeE04QWQzaWxzUHQyS1pTUS9FSTR2ZE41Z3FXdlI1YzhUTmV1eUhsQ0Nl?=
 =?utf-8?B?elBuNGxPZmN0OWE0NFMzU3ZJRFEyVGJjRHRPREt2Vmk3ODViVkc2S0VJL1hp?=
 =?utf-8?B?b1o4Wm00bnFVNDN5UkNRR01SdFRndEVpQkt1c01KM2R6b0pHeU02d2VxbjIv?=
 =?utf-8?B?blUxcGV1VG9Nenl3T0hlVGw5bVllZUZrK1c0WDJ1WEhXZFp3RXpVWVpEWDc2?=
 =?utf-8?B?MWJ1am5qTDdEVHMzQlpUcTM5QVFjeTMxSlhWbUdyOG00VXZGNHVMNFRDSmtO?=
 =?utf-8?B?RWd1WlM3ZWxlVTkySlpXOGZ6ZWRndFkrc2dvNEltY3JvVi9IQVFKV1M0QkVX?=
 =?utf-8?B?bHFSL2lCbXVvRVRCMUlwS0NITEZ6ZUNydnFDZ212N3ZpMG5OU1p4S1ZmM1FK?=
 =?utf-8?B?M0xUM1BzUkg1Sm85WUJrWWswSEoxQ2xTNFR5WlMxRXhFenIxVTRlTlRCcVcx?=
 =?utf-8?B?MUdaV1VaUjdPT1JiK0R5REhrRnlHNERCazZ2aWgrL29lWG5uUHk5OURyd0lu?=
 =?utf-8?B?bS9rNUVsdDMyZ0xNWldVTW9iUVhtRU1Ta2FPNTNDUE9WYkhVSlBpZUh1ekhy?=
 =?utf-8?B?aXlPbUJid1h6OU8wb2IyV2Z0YzRIUkhjSEhjM3BYbVVIU2JBdDFtMCtDOEk2?=
 =?utf-8?B?OGwvUENxeUJmanZrTWVYd3hqMW1sNUdBZDA4NUxwWWZtcGNPdWlUTWpsN21m?=
 =?utf-8?B?VEN5bEtkOTNWWVRUZ1FtbVNsNU8zUmtwdmlhSUIwN09NZVd0NERob0ZRRFlN?=
 =?utf-8?B?bm4xSmFPQ0pIdStEQjFPTHllNXhQbE5NN2dQQzJrQ0NtU29iS3QzNEtnV0N1?=
 =?utf-8?B?ejYxRkxJL2NVNm8yK3pMT1ZhZmY2aVJ4Y3BrbG9jUTIyUi9CTHZ2SnQxU2RC?=
 =?utf-8?B?NWpLSHprNlJLZmhnVlgrbXVQSDZxaXAwbEdUR25HR3RXRGZmVWtDdmx1SERv?=
 =?utf-8?B?VmI4ZllwK081NTdsU1doZldYSjFSd2FLb1grL0NDWWRJd2IvMXl4MU9TNzdi?=
 =?utf-8?Q?/t7EsvpUfuinURuTg8h4IFORT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1acb9389-e93c-43ac-059f-08db94b49b45
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:32:42.4165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KF6w60+3MH7NfOTaaFpiCuoqZoCDJOR06Ki+PTVBTbI9sdEZ1NQ3SzGkyV1S6H2d/5OqOlPPW+lh8mu3tIcopQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9242

On 04.08.2023 08:24, Jan Beulich wrote:
> The model introduced in patch 1 is now arch-agnostic, and all arch-es
> are being switched at least partly (to at least give examples of how
> things will look like); PPC and RISC-V are still small enough to switch
> completely in one go.
> 
> 1: common: assembly entry point type/size annotations
> 2: x86: annotate entry points with type and size
> 3: x86: also mark assembler globals hidden
> 4: Arm: annotate entry points with type and size
> 5: RISC-V: annotate entry points with type and size
> 6: PPC: switch entry point annotations to common model
> 7: tools/binfile: switch to common annotations model

I'm sorry, I notice I screwed up with the numbering of patches 6 and 7.
I hope things are still clear enough.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:35:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576901.903568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoP1-0007To-Tv; Fri, 04 Aug 2023 06:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576901.903568; Fri, 04 Aug 2023 06: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 1qRoP1-0007Th-R0; Fri, 04 Aug 2023 06:35:11 +0000
Received: by outflank-mailman (input) for mailman id 576901;
 Fri, 04 Aug 2023 06:35: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 1qRoP0-0007TW-TM; Fri, 04 Aug 2023 06:35: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 1qRoP0-00021Q-SJ; Fri, 04 Aug 2023 06:35: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 1qRoP0-0008CV-Dy; Fri, 04 Aug 2023 06:35:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRoP0-0000Zl-DV; Fri, 04 Aug 2023 06:35: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=5PbYwu3sgetDo0FQzUj2s6Pd6GQZfaKxe4ylDAkuMGU=; b=r/uI3E5Sm28HkJ8wF6dBMWfnoo
	xj0SQe06rhD87IY85GgB4pxAIoIHFk8dtvDXH3kYncQ1xkmamcuIX+m0sULIFvltm/U0khG8H2biw
	XvFPWNgq9P0UoBosTBO32+woqARMO0rI6bcj91toYTY/FNDRlPhwDPD7E+JITOVSxTR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182176-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182176: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=01ad4134c3e6339ac53c85fccf62ed10d5b6d662
X-Osstest-Versions-That:
    ovmf=ef051451367fa5455d75b38c407ca352a43b4849
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 06:35:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 01ad4134c3e6339ac53c85fccf62ed10d5b6d662
baseline version:
 ovmf                 ef051451367fa5455d75b38c407ca352a43b4849

Last test of basis   182168  2023-08-03 15:12:09 Z    0 days
Testing same since   182176  2023-08-04 01:40:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Hao A Wu <hao.a.wu@intel.com>
  likun su <sulikun@loongson.cn>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   ef05145136..01ad4134c3  01ad4134c3e6339ac53c85fccf62ed10d5b6d662 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:43:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576908.903578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoWa-0000b4-L5; Fri, 04 Aug 2023 06:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576908.903578; Fri, 04 Aug 2023 06:43:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoWa-0000ax-IO; Fri, 04 Aug 2023 06:43:00 +0000
Received: by outflank-mailman (input) for mailman id 576908;
 Fri, 04 Aug 2023 06:42:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRoWZ-0000ar-6p
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:42:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25612bf2-3292-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 08:42:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6788.eurprd04.prod.outlook.com (2603:10a6:208:18e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 06:42:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 06:42:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25612bf2-3292-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CNpQSb1DKdlGkCwkqyq1os1zxY3MqMRr0PUSZH9onK4vR8L9L5W6ReJU4p6O9Q7jCmQ6BCk7ppAXo4DxO0EZfPE8pVMB3r0M2w/hw9gs6+QlajaytFP/0UhlntJRgc5g5trro8Ma74f2Daa2jS5hldRZNmpSPO4ClHXshwWh3RJvhsYgEoAfXjbAKgJXs3mhQ/1ZFVNIsvS2t3smvcPpi3WfFhG0ePc6EqTjo3Gk7JfJVfV8A0WbR0Wu/CGK4DJWWugCR7XTZuEhvgC2Kn92qVqXjcWFAzxHyu8HSH+owDfvO2fVMRAqXmbuJNX/NNhGGTyN982ROl794DMWKYDnRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MipxFbC5XW6h6ZSCdyA1uHNCMDd+wtvdifl8Nc8zk8o=;
 b=mdfTz19GaVYXhkiRgmX91VbcHqiQtj3FlJTA+qfYsRe54jSnGX96I58ANGl89Idn89WbDZ+pgn+1ddIr1LZqY3M9W0nzum0BosaZ2NZhZDtwxnZOXdXhjOk8dKwFIhdNbks2pJfj7gGDTm9EuEu+ZzJkXeywVeMtj6oQqO/1Do5r/+gWA6iVE2iN3oK1EYCR8EVafUhnZZn9Sm5bBEJpyMfqD4tjrJ5PyVygh2hZD0g7X4WK47WoxylR/Q/xgys2OjQW+7o4UMmBlxoyVTZ6rIhg3bblZSoiQB4MifxtkA3q28thZ2HCbuXwk5+zH390zYwbzdMgGWUg2WX0hUWoHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MipxFbC5XW6h6ZSCdyA1uHNCMDd+wtvdifl8Nc8zk8o=;
 b=Wi6fGfz/VSiCOuEEtj/oFyMBLhHgBWhBRczPZQa+Lw5vTms8/jD4PV3q10yb6ClfVpd7bw+BnJRlGPALZe0DIXa00Z4NQQgtHiA+jJFTGKjYf960jL8K0fvSm6EN8vsn2aeQbKQTQWugD/0DaM73GipdTmQwvxQxdp9c/MkfHFz9Ldh5qUGuk6cYyQJzdyHUvieGmaMJ3/LvsGoYgdvIjiEMZN+I7Oy0D8lyjCSo3qOVgUeysLq4mOxw6x/zzDzmw4gHnLPUHHDxLj1Ya1ivz+Zd3sUWyD87XVUe53cDo/ibgKGSqAytHMgzekrrNzwiY/bZH8tLaNkXEmRDbW9ZyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
Date: Fri, 4 Aug 2023 08:42:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6788:EE_
X-MS-Office365-Filtering-Correlation-Id: fcec7eec-f73d-4be8-105e-08db94b60892
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z5DPAWAIcO4j3WOuy5K4LvG0QxKsERPdJ5kd/V4yxyABbz0eDEVqZJydYBr0wkM1on/NmVYLOFTQJ2wLaPqIwXLtWykQbmcilQKHJK2mj7SdWhHNxpznp4NSVOVqoYFf33KKm85LyLkiAg1HHJvsRBu6Kz4Co6ZqGKVp/eOJpZF1HXrocl7Y5kR7sANVhSKkKaZlY7cx5E7XLmvXXmgKM4RM/bv3LjNeJpt/qo4MySDudS0wWlmXMRu4sXxUH4L0sdtFDkPFQmNFtLbiWzLcOQG1rCll2WJ7ZGY8GQ3z36kdTEHJJuA2eECe+po5ryZDTpE42QIkk27pBqjKe9Sj0xbXFtk1bRwhFi4YUDaPX8/jwmJL/f3qMoJ5RrutGENrWmwc3uenAeoOwt9QtYbfG47MiGM9ReXRhoeJqdAOvYn2YT1Q2MLznfO1AIr37DbWNTK74hF2NE1GS1NVzuyI85ZQHVqB7YO80fyt5V1d+nRtUa1APy6CBQHH94E47fsYsDjRINNunZxA2jsmTA2/Wh1o2QlLTLe455GmwdzXDNs3aP5kdKWPxdctp/CLVxlNCz1Rxxetawr9X/J53CbitP++IaSP+ins+ZztSxjcoAdUDReS9zmajZXuGQaEXQt49g2ilyVu1mOoazbUeStWmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(376002)(136003)(366004)(451199021)(1800799003)(186006)(31686004)(66556008)(66476007)(66946007)(6916009)(54906003)(4326008)(316002)(478600001)(36756003)(6486002)(6666004)(38100700002)(41300700001)(2906002)(6512007)(8936002)(6506007)(26005)(8676002)(53546011)(5660300002)(31696002)(86362001)(2616005)(7416002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUhnY2lDdkg3VTJhNlpGYkVnSlJ6dko5Smxhc1kzTjJOU2ViUXhTT3JncUJu?=
 =?utf-8?B?bVFYRlVwK3dZdEN4TnRDWDVrZzZXWjd3dU53ZnI1STUxZW1NcGprdHZRZStR?=
 =?utf-8?B?dXA2ZmtHa3RjY1lwakRqWlVjS0FndGoybkJhVU1LMVk4S3poNlplUnNwZ3ZI?=
 =?utf-8?B?UXB1ZDRBdlo0dWR2SFFaQ1VyOTVtU2xjZFIrcHp6ZnR6clFwMGcrYTFQdWdS?=
 =?utf-8?B?WVIxN3NsNE0veTIzbHMrd1A2L1JlSnNXazdMbURydndGMWVkTXQ1MTd5OE5h?=
 =?utf-8?B?dFp6amVkU0xpQ21wWTVjR3hwSDB0UDkrOXZQT0VTNVptMzRnSFJqclJWSVFB?=
 =?utf-8?B?cXdBYWNSd0VQZW5wSjM3MTBiblNQVlpXZEhLeTZBZUEwOXNjSU5TNWFUYldZ?=
 =?utf-8?B?K1RhcnJQdUQvRnpZZkhVL3NzVHl6S05TVDcrU1d3emRxZkNCSi9qbWM5UnJq?=
 =?utf-8?B?R3d3czNOQThOK3lTYjdpTVlEU0l6WGVOdm1aeHg5SVNlYmhjdVRQdkw5Wkhu?=
 =?utf-8?B?UzJodm5GZ1hMcmRpV1VMODAwRkNzdEk0U1BYaGdPaTd0UjltdlkvUHJtWnRQ?=
 =?utf-8?B?TDREZjJYYkZKNXFGbUxwaGxrUFJwM29uayswYnpLNXArNFozZjl3blAvSFhJ?=
 =?utf-8?B?Qkh2N1RCeG1FbWt5Tng2aHBuem1ZZ3liSTZMcmNVbWZQSWdHZm1JTzg1Yndv?=
 =?utf-8?B?RFVSamdlMm9jWUd0U2krbUlMY2kzdGNlS1YrOFd5cXhVSVhJMFFhMHllWm9J?=
 =?utf-8?B?bjhNUHQ2SDFnVGIvSVVqcGhMcjVhMVRQMlljTW85UTBIbU5mTDJKVnlaK2xy?=
 =?utf-8?B?OUI0bzVNS3cxMjNFTUl0eFhYNDEwaSs2b0tVOGJPM25GQU1hRFlNQzlqdXdv?=
 =?utf-8?B?dmlyYVZzQnd2T3J5K2dlVmlnWnBlc3hkM3QrRWxoTlV5YVVzaEIxbFl0Tk5o?=
 =?utf-8?B?NE1ZdFNnRG9YZXNaQ0FMSDVYNVZwUzdZNmdrcWE3ZHp4ZVQyeXBoczVNQkQ3?=
 =?utf-8?B?dEYrMHZyUnBXaEI3OFhIK0RFbjJ4RFpVcTBwQnMyQXFkRkZQaURqR3pMdDV0?=
 =?utf-8?B?a3dIa3ViUHMzNzNqZ2IxOHF3TTQwemJqQ0d6T1Y2UWQ1VDFBdUw3VmdXRTA4?=
 =?utf-8?B?U2RwOWFJOXlKbDJMV0kyZHgzTkJQak10NzlxM0d3amc0US9tUTU4VHY0K01M?=
 =?utf-8?B?R1gxZ0FJN3hBODk0YXRoZVNKaFl1anpyWGFpRE85enRvaU5jenNTd2c4WERE?=
 =?utf-8?B?N21vdFhqYkgzNDRHNVAwdkZsdld6elkxQW9zVDEvdHpVbnl2c1lRKy96L3k4?=
 =?utf-8?B?VWRlZC9wM2QyaE05dnhzb2JsNW1reTN3dUdPTUtkcURMRHFDZ3RZMHJhcmZr?=
 =?utf-8?B?WlpwaFdoK2MxY1RaUkNMb0k0ckRXbXZQaTlHajdzRkFtMUdPMjRiQitVWVlp?=
 =?utf-8?B?QjBCY0VMWjhaM0RmcFNPR3dMeE4yK0lmcTM4NjFYRW9GS0RsWUlqRHpsS1ox?=
 =?utf-8?B?bCtIdk5aTmtubUVNalBxblNmRThGeFIvQ2RCVk1VSmZMMGJsM2VvNnBtL2FY?=
 =?utf-8?B?SjlFY0N3OEJFY1RsMUhTb0cvMDhWWTZ3SCtaUDdONWhHYm1OZno1Q2wyZ0tS?=
 =?utf-8?B?Rlphb3F1SnJMTlROSVRKNGZTVDFZY3VRTEE5cjlKOGd0czNDTkFqUFhyK05C?=
 =?utf-8?B?d0pGZzB5WUpyYWMwdElWdDJnbEd4S2NTZTdFUThCTHR2WDN2TmlLUTB5VzZo?=
 =?utf-8?B?VjkwR1dJTGd4KzVrbTBQSCthZXJBak9Wc1djczRPTGdaWXdLamR4SDRieFpy?=
 =?utf-8?B?Yno3THdCOC85a1hhSFYzZ2laVGdLREg4QmZ5dU9SdEI3TElqRFZYRzJodmZP?=
 =?utf-8?B?cUMzQkdSc0NCWGRqdVlhWWVWU3ZnTytySFBmbFZOZHJDWDFsaGZDOFpkcUQ2?=
 =?utf-8?B?VCtNMkw4Ynd0RUJBMWVHUlYwSGpKOCtCQzR6SXd0L2JnbDBaVFJJUlBNUkt6?=
 =?utf-8?B?QUVwVGdHbzBhNWVlSEJwUElFVFpIcnRIRGZYZkVBckRCMy9xaU1kVXMrZ1R3?=
 =?utf-8?B?NU1wcjQrbk8vUGNxaUxib1djOFdEcmFDeFRvMUVnUXV3R2NlUGIzQktSRU1L?=
 =?utf-8?Q?dhkAgJhfpPBygBZqoh76RV/gP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fcec7eec-f73d-4be8-105e-08db94b60892
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:42:55.3311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: edPSYE0WXOau9Pi9pg17ZrCBERaTdqwQ3IlMgkW6cepUBHfbX/Vc6OdI2ptyjhp0oGGRlzJB4exg9kio5qJCbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6788

On 04.08.2023 01:50, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Jan Beulich wrote:
>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>
>>> The functions
>>> - machine_halt
>>> - maybe_reboot
>>> - machine_restart
>>> are not supposed to return, hence the following break statement
>>> is marked as intentionally unreachable with the ASSERT_UNREACHABLE()
>>> macro to justify the violation of the rule.
>>
>> During the discussion it was mentioned that this won't help with
>> release builds, where right now ASSERT_UNREACHABLE() expands to
>> effectively nothing. You want to clarify here how release builds
>> are to be taken care of, as those are what eventual certification
>> will be run against.
> 
> Something along these lines:
> 
> ASSERT_UNREACHABLE(), not only is used in non-release builds to actually
> assert and detect errors, but it is also used as a marker to tag
> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't resolve
> into an assert, but retains its role of a code marker.
> 
> Does it work?

Well, it states what is happening, but I'm not convinced it satisfies
rule 2.1. There's then still code there which isn't reachable, and
which a scanner will spot and report.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 06:47:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 06:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576912.903589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoaz-0001Dl-6S; Fri, 04 Aug 2023 06:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576912.903589; Fri, 04 Aug 2023 06: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 1qRoaz-0001De-3Q; Fri, 04 Aug 2023 06:47:33 +0000
Received: by outflank-mailman (input) for mailman id 576912;
 Fri, 04 Aug 2023 06:47:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Igz=DV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRoax-0001DY-8M
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 06:47:31 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c737f687-3292-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 08:47:29 +0200 (CEST)
Received: from CYXPR03CA0050.namprd03.prod.outlook.com (2603:10b6:930:d1::15)
 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.6609.33; Fri, 4 Aug
 2023 06:47:25 +0000
Received: from CY4PEPF0000E9D4.namprd03.prod.outlook.com
 (2603:10b6:930:d1:cafe::50) by CYXPR03CA0050.outlook.office365.com
 (2603:10b6:930:d1::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21 via Frontend
 Transport; Fri, 4 Aug 2023 06:47:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D4.mail.protection.outlook.com (10.167.241.147) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Fri, 4 Aug 2023 06:47:25 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 4 Aug
 2023 01:47:24 -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.27; Thu, 3 Aug
 2023 23:47:24 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 4 Aug 2023 01:47: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: c737f687-3292-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ItjTyImhefCfRO+Zt571kaiaAQQk3fITBpasw/WykhgCojAQ2ji/O9Mla1NeOUa6nu8NYxhxWeuMyyZmmeqM0MNy3N536pJlOCvizjLPE0Fmu7aJc+YZm8nVcXj0qM7coqNy+jAoFwSW+jGToYao/dLtlYipz7KCuV7o3fflr3yw7+DBwPpQeWaA1fJPdVE7KRWANxZGCldVlyEjddvvAQjCqqmRngkRDovt9yvw3po2GNNz9uOjP7eyqK3A0fC6jxm16HOBx41cpVroIJ3xIQ6gCZshA/6VXHoMaqg81WeS7hyLaw2/co94dt3UZKUADCx/ajmPW543SdEX9OlAwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tk07luqyc19Gb4QVPiE8g/+iyvi63Oe8nAIjXx8Mp0A=;
 b=TlLgWTqkhqExtKSP8+Oo1S3spAOGMGuJ4jl3jbhtLRjUMGvAKS0N5KOqLZld+O5pIk7gMrTZ0uBYCKOb73ick0+0MZn1haCFVy0GELVuJFCvy9CDEkPWIDPwI67yUNhtu5aVA7l5BqrCOxPiOCAfxfuhDDlMcRUuhfvU89c3zEo49YY8Cmy4TjrmzUmfe6Mm+qyJMMuS+8p0PmZNvDz0VuF5dbO8zOTcx0R2EV2DaDFzuyZF87bO30mFThon6tePcVkkMIjLZZBPt2UCxIETT8FYVtjKMEQgxSJB6UnsRT5fYDd9zOS+7SyGnQeHw03pzSi79Bgcjbc1gzp4P2OUKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tk07luqyc19Gb4QVPiE8g/+iyvi63Oe8nAIjXx8Mp0A=;
 b=Vqg7XSm4j18n9gbvrz3hupVVb3EiyYzcgvEBGTqLXdbAWVleJYBTiJy/n2v4f+g4mPnmvcg6qDghemCK548LC2gzJx5HD6ONER+Ufcn9De2kA71aSOR5JlBmqATi60dEaj6sRlCPS+xPKSmrgSV1SxDkIzPIjxG/kUv+JWzUecM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <0300d94b-33dc-6ec7-11c0-3a926ea7c92e@amd.com>
Date: Fri, 4 Aug 2023 08:47:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] arm/gicv2: make GICv2 driver and vGICv2 optional
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: <20230803144035.4071610-1-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230803144035.4071610-1-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: CY4PEPF0000E9D4:EE_|MW6PR12MB8707:EE_
X-MS-Office365-Filtering-Correlation-Id: 6705fbde-56e4-410f-2cbe-08db94b6a98d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7nrRwV7lNvSVfmeijOy+DT7Jd2jfZOkcsUYg0N9SaEV9C+jinq5ykdHeH8m4DjXNfR8WzM8SJEs2QbwwW9ChNgQoUI6Qzf4uXcSAX3h5yfEx17FLQpaeR3ObSiTyN/7v/jG41wq1NpRonVzw1jPod9oVBObpcA0c3ApcSv3exF7LQcGbuAi54w1qSFuZkeDDKFQ76OKhDYDWReY4ok2oj6lcc7v45oZlg2gKOcsL3yGVjalYdBq0pNZGy6/FMkBT1ha2YnF7wB64aoPcfvEvrBpgWvjYkVgTF4rSa5VXVRvQMsyvfVhtpd3h7E3TqWlEoEXgep2B43gqFSFe0gUWYV6p01sXFBQNvPultKwbEK0Lpncxeq8WsyCiNYH9BZfsYUYacqXqLKD83TcfxU1kGnlGw9xhirKAPW+nCf2xB9hMEGO6Vn2v8CBCd7Jvth23Mwgh9yWKGezh4M70UDBmQ6NFf+lF9knLchx7yjxZx++24Fm/jPFiJIiamFi7R1qda7xDHkaZzeM/HGfOuMI8XWgWuncHe5csNam9aohcUESQvLmge8ULEjLwdui8DwMKDbyNuKCU7v8l8HILP+gP2BS2bRm4Eknrv9p2chH/osza0pb92J9YXjorMdEA0eeLwcwt18cJfxxoVvQJ1wkd25PVj9+idkU+nMhfpkhqwllkYu5sTPK4XLlmwIkV3lBRdi/9IcUY5yfnRVq7zUWwiRHsag2GhWrKsRchPD3ydzvMzevxR3wrjpcgwN3xR4BuBbf0bNeeL7+Lfe9MujqtmlrnPwlJafL+jAJfEdYY8KtOrwhRIzwTrPB++CV20fD7
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:(13230028)(4636009)(346002)(136003)(396003)(39860400002)(376002)(451199021)(1800799003)(186006)(82310400008)(40470700004)(46966006)(36840700001)(31686004)(2616005)(426003)(8676002)(8936002)(47076005)(44832011)(4744005)(2906002)(31696002)(86362001)(5660300002)(36860700001)(70206006)(70586007)(36756003)(41300700001)(66899021)(16576012)(356005)(4326008)(40460700003)(81166007)(53546011)(316002)(336012)(26005)(478600001)(110136005)(40480700001)(6666004)(82740400003)(54906003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 06:47:25.1679
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6705fbde-56e4-410f-2cbe-08db94b6a98d
X-MS-Exchange-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:
	CY4PEPF0000E9D4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8707



On 03/08/2023 16:40, Luca Fancellu wrote:
> 
> 
> Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
> when needed, the option is active by default.
> 
> Introduce Kconfig VGICV2 that compiles the Generic Interrupt
> Controller v2 emulation for domains, it is required only when using
> GICv2 driver, otherwise using the GICv3 driver it is optional and can
> be deselected if the user doesn't want to offer the v2 emulation to
> domains or maybe its GICv3 hardware can't offer the GICv2 compatible
> mode.
> 
> 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 Fri Aug 04 07:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576916.903599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRotr-0003oC-QI; Fri, 04 Aug 2023 07:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576916.903599; Fri, 04 Aug 2023 07:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRotr-0003o5-Nd; Fri, 04 Aug 2023 07:07:03 +0000
Received: by outflank-mailman (input) for mailman id 576916;
 Fri, 04 Aug 2023 07: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=3Igz=DV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRotp-0003nz-MQ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:07:01 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 819bb245-3295-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 09:07:00 +0200 (CEST)
Received: from SN7P220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::15)
 by SN7PR12MB8771.namprd12.prod.outlook.com (2603:10b6:806:32a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 07:06:56 +0000
Received: from SN1PEPF000252A1.namprd05.prod.outlook.com
 (2603:10b6:806:123:cafe::65) by SN7P220CA0010.outlook.office365.com
 (2603:10b6:806:123::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19 via Frontend
 Transport; Fri, 4 Aug 2023 07:06:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Fri, 4 Aug 2023 07:06:56 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 4 Aug
 2023 02:06:55 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 4 Aug
 2023 00:06:55 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 4 Aug 2023 02:06: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: 819bb245-3295-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Eqh+4qcNyMAVPeMXeLDSjZ0djKRQipYX55/KGwb0Hc60t8vdCvjAlL1LLxKGmPj4r4BeMGgLYA7SdQQOperYqRoUUajcdMbH2Hj7PC2vp9np6GHcPY/9i2jQeKnuKBmxfqwPpF0DQnQVPIDBer9e5Wd08A+GHzmYp/rZKoV89YcNaMM3PRhNfWGnqI59mmGawslh03B9qKUJDzsz+Wp7uaNgJGgxw2q1qQxb7cT5hiv8EDr0vC0rWzrviWaFoUnABZQ5YFaH37hdyIrHPMpNU5F6sZ+cZKhTiOv3j+myndMO0ieEcBCvC39BfLOUYoN8plHjElhL+Bo6Nd8ylmOmug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rkze//lRjPx1EWbTulYsy736B+B6W8ahIeAajZdiYxA=;
 b=jDha9KlckQ1ob2ZXcSKGxMxRTyosrYWFIa66B+Wy3xVNr1QusycATJy+FBvwOEIp6qUMbKXYLTGAKNkHDKq4zef3gN9fG7HOfvvwnMQ/fWaLybRPRuG+pYO00Vi7zKQqRXjsCG/cQdbAPN6O1ljthfmzIGbC1dhbp/xWpi3ydFPOXC1aXYaUZ3+BG9HkLjmW0Tc/T6tnDHhmTwMGVDgDoSZiXl1tEvnFSmvvodoCMLHRaF1HljlknpwyvLEADPkBGMQDixfcBjlM06GYuj6XA5jpR+4sZ8YqwbUtm3nXXvDS5sJAeci5mJJvShX/YoKXuJzFnnK7Ut6wcN3b2ScK3w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rkze//lRjPx1EWbTulYsy736B+B6W8ahIeAajZdiYxA=;
 b=fO2bPtIUYzu2AZgcSRY5gQA0nR1HEaB0Hjx7bgy+wxzKlBU0nH6KSYbZz/HHipa/F8NKYarIlcC53jGWiKzVfqunPWEY6LywB5MLE+iLEnqSM2PFoiMh09aF4R0l7mmv4nDjmvcvRVhYUq6xgBuqrEU1GWl8/cwKK7nr382mgGI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2a72cbf1-a9d7-6edf-37f6-5197c9d40452@amd.com>
Date: Fri, 4 Aug 2023 09:06:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
 <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|SN7PR12MB8771:EE_
X-MS-Office365-Filtering-Correlation-Id: 2943bf56-6807-4896-e705-08db94b963d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L3Zl/lnuL7F9pZRQK7G/896U3nUuBXcxHIXSBbgrIdCyW+QM+0zmYluZPmCU23IjCG4ipKi91CnquDNuEEKI4E7KbCAxgZcjWZBlzF6ZD8Hf2K0aVMiX7sMqLVCGcH9XXB5j6L92jCgZyAyvSxmSmlbeq2K7yqYK1PM6DoZDoQOnhjjN9zZ86qtWpmFM9hZ6T/1az3moEe8Mgy7JhBWfrieYAJOPwFMaaA3GMAn7AnoHoz4eX1kPYilzaItdNU8e36qqokRHBfrbngm+YOawf6PX2Vpn2Uqc/HiUn2gG/S4ytXKI0ZUg9UYrTSTTVL6T+EEB9J7TRiP9eKwimgn6a0/1XikC75XZ17guYEA834xSYAtkrd1a7s0Rj1Ja/AEphgIsDToW5F8k5mIXe6c2t8mtLH8XlsNhDBb3UYE7pwAvq3kCxc7AnrOZxP2otsGOx+ov3JH7jdfx6B2VWdFLbl9OYNAMSdfx4GpG9we93A2+Zgm89tmbkE2k/DZxtFkEw33noQUz1qoH/W3GjfPxStsUHyd6MwiFwGj607rPpmSEqR91WYzZtEj9YAgjf2ACmxf5mQrN0tYBfpeCK2jEzRmbCizSfBGmr+9U4jmE6QIm7dURJInL97c9SuFwJXtiWeW6ZwG3sOB1FCh9Vh4OAMSIxUJdlL3gwAZ+FFjjp1WC8+lbXObUYYVCgvbBuAg4tPY9OZqaYy/Ae73yV4xHGVREnHkB2hOXqNcOq10+hY99huZi2Qv/Ursuteo7glAqXG+h+20s53PsGOF+yXFB9jLOKnfCN4zdrtUj0GXJZV9LKHos+8gwPBUQJcm14EAn
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:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(82310400008)(451199021)(1800799003)(186006)(40470700004)(46966006)(36840700001)(82740400003)(40460700003)(2616005)(53546011)(8676002)(26005)(83380400001)(336012)(47076005)(2906002)(36860700001)(316002)(4326008)(70586007)(5660300002)(426003)(70206006)(44832011)(8936002)(41300700001)(16576012)(15650500001)(110136005)(478600001)(40480700001)(54906003)(356005)(81166007)(31696002)(36756003)(86362001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:06:56.6993
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2943bf56-6807-4896-e705-08db94b963d1
X-MS-Exchange-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:
	SN1PEPF000252A1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8771

Hi Daniel,

On 03/08/2023 18:57, Daniel P. Smith wrote:
> 
> 
> On 8/3/23 07:45, Michal Orzel wrote:
>> Hi Daniel,
>>
>> On 03/08/2023 12:44, Daniel P. Smith wrote:
>>>
>>>
>>> With on going development of hyperlaunch, changes to the device tree definitions
>>> has been necessary. This commit updates the specification for all current changes
>>> along with changes expected to be made in finalizing the capability.
>>>
>>> This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
>>> this documentation under its purview. It also reserves the path
>>> `xen/common/domain-builder` for the hyperlaunch domain builder code base.
>>>
>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

[...]
>>> +
>>>   memory
>>> -  The amount of memory to assign to the domain, in KBs.
>>> +  The amount of memory to assign to the domain, in KBs. This field uses a DTB
>>> +  Reg which contains a start and size. For memory allocation start may or may
>>> +  not have significance but size will always be used for the amount of memory
>>>     Required.
>>>
>>> +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
>> There is a mismatch between the description and above format:
>> - KB vs MB
>> - string vs reg format
>> - the x86 example uses string and Arm uses reg format
> 
> Hmmm. I missed this in the hyperlaunch v1 update. In the original design
> that came from the working group it was going to use a reg as suggest by
> dom0less. During development of v1, we found it was not rich enough to
> express how Dom0 could be allocated memory and switched to a string to
> mirror the dom0 memory hypervisor command line parameter.
On Arm, dom0_mem cmdline parameter is used to specify only size (no min,max)

> 
> A question for those involved with dom0less, is what are the opinions
> about using this form for memory allocation. Is it required/possible to
> be able to instruct the hypervisor what physical address to use as the
> start of a domain's memory?
"memory" dt property is used to specify just amount of memory for domain in KBs using reg format.
It is not used to specify the static memory region (with start and size). For that, we have another property called "xen,static-mem".
Therefore, it would be possible to switch memory to string but it would not be compatible with the current use anymore.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576917.903609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRoty-00044Z-6M; Fri, 04 Aug 2023 07:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576917.903609; Fri, 04 Aug 2023 07: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 1qRoty-00044S-3e; Fri, 04 Aug 2023 07:07:10 +0000
Received: by outflank-mailman (input) for mailman id 576917;
 Fri, 04 Aug 2023 07:07: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRotx-0003nz-DE
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:07:09 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 865b33c9-3295-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 09:07:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8684.eurprd04.prod.outlook.com (2603:10a6:20b:43f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 07:06:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 07:06:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 865b33c9-3295-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V7jkVNfy+4US+nK4LWnvkjiyUsYsIJHdh9caaygz2IGhuWrGUR6vN5yKQN+LcWOeXaGlBox9ce9NnTZak7NpvOr1mI61pCShUUmzNlT1Z+fN83+ftUdZiH/LGd03R4ngWx7v8ssh1clXT4061Lbade7cOaQG/SFItBMHmwM1vUesdEYauGtm00/jHLApFrZ19hugCS3spWnapUNxuOjyh/2Fg2P0vIJA9nfkNunLDOqI0FAXa63qqBp2o324fSxjl27WtdkaFpdyCJH1l/WCMfCLzoizULuHLwqVxrA93e+TD9WIBAMPrOUTJLmMaMC9+Iz1k3zlXplrZzFOXKwNrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JfNCjNqvwJcHjKXYrq8LaYLXSHZkrzWwQQDZYgtVdUE=;
 b=FhQSab2Ag4Nu8JwWPbrg2jyxvTQb1FGjfM0FN6u+rXIy/XrOR//WFV/ZaVntuDmowPA3I+oakUc46//HbhgonLq3WTILWOtdeyA3uP482+7bxMi3E3A86Q0k4EwNoLWUuaGp6rpC5JAX3WepVQzCWXIiqRA00YXk4uwrNlO400I3eMyEoCaq8WnZ/miNiGWrzdBXGm6JHm23xiUBAEl/HLIuNvbtl8w2pVQ6zq5KkZ+bWD7oBiHU60hkhYDszs6ctGA9LqjwDqxVvrqMcmBB+P3PvKkI8rj3aMjx6/CgPx1OXlVUdljbOT7bmcYbcCar3oRCv7TaLZBX6zJbPKxmpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JfNCjNqvwJcHjKXYrq8LaYLXSHZkrzWwQQDZYgtVdUE=;
 b=kR1KVOiH+DlHn0lf28p2oF8EUUDKkH7doG/JxL6kz7VQKS2f7gLdqe2vREVL58uuKqKl28S5PXfsIfcb2TZFTM6i7i+yqsrKQPD41nWiZp+uKplJz6dI6Q/UFa59ch9dNhRBI+01+m4jMq8BRG0UgtmtM/NY+BYCV37BY33+WSHK12u86VqnbM4tQvesb630NShfTqvEa9+8/RyBO4PSPrQyL0iaAFBdQxZFxyqOixSo4sIQhAj+qIRGXY6ysjjkC/jEY8k60knsYdBnB09XJZQ4f4lSGcDhJjMR4Df29EASuMmSBV8+VmLlF+HPG3MyVvN1bbwcSDqoz4DhF1KEyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@suse.com>
Date: Fri, 4 Aug 2023 09:06:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 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,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
 <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6a5260299c5822abfbd74749ebea8f8f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8684:EE_
X-MS-Office365-Filtering-Correlation-Id: dcecc94f-cdf5-4808-fe3c-08db94b95936
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rN96SaNeadZgInREF69IvrVSdLTiny8EsKy9IF9ecYumatZ3t/umrhkyiBZRQM79S7VrPt1Rj9gBvaIrnjleVOZqsbqCVuCXD/DU7tMFsHYaiLEg9lxm2AkogZMwSLJQ2fr+/LqsSjiaf/2hqSaWFXs8DcrYOKpFH/kw6x3iuwdPbg0z4b2N/luspRd8b1sgMNwk8v60LYugYcypvl/ioUwpC878eZ8syD2WP5mgIQ4j4fI4qd3RleEGsZ+Zw3Meljama44R0Z9rrBd4Mm1ciiMNoJ7sWgEqhRk0LPEzghlIxB6ixt7Nkx2ZqgCLTlPMLq5+vp4DhgBlCY5KXmTA7ZwzTV2gXEvqFuLexSAr4CSR29++zDGy2YE/Xuuxpc/OpgojsuyI5DBw71E17rchQ/lG4//j/AB7EuM4FBQ2zvG0DBLIkzik04vXvJjbOo+CNM7W1cHGQ22ECpssXJi1Tw6gUHBcNOIPnEWhUfKmcFXEjoDzZW7AXMSRI2t0whQ/aa9QeuqOFCERFbem5xyf7Ydh40L+ydTxVjAjKB4EutmZ0irV5KC+pGBcaZMp7ai0YfoP9keZeY2/zYuycCq5M1V6eUj/fQGvkXIsfV0y4h6RZggCkOpYoNGjPXdzZBL4jLMCbDtRSO93lDqA91WCGQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(1800799003)(186006)(2616005)(83380400001)(53546011)(26005)(6506007)(8676002)(66556008)(316002)(2906002)(66946007)(5660300002)(66476007)(4326008)(7416002)(41300700001)(8936002)(6486002)(6512007)(6666004)(54906003)(478600001)(110136005)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDQ5Y01WYjE5aVlJcmYwZExFYUZ3S3p1UlNlbTIzTlhMRnNvalpuREZLZHdu?=
 =?utf-8?B?THUvM2VNcDlVeHd3ZXJiVThvYmZMdzdDM2NiamZWZy9DeFI2NzFWbUEycXpj?=
 =?utf-8?B?SHgyNW9GNzY0c2NHNXovUUFVYkJkM3ZQRFI3K1ZBdmRqdzBJNllFZlBFc0Zo?=
 =?utf-8?B?REZraGpTSTFGRVlZMDBsaDFlMFdyNWk2dlZQYXZoVCtFYXFJdGdTVk5zNkdW?=
 =?utf-8?B?SXN6Z3JkaVRTMFdnUDZJVFNlTXNqWUxCcTBFeURRRlVmMG5XVHZtOHl3cEFI?=
 =?utf-8?B?akNHYUlNVDFjUHVjRkR4RThOMjFrbE5ra2d5ZHcyQlJFODdHMnRjcGNTSFpT?=
 =?utf-8?B?ZHBERGk3Zi90a3Rya2E5Q1l5eTgyakF1TVdNTnBvUi9uRGFDc2hTamk4NEEz?=
 =?utf-8?B?VFpjZzVjVmhOMTA1amJKa2pKMUUzT2VSWWpnMlZ5ZzY2TWhZbDdrZ1REM0lF?=
 =?utf-8?B?cXhydzB2SHFNYmhFemxRbkY1R0dleGI1L0x6NDk2d1FpYXB3SkZKd0o5cmpG?=
 =?utf-8?B?OEZaZ29FMWpsTGxtTjhvQ2U1UGtSQlJUdFl0akc3Q3d2MldUdkIycEFGRGN3?=
 =?utf-8?B?d0dnUnJiTlBVU2Ria3gxb0JMR3lzTHJVTFdwZkZpSlFFblI4cERYZ2RyeUJy?=
 =?utf-8?B?L1AxQVM1RzNCem11dkRGNVd6QkxYeTAxNmQwWFlnQVo1eVRpdGpuVXRDK0N1?=
 =?utf-8?B?WE0xdnR0M3RoeTBoYVNNbUVXdkxrRHpTWVRjQnErMitIL0JXTDNxbkUxZ2FF?=
 =?utf-8?B?dHFxZjlLZmFVbk0zT2tpMHk3K2pmcVBEMzFHQ1ZZYUN4aDdvaGdTWnJXckxt?=
 =?utf-8?B?MFpkcjVPY2RoYzlpTS9VazVHbDJhQUxUa3NpQ3dCQ2dXUGloczlTc3E1S0o5?=
 =?utf-8?B?Y3F2YXNpS2ZXTE9OSEJlRkVkUDI3WFZabE1pUUJxOGwzK3FrL2YxWEhxUkJp?=
 =?utf-8?B?T1dnM1dJaGpUdVJoS3NGSW9nRnFuM2plaUliZ1RSWE45Q2xoWVgwdVBSSjhu?=
 =?utf-8?B?cDFMRW5iREI4K3RHdmdFR01seWEwQUxiYy9YRU9MeVRuOENoc2J1K2FFZ1Vx?=
 =?utf-8?B?Q2o5R1ExMkRTYWR3ZTJEc2RKNWl1d1dVVDVWQ010K0RHYUx1N1ExWXE0aTlk?=
 =?utf-8?B?UzhMN1ROenpVZnhaN2YxZmltN1RJclVPQkNEdTEzZHlFaHdMa082Y0RpNDBv?=
 =?utf-8?B?Ti9HdDdNYmtPallzZ3B2Um14QUlkdkpDRElvNDFFQTBIbXRxdVB3M0YzdU4r?=
 =?utf-8?B?Z1RsWW9HTkRISTJSR1YyM2h0cDZ5bmI0QThuVFNqN1ZtMGxlQnJKRzlZZXpQ?=
 =?utf-8?B?T0xvZnRreml1eG1HRVJyVTZ4a05TSnJkV2pzWHYzam5nTUhJVllMY1RvdG9S?=
 =?utf-8?B?T1hEbWZzL1FBbnhINHhSMWYvaWY2SDhybU9oanY2QVc2T0ZrcERaSUUwWmIx?=
 =?utf-8?B?d0xYK1pVamlXa283OW42YlpsY1FMNzFnenI5TVVQNVE2YVBVeWVSK3RBaEZX?=
 =?utf-8?B?bjRaYXR4WlNpSG5wbk1MNHM2Q0cwK0RoTVFNQWVZbDVDNDVHUTRnN2VKQTRk?=
 =?utf-8?B?M2ZVYU9ZNmRYUS8veldSQktqNGd4RU01VUJVdTJOQnNFcWhMdTBzeGpNYVlk?=
 =?utf-8?B?Q0pkaTVycmNrdGFGZFErMzROaTN1d0hrUjd3M0V6NDBTZmZvcTVFZklyYkEz?=
 =?utf-8?B?SXUvMzJwTHZjaFB4Uzl1TmV3SEdoUWxFWFU5eVI1c1J6by9oWmt6LzV4WEZq?=
 =?utf-8?B?WENPWUd2SFlzSUl6aW82NlgwTlV6SXNLNTZDT0R1OGEwNDZaRjZyV29ibXdI?=
 =?utf-8?B?VTNqdW5PUTVhUVpDYVBVdy84L3luYXdWSS9VZ01RVFpGbDZlNWdTMWlmTmNM?=
 =?utf-8?B?QnZZVFZMN3VjSUhOb0ttZ2pKTC9VNUV1enVEZTFkQzEyUDJxSTV1WitiMitk?=
 =?utf-8?B?ZEs4TkVpNnlKT3lPR0ZCNUdrZFBhSU85amtNNWZNQ25udXFTN1Zwek5ScktZ?=
 =?utf-8?B?VFkzejZjbDlSenpxWERhRVRmbnJObGJONExFMDlDeUVMR3ZoOTFVRit2emgw?=
 =?utf-8?B?T3ZTaStsVXpySzhiRWYvc3NZK3BBL2RxUmgwVVB3cFhjVTk0T0Z5YnltOTVs?=
 =?utf-8?Q?1oqK2SIT/B1+3VX82LFgVpeL1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcecc94f-cdf5-4808-fe3c-08db94b95936
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:06:39.2035
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hS0ZEiNATKFgdt30ZlgCyqywdmpnij/P1id2LHsQPJBj+wAbzIdtGeq9eGpGFFyOTTO9YbWWzCEgSTHHJlfGdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8684

On 03.08.2023 16:22, Nicola Vetrini wrote:
> On 03/08/2023 11:01, Jan Beulich wrote:
>> On 03.08.2023 04:13, Stefano Stabellini wrote:
>>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>>>> @@ -1169,8 +1170,6 @@ static void cf_check 
>>>> irq_guest_eoi_timer_fn(void *data)
>>>>
>>>>      switch ( action->ack_type )
>>>>      {
>>>> -        cpumask_t *cpu_eoi_map;
>>>
>>> It is only used by case ACKTYPE_EOI so it can be moved there (with a 
>>> new
>>> block):
>>>
>>>
>>>     case ACKTYPE_EOI:
>>>     {
>>>         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
>>>         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
>>>         spin_unlock_irq(&desc->lock);
>>>         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
>>>         return;
>>>     }
>>>     }
>>
>> This pattern (two closing braces at the same level) is why switch scope
>> variable declarations were introduced (at least as far as introductions
>> by me go). If switch scope variables aren't okay (which I continue to
>> consider questionable), then this stylistic aspect needs sorting first
>> (if everyone else thinks the above style is okay - with the missing
>> blank line inserted -, then so be it).
> 
> Actually, they can be deviated because they don't result in wrong code 
> being generated.

Only later I recalled Andrew's intention to possibly make use of
-ftrivial-auto-var-init. While, unlike I think he said, such declared
variables aren't getting in the way of this (neither gcc nor clang
warn about them), they also don't benefit from it (i.e. they'll be
left uninitialized despite the command line option saying otherwise).
IOW I think further consideration is going to be needed here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:12:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576925.903618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRozH-0005v2-Pp; Fri, 04 Aug 2023 07:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576925.903618; Fri, 04 Aug 2023 07: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 1qRozH-0005uv-N4; Fri, 04 Aug 2023 07:12:39 +0000
Received: by outflank-mailman (input) for mailman id 576925;
 Fri, 04 Aug 2023 07:12: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRozG-0005up-RC
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:12:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a5e9e27-3296-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 09:12:37 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 934424EE0737;
 Fri,  4 Aug 2023 09:12:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a5e9e27-3296-11ee-b26a-6b7b168915f2
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 09:12:36 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.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?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 01/11] x86/efi: move variable declaration to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <3af75576-4a34-ab0e-3c1a-20a143e993e8@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <aa72e3371fa4ab4806cd866c569718d766d3142e.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021906530.2127516@ubuntu-linux-20-04-desktop>
 <3af75576-4a34-ab0e-3c1a-20a143e993e8@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f9c2ad3ce68035e99358cd6aa282b089@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 03/08/2023 10:57, Jan Beulich wrote:
> On 03.08.2023 04:08, Stefano Stabellini wrote:
>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>>> The variable declaration is moved where it's actually used, rather
>>> than being declared in the switch before any clause, thus being
>>> classified as unreachable code.
>>> 
>>> No functional changes.
>>> 
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>>  xen/arch/x86/efi/efi-boot.h | 5 ++---
>>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>> 
>>> diff --git a/xen/arch/x86/efi/efi-boot.h 
>>> b/xen/arch/x86/efi/efi-boot.h
>>> index 92f4cfe8bd..b00441b1a2 100644
>>> --- a/xen/arch/x86/efi/efi-boot.h
>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>> @@ -390,8 +390,6 @@ static void __init efi_arch_edd(void)
>>>          {
>>>              switch ( DevicePathType(devp.DevPath) )
>>>              {
>>> -                const u8 *p;
>>> -
>>>              case ACPI_DEVICE_PATH:
>>>                  if ( state != root || boot_edd_info_nr > 
>>> EDD_INFO_MAX )
>>>                      break;
>>> @@ -463,7 +461,8 @@ static void __init efi_arch_edd(void)
>>>                  params->device_path_info_length =
>>>                      sizeof(struct edd_device_params) -
>>>                      offsetof(struct edd_device_params, key);
>>> -                for ( p = (const u8 *)&params->key; p < 
>>> &params->checksum; ++p )
>>> +                for ( const u8 *p = (const u8 *)&params->key;
>>> +                      p < &params->checksum; ++p )
>> 
>> In Xen we don't mix declaration and code. So the following is not
>> something we use:
>> 
>>   for (int i = 0; i < 10; i++)
> 
> You're aware that we gained a couple of such uses already? I also think
> that when we discussed this we said this style could be at least
> okay-ish (until formalized in ./CODING_STYLE).
> 
> What I'm unhappy with here is the retaining of u8, when it could easily
> become uint8_t at this occasion.
> 
> Jan

Sure

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:24:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576930.903630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpA8-0007VV-Qo; Fri, 04 Aug 2023 07:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576930.903630; Fri, 04 Aug 2023 07: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 1qRpA8-0007VO-MA; Fri, 04 Aug 2023 07:23:52 +0000
Received: by outflank-mailman (input) for mailman id 576930;
 Fri, 04 Aug 2023 07:23: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRpA7-0007VI-GM
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:23:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dab46995-3297-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 09:23:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8777.eurprd04.prod.outlook.com (2603:10a6:20b:408::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 07:23:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 07:23:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dab46995-3297-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=apSjc5Ei0lOGj6XJyieqPtzjCcAsf5T5VIY9SiR80XtRQ/mMYZEpEKzZh3Rz8/Fz6SBcDus8OgPaP3QH3mu9YMRyfDIclxdVDevTq1CBy2LWVbhZG6XiGWXXub3Z6gbSlJ2wFlVFTboAyAM1gYGMP0xt7gLE8qxHrT9kzYjnUth/Xs/i9ix8uIpdXHtXz7ResOBuhV1+Qqwt2AYB/hFd3AzRzT+WRW8/hG9XXrYPis/CZJAMWSsZwKdqxOXF87yCvc2m7SwEpFycFhjVAMToxn1IphMYLAlIHQNDNCnCuNRFiJhFPkOX9de/ceehWwXLT3IKEa66hU2qHbOI7AAqUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+o42d1VH0SFcRv35iYgNrFh//GjvXBLjsTkyv2Bq2aM=;
 b=OogiZfXETcJnCIsxs5eyFBoRCJsibeLyY1/x91iybgu99sz2GbK4XYhmadOjre1Goj6tPkTy1xy6qg121QqCMjUPOYztY1xut7uVCCVY10PLvCs8rWMvJIXhmEaTj4dP/B8vNqunS/Eo940yegOafbEaleHhY4axs/78aVi/6MDSErgKr0uWPcIRFSEO6mJit4VgNvDjx/GBN9P6mlEuLkdN7ELSql872lw3rBzy235NVbhTnMF33uckCO0BVolB7Z3iTnywtAxZ679jIHNU/FU/OaBQtTXN+e1t/Uylt4U3ldg2C/Dl/voSDUhTKHIMlUuvrh6p69E0vXxT5S4HVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+o42d1VH0SFcRv35iYgNrFh//GjvXBLjsTkyv2Bq2aM=;
 b=qM6lP1Wa2pjRekE5PpkkNuuLbPlXC6+vrl6oqGcIj1Ogazcn8XPqeyGH1DdpUzGAL6NS6lgF9cXel31XsSZ1ur3rMk3hitHQ9oLDnUn09bouLxhQYCXxL/W5HNW3m+WpsCEzLOKtiv/hdRWkGsLykNDWomwbarQbWx3Z4+IrNrUlgmjwi1pj1nnI/zCrYzIN37HtL8lp9a4c8I+6qbOuGx80AqI7kGctROfBE7qDyPtuH/cBEu3UNQa4rW3h2oVIZIMGmpmA+hER3WGjAlKF3+EOZlmnUCo0ClJXpMNLdfCdCD6gmtYx6u0gZopBxsQ0/nld5xeXepMiYG2/3feo4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com>
Date: Fri, 4 Aug 2023 09:23:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8777:EE_
X-MS-Office365-Filtering-Correlation-Id: cc35f364-d1ed-4b31-0541-08db94bbbd6e
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+23f/aqqS+40gzDchdvjIhcDMoHk1Xx9kSmZ8AmO/vQ9I5HGIeIbJQg9lPL717CA4Hmg6nfk2jIk1tzdmfZw53E2J9hi03hopYDQy2rO8Qmc4dxJdRJSJxOg2o9nrX9CjxacbvgiqM2PbVnFt6E372W+SD4zJ9XPJNfSmKLT0fexYEAHQj3Y/NdBjPASCyqUOOp32WOt8psxUOLNzOgiAHeNMTg8zM+qVLmVo+m1Ipkfsan7FaoSiOidXaBfJMQ7STGjP3rEyhOeFzqgpONJ3TQLxp5LGpMIt3hF/K5S053WGMaAwj92kLS1D31WR9TLpdUEnv1bTNOOVYYz9r6NqN84VFe9gjpNPsht2qLre4NUtLQwIKkBKXSYSchufZx9QUWVyQv/85lVjvdK/2ChegnQ/xa/un0nbgIAYuabB3XQJvv6yJRjAgep6Z7WAangB+PHeAbCZ8azU2UTAuckcdK1RMYizH9IoiSQdiJP+bDLkDkV64yQUy1BgJF1fX2tR703ZgeXyLIpfDgUiI4Ma66x4IgCXU9AQ5EnMilsEgbMyLPDOljS5hUJAuoun/zQPfUaCs1OJn4KYmT8eePKYj4c9Bney1R6t7gZBOIfkE//QppsF05Uzq+ez5n2+rk/MENybva4riVti108VSVLGBBCsbv/m1KFOjh9G4sxnJrh5ouyukrbDuShMdrRHKUc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(376002)(39860400002)(346002)(1800799003)(186006)(451199021)(2906002)(83380400001)(2616005)(66574015)(86362001)(31696002)(36756003)(38100700002)(41300700001)(6666004)(31686004)(6486002)(54906003)(966005)(6512007)(316002)(66476007)(6916009)(4326008)(66946007)(66556008)(26005)(6506007)(53546011)(5660300002)(478600001)(7416002)(8936002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emIyd1diRDZ2ZUR3WllEVitGU1hBK0IrbjZwU0NGaUJOMlcyVDBZOWY0V25R?=
 =?utf-8?B?c3k0aEhiWG40NklCOTVOLy9DS2pCak4yZC8yLzFPYm5sKzVla29zQUdNcTVl?=
 =?utf-8?B?Q0lHVFgyd21LMCtmQnlBei9WVlVKWENqM0dxWkxmTjVHYkZwTEtzbjBTTUNK?=
 =?utf-8?B?bDA4WkFhaHNuRVRFT0xmcm5KUnFKb29pZzBvRmUvWGRWdXEydEJISTZiNFd0?=
 =?utf-8?B?UXZldkxUSzBUSWRua0Y3OXV5MGdaUU5mYmlJbit3Z08rTXB3VU9qak5OWWFU?=
 =?utf-8?B?VUhkUGFITjhlUVZpZGhvc1JLZys5TGswWjJKV0hoMXJJRzBMcCs0NEJTR0tw?=
 =?utf-8?B?aXJmZVFVbndYNmtCWFcvbWRLWGZkK2NOMm01MTRqT0lob0VyNUx6TFV2NEEr?=
 =?utf-8?B?S3BpOVRLTE9VZVh1SlBjUWdTaHd6eHJoV05rODM5V29NOHZOa1d1Sy9yMy8x?=
 =?utf-8?B?enZwVFUwQU1UM0tIWDR0cnBua2h2L3BFdHp5QkZPdkJxck1QOXplTlUyYXN3?=
 =?utf-8?B?cFpVZC90Qnl1aXUrK20zbWRhUzF0NzdRNW1JN3JEZGRTRktUOFdrdTE5SVB5?=
 =?utf-8?B?aDdTRzRLVFFhcmk3V2dVczl3SmtITGVJK24yVWNwMW9yeFNqUnRnUHlvc0h6?=
 =?utf-8?B?d2psTCtsLzVIcWVRYlRWQk5NVSs3Y0U1RWowN0cwMXlkZGIyZ0RHQXhwNkNi?=
 =?utf-8?B?MnBQWVExVEU1L2lyM1dyTjVmb2s1bDhDektpZDZwMEtPRXhpQUJHNVZjMFps?=
 =?utf-8?B?MUZlNVlCMGhDZTE5WGFJNTVTQVFCS1hQUHNMY1FuaG50WDZpYWppMStLakZs?=
 =?utf-8?B?QUs4SGp1RmhSQzlSMGYzS2xxVzJjQ3VsbEFoZmxOZ09XdWFZbC9XUmVWbE4z?=
 =?utf-8?B?MDVQMUxRVG03dGVZRUpKNWFFNDlTcDZoVkRrcWJBd05UeHV5c080bGozd2kx?=
 =?utf-8?B?Y2hBYzh3RHUwRFozeUhvSEpLWlhJK1lSMmI2blljQ3cwRVdzYVQ1RENJMW9B?=
 =?utf-8?B?dWJvL05xeE90WllnaE9UdHdHMVNxbjFSYi9DVitCQ1YxM0kyaE95R0JtV2hs?=
 =?utf-8?B?Q2lKRThIZmN5S0FwRWZkYkNRa1c2aXJnTFVXbTduaG5XalhwaWQyaDRxU05D?=
 =?utf-8?B?T21UV2xaSkdyOVR6NDlEamFib0pDOWRodnU1T1FiSGl2OWFNc0RuZDNZOWFk?=
 =?utf-8?B?Z1k1MThKVnZ4dVQ4UW5UQk9OZUZ1djZCeFp5UzRrN2VUUG4rZ1JNK1ovYlcx?=
 =?utf-8?B?WnRFVStkNDBWenVBK1V3bW9mV1NBU2FmUytReStnZkw1bjEwdmcxRWpiY3Ft?=
 =?utf-8?B?NUZoREMxSTJXNWg1N3VuMHdOM2d4QWsrZ3VoeHRxRTdvSDRBWkFiQXpVS1Zu?=
 =?utf-8?B?N05RVTBWclQ1eXBiMUtJTEdUNzJHZkZ1WlkrS1QxeG8rN1R2L3FkallaWGVZ?=
 =?utf-8?B?MkNZTWh4dlUyRzJqaHBDc29QNDJFN1IwZ3RuZ3BnTVRiT2FYY3kyTmtvQkVJ?=
 =?utf-8?B?OUI3OE8vNGhYVzlXYnBTU3lGbmVuUXdTWXFESysrRzRyaGI2ZnJEMnA3eHFy?=
 =?utf-8?B?YkN3MnlEN1JrR0N6VElRRDZoQkFoOXJLeVp1T1ZHRVZITlMvUFJPOUhrR0tE?=
 =?utf-8?B?QmlqV3RzTmx5QkU3ZE5kMlF3YWErSTYxYnN6TVNLeUZ6WTlGZ3N2Q2pSVXZn?=
 =?utf-8?B?VmpQTHg4RlBiTTZtQ253MjNPb1UxVDlUZllFcFhWYm1hcWJoYnpPMlZaMXJ6?=
 =?utf-8?B?dU5MaEVrODl3YjdEU3QycWtkVzdUaVFEbFFyenM2eFpYRFdhS0JhSTIyMG51?=
 =?utf-8?B?cUxVNi9XSWRFSmVMaDBZWW85NUE1aVRSWEhIUHJKdnZrMVJUbzVuNzZHSzk2?=
 =?utf-8?B?VjV6WXNMYm1JMzk2SnRVU3hPSEZiMjZhUWxzbW9wbUgvWGsybVczdkJnamRW?=
 =?utf-8?B?TkFpS3g1SDFReWlyOXdWbENLbEFRTGFqQzVrL1BjbXh4dGwva1d3MmNmeFlk?=
 =?utf-8?B?QW9ydDhjSmN6a2UyNmJWUWY5SEVoOWMxcXJGTXdvSDJZTk1DcG5RczQvSmVQ?=
 =?utf-8?B?eXpUMlhTRUljb1dLRTJFSHl2MDVqV0RiZFdUU1dzSmpiOE1NZVZXWlB6SzVa?=
 =?utf-8?Q?oqz+aXtjyy3G8SLxbxcAIe+oS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc35f364-d1ed-4b31-0541-08db94bbbd6e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:23:46.2123
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E/VeZu1lhtQ9wgCl7L9LJBsCdfSJaG79mgExC46FZhJdzdR5MAI2ur52S+3EQx6G9VTZ0s9vGtxD0YPV7kavQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8777

On 03.08.2023 22:36, Andrew Cooper wrote:
> The opensuse-tumbleweed build jobs currently fail with:
> 
>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>      56 |   if (!key->p || !key->q || !key->u) {
>         |       ^
>   In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>      28 |   tpm_bn_t p;
>         |            ^
> 
> This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
> OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
> but that's not what the code does.

Looking at the code, I'm not sure about this. There could as well have been
the intention to allow pointers there, then permitting them to be left at
NULL. Who knows where that code came from originally.

> Adjust it to compile.  No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@eu.citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Juergen Gross <jgross@suse.com>
> CC: Marek Marczykowski-GĂ³recki <marmarek@invisiblethingslab.com>
> CC: Jason Andryuk <jandryuk@gmail.com>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Christopher Clark <christopher.w.clark@gmail.com>
> 
> While I've confirmed this to fix the build issue:
> 
>   https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430
> 
> I'm -1 overall to the change, and would prefer to disable vtpm-stubdom
> entirely.
> 
> It's TPM 1.2 only, using decades-old libs, and some stuff in the upstream
> https://github.com/PeterHuewe/tpm-emulator (which is still abandaonded as of
> 2018) is just as concerning as the basic error here in rsa_private().
> 
> vtpm-stubdom isn't credibly component of a Xen system, and we're wasting loads
> of CI cycles testing it...

Question is whether people might be using it, and I'm afraid that's a
question we can't answer. Would it be an alternative to disable vtpm in
this container's stubdom configure invocation? Obviously as other
containers have their compilers updated, the same issue may surface
there then ...

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:25:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576933.903638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpBt-00084H-4h; Fri, 04 Aug 2023 07:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576933.903638; Fri, 04 Aug 2023 07: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 1qRpBt-00084A-1g; Fri, 04 Aug 2023 07:25:41 +0000
Received: by outflank-mailman (input) for mailman id 576933;
 Fri, 04 Aug 2023 07:25: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=3Igz=DV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qRpBr-000844-N5
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:25:39 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1aafa230-3298-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 09:25:37 +0200 (CEST)
Received: from CYXPR03CA0026.namprd03.prod.outlook.com (2603:10b6:930:d2::11)
 by IA1PR12MB7541.namprd12.prod.outlook.com (2603:10b6:208:42f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 07:25:32 +0000
Received: from CY4PEPF0000EE35.namprd05.prod.outlook.com
 (2603:10b6:930:d2:cafe::73) by CYXPR03CA0026.outlook.office365.com
 (2603:10b6:930:d2::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21 via Frontend
 Transport; Fri, 4 Aug 2023 07:25:31 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE35.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Fri, 4 Aug 2023 07:25:31 +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.27; Fri, 4 Aug
 2023 02:25:30 -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.27; Fri, 4 Aug
 2023 02:25:30 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 4 Aug 2023 02:25: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: 1aafa230-3298-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VcybARHiuQaG6UnvvnF6PA1DuOr4UrWc/paMINd41ubtTllen7rPJ2yrkHvyH0XzNkl/4huOJvA2o3fBX/MqVmQUUXLkqIkHVf4Gl3DUo7bITD1fxE43ESAFi5jIXaCT08tU9ME+50tYPo7D+OQBwBG+4eTZ3yoewpcaEt6WkzRNEe5D28biHEoLUxzAiZ17TthOy7632TGIz7SqKy6qi7+EZILdCo+tHK+OqPR2hLsHieMsotaBIv3aRk3qxiUGoLQ8NHQVhY7tstoimUk0SDY4t7caHAvDrx5A14RvuHrYVPF7qUCN5njA+A3FL4OhVn9rayG5vvjDcB0tnRpvBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AKPSK1lqQOIFIWEEzp1G0NWYivJnxa4llFHfkl7Hosk=;
 b=YyX8w23kk3Koy7UXmq5kfZSXEL4riVz3Un0bGYOhIVeuPG/6rnUeSk71ARbu0c5njzfqokosLQlbd9TrqpmLWghHtgae8jQyBtDGObShObdbyldiY8C7pE4KttopjkCKL8vQbDtLddK+46L8s2PKXqYxYNfKWgiIWuAU7Yfk5TUVovsedABwNSWBB+/dFQufobCabbjwWpD5VwXEXJGieTs6wATeYMGL7hbpN0eNw7GJNyq/I30X64dDyvaz8WWOsjuTp2aTBWoGz8l5gJrkuTAfXidf5XvAqxR7zLV2BIIUyO0HupOO2B2+WDyjOBmaeeSSTSPF1UGGPzWeT4yWtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AKPSK1lqQOIFIWEEzp1G0NWYivJnxa4llFHfkl7Hosk=;
 b=3YFa05QivOgNTSGGc/yc2Qn+JZg0/mWRK1g2n6NrKr/vh2tTQcSQ9ZPO3vbS/ghZ2JRNGrlamIx1MNsWgT3w/qpuTe4HqN+UdXHEuP/fxY+XemfzkVHJ56+XsODAQD+xplj+eCiGYJdq7lqrJrgRIAUJM/tTpyuCTvqSU0mmJpc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <c2a229d2-8df0-8ca3-1484-f3da55b988f1@amd.com>
Date: Fri, 4 Aug 2023 09:25:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] automation: add missing "needs"
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, <cardoe@cardoe.com>
CC: <andrew.cooper3@citrix.com>, <simone.ballarin@bugseng.com>,
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>
References: <20230804011018.2888869-1-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230804011018.2888869-1-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE35:EE_|IA1PR12MB7541:EE_
X-MS-Office365-Filtering-Correlation-Id: 364fec6e-dd03-49ed-0085-08db94bbfc56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f6Xz/vj41JDuLR+RQELblUqLBlGYg/F9qLMxXq64nkjs18N7qiYnRurmrsdLJSlhovK1BgJbkOVZ/MNQAMYUGAW5cOgt2AnIs6BAy8zZBoFv5EapQBMD/zPN6B8Gyyr5LyBp0PFehSR+vuF+vDNtbfOn82aW6bwNgeEUWK31ZMHPjoe9OoIyGnbVTi7/PVIvNZVcH1feOPejzcjt/ko6kAbRmJlLTtPc9nlfZYuQYICy5oCITlivnf1Hof8qbCTBbHUZvMxoOGtlSq/wA9q809BqEFveu25fMauQLO9IPlhk4ofR9st4NO2BOpgc3f6TNr1gw2KuvfATTnqudlJ80fsO+S04pSvhhjNTV01MI0d6XlOMeRLL41pbRXjhMtJNgZ949fgmGHy5JF2osBjUlWhpTGXPfyfuP1mlPtdMLaZNI/65b2idHDRGk/jinqJRihIMMUvXrRb6VFAsZSGubVShdtuzmjIUQRNRNsGPDlzsoIR+wUfdW0kedavfRLKSARSWrm37BqRG7lR9P5JT1AioyMn69MGD9f3NDoBlD5c2E/7PkVLIHxp6DkRpWMRCqC5k0tbqJ0n8zRnp4Z3tr0D1eQmy6GDMSspjrggD3rGtepcx6xg0i2xBnvp93eFYzbXHRTyXEB9E15D+tjWYKEZ4fy6LCEggFjKI5RjQowE9OjETmc6FmwVJp2kDJ+/ga9Hf8sBrJ/fi2m6smZacrOemaHvJ3KnxIli23KOHqD7KJs8vqB6GQt2nFmdd8d6J2WRH93GOFs4Eb3Z2SbCuwgtnGXUwyY3DK0opvLW/NUpo0EhXUdIxmGzfR4DqaRfQ
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:(13230028)(4636009)(346002)(396003)(39860400002)(136003)(376002)(451199021)(1800799003)(186006)(82310400008)(46966006)(36840700001)(40470700004)(40460700003)(2616005)(426003)(336012)(53546011)(26005)(47076005)(8676002)(36860700001)(316002)(16576012)(2906002)(70206006)(5660300002)(70586007)(4326008)(44832011)(41300700001)(8936002)(6666004)(4744005)(54906003)(478600001)(110136005)(40480700001)(356005)(81166007)(31696002)(86362001)(36756003)(31686004)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:25:31.5253
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 364fec6e-dd03-49ed-0085-08db94bbfc56
X-MS-Exchange-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:
	CY4PEPF0000EE35.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7541


On 04/08/2023 03:10, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> The test artifacts export jobs don't need prerequisites, so we should
> specify "needs" with an empty array for them. That way, they are not
> going to fruitlessly wait for previous jobs (ECLAIR jobs) to complete
> before continuing.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Looking at the whole pipeline, I can see that now only ECLAIR jobs do not specify needs.
Shouldn't we also add "needs: []" for them?

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:38:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576939.903649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpNm-0001Mb-AT; Fri, 04 Aug 2023 07:37:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576939.903649; Fri, 04 Aug 2023 07:37:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpNm-0001MU-7K; Fri, 04 Aug 2023 07:37:58 +0000
Received: by outflank-mailman (input) for mailman id 576939;
 Fri, 04 Aug 2023 07:37:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRpNl-0001MO-Kh
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:37:57 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d34cd56c-3299-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 09:37:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9716.eurprd04.prod.outlook.com (2603:10a6:20b:4fa::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 07:37:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 07:37:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d34cd56c-3299-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hoAJHKhaU3AiAoa7RHhCWXHxC5nd4OA8FCd6yZG1b1pSnSz2/CVrvOVh7OxVJhDB1+xWocA5Je490ckfwRaZvknrXVd1s6vJJjA68dUryvMjKQhiQ26MtjkmFEmzZmwhFT1dd/4h/8CBhOLB82qDqpKgkZdA0/0wz2CyAX0YHIZhHB/LiooQe/9g11+4bfzj4swwDMmqNH9rEmqxXbPIXcZGum5hA8TtkKMNF1vXKl3o4KyETbPsQmm2DDJKjDgiHI6iRvAutDR8K9VLBwKgmWfTbaMi6amSXdwfMwVXwJnRMlRL5ccL/S2eecs1nlxtx+lOe6zEQr6eDYNDpEHkRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t4xkYOHi2k/b79+KE7YivMJrRoGNugFKVWE7D78cG/M=;
 b=RCeV+TmSt7iD/Ud6o6ubm/V5LmTk0J2k78BTPBqG9UbsZf5525tStZC+Kp/oYVpVZY0RRDn3wnnQZbTLQyPt8LQUuuT4F4WbroaN18CsLXDWsHCktc/AL+WNkwMxo7FY919S2MCj1V26ARE7n2/TVrs5cTxxYpJgQLLctRRNNE4d+mXICX/70iJaj3r1H5prvA3hsfJbnMvmDnQl0G89lmFk30PDddlHdSZpIRBEyayyvPAeaqxXVjAdlvsysO7Z1qPg/dPrfZx+phlIKyH6SBRJHrsyGRg6nDy0TL9MBpbaMCbPboe9Qe5GHCvpOLpMr46Cxogzm9lKfxUNMC6HbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t4xkYOHi2k/b79+KE7YivMJrRoGNugFKVWE7D78cG/M=;
 b=Fokrea92m2P8zqujZ2WyfgKQXjcjTU7uZRI9ZJEfPrmysLrKgRn6FS5Q6YgdkptJEDL+KF5boJFnJ7roXrwJh4dc8q/iKEdK5cTmBeHjS+vfSm43sR3cNMoNIM5DmLH7nWQRvdTPGzfOlvxVRMFxMOMpIvFKUVYlIKNxBtgRfspiPe6Lad3AebFDi2VQOT0sFcqI+oeTW27gU4J4T65dG8dXajtVgfmS4C24S10gm04pzgLnqIpXwBHdrFq+Jws52/y3Hx7sgwk986BGjLvcQlrqCLIWSOjJasqoIOq9rS2JCQq+mbRskzN9daeWWIOV720e00yr1VYaNw7brjvcFw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c8b78e9a-8aa8-dafc-bcda-b6a2101113cb@suse.com>
Date: Fri, 4 Aug 2023 09:37:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] docs/misra: add always_inline to C-language-toolchain
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, roberto.bagnara@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230804013438.2894725-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230804013438.2894725-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9716:EE_
X-MS-Office365-Filtering-Correlation-Id: 66692514-9822-4e3c-02c8-08db94bdb5ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u7nUns87Z8BoJc1RjeJ5B47ZZy06ixc/3ItNgujhxFwUtg+Fvhr64gZU//h/WIrOp7zJHtyXK7xoK/pS8QbMF8/4yPIpA1wuP5TzmpunQyxsEzJXgapvAZutQvfZUxI8NtGawJcdx9ymTc35aOOvtQShhox8Xe92v+N8lJfLoLj2iEKCa0y/scYOQsK72GUl6ZqR6e4sNvnznuVw0jZ5eTxWMHh9eKt4MJ3HyVHoP8mnNr6qX/BoJT3KTrwfo4Lvw14q+cG++z76+QYuk+DqFz1i5Bk4xFEtRVGGzfiBFkG5W9gm0nETq9ACg01NH2+IAQDeB0fS62GL7oVbqJnMTOXAu9nFmCHa08O5tVxrxOBqdQhjNvxkrukI2SAr9RB2Gu/XwoFuAalXVJLN74lKHe5O+ZxKV2DY1NElRPbTWGHeXQ4d5yUDuv6uORQN+CFgwT4S2ahTqjvVbITD5nfxfN4RSC4Cop4NZVUQSRdFM1kLMcrSjnzXksSzdZiQ/kC9UMKay15nvgaYCBeZuoitpz8UfqqG2/k89jVoDg40AhPMRVOUUpxcB/uo88+8uXoT5vejWw4i5ka9pwyBFKulR12bgE8Jvw652spZam5fyk27ZOIGXmXg0oIFR+oNCBWDA8gtEC9bwcTxxF7Kudqv6g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(39860400002)(396003)(366004)(186006)(451199021)(1800799003)(66476007)(66946007)(66556008)(4326008)(6916009)(2906002)(38100700002)(2616005)(53546011)(6506007)(86362001)(6512007)(31696002)(26005)(478600001)(36756003)(6486002)(6666004)(8936002)(8676002)(5660300002)(41300700001)(31686004)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODh2N1MxcUpYMVh0TXpGUHVHdXQvSE9aRjFMMU5ETGZjTVZvakpvK1dVQldo?=
 =?utf-8?B?am5hUXh6dkZqL0p1Z0tubDhId01CMXpQWGV5VjRNcVFxVXREd0pESHk3YnVQ?=
 =?utf-8?B?SEVYQkRJcFJWVmVvRVcrNTBLWXdzZkE3YUc3VllUTTRFMUNrdXNyUVdVM0k0?=
 =?utf-8?B?ai9QdlhkUkY0SXp4TkNYVzhsaGxjc0I1RmJZUnJrdXpVWUk4UDZuSythYUt6?=
 =?utf-8?B?bUQzS0MwQ1pOOXBBaDExTElHMVd6Tm1jOHVQcnhWeFJZbjk0S3VzMTFwQldN?=
 =?utf-8?B?ZHpHRHU3YXRhakt1K29nSFRNWTZXZms2L2JscExJR0VqNjV5bmVxcmVTcjR4?=
 =?utf-8?B?c3JIdjk4NjFzaDhGZFplbWV0ekRmNHVKMWJtNWkzYUhsbVNJT1pqaFJ5SC82?=
 =?utf-8?B?Q0lKM1VWUFd3KytCN1RzVjlxR3pwVEhXNzN5ejcrZTBFR3pKbFN1c1pnWjBE?=
 =?utf-8?B?bDNLOFlGZmo5YmVOUDVmUTdYY0h1NjFTOUpxdXpWSjc4UXRjZWdEODdiNGlC?=
 =?utf-8?B?MDlUM2cwVVB5SzIvZFFLdTRpOHhxeGZqa3hCam4vTEpNeTlLZlhmZWZpWDVx?=
 =?utf-8?B?aWY2RzRLaGlDMDVEV21KWTVuUDI3Y2RtWDRBMUdySzNWWUMrTmxaWVhCc3Ji?=
 =?utf-8?B?bEdzcUlJRFFjYWpsdFZPY1NEaXVrNWlmNnc4V0NKMDRMZjhyZUtGL3lySm41?=
 =?utf-8?B?L2JRTy9scjROTWpKR21mRGJnaHlsUUs4OE03dXFuUDFoOTYxQjErTVhzSktv?=
 =?utf-8?B?TjFYNGJBTEZBNy9zVEc5RGhCUENISXljMWdqcGtzMFNsbktlcnB6YXIwTmlz?=
 =?utf-8?B?emlrTDZ1Y0dCUWQ5NG80N0srb2U3WTJmZ2hkOFJsS01tVGlvTTgyb0ZPS2Fy?=
 =?utf-8?B?MEF0UnUyZVRZTzk4Vk90VGRGbEpZdHEzUWQwZ0kyNzRqR0lzNW83WjdFeEJp?=
 =?utf-8?B?TnJXcm1TZjB4bzZqUXdrMmY1cnVDbjVMSTJ4elJXOTVodDZYKzhBOGQ1bTJO?=
 =?utf-8?B?MkswZmhBRzJ4TjFNMDFuRkNvV1prSVZPNHJBR1RWOU1vSTdLZ09lL1BOb1Jt?=
 =?utf-8?B?Uk1XbEFiNnNVQ3VJNXFEYjVxR2dYdThEMTlrdWFYcnZlVmdUNGFiYVdHS1Jh?=
 =?utf-8?B?YnMxSURlRW1rOGJqaFBKSmFVcTZMQXJlTzVRcDBMNXdpZ3E5WTBwcE1nZkpD?=
 =?utf-8?B?OTcyYVJtTkFOMldzTlAvelFvZVptNDI0N0hnWXY1ajJlRy8vQjQ0VTYyZEJq?=
 =?utf-8?B?QjhzQlZWM2t3c3dzL29OM1RmeHVkMTFNa0VTYmxqVFpWaWtQa05zQm5mTVVh?=
 =?utf-8?B?cDFGWGVaTktuYkZDSmxrekhGK3hka0ZXL1MyWElTUnJMN05zM2U4UW5VbXo3?=
 =?utf-8?B?bDB3a2JMWmY3Yi9CanFzdXhaWnYxSS9HT3pJbFo0QWZNUG9xbU9wNUpJRy9Y?=
 =?utf-8?B?YWE0N1E4SVM3R1BSWFlyN3pPUmp5emh4R3c1elhNdFA1VGlpUFYwRG9neG54?=
 =?utf-8?B?VlI4QXFKQ2lqc2taWXJQK3RZMHRxcFJUclpUZVZYdXRvWktsdUZKR1lKWnY1?=
 =?utf-8?B?K0RuYXJUTXpnbHFvTkZUcFFmellMZE1VQkNhZlVVdkNFUm45RWV4eit4eHhi?=
 =?utf-8?B?YVNCZW1HNmlTcWQ4OFZuUTFleUdWSlZGelZsanNEZDVVUExLL2F0RlFrelZS?=
 =?utf-8?B?TkRpakdTTm9qLzJCU05sRURIZlg3L2g0M2lMZHV5UjJOUXV6OTZKMUpqcGIr?=
 =?utf-8?B?NXFra3pNcmI3bnN1VDkzTE5UdmZoZzErS0xmb3lTcnduSVJadUN4WXBLbGNa?=
 =?utf-8?B?NUxwVVhtamZRQ244Ty9LQXdtZHQzQkxmSGVCNXI2SW01S2pJN2dyQ3NGcnZS?=
 =?utf-8?B?aDhiSDdsL3FDSDBlVVhLM3pFd1hLTDVPblhyNnptSzc5Z2FHL1lzeWp2ZU9t?=
 =?utf-8?B?NHRGVVMxZzVwa1ZybjY4MmFDWWxmaWxQdmVXelZRM0ticnA5cXZSYi90bWNU?=
 =?utf-8?B?bXVwd2hKSUVKRW9ydUI4bHpqSUhDcFVVaVpzaG50TEZLeFJNQ1puYnVVdkRJ?=
 =?utf-8?B?UkM0VG9BTTkxMlo0bXowR1NPS3dqbTB5WVVWdERNVXRCaVFyMTJwQ2d6V0Qx?=
 =?utf-8?Q?K2hRD+7sA8TL53h992dBStfsg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66692514-9822-4e3c-02c8-08db94bdb5ab
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:37:52.3611
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ppBZbqtWNX05DpAxSrJG7uPWu9bWo/5IZ4WVh4j5KsD7Vd0Bra6CtNE6zhQa6KwtTa3oAI3zYYhnkFKc/OzIfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9716

On 04.08.2023 03:34, Stefano Stabellini wrote:
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -84,6 +84,8 @@ The table columns are as follows:
>            see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
>         __const__, __inline__, __inline:
>            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
> +       always_inline:
> +          see Section "6.45 An Inline Function is As Fast As a Macro" of GCC_MANUAL.
>         typeof, __typeof__:
>            see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
>         __alignof__, __alignof:

This is the "Non-standard tokens" section. What you add is a macro of our
own. In its expansion we don't use the similarly named attribute in this
very spelling, but with underscores prefixed and suffixed to it.

If we mean to enumerate __attribute__(()) identifier tokens here as well,
then I think we should add all of them that we use. But that's going to
be an ever expanding list.

In any event I don't think such an addition can come with an empty
description.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:50:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576943.903659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpZR-0002w7-Bv; Fri, 04 Aug 2023 07:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576943.903659; Fri, 04 Aug 2023 07: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 1qRpZR-0002w0-8i; Fri, 04 Aug 2023 07:50:01 +0000
Received: by outflank-mailman (input) for mailman id 576943;
 Fri, 04 Aug 2023 07:50: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRpZQ-0002vu-8X
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:50:00 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8285ab8f-329b-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 09:49:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7244.eurprd04.prod.outlook.com (2603:10a6:102:8e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 07:49:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 07:49:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8285ab8f-329b-11ee-b26a-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A//hTqTS05Uf9mDHd8lfOgmr+xNEhNXhVuejcvsPaytZb4iBwSdy7TO93Gp3XwCjHwaEahtsFx5B2f9qZcEx/Iawnrnt6hlL2ZABwC8MMYWjbmGaIS0oy+2tvZJE9xwdMM5WxBCvwh0p+zbyFjL2nW8Z+JyJYV5/pbuf9614RdYLe8j/9dlEmABxyrZ1gdrDxi5lrNVCmLCnNWNSZPYFyXF0DoSxgHbRPrlnpjKjMUOB3W5QD/U0cd+ZJOUMu0SrtmJNZGaHc1ZKkZPkUq4/fqe/fFkTK8kyuVToTaUNuZMJHShqEUQyWlepvE4IMD7IvlJPED5RJ1pkPe/d6HO6lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pK8Vhq387biROCAprJ3LZiRopB/zy2Jlz6LEwBX6jI0=;
 b=hrplvX8R/BfPxx62uXBYLugDBezfbRdrlwVkWRqrdCJBdEdmozPnrT6/fcHLvk8MheZv41rDD6aSn7Pl2BuUXN2CUoy5mD+zdrUvhfyyxEdLm0BiDa35diQ488ZKFy4nqcBp5/MOnRGce6I3dSNV5cV5vhr22aUWq4ZPq+SUidDTFw6r8ldLphhWVjO9zPEvJdxwaJ+82fPl3qhmgiPRqVyp4Hlxmh32eL1EisTQhMWWO4BZ3Dkhf9Jrn0LnSNPUMlcALJ++iLQdq6YySIND8YSWePh+O74686DSUw5y3de+bM/1h/j56SOwR8tiiKAQpt6U+Nxe8l2c9nqt5l023Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pK8Vhq387biROCAprJ3LZiRopB/zy2Jlz6LEwBX6jI0=;
 b=FJ1u4+GFAmVvFDVTbm5pAYjLmks3zpcniO2ToFxRGdBgFU44wTtedSgF19DuluJzLqK1gFm8lPF8kRa8jRorWmY2Puvia9aXpsfcdpKwc/dFc3XPZ+XmOrc9wuj0ntS7Jgmgm2z5+D4yYTDGwJ81qC7H3/pEjyU9w10UHi7bj7/TaZFHciigdwTjmrwqvFTpPxBg4UkRd+zdislEhYTH/clZp/5ib/9KEhaGeeIFaMpk7nccsvNqFzzAT3bvOhhNCt5q2xK+anwy1Goc/AhN4hE3J3eI7acMvH4MmL3BTH1EMRcQrQdWEhgqTc7uY0m/qxaeuri3Ou//KPEAoB5Ieg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ded224f-0b8b-90fe-367a-91762d1f25d5@suse.com>
Date: Fri, 4 Aug 2023 09:49:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
 <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
 <e1554020-a605-8df2-619a-eda86d86c50a@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e1554020-a605-8df2-619a-eda86d86c50a@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0241.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7244:EE_
X-MS-Office365-Filtering-Correlation-Id: a43d3003-1292-49e3-1da6-08db94bf650b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ea7pMgCjE2NCXlzxnS/6iH3WFvLNA9picOII2rmtW/r5/01vAFsMtVBx0CTGwbJ+LEClTf3NSQxii8xsEiXYuK/MnZDgpSyeeWe5aqMBzX9pAxzCxtIa1tLsOESfTPDy9GUhdWHQJarqypJ1gAgxIgEbZ+1vtYi+vgmJJliNCLbY4RVGUR71vuz10VU76S16KM3cGXyRSHPeZuT4sxuruWSSlEQZSnAgodRbPHucQhRRV9L9X3cE7ay4jLBa4L1OAxPvcXmfU98BbrnhZOu2fz+CzqrcaLWYulVQDoe1lUbHdHtClHdZ8xWMPe2fT1IIGG6028cXmbOnC4aSzHbhiOjXGR/HW3ABka8tWeVK4r9RJ/GhoBquCoUhvRVG6YSxcqrCbRnYtaJmzts/UMwpS5sYjw5UdVZkEytxqotVxJDyaebEZmsDldVRNjgjzCkIilmErJHxeYJ0phU1d8aHLgeGz9jwigopauAzd8m56ah1UIEbtQMwzHnPxrx/SCvETSA84ryWnqa4L99uDSWZ9FaOiZnkq9nMQS3lUtpiQ/hms/3tCxL1htwpfwFgFnHT34Kr5fya4ITu8xBgS2MndokFhZJgQKtl0vaIUOJ02pAh1ob5j35IesfX4NJw4y9ZjXyTF9dFy+jU2kmJF9O0mg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(39860400002)(396003)(366004)(186006)(451199021)(1800799003)(66476007)(66946007)(66556008)(4326008)(6916009)(2906002)(38100700002)(2616005)(53546011)(6506007)(7416002)(83380400001)(54906003)(86362001)(6512007)(31696002)(26005)(478600001)(36756003)(6486002)(6666004)(8936002)(8676002)(5660300002)(41300700001)(31686004)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEl2ZGJWSWdGa2U0QWI1VlM5THZYN1p5bjdMVlgyZ0IzUUxXOWtRelZyRXhI?=
 =?utf-8?B?SmZKU24zOTI5aGJTRkdqUDJGUDFheW01SFowSXVITlpuVTRPdXFaWDd3NHdF?=
 =?utf-8?B?bWYvcG5pd29oU2FOdnJTSUkyR0dZbW5KbTdxVG1JTFk2OUpMam9iTnpJQ1E2?=
 =?utf-8?B?VDRYUHZqT1FzQVFhaVVGR1pyL0RLKzQ1V2RoWTZERmsxS01RbHhZRkhmbkJO?=
 =?utf-8?B?ZE5yU0FnckRiQ3RIVXByTlphM0NnVnc2cWJUdkVHbXZLUmlXZGhuSEVscTZa?=
 =?utf-8?B?UFVLUnFiS3JpNFZjRkxwbTJmRzBlRWxiMmVoblRrM0NVSUtxRk14TWJjdWlm?=
 =?utf-8?B?T3ZiTkNacjZkZjJjSTc0R3Z3MlZPSms5TXZwL2l6QTJVcld4ZGxXaEZhV0hl?=
 =?utf-8?B?bjB4RUxpZC9lY2NlUG5qeFczTlduTDNUZ2tDdWVuS2lsQi96Rkl6bVJMMFZv?=
 =?utf-8?B?Y2VEcFBDUVFKdklyZGx5UjVIZnBaVkFaNFRNcXR4QVhUSUc2RUlKWGVsOU4r?=
 =?utf-8?B?OStEVFJ0a1pWV2RaZnNDRTZLYXZhVzZKV2tCTnRUbjhkUXlnU0tYbVkwbmFY?=
 =?utf-8?B?ZkFiNmprRjdoL1E1S0thMnZDcGlReDdHdEhEemt3SWdHcU9kdGRNV0xKK1JT?=
 =?utf-8?B?VW52ZW9TdE54S1ZTVmIva01VNk5oQW9wWHpnVk93S01oRVBUUEZ2V3VsYXpF?=
 =?utf-8?B?dDdXMEpZL2JodjdOYks4Y3NlTFFTUnllRWorY3NSZkx0ZHBBcTNhd0ZHdTEx?=
 =?utf-8?B?c0ZGZ2F2U2wxaG1vTzErb1JlTHRFQmdqK3dFb2NiVkl5V3dESmE5Znp6eUNs?=
 =?utf-8?B?VWZ5QmNRZU9HT2JkUm96ekFsc3REeEE4bnNISk5Sd2ZIQUpKZEpaWTRLaWl5?=
 =?utf-8?B?WlJOeWYySkFUNXNQUUdsZ3Z0bjMzeWFTc1Y2RkIvNnZEdXYvWi9yaGpjM2Vq?=
 =?utf-8?B?L2ZrVFMvM0twOWNxVC94ZTFIK3YwNjVMd1pYUWZEQkJCa1pwRXloOG92K2ZP?=
 =?utf-8?B?cklKNnpuaFVWbWV6R0JrbDlMUGdGMkVuZGdlZFF4cXhUUWNOeXlJOWdMdTQ5?=
 =?utf-8?B?ZG1ra2hPOUdaL2RvVlFvU0VENnN1RkgvRWE0TGQwakJsbkZHNTBqbFRSWGE1?=
 =?utf-8?B?Vy8xSTVuY2x2R1NUNjRkSXkrNkZGT3FuVysvMmp3aGFmc1ErMlEyU3pnTVcr?=
 =?utf-8?B?eTN4T3E5QWwwZXF4S2RaZ296WGVyZU8zSDJoajRRM3FscEZkKzlCaVp3NVNp?=
 =?utf-8?B?Sm1sd0FvNnR4UkFZWXZ6Z2hhaTlmUS9TYWdEc1psMkl5V2YwamMwc1EzVElH?=
 =?utf-8?B?N2hOWThtTkF2Ky9VZVhCSUUyWlo0Z1BzdmhZWms4RHJYSU04MUpBTEt6cFBr?=
 =?utf-8?B?cjZxaUozcTNyRW8xRUcrTy81TzlISjJaRW1yT2RPdHlBL0pJUW1wVlMrdTRU?=
 =?utf-8?B?ZUNaN3NrdzVTaWg2WWdGYThwdnNGRmhJTkVpQ1ZvcVNvRTNKNTV3Z1V0Sllu?=
 =?utf-8?B?TEZpeVVSNkRKRWFJSjdjbnk0YitxZlNDVUZRMkVwRUc5dFF5V3JsK2hwNStO?=
 =?utf-8?B?aDFBSlhySS91UWpMSUI1VWRQTTZ4V3p6Z3pmaXpEQmdHYTFZbXNVdkVMTkwr?=
 =?utf-8?B?YXM4Y3NZVkV5OTdPT3pFRGUvM2VIS1NYVGxyNnRma1FyRE9FdFlWd3lLakYx?=
 =?utf-8?B?MzhQdWdCeTZKNlBycXdhaG0yUTZRR0ZtWmx6dkU1WDlvQkl0eEo0RW1RS2Iz?=
 =?utf-8?B?UXdnT0xld3JycTVacDFQdXFNWXNKOGxoNjN0Z2FUem5hQUVSV0c0RFkyNmdY?=
 =?utf-8?B?WVoyOG5BMjZ4c1NERllVWmlZWjhoczQ0NmZ3bGwvcVRBekoxbTJpNDVrWVkw?=
 =?utf-8?B?ZjVGNGg5VE9RUjRHNzJHUkw1eGFlYW9ZWlU3VlJxVG9GSEo0eUJBa3ZTRmRy?=
 =?utf-8?B?NWJzSS95WXdHM1NvV2ZBbWNMS09uSW0xVExlUzJVTUdOTjZKdk44UXVRYkMx?=
 =?utf-8?B?eUVncEZZOVhrVmVMRk94SUdNY3UvdnJ6bDR3NXBoYnlRNHBESlBWT0xERkZB?=
 =?utf-8?B?VHVsQW9uQlhMeElnUXV3YTRHQlUxUzFQMS9BSVZSeEYvWE5TdGh0amwrdXVQ?=
 =?utf-8?Q?j71LrMM8qGAB4b8b3p/s47LAZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a43d3003-1292-49e3-1da6-08db94bf650b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:49:55.9338
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0XxomRD1fGud9DSoQhXw1juIoYztd1vgaiB4PBSZ4mjq5jQjvBauFHa0ipuCQfUHiK2km/fWScdwBazJwcbBiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7244

On 03.08.2023 18:31, Daniel P. Smith wrote:
> On 8/3/23 11:56, Jan Beulich wrote:
>> On 03.08.2023 14:56, Daniel P. Smith wrote:
>>> On 8/2/23 07:01, Jan Beulich wrote:
>>>> On 01.08.2023 18:06, Daniel P. Smith wrote:
>>>>> +        {
>>>>> +            for_each_domain(next)
>>>>
>>>> What guarantees that the list won't change behind your back? You don't
>>>> hold domlist_read_lock here afaict. It might be that you're safe because
>>>> that lock is an RCU one and this function is only invoked at init time
>>>> or from some form of interrupt handler. But that's far from obvious and
>>>> will hence need both properly confirming and stating in a comment. (It
>>>> is actually this concern, iirc, which so far had us avoid iterating the
>>>> domain list here.)
>>>
>>> It is better to error on the side of caution instead of assuming this
>>> will always be invoked in a safe manner. I will add a read lock for the
>>> domain list.
>>
>> I'm not firm enough in RCU to be certain whether acquiring that lock is
>> permissible here.
> 
> Same and I took your statements to suggest that I should.

Actually I wasn't paying close enough attention here: The code already
uses rcu_lock_domain_by_id(), which acquires domlist_read_lock.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 07:55:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 07:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576946.903669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRped-0004OU-TU; Fri, 04 Aug 2023 07:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576946.903669; Fri, 04 Aug 2023 07:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRped-0004ON-Qu; Fri, 04 Aug 2023 07:55:23 +0000
Received: by outflank-mailman (input) for mailman id 576946;
 Fri, 04 Aug 2023 07:55:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRpec-0004OH-Td
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 07:55:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43026afa-329c-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 09:55:21 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id D71CA4EE0737;
 Fri,  4 Aug 2023 09:55: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: 43026afa-329c-11ee-b26a-6b7b168915f2
Message-ID: <49fc793e-d0a3-7d9b-b501-d7a72dd9c736@bugseng.com>
Date: Fri, 4 Aug 2023 09:55:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: Luca Fancellu <Luca.Fancellu@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
 <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
 <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
 <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org>
 <alpine.DEB.2.22.394.2308031226010.2127516@ubuntu-linux-20-04-desktop>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <alpine.DEB.2.22.394.2308031226010.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 03/08/23 21:26, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Julien Grall wrote:
>> On 03/08/2023 12:52, Luca Fancellu wrote:
>>>> On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> Hi Luca,
>>>>
>>>> On 03/08/2023 11:28, Luca Fancellu wrote:
>>>>>> On 3 Aug 2023, at 09:26, Federico Serafini
>>>>>> <federico.serafini@bugseng.com> wrote:
>>>>>>
>>>>>> Add missing parameter names to address violation of MISRA C:2012
>>>>>> rule 8.2 ("Function types shall be in prototype form with named
>>>>>> parameters").
>>>>>>
>>>>>> No functional changes.
>>>>>>
>>>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>>>> ---
>>>>>> Changes in v2:
>>>>>>    - memset() adjusted.
>>>>>> ---
>>>>>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>>>>>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>>>>>
>>>>>> +void *memset(void *s, int c, size_t count);
>>>>>> +void *memcpy(void *dest, const void *src, size_t count);
>>>>> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
>>>>> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
>>>>>> +void *memmove(void *dest, const void *src, size_t count);
>>>>> There is a comment in arch/arm/rm32/lib/memmove.S with this:
>>>>>    * Prototype: void *memmove(void *dest, const void *src, size_t n);
>>>>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>>>>> +void *memchr(const void *s, int c, size_t n);
>>>>>> +void *memchr_inv(const void *s, int c, size_t n);
>>>>> @Stefano: would it make sense to remove it as part of this patch or
>>>>> maybe not?
>>>>
>>>> They are a verbatim copy of the Linux code. So I would rather no touch it.
>>>
>>> Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there
>>> a reason why we
>>> are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano
>>> suggested that, so
>>> Itâ€™s just a curiosity. Maybe itâ€™s for clarity?
>>
>> I guess because the generic implementation of memset (see xen/lib/memset.c) is
>> using 'count' rather than 'n'.
> 
> Yep
> 
> 
>> Given what Andrew said, I would say we should rename the parameter to 'n'.
> 
> Yes, either way works. I was only trying to be consistent with
> xen/lib/memset.c. It is also fine to change xen/lib/memset.c instead.

If you want to be consistent compared to the C99 Standard,
then other parameter names need to be changed, for example all the `cs`
and `ct` should become `s1` and `s2`, respectively.
The same goes for `dest` and `src`.
If you agree, I can propose a v3 that takes care of that.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576957.903679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpjX-0006LU-Vq; Fri, 04 Aug 2023 08:00:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576957.903679; Fri, 04 Aug 2023 08:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpjX-0006LN-Sy; Fri, 04 Aug 2023 08:00:27 +0000
Received: by outflank-mailman (input) for mailman id 576957;
 Fri, 04 Aug 2023 08: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=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRpjV-0006IU-VB
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:00:25 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2072.outbound.protection.outlook.com [40.107.13.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6ec0d1d-329c-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 10:00:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9768.eurprd04.prod.outlook.com (2603:10a6:102:381::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 07:59:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 07:59:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6ec0d1d-329c-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GRap6Gi6gERzyP80a0wc6QLEd9hnZyuEFCKlrh3AA9X0GO3u8gE0qLIZS9SrVKjQN86qno5kcv9XVE6+tbR2EEKjvQzDlm5G6CrL4iAbKQV/ZPpWmblfqIFmw0PB6A+AiTNUSR72+3/Iru19P78JVOMIKboIB+ieiGfNjwfRdKFUmiQpSgmyNVltOYuY9NVEqVw+OKVdSUu6LnKT5OV0456ckUGCpFCQdCyf6lA/gOytNddP4PKaUN+tig+pxKJEcXIjU5JY2OTcJqFQAKMBXu1n3dp4Du/PMDts3rZQa58/mvK2kbdZX+A9K6uIgVBqt9CmRDqsE+RJINQ9KGxHbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jg6HVn7meBYbQ4DOJLd/KhIV5BbPWOw/1QsnOWVKGoU=;
 b=XrCfjDvehkn22Q3t4sUVSmdVUrfT56oQxdZVQYhr944ODwhrH4rZqhmAaQe33UICE0zRoB41F11RiZCbVvOVdzHX3kIJnUe9l2LBKE7xW8PAH4CjP8Gl81lHnbwD4azV56yQRaWDrG1TgLFqfEIddjt3CmbtdPNzB0cUPNobrGFzgCUmegvr7th2P7Ae8qW/bOJGfnxPwExAoXnnxFqkhlhVQhE3AeaQQm/BrYRAhA8eYaWrQmegtH98oofutl1bHp4Q24lp3psT+UuRGu2vcF3QZH7pFOJvWwHvhNqirZUJ4KevJoXYC4EPKvNZrvoJ3tRTcA0937L2rh1i3yrNFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jg6HVn7meBYbQ4DOJLd/KhIV5BbPWOw/1QsnOWVKGoU=;
 b=sJ87tt4tP+eTV33rl4usYCpSJas0TxMCXNmj24FMVD7jCEm+OwpvbFWPv3uVOQOStHDMbskvIv02brmzRqka5WD7jTsu554YuNmqbg+LIwsa31NJioghVEz/3sbfnC52kJtOrg2wBroHvgrLys9IJj6lTlyFNAy5AI0KvRuGWh9O+RGd/tnK8zxRbbq0m4j199E4oGF5Yv5MnN5dHfdEU5Yd1uEZfBdDFfx+cpSFXiBoWv4fzpl/AbVyoXvFlubDBe6Ofl63yFZ97CxULt+VBcbwhIUiH33Ls+D/VK98pFEvwDIyV9oe7ilElNIqfgeGvJCa+PPS0EenHjAXh3xNjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82f93d14-fd6e-417c-a970-645fd0719d3a@suse.com>
Date: Fri, 4 Aug 2023 09:59:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: Luca Fancellu <Luca.Fancellu@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com>
 <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com>
 <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org>
 <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
 <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org>
 <alpine.DEB.2.22.394.2308031226010.2127516@ubuntu-linux-20-04-desktop>
 <49fc793e-d0a3-7d9b-b501-d7a72dd9c736@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <49fc793e-d0a3-7d9b-b501-d7a72dd9c736@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0153.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9768:EE_
X-MS-Office365-Filtering-Correlation-Id: 0be34a50-2115-4396-c794-08db94c0c9b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xLBp3p0bQ7ulutZi9SrFEwRNTECXAbjlcnEvFuXr5XQzP0T/gBq5rJr/ae9Ut5eP5Y58yart1FugV4iUY0g5hwTDUKXoFrHxgaaX99salRqNdLR+uREBADheEThXOMbHZKlzj2RSNSJ5THmVDsxWLsuQwQ3SxeDic45GBYplv58ePFu2qcStHCmnqLefa3CDhToAA5QoKZaeuMDp0hrS9jHvkxvmH44SE+DBDQ6v/ZNW9DVcmyl6I5p9nsjGr8Ov7NU/W9PRGtcaHHhx7zj66EGEhHYVYYfQjcFHHj8O1LkoWZaF0JIoBOdOF8xF8NglDgNAVr+XuG3jkAagjlDPEqNBrjSQOyObGbK7AhLZOfm4Fuy2eVbnw/88jrjJHM2sYy5HWECgGuOo1rL3pWnxEEYQMZo8NEPjAY3y59xhmH/kl8r+tMEyg7O8oYcwNQrUw5a1TvT+X3iqNpaJpkANjb2f0G8R5/utvv6n3i8EfvdoliIjaV1wYq8i0VUdAMlmi2fL99+/PSAiUDc2Mulw7MOnmv6jk49EEG/5YdLI+8OISvntzUT2RJkmKTDbg6IR4KA1akVzQ3zTKg3JZ1Jh+jkYuKPtW4ju1f7wyrlr3H5mabjOgAM4PNzwJsPpzhvxTZdJ8sJrPkXypDC/qG5h6Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(396003)(346002)(376002)(451199021)(1800799003)(186006)(41300700001)(8936002)(8676002)(83380400001)(53546011)(26005)(6506007)(38100700002)(2616005)(31696002)(86362001)(316002)(110136005)(478600001)(6486002)(6512007)(54906003)(66556008)(66476007)(36756003)(4326008)(6666004)(31686004)(2906002)(5660300002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bW1hM0dkOTNSWmNxZWp1dFBGYmM1TFhPblk2UWFERk12Mmd3L3RMaGk5TEVM?=
 =?utf-8?B?Y1lLdzRJSGxwQXdGSTVlRjFPOE1hN2FYZTZDNzUxTDM1RWpmeDNpaFRybytS?=
 =?utf-8?B?ZlhHc1NmbTdmZDBPUGNQakJwR3dacUc2L0xuU3IrN1VDV3hrSXlmMHlubWhD?=
 =?utf-8?B?UURDd29mSkFzaXZTUHdDejBKRTU5WE1uTHdZT1lEMG0vRkdHQlorakdKTHoy?=
 =?utf-8?B?SXIzTDNwUzhJM21iTVJXeHFpdHJ1cURycGxCL20wM3k0emtWcTdMNGlQSkNE?=
 =?utf-8?B?M2tMcVdtYURURTNjZXZqQTdGKzJEVmJuWGVOTm1sMXg5MmxHdlE3S3JlUjU3?=
 =?utf-8?B?TFh1Q2ttaDBsRldaRWd0dW4wQmh4S0V2b3A1eDExeTdzcG5qNkZpaUU1dzlz?=
 =?utf-8?B?MWkyL0RjNmdRQ0EzUVlmaFR1OGFFYWdPNk5hcFR3VGlPeS9oeXNOcjZ1YVBO?=
 =?utf-8?B?Tk9nYTFNaFIxM3lzKzBwV0RQZ1Zob2JrazBFai93d2VtK0VYbTlmK2lhMys2?=
 =?utf-8?B?eWVibm9zcCt2K1RZVmZNZFZZaFdtYjROMlpGb2VFNmlTZElVVHkreHp2amVU?=
 =?utf-8?B?K3hiaCs4SmFFNWp6MGw2dmVRR2hqNGZYNy9qb0xpZFJkQzdBWktkbmJBRm91?=
 =?utf-8?B?UWZIbGE3RGpYMDlZWWRTOG5QUW9WNm45ZEs2YXp0NFp1SnVPMlNFczZQQnE0?=
 =?utf-8?B?T05wWVVyeCszVFZiRDFHR1BLVlFINGZIc1dtdGdjZnB1OGNLUlNDQ1p6TWtK?=
 =?utf-8?B?dExETzdDY2VWd05Iak9DZVdXWSt1TGlxMWJHbGFqYzlQVmJxMlJNZ1c2YVpE?=
 =?utf-8?B?b2FKYkFVTms1c0RjSm9XSFdCYlVMVERYcC90dmdLcldyWXV1ZkZLRGEyLzBl?=
 =?utf-8?B?SEQ4RU5JdEtVRk5COXRiV28zQTY3elVQVDc4ajdrYW5mUEhyK0dDcnNMWitn?=
 =?utf-8?B?dE9KZ1FUSk5zMkJaKzIya0VqSHFMcTVvOTdFbUZQbEtMMmFEZ3lnanZJMlRG?=
 =?utf-8?B?T3JqU0pmR2VZYUhsNzdNRWU2bExTQnlTRCt2NEsvMnIyV0VZV29nVDg1VXBL?=
 =?utf-8?B?N2VQRGxYUDhjL2lSRTRxZkhRZmpYcHcrSlExUmRKMWJydUdnWjBJWldzMzJR?=
 =?utf-8?B?bEtwTzIrMkFIUHRCa3dLVGFpRTR5alBWMzhRYVA2MWpSZEw1ZjFYcjZaS3Fu?=
 =?utf-8?B?cjF3NkJUMlB6cFJkdzBXZ2UwUFJEaFU4Sm8rdnhIRm1mNkRtT2twcEYyczBX?=
 =?utf-8?B?ZjkzdWozc1hDRGRmSTNSY2R4MnNnVGdFaUU1SDc2RTVBMnhKY2hYRGxjNTFo?=
 =?utf-8?B?REI5aDRpRUEyRnBOajh4Si9pVlhjVTZ0OHdNTmJtVjBKWWxlQWVsZ0hLZDFv?=
 =?utf-8?B?WVpBNGdlVUVIaU1LTFpOK3ZETXNmY3F4dElFeFREME9kNkVlR25vNVhBLzJV?=
 =?utf-8?B?Y2NsWkIxVHFiT0RVdDN4L3F4eHZQWkhqVTBnOGVvZDh6eEVBMWF2UVBFQ0NV?=
 =?utf-8?B?WXpacXphNSs3WGQyZG5qUnVVZDRvckJ0OTNhWEt2cS9EeWtxT2pyY1p6NmdL?=
 =?utf-8?B?cFlTeFZyLzVHcThMQ0czWDRkTm51Slk5ZUVjTGRQaS90Z1BjbVUvZEY5cXpq?=
 =?utf-8?B?UUh5cGRsTDBxdVppaHNVZ0tXRHRsZnArU2hDcVRTV2hpcW1CS25QUmdMYzFs?=
 =?utf-8?B?Qmw3UmlDSzJwc2ZUU2c5RVVxL09VSW9taE8vRWd6MFRqVmJuRitzanVyZFdV?=
 =?utf-8?B?OGh4bFYzNDl6OWs4VkJHdC93Z0ZUaW1UV3c0NGs2dzQwcVYzdm9RN0dUOC80?=
 =?utf-8?B?YWRsZWJnRmRSSGpvWlA2cmFKRkY0dDdjZWxCNmRXaGcva0QrV0c1cTZNT0JQ?=
 =?utf-8?B?Nzk5bkRYV2pGM3hYVk5HMDFtNHhtRHFNckgvc3JnUlk1RzdhV0hLNExvczZH?=
 =?utf-8?B?SVhjT2ZzdDZKSmEvOTd4Zkg4TlE2eUU2bEVsY3FlQ1ArbElQemlSMzM4SkxL?=
 =?utf-8?B?aTN2WGNSL2hsaTAwYjJ4azU0M1VYK3VrVHcxb1dNNWZBdGtRT2VyUEhXQ2Z6?=
 =?utf-8?B?VmN5K3h1WjdOUk4rUVBzOGZoWjRkbnlQaXNPYjJsalliUUNRSldEWDc3NEFs?=
 =?utf-8?Q?kkCAzujaofr7PBb+H9eT3LISJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0be34a50-2115-4396-c794-08db94c0c9b8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 07:59:54.3415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Dcx6I8v/KEeMTPhXkejnw2gynvGfataK2ebnvgrYhSrUMf676EUR9GQmIzfDcBWdsbH5C/wwV4BEsujr3QmxCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9768

On 04.08.2023 09:55, Federico Serafini wrote:
> On 03/08/23 21:26, Stefano Stabellini wrote:
>> On Thu, 3 Aug 2023, Julien Grall wrote:
>>> On 03/08/2023 12:52, Luca Fancellu wrote:
>>>>> On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
>>>>>
>>>>> Hi Luca,
>>>>>
>>>>> On 03/08/2023 11:28, Luca Fancellu wrote:
>>>>>>> On 3 Aug 2023, at 09:26, Federico Serafini
>>>>>>> <federico.serafini@bugseng.com> wrote:
>>>>>>>
>>>>>>> Add missing parameter names to address violation of MISRA C:2012
>>>>>>> rule 8.2 ("Function types shall be in prototype form with named
>>>>>>> parameters").
>>>>>>>
>>>>>>> No functional changes.
>>>>>>>
>>>>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>>>>> ---
>>>>>>> Changes in v2:
>>>>>>>    - memset() adjusted.
>>>>>>> ---
>>>>>>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
>>>>>>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>>>>>>
>>>>>>> +void *memset(void *s, int c, size_t count);
>>>>>>> +void *memcpy(void *dest, const void *src, size_t count);
>>>>>> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
>>>>>> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
>>>>>>> +void *memmove(void *dest, const void *src, size_t count);
>>>>>> There is a comment in arch/arm/rm32/lib/memmove.S with this:
>>>>>>    * Prototype: void *memmove(void *dest, const void *src, size_t n);
>>>>>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>>>>>> +void *memchr(const void *s, int c, size_t n);
>>>>>>> +void *memchr_inv(const void *s, int c, size_t n);
>>>>>> @Stefano: would it make sense to remove it as part of this patch or
>>>>>> maybe not?
>>>>>
>>>>> They are a verbatim copy of the Linux code. So I would rather no touch it.
>>>>
>>>> Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there
>>>> a reason why we
>>>> are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano
>>>> suggested that, so
>>>> Itâ€™s just a curiosity. Maybe itâ€™s for clarity?
>>>
>>> I guess because the generic implementation of memset (see xen/lib/memset.c) is
>>> using 'count' rather than 'n'.
>>
>> Yep
>>
>>
>>> Given what Andrew said, I would say we should rename the parameter to 'n'.
>>
>> Yes, either way works. I was only trying to be consistent with
>> xen/lib/memset.c. It is also fine to change xen/lib/memset.c instead.
> 
> If you want to be consistent compared to the C99 Standard,
> then other parameter names need to be changed, for example all the `cs`
> and `ct` should become `s1` and `s2`, respectively.
> The same goes for `dest` and `src`.
> If you agree, I can propose a v3 that takes care of that.

Personally I'd prefer if we could limit code churn. Functions that need
touching anyway can certainly be brought in line with names the standard
uses (albeit I don't see a strong need for this). But function which
won't otherwise be touched could easily be left alone.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:03:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576961.903688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpmw-00075I-IW; Fri, 04 Aug 2023 08:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576961.903688; Fri, 04 Aug 2023 08:03: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 1qRpmw-00075B-F5; Fri, 04 Aug 2023 08:03:58 +0000
Received: by outflank-mailman (input) for mailman id 576961;
 Fri, 04 Aug 2023 08:03: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRpmv-000750-5n
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:03:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75c2d89f-329d-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 10:03:56 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 26A614EE0737;
 Fri,  4 Aug 2023 10:03: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: 75c2d89f-329d-11ee-b26a-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 0/4] x86: address some violations of MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 10:03:32 +0200
Message-Id: <cover.1691135862.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some variables are renamed or deleted in this series to avoid shadowing, which
violates MISRA C:2012 Rule 5.3, whose headline is:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

---
Changes in v2:
- Addressed comments on patches 1 and 2. Patches 3 and 4 are unchanged.

Nicola Vetrini (4):
  x86/mce: address MISRA C:2012 Rule 5.3
  x86/mtrr: address MISRA C:2012 Rule 5.3
  x86/irq: rename variable to address MISRA C:2012 Rule 5.3
  x86/setup: address MISRA C:2012 Rule 5.3

 xen/arch/x86/cpu/mcheck/barrier.c |  8 ++++----
 xen/arch/x86/cpu/mcheck/barrier.h | 14 +++++++-------
 xen/arch/x86/hvm/hvm.c            |  2 +-
 xen/arch/x86/hvm/mtrr.c           | 32 +++++++++++++++----------------
 xen/arch/x86/include/asm/irq.h    |  2 +-
 xen/arch/x86/include/asm/setup.h  |  2 +-
 xen/arch/x86/io_apic.c            | 10 +++++-----
 xen/arch/x86/irq.c                | 12 ++++++------
 xen/arch/x86/msi.c                |  4 ++--
 xen/arch/x86/setup.c              |  3 +--
 xen/include/xen/irq.h             |  2 +-
 11 files changed, 45 insertions(+), 46 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:03:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576962.903694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpmw-00078G-R1; Fri, 04 Aug 2023 08:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576962.903694; Fri, 04 Aug 2023 08:03: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 1qRpmw-00077W-Lj; Fri, 04 Aug 2023 08:03:58 +0000
Received: by outflank-mailman (input) for mailman id 576962;
 Fri, 04 Aug 2023 08:03: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRpmv-000750-Ug
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:03:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 762567e2-329d-11ee-b26a-6b7b168915f2;
 Fri, 04 Aug 2023 10:03:57 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 1396E4EE0740;
 Fri,  4 Aug 2023 10:03:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 762567e2-329d-11ee-b26a-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 1/4] x86/mce: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 10:03:33 +0200
Message-Id: <8a11baf39c140af9d5694298e5f1f0bf59ac0621.1691135862.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691135862.git.nicola.vetrini@bugseng.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Suitable mechanical renames are made to avoid shadowing
the function identifier 'wait' declared in 'xen/include/xen/wait.h',
thus addressing violations of MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"

The parameter name 'bar' is added as well to comply with MISRA C:2012
Rules 8.2 and 8.3.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Added parameter name 'bar' where missing.
- Amended commit message.
---
 xen/arch/x86/cpu/mcheck/barrier.c |  8 ++++----
 xen/arch/x86/cpu/mcheck/barrier.h | 14 +++++++-------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/barrier.c b/xen/arch/x86/cpu/mcheck/barrier.c
index a7e5b19a44..51a1d37a76 100644
--- a/xen/arch/x86/cpu/mcheck/barrier.c
+++ b/xen/arch/x86/cpu/mcheck/barrier.c
@@ -16,11 +16,11 @@ void mce_barrier_dec(struct mce_softirq_barrier *bar)
     atomic_dec(&bar->val);
 }

-void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
+void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait)
 {
     int gen;

-    if ( !wait )
+    if ( !do_wait )
         return;
     atomic_inc(&bar->ingen);
     gen = atomic_read(&bar->outgen);
@@ -34,11 +34,11 @@ void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
     }
 }

-void mce_barrier_exit(struct mce_softirq_barrier *bar, bool wait)
+void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait)
 {
     int gen;

-    if ( !wait )
+    if ( !do_wait )
         return;
     atomic_inc(&bar->outgen);
     gen = atomic_read(&bar->ingen);
diff --git a/xen/arch/x86/cpu/mcheck/barrier.h b/xen/arch/x86/cpu/mcheck/barrier.h
index c4d52b6192..7ec483226f 100644
--- a/xen/arch/x86/cpu/mcheck/barrier.h
+++ b/xen/arch/x86/cpu/mcheck/barrier.h
@@ -20,7 +20,7 @@ struct mce_softirq_barrier {
 /*
  * Initialize a barrier. Just set it to 0.
  */
-void mce_barrier_init(struct mce_softirq_barrier *);
+void mce_barrier_init(struct mce_softirq_barrier *bar);

 /*
  * This function will need to be used when offlining a CPU in the
@@ -29,17 +29,17 @@ void mce_barrier_init(struct mce_softirq_barrier *);
  * Decrement a barrier only. Needed for cases where the CPU
  * in question can't do it itself (e.g. it is being offlined).
  */
-void mce_barrier_dec(struct mce_softirq_barrier *);
+void mce_barrier_dec(struct mce_softirq_barrier *bar);

 /*
- * If @wait is false, mce_barrier_enter/exit() will return immediately
+ * If @do_wait is false, mce_barrier_enter/exit() will return immediately
  * without touching the barrier. It's used when handling a
  * non-broadcasting MCE (e.g. MCE on some old Intel CPU, MCE on AMD
  * CPU and LMCE on Intel Skylake-server CPU) which is received on only
  * one CPU and thus does not invoke mce_barrier_enter/exit() calls on
  * all CPUs.
  *
- * If @wait is true, mce_barrier_enter/exit() will handle the given
+ * If @do_wait is true, mce_barrier_enter/exit() will handle the given
  * barrier as below.
  *
  * Increment the generation number and the value. The generation number
@@ -53,9 +53,9 @@ void mce_barrier_dec(struct mce_softirq_barrier *);
  * These barrier functions should always be paired, so that the
  * counter value will reach 0 again after all CPUs have exited.
  */
-void mce_barrier_enter(struct mce_softirq_barrier *, bool wait);
-void mce_barrier_exit(struct mce_softirq_barrier *, bool wait);
+void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait);
+void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait);

-void mce_barrier(struct mce_softirq_barrier *);
+void mce_barrier(struct mce_softirq_barrier *bar);

 #endif /* _MCHECK_BARRIER_H */
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:04:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576963.903709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpmz-0007aW-0D; Fri, 04 Aug 2023 08:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576963.903709; Fri, 04 Aug 2023 08:04:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpmy-0007aJ-T9; Fri, 04 Aug 2023 08:04:00 +0000
Received: by outflank-mailman (input) for mailman id 576963;
 Fri, 04 Aug 2023 08:03: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRpmx-0007Qe-Mb
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:03:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7696f1ed-329d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 10:03:57 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D93834EE0741;
 Fri,  4 Aug 2023 10:03:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7696f1ed-329d-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 10:03:34 +0200
Message-Id: <2f7380396ee146132738dd5c6b2a80d62a8035d5.1691135862.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691135862.git.nicola.vetrini@bugseng.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename variables to avoid shadowing and thus address
MISRA C:2012 Rule 5.3:
"An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope".

The shadowing happens between the struct declaration 'mtrr_state' in
'xen/arch/x86/include/asm/mtrr.h' and local variable names.
The latter are renamed to 'm', which is used elsewhere in
'xen/arch/x86/hvm/mtrr.c' for the same purpose.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Renamed 'mtrr' local variables to 'm'.
- Added references in the commit message.
---
 xen/arch/x86/hvm/mtrr.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 29f3fb1607..7f486358b1 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,

 static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
 {
-    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
+    const struct mtrr_state *m = &v->arch.hvm.mtrr;
     struct hvm_hw_mtrr hw_mtrr = {
-        .msr_mtrr_def_type = mtrr_state->def_type |
-                             MASK_INSR(mtrr_state->fixed_enabled,
+        .msr_mtrr_def_type = m->def_type |
+                             MASK_INSR(m->fixed_enabled,
                                        MTRRdefType_FE) |
-                            MASK_INSR(mtrr_state->enabled, MTRRdefType_E),
-        .msr_mtrr_cap      = mtrr_state->mtrr_cap,
+                            MASK_INSR(m->enabled, MTRRdefType_E),
+        .msr_mtrr_cap      = m->mtrr_cap,
     };
     unsigned int i;

@@ -710,14 +710,14 @@ static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)

     for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
     {
-        hw_mtrr.msr_mtrr_var[i * 2] = mtrr_state->var_ranges->base;
-        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr_state->var_ranges->mask;
+        hw_mtrr.msr_mtrr_var[i * 2] = m->var_ranges->base;
+        hw_mtrr.msr_mtrr_var[i * 2 + 1] = m->var_ranges->mask;
     }

     BUILD_BUG_ON(sizeof(hw_mtrr.msr_mtrr_fixed) !=
-                 sizeof(mtrr_state->fixed_ranges));
+                 sizeof(m->fixed_ranges));

-    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr_state->fixed_ranges,
+    memcpy(hw_mtrr.msr_mtrr_fixed, m->fixed_ranges,
            sizeof(hw_mtrr.msr_mtrr_fixed));

     return hvm_save_entry(MTRR, v->vcpu_id, h, &hw_mtrr);
@@ -727,7 +727,7 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
 {
     unsigned int vcpuid, i;
     struct vcpu *v;
-    struct mtrr_state *mtrr_state;
+    struct mtrr_state *m;
     struct hvm_hw_mtrr hw_mtrr;

     vcpuid = hvm_load_instance(h);
@@ -749,26 +749,26 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }

-    mtrr_state = &v->arch.hvm.mtrr;
+    m = &v->arch.hvm.mtrr;

     hvm_set_guest_pat(v, hw_mtrr.msr_pat_cr);

-    mtrr_state->mtrr_cap = hw_mtrr.msr_mtrr_cap;
+    m->mtrr_cap = hw_mtrr.msr_mtrr_cap;

     for ( i = 0; i < NUM_FIXED_MSR; i++ )
-        mtrr_fix_range_msr_set(d, mtrr_state, i, hw_mtrr.msr_mtrr_fixed[i]);
+        mtrr_fix_range_msr_set(d, m, i, hw_mtrr.msr_mtrr_fixed[i]);

     for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
     {
-        mtrr_var_range_msr_set(d, mtrr_state,
+        mtrr_var_range_msr_set(d, m,
                                MSR_IA32_MTRR_PHYSBASE(i),
                                hw_mtrr.msr_mtrr_var[i * 2]);
-        mtrr_var_range_msr_set(d, mtrr_state,
+        mtrr_var_range_msr_set(d, m,
                                MSR_IA32_MTRR_PHYSMASK(i),
                                hw_mtrr.msr_mtrr_var[i * 2 + 1]);
     }

-    mtrr_def_type_msr_set(d, mtrr_state, hw_mtrr.msr_mtrr_def_type);
+    mtrr_def_type_msr_set(d, m, hw_mtrr.msr_mtrr_def_type);

     return 0;
 }
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:04:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:04:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576964.903719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpn0-0007r7-81; Fri, 04 Aug 2023 08:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576964.903719; Fri, 04 Aug 2023 08:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpn0-0007qy-54; Fri, 04 Aug 2023 08:04:02 +0000
Received: by outflank-mailman (input) for mailman id 576964;
 Fri, 04 Aug 2023 08:04: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRpmy-0007Qe-Dc
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:04:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7729fcc9-329d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 10:03:58 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9E6BB4EE0742;
 Fri,  4 Aug 2023 10:03:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7729fcc9-329d-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 3/4] x86/irq: rename variable to address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 10:03:35 +0200
Message-Id: <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691135862.git.nicola.vetrini@bugseng.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
local variables in the changed file. To avoid this, the variable is
renamed to 'irq_description'.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/hvm.c         |  2 +-
 xen/arch/x86/include/asm/irq.h |  2 +-
 xen/arch/x86/io_apic.c         | 10 +++++-----
 xen/arch/x86/irq.c             | 12 ++++++------
 xen/arch/x86/msi.c             |  4 ++--
 xen/include/xen/irq.h          |  2 +-
 6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2180abeb33..ca5bb96388 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -474,7 +474,7 @@ void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v)
 
         if ( !desc )
             return;
-        ASSERT(MSI_IRQ(desc - irq_desc));
+        ASSERT(MSI_IRQ(desc - irq_descriptor));
         irq_set_affinity(desc, cpumask_of(v->processor));
         spin_unlock_irq(&desc->lock);
     }
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index ad907fc97f..f6df977170 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -172,7 +172,7 @@ int assign_irq_vector(int irq, const cpumask_t *mask);
 
 void cf_check irq_complete_move(struct irq_desc *desc);
 
-extern struct irq_desc *irq_desc;
+extern struct irq_desc *irq_descriptor;
 
 void lock_vector_lock(void);
 void unlock_vector_lock(void);
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index b3afef8933..b59d6cfb9e 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -990,9 +990,9 @@ static inline void ioapic_register_intr(int irq, unsigned long trigger)
 {
     if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
         trigger == IOAPIC_LEVEL)
-        irq_desc[irq].handler = &ioapic_level_type;
+        irq_descriptor[irq].handler = &ioapic_level_type;
     else
-        irq_desc[irq].handler = &ioapic_edge_type;
+        irq_descriptor[irq].handler = &ioapic_edge_type;
 }
 
 static void __init setup_IO_APIC_irqs(void)
@@ -1098,7 +1098,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
      * The timer IRQ doesn't have to know that behind the
      * scene we have a 8259A-master in AEOI mode ...
      */
-    irq_desc[0].handler = &ioapic_edge_type;
+    irq_descriptor[0].handler = &ioapic_edge_type;
 
     /*
      * Add it to the IO-APIC irq-routing table:
@@ -1912,7 +1912,7 @@ static void __init check_timer(void)
     if ((ret = bind_irq_vector(0, vector, &cpumask_all)))
         printk(KERN_ERR"..IRQ0 is not set correctly with ioapic!!!, err:%d\n", ret);
     
-    irq_desc[0].status &= ~IRQ_DISABLED;
+    irq_descriptor[0].status &= ~IRQ_DISABLED;
 
     /*
      * Subtle, code in do_timer_interrupt() expects an AEOI
@@ -2009,7 +2009,7 @@ static void __init check_timer(void)
     printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
 
     disable_8259A_irq(irq_to_desc(0));
-    irq_desc[0].handler = &lapic_irq_type;
+    irq_descriptor[0].handler = &lapic_irq_type;
     apic_write(APIC_LVT0, APIC_DM_FIXED | vector);	/* Fixed mode */
     enable_8259A_irq(irq_to_desc(0));
 
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 6abfd81621..ed95896bce 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -45,7 +45,7 @@ integer_param("irq-max-guests", irq_max_guests);
 
 vmask_t global_used_vector_map;
 
-struct irq_desc __read_mostly *irq_desc = NULL;
+struct irq_desc __read_mostly *irq_descriptor = NULL;
 
 static DECLARE_BITMAP(used_vectors, X86_NR_VECTORS);
 
@@ -424,9 +424,9 @@ int __init init_irq_data(void)
     for ( vector = 0; vector < X86_NR_VECTORS; ++vector )
         this_cpu(vector_irq)[vector] = INT_MIN;
 
-    irq_desc = xzalloc_array(struct irq_desc, nr_irqs);
-    
-    if ( !irq_desc )
+    irq_descriptor = xzalloc_array(struct irq_desc, nr_irqs);
+
+    if ( !irq_descriptor )
         return -ENOMEM;
 
     for ( irq = 0; irq < nr_irqs_gsi; irq++ )
@@ -1133,7 +1133,7 @@ static void cf_check set_eoi_ready(void *data);
 static void cf_check irq_guest_eoi_timer_fn(void *data)
 {
     struct irq_desc *desc = data;
-    unsigned int i, irq = desc - irq_desc;
+    unsigned int i, irq = desc - irq_descriptor;
     irq_guest_action_t *action;
 
     spin_lock_irq(&desc->lock);
@@ -1382,7 +1382,7 @@ static void __set_eoi_ready(const struct irq_desc *desc)
     struct pending_eoi *peoi = this_cpu(pending_eoi);
     int                 irq, sp;
 
-    irq = desc - irq_desc;
+    irq = desc - irq_descriptor;
 
     if ( !action || action->in_flight ||
          !cpumask_test_and_clear_cpu(smp_processor_id(),
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1d..35d417c63a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -1322,7 +1322,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         unsigned int i = 0, nr = 1;
 
         irq = entry->irq;
-        desc = &irq_desc[irq];
+        desc = &irq_descriptor[irq];
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -1377,7 +1377,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
                 break;
 
             spin_unlock_irqrestore(&desc->lock, flags);
-            desc = &irq_desc[entry[++i].irq];
+            desc = &irq_descriptor[entry[++i].irq];
             spin_lock_irqsave(&desc->lock, flags);
             if ( desc->msi_desc != entry + i )
                 goto bogus;
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index 9747e818f7..56a3aa6a29 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -107,7 +107,7 @@ typedef struct irq_desc {
 } __cacheline_aligned irq_desc_t;
 
 #ifndef irq_to_desc
-#define irq_to_desc(irq)    (&irq_desc[irq])
+#define irq_to_desc(irq)    (&irq_descriptor[irq])
 #endif
 
 int init_one_irq_desc(struct irq_desc *desc);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:04:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:04:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576965.903729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRpn1-000881-G0; Fri, 04 Aug 2023 08:04:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576965.903729; Fri, 04 Aug 2023 08: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 1qRpn1-00087m-Cu; Fri, 04 Aug 2023 08:04:03 +0000
Received: by outflank-mailman (input) for mailman id 576965;
 Fri, 04 Aug 2023 08:04:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRpmz-0007Qe-CG
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:04:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77a23a7f-329d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 10:03:59 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 987F14EE0743;
 Fri,  4 Aug 2023 10:03: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: 77a23a7f-329d-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 10:03:36 +0200
Message-Id: <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691135862.git.nicola.vetrini@bugseng.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The parameters renamed in the function declaration caused shadowing
with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
them also addresses Rule 8.3:
"All declarations of an object or function shall use the same names
and type qualifiers".

The local variable 'mask' is removed because it shadows the homonymous
variable defined in an outer scope, with no change to the semantics.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/setup.h | 2 +-
 xen/arch/x86/setup.c             | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 51fce66607..b0e6a39e23 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -33,7 +33,7 @@ static inline void vesa_init(void) {};
 
 int construct_dom0(
     struct domain *d,
-    const module_t *kernel, unsigned long kernel_headroom,
+    const module_t *image, unsigned long image_headroom,
     module_t *initrd,
     const char *cmdline);
 void setup_io_bitmap(struct domain *d);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2dbe9857aa..80ae973d64 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         s = map_s;
         if ( s < map_e )
         {
-            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
-
+            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
             map_s = (s + mask) & ~mask;
             map_e &= ~mask;
             init_boot_pages(map_s, map_e);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:26:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576988.903738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRq8T-0003RY-8O; Fri, 04 Aug 2023 08:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576988.903738; Fri, 04 Aug 2023 08:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRq8T-0003RR-5I; Fri, 04 Aug 2023 08:26:13 +0000
Received: by outflank-mailman (input) for mailman id 576988;
 Fri, 04 Aug 2023 08:26: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=V9qd=DV=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qRq8S-0003RL-1i
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 08:26:12 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e5063d2-32a0-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 10:26:07 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2023 01:26:04 -0700
Received: from unknown (HELO fred..) ([172.25.112.68])
 by orsmga003.jf.intel.com with ESMTP; 04 Aug 2023 01:26:04 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e5063d2-32a0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691137567; x=1722673567;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Q4YNu7fWoBQ4f21T/mVB+om7AomaDQ0aezAlCW+9t4o=;
  b=kJfJ1NxXXivQEXnURKsfXzpXZGDypM0l+UMPUFmxFYuGxLHhPOrLPia3
   RM//Yb/BU+g3Qe1pJJHX16ssw0Z1oJ644UQjZ6lnz6gXqtSLIoaOgLI+B
   9/9aGxX/4RJGmajU7wRrIxr1JgdV6CJgnQDrsJ9BFc8lsMIums55zQaM3
   7CO7432mKxhKqccaiFZ1niaR98aolGIqLfxR2w/zhsvJbkHDAqIshKFei
   5rtEpbbP97P8siCssofHck9keYLjop9RnA31a4r+T8VQtNUjj71e0VcoU
   0Wprwsya/FSrDM/6Mmt86lbMDn3EkGu8WI+JuCwJSO/zi5TvO8wA+6NTT
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="367561991"
X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; 
   d="scan'208";a="367561991"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="679843568"
X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; 
   d="scan'208";a="679843568"
From: Xin Li <xin3.li@intel.com>
To: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second argument error code
Date: Fri,  4 Aug 2023 00:57:34 -0700
Message-Id: <20230804075734.8372-1-xin3.li@intel.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The IDT event delivery of X86_TRAP_DF, X86_TRAP_TS, X86_TRAP_NP,
X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and X86_TRAP_CP pushes an error
code into the orig_ax member of the pt_regs structure, and the error
code is passed as the second argument of their C-handlers, although
the pt_regs structure is already passed as the first argument.

The asm entry code of such faults does the following

  movq ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
  movq $-1, ORIG_RAX(%rsp)	/* no syscall to restart */

to set the orig_ax member to -1 just before calling the C-handler.

In addition, the IRQ entry code uses the second error code argument
as its IRQ vector, as the IRQ asm entry code pushes its IRQ vector
into the orig_ax member.

The commit d99015b1abbad ("x86: move entry_64.S register saving out of
the macros") introduced the changes to set orig_ax to -1, but I can't
see why it's required. Our tests on x86_64 and x86_32 seem fine if
orig_ax is left unchanged instead of set to -1.

It's probably cleaner and simpler to remove the second argument from
such C-handlers while leave orig_ax unchanged to pass the error code
inside the first argument. This patch allows FRED to use IDT exception
and IRQ handlers with no or minimal changes.

The DECLARE_IDTENTRY_*_ERRORCODE macros still need to be kept to emit
the ASM stubs, which do NOT need to push -1 as an error code placement.
As a result, their corresponding DEFINE_IDTENTRY_*_ERRORCODE macros
are kept, although they simply mapped to their no _ERRORCODE suffix
versions.

I haven't checked Xen implications with this change, i.e., does Xen
hypervisor need to adjust how it passes arguments to PV guests?

Signed-off-by: Xin Li <xin3.li@intel.com>
---
 arch/x86/entry/common.c          |   2 +-
 arch/x86/entry/entry_32.S        |   7 --
 arch/x86/entry/entry_64.S        |  22 ++-----
 arch/x86/include/asm/idtentry.h  | 108 ++++++++++---------------------
 arch/x86/include/asm/irq_stack.h |  43 ++----------
 arch/x86/kernel/apic/apic.c      |   2 +-
 arch/x86/kernel/doublefault_32.c |   2 +-
 arch/x86/kernel/irq.c            |   1 +
 arch/x86/kernel/sev.c            |  10 +--
 arch/x86/kernel/traps.c          |  14 ++--
 arch/x86/mm/fault.c              |   6 +-
 arch/x86/xen/enlighten_pv.c      |   2 +-
 12 files changed, 69 insertions(+), 150 deletions(-)

diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
index 6c2826417b33..83d31cd82a65 100644
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -305,7 +305,7 @@ __visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)
 	bool inhcall;
 
 	instrumentation_begin();
-	run_sysvec_on_irqstack_cond(__xen_pv_evtchn_do_upcall, regs);
+	run_irq_on_irqstack_cond(__xen_pv_evtchn_do_upcall, regs);
 
 	inhcall = get_and_clear_inhcall();
 	if (inhcall && !WARN_ON_ONCE(state.exit_rcu)) {
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 6e6af42e044a..41345b0d9bb8 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -642,8 +642,6 @@ SYM_CODE_START_LOCAL(asm_\cfunc)
 	SAVE_ALL switch_stacks=1
 	ENCODE_FRAME_POINTER
 	movl	%esp, %eax
-	movl	PT_ORIG_EAX(%esp), %edx		/* get the vector from stack */
-	movl	$-1, PT_ORIG_EAX(%esp)		/* no syscall to restart */
 	call	\cfunc
 	jmp	handle_exception_return
 SYM_CODE_END(asm_\cfunc)
@@ -1036,11 +1034,6 @@ SYM_CODE_START_LOCAL_NOALIGN(handle_exception)
 	ENCODE_FRAME_POINTER
 
 	movl	PT_GS(%esp), %edi		# get the function address
-
-	/* fixup orig %eax */
-	movl	PT_ORIG_EAX(%esp), %edx		# get the error code
-	movl	$-1, PT_ORIG_EAX(%esp)		# no syscall to restart
-
 	movl	%esp, %eax			# pt_regs pointer
 	CALL_NOSPEC edi
 
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 43606de22511..ddfa0e7b8485 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -337,9 +337,8 @@ SYM_CODE_END(xen_error_entry)
 /**
  * idtentry_body - Macro to emit code calling the C function
  * @cfunc:		C function to be called
- * @has_error_code:	Hardware pushed error code on stack
  */
-.macro idtentry_body cfunc has_error_code:req
+.macro idtentry_body cfunc
 
 	/*
 	 * Call error_entry() and switch to the task stack if from userspace.
@@ -356,12 +355,6 @@ SYM_CODE_END(xen_error_entry)
 	UNWIND_HINT_REGS
 
 	movq	%rsp, %rdi			/* pt_regs pointer into 1st argument*/
-
-	.if \has_error_code == 1
-		movq	ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
-		movq	$-1, ORIG_RAX(%rsp)	/* no syscall to restart */
-	.endif
-
 	call	\cfunc
 
 	/* For some configurations \cfunc ends up being a noreturn. */
@@ -412,7 +405,7 @@ SYM_CODE_START(\asmsym)
 .Lfrom_usermode_no_gap_\@:
 	.endif
 
-	idtentry_body \cfunc \has_error_code
+	idtentry_body \cfunc
 
 _ASM_NOKPROBE(\asmsym)
 SYM_CODE_END(\asmsym)
@@ -485,7 +478,7 @@ SYM_CODE_START(\asmsym)
 
 	/* Switch to the regular task stack and use the noist entry point */
 .Lfrom_usermode_switch_stack_\@:
-	idtentry_body noist_\cfunc, has_error_code=0
+	idtentry_body noist_\cfunc
 
 _ASM_NOKPROBE(\asmsym)
 SYM_CODE_END(\asmsym)
@@ -548,12 +541,7 @@ SYM_CODE_START(\asmsym)
 	ENCODE_FRAME_POINTER
 	UNWIND_HINT_REGS
 
-	/* Update pt_regs */
-	movq	ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
-	movq	$-1, ORIG_RAX(%rsp)	/* no syscall to restart */
-
 	movq	%rsp, %rdi		/* pt_regs pointer */
-
 	call	kernel_\cfunc
 
 	/*
@@ -565,7 +553,7 @@ SYM_CODE_START(\asmsym)
 
 	/* Switch to the regular task stack */
 .Lfrom_usermode_switch_stack_\@:
-	idtentry_body user_\cfunc, has_error_code=1
+	idtentry_body user_\cfunc
 
 _ASM_NOKPROBE(\asmsym)
 SYM_CODE_END(\asmsym)
@@ -589,8 +577,6 @@ SYM_CODE_START(\asmsym)
 	UNWIND_HINT_REGS
 
 	movq	%rsp, %rdi		/* pt_regs pointer into first argument */
-	movq	ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
-	movq	$-1, ORIG_RAX(%rsp)	/* no syscall to restart */
 	call	\cfunc
 
 	/* For some configurations \cfunc ends up being a noreturn. */
diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h
index b241af4ce9b4..7e0e9f8bc8ab 100644
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -15,7 +15,7 @@
 
 /**
  * DECLARE_IDTENTRY - Declare functions for simple IDT entry points
- *		      No error code pushed by hardware
+ *		      An error code may be pushed by hardware
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
@@ -76,42 +76,25 @@ static __always_inline void __##func(struct pt_regs *regs)
  * - The XEN PV trap entry point: xen_##func (maybe unused)
  * - The C handler called from the ASM entry point
  *
- * Same as DECLARE_IDTENTRY, but has an extra error_code argument for the
- * C-handler.
+ * Same as DECLARE_IDTENTRY(), but required for emitting the ASM stubs, which
+ * do NOT need to push -1 as an error code placement.
  */
 #define DECLARE_IDTENTRY_ERRORCODE(vector, func)			\
-	asmlinkage void asm_##func(void);				\
-	asmlinkage void xen_asm_##func(void);				\
-	__visible void func(struct pt_regs *regs, unsigned long error_code)
+	DECLARE_IDTENTRY(vector, func)
 
 /**
  * DEFINE_IDTENTRY_ERRORCODE - Emit code for simple IDT entry points
  *			       Error code pushed by hardware
  * @func:	Function name of the entry point
  *
- * Same as DEFINE_IDTENTRY, but has an extra error_code argument
+ * Same as DEFINE_IDTENTRY().
  */
 #define DEFINE_IDTENTRY_ERRORCODE(func)					\
-static __always_inline void __##func(struct pt_regs *regs,		\
-				     unsigned long error_code);		\
-									\
-__visible noinstr void func(struct pt_regs *regs,			\
-			    unsigned long error_code)			\
-{									\
-	irqentry_state_t state = irqentry_enter(regs);			\
-									\
-	instrumentation_begin();					\
-	__##func (regs, error_code);					\
-	instrumentation_end();						\
-	irqentry_exit(regs, state);					\
-}									\
-									\
-static __always_inline void __##func(struct pt_regs *regs,		\
-				     unsigned long error_code)
+	DEFINE_IDTENTRY(func)
 
 /**
  * DECLARE_IDTENTRY_RAW - Declare functions for raw IDT entry points
- *		      No error code pushed by hardware
+ *		      An error code may be pushed by hardware
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
@@ -135,7 +118,7 @@ static __always_inline void __##func(struct pt_regs *regs,		\
  * is required before the enter/exit() helpers are invoked.
  */
 #define DEFINE_IDTENTRY_RAW(func)					\
-__visible noinstr void func(struct pt_regs *regs)
+	__visible noinstr void func(struct pt_regs *regs)
 
 /**
  * DECLARE_IDTENTRY_RAW_ERRORCODE - Declare functions for raw IDT entry points
@@ -143,7 +126,8 @@ __visible noinstr void func(struct pt_regs *regs)
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_ERRORCODE()
+ * Maps to DECLARE_IDTENTRY_ERRORCODE() for emitting the ASM stubs, which
+ * do NOT need to push -1 as an error code placement
  */
 #define DECLARE_IDTENTRY_RAW_ERRORCODE(vector, func)			\
 	DECLARE_IDTENTRY_ERRORCODE(vector, func)
@@ -157,13 +141,10 @@ __visible noinstr void func(struct pt_regs *regs)
  * The macro is written so it acts as function definition. Append the
  * body with a pair of curly brackets.
  *
- * Contrary to DEFINE_IDTENTRY_ERRORCODE() this does not invoke the
- * irqentry_enter/exit() helpers before and after the body invocation. This
- * needs to be done in the body itself if applicable. Use if extra work
- * is required before the enter/exit() helpers are invoked.
+ * Same as DEFINE_IDTENTRY_RAW().
  */
 #define DEFINE_IDTENTRY_RAW_ERRORCODE(func)				\
-__visible noinstr void func(struct pt_regs *regs, unsigned long error_code)
+	DEFINE_IDTENTRY_RAW(func)
 
 /**
  * DECLARE_IDTENTRY_IRQ - Declare functions for device interrupt IDT entry
@@ -171,40 +152,37 @@ __visible noinstr void func(struct pt_regs *regs, unsigned long error_code)
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_ERRORCODE()
+ * Maps to DECLARE_IDTENTRY().
  */
 #define DECLARE_IDTENTRY_IRQ(vector, func)				\
-	DECLARE_IDTENTRY_ERRORCODE(vector, func)
+	DECLARE_IDTENTRY(vector, func)
 
 /**
  * DEFINE_IDTENTRY_IRQ - Emit code for device interrupt IDT entry points
  * @func:	Function name of the entry point
  *
- * The vector number is pushed by the low level entry stub and handed
- * to the function as error_code argument which needs to be truncated
- * to an u8 because the push is sign extending.
+ * The vector number is pushed by the low level entry stub into the orig_ax
+ * member of the pt_regs structure passed as the only argument.
  *
  * irq_enter/exit_rcu() are invoked before the function body and the
  * KVM L1D flush request is set. Stack switching to the interrupt stack
  * has to be done in the function body if necessary.
  */
 #define DEFINE_IDTENTRY_IRQ(func)					\
-static void __##func(struct pt_regs *regs, u32 vector);			\
+static void __##func(struct pt_regs *regs);				\
 									\
-__visible noinstr void func(struct pt_regs *regs,			\
-			    unsigned long error_code)			\
+__visible noinstr void func(struct pt_regs *regs)			\
 {									\
 	irqentry_state_t state = irqentry_enter(regs);			\
-	u32 vector = (u32)(u8)error_code;				\
 									\
 	instrumentation_begin();					\
 	kvm_set_cpu_l1tf_flush_l1d();					\
-	run_irq_on_irqstack_cond(__##func, regs, vector);		\
+	run_irq_on_irqstack_cond(__##func, regs);			\
 	instrumentation_end();						\
 	irqentry_exit(regs, state);					\
 }									\
 									\
-static noinline void __##func(struct pt_regs *regs, u32 vector)
+static noinline void __##func(struct pt_regs *regs)
 
 /**
  * DECLARE_IDTENTRY_SYSVEC - Declare functions for system vector entry points
@@ -225,26 +203,10 @@ static noinline void __##func(struct pt_regs *regs, u32 vector)
  * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points
  * @func:	Function name of the entry point
  *
- * irqentry_enter/exit() and irq_enter/exit_rcu() are invoked before the
- * function body. KVM L1D flush request is set.
- *
- * Runs the function on the interrupt stack if the entry hit kernel mode
+ * Maps to DEFINE_IDTENTRY_IRQ().
  */
 #define DEFINE_IDTENTRY_SYSVEC(func)					\
-static void __##func(struct pt_regs *regs);				\
-									\
-__visible noinstr void func(struct pt_regs *regs)			\
-{									\
-	irqentry_state_t state = irqentry_enter(regs);			\
-									\
-	instrumentation_begin();					\
-	kvm_set_cpu_l1tf_flush_l1d();					\
-	run_sysvec_on_irqstack_cond(__##func, regs);			\
-	instrumentation_end();						\
-	irqentry_exit(regs, state);					\
-}									\
-									\
-static noinline void __##func(struct pt_regs *regs)
+	DEFINE_IDTENTRY_IRQ(func)
 
 /**
  * DEFINE_IDTENTRY_SYSVEC_SIMPLE - Emit code for simple system vector IDT
@@ -297,8 +259,8 @@ static __always_inline void __##func(struct pt_regs *regs)
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_RAW, but declares also the NOIST C handler
- * which is called from the ASM entry point on user mode entry
+ * Maps to DECLARE_IDTENTRY_RAW(), but declares also the NOIST C handler
+ * which is called from the ASM entry point on user mode entry.
  */
 #define DECLARE_IDTENTRY_IST(vector, func)				\
 	DECLARE_IDTENTRY_RAW(vector, func);				\
@@ -309,19 +271,19 @@ static __always_inline void __##func(struct pt_regs *regs)
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE, but declares also the
+ * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE(), but declares also the
  * safe_stack C handler.
  */
 #define DECLARE_IDTENTRY_VC(vector, func)				\
 	DECLARE_IDTENTRY_RAW_ERRORCODE(vector, func);			\
-	__visible noinstr void kernel_##func(struct pt_regs *regs, unsigned long error_code);	\
-	__visible noinstr void   user_##func(struct pt_regs *regs, unsigned long error_code)
+	__visible noinstr void kernel_##func(struct pt_regs *regs);	\
+	__visible noinstr void   user_##func(struct pt_regs *regs)
 
 /**
  * DEFINE_IDTENTRY_IST - Emit code for IST entry points
  * @func:	Function name of the entry point
  *
- * Maps to DEFINE_IDTENTRY_RAW
+ * Maps to DEFINE_IDTENTRY_RAW().
  */
 #define DEFINE_IDTENTRY_IST(func)					\
 	DEFINE_IDTENTRY_RAW(func)
@@ -342,7 +304,7 @@ static __always_inline void __##func(struct pt_regs *regs)
  * @vector:	Vector number (ignored for C)
  * @func:	Function name of the entry point
  *
- * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE
+ * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE().
  */
 #define DECLARE_IDTENTRY_DF(vector, func)				\
 	DECLARE_IDTENTRY_RAW_ERRORCODE(vector, func)
@@ -351,7 +313,7 @@ static __always_inline void __##func(struct pt_regs *regs)
  * DEFINE_IDTENTRY_DF - Emit code for double fault
  * @func:	Function name of the entry point
  *
- * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
+ * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE().
  */
 #define DEFINE_IDTENTRY_DF(func)					\
 	DEFINE_IDTENTRY_RAW_ERRORCODE(func)
@@ -361,9 +323,9 @@ static __always_inline void __##func(struct pt_regs *regs)
 			       when raised from kernel mode
  * @func:	Function name of the entry point
  *
- * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
+ * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE().
  */
-#define DEFINE_IDTENTRY_VC_KERNEL(func)				\
+#define DEFINE_IDTENTRY_VC_KERNEL(func)					\
 	DEFINE_IDTENTRY_RAW_ERRORCODE(kernel_##func)
 
 /**
@@ -371,9 +333,9 @@ static __always_inline void __##func(struct pt_regs *regs)
 			     when raised from user mode
  * @func:	Function name of the entry point
  *
- * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
+ * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE().
  */
-#define DEFINE_IDTENTRY_VC_USER(func)				\
+#define DEFINE_IDTENTRY_VC_USER(func)					\
 	DEFINE_IDTENTRY_RAW_ERRORCODE(user_##func)
 
 #else	/* CONFIG_X86_64 */
@@ -390,7 +352,6 @@ static __always_inline void __##func(struct pt_regs *regs)
 #define DECLARE_IDTENTRY_DF(vector, func)				\
 	asmlinkage void asm_##func(void);				\
 	__visible void func(struct pt_regs *regs,			\
-			    unsigned long error_code,			\
 			    unsigned long address)
 
 /**
@@ -402,7 +363,6 @@ static __always_inline void __##func(struct pt_regs *regs)
  */
 #define DEFINE_IDTENTRY_DF(func)					\
 __visible noinstr void func(struct pt_regs *regs,			\
-			    unsigned long error_code,			\
 			    unsigned long address)
 
 #endif	/* !CONFIG_X86_64 */
diff --git a/arch/x86/include/asm/irq_stack.h b/arch/x86/include/asm/irq_stack.h
index 798183867d78..d04186267e26 100644
--- a/arch/x86/include/asm/irq_stack.h
+++ b/arch/x86/include/asm/irq_stack.h
@@ -153,7 +153,7 @@
 }
 
 /*
- * Function call sequence for __call_on_irqstack() for system vectors.
+ * Function call sequence for __call_on_irqstack() for IRQs.
  *
  * Note that irq_enter_rcu() and irq_exit_rcu() do not use the input
  * mechanism because these functions are global and cannot be optimized out
@@ -166,41 +166,20 @@
  * call to idtentry_exit() anyway, it's likely that it does not cause extra
  * effort for this asm magic.
  */
-#define ASM_CALL_SYSVEC							\
+#define ASM_CALL_IRQ							\
 	"call irq_enter_rcu				\n"		\
 	ASM_CALL_ARG1							\
 	"call irq_exit_rcu				\n"
 
-#define SYSVEC_CONSTRAINTS	, [arg1] "r" (regs)
+#define IRQ_CONSTRAINTS        , [arg1] "r" (regs)
 
-#define run_sysvec_on_irqstack_cond(func, regs)				\
+#define run_irq_on_irqstack_cond(func, regs)				\
 {									\
 	assert_function_type(func, void (*)(struct pt_regs *));		\
 	assert_arg_type(regs, struct pt_regs *);			\
 									\
-	call_on_irqstack_cond(func, regs, ASM_CALL_SYSVEC,		\
-			      SYSVEC_CONSTRAINTS, regs);		\
-}
-
-/*
- * As in ASM_CALL_SYSVEC above the clobbers force the compiler to store
- * @regs and @vector in callee saved registers.
- */
-#define ASM_CALL_IRQ							\
-	"call irq_enter_rcu				\n"		\
-	ASM_CALL_ARG2							\
-	"call irq_exit_rcu				\n"
-
-#define IRQ_CONSTRAINTS	, [arg1] "r" (regs), [arg2] "r" ((unsigned long)vector)
-
-#define run_irq_on_irqstack_cond(func, regs, vector)			\
-{									\
-	assert_function_type(func, void (*)(struct pt_regs *, u32));	\
-	assert_arg_type(regs, struct pt_regs *);			\
-	assert_arg_type(vector, u32);					\
-									\
 	call_on_irqstack_cond(func, regs, ASM_CALL_IRQ,			\
-			      IRQ_CONSTRAINTS, regs, vector);		\
+			      IRQ_CONSTRAINTS, regs);			\
 }
 
 #ifdef CONFIG_SOFTIRQ_ON_OWN_STACK
@@ -220,22 +199,14 @@
 #endif
 
 #else /* CONFIG_X86_64 */
-/* System vector handlers always run on the stack they interrupted. */
-#define run_sysvec_on_irqstack_cond(func, regs)				\
+/* always run on the stack they interrupted. */
+#define run_irq_on_irqstack_cond(func, regs)				\
 {									\
 	irq_enter_rcu();						\
 	func(regs);							\
 	irq_exit_rcu();							\
 }
 
-/* Switches to the irq stack within func() */
-#define run_irq_on_irqstack_cond(func, regs, vector)			\
-{									\
-	irq_enter_rcu();						\
-	func(regs, vector);						\
-	irq_exit_rcu();							\
-}
-
 #endif /* !CONFIG_X86_64 */
 
 #endif
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index af49e24b46a4..af3170239b2e 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -2230,7 +2230,7 @@ static noinline void handle_spurious_interrupt(u8 vector)
  */
 DEFINE_IDTENTRY_IRQ(spurious_interrupt)
 {
-	handle_spurious_interrupt(vector);
+	handle_spurious_interrupt((u32)(u8)regs->orig_ax);
 }
 
 DEFINE_IDTENTRY_SYSVEC(sysvec_spurious_apic_interrupt)
diff --git a/arch/x86/kernel/doublefault_32.c b/arch/x86/kernel/doublefault_32.c
index 6eaf9a6bc02f..f2d635290034 100644
--- a/arch/x86/kernel/doublefault_32.c
+++ b/arch/x86/kernel/doublefault_32.c
@@ -70,7 +70,7 @@ asmlinkage noinstr void __noreturn doublefault_shim(void)
 	regs.cx		= TSS(cx);
 	regs.bx		= TSS(bx);
 
-	exc_double_fault(&regs, 0, cr2);
+	exc_double_fault(&regs, cr2);
 
 	/*
 	 * x86_32 does not save the original CR3 anywhere on a task switch.
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 9f668d2f3d11..be1d8aeabdde 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -246,6 +246,7 @@ static __always_inline void handle_irq(struct irq_desc *desc,
  */
 DEFINE_IDTENTRY_IRQ(common_interrupt)
 {
+	u32 vector = (u32)(u8)regs->orig_ax;
 	struct pt_regs *old_regs = set_irq_regs(regs);
 	struct irq_desc *desc;
 
diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
index 1ee7bed453de..34432c1c52ee 100644
--- a/arch/x86/kernel/sev.c
+++ b/arch/x86/kernel/sev.c
@@ -1773,24 +1773,23 @@ static enum es_result vc_handle_exitcode(struct es_em_ctxt *ctxt,
 
 static __always_inline void vc_forward_exception(struct es_em_ctxt *ctxt)
 {
-	long error_code = ctxt->fi.error_code;
 	int trapnr = ctxt->fi.vector;
 
 	ctxt->regs->orig_ax = ctxt->fi.error_code;
 
 	switch (trapnr) {
 	case X86_TRAP_GP:
-		exc_general_protection(ctxt->regs, error_code);
+		exc_general_protection(ctxt->regs);
 		break;
 	case X86_TRAP_UD:
 		exc_invalid_op(ctxt->regs);
 		break;
 	case X86_TRAP_PF:
 		write_cr2(ctxt->fi.cr2);
-		exc_page_fault(ctxt->regs, error_code);
+		exc_page_fault(ctxt->regs);
 		break;
 	case X86_TRAP_AC:
-		exc_alignment_check(ctxt->regs, error_code);
+		exc_alignment_check(ctxt->regs);
 		break;
 	default:
 		pr_emerg("Unsupported exception in #VC instruction emulation - can't continue\n");
@@ -1885,6 +1884,7 @@ static __always_inline bool vc_is_db(unsigned long error_code)
  */
 DEFINE_IDTENTRY_VC_KERNEL(exc_vmm_communication)
 {
+	unsigned long error_code = regs->orig_ax;
 	irqentry_state_t irq_state;
 
 	/*
@@ -1937,6 +1937,8 @@ DEFINE_IDTENTRY_VC_KERNEL(exc_vmm_communication)
  */
 DEFINE_IDTENTRY_VC_USER(exc_vmm_communication)
 {
+	unsigned long error_code = regs->orig_ax;
+
 	/*
 	 * Handle #DB before calling into !noinstr code to avoid recursive #DB.
 	 */
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 4a817d20ce3b..26d023560d03 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -233,6 +233,8 @@ enum cp_error_code {
 
 DEFINE_IDTENTRY_ERRORCODE(exc_control_protection)
 {
+	unsigned long error_code = regs->orig_ax;
+
 	if (!cpu_feature_enabled(X86_FEATURE_IBT)) {
 		pr_err("Unexpected #CP\n");
 		BUG();
@@ -360,24 +362,25 @@ DEFINE_IDTENTRY(exc_coproc_segment_overrun)
 
 DEFINE_IDTENTRY_ERRORCODE(exc_invalid_tss)
 {
-	do_error_trap(regs, error_code, "invalid TSS", X86_TRAP_TS, SIGSEGV,
+	do_error_trap(regs, regs->orig_ax, "invalid TSS", X86_TRAP_TS, SIGSEGV,
 		      0, NULL);
 }
 
 DEFINE_IDTENTRY_ERRORCODE(exc_segment_not_present)
 {
-	do_error_trap(regs, error_code, "segment not present", X86_TRAP_NP,
+	do_error_trap(regs, regs->orig_ax, "segment not present", X86_TRAP_NP,
 		      SIGBUS, 0, NULL);
 }
 
 DEFINE_IDTENTRY_ERRORCODE(exc_stack_segment)
 {
-	do_error_trap(regs, error_code, "stack segment", X86_TRAP_SS, SIGBUS,
+	do_error_trap(regs, regs->orig_ax, "stack segment", X86_TRAP_SS, SIGBUS,
 		      0, NULL);
 }
 
 DEFINE_IDTENTRY_ERRORCODE(exc_alignment_check)
 {
+	unsigned long error_code = regs->orig_ax;
 	char *str = "alignment check";
 
 	if (notify_die(DIE_TRAP, str, regs, error_code, X86_TRAP_AC, SIGBUS) == NOTIFY_STOP)
@@ -436,6 +439,7 @@ __visible void __noreturn handle_stack_overflow(struct pt_regs *regs,
  */
 DEFINE_IDTENTRY_DF(exc_double_fault)
 {
+	unsigned long error_code = regs->orig_ax;
 	static const char str[] = "double fault";
 	struct task_struct *tsk = current;
 
@@ -728,6 +732,7 @@ static void gp_user_force_sig_segv(struct pt_regs *regs, int trapnr,
 
 DEFINE_IDTENTRY_ERRORCODE(exc_general_protection)
 {
+	unsigned long error_code = regs->orig_ax;
 	char desc[sizeof(GPFSTR) + 50 + 2*sizeof(unsigned long) + 1] = GPFSTR;
 	enum kernel_gp_hint hint = GP_NO_HINT;
 	unsigned long gp_addr;
@@ -1254,7 +1259,8 @@ DEFINE_IDTENTRY(exc_simd_coprocessor_error)
 	if (IS_ENABLED(CONFIG_X86_INVD_BUG)) {
 		/* AMD 486 bug: INVD in CPL 0 raises #XF instead of #GP */
 		if (!static_cpu_has(X86_FEATURE_XMM)) {
-			__exc_general_protection(regs, 0);
+			regs->orig_ax = 0;
+			__exc_general_protection(regs);
 			return;
 		}
 	}
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index e8711b2cafaf..c821ea389194 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1471,9 +1471,9 @@ trace_page_fault_entries(struct pt_regs *regs, unsigned long error_code,
 }
 
 static __always_inline void
-handle_page_fault(struct pt_regs *regs, unsigned long error_code,
-			      unsigned long address)
+handle_page_fault(struct pt_regs *regs, unsigned long address)
 {
+	unsigned long error_code = regs->orig_ax;
 	trace_page_fault_entries(regs, error_code, address);
 
 	if (unlikely(kmmio_fault(regs, address)))
@@ -1539,7 +1539,7 @@ DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault)
 	state = irqentry_enter(regs);
 
 	instrumentation_begin();
-	handle_page_fault(regs, error_code, address);
+	handle_page_fault(regs, address);
 	instrumentation_end();
 
 	irqentry_exit(regs, state);
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 93b658248d01..929d56acd033 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -614,7 +614,7 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_nmi)
 DEFINE_IDTENTRY_RAW_ERRORCODE(xenpv_exc_double_fault)
 {
 	/* On Xen PV, DF doesn't use IST.  The C part is the same as native. */
-	exc_double_fault(regs, error_code);
+	exc_double_fault(regs);
 }
 
 DEFINE_IDTENTRY_RAW(xenpv_exc_debug)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 08:56:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 08:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576993.903749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqbJ-0006zZ-Lg; Fri, 04 Aug 2023 08:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576993.903749; Fri, 04 Aug 2023 08: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 1qRqbJ-0006zS-Hi; Fri, 04 Aug 2023 08:56:01 +0000
Received: by outflank-mailman (input) for mailman id 576993;
 Fri, 04 Aug 2023 08:56: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 1qRqbI-0006zI-RX; Fri, 04 Aug 2023 08:56: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 1qRqbI-0005jR-Ne; Fri, 04 Aug 2023 08:56: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 1qRqbI-000633-5E; Fri, 04 Aug 2023 08:56:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRqbI-0000eN-4r; Fri, 04 Aug 2023 08:56: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=P2PBGBnBXowxWyvx0omohco/W7SZ624YGgAt4kyPGXw=; b=bgo1nMaKsw+NwzBpnMkQy+edOz
	Q6ABX0u6Dv375UUBPVpcQLqc9rl7beBrhsm5VyKAB3bGWvX0+6nXCkhGpnLeuYTIQIKauFR3Cx7FS
	NRWJup1CjscrzO973tIKLLTJxm2PZgVp+YOrMDPPdPMUqGsUieJYbJAe0WtxKrghT5lU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182138-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182138: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4b954598a47ba07034aab9af8ddd485bdc3d5b16
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 08:56:00 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail REGR. vs. 180278
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64  8 xen-boot     fail in 182178 pass in 182138
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 182178-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 21 guest-start.2 fail pass in 182178-retest
 test-amd64-amd64-xl-qemut-ws16-amd64 18 guest-localmigrate/x10 fail pass in 182178-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail pass in 182178-retest

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

version targeted for testing:
 linux                4b954598a47ba07034aab9af8ddd485bdc3d5b16
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  109 days
Failing since        180281  2023-04-17 06:24:36 Z  109 days  198 attempts
Testing same since   182138  2023-08-02 22:48:54 Z    1 days    1 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.576999.903759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqiG-0008Uf-CH; Fri, 04 Aug 2023 09:03:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 576999.903759; Fri, 04 Aug 2023 09:03: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 1qRqiG-0008UY-9V; Fri, 04 Aug 2023 09:03:12 +0000
Received: by outflank-mailman (input) for mailman id 576999;
 Fri, 04 Aug 2023 09:03:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRqiF-0008US-49
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:03: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 1qRqiE-0005sO-3B; Fri, 04 Aug 2023 09:03:10 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRqiD-0004g7-Qw; Fri, 04 Aug 2023 09:03:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=+dhv7Xz6G0hkrYUySzHtu1LHHXk+PnYz26B7+9SAGWc=; b=LWhL/Wom9fUevXyJP728xdOzPA
	x0z8Zk48naKY19QBX+/K9pE+yzRyRkiuDtj2XfofyHVKTWAfwHtwTdyRFAGZhPk34PwpzCDD4qbXI
	5TUo/oINoNMmiYS7Lyjk28q8BckhM1LGPdUaWLwjfQbZmIPrDONnTJIFA4gan0Gq2b8M=;
Message-ID: <3ddab6ee-54fc-49a0-8f14-79ca258d04af@xen.org>
Date: Fri, 4 Aug 2023 10:03:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230803104438.24720-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Daniel,

On 03/08/2023 11:44, Daniel P. Smith wrote:
> +compatible
> +  Identifies which hypervisors the configuration is compatible. Required.
>   
> -    hypervisor {
> -        compatible = â€œhypervisor,xenâ€
> +  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"

I read "e.g" as "for example". You don't explicitely say which 
compatible will be supported by Xen, so one could write "hypervisor,foo" 
and expect to work.

Also, it is not fully clear why you need both the hypervisor and each 
domain node to have a compatible with the hypervisor name in it.

[...]

> +compatible
> +  Identifies the hypervisor the confiugration is intended. Required.

Also typo: s/confiugration/configuration/

>   
> -The modules that would be supplied when using the above config would be:
> +  Format: "<hypervisor name>,config", e.g "xen,config"
>   
> -* (the above config, compiled into hardware tree)
> -* CPU microcode
> -* XSM policy
> -* kernel for boot domain
> -* ramdisk for boot domain
> -* boot domain configuration file
> -* kernel for the classic dom0 domain
> -* ramdisk for the classic dom0 domain
> +bootargs
> +  This is used to provide the boot params for Xen.

How is this different from the command line parameter chosen? And if you 
want to keep both, what is the expected priority if a user provides both?

>   
> -The hypervisor device tree would be compiled into the hardware device tree and
> -provided to Xen using the standard method currently in use. The remaining
> -modules would need to be loaded in the respective addresses specified in the
> -`module-addr` property.
> +  Format: String, e.g. "flask=silo"
>   
> +Child Nodes
> +"""""""""""
>   
> -The Hypervisor node
> --------------------
> +* module
>   
> -The hypervisor node is a top level container for the domains that will be built
> -by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
> -property is used to identify the type of hypervisor node present..
> +Domain Node
> +-----------
>   
> -compatible
> -  Identifies the type of node. Required.
> +A ``domain`` node is for describing the construction of a domain. Since there
> +may be one or more domain nodes, each one requires a unique, DTB compliant name
> +and a ``compatible`` property to identify as a domain node.
>   
> -The Config node
> ----------------
> +A ``domain`` node  may provide a ``domid`` property which will be used as the
> +requested domain id for the domain with a value of â€œ0â€ signifying to use the
> +next available domain id, which is the default behavior if omitted. It should
> +be noted that a domain configuration is not able to request a domid of â€œ0â€

Why do you need this restriction? And more importantly how would you 
describe dom0 in hyperlaunch?

> +Beyond that, a domain node may have any of the following optional properties.
>   
> -A config node is for detailing any modules that are of interest to Xen itself.
> -For example this would be where Xen would be informed of microcode or XSM
> -policy locations. If the modules are multiboot modules and are able to be
> -located by index within the module chain, the ``mb-index`` property should be
> -used to specify the index in the multiboot module chain.. If the module will be
> -located by physical memory address, then the ``module-addr`` property should be
> -used to identify the location and size of the module.
> +Properties
> +""""""""""
>   
>   compatible
> -  Identifies the type of node. Required.
> -
> -The Domain node
> ----------------
> +  Identifies the node as a domain node and for which hypervisor. Required.
>   
> -A domain node is for describing the construction of a domain. It may provide a
> -domid property which will be used as the requested domain id for the domain
> -with a value of â€œ0â€ signifying to use the next available domain id, which is
> -the default behavior if omitted. A domain configuration is not able to request
> -a domid of â€œ0â€. After that a domain node may have any of the following
> -parameters,
> -
> -compatible
> -  Identifies the type of node. Required.
> +  Format: "<hypervisor name>,domain", e.g "xen,domain"
>   
>   domid
> -  Identifies the domid requested to assign to the domain. Required.
> +  Identifies the domid requested to assign to the domain.
>   
> -permissions
> +  Format: Integer, e.g <0>
> +
> +role
>     This sets what Discretionary Access Control permissions
>     a domain is assigned. Optional, default is none.
>   
> -functions
> -  This identifies what system functions a domain will fulfill.
> +  Format: Bitfield, e.g <3> or <0x00000003>
> +
> +          ROLE_NONE                (0)
> +          ROLE_UNBOUNDED_DOMAIN    (1U<<0)
> +          ROLE_CONTROL_DOMAIN      (1U<<1)
> +          ROLE_HARDWARE_DOMAIN     (1U<<2)
> +          ROLE_XENSTORE_DOMAIN     (1U<<3)

Please describe what each roles are meant for.

> +
> +capability
> +  This identifies what system capabilities a domain may have beyond the role it
> +  was assigned.
>     Optional, the default is none.
>   
> -.. note::  The `functions` bits that have been selected to indicate
> -   ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two bits
> -   (30, 31) such that should these features ever be fully retired, the flags may
> -   be dropped without leaving a gap in the flag set.
> +  Format: Bitfield, e.g <3221225487> or <0xC0000007>

I thik we should favor the hexadecimal version because this will be 
somewhat easier to read.

Also, the Device-Tree values work in term of 32-bit cell. Also, how do 
you plan to handle the case where you have more than 32 capabilities?

> +
> +          CAP_NONE            (0)
> +          CAP_CONSOLE_IO      (1U<<0)

Please describe the capabilities.

>   
>   mode
>     The mode the domain will be executed under. Required.
>   
> +  Format: Bitfield, e.g <5> or <0x00000005>
> +
> +          MODE_PARAVIRTUALIZED     (1 << 0) PV | PVH/HVM
> +          MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
> +          MODE_LONG                (1 << 2) 64 BIT | 32 BIT
> +
>   domain-uuid
>     A globally unique identifier for the domain. Optional,
>     the default is NULL.
>   
> +  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
> +
>   cpus
>     The number of vCPUs to be assigned to the domain. Optional,
>     the default is â€œ1â€.
>   
> +  Format: Integer, e.g <0>

This is odd to suggest to give '0' as an example. Wouldn't Xen throw an 
error if a user provide it?

> +
>   memory
> -  The amount of memory to assign to the domain, in KBs.
> +  The amount of memory to assign to the domain, in KBs. This field uses a DTB
> +  Reg which contains a start and size. For memory allocation start may or may
> +  not have significance but size will always be used for the amount of memory
>     Required.

The description doesn't match...

>   
> +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"

... the format. But strings are difficult to parse. If you want to 
provide 3 different values (possibly optional), then it would be best to 
have 3 different properties.

I will continue to review the rest later.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:05:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577002.903769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqkr-0000ei-Pv; Fri, 04 Aug 2023 09:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577002.903769; Fri, 04 Aug 2023 09:05:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqkr-0000eb-Mr; Fri, 04 Aug 2023 09:05:53 +0000
Received: by outflank-mailman (input) for mailman id 577002;
 Fri, 04 Aug 2023 09:05:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRqkq-0000eV-Po
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:05:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c1d1c3e-32a6-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:05:51 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id A9A974EE0737;
 Fri,  4 Aug 2023 11:05:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c1d1c3e-32a6-11ee-b26b-6b7b168915f2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] x86/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Fri,  4 Aug 2023 11:05:41 +0200
Message-Id: <7f4d7be410aecaab6e356947bb79e703037f4101.1691139867.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters to address violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between parameter names used in function
declarations and the ones used in the corresponding function
definitions, thus addressing violations of MISRA C:2012 Rule 8.3
("All declarations of an object or function shall use the same names
and type qualifiers").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/mm.h | 20 ++++++++++----------
 xen/arch/x86/mm.c             | 33 ++++++++++++++++++---------------
 xen/include/xen/mm.h          |  2 +-
 3 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index db29e3e205..1e2d8c1a65 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -408,7 +408,7 @@ void put_page_type(struct page_info *page);
 int  get_page_type(struct page_info *page, unsigned long type);
 int  put_page_type_preemptible(struct page_info *page);
 int  get_page_type_preemptible(struct page_info *page, unsigned long type);
-int  put_old_guest_table(struct vcpu *);
+int  put_old_guest_table(struct vcpu *v);
 int  get_page_from_l1e(
     l1_pgentry_t l1e, struct domain *l1e_owner, struct domain *pg_owner);
 void put_page_from_l1e(l1_pgentry_t l1e, struct domain *l1e_owner);
@@ -559,7 +559,7 @@ void audit_domains(void);
 
 void make_cr3(struct vcpu *v, mfn_t mfn);
 void update_cr3(struct vcpu *v);
-int vcpu_destroy_pagetables(struct vcpu *);
+int vcpu_destroy_pagetables(struct vcpu *v);
 void *do_page_walk(struct vcpu *v, unsigned long addr);
 
 /* Allocator functions for Xen pagetables. */
@@ -574,20 +574,20 @@ int __sync_local_execstate(void);
 /* Arch-specific portion of memory_op hypercall. */
 long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
 long subarch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
-int compat_arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void));
-int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void));
+int compat_arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
+int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
 
 #define NIL(type) ((type *)-sizeof(type))
 #define IS_NIL(ptr) (!((uintptr_t)(ptr) + sizeof(*(ptr))))
 
-int create_perdomain_mapping(struct domain *, unsigned long va,
-                             unsigned int nr, l1_pgentry_t **,
-                             struct page_info **);
-void destroy_perdomain_mapping(struct domain *, unsigned long va,
+int create_perdomain_mapping(struct domain *d, unsigned long va,
+                             unsigned int nr, l1_pgentry_t **pl1tab,
+                             struct page_info **ppg);
+void destroy_perdomain_mapping(struct domain *d, unsigned long va,
                                unsigned int nr);
-void free_perdomain_mappings(struct domain *);
+void free_perdomain_mappings(struct domain *d);
 
-void __iomem *ioremap_wc(paddr_t, size_t);
+void __iomem *ioremap_wc(paddr_t pa, size_t len);
 
 extern int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm);
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index be2b10a391..e1d9b94007 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5591,7 +5591,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
  *
  * It is an error to call with present flags over an unpopulated range.
  */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
 {
     bool locking = system_state > SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL;
@@ -5604,7 +5604,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
-    nf &= FLAGS_MASK;
+    flags &= FLAGS_MASK;
 
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
     ASSERT(IS_ALIGNED(e, PAGE_SIZE));
@@ -5628,7 +5628,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
         if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) )
         {
             /* Confirm the caller isn't trying to create new mappings. */
-            ASSERT(!(nf & _PAGE_PRESENT));
+            ASSERT(!(flags & _PAGE_PRESENT));
 
             v += 1UL << L3_PAGETABLE_SHIFT;
             v &= ~((1UL << L3_PAGETABLE_SHIFT) - 1);
@@ -5645,9 +5645,10 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
                  ((e - v) >= (1UL << L3_PAGETABLE_SHIFT)) )
             {
                 /* PAGE1GB: whole superpage is modified. */
-                l3_pgentry_t nl3e = !(nf & _PAGE_PRESENT) ? l3e_empty()
+                l3_pgentry_t nl3e = !(flags & _PAGE_PRESENT) ? l3e_empty()
                     : l3e_from_pfn(l3e_get_pfn(*pl3e),
-                                   (l3e_get_flags(*pl3e) & ~FLAGS_MASK) | nf);
+                                   (l3e_get_flags(*pl3e) & ~FLAGS_MASK) |
+                                    flags);
 
                 l3e_write_atomic(pl3e, nl3e);
                 v += 1UL << L3_PAGETABLE_SHIFT;
@@ -5691,7 +5692,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
         if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) )
         {
             /* Confirm the caller isn't trying to create new mappings. */
-            ASSERT(!(nf & _PAGE_PRESENT));
+            ASSERT(!(flags & _PAGE_PRESENT));
 
             v += 1UL << L2_PAGETABLE_SHIFT;
             v &= ~((1UL << L2_PAGETABLE_SHIFT) - 1);
@@ -5704,9 +5705,10 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
                  ((e-v) >= (1UL << L2_PAGETABLE_SHIFT)) )
             {
                 /* PSE: whole superpage is modified. */
-                l2_pgentry_t nl2e = !(nf & _PAGE_PRESENT) ? l2e_empty()
+                l2_pgentry_t nl2e = !(flags & _PAGE_PRESENT) ? l2e_empty()
                     : l2e_from_pfn(l2e_get_pfn(*pl2e),
-                                   (l2e_get_flags(*pl2e) & ~FLAGS_MASK) | nf);
+                                   (l2e_get_flags(*pl2e) & ~FLAGS_MASK) |
+                                    flags);
 
                 l2e_write_atomic(pl2e, nl2e);
                 v += 1UL << L2_PAGETABLE_SHIFT;
@@ -5756,11 +5758,11 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
 
             /* Confirm the caller isn't trying to create new mappings. */
             if ( !(l1e_get_flags(*pl1e) & _PAGE_PRESENT) )
-                ASSERT(!(nf & _PAGE_PRESENT));
+                ASSERT(!(flags & _PAGE_PRESENT));
 
-            nl1e = !(nf & _PAGE_PRESENT) ? l1e_empty()
+            nl1e = !(flags & _PAGE_PRESENT) ? l1e_empty()
                 : l1e_from_pfn(l1e_get_pfn(*pl1e),
-                               (l1e_get_flags(*pl1e) & ~FLAGS_MASK) | nf);
+                               (l1e_get_flags(*pl1e) & ~FLAGS_MASK) | flags);
 
             l1e_write_atomic(pl1e, nl1e);
             UNMAP_DOMAIN_PAGE(pl1e);
@@ -5770,7 +5772,8 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
              * If we are not destroying mappings, or not done with the L2E,
              * skip the empty&free check.
              */
-            if ( (nf & _PAGE_PRESENT) || ((v != e) && (l1_table_offset(v) != 0)) )
+            if ( (flags & _PAGE_PRESENT) ||
+                 ((v != e) && (l1_table_offset(v) != 0)) )
                 continue;
             if ( locking )
                 spin_lock(&map_pgdir_lock);
@@ -5817,7 +5820,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
          * If we are not destroying mappings, or not done with the L3E,
          * skip the empty&free check.
          */
-        if ( (nf & _PAGE_PRESENT) ||
+        if ( (flags & _PAGE_PRESENT) ||
              ((v != e) && (l2_table_offset(v) + l1_table_offset(v) != 0)) )
             continue;
         if ( locking )
@@ -5892,14 +5895,14 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
  * a problem.
  */
 void init_or_livepatch modify_xen_mappings_lite(
-    unsigned long s, unsigned long e, unsigned int _nf)
+    unsigned long s, unsigned long e, unsigned int flags)
 {
     unsigned long v = s, fm, nf;
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
     fm = put_pte_flags(FLAGS_MASK);
-    nf = put_pte_flags(_nf & FLAGS_MASK);
+    nf = put_pte_flags(flags & FLAGS_MASK);
 #undef FLAGS_MASK
 
     ASSERT(nf & _PAGE_PRESENT);
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 962ef216fd..4ed5fc4230 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -549,7 +549,7 @@ union add_to_physmap_extra {
 
 int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
                               union add_to_physmap_extra extra,
-                              unsigned long idx, gfn_t gfn);
+                              unsigned long idx, gfn_t gpfn);
 
 int xenmem_add_to_physmap(struct domain *d, struct xen_add_to_physmap *xatp,
                           unsigned int start);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:17:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577009.903779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqvm-0002En-Ue; Fri, 04 Aug 2023 09:17:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577009.903779; Fri, 04 Aug 2023 09:17: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 1qRqvm-0002Eg-Rq; Fri, 04 Aug 2023 09:17:10 +0000
Received: by outflank-mailman (input) for mailman id 577009;
 Fri, 04 Aug 2023 09:17: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRqvl-0002Ea-8c
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:17:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af6d25a1-32a7-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:17:08 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D406C1F8AC;
 Fri,  4 Aug 2023 09:17:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AC26113904;
 Fri,  4 Aug 2023 09:17:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id AgVSKBLCzGTSEQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 09:17:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af6d25a1-32a7-11ee-b26b-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691140626; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=wuhFyyBsmhqFJy/tFrhyQ9oLDM6hdh5JtrRuEZ1uje0=;
	b=mEYLpPJ2ahCtlDBYyAFozRQj0oed6CNe1Z3143kmq9YXEsDtDLysKfvvy5R4UFSXn6S9p4
	QdEYRWawcGsXGLJhPEaLedE+p/dYGzLJxnnDD/mR4BeUFDga24G5hSbJMpUzOCrcs/cA1p
	z1cQkxYOzqRHfFsCXXIJ6yPL2mMA7Rc=
Message-ID: <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
Date: Fri, 4 Aug 2023 11:17:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
In-Reply-To: <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mnyo4W0MMQmYmayX1fHAIwPt"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mnyo4W0MMQmYmayX1fHAIwPt
Content-Type: multipart/mixed; boundary="------------PzyW7ymNkITIEblOCoSW18N2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
In-Reply-To: <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>

--------------PzyW7ymNkITIEblOCoSW18N2
Content-Type: multipart/mixed; boundary="------------E5aInlkZvtzM3zKWrZJCmhhX"

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

T24gMDMuMDguMjMgMjM6MzYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAyNC8wNy8yMDIzIDEyOjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gZGlmZiAtLWdp
dCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF93YXRjaC5jIGIvdG9vbHMveGVuc3RvcmUv
eGVuc3RvcmVkX3dhdGNoLmMNCj4+IGluZGV4IDg2Y2Y4MzIyYjQuLjI2NjJhM2ZhNDkgMTAw
NjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfd2F0Y2guYw0KPj4gKysr
IGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3dhdGNoLmMNCj4+IEBAIC0xNjYsMTkgKzE2
NiwxMiBAQCBzdGF0aWMgaW50IGRlc3Ryb3lfd2F0Y2godm9pZCAqX3dhdGNoKQ0KPj4gwqAg
c3RhdGljIGludCBjaGVja193YXRjaF9wYXRoKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBj
b25zdCB2b2lkICpjdHgsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGNvbnN0IGNoYXIgKipwYXRoLCBib29sICpyZWxhdGl2ZSkNCj4+IMKgIHsNCj4+IC3CoMKg
wqAgLyogQ2hlY2sgaWYgdmFsaWQgZXZlbnQuICovDQo+PiAtwqDCoMKgIGlmIChzdHJzdGFy
dHMoKnBhdGgsICJAIikpIHsNCj4+IC3CoMKgwqDCoMKgwqDCoCAqcmVsYXRpdmUgPSBmYWxz
ZTsNCj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAoc3RybGVuKCpwYXRoKSA+IFhFTlNUT1JFX1JF
TF9QQVRIX01BWCkNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gaW52YWw7DQo+
IA0KPiBJIGNhbid0IGZpbmQgYW4gZXhhY3QgbWF0Y2hpbmcgY2hlY2sgaW4gaXNfdmFsaWRf
bm9kZW5hbWUoKS4gVGhlIGNhbGwgYWxzbyBzZWVtcyANCj4gdG8gcHV0IG1vcmUgcmVzdHJp
Y3Rpb24gb24gJ0AnIG5vZGUuIENhbiB5b3UgY2xhcmlmeT8NCg0KVGhlIGNhbGwgb2YgZG9t
YWluX21heF9jaGsoKSBpbiBpc192YWxpZF9ub2RlbmFtZSgpIHdpbGwgY2hlY2sgdGhlIGxl
bmd0aA0Kb2YgdGhlIG5vZGUgbmFtZSAoYXQgbGVhc3QgZm9yIHVucHJpdmlsZWdlZCBjYWxs
ZXJzLCB3aGljaCBpcyB0aGUgaW1wb3J0YW50DQpjYXNlKS4NCg0KVGhlIGFkZGl0aW9uYWwg
cmVzdHJpY3Rpb25zIGZvciBzcGVjaWFsIG5vZGVzIGFyZToNCg0KLSB0aGV5IGNhbid0IGVu
ZCB3aXRoICIvIg0KLSB0aGV5IGNhbid0IGNvbnRhaW4gIi8vIg0KLSB0aGV5IGNhbid0IGNv
bnRhaW4gY2hhcmFjdGVycyBvdGhlciB0aGFuIHRoZSBvbmVzIGFsbG93ZWQgZm9yIG5vcm1h
bCBub2Rlcw0KDQpOb25lIG9mIHRob3NlIHJlc3RyaWN0aW9ucyBhcmUgcHJvYmxlbWF0aWMu
IEkgY2FuIGFkZCBzb21ldGhpbmcgdG8gdGhlDQpjb21taXQgbWVzc2FnZSBpZiB5b3Ugd2Fu
dC4NCg0KDQpKdWVyZ2VuDQo=
--------------E5aInlkZvtzM3zKWrZJCmhhX
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------E5aInlkZvtzM3zKWrZJCmhhX--

--------------PzyW7ymNkITIEblOCoSW18N2--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTMwhIFAwAAAAAACgkQsN6d1ii/Ey/9
cAf+KxAjqy/7vQNR7PeYHTD6iUxLkyuEZyIHLg8Jd7bVyzd9pU0zpDhDt/40l4sF1NyjEpEoHLKl
qIHtSkFdi+roRi80050AlhnBY0/cdu2cLFNc0iemoq1Hl724NMPpVjUvMW3+GN02Fn8Rd+oEGyuq
aOnBroycbchsTR9fZxMJ3/TH7wWiZzkcP0/C3+226PzFj2wusJ8nTiw4IHx2kZQBuplfhXwYH9sz
ayQ8fi5SjRjEco1hZubR0YOcL5tDAOoTkvRufqNrhj3kyt4kEvIBIzO3N0MORGSzbuG9VcBvpp6Q
OnZSoAD0DRElNC4DcyY8bdzkuEEIk57FocpuqW+tBw==
=CoUR
-----END PGP SIGNATURE-----

--------------mnyo4W0MMQmYmayX1fHAIwPt--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:21:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:21:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577013.903789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqzy-0003ge-Gp; Fri, 04 Aug 2023 09:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577013.903789; Fri, 04 Aug 2023 09:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRqzy-0003gX-D3; Fri, 04 Aug 2023 09:21:30 +0000
Received: by outflank-mailman (input) for mailman id 577013;
 Fri, 04 Aug 2023 09:21: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 1qRqzx-0003gR-6Q
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:21: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 1qRqzw-0006LR-BE; Fri, 04 Aug 2023 09:21:28 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRqzw-0005Le-5H; Fri, 04 Aug 2023 09:21: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=r61StbouY/C8r/7hrH1QcobJYI1Q2gBAA4aCPWNc/p8=; b=oN/4IkcclgFRBGMC2yr2BfUQae
	yFBgl51xcNNkYCb8dHpNMA40NYwWNDBwvWjiH85DcpshVKb6fI/klyad1JjpZ7k8TzBSUqyxaKcjT
	MNhGv9Ux3fbVk7vrCOlDTCKpUcq9ECPy354Pqdmmcq9p/ii6rmQt4PWLCy7/CAgo/UIo=;
Message-ID: <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
Date: Fri, 4 Aug 2023 10:21:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 04/08/2023 10:17, Juergen Gross wrote:
> On 03.08.23 23:36, Julien Grall wrote:
>> Hi,
>>
>> On 24/07/2023 12:02, Juergen Gross wrote:
>>> diff --git a/tools/xenstore/xenstored_watch.c 
>>> b/tools/xenstore/xenstored_watch.c
>>> index 86cf8322b4..2662a3fa49 100644
>>> --- a/tools/xenstore/xenstored_watch.c
>>> +++ b/tools/xenstore/xenstored_watch.c
>>> @@ -166,19 +166,12 @@ static int destroy_watch(void *_watch)
>>> Â  static int check_watch_path(struct connection *conn, const void *ctx,
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const char **path, bool *relative)
>>> Â  {
>>> -Â Â Â  /* Check if valid event. */
>>> -Â Â Â  if (strstarts(*path, "@")) {
>>> -Â Â Â Â Â Â Â  *relative = false;
>>> -Â Â Â Â Â Â Â  if (strlen(*path) > XENSTORE_REL_PATH_MAX)
>>> -Â Â Â Â Â Â Â Â Â Â Â  goto inval;
>>
>> I can't find an exact matching check in is_valid_nodename(). The call 
>> also seems to put more restriction on '@' node. Can you clarify?
> 
> The call of domain_max_chk() in is_valid_nodename() will check the length
> of the node name (at least for unprivileged callers, which is the important
> case).

Right, but from my understanding, this may not check against 
XENSTORE_REL_PATH_MAX but whatever limit the user set.

This is a change of behavior that you ought to be explained.

> 
> The additional restrictions for special nodes are:
> 
> - they can't end with "/"
> - they can't contain "//"
> - they can't contain characters other than the ones allowed for normal 
> nodes
> 
> None of those restrictions are problematic. I can add something to the
> commit message if you want.

Yes please.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:22:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577016.903799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRr13-0004Dp-P4; Fri, 04 Aug 2023 09:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577016.903799; Fri, 04 Aug 2023 09:22:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRr13-0004Di-MM; Fri, 04 Aug 2023 09:22:37 +0000
Received: by outflank-mailman (input) for mailman id 577016;
 Fri, 04 Aug 2023 09:22:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRr12-0004Dc-WA
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:22:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72583f47-32a8-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 11:22:35 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 4FDC64EE0737;
 Fri,  4 Aug 2023 11:22:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72583f47-32a8-11ee-8613-37d641c3527e
Message-ID: <a32cd7f5-7efa-39b1-ba09-09fd4ca01049@bugseng.com>
Date: Fri, 4 Aug 2023 11:22:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] x86/mm: address violations of MISRA C:2012 Rules 8.2
 and 8.3
Content-Language: en-US, it
To: xen-devel@lists.xenproject.org
Cc: 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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <7f4d7be410aecaab6e356947bb79e703037f4101.1691139867.git.federico.serafini@bugseng.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <7f4d7be410aecaab6e356947bb79e703037f4101.1691139867.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 04/08/23 11:05, Federico Serafini wrote:
> Give a name to unnamed parameters to address violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between parameter names used in function
> declarations and the ones used in the corresponding function
> definitions, thus addressing violations of MISRA C:2012 Rule 8.3
> ("All declarations of an object or function shall use the same names
> and type qualifiers").
> 
> No functional changes.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>   xen/arch/x86/include/asm/mm.h | 20 ++++++++++----------
>   xen/arch/x86/mm.c             | 33 ++++++++++++++++++---------------
>   xen/include/xen/mm.h          |  2 +-
>   3 files changed, 29 insertions(+), 26 deletions(-)
> 

>   
>   int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
>                                 union add_to_physmap_extra extra,
> -                              unsigned long idx, gfn_t gfn);
> +                              unsigned long idx, gfn_t gpfn);

I am seeing now that this will cause a violation in the arm code,
I will propose a v2.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577022.903809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRr8B-0004vE-Gg; Fri, 04 Aug 2023 09:29:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577022.903809; Fri, 04 Aug 2023 09:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRr8B-0004v5-DF; Fri, 04 Aug 2023 09:29:59 +0000
Received: by outflank-mailman (input) for mailman id 577022;
 Fri, 04 Aug 2023 09:29:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ccdb=DV=citrix.com=prvs=573ccd360=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRr89-0004tW-OL
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:29:58 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 775605bf-32a9-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 11:29:54 +0200 (CEST)
Received: from mail-bn7nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2023 05:29:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5800.namprd03.prod.outlook.com (2603:10b6:510:31::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug
 2023 09:29:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Fri, 4 Aug 2023
 09:29:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 775605bf-32a9-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691141394;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SRCvVe+S1DPLW95R0TrJ8z0SlTUu7EDvGqbeb2O13go=;
  b=IqiRx1Y4DNMMIJ5zeSaXoybDJToWvq0eEQMiuK3TEtBuGzxWmcy56/Z8
   ek0CDGsoiptEM1mV5on6tE4o0L6+4Pe7X+UneQkvqC45Jdpqxeh5LrZlg
   jyIL+/0O58QIV4Gc+F0bbAgD0GYshqC+s1s2nqRSXAYQwSlpZCyTVLZ8g
   M=;
X-IronPort-RemoteIP: 104.47.70.106
X-IronPort-MID: 118512424
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:hFpuyKIIXSOBH9D7FE+Rh5UlxSXFcZb7ZxGr2PjKsXjdYENS0TIEz
 WVKUG/QbPaCZWGhKohxPIWz80MBvsWDmNVnHAZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRiPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5WAj5t7
 PI5eAlcVTmhjdyIxY+WQ7RF05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLkmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHqrBdtISOfknhJsqG+v92lQWTMRbkGm/eWzpRWkeNcBO
 1NBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rHP/w+TC2wATzhAQN8rrsk7QXotz
 FDht8ztLSxitvuSU3313rWJqTK/PwAFIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdptj8AzT52
 T2JhCk4mbQIjMQP2rm7/FbImDalrN7CSQtdzgfeWG6//x56TIGgbo2sr1Pc6J5oIJ6CS1idv
 FANg8WE8P0VFpaJiTCMR+MWWrqu4p6tOz3GgEVzGIEh+i7r5DioeYlK4xlxIU5oNoAPfjqBS
 F/ev0Zd6YFeOFOubLRreMShBsIy16/iGN/5EPfOYbJzjoNZcQaG+GRkYxGW1mW0yEw0y/hnZ
 9GcbNqmCmscBeJ/1j2qSuwB0LgtgCcj2WfUQpO9xBOiuVaDWEOopX4+GAPmRogEAGms8W05L
 /432xO29ihi
IronPort-HdrOrdr: A9a23:HNYX7qyQBqvv5rB1ylSVKrPxMegkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9wYh4dcB67SdC9qADnhPlICO4qTMqftWjdyRGVxeRZgbcKrAeQeBEWmtQtsJ
 uINpIOc+EYbmIK8/oSgjPZLz9I+rDunsGVbKXlvg9QpGlRGt5dBmxCe2Km+yNNNW977NYCZf
 ihDp0tnUvdRZ1bVLXyOpFDNNKz1eHjpdbDW1orFhQn4A6BgXeB76P7KQGR2lMzQi5C2rAr9E
 nCikjc6r+4u/+25xfA3yuLhq4m1OfJ+59mPoihm8IVIjLjhkKBY5lgYaSLuHQYsfyi81Ejlf
 jLulMFM95o433cU2mpqV/G2hXm0hwp93j+oGXozEfLkIjcfnYXGsBBjYVWfl/w7Fchhsh11O
 Zu03iCv5RaIBvclGCljuK4HS1Cpw6Rmz4PgOQTh3tQXc83b6JQl5UW+AdwHI0bFCz3xYg7GK
 1FDd3a5txRbVSGBkqp9VVH8ZiJZDAeDx2GSk8Ntoi81CVXpmlwyw8iyMkWjh47heUAYqgBw9
 6BHrVjlblIQMNTR7l6Hv09Tcy+DXGIaQ7QMUqJSG6XVJ0vCjbokdra8b817OaldNgj150pgq
 nMV1teqCobZ1/uM8uTx5dGmyq9AVlVZQ6diP222qIJ/4EVHNHQQGm+oREV4oWdSswkc47ms6
 3ZAuMQPxfhRVGebbqhkTeOHaW6EkNuI/H9iuxLKm5mnfi7WrECltarBso7d4CdWAoMayfYPk
 YpegTVCYFp0n2LM0WI9SQ5HUmdNXDCwQ==
X-Talos-CUID: =?us-ascii?q?9a23=3AN7clmmvot2y8dkSU4h5Xt0BA6IsEcSL+1Xnxc3b?=
 =?us-ascii?q?pMk9LQoOrTGK98f5Nxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AlMKx8w8BwLS46xU0iI1qOD2Qf/VU0qHtWW4Kqo8?=
 =?us-ascii?q?b59WOGndqGDLDnCviFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,254,1684814400"; 
   d="scan'208";a="118512424"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XCHC5+ByiMpkKPCPNOADNI5soEaEh4hU41dWHd+xfeyTKnL4M2psJVRAG71uzu3hSqCEKzEi16RlpmJFzOnkuSPQT+JflKw1PFdMUUI6mQpXkMhk3TPaDNxuhIipgI5X3Ip6fuoHfMubOaEeaSU1JdBcvrlmXkAE/vCS5tZeuaBPyd9qV6FYlQ8DqwkpLgJKfhpY8WRgAU/9pbYTf+O94ebd2vaNzjWndLMh80Y4uyRcKo4VRg9McJ8JKuA9GGghx1ilCfUkr6qG1R6h40Ll83sgRg+GVXoFHrlDEnF2KcpVhf1O4t7uy3yiGSc/Yh2H0+v1h9lQGcB1WIOItH1tbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H+qOK9cx+4ZjG6NCincp5adHyETuhf+yKMXpcOoYjUg=;
 b=lO+7utAJod30CXYvHdp0m6erJaVS+H82mFoO9UiDTzN0pDYZx2kkFibwiW73ofz5PnRodrTBxXIfU4AMIfeMxVZMaI82dXKIyyoEjMRyhwsFFAWF12zC3jHFKeXlBGj2MZAThqH8BnkjLCvC5bnFwWfgAty8Y6jAuFQK2S4R+CFUK5DJ7P+CWeYbPV5+e9mWAe4uVKbbvCURF5FoUMp4DBkY8U89AUGoyJx8x7Ej8yaUToXP2chMfqLdSJFB7KlZf3TP+d+peg7snUCYFRWH0sxncacKAUYNpHghopoT1ctjkUqGaay8qAJiZrt1GYlCQNKDudULXY7UDBq51A9Snw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H+qOK9cx+4ZjG6NCincp5adHyETuhf+yKMXpcOoYjUg=;
 b=GlDpgPEoBgAU2c3MJvtb1+JNctN9WAGCFTSNCQ9IjAbzPcQoQ2uZAI6WZtUqy2WWCP5JLtPo3OH8jd6SLcQw6btcqtXLkIJvaflLgzQVsJUm52GeAxkWWF2OCNtgR+NG5VFIrnIipPjDW2oYJvhLpDJMIvqcSrBlviObzvex4KU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <722dfba8-a768-55c1-29bb-2d8525282b4b@citrix.com>
Date: Fri, 4 Aug 2023 10:29:33 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
 <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com>
In-Reply-To: <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0494.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5800:EE_
X-MS-Office365-Filtering-Correlation-Id: f492d36f-6406-4ade-a4d7-08db94cd542f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3maSrMXhyW6llioz8B0nAN9xFQkpgGDWWB5jMP7Uab3FohIT+866GSqj3wDU2x9uvOoj/0RPVYwr1EHFdZMq1zVCq9Zhif+7YIxZoK66Ck22df0bNfj5dwHbIHM1IM9rbBGW+8rx0TzHnY568+iqYwoMpSXUYuF22gkaXNvIQTtOMaCb/4YjP3FT1yCu/jxpAHx7Q8OCsemfmkr5/o/pSgJje6AGEJNmcuYbjv0UEmmNgYD+QzuBc8/AJQKVNesst8veHjM4/cWLXZ9GgdaDgNmbVJmuls6bGrox3J+j+1AaM5aTiT6dg/O6w8A95IgVPsYFSLajY6qCkyRONo3TmumYZxgHsG6Fh5qhJJxJf0oOEfQTHkzSP1CMhJTwhhMdtsggRBAFOclLIW5k3VQVHd53zbxKN9GJ/yvaQvlAxI2/PRrOIOF5xV9wS4aayR9RBMp/fvjz2XS4+aki4ih23bEL30DgZH5zIE0voRdzBlZVu9kxpsuBidGt3cybVq4qB/y7n5DGhh8wbuFffcoqDbVSDkBXTrJJdgMhBbuCMLqkFN80OuKLbf324/92Ug5/6Egu4h4QrtFTIh3lyR+Ivix8QnU2GGQ1IbAOpMV/k5Itd/RVOXXzsf1BE72N31y2KbUoJwvbK0zWnZ3pzKxwux3ZlmE0o5YgLWkRtSCpaz2LNqxIC3Spv9HMwoh2g320
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(186006)(1800799003)(451199021)(86362001)(36756003)(31696002)(31686004)(66574015)(478600001)(54906003)(38100700002)(82960400001)(8676002)(2616005)(83380400001)(26005)(6506007)(53546011)(6512007)(6666004)(7416002)(41300700001)(8936002)(6486002)(966005)(316002)(66556008)(2906002)(66476007)(4326008)(6916009)(5660300002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzhtTlp6WjMvcG5XYjdIejFhR2tqQ2F6YmpGcW5XZXpVTzloRWJjZXpZVU0w?=
 =?utf-8?B?YjRGNnNLclp1NCtUQzdrVzNCWVkvbFFqM1BpcVE4R0RsaTBFZmdBSU04Qi9w?=
 =?utf-8?B?VksxVEpGVzlLUVlkOXpOUXpXMnd6YU56dk5hZDZuOTRabGRjNTFmNkl6dGNB?=
 =?utf-8?B?UHozeGphTnJvem5Ub3Z3L2ZYVGQwVUpST2ZsSC9OdndSU3J4MlpqV1NPRHV0?=
 =?utf-8?B?aWhFclhPN0lHdlVGTXF1TDFVQ3Q1dUVaSUJIbStmaGpaTGtOR3RVeDNNRkFr?=
 =?utf-8?B?SlYxRjJHRFh3RGxyMm42UDdIR3o3NkIvcm13TFdJYk1MUXZXREthOCtTVVN3?=
 =?utf-8?B?enNqcFV6dXBGREMvQ3R6WVQ5R0N6WldrQ2wwSko2SHk3dC81MFZ4TG5tSU96?=
 =?utf-8?B?ODNZU05tQmtwN3YrTUc4ME96VFYwRVYvRk0rUGpsS2JVb0JidG5JMDZVanBn?=
 =?utf-8?B?cTFHeHU0VTZQRkdXWXczZFJqYnlRNjMvOUVZOE1odjBpQVBDQ2NhNGpoamZ6?=
 =?utf-8?B?Smo0NEw0WEtYSzFyOUllK2VQYXZXSjd0WlE4RUV1TStrUjV6dUp2ejVQNmVZ?=
 =?utf-8?B?MDN6QU82OVpWZTZJQ09hcFJCM3l3SVQ1a284UGZ0UTFGQjZSTEFBY1YrdGc0?=
 =?utf-8?B?eFNjQThIZ0MxZTB3TThjY3JrUDQ3TjkwNVdNOXdkNGo3Q25nUDRWZUlyL2Q0?=
 =?utf-8?B?bFBxRFVNYU5LZERlNm1CejNmVHVmVDhCZENGQWl5bGtMdklFdmd3a0lvVURI?=
 =?utf-8?B?L2dkSXhKTldzcUM2K0JKRjI3ODgwVWFQU2MyUkN3VjdSSEpSR21rdUM0MnA3?=
 =?utf-8?B?Rmt5cTI0UklCRWhucmhjeFVzRFh3VjdSSDNzR2lrUXRxdUNEU0JqMEw2MTlU?=
 =?utf-8?B?bHRhazhCamcyQzBwbng1RFdlYis3cFJ1VzQ2ZElGUlcyMndwT3MwYldZcVk4?=
 =?utf-8?B?RERtbExhZnNHTS9BM08vVHlNMVpQeE1PS3hIeFI4WE5ZNTZBWkpkYXZ0NTBK?=
 =?utf-8?B?emxpVzNSaUQrcGtaRjZGQTFOVU1LMFhQRGluSEc2ZUJBc2ovZHA4Qnk2NHpL?=
 =?utf-8?B?WjJrNjJwVG1NWnZqWU0wWmlMVDhhNzFjcFJOWDRoVC83eE9ZcFNYVXZHdjF3?=
 =?utf-8?B?RW1GdHN3ekZFVmM0ci9vWUlUUDA0dlI0OGs0c1d4YVllbGFMSDNURzRxNXFm?=
 =?utf-8?B?K1lYQ3dQTVRuVjl6QUlLZ1JiZUJlY3o4TVlha21XRmxoMnVrSlFqN3dsc0lH?=
 =?utf-8?B?TGVGcWx6dzdkT1NZazNOc0JWVEtydUZUWE1vL3RIcXlJbGRVMkVpSEh6T2Jy?=
 =?utf-8?B?ZXRMK21ESWVQWXVHY0ptc3RXV1pLdVFrV1BHVVp3MTI3UmJ1SEZ6eTEyMm90?=
 =?utf-8?B?eGdOdmhnZFd3VGlGUFR0Wlo0RDZCUEM5UVA4NWR6QlpTM2toYzluaURKR21m?=
 =?utf-8?B?VmI5b2hUamtqMnZIbmgvTFQ3TGVIQ0dJY2h1Q3hmRmMzN0pmM0VEOGZYa1hE?=
 =?utf-8?B?ak5YS3d2MGRJMVF3ZzJTMHB4dVZGTGtoeU5KWC8vTlJ1T1JrbTVTQ0NzcGxi?=
 =?utf-8?B?QTNPM1ZEd3ViVExIcjJkV2pJMUR1TUdVV1c5QlpHS09VSVB2UktzQ2hkNTVq?=
 =?utf-8?B?cHRpMVpNV0hZeXR6REorczhsdTlzdkYyNGxKNUtCTDR3VTNabjdDcmcydWIx?=
 =?utf-8?B?cjE5ajlmbE9xY1RmdmRNdkhpTVljNTJnTitQdGROaGNOZDBiVjV4ZVRvMG9J?=
 =?utf-8?B?ZHBvOEZnNlkzUkExcEVrakROYk1EV3l4cWlqUzA0amhMMWV3Z25aN1ZUbDUx?=
 =?utf-8?B?dHR5L2x0Y3pjWUp2MThqRk9Od2c4WkxheC8zdDlEdkN2ekRZSkNlUk8rMjh5?=
 =?utf-8?B?TDlzdHdybjVTSCtSaGFYeU4raU54Uk9YTG1WcUZpZTFLRUZ1ajhFWFFsU3JN?=
 =?utf-8?B?dWk4OHI5MG5BMEE4K2x1TG0xM0xvRHZHaXJSbXd6MHJpaGFKL3FBSGV0MERu?=
 =?utf-8?B?OEJycU5WYUZnKytYR3RtWEo5U1FkbTZ5QXpLcHh1eDV6Zjk1MGluNTBWaWQ5?=
 =?utf-8?B?WHVpMzFzOFczcG9vMEtyczlXdWZwVVc3akRYb1kxa3h3TzlZWHNaNUJOOFdv?=
 =?utf-8?B?RlF4cGhBOVZYV0JQZWVPSE5JZlVINnpZTklKakFOaHcxTzd6OHQ2a0VFckZZ?=
 =?utf-8?B?NVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Q0ZWWFBYMko3Y0IyR0xGeVh3eE5TVXFCUjQ1MUVzNnhKMWUrS1B0Y0daRXBr?=
 =?utf-8?B?N0pWc2k2UkRYa2h1SzY0Z0JyNlRUMXMxa2hQd0ZrdWphOU1jYXcrWEpPeHRK?=
 =?utf-8?B?OWQzbHQ0SkJWbGRzZDdXbk1jWDZxWFY5OEdCM0xXOG1NanA5Q25PTTl2L2Jx?=
 =?utf-8?B?UVIzSFhLWWJjSXJWNkRMYUNncWFvbGRyK2xHU1RlMDBvTjdQT3M2M3FoeldJ?=
 =?utf-8?B?c3lJa2V6V0ZZdVVFTy9nM1BiNFJ2NTlHWEFEUWhORnlqWkpEMkljTTJ1b0hr?=
 =?utf-8?B?bHNjN0E1SmZzRlQwSm1jekR4QVlYS2dmUTJHUGFHRUpQcWFINkVXMGwzU2xl?=
 =?utf-8?B?Zmp3dUhRMHM1UnNKdVl0aHgrS1Z5ejIwOFh4TzgrQklhWFdTV2FTV2cwMHBR?=
 =?utf-8?B?R0lhOG05TVMwK0w0eUprWVVjcDB2Q1NNbHVTMDViMThUSFhWZFNQa0t3a3dP?=
 =?utf-8?B?bWVKcWhIbUtFZW5zUStSQ1lPVkFiUi9UdGR3ZmZJT1FDVzdhUmFjNXVGNFpL?=
 =?utf-8?B?d3ZoMEpEWk93eGlSZEh5Mmo2QWxFeVdEVGZLUUgyTFo2OGpVN2xUZU5pY3Nn?=
 =?utf-8?B?dkNpL1JnK3RIbFhFeGVESmM1clpRNHZtQk1zMmEzWDJWNkRjcGtlazdCVTRp?=
 =?utf-8?B?bkdyUTRTWHhwUEFHZTZUL2RLejJnVnQ2bno1RmR0N1FqMWlMT2g4bXc0eFB3?=
 =?utf-8?B?b3MrNnh6R0oxQUJidE9NZzlVWkRJdFlvanZqNHZZcnNHQThySTBlS1E3RXc4?=
 =?utf-8?B?TXJKdFc0UWNkVWxoNXh3SStwYStOcS9DVzZuNkgxUDFTbWlYQjl0VTd1VXVI?=
 =?utf-8?B?dHFVQ3FBMXN2Q2dBSnZVcDdySXRVc3FqMEkvS2N5SG90citFOWw1RG1ldW9Q?=
 =?utf-8?B?S2Fjd09qSHVJd213U2kwQkdVZmQ0VStnMTlvd0gvaGg3UlphbTc1cHRkZnpZ?=
 =?utf-8?B?Y3FPMWEwKzdjWmJHNzZsbFBYY25Md3VmSTRJbTByNVhSdndwdVV3b2RYZm5P?=
 =?utf-8?B?S2IxTURIeHdsK1o4TWxPVzJYNHRmTnA2Vk9jcFNiTE9oNWFrMXZKbTEySnZM?=
 =?utf-8?B?N2tyamhjSjhxemhtREZxTXVkbUJRVWtDa3paSUJwd0hXNGhqelVaeFREWGx0?=
 =?utf-8?B?UFVxVlJjd1ZqT0RHdTZrdXRKZ3RjNjkwbFpwV3BIWXFINEVkR0U3VXNVaFU0?=
 =?utf-8?B?V0d0NDR5alE5L2doQlprYlM4TFpYQ094V1J6cDBXeFcwZUZub2hXTXVML0hM?=
 =?utf-8?B?emFmMVF0NzNWbE9NUFB4L1JtSjVLdmlNRVdVYWR2T01jTi9BRnpMQlVEcjly?=
 =?utf-8?Q?PVCuDdW2YRHPD7XAIKYZT2mbW7Ir0ILP5b?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f492d36f-6406-4ade-a4d7-08db94cd542f
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 09:29:40.8439
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sz4nwb0J3qAI2HKXCSlXyJmxA9L7y9JkcMPRmE2h1mtyRyIH3NPmNG9n2O2uK5uT3ZO/xcDCOT8xdgxkkXELxEcJEZUM21suzi2ZnwXWShs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5800

On 04/08/2023 8:23 am, Jan Beulich wrote:
> On 03.08.2023 22:36, Andrew Cooper wrote:
>> The opensuse-tumbleweed build jobs currently fail with:
>>
>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>>      56 |   if (!key->p || !key->q || !key->u) {
>>         |       ^
>>   In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>>      28 |   tpm_bn_t p;
>>         |            ^
>>
>> This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
>> OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
>> but that's not what the code does.
> Looking at the code, I'm not sure about this. There could as well have been
> the intention to allow pointers there, then permitting them to be left at
> NULL. Who knows where that code came from originally.

Do you agree that the patch is no function change, or are you saying
that you think I got some of my analysis wrong?

>
>> Adjust it to compile.  No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: George Dunlap <George.Dunlap@eu.citrix.com>
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Wei Liu <wl@xen.org>
>> CC: Julien Grall <julien@xen.org>
>> CC: Juergen Gross <jgross@suse.com>
>> CC: Marek Marczykowski-GĂ³recki <marmarek@invisiblethingslab.com>
>> CC: Jason Andryuk <jandryuk@gmail.com>
>> CC: Daniel Smith <dpsmith@apertussolutions.com>
>> CC: Christopher Clark <christopher.w.clark@gmail.com>
>>
>> While I've confirmed this to fix the build issue:
>>
>>   https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430
>>
>> I'm -1 overall to the change, and would prefer to disable vtpm-stubdom
>> entirely.
>>
>> It's TPM 1.2 only, using decades-old libs, and some stuff in the upstream
>> https://github.com/PeterHuewe/tpm-emulator (which is still abandaonded as of
>> 2018) is just as concerning as the basic error here in rsa_private().
>>
>> vtpm-stubdom isn't credibly component of a Xen system, and we're wasting loads
>> of CI cycles testing it...
> Question is whether people might be using it, and I'm afraid that's a
> question we can't answer. Would it be an alternative to disable vtpm in
> this container's stubdom configure invocation? Obviously as other
> containers have their compilers updated, the same issue may surface
> there then ...

Well that's why I CC'd some of the usual suspects, but all I'm
suggesting (for now) is that we turn it off by default.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:34:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577027.903818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrCj-0006O8-53; Fri, 04 Aug 2023 09:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577027.903818; Fri, 04 Aug 2023 09: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 1qRrCj-0006O1-2F; Fri, 04 Aug 2023 09:34:41 +0000
Received: by outflank-mailman (input) for mailman id 577027;
 Fri, 04 Aug 2023 09: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRrCh-0006Nv-Cv
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:34:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20c596b0-32aa-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 11:34:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C2CFA1F8AE;
 Fri,  4 Aug 2023 09:34:36 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9E6D213904;
 Fri,  4 Aug 2023 09:34:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KMNKJSzGzGSlGgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 09: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: 20c596b0-32aa-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691141676; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=A82bLYqaz93UDvSrWKnOK89kLHiJz3SDvPNd6oqJhkE=;
	b=H3wh3pQXiChcTRJeSC/yDJxLqbos6gFPCJwO/EIyysjOLARGrqnUxYAD0sevi9P/ZRjwpF
	1JlgPCK5HuA2Q154Q7xlvDuDx88aWAeaJ4ixc5r+jSMhZxgXQrpNN5VEQikgjsoQxbY1Hc
	twqeN+Jzh4lW0QJwTARVhjy+JdIL+NE=
Message-ID: <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
Date: Fri, 4 Aug 2023 11:34:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
 <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------wBl4XspPGxdVBxCVMQxYoWXl"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------wBl4XspPGxdVBxCVMQxYoWXl
Content-Type: multipart/mixed; boundary="------------8s0ihwnIigIEkLv0llY3wiHr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
 <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
In-Reply-To: <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>

--------------8s0ihwnIigIEkLv0llY3wiHr
Content-Type: multipart/mixed; boundary="------------OgudeLWwb2kPZEqUPTdWYkY3"

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

T24gMDQuMDguMjMgMTE6MjEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAwNC8wOC8yMDIzIDEwOjE3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDMuMDgu
MjMgMjM6MzYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSwNCj4+Pg0KPj4+IE9uIDI0
LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IGRpZmYgLS1naXQg
YS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfd2F0Y2guYyANCj4+Pj4gYi90b29scy94ZW5z
dG9yZS94ZW5zdG9yZWRfd2F0Y2guYw0KPj4+PiBpbmRleCA4NmNmODMyMmI0Li4yNjYyYTNm
YTQ5IDEwMDY0NA0KPj4+PiAtLS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfd2F0Y2gu
Yw0KPj4+PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfd2F0Y2guYw0KPj4+PiBA
QCAtMTY2LDE5ICsxNjYsMTIgQEAgc3RhdGljIGludCBkZXN0cm95X3dhdGNoKHZvaWQgKl93
YXRjaCkNCj4+Pj4gwqAgc3RhdGljIGludCBjaGVja193YXRjaF9wYXRoKHN0cnVjdCBjb25u
ZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqKnBhdGgsIGJvb2wgKnJlbGF0aXZlKQ0K
Pj4+PiDCoCB7DQo+Pj4+IC3CoMKgwqAgLyogQ2hlY2sgaWYgdmFsaWQgZXZlbnQuICovDQo+
Pj4+IC3CoMKgwqAgaWYgKHN0cnN0YXJ0cygqcGF0aCwgIkAiKSkgew0KPj4+PiAtwqDCoMKg
wqDCoMKgwqAgKnJlbGF0aXZlID0gZmFsc2U7DQo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAo
c3RybGVuKCpwYXRoKSA+IFhFTlNUT1JFX1JFTF9QQVRIX01BWCkNCj4+Pj4gLcKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgZ290byBpbnZhbDsNCj4+Pg0KPj4+IEkgY2FuJ3QgZmluZCBhbiBl
eGFjdCBtYXRjaGluZyBjaGVjayBpbiBpc192YWxpZF9ub2RlbmFtZSgpLiBUaGUgY2FsbCBh
bHNvIA0KPj4+IHNlZW1zIHRvIHB1dCBtb3JlIHJlc3RyaWN0aW9uIG9uICdAJyBub2RlLiBD
YW4geW91IGNsYXJpZnk/DQo+Pg0KPj4gVGhlIGNhbGwgb2YgZG9tYWluX21heF9jaGsoKSBp
biBpc192YWxpZF9ub2RlbmFtZSgpIHdpbGwgY2hlY2sgdGhlIGxlbmd0aA0KPj4gb2YgdGhl
IG5vZGUgbmFtZSAoYXQgbGVhc3QgZm9yIHVucHJpdmlsZWdlZCBjYWxsZXJzLCB3aGljaCBp
cyB0aGUgaW1wb3J0YW50DQo+PiBjYXNlKS4NCj4gDQo+IFJpZ2h0LCBidXQgZnJvbSBteSB1
bmRlcnN0YW5kaW5nLCB0aGlzIG1heSBub3QgY2hlY2sgYWdhaW5zdCANCj4gWEVOU1RPUkVf
UkVMX1BBVEhfTUFYIGJ1dCB3aGF0ZXZlciBsaW1pdCB0aGUgdXNlciBzZXQuDQoNClllcywg
YW5kIHRoYXQncyB3aGF0IHNob3VsZCBiZSB0ZXN0ZWQsIHJpZ2h0PyBJIGRvbid0IHNlZSB3
aHkgc3BlY2lhbCBub2Rlcw0Kc2hvdWxkIG5vdCBhZGhlcmUgdG8gdGhlIHNhbWUgbGltaXRz
IGFzIG90aGVyIG5vZGVzLiBJbiBjYXNlIGFuIHVucHJpdmlsZWdlZA0KdXNlciBzaG91bGQg
aGF2ZSBhY2Nlc3MgdG8gc3BlY2lhbCBub2RlcywgdGhlIGxpbWl0cyBzaG91bGRuJ3QgaGlu
ZGVyIHRoZQ0KdXNlciB0byBhY2Nlc3MgdGhvc2Ugbm9kZXMgKHNldHRpbmcgYSBsaW1pdCBi
ZWxvdyAxNSB3b3VsZCBiZSByaWRpY3Vsb3VzDQphbnl3YXksIGFuZCB0aGF0IGlzIHRoZSBs
ZW5ndGggb2YgbG9uZ2VzdCBzcGVjaWFsIG5vZGUgbmFtZSB0b2RheSkuDQoNCj4gVGhpcyBp
cyBhIGNoYW5nZSBvZiBiZWhhdmlvciB0aGF0IHlvdSBvdWdodCB0byBiZSBleHBsYWluZWQu
DQo+IA0KPj4NCj4+IFRoZSBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyBmb3Igc3BlY2lhbCBu
b2RlcyBhcmU6DQo+Pg0KPj4gLSB0aGV5IGNhbid0IGVuZCB3aXRoICIvIg0KPj4gLSB0aGV5
IGNhbid0IGNvbnRhaW4gIi8vIg0KPj4gLSB0aGV5IGNhbid0IGNvbnRhaW4gY2hhcmFjdGVy
cyBvdGhlciB0aGFuIHRoZSBvbmVzIGFsbG93ZWQgZm9yIG5vcm1hbCBub2Rlcw0KPj4NCj4+
IE5vbmUgb2YgdGhvc2UgcmVzdHJpY3Rpb25zIGFyZSBwcm9ibGVtYXRpYy4gSSBjYW4gYWRk
IHNvbWV0aGluZyB0byB0aGUNCj4+IGNvbW1pdCBtZXNzYWdlIGlmIHlvdSB3YW50Lg0KPiAN
Cj4gWWVzIHBsZWFzZS4NCg0KSnVlcmdlbg0KDQo=
--------------OgudeLWwb2kPZEqUPTdWYkY3
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------OgudeLWwb2kPZEqUPTdWYkY3--

--------------8s0ihwnIigIEkLv0llY3wiHr--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTMxiwFAwAAAAAACgkQsN6d1ii/Ey+P
Jgf+I9lnIFNC6LtcamtZDQjCtMnCo/A1rLm9c6w6MahURiCfIgJPTWK34Yct5tUh8R3Lm3zRKiJc
v951iUKNufkJGvPuosp0hCJnXrWpJ0/oTT/Sh8LPGUjCxlIq4nfOE443sot9HHQ02xQIuesPUAjz
6/TbIUNge2adDhu50I33JOBLjE1Uz6fgGKK2CmauOj6PO1eAFYFsE2SAr8uJPqIdnF3QszKGReU4
fZTDeK0euZC2ZVmLpZDkU3c1FrhPs4ZS4Ob/wCNPV7M3NA4sJaR++BVip3+aRVOmFC25aDKSvtS1
KxMMRoLHLvO9NV9QW4un2+sbRAaLOma60EgdyJmfzg==
=FYC/
-----END PGP SIGNATURE-----

--------------wBl4XspPGxdVBxCVMQxYoWXl--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:35:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577029.903828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrDE-0006vi-D5; Fri, 04 Aug 2023 09:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577029.903828; Fri, 04 Aug 2023 09:35:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrDE-0006vb-AY; Fri, 04 Aug 2023 09:35:12 +0000
Received: by outflank-mailman (input) for mailman id 577029;
 Fri, 04 Aug 2023 09: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRrDC-0006Nv-5a
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:35:10 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33418d94-32aa-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 11:35:08 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 02A6121850;
 Fri,  4 Aug 2023 09:35:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CA9A613904;
 Fri,  4 Aug 2023 09:35:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fhTQL0vGzGTiGgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 09: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>
X-Inumbo-ID: 33418d94-32aa-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691141708; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=w7LLnOp8LCthZbY696Byjs4KFF/n5P3CrUO7UZIttrU=;
	b=Gp/pROm+/dKAhCOylqHdW9J8GJ2JgVIZ9b+e+ymcIKHXQRBooV1vHDk+flluSRebowQCAU
	Den/CEnvaV9FQwSx6co5HoVaE2pUpEeVYCRiowb71LFpZIIpoadipdmdTFzlvVpdZgMzHp
	cUU+sv3ygol6jN7Smu2KuM+jh3TdKlA=
Message-ID: <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
Date: Fri, 4 Aug 2023 11:35:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
In-Reply-To: <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------MSBXNsa07h0I5Zi0x2e2rg42"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------MSBXNsa07h0I5Zi0x2e2rg42
Content-Type: multipart/mixed; boundary="------------GqtWKLDOehE7LWmdWF8ZYshW";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
In-Reply-To: <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>

--------------GqtWKLDOehE7LWmdWF8ZYshW
Content-Type: multipart/mixed; boundary="------------lovGiV5xcwSCiRO9WbGhT5zC"

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

T24gMDMuMDguMjMgMjM6NDYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAyNC8wNy8yMDIzIDEyOjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVG9kYXkgaXNf
dmFsaWRfbm9kZW5hbWUoKSBpcyBhbHdheXMgY2FsbGVkIGRpcmVjdGx5IGFmdGVyIGNhbGxp
bmcNCj4+IGNhbm9uaWNhbGl6ZSgpLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgZG9fdW53YXRj
aCgpLCB3aGVyZSB0aGUgY2FsbA0KPj4gaXMgbWlzc2luZyAod2hpY2ggaXMgbm90IGNvcnJl
Y3QsIGJ1dCByZXN1bHRzIGp1c3QgaW4gYSB3cm9uZyBlcnJvcg0KPj4gcmVhc29uIGJlaW5n
IHJldHVybmVkKS4NCj4gDQo+IFdoaWxlIHRoaXMgY2hhbmdlIG1ha2VzIHNlbnNlLi4uDQo+
IA0KPj4NCj4+IE1lcmdlIGlzX3ZhbGlkX25vZGVuYW1lKCkgaW50byBjYW5vbmljYWxpemUo
KS4gV2hpbGUgYXQgaXQgbWVyZ2UNCj4+IHZhbGlkX2NoYXJzKCkgaW50byBpdCwgdG9vLg0K
PiANCj4gLi4uIEkgYW0gbm90IGluIGZhdm9yIG9mIGZvbGRpbmcgdGhlIGNvZGUgaXNfdmFs
aWRfbm9kZW5hbWUoKSBhbmQgdmFsaWRfY2hhcnMoKSANCj4gaW50byBjYW5vbmljYWxpemUo
KSBiZWNhdXNlIHRoZSBjb2RlIGlzIG5vdyBtb3JlIGRpZmZpY3VsdCB0byByZWFkLiBBbHNv
LCB0aGUgDQo+IGtlZXBpbmcgdGhlIHNwbGl0IHdvdWxkIGFsbG93IHRvIGZyZWUgdGhlICdu
YW1lJyBpbiBjYXNlIG9mIGFuIGVycm9yIHdpdGhvdXQgDQo+IGFkZGluZyB0b28gbXVjaCBn
b3RvIGluIHRoZSBjb2RlLg0KDQpJIGRvbid0IHRoaW5rIHdlIGNhbiBlYXNpbHkgZnJlZSBu
YW1lIGluIGFuIGVycm9yIGNhc2UsIGF0IHRoYXQgd291bGQgcmVxdWlyZQ0KdG8ga2VlcCBr
bm93bGVkZ2UgdGhhdCBuYW1lIHdhcyBqdXN0IGFsbG9jYXRlZCBpbiB0aGUgbm9uLWNhbm9u
aWNhbCBjYXNlLg0KDQo+IA0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gVjM6DQo+PiAtIG5ldyBwYXRjaA0KPj4g
LS0tDQo+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jwqAgfCA4OSArKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVu
c3RvcmVkX2NvcmUuaMKgIHzCoCA2ICstLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3Rv
cmVkX3dhdGNoLmMgfCAxNiArKy0tLS0NCj4+IMKgIDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5z
ZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xz
L3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRf
Y29yZS5jDQo+PiBpbmRleCBlYTVhMWE5Y2NlLi5lYzIwYmMwNDJkIDEwMDY0NA0KPj4gLS0t
IGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYw0KPj4gKysrIGIvdG9vbHMveGVu
c3RvcmUveGVuc3RvcmVkX2NvcmUuYw0KPj4gQEAgLTEyMTAsNDIgKzEyMTAsNiBAQCB2b2lk
IHNlbmRfYWNrKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBlbnVtIA0KPj4geHNkX3NvY2tt
c2dfdHlwZSB0eXBlKQ0KPj4gwqDCoMKgwqDCoCBzZW5kX3JlcGx5KGNvbm4sIHR5cGUsICJP
SyIsIHNpemVvZigiT0siKSk7DQo+PiDCoCB9DQo+PiAtc3RhdGljIGJvb2wgdmFsaWRfY2hh
cnMoY29uc3QgY2hhciAqbm9kZSkNCj4+IC17DQo+PiAtwqDCoMKgIC8qIE5vZGVzIGNhbiBo
YXZlIGxvdHMgb2YgY3JhcC4gKi8NCj4+IC3CoMKgwqAgcmV0dXJuIChzdHJzcG4obm9kZSwN
Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJBQkNERUZHSElKS0xNTk9QUVJT
VFVWV1hZWiINCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJhYmNkZWZnaGlq
a2xtbm9wcXJzdHV2d3h5eiINCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIw
MTIzNDU2Nzg5LS9fQCIpID09IHN0cmxlbihub2RlKSk7DQo+PiAtfQ0KPj4gLQ0KPj4gLWJv
b2wgaXNfdmFsaWRfbm9kZW5hbWUoY29uc3Qgc3RydWN0IGNvbm5lY3Rpb24gKmNvbm4sIGNv
bnN0IGNoYXIgKm5vZGUsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBib29s
IGFsbG93X3NwZWNpYWwpDQo+PiAtew0KPj4gLcKgwqDCoCBpbnQgbG9jYWxfb2ZmID0gMDsN
Cj4+IC3CoMKgwqAgdW5zaWduZWQgaW50IGRvbWlkOw0KPj4gLQ0KPj4gLcKgwqDCoCAvKiBN
dXN0IHN0YXJ0IGluIC8gb3IgLSBpZiBzcGVjaWFsIG5vZGVzIGFyZSBhbGxvd2VkIC0gaW4g
QC4gKi8NCj4+IC3CoMKgwqAgaWYgKCFzdHJzdGFydHMobm9kZSwgIi8iKSAmJiAoIWFsbG93
X3NwZWNpYWwgfHwgIXN0cnN0YXJ0cyhub2RlLCAiQCIpKSkNCj4+IC3CoMKgwqDCoMKgwqDC
oCByZXR1cm4gZmFsc2U7DQo+PiAtDQo+PiAtwqDCoMKgIC8qIENhbm5vdCBlbmQgaW4gLyAo
dW5sZXNzIGl0J3MganVzdCAiLyIpLiAqLw0KPj4gLcKgwqDCoCBpZiAoc3RyZW5kcyhub2Rl
LCAiLyIpICYmICFzdHJlcShub2RlLCAiLyIpKQ0KPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVy
biBmYWxzZTsNCj4+IC0NCj4+IC3CoMKgwqAgLyogTm8gZG91YmxlIC8vLiAqLw0KPj4gLcKg
wqDCoCBpZiAoc3Ryc3RyKG5vZGUsICIvLyIpKQ0KPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVy
biBmYWxzZTsNCj4+IC0NCj4+IC3CoMKgwqAgaWYgKHNzY2FuZihub2RlLCAiL2xvY2FsL2Rv
bWFpbi8lNXUvJW4iLCAmZG9taWQsICZsb2NhbF9vZmYpICE9IDEpDQo+PiAtwqDCoMKgwqDC
oMKgwqAgbG9jYWxfb2ZmID0gMDsNCj4+IC0NCj4+IC3CoMKgwqAgaWYgKGRvbWFpbl9tYXhf
Y2hrKGNvbm4sIEFDQ19QQVRITEVOLCBzdHJsZW4obm9kZSkgLSBsb2NhbF9vZmYpKQ0KPj4g
LcKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+IC0NCj4+IC3CoMKgwqAgcmV0dXJu
IHZhbGlkX2NoYXJzKG5vZGUpOw0KPj4gLX0NCj4+IC0NCj4+IMKgIC8qIFdlIGV4cGVjdCBv
bmUgYXJnIGluIHRoZSBpbnB1dDogcmV0dXJuIE5VTEwgb3RoZXJ3aXNlLg0KPj4gwqDCoCAq
IFRoZSBwYXlsb2FkIG11c3QgY29udGFpbiBleGFjdGx5IG9uZSBudWwsIGF0IHRoZSBlbmQu
DQo+PiDCoMKgICovDQo+PiBAQCAtMTI3OSwxNiArMTI0Myw0NiBAQCBzdGF0aWMgY2hhciAq
cGVybXNfdG9fc3RyaW5ncyhjb25zdCB2b2lkICpjdHgsIGNvbnN0IA0KPj4gc3RydWN0IG5v
ZGVfcGVybXMgKnBlcm1zLA0KPj4gwqAgfQ0KPj4gwqAgY29uc3QgY2hhciAqY2Fub25pY2Fs
aXplKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQo+PiAtwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5vZGUpDQo+PiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5vZGUsIGJvb2wgYWxsb3dfc3BlY2lhbCkN
Cj4+IMKgIHsNCj4+IC3CoMKgwqAgY29uc3QgY2hhciAqcHJlZml4Ow0KPj4gK8KgwqDCoCBj
aGFyICpuYW1lOw0KPj4gK8KgwqDCoCBpbnQgbG9jYWxfb2ZmID0gMDsNCj4+ICvCoMKgwqAg
dW5zaWduZWQgaW50IGRvbWlkOw0KPj4gLcKgwqDCoCBpZiAoIW5vZGUgfHwgKG5vZGVbMF0g
PT0gJy8nKSB8fCAobm9kZVswXSA9PSAnQCcpKQ0KPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVy
biBub2RlOw0KPj4gLcKgwqDCoCBwcmVmaXggPSBnZXRfaW1wbGljaXRfcGF0aChjb25uKTsN
Cj4+IC3CoMKgwqAgaWYgKHByZWZpeCkNCj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm4gdGFs
bG9jX2FzcHJpbnRmKGN0eCwgIiVzLyVzIiwgcHJlZml4LCBub2RlKTsNCj4+IC3CoMKgwqAg
cmV0dXJuIG5vZGU7DQo+PiArwqDCoMKgIGVycm5vID0gRUlOVkFMOw0KPj4gK8KgwqDCoCBp
ZiAoIW5vZGUpDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7DQo+PiArDQo+PiAr
wqDCoMKgIGlmIChzdHJzcG4obm9kZSwgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
ICIwMTIzNDU2Nzg5LS9fQCIpICE9IHN0cmxlbihub2RlKSkNCj4+ICvCoMKgwqDCoMKgwqDC
oCByZXR1cm4gTlVMTDsNCj4+ICsNCj4+ICvCoMKgwqAgaWYgKG5vZGVbMF0gPT0gJ0AnICYm
ICFhbGxvd19zcGVjaWFsKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPj4g
Kw0KPj4gK8KgwqDCoCBpZiAobm9kZVswXSAhPSAnLycgJiYgbm9kZVswXSAhPSAnQCcpIHsN
Cj4+ICvCoMKgwqDCoMKgwqDCoCBuYW1lID0gdGFsbG9jX2FzcHJpbnRmKGN0eCwgIiVzLyVz
IiwgZ2V0X2ltcGxpY2l0X3BhdGgoY29ubiksDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbm9kZSk7DQo+IA0KPiBUaGlzIGlzIGFsbG9jYXRl
ZCBidXQgbm90IGZyZWVkIG9uIGVycm9yLiBJIHVuZGVyc3RhbmQgdGhpcyBpcyBwYXJ0IG9m
IHRoZSANCj4gJ2N0eHQnIGFuZCB0aGVyZWZvcmUgd2lsbCBiZSBmcmVlIGxhdGVyIG9uLiBC
dXQgdGhpcyBtZWFucyB0ZW1wb3JhcnkgbWVtb3J5IHdpbGwgDQo+IGJlIGFsbG9jYXRlZCBm
b3IgbG9uZ2VyLiBTbyBiZXN0IHRvIGNsZWFuLXVwIHdoZW4geW91IGNhbi4NCg0KUmVhbGx5
Pw0KDQpJdCBpcyBwb3NzaWJsZSwgb2YgY291cnNlLCBidXQgaXQgaXMgYWRkaW5nIG1vcmUg
Y29kZSBjaHVybi4gUmVtZW1iZXIgdGhhdA0KIm5hbWUiIGlzIGFsbG9jYXRlZCBvbmx5IGlu
IGNhc2Ugb2YgYSByZWxhdGl2ZSBwYXRoLCBzbyBmcmVlaW5nIGl0IG5lZWRzDQp0byBiZSBj
b25kaXRpb25hbCwgdG9vICh5ZXMsIGl0IHdvdWxkIGJlIHBvc3NpYmxlIHZpYSBjb21wYXJp
bmcgbmFtZSB0byBub2RlKS4NCg0KSW4gY2FzZSB5b3Ugd2FudCBtZSB0byBnbyB0aGlzIHJv
dXRlLCBJIGNhbiByZWFycmFuZ2UgdGhlIGNvZGUgaW4gb3JkZXIgdG8NCmF2b2lkIG11bHRp
cGxlIGVycm9yIGV4aXRzIGJ5IGhhdmluZyBvbmx5IG9uZSBsYXJnZSBpZiAoKSB0ZXN0aW5n
IGZvciBhbGwNCnBvc3NpYmxlIHZpb2xhdGlvbnMuDQoNCj4gDQo+PiArwqDCoMKgwqDCoMKg
wqAgaWYgKCFuYW1lKQ0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7
DQo+PiArwqDCoMKgIH0gZWxzZQ0KPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWUgPSAoY2hhciAq
KW5vZGU7DQo+IA0KPiBXaHkgZG9lcyBuYW1lIG5lZWQgdG8gYmUgY29uc3Q/DQoNCkkgdGhp
bmsgdGhlIHF1ZXN0aW9uIHdhcyBwb3NlZCBpbiBhIHdyb25nIHdheS4gOi0pDQoNCkknbGwg
Y2hhbmdlIG5hbWUgdG8gYmUgY29uc3QgY2hhciAqLg0KDQoNCkp1ZXJnZW4NCg0K
--------------lovGiV5xcwSCiRO9WbGhT5zC
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------lovGiV5xcwSCiRO9WbGhT5zC--

--------------GqtWKLDOehE7LWmdWF8ZYshW--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTMxksFAwAAAAAACgkQsN6d1ii/Ey/K
rwf/YVlysIoK7vmG25Q4w5hor18SofMcxfmWcHGB/uikDke82b56ZnvvUQ1t50LeZBIpfrJBqXlT
Z0aw9yaVCjpDa3HMTttx17UpiCqiKIoOVR/mJv2WIwmUWgLU4uK9ZQCwPHogiSH5DJI/eqYudggr
EkdOM2Yq8Cpzl2xc1cBGYIY9ee6j7TfdvkWpCSy9CUvWylEt81+dcduR8i1G5kWoM1Dl4j8YE25v
EBjtpO7wjAH4X/ExBImw4tLF/zI14pkMNGo65uB6ourwC7N0IcG7w7mbXUzHqQB/U4bvqMx716Mc
LMP0Wx35Ip6rV/2WLdzG5eQGfIIfKiB3PzRDDpc7ww==
=mtdd
-----END PGP SIGNATURE-----

--------------MSBXNsa07h0I5Zi0x2e2rg42--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:38:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577035.903839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrGd-0007aV-UC; Fri, 04 Aug 2023 09:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577035.903839; Fri, 04 Aug 2023 09: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 1qRrGd-0007aO-QU; Fri, 04 Aug 2023 09:38:43 +0000
Received: by outflank-mailman (input) for mailman id 577035;
 Fri, 04 Aug 2023 09:38: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=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRrGd-0007aI-AQ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:38:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2c867a7-32aa-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:38:42 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 5F7C54EE0737;
 Fri,  4 Aug 2023 11:38:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2c867a7-32aa-11ee-b26b-6b7b168915f2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] x86/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Fri,  4 Aug 2023 11:38:35 +0200
Message-Id: <c690d653a6fc2dd9cd0d1aa3b204d6ac7fb12ed6.1691141621.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters to address violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between parameter names used in function
declarations and the ones used in the corresponding function
definitions, thus addressing violations of MISRA C:2012 Rule 8.3
("All declarations of an object or function shall use the same names
and type qualifiers").

No functional changes.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/mm.h | 20 ++++++++++----------
 xen/arch/x86/mm.c             | 33 ++++++++++++++++++---------------
 2 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index db29e3e205..1e2d8c1a65 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -408,7 +408,7 @@ void put_page_type(struct page_info *page);
 int  get_page_type(struct page_info *page, unsigned long type);
 int  put_page_type_preemptible(struct page_info *page);
 int  get_page_type_preemptible(struct page_info *page, unsigned long type);
-int  put_old_guest_table(struct vcpu *);
+int  put_old_guest_table(struct vcpu *v);
 int  get_page_from_l1e(
     l1_pgentry_t l1e, struct domain *l1e_owner, struct domain *pg_owner);
 void put_page_from_l1e(l1_pgentry_t l1e, struct domain *l1e_owner);
@@ -559,7 +559,7 @@ void audit_domains(void);
 
 void make_cr3(struct vcpu *v, mfn_t mfn);
 void update_cr3(struct vcpu *v);
-int vcpu_destroy_pagetables(struct vcpu *);
+int vcpu_destroy_pagetables(struct vcpu *v);
 void *do_page_walk(struct vcpu *v, unsigned long addr);
 
 /* Allocator functions for Xen pagetables. */
@@ -574,20 +574,20 @@ int __sync_local_execstate(void);
 /* Arch-specific portion of memory_op hypercall. */
 long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
 long subarch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
-int compat_arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void));
-int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void));
+int compat_arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg);
+int compat_subarch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
 
 #define NIL(type) ((type *)-sizeof(type))
 #define IS_NIL(ptr) (!((uintptr_t)(ptr) + sizeof(*(ptr))))
 
-int create_perdomain_mapping(struct domain *, unsigned long va,
-                             unsigned int nr, l1_pgentry_t **,
-                             struct page_info **);
-void destroy_perdomain_mapping(struct domain *, unsigned long va,
+int create_perdomain_mapping(struct domain *d, unsigned long va,
+                             unsigned int nr, l1_pgentry_t **pl1tab,
+                             struct page_info **ppg);
+void destroy_perdomain_mapping(struct domain *d, unsigned long va,
                                unsigned int nr);
-void free_perdomain_mappings(struct domain *);
+void free_perdomain_mappings(struct domain *d);
 
-void __iomem *ioremap_wc(paddr_t, size_t);
+void __iomem *ioremap_wc(paddr_t pa, size_t len);
 
 extern int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm);
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index be2b10a391..e1d9b94007 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5591,7 +5591,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
  *
  * It is an error to call with present flags over an unpopulated range.
  */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
 {
     bool locking = system_state > SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL;
@@ -5604,7 +5604,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
-    nf &= FLAGS_MASK;
+    flags &= FLAGS_MASK;
 
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
     ASSERT(IS_ALIGNED(e, PAGE_SIZE));
@@ -5628,7 +5628,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
         if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) )
         {
             /* Confirm the caller isn't trying to create new mappings. */
-            ASSERT(!(nf & _PAGE_PRESENT));
+            ASSERT(!(flags & _PAGE_PRESENT));
 
             v += 1UL << L3_PAGETABLE_SHIFT;
             v &= ~((1UL << L3_PAGETABLE_SHIFT) - 1);
@@ -5645,9 +5645,10 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
                  ((e - v) >= (1UL << L3_PAGETABLE_SHIFT)) )
             {
                 /* PAGE1GB: whole superpage is modified. */
-                l3_pgentry_t nl3e = !(nf & _PAGE_PRESENT) ? l3e_empty()
+                l3_pgentry_t nl3e = !(flags & _PAGE_PRESENT) ? l3e_empty()
                     : l3e_from_pfn(l3e_get_pfn(*pl3e),
-                                   (l3e_get_flags(*pl3e) & ~FLAGS_MASK) | nf);
+                                   (l3e_get_flags(*pl3e) & ~FLAGS_MASK) |
+                                    flags);
 
                 l3e_write_atomic(pl3e, nl3e);
                 v += 1UL << L3_PAGETABLE_SHIFT;
@@ -5691,7 +5692,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
         if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) )
         {
             /* Confirm the caller isn't trying to create new mappings. */
-            ASSERT(!(nf & _PAGE_PRESENT));
+            ASSERT(!(flags & _PAGE_PRESENT));
 
             v += 1UL << L2_PAGETABLE_SHIFT;
             v &= ~((1UL << L2_PAGETABLE_SHIFT) - 1);
@@ -5704,9 +5705,10 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
                  ((e-v) >= (1UL << L2_PAGETABLE_SHIFT)) )
             {
                 /* PSE: whole superpage is modified. */
-                l2_pgentry_t nl2e = !(nf & _PAGE_PRESENT) ? l2e_empty()
+                l2_pgentry_t nl2e = !(flags & _PAGE_PRESENT) ? l2e_empty()
                     : l2e_from_pfn(l2e_get_pfn(*pl2e),
-                                   (l2e_get_flags(*pl2e) & ~FLAGS_MASK) | nf);
+                                   (l2e_get_flags(*pl2e) & ~FLAGS_MASK) |
+                                    flags);
 
                 l2e_write_atomic(pl2e, nl2e);
                 v += 1UL << L2_PAGETABLE_SHIFT;
@@ -5756,11 +5758,11 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
 
             /* Confirm the caller isn't trying to create new mappings. */
             if ( !(l1e_get_flags(*pl1e) & _PAGE_PRESENT) )
-                ASSERT(!(nf & _PAGE_PRESENT));
+                ASSERT(!(flags & _PAGE_PRESENT));
 
-            nl1e = !(nf & _PAGE_PRESENT) ? l1e_empty()
+            nl1e = !(flags & _PAGE_PRESENT) ? l1e_empty()
                 : l1e_from_pfn(l1e_get_pfn(*pl1e),
-                               (l1e_get_flags(*pl1e) & ~FLAGS_MASK) | nf);
+                               (l1e_get_flags(*pl1e) & ~FLAGS_MASK) | flags);
 
             l1e_write_atomic(pl1e, nl1e);
             UNMAP_DOMAIN_PAGE(pl1e);
@@ -5770,7 +5772,8 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
              * If we are not destroying mappings, or not done with the L2E,
              * skip the empty&free check.
              */
-            if ( (nf & _PAGE_PRESENT) || ((v != e) && (l1_table_offset(v) != 0)) )
+            if ( (flags & _PAGE_PRESENT) ||
+                 ((v != e) && (l1_table_offset(v) != 0)) )
                 continue;
             if ( locking )
                 spin_lock(&map_pgdir_lock);
@@ -5817,7 +5820,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
          * If we are not destroying mappings, or not done with the L3E,
          * skip the empty&free check.
          */
-        if ( (nf & _PAGE_PRESENT) ||
+        if ( (flags & _PAGE_PRESENT) ||
              ((v != e) && (l2_table_offset(v) + l1_table_offset(v) != 0)) )
             continue;
         if ( locking )
@@ -5892,14 +5895,14 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
  * a problem.
  */
 void init_or_livepatch modify_xen_mappings_lite(
-    unsigned long s, unsigned long e, unsigned int _nf)
+    unsigned long s, unsigned long e, unsigned int flags)
 {
     unsigned long v = s, fm, nf;
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
     fm = put_pte_flags(FLAGS_MASK);
-    nf = put_pte_flags(_nf & FLAGS_MASK);
+    nf = put_pte_flags(flags & FLAGS_MASK);
 #undef FLAGS_MASK
 
     ASSERT(nf & _PAGE_PRESENT);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:44:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:44:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577041.903849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrMM-0000fj-NW; Fri, 04 Aug 2023 09:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577041.903849; Fri, 04 Aug 2023 09: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 1qRrMM-0000fc-Kp; Fri, 04 Aug 2023 09:44:38 +0000
Received: by outflank-mailman (input) for mailman id 577041;
 Fri, 04 Aug 2023 09:44: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 1qRrML-0000fV-K0
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:44: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 1qRrMK-0006ka-GS; Fri, 04 Aug 2023 09:44:36 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRrMK-0006ak-AC; Fri, 04 Aug 2023 09:44:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=NCJ1b1+wHISTkZB52wYXr5NBVE0+9hyIcRHv9sK+iKQ=; b=kFZwfE0if/mnqhU4ya97A2ECax
	disjQKlufw2z/Xr8SzRvrEovfJb4d1zNZ4F4YhCe1Ns9OfO6u8V9JO5R1w6h7fpv/cBZwGw5+yvnY
	cpQVGL+PrlpcPEqM2CAy6BqyxGEkDmEfJx/Jm0g5A4HkTx3YWGMpwo6NqYKoZZUpNM64=;
Message-ID: <c6100033-4998-48aa-a9f3-a0bf2698ef49@xen.org>
Date: Fri, 4 Aug 2023 10:44:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
 <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
 <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 04/08/2023 10:34, Juergen Gross wrote:
> On 04.08.23 11:21, Julien Grall wrote:
>> Hi,
>>
>> On 04/08/2023 10:17, Juergen Gross wrote:
>>> On 03.08.23 23:36, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 24/07/2023 12:02, Juergen Gross wrote:
>>>>> diff --git a/tools/xenstore/xenstored_watch.c 
>>>>> b/tools/xenstore/xenstored_watch.c
>>>>> index 86cf8322b4..2662a3fa49 100644
>>>>> --- a/tools/xenstore/xenstored_watch.c
>>>>> +++ b/tools/xenstore/xenstored_watch.c
>>>>> @@ -166,19 +166,12 @@ static int destroy_watch(void *_watch)
>>>>> Â  static int check_watch_path(struct connection *conn, const void 
>>>>> *ctx,
>>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const char **path, bool *relative)
>>>>> Â  {
>>>>> -Â Â Â  /* Check if valid event. */
>>>>> -Â Â Â  if (strstarts(*path, "@")) {
>>>>> -Â Â Â Â Â Â Â  *relative = false;
>>>>> -Â Â Â Â Â Â Â  if (strlen(*path) > XENSTORE_REL_PATH_MAX)
>>>>> -Â Â Â Â Â Â Â Â Â Â Â  goto inval;
>>>>
>>>> I can't find an exact matching check in is_valid_nodename(). The 
>>>> call also seems to put more restriction on '@' node. Can you clarify?
>>>
>>> The call of domain_max_chk() in is_valid_nodename() will check the 
>>> length
>>> of the node name (at least for unprivileged callers, which is the 
>>> important
>>> case).
>>
>> Right, but from my understanding, this may not check against 
>> XENSTORE_REL_PATH_MAX but whatever limit the user set.
> 
> Yes, and that's what should be tested, right? I don't see why special nodes
> should not adhere to the same limits as other nodes. In case an 
> unprivileged
> user should have access to special nodes, the limits shouldn't hinder the
> user to access those nodes (setting a limit below 15 would be ridiculous
> anyway, and that is the length of longest special node name today).
I don't mind you want to test against a different value. My point is 
more that you didn't mention that the limit will be changed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:47:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577044.903859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrOl-0001Gn-4D; Fri, 04 Aug 2023 09:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577044.903859; Fri, 04 Aug 2023 09:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrOl-0001Gg-16; Fri, 04 Aug 2023 09:47:07 +0000
Received: by outflank-mailman (input) for mailman id 577044;
 Fri, 04 Aug 2023 09:47:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRrOj-0001GZ-JU
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:47:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de4f5510-32ab-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:47:04 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 40B994EE0737;
 Fri,  4 Aug 2023 11:47: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: de4f5510-32ab-11ee-b26b-6b7b168915f2
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 11:47:04 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Michal Orzel <michal.orzel@amd.com>,
 xenia.ragiadakou@amd.com, Ayan Kumar Halder <ayankuma@amd.com>,
 consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <00fb1a58849ec08534465df2f8ca2284@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 04/08/2023 02:35, Stefano Stabellini wrote:
> I think that's OK for me. My only concern is that we should track the
> project-wide deviations properly somewhere besides the ECLAIR
> configuration under xen.git which is ECLAIR specific. So far we used 
> the
> notes in docs/misra/rules.rst. I don't know if that sufficient, but we
> could add a note for 8.4:
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 8f0e4d3f25..5977bc9d5e 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -245,7 +245,8 @@ maintainers if you want to suggest a change.
>       - Required
>       - A compatible declaration shall be visible when an object or
>         function with external linkage is defined
> -     -
> +     - No need for declarations when functions are only called from
> +       assembly
> 
>     * - `Rule 8.5
> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_05_2.c>`_
>       - Required
> 
> 
> On Thu, 3 Aug 2023, Nicola Vetrini wrote:
>> The headline of Rule 8.4 is as follows:
>> "A compatible declaration shall be visible when an object or
>> function with external linkage is defined".
>> 
>> Some functions reported in [1][2] are lacking a declaration in the 
>> respective
>> header files;
>> as remarked on xen-devel's IRC channel, this is ok since they are only 
>> called
>> from asm code (e.g., start_xen). A similar discussion
>> had taken place in the past (see [3]) and the general consensus was to 
>> deviate
>> these cases.
>> If that is still the case, a suitable project-wide deviation can be 
>> added to
>> address these violations.
>> 
>> [1]
>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
>> [2]
>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/210/PROJECT.ecd;/by_service/MC3R1.R8.4.html
>> [3] 
>> https://lore.kernel.org/all/20220705210218.483854-2-burzalodowa@gmail.com/
>> 

Upon further examination, I identified the following patterns:

1. Functions defined in .c called only from asm code (e.g., the already 
mentioned __start_xen)
2. Functions/variables declared in a .h, defined in a .c that does not 
include the .h with the declaration
(e.g., 'fill_console_start_info' is defined in 'xen/drivers/vga.c', 
declared in 'xen/include/xen/console.h' which is not visible when 
compiling the .c).
3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in 
'xen/include/acpi/acglobal.h', depending on
    DEFINE_ACPI_GLOBALS

Below are the proposed resolution strategies:

1. I would advise to add the declaration in the relative .h, to support 
automatic consistency checks with the
    implementation and a quick reference when touching the asm.
2. To comply with the rule, the header with the declaration should be 
included. Also note that there are some
    corner cases, such as 'get_sec', which is used in 'cper.h' without 
including 'time.h' (which should gain a
    declaration for it).
3. One possible resolution pattern is including 'acglobal.h' twice 
(either directly or indirectly trough acpi.h, if
    the latter does not cause other issues) like so:

    (assuming DEFINE_ACPI_GLOBALS is undefined here)
    #include "acglobal.h"
    #define DEFINE_ACPI_GLOBALS
    #include  "acglobal.h"

   this way, the rule is followed properly, though it's not the prettiest 
pattern and also clashes with the objectives
   of D4.10 ("Precautions shall be taken in order to prevent the contents 
of a header file being included
   more than once"), but then a motivated exception is allowed there.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:47:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577049.903869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrPa-0001pl-E8; Fri, 04 Aug 2023 09:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577049.903869; Fri, 04 Aug 2023 09:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrPa-0001pe-BC; Fri, 04 Aug 2023 09:47:58 +0000
Received: by outflank-mailman (input) for mailman id 577049;
 Fri, 04 Aug 2023 09:47: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=ccdb=DV=citrix.com=prvs=573ccd360=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRrPY-0001GZ-TG
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:47:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb9378ea-32ab-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:47:55 +0200 (CEST)
Received: from mail-dm6nam12lp2170.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2023 05:47:50 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6484.namprd03.prod.outlook.com (2603:10b6:806:1c3::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 09:47:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Fri, 4 Aug 2023
 09:47:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb9378ea-32ab-11ee-b26b-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691142475;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LlozT63uJQfEEKd2bN/UL5TpghzcwSID1/2QYhUx/EM=;
  b=GTMyPqZ2IVIjDXrpUczrDlBpEIY1S9WgXApB7ZKMmfVO1PaMqx45R8tp
   bVquRCLwjCthd9cuiewHH6tejHAqpaKq2vyg1vOr2jlimzupBsu3jEhw/
   Ed1AJh/M2uRekP7dn9YqB2TqWvdVMlYzAZ2hOFQRklBpTQiScKYy8cQWn
   o=;
X-IronPort-RemoteIP: 104.47.59.170
X-IronPort-MID: 121140978
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Xr6hH6+vzBnkYqHdNu2RDrUDWn+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 TQcCDuEa/iONmCnLYojYdvj8kwF7ZGGyYVrTAJppXg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNagX5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklj7
 v07LRQMVSqpoLqR/oiVddNqn9gseZyD0IM34hmMzBn/JNN/G9XvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWCilUuiNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdhLTeHgp6E66LGV7nQJEjokBAu3mtuG2hShV4xwM
 04f6gN7+MDe82TuFLERRSaQrnOIswQdUN0WCOAg4Q+MzKv86RuWHWUCQXhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqbigCVhYB/9jlr6k5kx3UQ9BsVqWyi7XdGzv93
 jSLpygWnKgIgIgA0KDT1U/DqyKhoN7OVAFd2+nMdmes7wc8aIv7YYWtsALf9awZc97fSUSdt
 n8ZncTY9PoJEZyGiC2KRqMKAa2t4PGGdjbbhDaDAqUcythkwFb7Fag43d20DB4B3hosEdMxX
 HLuhA==
IronPort-HdrOrdr: A9a23:JhlGR6rm8rbQmxH7LLN9GjgaV5ooeYIsimQD101hICG9E/bo9P
 xG+c5x6faaslwssQ4b6Le90cW7LU80jKQFhbX5Xo3DYOCFggaVxehZhOPfK1eKIVyaygc678
 hdmsNFaeEYY2IVsS6WizPIceod/A==
X-Talos-CUID: 9a23:z+s4NGFm5Bys2RmoqmJK7083H+QkSUf36y/3HXWWNlxvUaGaHAo=
X-Talos-MUID: 9a23:mHmtHwaEFRLbMeBTryX2owMzZMtTwZv+Ul8Bz7oeucKUHHkl
X-IronPort-AV: E=Sophos;i="6.01,254,1684814400"; 
   d="scan'208";a="121140978"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mqg8IsBbSeyCIjOiZV5aNqnkXAlfz08ZHHZB+rSBGFP0jT1JBZ+w++wgGOXQ9Mu/t5ydidvFgROBEW94SyMquqcGHOMRhmEkLPyVHbTiJBNxneRGmjOuZSe+CUhbSs/pHoADNX27G2l76TBS3KEhbB776zoYUeHX7p2LwWbL5anIe20vCDTd/4/Nt1VqN/BdEvLluLIn59b2ZeqqzMk4tf9aUTfYk5oOhWGWyuhPUqHUfllkS5L2XxsbfxEkVTycAXdI2l3OeRwOQaXO9mDXvA7b8FHNJS5qkYI3Rz2Fwf6Oay2b9DYlPwnMVY7Gdi1qo1ymlE5kNZ11D7L4/aiiaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m42IxxKuaIjFxMFD8EVIAdcRbjt+Je7k+U+X6RhFZRI=;
 b=e7VQ9v251Y914KzdekwRqZMrbvnsz6K+zJzyEHt+CVGPFdbssXPsSZsIMqJKWQLu+XSOO4XqpVf9EzGoudLoRWz7PBiiI/OERED4qbLrohIxMwg4kxCW1AHJKtc96jCW0q6hMYXbaCp5NAajkyHw0/D/Xa6xJECx9FjROmRugWwtTeWl9Co6DQeRQiUWYo3YOFpbuYHktM2mrcu68tSd2zJ74+RJQZIEFxJeOonuxAGTA/oRcIqFH3isqwqW8LhQd0t93MltbWf2zw659rfQdsUO+JG1ho/7IlbiKGbdsykxxwiHu2zi5Sf982xtM4Nh30EgMzhZZVa/ITzNSsqNOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m42IxxKuaIjFxMFD8EVIAdcRbjt+Je7k+U+X6RhFZRI=;
 b=AmiwZORx3/xEJPbCQ0kGqG8Jx00pLBXKL8Gw8cXxo95UYF4e+TDCr6RYSM5kVPevTP2s/mMOyc/vZhrR2JXaz6WQUZCAte6zP4U7eGNHnuF5g/X1i4OS0bvNFR8sDsd5vEsb3JQJ4dzZ2J5W3BqBuXXyJGbVEhc+SQ2dVluIIG8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c74bd41e-20e3-2616-f077-f213bf115dbc@citrix.com>
Date: Fri, 4 Aug 2023 10:47:39 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2] x86/mm: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <c690d653a6fc2dd9cd0d1aa3b204d6ac7fb12ed6.1691141621.git.federico.serafini@bugseng.com>
In-Reply-To: <c690d653a6fc2dd9cd0d1aa3b204d6ac7fb12ed6.1691141621.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0302.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:196::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6484:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e9c2978-0576-450a-c2fd-08db94cfdb9f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+No06SbrqzhBTdUWeWCp3o3Kxgt/PALLykDX1QSc1egWa2hNHYbZa6yczfKACr84KUARFui5okrXOUzWPIXrtY5S2LiNQs4Y/CNjuvg6vI7ZxGdCVQxBFlaLFn7TLlm4HDm+b0ptwSAgO1iThYMjYUf9Ulvo/yflJeXQtgJ6y0SANnIMhbcdyDbNp8C29eB9j3zX5AhRNDQpNBnh5cX9BqLwnL7L3pfJ0OiAtgEoQ6sWqKQguJ6cm6yyYCqrQ/l+EkuS0kbM25DOjXsYH3O58dxWFCeBEt8hfTK3DUZO0qi+FRIf3FHmt4kF8PlBVfxeo4uwuGt3HAtdiWtgKO1DXmvHNXZjzthMJhJQw0MWd36A34xpjS4XqXQfYf6X6cRBUnB0fDDOXbcGhd471PUxP3sMrBB62Ny+NFrkB8VSbhWCDxf9Cpgf34gZ6ronwPsCHNo6rDO6+OtSBJg1TMcLtwoIqAPqXhNreF+mHO4I3R/S3f219LS3ZsS6Ac4rk1kImVQew8lCaSkCVlL6fVhi+zlEng7aVWKjS1g90E97UOnU342JoF8KJExGsghD9ziAPBM8OojlwiQt4unhzPs1cx0mHFUuHCufbsgtEkI0SU9fOEIUcfd4uBOoCKq2GCXL4NEY+cgnOLJ6ps9KgNsyFw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(1800799003)(186006)(451199021)(86362001)(4744005)(2906002)(8936002)(8676002)(31696002)(36756003)(31686004)(6506007)(26005)(53546011)(2616005)(6512007)(6666004)(6486002)(478600001)(54906003)(316002)(41300700001)(5660300002)(4326008)(66556008)(38100700002)(82960400001)(66946007)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0JhRnJMM0VvVTk3cFVYLzYwSjJYaWhrWnEzb0U2c1p5aXgyRHpnenNVeWxF?=
 =?utf-8?B?Yk1oMG95Wjk4bFVUYTFvMnBoSFZuNHV1TzBnMnVUb3pMUWhPK3ZsUW5VN2x1?=
 =?utf-8?B?ZGh5azNtUmRNekV3RjF5dndtSXIwSTdJdnV0eHNCYWQycWNrMmUvSkF2MVpq?=
 =?utf-8?B?U0pQSWVha2ZaNVVQSG94TjJUMm1mK2Z2d0ZyOVh0c21ISUtyRytmVlBQVCtl?=
 =?utf-8?B?dVlZeC85V1d2SHFFUHBPeldSM0VxUXk3a0d3Q3ljODJ1U2V5OWVoV3JyQlN0?=
 =?utf-8?B?b0FMVm1jN2VFcmhCQW04bzJZZVNEOHJLUk8wYlJOdGpGU3BGajdBZ2M5VW1V?=
 =?utf-8?B?c0NzRTlzWUEyaldoeERjQ21vdWo3Z0xScHlSWVFWcFNiRTdLVW84UDY2Nitk?=
 =?utf-8?B?Y1Y0bUlhQWxodVIzZi81aTVVNEZRNkQvaEI5S1c2djUrN3cwQnQ4K2FLQnRD?=
 =?utf-8?B?bWNaTW9KSjhqTTNId3d1WG1wRXZvSUtMZ3htdlZXUVNPdnNkNkY5VW9raStR?=
 =?utf-8?B?UDVuK0s5NTdCRmhoa3RvVnpwbkh4Ymh1ckZnelVMVzd1OVE2NEtDS1crWS9F?=
 =?utf-8?B?MnZzVnYwNHIwSzkzK3djVUIxWGJsZGxYbFdlY3NURDJaaWRLK3RXekR1WUtC?=
 =?utf-8?B?YVNaUmNsQmxQeUtKYitwSTd3VjNUbDNTT0RsSWxieFc0WHFIUHpoRmxMNW11?=
 =?utf-8?B?cUZQa0o3U3RWUXFWb2lWdDZwQzEzbGg3V0VxUEEvMEJydFErNjF0OVVkMk5B?=
 =?utf-8?B?Z1huNnNXQVRSNjNyVVlpWjRKU2hObkZ3RzBDY2RJRmVVbjFLbHpxY2FaajI5?=
 =?utf-8?B?czRWZ2JSdmovc2NUdUliQlc3dGRDN29Sc1BJRXBjSTc1UWUranJrY0ZBS05Q?=
 =?utf-8?B?ZE85TFlqSXR5RlY4TnVnc2VYUXdBSi9jLzJLZzJMNC9uK1phTitNdEVMOG9a?=
 =?utf-8?B?VzQzaXlWYmdGcjlVa1FRTy9lcGEvWkVkYTc3clp6NHlYRFVFdkNTRjNIOVFK?=
 =?utf-8?B?Tm5iUUlIY1hXbnpRbDBFMVFETWI5ZjVvTUtCODNrUmFrdHE5ZEloUThFTlQy?=
 =?utf-8?B?TkhHNmF2dlJXUnlVaE5BWlk4SDg0emRvUGtkZGk0aVZaeWVrUWFnVFl2ZlVp?=
 =?utf-8?B?OUQwZ0lzNklKcUpRSzZqYUpQTTd6SUJuTTJ3TWJNQTVQTzNlUkEyb1M3NGQr?=
 =?utf-8?B?S0RvaC9XOEc4cHpQMVcrOWlOWGg0OGNBSm50bCtXVEo4dmttV243TzJuYjQ4?=
 =?utf-8?B?dEJoMXllQnk5cEJLc3B0SExDbmkzQVJGcXgrSDl0a3JXbUhieWliK3A5alNV?=
 =?utf-8?B?QittZG9tbTFwUkdkT3ZSdWY4bksrbmxOTE5wVkVvM3J3VTY1aFBTVytmSmpJ?=
 =?utf-8?B?a1Fnb0tzWlJSUzZoeXE4Z0lJOEk4aFZlcXI1MjJXeXFpWXpWQ0s1Y2JkcFRq?=
 =?utf-8?B?OStoOUFKZTlaVWE3UUJIa2ZTL2cwT1N1T1pnL0Qzenh6dUd4a0ZIZndTcVJB?=
 =?utf-8?B?ZGtRbmVkbDBucGQxVldkYU5TMGJqTW5oYVFYbzg4MWg5a3IvTEcyT2REVzdI?=
 =?utf-8?B?NUNwRTkxUHBuNXh3SFNEVUdZL0RwNkRPQUlCSndEMUtnRjR5eFhXVzVEYkdq?=
 =?utf-8?B?anVTZjFmN0VVOHlMNmRmR2YxUFFmNkNsVmtSZm8xZlBVN3lJNW5KaDRFR0kz?=
 =?utf-8?B?ZUVkVGNicW1BYi9jY3prb0lIUGplU00rY0xld0htS0Z0YmMyRXVvTFZUL3BL?=
 =?utf-8?B?TXJsVjNrQ0ducmdvMVlXbUw5TENnbXgwam9RSU1qblNMV1JvdEdLalNiZlI5?=
 =?utf-8?B?OFFYbEEwWU9yWU1YOUQzSUNYdTA0QkFFYmVZMlZNbkZPS3RtMUc1KytYSFRJ?=
 =?utf-8?B?Y2IvcVhOQ2M0WitxRUlUaFYreUROcW1RU0Z4RTZvQm5MTnhhUnBBVXVTQmdC?=
 =?utf-8?B?Nmk0cGhZZnB4MTd4SWFoYmlqY0lVaWxFNjFkYmRLNFNUNzNqbk5YUng4K0py?=
 =?utf-8?B?VEZ1T2k0YVh3Y0ozOFpkdm5iR2pGTkVpSkZnQ21LNjR6bVA2WU9adTlZWFNs?=
 =?utf-8?B?YlFkZUhvSjlNTEVRc1dZV0prYkxXQmYvZ3dETTFNZkFCUFFhWWlvRENkNzk1?=
 =?utf-8?B?VWhPem5vdlNPRVVCYW9iOXBocnZkVmk0YTBSdUZUUWU0ZjM1aHVCVmR2NzMv?=
 =?utf-8?B?ZWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zuxVGJ1RY1BTok9GNVD4EUnWbz0lXwm/wwIkOXnInKkxXkQuHG5xsl2iA5JRcJGbzeUP7J+9A/qxhIp35Q88rp0JnXWa3BiH4nX+tB+hHSSCWNos/4O8fKyB9BqF7aFs90B3vuyviRgY7cJ3YT4oCPwc/PifyWmOiXKf/f7xu5g2eqmGXNKAfD0FpEVibmt4dgM/9AGGgTqUR73WYEWKlYim2TgiZWXZBQOtPscHYUXCrlAYP9vlRTBwblciv9PfbWIxPa5M2scfzm9N+DKo5rSEIE704CsD5E4roXToCssU7SQ2OAu8UJ0HigVOzMBNogXwVveAIxW8AU8yF16raLAZCMBzp7+BuWo0F9WqQq2r0dFmGwtaGjJNMfUAuvVOIoXC42nrjxgzWTuxucZtC7UcGOTrg/yImPchi58tZneWlosdfD+xPKXd5uKeYr0ollXU7i9ArrAcvfD4YtuPpRGep8s5mSWlzikRFDxamW9cPmLodnkXziQ0iv/tb0fx8PDjFn50pquSX07oJef2P9qdn+R/p87iK8w0LktyHtZwR+YcRLDTAlozSJWOCRtk9eiuOKMho7rbTLgf2CGvcu00zrEkUfqlXTkFzUFvh0GqZXgKk9jrAqDTshwYf0APnO6t/eUE0jCE4F0ad5gyh2HkTO7yOSo6v7SFTAqxBPGH6rwtZa9e1Zp0fhemzVacuGdNR+mRc3dprbHJR7ad6x60PRr916Am4VQT/Cwv1Xhidi2LVAYVGxSuSrxIX4MlYRA52WiLtKRa/CPd2K96n1NMr7nOVKEaqinxLaKm4Ih/OIYPGUP9eUauquRNhH+Jb/RAKpScCHyuwGTyVRvqRjTE5CYGNkFFAW57B9VvyJU=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e9c2978-0576-450a-c2fd-08db94cfdb9f
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 09:47:46.9309
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /DWgX2AytCP4KKc/FW8y4oyguPBX59XOMTm04gxPCNCE0nCqOYM8rZCf21mCgzym9hX/a3SSjgX1X8uW2wjDxqAAJZvIW1INSPx8XXajrMI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6484

On 04/08/2023 10:38 am, Federico Serafini wrote:
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index be2b10a391..e1d9b94007 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -5591,7 +5591,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
>   *
>   * It is an error to call with present flags over an unpopulated range.
>   */
> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
> +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)

I think both of these examples want to stay as nf (new flags).Â  Flags on
its own is ambiguous in context, and nf is a common shorthand in our
pagetable code.

And it will make the patch rather shorter.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:50:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577054.903879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrSB-0003HI-RZ; Fri, 04 Aug 2023 09:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577054.903879; Fri, 04 Aug 2023 09: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 1qRrSB-0003HB-Og; Fri, 04 Aug 2023 09:50:39 +0000
Received: by outflank-mailman (input) for mailman id 577054;
 Fri, 04 Aug 2023 09:50:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRrSA-0003Gv-Ek
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:50:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d17331c-32ac-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:50:37 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1DA324EE0737;
 Fri,  4 Aug 2023 11:50: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: 5d17331c-32ac-11ee-b26b-6b7b168915f2
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 11:50:37 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.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?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
 <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@bugseng.com>
 <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <e410b61c94f0f35958e288421f1834d0@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


>>> 
>>> This pattern (two closing braces at the same level) is why switch 
>>> scope
>>> variable declarations were introduced (at least as far as 
>>> introductions
>>> by me go). If switch scope variables aren't okay (which I continue to
>>> consider questionable), then this stylistic aspect needs sorting 
>>> first
>>> (if everyone else thinks the above style is okay - with the missing
>>> blank line inserted -, then so be it).
>> 
>> Actually, they can be deviated because they don't result in wrong code
>> being generated.
> 
> Only later I recalled Andrew's intention to possibly make use of
> -ftrivial-auto-var-init. While, unlike I think he said, such declared
> variables aren't getting in the way of this (neither gcc nor clang
> warn about them), they also don't benefit from it (i.e. they'll be
> left uninitialized despite the command line option saying otherwise).
> IOW I think further consideration is going to be needed here.
> 
> Jan

Well, in that case I'm happy if I can contribute in some way to the 
discussion, but
perhaps this is best sorted out in a separate discussion, so that later 
I can send a v2
reflecting the decision(s).

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 09:56:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 09:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577060.903889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrXr-0003tZ-FC; Fri, 04 Aug 2023 09:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577060.903889; Fri, 04 Aug 2023 09:56: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 1qRrXr-0003tS-Bn; Fri, 04 Aug 2023 09:56:31 +0000
Received: by outflank-mailman (input) for mailman id 577060;
 Fri, 04 Aug 2023 09:56:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRrXq-0003tM-6M
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 09:56:30 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e432841-32ad-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 11:56:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E62F21F749;
 Fri,  4 Aug 2023 09:56:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C1B2A13904;
 Fri,  4 Aug 2023 09:56:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Mw+OLUvLzGRLJQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 09:56:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e432841-32ad-11ee-b26b-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691142987; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=NaB9noiwagUgfzbRquK80gEgFMYKlT0Y/GRF52rBjt4=;
	b=bESbR+1PKJ8uN3wbBGrJ5AvYt39As6VlM1PtyLmXRH3slGRTxYriptwFI/FG77PqNuPjVj
	iuimkdsHgC3kqy6ZXe2F/KJcN4tZ/p/2Z29RWpQBVjC0JteincInykUj/FyjqJB7YCtoxB
	BiezFX/XK7L8VIztmosTR/MOrtAqorI=
Message-ID: <f2e7bb58-4929-71fe-a0bc-4bc4e589f9bf@suse.com>
Date: Fri, 4 Aug 2023 11:56:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
 <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
 <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
 <c6100033-4998-48aa-a9f3-a0bf2698ef49@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <c6100033-4998-48aa-a9f3-a0bf2698ef49@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Cbiz03jD6Hj0LQFMzwWwNVG2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Cbiz03jD6Hj0LQFMzwWwNVG2
Content-Type: multipart/mixed; boundary="------------v6AYWH5mYGRmekxjR7CvjFmH";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <f2e7bb58-4929-71fe-a0bc-4bc4e589f9bf@suse.com>
Subject: Re: [PATCH v3 22/25] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-23-jgross@suse.com>
 <bf77f848-498f-ce8a-ab4a-23995636ca81@xen.org>
 <014c1c12-ffba-97fa-d07a-ca2e82179c70@suse.com>
 <c7e32b8c-9f89-4560-961a-a3c258bba3ee@xen.org>
 <dd226d4f-28f0-487f-996f-b1550e8d5db3@suse.com>
 <c6100033-4998-48aa-a9f3-a0bf2698ef49@xen.org>
In-Reply-To: <c6100033-4998-48aa-a9f3-a0bf2698ef49@xen.org>

--------------v6AYWH5mYGRmekxjR7CvjFmH
Content-Type: multipart/mixed; boundary="------------I0R8q0RsAQsxLLT7nennnGoH"

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

T24gMDQuMDguMjMgMTE6NDQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gDQo+IA0KPiBPbiAw
NC8wOC8yMDIzIDEwOjM0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDQuMDguMjMg
MTE6MjEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSwNCj4+Pg0KPj4+IE9uIDA0LzA4
LzIwMjMgMTA6MTcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IE9uIDAzLjA4LjIzIDIz
OjM2LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4+PiBIaSwNCj4+Pj4+DQo+Pj4+PiBPbiAy
NC8wNy8yMDIzIDEyOjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4+IGRpZmYgLS1n
aXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfd2F0Y2guYyANCj4+Pj4+PiBiL3Rvb2xz
L3hlbnN0b3JlL3hlbnN0b3JlZF93YXRjaC5jDQo+Pj4+Pj4gaW5kZXggODZjZjgzMjJiNC4u
MjY2MmEzZmE0OSAxMDA2NDQNCj4+Pj4+PiAtLS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfd2F0Y2guYw0KPj4+Pj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF93YXRj
aC5jDQo+Pj4+Pj4gQEAgLTE2NiwxOSArMTY2LDEyIEBAIHN0YXRpYyBpbnQgZGVzdHJveV93
YXRjaCh2b2lkICpfd2F0Y2gpDQo+Pj4+Pj4gwqAgc3RhdGljIGludCBjaGVja193YXRjaF9w
YXRoKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQo+Pj4+Pj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICoqcGF0aCwg
Ym9vbCAqcmVsYXRpdmUpDQo+Pj4+Pj4gwqAgew0KPj4+Pj4+IC3CoMKgwqAgLyogQ2hlY2sg
aWYgdmFsaWQgZXZlbnQuICovDQo+Pj4+Pj4gLcKgwqDCoCBpZiAoc3Ryc3RhcnRzKCpwYXRo
LCAiQCIpKSB7DQo+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgICpyZWxhdGl2ZSA9IGZhbHNlOw0K
Pj4+Pj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAoc3RybGVuKCpwYXRoKSA+IFhFTlNUT1JFX1JF
TF9QQVRIX01BWCkNCj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGludmFs
Ow0KPj4+Pj4NCj4+Pj4+IEkgY2FuJ3QgZmluZCBhbiBleGFjdCBtYXRjaGluZyBjaGVjayBp
biBpc192YWxpZF9ub2RlbmFtZSgpLiBUaGUgY2FsbCBhbHNvIA0KPj4+Pj4gc2VlbXMgdG8g
cHV0IG1vcmUgcmVzdHJpY3Rpb24gb24gJ0AnIG5vZGUuIENhbiB5b3UgY2xhcmlmeT8NCj4+
Pj4NCj4+Pj4gVGhlIGNhbGwgb2YgZG9tYWluX21heF9jaGsoKSBpbiBpc192YWxpZF9ub2Rl
bmFtZSgpIHdpbGwgY2hlY2sgdGhlIGxlbmd0aA0KPj4+PiBvZiB0aGUgbm9kZSBuYW1lIChh
dCBsZWFzdCBmb3IgdW5wcml2aWxlZ2VkIGNhbGxlcnMsIHdoaWNoIGlzIHRoZSBpbXBvcnRh
bnQNCj4+Pj4gY2FzZSkuDQo+Pj4NCj4+PiBSaWdodCwgYnV0IGZyb20gbXkgdW5kZXJzdGFu
ZGluZywgdGhpcyBtYXkgbm90IGNoZWNrIGFnYWluc3QgDQo+Pj4gWEVOU1RPUkVfUkVMX1BB
VEhfTUFYIGJ1dCB3aGF0ZXZlciBsaW1pdCB0aGUgdXNlciBzZXQuDQo+Pg0KPj4gWWVzLCBh
bmQgdGhhdCdzIHdoYXQgc2hvdWxkIGJlIHRlc3RlZCwgcmlnaHQ/IEkgZG9uJ3Qgc2VlIHdo
eSBzcGVjaWFsIG5vZGVzDQo+PiBzaG91bGQgbm90IGFkaGVyZSB0byB0aGUgc2FtZSBsaW1p
dHMgYXMgb3RoZXIgbm9kZXMuIEluIGNhc2UgYW4gdW5wcml2aWxlZ2VkDQo+PiB1c2VyIHNo
b3VsZCBoYXZlIGFjY2VzcyB0byBzcGVjaWFsIG5vZGVzLCB0aGUgbGltaXRzIHNob3VsZG4n
dCBoaW5kZXIgdGhlDQo+PiB1c2VyIHRvIGFjY2VzcyB0aG9zZSBub2RlcyAoc2V0dGluZyBh
IGxpbWl0IGJlbG93IDE1IHdvdWxkIGJlIHJpZGljdWxvdXMNCj4+IGFueXdheSwgYW5kIHRo
YXQgaXMgdGhlIGxlbmd0aCBvZiBsb25nZXN0IHNwZWNpYWwgbm9kZSBuYW1lIHRvZGF5KS4N
Cj4gSSBkb24ndCBtaW5kIHlvdSB3YW50IHRvIHRlc3QgYWdhaW5zdCBhIGRpZmZlcmVudCB2
YWx1ZS4gTXkgcG9pbnQgaXMgbW9yZSB0aGF0IA0KPiB5b3UgZGlkbid0IG1lbnRpb24gdGhh
dCB0aGUgbGltaXQgd2lsbCBiZSBjaGFuZ2VkLg0KDQpXaWxsIG1lbnRpb24gaXQuDQoNCg0K
SnVlcmdlbg0KDQo=
--------------I0R8q0RsAQsxLLT7nennnGoH
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------I0R8q0RsAQsxLLT7nennnGoH--

--------------v6AYWH5mYGRmekxjR7CvjFmH--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTMy0sFAwAAAAAACgkQsN6d1ii/Ey9N
igf/VG8EzcLU/u9FlsxFX+vVVHmUD5bcN+FlXinxxBofRLaoJCGQBqpp6ZhW8UgRsUCRh2XPpnjh
FFupCjjuLfMciWe/6Cf9xbdWoWITCG2tbtPaL4CkQtl1kKgPKZo6Q5KjWhfHolRK85S1j6jJ82u1
ERRxthmIVnO9v1XIn2nXj04dhvWm9b7JOVkwiqUe7S3X+7UBwvflPzhRhlY6YSI9VjTBoWqkz+WV
d1+IDExr519iemqnvEffvLIwiAVbESxRPcEB7Z7IvYnJV/yjOs9OT/YMi65aYvTKXNt35CQP9ar5
VH2oNVhcrSrL1V+OkDqip/fjpydDnFlNh5aJjLJMRg==
=EiEA
-----END PGP SIGNATURE-----

--------------Cbiz03jD6Hj0LQFMzwWwNVG2--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:00:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577065.903899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrbb-0005Tj-4d; Fri, 04 Aug 2023 10:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577065.903899; Fri, 04 Aug 2023 10:00:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrbb-0005Tc-0i; Fri, 04 Aug 2023 10:00:23 +0000
Received: by outflank-mailman (input) for mailman id 577065;
 Fri, 04 Aug 2023 10:00: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 1qRrbZ-0005TW-EL
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:00: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 1qRrbY-0007Gr-O0; Fri, 04 Aug 2023 10:00:20 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRrbY-0007Gi-GN; Fri, 04 Aug 2023 10:00: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=AUdSYoW/av4g7UYR5WlJMgpsOl6GS4o3nE3JsCZ1kXo=; b=wbwSTmDgiQG0f2IcN4nHhic7A5
	Q8eFriT8GR62CMXHb4dFgXz+lxn+4qIgBsJ8hFukaYxc+iuh2HYemvBPc7Ts4O95L5th5ePCD+YRz
	8HZT8OgPLCDFqH6CIBzmTEj/Dn4WGnhXEy6auBGPKyr+TNVeUEAxQBbqV9TByLPeajzk=;
Message-ID: <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
Date: Fri, 4 Aug 2023 11:00:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 04/08/2023 10:35, Juergen Gross wrote:
> On 03.08.23 23:46, Julien Grall wrote:
>> Hi,
>>
>> On 24/07/2023 12:02, Juergen Gross wrote:
>>> Today is_valid_nodename() is always called directly after calling
>>> canonicalize(), with the exception of do_unwatch(), where the call
>>> is missing (which is not correct, but results just in a wrong error
>>> reason being returned).
>>
>> While this change makes sense...
>>
>>>
>>> Merge is_valid_nodename() into canonicalize(). While at it merge
>>> valid_chars() into it, too.
>>
>> ... I am not in favor of folding the code is_valid_nodename() and 
>> valid_chars() into canonicalize() because the code is now more 
>> difficult to read. Also, the keeping the split would allow to free the 
>> 'name' in case of an error without adding too much goto in the code.
> 
> I don't think we can easily free name in an error case, at that would 
> require
> to keep knowledge that name was just allocated in the non-canonical case.

How about this:

const char *canonicalize(struct connection *conn, const void *ctx,
                          const char *node, bool allow_special)
{
         const char *prefix;
         const char *name;

         if (!node)
                 return NULL;

         if (node[0] == '@' && !allow_special)
                 return NULL;

         if (!node || (node[0] == '/') || (node[0] == '@'))
                 return node;
         prefix = get_implicit_path(conn);
         if (prefix) {
                 name = talloc_asprintf(ctx, "%s/%s", prefix, node);
                 if (name)
                         return NULL;
         } else
                 name = node;

         if (!is_valid_nodename(conn, node, allow_special)) {
                 /* Release the memory if 'name' was allocated by us */
                 if ( name != node )
                         talloc_free(name);
                 return NULL;
         }

         return name;
}

And before you ask, I don't see the benefits to partially validate the 
name before allocating. Hence why I suggest to keep is_valid_nodename() 
as this keep the function small.

>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> V3:
>>> - new patch
>>> ---
>>> Â  tools/xenstore/xenstored_core.cÂ  | 89 ++++++++++++++------------------
>>> Â  tools/xenstore/xenstored_core.hÂ  |Â  6 +--
>>> Â  tools/xenstore/xenstored_watch.c | 16 ++----
>>> Â  3 files changed, 45 insertions(+), 66 deletions(-)
>>>
>>> diff --git a/tools/xenstore/xenstored_core.c 
>>> b/tools/xenstore/xenstored_core.c
>>> index ea5a1a9cce..ec20bc042d 100644
>>> --- a/tools/xenstore/xenstored_core.c
>>> +++ b/tools/xenstore/xenstored_core.c
>>> @@ -1210,42 +1210,6 @@ void send_ack(struct connection *conn, enum 
>>> xsd_sockmsg_type type)
>>> Â Â Â Â Â  send_reply(conn, type, "OK", sizeof("OK"));
>>> Â  }
>>> -static bool valid_chars(const char *node)
>>> -{
>>> -Â Â Â  /* Nodes can have lots of crap. */
>>> -Â Â Â  return (strspn(node,
>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "abcdefghijklmnopqrstuvwxyz"
>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "0123456789-/_@") == strlen(node));
>>> -}
>>> -
>>> -bool is_valid_nodename(const struct connection *conn, const char *node,
>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool allow_special)
>>> -{
>>> -Â Â Â  int local_off = 0;
>>> -Â Â Â  unsigned int domid;
>>> -
>>> -Â Â Â  /* Must start in / or - if special nodes are allowed - in @. */
>>> -Â Â Â  if (!strstarts(node, "/") && (!allow_special || !strstarts(node, 
>>> "@")))
>>> -Â Â Â Â Â Â Â  return false;
>>> -
>>> -Â Â Â  /* Cannot end in / (unless it's just "/"). */
>>> -Â Â Â  if (strends(node, "/") && !streq(node, "/"))
>>> -Â Â Â Â Â Â Â  return false;
>>> -
>>> -Â Â Â  /* No double //. */
>>> -Â Â Â  if (strstr(node, "//"))
>>> -Â Â Â Â Â Â Â  return false;
>>> -
>>> -Â Â Â  if (sscanf(node, "/local/domain/%5u/%n", &domid, &local_off) != 1)
>>> -Â Â Â Â Â Â Â  local_off = 0;
>>> -
>>> -Â Â Â  if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off))
>>> -Â Â Â Â Â Â Â  return false;
>>> -
>>> -Â Â Â  return valid_chars(node);
>>> -}
>>> -
>>> Â  /* We expect one arg in the input: return NULL otherwise.
>>> Â Â  * The payload must contain exactly one nul, at the end.
>>> Â Â  */
>>> @@ -1279,16 +1243,46 @@ static char *perms_to_strings(const void 
>>> *ctx, const struct node_perms *perms,
>>> Â  }
>>> Â  const char *canonicalize(struct connection *conn, const void *ctx,
>>> -Â Â Â Â Â Â Â Â Â Â Â Â  const char *node)
>>> +Â Â Â Â Â Â Â Â Â Â Â Â  const char *node, bool allow_special)
>>> Â  {
>>> -Â Â Â  const char *prefix;
>>> +Â Â Â  char *name;
>>> +Â Â Â  int local_off = 0;
>>> +Â Â Â  unsigned int domid;
>>> -Â Â Â  if (!node || (node[0] == '/') || (node[0] == '@'))
>>> -Â Â Â Â Â Â Â  return node;
>>> -Â Â Â  prefix = get_implicit_path(conn);
>>> -Â Â Â  if (prefix)
>>> -Â Â Â Â Â Â Â  return talloc_asprintf(ctx, "%s/%s", prefix, node);
>>> -Â Â Â  return node;
>>> +Â Â Â  errno = EINVAL;
>>> +Â Â Â  if (!node)
>>> +Â Â Â Â Â Â Â  return NULL;
>>> +
>>> +Â Â Â  if (strspn(node, 
>>> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â  "0123456789-/_@") != strlen(node))
>>> +Â Â Â Â Â Â Â  return NULL;
>>> +
>>> +Â Â Â  if (node[0] == '@' && !allow_special)
>>> +Â Â Â Â Â Â Â  return NULL;
>>> +
>>> +Â Â Â  if (node[0] != '/' && node[0] != '@') {
>>> +Â Â Â Â Â Â Â  name = talloc_asprintf(ctx, "%s/%s", get_implicit_path(conn),
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  node);
>>
>> This is allocated but not freed on error. I understand this is part of 
>> the 'ctxt' and therefore will be free later on. But this means 
>> temporary memory will be allocated for longer. So best to clean-up 
>> when you can.
> 
> Really?

Let me reply with a different question. Why should we keep the memory 
allocated longer than necessary?

> 
> It is possible, of course, but it is adding more code churn. Remember that
> "name" is allocated only in case of a relative path, so freeing it needs
> to be conditional, too (yes, it would be possible via comparing name to 
> node).

See above, a proposal.

> 
> In case you want me to go this route, I can rearrange the code in order to
> avoid multiple error exits by having only one large if () testing for all
> possible violations.
> 
>>
>>> +Â Â Â Â Â Â Â  if (!name)
>>> +Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>>> +Â Â Â  } else
>>> +Â Â Â Â Â Â Â  name = (char *)node;
>>
>> Why does name need to be const?
> 
> I think the question was posed in a wrong way. :-)

Whoops yes.

> 
> I'll change name to be const char *.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:14:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577069.903909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRroc-00072q-8L; Fri, 04 Aug 2023 10:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577069.903909; Fri, 04 Aug 2023 10: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 1qRroc-00072j-5i; Fri, 04 Aug 2023 10:13:50 +0000
Received: by outflank-mailman (input) for mailman id 577069;
 Fri, 04 Aug 2023 10:13:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xMif=DV=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1qRroY-00072d-U4
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:13:48 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95a5c82e-32af-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 12:13:44 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qRroA-009Hn5-6s; Fri, 04 Aug 2023 10:13:22 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 400A730020C;
 Fri,  4 Aug 2023 12:13:21 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 1F03F2107C447; Fri,  4 Aug 2023 12:13: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: 95a5c82e-32af-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=GYK9+OGfxviHr18NI+B7bkONaqcCERrPUSZDWZMRPEQ=; b=Si4qEE3c+HJrS2LkWUpXkEpwIY
	z2QG84d95tw+UddPI6rUzadRriq2PDZYJ6XXgw1x4zVAysI26DpGR+v731iLeXUZpRG2lgIbPY72I
	85Z6xFBogTIWFnZfNZ3S5QtL+ki4RcsOQiafmnH+Ad4fikMc2BFW263jmaF+Yq1RI6wmtI2QFGM9e
	ynZc/AAqQWPF0jP6VORFQ68/nqLS5sz5Lw9voBgJBLLNR9+ghPabvhaxhVI/lrVi2pG/Art4rrfjP
	Ipm/2XkF12gk117ch8cTn0cq83XETEzdbxKMmrQET7kTOkjlN6SKIYhgKMGA8v/MhBhxLtLPW2cf8
	KqI33mSw==;
Date: Fri, 4 Aug 2023 12:13:21 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Xin Li <xin3.li@intel.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>, Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Message-ID: <20230804101321.GH214207@hirez.programming.kicks-ass.net>
References: <20230804075734.8372-1-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230804075734.8372-1-xin3.li@intel.com>

On Fri, Aug 04, 2023 at 12:57:34AM -0700, Xin Li wrote:
> The IDT event delivery of X86_TRAP_DF, X86_TRAP_TS, X86_TRAP_NP,
> X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and X86_TRAP_CP pushes an error
> code into the orig_ax member of the pt_regs structure, and the error
> code is passed as the second argument of their C-handlers, although
> the pt_regs structure is already passed as the first argument.
> 
> The asm entry code of such faults does the following
> 
>   movq ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
>   movq $-1, ORIG_RAX(%rsp)	/* no syscall to restart */
> 
> to set the orig_ax member to -1 just before calling the C-handler.
> 
> In addition, the IRQ entry code uses the second error code argument
> as its IRQ vector, as the IRQ asm entry code pushes its IRQ vector
> into the orig_ax member.
> 
> The commit d99015b1abbad ("x86: move entry_64.S register saving out of
> the macros") introduced the changes to set orig_ax to -1, but I can't
> see why it's required. Our tests on x86_64 and x86_32 seem fine if
> orig_ax is left unchanged instead of set to -1.

That means that SYSCALL_NUM(regs) get to be garbage; or something like
that.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:18:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:18:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577073.903918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrsi-0007fN-On; Fri, 04 Aug 2023 10:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577073.903918; Fri, 04 Aug 2023 10:18:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRrsi-0007fG-Lm; Fri, 04 Aug 2023 10:18:04 +0000
Received: by outflank-mailman (input) for mailman id 577073;
 Fri, 04 Aug 2023 10:18: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRrsh-0007f8-70
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:18:03 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30bdba83-32b0-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 12:18:01 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 969371F8AE;
 Fri,  4 Aug 2023 10:18:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6196D13904;
 Fri,  4 Aug 2023 10:18:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0rxoFVjQzGTHLwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 10:18:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30bdba83-32b0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691144280; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=di3ivyrNeyF0VS8VuVBxnfkN9kNd9gXCabW2V/BS6vk=;
	b=DPKBM4gsD2irqRO4LOnMDBIQUh26cGBzZesUd4i+b09aCjRXL/bRkOI/RkK940MSJ8XvrA
	BNIH8f95XJxhL6vYGBlqSD/tPvNe9XrXNokFaKVqqejgr+ALMOL+79S+jtaDgjpyKdOt/0
	qFIJ++Mujr53OVDsIEFdAI1hTBuFXrM=
Message-ID: <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
Date: Fri, 4 Aug 2023 12:17:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
In-Reply-To: <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7eGtJhfWD2eV7lNNV2nDPntC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7eGtJhfWD2eV7lNNV2nDPntC
Content-Type: multipart/mixed; boundary="------------LxLvMJZ1H0p7ahM0kf3VUuVy";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
In-Reply-To: <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>

--------------LxLvMJZ1H0p7ahM0kf3VUuVy
Content-Type: multipart/mixed; boundary="------------VKt5a6eOm5Zv9WEb3rzgJgOh"

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

T24gMDQuMDguMjMgMTI6MDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAwNC8wOC8yMDIzIDEwOjM1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDMuMDgu
MjMgMjM6NDYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSwNCj4+Pg0KPj4+IE9uIDI0
LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IFRvZGF5IGlzX3Zh
bGlkX25vZGVuYW1lKCkgaXMgYWx3YXlzIGNhbGxlZCBkaXJlY3RseSBhZnRlciBjYWxsaW5n
DQo+Pj4+IGNhbm9uaWNhbGl6ZSgpLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgZG9fdW53YXRj
aCgpLCB3aGVyZSB0aGUgY2FsbA0KPj4+PiBpcyBtaXNzaW5nICh3aGljaCBpcyBub3QgY29y
cmVjdCwgYnV0IHJlc3VsdHMganVzdCBpbiBhIHdyb25nIGVycm9yDQo+Pj4+IHJlYXNvbiBi
ZWluZyByZXR1cm5lZCkuDQo+Pj4NCj4+PiBXaGlsZSB0aGlzIGNoYW5nZSBtYWtlcyBzZW5z
ZS4uLg0KPj4+DQo+Pj4+DQo+Pj4+IE1lcmdlIGlzX3ZhbGlkX25vZGVuYW1lKCkgaW50byBj
YW5vbmljYWxpemUoKS4gV2hpbGUgYXQgaXQgbWVyZ2UNCj4+Pj4gdmFsaWRfY2hhcnMoKSBp
bnRvIGl0LCB0b28uDQo+Pj4NCj4+PiAuLi4gSSBhbSBub3QgaW4gZmF2b3Igb2YgZm9sZGlu
ZyB0aGUgY29kZSBpc192YWxpZF9ub2RlbmFtZSgpIGFuZCANCj4+PiB2YWxpZF9jaGFycygp
IGludG8gY2Fub25pY2FsaXplKCkgYmVjYXVzZSB0aGUgY29kZSBpcyBub3cgbW9yZSBkaWZm
aWN1bHQgdG8gDQo+Pj4gcmVhZC4gQWxzbywgdGhlIGtlZXBpbmcgdGhlIHNwbGl0IHdvdWxk
IGFsbG93IHRvIGZyZWUgdGhlICduYW1lJyBpbiBjYXNlIG9mIA0KPj4+IGFuIGVycm9yIHdp
dGhvdXQgYWRkaW5nIHRvbyBtdWNoIGdvdG8gaW4gdGhlIGNvZGUuDQo+Pg0KPj4gSSBkb24n
dCB0aGluayB3ZSBjYW4gZWFzaWx5IGZyZWUgbmFtZSBpbiBhbiBlcnJvciBjYXNlLCBhdCB0
aGF0IHdvdWxkIHJlcXVpcmUNCj4+IHRvIGtlZXAga25vd2xlZGdlIHRoYXQgbmFtZSB3YXMg
anVzdCBhbGxvY2F0ZWQgaW4gdGhlIG5vbi1jYW5vbmljYWwgY2FzZS4NCj4gDQo+IEhvdyBh
Ym91dCB0aGlzOg0KPiANCj4gY29uc3QgY2hhciAqY2Fub25pY2FsaXplKHN0cnVjdCBjb25u
ZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbm9kZSwgYm9vbCBh
bGxvd19zcGVjaWFsKQ0KPiB7DQo+ICDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpwcmVm
aXg7DQo+ICDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpuYW1lOw0KPiANCj4gIMKgwqDC
oMKgwqDCoMKgIGlmICghbm9kZSkNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCByZXR1cm4gTlVMTDsNCj4gDQo+ICDCoMKgwqDCoMKgwqDCoCBpZiAobm9kZVswXSA9PSAn
QCcgJiYgIWFsbG93X3NwZWNpYWwpDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgcmV0dXJuIE5VTEw7DQo+IA0KPiAgwqDCoMKgwqDCoMKgwqAgaWYgKCFub2RlIHx8IChu
b2RlWzBdID09ICcvJykgfHwgKG5vZGVbMF0gPT0gJ0AnKSkNCj4gIMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbm9kZTsNCj4gIMKgwqDCoMKgwqDCoMKgIHByZWZp
eCA9IGdldF9pbXBsaWNpdF9wYXRoKGNvbm4pOw0KPiAgwqDCoMKgwqDCoMKgwqAgaWYgKHBy
ZWZpeCkgew0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5hbWUgPSB0YWxs
b2NfYXNwcmludGYoY3R4LCAiJXMvJXMiLCBwcmVmaXgsIG5vZGUpOw0KPiAgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChuYW1lKQ0KPiAgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsNCj4gIMKgwqDCoMKg
wqDCoMKgIH0gZWxzZQ0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5hbWUg
PSBub2RlOw0KPiANCj4gIMKgwqDCoMKgwqDCoMKgIGlmICghaXNfdmFsaWRfbm9kZW5hbWUo
Y29ubiwgbm9kZSwgYWxsb3dfc3BlY2lhbCkpIHsNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAvKiBSZWxlYXNlIHRoZSBtZW1vcnkgaWYgJ25hbWUnIHdhcyBhbGxvY2F0
ZWQgYnkgdXMgKi8NCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIG5h
bWUgIT0gbm9kZSApDQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHRhbGxvY19mcmVlKG5hbWUpOw0KPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPiAgwqDCoMKgwqDCoMKgwqAgfQ0KPiANCj4gIMKg
wqDCoMKgwqDCoMKgIHJldHVybiBuYW1lOw0KPiB9DQo+IA0KPiBBbmQgYmVmb3JlIHlvdSBh
c2ssIEkgZG9uJ3Qgc2VlIHRoZSBiZW5lZml0cyB0byBwYXJ0aWFsbHkgdmFsaWRhdGUgdGhl
IG5hbWUgDQo+IGJlZm9yZSBhbGxvY2F0aW5nLiBIZW5jZSB3aHkgSSBzdWdnZXN0IHRvIGtl
ZXAgaXNfdmFsaWRfbm9kZW5hbWUoKSBhcyB0aGlzIGtlZXAgDQo+IHRoZSBmdW5jdGlvbiBz
bWFsbC4NCg0KUGFydGlhbGx5IHZhbGlkYXRpbmcgYmVmb3JlIGRvaW5nIHRoZSBhbGxvY2F0
aW9uIGlzIGEgYmVuZWZpdCBhcyBpdCBkb2Vzbid0DQpzcGVuZCBjeWNsZXMgb24gdmFsaWRh
dGluZyB0aGUga25vd24gZ29vZCBwcmVmaXguDQoNCkFkZGl0aW9uYWxseSB5b3VyIGV4YW1w
bGUgd29uJ3QgdmFsaWRhdGUgYW4gYWJzb2x1dGUgcGF0aG5hbWUgYXQgYWxsLg0KDQpXaGF0
IGFib3V0IHRoaXMgdmFyaWFudDoNCg0KY29uc3QgY2hhciAqY2Fub25pY2FsaXplKHN0cnVj
dCBjb25uZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGNoYXIgKm5vZGUsIGJvb2wgYWxsb3dfc3BlY2lhbCkNCnsNCiAg
ICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7DQogICAgICAgICBpbnQgbG9jYWxfb2ZmID0gMDsN
CiAgICAgICAgIHVuc2lnbmVkIGludCBkb21pZDsNCg0KICAgICAgICAgLyoNCiAgICAgICAg
ICAqIEludmFsaWQgaWYgYW55IG9mOg0KICAgICAgICAgICogLSBubyBub2RlIGF0IGFsbA0K
ICAgICAgICAgICogLSBpbGxlZ2FsIGNoYXJhY3RlciBpbiBub2RlDQogICAgICAgICAgKiAt
IHN0YXJ0cyB3aXRoICdAJyBidXQgbm8gc3BlY2lhbCBub2RlIGFsbG93ZWQNCiAgICAgICAg
ICAqLw0KICAgICAgICAgZXJybm8gPSBFSU5WQUw7DQogICAgICAgICBpZiAoIW5vZGUgfHwN
CiAgICAgICAgICAgICBzdHJzcG4obm9kZSwgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICIwMTIzNDU2Nzg5LS9fQCIpICE9IHN0cmxlbihub2RlKSB8fA0KICAgICAgICAgICAgIChu
b2RlWzBdID09ICdAJyAmJiAhYWxsb3dfc3BlY2lhbCkpDQogICAgICAgICAgICAgICAgIHJl
dHVybiBOVUxMOw0KDQogICAgICAgICBpZiAobm9kZVswXSAhPSAnLycgJiYgbm9kZVswXSAh
PSAnQCcpIHsNCiAgICAgICAgICAgICAgICAgbmFtZSA9IHRhbGxvY19hc3ByaW50ZihjdHgs
ICIlcy8lcyIsIGdldF9pbXBsaWNpdF9wYXRoKGNvbm4pLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGUpOw0KICAgICAgICAgICAgICAgICBpZiAoIW5h
bWUpDQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQogICAgICAgICB9
IGVsc2UNCiAgICAgICAgICAgICAgICAgbmFtZSA9IG5vZGU7DQoNCiAgICAgICAgIGlmIChz
c2NhbmYobmFtZSwgIi9sb2NhbC9kb21haW4vJTV1LyVuIiwgJmRvbWlkLCAmbG9jYWxfb2Zm
KSAhPSAxKQ0KICAgICAgICAgICAgICAgICBsb2NhbF9vZmYgPSAwOw0KDQogICAgICAgICAv
Kg0KICAgICAgICAgICogT25seSB2YWxpZCBpZjoNCiAgICAgICAgICAqIC0gZG9lc24ndCBl
bmQgaW4gLyAodW5sZXNzIGl0J3MganVzdCAiLyIpDQogICAgICAgICAgKiAtIG5vIGRvdWJs
ZSAvLw0KICAgICAgICAgICogLSBub3QgdmlvbGF0aW5nIG1heCBhbGxvd2VkIHBhdGggbGVu
Z3RoDQogICAgICAgICAgKi8NCiAgICAgICAgIGlmICghKHN0cmVuZHMobmFtZSwgIi8iKSAm
JiAhc3RyZXEobmFtZSwgIi8iKSkgJiYNCiAgICAgICAgICAgICAhc3Ryc3RyKG5hbWUsICIv
LyIpICYmDQogICAgICAgICAgICAgIWRvbWFpbl9tYXhfY2hrKGNvbm4sIEFDQ19QQVRITEVO
LCBzdHJsZW4obmFtZSkgLSBsb2NhbF9vZmYpKQ0KICAgICAgICAgICAgICAgICByZXR1cm4g
bmFtZTsNCg0KICAgICAgICAgLyogUmVsZWFzZSB0aGUgbWVtb3J5IGlmICduYW1lJyB3YXMg
YWxsb2NhdGVkIGJ5IHVzLiAqLw0KICAgICAgICAgaWYgKG5hbWUgIT0gbm9kZSkNCiAgICAg
ICAgICAgICAgICAgdGFsbG9jX2ZyZWUobmFtZSk7DQogICAgICAgICByZXR1cm4gTlVMTDsN
Cn0NCg0KDQpKdWVyZ2VuDQo=
--------------VKt5a6eOm5Zv9WEb3rzgJgOh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------VKt5a6eOm5Zv9WEb3rzgJgOh--

--------------LxLvMJZ1H0p7ahM0kf3VUuVy--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTM0FcFAwAAAAAACgkQsN6d1ii/Ey+d
lQf8DN4dsSrsVaUssLuGXXukxw6DVPvUs4mEGILtFequmwW4mrA74eUezFtof87AOY8xc3pSqABA
4JdCutZ8iPRkZ8i+Bc4lEFRxRTXsi+/e3bKf1R5xF3fZhabUcaBGT0uVgXnsOpt+RIZLAaEmJ6fq
XeT5bsvB+gv94gOhlNoDLS4v2fLxJ0sFFfahn5rBAGXAKPteB+zKLl3nl/LI0Z8qLGv6+VJVpquM
xSQjylPzrVl/RqLQkUutK+sl9tf7JBC0QS58b+gRC64opwHCcKIRo4cN+ODgN36v/4VWnMSUhaGy
Io2hmsFjd0FDOUeZl2ISVCL/7pi3/N91D4Dy1zoSvQ==
=Mr4I
-----END PGP SIGNATURE-----

--------------7eGtJhfWD2eV7lNNV2nDPntC--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:25:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577078.903928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs0F-0000jH-Ga; Fri, 04 Aug 2023 10:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577078.903928; Fri, 04 Aug 2023 10:25:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs0F-0000jA-Dv; Fri, 04 Aug 2023 10:25:51 +0000
Received: by outflank-mailman (input) for mailman id 577078;
 Fri, 04 Aug 2023 10: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=ccdb=DV=citrix.com=prvs=573ccd360=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qRs0E-0000j4-Rw
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:25:50 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4657534a-32b1-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 12:25:48 +0200 (CEST)
Received: from mail-bn7nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 04 Aug 2023 06:25:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5930.namprd03.prod.outlook.com (2603:10b6:806:111::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 10:25:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::9410:217b:251f:2a98%4]) with mapi id 15.20.6631.043; Fri, 4 Aug 2023
 10:25: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: 4657534a-32b1-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691144748;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=asdRHLg9E03BV0goCJes0z0YYo3VDOKNf3DeHTfVyu8=;
  b=J9WqEgw1Gm2tjxuzRHiUxbmIen7dnByR9FwAoGR52kf69tjexEXy72fK
   nsM13vp6gugPhyZVT9KXPuL14hexXFXwWqBG+ldjt8ReTAi98dan7IPGb
   Nkp1NaX4RAEAoIjLM7FNzhRl6W8Mb8iilBV6B4TneH/A3dCB9DGcw9C4L
   A=;
X-IronPort-RemoteIP: 104.47.70.103
X-IronPort-MID: 118931483
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Vvh8yql9LkdbPAZUFjh/WL7o5gz6JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIYXG2Fa/6DZWDze9B3YY+1oExUuMXTzdFgS1Q9+Hw0FiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5AOGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dUYdyAXLSCFvvvs0be4F81zmIcIFNa+aevzulk4pd3YJdAPZMmbBo/suppf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1Q3ieC2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTe3prac20Ab7Kmo7DTYoUQK0kNaF1U/jff9cF
 2Uu9wwXsv1nnKCsZpynN/Gim1aUvxhHHd5RO+w89AyJjKHT5m6xAmkCUy4Ea9E8ssIybSIl2
 0XPnN7zAzFr9rqPRhq15rqS6D+/JyURBWsDfjMfCxsI5cH5p4M+hQ6JScxseIaxk8HyMTL92
 TaHqG45nbp7pdIE07WT+VHBni62oZ7IXkg5623/W2Oj4QRRfoOpZ4W0r1Pc6J5oJp6xR12As
 X5U3cSThMgCBI+A0iyERv4AGpmt5vCYIHvdh0JiG98q8DHF027zI6hT7St4KUMvNdwLERfpe
 Eb7qxJN44UVN3yvBYdvbp68EdYCzK7uD93pW/nYKN1UbfBZdgCd+zp1TVWNxG2rm08p+Yk1P
 o2aaoCrFmoADrp8zyueQP0U2rsmgCs5wAvuqYvTyh2m1f+UYiGTQLJcaF+WNLlht+WDvRnf9
 MtZO42S0RJDXebiYy7Rt4kOMVQNKnt9DpfzwyBKStO+zsNdMDlJI5fsLXkJIuSJQ4w9ej/0w
 0yA
IronPort-HdrOrdr: A9a23:EqKUSK/rMsot89Ppk8duk+Gydb1zdoMgy1knxilNoNJuA66lfu
 SV7YwmPHjP+UossRAb6Km90cy7LU80mqQV3WAuB8bvYOCLgguVxcRZnPDfK9OJIVy3ygZyvZ
 0QOZSWIueAe2STtK7BkUKF+zxJ+qjLzEnQv5aW854Pd3ANV0gD1XYcNu/BKDwAeOAuP/NQf/
 DwiParvwDQBkj/LP7LYUXtcNKz6OEj/6iWBCLuaSRXizWmsRPtzqLmGB6F2RokXypI2qpKyx
 m5r+Q5jp/Txs1SRXfnphvuB489oqqa9vJzQPaUgswiIj/wigCuDb4RKYGqjXQOuemq3l0ji7
 D30mcdFvU20WrYelevrQLqwBSI6kdc11bSjWWAiX/Uu8b+Xz5SMbsxuatpNiHB404Xptt7y6
 5832WF3qAncy8pF0nGiOT1aw==
X-Talos-CUID: 9a23:vxvFCGEMaxxcV9s+qmJO9BEEAIMVdETElmbVIBKcFngqY4WKHAo=
X-Talos-MUID: 9a23:vjExfQtSanRevblMcc2ngRpcMJ5n0ouSV0FQt7gFh+C+OApJJGLI
X-IronPort-AV: E=Sophos;i="6.01,254,1684814400"; 
   d="scan'208";a="118931483"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y5oOcpmufWTYNaSvVcYX9X6aw+WpHWr6onFKuTGj0hvp/GE/wp1yaauEyIPaXgqBUvw3RqhL9rHVEx2jTOARJGOCY9CCEqrrhVI8v/k+S1y8fRVlfKS5rf0SBtlHf44am11smnw0gutvDWty0qDvdqVs/SdCE9GE918CjFsNNvQhaIrrLph1o+O4sj5koph6HojhDT3mqgf3+DpS2INirzx5281Nx/lOidFmg3lWO64318WbWsbw1U43W/85jyTjNs0n/e/46fvY3mklsnDYp5wypNYqtWz8VKJm60WR7jfzhlddLS3l9l3KrCb7tGYpicZMYSUUUOlQ1/s/csyrdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=asdRHLg9E03BV0goCJes0z0YYo3VDOKNf3DeHTfVyu8=;
 b=V935yzrLbPEkztoH+R1GZhfdkbpQ5lQrRjY4UFM8KcWO+7Qh89Uhr6s7D51F+ei3Rbw820YJ1QW3v8qQtQtq/x9p7Z4hUWcK6fCdyayOzImg2JPHT3+/77cRyfaK2zIHPCSuMM7fveUhi9HiEzjhYC7Y14dbWFno7ppF9co4brrY3zWemzQFoDTJNSEIgoBvFjPodGI7wxczz/3W/KXa6mjH3kGivd+sGYxDrRVPW9n5MVy+WtH4R/SUOc6FzLdABHmzLUFHDkL0mJHi2pghq2LCGG8JTOi9joaQabMJoVve+e/6j1MLFx+2AGC7StMgxRG2Jfbz5N4ofmDEW+oNOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=asdRHLg9E03BV0goCJes0z0YYo3VDOKNf3DeHTfVyu8=;
 b=JPFAGyvL0dxSepAjWFhC5WJOfAdLarLPtLd0bZRkfmG1E68JzlFV0tZ8q4qauCbaSFsFQLCNHLO9ORERylKHsgA0eiLi5wzv3zZCvdUa8ZIt21IHNgFoAIKPE7IKiWpGnjdllbhEhz9VPT08GT0fDJvOW8cSJH1yBJDIRdZUR/E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
Date: Fri, 4 Aug 2023 11:25:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Content-Language: en-GB
To: Xin Li <xin3.li@intel.com>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org
Cc: Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra <peterz@infradead.org>,
 Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20230804075734.8372-1-xin3.li@intel.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230804075734.8372-1-xin3.li@intel.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0161.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5930:EE_
X-MS-Office365-Filtering-Correlation-Id: 51c5db4a-7190-4d06-9414-08db94d527ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UCnx/9T0tESYbj50B2cLLzDR2fsdpHWRt/RMHiIGpDvxKAgkjDQU5zr0szEj1Yv+VUVf+3j60QUk+NWj+gWNOiMtB343H18/Ky94h+DdWJBirNCi4krv5kCUGZlfyAMEe1Yu7qeKHaG+oDCUdp6D/HhOTJzcaryvKJbdfNE7YDj4lJWE/kvy2KHSspd460RlHVh8lx2qzcnO9QJESSiZQTix1lJfjuGSyJi7dUmY5CJro6kbxtFuUs3XwvycFnNwys43D83NaKIXJOVQZfdqiCu3H7UcLdZJAIMSR1rTo59AunpG3Zf0mhCIT6/Bmkj3QQ5wWo4XsUTcSStbPTGLQo4mmkY+ZR+m8aMDkbGK//2R/17mWfM531UZLk5VxQ7FQa9ai2vBRr+QnG1Fpz5af2RVdKtWUyPT+uTfWxvqDELDU4P3jgkHAtM2De4iV9v1rr9kBea6qVv7CcGZUuxbvBE4i/uVkoxh8GTBqOtAZ8i2Y3RTwWVKLzuUoQ7jfqGzehVlyzasGvFDqzkhLyCXR89fwlrVF/coiuRrcygQt2TPsaNHTrr75ff2WvQa2/yNFNkjP7jEs8x4Dj9l1lY+XRZ5d+0ushcCJHNU9jp86KJaeWps9g0x56pLeeKacFxmGWX5xjQMxN3qq978K5hyVyPpQwx/U8Ow2xZCO0OQXUE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(136003)(396003)(376002)(39860400002)(346002)(1800799003)(186006)(451199021)(2616005)(53546011)(8676002)(26005)(6506007)(4326008)(2906002)(66476007)(316002)(4744005)(66946007)(5660300002)(66556008)(7416002)(8936002)(41300700001)(6666004)(6486002)(6512007)(478600001)(54906003)(82960400001)(38100700002)(31696002)(36756003)(86362001)(31686004)(26583001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGV2VjJ6Z2gwYW56b0dqTWdDQTRNQThPSGM4QUlHTzQyV1RHNEUwbDJYclRS?=
 =?utf-8?B?di9MTFZPMW9Eb08zZ0Y2TEZEdDBWM2xtSzhFb1FhdGVISy8wL0swL2VpbDU4?=
 =?utf-8?B?WUJsZUZYdVBCWXk0UFFlMndqTkRhcXNZZklZY0ZlT05RVGpMN2FHdHlsV3Ix?=
 =?utf-8?B?azlSK0dPS0VPai9LN3NDenpieGxkQThUWCtUdS9wOU56QkIwQ0M0ckgrZHpX?=
 =?utf-8?B?NGFMMnNYWjZ3dmlYaXVOV25wWExGUnMwSG1YeTNRYUN0TGlXeTYzUVRzVERL?=
 =?utf-8?B?Q3QyYnVnYm0yb0ZDczBBaWN2MDRxTjFNaG9qdEJtY2pzUi8vSWFxbEl0NEJU?=
 =?utf-8?B?Sy9rVU5ETktUcGU2dXg5ZS90VGtCRDc2Mys5Q29QckwySUJtT2xlQ3YrZzhl?=
 =?utf-8?B?SmdDSGw3NndMTlFncmh3R1NNbGQvdDdsQmtLcndPaExjNWdLRVdIYStPcmFD?=
 =?utf-8?B?WWRFZW45ZG9xcW1ueWZqc0pPd3lESXNYbnVGa0JObFRnRldNbWkraEpnb2Z3?=
 =?utf-8?B?cXVqc29RencrbnhQb0NYRnhlMm8xMGVaNE9TMkZNSWxQMjFKRFVoRzZmQU9p?=
 =?utf-8?B?THdmOUU1UmRxVzdxdkFRM0hwZ1FoNlREeVBURktsMXRxVklDdDFRemhIY1JT?=
 =?utf-8?B?aDhUWm0xUFRHNmpNVEJyZUM5dmZLc0VxWnZPRjRjQUlxSFRqbm1HUHIwella?=
 =?utf-8?B?cWsrSHh6UUNMUEQwbVhUOXVZcWVFTTQ2Tys1NFI2eHB4YWpMNE9CYUo3OWhY?=
 =?utf-8?B?VWxiRnBNaWdkaCtOSDZ6Vi9UVUJ2RjN2blFKVExCQmdoMnpkSVBScUFKSHdQ?=
 =?utf-8?B?eUl0aXJBR3VMelRhSDJITlBabVhYQmNCTFRtT3FKWEtOelZRS1YyeTVFdDhF?=
 =?utf-8?B?bElLekVVQnFqNTN3T3VXZHN4UHdCYVlUQlN6NmhybHhxMU5JdndQUGd6UG5r?=
 =?utf-8?B?ZjY1SmQzUXhjc3k4dThlbzFkTUpUTHBkS2xaZFFOZHV5VU05djRBQ3AraEZ1?=
 =?utf-8?B?Ym5EOGJNNUVvbzdyMmdaVEJSMUxlMVEyWFFTRTdneWJCUDlOWG5QY2RUUWZX?=
 =?utf-8?B?SEZBb0FKRS9qTThVa05scEpTZjdPQ1J3cDlCd3RDWERPV3FXQVgvNFU5OW9v?=
 =?utf-8?B?SEVvckRnRkJmYkI5Q0c0YmpNd1cvVDh0c0prVXJjSFBRL3QwV0JLY2FQSWFw?=
 =?utf-8?B?SzNod3Y0V2RmTTZtejBHWTRXWFI1SnJwU2Vad3NUdG5SMlh6bjQycUN3Nldj?=
 =?utf-8?B?aU84SjlCbHVYZFpDUjBlOGRESEI3cW9KaEQrS0ZYSUY3bjFlRXdwVjVpZGh4?=
 =?utf-8?B?OHdqQ0Jvc29laENEbHJmTFdCYnNCSU13c29aVGt5SWxrMVlSZ1BBbE5WdlNa?=
 =?utf-8?B?OU5OenVwbG94ZExnUWRlZVdRSlI5bFloRHduK1NnYTMzOW9NLzlsOTVYaXhV?=
 =?utf-8?B?R3ZSRm16TkVEajdDWTU3emJhMEcwR0VqcjlaK09pY2NsWTlaM290dEIrODBI?=
 =?utf-8?B?MjNyZko1QTc4Rjd3cXBQelBTY3lOUmFTSnk1MUNDdnc2T1NQemppZllBS2hN?=
 =?utf-8?B?dVZEUWQ0eDFYTUd1eWsvMnhGMmp6Yy90dGt5Qno0NWpGa0FGS0RaLzE3cmtX?=
 =?utf-8?B?VXhzZ0o3UXdEWmh5WUdDUlFIQmJoMHAvT3RJODFka20wRU94Q0JsMStiNjZn?=
 =?utf-8?B?MEU0WTNRSlJlQW9QTStHM0ZQYkJmMVhURlJVNDdkdkVkSndDa0d0N2NWT3A0?=
 =?utf-8?B?NGtiOG5uT3VWODZvWjNNSHlXTTRCQi8ydFU2dWp3YnllS00vUFlrK2lJUllm?=
 =?utf-8?B?TmJEWlJPVTlJOVJ2d05oaTFxQzltTFF3b1ZDcHl3ZnVXbWJVSlZyNkZ6ZTZC?=
 =?utf-8?B?NTRHQmgzOCs3WGhHblgyNjh1c0xVeVppbHpDaFY4RGF1VWlNTFhTdFlpUmRY?=
 =?utf-8?B?MlBFTHY4WkxZNmJrNVc2RjhidnBQY0lZSWQxWXZmdzB6c0ViN0dsYTFXV3hP?=
 =?utf-8?B?RHNPRjNLTktCTzh5L3lzQkZQUVpPSGFjZjBaZjl6VHVuM2swa0dqWnJqQnVT?=
 =?utf-8?B?Q1JKd2pWb0tDYlNzY1NaQWkyb0ZrR1RMVzMvOW5MTklRajNSRHc0cHZ2VHZR?=
 =?utf-8?B?U3hWWTMrVDBQbHppcTJ5OUh1ZzhzNE9HM2lUYmxJNHpvTG1yQ0RMdXlrVFVi?=
 =?utf-8?B?NEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?RmxCaUZ5TmNKa1JaSXUvNnhzWFgzc2dIaG1CL0czbmtreHFjYWcvSW1aVTJy?=
 =?utf-8?B?eDhoOFdPd1RBdTFVTGxXcGE2TTlaR2VNMko0UFZncDUwam5IU1FRUFRHaHBW?=
 =?utf-8?B?UlZqaFFNUkV5amhOUWNOU1lpS04wUFgwTmxtdWhwZHorZ1lJZUZ6ck50dG1w?=
 =?utf-8?B?WjR1OTJHZG1UQlBZRjgzUmp4aG1yaW9FZzZuTDZhY3JGdWZMcytoNkkraUxD?=
 =?utf-8?B?emdURXUrdHd4WHpMUkt6MG9mcDdUcDlkUlE2dHBvUHlsWkoxS0VzTTNRUmFM?=
 =?utf-8?B?eHlOL3YxdEtjNDhtVXU3YXFqRmdkd0Z0c1QzNEk2YSsrek5uQythWjhJVXhN?=
 =?utf-8?B?WXljYWNySXpGelZmUHZWTUw1R0lTeWxpamk2a3EyR3B2Zy95MkJPQ1BJU1lj?=
 =?utf-8?B?THZFQnlkUStBcXNXd1Y5Q1RJUzVNbE00WHNoY1M3ZXdkVEgwRFJXVlpONlFp?=
 =?utf-8?B?b0lqVDZJZkIrRjJGdVY3cTNRbE1CeGxxOXExMmRsdyt0bTFiZUlHb3dKU1RE?=
 =?utf-8?B?b3ZTUWo2aWVpUEw3a1lmb0ZRN3UyY2JaSHNHRGtZYWVGZTRqNGcwV0JJbUZ2?=
 =?utf-8?B?YzhNajZEeS83cFM0Qy9nRVlWaDRvNm9yd3BrdCtuT0RaODAxN1JSbUVLeFNX?=
 =?utf-8?B?Si8wRWlLWitJaDJiQWZxb2t6N3dxaVVyZC9NRS9tRkpQODluV2hGSXFLcEhJ?=
 =?utf-8?B?cU8vamJyR05naUZVRjMrdzUyZFNEYlRGazM5Q0dEelhDM0FaNzM3M0Z3QW5k?=
 =?utf-8?B?b1UwMCtDTlBJOGNBRnJpT3BaNnBHTUVSZ29jeHpONHBWdFZxcWlKUitwZFFQ?=
 =?utf-8?B?dGRBekVsOWNCR0FjeFhjVE9iVkE0TGpOZVhiRVlRQlpib1dtWmFGUVdKdHJj?=
 =?utf-8?B?bFAzcFAwT3NlZHhLSEV3ZU0yRFhKVmxsNUtoMFEzQzlJN0JjZVByL3IzZ1pI?=
 =?utf-8?B?NGZHWHhxSy9KUE1DaGE3UnpTT2V1MFRwY0R3ZzBLN1prNzIwU2hTUW1odmhu?=
 =?utf-8?B?SFhYRXdUUTZUY0x4eWQyUUFLbVc3R2dybWgzOENyeUU2NWJScmtXUjBYUENs?=
 =?utf-8?B?WVNDZFlkd1VtcFJQdzFZSnV5QmhxbHRoRzFycXFDTzlvOE56dmVoLytNR1pY?=
 =?utf-8?B?dlpmMW5mSS9RaHhaSnc2aEQ4WGZVWmIxM1QxbERQTXJETGhRV21HUU5NRHJu?=
 =?utf-8?B?VFoway9tSW5ldEpFdkkrOTJiRkpJb1Bvb2xxUzZSWktLOExtcHRRT0R2SmdC?=
 =?utf-8?B?M2dRSGxOUmlNbFVqcDJjYTZzNU44WUorRTc0TG1DanN2SVRUVVBpSkc2bW1j?=
 =?utf-8?B?U1J5VERncmltMy9jd3djZGV6djAxRVpXVnFnMG51VkpNeit3MUdBc3Fwa015?=
 =?utf-8?B?RUZSS3IxMk5hbWkvVHpZWVhnRXFnVktObEtuZm0yOE9Lamlyc2Fwa2ZOSkQx?=
 =?utf-8?B?aWgxWU5MVEU0V2RIK1VwTTlkNjBjUzVtcXcza0NkbWd6TW8xQW5iUzJWTVUx?=
 =?utf-8?Q?mmUgOx1HaoXdDSvDDpbzPoRIftz?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51c5db4a-7190-4d06-9414-08db94d527ba
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 10:25:42.2165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BF7lCuqTeZPlvyP9pId2nuylIZctqXii9duR/H/f7A0SUvXEZ8oqXUlwged9gKxdeg0uxXwlW6n/G5Vs4UffK11SjMGdc/xj4aUdLt/AR1Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5930

On 04/08/2023 8:57 am, Xin Li wrote:
> I haven't checked Xen implications with this change, i.e., does Xen
> hypervisor need to adjust how it passes arguments to PV guests?

This is an internal detail of how Linux handles data on it's stacks,
isn't it?

The Xen code in Linux will need adjustment to match, but this is not a
hypervisor ABI (which obviously can't and won't change).

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:29:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:29:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577083.903938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs3a-0001O0-2m; Fri, 04 Aug 2023 10:29:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577083.903938; Fri, 04 Aug 2023 10:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs3a-0001Nt-03; Fri, 04 Aug 2023 10:29:18 +0000
Received: by outflank-mailman (input) for mailman id 577083;
 Fri, 04 Aug 2023 10:29: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=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRs3Y-0001Nl-H6
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:29:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c27ba174-32b1-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 12:29:15 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 596214EE0737;
 Fri,  4 Aug 2023 12:29: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: c27ba174-32b1-11ee-b26b-6b7b168915f2
Message-ID: <3c642d70-1b1a-5b09-fb34-127172f96118@bugseng.com>
Date: Fri, 4 Aug 2023 12:29:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH v2] x86/mm: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Content-Language: en-US, it
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.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>
References: <c690d653a6fc2dd9cd0d1aa3b204d6ac7fb12ed6.1691141621.git.federico.serafini@bugseng.com>
 <c74bd41e-20e3-2616-f077-f213bf115dbc@citrix.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <c74bd41e-20e3-2616-f077-f213bf115dbc@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 04/08/23 11:47, Andrew Cooper wrote:
> On 04/08/2023 10:38 am, Federico Serafini wrote:
>> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
>> index be2b10a391..e1d9b94007 100644
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -5591,7 +5591,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
>>    *
>>    * It is an error to call with present flags over an unpopulated range.
>>    */
>> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
>> +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
> 
> I think both of these examples want to stay as nf (new flags).Â  Flags on
> its own is ambiguous in context, and nf is a common shorthand in our
> pagetable code.
> 
> And it will make the patch rather shorter.
> 
> ~Andrew

The arm code has its own implementation of modify_xen_mappings()
which uses `flags`.
I put Stefano and Julien in CC, so that if everyone likes `nf` I can 
propagate the change.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:33:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577088.903949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs7U-0002oR-I3; Fri, 04 Aug 2023 10:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577088.903949; Fri, 04 Aug 2023 10:33:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs7U-0002oK-FW; Fri, 04 Aug 2023 10:33:20 +0000
Received: by outflank-mailman (input) for mailman id 577088;
 Fri, 04 Aug 2023 10:33: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 1qRs7S-0002oE-L5
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:33: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 1qRs7R-0007zJ-MG; Fri, 04 Aug 2023 10:33:17 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRs7R-00006G-Fs; Fri, 04 Aug 2023 10:33: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=i5i3A0jW9drB3euuJ61j+0z5/5MW6KwEZ/0NENb6JkM=; b=Iz2GQ0CrK+47yFKEig/WYl5Wy2
	USAUWqIX/UNw/Ja++/Z4F9lGBj3BKX7Z9zbCkAQgHvMV5qhoYOMSA1ipgQqtnypfg+vdFzNv0mRXy
	j6p9NpN6eXi9167b82S1jp2mSlS+QsSbKLr6ym7HOOdxXrk2fTHY+limQV8mA7WV73B8=;
Message-ID: <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
Date: Fri, 4 Aug 2023 11:33:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 04/08/2023 11:17, Juergen Gross wrote:
> On 04.08.23 12:00, Julien Grall wrote:
>> Hi,
>>
>> On 04/08/2023 10:35, Juergen Gross wrote:
>>> On 03.08.23 23:46, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 24/07/2023 12:02, Juergen Gross wrote:
>>>>> Today is_valid_nodename() is always called directly after calling
>>>>> canonicalize(), with the exception of do_unwatch(), where the call
>>>>> is missing (which is not correct, but results just in a wrong error
>>>>> reason being returned).
>>>>
>>>> While this change makes sense...
>>>>
>>>>>
>>>>> Merge is_valid_nodename() into canonicalize(). While at it merge
>>>>> valid_chars() into it, too.
>>>>
>>>> ... I am not in favor of folding the code is_valid_nodename() and 
>>>> valid_chars() into canonicalize() because the code is now more 
>>>> difficult to read. Also, the keeping the split would allow to free 
>>>> the 'name' in case of an error without adding too much goto in the 
>>>> code.
>>>
>>> I don't think we can easily free name in an error case, at that would 
>>> require
>>> to keep knowledge that name was just allocated in the non-canonical 
>>> case.
>>
>> How about this:
>>
>> const char *canonicalize(struct connection *conn, const void *ctx,
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const char *node, bool allow_special)
>> {
>> Â Â Â Â Â Â Â Â  const char *prefix;
>> Â Â Â Â Â Â Â Â  const char *name;
>>
>> Â Â Â Â Â Â Â Â  if (!node)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>>
>> Â Â Â Â Â Â Â Â  if (node[0] == '@' && !allow_special)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>>
>> Â Â Â Â Â Â Â Â  if (!node || (node[0] == '/') || (node[0] == '@'))
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return node;
>> Â Â Â Â Â Â Â Â  prefix = get_implicit_path(conn);
>> Â Â Â Â Â Â Â Â  if (prefix) {
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  name = talloc_asprintf(ctx, "%s/%s", prefix, node);
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if (name)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>> Â Â Â Â Â Â Â Â  } else
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  name = node;
>>
>> Â Â Â Â Â Â Â Â  if (!is_valid_nodename(conn, node, allow_special)) {
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* Release the memory if 'name' was allocated by us */
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( name != node )
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  talloc_free(name);
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>> Â Â Â Â Â Â Â Â  }
>>
>> Â Â Â Â Â Â Â Â  return name;
>> }
>>
>> And before you ask, I don't see the benefits to partially validate the 
>> name before allocating. Hence why I suggest to keep 
>> is_valid_nodename() as this keep the function small.
> 
> Partially validating before doing the allocation is a benefit as it doesn't
> spend cycles on validating the known good prefix.

Which is pretty much a drop in the ocean in the context of Xenstored :). 
In reality most of the validation can be done before the allocation with 
a bit of work.

> 
> Additionally your example won't validate an absolute pathname at all.

That's an error in the logic. This can be sorted out.

> 
> What about this variant:

I still don't see the value of folding is_valid_node_name(). But if the 
other agrees with you then...

> 
> const char *canonicalize(struct connection *conn, const void *ctx,
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const char *node, bool allow_special)
> {
>  Â Â Â Â Â Â Â  const char *name;
>  Â Â Â Â Â Â Â  int local_off = 0;
>  Â Â Â Â Â Â Â  unsigned int domid;
> 
>  Â Â Â Â Â Â Â  /*
>  Â Â Â Â Â Â Â Â  * Invalid if any of:
>  Â Â Â Â Â Â Â Â  * - no node at all
>  Â Â Â Â Â Â Â Â  * - illegal character in node
>  Â Â Â Â Â Â Â Â  * - starts with '@' but no special node allowed
>  Â Â Â Â Â Â Â Â  */
>  Â Â Â Â Â Â Â  errno = EINVAL;
>  Â Â Â Â Â Â Â  if (!node ||
>  Â Â Â Â Â Â Â Â Â Â Â  strspn(node, 
> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "0123456789-/_@") != strlen(node) ||

... I would rather keep calling valid_chars() here. The rest looks fine 
even though this is definitely not my preference.

>  Â Â Â Â Â Â Â Â Â Â Â  (node[0] == '@' && !allow_special))
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
> 
>  Â Â Â Â Â Â Â  if (node[0] != '/' && node[0] != '@') {
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  name = talloc_asprintf(ctx, "%s/%s", 
> get_implicit_path(conn),
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  node);
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if (!name)
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return NULL;
>  Â Â Â Â Â Â Â  } else
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  name = node;
> 
>  Â Â Â Â Â Â Â  if (sscanf(name, "/local/domain/%5u/%n", &domid, &local_off) != 1)
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  local_off = 0;
> 
>  Â Â Â Â Â Â Â  /*
>  Â Â Â Â Â Â Â Â  * Only valid if:
>  Â Â Â Â Â Â Â Â  * - doesn't end in / (unless it's just "/")
>  Â Â Â Â Â Â Â Â  * - no double //
>  Â Â Â Â Â Â Â Â  * - not violating max allowed path length
>  Â Â Â Â Â Â Â Â  */
>  Â Â Â Â Â Â Â  if (!(strends(name, "/") && !streq(name, "/")) &&
>  Â Â Â Â Â Â Â Â Â Â Â  !strstr(name, "//") &&
>  Â Â Â Â Â Â Â Â Â Â Â  !domain_max_chk(conn, ACC_PATHLEN, strlen(name) - local_off))
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  return name;
> 
>  Â Â Â Â Â Â Â  /* Release the memory if 'name' was allocated by us. */
>  Â Â Â Â Â Â Â  if (name != node)
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  talloc_free(name);
>  Â Â Â Â Â Â Â  return NULL;
> }

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:35:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:35:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577091.903959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs9X-0003Nk-Tx; Fri, 04 Aug 2023 10:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577091.903959; Fri, 04 Aug 2023 10:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRs9X-0003Nd-Qm; Fri, 04 Aug 2023 10:35:27 +0000
Received: by outflank-mailman (input) for mailman id 577091;
 Fri, 04 Aug 2023 10:35:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRs9W-0003NU-9q
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:35:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f280a3b-32b2-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 12:35:25 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D339C1F8AC;
 Fri,  4 Aug 2023 10:35:24 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 72C45133B5;
 Fri,  4 Aug 2023 10:35:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3leVGmzUzGSKOAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 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>
X-Inumbo-ID: 9f280a3b-32b2-11ee-b26b-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691145324; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=dOrns3aHmALo5VEFClwKv4k5zfS2WAJjPptWmdcbyC4=;
	b=nJUBH/vfKgOAOX/DrcQxg/3LON8/S2QVTGUFTNj5TmMPsot0C2MVuZQ9oOIwVO6fXvdBWP
	P3WvqOKjRaXncnPnz0rjg252GKsyKWyMXKSIW9Xodd03iKD0nnpLnnBvD1REeSAZPY1+Vj
	m4AdwaH0KjPfGUS9OmT4o+uKILaY7rc=
Message-ID: <f3c20dd0-9914-f646-0aaa-400dffd2bb2b@suse.com>
Date: Fri, 4 Aug 2023 12:35:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xin Li <xin3.li@intel.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org
Cc: Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
In-Reply-To: <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RIwth9b5TBuxUuYcpfetUToe"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RIwth9b5TBuxUuYcpfetUToe
Content-Type: multipart/mixed; boundary="------------YNwf55S3kJowPLPrhqJxF54y";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xin Li <xin3.li@intel.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org
Cc: Andy Lutomirski <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <f3c20dd0-9914-f646-0aaa-400dffd2bb2b@suse.com>
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
References: <20230804075734.8372-1-xin3.li@intel.com>
 <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
In-Reply-To: <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>

--------------YNwf55S3kJowPLPrhqJxF54y
Content-Type: multipart/mixed; boundary="------------FpShGNDVei6igLcFbXS9kvzt"

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

T24gMDQuMDguMjMgMTI6MjUsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA0LzA4LzIw
MjMgODo1NyBhbSwgWGluIExpIHdyb3RlOg0KPj4gSSBoYXZlbid0IGNoZWNrZWQgWGVuIGlt
cGxpY2F0aW9ucyB3aXRoIHRoaXMgY2hhbmdlLCBpLmUuLCBkb2VzIFhlbg0KPj4gaHlwZXJ2
aXNvciBuZWVkIHRvIGFkanVzdCBob3cgaXQgcGFzc2VzIGFyZ3VtZW50cyB0byBQViBndWVz
dHM/DQo+IA0KPiBUaGlzIGlzIGFuIGludGVybmFsIGRldGFpbCBvZiBob3cgTGludXggaGFu
ZGxlcyBkYXRhIG9uIGl0J3Mgc3RhY2tzLA0KPiBpc24ndCBpdD8NCj4gDQo+IFRoZSBYZW4g
Y29kZSBpbiBMaW51eCB3aWxsIG5lZWQgYWRqdXN0bWVudCB0byBtYXRjaCwgYnV0IHRoaXMg
aXMgbm90IGENCj4gaHlwZXJ2aXNvciBBQkkgKHdoaWNoIG9idmlvdXNseSBjYW4ndCBhbmQg
d29uJ3QgY2hhbmdlKS4NCg0KVGhlIG9ubHkgYWRhcHRpb24gb2YgWGVuIGNvZGUgd2lsbCBu
ZWVkIHRvIGhhcHBlbiBmb3IgdGhlIG9ubHkgdXNlIG9mDQpERUZJTkVfSURURU5UUllfUkFX
X0VSUk9SQ09ERSgpIHRoZXJlLCBhbmQgdGhpcyB5b3UgaGF2ZSBjb3ZlcmVkIGluIHlvdXIN
CnBhdGNoIGFscmVhZHkuDQoNCg0KSnVlcmdlbg0KDQo=
--------------FpShGNDVei6igLcFbXS9kvzt
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------FpShGNDVei6igLcFbXS9kvzt--

--------------YNwf55S3kJowPLPrhqJxF54y--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTM1GsFAwAAAAAACgkQsN6d1ii/Ey98
xQf/eHKCtZfr2yrcxk/rSFLFayb4L8I2VDcv5ljxLHvPEsCm8nzjl/H3tOqNecMOjI1ezu16HS9m
xVE6gTW2KDa17ZVxjXsuJlTpiaHhe13bXyJ957jDIW0gfEvbB342HmfFKeUe+8wSNvERvtPfXorE
B9cPpNrQsn1Be8G2QWHtMNNrWtsMvLp+IjyQzIH2G8DRx30nd/rJT3YX3lrNOekp1Tj3V4IuX6e7
DUYHW0EUklkXexzsQfCzyznT63ZwWkydOS0UPXn4IfTKYTY3WIxqnZPkn5fjGZXGsd279avPYUYe
G5NbUK4Dhj6mrxyFsQITsf+0ZR/REp/7CRUjaRHvgw==
=HCZR
-----END PGP SIGNATURE-----

--------------RIwth9b5TBuxUuYcpfetUToe--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:48:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577096.903969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRsLy-0004xn-1v; Fri, 04 Aug 2023 10:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577096.903969; Fri, 04 Aug 2023 10: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 1qRsLx-0004xg-VF; Fri, 04 Aug 2023 10:48:17 +0000
Received: by outflank-mailman (input) for mailman id 577096;
 Fri, 04 Aug 2023 10:48:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qRsLx-0004xa-AJ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:48:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRsLw-0008F4-L4; Fri, 04 Aug 2023 10:48:16 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRsLw-0000jf-Ed; Fri, 04 Aug 2023 10:48:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=54NkfgdlCAe4IBkP3+xatAn/Ck3HRr4zZ5qA60Udh9c=; b=aogGuu+z39Rw/JW857l4zF+05z
	R7flRj2VKYK10gLbb2WeHzN9rQ4V2bRkAB2CJumB4YHLs0GQbSqIkOAD7Kd1bQ1Ll1EateDwgV7gj
	UXs0h/bOwVSnZ2gMqXxiAKnpmgtipjFTWvHdVGgbBzab/gEHF2p2VkCvb6jNn9EHA1nY=;
Message-ID: <58d49a0e-d6e0-43fa-9fa6-22965862a2e2@xen.org>
Date: Fri, 4 Aug 2023 11:48:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/mm: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich <jbeulich@suse.com>
References: <c690d653a6fc2dd9cd0d1aa3b204d6ac7fb12ed6.1691141621.git.federico.serafini@bugseng.com>
 <c74bd41e-20e3-2616-f077-f213bf115dbc@citrix.com>
 <3c642d70-1b1a-5b09-fb34-127172f96118@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3c642d70-1b1a-5b09-fb34-127172f96118@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Federico,

On 04/08/2023 11:29, Federico Serafini wrote:
> On 04/08/23 11:47, Andrew Cooper wrote:
>> On 04/08/2023 10:38 am, Federico Serafini wrote:
>>> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
>>> index be2b10a391..e1d9b94007 100644
>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -5591,7 +5591,7 @@ int __init populate_pt_range(unsigned long 
>>> virt, unsigned long nr_mfns)
>>> Â Â  *
>>> Â Â  * It is an error to call with present flags over an unpopulated 
>>> range.
>>> Â Â  */
>>> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned 
>>> int nf)
>>> +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned 
>>> int flags)
>>
>> I think both of these examples want to stay as nf (new flags).Â  Flags on
>> its own is ambiguous in context, and nf is a common shorthand in our
>> pagetable code.

I guess you mean x86 code? I agree that 'flags' is ambiguous but...

>>
>> And it will make the patch rather shorter.
>>
>> ~Andrew
> 
> The arm code has its own implementation of modify_xen_mappings()
> which uses `flags`.
> I put Stefano and Julien in CC, so that if everyone likes `nf` I can 
> propagate the change.

... I would not say I like the name 'nf'. I would prefer 'new_flags'.

Anyway, unlike arm, the x86 version of modify_xen_mappings() is quite 
large.Â So I would be OK to switch the Arm code to use 'nf' (only in 
modify_xen_mappings()) for the sake of avoid too much code churn.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 10:56:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 10:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577100.903979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRsTp-0006S5-QP; Fri, 04 Aug 2023 10:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577100.903979; Fri, 04 Aug 2023 10:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRsTp-0006Ry-Nh; Fri, 04 Aug 2023 10:56:25 +0000
Received: by outflank-mailman (input) for mailman id 577100;
 Fri, 04 Aug 2023 10:56: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=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRsTp-0006Rs-2S
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 10:56:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c9d7087-32b5-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 12:56:22 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id BDD174EE0737;
 Fri,  4 Aug 2023 12:56: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: 8c9d7087-32b5-11ee-8613-37d641c3527e
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] x86/processor: drop bool_t from mcheck_init() parameter
Date: Fri,  4 Aug 2023 12:56:15 +0200
Message-Id: <26b30382b1b3daffb829ceb34d39c14185e9e147.1691146541.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Drop bool_t to make the function declaration consistent with the
corresponding definition.
This addresses a violation of MISRA C:2012 Rule 8.3 ("All declarations
of an object or function shall use the same names and type qualifiers").

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/processor.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 0989748be6..ae43ba5dc9 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -415,7 +415,7 @@ void noreturn fatal_trap(const struct cpu_user_regs *regs, bool_t show_remote);
 extern void mtrr_ap_init(void);
 extern void mtrr_bp_init(void);
 
-void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp);
+void mcheck_init(struct cpuinfo_x86 *c, bool bsp);
 
 void do_nmi(const struct cpu_user_regs *regs);
 void do_machine_check(const struct cpu_user_regs *regs);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 11:36:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 11:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577106.903988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRt6b-0002Uk-R1; Fri, 04 Aug 2023 11:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577106.903988; Fri, 04 Aug 2023 11:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRt6b-0002Ud-O4; Fri, 04 Aug 2023 11:36:29 +0000
Received: by outflank-mailman (input) for mailman id 577106;
 Fri, 04 Aug 2023 11:36:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRt6a-0002UX-JI
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 11:36:28 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2575518e-32bb-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 13:36:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7080.eurprd04.prod.outlook.com (2603:10a6:20b:11b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 11:36:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 11:36: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: 2575518e-32bb-11ee-b26b-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SvVLZxD/lP36qNJrPkTgikBncJ+6uZBfdTHgav/2hUXoZdMJx7f6irDAQvr/sKKgczm1f3yQY7pj8eJAza1zwMZluPO6od2iH0k91B8WySuLPDYHhVCWCXH2O4AGD9ehEQpU97ZwtTC7YjMX5WrOrQSfAgc6PaqSIe2LTEd/xEJz0Pz48b98xGt21zfENNPsddSgUBr9d9n1PFvWsrfoepjVccJMWMkHGePMWiVbfK7JoPsSl5ML7Jlpi36XQYeM6Kp8JLk1F5qAFozRFFlXT9P7dxcmAwdOHFGMa245LA0IPeUBsGAbzLNAyBlnrOjn1MKok8XoWPbGVYJBTk8RMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HV54gh0Z4zJqoYvIH9ELbPuFlkJX6szzPHSkoj+N1V8=;
 b=Q8w3x2oAlAbB/UcNEkz4XOkTIs8NlnXLyPrdzlrjXLaYMMuLiPaO7gmMBDdzDHlKjC9KoYdRIYQzkitQcq2jLfLkbQ5mNLQ79xwk+dKgP0wl249xUKMGXkfPQ88ibUywpEtQVNCG04sCIDhVJwsUOjldX7EzBdaelIFIZjBRBRpDkYCLoxaS1dc1JR22XA5BVN1f2qSFO09wu7LV9i6FOS9yaPCGOd3JWvFMmGlKk1/hPjX1YfCdCv1pbuhw+weRT4OxZ8LjTvq2E80jA9c3QyPt7NcjTCwjjKxrxikdsXzWjqtchHy4bFGiRLPHw6ci0xP4KRib6Ei6X2d1rDJN1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HV54gh0Z4zJqoYvIH9ELbPuFlkJX6szzPHSkoj+N1V8=;
 b=XsT+YLTcXn95sj0pRr8mwZVw5OSa2rN614ON1L3w1Vs/WoWDMbqdfu0n9ta4cPKVTTZ2wivXrxFUrWEo0RY6pcCx4pCWlhJABGBHk+JIdQhO8wL6wwHq5VFH4QUvChCm51VxU5DlqzcH/RzFtd9lnrIS9xp4jh9tUUgoWXH8K1IJOA8y9RUHNxNriZKfUyUQk6B3loNLS8VS1pAZKZQ/EkSZ5ze/o+M+IBxVr8Z1SCcfqPrMNWQo1Nw1e9TyYuQMqrkO7mP0dLQIPZ4dybUJ3GIwdJLkisiT2szzF6PTrVm05nsLq1dhZLwckIwGLGlkHeQoBVFa/Ko8NoCvhkTP3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <464d71e4-9047-0461-afdc-8df8b8f569fb@suse.com>
Date: Fri, 4 Aug 2023 13:36:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
 <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com>
 <722dfba8-a768-55c1-29bb-2d8525282b4b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <722dfba8-a768-55c1-29bb-2d8525282b4b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7080:EE_
X-MS-Office365-Filtering-Correlation-Id: f145ff9c-e976-4d65-d7bf-08db94df078b
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+ePjwY4U12tyhAofPxuuYm6rVetwWW5MC0DllNtqX2LH+iHZXWX6Bnh+uEJxoZO//jvjR7s8Q26qJ517SuVXSMhvG5eylDNEx9zK1RaNyfO9hJ3TH/J9KjgJYASq1ey5rWuohNo8CJoGtdHIrkYWcTR3KfVt5p4l2EoyT0Qu4ujZx1CdmoBSMx54hrTjm4GYfBO2Pz8xq6gFmRG4XGC811kxkRSYoMVVC9mB7iuyI08pzT+aa7sYTj82ELrGu8QsKwV+POF9hq9HuLZxF3dNTyHDyrqGDjy+jZ/v/6TvzFnA9/CyfOLTUzkadmpKPJVylFa6ldbhUNG8C2prEAjhdkOGoQrRGKYr9iXu7nWnfygV8eP/8FesUCxy/TqSLqUHvFL2YHAFX+KxCoAgkSMYG9Z7mLNuKPPJY15p/H+Hwlrrj7QF5NsyPmTc7bWiUOwbFS8lf+0vftZen7dTkVabyXX4YM8XAaaL0Xzme4QukPiXp9uA+7YvdrlSko8Ber4F4g/7iZZTmRz9Mx/cA5YO2KbZU/aOjlxuyQEzpXAEOPNh4Fe5snIUxLxlosXcTnLPKJqyybTvlmyUZjXWJhlq0Hf8oxoQgIloK3sQGeQc2JPzy58KKGBObrWmFqMGyxDg5nsKXle/r8x3ZtS+KT9jxw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(1800799003)(186006)(2616005)(53546011)(26005)(6506007)(8676002)(316002)(66556008)(2906002)(5660300002)(66946007)(66476007)(6916009)(4326008)(7416002)(41300700001)(8936002)(6486002)(6512007)(54906003)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SzJuV0VPZTkrbWRQQXpkWUtDRXRvZEpRc3VQRmRxSUM0ZzlrUUZ2OHB5ankv?=
 =?utf-8?B?WVNTTHZFUis4UEx6TGFLMytRRGd1Q2dDNWpXa3ZYQzdLbC9vTy9uT1hsMDl6?=
 =?utf-8?B?R1NUWHBUYi9LVTY2dnMrRy93Umt3UHZzcUYzN1E5SXhNbmtOc2xZaFJ0cXBI?=
 =?utf-8?B?WTZydWpYdEZ2R1pNcEhONjVaamlnNWpnRm5pTzEwektmWFlmUGZJYmsrOHI2?=
 =?utf-8?B?WjU0VDEyMkFTd3pOMXg2L2tOcmhOR04vcklFSzF6dm1sNVhORldid2c2cWd5?=
 =?utf-8?B?RlhHQkZWWGxCNHQ1ZU1PQXRFZEhweFR2TVFaTkRIbHhSUFBPYWhadlE5SGsw?=
 =?utf-8?B?OTFjWS9UZjgyRUJ2Z2dSVGtNV3RRQmxiMkRIT3IwYVhZcVJoVjRmbGo0VWN0?=
 =?utf-8?B?Z3Btc2hESzkyUmJOVDBBU3RjRFBBME53ZkY0SURKR2lwU1YzQThqRzR3Y2Jh?=
 =?utf-8?B?aWxxU0FaQW50c3YzY1poQ01aN1E2TERTVHBQOHJuSXJKcFA1NkNEbFoyNGZP?=
 =?utf-8?B?K0NscU5WRVBSOVhjSmFOWHV4cU0xNEwwc3lPbnQrTTRPUWRhMFdpTDk4V2xr?=
 =?utf-8?B?bGNiV0JWZjBQVDZldHVONVc1dFVTU1hUSzhWeGk1K3N4T1ZmakJpSkxQTmFZ?=
 =?utf-8?B?OGtGMStzZDFxVzdxRHhnVjZTSzNNMDJEN2RXMGpPU0FvUWlXSFIrUnNaNVh1?=
 =?utf-8?B?WGtJeTFoSnpmb0NraEtDUXp6QUl5TEdrUlFDY05aSnlrV2FpQVRoSUlSaUFk?=
 =?utf-8?B?TFZiMzIrUE56VDZjclh1NDNwUEpjRDF3eWk1bVFvMGlVVEdGKzRsWk5LM0xz?=
 =?utf-8?B?dUhpK1ZZUlRPeC9Sd0pqT1EzRDNEL3hXblhaS3pLdWYrTVNrRlNoMmFXN1Vo?=
 =?utf-8?B?WHNWU3llQzFFcWd6amFNcEZRajI1WC9ib0Y5QzBlYjhsTHFaK1FnUkg3Smpa?=
 =?utf-8?B?S2kweE8vMWcyNmp4ZDBVanUwYzlrK1dYSFB2QmZOejBMNHpEUVhONFBvWkg1?=
 =?utf-8?B?bzh3dVIvNTNYeGdydzBoYzA2TEp3d1RjZ1M5SGpaUlRrM2JBZ3RDSThGQm1H?=
 =?utf-8?B?R2NBM3FPSnUyTVJDQzI2QmFYTkNKdnVKUlV5ZjIzQ0hLQU55Q1c4Y1hRZFRx?=
 =?utf-8?B?WkN5aTFXM3FBS21KUEV2OHdrQUZBdDFoVGI3TWxyT3kzL3lqRzRRWEs3NURn?=
 =?utf-8?B?WWFaNVJNTStzYjdQeXM2RTZKYUZDY2Z0N1ByeTFaOU5CQlVmUTFBY3FNSDND?=
 =?utf-8?B?cXRKcCtMc3VwYjNnbVhTLzNWOG5tLzJGKy9CczBNQVB0V3pCSTJJcStnZjUx?=
 =?utf-8?B?NFRyUHZuOXpoRTAvakh2NXcyeUR4aG95bEE1VnF5eTNPd3ZKYUloSUNFUWFZ?=
 =?utf-8?B?WlpvekxUeDI1SXlTY0hKbDc5R1Rxc3FNUDA2bUpyNWVVb1N1SUU0dWRpUEpn?=
 =?utf-8?B?dHZYSm1MWm1UdVF6MnF5OTg3Uk1mekV6eE5GZEZvakliYmxPWk9MdytnYlZl?=
 =?utf-8?B?M0FQNzQ0aTJrU1I0ZnhZNG85ZU82bjNBUHZkTjVUaGZkK1JyVXMyaCtmbVkw?=
 =?utf-8?B?N2VFSGozMmU2SCtVT1U0TkhmbDJuTVUvWEU0MTkyclo0Y2VCN3crNEdhYkdO?=
 =?utf-8?B?Mk9VVXR4M1ptaXJuZ2x6WDlyVllxencveEQvRkZxeHBhd3JGVTUyZjZ6NFl3?=
 =?utf-8?B?T0NoTE81OHZXeXk2dzJCamZrY2Y5a0dpS29HZ2VNRGVjbDlIclV2OC9Vd3li?=
 =?utf-8?B?eFFYbXZXblBPK2hBWVVoUm83NVJpbHFhVElZeEp5cEZUa1Y0YURON0FVTjZP?=
 =?utf-8?B?c0VSdkFTZDg0Y1NwTXNXSjV1YzNpNjZrUGVvb3k5WGQ2UTF1TUlaYUIxS1Ar?=
 =?utf-8?B?b0d3VnZLdUlvd3lBUUZzOFRJbzhNNWQ4TTRFc1FqSHBabmJHTEp0SEZ0b1I1?=
 =?utf-8?B?Y1AzV3h6VytuWEpvamo5VWIvNWFlWGFvU0xpMUp5T2RnUWFTdW4zUG5nU1pz?=
 =?utf-8?B?aEtXQ0JVZ3cyNFhZMUpBeU15NHJxNjl4TjM3eFhWaXhPWVNxeWdPbEg0eVpz?=
 =?utf-8?B?Sis2ZlViYjdiTXl1RHdKN3FHbHRoRGZvSkFSWnFkU29XWHcvdWlnd2JJVnB2?=
 =?utf-8?Q?tp1TUMDWVW3NBrYKW5aHq/Ahd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f145ff9c-e976-4d65-d7bf-08db94df078b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 11:36:22.9427
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9vrtKESVd8AsrN7AA6Jrbstg1dHD7cLQIeyCReaabjLy+nSJSNxB0SsgqYdkLxfsY2P/nPeh/sQBJTzWlke1IQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7080

On 04.08.2023 11:29, Andrew Cooper wrote:
> On 04/08/2023 8:23 am, Jan Beulich wrote:
>> On 03.08.2023 22:36, Andrew Cooper wrote:
>>> The opensuse-tumbleweed build jobs currently fail with:
>>>
>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>>>      56 |   if (!key->p || !key->q || !key->u) {
>>>         |       ^
>>>   In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>>>      28 |   tpm_bn_t p;
>>>         |            ^
>>>
>>> This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
>>> OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
>>> but that's not what the code does.
>> Looking at the code, I'm not sure about this. There could as well have been
>> the intention to allow pointers there, then permitting them to be left at
>> NULL. Who knows where that code came from originally.
> 
> Do you agree that the patch is no function change, or are you saying
> that you think I got some of my analysis wrong?

Oh, I'm sorry for the potentially ambiguous reply: I agree there's no functional
change. I'm merely not sure about your guessing of value checks being meant.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 11:39:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 11:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577110.903999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRt9n-000384-DF; Fri, 04 Aug 2023 11:39:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577110.903999; Fri, 04 Aug 2023 11:39:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRt9n-00037x-AP; Fri, 04 Aug 2023 11:39:47 +0000
Received: by outflank-mailman (input) for mailman id 577110;
 Fri, 04 Aug 2023 11:39:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VoTD=DV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qRt9l-00037p-Cf
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 11:39:45 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20619.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a9cad57-32bb-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 13:39:43 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9552.eurprd04.prod.outlook.com (2603:10a6:20b:4fb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 11:39:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 11:39:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a9cad57-32bb-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nqcapm3KGkpf64TDOmb0PdRfdKBMDX4bBP3TAQDNu9+Y5EC2DxAmqDb78HgsYkQw7UYFSnRhh4VR4ODbm3DFRw5qYo6uyjqlwC9jDqxdI/ToLi12SF4FS6x9jKpGgYPtj/SMlMBUFVH8QydfkpfpLrAABf1GZ7vf47O90tjmdKapF9N2S6faT2zWp2H8xAjN+brEh/rlJhG1VCit4CV5rdcvkrZLLU8DkvmMfdZ7VPNfRs1gMOnBg/Ym7b7vDbrWVdic1xY+CuOZcQ6HrJp987axrGOy2lFst6wG3RLKc6tSSxADjD+KFOA/gWuNGvBlpCPNok5f/o/9jUQLko54xQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lN9SFW9g/Qx3UKEHTnyDh2ynuN5d2QJ+aszhumNIb/U=;
 b=FDVrdUsmsJZqsOK39cxaUD2E1HZIW/eksYW7KW+UpBM5xYGzz/nlqXz7Yc19FyMCNl+RNTjPzYUShhojnx6hzkJXVpyTs7yKWVd7vkqZst84Ucgc1rzQX6Y0DFZetKz3AzA5A0LlRzCahF5GRm6sA4dEoKzuwBdwCbRd/v0PS43HKNJDxOeS18REp9M5Xd8e+qIoAIZQH8Z7YlG9dqXEw4PxPBnamh/nUpsFoNno+Sz6kS20zAp25Mefp7ATLiBfEYotYAlONySjmbcGCQQquOFGx5spn1d9P+IXUbHcxOYEhSM65Ki9QoN4kxm7eNB5UA2JJEpw6qn/CjbysMiZNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lN9SFW9g/Qx3UKEHTnyDh2ynuN5d2QJ+aszhumNIb/U=;
 b=oTZkJ6j1mjOp3cRWXLhEBe6Jtup4Xe5LAkCbm2y1TeFU2RYQClaNdUrwWK8+QEiIH0eqShD565Z/xqLqf43HEJaVjK9esvsPVVD1hog05acQLXgyc8HO6KKcJMuWSmD8sebFkBS36V2xUvlXBgKRIXbWMrL6rea5mArzFV54H+r5u1u02wqDf2i9/4nAhieZ5+H1jnaa2Y1RGGkXyc01A0NvBwvRpi2tZYP92dyLgwIgNzBJUoMBNM/CkWdDfDhd3hF6df2fJWebNa/I5iM3WMqeQiVXjtWGSTOFU3HJuPh8s6mdyU4x0RLJefHNK7WdTQTrx6OTCzRiZu0zhte8IQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@suse.com>
Date: Fri, 4 Aug 2023 13:39:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: Address MISRA C:2012 Rule 8.4
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com,
 Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::18)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9552:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d445304-cdc5-47ba-4a4d-08db94df7db3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hkU3JijJATfzjY5AHubQDMM26MPhGlwxWFxAttNsAiiIFCQZY6IyGMEydZeLG75vSPuSpzXW/9PNywxS2Z3epq4UYiaH5kFmKo5dsJ3RB/+oCVZQYeGQ35ck1wLB6eIPAPVNRY3TUodrIDzTWaiAvcGJccjqFsqjMWuBAnyOEZsV6Zzr/8WHiVJ6a9mdAYcpdGywxtkVHs7Y007HTGLHD+l3JMjnCZ41WfxD9DPyU5ZgtWoY7HlFEFieq1gMwpyp0/XtLfWLpAjOnePtJUbrj6w1H2VEV0Cxnv6VAaT8fDLvf1HxKz0lnk1dNneG9HktpcmWcpvsYKbBb86panRitY/o8MUFJNwdZzGLJcJdc2COyDEkLYnMpPtz9EF2o9/kZnnfV3BME4oaP8nK4iaWw39/RWqBGoDdkQafboS8uTCaIxRkoytNO3azzAdml9y58uUzWytf1JhZE8Xkl1NF7EG8JO6E0RohNbZtWpVr6wQJiloUcehnZxtAW73RWAh/UEfctjokNncPWheUFESTpXA06lb8yg/btZRnjnGtxSqs7jDf3x2wM2heqJKvVOpAKh4GMv7e38R+z/v2aFdbEZc1B6SxZPV2vaYAHCYNT3mBgVgtTMwcTul6LZimGt3PoR+u8a6C6CCCkmqcbnHGUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(376002)(39860400002)(136003)(366004)(1800799003)(186006)(451199021)(86362001)(31696002)(36756003)(31686004)(54906003)(478600001)(38100700002)(6512007)(83380400001)(2616005)(6506007)(26005)(53546011)(6666004)(6486002)(8676002)(8936002)(41300700001)(6916009)(4326008)(66476007)(316002)(7416002)(5660300002)(66556008)(66946007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEJKVXVCV1RWQnhjTlFYb0MzVWZYSlY1cTNvM1JVaGE0ZFlVL1NHVXdPZ0xj?=
 =?utf-8?B?RmVIeDl2Wi9zY085WE9nR1FibWxLWWMwUlZFcithVzFhNGdNOEc1bEMvbkJn?=
 =?utf-8?B?Nk1uWlNPU0s1K3BOUFJhMUFEZGZTQzJGNk5ZTEFNVzhMMUI3MEo5eUU4Rnhy?=
 =?utf-8?B?eXdlMWJJQTNUcUo2ZkVhRmkwNHJyVWhJdmlqT25jaDVNek9QOS93M3dDOWtP?=
 =?utf-8?B?ZW1ISU5kRW9EMEJOSzNraCtMN21XaVNSUzhXQ3VOZ3Y5TGZ2dUtmT1oyS1hH?=
 =?utf-8?B?d1VldHpMNVdMYTFibmNMS1UvamswZGlqdllnWnhFWjluOXVnczJ2bDB5dDlP?=
 =?utf-8?B?RmNmT3NqUi83UXhPdE5qV2NDcjl1NUh6d3dTS0RydmIrSnNRaFc0NVNaKzNW?=
 =?utf-8?B?N3hmNFRjMWRVZ0ZtRXhkSFF1a3NjV05HYThQeDRoekFrMW9lMHRDMmNhd3Yx?=
 =?utf-8?B?cVRMRlQxUzhXcG5NVmgxWTNZZ2F5bUZWTkpSRVA2dGwzazNHRzZMRFc4NUx3?=
 =?utf-8?B?TDZQS3B3R3lHbE5yckVxemRjb3A4RURSRkg5ZU9pbll0Sk9xbXo0MnhVZmZi?=
 =?utf-8?B?dXlYZGE4aUZKZjF2OXliQ1NVSElJSy9iN0d6L2FKQXkvVjd5dDBhR3RIN2x4?=
 =?utf-8?B?eW82VlM4bjZDZXRhSzBIK0h4MWV2akJmVFhyRGpJSnliOGoxbU00RUZCRzZi?=
 =?utf-8?B?YndzM0dnUm8venlMZFBpQWplQzZKZ0c2NGxnZCtUV3lRRWpyYXRYTVV5QWxl?=
 =?utf-8?B?OVUvNk5PcUJwUFFxZGZOZzU1M2hTQXppREhWVHhkWEVKYnNvYWlpVWZXMmtX?=
 =?utf-8?B?OXVrbmlQWkxGTUFzSzFEZFhpVEdaY2JYcUpYYit5b3QyNXNZdklsL2V0Q2lD?=
 =?utf-8?B?SGJ2Z0IwM1h4L0hJYjA1SHBPc0g2TE9vYk5hVjJXaVQyTDIydzZqVDlhcnhn?=
 =?utf-8?B?dkg5dmY4K2pYTjJFQjZXUG1BazNJYklqRldtaE1mZFQ2ZFVyZVBManVJZGo3?=
 =?utf-8?B?aytLQUI3OE4rK24vTFYrSExYckdWRnFPL2l2OGYrMmJGUWtrRE1DT0dLdUpm?=
 =?utf-8?B?NGk2eXlhdVhiL1EyYUN3cy93dk9YT3U3Rkw0Y2c1bC9qKzJIL2llT21UeTdr?=
 =?utf-8?B?cmpBZ0FXVDh1TGlEQ3JBREpzakR2L0VwbHJIYXMvMm04WUFBck1mdkh6a0hU?=
 =?utf-8?B?MFkrQVBhUEpya0tBalFmQUs2LzZCTnZrTk9jRU54SGJEYmhadGxMVlZtRVJw?=
 =?utf-8?B?KzB1TDRIVHhSTXVmYlNLcC9GWk5ONUpSR3hIUU1QOVVHWlFFenc3MVN3ajVE?=
 =?utf-8?B?WExjREw5Y0JBVFRiWmxyT1FoZXA5MnhkbVY1WFRHQ0R4bkFHMmE3U3U0Q2Qy?=
 =?utf-8?B?bVErTjhHS1A3VjU0ZTVCYlo3TGZ1TWxCVmVha3dpMGFPeEZmVUVCOXBod1JH?=
 =?utf-8?B?WmNYNEc3V3hEWnZFVnJaemVXcXdGL2Jtc1NqU3FHZzYzWGdUN0FrdlMrdUF0?=
 =?utf-8?B?aEordzVCSk9vNzlyR0IvOFU1RUxkVHhjNDlxMGQyTUJ2U2pmR1YwbWEza05y?=
 =?utf-8?B?SXZlem5MNEdUZWhKVUplWVVpMzdnQi81QkV5eVVQbUQ2TithT0tKZWFwZ3pF?=
 =?utf-8?B?VFN6VzFjYUJBdUNqMFl0KzFOcGVuSC9uekF6aTdINTBWSForMUpCVFJCZUdU?=
 =?utf-8?B?OTc1aU83Y3NzOEUycE9zczZGN2RSR0U5NU9FSHhvWnRETWZUUGdFa1hnLzl6?=
 =?utf-8?B?aGFMUCtGd1NNN3ErSHRaaUEzU051aXM2NXVwUXI0dHNodTlyV3Rhc1grYVdM?=
 =?utf-8?B?MjlBWU1maVROMCtQa1kzREhnQll0bkRTN1V4UFBKUEJuMkNhUFU5NFk2ZlNW?=
 =?utf-8?B?ZkFyVDBmSDdHQkowMnlZQkRFZDVVT0VZVHhWT3I2WnR6c3piajNDVytPRGF5?=
 =?utf-8?B?dmk1cTVVVldGZ0toRnN4YlFWOVM3TUk2UWFzdHRrRFg1a3Rjd3VoL0V4ZVZW?=
 =?utf-8?B?U01CVlRHanFXY2p0YldOYmtGSm5UczNoZElZajA4aS90b1FrU2twUFNWbWo4?=
 =?utf-8?B?ZmhXUEIrcnJHYVNaZWx1bzU5YWFKS2ZyR0tTcGJxaFl5NkxMcDVGd005eXdD?=
 =?utf-8?Q?A6eXmQiJkVfLp0y8qpN641NJ0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d445304-cdc5-47ba-4a4d-08db94df7db3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 11:39:41.1465
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rA7e90Jg8f9smvweWKUFC8+h06TePyCrs2VSa198sfYV/KqVkt6QTVnABMWnej254XbT4nQoJLH7zBBx3/Q2XQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9552

On 04.08.2023 11:47, Nicola Vetrini wrote:
> Upon further examination, I identified the following patterns:
> 
> 1. Functions defined in .c called only from asm code (e.g., the already 
> mentioned __start_xen)
> 2. Functions/variables declared in a .h, defined in a .c that does not 
> include the .h with the declaration
> (e.g., 'fill_console_start_info' is defined in 'xen/drivers/vga.c', 
> declared in 'xen/include/xen/console.h' which is not visible when 
> compiling the .c).
> 3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in 
> 'xen/include/acpi/acglobal.h', depending on
>     DEFINE_ACPI_GLOBALS
> 
> Below are the proposed resolution strategies:
> 
> 1. I would advise to add the declaration in the relative .h, to support 
> automatic consistency checks with the
>     implementation and a quick reference when touching the asm.

That'll need discussing first.

> 2. To comply with the rule, the header with the declaration should be 
> included. Also note that there are some
>     corner cases, such as 'get_sec', which is used in 'cper.h' without 
> including 'time.h' (which should gain a
>     declaration for it).

This one of course wants fixing wherever found.

> 3. One possible resolution pattern is including 'acglobal.h' twice 
> (either directly or indirectly trough acpi.h, if
>     the latter does not cause other issues) like so:
> 
>     (assuming DEFINE_ACPI_GLOBALS is undefined here)
>     #include "acglobal.h"
>     #define DEFINE_ACPI_GLOBALS
>     #include  "acglobal.h"
> 
>    this way, the rule is followed properly, though it's not the prettiest 
> pattern and also clashes with the objectives
>    of D4.10 ("Precautions shall be taken in order to prevent the contents 
> of a header file being included
>    more than once"), but then a motivated exception is allowed there.

Not really sure about this one.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 11:44:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 11:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577115.904008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRtEc-0004Zc-Vy; Fri, 04 Aug 2023 11:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577115.904008; Fri, 04 Aug 2023 11: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 1qRtEc-0004ZV-TF; Fri, 04 Aug 2023 11:44:46 +0000
Received: by outflank-mailman (input) for mailman id 577115;
 Fri, 04 Aug 2023 11:44: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=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRtEb-0004ZP-Pu
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 11:44:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e1e9bc9-32bc-11ee-b26b-6b7b168915f2;
 Fri, 04 Aug 2023 13:44:44 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 9FE4D4EE0737;
 Fri,  4 Aug 2023 13:44: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: 4e1e9bc9-32bc-11ee-b26b-6b7b168915f2
Message-ID: <916de98d-95c5-988e-2fe2-6d8cfaf7c90e@bugseng.com>
Date: Fri, 4 Aug 2023 13:44:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] x86/processor: drop bool_t from mcheck_init()
 parameter
Content-Language: en-US, it
To: xen-devel@lists.xenproject.org
Cc: 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>, Wei Liu <wl@xen.org>
References: <26b30382b1b3daffb829ceb34d39c14185e9e147.1691146541.git.federico.serafini@bugseng.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <26b30382b1b3daffb829ceb34d39c14185e9e147.1691146541.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 04/08/23 12:56, Federico Serafini wrote:
> Drop bool_t to make the function declaration consistent with the
> corresponding definition.
> This addresses a violation of MISRA C:2012 Rule 8.3 ("All declarations
> of an object or function shall use the same names and type qualifiers").
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>   xen/arch/x86/include/asm/processor.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
> index 0989748be6..ae43ba5dc9 100644
> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -415,7 +415,7 @@ void noreturn fatal_trap(const struct cpu_user_regs *regs, bool_t show_remote);
>   extern void mtrr_ap_init(void);
>   extern void mtrr_bp_init(void);
>   
> -void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp);
> +void mcheck_init(struct cpuinfo_x86 *c, bool bsp);
>   
>   void do_nmi(const struct cpu_user_regs *regs);
>   void do_machine_check(const struct cpu_user_regs *regs);

I can do better and drop bool_t from the entire file.
I will do it in a v2.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 12:05:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 12:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577130.904018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRtYm-0007OV-Og; Fri, 04 Aug 2023 12:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577130.904018; Fri, 04 Aug 2023 12:05: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 1qRtYm-0007OO-Lx; Fri, 04 Aug 2023 12:05:36 +0000
Received: by outflank-mailman (input) for mailman id 577130;
 Fri, 04 Aug 2023 12:05: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRtYl-0007OI-MO
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 12:05:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 369ce50f-32bf-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 14:05:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id EB3B62186B;
 Fri,  4 Aug 2023 12:05:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C10A513904;
 Fri,  4 Aug 2023 12:05:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MqdELYzpzGQ2aAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 12:05: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: 369ce50f-32bf-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691150732; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Ki4eE8KIJGI7HsBWhntynRPipCidvB8DSebuHEtMRdc=;
	b=TnMEI2zK1EtgKbVg9MlMVT8fdfAz5+3JVSs3CT60CGFTfjBhhR19aTOMsvvNw7bxUnAzcc
	zYLVtroEGlbjXWAVVqKzjhjbDFdooVfQvkWNJJRboB7IPANs3T89EKoOgvHbKBxoIGjLNa
	4c5NKtJxbhQHXaL9+4w1YUGyudOoV34=
Message-ID: <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
Date: Fri, 4 Aug 2023 14:05:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
 <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
In-Reply-To: <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------qJ7UYErQpPpJ0NC64ye50hJo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------qJ7UYErQpPpJ0NC64ye50hJo
Content-Type: multipart/mixed; boundary="------------6fMLqb9HaWUIBj2asiWGeC08";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
 <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
In-Reply-To: <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>

--------------6fMLqb9HaWUIBj2asiWGeC08
Content-Type: multipart/mixed; boundary="------------rhPx0TzYaFyAMCT9HPkaQvWR"

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

T24gMDQuMDguMjMgMTI6MzMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA0LzA4LzIwMjMgMTE6MTcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwNC4wOC4yMyAxMjowMCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpLA0KPj4+DQo+
Pj4gT24gMDQvMDgvMjAyMyAxMDozNSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gT24g
MDMuMDguMjMgMjM6NDYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+Pj4+IEhpLA0KPj4+Pj4N
Cj4+Pj4+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gVG9kYXkgaXNfdmFsaWRfbm9kZW5hbWUoKSBpcyBhbHdheXMgY2FsbGVkIGRpcmVjdGx5
IGFmdGVyIGNhbGxpbmcNCj4+Pj4+PiBjYW5vbmljYWxpemUoKSwgd2l0aCB0aGUgZXhjZXB0
aW9uIG9mIGRvX3Vud2F0Y2goKSwgd2hlcmUgdGhlIGNhbGwNCj4+Pj4+PiBpcyBtaXNzaW5n
ICh3aGljaCBpcyBub3QgY29ycmVjdCwgYnV0IHJlc3VsdHMganVzdCBpbiBhIHdyb25nIGVy
cm9yDQo+Pj4+Pj4gcmVhc29uIGJlaW5nIHJldHVybmVkKS4NCj4+Pj4+DQo+Pj4+PiBXaGls
ZSB0aGlzIGNoYW5nZSBtYWtlcyBzZW5zZS4uLg0KPj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IE1l
cmdlIGlzX3ZhbGlkX25vZGVuYW1lKCkgaW50byBjYW5vbmljYWxpemUoKS4gV2hpbGUgYXQg
aXQgbWVyZ2UNCj4+Pj4+PiB2YWxpZF9jaGFycygpIGludG8gaXQsIHRvby4NCj4+Pj4+DQo+
Pj4+PiAuLi4gSSBhbSBub3QgaW4gZmF2b3Igb2YgZm9sZGluZyB0aGUgY29kZSBpc192YWxp
ZF9ub2RlbmFtZSgpIGFuZCANCj4+Pj4+IHZhbGlkX2NoYXJzKCkgaW50byBjYW5vbmljYWxp
emUoKSBiZWNhdXNlIHRoZSBjb2RlIGlzIG5vdyBtb3JlIGRpZmZpY3VsdCB0byANCj4+Pj4+
IHJlYWQuIEFsc28sIHRoZSBrZWVwaW5nIHRoZSBzcGxpdCB3b3VsZCBhbGxvdyB0byBmcmVl
IHRoZSAnbmFtZScgaW4gY2FzZSBvZiANCj4+Pj4+IGFuIGVycm9yIHdpdGhvdXQgYWRkaW5n
IHRvbyBtdWNoIGdvdG8gaW4gdGhlIGNvZGUuDQo+Pj4+DQo+Pj4+IEkgZG9uJ3QgdGhpbmsg
d2UgY2FuIGVhc2lseSBmcmVlIG5hbWUgaW4gYW4gZXJyb3IgY2FzZSwgYXQgdGhhdCB3b3Vs
ZCByZXF1aXJlDQo+Pj4+IHRvIGtlZXAga25vd2xlZGdlIHRoYXQgbmFtZSB3YXMganVzdCBh
bGxvY2F0ZWQgaW4gdGhlIG5vbi1jYW5vbmljYWwgY2FzZS4NCj4+Pg0KPj4+IEhvdyBhYm91
dCB0aGlzOg0KPj4+DQo+Pj4gY29uc3QgY2hhciAqY2Fub25pY2FsaXplKHN0cnVjdCBjb25u
ZWN0aW9uICpjb25uLCBjb25zdCB2b2lkICpjdHgsDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbm9kZSwgYm9v
bCBhbGxvd19zcGVjaWFsKQ0KPj4+IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNo
YXIgKnByZWZpeDsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWU7DQo+
Pj4NCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGlmICghbm9kZSkNCj4+PiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsNCj4+Pg0KPj4+IMKgwqDCoMKgwqDC
oMKgwqAgaWYgKG5vZGVbMF0gPT0gJ0AnICYmICFhbGxvd19zcGVjaWFsKQ0KPj4+IMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPj4+DQo+Pj4gwqDC
oMKgwqDCoMKgwqDCoCBpZiAoIW5vZGUgfHwgKG5vZGVbMF0gPT0gJy8nKSB8fCAobm9kZVsw
XSA9PSAnQCcpKQ0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVy
biBub2RlOw0KPj4+IMKgwqDCoMKgwqDCoMKgwqAgcHJlZml4ID0gZ2V0X2ltcGxpY2l0X3Bh
dGgoY29ubik7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBpZiAocHJlZml4KSB7DQo+Pj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFtZSA9IHRhbGxvY19hc3ByaW50Zihj
dHgsICIlcy8lcyIsIHByZWZpeCwgbm9kZSk7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgaWYgKG5hbWUpDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPj4+IMKgwqDCoMKgwqDCoMKg
wqAgfSBlbHNlDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFtZSA9
IG5vZGU7DQo+Pj4NCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGlmICghaXNfdmFsaWRfbm9kZW5h
bWUoY29ubiwgbm9kZSwgYWxsb3dfc3BlY2lhbCkpIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAvKiBSZWxlYXNlIHRoZSBtZW1vcnkgaWYgJ25hbWUnIHdhcyBh
bGxvY2F0ZWQgYnkgdXMgKi8NCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBpZiAoIG5hbWUgIT0gbm9kZSApDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRhbGxvY19mcmVlKG5hbWUpOw0KPj4+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPj4+IMKgwqDCoMKgwqDC
oMKgwqAgfQ0KPj4+DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbmFtZTsNCj4+PiB9
DQo+Pj4NCj4+PiBBbmQgYmVmb3JlIHlvdSBhc2ssIEkgZG9uJ3Qgc2VlIHRoZSBiZW5lZml0
cyB0byBwYXJ0aWFsbHkgdmFsaWRhdGUgdGhlIG5hbWUgDQo+Pj4gYmVmb3JlIGFsbG9jYXRp
bmcuIEhlbmNlIHdoeSBJIHN1Z2dlc3QgdG8ga2VlcCBpc192YWxpZF9ub2RlbmFtZSgpIGFz
IHRoaXMgDQo+Pj4ga2VlcCB0aGUgZnVuY3Rpb24gc21hbGwuDQo+Pg0KPj4gUGFydGlhbGx5
IHZhbGlkYXRpbmcgYmVmb3JlIGRvaW5nIHRoZSBhbGxvY2F0aW9uIGlzIGEgYmVuZWZpdCBh
cyBpdCBkb2Vzbid0DQo+PiBzcGVuZCBjeWNsZXMgb24gdmFsaWRhdGluZyB0aGUga25vd24g
Z29vZCBwcmVmaXguDQo+IA0KPiBXaGljaCBpcyBwcmV0dHkgbXVjaCBhIGRyb3AgaW4gdGhl
IG9jZWFuIGluIHRoZSBjb250ZXh0IG9mIFhlbnN0b3JlZCA6KS4gSW4gDQo+IHJlYWxpdHkg
bW9zdCBvZiB0aGUgdmFsaWRhdGlvbiBjYW4gYmUgZG9uZSBiZWZvcmUgdGhlIGFsbG9jYXRp
b24gd2l0aCBhIGJpdCBvZiANCj4gd29yay4NCg0KWWVzLCBidXQgdGhpcyB3b3VsZCBuZWVk
IGEgbW9yZSBjb21wbGljYXRlZCBsb2dpYyByZWxhdGVkIHRvIHRoZSBoYW5kbGluZw0Kb2Yg
bG9jYWxfb2ZmLiBJIHRob3VnaHQgYWJvdXQgdGhhdCwgYnV0IGRpZG4ndCB3YW50IHRvIG1h
a2UgdGhlIHBhdGNoIG1vcmUNCmNvbXBsaWNhdGVkLg0KDQpBbmQgcmVnYXJkaW5nIHBlcmZv
cm1hbmNlIC0geWVzLCBpdCB3aWxsIGJlIG1pbmltYWwsIGJ1dCBpdCB3YXMgcmF0aGVyIGxv
dw0KaGFuZ2luZyBmcnVpdC4NCg0KPj4gQWRkaXRpb25hbGx5IHlvdXIgZXhhbXBsZSB3b24n
dCB2YWxpZGF0ZSBhbiBhYnNvbHV0ZSBwYXRobmFtZSBhdCBhbGwuDQo+IA0KPiBUaGF0J3Mg
YW4gZXJyb3IgaW4gdGhlIGxvZ2ljLiBUaGlzIGNhbiBiZSBzb3J0ZWQgb3V0Lg0KPiANCj4+
DQo+PiBXaGF0IGFib3V0IHRoaXMgdmFyaWFudDoNCj4gDQo+IEkgc3RpbGwgZG9uJ3Qgc2Vl
IHRoZSB2YWx1ZSBvZiBmb2xkaW5nIGlzX3ZhbGlkX25vZGVfbmFtZSgpLiBCdXQgaWYgdGhl
IG90aGVyIA0KPiBhZ3JlZXMgd2l0aCB5b3UgdGhlbi4uLg0KDQpJIGRpZG4ndCBzZWUgdGhl
IHZhbHVlIG9mIGtlZXBpbmcgdGhlbSBhcGFydCwgYXMgdGhlIG9ubHkgY2FsbGVyIG9mDQpp
c192YWxpZF9ub2RlX25hbWUoKSB3b3VsZCBiZSBjYW5vbmljYWxpemUoKSBhZnRlciB0aGlz
IHBhdGNoLiA6LSkNCg0KPiANCj4+DQo+PiBjb25zdCBjaGFyICpjYW5vbmljYWxpemUoc3Ry
dWN0IGNvbm5lY3Rpb24gKmNvbm4sIGNvbnN0IHZvaWQgKmN0eCwNCj4+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5v
ZGUsIGJvb2wgYWxsb3dfc3BlY2lhbCkNCj4+IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqAgY29u
c3QgY2hhciAqbmFtZTsNCj4+IMKgwqDCoMKgwqDCoMKgwqAgaW50IGxvY2FsX29mZiA9IDA7
DQo+PiDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBkb21pZDsNCj4+DQo+PiDCoMKg
wqDCoMKgwqDCoMKgIC8qDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgKiBJbnZhbGlkIGlmIGFu
eSBvZjoNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAqIC0gbm8gbm9kZSBhdCBhbGwNCj4+IMKg
wqDCoMKgwqDCoMKgwqDCoCAqIC0gaWxsZWdhbCBjaGFyYWN0ZXIgaW4gbm9kZQ0KPj4gwqDC
oMKgwqDCoMKgwqDCoMKgICogLSBzdGFydHMgd2l0aCAnQCcgYnV0IG5vIHNwZWNpYWwgbm9k
ZSBhbGxvd2VkDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+IMKgwqDCoMKgwqDCoMKg
wqAgZXJybm8gPSBFSU5WQUw7DQo+PiDCoMKgwqDCoMKgwqDCoMKgIGlmICghbm9kZSB8fA0K
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnNwbihub2RlLCAiQUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiINCj4+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIwMTIzNDU2Nzg5
LS9fQCIpICE9IHN0cmxlbihub2RlKSB8fA0KPiANCj4gLi4uIEkgd291bGQgcmF0aGVyIGtl
ZXAgY2FsbGluZyB2YWxpZF9jaGFycygpIGhlcmUuIFRoZSByZXN0IGxvb2tzIGZpbmUgZXZl
biANCj4gdGhvdWdoIHRoaXMgaXMgZGVmaW5pdGVseSBub3QgbXkgcHJlZmVyZW5jZS4NCg0K
SSBjYW4gZG8gdGhhdCwgZXZlbiBpZiBJIGRvbid0IHNlZSB0aGUgcmVhbCB2YWx1ZSB3aXRo
IHRoZSBjb21tZW50IGFib3ZlIHRoZSBpZi4NCg0KDQpKdWVyZ2VuDQo=
--------------rhPx0TzYaFyAMCT9HPkaQvWR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------rhPx0TzYaFyAMCT9HPkaQvWR--

--------------6fMLqb9HaWUIBj2asiWGeC08--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTM6YwFAwAAAAAACgkQsN6d1ii/Ey8G
OwgAjKxR3TMtLnmXXylq1ltnZmfH762kDM2YzO96504/ImdvXFGJ0MVF6szFSwVEDd3ukKRpCfnB
tqfsusvj8raAAKKiVSerTdkpg6Ah4GHznqpFlhyrnXlYpTFQj76z/K0K74wSvOISvwckbFtFXNrs
TWnNXS10D4vOyBXndXM/SmTGdbiY7KOjVUp7l5hxPviN7Ef57qdbZIgCdBQgKfJcaDY/RndAfVFv
Aq5U3xH1Fu6faKURR4S/mEf7sV+rNj44bACiMIspKOoT+TrN7x5oWwUGNK5Lcfi9zKbtBskpv2++
dlQJYbhY26JyXem/RV1Rd0knxOeJgEE6a1eGv6JT6w==
=dQJY
-----END PGP SIGNATURE-----

--------------qJ7UYErQpPpJ0NC64ye50hJo--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 12:25:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 12:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577136.904029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRts2-0001Rv-BP; Fri, 04 Aug 2023 12:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577136.904029; Fri, 04 Aug 2023 12: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 1qRts2-0001Ro-7q; Fri, 04 Aug 2023 12:25:30 +0000
Received: by outflank-mailman (input) for mailman id 577136;
 Fri, 04 Aug 2023 12:25: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 1qRts0-0001Rd-G5; Fri, 04 Aug 2023 12:25: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 1qRts0-0002lR-CA; Fri, 04 Aug 2023 12:25: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 1qRtrz-0005xW-Th; Fri, 04 Aug 2023 12:25:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRtrz-0007vQ-TF; Fri, 04 Aug 2023 12:25:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T0bC3z+eKvtzEVewTjtM3Dsn01A5HbGHdByCHy/Uo70=; b=7HO7wqwANMpe9np+DGgSX5OK5V
	H/EBvaj/nkE/pxlIhkO/zRn7mK/+mlMU7KUP6z2zQ7c6SV7mY9ijjmjsOJKheSIXPoHi5ewSO04ku
	Gjktvuqp4AYejZ3iA5bI4xDLDRW+CVmniaDsg5NjPmiDkHHQlw6NV6CXwc8hshwEXGFs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182175-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182175: 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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=1ca3c339a119242b4a511fc9cf7b561a77d2301e
X-Osstest-Versions-That:
    libvirt=99349ba18e726465215a71f28d2146a0a2adb65d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 12:25:27 +0000

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

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

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 182131
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182131
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              1ca3c339a119242b4a511fc9cf7b561a77d2301e
baseline version:
 libvirt              99349ba18e726465215a71f28d2146a0a2adb65d

Last test of basis   182131  2023-08-02 19:15:02 Z    1 days
Testing same since   182175  2023-08-04 01:18:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@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                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 1ca3c339a119242b4a511fc9cf7b561a77d2301e
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 10:25:43 2023 +0200

    lib: Prefer sizeof(variable) instead of sizeof(type) in memset
    
    If one of previous commits taught us something, it's that:
    sizeof(variable) and sizeof(type) are not the same. Especially
    because for live enough code the type might change (e.g. as we
    use autoptr more). And since we don't get any warnings when an
    incorrect length is passed to memset() it is easy to mess up. But
    with sizeof(variable) instead, it's not as easy. Therefore,
    switch to using memset(variable, 0, sizeof(*variable)), or its
    alternatives, depending on level of pointers.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 4f159d426921bb81375fe5404ff88aab9437972a
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 11:48:30 2023 +0200

    lib: Finish using struct zero initializer manually
    
    There are some cases left after previous commit which were not
    picked up by coccinelle. Mostly, becuase the spatch was not
    generic enough. We are left with cases like: two variables
    declared on one line, a variable declared in #ifdef-s (there are
    notoriously difficult for coccinelle), arrays, macro definitions,
    etc.
    
    Finish what coccinelle started, by hand.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit b20a5e9a4d847b06030b07a5387da22df0005011
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Aug 2 10:09:52 2023 +0200

    lib: use struct zero initializer instead of memset
    
    This is a more concise approach and guarantees there is
    no time window where the struct is uninitialized.
    
    Generated using the following semantic patch:
    
      @@
      type T;
      identifier X;
      @@
      -  T X;
      +  T X = { 0 };
         ... when exists
      (
      -  memset(&X, 0, sizeof(X));
      |
      -  memset(&X, 0, sizeof(T));
      )
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 7ce0fbccf1df61e7dfd86d1cbb863f82c36c494c
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 09:45:14 2023 +0200

    virnetdaemon.c: Use struct zero initializer instead of memset
    
    Ideally, these would be fixed by coccinelle (see next commit),
    but because of various reasons they aren't. Fix them manually.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 3b95df9edaf5c1ab0aaa30727729f7fcc9122ddb
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 11:48:57 2023 +0200

    virnetclient: Update comment about memset()
    
    Instead of suggesting to zero structs out using memset() we
    should suggest initializing structs with zero initializer.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 3d7faaf71213d5dc004a0f0c9df2e729e7cf1d0e
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 10:43:13 2023 +0200

    virnetlink: Drop unused variable from virNetlinkCommand()
    
    The fds variable inside of virNetlinkCommand() is not used
    really. It's passed to memset() (hence compilers do not
    complain), but that's about it. Drop it.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit ea5352334af4ce9151e826db7a0dc3f02a211b6c
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 10:30:12 2023 +0200

    virfirewalld: Drop useless memset() in virFirewallDApplyRule()
    
    This is a residue of v6.8.0-rc1~100. The error variable inside of
    virFirewallDApplyRule() is already initialized to NULL. There's
    no need to memset() it to zero again.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 258fc73cf051419d19947059a98f1d6a2d1d4910
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 09:39:03 2023 +0200

    remote_driver: Drop explicit memset(&sargs) in remoteAuthSASL()
    
    Inside of remoteAuthSASL() the sargs variable is already
    initialized to zero during declaration. There's no need to
    memset() it again as it's unused in between it's declaration and
    said memset().
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 5aba19868732e86e610d84e11d8adcbd1046d5b9
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Thu Aug 3 08:52:57 2023 +0200

    qemu: Don't reuse variable in processSerialChangedEvent()
    
    When a VSERPORT_CHANGE event is processed, we firstly do a little
    detour and try to detect whether the event is coming from guest
    agent. If so, we notify threads that are currently talking to the
    agent about this fact. Then we proceed with usual event
    processing (BeginJob(), update domain def, emit event, and so
    on).
    
    In both cases we use the same @dev variable to refer to domain
    device. While this works, it will make writing semantic patch
    unnecessary harder (see next commit(s)). Therefore, introduce a
    separate variable for the detour code.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 039b16e41ed1648646c4b35947428ba1b56d8e2a
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Aug 2 15:30:04 2023 +0200

    Decrease scope of some variables
    
    There are couple of variables that are declared at function
    beginning but then used solely within a block (either for() loop
    or if() statement). And just before their use they are zeroed
    explicitly using memset(). Decrease their scope, use struct zero
    initializer and drop explicit memset().
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 6b4ce69251373379d63b539050ab94c579fd1616
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Aug 2 15:42:31 2023 +0200

    virt-aa-helper: Use struct zero initializer instead of memset
    
    This is similar to the previous commit, except this is for a
    different type (vahControl) and also fixes the case where _ctl is
    passed not initialized to vah_error() (via ctl pointer so that's
    probably why compilers don't complain).
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit 33b794898364be55f19eaf9a834cd095b75e1b71
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Aug 2 14:57:44 2023 +0200

    tools: Fix vshControl declaration and initialization
    
    Both virsh and virt-admin have vshControl typed variables and
    also pointers to these variables. In both cases these are
    declared on a single line. Do the following:
    
      1) break declaration into two lines,
      2) use struct zero initializer for vshControl and
         virshControl/vshAdmControl structs,
      3) drop explicit memset(.., 0, ...) ;
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Claudio Fontana <cfontana@suse.de>

commit a8262cb331db0f1a706edbadffc2cd5b01e44be6
Author: Laine Stump <laine@redhat.com>
Date:   Thu Jul 13 11:51:28 2023 -0400

    qemu: don't add --mac-addr option to passt commandline
    
    When I implemented passt support in libvirt, I saw the --mac-addr
    option on the passt commandline, immediately assumed that this was
    used for setting the guest interface's mac address somewhere within
    passt, and read no further. As a result, "--mac-addr" is always added
    to the passt commandline, specifying the setting from <mac
    addr='blah'/> in the guest's interface config.
    
    But as pointed out in this bugzilla comment:
    
    https://bugzilla.redhat.com/2184967#c8
    
    That is *not at all* what passt's --mac-addr option does. Instead, it
    is used to force the *remote* mac address for incoming traffic to a
    specific value. So setting --mac-addr results in all traffic on the
    interface having the same (the guest's) mac address for both source
    and destination in all traffic. Surprisingly, this still works, so
    nobody noticed it during testing.
    
    The proper thing is to not specify any mac address to passt - the
    remote MAC addresses can and should remain untouched, and the local
    MAC address will end up being known to passt just by the guest sending
    out packets with that MAC address.
    
    Reported-by: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Laine Stump <laine@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Stefano Brivio <sbrivio@redhat.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 12:27:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 12:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577142.904038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRttd-00023X-Qw; Fri, 04 Aug 2023 12:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577142.904038; Fri, 04 Aug 2023 12:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRttd-00023Q-OI; Fri, 04 Aug 2023 12:27:09 +0000
Received: by outflank-mailman (input) for mailman id 577142;
 Fri, 04 Aug 2023 12:27: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 1qRttc-00023G-Bl
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 12:27: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 1qRttb-0002nB-PP; Fri, 04 Aug 2023 12:27:07 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228] helo=[10.95.104.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qRttb-0004nn-HM; Fri, 04 Aug 2023 12:27:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XOlcaVRyMiJvAljp6aYw/EwvW+Rr9YJoKjiaaKp/Mec=; b=ER/7KbR7vw7ye/v/NCPSgTlLI4
	fI9ZS0eX9WXOfpqHDxh4y9PDATMq2XTuqjjMZALXrPtn2kOylpLoKVUY1A5LIm2qDi38A3xw07mcr
	KxfjuaYeBu22X2eDSEmNIru0yDSTr8RvSRNq+3fXltAZUk3IvJSiy+7rWA7ylXTm/XDc=;
Message-ID: <b8d23151-a159-441c-8e7e-5d4c199936f9@xen.org>
Date: Fri, 4 Aug 2023 13:27:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
 <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
 <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 04/08/2023 13:05, Juergen Gross wrote:
> On 04.08.23 12:33, Julien Grall wrote:
>>> const char *canonicalize(struct connection *conn, const void *ctx,
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const char *node, bool allow_special)
>>> {
>>> Â Â Â Â Â Â Â Â  const char *name;
>>> Â Â Â Â Â Â Â Â  int local_off = 0;
>>> Â Â Â Â Â Â Â Â  unsigned int domid;
>>>
>>> Â Â Â Â Â Â Â Â  /*
>>> Â Â Â Â Â Â Â Â Â  * Invalid if any of:
>>> Â Â Â Â Â Â Â Â Â  * - no node at all
>>> Â Â Â Â Â Â Â Â Â  * - illegal character in node
>>> Â Â Â Â Â Â Â Â Â  * - starts with '@' but no special node allowed
>>> Â Â Â Â Â Â Â Â Â  */
>>> Â Â Â Â Â Â Â Â  errno = EINVAL;
>>> Â Â Â Â Â Â Â Â  if (!node ||
>>> Â Â Â Â Â Â Â Â Â Â Â Â  strspn(node, 
>>> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "0123456789-/_@") != strlen(node) ||
>>
>> ... I would rather keep calling valid_chars() here. The rest looks 
>> fine even though this is definitely not my preference.
> 
> I can do that, even if I don't see the real value with the comment above 
> the if.

How about writing Xenstored in a single function then? After all with 
comments it should be easy to read, right? :)

There are a few difficulty with the current approach. There are:
   * a large function call that needs to be split over two lines
   * multiple || which also need to split over multiple lines.
   * No parentheses over strspn(....) != strlen(node)

Maybe you can parse/understand this 'if' very quickly. But I can't and 
this is just slowing down review and increasing the risk of introducing 
bugs.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 12:44:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 12:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577148.904052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRu9w-0004h8-As; Fri, 04 Aug 2023 12:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577148.904052; Fri, 04 Aug 2023 12: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 1qRu9w-0004h1-85; Fri, 04 Aug 2023 12:44:00 +0000
Received: by outflank-mailman (input) for mailman id 577148;
 Fri, 04 Aug 2023 12: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=+Hv6=DV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qRu9v-0004gv-0c
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 12:43:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93e0edcc-32c4-11ee-b26c-6b7b168915f2;
 Fri, 04 Aug 2023 14:43:57 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E63341F749;
 Fri,  4 Aug 2023 12:43:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B3089133B5;
 Fri,  4 Aug 2023 12:43:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uS66KYzyzGSsfQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 04 Aug 2023 12:43: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: 93e0edcc-32c4-11ee-b26c-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691153036; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=qfW6QB5yZXFZ2212VgUiVr7JUPgrxG7dwhv7QI16/jU=;
	b=bF+GpmGzeOpa1INu/9i8O4aDNpoTA1/vcATw89Z6/ELa7cEGcUH8LO8379tsx9+8J9n1MV
	gir7mue+uvG2KeknRzEDblH5RO+y8imZ2wYRP9rBbOlqoHpDwHJoVc4Vz5i/MJyykvciTJ
	HXH8TrH1g3/wEGGyksIUEtOoXbrj5Bo=
Message-ID: <0deb1b5f-86e7-cfe8-46cc-27c6d2bad6a8@suse.com>
Date: Fri, 4 Aug 2023 14:43:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.12.0
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
 <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
 <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
 <b8d23151-a159-441c-8e7e-5d4c199936f9@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <b8d23151-a159-441c-8e7e-5d4c199936f9@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------IFu6k4ljD8mJsMUVJHKk5Gl5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------IFu6k4ljD8mJsMUVJHKk5Gl5
Content-Type: multipart/mixed; boundary="------------Eaqx0aNR0RTA2WKVtRlJrWkP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <0deb1b5f-86e7-cfe8-46cc-27c6d2bad6a8@suse.com>
Subject: Re: [PATCH v3 23/25] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-24-jgross@suse.com>
 <dab986c3-e875-75a9-849c-954fb84edff7@xen.org>
 <99a76ceb-df27-3a37-296b-9fcf1671472e@suse.com>
 <e3b4e4c0-f188-4b7c-ad47-8c6d60532969@xen.org>
 <6193da26-c348-dcd2-b3ef-7b75ce4da376@suse.com>
 <8e7d18a0-0130-4ae5-adac-cfc122d6fb16@xen.org>
 <8f9a76fc-283a-e3f3-d19f-04401389a7de@suse.com>
 <b8d23151-a159-441c-8e7e-5d4c199936f9@xen.org>
In-Reply-To: <b8d23151-a159-441c-8e7e-5d4c199936f9@xen.org>

--------------Eaqx0aNR0RTA2WKVtRlJrWkP
Content-Type: multipart/mixed; boundary="------------tmV0RKt0tzrAOxmtqDCEIBog"

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

T24gMDQuMDguMjMgMTQ6MjcsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA0LzA4LzIwMjMgMTM6MDUsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwNC4wOC4yMyAxMjozMywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+PiBjb25zdCBjaGFy
ICpjYW5vbmljYWxpemUoc3RydWN0IGNvbm5lY3Rpb24gKmNvbm4sIGNvbnN0IHZvaWQgKmN0
eCwNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgY29uc3QgY2hhciAqbm9kZSwgYm9vbCBhbGxvd19zcGVjaWFsKQ0KPj4+PiB7DQo+
Pj4+IMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZTsNCj4+Pj4gwqDCoMKgwqDC
oMKgwqDCoCBpbnQgbG9jYWxfb2ZmID0gMDsNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCB1bnNp
Z25lZCBpbnQgZG9taWQ7DQo+Pj4+DQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqAgLyoNCj4+Pj4g
wqDCoMKgwqDCoMKgwqDCoMKgICogSW52YWxpZCBpZiBhbnkgb2Y6DQo+Pj4+IMKgwqDCoMKg
wqDCoMKgwqDCoCAqIC0gbm8gbm9kZSBhdCBhbGwNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg
ICogLSBpbGxlZ2FsIGNoYXJhY3RlciBpbiBub2RlDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDC
oCAqIC0gc3RhcnRzIHdpdGggJ0AnIGJ1dCBubyBzcGVjaWFsIG5vZGUgYWxsb3dlZA0KPj4+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCBlcnJubyA9
IEVJTlZBTDsNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCBpZiAoIW5vZGUgfHwNCj4+Pj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnNwbihub2RlLCANCj4+Pj4gIkFCQ0RFRkdISUpL
TE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiDQo+Pj4+IMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIwMTIzNDU2
Nzg5LS9fQCIpICE9IHN0cmxlbihub2RlKSB8fA0KPj4+DQo+Pj4gLi4uIEkgd291bGQgcmF0
aGVyIGtlZXAgY2FsbGluZyB2YWxpZF9jaGFycygpIGhlcmUuIFRoZSByZXN0IGxvb2tzIGZp
bmUgZXZlbiANCj4+PiB0aG91Z2ggdGhpcyBpcyBkZWZpbml0ZWx5IG5vdCBteSBwcmVmZXJl
bmNlLg0KPj4NCj4+IEkgY2FuIGRvIHRoYXQsIGV2ZW4gaWYgSSBkb24ndCBzZWUgdGhlIHJl
YWwgdmFsdWUgd2l0aCB0aGUgY29tbWVudCBhYm92ZSB0aGUgaWYuDQo+IA0KPiBIb3cgYWJv
dXQgd3JpdGluZyBYZW5zdG9yZWQgaW4gYSBzaW5nbGUgZnVuY3Rpb24gdGhlbj8gQWZ0ZXIg
YWxsIHdpdGggY29tbWVudHMgDQo+IGl0IHNob3VsZCBiZSBlYXN5IHRvIHJlYWQsIHJpZ2h0
PyA6KQ0KDQpZZWFoLCByaWdodC4NCg0KTWlnaHQgY29tZSB3aXRoIHRoZSBkb3duc2lkZSBv
ZiBhIGxpdHRsZSBiaXQgb2YgY29kZSBkdXBsaWNhdGlvbi4gOy0pDQoNCj4gDQo+IFRoZXJl
IGFyZSBhIGZldyBkaWZmaWN1bHR5IHdpdGggdGhlIGN1cnJlbnQgYXBwcm9hY2guIFRoZXJl
IGFyZToNCj4gIMKgICogYSBsYXJnZSBmdW5jdGlvbiBjYWxsIHRoYXQgbmVlZHMgdG8gYmUg
c3BsaXQgb3ZlciB0d28gbGluZXMNCj4gIMKgICogbXVsdGlwbGUgfHwgd2hpY2ggYWxzbyBu
ZWVkIHRvIHNwbGl0IG92ZXIgbXVsdGlwbGUgbGluZXMuDQo+ICDCoCAqIE5vIHBhcmVudGhl
c2VzIG92ZXIgc3Ryc3BuKC4uLi4pICE9IHN0cmxlbihub2RlKQ0KPiANCj4gTWF5YmUgeW91
IGNhbiBwYXJzZS91bmRlcnN0YW5kIHRoaXMgJ2lmJyB2ZXJ5IHF1aWNrbHkuIEJ1dCBJIGNh
bid0IGFuZCB0aGlzIGlzIA0KPiBqdXN0IHNsb3dpbmcgZG93biByZXZpZXcgYW5kIGluY3Jl
YXNpbmcgdGhlIHJpc2sgb2YgaW50cm9kdWNpbmcgYnVncy4NCg0KT2theSwgYXMgc2FpZCBh
Ym92ZTogSSBjYW4gZG8gdGhhdC4NCg0KDQpKdWVyZ2VuDQo=
--------------tmV0RKt0tzrAOxmtqDCEIBog
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------tmV0RKt0tzrAOxmtqDCEIBog--

--------------Eaqx0aNR0RTA2WKVtRlJrWkP--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTM8owFAwAAAAAACgkQsN6d1ii/Ey+Z
Bgf/ZDNcEpJglkRia3GBqq4fhgft1+Q/yp19qfqNoloc4+riNuy5RQSWPZDWVM2Fnyz50AdN6s0X
J/HWlZXcX2Lg3DzMMu4YxDqjtdL/klsUkJLzfK4zYxU+9LyAoNPm90ym0c7QxuVzexk765Kz46GE
L3bBmvWsNgl4ct8tXQeeszkDGmVXRmmVKuQ9woRic55+RVgYKqTIIRwNNdkqqrvxRk1O79ZsYR+j
ElJHmF4L83vRH2CiZOklfOPpb/my99EgtkyG5qUx/z3cWKaIYQz2uNugBn7HCuoTyJQwS19SCb0r
ZkclE4BWZmD4W84NbW7Jb+JwmxXU9cVA7eGEVNA4Dg==
=U0OI
-----END PGP SIGNATURE-----

--------------IFu6k4ljD8mJsMUVJHKk5Gl5--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 13:42:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 13:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577152.904062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRv4n-0002kB-KJ; Fri, 04 Aug 2023 13:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577152.904062; Fri, 04 Aug 2023 13:42:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRv4n-0002k4-Hc; Fri, 04 Aug 2023 13:42:45 +0000
Received: by outflank-mailman (input) for mailman id 577152;
 Fri, 04 Aug 2023 13:42: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=8k3D=DV=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1qRv4m-0002jy-Cq
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 13:42:44 +0000
Received: from mail-ua1-x92f.google.com (mail-ua1-x92f.google.com
 [2607:f8b0:4864:20::92f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8055340-32cc-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 15:42:41 +0200 (CEST)
Received: by mail-ua1-x92f.google.com with SMTP id
 a1e0cc1a2514c-78a5384a5daso651984241.0
 for <xen-devel@lists.xenproject.org>; Fri, 04 Aug 2023 06:42:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8055340-32cc-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691156560; x=1691761360;
        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=DwEj/mlrbmIXZppAE8WYSFPJa4shWw2a/7DL7GnW/jA=;
        b=JJQEtocgJB0UjcEAvLjOvw/6ayaB65lksDrJX5a8cw6fhpIyW/Gp6O5QuQhkNZMO4n
         OLowa7V/Yn0p/hASs9aHqNPrPIKqOnb0XdXrLno8pK8tdahtCMrlaUQLvZiKsVM953RI
         ycB2OAEdpv4WX1+fbMNI22X7GUBcwuJea26v6huFhPxXepgrjCuSSQZ+e9MZgXUf70DM
         q3ffGLL5S/VRw8zsJzsn4WpbnioMBNqdDVSj90zJMUBevOeBFI28tYVIYGxE4MG5CHIz
         6hDNyUArMrph/ABRlqILVgYuOPIbIN1B7EchwPY/N5RgfVF9ivCw4JafPhpF5FlBSRJ3
         TY7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691156560; x=1691761360;
        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=DwEj/mlrbmIXZppAE8WYSFPJa4shWw2a/7DL7GnW/jA=;
        b=K7e7nA76KbRNrOdGlz5VCs0IgOROI+xRak1LwJdIu/Fw1zVXiqc7zxLUeWcM7HjOuF
         L58hJYkX/RaNGkxmqRmCX+0BBAWpKUshZCAkO6gg7IVCqtK3anjAHBQBPRbRcibdkphQ
         UoFerPQZTys5nm+2CmszqPXr/Tl6S08n/Ip77ehM5h7aJvV6j6UMBkbCxWzcQDGSPSHC
         uVcVG/PTXKUjhVkNxCYuuXqQMIiJRNTUTVq5WROlBGzf8z1DDJsV1L6J34TcaY1iIcz+
         oxsSFDkFh1Z+qpn9lsxiPTXxDe/B78LDdAS/VLZ95YIp8nU4HGONReM410nMXb39u96l
         9IzA==
X-Gm-Message-State: AOJu0YxsWz4Hoqiubwiij33eI2LlrZyZmbPkIsctjXT19Eb6Ura5Dgtw
	TBIHrv9Nzzngl8mLRjwtr2mkHLoYqclMFJ6sW9I=
X-Google-Smtp-Source: AGHT+IFWpdx3bBRjAQUXw1az+MdUxSqeOAujvWGIHD88avtlgkc6Emn9SaqoputYXvBRK23oTtlr58ccajred7O0K5A=
X-Received: by 2002:a1f:bdd1:0:b0:471:8787:2c6c with SMTP id
 n200-20020a1fbdd1000000b0047187872c6cmr660867vkf.6.1691156560039; Fri, 04 Aug
 2023 06:42:40 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1691063432.git.oleksii.kurochko@gmail.com> <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
In-Reply-To: <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Fri, 4 Aug 2023 09:42:13 -0400
Message-ID: <CAKmqyKNxq=S4W=LpEdLaf1P1thwzoTmwn7GV_4G3GvTaBApoaw@mail.gmail.com>
Subject: Re: [PATCH v7 2/6] xen/riscv: introduce dummy <asm/bug.h>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 3, 2023 at 8:05=E2=80=AFAM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> <xen/lib.h> will be used in the patch "xen/riscv: introduce
> decode_cause() stuff" and requires <asm/bug.h>
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
> Changes in V7:
>  - Nothing changed. Only rebase.
> ---
> Changes in V6:
>  - Nothing changed. Only rebase.
> ---
> Changes in V5:
>  * the patch was introduced in the current patch series (V5)
> ---
>  xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>  create mode 100644 xen/arch/riscv/include/asm/bug.h
>
> diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/as=
m/bug.h
> new file mode 100644
> index 0000000000..e8b1e40823
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/bug.h
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright (C) 2012 Regents of the University of California
> + * Copyright (C) 2021-2023 Vates
> + *
> + */
> +#ifndef _ASM_RISCV_BUG_H
> +#define _ASM_RISCV_BUG_H
> +
> +#endif /* _ASM_RISCV_BUG_H */
> --
> 2.41.0
>
>


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 13:46:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 13:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577155.904071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRv89-0003LM-3g; Fri, 04 Aug 2023 13:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577155.904071; Fri, 04 Aug 2023 13: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 1qRv89-0003LF-0z; Fri, 04 Aug 2023 13:46:13 +0000
Received: by outflank-mailman (input) for mailman id 577155;
 Fri, 04 Aug 2023 13: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=8k3D=DV=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1qRv88-0003L9-35
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 13:46:12 +0000
Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com
 [2607:f8b0:4864:20::e34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 448676d5-32cd-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 15:46:10 +0200 (CEST)
Received: by mail-vs1-xe34.google.com with SMTP id
 ada2fe7eead31-447be69ae43so710811137.0
 for <xen-devel@lists.xenproject.org>; Fri, 04 Aug 2023 06:46:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 448676d5-32cd-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691156769; x=1691761569;
        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=hi4eaJ2vpzaX+Spz9WGK8TZDFcHCvCNIhMhjxeulaI8=;
        b=cLZeFLi4JMupkNax5zgWZHcjretVbeLE0i9fM5rezo1B0tS/9j5KNK4fjA26XO+5Pf
         M5hhQN49P0FU3EI1L846YSuD5OdGxO/UO4LqQVuT5NgaLvA2vT+5Hnc2n3wPc5QNwEsU
         oMAl3L5urEHLmk4lkbJTzve33sI683DePMl4t71fyov/CmJFHWVtXhryOMWNMu8+y0L1
         ncZorZFRNZ5VU9mHdZmf/qyR2iPf3yhQmGsZsmz6S8z6OIqGRdkYZAqPA3Ane+z2aRK3
         FUCrTS/HnDJI1WHhwHtopYxp+3LvSmM5eJ9dcl61/zEz1E6pfloDcs92Wnok4Civ5RPz
         77yA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691156769; x=1691761569;
        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=hi4eaJ2vpzaX+Spz9WGK8TZDFcHCvCNIhMhjxeulaI8=;
        b=c/N0KxQrFR87dMqTEBDH2C0Mu1a+sbdKeeb005gvZETFzMGUwOZOBgtUyedoK6RXZo
         umMMD6Gm+qx48BD3WkVoCBTSCc6MeiOh4pdS0kKAh8suJdHh1IkM00ts0AfgUDKk/GR9
         mY2jVUSnFMJWEGis3b9sc0N2mhidQDClwIZSaaTUWjZ9p08+dNwnnJ+wd59yMaskQAdX
         ot5gbqYWI4xvtXCifwoCvlTC2WCTR4w3BCN4Vep/JIj9ah6vYzDQujFC1sejk5rIAiwZ
         08/vhGlzHuj171fqBsA9YK99KSmi4p43JUMD9j8YIM/e7ruKUaEAX8JuC9uCuQn5xhYR
         2Ayg==
X-Gm-Message-State: AOJu0YyG/AoL7bbdtYLs8StdZ4i5gmYDvwmy+nyd3yRRTfst7e6adLbj
	N6nx3a+k4kGhbRCmUmhAqruwAltV4MzZtpS8FSo=
X-Google-Smtp-Source: AGHT+IGOrwkfCEq4jEUT41SaWRtQUdfYUEPzt65drdneh6zWr8ZwRx6zevCbps4SG3roK8JS3t2BeZ+YLa9KtWQZ+J8=
X-Received: by 2002:a67:f95a:0:b0:443:78dd:447 with SMTP id
 u26-20020a67f95a000000b0044378dd0447mr689109vsq.3.1691156768698; Fri, 04 Aug
 2023 06:46:08 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1691063432.git.oleksii.kurochko@gmail.com> <25e8e5c5826199ad6f91fb5106472917765d8260.1691063432.git.oleksii.kurochko@gmail.com>
In-Reply-To: <25e8e5c5826199ad6f91fb5106472917765d8260.1691063432.git.oleksii.kurochko@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Fri, 4 Aug 2023 09:45:42 -0400
Message-ID: <CAKmqyKMr7tQVz2TmbK2wE9UdY6Ldzxe-+1g4AaQdypv6n-4rEg@mail.gmail.com>
Subject: Re: [PATCH v7 3/6] xen/riscv: introduce decode_cause() stuff
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 3, 2023 at 8:05=E2=80=AFAM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> The patch introduces stuff needed to decode a reason of an
> exception.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V7:
>  - Nothing changed. Only rebase.
> ---
> Changes in V6:
>  - Remove usage of LINK_TO_LOAD() due to the MMU being enabled first.
>  - Change early_printk() to printk()
> ---
> Changes in V5:
>   - Remove <xen/error.h> from riscv/traps/c as nothing would require
>     inclusion.
>   - decode_reserved_interrupt_cause(), decode_interrupt_cause(), decode_c=
ause, do_unexpected_trap()
>     were made as static they are expected to be used only in traps.c
>   - use LINK_TO_LOAD() for addresses which can be linker time relative.
> ---
> Changes in V4:
>   - fix string in decode_reserved_interrupt_cause()
> ---
> Changes in V3:
>   - Nothing changed
> ---
> Changes in V2:
>   - Make decode_trap_cause() more optimization friendly.
>   - Merge the pathc which introduces do_unexpected_trap() to the current =
one.
> ---
>  xen/arch/riscv/traps.c | 84 +++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 83 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> index ccd3593f5a..ea1012e83e 100644
> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -4,10 +4,92 @@
>   *
>   * RISC-V Trap handlers
>   */
> +
> +#include <xen/lib.h>
> +
> +#include <asm/csr.h>
> +#include <asm/early_printk.h>
>  #include <asm/processor.h>
>  #include <asm/traps.h>
>
> -void do_trap(struct cpu_user_regs *cpu_regs)
> +static const char *decode_trap_cause(unsigned long cause)
> +{
> +    static const char *const trap_causes[] =3D {
> +        [CAUSE_MISALIGNED_FETCH] =3D "Instruction Address Misaligned",
> +        [CAUSE_FETCH_ACCESS] =3D "Instruction Access Fault",
> +        [CAUSE_ILLEGAL_INSTRUCTION] =3D "Illegal Instruction",
> +        [CAUSE_BREAKPOINT] =3D "Breakpoint",
> +        [CAUSE_MISALIGNED_LOAD] =3D "Load Address Misaligned",
> +        [CAUSE_LOAD_ACCESS] =3D "Load Access Fault",
> +        [CAUSE_MISALIGNED_STORE] =3D "Store/AMO Address Misaligned",
> +        [CAUSE_STORE_ACCESS] =3D "Store/AMO Access Fault",
> +        [CAUSE_USER_ECALL] =3D "Environment Call from U-Mode",
> +        [CAUSE_SUPERVISOR_ECALL] =3D "Environment Call from S-Mode",
> +        [CAUSE_MACHINE_ECALL] =3D "Environment Call from M-Mode",
> +        [CAUSE_FETCH_PAGE_FAULT] =3D "Instruction Page Fault",
> +        [CAUSE_LOAD_PAGE_FAULT] =3D "Load Page Fault",
> +        [CAUSE_STORE_PAGE_FAULT] =3D "Store/AMO Page Fault",
> +        [CAUSE_FETCH_GUEST_PAGE_FAULT] =3D "Instruction Guest Page Fault=
",
> +        [CAUSE_LOAD_GUEST_PAGE_FAULT] =3D "Load Guest Page Fault",
> +        [CAUSE_VIRTUAL_INST_FAULT] =3D "Virtualized Instruction Fault",
> +        [CAUSE_STORE_GUEST_PAGE_FAULT] =3D "Guest Store/AMO Page Fault",
> +    };
> +
> +    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
> +        return trap_causes[cause];
> +    return "UNKNOWN";
> +}
> +
> +static const char *decode_reserved_interrupt_cause(unsigned long irq_cau=
se)
> +{
> +    switch ( irq_cause )
> +    {
> +    case IRQ_M_SOFT:
> +        return "M-mode Software Interrupt";
> +    case IRQ_M_TIMER:
> +        return "M-mode TIMER Interrupt";

TIMER doesn't need to be all caps, otherwise:

Acked-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> +    case IRQ_M_EXT:
> +        return "M-mode External Interrupt";
> +    default:
> +        return "UNKNOWN IRQ type";
> +    }
> +}
> +
> +static const char *decode_interrupt_cause(unsigned long cause)
> +{
> +    unsigned long irq_cause =3D cause & ~CAUSE_IRQ_FLAG;
> +
> +    switch ( irq_cause )
> +    {
> +    case IRQ_S_SOFT:
> +        return "Supervisor Software Interrupt";
> +    case IRQ_S_TIMER:
> +        return "Supervisor Timer Interrupt";
> +    case IRQ_S_EXT:
> +        return "Supervisor External Interrupt";
> +    default:
> +        return decode_reserved_interrupt_cause(irq_cause);
> +    }
> +}
> +
> +static const char *decode_cause(unsigned long cause)
> +{
> +    if ( cause & CAUSE_IRQ_FLAG )
> +        return decode_interrupt_cause(cause);
> +
> +    return decode_trap_cause(cause);
> +}
> +
> +static void do_unexpected_trap(const struct cpu_user_regs *regs)
>  {
> +    unsigned long cause =3D csr_read(CSR_SCAUSE);
> +
> +    printk("Unhandled exception: %s\n", decode_cause(cause));
> +
>      die();
>  }
> +
> +void do_trap(struct cpu_user_regs *cpu_regs)
> +{
> +    do_unexpected_trap(cpu_regs);
> +}
> --
> 2.41.0
>
>


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 14:00:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577164.904098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvM7-00061R-D9; Fri, 04 Aug 2023 14:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577164.904098; Fri, 04 Aug 2023 14:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvM7-00061K-AR; Fri, 04 Aug 2023 14:00:39 +0000
Received: by outflank-mailman (input) for mailman id 577164;
 Fri, 04 Aug 2023 14:00:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRvM6-000613-Ck
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 14:00:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48d1a911-32cf-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 16:00:35 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5F6254EE0737;
 Fri,  4 Aug 2023 16:00: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: 48d1a911-32cf-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 16:00:35 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Michal Orzel <michal.orzel@amd.com>,
 xenia.ragiadakou@amd.com, Ayan Kumar Halder <ayankuma@amd.com>,
 consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <a44369bc5e64277cab6dedb636986dd3@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

> 
> Upon further examination, I identified the following patterns:
> 
> 1. Functions defined in .c called only from asm code (e.g., the
> already mentioned __start_xen)
> 2. Functions/variables declared in a .h, defined in a .c that does not
> include the .h with the declaration
> (e.g., 'fill_console_start_info' is defined in 'xen/drivers/vga.c',
> declared in 'xen/include/xen/console.h' which is not visible when
> compiling the .c).
> 3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in
> 'xen/include/acpi/acglobal.h', depending on
>    DEFINE_ACPI_GLOBALS
> 
> Below are the proposed resolution strategies:
> 
> 1. I would advise to add the declaration in the relative .h, to
> support automatic consistency checks with the
>    implementation and a quick reference when touching the asm.
> 2. To comply with the rule, the header with the declaration should be
> included. Also note that there are some
>    corner cases, such as 'get_sec', which is used in 'cper.h' without
> including 'time.h' (which should gain a
>    declaration for it).
> 3. One possible resolution pattern is including 'acglobal.h' twice
> (either directly or indirectly trough acpi.h, if
>    the latter does not cause other issues) like so:
> 
>    (assuming DEFINE_ACPI_GLOBALS is undefined here)
>    #include "acglobal.h"
>    #define DEFINE_ACPI_GLOBALS
>    #include  "acglobal.h"
> 
>   this way, the rule is followed properly, though it's not the
> prettiest pattern and also clashes with the objectives
>   of D4.10 ("Precautions shall be taken in order to prevent the
> contents of a header file being included
>   more than once"), but then a motivated exception is allowed there.

One further question is whether functions under 
'xen/common/coverage/gcov_base.c' should gain
a declaration in 'gcov.h' or not, as they exist just for the purpose of 
being referenced
by autogenerated profiling code. I see no reason why they shouldn't, but 
they can also be safely deviated,
since they are not called by Xen code.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 14:04:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 14:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577169.904112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvQE-0006jk-3X; Fri, 04 Aug 2023 14:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577169.904112; Fri, 04 Aug 2023 14:04:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvQE-0006jY-0m; Fri, 04 Aug 2023 14:04:54 +0000
Received: by outflank-mailman (input) for mailman id 577169;
 Fri, 04 Aug 2023 14:04:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRvQC-0006jM-3Y; Fri, 04 Aug 2023 14:04: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 1qRvQC-0004yv-1K; Fri, 04 Aug 2023 14:04: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 1qRvQB-0000VD-Fy; Fri, 04 Aug 2023 14:04:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRvQB-00045u-FX; Fri, 04 Aug 2023 14:04:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vg7K8+2jOWjGKQSGosTYiiL2EYCYj0YPls0KhB0DXRw=; b=RNY5Ed9lJYXx22DwpmVhA/EBRH
	2jVbutK2Zsw0eqA4EmuIyStt52kLuDiCyZ8Cw8CiCc6CbyBrkgfIMXTE9hW9XkM3fWVN5rgWno6lm
	zFEvOzzGcFZMWYnu8jmCU3yV5xqi7Oht14Q0Kq2RG6+lhlGsyfqIFrlWPQmJu3VOX3tA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182167-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182167: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:heisenbug
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl: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:saverestore-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd: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: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:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-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
X-Osstest-Versions-This:
    xen=0a62b16489958715c20a2f6177a11a8ca3c4f7f3
X-Osstest-Versions-That:
    xen=3d0aa6f23d54a4d3c608010c58c1147a1500d865
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 14:04:51 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host fail pass in 182180-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182180-retest
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 182180-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 182180-retest

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

version targeted for testing:
 xen                  0a62b16489958715c20a2f6177a11a8ca3c4f7f3
baseline version:
 xen                  3d0aa6f23d54a4d3c608010c58c1147a1500d865

Last test of basis   182120  2023-08-02 15:11:47 Z    1 days
Testing same since   182167  2023-08-03 14:38:20 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>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3d0aa6f23d..0a62b16489  0a62b16489958715c20a2f6177a11a8ca3c4f7f3 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 14:09:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 14:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577176.904121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvUJ-0007OA-JR; Fri, 04 Aug 2023 14:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577176.904121; Fri, 04 Aug 2023 14: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 1qRvUJ-0007O3-Gp; Fri, 04 Aug 2023 14:09:07 +0000
Received: by outflank-mailman (input) for mailman id 577176;
 Fri, 04 Aug 2023 14: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRvUI-0007Nx-4F
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 14:09:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77e71c1b-32d0-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 16:09:04 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B27DB4EE0737;
 Fri,  4 Aug 2023 16:09: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: 77e71c1b-32d0-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 16:09:03 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Michal Orzel <michal.orzel@amd.com>,
 xenia.ragiadakou@amd.com, Ayan Kumar Halder <ayankuma@amd.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@suse.com>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
 <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f5443fc1f3e56c79e3149fac42e060ef@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

>> 3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in
>> 'xen/include/acpi/acglobal.h', depending on
>>     DEFINE_ACPI_GLOBALS
>> 
>> Below are the proposed resolution strategies:

> 
>> 3. One possible resolution pattern is including 'acglobal.h' twice
>> (either directly or indirectly trough acpi.h, if
>>     the latter does not cause other issues) like so:
>> 
>>     (assuming DEFINE_ACPI_GLOBALS is undefined here)
>>     #include "acglobal.h"
>>     #define DEFINE_ACPI_GLOBALS
>>     #include  "acglobal.h"
>> 
>>    this way, the rule is followed properly, though it's not the 
>> prettiest
>> pattern and also clashes with the objectives
>>    of D4.10 ("Precautions shall be taken in order to prevent the 
>> contents
>> of a header file being included
>>    more than once"), but then a motivated exception is allowed there.
> 
> Not really sure about this one.
> 
> Jan

If you can tell me more about why that header is defined the way it is 
(i.e. why it's used twice with
DEFINE_ACPI_GLOBALS #defined and the other times without), maybe we can 
come up
with better alternatives.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 14:12:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 14:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577183.904131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRvXH-0000Ny-1Z; Fri, 04 Aug 2023 14:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577183.904131; Fri, 04 Aug 2023 14:12: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 1qRvXG-0000Nr-VC; Fri, 04 Aug 2023 14:12:10 +0000
Received: by outflank-mailman (input) for mailman id 577183;
 Fri, 04 Aug 2023 14:12:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HS9z=DV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qRvXF-0000Nl-K6
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 14:12:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5139f66-32d0-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 16:12:07 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id CFB8D4EE0737;
 Fri,  4 Aug 2023 16:12: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: e5139f66-32d0-11ee-8613-37d641c3527e
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN PATCH] x86: Address violations of MISRA C:2012 and drop bool_t
Date: Fri,  4 Aug 2023 16:11:59 +0200
Message-Id: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters to address violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between object and function declarations thus
addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
object or function shall use the same names and type qualifiers").
Replace the occurrences of bool_t with bool.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/cpu/common.c            |  6 +++---
 xen/arch/x86/include/asm/processor.h | 16 ++++++++--------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index cfcdaace12..5f29148416 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -26,11 +26,11 @@
 
 bool __read_mostly opt_dom0_cpuid_faulting = true;
 
-bool_t opt_arat = 1;
+bool opt_arat = 1;
 boolean_param("arat", opt_arat);
 
 /* pku: Flag to enable Memory Protection Keys (default on). */
-static bool_t opt_pku = 1;
+static bool opt_pku = 1;
 boolean_param("pku", opt_pku);
 
 unsigned int opt_cpuid_mask_ecx = ~0u;
@@ -208,7 +208,7 @@ void ctxt_switch_levelling(const struct vcpu *next)
 		alternative_vcall(ctxt_switch_masking, next);
 }
 
-bool_t opt_cpu_info;
+bool opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int get_model_name(struct cpuinfo_x86 *c)
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 0989748be6..8d1909f73d 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -96,7 +96,7 @@ extern bool probe_cpuid_faulting(void);
 extern void ctxt_switch_levelling(const struct vcpu *next);
 extern void (*ctxt_switch_masking)(const struct vcpu *next);
 
-extern bool_t opt_cpu_info;
+extern bool opt_cpu_info;
 extern u32 trampoline_efer;
 extern u64 trampoline_misc_enable_off;
 
@@ -109,17 +109,17 @@ extern unsigned int vaddr_bits;
 
 extern const struct x86_cpu_id *x86_match_cpu(const struct x86_cpu_id table[]);
 
-extern void identify_cpu(struct cpuinfo_x86 *);
-extern void setup_clear_cpu_cap(unsigned int);
-extern void setup_force_cpu_cap(unsigned int);
-extern bool is_forced_cpu_cap(unsigned int);
+extern void identify_cpu(struct cpuinfo_x86 *c);
+extern void setup_clear_cpu_cap(unsigned int cap);
+extern void setup_force_cpu_cap(unsigned int cap);
+extern bool is_forced_cpu_cap(unsigned int cap);
 extern void print_cpu_info(unsigned int cpu);
 extern void init_intel_cacheinfo(struct cpuinfo_x86 *c);
 
 #define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
 #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
 
-unsigned int apicid_to_socket(unsigned int);
+unsigned int apicid_to_socket(unsigned int apicid);
 
 static inline int cpu_nr_siblings(unsigned int cpu)
 {
@@ -410,12 +410,12 @@ void show_registers(const struct cpu_user_regs *regs);
 #define dump_execution_state() \
     run_in_exception_handler(show_execution_state_nonconst)
 void show_page_walk(unsigned long addr);
-void noreturn fatal_trap(const struct cpu_user_regs *regs, bool_t show_remote);
+void noreturn fatal_trap(const struct cpu_user_regs *regs, bool show_remote);
 
 extern void mtrr_ap_init(void);
 extern void mtrr_bp_init(void);
 
-void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp);
+void mcheck_init(struct cpuinfo_x86 *c, bool bsp);
 
 void do_nmi(const struct cpu_user_regs *regs);
 void do_machine_check(const struct cpu_user_regs *regs);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577192.904161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwis-0008Gj-Nv; Fri, 04 Aug 2023 15:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577192.904161; Fri, 04 Aug 2023 15:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwis-0008Ee-Da; Fri, 04 Aug 2023 15:28:14 +0000
Received: by outflank-mailman (input) for mailman id 577192;
 Fri, 04 Aug 2023 15:28: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwir-00080a-0c
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85a05acc-32db-11ee-b26d-6b7b168915f2;
 Fri, 04 Aug 2023 17:28:11 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C05BB4EE0742;
 Fri,  4 Aug 2023 17:28: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: 85a05acc-32db-11ee-b26d-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
Date: Fri,  4 Aug 2023 17:27:46 +0200
Message-Id: <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable 'msec' shadows the local variable in
'ehci_dbgp_bios_handoff', but to prevent any future clashes, the one in
the macro gains a suffix.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Unless that file should remain as-is, because it's clearly taken from
linux, but this does not prevent future name clashes with msec.
---
 xen/include/xen/delay.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
index 9d70ef035f..f2d9270e83 100644
--- a/xen/include/xen/delay.h
+++ b/xen/include/xen/delay.h
@@ -5,6 +5,6 @@
 
 #include <asm/delay.h>
 #define mdelay(n) (\
-	{unsigned long msec=(n); while (msec--) udelay(1000);})
+	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
 
 #endif /* defined(_LINUX_DELAY_H) */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577190.904148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwis-00084T-2I; Fri, 04 Aug 2023 15:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577190.904148; Fri, 04 Aug 2023 15:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwir-000841-RG; Fri, 04 Aug 2023 15:28:13 +0000
Received: by outflank-mailman (input) for mailman id 577190;
 Fri, 04 Aug 2023 15:28:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwiq-00080Z-CJ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8479d03b-32db-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 17:28:09 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D589A4EE0740;
 Fri,  4 Aug 2023 17:28: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: 8479d03b-32db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 17:27:44 +0200
Message-Id: <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable declared in the header file 'xen/arch/x86/include/asm/e820.h'
is shadowed by many function parameters, so it is renamed to avoid these
violations.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
This patch is similar to other renames done on previous patches, and the
preferred strategy there was to rename the global variable. This one
has more occurrences that are spread in various files, but
the general pattern is the same.
---
 xen/arch/x86/dom0_build.c                | 10 ++--
 xen/arch/x86/e820.c                      | 66 ++++++++++++------------
 xen/arch/x86/guest/xen/xen.c             |  4 +-
 xen/arch/x86/hvm/dom0_build.c            |  6 +--
 xen/arch/x86/include/asm/e820.h          |  2 +-
 xen/arch/x86/mm.c                        | 49 +++++++++---------
 xen/arch/x86/numa.c                      |  8 +--
 xen/arch/x86/setup.c                     | 22 ++++----
 xen/arch/x86/srat.c                      |  6 +--
 xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c |  2 +-
 11 files changed, 89 insertions(+), 88 deletions(-)

diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
index 8b1fcc6471..bfb6400376 100644
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -534,13 +534,13 @@ int __init dom0_setup_permissions(struct domain *d)
     }
 
     /* Remove access to E820_UNUSABLE I/O regions above 1MB. */
-    for ( i = 0; i < e820.nr_map; i++ )
+    for ( i = 0; i < e820_map.nr_map; i++ )
     {
         unsigned long sfn, efn;
-        sfn = max_t(unsigned long, paddr_to_pfn(e820.map[i].addr), 0x100ul);
-        efn = paddr_to_pfn(e820.map[i].addr + e820.map[i].size - 1);
-        if ( (e820.map[i].type == E820_UNUSABLE) &&
-             (e820.map[i].size != 0) &&
+        sfn = max_t(unsigned long, paddr_to_pfn(e820_map.map[i].addr), 0x100ul);
+        efn = paddr_to_pfn(e820_map.map[i].addr + e820_map.map[i].size - 1);
+        if ( (e820_map.map[i].type == E820_UNUSABLE) &&
+             (e820_map.map[i].size != 0) &&
              (sfn <= efn) )
             rc |= iomem_deny_access(d, sfn, efn);
     }
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index 0b89935510..4425011c01 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -34,7 +34,7 @@ boolean_param("e820-mtrr-clip", e820_mtrr_clip);
 static bool __initdata e820_verbose;
 boolean_param("e820-verbose", e820_verbose);
 
-struct e820map e820;
+struct e820map e820_map;
 struct e820map __initdata e820_raw;
 
 /*
@@ -47,8 +47,8 @@ int __init e820_all_mapped(u64 start, u64 end, unsigned type)
 {
 	unsigned int i;
 
-	for (i = 0; i < e820.nr_map; i++) {
-		struct e820entry *ei = &e820.map[i];
+	for (i = 0; i < e820_map.nr_map; i++) {
+		struct e820entry *ei = &e820_map.map[i];
 
 		if (type && ei->type != type)
 			continue;
@@ -75,17 +75,17 @@ int __init e820_all_mapped(u64 start, u64 end, unsigned type)
 static void __init add_memory_region(unsigned long long start,
                                      unsigned long long size, int type)
 {
-    unsigned int x = e820.nr_map;
+    unsigned int x = e820_map.nr_map;
 
-    if (x == ARRAY_SIZE(e820.map)) {
+    if (x == ARRAY_SIZE(e820_map.map)) {
         printk(KERN_ERR "Ooops! Too many entries in the memory map!\n");
         return;
     }
 
-    e820.map[x].addr = start;
-    e820.map[x].size = size;
-    e820.map[x].type = type;
-    e820.nr_map++;
+    e820_map.map[x].addr = start;
+    e820_map.map[x].size = size;
+    e820_map.map[x].type = type;
+    e820_map.nr_map++;
 }
 
 void __init print_e820_memory_map(const struct e820entry *map,
@@ -347,13 +347,13 @@ static unsigned long __init find_max_pfn(void)
     unsigned int i;
     unsigned long max_pfn = 0;
 
-    for (i = 0; i < e820.nr_map; i++) {
+    for (i = 0; i < e820_map.nr_map; i++) {
         unsigned long start, end;
         /* RAM? */
-        if (e820.map[i].type != E820_RAM)
+        if (e820_map.map[i].type != E820_RAM)
             continue;
-        start = PFN_UP(e820.map[i].addr);
-        end = PFN_DOWN(e820.map[i].addr + e820.map[i].size);
+        start = PFN_UP(e820_map.map[i].addr);
+        end = PFN_DOWN(e820_map.map[i].addr + e820_map.map[i].size);
         if (start >= end)
             continue;
         if (end > max_pfn)
@@ -372,21 +372,21 @@ static void __init clip_to_limit(uint64_t limit, const char *warnmsg)
     for ( ; ; )
     {
         /* Find a RAM region needing clipping. */
-        for ( i = 0; i < e820.nr_map; i++ )
-            if ( (e820.map[i].type == E820_RAM) &&
-                 ((e820.map[i].addr + e820.map[i].size) > limit) )
+        for ( i = 0; i < e820_map.nr_map; i++ )
+            if ( (e820_map.map[i].type == E820_RAM) &&
+                 ((e820_map.map[i].addr + e820_map.map[i].size) > limit) )
                 break;
 
         /* If none found, we are done. */
-        if ( i == e820.nr_map )
-            break;        
+        if ( i == e820_map.nr_map )
+            break;
 
         old_limit = max_t(
-            uint64_t, old_limit, e820.map[i].addr + e820.map[i].size);
+            uint64_t, old_limit, e820_map.map[i].addr + e820_map.map[i].size);
 
         /* We try to convert clipped RAM areas to E820_UNUSABLE. */
-        if ( e820_change_range_type(&e820, max(e820.map[i].addr, limit),
-                                    e820.map[i].addr + e820.map[i].size,
+        if ( e820_change_range_type(&e820_map, max(e820_map.map[i].addr, limit),
+                                    e820_map.map[i].addr + e820_map.map[i].size,
                                     E820_RAM, E820_UNUSABLE) )
             continue;
 
@@ -394,15 +394,15 @@ static void __init clip_to_limit(uint64_t limit, const char *warnmsg)
          * If the type change fails (e.g., not space in table) then we clip or 
          * delete the region as appropriate.
          */
-        if ( e820.map[i].addr < limit )
+        if ( e820_map.map[i].addr < limit )
         {
-            e820.map[i].size = limit - e820.map[i].addr;
+            e820_map.map[i].size = limit - e820_map.map[i].addr;
         }
         else
         {
-            memmove(&e820.map[i], &e820.map[i+1],
-                    (e820.nr_map - i - 1) * sizeof(struct e820entry));
-            e820.nr_map--;
+            memmove(&e820_map.map[i], &e820_map.map[i+1],
+                    (e820_map.nr_map - i - 1) * sizeof(struct e820entry));
+            e820_map.nr_map--;
         }
     }
 
@@ -497,7 +497,7 @@ static void __init reserve_dmi_region(void)
         if ( !what )
             break;
         if ( ((base + len) > base) &&
-             reserve_e820_ram(&e820, base, base + len) )
+             reserve_e820_ram(&e820_map, base, base + len) )
             printk("WARNING: %s table located in E820 RAM %"PRIpaddr"-%"PRIpaddr". Fixed.\n",
                    what, base, base + len);
     }
@@ -517,12 +517,12 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
 
     if ( opt_availmem )
     {
-        for ( i = size = 0; (i < e820.nr_map) && (size <= opt_availmem); i++ )
-            if ( e820.map[i].type == E820_RAM )
-                size += e820.map[i].size;
+        for ( i = size = 0; (i < e820_map.nr_map) && (size <= opt_availmem); i++ )
+            if ( e820_map.map[i].type == E820_RAM )
+                size += e820_map.map[i].size;
         if ( size > opt_availmem )
             clip_to_limit(
-                e820.map[i-1].addr + e820.map[i-1].size - (size-opt_availmem),
+                e820_map.map[i-1].addr + e820_map.map[i-1].size - (size-opt_availmem),
                 NULL);
     }
 
@@ -694,10 +694,10 @@ unsigned long __init init_e820(const char *str, struct e820map *raw)
     machine_specific_memory_setup(raw);
 
     if ( cpu_has_hypervisor )
-        hypervisor_e820_fixup(&e820);
+        hypervisor_e820_fixup(&e820_map);
 
     printk("%s RAM map:\n", str);
-    print_e820_memory_map(e820.map, e820.nr_map);
+    print_e820_memory_map(e820_map.map, e820_map.nr_map);
 
     return find_max_pfn();
 }
diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index f93dfc89f7..3ec828b98d 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -147,9 +147,9 @@ static void __init init_memmap(void)
                                           PFN_DOWN(GB(4) - 1))) )
         panic("unable to add RAM to in-use PFN rangeset\n");
 
-    for ( i = 0; i < e820.nr_map; i++ )
+    for ( i = 0; i < e820_map.nr_map; i++ )
     {
-        struct e820entry *e = &e820.map[i];
+        struct e820entry *e = &e820_map.map[i];
 
         if ( rangeset_add_range(mem, PFN_DOWN(e->addr),
                                 PFN_UP(e->addr + e->size - 1)) )
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index bc0e290db6..98203f7a52 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -333,13 +333,13 @@ static __init void pvh_setup_e820(struct domain *d, unsigned long nr_pages)
      * Add an extra entry in case we have to split a RAM entry into a RAM and a
      * UNUSABLE one in order to truncate it.
      */
-    d->arch.e820 = xzalloc_array(struct e820entry, e820.nr_map + 1);
+    d->arch.e820 = xzalloc_array(struct e820entry, e820_map.nr_map + 1);
     if ( !d->arch.e820 )
         panic("Unable to allocate memory for Dom0 e820 map\n");
     entry_guest = d->arch.e820;
 
     /* Clamp e820 memory map to match the memory assigned to Dom0 */
-    for ( i = 0, entry = e820.map; i < e820.nr_map; i++, entry++ )
+    for ( i = 0, entry = e820_map.map; i < e820_map.nr_map; i++, entry++ )
     {
         *entry_guest = *entry;
 
@@ -392,7 +392,7 @@ static __init void pvh_setup_e820(struct domain *d, unsigned long nr_pages)
  next:
         d->arch.nr_e820++;
         entry_guest++;
-        ASSERT(d->arch.nr_e820 <= e820.nr_map + 1);
+        ASSERT(d->arch.nr_e820 <= e820_map.nr_map + 1);
     }
     ASSERT(cur_pages == nr_pages);
 }
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 213d5b5dd2..0865825f7d 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -34,7 +34,7 @@ extern int e820_add_range(
 extern unsigned long init_e820(const char *str, struct e820map *raw);
 extern void print_e820_memory_map(const struct e820entry *map,
     unsigned int entries);
-extern struct e820map e820;
+extern struct e820map e820_map;
 extern struct e820map e820_raw;
 
 /* These symbols live in the boot trampoline. */
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index be2b10a391..6920ac939f 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -295,12 +295,12 @@ void __init arch_init_memory(void)
     /* Any areas not specified as RAM by the e820 map are considered I/O. */
     for ( i = 0, pfn = 0; pfn < max_page; i++ )
     {
-        while ( (i < e820.nr_map) &&
-                (e820.map[i].type != E820_RAM) &&
-                (e820.map[i].type != E820_UNUSABLE) )
+        while ( (i < e820_map.nr_map) &&
+                (e820_map.map[i].type != E820_RAM) &&
+                (e820_map.map[i].type != E820_UNUSABLE) )
             i++;
 
-        if ( i >= e820.nr_map )
+        if ( i >= e820_map.nr_map )
         {
             /* No more RAM regions: mark as I/O right to end of memory map. */
             rstart_pfn = rend_pfn = max_page;
@@ -309,9 +309,10 @@ void __init arch_init_memory(void)
         {
             /* Mark as I/O just up as far as next RAM region. */
             rstart_pfn = min_t(unsigned long, max_page,
-                               PFN_UP(e820.map[i].addr));
+                               PFN_UP(e820_map.map[i].addr));
             rend_pfn   = max_t(unsigned long, rstart_pfn,
-                               PFN_DOWN(e820.map[i].addr + e820.map[i].size));
+                               PFN_DOWN(e820_map.map[i].addr
+                               + e820_map.map[i].size));
         }
 
         /*
@@ -387,9 +388,9 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type)
     uint64_t maddr = pfn_to_paddr(mfn);
     int i;
 
-    for ( i = 0; i < e820.nr_map; i++ )
+    for ( i = 0; i < e820_map.nr_map; i++ )
     {
-        switch ( e820.map[i].type )
+        switch ( e820_map.map[i].type )
         {
         case E820_RAM:
             if ( mem_type & RAM_TYPE_CONVENTIONAL )
@@ -414,8 +415,8 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type)
         }
 
         /* Test the range. */
-        if ( (e820.map[i].addr <= maddr) &&
-             ((e820.map[i].addr + e820.map[i].size) >= (maddr + PAGE_SIZE)) )
+        if ( (e820_map.map[i].addr <= maddr) &&
+             ((e820_map.map[i].addr + e820_map.map[i].size) >= (maddr + PAGE_SIZE)) )
             return 1;
     }
 
@@ -427,17 +428,17 @@ unsigned int page_get_ram_type(mfn_t mfn)
     uint64_t last = 0, maddr = mfn_to_maddr(mfn);
     unsigned int i, type = 0;
 
-    for ( i = 0; i < e820.nr_map;
-          last = e820.map[i].addr + e820.map[i].size, i++ )
+    for ( i = 0; i < e820_map.nr_map;
+          last = e820_map.map[i].addr + e820_map.map[i].size, i++ )
     {
-        if ( (maddr + PAGE_SIZE) > last && maddr < e820.map[i].addr )
+        if ( (maddr + PAGE_SIZE) > last && maddr < e820_map.map[i].addr )
             type |= RAM_TYPE_UNKNOWN;
 
-        if ( (maddr + PAGE_SIZE) <= e820.map[i].addr ||
-             maddr >= (e820.map[i].addr + e820.map[i].size) )
+        if ( (maddr + PAGE_SIZE) <= e820_map.map[i].addr ||
+             maddr >= (e820_map.map[i].addr + e820_map.map[i].size) )
             continue;
 
-        switch ( e820.map[i].type )
+        switch ( e820_map.map[i].type )
         {
         case E820_RAM:
             type |= RAM_TYPE_CONVENTIONAL;
@@ -778,9 +779,9 @@ bool is_memory_hole(mfn_t start, mfn_t end)
     unsigned long e = mfn_x(end);
     unsigned int i;
 
-    for ( i = 0; i < e820.nr_map; i++ )
+    for ( i = 0; i < e820_map.nr_map; i++ )
     {
-        const struct e820entry *entry = &e820.map[i];
+        const struct e820entry *entry = &e820_map.map[i];
 
         if ( !entry->size )
             continue;
@@ -4763,16 +4764,16 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
         store = !guest_handle_is_null(ctxt.map.buffer);
 
-        if ( store && ctxt.map.nr_entries < e820.nr_map + 1 )
+        if ( store && ctxt.map.nr_entries < e820_map.nr_map + 1 )
             return -EINVAL;
 
         buffer = guest_handle_cast(ctxt.map.buffer, e820entry_t);
         if ( store && !guest_handle_okay(buffer, ctxt.map.nr_entries) )
             return -EFAULT;
 
-        for ( i = 0, ctxt.n = 0, ctxt.s = 0; i < e820.nr_map; ++i, ++ctxt.n )
+        for ( i = 0, ctxt.n = 0, ctxt.s = 0; i < e820_map.nr_map; ++i, ++ctxt.n )
         {
-            unsigned long s = PFN_DOWN(e820.map[i].addr);
+            unsigned long s = PFN_DOWN(e820_map.map[i].addr);
 
             if ( s > ctxt.s )
             {
@@ -4786,12 +4787,12 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             }
             if ( store )
             {
-                if ( ctxt.map.nr_entries <= ctxt.n + (e820.nr_map - i) )
+                if ( ctxt.map.nr_entries <= ctxt.n + (e820_map.nr_map - i) )
                     return -EINVAL;
-                if ( __copy_to_guest_offset(buffer, ctxt.n, e820.map + i, 1) )
+                if ( __copy_to_guest_offset(buffer, ctxt.n, e820_map.map + i, 1) )
                     return -EFAULT;
             }
-            ctxt.s = PFN_UP(e820.map[i].addr + e820.map[i].size);
+            ctxt.s = PFN_UP(e820_map.map[i].addr + e820_map.map[i].size);
         }
 
         if ( ctxt.s )
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 4b0b297c7e..76827f5f32 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -102,14 +102,14 @@ unsigned int __init arch_get_dma_bitsize(void)
 
 int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
 {
-    if ( idx >= e820.nr_map )
+    if ( idx >= e820_map.nr_map )
         return -ENOENT;
 
-    if ( e820.map[idx].type != E820_RAM )
+    if ( e820_map.map[idx].type != E820_RAM )
         return -ENODATA;
 
-    *start = e820.map[idx].addr;
-    *end = *start + e820.map[idx].size;
+    *start = e820_map.map[idx].addr;
+    *end = *start + e820_map.map[idx].size;
 
     return 0;
 }
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 80ae973d64..9c6003e374 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1163,7 +1163,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     }
     else if ( efi_enabled(EFI_BOOT) )
         memmap_type = "EFI";
-    else if ( (e820_raw.nr_map = 
+    else if ( (e820_raw.nr_map =
                    copy_bios_e820(e820_raw.map,
                                   ARRAY_SIZE(e820_raw.map))) != 0 )
     {
@@ -1300,13 +1300,13 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     }
 
     /* Create a temporary copy of the E820 map. */
-    memcpy(&boot_e820, &e820, sizeof(e820));
+    memcpy(&boot_e820, &e820_map, sizeof(e820_map));
 
     /* Early kexec reservation (explicit static start address). */
     nr_pages = 0;
-    for ( i = 0; i < e820.nr_map; i++ )
-        if ( e820.map[i].type == E820_RAM )
-            nr_pages += e820.map[i].size >> PAGE_SHIFT;
+    for ( i = 0; i < e820_map.nr_map; i++ )
+        if ( e820_map.map[i].type == E820_RAM )
+            nr_pages += e820_map.map[i].size >> PAGE_SHIFT;
     set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
     kexec_reserve_area(&boot_e820);
 
@@ -1631,7 +1631,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         unsigned long e = min(s + PFN_UP(kexec_crash_area.size),
                               PFN_UP(__pa(HYPERVISOR_VIRT_END - 1)));
 
-        if ( e > s ) 
+        if ( e > s )
             map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
                              _mfn(s), e - s, PAGE_HYPERVISOR);
     }
@@ -1677,9 +1677,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                         PAGE_HYPERVISOR_RO);
 
     nr_pages = 0;
-    for ( i = 0; i < e820.nr_map; i++ )
-        if ( e820.map[i].type == E820_RAM )
-            nr_pages += e820.map[i].size >> PAGE_SHIFT;
+    for ( i = 0; i < e820_map.nr_map; i++ )
+        if ( e820_map.map[i].type == E820_RAM )
+            nr_pages += e820_map.map[i].size >> PAGE_SHIFT;
     printk("System RAM: %luMB (%lukB)\n",
            nr_pages >> (20 - PAGE_SHIFT),
            nr_pages << (PAGE_SHIFT - 10));
@@ -1771,7 +1771,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     open_softirq(NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ, new_tlbflush_clock_period);
 
-    if ( opt_watchdog ) 
+    if ( opt_watchdog )
         nmi_watchdog = NMI_LOCAL_APIC;
 
     find_smp_config();
@@ -1983,7 +1983,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     do_initcalls();
 
-    if ( opt_watchdog ) 
+    if ( opt_watchdog )
         watchdog_setup();
 
     if ( !tboot_protect_mem_regions() )
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 3f70338e6e..bbd04978ae 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -301,11 +301,11 @@ void __init srat_parse_regions(paddr_t addr)
 	acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
 			      srat_parse_region, 0);
 
-	for (mask = srat_region_mask, i = 0; mask && i < e820.nr_map; i++) {
-		if (e820.map[i].type != E820_RAM)
+	for (mask = srat_region_mask, i = 0; mask && i < e820_map.nr_map; i++) {
+		if (e820_map.map[i].type != E820_RAM)
 			continue;
 
-		if (~mask & pdx_region_mask(e820.map[i].addr, e820.map[i].size))
+		if (~mask & pdx_region_mask(e820_map.map[i].addr, e820_map.map[i].size))
 			mask = 0;
 	}
 
diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
index a834ab3149..bbebf9219f 100644
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -135,7 +135,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
 	return;
 
 out:
-	if (e820_add_range(&e820, start, start + SIZE, E820_RESERVED))
+	if (e820_add_range(&e820_map, start, start + SIZE, E820_RESERVED))
 		fam10h_pci_mmconf_base = start;
 }
 
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 3b577c9b39..7ad9e12b8a 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -418,7 +418,7 @@ static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)
 
             if ( type == RAM_TYPE_UNKNOWN )
             {
-                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
+                if ( e820_add_range(&e820_map, addr, addr + PAGE_SIZE,
                                     E820_RESERVED) )
                     continue;
                 AMD_IOMMU_ERROR("IVMD: page at %lx couldn't be reserved\n",
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577195.904203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwiv-00012h-Mf; Fri, 04 Aug 2023 15:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577195.904203; Fri, 04 Aug 2023 15:28:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwiv-00010p-FN; Fri, 04 Aug 2023 15:28:17 +0000
Received: by outflank-mailman (input) for mailman id 577195;
 Fri, 04 Aug 2023 15:28: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwit-00080Z-Vc
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 872664d2-32db-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 17:28:14 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 7446F4EE0745;
 Fri,  4 Aug 2023 17:28: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: 872664d2-32db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 6/6] x86: refactor macros in 'xen-mca.h' to address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 17:27:49 +0200
Message-Id: <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The macros defined 'xen/include/public/arch-x86/xen-mca.h' have needless
underscore prefixes for parameter names and variable names that cause
shadowing with e.g. the variable 'i' in function 'mce_action'.
Therefore, the renaming aims to resolve present shadowing issues and
lessen the probability of future ones.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The spirit of this patch is similar to this one [1] made by Jan that arose from
a violation of this rule.

[1] https://gitlab.com/xen-project/xen/-/commit/c0579c65f6bef794cd449fbc946feacccf485f2e
---
 xen/include/public/arch-x86/xen-mca.h | 38 +++++++++++++--------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/arch-x86/xen-mca.h
index b897536ec5..55b999ab21 100644
--- a/xen/include/public/arch-x86/xen-mca.h
+++ b/xen/include/public/arch-x86/xen-mca.h
@@ -280,39 +280,39 @@ DEFINE_XEN_GUEST_HANDLE(xen_mc_logical_cpu_t);
 /* Prototype:
  *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
  */
-#define x86_mcinfo_nentries(_mi)    \
-    (_mi)->mi_nentries
+#define x86_mcinfo_nentries(mi)    \
+    (mi)->mi_nentries
 /* Prototype:
  *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
  */
-#define x86_mcinfo_first(_mi)       \
-    ((struct mcinfo_common *)(_mi)->mi_data)
+#define x86_mcinfo_first(mi)       \
+    ((struct mcinfo_common *)(mi)->mi_data)
 /* Prototype:
  *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
  */
-#define x86_mcinfo_next(_mic)       \
-    ((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+#define x86_mcinfo_next(mic)       \
+    ((struct mcinfo_common *)((uint8_t *)(mic) + (mic)->size))

 /* Prototype:
- *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type);
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t mc_type);
  */
-#define x86_mcinfo_lookup(_ret, _mi, _type)    \
+#define x86_mcinfo_lookup(ret, mi, mc_type)                     \
     do {                                                        \
-        uint32_t found, i;                                      \
-        struct mcinfo_common *_mic;                             \
+        uint32_t found_, i_;                                    \
+        struct mcinfo_common *mic_;                             \
                                                                 \
-        found = 0;                                              \
-        (_ret) = NULL;                                          \
-        if (_mi == NULL) break;                                 \
-        _mic = x86_mcinfo_first(_mi);                           \
-        for (i = 0; i < x86_mcinfo_nentries(_mi); i++) {        \
-            if (_mic->type == (_type)) {                        \
-                found = 1;                                      \
+        found_ = 0;                                             \
+        (ret) = NULL;                                           \
+        if (mi == NULL) break;                                  \
+        mic_ = x86_mcinfo_first(mi);                            \
+        for (i_ = 0; i_ < x86_mcinfo_nentries(mi); i_++) {      \
+            if (mic_->type == (mc_type)) {                      \
+                found_ = 1;                                     \
                 break;                                          \
             }                                                   \
-            _mic = x86_mcinfo_next(_mic);                       \
+            mic_ = x86_mcinfo_next(mic_);                         \
         }                                                       \
-        (_ret) = found ? _mic : NULL;                           \
+        (ret) = found_ ? mic_ : NULL;                            \
     } while (0)


--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577189.904141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwir-000812-Lp; Fri, 04 Aug 2023 15:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577189.904141; Fri, 04 Aug 2023 15:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwir-00080v-J5; Fri, 04 Aug 2023 15:28:13 +0000
Received: by outflank-mailman (input) for mailman id 577189;
 Fri, 04 Aug 2023 15:28:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwiq-00080Z-5M
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 841a11cc-32db-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 17:28:09 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D61F84EE0737;
 Fri,  4 Aug 2023 17:28: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: 841a11cc-32db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH 0/6] xen: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 17:27:43 +0200
Message-Id: <cover.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series addresses shadowing issues to resolve violations of Rule 5.3, whose
headline states:
"An identifier declared in an inner scope shall not hide an identifier
declared in an outer scope". To do this, suitable renames are made.
In some cases global objects are modified, while other modifications concern
local variables, possibly lessening the probability of future clashes from
occurring, by suffixing variables in some macros.

No functional change.

Nicola Vetrini (6):
  x86: rename variable 'e820' to address MISRA C:2012 Rule 5.3
  libelf: address MISRA C:2012 Rule 5.3
  xen/delay: address MISRA C:2012 Rule 5.3.
  x86/include: address MISRA C:2012 Rule 5.3.
  x86/xstate: address MISRA C:2012 Rule 5.3
  x86: refactor macros in 'xen-mca.h' to address MISRA C:2012 Rule 5.3

 xen/arch/x86/dom0_build.c                | 10 ++--
 xen/arch/x86/e820.c                      | 66 ++++++++++++------------
 xen/arch/x86/guest/xen/xen.c             |  4 +-
 xen/arch/x86/hvm/dom0_build.c            |  6 +--
 xen/arch/x86/include/asm/e820.h          |  2 +-
 xen/arch/x86/include/asm/mpspec.h        |  2 +-
 xen/arch/x86/mm.c                        | 49 +++++++++---------
 xen/arch/x86/numa.c                      |  8 +--
 xen/arch/x86/setup.c                     | 22 ++++----
 xen/arch/x86/srat.c                      |  6 +--
 xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
 xen/arch/x86/xstate.c                    | 30 +++++------
 xen/common/libelf/libelf-tools.c         | 24 ++++-----
 xen/drivers/passthrough/amd/iommu_acpi.c |  2 +-
 xen/include/public/arch-x86/xen-mca.h    | 38 +++++++-------
 xen/include/xen/delay.h                  |  2 +-
 16 files changed, 137 insertions(+), 136 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577191.904155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwis-0008Aw-Bc; Fri, 04 Aug 2023 15:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577191.904155; Fri, 04 Aug 2023 15:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwis-00089g-3f; Fri, 04 Aug 2023 15:28:14 +0000
Received: by outflank-mailman (input) for mailman id 577191;
 Fri, 04 Aug 2023 15:28: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwiq-00080a-Pm
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8517a4f9-32db-11ee-b26d-6b7b168915f2;
 Fri, 04 Aug 2023 17:28:11 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C39364EE0741;
 Fri,  4 Aug 2023 17:28:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8517a4f9-32db-11ee-b26d-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/6] libelf: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 17:27:45 +0200
Message-Id: <55624244c42297da7da954009ba0559c47fc245e.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The types u{8,16,32,64} defined in 'xen/arch/x86/include/asm/types.h'
shadow the variables in the modified function, hence violating Rule 5.3.
Therefore, the rename takes care of the shadowing.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/libelf/libelf-tools.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/xen/common/libelf/libelf-tools.c b/xen/common/libelf/libelf-tools.c
index a9edb6a8dc..f0d5da1abf 100644
--- a/xen/common/libelf/libelf-tools.c
+++ b/xen/common/libelf/libelf-tools.c
@@ -91,10 +91,10 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
 {
     elf_ptrval ptrval = base + moreoffset;
     bool need_swap = elf_swap(elf);
-    const uint8_t *u8;
-    const uint16_t *u16;
-    const uint32_t *u32;
-    const uint64_t *u64;
+    const uint8_t *uint8;
+    const uint16_t *uint16;
+    const uint32_t *uint32;
+    const uint64_t *uint64;
 
     if ( !elf_access_ok(elf, ptrval, size) )
         return 0;
@@ -102,17 +102,17 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
     switch ( size )
     {
     case 1:
-        u8 = (const void*)ptrval;
-        return *u8;
+        uint8 = (const void*)ptrval;
+        return *uint8;
     case 2:
-        u16 = (const void*)ptrval;
-        return need_swap ? bswap_16(*u16) : *u16;
+        uint16 = (const void*)ptrval;
+        return need_swap ? bswap_16(*uint16) : *uint16;
     case 4:
-        u32 = (const void*)ptrval;
-        return need_swap ? bswap_32(*u32) : *u32;
+        uint32 = (const void*)ptrval;
+        return need_swap ? bswap_32(*uint32) : *uint32;
     case 8:
-        u64 = (const void*)ptrval;
-        return need_swap ? bswap_64(*u64) : *u64;
+        uint64 = (const void*)ptrval;
+        return need_swap ? bswap_64(*uint64) : *uint64;
     default:
         return 0;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577194.904187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwiu-0000aN-Ck; Fri, 04 Aug 2023 15:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577194.904187; Fri, 04 Aug 2023 15:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwiu-0000YN-4z; Fri, 04 Aug 2023 15:28:16 +0000
Received: by outflank-mailman (input) for mailman id 577194;
 Fri, 04 Aug 2023 15:28: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwis-00080Z-Ap
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 863935ce-32db-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 17:28:12 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D99AB4EE0743;
 Fri,  4 Aug 2023 17:28:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 863935ce-32db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 4/6] x86/include: address MISRA C:2012 Rule 5.3.
Date: Fri,  4 Aug 2023 17:27:47 +0200
Message-Id: <40823fbaa9e0a9b026e5ff3b01af9d83583889fd.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

s/mpc_default_type/mpc_default in 'xen/arch/x86/include/asm/mpspec.h'
to avoid clashing with function parameter names in 'mpparse.c'.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Even though the global variable does not seem to be used anywhere and is
perhaps better to remove it entirely.
---
 xen/arch/x86/include/asm/mpspec.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/mpspec.h b/xen/arch/x86/include/asm/mpspec.h
index 1246eece0b..cc96ee63bd 100644
--- a/xen/arch/x86/include/asm/mpspec.h
+++ b/xen/arch/x86/include/asm/mpspec.h
@@ -15,7 +15,7 @@ extern void get_smp_config (void);
 extern unsigned char apic_version [MAX_APICS];
 extern int mp_irq_entries;
 extern struct mpc_config_intsrc mp_irqs [MAX_IRQ_SOURCES];
-extern int mpc_default_type;
+extern int mpc_default;
 extern unsigned long mp_lapic_addr;
 extern bool pic_mode;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:28:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577193.904182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwiu-0000WS-1k; Fri, 04 Aug 2023 15:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577193.904182; Fri, 04 Aug 2023 15:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwit-0000WF-U1; Fri, 04 Aug 2023 15:28:15 +0000
Received: by outflank-mailman (input) for mailman id 577193;
 Fri, 04 Aug 2023 15:28: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=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwis-00080a-36
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:28:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86b2be7b-32db-11ee-b26d-6b7b168915f2;
 Fri, 04 Aug 2023 17:28:13 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A877E4EE0744;
 Fri,  4 Aug 2023 17:28: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: 86b2be7b-32db-11ee-b26d-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 5/6] x86/xstate: address MISRA C:2012 Rule 5.3
Date: Fri,  4 Aug 2023 17:27:48 +0200
Message-Id: <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename the local variables to avoid clashing with function 'xstate'
defined below, but declared in the corresponding header file.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/xstate.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 3d566252ea..180455b26d 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -174,10 +174,10 @@ static void setup_xstate_comp(uint16_t *comp_offsets,
  */
 void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
 {
-    const struct xsave_struct *xsave = v->arch.xsave_area;
+    const struct xsave_struct *xsave_area = v->arch.xsave_area;
     const void *src;
     uint16_t comp_offsets[sizeof(xfeature_mask)*8];
-    u64 xstate_bv = xsave->xsave_hdr.xstate_bv;
+    u64 xstate_bv = xsave_area->xsave_hdr.xstate_bv;
     u64 valid;
 
     /* Check there is state to serialise (i.e. at least an XSAVE_HDR) */
@@ -185,19 +185,19 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
     /* Check there is the correct room to decompress into. */
     BUG_ON(size != xstate_ctxt_size(v->arch.xcr0_accum));
 
-    if ( !(xsave->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED) )
+    if ( !(xsave_area->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED) )
     {
-        memcpy(dest, xsave, size);
+        memcpy(dest, xsave_area, size);
         return;
     }
 
-    ASSERT(xsave_area_compressed(xsave));
-    setup_xstate_comp(comp_offsets, xsave->xsave_hdr.xcomp_bv);
+    ASSERT(xsave_area_compressed(xsave_area));
+    setup_xstate_comp(comp_offsets, xsave_area->xsave_hdr.xcomp_bv);
 
     /*
      * Copy legacy XSAVE area and XSAVE hdr area.
      */
-    memcpy(dest, xsave, XSTATE_AREA_MIN_SIZE);
+    memcpy(dest, xsave_area, XSTATE_AREA_MIN_SIZE);
     memset(dest + XSTATE_AREA_MIN_SIZE, 0, size - XSTATE_AREA_MIN_SIZE);
 
     ((struct xsave_struct *)dest)->xsave_hdr.xcomp_bv =  0;
@@ -206,7 +206,7 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
      * Copy each region from the possibly compacted offset to the
      * non-compacted offset.
      */
-    src = xsave;
+    src = xsave_area;
     valid = xstate_bv & ~XSTATE_FP_SSE;
     while ( valid )
     {
@@ -239,7 +239,7 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
  */
 void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
 {
-    struct xsave_struct *xsave = v->arch.xsave_area;
+    struct xsave_struct *xsave_area = v->arch.xsave_area;
     void *dest;
     uint16_t comp_offsets[sizeof(xfeature_mask)*8];
     u64 xstate_bv, valid;
@@ -252,7 +252,7 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
 
     if ( !(v->arch.xcr0_accum & XSTATE_XSAVES_ONLY) )
     {
-        memcpy(xsave, src, size);
+        memcpy(xsave_area, src, size);
         return;
     }
 
@@ -260,19 +260,19 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
      * Copy legacy XSAVE area, to avoid complications with CPUID
      * leaves 0 and 1 in the loop below.
      */
-    memcpy(xsave, src, FXSAVE_SIZE);
+    memcpy(xsave_area, src, FXSAVE_SIZE);
 
     /* Set XSTATE_BV and XCOMP_BV.  */
-    xsave->xsave_hdr.xstate_bv = xstate_bv;
-    xsave->xsave_hdr.xcomp_bv = v->arch.xcr0_accum | XSTATE_COMPACTION_ENABLED;
+    xsave_area->xsave_hdr.xstate_bv = xstate_bv;
+    xsave_area->xsave_hdr.xcomp_bv = v->arch.xcr0_accum | XSTATE_COMPACTION_ENABLED;
 
-    setup_xstate_comp(comp_offsets, xsave->xsave_hdr.xcomp_bv);
+    setup_xstate_comp(comp_offsets, xsave_area->xsave_hdr.xcomp_bv);
 
     /*
      * Copy each region from the non-compacted offset to the
      * possibly compacted offset.
      */
-    dest = xsave;
+    dest = xsave_area;
     valid = xstate_bv & ~XSTATE_FP_SSE;
     while ( valid )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 04 15:38:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 15:38:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577225.904212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwsP-0004Uj-JO; Fri, 04 Aug 2023 15:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577225.904212; Fri, 04 Aug 2023 15:38:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRwsP-0004Uc-Fv; Fri, 04 Aug 2023 15:38:05 +0000
Received: by outflank-mailman (input) for mailman id 577225;
 Fri, 04 Aug 2023 15:38:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlMS=DV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qRwsO-0004UW-98
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 15:38:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5ac15be-32dc-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 17:38:02 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0235D4EE0737;
 Fri,  4 Aug 2023 17:38:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5ac15be-32dc-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Fri, 04 Aug 2023 17:38:01 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 6/6] x86: refactor macros in 'xen-mca.h' to address
 MISRA C:2012 Rule 5.3
In-Reply-To: <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <a3459c0d04b900f9164bd849cf264134@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


> -            _mic = x86_mcinfo_next(_mic);                       \
> +            mic_ = x86_mcinfo_next(mic_);                         \
>          }                                                       \
> -        (_ret) = found ? _mic : NULL;                           \
> +        (ret) = found_ ? mic_ : NULL;                            \
>      } while (0)
> 
> 
> --
> 2.34.1

Stray blanks here, sorry.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 16:17:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 16:17:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577230.904222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRxUS-00014g-Fn; Fri, 04 Aug 2023 16:17:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577230.904222; Fri, 04 Aug 2023 16:17: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 1qRxUS-00014Z-DA; Fri, 04 Aug 2023 16:17:24 +0000
Received: by outflank-mailman (input) for mailman id 577230;
 Fri, 04 Aug 2023 16:17:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRxUR-00014P-34; Fri, 04 Aug 2023 16:17:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRxUQ-0008Jm-VL; Fri, 04 Aug 2023 16:17: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 1qRxUQ-00043C-Ge; Fri, 04 Aug 2023 16:17:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRxUQ-0002iE-G8; Fri, 04 Aug 2023 16:17:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=laVUtdiIThJ0etkjNZYrtc50AHypv9NkrlJJ3itiy80=; b=kut+SEaL5CW7oYe5dTWmG73Srq
	ldQjFd4KfolwBbBjsD0Fo+sEHKdDtPxJ8okcLk8G6GHz6R6Bniz7n2XD+hDXCiEYSe7Bu5ZaW93xZ
	ISTm3ou30nQs8vu6RP+JmbcbY27cT8Ei7XxUZm61ZmNI3CTZul2qLRmhVzJkTsyW1Iys=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182171-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182171: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c167c80b463768e04a22fbe37ba6c53a4a08e41e
X-Osstest-Versions-That:
    qemuu=38a6de80b917b2a822cff0e38d83563ab401c890
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 16:17:22 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                c167c80b463768e04a22fbe37ba6c53a4a08e41e
baseline version:
 qemuu                38a6de80b917b2a822cff0e38d83563ab401c890

Last test of basis   182114  2023-08-02 10:38:51 Z    2 days
Testing same since   182171  2023-08-03 17:26:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Daniel P. BerrangĂ© <berrange@redhat.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Hyman Huang(é»„å‹‡) <yong.huang@smartx.com>
  Keith Packard <keithp@keithp.com>
  Marc-Andre Lureau <marcandre.lureau@redhat.com>
  Marc-AndrĂ© Lureau <marcandre.lureau@redhat.com>
  Markus Armbruster <armbru@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-DaudĂ© <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   38a6de80b9..c167c80b46  c167c80b463768e04a22fbe37ba6c53a4a08e41e -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 16:18:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 16:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577233.904231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRxVB-0001at-Sr; Fri, 04 Aug 2023 16:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577233.904231; Fri, 04 Aug 2023 16:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRxVB-0001am-QE; Fri, 04 Aug 2023 16:18:09 +0000
Received: by outflank-mailman (input) for mailman id 577233;
 Fri, 04 Aug 2023 16:18:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qRxVA-0001Yw-Ue; Fri, 04 Aug 2023 16:18: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 1qRxVA-0008KW-Tk; Fri, 04 Aug 2023 16:18: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 1qRxVA-000448-L2; Fri, 04 Aug 2023 16:18:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qRxVA-0003Gp-KY; Fri, 04 Aug 2023 16:18:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Hc4gWUUX0+ihCFrSMSmg+LJhWyQIBCAfevyV8UZ24fM=; b=EHkPdS6IE4gpkuybOl5VUMjxx2
	QoO+tRGdU105XgDP18XI+QAmNShvZXyBBsAXVDjUhRN0PIqk/fFGA4U8Xpo8Fz2a0FeYaG/6ss5xF
	xVvWXgFyyfs2y/2xEVrCI4P6+yU/solLnemthhK3wD+nq0tWXAA+GPu59uisfMYgHW08=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182184-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182184: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2d8c17a9b61ad298986daffe5373026c3b88c741
X-Osstest-Versions-That:
    ovmf=01ad4134c3e6339ac53c85fccf62ed10d5b6d662
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 16:18:08 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2d8c17a9b61ad298986daffe5373026c3b88c741
baseline version:
 ovmf                 01ad4134c3e6339ac53c85fccf62ed10d5b6d662

Last test of basis   182176  2023-08-04 01:40:49 Z    0 days
Testing same since   182184  2023-08-04 14:44:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Oliver Steffen <osteffen@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   01ad4134c3..2d8c17a9b6  2d8c17a9b61ad298986daffe5373026c3b88c741 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 17:20:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 17:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577247.904242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRyT3-0008BJ-5Y; Fri, 04 Aug 2023 17:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577247.904242; Fri, 04 Aug 2023 17:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRyT3-0008BC-1v; Fri, 04 Aug 2023 17:20:01 +0000
Received: by outflank-mailman (input) for mailman id 577247;
 Fri, 04 Aug 2023 17:19: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=V9qd=DV=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qRyT1-00089b-DG
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 17:19:59 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1eea161b-32eb-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 19:19:53 +0200 (CEST)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2023 10:19:49 -0700
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by fmsmga002.fm.intel.com with ESMTP; 04 Aug 2023 10:19:49 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Fri, 4 Aug 2023 10:19:49 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Fri, 4 Aug 2023 10:19:49 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168)
 by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Fri, 4 Aug 2023 10:19:49 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SA2PR11MB4986.namprd11.prod.outlook.com (2603:10b6:806:114::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 17:19:45 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 17:19: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: 1eea161b-32eb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691169593; x=1722705593;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=xVasWhZGvr4Oc2XQI54Al45p83D2/CvBY9/HLZe60Pk=;
  b=Vi2ERNlfCuEX4liiUweqP8uIPgu5SKq6V6Qaq+9N5hmqmZuBlCzoAY31
   3G2ZDltwjJVJ2fw0DnfNnZCZzk+J8D+wwl2gBwZPknzDahVZnqwPfdsrt
   vv46eF49ru5D/A6T9fmqN+KTsmHS0zb0fo46KC0c1HyZkUfQjswCVTnww
   32NQkPRxwCg4XPMbooWtonoz42KbGaRy4awl2pjoFcpAzBrs1Qk93wFRR
   23EAStdGQIk0XZtzGlz8axdOa4dQB0lGnYa7O623NBi4Njn2hCxCzh2fF
   ISSuxdKXwSwU+c1IG5FRx73Cg3QC7terHjl50Gv3WPCGJflpGCBRvT7zd
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="456581000"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="456581000"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="844155984"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="844155984"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kLB4ig2KOeJefJjIFM+ZP8qbBZS6EWDgS9l3x6fCtCkVLaq91kJmtiQh0/Syl3x2Ob5KfMaIGCMve5aWjQwmZRX3eGB62IXPGcGFYShl1rE5cXQyg2s9d0OhCnNKcgMilY7uMSRqqUHUxXmLkwcQAg1YNTjax49fNEQd+5P+RfW+Wxj3yGZBYp3v9OrZws23eGn0FUWEmwwtLUlyFiWm8FRfruPy7Tvee5l7/EhjPAv+94HsxNM9oqUG70JRrrxFk/DFImcmNibRai8haLLxNsmRogus765JDUOnbbJjDUoXLg7n/oTMGHadafIEJYUrqqoIrjxZsw2y0suVWVFxlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xVasWhZGvr4Oc2XQI54Al45p83D2/CvBY9/HLZe60Pk=;
 b=D++4ErjwSBUiVYNTy8BDsH37IOlzPsqdOZgxnLyUJ0B3o3LEKi6pyk/o42qReCd9eXhtzM6bsPVziqFWaRde5kiDdUO7IINpSwgOo7NIO27GnQmrF83hg4VMJoCOjE48WjtBwUAW2dQFHl6nQqjMlknRB3gXgOPCA6kitceCoAw3/OUbLpqjfPu54tvhndwc6Ku4cXDPcdc2oKj2SOCCp4TNfrkB38GkyYPVEu/7J4BmCtWzgPbOszOhqyL6ixN7FqiDJ4oN2hSxvZgS858muPxUJtRnCr/N8zVignc6Pal4dLVjaI+bX4as7JRk72jKGEz/iU49yaoOs3ljbYbeCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "Lutomirski, Andy" <luto@kernel.org>, Thomas Gleixner
	<tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
	<bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "x86@kernel.org"
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra
	<peterz@infradead.org>, "Gross, Jurgen" <jgross@suse.com>, "Ostrovsky, Boris"
	<boris.ostrovsky@oracle.com>
Subject: RE: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Topic: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Index: AQHZxq1luoPee3LE20qWOZPEmJublq/Z7qYAgABzAbA=
Date: Fri, 4 Aug 2023 17:19:45 +0000
Message-ID: <SA1PR11MB6734A92B97F4A4A51AE3CCCEA809A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
In-Reply-To: <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SA2PR11MB4986:EE_
x-ms-office365-filtering-correlation-id: 64911bf5-23cf-4ebb-63ae-08db950eff77
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Oo0yUJGDlLh4fxAzBSVmUJTL58GOLjzLxXz2xgkpEZ2VFkVbqWpSLQzjCpk31Ynsne8C1EGuqKYE62aY4eZ7vEOieyKtQQTEQBqLHjJYN8RJQYH9rOQO690MPq4bTk46m7Xz6gjaGFZakfLnym8gW8+ybQZeHJbYV1LKwVq2ysfkR7Q+ag+QlNZvvdFixr92HIvrjLUL/IXblBiRH29FwHs7MMa4g1GnJV3H8xBKoF/iGniRBuV8zX/gblbGvBnm3cK4deMHJJBWbmcv4W0d19e8QnC70CCpxCvKW88Q2EpZ3V3Kq4BD+UYf/Y4QIkE0pYBgC+P9wW13eIGDNb5eqQCZV4+gjBdg9e72xGKvTMsvbuV69xJvQVlJyscXMZIntgyVwPx6emPGbbKXhk5NBj4NWRITyNRuTedtNQTCEcSmk22i3meGxNT6padlY8MJHxBmfAfCDtwRcN59zfAbfUOwO83bsUwD2XSoh6Q92X9jTGlX/xCQaWwFuWU7Z4QFpo/TIMdeyMgJnF7SsCVcae0ATChpU57oPc2qE6oJopZ7+PIiM2yMeMip7aBHHvfEJBFvwksdjNUR6PcYyJGoLwHkchQ0bG37G5vtCK5aQK5oYvSXb48M24zjru5EjKehtrK98yccsPXFr4CIRrdJMg==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(366004)(396003)(39860400002)(186006)(451199021)(1800799003)(52536014)(66476007)(66946007)(66446008)(66556008)(64756008)(4326008)(76116006)(2906002)(38100700002)(122000001)(53546011)(82960400001)(38070700005)(6506007)(7416002)(83380400001)(54906003)(110136005)(55016003)(86362001)(9686003)(26005)(478600001)(7696005)(71200400001)(33656002)(4744005)(8936002)(8676002)(5660300002)(41300700001)(316002)(26583001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHcwYWhnMWZKRUdBT2F5MnMyalBBQk1ZZjRRVno3M2JGWFJ3M3h1dlBOMVZl?=
 =?utf-8?B?QTZCUHlTUmZJSjdMTGZHZXVobXZyRGsrSjd3cDhQVGh4L0JzSTdTMzFnSmVE?=
 =?utf-8?B?VnNLN2xBeFRORlBDZHNvTGxLbHRwdUxmK2dTMkVERFNIUFJJZEVjQ2tva0F6?=
 =?utf-8?B?Tk9sdHJ4NkEzT3JPOE01d0sxYjFaZG5PdGFLT1hPdE56YzIySWhYVDh5WmVn?=
 =?utf-8?B?SVBtNm1JNmI4U1p3MnhWTzlidHF2ditMN3k3bGMxV2UrSmNtUTdDbG0xaklP?=
 =?utf-8?B?SndOVzFKSUxQeXNEeU1DVjBlMlpzZk1jOVdXVTZPTTZuQnpxTlFaSG9kRTFw?=
 =?utf-8?B?UmdSbUlEaDZrdzZRTHdESVZNOUdWQU5WNlluc3FIVTM1TFNHVGxicW1pRVZI?=
 =?utf-8?B?NStmVUYzN1d4ZXpJa1pWT0loRU91SHlmOXphTUF4Wm1OS2NmNGdrZnRZVlJ3?=
 =?utf-8?B?OEtLK21Oc29mb2drVDZTeEV1SU90OTY4dVhPSDhXajZWZFR5M2k4clRNM3h1?=
 =?utf-8?B?OUl4NjN2bStIQmRQenE1ZkgzZXVpUC9UMmNwdlBvb3hpRWVkSHFXblVKc2J0?=
 =?utf-8?B?bk41RkZHVVp3ZVlBZ1pMSDVwcHMvbDNMY3lJd3ExUVJuM2JveGszVG1hb0h1?=
 =?utf-8?B?N0ZzNVdwMnlrTmlzaEdhWUNPaCtFOUxhVWU5QmJFbURYQWtYbU03bHpzRTJn?=
 =?utf-8?B?V0QrbzcyUEZFMG5kT2dXNWNXdEt6MlFzV0c2ekVhTTExNTRRSktRUStlanBa?=
 =?utf-8?B?L2JwOTJRc3UzNWR5clhmdzJUR3VvVlU4SjFRRFMyQ0NiNXY5ekFnaGpGSFox?=
 =?utf-8?B?YnVsek5McFlURzc4YmhERGJWdWZIZlNVU2pDNndYeHZhODRtaVRYRmRyaU1k?=
 =?utf-8?B?ZjNiSVEweEJzNlpDZU5DTU04M3JYYnVTSCsrNlRXbW1wZzVUc1hoWXQ1aU1C?=
 =?utf-8?B?Z25aU3ZHdUFISmtrejFiSmNXVkZoU0xsbElSeWtmRGlrWk5PR01pWnNTcWRG?=
 =?utf-8?B?QmE3bmJIZVQ2cjUycjc4bGZPa3NlbG4rK3ptUUU2OEJCNzdqMHBTbEwyR1Mr?=
 =?utf-8?B?T0hXODVOSDhLaG1BRDZsUHhORmhCMXl2THVmS0huTGQybEhuSXJkM0N1ME9h?=
 =?utf-8?B?VkV6WGJ4dUl5c29YdGh0eHg5Q3A2cko0YmtiMEhIeVYwWGtwWFlNQTYreHVH?=
 =?utf-8?B?RXEwSHpZRzNIRUFYMVIxZ2Zja3ZNaGFPRUc4MEsyTzVDK3QxQ1c2VERNenFu?=
 =?utf-8?B?Wlc0MzJkQmpYczV0Rklndm82anptT2lOTW5YTHVqUlpHcEtWTHB2cHlldTFx?=
 =?utf-8?B?VU03c2ZKOUMzdkNDRUhDWjRSWGRlaVE4Si91VWRvaDI3Yks3SFpHbCswTXEx?=
 =?utf-8?B?SEhCUVZRNzZabFVTRkc2M04xdmcvbVJQWTRJcXJjT2ZtOUNjbXIxS0FTeWNM?=
 =?utf-8?B?QTJsZkdJTnVtb3NRZVJNODEwQ1U5UjB4TzVGMHFOQ0x4TVNHYVVXeGJSVUtX?=
 =?utf-8?B?MHM4R3pTVWFTeXFNQ1QzLzBuWTBZSy9UamRQV2VXWlNUYU1lM3JHRXFDNEZQ?=
 =?utf-8?B?bTZlU2lrTUhETXlMZGdJWjRnVy9DS0IwOTZPek1YNlV6VkdWWEZyeTlPaDd1?=
 =?utf-8?B?K2NrY0NYZjA2eEhQelpGYm1nQ0tiaUN0U1ptZUV3Qkp0NVA3cWF5Y0d5ZXd0?=
 =?utf-8?B?OFJPeS81Zy9iY09RdmFEdlFaYWpFeGtVTWlDU245S1JicmVMdGFOUXREQ2RL?=
 =?utf-8?B?WXlyNllZMVJSVWc4SFBIc09uRDJrSllvVWl5K1JKbUIvajcrUXdDcUR1Z1VJ?=
 =?utf-8?B?ak5WS0VaNE1CRGdQSmFUbDVzZ3AyTWZHYm9jdVVSaS9xY1VJTURQSXB0NmFN?=
 =?utf-8?B?ZlV0NjhjY1IzVTYyeTlOR1YwWnFvZ3dKS3ZwdkJMdlVzQStBOTRIdHU1c216?=
 =?utf-8?B?T0VrdG1Oa1VybVNhUmtjMmU2cjd0bmdERmIxbnViV3pmM01sQmExb0hVeE5K?=
 =?utf-8?B?ZkgzWmRTdGlnc3o0MGd3RVkvSUMvTzJkeG0vREYwZ1Q3aFpNREpSenlaSGtv?=
 =?utf-8?B?SjMxOXozM3pyQWlNMTl6aldHcG1OZDZRWDQxMDg1YmVDNzQ3bDNsM0VuR1lR?=
 =?utf-8?Q?/XTs=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64911bf5-23cf-4ebb-63ae-08db950eff77
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 17:19:45.0560
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: X3D7n1YypSfNH8m9F3m0E0GqZfuWymLo7JF8dB25I8WyvbIJkeke9qabmwLuM+FNG6cVzoPI/E0sYVhViLCmMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4986
X-OriginatorOrg: intel.com

PiBPbiAwNC8wOC8yMDIzIDg6NTcgYW0sIFhpbiBMaSB3cm90ZToNCj4gPiBJIGhhdmVuJ3QgY2hl
Y2tlZCBYZW4gaW1wbGljYXRpb25zIHdpdGggdGhpcyBjaGFuZ2UsIGkuZS4sIGRvZXMgWGVuDQo+
ID4gaHlwZXJ2aXNvciBuZWVkIHRvIGFkanVzdCBob3cgaXQgcGFzc2VzIGFyZ3VtZW50cyB0byBQ
ViBndWVzdHM/DQo+IA0KPiBUaGlzIGlzIGFuIGludGVybmFsIGRldGFpbCBvZiBob3cgTGludXgg
aGFuZGxlcyBkYXRhIG9uIGl0J3Mgc3RhY2tzLCBpc24ndCBpdD8NCg0KWWVzLCBpdCBpcyBjb21w
bGV0ZWx5IGludGVybmFsIHRvIExpbnV4Lg0KDQo+IFRoZSBYZW4gY29kZSBpbiBMaW51eCB3aWxs
IG5lZWQgYWRqdXN0bWVudCB0byBtYXRjaCwgYnV0IHRoaXMgaXMgbm90IGEgaHlwZXJ2aXNvcg0K
PiBBQkkgKHdoaWNoIG9idmlvdXNseSBjYW4ndCBhbmQgd29uJ3QgY2hhbmdlKS4NCg0KWW91J3Jl
IHJpZ2h0ISBUaGFua3MgZm9yIGNvbmZpcm1pbmchDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 17:20:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 17:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577249.904252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRyTh-00011L-GK; Fri, 04 Aug 2023 17:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577249.904252; Fri, 04 Aug 2023 17: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 1qRyTh-00011C-Bz; Fri, 04 Aug 2023 17:20:41 +0000
Received: by outflank-mailman (input) for mailman id 577249;
 Fri, 04 Aug 2023 17: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=V9qd=DV=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qRyTg-000112-OY
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 17:20:40 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39bd3b2a-32eb-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 19:20:38 +0200 (CEST)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2023 10:20:34 -0700
Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15])
 by FMSMGA003.fm.intel.com with ESMTP; 04 Aug 2023 10:20:33 -0700
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Fri, 4 Aug 2023 10:20:32 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Fri, 4 Aug 2023 10:20:32 -0700
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Fri, 4 Aug 2023 10:20:32 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SA2PR11MB4986.namprd11.prod.outlook.com (2603:10b6:806:114::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug
 2023 17:20:30 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 17:20: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: 39bd3b2a-32eb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691169638; x=1722705638;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=IjHAJ29LzkUr/EPACGQvTn9oVa5bkwKqcPgt8qC/ADA=;
  b=HgAbrQi6s+IFaJDn7gXtAZYBWoo9Rbho+F/2DT7mW30ryyTLSeFOarpe
   qPf+3+tZeMa+wu7ZynyAdcLEf+o1CB2ru7FXSr/cnCmbvAN43kX6yo4+m
   5PMjlYK4CNQJcyXAgDH5hpJiIfJJg8kk6cJtbHdpmOzc0eZ3z9Huvxw74
   tWZrYIxwiuHWv3CivNTL8g0JSJbXGWC8O9YFyq1mzspctKqk1E0MZEEXm
   CgoCf+Z2eeOcC401ugK24DszrkeD9oxA4xWyRwqHdz1gPDE/+HKTaB6RI
   +86WQG6V3UgBQ/bovV55l6aYAjQMoq7J0pFiEMm/pWSq+AUWNmirI9Ozu
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="372947705"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="372947705"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="820205770"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="820205770"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y1xscz92d4OHjgCheY55C+XBxMIIo7m+4jmsx+0VErHuydYPfmclzKGnZa9xliiWp0nLmdD1HSMRVMdIAWNMcL8z6zrvhTc3oH/wmPMGkXg0hYiqHLGuulX3B37eTNU44m2OE0kfnZYxxrGc8G0iQPDsX8WawqRYdz09BC/BJ6E4GQ2sbJvdJMzLDSN8GzGcvWEyxBIXoLyppwz7EFbgZ6+LPNZ4Dx9CTiCwCTdGAANOOM6V2KGPfeEY/dlojikvnjyODh2YlBxo33a2HJrVi7a1s2mYYvsJSWIyDfVSiceMtLjEpEkijE+VUKpTukdHqfg1XHHNRESfdBqHZtOBuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IjHAJ29LzkUr/EPACGQvTn9oVa5bkwKqcPgt8qC/ADA=;
 b=YpY9ZFYAcyQok3uxnR5Lf4tUMGmoz/bqiyJC7SHrpohY7Ywh5Yg92ub5Ibhib4wpKIpjVH719btZ6sXsSQl05HKOgrPUevXaVP+NMVn042JiV16ubcqezYjHGelCiuqwFuz2O6ZoSdoLJydrEPBoyoYRf38PWeaRPoXdvIIliTlVXLRQB7Ju4HWyBRjQwwd7Lvt8tQpCR1L5BFKFxmkPqDQEm/ggeRup1LKyZ/EEu32DYytr9obaN/JBI4UfYb71oVAra5HKMbuKwZtCOEBg2OqT2Noi/VHVyUXQ3ParRfs+5c9kKZckYaEedNRHlbohBmDt9oRBanJBKifir9V/5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: "Gross, Jurgen" <jgross@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Lutomirski, Andy" <luto@kernel.org>, Thomas Gleixner
	<tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
	<bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "x86@kernel.org"
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra
	<peterz@infradead.org>, "Ostrovsky, Boris" <boris.ostrovsky@oracle.com>
Subject: RE: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Topic: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Index: AQHZxq1luoPee3LE20qWOZPEmJublq/Z7qYAgAACvoCAAHECsA==
Date: Fri, 4 Aug 2023 17:20:30 +0000
Message-ID: <SA1PR11MB6734DC6842D4779BCD3FC323A809A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <f0077c58-9192-9c81-6c2d-df845bfb7815@citrix.com>
 <f3c20dd0-9914-f646-0aaa-400dffd2bb2b@suse.com>
In-Reply-To: <f3c20dd0-9914-f646-0aaa-400dffd2bb2b@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SA2PR11MB4986:EE_
x-ms-office365-filtering-correlation-id: bfb7b4c9-fc07-48d5-44a3-08db950f1a84
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: OaSUP1frTjL0uWSE077R5p3DaPC89IZlxLGWh/pjBInWpLFoGIne1OYavYf3Nt9ptYAYqoAcGrKTSppqXYGi15oaBo+8VzPVW8Of9RFzptPVU+byiiXfO0KBePOGeNzweQOTYFe6Rqhq03nfOwFDMPzhA15AtAeHCxuEGGczVcxzuMO2peyh4sbbUEkcgckp2n6g7vux0cil5u2uOQ0CrM5uuy5tlhWUsYsKBGaKonf+9SGTQmicyf8kdKEln8IHkb7EdLcKwFWBoFfjH31vFepopojXrZVWc3GLR+Q22aEwqV8RdGIzRBpYbB4ddDZ3xu2vv9bpj+neOEii862xSFnbPN3C9JTzQGTCNsbc81cGHU/MCZ7x0SOljTjUe89HZ9llJkrhUOerjbfq6fPJM4B64M/9U8T7N9UeaHyHaexjYWSb6TDCgIEqhPrSZ6q7HHKgEQGeVYSJ6HIZRQcG2jbuBTX7V2CIezhzLCjV+8tiezM3YJS/vcbuKU7aV1eQsfDx3K4ClrrFdW9T3CHKV4Jcun0oGOTNsQH9yF3BB9rKPqNZD2y2PkecjTGQWYfAfirjPYnUBLzFDTSckjuQ1i9th3Yvete6BYPXtNRLSQiv65Bj1oXvjFMm3xNiNj1q7j/AHZHj6C9pf+WlyNcHlA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(366004)(396003)(39860400002)(186006)(451199021)(1800799003)(52536014)(66476007)(66946007)(66446008)(66556008)(64756008)(4326008)(76116006)(2906002)(38100700002)(122000001)(53546011)(82960400001)(38070700005)(6506007)(7416002)(83380400001)(54906003)(110136005)(55016003)(86362001)(9686003)(26005)(478600001)(7696005)(71200400001)(33656002)(4744005)(8936002)(8676002)(5660300002)(41300700001)(316002)(26583001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VEFKaTJTbXlGbGlQQ0pGamN6d0k4c0dzdlVrVHhPSTJvckg1RXVZbEdFaXJx?=
 =?utf-8?B?YWZVc25QSUV1ZWNUa3lFaEJaV2NhNjgwSk5SMThCVUdRV1JTd0lrd2pjcTRr?=
 =?utf-8?B?djg0MXdycklxWUJkL1ZZOXB5WUNsUEI1ejIyVUpWS1dqeHgwTmlMKzlXa2dw?=
 =?utf-8?B?Rk1XUHZkcDVzaklQTm9TSXZlOHpKMmVjR0xueFBkWC9jZGpQUVJzdDBhaUtP?=
 =?utf-8?B?WkNpUXkvT0VjVUJlcUFQZVRwNDQ1VTBRRC9haFEvZXJiVnIzV1FMT3k4bHQz?=
 =?utf-8?B?ZVdhT0djaHZFNkJpV2tuZGFHdUxvTVBVU0ZqTWcwN2pLSFdXcUFLL2dMR0E0?=
 =?utf-8?B?dkdmdVN5QmYxUVdTUlVVeGlOcDVtbmZxRVpxalhscy9IOTZrOWJWSk5zakNi?=
 =?utf-8?B?SXk2dVRrMHRaa09xcm42YjlZWDdIbWxnNG5oV09MY2VwYTZ0ZzM0QjlpRUdw?=
 =?utf-8?B?TTlkV3lMK0c2bkk1VERmODROcUF5cjRHM3Fnczk1T2tOdjdlNVFWME9UWGVR?=
 =?utf-8?B?VWpCUUdSSTRXUEFZbkVwQlNUVldyL01nQ0N4bjNlWTcxZ0pXdHV5ZGFENStH?=
 =?utf-8?B?SzVFUnpxaGsza0hhOTBUYS9BQ2JwRCtoVWMwUHFuNlhXRWEzUmw2eVBNRHZT?=
 =?utf-8?B?a1VOVjJaV3hyUmo4cVlYNU9VTjA3T3lzdDJaWjhOMjlMY1RRaTVzcmwzYmN4?=
 =?utf-8?B?eS94dlU3aXhDY1MzNFJQL3k2dFI1QlFhSDVsN1lWSERvUmhucnM3YUZ0cTNH?=
 =?utf-8?B?U0Jkb0lLUVBKQkxLNXhka1l3M2NheWVsd05LYXVpUXp0RmdXSUE5L3RUYUFI?=
 =?utf-8?B?SDFrbEpFYW93NnRzL3RzclJHdVcwWTZkcjVWS3JUOE81d1BVRUFCUXNCTHdC?=
 =?utf-8?B?SzU4OGVMbnVCNkFqRi80dHZXc2E0SHo4R2JoM0pyN2tTaDBtR05PRk9CL2VN?=
 =?utf-8?B?OGNMbTErd1VoOGh3MEhqNXUrM3NTbnEzUkZuK09TdFhGUDAvSkxtd09MNGtt?=
 =?utf-8?B?ZkZseUk0MXQwQml2ZUM2MStsNzFXVm5xU3l1MDUwR25WNGFsdkhUc0JDMGVE?=
 =?utf-8?B?TEc1MFZ1ZVdhbHNNWnlMRERWc0NpU0xyREdvN0N3RVd1UFNBQVUyd2wySEg5?=
 =?utf-8?B?RWZEK05QK3ovWkdpK2Q2ZThZZWJDeG50UXh3Q1llTjdzSnhzcFl2UFVMMmE4?=
 =?utf-8?B?NUNpVUsyT3p5R0NJZ1IzbEwrWGZndFd5MWNXOGdZSDhDMkx3MGoyMlFPNXhp?=
 =?utf-8?B?aXIwWms4WXFqUTNRMnN3MlZ5RW85bWZNNlZPN0t3bXBRLzMyZGx3ajJwaVA3?=
 =?utf-8?B?Znp4aWdWZkt5c2NCQjNGNXhVbnFBTEtPbnlYdlJUQmNtaGkvN2h6RHZadjVL?=
 =?utf-8?B?anRkV0o5YVNuQmRTQWNzVGoxK2lvTHI4QkV1OS8yY1dFcFJwbmxubnFNRWwv?=
 =?utf-8?B?NGlZaTUwcGFHWTNHa0swMDQ4NlYrTEJ6UUUrQ0dSSVNIc2UyMUhQSnFScmpL?=
 =?utf-8?B?UllPQWF2Mjh0L1ZMcWRVTkhLSDVsai9vRFFOdk4zY2dORFZlZ2RiL1RPRWl2?=
 =?utf-8?B?NUp5RnJoeUl5c0ZLLzRKbkkrMHdvUGxzYkRoRDBONDU5Zyt1bDRnRVJzNXpF?=
 =?utf-8?B?T0orV0wzWWtLWXhucDJlK05xRjRBUXVPTkF1YWx0ZGdlMGVLYnpnYjFVY2V4?=
 =?utf-8?B?ZnJiVkwzbitSc2d2TlJIQUV2L3Z3ZWwxczlXRnRsNXdrMklYUTUzZ3F5cSs3?=
 =?utf-8?B?RmNXd0ZVU0h1aVRzelg1R2VGOXZ3eFBBL29vVVYrUFE3aGwxNExSdDdrQ1dz?=
 =?utf-8?B?OTJadHdDU2xONy92dUxuWFFrK0h4K0M1QXhpYi9zanE4V0lYNS8zbURZWGpm?=
 =?utf-8?B?c29OTHBGd0VQU1pDU2oyU0NDdDF0Q2ltUnNabEk1Tm9LQXkvTCtBOFVuR0FO?=
 =?utf-8?B?NTNLN3dQR1B6USs2ckhLUVlpWUJnVG9YbW9XU1pnNVc2UTBqMU52RVF1WERG?=
 =?utf-8?B?SE1weEFNRTlOK25GbCtNTlZKS25PSHBubXdJNXJzZE5pYytiL2pGTHJJaWhK?=
 =?utf-8?B?Z2huSXNwY3JwU3gzWTI1S2lZMWpYVHB1d0M4SERIZitZYm1OSDNxY2JjNlMz?=
 =?utf-8?Q?zTow=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfb7b4c9-fc07-48d5-44a3-08db950f1a84
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 17:20:30.4965
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nJZJjGHAS+ppHFPGzfIIwH/3WVJizyUBeUIW6NYRyshuVuZbjfbkFdZTzsRxHCSqBG5iZeuf0bFOrSk0hCwSwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4986
X-OriginatorOrg: intel.com

PiA+IE9uIDA0LzA4LzIwMjMgODo1NyBhbSwgWGluIExpIHdyb3RlOg0KPiA+PiBJIGhhdmVuJ3Qg
Y2hlY2tlZCBYZW4gaW1wbGljYXRpb25zIHdpdGggdGhpcyBjaGFuZ2UsIGkuZS4sIGRvZXMgWGVu
DQo+ID4+IGh5cGVydmlzb3IgbmVlZCB0byBhZGp1c3QgaG93IGl0IHBhc3NlcyBhcmd1bWVudHMg
dG8gUFYgZ3Vlc3RzPw0KPiA+DQo+ID4gVGhpcyBpcyBhbiBpbnRlcm5hbCBkZXRhaWwgb2YgaG93
IExpbnV4IGhhbmRsZXMgZGF0YSBvbiBpdCdzIHN0YWNrcywNCj4gPiBpc24ndCBpdD8NCj4gPg0K
PiA+IFRoZSBYZW4gY29kZSBpbiBMaW51eCB3aWxsIG5lZWQgYWRqdXN0bWVudCB0byBtYXRjaCwg
YnV0IHRoaXMgaXMgbm90IGENCj4gPiBoeXBlcnZpc29yIEFCSSAod2hpY2ggb2J2aW91c2x5IGNh
bid0IGFuZCB3b24ndCBjaGFuZ2UpLg0KPiANCj4gVGhlIG9ubHkgYWRhcHRpb24gb2YgWGVuIGNv
ZGUgd2lsbCBuZWVkIHRvIGhhcHBlbiBmb3IgdGhlIG9ubHkgdXNlIG9mDQo+IERFRklORV9JRFRF
TlRSWV9SQVdfRVJST1JDT0RFKCkgdGhlcmUsIGFuZCB0aGlzIHlvdSBoYXZlIGNvdmVyZWQgaW4g
eW91cg0KPiBwYXRjaCBhbHJlYWR5Lg0KDQpUaGFua3MgZm9yIGNoZWNraW5nIGl0IGZvciBtZS4N
Cg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 17:35:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 17:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577255.904261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qRyi0-0002iv-M5; Fri, 04 Aug 2023 17:35:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577255.904261; Fri, 04 Aug 2023 17:35: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 1qRyi0-0002io-JP; Fri, 04 Aug 2023 17:35:28 +0000
Received: by outflank-mailman (input) for mailman id 577255;
 Fri, 04 Aug 2023 17:35: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=V9qd=DV=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1qRyhz-0002ih-3c
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 17:35:27 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 462e1ea8-32ed-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 19:35:22 +0200 (CEST)
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2023 10:35:15 -0700
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga004.fm.intel.com with ESMTP; 04 Aug 2023 10:35:15 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Fri, 4 Aug 2023 10:35:14 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
 orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Fri, 4 Aug 2023 10:35:14 -0700
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103)
 by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Fri, 4 Aug 2023 10:35:14 -0700
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SA1PR11MB6943.namprd11.prod.outlook.com (2603:10b6:806:2bc::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug
 2023 17:35:11 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::50e4:2cb8:4529:af04%7]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023
 17:35:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 462e1ea8-32ed-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691170522; x=1722706522;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=/uZ89Tm2pcJTvf82DkqKJVHi0tE0E6MJFP5FJFfukpc=;
  b=ZsSIuNzU53OEUbHaZ8kYk49qpiP9gVlwqO5jew1MEqooObt7LTnoNcC/
   SqfrKL/MGRjC7lNForpNkMl9kEVLiXZLrP+oNgaPEWbe4arrtX0KmZE2L
   ymX6h5nG6ZVzm3SNoUBTCwnlmEzae1K08IpeV0eyOm6u8fsHgJYbZbaBh
   ESd5xj7h6MRWkhazdJ4Do4XDzL4SYRKMRsR80bahp+gooUageyTQMqYGy
   a3Jlo+f3RhH9meubWd1EzyriNAHIu6TD0e1jphjbvw1LuiLa/DupmhRiT
   3IRXCGm6TgkgTgMR+VMD9w9hA+vsHMSPZrYXoNg7ZjUuVnAcYuV2ogw7Q
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="372950494"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="372950494"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10792"; a="800140755"
X-IronPort-AV: E=Sophos;i="6.01,255,1684825200"; 
   d="scan'208";a="800140755"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cMcz8Um5w3krvSYNtfw/RXzY59g7nTdCVvQxy0+0Zsys0Y7kjmgQs746LsZFpDM9kz56YeC79neKxUQkTbYNck2WFipGZhLaOKgieaR2FEFIho6fhPA3TZBUWI3shtzAMUW2XqKfqCEuW3PEDe7en4LB9mYyKkawi7HSwkM2l3sscB4dN3IuW2yt71UGw3ZR119UUjJm1iEoLXi3PVozqgGltP8NUn7WT70W/QwZTvPL+b7qImomrkfBH8AOseee2DdQDESE7kNxZam7fJH7j96mMB6ibEgSGqqdW7KVHEiv8Mezl5WA3B3Q0E3I+41RjMMIgy5Zckrddrzy25UJow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ubv7enYxLzTXmgjsMDcuRLrQdCBhlZzE3KL1OOJZcw4=;
 b=G6e0aL1DtQHWOvwCJIeyi24pDTCd/GTFDlsjYvKtlTlzIl4bZPR2fVht/umQtvwWAVcBv2DeYJvreuQcRMK9OKXhinnxJzLzffLPzdoJz9SDyrqzOJjBIy4Rk5s/+ui419DXDNmMiuwlmYJV3nPOlNk19wWhv0/d2rDYy/PIn3/C+yzekTWgJVcSf8JxwZJv/3TOld4AgizgGUAM31XhPSF5WnWL8k6bf7nYuetKm1zAQaVRG2cbI/8+vBlycZjKUNFHTT9xcmqqpmN2HXXkERZLcQY+eyVT9+P/vho0PR6ZCFMxREBQ5plmGw/0n2q2T3WH53lXghLzhgUAeUZdYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Lutomirski, Andy" <luto@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen
	<dave.hansen@linux.intel.com>, "x86@kernel.org" <x86@kernel.org>, "H . Peter
 Anvin" <hpa@zytor.com>, "Gross, Jurgen" <jgross@suse.com>, "Ostrovsky, Boris"
	<boris.ostrovsky@oracle.com>
Subject: RE: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Topic: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Thread-Index: AQHZxq1luoPee3LE20qWOZPEmJublq/Z6zyAgAB3ZVA=
Date: Fri, 4 Aug 2023 17:35:11 +0000
Message-ID: <SA1PR11MB67349385C20E8D3B0C960432A809A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <20230804101321.GH214207@hirez.programming.kicks-ass.net>
In-Reply-To: <20230804101321.GH214207@hirez.programming.kicks-ass.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SA1PR11MB6943:EE_
x-ms-office365-filtering-correlation-id: 96d1cd66-62fc-4813-6e5f-08db9511277a
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: wNvIdG/iB7rV7TsItBndME52X3qHqS7HXIsSX5JEaOQrgBTJF4cRNguoXrguNm4PnRwapGVsDBANf04K5wSj5Tw0MgV9bRwoJ6gbkaGYxGHbeg6Uxw2OAmz5bHJ6aSCFaTDKqZPy90QC/CzRjP7kEDu/g5QBeX16qUuH1zhL6HG2VSuk4P/sbE9WPcLJLiNpXJshiGrDIrmZRMrxfKt4867gRmNtv8JWSnToMG74cs8vPO+eDLtoKR0NVRLrIhc/17MX6ZDd9PLqz0F8OCf47nlSC8EuujG/TneEdfSoPE6OfvuTE2FixNeaYzPt06oU6JrjiUff6HdUKkk4p0klr1XGhaeJhUoyFajuJf6tJjh27GXY44faEMaO4Ctfaq1hytjBSHUVnK7zKlcnZ0HPI3e7YLb2KJQoMHB1PNDNtojbiMquJ8Fi/431rE2qoxXuMER0D8/u2HbJlJJk7O0fv6XoLsH2TrbtgdT3QCgvIidJszcQvKW70ETQ+4I+9KQFkOv+Op5xKzB9Uvil4t5+PJX/iBw8UWR+3SyasX9GqfFxTNcRgnwgiknWE/fftWCDEP2Q20GMn6XGLssXIibDbwvJGpgAmhHYqOSqjAMgQLIQioLeXdudQdpSDuPud9XzUnHIde2saWmFaAnwnzuv5Q==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(136003)(376002)(396003)(366004)(451199021)(1800799003)(186006)(6506007)(26005)(8936002)(41300700001)(6916009)(2906002)(76116006)(5660300002)(66946007)(66446008)(66556008)(66476007)(4326008)(316002)(52536014)(64756008)(8676002)(7696005)(71200400001)(7416002)(9686003)(478600001)(54906003)(122000001)(38100700002)(55016003)(82960400001)(33656002)(86362001)(38070700005)(26583001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?KwPsvvqJE/yjGL6oYxYxvYK70dJM3vfF8TS5+yo5alHwMpsJvX3iAbYXzFwU?=
 =?us-ascii?Q?KdMJoNOydubX3XPBVStaT6vZ20EVa6efvDQoId9fzc6NQEzeHfoKS2YtbiWc?=
 =?us-ascii?Q?YgZRmxwmE1+uZDfRbpPt5x4rPA9Feg/3EdmYxQgklulCP7AtUQDwz904Hwe1?=
 =?us-ascii?Q?kMiuRr1uA/lY4BJIZ700UnhKcSjzwh85NV2VOok3+kPsuF1514pystHUXa3Y?=
 =?us-ascii?Q?+t3ZT4Q80pogDSxQRcZx3CuvpRGxgTltmVCWYuVHEbdgqYnta+vrMLfSZLXF?=
 =?us-ascii?Q?pKUtCpQS+r3YjCuFlB2fV0eeD4rgB9dGJyLvkhK+D69bDInqSSStjNKBv+cz?=
 =?us-ascii?Q?b12Lgu7b0JhtTGzeceN0DBdpjabtLlSEkGQ/RiuE+Ofi56n6IXoXAr57vsuv?=
 =?us-ascii?Q?ax0BbyQINygOvPgmBPJ3L7jBStMg13Ej1g+K7YaX1/+xhCmiOAVRSPjZFnW0?=
 =?us-ascii?Q?DHzFOge3mXfhFUt3dYuBrqLAlqJqP/rKj1UZyFY1P7ED+SLL4wfo8oa1tqV2?=
 =?us-ascii?Q?sqBUyb6+w5o1RdCVDs6XLwoSFT932lY+WEa5AjaXLu7akUtK7xVRFuVMyu3F?=
 =?us-ascii?Q?KTRbIM0tFgKrd+ru2kXchCdgN/g5LOv8teTX2eCv6iRerKIZ0qYraqipAKBd?=
 =?us-ascii?Q?nSrb6igptDquMnG7ZgIsJWxbmc8kkBjVP9ruLzl9QcHgJlm37iwN5ANB6eeo?=
 =?us-ascii?Q?5mbjnvbxDd9U610gy0VO2Iq/944NbEyBemYUcCc785yVXFMh0G8knMvA5XZa?=
 =?us-ascii?Q?aG1bcfNEfnDUhcZiIsBaOMnX+kWMGx+0Eq0GoOqySj4WKERlNOa3ODMRueyS?=
 =?us-ascii?Q?lUbwcAAqNGDyw1ixi8p4Zv14myjmaU8XjQbw8snmYRvbo6WVkMsU+zxTawsP?=
 =?us-ascii?Q?cY/z2l5v+XilTNqtoP7mIlaF/xiYEdCZ+4THmIAtLBUJ6f89h+w41/WbLEyF?=
 =?us-ascii?Q?KE/1GXRGKQkBvIysQnd+RcAjr1MxKFd17T5VJn9G8tjo4N704fhXzE+hOGiu?=
 =?us-ascii?Q?h0ZTEpRVyXFOq78NtNPh1cm+y/N3QqS0SYL1R5aNTf2Wz/krGo6WjF11wQxH?=
 =?us-ascii?Q?TBreVpN/+rIGYx8q+szEcQyvnwqebHh6v6qL2EjAc4bDZkmZvI8Kfa64MTVM?=
 =?us-ascii?Q?d6WUheRxjojHbawJH65JI5jxssOwze+CUtJCzuCsO9A5bmvMHVSzI1oSRmcs?=
 =?us-ascii?Q?g/UjtDlSelRpAik5oNxBEDlriWkEqs2LwjDMjAfWyo5+UOQdxA/rX7eun0mh?=
 =?us-ascii?Q?1+0TLRRviPpTFI/dBW9Fzd5yuHza3MIDmQ/jZyvffkiW5fLUJhdxm8ny11lZ?=
 =?us-ascii?Q?1mrvhCXYfZmzg0bTFS9PVozEdNouhZtsKRIM2ovmTaz3GMa0UPjwWXnkw8M+?=
 =?us-ascii?Q?+HcGj6xmewbzU2mAu9c10rh+HMk1qqmMQjkgjgjqC/+kp//KljijDwVkJcoG?=
 =?us-ascii?Q?yruB3BD0L1qkW3czcvQDYCAVieaEnM8IMPuF40ZebchvUa8Czf5AZpKOqqI7?=
 =?us-ascii?Q?OWQxGP7ON55TL8lqqj+HFX3KjclH/8TPpzmD6HfvohZlNGNPHp5ljDS5yCiQ?=
 =?us-ascii?Q?2zOnEUQ8mUGctXD97cI=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96d1cd66-62fc-4813-6e5f-08db9511277a
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 17:35:11.1752
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: EMTATcikUJ4zLGXp5lfiDx8Lqihoa+4aJ7DHvW+i/k+1tnu+vLhDiUaksF813HXxXNEHGXLFUH6eZgAcKtQv+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6943
X-OriginatorOrg: intel.com

> > The IDT event delivery of X86_TRAP_DF, X86_TRAP_TS, X86_TRAP_NP,
> > X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and X86_TRAP_CP pushes an error
> > code into the orig_ax member of the pt_regs structure, and the error
> > code is passed as the second argument of their C-handlers, although
> > the pt_regs structure is already passed as the first argument.
> >
> > The asm entry code of such faults does the following
> >
> >   movq ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
> >   movq $-1, ORIG_RAX(%rsp)	/* no syscall to restart */
> >
> > to set the orig_ax member to -1 just before calling the C-handler.
> >
> > In addition, the IRQ entry code uses the second error code argument as
> > its IRQ vector, as the IRQ asm entry code pushes its IRQ vector into
> > the orig_ax member.
> >
> > The commit d99015b1abbad ("x86: move entry_64.S register saving out of
> > the macros") introduced the changes to set orig_ax to -1, but I can't
> > see why it's required. Our tests on x86_64 and x86_32 seem fine if
> > orig_ax is left unchanged instead of set to -1.
>=20
> That means that SYSCALL_NUM(regs) get to be garbage; or something like th=
at.

I find SYSCALL_NUM(regs) in tools/testing/selftests/seccomp/seccomp_bpf.c,
but nothing obvious to me.

I think it's clear that once exceptions and IRQs are handled, the original
context will be fully recovered in a normal case.

Is it related to preemption after such a event?

I must have missed something; can you please elaborate it?


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 19:02:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 19:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577289.904288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS03s-0004gq-D2; Fri, 04 Aug 2023 19:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577289.904288; Fri, 04 Aug 2023 19: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 1qS03s-0004gj-AQ; Fri, 04 Aug 2023 19:02:08 +0000
Received: by outflank-mailman (input) for mailman id 577289;
 Fri, 04 Aug 2023 19:02: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=xMif=DV=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1qS03p-0004gd-Aq
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 19:02:06 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65acac0f-32f9-11ee-b270-6b7b168915f2;
 Fri, 04 Aug 2023 21:02:03 +0200 (CEST)
Received: from j130084.upc-j.chello.nl ([24.132.130.84]
 helo=noisy.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qS037-000YFD-23; Fri, 04 Aug 2023 19:01:22 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 991C330007E;
 Fri,  4 Aug 2023 21:01:20 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 7A46721FA7AFF; Fri,  4 Aug 2023 21:01: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: 65acac0f-32f9-11ee-b270-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=qVJ80sMcFC+VhDcYrAkI2SgTfMYHIJ7m/A06T6Wu06Q=; b=hfKY/spEx8pQzuYmLSdq9dv+ju
	EYFl2ED+zOu6Mv2khT5qlOwja516BIIBhqMT3r/zi9lu6hIsIuoUw0bMw9HjPvKUqrfV3uMAvnG1f
	h//f5x7xEABRlxHBwLGdCly3AewzeXENjeUblyU2y5wR72h6zRh6TTHV9QUOS4dxuGUTP7XtB6rYF
	8fkqXYfhcnQ0sZpGPcbt50Et/9WXTzGTSUOGp6srdNJQqx9taX0rm9HxRZzhEIGKHdFsyiZqwvQKY
	GbiXAbKL+HTKGvUNNuShKatS7IwrlDoy0NGqZjXaRH927d7WFo7U0oM1j8GX2hWmlIk17X+h6wZB6
	Cdhp5gOA==;
Date: Fri, 4 Aug 2023 21:01:20 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: "Li, Xin3" <xin3.li@intel.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Lutomirski, Andy" <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"H . Peter Anvin" <hpa@zytor.com>,
	"Gross, Jurgen" <jgross@suse.com>,
	"Ostrovsky, Boris" <boris.ostrovsky@oracle.com>
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers' second
 argument error code
Message-ID: <20230804190120.GP212435@hirez.programming.kicks-ass.net>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <20230804101321.GH214207@hirez.programming.kicks-ass.net>
 <SA1PR11MB67349385C20E8D3B0C960432A809A@SA1PR11MB6734.namprd11.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <SA1PR11MB67349385C20E8D3B0C960432A809A@SA1PR11MB6734.namprd11.prod.outlook.com>

On Fri, Aug 04, 2023 at 05:35:11PM +0000, Li, Xin3 wrote:
> > > The IDT event delivery of X86_TRAP_DF, X86_TRAP_TS, X86_TRAP_NP,
> > > X86_TRAP_SS, X86_TRAP_GP, X86_TRAP_AC and X86_TRAP_CP pushes an error
> > > code into the orig_ax member of the pt_regs structure, and the error
> > > code is passed as the second argument of their C-handlers, although
> > > the pt_regs structure is already passed as the first argument.
> > >
> > > The asm entry code of such faults does the following
> > >
> > >   movq ORIG_RAX(%rsp), %rsi	/* get error code into 2nd argument*/
> > >   movq $-1, ORIG_RAX(%rsp)	/* no syscall to restart */
> > >
> > > to set the orig_ax member to -1 just before calling the C-handler.
> > >
> > > In addition, the IRQ entry code uses the second error code argument as
> > > its IRQ vector, as the IRQ asm entry code pushes its IRQ vector into
> > > the orig_ax member.
> > >
> > > The commit d99015b1abbad ("x86: move entry_64.S register saving out of
> > > the macros") introduced the changes to set orig_ax to -1, but I can't
> > > see why it's required. Our tests on x86_64 and x86_32 seem fine if
> > > orig_ax is left unchanged instead of set to -1.
> > 
> > That means that SYSCALL_NUM(regs) get to be garbage; or something like that.
> 
> I find SYSCALL_NUM(regs) in tools/testing/selftests/seccomp/seccomp_bpf.c,
> but nothing obvious to me.
> 
> I think it's clear that once exceptions and IRQs are handled, the original
> context will be fully recovered in a normal case.
> 
> Is it related to preemption after such a event?
> 
> I must have missed something; can you please elaborate it?

arch/x86/include/asm/syscall.h

syscall_get_nr() syscall_rollback()


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 19:19:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 19:19:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577294.904299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS0Kc-0006Ia-PA; Fri, 04 Aug 2023 19:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577294.904299; Fri, 04 Aug 2023 19:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS0Kc-0006IT-MV; Fri, 04 Aug 2023 19:19:26 +0000
Received: by outflank-mailman (input) for mailman id 577294;
 Fri, 04 Aug 2023 19:19:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS0Kb-0006IN-0E
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 19:19:25 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0b0a1c1-32fb-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 21:19:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A8805620F9;
 Fri,  4 Aug 2023 19:19:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25950C433C7;
 Fri,  4 Aug 2023 19:19: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: d0b0a1c1-32fb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691176760;
	bh=apUVt5yHL5/JjzyZ1TVPnIPul2cJTe3/wdu6vBwZRDY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=s4zUD85T/SQ/hK/Fuer+JmtdB5L7KTyljYWxK4UX4KDKry53SCZV38Ju+2W1oLOQx
	 2hdIoKj1qjHWBM0En+rjgTBRIE2QeXpVXuPc3dRIy+AQoOLDbtXNT1QbJyeeY53aHI
	 0Wl3hPBlmWvpKnE1i/FZbCFFR8zPiS8mqI9tpO+sF7mcDhiWH7C5jV+/UK5Uffhdc3
	 SYZnrEbSqp4ZAaS4xq7thAvueJE8yzD3PnXMQbN6XMGOs+pxRmMJfV6xaTj7WFYJJl
	 L6EiHsgOukLqwHsLv7RjxvnpXlJJ7GeiKmtEZ0XbdobO6A+t1ucRhW+gpFqL9a4Uf2
	 rhzzsdgtf6Gdw==
Date: Fri, 4 Aug 2023 12:19:17 -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: Stefano Stabellini <sstabellini@kernel.org>, cardoe@cardoe.com, 
    andrew.cooper3@citrix.com, simone.ballarin@bugseng.com, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] automation: add missing "needs"
In-Reply-To: <c2a229d2-8df0-8ca3-1484-f3da55b988f1@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308041219120.2127516@ubuntu-linux-20-04-desktop>
References: <20230804011018.2888869-1-sstabellini@kernel.org> <c2a229d2-8df0-8ca3-1484-f3da55b988f1@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 3 Aug 2023, Michal Orzel wrote:
> On 04/08/2023 03:10, Stefano Stabellini wrote:
> > 
> > 
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > The test artifacts export jobs don't need prerequisites, so we should
> > specify "needs" with an empty array for them. That way, they are not
> > going to fruitlessly wait for previous jobs (ECLAIR jobs) to complete
> > before continuing.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks!

> Looking at the whole pipeline, I can see that now only ECLAIR jobs do not specify needs.
> Shouldn't we also add "needs: []" for them?

Yes it could be good for consistency and future-proofness, but
technically it is not required now because the ECLAIR jobs come first.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 19:24:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 19:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577298.904309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS0PT-0007md-Aq; Fri, 04 Aug 2023 19:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577298.904309; Fri, 04 Aug 2023 19: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 1qS0PT-0007mW-80; Fri, 04 Aug 2023 19:24:27 +0000
Received: by outflank-mailman (input) for mailman id 577298;
 Fri, 04 Aug 2023 19: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS0PR-0007mQ-Ob
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 19:24:25 +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 839ecebe-32fc-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 21:24:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EB44E620B2;
 Fri,  4 Aug 2023 19:24:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17BFEC433C7;
 Fri,  4 Aug 2023 19:24:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 839ecebe-32fc-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691177060;
	bh=1scds7z8WNp0wU1Ynx2S061QaMbUsIDz+VM1EtTlCcc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kapeWdutUvjKza/FRgrvXs/aJDpt+nsdUzZh5B2hfDCByE+JkSRIXt3TS/q6H5PAs
	 2hvYn9Q/xZeoAzoipru2vB6YJR9OGOnMMEV4UQeKAe41Q8cmSl9pbdrFfQ0ZXLYvq+
	 7EcOs4WUjgdgr2VDXiB1MpQErZLffjle/R/mptQk8EyPqJS1/B1GylgTcnf0+LDTnY
	 bxlHZKybsY9txmKtl1ZWhFNH67YitV8DanwuQufUvOwOFgCi6aVfC4QsMzLwnzF81C
	 GF7LUJz9KWp0RYAEhzgcmCOryocmolYEmsa5s5xJjgSr822E6wmk1AXjTO4VKyKgar
	 gi/Xdd7+Bp1wA==
Date: Fri, 4 Aug 2023 12:24:17 -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>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Luca Fancellu <Luca.Fancellu@arm.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2] xen/string: add missing parameter names
In-Reply-To: <82f93d14-fd6e-417c-a970-645fd0719d3a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308041224110.2127516@ubuntu-linux-20-04-desktop>
References: <16c5362b740ed66100b55b528881cb26c1430f15.1691050900.git.federico.serafini@bugseng.com> <B1F3B24C-15FC-4A0F-BFB9-8C3C33E8FEB5@arm.com> <e2ab464c-f14a-4d7e-ba25-c88fad9c5d23@xen.org> <4FE67D84-A5AC-4EA1-BCF4-212E4B916BD2@arm.com>
 <1e2d06ab-ad3a-4e5a-ac78-d20bad28bb20@xen.org> <alpine.DEB.2.22.394.2308031226010.2127516@ubuntu-linux-20-04-desktop> <49fc793e-d0a3-7d9b-b501-d7a72dd9c736@bugseng.com> <82f93d14-fd6e-417c-a970-645fd0719d3a@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-779768781-1691177060=:2127516"

  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-779768781-1691177060=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 4 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 09:55, Federico Serafini wrote:
> > On 03/08/23 21:26, Stefano Stabellini wrote:
> >> On Thu, 3 Aug 2023, Julien Grall wrote:
> >>> On 03/08/2023 12:52, Luca Fancellu wrote:
> >>>>> On 3 Aug 2023, at 12:46, Julien Grall <julien@xen.org> wrote:
> >>>>>
> >>>>> Hi Luca,
> >>>>>
> >>>>> On 03/08/2023 11:28, Luca Fancellu wrote:
> >>>>>>> On 3 Aug 2023, at 09:26, Federico Serafini
> >>>>>>> <federico.serafini@bugseng.com> wrote:
> >>>>>>>
> >>>>>>> Add missing parameter names to address violation of MISRA C:2012
> >>>>>>> rule 8.2 ("Function types shall be in prototype form with named
> >>>>>>> parameters").
> >>>>>>>
> >>>>>>> No functional changes.
> >>>>>>>
> >>>>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> >>>>>>> ---
> >>>>>>> Changes in v2:
> >>>>>>>    - memset() adjusted.
> >>>>>>> ---
> >>>>>>> xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
> >>>>>>> 1 file changed, 21 insertions(+), 21 deletions(-)
> >>>>>>>
> >>>>>>> +void *memset(void *s, int c, size_t count);
> >>>>>>> +void *memcpy(void *dest, const void *src, size_t count);
> >>>>>> There is a comment in arch/arm/rm32/lib/memcpy.S with this:
> >>>>>> /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
> >>>>>>> +void *memmove(void *dest, const void *src, size_t count);
> >>>>>> There is a comment in arch/arm/rm32/lib/memmove.S with this:
> >>>>>>    * Prototype: void *memmove(void *dest, const void *src, size_t n);
> >>>>>>> +int memcmp(const void *cs, const void *ct, size_t count);
> >>>>>>> +void *memchr(const void *s, int c, size_t n);
> >>>>>>> +void *memchr_inv(const void *s, int c, size_t n);
> >>>>>> @Stefano: would it make sense to remove it as part of this patch or
> >>>>>> maybe not?
> >>>>>
> >>>>> They are a verbatim copy of the Linux code. So I would rather no touch it.
> >>>>
> >>>> Oh I see! Thank you for pointing that out, then Iâ€™m wondering if itâ€™s there
> >>>> a reason why we
> >>>> are using â€˜countâ€™ instead of â€™nâ€™ as third parameter name, I know Stefano
> >>>> suggested that, so
> >>>> Itâ€™s just a curiosity. Maybe itâ€™s for clarity?
> >>>
> >>> I guess because the generic implementation of memset (see xen/lib/memset.c) is
> >>> using 'count' rather than 'n'.
> >>
> >> Yep
> >>
> >>
> >>> Given what Andrew said, I would say we should rename the parameter to 'n'.
> >>
> >> Yes, either way works. I was only trying to be consistent with
> >> xen/lib/memset.c. It is also fine to change xen/lib/memset.c instead.
> > 
> > If you want to be consistent compared to the C99 Standard,
> > then other parameter names need to be changed, for example all the `cs`
> > and `ct` should become `s1` and `s2`, respectively.
> > The same goes for `dest` and `src`.
> > If you agree, I can propose a v3 that takes care of that.
> 
> Personally I'd prefer if we could limit code churn. Functions that need
> touching anyway can certainly be brought in line with names the standard
> uses (albeit I don't see a strong need for this). But function which
> won't otherwise be touched could easily be left alone.
 
+1
--8323329-779768781-1691177060=:2127516--


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 19:29:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 19:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577302.904318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS0Ug-0008QZ-Sm; Fri, 04 Aug 2023 19:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577302.904318; Fri, 04 Aug 2023 19:29:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS0Ug-0008QS-Po; Fri, 04 Aug 2023 19:29:50 +0000
Received: by outflank-mailman (input) for mailman id 577302;
 Fri, 04 Aug 2023 19:29:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS0Uf-0008QJ-7A
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 19:29:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 453391c4-32fd-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 21:29:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 15197620F9;
 Fri,  4 Aug 2023 19:29:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 37C5EC433C7;
 Fri,  4 Aug 2023 19:29: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: 453391c4-32fd-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691177385;
	bh=CTBpVm4g/vfOsKl1JRh9HFCJ7Vgsh5L+DgB4rAP/jUw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AlpLzj6AR0q2oesQZ4mGGa0d0Ysq4oWOv+37r2KW846tWzNIiVLKk70c+gIEgwx0D
	 T4fDleDfohMlwwDsk4g9LVaAJXo3bpsQ5ECSoI3xaSZOLngr8xrJ9eWcpoO4Kn7pgq
	 Oq4rNH1P/bkvUXXp3Sa3iCZBS0uHIDqLn39TIMRDeTRkm2IvxYypP10yy6SmHa+bXd
	 7myNuIHzhnkoH9xXHUwRho4H5pj0Vy8iKq4Hb4fqgZtsEXOHQilpViBq3z8UZPO33X
	 ZPTvQT1h8SU1DMXHxl76cOKJaW2RHlD2dVkWADTd9LDIEUs4YPCXxEED+P5QlAwLQr
	 qfjUzKHBAMmDA==
Date: Fri, 4 Aug 2023 12:29: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>, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, julien@xen.org, bertrand.marquis@arm.com, 
    roberto.bagnara@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add always_inline to C-language-toolchain
In-Reply-To: <c8b78e9a-8aa8-dafc-bcda-b6a2101113cb@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308041227190.2127516@ubuntu-linux-20-04-desktop>
References: <20230804013438.2894725-1-sstabellini@kernel.org> <c8b78e9a-8aa8-dafc-bcda-b6a2101113cb@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, 4 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 03:34, Stefano Stabellini wrote:
> > --- a/docs/misra/C-language-toolchain.rst
> > +++ b/docs/misra/C-language-toolchain.rst
> > @@ -84,6 +84,8 @@ The table columns are as follows:
> >            see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
> >         __const__, __inline__, __inline:
> >            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
> > +       always_inline:
> > +          see Section "6.45 An Inline Function is As Fast As a Macro" of GCC_MANUAL.
> >         typeof, __typeof__:
> >            see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
> >         __alignof__, __alignof:
> 
> This is the "Non-standard tokens" section. What you add is a macro of our
> own. In its expansion we don't use the similarly named attribute in this
> very spelling, but with underscores prefixed and suffixed to it.
> 
> If we mean to enumerate __attribute__(()) identifier tokens here as well,
> then I think we should add all of them that we use. But that's going to
> be an ever expanding list.

Ah! Now it makes sense. I missed this:

#define always_inline __inline__ __attribute__ ((__always_inline__))

That is why it wasn't already listed in the document: we didn't list all
the __attribute__(()) and this is just one of them. They are clearly
marked extensions so there is no strict need to list them also here.

I'll drop the patch.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:27:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577306.904330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1Nv-0006Wf-6L; Fri, 04 Aug 2023 20:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577306.904330; Fri, 04 Aug 2023 20:26:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1Nv-0006WY-1L; Fri, 04 Aug 2023 20:26:55 +0000
Received: by outflank-mailman (input) for mailman id 577306;
 Fri, 04 Aug 2023 20: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1Nt-0006WS-T9
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:26:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d4aa4c8-3305-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 22:26:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5DE4C61EC4;
 Fri,  4 Aug 2023 20:26:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5027FC433C8;
 Fri,  4 Aug 2023 20:26: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: 3d4aa4c8-3305-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691180807;
	bh=tY5F1rqf7Bai+fG9/a2nIFX2WFWPSML1zoaLAFl7wBY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lWZZmazf4M3la8pYdqaZMOKxDIhd0xR07znF42rsdBnwn5ApP8HyvJjt9dQx7YYl8
	 OfEAVbSWBFHXaegBZhpM126QZxkt5/5cs4O6iocBPHXxkAGg+gnIlsx9pNRTDAyRt2
	 5pdECFmm6kc/x0onEFNlWto3IYAcXq7geQC0T2AJt+yNVUK2255aqF/94d7L98doRl
	 W54TdFDs2cktYc0Q+pRxi1/PkqcA0+8ICB5iVFgsdUGcdk0SCfpShLnyODkmNnlZfb
	 W42MDV74wvHAhy2+DJownbuVlh377wK6MATsfE/NeatTLkMudyfOC/XT//xuxvHhWf
	 X+qVXrDEiWaKA==
Date: Fri, 4 Aug 2023 13:26: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: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
In-Reply-To: <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308041322100.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop> <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@bugseng.com> <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@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, 4 Aug 2023, Jan Beulich wrote:
> On 03.08.2023 16:22, Nicola Vetrini wrote:
> > On 03/08/2023 11:01, Jan Beulich wrote:
> >> On 03.08.2023 04:13, Stefano Stabellini wrote:
> >>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
> >>>> @@ -1169,8 +1170,6 @@ static void cf_check 
> >>>> irq_guest_eoi_timer_fn(void *data)
> >>>>
> >>>>      switch ( action->ack_type )
> >>>>      {
> >>>> -        cpumask_t *cpu_eoi_map;
> >>>
> >>> It is only used by case ACKTYPE_EOI so it can be moved there (with a 
> >>> new
> >>> block):
> >>>
> >>>
> >>>     case ACKTYPE_EOI:
> >>>     {
> >>>         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
> >>>         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
> >>>         spin_unlock_irq(&desc->lock);
> >>>         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
> >>>         return;
> >>>     }
> >>>     }
> >>
> >> This pattern (two closing braces at the same level) is why switch scope
> >> variable declarations were introduced (at least as far as introductions
> >> by me go). If switch scope variables aren't okay (which I continue to
> >> consider questionable), then this stylistic aspect needs sorting first
> >> (if everyone else thinks the above style is okay - with the missing
> >> blank line inserted -, then so be it).
> > 
> > Actually, they can be deviated because they don't result in wrong code 
> > being generated.
> 
> Only later I recalled Andrew's intention to possibly make use of
> -ftrivial-auto-var-init. While, unlike I think he said, such declared
> variables aren't getting in the way of this (neither gcc nor clang
> warn about them), they also don't benefit from it (i.e. they'll be
> left uninitialized despite the command line option saying otherwise).
> IOW I think further consideration is going to be needed here.

Let me get this right. Are you saying that if we enable
-ftrivial-auto-var-init, due to a compiler limitation, variables
declared as follow:

  switch(var) {
      int a;
      char b;
      
      case ...

do not benefit from -ftrivial-auto-var-init ?

So if we moved the variable declarations elsewhere, in one of the two
following ways:

1)
  int a;
  int b;

  switch(var) {

2)
  switch(var) {

  case 1:
  {
      int a;
      int b;


Then -ftrivial-auto-var-init would take effect? If so, I think it is
worth a discussion on what to do there.

But either way right now I think it is fine to take the switch-related
patches out of this series.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:41:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577311.904338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1be-0000YX-Az; Fri, 04 Aug 2023 20:41:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577311.904338; Fri, 04 Aug 2023 20:41: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 1qS1be-0000YQ-8I; Fri, 04 Aug 2023 20:41:06 +0000
Received: by outflank-mailman (input) for mailman id 577311;
 Fri, 04 Aug 2023 20:41: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1bc-0000YK-VZ
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:41:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 394c9368-3307-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 22:41:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C5B77620A7;
 Fri,  4 Aug 2023 20:41:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A3DEC433C8;
 Fri,  4 Aug 2023 20:40: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: 394c9368-3307-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691181660;
	bh=Q2MFQONWqVMXPNZghgIWxXFH2+6xxlzM8Y2/O5b+18M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gY9xMlOar7UfdCABbNoKCLWMeB2QO7HhCDx+Zu1/ycT+Ti9/smjVTt1o0Mjhi8k3N
	 7mx/FpMtdI3jG80LYDjG/0MP9EmG59NWxYc60UBspDC6tKph3/NhhliTy+g3JPXM8I
	 Ab0OH0YV1ujyewo41H/hnMjrppao0195Q1f6ev/XVne4CB4vUEQ7wlrIgKF1Em+F3W
	 VCa13T2qOJJpKWEpf2GVS+lIfdJZ2moivFpt7cCJwMAk8YFWdEiSvsR8Tf1QeNWOfP
	 Opr1z/eT2ykoAi9nHXXqIYouqSnTGKQ72Mu+8fEtb/QAb12lBMd+MR5StUboQF1Q/W
	 TrIT7sK3unLXw==
Date: Fri, 4 Aug 2023 13:40: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: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, 
    Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308041331260.2127516@ubuntu-linux-20-04-desktop>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com> <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop> <00fb1a58849ec08534465df2f8ca2284@bugseng.com> <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@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, 4 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 11:47, Nicola Vetrini wrote:
> > Upon further examination, I identified the following patterns:
> > 
> > 1. Functions defined in .c called only from asm code (e.g., the already 
> > mentioned __start_xen)
> > 2. Functions/variables declared in a .h, defined in a .c that does not 
> > include the .h with the declaration
> > (e.g., 'fill_console_start_info' is defined in 'xen/drivers/vga.c', 
> > declared in 'xen/include/xen/console.h' which is not visible when 
> > compiling the .c).
> > 3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in 
> > 'xen/include/acpi/acglobal.h', depending on
> >     DEFINE_ACPI_GLOBALS
> > 
> > Below are the proposed resolution strategies:
> > 
> > 1. I would advise to add the declaration in the relative .h, to support 
> > automatic consistency checks with the
> >     implementation and a quick reference when touching the asm.
> 
> That'll need discussing first.

My take is that it would be nicer if they were declared in .h files. It
would also be useful for ourselves as documentation/reference. So I
would be OK accepting patches like that. But at the same time I don't
see it as a must-have requirement for safety (the .h declaration would
not be actually used).


> > 2. To comply with the rule, the header with the declaration should be 
> > included. Also note that there are some
> >     corner cases, such as 'get_sec', which is used in 'cper.h' without 
> > including 'time.h' (which should gain a
> >     declaration for it).
> 
> This one of course wants fixing wherever found.

+1


> > 3. One possible resolution pattern is including 'acglobal.h' twice 
> > (either directly or indirectly trough acpi.h, if
> >     the latter does not cause other issues) like so:
> > 
> >     (assuming DEFINE_ACPI_GLOBALS is undefined here)
> >     #include "acglobal.h"
> >     #define DEFINE_ACPI_GLOBALS
> >     #include  "acglobal.h"
> > 
> >    this way, the rule is followed properly, though it's not the prettiest 
> > pattern and also clashes with the objectives
> >    of D4.10 ("Precautions shall be taken in order to prevent the contents 
> > of a header file being included
> >    more than once"), but then a motivated exception is allowed there.
> 
> Not really sure about this one.
 
I would leave these alone because it was clearly done on purpose "to
simplify maintenance of the code" as the in-code comment claims. Also
this is very old code, probably inherited from somewhere else and never
changed.


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:43:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:43:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577315.904349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1dx-0001Av-Sd; Fri, 04 Aug 2023 20:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577315.904349; Fri, 04 Aug 2023 20:43:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1dx-0001Ao-Pj; Fri, 04 Aug 2023 20:43:29 +0000
Received: by outflank-mailman (input) for mailman id 577315;
 Fri, 04 Aug 2023 20:43: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1dw-0001Ag-5c
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:43:28 +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 8eee71aa-3307-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 22:43:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9080A620A7;
 Fri,  4 Aug 2023 20:43:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 959EDC433C7;
 Fri,  4 Aug 2023 20:43:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eee71aa-3307-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691181804;
	bh=KKwcx5LNbFIDE+0Rb0D9JxK1rWrcq+pB7mVcltQdYz4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UM0pz+a93+cn2ggbBTLlwPcVOwD4kkRx0PYZ97mdRZqIcobOpSINCsAcekiml8OS+
	 pXWmMpQm0qm88hPzI3lawo96TPpJhV332B45e+edYG17TZ9v7ccnLaYJUjo/f89mLm
	 JC74fn6F/X/WdMcTMoKliwk1h9oXYjQCWP5Z1cfDHayuc11DaiYWPojjvh9ZWGKVG6
	 Yun8jiV7430CF0E5gSxTf+Iw1WUrVJSU/Cys6x1roxT+Ov8ZLyVBpLd2T0sdzlj0ax
	 bLwhy2Ho1/atzYCxEFMITX/8fQTRTSvh8okXHuU/QFdR/V2v78d+W93muV+UyHpJHa
	 ltcOEliseA8Ew==
Date: Fri, 4 Aug 2023 13:43:21 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 1/4] x86/mce: address MISRA C:2012 Rule 5.3
In-Reply-To: <8a11baf39c140af9d5694298e5f1f0bf59ac0621.1691135862.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041343140.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com> <8a11baf39c140af9d5694298e5f1f0bf59ac0621.1691135862.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, 4 Aug 2023, Nicola Vetrini wrote:
> Suitable mechanical renames are made to avoid shadowing
> the function identifier 'wait' declared in 'xen/include/xen/wait.h',
> thus addressing violations of MISRA C:2012 Rule 5.3:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"
> 
> The parameter name 'bar' is added as well to comply with MISRA C:2012
> Rules 8.2 and 8.3.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
> Changes in v2:
> - Added parameter name 'bar' where missing.
> - Amended commit message.
> ---
>  xen/arch/x86/cpu/mcheck/barrier.c |  8 ++++----
>  xen/arch/x86/cpu/mcheck/barrier.h | 14 +++++++-------
>  2 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/mcheck/barrier.c b/xen/arch/x86/cpu/mcheck/barrier.c
> index a7e5b19a44..51a1d37a76 100644
> --- a/xen/arch/x86/cpu/mcheck/barrier.c
> +++ b/xen/arch/x86/cpu/mcheck/barrier.c
> @@ -16,11 +16,11 @@ void mce_barrier_dec(struct mce_softirq_barrier *bar)
>      atomic_dec(&bar->val);
>  }
> 
> -void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
> +void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait)
>  {
>      int gen;
> 
> -    if ( !wait )
> +    if ( !do_wait )
>          return;
>      atomic_inc(&bar->ingen);
>      gen = atomic_read(&bar->outgen);
> @@ -34,11 +34,11 @@ void mce_barrier_enter(struct mce_softirq_barrier *bar, bool wait)
>      }
>  }
> 
> -void mce_barrier_exit(struct mce_softirq_barrier *bar, bool wait)
> +void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait)
>  {
>      int gen;
> 
> -    if ( !wait )
> +    if ( !do_wait )
>          return;
>      atomic_inc(&bar->outgen);
>      gen = atomic_read(&bar->ingen);
> diff --git a/xen/arch/x86/cpu/mcheck/barrier.h b/xen/arch/x86/cpu/mcheck/barrier.h
> index c4d52b6192..7ec483226f 100644
> --- a/xen/arch/x86/cpu/mcheck/barrier.h
> +++ b/xen/arch/x86/cpu/mcheck/barrier.h
> @@ -20,7 +20,7 @@ struct mce_softirq_barrier {
>  /*
>   * Initialize a barrier. Just set it to 0.
>   */
> -void mce_barrier_init(struct mce_softirq_barrier *);
> +void mce_barrier_init(struct mce_softirq_barrier *bar);
> 
>  /*
>   * This function will need to be used when offlining a CPU in the
> @@ -29,17 +29,17 @@ void mce_barrier_init(struct mce_softirq_barrier *);
>   * Decrement a barrier only. Needed for cases where the CPU
>   * in question can't do it itself (e.g. it is being offlined).
>   */
> -void mce_barrier_dec(struct mce_softirq_barrier *);
> +void mce_barrier_dec(struct mce_softirq_barrier *bar);
> 
>  /*
> - * If @wait is false, mce_barrier_enter/exit() will return immediately
> + * If @do_wait is false, mce_barrier_enter/exit() will return immediately
>   * without touching the barrier. It's used when handling a
>   * non-broadcasting MCE (e.g. MCE on some old Intel CPU, MCE on AMD
>   * CPU and LMCE on Intel Skylake-server CPU) which is received on only
>   * one CPU and thus does not invoke mce_barrier_enter/exit() calls on
>   * all CPUs.
>   *
> - * If @wait is true, mce_barrier_enter/exit() will handle the given
> + * If @do_wait is true, mce_barrier_enter/exit() will handle the given
>   * barrier as below.
>   *
>   * Increment the generation number and the value. The generation number
> @@ -53,9 +53,9 @@ void mce_barrier_dec(struct mce_softirq_barrier *);
>   * These barrier functions should always be paired, so that the
>   * counter value will reach 0 again after all CPUs have exited.
>   */
> -void mce_barrier_enter(struct mce_softirq_barrier *, bool wait);
> -void mce_barrier_exit(struct mce_softirq_barrier *, bool wait);
> +void mce_barrier_enter(struct mce_softirq_barrier *bar, bool do_wait);
> +void mce_barrier_exit(struct mce_softirq_barrier *bar, bool do_wait);
> 
> -void mce_barrier(struct mce_softirq_barrier *);
> +void mce_barrier(struct mce_softirq_barrier *bar);
> 
>  #endif /* _MCHECK_BARRIER_H */
> --
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:45:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577319.904359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1gH-0001m0-9w; Fri, 04 Aug 2023 20:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577319.904359; Fri, 04 Aug 2023 20: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 1qS1gH-0001lt-5b; Fri, 04 Aug 2023 20:45:53 +0000
Received: by outflank-mailman (input) for mailman id 577319;
 Fri, 04 Aug 2023 20:45:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1gF-0001ln-Jq
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:45: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 e50848c6-3307-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 22:45:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 39D5C61E90;
 Fri,  4 Aug 2023 20:45:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40D85C433C8;
 Fri,  4 Aug 2023 20:45:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e50848c6-3307-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691181948;
	bh=+B/cxpITPOCEy1KjrEmOfqt/IHipkg6GLaww23vslLc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=u7KFIr3QY8uRJS07RwtgiZwFyMfNwHlMov4G+IAiT4vADUkS0KTahGYSdlZ40pCQo
	 ZZNZPQn4g0lJ9pOBTARidyKS39/4FP0XYXgg5OPBdtQe7PJDrbMGkZGL8Gt2lYmNBI
	 8y0KVSmyKM1UONq1cOakvZ8pMK1bu3QI/YVWTDMLq6hEipquDPDAwh6AvSzl9HEEkw
	 DudUhmEzn7hkNsysd02nS42FGg5oKnElNUaDFl+HCqjOzSaU2K9kfjCauLyvbPemk1
	 Hw4v5QsERDIf7Bz42QzRxuoCq9C28RrBRc4JjU8ds/PanUTjaN93AQTWVn5LmezAlm
	 E8EPXHw+mRUuQ==
Date: Fri, 4 Aug 2023 13:45:45 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
In-Reply-To: <2f7380396ee146132738dd5c6b2a80d62a8035d5.1691135862.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041345360.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com> <2f7380396ee146132738dd5c6b2a80d62a8035d5.1691135862.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, 4 Aug 2023, Nicola Vetrini wrote:
> Rename variables to avoid shadowing and thus address
> MISRA C:2012 Rule 5.3:
> "An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope".
> 
> The shadowing happens between the struct declaration 'mtrr_state' in
> 'xen/arch/x86/include/asm/mtrr.h' and local variable names.
> The latter are renamed to 'm', which is used elsewhere in
> 'xen/arch/x86/hvm/mtrr.c' for the same purpose.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
> Changes in v2:
> - Renamed 'mtrr' local variables to 'm'.
> - Added references in the commit message.
> ---
>  xen/arch/x86/hvm/mtrr.c | 32 ++++++++++++++++----------------
>  1 file changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
> index 29f3fb1607..7f486358b1 100644
> --- a/xen/arch/x86/hvm/mtrr.c
> +++ b/xen/arch/x86/hvm/mtrr.c
> @@ -687,13 +687,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
> 
>  static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
>  {
> -    const struct mtrr_state *mtrr_state = &v->arch.hvm.mtrr;
> +    const struct mtrr_state *m = &v->arch.hvm.mtrr;
>      struct hvm_hw_mtrr hw_mtrr = {
> -        .msr_mtrr_def_type = mtrr_state->def_type |
> -                             MASK_INSR(mtrr_state->fixed_enabled,
> +        .msr_mtrr_def_type = m->def_type |
> +                             MASK_INSR(m->fixed_enabled,
>                                         MTRRdefType_FE) |
> -                            MASK_INSR(mtrr_state->enabled, MTRRdefType_E),
> -        .msr_mtrr_cap      = mtrr_state->mtrr_cap,
> +                            MASK_INSR(m->enabled, MTRRdefType_E),
> +        .msr_mtrr_cap      = m->mtrr_cap,
>      };
>      unsigned int i;
> 
> @@ -710,14 +710,14 @@ static int cf_check hvm_save_mtrr_msr(struct vcpu *v, hvm_domain_context_t *h)
> 
>      for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
>      {
> -        hw_mtrr.msr_mtrr_var[i * 2] = mtrr_state->var_ranges->base;
> -        hw_mtrr.msr_mtrr_var[i * 2 + 1] = mtrr_state->var_ranges->mask;
> +        hw_mtrr.msr_mtrr_var[i * 2] = m->var_ranges->base;
> +        hw_mtrr.msr_mtrr_var[i * 2 + 1] = m->var_ranges->mask;
>      }
> 
>      BUILD_BUG_ON(sizeof(hw_mtrr.msr_mtrr_fixed) !=
> -                 sizeof(mtrr_state->fixed_ranges));
> +                 sizeof(m->fixed_ranges));
> 
> -    memcpy(hw_mtrr.msr_mtrr_fixed, mtrr_state->fixed_ranges,
> +    memcpy(hw_mtrr.msr_mtrr_fixed, m->fixed_ranges,
>             sizeof(hw_mtrr.msr_mtrr_fixed));
> 
>      return hvm_save_entry(MTRR, v->vcpu_id, h, &hw_mtrr);
> @@ -727,7 +727,7 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
>  {
>      unsigned int vcpuid, i;
>      struct vcpu *v;
> -    struct mtrr_state *mtrr_state;
> +    struct mtrr_state *m;
>      struct hvm_hw_mtrr hw_mtrr;
> 
>      vcpuid = hvm_load_instance(h);
> @@ -749,26 +749,26 @@ static int cf_check hvm_load_mtrr_msr(struct domain *d, hvm_domain_context_t *h)
>          return -EINVAL;
>      }
> 
> -    mtrr_state = &v->arch.hvm.mtrr;
> +    m = &v->arch.hvm.mtrr;
> 
>      hvm_set_guest_pat(v, hw_mtrr.msr_pat_cr);
> 
> -    mtrr_state->mtrr_cap = hw_mtrr.msr_mtrr_cap;
> +    m->mtrr_cap = hw_mtrr.msr_mtrr_cap;
> 
>      for ( i = 0; i < NUM_FIXED_MSR; i++ )
> -        mtrr_fix_range_msr_set(d, mtrr_state, i, hw_mtrr.msr_mtrr_fixed[i]);
> +        mtrr_fix_range_msr_set(d, m, i, hw_mtrr.msr_mtrr_fixed[i]);
> 
>      for ( i = 0; i < MASK_EXTR(hw_mtrr.msr_mtrr_cap, MTRRcap_VCNT); i++ )
>      {
> -        mtrr_var_range_msr_set(d, mtrr_state,
> +        mtrr_var_range_msr_set(d, m,
>                                 MSR_IA32_MTRR_PHYSBASE(i),
>                                 hw_mtrr.msr_mtrr_var[i * 2]);
> -        mtrr_var_range_msr_set(d, mtrr_state,
> +        mtrr_var_range_msr_set(d, m,
>                                 MSR_IA32_MTRR_PHYSMASK(i),
>                                 hw_mtrr.msr_mtrr_var[i * 2 + 1]);
>      }
> 
> -    mtrr_def_type_msr_set(d, mtrr_state, hw_mtrr.msr_mtrr_def_type);
> +    mtrr_def_type_msr_set(d, m, hw_mtrr.msr_mtrr_def_type);
> 
>      return 0;
>  }
> --
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:47:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577323.904368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1hw-0002Lj-Ir; Fri, 04 Aug 2023 20:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577323.904368; Fri, 04 Aug 2023 20: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 1qS1hw-0002Lc-GE; Fri, 04 Aug 2023 20:47:36 +0000
Received: by outflank-mailman (input) for mailman id 577323;
 Fri, 04 Aug 2023 20:47: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1hv-0002LW-BK
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:47:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22730670-3308-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 22:47:33 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1E51461CB6;
 Fri,  4 Aug 2023 20:47:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0EE9C433C7;
 Fri,  4 Aug 2023 20:47: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: 22730670-3308-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691182051;
	bh=g/VgDHj32LXpUfFXYAnLTMFnaw6k10DQKllvZH82HKg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GQhAGR0vyfLBsKuJjJqiJzE4iPGxyreG0iVIW/FPZtqnCPrRYDk6EeLxNbgjdneOx
	 KxvHnWMXbGhsYbgIEjLviMLlE+3ZoLp3jgjMPPL2qqpQISL9lwMiub6JY4RWmOsccB
	 EKbYh7ckQRSheK/5C1Io4OnA9LSsdP3MQ8lLCbQitzQAkZhDn3OR1K6+QRQb/XsD8x
	 p3mddX302ZjyW7arF3BR3dsoU6zDFiSXLDCQNpnY3IxJn4iFaKxnRI9qeqA8tjsljG
	 CboH03lvsYZ4keXLpSkXZKccprVOitugFE5AZDkNoLlJX2iG+Zta5Co19a5Hm4CU8V
	 snm5yxvtCufdQ==
Date: Fri, 4 Aug 2023 13:47:28 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v2 3/4] x86/irq: rename variable to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041346560.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com> <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.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, 4 Aug 2023, Nicola Vetrini wrote:
> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
> local variables in the changed file. To avoid this, the variable is
> renamed to 'irq_description'.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

You missed me reviewed tag from the previous version:
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Also Jan, sorry I am already losing my new habit of trimming my replies
:-)


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577327.904379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1jJ-0002uV-VW; Fri, 04 Aug 2023 20:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577327.904379; Fri, 04 Aug 2023 20:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1jJ-0002uO-RT; Fri, 04 Aug 2023 20:49:01 +0000
Received: by outflank-mailman (input) for mailman id 577327;
 Fri, 04 Aug 2023 20:49: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1jI-0002uG-FY
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:49: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 5519c98b-3308-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 22:48:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1C19D620AE;
 Fri,  4 Aug 2023 20:48:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16ED9C433C7;
 Fri,  4 Aug 2023 20:48: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: 5519c98b-3308-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691182136;
	bh=71knx/FwEiKGHrHIwzyEgucFHxOXHAsUN2J5FL1SK9o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hqLzG/NyAmEHLhQE2jNHQjUnyRYbbmYklA0S44j/laRGBJXGwcAMjGfretYhQCER1
	 CF+gXzLGmHH2AgiiS6/uocztMtQxfmH31fl+4DrAMiRm85wn4pMqfwo0w/RCEaclWb
	 LZg0L27YSlqiuQDCyFp0DQ/dF6RanQt3ilvcTNJenpOMpM6UPwffLBFuzTubo8BinM
	 pt/KGVcbnJpcCnKpD+TLVyA0/8KskzH+JHbjE3gjbtJyyjZITD+vVE/vqNqZGFyQCd
	 vzXHebBcDUgpuGsmaHFR053sIM0TKuoI8j901HdfrVbdxo6910ccNU/npzj0EiTK0F
	 9jT0mn7PF26EQ==
Date: Fri, 4 Aug 2023 13:48:53 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
In-Reply-To: <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041348460.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com> <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.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, 4 Aug 2023, Nicola Vetrini wrote:
> The parameters renamed in the function declaration caused shadowing
> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
> them also addresses Rule 8.3:
> "All declarations of an object or function shall use the same names
> and type qualifiers".
> 
> The local variable 'mask' is removed because it shadows the homonymous
> variable defined in an outer scope, with no change to the semantics.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Same here


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 20:53:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 20:53:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577331.904388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1nm-0004Lu-FQ; Fri, 04 Aug 2023 20:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577331.904388; Fri, 04 Aug 2023 20:53:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS1nm-0004Ln-CT; Fri, 04 Aug 2023 20:53:38 +0000
Received: by outflank-mailman (input) for mailman id 577331;
 Fri, 04 Aug 2023 20:53: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS1nl-0004Lh-2T
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 20:53: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 fa7e1c5d-3308-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 22:53:35 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B62B6620D0;
 Fri,  4 Aug 2023 20:53:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B5161C433C7;
 Fri,  4 Aug 2023 20:53: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: fa7e1c5d-3308-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691182414;
	bh=HoZei8B2R8a954IClspujnbBZ8uQoJ9HV9nW8Z0GorI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cs3QZWeKyzoKCDh8eLdlrRWuBNl8pk1Qs9MKlyKgSa9uY787YMbMhIdwcI+pArC3/
	 NdoN48bIA8xcouEQn9B18s9IbWlQSeZKiqxjGCsrYe+N5iLN4JO9dhZqU5r5OsoBDh
	 niFWLcR8CVxhdj9IKrYXoKk2ygHAvfYip796V1sKQ2dtuLbkZgJZDrOSJAV3Eu4Eyl
	 Q9pUo4oZxG45OdM0PIy50BA/guRePs5uRp0cIJzwWutA2oVhypYyyNjYRN9KfUH3SJ
	 w3e9hV+hYHb3Aj0jEWi42D5hu5MG/QpX/uK4GWv6EzMfRmEO+Lr3TIWSJsq2BKjwFs
	 O/JGZdhoQmmRA==
Date: Fri, 4 Aug 2023 13:53:31 -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, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: Re: [XEN PATCH] x86: Address violations of MISRA C:2012 and drop
 bool_t
In-Reply-To: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041350590.2127516@ubuntu-linux-20-04-desktop>
References: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.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 Fri, 4 Aug 2023, Federico Serafini wrote:
> Give a name to unnamed parameters to address violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between object and function declarations thus
> addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
> object or function shall use the same names and type qualifiers").
> Replace the occurrences of bool_t with bool.
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:20:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577337.904399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2DI-00074K-HX; Fri, 04 Aug 2023 21:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577337.904399; Fri, 04 Aug 2023 21:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2DI-00074D-Ec; Fri, 04 Aug 2023 21:20:00 +0000
Received: by outflank-mailman (input) for mailman id 577337;
 Fri, 04 Aug 2023 21:19: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2DG-000734-Rm
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:19:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a80c6d19-330c-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 23:19:55 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 26CAA62039;
 Fri,  4 Aug 2023 21:19:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED5FEC433C7;
 Fri,  4 Aug 2023 21:19: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: a80c6d19-330c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691183993;
	bh=MjH+DgMHp7Kz20cod7LEVtviJLOzWuuJbcDcC5kF8PA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AG46CrKNwHHdZGOGkWXZ5ojdUjdTacGHR6YetlOmiUHbc1Ur+A5++N7+rw0wPVbRv
	 Vm+kSIPLEZtwakUGH6bWBKvuPm9S3EoxGHc0NSyqNpT/wCH8pe1qrhFn4USTgbqxyf
	 2JgSz06bFCO8cWiwWfPCEOybGxhnIILJcIvWudPJZcz4wi5G7s9/1nnmljHkhXb+IA
	 WjBtAPe9ULJBQhhJ967E8rxzRwW9iD3zjqp0cbgItPnLLr8Yv/s+1oWmbtwXMlbH1I
	 4C9edrXG266C+Y7uqY8DO9GfsgEy0v3MHMq8gmCPRmB8DX4F0kk2rZ9ytnXzG5DpV0
	 NpOF5MOkOysow==
Date: Fri, 4 Aug 2023 14:19:50 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041405240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.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, 4 Aug 2023, Nicola Vetrini wrote:
> The variable declared in the header file 'xen/arch/x86/include/asm/e820.h'
> is shadowed by many function parameters, so it is renamed to avoid these
> violations.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch is similar to other renames done on previous patches, and the
> preferred strategy there was to rename the global variable. This one
> has more occurrences that are spread in various files, but
> the general pattern is the same.
> ---
>  xen/arch/x86/dom0_build.c                | 10 ++--
>  xen/arch/x86/e820.c                      | 66 ++++++++++++------------
>  xen/arch/x86/guest/xen/xen.c             |  4 +-
>  xen/arch/x86/hvm/dom0_build.c            |  6 +--
>  xen/arch/x86/include/asm/e820.h          |  2 +-
>  xen/arch/x86/mm.c                        | 49 +++++++++---------
>  xen/arch/x86/numa.c                      |  8 +--
>  xen/arch/x86/setup.c                     | 22 ++++----
>  xen/arch/x86/srat.c                      |  6 +--
>  xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
>  xen/drivers/passthrough/amd/iommu_acpi.c |  2 +-

There are missing changes to xen/arch/x86/tboot.c

There a few stray changes below.

Everything else is correct.


>  11 files changed, 89 insertions(+), 88 deletions(-)
> 
> diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
> index 8b1fcc6471..bfb6400376 100644
> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -534,13 +534,13 @@ int __init dom0_setup_permissions(struct domain *d)
>      }
>  
>      /* Remove access to E820_UNUSABLE I/O regions above 1MB. */
> -    for ( i = 0; i < e820.nr_map; i++ )
> +    for ( i = 0; i < e820_map.nr_map; i++ )
>      {
>          unsigned long sfn, efn;
> -        sfn = max_t(unsigned long, paddr_to_pfn(e820.map[i].addr), 0x100ul);
> -        efn = paddr_to_pfn(e820.map[i].addr + e820.map[i].size - 1);
> -        if ( (e820.map[i].type == E820_UNUSABLE) &&
> -             (e820.map[i].size != 0) &&
> +        sfn = max_t(unsigned long, paddr_to_pfn(e820_map.map[i].addr), 0x100ul);
> +        efn = paddr_to_pfn(e820_map.map[i].addr + e820_map.map[i].size - 1);
> +        if ( (e820_map.map[i].type == E820_UNUSABLE) &&
> +             (e820_map.map[i].size != 0) &&
>               (sfn <= efn) )
>              rc |= iomem_deny_access(d, sfn, efn);
>      }
> diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
> index 0b89935510..4425011c01 100644
> --- a/xen/arch/x86/e820.c
> +++ b/xen/arch/x86/e820.c
> @@ -34,7 +34,7 @@ boolean_param("e820-mtrr-clip", e820_mtrr_clip);
>  static bool __initdata e820_verbose;
>  boolean_param("e820-verbose", e820_verbose);
>  
> -struct e820map e820;
> +struct e820map e820_map;
>  struct e820map __initdata e820_raw;
>  
>  /*
> @@ -47,8 +47,8 @@ int __init e820_all_mapped(u64 start, u64 end, unsigned type)
>  {
>  	unsigned int i;
>  
> -	for (i = 0; i < e820.nr_map; i++) {
> -		struct e820entry *ei = &e820.map[i];
> +	for (i = 0; i < e820_map.nr_map; i++) {
> +		struct e820entry *ei = &e820_map.map[i];
>  
>  		if (type && ei->type != type)
>  			continue;
> @@ -75,17 +75,17 @@ int __init e820_all_mapped(u64 start, u64 end, unsigned type)
>  static void __init add_memory_region(unsigned long long start,
>                                       unsigned long long size, int type)
>  {
> -    unsigned int x = e820.nr_map;
> +    unsigned int x = e820_map.nr_map;
>  
> -    if (x == ARRAY_SIZE(e820.map)) {
> +    if (x == ARRAY_SIZE(e820_map.map)) {
>          printk(KERN_ERR "Ooops! Too many entries in the memory map!\n");
>          return;
>      }
>  
> -    e820.map[x].addr = start;
> -    e820.map[x].size = size;
> -    e820.map[x].type = type;
> -    e820.nr_map++;
> +    e820_map.map[x].addr = start;
> +    e820_map.map[x].size = size;
> +    e820_map.map[x].type = type;
> +    e820_map.nr_map++;
>  }
>  
>  void __init print_e820_memory_map(const struct e820entry *map,
> @@ -347,13 +347,13 @@ static unsigned long __init find_max_pfn(void)
>      unsigned int i;
>      unsigned long max_pfn = 0;
>  
> -    for (i = 0; i < e820.nr_map; i++) {
> +    for (i = 0; i < e820_map.nr_map; i++) {
>          unsigned long start, end;
>          /* RAM? */
> -        if (e820.map[i].type != E820_RAM)
> +        if (e820_map.map[i].type != E820_RAM)
>              continue;
> -        start = PFN_UP(e820.map[i].addr);
> -        end = PFN_DOWN(e820.map[i].addr + e820.map[i].size);
> +        start = PFN_UP(e820_map.map[i].addr);
> +        end = PFN_DOWN(e820_map.map[i].addr + e820_map.map[i].size);
>          if (start >= end)
>              continue;
>          if (end > max_pfn)
> @@ -372,21 +372,21 @@ static void __init clip_to_limit(uint64_t limit, const char *warnmsg)
>      for ( ; ; )
>      {
>          /* Find a RAM region needing clipping. */
> -        for ( i = 0; i < e820.nr_map; i++ )
> -            if ( (e820.map[i].type == E820_RAM) &&
> -                 ((e820.map[i].addr + e820.map[i].size) > limit) )
> +        for ( i = 0; i < e820_map.nr_map; i++ )
> +            if ( (e820_map.map[i].type == E820_RAM) &&
> +                 ((e820_map.map[i].addr + e820_map.map[i].size) > limit) )
>                  break;
>  
>          /* If none found, we are done. */
> -        if ( i == e820.nr_map )
> -            break;        
> +        if ( i == e820_map.nr_map )
> +            break;
>  
>          old_limit = max_t(
> -            uint64_t, old_limit, e820.map[i].addr + e820.map[i].size);
> +            uint64_t, old_limit, e820_map.map[i].addr + e820_map.map[i].size);
>  
>          /* We try to convert clipped RAM areas to E820_UNUSABLE. */
> -        if ( e820_change_range_type(&e820, max(e820.map[i].addr, limit),
> -                                    e820.map[i].addr + e820.map[i].size,
> +        if ( e820_change_range_type(&e820_map, max(e820_map.map[i].addr, limit),
> +                                    e820_map.map[i].addr + e820_map.map[i].size,
>                                      E820_RAM, E820_UNUSABLE) )
>              continue;
>  
> @@ -394,15 +394,15 @@ static void __init clip_to_limit(uint64_t limit, const char *warnmsg)
>           * If the type change fails (e.g., not space in table) then we clip or 
>           * delete the region as appropriate.
>           */
> -        if ( e820.map[i].addr < limit )
> +        if ( e820_map.map[i].addr < limit )
>          {
> -            e820.map[i].size = limit - e820.map[i].addr;
> +            e820_map.map[i].size = limit - e820_map.map[i].addr;
>          }
>          else
>          {
> -            memmove(&e820.map[i], &e820.map[i+1],
> -                    (e820.nr_map - i - 1) * sizeof(struct e820entry));
> -            e820.nr_map--;
> +            memmove(&e820_map.map[i], &e820_map.map[i+1],
> +                    (e820_map.nr_map - i - 1) * sizeof(struct e820entry));
> +            e820_map.nr_map--;
>          }
>      }
>  
> @@ -497,7 +497,7 @@ static void __init reserve_dmi_region(void)
>          if ( !what )
>              break;
>          if ( ((base + len) > base) &&
> -             reserve_e820_ram(&e820, base, base + len) )
> +             reserve_e820_ram(&e820_map, base, base + len) )
>              printk("WARNING: %s table located in E820 RAM %"PRIpaddr"-%"PRIpaddr". Fixed.\n",
>                     what, base, base + len);
>      }
> @@ -517,12 +517,12 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
>  
>      if ( opt_availmem )
>      {
> -        for ( i = size = 0; (i < e820.nr_map) && (size <= opt_availmem); i++ )
> -            if ( e820.map[i].type == E820_RAM )
> -                size += e820.map[i].size;
> +        for ( i = size = 0; (i < e820_map.nr_map) && (size <= opt_availmem); i++ )
> +            if ( e820_map.map[i].type == E820_RAM )
> +                size += e820_map.map[i].size;
>          if ( size > opt_availmem )
>              clip_to_limit(
> -                e820.map[i-1].addr + e820.map[i-1].size - (size-opt_availmem),
> +                e820_map.map[i-1].addr + e820_map.map[i-1].size - (size-opt_availmem),
>                  NULL);
>      }
>  
> @@ -694,10 +694,10 @@ unsigned long __init init_e820(const char *str, struct e820map *raw)
>      machine_specific_memory_setup(raw);
>  
>      if ( cpu_has_hypervisor )
> -        hypervisor_e820_fixup(&e820);
> +        hypervisor_e820_fixup(&e820_map);
>  
>      printk("%s RAM map:\n", str);
> -    print_e820_memory_map(e820.map, e820.nr_map);
> +    print_e820_memory_map(e820_map.map, e820_map.nr_map);
>  
>      return find_max_pfn();
>  }
> diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
> index f93dfc89f7..3ec828b98d 100644
> --- a/xen/arch/x86/guest/xen/xen.c
> +++ b/xen/arch/x86/guest/xen/xen.c
> @@ -147,9 +147,9 @@ static void __init init_memmap(void)
>                                            PFN_DOWN(GB(4) - 1))) )
>          panic("unable to add RAM to in-use PFN rangeset\n");
>  
> -    for ( i = 0; i < e820.nr_map; i++ )
> +    for ( i = 0; i < e820_map.nr_map; i++ )
>      {
> -        struct e820entry *e = &e820.map[i];
> +        struct e820entry *e = &e820_map.map[i];
>  
>          if ( rangeset_add_range(mem, PFN_DOWN(e->addr),
>                                  PFN_UP(e->addr + e->size - 1)) )
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index bc0e290db6..98203f7a52 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -333,13 +333,13 @@ static __init void pvh_setup_e820(struct domain *d, unsigned long nr_pages)
>       * Add an extra entry in case we have to split a RAM entry into a RAM and a
>       * UNUSABLE one in order to truncate it.
>       */
> -    d->arch.e820 = xzalloc_array(struct e820entry, e820.nr_map + 1);
> +    d->arch.e820 = xzalloc_array(struct e820entry, e820_map.nr_map + 1);
>      if ( !d->arch.e820 )
>          panic("Unable to allocate memory for Dom0 e820 map\n");
>      entry_guest = d->arch.e820;
>  
>      /* Clamp e820 memory map to match the memory assigned to Dom0 */
> -    for ( i = 0, entry = e820.map; i < e820.nr_map; i++, entry++ )
> +    for ( i = 0, entry = e820_map.map; i < e820_map.nr_map; i++, entry++ )
>      {
>          *entry_guest = *entry;
>  
> @@ -392,7 +392,7 @@ static __init void pvh_setup_e820(struct domain *d, unsigned long nr_pages)
>   next:
>          d->arch.nr_e820++;
>          entry_guest++;
> -        ASSERT(d->arch.nr_e820 <= e820.nr_map + 1);
> +        ASSERT(d->arch.nr_e820 <= e820_map.nr_map + 1);
>      }
>      ASSERT(cur_pages == nr_pages);
>  }
> diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
> index 213d5b5dd2..0865825f7d 100644
> --- a/xen/arch/x86/include/asm/e820.h
> +++ b/xen/arch/x86/include/asm/e820.h
> @@ -34,7 +34,7 @@ extern int e820_add_range(
>  extern unsigned long init_e820(const char *str, struct e820map *raw);
>  extern void print_e820_memory_map(const struct e820entry *map,
>      unsigned int entries);
> -extern struct e820map e820;
> +extern struct e820map e820_map;
>  extern struct e820map e820_raw;
>  
>  /* These symbols live in the boot trampoline. */
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index be2b10a391..6920ac939f 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -295,12 +295,12 @@ void __init arch_init_memory(void)
>      /* Any areas not specified as RAM by the e820 map are considered I/O. */
>      for ( i = 0, pfn = 0; pfn < max_page; i++ )
>      {
> -        while ( (i < e820.nr_map) &&
> -                (e820.map[i].type != E820_RAM) &&
> -                (e820.map[i].type != E820_UNUSABLE) )
> +        while ( (i < e820_map.nr_map) &&
> +                (e820_map.map[i].type != E820_RAM) &&
> +                (e820_map.map[i].type != E820_UNUSABLE) )
>              i++;
>  
> -        if ( i >= e820.nr_map )
> +        if ( i >= e820_map.nr_map )
>          {
>              /* No more RAM regions: mark as I/O right to end of memory map. */
>              rstart_pfn = rend_pfn = max_page;
> @@ -309,9 +309,10 @@ void __init arch_init_memory(void)
>          {
>              /* Mark as I/O just up as far as next RAM region. */
>              rstart_pfn = min_t(unsigned long, max_page,
> -                               PFN_UP(e820.map[i].addr));
> +                               PFN_UP(e820_map.map[i].addr));
>              rend_pfn   = max_t(unsigned long, rstart_pfn,
> -                               PFN_DOWN(e820.map[i].addr + e820.map[i].size));
> +                               PFN_DOWN(e820_map.map[i].addr
> +                               + e820_map.map[i].size));
>          }
>  
>          /*
> @@ -387,9 +388,9 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type)
>      uint64_t maddr = pfn_to_paddr(mfn);
>      int i;
>  
> -    for ( i = 0; i < e820.nr_map; i++ )
> +    for ( i = 0; i < e820_map.nr_map; i++ )
>      {
> -        switch ( e820.map[i].type )
> +        switch ( e820_map.map[i].type )
>          {
>          case E820_RAM:
>              if ( mem_type & RAM_TYPE_CONVENTIONAL )
> @@ -414,8 +415,8 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type)
>          }
>  
>          /* Test the range. */
> -        if ( (e820.map[i].addr <= maddr) &&
> -             ((e820.map[i].addr + e820.map[i].size) >= (maddr + PAGE_SIZE)) )
> +        if ( (e820_map.map[i].addr <= maddr) &&
> +             ((e820_map.map[i].addr + e820_map.map[i].size) >= (maddr + PAGE_SIZE)) )
>              return 1;
>      }
>  
> @@ -427,17 +428,17 @@ unsigned int page_get_ram_type(mfn_t mfn)
>      uint64_t last = 0, maddr = mfn_to_maddr(mfn);
>      unsigned int i, type = 0;
>  
> -    for ( i = 0; i < e820.nr_map;
> -          last = e820.map[i].addr + e820.map[i].size, i++ )
> +    for ( i = 0; i < e820_map.nr_map;
> +          last = e820_map.map[i].addr + e820_map.map[i].size, i++ )
>      {
> -        if ( (maddr + PAGE_SIZE) > last && maddr < e820.map[i].addr )
> +        if ( (maddr + PAGE_SIZE) > last && maddr < e820_map.map[i].addr )
>              type |= RAM_TYPE_UNKNOWN;
>  
> -        if ( (maddr + PAGE_SIZE) <= e820.map[i].addr ||
> -             maddr >= (e820.map[i].addr + e820.map[i].size) )
> +        if ( (maddr + PAGE_SIZE) <= e820_map.map[i].addr ||
> +             maddr >= (e820_map.map[i].addr + e820_map.map[i].size) )
>              continue;
>  
> -        switch ( e820.map[i].type )
> +        switch ( e820_map.map[i].type )
>          {
>          case E820_RAM:
>              type |= RAM_TYPE_CONVENTIONAL;
> @@ -778,9 +779,9 @@ bool is_memory_hole(mfn_t start, mfn_t end)
>      unsigned long e = mfn_x(end);
>      unsigned int i;
>  
> -    for ( i = 0; i < e820.nr_map; i++ )
> +    for ( i = 0; i < e820_map.nr_map; i++ )
>      {
> -        const struct e820entry *entry = &e820.map[i];
> +        const struct e820entry *entry = &e820_map.map[i];
>  
>          if ( !entry->size )
>              continue;
> @@ -4763,16 +4764,16 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          store = !guest_handle_is_null(ctxt.map.buffer);
>  
> -        if ( store && ctxt.map.nr_entries < e820.nr_map + 1 )
> +        if ( store && ctxt.map.nr_entries < e820_map.nr_map + 1 )
>              return -EINVAL;
>  
>          buffer = guest_handle_cast(ctxt.map.buffer, e820entry_t);
>          if ( store && !guest_handle_okay(buffer, ctxt.map.nr_entries) )
>              return -EFAULT;
>  
> -        for ( i = 0, ctxt.n = 0, ctxt.s = 0; i < e820.nr_map; ++i, ++ctxt.n )
> +        for ( i = 0, ctxt.n = 0, ctxt.s = 0; i < e820_map.nr_map; ++i, ++ctxt.n )
>          {
> -            unsigned long s = PFN_DOWN(e820.map[i].addr);
> +            unsigned long s = PFN_DOWN(e820_map.map[i].addr);
>  
>              if ( s > ctxt.s )
>              {
> @@ -4786,12 +4787,12 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>              }
>              if ( store )
>              {
> -                if ( ctxt.map.nr_entries <= ctxt.n + (e820.nr_map - i) )
> +                if ( ctxt.map.nr_entries <= ctxt.n + (e820_map.nr_map - i) )
>                      return -EINVAL;
> -                if ( __copy_to_guest_offset(buffer, ctxt.n, e820.map + i, 1) )
> +                if ( __copy_to_guest_offset(buffer, ctxt.n, e820_map.map + i, 1) )
>                      return -EFAULT;
>              }
> -            ctxt.s = PFN_UP(e820.map[i].addr + e820.map[i].size);
> +            ctxt.s = PFN_UP(e820_map.map[i].addr + e820_map.map[i].size);
>          }
>  
>          if ( ctxt.s )
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index 4b0b297c7e..76827f5f32 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -102,14 +102,14 @@ unsigned int __init arch_get_dma_bitsize(void)
>  
>  int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
>  {
> -    if ( idx >= e820.nr_map )
> +    if ( idx >= e820_map.nr_map )
>          return -ENOENT;
>  
> -    if ( e820.map[idx].type != E820_RAM )
> +    if ( e820_map.map[idx].type != E820_RAM )
>          return -ENODATA;
>  
> -    *start = e820.map[idx].addr;
> -    *end = *start + e820.map[idx].size;
> +    *start = e820_map.map[idx].addr;
> +    *end = *start + e820_map.map[idx].size;
>  
>      return 0;
>  }
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 80ae973d64..9c6003e374 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1163,7 +1163,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      }
>      else if ( efi_enabled(EFI_BOOT) )
>          memmap_type = "EFI";
> -    else if ( (e820_raw.nr_map = 
> +    else if ( (e820_raw.nr_map =

stray change


>                     copy_bios_e820(e820_raw.map,
>                                    ARRAY_SIZE(e820_raw.map))) != 0 )
>      {
> @@ -1300,13 +1300,13 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      }
>  
>      /* Create a temporary copy of the E820 map. */
> -    memcpy(&boot_e820, &e820, sizeof(e820));
> +    memcpy(&boot_e820, &e820_map, sizeof(e820_map));
>  
>      /* Early kexec reservation (explicit static start address). */
>      nr_pages = 0;
> -    for ( i = 0; i < e820.nr_map; i++ )
> -        if ( e820.map[i].type == E820_RAM )
> -            nr_pages += e820.map[i].size >> PAGE_SHIFT;
> +    for ( i = 0; i < e820_map.nr_map; i++ )
> +        if ( e820_map.map[i].type == E820_RAM )
> +            nr_pages += e820_map.map[i].size >> PAGE_SHIFT;
>      set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
>      kexec_reserve_area(&boot_e820);
>  
> @@ -1631,7 +1631,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          unsigned long e = min(s + PFN_UP(kexec_crash_area.size),
>                                PFN_UP(__pa(HYPERVISOR_VIRT_END - 1)));
>  
> -        if ( e > s ) 
> +        if ( e > s )

stray change


>              map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
>                               _mfn(s), e - s, PAGE_HYPERVISOR);
>      }
> @@ -1677,9 +1677,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>                          PAGE_HYPERVISOR_RO);
>  
>      nr_pages = 0;
> -    for ( i = 0; i < e820.nr_map; i++ )
> -        if ( e820.map[i].type == E820_RAM )
> -            nr_pages += e820.map[i].size >> PAGE_SHIFT;
> +    for ( i = 0; i < e820_map.nr_map; i++ )
> +        if ( e820_map.map[i].type == E820_RAM )
> +            nr_pages += e820_map.map[i].size >> PAGE_SHIFT;
>      printk("System RAM: %luMB (%lukB)\n",
>             nr_pages >> (20 - PAGE_SHIFT),
>             nr_pages << (PAGE_SHIFT - 10));
> @@ -1771,7 +1771,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>  
>      open_softirq(NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ, new_tlbflush_clock_period);
>  
> -    if ( opt_watchdog ) 
> +    if ( opt_watchdog )
>          nmi_watchdog = NMI_LOCAL_APIC;

stray change


>      find_smp_config();
> @@ -1983,7 +1983,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>  
>      do_initcalls();
>  
> -    if ( opt_watchdog ) 
> +    if ( opt_watchdog )
>          watchdog_setup();

stray change


>      if ( !tboot_protect_mem_regions() )
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index 3f70338e6e..bbd04978ae 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -301,11 +301,11 @@ void __init srat_parse_regions(paddr_t addr)
>  	acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
>  			      srat_parse_region, 0);
>  
> -	for (mask = srat_region_mask, i = 0; mask && i < e820.nr_map; i++) {
> -		if (e820.map[i].type != E820_RAM)
> +	for (mask = srat_region_mask, i = 0; mask && i < e820_map.nr_map; i++) {
> +		if (e820_map.map[i].type != E820_RAM)
>  			continue;
>  
> -		if (~mask & pdx_region_mask(e820.map[i].addr, e820.map[i].size))
> +		if (~mask & pdx_region_mask(e820_map.map[i].addr, e820_map.map[i].size))
>  			mask = 0;
>  	}
>  
> diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
> index a834ab3149..bbebf9219f 100644
> --- a/xen/arch/x86/x86_64/mmconf-fam10h.c
> +++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
> @@ -135,7 +135,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
>  	return;
>  
>  out:
> -	if (e820_add_range(&e820, start, start + SIZE, E820_RESERVED))
> +	if (e820_add_range(&e820_map, start, start + SIZE, E820_RESERVED))
>  		fam10h_pci_mmconf_base = start;
>  }
>  
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 3b577c9b39..7ad9e12b8a 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -418,7 +418,7 @@ static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)
>  
>              if ( type == RAM_TYPE_UNKNOWN )
>              {
> -                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
> +                if ( e820_add_range(&e820_map, addr, addr + PAGE_SIZE,
>                                      E820_RESERVED) )
>                      continue;
>                  AMD_IOMMU_ERROR("IVMD: page at %lx couldn't be reserved\n",
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:21:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577340.904409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2F6-0008Ue-2g; Fri, 04 Aug 2023 21:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577340.904409; Fri, 04 Aug 2023 21:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2F5-0008UX-V9; Fri, 04 Aug 2023 21:21:51 +0000
Received: by outflank-mailman (input) for mailman id 577340;
 Fri, 04 Aug 2023 21: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2F5-0008UP-F8
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:21: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 ec62e42a-330c-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 23:21:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 061086207D;
 Fri,  4 Aug 2023 21:21:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF9DEC433C8;
 Fri,  4 Aug 2023 21:21: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: ec62e42a-330c-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691184108;
	bh=KW+dAYsFmYRZpNCBqS8+Nd7VsnDq5S5U4dE0t27GoeM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ji7I91/qztWqbmX3JduBu6a8pN80q4HgdYWWR++/dYjem4TJpL6cAglwVutKsZ/cO
	 5MQDFOP+9Qxfpboj400PsnGoi3YxB0uP9j5/iBGkjaDmvns7e7hGIvnVmNpu6n1b6q
	 IoMqu/Wn5DYcOvbN7ZuoF6eigIFza/fFFlkg5rr3F0EVvj3KtyUPHgpgb+flROxETJ
	 xtwc/g1T5EMfIN0wWc/39oaInm88+l9HNr0Bq3gI7Mc8qkDMwlPjY5CxdVUQuMjvYj
	 YcgvdSn+4VxgBsK8jhKU3R01EhDLekl3nmvGOXAnD+jYiV3BSEMsoSu/JGymJ03hj+
	 8cT1O7h/O0P0g==
Date: Fri, 4 Aug 2023 14:21:45 -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, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 2/6] libelf: address MISRA C:2012 Rule 5.3
In-Reply-To: <55624244c42297da7da954009ba0559c47fc245e.1691162261.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041421380.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <55624244c42297da7da954009ba0559c47fc245e.1691162261.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, 4 Aug 2023, Nicola Vetrini wrote:
> The types u{8,16,32,64} defined in 'xen/arch/x86/include/asm/types.h'
> shadow the variables in the modified function, hence violating Rule 5.3.
> Therefore, the rename takes care of the shadowing.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  xen/common/libelf/libelf-tools.c | 24 ++++++++++++------------
>  1 file changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/common/libelf/libelf-tools.c b/xen/common/libelf/libelf-tools.c
> index a9edb6a8dc..f0d5da1abf 100644
> --- a/xen/common/libelf/libelf-tools.c
> +++ b/xen/common/libelf/libelf-tools.c
> @@ -91,10 +91,10 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
>  {
>      elf_ptrval ptrval = base + moreoffset;
>      bool need_swap = elf_swap(elf);
> -    const uint8_t *u8;
> -    const uint16_t *u16;
> -    const uint32_t *u32;
> -    const uint64_t *u64;
> +    const uint8_t *uint8;
> +    const uint16_t *uint16;
> +    const uint32_t *uint32;
> +    const uint64_t *uint64;
>  
>      if ( !elf_access_ok(elf, ptrval, size) )
>          return 0;
> @@ -102,17 +102,17 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
>      switch ( size )
>      {
>      case 1:
> -        u8 = (const void*)ptrval;
> -        return *u8;
> +        uint8 = (const void*)ptrval;
> +        return *uint8;
>      case 2:
> -        u16 = (const void*)ptrval;
> -        return need_swap ? bswap_16(*u16) : *u16;
> +        uint16 = (const void*)ptrval;
> +        return need_swap ? bswap_16(*uint16) : *uint16;
>      case 4:
> -        u32 = (const void*)ptrval;
> -        return need_swap ? bswap_32(*u32) : *u32;
> +        uint32 = (const void*)ptrval;
> +        return need_swap ? bswap_32(*uint32) : *uint32;
>      case 8:
> -        u64 = (const void*)ptrval;
> -        return need_swap ? bswap_64(*u64) : *u64;
> +        uint64 = (const void*)ptrval;
> +        return need_swap ? bswap_64(*uint64) : *uint64;
>      default:
>          return 0;
>      }
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577343.904418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Gf-0000dt-CF; Fri, 04 Aug 2023 21:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577343.904418; Fri, 04 Aug 2023 21:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Gf-0000dm-9g; Fri, 04 Aug 2023 21:23:29 +0000
Received: by outflank-mailman (input) for mailman id 577343;
 Fri, 04 Aug 2023 21:23: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2Ge-0000dc-Oc
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:23:28 +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 25fcf4a0-330d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 23:23:26 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AED59620AE;
 Fri,  4 Aug 2023 21:23:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C72AC433C8;
 Fri,  4 Aug 2023 21:23: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: 25fcf4a0-330d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691184205;
	bh=UdKLTfqblCjD85IT+yl6LbHf1z3bNJwVbW7ktIu2UA0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=izkCYWBT42tIibcusdX0lK374FJVVxnUxwHd+5On6qBatNTLqdqSMQN7AMSauA2FC
	 pnlEeEToduxeBXAeaeNgRUu1z00XH5lKR5Up3nJ+nxE0dQ0uoSLrpVP1y+Q2Dw6Gwt
	 eFVvKy4XdCoN8nwSMjHqJtYIXkxwYpbAHQFYVg+y4ixRiVKy0yrevwHJCOA8PdYm/j
	 /bYpz3K9y92iZ2dtup2tjNMd/B6qYo4V7sR/360InkLpxbsuxBGjgtnDb0AVr6Imlg
	 6n0zrlNzAArEpUbKYS1zhYjAyWaPqw6zRJ8jTdoHOkH5onLhENt+GTY5MaZdy446P7
	 6RmCIW7y4aHbg==
Date: Fri, 4 Aug 2023 14:23:22 -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, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
In-Reply-To: <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041422210.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.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, 4 Aug 2023, Nicola Vetrini wrote:
> The variable 'msec' shadows the local variable in
> 'ehci_dbgp_bios_handoff', but to prevent any future clashes, the one in
> the macro gains a suffix.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:24:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:24:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577348.904429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Hy-0001Ck-N4; Fri, 04 Aug 2023 21:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577348.904429; Fri, 04 Aug 2023 21:24:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Hy-0001Cd-JJ; Fri, 04 Aug 2023 21:24:50 +0000
Received: by outflank-mailman (input) for mailman id 577348;
 Fri, 04 Aug 2023 21:24:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2Hx-0001CX-J4
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:24:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56c27a8a-330d-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 23:24:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8AC40620AE;
 Fri,  4 Aug 2023 21:24:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 849BAC433C7;
 Fri,  4 Aug 2023 21:24: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: 56c27a8a-330d-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691184287;
	bh=3jc8Tl1pBILA3Kk15KkbYw1ZW5lrkn+/IBolYaQsCZo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=eNU5IF4X4xfMDqPI6FRs4eKig48aCUGtHprrR8Ez1FfHYBdW2ECjVffj50I8ivjZw
	 iwfCKi7OGOshKAqh1/bsaHElDHlczOLYpPSqPNQxFIbdd/o4Jp/kGSbaNhtlOUloD9
	 bqAo18SvhAwnvSMGkMF4us3kXzK7sunwpxD1NEYYQlBt6dT0PsLMhJOx9DY4klI7sr
	 BHhE65pFlsy0NlwPcqzFM+7b3zCHI46DlGYnfC/7tmtQDciwvHi7ZVCsl16RtRmQDT
	 Dj0G2RFt99Ytqz3EjtKWCf4HteluKoMG8lYpu+ji7Ibx0m3EQnQ1VhVb3AWaIrAJIr
	 zVJKlEem4fU8g==
Date: Fri, 4 Aug 2023 14:24:44 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 4/6] x86/include: address MISRA C:2012 Rule 5.3.
In-Reply-To: <40823fbaa9e0a9b026e5ff3b01af9d83583889fd.1691162261.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041424240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <40823fbaa9e0a9b026e5ff3b01af9d83583889fd.1691162261.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, 4 Aug 2023, Nicola Vetrini wrote:
> s/mpc_default_type/mpc_default in 'xen/arch/x86/include/asm/mpspec.h'
> to avoid clashing with function parameter names in 'mpparse.c'.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Even though the global variable does not seem to be used anywhere and is
> perhaps better to remove it entirely.

Please remove it

> ---
>  xen/arch/x86/include/asm/mpspec.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/include/asm/mpspec.h b/xen/arch/x86/include/asm/mpspec.h
> index 1246eece0b..cc96ee63bd 100644
> --- a/xen/arch/x86/include/asm/mpspec.h
> +++ b/xen/arch/x86/include/asm/mpspec.h
> @@ -15,7 +15,7 @@ extern void get_smp_config (void);
>  extern unsigned char apic_version [MAX_APICS];
>  extern int mp_irq_entries;
>  extern struct mpc_config_intsrc mp_irqs [MAX_IRQ_SOURCES];
> -extern int mpc_default_type;
> +extern int mpc_default;
>  extern unsigned long mp_lapic_addr;
>  extern bool pic_mode;
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:27:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577352.904438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Jz-0001oZ-26; Fri, 04 Aug 2023 21:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577352.904438; Fri, 04 Aug 2023 21:26:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Jy-0001oS-VS; Fri, 04 Aug 2023 21:26:54 +0000
Received: by outflank-mailman (input) for mailman id 577352;
 Fri, 04 Aug 2023 21: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2Jx-0001oM-3w
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:26:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fa6038d-330d-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 23:26:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6F64662117;
 Fri,  4 Aug 2023 21:26:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8708BC433C8;
 Fri,  4 Aug 2023 21:26: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: 9fa6038d-330d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691184408;
	bh=nFwmOqD17s+/h0puhgViKWCxH+gDjmT1UKWq/VvIl7M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=L20NbbGhz7rdTNiTW7Ngt+zhACtWMMu4w+pgTg3qKNXsYqanWt7X/mE4fLAcVK3pE
	 19ruBu+zNaKhCSz0CCVBIQH3I1I2ay1Ons4GG4mgkbn7ZCDNThIFh34PMBOQGHSYUz
	 HFhLAFj4mxFKH4n++Qf9bEVU20SbrA/UE5Dguo1tHsDyCTGL4S4QZURtFn1CG3rUgK
	 SuWU3GT14qnUHimgn2oWJQRiU/V67udpcRKxdFSwLQ4y4Bi7dusTDFL32XsXA4ULY5
	 /heeCE7a0zNoMCd1PC0smssWVgNwNlgqqECwkwWIv12GwBs/sEN9cV1xX2Uo0J5Xdy
	 umfg32m6MvW5Q==
Date: Fri, 4 Aug 2023 14:26:46 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 5/6] x86/xstate: address MISRA C:2012 Rule 5.3
In-Reply-To: <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041426390.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.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, 4 Aug 2023, Nicola Vetrini wrote:
> Rename the local variables to avoid clashing with function 'xstate'
> defined below, but declared in the corresponding header file.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577357.904449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2NH-0003H6-HE; Fri, 04 Aug 2023 21:30:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577357.904449; Fri, 04 Aug 2023 21: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 1qS2NH-0003Gz-EM; Fri, 04 Aug 2023 21:30:19 +0000
Received: by outflank-mailman (input) for mailman id 577357;
 Fri, 04 Aug 2023 21:30:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2NF-0003Gr-OX
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:30: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 191dc224-330e-11ee-8613-37d641c3527e;
 Fri, 04 Aug 2023 23:30:14 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 77681620DC;
 Fri,  4 Aug 2023 21:30:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EF8CC433C8;
 Fri,  4 Aug 2023 21:30:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 191dc224-330e-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691184612;
	bh=jE1feFZVsHIUi2jn8BB5TK5WmyVgoA8N7R50JfUrPfY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Q6XF5hlexnTSOJkXIov9xhowr3sjHUb8cX8tWYopB/qZctEtkbTZ44EXVfdxiU8jc
	 fh0EP1+Z5aiNiL5XA+uy8pzI/5dLTxfvRv6MtOkNMWdwBiq5FIKkY6aaNR9TP+wY9v
	 nq9aLB8aVPpBirl4iiYW8jHYIWxnLEo1U+oecFyQX8qA0dHAyTzrROaOerCUfHtcOd
	 2rPKtl3/yjS1Ztv0i9XxQEeU42vlFtQlfzFyBGfJf3pgfYjMikwwenc0qliMsqlIMi
	 pRz9UwnUv9gof/7mfh906NRQrUFHv6oX8LcbII52lWMgfz9IApBk5H4We577JDQgrR
	 c+ycrR3j9z7Dg==
Date: Fri, 4 Aug 2023 14:30:10 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 6/6] x86: refactor macros in 'xen-mca.h' to address
 MISRA C:2012 Rule 5.3
In-Reply-To: <a3459c0d04b900f9164bd849cf264134@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041429500.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com> <a3459c0d04b900f9164bd849cf264134@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, 4 Aug 2023, Nicola Vetrini wrote:
> > -            _mic = x86_mcinfo_next(_mic);                       \
> > +            mic_ = x86_mcinfo_next(mic_);                         \
> >          }                                                       \
> > -        (_ret) = found ? _mic : NULL;                           \
> > +        (ret) = found_ ? mic_ : NULL;                            \
> >      } while (0)
> > 
> > 
> > --
> > 2.34.1
> 
> Stray blanks here, sorry.

Aside from the stray blanks:

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 21:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 21:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577362.904459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Vn-0003x9-CP; Fri, 04 Aug 2023 21:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577362.904459; Fri, 04 Aug 2023 21:39:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS2Vn-0003x2-8U; Fri, 04 Aug 2023 21:39:07 +0000
Received: by outflank-mailman (input) for mailman id 577362;
 Fri, 04 Aug 2023 21:39: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=zgx5=DV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qS2Vm-0003ww-WC
 for xen-devel@lists.xenproject.org; Fri, 04 Aug 2023 21:39:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 556ce9be-330f-11ee-b271-6b7b168915f2;
 Fri, 04 Aug 2023 23:39:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DF99F62117;
 Fri,  4 Aug 2023 21:39:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D645C433C8;
 Fri,  4 Aug 2023 21:39:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 556ce9be-330f-11ee-b271-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691185143;
	bh=GvitZrETfuQTQcjj77blBRLxc8mSkNWAcqIOxy8tSGk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DTWK0Q1biByoVWr7BsZ8uhoR0SCFpuY6s2B+Ojd4urwkuqCR4Z5eVQhrcly8dwYAR
	 G5OcVGvrFM93fN+wyRu3UmzEM8Bo1b4jOdpN0d47Z85CzgO3wXIjeF+l+1wLLyER4a
	 LGxmCx14T+ByxmIWKnXJllVTjWoi+vIBbgN4VrlIX5HFHrdJQJ5OGOPjBX2RtLAy/7
	 CIIrQEYs2ErGO/ZM3RDXl6XhpS1U2NqZmQweDhjqTUWtoPPfuvu/OrdFX4NKhS9oqZ
	 hQSF+Jms63aeaDuh1kc8MXa3jaB4vsaM2CKb8K0J2xfiEPCE8/+QdUURRqckNMtcXV
	 abR2D1l9cq9rQ==
Date: Fri, 4 Aug 2023 14:39:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: tamas@tklengyel.com
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    federico.serafini@bugseng.com, sstabellini@kernel.org
Subject: Re: [XEN PATCH] xen: change parameter name in monitor_domctl()
 declaration
In-Reply-To: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
References: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.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

Hi Tamas,

May I have your ack on this change?


On Thu, 27 Jul 2023, Federico Serafini wrote:
> Change parameter name in monitor_domctl() declaration for
> consistency with the corresponding definition.
> This addresses a violation of MISRA C:2012 Rule 8.3: "All declarations
> of an object or function shall use the same names and type qualifiers".
> 
> No functional changes.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


> ---
>  xen/include/xen/monitor.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
> index 6b17a93071..713d54f7c1 100644
> --- a/xen/include/xen/monitor.h
> +++ b/xen/include/xen/monitor.h
> @@ -27,7 +27,7 @@
>  struct domain;
>  struct xen_domctl_monitor_op;
>  
> -int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
> +int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
>  void monitor_guest_request(void);
>  
>  int monitor_traps(struct vcpu *v, bool sync, vm_event_request_t *req);
> -- 
> 2.34.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 04 22:29:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 Aug 2023 22:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577369.904471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS3IG-00011c-M7; Fri, 04 Aug 2023 22:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577369.904471; Fri, 04 Aug 2023 22:29:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS3IG-00011V-JL; Fri, 04 Aug 2023 22:29:12 +0000
Received: by outflank-mailman (input) for mailman id 577369;
 Fri, 04 Aug 2023 22: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 1qS3IE-00011J-Kz; Fri, 04 Aug 2023 22: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 1qS3IE-0008SY-Gt; Fri, 04 Aug 2023 22: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 1qS3IE-00007U-3l; Fri, 04 Aug 2023 22:29:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qS3IE-0007rI-1W; Fri, 04 Aug 2023 22: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=jiYv/zXEarmXpIyGCuGZ9vZlBNrHA5jU49ckT5SIMKY=; b=KpFsX07g+T62IraWIeFw1sICnz
	vOmxlYa4wAL1SXoKfpRTnTEikWStPd6QO/8YDFsYgEKSpAooP6nWYz+0SxPKcBozlFRoj4eS8om6P
	4WEj8AkWLWboUwUIaTeaHFUCJ7eVG3QWffZmgtGZbDhFxCLtOoLueM7/NTo4rw2zNN30=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182174-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182174: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
X-Osstest-Versions-That:
    xen=51588938e0cd0e02dbc1d6d8c697c577135ff666
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 04 Aug 2023 22:29:10 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 182128

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install  fail pass in 182186-retest
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 182186-retest

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

version targeted for testing:
 xen                  092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
baseline version:
 xen                  51588938e0cd0e02dbc1d6d8c697c577135ff666

Last test of basis   182128  2023-08-02 18:03:55 Z    2 days
Testing same since   182174  2023-08-04 01:17:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@gmail.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
Author: Julien Grall <jgrall@amazon.com>
Date:   Wed Aug 2 16:47:05 2023 +0100

    xen/x86: Constify the vCPU parameter for expand_xsave_states()
    
    expand_xsave_states() is not meant to modify the vCPU. So the parameter
    can be const.
    
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 1aa5acbbec3f37bf38d78fa96d210053f8e8efd5
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 3 17:35:39 2023 +0200

    libxl: allow building with old gcc again
    
    We can't use initializers of unnamed struct/union members just yet.
    
    Fixes: d638fe233cb3 ("libxl: use the cpuid feature names from cpufeatureset.h")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4f6afde88be3e8960eb311d16ac41d44ab71ed10
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 3 17:35:26 2023 +0200

    libxl: avoid shadowing of index()
    
    Because of -Wshadow the build otherwise fails with old enough glibc.
    
    While there also obey line length limits for msr_add().
    
    Fixes: 6d21cedbaa34 ("libxl: add support for parsing MSR features")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit dfc490a3740bb7d6889939934afadcb58891fbce
Author: Khem Raj <raj.khem@gmail.com>
Date:   Tue Aug 1 10:49:30 2023 -0700

    arm: Avoid using solaris syntax for .section directive
    
    Assembler from binutils 2.41 will rejects ([1], [2]) the following
    syntax
    
    .section "name", #alloc
    
    for any other any target other than ELF SPARC. This means we can't use
    it in the Arm code.
    
    So switch to the GNU syntax
    
    .section name [, "flags"[, @type]]
    
    [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
    [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
    
    Signed-off-by: Khem Raj <raj.khem@gmail.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
    [jgrall: Reword commit message]
    Acked-by: Julien Grall <jgrall@amazon.com>

commit da55d9dc919752e092e591a74ab54c2f7d5adfab
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 2 13:44:30 2023 +0100

    x86/gen-cpuid: Avoid violations of Misra rule 1.3
    
    Add the script to the X86 section in ./MAINTAINERS.
    
    Structures or unions without any named members aren't liked by Misra
    (nor the C standard). Avoid emitting such for leaves without any known
    bits.
    
    The placeholders are affected similarly, but are only visible to MISRA in the
    middle of a patch series adding a new leaf.  The absence of a name was
    intentional as these defines need to not duplicate names.
    
    As that's not deemed acceptable any more, move placeholder processing into the
    main loop and append the the word number to generate unique names.
    
      $ diff cpuid-autogen-{before,after}.h
      @@ -1034,7 +1034,7 @@
           bool intel_psfd:1, ipred_ctrl:1, rrsba_ctrl:1, ddp_ctrl:1,     ...
    
       #define CPUID_BITFIELD_14 \$
      -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
      +    uint32_t _placeholder_14
    
       #define CPUID_BITFIELD_15 \$
           bool :1, :1, :1, :1, avx_vnni_int8:1, avx_ne_convert:1, :1,    ...
      @@ -1043,19 +1043,19 @@
           bool rdcl_no:1, eibrs:1, rsba:1, skip_l1dfl:1, intel_ssb_no:1, ...
    
       #define CPUID_BITFIELD_17 \$
      -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
      +    uint32_t _placeholder_17
    
       #define CPUID_BITFIELD_18 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_18
    
       #define CPUID_BITFIELD_19 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_19
    
       #define CPUID_BITFIELD_20 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_20
    
       #define CPUID_BITFIELD_21 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_21
    
       #endif /* __XEN_X86__FEATURESET_DATA__ */
    
    No functional change.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 73aea9ada87f804f6b56efda13aead3b950f8657
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Jul 28 20:27:01 2023 +0100

    x86: Delete str()
    
    This is used in an assertion only, which is somewhat dubious to begin with and
    isn't expected to surivive the x86-S work (where TR is expected to become
    become be a NUL selector).
    
    Delete it now.  This avoids many cases where as a global symbol, it shadows
    local string variables.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

commit abe93fc8aafaecabb2ffbad1b29f049ca02ab8cb
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 17 14:10:58 2023 +0000

    x86/entry: Rename the exception entrypoints
    
    This makes the names match the architectural short names that we use
    elsewhere.  This avoids 'debug' in particular from being a global symbol
    shadowed by many local parameter names.
    
    Remove the DECLARE_TRAP_HANDLER{,_CONST}() infrastructure.  Only NMI/#MC are
    referenced externally (and NMI will cease to be soon, as part of adding FRED
    support).  Move the entrypoint declarations into the respective traps.c where
    they're used, rather than keeping them visible across ~all of Xen.
    
    Drop the long-stale comment at the top of init_idt_traps().  It's mostly
    discussing a 32bit Xen, and bogus otherwise as it's impossible to use trap
    gates correctly for these purposes.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

commit 26638cd9efaea4fea3322914efc2611981e001fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 17 23:06:37 2023 +0000

    x86/traps: Move do_general_protection() earlier
    
    ... in order to clean up the declarations without needing to forward declare
    it for handle_gdt_ldt_mapping_fault()
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 00:45:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 00:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577380.904490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS5QG-0000cK-Uf; Sat, 05 Aug 2023 00:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577380.904490; Sat, 05 Aug 2023 00: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 1qS5QG-0000cD-Rr; Sat, 05 Aug 2023 00:45:36 +0000
Received: by outflank-mailman (input) for mailman id 577380;
 Sat, 05 Aug 2023 00:45:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UuIh=DW=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1qS5QF-0000c7-Px
 for xen-devel@lists.xenproject.org; Sat, 05 Aug 2023 00:45:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62817c2d-3329-11ee-b273-6b7b168915f2;
 Sat, 05 Aug 2023 02:45:34 +0200 (CEST)
Received: from PA4PR04MB9487.eurprd04.prod.outlook.com (2603:10a6:102:27c::19)
 by PAXPR04MB8766.eurprd04.prod.outlook.com (2603:10a6:102:20d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.22; Sat, 5 Aug
 2023 00:45:31 +0000
Received: from PA4PR04MB9487.eurprd04.prod.outlook.com
 ([fe80::88a3:6384:ff03:fe99]) by PA4PR04MB9487.eurprd04.prod.outlook.com
 ([fe80::88a3:6384:ff03:fe99%3]) with mapi id 15.20.6652.022; Sat, 5 Aug 2023
 00:45:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62817c2d-3329-11ee-b273-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=METKH4gGztuzDBlIXwzbE2q51AFfcallV7LTNxZDuYqEJvFSDWNdSyBlcXk3DaCSxGUtnoOAKrKKj6ibLvQ9/fMSeCbx4RcGZF6G64JciqpkpUkozdlbmBJbTodq2PPUf3lM6oYfsnOE9Fa0FAp/VuIeHcAPyNk3b3rB60Ldj4+nUP2FO+j8dzC3+bs36RYJd3kdd453GsChJJ9zeJ+VCB9aeRYbzojjmMIRbjk9m51RRNrP87q94VQqf7heaiJ5XRxGRnwQDPcret2Tp2qlrX+4btuGrMjTjrumSOYlWEtnVTkCaEcG+oM42SX7GQLmk+fZSmRQ3wDVcXlEStrsXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zio1McbN4iYMuQrjGhQ8+83QINdgWRMixhCYYFsE2iI=;
 b=FeJOiV3QRXovkUwwJraaG7xZG4HPpmtBGe96WXLwMWVQHnpIz7r8RJJ7b7oH1gIeu7fXpIWWnzTXejtzS6PzNgiwxXJpQMh7ZsASL3UbtgdTQiUxvcqD9EfPyhnG8epVbLxcipYf9hX1qBHX7IzSzOwJ8kJ6mWKYtZc+Tsdk23RaiIvtEpYMnbduCmEmvc1CNXNcATy/JAqmzr+yHvYG+youirOS2anlJarCt0iBNapSfKxH/YBiVSsunTHaxlSgHuRsoGQdCaiVNnnP9PEGa3amihpFg+exgi00ycIzKupLqCP6FR8WSoe9bTZGB108KQsvFIvDW/VKSMdn/+Z0hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zio1McbN4iYMuQrjGhQ8+83QINdgWRMixhCYYFsE2iI=;
 b=0tVqf+yrNuWBQqp0NhqTdRNU50dScPSTccyGpL9ZjoQctMtKgvInv9aK+Imxg8WtL/dacsDbToMLpk7xFRTy10HvUPt8Lx7Xb/u/TijTwuSKsMMH6iGHeVUkrqvObZu2jkuX2uLltDic7GXnDNkkHsS+UyqVxZyd0xAhfOjWU2Y/VjimpxeXShUgV/7AUJDDrPap8cqS5w7bezCzvfKeCKH+Kgkd4z1La6jaNGgnNTAtHeyfe+x2PfoTAx54kXdObFcdcefmO7o7d+ak5lUbtZQsIvG3gDdnrnM49JtPC2rEVxM+IVFMBhKhe52hvYwdKDjZhNcrA9qAmVkdutomTQ==
From: Dario Faggioli <dfaggioli@suse.com>
To: "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"george.dunlap@cloud.com" <george.dunlap@cloud.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, "xenia.ragiadakou@amd.com"
	<xenia.ragiadakou@amd.com>, "wl@xen.org" <wl@xen.org>,
	"nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
	"consulting@bugseng.com" <consulting@bugseng.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, "julien@xen.org"
	<julien@xen.org>
Subject: Re: ack needed [XEN PATCH v3] xen/sched: mechanical renaming to
 address MISRA C:2012 Rule 5.3
Thread-Topic: ack needed [XEN PATCH v3] xen/sched: mechanical renaming to
 address MISRA C:2012 Rule 5.3
Thread-Index: AQHZwVAxe/bY3KKiHEuQMuUyHr1XI6/P0d4AgASauwCABn0JgA==
Date: Sat, 5 Aug 2023 00:45:30 +0000
Message-ID: <188b4b7611364397ba0f0cf9406bd4ef9ad9cf30.camel@suse.com>
References:
 <12a21bfd59d85c7b8619631edac93d79d7225c60.1690547599.git.nicola.vetrini@bugseng.com>
	 <alpine.DEB.2.22.394.2307281621260.3118466@ubuntu-linux-20-04-desktop>
	 <alpine.DEB.2.22.394.2307311439320.1972086@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2307311439320.1972086@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.48.4 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PA4PR04MB9487:EE_|PAXPR04MB8766:EE_
x-ms-office365-filtering-correlation-id: 3c1608f3-390f-433f-3b72-08db954d44ec
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 C3HMcaLD4+b82tLrCypesx/frRtpnMaGzQ1b14OfkSzgfIQ6oR/qqU7i00cqJlNFjbYz9Wg4z04b4AeWU4h30j8snKGNxKxpbDLgSMA9DxjfGgd6J/O2605fl1CQevK6cYPNWyYjooFn5qurK4iyGaw4x/bt34dEUC/4s+8hVOcTZXk5jcDaEAKoB66X8KiscVAL7pvptQvBwJyqswCdb3v0VXu0m+UQdOShXezXCXqEy/qU8XXwMN6Av6G8Sl1kUbB3PB5AdCfRZFPKI8dioD3hLi0AJTzyPsi720X/uYUM9Qi28bbz8TCJ1zQCa3kQbGgov3MaOi+bXlOa2I9MuGxZi356vSKU9aP99J/2Wa/1LM6tmEEj4PM+uVYsRID6mr5taNtAt2KiFXYnyJqAOW6/051MhY62CCdlv8UOVLK7+W8J6tuVNXNNkrLfTS1MLv21qsCrilxlcTNZLvXECtzPvvZwxgal/Zr2u1Ft4GpYdA/5sQHVqnpHdCV+pINMeBWCRGrWZJXyRGsKBcWtfzpHkLUoP5jeaDFL9ndxURnauTb2QchwfakWqfc5k1CVrE2EUpU+6A6n4mHouqWDzbJ1oim031N0Br8notzkq9Q=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(376002)(346002)(366004)(39860400002)(1800799003)(451199021)(186006)(8676002)(38070700005)(5660300002)(8936002)(4744005)(7416002)(66476007)(66556008)(66446008)(64756008)(316002)(41300700001)(4326008)(26005)(86362001)(6506007)(2906002)(54906003)(110136005)(122000001)(478600001)(38100700002)(6512007)(6486002)(966005)(91956017)(66946007)(76116006)(71200400001)(36756003)(99936003)(2616005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UjB3QXZ0L1ZRUzlXQ3VQNE42bDZXUjg3S2M4OGsvNlZ4K1NQSHgyaDdCdGYv?=
 =?utf-8?B?L0FmQUwwQ2F0eFcvMUpKQ1ZiNEdhTHF2c21oNnNsQXQxSXkxQW5IaGoyVmNr?=
 =?utf-8?B?Yy9JUW04QXYxbEJlNW8zRHgyMEJrc3l6TlJxTmFsdWRzeXBlejJzT1BzUFZU?=
 =?utf-8?B?TEVDWE12b1Y1V2NlQnBQS2w0alBzd1ZWVVU4L2V2Q01WaWo4bEQyWndKcG82?=
 =?utf-8?B?WjcrNVJDRmFiZXMyUkpDK0RZUnNSUklsL0hjZmJHUjVXYVdzSnk5UTl3Q3Ns?=
 =?utf-8?B?QVB3Q3RKaE1RT3BRZllmZzl0TnJRVGFOUThOY0w5TWJXOC9vRk5IS3ZrYnYv?=
 =?utf-8?B?S2NlY3hCSmFITFNVOVJBMll4T1VTNnBvTW93SzJMR1F0SEx4aTQvNllMYmdG?=
 =?utf-8?B?bDZCazluaFY5RHVtNXRqSExrOE9Bd1lOSUhDUERJQ09KNThKdEQ1NGxPOVRz?=
 =?utf-8?B?UWdiQVZoZzdtNUtSblV1T0Y0TXRKS3NYbHMyRjcxQXJ3SnI4Y1J0bVNCYVZE?=
 =?utf-8?B?NWp6RWJlTkRsZTcyYnFNV29FeDdrV1NOZDVqTGtpVUd0RUs0SHFPVHJncGRT?=
 =?utf-8?B?UDBzQTJsM2J4Tm8yOGgzSkJFUWZCRkwxTHpPZU42b1Y4Zm5xdHFadFhsQ0dV?=
 =?utf-8?B?ZGJkOTMyUHJ5YTd3MmU5Y0J1WFFiNzNwQUVGOGJwQ05OcnBqUlZiK1gzVVpt?=
 =?utf-8?B?NU1pcWY0OUt1ZkpkZ2FGWTNZSzhSSnZHeTQ5RG1QUkFwTE8vNCtMdm5OUkNI?=
 =?utf-8?B?cHQ5NkE1WStET1NoYXNVUmZpZDlYc1BaKzVSQzFKZXlDclhNV0FqWVBKaXJ2?=
 =?utf-8?B?cmRRbGpkd2hIT2YrOG05dVpoZ0xuaGRXMmJRZDBsTWtjQTRUWWxOK2xTa2w1?=
 =?utf-8?B?dEVrRGhYM1lubWVtSEFraHFjaVR4OHliOUZsVUU4MGhZZE9qTW9lWm1vU1Zr?=
 =?utf-8?B?TXNtaitPUUJQT2dldS9zTW1YeFJPc3dMYWI2enZrZ2NncTIrdUtOWGFqdmdE?=
 =?utf-8?B?b2xOTXZteFk1bWl2OG9TdWZzaWJvRXp3akFjZFdhZWRyNXNxL1VXTWdxWDdP?=
 =?utf-8?B?T3Mrc1Y1bGpiSDFTalZLZy9HcC9YSVhKaVF4YktTR09qYTNvNHFCUlJhTmpH?=
 =?utf-8?B?dnZIbTY0SjVBVzI0RFJPUVRBZXNaa1J5NlY1M1VldkswQjFWa0FWbVR3YmlD?=
 =?utf-8?B?VVpYZHN1RW9TVC90MkMwNXcwTDd4cVNaYXA5T1ZpT2lQZlVQWCtTeUs3Vy9u?=
 =?utf-8?B?eE5RVEU5Y0VDWHBGekhKVnlSSVd1WnozNHNCSlRYMm80Z3F0MjA5SXQyVFFJ?=
 =?utf-8?B?WFo2eU9kRENPbDhMdzlMcHRpdzZzL0ZCbW5sT3RoM0NXZFpwdzdVc255MFBJ?=
 =?utf-8?B?TVVRc2d3Wjh4WG54c1NVMDExUHlqYWMrS3QyZXRndlpCTGcvMkN5RTFmVnVl?=
 =?utf-8?B?aGVjaTZPcTlPV1l4UHhkTGpjN1k0Y1RFTklndzgrSFpCY0F1RS9HOHl3TXR6?=
 =?utf-8?B?MFAzVjM3UDhKME45cGlBUko2eW9qNjd2dVBrbkc5WVhZU3YrWHRKR0FZT2Zz?=
 =?utf-8?B?QWp6QzdQc2FyYUNVdUlsRllYZ2RRUU1sWUpwZG4zZllIOW9nWGFzeFloK2R4?=
 =?utf-8?B?OHAwK09EU1BUTGR5NzVpVEFrazYxWUdXWjFFbCs2eTQzZjFXREJxaVNQR2RC?=
 =?utf-8?B?TDQralFHeDRoSkNzdVFSNWE3Qkp1aFBCSExBV1hGbzVueWxQeGZQMHljSmli?=
 =?utf-8?B?eVlQbFNub1JyV3BudGFKdjIrUG1TYllXbHRIUGEzS0pYRzhCRytXZWRJSi94?=
 =?utf-8?B?eVExbDc5U2VFejZveVJvNlEweUxXaHdlalBScVNxQjdqa0I1MnFQbWNlNjUr?=
 =?utf-8?B?ZmEyYVNDTHRVbHZydEZ6OEpZbDFYNm9GRkd1SmtBTWRJV2N5bE8xcDRuSnJi?=
 =?utf-8?B?dTVhSVJoYXBQSjR4N0VSb2lOblRnVVFNNVMzVjYxMG10cWxIWmN2MW0yUFZi?=
 =?utf-8?B?M0RhT3BjL2tRM1AydXR3ZStwSzVyQXJIVXhNc3JKL05VSFExNHBUU2tHUGpj?=
 =?utf-8?B?UEVpMDRHVWd0bHVvc0VRZG54Q2VGUUtBVE16V0k3ZWlZL2tURnBsdjhZeEx0?=
 =?utf-8?Q?T0DS1wnB5uZUJTLP47XbuvBiL?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-QIyvlgfvdOhGq2L9HZ27"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9487.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c1608f3-390f-433f-3b72-08db954d44ec
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2023 00:45:30.4074
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +GEThrEQS7RpZxtKgDVkXJYtHzDTGJrQucU+zLOHHUxWuBFG8JHnhFW6y9NTt+YrYdB27+8BCssWpXHcmzOoWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8766

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

On Mon, 2023-07-31 at 14:40 -0700, Stefano Stabellini wrote:
> George, Dario,
>=20
> Please ack
>=20
Looks good to me.

Acked-by: Dario Faggioli <dfaggioli@suse.com>

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

--=-QIyvlgfvdOhGq2L9HZ27
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmTNm6kACgkQFkJ4iaW4
c+7C4hAAmbfp3o6m7pMSe4gduvCpm8tUoTPaI+TPqNis17eNO2w/GlEoS9Rxpjjq
9SkEwmLFNJ8rSPm7oa1foJ41m5BNt+S5etnNbd0unJPVXkazHZtnwOhE2oH3l1Nn
fge4juk3Abnwd63JZzlC4wCvMSfAWn5YP5vvp0sPmIYOsB4wjGeF69nI9RqTlGeW
AnN5nK3uKVjh+BWxzKhLpU6xd/0kZ4SpAw3sglfINgggg8C6JwOSyfgJXG9VgYgK
M75KhbgPBuD4YY6ihJeVRLAplBSvdkqzisjf6lmp2KeCFjQhUsVH76SK/mk27BwO
AH6ACWLxF/SG3lNsQzrBpb/G6kM1XhbQG/YQJwtmxVROBkux5ye5BRXSPURAc6Gm
v9eTi/kFu2WpNtR/e1pTa5z0NNZdseWLz4+W8LVOi6n92pkpXfNalds2H9esreUV
q/0l8DM22UcRICDEyn1jV/JGhRW8RlY2ouocccivzdgJxcRJYoKTCgCu2+1eE2kg
2u54GRaiGaj4tHNYT5OAGtMhWd35RjFUjbUz+8UtN8av0YEJOVMB/oRbwzC2fqsm
MCqJs/kISEDVJFZhAnLHtZNGs8asz6/8F/zt5klFzWthdGf9yOPzQ8CIeXSPENpQ
MuV4DNLIOAYq/piOPow3OtG1QUAEozitn64oCXjhd1jhBIMy6tw=
=c+qT
-----END PGP SIGNATURE-----

--=-QIyvlgfvdOhGq2L9HZ27--


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 00:47:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 00:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577383.904501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS5SB-00019m-B4; Sat, 05 Aug 2023 00:47:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577383.904501; Sat, 05 Aug 2023 00:47:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS5SB-00019f-6g; Sat, 05 Aug 2023 00:47:35 +0000
Received: by outflank-mailman (input) for mailman id 577383;
 Sat, 05 Aug 2023 00: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=UuIh=DW=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1qS5S9-00019V-W8
 for xen-devel@lists.xenproject.org; Sat, 05 Aug 2023 00:47:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8afb243-3329-11ee-8613-37d641c3527e;
 Sat, 05 Aug 2023 02:47:31 +0200 (CEST)
Received: from PA4PR04MB9487.eurprd04.prod.outlook.com (2603:10a6:102:27c::19)
 by PAXPR04MB8766.eurprd04.prod.outlook.com (2603:10a6:102:20d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.22; Sat, 5 Aug
 2023 00:47:29 +0000
Received: from PA4PR04MB9487.eurprd04.prod.outlook.com
 ([fe80::88a3:6384:ff03:fe99]) by PA4PR04MB9487.eurprd04.prod.outlook.com
 ([fe80::88a3:6384:ff03:fe99%3]) with mapi id 15.20.6652.022; Sat, 5 Aug 2023
 00:47:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8afb243-3329-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mez3sUVmjJD3FH71QrFU4arTgJVOown5JJcczk+2AEH3DdcxvDhegWjFWvivO4WcgmGf1LvVNk6Thvyo54mY9DKISZjSg7z9gqJFS4c6TYkZ8XpLqA6iEyWHY3EqstxQvJi3mZQR7Oe165LVaqhff7o6FUKwbW9DQbC3ucGaTFw2+35loaEnv0dM0PyBiYMsmZshq/hUamfFfO4K393fS+6TD1DwVNo1fUn58EnhjrXMuCFjA5AtDGi1EXR0sFj/xZnhLJxbQWO2ULqo4vkOt0bqBMNKe7RKXp65ad8bBmoVbqTZXPJGv9YxtZNoHpKtZ2JWdZp3aPsExCWLBwqKWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sHKH1iA1i06D2UfjBIcSDKgRCsJYPHX8MXaxpn0OQ/E=;
 b=MK5NH5cdacK4hKI2N+LlSMwvx0VOUb5vFF+bnZ8Joal4BnlV69fkPBVQJbWBz3rR2MbZCPRBCJEHFAHM0PELhbqKNHxpbG8XcwqHA/E51jgvvz2QGclE0DLeSOxpPChI9xv10YN/emEwh1JubYs1v0SRpH6MvxkiXZxXCqqTF6X3bOGeZ4Jf6TpSHrvMCLCMbXtIhEh6v6W1uMnRG8EK9xqRwEwWF6DemPgvUcCSAeYPoQZW5hb5KWUVOSgg0due4LCbLJ519+z5mMDLGD1Mrtno7nBm4pFExBKNKYPdjrCnLuGKq3jDnHghy79Wu84hoRbtK+k5DOVxcvTR5goqVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sHKH1iA1i06D2UfjBIcSDKgRCsJYPHX8MXaxpn0OQ/E=;
 b=dmEwenPQE3qyEunUjCgzYpUW3z2kd9FUJ6s+QVU6z93XbxLRybuLuSScKSBO+6QjHCP38wtnAxPkQCpU183WpmKucAVdUijGapNpv0PKKgSYOi41UJaokLAwvk3ZMYPNJX0fQ3wdgzQ0i1FBWvEJ5AyxPmZZXdGm7wlXFSiqA6MtWerPgS+Bdy6+frzQ1sTvYmXgvQ9wXY6jJkFVN5YTsGPkCv2J58P4+IuWmpGod5qEp2eozVOlvQhDR91P5GoJztZLsoQt8d2Zn/sDF9Pm6Hmivx06l4zIElUZzTdSKCaHuz6kxKVzXxXa+ydZr5Q/bEjvAargzDjTRwUXlzIb7w==
From: Dario Faggioli <dfaggioli@suse.com>
To: "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"federico.serafini@bugseng.com" <federico.serafini@bugseng.com>
CC: "julien@xen.org" <julien@xen.org>, "wl@xen.org" <wl@xen.org>,
	"consulting@bugseng.com" <consulting@bugseng.com>, Jan Beulich
	<jbeulich@suse.com>, "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] xen/sched: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Thread-Topic: [XEN PATCH] xen/sched: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Thread-Index: AQHZw6cMDaRGuf0brk+fvTV6KSueEa/UY5qAgAaB6AA=
Date: Sat, 5 Aug 2023 00:47:29 +0000
Message-ID: <dbbbe5394a6fef7291c825deb0d8639f84690149.camel@suse.com>
References:
 <072d163857101f4cdaf61b6336b2d8f2e65d7360.1690800014.git.federico.serafini@bugseng.com>
	 <alpine.DEB.2.22.394.2307311424490.1972086@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2307311424490.1972086@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.48.4 (by Flathub.org) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PA4PR04MB9487:EE_|PAXPR04MB8766:EE_
x-ms-office365-filtering-correlation-id: 3f157902-2050-4098-52df-08db954d8be3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 mwKcEc/NpI/RXxrrj/rUVpOSaBUrGn0FhHhyGIg95lLJM2ncjU1M/8/JANAlzwkIgVW3F0aUvoVBXE5lUdWyq2cAnCXNIsK9hNMLRgyl7zy2qZW9ghZWyS+Lx3p+C2hHBvE4PrXyVxt7k1tYd8BeMBy28P+LaITWuRRZHwKertB/xUswzFWuC8EEANzEocujvUMNbYcbeleClpJ42z1Z+iWLnm+T2jrnzN7xsSKwQ01sWBFbC4CmZW8OqPVZ4PQXm0geAOIT0FzK9hIZpiX37el1yZfrtDxMkxpgLSVbWtnlHq2m4l5q0JKKRmOZcXjEXlXQluzku0yo48kOxYszW+hqQmHyBoXxRfCMT57uKpMPVUCxYeRWPxX+QWsIhlHfAmkoTHTw5AcaVnqL8PTsFIP3NPdj3cI22DtRpYcfsV6Xovey3ndfeW/TJ2/vIpREuXliHxMzVBWTIkI0iRZwGOGKGydgmx5+wZIjreGwseXtqSyqu84vogesXpZjrO96QlIz3aFppLBePxvseIlcazjb2US0OZPQIJwX2lwN/8T8hsrAmF9AIFbo8l4I80c42y21nYoBTJJeO2tCxf+rAB1Pc7G4XSEkiNHGI+j9GLM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9487.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(376002)(396003)(136003)(366004)(186006)(451199021)(1800799003)(2616005)(71200400001)(76116006)(91956017)(66946007)(99936003)(36756003)(26005)(86362001)(6506007)(4326008)(41300700001)(2906002)(4744005)(8676002)(38070700005)(5660300002)(8936002)(66476007)(66556008)(66446008)(64756008)(316002)(6512007)(38100700002)(6486002)(966005)(54906003)(122000001)(478600001)(110136005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K00ydGZaanJ3Ulp0a09oYmtPa0l5STdzdk8vUEdveTlaU2MxTkh3d3Boelc4?=
 =?utf-8?B?WmVFOTYvUlhnWE9uWlJZaGRZb2k3ZmhRZ1Nyb3oyRTdZRXJVSGtwNnJpTkwv?=
 =?utf-8?B?N1VHelkvdHlFUnpQNEIvaWFlN0Z4MWNZb0xFVHRFWlFpdDczc0t4dWNwNVZJ?=
 =?utf-8?B?dmdxbkNGSXNpTVpGS21hR0d0SUJPUlN6UnUxNm5NL1lDSkdqZEJvNzV3TkFn?=
 =?utf-8?B?eUNYSmxhcGMyZEI5eG1uWldyODdaYVgySXRtNVEwK0w3UkxUcXc2Vy9TNkdh?=
 =?utf-8?B?RjdqUHF1QWR6MENxbFFLOUkzZnRvQWtJcGNkWXJnYWUwT3lOWXJJV1lRMTlj?=
 =?utf-8?B?Q2kxUTdGekVEUGhsbjVvblJaTmJ0ME5hVVN5UlV0RzAvYnVjY2xZSlJFMGlp?=
 =?utf-8?B?cFpLUXYvcHg4TXVTcUdUeG5mSGE3VUZyUmNxZmdIa0xZM2xFbll2VURVRW5r?=
 =?utf-8?B?dW00ek9Xc3J1VDFDV0djSnBaYVBHM1ZqRFl6UmZ5VG1jZjA1UURpTmkzZFhz?=
 =?utf-8?B?RW1STzNrWUp3RE9vQjBPMmtGckJheTlZb05XNHFOT3hWVlJuaGxoT1VFeTVB?=
 =?utf-8?B?Z0VWOGZXdG9NbENNRXZVYkVHN3Zpd0V2Z3p2bU5kNEZsaFRxUW9zdnhJNkpj?=
 =?utf-8?B?STVZb1Z1R2phazFpRWZPMkFobDEvZkdTc3ZlbTdLRW1jdDBrTDZhNFVxQmdm?=
 =?utf-8?B?TVp5ZTNTL3JZaFJPaG1CMmVLWkVkeUJCQzQ1cTg0dDFlK1JQR21wTkJsTkFu?=
 =?utf-8?B?UnNIN2k5eFJCYittWXFPL2tWTVJKSmdMenNReEN0UzZHY0hSNFgwZ0ppQ2Nj?=
 =?utf-8?B?VU55OXVQUlQ0T3Z4NlJMWnBqYVZtbGg3ejVncEhwOWxqcFJwUzF6c1hoRU1q?=
 =?utf-8?B?NE1oVnVpazJ5QldVeWo2S1hnc1VXdlVBaytnYlpERkVQbno4Smowa1cybWg1?=
 =?utf-8?B?OUZwMXZPekZWZllDc0JvZ21mNXZwdVJoVEtrTTAwQlpFMGZOcTBSazNvcUFL?=
 =?utf-8?B?OFRjdHZzeEIwYWs0QVJPRTJqRHVXN215dE96SlFMVWJwM2s5T2hlU00yUlpE?=
 =?utf-8?B?MkoyWStZR1RjMnVnK3N1K0hvOE92RXorZWw1NU9FVzdDQUNPRExDTDZQZE5m?=
 =?utf-8?B?SzRXNzVzdFMzK2NjcE1XVGJiaTg3U0gzWnVXNWdKN1duaC9EdE1pKzcrVjVj?=
 =?utf-8?B?bEZjUnRYUU9uOFNDbWduWDkwZ1JDbjROMEw3aDZiYUhSbXVwT3ZTajVUTGtO?=
 =?utf-8?B?bUlRVUlPZGMrTGoyWGliSnZxendLdzEvOEpZU1ZRa2hHbS9mRUcrSEkvYzhx?=
 =?utf-8?B?NFBzbTd6TWMydTdoRktDdkhLUEFkalRoOHU3bnlmdStvclFFY1NEaG5KUkVl?=
 =?utf-8?B?anBSS0VuaS8wTXhyM0hMdXA4cTNJMGF3WUxOZkhIaTYwbElIbDFXUnJyVDhL?=
 =?utf-8?B?NzBibVNOa1pTZ3VRTUJiZExsQVZmNksrWnpaaS9aUis1c2s4MGhZUk1GTlBv?=
 =?utf-8?B?M1FwL2ZlV05CWTZpeFcwc3VVNHZySExyc3IyV2s3UlJHU0p1OW5tNFcvNWF2?=
 =?utf-8?B?b3F5TzdpVEczcGtJZ0dhazljWE5wN3l0d0FBQ3dZZ0p5bnhaQ2ViVFZYL1BG?=
 =?utf-8?B?cXlkYUVGU2N0NFZsWFhLeEE3OWtKelpaMk9xeGs0NS9KMmUwQ2FXaEVNS3Uy?=
 =?utf-8?B?ZENJdVFiZnMvNjZEN2I0UHhhWm9wZG44eFVtRnBjR3ZkNkZ6d2ZnbVdnK3VP?=
 =?utf-8?B?RFFaYjZ1SjJ1MklNRGVON0Z6VllDU2dtdGZTd1ZHa1lHQ1huZHJDakN5eU44?=
 =?utf-8?B?Ri8wcUdZc0kyQ29raWFjWnRXQm5na2ZIZEdzR3VXN25LK3lMTk5qNjFqNWc3?=
 =?utf-8?B?Sm9zS2wzR1VkeHF3dDRzclJBa1JzOFVnZVdBSGREdGw4QTRnWnc3Qk9tVFhx?=
 =?utf-8?B?MmpjcEVFYzBaU051UC9QLzBILzc4Sk1MMEtqY2xMbXQ2MXRQRXk0QkY2N2dy?=
 =?utf-8?B?QjRud2I3bDFhU2dUQ1BoVkxSYTdoZ2w1NG9SRjlGQ0tERUw3TnpMMmVHd0I3?=
 =?utf-8?B?ZnRrbmswUW5aSmMxOWpMODRSdVUxWEdGRVZDblJtZStTU1hmZldoYURlTU9F?=
 =?utf-8?Q?55p+SurC6yIYe0orOECxWQgt8?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-XiJgakgFxx9P1vBaZNdG"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9487.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f157902-2050-4098-52df-08db954d8be3
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2023 00:47:29.4792
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rxpTBcLUtucU1oSb27VrBWDfLuSLyYQDMXEC8V/8JYQ3Ue1K70q6pltV2S1N/coV0vz0OtxnpKs3BZPBxBeysA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8766

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

On Mon, 2023-07-31 at 14:24 -0700, Stefano Stabellini wrote:
> On Mon, 31 Jul 2023, Federico Serafini wrote:
> > Give a name to unnamed parameters to address violations of
> > MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form
> > with
> > named parameters").
> > Keep consistency between parameter names and types used in function
> > declarations and the ones used in the corresponding function
> > definitions, thus addressing violations of MISRA C:2012 Rule 8.3
> > ("All declarations of an object or function shall use the same
> > names
> > and type qualifiers").
> >=20
> > No functional changes.
> >=20
> > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>=20
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>=20
Acked-by: Dario Faggioli <dfaggioli@suse.com>

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

--=-XiJgakgFxx9P1vBaZNdG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmTNnCAACgkQFkJ4iaW4
c+6ythAAvae6nh/Q/Myys+mIY58VDW3lPQp1UdXVADxcNoKjIzBVV7JKrni9uMfI
xD13+agt5t9qP8mLnoR9rmgCcIdoclp8Z0WnjK4rFG7k/X/Rdj49/PuxM57nKHGG
2rhbqwqo7XdyvoJ4rmAJrT8o1DdYfdrB3skyR06eSOZEkvNYl/1NKsDenQNRpH0Y
ZUUIGFIqokv1jjN2CS4ef9JTRqT1K2QRXluuWE82cMpcKjlISVDQhkJtFr0NV3wY
yqSIZYDtsScDJ//W0QEvl6FWvOLEuH+x758YFsYk69DoACc/EQuKmOmGxmX50ckT
GTPHGCk3lpIKAzq8bnE35AM8qL6yjOVFQEp2v7eWBPlYw1OOMiXZ8J0IwwAkcKa7
dn2qFr/8SizxSEKO7mH88pxKtrkzO8WXQKbctyC9nfYzizOT3exQEu2H1DobhF+l
ZJ4nmrPD0SI6IS5T8vept9ys1sMnq+Ylj0NcZf9V7W8oXDuqLzNQPfs2Te+hIKtH
kX/PfqzGSNY8GYoYv/CDnkbRWIUh6FGzmpyXPCbqakiYmT+bTKNRShk4EYFZYy5w
mztRNeD8hhpQF4jndcLQ2vDIPBcZhIgIB/295hk4vasNKJC4JwB6W+NoG2hP7+AY
uuCiDxZHcMeEhV7AWph3myZT98AxPVQqydAsrtEDswim1vxs25g=
=KF8F
-----END PGP SIGNATURE-----

--=-XiJgakgFxx9P1vBaZNdG--


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 02:22:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 02:22:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577389.904514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS6w8-0005R8-Ua; Sat, 05 Aug 2023 02:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577389.904514; Sat, 05 Aug 2023 02:22:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS6w8-0005Qm-O4; Sat, 05 Aug 2023 02:22:36 +0000
Received: by outflank-mailman (input) for mailman id 577389;
 Sat, 05 Aug 2023 02:22:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qS6w6-0005Qc-Vp; Sat, 05 Aug 2023 02:22: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 1qS6w6-0008Fr-UL; Sat, 05 Aug 2023 02:22: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 1qS6w6-0003m4-Hw; Sat, 05 Aug 2023 02:22:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qS6w6-000576-HR; Sat, 05 Aug 2023 02:22: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=u/4WZQQLL/sgEmhY2I5IbjkcOklGrVUBw9toUqTqnFU=; b=lKbltn0TC6VVpCWatL/5nkSkiY
	H0ysT4h0hLXbQC6ctGyTuwskeOuv9/YLtIlYguRFjhBbhBki/csr0BO8fXL20JDFfqs5m3tk91R3o
	SnTcVUzGPtV2s7evQL1Wyd8R7a604lrQwA8dzoYgvbo8y52ivgymdCuK+lUSyrc4at/I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182189-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182189: 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=e55146071de9257d70bd157047700071d0007622
X-Osstest-Versions-That:
    xen=4a6448fd6497ad7952cd0baacec1869f6791de9e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 02:22:34 +0000

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

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                  e55146071de9257d70bd157047700071d0007622
baseline version:
 xen                  4a6448fd6497ad7952cd0baacec1869f6791de9e

Last test of basis   182177  2023-08-04 02:02:01 Z    1 days
Testing same since   182189  2023-08-04 23:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   4a6448fd64..e55146071d  e55146071de9257d70bd157047700071d0007622 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 04:27:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 04:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577396.904523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qS8sQ-00018v-I7; Sat, 05 Aug 2023 04:26:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577396.904523; Sat, 05 Aug 2023 04: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 1qS8sQ-00018o-Ew; Sat, 05 Aug 2023 04:26:54 +0000
Received: by outflank-mailman (input) for mailman id 577396;
 Sat, 05 Aug 2023 04:26:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qS8sO-00018e-Fo; Sat, 05 Aug 2023 04:26: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 1qS8sO-0002tg-Bg; Sat, 05 Aug 2023 04:26: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 1qS8sN-0008RJ-TN; Sat, 05 Aug 2023 04:26:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qS8sN-0001E9-So; Sat, 05 Aug 2023 04: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:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=frvnaTq2Jw07Yx/jjOFkceZmOhyce8asiVn/vbP8jmE=; b=qcfPPffLmdGYIIv3nNBb2kjpCR
	1wWDamJxkHe3nszJVBp8CbHY+0mXPhzrxlYAaari6d+sGxP95l/lNq2ORNn1r5PseWl0sAbVAXsz0
	I7vHfZBzpn3TrKFC2+VgwaSyeOBU1ropOv5QhjA/IVHGRrODtEAeD0tH6vBsTHkR9oa8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182181-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182181: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=3a45a4d78c820c79e664ccfcba0153e5336a5c59
X-Osstest-Versions-That:
    libvirt=99349ba18e726465215a71f28d2146a0a2adb65d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 04:26:51 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182131
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182131
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              3a45a4d78c820c79e664ccfcba0153e5336a5c59
baseline version:
 libvirt              99349ba18e726465215a71f28d2146a0a2adb65d

Last test of basis   182131  2023-08-02 19:15:02 Z    2 days
Failing since        182175  2023-08-04 01:18:07 Z    1 days    2 attempts
Testing same since   182181  2023-08-04 12:27:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   99349ba18e..3a45a4d78c  3a45a4d78c820c79e664ccfcba0153e5336a5c59 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 05:43:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 05:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577405.904534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSA43-0001Qi-2Z; Sat, 05 Aug 2023 05:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577405.904534; Sat, 05 Aug 2023 05: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 1qSA42-0001Qb-VO; Sat, 05 Aug 2023 05:42:58 +0000
Received: by outflank-mailman (input) for mailman id 577405;
 Sat, 05 Aug 2023 05:42:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSA41-0001QQ-2K; Sat, 05 Aug 2023 05:42:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSA40-0004m0-UV; Sat, 05 Aug 2023 05:42:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSA40-0002rp-Cd; Sat, 05 Aug 2023 05:42:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSA40-0000jw-C6; Sat, 05 Aug 2023 05:42:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Gqy1Lz8qxJmhBD/EH7uyKmLtKe6ovp+aRd3zMiNUMvw=; b=pc5fbJtZBorkZNpwTRN+V5tsRe
	Y4nGF/CgBmLAHbGi88ac96gdbo7ob5d3b1gokhwQcY5gbw6KMuLyOZpz+aHXavkK44uYvGvlYEiRf
	ye2cDZyzWcnlgNEOUFR04v6vF3DsNrt4ynqjilrjqAb2z+0IKkEQV9qrt8HSsiiOHLzQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182179-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182179: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c1a515d3c0270628df8ae5f5118ba859b85464a2
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 05:42:56 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2  17 guest-saverestore   fail pass in 182191-retest
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 182191-retest
 test-amd64-amd64-pygrub       8 xen-boot            fail pass in 182191-retest

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

version targeted for testing:
 linux                c1a515d3c0270628df8ae5f5118ba859b85464a2
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  110 days
Failing since        180281  2023-04-17 06:24:36 Z  109 days  199 attempts
Testing same since   182179  2023-08-04 08:59:01 Z    0 days    1 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             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                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 09:19:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 09:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577463.904544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSDRb-0006S7-AZ; Sat, 05 Aug 2023 09:19:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577463.904544; Sat, 05 Aug 2023 09:19: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 1qSDRb-0006S0-77; Sat, 05 Aug 2023 09:19:31 +0000
Received: by outflank-mailman (input) for mailman id 577463;
 Sat, 05 Aug 2023 09:19: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 1qSDRa-0006Rq-1k; Sat, 05 Aug 2023 09:19: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 1qSDRZ-0001wj-TL; Sat, 05 Aug 2023 09:19:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSDRZ-0003Eh-IP; Sat, 05 Aug 2023 09:19:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSDRZ-0002dD-Hs; Sat, 05 Aug 2023 09:19:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XeFJF3h3+gZOxisjk3VxeFGjHHEl8jOKWv4Q2O7uR0o=; b=UoC9aW6oACNrz+ZgCoBxF15FZH
	bsnORnbEGVTSz10wQoOdxYEYDxeMC1XjBxof35SlSxakaXoxsIhJhsNGWeD61nzwtkNTC6vf9xv6p
	JW9zePuGmrJGC/pYm8W+4d3EQhuNPh6huB/IswA3az0D3Py6WcXeU5Pm8cqWvDG7eX0s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182185-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182185: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c26d005e62f4fd177dae0cd70c24cb96761edebc
X-Osstest-Versions-That:
    qemuu=c167c80b463768e04a22fbe37ba6c53a4a08e41e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 09:19:29 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                c26d005e62f4fd177dae0cd70c24cb96761edebc
baseline version:
 qemuu                c167c80b463768e04a22fbe37ba6c53a4a08e41e

Last test of basis   182171  2023-08-03 17:26:55 Z    1 days
Testing same since   182185  2023-08-04 16:19:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Edmondson <david.edmondson@oracle.com>
  Eric Auger <eric.auger@redhat.com>
  Fiona Ebner <f.ebner@proxmox.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Li Feng <fengli@smartx.com>
  Michael S. Tsirkin <mst@redhat.com>
  Milan Zamazal <mzamazal@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Yuri Benditovich <yuri.benditovich@daynix.com>
  zhenwei pi <pizhenwei@bytedance.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   c167c80b46..c26d005e62  c26d005e62f4fd177dae0cd70c24cb96761edebc -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 18:45:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 18:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577602.904553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSMHD-0004ud-PY; Sat, 05 Aug 2023 18:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577602.904553; Sat, 05 Aug 2023 18:45:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSMHD-0004uW-Mi; Sat, 05 Aug 2023 18:45:23 +0000
Received: by outflank-mailman (input) for mailman id 577602;
 Sat, 05 Aug 2023 18:45:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSMHD-0004uM-6W; Sat, 05 Aug 2023 18:45:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSMHC-0006fM-T5; Sat, 05 Aug 2023 18:45:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSMHC-0007OO-B7; Sat, 05 Aug 2023 18:45:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSMHC-0007NO-Ad; Sat, 05 Aug 2023 18:45:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XwBmgd3CALBdO0wankkDhZToSgw+OAqTYP8FO9yQr/Q=; b=18CWLcV9OiD+LCpjnNU6k9JCFK
	YCM+ZIPleWNfnOUybNpeJPdCGByf0QVZbdvmc4z99X38ut70hAKw5opVubE3abhxsb+0FNI01SGs/
	QuOuJ4ayfBlL6Jb77Xdm1QbcAHI+rUbC9EYANkpzxPJH3uVtWW/c1YKY/CaM8rBht8dc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182187-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182187: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4a6448fd6497ad7952cd0baacec1869f6791de9e
X-Osstest-Versions-That:
    xen=51588938e0cd0e02dbc1d6d8c697c577135ff666
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 18:45:22 +0000

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

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

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

version targeted for testing:
 xen                  4a6448fd6497ad7952cd0baacec1869f6791de9e
baseline version:
 xen                  51588938e0cd0e02dbc1d6d8c697c577135ff666

Last test of basis   182128  2023-08-02 18:03:55 Z    3 days
Failing since        182174  2023-08-04 01:17:26 Z    1 days    2 attempts
Testing same since   182187  2023-08-04 22:33:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@gmail.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 4a6448fd6497ad7952cd0baacec1869f6791de9e
Author: Simone Ballarin <simone.ballarin@bugseng.com>
Date:   Tue Aug 1 11:57:04 2023 +0200

    automation/eclair: avoid failure in case of missing merge point
    
    In the context of an auto pull request, when a common merge point
    is not found the integration will continue the analysis without
    failing.
    
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 0d3d7eb82f4d6dca0b07359868ade1b3fc313a13
Author: Simone Ballarin <simone.ballarin@bugseng.com>
Date:   Tue Aug 1 11:57:03 2023 +0200

    automation/eclair: add scheduled pipelines
    
    This patch introduces six new ECLAIR jobs that run only
    when triggered by a GitLab scheduled pipeline.
    
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 5499c75c21a7f5fd2832c0107ab8b5936fc2b466
Author: Simone Ballarin <simone.ballarin@bugseng.com>
Date:   Tue Aug 1 11:57:02 2023 +0200

    automation/eclair: add direct link to reports
    
    This patch adds direct links to the analysis findings in the
    console log.
    
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 4d687adc8c77b5299d9aa5ece3d9bdcc538fdc16
Author: Simone Ballarin <simone.ballarin@bugseng.com>
Date:   Tue Aug 1 11:57:01 2023 +0200

    automation/eclair: add support for tag pipelines
    
    The ECLAIR jobs fail when triggered by tag pipelines (e.g.
    xen-project/patchew/xen).
    
    This patch extends the integration to support such pipelines.
    
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 092cae024ab6cd9bd5788eb6ca3ae1a05e796c0a
Author: Julien Grall <jgrall@amazon.com>
Date:   Wed Aug 2 16:47:05 2023 +0100

    xen/x86: Constify the vCPU parameter for expand_xsave_states()
    
    expand_xsave_states() is not meant to modify the vCPU. So the parameter
    can be const.
    
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 1aa5acbbec3f37bf38d78fa96d210053f8e8efd5
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 3 17:35:39 2023 +0200

    libxl: allow building with old gcc again
    
    We can't use initializers of unnamed struct/union members just yet.
    
    Fixes: d638fe233cb3 ("libxl: use the cpuid feature names from cpufeatureset.h")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4f6afde88be3e8960eb311d16ac41d44ab71ed10
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 3 17:35:26 2023 +0200

    libxl: avoid shadowing of index()
    
    Because of -Wshadow the build otherwise fails with old enough glibc.
    
    While there also obey line length limits for msr_add().
    
    Fixes: 6d21cedbaa34 ("libxl: add support for parsing MSR features")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit dfc490a3740bb7d6889939934afadcb58891fbce
Author: Khem Raj <raj.khem@gmail.com>
Date:   Tue Aug 1 10:49:30 2023 -0700

    arm: Avoid using solaris syntax for .section directive
    
    Assembler from binutils 2.41 will rejects ([1], [2]) the following
    syntax
    
    .section "name", #alloc
    
    for any other any target other than ELF SPARC. This means we can't use
    it in the Arm code.
    
    So switch to the GNU syntax
    
    .section name [, "flags"[, @type]]
    
    [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11601
    [2] https://sourceware.org/binutils/docs-2.41/as.html#Section
    
    Signed-off-by: Khem Raj <raj.khem@gmail.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
    [jgrall: Reword commit message]
    Acked-by: Julien Grall <jgrall@amazon.com>

commit da55d9dc919752e092e591a74ab54c2f7d5adfab
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 2 13:44:30 2023 +0100

    x86/gen-cpuid: Avoid violations of Misra rule 1.3
    
    Add the script to the X86 section in ./MAINTAINERS.
    
    Structures or unions without any named members aren't liked by Misra
    (nor the C standard). Avoid emitting such for leaves without any known
    bits.
    
    The placeholders are affected similarly, but are only visible to MISRA in the
    middle of a patch series adding a new leaf.  The absence of a name was
    intentional as these defines need to not duplicate names.
    
    As that's not deemed acceptable any more, move placeholder processing into the
    main loop and append the the word number to generate unique names.
    
      $ diff cpuid-autogen-{before,after}.h
      @@ -1034,7 +1034,7 @@
           bool intel_psfd:1, ipred_ctrl:1, rrsba_ctrl:1, ddp_ctrl:1,     ...
    
       #define CPUID_BITFIELD_14 \$
      -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
      +    uint32_t _placeholder_14
    
       #define CPUID_BITFIELD_15 \$
           bool :1, :1, :1, :1, avx_vnni_int8:1, avx_ne_convert:1, :1,    ...
      @@ -1043,19 +1043,19 @@
           bool rdcl_no:1, eibrs:1, rsba:1, skip_l1dfl:1, intel_ssb_no:1, ...
    
       #define CPUID_BITFIELD_17 \$
      -    bool :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1, :1,   ...
      +    uint32_t _placeholder_17
    
       #define CPUID_BITFIELD_18 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_18
    
       #define CPUID_BITFIELD_19 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_19
    
       #define CPUID_BITFIELD_20 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_20
    
       #define CPUID_BITFIELD_21 \$
      -    uint32_t :32 /* placeholder */
      +    uint32_t _placeholder_21
    
       #endif /* __XEN_X86__FEATURESET_DATA__ */
    
    No functional change.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 73aea9ada87f804f6b56efda13aead3b950f8657
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Jul 28 20:27:01 2023 +0100

    x86: Delete str()
    
    This is used in an assertion only, which is somewhat dubious to begin with and
    isn't expected to surivive the x86-S work (where TR is expected to become
    become be a NUL selector).
    
    Delete it now.  This avoids many cases where as a global symbol, it shadows
    local string variables.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

commit abe93fc8aafaecabb2ffbad1b29f049ca02ab8cb
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 17 14:10:58 2023 +0000

    x86/entry: Rename the exception entrypoints
    
    This makes the names match the architectural short names that we use
    elsewhere.  This avoids 'debug' in particular from being a global symbol
    shadowed by many local parameter names.
    
    Remove the DECLARE_TRAP_HANDLER{,_CONST}() infrastructure.  Only NMI/#MC are
    referenced externally (and NMI will cease to be soon, as part of adding FRED
    support).  Move the entrypoint declarations into the respective traps.c where
    they're used, rather than keeping them visible across ~all of Xen.
    
    Drop the long-stale comment at the top of init_idt_traps().  It's mostly
    discussing a 32bit Xen, and bogus otherwise as it's impossible to use trap
    gates correctly for these purposes.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

commit 26638cd9efaea4fea3322914efc2611981e001fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 17 23:06:37 2023 +0000

    x86/traps: Move do_general_protection() earlier
    
    ... in order to clean up the declarations without needing to forward declare
    it for handle_gdt_ldt_mapping_fault()
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 18:47:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 18:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577607.904564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSMJV-0005TV-6f; Sat, 05 Aug 2023 18:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577607.904564; Sat, 05 Aug 2023 18:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSMJV-0005TO-46; Sat, 05 Aug 2023 18:47:45 +0000
Received: by outflank-mailman (input) for mailman id 577607;
 Sat, 05 Aug 2023 18:47: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 1qSMJT-0005TC-Hm; Sat, 05 Aug 2023 18:47: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 1qSMJT-0006hn-EN; Sat, 05 Aug 2023 18:47: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 1qSMJS-0007RU-V9; Sat, 05 Aug 2023 18:47:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSMJS-00084w-Ui; Sat, 05 Aug 2023 18:47: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=iqhWvb1AHITQyLRvu/M5lG8fZAV9vx8d+BgPTZBZhAc=; b=F7VQnpXVR77Qar5exJp1DSNhg3
	PeZ4kcNzrzibbk+qaArTlRyGAXr4SFtZpCXvxaltvihd/XuKmTbDElU2Ccb/5lKD/djTkeRR3KrDR
	Xbiy7tPiXslzK3ff3P/iMW/tjzi8EYLTltGOGzPmVfGr+XflkBa3nM+Xg50GCzsTBMns=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182192-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182192: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=3d2f3fb72b4c1d636822606ef8b1df29ae4a2be6
X-Osstest-Versions-That:
    libvirt=3a45a4d78c820c79e664ccfcba0153e5336a5c59
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 05 Aug 2023 18:47:42 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 10 xen-install/src_host fail pass in 182196-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182181
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182181
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182181
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              3d2f3fb72b4c1d636822606ef8b1df29ae4a2be6
baseline version:
 libvirt              3a45a4d78c820c79e664ccfcba0153e5336a5c59

Last test of basis   182181  2023-08-04 12:27:34 Z    1 days
Testing same since   182192  2023-08-05 04:27:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. BerrangĂ© <berrange@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   3a45a4d78c..3d2f3fb72b  3d2f3fb72b4c1d636822606ef8b1df29ae4a2be6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 05 21:03:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 Aug 2023 21:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577625.904583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSOQV-0003G8-SQ; Sat, 05 Aug 2023 21:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577625.904583; Sat, 05 Aug 2023 21:03: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 1qSOQV-0003G1-Pp; Sat, 05 Aug 2023 21:03:07 +0000
Received: by outflank-mailman (input) for mailman id 577625;
 Sat, 05 Aug 2023 21:03:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GHJJ=DW=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qSOQT-0003Fu-MR
 for xen-devel@lists.xenproject.org; Sat, 05 Aug 2023 21:03:05 +0000
Received: from galois.linutronix.de (galois.linutronix.de
 [2a0a:51c0:0:12e:550::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 761ea207-33d3-11ee-8613-37d641c3527e;
 Sat, 05 Aug 2023 23:03:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 761ea207-33d3-11ee-8613-37d641c3527e
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1691269380;
	h=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=gSbKeXLBsgKqGj/TwqTJ9+PojQPLuVRP6JDwmEEGuoE=;
	b=G1L7HlLWpNbkQsJ5hzO4fWWiZ+FtA0lxn/PDsGsygDHKd82Z1Dlrc+/V4zug84FWYwNTBe
	/MysUkkx5IjU9x62KFTC8slW5q048LdNDfzZMBpZeqJSQy/30me7wEOUXlVjdPRelQbtal
	PO6QKSTMLwFh1ZFT3SgL5IaxVVsyZYXcDeEnOPSs4sdPvE0UEVxtoBueWh4tk9uHJSamI+
	i5R7rN+6OmoKEx9+5sfv1irx9EVO+J6UgKEYv/QSZ6F+D6Pqc9F5j/CSbBB3bfKsrm+o38
	IuwmqsyUupUM8g7ufi9tYo9fYSwRTi7bhGAE78K3uoeRUpbdCG8xwWbO1DDugQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1691269380;
	h=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=gSbKeXLBsgKqGj/TwqTJ9+PojQPLuVRP6JDwmEEGuoE=;
	b=tJDGqJG9ZGL0jQfrmZogiEnjYq0oxLwLymgfLwSzBNsVGW5UDfDiT9E9gA4oG6BZEn37Qr
	KJ2/cN0ZZLuWxOCA==
To: Peter Zijlstra <peterz@infradead.org>, "Li, Xin3" <xin3.li@intel.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Lutomirski, Andy" <luto@kernel.org>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "x86@kernel.org" <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
 "Gross, Jurgen" <jgross@suse.com>, "Ostrovsky, Boris"
 <boris.ostrovsky@oracle.com>
Subject: Re: [RFC PATCH 1/1] x86/traps: Get rid of exception handlers'
 second argument error code
In-Reply-To: <20230804190120.GP212435@hirez.programming.kicks-ass.net>
References: <20230804075734.8372-1-xin3.li@intel.com>
 <20230804101321.GH214207@hirez.programming.kicks-ass.net>
 <SA1PR11MB67349385C20E8D3B0C960432A809A@SA1PR11MB6734.namprd11.prod.outlook.com>
 <20230804190120.GP212435@hirez.programming.kicks-ass.net>
Date: Sat, 05 Aug 2023 23:02:59 +0200
Message-ID: <87o7jlmccc.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

On Fri, Aug 04 2023 at 21:01, Peter Zijlstra wrote:
> On Fri, Aug 04, 2023 at 05:35:11PM +0000, Li, Xin3 wrote:
>> > > The commit d99015b1abbad ("x86: move entry_64.S register saving out of
>> > > the macros") introduced the changes to set orig_ax to -1, but I can't
>> > > see why it's required. Our tests on x86_64 and x86_32 seem fine if
>> > > orig_ax is left unchanged instead of set to -1.
>> > 
>> > That means that SYSCALL_NUM(regs) get to be garbage; or something like that.
>> 
>> I find SYSCALL_NUM(regs) in tools/testing/selftests/seccomp/seccomp_bpf.c,
>> but nothing obvious to me.
>> 
>> I think it's clear that once exceptions and IRQs are handled, the original
>> context will be fully recovered in a normal case.
>> 
>> Is it related to preemption after such a event?
>> 
>> I must have missed something; can you please elaborate it?
>
> arch/x86/include/asm/syscall.h
>
> syscall_get_nr() syscall_rollback()

Specifically it breaks signal handling. See arch_do_signal_or_restart()
and handle_signal().

So, no. This cannot be changed nilly willy especially not because
orig_ax is part of the UABI.

Even if it would work, this patch is completely unreviewable. There are
smarter ways to make such a change in digestable chunks.

I also looked at the latest FRED series and that's broken vs. orig_ax in
the same way.

Aside of it the series is not applying to any tree I'm aware of. It
fails because its based on a tree which has IRQ_MOVE_CLEANUP_VECTOR
removed, but that's nowhere in mainline or tip. This is not the way it
works, really.

Back to the problem at hand. I'm absolutely not understanding why this
all is so complicated.

FRED pushs the error code or 0 (in case there is no error code) right
into orig_ax. That's where the ERET[US] frame starts. ERT[US] do not
care at all about the error code location, they skip it by adding 8 to
RSP.

So the obvious thing to do is:

fred_entry_from_xxxx(struct pt_regs *regs)
{
        unsigned long error_code = regs->orig_ax;

        regs->orig_ax = -1;

        dispatch_1st_level(regs->type, regs, error_code);
}

Now the dispatching code in your series looks nice and shiny with all
those tables, but in practice it's not so shiny at all.

For one this code forces indirect calls even in places where there are
no indirect calls required.

But what's worse it causes you to make everything uniform one way or the
other and adding all this dispatch_table_##func muck, which is fully
duplicated code for absolutely zero reason. That's error prone and a
maintainence mess.

The vast majority of exceptions, interrupts whatever is not special at
all neither on FRED nor on IDT. The ones which need special treatment
are those which store additional information in the stack frame and
these are the exception - not the rule. And those require special
treatment anyway whether you make the rest look uniform or not.

IOW, your approach of making everything uniform is completely
wrong. There is a reason why some system vectors are not using
DEFINE_IDTENTRY_SYSVEC().  Particularly the RESCHEDULE_VECTOR. This has
been performance optimized with a lot of effort and no, we are not going
to sacrifice that just because it makes it sooo simple for FRED.

This is not about simplicity. This is about sane and maintainable code
which preserves the carefully optimized code paths which are hotpath no
matter whether there is IDT or FRED.

I'm going to reply on your last failed resend attempt after creating a
sane mail thread out of the mess you created (including the insanely
large and inappropriate cc list).

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 00:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 00:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577647.904597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSRsh-0000W2-T6; Sun, 06 Aug 2023 00:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577647.904597; Sun, 06 Aug 2023 00:44:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSRsh-0000Vv-O0; Sun, 06 Aug 2023 00:44:27 +0000
Received: by outflank-mailman (input) for mailman id 577647;
 Sun, 06 Aug 2023 00:44: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 1qSRsg-0000Vl-Q6; Sun, 06 Aug 2023 00:44: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 1qSRsg-00075M-Kv; Sun, 06 Aug 2023 00:44: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 1qSRsg-0007pW-88; Sun, 06 Aug 2023 00:44:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSRsg-0006iu-7c; Sun, 06 Aug 2023 00:44: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=bN0HCJU7IrvRLL92njW0apXSO68lc4GxCgnuiu9kdZQ=; b=kvQum3tBmc7WGefA6wLO4AC8B8
	4w9Db4P/iC3PHLuL062yicTU0XLpD2p0psYy566zy0/7iOBvuPWXZvUG3qBtYVB320Io1kBiU94Pt
	/855XAlB1MNBZwiP/0MNMf2wjdCO4PWESau/havELTGL8cKaQOIU3G6q9ChOA0uEdi0M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182193-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182193: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=024ff300db33968c133435a146d51ac22db27374
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 00:44:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 182200-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 182200-retest

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

version targeted for testing:
 linux                024ff300db33968c133435a146d51ac22db27374
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  111 days
Failing since        180281  2023-04-17 06:24:36 Z  110 days  200 attempts
Testing same since   182193  2023-08-05 05:46:14 Z    0 days    1 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 01:36:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 01:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577657.904605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSSh1-0007z8-GC; Sun, 06 Aug 2023 01:36:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577657.904605; Sun, 06 Aug 2023 01:36:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSSh1-0007z1-DT; Sun, 06 Aug 2023 01:36:27 +0000
Received: by outflank-mailman (input) for mailman id 577657;
 Sun, 06 Aug 2023 01:36: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 1qSSgz-0007yr-ME; Sun, 06 Aug 2023 01:36: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 1qSSgz-0001tI-EB; Sun, 06 Aug 2023 01:36:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSSgy-0001Nx-SY; Sun, 06 Aug 2023 01:36:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSSgy-0006Ud-S9; Sun, 06 Aug 2023 01:36: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=L8bVfV2OjCA5AiDztMAFAGnk1l2HrlL2s5obEPB6AQI=; b=0HjUsPQdxdHGNgxawTOXWQU2AJ
	lgjmAkLEKsTuFrSmYXcqDYokwnYZX9bDu+yJJuGxs8eyg5Z+OPgyKFKtijbwuMJzOT3Sg5WJqy7M6
	b1pQAjRQHbG24tkIebsFlFq10xZp0Q/UdQPPumkwfW+Mizgp/Go/2Z1c+LwHXoGORtV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182194-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182194: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=71934cf6bf878f82dac3fceb7d06d293ec3f6f8f
X-Osstest-Versions-That:
    qemuu=c26d005e62f4fd177dae0cd70c24cb96761edebc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 01:36:24 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                71934cf6bf878f82dac3fceb7d06d293ec3f6f8f
baseline version:
 qemuu                c26d005e62f4fd177dae0cd70c24cb96761edebc

Last test of basis   182185  2023-08-04 16:19:48 Z    1 days
Testing same since   182194  2023-08-05 09:23:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Nicholas Piggin <npiggin@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   c26d005e62..71934cf6bf  71934cf6bf878f82dac3fceb7d06d293ec3f6f8f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 08:07:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 08:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577671.904616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSYmh-0005zL-JY; Sun, 06 Aug 2023 08:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577671.904616; Sun, 06 Aug 2023 08:06:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSYmh-0005zE-FA; Sun, 06 Aug 2023 08:06:43 +0000
Received: by outflank-mailman (input) for mailman id 577671;
 Sun, 06 Aug 2023 08:06:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSYmf-0005z4-Sr; Sun, 06 Aug 2023 08:06:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSYmf-00040d-KQ; Sun, 06 Aug 2023 08:06: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 1qSYmf-0002Lm-32; Sun, 06 Aug 2023 08:06:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSYmf-0006mJ-2L; Sun, 06 Aug 2023 08:06:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YAbI8yu2jVSROZ1F+noceCfFz/prZGiLOjRmQC0+T+Q=; b=WjrLn61Oe2Ge2j9Be5V4HPT/Ps
	ergsLBSkQFg69/2oudqNvCYYm1BiWTVr4AYOOy2DusXnm3QHxC/tx6FEW0s0YMEe/x0zCmeWG0g8Y
	6TdfjfU0vdk87BdO+4O31ldLvnpkzvI1O4KM/dTVYXmhIYZZ+Y2qHY7gZw21E5EEIB88=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182197-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182197: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e55146071de9257d70bd157047700071d0007622
X-Osstest-Versions-That:
    xen=51588938e0cd0e02dbc1d6d8c697c577135ff666
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 08:06:41 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  e55146071de9257d70bd157047700071d0007622
baseline version:
 xen                  51588938e0cd0e02dbc1d6d8c697c577135ff666

Last test of basis   182128  2023-08-02 18:03:55 Z    3 days
Failing since        182174  2023-08-04 01:17:26 Z    2 days    3 attempts
Testing same since   182197  2023-08-05 18:49:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Khem Raj <raj.khem@gmail.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   51588938e0..e55146071d  e55146071de9257d70bd157047700071d0007622 -> master


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 14:12:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 14:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577698.904679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSeUT-0001wd-2O; Sun, 06 Aug 2023 14:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577698.904679; Sun, 06 Aug 2023 14:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSeUS-0001wW-Tv; Sun, 06 Aug 2023 14:12:16 +0000
Received: by outflank-mailman (input) for mailman id 577698;
 Sun, 06 Aug 2023 14:12:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BGOH=DX=foxmail.com=zhang_shurong@srs-se1.protection.inumbo.net>)
 id 1qSeUQ-0001wF-OX
 for xen-devel@lists.xenproject.org; Sun, 06 Aug 2023 14:12:15 +0000
Received: from out203-205-251-36.mail.qq.com (out203-205-251-36.mail.qq.com
 [203.205.251.36]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38244dc3-3463-11ee-b27b-6b7b168915f2;
 Sun, 06 Aug 2023 16:12:08 +0200 (CEST)
Received: from localhost.localdomain ([220.243.131.5])
 by newxmesmtplogicsvrszb6-0.qq.com (NewEsmtp) with SMTP
 id 2EBA0A76; Sun, 06 Aug 2023 22:11:43 +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: 38244dc3-3463-11ee-b27b-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com;
	s=s201512; t=1691331106;
	bh=km0RHk7GmUg0c0pMnKkJEFCFmmqVKFM2uZzWPDD58UM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References;
	b=r1uoeu8OFUIirpjYtibP0RoDY//Wc4ran7LRz1TIxdsFQ+w4QRVXtDjX5yPVAgBPT
	 05T4B+L9rx0tuY542RUcTMnP+mgZuS7yKdBj0It4YHYILvDC5w2gX9Ux17bfwRenv6
	 +ennMMlpxj7NiQ231ZLStYMMDGS7pnksmX50+mO4=
X-QQ-mid: xmsmtpt1691331103t1e48yjzc
Message-ID: <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>
X-QQ-XMAILINFO: M7dxyDFn9MPmJaJLhUnyC7r5FWNexqHHySU8S2U4Z7TPYOtNOAKnKcJ9dqZOwd
	 lgAnZ2tVgPLE7IZeQYWLsjZgw6vdLOGkWm/5COii/VEHBMEhlToKLGIvKiVz9qzykkavo+DlZsqf
	 0guPTcuiezm0skj2HvDkrOWVSCUbsIAdwo29bBeRdhxDaqpmRzJLYk3KGvvi4p2dVhQo0O+SrYtM
	 GGFd1z8X/XFkGQ8fcEzy6mztNnzuHY/YA/ylJJOPgikPvkNZduk526PT007LaFUcvxlnu22ruHxn
	 s7DOScOEumy/OILPnLg8G/BXADN/CzrGtbDIASJzRx72jYi3LAcdtPHNVQwLhf15nYH1peB3lqzR
	 2GbNn7yGXt52iSOu9gPqmdMvclk2j8tqGR3PtKWUEnlD86b+KYqWWG9ADWkMsbniRKdf2eHrhIFV
	 zoaT4lk5/tnVDH2HVkyYN2FlXE87zsjqxp5tdRFyiAwydw1+msoK8dK9o1UzhjAY7eUumByYP6/W
	 rwl8KSUiDg3gft8ovg1ngKEh2+ZvO3nJgwBU/K1PULjXkWM9pFVYIVFILLNmwFGh04/Kcy7k7TSt
	 mI/Eceh8Uuf16c8xpcnNKD4zzJuSQJBZ4DAe97OeL1i9bjJAwbVC+YI7S5Z/8u0yePYlQRXoKbu4
	 d+tyAA8XcpS5/HNsylZdjSb5OXuyLfp9r986nkqbN1Fn4Y9wuCPcJMsqAZaMoBegotNCI2jPL62U
	 hzHqpLV19IUU/nCdPopPCxpGW0/gtN1VFiBeSoOySsLCEJZiIFogDAFPbAQNpz4rc8gWfBtZJXwd
	 tlaH3tpWZywC3qFWT4irI7DwFR1AJCDfZ/6JiQ8qkV9k4qKLHanjh9ARH/G3ukHRtZyoa9gU8HkX
	 r4TCLL53xLqYyNKG/pk42+1GxTa2Rseh7xgVv/1ZQRjpyW3lurm/7lfqy+VWWUyAZisHhvcl2J9g
	 gZH/5whqS/chq8ZRf+vUBKPTlpZfJs553a43LFOa4=
X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU=
From: Zhang Shurong <zhang_shurong@foxmail.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: jgross@suse.com, xen-devel@lists.xenproject.org,
 linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject:
 Re: [PATCH] xen: fix potential shift out-of-bounds in xenhcd_hub_control()
Date: Sun, 06 Aug 2023 22:11:43 +0800
X-OQ-MSGID: <5974189.lOV4Wx5bFT@localhost.localdomain>
In-Reply-To: <4825193.GXAFRqVoOG@localhost.localdomain>
References:
 <tencent_15DD79B42AD8A0D64A7CDC24D4FE6C85800A@qq.com>
 <2023062628-shame-ebook-56f2@gregkh>
 <4825193.GXAFRqVoOG@localhost.localdomain>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"

=E5=9C=A8 2023=E5=B9=B47=E6=9C=881=E6=97=A5=E6=98=9F=E6=9C=9F=E5=85=AD CST =
=E4=B8=8B=E5=8D=8811:51:43=EF=BC=8CZhang Shurong =E5=86=99=E9=81=93=EF=BC=9A
> =E5=9C=A8 2023=E5=B9=B46=E6=9C=8826=E6=97=A5=E6=98=9F=E6=9C=9F=E4=B8=80 C=
ST =E4=B8=8B=E5=8D=881:52:02=EF=BC=8C=E6=82=A8=E5=86=99=E9=81=93=EF=BC=9A
>=20
> > On Mon, Jun 26, 2023 at 07:48:05AM +0200, Jan Beulich wrote:
> > > On 25.06.2023 18:42, Zhang Shurong wrote:
> > > > --- a/drivers/usb/host/xen-hcd.c
> > > > +++ b/drivers/usb/host/xen-hcd.c
> > > > @@ -456,6 +456,8 @@ static int xenhcd_hub_control(struct usb_hcd *h=
cd,
> > > > __u16 typeReq, __u16 wValue,> >
> > > >=20
> > > >  			info->ports[wIndex - 1].c_connection =3D
>=20
> false;
>=20
> > > >  			fallthrough;
> > > >  	=09
> > > >  		default:
> > > > +			if (wValue >=3D 32)
> > > > +				goto error;
> > > >=20
> > > >  			info->ports[wIndex - 1].status &=3D ~(1
>=20
> << wValue);
>=20
> > > Even 31 is out of bounds (as in: UB) as long as it's 1 here rather
> > > than 1u.
> >=20
> > Why isn't the caller fixed so this type of value could never be passed
> > to the hub_control callback?
> >=20
> > thanks,
> >=20
> > greg k-h
>=20
> Although I'm not knowledgeable about the USB subsystem, I've observed that
> not all driver code that implements hub_control callback performs a shift
> operation on wValue, and not all shift operations among them cause
> problems. Therefore, I've decided to fix this issue within each driver
> itself.
>=20
> For example, in r8a66597_hub_control, it will first check whether wValue =
is
> valid (always < 31) before the shift operation. In case of an invalid
> number, the code would execute the error branch instead of the shift
> operation.
>=20
> switch (wValue) {
> case USB_PORT_FEAT_ENABLE:
> 	rh->port &=3D ~USB_PORT_STAT_POWER;
> 	break;
> case USB_PORT_FEAT_SUSPEND:
> 	break;
> case USB_PORT_FEAT_POWER:
> 	r8a66597_port_power(r8a66597, port, 0);
> 	break;
> case USB_PORT_FEAT_C_ENABLE:
> case USB_PORT_FEAT_C_SUSPEND:
> case USB_PORT_FEAT_C_CONNECTION:
> case USB_PORT_FEAT_C_OVER_CURRENT:
> case USB_PORT_FEAT_C_RESET:
> 	break;
> default:
> 	goto error;
> }
> rh->port &=3D ~(1 << wValue);

Hi there. I apologize for reaching out once more. I'm feeling a bit puzzled=
=20
about what my next step should be. I'm unsure whether I should rewrite this=
=20
patch or attempt to address the issue at the caller level.




From xen-devel-bounces@lists.xenproject.org Sun Aug 06 14:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 14:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577704.904687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSejI-0003mV-95; Sun, 06 Aug 2023 14:27:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577704.904687; Sun, 06 Aug 2023 14:27: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 1qSejI-0003mO-6I; Sun, 06 Aug 2023 14:27:36 +0000
Received: by outflank-mailman (input) for mailman id 577704;
 Sun, 06 Aug 2023 14:27:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kPMc=DX=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1qSejG-0003mI-TJ
 for xen-devel@lists.xenproject.org; Sun, 06 Aug 2023 14:27:34 +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 60b89fba-3465-11ee-8613-37d641c3527e;
 Sun, 06 Aug 2023 16:27:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9C9DA6117D;
 Sun,  6 Aug 2023 14:27:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD045C433C8;
 Sun,  6 Aug 2023 14:27: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: 60b89fba-3465-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1691332050;
	bh=k7Wz5My+7y3gVES1fFNpSuU/X31s8HmopFxP7aidXy4=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=hOhrseXDh8smzJLqzn5JMnrQ1JlOrcR/7m0rx32YCV/jfEvBxLxJLP26t1eKCCm3R
	 ap5kt7nu01tatM0i4du1IW4yIO5zzSbWCbw/P3AeRJFfoWY6xllJF11Oww2hvBdgX4
	 MpqQ8p53clg9JYy89ix1047wMe9DLCjm4wX+hQWs=
Date: Sun, 6 Aug 2023 16:27:27 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Zhang Shurong <zhang_shurong@foxmail.com>
Cc: jgross@suse.com, xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] xen: fix potential shift out-of-bounds in
 xenhcd_hub_control()
Message-ID: <2023080659-turban-exemption-1196@gregkh>
References: <tencent_15DD79B42AD8A0D64A7CDC24D4FE6C85800A@qq.com>
 <2023062628-shame-ebook-56f2@gregkh>
 <4825193.GXAFRqVoOG@localhost.localdomain>
 <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>

On Sun, Aug 06, 2023 at 10:11:43PM +0800, Zhang Shurong wrote:
> åœ¨ 2023å¹´7æœˆ1æ—¥æ˜ŸæœŸå…­ CST ä¸‹åˆ11:51:43ï¼ŒZhang Shurong å†™é“ï¼
> > åœ¨ 2023å¹´6æœˆ26æ—¥æ˜ŸæœŸä¸€ CST ä¸‹åˆ1:52:02ï¼Œæ‚¨å†™é“ï¼
> > 
> > > On Mon, Jun 26, 2023 at 07:48:05AM +0200, Jan Beulich wrote:
> > > > On 25.06.2023 18:42, Zhang Shurong wrote:
> > > > > --- a/drivers/usb/host/xen-hcd.c
> > > > > +++ b/drivers/usb/host/xen-hcd.c
> > > > > @@ -456,6 +456,8 @@ static int xenhcd_hub_control(struct usb_hcd *hcd,
> > > > > __u16 typeReq, __u16 wValue,> >
> > > > > 
> > > > >  			info->ports[wIndex - 1].c_connection =
> > 
> > false;
> > 
> > > > >  			fallthrough;
> > > > >  		
> > > > >  		default:
> > > > > +			if (wValue >= 32)
> > > > > +				goto error;
> > > > > 
> > > > >  			info->ports[wIndex - 1].status &= ~(1
> > 
> > << wValue);
> > 
> > > > Even 31 is out of bounds (as in: UB) as long as it's 1 here rather
> > > > than 1u.
> > > 
> > > Why isn't the caller fixed so this type of value could never be passed
> > > to the hub_control callback?
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > 
> > Although I'm not knowledgeable about the USB subsystem, I've observed that
> > not all driver code that implements hub_control callback performs a shift
> > operation on wValue, and not all shift operations among them cause
> > problems. Therefore, I've decided to fix this issue within each driver
> > itself.
> > 
> > For example, in r8a66597_hub_control, it will first check whether wValue is
> > valid (always < 31) before the shift operation. In case of an invalid
> > number, the code would execute the error branch instead of the shift
> > operation.
> > 
> > switch (wValue) {
> > case USB_PORT_FEAT_ENABLE:
> > 	rh->port &= ~USB_PORT_STAT_POWER;
> > 	break;
> > case USB_PORT_FEAT_SUSPEND:
> > 	break;
> > case USB_PORT_FEAT_POWER:
> > 	r8a66597_port_power(r8a66597, port, 0);
> > 	break;
> > case USB_PORT_FEAT_C_ENABLE:
> > case USB_PORT_FEAT_C_SUSPEND:
> > case USB_PORT_FEAT_C_CONNECTION:
> > case USB_PORT_FEAT_C_OVER_CURRENT:
> > case USB_PORT_FEAT_C_RESET:
> > 	break;
> > default:
> > 	goto error;
> > }
> > rh->port &= ~(1 << wValue);
> 
> Hi there. I apologize for reaching out once more. I'm feeling a bit puzzled 
> about what my next step should be. I'm unsure whether I should rewrite this 
> patch or attempt to address the issue at the caller level.

Try addressing it at the caller level first please.  If that somehow
does not work, then we will take a patch series that fixes all of the
host controller drivers at once.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 15:16:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 15:16:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577710.904699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSfU9-0000ms-SC; Sun, 06 Aug 2023 15:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577710.904699; Sun, 06 Aug 2023 15: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 1qSfU9-0000ml-Ne; Sun, 06 Aug 2023 15:16:01 +0000
Received: by outflank-mailman (input) for mailman id 577710;
 Sun, 06 Aug 2023 15:16: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=/He2=DX=netrider.rowland.org=stern+64c0f95a@srs-se1.protection.inumbo.net>)
 id 1qSfU8-0000mf-Pn
 for xen-devel@lists.xenproject.org; Sun, 06 Aug 2023 15:16:00 +0000
Received: from netrider.rowland.org (netrider.rowland.org [192.131.102.5])
 by se1-gles-flk1.inumbo.com (Halon) with SMTP
 id 226247e7-346c-11ee-8613-37d641c3527e;
 Sun, 06 Aug 2023 17:15:54 +0200 (CEST)
Received: (qmail 96132 invoked by uid 1000); 6 Aug 2023 11:15:51 -0400
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 226247e7-346c-11ee-8613-37d641c3527e
Date: Sun, 6 Aug 2023 11:15:51 -0400
From: Alan Stern <stern@rowland.harvard.edu>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Zhang Shurong <zhang_shurong@foxmail.com>, jgross@suse.com,
  xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org,
  linux-kernel@vger.kernel.org
Subject: Re: [PATCH] xen: fix potential shift out-of-bounds in
 xenhcd_hub_control()
Message-ID: <3481a644-1648-4fa9-86eb-2a0b86b8f47a@rowland.harvard.edu>
References: <tencent_15DD79B42AD8A0D64A7CDC24D4FE6C85800A@qq.com>
 <2023062628-shame-ebook-56f2@gregkh>
 <4825193.GXAFRqVoOG@localhost.localdomain>
 <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>
 <2023080659-turban-exemption-1196@gregkh>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2023080659-turban-exemption-1196@gregkh>

On Sun, Aug 06, 2023 at 04:27:27PM +0200, Greg KH wrote:
> On Sun, Aug 06, 2023 at 10:11:43PM +0800, Zhang Shurong wrote:
> > åœ¨ 2023å¹´7æœˆ1æ—¥æ˜ŸæœŸå…­ CST ä¸‹åˆ11:51:43ï¼ŒZhang Shurong å†™é“ï¼
> > > åœ¨ 2023å¹´6æœˆ26æ—¥æ˜ŸæœŸä¸€ CST ä¸‹åˆ1:52:02ï¼Œæ‚¨å†™é“ï¼
> > > 
> > > > On Mon, Jun 26, 2023 at 07:48:05AM +0200, Jan Beulich wrote:
> > > > > On 25.06.2023 18:42, Zhang Shurong wrote:
> > > > > > --- a/drivers/usb/host/xen-hcd.c
> > > > > > +++ b/drivers/usb/host/xen-hcd.c
> > > > > > @@ -456,6 +456,8 @@ static int xenhcd_hub_control(struct usb_hcd *hcd,
> > > > > > __u16 typeReq, __u16 wValue,> >
> > > > > > 
> > > > > >  			info->ports[wIndex - 1].c_connection =
> > > 
> > > false;
> > > 
> > > > > >  			fallthrough;
> > > > > >  		
> > > > > >  		default:
> > > > > > +			if (wValue >= 32)
> > > > > > +				goto error;
> > > > > > 
> > > > > >  			info->ports[wIndex - 1].status &= ~(1
> > > 
> > > << wValue);
> > > 
> > > > > Even 31 is out of bounds (as in: UB) as long as it's 1 here rather
> > > > > than 1u.
> > > > 
> > > > Why isn't the caller fixed so this type of value could never be passed
> > > > to the hub_control callback?
> > > > 
> > > > thanks,
> > > > 
> > > > greg k-h
> > > 
> > > Although I'm not knowledgeable about the USB subsystem, I've observed that
> > > not all driver code that implements hub_control callback performs a shift
> > > operation on wValue, and not all shift operations among them cause
> > > problems. Therefore, I've decided to fix this issue within each driver
> > > itself.
> > > 
> > > For example, in r8a66597_hub_control, it will first check whether wValue is
> > > valid (always < 31) before the shift operation. In case of an invalid
> > > number, the code would execute the error branch instead of the shift
> > > operation.
> > > 
> > > switch (wValue) {
> > > case USB_PORT_FEAT_ENABLE:
> > > 	rh->port &= ~USB_PORT_STAT_POWER;
> > > 	break;
> > > case USB_PORT_FEAT_SUSPEND:
> > > 	break;
> > > case USB_PORT_FEAT_POWER:
> > > 	r8a66597_port_power(r8a66597, port, 0);
> > > 	break;
> > > case USB_PORT_FEAT_C_ENABLE:
> > > case USB_PORT_FEAT_C_SUSPEND:
> > > case USB_PORT_FEAT_C_CONNECTION:
> > > case USB_PORT_FEAT_C_OVER_CURRENT:
> > > case USB_PORT_FEAT_C_RESET:
> > > 	break;
> > > default:
> > > 	goto error;
> > > }
> > > rh->port &= ~(1 << wValue);
> > 
> > Hi there. I apologize for reaching out once more. I'm feeling a bit puzzled 
> > about what my next step should be. I'm unsure whether I should rewrite this 
> > patch or attempt to address the issue at the caller level.
> 
> Try addressing it at the caller level first please.  If that somehow
> does not work, then we will take a patch series that fixes all of the
> host controller drivers at once.

It's not feasible to fix all the callers, because the calls can come 
from userspace via usbfs.

Alan Stern


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 15:22:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 15:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577716.904708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSfan-0002GL-HW; Sun, 06 Aug 2023 15:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577716.904708; Sun, 06 Aug 2023 15: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 1qSfan-0002GE-Ee; Sun, 06 Aug 2023 15:22:53 +0000
Received: by outflank-mailman (input) for mailman id 577716;
 Sun, 06 Aug 2023 15: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 1qSfal-0002G4-Ta; Sun, 06 Aug 2023 15: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 1qSfal-0005jC-OI; Sun, 06 Aug 2023 15: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 1qSfal-00033u-3N; Sun, 06 Aug 2023 15:22:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSfal-00040z-2n; Sun, 06 Aug 2023 15:22:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I7ySZD7Gq2T6NT6GOTQUHiVagUA5XG3mOihuutJBuPI=; b=xI7gAFVzCnBA1YYLF/bkBXPq2N
	PJJUHkUrkhy7nJYkHUgAKR1SVa05E9P14SUc+XSMHshSH7vliIrKB1NrNw+2XeWmr8gcYRCqDMIJI
	wUxXIMElwAdsxxAwPvLDgcroJtfx+m6lYvDZr/drLgFsXyX6nEjhupniCJrJZ5l9g2Xo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182201-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182201: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f6a691685962637e53371788fe2a72b171aedc68
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 15:22:51 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

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

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

version targeted for testing:
 linux                f6a691685962637e53371788fe2a72b171aedc68
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  111 days
Failing since        180281  2023-04-17 06:24:36 Z  111 days  201 attempts
Testing same since   182201  2023-08-06 01:13:03 Z    0 days    1 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 17:26:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 17:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577724.904718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qShWZ-0007XL-Gh; Sun, 06 Aug 2023 17:26:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577724.904718; Sun, 06 Aug 2023 17:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qShWZ-0007XD-AE; Sun, 06 Aug 2023 17:26:39 +0000
Received: by outflank-mailman (input) for mailman id 577724;
 Sun, 06 Aug 2023 17:26: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 1qShWY-0007X3-G6; Sun, 06 Aug 2023 17:26: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 1qShWY-0000Zt-5t; Sun, 06 Aug 2023 17:26: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 1qShWX-0007zm-Nr; Sun, 06 Aug 2023 17:26:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qShWX-0003ta-NR; Sun, 06 Aug 2023 17:26:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NILFMc8orFLeILnOzhcCXAv2DwKcxZmJWaOwBodFmzw=; b=3M15HAO/VBO5H+OFscoIDVGmCV
	N0ntkU/VkgpmJHqHSUiL7aK9jxzi+ZFWuZy5zPlYIpDc+bePSoj800hY1FDoeuNzRnLfbgyd15hih
	df4H/1b1B8ICUCYXzCtRWeg6Ei3wXEgXCbGf6DV1BcrFQuj3bMfLwgZG9CmW8Q/A5e28=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182202-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182202: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=6db03ccc7f4ca33c99debaac290066f4500a2dfb
X-Osstest-Versions-That:
    qemuu=71934cf6bf878f82dac3fceb7d06d293ec3f6f8f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 17:26:37 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                6db03ccc7f4ca33c99debaac290066f4500a2dfb
baseline version:
 qemuu                71934cf6bf878f82dac3fceb7d06d293ec3f6f8f

Last test of basis   182194  2023-08-05 09:23:27 Z    1 days
Testing same since   182202  2023-08-06 01:59:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Matt Borgerson <contact@mborgerson.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   71934cf6bf..6db03ccc7f  6db03ccc7f4ca33c99debaac290066f4500a2dfb -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Aug 06 18:56:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 Aug 2023 18:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577731.904728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSivD-0000DD-QQ; Sun, 06 Aug 2023 18:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577731.904728; Sun, 06 Aug 2023 18:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSivD-0000D6-NP; Sun, 06 Aug 2023 18:56:11 +0000
Received: by outflank-mailman (input) for mailman id 577731;
 Sun, 06 Aug 2023 18:56: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 1qSivB-0000Cw-U6; Sun, 06 Aug 2023 18:56: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 1qSivB-0002ac-Eg; Sun, 06 Aug 2023 18:56: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 1qSivA-0002wT-VC; Sun, 06 Aug 2023 18:56:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSivA-0001sF-Ui; Sun, 06 Aug 2023 18:56: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=+s1m4Ai0MiPlY4ctem8GLCabzD50QYZBWhPrY66ASDY=; b=lYsbgzZBiy3mrETiRDtdLji7X/
	3nSWQQBpoFYxxTl3Omt2ODSDsvX8o2TDssVTjtGzF1wU9zWEe4kkKi269nBhtPNvH0BhLm5xjtOJ+
	mY0R6NvY2Sb19vnRbAJ3NlKoVFoubvpynaAUMoOf/pElRWh9kXPRGQY0sN4f3r3fPSKQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182203-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182203: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-arm64:xen-build:fail:regression
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e55146071de9257d70bd157047700071d0007622
X-Osstest-Versions-That:
    xen=e55146071de9257d70bd157047700071d0007622
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 06 Aug 2023 18:56:08 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 182197

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

version targeted for testing:
 xen                  e55146071de9257d70bd157047700071d0007622
baseline version:
 xen                  e55146071de9257d70bd157047700071d0007622

Last test of basis   182203  2023-08-06 08:11:01 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 01:10:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 01:10:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577745.904741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSolW-0007ro-Nt; Mon, 07 Aug 2023 01:10:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577745.904741; Mon, 07 Aug 2023 01:10:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSolW-0007rh-Ka; Mon, 07 Aug 2023 01:10:34 +0000
Received: by outflank-mailman (input) for mailman id 577745;
 Mon, 07 Aug 2023 01:10:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSolV-0007rX-Ct; Mon, 07 Aug 2023 01:10:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qSolU-000594-Ta; Mon, 07 Aug 2023 01: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 1qSolU-0003Ps-EX; Mon, 07 Aug 2023 01:10:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSolU-0000A4-E9; Mon, 07 Aug 2023 01: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=om0k0CVJgzkweGfo5G3Io5sy60FIrlRrUZ0IsyAvKvI=; b=xEizFjAs+vWQ0qNAzp/2nOKv2z
	hRkzB/4wvliymzDUle9gRYfmRNe29dtbk3kj7mjtwsZE3VplJUY7dg7H0DEHZTSZ8qbdiJIvJtmCF
	z80pv8Z03Ks/c2GsugKCuBLHs77Cey/EPaVtOnBvS8odMZDN57IS7a3Q38P87Hgmlt9w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182205-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182205: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f0ab9f34e59e0c01a1c31142e0b336245367fd86
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 01:10:32 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail pass in 182207-retest
 test-amd64-amd64-xl-qemut-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 182207-retest

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

version targeted for testing:
 linux                f0ab9f34e59e0c01a1c31142e0b336245367fd86
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  112 days
Failing since        180281  2023-04-17 06:24:36 Z  111 days  202 attempts
Testing same since   182205  2023-08-06 15:25:42 Z    0 days    1 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 01:25:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 01:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577752.904751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSozr-00010y-0J; Mon, 07 Aug 2023 01:25:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577752.904751; Mon, 07 Aug 2023 01: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 1qSozq-00010r-TT; Mon, 07 Aug 2023 01:25:22 +0000
Received: by outflank-mailman (input) for mailman id 577752;
 Mon, 07 Aug 2023 01:25:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BJNd=DY=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qSozo-00010l-R9
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 01:25:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43f85dae-34c1-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 03:25:17 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9250.eurprd08.prod.outlook.com (2603:10a6:10:419::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 01:24:47 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 01:24:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43f85dae-34c1-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZKvyOC58XQDs0LTpWiivs7BI1mHoW6Y8mt8Mm4KVTHrYh7tQabMk2aUyrND2A3LkAyxcOtoF2kyBy5+epbsq54Z5fuS6V2m0fQ3yxtlJ+OPRSXYJiSaBEiTz8Hr6C3cd3TsxAxf21m9obRTjPwLGgIPTUz5znQErSJwlQW5tuTHs3Qm3HR8UM5yquDKj+8UIjZwhJe8c/Ke42todkDWRncVxnNbx6+EUFbKB2GbQgTAxuVLWAyFCa9bKjrzh078hplH/eBqh9nI9b2xM9I91tGokvDQwhBVuvVxDJpJi2GPG/Cd46tubNusgvDXLb44DrbborcifgGQcFxI9zR6aXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kGr4/CenZPJh4RmpNvj50HIldEWy/K/CGryRf+NrvgA=;
 b=WbLKefqSO/Oe1S1OCs0cbONs6j0ZOLGCk2F42ELWk85WuaVNuDGIZY6MUlVdhCJjUhT0zkuXZz0qnHOZ9j8vcBljCfYFHPlPwvTTpdqCcaWjp0f0mT9OiVbm/W++8g61gBLr7leOpY5ebkduSRrbYz/ZH8g/0GnEvF+A//UAvJXoo9TR6cX24RVdsuc5Pg/MokUMprK62FjD22XdZeAyEfH+IDLNRbg+fzJPiMmA29CZaAqP8mpjzlLTIKrzlqZA/2PQVv7+kabAJiByhe36PYjUXMSU//nqwmPpTfC5Q70PVXtBwM84HHEPcdYf8Ts7HWUmEnNwbzWqJqVoBgYEBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=kGr4/CenZPJh4RmpNvj50HIldEWy/K/CGryRf+NrvgA=;
 b=JNH9hSPNDUdqLdms+eJEvwsZeIZ5uB02y+aeryLwDNd9kYeNHeOCmAHiHj7E/hNvGVocDn7ffD/dHf5oSmNVF4JaZ+995gWX+VyN/iCvEP6B8f+GHaLNBkdmHMBL+uNQQdr4UNysahrVri8sL2ZBU11bbg6SYYhBJBGPHMEf7z4=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "community.manager@xenproject.org" <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, "sstabellini@kernel.org" <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>
Subject: Xen 4.18 release: Reminder about last posting date
Thread-Topic: Xen 4.18 release: Reminder about last posting date
Thread-Index: AdnGpQJJnpHQXjHHQ2KSH/TFd+8Fbg==
Date: Mon, 7 Aug 2023 01:24:46 +0000
Message-ID:
 <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6C11B5EC6797274CB7A445AD076849D7.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DU0PR08MB9250:EE_
x-ms-office365-filtering-correlation-id: 1c24dc4f-d6b2-4d82-5259-08db96e515f3
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 otxbBgooWT6mOHQ/3/4z19kGv3nPb5a+pi3sWpZOyo14OFIRJtqbjjdy6uFXfUgYamZO99SroZCU2PmB02jI8vAwBTJhArzuhmR8+FOZuhBY3iTHMTcuPu/uGS0Gun5KQzU0cVtOwHgYWoJgPFr6ysZL0bY9O4WdIhXUJMecdJo0ik6E+0fW3ZLnQO4hmQM4SIkQYlyaiLYcSdkznxfm+ktAyJ9TZi9bsnLYg98/KL/n04Y83vKet7hWHX8UxhuX9kG3f5YbISytQUsRvQu86ZdvNAAF9dk6vQfk2H4KwQS5Ixn3J8RPcRHvrJHUG6lMOUoPR31kQTSnluH2Mm3Q6TMIbPYPJyfrhmMphLlbum9lW9r0LsjXntBryVDVBvhAOZNk0fBwL+AmIvBSbH562tY5v/7YBt47PGo6XeFRTCVCANaN64XTXeYnPBBcJH+eXCBv5ndffQ2a5Zm2Q6IQwoLMbd8E2Tm9aqPEdJ8JBb5gPx3HD6kgEVfD0COzPmRL2fffsuqvPGVuMekNeyxskv0292rbJuMpjlcTLSg++m/eYcIPU8xM2o6yGhRoIvQKPwWo4PBWl+rKxodq4zwe8GGAW/7zq4Ne7YzqpIHThrT/UlLO3FMtuycONUI9N3AMjwWhS7etfqF5Au5fdrK4xw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(186006)(1800799003)(451199021)(83380400001)(55016003)(54906003)(2906002)(6916009)(4326008)(5660300002)(8936002)(316002)(4744005)(38070700005)(52536014)(8676002)(76116006)(66946007)(64756008)(66446008)(66476007)(66556008)(38100700002)(86362001)(966005)(33656002)(478600001)(122000001)(71200400001)(9686003)(7696005)(41300700001)(6506007)(45080400002)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Vo6p5DnxMo60luVG+jm7r0x2h9/kStUhMJAP/fUJhTqhUBM0TQz6Sm6cvG?=
 =?iso-8859-1?Q?Tlq5FuJ8Z7PWc7u1Qeq+UTWoFbgi9IYxDT98Axq6aJLzd1BgrrdFYRdYPU?=
 =?iso-8859-1?Q?Zex8o00nJUm3wOQ4hvqL66gS2OeOt27vSRtv/iisTrxvdxLQaFc3J+TEn0?=
 =?iso-8859-1?Q?044ETo+NIPjXf6akrm8dcmTxUUiPgObdOO97L4y97nFSX/pJplPo3a5c6i?=
 =?iso-8859-1?Q?UnVV7vwY4Z0R9EROA+RbxnIUTLXoxn5PpP+aelcwDMnjLlwv4Gbyj5BqxY?=
 =?iso-8859-1?Q?ag2uRcX2vuvJuHbuUbHy7ixqaE/gdQe2q4QHCegJuS/0kpJjMwnxrJOb5x?=
 =?iso-8859-1?Q?JbwgW5Wa2k202VCf78TznAv4MIN2cL7T37iUKbBJjmVo6mxNKxOP8C8RAz?=
 =?iso-8859-1?Q?uj5PX4mOCNyPFyFxuyin//HxL8lQUoO4YZoObAc+NArak46r5JB6GdHFts?=
 =?iso-8859-1?Q?4WRTe0GqvbsJDsawsUE9vwINojr51xCdBRdEWOOQoy05G36apFwQv51Hao?=
 =?iso-8859-1?Q?kLPWor6AmdUIeCsGNWysgyD3iyjVYoiEcPhBHRQk8Xm+1mN9OlrhEOT/9S?=
 =?iso-8859-1?Q?S5CR8ieD30ZLBNhFMJtTPtXj86uTbCJzWBbUAAdPd0O9UsW6pbVHj8JGZG?=
 =?iso-8859-1?Q?k1KZR3sYDTlCVv9ndAAfLxKAGZqlsvLlyBHbYickMPeydbKuTLRqhza88r?=
 =?iso-8859-1?Q?/UdZY15OKGN0wIK/fkrDkdd8uM8mW3W324iU5gGcsCnuT2zG8UUNea6pw5?=
 =?iso-8859-1?Q?Z4w8qynu5pVl3GWLooKX29wMt3xefiwnJc6qnTkvSHlCNe/wqoLb8JRDuu?=
 =?iso-8859-1?Q?yqYL9NOiNW5U44heVrFQ3XsBO3pg3seUvRT/66f1AK9O42n0Mep5mXcdn7?=
 =?iso-8859-1?Q?p6bYhd8as7okrIA3SowdWYF40eh8BTTLJONeqRX6H55BUgtyR66Of4CeoE?=
 =?iso-8859-1?Q?5rg2kSbC8JFuSucVhJkBvUyxeX0N+8nQQ9zH3+VsGn1umfcgLCzd/6tydW?=
 =?iso-8859-1?Q?1b0N9nZ3TYaiDMkOXHrEQxhfaVroMX9naZZxgpTYXCsQ/Y2+bQttAwK4s8?=
 =?iso-8859-1?Q?LAA00Ul0hyxp9GgBtRKcOYaM3MyGFPBNJCMNeqlBSPJwjEfVkTqs7kOgBJ?=
 =?iso-8859-1?Q?+sc+Qce5ktCbuFcHfUa4xtw0nok9R270wOi3NoSabq6sx+fWxYXldVRTI0?=
 =?iso-8859-1?Q?ESg+1oSIZQ947nyvg8REArJPPXtgP8EOJeAVc/hwqrNOHnqQVoedD0ituv?=
 =?iso-8859-1?Q?xgFrtlsdCGoz5JWRdyfXcol+6v2ywgWqXKolgWFFmMndnr20Vw21gC4znH?=
 =?iso-8859-1?Q?/52oW5bxdtRiYC6jpyUzhQb/mp1Y44LZ2G6zJBHCEy2OCk9f71jCw4gfD+?=
 =?iso-8859-1?Q?HOl3+qPGQfBMUTXgdyD11O+gr2RO2RDXme3wEsZ7jz06BLKSINvlehUeed?=
 =?iso-8859-1?Q?1R7zzh38BRgA4n0x57FDX1HSEWrtcmsYhAy8Rl8JwwILfoqVORIWn2Mhr8?=
 =?iso-8859-1?Q?WfjAcyzvxGJhMru1G9oq0p7LDRbvnVZBuupS4mGkbXKgfZ7zkwwLqEIFYB?=
 =?iso-8859-1?Q?R3Nc2SG4P1/WFiJdlZkUyPLx5938H92pvecuJfEKybd5PbOcZ441J+gK51?=
 =?iso-8859-1?Q?lkC97t5YDlS4XAXOij/MLwWOir1M9SAxLI?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c24dc4f-d6b2-4d82-5259-08db96e515f3
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Aug 2023 01:24:46.2581
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: M4Hzt027otQ+MG/yVBVr66jsIsF1lMOi9cPeFXcz8vqRen3QBtpa0GKr8Lva0/aRlLMA2CiHOwkCGaMJldRrGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9250

Hi everyone,

Following the release schedule discussion in in April, I am sending this em=
ail
to remind that according to the release schedule [1], August 11 (this Frida=
y)
will be the last posting date, when patches adding new features are expecte=
d
to be posted to the mailing list by this date.

Also, note that we currently have 1 release blocker [2] which might need
some attention.

[1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB59260=
9@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://gitlab.com/xen-project/xen/-/issues/114

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577759.904761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuRQ-0003dY-UV; Mon, 07 Aug 2023 07:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577759.904761; Mon, 07 Aug 2023 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 1qSuRQ-0003dR-Rv; Mon, 07 Aug 2023 07:14:12 +0000
Received: by outflank-mailman (input) for mailman id 577759;
 Mon, 07 Aug 2023 07:14:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSuRP-0003dJ-GY
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:14:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff506f1a-34f1-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 09:14:07 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 984014EE0737;
 Mon,  7 Aug 2023 09:14: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: ff506f1a-34f1-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 09:14:06 +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,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <alpine.DEB.2.22.394.2308041405240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041405240.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f8b9190206e5b38c7068389865e5f403@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 04/08/2023 23:19, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>> The variable declared in the header file 
>> 'xen/arch/x86/include/asm/e820.h'
>> is shadowed by many function parameters, so it is renamed to avoid 
>> these
>> violations.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch is similar to other renames done on previous patches, and 
>> the
>> preferred strategy there was to rename the global variable. This one
>> has more occurrences that are spread in various files, but
>> the general pattern is the same.
>> ---
>>  xen/arch/x86/dom0_build.c                | 10 ++--
>>  xen/arch/x86/e820.c                      | 66 
>> ++++++++++++------------
>>  xen/arch/x86/guest/xen/xen.c             |  4 +-
>>  xen/arch/x86/hvm/dom0_build.c            |  6 +--
>>  xen/arch/x86/include/asm/e820.h          |  2 +-
>>  xen/arch/x86/mm.c                        | 49 +++++++++---------
>>  xen/arch/x86/numa.c                      |  8 +--
>>  xen/arch/x86/setup.c                     | 22 ++++----
>>  xen/arch/x86/srat.c                      |  6 +--
>>  xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
>>  xen/drivers/passthrough/amd/iommu_acpi.c |  2 +-
> 
> There are missing changes to xen/arch/x86/tboot.c
> 

Thanks, I'll replace them.

> There a few stray changes below.
> 
> Everything else is correct.
> 
> 
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 80ae973d64..9c6003e374 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1163,7 +1163,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>>      }
>>      else if ( efi_enabled(EFI_BOOT) )
>>          memmap_type = "EFI";
>> -    else if ( (e820_raw.nr_map =
>> +    else if ( (e820_raw.nr_map =
> 
> stray change
> 
> 

>> 
>> @@ -1631,7 +1631,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>>          unsigned long e = min(s + PFN_UP(kexec_crash_area.size),
>>                                PFN_UP(__pa(HYPERVISOR_VIRT_END - 1)));
>> 
>> -        if ( e > s )
>> +        if ( e > s )
> 
> stray change
> 
> 

>> @@ -1771,7 +1771,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>> 
>>      open_softirq(NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ, 
>> new_tlbflush_clock_period);
>> 
>> -    if ( opt_watchdog )
>> +    if ( opt_watchdog )
>>          nmi_watchdog = NMI_LOCAL_APIC;
> 
> stray change
> 
> 
>>      find_smp_config();
>> @@ -1983,7 +1983,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>> 
>>      do_initcalls();
>> 
>> -    if ( opt_watchdog )
>> +    if ( opt_watchdog )
>>          watchdog_setup();
> 
> stray change
> 
> 

I looked at those, and there were trailing blanks on those lines, which 
apparently
got trimmed when renaming the variable. I think these changes are ok
(though maybe they should be mentioned in the commit message).

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:16:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:16:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577765.904771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuTj-0004Gd-Cj; Mon, 07 Aug 2023 07:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577765.904771; Mon, 07 Aug 2023 07: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 1qSuTj-0004GW-A4; Mon, 07 Aug 2023 07:16:35 +0000
Received: by outflank-mailman (input) for mailman id 577765;
 Mon, 07 Aug 2023 07:16: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSuTi-0004Fe-5I
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:16:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56a51532-34f2-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 09:16:33 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 68DF74EE0737;
 Mon,  7 Aug 2023 09:16: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: 56a51532-34f2-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 09:16:33 +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,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 4/6] x86/include: address MISRA C:2012 Rule 5.3.
In-Reply-To: <alpine.DEB.2.22.394.2308041424240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <40823fbaa9e0a9b026e5ff3b01af9d83583889fd.1691162261.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041424240.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f9a30c4a5932b1432f4054384e26f9c9@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 04/08/2023 23:24, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>> s/mpc_default_type/mpc_default in 'xen/arch/x86/include/asm/mpspec.h'
>> to avoid clashing with function parameter names in 'mpparse.c'.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Even though the global variable does not seem to be used anywhere and 
>> is
>> perhaps better to remove it entirely.
> 
> Please remove it
> 

Noted.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:18:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577770.904781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuVt-0004vE-Oj; Mon, 07 Aug 2023 07:18:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577770.904781; Mon, 07 Aug 2023 07:18:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuVt-0004v7-LE; Mon, 07 Aug 2023 07:18:49 +0000
Received: by outflank-mailman (input) for mailman id 577770;
 Mon, 07 Aug 2023 07:18:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSuVs-0004uz-H4
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:18:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a68b9b2f-34f2-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 09:18:47 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 7565F4EE0737;
 Mon,  7 Aug 2023 09:18: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: a68b9b2f-34f2-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 09:18:47 +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,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
 <julien@xen.org>
Subject: Re: [XEN PATCH v2 3/4] x86/irq: rename variable to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <alpine.DEB.2.22.394.2308041346560.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041346560.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <bcf6d6e08db95df59ef98b90df295700@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 04/08/2023 22:47, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
>> local variables in the changed file. To avoid this, the variable is
>> renamed to 'irq_description'.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> You missed me reviewed tag from the previous version:
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

You're right, sorry.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:18:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:18:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577771.904792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuW3-0005Dd-1O; Mon, 07 Aug 2023 07:18:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577771.904792; Mon, 07 Aug 2023 07:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSuW2-0005DW-SM; Mon, 07 Aug 2023 07:18:58 +0000
Received: by outflank-mailman (input) for mailman id 577771;
 Mon, 07 Aug 2023 07:18: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSuW1-0004uz-8x
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:18:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab9c42da-34f2-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 09:18:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9667.eurprd04.prod.outlook.com (2603:10a6:102:242::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 07:18:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 07:18:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab9c42da-34f2-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IlRUP86vlvHRs4mqMOmLzuRLCtQ4X+7xAWgYSIOA3uxPhNFD5GpE8FYg2ckSr+3m5Ji4SlZEMCP7iqE9FG0dw8ENtiISQelu7rFMPXimLfPXAaOXAaevH7RtvwZQgFrIORIqLPktzkf2jeJ/PoGemp9z7D0zl662uNKlrXRO6aNVpTU7KpArIsK3Gfys2BYIwWarRmm/oLjV9Iz+QuHfzQs383XGkBECXEMLorW6axC/9jgRo6ohc9/mJSrkPxcmbmw06PGER96EPhSYGOkoiCSAff6//OQnvV+m7u1Y0KDQiAc/wsQOPmCfCSv2qvrzXfjKqSeR5js4yH7NMjpaRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p8KXkDDb9QotkUfJGJhCzIzECK3RfULau+L7tJYIzXk=;
 b=aXWqIlVLlszkn/3+4599+WvOByecjrE1TkWazhk7Yi1noumse/xDDX/lBBEbGHVDH75fVGMA8t3JeHMYwrE9QBOEghHIeHhtF8thQMn8kQYvwLVS55Ybf59RgDi4f9dfJfaMBvyR18pe+CkR6B5VJgQ5pMjtgmTizVbcU4j0uzC7TEcp6PEkgxYtd3gvSjuRDbOWYRTgG9GQBjEXjViWE1uLc4uWNLoCOBvFBb0OoNexxRwNhVP4maiqfaV6/d0LkjO2b0gFSFpA6dAHMxKFemvutGvaap/ZERyLw9wl8A/40mKdTGnB7zso+Dq2SpOapGDPIJyJR0gagf5YjdtS7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p8KXkDDb9QotkUfJGJhCzIzECK3RfULau+L7tJYIzXk=;
 b=gosAww/DqkWnb1RLG63qUK0poRiGLUkqE17cp3B22Z2sEHffmpswylxfc7rsBtE0k0CJcjtl0qGUmop9niRWWhiZJvUe0Ul3EV+byJj23L6PRpbXrcodqXmrV+f/H9v5VdkQwnZhgEXUpA7Z+Vab2Vq7wmsLGwY0JYsK/jOcu8NSVAlYNfQ540Sm+j+GYa7hCAQ+x0GctO6SfQM3+NzMctFtDHE0mTwaWSdLEFp9uU9yvZDRF+4XhoJoKmlXqQTm8SvJOgZmdhkVUxsSO/l5SS0NXKqLIa55zScjnJvB0AYd48iZV6uZKIR2Jb0bIq1q++816Nk1Q8Hamw9+KZI+6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d54cb8b5-ff67-421f-b01f-4913e726b2fa@suse.com>
Date: Mon, 7 Aug 2023 09:18:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012
 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.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>, Wei Liu <wl@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <204bf3ffcdda04d6d6cf072c42b78720e1e85b4d.1690985045.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308021910030.2127516@ubuntu-linux-20-04-desktop>
 <ad838567-fde6-defa-77b6-b5887c8438b6@suse.com>
 <6a5260299c5822abfbd74749ebea8f8f@bugseng.com>
 <8672f79a-3e44-1cc3-b448-9ee4a4ed9090@suse.com>
 <alpine.DEB.2.22.394.2308041322100.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308041322100.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9667:EE_
X-MS-Office365-Filtering-Correlation-Id: a8bb50f3-77ad-4bde-c77f-08db97168e5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	drZaDt6VrnruMb2XZxYiAbbPPUD1to+556gaxB0DD2oAoEhQ6lPkYBTfH/4LwxBDsnXHH4YY6NdTquv85q55Ia4SJkDZrZlsJTbbRO16jPkElXiaCV152oPuz+31MnQyhgTYLIXENzo+Bu09tThZWJyx0ndHm5hYEmeSqQXqFcXlcpOqr4by+bi67S2/TmFa5R2VoHamahtFfTnWKes3nVb4xMgh5a/LO/OZky50JWzldylXKN9YELD0vGMJm9pdrUlLxOd1d/JlsDIx80AvjNqx0KhSxERGXg5wI6hSipQVa8tmtedm6z51PtP0fqqzKq5ULqpyHvcoddQTqFhxDFuonP65uOdTMn4err8PAWeae6pS0ZHTVMZVyjeuqBX5iG9IzgI32NwRbFik3Ufs9Kh6TEIBlBUtOLIoDQiDUP7/SZexDAFGTvxFNrXwiuS/E7lv6M1p6qcn8qaJk8T/bACvPf5Vr4vOJSyQN8uyYkChAhzNKh/htkIO1QAxqjNnDzO74l7G7VYqyAS25+SbZna+H1B+9AKC6zIE2XOFEQT3nZymZM5eUtnm/4PUPg7FieHHlvO10ML1ljn3/IGIjv95qAsju2Vp2zqKPiir7hK487fACupSYpFs5KTa6hTCOx2pZpl7YW12BmLpGbgokw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(346002)(366004)(376002)(136003)(451199021)(1800799003)(186006)(2616005)(6486002)(478600001)(31696002)(86362001)(6512007)(26005)(36756003)(6506007)(53546011)(41300700001)(8936002)(5660300002)(316002)(8676002)(7416002)(54906003)(2906002)(4326008)(6916009)(66946007)(66556008)(66476007)(38100700002)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NGVTbWVDeFpmbVl5K2MyaE9PSG0vV25pUVhqZTJ0MmhOVFMrVkJMV0JRUjRM?=
 =?utf-8?B?WDVtNGhDanM5bXd4WjB0dFRhSEpKanM1dTAxRldERklJdm1DcHZXdGNKTnJk?=
 =?utf-8?B?NWhCY2pSZHpVbjhGQUgxOWNxYzk3cWhjbHM4bVNWQkFOcG1jdWdDblBoaXJQ?=
 =?utf-8?B?Yk5RdGxoZWdOWmdadnloOWdDc0FMWDIvYXNOSDZIVnd5UFBRRWpqNVFCRHlo?=
 =?utf-8?B?WG5mY0g1a2MrelgyNlcxaWNzYlhrSDgySFZOTGZaNnJZTms4dmFJdkl1cjdm?=
 =?utf-8?B?WXFSeG9sdVZQdHU2cGkyOEcySkl6QmszVC9JWFBxTEVUTlROallGNDZ0clR4?=
 =?utf-8?B?OHZMS0dNUmFZaDJGUWVCNmU0ZXkvSUNzZk80c0FEY1JvYlZmb0J6eGdVRFc5?=
 =?utf-8?B?UGNpVk9VM2lDcGw0Q1lwQkh6WHNVaVNCa1BESGR2QUJ1WHF2UHRzeGhpaUEw?=
 =?utf-8?B?blhZRlNCanhDNFFNZzJtcDRvNEQzR0NrZDZ0NWREOG51TjZDdmhlWXV6bDJQ?=
 =?utf-8?B?TS9lMzd6WEx4VG9JZmR5VzBzU2pZZWVyNFdLb1lEb3J0S01DbUYweEtuYTJW?=
 =?utf-8?B?NlR3dy82U0lsaXliNzBMaXJVK2pKWGx0dEVuai85N1VEODdlR0ZHRU1tc0wz?=
 =?utf-8?B?cHBsME1kQjU5bjB3eGNGWVhnQnpmTXVlM3piRWlGZkFZNEVrRVYwUzBhWGJ0?=
 =?utf-8?B?WktVUngwZlRWdUhhcTJWb2FrZ1N4Z3B5ZzlTWGtYd21XM1pxeWs5MEE3SWVE?=
 =?utf-8?B?VWZrbS9jL3FvTkF6KzA4dGRISTBRaHlFek9TdEVEN0hkR2c4SFdRQk9KZnBK?=
 =?utf-8?B?SElhTnRidWdwd1JEY0xLeDBya0k5NkE4L1dOM1cvemZGRnEzQ21YT3ZETkJG?=
 =?utf-8?B?VDlMVXFuSGFDY0s1S2M3ZlJqYjZzbVVqcnhYZndWVDVJWEJoa05DL1BsSnBG?=
 =?utf-8?B?Q3JIbVgyb094c2x1OWVWVUpKc2dFN1NtTUx2QnMwT2lDbTNOUW5BcTkxNmxr?=
 =?utf-8?B?SWNxZks1TkFvVURXU3FYVVgxUkpCNkg5T0ZrcVh4OHZIdlNJZnpta29lSzg3?=
 =?utf-8?B?ODhZM0dFOHdyOFlMdlFjTVI1S3BHMkk2TzlGNUlPRTJ4ellZQlJJUGJSdGNG?=
 =?utf-8?B?Z2ZHOStWYTQ0a1pIdHZoQmRRSkdzUGppQ3BJSFI5S2FpbEgrNUxpajJ4T1pB?=
 =?utf-8?B?ci9rYUlMODRIRkhFS3ZkYWxLQ3pucHNpMk1UVkdnS20rYzc1cU9IMVpKMWI3?=
 =?utf-8?B?dFNMbTlXOHliT3R6aFJLOHRKT1ZOLzRlVlRvK1FtQnp1bHBjcHQwSlI3VnpP?=
 =?utf-8?B?eSswVnZFeUZRekZpT0xYV1ZNVEdDblR3TjN3d3dqM0JER1lDNDVRcUdWUjFu?=
 =?utf-8?B?aDdMc3QrblFES01BRVFXU0tveElpUWJSOUY2dlIvcDludzdYM29ObHlJRXk5?=
 =?utf-8?B?bEZhUGkxREtqYmswZEY0UUZhRUxyR2pWdDdMd29VZ3RraWtsMHZpQnRrSTV5?=
 =?utf-8?B?QXc0RTVUNHNGSDlYWmdTUE90eDA2TVFxZHNxa1ZYTGtSVFNlYW55cCtXeExQ?=
 =?utf-8?B?cnhvTytDcmNWbXZrWmRqaE1BbzN1a3dabm5hZFl2Y205NmZEcENoSnBlbXll?=
 =?utf-8?B?S2w1UnhUVU5GMGN2TDlkZytCU3BmTksxZ0UzeHdrV0xQbWF4SDdYaFltSkEv?=
 =?utf-8?B?cjlPWUVSSzUzSVhaUTk5Rmd6aWNOc085WmpQNWtnVlpFeHFrZmc3VHBSaWlJ?=
 =?utf-8?B?dkZWTXRGWG9UVXRxUTM2MFAvaVowd3BMUXRzNTVPUDZWN2NET0JtNTBGeUFp?=
 =?utf-8?B?cWgxdWRLa1JERHVqcGc4b3ZjS0ZKV1RzWE02aW8rd1E4R0Rnd3E0UzQ4bVQ1?=
 =?utf-8?B?UjVHUTdoblFhdldidHJ0YjhKSHhNcStQN1FFZVNZSVdYeE9LakF1T0ZvTWNn?=
 =?utf-8?B?T3JpSFA3Vm9HSHB4cXRlL2dDTzFFa245TVJneEVVbkgvdFFrRTl6WGcyNzRz?=
 =?utf-8?B?OVd3TjFIM3c4d1pjLzBkNW8yNEJaTitjMkl2U3diR2FJN1F0VEhvcG9oZmxO?=
 =?utf-8?B?Y2JqSTZ5Z0tzcGdNTWFwRjE5UGtKdHpnYWZhNGYwZGp5NndUd0Z6aGZwZElF?=
 =?utf-8?Q?Zyb6uAidJbsQqNb6Ub0ZxAFAE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a8bb50f3-77ad-4bde-c77f-08db97168e5e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 07:18:53.7679
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i/2+w8ROR0tUAK0ccW2hEE8d66RPepe0/n8SeSF0ZTkYKRVKkGN1+mr0uJv1VJQEcLYBiEsnotLcSMS7j3BnoA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9667

On 04.08.2023 22:26, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Jan Beulich wrote:
>> On 03.08.2023 16:22, Nicola Vetrini wrote:
>>> On 03/08/2023 11:01, Jan Beulich wrote:
>>>> On 03.08.2023 04:13, Stefano Stabellini wrote:
>>>>> On Wed, 2 Aug 2023, Nicola Vetrini wrote:
>>>>>> @@ -1169,8 +1170,6 @@ static void cf_check 
>>>>>> irq_guest_eoi_timer_fn(void *data)
>>>>>>
>>>>>>      switch ( action->ack_type )
>>>>>>      {
>>>>>> -        cpumask_t *cpu_eoi_map;
>>>>>
>>>>> It is only used by case ACKTYPE_EOI so it can be moved there (with a 
>>>>> new
>>>>> block):
>>>>>
>>>>>
>>>>>     case ACKTYPE_EOI:
>>>>>     {
>>>>>         cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask);
>>>>>         cpumask_copy(cpu_eoi_map, action->cpu_eoi_map);
>>>>>         spin_unlock_irq(&desc->lock);
>>>>>         on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0);
>>>>>         return;
>>>>>     }
>>>>>     }
>>>>
>>>> This pattern (two closing braces at the same level) is why switch scope
>>>> variable declarations were introduced (at least as far as introductions
>>>> by me go). If switch scope variables aren't okay (which I continue to
>>>> consider questionable), then this stylistic aspect needs sorting first
>>>> (if everyone else thinks the above style is okay - with the missing
>>>> blank line inserted -, then so be it).
>>>
>>> Actually, they can be deviated because they don't result in wrong code 
>>> being generated.
>>
>> Only later I recalled Andrew's intention to possibly make use of
>> -ftrivial-auto-var-init. While, unlike I think he said, such declared
>> variables aren't getting in the way of this (neither gcc nor clang
>> warn about them), they also don't benefit from it (i.e. they'll be
>> left uninitialized despite the command line option saying otherwise).
>> IOW I think further consideration is going to be needed here.
> 
> Let me get this right. Are you saying that if we enable
> -ftrivial-auto-var-init, due to a compiler limitation, variables
> declared as follow:
> 
>   switch(var) {
>       int a;
>       char b;
>       
>       case ...
> 
> do not benefit from -ftrivial-auto-var-init ?

Yes, that's my observation with both compilers.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:27:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577783.904800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSudi-0006ze-PZ; Mon, 07 Aug 2023 07:26:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577783.904800; Mon, 07 Aug 2023 07: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 1qSudi-0006zX-MW; Mon, 07 Aug 2023 07:26:54 +0000
Received: by outflank-mailman (input) for mailman id 577783;
 Mon, 07 Aug 2023 07:26:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSudh-0006zR-Mv
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:26:53 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe16::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c76ee96c-34f3-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 09:26:52 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8331.eurprd04.prod.outlook.com (2603:10a6:10:244::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 07:26:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 07:26:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c76ee96c-34f3-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JCG3DgBb66QOLEioPB41q4iDcn2BD077fliNyj2Idh7FQaKONL+8R+KbWUj1ISVbf0YeG+B1HgZoOY0tugRBOGdojzKMcfesOq0LjdK5WhTucO9lPjigxTrzti5TWYO3RpDIKjdxiBhkDnrJOa56xijlAATRLxaYw7CFfdy1NEVqkhV24M6Ui/Mke16wCUbaX1eb9VgHC6oR+Wo4k36UAdSFvhlXyPEQSirEuWElMRMSWqZZMOzJPavJQR5ox19NJoiH6+mqmZWPPVzF+0LQC0aDJR1ETHKb1c8sseokZO+aQSq2rsH+l/Lz9KLEBut+xts4tn3na9NJUFuigWwITw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dJu3C6ooQ2gGorMkv0ItusmU0mDmCTJKQYDF5xjDWOQ=;
 b=AMUreFfjVA17v7YqrAZemDnNIE8FkJl7nWSMXObAYaKSA7Aqx3ZUCwTQq1gxtXt/Oo+AvfxVZN6Lukh4KorceEmNAK8zo9ZlbTk+15a0WJc9gdfliHQzYAtlU4A9thGsGy07v1zwzUOGu6oROz3l92bCKyQ+zZ+RwSBHCVmf0muA3x2q27CVFmeO/5dxZSa3Q1iDH9MgIIbZ9hSWwSEROrCw59Xg8i4Z6fPvBbeIOS5elGeb/KDMtl1JKVc+8VFPgd7RTBnTjB3U9y/EwyC2NcbheyMoOoCUQKJUwvgSL5BxIC4KvzLb1QWoMlJ/nH9BSvNju5xljrOWlyLCQYjFWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dJu3C6ooQ2gGorMkv0ItusmU0mDmCTJKQYDF5xjDWOQ=;
 b=SRHBAYsu3JeOPYWstDlydJKMQ/HMtA/0r/rfH2nES+xBpx8hRo8/HvgWnR0+IpASeBySl0ZkazR+eDnN8cQ1FAVsh5s/YkXs8ta2BpAhGi0r4b9PUfwv9XlhiY6uqec4x5rIyCUDTlLN4m70xMr8SiRxPeuxwS4n2qjWUV4+M2VuWeMZhXtIymxQs8u1d7m7vDpXpVYbRwIMbuZR0NUZ8JVmX7v/CCsALUQG1iFXAoKod3AKZWgO5nWrtCLHaS/n7zdavF0QH4HrcORkRAZgHKIyeEGIKgXu9WU/4/SRezWiIgJdAJLpf1Gb3wnGfBsj0t+CnPl+YCHYEi1Pt+wkvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <57c5737f-a963-8cfc-5ec0-6b68bf9a5579@suse.com>
Date: Mon, 7 Aug 2023 09:26:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Address MISRA C:2012 Rule 8.4
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com,
 Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
 <95a6d085-cbb9-ecb6-134d-6e4d994bfd35@suse.com>
 <f5443fc1f3e56c79e3149fac42e060ef@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f5443fc1f3e56c79e3149fac42e060ef@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8331:EE_
X-MS-Office365-Filtering-Correlation-Id: b5cf8c56-4db5-48fe-ac57-08db9717aa2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m5/pv2y+lS2s0IHA6Kfmkd8DDZ1nYVYbf/Ls1T1nIzPjaeFl0GPs03h2NXZUlTo1F8EyZEuTmqQr/SM96zLnzwltjtmOrK6UVn4qblrdB6P0yMJAJhG8oYX+tOHvECaHIdIJVRsHeSTIwvicOhdquKktTALtdutqRsdW/8YU+GakX5K+S6kjSzg49l0R5KympxARwqfTWUMzLovduDMRjQ/ATcvp96VvuWFFK8f4eiiDYCysgC6gmJyr6wKSAZWlSIHOnkj8gMJsJ7+ZZXWAfVArOA+9s1BF0riRG3jxhsblvPOjP5oR+WaPjnUt1sqHfXiN3Z4pCosFKbcHfs/gRsxbG4t3teCTeLGfcqV9k4R0Tw4Q2kIcHdFGAD0OP5aYsAu+5Aoq7EzMcfCWH3xKGzNqnzJnRJbTSc7sbMovqeA3I53Bh9QQC8HATInyIk7hHpJlxEK+xGtakjjj0mamJAiVTCv+7VBHYKmHfePwcTT4JeHiSVd3zHtmgHXfDMS/M9jUF6c7BpdDAWw45lUJS1I6+I9av6fM3becTz2RBCiM5F+dtwR75Kcwp+XmtUQv4yxvmr1NlOr+sqF9D4+iHLetCbWgtNRxtZ3GaqtPNniaWAzYmkJY/+AFmviL63OXP0myzaJ6HwSp1sT6FttNUg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(346002)(136003)(396003)(39860400002)(1800799003)(186006)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(83380400001)(7416002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66556008)(66476007)(66946007)(6666004)(478600001)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SkMybGRxSHA5UmhodGFSWk9Tc1Zrb0VsdjdtTFdZTG4zeVIvY0tYN205eFE2?=
 =?utf-8?B?enNmcmVkZFB3ZWVmS04ycjczMTgrbWNxa0M2Q0xDMmJMQ29xQjRpL2tmSWs3?=
 =?utf-8?B?Z0VkOE9EL21laUg3SUxkVEdiN2Vad0hkSTdQTVBBMDRLZzU1cjI0cWhrdUgy?=
 =?utf-8?B?WVhGeURVSlF3eklYREM3UzdzeDlpQXg2RmhINnlpSjhtSUUrc1dmNzQzdjNm?=
 =?utf-8?B?anZRcWZEdHFDMllqdEd5cHpWdVpmZlErakUvTUFZaGxqMTJBdEs0dHl0R1gz?=
 =?utf-8?B?cGZCNEFpL1l5U2NLMi81VHozTWF4UWZvYUFaYkcyc2tvMjF0L3R2Y2NiMlox?=
 =?utf-8?B?NUFFUGowMTVqcnNpQ0JjOC95RU11RTRUeDVoaEx1RlR2MitNVktnWUV1YUFp?=
 =?utf-8?B?ajRuNm1NUFNIUTNTN0ZHMTNBQTU5L1lqeHFZNW12SUlMaU1aekdTTmJGYlUv?=
 =?utf-8?B?dHJpSkU5YmZVbEIvMDBtWkNGOFBqUVBod1d3RTlTSWIrWXRQUzgrNmFEZEpH?=
 =?utf-8?B?QzlGLzRiK3Z2MGNuUVdINmVCUmhmdHZ6M24yczlvRDFSMGhPUHVRckZxbzJL?=
 =?utf-8?B?SXQ2WUM1Ry83c3ZLMmhuY0hSUUphUFJGY0o2bnZuL1FkNVE3YWZQamNTamda?=
 =?utf-8?B?YXlWUmYyMXBHRndEM0cvT2FMSjRsYmR1UkE1MWZDUlVYM3RhdUY3Q0ZCOEhW?=
 =?utf-8?B?YnJ4a21pQVZPUnN3d2ZnNG1QOUsyU1BQRFp3a2VVZ1lHZGY0eWEweVJDdHZl?=
 =?utf-8?B?MEJLMVVsbGppTHNUelBlZVdDYVEwN0ZMV2txN2J5aDZGczJlY0U1TGRQblY4?=
 =?utf-8?B?NE9UTXRPbmwrdk4xbXZBNG9HblJOQnQxeWZIS09Sb2xrRHMxTGlUWGNoZmd1?=
 =?utf-8?B?RFFiUE5jaVU5ODBwb3NodjlveUZ1cUZMWmZsQzQrcWRhR01OTU50OC80SHVp?=
 =?utf-8?B?ZmlUSm1zOXBYYUE0Um4yYm5zZmhDcC9xeHA2ZHdXWFl4N1lMMm9uM1Mrd0JM?=
 =?utf-8?B?U09kaWR3UURldmdrUDV4R1N5bncycjFET3JnY1B1dURlTmlLelA4Y240MmlY?=
 =?utf-8?B?OHJLbnduNVMzNGlmUmU3TzB5TlVZclhWMUtiaW1zRU54T1ZWZjVWc3R4SFMr?=
 =?utf-8?B?cndTV3lzTG5OSW9VWUc5d1MyVThyakxXVjk1S2hxWEhuRDltcytrbm1sb2lD?=
 =?utf-8?B?SFNjY3R0RmNFSXl6ZHJzYSswYVB0Z1ExZEpvZGdhRTY2Z2JVbkxMM2E3SlZi?=
 =?utf-8?B?SmM2ZHNDdGloZ08rWmptZVhIWGpZODNSa3I1dHJVWkhvKzhncTdWR0hEVUVY?=
 =?utf-8?B?TDJHRmpUQURORHdyajU1b2F2S3R2bkVvUDVvU3ZPeE8zNU9ydjNpNnh3d0Vu?=
 =?utf-8?B?THdZMDliWno0bktSazVZQjVIdENONjJ2TkZ2RkdzUnNJUVovczlQMVllNjgy?=
 =?utf-8?B?bXkzNCtVQjNLUmgzaTRCU1Z2SWVVeFEzanN0QmlnNmw2Tko1dmF2a010ZUVw?=
 =?utf-8?B?c0pWTjRkWWdBVVhJWkxvZHVxamlFYzhESjRBNGNIU2ZLWEZ1bHp2bEZ1ZGtN?=
 =?utf-8?B?d3lKbGY2MDJ4aHJBZnBDd1ZYVmR1VDJrSmhsRlV3aDFJQk1WMTZhWUhBeWZs?=
 =?utf-8?B?R241WDVHcXIxNmhnQmM0TUJwNFNCSTBqNlI0ajVpTGE1aW9kYmpQbXkyMUxx?=
 =?utf-8?B?RzZIV3ZrNmZLbVVSellMQi9jL3hqaGdSQ0FtTlZpakFKUFNUcVhZZzViWDQy?=
 =?utf-8?B?ck1VSHVuVzdOdFFlVlY4MGpGbkVDbG4rMnNxcjR3VmhabjJDRHN1WWkxYzc1?=
 =?utf-8?B?RnFoUmVrME0vWHVLNkxja1RmUURwY1IyUlNUSExKeW8rcGZ3QjZKY2JoYXJs?=
 =?utf-8?B?ZzRnaXFtWHFOdDFMbUcvK0dXc1J5MytibFNCTVBYVG5XNzJoOTdaWjE4UnBy?=
 =?utf-8?B?UVRYZW9hbjU1WnBORGlhRDNWR1JjVFN0ejVwUDVSNEtrZ29WVklJaTAxY0FW?=
 =?utf-8?B?SzFWWEU2SktoekZ6aVhydm4xZDBOV3JrYjdJYjlLbDZRRjJ5R1M2cWhLcU5t?=
 =?utf-8?B?eGVwSU44Q0xxc1ZKZTB3N3lZTTljWEFmSGs3UzBBU0h6S2JlakdLaFVvRHFn?=
 =?utf-8?Q?8CxGS1t/qgogzqIyjyLhrSHub?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5cf8c56-4db5-48fe-ac57-08db9717aa2f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 07:26:49.9462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WBIRWmvjIfHHzOrRT6+vVaZCH35TeM7rmS/9YRXHaMlta//sFkbUKcNUwXS29eeL+2eZb57++O3FlHo3MYW5IQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8331

On 04.08.2023 16:09, Nicola Vetrini wrote:
>>> 3. One possible resolution pattern is including 'acglobal.h' twice
>>> (either directly or indirectly trough acpi.h, if
>>>     the latter does not cause other issues) like so:
>>>
>>>     (assuming DEFINE_ACPI_GLOBALS is undefined here)
>>>     #include "acglobal.h"
>>>     #define DEFINE_ACPI_GLOBALS
>>>     #include  "acglobal.h"
>>>
>>>    this way, the rule is followed properly, though it's not the 
>>> prettiest
>>> pattern and also clashes with the objectives
>>>    of D4.10 ("Precautions shall be taken in order to prevent the 
>>> contents
>>> of a header file being included
>>>    more than once"), but then a motivated exception is allowed there.
>>
>> Not really sure about this one.
> 
> If you can tell me more about why that header is defined the way it is 
> (i.e. why it's used twice with
> DEFINE_ACPI_GLOBALS #defined and the other times without), maybe we can 
> come up
> with better alternatives.

The "Why?" question can only be answered by the ACPICA folks who originally
made it like this. Linux inherited the file from there, and we inherited it
from Linux. See also Stefano's reply on the matter. My guess is that the
goal was to have just a single place that needs changing (besides consumer
sites, where changes may or may not be necessary) if the type of a variable
needs to be adjusted.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 07:34:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 07:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577788.904811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSukv-0008Uu-HW; Mon, 07 Aug 2023 07:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577788.904811; Mon, 07 Aug 2023 07: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 1qSukv-0008Un-EJ; Mon, 07 Aug 2023 07:34:21 +0000
Received: by outflank-mailman (input) for mailman id 577788;
 Mon, 07 Aug 2023 07:34: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSuku-0008Uh-8O
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 07:34:20 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d185a95e-34f4-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 09:34:19 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9464.eurprd04.prod.outlook.com (2603:10a6:102:2ac::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 07:34:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 07:34:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d185a95e-34f4-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VsQO651MKgjCBmtPXIjCAaxMiWuU02jD3AzXC6cPkSlMae2ZwukLWD2DJJ1NNYxaE8P3eAJuJ0cy5idGfMlw8VYZ8wmYSwJo7MdY3cd1BFJ3dpQSwyZsIouAZkRyyaLkOGhTFuMA9yg8UEyAYre1iE3s61zgD1TUijTGVYTihRdHuVTMjkwCLyPBNyap5ykDSmzxiEjXe6/457fsWMH8WSVZpp297lA/Q3+SaMjShlvOztZ1Pa2WPGfl1rWEGemgBRv+ranRqdEawByplxq9x+IzFylFbDWTFFlCsZarfGOceZJ8WJTJeq1ljG8cqzc8Y57BTDbu3RPRs2ntP2jnxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iP3s02LxCbJoWD/kuK4cxD5RNSIhOTrDuWuGo6t7H2U=;
 b=EMtwnX06x5uue+LWTbvzKrB8Uua4U6YKym/+u4eYGqBMjyCmQB4G4TCWRUcJy0voB/yFJvWwXV6Lisw0Usjo+mpTtM4PSSRlTKmtZcETJOuWptK0AI8pSvzYDExlt6txz9kR4h9Hk6kPTphTv5Md+C8wnSZfC2eL+l5loWUCDxzy6l9rR5OpH3O1zBXBF780MliZh7zwMt+f9LRj6fniH5xii94qosbASimXTcGwMiXMR4iBlD5uCMKMx2cedt3WO9piKWIj/Occu18GB/WKGANWAdEkwy7rd+p7wA48cOiDE/L9+Sggqg0o4IP7cKAxU67t36muO0SV9/KgPWeYHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iP3s02LxCbJoWD/kuK4cxD5RNSIhOTrDuWuGo6t7H2U=;
 b=06XHms1jbJRjbzr4fEBK4oNS08gINq4+jwvXM83VmFyYS4lyC5KR5E15pM1dyQYZruJ1ci0D9K2mEmi2v2NDhUBnYqo28GXum8OzqmbrxAb2fOPLlDsjXcha0FiblK0re1Jk9Y/NMUDOVaYIUqC4NID77+tHAGnUr+m9KqhUBfOzRLR5t1okp+HeHLDuxK4cuLIZ8VEIWN2UALUKRxL4cgpUncaZCK9temtj8ISxFf937iqNYx5yrBWfge3KNJcAfyYhjFD+dTMTr7zDr+wDy/qFndFIymEwNzx+naa19GoWgbiwU7+JCU+Ejy1k/tUNcZgWntFcZlRANdZwntalYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce365fcb-2a9c-dd41-6abb-e7ecee53d7ff@suse.com>
Date: Mon, 7 Aug 2023 09:34:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Address MISRA C:2012 Rule 8.4
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com,
 Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
 <a44369bc5e64277cab6dedb636986dd3@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a44369bc5e64277cab6dedb636986dd3@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9464:EE_
X-MS-Office365-Filtering-Correlation-Id: d83fe74c-c106-49e7-7439-08db9718b33f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MwRNBYX7zSphKj/GdOtsQltzngMduFWDQCt9Q0yTlC7pKeGSiDE2I5V/Sx74snKyiR0bJiYAAI/nMO0dDsL/oaLVSDq3Qx2fdWTQk+6vtWaK8jnLgu6OxieR4F488gJWFpwHIljVk7E6nsiRrsHp0dNHbViTWuNBIYai73qKuD5sOw+4nohWDsNCd/aonNmsVyiG6UUhO9eHf8JsIpjEH6K5AYyl2r3LU3CCuI2ld05gaPNMU20mXisJ8kda0gKWz3+CzAqBLubD091q8vienIMaId2pIiW+0jw7Og3UnsE9NA7fN6WiIbDbEE4oXlGSBY9bH7lHRZubSKpBNfFHyKc2QTdMXySh3l3i1m67QenrlSoOQ/0dxNvtdX+mZfVsP4KxZglHiQmHTHFMrgcdVxUhDG/I9NnnM9souybd6GI4jY8a6/z6IyWXHSD8c5E1C6KM1mvSu69+LFnCHP2WbveUC5R5900M1KNcNYJbmtEZ5SDRU36XFGggQYIQ8zI2jFXU1ZdYc8NAPmYg1PbPk4w7p8wMIuTrmdZ2fwayWthEXWZov+7pCajSjgKZOgTOk+lIev5IxgILFwmEhCnJuBvggSZmVjEcrVqiO6NAjZoSM/lxOp7WCE7MLWdSELs7Y3k30qWQ9QDkumyBWlP1bA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(39860400002)(396003)(136003)(346002)(186006)(1800799003)(451199021)(7416002)(36756003)(66556008)(66946007)(6916009)(66476007)(4326008)(2906002)(478600001)(31686004)(8676002)(8936002)(31696002)(5660300002)(41300700001)(316002)(54906003)(86362001)(6486002)(38100700002)(6512007)(53546011)(6506007)(2616005)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnVvMmhMZ0ZBS2lucTJOaC95NFNDeTdIS2JwRFNldEFNbzBkamQwZ2dmYjB6?=
 =?utf-8?B?ZnMwbEo5M09ZcFkrckNreUU1TVZHT2NjeDQyQVJsaFVrV2hkTk1RNy9URito?=
 =?utf-8?B?ZUZlVitWcTF5clROdUl0QW51OFRYTlc1TWFQQVFlZ1JrUWlQRjlKbzJHaXZy?=
 =?utf-8?B?Vm1oUzhCYk9nMWppMEZrbkY5cC9EZ251dEVWaXE3UWtVL2JyQzRObXUvV3p4?=
 =?utf-8?B?ejIrYzgreGtmOWtzRTR5NkZtRU84d3BXaFcxNUtERmJiZmZnRllJUFVtVGEr?=
 =?utf-8?B?NkxSRFlLem10TUExVVJGZ2ZYcU9XcWZ0dklGTzBEbTMrVE9NSVFYZ2dUOWV1?=
 =?utf-8?B?VGtiMEtDbUVxMERybkZ5TVBOemMvN3lpdXlYNzBkOTVPWldid1JlTFo5NDBz?=
 =?utf-8?B?MHVabUtSMnk1UHQ1dDZwVUVuOVJtQlZ2aTBGc21paTc0ODlvUEtrbUtMOVdB?=
 =?utf-8?B?YVR1bXdqMjlJOWVJa0xVZy9jdXgwMUdQaGg3OVZqa2tOZW1kUEJUcktQMGxh?=
 =?utf-8?B?TDVYK2ZXcStzOHR6Zm11amdWS2ZZWmdDemlGRjZ4Zlpad1VsWllDd3B4UXpi?=
 =?utf-8?B?OXNUS01ZYmIzT0pYdWRQSS9VcnRkOGxYbUdHTnhCWStuMEtCdHFSY2R5NmIr?=
 =?utf-8?B?ZXROY0lYYm9YV2ZNVzRUL0JDcGdOQ3drVU5uTC9hMHcwc2lwV3g1ZFlRWkZI?=
 =?utf-8?B?R3owRTlYNEJnd3ZTb3RsNUtTTTBiSmYrd1ZxeDc0SWUxbFNIcnA2Y3hyUXNU?=
 =?utf-8?B?L2Q3QnRsaGhCalNuc0Q3RWpjemJ0SlRER0JHVzdMck1FaGFxaDZBcHBjYzZN?=
 =?utf-8?B?L3VjR1FHTlUxY2FjSldheTkwRS9NZ3FYOEc2Z1ZKaVBCU1pXdVg2OFl3Z1Fu?=
 =?utf-8?B?NXA5dm1SZ1k3MEVJYUpuM2h5OEE2eUVvMGdOck9DKzJXYlpmcjhWemJZVjFF?=
 =?utf-8?B?KzJUS1RLaUVxQ2JBZ3dQbVh1VitYS2JKenk0OXV6WE42UVpxMnNLb0s4WmdX?=
 =?utf-8?B?aVNpa21hc2ZzN1ZpWFFOa2RCaCtzQXl4QXhpdDJCS1oveFBKZDlMSEhGZlJs?=
 =?utf-8?B?YjVTOXpVSUJzMjhROHhJMTg3dEtwcUZVUXYvcXFRSGVjZ0pTSzBqNTFDTUVo?=
 =?utf-8?B?U1g1M0k2c3Y0TnE0REJYTVZDVnYrcE5LdW9hbmdDbGw3bVpNcDQ4NHZIY3Zv?=
 =?utf-8?B?VzBmanNWWGVLT0tCU2YycldmNWU5V2thRFZNUVBjRWFnTWFiWXd4QUE4QXpi?=
 =?utf-8?B?ZVJZNzBoQlpyclRnQ3ljOXFkVTNaQTBSY0pzYUp1Yk91SnpGVWVDVU44QmVB?=
 =?utf-8?B?QmdKS21BRy9CUmxkZE5Pakx5S0tVNitQR0RXQ0VSUmcxN3F6L1Z4bi9mamI2?=
 =?utf-8?B?SzRodVV0a3JxNGVNZktRUHY5NlQyVSs0V28zSi9SbldTVXBTWEVHVWpPWjNs?=
 =?utf-8?B?MkxBUzNxWGxzQzBwZUgwSzNEbVo1OVhaOTRXM0RnMEVBWndKaEdiRmZBRkpy?=
 =?utf-8?B?QUI2anc2dk1MWVZ0RU1xNnpycUlPd08zTGFsbThPNDJLTXRGcmYrOVI2bEdx?=
 =?utf-8?B?ZjBKK3lnME1yL0kwSDhLc243Y29ITXVQUkhacWpZQzFlbWtWaXVmK0cyNXlK?=
 =?utf-8?B?R2FsbGhLNk9VMTdLUGJsdVRzTkhONXhBTUxKV1FweGo3WGxPT0pHMUlDbkZq?=
 =?utf-8?B?SFZzM0s2cTU0TkZZdVgrWE85VnN5MTV1UGx5dGYrV09RK2tZVFBNZ1ZqZVpr?=
 =?utf-8?B?elgvNGs4c00vVDUyZVdaSk5sVHpIK3hHcjFoTWtSZzBYYUdJY0g0VWQ1RzZI?=
 =?utf-8?B?VzRyZUdSRGVrUnlkTWluUnhaa0xrMzdDMmtvZjA3RTNhU0pORmxhSzhVODVP?=
 =?utf-8?B?OHNVWmQwcDBUdEQwYys0QWJ3K3MrTVdING1Ya1R6cTMyU3FwTjJJZHN0SWMr?=
 =?utf-8?B?RE1WNVpQdm40M0xVU3o3SXhISU44RHZqNDZxZVhaelZPMm1JMEdsa1dhNzZj?=
 =?utf-8?B?UE1pa080NGJIUUFKcmpBUGo3VUpMTHY2cDJRdGcyaXRwUXQrenUwbXhEYlV0?=
 =?utf-8?B?T2dwc2F4RzZJZ3ZmM3M2NEJDZkJQSVNIbWxoQmNSejNJY3dCT0FwT3hsd2RJ?=
 =?utf-8?Q?yIgtahkzpl8NYEXPd7XkZ08hH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d83fe74c-c106-49e7-7439-08db9718b33f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 07:34:14.6395
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e+iigotxt3yYTc7yVWp+PceQyJ3JM/nAcd8q1pvXaC6CX0bolq0FT5DGIkUuc1zdpZ2NUmDqfif7RwB1kXwXwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9464

On 04.08.2023 16:00, Nicola Vetrini wrote:
>>
>> Upon further examination, I identified the following patterns:
>>
>> 1. Functions defined in .c called only from asm code (e.g., the
>> already mentioned __start_xen)
>> 2. Functions/variables declared in a .h, defined in a .c that does not
>> include the .h with the declaration
>> (e.g., 'fill_console_start_info' is defined in 'xen/drivers/vga.c',
>> declared in 'xen/include/xen/console.h' which is not visible when
>> compiling the .c).
>> 3. Variables that are either extern or not, such as 'acpi_gbl_FADT' in
>> 'xen/include/acpi/acglobal.h', depending on
>>    DEFINE_ACPI_GLOBALS
>>
>> Below are the proposed resolution strategies:
>>
>> 1. I would advise to add the declaration in the relative .h, to
>> support automatic consistency checks with the
>>    implementation and a quick reference when touching the asm.
>> 2. To comply with the rule, the header with the declaration should be
>> included. Also note that there are some
>>    corner cases, such as 'get_sec', which is used in 'cper.h' without
>> including 'time.h' (which should gain a
>>    declaration for it).
>> 3. One possible resolution pattern is including 'acglobal.h' twice
>> (either directly or indirectly trough acpi.h, if
>>    the latter does not cause other issues) like so:
>>
>>    (assuming DEFINE_ACPI_GLOBALS is undefined here)
>>    #include "acglobal.h"
>>    #define DEFINE_ACPI_GLOBALS
>>    #include  "acglobal.h"
>>
>>   this way, the rule is followed properly, though it's not the
>> prettiest pattern and also clashes with the objectives
>>   of D4.10 ("Precautions shall be taken in order to prevent the
>> contents of a header file being included
>>   more than once"), but then a motivated exception is allowed there.
> 
> One further question is whether functions under 
> 'xen/common/coverage/gcov_base.c' should gain
> a declaration in 'gcov.h' or not, as they exist just for the purpose of 
> being referenced
> by autogenerated profiling code. I see no reason why they shouldn't, but 
> they can also be safely deviated,
> since they are not called by Xen code.

Imo it should be the compiler to provide a prototype for these (much
like it does for builtins), thus ensuring that an implementation
actually matches the compiler's expectations. Yet afaics it doesn't.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:09:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577799.904820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvIx-0004GC-PV; Mon, 07 Aug 2023 08:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577799.904820; Mon, 07 Aug 2023 08:09:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvIx-0004G5-Mm; Mon, 07 Aug 2023 08:09:31 +0000
Received: by outflank-mailman (input) for mailman id 577799;
 Mon, 07 Aug 2023 08:09:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvIw-0004Fz-JU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:09:30 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bac74d8b-34f9-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 10:09:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7205.eurprd04.prod.outlook.com (2603:10a6:10:1b3::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 08:09:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:09: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: bac74d8b-34f9-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EGEx9Z/ALLfB1M2ziu4d7RsCpnPsIA8iVee0iRRghoPNE5KHNKO3mUfzERpqcLECkh4AKziFQphF046/i+iDvCqAbr0M0cCnuaLPsQ6T6PAUHKGQSHMzTTN/It5GCmxoNNKzNAO/wmHQCia73zpVglKyMOm7y7WbOZ7YEQq1lxmVd3EvbMETLzk4sbaA8IzmjmfzsvKnZ1PsvxeMLkLOu+ScqMy79zbzS6MKQPBZC9MhyH2r+2BQjbmyWBepXHSl+7IbqC50aPPRXZoIxk8zIFYSZJSMUsCdJv7hOgq6m1P6SrU3jUmwBeED15ud4TSJB26oMI/9uGfB/9gfwNbgVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3MwbzB67oxEI7ogaF4SvdyY/jTHqGNrSN6zBwjin06s=;
 b=kh0knZ+9LVwN23jsPuBozjOGPbhjkxanl2G5/Pok/QJKkKSSJiqckt4CpbmFuMC6oSOgBbdy+jlkGPLncfs3xCB35DH/Ah8pkBMOiVedW51oc3lIPxWqhVtlCD+hrGODL4wsb+XHz427i9VrSp5IzelKipRWaB8SnApjSjwXM+L4AhDorfljNrwh0CQGAWhgTR9sUPQWW4e4o0X4U6mUeAMqrNs+Hqe4fzGeyxhF5lIt+idxCw4eWmZ1vVuFm7Qwru8WrWVeErHdxBFPFALcfaJadA65s594SMMdfaCMe//AAb3NkOxBFQbaKSXElWUq9EIUed/SEY+rdqk9AKw3NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3MwbzB67oxEI7ogaF4SvdyY/jTHqGNrSN6zBwjin06s=;
 b=V/ia+n3JLYkMm9nsB3KarqYuDbQ8b0sh8zxYGq4nKxs0dpjlYLCuoKOFok8JOERFy3J7lakdFfXBhyetTiR1ZVxMy1dn9LUKRRTzRVs+Lj+xy/HwExgzVm3jUhz9Kpc8qAiKQiJyN2VXF1zMAkF2264STUc22YRea5k+hSyH0h27xhFIQW5F4XMjz0KJfd4zsi/t9E4whD8xse6ftJ/YYTtYJVzhdEBvfB0DRAQe6mUtX+6Xey/gI3VSpijd4hGl4VOKwZlg95hcgRP6Ala1Z+NoNBZkgXmIVlVztl3Ut6z1v+nmlKthzbk3mcd5uVoX/tVQSS0rq7MHGAH3/NCZaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
Date: Mon, 7 Aug 2023 10:09:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7205:EE_
X-MS-Office365-Filtering-Correlation-Id: a5222520-9eb9-42e3-65de-08db971d9dea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	azi5ZJxi/grSOJZ5XpNTogpU8w/uYD71IDv1w6d/txVcgOBCJUNVGUvJj8ixZeoyjDMxUc76OuSfMCehPMNbNp+Ar0Jp2xyAMP2F0373PG3h2cynrwINc6ybDFij5J+tUtIwlNTRUZ7YglU1SKBqF45/bYyfJxfTjyvs/vLwq0eyjEhGhYCpmPASO5Tf0ZRmDMquHgqc1lM2/Jj2lkQ2AVjEA6xBcCABo637J9SukWDY64gOVcPwBP058DdlOr4cTcI8z1xtLsc4MGn7LN3tXqs2EDc55u9Ik4fbmqriYR++YjVOk9QPeJO1/ab80NSA2nDGH0PVYAttV1MQizWHxFzPZwNv2hSawZRpCVkd45GUxnA0uxyibHVImWP1tQRQGuWK0xwLSAjFxi18uWMFjALfAM75gusox7ntbmQ94JjYEAiCiXOvOkqobUwVoo8xCJGortnwcfPconsau84dAs9hX2+/lek1Gmp1en6WIDRLuffB3rB5HEbKKlhiTnAt0mDRfYSafYgs1bx0cnJASMhYU7wvuMWbz5mkcTXgU1SvJ5bhq0HFzwSRpMNs4w40+tnwbB66f0eROEi5NGR2ddJ5HsgcQ+pOBGZQlIAZPrI7f5Jy4J76QSqppLTfwQIxJLOO1sqvw2h29unDH2VuVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(376002)(346002)(136003)(396003)(1800799003)(186006)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(7416002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66556008)(66476007)(66946007)(478600001)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sy9BbkVJSmdPWG5lSHIwUnVLcUN6WmY2WVBwS3drQkdBVXA4bUFuUSt2OXhB?=
 =?utf-8?B?V0t1amQyUTN1T1ZScU12YStPenFPVXJEY2ZCQW9ScWFpa3N2Z1pqWk9mNjlX?=
 =?utf-8?B?U01WM1NWOUlRTHFvWHBFblF5ZnBXWTdvVXJuQ2xQRTBYYmdON2llZG8xSEtX?=
 =?utf-8?B?LzJ6WGhGNG9hYlczTFhqMHArNXpkTXhEdmVCaDZsVWRNQldZNnZRR21HTFd0?=
 =?utf-8?B?ZEZKQktCek93L3VKWGVlT09FcWVUQzFwRW5IZXd0Q0hSdkhQRXlqQmphU2Qw?=
 =?utf-8?B?R051Vzl3c0R5WDBLOHJGc0c1TVlpU1pVeHMwcHByOWZBTC9oZmtWR05IcnlB?=
 =?utf-8?B?R3BEQzkwZmxyUEhmWDE5RkZPdUZhTlFQeFJLNlhHRTdCS0lCcjBaTnZ5UWUr?=
 =?utf-8?B?b0hDcXZoQ2JQd1EyVnc2czFhbEdHbXhPOVo1cFRWNlRPRUowa2E3d0ZpTUU5?=
 =?utf-8?B?V01MeDlUNHBFelE3YU9Gc3UrMm9aWXFlem1MdlBnSkZ2dGpMU28vOHBwYVBj?=
 =?utf-8?B?VU54YWZ0RkY1K1VRRVcyRUpIK3BsSUxGL0RSc1BLMG1VcFNBMFFEcUkvNVc4?=
 =?utf-8?B?anlpMTBPd1NJVzkwTUFVdW92MHhuSFpBaW82R1pWNFJkRnJzKzFkSVNheHlG?=
 =?utf-8?B?U3Y0SFZoVnlmejl6VHRnUUxSTktGcENTME1lYjZPcVBWN1U1Y2o4cFhVeDhV?=
 =?utf-8?B?R0libUwyakwyQjlEZGFkOE1qNnUvL1ZKb0p0NzFUYnBBUTJYVTNncWIvSm8z?=
 =?utf-8?B?Wmo4MXg4L2FHWG9RZVVsWm5CMVc3Rkg4U2JkUnJ0dDJhS0w2M1IxZmMxR1l4?=
 =?utf-8?B?UDZtNjlXcmNhckZmMkR4VU5GZFJYdDB6Y09PUzZTczFUK3dWaWhoTUhxaURu?=
 =?utf-8?B?ZEFCMGdUbmdZaitzWFlpY3dEUVFRR0k0eGZHZWVhemVzc01IZWhrTUU4VjNB?=
 =?utf-8?B?WHVqZTN0TlByblZvejN0eXBMSm9YNkxKY2JpNVgrMHBNMHdhUFEyYVo1MUQ1?=
 =?utf-8?B?ZTgxcUFGaU9zNzBHdzdSWXlBc2FGaU5lajY5ZHVxZmd3UmlJRHdDcnRaOHZw?=
 =?utf-8?B?TjJBbU9WQm9wZk1rQVhGbmNxclhva0JQZHU4WW1QSGM5UXgxcnV6R3ZJUVBN?=
 =?utf-8?B?bTdndjVGbW4xdU1JWVdUSXpBWllvK0pUVWxoVUlmaC9QRnZoUDlKVGtkN1Bv?=
 =?utf-8?B?R2dTQjZobFZsQ1FWZzdDRytiNHRVSGQ0Z3NLRkxGbVBjdmlzQkVzNHhCR2tX?=
 =?utf-8?B?TlgvTC9mRHNlc2lXSnVEbTRZMHkwWmF0NXhRNHZGSUlLYzBMWDRvckNqakNx?=
 =?utf-8?B?L1VsKzBwYUZ5c2twa2JiMHNBdkZkUWNYdHllK3h5OFZKUXlpcnF5OFdtWTY4?=
 =?utf-8?B?RUJCTWdBSXRFeUZUZXc3YlloZXdYS1RZSzhFZnBTWjlMbCtIcEZOWEpOaE1N?=
 =?utf-8?B?cEpsQ0RqaWx5QkNRcU1TbytYY2w3M0xjVFphVTJDTmMxMjV4bEQ0aVMxbmZi?=
 =?utf-8?B?ZzMvRlIxN3ptMThmYmVMK0FRU3U5OEhlbzRDNzdydWgzeDBCcHUyMXBXKzR0?=
 =?utf-8?B?V2IvZkp5T0xLUW9TcDZnYXo0OHJFQkhqcmlSRE5FaHJ1SVRVSHNhSDJhSzVN?=
 =?utf-8?B?RlovdWtVU1l4QnRFQjhnYU1pcU9FNFJmSjA3bjBMbk1ZZ1dlazQ0V09nRGtY?=
 =?utf-8?B?NElGZFBodmUvWXBkRWtuNGZXZkZMRkZIdHhiMzNJZzQ4aWI2MzU0cS8wc2pG?=
 =?utf-8?B?YTJlYndPLzBQd1RMSmxMaUxHa1RDV0tGWFJZU0F6aWg3RC9ncFhkUnVMQWlS?=
 =?utf-8?B?L3AvaUJkNzBXbkorRmpLSVlJMUk2cnVGN3BNWDJBTUlaSUpiN0JWbHUxaDc5?=
 =?utf-8?B?b0NSQkhxbmNyT3d2WE1FTXB2aitIbUZ0YklWT0svWkVpWlJGYXdrY3hROE5z?=
 =?utf-8?B?VjlrT1BmNTh5TnFsS3hSQ3ljdHJ5dFpXOGNyb2dhWndSclNKQXl4U25KVmFk?=
 =?utf-8?B?Q0dpcmdTc1RnRWhVMy9qMmpycHZNOU9iYVNXcHZoTGkrRjBJRHMxYVp1Tk1u?=
 =?utf-8?B?d0R2Wm5nMkRvUko2ZmhNMXNqemp6K3B4UkFPQVVTVFNPSk00ckF0QTVTcEpD?=
 =?utf-8?Q?TBO7ef4JkfiisB/bZwzBkNPb7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5222520-9eb9-42e3-65de-08db971d9dea
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:09:26.4088
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Zv3XhbGOfOXLAZCGEz9PgoS1J0b06/CmjWKvHeebhtmcwvvLWtk6PcoLMrCLCNPqudIKDYEq9yrTxvt1E6S0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7205

On 04.08.2023 17:27, Nicola Vetrini wrote:
> The variable declared in the header file 'xen/arch/x86/include/asm/e820.h'
> is shadowed by many function parameters, so it is renamed to avoid these
> violations.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch is similar to other renames done on previous patches, and the
> preferred strategy there was to rename the global variable. This one
> has more occurrences that are spread in various files, but
> the general pattern is the same.

Still I think it would be better done the other way around, and perhaps in
more than a single patch. It looks like "many == 3", i.e.
- e820_add_range(), which is only ever called with "e820" as its argument,
  and hence the parameter could be dropped,
- e820_change_range_type(), which is in the same situation, and
- reserve_e820_ram(), which wants its parameter renamed.
Alternatively, if we really were to change the name of the global, we'd
want to take a more complete approach: Right now we have e820_raw[],
boot_e820[], and e820[]. We'd want them to follow a uniform naming scheme
then (e820_ first or _e820 last), with the other part of the name suitably
describing the purpose (which "map" doesn't do).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:11:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577802.904831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvKs-0005et-5P; Mon, 07 Aug 2023 08:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577802.904831; Mon, 07 Aug 2023 08:11:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvKs-0005em-1s; Mon, 07 Aug 2023 08:11:30 +0000
Received: by outflank-mailman (input) for mailman id 577802;
 Mon, 07 Aug 2023 08:11:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvKr-0005ee-9W
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:11:29 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe13::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01cd54f1-34fa-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 10:11:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8955.eurprd04.prod.outlook.com (2603:10a6:20b:40a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.22; Mon, 7 Aug
 2023 08:11:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:11: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: 01cd54f1-34fa-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FQJ/RJ7IU6Wvx3gsyoy9QrvCqaXMOW9sCPT0LU3ZjVXJsQuGANNz2zS91Q4VNg+xoL4rJHRgJCk+aNb2vlzDrSe9+zhB6jn0mJ7lD0PptTPZsjmFwMpjpa/WvYzEyLn1dnw+GeeRXKhMKKftdRQ+stFIpnrCPND7MJqdAQ4hVPu/QioGBxTRuNAVjJ1sBp6NCmR2hB+WvdPitD0kDLEjnzJQZMgbpGWy3Mdpa3O3RFrOa7gb8e3dDpmVQKOUIA696zhQCoX8dMm2TwcIL5yJ0AlEpFDa5OmUt98nMysk79K1uodVTU+o72+xfNT2aHo8DKrIdPDDS6rbZK6/qTqdAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cS4p0fmMuNYoG9ZS2V8EHvpZLTx0RCAzwjtOr9xWwjA=;
 b=SVUgdZTi7APWsCMCjDtSGevxxUNRcrFy6BGvd94++PddUKl8INkX8UKN1L8MG9E2o/d5vqnP3r7UxoBmdlddRSLHmnXGFn/q076P6aWNCs+QyOErvO56Jt7J3pyfh0T10N+vBfEq/+0rurHoIq65AqFYIQaSHq46+6wJBFa49OJ4SNkC6VXj00OAo15EmUDTUURRSApFy/fkp5GGA19O/foTITRyOODuth7K+93s8w0VBvLQa8Beo9cohVP1v6s8ZAHTsdAmwrxHBAES34vRqW1/WfZ76d/zDsgCh3ls/977ygM6aeubDj5wLm57wgPne9qt4IMBETVbHLAw4BvOlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cS4p0fmMuNYoG9ZS2V8EHvpZLTx0RCAzwjtOr9xWwjA=;
 b=RoRLc/sidzBEb/ubq9t5Yb0pC1QjL4JShfJsO4iScgnkGA6QvedGlBjBaIbDLftoNtsGFcCkJj2PDqWwagMe0XgoLwa7UMfSfL3wKtbMugnEE2sdlUSl6Fm0O86grI9iT4z9I8u/UB5oPYMITekeF488gNFDqTYgy27L8o3hdqmBYYR5k4iMZH2q4ESkoVVnMlIvcwAJ5LMni3hvENW+cxMapcnTBmORDmsSnslFzO2WN7TZQlZxkHjfGZJlmjZSNh2lcRcegxY9m+kllkfvU9VBz6g4zkhxDcSaLyt//KpkYUitLtzFN28paoRVF++HlM8n6zzQZWhP1Brg37Eu6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce6c569f-d474-0e55-e3d4-6a3519be362c@suse.com>
Date: Mon, 7 Aug 2023 10:11:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 2/6] libelf: address MISRA C:2012 Rule 5.3
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <55624244c42297da7da954009ba0559c47fc245e.1691162261.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <55624244c42297da7da954009ba0559c47fc245e.1691162261.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0190.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8955:EE_
X-MS-Office365-Filtering-Correlation-Id: 90d83ed1-abc2-4790-2afe-08db971de4d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q00twlkIWTH9VJD+Qrr7nH2KzOTEpzzMZiE9BJKfkdq2F10wtnw2a66fxp6I1Orohgic3ZT3BFXRVt4xMw2ff0xcFgc6R290NmVJaYzAaVBEHqBktRi6QdptN5LxDbJMyTKBrEpmgV3+owROB4fuy/XwCmU+BW8Zc++JtKNdnvPflJUR5vxis5Cn48HghgU68uD8L67qnRHZFf3O8lKXsCpNVwEqyS6hLdQrxA4/wq3cusXBRejLNFHT6UuWjVXwoFSHdX62ntsNR1Yk58Gx9kX1GpSWyRAceutanvmwEdTE+tUxMxNLRbEVA0djgiR+t+YYX+kIq8LXpPjRDC9VIrrLPA3/qeYzdmWxuBSmICZELma+SCEQ8JhUyKpHoqrhcdJw1Gv+zkrG/LOnoh6n5Ma/raBslDcj5Zp2JhFzZarwxPi0MyJCUwbGBZMJGxIlIaXZ3gHx4VUCvl8hdNziSGwSFtbuG9dZIQ08cXY9gMQppWwOxs9A/PlkASSLeH2Q4eZUoc/EPaVnO5B2GparICJXT1Q6Z42UPTdtRyKyaRPvS21bTSUaiOht/ehXX7yO/p+qp0ges7rEHwobpzt6x7RCBLVpUmB1Bvm3gx5b08nMQ/ubkI3TCZ5EPtigR0P4050k730fdur8uSmkmSPqmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(396003)(376002)(346002)(39860400002)(186006)(451199021)(1800799003)(6486002)(6512007)(31696002)(86362001)(26005)(6506007)(36756003)(2616005)(83380400001)(53546011)(38100700002)(66946007)(66556008)(66476007)(6916009)(4326008)(2906002)(316002)(5660300002)(7416002)(41300700001)(31686004)(8936002)(8676002)(478600001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zk05dkpaVWxtQUd6Q0RTb0VEZmc2YUUxMllPajBDVlJXQkY2ZzArSzhQQ3Uz?=
 =?utf-8?B?eXJYb29mMW5XMXFuVG5NWXl5VzB4bmIwT2lMcTFEZytvNzRBYk5GYkhiVmdL?=
 =?utf-8?B?SXZvM0ZiUHlZNUlkN1kxL3VUcnJ5NjVqUkJqOWhzL1B1VlJGclQ0bzNzRVpB?=
 =?utf-8?B?U01WcnBCS1RtRnRySmExYTZZS3E2U0Nocjk2L0dzVUQyaURZdm5ya0Z4Szll?=
 =?utf-8?B?SVJzQ21HVGd3L3VxREpqWGl5Umppcm85cFhEV25PTjEzSnY3T2JhSEljK0V5?=
 =?utf-8?B?T2ZiaEUvZHB0M1RaUHk2eGNBckIvZENlWEdYTEliNXJydjRKUzBlck8wWG9s?=
 =?utf-8?B?ejhUdndUZFJXMmt0WThUdSsrSVBCdVlWdGFyKzc4TThvd0NKSGxxb0JLaU5V?=
 =?utf-8?B?OGtYdU9Uc1VaTWowT0l6aTRFajl2Z0xQeHI1V01idHJrSHpEcFVYT0pzdlF6?=
 =?utf-8?B?WTFWTXJpZDFhZGxWN0x5TzFjS3VTRGVoSG5maGJrV1d6OEloODhEOHBFRTFJ?=
 =?utf-8?B?VTNqSjJ1OHgvWWEvUW1TdnB1MlQySWU2a2ZtaFltM2pNdFNmWDc3NXEzMGEx?=
 =?utf-8?B?QnJmNVMxUCtNODNiNUoyYnB6RTA4c0N6MitFclUrN1lWaEtXRHNHbEVQMmVE?=
 =?utf-8?B?OGl3V3hXQ2czKzEyOFE4dDQ0TzNJZk1TOWZEa29pRkM0blFzWU15Z0JtS3l1?=
 =?utf-8?B?K09CSWIvd1BIWndRczY0ZzBHL3NoNmx5aDNVQjJkUmRUeUt6VW1IZXA1azhy?=
 =?utf-8?B?eWdQQm10OERBRGJJYllqVkd2MGtlc1k3YnY4UVpWc01nVldQNUJaWHErVlBO?=
 =?utf-8?B?Y2p0L3ZqWExDUFVJZmlvREFiaG5vWDRYWVZpdVZJNS92eWlRNy8vR1E0TkVy?=
 =?utf-8?B?c2lNU0ZFRGdIY1FITzArVWR2STZlM21LWDRTaHEvblgxSnl4L2ZCM1JuZElv?=
 =?utf-8?B?aFRROUNLempqampLVHJoVk4xVWF3Q3MyV1Y0eXlUYXUrZWoyanhWM2dLbHJs?=
 =?utf-8?B?NUxWSEwzeUdPZzFvZE1tMVc5SWgrK0JnUzhLaGlyc3NwZU8za0tneDBqT2Y2?=
 =?utf-8?B?UDJUZFJEN0FXZ28wT3h6bnFrb2l2cTdjQlFaVHRXSHhxUVNZdHJCNGRENTBQ?=
 =?utf-8?B?d1lRRGFuWE15OTg4T2lTd0ZhQTdvZE9aTG9mdk1sREFZdFI1MU1zeXI3ODZv?=
 =?utf-8?B?Vk1oNllwd3d6ejhIeFN6OFk0M2M0bTN3bTVZUG9kbEQ3REpVdS90SzBQNnZI?=
 =?utf-8?B?citEWXpmQTBQNTkzRVYwNVFTallyTTMrMlJhTTl4TklZRVlnRkFla3RRd1Br?=
 =?utf-8?B?Nm9lQmJ6ZUFrYXdUZDdlN29wa0tsTGtWNnJBc1g4ZFRLNEtkT0dXQnVQL0Vh?=
 =?utf-8?B?cGdHQitzRmhoQko0OUR5MWplcmFhWFU3UmJwODI3VFNnUnpMUGloajZoU1VS?=
 =?utf-8?B?YVFKV3F5NzNxd0tSOEhha3MyNVU4OGNRUU9tTU1JSFl0WHRrQjVVeDZRSTVY?=
 =?utf-8?B?d2FLYm5jeGhRRzlWVG1ZNnRycnk2RWZlb3RXN3VBTFZvNGk0aDAxM3U3d2pu?=
 =?utf-8?B?c0xrQTVIMmw5YTdCTWtYbm5kYWk4T3d1MnN6eWJCK1RxUmNETmFlNkx0Vy83?=
 =?utf-8?B?b2RBRU9XMUdCMnVsbVVSL3c1Q2h1bzJaYjZFaHdBeXRpUTdmZUgyQlJsWXRa?=
 =?utf-8?B?OUx1OVh1QmdHeXNRZTNJR0tiK3BhNXBpaWRaaXJLZFJ0eDFtMHVrcDNmNkJn?=
 =?utf-8?B?ZDg1OU5pYklDUlRjVHh4UHdNK3pKZkdIVHI3MUNUZE1aYWdLV0FHc3MvQjB4?=
 =?utf-8?B?cWpZTTNoR3AyTGVrMjBVOG1uMmM0RXFLb1lyN05rdW9tdm5KcFp2THhRUkJU?=
 =?utf-8?B?NlpKb1AydVY2ZFFJK2JTdG8zMmFZZDJVSytORHVoZFZsRU1tWVl5Yk4xNHRZ?=
 =?utf-8?B?dUY3ZGV3Z1l6Q0J3NjFod3lxY0NtSHdvNjY3MzNBNDlsRVNRalc3U0IyVzhm?=
 =?utf-8?B?YWEwUjJjeENjNjFITmM4V2kyOW4wam5YN3JtdW9EN2VCdGRDeFAxK1pvZjhJ?=
 =?utf-8?B?Qm5mV0t2K1hOV0QwMTF3NkREQUVUYWltWlgwd1ZOOTZvTCtUSWRsdU1jOUhD?=
 =?utf-8?Q?1lfCJme+184yO1QGeCLTHTl5D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90d83ed1-abc2-4790-2afe-08db971de4d5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:11:25.3309
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: spgOrMO/WPe+GQbSb54JMjgIWXEmGyOo2KPoheFyT2u2cfqzTZWcUiwmQ+/d/v5u/9Thi18IeZIF1Fm/1PVwlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8955

On 04.08.2023 17:27, Nicola Vetrini wrote:
> The types u{8,16,32,64} defined in 'xen/arch/x86/include/asm/types.h'
> shadow the variables in the modified function, hence violating Rule 5.3.
> Therefore, the rename takes care of the shadowing.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/common/libelf/libelf-tools.c | 24 ++++++++++++------------
>  1 file changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/common/libelf/libelf-tools.c b/xen/common/libelf/libelf-tools.c
> index a9edb6a8dc..f0d5da1abf 100644
> --- a/xen/common/libelf/libelf-tools.c
> +++ b/xen/common/libelf/libelf-tools.c
> @@ -91,10 +91,10 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, elf_ptrval base,
>  {
>      elf_ptrval ptrval = base + moreoffset;
>      bool need_swap = elf_swap(elf);
> -    const uint8_t *u8;
> -    const uint16_t *u16;
> -    const uint32_t *u32;
> -    const uint64_t *u64;
> +    const uint8_t *uint8;
> +    const uint16_t *uint16;
> +    const uint32_t *uint32;
> +    const uint64_t *uint64;

While the chosen names won't collide with stdint.h's, I still consider
them odd. These all being pointers, why not simply pu<N> as names?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:13:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:13:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577807.904841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvMd-0006EC-Fm; Mon, 07 Aug 2023 08:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577807.904841; Mon, 07 Aug 2023 08: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 1qSvMd-0006E5-Co; Mon, 07 Aug 2023 08:13:19 +0000
Received: by outflank-mailman (input) for mailman id 577807;
 Mon, 07 Aug 2023 08: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSvMb-0006Dt-Sd
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:13:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 429376b6-34fa-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 10:13:16 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 90B414EE0737;
 Mon,  7 Aug 2023 10:13: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: 429376b6-34fa-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 10:13:15 +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, George Dunlap
 <george.dunlap@citrix.com>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <d18a1e2c-4396-7d7f-bd28-2d9e71107862@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <d18a1e2c-4396-7d7f-bd28-2d9e71107862@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <4c5b5091ecae8b1314ba67825f4a959d@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 03/08/2023 11:17, Jan Beulich wrote:
> On 02.08.2023 16:38, Nicola Vetrini wrote:
>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int 
>> cpu)
>>          /* fallthrough */
>>      case TASKLET_enqueued|TASKLET_scheduled:
>>          return true;
>> +        ASSERT_UNREACHABLE();
>>          break;
> 
> What use is "break" after "return"? IOW rather than adding code here,
> imo a line wants removing.
> 
> Jan

The "return false" after the switch would still be unreachable. The 
reasoning behind preserving the break
is mainly MISRA Rule 16.3: "An unconditional break statement shall 
terminate every switch-clause", which has
not yet been considered for adoption, but might be in future 
discussions, leading to putting back the break here.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:14:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577813.904851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvNo-0006nP-Qc; Mon, 07 Aug 2023 08:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577813.904851; Mon, 07 Aug 2023 08: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 1qSvNo-0006nI-Nl; Mon, 07 Aug 2023 08:14:32 +0000
Received: by outflank-mailman (input) for mailman id 577813;
 Mon, 07 Aug 2023 08:14:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvNn-0006nA-Fr
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:14:31 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e90dfc2-34fa-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:14:30 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8785.eurprd04.prod.outlook.com (2603:10a6:20b:42c::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Mon, 7 Aug
 2023 08:14:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:14:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e90dfc2-34fa-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SzntF4Q7LSkhShJrZ5k0sSsVOiZt7jlFelfE5pTS3C4MdSgXbBMycx1C/aylAcuQAL0PrgI9QtLavQw+yl0A0RuY48K22V1KGwVBw6ApZXwYAJ2fPQ+j7isB6OCUT51xvO60OfYw5IcufI5I2L8jRYgttEsqGo9n72yZOkFJAJ3sLi4UTKyvjVH7UDGNc0EbElADP5fLrU24BvzvHTUJZbciM035syUrTdxsYQgKhsXK4P56EdXrslpykpbmkl/h2pR5ZZUrYQfcWasD1XExGvaKnGFi05ICTzfA4ysu9Srcb5zUdq/+C1Lu/UyWEMBpyLnD3tjxiQE9BZERHyy4LQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tp4Wqs3WIyB0xU2HZc0LdtEmJywyEhfHFm4QfbYQrUs=;
 b=HQasCcBnwJrPm6vbRrKbFb822i3yl8bFsp6kiJQe0rffVjkjF1DnWEVY0+r2lTON7+WezDNgFaSSWVN8F/RjZ7aBii1nmhAi+PImlpYTBBxbmEQuiyecgy1ZJJHAZGHE543Cb2txTjwmBooXUe/f6c1QlarHe6e8EqdiJqupR4VLy1aXTcm8ckOJ8wn0BbDx/xWIcfQ/13VqBJevNk2JzFCS72nC6NxTThaMKpsKu6BB2lvYagdWq457AcDncIiRZEfQ1PZ5THhT5/dhRcFnC91+5WKRscBlxCl+CzRk3lw/Y/tkekOd3ktHy2IdgFd3PO4+FqTyl/PIXlJcqHviGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tp4Wqs3WIyB0xU2HZc0LdtEmJywyEhfHFm4QfbYQrUs=;
 b=457JQoUCDPXHTmVPaH+FHBzGKxgBdtoYVuZuuXLdbRK+aJek7kXKkcD9+LJGwASUikKfFvRIlK2IkWnapxgCypflhKHh5ZU3ozgqtNpnV6V45hpqYjazQhrD33BDVMAxs0YS4CTjvTAVUZnBjkbKUjM/HUWYNBRZydTQc2678PhHXDqRHhMC+NsbWT+/CAneVo2YQtHvFbfYGH5og6hlVxJLmbHht2gtUlDwM9Q94La/Clsjy7a9vA3niFpz1/I7+RgJ21Qdum0a9PZ5XjjZ/LVJsgKqntC22ShIxenMDPdkF7AfvfHEfhFux37N6ZHRwJiCCiU5Bi5HKflth/ZpyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
Date: Mon, 7 Aug 2023 10:14:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8785:EE_
X-MS-Office365-Filtering-Correlation-Id: b5c06f85-5abc-4718-2aa4-08db971e516a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MNDnyqzuogqibqiUCoDue/7lrfWXr6bQKWE5jlzYtZntcKghlQirdg0d9UKs71ArHJrNtMr+7GFqTN2xx6q/aUE1mOCugB+uLK41mJNKSXjavJgnS80AnSa57o4HKCcfdeV/pS2t6A0keuzRS8GEfAlnt7WfVf7ek+6iNVfQCtJVPcUFDHR5nCHs0qVaqSwu6nVteDp/KO7Sy75y5OrKZ0uwhgj2oNTRNS+Lv/8T2SXANn/zUSWMZsqSb7+k/S/uJLDItFjTtw9dexO3oWi4HVImGBDRG8JMWQpF8gL3hWzpFGDVqQM4K1oVq7A65URbUPZaf8qV1CoF4SQOpN47UATCy8ABq5UJICNsHyhoQA2TsfBprJlqeoil2B6MPCnkKk8RrqS/JRUY9GmHCME1XLXNUCeNKhqFks7Dkqhsx1yRFiOltI6SAnADwcrfZbV11aWNKCH0PRkBAyIviIWHG3vT5m21Ce+PBfCLpaHvl3udmEnyiQ4v7Dg2ygfXmdXy2gQdSNwzDqY51ur+gnvywPcwKwqVVHfqAytLwTtsSdSksgxpP+SnVB2Ox5czQcxIBS7aIQO86xxnPaIDNakFXVlU8Q8z1102849RuY6riOHZ6iUqHZKAzc53hsLBsnMDOC6xoaM4y10QYD93WlWciQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(376002)(396003)(346002)(366004)(186006)(451199021)(1800799003)(6486002)(6512007)(86362001)(26005)(6506007)(36756003)(2616005)(53546011)(38100700002)(31696002)(66556008)(4744005)(66946007)(66476007)(4326008)(6916009)(2906002)(316002)(5660300002)(7416002)(41300700001)(31686004)(8936002)(8676002)(478600001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aElld0NXaEQvQVR3Vk9pc1VYM29CZkxIczNjS054cEViYVlJbW5kMm5ITjF4?=
 =?utf-8?B?SFl3ell1YUdvYlFSVkhmaVorK29EdVZYYnNSMFZrUnRRSk5yL1IwM0JkRnVS?=
 =?utf-8?B?SExoNzlwbW96M0w2OEtlMTM0aXVtYTlGR09JRVM5MG9EUkpiU2VlVm1sNTZr?=
 =?utf-8?B?dVFobCtXQWdhYUZMbWpFKzFtYnIzZkVQbFBJMDZJeXVnMW5vVWpYcGZlcGZr?=
 =?utf-8?B?TzFkeklyR2owMEp6STVCNytrdFg3Q2NrTnZFNUROWFEwL1dvRElnci9iYjI1?=
 =?utf-8?B?T29iVTJaZjRvR1dkd1lkZmpMZjFDam10WFc4Y3k1UGFCQUVueDd5UmlKU2pS?=
 =?utf-8?B?cUY3ZXloYnlMRHZTZHd6dkpKL1p4UnZwZTF3bkVyV0FqdWpRSGtKTlpJc0t6?=
 =?utf-8?B?RXA0Q2F1c09OMFladmEyTVN0TTlZSFdBNW5lNjVDVVFyZ2VrOFQ0SDhsTGJ5?=
 =?utf-8?B?UTdOMmdwcHUxTEt4T2pZVzMxaVhiY1lvcTBlbGZKNndPS3lnckFacFkrSi8z?=
 =?utf-8?B?cEROZkFZZXk4YkI0UkNYUGIwaUt0eTQvZm0yU3hXK3JMcytOVHBPclF1OGg3?=
 =?utf-8?B?eWVtbXBKaTFvUTJvNTlsTFZLSW5MUm1jc01DSlN6MGVhditFZEJLb0Fmc1Zj?=
 =?utf-8?B?ZFQ3NnBIeDV4STJDTTU0UHJhWHR6ei9OUHNhL0h3SXFFcHo5NkJQbm4rS3BN?=
 =?utf-8?B?eVd4M3o4QUUwUzE4OTE0R1NScWR1QU5ZNTd1Q0JTZnJ5Q3FDb09EcHExMWJD?=
 =?utf-8?B?N2Fsb095U0lCYXM5ekVqbVFZSXZIdzNKSG45MzV5d0ZXdEZwTXUzbTdteEtJ?=
 =?utf-8?B?dzA3c3h3Z0VkRnlJSmFWN0VBL0FoeHNSaVpsa0lGZHFXU05Xb0R4MUVwTkRy?=
 =?utf-8?B?N2Y1UWd3Q084Z3E2Z2p2Z3pqelNyMk1rNEg2V2k1RUppdCs5ZEMrZW1pY09j?=
 =?utf-8?B?dXJpODE3YlNKdFlSTVI0emhkSTNuV0ZVczhwTVROQ3hwRkdHS1MyS3ZOSGEy?=
 =?utf-8?B?bllHcFNYMHJlM1prd2tlMDdPLzM3MjJzUzZnc1h2NVhteDcxeUM0Vm1iZDB2?=
 =?utf-8?B?LzljQTU5QWdDYWo0OE9XOHhXcXkrdVlvZkdCcVZEWDFrYi94elVSVStGdGlM?=
 =?utf-8?B?Q0NpaTNJRVhVeHBNbUx3NVVUOS8vN3l5QUVORk9XVS9mbVZTTFMxcFFBVmQ3?=
 =?utf-8?B?WG0xK2NNSDQ3WlFiL2dKWkJrV1BjV2pVOTNIcVoxYW1WVFpSYzlnRVJBcHU0?=
 =?utf-8?B?ZUNVZzhnNFpYcEdUaFFRZndaSUhCeTlsNHJ0L2pRQ2U1NHBBM1RaZElHdkJp?=
 =?utf-8?B?Y3hkbEQxOTV4Rzk5Vjd6dHAzWk84VG5HQTlBWGxjY29pYTBGR0dVSXRjcEtP?=
 =?utf-8?B?cVczbVV6UkVyK1hmcDdJR0pWMGY1cmQvOVhJeUtBQW1vNGFYeFdyMk5PNEUv?=
 =?utf-8?B?dGE4TEpoQUlocERpWnM0U3hQVjREOGlTN3pJUytWRjRFVlhxRVJPd0htWUJn?=
 =?utf-8?B?ZWloQU5oWmFlSHZhMGhGNXE5SStPd0RxT2dsY1JWcmk5bkhnY0piSWZQRjlU?=
 =?utf-8?B?K0ZjRXorL2x3SlU2c29GQXB1UlhKSDcxYjZ6aWJZN0J6Y1VodkFMUVlCVDRq?=
 =?utf-8?B?ampaNks5S3AwTWRpQWFKYUp4Z1NBRzFERldsMGI0cExpNTFvZzRNRDJSbnRk?=
 =?utf-8?B?eVRBb1o1dXgzbE9FNHJ5KzFiYW1iMlR3WjgzNGxSUEFqSWloU3hkRHlaZFUr?=
 =?utf-8?B?V2ZOVHdsc252MkZMUTdYcEtxd0pLbEU2ZTBwTWgyeWd5QnZJZVhHVURrajVh?=
 =?utf-8?B?S3B3N1gyK1VLQ1phY3U2MEVXWVkzR3NoSFV0MEt5a2EvTlR1alU4Z3NLNm5o?=
 =?utf-8?B?dmxySTczaWdBRVF3MWxWOW83ZFlXNzkvN1lyL3VDSTdyU0RramxROHlRVEFF?=
 =?utf-8?B?d2NMamZzRTRibEZJSjdRQ0p4RU9DdFROaGJZUVMwRTNEa09hRFVwVVh1Ullj?=
 =?utf-8?B?ckNRS0VDb3l3eXJpamREMms2R1Q0clRCdHVWS1J5NDJGNTM1Ym42UEc0UGpL?=
 =?utf-8?B?cmJKZ205eEx4a0h6SGZaVGwzT1ZuYlA3VmhWeW5DTmpnUGlQQXBIM1l4QUdO?=
 =?utf-8?Q?Y/MIam/RfJj8cPANtCv7GOCmc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5c06f85-5abc-4718-2aa4-08db971e516a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:14:27.5066
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Civki7e4TVoKINHGmCYP5aO0qNIalpX9BAyeDecRJYODI2JaZKRLEQNt2PiNxSUWXn+nJYm2Y4sT+Z9Ehs+hkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8785

On 04.08.2023 17:27, Nicola Vetrini wrote:
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -5,6 +5,6 @@
>  
>  #include <asm/delay.h>
>  #define mdelay(n) (\
> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})

As elsewhere, please also adjust style while touching the line, at
least as far as the obviously wrong case goes:

#define mdelay(n) (\
	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})

Even better would be

#define mdelay(n) ({ \
	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
})

or some such. I can take care of this while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:18:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577820.904861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvRi-0007VJ-Fb; Mon, 07 Aug 2023 08:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577820.904861; Mon, 07 Aug 2023 08:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvRi-0007VC-D0; Mon, 07 Aug 2023 08:18:34 +0000
Received: by outflank-mailman (input) for mailman id 577820;
 Mon, 07 Aug 2023 08:18:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSvRh-0007V6-Cv
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:18:33 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcd93e83-34fa-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 10:18:30 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 300E83200916;
 Mon,  7 Aug 2023 04:18:26 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 07 Aug 2023 04:18:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 04:18:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcd93e83-34fa-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691396305; x=1691482705; bh=5/hljCKSvUJ3VllZTNOb3/xNIGkRmB7g1+x
	qcia2/2w=; b=1rofZGUTVtqbSrxzKEX4Ajz3azTADUqzGZGOVkVYTn6rlffB/c+
	8FmLbxBqnqsGRJW5uWKTP/c08xcoRAB+3xkQ0mi32ymVqxo5EkXX//aC55/b6P2g
	+ymf9UkPh9nigVID5mTZa4EcoTubQ9vXepJpcLbpWcNtf+x3IVH2QIUBrVOzKk0z
	+TkcKGq/UGylyv4ZKUA+Wyec8LbgKhgn84tUPlBJxWkhUsYlAO0ZSfyOXaQ5OCMn
	wEgi+NYd+KFGGPvRRD5iZP4lDhjCil9ve5YhuExNgi37UQNYE+YD6OpLqSFW4CIW
	cyJutbXf5S4/2p/6B8wV0KR8Szh1KOSMohw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691396305; x=1691482705; bh=5/hljCKSvUJ3V
	llZTNOb3/xNIGkRmB7g1+xqcia2/2w=; b=OlDJZWmXWnO9mZfFfxJJSI1/lgTj6
	wnZn9b1xGXJ817na15D55C9HQs3qq8s5nA7N+L90j+i4IhvpfmuxhhhsqGl56uYz
	2F9kqHi3xtYiVzReFtDwwuKrohPw2A4eVgqT1R+SmoBadem49LL8kRY+T2+Rk1BN
	pDkEmtSQBDO7MoQYyOKBaAhkt9AtXN4MNRTsRLjbctSVnk6OI4y+0FNILgXceLq7
	rNMwNuKvE7fnJLkqD1mn8ExjGZ4kk+dahOG+gMDyjTblU9RZofE/S/d66OWOhD+k
	ad2BwjLqPn3Zm3f0UWpK4TxCZLwbLtvxWLhFzZmUaCBEExyYyFB8cQgUw==
X-ME-Sender: <xms:0ajQZAOLnVTPfI_-o4yxNkaYrrsqcnWd6As2GJy-QIBSn1GKxUvMrA>
    <xme:0ajQZG_-sppdD2DVgnSjpkgNYdfniAyoFG4ffTgs5mcXOJPY2czsgaIwUUsJLxceN
    hHYoqwq5xiMJsg>
X-ME-Received: <xmr:0ajQZHRngnbXDR8KRDtPL9qLrsr8Ahp-7JBSmlFQTDi6XPtxKTTcpFZA5Fod5w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtucetufdoteggodetrfdotffvucfrrh
    hofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgenuceurghi
    lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh
    epkfffggfuvfevfhfhjggtsehgtderredttdejnecuhfhrohhmpefuihhmohhnucfirghi
    shgvrhcuoehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnhepfedtfeduledtvefhheekfefhuedthfffudegteffvdfgheef
    kefhteegvdeugffgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsihhmohhnsehinhhvihhs
    ihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:0ajQZIuwS9r43VyipZZnPUBOaum2Cg-hTuSsrDtYLo-nW-Qacnqrjg>
    <xmx:0ajQZIfRPnlYBCbZjidpUCg7_USICkZ3prHk-jJR-rERzQIpuk34zw>
    <xmx:0ajQZM0cWct4rFV6GEkGPt3_41kVIjzjeXgWlegNYHgowtQTpO6NBg>
    <xmx:0ajQZAS333-ZdPtejNIMs78gCUVUnjNtjqXn7AfUhL2vNDTvpARg3w>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 10:18:07 +0200
MIME-Version: 1.0
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
To: Anthony Liguori <aliguori@amzn.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
Content-Language: en-US
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <1515356919-922-5-git-send-email-aliguori@amzn.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------K60iXJNiRjuGkv39nsa0Jww3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------K60iXJNiRjuGkv39nsa0Jww3
Content-Type: multipart/mixed; boundary="------------c6eAEZRrut7lNYqVrbtZtGs0";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Anthony Liguori <aliguori@amzn.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
In-Reply-To: <1515356919-922-5-git-send-email-aliguori@amzn.com>

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

Anthony Liguori:
> From: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
>=20
> Intel says for CPUID leaf 0Bh:
>=20
>   "Software must not use EBX[15:0] to enumerate processor
>    topology of the system. This value in this field
>    (EBX[15:0]) is only intended for display/diagnostic
>    purposes. The actual number of logical processors
>    available to BIOS/OS/Applications may be different from
>    the value of EBX[15:0], depending on software and platform
>    hardware configurations."
>=20
> And yet, we're using them to derive the number cores in a package
> and the number of siblings in a core.
>=20
> Derive the number of siblings and cores from EAX instead, which is
> intended for that.
>=20
> Signed-off-by: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
> ---
>  xen/arch/x86/cpu/common.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
> index e9588b3..22f392f 100644
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c=
)
>  	initial_apicid =3D edx;
> =20
>  	/* Populate HT related information from sub-leaf level 0 */
> -	core_level_siblings =3D c->x86_num_siblings =3D LEVEL_MAX_SIBLINGS(eb=
x);
>  	core_plus_mask_width =3D ht_mask_width =3D BITS_SHIFT_NEXT_LEVEL(eax)=
;
> +	core_level_siblings =3D c->x86_num_siblings =3D 1 << ht_mask_width;
> =20
>  	sub_index =3D 1;
>  	do {
> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c=
)
> =20
>  		/* Check for the Core type in the implemented sub leaves */
>  		if ( LEAFB_SUBTYPE(ecx) =3D=3D CORE_TYPE ) {
> -			core_level_siblings =3D LEVEL_MAX_SIBLINGS(ebx);
>  			core_plus_mask_width =3D BITS_SHIFT_NEXT_LEVEL(eax);
> +			core_level_siblings =3D 1 << core_plus_mask_width;


On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing on
I noticed that this changes leads to core_level_siblings =3D=3D 16 and
therefore x86_max_cores =3D=3D 8. If read from ebx like before this chang=
e
and what Linux is still doing [1] it reads core_level_siblings =3D=3D 8 (=
as
expected?).

What's the expected semantic here? If it's to derive the actual number
of siblings (and therefore cores) in a package as the commit message
suggest, the new code can't work even ignoring the example from my test
system. It will always produce powers of 2, so can't get it right on a
system with, say, 6 cores.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/t=
ree/arch/x86/kernel/cpu/topology.c?h=3Dv6.4#n126

>  			break;
>  		}
> =20

--------------c6eAEZRrut7lNYqVrbtZtGs0--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQqMIACgkQkO9xfO/x
ly+ssw//ex0IWjfRJNtizzKhsjf9gNU1DunP8Yof5DAL9mXkqW4o/JXCuo9MgAu2
2R3WpobqxDbqrzAo+R6sDzGlCLxp1UdFL/UbdXkzULqAmWM1wlXSc6OBK4Kfgvv4
w02DnU0C5SAHLW07t/ygjrHykBs/r0/XwaMEFkSogD1ioHmW61GHoJMidRAicmFE
k/4FgJwQ9BOBt/Uk/IU+pLBvAoUBvOW3KUgJz1AXmPKo5js3sz/rUGDmhypmI6q0
V+MKUHio0wpCGUEN0ZgnjzUtu5TkLrL7Qc1ijFPDHYbtKyELexxfpL++hIMXHDMy
+YfuFygwLbk/1D5DeZNLZqyvD2LI2G8uGqh0CBc7HXdViu8aZbgUZLEx6Ql8HY3L
ms3Cjo1/wtrO/IPyey1tjKE2BQdpPeAfQX3lZ4IdRJhBMbSf8LvSJdYcuUXldt3/
WkK5Txh/BidNNdgYvIa2Mi2FyyufuCfeQzlY9pnyYq0JK0UAKcbb9uo2bUCNKoCl
S5iDFGgddlR402hBou4s5lhj5D/LV2ZpdVRL0dlv5DE5kGxDcmaSM7zjHoZ0+/Cd
anxRLXENFLq0bqrc2WFLxHZkfO5nRKCH/gSkuTB3IIonTy04I4HgxvKVbqWPts3t
sQ29tGR4P3PVemFKg8BkEZZtLTj3quGT0jX6w+lMzW7j9JAX4qs=
=TscL
-----END PGP SIGNATURE-----

--------------K60iXJNiRjuGkv39nsa0Jww3--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:23:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:23:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577827.904871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvWR-0000Vw-2I; Mon, 07 Aug 2023 08:23:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577827.904871; Mon, 07 Aug 2023 08:23: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 1qSvWQ-0000Vp-Ve; Mon, 07 Aug 2023 08:23:26 +0000
Received: by outflank-mailman (input) for mailman id 577827;
 Mon, 07 Aug 2023 08:23: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvWQ-0000Vh-Dg
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:23:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad1860f7-34fb-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 10:23:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7104.eurprd04.prod.outlook.com (2603:10a6:800:126::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 08:23:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08: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: ad1860f7-34fb-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bEmaT4TTIK0Mfo586HrMGDe88Rrf9Z3hNoISBrvLb5PdOpoOfWnkCJNacf2fjoVWy2NZp78bLA3lafIbqjG78zbKrKzNjnw3UDVztz9W6LleMDHpDLwznN/xa69R7Gyh5NfgWaTrq9A7fTigyMmtnvFpspD5GBt5GjenS6zgWTnRm8PqAYfQTITmXSTQTdXExrMSMW8NlxRiqPWGjvt5X14VltDaPCfADpjMrzPUiDmE0Om9yLqqpR3VI8nRJVhqLKEjE+7dTd/ZVR6Xb/qCgbXe2aLSUfoyCxJ4Oi7fCmRrXMrvvqSB+6//uHfePUzV5w1aztWHzfuVj1rmprloyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ftNqEZHQAKAYL98A+V7QlXNmwwmyKY0cQXST6QNRhg=;
 b=Sc1Wob8ymz6u+h9UpgB8in1EPtaWgM3eiJMAuU4CjE6NJkFoYSRZABdU98oCoh+zZO98q5LrJvMm7RG9UobdBSgHdbVnndVOThuoDoGqHFmqc83ln10ja3yRtMT1+AYaj0PjE+FBiTj9bfqkNA1oQq0+KFlgsO6gW04SwVibcsvYTuEpXnpTJ9K+bKY7ZfPeLEYnktqRnhLaLMVcl207f7dnU2ag/ve681+0QJSSEAROd6RHHNG7hghRI+VeHRyWqDVpsDhwEdmDSNQ2f1a+j9DxmN/PX4igsQ+ZHXRmWBghX2SCgTks4HNXNz4fSmPZ7AxIAyZk8eLRQq7uulJtUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8ftNqEZHQAKAYL98A+V7QlXNmwwmyKY0cQXST6QNRhg=;
 b=eKzf8gQWax1al4TC3xf1zmCs/+T3DtHJYC0hfNpxyNDAjvBKesfFCtST6Sm94BSDGJ+iRp+15xHUXGalDhL9AWubKz53tsk+Pe0f/xWnpy/V3wM78NBDhXcUNY86oFidqarJmM7bys5vEGr/dJYGaepUEhwspzZd+G5yiuL/7grVHhMqDX4UIcBi7+Ueqnv4Va4QPh6gwD/3Mr9uM3klEgvX14xvINhvhAmiaKHBdt2Fky/83SB69p5DDFnx2CX1QHax9Qk0jVzcpV8hj9J19d+FBkaNKuvs4nkBWv2vF+RChygUMMeOkn0lDPQkZervhuGYENVK3/6quZOf5eVBsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82438990-cb32-a2fc-273f-151818834c4d@suse.com>
Date: Mon, 7 Aug 2023 10:23:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 5/6] x86/xstate: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7104:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ea96b41-59a3-4109-139d-08db971f902d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iOXtXntk2ktrY2bg61KvgdnH2QRuTVSxWvWDI6HzfsrH7tPqx3LcvT2VIv/ti2+hCnfzB4+F0l+Zkj7pZWTdCMstlJenZqxaC3eiNIwJHJN2gdhz+kBARgNnbi0BVEeyoIyGQZwkFmtzYRm1yydA+7iRqcC6ezkHdkE/FLC6SVtIaKh504/Zxs2BlGbHDPqG9h7VgbTWQ4IVtj4Q+L+byGinbrSvt3fD9K38MY5bz+G9ZvHVmcnuGPdgiErjEpShUtV3uYhzpbS3Gtmyqn/5wLRixflLZdr8svs11AmX+G4nbkclVPm+xkzXwLAkqdF4mJBlnV7ATguyv05oiU6ww+LC6It75kR6LPhTPIXOgQQrDI3wNqbVdd+OFBWJ0/qxSSIhqNekDRLQGaAanzRh7fwhEM5ymELAw1tiPa88HbhFiwb5Md8s0wyvWoOppm82BKds+nRbyR2Al/3+oUhd4qI8rn1cEDPoZk4z2tFMXWywbXq1Fe6rip5VVOhhFq9ePA+rHOGhMTXKMXRk4kvuaoow3NLhcZtS8B/QKOcxz/Eseeqletr/Su1wxc3NdyvcF2+Y2sYn9tKe8FPs8H2kXAr+hg7hkUuZsObLJF4PDrzZ4XWbmZDFaGdkMmbhZ3iRy/IQcBx7gigzJb423kbc6g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(366004)(346002)(39850400004)(396003)(186006)(1800799003)(451199021)(31686004)(2616005)(54906003)(2906002)(6916009)(4326008)(316002)(4744005)(5660300002)(8936002)(8676002)(7416002)(66946007)(66476007)(66556008)(38100700002)(86362001)(6512007)(478600001)(31696002)(6486002)(41300700001)(36756003)(6506007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTAzMDIydUxPMkJ3VDkzM29vcDJSZkxCUXI1Sk5ZTUU0SnZYZDlMNXFMTDVh?=
 =?utf-8?B?U1FqQ3FKcHBnQVRicytTVVcwZFY3QjNTSzBRK3lhazNZSzBMM3ZnU1cweDUx?=
 =?utf-8?B?VHlpSS9JeGl2amR6UHdHZTY0aWFXeXc1MmJxVlJUNXFzSGFCMW5jM28wVUxI?=
 =?utf-8?B?OEM2MjBtMTBqWmRZOXd5VnoxZlgzb1NPcnJFZi9ldG9od3gxN04xOEZMenVL?=
 =?utf-8?B?R3luOGpJZWIyZHRCSlJGMkJnM0hKVkhUeFVkUFo5TUJSZEE2RFpCTGpNRFEv?=
 =?utf-8?B?RGY4eEE1R0U2RXM0b0dCM2x4S0RnQjBYVFc1NmlwcmR4WVNqbXdZRjFTaWRa?=
 =?utf-8?B?Sk9ySWlQekoyenRhdXl6eGMwSy9kMDNDS2ZBYUlXaVQzT3lPcXhWV1hDQVhi?=
 =?utf-8?B?anNNZktEYzRLMm1EMjAwb3pjYi9qbU1ESFpjUkRCeEtDdTg5R1NlT0Z5Zkhr?=
 =?utf-8?B?OEpPRXUrM1F0NjBrL21TZGJ1NGlFTUdhV1N1eFpXMWNUTEtjUDkzbTZXK3Nx?=
 =?utf-8?B?R09lMkk0bFFkakRVVWJJYTVFN2ZDbmVKMmZaRGEyb3NDbHhsU0NnOEcxS2hY?=
 =?utf-8?B?QTdYZmxJNS9RcnZHblFmZ2dNOHQwbW9jeUJZN09JcUxFazB0VUVkMEZXU095?=
 =?utf-8?B?b3JRWjZIcTlNWnM3bjFhY21qM0NTMWoxNjZXNTh2TUFURG1Eb3R2ZDRZNURm?=
 =?utf-8?B?M2dpdGFuRUM5elVsZEpkcG1NSFd6K0I2UTV4YUFaTU1ZUmNuS3VRYmVTZytG?=
 =?utf-8?B?S3ZNUHdTVjhIK3poUGtIc1N2c3kwc08vVExvQnhrdmtjeHljNTJENTZyOVhN?=
 =?utf-8?B?ZUk4eUUrdjNaWEJucVhibDlvVGgzSWFSRngzd0cvYnJ3R2wyZ2ltOVhUSG1v?=
 =?utf-8?B?c1p5bWM1RmJDUFByNGU4eXp0Z2RMM2ZVejR1YWJyT2xYSHlubTNLak9GVk9a?=
 =?utf-8?B?dWI3QTF1dlhNQklkbHczSklWbEYwRit5MnM2L1B4YTJMU0dOU29ucVM3ODg1?=
 =?utf-8?B?NHlsUFhIUEFXeG5mbGtuUlRJN2N6cUpybTFTaXBFOTBrNEc4aHJ4RlFnN294?=
 =?utf-8?B?WUpjY0Evb1hKYUtkWEtYWTZWQmVMOU5jUVF3OXFmZEVnTjlYM2FtcjN1WHly?=
 =?utf-8?B?WDZSc0RHVUxVUUozNGlIN2JrVmEzOVZKNUdWak5OTXNSTitVQ2NQU3FFOVRs?=
 =?utf-8?B?a0RvQktUWG9ncm56c0lxcnJiNHVIQ2REaG4zcVM4dGFMSkFYd3Z0N2JZVkJh?=
 =?utf-8?B?VmVNY2RyWlc2L3hPcmUrMHEzdml0ZEF6VkVKd0JuWUM4OEdpWVA0YUdPek5O?=
 =?utf-8?B?bVR2ZmRqc2xMTUtHYkhSQmhYeVZ3UFZKclZqTVRKNndHNWxuR3BoU0VDR0p2?=
 =?utf-8?B?c1I5M3Z2MkVlbFd4THVrSE9xdHR0N1I5RTFNRm91Sjh0dkJ3a1R5d0VyOStS?=
 =?utf-8?B?ZnFLZXJMS2o2RmZCRlhJTWJ5RFY1Ry8zZTBwUFl0Y082ZTZ5OTZTV1FPT04v?=
 =?utf-8?B?RzZEeUtJdFhpRVBJTFluZXJlVkk4OWlFMkZOVEtDMWxsMHk1NWgzNGFNeTMz?=
 =?utf-8?B?OEk4R1U4RVNKb1dzWlFveFFlaHo2aDN6TTZFWXE3bHNsWlkrUlJqT1VxYlEw?=
 =?utf-8?B?aEt5VmovcHN2bmpzZTRQRWx6YW5nOVFRYzRHK1VkcTRtSXVVZG4wdzBNRFpy?=
 =?utf-8?B?Y0VNcXZRdU9pZlJ2RG00VkhsMlZyN1RPK0RUK2Rkd2hzNDVORDdHRk5QL0wy?=
 =?utf-8?B?NE9MdE9VY2thRWZMeTRlVSt5M1hOZ05TRGF1QnhPaGVwSGVXVG9FbUdGaWVx?=
 =?utf-8?B?ZE5uY1BXQWtxYTFST05HVi9CZkdNUytQNWJGZ2NFc3Q5RjYyMXdoODBsRmxP?=
 =?utf-8?B?ZzZ1N2lLNGMreFVtOGJkVW9OdXY4L2pDazZwanZHSFVmcGRrTWU0SHUyNGtE?=
 =?utf-8?B?bXlOdkdxTW01eUpCUVg0THNLUXRpLzh6OFgweGpMMG5CY0FsdlVEZFRCcWhw?=
 =?utf-8?B?NkZnMHJlaUp2ZGZJbk9GTVpjaEtJdlBvbjdUMzZlejJyNkZGRTdyNFdBNDdj?=
 =?utf-8?B?amZDUEkxTllCUlQ0VzFlcTBPekZEemt3ekFLZXhVeWtVd05kYUliWmtGVnBR?=
 =?utf-8?Q?oH9+f4577MgHxjcgAR3+uoAIU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea96b41-59a3-4109-139d-08db971f902d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:23:22.3203
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VQuD35ZJcWAy4fdf1p/aMlUhEM7znPUIfOCQo73Af2jeMDOgurYgnJbksGipfxutvmnDrJ//OssiH49G/tha8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7104

On 04.08.2023 17:27, Nicola Vetrini wrote:
> Rename the local variables to avoid clashing with function 'xstate'
> defined below, but declared in the corresponding header file.

Hmm, there are two functions with such a local variable, but you don't
change those. You change "xsave" instead. The new name you use you took
from older functions afaict; newer ones use "xstate" (and use of this
name is extended in pending patches), so preferably we would follow
that naming model (and eventually rename all "xsave_area" as well).

Also - does "below" really matter and hence warrant the "but"?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577832.904881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvdx-00021F-RK; Mon, 07 Aug 2023 08:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577832.904881; Mon, 07 Aug 2023 08: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 1qSvdx-000218-Nx; Mon, 07 Aug 2023 08:31:13 +0000
Received: by outflank-mailman (input) for mailman id 577832;
 Mon, 07 Aug 2023 08: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvdw-000212-6T
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:31:12 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c13fc92e-34fc-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:31:09 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9929.eurprd04.prod.outlook.com (2603:10a6:800:1dc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 08:31:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:31:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c13fc92e-34fc-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WCn+5t2wdcsAY1LLOenfGZiaG/wQX/mDFfudlolduC+Fvm6OzqQO3lh4tBHMcPDVoEOWeypvzQPDGm0UkVtBCC577lhUViyDo1LyFA3szhPjXx/E84seu3QnjM+sOVTQOmUrP4piu3c+OcMhAIK9FQ3ABeeHuvxrGc4cnoT6O/V9MSOLDY3YNQYq5IvxnHAc0C/5gO02K9EBjrKoXf2f3a+4cjfxo7kOmdCWKrxRUFS8qMvl+Zs+6qA9YwzjsFt2YhTgz9asX4Q9rXn2sD3hGVuVu+h2ZgCFsfSuIctBkFBi1kWMIgcoV+/IvCtK7MJAVxpU0+Lstvjbg9JD7vl0bQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sulIWApr+vlwF7fTQnl9a3uBjMHOZlcD0zz7tG6//KM=;
 b=KUsAdHhROrRDgdj8+RVlWJI9lXCFGcQVbJTJtc/4tXFkWrivUtkwSKLsINzNRSMkug/OHWaqFud0cGw90NVR88FXgA3Ych2xsWu586qzjw+j9Sq5952LrLSuLE2WX71EH95TsueGv9v/IiGIsLQvItNbC9w/IyyyFvQrbCVXwwq1oD9ZESaZfKO5AybEZR18k9FOaY/BeuSQozVix561E0hpSgz2zlqBOvBBvvwM2h2lkls70T981U1KYSAQoVKCAYJwU1+0GmrZ0moMTjdYypyY85i4fvGY3iWyhcSdcFsolVK3IY/RPxC3WjsrAIr+cM/SzMwooreOutFXkXdduw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sulIWApr+vlwF7fTQnl9a3uBjMHOZlcD0zz7tG6//KM=;
 b=Ky2Pxb7/Pgr7AB9ZYzmS/R13Z8EtyBmDr2GIZg6T7A1CoPZmOqz28jSJezQADFAY61O1OLPXTW/lMzn+gD/heforIpsBCOeLOyWN+Hb9u9XdLVJZMbbWPXq4qK2SEU5QNrSD/tOPVEwQKbebTBh4uoE1/Pdw7XNh3d9R1L60PqOuafMalI2MB7A/rtO0sPtx+8lSxZVI0v6YXElUVwJIIeT28fWNyqqKGwn7vKzBQFKbrQ6q3TTU96N2ocQXcXUa7cj1XWvkoxXsEDHKFd3oD4MUgkDahISs5YR9Vy8lkvb1Q7MZJKcq/bjuJe+haaVAwID4kOKSEvZ+VMPM6g88HQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b575aad0-9c04-2037-b568-b2bc1fdc33d0@suse.com>
Date: Mon, 7 Aug 2023 10:31:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 6/6] x86: refactor macros in 'xen-mca.h' to address
 MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9929:EE_
X-MS-Office365-Filtering-Correlation-Id: 05832750-b731-4b17-e25f-08db9720a434
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eYX2x0F5wxrdCqtEVsNEzMIQaV5gMvUtmzZgGx/S1z9ncVfB5RojP2oxK7GU1UBwmCo5gn18lsSN+ZFyfUemMdB9VwCup79nsF5G8jvbG05Q2szpU4zrMxNUjQ93W2CNzl6B0mMHnFjt+uKKfMfX1FUD6zEzGRz4N9zlH656wCt9wdDxYt9Kcvhy4faTnAdKvGwqCeJ8tRGehusnfZ6GS6HJj06EE6DQkfHQJ6Gb4vd3oaiu6I80AoTwttcc9OM5t8uau4PnTSuadX/rT037QaYEkw91yfIpGlAGdIX/bsx049E47n2wqSwzNap//LwzBreEdDocgwKpQ7uJA8LPnq57v2iDz/DAOm7vOQiAWUNJLNoUQr3TVn9krI3QQHbk8tV8s3X5Dyh9Dr6Em+PvnSQR3/6gBwwMaIpYbws+mONRU/Xadee2tXRDOn4us/VDseFK8HzLNUVkIVh3tKMOBydBya8nCRUmGP8bn218ZjU84Rbgw01w0isvZcbIsmbNdTs4+eb0Aoq8A+EYnZlj8jLu9qvoLOPGDXjrxa9yvxR33XcBsFHnPEoiZ+oP/9ZA6+fSoiwHw/6+vob426g8dxEhKanez2ed6UWHy1fezqZIdl1UqbFww/nGrmPVurRtc/0Kf0MPCRYJ6XiYCkOsiw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(396003)(346002)(376002)(136003)(451199021)(1800799003)(186006)(2906002)(36756003)(5660300002)(2616005)(54906003)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(4326008)(316002)(31686004)(66899021)(41300700001)(86362001)(31696002)(8936002)(8676002)(26005)(7416002)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWluYzh5ZEFMTmFuVk95TUdpSFVYckZ6ZTRUKytZRTZHT1FrM3lnRDdjTHl6?=
 =?utf-8?B?TjNIRnNmTUVMOVpqanFUOHhZT3J6Wk1RNzJ2anBPUXFzTG1qcmFRYkw5ajU3?=
 =?utf-8?B?bmZ4SnZyMGVtTHo5Sm4rUElIdllSTWVQMmptOWtKcHFoYXFWdUI5eTE0Z0o0?=
 =?utf-8?B?bkthNFJyVXhTYnF2ei9XQVVBL2dFa3h2TVFqOEFETzZjZ2s3M0s1d2RIZlhh?=
 =?utf-8?B?NVdTNU5ZWVNtUldvam1GdFZYbStrZkNlclFrOVBXQjAzcUhVUTQ4S3Z2d0Rz?=
 =?utf-8?B?ZHNnMDBEMXRBNG1STGVLbzV1VFhrWU81UENTSGlNczNzWEUrZXJmTTRCZXRU?=
 =?utf-8?B?UDJmcTlzampoZ0dZVW5pRUJwZktJZGVtemQ5elFTWndNZmNDdTJXSGh3SzJz?=
 =?utf-8?B?WUFaZkdyTThjSEt1ZjZXY0pEVjA2T1BCeEdTdG5vMC9mWGFxOEtKUmM1U0V1?=
 =?utf-8?B?a3pSYWsyY2lEdnJhaGM4YUJmcDNKeVVTM0psYXBYaTFPNVp0UkExQ21pRUZR?=
 =?utf-8?B?bGVhK2E0QlVqNGE0QWRxNGg4Y2FtZnR0ZVpKWHh1bUZvZGxCWjRIa01TUGZs?=
 =?utf-8?B?QThtSmgwNDBCRnY3TDFmR0hGN3JNL2RtdGNibi82L3g2VUdmWDV2OG9lK3Ft?=
 =?utf-8?B?UjF5eW5hZ2IzUmJkUzNsUHduZUZWVFUxb0hIcWtPejdJcWdCaWtRekJudDJK?=
 =?utf-8?B?S2pzREZ5bmQ1VWR6QzJFM25IOC9PTzYyZmhRY1FkcUVkZ2tZQUhSbEZNT0I4?=
 =?utf-8?B?NXJwWFN2RVlSRGQ0K0x6Vi9hNDZXQVN4QUtJa0F2UGdwWWUwSkFRcTNreVZp?=
 =?utf-8?B?RC9hZWJvQlY3K0VNeUVLYjFna0l6amRoSGZ3Wk9HcFcrNlEzajRnc3orRmQy?=
 =?utf-8?B?Z3R4VVl1Z2svMnBzdlhnc2hKTWM5a0QvOTBRY3Z3KzYrTGxOdWwxVmxaeTRK?=
 =?utf-8?B?Z3IvM1IzWVEwQ0ZrZVMzbVhyT2Y3Tkp1cURHczk2bEtCTGRMMVpxczFFTnJt?=
 =?utf-8?B?TURrQWJTSjY3aUdLZlltNEpSWFhKSTZLYk5oVTl5QWhOMHNxb21Rb0VqSEpV?=
 =?utf-8?B?OUlvMEZWSFJlTVowZDNVV2RUSm91V2V6U0lPQzYyTStzaXIwV2h1M3IvdU16?=
 =?utf-8?B?T2dzTVUrZFhpVGhDY3V1bEltM1JiWS9yT3pIVnJmZHY2dURFUXJsY0s1ZTc4?=
 =?utf-8?B?bGQyZ1ZPM1FzNmNxTm53WGZKQmc4UnJoZmdRZ3RiaUNYa3pqUStoQ1pham5a?=
 =?utf-8?B?bUF1bHduaEVGNzNGeFFRSWxvV0MyZngvNHlrakVjSjB3QlFub25DUUxKNGl4?=
 =?utf-8?B?Zzc1VHdhejVZSG80N2lscGdXWEgvam1BU0VRRmdBU0IzTkg0VzMrb2RjaTNF?=
 =?utf-8?B?N2xDaE40SGpuS2s5V0J6VnplbmNyZnFRREk5QThETFk4NXdGS1FhMlkxbzJy?=
 =?utf-8?B?dTVrcFQ1OHpvWGg0ZWdSOEQ4bmQxeXhuTE8rRXZzZGJadzNpbk4vai9QdHhP?=
 =?utf-8?B?TFgvV1dCWE94TjN4NkNrRzErL2pabllPWkZWRTgvSkt2N0svbWFGY1haQkhr?=
 =?utf-8?B?QXplbDd3QXc4QnZWNVJuaTl2dGVzN3dQUktsWFJlQWtXbHFEa3Vmd1loYzU4?=
 =?utf-8?B?aCtZYlVtY2FpRUd0cUNWUWVHUnpCckNaR1VMdmZPSllTeVNqTG1EZVU0dko4?=
 =?utf-8?B?emdQQU5VUnJUTEp0WmZYd2N6TURQV2FHd2FZQ2lQeGNrWGJXNWtvR1ZVWVpH?=
 =?utf-8?B?SzdjcmhhSXdEY3FUS2xhRVBTQjF3NzAyWjhCUFJ1bHRBQkpQRXVsVXlOTFA1?=
 =?utf-8?B?Z2xzeGFkcXRuSDh5WDNNV0FOL3VFSzdGaUhHbnlYVDkzS1BsbzV1MXhRNk5Z?=
 =?utf-8?B?TXdmbDhQVkxxZnlQMi9SaDhsWFhiTXVKdDlqb3YzKzdESnNrTkU5aEIxdXEr?=
 =?utf-8?B?dFZibjBqM0diWlZxOWxOT3RFM3lVd1A2UzJ4d3RKYWVIOXVPVHJlTVhxQXVO?=
 =?utf-8?B?bWJVUGVTTnJhYVZDVHZJenAyVmRHRWQ5dTJTNk9FTU9JYzZwTXYyRVI1WDRU?=
 =?utf-8?B?WEFnMGtnTW5ETC9MMnNwMVY3UG1VbEhHa3NmOERyQ29wMkVUSVNXWXBaRFFa?=
 =?utf-8?Q?M5N8cnOX2l7pla0kHsqBfBhoM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05832750-b731-4b17-e25f-08db9720a434
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:31:05.4753
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VG+yByL+JzN/1Gv7zehQTzueDzmyVjUILj3Y6BsiOQPX91igY+cjc2Xd68R9fAwf5HwC+a2sGipop/yB0Nz1ig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9929

On 04.08.2023 17:27, Nicola Vetrini wrote:
> The macros defined 'xen/include/public/arch-x86/xen-mca.h' have needless
> underscore prefixes for parameter names and variable names that cause
> shadowing with e.g. the variable 'i' in function 'mce_action'.
> Therefore, the renaming aims to resolve present shadowing issues and
> lessen the probability of future ones.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

I'm okay with the code adjustments here, but I'm afraid I don't follow
the description: How is shadowing of "i" connected to the use of
leading underscores in macro parameter names? I think you need to
separate the two aspects in the wording.

> --- a/xen/include/public/arch-x86/xen-mca.h
> +++ b/xen/include/public/arch-x86/xen-mca.h
> @@ -280,39 +280,39 @@ DEFINE_XEN_GUEST_HANDLE(xen_mc_logical_cpu_t);
>  /* Prototype:
>   *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
>   */
> -#define x86_mcinfo_nentries(_mi)    \
> -    (_mi)->mi_nentries
> +#define x86_mcinfo_nentries(mi)    \
> +    (mi)->mi_nentries

Isn't there another rule demanding parenthization of the whole
construct? If so, adding the then-missing parentheses right here would
be quite desirable. (Personally I'm happy about them not being there on
suffix expressions, as kind of an exception to the general rule.)

>  /* Prototype:
>   *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
>   */
> -#define x86_mcinfo_first(_mi)       \
> -    ((struct mcinfo_common *)(_mi)->mi_data)
> +#define x86_mcinfo_first(mi)       \
> +    ((struct mcinfo_common *)(mi)->mi_data)
>  /* Prototype:
>   *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
>   */
> -#define x86_mcinfo_next(_mic)       \
> -    ((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
> +#define x86_mcinfo_next(mic)       \
> +    ((struct mcinfo_common *)((uint8_t *)(mic) + (mic)->size))
> 
>  /* Prototype:
> - *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type);
> + *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t mc_type);
>   */
> -#define x86_mcinfo_lookup(_ret, _mi, _type)    \
> +#define x86_mcinfo_lookup(ret, mi, mc_type)                     \
>      do {                                                        \
> -        uint32_t found, i;                                      \
> -        struct mcinfo_common *_mic;                             \
> +        uint32_t found_, i_;                                    \
> +        struct mcinfo_common *mic_;                             \
>                                                                  \
> -        found = 0;                                              \
> -        (_ret) = NULL;                                          \
> -        if (_mi == NULL) break;                                 \
> -        _mic = x86_mcinfo_first(_mi);                           \
> -        for (i = 0; i < x86_mcinfo_nentries(_mi); i++) {        \
> -            if (_mic->type == (_type)) {                        \
> -                found = 1;                                      \
> +        found_ = 0;                                             \
> +        (ret) = NULL;                                           \
> +        if (mi == NULL) break;                                  \

The lack of parentheses here definitely wants dealing with right away.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:40:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577838.904891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvmL-0002kD-Pa; Mon, 07 Aug 2023 08:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577838.904891; Mon, 07 Aug 2023 08:39:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvmL-0002k6-LS; Mon, 07 Aug 2023 08:39:53 +0000
Received: by outflank-mailman (input) for mailman id 577838;
 Mon, 07 Aug 2023 08:39: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvmJ-0002k0-IS
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:39:51 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8be070c-34fd-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:39:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9757.eurprd04.prod.outlook.com (2603:10a6:150:115::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 08:39:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:39:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8be070c-34fd-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n8sX5dJS+8hSYFNu+XjJihwHzTwsxP6PX2i9vobsi+3BbWoSbY481VtvEf10SqqlNL5fG4isgzCrTyqfwn+P6wlcFiCsZyYx82Ub4oeQnmt0IBl3Q+VX0V1WR+z371oOd11zY9qjTSEzeLVFD8J+R09N8siYD3iIXFrktynBgPf02LQ8rP6OPC8OhFVxB3E+RA4LOyB4yagpgWvWRS9uWl8G1HlkGW8Xt9LnpAu+4PuRk4OfCDWQyjFvhUd7EKKFRCoDHQNHpbzOO1ppLtlhdndpbhaY+abdrDAxPjbFjydZFy7ZLVIp3LoL9EOETLaB76J4tfPn05UaUGfHrqkDtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2BetuNzSp2Y+3FGO/V6r0vGB3agsN6xV6iitkX9zLS0=;
 b=SNVjSR2hatfA1shlhFG6Qv4VcRI0ZsVJB+xJkwJE6lWseJpvNAD2WLo30ZMigxZZTvOeG0eW3rfvGPxdEnV0zrqYpIMjzZtkNXRp7z0Ho2+jTmKQyS+5jqHA/1o+GXtgTYig66rfQnWNAq3WxAQaZ7tpBjhcnqJQzpy/2OWgDGBTCP48mUCGkJOg5V/9mUSizZebtGMDH/ITxn3Q5pihUubqyHA0CFjr/x5hpHZQJ2W2uY+iJbAdVjCEoZ6/V8ssacxn492j0IOWITOUVFaPh7UZxzBkUllK2P071nMclbVow2oOq+dTo4cIFLPe20S8Ch5Q1vS14PCYATgodXSM0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2BetuNzSp2Y+3FGO/V6r0vGB3agsN6xV6iitkX9zLS0=;
 b=ga8xq67HI6D70+LVvlWze4U4b89lflYnxVN96pNXTJA6vrlSS38d20UIuwGMwrEjmQ+LI7dHh83Xq6cD0Rq6WHeERSXF2Igw+agof0v0zWQSN4v4c50fLO2sppgr8F2Q6wAZHGbO+KXH7ZcaqY1sjKf8XVqcB4MPwd3dNZ5wFUm9eSiioJpDF1+uGWxv0Pk1ETkM1yIQSy/giW58wWdxccHNsBf4/WS4Yybcqn7xXX1exdrm357RBVIVqfKGQYjCjWo8WaWNQd1fiJxTdDzMrggriR3n5IhwaFGovQpOwumRfBUQMZaFuJm6rrFQD2McW41B/qFB/NVs5h9nFawFqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
Date: Mon, 7 Aug 2023 10:39:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
Content-Language: en-US
To: Simon Gaiser <simon@invisiblethingslab.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9757:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e33042d-3e0a-429b-b8f6-08db9721db65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WFO5m9RLcSkW6jbsucfa0Mia98wWzkz/JR2Q+uPW0wsMWjLVFKF4Dg2THYK641nj7kPvsnL/EDPTo8/knNMI1FZIiAVG9HvGTWQi/9gK4wveTcnpY56bmvpur+gyN4RI78v+UDTkDqDTWHpLJ8IRJR7DS9tddSGb1tmsSA5qmgEjlWln692c1wkRLbn/tQ444VQ+jlM/YD6vXsFgI5UaPwCUiKZEvt953mKsALOKqHdA6fNmSCJnWZusW5rkdS/NF6tg+dF7IpmATISNk59H5O8cNP0VupP2Lj7XR0Mrv8U6vZGcWIgWECyMAr8qhIy5Tdvf47MXVIjJRHH6VouPGFEWmlXlZBo/T/6e3zxjP5CtgOvAX2BAXL4Z+SnRnHvvt5esqlCdgkNu5ffJ4gohWJfYDp/Eweo5OKMsXj6pnq0fpxBYjcQqIN97oObMgsM8lN0vrZe5MPCYZNnAAM1vZhCC2Hyt6/rohwhk6pjKavczIqo+OhGOgut9Ttx5OmWnevFcMxv0lw/3FmYi2WJwwjom2QUomg6oRaW0U238pe8813Qer+r6PfhzMasHKOXcaKJ4atns57HRPqDOkF8V6zzz6XYaQrvc8DWAvouPUmJfab8MQklm4nK4DLTv3ACAxrvTBvenSR/g16Cy7tQ01Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(366004)(346002)(136003)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(53546011)(6506007)(8676002)(8936002)(26005)(7416002)(38100700002)(6486002)(66574015)(2616005)(5660300002)(83380400001)(36756003)(2906002)(54906003)(31686004)(316002)(66556008)(66476007)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXdjNkVCZDZGOG1rUVJSMHlrYTIrNlA1bzNEMkVQOEZEZGNpMXE4QlFQV3l5?=
 =?utf-8?B?ZThyMjVRd0pvaDNpOWJ0YWl5aDdLYkpNVDJHNG85QTgxNWlnYnFER1N0bDgr?=
 =?utf-8?B?bk1wdmIzTTVVampJUThneU9FcXdtcHd1WC9WeWdSNkV2cTFhUGs5R01hdVVF?=
 =?utf-8?B?NEdvU1pWQ0VzOWFVUUk0dndZSURmaVJlRFhyM3k1ZGdVbFdGdG9zdSs5eEsv?=
 =?utf-8?B?Z2M1WTFiN3FObEhmL0FnUFg3N2xYWkxPbUFmcXl1cE9VOEVSamJiMlJZSDZQ?=
 =?utf-8?B?NmNxaHRvRGltR3E3R0h2M2pLczhVMzczcFB6TUh1SkVTczFwckxKTXpVSFJW?=
 =?utf-8?B?VWtwYzZHeWhCT3BRY0t1Tm1jRDRVSE9WbytVb2E1a2pJRUFTTTJsNjdmUHdk?=
 =?utf-8?B?NnVKRjg2YzE1UkEzQkhEbnoxaVNiMmx1Y3FCMGtSSUh6TDF3RERrZzBCcU1K?=
 =?utf-8?B?R3Y2YmtlQ1lVTHVGN2s5QUllS1ZzS3I4VFdaamF6N1J2UVhZMGZrVG5IUkJl?=
 =?utf-8?B?MnorWCsxai8vUUJEOFZFYzN0SUZCaGtJSGtZdVh0NlNZTzR4UXVzeUJjblAx?=
 =?utf-8?B?T2NRUmhBa012TWFtUXRidkhyRlE1MmpOZjlMdG11MXllSjFnK05iVWR4WTcz?=
 =?utf-8?B?N0xvZC8zWmdNMXNabkN0ODRMbmZhUzBjaGFXeGFSb2xrVnJhMHdIRlA0MllF?=
 =?utf-8?B?MmMwbzkvSnhFbTNzTU5UVzVkNDJwWVMvL3NTN3ZjSTd6SWcyTlVIcUs4bzY1?=
 =?utf-8?B?aTVvWWFRSVBCRldtSFIzbjdWdjhDQ0VJS0k0ZEwyd2ZYSGUvN2t4N1VIRUNq?=
 =?utf-8?B?TjI5NVJ1SkVCazFLTGZPWkR1SE5RNGFPeWMzOGlwK1pYclJTSi9BQ3NMNXND?=
 =?utf-8?B?Vmg1OWUvNkM5SE5xdnFLSVN1WXR4S0JkaUtJa0xsdHZRdWs1S2RXNmxKcXhj?=
 =?utf-8?B?Zk43U1Bva2JBVjI0Vm1hYzlBZDBJUStMUkkzcVpoRHZaYlVxMjdpL0JOUTgv?=
 =?utf-8?B?OVAyUGdNY25YcDRsZ2ZCczFxaXJud3BzRkwyZUliKzQwWGdpdUxIVEVZRkE5?=
 =?utf-8?B?MnVaT1V4ZHQ4MXlEc1g0QXh0Yk9scHBPNVQzcDhHek5hejE3ZEt5ei9VTWVF?=
 =?utf-8?B?OUZsM1RDNzNIVGRwemx1QzR1Smp2d3RYbWJZNTNXR01rY1ZzVEsxelUyMkJQ?=
 =?utf-8?B?VFJhWlQweG1BZlNVZFNEeXQ5ZHMzaGVScnB1Y29TVHdFVjNtdVpQVGZHbjJZ?=
 =?utf-8?B?a0p6ajlUMkVVaDh1M2hiMWJHdWluWHBOTXRCdW5NQ2dvTXhXR0dUVTJXOVpU?=
 =?utf-8?B?d3ZRWFlCckluZGJQeVM1dmxwaUFVcHZQVjEyam50RTluRlpXdzZWM3ZwN0tT?=
 =?utf-8?B?NlZ5QmtCU3hvRDRoN1NKK3NEWFY4bTFISWlvRTllUVQxeVQ3eTNKSit3SXNo?=
 =?utf-8?B?bUlqWkRwOEJVQ0lXL245MENoNzZUSmdYdXBVaDlVaHNCUE53MTVCOUc2L1BG?=
 =?utf-8?B?bzltLzVxZFU0WU8xcGZ2azhrWVhxNk1FU1BxRFVpbk9VRFhOU1FzcVBvVFVY?=
 =?utf-8?B?TVJmRyszSlROZDFsUGJ6c3FWeXZKWGpYa1lPNVFUOWFackJzdE9hYmt0MUFq?=
 =?utf-8?B?amI2aVlIZCtVcGJTaUZibi92a3BBcVo0Wjhta1F3VFdhVzVJOVlrNS9tclMz?=
 =?utf-8?B?dXhqLzZmYVV0VHRPVkJIeUN6ang0a0R1V2JnbkNzYy9vMUdWZk5ibGt5NVE5?=
 =?utf-8?B?UmZzay9LL2gvWkxVTFNZakRNTmZaQnJkaVlrL3VRZ0ZLQjVFanRNQVAyOUhq?=
 =?utf-8?B?K1VqMzFmYkJpODg2Z0M1TGY5Vkk0czZpVDhLck1SVEluL3huYlVJSG9XVGNq?=
 =?utf-8?B?Y3RIVmZvdHJLeVVhT2loWmpmZ2ZWM2Y0VkNWV2JYNnlScGVOSjI1a3IxdDVV?=
 =?utf-8?B?bHNqMGlLc2doSFFVblFQSk9WSGJtbEJCaW1BNG14clFkM0llVTcrSkY3eWZl?=
 =?utf-8?B?SXRKWVhKMEJaVjZRTzZVcGZvbmROR1dWR1M5ZEdtVEY3Ylhub1VPMUZTRGNu?=
 =?utf-8?B?aHB2dEYyeWY1RmROQlpvdUVjMUd6ZzRzL3RUMmxSQkE4a2tZZUw1NTJ1Sjlr?=
 =?utf-8?Q?Z2knaOOvJ8HlSFkguF/SutYUV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e33042d-3e0a-429b-b8f6-08db9721db65
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:39:47.4949
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8o4X40QGnbdCPORf5HDZ/WhaNxbFXCrO7Wo4nxjNQFtNsaSD6iIf5jY9VDQVrrSjnbHXKcAY4loTcZ/0mmrOzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9757

On 07.08.2023 10:18, Simon Gaiser wrote:
> Anthony Liguori:
>> From: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>>
>> Intel says for CPUID leaf 0Bh:
>>
>>   "Software must not use EBX[15:0] to enumerate processor
>>    topology of the system. This value in this field
>>    (EBX[15:0]) is only intended for display/diagnostic
>>    purposes. The actual number of logical processors
>>    available to BIOS/OS/Applications may be different from
>>    the value of EBX[15:0], depending on software and platform
>>    hardware configurations."
>>
>> And yet, we're using them to derive the number cores in a package
>> and the number of siblings in a core.
>>
>> Derive the number of siblings and cores from EAX instead, which is
>> intended for that.
>>
>> Signed-off-by: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>> ---
>>  xen/arch/x86/cpu/common.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>> index e9588b3..22f392f 100644
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>  	initial_apicid = edx;
>>  
>>  	/* Populate HT related information from sub-leaf level 0 */
>> -	core_level_siblings = c->x86_num_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>  	core_plus_mask_width = ht_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>> +	core_level_siblings = c->x86_num_siblings = 1 << ht_mask_width;
>>  
>>  	sub_index = 1;
>>  	do {
>> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>  
>>  		/* Check for the Core type in the implemented sub leaves */
>>  		if ( LEAFB_SUBTYPE(ecx) == CORE_TYPE ) {
>> -			core_level_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>  			core_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>> +			core_level_siblings = 1 << core_plus_mask_width;
> 
> 
> On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing on
> I noticed that this changes leads to core_level_siblings == 16 and
> therefore x86_max_cores == 8. If read from ebx like before this change
> and what Linux is still doing [1] it reads core_level_siblings == 8 (as
> expected?).
> 
> What's the expected semantic here? If it's to derive the actual number
> of siblings (and therefore cores) in a package as the commit message
> suggest, the new code can't work even ignoring the example from my test
> system. It will always produce powers of 2, so can't get it right on a
> system with, say, 6 cores.

The only use of the variable in question is in this statement:

	c->x86_max_cores = (core_level_siblings / c->x86_num_siblings);

Note the "max" in the name. This is how many _could_ be there, not how
many _are_ there, aiui.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:44:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577843.904902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvqy-0004B0-DR; Mon, 07 Aug 2023 08:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577843.904902; Mon, 07 Aug 2023 08:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvqy-0004At-7x; Mon, 07 Aug 2023 08:44:40 +0000
Received: by outflank-mailman (input) for mailman id 577843;
 Mon, 07 Aug 2023 08:44: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvqx-0004An-HK
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:44:39 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a47cd7bb-34fe-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:44:38 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8197.eurprd04.prod.outlook.com (2603:10a6:20b:3fd::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 08:44:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:44:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a47cd7bb-34fe-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UIFPR2QqIEEutfCvVVCHV8pERwpT43xiyOMiiq290T1csfXdhPKROBQEjg6C/zxGFMlv3BAOPS3sk0UP0D1mqPc5xRr75FliDL/Rp0TfbOqy/blAt7ASor4Ade6WSzIFIsdwhQtPyyYT8OFFXCCAVUMsAbPCgxxEdaa8ktmz/YOT3OUktCoNGB/TUKv95wpptGC9mqoyNL8UBuL3JisaQ9jAoNjyXN5nLhVDjgo3d4Rbe0rGnQZqYQczQHa2RUbVC4gd7oh9fc3yRNdmlKMrrsy3CB03LhSxvsEwr+vhjmaDVMfZPZ0M7OjKeYXuf42QEVauwN415kXf8EbTsrQLwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qoSFqZUl37POL6Jmc8YM33HSyUXquFBuoSRoCHzIMJc=;
 b=SmFVe0qpaLIjOEmRILRGMz79ViXepN/V++vhSDKhSttowDtuHUM3H2/mgFHKMsufWzrl81f+69Sqn8jWh7ANTKS16PMQdb09u+A11uvz4frFWhAkX0TtIA2hYycY6FcjG2aQoorKjtPJeMaqRJp3K+W36S5dYhyjgi/KPeHEGlSQ5tZNvlld8SYmRgdPVZMpyUiNGXagzLdv6CWCTeASxgsoJZ5Bs1uJ9aosqMxXwxYoH30BL6dUZs7dGVnTOp+BHqJTH++MGSxReVlwJQV+SXRMA+7xp0DBZdHdQjhzTOzsJRXDu7yWl+BMxl9bk00SVgLupVs/A/mNKeucqXitrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qoSFqZUl37POL6Jmc8YM33HSyUXquFBuoSRoCHzIMJc=;
 b=oRSflo1DjOJRtiERHF8ssecCDC4UczDE/VRsdx1XZV9EanIVptMMJ/e26NAlPmElP5yatuBDnfkg18TzS3p9TH6l28iVO1DN4sxI+4pwhytNns8+wl2B9SZMOJXvpboAlQDMTv8Hkoy1XToHFkkaQDMXBb52oc0Jmooy4BN3hvymHhzgYOqeH/kFHQuhqu+k3h79kkvXgB1knW/6gOjhJ/pXPSr+Gon0zHrfo9VjBcA0bglQApqzySxsmTbxqGWzkqQFAfyQWO2s8Ek81XzzLGjpDgGNGj8yd5wQd7vttsXxskoEuDm+nXrHNK+LED4SEEN3IG2WSctZeknYwfP5zA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41d5d8aa-c936-2024-b738-2df5242513ec@suse.com>
Date: Mon, 7 Aug 2023 10:44:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86: Address violations of MISRA C:2012 and drop
 bool_t
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8197:EE_
X-MS-Office365-Filtering-Correlation-Id: f924a01b-198d-4bf2-dee4-08db97228749
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bcdEW+5+TfrGzsPR1XATNH++Vl9hSoJZNnYg1PXE4CjMKFA3Eq6NSh7j5Ism3EeAnF+bB9amDFCbXsAsvEG4pk1e4TVt02FLtxBCUJjE5m+8Qypuccf5UUJiBmJyFnzOUOUEiNy+QoYJNF9gNHd2uYIeAvDqZp242uaIwA3jbBMKAe6JlIlTbK1Byw6lWcSGAYMuJ8ZJh2LtJqggRuA8ueShgDEZOqOaZKbxUV4cuu2BRE81+KDi61gH3g5y6IhMZ8+YidxTelVi7vFoDCTEsBMlHPy7MMSrs7qNRQTBGs9/vccImnQer9CoxaKutjBi771UCBZZ8aIhu6DtUwi+2SYLzUL+o+9cPRfgQ+gPutNoNkYHXq4OA3N69eq7RFbqjBruUhXcLFCgHfMEKxzCyfKd21yQtyi4KnCzCxsIqKeTDL4lFYUIBqkESY0SYzHf8HzOqdzVHzv1QuTfxk/DI99WXo2eV800+EgnZp6JrJtHtOndX2+FDjhA2GWyQPC4gWLFe3YouHMz4lqh7+TX6py8qjKG7CoeqL9dwpHcLFuqfb4onDnoLfDy0/fwAPeRHHLneDdUUtzDCTHpweoSX+cwEQu02URxrG25MbTL1HlFxrLzESyQIBE3kq+kZwMz66nJTROK7Pe1QaK022lpdw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(136003)(396003)(366004)(186006)(1800799003)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(7416002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(31696002)(6506007)(53546011)(54906003)(38100700002)(478600001)(6486002)(66476007)(66556008)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkNVbG1VMDNUM0RvYzFEVWZwT1kva3ZTR3ZEQ3g0UmkzUHZFTzkvTXdiM0U4?=
 =?utf-8?B?SjIwQ0FLWmtYUFlDWWkvbVk4UDYxTnNFZDlRQTBnQURGVVJGdTIwcGY2Z2x6?=
 =?utf-8?B?WHp0bDk0QVNVY0JLSkI3amxrdnlDYnBlcnhFeXBOeXZtbTZyaWNWYWJZVG9h?=
 =?utf-8?B?SFZLYWxzTEYwWW04S3pFN3ZwYUU0S2ZlSTJPNVdiN3ZFcFZRbEhKR3JGQXdh?=
 =?utf-8?B?RWtxeUlPQzNBc2NkSy9kakNXSE9RR1ZnMVlEV1F5NHBKQ3hLVmNCUTZHMFZP?=
 =?utf-8?B?NjNhY1hXdWl2THREbWorZzI5MFh2c0dSTlMzSWxYRjdvVUdlQWNsekY3a09I?=
 =?utf-8?B?YjRidVFYWGkxeTI3OWR1cSt6Zzg1c2VzZktIbnVEMUtGVU5yN3luN0UwalNF?=
 =?utf-8?B?OEFGRSt1THVaL1pML3VxdENHWEVzbVprUHZZYVRWd1RRS09OZ2VKaDV5S25n?=
 =?utf-8?B?ckdlTWRrZ0ZTN054Sit2QktRbjZyOTB6V0VpNmxJUERvbmJEZWtKTjNYd1hk?=
 =?utf-8?B?Smh1QklWSEN5YURVNDdOdEdaQ0pWWUNBRy92TzNnYmRGZHlzVjZNZWVTVFV1?=
 =?utf-8?B?NFhaQlFWVk9XQWtwTTBsb2dRQUlXdjNpenhha0xDNHB1TUQxWVJ0SURIa0xO?=
 =?utf-8?B?cnhONXFMMEVBTzN6SUM5QVp2QTZNRzNHVHMwSVBqZ2JEZFpSZm5idDhINVAv?=
 =?utf-8?B?ZHFtN0QyL2Nwd2pPbWRvNUx0cmw3TXcrSDlGdCt5ZGJzZUttWHc4Tms4OEY1?=
 =?utf-8?B?em1UdWhOWUo1aUxheElpbGticEgwMHIzMWVVYlU1eGpkc29ETjRiYUdxZ241?=
 =?utf-8?B?NFlsaFcxSXo1V3lLZXl5WUdkTDlLUkZhWmRRZzNVbk9rUkNPUkh3MXZpNWtW?=
 =?utf-8?B?WWNxQmFzMDJFRzcxZExxNFptbzdGU3BmSk5oR2kxcHcxZHRzcVN2bnFRTFlG?=
 =?utf-8?B?QlRuMDVKcW5uSk5jUUpTSVQraHpPeHpqQjJBRnpXZDFGTVMvNGVDQXhFMEdm?=
 =?utf-8?B?emsyTTVDdjlHMjVFV2JybytpWHlUNFlLZ2V6bGg4NWxBdUQvd1dNMUZDMEMz?=
 =?utf-8?B?ZTMzNzV5bTRwUDlvcEd4WE12R0xtVTNyVTNsdWNiZVR5MG5Td0paS2NDNDNL?=
 =?utf-8?B?MEUzMVNXNnBnSENBVnRtNGhhdmgwTHEwcDlWcVlzc1ZXVzI2Zm1yNURBbG1S?=
 =?utf-8?B?c2JXbDl2cjRKeDVraXp3WkU5VGdoWk5BTnB5OGJQVFZBbUxZZWZQdXU0NXZF?=
 =?utf-8?B?Qk1mUnVzZjgrdEwyVm9xRE9oVmxrSXBSWXkyS1ZBMGFGZ3EvUll1bzkwNkFm?=
 =?utf-8?B?S0tmR050RC9MNmVINElLWmxhYUUrRGtVaFZqWjAwYUluM2hpR0pSUm8vREhm?=
 =?utf-8?B?L29qMXFUNW9yWnNzY0tLcFdiSmhYREhDREpvdFYyUmIvL0tMcFJBK1hMd0sr?=
 =?utf-8?B?QnYrVW1BVUZtTjNoYUpoeVVDc21YTmpjTjFqLzRadlo0eGRONVJXTGtXdUwz?=
 =?utf-8?B?Ky8zaHoxMG0zV3k4Mnh1UkU0dVlRNDZTdjN3azdxNmFzQXpGM2Q2emhmS1J1?=
 =?utf-8?B?RGRnT2cxYVVBRlJUc0lFdEl2YVY0WEJ4MGVrS1d6NlRHb05HVFNjaHpIQXls?=
 =?utf-8?B?NW9UaUdXdkcyeUdHSUxPRFNUd1dndDIvQ2NmMGg2em5TVWdJQTIrdEFZUThC?=
 =?utf-8?B?OUJEMlVUcWpTb3dSMDZlYVZnNysrWWFUU2YvMzF6MTRaUEQzVWVoRlRvRi9i?=
 =?utf-8?B?aVlpbWdXS1lrRkFoTFdDaDJaQ3NCLzVlMTFtQThVV3k2U3c3clF4R0FUb0dx?=
 =?utf-8?B?U2hmNVBEMnh5VVBQUmcyZDVvMXFyY2h3dC9iSjR3UmZaMDhmWW9qWjVMUHhB?=
 =?utf-8?B?VnJBeHMxSWVuTTdTS3VNc3BRTUV2U2tJZDI5NVBONnpMeUFiUHk2ZHBsTGFW?=
 =?utf-8?B?OFZIcGpQdXBYUGdJK1BTMWxDOXhHKzBBS3Y3TCtaTE5rZEdFaGRJeGNUTHhy?=
 =?utf-8?B?V3FnM3E2TUpCRis4dzVPcDVYb3g5M3RtL0R6a2NkTVhiNlR4YTBJeFptclVa?=
 =?utf-8?B?dW5lTElHZlBLUTBlMnJTNG14VVdmY0VUbTV3L1RET0xYU0MzRnNpWjJjbGR2?=
 =?utf-8?Q?kHS2kSFIca1illgl0zqqse20B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f924a01b-198d-4bf2-dee4-08db97228749
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:44:35.8844
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: in7XfwW2D8s8DUkmS1uZ+OJZ6QyISAl8ykVgfDMbzEySfIOfn0irKK2FK7eajnjAyQgKNY8sM13cJ65/fSyR8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8197

On 04.08.2023 16:11, Federico Serafini wrote:
> Give a name to unnamed parameters to address violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between object and function declarations thus
> addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
> object or function shall use the same names and type qualifiers").
> Replace the occurrences of bool_t with bool.

Hmm, I read the title as a promise that bool_t would be gone from the
code base (which I couldn't really believe). Perhaps "... by replacing
bool_t uses"?

> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -26,11 +26,11 @@
>  
>  bool __read_mostly opt_dom0_cpuid_faulting = true;
>  
> -bool_t opt_arat = 1;
> +bool opt_arat = 1;
>  boolean_param("arat", opt_arat);
>  
>  /* pku: Flag to enable Memory Protection Keys (default on). */
> -static bool_t opt_pku = 1;
> +static bool opt_pku = 1;
>  boolean_param("pku", opt_pku);

In both cases this also wants switching to "true". Happy to make that
adjustment while committing (together with whatever adjustment to the
title you'd prefer), at which point:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:50:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577848.904910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvwr-0005g3-Vt; Mon, 07 Aug 2023 08:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577848.904910; Mon, 07 Aug 2023 08:50:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSvwr-0005fw-T2; Mon, 07 Aug 2023 08:50:45 +0000
Received: by outflank-mailman (input) for mailman id 577848;
 Mon, 07 Aug 2023 08:50: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSvwq-0005fq-LL
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:50:44 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e1594f4-34ff-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:50:43 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7893.eurprd04.prod.outlook.com (2603:10a6:20b:2ab::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 08:50:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 08:50:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e1594f4-34ff-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WnBYKO04nSaRNyukKv1hlGfmO5rNHF4aPTgebARiTSptoSDErd52tBHdyoWjyw11J0PO46l/8/KeHJIi7280a2BHIuyaIBlnomlq3FFIBhwTuTjifsC1hynSBTMToGyRcREUifRj810dUw3p2PrjyNLuYX3FzIeeVgkkLYE6dua2VvIvJ1ZkpVEiECOsdhbCsrSE/59CxL4VUa5kvpoaoKK1IFRO8xpRfs2UyVafxYkSoavRP7TGSvqOpsNIou36+3dwS7ioHwfIyCs1jHq3fiTKMkSQVflLJRWeKxiFujV4hS+1vjIju1BQUY45B6EEmZA2h1AEhgp2W7971S/2ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aYwG75RdvN5ed9YDpfIalpoJSJXCbFx7UtoQRKyDjOQ=;
 b=OTqhXw1Drvm87/DeV9ZnOMHUes68UT8CwtTwcqvpEq2Mi14zgDuOxT0OepRT921XLe7nGNI41Zdb5PYQ+tvWWt0ge8fylCez8pEuKnsVD3PS1CbMSnOY14OTwmD/glcJcLH8/qFrvSLLQaj0vxW3BCFO6EIVaL1ITxOf/Ci+TmLx05qm6DABxJ8ummOC7HVnnhDBu0NkCyIhtwWI8qMMCnOZUv9X1pz2BcpuVDfMR223qVjlkvIc68uwuu3nxAxaod32y/3w0rzikA7h2vLPqWB0yMQoJ+mrm44UY7pHXRHDJRh5tWuDbSKZ9KPv87yPYnrOYojQ0jY/3HNz3o9vsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aYwG75RdvN5ed9YDpfIalpoJSJXCbFx7UtoQRKyDjOQ=;
 b=KvG+Brsp/7NSVgjlUafxiVJ62fwDM1zibRK+OcOZG+SE6ZbtYeftKoYvEwBo7U4pqIqq0PjyUz/pYa2yorWx2vGc8VciUL1BSt9Y2Od/VZ1T3nklJE+5cG+PMKCbH5pWK7GC/n8C+gF6dYq0SO9N0QF9uSoeBNUgTwKVauW8XiRwfA3T9LdezvmKitQIQ9E8XadOXgBtSeUEPdXClt3V2iCJgcV/eLCQPCZjakl+wRT1u5mtw+fN95002bwj6QmkbfvmWFypCAPlNcb+wxKkcaMPLekZqRaWCfLHaAdJxSjT5HkVNE35usdDdvD3E0ZZc8kXSGP3fqOocspB1mi5zQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <90aad07d-9445-5916-fd3f-eeb08280de59@suse.com>
Date: Mon, 7 Aug 2023 10:50:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
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,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <d18a1e2c-4396-7d7f-bd28-2d9e71107862@suse.com>
 <4c5b5091ecae8b1314ba67825f4a959d@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4c5b5091ecae8b1314ba67825f4a959d@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7893:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e7adb2f-0591-4c7a-a577-08db9723605e
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Addp3JacsJdiwDmrknhNkaviWKZbDVawVJBro/l3gLfu4z+BVkDrlDVxxa8IM7UXdEXlBsJPsWD1krF+J+cZvjzHnxnEOoJB7Log6AwauXnTyOU7DhILSYR79trSDZp0SXw/spuvrMYXtttKpipSyWTVqhvG8kwngpKh9wtnFlOzZ/bnXvjAY+c/8fsUBkUZ74dA6I2UOrWyo7bKEcRARNNCLHmA4RZFHETZmob5WRAZePufuYvWKUlUeqFpbxbdcmdmeU4eW2GNeRYUAQo2dlph6TadCwJ/2xJqRzu1PYvUJLcPOzehkQMwwcf4qxurAcSevvsA1hGrTtYvM4TnYUry0+4N6Z+vfnLkkpejIECvCJmVMeQvpSR1DHZgmYu/jijvc6IR/llisD4a9u7skkLSv5KjXSw6JEf1uWcSTwIWaLnvKX33KlU3SNmEXM1sn4UhUPPPhatkjrsD+FRdPpAQi6Q8dDi56YwEf3qnaVXjc518zge7cew/GRdvYgvQIPb91YutWr73Oo8ZrXW5IhC9juslheG7Gevx/GgClVjbtsPs69ybGYF546yjPWRYV5xFjVTPuUehePgqVn13/1ATLLz9UReIFdmlxdn1FaLihYtnMlltZeUMJBTfMAH/GxL0RNlD3kkrFzdF6IZjdA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(136003)(376002)(346002)(39860400002)(186006)(451199021)(1800799003)(8676002)(8936002)(54906003)(478600001)(5660300002)(41300700001)(31686004)(6916009)(4326008)(316002)(38100700002)(66476007)(66556008)(66946007)(6506007)(53546011)(26005)(2906002)(4744005)(36756003)(31696002)(86362001)(6486002)(6512007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWFrNDVJZzVwUmVhUmlkN0lUZFV5QW00OU5LRDl6ZTBMV3JEZHV0a0VZemQ3?=
 =?utf-8?B?K1k3MjZ4SmNaRjRiN1FEa1hoNTR6QTAyYjRCdGl3bVdyRU45N04zS1ZZcEdO?=
 =?utf-8?B?K0VzalEzRUM3Z2NPWmI1K1Q4TFZTZ0NSWXZuWXpjN3dqOUcrcW5TQU1FSHpq?=
 =?utf-8?B?Z1d3VDhSQkkxV1NEQ1pOL3VtWWNiK0I5Tk5CRnlwVFY0R3YwRzMwU3NqTlph?=
 =?utf-8?B?Ti9aNVVmRmtic3l4N1M4VkFDSXZzcU54Q0VXdElxaFJtTFdEaW5CZGozQmlx?=
 =?utf-8?B?UGt3NkdXRW5haDZseGZLd0FMSWp6UzRoQXpTa2Q2TDUwQ2NmQzlNSkVud2Z6?=
 =?utf-8?B?WnNKaCtUclN6d1Rva3FBaERUY014QWZ6K1ZqKzRuWWV0cGFqWTBsNUxKQzly?=
 =?utf-8?B?eTlmc0xleVkxT2VHdWI3K092anNLWnUvSzgzRGJHMnZMRW1Xa3JOVXUwMFlh?=
 =?utf-8?B?OFIxRTdERW1ZT0dTVGRrTFJhRUNLQ3VqU244YWNBZTlkaXNtT3dNMDE1Qzhl?=
 =?utf-8?B?UW52VlVMVDhQL1pJelRIdU9jNE5oL290aDJkbkRxdUlRTEI5aFBqQVFJTW1z?=
 =?utf-8?B?cFg5ellBTy8zVU80eGJuVDhzNzJWYXdxNTJqSWo1dmZxK3NhSzN0OHg4VlJH?=
 =?utf-8?B?cytGb0xURGRENHFlMHU2TzRmZ3ZmSVpOSU0zclZzSGp5bzNNSHpWMERGTEpY?=
 =?utf-8?B?TmFxTEorOHU5dEJtVjhpaC9kSXNrRUplaHBFV2NON2pBZVE4bWgyOUV2TENZ?=
 =?utf-8?B?MEtLUEVJZC9uRldreFhnNmcxOFBGQ2tpZ1NOSC9TU3ByNFVINXNsK2d2SEFR?=
 =?utf-8?B?aHZWWUtwelhZWTY4dytlZjVyQURoeWhkSHdSRVp4OVppSDQ1ckZnYXVHM3Z4?=
 =?utf-8?B?YUdUZ0pKaFdCSE16SVVrdGNhcktEdkFhaUVHSG9jNUtha0FxL0lNN25heDE0?=
 =?utf-8?B?a05rMUlNQ1VyZ0M1NFhlQU8zTXFkMkZiUlZEaFNSeEk2SHdlZDE3a2UrbURI?=
 =?utf-8?B?UmFKMDJ0aWVHQ1J4MjhDVXRZT3dPdHFJZzFsUWQ2YnA4VDhnMm1lelIxUHIx?=
 =?utf-8?B?ckpQWFBkWkxvV25MTE9RWE5OT1hySVRmTEF6VnpaTmJrSnVEZGJFU2o5UjZl?=
 =?utf-8?B?ai9RWStYNWlKMzRjbFBFdloybDVadFhPRmkxd3hmWjVjalU3RGV3Uklkbmw5?=
 =?utf-8?B?SFIrQmpoVmtuZ0tyQkVHNE9nOTE1dFcwSlJYZ0xXNnp1eUVyTm8xN2JORi92?=
 =?utf-8?B?bjFaekc2c3BqOUExb1pzT2lRMHU1bFM1QkRlR3laSWg4NndNb1JKZERsdzZ4?=
 =?utf-8?B?d2F1UW5NRHlscmJhU29Ydm91ZVBZUHVYa1RoN2x6U0FlVk8yN0VDT2c2aE4z?=
 =?utf-8?B?NnlBa0YxUFEwMlk5NHBzQSsvd2V4dk5zODg3TVNtcUNaNUZlTEZ5eEkrRUIz?=
 =?utf-8?B?eVpraUU5SUdZTkZoNGVydkFPY0kzd3pmZjNZdXVFVmZKWmsva29FZ3ZNRWJY?=
 =?utf-8?B?M0h2UlBRTk16b1pYMzVXTnFMR3kyUmVBUm95eGd2VzlZeEtERkdoRWROZGZ2?=
 =?utf-8?B?UndQeW0xTm9nYXFTdlZQQzRjbzdyZytzMWlQOWJubW9Xb3J5NW9EcHdZVVcv?=
 =?utf-8?B?T2lQTEJKN0NDMmxabVo1S2dIUVhFNlBFQkZjWUszUU9WVXk0TXM0VmIzMytQ?=
 =?utf-8?B?WTBXWS9aVkR0aU1rUlZLK283MVp3KzZDRTdMcW9kT2VlbllsV2h5MlJLelFL?=
 =?utf-8?B?N1U2dm9ybTNTNVBMczQyMWk5aHRHQnRoWGtqMisyVVZQTHoyNVVGUDNoa0Ur?=
 =?utf-8?B?TlI4eHRQd1VkRzYzWmhOOW1EbXlxSjVxeTVvV09hNTQ2anJXclVJQUx1MTk1?=
 =?utf-8?B?dzdrcnF5cTluQU8vUjlGWStHQUI5WUd2aUp3ZE96UmJodFYrWjJncXNEUEpR?=
 =?utf-8?B?R1NEeTAwQVU0MlVNRStOZ3lRSzBIU1VaemN1YzdLWmdUek1acm5BY2ZVblJ5?=
 =?utf-8?B?eU5BM0hkbVVWQVFVM05CTWMxeXlBRDIzOFBPYzV2UFJmSW12bVEwcWphSk56?=
 =?utf-8?B?ZnlGK3k0cktyZ3lUakdsbnFzaHBheGJ6NXBnOFBPUmxhV1FBcFh0ZEhlTnpV?=
 =?utf-8?Q?oprD8my2da3pgX0Iaw3YYivHE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e7adb2f-0591-4c7a-a577-08db9723605e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 08:50:40.1070
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H6Zjsvjj+IVMlqLtmqqEXU+ic0HrEDKm/3c62C9qT7+kRFqzpuyVqGl/NN0+k6p7fJYVQZLR6tx4Pxi7KLTjUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7893

On 07.08.2023 10:13, Nicola Vetrini wrote:
> On 03/08/2023 11:17, Jan Beulich wrote:
>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int 
>>> cpu)
>>>          /* fallthrough */
>>>      case TASKLET_enqueued|TASKLET_scheduled:
>>>          return true;
>>> +        ASSERT_UNREACHABLE();
>>>          break;
>>
>> What use is "break" after "return"? IOW rather than adding code here,
>> imo a line wants removing.
> 
> The "return false" after the switch would still be unreachable. The 
> reasoning behind preserving the break
> is mainly MISRA Rule 16.3: "An unconditional break statement shall 
> terminate every switch-clause", which has
> not yet been considered for adoption, but might be in future 
> discussions, leading to putting back the break here.

Well, adding such bogus "break"s is going to face my opposition, and
it is in direct conflict with the "no unreachable code" rule here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 08:59:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 08:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577854.904920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw5b-0006Ov-UW; Mon, 07 Aug 2023 08:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577854.904920; Mon, 07 Aug 2023 08: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 1qSw5b-0006Oo-Rz; Mon, 07 Aug 2023 08:59:47 +0000
Received: by outflank-mailman (input) for mailman id 577854;
 Mon, 07 Aug 2023 08:59: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSw5a-0006Oi-Dd
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 08:59:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0d139a1-3500-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 10:59:44 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 4FACB4EE0737;
 Mon,  7 Aug 2023 10:59: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: c0d139a1-3500-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 10:59:44 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <838a53b9ef4a8d258feceabb4c811534@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 07/08/2023 10:09, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> The variable declared in the header file 
>> 'xen/arch/x86/include/asm/e820.h'
>> is shadowed by many function parameters, so it is renamed to avoid 
>> these
>> violations.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch is similar to other renames done on previous patches, and 
>> the
>> preferred strategy there was to rename the global variable. This one
>> has more occurrences that are spread in various files, but
>> the general pattern is the same.
> 
> Still I think it would be better done the other way around, and perhaps 
> in
> more than a single patch. It looks like "many == 3", i.e.
> - e820_add_range(), which is only ever called with "e820" as its 
> argument,
>   and hence the parameter could be dropped,
> - e820_change_range_type(), which is in the same situation, and
> - reserve_e820_ram(), which wants its parameter renamed.
> Alternatively, if we really were to change the name of the global, we'd
> want to take a more complete approach: Right now we have e820_raw[],
> boot_e820[], and e820[]. We'd want them to follow a uniform naming 
> scheme
> then (e820_ first or _e820 last), with the other part of the name 
> suitably
> describing the purpose (which "map" doesn't do).
> 
> Jan

Besides the one you listed, there are these other occurrences:
- xen/arch/x86/mm.c:4678 in 'arch_memory_op' as local variable 'struct 
e820entry'
- xen/arch/x86/include/asm/guest/hypervisor.h:55 in 
'hypervisor_e820_fixup'
- xen/arch/x86/include/asm/pv/shim.h:88 in 'pv_shim_fixup'
- xen/arch/x86/setup.c:689 in 'kexec_reserve_area'

We can take the first approach you suggested (which was my original 
attempt, but then upon feedback on other
patches I reworked this patch before submitting). My doubt about it was 
that it would introduce a naming
inconsistency with other e820-related objects/types. Anyway, if e820_map 
is not a good name, could e820_arr be it?

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:01:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577860.904930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw76-0007pw-8Y; Mon, 07 Aug 2023 09:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577860.904930; Mon, 07 Aug 2023 09:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw76-0007pp-5c; Mon, 07 Aug 2023 09:01:20 +0000
Received: by outflank-mailman (input) for mailman id 577860;
 Mon, 07 Aug 2023 09:01: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 1qSw74-0007ph-GU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:01: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 1qSw6z-0001Dc-Lw; Mon, 07 Aug 2023 09:01:13 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qSw6z-00055e-Ez; Mon, 07 Aug 2023 09: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tvpAgZpWu0drG7uizeyAn3qShsucxpZN45X6EvbFQns=; b=ue8JL1dIdYcUVFlNXuss+xO4pb
	ULKPyNxSOOYFWHjWkKOgfZHpiQn2EfGDzf3wSSjTabwCUbQ6UT5Z49Hx753hZzdiId/WvcxFWDivY
	rQbwb54rBitfTuwheRI4mi6HhrkbEeXbWBwPBKDr0z5eQdBO+O8yRugRfzWxcfbbNw9Q=;
Message-ID: <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
Date: Mon, 7 Aug 2023 10:01:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
 <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 07/08/2023 09:14, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -5,6 +5,6 @@
>>   
>>   #include <asm/delay.h>
>>   #define mdelay(n) (\
>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
> 
> As elsewhere, please also adjust style while touching the line, at
> least as far as the obviously wrong case goes:
> 
> #define mdelay(n) (\
> 	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})
> 
> Even better would be
> 
> #define mdelay(n) ({ \
> 	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
> })

If you are touching the style, about converting to a staging inline and 
also splitting the line in multiple one?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:01:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577863.904941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw7d-0008KD-IO; Mon, 07 Aug 2023 09:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577863.904941; Mon, 07 Aug 2023 09:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw7d-0008K6-FS; Mon, 07 Aug 2023 09:01:53 +0000
Received: by outflank-mailman (input) for mailman id 577863;
 Mon, 07 Aug 2023 09:01:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSw7b-0008Jm-DI
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:01:51 +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 0b98743d-3501-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:01:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9381.eurprd04.prod.outlook.com (2603:10a6:20b:4db::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 09:01:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 09:01:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b98743d-3501-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nBfzJIgihq0s3nG7bvywxziL/6NYrRTVESamOp87u6g97u5wsRUgRefmY4i6iq7s0mK0hWKUm3HkvXT6OWbfobfJ0mqsyrW77PuiNeqlSWtuvKWg2he0iwflw38fdnI2c5LHbNin5OQi7dI3VaGzxKNUtsWkNWC01QvUYJ9PVIZ1fhYCihthISpzNUrOsixFCreiYY2FkIg7e20ByzBV26pwYC829DMZCNNDUawhCHJmnrSRpsXOlxX5KjPy/3Gv419j0YwfRldQ/i7w+zWF9qozYHCHkIrScjy4Bds38A1EO+b8fFGbntfCLI/gIeMhf16IisGzLTeGoyFZRRV4Bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Oscl5ZzZsMm0gGBcy8VQGN//tUTIYOVL1oLK6kQsqc=;
 b=l5Mnyb/Ep+6+1dJMvzNQb5mPo+9Mil7BlvwpVmLY7+0TwAn8M3+Wh7IFzxwrmZdnu9WKtT/963gB2UxPJoZNypYOFSOhlR9ABsNxGoHZw57UDBoR6KO6HGj+TNVwmqVpu8UDJYc+4TxZfcQgoUgNR6GDDNv/moyINZSqegMGdFeyuEc2wMChOB2wUpI3RxBZsV9HTwSG7cKqweaBT9TrZ6rUTbmKxfhjlD0N2t0YyjNe00DxQGawpZ4Afzanjfq9+/MApTw6E8S0TWJDrjUdNFFjFAfkUhIs23LPaSaEsIVIoxK8c1MMbJdNUX3DkRRnzqeD5/hmTsaMWVJJathKgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8Oscl5ZzZsMm0gGBcy8VQGN//tUTIYOVL1oLK6kQsqc=;
 b=hFGN3/5pozk5fdOYPd66WoP29l4yPaATItBooZZ2xke2vFLhcDynS4Q52NaQWa1dwb4V1d2haFOPJC3AwjmjEWvhk2kM485N7cKc98e5oJDq95a5c5dqiQ5nqEvYWKSiwZaevKUOeMgHaw6sw99StxT1XSQ9CqPvSDESWFOTQZx6766WlBodH+XbBuB52qhIAVJfa7MOWO3BDyCyQ0NG1QmfQ3D9cJuS5qQgcCP9I5chtRcbViaPKFPiSmtTLUv8cW0gQG9mSll01RAz7xNjTb89WA6Yw+5T1v2dL9G7gYIAYWy1If7/fO5Y1+4oybTm+sfGPRxAxV/c/Rq8eIaiMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2d4db80-6719-1e8b-94ef-d839e4d6486e@suse.com>
Date: Mon, 7 Aug 2023 11:01:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v7 2/6] xen/riscv: introduce dummy <asm/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
 <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9381:EE_
X-MS-Office365-Filtering-Correlation-Id: 710a6136-ef37-42e2-05ab-08db9724eeec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8Bm9AMimLSJg4PTYGXRH0kehVRc/317DmLjcdTfs0ZIBllQV0TVpqmh66SXfEyWAwF8RljHBj7wW2vSVbyzS2JlYoAuaUwRgjBAMbLL32xx5rls0sTZyOVadyjku07mIw+edvIUySw7KEFifLijXehLBN/LR5FewBsr44TIIF4nJFDvjAQAOAvMlnsZM4DoU3bWaEDv8jlngZJSXaCAr5uLCCn5uFyEaEs1NhD7GEid3HrGisaKvA56q/iYeqc6eo9t47RaleJ0aQzjdknZM0cP5tdaTJpvQbo3vSqDcdIvz5de6QSOtIIFzCScIaSNP8jDwRI2mBe/gV3kHtrPtehxXV6GBc4JTmmbQZWnHK7qAKZinegsJ9QnSVajZvEeGzPzQUAvoQERF8mpO4aKxfFciIbtMA3ipu6mFTqL7BIwHAgo9CjQqstFu1hevdfSy5PYBbjZe3SYKGTgBc46c1HZRJLaj210xwlGyh0MabI2J+07KZnTaMD2NqSVtqcnnaEoQ6IglE/KHxGlSos1dfVvPPyeKIwSJDuB6XFyZS2J2ljvu+lr8Irtttw7AACZbVer83iOa2OwcL2BSG+jjcQ6CTemm3Fdx5VY8qrdGSzZbG7dABixqLwKJ2ov4tdzrVOc9Xiv4HKC8gVux705rYw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(4744005)(31696002)(4326008)(6916009)(2906002)(66946007)(66556008)(66476007)(41300700001)(8936002)(8676002)(316002)(478600001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TGc0ck8xcVFieG5Qdzd0VTdwME8rYis2Ni91WUx3TDRzTXRNcVV2V2pycGlD?=
 =?utf-8?B?dXBnUkR1ZHN3S0lVdjN0Uis2TGRjRUsrY2hvZWg4L0pDcTl1aE5qOHRWMlNu?=
 =?utf-8?B?bXBxbWFiMDlkeTVVeEFTMXRvOFdFblRQcE4rY2Z6WVRrSXppV1dMOXRFRnBJ?=
 =?utf-8?B?dEx1NGc1L082NlFWQWdOS0UyUTZ1VDVtUVIycmpsNVVTVHBiNkNZWEFKZ1RN?=
 =?utf-8?B?MUhiT3RoQ3RydlNxOXNSazZ4THlqMUxzWFNDd3laS1k3SUluM2tmclZBVUdp?=
 =?utf-8?B?NG1vQUcvazNPYkg3QkM3M21qMDNDU1plQVo4SERGaytUVi9mQU5pYW5TRFF5?=
 =?utf-8?B?Zlh1MFVYYjlma1I1dmJVbVg4MnQ2MVhMaHdCbmpjTlhzTUZDRHdjdGlnSU5o?=
 =?utf-8?B?ZVl3eFRJejBqTVZ0VzcxRkt3ZTBiLzJLZlVoamt4Qmh5Z2dPMHh3TlZzQUd3?=
 =?utf-8?B?NE9RQnhFaEZNbVJveVhJTnBENnQvS1pwaUI5YmNwTTluYit6amx5Ykl3Qms3?=
 =?utf-8?B?Zmc4Uk9WenVia25Ca3pXSXV6eGM3YVpUMlZSVHdROWVvWm9uZTd1WExUTC9r?=
 =?utf-8?B?VlpGVUs0RkNvWSt1ZVhValU3OTl1NzdWMlVUZUZJVGFvSGVrRm10VlhPTjRO?=
 =?utf-8?B?UmRnbjdIa1FQb0V6dzdzOGFwc3dqUzNDczQyQ1N2V01GSlpxZUZsKzc2b1dF?=
 =?utf-8?B?c3ZONkdYeldDVDdqOFB5N1BDa0dyQ0pFMmtXTE8reitXcWtWbFE3RGJCYjF6?=
 =?utf-8?B?VGJDMGc3a2tzSytvS1NXQmV4RUhobU5TQjh0NG50dmxGa3lob0JFRWdFV05v?=
 =?utf-8?B?QWNsNHI0Y0hWM1hzcFIzZTJTWUxzWjk2LzB5RnM1SVptR05YNUpVeTZoMXNn?=
 =?utf-8?B?clBqbGdMb2VKTEdLVkJYT28vQ2RZaElJZUR5d2l0ZHJaRUFWdlc5U1hvWHlj?=
 =?utf-8?B?SVVFY3diVU5NQ1p1T0Y3ZDVkOGswekhNakk1RjE5TDBnNVp3T3lMVm04c01i?=
 =?utf-8?B?RlE2Y3FRQmcvVUdVNTYzVFNvbmxZT1B6NFZ5V1NuY1lSU3FrSkMxVythL1hp?=
 =?utf-8?B?MEdsK2NYQjVTb0JnVml1M2Y3dVR3Qm1ZUTN3alR0cXhzL3BZVW5MZVpoRzNl?=
 =?utf-8?B?M3luUDJmd1o3NGlQQUZVdVlXVkZIdW40b3pKb0dKYkNvMS9oc05vZEJYRXNr?=
 =?utf-8?B?c0Y0ZzY2Y2h6ZzRhTnFuTkJFMkVUdmhlWnJrcXhhRFZmTFk0eWk0aUQ4MkRF?=
 =?utf-8?B?V3NsVE90THNTNUp1aEVlL3JWWGpvYTRuNUJsU3liY2ptM0ZQME9DQSs1ck9j?=
 =?utf-8?B?eXJQa0EwRUsrNUk5ZExPSENCYndvQkROb3g3dlFOUmxxcm45T0ZJazZqUEdJ?=
 =?utf-8?B?MU5HWWkzaENZR2pqZjJFNm9rbTZuT1EyWGtSM1dQODhqeFlhZG96VWVDUUpk?=
 =?utf-8?B?RkF6eEZURWhFQnlwcks2a2NBeUlyYWNQK1ZhTnFPZ3F4T3NxVFlKUDl4QTVu?=
 =?utf-8?B?cHd2VVFyOUFvNitQNGxGSW9pWEhYZnJRRmRkS0dtTGtGNHd0MTYzb0hpRkZw?=
 =?utf-8?B?OHp3bzZoRkxQbm9kZXRyRVNjNjdEVEFwU1BkOGFVN1ByQ3ZObnBBcVh2QTdO?=
 =?utf-8?B?RzNBWllZY1dmWFhQVERqT3orVUxzcXkxd25lWklrckVpbWM1VThOS3A2WFU3?=
 =?utf-8?B?R3gxTENPazF4VTVLVm9hK1B4VXpOQlN0SXZGdGFadUtBeEJhamN3d1V6aUp1?=
 =?utf-8?B?QVRIbGJKTnQ0dktnUHByZlF3R1NEVFg4emQ2NDVLQkZKTkk1NUpxakdtalNy?=
 =?utf-8?B?YVQrNTBaT3p1SlRjUlFmdElVd2p1Nzhyd1JuRHg5ZGltbjdRMjdUOFl3Uk9J?=
 =?utf-8?B?QlUrcDY4YWNodzhJLzI2dy9UVlE2d3hXNjJyaVJsbWNaYTgzcnV4MXVjZDRH?=
 =?utf-8?B?SFd4UGhEaVdzTUhTV2paY25zTFV0TEZiYjlGVUxQeStzcDVmcFhUQlhWaTgv?=
 =?utf-8?B?dnpuUlAxWVNoVStveC9QSkkxVi9RZjRZOHBzek5jOENKcjB1eG5xWEVtWnpq?=
 =?utf-8?B?WjRIWXVuTW1NeFF4SFJuUTJmUHZsNmoySjZnb3N6d0tVTjRDYTFiTGhNSEN2?=
 =?utf-8?Q?UZWVBR9LWlpmzCp8dWk6Ovzyn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 710a6136-ef37-42e2-05ab-08db9724eeec
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:01:48.7158
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ippd7hd9JY5DOE2dQ3T1uqCVMfdhAgdpfQFAYb7lx/w1N/+8S/FhSfNwdWQFlT3AQUW7b6cqYr0V4+ZmUm9UaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9381

On 03.08.2023 14:05, Oleksii Kurochko wrote:
> <xen/lib.h> will be used in the patch "xen/riscv: introduce
> decode_cause() stuff" and requires <asm/bug.h>

While as it stands the description is accurate, I don't think that later
patch has a need to include xen/lib.h anymore. xen/macros.h will do, I
think.

Also please don't write descriptions in terms of "patches" or more
generally future "commits". Their titles may change, they may disappear
altogether, etc. Finding such a description later will end up confusing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:03:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577869.904951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw8p-0000Ue-SV; Mon, 07 Aug 2023 09:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577869.904951; Mon, 07 Aug 2023 09:03: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 1qSw8p-0000UX-Pe; Mon, 07 Aug 2023 09:03:07 +0000
Received: by outflank-mailman (input) for mailman id 577869;
 Mon, 07 Aug 2023 09:03: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=FiBK=DY=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qSw8o-0000UO-JR
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:03:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38a5eda8-3501-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:03:05 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 2B7334EE0737;
 Mon,  7 Aug 2023 11:03: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: 38a5eda8-3501-11ee-b27d-6b7b168915f2
Message-ID: <3abb05c9-93b8-3a0c-3a57-4d8fd89bfc14@bugseng.com>
Date: Mon, 7 Aug 2023 11:03:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] x86: Address violations of MISRA C:2012 and drop
 bool_t
Content-Language: en-US, it
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>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
 <41d5d8aa-c936-2024-b738-2df5242513ec@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <41d5d8aa-c936-2024-b738-2df5242513ec@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/08/23 10:44, Jan Beulich wrote:
> On 04.08.2023 16:11, Federico Serafini wrote:
>> Give a name to unnamed parameters to address violations of
>> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
>> named parameters").
>> Keep consistency between object and function declarations thus
>> addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
>> object or function shall use the same names and type qualifiers").
>> Replace the occurrences of bool_t with bool.
> 
> Hmm, I read the title as a promise that bool_t would be gone from the
> code base (which I couldn't really believe). Perhaps "... by replacing
> bool_t uses"?

Sounds good to me.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:03:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577874.904960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw9R-00012J-3y; Mon, 07 Aug 2023 09:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577874.904960; Mon, 07 Aug 2023 09:03:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSw9R-00012C-1Q; Mon, 07 Aug 2023 09:03:45 +0000
Received: by outflank-mailman (input) for mailman id 577874;
 Mon, 07 Aug 2023 09:03: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSw9Q-0000UO-5x
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:03:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f3b9ee5-3501-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:03:43 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 7250D4EE0737;
 Mon,  7 Aug 2023 11:03: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: 4f3b9ee5-3501-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 11:03:43 +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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/6] libelf: address MISRA C:2012 Rule 5.3
In-Reply-To: <ce6c569f-d474-0e55-e3d4-6a3519be362c@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <55624244c42297da7da954009ba0559c47fc245e.1691162261.git.nicola.vetrini@bugseng.com>
 <ce6c569f-d474-0e55-e3d4-6a3519be362c@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <9deeb76dcce04de11d8085f5835bad7b@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 07/08/2023 10:11, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> The types u{8,16,32,64} defined in 'xen/arch/x86/include/asm/types.h'
>> shadow the variables in the modified function, hence violating Rule 
>> 5.3.
>> Therefore, the rename takes care of the shadowing.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/common/libelf/libelf-tools.c | 24 ++++++++++++------------
>>  1 file changed, 12 insertions(+), 12 deletions(-)
>> 
>> diff --git a/xen/common/libelf/libelf-tools.c 
>> b/xen/common/libelf/libelf-tools.c
>> index a9edb6a8dc..f0d5da1abf 100644
>> --- a/xen/common/libelf/libelf-tools.c
>> +++ b/xen/common/libelf/libelf-tools.c
>> @@ -91,10 +91,10 @@ uint64_t elf_access_unsigned(struct elf_binary * 
>> elf, elf_ptrval base,
>>  {
>>      elf_ptrval ptrval = base + moreoffset;
>>      bool need_swap = elf_swap(elf);
>> -    const uint8_t *u8;
>> -    const uint16_t *u16;
>> -    const uint32_t *u32;
>> -    const uint64_t *u64;
>> +    const uint8_t *uint8;
>> +    const uint16_t *uint16;
>> +    const uint32_t *uint32;
>> +    const uint64_t *uint64;
> 
> While the chosen names won't collide with stdint.h's, I still consider
> them odd. These all being pointers, why not simply pu<N> as names?
> 
> Jan

lgtm.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:10:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:10:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577883.904971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwFr-0002bU-RW; Mon, 07 Aug 2023 09:10:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577883.904971; Mon, 07 Aug 2023 09:10: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 1qSwFr-0002bN-Oa; Mon, 07 Aug 2023 09:10:23 +0000
Received: by outflank-mailman (input) for mailman id 577883;
 Mon, 07 Aug 2023 09:10: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSwFq-0002bH-DY
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:10:22 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ba2d21a-3502-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 11:10:20 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8991.eurprd04.prod.outlook.com (2603:10a6:102:20e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 09:10:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 09:10:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ba2d21a-3502-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PqydhE+CMnm8Fd6FOG68yjeLpfRiVBiENtXpCZkYYU79PM5tfZDaola3gGrHL8SNf6jtWAmbHk0ijoqK50Rq4y5NwhHYMfxP8zPikwKafkk21BpCW/8B4nmZa6azvoCQxyhzkUAuLXlF1qqALq6OHQD06Ym5pdIDOsItGhBlDzHtvmLD3qs1FNexeXWtTIEL85uAu1dEcg+qDM/ga8wGdQGfMQFFBB9NJZKvRyI+2Z9LDwlD1HE6xr1pMOO+nEGgDvXN69a4ql/J9rSkivngds8neg5ROyu76xkEZopv/3c3zFhWoctB1wwIGqaVRp7xRT3JnTC0Srx/hwUIAqM4Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0iULD9PC1B4z/uqDN24cZIQpu5EoEqPNqEs47fA33AE=;
 b=E6aVrCSae04D5C7iyTypXzH/328765PhfliwKiZAxl+hjqy7IEUBuPqIrJoqs6auu8+0JymCmkAP8QAuCVINvpWiJrvsgdgvu1Ht8gKDU0m/J7HOtD32d5yiYImo+4sNdFPKQJ4tKppfJ2+6Xdke6SVdJew+8cRDUTO/ggop+Hod7ArQ8RiqoIYbk0wHUnkAFPm/mcA52CNGauPqISqtHl3HmgiiJCfjHXDYQAsgS9Fz0BHDStmvIGhCODbl1l1PZOxlqnHpCmFoZje/njZxbGx0K/rxXlafqimDF1BnqRKdoSKrxLaEN72wxqQW4kY6gZ9UbSojnn+/4F2JDo1MRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0iULD9PC1B4z/uqDN24cZIQpu5EoEqPNqEs47fA33AE=;
 b=BDeua6S+58JcfPxhCAlFfVMaTsRKNNNxThLsmVMH4jnMBpo1z8bCyc+dun7EWs2NjB8yg83tRMUnIf2+aQ9Xo2G0mDFMqeeYMfN9G9McJFng3Sb/ODt1c+x1er619zmrEOjEGat78d+ZozdUFOClv7qAqlDyYdKKQnH9/MhAgITppaVvc9dRZfnh+Q6Y2MsYk6JREum7sMJadnpaYkrefOcIpbROdACkt1izO/+G/e0a4rkn3LKeLLf6iQoHVsNPHmedeXy/BbEnDoo8WHM4K00172lHFFYFL9M9rITD4UMhVfjryhHHgdbtrRwRD3pS4ipDUc3PgFWVctYchxZNxg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
Date: Mon, 7 Aug 2023 11:10:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8991:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a9fe7bf-3e9f-44ec-0945-08db97261e78
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xpkXOJTNigV41y/DdOWh4SOKkoexKuib+YWHihp/B3eVS5fKBxtzQL4Pupy/w3Y64QZUp9WgB1zhJaISe92CpyZcnfM259IH4lA5zOoQ+JpiIT4NXQCH1V3IIxtQ8wpjYw7E/6y0YKIDuCfCR3xr0In7vpKoU2Npn81TzWqXMfN2DBvp3mZTzcEaCa1bbWRmA92Yuj3plUMPA9A+ioDBf7NEX+JGJc/OmBgv+JRazH/C/ctKBohGNeSxzIkdMpMbcyEQ7CzQ9ysVzW/cy9uohBIEkwQ3FD6HDK/97Eqpla4OruJSBsiTcK1WxO7AC84cTuMNoT7D6mo74a5FTBcfE610gfyAJGWO5vHD+UBXk1WTo4UeFQqDHZ2pXpgi5ulYqyMTpbC6wcZTyWfj36lr9kayFaFSN0trqZgGdNqUOiYqSGFPv7Eft8Kl1WdUuhsWC6d47XFU73XtgJVXKh9ykQe6dR0BAaTKOBFkXojdDD00LV+SE7LATax2tI9577lWEbvX1kv39qqwCs4l0nc2LZjFWzPiGGA9hsVWXOIces6DDbQZ69JKOTAzFZr23j1Ci2frDisTPegPMSq9zaoEbn50G3oAUAz2sb1pZ+8gT4lXXQ4hsHAkZCbxV4DKwlINsDJ/DxU1PgdK7fGWHm6OgA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(366004)(396003)(376002)(39860400002)(451199021)(1800799003)(186006)(2906002)(36756003)(5660300002)(2616005)(54906003)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(4326008)(316002)(31686004)(41300700001)(31696002)(86362001)(8676002)(8936002)(26005)(7416002)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUs3UDFrNGpVRXkrVGRiMFBnR1U2SVBIQ29sT2hTVjdoRzd1ZldFOVpXU0xs?=
 =?utf-8?B?U0I5NGJUeVY5a0lPQUczRzJ3L0dnK1MySGl0RUxMb0VGRGxnKyt2R2hweFRh?=
 =?utf-8?B?SHVxc2ovOWppdVVwWmtCeEJaclRDd0hMbi9zbHJqWG10K24vMEZLVzRBVUdn?=
 =?utf-8?B?OWJ6QXY5Q3c4MEVXazhYOE1IZzRZbDJLc2FxalBLUy9neG93dVRtck96VGFM?=
 =?utf-8?B?NGY0dnBaOWU3WUNuMTJPMGhDbHBlakRKSlAxWjJKU3VhRkpmTHVaU0RMc1Nl?=
 =?utf-8?B?WVFKNW5BUVJXSTBTR25kRWVCQnhnM3dSb0NzWnhOS0M3ZkNwQVZzMTRjRWNQ?=
 =?utf-8?B?endPanJwaWV5aUZnS0VHdDI1WGd4OXF4VmpOS09DTE5saHo1M3dCNWVoL2dM?=
 =?utf-8?B?R1hFN3ZhdkZRUis1UHdVaEJvMzZleUR4M2I5L0ovWHVaS0xJRVRHOVZsZkVN?=
 =?utf-8?B?ZXJpU2pWSmhJdkZEU2dENGZyL042ZVlSTXY2VHlaL3pYSk9lNzlrVFZrcy9q?=
 =?utf-8?B?WjRCNjBCcmNxRGNTd1dxZmpzS0dWN1ZINkZlRzdXRkFub3NOYjQwZVBBczNk?=
 =?utf-8?B?RURiVEZGMHJMbnp5aitGT2x5TGI2cjRjenh1MnpqMjI0YzAwNHJqZ2d5cG5L?=
 =?utf-8?B?enNIUG5hSlZUUHk2ckVmSmszcVpiWVp2MnZMay9wZW04Z3F2WDVjb1lCSTNG?=
 =?utf-8?B?b0VVYlJkSXNXZ2RYWlYvQ3k0K00yeEpiRXJLZkNHUnQ0UGprZHZnODBLV0lZ?=
 =?utf-8?B?ZjZKY3dqL09TcVUxRmsrOVUvaFJJNEVLa0lZdlhFa0xXd0FtMWgyZmlPWWc0?=
 =?utf-8?B?Ym1lT1dBZGdPK0VoeldUSThyVUNxNlU2Y25TR1oxSU9zcmcvM1hXU0w1TEli?=
 =?utf-8?B?NGpQTzZpZ3N5VGpibnVXdzBlVVcwT0p6TC9zMXRGWUNnYnZTL1Nrcm1WR2cx?=
 =?utf-8?B?eEl4R2Exb2R4dUxCNThtRUFseElYVUROYlkzclRPT0dxRysreUsrYXViNHMz?=
 =?utf-8?B?ckprZExCRnluRFFCd085Ky9sTmprMzJCdHFkWE52aGRuTjdOaHE0SklEZWhh?=
 =?utf-8?B?K2Y3RXkvRFh1SlZVcythWTFaSGp2bFIraGhYelM3NERLcmtpdjhjN0NFbExP?=
 =?utf-8?B?eFhNaThSQXZpVHdlN0ZoQ3R1a0NFM1RlMitPUW1lRGZ1TUhnbWdmaUhmSkFx?=
 =?utf-8?B?ek1RWDU0WlQwK1JuUnNpOFBGOE9BNzlxRDN4VGl0SzNNZjlBdDhPWTdKY0pH?=
 =?utf-8?B?TTUxRHAwMDdFOXdqejlGMXhqcCtWUExnSWd3cVgrTk5kOTUzYzgxS0FiaFNI?=
 =?utf-8?B?K3cyN1ZxWk1CNzQyUms0Szl2M2tOVTJqQzNMQWRpM2RWY1J1WXMrQU53NHdN?=
 =?utf-8?B?dDZSTjJ6WnRaYUpoUWtGL3J3ZXlRbHU0MURYVnRzOG4vbnJlNzRaU2NOekZJ?=
 =?utf-8?B?SVVRa2F2VEUyaWJZU09PRjh3a3VUSWNWbXhvV1ZXNXRRNXgxTFMycnJLYXpO?=
 =?utf-8?B?MjBqcnF3bnJlaWM4WEJwTVQrZHN3dE1yKzBZTEhCV1BxZi9OeVFpcVg0QzJt?=
 =?utf-8?B?MjlGK0pPQVYra1luSG5XNkdhalo1cHZQTlpUR21uOFg4N0lEbnVwZFFFUlAr?=
 =?utf-8?B?ZmtyUlI4SExweUJsS3p1dnNpazA5R1dZQnZEejNWbG5EclZoVEJkeDFNRmFw?=
 =?utf-8?B?a1lLdnVCaTdrVjNsS2k0eHFZQ2tjYVBqU3BxVHoySUYzZUxTR0tESXphcTZ4?=
 =?utf-8?B?VWVuSnltWTJ5TkxaZjVsYUIvaHNxM3lZbVVFd1paTjNDSXlKZHkrOGV3ZmRG?=
 =?utf-8?B?TWR3cFRHZmZ4dU1aRW5KMlhRdUtpaG51Snc3Z0N3dVJQQVllaFc0eWRzQjFv?=
 =?utf-8?B?ZE9NMlp5RG4vTmpQaWYzTG83UXJjYWRacHlEMktqUERXVTR5ZURUVVlkYzNy?=
 =?utf-8?B?VzN4WFRndVBpNVh4aUZUNmdIRzdueTJzQmRNa0pmbkk4VGErZU04ZjNEcTVO?=
 =?utf-8?B?bzUyc2hPank0Z3M1Tzg4M0JDRFFJQ2N4NkN6NFF6MVBCakxoWGZ3bm8vbVdw?=
 =?utf-8?B?VzhhZmFDWExGS3hFNkx6aXlIQ1Zid3dSaG9JRlFEeXlzN2VQTitmZ01xdTZm?=
 =?utf-8?Q?MmnNTVsdGBhRndaCWeSNPLqjf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a9fe7bf-3e9f-44ec-0945-08db97261e78
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:10:17.9879
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Cm6nXsMbApXrUyql+IeFwdlme86aYh2zp3UiNiu2eVym433VWRVn7JaCYUQnES35pMV5baesM6Z3Udqul8/D+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8991

On 07.08.2023 10:59, Nicola Vetrini wrote:
> On 07/08/2023 10:09, Jan Beulich wrote:
>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>> The variable declared in the header file 
>>> 'xen/arch/x86/include/asm/e820.h'
>>> is shadowed by many function parameters, so it is renamed to avoid 
>>> these
>>> violations.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> This patch is similar to other renames done on previous patches, and 
>>> the
>>> preferred strategy there was to rename the global variable. This one
>>> has more occurrences that are spread in various files, but
>>> the general pattern is the same.
>>
>> Still I think it would be better done the other way around, and perhaps 
>> in
>> more than a single patch. It looks like "many == 3", i.e.
>> - e820_add_range(), which is only ever called with "e820" as its 
>> argument,
>>   and hence the parameter could be dropped,
>> - e820_change_range_type(), which is in the same situation, and
>> - reserve_e820_ram(), which wants its parameter renamed.
>> Alternatively, if we really were to change the name of the global, we'd
>> want to take a more complete approach: Right now we have e820_raw[],
>> boot_e820[], and e820[]. We'd want them to follow a uniform naming 
>> scheme
>> then (e820_ first or _e820 last), with the other part of the name 
>> suitably
>> describing the purpose (which "map" doesn't do).
> 
> Besides the one you listed, there are these other occurrences:
> - xen/arch/x86/mm.c:4678 in 'arch_memory_op' as local variable 'struct 
> e820entry'

This probably wants renaming; my suggestion would be just "e" here.

> - xen/arch/x86/include/asm/guest/hypervisor.h:55 in 
> 'hypervisor_e820_fixup'
> - xen/arch/x86/include/asm/pv/shim.h:88 in 'pv_shim_fixup'

These can likely again have their parameters dropped, for it only
ever being the "e820" global which is passed. (Really I think in such
cases the names being the same should be permitted.)

> - xen/arch/x86/setup.c:689 in 'kexec_reserve_area'

This surely can quite sensibly have boot_e820 use moved into the
function itself.

> We can take the first approach you suggested (which was my original 
> attempt, but then upon feedback on other
> patches I reworked this patch before submitting). My doubt about it was 
> that it would introduce a naming
> inconsistency with other e820-related objects/types. Anyway, if e820_map 
> is not a good name, could e820_arr be it?

But how does "arr" describe the purpose? I would have suggested a name,
but none I can think of (e820_real, e820_final) I'd be really happy with.
Just e820 is pretty likely the best name we can have here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:16:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577889.904981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwL5-0003HL-Jy; Mon, 07 Aug 2023 09:15:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577889.904981; Mon, 07 Aug 2023 09:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwL5-0003HE-H1; Mon, 07 Aug 2023 09:15:47 +0000
Received: by outflank-mailman (input) for mailman id 577889;
 Mon, 07 Aug 2023 09:15: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSwL4-0003H8-8M
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:15:46 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc423868-3502-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:15:43 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7081.eurprd04.prod.outlook.com (2603:10a6:10:fe::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 09:15:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 09:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc423868-3502-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Nk0nFrDQCRDnC24AI2gRFoECFwGzx6UZ4QBARx6HmBZGWQpKWXEGSzlvvaiEJWSx2hOJSxQ6N8GqiTqMe/626w8ys5+qrpZJ6XHgsy44mxOyXSu28rKNJtmxD4+JtprvIvJa49MLTVp0HXRnQN/g2RIHXRFPBRSZUY5f4+yVZFfg8EDZrquDUuy3hplEqtKwGe5l/zTuTQ3v3K/V+Bd6yBU5jsfPmkRGV63u2zYju61TRqOpi04OMGMLidMmy9qVW1fgoEmxsAIrToiVrKmNvCpLhiRxnVce4oStRHFys7r1haBMl3AjST0r6yaG9nCRkT0X4aLo6ijqz42d/W7ffA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4h6z3WyN3wa+yY6xiHVHLFx4QglzfI4KodSAg0zofwQ=;
 b=lL9FQ7P8ILenxGOkgybY1zxonAiJ1EviKs469bOjKMxFwFH0OB9agtw6lKHxdMQaA8bOObtImww2wlA5NlavFCn/GO8+YzZcN2HCdVqszcGbFkfS8u8augeNqcMVVysqjOyhRKDezLZNkYS5Ry9DDjD9erjtDNn3AAMyyGvzX21+b+dlNg+z/H6vbNF+RLOFG/ssnIHwn6zOHxsCjg0w/mY50cKv5/e19YHLh4gUedjPcDvDb6Txgb4yAz7GJruakE/3PFVF6Yy7Uh19Mcmm5/hhS6HDp0YNbJ1IfBquSAwgA0471jQiNv+JXdjTzTZ/4BbE3a1ldMYAVjee/GFZDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4h6z3WyN3wa+yY6xiHVHLFx4QglzfI4KodSAg0zofwQ=;
 b=Dg9JRtK2xA7ktHrtCFSJkcI/bnwu7/vKqQXv0HGEY86GzdlyiSUub63pPCf2YamM29nkDN0E26WVvEqB/QBNJWOiDxNte0kamDysdLEVmbmgkIEu+JvxZxJxyNxLEWK27uVUnXp+OBkORVz5b0JatGaCmowCLIAhq7qBv+pltPxJfW4OKbn2BQPD+LDBLf6uP0Fh2Ybzn8BTZb9fwcO6jYDUq8tK7Na+sNNXk4eR9UbymlRRY/ItFrwWSpgItFFS5XpMhHFsa003BLNAteenkAB2PV7Ne5e/fMQV3P2TokdFlgPcbnF3Yu2DzhrNho/kh+LD8urtlCsteihKsuQ2cw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9918b8ef-0629-d8fb-3c58-6b20b56b1a93@suse.com>
Date: Mon, 7 Aug 2023 11:15:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
Content-Language: en-US
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
 <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
 <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7081:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ddb34b2-61c5-42ff-578d-08db9726df0a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XFRGcAizW3DEjtd8vhIyubjQtVH6Rlg8M5+LkfJXFw8weR54NwJMNMov2d+2bSFGvfd8/HYPiJpK8MsyONO4D1ik53qTk5++ZqOjmet3KEmTRJ+gL7+YJoPVHxME8J/HOnIo43sWSQ5TC90F5mLa33pDeG8NNvYMNG+dZbU8AopMe0pu4Jx2OMdfPBW0Kp+bgC5w16Weu1P3qvErBIPOUXrkgG4ObEhrBb2qyXFQ0uhWCrVY4T7jwBzi2rJ281vw3/nOUC9i4IqXBOQqRgVwEnVVx2mdLRFVzxKpHygo7se03Jz69TQcMyfWc0ZA37vTQJtY/v2D0cwjskrUvPTWaF7/AfQ95vGuQHpOKwa1Q9RzGPjnizSds7/qnBSl2b24CTSLtJnvVLrDxJXne2l1A6UCy43C/0FUkNwa52U27az2y6x7rYk9vLIYDxAVzGo6tbtjExRiXZYp41qNGKp5A3hy8LQjPpkcHn0Hk+y3Bh2qf7tFVIa1lYsRveqJ8RoQYfQdTANn6gqAT0a9O8/FMb9EECOJxM91DfV0PVbbqHmcmxywwJ5bevWkG2oH2Vau3S3zXZ7YuOVJRaed4LVY2dPsho/HVYofNrgwb7EMAz4hXYS0bKZsYvEwi77boNkOOv6rpuCxL1LCi7XLZauLyg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(86362001)(478600001)(54906003)(110136005)(38100700002)(66946007)(6486002)(66476007)(66556008)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(4744005)(2906002)(7416002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnBDMi9yQUVhMHJHaUVCSlg0UmZPeU1uZUpGdFlIWlFtb0R2Uy9GQlBkZ3hl?=
 =?utf-8?B?YTMybFY4UXMxaWFkOHg5R2xvMmxLRU9sOWw1c2hoR0Y4V0xEdFVkdlBEOElL?=
 =?utf-8?B?VkMrK0VxK0JqNmNnVUxub2VuU0hyanZLRDFRQkRsTUdrMHV4SnF5QnMrbU1D?=
 =?utf-8?B?TURDUXdKc3hmSUJhMzBpczJ6YWkxeEZzSW4zS1VOeXgxRHRaV21Iem1WdFo1?=
 =?utf-8?B?d0V5VmtsNGxKTjdSaU1CQm16cUU3a0k3Q1NFUnVyVGVVQlBzV2E1TjJVemJt?=
 =?utf-8?B?UFBEQlhBMStaRnREaHR0cHdud2dHckhtbHdRMG1xU2VxNytrbWJwMUtIbVpv?=
 =?utf-8?B?YVNYT3phNWpYc2MrZExjcHFhdm55aHhZNDlGd1BwQkM0dnpxekZ3S0s5bUQx?=
 =?utf-8?B?N25JdUtUYjU2TEdHM0xNR25DNXdYVjJ5NUhoQWs4YXVpNDdJSUZQWVArRHQw?=
 =?utf-8?B?L01XVlhncnNaZ1B6UjdlcmRVUEp4UEdRT0V3R1VTR09EMEN0TDVFK045RWtE?=
 =?utf-8?B?ZndlOGhQTkxYMEw2L2loTEk1UmpoQnpiSk5TbW80elRZWmg2QzZRRkxIbWtP?=
 =?utf-8?B?RnZBR0dZb0h3SG9GemJSdlJzWTRVL0JteDFPendEbEkxWkx2MTJJdFRET3hY?=
 =?utf-8?B?dENiVitEMkhyOUNWRWg2ajJIVmtpVmxkRkZ0MDlNN3dEK3kxdjhudTNjWG1t?=
 =?utf-8?B?WDBxZTRuU0VoTUJvcE9zZjBacXpOenFZTTFmK1dyUmg4ZGhRV0xWcHphUUFV?=
 =?utf-8?B?UjhQOFp6eml0Qk9zWG5leCtDYklTTzk1TnBOUWRXZ1YwbTZMeUJTQ2QzV3hy?=
 =?utf-8?B?Mjl6Yk5LcnAzSzl6K3FMZWsrbFJoZHVUUXgvMi9PNGxVYlFTZUJKSGppWkpu?=
 =?utf-8?B?S3FVRUlaaHJ2YjAxb3MzeTllQjcySGpuV1lqQS9BSUhSZjFHUVk3Z2tuSjNX?=
 =?utf-8?B?bUplY0xhY3NKTWFRUTEwRllJSmR2L3pnQ1BhaGJmd3NyZXc5ZlprZGtqb0lq?=
 =?utf-8?B?ek9jWWJ6cEZHOXA1M280QU5YS21aUUZyYmR2NTdhWDFmOXRSU3M2MnpwM2Ji?=
 =?utf-8?B?cWZNOUJoc0xIc0U4cDc3N0JKNERhMWdwS1YxdUdWNUNVdVNvbkc2TVhCZnBM?=
 =?utf-8?B?VmtWc3lTMGhjNjdObGU0dlRKdXZrR0djS3J5UTVlbVVqUFZlSFFwY04xcVUv?=
 =?utf-8?B?dC9SUUlNeEdYTXM1bEhtVk5vUzlxREx2SmN4S25iTUZRUTVvV01EN2dWdjd0?=
 =?utf-8?B?U2FvL3ArRFhPYi95cDZubTBmS3UrbW1abHkzczUrM3RIbThaQmZ3YjVXbmsr?=
 =?utf-8?B?SDJFcEFjdkphT2djMWJZejJDck1JbngrcjA5T1dsUXQ2QnJxNDZtUWpqb2Rw?=
 =?utf-8?B?ei9SQ1RkQldZY0VMdk9YWHdYL3hWNXV4Uk9Ed1hTTXpqbVRkb2xtTXFjNnRa?=
 =?utf-8?B?ZmpqV2JXQXhzN2t3b2tqNy9hNnJHaG9wWDBXUjZwZjNFWG43U2xzTkx0dGhi?=
 =?utf-8?B?Y2duMlpGdkdUaDdxWHJNTURoNDBaZGF1MFhpMUxNYmRFcW0vT0ltVjZPdlRF?=
 =?utf-8?B?cVdSQmZTRTIzU2Q2NFpFZTNXNWRuYjZOdkZ6Slpvd1g5dDJCdXQvdEI2SDZJ?=
 =?utf-8?B?Ym1yOUNDT1VQZnNqQkRrQm03TVVZWngwOHJqT3lHa3VzQjRkV2tiOUNGWlI5?=
 =?utf-8?B?RC9yNWJYRnVPM2REdFFSZzUwdEZlaXVnM2o3U2pHTHVqWXhjTlRkWG9iZVcw?=
 =?utf-8?B?eEtOS0puRkJQcjVjamQxcTZqY3dhRm9DYWsrcEhrc1lGbEhlR0xrMDFYOERh?=
 =?utf-8?B?WE01WG84Ti94anYrTVNWV3hJY1U3eXRyRFZHZVVpVVpEM01VRjhCZ1Y3NVhQ?=
 =?utf-8?B?bWtEbHdlYXd0b0V2UElQeW14WmdzazRXTVVCR0tCeFFadEM1dXJCTFVTYzIz?=
 =?utf-8?B?TDk2c1BKSS8xcktKSE5uVHRjYmVjZ0JIZDY0TmlEdHVmbDdGSWNBVGsrRVpu?=
 =?utf-8?B?S3ZDbEloOVd3K0R1Q05FVmRZbGR3Ty9nNHhhWEVSeG9SMk1tb1hpQmVxcTdC?=
 =?utf-8?B?dHQxMlAwUEFyc1pwVWZwL2ZDbFZoYXY3ZjJMR29BcWdjWWQwNVJzWXYxY1Ez?=
 =?utf-8?Q?SLPiQktNWZpsJfevmZJqayEIP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ddb34b2-61c5-42ff-578d-08db9726df0a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:15:41.0669
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6cj0hJzXgIDaV/HzeYzgmEitdDBmGTgT03TaNB7dgTqhc1VUD68uDoUS9FMZV6YeQA+ljgSm/Zg+rB0/OFmutQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7081

On 07.08.2023 11:01, Julien Grall wrote:
> On 07/08/2023 09:14, Jan Beulich wrote:
>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>> --- a/xen/include/xen/delay.h
>>> +++ b/xen/include/xen/delay.h
>>> @@ -5,6 +5,6 @@
>>>   
>>>   #include <asm/delay.h>
>>>   #define mdelay(n) (\
>>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>>> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
>>
>> As elsewhere, please also adjust style while touching the line, at
>> least as far as the obviously wrong case goes:
>>
>> #define mdelay(n) (\
>> 	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})
>>
>> Even better would be
>>
>> #define mdelay(n) ({ \
>> 	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
>> })
> 
> If you are touching the style, about converting to a staging inline and 
> also splitting the line in multiple one?

I'd be happy about this being done, but I wouldn't want to go as far with
on-commit adjustments. Nicola, are you up to doing so in v2?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:19:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577894.904990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwOt-0003uh-3l; Mon, 07 Aug 2023 09:19:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577894.904990; Mon, 07 Aug 2023 09:19: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 1qSwOt-0003ua-1C; Mon, 07 Aug 2023 09:19:43 +0000
Received: by outflank-mailman (input) for mailman id 577894;
 Mon, 07 Aug 2023 09:19:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9k+6=DY=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qSwOr-0003uU-S4
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:19:42 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 893ae4f1-3503-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:19: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: 893ae4f1-3503-11ee-b27d-6b7b168915f2
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1691399978;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type;
	bh=s/zPaS9Z5FLXbNNBcGX5RsYNKU80L6L1pU+cuGQC75s=;
	b=0Co9hz0/oJEiK/ZGH5xWX1TtqD/N4t54kEoeMNL+adKYgg8HzSahcuynNMEB2GwGqCCIiP
	aHf5jJYvzrHVTSBsE9KwqEwkF2MjdW3+KFZmr1Bi/+5rHDTXrmwGx8fHMbKVd1SjCXhBuw
	AiGLI8x09fIUb4pjuAM5n/4xCeKhTCSu8c8i8nseqtoPJdKInNDo7W5mjWCN5gUKAkDT8v
	TryXxDsHI0bUhRJGaKjjFz7g7xbR6wfEM1dlsAMqwgJvg4RiMo+YXWy2aQ89YXEElKWI2n
	jsNFhepV8IJ62fhI94dQsEPJ1+USAMEfIoM5lsMLLFlmQFzZaemNfvUuhzVlJg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1691399978;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type;
	bh=s/zPaS9Z5FLXbNNBcGX5RsYNKU80L6L1pU+cuGQC75s=;
	b=zulpOQEHSPTDDri5elyM+eEkPFHigOFF3+RZX6aKSCfaaxAiIlefgpsGOQ5y+g/lJmBdWV
	v+FcBS/Eqri69EBQ==
To: Juergen Gross <jgross@suse.com>
Cc: LKML <linux-kernel@vger.kernel.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 xen-devel@lists.xenproject.org, "Paul E. McKenney" <paulmck@kernel.org>,
 x86@kernel.org
Subject: [BUG] XEN/PV dom0 time management
Date: Mon, 07 Aug 2023 11:19:38 +0200
Message-ID: <87a5v3us45.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

Hi!

Something in XEN/PV time management seems to be seriously broken:

timekeeping watchdog on CPU9: Marking clocksource 'tsc' as unstable because the skew is too large:
[  152.557154] clocksource:                       'xen' wd_nsec: 511979417 wd_now: 24e4d7625e wd_last: 24c65332c5 mask: ffffffffffffffff
[  152.566197] clocksource:                       'tsc' cs_nsec: 512468734 cs_now: 9a306c9b808c cs_last: 9a302c9e30ba mask: ffffffffffffffff
[  152.572319] clocksource:                       Clocksource 'tsc' skewed 489317 ns (0 ms) over watchdog 'xen' interval of 511979417 ns (511 ms)
[  152.578067] clocksource:                       'tsc' is current clocksource.
[  152.581023] tsc: Marking TSC unstable due to clocksource watchdog
[  152.583751] clocksource: Checking clocksource tsc synchronization from CPU 5 to CPUs 0,3,8,10,12,15.
[  152.590860] clocksource:         CPUs 8 ahead of CPU 5 for clocksource tsc.
[  152.597196] clocksource:         CPU 5 check durations 14197ns - 124761ns for clocksource tsc.
[  152.602675] clocksource: Switched to clocksource xen

This is fully reproducible with variations of the failure report in the
following setup:

  - VM running on KVM on a SKLX machine

  - Debian bookworm install with XEN 4.17

  - Happens with the off the shelf debian 6.1 kernel and with current
    upstream (6.5-rc4)

Why am I convinced that this is a XENPV issue?

Simply because the same kernels booted w/o XEN on the same VM and the
same hardware do not have any issue with using TSC as clocksource. The
TSC on that machine is stable and fully synchronized. The clocksource
watchdog uses kvm-clock to monitor TSC and it never had any complaints.

But with XEN underneath its a matter of minutes after boot to happen. I
tried to make sense out of it, but ran out of steam and patience, so I
decided to report this to the XEN wizards.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577897.905000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwPY-0005GE-Bs; Mon, 07 Aug 2023 09:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577897.905000; Mon, 07 Aug 2023 09:20:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwPY-0005G7-95; Mon, 07 Aug 2023 09:20:24 +0000
Received: by outflank-mailman (input) for mailman id 577897;
 Mon, 07 Aug 2023 09:20: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSwPX-0005Fz-4i
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:20:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a24c3c73-3503-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:20:22 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id AA3C34EE0737;
 Mon,  7 Aug 2023 11:20: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: a24c3c73-3503-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 11:20:21 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 5/6] x86/xstate: address MISRA C:2012 Rule 5.3
In-Reply-To: <82438990-cb32-a2fc-273f-151818834c4d@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <1ea70e5f8293fdca2bb69ec75f532722136e52a5.1691162261.git.nicola.vetrini@bugseng.com>
 <82438990-cb32-a2fc-273f-151818834c4d@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <4ce6f80a5749dff1aee4ba7458f1139d@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 07/08/2023 10:23, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> Rename the local variables to avoid clashing with function 'xstate'
>> defined below, but declared in the corresponding header file.
> 
> Hmm, there are two functions with such a local variable, but you don't
> change those. You change "xsave" instead. The new name you use you took
> from older functions afaict; newer ones use "xstate" (and use of this
> name is extended in pending patches), so preferably we would follow
> that naming model (and eventually rename all "xsave_area" as well).
> 
> Also - does "below" really matter and hence warrant the "but"?
> 
> Jan

I made a typo in the commit message. Indeed 'xsave' here is the culprit. 
I think 'xstate'
is ok for a rename, as it does not shadow anything  afaict.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:23:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:23:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577905.905010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwSg-0005uN-RF; Mon, 07 Aug 2023 09:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577905.905010; Mon, 07 Aug 2023 09:23:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwSg-0005uG-ON; Mon, 07 Aug 2023 09:23:38 +0000
Received: by outflank-mailman (input) for mailman id 577905;
 Mon, 07 Aug 2023 09:23: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=FiBK=DY=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qSwSf-0005tu-TC
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:23:37 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15c44cfd-3504-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 11:23:35 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 18FE24EE0737;
 Mon,  7 Aug 2023 11: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: 15c44cfd-3504-11ee-8613-37d641c3527e
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN PATCH] x86/mce: Address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Mon,  7 Aug 2023 11:23:28 +0200
Message-Id: <1506ba7675065ee0cc3c84b05c2f8f963cbf64e6.1691399401.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Give a name to unnamed parameters to address violations of
MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
named parameters").
Keep consistency between parameter types used in function
declarations and the ones used in the corresponding function
definitions, thus addressing violations of MISRA C:2012 Rule 8.3
("All declarations of an object or function shall use the same names
and type qualifiers").

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/cpu/mcheck/mce.c |  2 +-
 xen/arch/x86/cpu/mcheck/mce.h | 28 ++++++++++++++++------------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index c2173cfc78..57e1eb221e 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -44,7 +44,7 @@ DEFINE_PER_CPU_READ_MOSTLY(struct mca_banks *, no_cmci_banks);
 DEFINE_PER_CPU_READ_MOSTLY(struct mca_banks *, mce_clear_banks);
 
 static void intpose_init(void);
-static void mcinfo_clear(struct mc_info *);
+static void mcinfo_clear(struct mc_info *mi);
 struct mca_banks *mca_allbanks;
 
 #define SEG_PL(segsel)   ((segsel) & 0x3)
diff --git a/xen/arch/x86/cpu/mcheck/mce.h b/xen/arch/x86/cpu/mcheck/mce.h
index d40cee531a..b6fc9c3617 100644
--- a/xen/arch/x86/cpu/mcheck/mce.h
+++ b/xen/arch/x86/cpu/mcheck/mce.h
@@ -58,12 +58,14 @@ bool mce_available(const struct cpuinfo_x86 *c);
 unsigned int mce_firstbank(struct cpuinfo_x86 *c);
 /* Helper functions used for collecting error telemetry */
 void noreturn mc_panic(const char *s);
-void x86_mc_get_cpu_info(unsigned, uint32_t *, uint16_t *, uint16_t *,
-                         uint32_t *, uint32_t *, uint32_t *, uint32_t *);
+void x86_mc_get_cpu_info(unsigned cpu, uint32_t *chipid, uint16_t *coreid,
+                         uint16_t *threadid, uint32_t *apicid,
+                         unsigned *ncores, unsigned *ncores_active,
+                         unsigned *nthreads);
 
 /* Register a handler for machine check exceptions. */
 typedef void (*x86_mce_vector_t)(const struct cpu_user_regs *regs);
-extern void x86_mce_vector_register(x86_mce_vector_t);
+extern void x86_mce_vector_register(x86_mce_vector_t hdlr);
 
 /*
  * Common generic MCE handler that implementations may nominate
@@ -73,12 +75,12 @@ void cf_check mcheck_cmn_handler(const struct cpu_user_regs *regs);
 
 /* Register a handler for judging whether mce is recoverable. */
 typedef bool (*mce_recoverable_t)(uint64_t status);
-extern void mce_recoverable_register(mce_recoverable_t);
+extern void mce_recoverable_register(mce_recoverable_t cbfunc);
 
 /* Read an MSR, checking for an interposed value first */
-extern struct intpose_ent *intpose_lookup(unsigned int, uint64_t,
-    uint64_t *);
-extern bool intpose_inval(unsigned int, uint64_t);
+extern struct intpose_ent *intpose_lookup(unsigned int cpu_nr, uint64_t msr,
+    uint64_t *valp);
+extern bool intpose_inval(unsigned int cpu_nr, uint64_t msr);
 
 static inline uint64_t mca_rdmsr(unsigned int msr)
 {
@@ -128,10 +130,12 @@ DECLARE_PER_CPU(struct mca_banks *, mce_clear_banks);
 extern bool cmci_support;
 extern bool is_mc_panic;
 extern bool mce_broadcast;
-extern void mcheck_mca_clearbanks(struct mca_banks *);
+extern void mcheck_mca_clearbanks(struct mca_banks *bankmask);
 
-extern mctelem_cookie_t mcheck_mca_logout(enum mca_source, struct mca_banks *,
-    struct mca_summary *, struct mca_banks *);
+extern mctelem_cookie_t mcheck_mca_logout(enum mca_source who,
+                                          struct mca_banks *bankmask,
+                                          struct mca_summary *sp,
+                                          struct mca_banks *clear_bank);
 
 /*
  * Register callbacks to be made during bank telemetry logout.
@@ -142,7 +146,7 @@ extern mctelem_cookie_t mcheck_mca_logout(enum mca_source, struct mca_banks *,
 
 /* Register a handler for judging whether the bank need to be cleared */
 typedef bool (*mce_need_clearbank_t)(enum mca_source who, u64 status);
-extern void mce_need_clearbank_register(mce_need_clearbank_t);
+extern void mce_need_clearbank_register(mce_need_clearbank_t cbfunc);
 
 /*
  * Register a callback to collect additional information (typically non-
@@ -155,7 +159,7 @@ extern void mce_need_clearbank_register(mce_need_clearbank_t);
  */
 typedef struct mcinfo_extended *(*x86_mce_callback_t)
     (struct mc_info *, uint16_t, uint64_t);
-extern void x86_mce_callback_register(x86_mce_callback_t);
+extern void x86_mce_callback_register(x86_mce_callback_t cbfunc);
 
 void *x86_mcinfo_reserve(struct mc_info *mi,
                          unsigned int size, unsigned int type);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:23:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577908.905021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwT1-0006LS-3n; Mon, 07 Aug 2023 09:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577908.905021; Mon, 07 Aug 2023 09:23:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwT1-0006LJ-0X; Mon, 07 Aug 2023 09:23:59 +0000
Received: by outflank-mailman (input) for mailman id 577908;
 Mon, 07 Aug 2023 09:23:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSwSz-0005tu-WE
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:23:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2220a417-3504-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 11:23:56 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 467444EE0737;
 Mon,  7 Aug 2023 11:23:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2220a417-3504-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 11:23:56 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
In-Reply-To: <9918b8ef-0629-d8fb-3c58-6b20b56b1a93@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
 <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
 <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
 <9918b8ef-0629-d8fb-3c58-6b20b56b1a93@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <43b45003191044cbae170404f6f4ba46@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 07/08/2023 11:15, Jan Beulich wrote:
> On 07.08.2023 11:01, Julien Grall wrote:
>> On 07/08/2023 09:14, Jan Beulich wrote:
>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>>> --- a/xen/include/xen/delay.h
>>>> +++ b/xen/include/xen/delay.h
>>>> @@ -5,6 +5,6 @@
>>>> 
>>>>   #include <asm/delay.h>
>>>>   #define mdelay(n) (\
>>>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>>>> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
>>> 
>>> As elsewhere, please also adjust style while touching the line, at
>>> least as far as the obviously wrong case goes:
>>> 
>>> #define mdelay(n) (\
>>> 	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})
>>> 
>>> Even better would be
>>> 
>>> #define mdelay(n) ({ \
>>> 	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
>>> })
>> 
>> If you are touching the style, about converting to a staging inline 
>> and
>> also splitting the line in multiple one?
> 
> I'd be happy about this being done, but I wouldn't want to go as far 
> with
> on-commit adjustments. Nicola, are you up to doing so in v2?
> 
> Jan

I'm afraid I don't understand what "staging inline" refers to. Other 
than that, sure thing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:32:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577920.905031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwbC-00081n-Tf; Mon, 07 Aug 2023 09:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577920.905031; Mon, 07 Aug 2023 09: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 1qSwbC-00081g-Pn; Mon, 07 Aug 2023 09:32:26 +0000
Received: by outflank-mailman (input) for mailman id 577920;
 Mon, 07 Aug 2023 09:32:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSwbB-00081a-ID
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:32:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5013e978-3505-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 11:32:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8999.eurprd04.prod.outlook.com (2603:10a6:10:2e2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 09:32:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 09:32: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: 5013e978-3505-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kdonu+AllvND4dz/fTMCTmUtjLTwjSQcssJrHFCeYn4vW6R6RCham6sj7zXhIO3TkxV07cJyuhyg1njVmb+1rvyqHLvYN+DYBjE1fxk2t+HIHyKSWoEKbEZm92ZXUxLOUpnxzm8rkdYQLMKwwUL1H/TmoqlYRrTk4Zi2WmCl1s/3DLSNkcl3Wvda6rccpEJlSx52rUIhSMZdW0uSz6yEtWXhj1mUjISyI+kajL9fvSK6HMaqKrUeY2OmgGsUrrNGgU4pSFoCyg+iI3cV87doFUboOkOxm5CS/VYAJ2lAZyN35SB+Xwu0b/eCje/96nhueebZY1uMaccLfFtTpTwU7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HTXauQIP0NXVPNkQRgWkSezlcKBCrt1mjr7HHbye92E=;
 b=ZYk3gTTc7YAgASIQQTneJZUCuRBFsoSm8HzEWuRjI6YkCHfN9CqyVDsKdvDNbhPjnG5ICydPPRy/lR0C0oEdyi0GOn4787RBnRbWnggdYa7J/05HGC86ORDiA+zz1fpNv8I/Q2qxtPY25VZyxh9GijT8T0jwyablcm0kARa/eSMObbELdtrFOqtB02jX+bf3pcpYuUEhrxKgQzK3bPC2NiVGcszW338GwaHwcp2AsnAq8AwicEg69NqKmUNIQf8axZoaVght6IQDi847On3Oq5jcw6HatL437T1XZ9G/Zcik0cJIaB/vuYdf2ymiskrV0lj6aoBbjdAlXlbEMSOLrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HTXauQIP0NXVPNkQRgWkSezlcKBCrt1mjr7HHbye92E=;
 b=uHyF0V8cNaooIdZbCuymSKjLYEtHa/cB7JE8X5pK34j5nVgZIHXThpXlk6XKGDSAyo1Z5TZO6NKjOsfouyRXsCrBXPaJqYC28r59LBdDH+122rmXX97GMDj6yisKJ4tx7lCUykfSiirLy9ynpRUawz0IMtfeF+xViflM/hVo5TMi+zfb/gav04q4eUNgpLjncgCWQC5zA9QKw1mLlHzHCCXbZ3bGxirjdg/UokoK60MoHRuvhjnVMKCShhMVqWGy6xtU8uQ1gYaJ9/b12BiT+5nuh3M/x2V3l02++/JZ8ONIHpdlwE482cpDL+9Xa7EdIwQNraHg26RNiP3TlW3cnA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <db982273-fc3b-ec5e-46e8-34ad0976cc38@suse.com>
Date: Mon, 7 Aug 2023 11:32:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
 <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
 <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
 <9918b8ef-0629-d8fb-3c58-6b20b56b1a93@suse.com>
 <43b45003191044cbae170404f6f4ba46@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <43b45003191044cbae170404f6f4ba46@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8999:EE_
X-MS-Office365-Filtering-Correlation-Id: 17f7377a-4b41-45f4-5777-08db972932d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GLpXHd+xx1dMJ31dPkdJuI9mp4VgRKFA0KknzB/HS5gxDShPpXvarDXbtbaxXgtTr09gxWbsle2Hb7V+H4YEjfM8sRfDqIBQvnQIWP36QJ93nz4Jp1FjFJDuXwnyGaBG5g8Ba40goc6rL9iM+yd0vJ3wQIKB6Iv+GwES+ZGyHT5vo3j1OtKy6acmRyLAZV1RVkJ+nNkLOtanvLR5gknXt3cglks5XtPOXuWaALp6S7BRcOtKPSDQpfMrSRm3ubiG4Uz5IZfvYJI5t5D5EYAu00j1EfOGxfHRLg2bebqDQu3LJ+OaJyAjr+UwDuzH0qIEG0I8SW5xFKYiU8BX8Xf+N/fY4DWVVAXx9LNhm8xg5cCOnUwk/rzNe9X9eE3Lc+TjY674v3dflqwdky/ShBgJX4diuNNnJR+PvECj884j39qkVppfgcCjv/XXmUUq1Hd6/bBcCx6/VQG+n42mYqBi9pxaUvHyiLVE32Suidfuu1R7PlMQLhkGqPvAe5s/+JtJawfGfB684AqcZmRvCMkJk7qKBJwY8BtjZGy5KyRhMUogKCBKKIHIHSWvU9gqEbgLK6VvFxSc5Br/4sbTUi02HCIVhSlyrUFs1BIaaovR5NUP5o8qgqpA0dW8pIB15fCC5LT2gxlm+Yis1AYBBe0Jhg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(39850400004)(136003)(346002)(186006)(1800799003)(451199021)(2616005)(478600001)(31686004)(6486002)(6512007)(53546011)(26005)(6506007)(41300700001)(66946007)(66556008)(66476007)(8936002)(8676002)(316002)(31696002)(4326008)(2906002)(6916009)(36756003)(54906003)(38100700002)(86362001)(5660300002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmRKZDhWVlNNZHc4VzlwQ0tQQ1hMMTNWdGc3OFNjQ3VnSDU4SjZBa3lmWllu?=
 =?utf-8?B?Rmk5eTFJSlk0dmJ3L0cydHhLQXptbkJUWXB6MTFKeG1EbFFPZ0N3Y2EyTXFp?=
 =?utf-8?B?N3h6d2M1UDlRengzY2VsODQ1cHdiUEtpVElzQW9OZUNWS1FSR1ppaFp3ejZC?=
 =?utf-8?B?LzViS3ZhZkVHdUplTW1jbnIzWmdhVmRXcjBOMk5QMXVqTWpoS0Jya3dJSjFV?=
 =?utf-8?B?U0tPWTVhYzdzVUFnelpHbnNJWStZbmNrSXZJQXZQcGd5MGJrWGowS253YjJK?=
 =?utf-8?B?YmE5Q3JqaWRsUFRXNXpubU05U01jT3ZOTXpKajI1bUZGRUloY3BjRkxJbTVV?=
 =?utf-8?B?TVJoTFBBVTBGVXpDWW40MHEvSTVIbFpINUYyTWIyWVNtWndKTk1ia2hLcFFT?=
 =?utf-8?B?WHd1eUdXRWt1cS9wb1libE50dks4M0lnaktxS2dnMXNpbjdnbmh0VDRLWmVw?=
 =?utf-8?B?QnJkcWlkdjVUZkI3L3A3N3ZFcG5rNUVVcXVXampDdkdBSktma2JLUDBlVStR?=
 =?utf-8?B?cEpyNWhXNGNDeG1jLzB2YVFLeEE2VHllT2xvYXJrbHZnN0tyVENpTm5zT1Q5?=
 =?utf-8?B?c056WWdHems2RWg5Tm92MWxobmhEVXZhcHQwdkNQdmptUG5CUTRhZVo2ajZF?=
 =?utf-8?B?UnhySXJ0cytGdWxsTVJsMFdEWVc5NEdIalFNbVVDWUd1R3Q2Ymg0cDVoU1lV?=
 =?utf-8?B?QW5rcWpJU3JySUNtVWkveVBPSmlOdXpoWjc4TjltbWtpdE5aaEJvTVZORmNR?=
 =?utf-8?B?cVBIM3JrakhUaERSbXU0ZkRRb0NpaGRKcGNXZEJ6Vk9tTzc5N2xrc0s4TURs?=
 =?utf-8?B?Rk1JRkdVeEtkQlV5b0lXRkk0eEdybENFKzBjWkRKV0Z5YzNpUGpoZXVNdGhy?=
 =?utf-8?B?Mko4cktNd05INVNoN2lBb2c3NVYzUjdQbWVydUxQTkpTUzd3K3lBejhnQlVP?=
 =?utf-8?B?U0Z5RE1xSXlXNlRiMkpyK09kZXlwejBzUkxVRjNubXJlZVJmSlBiWXJmeHpH?=
 =?utf-8?B?ZytuNkI5TlVYMkdlRlltTDhFMy9XWDBoTVpGZ3BUaGRhQXo4MHNQenlCbmNC?=
 =?utf-8?B?TG1NSmR0TzQ5aXhWYzZWd0VEVnBscVVCdzc4anFUbzN1TlZULzVRL08yQTd5?=
 =?utf-8?B?b2IrTmZqUlI4MDN6UllhdEZEYkFPK3J2UDdDRy95dFdWbXU3dzd4dUkyRE1U?=
 =?utf-8?B?S09ycmdwRlpBLzE5YWdUZjkvT3VQUjhUZzh5V3NZc2hpKytOdmFHU3RRTnZx?=
 =?utf-8?B?b0xhaFJDM3lzL1dNcmNubkhrdTBPckllZ3BSWVJ6bjNlUzErTmdPaGg2ZHht?=
 =?utf-8?B?VndIVnFnSWZzcUozWStyS0pWdGpjNklFWC9TZ2FET3V4TnJzQWExdXdseWo5?=
 =?utf-8?B?OGZNWnk1bDlpNEUxYzRtVjhzSzJEUnJHRitBeTJidXQ3SjAwSEVEalkzcmtS?=
 =?utf-8?B?cEM4TXRNRXdaNVZIaUlWK3ZMbEJuM0JONTdiUmZsc2h2Nm51STRlNTRwL1VV?=
 =?utf-8?B?S0JkeUR5L1F6alUzVVJMaU1BTTc5UDB2Q1VoRTNiSW1yaEJNczdZNEk3VStu?=
 =?utf-8?B?eTROMTBlSzNxK2FBQVU1Nmp1ZEkrWG1PSEpmK2lVRXU1aEtLNE5lRS9mZjM1?=
 =?utf-8?B?dDd6TVd5bmpsamZEbnh1VlppbURkYzlLaDZXQ3h4aTg0R0RFSDFjRTZ2TmJn?=
 =?utf-8?B?bi9QRWJkdzFmMk5WR0tpYnVvRW4zbEpMM05mV2VvelpDNkpIalBBakVHZlYv?=
 =?utf-8?B?UHdvRDlRNHh1SG5GNzlVK3c1dHFuVFNwVEdhTmhhdVA3czFZeU5zREEzR0FY?=
 =?utf-8?B?R1ZBRzYzT2hRYnRtd1pvTVQ1L1NZMU5MeGU4OHFqZWRTRU4zTXNDVGxEZHRF?=
 =?utf-8?B?enFsUC9PZEkzVnZNNFA5RVlUejRUYUNBVEIybWQ3bjhubmJBK2E5UExCSXRT?=
 =?utf-8?B?RTlaOGZhbkpYNEVyQ2lXaGxUMVVjQ0JHQWtFOG9vWXZsalR4MHNZYk52VTRN?=
 =?utf-8?B?eUZZWVVQOWtkQ2JudkoyMnZvMzNMNmN3UU9IbGRBcC9iVzFCVlpBQmF1MjJm?=
 =?utf-8?B?SGhCR3JyTXROaElCdkNsZE10anhKUDNBYWdEdkN6ZlBFUS8vZzNtb1YvQTd5?=
 =?utf-8?Q?XPTyiyq+3EM92+iDxlSiraHjG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 17f7377a-4b41-45f4-5777-08db972932d4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:32:20.6639
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8GzEiulYh9Ep9+gk/ttx1dpeiDpIHuOYa0Q8HvtB9qvT8On5L8jQLmygNdaNPeI9k3XRfkH7zNtH9xyHWZzBSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8999

On 07.08.2023 11:23, Nicola Vetrini wrote:
> On 07/08/2023 11:15, Jan Beulich wrote:
>> On 07.08.2023 11:01, Julien Grall wrote:
>>> On 07/08/2023 09:14, Jan Beulich wrote:
>>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>>>> --- a/xen/include/xen/delay.h
>>>>> +++ b/xen/include/xen/delay.h
>>>>> @@ -5,6 +5,6 @@
>>>>>
>>>>>   #include <asm/delay.h>
>>>>>   #define mdelay(n) (\
>>>>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>>>>> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
>>>>
>>>> As elsewhere, please also adjust style while touching the line, at
>>>> least as far as the obviously wrong case goes:
>>>>
>>>> #define mdelay(n) (\
>>>> 	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})
>>>>
>>>> Even better would be
>>>>
>>>> #define mdelay(n) ({ \
>>>> 	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
>>>> })
>>>
>>> If you are touching the style, about converting to a staging inline 
>>> and
>>> also splitting the line in multiple one?
>>
>> I'd be happy about this being done, but I wouldn't want to go as far 
>> with
>> on-commit adjustments. Nicola, are you up to doing so in v2?
> 
> I'm afraid I don't understand what "staging inline" refers to. Other 
> than that, sure thing.

Surely Julien meant static inline.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:33:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577924.905040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwbt-00009Y-9T; Mon, 07 Aug 2023 09:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577924.905040; Mon, 07 Aug 2023 09:33:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwbt-00009Q-6p; Mon, 07 Aug 2023 09:33:09 +0000
Received: by outflank-mailman (input) for mailman id 577924;
 Mon, 07 Aug 2023 09:33: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 1qSwbs-00009C-59
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:33: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 1qSwbm-0001xU-DL; Mon, 07 Aug 2023 09:33:02 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qSwbm-0006Ox-6w; Mon, 07 Aug 2023 09:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=omEr1iYUr4vxM2Stm6PLywNfi8KGWlt9WzXGW/9TApY=; b=tSGxraNnpep/eloVAYx8APm7af
	csEDH57k2lIwMuiOLPdCygfDXE2LJFE13pw/16waN7H+Ad9CGWSyPD+Xv9erlzviyBo9G8ePmqzU4
	RP8hedtmgDSboNs3+tvB+ag7TDU8S7ch3rjANxOhVZryKk+/UlqyyeL6PTlEXFYzX1+Q=;
Message-ID: <06397554-a0a3-43b5-82d6-e570d2c5c081@xen.org>
Date: Mon, 7 Aug 2023 10:33:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/6] xen/delay: address MISRA C:2012 Rule 5.3.
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <e67bd46f204bef64cefdbe7a0b447148f7f9c9c6.1691162261.git.nicola.vetrini@bugseng.com>
 <fed4b27c-91ec-7605-1a71-a0b7c6d7e2e2@suse.com>
 <486ba9e1-2bf0-4446-9ac4-33a256f8d51e@xen.org>
 <9918b8ef-0629-d8fb-3c58-6b20b56b1a93@suse.com>
 <43b45003191044cbae170404f6f4ba46@bugseng.com>
 <db982273-fc3b-ec5e-46e8-34ad0976cc38@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <db982273-fc3b-ec5e-46e8-34ad0976cc38@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 07/08/2023 10:32, Jan Beulich wrote:
> On 07.08.2023 11:23, Nicola Vetrini wrote:
>> On 07/08/2023 11:15, Jan Beulich wrote:
>>> On 07.08.2023 11:01, Julien Grall wrote:
>>>> On 07/08/2023 09:14, Jan Beulich wrote:
>>>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>>>>> --- a/xen/include/xen/delay.h
>>>>>> +++ b/xen/include/xen/delay.h
>>>>>> @@ -5,6 +5,6 @@
>>>>>>
>>>>>>    #include <asm/delay.h>
>>>>>>    #define mdelay(n) (\
>>>>>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>>>>>> +	{unsigned long msec_=(n); while (msec_--) udelay(1000);})
>>>>>
>>>>> As elsewhere, please also adjust style while touching the line, at
>>>>> least as far as the obviously wrong case goes:
>>>>>
>>>>> #define mdelay(n) (\
>>>>> 	{unsigned long msec_ = (n); while (msec_--) udelay(1000);})
>>>>>
>>>>> Even better would be
>>>>>
>>>>> #define mdelay(n) ({ \
>>>>> 	unsigned long msec_ = (n); while (msec_--) udelay(1000); \
>>>>> })
>>>>
>>>> If you are touching the style, about converting to a staging inline
>>>> and
>>>> also splitting the line in multiple one?
>>>
>>> I'd be happy about this being done, but I wouldn't want to go as far
>>> with
>>> on-commit adjustments. Nicola, are you up to doing so in v2?
>>
>> I'm afraid I don't understand what "staging inline" refers to. Other
>> than that, sure thing.
> 
> Surely Julien meant static inline.

Yes. That was a typo. Sorry for that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:37:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:37:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577931.905050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwgL-0000st-QS; Mon, 07 Aug 2023 09:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577931.905050; Mon, 07 Aug 2023 09:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwgL-0000sm-Ng; Mon, 07 Aug 2023 09:37:45 +0000
Received: by outflank-mailman (input) for mailman id 577931;
 Mon, 07 Aug 2023 09:37:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSwgK-0000sg-KE
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:37:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f1afea7-3506-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:37:43 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7390.eurprd04.prod.outlook.com (2603:10a6:800:1aa::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 09:37:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 09:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f1afea7-3506-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hvk03PJeY9/ZjAIGvb9ny+u8UoYqFZXZo/Z6q6y+pCA+CH13kAZyIFkt4CUJahlPfk+R/wXF9VlHurhWggBIKPshiYrfPNse+OpTJXvTq2sE6TY/E1+akuOX9fGyEv9/AroiIdaztQTqINU91drYQyL0XCebeCaGLkVwikxNSa5ostvzZTY6ayTySq0UcwUrXKWvdKI/fZ7m5W5FX67MXsGw0Fn5HBCwJ5SCydpBtixkbO6ylJdmsWpSnfLQ8nh+7ABRA5q7a47kBYyZrY0DSDeptChmN2jO7DQVfvMiMS6duGyN0dNl8YjBZ29blCfnuk1/1x+FEhV4gR2J13bBdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UAju/AGE2GUSoIQ1i7AYhQoyBPXYjqks3hDukTUZrBs=;
 b=cRad9Bn7hn5umaUQQlDe3cBf3BDrzkg6qwhNo2y43PjW5Mst9nOuhgtv0iGXEq2TAeQ3jJ4RIV26T/GNzOkvL5/IkJB/zDGFGU46efn043JrcFHLQTazrL42g7G/7cnVRqQDAZThOzL6WMGepMByaWGe9sWtBhbRSYMUzlENLYx6F2hqZfc/Eawo19tBeVwbRgwF6Z/R1k482nZhh2HL162LH6N61FS6I3t49YxWbx9fGfaT4nZssjOF92wl08QZR2nZri1D0WtEyIMSqGq3OgYs0l+S9u2AD36hJ0RMqa8gG22SH92V7p//UTYe3jr+5VGi66rMtGM6lf+4HIrRyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UAju/AGE2GUSoIQ1i7AYhQoyBPXYjqks3hDukTUZrBs=;
 b=JjcGaryzuWyCDC4g9QYOUGiw6aGvmp4PyesAFMxf6/kXjtlhHE9HDCTDTZ+vJuvfQMHqZ5kzImgXXjeS+GhkWScLg1Q2wnri+ac0d9WlzaXnJHvG73rGtAUxjJ0Xdb7yaWby4VHgC2RFbrQzxts2Dzg2ZcoBHDsU54X2TJp28IpW8NILxHbsMfJVB0D6PoRzjEfTqaYD2niFGlw/0485XIfun2BBYQfuV6ZrNJR8NH/4wPP3u1zyIGocVlLhofdOImwi5xN2VraJkSsI0Fcp6aeTIXKXNPbVsf3UXrZRas34yEIODxlBf0tOUZ1b6KWUPM33jMKJBBhoweeLAREf4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f3c0110b-f019-0943-662c-ebaa54fe6317@suse.com>
Date: Mon, 7 Aug 2023 11:37:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/mce: Address violations of MISRA C:2012 Rules 8.2
 and 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <1506ba7675065ee0cc3c84b05c2f8f963cbf64e6.1691399401.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1506ba7675065ee0cc3c84b05c2f8f963cbf64e6.1691399401.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7390:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d5cbedd-8cc9-4f27-720b-08db9729f16d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9743qxCp4UZn+PUZrKG8leeFP1/YPh0AnXHJ18QSE/O0vZX6LjfULox4m6070j1/H/ICg70HWwTpt2IivWk0KSuFZSKqJg8L4KXhLAbtKmDu7LwTkJtORCVbL0pBwrHoHa7DaXMDQQ7T87mkL7yuJpEb/oAxU3bMUMDcOi0esnycDwYukdonAcOZWk3EmmpzdT8w3Jxrucftiiukbq1SEpMr6qEUSUSiAdX8RuLMF0TDv7hIqDVfRR7vknrFakh9RWRYAhdVYLTDJTh76u+dOb8E2YvTlFmmP6r3vHYjbqoY/50TiUDKy143eh62bu+dQkZj1KZ1nbacgMKaC7dkGgMJRriJT2YMBjuTufeYlIBEZT2R1lX+lG4K6y37yFhVdFgFzK1n53eDopzWDs+8R1ltP8zLytWGmGhKdqZrr+ou8hAXaxOUn+I22xyxlMnFQea0bAa7I+tJkK3oZon9GjLnizeNumFP4YOVvmgHRDXUp51/cA0NJKsg53tqTlvRAQ+v3e4aiaOVa1yaGJzDlX1EkfkxLLJLJgP/27N1opXNYUMFVCOX5nbuJkqp6zUBb4h3Hdgodlmdk5aRHICepinsqc3WOyeNugcj0yg67w4v52bU3wqSQwRKZ0onBFgtF+YZoug0uSqLTiVr2H6l6w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(136003)(39850400004)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(53546011)(478600001)(6506007)(26005)(8936002)(8676002)(7416002)(38100700002)(6486002)(2616005)(4744005)(5660300002)(36756003)(2906002)(54906003)(31686004)(316002)(66556008)(66476007)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mi8yMy9HZHhYZUY5bnphWXVleW1CWExsSHJ1T1o2WWJWdHpwbEs3K2RyUEhC?=
 =?utf-8?B?dDJBSWNrWHYyTGJIbXdSVGxSTXJvSUhVbXJtRjNjc0UyU1d6NWVyNUVValhH?=
 =?utf-8?B?ckxMZGxJYTVQNmE2L1F1djlReDVPeXppd3VMVmg5dkdINGtMVnBYRE9qazJq?=
 =?utf-8?B?aGFja2Qwc2FYY2hBN3VYTVJyd0F3enZtVFdIeWF3NEJzK01oTG92eVlkZE5w?=
 =?utf-8?B?NE5ZVGgzUVNhYS80dzJYVjJVMlVoNlNGd0xkWm96YnBmWmM0bGd2Y2VEUXNW?=
 =?utf-8?B?TTdieGhzc3FHT0JPTVNlYU9JM0RwV2w0YXdVUWNvYmpMakRTMmRtZmhDWkk4?=
 =?utf-8?B?akNqVXVVZEdvK0swYjVwT1lXVklkeEpLNUFMcWpEZ21WL2hETjRxazc1OGVj?=
 =?utf-8?B?OWxsWG9yOGhoMmg2NitaZ0xhYjhVb3ZuRjhaRzlDYTFJc1M5VW1kcnpnVjlJ?=
 =?utf-8?B?NzFmdWZ6c0FVeVhiSWVqY3o4WDRDOFkyR1RqZ1NtUmtYYytNbHZFSlRHenVs?=
 =?utf-8?B?UTJmUXRqb3VNVm5VdFVkR3pZMFcyNStxNm5QeDAvdUh5bEg1U1pUYktlL09l?=
 =?utf-8?B?YXpUdklqTUhVcXJtaG9PMk50aWtHMFVMSDYweE82djkwRnhYVXdVVmpRT2RE?=
 =?utf-8?B?a2lnanNDbk1aWHlZbjlGeGZhY3ErcTJYUGQ4TnlnR1pYUGJ6cmFpc2ozQXd4?=
 =?utf-8?B?TW1YYlN3dXlPSjkxODc4K1NCY2NPcm0vZVpBcWlHVjhMemIzTDdFR3d3Y1Uz?=
 =?utf-8?B?UTlOeitCVUhwNU5SbU51N05EdU0vNldzRENOK3hOYmp5R1dGNU13aUFMaDdO?=
 =?utf-8?B?Zy9xd3JUako5LzFvaXJYWXlPcEtFQUgwSTU2K1pwTWZObGZ0eGRxM2pvdHVj?=
 =?utf-8?B?MklEZVJ3bWM0MkE3SzdIcEszYnBOM0VOYVI4V1ArNkNtTGpnOUhVWFZJaExX?=
 =?utf-8?B?VGJhWTYyaVhmYnNGS1R0TFJpMU5HMGdKT0M4UmZONG1vb3g1Z3VFWm9PTTl1?=
 =?utf-8?B?N21SQS9tY3JJUEtsUk9pRWtXWEtHa21wZFdvenhvcHovbE55c21OQ01nQUp2?=
 =?utf-8?B?QVl2OGY5WG4wMHVFTXdwYnBVaG1rRm12MUVOSG4xaHlKNXFmMTRiM21USUxm?=
 =?utf-8?B?YStoOWwwMG1XMlBFNHQxdTFEU1NoU1NHcXRINGhQS2dKc3lKRU94RWhOR0t6?=
 =?utf-8?B?TjR0V2gxcUt3OTBSYk51OXRrcEZlbTJNZ3dySStQYkNDQ3RGV3lPWnFNMXVK?=
 =?utf-8?B?aHFRTHRsd1NoVENtcWh4WTVSSTF3WnRMVkV6bDZpVFZRaWVtRTdOQ2xWSytE?=
 =?utf-8?B?SWE5ME9iZ1NsMnZ3NnBCOEpuZ1ZTQ0J0VE8zZUJ1N3o0RWs0aGVpN1pHeEdh?=
 =?utf-8?B?bnlBWXZUb3VhY01LU0M2cWEvTWdCVEYxQWRZWXA1b2lyano5TWF2R282QVlv?=
 =?utf-8?B?ZElXaDVvNDVMWnBIUkR4aksvOWU3aDlaZHNJeU84b29xbTU3RWlwNTZZZitj?=
 =?utf-8?B?a1lKNkFlM0V5VWtlK0Q3Vk8xcWpmRmt4ZWY1Nkd3MkVXSjgzVW12R0dMNnZZ?=
 =?utf-8?B?amZEYVlQTTBZbkNCUkNXZ3ZacVRZRmdqakNwaUhUOG1RYWVLSnYyRk9xL1JJ?=
 =?utf-8?B?TGZOb2c5NDErUmhBTjlURHl0Z0tYRW91Q09MT29TT3lVSWZjQ3o4Mkt6Mml1?=
 =?utf-8?B?alZCdHBZTUI4anV5Nm9QOUxKQjN2OFFPK0RXM2F2eDZHMDFzYzJUNDlyc0xC?=
 =?utf-8?B?YzhwNjV6eExvVmUwR3lkcVhHem14M2dLTFFDS1hJSEVSeW5HL3RHc3NTM2M2?=
 =?utf-8?B?NENla0s0Y3R5WVdPemYyL01QRTNBVFpYWVc0Sm8xVzM1Q29YNDRUVXJOMjZZ?=
 =?utf-8?B?VSs5ZDRvcnFFQlJiMlF2TEJYWG9uUkwwaHI0UWphUk1EaHo0L2RmV1ZPMWds?=
 =?utf-8?B?VW1oOEcyVFNjZURFZEFoWFBDZWpSMi9aZmhDOVRGU2ZWVXZQdFpzM05SVlhu?=
 =?utf-8?B?VXZESXRZZjdGVmZJczB1UFQ5WEYrcnR5RWlsWDVUYWM1OENTcTAzRjQ1ZGlR?=
 =?utf-8?B?cGpuZU5BemExVCs5Qkx1VGlKNVVZR0RLYjFlU0ZsVGR6RlA4VmxoMTQ5TG0r?=
 =?utf-8?Q?XZtsqyfjnFtRtSSj7cxGmRxnJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d5cbedd-8cc9-4f27-720b-08db9729f16d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:37:40.3919
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jnF+tUL5X+N62FgBOOuPzCl8gj9wSGeU8OBKR6JoMf4M/IWvnqb+8LQMxsQmJA951bDh1dAx1t0Q476hRMqn0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7390

On 07.08.2023 11:23, Federico Serafini wrote:
> Give a name to unnamed parameters to address violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between parameter types used in function
> declarations and the ones used in the corresponding function
> definitions, thus addressing violations of MISRA C:2012 Rule 8.3
> ("All declarations of an object or function shall use the same names
> and type qualifiers").
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:40:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577935.905060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwip-0002Iy-7J; Mon, 07 Aug 2023 09:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577935.905060; Mon, 07 Aug 2023 09: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 1qSwip-0002Ir-4M; Mon, 07 Aug 2023 09:40:19 +0000
Received: by outflank-mailman (input) for mailman id 577935;
 Mon, 07 Aug 2023 09:40:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSwin-0002Ij-GS
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:40:17 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 679d72dc-3506-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:40:15 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 431FF3200583;
 Mon,  7 Aug 2023 05:40:10 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Mon, 07 Aug 2023 05:40:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 05:40:07 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 679d72dc-3506-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691401209; x=1691487609; bh=CQofn4kIIMGyS3oRnZGe7L+ew6Ute4sCDJJ
	Fql2/Wzo=; b=VoQvsoUsTgoYMIcsh1iIBzf9FfYI7JymX5ew1jXBGtJGRkgzp8+
	BzR5ji4sK+cscLabQPEW9W0Bfzsoa8f8TRAExLhnHA0L6z1UCKDhOIl/Xg206cAK
	afofzpilWyFdoDcdaz6XIhLgsDiGH+8icS2uSeehCGgl3y6DN1PQGRhAeGiIGkhH
	N6A4I4cz1e6ScUrXS81ZA+Z48a3AEs9F8ZoXpBs8kZVhiBAk3wm9Kq77pTM2gejm
	0kptXcV+GWxqqJ3efFihK17LeHIfSGHpKPM3rYQ0DSqMXOR+xMajLSvhlg5mPRDD
	J5Nlu9lyjhsi20U1+7MLo1YrLFbuLUEW33Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691401209; x=1691487609; bh=CQofn4kIIMGyS
	3oRnZGe7L+ew6Ute4sCDJJFql2/Wzo=; b=bLP2urWte1cys9qMwAxSC/kFcKFAV
	NlwqlsP+9BROhFDF+k4ZTxEXmrv8GiQma3zZCD9BGraox8+yJ0svJeE8B1NN2J/c
	jgIIyEgEZZAtnNITJgPgoFLwshGQj1Esjf0MzC2UrjjIX+InbS3pv1EpCUESEQQg
	PZ7z8fj2U2iYxdL5P0XJ9aC6LD2rTFj1WlsyjSKI6EIeJfTF3i3LxJorWTJGUsfV
	rx7kGSclO964m0LEFLve+bAfRDK87vGyWjtMiC8YpsAUjXQVsuxpwdo/7joWT7s7
	niK7WnWsFoNgiN35JvU8iYgKVr6jLuEXH3PRol4vz1n6JHfPnXqEZt0Bw==
X-ME-Sender: <xms:-bvQZPKPao04tQiQ95OhYgJQdJpX_V8EmVOOhZ2VLNZd6VJBxzQhmQ>
    <xme:-bvQZDLSwMqqPzuHBqa3C5osSMEfr4qiC-ghc1NkhYG79hC6fUxBAct2Dc7I6oABl
    jbHp_OPUyJrYSU>
X-ME-Received: <xmr:-bvQZHvDaqpwxC8bxqZyET2gkOpv8OcSKH-EzIHKbu50_-MT77l2N_r8_-_9>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgddujecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefuihhmohhnucfi
    rghishgvrhcuoehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepueevheegtdefgeefuddvfeduueduffffffejveeugeef
    udefiedugedugeevudfgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsihhmohhnsehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:-bvQZIYpXZ8IND_tayfTvOQ40EFGs724YiV_7IQHXZ5M4t2E_ch8EQ>
    <xmx:-bvQZGbWxEX2QwMz6wLyewJZ3y3SZsvUrJsVNgpMtmEKcCpZqahnNg>
    <xmx:-bvQZMCJXSjIPXqhjM9h_daz19s9g1Hq4Tmz2GbgON8nhxa4mVlSBQ>
    <xmx:-bvQZNXJLeBi12si7ffSybkG7jMv5W43edqNDKNGUAlEaUGyIBMlpA>
Feedback-ID: idc5945a3:Fastmail
From: Simon Gaiser <simon@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Simon Gaiser <simon@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when parsing MADT
Date: Mon,  7 Aug 2023 11:38:25 +0200
Message-Id: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It seems some firmwares put dummy entries in the ACPI MADT table for non
existing processors. On my NUC11TNHi5 those have the invalid APIC ID
0xff. Linux already has code to handle those cases both in
acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
same check to Xen.

Note that on some older (2nd gen Core i) laptop of mine I also saw dummy
entries with a valid APIC ID. Linux would still ignore those because
they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen
this check is only active for madt_revision >= 5. But since this version
check seems to be intentionally I leave that alone.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f3bf1dbe64b62a2058dd1944c00990df203e8e7a # [1]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=10daf10ab154e31237a8c07242be3063fb6a9bf4 # [2]
Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
---
 xen/arch/x86/acpi/boot.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
index 54b72d716b..4a62822fa9 100644
--- a/xen/arch/x86/acpi/boot.c
+++ b/xen/arch/x86/acpi/boot.c
@@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
 	if (BAD_MADT_ENTRY(processor, end))
 		return -EINVAL;
 
+	/* Ignore entries with invalid apicid */
+	if (processor->local_apic_id == 0xffffffff)
+		return 0;
+
 	/* Don't register processors that cannot be onlined. */
 	if (madt_revision >= 5 &&
 	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
 	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
 		return 0;
 
-	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
-	    processor->local_apic_id != 0xffffffff || opt_cpu_info) {
+	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info) {
 		acpi_table_print_madt_entry(header);
 		log = true;
 	}
@@ -143,14 +146,17 @@ acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end)
 	if (BAD_MADT_ENTRY(processor, end))
 		return -EINVAL;
 
+	/* Ignore entries with invalid apicid */
+	if (processor->id == 0xff)
+		return 0;
+
 	/* Don't register processors that cannot be onlined. */
 	if (madt_revision >= 5 &&
 	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
 	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
 		return 0;
 
-	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
-	    processor->id != 0xff || opt_cpu_info)
+	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info)
 		acpi_table_print_madt_entry(header);
 
 	/* Record local apic id only when enabled */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:47:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:47:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577942.905070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSwpn-0002zy-U2; Mon, 07 Aug 2023 09:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577942.905070; Mon, 07 Aug 2023 09: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 1qSwpn-0002zr-R0; Mon, 07 Aug 2023 09:47:31 +0000
Received: by outflank-mailman (input) for mailman id 577942;
 Mon, 07 Aug 2023 09: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSwpm-0002zc-EO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:47:30 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bb0d336-3507-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:47:29 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id A42DF320090F;
 Mon,  7 Aug 2023 05:47:26 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 07 Aug 2023 05:47:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 05:47:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bb0d336-3507-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691401646; x=1691488046; bh=oyiuSl6ubAxDMpNDLfcH1Iyv9puo3tY1ocC
	wH/6+1ao=; b=awSgKozHJ8gpF9Ml+ivW1Gc6X9hJIUDhyG/pPTgN9nKuvgwNYdE
	EmHSolBZVYIa8NdYQuE1PEFsLrAdJVaywVYayNdgBt+GFRdpqM/xXi/cry/ts8LT
	dmEiuYz3z9zEm7oZ9PWnjppjqeNSHTBNMXiFEH/bI2mGtpKFFpCNJ4E2c5Ur/VU3
	ZcJTXLWTPmxb6OfTdS8P7LlDYnw5LficKbBX5Oi9+9DOf+x1VCI9RcriH/0t1lQx
	XYNA5zWSSZbfrPpystFaE9WRQKHu9OHttfQHArYtThRGDULtgjwbgY6MtUcsuoVf
	H0YYZ+T7XQ5SFQ7CXqhq4Gm88wC37q+ecBg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691401646; x=1691488046; bh=oyiuSl6ubAxDM
	pNDLfcH1Iyv9puo3tY1ocCwH/6+1ao=; b=12Cw/hnCNLV0rCBbhAG9xsSnstNac
	KyChLLEDIQZu8q5ZL70Y0ebtHA4jeZd2ZvtBalDi4s0cqHmY4OE5fyFnCcvcWVfq
	6uWW+s3MA8mgP7Zmjp8BqSRcj7oPnS6tgUCdnGybaCw/fk/2EQjQ5SVfwAn+TATl
	mscQXWLFonCXE3IZIXtVraMnXhKp8pHaB3DXvA98VFbDRYTk7RGKQ2T7XzgdUCpT
	fKFr+Pbwmlh3wFkLb1LGDZ9UwXpbVci/ExjlmFP33scM9oS5kT28ODX+a3jF1zL2
	R8Hnbxa13nKFbNshSw9cx15YmcndL5BMa7GP+xS9sD/AedmniNxwLzHag==
X-ME-Sender: <xms:rb3QZPYRLCPUw13MPhWnNZVoQ11OB_66S0AMrdXJn0Vh85KMkVtHKQ>
    <xme:rb3QZObFpLzm9ulPm9ioJUctJf83fYDFGHw_RA8SoTKB2RfrY9hMN6D7lq1FktmDM
    OI2v-5Cacqjs2k>
X-ME-Received: <xmr:rb3QZB8_XTfXQWs5DTSbpqaG9r5HMQfe29rz0_0K7x_Fq8CVgCcNCCvq2AsymtY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgddujecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeekueffiedtgeffleeglefhledtfefgiedtveeiffeg
    hffgledtveehhfdugfetveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh
    grihhlfhhrohhmpehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtgho
    mh
X-ME-Proxy: <xmx:rr3QZFom4bBfjFteGv-EDtLvv_zgyu8LbbZrGo2GRGxDDQfhwDmoUQ>
    <xmx:rr3QZKr0jTupbCJHlpCMGbwpWBikdBgiRDw6E_PikZnhZnxR2TzM9w>
    <xmx:rr3QZLSE4F4u_O_ZPQXSCv5pZM55LzWFnxyYwPKT5h5ux-Z8KQvUCg>
    <xmx:rr3QZNVMCY01EqwXmAvoS4dYoolUraWsrx6S8M4MFPeGniCi-XieXw>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <16d5ea81-b12d-df4c-bbbb-0d9cdc2df8f0@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 11:47:12 +0200
MIME-Version: 1.0
Subject: Re: [XEN PATCH v2] x86/hpet: Disable legacy replacement mode after
 IRQ test
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
 <8757d4b8-7765-e50f-73d2-34c7c34acaa5@suse.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <8757d4b8-7765-e50f-73d2-34c7c34acaa5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------FqNyTuaOB7wvgh5boHzi1Prp"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------FqNyTuaOB7wvgh5boHzi1Prp
Content-Type: multipart/mixed; boundary="------------bzYp4zvEK8XxHai1001cssK7";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Message-ID: <16d5ea81-b12d-df4c-bbbb-0d9cdc2df8f0@invisiblethingslab.com>
Subject: Re: [XEN PATCH v2] x86/hpet: Disable legacy replacement mode after
 IRQ test
References: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
 <8757d4b8-7765-e50f-73d2-34c7c34acaa5@suse.com>
In-Reply-To: <8757d4b8-7765-e50f-73d2-34c7c34acaa5@suse.com>

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

Jan Beulich:
> On 31.07.2023 12:32, Simon Gaiser wrote:
>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -1967,6 +1967,8 @@ static void __init check_timer(void)
>> =20
>>              if ( timer_irq_works() )
>>              {
>> +                printk(XENLOG_INFO "IRQ test with HPET Legacy Replace=
ment Mode worked. Disabling it again.\n");
>> +                hpet_disable_legacy_replacement_mode();
>>                  local_irq_restore(flags);
>>                  return;
>>              }
>=20
> I'm not sure of the value of the log message. Furthermore, considering
> plans to make XENLOG_INFO visible by default in release builds, when
> not purely a debugging message. I'm curious what other x86 maintainers
> think ...

As far as I can see nobody has so far voiced an opinion. How about you
tell me the level and message you would prefer and I send a new version
of the patch with it.

Simon

--------------bzYp4zvEK8XxHai1001cssK7--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQvaIACgkQkO9xfO/x
ly9Dxg//Tj8yrK7W8agNBrnli7aYzzXSQCczKzZwwSVAzl9Aszchm4zBwDuOil0H
LgnRkZSMr+4GtynGUANcentVO2CDymlChTmf72l2u39xlYuyP3SxUyJpo4BrD9Pt
ExEkGgz3ELJf0nnawInhomL6v6I/m8zDKVsNZllRL9UvOykPchB9VUNMzQlj2oi/
vdO2BOldbZ+OyUbeG3SWXgNNG9gQm1h0OT6oCpNwY/LxmUJ1fAiKEu+i6MDeF37R
mUsdlLX9pH+bXm16CVN8vJKXT06pwtBNh1gYizBl+9iHtN3b+FMPtpH4ecrxJiHB
yAnzfwPKbEbrFxD+76ENa0y6JtdqqaCJ5aC0m75nNzqBt/wec5pfJSpM+uDJod+P
qrNiFyhodp65DdttD2XHvoL6xLWKobquElyPtqZSzRtLkJKw/vHd3Al4/th5Ic0d
6o7/7ThRqxnPnHLX1muocg/vQVOBv1h+BI13HKUEapM5346W0h66o3RXz0MzJhHk
6/45d5t7WQ1wgtYrEGBsQa00Q8Wy4Ahqi91qk7U9NYKXBe9D+vGHVgsuOm9hvZEF
Ea7w/eiS1IoAO5YcBHO5oU42ilCF1nl6gIkvONpOoJVh594tQG6U06PGp+bgdvWs
H5KuAgYwcjGH0qja5RusdeN3ykFhBaseLc0KRUUj9IRV6TrlPqU=
=qSzw
-----END PGP SIGNATURE-----

--------------FqNyTuaOB7wvgh5boHzi1Prp--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:59:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577950.905091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx1J-0004sX-8d; Mon, 07 Aug 2023 09:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577950.905091; Mon, 07 Aug 2023 09:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx1J-0004sQ-5x; Mon, 07 Aug 2023 09:59:25 +0000
Received: by outflank-mailman (input) for mailman id 577950;
 Mon, 07 Aug 2023 09:59: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSx1I-0004s1-IZ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:59:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15b30b57-3509-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 11:59:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8831.eurprd04.prod.outlook.com (2603:10a6:102:20e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 09:59:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 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>
X-Inumbo-ID: 15b30b57-3509-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BsUB3c+QvrNE2qKQS3ceNVeBVEGIhTieTN3B+GmxNwdzVbeaujMrPpqQm6jAnot+8UMOKkMzTbAxneKtzdYsqaSL0j7ywZIEEjm1Y+rd9ukLrP2l8pKI3t5x8ss+hJiZuTwF9b/aNIdAkG+gZVSW9I6RKh5w+61SOhFN1c+tXbEnFNRiFTQJzv4Or/F6rBLMPwnCwnlCj47Pxa5XAiDJzkY61cbPVGz0NX9hqGgvXXmRrHq/Y4Qj5DYI4o+wwGrEKXJW9kAd7iXq+C+o7awjDCAjL1kC4DY8zEowKFzGZk/WjCo7yqCVpFrqRj6KiEFFo6gKOhisUgeV7K9tKbaNOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PYk04VqF6SMS20j6DS9Kk5uPePKrMrEqgZXcw7Zbbz8=;
 b=BIUPH1yuzZapqFZpp+C4bfgFtnlOWa7XnZ7TpZ4s98I4iENZU/+y/a1XYUjg8Pl0+RAj1c9THLvr1NLquhzxbFkJn4lYjM4pTRV8ORsa+izO1piUJQSYbtOvz1vXzKSK9mnAjZhpm93OkoxQQrBqnwwzgldvB4RbX16YwXgzNuzvAXwtFz4oLKiN7ztS659h+4fciCFBxCm6SCAIKU0Obd+dk8EmAcvTCtBUl2Vru5RzrA4hWjU8Zy2FarR5S3n1l9GNKDorOjxi6RvrcC6PkomLENAJDZZhvoPcgoaXjGzXO6g2m/T0bL5WJqNuxcP4/LdAfMn5IKznSi/IzsnM/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PYk04VqF6SMS20j6DS9Kk5uPePKrMrEqgZXcw7Zbbz8=;
 b=Ws6YXCnkCexI7hQYwsYfC8JsfjzrSZGsTJtn6upNJ0ShljotzMktYcvTJXf4gaP6vRDQ8a1suJASMFH9/MC1slYS5NxMn+jVrhDkNkT4k8qcxNyDB9NEo8LaV0/BssPwafQp0fSbFZF2Yyp7bqpckBrdyHGgTIqjjuuwwnfZU7kfTOvzPNfNeVXbr1mmGgmnr7+hBZ/lhRTywpwl3aV+SMW5UV/dwehQUv0y+jJEp8EqIfjWo2kanb9uki1+aMlhiXAGFrGSZoaWvWBXMMqU/9auZq1DqORQ1Jt1Ha+cfteKBgmRvnLJqsCrnIRheDBs9im3tFbrvFXXyoiiiR3G8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7313b0fe-140c-f17b-a2ec-8b5a943eb0a9@suse.com>
Date: Mon, 7 Aug 2023 11:59:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] x86/hpet: Disable legacy replacement mode after
 IRQ test
Content-Language: en-US
To: Simon Gaiser <simon@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>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
 <8757d4b8-7765-e50f-73d2-34c7c34acaa5@suse.com>
 <16d5ea81-b12d-df4c-bbbb-0d9cdc2df8f0@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <16d5ea81-b12d-df4c-bbbb-0d9cdc2df8f0@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0112.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8831:EE_
X-MS-Office365-Filtering-Correlation-Id: 13be70cb-4252-410f-aa0c-08db972cf812
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s3xuj7SV79liwdzYxFPZ6HUvFyedJb8dWUoOsQBFGUSkQyffrkR5jBwpjL2DQqnH/fBCHX/YPMiEpxcDHfSl5dBbae+6oeJjt5hBwt78CoOtOindSbpxiP2KrjsS73vbj+Z3YD5y2TlJ0xGJHA6EsrAkVAVpAeUdJKNZnGCqZ3T7lPgCp9w1jIP+CIAWEV7DPcPLJZKk5XbFmp6yhcSgTg9MFw7/UZPQZ9VMOrcp3IDZYsyEQNlVMYDr+q5brjRxiZf6Bj9t+d82qiny07dtW/PCiNfSkdhoT2ZVLs3cV2YTBZyZy3IiuMmK5/c9wsdywSY69/uMXdPPvRiAlRLvFOIMub5ECudZ07+r8WLbsXgjgZXGXX8soviyLkHgHbATYgsm+QIHFM1sB14K1o2q6qnVTr9yLWRnx3pbx6EJF897DsUbHDyayoGpK0ZDLGsO6FRe0tFcHIzyokD6nHWKuWTPqfVKT+TvcXOh6eY+n0HOeGKpJaJ0i+OM6jrY5eJPkzng3KFA6d27uqteYrtxbzXhN7l1fDvAO43FPdzuIZrrB6Y9fdWiOt+DCK2YfTq65L73jTV9uh80To6QYYHk/j0selE4/Ew6UHdy8lSaXp9gDfClhXfn/jh2VhoD5BdxxuKohRGH52hKmDwkZjZk2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(366004)(346002)(136003)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(53546011)(6506007)(8676002)(8936002)(26005)(38100700002)(6486002)(2616005)(4744005)(5660300002)(83380400001)(36756003)(2906002)(54906003)(31686004)(316002)(66556008)(66476007)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDNiKzhyN0RDUU9zVU04OFJGeGNjbVU0RFYvTW11ek05UDdwMjV4QlFrWUdl?=
 =?utf-8?B?OUVyWGlsSTNaRloyT0lrY2ZDOHB2T3p1TVRNN2dsT25CMUE3aythaVFKR2Fa?=
 =?utf-8?B?VTNaTldBZTNJWGNJSVl0VHFUZnc3SXFKMVRiODBpcU9zYzNxMk5wcmJyOTlz?=
 =?utf-8?B?MEE0dUZXWVljSzF1SUU3ZWN1K3o4TmxnbmFCM2s3bWpaTU9nN3pTbldyTEN0?=
 =?utf-8?B?dFVLbVMxY1ErV0xpUERZS0wyRDNyZnRNUEp2TWtFdWozYmVickZJRUtBV3gr?=
 =?utf-8?B?RlBuR09WRTIvMVRRTWhNaFcxditubmZ5eW4vN0k3QjdzLzdmVlNrcUMzYm43?=
 =?utf-8?B?bWxONXlMUDBTMzV4aE1LYlRRaHFwblloN01ZRGJFOWRGS1lIU25mZCs2bGFj?=
 =?utf-8?B?NXRvdU0weFNsNmRaWlNvRXYyZE16UzBrdkhlY1dSRXk2MldUOTU5cFdWMytT?=
 =?utf-8?B?V0hyK3pEeW5tdWNPK3FLYTFZVkxZdk9idHY4UDZYcFpFTTY1S1JCUitERktx?=
 =?utf-8?B?M3p4aEdIY1g3N2Vwd1JYSnB1ZUVKdWY5UU03aklMNXBYZ0lCdzJJRXlHMWoy?=
 =?utf-8?B?WUc3UytZajlLeTdzNm1qYjZjemNsWWN2LzVvWm5vTFJKS2hXR3RtWnBGQnlZ?=
 =?utf-8?B?SDEvUjR1WkRqZS9kaFd2blJUdlBOSGZKY3lRYy92aTRXRXFCL29UdHF0SFBs?=
 =?utf-8?B?SjU1azBHWDZZNU1iOEJGN2tQS1I5T3d2SEFnL09tR0VFUWFCMjZzMzJjbzZl?=
 =?utf-8?B?QUhwWUJtOW9OT2ZWZUhDM3NGdXJJaWkxRHUwSjdqMlR0Rk5PbExWWUNQQzl2?=
 =?utf-8?B?TVJnS0hIZk11K2s5eWdqYW1VY3RyY1BKc2huVG13Q1hrRlRwWVNqNVA4bitZ?=
 =?utf-8?B?M0lxM1gvdWdGb3RMZEZ3emVUd1liM3VuckxoVjBrNS9zM3drTGQ5QzJMdWZx?=
 =?utf-8?B?cXhPb1FVeTNveEVmb3VkWU9kUkJDVFpVUXcwV1pEMTYyaHo3TUdUT2tWbTFD?=
 =?utf-8?B?WXZ5NGJLSExQVTh0eW1CWW5FTVlNdG9tVVZBcXE5ekt5Y0owd1NpVXpnSXFD?=
 =?utf-8?B?ZGtwRkZPMU5RVTdYWHBRUDMwQ2RodnJqbDB0a2hWbXZsSzJtUGpHWU1UVXdE?=
 =?utf-8?B?RlRmL0xsa1NSUFFjZGw1VXQ1YWF3dVdIMWtYT1FlWktmNVVIS3FIZXdPdnNZ?=
 =?utf-8?B?S0NJV2w1U2JyOXhVbHNoRjcya1NwQndPb2tmbVYyV0Q0ZUhSYWtJYWpETDlo?=
 =?utf-8?B?SktZY2QyeTN3TjV2azFDWmxCTVF1YzFVRmFyTlhzdzNOOUl5TVZ4Q2FsdTBq?=
 =?utf-8?B?ZENRbHAzd3hUTmM3NVBrZlRLQ1Z5V0lPZmg2UWNQb29CVlNOZmdZcHE0Lzdl?=
 =?utf-8?B?dkVOM3A4Y3p6N2ZqNFdoT1A2eUgrenZ5aGM2Um9DN2JGbFJHMU5pZHgyNkJz?=
 =?utf-8?B?T05OSVJncXlRVjZwT0tvQ1ZNSmFMQTl2dFF3WnM1d3p6OHJCU3lDRjR0czk4?=
 =?utf-8?B?QndxYjRlRFkrczJaN290Nlh1ZjBSUktBcFFoTy9LUHpsdk05ZW52cVpJNERh?=
 =?utf-8?B?SXpPc0dOaURaemdyMytSQjJtR3JKcXMwWkR6S01IcEUyOE1tR25KbEprc0hN?=
 =?utf-8?B?aWpraVVwYk5QQTR3SDZaUG1hSUNZWUZpUjhNdjFqMHhxVXRtc2tZN2ZzdkR1?=
 =?utf-8?B?YjNXUXhrYkhkaStDY1JxbGJjWVZSQW1zQTZOLzRJSnVnVnd3WmExOHZteGxy?=
 =?utf-8?B?TndweDRQUXdaUmFCRVdWMVdhZUNlTVpLa1VCN0NEa2Vkb3F5QndlbklQQmZX?=
 =?utf-8?B?R3l5VlBaU2xpbUJuVnlqQmtuaytWZ3I1dXE0aFlzWGxZSU9kTHpoZTVPRmw0?=
 =?utf-8?B?eUl6U21uUTRYUFkzM21SelU5Z1hITnFTekVnQjBveXpZaUpnTHNuSUI2b0xT?=
 =?utf-8?B?REZhUlZKRWFpTkQydmZod1MwV0RVNS9DOXJnS2dtSGo5SXBYa0sxVVpDRG9D?=
 =?utf-8?B?azlVMzdxUjdOZ05UcHBsT3lLWVNjbUtjVk9ybFlwdUZyQ05kWWU4eCtZWTZC?=
 =?utf-8?B?cXo0aUdyMHNYYndzWlhpdWgydndONEx0UmM5TVhsNW5wd05TNzBKMDdLeHVo?=
 =?utf-8?Q?MqfwayiSjHKuETWLptW7e58hy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13be70cb-4252-410f-aa0c-08db972cf812
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 09:59:20.0516
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Dy9x7S4nju5ubNzJbpDJbP6N7H8gTSdwBn/0iERzMApR5oQKTXzD9DK6/AzE4w71cOGMDUTZZnXIc3FOywA6/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8831

On 07.08.2023 11:47, Simon Gaiser wrote:
> Jan Beulich:
>> On 31.07.2023 12:32, Simon Gaiser wrote:
>>> --- a/xen/arch/x86/io_apic.c
>>> +++ b/xen/arch/x86/io_apic.c
>>> @@ -1967,6 +1967,8 @@ static void __init check_timer(void)
>>>  
>>>              if ( timer_irq_works() )
>>>              {
>>> +                printk(XENLOG_INFO "IRQ test with HPET Legacy Replacement Mode worked. Disabling it again.\n");
>>> +                hpet_disable_legacy_replacement_mode();
>>>                  local_irq_restore(flags);
>>>                  return;
>>>              }
>>
>> I'm not sure of the value of the log message. Furthermore, considering
>> plans to make XENLOG_INFO visible by default in release builds, when
>> not purely a debugging message. I'm curious what other x86 maintainers
>> think ...
> 
> As far as I can see nobody has so far voiced an opinion. How about you
> tell me the level and message you would prefer and I send a new version
> of the patch with it.

XENLOG_DEBUG or even dprintk(). Also note that generally we avoid full
stops in log messages.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 09:59:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 09:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577949.905081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx1F-0004cy-1x; Mon, 07 Aug 2023 09:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577949.905081; Mon, 07 Aug 2023 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 1qSx1E-0004cr-VQ; Mon, 07 Aug 2023 09:59:20 +0000
Received: by outflank-mailman (input) for mailman id 577949;
 Mon, 07 Aug 2023 09: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSx1E-0004cl-7M
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 09:59:20 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11ce40e8-3509-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 11:59:17 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 6EE3B320092E;
 Mon,  7 Aug 2023 05:59:14 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 07 Aug 2023 05:59:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 05:59:11 -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: 11ce40e8-3509-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691402353; x=1691488753; bh=NnJHsNHV4OfsrSbJcrxixDSVctE5Vm1FZDV
	XQonRK28=; b=IYZSjhevKZ39mQ5YchWxKBlYvjz7kYLK5zX4FfKNbd8l7ZR1Gy7
	QRTnjPkTR46sVXUwg92DNaR1or3MhxNkLovS6J3e/0EL2l3944O2WcbMXpE05AtQ
	aNsJNilWZZ5+V5z2sJZPUv7DW6WYccwQjysHf9o+4iKrXrJyWFfmNcSKdyMREpeH
	ploW+KPPFQRskYde8Xwj/FJpcnEjlyKgfjCtHq3116bjFLxXYWKbbh+/dFL8UI/p
	sfaINnLc5+NSWUPXZI59Hq8ZAFcs8Zkx1PvEWI3QirEJhSvSVKLonZ1vPD++su+P
	vSHXwGgzCC780j0d0ZE89togH7JudZqzFJg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691402353; x=1691488753; bh=NnJHsNHV4Ofsr
	SbJcrxixDSVctE5Vm1FZDVXQonRK28=; b=Aj3BZ5wbQYvBfg1O4InTRenouxvBd
	jK61yrF4KSCnoLfUu4cxfvuMbBcT2fIsGo3Om/TExg/Dm6rm0PsQ1Zt7HTXe9yI1
	A8CUWmgfo0DCcb/r1ymzcgCnoGomZJJzHtN4uAZDdoQe+Pj1TZffsMUEmkzyysLK
	5h1omZXG7HreA0p7bWCb9L/b2/D5tEiKzamzNR88tsjvKyBcMLHHCuwB+h7mmWzA
	h/VJz77nLLuGCdwcp126o3JUNqr08nyby+MArdzDsGO4ZxBb/EWXkAXb1bum7OKm
	U1yZxfmSJgBgHuRv2vkaW4Q4g04JtvNMqs5ot+ufz0IfKHWuKhHyJk2RQ==
X-ME-Sender: <xms:ccDQZF81rdqzWv0gwLrCQCuUqm-6gi4pV__C89r9r-E6UM1kzwg-6w>
    <xme:ccDQZJsvPZdvD89PqJM0EdN6aEUozMVw1r5oAbJp4XooFxPv1Pmu2_AUFyqLOi9EC
    SnAJT3hyMCHQ-A>
X-ME-Received: <xmr:ccDQZDDfFqJ097K-I0XMKMi7tc1MzdFK_3caKJXyg84aItToaPc-MYQb9WTa-F7CqhsunLwbaBtkL6HSzenlork>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgddvudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeekueffiedtgeffleeglefhledtfefgiedtveeiffeg
    hffgledtveehhfdugfetveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh
    grihhlfhhrohhmpehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtgho
    mh
X-ME-Proxy: <xmx:ccDQZJeTZTWkiKyk7vFzTlY5M2Ve3ToC3pr_JNw7EbKudg1_6KNqTw>
    <xmx:ccDQZKNFUTxl-UMhuBnFCm52IWrvdyYBhkVHAjXwqK8S9xJsuus56g>
    <xmx:ccDQZLm0VcBkrrj8UwFAwT82GYBKqbWldhWl1rkNw-7CizUmNafJGw>
    <xmx:ccDQZJfWjYWAB6Id4D-tPBMxmmnPMzpoFcEpsMwEXU5hQ2msy1Zyqg>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 11:58:57 +0200
MIME-Version: 1.0
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
 <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------suLZkn5eJE6TTbWMj8Dz7Q7b"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------suLZkn5eJE6TTbWMj8Dz7Q7b
Content-Type: multipart/mixed; boundary="------------mpW42AXmdBj07vPFTjgkt9Mo";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
Message-ID: <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
 <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
In-Reply-To: <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>

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

Jan Beulich:
> On 07.08.2023 10:18, Simon Gaiser wrote:
>> Anthony Liguori:
>>> From: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
>>>
>>> Intel says for CPUID leaf 0Bh:
>>>
>>>   "Software must not use EBX[15:0] to enumerate processor
>>>    topology of the system. This value in this field
>>>    (EBX[15:0]) is only intended for display/diagnostic
>>>    purposes. The actual number of logical processors
>>>    available to BIOS/OS/Applications may be different from
>>>    the value of EBX[15:0], depending on software and platform
>>>    hardware configurations."
>>>
>>> And yet, we're using them to derive the number cores in a package
>>> and the number of siblings in a core.
>>>
>>> Derive the number of siblings and cores from EAX instead, which is
>>> intended for that.
>>>
>>> Signed-off-by: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
>>> ---
>>>  xen/arch/x86/cpu/common.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>>> index e9588b3..22f392f 100644
>>> --- a/xen/arch/x86/cpu/common.c
>>> +++ b/xen/arch/x86/cpu/common.c
>>> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x86 =
*c)
>>>     initial_apicid =3D edx;
>>> =20
>>>     /* Populate HT related information from sub-leaf level 0 */
>>> -   core_level_siblings =3D c->x86_num_siblings =3D LEVEL_MAX_SIBLING=
S(ebx);
>>>     core_plus_mask_width =3D ht_mask_width =3D BITS_SHIFT_NEXT_LEVEL(=
eax);
>>> +   core_level_siblings =3D c->x86_num_siblings =3D 1 << ht_mask_widt=
h;
>>> =20
>>>     sub_index =3D 1;
>>>     do {
>>> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x86 =
*c)
>>> =20
>>>             /* Check for the Core type in the implemented sub leaves =
*/
>>>             if ( LEAFB_SUBTYPE(ecx) =3D=3D CORE_TYPE ) {
>>> -                   core_level_siblings =3D LEVEL_MAX_SIBLINGS(ebx);
>>>                     core_plus_mask_width =3D BITS_SHIFT_NEXT_LEVEL(ea=
x);
>>> +                   core_level_siblings =3D 1 << core_plus_mask_width=
;
>>
>>
>> On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing o=
n
>> I noticed that this changes leads to core_level_siblings =3D=3D 16 and=

>> therefore x86_max_cores =3D=3D 8. If read from ebx like before this ch=
ange
>> and what Linux is still doing [1] it reads core_level_siblings =3D=3D =
8 (as
>> expected?).
>>
>> What's the expected semantic here? If it's to derive the actual number=

>> of siblings (and therefore cores) in a package as the commit message
>> suggest, the new code can't work even ignoring the example from my tes=
t
>> system. It will always produce powers of 2, so can't get it right on a=

>> system with, say, 6 cores.
>=20
> The only use of the variable in question is in this statement:
>=20
>       c->x86_max_cores =3D (core_level_siblings / c->x86_num_siblings);=

>=20
> Note the "max" in the name. This is how many _could_ be there, not how
> many _are_ there, aiui.

I'm indeed not quite sure on the intended semantic, hence the question
(although it's not clear to me what case that "could" would cover here).

It doesn't have to be identical but Linux says for it's version of the
variable:

    The number of cores in a package. This information is retrieved via
    CPUID.

And if I look at it's usage in set_nr_sockets in Xen:

    nr_sockets =3D last_physid(phys_cpu_present_map)
                 / boot_cpu_data.x86_max_cores
                 / boot_cpu_data.x86_num_siblings + 1;

It seems to be also be used in this meaning. At least on my test system
I get last_physid =3D=3D 7 (as I would have expected for 8 logical cpus).=
 So
dividing this by the 4 (number of cores) and 2 (threads per core) is
what I think was intended here.

Simon

--------------mpW42AXmdBj07vPFTjgkt9Mo--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQwGMACgkQkO9xfO/x
ly910g//btGBpAMajhFtMxVqr9mciThE8/H86UuVN9Dw9EgaMexo12ulQLLoj0E6
mZTA1oJ/Yi560VJwCGhKOG3PMFh8XnFCGw8zLYYYsHhnrWaPknx7t3tC9ZsHBUA9
zx8gdCZGM9AsnwVL3Sv1nwAVwCqHHiA8+5BcOLzgBMc9MbV3NLOrrQNTagI96KWP
njyZs9a7r6+5yGwUD4ypHmu4yC6Qj2FBhMcG8xuAcxV0VMYz9imq4lcVEF0qL4BA
nsqtMHGGh6S3AUJ6zt+k9kVpVIhPkOH/c4NsP7j1tsE6nMd5Uoc0MvqRhsIygYpd
6+wHTnnXUPtvxpBY5TKYt1N01zKZmP3dJiyRhgUs9uAwNQ/kWdSOXFSRlD4AFIl/
Oj1RtLLdSQMp5Lzwu7w0cTEkYfVk5zD66Ku7R4SdkJz3n9P0a8EXy/4iX41cMGem
MrMjIdp0BvLs9W2APz6wQ6QQa56dQ7zuSCQ8mxAnZagm2bRd5Jc6jhT5om8V4K8s
YQX5+vNUQvM/ILwFNfUSci0KAnklRE3YcIG0oUZFE03EfW5/KZZ3yiS9JZZvBqsV
O5SU8rfkBUN8rd73JcRqDoly5ypLsuyHs+HMUx5azk7vIglk6EO9nPUqs7cUUVui
0gim1f1HLhS2xeN23iD1ALWzmeUSAcp76vOuF1csLOQTYglgnJw=
=9E1i
-----END PGP SIGNATURE-----

--------------suLZkn5eJE6TTbWMj8Dz7Q7b--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:01:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577958.905101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx34-0006dR-KY; Mon, 07 Aug 2023 10:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577958.905101; Mon, 07 Aug 2023 10: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 1qSx34-0006dK-Ht; Mon, 07 Aug 2023 10:01:14 +0000
Received: by outflank-mailman (input) for mailman id 577958;
 Mon, 07 Aug 2023 10:01: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSx33-0006dC-FD
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:01:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 562deceb-3509-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 12:01:11 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EC1DA4EE0737;
 Mon,  7 Aug 2023 12:01: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: 562deceb-3509-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 12:01:10 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 6/6] x86: refactor macros in 'xen-mca.h' to address
 MISRA C:2012 Rule 5.3
In-Reply-To: <b575aad0-9c04-2037-b568-b2bc1fdc33d0@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <9d89a58ef016d96da7c3f329fb367f99d169cae6.1691162261.git.nicola.vetrini@bugseng.com>
 <b575aad0-9c04-2037-b568-b2bc1fdc33d0@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <1f286a7219521052198c9cdadf400fda@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 07/08/2023 10:31, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> The macros defined 'xen/include/public/arch-x86/xen-mca.h' have 
>> needless
>> underscore prefixes for parameter names and variable names that cause
>> shadowing with e.g. the variable 'i' in function 'mce_action'.
>> Therefore, the renaming aims to resolve present shadowing issues and
>> lessen the probability of future ones.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> I'm okay with the code adjustments here, but I'm afraid I don't follow
> the description: How is shadowing of "i" connected to the use of
> leading underscores in macro parameter names? I think you need to
> separate the two aspects in the wording.
> 

The shadowing remark is tied to the second part of the sentence, but 
I'll try
to make that clearer in v2.

>> --- a/xen/include/public/arch-x86/xen-mca.h
>> +++ b/xen/include/public/arch-x86/xen-mca.h
>> @@ -280,39 +280,39 @@ DEFINE_XEN_GUEST_HANDLE(xen_mc_logical_cpu_t);
>>  /* Prototype:
>>   *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
>>   */
>> -#define x86_mcinfo_nentries(_mi)    \
>> -    (_mi)->mi_nentries
>> +#define x86_mcinfo_nentries(mi)    \
>> +    (mi)->mi_nentries
> 
> Isn't there another rule demanding parenthization of the whole
> construct? If so, adding the then-missing parentheses right here would
> be quite desirable. (Personally I'm happy about them not being there on
> suffix expressions, as kind of an exception to the general rule.)
> 

If you're referring to Rule 20.7 then it does not require the whole 
expression to be enclosed in
parentheses, as it's concerned with macro parameters (their full 
expansion must parenthesize arguments at
some point, to prevent wrong evaluations due to operator precedence).

>> -        if (_mi == NULL) break;                                 \
>> -        _mic = x86_mcinfo_first(_mi);                           \
>> -        for (i = 0; i < x86_mcinfo_nentries(_mi); i++) {        \
>> -            if (_mic->type == (_type)) {                        \
>> -                found = 1;                                      \
>> +        found_ = 0;                                             \
>> +        (ret) = NULL;                                           \
>> +        if (mi == NULL) break;                                  \
> 
> The lack of parentheses here definitely wants dealing with right away.
> 
> Jan

Good catch

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:01:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577961.905111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx3W-00077E-UI; Mon, 07 Aug 2023 10:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577961.905111; Mon, 07 Aug 2023 10:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx3W-000777-QJ; Mon, 07 Aug 2023 10:01:42 +0000
Received: by outflank-mailman (input) for mailman id 577961;
 Mon, 07 Aug 2023 10:01: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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qSx3U-0006w0-W9
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:01:41 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 660a27c2-3509-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 12:01:39 +0200 (CEST)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 06:01:31 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5373.namprd03.prod.outlook.com (2603:10b6:208:19f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 10:01:29 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 10:01: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: 660a27c2-3509-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691402499;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WOuAeoJ6YIbTezNJulDubATjKQvv0w33xCWZEUkTM4A=;
  b=Ejm8aJXqbEdMMNGZw/+CFyVDfC9rcmuinaq7AdQW2kkfuoeskuVegOxH
   pDiQOacpWKy7PXkqWs/79m7WjVoOE/U07ku8jjWK5Ja5KuHAFAXqNwQbD
   cCgnTTibGiY6ArVFw+iuiGo6Yk+aB0Xei4kA1FVoqA1C32rnjJf+b0nKm
   Y=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 121351095
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:A0yNSKvl2qYJNIYX2cWYKTMSRefnVLRfMUV32f8akzHdYApBsoF/q
 tZmKWyGMv/cNmv3edx/Ydizp0sCsZDcy4BlHgc6rn0xFnhD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+GySFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwcmk0Piim1vOKwKOWbq53t956IczFI9ZK0p1g5Wmx4fcOZ7nmGvyPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osj/60b4G9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTir6U32QXCmwT/DjUcSXyG/9qlk3eBBeNHL
 2tK3HFyl689oRnDot7VGkfQTGS/lgUdXt1WO+w89gCWy6DQ7hqZB24LVTpIYpots8pebSwn0
 BqFks3kARRrsaaJUjSN+7GMtzSwNCMJa2gYakcsTwEI/t3iq4EblQ/UQ5BoF6vdpsLxMSH9x
 XaNtidWr7Aal8sCzai41VHBnTO3p5LNQxI15wPYRWas5EVyY4vNWmCzwV3S7PIFIIPHSFCE5
 SEAg5LHs7tICoyRniuQRulLBKuu+/uOLDzbhxhoAoUl8DOuvXWkeOi8/Q1DGaugCe5cEReBX
 aMZkVo5CEN7VJdyUZJKXg==
IronPort-HdrOrdr: A9a23:V8tKraCDoGFJ42XlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: 9a23:4wMrY26IhrMXYtt1mNssrhctSvgAI2zhzGb9BwijOHwwRbi7VgrF
X-Talos-MUID: 9a23:bhAykAtoYNjaZeoZyM2nji1FCZlL/72XNx48iZEh5e/faRZ3NGLI
X-IronPort-AV: E=Sophos;i="6.01,261,1684814400"; 
   d="scan'208";a="121351095"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P3DWacrXDcdaygw0eRBcQurR0Ar6xaOP0V5KiQpSW6TM6/qMU8lAwcZGgX2STUSvvP2O0azHjCHDOB35ZKKMpo06yc91E0jzPnmXoa0TbhcXPGXVRFBsEnEmH+mF7UurFT+kmCTSQITJ3UHls4hUQDWx9G5NbM7CvEOyDBsBMARwHinJfIqoSq2K+nYr87f3RS603Q8mhxyDonpl6VL4CkA9ppjZkZcbTuggNG7hR+OxI630aPFcvXDUujMHaQXeHsPvAvQKxbCIcq5OHwgrv4XWtkS1i0glxCxE9FXD/rmabZ0eiJ8wfKZLBIIJgyN915m7mjF1FXvE2nPDtOP5+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e10eSy39/Azale1Jz+5xNO8QXko76iTOBQhrrYFt31I=;
 b=iF4bFeKyfwrDpjLJdei8Kz7zCz633Fs5+cZOKyq48bjeLoy3aQSpjQlNmOgFHX7PrxgQnzDgOx71DYpfxxGdJ0R8KLWZ6M8riDkiCNLX7mTYkjYttfI0zkfdbEIJIv2+S8dwpJW5Qqw2F5i920zAUjmgRTdbCV7ON3DXzveeKrt8YbQp/LnDi8zvryBTYMVej83E3m+bl8X+cXxFXQKbUKFfYmORyTLi1lsnP9rcx6BCFvht9NIcRRslc+zeQOqsFrMZGLoiWFlztYRwA+jCWtnUQ3hcZsSlURht93s7J4XioIZ+7z+kWWkaWNBmKpU/t5uhZVhN1XOVo8LVc6ymXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e10eSy39/Azale1Jz+5xNO8QXko76iTOBQhrrYFt31I=;
 b=X2CivVSHjRF4sdmFCkgVkzxXvAvfNweQ+JwmRnvOCqMfIvQ5XW+kdLnjyt1q45WC+U1f5mrdsKpkYIGYgzvy6AQq02GRj8Tn0/dUciiU6Kw9hmMOheeK5zJiKrQt5ziUmJ+7EHXu9xxkv03xBHB1wpDiqYVxSln8yc6SdcW6Ol8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
Date: Mon, 7 Aug 2023 11:01:22 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-GB
To: Simon Gaiser <simon@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
In-Reply-To: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0340.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5373:EE_
X-MS-Office365-Filtering-Correlation-Id: 870f6993-478c-4ab3-a0f5-08db972d4497
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r1G4+Qq939jNS6KjN1n4IRTRGosd6/2b0upfArBjCwzA9swREgKeRN44Iu13r4rhR8D0yZBOveSi5MzS+qcJbN0eMF/aHtw1wqO4m1N+eD9hpc1jPwsTbLOAfb+OfFsMiA78fBr/JTbdOUo7kspERhtSL+tDIyEBisT4OSVHupv/w07XxcEao+c3X2URnS6R1dJIKsvIcKTTjKwM1Ttqbs2HL81IvEspoZ9SfRTAPGiOph8RV0IBAAskcOloWmIsyv7txtb97lWYjFG37+H/gASKI4MpiWJm+q2C+FdYhWgmDU95bTuLSEXNhIEVfI1blXoTpSrAcF3NTMsOjmwF8xbWsMqZ2R9+FTCg2Z8s9XSTYUYTTkR6v8+Q/IesIbtg6xJbF690eiF4x9EM+0ekkavV7zpUlcoXQ03sAuWIzmT+FVPvBI7T/a8ovdCUt4SrmGrvNxsOSTp7RAtbVbsuxzUrir+mJnrz4+V3y1vVL7KHXQCj1o6/+7BQ7zKaTnWtFfbbDo1hAgxH2sDG9qeOBleN7VpqxCeEKARgfCAUWeDccqgDywAmbN0MNFc+mzEPzyYyCOU27pyOVNJywdhijCE2ht3ij0E/g3Axmooo+wkj9+jzHsFweOInW2FRrcgFOgMQdUQWs458DaJlptRP2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199021)(186006)(1800799003)(2616005)(36756003)(966005)(6512007)(4326008)(316002)(86362001)(478600001)(54906003)(38100700002)(6666004)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(82960400001)(41300700001)(26005)(8676002)(8936002)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGZSUzJTZzE3U1JHR2FTRlJZVmVlNWcxeTRUL2k4d25PcEUrOEpiWVliVnE0?=
 =?utf-8?B?bjd6WWlRRUJSZjVScGF3MVdGSnJ4elZ4K2NtT2RReHhSaGtaYlRFZThPRjQ5?=
 =?utf-8?B?WVMxRlZna1pSbGhwRnpXbFV1S1N4eXNjMDNYRzJwblhCbkVtbUpzM0sxM2VC?=
 =?utf-8?B?TzNBMlpsaG9CQTdXMkNnem1ncFdKWkZQb0EvVkN2SXBXRTloWDhKSUZlZUli?=
 =?utf-8?B?T2o3TVcwOHQ3eWcra2xXQ0poYk5TWE1nNEhwVTZvKytFNUFDRmY4bkhDT2hR?=
 =?utf-8?B?Yk1aWEdLdzRCODFUaTB3N0FWWER0Z082QmxEWXZIOCtIUHJzTDNGVFVMdmgz?=
 =?utf-8?B?MFp1L0dEU290UkdwYUY1YUVtZWtQaVdLd0NFZFp4czFObFF5QzgyVlpoOWU2?=
 =?utf-8?B?SGUvVTY1ek9CMmN3ekI5eXZuVW9tV1p1R1JEeWFKSGtUaFA0dUhpRm41bnJO?=
 =?utf-8?B?WHNvTjQrOGtpN1V6VXR0QkVZdTVGSUx3cXlvNFpUUTVjcEIxd0RUVGg3UWQ5?=
 =?utf-8?B?SEFTWEhUdHc3Z1lTeXc2M2ZwOVdmRStQMlFLVGlscHE4WGZnZUJDblZRaXZG?=
 =?utf-8?B?a21rZXVZdU9Tb1dOQTFYRmd3UlhWdDdYZkpmd0wzbS82STloYjQ1aW9lTEZr?=
 =?utf-8?B?QUx5eUNnTnhWalI1bWtqNzNWVmFuQ0U3TTVBRUFhR1l2UjNWdDZNbWFRVC9t?=
 =?utf-8?B?MGNibG8yelJHUXFBOWpqR0s3MWpvTGRNdnNXOHJndDBWdjJqT1BlUkdlWGdD?=
 =?utf-8?B?bkI3S0g3bUFtSC9lcWpVc2tUYkVqM0ZrTlZuSjE0dmpIQW1KVFduYnRVTkZM?=
 =?utf-8?B?UW9yMjRISW8yZXJOSFBFRUpuOENnYmFscWY3emZaaW1lM1Y2T2ZDZ1BMb0RO?=
 =?utf-8?B?L2duWmxObDJXLzNtUStIVDNQMkpUZk1xVWszdUhVM0dEdUovaE9NcjBHNmU4?=
 =?utf-8?B?b2dmRzRqajJ4ZzBLdmZWaXptci90OTdqZVJtZkJxek9iUm14ZnVEdGJ1am1J?=
 =?utf-8?B?YTdyVjU3akFveGFXSVFCTE92WFc1VUN3MTNleUw1WmFwYXhwVjQ3bGJZbW1S?=
 =?utf-8?B?WmlUKy8zUkZTRHN0TndGMkJEMm56WDZuQkdYUkZyZ2FueXFWR3Q0azB2UzBz?=
 =?utf-8?B?RDlxU0dLZjRVazl3UlVyK1dyVEtPbEtmTlhiK1lERVlXdnY3OUNlYjBlcmZT?=
 =?utf-8?B?ZDRaSXdlZmpOeFFuZmplQkpJOUVhTEN1ZFo3S1UxL0dhM1cyY0VTbFVnMGZ1?=
 =?utf-8?B?ejBzMVAvdDJ4SndqNGpVZnB3TEhCN3E5eWxscSs0VVMxVkpOUUNXMWRFNGVl?=
 =?utf-8?B?VzREa2hZQlluczBZSXdNTXNFVFlZZy9lc1RwSS9Ja2lIQjh4UXRyblROSko4?=
 =?utf-8?B?Kzd5M0x4S096ZlZoeGhDcHFHMFhXQm1OQzF2L3RyODB3VlAyYVgwdmdjbU9k?=
 =?utf-8?B?OWdlaVVHS0QvamU4VGovYzJmYS9uOU1aRVBwTlFXL3Q3QmRzOEhkN0tJVHR0?=
 =?utf-8?B?d3BEelNzLzVzS3pBU2lGaElQUytrK0NUUlo4ZWhIV0VyV0dlcTdJOWtseEJv?=
 =?utf-8?B?VFYwNDI2dHhEclVrUmRwcmdDWG42dktEV0piUGpzbjZjR0R2QUFRTnp2dDl0?=
 =?utf-8?B?dWJNSVR2MlFpbkU5Sk93QWdYTGh5ZmxRVnlYajY0aVFncnhoekRweUZqdzQv?=
 =?utf-8?B?dWRYMEV0RCtDa3hYNWRwRXR2YzJwMHRxclNXbkhPZ2NwL3lZNmR3bnAvSFhF?=
 =?utf-8?B?YUVlR1M1elJKcHNwQ2hXYmZ1ZmVJZDczYmtmTEUvc1R1WmkrSXF3ZWFRM1Vq?=
 =?utf-8?B?VEwvN3VMNHg0ZzRkajJsSDArdjRVVkh6dG1SNi82b0RzWk1SWk9YSUdNTVVP?=
 =?utf-8?B?cTkwN2ZidzFxQWNMUVNNdkQ1cEM5Q2Z3Y05mWXQ5YWNXR29Ob1FiaGdEcmtD?=
 =?utf-8?B?SjhHZVB0cFZRMXE3d0MyQmFBVjErTFdXb1E3RER2dTZodzgwaGhmVnNXTU5i?=
 =?utf-8?B?bGo3dFJyS3podzVsRmhpbzV1VGd5UzIzR29MUUdJNWViMUJWdEJvVkRsQkxD?=
 =?utf-8?B?QkNoaVl0Q0lROWU3enQ3SFdtcEFVZHoxcmFzZHYyVzNVSmI0aUNlbnFCU2lP?=
 =?utf-8?B?RUhOMk1tYmw0RGdtYWFDZ010dDF2Nk5QVXEwajNSTFFGVjhnOE5WTGZiMHZz?=
 =?utf-8?B?MkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	oQdFGtUGJGBZ1XD9iW7IK2zL0ugW6Mh7fw9tiLjtw/BtGCxKLSH2x+zKO9PsBDlKEqesRxZNFEEzy72X5iOnor+SOyUZlAUgjnq2Zyj1FIy3gtCwILrHQ2ONB3pf3NxxPfRaxzs0QDVuK+pmLVWAe+N8Gv3jF8UIXq7tycVHsOlGmMS5t3eR39H3OnEDkY1wCBModV/oaC3I7y2pktH43E/zAJpae72r9FvGlPb3pFM43DVH0wn5WhqMsO0Su+th8U6XFpOGAr/kI8uG0/+tUJmLepovIAFOrnLkqQZ8idDU6+OnnZqiwc+1Db+ReGE8ttrtEQNOe2RFsAdcRC+VIJ4kTobD3EhaVoImOEbB66/E52mJr6Jkd6Dbb8U7qHjJ99zvdmNHOZ7o/u0QkZJ7p9EmTxvjQ+rTROmZYxcvH2fGlHyKCZT+UGYDyY4auXXKYs8QIaeM8mxfokSioy2xevVRGnbqUobIQA2MNRq82udFi5GGQiYN/F0xbYrL2gy4pZQIHUe8bP4bGtR+AmHR9L1TlUYRAl/Uag7Cr8OmzXp+pChRseTb1I8HHAUcRH8ME2/HqDPx02fuSk5oVl291BSrfKlsHgZpEnq+AqQnHb6aePNF6+rJw6JLa0+ruG+7uqcgWsszrDJLd6hrI2d4vqvX870EDG80IUsD7zG2KQcAzYIK9YWPJ9Se3beKgs7RJuSvLh7WB2fuLtjldUbXE586+gXkWslmzclRiEfxMy7Z6NSnH8AhPe03kVntsbidcbQWbNBZQh8mJTv+XkCnunPGup+LqstMYAu3r/GRrLnAOGqovtnHjIxw0DRLIFfwlZ3BskdgoUcXRE8kmI5NuSNbTBfKQEFf8DjhVf6Y9D8Tw4XqtBrR/cYvBU+gs8cu
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 870f6993-478c-4ab3-a0f5-08db972d4497
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 10:01:28.6689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZBO8osWYzpZvbrRdPtcGqubqoOI56cWouFFbpUBKxrX//8L/RLiO5Pex2YP5dGRfg5x+2V9DS8pTX0Tva1v1ykZRIB0NuY+MaOFmFn6xFug=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5373

On 07/08/2023 10:38 am, Simon Gaiser wrote:
> It seems some firmwares put dummy entries in the ACPI MADT table for non
> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
> 0xff. Linux already has code to handle those cases both in
> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
> same check to Xen.
>
> Note that on some older (2nd gen Core i) laptop of mine I also saw dummy
> entries with a valid APIC ID. Linux would still ignore those because
> they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen
> this check is only active for madt_revision >= 5. But since this version
> check seems to be intentionally I leave that alone.

I recall there being a discussion over this, ultimately with the version
check being removed.Â  IIRC it was a defacto standard used for a long
time prior to actually getting written into the ACPI spec, so does exist
in practice in older MADTs.

Otherwise LGTM.Â  I'd suggest dropping this paragraph as it's not related
to the change.Â  It will also help if we do decide to follow up and drop
the MADT version check.

>
> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f3bf1dbe64b62a2058dd1944c00990df203e8e7a # [1]
> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=10daf10ab154e31237a8c07242be3063fb6a9bf4 # [2]

https://git.kernel.org/torvalds/c/$SHA

Somewhat less verbose. https://korg.docs.kernel.org/git-url-shorteners.html

> Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
> ---
>  xen/arch/x86/acpi/boot.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
> index 54b72d716b..4a62822fa9 100644
> --- a/xen/arch/x86/acpi/boot.c
> +++ b/xen/arch/x86/acpi/boot.c
> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
>  	if (BAD_MADT_ENTRY(processor, end))
>  		return -EINVAL;
>  
> +	/* Ignore entries with invalid apicid */

x2apic ID.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:04:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:04:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577972.905120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx6Z-0007ry-F4; Mon, 07 Aug 2023 10:04:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577972.905120; Mon, 07 Aug 2023 10:04:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx6Z-0007rr-CX; Mon, 07 Aug 2023 10:04:51 +0000
Received: by outflank-mailman (input) for mailman id 577972;
 Mon, 07 Aug 2023 10:04:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSx6X-0007rl-KC
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:04:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7a40692-3509-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 12:04:48 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9904.eurprd04.prod.outlook.com (2603:10a6:150:119::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 10:04:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 10:04:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7a40692-3509-11ee-b27d-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VRG7fQYESY5XBw28X194BAEB5GIMEQIC55tVb8FQezjpN0fUMJ+2FH/s9TxgMmoTnvcSx9+fjPwCtIeYubpZxO7/v8UWzvbZ2gFfFnPO2MOY/t59FDPiy+aTlDOJXiVHXwPlgmLWwaqYhVlENfNL09lRiVgryhCwEYwNlUzUGr3GtwVvQe3w6ax9KIQPq9odaxQcUno2r2J//Z4bqnKeDEj/cxn3oZLfoRlWl8PuDZIYzqIMoBbT8oMryhVjvEHHyIGaRKarzyGrdFFtlKtUTVtAeJjeOJs8wxTqnspeNUXfgY5EUs/wR0YmLpC57WH0bxW7I6TDQdy9I7vzxUscow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AImSG46M5dVWVzPvxVp4rfrueGK4YHQjTUB4hPPXSU4=;
 b=mQ4VJItZLfItvrO2eMiWKtlLGsTbfupQCy8EAqmNzovwshUGeEyDw1fJtguBHe8nYIyx+k/rVmSHXyaQQ785KrogVbHbyUWAaPKKtd2tXAgvM4EE3cvUWBVPlkFPbscOkvbKbb7842JFS2ytE4QkLZfkbgoSioOhV/mPfb5GJ9vKTp7S119uhGoSRJJhceXABfTQ/x8RLRXhlniRC8ES6ZdLm7SNE8G9DAkhGlSVmrOZnKSwVHjnF1TYq20pe3XSCWuIaT/SR+Fgk7OGyGUymZkqM1f8lwOXNtYnzx0XjI8Ld1NVYIdDHV1pZWNikffWQb/W6j2akbYNJRv5vp2jRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AImSG46M5dVWVzPvxVp4rfrueGK4YHQjTUB4hPPXSU4=;
 b=UsOOWWSAeG3kAWol0THJnWXtYLEeDWRCHoHv+f4atYU1akS1QS0Z7yASrTAoPQ0tlIGYZ80WbG/wCmfFm8dcVRH3Z/XZEd1m3r+qaZf9UA/1eXf2O0/m6bIgrM1CWUuoPOfrcd+gL39ky7UyQC5sgpL6DVaKDtiTDUzRSLJrGgOsQ4E7sFsbnyF90XGxTywW/Z0C/hZWKI9azpWWCLGzEo7mpAi7ZJ/O2oFlrKfbwmsOvHnklZGqwAk3Eo95Me+7DTz1e9rbLo5LDo8+rS6sPyYmyFvPzZ78U16CknJBz8MjxtyJVHGwA5hu2c7sgl5gcXzEXhbjdxwSHA42ThtzqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5fedd7c0-862e-d7c6-431d-6478ae1960b9@suse.com>
Date: Mon, 7 Aug 2023 12:04:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
Content-Language: en-US
To: Simon Gaiser <simon@invisiblethingslab.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
 <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
 <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0188.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9904:EE_
X-MS-Office365-Filtering-Correlation-Id: fb72bac9-0802-4d31-8e25-08db972db93d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lJVzL77aZ9vWv3PjvtUGjldqI9IV1zblpKQXUUI4iZylkpW4P6WPqDdhiGf9VDvPRPYKWp+nFLqo3GzLpspOBqyLeBxPJS/d/QAsXrKoHBzQf5d6qT30x028qKwfZWNQT6wyK7SXdzdpBsauOup3sEJZcBB2m7tv2NPxi0ef8LM4X3ANcN0esRv+Azj/kMnQEaB67vnj+Ur2C4wr40eQFv0UAK90aCUyO8/VaPotVOFBuAtwXzwNhOr3P3MekiYjyiUqBHzpAtu8Oj85oCXkIFf4LZi6gEztXgNbNjMeMI8vkecc1Z6OZDb7jKjCPjlDkkXKmmw3nCrC5DwY9ZWl3YizAFjwdsaqh1IzJwdgW/JwSYcQ0wSTV+2pw6uz+iGcttHeRezCCBYZqLibwh7YryjPFZOLKujClUeqb2TVaW/48VXTV9bociy5UIpubati26HWVrVcrQqYAZL6xN2x3hZ5NyQPcymsSh52HnzFCC27fmYNnRCi2H2DLj5/3CuFPj6icJUOH+0DRqS/KviVFTUFOuinC3eBfqHPQqYYQYAb4brFecq5ilZuSkbp8MfLCWvLw1LyUxflipsxfCq1mx0A32XNFee7SbFSwpAD/S/uzvJFUceMkjAHRdIGLOIflQZQ5bBmTvZV1aPIR8gBRA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(86362001)(6916009)(478600001)(54906003)(38100700002)(66946007)(6666004)(6486002)(66476007)(66556008)(31696002)(53546011)(6506007)(41300700001)(26005)(66574015)(8676002)(8936002)(2906002)(83380400001)(7416002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHluQ2RrUjhvcTZpVURRU1NYbEx2cDQvRi9zQ1pwK0lIR041ZzkxWjI4M2w4?=
 =?utf-8?B?ZmRMcFVrTWlneHlPemtGa25wYldUZVFWd25ndlN2UnU2MkZDQlhVSDEvQm01?=
 =?utf-8?B?MVdUUVNGclQwOVdiMDZjMnc5cEhqcFpBKzlnNTU2WG9LQ0YxVFZxOThBU0c2?=
 =?utf-8?B?akJBa1lCMXVQYUhJZmtOaEk4Y3dYaTdBYll1eVJkVXF0WXJHRmxrVWoxSXlS?=
 =?utf-8?B?TWhOcHhRamE3OHgyY1lEUjRRR2NVeGFGM0pkSDJmZmdMNmZUNHArSkcxb0tr?=
 =?utf-8?B?bnRmbnNMOGJVVU5xd09DSWxBdGdaa2RkZVVZS3Z0dk5aK2ZiUFowekpOVFpq?=
 =?utf-8?B?T0hWZ2x4c0M1S2JNZlAxdEhGZTJjUTFpcFh2L0V3S1hnM1EwMlNudWRRZWN1?=
 =?utf-8?B?Sk5JKzZFZXpjMFFRRHNVbjZxd0FxckJJak93R3J3eHpNaloyUmRldTVGendT?=
 =?utf-8?B?RHE3KzkwU1JrckRiWGV3N3RCTnBVbzRjNWR6R2lRb1hvZS9USnZ4WmdmVm9w?=
 =?utf-8?B?emFvVUxSK21ZMFVzZ2cxdUpyV0NRSThZTVZrVnlkTTF1NXhZelRjbDQzTHVl?=
 =?utf-8?B?ODV3TkJNMzZ2YnlHaVJzc01YbVVxUVdKRkxUNktYN29BbUxYOE05RnR6anNM?=
 =?utf-8?B?RkE1UUxOeTVYbFVUc2NuRDg4YmN5dFY4NWtMK2YyVnB5M1plaWtMOThHTkRB?=
 =?utf-8?B?SkwzSlpaS3JwbElZVlVIM0Q4OUl2cjRpUmZHYzBEUUhPS2RnblhSa1k4Tzly?=
 =?utf-8?B?bVpWZWIrZHBGSmJGMGZiaDlubWRZU2lBcTVKTmh3UEEwY1VUYng4amRFVit6?=
 =?utf-8?B?UXp0RDlIaXR2QktmMWprTlZlUy80QWFmUXBZNmttQWVkU0t2c1g2SGZiVnZV?=
 =?utf-8?B?ZFlWSzhKckZDNHA3dFA2czdSN0NTVEt4UGlZV1VLNFhidkw2ZmQ4dVdZTXRT?=
 =?utf-8?B?Ykl1QW1na2ZVY1BsYTFTT1FEdkUzWTBOWHZwUGV3YmNXN3Z2VWlLTEphcDBm?=
 =?utf-8?B?ZHh6MkxmMlFLWCtRQnhoYU0ySlZ2a21DWnFacjJUT2JSVUlFRC9WSFl2QjBs?=
 =?utf-8?B?NmE2bFlHeGc1OEtRRStmTGhQV21heDBheXNJV0ZwelQ4dmtzTmtoOUZOalhT?=
 =?utf-8?B?ZDFTaE5ib284eVYwMFlaM0VGandxaEpzbUthNzF4cm9mdGlXeEs2TzZvN0NE?=
 =?utf-8?B?K1lMemZXck1udHFWeHZBVEVqYUx3OGxqdTQ2OVpSWjBiSCs5NGJHUWZIWG9n?=
 =?utf-8?B?cGk4OVFuVHFwUGNrVTN5RGZZQVFlZkhHUEVkSnUvWnZMRHZEN3pxc25yM3Y1?=
 =?utf-8?B?WXV4TFcrVDUrRVp6UEpxWGFQZWJIMzV6aGdNT0EyRnQrcGFYcnpQcDZkSk1r?=
 =?utf-8?B?K2NSVW95WlBTai9QY05JMzB1NHk0SVl3QW9XK2ZMSEMvVE1BMlQ1eGJzNS9I?=
 =?utf-8?B?Y1MwdkhCOG0xdHcydExUejRzdWFGZTFZR3RPOVNOYXh0UFljTm5maEJHcHE3?=
 =?utf-8?B?OEQrRGZSM0g0ZTJoTGJzNWR4Tjc3SXN0R1c4ZnlSZk1kRnh4ZUFDbVdHT1Z1?=
 =?utf-8?B?ZndwNmxRVi9HWklQNFlkSWNrS0dOUlYrczE5MEN5YTh6cVNvUXllU3J0UDRT?=
 =?utf-8?B?NmxwNGVHbXNXWkY4NzFVRXc5MDdDUEVvUzl3MjNzdVVGcnFNcWxtY016eUo4?=
 =?utf-8?B?VjIwSnZ2Zzc5M1N5ZSt1eExJSlMzUDMrWkR6TGhPZnFRRzNxS1d2UE1tSUpx?=
 =?utf-8?B?bTlIVmlQU1FQNllJNHdMZDQ1ZFZCTkQ2REtUd0lKZHBQTlZNbE05NW5EeTlB?=
 =?utf-8?B?MmZxa2pUb0NGVTdTSWVlYUR3MytndldRMmNBaHFNN08xei93WHdObWdvd3ZE?=
 =?utf-8?B?M0NicWRFVlJhWWRjYkhLaVRjQUV5czJlL3J0aGdTQzhNYlI5S2xZczlQTjRa?=
 =?utf-8?B?UDREbkhJU3FzZmJzSWQvak9iMjJGeHl2OW5Ib1ZNQ2tObVFUMldqYjU4LzdR?=
 =?utf-8?B?V1dRMGtPYlloYkdzNUxCbzJvVWVmVEZyb2FKUWk4WmFGNHZYQVlIeHk0MVVI?=
 =?utf-8?B?emsrUGFGbFdpdzFWOUxEeDIzWmMrWG9EUGR6YmdKcThNOW1iVmNRaW43dUpT?=
 =?utf-8?Q?iip4L6xBdxWNDCZ3LXMh+Bj+K?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb72bac9-0802-4d31-8e25-08db972db93d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 10:04:44.1456
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eAeNEsgZyoeGHTtBO6NBBuWvhcnSx00fZXigbMK6jsDGXBbVkNgKqwjX2ebDfI3xjjlJ3EEiVarUcXB2TRTizQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9904

On 07.08.2023 11:58, Simon Gaiser wrote:
> Jan Beulich:
>> On 07.08.2023 10:18, Simon Gaiser wrote:
>>> Anthony Liguori:
>>>> From: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>>>>
>>>> Intel says for CPUID leaf 0Bh:
>>>>
>>>>   "Software must not use EBX[15:0] to enumerate processor
>>>>    topology of the system. This value in this field
>>>>    (EBX[15:0]) is only intended for display/diagnostic
>>>>    purposes. The actual number of logical processors
>>>>    available to BIOS/OS/Applications may be different from
>>>>    the value of EBX[15:0], depending on software and platform
>>>>    hardware configurations."
>>>>
>>>> And yet, we're using them to derive the number cores in a package
>>>> and the number of siblings in a core.
>>>>
>>>> Derive the number of siblings and cores from EAX instead, which is
>>>> intended for that.
>>>>
>>>> Signed-off-by: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>>>> ---
>>>>  xen/arch/x86/cpu/common.c | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>>>> index e9588b3..22f392f 100644
>>>> --- a/xen/arch/x86/cpu/common.c
>>>> +++ b/xen/arch/x86/cpu/common.c
>>>> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>>>     initial_apicid = edx;
>>>>  
>>>>     /* Populate HT related information from sub-leaf level 0 */
>>>> -   core_level_siblings = c->x86_num_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>>>     core_plus_mask_width = ht_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>>>> +   core_level_siblings = c->x86_num_siblings = 1 << ht_mask_width;
>>>>  
>>>>     sub_index = 1;
>>>>     do {
>>>> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>>>  
>>>>             /* Check for the Core type in the implemented sub leaves */
>>>>             if ( LEAFB_SUBTYPE(ecx) == CORE_TYPE ) {
>>>> -                   core_level_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>>>                     core_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>>>> +                   core_level_siblings = 1 << core_plus_mask_width;
>>>
>>>
>>> On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing on
>>> I noticed that this changes leads to core_level_siblings == 16 and
>>> therefore x86_max_cores == 8. If read from ebx like before this change
>>> and what Linux is still doing [1] it reads core_level_siblings == 8 (as
>>> expected?).
>>>
>>> What's the expected semantic here? If it's to derive the actual number
>>> of siblings (and therefore cores) in a package as the commit message
>>> suggest, the new code can't work even ignoring the example from my test
>>> system. It will always produce powers of 2, so can't get it right on a
>>> system with, say, 6 cores.
>>
>> The only use of the variable in question is in this statement:
>>
>>       c->x86_max_cores = (core_level_siblings / c->x86_num_siblings);
>>
>> Note the "max" in the name. This is how many _could_ be there, not how
>> many _are_ there, aiui.
> 
> I'm indeed not quite sure on the intended semantic, hence the question
> (although it's not clear to me what case that "could" would cover here).

"Could" covers for a number of reasons why APIC IDs may not be contiguous.
Consider a 6-code system: The APIC IDs need to cover for at least 8 there.

> It doesn't have to be identical but Linux says for it's version of the
> variable:
> 
>     The number of cores in a package. This information is retrieved via
>     CPUID.
> 
> And if I look at it's usage in set_nr_sockets in Xen:
> 
>     nr_sockets = last_physid(phys_cpu_present_map)
>                  / boot_cpu_data.x86_max_cores
>                  / boot_cpu_data.x86_num_siblings + 1;

This validly uses the field in the "max" sense, not in the "actual" one.

> It seems to be also be used in this meaning. At least on my test system
> I get last_physid == 7 (as I would have expected for 8 logical cpus). So
> dividing this by the 4 (number of cores) and 2 (threads per core) is
> what I think was intended here.

Would you mind providing raw data from your system: Both the raw CPUID
output for the leaf/leaves of interest here and the APIC IDs of all
threads?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:06:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:06:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577976.905131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSx83-0008Qm-Qx; Mon, 07 Aug 2023 10:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577976.905131; Mon, 07 Aug 2023 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 1qSx83-0008Qf-Nc; Mon, 07 Aug 2023 10:06:23 +0000
Received: by outflank-mailman (input) for mailman id 577976;
 Mon, 07 Aug 2023 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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qSx83-0008QZ-45
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:06:23 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0dbdab10-350a-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 12:06:20 +0200 (CEST)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 06:06:17 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5373.namprd03.prod.outlook.com (2603:10b6:208:19f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 10:06:15 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 10: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>
X-Inumbo-ID: 0dbdab10-350a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691402780;
  h=message-id:date:subject:from:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=W+DEUMy/+zVWnbBSCdxkpH06J8q7LflxKMggumUMdpM=;
  b=fKOMvQzmpr4GramjFpV6XuilObkgtzVeO1wQxLRhnR3p520Vh316ZqVv
   xQqtBenASs9msIx8p/kDKeJukkQ1n+6t3K1EPcLLY695vEN7w+75k8j4b
   rto9DXoRGH9bVUW7gGfnVpE94kXIv4LWlIan2CDqDXA0VFbydCBdcDp9L
   A=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 118584614
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:37v0EKoeosql6muRwoCsuGKZx1ReBmL6ZBIvgKrLsJaIsI4StFCzt
 garIBmPO6yKYmSmftkladmz9h9T7ZCDmNQ1TwU5rCxgRH9B9ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzydNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADEEaAGprP6k/IO+YNdT3vgBIvX3O6pK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKIEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhr6430AHNnzB75Bs+TEf4oKiVsVCCZddjD
 2ES+g90gI0p3Rn+JjX6d1jiyJKehTYHWt9XFcU77h+M0ave5wuFBmkCQSVFYdZgv8gzLRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBsZQkP7sTnoYozpgnSVdslG6mw5vXqHRngz
 jbMqzIx750WhNQO3r+2/njGhSytvZnDSgMp5gTRUXmh5wk/b4mgD7FE8nDe5PdEaYOGFF+Iu
 SFcn9DEtbhTS5aQiCaKXeMBWqmz4OqIOyHdhlgpGIQ98zOq+DioeoU4DCxCGXqF+/0sIVfBC
 HI/cysIjHOPFBNGtZNKXr8=
IronPort-HdrOrdr: A9a23:In3Xa6HGiWxckGW3pLqERceALOsnbusQ8zAXPo5KKCC9Ffbo8f
 xG/c5rsiMc7Qx6ZJhOo7290cW7LU80sKQFgrX409+ZLXXbUSiTXfxfBbKL+UyeJ8SGzJ8i6U
 4DSchD4azLfDxHZJ3BkXCF+r8bqbHtzEnrv5a9854Kd25XgspbnmJE42igfHGebTM2dKYRJd
 6z5tdnuzHlQngedMK9b0N1JdTrlpnklI/GfRVDPBIs6BCPgTS0gYSKaCSw71MxUy5v3bxnym
 TOkxX46qK/99m3xwTRzXW71eUkpPLRjvVCGe2RgYwuJjLghh3AXvUYZ5SOsCopoOam9VYtl8
 OkmWZRA/hO
X-Talos-CUID: =?us-ascii?q?9a23=3A2GQ49Gk9RHuuwvJX9G+CqxaEpk7XOXzUymb6CFO?=
 =?us-ascii?q?qNVdsYoOqEWOy9p94lOM7zg=3D=3D?=
X-Talos-MUID: 9a23:5ZqnpwTFHB8GMgOCRXT1mHJjZetT/ZiQDXwpvJMGnpOpEDdZbmI=
X-IronPort-AV: E=Sophos;i="6.01,261,1684814400"; 
   d="scan'208";a="118584614"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dPCiNR8Tn0D0D+9WSXr3AmbBD0b2lMWf9aZwt3gBo5YcYSUV9I91eDNCS2Fo089eM+I2cJ4x9lyyGTebsERKEIVVjZPPDeVIzWp3GwErpMGFB1q9o2w0vhedNQmz+2CVCemKsIoGvIjY0EYP2IKbysJ8Ek8fhkZQXOxv3SDCF5gZT5PxbJylhaca/k8KRfGDjs3+ymEB+rbJYwUGc48I9qhthYoUcRSi7CiQUgBDcn1XKf1nq9rTpiwjOH5g3xR9v4WCePysPKHWJqHjNqWNFba0/YH66ptjozBLvVZnmS3Eclw82Xzv3NwX/26HcwKiaqgICIr9d+HprYbJg9swxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/Y8nVWJdUc/lyHm/tgeOSEdjT7RtdH9eMDYPuqSa3rE=;
 b=kasr89fgBSzQyHpKIsQhLuqt1+6U9wvUQlXWKMhWudNyLwHYsfOdTwaInZzsKrtmakGuhgAEp8nedGwXQcOUskTCTNyJcQPlP8WHutakh7CGw3tjltYSy912hgwK+T+lUi5xsQOHQfVf2VStPeRjh5tTeC3AYpVs5pclS5uHzqLbfbSIafJh3ccFkaZHoSSOxYVH3Bh3HyUQ14mFIo8cRHQqFagh68SndpPCAX8861A3SSMzWnLTK/hfobQsA6y19KA2GbZtBlXkF7g8vg6+TKRKpJi3+RSGPvQpAjUd4DVo5iguoFC+B3SbmD5gMwVxcpRtgmDpF5LSyah1wUtmiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/Y8nVWJdUc/lyHm/tgeOSEdjT7RtdH9eMDYPuqSa3rE=;
 b=pX9psLePvylfnLfxiOpsb9/O650Ev8UgJdCUA/FF0ynlACiL0LjdX7ZsPcQ01xgFhDfWdJL+j33FBDV1f2T5cOhBLYIvCGG9ZdoZOu7tW1sLm9YRof2TfNG49Tuh4TEFExXK+wJOLfhfh9WqUntS+s/mmOi0Kqo3iOMrYpeSugw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f6bf4dc4-5ec8-866c-3b54-c3584c407cc2@citrix.com>
Date: Mon, 7 Aug 2023 11:06:09 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Simon Gaiser <simon@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
In-Reply-To: <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0048.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ac::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5373:EE_
X-MS-Office365-Filtering-Correlation-Id: cc926c3a-9735-4992-4b1b-08db972def48
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Tmzru0sk305pZeRVnMtMXuZBXkgxf0nDh2lLSnFfPt54mIONBa8eikQr5xE+FzYEHBMt+X+gvlO7e8TfTdZgxF3xL2x3BIpfqthTmrseoOAwssuLJG/jX9dCoEh9MhjgA+eeEPAx0Ekfgy6+RxYBWnCKLEdYso5ciipSaXQo4xl3rdhaqvsOCcD5vkinFJ2+iM1o51ZIcyqRoqaOkrJlqG+YtSv5GGYcnq7GkEFooZQSZU79E9KeHPwre0N/dcBhRkXWmX5lwALCm7vgXmnkIqtu86xG/SZvK7VXCsCUagodzc0kpTwwt7+nR305WiWsdCqPPoiv7HFF9AWGW6Wwpwcy0pAzxcmq292mTlW3JY/NDWcWcJ40XIINGjXrSdqd4psTaT5nKM/sH8n4Q4Gip2EdXQnpWv8OjIt+aoPXRpvFEfr3y17AxUjPa9XJtTf/2RhkWg/gjGAvObpJmphEE1gjpO3lKdjNgIYRP2y8txJLJWAPbBx0CM6Htn4VnEwv4hKClma7R2cYQrDrE4r4YOZOHE+5eALIMYHpFYq264sTGZySrEL3Dt9MlTymSTK+gVkaCt4eSRthisoZmZHCH8DWjgnP/Ea6pur5UHDX0LlZmwBqd/BqlmbmPNq6z1k7uPGLjgq8Uz8YtCi1gl20sg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199021)(186006)(1800799003)(2616005)(36756003)(966005)(6512007)(4326008)(316002)(86362001)(478600001)(54906003)(38100700002)(6666004)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(82960400001)(41300700001)(26005)(8676002)(8936002)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZEJNUnowb3oyVk1BZDVIbFBuRGFHaWcrVjhSdWhickJsbHFCaEpLK1ZqOWhC?=
 =?utf-8?B?Tld5aWIyV211TVdnQ2R2NnlkUjNEOE1VZEFGSGdyVnJpcExPUlB2TEpmZ0hr?=
 =?utf-8?B?b2xUVmpTb2dURE9sUGozdVRXSFZGQTY4c2FpSmZXdUh0L3JCUjRsTFlZczR6?=
 =?utf-8?B?M3dHRUVnY1kwVXhYODNVMmNJdGJtajBBM1NPdHVFWXJ0eFlJQ0Z0NTlHZEhV?=
 =?utf-8?B?T0pDSnFkZzlvMzZPbUh2TUt2M1lkd21uUXJKZDVUTHVnMzQ1N3ZlM3JPclN6?=
 =?utf-8?B?L2ZZSXcxRXE1R3JYRmtHdDNlWlVUWTJCVnJsai9WM1dtWTd6S3NCSUtwbFJC?=
 =?utf-8?B?bFNOS0pnRGtKZEQwYnppR29McVJzMEpzVmh3UUMycDcwanNFUTZCRnFIL2Jt?=
 =?utf-8?B?NjFVY1pXYk9PayszR3U5WDhOV3djbllFbjlRb2RVb0N1U1N3MmpMVTZSa3BN?=
 =?utf-8?B?MmVrTXdrWUdNVStiaHdvWlVLSDZzSlJtbE9IejZiWlpXRStOSUp0bjJyZjFL?=
 =?utf-8?B?clBMckxrelNGOFRRc3RtVm1ScVZrZklzYkFKczdNSXk4bmQvY0ZVYUppUk42?=
 =?utf-8?B?cjRmRU9iQUJBeUpic0l4WEVsb1Z5YXJ4MEhpbGM0ZEtlV3RUYS9UWDVXZmY1?=
 =?utf-8?B?LzgreXY2S045NHpWTTNtNHpnL0ZkRGxwSW95NlhUc3VDMjEzT09tbWpGK01j?=
 =?utf-8?B?U25jNkxLZFR4MjJpTDFyZC92ZDcwTUp5cVhLbDBqS2FLVGc3aG90QlRPc0xi?=
 =?utf-8?B?NStwZ1Rtb0FIbjZoN21vWnEyempBV2JEUG1ZMnJsbkhxZjFlQzlPV0tMRWJG?=
 =?utf-8?B?djArS2tYVGFYNWlhVGN5dDhHQ096VmRkQmRoOHNiZ0pkMmVLeEY3dmdtbWUy?=
 =?utf-8?B?WGxBbWxsOEZCRDRSM3NxekVoVEYvU1NySWVUR2xCcy9xcEhhZE1DeHVEL0Rp?=
 =?utf-8?B?SFRQK2JGYlQxWEtuYVlkZDdpOUlBekVjL0xlN0xVNzhoR1l1U0dtMzdLVU5S?=
 =?utf-8?B?UHhLM0JqUmFKeVVnMkdNbGRPbUNvVWk4RUtmMHRMY0FjRndtek5EVEZoVDRB?=
 =?utf-8?B?di9SMERtQlcvdGtEemdJNzVlSlAvRE11T0VrSWNqcG1adjlFTW1ZUWhON211?=
 =?utf-8?B?aFloNzRnOGdBR3Y4Si96WDA1dzBnUElRQ0s3QWZEWk54TmNXU2tOQWVGc1Nh?=
 =?utf-8?B?bFlXZjREWFh4NFZobmYyenlPQmpMOERlektrTUtENitxdzgvOC9hZ0pVZHZw?=
 =?utf-8?B?YWJNaGhVL2JhQUU3cEpnVkpMSk4rZjAxREZKZVVobmhZd2lXd21xOE50TC9h?=
 =?utf-8?B?K2xObDRjZVBDOU4zbWx0ZncwVWJ5bUgwaXNILzdOcmhLMWoraDNaYWdzcEpK?=
 =?utf-8?B?OHBMR3VmcVVDT29hNWR2VGRiaEEybzcybzRFRzRKTi9YSFJKVGRMRi9xUWlF?=
 =?utf-8?B?aGxyTGcwL29BQVFRaHhuR1VjVUlTTzlEMzBUWjlNelNYaGNnQVFFczVyK0ho?=
 =?utf-8?B?UURBbUo4WS9pdnQ3bkFSMUtGWUtoMVVRb2x3QVNqZGU1aS90TVFSVFJwVkdZ?=
 =?utf-8?B?UnA0TEtFa1g3b2JFVU92WHFhcTJaSUlQalROTStNVW9YRlVSY0wycml5cUhl?=
 =?utf-8?B?Z1B2cHJzSWRidWhhY3dGZmFXdEt3MDBhWHMvdFUrbVMxQkNyMDRPb3JXWFkx?=
 =?utf-8?B?aTQ3OU9INGRQdzJRMkI0QmVwV2ZNMVk5OVVvVXZHbklYbmdUeWljc3l3R2M4?=
 =?utf-8?B?ZDQ5TCtONlRFOEhWSWZtZjN3WkpnYUF5ZFVHTVVybklVRDl3QjRQRTBHMXJp?=
 =?utf-8?B?bTlPQ1NlZkVBT1c0SmZWSy90UW9sQUZGc0J6R2JueFY2L0pSOXRhaDJSTE9V?=
 =?utf-8?B?c1JJYm5LOUxST0VBZjFQZGxuQ3VNNzg0WWdib2czVjlvKzB2YjlnMHNqNjFB?=
 =?utf-8?B?aEhMdlVKU2p2ZGI0TGFsWk54RXd4V0V3cmFGVlhhWXlJQ0NuNXNPdHVCUW9U?=
 =?utf-8?B?bGVPNXdobjRhNWIvUWNoSnl5WnlGY3ZjZzR4Z0xybGYra0pxd3JrTnJMdkR4?=
 =?utf-8?B?bXlFTnU2dVh1ZUFBeVViemN0NDRZZ1ZESlhqSTQ3RlJuYVYveXluSDlQTmZY?=
 =?utf-8?B?YVhtNkpiNy9JTzV6UytMNUFYMmIwQXR6d2pJSE03b29BM0lmQ2JHTGg3bXpE?=
 =?utf-8?B?N1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	eCg877mIBYUfAJMsVLy2FBYSrpHOeDH274MqF4XqBn5vmm58JNbRqXK8CMzdpyOQR5vmJKOxtsPeEnCfU7V77JwLGyOT9WCYHKxdK5b+l7999dgMK9Tz3iOQAZeiAX4VNfd41+0scDu2RVFxSCMPcHmTxcjT6LOISRKlrG5xbnjPo56SlC11fJxMRGl9Qyr1d9h1CATAoWO0Q4t+l+qB0wHOJhDix9peA9Yfk8x6GLqFjZjmNqSmCQZtCZ+Qur5nT04MZLaJEcYJ5tKAF87oUN+3jj74ZMOJaU0sXjpLxa1QZBO6IsNXXKZPEQxZNiqwbctC7HjP/2Saaba3yOS0z995ygROwsxB+NpXI2shMuPr2eRFrHVzTLcHIRlVT8WSohQQvcU1PWwFH8fzMXEMkCSP9tsRhkJCG/HLQ+Kql2KBXAZ9Suk6a+LoQqQyfoCDKfAH/bjPWKdRQIVb9gVjHCr7g4QpwsIXtDWUJPDzSIK1sXn0HOlODP+1AC2dlzRqroB7veiKibewkdsgJmQeZ+F5TzU/aKeCB/IvqbZCCmmh18B/kf6DuNesxwj1Z/OVbu+yXfN2QmRlVIdqy/ZqGORBU38ymrKM8dgUEkqYxuJjMRUBFyyFmeK6aqZj9u2WEE3aX13JiVwr/a1zt5VOHl1AsXcnZ/cYaBzGojHMJDNjTW2ntuF30PrfVkhUECLj2Ljkg1fkhKHAUKuJkudMMkRXc51RGsH6oIn9xo8JEp6r2HM7xYvxDwLEN3R4ZMV7hPRpC6yI2/uMYec1qeFd6HHzNn2f+yxkhvbFl/vNsCqRBTaRzgrM1bLxt8Fxs69wboeAe5IhSJL4yQTCNf1RA0rhAaC936OG7CYGO4kmrCmYV37hi0mGPo28PpaSIAHd
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc926c3a-9735-4992-4b1b-08db972def48
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 10:06:14.9245
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2oE1MCyzq1QtP1+VMjn5ckFyLxeEqtHqLVJ7ljjhhoJUk7A1SQPUtKtZXQ9IVWsncOlQ2S8+FVQdZXwDmiySkNtYiB5RdbU1/c62evGvmo0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5373

On 07/08/2023 11:01 am, Andrew Cooper wrote:
> On 07/08/2023 10:38 am, Simon Gaiser wrote:
>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>> 0xff. Linux already has code to handle those cases both in
>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>> same check to Xen.
>>
>> Note that on some older (2nd gen Core i) laptop of mine I also saw dummy
>> entries with a valid APIC ID. Linux would still ignore those because
>> they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen
>> this check is only active for madt_revision >= 5. But since this version
>> check seems to be intentionally I leave that alone.
> I recall there being a discussion over this, ultimately with the version
> check being removed.Â  IIRC it was a defacto standard used for a long
> time prior to actually getting written into the ACPI spec, so does exist
> in practice in older MADTs.
>
> Otherwise LGTM.Â  I'd suggest dropping this paragraph as it's not related
> to the change.Â  It will also help if we do decide to follow up and drop
> the MADT version check.
>
>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f3bf1dbe64b62a2058dd1944c00990df203e8e7a # [1]
>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=10daf10ab154e31237a8c07242be3063fb6a9bf4 # [2]
> https://git.kernel.org/torvalds/c/$SHA
>
> Somewhat less verbose. https://korg.docs.kernel.org/git-url-shorteners.html
>
>> Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
>> ---
>>  xen/arch/x86/acpi/boot.c | 14 ++++++++++----
>>  1 file changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
>> index 54b72d716b..4a62822fa9 100644
>> --- a/xen/arch/x86/acpi/boot.c
>> +++ b/xen/arch/x86/acpi/boot.c
>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
>>  	if (BAD_MADT_ENTRY(processor, end))
>>  		return -EINVAL;
>>  
>> +	/* Ignore entries with invalid apicid */
> x2apic ID.

Oh, and I forgot to say.Â  I'm happy to fix all of this up on commit if
you're happy.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:10:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:10:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577982.905141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxBy-0001V2-BL; Mon, 07 Aug 2023 10:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577982.905141; Mon, 07 Aug 2023 10:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxBy-0001Uv-7m; Mon, 07 Aug 2023 10:10:26 +0000
Received: by outflank-mailman (input) for mailman id 577982;
 Mon, 07 Aug 2023 10:10: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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qSxBx-0001Up-11
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:10:25 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e7efde7-350a-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 12:10:23 +0200 (CEST)
Received: from mail-dm6nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 06:10:20 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB5994.namprd03.prod.outlook.com (2603:10b6:408:133::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 10:10:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 10:10:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e7efde7-350a-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691403023;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=dxlPdX+hZUzoq/CyBw+dkz4W4owffyn2sdl5MoWepFI=;
  b=djkm2OSfP8eRcnBGsHOvjN33SRx/beDzp3tktsP0DMAOcnjaNrL0VXH0
   8UZpOXu3Gt1w5K9/Nh6VvjG5VsKQ7k9jVGrg98K99yA/W/ipZyBqmw+zk
   rDDuej0/Qox8if0qc70Gdi2jWwqXG9Ep/87kh5MJ5CdvyEIwwGQXNl0I8
   4=;
X-IronPort-RemoteIP: 104.47.57.174
X-IronPort-MID: 119135241
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:LCZko6i36lCfX/9xb4yTKfiAX1619hEKZh0ujC45NGQN5FlHY01je
 htvXmrUOP2JMGChLY1/YISwp0gE6MfWyddkQAI9/io0Fykb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AeAzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tREBQgARS6tp9mc74mhZrBjmuUiB/H0adZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGybLI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeTpr6U32gHKroAVID4YRGOqrqWasGSdVt5PK
 Fcv/wlt6pFnoSRHSfG4BXVUukWspR8ZXNx4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceTDgr2
 UKOhdLBDDl9tvueTnf13qeZq3a+NDYYKUcGZDQYVk0V7t/7uoYxgxnTCNF5H8adjdTvEDH1z
 jyipS03lbIVy8IGv4255lvHhD+qprDASwcn4QORUm/NxgZie6asYoW67l6d5vFFRK6cR0OEt
 WIJmOCf6v4PFpCHkCGRQOQLE6qt7vzDOzrZ6WODBLEk/jWpvnKmI4ZZ5WgnIF8za5lYPzj0f
 EXUpAVdoodJO2enZrN2ZIT3DNk2ya/nFpLuUfW8gsdyX6WdvTSvpElGDXN8FUi0+KTwucnT4
 aumTPs=
IronPort-HdrOrdr: A9a23:5NijJKu0jQn+k777rUAKDa5w7skCM4Mji2hC6mlwRA09TyX4rb
 HaoB1/73SbtN9/YhEdcK+7SdW9qB/nlKKdgrNhTotKIjOW2ldARbsKheHfKlbbak7DH4BmpM
 Jdm6MXMqyOMbAT5/yX3OHSeexO/DFJmprEuc7ui05ICSVWQ+VY6QF9YzzrYHGfhmN9dOQE/F
 733Ls2m9JkE05nH/hTfUN1O9TrlpnwjZf7ZhxDLwc/gTP+9A+A2frBCh2F2RVbeC9OxLpKyx
 m5ryXJop+7tu29yFv632vehq4m/+fJ+594HcmRjcpQDCvqhh3AXvUGZ5Sy+Aotpf2p6hIRsP
 SkmWZZA+1Dr0nJe32zo1/W1xL+3C0I43vvoGXo+kfLkIjCXTcnDMgEuo5DaBve7CMbzatB7J
 4=
X-Talos-CUID: =?us-ascii?q?9a23=3AWUS7Wml/ZKpsgrWrZxq0nITI7uzXOSHw9Hr7HWG?=
 =?us-ascii?q?YMkxGc6e5EFCM2aJPq9U7zg=3D=3D?=
X-Talos-MUID: 9a23:S6ZPOgr6UpiAAWNardsezxJsJf957PiNMmounJkWuNK/MA8zfA7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,261,1684814400"; 
   d="scan'208";a="119135241"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MB4ot9rplJORzk290+lPZRlU2uTz3tcGzPP3CNjkmeVQ0GzTFMynOlTiD2ULMHg6Ox9mXcJSjKCdSmuJLbnJKMCeFn0ELBPL8DwZ2Gl8e+VE6DPaIbcrgafDLYQP70BE7tnph/JWAAyQ39EqFaq1rMHEc2Y748WEUFJZGZP5h9Q7Fkty391ArGfduf8Zh+gr/7peHEPHS/DGCyoNxeAsIr3ygjkFvX21C/OMSkwHPc8hXrjC1Dv5KiEmLYI7Y9aYQuBKBtxSA1xpIPpygEIF7stzWdpxsPc0nAaIJ1ueNXPuSCLKYVbZv7SmyB7tKmtJLihSlsohfGZmXDzboLSA0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=knZR3xja8bAEDmIUgLm4qlqxCYSBqGV8z2tSXrBwD+4=;
 b=AVfC7KHPg45HXRsXOrAg5JxnqO3/v52Qq5rm5DVcDhC3fhCD1mqk4sL6MQV5sKRQ7lo9TpUW3wbsQDhwrVrKE54DHelI4JGH1u3KsBd5ACKOlUzSaGnrVDtd8s6/6J/QmB8MuziPPcurHYjBwr6GXTZl/abWrdhzkoCiggfzWuNf8DvUbPNZBzbHNYW5py4ejw8VnsbL6caq1NvyzxCd9ke92KSY0PlsTZGVbIjE4CeIhZwK2rMQQ3u3ZlUAh2ZfdzSat93kVcgV6u7B0QiE973PfezEfe7PPNOg9Cp1ZoW4pMw4N5FvZREqsqjpoDL3eQ+Ct5H5JF6VxZL8cX2+Rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=knZR3xja8bAEDmIUgLm4qlqxCYSBqGV8z2tSXrBwD+4=;
 b=DFoSmi6q8aRb107v+JjTkoqhZiF3JZb8Rb2g+2J23pEAic1yndCQ12P7BWC7RNE2rtKoYq+dOKFkZYqyhBLKjDj9s3XnNo+UL0QmY2MxMledVgsMHjYFPsAVJ/188vnmXIt4bzUgWI5bb2lx2SWdllnvVDxSstEtrQM1R/5Fr/Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <874de0fb-b3ca-3651-42db-75656838f2f2@citrix.com>
Date: Mon, 7 Aug 2023 11:10:10 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
Content-Language: en-GB
To: Simon Gaiser <simon@invisiblethingslab.com>,
 Anthony Liguori <aliguori@amzn.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
In-Reply-To: <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0405.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::33) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB5994:EE_
X-MS-Office365-Filtering-Correlation-Id: dd55767c-5ba5-4834-1f26-08db972e7fe8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6hqc56oWg1pDeU27HJSh0fA0hQ0ZYPJrgFKOixoZcf+paRKMfSxSH43/U5f9oFL/fEyScCMPL+PqsqPqbsrSTyMDcolfaLBdbtjWALXAT0WW/8nO2QF0F5y4KTLH9ibHBFn5ShbX7aGQRx4jbdtJfpjUA9Y9AKtxkTSwsHC8e1TGdflUxm4so2QzA+rmDWOhwG5ovOX4gmN6ZxtbgIhgC18pbeLOtKFbZoUDBJUg6ijMXMiWgAWFxZowAPhfdsAur/qHtyjLPF8NyrE4ct/x10QmXxr7oLBueM60ofumDUiarPPQI56HLBxRymMdYXufcJGPJYvPdkgD7+IuNyTwvLY5olKHn6XrZ0sJHEXY052km8UQ6YAhdrmgTHxB8CKfO8RE8xBmgtNMyfzikD9zXHkmadbmz4sVhL/n0rw8inuJror062NWjWEfP/DkVpmgaLdyDJ57yk/S0b/9DigkYFjWKG0bubdA2Ee+95+1PHN+Mi8s91oemr3ZWP73jyWvYJ/CtoLboUKb2l0NElpPt3gPPaigexXPWAT1IHtua7QZduiQrrf47kkBtjlNOYYYgUyxTvtLZiDdFFwkdpCE7sFAGYoSqpiy1BeLOu7aALdOFHZs1LhmSsmMLK7Z01XRWnidDFXKjrDWT0rjO+siug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199021)(186006)(1800799003)(2616005)(36756003)(966005)(6512007)(4326008)(316002)(86362001)(478600001)(54906003)(110136005)(38100700002)(66946007)(6666004)(6486002)(66476007)(66556008)(31696002)(53546011)(82960400001)(6506007)(41300700001)(26005)(66574015)(8676002)(8936002)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eEZjMS9SbnlBSmpqV0Zta09mbmpUL01lV2RTZHlPdFVub05GTUNaSjJxbktD?=
 =?utf-8?B?OS9jeXdyRjZ5bEp4WmVka2hzaGlhSVlqRkV1bGsrMzl4L083SVRyYnA3dGpu?=
 =?utf-8?B?OERZOEFPRHVFZXJvRzc3NllVcGU4N2dMQ1JXNVRNSXE1c0RBTmlNYWtLTHhw?=
 =?utf-8?B?ZjhIK1ZSZVlJU2x5eE80OFh4am9FblRvRWlKY1BUTm8xS25vQndaS2lEdFJ4?=
 =?utf-8?B?YjVQbnA0akszNU5TWmtPNkZRWGJydHhXUklybmEyUVRVL2o3eDlzWjVnZ1M1?=
 =?utf-8?B?L3hUV2RtYW5QRm1VQVRDWmRGTVVnQzdmcHdUdHgrQUpKMFZGa2ZVNDR5ZmFa?=
 =?utf-8?B?Ky8wbmhBYk1NbUY0K2ttcmgweEhHbG0wU3pVZnppLzJFUkdOcFF6bm00NGtj?=
 =?utf-8?B?Sk9IVnJpQVZRcWUzU0tUSW11L3hHemxESW0rRkt1L1JCNVdqR0dmczRhMEcv?=
 =?utf-8?B?RTBwbWNCQnE2VjcwMUxDK0Vsc0o4VFI1ZlIrNkpDZHo1VlRCRjdmQ1RGRHZU?=
 =?utf-8?B?ajdzQjFZaUtER0w4WllFVVBwZnJNUmt5bVIrTHorQUdqY0FzUmluZFdIQW1H?=
 =?utf-8?B?RUZoSVVYSUU2RDQ2a1VQZ1R1K2Q0allzbXNLc2ExTEJYZFR6Q3hSMTBjM2d3?=
 =?utf-8?B?dkxacGRzVGZobnI3L2NNUXN0TG9oQmdPaTc1T3NETXdaRTlvcFhhVGVNdGJQ?=
 =?utf-8?B?NEVEZWp1OWZ0Ykd6QzR2aEZHMkJhaFFqQXFkOFh5Qlh6QkZ6TUhWNXJpVEVj?=
 =?utf-8?B?QXo4Nk8wc2dZdEtRdU1yaDFnVnNaeXF5K3hUamJxU25zNXdwcUpHM2E2d3J1?=
 =?utf-8?B?TnRROCtSR202N1YyNWlDdVlWeU9wbC9FRTlTMWVFbjJoM3FPRUlWQ2E4Ni9O?=
 =?utf-8?B?K3dZTzJ6ZjFGYmkycTFSTEhyUm82RVBwQ3lBSmx3U3FKZktiL0g2b0UzcEtu?=
 =?utf-8?B?aWtwNUNmRVpvdkxLdHVFamV5M0NGL2pZM0FRY2lHM0QxNjNYVWc3MTd4SFZE?=
 =?utf-8?B?UnBQN3dHbzNaRlZ6SnppQjZ1OEx2SjhTQzdsQ1NET2RSc1FQbDVWTWphVFlI?=
 =?utf-8?B?emhRN0VuRUdCTUdiUzR4VGJ3eHlpb0RSMHVJVUt0TGlWcitPZ0FnWHhTQS93?=
 =?utf-8?B?cWQ5TU5vaFNNNjJFQ0RNUjNXWmdJUjBocllCem1mdkduOEx3eUhNZU05cFV1?=
 =?utf-8?B?TFJLWDdPZTRNTmtYNXFMR1hZbGpKQnZLNy83a1YwejA0dVBTdVpwbGhMZ3ZW?=
 =?utf-8?B?a3htZ2Q3V3YyMG4yR2YwUDZBc2ZCZGVaRStVMW9Cb3N4TDErdGNPUmNBK3FN?=
 =?utf-8?B?ODh2c1JkK216WEtKL0lzSDhOWmxYWlRIdmRCbk5DSmgrOXFlVldEREVPVjVn?=
 =?utf-8?B?dGUyaGdYUnorQlpSVGtUSlNhWDZuM0hwUHZhN1cxWXhJT08wUmZULzBRZWpV?=
 =?utf-8?B?dHM3ekc3NzhrRS92ek4zRXFFYVBhUVhDNUdoQUV4T203V0NvU1Q0WDI5Z1lt?=
 =?utf-8?B?SzZiQWRiR2ZkUWdsZ0hTY0hHYUNoSi9GY3FwOW1hMTFkMWFTL29YdVowb0kw?=
 =?utf-8?B?U3VGUlR5cENmUjluTkNySWJYVGZKUTNNUGhRaUtwVm9DUGxrV0hseXhPdUMz?=
 =?utf-8?B?NTFEc0I2dTN5YUVBU1FpU2tlOUVrWW44Q3FGcW9wdDNiZDJYNWZ0b0NnYjh6?=
 =?utf-8?B?NmQ4NG9YSnFHYlVIVHpnNUlKcjZCN0UyZ0txL1dNZjBKeG9JZFpxVmFWbDBT?=
 =?utf-8?B?a1UrMlRJSnZ3ekNLYVB4MXcrOHJVa0ZlTENBZHNSSE5xbC9rRFVSaVg1YUtw?=
 =?utf-8?B?YWcxWlBLcnY5SGFuZmRNR1pyaHZtdGUxbzEyWmdsQ1hUVzhVaUl5ejMxV0Fa?=
 =?utf-8?B?UDBzU2FCanZjT0NzemQ3WmxLZ0VMdWVkVTJSQzNGS05vTi90R1Fxb1NxZkgz?=
 =?utf-8?B?ZDRwNTVFdDZvUzVHeVJ1d20weXVmazVIQmNnZ3ZCMjkrcXpLRXVBQ3MrU2Z1?=
 =?utf-8?B?VXpDRmN4UWtOdmFBRjB4eUxvUlJnV2ZLalJjb3ZSMkFRMGFZNXNuUVJhZFkv?=
 =?utf-8?B?amwvVndxY0VCSWhUWFQyeVcyRzRFSFpTdVVTOVZIWFQ5UFU0WFdnaGVKc3RG?=
 =?utf-8?B?TG0rSmFVaVlDQ2E1N2U3eHdzbVgwby83MVJtcWxPMEdrV3E4Ti9kQTBTcnZK?=
 =?utf-8?B?VkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vkgub4cOixtS3V4O68gPbwy/4puM5v4M+guTJMoc772nu3GTjm3twDTJVxplXgz8a67j/ZJiaJVqkIdzIpRLtpTCFKfstm3mWi6pKJ4wVy1RBGRMYgVbpY8XDN0ppMA6z+1bbk2aVUuidBAToFNdrZuUiQY0O5tPibK+ME5iGjfJyx4WE+Ydyqv8Z/pZ9qsoMq0FeRvF+Nf3KyUiwbsLlv2GNsF9OkBt1fYaCrie9L5aRuk88QVKo2JQxhD12zcQgiEPyims3YjjoO+Z57yzyleGdWTYGbVbPF5c1i0HzKHGOaaG/g4u4GhhFJgw+yPvvseg5G4k76Kckm+OSx7mn1cEeBldoWqvDPJp/G+bzE0kwgkC49rYh1ELGXiq1plz51oozLhk3S1JbzkFN7aXQ7Dg5Genay6qGl6eFy1i4f0jOeARpvuHLaASpi1sk/Y0F3XW7Mg3nbEP6/1uVvjD5VS3DQBB0P6uqFLdNvZcjgyy8bSBcdyrp9YCBwGnBlL1pPTbYg2ZUpLzR9U7PEHTeeLYwejuzU5t23uHe/B1ClU02/9/lK6CBhx/0ZfJby8bJ6R4yz2lrbS07bMih2KbeqatBbBXZhJySYvKRZuo4+sZRqfMP3NFnFchuwQmiJuRobKU6pYTeXA9cBSzm0j+1uCo7R9Mz3XoMYfBCGd9gnYrX/bG09di1EnaoAeCaSc9LkkzYrMCZSfngyhVgcZ6Zazb5D3xVhRICjylNKO/hrSUF9WpX94iAXv5AcZgfXjYSMAWHaMfmw+M+9OMWsrLtgSqONKojiLPgJhxFAG512rdjchKTxbs0s8d2ZVn4Yl2O0q7SqLeBnXPE2Slr6aGiEE42RDcGSAgx3j/nUgBF2Ia/muhde0DZeR99iLNmdQ6GuCRQO6Ayb0Tu0uYcGBf6ESZaZfXNDzCyKgzHCJoB+s=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd55767c-5ba5-4834-1f26-08db972e7fe8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 10:10:17.4388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xZGdpjweQeW45AG8BEDLn4TI6Ms5ujw/c5cUKCq6qzclbdPDjNNtwep4LgqO7ntO5XERn3uXyjpCsLy21SRoelgRW7p+DMIuoLEzr6FrUwg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5994

On 07/08/2023 9:18 am, Simon Gaiser wrote:
> Anthony Liguori:
>> From: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>>
>> Intel says for CPUID leaf 0Bh:
>>
>>   "Software must not use EBX[15:0] to enumerate processor
>>    topology of the system. This value in this field
>>    (EBX[15:0]) is only intended for display/diagnostic
>>    purposes. The actual number of logical processors
>>    available to BIOS/OS/Applications may be different from
>>    the value of EBX[15:0], depending on software and platform
>>    hardware configurations."
>>
>> And yet, we're using them to derive the number cores in a package
>> and the number of siblings in a core.
>>
>> Derive the number of siblings and cores from EAX instead, which is
>> intended for that.
>>
>> Signed-off-by: Jan H. SchĂ¶nherr <jschoenh@amazon.de>
>> ---
>>  xen/arch/x86/cpu/common.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>> index e9588b3..22f392f 100644
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>  	initial_apicid = edx;
>>  
>>  	/* Populate HT related information from sub-leaf level 0 */
>> -	core_level_siblings = c->x86_num_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>  	core_plus_mask_width = ht_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>> +	core_level_siblings = c->x86_num_siblings = 1 << ht_mask_width;
>>  
>>  	sub_index = 1;
>>  	do {
>> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
>>  
>>  		/* Check for the Core type in the implemented sub leaves */
>>  		if ( LEAFB_SUBTYPE(ecx) == CORE_TYPE ) {
>> -			core_level_siblings = LEVEL_MAX_SIBLINGS(ebx);
>>  			core_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax);
>> +			core_level_siblings = 1 << core_plus_mask_width;
>
> On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing on
> I noticed that this changes leads to core_level_siblings == 16 and
> therefore x86_max_cores == 8. If read from ebx like before this change
> and what Linux is still doing [1] it reads core_level_siblings == 8 (as
> expected?).
>
> What's the expected semantic here? If it's to derive the actual number
> of siblings (and therefore cores) in a package as the commit message
> suggest, the new code can't work even ignoring the example from my test
> system. It will always produce powers of 2, so can't get it right on a
> system with, say, 6 cores.
>
> [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/cpu/topology.c?h=v6.4#n126

Topology is broken in many subtle ways, including bits Xen inherited
from Linux.

As it happens, Thomas is working on the Linux side right now, and it's
been quite an effort...

https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/log/?h=x86/topo-full

In some copious free time I'll be ste^W borrowing this.Â  It comes with a
negative diffstat too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:13:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:13:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577987.905150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxEy-000287-SE; Mon, 07 Aug 2023 10:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577987.905150; Mon, 07 Aug 2023 10:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxEy-000280-PM; Mon, 07 Aug 2023 10:13:32 +0000
Received: by outflank-mailman (input) for mailman id 577987;
 Mon, 07 Aug 2023 10:13: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSxEx-00027u-PZ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:13:31 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e2800eb-350b-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 12:13:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7304.eurprd04.prod.outlook.com (2603:10a6:10:1ab::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 10:13:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 10:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e2800eb-350b-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2WVDbHpNT9nPkkerPnwGeepGx49zwJv3qm7vdhHAmokvUuAxKmXXKMDS0cSvrMASfMLBXAifMGk0K0Pj/Rw6POU1v8RuuzOsMaw6Bmfb5teuaYNySH4k0cV7oJ2iwC+desrcn+r57MAIAwZqk0Fbmd8Hd2UX6tFz4IZVq7QxhbH8QRWfV/JScJKmZIBG3uYQ2sL53YQB47PrbuSamR0AscS7YheNH/h1J9UN2Lmd2KZH+zOfB6ZcTgFdsppbisWVEmXFekIyGWAti6YH0Y1jz2RtM52F555c8EApjTiZk5Z00FmkWZTxjUB+BqbiucUuaCPCkIYU3/Ro7ThIoaI3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1TL3SuqiL/U8QplvnRFiosj3Muf1Pmyzyij/ftdbvSw=;
 b=L8naNky6YqL9QZFxzgvwVdfqQklCn4I/k/TTSVoiZoJTWz8VXY5lvIS+Qy+i1oIeLNv1q9Gd0+cowvGu7aGtNkFo9SElHVjaZEmmzo6RydpbP/aVomg8yZ/OsaD9pPZJWlSwnWIDWWx8Obrf3DHk4Bj/zXKo9Whyc9mY8Wsjj9gW6weKQht03sDVLXptdg2CNWjluHnL4DaRYwjwmHsBbIiJk1NcX1Al4pL1N9hTcfihOiCzvDH6h1hLw4S71jSWOIYL2fFC15W2yHokqPZQjn0JFm6btmrjC8ZlDqCbGQO2XTVNBD/UrMrIKu/G/x/oFsJFsRf8xEzQroqW4tuwvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1TL3SuqiL/U8QplvnRFiosj3Muf1Pmyzyij/ftdbvSw=;
 b=iDx7yy+xrrQuDgW0UyC4xdS00Ryfm+R97s/7EPrVEYTCtDt89cEIr+TRZklGNrt4/18DcoBIzrUiGm2PKIx758rlyYnrTFSFulABl68HbxeOF25BgbiIMe9Yu3XJ/nSOS3qkzzho0qp4QLWksAZcVpvyafGC7f36IMBOKqxi4WJCxtHwMahdZUovkfcFDCXcBSCfCjUCqE1vx3dOaeO7yxP2X2k77hgV7G1/PIfuXRsHzP/Kzl3jCNrT9pqQzv24h8WTMuC6BZFQoamBOqEh5iGKIqVkstRX2sqgLjmQtj+kXW/jlQSgSxejJu+hh8R8N1VUU9tVxZIXVGMLYwsxDw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
Date: Mon, 7 Aug 2023 12:13:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Simon Gaiser <simon@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>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7304:EE_
X-MS-Office365-Filtering-Correlation-Id: c0bdb0da-1217-4baf-05b3-08db972ef10c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hqFhU2MYNQDbLA7JiirX0bGulapNMLSLcXiDHw1BRtPQ955BYMQ4s/ejmnkhFhD/Z8r+DXRvISYrSDtuDqurYfwCtditIDHZqgkshINhxf/ayir66bOhJU9Fl0LbvvpS5zWzl5Pgc/jpGGO+Dq++Ns1mAx6ru/Z2pNzQCzEI3Aa+iZrygGN6g485//hOhwKpb4DOIaSY6Hz6UosmGP6NV48YGagTJrng28UwkntSbBV7225DgooidHzubEZ2Kd/+hnHOT2Anrux77F96zu4S/HeJkq9f61fKDHF0EyNiPMKprnLmbTYREa4P9gJECZiWaG5qC0uleSeHhF5wleSP9sn4mhmQqbJj/9MWw5ynysP9mnqevE2MrGG4B8E0n8LneDA+zIjX1Wdk22c/G93E5UMACJhn+mEUjPSfuPkGUth5+3ntr+WBQPHkdzVksSaugA+HlHHLg3f1PC23WQRHMlY5fA+ju4PAkf+TOFF4p1XGCvC03If4iIXJzCNr04eQWST3w1je5rAHJzGJZaBwHIg4rVuukPJljgtYi1+hf+K0FrFkGkfSBue/tuxdEPBdLqIoD65t2AiXusu1ySsqQWcL0eNPiLy7TrtfVWqS6iygXx2Uwe2Z/OKcFz4uxLSV
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(376002)(366004)(39850400004)(136003)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(86362001)(6916009)(478600001)(54906003)(38100700002)(66946007)(6486002)(66476007)(66556008)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(84970400001)(8936002)(66899021)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1liKzFwU1lYb3V0eWRnaTB1enJNL2xqSEQvOHhUa1RPbG1EeDBwQU4vMnVE?=
 =?utf-8?B?bGNIbVIzcEp2MHVoeVg5MjY5cVJIK2tMUFMwc2RnTzJ6Ym1RYTJEQ2dsSzUw?=
 =?utf-8?B?T3pqWDBibHhrdGhYcWFtMmxkL3JvQTNxcTVlNTY0c0RmQnpZVWs0YkNTSzJ0?=
 =?utf-8?B?ZTJyUkRTekNEcHFmMjZFSnkrbGdYZGZNV3lZY2Z4bXA2RW9NTmQ1MTVMVDFR?=
 =?utf-8?B?RzNBU1k2YmQ1Ym5FOWN0MjZqb2t3Wk9MWU53a1ZPYk53T2E4TlNjcjJCUVNw?=
 =?utf-8?B?U2liTW12ZnM4U3daMHlBSFE5ZTVVckRSNm1MWHdwaVg2RDd6TWhhSnBJZVNs?=
 =?utf-8?B?NjRhL3JoQ3JTZlg2eG9GajV1QXM4ZzNoSmc1RjJoZWh3NUNIZFN1UzZtb3ZT?=
 =?utf-8?B?U2F6Uk9NRFhUa21BSm82YmU1ejgvejdKTEpscEJXbmxQUitFRGU2YjVaTklv?=
 =?utf-8?B?aGVDZkpXeXpQUTVpS25xOGo5WkZhR1diWW04RGVxSnZxdzVCYXBBS1I0bG80?=
 =?utf-8?B?Yk00cWdVRFdmeXJwK3VoUnpUR1llakticzA4SEw3c3YyOUx6UGprdzB0WHIz?=
 =?utf-8?B?YlJONmtuYSt3WGxMa3NEQkNGb1hNcjVPM0g5MS9QdDF5Ykk5SWJjWm5kNnN2?=
 =?utf-8?B?dHdONzVmNWVUUXB5bkc5V3QyRGJ3ejZBc0RnWjNxQnBOSEdqTDRNWkdRTXB3?=
 =?utf-8?B?b05CN0xPK1dxanlpbmFnSmxtWDBxYTNwSW5Nclh0OWVXbHp1azJVMlR0MlVQ?=
 =?utf-8?B?L1pRbHo2MW8vbXl3NmY2MlVkRmNNc09OZ3o1OWZGM2d1UFduUXpocDhVN0J6?=
 =?utf-8?B?ZkxFUlA3WVllWWw5ZTE4SlZJYWZWN1AzZnhtNWgrRStMaFAvWVRzZm9LUUhh?=
 =?utf-8?B?cjVpakxRWUtuZlBsWldnSUdoQkpnMjhUck9PUGJpMm9PWmt4SXhJcElkeFhS?=
 =?utf-8?B?eVJybjlQYTVlOFJ1QjlaU2UweXJmNEorODA0TFUreWZpbStpRjVTWCtiSUhz?=
 =?utf-8?B?VmI5eWRHMlF3Nm9PSXpHWmhJQ25zNlNXZFlTb0h2MVRNV0wrNURCS2FYOTkz?=
 =?utf-8?B?b3htb2VNM25DK3gvMkZMdUc3SzlPS0hNTEd1a1JDQVV1aWFvdWhyTzJaY1V3?=
 =?utf-8?B?ZUFOeU9EUDJrd0xtZXEyNDVoY25sODJvNkY3T2w1L2lwSFB4TUNHWDNQNzdw?=
 =?utf-8?B?NUM4ck84Yy9pM05iZEl5WTFqbWEvVXZJTmlhbHp4R0VwWGcrQXF5NDZRYUY5?=
 =?utf-8?B?dzRRK3dTdStsTUQyNElwWG5iMkpCaGk4SFpZTDN3QkhERmk5bGovVS9FVmNN?=
 =?utf-8?B?UldSZyt1Tko2SUN1KzBHZ3llbjlDaVBLaUVVWUZxbDdFZDBDTll6M3Y1amVo?=
 =?utf-8?B?dVQ1ZzM0dXNjQlpYTkRaYWpvYVNIWkJKblZPZjFBZWJualljZEZ0L0REc1Bl?=
 =?utf-8?B?a1MxSmRielMwaDIzSUF5b01vVGxTNWNwZHZDY3h3NktHcFhGTnRUaExFOEMz?=
 =?utf-8?B?UVJRRGlsbWRCWUhmZG9ObGs0SU85bjZGbE1BZU9NekV5Mmg2YWtPV2krd0FT?=
 =?utf-8?B?VDUvUVVzSHJ5SDRlR0h1Q0tQakk3c0pPNEZ6cGhqS3E4Vkp2MGQ3bnY2bUpQ?=
 =?utf-8?B?OEplMkRENWVVY1BIYklBbVU0SDJRTkM0a1dHbWl0ZGd3SjNaK0hqZkRsR3hh?=
 =?utf-8?B?UUZiS0JwRVdCcVA2K1hKeUsxVG1VOTNvU2FDTGdIVjR5YWNWdTIyY0VVdlEv?=
 =?utf-8?B?Z1BTb0c4eWJGQnEwU1BYWFRtMkRzRWVITVJQdkhpWHAwTzA2T3JPbzlKTnJ2?=
 =?utf-8?B?Mi8wVkNUVkx6MjY5MmFpUXE4d2R2UUE1dDdhYk1CWlJ5dkJiMS84OWR5dytQ?=
 =?utf-8?B?VkJtVVl3QUJmOTQrcFhxVmFrVi9Mak5OUXk3emwxWUF2WU5zY3R1NmZzVW9O?=
 =?utf-8?B?VCtzZHhPa0xPajUvVURXcXdOTmp5dU9QZTkyUEtkcGV6RlExNGlTQTRtYktp?=
 =?utf-8?B?WklxeEJIdHFoY3p6elIrRldYUC8wTENuM2RSZkNtazF6QVB0VWg2QWtWYWxU?=
 =?utf-8?B?MWIzYUZyS0pnMzRQczFDY3M3YWtkd1BWTC84QnBZQzQ2UFB3b3RDNElnTnJL?=
 =?utf-8?Q?on7OaUrO2M5oZHhKsr50AInRV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c0bdb0da-1217-4baf-05b3-08db972ef10c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 10:13:27.2390
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FxxihD3MgxaDbOgIYcUQoiMkdPErX/d1WRNyE2lVuaAY627L6napp5nD/Iijx94zgp0V55gAQlHeq6bIrZErtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7304

On 07.08.2023 11:38, Simon Gaiser wrote:
> It seems some firmwares put dummy entries in the ACPI MADT table for non
> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
> 0xff. Linux already has code to handle those cases both in
> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
> same check to Xen.

I'm afraid it doesn't become clear to me what problem you're trying to
solve.

> --- a/xen/arch/x86/acpi/boot.c
> +++ b/xen/arch/x86/acpi/boot.c
> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
>  	if (BAD_MADT_ENTRY(processor, end))
>  		return -EINVAL;
>  
> +	/* Ignore entries with invalid apicid */
> +	if (processor->local_apic_id == 0xffffffff)
> +		return 0;
> +
>  	/* Don't register processors that cannot be onlined. */
>  	if (madt_revision >= 5 &&
>  	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
>  	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
>  		return 0;
>  
> -	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
> -	    processor->local_apic_id != 0xffffffff || opt_cpu_info) {
> +	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info) {
>  		acpi_table_print_madt_entry(header);
>  		log = true;
>  	}

In particular you're now suppressing log messages which may be relevant.

The one issue that I'm aware of (and that I use a local hack to deal
with; see bottom) is excess verbosity.

Jan

--- unstable.orig/xen/arch/x86/mpparse.c
+++ unstable/xen/arch/x86/mpparse.c
@@ -809,8 +809,13 @@ int mp_register_lapic(u32 id, bool enabl
 	};
 	
 	if (MAX_APICS <= id) {
-		printk(KERN_WARNING "Processor #%d invalid (max %d)\n",
-			id, MAX_APICS);
+		static u32 max_warn = -1;
+
+		if (id <= max_warn) {
+			printk(KERN_WARNING "Processor #%d invalid (max %d)\n",
+			       id, MAX_APICS);
+			max_warn = id - 1;
+		}
 		return -EINVAL;
 	}
 



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:14:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.577992.905161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxGL-0002gH-6l; Mon, 07 Aug 2023 10:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 577992.905161; Mon, 07 Aug 2023 10:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxGL-0002gA-3i; Mon, 07 Aug 2023 10:14:57 +0000
Received: by outflank-mailman (input) for mailman id 577992;
 Mon, 07 Aug 2023 10:14: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 1qSxGJ-0002fy-W9; Mon, 07 Aug 2023 10:14: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 1qSxGJ-00031r-Jx; Mon, 07 Aug 2023 10:14: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 1qSxGJ-0005jj-5M; Mon, 07 Aug 2023 10:14:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qSxGJ-0006KE-4p; Mon, 07 Aug 2023 10:14: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=6Cf7Me0QQDe5SxbTy5CWwUscKUkAX1F5czHnNWmhnew=; b=E0HXTNiflOOqMjw9Yh2cl/HDiw
	7G72WjhX+IBE0EiD/+/zVQ39MhajdsyLpyqWnlUNV5Z0sdAJLmcf6Zsj2QxbHU6lKZaE2zj2uOnyA
	hpr7sgHXC04hTOPIFb34b34Kb0CG7JK/qBkhyGULwOT8DkC9HjN/ScZag96zKCq66zP4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182208-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182208: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=9400601a689a128c25fa9c21e932562e0eeb7a26
X-Osstest-Versions-That:
    qemuu=6db03ccc7f4ca33c99debaac290066f4500a2dfb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 10:14:55 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install   fail pass in 182211-retest

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

version targeted for testing:
 qemuu                9400601a689a128c25fa9c21e932562e0eeb7a26
baseline version:
 qemuu                6db03ccc7f4ca33c99debaac290066f4500a2dfb

Last test of basis   182202  2023-08-06 01:59:56 Z    1 days
Testing same since   182208  2023-08-07 01:39:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Daniel Henrique Barboza <dbarboza@ventanamicro.com>
  Dmitriy Solovev <d.solovev@yadro.com>
  Helge Deller <deller@gmx.de>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Nathan Egge <negge@xiph.org>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   6db03ccc7f..9400601a68  9400601a689a128c25fa9c21e932562e0eeb7a26 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:17:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:17:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578001.905171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxJ5-0003PH-QB; Mon, 07 Aug 2023 10:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578001.905171; Mon, 07 Aug 2023 10:17:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxJ5-0003PA-NR; Mon, 07 Aug 2023 10:17:47 +0000
Received: by outflank-mailman (input) for mailman id 578001;
 Mon, 07 Aug 2023 10:17: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSxJ4-0003P4-6U
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:17:46 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a539c8c7-350b-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 12:17:43 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 47E543200923;
 Mon,  7 Aug 2023 06:17:41 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 07 Aug 2023 06:17:41 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 06:17:39 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a539c8c7-350b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691403460; x=1691489860; bh=lF5FFi9qv4L715tY6xYh8C7OAp6/fQDjMng
	GRYfiSD4=; b=FYEvczzNpFQZJNX8oM4xUWjy65FIFUROgtlyUKPxVgaRuTF5LjV
	M1FZRRMf+BICfM2Zf04fi7/2mJHcm/VWnMQihetg6qJrqg9lzvw09GqRiww72Urz
	OlDw6NWgWvFvjePbqpqZ0pa13sK0Z954WMnPA3t0TrFA0e1I1UoiFvg6d2NeeXJd
	bUwVCtuYixYrM5bqE2j7fv16HaohNUvkf4kJ9X4YlhgTu7vpKYWNuRwFPY4f1kF8
	Wazj3fBwbomezBRXdjS9zaYHLuumb8C3skfiEvsh5iKI3SLii6DJVevYYpHklRyw
	7hPR7n4dsV3LesHZcU+ZoAvRYJQz9BTXwXA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691403460; x=1691489860; bh=lF5FFi9qv4L71
	5tY6xYh8C7OAp6/fQDjMngGRYfiSD4=; b=bfiTZUvNzSIfZXrUX+/JDbfZZ5n9U
	Riq7DlSOT4wjjhlgdRhTHZmKkYAaAB3ovPwCnoIx9/nnxCtc4nkvLlTkSe8sB+RP
	7/hBWFS0/ipOAbLNBpuTbLYW42CIA1A8p5omyexdA2AzOFOBKz9mZk5ofozyTxew
	cH4yNYTtZQkxBX7vcc0vLSgYs8WXmdQ1ArRVkthgLxE/mPZefdO5BcTJbVbuWfKu
	Kc7z1r5oPsU1oxxGIPE9rskJp35HuN/pAaKX/lTQhD9pellSQZk6DBgwLMAmP2Ex
	70Fvj7f2LQYrOkJfkMLtbgz9dCYLif0PZM+Jho404PNtr7rdR94Z+N+yw==
X-ME-Sender: <xms:xMTQZJKNt6vnbFzi9Fbr-ssS-Aw1OEXrfUAVld9pLktDKvHMG9AeOw>
    <xme:xMTQZFKP5mz7soP1xTi5lv_hAjDcotGUax73qiouwlk9aRAeyrpnyZ4KjDCj0dzsM
    D0MpXq97qClvgc>
X-ME-Received: <xmr:xMTQZBsK57VRE2bgdxO8hc3vcxJiKNoOEf8x0zn9HdmS2-31KPOracbjSoSjK6XYYF4fwIKrD_JsoczEgV-O-XH5-2XEjEu2HGsZUslYXA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgddvgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeeftdefudeltdevhfehkeefhfeutdfhffdugeetffdv
    gfehfeekhfetgedvuefggfenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhimhhonhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:xMTQZKb7OgYQB0an_y0F_8bDGBszDgcnAVE4t7rInAVjJfLdHaHPCw>
    <xmx:xMTQZAYOgNKeuCT4XEPF0BqUHayfbVmei5TGT4rCNvt9Wvs-iAXfRA>
    <xmx:xMTQZOD4jU8sy5YQ9dgWPXYVNLh4iPh7BTYLrFes0gLqnirxabl_sw>
    <xmx:xMTQZIGa6GywLARuCbdxkVR0FmY7dHMmbfwkkItiALNas_jD9u48uw>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <06e706fe-4338-876e-8888-a43542c43661@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 12:17:27 +0200
MIME-Version: 1.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
 <f6bf4dc4-5ec8-866c-3b54-c3584c407cc2@citrix.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <f6bf4dc4-5ec8-866c-3b54-c3584c407cc2@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ef8mOtNBNQLW0oZoN7Aq8nUc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ef8mOtNBNQLW0oZoN7Aq8nUc
Content-Type: multipart/mixed; boundary="------------168yFGGLT072wOQwBV1gDYF9";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <06e706fe-4338-876e-8888-a43542c43661@invisiblethingslab.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
 <f6bf4dc4-5ec8-866c-3b54-c3584c407cc2@citrix.com>
In-Reply-To: <f6bf4dc4-5ec8-866c-3b54-c3584c407cc2@citrix.com>

--------------168yFGGLT072wOQwBV1gDYF9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Andrew Cooper:
> On 07/08/2023 11:01 am, Andrew Cooper wrote:
>> On 07/08/2023 10:38 am, Simon Gaiser wrote:
>>> It seems some firmwares put dummy entries in the ACPI MADT table for =
non
>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>> 0xff. Linux already has code to handle those cases both in
>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>> same check to Xen.
>>>
>>> Note that on some older (2nd gen Core i) laptop of mine I also saw du=
mmy
>>> entries with a valid APIC ID. Linux would still ignore those because
>>> they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen=

>>> this check is only active for madt_revision >=3D 5. But since this ve=
rsion
>>> check seems to be intentionally I leave that alone.
>> I recall there being a discussion over this, ultimately with the versi=
on
>> check being removed.  IIRC it was a defacto standard used for a long
>> time prior to actually getting written into the ACPI spec, so does exi=
st
>> in practice in older MADTs.
>>
>> Otherwise LGTM.  I'd suggest dropping this paragraph as it's not relat=
ed
>> to the change.  It will also help if we do decide to follow up and dro=
p
>> the MADT version check.

It's in so far related as that I know this doesn't cover all cases I
actually wanted to address and I want to mention this. But I can see why
you might not want to have this in this commit message. Feel free to
drop.

>>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.=
git/commit/?id=3Df3bf1dbe64b62a2058dd1944c00990df203e8e7a # [1]
>>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.=
git/commit/?id=3D10daf10ab154e31237a8c07242be3063fb6a9bf4 # [2]
>> https://git.kernel.org/torvalds/c/$SHA
>>
>> Somewhat less verbose. https://korg.docs.kernel.org/git-url-shorteners=
=2Ehtml

Ah, handy.

>>> Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
>>> ---
>>>  xen/arch/x86/acpi/boot.c | 14 ++++++++++----
>>>  1 file changed, 10 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
>>> index 54b72d716b..4a62822fa9 100644
>>> --- a/xen/arch/x86/acpi/boot.c
>>> +++ b/xen/arch/x86/acpi/boot.c
>>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *he=
ader, const unsigned long end)
>>>  	if (BAD_MADT_ENTRY(processor, end))
>>>  		return -EINVAL;
>>> =20
>>> +	/* Ignore entries with invalid apicid */
>> x2apic ID.
>=20
> Oh, and I forgot to say.  I'm happy to fix all of this up on commit if
> you're happy.

Sure, go ahead. Thanks!

--------------168yFGGLT072wOQwBV1gDYF9--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQxLkACgkQkO9xfO/x
ly8+GhAAxj+qBeew0LYZ+KhFN/1TP7V9Vp8HQxEy/HTbM1V8mSmL0g4zTUzXySAN
HsN4i+AL9lXsMacxsVhvkD8rNQGRDlRBYSh+iRSb0X8bHFyjAq8+ozv/b7sy8Fj1
zrMyFQe1pvvKCHg8Zh9dGngKIYJhjISExkqwF0JlBEZ66jriOgna7tiy4Xag/awX
mU0eqWEF+9zaDqKS+V/a/nE02+zcW8P8w0YskHlOZEfyulCf7tpAH0SNUMrOdBOM
Or6kJ1MO6aFx3eOk5NRizRjHxHk9wWGksbT0mKNH7HpdyYE/Uk0eXR40z+4nb4Ky
p3timasA0vI43ZSryVQjiRxI+VRvVVV6Gqi7rDWKgZjv3a4kdsf6ZGEEiM/bNIvx
OB0R6lNPYk1tzz51wLTypVuz4yDYC2CzFZ2DwlDfbhlDM4SBL8aXxYQCuq86T9HY
lAbPlfKfh2XLLK0AsTwG2LTf9UkUS72j1hQGQkiQvx7czT3Q7kLQsHPqB1H1zyWO
rSEfI9gl6/5eAPSrrn+DqQoognAb/m/PJB3GgigG5zQlNhNCk0pCo2vyWoEHtuCe
xkBBMgzV7JacwYk/W3aKrdX4hzdlLRb0guikoNzi935k3ZNYnuyt2BpYQw9U9RBe
TLX2uak7Eg3LIghZcWMYxLf+LhuL9xpyaB+eV/VRzAFj3d3YKHc=
=gNX7
-----END PGP SIGNATURE-----

--------------ef8mOtNBNQLW0oZoN7Aq8nUc--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 10:40:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 10:40:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578007.905180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxf7-0006q0-Ke; Mon, 07 Aug 2023 10:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578007.905180; Mon, 07 Aug 2023 10:40:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSxf7-0006pt-Hq; Mon, 07 Aug 2023 10:40:33 +0000
Received: by outflank-mailman (input) for mailman id 578007;
 Mon, 07 Aug 2023 10:40:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSxf6-0006pn-Ug
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 10:40:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4cfb23c-350e-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 12:40:31 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id CCA1C4EE0737;
 Mon,  7 Aug 2023 12:40:30 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4cfb23c-350e-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 12:40:30 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Michal Orzel <michal.orzel@amd.com>,
 xenia.ragiadakou@amd.com, Ayan Kumar Halder <ayankuma@amd.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: Address MISRA C:2012 Rule 8.4
In-Reply-To: <ce365fcb-2a9c-dd41-6abb-e7ecee53d7ff@suse.com>
References: <786d24b044bfa503a73a36d2a01eae8c@bugseng.com>
 <alpine.DEB.2.22.394.2308031733380.2127516@ubuntu-linux-20-04-desktop>
 <00fb1a58849ec08534465df2f8ca2284@bugseng.com>
 <a44369bc5e64277cab6dedb636986dd3@bugseng.com>
 <ce365fcb-2a9c-dd41-6abb-e7ecee53d7ff@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <2c9becb505cc0ebc528ad02ab8ebbe6e@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

>> One further question is whether functions under
>> 'xen/common/coverage/gcov_base.c' should gain
>> a declaration in 'gcov.h' or not, as they exist just for the purpose 
>> of
>> being referenced
>> by autogenerated profiling code. I see no reason why they shouldn't, 
>> but
>> they can also be safely deviated,
>> since they are not called by Xen code.
> 
> Imo it should be the compiler to provide a prototype for these (much
> like it does for builtins), thus ensuring that an implementation
> actually matches the compiler's expectations. Yet afaics it doesn't.
> 
> Jan

Then it's perhaps best to deviate them.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:10:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578013.905190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy7f-0001bU-RE; Mon, 07 Aug 2023 11:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578013.905190; Mon, 07 Aug 2023 11: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 1qSy7f-0001bA-OX; Mon, 07 Aug 2023 11:10:03 +0000
Received: by outflank-mailman (input) for mailman id 578013;
 Mon, 07 Aug 2023 11:10: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy7d-00018O-M7
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:10:02 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f194993e-3512-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:09:58 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-268f6ba57b5so623663a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:09:58 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.09.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:09: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: f194993e-3512-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406597; x=1692011397;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=IUFroX+K29vocKlwNJzs/neGWgohuFaGhfTkMV8vShc=;
        b=VgaeXhz1xsi1DvY0mdHG5w6GDNOVQV4G915G2okvAB9QZ0UmJ9gvIJ6asoYIB210RG
         Ey93kt9KOPOZ3l4nhlHXgtdSy6FjYflv77vSCILUklupME+r3C8zNVLYXpLlDcRqUM0e
         lfUAl5POG7wx94wNJAfUoDsPXulpyHktrCbv8gD1x/O2p9qeRsFSiX6gwTwjM13k8Ul9
         /rnH/O+MrYpDiSizTF8aNQeTO7XJ0dle1SDOCfUCACCM/+nHgHo/Meo1/jTJjDUt3SZw
         15CpfTIt4xPVx9oBnNw2YwnlJP6BsajGK0nqKNQy5sLb5tHNDmV00nrqq2mUlfhGa7do
         /28Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406597; x=1692011397;
        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=IUFroX+K29vocKlwNJzs/neGWgohuFaGhfTkMV8vShc=;
        b=ORW4sfIV2NlG5HDdLUaH/R1/qLEQeOKRiC00C9QnXYBCrlGpziqKKZ4x4whRYJ0n8a
         98PZ57Gm3SZphXleP6AXcvv0cmCIuWC8OQztIsbOIg/qkOlVYHCwDPD+fn5GjhUgHR2N
         Q8NokqFJsHpKPflG0o4duu3CTd7WoMQWusH7645lhrh4KqU6fpr5Xy7A7zSxlqdrEVk3
         sSmmRE0WQ4vN5lL6yClIwUmJ7n8k/bq4MtKwjsbUF3H7f8oCbNBMUwebShClAxgZ8aYJ
         LUsh6ya2WCHq0+BkOUU9fDiOOK42mapolH5/o0ehGAzemC7WETjDDasaQM9XC4pB6EDa
         b2VQ==
X-Gm-Message-State: AOJu0YzpbC8ZnAV8MWZLKD9jx+2cIy5EnpW0kb0DFckgxwdhdBcZEGhq
	prxSsdO5dN4CO20txvdDJ3t25A==
X-Google-Smtp-Source: AGHT+IE6Hkf3zCZO4yTHBCI4U2PxahDBEY93d/z4hx9RjtxF2e4b3lAVTQiaQWVBs1sivCsjN/GRXg==
X-Received: by 2002:a17:90a:6701:b0:269:32c7:24dc with SMTP id n1-20020a17090a670100b0026932c724dcmr6023585pjj.0.1691406596583;
        Mon, 07 Aug 2023 04:09:56 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 00/48] use refcount+RCU method to implement lockless slab shrink
Date: Mon,  7 Aug 2023 19:08:48 +0800
Message-Id: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

1. Background
=============

We used to implement the lockless slab shrink with SRCU [1], but then kernel
test robot reported -88.8% regression in stress-ng.ramfs.ops_per_sec test
case [2], so we reverted it [3].

This patch series aims to re-implement the lockless slab shrink using the
refcount+RCU method proposed by Dave Chinner [4].

[1]. https://lore.kernel.org/lkml/20230313112819.38938-1-zhengqi.arch@bytedance.com/
[2]. https://lore.kernel.org/lkml/202305230837.db2c233f-yujie.liu@intel.com/
[3]. https://lore.kernel.org/all/20230609081518.3039120-1-qi.zheng@linux.dev/
[4]. https://lore.kernel.org/lkml/ZIJhou1d55d4H1s0@dread.disaster.area/

2. Implementation
=================

Currently, the shrinker instances can be divided into the following three types:

a) global shrinker instance statically defined in the kernel, such as
   workingset_shadow_shrinker.

b) global shrinker instance statically defined in the kernel modules, such as
   mmu_shrinker in x86.

c) shrinker instance embedded in other structures.

For case a, the memory of shrinker instance is never freed. For case b, the
memory of shrinker instance will be freed after synchronize_rcu() when the
module is unloaded. For case c, the memory of shrinker instance will be freed
along with the structure it is embedded in.

In preparation for implementing lockless slab shrink, we need to dynamically
allocate those shrinker instances in case c, then the memory can be dynamically
freed alone by calling kfree_rcu().

This patchset adds the following new APIs for dynamically allocating shrinker,
and add a private_data field to struct shrinker to record and get the original
embedded structure.

1. shrinker_alloc()
2. shrinker_register()
3. shrinker_free()

In order to simplify shrinker-related APIs and make shrinker more independent of
other kernel mechanisms, this patchset uses the above APIs to convert all
shrinkers (including case a and b) to dynamically allocated, and then remove all
existing APIs. This will also have another advantage mentioned by Dave Chinner:

```
The other advantage of this is that it will break all the existing out of tree
code and third party modules using the old API and will no longer work with a
kernel using lockless slab shrinkers. They need to break (both at the source and
binary levels) to stop bad things from happening due to using uncoverted
shrinkers in the new setup.
```

Then we free the shrinker by calling call_rcu(), and use rcu_read_{lock,unlock}()
to ensure that the shrinker instance is valid. And the shrinker::refcount
mechanism ensures that the shrinker instance will not be run again after
unregistration. So the structure that records the pointer of shrinker instance
can be safely freed without waiting for the RCU read-side critical section.

In this way, while we implement the lockless slab shrink, we don't need to be
blocked in unregister_shrinker() to wait RCU read-side critical section.

PATCH 1: fix memory leak in binder_init()
PATCH 2: move some shrinker-related function declarations to mm/internal.h
PATCH 3: move shrinker-related code into a separate file
PATCH 4: remove redundant shrinker_rwsem in debugfs operations
PATCH 5: add infrastructure for dynamically allocating shrinker
PATCH 6 ~ 23: dynamically allocate the shrinker instances in case a and b
PATCH 24 ~ 42: dynamically allocate the shrinker instances in case c
PATCH 43: remove old APIs
PATCH 44: introduce pool_shrink_rwsem to implement private synchronize_shrinkers()
PATCH 45: add a secondary array for shrinker_info::{map, nr_deferred}
PATCH 46 ~ 47: implement the lockless slab shrink
PATCH 48 ~ 49: convert shrinker_rwsem to mutex

3. Testing
==========

3.1 slab shrink stress test
---------------------------

We can reproduce the down_read_trylock() hotspot through the following script:

```

DIR="/root/shrinker/memcg/mnt"

do_create()
{
    mkdir -p /sys/fs/cgroup/memory/test
    echo 4G > /sys/fs/cgroup/memory/test/memory.limit_in_bytes
    for i in `seq 0 $1`;
    do
        mkdir -p /sys/fs/cgroup/memory/test/$i;
        echo $$ > /sys/fs/cgroup/memory/test/$i/cgroup.procs;
        mkdir -p $DIR/$i;
    done
}

do_mount()
{
    for i in `seq $1 $2`;
    do
        mount -t tmpfs $i $DIR/$i;
    done
}

do_touch()
{
    for i in `seq $1 $2`;
    do
        echo $$ > /sys/fs/cgroup/memory/test/$i/cgroup.procs;
        dd if=/dev/zero of=$DIR/$i/file$i bs=1M count=1 &
    done
}

case "$1" in
  touch)
    do_touch $2 $3
    ;;
  test)
    do_create 4000
    do_mount 0 4000
    do_touch 0 3000
    ;;
  *)
    exit 1
    ;;
esac
```

Save the above script, then run test and touch commands. Then we can use the
following perf command to view hotspots:

perf top -U -F 999

1) Before applying this patchset:

  40.44%  [kernel]            [k] down_read_trylock
  17.59%  [kernel]            [k] up_read
  13.64%  [kernel]            [k] pv_native_safe_halt
  11.90%  [kernel]            [k] shrink_slab
   8.21%  [kernel]            [k] idr_find
   2.71%  [kernel]            [k] _find_next_bit
   1.36%  [kernel]            [k] shrink_node
   0.81%  [kernel]            [k] shrink_lruvec
   0.80%  [kernel]            [k] __radix_tree_lookup
   0.50%  [kernel]            [k] do_shrink_slab
   0.21%  [kernel]            [k] list_lru_count_one
   0.16%  [kernel]            [k] mem_cgroup_iter

2) After applying this patchset:

  60.17%  [kernel]           [k] shrink_slab
  20.42%  [kernel]           [k] pv_native_safe_halt
   3.03%  [kernel]           [k] do_shrink_slab
   2.73%  [kernel]           [k] shrink_node
   2.27%  [kernel]           [k] shrink_lruvec
   2.00%  [kernel]           [k] __rcu_read_unlock
   1.92%  [kernel]           [k] mem_cgroup_iter
   0.98%  [kernel]           [k] __rcu_read_lock
   0.91%  [kernel]           [k] osq_lock
   0.63%  [kernel]           [k] mem_cgroup_calculate_protection
   0.55%  [kernel]           [k] shrinker_put
   0.46%  [kernel]           [k] list_lru_count_one

We can see that the first perf hotspot becomes shrink_slab, which is what we
expect.

3.2 registeration and unregisteration stress test
-------------------------------------------------

Run the command below to test:

stress-ng --timeout 60 --times --verify --metrics-brief --ramfs 9 &

1) Before applying this patchset:

setting to a 60 second run per stressor
dispatching hogs: 9 ramfs
stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
ramfs            735238     60.00     12.37    363.70     12253.05        1955.08
for a 60.01s run time:
   1440.27s available CPU time
     12.36s user time   (  0.86%)
    363.70s system time ( 25.25%)
    376.06s total time  ( 26.11%)
load average: 10.79 4.47 1.69
passed: 9: ramfs (9)
failed: 0
skipped: 0
successful run completed in 60.01s (1 min, 0.01 secs)

2) After applying this patchset:

setting to a 60 second run per stressor
dispatching hogs: 9 ramfs
stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
ramfs            746698     60.00     12.45    376.16     12444.02        1921.47
for a 60.01s run time:
   1440.28s available CPU time
     12.44s user time   (  0.86%)
    376.16s system time ( 26.12%)
    388.60s total time  ( 26.98%)
load average: 9.01 3.85 1.49
passed: 9: ramfs (9)
failed: 0
skipped: 0
successful run completed in 60.01s (1 min, 0.01 secs)

We can see that the ops/s has hardly changed.

This series is based on next-20230807.

Comments and suggestions are welcome.

Thanks,
Qi

Changelog in v3 -> v4:
 - [PATCH v3 01/49] has been merged, so discard it.
 - fix wrong return value in patch v3 15\16\22\27\28\29\34\40.
   (pointed by Damien Le Moal)
 - fix uninitialized variable in [PATCH v3 04/49]
   (pointed by Simon Horman)
 - fix typo in [PATCH v3 05/49] (pointed by Simon Horman)
 - rebase onto the next-20230807.

Changelog in v2 -> v3:
 - add the patch that [PATCH v3 07/49] depends on
 - move some shrinker-related function declarations to mm/internal.h
   (suggested by Muchun Song)
 - combine shrinker_free_non_registered() and shrinker_unregister() into
   shrinker_free() (suggested by Dave Chinner)
 - add missing __init and fix return value in bch_btree_cache_alloc()
   (pointed by Muchun Song)
 - remove unnecessary WARN_ON() (pointed by Steven Price)
 - go back to use completion to implement lockless slab shrink
   (pointed by Dave Chinner)
 - collect Acked-bys and Reviewed-bys
 - rebase onto the next-20230726.

Changelog in v1 -> v2:
 - implement the new APIs and convert all shrinkers to use it.
   (suggested by Dave Chinner)
 - fix UAF in PATCH [05/29] (pointed by Steven Price)
 - add a secondary array for shrinker_info::{map, nr_deferred}
 - re-implement the lockless slab shrink
   (Since unifying the processing of global and memcg slab shrink needs to
    modify the startup sequence (As I mentioned in https://lore.kernel.org/lkml/38b14080-4ce5-d300-8a0a-c630bca6806b@bytedance.com/),
    I finally choose to process them separately.)
 - collect Acked-bys

Qi Zheng (48):
  mm: move some shrinker-related function declarations to mm/internal.h
  mm: vmscan: move shrinker-related code into a separate file
  mm: shrinker: remove redundant shrinker_rwsem in debugfs operations
  mm: shrinker: add infrastructure for dynamically allocating shrinker
  kvm: mmu: dynamically allocate the x86-mmu shrinker
  binder: dynamically allocate the android-binder shrinker
  drm/ttm: dynamically allocate the drm-ttm_pool shrinker
  xenbus/backend: dynamically allocate the xen-backend shrinker
  erofs: dynamically allocate the erofs-shrinker
  f2fs: dynamically allocate the f2fs-shrinker
  gfs2: dynamically allocate the gfs2-glock shrinker
  gfs2: dynamically allocate the gfs2-qd shrinker
  NFSv4.2: dynamically allocate the nfs-xattr shrinkers
  nfs: dynamically allocate the nfs-acl shrinker
  nfsd: dynamically allocate the nfsd-filecache shrinker
  quota: dynamically allocate the dquota-cache shrinker
  ubifs: dynamically allocate the ubifs-slab shrinker
  rcu: dynamically allocate the rcu-lazy shrinker
  rcu: dynamically allocate the rcu-kfree shrinker
  mm: thp: dynamically allocate the thp-related shrinkers
  sunrpc: dynamically allocate the sunrpc_cred shrinker
  mm: workingset: dynamically allocate the mm-shadow shrinker
  drm/i915: dynamically allocate the i915_gem_mm shrinker
  drm/msm: dynamically allocate the drm-msm_gem shrinker
  drm/panfrost: dynamically allocate the drm-panfrost shrinker
  dm: dynamically allocate the dm-bufio shrinker
  dm zoned: dynamically allocate the dm-zoned-meta shrinker
  md/raid5: dynamically allocate the md-raid5 shrinker
  bcache: dynamically allocate the md-bcache shrinker
  vmw_balloon: dynamically allocate the vmw-balloon shrinker
  virtio_balloon: dynamically allocate the virtio-balloon shrinker
  mbcache: dynamically allocate the mbcache shrinker
  ext4: dynamically allocate the ext4-es shrinker
  jbd2,ext4: dynamically allocate the jbd2-journal shrinker
  nfsd: dynamically allocate the nfsd-client shrinker
  nfsd: dynamically allocate the nfsd-reply shrinker
  xfs: dynamically allocate the xfs-buf shrinker
  xfs: dynamically allocate the xfs-inodegc shrinker
  xfs: dynamically allocate the xfs-qm shrinker
  zsmalloc: dynamically allocate the mm-zspool shrinker
  fs: super: dynamically allocate the s_shrink
  mm: shrinker: remove old APIs
  drm/ttm: introduce pool_shrink_rwsem
  mm: shrinker: add a secondary array for shrinker_info::{map,
    nr_deferred}
  mm: shrinker: make global slab shrink lockless
  mm: shrinker: make memcg slab shrink lockless
  mm: shrinker: hold write lock to reparent shrinker nr_deferred
  mm: shrinker: convert shrinker_rwsem to mutex

 arch/x86/kvm/mmu/mmu.c                        |  18 +-
 drivers/android/binder_alloc.c                |  31 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c  |  30 +-
 drivers/gpu/drm/i915/i915_drv.h               |   2 +-
 drivers/gpu/drm/msm/msm_drv.c                 |   4 +-
 drivers/gpu/drm/msm/msm_drv.h                 |   4 +-
 drivers/gpu/drm/msm/msm_gem_shrinker.c        |  34 +-
 drivers/gpu/drm/panfrost/panfrost_device.h    |   2 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c       |   6 +-
 drivers/gpu/drm/panfrost/panfrost_gem.h       |   2 +-
 .../gpu/drm/panfrost/panfrost_gem_shrinker.c  |  30 +-
 drivers/gpu/drm/ttm/ttm_pool.c                |  38 +-
 drivers/md/bcache/bcache.h                    |   2 +-
 drivers/md/bcache/btree.c                     |  27 +-
 drivers/md/bcache/sysfs.c                     |   3 +-
 drivers/md/dm-bufio.c                         |  28 +-
 drivers/md/dm-cache-metadata.c                |   2 +-
 drivers/md/dm-zoned-metadata.c                |  29 +-
 drivers/md/raid5.c                            |  26 +-
 drivers/md/raid5.h                            |   2 +-
 drivers/misc/vmw_balloon.c                    |  38 +-
 drivers/virtio/virtio_balloon.c               |  25 +-
 drivers/xen/xenbus/xenbus_probe_backend.c     |  18 +-
 fs/btrfs/super.c                              |   2 +-
 fs/erofs/utils.c                              |  20 +-
 fs/ext4/ext4.h                                |   2 +-
 fs/ext4/extents_status.c                      |  24 +-
 fs/f2fs/super.c                               |  32 +-
 fs/gfs2/glock.c                               |  20 +-
 fs/gfs2/main.c                                |   6 +-
 fs/gfs2/quota.c                               |  26 +-
 fs/gfs2/quota.h                               |   3 +-
 fs/jbd2/journal.c                             |  27 +-
 fs/kernfs/mount.c                             |   2 +-
 fs/mbcache.c                                  |  23 +-
 fs/nfs/nfs42xattr.c                           |  87 +-
 fs/nfs/super.c                                |  22 +-
 fs/nfsd/filecache.c                           |  23 +-
 fs/nfsd/netns.h                               |   4 +-
 fs/nfsd/nfs4state.c                           |  20 +-
 fs/nfsd/nfscache.c                            |  31 +-
 fs/proc/root.c                                |   2 +-
 fs/quota/dquot.c                              |  18 +-
 fs/super.c                                    |  36 +-
 fs/ubifs/super.c                              |  22 +-
 fs/xfs/xfs_buf.c                              |  25 +-
 fs/xfs/xfs_buf.h                              |   2 +-
 fs/xfs/xfs_icache.c                           |  26 +-
 fs/xfs/xfs_mount.c                            |   4 +-
 fs/xfs/xfs_mount.h                            |   2 +-
 fs/xfs/xfs_qm.c                               |  28 +-
 fs/xfs/xfs_qm.h                               |   2 +-
 include/linux/fs.h                            |   2 +-
 include/linux/jbd2.h                          |   2 +-
 include/linux/memcontrol.h                    |  12 +-
 include/linux/shrinker.h                      |  67 +-
 kernel/rcu/tree.c                             |  22 +-
 kernel/rcu/tree_nocb.h                        |  20 +-
 mm/Makefile                                   |   4 +-
 mm/huge_memory.c                              |  69 +-
 mm/internal.h                                 |  41 +
 mm/shrinker.c                                 | 770 ++++++++++++++++++
 mm/shrinker_debug.c                           |  47 +-
 mm/vmscan.c                                   | 701 ----------------
 mm/workingset.c                               |  27 +-
 mm/zsmalloc.c                                 |  28 +-
 net/sunrpc/auth.c                             |  21 +-
 67 files changed, 1540 insertions(+), 1235 deletions(-)
 create mode 100644 mm/shrinker.c

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:10:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578014.905201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy7p-0002FK-8r; Mon, 07 Aug 2023 11:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578014.905201; Mon, 07 Aug 2023 11:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy7p-0002FD-5y; Mon, 07 Aug 2023 11:10:13 +0000
Received: by outflank-mailman (input) for mailman id 578014;
 Mon, 07 Aug 2023 11:10: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy7o-0002Ee-38
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:10:12 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8c77de7-3512-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:10:10 +0200 (CEST)
Received: by mail-pj1-x1029.google.com with SMTP id
 98e67ed59e1d1-2690803a368so590054a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:10:10 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.09.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: f8c77de7-3512-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406609; x=1692011409;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r8W8qq2Uz0spC2GoySlMERPhgmOL8aWRmiOXTDM010g=;
        b=LtcpivNSr/5U6x0m/uiyeqUuM2dtsqsVmyslCvnMZ+TbsDLmyfYCok7TOqfFwU4aou
         suPwxQHD97VI0Q62GW+ZYHDc8tjkHAC6Y2CfDY4CzUPMlkJryxFMZeRg2u77WPUScUma
         /UWc/sCeR8W9qQ3wk0oPqkWmTEZmPd4YXzSaovoOZwWfn9s/VibhxnVRbQAxTTT4rsLS
         7EPkGC2ZgyKx21jg/v6bd406CHIloRAPbtMcp+52o9Mv0AXgKZgqXOlA0BowU0u6XLn9
         g3j+asxGnqU4OhqCycxU0aToYArdbvRqg5AMoRMXcXqSNLhcPxtT3QmhYn/OoV2pniV3
         od0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406609; x=1692011409;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r8W8qq2Uz0spC2GoySlMERPhgmOL8aWRmiOXTDM010g=;
        b=S2I3w1povedOlfN2pGB6y9u5Ab1z94K9OZP+L6uwDQ2Qumy3fZ0HDX/5dXVi9grpiY
         b1+LvmcPP56f9VZMAASYRSTerookynH0iFykTAbFSld436ETpvnssZ7UN+qLo3/Wa4et
         sP3UltFjPTjuhgYZWGnktZbJQJ8xflGehDovKTfaFyES8Cs2od5McIJVIyDvnrPKFSlN
         jXjTU5wO3L1HKARtfS2u7mw3mQa5ip8SwiJg51ubof2R8bM7P+CM6+DS8gna8CDR4yTY
         GJrx8V6fPwamFmMGBFDn+iyrM83MHcrktMRAFeljUBiGmOlLu6wMqZDwKzFU50UHlkOx
         VPtg==
X-Gm-Message-State: ABy/qLbHt5pNehbVoAvvSYBDnTuw8PoxBuVUjRMWvYsE8Vbf86v4xqwd
	xvjbGzszmOmMK6RHOoC62lIF0Q==
X-Google-Smtp-Source: APBJJlH4Xq2ZH2mKI5CfuqTuY77FQCtuH4PGEB2vg3tzfU2CpFxEqGweFj8X5L0soAOYNhp1I46kQg==
X-Received: by 2002:a17:90a:4104:b0:25c:1ad3:a4a1 with SMTP id u4-20020a17090a410400b0025c1ad3a4a1mr24586808pjf.1.1691406608964;
        Mon, 07 Aug 2023 04:10:08 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 01/48] mm: move some shrinker-related function declarations to mm/internal.h
Date: Mon,  7 Aug 2023 19:08:49 +0800
Message-Id: <20230807110936.21819-2-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following functions are only used inside the mm subsystem, so it's
better to move their declarations to the mm/internal.h file.

1. shrinker_debugfs_add()
2. shrinker_debugfs_detach()
3. shrinker_debugfs_remove()

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 include/linux/shrinker.h | 19 -------------------
 mm/internal.h            | 28 ++++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index 224293b2dd06..8dc15aa37410 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -106,28 +106,9 @@ extern void free_prealloced_shrinker(struct shrinker *shrinker);
 extern void synchronize_shrinkers(void);
 
 #ifdef CONFIG_SHRINKER_DEBUG
-extern int shrinker_debugfs_add(struct shrinker *shrinker);
-extern struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
-					      int *debugfs_id);
-extern void shrinker_debugfs_remove(struct dentry *debugfs_entry,
-				    int debugfs_id);
 extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
 						  const char *fmt, ...);
 #else /* CONFIG_SHRINKER_DEBUG */
-static inline int shrinker_debugfs_add(struct shrinker *shrinker)
-{
-	return 0;
-}
-static inline struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
-						     int *debugfs_id)
-{
-	*debugfs_id = -1;
-	return NULL;
-}
-static inline void shrinker_debugfs_remove(struct dentry *debugfs_entry,
-					   int debugfs_id)
-{
-}
 static inline __printf(2, 3)
 int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
 {
diff --git a/mm/internal.h b/mm/internal.h
index 154da4f0d557..6f21926393af 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1143,4 +1143,32 @@ struct vma_prepare {
 	struct vm_area_struct *remove;
 	struct vm_area_struct *remove2;
 };
+
+/*
+ * shrinker related functions
+ */
+
+#ifdef CONFIG_SHRINKER_DEBUG
+extern int shrinker_debugfs_add(struct shrinker *shrinker);
+extern struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
+					      int *debugfs_id);
+extern void shrinker_debugfs_remove(struct dentry *debugfs_entry,
+				    int debugfs_id);
+#else /* CONFIG_SHRINKER_DEBUG */
+static inline int shrinker_debugfs_add(struct shrinker *shrinker)
+{
+	return 0;
+}
+static inline struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
+						     int *debugfs_id)
+{
+	*debugfs_id = -1;
+	return NULL;
+}
+static inline void shrinker_debugfs_remove(struct dentry *debugfs_entry,
+					   int debugfs_id)
+{
+}
+#endif /* CONFIG_SHRINKER_DEBUG */
+
 #endif	/* __MM_INTERNAL_H */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:10:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578016.905211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy82-0002ei-IO; Mon, 07 Aug 2023 11:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578016.905211; Mon, 07 Aug 2023 11:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy82-0002eb-E6; Mon, 07 Aug 2023 11:10:26 +0000
Received: by outflank-mailman (input) for mailman id 578016;
 Mon, 07 Aug 2023 11:10: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy81-0002Ee-Ni
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:10:25 +0000
Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com
 [2607:f8b0:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00d35d50-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:10:23 +0200 (CEST)
Received: by mail-pf1-x429.google.com with SMTP id
 d2e1a72fcca58-6872c60b572so994474b3a.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:10:23 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.10.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:10: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: 00d35d50-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406622; x=1692011422;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GEi4MYuk0OEYflth0Mb1DlFyZuiRlqXPhzGhOI28yow=;
        b=BEvTj+xwW+T88pT01ic9HCjfMsNsUtdxPovUDtMtpNRFgKOF7OPKZlfnwvdpMrZsO1
         yoJN3VDoQT6bqGjHEFD+GOFUbTFyPWQ9AmgWQHHMtUKtDFwB2AaCD8h8ed/2/nFlj6R/
         H6RbchdxL8KOcvrs5+S0zZOQ7z5kmO5+1Ob9A43qfRUa8zWOsgqkDlWkIZ6Nce8P3hyT
         6WUFOueyKbkU0/JQe7kyXIgtpN16Nt1532HkzF1M6pOxV7CrOQJaiVOX1MvieAVDT9mZ
         7Wp39SMBYWooErXp+bNrum847BTmBIxZLX39IVOZTRIPZyaqqeRkUBu+bq48TNvJ2qgU
         oNtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406622; x=1692011422;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GEi4MYuk0OEYflth0Mb1DlFyZuiRlqXPhzGhOI28yow=;
        b=eWHXi/1de5Cys+71Wditc9zYXARLXXqCHbcI6k88ewkwy/3AGq9dcduU9U8qmx1JQi
         komjzi/h4O3xXznXVAvD+J3k1JaqYdMPU5EVZUTwGIDi3SjZ+bMuuZXRUO7jUwjf8azM
         js4eCDgEMv9DyFfWhGI/gRK9K/iFF+9lrooZ9QHs26TL0BjK+OGzoCD0x+sodiN7bFC+
         E4tnSPsAatd/IWq/aLqNEsJwyIZ56nWahB2CRST1sBFqpz/7h6LwS4h0wbT1nlN0SZJf
         xSW9nRBYJYkdmRmLqZ5fu7OPsBo4ZChr1yMlj5sILFJYfdFYrGRYzUZq9OBbDVOnG+J0
         UGTw==
X-Gm-Message-State: ABy/qLY6eOMC5/uVrAa7wsNxD0R0PHjAwIBcIV9tDxNSUS+EoyOQbcUz
	WHDkelVS4n+aMF3hKTrSgG+YTA==
X-Google-Smtp-Source: APBJJlH6EApx+wddxarWw2nzmVwQ6n81Kim8/orhAtf/liUQAlYr06Fft6gh/8UZFDYZK5CJyxwGZw==
X-Received: by 2002:a17:903:22c6:b0:1b8:2ba0:c9a8 with SMTP id y6-20020a17090322c600b001b82ba0c9a8mr33072978plg.2.1691406622170;
        Mon, 07 Aug 2023 04:10:22 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 02/48] mm: vmscan: move shrinker-related code into a separate file
Date: Mon,  7 Aug 2023 19:08:50 +0800
Message-Id: <20230807110936.21819-3-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The mm/vmscan.c file is too large, so separate the shrinker-related
code from it into a separate file. No functional changes.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 mm/Makefile   |   4 +-
 mm/internal.h |   2 +
 mm/shrinker.c | 709 ++++++++++++++++++++++++++++++++++++++++++++++++++
 mm/vmscan.c   | 701 -------------------------------------------------
 4 files changed, 713 insertions(+), 703 deletions(-)
 create mode 100644 mm/shrinker.c

diff --git a/mm/Makefile b/mm/Makefile
index ec65984e2ade..33873c8aedb3 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -48,8 +48,8 @@ endif
 
 obj-y			:= filemap.o mempool.o oom_kill.o fadvise.o \
 			   maccess.o page-writeback.o folio-compat.o \
-			   readahead.o swap.o truncate.o vmscan.o shmem.o \
-			   util.o mmzone.o vmstat.o backing-dev.o \
+			   readahead.o swap.o truncate.o vmscan.o shrinker.o \
+			   shmem.o util.o mmzone.o vmstat.o backing-dev.o \
 			   mm_init.o percpu.o slab_common.o \
 			   compaction.o show_mem.o shmem_quota.o\
 			   interval_tree.o list_lru.o workingset.o \
diff --git a/mm/internal.h b/mm/internal.h
index 6f21926393af..b98c29f0a471 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1147,6 +1147,8 @@ struct vma_prepare {
 /*
  * shrinker related functions
  */
+unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
+			  int priority);
 
 #ifdef CONFIG_SHRINKER_DEBUG
 extern int shrinker_debugfs_add(struct shrinker *shrinker);
diff --git a/mm/shrinker.c b/mm/shrinker.c
new file mode 100644
index 000000000000..043c87ccfab4
--- /dev/null
+++ b/mm/shrinker.c
@@ -0,0 +1,709 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/memcontrol.h>
+#include <linux/rwsem.h>
+#include <linux/shrinker.h>
+#include <trace/events/vmscan.h>
+
+#include "internal.h"
+
+LIST_HEAD(shrinker_list);
+DECLARE_RWSEM(shrinker_rwsem);
+
+#ifdef CONFIG_MEMCG
+static int shrinker_nr_max;
+
+/* The shrinker_info is expanded in a batch of BITS_PER_LONG */
+static inline int shrinker_map_size(int nr_items)
+{
+	return (DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long));
+}
+
+static inline int shrinker_defer_size(int nr_items)
+{
+	return (round_up(nr_items, BITS_PER_LONG) * sizeof(atomic_long_t));
+}
+
+void free_shrinker_info(struct mem_cgroup *memcg)
+{
+	struct mem_cgroup_per_node *pn;
+	struct shrinker_info *info;
+	int nid;
+
+	for_each_node(nid) {
+		pn = memcg->nodeinfo[nid];
+		info = rcu_dereference_protected(pn->shrinker_info, true);
+		kvfree(info);
+		rcu_assign_pointer(pn->shrinker_info, NULL);
+	}
+}
+
+int alloc_shrinker_info(struct mem_cgroup *memcg)
+{
+	struct shrinker_info *info;
+	int nid, size, ret = 0;
+	int map_size, defer_size = 0;
+
+	down_write(&shrinker_rwsem);
+	map_size = shrinker_map_size(shrinker_nr_max);
+	defer_size = shrinker_defer_size(shrinker_nr_max);
+	size = map_size + defer_size;
+	for_each_node(nid) {
+		info = kvzalloc_node(sizeof(*info) + size, GFP_KERNEL, nid);
+		if (!info) {
+			free_shrinker_info(memcg);
+			ret = -ENOMEM;
+			break;
+		}
+		info->nr_deferred = (atomic_long_t *)(info + 1);
+		info->map = (void *)info->nr_deferred + defer_size;
+		info->map_nr_max = shrinker_nr_max;
+		rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);
+	}
+	up_write(&shrinker_rwsem);
+
+	return ret;
+}
+
+static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
+						     int nid)
+{
+	return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info,
+					 lockdep_is_held(&shrinker_rwsem));
+}
+
+static int expand_one_shrinker_info(struct mem_cgroup *memcg,
+				    int map_size, int defer_size,
+				    int old_map_size, int old_defer_size,
+				    int new_nr_max)
+{
+	struct shrinker_info *new, *old;
+	struct mem_cgroup_per_node *pn;
+	int nid;
+	int size = map_size + defer_size;
+
+	for_each_node(nid) {
+		pn = memcg->nodeinfo[nid];
+		old = shrinker_info_protected(memcg, nid);
+		/* Not yet online memcg */
+		if (!old)
+			return 0;
+
+		/* Already expanded this shrinker_info */
+		if (new_nr_max <= old->map_nr_max)
+			continue;
+
+		new = kvmalloc_node(sizeof(*new) + size, GFP_KERNEL, nid);
+		if (!new)
+			return -ENOMEM;
+
+		new->nr_deferred = (atomic_long_t *)(new + 1);
+		new->map = (void *)new->nr_deferred + defer_size;
+		new->map_nr_max = new_nr_max;
+
+		/* map: set all old bits, clear all new bits */
+		memset(new->map, (int)0xff, old_map_size);
+		memset((void *)new->map + old_map_size, 0, map_size - old_map_size);
+		/* nr_deferred: copy old values, clear all new values */
+		memcpy(new->nr_deferred, old->nr_deferred, old_defer_size);
+		memset((void *)new->nr_deferred + old_defer_size, 0,
+		       defer_size - old_defer_size);
+
+		rcu_assign_pointer(pn->shrinker_info, new);
+		kvfree_rcu(old, rcu);
+	}
+
+	return 0;
+}
+
+static int expand_shrinker_info(int new_id)
+{
+	int ret = 0;
+	int new_nr_max = round_up(new_id + 1, BITS_PER_LONG);
+	int map_size, defer_size = 0;
+	int old_map_size, old_defer_size = 0;
+	struct mem_cgroup *memcg;
+
+	if (!root_mem_cgroup)
+		goto out;
+
+	lockdep_assert_held(&shrinker_rwsem);
+
+	map_size = shrinker_map_size(new_nr_max);
+	defer_size = shrinker_defer_size(new_nr_max);
+	old_map_size = shrinker_map_size(shrinker_nr_max);
+	old_defer_size = shrinker_defer_size(shrinker_nr_max);
+
+	memcg = mem_cgroup_iter(NULL, NULL, NULL);
+	do {
+		ret = expand_one_shrinker_info(memcg, map_size, defer_size,
+					       old_map_size, old_defer_size,
+					       new_nr_max);
+		if (ret) {
+			mem_cgroup_iter_break(NULL, memcg);
+			goto out;
+		}
+	} while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL);
+out:
+	if (!ret)
+		shrinker_nr_max = new_nr_max;
+
+	return ret;
+}
+
+void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
+{
+	if (shrinker_id >= 0 && memcg && !mem_cgroup_is_root(memcg)) {
+		struct shrinker_info *info;
+
+		rcu_read_lock();
+		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
+		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
+			/* Pairs with smp mb in shrink_slab() */
+			smp_mb__before_atomic();
+			set_bit(shrinker_id, info->map);
+		}
+		rcu_read_unlock();
+	}
+}
+
+static DEFINE_IDR(shrinker_idr);
+
+static int prealloc_memcg_shrinker(struct shrinker *shrinker)
+{
+	int id, ret = -ENOMEM;
+
+	if (mem_cgroup_disabled())
+		return -ENOSYS;
+
+	down_write(&shrinker_rwsem);
+	/* This may call shrinker, so it must use down_read_trylock() */
+	id = idr_alloc(&shrinker_idr, shrinker, 0, 0, GFP_KERNEL);
+	if (id < 0)
+		goto unlock;
+
+	if (id >= shrinker_nr_max) {
+		if (expand_shrinker_info(id)) {
+			idr_remove(&shrinker_idr, id);
+			goto unlock;
+		}
+	}
+	shrinker->id = id;
+	ret = 0;
+unlock:
+	up_write(&shrinker_rwsem);
+	return ret;
+}
+
+static void unregister_memcg_shrinker(struct shrinker *shrinker)
+{
+	int id = shrinker->id;
+
+	BUG_ON(id < 0);
+
+	lockdep_assert_held(&shrinker_rwsem);
+
+	idr_remove(&shrinker_idr, id);
+}
+
+static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
+				   struct mem_cgroup *memcg)
+{
+	struct shrinker_info *info;
+
+	info = shrinker_info_protected(memcg, nid);
+	return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0);
+}
+
+static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
+				  struct mem_cgroup *memcg)
+{
+	struct shrinker_info *info;
+
+	info = shrinker_info_protected(memcg, nid);
+	return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]);
+}
+
+void reparent_shrinker_deferred(struct mem_cgroup *memcg)
+{
+	int i, nid;
+	long nr;
+	struct mem_cgroup *parent;
+	struct shrinker_info *child_info, *parent_info;
+
+	parent = parent_mem_cgroup(memcg);
+	if (!parent)
+		parent = root_mem_cgroup;
+
+	/* Prevent from concurrent shrinker_info expand */
+	down_read(&shrinker_rwsem);
+	for_each_node(nid) {
+		child_info = shrinker_info_protected(memcg, nid);
+		parent_info = shrinker_info_protected(parent, nid);
+		for (i = 0; i < child_info->map_nr_max; i++) {
+			nr = atomic_long_read(&child_info->nr_deferred[i]);
+			atomic_long_add(nr, &parent_info->nr_deferred[i]);
+		}
+	}
+	up_read(&shrinker_rwsem);
+}
+#else
+static int prealloc_memcg_shrinker(struct shrinker *shrinker)
+{
+	return -ENOSYS;
+}
+
+static void unregister_memcg_shrinker(struct shrinker *shrinker)
+{
+}
+
+static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
+				   struct mem_cgroup *memcg)
+{
+	return 0;
+}
+
+static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
+				  struct mem_cgroup *memcg)
+{
+	return 0;
+}
+#endif /* CONFIG_MEMCG */
+
+static long xchg_nr_deferred(struct shrinker *shrinker,
+			     struct shrink_control *sc)
+{
+	int nid = sc->nid;
+
+	if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
+		nid = 0;
+
+	if (sc->memcg &&
+	    (shrinker->flags & SHRINKER_MEMCG_AWARE))
+		return xchg_nr_deferred_memcg(nid, shrinker,
+					      sc->memcg);
+
+	return atomic_long_xchg(&shrinker->nr_deferred[nid], 0);
+}
+
+
+static long add_nr_deferred(long nr, struct shrinker *shrinker,
+			    struct shrink_control *sc)
+{
+	int nid = sc->nid;
+
+	if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
+		nid = 0;
+
+	if (sc->memcg &&
+	    (shrinker->flags & SHRINKER_MEMCG_AWARE))
+		return add_nr_deferred_memcg(nr, nid, shrinker,
+					     sc->memcg);
+
+	return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]);
+}
+
+#define SHRINK_BATCH 128
+
+static unsigned long do_shrink_slab(struct shrink_control *shrinkctl,
+				    struct shrinker *shrinker, int priority)
+{
+	unsigned long freed = 0;
+	unsigned long long delta;
+	long total_scan;
+	long freeable;
+	long nr;
+	long new_nr;
+	long batch_size = shrinker->batch ? shrinker->batch
+					  : SHRINK_BATCH;
+	long scanned = 0, next_deferred;
+
+	freeable = shrinker->count_objects(shrinker, shrinkctl);
+	if (freeable == 0 || freeable == SHRINK_EMPTY)
+		return freeable;
+
+	/*
+	 * copy the current shrinker scan count into a local variable
+	 * and zero it so that other concurrent shrinker invocations
+	 * don't also do this scanning work.
+	 */
+	nr = xchg_nr_deferred(shrinker, shrinkctl);
+
+	if (shrinker->seeks) {
+		delta = freeable >> priority;
+		delta *= 4;
+		do_div(delta, shrinker->seeks);
+	} else {
+		/*
+		 * These objects don't require any IO to create. Trim
+		 * them aggressively under memory pressure to keep
+		 * them from causing refetches in the IO caches.
+		 */
+		delta = freeable / 2;
+	}
+
+	total_scan = nr >> priority;
+	total_scan += delta;
+	total_scan = min(total_scan, (2 * freeable));
+
+	trace_mm_shrink_slab_start(shrinker, shrinkctl, nr,
+				   freeable, delta, total_scan, priority);
+
+	/*
+	 * Normally, we should not scan less than batch_size objects in one
+	 * pass to avoid too frequent shrinker calls, but if the slab has less
+	 * than batch_size objects in total and we are really tight on memory,
+	 * we will try to reclaim all available objects, otherwise we can end
+	 * up failing allocations although there are plenty of reclaimable
+	 * objects spread over several slabs with usage less than the
+	 * batch_size.
+	 *
+	 * We detect the "tight on memory" situations by looking at the total
+	 * number of objects we want to scan (total_scan). If it is greater
+	 * than the total number of objects on slab (freeable), we must be
+	 * scanning at high prio and therefore should try to reclaim as much as
+	 * possible.
+	 */
+	while (total_scan >= batch_size ||
+	       total_scan >= freeable) {
+		unsigned long ret;
+		unsigned long nr_to_scan = min(batch_size, total_scan);
+
+		shrinkctl->nr_to_scan = nr_to_scan;
+		shrinkctl->nr_scanned = nr_to_scan;
+		ret = shrinker->scan_objects(shrinker, shrinkctl);
+		if (ret == SHRINK_STOP)
+			break;
+		freed += ret;
+
+		count_vm_events(SLABS_SCANNED, shrinkctl->nr_scanned);
+		total_scan -= shrinkctl->nr_scanned;
+		scanned += shrinkctl->nr_scanned;
+
+		cond_resched();
+	}
+
+	/*
+	 * The deferred work is increased by any new work (delta) that wasn't
+	 * done, decreased by old deferred work that was done now.
+	 *
+	 * And it is capped to two times of the freeable items.
+	 */
+	next_deferred = max_t(long, (nr + delta - scanned), 0);
+	next_deferred = min(next_deferred, (2 * freeable));
+
+	/*
+	 * move the unused scan count back into the shrinker in a
+	 * manner that handles concurrent updates.
+	 */
+	new_nr = add_nr_deferred(next_deferred, shrinker, shrinkctl);
+
+	trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan);
+	return freed;
+}
+
+#ifdef CONFIG_MEMCG
+static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
+			struct mem_cgroup *memcg, int priority)
+{
+	struct shrinker_info *info;
+	unsigned long ret, freed = 0;
+	int i;
+
+	if (!mem_cgroup_online(memcg))
+		return 0;
+
+	if (!down_read_trylock(&shrinker_rwsem))
+		return 0;
+
+	info = shrinker_info_protected(memcg, nid);
+	if (unlikely(!info))
+		goto unlock;
+
+	for_each_set_bit(i, info->map, info->map_nr_max) {
+		struct shrink_control sc = {
+			.gfp_mask = gfp_mask,
+			.nid = nid,
+			.memcg = memcg,
+		};
+		struct shrinker *shrinker;
+
+		shrinker = idr_find(&shrinker_idr, i);
+		if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
+			if (!shrinker)
+				clear_bit(i, info->map);
+			continue;
+		}
+
+		/* Call non-slab shrinkers even though kmem is disabled */
+		if (!memcg_kmem_online() &&
+		    !(shrinker->flags & SHRINKER_NONSLAB))
+			continue;
+
+		ret = do_shrink_slab(&sc, shrinker, priority);
+		if (ret == SHRINK_EMPTY) {
+			clear_bit(i, info->map);
+			/*
+			 * After the shrinker reported that it had no objects to
+			 * free, but before we cleared the corresponding bit in
+			 * the memcg shrinker map, a new object might have been
+			 * added. To make sure, we have the bit set in this
+			 * case, we invoke the shrinker one more time and reset
+			 * the bit if it reports that it is not empty anymore.
+			 * The memory barrier here pairs with the barrier in
+			 * set_shrinker_bit():
+			 *
+			 * list_lru_add()     shrink_slab_memcg()
+			 *   list_add_tail()    clear_bit()
+			 *   <MB>               <MB>
+			 *   set_bit()          do_shrink_slab()
+			 */
+			smp_mb__after_atomic();
+			ret = do_shrink_slab(&sc, shrinker, priority);
+			if (ret == SHRINK_EMPTY)
+				ret = 0;
+			else
+				set_shrinker_bit(memcg, nid, i);
+		}
+		freed += ret;
+
+		if (rwsem_is_contended(&shrinker_rwsem)) {
+			freed = freed ? : 1;
+			break;
+		}
+	}
+unlock:
+	up_read(&shrinker_rwsem);
+	return freed;
+}
+#else /* !CONFIG_MEMCG */
+static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
+			struct mem_cgroup *memcg, int priority)
+{
+	return 0;
+}
+#endif /* CONFIG_MEMCG */
+
+/**
+ * shrink_slab - shrink slab caches
+ * @gfp_mask: allocation context
+ * @nid: node whose slab caches to target
+ * @memcg: memory cgroup whose slab caches to target
+ * @priority: the reclaim priority
+ *
+ * Call the shrink functions to age shrinkable caches.
+ *
+ * @nid is passed along to shrinkers with SHRINKER_NUMA_AWARE set,
+ * unaware shrinkers will receive a node id of 0 instead.
+ *
+ * @memcg specifies the memory cgroup to target. Unaware shrinkers
+ * are called only if it is the root cgroup.
+ *
+ * @priority is sc->priority, we take the number of objects and >> by priority
+ * in order to get the scan target.
+ *
+ * Returns the number of reclaimed slab objects.
+ */
+unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
+			  int priority)
+{
+	unsigned long ret, freed = 0;
+	struct shrinker *shrinker;
+
+	/*
+	 * The root memcg might be allocated even though memcg is disabled
+	 * via "cgroup_disable=memory" boot parameter.  This could make
+	 * mem_cgroup_is_root() return false, then just run memcg slab
+	 * shrink, but skip global shrink.  This may result in premature
+	 * oom.
+	 */
+	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
+		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
+
+	if (!down_read_trylock(&shrinker_rwsem))
+		goto out;
+
+	list_for_each_entry(shrinker, &shrinker_list, list) {
+		struct shrink_control sc = {
+			.gfp_mask = gfp_mask,
+			.nid = nid,
+			.memcg = memcg,
+		};
+
+		ret = do_shrink_slab(&sc, shrinker, priority);
+		if (ret == SHRINK_EMPTY)
+			ret = 0;
+		freed += ret;
+		/*
+		 * Bail out if someone want to register a new shrinker to
+		 * prevent the registration from being stalled for long periods
+		 * by parallel ongoing shrinking.
+		 */
+		if (rwsem_is_contended(&shrinker_rwsem)) {
+			freed = freed ? : 1;
+			break;
+		}
+	}
+
+	up_read(&shrinker_rwsem);
+out:
+	cond_resched();
+	return freed;
+}
+
+/*
+ * Add a shrinker callback to be called from the vm.
+ */
+static int __prealloc_shrinker(struct shrinker *shrinker)
+{
+	unsigned int size;
+	int err;
+
+	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
+		err = prealloc_memcg_shrinker(shrinker);
+		if (err != -ENOSYS)
+			return err;
+
+		shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
+	}
+
+	size = sizeof(*shrinker->nr_deferred);
+	if (shrinker->flags & SHRINKER_NUMA_AWARE)
+		size *= nr_node_ids;
+
+	shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
+	if (!shrinker->nr_deferred)
+		return -ENOMEM;
+
+	return 0;
+}
+
+#ifdef CONFIG_SHRINKER_DEBUG
+int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
+{
+	va_list ap;
+	int err;
+
+	va_start(ap, fmt);
+	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
+	va_end(ap);
+	if (!shrinker->name)
+		return -ENOMEM;
+
+	err = __prealloc_shrinker(shrinker);
+	if (err) {
+		kfree_const(shrinker->name);
+		shrinker->name = NULL;
+	}
+
+	return err;
+}
+#else
+int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
+{
+	return __prealloc_shrinker(shrinker);
+}
+#endif
+
+void free_prealloced_shrinker(struct shrinker *shrinker)
+{
+#ifdef CONFIG_SHRINKER_DEBUG
+	kfree_const(shrinker->name);
+	shrinker->name = NULL;
+#endif
+	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
+		down_write(&shrinker_rwsem);
+		unregister_memcg_shrinker(shrinker);
+		up_write(&shrinker_rwsem);
+		return;
+	}
+
+	kfree(shrinker->nr_deferred);
+	shrinker->nr_deferred = NULL;
+}
+
+void register_shrinker_prepared(struct shrinker *shrinker)
+{
+	down_write(&shrinker_rwsem);
+	list_add_tail(&shrinker->list, &shrinker_list);
+	shrinker->flags |= SHRINKER_REGISTERED;
+	shrinker_debugfs_add(shrinker);
+	up_write(&shrinker_rwsem);
+}
+
+static int __register_shrinker(struct shrinker *shrinker)
+{
+	int err = __prealloc_shrinker(shrinker);
+
+	if (err)
+		return err;
+	register_shrinker_prepared(shrinker);
+	return 0;
+}
+
+#ifdef CONFIG_SHRINKER_DEBUG
+int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
+{
+	va_list ap;
+	int err;
+
+	va_start(ap, fmt);
+	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
+	va_end(ap);
+	if (!shrinker->name)
+		return -ENOMEM;
+
+	err = __register_shrinker(shrinker);
+	if (err) {
+		kfree_const(shrinker->name);
+		shrinker->name = NULL;
+	}
+	return err;
+}
+#else
+int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
+{
+	return __register_shrinker(shrinker);
+}
+#endif
+EXPORT_SYMBOL(register_shrinker);
+
+/*
+ * Remove one
+ */
+void unregister_shrinker(struct shrinker *shrinker)
+{
+	struct dentry *debugfs_entry;
+	int debugfs_id;
+
+	if (!(shrinker->flags & SHRINKER_REGISTERED))
+		return;
+
+	down_write(&shrinker_rwsem);
+	list_del(&shrinker->list);
+	shrinker->flags &= ~SHRINKER_REGISTERED;
+	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
+		unregister_memcg_shrinker(shrinker);
+	debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
+	up_write(&shrinker_rwsem);
+
+	shrinker_debugfs_remove(debugfs_entry, debugfs_id);
+
+	kfree(shrinker->nr_deferred);
+	shrinker->nr_deferred = NULL;
+}
+EXPORT_SYMBOL(unregister_shrinker);
+
+/**
+ * synchronize_shrinkers - Wait for all running shrinkers to complete.
+ *
+ * This is equivalent to calling unregister_shrink() and register_shrinker(),
+ * but atomically and with less overhead. This is useful to guarantee that all
+ * shrinker invocations have seen an update, before freeing memory, similar to
+ * rcu.
+ */
+void synchronize_shrinkers(void)
+{
+	down_write(&shrinker_rwsem);
+	up_write(&shrinker_rwsem);
+}
+EXPORT_SYMBOL(synchronize_shrinkers);
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 80e9a222e522..0a0f4c2fd519 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -35,7 +35,6 @@
 #include <linux/cpuset.h>
 #include <linux/compaction.h>
 #include <linux/notifier.h>
-#include <linux/rwsem.h>
 #include <linux/delay.h>
 #include <linux/kthread.h>
 #include <linux/freezer.h>
@@ -188,246 +187,7 @@ struct scan_control {
  */
 int vm_swappiness = 60;
 
-LIST_HEAD(shrinker_list);
-DECLARE_RWSEM(shrinker_rwsem);
-
 #ifdef CONFIG_MEMCG
-static int shrinker_nr_max;
-
-/* The shrinker_info is expanded in a batch of BITS_PER_LONG */
-static inline int shrinker_map_size(int nr_items)
-{
-	return (DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long));
-}
-
-static inline int shrinker_defer_size(int nr_items)
-{
-	return (round_up(nr_items, BITS_PER_LONG) * sizeof(atomic_long_t));
-}
-
-static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
-						     int nid)
-{
-	return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info,
-					 lockdep_is_held(&shrinker_rwsem));
-}
-
-static int expand_one_shrinker_info(struct mem_cgroup *memcg,
-				    int map_size, int defer_size,
-				    int old_map_size, int old_defer_size,
-				    int new_nr_max)
-{
-	struct shrinker_info *new, *old;
-	struct mem_cgroup_per_node *pn;
-	int nid;
-	int size = map_size + defer_size;
-
-	for_each_node(nid) {
-		pn = memcg->nodeinfo[nid];
-		old = shrinker_info_protected(memcg, nid);
-		/* Not yet online memcg */
-		if (!old)
-			return 0;
-
-		/* Already expanded this shrinker_info */
-		if (new_nr_max <= old->map_nr_max)
-			continue;
-
-		new = kvmalloc_node(sizeof(*new) + size, GFP_KERNEL, nid);
-		if (!new)
-			return -ENOMEM;
-
-		new->nr_deferred = (atomic_long_t *)(new + 1);
-		new->map = (void *)new->nr_deferred + defer_size;
-		new->map_nr_max = new_nr_max;
-
-		/* map: set all old bits, clear all new bits */
-		memset(new->map, (int)0xff, old_map_size);
-		memset((void *)new->map + old_map_size, 0, map_size - old_map_size);
-		/* nr_deferred: copy old values, clear all new values */
-		memcpy(new->nr_deferred, old->nr_deferred, old_defer_size);
-		memset((void *)new->nr_deferred + old_defer_size, 0,
-		       defer_size - old_defer_size);
-
-		rcu_assign_pointer(pn->shrinker_info, new);
-		kvfree_rcu(old, rcu);
-	}
-
-	return 0;
-}
-
-void free_shrinker_info(struct mem_cgroup *memcg)
-{
-	struct mem_cgroup_per_node *pn;
-	struct shrinker_info *info;
-	int nid;
-
-	for_each_node(nid) {
-		pn = memcg->nodeinfo[nid];
-		info = rcu_dereference_protected(pn->shrinker_info, true);
-		kvfree(info);
-		rcu_assign_pointer(pn->shrinker_info, NULL);
-	}
-}
-
-int alloc_shrinker_info(struct mem_cgroup *memcg)
-{
-	struct shrinker_info *info;
-	int nid, size, ret = 0;
-	int map_size, defer_size = 0;
-
-	down_write(&shrinker_rwsem);
-	map_size = shrinker_map_size(shrinker_nr_max);
-	defer_size = shrinker_defer_size(shrinker_nr_max);
-	size = map_size + defer_size;
-	for_each_node(nid) {
-		info = kvzalloc_node(sizeof(*info) + size, GFP_KERNEL, nid);
-		if (!info) {
-			free_shrinker_info(memcg);
-			ret = -ENOMEM;
-			break;
-		}
-		info->nr_deferred = (atomic_long_t *)(info + 1);
-		info->map = (void *)info->nr_deferred + defer_size;
-		info->map_nr_max = shrinker_nr_max;
-		rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);
-	}
-	up_write(&shrinker_rwsem);
-
-	return ret;
-}
-
-static int expand_shrinker_info(int new_id)
-{
-	int ret = 0;
-	int new_nr_max = round_up(new_id + 1, BITS_PER_LONG);
-	int map_size, defer_size = 0;
-	int old_map_size, old_defer_size = 0;
-	struct mem_cgroup *memcg;
-
-	if (!root_mem_cgroup)
-		goto out;
-
-	lockdep_assert_held(&shrinker_rwsem);
-
-	map_size = shrinker_map_size(new_nr_max);
-	defer_size = shrinker_defer_size(new_nr_max);
-	old_map_size = shrinker_map_size(shrinker_nr_max);
-	old_defer_size = shrinker_defer_size(shrinker_nr_max);
-
-	memcg = mem_cgroup_iter(NULL, NULL, NULL);
-	do {
-		ret = expand_one_shrinker_info(memcg, map_size, defer_size,
-					       old_map_size, old_defer_size,
-					       new_nr_max);
-		if (ret) {
-			mem_cgroup_iter_break(NULL, memcg);
-			goto out;
-		}
-	} while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL);
-out:
-	if (!ret)
-		shrinker_nr_max = new_nr_max;
-
-	return ret;
-}
-
-void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
-{
-	if (shrinker_id >= 0 && memcg && !mem_cgroup_is_root(memcg)) {
-		struct shrinker_info *info;
-
-		rcu_read_lock();
-		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
-		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
-			/* Pairs with smp mb in shrink_slab() */
-			smp_mb__before_atomic();
-			set_bit(shrinker_id, info->map);
-		}
-		rcu_read_unlock();
-	}
-}
-
-static DEFINE_IDR(shrinker_idr);
-
-static int prealloc_memcg_shrinker(struct shrinker *shrinker)
-{
-	int id, ret = -ENOMEM;
-
-	if (mem_cgroup_disabled())
-		return -ENOSYS;
-
-	down_write(&shrinker_rwsem);
-	/* This may call shrinker, so it must use down_read_trylock() */
-	id = idr_alloc(&shrinker_idr, shrinker, 0, 0, GFP_KERNEL);
-	if (id < 0)
-		goto unlock;
-
-	if (id >= shrinker_nr_max) {
-		if (expand_shrinker_info(id)) {
-			idr_remove(&shrinker_idr, id);
-			goto unlock;
-		}
-	}
-	shrinker->id = id;
-	ret = 0;
-unlock:
-	up_write(&shrinker_rwsem);
-	return ret;
-}
-
-static void unregister_memcg_shrinker(struct shrinker *shrinker)
-{
-	int id = shrinker->id;
-
-	BUG_ON(id < 0);
-
-	lockdep_assert_held(&shrinker_rwsem);
-
-	idr_remove(&shrinker_idr, id);
-}
-
-static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
-				   struct mem_cgroup *memcg)
-{
-	struct shrinker_info *info;
-
-	info = shrinker_info_protected(memcg, nid);
-	return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0);
-}
-
-static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
-				  struct mem_cgroup *memcg)
-{
-	struct shrinker_info *info;
-
-	info = shrinker_info_protected(memcg, nid);
-	return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]);
-}
-
-void reparent_shrinker_deferred(struct mem_cgroup *memcg)
-{
-	int i, nid;
-	long nr;
-	struct mem_cgroup *parent;
-	struct shrinker_info *child_info, *parent_info;
-
-	parent = parent_mem_cgroup(memcg);
-	if (!parent)
-		parent = root_mem_cgroup;
-
-	/* Prevent from concurrent shrinker_info expand */
-	down_read(&shrinker_rwsem);
-	for_each_node(nid) {
-		child_info = shrinker_info_protected(memcg, nid);
-		parent_info = shrinker_info_protected(parent, nid);
-		for (i = 0; i < child_info->map_nr_max; i++) {
-			nr = atomic_long_read(&child_info->nr_deferred[i]);
-			atomic_long_add(nr, &parent_info->nr_deferred[i]);
-		}
-	}
-	up_read(&shrinker_rwsem);
-}
 
 /* Returns true for reclaim through cgroup limits or cgroup interfaces. */
 static bool cgroup_reclaim(struct scan_control *sc)
@@ -468,27 +228,6 @@ static bool writeback_throttling_sane(struct scan_control *sc)
 	return false;
 }
 #else
-static int prealloc_memcg_shrinker(struct shrinker *shrinker)
-{
-	return -ENOSYS;
-}
-
-static void unregister_memcg_shrinker(struct shrinker *shrinker)
-{
-}
-
-static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
-				   struct mem_cgroup *memcg)
-{
-	return 0;
-}
-
-static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
-				  struct mem_cgroup *memcg)
-{
-	return 0;
-}
-
 static bool cgroup_reclaim(struct scan_control *sc)
 {
 	return false;
@@ -557,39 +296,6 @@ static void flush_reclaim_state(struct scan_control *sc)
 	}
 }
 
-static long xchg_nr_deferred(struct shrinker *shrinker,
-			     struct shrink_control *sc)
-{
-	int nid = sc->nid;
-
-	if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
-		nid = 0;
-
-	if (sc->memcg &&
-	    (shrinker->flags & SHRINKER_MEMCG_AWARE))
-		return xchg_nr_deferred_memcg(nid, shrinker,
-					      sc->memcg);
-
-	return atomic_long_xchg(&shrinker->nr_deferred[nid], 0);
-}
-
-
-static long add_nr_deferred(long nr, struct shrinker *shrinker,
-			    struct shrink_control *sc)
-{
-	int nid = sc->nid;
-
-	if (!(shrinker->flags & SHRINKER_NUMA_AWARE))
-		nid = 0;
-
-	if (sc->memcg &&
-	    (shrinker->flags & SHRINKER_MEMCG_AWARE))
-		return add_nr_deferred_memcg(nr, nid, shrinker,
-					     sc->memcg);
-
-	return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]);
-}
-
 static bool can_demote(int nid, struct scan_control *sc)
 {
 	if (!numa_demotion_enabled)
@@ -671,413 +377,6 @@ static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru,
 	return size;
 }
 
-/*
- * Add a shrinker callback to be called from the vm.
- */
-static int __prealloc_shrinker(struct shrinker *shrinker)
-{
-	unsigned int size;
-	int err;
-
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-		err = prealloc_memcg_shrinker(shrinker);
-		if (err != -ENOSYS)
-			return err;
-
-		shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
-	}
-
-	size = sizeof(*shrinker->nr_deferred);
-	if (shrinker->flags & SHRINKER_NUMA_AWARE)
-		size *= nr_node_ids;
-
-	shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
-	if (!shrinker->nr_deferred)
-		return -ENOMEM;
-
-	return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	va_list ap;
-	int err;
-
-	va_start(ap, fmt);
-	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-	va_end(ap);
-	if (!shrinker->name)
-		return -ENOMEM;
-
-	err = __prealloc_shrinker(shrinker);
-	if (err) {
-		kfree_const(shrinker->name);
-		shrinker->name = NULL;
-	}
-
-	return err;
-}
-#else
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	return __prealloc_shrinker(shrinker);
-}
-#endif
-
-void free_prealloced_shrinker(struct shrinker *shrinker)
-{
-#ifdef CONFIG_SHRINKER_DEBUG
-	kfree_const(shrinker->name);
-	shrinker->name = NULL;
-#endif
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-		down_write(&shrinker_rwsem);
-		unregister_memcg_shrinker(shrinker);
-		up_write(&shrinker_rwsem);
-		return;
-	}
-
-	kfree(shrinker->nr_deferred);
-	shrinker->nr_deferred = NULL;
-}
-
-void register_shrinker_prepared(struct shrinker *shrinker)
-{
-	down_write(&shrinker_rwsem);
-	list_add_tail(&shrinker->list, &shrinker_list);
-	shrinker->flags |= SHRINKER_REGISTERED;
-	shrinker_debugfs_add(shrinker);
-	up_write(&shrinker_rwsem);
-}
-
-static int __register_shrinker(struct shrinker *shrinker)
-{
-	int err = __prealloc_shrinker(shrinker);
-
-	if (err)
-		return err;
-	register_shrinker_prepared(shrinker);
-	return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	va_list ap;
-	int err;
-
-	va_start(ap, fmt);
-	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-	va_end(ap);
-	if (!shrinker->name)
-		return -ENOMEM;
-
-	err = __register_shrinker(shrinker);
-	if (err) {
-		kfree_const(shrinker->name);
-		shrinker->name = NULL;
-	}
-	return err;
-}
-#else
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	return __register_shrinker(shrinker);
-}
-#endif
-EXPORT_SYMBOL(register_shrinker);
-
-/*
- * Remove one
- */
-void unregister_shrinker(struct shrinker *shrinker)
-{
-	struct dentry *debugfs_entry;
-	int debugfs_id;
-
-	if (!(shrinker->flags & SHRINKER_REGISTERED))
-		return;
-
-	down_write(&shrinker_rwsem);
-	list_del(&shrinker->list);
-	shrinker->flags &= ~SHRINKER_REGISTERED;
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
-		unregister_memcg_shrinker(shrinker);
-	debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
-	up_write(&shrinker_rwsem);
-
-	shrinker_debugfs_remove(debugfs_entry, debugfs_id);
-
-	kfree(shrinker->nr_deferred);
-	shrinker->nr_deferred = NULL;
-}
-EXPORT_SYMBOL(unregister_shrinker);
-
-/**
- * synchronize_shrinkers - Wait for all running shrinkers to complete.
- *
- * This is equivalent to calling unregister_shrink() and register_shrinker(),
- * but atomically and with less overhead. This is useful to guarantee that all
- * shrinker invocations have seen an update, before freeing memory, similar to
- * rcu.
- */
-void synchronize_shrinkers(void)
-{
-	down_write(&shrinker_rwsem);
-	up_write(&shrinker_rwsem);
-}
-EXPORT_SYMBOL(synchronize_shrinkers);
-
-#define SHRINK_BATCH 128
-
-static unsigned long do_shrink_slab(struct shrink_control *shrinkctl,
-				    struct shrinker *shrinker, int priority)
-{
-	unsigned long freed = 0;
-	unsigned long long delta;
-	long total_scan;
-	long freeable;
-	long nr;
-	long new_nr;
-	long batch_size = shrinker->batch ? shrinker->batch
-					  : SHRINK_BATCH;
-	long scanned = 0, next_deferred;
-
-	freeable = shrinker->count_objects(shrinker, shrinkctl);
-	if (freeable == 0 || freeable == SHRINK_EMPTY)
-		return freeable;
-
-	/*
-	 * copy the current shrinker scan count into a local variable
-	 * and zero it so that other concurrent shrinker invocations
-	 * don't also do this scanning work.
-	 */
-	nr = xchg_nr_deferred(shrinker, shrinkctl);
-
-	if (shrinker->seeks) {
-		delta = freeable >> priority;
-		delta *= 4;
-		do_div(delta, shrinker->seeks);
-	} else {
-		/*
-		 * These objects don't require any IO to create. Trim
-		 * them aggressively under memory pressure to keep
-		 * them from causing refetches in the IO caches.
-		 */
-		delta = freeable / 2;
-	}
-
-	total_scan = nr >> priority;
-	total_scan += delta;
-	total_scan = min(total_scan, (2 * freeable));
-
-	trace_mm_shrink_slab_start(shrinker, shrinkctl, nr,
-				   freeable, delta, total_scan, priority);
-
-	/*
-	 * Normally, we should not scan less than batch_size objects in one
-	 * pass to avoid too frequent shrinker calls, but if the slab has less
-	 * than batch_size objects in total and we are really tight on memory,
-	 * we will try to reclaim all available objects, otherwise we can end
-	 * up failing allocations although there are plenty of reclaimable
-	 * objects spread over several slabs with usage less than the
-	 * batch_size.
-	 *
-	 * We detect the "tight on memory" situations by looking at the total
-	 * number of objects we want to scan (total_scan). If it is greater
-	 * than the total number of objects on slab (freeable), we must be
-	 * scanning at high prio and therefore should try to reclaim as much as
-	 * possible.
-	 */
-	while (total_scan >= batch_size ||
-	       total_scan >= freeable) {
-		unsigned long ret;
-		unsigned long nr_to_scan = min(batch_size, total_scan);
-
-		shrinkctl->nr_to_scan = nr_to_scan;
-		shrinkctl->nr_scanned = nr_to_scan;
-		ret = shrinker->scan_objects(shrinker, shrinkctl);
-		if (ret == SHRINK_STOP)
-			break;
-		freed += ret;
-
-		count_vm_events(SLABS_SCANNED, shrinkctl->nr_scanned);
-		total_scan -= shrinkctl->nr_scanned;
-		scanned += shrinkctl->nr_scanned;
-
-		cond_resched();
-	}
-
-	/*
-	 * The deferred work is increased by any new work (delta) that wasn't
-	 * done, decreased by old deferred work that was done now.
-	 *
-	 * And it is capped to two times of the freeable items.
-	 */
-	next_deferred = max_t(long, (nr + delta - scanned), 0);
-	next_deferred = min(next_deferred, (2 * freeable));
-
-	/*
-	 * move the unused scan count back into the shrinker in a
-	 * manner that handles concurrent updates.
-	 */
-	new_nr = add_nr_deferred(next_deferred, shrinker, shrinkctl);
-
-	trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan);
-	return freed;
-}
-
-#ifdef CONFIG_MEMCG
-static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
-			struct mem_cgroup *memcg, int priority)
-{
-	struct shrinker_info *info;
-	unsigned long ret, freed = 0;
-	int i;
-
-	if (!mem_cgroup_online(memcg))
-		return 0;
-
-	if (!down_read_trylock(&shrinker_rwsem))
-		return 0;
-
-	info = shrinker_info_protected(memcg, nid);
-	if (unlikely(!info))
-		goto unlock;
-
-	for_each_set_bit(i, info->map, info->map_nr_max) {
-		struct shrink_control sc = {
-			.gfp_mask = gfp_mask,
-			.nid = nid,
-			.memcg = memcg,
-		};
-		struct shrinker *shrinker;
-
-		shrinker = idr_find(&shrinker_idr, i);
-		if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
-			if (!shrinker)
-				clear_bit(i, info->map);
-			continue;
-		}
-
-		/* Call non-slab shrinkers even though kmem is disabled */
-		if (!memcg_kmem_online() &&
-		    !(shrinker->flags & SHRINKER_NONSLAB))
-			continue;
-
-		ret = do_shrink_slab(&sc, shrinker, priority);
-		if (ret == SHRINK_EMPTY) {
-			clear_bit(i, info->map);
-			/*
-			 * After the shrinker reported that it had no objects to
-			 * free, but before we cleared the corresponding bit in
-			 * the memcg shrinker map, a new object might have been
-			 * added. To make sure, we have the bit set in this
-			 * case, we invoke the shrinker one more time and reset
-			 * the bit if it reports that it is not empty anymore.
-			 * The memory barrier here pairs with the barrier in
-			 * set_shrinker_bit():
-			 *
-			 * list_lru_add()     shrink_slab_memcg()
-			 *   list_add_tail()    clear_bit()
-			 *   <MB>               <MB>
-			 *   set_bit()          do_shrink_slab()
-			 */
-			smp_mb__after_atomic();
-			ret = do_shrink_slab(&sc, shrinker, priority);
-			if (ret == SHRINK_EMPTY)
-				ret = 0;
-			else
-				set_shrinker_bit(memcg, nid, i);
-		}
-		freed += ret;
-
-		if (rwsem_is_contended(&shrinker_rwsem)) {
-			freed = freed ? : 1;
-			break;
-		}
-	}
-unlock:
-	up_read(&shrinker_rwsem);
-	return freed;
-}
-#else /* CONFIG_MEMCG */
-static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
-			struct mem_cgroup *memcg, int priority)
-{
-	return 0;
-}
-#endif /* CONFIG_MEMCG */
-
-/**
- * shrink_slab - shrink slab caches
- * @gfp_mask: allocation context
- * @nid: node whose slab caches to target
- * @memcg: memory cgroup whose slab caches to target
- * @priority: the reclaim priority
- *
- * Call the shrink functions to age shrinkable caches.
- *
- * @nid is passed along to shrinkers with SHRINKER_NUMA_AWARE set,
- * unaware shrinkers will receive a node id of 0 instead.
- *
- * @memcg specifies the memory cgroup to target. Unaware shrinkers
- * are called only if it is the root cgroup.
- *
- * @priority is sc->priority, we take the number of objects and >> by priority
- * in order to get the scan target.
- *
- * Returns the number of reclaimed slab objects.
- */
-static unsigned long shrink_slab(gfp_t gfp_mask, int nid,
-				 struct mem_cgroup *memcg,
-				 int priority)
-{
-	unsigned long ret, freed = 0;
-	struct shrinker *shrinker;
-
-	/*
-	 * The root memcg might be allocated even though memcg is disabled
-	 * via "cgroup_disable=memory" boot parameter.  This could make
-	 * mem_cgroup_is_root() return false, then just run memcg slab
-	 * shrink, but skip global shrink.  This may result in premature
-	 * oom.
-	 */
-	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
-		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
-
-	if (!down_read_trylock(&shrinker_rwsem))
-		goto out;
-
-	list_for_each_entry(shrinker, &shrinker_list, list) {
-		struct shrink_control sc = {
-			.gfp_mask = gfp_mask,
-			.nid = nid,
-			.memcg = memcg,
-		};
-
-		ret = do_shrink_slab(&sc, shrinker, priority);
-		if (ret == SHRINK_EMPTY)
-			ret = 0;
-		freed += ret;
-		/*
-		 * Bail out if someone want to register a new shrinker to
-		 * prevent the registration from being stalled for long periods
-		 * by parallel ongoing shrinking.
-		 */
-		if (rwsem_is_contended(&shrinker_rwsem)) {
-			freed = freed ? : 1;
-			break;
-		}
-	}
-
-	up_read(&shrinker_rwsem);
-out:
-	cond_resched();
-	return freed;
-}
-
 static unsigned long drop_slab_node(int nid)
 {
 	unsigned long freed = 0;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:10:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578021.905221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8F-0003D4-Um; Mon, 07 Aug 2023 11:10:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578021.905221; Mon, 07 Aug 2023 11: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 1qSy8F-0003Ct-RF; Mon, 07 Aug 2023 11:10:39 +0000
Received: by outflank-mailman (input) for mailman id 578021;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy8E-00018O-FO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:10:38 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08795e1e-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:10:36 +0200 (CEST)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-265c94064b8so592316a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:10:36 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.10.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:10: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: 08795e1e-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406635; x=1692011435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v13l7IPlOPgFsnMxGKXfyNRR5BVZeBzBNEaAsOIHoYU=;
        b=kCYTaRcfjrYSEt8G3Tw1f1acTO5J6yxn7oF0SsGLa85MduwVEgH5omvSEO969tp3LA
         wpvSUu2A7//qJL2ilMqNB9PtHKQAFVNRC9oXX6TEGsUMhNv4mOxpl2C1YAZnVZpulCYe
         yLDYKwIJ4bAvkX2QuqtJJDYUJRh6vr19t7PfH+lhQ++ji8JDwdveN3FzqnpipfKLqAIG
         dvafeOsYb5J4XciY9gtlA1gSl238AIRfFhWaOJMr5WdeT5BLHH+Cl6s3+MJ/6Htxm+Cq
         sbYQtf3+i0mELZ2fQ4kGZP1NFS47ge8l8Znqj7GoIxgmAjgbPULzYpOui4TUq64XmvYi
         qgMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406635; x=1692011435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=v13l7IPlOPgFsnMxGKXfyNRR5BVZeBzBNEaAsOIHoYU=;
        b=BQr7jKZ1IDWxVHHkDPJp24To0eBRjmyJugf5n8WMP2T4jq2NDeB7CVqaoQJYjSGkiE
         skMxVqkSwLkpEe3bvbU+XnbzcgtLJH3xs8p9ITIPQDpFwOYdkc9T2gpqvLOBl2ceIthG
         3mFtonx1L1SMynR/XBlhjLCu24rCkMWCOdKsniiTwNWl3Ns2NrvybBra6tKtyjKuA/UN
         +7OJr7ncvzqPlv3nvrctJn9EJm5fqEi1Atiz8Bmm2kAbKgCwI5qzniWvA0SZ6iE6jYzC
         jR5Bwc5cu/dk5DPP8i7jh4Mqwl64OUEpRWqTL521uRx82Lk5fASAEyTQynYkgGP+g8lO
         Keww==
X-Gm-Message-State: AOJu0YwjNX2krhjp5i17Vr/LRKf6t1qzLbXpWyEoxIYaLrLx29Jwae9G
	/D/PbTf+1S3RTkP/gORw6X7/Fw==
X-Google-Smtp-Source: AGHT+IFtRmyHpiiF2qszY30g7vYVkD2mnACy5d4vfrtyjmwLjyswWFf77Xamslud93nGDOipc3oAlA==
X-Received: by 2002:a17:90a:69c4:b0:269:34a6:d4ca with SMTP id s62-20020a17090a69c400b0026934a6d4camr6363728pjj.0.1691406635181;
        Mon, 07 Aug 2023 04:10:35 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 03/48] mm: shrinker: remove redundant shrinker_rwsem in debugfs operations
Date: Mon,  7 Aug 2023 19:08:51 +0800
Message-Id: <20230807110936.21819-4-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The debugfs_remove_recursive() will wait for debugfs_file_put() to return,
so the shrinker will not be freed when doing debugfs operations (such as
shrinker_debugfs_count_show() and shrinker_debugfs_scan_write()), so there
is no need to hold shrinker_rwsem during debugfs operations.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 mm/shrinker_debug.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c
index 3ab53fad8876..61702bdc1af4 100644
--- a/mm/shrinker_debug.c
+++ b/mm/shrinker_debug.c
@@ -49,17 +49,12 @@ static int shrinker_debugfs_count_show(struct seq_file *m, void *v)
 	struct mem_cgroup *memcg;
 	unsigned long total;
 	bool memcg_aware;
-	int ret, nid;
+	int ret = 0, nid;
 
 	count_per_node = kcalloc(nr_node_ids, sizeof(unsigned long), GFP_KERNEL);
 	if (!count_per_node)
 		return -ENOMEM;
 
-	ret = down_read_killable(&shrinker_rwsem);
-	if (ret) {
-		kfree(count_per_node);
-		return ret;
-	}
 	rcu_read_lock();
 
 	memcg_aware = shrinker->flags & SHRINKER_MEMCG_AWARE;
@@ -92,7 +87,6 @@ static int shrinker_debugfs_count_show(struct seq_file *m, void *v)
 	} while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL);
 
 	rcu_read_unlock();
-	up_read(&shrinker_rwsem);
 
 	kfree(count_per_node);
 	return ret;
@@ -117,7 +111,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 	struct mem_cgroup *memcg = NULL;
 	int nid;
 	char kbuf[72];
-	ssize_t ret;
 
 	read_len = size < (sizeof(kbuf) - 1) ? size : (sizeof(kbuf) - 1);
 	if (copy_from_user(kbuf, buf, read_len))
@@ -146,12 +139,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 		return -EINVAL;
 	}
 
-	ret = down_read_killable(&shrinker_rwsem);
-	if (ret) {
-		mem_cgroup_put(memcg);
-		return ret;
-	}
-
 	sc.nid = nid;
 	sc.memcg = memcg;
 	sc.nr_to_scan = nr_to_scan;
@@ -159,7 +146,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 
 	shrinker->scan_objects(shrinker, &sc);
 
-	up_read(&shrinker_rwsem);
 	mem_cgroup_put(memcg);
 
 	return size;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:10:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578024.905230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8S-0003lu-5p; Mon, 07 Aug 2023 11:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578024.905230; Mon, 07 Aug 2023 11:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8S-0003ll-3B; Mon, 07 Aug 2023 11:10:52 +0000
Received: by outflank-mailman (input) for mailman id 578024;
 Mon, 07 Aug 2023 11:10: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy8Q-00018O-UP
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:10:50 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0fd787bf-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:10:49 +0200 (CEST)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-1bb91c20602so9340965ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:10:49 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.10.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 0fd787bf-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406647; x=1692011447;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0+ir4b8RJjPS6OIbAMeQuS4120VPLjqRz3YtsLadct8=;
        b=XqSgm7kBpeCnE2gk/ybefyIcAxePmTjaifDT0pHnXDcb/Nc/UeCuy/rdgy4xRowAkQ
         aP4dUp/hrUWHR/4zWDCrbxFRixmFOlV8pnAOQyS1AwDBmMy6PTOmr3iG0yKzCbxujje0
         t73ctUmXR29afAKI5JNarlJvM1vvoPYY3cx3UcuU87ePLchKbMsLak0/Jvs9wqFUCDZe
         F5bgU4otH0OCdVxWD0sXM2a1eraAUukOoDwvlCcB8mzgk3iB2I7g5XjW4+48PuHaFgCc
         uOLaUcpy4QuZWt68WuxcqsF9z/vzQ2XOsuEa2jtvaGJ4t8kUtmd0Q7Uf/YTK0wRowRTP
         E2tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406647; x=1692011447;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0+ir4b8RJjPS6OIbAMeQuS4120VPLjqRz3YtsLadct8=;
        b=i8mZs1gz7ZmCxLXvogoNIVcg8Z03aVRXerGbvv8Xas/PBV3GGsR+ZvRvWOTcIwYhct
         afDTKlU75GjVIpS3GggQyWiOtxU8earZlFGe5VY4cbYUUb13VYeiVa7WjIjm15bOS2u9
         baujNu1QiMbn6T9X6U6/5yiioFIafFK8hO8V7EwjBWc83h8WeRFKNF1yeCQPDLTNQ0rx
         r/d8o9PbWi5JDt3aQftnoMy0mWlFD0OgYId7xvMjaN50GyqO8k6Xy3jQZV2HaY+sdiNz
         PRcppTufJSNEzHHmONJOeXymdStQfzGTv+k9IxNQyVbCPzwln11GhYwzQmSgthTH9MAm
         T2/w==
X-Gm-Message-State: ABy/qLY/afL3U2dnDHK9CV1J+SQWnrFoMZPAVieJpNn5PwI2kgq4YTwx
	kE92eX/+6zR1Q85J7ENA3P8RDg==
X-Google-Smtp-Source: APBJJlHuLqAtKowl4cccNcqjA9V94U7s0kNn49/V0/tk7bu/NPlYiQpbpDIicm2vAutfhjwO22jVoA==
X-Received: by 2002:a17:902:f54d:b0:1b8:9fc4:2733 with SMTP id h13-20020a170902f54d00b001b89fc42733mr32837074plf.3.1691406647588;
        Mon, 07 Aug 2023 04:10:47 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 04/48] mm: shrinker: add infrastructure for dynamically allocating shrinker
Date: Mon,  7 Aug 2023 19:08:52 +0800
Message-Id: <20230807110936.21819-5-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, the shrinker instances can be divided into the following three
types:

a) global shrinker instance statically defined in the kernel, such as
   workingset_shadow_shrinker.

b) global shrinker instance statically defined in the kernel modules, such
   as mmu_shrinker in x86.

c) shrinker instance embedded in other structures.

For case a, the memory of shrinker instance is never freed. For case b,
the memory of shrinker instance will be freed after synchronize_rcu() when
the module is unloaded. For case c, the memory of shrinker instance will
be freed along with the structure it is embedded in.

In preparation for implementing lockless slab shrink, we need to
dynamically allocate those shrinker instances in case c, then the memory
can be dynamically freed alone by calling kfree_rcu().

So this commit adds the following new APIs for dynamically allocating
shrinker, and add a private_data field to struct shrinker to record and
get the original embedded structure.

1. shrinker_alloc()

Used to allocate shrinker instance itself and related memory, it will
return a pointer to the shrinker instance on success and NULL on failure.

2. shrinker_register()

Used to register the shrinker instance, which is same as the current
register_shrinker_prepared().

3. shrinker_free()

Used to unregister (if needed) and free the shrinker instance.

In order to simplify shrinker-related APIs and make shrinker more
independent of other kernel mechanisms, subsequent submissions will use
the above API to convert all shrinkers (including case a and b) to
dynamically allocated, and then remove all existing APIs.

This will also have another advantage mentioned by Dave Chinner:

```
The other advantage of this is that it will break all the existing
out of tree code and third party modules using the old API and will
no longer work with a kernel using lockless slab shrinkers. They
need to break (both at the source and binary levels) to stop bad
things from happening due to using unconverted shrinkers in the new
setup.
```

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 include/linux/shrinker.h |   7 +++
 mm/internal.h            |  11 +++++
 mm/shrinker.c            | 101 +++++++++++++++++++++++++++++++++++++++
 mm/shrinker_debug.c      |  17 ++++++-
 4 files changed, 134 insertions(+), 2 deletions(-)

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index 8dc15aa37410..cc23ff0aee20 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -70,6 +70,8 @@ struct shrinker {
 	int seeks;	/* seeks to recreate an obj */
 	unsigned flags;
 
+	void *private_data;
+
 	/* These are for internal use */
 	struct list_head list;
 #ifdef CONFIG_MEMCG
@@ -95,6 +97,11 @@ struct shrinker {
  * non-MEMCG_AWARE shrinker should not have this flag set.
  */
 #define SHRINKER_NONSLAB	(1 << 3)
+#define SHRINKER_ALLOCATED	(1 << 4)
+
+struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
+void shrinker_register(struct shrinker *shrinker);
+void shrinker_free(struct shrinker *shrinker);
 
 extern int __printf(2, 3) prealloc_shrinker(struct shrinker *shrinker,
 					    const char *fmt, ...);
diff --git a/mm/internal.h b/mm/internal.h
index b98c29f0a471..7b882b903b82 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1152,6 +1152,9 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
 
 #ifdef CONFIG_SHRINKER_DEBUG
 extern int shrinker_debugfs_add(struct shrinker *shrinker);
+extern int shrinker_debugfs_name_alloc(struct shrinker *shrinker,
+				       const char *fmt, va_list ap);
+extern void shrinker_debugfs_name_free(struct shrinker *shrinker);
 extern struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
 					      int *debugfs_id);
 extern void shrinker_debugfs_remove(struct dentry *debugfs_entry,
@@ -1161,6 +1164,14 @@ static inline int shrinker_debugfs_add(struct shrinker *shrinker)
 {
 	return 0;
 }
+static inline int shrinker_debugfs_name_alloc(struct shrinker *shrinker,
+					      const char *fmt, va_list ap)
+{
+	return 0;
+}
+static inline void shrinker_debugfs_name_free(struct shrinker *shrinker)
+{
+}
 static inline struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
 						     int *debugfs_id)
 {
diff --git a/mm/shrinker.c b/mm/shrinker.c
index 043c87ccfab4..43a375f954f3 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -550,6 +550,107 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
 	return freed;
 }
 
+struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...)
+{
+	struct shrinker *shrinker;
+	unsigned int size;
+	va_list ap;
+	int err;
+
+	shrinker = kzalloc(sizeof(struct shrinker), GFP_KERNEL);
+	if (!shrinker)
+		return NULL;
+
+	va_start(ap, fmt);
+	err = shrinker_debugfs_name_alloc(shrinker, fmt, ap);
+	va_end(ap);
+	if (err)
+		goto err_name;
+
+	shrinker->flags = flags | SHRINKER_ALLOCATED;
+
+	if (flags & SHRINKER_MEMCG_AWARE) {
+		err = prealloc_memcg_shrinker(shrinker);
+		if (err == -ENOSYS)
+			shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
+		else if (err == 0)
+			goto done;
+		else
+			goto err_flags;
+	}
+
+	/*
+	 * The nr_deferred is available on per memcg level for memcg aware
+	 * shrinkers, so only allocate nr_deferred in the following cases:
+	 *  - non memcg aware shrinkers
+	 *  - !CONFIG_MEMCG
+	 *  - memcg is disabled by kernel command line
+	 */
+	size = sizeof(*shrinker->nr_deferred);
+	if (flags & SHRINKER_NUMA_AWARE)
+		size *= nr_node_ids;
+
+	shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
+	if (!shrinker->nr_deferred)
+		goto err_flags;
+
+done:
+	return shrinker;
+
+err_flags:
+	shrinker_debugfs_name_free(shrinker);
+err_name:
+	kfree(shrinker);
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(shrinker_alloc);
+
+void shrinker_register(struct shrinker *shrinker)
+{
+	if (unlikely(!(shrinker->flags & SHRINKER_ALLOCATED))) {
+		pr_warn("Must use shrinker_alloc() to dynamically allocate the shrinker");
+		return;
+	}
+
+	down_write(&shrinker_rwsem);
+	list_add_tail(&shrinker->list, &shrinker_list);
+	shrinker->flags |= SHRINKER_REGISTERED;
+	shrinker_debugfs_add(shrinker);
+	up_write(&shrinker_rwsem);
+}
+EXPORT_SYMBOL_GPL(shrinker_register);
+
+void shrinker_free(struct shrinker *shrinker)
+{
+	struct dentry *debugfs_entry = NULL;
+	int debugfs_id;
+
+	if (!shrinker)
+		return;
+
+	down_write(&shrinker_rwsem);
+	if (shrinker->flags & SHRINKER_REGISTERED) {
+		list_del(&shrinker->list);
+		debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
+		shrinker->flags &= ~SHRINKER_REGISTERED;
+	} else {
+		shrinker_debugfs_name_free(shrinker);
+	}
+
+	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
+		unregister_memcg_shrinker(shrinker);
+	up_write(&shrinker_rwsem);
+
+	if (debugfs_entry)
+		shrinker_debugfs_remove(debugfs_entry, debugfs_id);
+
+	kfree(shrinker->nr_deferred);
+	shrinker->nr_deferred = NULL;
+
+	kfree(shrinker);
+}
+EXPORT_SYMBOL_GPL(shrinker_free);
+
 /*
  * Add a shrinker callback to be called from the vm.
  */
diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c
index 61702bdc1af4..aa2027075ed9 100644
--- a/mm/shrinker_debug.c
+++ b/mm/shrinker_debug.c
@@ -191,6 +191,20 @@ int shrinker_debugfs_add(struct shrinker *shrinker)
 	return 0;
 }
 
+int shrinker_debugfs_name_alloc(struct shrinker *shrinker, const char *fmt,
+				va_list ap)
+{
+	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
+
+	return shrinker->name ? 0 : -ENOMEM;
+}
+
+void shrinker_debugfs_name_free(struct shrinker *shrinker)
+{
+	kfree_const(shrinker->name);
+	shrinker->name = NULL;
+}
+
 int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
 {
 	struct dentry *entry;
@@ -239,8 +253,7 @@ struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
 
 	lockdep_assert_held(&shrinker_rwsem);
 
-	kfree_const(shrinker->name);
-	shrinker->name = NULL;
+	shrinker_debugfs_name_free(shrinker);
 
 	*debugfs_id = entry ? shrinker->debugfs_id : -1;
 	shrinker->debugfs_entry = NULL;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:11:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578026.905241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8g-0004LF-Ee; Mon, 07 Aug 2023 11:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578026.905241; Mon, 07 Aug 2023 11: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 1qSy8g-0004L1-Be; Mon, 07 Aug 2023 11:11:06 +0000
Received: by outflank-mailman (input) for mailman id 578026;
 Mon, 07 Aug 2023 11:11:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy8f-00018O-1L
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:11:05 +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 1774fe72-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:11:01 +0200 (CEST)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-265c94064b8so592413a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:11:01 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.10.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:10: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: 1774fe72-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406660; x=1692011460;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gw0136sZs5r00/aJ54ocs9PBikYP7lRbXpwQPAfPTOc=;
        b=Gyvrq2nfyAR2gtiKV5zvL8Xhj+SCDDvYcDtn1XMvCOK2WxV+VSYbUnzAoQjYyvGt5+
         PHTlpGahxelrDvlDYfQpwR6LaV4hFOqIXHRHdsrciNy+7qVINos9dShQ72ovzklZpuaN
         tBKHGkUe3hFlhdPUgFyU1ktgofOKrrDExvQw3WHpY26rCW0nNqj3a0s5WCQXQ9Bd9I93
         TEwgyMogZ1mPzKBfTbunK1McubgsswcAT76vheTTNvE/WuA1UFNnV1+1CWE/ou902ykn
         9hSF0PrzcrYBFpqGd0qLFTJvVM4g/FWHVeqzvA2yGx34iIfgBZSGKt0JN+J335S8BL/2
         72/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406660; x=1692011460;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gw0136sZs5r00/aJ54ocs9PBikYP7lRbXpwQPAfPTOc=;
        b=Wm//9xgmP+ZQeNfDMQ3RZIauog80cq6kYO8X8LSsWdJ16AT02R26e2uONE/PuhgR7k
         IjgDQvpOkgpie19SoUVEOilWSsSAwW6sD6UB4uAQHqle37O/qyyHYBNkl1DgaUkkDg4G
         O14JOZygEemvOGsV5ArS5jZ9S7KRARaoYru++nnQ5wjF/IscbXpZ2mmS0xU1zMQ44Jkj
         LO4J1ngZMRAAqi2aGsnU8zt0TkJJf/bWKoTqqpq5mKKUBn2vuwVczV5+2btEAGJhxWfl
         OV/2K9fFHsHxb2dGHc3wZy6Yvu7G4oYGww0DEIdzLzLadEGmyTb82mfcpC0tTyX1rd+3
         eZng==
X-Gm-Message-State: ABy/qLZIP8cvakR0yqS7BL3Ty11j2qmeRJpx0R2WKrbqpFD8TFF2QVim
	YefcboIhofzexBcvtYusEItzpQ==
X-Google-Smtp-Source: APBJJlEPLwCkyM2NxjgH9xwMvzhNNiNlagu6lRBAbkDAEcDSA5oH2sSREkdo5fvCbnVAS1DDWMCKvg==
X-Received: by 2002:a17:90a:4104:b0:25c:1ad3:a4a1 with SMTP id u4-20020a17090a410400b0025c1ad3a4a1mr24588690pjf.1.1691406660379;
        Mon, 07 Aug 2023 04:11:00 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 05/48] kvm: mmu: dynamically allocate the x86-mmu shrinker
Date: Mon,  7 Aug 2023 19:08:53 +0800
Message-Id: <20230807110936.21819-6-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the x86-mmu shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 arch/x86/kvm/mmu/mmu.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 9e4cd8b4a202..0386d5ec97b0 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -6804,11 +6804,7 @@ static unsigned long mmu_shrink_count(struct shrinker *shrink,
 	return percpu_counter_read_positive(&kvm_total_used_mmu_pages);
 }
 
-static struct shrinker mmu_shrinker = {
-	.count_objects = mmu_shrink_count,
-	.scan_objects = mmu_shrink_scan,
-	.seeks = DEFAULT_SEEKS * 10,
-};
+static struct shrinker *mmu_shrinker;
 
 static void mmu_destroy_caches(void)
 {
@@ -6941,10 +6937,16 @@ int kvm_mmu_vendor_module_init(void)
 	if (percpu_counter_init(&kvm_total_used_mmu_pages, 0, GFP_KERNEL))
 		goto out;
 
-	ret = register_shrinker(&mmu_shrinker, "x86-mmu");
-	if (ret)
+	mmu_shrinker = shrinker_alloc(0, "x86-mmu");
+	if (!mmu_shrinker)
 		goto out_shrinker;
 
+	mmu_shrinker->count_objects = mmu_shrink_count;
+	mmu_shrinker->scan_objects = mmu_shrink_scan;
+	mmu_shrinker->seeks = DEFAULT_SEEKS * 10;
+
+	shrinker_register(mmu_shrinker);
+
 	return 0;
 
 out_shrinker:
@@ -6966,7 +6968,7 @@ void kvm_mmu_vendor_module_exit(void)
 {
 	mmu_destroy_caches();
 	percpu_counter_destroy(&kvm_total_used_mmu_pages);
-	unregister_shrinker(&mmu_shrinker);
+	shrinker_free(mmu_shrinker);
 }
 
 /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:11:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578032.905250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8q-0004px-ON; Mon, 07 Aug 2023 11:11:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578032.905250; Mon, 07 Aug 2023 11:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSy8q-0004pp-LZ; Mon, 07 Aug 2023 11:11:16 +0000
Received: by outflank-mailman (input) for mailman id 578032;
 Mon, 07 Aug 2023 11:11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy8p-0002Ee-5f
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:11:15 +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 1f15c7de-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:11:14 +0200 (CEST)
Received: by mail-pg1-x533.google.com with SMTP id
 41be03b00d2f7-55b5a37acb6so361726a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:11:14 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.11.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:11: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: 1f15c7de-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406673; x=1692011473;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YQ2nJ797AaeiRC4tEbuFSwr/qroaEGD64TBkJX9gwcc=;
        b=ln47b2De8WoaconN/yovNFIYkpyrSlbHjJ7O30AuN0v3fhaptV8Rv8p/uTgMw5ewUp
         ZG1baXWX3w4cWqVDXIBOemS0oLj2+PNkaGXC2OZVpKMXphkVdxVMTs/lnTAL5HQl/5sY
         XaAH/gxR2iJTsD9i1SGvIVeauJ8ohBUlyO6fZCAIfCsaCSqlNBgSWC3X4OcCTxOF8D8P
         aJ3rhIbrBRQ4RScgXu8Juii6sq5YNvbJw6x09Ixyfaq7t74WXRGryvfs7JEz6b0jZFwc
         ahGUwsb8fn5Z7b9T7/r6r1MmeGyYyDblu8RFgBNHHb0eaf9aJCBTyNjHYvmNxb3vGqrU
         A9hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406673; x=1692011473;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YQ2nJ797AaeiRC4tEbuFSwr/qroaEGD64TBkJX9gwcc=;
        b=M0ZiYOwDXC+xMfiI3/AdM+JNwS2KIJvSXGSyd84mZ+ZAZR6pA0l/tqtjSb1ZGxjiIX
         8CeoBb/aaG4hU1Wq8DocHW3vqnhvsbb0qFi5eCjPI5zlKpcopyiiOPf5Ov2qZww4uEZ3
         FRtrywCOLP8/p1AMl1653HQ/3rqb/v2wg0H6mF/J03gLPs389DenxTfaXorlaebkSPe3
         5xT5YOUwxfbzeifg8eAxKy1MsL/pl5zldHW87whDuP2I9BR4sW6F6WrsnJIZIxTFFWws
         T8F+avXyysnHFF5KOOy9yZ7+M7IWJ0GT7VbnkIwDj0xn7A3qUNkxbPPll1bfrP/E8SLP
         VDcg==
X-Gm-Message-State: ABy/qLYYGz1UeYzt7o54ETlyEANcTPR/oLu4Y5QcJyd4GBbi/T/tf7bw
	5hoV8o+Vt7DCoES4zm3URdtNaw==
X-Google-Smtp-Source: APBJJlHrBtuiCQCJiVcJQ0g2xFi5uTTiYi1uZvqZ47NJp4VxlVmrIr4dlBS1TaGO2GoKAlBNE4DJvw==
X-Received: by 2002:a17:90a:53a3:b0:268:437:7bd9 with SMTP id y32-20020a17090a53a300b0026804377bd9mr23468663pjh.3.1691406672888;
        Mon, 07 Aug 2023 04:11:12 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 06/48] binder: dynamically allocate the android-binder shrinker
Date: Mon,  7 Aug 2023 19:08:54 +0800
Message-Id: <20230807110936.21819-7-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the android-binder shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 drivers/android/binder_alloc.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c
index e3db8297095a..62675cedd38e 100644
--- a/drivers/android/binder_alloc.c
+++ b/drivers/android/binder_alloc.c
@@ -1053,11 +1053,7 @@ binder_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
 			    NULL, sc->nr_to_scan);
 }
 
-static struct shrinker binder_shrinker = {
-	.count_objects = binder_shrink_count,
-	.scan_objects = binder_shrink_scan,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *binder_shrinker;
 
 /**
  * binder_alloc_init() - called by binder_open() for per-proc initialization
@@ -1077,19 +1073,30 @@ void binder_alloc_init(struct binder_alloc *alloc)
 
 int binder_alloc_shrinker_init(void)
 {
-	int ret = list_lru_init(&binder_alloc_lru);
+	int ret;
 
-	if (ret == 0) {
-		ret = register_shrinker(&binder_shrinker, "android-binder");
-		if (ret)
-			list_lru_destroy(&binder_alloc_lru);
+	ret = list_lru_init(&binder_alloc_lru);
+	if (ret)
+		return ret;
+
+	binder_shrinker = shrinker_alloc(0, "android-binder");
+	if (!binder_shrinker) {
+		list_lru_destroy(&binder_alloc_lru);
+		return -ENOMEM;
 	}
-	return ret;
+
+	binder_shrinker->count_objects = binder_shrink_count;
+	binder_shrinker->scan_objects = binder_shrink_scan;
+	binder_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(binder_shrinker);
+
+	return 0;
 }
 
 void binder_alloc_shrinker_exit(void)
 {
-	unregister_shrinker(&binder_shrinker);
+	shrinker_free(binder_shrinker);
 	list_lru_destroy(&binder_alloc_lru);
 }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:14:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:14:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578047.905260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyBm-00061F-AC; Mon, 07 Aug 2023 11:14:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578047.905260; Mon, 07 Aug 2023 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyBm-000618-7g; Mon, 07 Aug 2023 11:14:18 +0000
Received: by outflank-mailman (input) for mailman id 578047;
 Mon, 07 Aug 2023 11:14:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyBl-000610-GT
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:14:17 +0000
Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com
 [2607:f8b0:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ae30831-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:14:15 +0200 (CEST)
Received: by mail-pf1-x429.google.com with SMTP id
 d2e1a72fcca58-6878db91494so757977b3a.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:14:15 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.14.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 8ae30831-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406854; x=1692011654;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UfFRGPeE2ZLo8C9JFiR7wWvNCzDdrS4O9P7I0rwozQE=;
        b=ONEUI0IfFZms4FG9PetOl8bvKenOqN1nU77N5Qte1+jcUcBw58bz7f+hU+R7TeYF+V
         lh6zqoEeFSpZcpg8mRig+kmjWUt6kfXbSu+9NeAXYfo3N+VsjNhMLOsuKkNQEOPAjcDK
         uUyV00OaSrfiIXIqqcl52eWZs37Xm/4rryCSVvHnIArrw8ERrhcN4eSxoW+GqcL8/yIb
         KwF9HiN5U8S+9tgj6CAiBWcQ9gvQLYdhSLPDQ8D4Yya1PGPZvz8SVg49P9ivLovoYGLT
         Rib8AROfQ3COlCK0yM55x9RlvasI2HVvqoY8nt3eQf4jmVmec6kkSrsQ1MGHdEx91QwE
         bHJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406854; x=1692011654;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UfFRGPeE2ZLo8C9JFiR7wWvNCzDdrS4O9P7I0rwozQE=;
        b=JEkOE53/3jJvmTePmE03e73y4yGVLdaQOMemUAaWIMs6wk17hvUXp+kmFAOc93eGOF
         0t+/0Cdg12XOs7NyDXze21igkTBoBETK+XkEVDb65IYs2dy8N/HVpxPt3CoXFEmUrdd4
         p5myAw76cXtTxNGasR8yh4j1yoz89rBQ6XsEikASPZe7D3FkoyP5WGLm4BveYlXTAzrc
         iZ4jj5a+P+gJ82ND55br1KMyreA8+uREcFFb53ZppawAnRRnZBbZA2RFHukKpFP0c91w
         TfLQo0nOH8uByLkfU9OYRpktp6pPOPQ4btZfbtSsXIdynHddhpeoXZFU3CUByhVNYlZC
         RWwA==
X-Gm-Message-State: ABy/qLZA3QnUGpj+/ViLjyTdZGr1t4QZbTJt4ayBV/6Wk8vEOW46pv1N
	Ho4Nxyo1UoItiEweSMSYYm2Zew==
X-Google-Smtp-Source: APBJJlFKEuLPG6rXvjHQ/xhYlF3mJA1G+qTCCufEjWmHi053bG2lxjJC7FtDeUsrnl72QxE+YEuj1g==
X-Received: by 2002:a17:902:d503:b0:1bb:83ec:832 with SMTP id b3-20020a170902d50300b001bb83ec0832mr32625772plg.2.1691406854020;
        Mon, 07 Aug 2023 04:14:14 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 20/48] mm: thp: dynamically allocate the thp-related shrinkers
Date: Mon,  7 Aug 2023 19:09:08 +0800
Message-Id: <20230807110936.21819-21-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the thp-zero and thp-deferred_split
shrinkers.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 mm/huge_memory.c | 69 +++++++++++++++++++++++++++++++-----------------
 1 file changed, 45 insertions(+), 24 deletions(-)

diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 947001a7cd42..5d0c7a0b651c 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -65,7 +65,11 @@ unsigned long transparent_hugepage_flags __read_mostly =
 	(1<<TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG)|
 	(1<<TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG);
 
-static struct shrinker deferred_split_shrinker;
+static struct shrinker *deferred_split_shrinker;
+static unsigned long deferred_split_count(struct shrinker *shrink,
+					  struct shrink_control *sc);
+static unsigned long deferred_split_scan(struct shrinker *shrink,
+					 struct shrink_control *sc);
 
 static atomic_t huge_zero_refcount;
 struct page *huge_zero_page __read_mostly;
@@ -229,11 +233,7 @@ static unsigned long shrink_huge_zero_page_scan(struct shrinker *shrink,
 	return 0;
 }
 
-static struct shrinker huge_zero_page_shrinker = {
-	.count_objects = shrink_huge_zero_page_count,
-	.scan_objects = shrink_huge_zero_page_scan,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *huge_zero_page_shrinker;
 
 #ifdef CONFIG_SYSFS
 static ssize_t enabled_show(struct kobject *kobj,
@@ -454,6 +454,40 @@ static inline void hugepage_exit_sysfs(struct kobject *hugepage_kobj)
 }
 #endif /* CONFIG_SYSFS */
 
+static int __init thp_shrinker_init(void)
+{
+	huge_zero_page_shrinker = shrinker_alloc(0, "thp-zero");
+	if (!huge_zero_page_shrinker)
+		return -ENOMEM;
+
+	deferred_split_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE |
+						 SHRINKER_MEMCG_AWARE |
+						 SHRINKER_NONSLAB,
+						 "thp-deferred_split");
+	if (!deferred_split_shrinker) {
+		shrinker_free(huge_zero_page_shrinker);
+		return -ENOMEM;
+	}
+
+	huge_zero_page_shrinker->count_objects = shrink_huge_zero_page_count;
+	huge_zero_page_shrinker->scan_objects = shrink_huge_zero_page_scan;
+	huge_zero_page_shrinker->seeks = DEFAULT_SEEKS;
+	shrinker_register(huge_zero_page_shrinker);
+
+	deferred_split_shrinker->count_objects = deferred_split_count;
+	deferred_split_shrinker->scan_objects = deferred_split_scan;
+	deferred_split_shrinker->seeks = DEFAULT_SEEKS;
+	shrinker_register(deferred_split_shrinker);
+
+	return 0;
+}
+
+static void __init thp_shrinker_exit(void)
+{
+	shrinker_free(huge_zero_page_shrinker);
+	shrinker_free(deferred_split_shrinker);
+}
+
 static int __init hugepage_init(void)
 {
 	int err;
@@ -482,12 +516,9 @@ static int __init hugepage_init(void)
 	if (err)
 		goto err_slab;
 
-	err = register_shrinker(&huge_zero_page_shrinker, "thp-zero");
-	if (err)
-		goto err_hzp_shrinker;
-	err = register_shrinker(&deferred_split_shrinker, "thp-deferred_split");
+	err = thp_shrinker_init();
 	if (err)
-		goto err_split_shrinker;
+		goto err_shrinker;
 
 	/*
 	 * By default disable transparent hugepages on smaller systems,
@@ -505,10 +536,8 @@ static int __init hugepage_init(void)
 
 	return 0;
 err_khugepaged:
-	unregister_shrinker(&deferred_split_shrinker);
-err_split_shrinker:
-	unregister_shrinker(&huge_zero_page_shrinker);
-err_hzp_shrinker:
+	thp_shrinker_exit();
+err_shrinker:
 	khugepaged_destroy();
 err_slab:
 	hugepage_exit_sysfs(hugepage_kobj);
@@ -2834,7 +2863,7 @@ void deferred_split_folio(struct folio *folio)
 #ifdef CONFIG_MEMCG
 		if (memcg)
 			set_shrinker_bit(memcg, folio_nid(folio),
-					 deferred_split_shrinker.id);
+					 deferred_split_shrinker->id);
 #endif
 	}
 	spin_unlock_irqrestore(&ds_queue->split_queue_lock, flags);
@@ -2908,14 +2937,6 @@ static unsigned long deferred_split_scan(struct shrinker *shrink,
 	return split;
 }
 
-static struct shrinker deferred_split_shrinker = {
-	.count_objects = deferred_split_count,
-	.scan_objects = deferred_split_scan,
-	.seeks = DEFAULT_SEEKS,
-	.flags = SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE |
-		 SHRINKER_NONSLAB,
-};
-
 #ifdef CONFIG_DEBUG_FS
 static void split_huge_pages_all(void)
 {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:14:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:14:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578048.905270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyBz-0006MP-Hf; Mon, 07 Aug 2023 11:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578048.905270; Mon, 07 Aug 2023 11:14:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyBz-0006ME-F8; Mon, 07 Aug 2023 11:14:31 +0000
Received: by outflank-mailman (input) for mailman id 578048;
 Mon, 07 Aug 2023 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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyBx-000610-Vx
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:14:29 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9293b0d0-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:14:28 +0200 (CEST)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-2690803a368so590612a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:14:28 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.14.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:14:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9293b0d0-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406867; x=1692011667;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=igblsYgdIrcTAL0swCZj529c9jjsKo5CwfFS1Qcng2s=;
        b=E/hLPt4J9XwFdy6Q/ScFkKAboS35nT/aVetijUs1uOyzpCdXJrzvux0WuTkbJahYDU
         HJ4RnOFgFoSV4vIvUSABYCFS8MT8O5BBdFRn/e0d22QvpkBHCvD7k0jL91l8VKqh/AnF
         pNO49bmGYrjFLlyM+it2E7+BjcoRQ4qvC4Z3zAnwRx4Mtu2gDzO6KjINZG5u37W7YPwR
         rd9mA5oeLZ1tw0ARUeeWuqEeVLZXyyZpLkD+mkbNh9jB2r9y+xHrPRtEaxpg/6wzvL2p
         pP/svPPe0egiR6EyNxAsA97H1SimGEidDNnScRjB0NSGHk7qAYW8vH7pvvrUaRXF4mmo
         0r3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406867; x=1692011667;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=igblsYgdIrcTAL0swCZj529c9jjsKo5CwfFS1Qcng2s=;
        b=SG1iYr5DToFf2UekpJKlS+aeMnNLA5c23LJI+7tclLiUebUfSX5RubMWhYTvgnxCR4
         myVbOtIuByKwhwUZ7KkcwmwpyUgSrcj9Rod7vD+Z+L3qQVZcPtqRVb9nymGyFO/r8xC7
         RyxdBxEwEJ6s96UQMnvNIEEks4Wj11JzwQsW9lk06+P8Hsq6uY/77yN/l/8Ab3EZ1P8C
         SzivgY743hR91IGeJxL1UNSU18t3F6udDc22kAbiOl9q453RZZFTjQdRGq35LgtK0Lus
         UN6ER0+o4C9rCSnr7kLx3mWNx62NQrMf3pRDpzHXwkRwUUVUgtoh68lcOKjqzq3nxGN2
         H2bA==
X-Gm-Message-State: ABy/qLa2dZ2QbSnl53V9CACBKgJCMAWuenCA52kiRbfnaM1wjmfAR8xV
	ozSfswKlO7/SPpWt40prC6ty2A==
X-Google-Smtp-Source: APBJJlGEDKqK4nyUWs8xE2EOJL+ODt25deDnA1/u8sHRAURqC7uD6bjxMDwwed+SXn6y84Un7sE7wA==
X-Received: by 2002:a17:90a:1090:b0:268:126c:8a8b with SMTP id c16-20020a17090a109000b00268126c8a8bmr24570134pja.3.1691406867003;
        Mon, 07 Aug 2023 04:14:27 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 21/48] sunrpc: dynamically allocate the sunrpc_cred shrinker
Date: Mon,  7 Aug 2023 19:09:09 +0800
Message-Id: <20230807110936.21819-22-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the sunrpc_cred shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 net/sunrpc/auth.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
index 2f16f9d17966..0cc52e39f859 100644
--- a/net/sunrpc/auth.c
+++ b/net/sunrpc/auth.c
@@ -861,11 +861,7 @@ rpcauth_uptodatecred(struct rpc_task *task)
 		test_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags) != 0;
 }
 
-static struct shrinker rpc_cred_shrinker = {
-	.count_objects = rpcauth_cache_shrink_count,
-	.scan_objects = rpcauth_cache_shrink_scan,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *rpc_cred_shrinker;
 
 int __init rpcauth_init_module(void)
 {
@@ -874,9 +870,18 @@ int __init rpcauth_init_module(void)
 	err = rpc_init_authunix();
 	if (err < 0)
 		goto out1;
-	err = register_shrinker(&rpc_cred_shrinker, "sunrpc_cred");
-	if (err < 0)
+	rpc_cred_shrinker = shrinker_alloc(0, "sunrpc_cred");
+	if (!rpc_cred_shrinker) {
+		err = -ENOMEM;
 		goto out2;
+	}
+
+	rpc_cred_shrinker->count_objects = rpcauth_cache_shrink_count;
+	rpc_cred_shrinker->scan_objects = rpcauth_cache_shrink_scan;
+	rpc_cred_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(rpc_cred_shrinker);
+
 	return 0;
 out2:
 	rpc_destroy_authunix();
@@ -887,5 +892,5 @@ int __init rpcauth_init_module(void)
 void rpcauth_remove_module(void)
 {
 	rpc_destroy_authunix();
-	unregister_shrinker(&rpc_cred_shrinker);
+	shrinker_free(rpc_cred_shrinker);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:14:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:14:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578051.905281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCC-0006v5-Qq; Mon, 07 Aug 2023 11:14:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578051.905281; Mon, 07 Aug 2023 11:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCC-0006uy-No; Mon, 07 Aug 2023 11:14:44 +0000
Received: by outflank-mailman (input) for mailman id 578051;
 Mon, 07 Aug 2023 11:14:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyCA-000610-U3
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:14:42 +0000
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com
 [2607:f8b0:4864:20::1031])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a4731bb-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:14:41 +0200 (CEST)
Received: by mail-pj1-x1031.google.com with SMTP id
 98e67ed59e1d1-26890669c8eso931997a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:14:41 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.14.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 9a4731bb-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406880; x=1692011680;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uDu/4z0sff3MNLq2Hem41DvJLtW9HR7Ht2OY0+o3IBw=;
        b=B1CW4rX5HR96iE4C61mcE8Vf6RLeUtYXgDxnwBceT7ft1IC5S++icQmFIFvrt4cG/L
         0c/u6FKIvYpbVXU295bMslZ7j2rgVaXwSjJRaIMLa4dIqq6HefzeIHqMKw0/Lo0rsfaU
         nsC5mn0wc4B6AcTwpHE7UQo4S/4ZAugQvuMvQEsWqhRZLmPoe9oa0Q7yCYFnuuapzCun
         SWccc4DpmmmlhTogFq9P0LyJEl3ZRZ2cm803+AIasPp033eu68uxaCfAoKnHA+NQuDMw
         Rtim+7y0rt6vcYQJO+qKgz5xgBY8yFO2AMQKXPDTy0z1fvoO5gByJOuvIrJQUEDpduII
         rIFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406880; x=1692011680;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uDu/4z0sff3MNLq2Hem41DvJLtW9HR7Ht2OY0+o3IBw=;
        b=EEqiq5e7Ya5Gi+mSDo0bvI5hKlxJh32GJ/x5OcFl66hUsG2Ul3fP0+QEoFwPhP3p+G
         7Cp1S6x5cKoyIcKFXGiHWAC+w6o7WroU3tqZIp1nCZOK9TgDqhTymhYEtfVjQ4VOumvp
         k1nDlvsu+u/4hvfU6lE9pzJls1hWz1uUsCBFoToHNDrptkbvfZd7tebQIYsOMVcTzb4q
         Qm+8EvpCdz7ftGOZ2XhsNd8qgZhH7iT3aknLOCWxk04jDTpFo5DLlB0BKtaJQ/ePGgHk
         UFM98WMWQ7mBRoXqAtjRYzvStqesIVNncW33KYddZNYc5r5oswY1/0ZgsbOGcxgkkatF
         axJA==
X-Gm-Message-State: ABy/qLYop+8SwGjMzBWNMbFNpmYA4XD8U6NowAfI0aoE3FJ3HYoukqNJ
	gHwNzaZinqzdPXerNwlprSxGtA==
X-Google-Smtp-Source: APBJJlE+JUQU2KnCMqxKRhVbnyE7g/MjXwiwJL23ihCwbN9GtK/yS0Snkx/m2fq2fyEzRCC+VQ52VA==
X-Received: by 2002:a17:90a:1f83:b0:268:3dc6:f0c5 with SMTP id x3-20020a17090a1f8300b002683dc6f0c5mr25034377pja.0.1691406879873;
        Mon, 07 Aug 2023 04:14:39 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 22/48] mm: workingset: dynamically allocate the mm-shadow shrinker
Date: Mon,  7 Aug 2023 19:09:10 +0800
Message-Id: <20230807110936.21819-23-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the mm-shadow shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 mm/workingset.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/mm/workingset.c b/mm/workingset.c
index da58a26d0d4d..3c53138903a7 100644
--- a/mm/workingset.c
+++ b/mm/workingset.c
@@ -763,13 +763,6 @@ static unsigned long scan_shadow_nodes(struct shrinker *shrinker,
 					NULL);
 }
 
-static struct shrinker workingset_shadow_shrinker = {
-	.count_objects = count_shadow_nodes,
-	.scan_objects = scan_shadow_nodes,
-	.seeks = 0, /* ->count reports only fully expendable nodes */
-	.flags = SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE,
-};
-
 /*
  * Our list_lru->lock is IRQ-safe as it nests inside the IRQ-safe
  * i_pages lock.
@@ -778,9 +771,10 @@ static struct lock_class_key shadow_nodes_key;
 
 static int __init workingset_init(void)
 {
+	struct shrinker *workingset_shadow_shrinker;
 	unsigned int timestamp_bits;
 	unsigned int max_order;
-	int ret;
+	int ret = -ENOMEM;
 
 	BUILD_BUG_ON(BITS_PER_LONG < EVICTION_SHIFT);
 	/*
@@ -797,17 +791,24 @@ static int __init workingset_init(void)
 	pr_info("workingset: timestamp_bits=%d max_order=%d bucket_order=%u\n",
 	       timestamp_bits, max_order, bucket_order);
 
-	ret = prealloc_shrinker(&workingset_shadow_shrinker, "mm-shadow");
-	if (ret)
+	workingset_shadow_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE |
+						    SHRINKER_MEMCG_AWARE,
+						    "mm-shadow");
+	if (!workingset_shadow_shrinker)
 		goto err;
+
 	ret = __list_lru_init(&shadow_nodes, true, &shadow_nodes_key,
-			      &workingset_shadow_shrinker);
+			      workingset_shadow_shrinker);
 	if (ret)
 		goto err_list_lru;
-	register_shrinker_prepared(&workingset_shadow_shrinker);
+
+	workingset_shadow_shrinker->count_objects = count_shadow_nodes;
+	workingset_shadow_shrinker->scan_objects = scan_shadow_nodes;
+
+	shrinker_register(workingset_shadow_shrinker);
 	return 0;
 err_list_lru:
-	free_prealloced_shrinker(&workingset_shadow_shrinker);
+	shrinker_free(workingset_shadow_shrinker);
 err:
 	return ret;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:14:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:14:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578055.905291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCO-0007LN-3d; Mon, 07 Aug 2023 11:14:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578055.905291; Mon, 07 Aug 2023 11: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 1qSyCO-0007LG-0c; Mon, 07 Aug 2023 11:14:56 +0000
Received: by outflank-mailman (input) for mailman id 578055;
 Mon, 07 Aug 2023 11:14: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyCM-0006s9-Ho
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:14:54 +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 a1d39ee2-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:14:54 +0200 (CEST)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-26890669c8eso932040a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:14:53 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.14.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:14: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: a1d39ee2-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406892; x=1692011692;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=41xmtjHXWdMgLIKiQIRlxv7trVO9ZOyoGRN9dVMIVRc=;
        b=cGZjKVIao4X1FE56kj8UAePkqWwhSzpoTbmrNAzfkmDpF5Xo4+OZiBUKSePxV9R+oc
         G1IRJ+7A7isb1SWVoDvsvP7l1acqUKxcQyd+kXEYl5Mu0ooyN6hulkaLMfilFtlIEGla
         KkeKIkL2nH6oGSLP/+1vanRLPdOnR/fS9enRnBTg7aqB7pi9sxUPyWaMbNSM9pXnXQt9
         F+c8OaDe/t6AXuSYKYbMSCyXVTJsX7WpDTPUxY7FQSwi2t5FHO1P7yp1d3ZwE/GiUbMl
         ZFX6hlQGpFpm61JBWLj396znt7v4WHHVqgWWYpv/xKPpAaGWrpTBuQAyZLcxUgv1USuO
         WJbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406892; x=1692011692;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=41xmtjHXWdMgLIKiQIRlxv7trVO9ZOyoGRN9dVMIVRc=;
        b=g3ecOa+Bg4Bfds7qk3g88qzqNTHbCBLzawLZPb09KM0scKZRGohVCsMteoEyD9LePm
         3mBa2JoWn08NG4ch5FND/eHIh3YxQVeY1Erqy2n7sdMMSBM6vlUHrnqjSNl6oBgxNzCS
         Kv/Ij1Vsp94KL2m65NWHraZrVA/KJTqhoaThda1He0xkr8Hn3DIg/M0zXIUcRyEcaJTE
         pJkUbgJKT3/f2pgYj+PDMJINQjyxZn9x6W002K4vBsqbYQrfeowetO8v6WJmLRr2uZhR
         m7MMrCbRRzcOXpu7td+dKLsIIwhjm+T1aD0uCc6QiUzROuOaIh2CEnIwiJ9NW9cRR6I3
         Z4DA==
X-Gm-Message-State: AOJu0YzxaNRsWbvAis0mFIVFGOqNJ9IVHIWRUFbx/bQHm/TrHb9SRa0a
	HALtLlDtXwlBNnAx+rzpQsKzxA==
X-Google-Smtp-Source: AGHT+IHGYi4H3eJU6+xZDF9BksA4+I5hA9Bl5pPgRuSaTGIaReiVuXjmY2IFcPrIIfpO+IdhjanDJQ==
X-Received: by 2002:a17:90a:9c3:b0:269:41cf:7212 with SMTP id 61-20020a17090a09c300b0026941cf7212mr4963504pjo.4.1691406892562;
        Mon, 07 Aug 2023 04:14:52 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 23/48] drm/i915: dynamically allocate the i915_gem_mm shrinker
Date: Mon,  7 Aug 2023 19:09:11 +0800
Message-Id: <20230807110936.21819-24-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the i915_gem_mm shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct drm_i915_private.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 30 +++++++++++---------
 drivers/gpu/drm/i915/i915_drv.h              |  2 +-
 2 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
index 214763942aa2..4504eb4f31d5 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
@@ -284,8 +284,7 @@ unsigned long i915_gem_shrink_all(struct drm_i915_private *i915)
 static unsigned long
 i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct drm_i915_private *i915 =
-		container_of(shrinker, struct drm_i915_private, mm.shrinker);
+	struct drm_i915_private *i915 = shrinker->private_data;
 	unsigned long num_objects;
 	unsigned long count;
 
@@ -302,8 +301,8 @@ i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
 	if (num_objects) {
 		unsigned long avg = 2 * count / num_objects;
 
-		i915->mm.shrinker.batch =
-			max((i915->mm.shrinker.batch + avg) >> 1,
+		i915->mm.shrinker->batch =
+			max((i915->mm.shrinker->batch + avg) >> 1,
 			    128ul /* default SHRINK_BATCH */);
 	}
 
@@ -313,8 +312,7 @@ i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
 static unsigned long
 i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct drm_i915_private *i915 =
-		container_of(shrinker, struct drm_i915_private, mm.shrinker);
+	struct drm_i915_private *i915 = shrinker->private_data;
 	unsigned long freed;
 
 	sc->nr_scanned = 0;
@@ -422,12 +420,18 @@ i915_gem_shrinker_vmap(struct notifier_block *nb, unsigned long event, void *ptr
 
 void i915_gem_driver_register__shrinker(struct drm_i915_private *i915)
 {
-	i915->mm.shrinker.scan_objects = i915_gem_shrinker_scan;
-	i915->mm.shrinker.count_objects = i915_gem_shrinker_count;
-	i915->mm.shrinker.seeks = DEFAULT_SEEKS;
-	i915->mm.shrinker.batch = 4096;
-	drm_WARN_ON(&i915->drm, register_shrinker(&i915->mm.shrinker,
-						  "drm-i915_gem"));
+	i915->mm.shrinker = shrinker_alloc(0, "drm-i915_gem");
+	if (!i915->mm.shrinker) {
+		drm_WARN_ON(&i915->drm, 1);
+	} else {
+		i915->mm.shrinker->scan_objects = i915_gem_shrinker_scan;
+		i915->mm.shrinker->count_objects = i915_gem_shrinker_count;
+		i915->mm.shrinker->seeks = DEFAULT_SEEKS;
+		i915->mm.shrinker->batch = 4096;
+		i915->mm.shrinker->private_data = i915;
+
+		shrinker_register(i915->mm.shrinker);
+	}
 
 	i915->mm.oom_notifier.notifier_call = i915_gem_shrinker_oom;
 	drm_WARN_ON(&i915->drm, register_oom_notifier(&i915->mm.oom_notifier));
@@ -443,7 +447,7 @@ void i915_gem_driver_unregister__shrinker(struct drm_i915_private *i915)
 		    unregister_vmap_purge_notifier(&i915->mm.vmap_notifier));
 	drm_WARN_ON(&i915->drm,
 		    unregister_oom_notifier(&i915->mm.oom_notifier));
-	unregister_shrinker(&i915->mm.shrinker);
+	shrinker_free(i915->mm.shrinker);
 }
 
 void i915_gem_shrinker_taints_mutex(struct drm_i915_private *i915,
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 682ef2b5c7d5..389e8bf140d7 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -163,7 +163,7 @@ struct i915_gem_mm {
 
 	struct notifier_block oom_notifier;
 	struct notifier_block vmap_notifier;
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 
 #ifdef CONFIG_MMU_NOTIFIER
 	/**
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:15:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578058.905301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCb-0007vE-FT; Mon, 07 Aug 2023 11:15:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578058.905301; Mon, 07 Aug 2023 11:15:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCb-0007v1-Cm; Mon, 07 Aug 2023 11:15:09 +0000
Received: by outflank-mailman (input) for mailman id 578058;
 Mon, 07 Aug 2023 11:15:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyCa-000610-FU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:15:08 +0000
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com
 [2607:f8b0:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a97c9df0-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:15:06 +0200 (CEST)
Received: by mail-pg1-x52e.google.com with SMTP id
 41be03b00d2f7-56462258cdeso526285a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:15:06 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.14.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:15: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: a97c9df0-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406905; x=1692011705;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Tu9w5C30y8MI/napZavPwFZ6nIJBEFlaB1CCEG9BfCw=;
        b=a1z4YhZHvqFoPORrF+lPhY3j/XjC+TmNlvpRZtfYsAqK97Oj+7/3ynKuNED1mH7m1Z
         6e06VRzbid9nZWrrMcucwcQQbl3wWoXnyMdc8ZAlXCmo2cCjWRY3iHx4TeC9QHkfs0aM
         d8RS7FugZHSZy2lCqTJeQn9s7jGIX4/E3wPsaz9+SXihbEJvHaKoo3rxKtwLTkFE7bEU
         BQoGy+vR8UkI3yNn8zdn5buykCB5rpkHr/BUOTCuwQKNihZsP/3d1GH/pY3/5pZuhseK
         T4uD+LwrMEDhqbcy3e5z3ztow6Tvzy0xPmsoxdy/BtYqGaCEBDHXu6qpNBRWJ+H1UeBT
         R1aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406905; x=1692011705;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Tu9w5C30y8MI/napZavPwFZ6nIJBEFlaB1CCEG9BfCw=;
        b=WkpDkMG96Q/YcFsoG/aIAEae0ifUnyacVQWVyFA4Kovk810FkK1VF5GyPJyDxteDe0
         wWwsemTSFb8Uy2oghRpSK7JnyTR3zxHaJXbNfqr1RXhtxpv6fQS8BZZyecypj56uuvgF
         oetUS1o1bkgrANCxyGwMcFxyxgKcSZWcEBIfx9BdHOoOVR7anGl01V9mp6GCiBehJjML
         BGBrxgOmFgf10dIL2hWaZPJdYUIVsR+/2886x6dxGkQQh1BwAyykzIuI5yVU/cCw9bNT
         WvsB6+3j6gSZF4+x+1rEjQlYoznhHBImFXnarP9pORCnCBGyOwJCxjEFnrh9DN6ZOqOG
         rO9Q==
X-Gm-Message-State: AOJu0YyyCSx/FC6AHhO89GD4cLA5sDD9mSPaTNOw3Sd6qnMxd1wWLEVf
	U1QUL6y2Qz3ZlXK/xhGGrB74sQ==
X-Google-Smtp-Source: AGHT+IEpCcigBA86rq7g8CBmKfvn4KajAK33DI3WvO1RysFov39NnZyAmCT+CDGKi31ZOdqYdEGlDQ==
X-Received: by 2002:a17:90a:c8d:b0:268:196f:9656 with SMTP id v13-20020a17090a0c8d00b00268196f9656mr12996964pja.1.1691406905372;
        Mon, 07 Aug 2023 04:15:05 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 24/48] drm/msm: dynamically allocate the drm-msm_gem shrinker
Date: Mon,  7 Aug 2023 19:09:12 +0800
Message-Id: <20230807110936.21819-25-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the drm-msm_gem shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct msm_drm_private.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/gpu/drm/msm/msm_drv.c          |  4 ++-
 drivers/gpu/drm/msm/msm_drv.h          |  4 +--
 drivers/gpu/drm/msm/msm_gem_shrinker.c | 34 ++++++++++++++++----------
 3 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 4bd028fa7500..7f20249d6071 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -462,7 +462,9 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
 	if (ret)
 		goto err_msm_uninit;
 
-	msm_gem_shrinker_init(ddev);
+	ret = msm_gem_shrinker_init(ddev);
+	if (ret)
+		goto err_msm_uninit;
 
 	if (priv->kms_init) {
 		ret = priv->kms_init(ddev);
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 02fd6c7d0bb7..e2fc56f161b5 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -221,7 +221,7 @@ struct msm_drm_private {
 	} vram;
 
 	struct notifier_block vmap_notifier;
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 
 	struct drm_atomic_state *pm_state;
 
@@ -283,7 +283,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
 unsigned long msm_gem_shrinker_shrink(struct drm_device *dev, unsigned long nr_to_scan);
 #endif
 
-void msm_gem_shrinker_init(struct drm_device *dev);
+int msm_gem_shrinker_init(struct drm_device *dev);
 void msm_gem_shrinker_cleanup(struct drm_device *dev);
 
 struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
diff --git a/drivers/gpu/drm/msm/msm_gem_shrinker.c b/drivers/gpu/drm/msm/msm_gem_shrinker.c
index f38296ad8743..20699993e4f8 100644
--- a/drivers/gpu/drm/msm/msm_gem_shrinker.c
+++ b/drivers/gpu/drm/msm/msm_gem_shrinker.c
@@ -34,8 +34,7 @@ static bool can_block(struct shrink_control *sc)
 static unsigned long
 msm_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct msm_drm_private *priv =
-		container_of(shrinker, struct msm_drm_private, shrinker);
+	struct msm_drm_private *priv = shrinker->private_data;
 	unsigned count = priv->lru.dontneed.count;
 
 	if (can_swap())
@@ -100,8 +99,7 @@ active_evict(struct drm_gem_object *obj)
 static unsigned long
 msm_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct msm_drm_private *priv =
-		container_of(shrinker, struct msm_drm_private, shrinker);
+	struct msm_drm_private *priv = shrinker->private_data;
 	struct {
 		struct drm_gem_lru *lru;
 		bool (*shrink)(struct drm_gem_object *obj);
@@ -148,10 +146,11 @@ msm_gem_shrinker_shrink(struct drm_device *dev, unsigned long nr_to_scan)
 	struct shrink_control sc = {
 		.nr_to_scan = nr_to_scan,
 	};
-	int ret;
+	unsigned long ret = SHRINK_STOP;
 
 	fs_reclaim_acquire(GFP_KERNEL);
-	ret = msm_gem_shrinker_scan(&priv->shrinker, &sc);
+	if (priv->shrinker)
+		ret = msm_gem_shrinker_scan(priv->shrinker, &sc);
 	fs_reclaim_release(GFP_KERNEL);
 
 	return ret;
@@ -210,16 +209,25 @@ msm_gem_shrinker_vmap(struct notifier_block *nb, unsigned long event, void *ptr)
  *
  * This function registers and sets up the msm shrinker.
  */
-void msm_gem_shrinker_init(struct drm_device *dev)
+int msm_gem_shrinker_init(struct drm_device *dev)
 {
 	struct msm_drm_private *priv = dev->dev_private;
-	priv->shrinker.count_objects = msm_gem_shrinker_count;
-	priv->shrinker.scan_objects = msm_gem_shrinker_scan;
-	priv->shrinker.seeks = DEFAULT_SEEKS;
-	WARN_ON(register_shrinker(&priv->shrinker, "drm-msm_gem"));
+
+	priv->shrinker = shrinker_alloc(0, "drm-msm_gem");
+	if (!priv->shrinker)
+		return -ENOMEM;
+
+	priv->shrinker->count_objects = msm_gem_shrinker_count;
+	priv->shrinker->scan_objects = msm_gem_shrinker_scan;
+	priv->shrinker->seeks = DEFAULT_SEEKS;
+	priv->shrinker->private_data = priv;
+
+	shrinker_register(priv->shrinker);
 
 	priv->vmap_notifier.notifier_call = msm_gem_shrinker_vmap;
 	WARN_ON(register_vmap_purge_notifier(&priv->vmap_notifier));
+
+	return 0;
 }
 
 /**
@@ -232,8 +240,8 @@ void msm_gem_shrinker_cleanup(struct drm_device *dev)
 {
 	struct msm_drm_private *priv = dev->dev_private;
 
-	if (priv->shrinker.nr_deferred) {
+	if (priv->shrinker) {
 		WARN_ON(unregister_vmap_purge_notifier(&priv->vmap_notifier));
-		unregister_shrinker(&priv->shrinker);
+		shrinker_free(priv->shrinker);
 	}
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:15:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:15:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578063.905311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCo-0008UR-PR; Mon, 07 Aug 2023 11:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578063.905311; Mon, 07 Aug 2023 11:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCo-0008UK-LM; Mon, 07 Aug 2023 11:15:22 +0000
Received: by outflank-mailman (input) for mailman id 578063;
 Mon, 07 Aug 2023 11:15:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyCn-000610-3E
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:15:21 +0000
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com
 [2607:f8b0:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0fdcf57-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:15:19 +0200 (CEST)
Received: by mail-pg1-x530.google.com with SMTP id
 41be03b00d2f7-55badd6d6feso571905a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:15:19 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.15.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:15: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: b0fdcf57-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406918; x=1692011718;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vjqO/ZPr/Go39gpx6DVg0WzFepitwPif37hI1XuxbyE=;
        b=i8fsgLYWfev5scmfQYKpSFDJ9pzF+PwGn1FsDwGvtD1uFjg7eJ0d7Lsv78NIi06CDx
         vr0tOnonxOw6QKks8GGMVje1yI76Id9YacgwWM/6zDy0zFFyPsap+I+zda83U2carxpx
         Z18IYbpo7Gm3FdJaGS0K3SM5Q8cb/i1IMPI0QPzFO825A0m0YY6BspmFZAUe5JxSz0YP
         bkwll+VM7Pw+rOWsuxKvkfM7f/Go/LNsWkdpeQ1rn3o0A1sl0I4JTJinRVhwLnue8wfE
         xB3XG0FiQERqOk0h4Z7caYUSG1dAOTxeZU3n+iczoygP+1WmuYIouocYZOnqbY8VXZy5
         2Thg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406918; x=1692011718;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vjqO/ZPr/Go39gpx6DVg0WzFepitwPif37hI1XuxbyE=;
        b=EE/G0rhnUNVy91fxCBGqZxiwv47uHKkhHXfX5sEChPSmFFbowjL5zFlhnrunlf/lmY
         2X3uPB/VnvD/xknsInLaZU3QsQs0UvIrZkKj2YNIk82/NYNOBMQUz8VSXz/TBTsuSjJp
         v9V7QZKfd1DRoMx6N6AexqkBfeP1OAThoGrQLp62I/IMPW2h10L3aEJCE+JhUGDHEipe
         IqTB6rxmIIDr1AMoXa7pjhZp4ydiis9IgeCqe2AwMkE8Krj1huuofZl/tM/WB36Q/NuQ
         OjRw/Xp4wqU/7/xTSnmmVfunzlcMZcgrQL5ridWCUN3XD9mVlSg6RTx9dUfnQSREQusj
         WS2Q==
X-Gm-Message-State: ABy/qLbCEM5h8Qs7wWwp7oe4q7jocA7MUlCIMowoZnS1bsmb0e1cTKJd
	kTevUIG0KQBh8PMK7iXqr2ygfA==
X-Google-Smtp-Source: APBJJlGmDPkOqvUzYBlbH7T7lkG5BB9heuLk9VUuk/u1AhmT0DHlhAEqotepcvwe4m42tykQjmW6CA==
X-Received: by 2002:a17:90a:4104:b0:25c:1ad3:a4a1 with SMTP id u4-20020a17090a410400b0025c1ad3a4a1mr24597319pjf.1.1691406917979;
        Mon, 07 Aug 2023 04:15:17 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 25/48] drm/panfrost: dynamically allocate the drm-panfrost shrinker
Date: Mon,  7 Aug 2023 19:09:13 +0800
Message-Id: <20230807110936.21819-26-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the drm-panfrost shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct panfrost_device.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Steven Price <steven.price@arm.com>
---
 drivers/gpu/drm/panfrost/panfrost_device.h    |  2 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c       |  6 +++-
 drivers/gpu/drm/panfrost/panfrost_gem.h       |  2 +-
 .../gpu/drm/panfrost/panfrost_gem_shrinker.c  | 30 +++++++++++--------
 4 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_device.h b/drivers/gpu/drm/panfrost/panfrost_device.h
index b0126b9fbadc..e667e5689353 100644
--- a/drivers/gpu/drm/panfrost/panfrost_device.h
+++ b/drivers/gpu/drm/panfrost/panfrost_device.h
@@ -118,7 +118,7 @@ struct panfrost_device {
 
 	struct mutex shrinker_lock;
 	struct list_head shrinker_list;
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 
 	struct panfrost_devfreq pfdevfreq;
 };
diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
index a2ab99698ca8..e1d0e3a23757 100644
--- a/drivers/gpu/drm/panfrost/panfrost_drv.c
+++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
@@ -601,10 +601,14 @@ static int panfrost_probe(struct platform_device *pdev)
 	if (err < 0)
 		goto err_out1;
 
-	panfrost_gem_shrinker_init(ddev);
+	err = panfrost_gem_shrinker_init(ddev);
+	if (err)
+		goto err_out2;
 
 	return 0;
 
+err_out2:
+	drm_dev_unregister(ddev);
 err_out1:
 	pm_runtime_disable(pfdev->dev);
 	panfrost_device_fini(pfdev);
diff --git a/drivers/gpu/drm/panfrost/panfrost_gem.h b/drivers/gpu/drm/panfrost/panfrost_gem.h
index ad2877eeeccd..863d2ec8d4f0 100644
--- a/drivers/gpu/drm/panfrost/panfrost_gem.h
+++ b/drivers/gpu/drm/panfrost/panfrost_gem.h
@@ -81,7 +81,7 @@ panfrost_gem_mapping_get(struct panfrost_gem_object *bo,
 void panfrost_gem_mapping_put(struct panfrost_gem_mapping *mapping);
 void panfrost_gem_teardown_mappings_locked(struct panfrost_gem_object *bo);
 
-void panfrost_gem_shrinker_init(struct drm_device *dev);
+int panfrost_gem_shrinker_init(struct drm_device *dev);
 void panfrost_gem_shrinker_cleanup(struct drm_device *dev);
 
 #endif /* __PANFROST_GEM_H__ */
diff --git a/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c b/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
index 6a71a2555f85..3dfe2b7ccdd9 100644
--- a/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
+++ b/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
@@ -18,8 +18,7 @@
 static unsigned long
 panfrost_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct panfrost_device *pfdev =
-		container_of(shrinker, struct panfrost_device, shrinker);
+	struct panfrost_device *pfdev = shrinker->private_data;
 	struct drm_gem_shmem_object *shmem;
 	unsigned long count = 0;
 
@@ -65,8 +64,7 @@ static bool panfrost_gem_purge(struct drm_gem_object *obj)
 static unsigned long
 panfrost_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
 {
-	struct panfrost_device *pfdev =
-		container_of(shrinker, struct panfrost_device, shrinker);
+	struct panfrost_device *pfdev = shrinker->private_data;
 	struct drm_gem_shmem_object *shmem, *tmp;
 	unsigned long freed = 0;
 
@@ -97,13 +95,22 @@ panfrost_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc)
  *
  * This function registers and sets up the panfrost shrinker.
  */
-void panfrost_gem_shrinker_init(struct drm_device *dev)
+int panfrost_gem_shrinker_init(struct drm_device *dev)
 {
 	struct panfrost_device *pfdev = dev->dev_private;
-	pfdev->shrinker.count_objects = panfrost_gem_shrinker_count;
-	pfdev->shrinker.scan_objects = panfrost_gem_shrinker_scan;
-	pfdev->shrinker.seeks = DEFAULT_SEEKS;
-	WARN_ON(register_shrinker(&pfdev->shrinker, "drm-panfrost"));
+
+	pfdev->shrinker = shrinker_alloc(0, "drm-panfrost");
+	if (!pfdev->shrinker)
+		return -ENOMEM;
+
+	pfdev->shrinker->count_objects = panfrost_gem_shrinker_count;
+	pfdev->shrinker->scan_objects = panfrost_gem_shrinker_scan;
+	pfdev->shrinker->seeks = DEFAULT_SEEKS;
+	pfdev->shrinker->private_data = pfdev;
+
+	shrinker_register(pfdev->shrinker);
+
+	return 0;
 }
 
 /**
@@ -116,7 +123,6 @@ void panfrost_gem_shrinker_cleanup(struct drm_device *dev)
 {
 	struct panfrost_device *pfdev = dev->dev_private;
 
-	if (pfdev->shrinker.nr_deferred) {
-		unregister_shrinker(&pfdev->shrinker);
-	}
+	if (pfdev->shrinker)
+		shrinker_free(pfdev->shrinker);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:15:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578067.905321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyD0-0000Yj-25; Mon, 07 Aug 2023 11:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578067.905321; Mon, 07 Aug 2023 11:15:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyCz-0000YT-UR; Mon, 07 Aug 2023 11:15:33 +0000
Received: by outflank-mailman (input) for mailman id 578067;
 Mon, 07 Aug 2023 11:15:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyCy-0006s9-Eh
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:15:32 +0000
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com
 [2607:f8b0:4864:20::d35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8862dfb-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:15:31 +0200 (CEST)
Received: by mail-io1-xd35.google.com with SMTP id
 ca18e2360f4ac-760dff4b701so48560539f.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:15:31 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.15.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:15:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8862dfb-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406930; x=1692011730;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8Rfav5Nxe+GtybemfHCRLQWJ1Wm1Jr8phC3oTaQ6f/s=;
        b=RhTNRytlTa20t4Y4eQDAbFdSU2B3iJZ1UGQvbDrNgMxM2lZyl06oD16eY7UnwOu7/z
         lhfBO1aEb+iaxXm7zjPBY7hPV/HGsazWxYGeChIQ5BZqNHrYc42N83Qpez7ydwipu9EJ
         dl8ebrZJyA2dXTCWIRLJ5KrUEadehbntFp8yZr0t1mcATZxSPZjFq4Ii0bOe708GiDDw
         sbmlI1kieYrCzo2Qbsl1zLM+PYAlt09SHmpbPtNn98Tc607U0WsJTYx77KWhrtfG5gTM
         J9JKFlnKyLN5gCahSDRWLwC9lXHkDS1fNn6g8aIOpZaiEnR0eJG9fj8gxoamq0eWdy8p
         EjpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406930; x=1692011730;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8Rfav5Nxe+GtybemfHCRLQWJ1Wm1Jr8phC3oTaQ6f/s=;
        b=CtOqtqkSFEd0W2WM8ot5iNufYcHVs2y07VikikEzx2/fIeFLvE2Re941tPO5pyguTO
         J4FzsStpv18ORtzb91Px+BC6j5blEnNBlSrN3Jfmud+rPICiRhhgqcLhM48PMlnA1DJx
         x2DI0sn3dNH7lgbDoA4QpkxhgDc5llua/EKAZb//hJ6rEomQHxc4nT9LX8QOM30ZNjL2
         rGdhqbExCgnlogZE1ldbzYN5CSD2M/oUF2YPtwU/W33qs6No2dYkqCBtRaa9MA/PrO26
         PGE2nt4hxuh0dcMAezxH+AYGU1wgWJEXzysM0IUvq/6aYS8yme0HL9um9ey+zac63FJh
         LAaQ==
X-Gm-Message-State: AOJu0YxGAQJdPtrsjhgNnrD7Sd5dSsR3bS43B3jCRnlgpMrGIWzNK4St
	TNubOHFFpj5ImY53AEcnQUfCEw==
X-Google-Smtp-Source: AGHT+IFWvaKty2qg3Zp4xukmaRzjC+XhBT002dXZP422OqSqCh0qrR2HTT2eLu1rJ18Y9R5+7t84vA==
X-Received: by 2002:a92:6408:0:b0:349:5c87:e712 with SMTP id y8-20020a926408000000b003495c87e712mr5356429ilb.1.1691406930655;
        Mon, 07 Aug 2023 04:15:30 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 26/48] dm: dynamically allocate the dm-bufio shrinker
Date: Mon,  7 Aug 2023 19:09:14 +0800
Message-Id: <20230807110936.21819-27-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the dm-bufio shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct dm_bufio_client.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/md/dm-bufio.c | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index bc309e41d074..62eb27639c9b 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -963,7 +963,7 @@ struct dm_bufio_client {
 
 	sector_t start;
 
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 	struct work_struct shrink_work;
 	atomic_long_t need_shrink;
 
@@ -2368,7 +2368,7 @@ static unsigned long dm_bufio_shrink_scan(struct shrinker *shrink, struct shrink
 {
 	struct dm_bufio_client *c;
 
-	c = container_of(shrink, struct dm_bufio_client, shrinker);
+	c = shrink->private_data;
 	atomic_long_add(sc->nr_to_scan, &c->need_shrink);
 	queue_work(dm_bufio_wq, &c->shrink_work);
 
@@ -2377,7 +2377,7 @@ static unsigned long dm_bufio_shrink_scan(struct shrinker *shrink, struct shrink
 
 static unsigned long dm_bufio_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
 {
-	struct dm_bufio_client *c = container_of(shrink, struct dm_bufio_client, shrinker);
+	struct dm_bufio_client *c = shrink->private_data;
 	unsigned long count = cache_total(&c->cache);
 	unsigned long retain_target = get_retain_buffers(c);
 	unsigned long queued_for_cleanup = atomic_long_read(&c->need_shrink);
@@ -2490,14 +2490,20 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign
 	INIT_WORK(&c->shrink_work, shrink_work);
 	atomic_long_set(&c->need_shrink, 0);
 
-	c->shrinker.count_objects = dm_bufio_shrink_count;
-	c->shrinker.scan_objects = dm_bufio_shrink_scan;
-	c->shrinker.seeks = 1;
-	c->shrinker.batch = 0;
-	r = register_shrinker(&c->shrinker, "dm-bufio:(%u:%u)",
-			      MAJOR(bdev->bd_dev), MINOR(bdev->bd_dev));
-	if (r)
+	c->shrinker = shrinker_alloc(0, "dm-bufio:(%u:%u)",
+				     MAJOR(bdev->bd_dev), MINOR(bdev->bd_dev));
+	if (!c->shrinker) {
+		r = -ENOMEM;
 		goto bad;
+	}
+
+	c->shrinker->count_objects = dm_bufio_shrink_count;
+	c->shrinker->scan_objects = dm_bufio_shrink_scan;
+	c->shrinker->seeks = 1;
+	c->shrinker->batch = 0;
+	c->shrinker->private_data = c;
+
+	shrinker_register(c->shrinker);
 
 	mutex_lock(&dm_bufio_clients_lock);
 	dm_bufio_client_count++;
@@ -2537,7 +2543,7 @@ void dm_bufio_client_destroy(struct dm_bufio_client *c)
 
 	drop_buffers(c);
 
-	unregister_shrinker(&c->shrinker);
+	shrinker_free(c->shrinker);
 	flush_work(&c->shrink_work);
 
 	mutex_lock(&dm_bufio_clients_lock);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:15:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:15:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578072.905331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyDE-0001A3-9a; Mon, 07 Aug 2023 11:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578072.905331; Mon, 07 Aug 2023 11:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyDE-00019u-6d; Mon, 07 Aug 2023 11:15:48 +0000
Received: by outflank-mailman (input) for mailman id 578072;
 Mon, 07 Aug 2023 11:15:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyDC-000610-Hv
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:15:46 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c03400fe-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:15:45 +0200 (CEST)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-268663fb09cso631555a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:15:44 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.15.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:15:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c03400fe-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406943; x=1692011743;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qDCHIUUJzhdUAQEb2C7RW/Dwv8wB1L4nNlzD+13VK1U=;
        b=BoRgxmNUDtxzbmTK8+NbyH+07KYCd+Dr+oKPPa6V2FtEa17D0GvDQxjGlpnMkhmfxh
         v95DV47NbKABEXmmquIWadBnc0OBxkEOLW5WkwOTzTf/BxgV/A3wBC3uAtz5110v+hzE
         Ab8A6lWD76Mq+5DiKmh8yjejLb6xJUC09A5jGZ8oJIUHv3JYqq06sjhL7prumjkiRo3O
         qB570Dus+/9+aUH0B/0q8kHN6EW2eaOwjl0xOlzT2kA7NW6hf0e/OVGGbp1TjXoLyoWq
         aNUKJyMjC1sbPHUX4hmJJ6cJvGihC8n4kqK2Irls4fBt7l8WiF7MHJ0n9oTLuTvoH1vN
         CZ3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406943; x=1692011743;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qDCHIUUJzhdUAQEb2C7RW/Dwv8wB1L4nNlzD+13VK1U=;
        b=jr/Q9sNyQxT8KIPuaN6TW6uu1MMsFisS4+TUobW/9cI2Mg2yj3uKE3H0NYviwBDtf2
         Zhs7faOcGGh9K3pCLcpn6ONPtFJeOnowt0QSfNX0c17aL7xxnY3DE69ijXzsh8W1dc/d
         B29lI2341vYIjmUBUv1DDopg9MDNkM/F55FrMKYdgY9krsBkJyhjz3Lzl+cZjuhZIUAf
         dnnTlJk9g2wA5+qjqPAKCj8yCFNbXrQmA6/cAnLEjM9R4ZLrOBKr4jFVmhGLPQfFNcYQ
         AU7SXXLYACV6SxD/XovjxcqnAh4CqNIcJT1PQ0fQHj9CNz5I7iDAIkzabDRQpLSEXKHe
         2HDQ==
X-Gm-Message-State: ABy/qLaQfNbesHR4zbNQ6KHkLPPlZIEpvRq86QMbppWmjkLlJtdO5ciH
	Thon+2+aP/sbmP+Rvk7eVeO2iw==
X-Google-Smtp-Source: APBJJlEUCHWWWNXSTNLHQrmZRIrp+biqETFoyppqOsbwjUrAqcyZvOjgkWFuVkSEp/5UbdP5i9KhZA==
X-Received: by 2002:a17:90a:6c97:b0:263:730b:f568 with SMTP id y23-20020a17090a6c9700b00263730bf568mr23067993pjj.3.1691406943426;
        Mon, 07 Aug 2023 04:15:43 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 27/48] dm zoned: dynamically allocate the dm-zoned-meta shrinker
Date: Mon,  7 Aug 2023 19:09:15 +0800
Message-Id: <20230807110936.21819-28-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the dm-zoned-meta shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct dmz_metadata.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/md/dm-zoned-metadata.c | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index 9d3cca8e3dc9..bbb0e69a7908 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -187,7 +187,7 @@ struct dmz_metadata {
 	struct rb_root		mblk_rbtree;
 	struct list_head	mblk_lru_list;
 	struct list_head	mblk_dirty_list;
-	struct shrinker		mblk_shrinker;
+	struct shrinker		*mblk_shrinker;
 
 	/* Zone allocation management */
 	struct mutex		map_lock;
@@ -615,7 +615,7 @@ static unsigned long dmz_shrink_mblock_cache(struct dmz_metadata *zmd,
 static unsigned long dmz_mblock_shrinker_count(struct shrinker *shrink,
 					       struct shrink_control *sc)
 {
-	struct dmz_metadata *zmd = container_of(shrink, struct dmz_metadata, mblk_shrinker);
+	struct dmz_metadata *zmd = shrink->private_data;
 
 	return atomic_read(&zmd->nr_mblks);
 }
@@ -626,7 +626,7 @@ static unsigned long dmz_mblock_shrinker_count(struct shrinker *shrink,
 static unsigned long dmz_mblock_shrinker_scan(struct shrinker *shrink,
 					      struct shrink_control *sc)
 {
-	struct dmz_metadata *zmd = container_of(shrink, struct dmz_metadata, mblk_shrinker);
+	struct dmz_metadata *zmd = shrink->private_data;
 	unsigned long count;
 
 	spin_lock(&zmd->mblk_lock);
@@ -2936,19 +2936,24 @@ int dmz_ctr_metadata(struct dmz_dev *dev, int num_dev,
 	 */
 	zmd->min_nr_mblks = 2 + zmd->nr_map_blocks + zmd->zone_nr_bitmap_blocks * 16;
 	zmd->max_nr_mblks = zmd->min_nr_mblks + 512;
-	zmd->mblk_shrinker.count_objects = dmz_mblock_shrinker_count;
-	zmd->mblk_shrinker.scan_objects = dmz_mblock_shrinker_scan;
-	zmd->mblk_shrinker.seeks = DEFAULT_SEEKS;
 
 	/* Metadata cache shrinker */
-	ret = register_shrinker(&zmd->mblk_shrinker, "dm-zoned-meta:(%u:%u)",
-				MAJOR(dev->bdev->bd_dev),
-				MINOR(dev->bdev->bd_dev));
-	if (ret) {
-		dmz_zmd_err(zmd, "Register metadata cache shrinker failed");
+	zmd->mblk_shrinker = shrinker_alloc(0,  "dm-zoned-meta:(%u:%u)",
+					    MAJOR(dev->bdev->bd_dev),
+					    MINOR(dev->bdev->bd_dev));
+	if (!zmd->mblk_shrinker) {
+		ret = -ENOMEM;
+		dmz_zmd_err(zmd, "Allocate metadata cache shrinker failed");
 		goto err;
 	}
 
+	zmd->mblk_shrinker->count_objects = dmz_mblock_shrinker_count;
+	zmd->mblk_shrinker->scan_objects = dmz_mblock_shrinker_scan;
+	zmd->mblk_shrinker->seeks = DEFAULT_SEEKS;
+	zmd->mblk_shrinker->private_data = zmd;
+
+	shrinker_register(zmd->mblk_shrinker);
+
 	dmz_zmd_info(zmd, "DM-Zoned metadata version %d", zmd->sb_version);
 	for (i = 0; i < zmd->nr_devs; i++)
 		dmz_print_dev(zmd, i);
@@ -2995,7 +3000,7 @@ int dmz_ctr_metadata(struct dmz_dev *dev, int num_dev,
  */
 void dmz_dtr_metadata(struct dmz_metadata *zmd)
 {
-	unregister_shrinker(&zmd->mblk_shrinker);
+	shrinker_free(zmd->mblk_shrinker);
 	dmz_cleanup_metadata(zmd);
 	kfree(zmd);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:16:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578075.905341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEF-00024n-Q7; Mon, 07 Aug 2023 11:16:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578075.905341; Mon, 07 Aug 2023 11:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEF-00024g-MB; Mon, 07 Aug 2023 11:16:51 +0000
Received: by outflank-mailman (input) for mailman id 578075;
 Mon, 07 Aug 2023 11:16:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyEE-00024S-Nh
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:16:50 +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 e6398775-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:16:48 +0200 (CEST)
Received: by mail-pj1-x1029.google.com with SMTP id
 98e67ed59e1d1-265c94064b8so593089a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:16:48 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.16.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:16:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6398775-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407007; x=1692011807;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xVRvDV5EwClRaurogoo7jeCmWiPiam6NNimoVigpYsU=;
        b=ZpUxkeIDSk5DebcqgtNkjC2VJVRAtk53SZcSRGK4pcR9GN/+oNusiQFLHhuL5+fDtw
         7acmwH5I9QFGztB582Oi6rcT7wKm21cMdk1CbKhqvY9Cmn9xfrqO2dNVGGjerHD5cIRA
         JQtjfGPdI2ZqgIP1F2QTrXkDr1QXGVfPleR0HQt933rEeM4xbQBZZP8jkCpRscjQOmu/
         9ghKZGvMUY+k4JEeKO1r8tlLUiIWng6Gl6oS+MWXEsfNz6xEM3RIsZmLQbyECe49vE1Q
         39HHbQOTTkWnAgiDXPq6I3IGqNg8FapL1nhN+TNChCmLrlL9RKqe8AW+z81Q9HVEEwQe
         Rdpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407007; x=1692011807;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xVRvDV5EwClRaurogoo7jeCmWiPiam6NNimoVigpYsU=;
        b=i7tUhh4TNKK0oM/cW0nkeVCBWn2iIF1cqHofSmUS+FjaaSjrZPMT1vcbAdnYFm8SHR
         qbq01mGJdMtADtF/1dD0h4CPYdm4f53laIsoRicXoixMLG15j3/jqKzkCxlsi0w0ZCrD
         Q50p5IzBvXP9bDchDLOU7AjXhDSv9R9R6jwQ1NTTAjRglF5/lvJbRmRKVQEggKS73SES
         EyhmUPyHtWAhqnfmBIZVZoSkOnYWgLgmLS8JhNBDekwAo8dmeyM+uvNItk0qr67mOmJg
         vvJk6ds1LeGsbI1QJhLGl9CN/7NgOTfW2/2nXYPrM8FZeRIuTGb/Hh8SjJJtV9zxMHk2
         sqrw==
X-Gm-Message-State: ABy/qLaTEHJdhzVikkTFIJCPt79b6tQusPH3Axvsc+G0b3anTaQTZUxR
	L1gwoIMv3aSZIOioqDVQH8rriw==
X-Google-Smtp-Source: APBJJlGBV531Fc0h3gGTcYh+GrDchiBvn4r3DyO1GlE79UVq2Tiyx2gaPN4S9h+mnuBR5bsUMtGvYQ==
X-Received: by 2002:a17:90a:ac2:b0:268:f977:848c with SMTP id r2-20020a17090a0ac200b00268f977848cmr15219032pje.2.1691407007341;
        Mon, 07 Aug 2023 04:16:47 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 32/48] mbcache: dynamically allocate the mbcache shrinker
Date: Mon,  7 Aug 2023 19:09:20 +0800
Message-Id: <20230807110936.21819-33-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the mbcache shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct mb_cache.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/mbcache.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/fs/mbcache.c b/fs/mbcache.c
index 2a4b8b549e93..0d1e24e9a5e3 100644
--- a/fs/mbcache.c
+++ b/fs/mbcache.c
@@ -37,7 +37,7 @@ struct mb_cache {
 	struct list_head	c_list;
 	/* Number of entries in cache */
 	unsigned long		c_entry_count;
-	struct shrinker		c_shrink;
+	struct shrinker		*c_shrink;
 	/* Work for shrinking when the cache has too many entries */
 	struct work_struct	c_shrink_work;
 };
@@ -293,8 +293,7 @@ EXPORT_SYMBOL(mb_cache_entry_touch);
 static unsigned long mb_cache_count(struct shrinker *shrink,
 				    struct shrink_control *sc)
 {
-	struct mb_cache *cache = container_of(shrink, struct mb_cache,
-					      c_shrink);
+	struct mb_cache *cache = shrink->private_data;
 
 	return cache->c_entry_count;
 }
@@ -333,8 +332,7 @@ static unsigned long mb_cache_shrink(struct mb_cache *cache,
 static unsigned long mb_cache_scan(struct shrinker *shrink,
 				   struct shrink_control *sc)
 {
-	struct mb_cache *cache = container_of(shrink, struct mb_cache,
-					      c_shrink);
+	struct mb_cache *cache = shrink->private_data;
 	return mb_cache_shrink(cache, sc->nr_to_scan);
 }
 
@@ -377,15 +375,20 @@ struct mb_cache *mb_cache_create(int bucket_bits)
 	for (i = 0; i < bucket_count; i++)
 		INIT_HLIST_BL_HEAD(&cache->c_hash[i]);
 
-	cache->c_shrink.count_objects = mb_cache_count;
-	cache->c_shrink.scan_objects = mb_cache_scan;
-	cache->c_shrink.seeks = DEFAULT_SEEKS;
-	if (register_shrinker(&cache->c_shrink, "mbcache-shrinker")) {
+	cache->c_shrink = shrinker_alloc(0, "mbcache-shrinker");
+	if (!cache->c_shrink) {
 		kfree(cache->c_hash);
 		kfree(cache);
 		goto err_out;
 	}
 
+	cache->c_shrink->count_objects = mb_cache_count;
+	cache->c_shrink->scan_objects = mb_cache_scan;
+	cache->c_shrink->seeks = DEFAULT_SEEKS;
+	cache->c_shrink->private_data = cache;
+
+	shrinker_register(cache->c_shrink);
+
 	INIT_WORK(&cache->c_shrink_work, mb_cache_shrink_worker);
 
 	return cache;
@@ -406,7 +409,7 @@ void mb_cache_destroy(struct mb_cache *cache)
 {
 	struct mb_cache_entry *entry, *next;
 
-	unregister_shrinker(&cache->c_shrink);
+	shrinker_free(cache->c_shrink);
 
 	/*
 	 * We don't bother with any locking. Cache must not be used at this
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578079.905351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEl-0002dI-3B; Mon, 07 Aug 2023 11:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578079.905351; Mon, 07 Aug 2023 11:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEk-0002dB-Uc; Mon, 07 Aug 2023 11:17:22 +0000
Received: by outflank-mailman (input) for mailman id 578079;
 Mon, 07 Aug 2023 11:17:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyDb-0006s9-2r
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:16:11 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf743b57-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:16:10 +0200 (CEST)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-26890669c8eso932191a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:16:10 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.15.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:16: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: cf743b57-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406969; x=1692011769;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v2xQZfHf5bNVsT7uWSGQWuu07PHxrGT3T56hFvtqSrg=;
        b=PhZgEytbdr8CvNBxueya8LJEBJpXwGWT4buounuwMzZgdINLVWVhWlDlK5qgc2p2kt
         RnCQbjUwWxqdm7J4M7EGc1Ch17V+zcgd4r1Zi/3vO2292nZ9ssUadxFIe0dzINz36EEw
         HVRix2YnCwrYzOYArOpD9yWwDi1L0lwbZbmCgyeiLVpEO0l9z3l7+yQI3NnEvQZkBYSV
         kAWt+c/pFJSgV6aTUUqi7ips5HoQ3TEpyq/Sxi9XAc6jQa+5WRv9fo1CMPIL4wKkfI5R
         cCEylx4Q4qJCTb4YKG/AnxQtLRIB707mPePFz8XepMv7bUxA9w4l0/+xaTDhOuBgbM/U
         hPfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406969; x=1692011769;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=v2xQZfHf5bNVsT7uWSGQWuu07PHxrGT3T56hFvtqSrg=;
        b=ddmClkqAwXJXXJ/jcg6UlIU8x9XkvZXC5du0HI8FpcwuvXsgWd0xZWJQDuxvlKyQ9H
         7sbJeVnF8D2qrAH0AqwVZQc7kZ9lGSdOirRIhS6px9YnQdWvqVycBZ0RjWU1MX0dq+ai
         RQX0Mr1dg3COnN77eVZxbw2o+r/S/r72gFKChY4h1niNM4GnvY/y3OJO6tN/KdNPxFHf
         VunCyQLIzuIn0k1VLsQp8BSsZm+DhAeh/lH/PqjuR2MKC+CSp+Zp7axeTgozU3F/ex+3
         aYQvmBstenT2wM93M4u9qdzj9jDekDYtGZdNJElWOh+jh1/T5YeMRvCbjLjm6Vh9M9ir
         b+Vw==
X-Gm-Message-State: AOJu0Yzdu4rO72+IxXgHkNsKfWE/5i5a/9PGCaZKCI0/oQib71ZrOvDe
	m9WHlcaiytHm92Bu4o2eYlwMiA==
X-Google-Smtp-Source: AGHT+IFlvQWL2g4YOY+ZhMNeAWWdQSS9yshpdy35E0gAyloBC4LB48Br4CdI402F04hX0eeuRkMt6Q==
X-Received: by 2002:a17:90a:c8d:b0:268:196f:9656 with SMTP id v13-20020a17090a0c8d00b00268196f9656mr12999255pja.1.1691406969055;
        Mon, 07 Aug 2023 04:16:09 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 29/48] bcache: dynamically allocate the md-bcache shrinker
Date: Mon,  7 Aug 2023 19:09:17 +0800
Message-Id: <20230807110936.21819-30-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the md-bcache shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct cache_set.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 drivers/md/bcache/bcache.h |  2 +-
 drivers/md/bcache/btree.c  | 27 ++++++++++++++++-----------
 drivers/md/bcache/sysfs.c  |  3 ++-
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h
index 5a79bb3c272f..c622bc50f81b 100644
--- a/drivers/md/bcache/bcache.h
+++ b/drivers/md/bcache/bcache.h
@@ -541,7 +541,7 @@ struct cache_set {
 	struct bio_set		bio_split;
 
 	/* For the btree cache */
-	struct shrinker		shrink;
+	struct shrinker		*shrink;
 
 	/* For the btree cache and anything allocation related */
 	struct mutex		bucket_lock;
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index fd121a61f17c..ae5cbb55861f 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -667,7 +667,7 @@ static int mca_reap(struct btree *b, unsigned int min_order, bool flush)
 static unsigned long bch_mca_scan(struct shrinker *shrink,
 				  struct shrink_control *sc)
 {
-	struct cache_set *c = container_of(shrink, struct cache_set, shrink);
+	struct cache_set *c = shrink->private_data;
 	struct btree *b, *t;
 	unsigned long i, nr = sc->nr_to_scan;
 	unsigned long freed = 0;
@@ -734,7 +734,7 @@ static unsigned long bch_mca_scan(struct shrinker *shrink,
 static unsigned long bch_mca_count(struct shrinker *shrink,
 				   struct shrink_control *sc)
 {
-	struct cache_set *c = container_of(shrink, struct cache_set, shrink);
+	struct cache_set *c = shrink->private_data;
 
 	if (c->shrinker_disabled)
 		return 0;
@@ -752,8 +752,8 @@ void bch_btree_cache_free(struct cache_set *c)
 
 	closure_init_stack(&cl);
 
-	if (c->shrink.list.next)
-		unregister_shrinker(&c->shrink);
+	if (c->shrink)
+		shrinker_free(c->shrink);
 
 	mutex_lock(&c->bucket_lock);
 
@@ -828,14 +828,19 @@ int bch_btree_cache_alloc(struct cache_set *c)
 		c->verify_data = NULL;
 #endif
 
-	c->shrink.count_objects = bch_mca_count;
-	c->shrink.scan_objects = bch_mca_scan;
-	c->shrink.seeks = 4;
-	c->shrink.batch = c->btree_pages * 2;
+	c->shrink = shrinker_alloc(0, "md-bcache:%pU", c->set_uuid);
+	if (!c->shrink) {
+		pr_warn("bcache: %s: could not allocate shrinker\n", __func__);
+		return 0;
+	}
+
+	c->shrink->count_objects = bch_mca_count;
+	c->shrink->scan_objects = bch_mca_scan;
+	c->shrink->seeks = 4;
+	c->shrink->batch = c->btree_pages * 2;
+	c->shrink->private_data = c;
 
-	if (register_shrinker(&c->shrink, "md-bcache:%pU", c->set_uuid))
-		pr_warn("bcache: %s: could not register shrinker\n",
-				__func__);
+	shrinker_register(c->shrink);
 
 	return 0;
 }
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 0e2c1880f60b..45d8af755de6 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -866,7 +866,8 @@ STORE(__bch_cache_set)
 
 		sc.gfp_mask = GFP_KERNEL;
 		sc.nr_to_scan = strtoul_or_return(buf);
-		c->shrink.scan_objects(&c->shrink, &sc);
+		if (c->shrink)
+			c->shrink->scan_objects(c->shrink, &sc);
 	}
 
 	sysfs_strtoul_clamp(congested_read_threshold_us,
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578080.905356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEl-0002gy-Bh; Mon, 07 Aug 2023 11:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578080.905356; Mon, 07 Aug 2023 11:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEl-0002f9-6O; Mon, 07 Aug 2023 11:17:23 +0000
Received: by outflank-mailman (input) for mailman id 578080;
 Mon, 07 Aug 2023 11:17:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyBX-0002Ee-9B
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:14:03 +0000
Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com
 [2607:f8b0:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 834e3ed1-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:14:02 +0200 (CEST)
Received: by mail-pg1-x534.google.com with SMTP id
 41be03b00d2f7-55b5a37acb6so362204a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:14:02 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.13.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:14:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 834e3ed1-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406841; x=1692011641;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a0ijFA9s9bGVMHT4vLgTYS12L8yx2Rc7o6TjM9ZoJx8=;
        b=j23yTPIuNE+5ql7c6DjTIXWDr8oKTSMtsFBsjjClL+S91jhwZsCcQpsRFgnSFEePMC
         wDGERQ9BkTMGtvLZ5zfdg/UY3HTRyGts+YmZTXabmNDPI0OPAQAqDfrw+jtLBHzydYmo
         a162rquUe53dODAJSpyuVfvHf3Ov/M30E8XZRIYttEwAxKqQFIS0/ih88OAzPNYyRzzl
         3HkOwk/otVmt9H2o9TgGnt1eeNwmmBoINVdlSrRso11GlktIoEp92Q8ZBNulwW/JkpbE
         xeEGYB8AYsoVpHQBF7XcqQ5QT7dfjGJtE4RXA0EdlD1H8/kYwDQ1OkZhdkl3HITdo9Iq
         hOkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406841; x=1692011641;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a0ijFA9s9bGVMHT4vLgTYS12L8yx2Rc7o6TjM9ZoJx8=;
        b=a9+2UBveKVbOmBjpxuHqt7LHvskr50YmPUsi0OflXynnbDEvlPJWKDIo26tcLhFMdC
         swlu2hujAoijYDzGt46YCreGi2mNiO8xAaa6wzIp/agVnwNVbE64KJFJsWxIG0Fkkhc2
         PHFo1dMxSOG/53ljwhaOnj8PrmLsvx20oqvy7Zk7mhRkYRPE6r9x+pN4n+vGMRqx0HXJ
         VOXyXkapmtMW9CGwE+3ZTjLdnwxMgAPrLqF8NSF4WR1+UwyOjddWmcCN3wlIr4aQh/D+
         Z8dvyZtMT6+u/BJJS/a7MyScT2E3KcRb+m9iu6qTE6uQ9DYjrrkpyuruI+CX6IEshd5J
         OzvA==
X-Gm-Message-State: AOJu0YzAG5RHtm/HZZ6vKkcj8IotM3skjCPzv8fcKLIgEAos/BapVp27
	U3cjMAz0lbYOeISiW+imYLIaXQ==
X-Google-Smtp-Source: AGHT+IELWLhV4Bj40lkko/D2F7gtSRcHKPclt9k8JlXsq8dyT7OdoG/0VZRRAUzfMJnehzLNwTS/oA==
X-Received: by 2002:a17:90a:2909:b0:269:5bf7:d79c with SMTP id g9-20020a17090a290900b002695bf7d79cmr2214416pjd.1.1691406841328;
        Mon, 07 Aug 2023 04:14:01 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 19/48] rcu: dynamically allocate the rcu-kfree shrinker
Date: Mon,  7 Aug 2023 19:09:07 +0800
Message-Id: <20230807110936.21819-20-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the rcu-kfree shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 kernel/rcu/tree.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 7c79480bfaa0..3b20fc46c514 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3449,13 +3449,6 @@ kfree_rcu_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
 	return freed == 0 ? SHRINK_STOP : freed;
 }
 
-static struct shrinker kfree_rcu_shrinker = {
-	.count_objects = kfree_rcu_shrink_count,
-	.scan_objects = kfree_rcu_shrink_scan,
-	.batch = 0,
-	.seeks = DEFAULT_SEEKS,
-};
-
 void __init kfree_rcu_scheduler_running(void)
 {
 	int cpu;
@@ -4931,6 +4924,7 @@ static void __init kfree_rcu_batch_init(void)
 {
 	int cpu;
 	int i, j;
+	struct shrinker *kfree_rcu_shrinker;
 
 	/* Clamp it to [0:100] seconds interval. */
 	if (rcu_delay_page_cache_fill_msec < 0 ||
@@ -4962,8 +4956,18 @@ static void __init kfree_rcu_batch_init(void)
 		INIT_DELAYED_WORK(&krcp->page_cache_work, fill_page_cache_func);
 		krcp->initialized = true;
 	}
-	if (register_shrinker(&kfree_rcu_shrinker, "rcu-kfree"))
-		pr_err("Failed to register kfree_rcu() shrinker!\n");
+
+	kfree_rcu_shrinker = shrinker_alloc(0, "rcu-kfree");
+	if (!kfree_rcu_shrinker) {
+		pr_err("Failed to allocate kfree_rcu() shrinker!\n");
+		return;
+	}
+
+	kfree_rcu_shrinker->count_objects = kfree_rcu_shrink_count;
+	kfree_rcu_shrinker->scan_objects = kfree_rcu_shrink_scan;
+	kfree_rcu_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(kfree_rcu_shrinker);
 }
 
 void __init rcu_init(void)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578081.905362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEl-0002lb-OY; Mon, 07 Aug 2023 11:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578081.905362; Mon, 07 Aug 2023 11:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEl-0002kD-FZ; Mon, 07 Aug 2023 11:17:23 +0000
Received: by outflank-mailman (input) for mailman id 578081;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyAX-00018O-Mw
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:13:01 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5de99339-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:13:00 +0200 (CEST)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-1bc4dc65aa7so5891685ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:13:00 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.12.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:12: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: 5de99339-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406778; x=1692011578;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iXZOOFmuwv6/pQ9jzhgVENlSQpZ5agnqrhquB4Bsoao=;
        b=g3KOL41mxVnCoIlh87RyEsDJeaXpKCIwoVRjVxhTYPV9ovyT4HRH6y73TA0C1Q2AYh
         C+3L3G8pIHBsXVWnvOx0AYLweEtefCIlRKKK8q0sPYgt+7jxn0bL+VsW/sqLMELcQU4/
         RSW5M4MR9/5lWavNFyTrMZwhNOCIGcyf5LN7etoWY5j2p6K+9KrJUCEBYyshFVPRQ9qE
         9NhNeOSkMhfop8u2oBI3A6CKgZEogh2PPWGLFqTsvR6J0EWD/e9GH+/ajfKoDwPmRCfa
         I4bJZTgzaT9SOC+CveLtEvd/OempVrgFf6BTSlV6Y7dsnz5tzmtW7m2tX5rTM+xAbpCn
         YMzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406778; x=1692011578;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iXZOOFmuwv6/pQ9jzhgVENlSQpZ5agnqrhquB4Bsoao=;
        b=dw6YQIzrCTJiOTRFwg1LDsSLdtqI0zcKt04rN7wHe53xMNYo581D9WfbuOI2QV2+zw
         b5kXufSN7/sJg2fs5CjZ4nCFca01eZyZ+5wSYmOlvyua+utSNxNvM+t9e+liBVCfe5iF
         y4Lan68pZ+tugHwZvrKs85vGn6UtY/GALTnPntTIG58sZmu7oUqTDCxHSco0fixYSbzN
         A1P62aHyeAh3XbJleBpy1ktUo2aHDQVyKuo3ViXw2GibysoJER8bA7zOzTNMVE1v4Wvr
         nkqaBMtr8mEWdzFBNWHi3NSXOAqtzxmQPNcQs+WscLFapZzg/HLPkrpJX4xo6QkSy1iF
         JfyQ==
X-Gm-Message-State: ABy/qLZWbJREVdmN75KlkU5ibgJ+8HY6l7o/AS2wfmiqFcu4QopGYV13
	34M/UFeThjTsGWL/tuWQ4uf8pg==
X-Google-Smtp-Source: APBJJlFDSvCAq9gTdHkFF7Bzn2YL0W/qaEPzJ7AdGJ/zjCXgG1JFMDLiaFr2l43qqes0mOglkhZu9g==
X-Received: by 2002:a17:902:f688:b0:1bb:d7d4:e2b with SMTP id l8-20020a170902f68800b001bbd7d40e2bmr33138766plg.0.1691406778592;
        Mon, 07 Aug 2023 04:12:58 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 14/48] nfs: dynamically allocate the nfs-acl shrinker
Date: Mon,  7 Aug 2023 19:09:02 +0800
Message-Id: <20230807110936.21819-15-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the nfs-acl shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/nfs/super.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 2284f749d892..1b5cd0444dda 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -129,11 +129,7 @@ static void nfs_ssc_unregister_ops(void)
 }
 #endif /* CONFIG_NFS_V4_2 */
 
-static struct shrinker acl_shrinker = {
-	.count_objects	= nfs_access_cache_count,
-	.scan_objects	= nfs_access_cache_scan,
-	.seeks		= DEFAULT_SEEKS,
-};
+static struct shrinker *acl_shrinker;
 
 /*
  * Register the NFS filesystems
@@ -153,9 +149,19 @@ int __init register_nfs_fs(void)
 	ret = nfs_register_sysctl();
 	if (ret < 0)
 		goto error_2;
-	ret = register_shrinker(&acl_shrinker, "nfs-acl");
-	if (ret < 0)
+
+	acl_shrinker = shrinker_alloc(0, "nfs-acl");
+	if (!acl_shrinker) {
+		ret = -ENOMEM;
 		goto error_3;
+	}
+
+	acl_shrinker->count_objects = nfs_access_cache_count;
+	acl_shrinker->scan_objects = nfs_access_cache_scan;
+	acl_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(acl_shrinker);
+
 #ifdef CONFIG_NFS_V4_2
 	nfs_ssc_register_ops();
 #endif
@@ -175,7 +181,7 @@ int __init register_nfs_fs(void)
  */
 void __exit unregister_nfs_fs(void)
 {
-	unregister_shrinker(&acl_shrinker);
+	shrinker_free(acl_shrinker);
 	nfs_unregister_sysctl();
 	unregister_nfs4_fs();
 #ifdef CONFIG_NFS_V4_2
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578083.905379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEn-0003Gy-1Y; Mon, 07 Aug 2023 11:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578083.905379; Mon, 07 Aug 2023 11:17: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 1qSyEm-0003Gj-Nw; Mon, 07 Aug 2023 11:17:24 +0000
Received: by outflank-mailman (input) for mailman id 578083;
 Mon, 07 Aug 2023 11:17:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyEc-0006s9-Rc
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:17:14 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f577d7a0-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:17:14 +0200 (CEST)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-265c94064b8so593165a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:17:14 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.17.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:17: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: f577d7a0-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407033; x=1692011833;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=48waxWZGd1WUnLYaDrTSxvJywKXLcopaiUkWgt7j5Rg=;
        b=IF5FMf6vfUKWXKquwpCQEDXlMw21VPTq0vQh30bzDQAe43NcnPpm7+3Lc8a3CIJRpA
         3D5+DTGp/GVVz7K0qnRkJHp3ElWCuX/V5mJLE2CMMPVLrH696jMkWhUZV5knoMheDkE7
         LNxcBFVMjsAliYNw3/qsjltVAMCexO3SFZuMneEunxblALcqU49wFlwUCGkH4chcrTm+
         Mu+nFly5hda7TWhSn6s/LaVQ5cZernQQxFJBPj8H2QEyQDfBEaIAKgcH8kpChkzLsY8n
         h49b3nM+GUF7t0uuu7NHoFu5rdBXy5wqqQ2n0YE+hiJT0Y6kOYKfZmJPFvsrDsGv9xrG
         NHZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407033; x=1692011833;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=48waxWZGd1WUnLYaDrTSxvJywKXLcopaiUkWgt7j5Rg=;
        b=IOkLFO6DP6V+f6FDWY17VhrK70pujN2TI2xS4gL2GV2/BuYROdkkzH8nkXcofomKWr
         YS9aWF2Z54yWqzNuq/l14ORo1cHvGI3UGsL3y0E2rOYXRQiKJEhfnz1Bwm6PSNHIiEV2
         eBEjdqvHQ/gYzkzQVWX8ANm2V95RT+JX4p+K24q1a7Sft8a1ZUevkob6mz87Tk2Q1Abl
         94xyaM52MCbGX7XVeQgTX0SGkGGKwvAJkrIzdZ6Bj7o+6Nf3p5T4QsFKLjPOvDEwm+aL
         1VYmXhWSzZZOFvRoy77GcwI1l9A+mNUK2y+q2d2y1RJAEJk1+8jEYjPq7Q/aBD7lLHJG
         Ho0g==
X-Gm-Message-State: ABy/qLbvvgUEl07B5GRpxaBjTvfgdMFY3U7WpePaEv3UQszqjUPfXa15
	eDD7GZwsdRTRfkvI9FZry+OCIQ==
X-Google-Smtp-Source: APBJJlHbn14CvO5TR8loNSEkHloCg3xrbjPIwtza5v7TtzUnsc09AI3fvHMVCyYd3DTpdbD1pcNBzw==
X-Received: by 2002:a17:90a:4104:b0:25c:1ad3:a4a1 with SMTP id u4-20020a17090a410400b0025c1ad3a4a1mr24600948pjf.1.1691407032801;
        Mon, 07 Aug 2023 04:17:12 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 34/48] jbd2,ext4: dynamically allocate the jbd2-journal shrinker
Date: Mon,  7 Aug 2023 19:09:22 +0800
Message-Id: <20230807110936.21819-35-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the jbd2-journal shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct journal_s.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/jbd2/journal.c    | 27 +++++++++++++++++----------
 include/linux/jbd2.h |  2 +-
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 1b5a45ab62b0..4c421da03fee 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1298,7 +1298,7 @@ static int jbd2_min_tag_size(void)
 static unsigned long jbd2_journal_shrink_scan(struct shrinker *shrink,
 					      struct shrink_control *sc)
 {
-	journal_t *journal = container_of(shrink, journal_t, j_shrinker);
+	journal_t *journal = shrink->private_data;
 	unsigned long nr_to_scan = sc->nr_to_scan;
 	unsigned long nr_shrunk;
 	unsigned long count;
@@ -1324,7 +1324,7 @@ static unsigned long jbd2_journal_shrink_scan(struct shrinker *shrink,
 static unsigned long jbd2_journal_shrink_count(struct shrinker *shrink,
 					       struct shrink_control *sc)
 {
-	journal_t *journal = container_of(shrink, journal_t, j_shrinker);
+	journal_t *journal = shrink->private_data;
 	unsigned long count;
 
 	count = percpu_counter_read_positive(&journal->j_checkpoint_jh_count);
@@ -1412,19 +1412,26 @@ static journal_t *journal_init_common(struct block_device *bdev,
 	journal->j_superblock = (journal_superblock_t *)bh->b_data;
 
 	journal->j_shrink_transaction = NULL;
-	journal->j_shrinker.scan_objects = jbd2_journal_shrink_scan;
-	journal->j_shrinker.count_objects = jbd2_journal_shrink_count;
-	journal->j_shrinker.seeks = DEFAULT_SEEKS;
-	journal->j_shrinker.batch = journal->j_max_transaction_buffers;
 
 	if (percpu_counter_init(&journal->j_checkpoint_jh_count, 0, GFP_KERNEL))
 		goto err_cleanup;
 
-	if (register_shrinker(&journal->j_shrinker, "jbd2-journal:(%u:%u)",
-			      MAJOR(bdev->bd_dev), MINOR(bdev->bd_dev))) {
+	journal->j_shrinker = shrinker_alloc(0, "jbd2-journal:(%u:%u)",
+					     MAJOR(bdev->bd_dev),
+					     MINOR(bdev->bd_dev));
+	if (!journal->j_shrinker) {
 		percpu_counter_destroy(&journal->j_checkpoint_jh_count);
 		goto err_cleanup;
 	}
+
+	journal->j_shrinker->scan_objects = jbd2_journal_shrink_scan;
+	journal->j_shrinker->count_objects = jbd2_journal_shrink_count;
+	journal->j_shrinker->seeks = DEFAULT_SEEKS;
+	journal->j_shrinker->batch = journal->j_max_transaction_buffers;
+	journal->j_shrinker->private_data = journal;
+
+	shrinker_register(journal->j_shrinker);
+
 	return journal;
 
 err_cleanup:
@@ -2187,9 +2194,9 @@ int jbd2_journal_destroy(journal_t *journal)
 		brelse(journal->j_sb_buffer);
 	}
 
-	if (journal->j_shrinker.flags & SHRINKER_REGISTERED) {
+	if (journal->j_shrinker) {
 		percpu_counter_destroy(&journal->j_checkpoint_jh_count);
-		unregister_shrinker(&journal->j_shrinker);
+		shrinker_free(journal->j_shrinker);
 	}
 	if (journal->j_proc_entry)
 		jbd2_stats_proc_exit(journal);
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index 44c298aa58d4..beb4c4586320 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -891,7 +891,7 @@ struct journal_s
 	 * Journal head shrinker, reclaim buffer's journal head which
 	 * has been written back.
 	 */
-	struct shrinker		j_shrinker;
+	struct shrinker		*j_shrinker;
 
 	/**
 	 * @j_checkpoint_jh_count:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578084.905386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEn-0003RY-KJ; Mon, 07 Aug 2023 11:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578084.905386; Mon, 07 Aug 2023 11:17:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEn-0003QK-Bc; Mon, 07 Aug 2023 11:17:25 +0000
Received: by outflank-mailman (input) for mailman id 578084;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy9F-00018O-Mu
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:11:41 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e354f43-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:11:40 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id
 41be03b00d2f7-56462258cdeso525477a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:11:40 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.11.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:11: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: 2e354f43-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406698; x=1692011498;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bO4yc6b0222dRNj48HoFyPuU9QjRVolFKKVhhMGpLKw=;
        b=V+0c3qPhJ3OvHdRK0zt0jjicV8eIk4mcEJBfZa3lpQkwu54lWNVPIEieS4PtRydxoC
         SOQosWaNmtA5ijvBvBTHzjmbD0d0j9BAeGMmaW/jH6uvD6Ej2n/njXM3uIqGlzrBkh1f
         4pNHqPhVUKAnLp7tAzH1vcGObvmfuMOiL8NrO6wDjhRhzYUa1svLTbbXU3r4juxNC7M+
         zvZ3SM7T/9w0Je9dQGJ4Z6qlkuAYn1bir+6JxlC1Qr6arztdDyFiMoqBolNxM3VBbd9i
         jsX4xXrnwmvTP/fkwCWNcOiK6G4rP96fjoeNSyiOnE04LmSKfInS+5dfsRm42DUoM8bY
         LffQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406698; x=1692011498;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bO4yc6b0222dRNj48HoFyPuU9QjRVolFKKVhhMGpLKw=;
        b=S+gtDzgJi9RgbxzZGhKRxqLqjsfs8yQMh0ZwZmwBs4FXnoD6OEyspDLy3JfFogwx5D
         7x4u2l7cxr3mmWiHbtsPdkFpnSFHRukbEmC9m2qsk24GWDtmPlOcwHGoeKByZCS5Dqzz
         RG6LAiVD1S9UqAfu3vwpEm6bkj82uoGfHeZ15LHxKO68fTH5xlBZcQJVpFSyY/cfziPA
         PI/Aa6Kd+BL76M9ScYuVUJR2lEC1F9tQIdbXr3vdBbR5Gx7lYH+PMvuEP9WEpRvFQ4kW
         nsJyb/f4NJ/RSN/BWoL91bfoWeRdvZ0ph5HXgn1otk3sEj9+PIAGkIXYs3o5aMW9C73J
         XGLw==
X-Gm-Message-State: ABy/qLaORUOrMFs+5YyEM+yRQV/97CI6GcOp/f1jT/PXb7RMxy4JVbrZ
	j2RbGJZaLI3fSWkkSxFW799vvg==
X-Google-Smtp-Source: APBJJlHTPEiI4d70NxX2nHst3XkAfiDRggXx1NmGRpA10Zf8iDezZWW8ih32EzxQIqpHPiYHvUOM5w==
X-Received: by 2002:a17:90a:1f83:b0:268:3dc6:f0c5 with SMTP id x3-20020a17090a1f8300b002683dc6f0c5mr25027705pja.0.1691406698603;
        Mon, 07 Aug 2023 04:11:38 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 08/48] xenbus/backend: dynamically allocate the xen-backend shrinker
Date: Mon,  7 Aug 2023 19:08:56 +0800
Message-Id: <20230807110936.21819-9-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the xen-backend shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/xen/xenbus/xenbus_probe_backend.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c
index da96c260e26b..929c41a5ccee 100644
--- a/drivers/xen/xenbus/xenbus_probe_backend.c
+++ b/drivers/xen/xenbus/xenbus_probe_backend.c
@@ -284,13 +284,9 @@ static unsigned long backend_shrink_memory_count(struct shrinker *shrinker,
 	return 0;
 }
 
-static struct shrinker backend_memory_shrinker = {
-	.count_objects = backend_shrink_memory_count,
-	.seeks = DEFAULT_SEEKS,
-};
-
 static int __init xenbus_probe_backend_init(void)
 {
+	struct shrinker *backend_memory_shrinker;
 	static struct notifier_block xenstore_notifier = {
 		.notifier_call = backend_probe_and_watch
 	};
@@ -305,8 +301,16 @@ static int __init xenbus_probe_backend_init(void)
 
 	register_xenstore_notifier(&xenstore_notifier);
 
-	if (register_shrinker(&backend_memory_shrinker, "xen-backend"))
-		pr_warn("shrinker registration failed\n");
+	backend_memory_shrinker = shrinker_alloc(0, "xen-backend");
+	if (!backend_memory_shrinker) {
+		pr_warn("shrinker allocation failed\n");
+		return 0;
+	}
+
+	backend_memory_shrinker->count_objects = backend_shrink_memory_count;
+	backend_memory_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(backend_memory_shrinker);
 
 	return 0;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578085.905392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEo-0003Zk-4n; Mon, 07 Aug 2023 11:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578085.905392; Mon, 07 Aug 2023 11:17:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEn-0003Wo-RS; Mon, 07 Aug 2023 11:17:25 +0000
Received: by outflank-mailman (input) for mailman id 578085;
 Mon, 07 Aug 2023 11:17:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyAI-0002Ee-Me
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:12:46 +0000
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com
 [2607:f8b0:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5595243c-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:12:46 +0200 (CEST)
Received: by mail-pg1-x530.google.com with SMTP id
 41be03b00d2f7-5643140aa5fso525574a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:12:46 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.12.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:12: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: 5595243c-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406764; x=1692011564;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XXAG7UeexodYStcT1Y2gz+/6q+0E2xrK+D1h2eKApUE=;
        b=aL2IlnUybxJBSaUyx5/2hb4H2bp/OBgBmpkvxoB1jU+rSMlmYgotW9aghIyS5IGFTu
         jFnKPHdHImGCYC2E/ABE0MKtaUZM35JefrItnSynMzWwfh9y6Muq0ow4RXH7tUjQQfcP
         Mb/jNbJTqI64OH5TZAbe/9B64ipZHwjSbqJcPzS81ONTFfdvn1WQf8A1oxt4tY2+xFm3
         qLJTVdHdHHLy/H07ztqOBHi1YT6PCSLEiwm3BmVRH+v8KbcNGmsDXIWIkoSvX1jpUSeE
         +aIaBM9zmcPun7sjvVC0D+UUovECfFdX/YnWZ3U8UI2BqXU1g5ckeiBNnyvyn5q9jj5E
         E1iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406764; x=1692011564;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XXAG7UeexodYStcT1Y2gz+/6q+0E2xrK+D1h2eKApUE=;
        b=dQX6705DPjzunt2g8qxVj7STH4MWJ7ls415nxeRKx8p210z0y+IqwQXU/9S+uBunX1
         Szov0NEy5Fz930rg0d0/SXMjnsMPsfJ0y68zzgiOicS4zOkw0Tjok+Paxe3SeZCQFDw6
         YTgnl4fNoPk7dNg5M804wL6IKZ1t5O9/5JCcD0xG6Cp9T7q9PND3RzOwLhxYWUy8D66t
         Jhm+JcMk8Fmcv1/ZOhrpjN6XqOBSXkYcx2trWCFZZmJHuzH2q71QDopw1uBkKuZcV0Vf
         HepziZr+93F8ikMPxTkxXWzbZsisVv9LFSNhc84OZT7FV7KFTBB92JbpoxjP4LOuI1fY
         Qilg==
X-Gm-Message-State: AOJu0YwleglX/Jg1EOVM/rUIbaWj1l+unhJvBG7kJjlADpAIYOFHX68F
	nGcqRldgPuhzpM/A9y5CqO8gFA==
X-Google-Smtp-Source: AGHT+IE0EldDhRUbVC2QQ5qQQy0UrFFq3L83zUgt+LShkd8AG+beTExy84fPX5FeRRz/rZ+raVP35g==
X-Received: by 2002:a17:90a:9c3:b0:269:41cf:7212 with SMTP id 61-20020a17090a09c300b0026941cf7212mr4959141pjo.4.1691406764622;
        Mon, 07 Aug 2023 04:12:44 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 13/48] NFSv4.2: dynamically allocate the nfs-xattr shrinkers
Date: Mon,  7 Aug 2023 19:09:01 +0800
Message-Id: <20230807110936.21819-14-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the nfs-xattr shrinkers.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/nfs/nfs42xattr.c | 87 +++++++++++++++++++++++----------------------
 1 file changed, 44 insertions(+), 43 deletions(-)

diff --git a/fs/nfs/nfs42xattr.c b/fs/nfs/nfs42xattr.c
index 911f634ba3da..2ad66a8922f4 100644
--- a/fs/nfs/nfs42xattr.c
+++ b/fs/nfs/nfs42xattr.c
@@ -796,28 +796,9 @@ static unsigned long nfs4_xattr_cache_scan(struct shrinker *shrink,
 static unsigned long nfs4_xattr_entry_scan(struct shrinker *shrink,
 					   struct shrink_control *sc);
 
-static struct shrinker nfs4_xattr_cache_shrinker = {
-	.count_objects	= nfs4_xattr_cache_count,
-	.scan_objects	= nfs4_xattr_cache_scan,
-	.seeks		= DEFAULT_SEEKS,
-	.flags		= SHRINKER_MEMCG_AWARE,
-};
-
-static struct shrinker nfs4_xattr_entry_shrinker = {
-	.count_objects	= nfs4_xattr_entry_count,
-	.scan_objects	= nfs4_xattr_entry_scan,
-	.seeks		= DEFAULT_SEEKS,
-	.batch		= 512,
-	.flags		= SHRINKER_MEMCG_AWARE,
-};
-
-static struct shrinker nfs4_xattr_large_entry_shrinker = {
-	.count_objects	= nfs4_xattr_entry_count,
-	.scan_objects	= nfs4_xattr_entry_scan,
-	.seeks		= 1,
-	.batch		= 512,
-	.flags		= SHRINKER_MEMCG_AWARE,
-};
+static struct shrinker *nfs4_xattr_cache_shrinker;
+static struct shrinker *nfs4_xattr_entry_shrinker;
+static struct shrinker *nfs4_xattr_large_entry_shrinker;
 
 static enum lru_status
 cache_lru_isolate(struct list_head *item,
@@ -943,7 +924,7 @@ nfs4_xattr_entry_scan(struct shrinker *shrink, struct shrink_control *sc)
 	struct nfs4_xattr_entry *entry;
 	struct list_lru *lru;
 
-	lru = (shrink == &nfs4_xattr_large_entry_shrinker) ?
+	lru = (shrink == nfs4_xattr_large_entry_shrinker) ?
 	    &nfs4_xattr_large_entry_lru : &nfs4_xattr_entry_lru;
 
 	freed = list_lru_shrink_walk(lru, sc, entry_lru_isolate, &dispose);
@@ -971,7 +952,7 @@ nfs4_xattr_entry_count(struct shrinker *shrink, struct shrink_control *sc)
 	unsigned long count;
 	struct list_lru *lru;
 
-	lru = (shrink == &nfs4_xattr_large_entry_shrinker) ?
+	lru = (shrink == nfs4_xattr_large_entry_shrinker) ?
 	    &nfs4_xattr_large_entry_lru : &nfs4_xattr_entry_lru;
 
 	count = list_lru_shrink_count(lru, sc);
@@ -991,18 +972,34 @@ static void nfs4_xattr_cache_init_once(void *p)
 	INIT_LIST_HEAD(&cache->dispose);
 }
 
-static int nfs4_xattr_shrinker_init(struct shrinker *shrinker,
-				    struct list_lru *lru, const char *name)
+typedef unsigned long (*count_objects_cb)(struct shrinker *s,
+					  struct shrink_control *sc);
+typedef unsigned long (*scan_objects_cb)(struct shrinker *s,
+					 struct shrink_control *sc);
+
+static int __init nfs4_xattr_shrinker_init(struct shrinker **shrinker,
+					   struct list_lru *lru, const char *name,
+					   count_objects_cb count,
+					   scan_objects_cb scan, long batch, int seeks)
 {
-	int ret = 0;
+	int ret;
 
-	ret = register_shrinker(shrinker, name);
-	if (ret)
+	*shrinker = shrinker_alloc(SHRINKER_MEMCG_AWARE, name);
+	if (!*shrinker)
+		return -ENOMEM;
+
+	ret = list_lru_init_memcg(lru, *shrinker);
+	if (ret) {
+		shrinker_free(*shrinker);
 		return ret;
+	}
 
-	ret = list_lru_init_memcg(lru, shrinker);
-	if (ret)
-		unregister_shrinker(shrinker);
+	(*shrinker)->count_objects = count;
+	(*shrinker)->scan_objects = scan;
+	(*shrinker)->batch = batch;
+	(*shrinker)->seeks = seeks;
+
+	shrinker_register(*shrinker);
 
 	return ret;
 }
@@ -1010,7 +1007,7 @@ static int nfs4_xattr_shrinker_init(struct shrinker *shrinker,
 static void nfs4_xattr_shrinker_destroy(struct shrinker *shrinker,
 					struct list_lru *lru)
 {
-	unregister_shrinker(shrinker);
+	shrinker_free(shrinker);
 	list_lru_destroy(lru);
 }
 
@@ -1026,27 +1023,31 @@ int __init nfs4_xattr_cache_init(void)
 		return -ENOMEM;
 
 	ret = nfs4_xattr_shrinker_init(&nfs4_xattr_cache_shrinker,
-				       &nfs4_xattr_cache_lru,
-				       "nfs-xattr_cache");
+				       &nfs4_xattr_cache_lru, "nfs-xattr_cache",
+				       nfs4_xattr_cache_count,
+				       nfs4_xattr_cache_scan, 0, DEFAULT_SEEKS);
 	if (ret)
 		goto out1;
 
 	ret = nfs4_xattr_shrinker_init(&nfs4_xattr_entry_shrinker,
-				       &nfs4_xattr_entry_lru,
-				       "nfs-xattr_entry");
+				       &nfs4_xattr_entry_lru, "nfs-xattr_entry",
+				       nfs4_xattr_entry_count,
+				       nfs4_xattr_entry_scan, 512, DEFAULT_SEEKS);
 	if (ret)
 		goto out2;
 
 	ret = nfs4_xattr_shrinker_init(&nfs4_xattr_large_entry_shrinker,
 				       &nfs4_xattr_large_entry_lru,
-				       "nfs-xattr_large_entry");
+				       "nfs-xattr_large_entry",
+				       nfs4_xattr_entry_count,
+				       nfs4_xattr_entry_scan, 512, 1);
 	if (!ret)
 		return 0;
 
-	nfs4_xattr_shrinker_destroy(&nfs4_xattr_entry_shrinker,
+	nfs4_xattr_shrinker_destroy(nfs4_xattr_entry_shrinker,
 				    &nfs4_xattr_entry_lru);
 out2:
-	nfs4_xattr_shrinker_destroy(&nfs4_xattr_cache_shrinker,
+	nfs4_xattr_shrinker_destroy(nfs4_xattr_cache_shrinker,
 				    &nfs4_xattr_cache_lru);
 out1:
 	kmem_cache_destroy(nfs4_xattr_cache_cachep);
@@ -1056,11 +1057,11 @@ int __init nfs4_xattr_cache_init(void)
 
 void nfs4_xattr_cache_exit(void)
 {
-	nfs4_xattr_shrinker_destroy(&nfs4_xattr_large_entry_shrinker,
+	nfs4_xattr_shrinker_destroy(nfs4_xattr_large_entry_shrinker,
 				    &nfs4_xattr_large_entry_lru);
-	nfs4_xattr_shrinker_destroy(&nfs4_xattr_entry_shrinker,
+	nfs4_xattr_shrinker_destroy(nfs4_xattr_entry_shrinker,
 				    &nfs4_xattr_entry_lru);
-	nfs4_xattr_shrinker_destroy(&nfs4_xattr_cache_shrinker,
+	nfs4_xattr_shrinker_destroy(nfs4_xattr_cache_shrinker,
 				    &nfs4_xattr_cache_lru);
 	kmem_cache_destroy(nfs4_xattr_cache_cachep);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578087.905400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEo-0003kc-N2; Mon, 07 Aug 2023 11:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578087.905400; Mon, 07 Aug 2023 11:17:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEo-0003g0-AV; Mon, 07 Aug 2023 11:17:26 +0000
Received: by outflank-mailman (input) for mailman id 578087;
 Mon, 07 Aug 2023 11:17:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyBK-0002Ee-V3
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:13:50 +0000
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com
 [2607:f8b0:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7becbc7e-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:13:50 +0200 (CEST)
Received: by mail-pg1-x52f.google.com with SMTP id
 41be03b00d2f7-55b78bf0423so391759a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:13:50 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.13.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:13: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: 7becbc7e-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406829; x=1692011629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GSWsN00ewH1CUxuL2on0amogNZtYjpfZMPk3tXk1MLc=;
        b=dRL5OTw58GKSKLSEPIkOk3RNFcmmAqsiLvwXwuCsQ6898crZQ//U31N7J6aETctBqp
         +yNfSzW4P67hr/Q5en6KlpeaCzhuSArK09Uv1s7rX7JtU6KCmHd6Mqm/4AQ65zu5m5Io
         c0AgOv8G8SDnrmCDqGvw9U9rsdHywgcFHequBwptONEnrpN+7djJ7c1au1NclddO4RuF
         fGkbwSFA8neTzyjHzVx+h2JTuM9t2Q0O3KvbIWMUOl7gxPC5QUE4BflF3xVEC1ALf5VX
         oJ+rwFdIWe78RvMraM76IWcwrhx+7xBzgx3bdbJKVCqu0ytQTpll1s2Np/nEdRD5cowd
         HYLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406829; x=1692011629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GSWsN00ewH1CUxuL2on0amogNZtYjpfZMPk3tXk1MLc=;
        b=bJMUGyQwZhvvuDyqQyVET4Uug+0iJLBjuXzQpvlxLLaQWAnWvmFnjIe3t4Tg/urD72
         EU3X9Wke6qcIyVxszCcqE9fLqsQfMYseSNdfEOcVdPb346UUqDuLIBLLyt+UPgMpbylQ
         mkAfNKwa7/JUipeS3HmFY3c1xdMCF/gI2tp7yJtXPAxog5eVaVdYSag6DDCkM0yewH9w
         TBZOgH0Vuwitb/tvEN+cNhG7vAPW+w5cc7+sT/26LbpLyD0DSZB4UwiXb4V92+8oVprQ
         9zvwP3/FuH7oelz6DfLT/p9cvqjpw/L+FSbyquEp3tPJWqpR1sdBDj9PKblFyiAIDv3H
         uEHg==
X-Gm-Message-State: ABy/qLZAfeAEhMtUr2z1abXqLJNPqbSzePI5ARJ4/Wih/QrjXugEWnO0
	JPg67pO5Pt9gB+9VYafXc8SupQ==
X-Google-Smtp-Source: APBJJlEEwhe0wjgrc7nxC5j9G5K3ZI0sWgwDykpBRAx7nLtKV2LZNd6jgA89VvGSaryf9LAeIFxakg==
X-Received: by 2002:a17:90a:901:b0:268:3a31:3e4d with SMTP id n1-20020a17090a090100b002683a313e4dmr23070871pjn.2.1691406828996;
        Mon, 07 Aug 2023 04:13:48 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 18/48] rcu: dynamically allocate the rcu-lazy shrinker
Date: Mon,  7 Aug 2023 19:09:06 +0800
Message-Id: <20230807110936.21819-19-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the rcu-lazy shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 kernel/rcu/tree_nocb.h | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
index 5598212d1f27..e1c59c33738a 100644
--- a/kernel/rcu/tree_nocb.h
+++ b/kernel/rcu/tree_nocb.h
@@ -1396,13 +1396,6 @@ lazy_rcu_shrink_scan(struct shrinker *shrink, struct shrink_control *sc)
 
 	return count ? count : SHRINK_STOP;
 }
-
-static struct shrinker lazy_rcu_shrinker = {
-	.count_objects = lazy_rcu_shrink_count,
-	.scan_objects = lazy_rcu_shrink_scan,
-	.batch = 0,
-	.seeks = DEFAULT_SEEKS,
-};
 #endif // #ifdef CONFIG_RCU_LAZY
 
 void __init rcu_init_nohz(void)
@@ -1410,6 +1403,7 @@ void __init rcu_init_nohz(void)
 	int cpu;
 	struct rcu_data *rdp;
 	const struct cpumask *cpumask = NULL;
+	struct shrinker * __maybe_unused lazy_rcu_shrinker;
 
 #if defined(CONFIG_NO_HZ_FULL)
 	if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask))
@@ -1436,8 +1430,16 @@ void __init rcu_init_nohz(void)
 		return;
 
 #ifdef CONFIG_RCU_LAZY
-	if (register_shrinker(&lazy_rcu_shrinker, "rcu-lazy"))
-		pr_err("Failed to register lazy_rcu shrinker!\n");
+	lazy_rcu_shrinker = shrinker_alloc(0, "rcu-lazy");
+	if (!lazy_rcu_shrinker) {
+		pr_err("Failed to allocate lazy_rcu shrinker!\n");
+	} else {
+		lazy_rcu_shrinker->count_objects = lazy_rcu_shrink_count;
+		lazy_rcu_shrinker->scan_objects = lazy_rcu_shrink_scan;
+		lazy_rcu_shrinker->seeks = DEFAULT_SEEKS;
+
+		shrinker_register(lazy_rcu_shrinker);
+	}
 #endif // #ifdef CONFIG_RCU_LAZY
 
 	if (!cpumask_subset(rcu_nocb_mask, cpu_possible_mask)) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578088.905413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEq-0004Dv-4Q; Mon, 07 Aug 2023 11:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578088.905413; Mon, 07 Aug 2023 11:17:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEp-0004C9-Sz; Mon, 07 Aug 2023 11:17:27 +0000
Received: by outflank-mailman (input) for mailman id 578088;
 Mon, 07 Aug 2023 11:17:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyB8-0002Ee-OW
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:13:38 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 749e73d5-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:13:38 +0200 (CEST)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-1bc76cdf0cbso595335ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:13:38 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.13.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:13: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: 749e73d5-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406816; x=1692011616;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=et7oKjMo2RpAm9eGe6PO8KzXkO6yMET8jj6KuxhxE1o=;
        b=LikGQLIJYBMaIhLRv2oXwUZ1S5/lUocFnmTR+FYR6Ek9DrdoATbLs4CDlynPte0jm9
         +o4McGrgBARlkb75OrdIWJKTn+TAsEnotraDhrP3rtl6y6q5edkiQAwqNgCpWHEQGLxu
         GHvaWLUFDnTHEHQY8B66ZCvfeUOtDRooCdq2e8FvhkYGE0+2kW031xfZ/1GeTTnnyACe
         erVR01yoMD1wcFa+90Rr7nUgrj+jHy2UHL/0KieWzuXqT/QJWuskjH4/gIAZtbTfNj8h
         rLHAUVp+wWaVi0Nz3/+zkqLaFK0QZUGbmHkke0Mu+daDajI/xmbze4i5ZAJyYAfaC1ge
         umJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406816; x=1692011616;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=et7oKjMo2RpAm9eGe6PO8KzXkO6yMET8jj6KuxhxE1o=;
        b=bbls2+I+i31HLCrym91HF8qetfuWEIq9Fx2x2EGUbiHpZideXIJsBnJKknHOi+6BA8
         vRS5KBqh2isbNar5all8w4t+6V5o+jSLeBuHZHw3xGKIpYtahe2h98+9kS52JQUiJSyq
         nVp3xCQlQeBX9SYjCCNlQjeIAvwW2fhaW9KJJbukGZA0QeCche1cs0n/uWsrFvqxenjS
         c1120HAsF0jXzpUPELrBTVPMcGqQThTns30Bj2flqpceLiurjfpUXmBQeg5K82FMPKoC
         K1+KMMA0DDkUcvadcDSYP4HcXnd8ynKRBsNw99k7Dxl7lF9ceZWHs9p/AJXM3XGD8U/I
         BEHg==
X-Gm-Message-State: ABy/qLbzx8eUf/R4ZXlrXMid8ZQTRLMlgZDT7pK6uPn9sAOgRv9NQFN8
	2E3Cw5FaGSzlPgVAoYwgT9Tl5A==
X-Google-Smtp-Source: APBJJlF9QaWRkA2HFZAXDPGIksSZq6NqNIS7MDluuBXjMUyGz8OacRKwa0/I1dCKrdRRT8VidP2X/g==
X-Received: by 2002:a17:902:ea04:b0:1b8:a27d:f591 with SMTP id s4-20020a170902ea0400b001b8a27df591mr32781910plg.5.1691406816716;
        Mon, 07 Aug 2023 04:13:36 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 17/48] ubifs: dynamically allocate the ubifs-slab shrinker
Date: Mon,  7 Aug 2023 19:09:05 +0800
Message-Id: <20230807110936.21819-18-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the ubifs-slab shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/ubifs/super.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index b08fb28d16b5..c690782388a8 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -54,11 +54,7 @@ module_param_cb(default_version, &ubifs_default_version_ops, &ubifs_default_vers
 static struct kmem_cache *ubifs_inode_slab;
 
 /* UBIFS TNC shrinker description */
-static struct shrinker ubifs_shrinker_info = {
-	.scan_objects = ubifs_shrink_scan,
-	.count_objects = ubifs_shrink_count,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *ubifs_shrinker_info;
 
 /**
  * validate_inode - validate inode.
@@ -2373,7 +2369,7 @@ static void inode_slab_ctor(void *obj)
 
 static int __init ubifs_init(void)
 {
-	int err;
+	int err = -ENOMEM;
 
 	BUILD_BUG_ON(sizeof(struct ubifs_ch) != 24);
 
@@ -2439,10 +2435,16 @@ static int __init ubifs_init(void)
 	if (!ubifs_inode_slab)
 		return -ENOMEM;
 
-	err = register_shrinker(&ubifs_shrinker_info, "ubifs-slab");
-	if (err)
+	ubifs_shrinker_info = shrinker_alloc(0, "ubifs-slab");
+	if (!ubifs_shrinker_info)
 		goto out_slab;
 
+	ubifs_shrinker_info->count_objects = ubifs_shrink_count;
+	ubifs_shrinker_info->scan_objects = ubifs_shrink_scan;
+	ubifs_shrinker_info->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(ubifs_shrinker_info);
+
 	err = ubifs_compressors_init();
 	if (err)
 		goto out_shrinker;
@@ -2467,7 +2469,7 @@ static int __init ubifs_init(void)
 	dbg_debugfs_exit();
 	ubifs_compressors_exit();
 out_shrinker:
-	unregister_shrinker(&ubifs_shrinker_info);
+	shrinker_free(ubifs_shrinker_info);
 out_slab:
 	kmem_cache_destroy(ubifs_inode_slab);
 	return err;
@@ -2483,7 +2485,7 @@ static void __exit ubifs_exit(void)
 	dbg_debugfs_exit();
 	ubifs_sysfs_exit();
 	ubifs_compressors_exit();
-	unregister_shrinker(&ubifs_shrinker_info);
+	shrinker_free(ubifs_shrinker_info);
 
 	/*
 	 * Make sure all delayed rcu free inodes are flushed before we
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578090.905431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEw-0005CH-VN; Mon, 07 Aug 2023 11:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578090.905431; Mon, 07 Aug 2023 11:17:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEw-0005Bt-Nm; Mon, 07 Aug 2023 11:17:34 +0000
Received: by outflank-mailman (input) for mailman id 578090;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyDO-0006s9-H3
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:15:58 +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 c7faa358-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:15:58 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2684e225a6cso660974a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:15:57 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.15.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:15: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: c7faa358-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406956; x=1692011756;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x1yZWn5jqhhXD5GlPCwn7Rqy/lqVgw4fKiPcfLbuAyw=;
        b=AcIjUBUrPWg0UzvX5wfFusVN+dKafMdFSH2GRzDH1OvYCulGxI33IbPnGkf00jzcfm
         4A2gtuaaMbbtp6GdbHcVvPsXNRG1dmOn4MOltHcp0lO1ZvH61PsHri+EHSBurlaP3++Q
         4Ay4mp+CERsWHNo0m/mtiLtHugH42cl3pUwAYaJdXbMqhQOvO09TYlTgMkhLAJn4/X6x
         i3g9KcsL+Xka9qDqamdAs09xw8L3SMlDoJ+EPUs9bBOqEWf8CI1XS8GEbt6nh07SwXhK
         J3x/B99DfdJVBmu0rw2+YUXatA5oQZwE4RwMladVYflBE1HvjLGyTI12ejp5Woqr/FOF
         LWLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406956; x=1692011756;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x1yZWn5jqhhXD5GlPCwn7Rqy/lqVgw4fKiPcfLbuAyw=;
        b=fHMuOLLF5QKRDZJMkN9pEmQd5u/Oiz0CDM3SQ+3FuIPmXEQqN/ODMr6BM8NkzMRjRC
         IJWyoStlqxLdOFaacAyPJj7Ucv5Q+7FHPAQRZDaEW7O0puPELW2v7bbcXNYmRHUcWeLE
         UUUTqus9hC2cfZ+xnOwMtbGvDG/OfPpjCvflo0W2TTDMJGrN93C78kImrxBpS2UW7XKQ
         TG8X5KHzvXVhmQeoOmq6kWhhuLqrM/KkCk54V3E+iNmgzSFnYt+aBpAQzlLfN+Buoy5Q
         u+7ATAfQKx0y1VH2a+V06Qda8TZrmRfY/v/tvLaWBBn/Uac5V+YO5rvJF6dBuIgBbK6e
         eDtw==
X-Gm-Message-State: AOJu0YxQcIR7SJR3bFFPvurLYwc12YvpoGptx3qGt9h9j72qbARLeudc
	nq1fvtWPmcHUIfxhH2uruxeL3w==
X-Google-Smtp-Source: AGHT+IFmiFe8iRG7X1ND7nrFgfyiRFI3F00Omyk3P1Mi12alvC2oRACqfoDpuN1VIlTmyfJiX72rxw==
X-Received: by 2002:a17:90a:2909:b0:269:5bf7:d79c with SMTP id g9-20020a17090a290900b002695bf7d79cmr2218056pjd.1.1691406956537;
        Mon, 07 Aug 2023 04:15:56 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 28/48] md/raid5: dynamically allocate the md-raid5 shrinker
Date: Mon,  7 Aug 2023 19:09:16 +0800
Message-Id: <20230807110936.21819-29-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the md-raid5 shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct r5conf.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/md/raid5.c | 26 +++++++++++++++-----------
 drivers/md/raid5.h |  2 +-
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 32a87193bad7..e284c2f7dbe4 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -7401,7 +7401,7 @@ static void free_conf(struct r5conf *conf)
 
 	log_exit(conf);
 
-	unregister_shrinker(&conf->shrinker);
+	shrinker_free(conf->shrinker);
 	free_thread_groups(conf);
 	shrink_stripes(conf);
 	raid5_free_percpu(conf);
@@ -7449,7 +7449,7 @@ static int raid5_alloc_percpu(struct r5conf *conf)
 static unsigned long raid5_cache_scan(struct shrinker *shrink,
 				      struct shrink_control *sc)
 {
-	struct r5conf *conf = container_of(shrink, struct r5conf, shrinker);
+	struct r5conf *conf = shrink->private_data;
 	unsigned long ret = SHRINK_STOP;
 
 	if (mutex_trylock(&conf->cache_size_mutex)) {
@@ -7470,7 +7470,7 @@ static unsigned long raid5_cache_scan(struct shrinker *shrink,
 static unsigned long raid5_cache_count(struct shrinker *shrink,
 				       struct shrink_control *sc)
 {
-	struct r5conf *conf = container_of(shrink, struct r5conf, shrinker);
+	struct r5conf *conf = shrink->private_data;
 
 	if (conf->max_nr_stripes < conf->min_nr_stripes)
 		/* unlikely, but not impossible */
@@ -7705,18 +7705,22 @@ static struct r5conf *setup_conf(struct mddev *mddev)
 	 * it reduces the queue depth and so can hurt throughput.
 	 * So set it rather large, scaled by number of devices.
 	 */
-	conf->shrinker.seeks = DEFAULT_SEEKS * conf->raid_disks * 4;
-	conf->shrinker.scan_objects = raid5_cache_scan;
-	conf->shrinker.count_objects = raid5_cache_count;
-	conf->shrinker.batch = 128;
-	conf->shrinker.flags = 0;
-	ret = register_shrinker(&conf->shrinker, "md-raid5:%s", mdname(mddev));
-	if (ret) {
-		pr_warn("md/raid:%s: couldn't register shrinker.\n",
+	conf->shrinker = shrinker_alloc(0, "md-raid5:%s", mdname(mddev));
+	if (!conf->shrinker) {
+		ret = -ENOMEM;
+		pr_warn("md/raid:%s: couldn't allocate shrinker.\n",
 			mdname(mddev));
 		goto abort;
 	}
 
+	conf->shrinker->seeks = DEFAULT_SEEKS * conf->raid_disks * 4;
+	conf->shrinker->scan_objects = raid5_cache_scan;
+	conf->shrinker->count_objects = raid5_cache_count;
+	conf->shrinker->batch = 128;
+	conf->shrinker->private_data = conf;
+
+	shrinker_register(conf->shrinker);
+
 	sprintf(pers_name, "raid%d", mddev->new_level);
 	rcu_assign_pointer(conf->thread,
 			   md_register_thread(raid5d, mddev, pers_name));
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h
index 97a795979a35..22bea20eccbd 100644
--- a/drivers/md/raid5.h
+++ b/drivers/md/raid5.h
@@ -670,7 +670,7 @@ struct r5conf {
 	wait_queue_head_t	wait_for_stripe;
 	wait_queue_head_t	wait_for_overlap;
 	unsigned long		cache_state;
-	struct shrinker		shrinker;
+	struct shrinker		*shrinker;
 	int			pool_size; /* number of disks in stripeheads in pool */
 	spinlock_t		device_lock;
 	struct disk_info	*disks;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578092.905434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEx-0005IR-FR; Mon, 07 Aug 2023 11:17:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578092.905434; Mon, 07 Aug 2023 11:17:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEx-0005FN-4U; Mon, 07 Aug 2023 11:17:35 +0000
Received: by outflank-mailman (input) for mailman id 578092;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyDn-0006s9-M8
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:16:23 +0000
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com
 [2607:f8b0:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d70680d7-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:16:23 +0200 (CEST)
Received: by mail-pg1-x52f.google.com with SMTP id
 41be03b00d2f7-5643140aa5fso526450a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:16:23 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.16.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:16:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d70680d7-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406982; x=1692011782;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2n4eBW/y496rw0R30jGqgr9PaTd+TyGx4MFgxeJTY98=;
        b=FnWDWj5rwzmfFGLsv5BbODxTKmQBAUJaoO/xwiU3xtz9tOZ2AwDnatjsq2ab3ilYeJ
         iWF7FCg8OfJEY1lx/DDczF41LpfDlE6nRRduQxYHOyP9X3uK7n/ZO9q7VAhZSG3xs95Q
         OqWz/XghzU3SfaeMxwONvmK/HIjBzGEUASf2JFKX93u1G15t5fAwcHUsocilVhQXHkyU
         J1tWV2QNpc4U36fDDO4ejlIhucfEnNm2u0Wt3z4T4cfN7wJRCQagqckfUu/vztdG0xlS
         Buj0JJnUwu7QR/DBMG2ve3ld5n35BuwOJKjICt4m1cvU7hXO7dkM+KrhCZs3CTAs8/64
         gYbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406982; x=1692011782;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2n4eBW/y496rw0R30jGqgr9PaTd+TyGx4MFgxeJTY98=;
        b=igIZy/9V3b34YvgWjnSj6z4EwxK4KdTd70zHOPx3DW9KtoRq9pbwVExLgwS84WFdL/
         Gkw6lIFGerii6CqTdbAjRlh0uR1xW97INZmWXRj0Xh/NDIS2AxeoEOqhfCudZIA08R9x
         Y8ivEd59a/tZZlhy1j44smSgQLF0T3WQZFN4/fpUibAZJ7sFNMYDWpPNkWK7CrJqRNlU
         ngAAFv9sOmXSQNx0CWGMLtyCK/7tcRlAVzlyCE7m+BxJtIrExRL4FEhdWkKw6JnCY6ZF
         fbDx4Ed82R2FWNQ2lLrLX4eXN/X+1pS5k4Yxk+TZVF0NKnx0hwns8sAhl1KEVBRyvrvG
         fTXQ==
X-Gm-Message-State: ABy/qLZr6tYxGC/HyLgvZoZIsiX6IUNBCrE2w1Bx8Ax+Z1wuHTHcKOBb
	OhIWKyjwHB3DEfC4/YJTczv4tg==
X-Google-Smtp-Source: APBJJlGfZoIKy5dlf67l9aDnuNmoWN294jSLFWBRn8Nrl68gwCTSSg7v4NaF4AAHW/6J0zEJitKJCg==
X-Received: by 2002:a17:90a:1f83:b0:268:3dc6:f0c5 with SMTP id x3-20020a17090a1f8300b002683dc6f0c5mr25038018pja.0.1691406981820;
        Mon, 07 Aug 2023 04:16:21 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 30/48] vmw_balloon: dynamically allocate the vmw-balloon shrinker
Date: Mon,  7 Aug 2023 19:09:18 +0800
Message-Id: <20230807110936.21819-31-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the vmw-balloon shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct vmballoon.

And we can simply exit vmballoon_init() when registering the shrinker
fails. So the shrinker_registered indication is redundant, just remove it.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/misc/vmw_balloon.c | 38 ++++++++++++--------------------------
 1 file changed, 12 insertions(+), 26 deletions(-)

diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
index 9ce9b9e0e9b6..ac2cdb6cdf74 100644
--- a/drivers/misc/vmw_balloon.c
+++ b/drivers/misc/vmw_balloon.c
@@ -380,16 +380,7 @@ struct vmballoon {
 	/**
 	 * @shrinker: shrinker interface that is used to avoid over-inflation.
 	 */
-	struct shrinker shrinker;
-
-	/**
-	 * @shrinker_registered: whether the shrinker was registered.
-	 *
-	 * The shrinker interface does not handle gracefully the removal of
-	 * shrinker that was not registered before. This indication allows to
-	 * simplify the unregistration process.
-	 */
-	bool shrinker_registered;
+	struct shrinker *shrinker;
 };
 
 static struct vmballoon balloon;
@@ -1568,29 +1559,27 @@ static unsigned long vmballoon_shrinker_count(struct shrinker *shrinker,
 
 static void vmballoon_unregister_shrinker(struct vmballoon *b)
 {
-	if (b->shrinker_registered)
-		unregister_shrinker(&b->shrinker);
-	b->shrinker_registered = false;
+	shrinker_free(b->shrinker);
 }
 
 static int vmballoon_register_shrinker(struct vmballoon *b)
 {
-	int r;
-
 	/* Do nothing if the shrinker is not enabled */
 	if (!vmwballoon_shrinker_enable)
 		return 0;
 
-	b->shrinker.scan_objects = vmballoon_shrinker_scan;
-	b->shrinker.count_objects = vmballoon_shrinker_count;
-	b->shrinker.seeks = DEFAULT_SEEKS;
+	b->shrinker = shrinker_alloc(0, "vmw-balloon");
+	if (!b->shrinker)
+		return -ENOMEM;
 
-	r = register_shrinker(&b->shrinker, "vmw-balloon");
+	b->shrinker->scan_objects = vmballoon_shrinker_scan;
+	b->shrinker->count_objects = vmballoon_shrinker_count;
+	b->shrinker->seeks = DEFAULT_SEEKS;
+	b->shrinker->private_data = b;
 
-	if (r == 0)
-		b->shrinker_registered = true;
+	shrinker_register(b->shrinker);
 
-	return r;
+	return 0;
 }
 
 /*
@@ -1883,7 +1872,7 @@ static int __init vmballoon_init(void)
 
 	error = vmballoon_register_shrinker(&balloon);
 	if (error)
-		goto fail;
+		return error;
 
 	/*
 	 * Initialization of compaction must be done after the call to
@@ -1905,9 +1894,6 @@ static int __init vmballoon_init(void)
 	vmballoon_debugfs_init(&balloon);
 
 	return 0;
-fail:
-	vmballoon_unregister_shrinker(&balloon);
-	return error;
 }
 
 /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578094.905445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEz-0005hk-A4; Mon, 07 Aug 2023 11:17:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578094.905445; Mon, 07 Aug 2023 11:17:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEy-0005fZ-Lc; Mon, 07 Aug 2023 11:17:36 +0000
Received: by outflank-mailman (input) for mailman id 578094;
 Mon, 07 Aug 2023 11:17: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qSy9q-0002Ee-4k
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:12:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44c6a4fd-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:12:17 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9C0FD4EE0737;
 Mon,  7 Aug 2023 13:12:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44c6a4fd-3513-11ee-b27d-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 13:12: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, 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
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <871a501fb76cff724ed1c2b09277e2a3@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


>> Besides the one you listed, there are these other occurrences:
>> - xen/arch/x86/mm.c:4678 in 'arch_memory_op' as local variable 'struct
>> e820entry'
> 
> This probably wants renaming; my suggestion would be just "e" here.

Ok

> 
>> - xen/arch/x86/include/asm/guest/hypervisor.h:55 in
>> 'hypervisor_e820_fixup'
>> - xen/arch/x86/include/asm/pv/shim.h:88 in 'pv_shim_fixup'
> 
> These can likely again have their parameters dropped, for it only
> ever being the "e820" global which is passed. (Really I think in such
> cases the names being the same should be permitted.)
> 
>> - xen/arch/x86/setup.c:689 in 'kexec_reserve_area'
> 
> This surely can quite sensibly have boot_e820 use moved into the
> function itself.
> 

Ok, although your suggestion of breaking these renames/deletions in more 
than one patch may not be applicable,
as 'kexec_reserve_area' calls 'reserve_e820_ram', which in turn calls 
'e820_change_range_type'.
Similarly, the call stack containing 'e820_add_range' includes other 
calls to the modified functions, so
effectively it's best to drop the parameter everywhere all at once to 
prevent accidental mistakes.

>> We can take the first approach you suggested (which was my original
>> attempt, but then upon feedback on other
>> patches I reworked this patch before submitting). My doubt about it 
>> was
>> that it would introduce a naming
>> inconsistency with other e820-related objects/types. Anyway, if 
>> e820_map
>> is not a good name, could e820_arr be it?
> 
> But how does "arr" describe the purpose? I would have suggested a name,
> but none I can think of (e820_real, e820_final) I'd be really happy 
> with.
> Just e820 is pretty likely the best name we can have here.
> 

Ok, so perhaps the best way is using the strategy above, although I'm 
curious why in other places this
was not the preferred alternative (as the global may be dropped or the 
callers may use a e820map other
than the global one, but here I recognize my lack of knowledge on the 
internals of Xen).

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578097.905450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF0-0005tc-22; Mon, 07 Aug 2023 11:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578097.905450; Mon, 07 Aug 2023 11:17:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyEz-0005qJ-DL; Mon, 07 Aug 2023 11:17:37 +0000
Received: by outflank-mailman (input) for mailman id 578097;
 Mon, 07 Aug 2023 11:17:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy93-00018O-Kb
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:11:29 +0000
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com
 [2607:f8b0:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 269c7b10-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:11:27 +0200 (CEST)
Received: by mail-pg1-x52e.google.com with SMTP id
 41be03b00d2f7-5643140aa5fso525175a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:11:27 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.11.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:11: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: 269c7b10-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406686; x=1692011486;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ppdDbzxLfV7T8uyJ0+LWzuRMVQS50F9BO9dGotbDPbU=;
        b=MlLUTFwBYj7txqomyX5RsQbZ0tuOTesyUPZa0imDy/CbzwI18VWLrI273BHEpiy/59
         rQ1jtyDjjrm0A2fn5g0PDon6y1ODu6aNGJCylYpk7eBz5aCl8EYDqiryatgBLfE6j6wl
         z5DQPgedGrLwi+nxG0CDlruIcPgTiyaIMd4jUriznEP5tOm9lhp6XNenm09AU0AYyYPz
         hP8xB6m5xmZ4JEVQ0Bc2ouPU+2lWMJulVYbharTYlD2LjNPOhOgz1BVr9kOg3WfUC2R8
         kqamQX4BkmNd+ktmJD6D1JNyz78v+ezzbXueyJ3khYdsrERbOdoO7diXy9Rr3O+Hss94
         NCVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406686; x=1692011486;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ppdDbzxLfV7T8uyJ0+LWzuRMVQS50F9BO9dGotbDPbU=;
        b=SI6bTKXSY/NOnScqSQgI8k+zsVbPSbPRXtMJgd+Y+TyJhJDEJ6WIg7P3RVirgWj+Ia
         Lpe3Sux/EZT54k7JV7sSy1/97xQcpJpCRiKoTVAIis7+/DGkhU+IgPnmqktwsglFTOSB
         Kdj1ttXlxJucfYfzS2HDF2apiYgm3lFDYBEr6hiHcMJ+Uqt2h98/ZVOxfJQiys4H84M7
         ScNAgB5ON3luFkYeb6f61rIkhHgtnPkPBdrpyXKsL8TZzG+8yXDI8FEmXqZLY5bdOsMT
         4AYGhmONNJ0kKfsLU1fqvGzVz9Z5uvgnvxuGhOpG8WowZN8BpqmHqgO8nABxgIuLSWsQ
         o73A==
X-Gm-Message-State: AOJu0YwKI3m4/kZPmtA6wQsB4Hvt4b9xsmg4cbl8RBGjakNSinIhxpAj
	Vmp0KgIHsDwgFSm7rcIro1WOUQ==
X-Google-Smtp-Source: AGHT+IF4N48rqO+yuBXOFXn//EzxG9zSjzgF29ivUv9kLYfrFhE3z4laIyd5mkV4h78zNK2JaBG8Rw==
X-Received: by 2002:a17:90a:9c3:b0:269:41cf:7212 with SMTP id 61-20020a17090a09c300b0026941cf7212mr4956295pjo.4.1691406685878;
        Mon, 07 Aug 2023 04:11:25 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 07/48] drm/ttm: dynamically allocate the drm-ttm_pool shrinker
Date: Mon,  7 Aug 2023 19:08:55 +0800
Message-Id: <20230807110936.21819-8-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the drm-ttm_pool shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/gpu/drm/ttm/ttm_pool.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
index cddb9151d20f..c9c9618c0dce 100644
--- a/drivers/gpu/drm/ttm/ttm_pool.c
+++ b/drivers/gpu/drm/ttm/ttm_pool.c
@@ -73,7 +73,7 @@ static struct ttm_pool_type global_dma32_uncached[MAX_ORDER + 1];
 
 static spinlock_t shrinker_lock;
 static struct list_head shrinker_list;
-static struct shrinker mm_shrinker;
+static struct shrinker *mm_shrinker;
 
 /* Allocate pages of size 1 << order with the given gfp_flags */
 static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
@@ -734,8 +734,8 @@ static int ttm_pool_debugfs_shrink_show(struct seq_file *m, void *data)
 	struct shrink_control sc = { .gfp_mask = GFP_NOFS };
 
 	fs_reclaim_acquire(GFP_KERNEL);
-	seq_printf(m, "%lu/%lu\n", ttm_pool_shrinker_count(&mm_shrinker, &sc),
-		   ttm_pool_shrinker_scan(&mm_shrinker, &sc));
+	seq_printf(m, "%lu/%lu\n", ttm_pool_shrinker_count(mm_shrinker, &sc),
+		   ttm_pool_shrinker_scan(mm_shrinker, &sc));
 	fs_reclaim_release(GFP_KERNEL);
 
 	return 0;
@@ -779,10 +779,17 @@ int ttm_pool_mgr_init(unsigned long num_pages)
 			    &ttm_pool_debugfs_shrink_fops);
 #endif
 
-	mm_shrinker.count_objects = ttm_pool_shrinker_count;
-	mm_shrinker.scan_objects = ttm_pool_shrinker_scan;
-	mm_shrinker.seeks = 1;
-	return register_shrinker(&mm_shrinker, "drm-ttm_pool");
+	mm_shrinker = shrinker_alloc(0, "drm-ttm_pool");
+	if (!mm_shrinker)
+		return -ENOMEM;
+
+	mm_shrinker->count_objects = ttm_pool_shrinker_count;
+	mm_shrinker->scan_objects = ttm_pool_shrinker_scan;
+	mm_shrinker->seeks = 1;
+
+	shrinker_register(mm_shrinker);
+
+	return 0;
 }
 
 /**
@@ -802,6 +809,6 @@ void ttm_pool_mgr_fini(void)
 		ttm_pool_type_fini(&global_dma32_uncached[i]);
 	}
 
-	unregister_shrinker(&mm_shrinker);
+	shrinker_free(mm_shrinker);
 	WARN_ON(!list_empty(&shrinker_list));
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578100.905458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF1-0006Q7-ON; Mon, 07 Aug 2023 11:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578100.905458; Mon, 07 Aug 2023 11:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF1-0006M5-Bg; Mon, 07 Aug 2023 11:17:39 +0000
Received: by outflank-mailman (input) for mailman id 578100;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyEP-0006s9-Rb
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:17:01 +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 edc6e71d-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:17:01 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-268f6ba57b5so625221a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:17:01 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.16.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:16: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: edc6e71d-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407020; x=1692011820;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EIUP2Z+Njo4a1BEj4icZmHsMWaHOvZz2gypuwwXx0Do=;
        b=l3d3GmRdHVbykswjvj36xLNJU/HkRN0qQPtaCG+8C7U8JyCsrS7Omd1smNfjTVHq8n
         mmfknLuVWKPue6MQRQdYpG2Cap7GHxCVjCjmXm7SqhyxnTlXTIqiD6Dq4SurElV0d5A7
         yjtafWW6aQouIDt5nRUMTSVpj6O1jVRczCF6pjoLUl7iIEpS61wXJNKr8xLD++xEk/hK
         PFaJuConQXPH9DxAW8LM6Qo0CoTe6tjYe9zN1tPP9wJtycShcCxIvBgENM+8mu3gxPqB
         pNPWVQXnsLY4dcbOjU72J1n4zmuXrZ5CIb4eDvQ0qGFRUeSI2BGNFxZSx5CdqcSToBir
         CZSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407020; x=1692011820;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=EIUP2Z+Njo4a1BEj4icZmHsMWaHOvZz2gypuwwXx0Do=;
        b=KrSHxsdXAYOtqOrxrk+i4YzFNBuFcX15GLbUkuK2METtXquKEnboPOL3Tith3/8M5+
         DB3KdVE+6bq2LE+OeeWffQrQcg0sSSI+ehCXmjH1w+Zhgxq2zXsrZXq+ASK4tIF5SXiR
         H0D3Qkz9TXQAu0CtDB8U9OOWGRMOF5cZ3g/JOFeJw3fK1xEjCLUQgljUXeluVFscIxsJ
         EkWe+9BVszZkc3N6VQhPmNWHOqBkq+aAe4DDgBBiRSjfPXPpDlJFllzdB9CP3WenvrK9
         Da8IS+JyG0iJgPgvzfACrNcbnedy06iFnPaMVdjR9VMjouyEzwzLTAmqb/8nY0zaiS/y
         FxTg==
X-Gm-Message-State: AOJu0Yzkn3DMMkFMzgpXSR3Wn9IK5MqxugYd73WRLIH/PskwrTbJwNXD
	lVa5Xd8w96zeV495mWBnM2HzyQ==
X-Google-Smtp-Source: AGHT+IGL/1gBIk2C+QwkMNr6hEGRZG4q+xpVeUoXNA4D2kibZqrKnrVjY0bqX283iYX9eWQrJAN/xA==
X-Received: by 2002:a17:90a:6701:b0:269:32c7:24dc with SMTP id n1-20020a17090a670100b0026932c724dcmr6036278pjj.0.1691407020016;
        Mon, 07 Aug 2023 04:17:00 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 33/48] ext4: dynamically allocate the ext4-es shrinker
Date: Mon,  7 Aug 2023 19:09:21 +0800
Message-Id: <20230807110936.21819-34-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the ext4-es shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct ext4_sb_info.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/ext4/ext4.h           |  2 +-
 fs/ext4/extents_status.c | 24 ++++++++++++++----------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 481491e892df..48baf03eb1a6 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1657,7 +1657,7 @@ struct ext4_sb_info {
 	__u32 s_csum_seed;
 
 	/* Reclaim extents from extent status tree */
-	struct shrinker s_es_shrinker;
+	struct shrinker *s_es_shrinker;
 	struct list_head s_es_list;	/* List of inodes with reclaimable extents */
 	long s_es_nr_inode;
 	struct ext4_es_stats s_es_stats;
diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c
index 9b5b8951afb4..0532a81a7669 100644
--- a/fs/ext4/extents_status.c
+++ b/fs/ext4/extents_status.c
@@ -1596,7 +1596,7 @@ static unsigned long ext4_es_count(struct shrinker *shrink,
 	unsigned long nr;
 	struct ext4_sb_info *sbi;
 
-	sbi = container_of(shrink, struct ext4_sb_info, s_es_shrinker);
+	sbi = shrink->private_data;
 	nr = percpu_counter_read_positive(&sbi->s_es_stats.es_stats_shk_cnt);
 	trace_ext4_es_shrink_count(sbi->s_sb, sc->nr_to_scan, nr);
 	return nr;
@@ -1605,8 +1605,7 @@ static unsigned long ext4_es_count(struct shrinker *shrink,
 static unsigned long ext4_es_scan(struct shrinker *shrink,
 				  struct shrink_control *sc)
 {
-	struct ext4_sb_info *sbi = container_of(shrink,
-					struct ext4_sb_info, s_es_shrinker);
+	struct ext4_sb_info *sbi = shrink->private_data;
 	int nr_to_scan = sc->nr_to_scan;
 	int ret, nr_shrunk;
 
@@ -1690,13 +1689,18 @@ int ext4_es_register_shrinker(struct ext4_sb_info *sbi)
 	if (err)
 		goto err3;
 
-	sbi->s_es_shrinker.scan_objects = ext4_es_scan;
-	sbi->s_es_shrinker.count_objects = ext4_es_count;
-	sbi->s_es_shrinker.seeks = DEFAULT_SEEKS;
-	err = register_shrinker(&sbi->s_es_shrinker, "ext4-es:%s",
-				sbi->s_sb->s_id);
-	if (err)
+	sbi->s_es_shrinker = shrinker_alloc(0, "ext4-es:%s", sbi->s_sb->s_id);
+	if (!sbi->s_es_shrinker) {
+		err = -ENOMEM;
 		goto err4;
+	}
+
+	sbi->s_es_shrinker->scan_objects = ext4_es_scan;
+	sbi->s_es_shrinker->count_objects = ext4_es_count;
+	sbi->s_es_shrinker->seeks = DEFAULT_SEEKS;
+	sbi->s_es_shrinker->private_data = sbi;
+
+	shrinker_register(sbi->s_es_shrinker);
 
 	return 0;
 err4:
@@ -1716,7 +1720,7 @@ void ext4_es_unregister_shrinker(struct ext4_sb_info *sbi)
 	percpu_counter_destroy(&sbi->s_es_stats.es_stats_cache_misses);
 	percpu_counter_destroy(&sbi->s_es_stats.es_stats_all_cnt);
 	percpu_counter_destroy(&sbi->s_es_stats.es_stats_shk_cnt);
-	unregister_shrinker(&sbi->s_es_shrinker);
+	shrinker_free(sbi->s_es_shrinker);
 }
 
 /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578109.905475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF4-0007A8-3y; Mon, 07 Aug 2023 11:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578109.905475; Mon, 07 Aug 2023 11: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 1qSyF3-000763-QN; Mon, 07 Aug 2023 11:17:41 +0000
Received: by outflank-mailman (input) for mailman id 578109;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyE0-0006s9-O5
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:16:36 +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 deb4e289-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:16:36 +0200 (CEST)
Received: by mail-pg1-x536.google.com with SMTP id
 41be03b00d2f7-55b78bf0423so392203a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:16:36 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.16.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:16: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: deb4e289-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406994; x=1692011794;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nhs5C6wYTK112tB0Y3rKeCsMBEmGx3fQoCnqZ3HCCLA=;
        b=VutXoqIYPXtXpdtpLBT8bT2urW1s48myud5I+McDwEBCa9rsQtPimBr+YUFUzsT97Y
         MjfZoj9VTU5fQdJYfMy4Yv9+fpoIS3NFbuatZ84CQCYl8H9eWSOHmEJiwCeaGu2opion
         jdT+b5LnvY412zroG7MGUq7fLqOt080kwGO2vU4AXzRlkef5xzEfjXjzk3KbTMiuBQm9
         X5miROMvoH95e1ANj7PpglZT3M6nqFHwr/l7jXhn2TxbPNm1IYfgnlH3CAsHhpdGLp2V
         N9EQiXy6+755vxTQtpjB+rXzevwen4FSNuxTXEorqPqLUTQJulIk6PKsXEt+umpl0/zu
         QYGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406994; x=1692011794;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nhs5C6wYTK112tB0Y3rKeCsMBEmGx3fQoCnqZ3HCCLA=;
        b=Im9PaWfpSdoqbNePxzzUI0Rww9X8kyUFvZPxnsPGmyi0JRJ82SlWFaHJ4VWxkHf5Nw
         K3FFcakNN1SkVP9vdbj7mazFBYIQTSkrqHaCWOA391eYQmS26h3bhB+qRomkc5uRlWey
         WA3xjpa7OBfMbiEsYyafquhHYOl8YjP0KkiWkN0cqdNyF4aJSmGTEbKcUVqr68NA9rJh
         pQDZf9bsruIpF7praq/5ozMLe1KEIcx0Q3XoFVXxc2SuUplbeuQ7DPjMzo06vdOYtgrN
         YRn8rNdJgKZCiu1SeaUfpvFjV/Rg/sbAiIwbz/B1fSgmxmyEfHunFf9zTjY6Iekoshod
         tj4A==
X-Gm-Message-State: AOJu0YwarmQNnqUaBkB0av0WECvmQZMGf/sns0jN2XEGtNsG61OST8/x
	eYFMIELf5sGOFv7YReKlMtjQKQ==
X-Google-Smtp-Source: AGHT+IF623rMYCfdnVm3rDQUM9QMv5wRA4teIiBc32f8XUPEVkH5VguN8eCSFu0xAaU5upe3gsVL9w==
X-Received: by 2002:a17:90a:6701:b0:269:32c7:24dc with SMTP id n1-20020a17090a670100b0026932c724dcmr6035493pjj.0.1691406994765;
        Mon, 07 Aug 2023 04:16:34 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 31/48] virtio_balloon: dynamically allocate the virtio-balloon shrinker
Date: Mon,  7 Aug 2023 19:09:19 +0800
Message-Id: <20230807110936.21819-32-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the virtio-balloon shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct virtio_balloon.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/virtio/virtio_balloon.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 5b15936a5214..82e6087073a9 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -111,7 +111,7 @@ struct virtio_balloon {
 	struct virtio_balloon_stat stats[VIRTIO_BALLOON_S_NR];
 
 	/* Shrinker to return free pages - VIRTIO_BALLOON_F_FREE_PAGE_HINT */
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 
 	/* OOM notifier to deflate on OOM - VIRTIO_BALLOON_F_DEFLATE_ON_OOM */
 	struct notifier_block oom_nb;
@@ -816,8 +816,7 @@ static unsigned long shrink_free_pages(struct virtio_balloon *vb,
 static unsigned long virtio_balloon_shrinker_scan(struct shrinker *shrinker,
 						  struct shrink_control *sc)
 {
-	struct virtio_balloon *vb = container_of(shrinker,
-					struct virtio_balloon, shrinker);
+	struct virtio_balloon *vb = shrinker->private_data;
 
 	return shrink_free_pages(vb, sc->nr_to_scan);
 }
@@ -825,8 +824,7 @@ static unsigned long virtio_balloon_shrinker_scan(struct shrinker *shrinker,
 static unsigned long virtio_balloon_shrinker_count(struct shrinker *shrinker,
 						   struct shrink_control *sc)
 {
-	struct virtio_balloon *vb = container_of(shrinker,
-					struct virtio_balloon, shrinker);
+	struct virtio_balloon *vb = shrinker->private_data;
 
 	return vb->num_free_page_blocks * VIRTIO_BALLOON_HINT_BLOCK_PAGES;
 }
@@ -847,16 +845,23 @@ static int virtio_balloon_oom_notify(struct notifier_block *nb,
 
 static void virtio_balloon_unregister_shrinker(struct virtio_balloon *vb)
 {
-	unregister_shrinker(&vb->shrinker);
+	shrinker_free(vb->shrinker);
 }
 
 static int virtio_balloon_register_shrinker(struct virtio_balloon *vb)
 {
-	vb->shrinker.scan_objects = virtio_balloon_shrinker_scan;
-	vb->shrinker.count_objects = virtio_balloon_shrinker_count;
-	vb->shrinker.seeks = DEFAULT_SEEKS;
+	vb->shrinker = shrinker_alloc(0, "virtio-balloon");
+	if (!vb->shrinker)
+		return -ENOMEM;
 
-	return register_shrinker(&vb->shrinker, "virtio-balloon");
+	vb->shrinker->scan_objects = virtio_balloon_shrinker_scan;
+	vb->shrinker->count_objects = virtio_balloon_shrinker_count;
+	vb->shrinker->seeks = DEFAULT_SEEKS;
+	vb->shrinker->private_data = vb;
+
+	shrinker_register(vb->shrinker);
+
+	return 0;
 }
 
 static int virtballoon_probe(struct virtio_device *vdev)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578110.905484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF5-0007el-OT; Mon, 07 Aug 2023 11:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578110.905484; Mon, 07 Aug 2023 11:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF5-0007bV-Ba; Mon, 07 Aug 2023 11:17:43 +0000
Received: by outflank-mailman (input) for mailman id 578110;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy9f-00018O-Oq
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:12:07 +0000
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com
 [2607:f8b0:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3dcef371-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:12:06 +0200 (CEST)
Received: by mail-pg1-x530.google.com with SMTP id
 41be03b00d2f7-51f64817809so360179a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:12:06 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.11.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:12:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dcef371-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406725; x=1692011525;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2qNGhCyBYRkIC+KqhUj1bienmPbnCoyI88yux10rL0c=;
        b=Xc/b9RVeZGabBZRzbFnLG60A3XcuysnQbX8QDB63xQh9Qsy33GgzK9r54ssZ8BRYsv
         Zo1icyrpegHwV8KMFlNuxd6Vv7rJh2g9STB5A/Cyu6q4WM+YLxsvvmbNVVdkSntCluNl
         It/PLVMY+sHjh9niVg4dAEeIOr6EcMWhtMnuFdCY7H6/MC8Iz/ZfTZnLr8OJnSIA36e9
         mmNGX7xKmI8VWlsJYDncO9Zq/rF2h1OiOCACwI0xXgbsWIREHFfM5CkS8NCDLLHpFGlK
         JETB4OwnLh2lGmaSIFNM9gd2qMpLx0zP9hut1e08UtN8MQU5ZK62c3ni+xnuk2sIAfG7
         kkXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406725; x=1692011525;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2qNGhCyBYRkIC+KqhUj1bienmPbnCoyI88yux10rL0c=;
        b=YMo1eJ9SMEzIJ7BEkyzArMn+vUvbwXj+M6tZ3e7k90fETgiIyQSie7e97e1dRWre2L
         fXzR7qRV8V/dvyByC7ob06405Rs+CoexN4aIz+8CSoeOrGZtmUPoI9pYznkMuiOLBlN/
         h3u/HeLMw7/mrp0+qTlgxQYpy1U/EcFT/ayZuK0M7lJXC+i7QOYwsFUe7vBjzbLEY2IH
         SQDJW6kFlABKVyf4ujEaiEjt5OX/UujBkfLvmPVpAfb9Y3Le6Wnr8XGGiGWP0AKY45IA
         x58vgKZ5ibjEbfQDjVI8x/uwu8XOQ4UaIS301droPpNM1veoXnf7bbDqU+Ey+MNCNGYc
         hAsw==
X-Gm-Message-State: AOJu0YzLpa9ndPtzosCTZVQEkDaYhlUVcTMae3axIqjObLDmkHwHlcGn
	MtNvR6/J/7jhJ8U2IQky91OIew==
X-Google-Smtp-Source: AGHT+IH0i+Trkswf5ZN/Zo/hyk0nSAkeHBCb5cnTJePkF3I+vCqNyDS8fjeM0LPIBtSn2h3E1rmPDQ==
X-Received: by 2002:a17:90a:2909:b0:269:5bf7:d79c with SMTP id g9-20020a17090a290900b002695bf7d79cmr2210453pjd.1.1691406724771;
        Mon, 07 Aug 2023 04:12:04 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 10/48] f2fs: dynamically allocate the f2fs-shrinker
Date: Mon,  7 Aug 2023 19:08:58 +0800
Message-Id: <20230807110936.21819-11-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the f2fs-shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/f2fs/super.c | 32 ++++++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index aa1f9a3a8037..9092310582aa 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -83,11 +83,27 @@ void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, unsigned int rate,
 #endif
 
 /* f2fs-wide shrinker description */
-static struct shrinker f2fs_shrinker_info = {
-	.scan_objects = f2fs_shrink_scan,
-	.count_objects = f2fs_shrink_count,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *f2fs_shrinker_info;
+
+static int __init f2fs_init_shrinker(void)
+{
+	f2fs_shrinker_info = shrinker_alloc(0, "f2fs-shrinker");
+	if (!f2fs_shrinker_info)
+		return -ENOMEM;
+
+	f2fs_shrinker_info->count_objects = f2fs_shrink_count;
+	f2fs_shrinker_info->scan_objects = f2fs_shrink_scan;
+	f2fs_shrinker_info->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(f2fs_shrinker_info);
+
+	return 0;
+}
+
+static void f2fs_exit_shrinker(void)
+{
+	shrinker_free(f2fs_shrinker_info);
+}
 
 enum {
 	Opt_gc_background,
@@ -4940,7 +4956,7 @@ static int __init init_f2fs_fs(void)
 	err = f2fs_init_sysfs();
 	if (err)
 		goto free_garbage_collection_cache;
-	err = register_shrinker(&f2fs_shrinker_info, "f2fs-shrinker");
+	err = f2fs_init_shrinker();
 	if (err)
 		goto free_sysfs;
 	err = register_filesystem(&f2fs_fs_type);
@@ -4985,7 +5001,7 @@ static int __init init_f2fs_fs(void)
 	f2fs_destroy_root_stats();
 	unregister_filesystem(&f2fs_fs_type);
 free_shrinker:
-	unregister_shrinker(&f2fs_shrinker_info);
+	f2fs_exit_shrinker();
 free_sysfs:
 	f2fs_exit_sysfs();
 free_garbage_collection_cache:
@@ -5017,7 +5033,7 @@ static void __exit exit_f2fs_fs(void)
 	f2fs_destroy_post_read_processing();
 	f2fs_destroy_root_stats();
 	unregister_filesystem(&f2fs_fs_type);
-	unregister_shrinker(&f2fs_shrinker_info);
+	f2fs_exit_shrinker();
 	f2fs_exit_sysfs();
 	f2fs_destroy_garbage_collection_cache();
 	f2fs_destroy_extent_cache();
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578116.905498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF9-00006D-Bd; Mon, 07 Aug 2023 11:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578116.905498; Mon, 07 Aug 2023 11:17:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF9-0008W6-17; Mon, 07 Aug 2023 11:17:47 +0000
Received: by outflank-mailman (input) for mailman id 578116;
 Mon, 07 Aug 2023 11:17:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy9T-00018O-8u
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:11:55 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3658959a-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:11:53 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bba9539a23so9296655ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:11:53 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.11.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:11:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3658959a-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406712; x=1692011512;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ubpyp4SIhGXjO6/VTKiZvWjlRzyN8ANvKHVN5xSGnIw=;
        b=G6tJn+16QVti2qtu2hqYljseIE/XGpe1Yhsul4LFU6R/aCDAM7lceOlES83Z0B/Pue
         2irlih/PCzGRhADqlmxdT4ZmTPg/rDw2XT4QeZKx/Tui9xhVWAtyJogqiocaYi2mPJVJ
         JfsH0RSoKbpVavaYBWWtyo/mJh8W+H0WFTE4SVefHn6UoqHLIS8l90Z//i2iVib88cLh
         SO8x9HJ9eijOF2Obr6A8OaZNG3N0xetNtsejNB5r0CVLeObeV8ZzJa8r4m2G8/H610tO
         JRFiieD8eIQL4G+uzuFBv5AMDY6TbkMqFwB+fegzuV4xQGReerwz1d1NP8JNZHZ17Zsd
         g+Fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406712; x=1692011512;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ubpyp4SIhGXjO6/VTKiZvWjlRzyN8ANvKHVN5xSGnIw=;
        b=ADOMiGOztu18Bes1lAIdYFV2nDWoRzI2F6b+ugOzUrvjuV4OtyVI+KN/qiVYZZLKEq
         d6l9aXCYqbCBDMs+COSw3gs/TW5I0SGdmkq01kY2iDZf6hTU7KObzldcbQZJaD17r9sG
         8zmcjJ4LszgAGHc5coDdIPe7I8i943xtKCCzSPJcGzVfb++JsBgSF1TcZmUshxw3fqJe
         0GvMj5OZ8bfiawP/G6UBrQeDTaXiq8rHY3CR7Aly5UNnKWvevywJWLdiVGDQMGn2QMXC
         k0H8kj2h8bOGzKR/uuYWWf6lso9QA9RVGmHHIPMeTz5sfVaVt6t1SriU+2QnJXG3ZHt8
         aEcg==
X-Gm-Message-State: ABy/qLapRxa4AfqvHitebMftOEwpOAdulAmdymM44ukMxV39Wz/9FOBZ
	UnG9OiptPj/NWCjtLR5jvnldRA==
X-Google-Smtp-Source: APBJJlGAdl0ewhYUg6UhJdRJKXIwq0U3XoR/AJshcbF16xE0A4mgQC4Umc8PgwnpC/Hq6tl8ikCZEw==
X-Received: by 2002:a17:902:ea04:b0:1b8:17e8:547e with SMTP id s4-20020a170902ea0400b001b817e8547emr32460173plg.1.1691406712196;
        Mon, 07 Aug 2023 04:11:52 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 09/48] erofs: dynamically allocate the erofs-shrinker
Date: Mon,  7 Aug 2023 19:08:57 +0800
Message-Id: <20230807110936.21819-10-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the erofs-shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/erofs/utils.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/fs/erofs/utils.c b/fs/erofs/utils.c
index cc6fb9e98899..6e1a828e6ca3 100644
--- a/fs/erofs/utils.c
+++ b/fs/erofs/utils.c
@@ -270,19 +270,25 @@ static unsigned long erofs_shrink_scan(struct shrinker *shrink,
 	return freed;
 }
 
-static struct shrinker erofs_shrinker_info = {
-	.scan_objects = erofs_shrink_scan,
-	.count_objects = erofs_shrink_count,
-	.seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *erofs_shrinker_info;
 
 int __init erofs_init_shrinker(void)
 {
-	return register_shrinker(&erofs_shrinker_info, "erofs-shrinker");
+	erofs_shrinker_info = shrinker_alloc(0, "erofs-shrinker");
+	if (!erofs_shrinker_info)
+		return -ENOMEM;
+
+	erofs_shrinker_info->count_objects = erofs_shrink_count;
+	erofs_shrinker_info->scan_objects = erofs_shrink_scan;
+	erofs_shrinker_info->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(erofs_shrinker_info);
+
+	return 0;
 }
 
 void erofs_exit_shrinker(void)
 {
-	unregister_shrinker(&erofs_shrinker_info);
+	shrinker_free(erofs_shrinker_info);
 }
 #endif	/* !CONFIG_EROFS_FS_ZIP */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578118.905504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFA-0000FU-A1; Mon, 07 Aug 2023 11:17:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578118.905504; Mon, 07 Aug 2023 11:17:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyF9-0000CR-RB; Mon, 07 Aug 2023 11:17:47 +0000
Received: by outflank-mailman (input) for mailman id 578118;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyAj-0002Ee-4h
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:13:13 +0000
Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com
 [2607:f8b0:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6567a3f8-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:13:12 +0200 (CEST)
Received: by mail-pg1-x52a.google.com with SMTP id
 41be03b00d2f7-51f64817809so360317a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:13:12 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.12.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:13: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: 6567a3f8-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406791; x=1692011591;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=urGrhHBCGKwKuhIkQmOHRuysXuy1mToQA+AaHWoY6PY=;
        b=gvEcin7S0wJ5rW0wtj9WnWp/4gO3FOqyEc5Qy3KVjjCOMIdl063r7goatTKMU5K63u
         IABDDkTZbyMiPq/rwoG72XrgfLWlV6/YJwymkZtRfBVcrDOzJOk+V88T6EEEXGW6nfh0
         le0xVwnZY7As0nXjZy+hSjIWRCXvYGRHiEKZrDZnQb7QflVpjM7uq/81aSxj3traKDGt
         VXa/baYLLxxBhWBawSSBHT4dMsZ/NRoyUnn0XTD8JWz4/O0ULe9Suh4wohOUxiotc5cA
         +kJEwQbIJfS1Vrk1T3/Loi8TKjO+pow/TrGBcBE2xp4OSLxBFU0bCUPycoGAdA8SsoOk
         yeOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406791; x=1692011591;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=urGrhHBCGKwKuhIkQmOHRuysXuy1mToQA+AaHWoY6PY=;
        b=RXUFXd7NwT2/evqnMyQEMgGHNkZjUnvwOFbWFEJn1owNtp/RxAQXXWAY5WOebYQ2oW
         3yDFydkYV4+f0I2irfQ7dfGYWWd/mx3cfMyYEtkkNztYpVqfDW9TR1KG/O0OVN/eRCqf
         Lhm8jCwsdNPjjdbKPLKq0GgFyRGYkZX/0be+q2HlQdOizcGZ44yQpz08pjdzhYfU+9J0
         GpziJoxSjr42YYLSt3Z1lGa/HmZIp7ZcNtEyMrPybfzWNmIxiFH7984o6L/4bHtbn22x
         L2yLkqIUc28xLoPN3M6tTmCA6Dm/ilP5z2Q5C01sflULTR2MJqEZV1Beg/w47+yPJPiG
         PkKg==
X-Gm-Message-State: ABy/qLYlWKW8uG9ND+nWs6W8szU9K7ZfqWbZwPHOyL3/s8kd6WK1+rhR
	Ho4ElCBZPGlbQ6GUA6/tgHpi5g==
X-Google-Smtp-Source: APBJJlGG9fl/KZM7Wu/aB3nA3qPBXzAgCls0ii/X4UboFM2rQSd7zbDq190u8vBbdPOZ8QFUsdy1lw==
X-Received: by 2002:a17:90a:faf:b0:268:abc:83d5 with SMTP id 44-20020a17090a0faf00b002680abc83d5mr23478200pjz.4.1691406791204;
        Mon, 07 Aug 2023 04:13:11 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 15/48] nfsd: dynamically allocate the nfsd-filecache shrinker
Date: Mon,  7 Aug 2023 19:09:03 +0800
Message-Id: <20230807110936.21819-16-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the nfsd-filecache shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/nfsd/filecache.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c
index ee9c923192e0..9c62b4502539 100644
--- a/fs/nfsd/filecache.c
+++ b/fs/nfsd/filecache.c
@@ -521,11 +521,7 @@ nfsd_file_lru_scan(struct shrinker *s, struct shrink_control *sc)
 	return ret;
 }
 
-static struct shrinker	nfsd_file_shrinker = {
-	.scan_objects = nfsd_file_lru_scan,
-	.count_objects = nfsd_file_lru_count,
-	.seeks = 1,
-};
+static struct shrinker *nfsd_file_shrinker;
 
 /**
  * nfsd_file_cond_queue - conditionally unhash and queue a nfsd_file
@@ -746,12 +742,19 @@ nfsd_file_cache_init(void)
 		goto out_err;
 	}
 
-	ret = register_shrinker(&nfsd_file_shrinker, "nfsd-filecache");
-	if (ret) {
-		pr_err("nfsd: failed to register nfsd_file_shrinker: %d\n", ret);
+	nfsd_file_shrinker = shrinker_alloc(0, "nfsd-filecache");
+	if (!nfsd_file_shrinker) {
+		ret = -ENOMEM;
+		pr_err("nfsd: failed to allocate nfsd_file_shrinker\n");
 		goto out_lru;
 	}
 
+	nfsd_file_shrinker->count_objects = nfsd_file_lru_count;
+	nfsd_file_shrinker->scan_objects = nfsd_file_lru_scan;
+	nfsd_file_shrinker->seeks = 1;
+
+	shrinker_register(nfsd_file_shrinker);
+
 	ret = lease_register_notifier(&nfsd_file_lease_notifier);
 	if (ret) {
 		pr_err("nfsd: unable to register lease notifier: %d\n", ret);
@@ -774,7 +777,7 @@ nfsd_file_cache_init(void)
 out_notifier:
 	lease_unregister_notifier(&nfsd_file_lease_notifier);
 out_shrinker:
-	unregister_shrinker(&nfsd_file_shrinker);
+	shrinker_free(nfsd_file_shrinker);
 out_lru:
 	list_lru_destroy(&nfsd_file_lru);
 out_err:
@@ -891,7 +894,7 @@ nfsd_file_cache_shutdown(void)
 		return;
 
 	lease_unregister_notifier(&nfsd_file_lease_notifier);
-	unregister_shrinker(&nfsd_file_shrinker);
+	shrinker_free(nfsd_file_shrinker);
 	/*
 	 * make sure all callers of nfsd_file_lru_cb are done before
 	 * calling nfsd_file_cache_purge
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578120.905511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFB-0000Sm-EJ; Mon, 07 Aug 2023 11:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578120.905511; Mon, 07 Aug 2023 11: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 1qSyFA-0000P0-Ns; Mon, 07 Aug 2023 11:17:48 +0000
Received: by outflank-mailman (input) for mailman id 578120;
 Mon, 07 Aug 2023 11:17: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyA6-00018O-Lt
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:12:34 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dcd8f9b-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:12:33 +0200 (CEST)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-268663fb09cso630947a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:12:33 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.12.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:12: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: 4dcd8f9b-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406751; x=1692011551;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y2Zq84YPu5W9umXtWflPPzaPyFOqe/t1tbhlrQuOI+E=;
        b=Y3Gw/8I9wjDIixxDLIQ9R5eAEihH4V5EOGMa/tEQP2UVJcVR6XKMsoq0kNQA9Anemf
         f07XdP3K3VTdRiql0M+klRK3bCLbXjjp+xplnI9SAQQIK1LQ+ZTQ4iN7KAzzTyuvBW+2
         22vOneIjM2lcCre/t1Mc8DL07qt3h0LYO3V6dBXrNJ+ZsacS8/3b5gEWrOt6ylq3sp75
         +tN/NsYby1EhnscHKGVaTQLZ5Bd9+GL+XZMM1MIKbWLpVeAc6COrlmvCwmGvjTVu68WR
         OgVgTRpqhZcRZgjQYAuUYTgXANtTE72/EYkbNkp+iXkkiBUoh7hJkggb0sVF4vx/kVZQ
         USbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406751; x=1692011551;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=y2Zq84YPu5W9umXtWflPPzaPyFOqe/t1tbhlrQuOI+E=;
        b=UNCaGt1tbgCSN8noWjPZxBQ9o/r4oiuVeFKIyhIXMCZfGIDmo7QfEA8Nk825pBIKUz
         lli3TSq5E71VfUQrkY0ebbkceLfTEmsxxVeGACBXukLJDoBijUXFTmwHueiMtDcZgiu0
         ZffDZluilqsPXE8NXcJ27ePxiMRwlf4OKOZvwKpWkDr0QS4XnRwTO+wbTjWAffusNO7d
         FXfP3Rq8+AFi25eJVYBea+4+MBYK7ajmji7gHDCBN3I9jKamioIUFkh+7e832raTOfMb
         rDDcYuK+Xzac38mM+cJDF+yJCm0JNDjfZiIGMufvEHvvUoPtr5VTXoXzhPdJfx/TbyXE
         Wq2Q==
X-Gm-Message-State: ABy/qLY1t1rjJ6wXGPouvfxqfHQcyQSYsxFyzcg/wJXvwhjscAzojZRh
	L5ELANJSjHJGRw156r1n0F0nNA==
X-Google-Smtp-Source: APBJJlFA47zqmiKwpfw7q81pKFEqmAkA29wiqRNlMoLoIZqzioc4qMsA62pUfPaD7HBA/F0aUxQzvA==
X-Received: by 2002:a17:90a:6c97:b0:263:730b:f568 with SMTP id y23-20020a17090a6c9700b00263730bf568mr23062652pjj.3.1691406750926;
        Mon, 07 Aug 2023 04:12:30 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 12/48] gfs2: dynamically allocate the gfs2-qd shrinker
Date: Mon,  7 Aug 2023 19:09:00 +0800
Message-Id: <20230807110936.21819-13-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the gfs2-qd shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 fs/gfs2/main.c  |  6 +++---
 fs/gfs2/quota.c | 26 ++++++++++++++++++++------
 fs/gfs2/quota.h |  3 ++-
 3 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
index afcb32854f14..e47b1cc79f59 100644
--- a/fs/gfs2/main.c
+++ b/fs/gfs2/main.c
@@ -147,7 +147,7 @@ static int __init init_gfs2_fs(void)
 	if (!gfs2_trans_cachep)
 		goto fail_cachep8;
 
-	error = register_shrinker(&gfs2_qd_shrinker, "gfs2-qd");
+	error = gfs2_qd_shrinker_init();
 	if (error)
 		goto fail_shrinker;
 
@@ -196,7 +196,7 @@ static int __init init_gfs2_fs(void)
 fail_wq2:
 	destroy_workqueue(gfs_recovery_wq);
 fail_wq1:
-	unregister_shrinker(&gfs2_qd_shrinker);
+	gfs2_qd_shrinker_exit();
 fail_shrinker:
 	kmem_cache_destroy(gfs2_trans_cachep);
 fail_cachep8:
@@ -229,7 +229,7 @@ static int __init init_gfs2_fs(void)
 
 static void __exit exit_gfs2_fs(void)
 {
-	unregister_shrinker(&gfs2_qd_shrinker);
+	gfs2_qd_shrinker_exit();
 	gfs2_glock_exit();
 	gfs2_unregister_debugfs();
 	unregister_filesystem(&gfs2_fs_type);
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 632806c5ed67..d1e4d8ab8fa1 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -186,13 +186,27 @@ static unsigned long gfs2_qd_shrink_count(struct shrinker *shrink,
 	return vfs_pressure_ratio(list_lru_shrink_count(&gfs2_qd_lru, sc));
 }
 
-struct shrinker gfs2_qd_shrinker = {
-	.count_objects = gfs2_qd_shrink_count,
-	.scan_objects = gfs2_qd_shrink_scan,
-	.seeks = DEFAULT_SEEKS,
-	.flags = SHRINKER_NUMA_AWARE,
-};
+static struct shrinker *gfs2_qd_shrinker;
+
+int __init gfs2_qd_shrinker_init(void)
+{
+	gfs2_qd_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "gfs2-qd");
+	if (!gfs2_qd_shrinker)
+		return -ENOMEM;
+
+	gfs2_qd_shrinker->count_objects = gfs2_qd_shrink_count;
+	gfs2_qd_shrinker->scan_objects = gfs2_qd_shrink_scan;
+	gfs2_qd_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(gfs2_qd_shrinker);
 
+	return 0;
+}
+
+void gfs2_qd_shrinker_exit(void)
+{
+	shrinker_free(gfs2_qd_shrinker);
+}
 
 static u64 qd2index(struct gfs2_quota_data *qd)
 {
diff --git a/fs/gfs2/quota.h b/fs/gfs2/quota.h
index 21ada332d555..f0d54dcbbc75 100644
--- a/fs/gfs2/quota.h
+++ b/fs/gfs2/quota.h
@@ -59,7 +59,8 @@ static inline int gfs2_quota_lock_check(struct gfs2_inode *ip,
 }
 
 extern const struct quotactl_ops gfs2_quotactl_ops;
-extern struct shrinker gfs2_qd_shrinker;
+int __init gfs2_qd_shrinker_init(void);
+void gfs2_qd_shrinker_exit(void);
 extern struct list_lru gfs2_qd_lru;
 extern void __init gfs2_quota_hash_init(void);
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578123.905527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFE-0001E5-2K; Mon, 07 Aug 2023 11:17:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578123.905527; Mon, 07 Aug 2023 11: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 1qSyFD-0001Bk-Hg; Mon, 07 Aug 2023 11:17:51 +0000
Received: by outflank-mailman (input) for mailman id 578123;
 Mon, 07 Aug 2023 11:17:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSy9s-00018O-M4
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:12:20 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 457eec2a-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:12:19 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id
 98e67ed59e1d1-2684e225a6cso660486a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:12:19 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.12.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 457eec2a-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406737; x=1692011537;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XAY9+N2BbVQBjCT3MmFWkPxUR/2vf6o4m+CtMBoAzag=;
        b=Owhbp+vjTX9LgSb8kQ7MIhVXGKwDLhR+Ce+1Ax0621Bs9MrN8XWMe5+Ejw9lnwM3Ap
         IYUW911/vhmnbFJp/stmhIc489u8MPAzdlnhNeoJi8rBqpYOKUrjixaEdD0XprSya4Vj
         PDunDNjaDu16T3tMnzjFT3t7h/oKuuaUvjmMy7sBXTr5KsxElViOqZ7/5M9dmikw8+EO
         wMQGbexE8DINXXSrzaCt4DliIlnjdofAsiKIz1t/gb0CaZI+4t4MLa+CBQGQ2Bhdx8d2
         /xQiP0jkFYD6YIUPc+4v26SX8VshwmbMbumt9peptq8jkLOVQze1kYBLFAMAnfkePzJe
         dicw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406737; x=1692011537;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XAY9+N2BbVQBjCT3MmFWkPxUR/2vf6o4m+CtMBoAzag=;
        b=dJaLlLrmXgWOUZI5bd6mabvqQSDi5zxAoOIY5DmkmvxjladkBniJR1KpF80CQN4gVn
         W6Dh23XWa6Rxzqd44GMGQwJR1GQl2+L8Iiy6Azkvda//mScE4IgKhMzudVtkXkG2GIoR
         Ikl/D17VoOWT4fsS6gkisHziocfSMUXxu3+EQBm5tzrieUIfVvAV54SpIGt3swIF/jOB
         HrVRhv7hsRzczSw/Mm1UMrnVQngh228tx0wS5/QBSfmy4ncTj2fDf1JW/IMaUR4VDOyS
         H4dABN+e73ZmkxncHOUCV3YoAGFYANAeKnPpvAiHaM2YcCLUW/puvoVKZOwBC6URhiN2
         RL8A==
X-Gm-Message-State: ABy/qLYzkXcU4SUXxNNK7QPBmfLoLKf1g4gD6FBZXn4eK33atezC/J0e
	9IIb21uOD6cv2Sg0I2DsmKi28g==
X-Google-Smtp-Source: APBJJlGzkEm3Uqt9ffvJXbz1uvSm9jYeOQTwgnDKGaV/IZVLtdfAA6YtivYmWFIriEmVEE/lzsK+Ow==
X-Received: by 2002:a17:90a:faf:b0:268:abc:83d5 with SMTP id 44-20020a17090a0faf00b002680abc83d5mr23476433pjz.4.1691406737630;
        Mon, 07 Aug 2023 04:12:17 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 11/48] gfs2: dynamically allocate the gfs2-glock shrinker
Date: Mon,  7 Aug 2023 19:08:59 +0800
Message-Id: <20230807110936.21819-12-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the gfs2-glock shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/gfs2/glock.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 1438e7465e30..8d582ba7514f 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -2046,11 +2046,7 @@ static unsigned long gfs2_glock_shrink_count(struct shrinker *shrink,
 	return vfs_pressure_ratio(atomic_read(&lru_count));
 }
 
-static struct shrinker glock_shrinker = {
-	.seeks = DEFAULT_SEEKS,
-	.count_objects = gfs2_glock_shrink_count,
-	.scan_objects = gfs2_glock_shrink_scan,
-};
+static struct shrinker *glock_shrinker;
 
 /**
  * glock_hash_walk - Call a function for glock in a hash bucket
@@ -2472,13 +2468,19 @@ int __init gfs2_glock_init(void)
 		return -ENOMEM;
 	}
 
-	ret = register_shrinker(&glock_shrinker, "gfs2-glock");
-	if (ret) {
+	glock_shrinker = shrinker_alloc(0, "gfs2-glock");
+	if (!glock_shrinker) {
 		destroy_workqueue(glock_workqueue);
 		rhashtable_destroy(&gl_hash_table);
-		return ret;
+		return -ENOMEM;
 	}
 
+	glock_shrinker->count_objects = gfs2_glock_shrink_count;
+	glock_shrinker->scan_objects = gfs2_glock_shrink_scan;
+	glock_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(glock_shrinker);
+
 	for (i = 0; i < GLOCK_WAIT_TABLE_SIZE; i++)
 		init_waitqueue_head(glock_wait_table + i);
 
@@ -2487,7 +2489,7 @@ int __init gfs2_glock_init(void)
 
 void gfs2_glock_exit(void)
 {
-	unregister_shrinker(&glock_shrinker);
+	shrinker_free(glock_shrinker);
 	rhashtable_destroy(&gl_hash_table);
 	destroy_workqueue(glock_workqueue);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:17:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578121.905520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFC-0000kr-OV; Mon, 07 Aug 2023 11:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578121.905520; Mon, 07 Aug 2023 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFB-0000fh-TK; Mon, 07 Aug 2023 11:17:49 +0000
Received: by outflank-mailman (input) for mailman id 578121;
 Mon, 07 Aug 2023 11:17:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyAw-00018O-Mz
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:13:26 +0000
Received: from mail-io1-xd2e.google.com (mail-io1-xd2e.google.com
 [2607:f8b0:4864:20::d2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cfbef2d-3513-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:13:25 +0200 (CEST)
Received: by mail-io1-xd2e.google.com with SMTP id
 ca18e2360f4ac-790b9d7d643so44487739f.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:13:25 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.13.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:13:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cfbef2d-3513-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691406804; x=1692011604;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4VJlLpDqVGiuvI83ez+3bl7yR5bVuWalBgtTU2vfBLE=;
        b=i2oZ2Se5RaRdFd0q9t3NqBTv/dUkxD/p2SyHpAjMjg/XHGqyx1ejwAfepurqt3olXd
         4JrDoh1Y9dLDoFntnleeQjfq8XZjg4nTjOSD4Duga+gvfwhzkhg3QVfdrOJlicPQaYUD
         v5DwTanMH6RhkvK4rWOetuDFETnSCGxcV41PCfrrWGGU2b+vPg8IYLTIauqtUI6qQnyf
         JDKJFxqA5C/eh/Oo8gwkHqwPIIO1pJg4e68ItW2uJIdbbavFER6b/PwVILGTxzeWrF6b
         lEtQmpfrwSnO090W7cEUPihusqog8pTCjc32QMYuqZWzqkk8YiBOx308Pfsd+2Yt04OK
         T2NQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691406804; x=1692011604;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4VJlLpDqVGiuvI83ez+3bl7yR5bVuWalBgtTU2vfBLE=;
        b=CUnagC+IRunxI2I+HWCzEVGaZSYwKqtSxXMk8im0u2rFHCPdhY6JheJr2nC+tOGBI5
         efPqCsH5oio4qUsHDG7mxgk5A7/y/fXhioCGNOO85zB/JBq9qX5APfJ9aYDH4cWa47t3
         WxJQvZbmhJadS25MyJFXaXMYj24ZOqk9XhjEpo17/qQLPihm+Zuhn3nzS0FOIe6EDj+a
         CGBIAPnRtyHUv6vkn4x3WUNrGNQQ8J0FLqigRFDFHq9EMuGn0b2rLPDw4UgUYMgl2sjp
         usK4dannFYg6re5yv8VSYqfeUzHDORaUx8Hekhbf+OFcrgT1xvPoN8Pbmcas3Env0JOc
         0oSQ==
X-Gm-Message-State: ABy/qLYZse8gTekHOX8ovMuUEZfnGlD8yFygrts/pO3R1ha1DCoO0Wu4
	OxH9i2oXsqE/6t0nnHTQRIXTxQ==
X-Google-Smtp-Source: APBJJlG6KxjpSP18cuDMGPLwCal+2Q6XOYkRmOlR+93TSEU+QOz0TNU1VRvfHZPrdEq648UTFq+gsw==
X-Received: by 2002:a92:d944:0:b0:349:3c78:fd14 with SMTP id l4-20020a92d944000000b003493c78fd14mr13499018ilq.1.1691406803912;
        Mon, 07 Aug 2023 04:13:23 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 16/48] quota: dynamically allocate the dquota-cache shrinker
Date: Mon,  7 Aug 2023 19:09:04 +0800
Message-Id: <20230807110936.21819-17-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the dquota-cache shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/quota/dquot.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index 9e72bfe8bbad..c303cffdf433 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -791,12 +791,6 @@ dqcache_shrink_count(struct shrinker *shrink, struct shrink_control *sc)
 	percpu_counter_read_positive(&dqstats.counter[DQST_FREE_DQUOTS]));
 }
 
-static struct shrinker dqcache_shrinker = {
-	.count_objects = dqcache_shrink_count,
-	.scan_objects = dqcache_shrink_scan,
-	.seeks = DEFAULT_SEEKS,
-};
-
 /*
  * Safely release dquot and put reference to dquot.
  */
@@ -2956,6 +2950,7 @@ static int __init dquot_init(void)
 {
 	int i, ret;
 	unsigned long nr_hash, order;
+	struct shrinker *dqcache_shrinker;
 
 	printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__);
 
@@ -2990,8 +2985,15 @@ static int __init dquot_init(void)
 	pr_info("VFS: Dquot-cache hash table entries: %ld (order %ld,"
 		" %ld bytes)\n", nr_hash, order, (PAGE_SIZE << order));
 
-	if (register_shrinker(&dqcache_shrinker, "dquota-cache"))
-		panic("Cannot register dquot shrinker");
+	dqcache_shrinker = shrinker_alloc(0, "dquota-cache");
+	if (!dqcache_shrinker)
+		panic("Cannot allocate dquot shrinker");
+
+	dqcache_shrinker->count_objects = dqcache_shrink_count;
+	dqcache_shrinker->scan_objects = dqcache_shrink_scan;
+	dqcache_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(dqcache_shrinker);
 
 	return 0;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:18:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578139.905551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyFU-000458-8r; Mon, 07 Aug 2023 11:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578139.905551; Mon, 07 Aug 2023 11: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 1qSyFU-00044r-4m; Mon, 07 Aug 2023 11:18:08 +0000
Received: by outflank-mailman (input) for mailman id 578139;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyFT-0003uh-8f
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:18:07 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14127c17-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:18:05 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2690803a368so591336a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:18:05 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.17.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:18:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14127c17-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407084; x=1692011884;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vAE6p5mA5n3yxm+4IPfXfMLc8MGv4J5wg3qHubren08=;
        b=J9sRUnLVr/1gRDCZ8z/wUaEuDmB5tyJkvTgo3ljho94pxMvUbNxIs6BrAr5OvjDeBd
         NlwSsbr2CKM03GvossTeyaJQF+TsD29ATXSWWvjw7Kcrs+m5LHvK9yHheRdx6ItlS6Ki
         yb6ebrPqrWzCUCYAOoHHLe8DTcWnRGuK8IbRkKFIstk7vHG8sx3yXUkwwQ7Mu6THuK5U
         s7cxqSXTHpGPngOLWfQooqg5Gbhqn2y84s5NSz7JvKiqnrRjOpTq1zeDW5zGBhCfHp8b
         AvjxYc2lq/KA07E2LvbgtvS8QM8QXYSNfper7Sm+pyp3P6HdBQtVhRokTkSwmgm01BsE
         Ay4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407084; x=1692011884;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vAE6p5mA5n3yxm+4IPfXfMLc8MGv4J5wg3qHubren08=;
        b=lXfchn7SMlQdL8z3pIbysKLrnE8lsMtjGjXZS6PDnf6it1EnbkWepJc1/DVMdM8r9d
         13Bgkkcva2ipb5VQNmH9Gq1MqVz+dvtVn+duwih5+YjBnfpQ6znY5ef1Ybycq1mEkeCo
         XfxT4vnP7tSaanCD3yWdvalRreZiW54l4L1HzRcb4MZQyGuTB03mG2GmmeVWTUATUF5K
         xEPFjWgeDWxNCzuXXL8v6gsp+HK1u/AlMkvRQy9FGlmYsjl8Ndn1Hojb8RwGMuZaOjxc
         W9W3Qt998l9azrYuic/2UOcIukZ2zVcA2duhO8t5AnMaWJvLFS+9MPxbIsyHpaAKRcbW
         1OfA==
X-Gm-Message-State: AOJu0Yzy/mw9gq1ZG8+Zbs7hgp26SRnRoI97xRbfTZZswbWhpPsF9CTX
	c0bNdAFKplZCJjo4jdimjyRlgw==
X-Google-Smtp-Source: AGHT+IEh5Yyc2UkocOBP861I39wck8cTfExcJN4mGltuRpL51+0K+Rth+2UxJEat5gVmOs+WZ1XBzA==
X-Received: by 2002:a17:90a:648:b0:269:60ed:d493 with SMTP id q8-20020a17090a064800b0026960edd493mr1826843pje.4.1691407084214;
        Mon, 07 Aug 2023 04:18:04 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 38/48] xfs: dynamically allocate the xfs-inodegc shrinker
Date: Mon,  7 Aug 2023 19:09:26 +0800
Message-Id: <20230807110936.21819-39-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the xfs-inodegc shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct xfs_mount.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/xfs/xfs_icache.c | 26 +++++++++++++++-----------
 fs/xfs/xfs_mount.c  |  4 ++--
 fs/xfs/xfs_mount.h  |  2 +-
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
index 453890942d9f..751c380afd5a 100644
--- a/fs/xfs/xfs_icache.c
+++ b/fs/xfs/xfs_icache.c
@@ -2225,8 +2225,7 @@ xfs_inodegc_shrinker_count(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_mount	*mp = container_of(shrink, struct xfs_mount,
-						   m_inodegc_shrinker);
+	struct xfs_mount	*mp = shrink->private_data;
 	struct xfs_inodegc	*gc;
 	int			cpu;
 
@@ -2247,8 +2246,7 @@ xfs_inodegc_shrinker_scan(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_mount	*mp = container_of(shrink, struct xfs_mount,
-						   m_inodegc_shrinker);
+	struct xfs_mount	*mp = shrink->private_data;
 	struct xfs_inodegc	*gc;
 	int			cpu;
 	bool			no_items = true;
@@ -2284,13 +2282,19 @@ int
 xfs_inodegc_register_shrinker(
 	struct xfs_mount	*mp)
 {
-	struct shrinker		*shrink = &mp->m_inodegc_shrinker;
+	mp->m_inodegc_shrinker = shrinker_alloc(SHRINKER_NONSLAB,
+						"xfs-inodegc:%s",
+						mp->m_super->s_id);
+	if (!mp->m_inodegc_shrinker)
+		return -ENOMEM;
+
+	mp->m_inodegc_shrinker->count_objects = xfs_inodegc_shrinker_count;
+	mp->m_inodegc_shrinker->scan_objects = xfs_inodegc_shrinker_scan;
+	mp->m_inodegc_shrinker->seeks = 0;
+	mp->m_inodegc_shrinker->batch = XFS_INODEGC_SHRINKER_BATCH;
+	mp->m_inodegc_shrinker->private_data = mp;
 
-	shrink->count_objects = xfs_inodegc_shrinker_count;
-	shrink->scan_objects = xfs_inodegc_shrinker_scan;
-	shrink->seeks = 0;
-	shrink->flags = SHRINKER_NONSLAB;
-	shrink->batch = XFS_INODEGC_SHRINKER_BATCH;
+	shrinker_register(mp->m_inodegc_shrinker);
 
-	return register_shrinker(shrink, "xfs-inodegc:%s", mp->m_super->s_id);
+	return 0;
 }
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index fb87ffb48f7f..640d09891a4e 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -1018,7 +1018,7 @@ xfs_mountfs(
  out_log_dealloc:
 	xfs_log_mount_cancel(mp);
  out_inodegc_shrinker:
-	unregister_shrinker(&mp->m_inodegc_shrinker);
+	shrinker_free(mp->m_inodegc_shrinker);
  out_fail_wait:
 	if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp)
 		xfs_buftarg_drain(mp->m_logdev_targp);
@@ -1100,7 +1100,7 @@ xfs_unmountfs(
 #if defined(DEBUG)
 	xfs_errortag_clearall(mp);
 #endif
-	unregister_shrinker(&mp->m_inodegc_shrinker);
+	shrinker_free(mp->m_inodegc_shrinker);
 	xfs_free_perag(mp);
 
 	xfs_errortag_del(mp);
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index e2866e7fa60c..562c294ca08e 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -217,7 +217,7 @@ typedef struct xfs_mount {
 	atomic_t		m_agirotor;	/* last ag dir inode alloced */
 
 	/* Memory shrinker to throttle and reprioritize inodegc */
-	struct shrinker		m_inodegc_shrinker;
+	struct shrinker		*m_inodegc_shrinker;
 	/*
 	 * Workqueue item so that we can coalesce multiple inode flush attempts
 	 * into a single flush.
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578160.905561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyHa-000722-NB; Mon, 07 Aug 2023 11:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578160.905561; Mon, 07 Aug 2023 11:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyHa-00071v-Jj; Mon, 07 Aug 2023 11:20:18 +0000
Received: by outflank-mailman (input) for mailman id 578160;
 Mon, 07 Aug 2023 11:20:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyHY-00071g-Mu
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:20:16 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60e4793f-3514-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 13:20:14 +0200 (CEST)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-2690803a368so591675a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:20:14 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.20.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:20:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60e4793f-3514-11ee-b27e-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407213; x=1692012013;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+T9zoPssix7N9qfaGNa68znQHEAFyeYciCKXdVaHQFo=;
        b=AEtfoTIxkqzl025wvf9yyl8OvVpV1orZ+7ADsAn8FRdyaHqyneHFGuyJ9jSB6bZbnq
         2fmUw9pixcoPu0uENFLV6yEHDyHzbx9PEa4/1QReRkJ9Vdrtq4t36sOjNjHyywd/DJSd
         tcNSBkDsm06qXT7HTJrbLcS8z4Stb96uz/ah29ckB60DgcXFm35Nrt3Aq6Gzw7rdETno
         9DoEQihV9/klwV9kg7jDjWFfkJeTbrOGsUsJTU6XthyBDJ62ZHYmlNs7Ps0ai9BdMXBM
         XSVKEoVI2ousbfFpSnJdwsS47J/fbQRy8WPmYTGdWXjklXq1QHXWKCVy/72epw0hglU+
         Vytw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407213; x=1692012013;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+T9zoPssix7N9qfaGNa68znQHEAFyeYciCKXdVaHQFo=;
        b=WJMwiymc2L6lW+B2icz/4INTFpDBEQAZBvKn8OgOcWqxM3bAOc44pgT3854AdUStqD
         2bW506OKETTdwS/hVEn9V5mFw2DAqHZHXHmtgDoEr40fpepaoSpZAZ8J/JZvgAPurVQd
         IKUBZmTlrEuLdK7s1DOGZXV6+m7bukkBLhI0+UyJuGqbRSfK/qDgns+Yk86Swxl/o0D1
         vlcNX3Hx+vqGtlhxJ5sLRYsxMJ/Lqdl4rs4ovcfdfkXgwwmDrABSVsUaeWpAAlJN48Ls
         6rK12DnJOdSj7qvAGYqxI1QCtIbTSt0REuabzgz9KT8F32/b49rllUxEn5kWs3XgHy6I
         YylA==
X-Gm-Message-State: AOJu0YzwKTRi+XMPdU2UT4VJcsZpQo3kYYb+9yOZ34ByRIIzN3tXwSnh
	0uWSR13Gjsf37mP3bW1iDk783A==
X-Google-Smtp-Source: AGHT+IF0evmdLrDlsDTr5Y4TU4NmdZynXgLSKug5uHjkOo8cedCVYEqxJp+s7Xi+ZKGxMcrB3jNS6g==
X-Received: by 2002:a17:90a:648:b0:269:60ed:d493 with SMTP id q8-20020a17090a064800b0026960edd493mr1830877pje.4.1691407213020;
        Mon, 07 Aug 2023 04:20:13 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 48/48] mm: shrinker: convert shrinker_rwsem to mutex
Date: Mon,  7 Aug 2023 19:09:36 +0800
Message-Id: <20230807110936.21819-49-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now there are no readers of shrinker_rwsem, so we can simply replace it
with mutex lock.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 drivers/md/dm-cache-metadata.c |  2 +-
 fs/super.c                     |  2 +-
 mm/shrinker.c                  | 28 ++++++++++++++--------------
 mm/shrinker_debug.c            | 14 +++++++-------
 4 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/drivers/md/dm-cache-metadata.c b/drivers/md/dm-cache-metadata.c
index acffed750e3e..9e0c69958587 100644
--- a/drivers/md/dm-cache-metadata.c
+++ b/drivers/md/dm-cache-metadata.c
@@ -1828,7 +1828,7 @@ int dm_cache_metadata_abort(struct dm_cache_metadata *cmd)
 	 * Replacement block manager (new_bm) is created and old_bm destroyed outside of
 	 * cmd root_lock to avoid ABBA deadlock that would result (due to life-cycle of
 	 * shrinker associated with the block manager's bufio client vs cmd root_lock).
-	 * - must take shrinker_rwsem without holding cmd->root_lock
+	 * - must take shrinker_mutex without holding cmd->root_lock
 	 */
 	new_bm = dm_block_manager_create(cmd->bdev, DM_CACHE_METADATA_BLOCK_SIZE << SECTOR_SHIFT,
 					 CACHE_MAX_CONCURRENT_LOCKS);
diff --git a/fs/super.c b/fs/super.c
index a28193045345..60c2d290c754 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -54,7 +54,7 @@ static char *sb_writers_name[SB_FREEZE_LEVELS] = {
  * One thing we have to be careful of with a per-sb shrinker is that we don't
  * drop the last active reference to the superblock from within the shrinker.
  * If that happens we could trigger unregistering the shrinker from within the
- * shrinker path and that leads to deadlock on the shrinker_rwsem. Hence we
+ * shrinker path and that leads to deadlock on the shrinker_mutex. Hence we
  * take a passive reference to the superblock to avoid this from occurring.
  */
 static unsigned long super_cache_scan(struct shrinker *shrink,
diff --git a/mm/shrinker.c b/mm/shrinker.c
index a12dede5d21f..3d44a335ef3c 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -8,7 +8,7 @@
 #include "internal.h"
 
 LIST_HEAD(shrinker_list);
-DECLARE_RWSEM(shrinker_rwsem);
+DEFINE_MUTEX(shrinker_mutex);
 
 #ifdef CONFIG_MEMCG
 static int shrinker_nr_max;
@@ -80,7 +80,7 @@ int alloc_shrinker_info(struct mem_cgroup *memcg)
 	int nid, ret = 0;
 	int array_size = 0;
 
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	array_size = shrinker_unit_size(shrinker_nr_max);
 	for_each_node(nid) {
 		info = kvzalloc_node(sizeof(*info) + array_size, GFP_KERNEL, nid);
@@ -91,7 +91,7 @@ int alloc_shrinker_info(struct mem_cgroup *memcg)
 			goto err;
 		rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);
 	}
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 
 	return ret;
 
@@ -104,7 +104,7 @@ static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
 						     int nid)
 {
 	return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info,
-					 lockdep_is_held(&shrinker_rwsem));
+					 lockdep_is_held(&shrinker_mutex));
 }
 
 static struct shrinker_info *shrinker_info_rcu(struct mem_cgroup *memcg,
@@ -161,7 +161,7 @@ static int expand_shrinker_info(int new_id)
 	if (!root_mem_cgroup)
 		goto out;
 
-	lockdep_assert_held(&shrinker_rwsem);
+	lockdep_assert_held(&shrinker_mutex);
 
 	new_size = shrinker_unit_size(new_nr_max);
 	old_size = shrinker_unit_size(shrinker_nr_max);
@@ -224,7 +224,7 @@ static int shrinker_memcg_alloc(struct shrinker *shrinker)
 	if (mem_cgroup_disabled())
 		return -ENOSYS;
 
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	id = idr_alloc(&shrinker_idr, shrinker, 0, 0, GFP_KERNEL);
 	if (id < 0)
 		goto unlock;
@@ -238,7 +238,7 @@ static int shrinker_memcg_alloc(struct shrinker *shrinker)
 	shrinker->id = id;
 	ret = 0;
 unlock:
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 	return ret;
 }
 
@@ -248,7 +248,7 @@ static void shrinker_memcg_remove(struct shrinker *shrinker)
 
 	BUG_ON(id < 0);
 
-	lockdep_assert_held(&shrinker_rwsem);
+	lockdep_assert_held(&shrinker_mutex);
 
 	idr_remove(&shrinker_idr, id);
 }
@@ -299,7 +299,7 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 		parent = root_mem_cgroup;
 
 	/* Prevent from concurrent shrinker_info expand */
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	for_each_node(nid) {
 		child_info = shrinker_info_protected(memcg, nid);
 		parent_info = shrinker_info_protected(parent, nid);
@@ -312,7 +312,7 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 			}
 		}
 	}
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 }
 #else
 static int shrinker_memcg_alloc(struct shrinker *shrinker)
@@ -708,11 +708,11 @@ void shrinker_register(struct shrinker *shrinker)
 		return;
 	}
 
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	list_add_tail_rcu(&shrinker->list, &shrinker_list);
 	shrinker->flags |= SHRINKER_REGISTERED;
 	shrinker_debugfs_add(shrinker);
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 
 	init_completion(&shrinker->done);
 	/*
@@ -745,7 +745,7 @@ void shrinker_free(struct shrinker *shrinker)
 		wait_for_completion(&shrinker->done);
 	}
 
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	if (shrinker->flags & SHRINKER_REGISTERED) {
 		/*
 		 * Lookups on the shrinker are over and will fail in the future,
@@ -760,7 +760,7 @@ void shrinker_free(struct shrinker *shrinker)
 
 	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
 		shrinker_memcg_remove(shrinker);
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 
 	if (debugfs_entry)
 		shrinker_debugfs_remove(debugfs_entry, debugfs_id);
diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c
index aa2027075ed9..b698ca9e309e 100644
--- a/mm/shrinker_debug.c
+++ b/mm/shrinker_debug.c
@@ -7,7 +7,7 @@
 #include <linux/memcontrol.h>
 
 /* defined in vmscan.c */
-extern struct rw_semaphore shrinker_rwsem;
+extern struct mutex shrinker_mutex;
 extern struct list_head shrinker_list;
 
 static DEFINE_IDA(shrinker_debugfs_ida);
@@ -163,7 +163,7 @@ int shrinker_debugfs_add(struct shrinker *shrinker)
 	char buf[128];
 	int id;
 
-	lockdep_assert_held(&shrinker_rwsem);
+	lockdep_assert_held(&shrinker_mutex);
 
 	/* debugfs isn't initialized yet, add debugfs entries later. */
 	if (!shrinker_debugfs_root)
@@ -220,7 +220,7 @@ int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
 	if (!new)
 		return -ENOMEM;
 
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 
 	old = shrinker->name;
 	shrinker->name = new;
@@ -238,7 +238,7 @@ int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...)
 			shrinker->debugfs_entry = entry;
 	}
 
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 
 	kfree_const(old);
 
@@ -251,7 +251,7 @@ struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
 {
 	struct dentry *entry = shrinker->debugfs_entry;
 
-	lockdep_assert_held(&shrinker_rwsem);
+	lockdep_assert_held(&shrinker_mutex);
 
 	shrinker_debugfs_name_free(shrinker);
 
@@ -279,14 +279,14 @@ static int __init shrinker_debugfs_init(void)
 	shrinker_debugfs_root = dentry;
 
 	/* Create debugfs entries for shrinkers registered at boot */
-	down_write(&shrinker_rwsem);
+	mutex_lock(&shrinker_mutex);
 	list_for_each_entry(shrinker, &shrinker_list, list)
 		if (!shrinker->debugfs_entry) {
 			ret = shrinker_debugfs_add(shrinker);
 			if (ret)
 				break;
 		}
-	up_write(&shrinker_rwsem);
+	mutex_unlock(&shrinker_mutex);
 
 	return ret;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:24:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578174.905570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyLE-0007gZ-9S; Mon, 07 Aug 2023 11:24:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578174.905570; Mon, 07 Aug 2023 11:24: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 1qSyLE-0007gS-6r; Mon, 07 Aug 2023 11:24:04 +0000
Received: by outflank-mailman (input) for mailman id 578174;
 Mon, 07 Aug 2023 11:24: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=g2NL=DY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qSyLD-0007gM-Kl
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:24:03 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6bacaad-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:24:01 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM6PR12MB4862.namprd12.prod.outlook.com (2603:10b6:5:1b7::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 11:23:55 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 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>
X-Inumbo-ID: e6bacaad-3514-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vyn+ugfKva6Ol2VbfD7KopPEChSkzbj0vCUv2sS6sNmi2UJaOqjvvXEaGWxnz3RT1T1Cr02fQLmv6iqreZ1JBaM5O5LZQTwLBnng0e64dmLCStVBsxZHw6y6epA32XLAeHMihj4xnEWAGYDY+GwXjZCJ9VN3g17HDDnXfX9hkOdpTwlGo44i6ghO+WPNrPMjR236xkcQPDpZ2VNnN4S6BPG8KnI4gtDnj3CGrn+Ftw5hZ/NO+8Jst/dJ2oyZEq6O20antqcChtdjaEeMJlM0AMElvnlAS793FDoGksIyPeEI8dyYf0YVbgYN398fW1f0TbVKLohbkZI+dwQ0OAmdpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bvOt5/tl3yC/oNNRETEh24zwDsRxp4LDd3mEtXQlZgI=;
 b=T5sRqE/8wwOBTM9+rya6YsJf3OnaLz4EJ4KDApL0xI7mTkgAjRJqZhuJvDS2nnJCYH8N87VOtRCQ489HIW2bIzfO5L3rz16vwj5Ki0z4z/+/BWYy/iigf0zUSUr6SPzUXoeU4Nt5A4q39T7f2sAHYY8eorxzifJ+QYMgNTqsg8vEIIrKnfj7XPc5com3wzUaLh3F3Xi9jNxIE+HKep8Cx/CTvHPY32aEygfJmSoYK+Y38d4boH2lzSWg49hFUucTOXtDjq3+qUBWrzvMiW4eHjXrsIpll8tuZj/ZGGyWSSUB39tRyJHkmgQ38YfRxMoehOIA2nRZK+M8doeZlmtOwg==
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=bvOt5/tl3yC/oNNRETEh24zwDsRxp4LDd3mEtXQlZgI=;
 b=FqIDyHo1zlqMCUmyai1kw+R449lSfbEgps1Ndc2hu4uOPSBhRvhbJQH5X3Fnji5K9vwmgZfezt3nxJP1EmQ0SWzbOscHnBT+MIDC15BGzYha0A0I4CATB50UiDy4xVw++3sFCJN44hXY1UqJagIW/IRqi6O3bZj53Oqwbg0Uom0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
Date: Mon, 7 Aug 2023 12:23:47 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20230801034419.2047541-2-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0472.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::28) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM6PR12MB4862:EE_
X-MS-Office365-Filtering-Correlation-Id: 8766813a-b5f0-49db-76bb-08db9738c903
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VForp5SiL38FF1PvA5dObd9eCYgABmA/tjJqUKoRjpt06Ue3Rw630lOTGSF3BiO2vd4mHwhJUF3p1CH61hq5FCqqlRP3loNt6Y0QW9seJ4hcM3bUKwELVt+xMwkQKz/Vjr6IG2+XpwErhlE6kIcX/CN4n6dc/APMpAs0OyWufYUhS/OFU0bUJ2eYOwALQi3X8HrhrktsNHNsXsEVFZB9QupofkY1e0rGqPRmeQ33rvmJHE06a8Gy0KqINlXdKCmEH39TkzQbbRl9M1bzzgbwlq1KS6wksX2RXpvWyluSHShijXlukPgft7vy6aPnjtuhzgWWm+ZE4G0wWWyBjQXJngX4cE2kHUerbT2Z/jm39tZb4Zo0ZDHCtjne/qHh/SyO+WH9AocY0fcix1T84xpESvF6xB+x51gT78SNowdEcduYWMK8aU2SCNTh2Dcu5Kr+jZe4aLx17H5IPhb5kWvoUvZpuBqF8SlBDwShswj8d8wvIqByNYc+bjfA6Jwzo7WowU4atjThw2g/UPVMx1FWoT1nYVmabQNPl8Du2/zuZoUmcHF7yODPUtil0UNCrMk1f2ug6pnqhkoanBS0NYq0h3+O3sdPwJxCCIKBA0XhtZbz4y/WLrAJ83emOHc8bbjfcuw7dwOfmIX13cFFTDQURg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(478600001)(54906003)(38100700002)(6666004)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmtzaVFaTWpSZGZzS2hvTVByRndtS1R0ekJ6NjE4WCtTOWJZdmJ5WHlHN1F1?=
 =?utf-8?B?VFloYkhmcDFwRkc2YXZ2UGw1ZXRBVjVEZXVLMTZEK1Y2Z0RpRFJrSGt0eHRN?=
 =?utf-8?B?bk1wMWFINlhjZXBJR2lrL2ZZQmhFeUk1M1g3cCtKbngzSlN2KzdTYS9zZGpU?=
 =?utf-8?B?U3pWeW5ibXZuSTJkT2lrV1NnUEw3WmFhNnV5ZFFWQ0FhMnJoYVMyQS90bEdQ?=
 =?utf-8?B?WW1SaEkwOEhOWWlTLy96N2swQ3l2YUlvSFJSM2U4VXRlTmRNb0hQTlJiZnhw?=
 =?utf-8?B?WERKdkZMQVFpanA2VitiK2lDYWJzd2tnRHN0QjZoNmRyUDdUN0xzcG5aUFFk?=
 =?utf-8?B?TGI3Uzc2R2ZlaWd5N3VFL1pub09uM1FIWWJRc3BQRWZNZHRWMWYzTXRaTmJX?=
 =?utf-8?B?WjZYR1JGRXlaTVkzTDRJLzNkSEl3NXBHS2p2ZmlDMUF4REtrdGFXcXh1OWFP?=
 =?utf-8?B?YWl3ZzlWZkNNVkxaMnU3ZFBHeVUvMjcyeTJscGwwU25oMm1mc0gwaUpWR1FC?=
 =?utf-8?B?SFBLMGk0V01DSFhlRTZ6dXk4ZkV3aGFiUnR2WWJKM24yNzNHM2J4UTFtenR0?=
 =?utf-8?B?RlhVU28vQU5SRWFPWlFPVTdjOXRjZ0IzUXQzZE55NnkzelNtTWVpZVRqZmJj?=
 =?utf-8?B?cG56YU9pVFNrMzBLdDdGS1M0cGpVemovbmV1VVVUZFlBSDkwY05yaGJnOFdl?=
 =?utf-8?B?cTR2Y25hYjRBcGJzWXVZRDlHTjBRekZsUWNKdUpNNSt1WlRVZ2J2ZDNvVW1P?=
 =?utf-8?B?LzFDdWVBUE9EWTR6TTBvNW5NbjZmVksvM0N1SWNUUnAzSm94RVltRDlPeTJ1?=
 =?utf-8?B?Z0V3dUpYQVRPUVR1Mk9kSEVaL0RncU0vTm1ZdlRMRU0rVlR0QVlIcWtsYWxn?=
 =?utf-8?B?MTRsRzhoUytrTG82NzAybVdKY3BXSllpbms4OWRiRlBjZzk1K3J2N3FVb0Q0?=
 =?utf-8?B?aURkdlZDRzlZQThsOFdzY09OUTJRY2dvNUhlMGVIVW5TSnF4VHRqVU1oTEVw?=
 =?utf-8?B?c0J2ZklkWWwyNFNPaWNuY1luL3RnZnJLai9BK2UzUyswMXJiRmEySXFSajFB?=
 =?utf-8?B?L3ZyRFBwRFV2MkpnR3Q2RXB2UjFIbmE2NEUzN3ZYZFdWdHFzZm13NE9JMVd5?=
 =?utf-8?B?aE9BQlRQeVJXYUlzNjUxR1l6Q2NTdk04Y2hVeFVnVlRCZGw4ZEFlTUp3dHpl?=
 =?utf-8?B?SnZjdDBpeG5pSW9MMXdRdXkxY2pPZnl4SkcxR1VaSXVjaGxCTnRVNWRjeVZQ?=
 =?utf-8?B?YTk4RmVkRnNCSmhBQ0tCYzBGbGtsOExWOEV1YWhmMWs4YnJOeHVrQmNZM2ZL?=
 =?utf-8?B?REI1bkZmUWx5alk0NWV5RUNFTlFHbTNFMG55eHg4WFgxai92TXZTK0FwU3Zi?=
 =?utf-8?B?b1F3L3p2YTBBbWNyQ2luQjBkdi9XM1FIem93Y2syOFdLRE9QTStNSmlBWW5r?=
 =?utf-8?B?QTNuRW9laVl5Q090TGUzd2t1VmhKcFRYam1sN3o4cUJmZno3NUU5ajZIU2pE?=
 =?utf-8?B?bHF5WXpnNHVQbVQ4bFp2S05KSW5FMTJqbDRHTzZVVllINENqRXlEUWMzWWw5?=
 =?utf-8?B?cDJJSWxKaHJnU1VJR1BSWWFRYlgzdXRSVHRuOEdUaGJUcHp6NzN0K0t1VUlH?=
 =?utf-8?B?Sm5BVmNCM3FHb0tBL0pIUEtBN0hiQk5LZDUwTDBSVGR6WS83S1A2SEVLaWZD?=
 =?utf-8?B?OWVPeWpLclorL2Z2Wm1BZFVJbWdTWStHbUdBOUJRVnk4K2taUTlHYWhBRWRt?=
 =?utf-8?B?YXNSWGZTZTdNbDgwMDNMOVBEQlpjYzQwNWhCTWJ2YXdEVUNqbFI0VkY3UlhK?=
 =?utf-8?B?NE5VWExPY2dmVWZtQkFTcVAvNUJqRW1FK0NaUDZ0MVlRSXhqVHdIRDBoaE95?=
 =?utf-8?B?V1ZBem5Qd1MwZ3BXajBWWDdJTVlLbUgyeGtEcmIxTTk0b3pTa0dNU0NFK1BM?=
 =?utf-8?B?eUQxQklhVHhJNGVVWTkyZHlOUC9ReURqYmIzVnJxQUNRY3hxMXFtOVdjN3lD?=
 =?utf-8?B?UEg1c2NybVRsWTVaS3BYeTV1cUZNdExZaXUrR2dZSG51MWZQSVJyRHJsVkRT?=
 =?utf-8?B?ZDZtcGtaUktabmYxcXRCZ1B4bHVjRWZZVGRUOXd4YzR4YlBvbWxwb0FJYjRt?=
 =?utf-8?Q?paj2/jwK+uMs41JFqGv4qInQo?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8766813a-b5f0-49db-76bb-08db9738c903
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 11:23:55.2558
 (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: K7R5tIoPRb+IRwelSVHurPqHXbn4Z8haDCfRSUr3BfhJ7/B7idSGbsh1W/vhZkgaP04fU1SL4VNARmHw0CnpoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4862

Hi Henry,

On 01/08/2023 04:44, Henry Wang wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> From: Wei Chen <wei.chen@arm.com>
>
> At the moment, on MMU system, enable_mmu() will return to an
> address in the 1:1 mapping, then each path is responsible to
> switch to virtual runtime mapping. Then remove_identity_mapping()
> is called on the boot CPU to remove all 1:1 mapping.
>
> Since remove_identity_mapping() is not necessary on Non-MMU system,
> and we also avoid creating empty function for Non-MMU system, trying
> to keep only one codeflow in arm64/head.S, we move path switch and
> remove_identity_mapping() in enable_mmu() on MMU system.
>
> As the remove_identity_mapping should only be called for the boot
> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
> enable_secondary_cpu_mm() for secondary CPUs in this patch.
>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

With two comments

Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Tested-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

> ---
> v4:
> - Clarify remove_identity_mapping() is called on boot CPU and keep
>    the function/proc format consistent in commit msg.
> - Drop inaccurate (due to the refactor) in-code comment.
> - Rename enable_{boot,runtime}_mmu to enable_{boot,secondary}_cpu_mm.
> - Reword the in-code comment on top of enable_{boot,secondary}_cpu_mm.
> - Call "fail" for unreachable code.
> v3:
> - new patch
> ---
>   xen/arch/arm/arm64/head.S | 89 ++++++++++++++++++++++++++++++---------
>   1 file changed, 70 insertions(+), 19 deletions(-)
>
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 31cdb54d74..2af9f974d5 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -313,21 +313,11 @@ real_start_efi:
>
>           bl    check_cpu_mode
>           bl    cpu_init
> -        bl    create_page_tables
> -        load_paddr x0, boot_pgtable
> -        bl    enable_mmu
>
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   x0, =primary_switched
> -        br    x0
> +        ldr   lr, =primary_switched
> +        b     enable_boot_cpu_mm
> +
>   primary_switched:
> -        /*
> -         * The 1:1 map may clash with other parts of the Xen virtual memory
> -         * layout. As it is not used anymore, remove it completely to
> -         * avoid having to worry about replacing existing mapping
> -         * afterwards.
> -         */
> -        bl    remove_identity_mapping
>           bl    setup_fixmap
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
> @@ -372,13 +362,10 @@ GLOBAL(init_secondary)
>   #endif
>           bl    check_cpu_mode
>           bl    cpu_init
> -        load_paddr x0, init_ttbr
> -        ldr   x0, [x0]
> -        bl    enable_mmu
>
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   x0, =secondary_switched
> -        br    x0
> +        ldr   lr, =secondary_switched
> +        b     enable_secondary_cpu_mm
> +
>   secondary_switched:
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
> @@ -737,6 +724,70 @@ enable_mmu:
>           ret
>   ENDPROC(enable_mmu)
>
> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_secondary_cpu_mm:
I will prefer "enable_secondary_cpu_mmu" as it is MMU specific. And ...
> +        mov   x5, lr
> +
> +        load_paddr x0, init_ttbr
> +        ldr   x0, [x0]
> +
> +        bl    enable_mmu
> +        mov   lr, x5
> +
> +        /* return to secondary_switched */
> +        ret
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_boot_cpu_mm:

prefer "enable_boot_cpu_mmu" as it is MMU specific as well.

- Ayan

> +        mov   x5, lr
> +
> +        bl    create_page_tables
> +        load_paddr x0, boot_pgtable
> +
> +        bl    enable_mmu
> +        mov   lr, x5
> +
> +        /*
> +         * The MMU is turned on and we are in the 1:1 mapping. Switch
> +         * to the runtime mapping.
> +         */
> +        ldr   x0, =1f
> +        br    x0
> +1:
> +        /*
> +         * The 1:1 map may clash with other parts of the Xen virtual memory
> +         * layout. As it is not used anymore, remove it completely to
> +         * avoid having to worry about replacing existing mapping
> +         * afterwards. Function will return to primary_switched.
> +         */
> +        b     remove_identity_mapping
> +
> +        /*
> +         * Below is supposed to be unreachable code, as "ret" in
> +         * remove_identity_mapping will use the return address in LR in advance.
> +         */
> +        b     fail
> +ENDPROC(enable_boot_cpu_mm)
> +
>   /*
>    * Remove the 1:1 map from the page-tables. It is not easy to keep track
>    * where the 1:1 map was mapped, so we will look for the top-level entry
> --
> 2.25.1
>
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578187.905591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOW-00007e-0j; Mon, 07 Aug 2023 11:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578187.905591; Mon, 07 Aug 2023 11: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 1qSyOV-00007X-Tg; Mon, 07 Aug 2023 11:27:27 +0000
Received: by outflank-mailman (input) for mailman id 578187;
 Mon, 07 Aug 2023 11:27:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyGv-0003uh-Te
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:19:37 +0000
Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com
 [2607:f8b0:4864:20::d30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a0df1bd-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:19:36 +0200 (CEST)
Received: by mail-io1-xd30.google.com with SMTP id
 ca18e2360f4ac-790dcf48546so32863139f.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:19:36 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.19.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:19:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a0df1bd-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407175; x=1692011975;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VvZzKGLWBPnU/YifQKDl8Wb9pt+zZKHS88YiwcrJMO0=;
        b=SsVeEy7gwtNzgRLX3Qao2jYE1354yjZBdHrMaMz2XqDOvdbs41vLXJnddUX7FwP0Qx
         hSxH4iCCuXgVTr2NPnCMWLevPuwCt7LGzr4+TdjZlq4Gl2oVZgjQ80i5jSaavOwgn6QQ
         +nWVM5qqld5fZH2+ndWf7n2/Ma+aJb4WkOxejaU0XvqKX5vqDu25nIk8n1U32mnTDZgh
         PkjRGyPGbDKhTCsbJSFCDCkrBYmJRSx+6Z+gu0duks49czJ2bXnjSlvfCZzOJmwtfJCD
         wbrCVDMtyTbzTIuZroq7DUtUcyce8ZMbc3QUuctGqLseQtbL1sL9WjN8CX6fRRrU5uhk
         0bSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407175; x=1692011975;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VvZzKGLWBPnU/YifQKDl8Wb9pt+zZKHS88YiwcrJMO0=;
        b=UE0LMVw6dr5vjIjoGXjPhzNsqg3SuNv2tPY3lugeY+osvBTx7vpaJYHXEcXyvFgL5e
         2e5nWyWE39FmtQF/k0FxC/EWRJ0FG3YLa3JRr3vspf6zxgUwq+9ei3D4W+EGtyI9iKy2
         vzarJAY4y8spaJdcNOfzId7LDHKC/Ta2zi23p+MjPP2J3Iv3/K+Oxq8eh/PnKm0yT/pZ
         pOuoOZxKVseZL0npUvvXHyBzW6mG5vX6Qvs39XWMLpssJfbYiX/qBCoFJCfZnjeSPtMy
         jsnESDaqw1Hw8UmbUhZHaWEokiUd4tQl4uNsKWoijP4RlDc5Cw1GonNTdGma9ravFrtu
         K6Zg==
X-Gm-Message-State: ABy/qLZXTj8nVFav5nHrRQTMVNKZPzaEqnOacUXeBSqUbsFKGRTNwykB
	gSlxryRnX1FhzK9bvooxbpN1Pg==
X-Google-Smtp-Source: APBJJlG/XxZB6sKzQ/QKN1+d/Y+m2Z7kNpKSUjYzz7Oa2LvDnuz3c5eyzNfvhPPV8k8oKjwIpKOiLg==
X-Received: by 2002:a6b:c30f:0:b0:783:6e76:6bc7 with SMTP id t15-20020a6bc30f000000b007836e766bc7mr26415608iof.2.1691407174771;
        Mon, 07 Aug 2023 04:19:34 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless
Date: Mon,  7 Aug 2023 19:09:33 +0800
Message-Id: <20230807110936.21819-46-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The shrinker_rwsem is a global read-write lock in shrinkers subsystem,
which protects most operations such as slab shrink, registration and
unregistration of shrinkers, etc. This can easily cause problems in the
following cases.

1) When the memory pressure is high and there are many filesystems
   mounted or unmounted at the same time, slab shrink will be affected
   (down_read_trylock() failed).

   Such as the real workload mentioned by Kirill Tkhai:

   ```
   One of the real workloads from my experience is start
   of an overcommitted node containing many starting
   containers after node crash (or many resuming containers
   after reboot for kernel update). In these cases memory
   pressure is huge, and the node goes round in long reclaim.
   ```

2) If a shrinker is blocked (such as the case mentioned
   in [1]) and a writer comes in (such as mount a fs),
   then this writer will be blocked and cause all
   subsequent shrinker-related operations to be blocked.

Even if there is no competitor when shrinking slab, there may still be a
problem. The down_read_trylock() may become a perf hotspot with frequent
calls to shrink_slab(). Because of the poor multicore scalability of
atomic operations, this can lead to a significant drop in IPC
(instructions per cycle).

We used to implement the lockless slab shrink with SRCU [2], but then
kernel test robot reported -88.8% regression in
stress-ng.ramfs.ops_per_sec test case [3], so we reverted it [4].

This commit uses the refcount+RCU method [5] proposed by Dave Chinner
to re-implement the lockless global slab shrink. The memcg slab shrink is
handled in the subsequent patch.

For now, all shrinker instances are converted to dynamically allocated and
will be freed by call_rcu(). So we can use rcu_read_{lock,unlock}() to
ensure that the shrinker instance is valid.

And the shrinker instance will not be run again after unregistration. So
the structure that records the pointer of shrinker instance can be safely
freed without waiting for the RCU read-side critical section.

In this way, while we implement the lockless slab shrink, we don't need to
be blocked in unregister_shrinker().

The following are the test results:

stress-ng --timeout 60 --times --verify --metrics-brief --ramfs 9 &

1) Before applying this patchset:

setting to a 60 second run per stressor
dispatching hogs: 9 ramfs
stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
ramfs            735238     60.00     12.37    363.70     12253.05        1955.08
for a 60.01s run time:
   1440.27s available CPU time
     12.36s user time   (  0.86%)
    363.70s system time ( 25.25%)
    376.06s total time  ( 26.11%)
load average: 10.79 4.47 1.69
passed: 9: ramfs (9)
failed: 0
skipped: 0
successful run completed in 60.01s (1 min, 0.01 secs)

2) After applying this patchset:

setting to a 60 second run per stressor
dispatching hogs: 9 ramfs
stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
ramfs            746698     60.00     12.45    376.16     12444.02        1921.47
for a 60.01s run time:
   1440.28s available CPU time
     12.44s user time   (  0.86%)
    376.16s system time ( 26.12%)
    388.60s total time  ( 26.98%)
load average: 9.01 3.85 1.49
passed: 9: ramfs (9)
failed: 0
skipped: 0
successful run completed in 60.01s (1 min, 0.01 secs)

We can see that the ops/s has hardly changed.

[1]. https://lore.kernel.org/lkml/20191129214541.3110-1-ptikhomirov@virtuozzo.com/
[2]. https://lore.kernel.org/lkml/20230313112819.38938-1-zhengqi.arch@bytedance.com/
[3]. https://lore.kernel.org/lkml/202305230837.db2c233f-yujie.liu@intel.com/
[4]. https://lore.kernel.org/all/20230609081518.3039120-1-qi.zheng@linux.dev/
[5]. https://lore.kernel.org/lkml/ZIJhou1d55d4H1s0@dread.disaster.area/

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 include/linux/shrinker.h | 17 ++++++++++
 mm/shrinker.c            | 70 +++++++++++++++++++++++++++++-----------
 2 files changed, 68 insertions(+), 19 deletions(-)

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index eb342994675a..f06225f18531 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -4,6 +4,8 @@
 
 #include <linux/atomic.h>
 #include <linux/types.h>
+#include <linux/refcount.h>
+#include <linux/completion.h>
 
 #define SHRINKER_UNIT_BITS	BITS_PER_LONG
 
@@ -87,6 +89,10 @@ struct shrinker {
 	int seeks;	/* seeks to recreate an obj */
 	unsigned flags;
 
+	refcount_t refcount;
+	struct completion done;
+	struct rcu_head rcu;
+
 	void *private_data;
 
 	/* These are for internal use */
@@ -120,6 +126,17 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
 void shrinker_register(struct shrinker *shrinker);
 void shrinker_free(struct shrinker *shrinker);
 
+static inline bool shrinker_try_get(struct shrinker *shrinker)
+{
+	return refcount_inc_not_zero(&shrinker->refcount);
+}
+
+static inline void shrinker_put(struct shrinker *shrinker)
+{
+	if (refcount_dec_and_test(&shrinker->refcount))
+		complete(&shrinker->done);
+}
+
 #ifdef CONFIG_SHRINKER_DEBUG
 extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
 						  const char *fmt, ...);
diff --git a/mm/shrinker.c b/mm/shrinker.c
index 1911c06b8af5..d318f5621862 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -2,6 +2,7 @@
 #include <linux/memcontrol.h>
 #include <linux/rwsem.h>
 #include <linux/shrinker.h>
+#include <linux/rculist.h>
 #include <trace/events/vmscan.h>
 
 #include "internal.h"
@@ -577,33 +578,42 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
 	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
 		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
 
-	if (!down_read_trylock(&shrinker_rwsem))
-		goto out;
-
-	list_for_each_entry(shrinker, &shrinker_list, list) {
+	rcu_read_lock();
+	list_for_each_entry_rcu(shrinker, &shrinker_list, list) {
 		struct shrink_control sc = {
 			.gfp_mask = gfp_mask,
 			.nid = nid,
 			.memcg = memcg,
 		};
 
+		if (!shrinker_try_get(shrinker))
+			continue;
+
+		/*
+		 * We can safely unlock the RCU lock here since we already
+		 * hold the refcount of the shrinker.
+		 */
+		rcu_read_unlock();
+
 		ret = do_shrink_slab(&sc, shrinker, priority);
 		if (ret == SHRINK_EMPTY)
 			ret = 0;
 		freed += ret;
+
 		/*
-		 * Bail out if someone want to register a new shrinker to
-		 * prevent the registration from being stalled for long periods
-		 * by parallel ongoing shrinking.
+		 * This shrinker may be deleted from shrinker_list and freed
+		 * after the shrinker_put() below, but this shrinker is still
+		 * used for the next traversal. So it is necessary to hold the
+		 * RCU lock first to prevent this shrinker from being freed,
+		 * which also ensures that the next shrinker that is traversed
+		 * will not be freed (even if it is deleted from shrinker_list
+		 * at the same time).
 		 */
-		if (rwsem_is_contended(&shrinker_rwsem)) {
-			freed = freed ? : 1;
-			break;
-		}
+		rcu_read_lock();
+		shrinker_put(shrinker);
 	}
 
-	up_read(&shrinker_rwsem);
-out:
+	rcu_read_unlock();
 	cond_resched();
 	return freed;
 }
@@ -671,13 +681,29 @@ void shrinker_register(struct shrinker *shrinker)
 	}
 
 	down_write(&shrinker_rwsem);
-	list_add_tail(&shrinker->list, &shrinker_list);
+	list_add_tail_rcu(&shrinker->list, &shrinker_list);
 	shrinker->flags |= SHRINKER_REGISTERED;
 	shrinker_debugfs_add(shrinker);
 	up_write(&shrinker_rwsem);
+
+	init_completion(&shrinker->done);
+	/*
+	 * Now the shrinker is fully set up, take the first reference to it to
+	 * indicate that lookup operations are now allowed to use it via
+	 * shrinker_try_get().
+	 */
+	refcount_set(&shrinker->refcount, 1);
 }
 EXPORT_SYMBOL_GPL(shrinker_register);
 
+static void shrinker_free_rcu_cb(struct rcu_head *head)
+{
+	struct shrinker *shrinker = container_of(head, struct shrinker, rcu);
+
+	kfree(shrinker->nr_deferred);
+	kfree(shrinker);
+}
+
 void shrinker_free(struct shrinker *shrinker)
 {
 	struct dentry *debugfs_entry = NULL;
@@ -686,9 +712,18 @@ void shrinker_free(struct shrinker *shrinker)
 	if (!shrinker)
 		return;
 
+	if (shrinker->flags & SHRINKER_REGISTERED) {
+		shrinker_put(shrinker);
+		wait_for_completion(&shrinker->done);
+	}
+
 	down_write(&shrinker_rwsem);
 	if (shrinker->flags & SHRINKER_REGISTERED) {
-		list_del(&shrinker->list);
+		/*
+		 * Lookups on the shrinker are over and will fail in the future,
+		 * so we can now remove it from the lists and free it.
+		 */
+		list_del_rcu(&shrinker->list);
 		debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
 		shrinker->flags &= ~SHRINKER_REGISTERED;
 	} else {
@@ -702,9 +737,6 @@ void shrinker_free(struct shrinker *shrinker)
 	if (debugfs_entry)
 		shrinker_debugfs_remove(debugfs_entry, debugfs_id);
 
-	kfree(shrinker->nr_deferred);
-	shrinker->nr_deferred = NULL;
-
-	kfree(shrinker);
+	call_rcu(&shrinker->rcu, shrinker_free_rcu_cb);
 }
 EXPORT_SYMBOL_GPL(shrinker_free);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578184.905580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOS-0008Iv-OZ; Mon, 07 Aug 2023 11:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578184.905580; Mon, 07 Aug 2023 11:27:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOS-0008Io-M0; Mon, 07 Aug 2023 11:27:24 +0000
Received: by outflank-mailman (input) for mailman id 578184;
 Mon, 07 Aug 2023 11:27:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyFG-0006s9-29
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:17:54 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c9457e8-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:17:53 +0200 (CEST)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1bc4dc65aa7so5900955ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:17:53 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.17.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 0c9457e8-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407071; x=1692011871;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jaqVlo27zysQOw4inLaa7RWYi61naAqQm5GJ5upJpN4=;
        b=STte4jf7FhwqVhw4SDsuIf9ArKOz7aaezU9GQvpwx72Qohuw9VAsNSdsTliApCOiZv
         hZglRc835HN169D4rPdYFdfBD3Qzmlb6nb7pOyd5sRW5/Q53h6lgQrbmmsvusnFxieMS
         3gEtEAPOYNwIuSKOCZt36UxF2L3eT/vOSqmUXX+knGy5r/m2K69NUUZ1EZhY9Qhw5qzB
         8KZjkXC6v5RjXBHEQfQqjwk13t5nh8R+eLAxTypf0xdr6jeYUU8V2GMJD0vc04NJ7YiJ
         wDeEObjpas42qIWcxQ3ypCHSoS50Jk57/3cVZMKwNJGNUHm8wBkxvAyimm97ZuR/Kr/P
         R5sw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407071; x=1692011871;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jaqVlo27zysQOw4inLaa7RWYi61naAqQm5GJ5upJpN4=;
        b=j1kvgqn73W+/kpDKrsEOVNzAcGuUF30GWBQfh1CwsSHDnFgTsOGw2b7i0ssSL6/5Hr
         PiPubRAwh1tMpGUtjww0/SESX9L5sbx2fHEpjGP9QMMg/hXGdYYVPMbeCmkot1x2m+Pg
         m19wPEbMvT3m1uC6Vn/GCwe974lRHYl/77krRrTNqJLRCDQwsLdj6VwmWduQ5rKdjomy
         En/5wu+yOGXLyO92QIGQG3BtkUtT0zcQCQUNovB7jpczBaNT+0FYPNu6pUtQJQ7/1f6t
         TU1XZcnQWILzKnSxc6OKprHFONUDLUtbAFl7kHb9Kyx/NCoCHtnGoCTdkZH9fi7Hv0bO
         jkjg==
X-Gm-Message-State: AOJu0YyimUu+ntBoe9PTt44VUKV4DCCzrx9soBMsPU1g79GMkUWE5QsF
	XFICQx02Vrl7yPzgWvr0ZwkEZw==
X-Google-Smtp-Source: AGHT+IHBSjfm4qMxfKY1o30DsQrf62j+YLyyzQgOSjZX7MvZKQZkongUtrzUOFN5xrnWaoCKIehpOA==
X-Received: by 2002:a17:90a:9c3:b0:269:41cf:7212 with SMTP id 61-20020a17090a09c300b0026941cf7212mr4969668pjo.4.1691407071669;
        Mon, 07 Aug 2023 04:17:51 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 37/48] xfs: dynamically allocate the xfs-buf shrinker
Date: Mon,  7 Aug 2023 19:09:25 +0800
Message-Id: <20230807110936.21819-38-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the xfs-buf shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct xfs_buftarg.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/xfs/xfs_buf.c | 25 ++++++++++++++-----------
 fs/xfs/xfs_buf.h |  2 +-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index 15d1e5a7c2d3..715730fc91cb 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -1906,8 +1906,7 @@ xfs_buftarg_shrink_scan(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_buftarg	*btp = container_of(shrink,
-					struct xfs_buftarg, bt_shrinker);
+	struct xfs_buftarg	*btp = shrink->private_data;
 	LIST_HEAD(dispose);
 	unsigned long		freed;
 
@@ -1929,8 +1928,7 @@ xfs_buftarg_shrink_count(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_buftarg	*btp = container_of(shrink,
-					struct xfs_buftarg, bt_shrinker);
+	struct xfs_buftarg	*btp = shrink->private_data;
 	return list_lru_shrink_count(&btp->bt_lru, sc);
 }
 
@@ -1938,7 +1936,7 @@ void
 xfs_free_buftarg(
 	struct xfs_buftarg	*btp)
 {
-	unregister_shrinker(&btp->bt_shrinker);
+	shrinker_free(btp->bt_shrinker);
 	ASSERT(percpu_counter_sum(&btp->bt_io_count) == 0);
 	percpu_counter_destroy(&btp->bt_io_count);
 	list_lru_destroy(&btp->bt_lru);
@@ -2021,13 +2019,18 @@ xfs_alloc_buftarg(
 	if (percpu_counter_init(&btp->bt_io_count, 0, GFP_KERNEL))
 		goto error_lru;
 
-	btp->bt_shrinker.count_objects = xfs_buftarg_shrink_count;
-	btp->bt_shrinker.scan_objects = xfs_buftarg_shrink_scan;
-	btp->bt_shrinker.seeks = DEFAULT_SEEKS;
-	btp->bt_shrinker.flags = SHRINKER_NUMA_AWARE;
-	if (register_shrinker(&btp->bt_shrinker, "xfs-buf:%s",
-			      mp->m_super->s_id))
+	btp->bt_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "xfs-buf:%s",
+					  mp->m_super->s_id);
+	if (!btp->bt_shrinker)
 		goto error_pcpu;
+
+	btp->bt_shrinker->count_objects = xfs_buftarg_shrink_count;
+	btp->bt_shrinker->scan_objects = xfs_buftarg_shrink_scan;
+	btp->bt_shrinker->seeks = DEFAULT_SEEKS;
+	btp->bt_shrinker->private_data = btp;
+
+	shrinker_register(btp->bt_shrinker);
+
 	return btp;
 
 error_pcpu:
diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h
index 549c60942208..4e6969a675f7 100644
--- a/fs/xfs/xfs_buf.h
+++ b/fs/xfs/xfs_buf.h
@@ -102,7 +102,7 @@ typedef struct xfs_buftarg {
 	size_t			bt_logical_sectormask;
 
 	/* LRU control structures */
-	struct shrinker		bt_shrinker;
+	struct shrinker		*bt_shrinker;
 	struct list_lru		bt_lru;
 
 	struct percpu_counter	bt_io_count;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578190.905602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOY-0000Q7-Gl; Mon, 07 Aug 2023 11:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578190.905602; Mon, 07 Aug 2023 11:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOY-0000Pz-B0; Mon, 07 Aug 2023 11:27:30 +0000
Received: by outflank-mailman (input) for mailman id 578190;
 Mon, 07 Aug 2023 11:27:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyGV-0003uh-JH
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:19:11 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a6c241b-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:19:10 +0200 (CEST)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-1bc76cdf0cbso606115ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:19:09 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.18.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:19: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: 3a6c241b-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407148; x=1692011948;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dp1PQp+5gTkm4DG/kxrQVAZ0rB7KyI/rGW6TiEnUaUw=;
        b=Te7kg9d2kQW6gac9UP89KtIVcLTfWDu6srH7dtxrmXTL4ErpAX/pJkQtXd7hg2HtRV
         b8geFLLbM8+wRhZIYuLjJhyOfyGHnlddPjbSoTi8+7JUn0itl8DrGEf9FkegNhDgT4QU
         +aRhY4yC93Sy/uol3bSwIULh/giMXKgqvscX8PDfZ03M6CNIZOjJqm4ZovfIFxg7FXvq
         HemaZ47NKkfhG9oH07mD8LDQiWRUxbmI+sshlvUeh5qK7EeOWS/jAB9AyDVCuXh9Krsn
         cGXM1IoaSAiEJffIAN7TmuDV3qm2xRt9nfiAYhQ3/VTYWFSG3zxU2XV/jGXOIaUTjpLr
         zeJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407148; x=1692011948;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dp1PQp+5gTkm4DG/kxrQVAZ0rB7KyI/rGW6TiEnUaUw=;
        b=GryOYNnvpbg4tWza8txk5RxmWI8uw5DxxNdnBozqTMPE5Pwm+Vt66kyspJPhUlvZBh
         qZKmJCQPjq6RQkbMGHp4ZX4EaeE9WsSvOA++R4mB5UdBebsFCcMOjVbCWLNjtdpWtYps
         8N/pSTXW9JBd/aOkw6yOlHpB7bCijwNTF2vHV9rGesTOltnHDRre6SBizrmi0qgUtS9J
         OnwTA99alCdzH+XM+Zv+nMI1tsoS/J55TZwRv+ilUSySU2jVNg73U2z0oVMaWAN8B7NM
         OpshWypNIAGM8627Re88CZND8X9jYfqpyl9kCnE+n/5PxudvpaowHMnGan26Ax05jE4R
         BMBg==
X-Gm-Message-State: ABy/qLbMAOt0/sYoGiL7HbkqW+gHOWcfCgRjjilkActx9bNdwTz3UBh3
	T+KfaiWbitiT3+qmNYbDd1yA9g==
X-Google-Smtp-Source: APBJJlGWGDf3ZP6TvEF/B95Km+XRmBUarTmlKp42txasQQnYUyfeo2SyrhxLvRA3BfrSE4M4+QRzMg==
X-Received: by 2002:a17:902:dace:b0:1b8:17e8:5472 with SMTP id q14-20020a170902dace00b001b817e85472mr32807567plx.1.1691407148534;
        Mon, 07 Aug 2023 04:19:08 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 43/48] drm/ttm: introduce pool_shrink_rwsem
Date: Mon,  7 Aug 2023 19:09:31 +0800
Message-Id: <20230807110936.21819-44-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, the synchronize_shrinkers() is only used by TTM pool. It only
requires that no shrinkers run in parallel.

After we use RCU+refcount method to implement the lockless slab shrink,
we can not use shrinker_rwsem or synchronize_rcu() to guarantee that all
shrinker invocations have seen an update before freeing memory.

So we introduce a new pool_shrink_rwsem to implement a private
synchronize_shrinkers(), so as to achieve the same purpose.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 drivers/gpu/drm/ttm/ttm_pool.c | 15 +++++++++++++++
 include/linux/shrinker.h       |  2 --
 mm/shrinker.c                  | 15 ---------------
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
index c9c9618c0dce..38b4c280725c 100644
--- a/drivers/gpu/drm/ttm/ttm_pool.c
+++ b/drivers/gpu/drm/ttm/ttm_pool.c
@@ -74,6 +74,7 @@ static struct ttm_pool_type global_dma32_uncached[MAX_ORDER + 1];
 static spinlock_t shrinker_lock;
 static struct list_head shrinker_list;
 static struct shrinker *mm_shrinker;
+static DECLARE_RWSEM(pool_shrink_rwsem);
 
 /* Allocate pages of size 1 << order with the given gfp_flags */
 static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
@@ -317,6 +318,7 @@ static unsigned int ttm_pool_shrink(void)
 	unsigned int num_pages;
 	struct page *p;
 
+	down_read(&pool_shrink_rwsem);
 	spin_lock(&shrinker_lock);
 	pt = list_first_entry(&shrinker_list, typeof(*pt), shrinker_list);
 	list_move_tail(&pt->shrinker_list, &shrinker_list);
@@ -329,6 +331,7 @@ static unsigned int ttm_pool_shrink(void)
 	} else {
 		num_pages = 0;
 	}
+	up_read(&pool_shrink_rwsem);
 
 	return num_pages;
 }
@@ -572,6 +575,18 @@ void ttm_pool_init(struct ttm_pool *pool, struct device *dev,
 }
 EXPORT_SYMBOL(ttm_pool_init);
 
+/**
+ * synchronize_shrinkers - Wait for all running shrinkers to complete.
+ *
+ * This is useful to guarantee that all shrinker invocations have seen an
+ * update, before freeing memory, similar to rcu.
+ */
+static void synchronize_shrinkers(void)
+{
+	down_write(&pool_shrink_rwsem);
+	up_write(&pool_shrink_rwsem);
+}
+
 /**
  * ttm_pool_fini - Cleanup a pool
  *
diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index c55c07c3f0cb..025c8070dd86 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -103,8 +103,6 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
 void shrinker_register(struct shrinker *shrinker);
 void shrinker_free(struct shrinker *shrinker);
 
-extern void synchronize_shrinkers(void);
-
 #ifdef CONFIG_SHRINKER_DEBUG
 extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
 						  const char *fmt, ...);
diff --git a/mm/shrinker.c b/mm/shrinker.c
index 3ab301ff122d..a27779ed3798 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -650,18 +650,3 @@ void shrinker_free(struct shrinker *shrinker)
 	kfree(shrinker);
 }
 EXPORT_SYMBOL_GPL(shrinker_free);
-
-/**
- * synchronize_shrinkers - Wait for all running shrinkers to complete.
- *
- * This is equivalent to calling unregister_shrink() and register_shrinker(),
- * but atomically and with less overhead. This is useful to guarantee that all
- * shrinker invocations have seen an update, before freeing memory, similar to
- * rcu.
- */
-void synchronize_shrinkers(void)
-{
-	down_write(&shrinker_rwsem);
-	up_write(&shrinker_rwsem);
-}
-EXPORT_SYMBOL(synchronize_shrinkers);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578194.905611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOb-0000ky-NO; Mon, 07 Aug 2023 11:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578194.905611; Mon, 07 Aug 2023 11: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 1qSyOb-0000kn-JH; Mon, 07 Aug 2023 11:27:33 +0000
Received: by outflank-mailman (input) for mailman id 578194;
 Mon, 07 Aug 2023 11:27: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyFe-0006s9-MU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:18:18 +0000
Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com
 [2607:f8b0:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b8dc30e-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:18:18 +0200 (CEST)
Received: by mail-pg1-x535.google.com with SMTP id
 41be03b00d2f7-55b78bf0423so392504a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:18:18 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.18.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:18: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: 1b8dc30e-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407097; x=1692011897;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NbTnBXz1rftevvtnrJnbyUTbBXZHNhmRyJT9VBuSKEk=;
        b=I0fRADtMeQ7ZYN4lawqOYqpZyATzMma8+JI7v8Zk4meeIAhlCUAEE4oant9GMpCU9c
         e1/RDTnNhNkcs7YzYpKhdN1XDfh3C1CzV0J+KZ3/D4mlZFUuIdDCGJV9GUewRdITND6b
         4GYUs3S5ZWDZ5Jh0dvaqr1VDHgapHBN1S1ychIZWiQ7oRwFoKrrtIpw0qxts3s8CAjGr
         ydAlHOG9qMq4ZFwUnfssYxxr3X8fPLTZ5CluqYa54YAa1ITLLjbOydQ2pku3tDphziTJ
         CgtcI6R1bGyzpwkNzZouq5zSQbcmQPiHyBeMkjagL4bEVNYZ8WMV4Nik0kWzaqHzYD2e
         Au8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407097; x=1692011897;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NbTnBXz1rftevvtnrJnbyUTbBXZHNhmRyJT9VBuSKEk=;
        b=GGGGDq0ihFT2mVLKGW8HCfX33sYgowhfIX0elL+OJ5bgIrkp11rqPxw6SMCMEZPdnX
         AKyIn2iRMVH4Bdo83daZpgPolsYQAtOOPTP3csDD8PbYlybSRPHpjxz8oo8JAeryNHn7
         Z5V2EzxN/snvMQhPHrs+nvYUsaRpAcYkWuRvAomifgRdcccOzNKd3SLDgDpbX4cbnaln
         gYIV05A4YgDYtf6lm0SlSfcmJkKONmVc9TfzKG2dOANrnw9p4gPXEzLF/0ar6uiT6v1p
         vCBEpGGzCMyPzgSdooLL/4ZdtOtPuXQXqKDUmoRcisLybcl5eNYkHMpKlSHYBN/k+gbt
         S47w==
X-Gm-Message-State: ABy/qLYw6CImWFEe3XkPZSB9njWg56LfkydJK/3TT3dW7Vy+S8U25mrW
	1fIFUp4cPJnLSCIsJq5utX4vTA==
X-Google-Smtp-Source: APBJJlHEA3k+axkYWIvy1nHuTMRTEcDAAx3CbSXEmipYg83y/9axHDl54yrvmY4ExsXdwismqiSLfg==
X-Received: by 2002:a17:90a:901:b0:268:3a31:3e4d with SMTP id n1-20020a17090a090100b002683a313e4dmr23078546pjn.2.1691407096844;
        Mon, 07 Aug 2023 04:18:16 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 39/48] xfs: dynamically allocate the xfs-qm shrinker
Date: Mon,  7 Aug 2023 19:09:27 +0800
Message-Id: <20230807110936.21819-40-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the xfs-qm shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct xfs_quotainfo.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/xfs/xfs_qm.c | 28 +++++++++++++++-------------
 fs/xfs/xfs_qm.h |  2 +-
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
index 6abcc34fafd8..15ba23f11271 100644
--- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c
@@ -504,8 +504,7 @@ xfs_qm_shrink_scan(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_quotainfo	*qi = container_of(shrink,
-					struct xfs_quotainfo, qi_shrinker);
+	struct xfs_quotainfo	*qi = shrink->private_data;
 	struct xfs_qm_isolate	isol;
 	unsigned long		freed;
 	int			error;
@@ -539,8 +538,7 @@ xfs_qm_shrink_count(
 	struct shrinker		*shrink,
 	struct shrink_control	*sc)
 {
-	struct xfs_quotainfo	*qi = container_of(shrink,
-					struct xfs_quotainfo, qi_shrinker);
+	struct xfs_quotainfo	*qi = shrink->private_data;
 
 	return list_lru_shrink_count(&qi->qi_lru, sc);
 }
@@ -680,15 +678,19 @@ xfs_qm_init_quotainfo(
 	if (XFS_IS_PQUOTA_ON(mp))
 		xfs_qm_set_defquota(mp, XFS_DQTYPE_PROJ, qinf);
 
-	qinf->qi_shrinker.count_objects = xfs_qm_shrink_count;
-	qinf->qi_shrinker.scan_objects = xfs_qm_shrink_scan;
-	qinf->qi_shrinker.seeks = DEFAULT_SEEKS;
-	qinf->qi_shrinker.flags = SHRINKER_NUMA_AWARE;
-
-	error = register_shrinker(&qinf->qi_shrinker, "xfs-qm:%s",
-				  mp->m_super->s_id);
-	if (error)
+	qinf->qi_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "xfs-qm:%s",
+					   mp->m_super->s_id);
+	if (!qinf->qi_shrinker) {
+		error = -ENOMEM;
 		goto out_free_inos;
+	}
+
+	qinf->qi_shrinker->count_objects = xfs_qm_shrink_count;
+	qinf->qi_shrinker->scan_objects = xfs_qm_shrink_scan;
+	qinf->qi_shrinker->seeks = DEFAULT_SEEKS;
+	qinf->qi_shrinker->private_data = qinf;
+
+	shrinker_register(qinf->qi_shrinker);
 
 	return 0;
 
@@ -718,7 +720,7 @@ xfs_qm_destroy_quotainfo(
 	qi = mp->m_quotainfo;
 	ASSERT(qi != NULL);
 
-	unregister_shrinker(&qi->qi_shrinker);
+	shrinker_free(qi->qi_shrinker);
 	list_lru_destroy(&qi->qi_lru);
 	xfs_qm_destroy_quotainos(qi);
 	mutex_destroy(&qi->qi_tree_lock);
diff --git a/fs/xfs/xfs_qm.h b/fs/xfs/xfs_qm.h
index 9683f0457d19..d5c9fc4ba591 100644
--- a/fs/xfs/xfs_qm.h
+++ b/fs/xfs/xfs_qm.h
@@ -63,7 +63,7 @@ struct xfs_quotainfo {
 	struct xfs_def_quota	qi_usr_default;
 	struct xfs_def_quota	qi_grp_default;
 	struct xfs_def_quota	qi_prj_default;
-	struct shrinker		qi_shrinker;
+	struct shrinker		*qi_shrinker;
 
 	/* Minimum and maximum quota expiration timestamp values. */
 	time64_t		qi_expiry_min;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578199.905621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOg-0001BU-VM; Mon, 07 Aug 2023 11:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578199.905621; Mon, 07 Aug 2023 11:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOg-0001BH-SZ; Mon, 07 Aug 2023 11:27:38 +0000
Received: by outflank-mailman (input) for mailman id 578199;
 Mon, 07 Aug 2023 11:27: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyGH-0006s9-IR
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:18:57 +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 32b647a8-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:18:57 +0200 (CEST)
Received: by mail-pj1-x102a.google.com with SMTP id
 98e67ed59e1d1-2680edb9767so931405a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:18:56 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.18.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:18: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: 32b647a8-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407135; x=1692011935;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G6s8y0Dka4KE4srOwy3I0FSAaIGrcYmvE6JrVZfCpDs=;
        b=F7XshDjIR6gshLCWKrdL8cyHybumA0/QTbPgZKuavvkyWifyhyd8BPMZmPX4yYKyuR
         FqCSmklkv54KgX1wnfbIyihDlZ+e496yGoiYQIhi+0ixsCUryfshptm9G6dp+SRnN5FZ
         14VdUNX9Rmk7l5AkZvhyOA8ndezzsKV7UULQBi3lhNzHrS31pQni36O5M2aWjlsy7K8I
         o85BeLJKM7bNO8S7mlfBATfdEP7ozNpVuz6OBa+5fivR91DGlVYeJ7lIDECv66TYSV5p
         4CyX1RUktrUPPn4ZHlIEu6EqOTTTT5xmI9T+Qsmwod8lVyyIBYN72T68dyXuYMVy1bdZ
         5S4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407135; x=1692011935;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=G6s8y0Dka4KE4srOwy3I0FSAaIGrcYmvE6JrVZfCpDs=;
        b=TfVOqukYjxPWQ54BVDbr9fjrFP9nw+x7Xgjv9CPmVOZz5mu1ljhqNO8AsfGtH+y0Yt
         5XIx7iuLv8aUpRPS/nz/re+MAPwwkrG9oWBm9aQEbJbQ7g/mmzTFSdik5/wDRj+m0AMJ
         K3J4pHKFRU4nY0u1eJfrgtv+0HQgsTsWQnkDrFbV3mNG8DYQgsaSbDdcLyeXw+ZafBuQ
         iwvkWjMxO19yoxJXjxyggpmoQ3/2LWG2GnHICRPsaodEHqslxKRhiqmskVdCcpLyleN+
         9/8Zfv/WBDiqQ7qFgzty6efjXnMxQof2v6vEcJPoLCfBovHNu/h+iyHLbT5C+7Ng4N8v
         tTow==
X-Gm-Message-State: ABy/qLZzx4u6Lg4OAAzlGvchd8XEkferV8vdtK8v7M8h20iSIiYGFcOO
	If0RaBzpJxRopx9K0LDdgCyAhw==
X-Google-Smtp-Source: APBJJlENzs/96m+S7UnwJhfsSEKfLFwoWHJhRek0zeax/GsXgLjOrIeuu6U5nntKJfSobDso4iAXPQ==
X-Received: by 2002:a17:90a:1f83:b0:268:3dc6:f0c5 with SMTP id x3-20020a17090a1f8300b002683dc6f0c5mr25042984pja.0.1691407135598;
        Mon, 07 Aug 2023 04:18:55 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 42/48] mm: shrinker: remove old APIs
Date: Mon,  7 Aug 2023 19:09:30 +0800
Message-Id: <20230807110936.21819-43-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now no users are using the old APIs, just remove them.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 include/linux/shrinker.h |   7 --
 mm/shrinker.c            | 143 ---------------------------------------
 2 files changed, 150 deletions(-)

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index cc23ff0aee20..c55c07c3f0cb 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -103,13 +103,6 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
 void shrinker_register(struct shrinker *shrinker);
 void shrinker_free(struct shrinker *shrinker);
 
-extern int __printf(2, 3) prealloc_shrinker(struct shrinker *shrinker,
-					    const char *fmt, ...);
-extern void register_shrinker_prepared(struct shrinker *shrinker);
-extern int __printf(2, 3) register_shrinker(struct shrinker *shrinker,
-					    const char *fmt, ...);
-extern void unregister_shrinker(struct shrinker *shrinker);
-extern void free_prealloced_shrinker(struct shrinker *shrinker);
 extern void synchronize_shrinkers(void);
 
 #ifdef CONFIG_SHRINKER_DEBUG
diff --git a/mm/shrinker.c b/mm/shrinker.c
index 43a375f954f3..3ab301ff122d 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -651,149 +651,6 @@ void shrinker_free(struct shrinker *shrinker)
 }
 EXPORT_SYMBOL_GPL(shrinker_free);
 
-/*
- * Add a shrinker callback to be called from the vm.
- */
-static int __prealloc_shrinker(struct shrinker *shrinker)
-{
-	unsigned int size;
-	int err;
-
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-		err = prealloc_memcg_shrinker(shrinker);
-		if (err != -ENOSYS)
-			return err;
-
-		shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
-	}
-
-	size = sizeof(*shrinker->nr_deferred);
-	if (shrinker->flags & SHRINKER_NUMA_AWARE)
-		size *= nr_node_ids;
-
-	shrinker->nr_deferred = kzalloc(size, GFP_KERNEL);
-	if (!shrinker->nr_deferred)
-		return -ENOMEM;
-
-	return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	va_list ap;
-	int err;
-
-	va_start(ap, fmt);
-	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-	va_end(ap);
-	if (!shrinker->name)
-		return -ENOMEM;
-
-	err = __prealloc_shrinker(shrinker);
-	if (err) {
-		kfree_const(shrinker->name);
-		shrinker->name = NULL;
-	}
-
-	return err;
-}
-#else
-int prealloc_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	return __prealloc_shrinker(shrinker);
-}
-#endif
-
-void free_prealloced_shrinker(struct shrinker *shrinker)
-{
-#ifdef CONFIG_SHRINKER_DEBUG
-	kfree_const(shrinker->name);
-	shrinker->name = NULL;
-#endif
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
-		down_write(&shrinker_rwsem);
-		unregister_memcg_shrinker(shrinker);
-		up_write(&shrinker_rwsem);
-		return;
-	}
-
-	kfree(shrinker->nr_deferred);
-	shrinker->nr_deferred = NULL;
-}
-
-void register_shrinker_prepared(struct shrinker *shrinker)
-{
-	down_write(&shrinker_rwsem);
-	list_add_tail(&shrinker->list, &shrinker_list);
-	shrinker->flags |= SHRINKER_REGISTERED;
-	shrinker_debugfs_add(shrinker);
-	up_write(&shrinker_rwsem);
-}
-
-static int __register_shrinker(struct shrinker *shrinker)
-{
-	int err = __prealloc_shrinker(shrinker);
-
-	if (err)
-		return err;
-	register_shrinker_prepared(shrinker);
-	return 0;
-}
-
-#ifdef CONFIG_SHRINKER_DEBUG
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	va_list ap;
-	int err;
-
-	va_start(ap, fmt);
-	shrinker->name = kvasprintf_const(GFP_KERNEL, fmt, ap);
-	va_end(ap);
-	if (!shrinker->name)
-		return -ENOMEM;
-
-	err = __register_shrinker(shrinker);
-	if (err) {
-		kfree_const(shrinker->name);
-		shrinker->name = NULL;
-	}
-	return err;
-}
-#else
-int register_shrinker(struct shrinker *shrinker, const char *fmt, ...)
-{
-	return __register_shrinker(shrinker);
-}
-#endif
-EXPORT_SYMBOL(register_shrinker);
-
-/*
- * Remove one
- */
-void unregister_shrinker(struct shrinker *shrinker)
-{
-	struct dentry *debugfs_entry;
-	int debugfs_id;
-
-	if (!(shrinker->flags & SHRINKER_REGISTERED))
-		return;
-
-	down_write(&shrinker_rwsem);
-	list_del(&shrinker->list);
-	shrinker->flags &= ~SHRINKER_REGISTERED;
-	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
-		unregister_memcg_shrinker(shrinker);
-	debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id);
-	up_write(&shrinker_rwsem);
-
-	shrinker_debugfs_remove(debugfs_entry, debugfs_id);
-
-	kfree(shrinker->nr_deferred);
-	shrinker->nr_deferred = NULL;
-}
-EXPORT_SYMBOL(unregister_shrinker);
-
 /**
  * synchronize_shrinkers - Wait for all running shrinkers to complete.
  *
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578200.905631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOj-0001Xc-Aj; Mon, 07 Aug 2023 11:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578200.905631; Mon, 07 Aug 2023 11: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 1qSyOj-0001XK-4D; Mon, 07 Aug 2023 11:27:41 +0000
Received: by outflank-mailman (input) for mailman id 578200;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyH8-0003uh-IS
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:19:50 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 517fee21-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:19:48 +0200 (CEST)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-265c94064b8so593535a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:19:48 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.19.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:19:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 517fee21-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407187; x=1692011987;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kfKKsEp61SZUnTy00HUcIO/dAXsDrrCBrc1q4f5gA2g=;
        b=O8pmKc9mkUPcwQn3K6b4vfxrIY3urK+/nlSQG6IQu3i18+IpYULExI3wKEZ/xymknF
         +6oCCfFy6i2a+FxBuWdzORrib00J2OMl9nk96M99T35Rfc4jeDAhNe99hGl5QvCM8eUE
         R++VmLiOwJ6rpxA/HEOBJYNzpyPX4zl9hoqj3WQaK+cPExCggyj0/ZBw0z6oFSY7C91n
         2YVhcwVUTJYlZTyzWc8hxnW2XvaNGOtz3UCGr0ovpjlwcNhR4geKecrxjuux2WrpYp3y
         4o91QPRwP3cp6mR8m2un4L62pLlrYSmXBb+57ubwaC0hesJSLB153WlFgONAQW4tHigo
         DeMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407187; x=1692011987;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kfKKsEp61SZUnTy00HUcIO/dAXsDrrCBrc1q4f5gA2g=;
        b=TCN//pwjuWDnBv90TUNEs0bhRtc7s9FnVv/oHoFgbIPedHewlrOkfjuUJTiEMvaHbi
         LggwCMSo//7FPTbuKxkxHX4WQuvxO9snig6YwZrM/mMBcKlFe3v4TJBicTQfC8SbRsaw
         /tAXwWTC0s9+rW6P23aIMuWSqVJa37PV3GQm31rpnmDDZgbABmWYk4w3AjJFkNRadvUZ
         fcNFRBS3boshSqD3R5CCCYOKxe2uHcDNUggyBK8Otsb2qEwIHqpDPssNjZVF8XZHgSOY
         yPljpjNX+F1rLg5wfo+5oxZblrxKP6OcrWyvPNtr/dtob3+zYE3cLX4wGmnLYL34OV55
         l3jA==
X-Gm-Message-State: ABy/qLap3eP3JiqQYjoIPq5qVnQSkh7aeBv49ODGxsrhduheAzhFy3u3
	wtkJS0maD5wVvE4o1rsrEmo+9A==
X-Google-Smtp-Source: APBJJlGG6pz8UXODUVvMLzBj3hYH8JYeumw11e9YZ9plh8RnP0KuzfFyuRP+T7CTu9v0n/nCJMsqhQ==
X-Received: by 2002:a17:90a:1090:b0:268:126c:8a8b with SMTP id c16-20020a17090a109000b00268126c8a8bmr24580285pja.3.1691407187287;
        Mon, 07 Aug 2023 04:19:47 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 46/48] mm: shrinker: make memcg slab shrink lockless
Date: Mon,  7 Aug 2023 19:09:34 +0800
Message-Id: <20230807110936.21819-47-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Like global slab shrink, this commit also uses refcount+RCU method to make
memcg slab shrink lockless.

Use the following script to do slab shrink stress test:

```

DIR="/root/shrinker/memcg/mnt"

do_create()
{
    mkdir -p /sys/fs/cgroup/memory/test
    echo 4G > /sys/fs/cgroup/memory/test/memory.limit_in_bytes
    for i in `seq 0 $1`;
    do
        mkdir -p /sys/fs/cgroup/memory/test/$i;
        echo $$ > /sys/fs/cgroup/memory/test/$i/cgroup.procs;
        mkdir -p $DIR/$i;
    done
}

do_mount()
{
    for i in `seq $1 $2`;
    do
        mount -t tmpfs $i $DIR/$i;
    done
}

do_touch()
{
    for i in `seq $1 $2`;
    do
        echo $$ > /sys/fs/cgroup/memory/test/$i/cgroup.procs;
        dd if=/dev/zero of=$DIR/$i/file$i bs=1M count=1 &
    done
}

case "$1" in
  touch)
    do_touch $2 $3
    ;;
  test)
    do_create 4000
    do_mount 0 4000
    do_touch 0 3000
    ;;
  *)
    exit 1
    ;;
esac
```

Save the above script, then run test and touch commands. Then we can use
the following perf command to view hotspots:

perf top -U -F 999

1) Before applying this patchset:

  40.44%  [kernel]            [k] down_read_trylock
  17.59%  [kernel]            [k] up_read
  13.64%  [kernel]            [k] pv_native_safe_halt
  11.90%  [kernel]            [k] shrink_slab
   8.21%  [kernel]            [k] idr_find
   2.71%  [kernel]            [k] _find_next_bit
   1.36%  [kernel]            [k] shrink_node
   0.81%  [kernel]            [k] shrink_lruvec
   0.80%  [kernel]            [k] __radix_tree_lookup
   0.50%  [kernel]            [k] do_shrink_slab
   0.21%  [kernel]            [k] list_lru_count_one
   0.16%  [kernel]            [k] mem_cgroup_iter

2) After applying this patchset:

  60.17%  [kernel]           [k] shrink_slab
  20.42%  [kernel]           [k] pv_native_safe_halt
   3.03%  [kernel]           [k] do_shrink_slab
   2.73%  [kernel]           [k] shrink_node
   2.27%  [kernel]           [k] shrink_lruvec
   2.00%  [kernel]           [k] __rcu_read_unlock
   1.92%  [kernel]           [k] mem_cgroup_iter
   0.98%  [kernel]           [k] __rcu_read_lock
   0.91%  [kernel]           [k] osq_lock
   0.63%  [kernel]           [k] mem_cgroup_calculate_protection
   0.55%  [kernel]           [k] shrinker_put
   0.46%  [kernel]           [k] list_lru_count_one

We can see that the first perf hotspot becomes shrink_slab, which is what
we expect.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 mm/shrinker.c | 80 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 54 insertions(+), 26 deletions(-)

diff --git a/mm/shrinker.c b/mm/shrinker.c
index d318f5621862..fee6f62904fb 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -107,6 +107,12 @@ static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
 					 lockdep_is_held(&shrinker_rwsem));
 }
 
+static struct shrinker_info *shrinker_info_rcu(struct mem_cgroup *memcg,
+					       int nid)
+{
+	return rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
+}
+
 static int expand_one_shrinker_info(struct mem_cgroup *memcg, int new_size,
 				    int old_size, int new_nr_max)
 {
@@ -198,7 +204,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
 		struct shrinker_info_unit *unit;
 
 		rcu_read_lock();
-		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
+		info = shrinker_info_rcu(memcg, nid);
 		unit = info->unit[shriner_id_to_index(shrinker_id)];
 		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
 			/* Pairs with smp mb in shrink_slab() */
@@ -211,7 +217,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
 
 static DEFINE_IDR(shrinker_idr);
 
-static int prealloc_memcg_shrinker(struct shrinker *shrinker)
+static int shrinker_memcg_alloc(struct shrinker *shrinker)
 {
 	int id, ret = -ENOMEM;
 
@@ -219,7 +225,6 @@ static int prealloc_memcg_shrinker(struct shrinker *shrinker)
 		return -ENOSYS;
 
 	down_write(&shrinker_rwsem);
-	/* This may call shrinker, so it must use down_read_trylock() */
 	id = idr_alloc(&shrinker_idr, shrinker, 0, 0, GFP_KERNEL);
 	if (id < 0)
 		goto unlock;
@@ -237,7 +242,7 @@ static int prealloc_memcg_shrinker(struct shrinker *shrinker)
 	return ret;
 }
 
-static void unregister_memcg_shrinker(struct shrinker *shrinker)
+static void shrinker_memcg_remove(struct shrinker *shrinker)
 {
 	int id = shrinker->id;
 
@@ -253,10 +258,15 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
 {
 	struct shrinker_info *info;
 	struct shrinker_info_unit *unit;
+	long nr_deferred;
 
-	info = shrinker_info_protected(memcg, nid);
+	rcu_read_lock();
+	info = shrinker_info_rcu(memcg, nid);
 	unit = info->unit[shriner_id_to_index(shrinker->id)];
-	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
+	nr_deferred = atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
+	rcu_read_unlock();
+
+	return nr_deferred;
 }
 
 static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
@@ -264,10 +274,16 @@ static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
 {
 	struct shrinker_info *info;
 	struct shrinker_info_unit *unit;
+	long nr_deferred;
 
-	info = shrinker_info_protected(memcg, nid);
+	rcu_read_lock();
+	info = shrinker_info_rcu(memcg, nid);
 	unit = info->unit[shriner_id_to_index(shrinker->id)];
-	return atomic_long_add_return(nr, &unit->nr_deferred[shriner_id_to_offset(shrinker->id)]);
+	nr_deferred =
+		atomic_long_add_return(nr, &unit->nr_deferred[shriner_id_to_offset(shrinker->id)]);
+	rcu_read_unlock();
+
+	return nr_deferred;
 }
 
 void reparent_shrinker_deferred(struct mem_cgroup *memcg)
@@ -299,12 +315,12 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 	up_read(&shrinker_rwsem);
 }
 #else
-static int prealloc_memcg_shrinker(struct shrinker *shrinker)
+static int shrinker_memcg_alloc(struct shrinker *shrinker)
 {
 	return -ENOSYS;
 }
 
-static void unregister_memcg_shrinker(struct shrinker *shrinker)
+static void shrinker_memcg_remove(struct shrinker *shrinker)
 {
 }
 
@@ -464,18 +480,23 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
 	if (!mem_cgroup_online(memcg))
 		return 0;
 
-	if (!down_read_trylock(&shrinker_rwsem))
-		return 0;
-
-	info = shrinker_info_protected(memcg, nid);
+again:
+	rcu_read_lock();
+	info = shrinker_info_rcu(memcg, nid);
 	if (unlikely(!info))
 		goto unlock;
 
-	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
+	if (index < shriner_id_to_index(info->map_nr_max)) {
 		struct shrinker_info_unit *unit;
 
 		unit = info->unit[index];
 
+		/*
+		 * The shrinker_info_unit will not be freed, so we can
+		 * safely release the RCU lock here.
+		 */
+		rcu_read_unlock();
+
 		for_each_set_bit(offset, unit->map, SHRINKER_UNIT_BITS) {
 			struct shrink_control sc = {
 				.gfp_mask = gfp_mask,
@@ -485,12 +506,14 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
 			struct shrinker *shrinker;
 			int shrinker_id = calc_shrinker_id(index, offset);
 
+			rcu_read_lock();
 			shrinker = idr_find(&shrinker_idr, shrinker_id);
-			if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
-				if (!shrinker)
-					clear_bit(offset, unit->map);
+			if (unlikely(!shrinker || !shrinker_try_get(shrinker))) {
+				clear_bit(offset, unit->map);
+				rcu_read_unlock();
 				continue;
 			}
+			rcu_read_unlock();
 
 			/* Call non-slab shrinkers even though kmem is disabled */
 			if (!memcg_kmem_online() &&
@@ -523,15 +546,20 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
 					set_shrinker_bit(memcg, nid, shrinker_id);
 			}
 			freed += ret;
-
-			if (rwsem_is_contended(&shrinker_rwsem)) {
-				freed = freed ? : 1;
-				goto unlock;
-			}
+			shrinker_put(shrinker);
 		}
+
+		/*
+		 * We have already exited the read-side of rcu critical section
+		 * before calling do_shrink_slab(), the shrinker_info may be
+		 * released in expand_one_shrinker_info(), so reacquire the
+		 * shrinker_info.
+		 */
+		index++;
+		goto again;
 	}
 unlock:
-	up_read(&shrinker_rwsem);
+	rcu_read_unlock();
 	return freed;
 }
 #else /* !CONFIG_MEMCG */
@@ -638,7 +666,7 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...)
 	shrinker->flags = flags | SHRINKER_ALLOCATED;
 
 	if (flags & SHRINKER_MEMCG_AWARE) {
-		err = prealloc_memcg_shrinker(shrinker);
+		err = shrinker_memcg_alloc(shrinker);
 		if (err == -ENOSYS)
 			shrinker->flags &= ~SHRINKER_MEMCG_AWARE;
 		else if (err == 0)
@@ -731,7 +759,7 @@ void shrinker_free(struct shrinker *shrinker)
 	}
 
 	if (shrinker->flags & SHRINKER_MEMCG_AWARE)
-		unregister_memcg_shrinker(shrinker);
+		shrinker_memcg_remove(shrinker);
 	up_write(&shrinker_rwsem);
 
 	if (debugfs_entry)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578201.905641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOm-00024Q-PQ; Mon, 07 Aug 2023 11:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578201.905641; Mon, 07 Aug 2023 11: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 1qSyOm-00024B-Le; Mon, 07 Aug 2023 11:27:44 +0000
Received: by outflank-mailman (input) for mailman id 578201;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyEq-0006s9-17
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:17:28 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd484779-3513-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:17:27 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id
 41be03b00d2f7-55b5a37acb6so362679a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:17:27 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.17.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:17: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: fd484779-3513-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407046; x=1692011846;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v5vYJ8kE3O6JXdLxdEEyUgUMjz4KJqSKKSB151wqkNo=;
        b=SddB5W7TBGS4uOBB54oAwQadrL7fhf6DQuFGu8VJel4YD8JvtkF5mhOckA/6vdi9nq
         hlVTmdr/Kx1D4xlpvO2OSKYXB5RvVMiR6sESxeeh8/ktD09qDCXXwpDE4WqRU8hY11FY
         G6KR4LUZZolsNcExYWQgBloqrZSLljdTAa93b1m2N036gRwi9BwogxNRXUsItZlswdeV
         RttwDZcFyg1S8l+4ePFxtqYFv2AYsGXbvb/zq8emVyERgALeuEVi3b9ZjwWVeQ9iauxk
         xcZs9+wDP4Bgr5Tw0/5OxVGHY2k5SYNUfTOTk9l9GbDIx4PuLA8GEzMw0rmzVwGr35V7
         B6uQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407046; x=1692011846;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=v5vYJ8kE3O6JXdLxdEEyUgUMjz4KJqSKKSB151wqkNo=;
        b=aqrltFF/tdLNYFuL4MG2Nkt9RG2bbpGrIy0b/jR2db7xHovuGDMeejsUPOw54ge5yR
         rpu9EsmCjPyOQ+nqJtYz0xGV4SZ8fwVOYZIsujRnCOUrtI+hmR1XVjSAQ5ZpltzI70iu
         96rwb5jk30nzKHkm7if/fSiBT68SHKp6ybvFFQc03ljZXls+evqJu8v5WC+QpB32Q3Z+
         LZjkpwjyA9XQ98HAmc+VfqtigarIV738AUaiHoRRuqYdvr3aaL+M68jlc0YS+tjeO5I4
         uJioYxIEHbjyN5Y63g30JmGtzDI/4Dxr2SahGXHluFh+H81dY/QjYayPxYMzMR6jYBNn
         urKA==
X-Gm-Message-State: ABy/qLYMZA4esmacX5lwF1cVGCLre79RYKxU8MPlX6c8c+wMgJoGD+36
	VeTCUQvgdh71nTKMxCFAScwiBQ==
X-Google-Smtp-Source: APBJJlFyAF6s6JefOZNl/scuUGwKU5q0BmH7yK6Qf+JZ3E1mrAS2lh5NuGQm2RRGuEVfms4+14afyQ==
X-Received: by 2002:a17:90a:3f08:b0:268:1e3b:14c9 with SMTP id l8-20020a17090a3f0800b002681e3b14c9mr23486908pjc.2.1691407045970;
        Mon, 07 Aug 2023 04:17:25 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Chuck Lever <chuck.lever@oracle.com>,
	Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v4 35/48] nfsd: dynamically allocate the nfsd-client shrinker
Date: Mon,  7 Aug 2023 19:09:23 +0800
Message-Id: <20230807110936.21819-36-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the nfsd-client shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct nfsd_net.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Jeff Layton <jlayton@kernel.org>
---
 fs/nfsd/netns.h     |  2 +-
 fs/nfsd/nfs4state.c | 20 ++++++++++++--------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h
index ec49b200b797..f669444d5336 100644
--- a/fs/nfsd/netns.h
+++ b/fs/nfsd/netns.h
@@ -195,7 +195,7 @@ struct nfsd_net {
 	int			nfs4_max_clients;
 
 	atomic_t		nfsd_courtesy_clients;
-	struct shrinker		nfsd_client_shrinker;
+	struct shrinker		*nfsd_client_shrinker;
 	struct work_struct	nfsd_shrinker_work;
 };
 
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 8534693eb6a4..9e401db8a6d2 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4400,8 +4400,7 @@ static unsigned long
 nfsd4_state_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
 {
 	int count;
-	struct nfsd_net *nn = container_of(shrink,
-			struct nfsd_net, nfsd_client_shrinker);
+	struct nfsd_net *nn = shrink->private_data;
 
 	count = atomic_read(&nn->nfsd_courtesy_clients);
 	if (!count)
@@ -8149,12 +8148,17 @@ static int nfs4_state_create_net(struct net *net)
 	INIT_WORK(&nn->nfsd_shrinker_work, nfsd4_state_shrinker_worker);
 	get_net(net);
 
-	nn->nfsd_client_shrinker.scan_objects = nfsd4_state_shrinker_scan;
-	nn->nfsd_client_shrinker.count_objects = nfsd4_state_shrinker_count;
-	nn->nfsd_client_shrinker.seeks = DEFAULT_SEEKS;
-
-	if (register_shrinker(&nn->nfsd_client_shrinker, "nfsd-client"))
+	nn->nfsd_client_shrinker = shrinker_alloc(0, "nfsd-client");
+	if (!nn->nfsd_client_shrinker)
 		goto err_shrinker;
+
+	nn->nfsd_client_shrinker->scan_objects = nfsd4_state_shrinker_scan;
+	nn->nfsd_client_shrinker->count_objects = nfsd4_state_shrinker_count;
+	nn->nfsd_client_shrinker->seeks = DEFAULT_SEEKS;
+	nn->nfsd_client_shrinker->private_data = nn;
+
+	shrinker_register(nn->nfsd_client_shrinker);
+
 	return 0;
 
 err_shrinker:
@@ -8252,7 +8256,7 @@ nfs4_state_shutdown_net(struct net *net)
 	struct list_head *pos, *next, reaplist;
 	struct nfsd_net *nn = net_generic(net, nfsd_net_id);
 
-	unregister_shrinker(&nn->nfsd_client_shrinker);
+	shrinker_free(nn->nfsd_client_shrinker);
 	cancel_work(&nn->nfsd_shrinker_work);
 	cancel_delayed_work_sync(&nn->laundromat_work);
 	locks_end_grace(&nn->nfsd4_manager);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578217.905651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOu-0002tD-4f; Mon, 07 Aug 2023 11:27:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578217.905651; Mon, 07 Aug 2023 11:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOu-0002t3-0U; Mon, 07 Aug 2023 11:27:52 +0000
Received: by outflank-mailman (input) for mailman id 578217;
 Mon, 07 Aug 2023 11:27:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyHM-0003uh-2G
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:20:04 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 591a764c-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:20:01 +0200 (CEST)
Received: by mail-pj1-x1035.google.com with SMTP id
 98e67ed59e1d1-2680edb9767so931611a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:20:01 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.19.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 591a764c-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407200; x=1692012000;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X5ij/O+E/bk/tTzX9mgxwiCynzBHcXx4EKtI9EsHayo=;
        b=i3OLYIqgHrVEAaoeqhN7xu/7U1C+reDkv4O93uYT3wVXPD8PclsjVNwGlC6uACGJON
         5G7yHqhhbIuKFoghA6ZSicHcXMJKMfCogQ8szn+vWtZn4EOKB8vbAdIc7rpijTp0cbxa
         Z/AamO41rUovV3Rd5mToLS3fdUn/gIbndWW5fXdkD//uV9WpRp/5E2yE1kJcYdxc2q43
         2kKg85HGCsKzT23sBdglbe/LKtHC4WUeFtaNvdRNowxvHAXGs/cRyz4+kFuB/ka63yH8
         5vv+ldmlZuknYjC0UrMsohE+IjtZuT+2tIf1cSRO1giyAMKM5zLXRshImNoV+3DwaEWW
         qy8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407200; x=1692012000;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X5ij/O+E/bk/tTzX9mgxwiCynzBHcXx4EKtI9EsHayo=;
        b=jvkh+Hc1Brc29n5mxG5FbHZK6Ixkr5s1gdKGwAQUoyQ8HJPEZhSo3B9bCekSyM66DJ
         fr+RFo7h1jj9+2dg4poQwQNTl2AbMfzZxYAZimgVt8yaBpG3xzY5YdV/6IzkOLyhk4ya
         QcPY5H9nArGohxEREwhbMpcv4HXkYOE2wYzcLsbhFp2DZNdQ7l4DS8gj8en9uCgoKCFt
         86zy20JRanowyEwRXcFAVG4I9LfcMuLtVp3hmyuAwdwIonlloXMZeBnC0F/tR5eNkwrJ
         2ack5d1btgzTJh5zyCUfgrDKo74pjG69j98a+PiBQrZZ1hcAa57XO0OKodSw/eMd//OB
         XICQ==
X-Gm-Message-State: AOJu0YxeIKxzU09bBVvzRcCfF8Niuz3gCmwR+I7enEvaDFN7XU6v+yOY
	Msp6QhlbwSxaOVIx8xk5WIEBp1g2lPmLOEFNh6E=
X-Google-Smtp-Source: AGHT+IH1iUQIXRu8fJbzxUHSh+kWmc44BJdJFh0ZxZy41KSEiq7lusFAb/6JfkXEPdg45Q03TKbByg==
X-Received: by 2002:a17:90a:9c3:b0:269:41cf:7212 with SMTP id 61-20020a17090a09c300b0026941cf7212mr4973775pjo.4.1691407200010;
        Mon, 07 Aug 2023 04:20:00 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v4 47/48] mm: shrinker: hold write lock to reparent shrinker nr_deferred
Date: Mon,  7 Aug 2023 19:09:35 +0800
Message-Id: <20230807110936.21819-48-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For now, reparent_shrinker_deferred() is the only holder of read lock of
shrinker_rwsem. And it already holds the global cgroup_mutex, so it will
not be called in parallel.

Therefore, in order to convert shrinker_rwsem to shrinker_mutex later,
here we change to hold the write lock of shrinker_rwsem to reparent.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
---
 mm/shrinker.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/shrinker.c b/mm/shrinker.c
index fee6f62904fb..a12dede5d21f 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -299,7 +299,7 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 		parent = root_mem_cgroup;
 
 	/* Prevent from concurrent shrinker_info expand */
-	down_read(&shrinker_rwsem);
+	down_write(&shrinker_rwsem);
 	for_each_node(nid) {
 		child_info = shrinker_info_protected(memcg, nid);
 		parent_info = shrinker_info_protected(parent, nid);
@@ -312,7 +312,7 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 			}
 		}
 	}
-	up_read(&shrinker_rwsem);
+	up_write(&shrinker_rwsem);
 }
 #else
 static int shrinker_memcg_alloc(struct shrinker *shrinker)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:27:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578222.905661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyOx-0003PU-C7; Mon, 07 Aug 2023 11:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578222.905661; Mon, 07 Aug 2023 11: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 1qSyOx-0003PK-8b; Mon, 07 Aug 2023 11:27:55 +0000
Received: by outflank-mailman (input) for mailman id 578222;
 Mon, 07 Aug 2023 11:27: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyG6-0003uh-5T
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:18:46 +0000
Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com
 [2607:f8b0:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b2bbfce-3514-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:18:44 +0200 (CEST)
Received: by mail-pg1-x52d.google.com with SMTP id
 41be03b00d2f7-51f64817809so361036a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:18:44 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.18.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 2b2bbfce-3514-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407123; x=1692011923;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AnO+VrCD4LojLy+8kmnCjGg0ZRt7Zy9NIxA02Cs4pZw=;
        b=PfEVKvTzBWRKzDZcOs/Fep65btb/5j6s3WDHceANi3UdyfyE1ZYJjj/ojCsgHi3Vd1
         UnyiA9UJ+WO0skTyzkklbevZFVt0QM5P026zpV9irULg/dt9elBIaT9aO85mKj85kzSK
         8BL7WAzqEgJCUSOrld3eSg+Xi6Bj/nVLlSU4qlnz3r3ovJoXr2T2o0DtWh8ePmCGKfhu
         8HAbYH+dcq7rqiPTVsEp3knKk+0ZUdZ34RURzik4J4PgZDJhHLpdrzH5JSXxHECtRx3a
         erZSmwbY1m1zt8qE5RzbmfCM7KzyvNBKjG86UwibulZ8+wpz72tXfP+ENX4A3BoRP40M
         UhJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407123; x=1692011923;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AnO+VrCD4LojLy+8kmnCjGg0ZRt7Zy9NIxA02Cs4pZw=;
        b=Dhgf83zjvevLfRglW4SKsH7E20mc6DK+36XiCSOHT1lSV+e9hH5v54zY0CfNcXThzg
         +wfJgJ5v3dBp0yJFnzyQiQXsYjkNMIF1jg6FuHDfUbvOq6NFZiL5A+mBxo0W+kE0ZAd8
         rF6qS05q5dZIgm6s+UAu+gEUUwWcp7MIYEssw/KKVg4VdUBPfB3G5GghQLEbltcDSDHZ
         koZRKX4AssDMYnX3eoup239Fjvyj/iTYsc2zwKvEm4kSW8HA+zovzSA0U5YtZCiwKwYR
         8X9bgje2UT7PuTjyiftBujcDIoDFHXIZDC0F0EZU5ttmcSQtQEI2p58TDg4AwNZ0RNsm
         GK0w==
X-Gm-Message-State: ABy/qLaz4knzC8ViBwYZdegeii1TfBb57TwG7A0W38RH4Agvh7X5prF0
	1yeMSNPr2VxbASZc1WN3NhWEjA==
X-Google-Smtp-Source: APBJJlGN7o+mPwW+D250kL/E75whSiIFGnI9vIACxkViJa+uI/EkAzzWgkZZOw/GfOlqJQ+tGCA4bg==
X-Received: by 2002:a17:90a:3f08:b0:268:1e3b:14c9 with SMTP id l8-20020a17090a3f0800b002681e3b14c9mr23489214pjc.2.1691407122942;
        Mon, 07 Aug 2023 04:18:42 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 41/48] fs: super: dynamically allocate the s_shrink
Date: Mon,  7 Aug 2023 19:09:29 +0800
Message-Id: <20230807110936.21819-42-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the s_shrink, so that it can be freed asynchronously
using kfree_rcu(). Then it doesn't need to wait for RCU read-side critical
section when releasing the struct super_block.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 fs/btrfs/super.c   |  2 +-
 fs/kernfs/mount.c  |  2 +-
 fs/proc/root.c     |  2 +-
 fs/super.c         | 34 +++++++++++++++++++---------------
 include/linux/fs.h |  2 +-
 5 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 5ca07b41b4cd..c6980fc6fe02 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -1514,7 +1514,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type,
 
 		snprintf(s->s_id, sizeof(s->s_id), "%pg",
 			 fs_devices->latest_dev->bdev);
-		shrinker_debugfs_rename(&s->s_shrink, "sb-%s:%s", fs_type->name,
+		shrinker_debugfs_rename(s->s_shrink, "sb-%s:%s", fs_type->name,
 					s->s_id);
 		fs_info->bdev_holder = s;
 		error = btrfs_fill_super(s, fs_devices, data);
diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
index c4bf26142eec..79b96e74a8a0 100644
--- a/fs/kernfs/mount.c
+++ b/fs/kernfs/mount.c
@@ -265,7 +265,7 @@ static int kernfs_fill_super(struct super_block *sb, struct kernfs_fs_context *k
 	sb->s_time_gran = 1;
 
 	/* sysfs dentries and inodes don't require IO to create */
-	sb->s_shrink.seeks = 0;
+	sb->s_shrink->seeks = 0;
 
 	/* get root inode, initialize and unlock it */
 	down_read(&kf_root->kernfs_rwsem);
diff --git a/fs/proc/root.c b/fs/proc/root.c
index 9191248f2dac..b55dbc70287b 100644
--- a/fs/proc/root.c
+++ b/fs/proc/root.c
@@ -188,7 +188,7 @@ static int proc_fill_super(struct super_block *s, struct fs_context *fc)
 	s->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH;
 
 	/* procfs dentries and inodes don't require IO to create */
-	s->s_shrink.seeks = 0;
+	s->s_shrink->seeks = 0;
 
 	pde_get(&proc_root);
 	root_inode = proc_get_inode(s, &proc_root);
diff --git a/fs/super.c b/fs/super.c
index 2354bcab6fff..a28193045345 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -67,7 +67,7 @@ static unsigned long super_cache_scan(struct shrinker *shrink,
 	long	dentries;
 	long	inodes;
 
-	sb = container_of(shrink, struct super_block, s_shrink);
+	sb = shrink->private_data;
 
 	/*
 	 * Deadlock avoidance.  We may hold various FS locks, and we don't want
@@ -120,7 +120,7 @@ static unsigned long super_cache_count(struct shrinker *shrink,
 	struct super_block *sb;
 	long	total_objects = 0;
 
-	sb = container_of(shrink, struct super_block, s_shrink);
+	sb = shrink->private_data;
 
 	/*
 	 * We don't call trylock_super() here as it is a scalability bottleneck,
@@ -182,7 +182,7 @@ static void destroy_unused_super(struct super_block *s)
 	security_sb_free(s);
 	put_user_ns(s->s_user_ns);
 	kfree(s->s_subtype);
-	free_prealloced_shrinker(&s->s_shrink);
+	shrinker_free(s->s_shrink);
 	/* no delays needed */
 	destroy_super_work(&s->destroy_work);
 }
@@ -259,16 +259,20 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags,
 	s->s_time_min = TIME64_MIN;
 	s->s_time_max = TIME64_MAX;
 
-	s->s_shrink.seeks = DEFAULT_SEEKS;
-	s->s_shrink.scan_objects = super_cache_scan;
-	s->s_shrink.count_objects = super_cache_count;
-	s->s_shrink.batch = 1024;
-	s->s_shrink.flags = SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE;
-	if (prealloc_shrinker(&s->s_shrink, "sb-%s", type->name))
+	s->s_shrink = shrinker_alloc(SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE,
+				     "sb-%s", type->name);
+	if (!s->s_shrink)
 		goto fail;
-	if (list_lru_init_memcg(&s->s_dentry_lru, &s->s_shrink))
+
+	s->s_shrink->seeks = DEFAULT_SEEKS;
+	s->s_shrink->scan_objects = super_cache_scan;
+	s->s_shrink->count_objects = super_cache_count;
+	s->s_shrink->batch = 1024;
+	s->s_shrink->private_data = s;
+
+	if (list_lru_init_memcg(&s->s_dentry_lru, s->s_shrink))
 		goto fail;
-	if (list_lru_init_memcg(&s->s_inode_lru, &s->s_shrink))
+	if (list_lru_init_memcg(&s->s_inode_lru, s->s_shrink))
 		goto fail;
 	return s;
 
@@ -326,7 +330,7 @@ void deactivate_locked_super(struct super_block *s)
 {
 	struct file_system_type *fs = s->s_type;
 	if (atomic_dec_and_test(&s->s_active)) {
-		unregister_shrinker(&s->s_shrink);
+		shrinker_free(s->s_shrink);
 		fs->kill_sb(s);
 
 		/*
@@ -610,7 +614,7 @@ struct super_block *sget_fc(struct fs_context *fc,
 	hlist_add_head(&s->s_instances, &s->s_type->fs_supers);
 	spin_unlock(&sb_lock);
 	get_filesystem(s->s_type);
-	register_shrinker_prepared(&s->s_shrink);
+	shrinker_register(s->s_shrink);
 	return s;
 
 share_extant_sb:
@@ -693,7 +697,7 @@ struct super_block *sget(struct file_system_type *type,
 	hlist_add_head(&s->s_instances, &type->fs_supers);
 	spin_unlock(&sb_lock);
 	get_filesystem(type);
-	register_shrinker_prepared(&s->s_shrink);
+	shrinker_register(s->s_shrink);
 	return s;
 }
 EXPORT_SYMBOL(sget);
@@ -1312,7 +1316,7 @@ int setup_bdev_super(struct super_block *sb, int sb_flags,
 	mutex_unlock(&bdev->bd_fsfreeze_mutex);
 
 	snprintf(sb->s_id, sizeof(sb->s_id), "%pg", bdev);
-	shrinker_debugfs_rename(&sb->s_shrink, "sb-%s:%s", sb->s_type->name,
+	shrinker_debugfs_rename(sb->s_shrink, "sb-%s:%s", sb->s_type->name,
 				sb->s_id);
 	sb_set_blocksize(sb, block_size(bdev));
 	return 0;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 9515d3688f71..1464afd41164 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1263,7 +1263,7 @@ struct super_block {
 
 	const struct dentry_operations *s_d_op; /* default d_op for dentries */
 
-	struct shrinker s_shrink;	/* per-sb shrinker handle */
+	struct shrinker *s_shrink;	/* per-sb shrinker handle */
 
 	/* Number of inodes with nlink == 0 but still referenced */
 	atomic_long_t s_remove_count;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:28:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578232.905671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyP2-0003xt-Nf; Mon, 07 Aug 2023 11:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578232.905671; Mon, 07 Aug 2023 11:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyP2-0003xh-JT; Mon, 07 Aug 2023 11:28:00 +0000
Received: by outflank-mailman (input) for mailman id 578232;
 Mon, 07 Aug 2023 11:27:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyGi-0006s9-7a
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:19:24 +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 4259b6f0-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:19:23 +0200 (CEST)
Received: by mail-pj1-x102a.google.com with SMTP id
 98e67ed59e1d1-268f6ba57b5so625658a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:19:23 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.19.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:19: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: 4259b6f0-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407162; x=1692011962;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BzKzY0EneoO0UlcJt4xJM2Sa0N5zE3blYFeUn1CwPvs=;
        b=MbCTfulzQY8dcLMV7HUHZRkhp3R/ALHm/oybkLiEqSrlkrAL5AMkdjufi+qbbnlWzq
         EwOScEMFKT9DjlO/FYIYHMtQq2tg1SmdFY2OX8CdMMfBbKmXJY114QpKxGPF0i15Oq8D
         +QZTUaNL6+5L3yXNniaSpwyckXVIsRgL4m06kBthWlP5xd4q7OECI5FeIwXi87e+H4c/
         GUueoXTkms0i44pnefrN2CLy0SrJ5TW2S78B6UOaIOz/bQbdtDd+1wdG+NZVHpYstsoy
         +lnW4zf/cx/QjFol8gTUnT8cVUpimeAwTwTHHi/YAESl2hNrNHChT1CjEcEW9U23Nr7T
         gLNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407162; x=1692011962;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BzKzY0EneoO0UlcJt4xJM2Sa0N5zE3blYFeUn1CwPvs=;
        b=l+lVhb4hHsrNiBGnckqOMrKNxvrHFUii0/yNvPBLaYNH76gR/GaiymL9culzec0rDa
         0h998vgmBUWxzioFT3X0zrG7D6m45zs3DkXSe2GtbFy0L+2KlgylivfDEnsXheF4KGCW
         lomb4Rc2C20iYPrbK5Yi1XK99tWri4US+BK5iSBc2AYPlJsz9fv4gub5NHcnfiwPnJCH
         yuEIPbmqeQW2AJYt/S6CkoYuBL+twQsYETOO7NgxE+/5hXu6bFqH5IapuWghUZwfvIbV
         bTLcH9ErlpwOzYqt0GPI6XGbW70A3LaxR9e5SfV+RBtjw38k3UiGD9PTrIzXEUY74Fcx
         6zcA==
X-Gm-Message-State: ABy/qLZinp4mGNQMjiDW7taYNy8DnFo4iCHMqGebSQE38pm5ox4YfGLv
	aCPyOzAh6Ob2WRcZf/w9Irt1cw==
X-Google-Smtp-Source: APBJJlGnB4Vyj5FGeoXczgSMBfjSqXYaN0nHE2UQ92aOKZGOd+EBKMKhZPi2ZgbvTuAEcRBjftj7zw==
X-Received: by 2002:a17:90a:6c97:b0:263:730b:f568 with SMTP id y23-20020a17090a6c9700b00263730bf568mr23074339pjj.3.1691407161746;
        Mon, 07 Aug 2023 04:19:21 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 44/48] mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred}
Date: Mon,  7 Aug 2023 19:09:32 +0800
Message-Id: <20230807110936.21819-45-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, we maintain two linear arrays per node per memcg, which are
shrinker_info::map and shrinker_info::nr_deferred. And we need to resize
them when the shrinker_nr_max is exceeded, that is, allocate a new array,
and then copy the old array to the new array, and finally free the old
array by RCU.

For shrinker_info::map, we do set_bit() under the RCU lock, so we may set
the value into the old map which is about to be freed. This may cause the
value set to be lost. The current solution is not to copy the old map when
resizing, but to set all the corresponding bits in the new map to 1. This
solves the data loss problem, but bring the overhead of more pointless
loops while doing memcg slab shrink.

For shrinker_info::nr_deferred, we will only modify it under the read lock
of shrinker_rwsem, so it will not run concurrently with the resizing. But
after we make memcg slab shrink lockless, there will be the same data loss
problem as shrinker_info::map, and we can't work around it like the map.

For such resizable arrays, the most straightforward idea is to change it
to xarray, like we did for list_lru [1]. We need to do xa_store() in the
list_lru_add()-->set_shrinker_bit(), but this will cause memory
allocation, and the list_lru_add() doesn't accept failure. A possible
solution is to pre-allocate, but the location of pre-allocation is not
well determined.

Therefore, this commit chooses to introduce a secondary array for
shrinker_info::{map, nr_deferred}, so that we only need to copy this
secondary array every time the size is resized. Then even if we get the
old secondary array under the RCU lock, the found map and nr_deferred are
also true, so no data is lost.

[1]. https://lore.kernel.org/all/20220228122126.37293-13-songmuchun@bytedance.com/

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 include/linux/memcontrol.h |  12 +-
 include/linux/shrinker.h   |  17 +++
 mm/shrinker.c              | 250 +++++++++++++++++++++++--------------
 3 files changed, 172 insertions(+), 107 deletions(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 11810a2cfd2d..b49515bb6fbd 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -21,6 +21,7 @@
 #include <linux/vmstat.h>
 #include <linux/writeback.h>
 #include <linux/page-flags.h>
+#include <linux/shrinker.h>
 
 struct mem_cgroup;
 struct obj_cgroup;
@@ -88,17 +89,6 @@ struct mem_cgroup_reclaim_iter {
 	unsigned int generation;
 };
 
-/*
- * Bitmap and deferred work of shrinker::id corresponding to memcg-aware
- * shrinkers, which have elements charged to this memcg.
- */
-struct shrinker_info {
-	struct rcu_head rcu;
-	atomic_long_t *nr_deferred;
-	unsigned long *map;
-	int map_nr_max;
-};
-
 struct lruvec_stats_percpu {
 	/* Local (CPU and cgroup) state */
 	long state[NR_VM_NODE_STAT_ITEMS];
diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index 025c8070dd86..eb342994675a 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -5,6 +5,23 @@
 #include <linux/atomic.h>
 #include <linux/types.h>
 
+#define SHRINKER_UNIT_BITS	BITS_PER_LONG
+
+/*
+ * Bitmap and deferred work of shrinker::id corresponding to memcg-aware
+ * shrinkers, which have elements charged to the memcg.
+ */
+struct shrinker_info_unit {
+	atomic_long_t nr_deferred[SHRINKER_UNIT_BITS];
+	DECLARE_BITMAP(map, SHRINKER_UNIT_BITS);
+};
+
+struct shrinker_info {
+	struct rcu_head rcu;
+	int map_nr_max;
+	struct shrinker_info_unit *unit[];
+};
+
 /*
  * This struct is used to pass information from page reclaim to the shrinkers.
  * We consolidate the values for easier extension later.
diff --git a/mm/shrinker.c b/mm/shrinker.c
index a27779ed3798..1911c06b8af5 100644
--- a/mm/shrinker.c
+++ b/mm/shrinker.c
@@ -12,15 +12,50 @@ DECLARE_RWSEM(shrinker_rwsem);
 #ifdef CONFIG_MEMCG
 static int shrinker_nr_max;
 
-/* The shrinker_info is expanded in a batch of BITS_PER_LONG */
-static inline int shrinker_map_size(int nr_items)
+static inline int shrinker_unit_size(int nr_items)
 {
-	return (DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long));
+	return (DIV_ROUND_UP(nr_items, SHRINKER_UNIT_BITS) * sizeof(struct shrinker_info_unit *));
 }
 
-static inline int shrinker_defer_size(int nr_items)
+static inline void shrinker_unit_free(struct shrinker_info *info, int start)
 {
-	return (round_up(nr_items, BITS_PER_LONG) * sizeof(atomic_long_t));
+	struct shrinker_info_unit **unit;
+	int nr, i;
+
+	if (!info)
+		return;
+
+	unit = info->unit;
+	nr = DIV_ROUND_UP(info->map_nr_max, SHRINKER_UNIT_BITS);
+
+	for (i = start; i < nr; i++) {
+		if (!unit[i])
+			break;
+
+		kvfree(unit[i]);
+		unit[i] = NULL;
+	}
+}
+
+static inline int shrinker_unit_alloc(struct shrinker_info *new,
+				       struct shrinker_info *old, int nid)
+{
+	struct shrinker_info_unit *unit;
+	int nr = DIV_ROUND_UP(new->map_nr_max, SHRINKER_UNIT_BITS);
+	int start = old ? DIV_ROUND_UP(old->map_nr_max, SHRINKER_UNIT_BITS) : 0;
+	int i;
+
+	for (i = start; i < nr; i++) {
+		unit = kvzalloc_node(sizeof(*unit), GFP_KERNEL, nid);
+		if (!unit) {
+			shrinker_unit_free(new, start);
+			return -ENOMEM;
+		}
+
+		new->unit[i] = unit;
+	}
+
+	return 0;
 }
 
 void free_shrinker_info(struct mem_cgroup *memcg)
@@ -32,6 +67,7 @@ void free_shrinker_info(struct mem_cgroup *memcg)
 	for_each_node(nid) {
 		pn = memcg->nodeinfo[nid];
 		info = rcu_dereference_protected(pn->shrinker_info, true);
+		shrinker_unit_free(info, 0);
 		kvfree(info);
 		rcu_assign_pointer(pn->shrinker_info, NULL);
 	}
@@ -40,28 +76,27 @@ void free_shrinker_info(struct mem_cgroup *memcg)
 int alloc_shrinker_info(struct mem_cgroup *memcg)
 {
 	struct shrinker_info *info;
-	int nid, size, ret = 0;
-	int map_size, defer_size = 0;
+	int nid, ret = 0;
+	int array_size = 0;
 
 	down_write(&shrinker_rwsem);
-	map_size = shrinker_map_size(shrinker_nr_max);
-	defer_size = shrinker_defer_size(shrinker_nr_max);
-	size = map_size + defer_size;
+	array_size = shrinker_unit_size(shrinker_nr_max);
 	for_each_node(nid) {
-		info = kvzalloc_node(sizeof(*info) + size, GFP_KERNEL, nid);
-		if (!info) {
-			free_shrinker_info(memcg);
-			ret = -ENOMEM;
-			break;
-		}
-		info->nr_deferred = (atomic_long_t *)(info + 1);
-		info->map = (void *)info->nr_deferred + defer_size;
+		info = kvzalloc_node(sizeof(*info) + array_size, GFP_KERNEL, nid);
+		if (!info)
+			goto err;
 		info->map_nr_max = shrinker_nr_max;
+		if (shrinker_unit_alloc(info, NULL, nid))
+			goto err;
 		rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);
 	}
 	up_write(&shrinker_rwsem);
 
 	return ret;
+
+err:
+	free_shrinker_info(memcg);
+	return -ENOMEM;
 }
 
 static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
@@ -71,15 +106,12 @@ static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
 					 lockdep_is_held(&shrinker_rwsem));
 }
 
-static int expand_one_shrinker_info(struct mem_cgroup *memcg,
-				    int map_size, int defer_size,
-				    int old_map_size, int old_defer_size,
-				    int new_nr_max)
+static int expand_one_shrinker_info(struct mem_cgroup *memcg, int new_size,
+				    int old_size, int new_nr_max)
 {
 	struct shrinker_info *new, *old;
 	struct mem_cgroup_per_node *pn;
 	int nid;
-	int size = map_size + defer_size;
 
 	for_each_node(nid) {
 		pn = memcg->nodeinfo[nid];
@@ -92,21 +124,18 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg,
 		if (new_nr_max <= old->map_nr_max)
 			continue;
 
-		new = kvmalloc_node(sizeof(*new) + size, GFP_KERNEL, nid);
+		new = kvmalloc_node(sizeof(*new) + new_size, GFP_KERNEL, nid);
 		if (!new)
 			return -ENOMEM;
 
-		new->nr_deferred = (atomic_long_t *)(new + 1);
-		new->map = (void *)new->nr_deferred + defer_size;
 		new->map_nr_max = new_nr_max;
 
-		/* map: set all old bits, clear all new bits */
-		memset(new->map, (int)0xff, old_map_size);
-		memset((void *)new->map + old_map_size, 0, map_size - old_map_size);
-		/* nr_deferred: copy old values, clear all new values */
-		memcpy(new->nr_deferred, old->nr_deferred, old_defer_size);
-		memset((void *)new->nr_deferred + old_defer_size, 0,
-		       defer_size - old_defer_size);
+		/* copy old values, allocate all new values */
+		memcpy(new->unit, old->unit, old_size);
+		if (shrinker_unit_alloc(new, old, nid)) {
+			kvfree(new);
+			return -ENOMEM;
+		}
 
 		rcu_assign_pointer(pn->shrinker_info, new);
 		kvfree_rcu(old, rcu);
@@ -118,9 +147,8 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg,
 static int expand_shrinker_info(int new_id)
 {
 	int ret = 0;
-	int new_nr_max = round_up(new_id + 1, BITS_PER_LONG);
-	int map_size, defer_size = 0;
-	int old_map_size, old_defer_size = 0;
+	int new_nr_max = round_up(new_id + 1, SHRINKER_UNIT_BITS);
+	int new_size, old_size = 0;
 	struct mem_cgroup *memcg;
 
 	if (!root_mem_cgroup)
@@ -128,15 +156,12 @@ static int expand_shrinker_info(int new_id)
 
 	lockdep_assert_held(&shrinker_rwsem);
 
-	map_size = shrinker_map_size(new_nr_max);
-	defer_size = shrinker_defer_size(new_nr_max);
-	old_map_size = shrinker_map_size(shrinker_nr_max);
-	old_defer_size = shrinker_defer_size(shrinker_nr_max);
+	new_size = shrinker_unit_size(new_nr_max);
+	old_size = shrinker_unit_size(shrinker_nr_max);
 
 	memcg = mem_cgroup_iter(NULL, NULL, NULL);
 	do {
-		ret = expand_one_shrinker_info(memcg, map_size, defer_size,
-					       old_map_size, old_defer_size,
+		ret = expand_one_shrinker_info(memcg, new_size, old_size,
 					       new_nr_max);
 		if (ret) {
 			mem_cgroup_iter_break(NULL, memcg);
@@ -150,17 +175,34 @@ static int expand_shrinker_info(int new_id)
 	return ret;
 }
 
+static inline int shriner_id_to_index(int shrinker_id)
+{
+	return shrinker_id / SHRINKER_UNIT_BITS;
+}
+
+static inline int shriner_id_to_offset(int shrinker_id)
+{
+	return shrinker_id % SHRINKER_UNIT_BITS;
+}
+
+static inline int calc_shrinker_id(int index, int offset)
+{
+	return index * SHRINKER_UNIT_BITS + offset;
+}
+
 void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
 {
 	if (shrinker_id >= 0 && memcg && !mem_cgroup_is_root(memcg)) {
 		struct shrinker_info *info;
+		struct shrinker_info_unit *unit;
 
 		rcu_read_lock();
 		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
+		unit = info->unit[shriner_id_to_index(shrinker_id)];
 		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
 			/* Pairs with smp mb in shrink_slab() */
 			smp_mb__before_atomic();
-			set_bit(shrinker_id, info->map);
+			set_bit(shriner_id_to_offset(shrinker_id), unit->map);
 		}
 		rcu_read_unlock();
 	}
@@ -209,26 +251,31 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
 				   struct mem_cgroup *memcg)
 {
 	struct shrinker_info *info;
+	struct shrinker_info_unit *unit;
 
 	info = shrinker_info_protected(memcg, nid);
-	return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0);
+	unit = info->unit[shriner_id_to_index(shrinker->id)];
+	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
 }
 
 static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
 				  struct mem_cgroup *memcg)
 {
 	struct shrinker_info *info;
+	struct shrinker_info_unit *unit;
 
 	info = shrinker_info_protected(memcg, nid);
-	return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]);
+	unit = info->unit[shriner_id_to_index(shrinker->id)];
+	return atomic_long_add_return(nr, &unit->nr_deferred[shriner_id_to_offset(shrinker->id)]);
 }
 
 void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 {
-	int i, nid;
+	int nid, index, offset;
 	long nr;
 	struct mem_cgroup *parent;
 	struct shrinker_info *child_info, *parent_info;
+	struct shrinker_info_unit *child_unit, *parent_unit;
 
 	parent = parent_mem_cgroup(memcg);
 	if (!parent)
@@ -239,9 +286,13 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
 	for_each_node(nid) {
 		child_info = shrinker_info_protected(memcg, nid);
 		parent_info = shrinker_info_protected(parent, nid);
-		for (i = 0; i < child_info->map_nr_max; i++) {
-			nr = atomic_long_read(&child_info->nr_deferred[i]);
-			atomic_long_add(nr, &parent_info->nr_deferred[i]);
+		for (index = 0; index < shriner_id_to_index(child_info->map_nr_max); index++) {
+			child_unit = child_info->unit[index];
+			parent_unit = parent_info->unit[index];
+			for (offset = 0; offset < SHRINKER_UNIT_BITS; offset++) {
+				nr = atomic_long_read(&child_unit->nr_deferred[offset]);
+				atomic_long_add(nr, &parent_unit->nr_deferred[offset]);
+			}
 		}
 	}
 	up_read(&shrinker_rwsem);
@@ -407,7 +458,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
 {
 	struct shrinker_info *info;
 	unsigned long ret, freed = 0;
-	int i;
+	int offset, index = 0;
 
 	if (!mem_cgroup_online(memcg))
 		return 0;
@@ -419,56 +470,63 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
 	if (unlikely(!info))
 		goto unlock;
 
-	for_each_set_bit(i, info->map, info->map_nr_max) {
-		struct shrink_control sc = {
-			.gfp_mask = gfp_mask,
-			.nid = nid,
-			.memcg = memcg,
-		};
-		struct shrinker *shrinker;
+	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
+		struct shrinker_info_unit *unit;
 
-		shrinker = idr_find(&shrinker_idr, i);
-		if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
-			if (!shrinker)
-				clear_bit(i, info->map);
-			continue;
-		}
+		unit = info->unit[index];
 
-		/* Call non-slab shrinkers even though kmem is disabled */
-		if (!memcg_kmem_online() &&
-		    !(shrinker->flags & SHRINKER_NONSLAB))
-			continue;
+		for_each_set_bit(offset, unit->map, SHRINKER_UNIT_BITS) {
+			struct shrink_control sc = {
+				.gfp_mask = gfp_mask,
+				.nid = nid,
+				.memcg = memcg,
+			};
+			struct shrinker *shrinker;
+			int shrinker_id = calc_shrinker_id(index, offset);
 
-		ret = do_shrink_slab(&sc, shrinker, priority);
-		if (ret == SHRINK_EMPTY) {
-			clear_bit(i, info->map);
-			/*
-			 * After the shrinker reported that it had no objects to
-			 * free, but before we cleared the corresponding bit in
-			 * the memcg shrinker map, a new object might have been
-			 * added. To make sure, we have the bit set in this
-			 * case, we invoke the shrinker one more time and reset
-			 * the bit if it reports that it is not empty anymore.
-			 * The memory barrier here pairs with the barrier in
-			 * set_shrinker_bit():
-			 *
-			 * list_lru_add()     shrink_slab_memcg()
-			 *   list_add_tail()    clear_bit()
-			 *   <MB>               <MB>
-			 *   set_bit()          do_shrink_slab()
-			 */
-			smp_mb__after_atomic();
-			ret = do_shrink_slab(&sc, shrinker, priority);
-			if (ret == SHRINK_EMPTY)
-				ret = 0;
-			else
-				set_shrinker_bit(memcg, nid, i);
-		}
-		freed += ret;
+			shrinker = idr_find(&shrinker_idr, shrinker_id);
+			if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
+				if (!shrinker)
+					clear_bit(offset, unit->map);
+				continue;
+			}
 
-		if (rwsem_is_contended(&shrinker_rwsem)) {
-			freed = freed ? : 1;
-			break;
+			/* Call non-slab shrinkers even though kmem is disabled */
+			if (!memcg_kmem_online() &&
+			    !(shrinker->flags & SHRINKER_NONSLAB))
+				continue;
+
+			ret = do_shrink_slab(&sc, shrinker, priority);
+			if (ret == SHRINK_EMPTY) {
+				clear_bit(offset, unit->map);
+				/*
+				 * After the shrinker reported that it had no objects to
+				 * free, but before we cleared the corresponding bit in
+				 * the memcg shrinker map, a new object might have been
+				 * added. To make sure, we have the bit set in this
+				 * case, we invoke the shrinker one more time and reset
+				 * the bit if it reports that it is not empty anymore.
+				 * The memory barrier here pairs with the barrier in
+				 * set_shrinker_bit():
+				 *
+				 * list_lru_add()     shrink_slab_memcg()
+				 *   list_add_tail()    clear_bit()
+				 *   <MB>               <MB>
+				 *   set_bit()          do_shrink_slab()
+				 */
+				smp_mb__after_atomic();
+				ret = do_shrink_slab(&sc, shrinker, priority);
+				if (ret == SHRINK_EMPTY)
+					ret = 0;
+				else
+					set_shrinker_bit(memcg, nid, shrinker_id);
+			}
+			freed += ret;
+
+			if (rwsem_is_contended(&shrinker_rwsem)) {
+				freed = freed ? : 1;
+				goto unlock;
+			}
 		}
 	}
 unlock:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:28:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578250.905681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyPE-0004xg-5Y; Mon, 07 Aug 2023 11:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578250.905681; Mon, 07 Aug 2023 11: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 1qSyPE-0004xS-2e; Mon, 07 Aug 2023 11:28:12 +0000
Received: by outflank-mailman (input) for mailman id 578250;
 Mon, 07 Aug 2023 11: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyF3-0006s9-6W
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:17:41 +0000
Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com
 [2607:f8b0:4864:20::d30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04ddda3e-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:17:39 +0200 (CEST)
Received: by mail-io1-xd30.google.com with SMTP id
 ca18e2360f4ac-790b9d7d643so44590439f.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:17:39 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.17.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04: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: 04ddda3e-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407059; x=1692011859;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=f+7Rjo519K3FhaZ9jqPWNUITMom2L2BqSXFVMuCYJXE=;
        b=ip0wYuQW2+/exFbWgV8xiqSMo5oTQ+OAdV6N1Ar0LEuRT0eIq620KDbMvERQspVuIX
         AL+wevZXKdon9YRPQjclhoX9H3SrxByFFe9jR5690ffz3lESe4Q0ZFhT9ousgzw0xt/w
         5RRxxYEFUQ/KP/U5y/hPXXWHBw2c8mi1xHmKIZ7mZeQKJVTuYBj/qteoNFG9SyZ1tjUE
         RbAUg65PVJJ+WhDtWwqZYb434jDUE36PynN0DkYIbM09s/1BNwwPxkk2HM9wFLeNzyaL
         lqpAqgXw+Mhtz5SgHNy0c1hVzxk4Y6rOc9m8zwrbUN+lDejRoW7+lKGMq2jSF6Ub2+cH
         D5RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407059; x=1692011859;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=f+7Rjo519K3FhaZ9jqPWNUITMom2L2BqSXFVMuCYJXE=;
        b=IYFh/VSQ6/cidi+jf0nhzcTQeI9y1xQJfbAW9BcAUDcSOkIdtobxG0CfFsHy1kJXHr
         3eMZfXoQtKHOrYeZlWLYIxG++ZNTVvcCct+4ueAqx5KRjo7Lb/ZQ+c4KmVHorodkZHRH
         2/imh+ld2G+k90TuXvxLiM2GkPyhcKrUv77O5MFlwTfIfgvv1wT1Ee9bYe9OqAmm51tK
         q8JqhBrlGxJn2UeD2gy2P6vEQNR2MTgSKlsk3OzTQeCZI6OlBYPLbAoIS6YBHeG+KCp+
         ZcmUQQ5ESptvvSlJGh6duNvAGGY6anO8mwECMc15CcV0EAbPO6sA8dWtcjHg9yTVn4X0
         /2Ww==
X-Gm-Message-State: ABy/qLbG5FbxkgtHmmPOgWlvKkNjH7lETMXfttqTSQF/XSbIZYfyulWc
	iqb52F/EXWZX57kIDnntw3MehQ==
X-Google-Smtp-Source: APBJJlEqWtJMEzUOeETqs91YS6OhZnccr6gvE839NK54utINPmY3rqSAbE5saT2wFNMSrRFNpkUXNA==
X-Received: by 2002:a05:6e02:8ef:b0:349:1d60:7250 with SMTP id n15-20020a056e0208ef00b003491d607250mr23020165ilt.0.1691407058833;
        Mon, 07 Aug 2023 04:17:38 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Chuck Lever <chuck.lever@oracle.com>,
	Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v4 36/48] nfsd: dynamically allocate the nfsd-reply shrinker
Date: Mon,  7 Aug 2023 19:09:24 +0800
Message-Id: <20230807110936.21819-37-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the nfsd-reply shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct nfsd_net.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Jeff Layton <jlayton@kernel.org>
---
 fs/nfsd/netns.h    |  2 +-
 fs/nfsd/nfscache.c | 31 ++++++++++++++++---------------
 2 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h
index f669444d5336..ab303a8b77d5 100644
--- a/fs/nfsd/netns.h
+++ b/fs/nfsd/netns.h
@@ -177,7 +177,7 @@ struct nfsd_net {
 	/* size of cache when we saw the longest hash chain */
 	unsigned int             longest_chain_cachesize;
 
-	struct shrinker		nfsd_reply_cache_shrinker;
+	struct shrinker		*nfsd_reply_cache_shrinker;
 
 	/* tracking server-to-server copy mounts */
 	spinlock_t              nfsd_ssc_lock;
diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
index 80621a709510..fd56a52aa5fb 100644
--- a/fs/nfsd/nfscache.c
+++ b/fs/nfsd/nfscache.c
@@ -201,26 +201,29 @@ int nfsd_reply_cache_init(struct nfsd_net *nn)
 {
 	unsigned int hashsize;
 	unsigned int i;
-	int status = 0;
 
 	nn->max_drc_entries = nfsd_cache_size_limit();
 	atomic_set(&nn->num_drc_entries, 0);
 	hashsize = nfsd_hashsize(nn->max_drc_entries);
 	nn->maskbits = ilog2(hashsize);
 
-	nn->nfsd_reply_cache_shrinker.scan_objects = nfsd_reply_cache_scan;
-	nn->nfsd_reply_cache_shrinker.count_objects = nfsd_reply_cache_count;
-	nn->nfsd_reply_cache_shrinker.seeks = 1;
-	status = register_shrinker(&nn->nfsd_reply_cache_shrinker,
-				   "nfsd-reply:%s", nn->nfsd_name);
-	if (status)
-		return status;
-
 	nn->drc_hashtbl = kvzalloc(array_size(hashsize,
 				sizeof(*nn->drc_hashtbl)), GFP_KERNEL);
 	if (!nn->drc_hashtbl)
+		return -ENOMEM;
+
+	nn->nfsd_reply_cache_shrinker = shrinker_alloc(0, "nfsd-reply:%s",
+						       nn->nfsd_name);
+	if (!nn->nfsd_reply_cache_shrinker)
 		goto out_shrinker;
 
+	nn->nfsd_reply_cache_shrinker->scan_objects = nfsd_reply_cache_scan;
+	nn->nfsd_reply_cache_shrinker->count_objects = nfsd_reply_cache_count;
+	nn->nfsd_reply_cache_shrinker->seeks = 1;
+	nn->nfsd_reply_cache_shrinker->private_data = nn;
+
+	shrinker_register(nn->nfsd_reply_cache_shrinker);
+
 	for (i = 0; i < hashsize; i++) {
 		INIT_LIST_HEAD(&nn->drc_hashtbl[i].lru_head);
 		spin_lock_init(&nn->drc_hashtbl[i].cache_lock);
@@ -229,7 +232,7 @@ int nfsd_reply_cache_init(struct nfsd_net *nn)
 
 	return 0;
 out_shrinker:
-	unregister_shrinker(&nn->nfsd_reply_cache_shrinker);
+	kvfree(nn->drc_hashtbl);
 	printk(KERN_ERR "nfsd: failed to allocate reply cache\n");
 	return -ENOMEM;
 }
@@ -239,7 +242,7 @@ void nfsd_reply_cache_shutdown(struct nfsd_net *nn)
 	struct nfsd_cacherep *rp;
 	unsigned int i;
 
-	unregister_shrinker(&nn->nfsd_reply_cache_shrinker);
+	shrinker_free(nn->nfsd_reply_cache_shrinker);
 
 	for (i = 0; i < nn->drc_hashsize; i++) {
 		struct list_head *head = &nn->drc_hashtbl[i].lru_head;
@@ -323,8 +326,7 @@ nfsd_prune_bucket_locked(struct nfsd_net *nn, struct nfsd_drc_bucket *b,
 static unsigned long
 nfsd_reply_cache_count(struct shrinker *shrink, struct shrink_control *sc)
 {
-	struct nfsd_net *nn = container_of(shrink,
-				struct nfsd_net, nfsd_reply_cache_shrinker);
+	struct nfsd_net *nn = shrink->private_data;
 
 	return atomic_read(&nn->num_drc_entries);
 }
@@ -343,8 +345,7 @@ nfsd_reply_cache_count(struct shrinker *shrink, struct shrink_control *sc)
 static unsigned long
 nfsd_reply_cache_scan(struct shrinker *shrink, struct shrink_control *sc)
 {
-	struct nfsd_net *nn = container_of(shrink,
-				struct nfsd_net, nfsd_reply_cache_shrinker);
+	struct nfsd_net *nn = shrink->private_data;
 	unsigned long freed = 0;
 	LIST_HEAD(dispose);
 	unsigned int i;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:28:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578252.905687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyPE-00051U-Ho; Mon, 07 Aug 2023 11:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578252.905687; Mon, 07 Aug 2023 11: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 1qSyPE-00051C-Ba; Mon, 07 Aug 2023 11:28:12 +0000
Received: by outflank-mailman (input) for mailman id 578252;
 Mon, 07 Aug 2023 11:28: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=qSgZ=DY=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qSyFr-0006s9-SW
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:18:31 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23680a48-3514-11ee-b27d-6b7b168915f2;
 Mon, 07 Aug 2023 13:18:31 +0200 (CEST)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-268663fb09cso631971a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 04:18:31 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a17090aca8d00b0025be7b69d73sm5861191pjt.12.2023.08.07.04.18.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 04:18: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: 23680a48-3514-11ee-b27d-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691407110; x=1692011910;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WPvD0YF4yF0E/V3NMttF7YVdRMfLZcl9Qmy2whUD9jE=;
        b=Zyx6A0EStcsVwcUtmlmHBj8SZuYfnooxelT8QMOYXSAyp4FCbwtu0BbNt7l+P/wBJj
         3uKMQnjNsG7kojYgy7WxPCZCDaFjHA3Lkyvej9QWnqL7VojGrNrN9hCPJG63fZ7FoTcQ
         O0E54wIoRR4I2PoVCGsys6mtB59u+SgFkM0Y7fE6r6JpnE869MmShYbt1p4JfBRV0wIx
         7GkvLsY4v9shjjU3+1o+arkgzF82WBo8NnslYR1Cfid19C5zIsiC0KJHBzW/oF+sMC5M
         xApENfMLb6T9Hu0suHBowRs4nuIaRY0OBNI6a9JHKGzdE5XR+fVrCSwS1eOLCHlN+w0k
         LsQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691407110; x=1692011910;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WPvD0YF4yF0E/V3NMttF7YVdRMfLZcl9Qmy2whUD9jE=;
        b=EtLJeyewUjyz7bdR7JlKa4eCs4DIU6KDxoj8/owT4Ox2PaMjPt+lIUk2U/o98aJfND
         ix8HlPjorjlg8lqG8dbiVa/3rpeq1+xt+CTPaUbYO2L3Qq6qykXROUFYuacjaDA8vX9z
         nwFlACHD1BKAgKMNSB6Ga27j8dWCn1rZLoztE1FtXyE9/actL0vlH3xyA2hwqKKKQCgM
         vH7OuOQ7Fez8r6oSILkogQcSQfkuWSHY/ZIvJHmPpttrJTNlEFrGKzv819RFxiJjc5Y4
         fgPCnhJ5x1bJOYljZn7GsK9snekWO0RvUDdcIoa21S3CWebXc/2BIrjJOCNBxrwv3HE1
         vP9Q==
X-Gm-Message-State: ABy/qLbv1dlh9SFmbe/oCBTCMO+QfJrPPATKlmBkbvNa7gPEP9F+jM06
	qh6rNndfvaMAFrSIPDKfIG+Bxw==
X-Google-Smtp-Source: APBJJlFnoOazdp9TvNa1Sdutczsv0h+KjLn+q+TQByEK163E+9f/k1cC7rmChP+7R75WsTDRsF4HxQ==
X-Received: by 2002:a17:90a:901:b0:268:3a31:3e4d with SMTP id n1-20020a17090a090100b002683a313e4dmr23078917pjn.2.1691407109946;
        Mon, 07 Aug 2023 04:18:29 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev,
	simon.horman@corigine.com,
	dlemoal@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net,
	cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org,
	netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com,
	linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>
Subject: [PATCH v4 40/48] zsmalloc: dynamically allocate the mm-zspool shrinker
Date: Mon,  7 Aug 2023 19:09:28 +0800
Message-Id: <20230807110936.21819-41-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In preparation for implementing lockless slab shrink, use new APIs to
dynamically allocate the mm-zspool shrinker, so that it can be freed
asynchronously using kfree_rcu(). Then it doesn't need to wait for RCU
read-side critical section when releasing the struct zs_pool.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
---
 mm/zsmalloc.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index b58f957429f0..1909234bb345 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -229,7 +229,7 @@ struct zs_pool {
 	struct zs_pool_stats stats;
 
 	/* Compact classes */
-	struct shrinker shrinker;
+	struct shrinker *shrinker;
 
 #ifdef CONFIG_ZSMALLOC_STAT
 	struct dentry *stat_dentry;
@@ -2086,8 +2086,7 @@ static unsigned long zs_shrinker_scan(struct shrinker *shrinker,
 		struct shrink_control *sc)
 {
 	unsigned long pages_freed;
-	struct zs_pool *pool = container_of(shrinker, struct zs_pool,
-			shrinker);
+	struct zs_pool *pool = shrinker->private_data;
 
 	/*
 	 * Compact classes and calculate compaction delta.
@@ -2105,8 +2104,7 @@ static unsigned long zs_shrinker_count(struct shrinker *shrinker,
 	int i;
 	struct size_class *class;
 	unsigned long pages_to_free = 0;
-	struct zs_pool *pool = container_of(shrinker, struct zs_pool,
-			shrinker);
+	struct zs_pool *pool = shrinker->private_data;
 
 	for (i = ZS_SIZE_CLASSES - 1; i >= 0; i--) {
 		class = pool->size_class[i];
@@ -2121,18 +2119,24 @@ static unsigned long zs_shrinker_count(struct shrinker *shrinker,
 
 static void zs_unregister_shrinker(struct zs_pool *pool)
 {
-	unregister_shrinker(&pool->shrinker);
+	shrinker_free(pool->shrinker);
 }
 
 static int zs_register_shrinker(struct zs_pool *pool)
 {
-	pool->shrinker.scan_objects = zs_shrinker_scan;
-	pool->shrinker.count_objects = zs_shrinker_count;
-	pool->shrinker.batch = 0;
-	pool->shrinker.seeks = DEFAULT_SEEKS;
+	pool->shrinker = shrinker_alloc(0, "mm-zspool:%s", pool->name);
+	if (!pool->shrinker)
+		return -ENOMEM;
+
+	pool->shrinker->scan_objects = zs_shrinker_scan;
+	pool->shrinker->count_objects = zs_shrinker_count;
+	pool->shrinker->batch = 0;
+	pool->shrinker->seeks = DEFAULT_SEEKS;
+	pool->shrinker->private_data = pool;
 
-	return register_shrinker(&pool->shrinker, "mm-zspool:%s",
-				 pool->name);
+	shrinker_register(pool->shrinker);
+
+	return 0;
 }
 
 static int calculate_zspage_chain_size(int class_size)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:31:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578273.905700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSySj-0007ld-2f; Mon, 07 Aug 2023 11:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578273.905700; Mon, 07 Aug 2023 11:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSySi-0007lW-WF; Mon, 07 Aug 2023 11:31:49 +0000
Received: by outflank-mailman (input) for mailman id 578273;
 Mon, 07 Aug 2023 11:31: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSySh-0007lO-Pd
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:31:47 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc634c14-3515-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 13:31:45 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id EF6EB3200805;
 Mon,  7 Aug 2023 07:31:42 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 07 Aug 2023 07:31:43 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 07:31:39 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc634c14-3515-11ee-b27e-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691407902; x=1691494302; bh=EQktl1UmnPQWszn8MIvvHFMFVHPf0iSLyrT
	r85I0YoQ=; b=gJA1d9lmVVFeiMPgC3M3B5lphOg/DRKSgYnM//6j3gqxPH39PIv
	2tznLZm1Q10X5OiPgWKslNMQONwpcaBR0KriMTPyWAQHtxQl2qt0SnBQ5nEv4YVn
	Y5rR0OMpK0cnMWtg1dGH/8i3nVpSNqIjApVYPvsPj4sLqGu0QDd5+H1UsFxLrUlL
	sMmd283ZlCL9SS4cYeNmtQSwq+vyelIhmWN1zcO43BamgXcs+HgC7PvZsltwmi6Y
	xIVGNBk/KGZde20rxjnPMGHKLuTlrCkAnbV6tk2BCMmMIuhUPy0cGltSSdPR5wd8
	vCA3pXfNWCALJ2SzEqc1teVb0AAvMODZxJg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691407902; x=1691494302; bh=EQktl1UmnPQWs
	zn8MIvvHFMFVHPf0iSLyrTr85I0YoQ=; b=Sn7IUvYWJ1YpoVCYY7jMHDcq/RqMv
	Ea/hvsvLBD+5aXhNz8KvpvkcTo2LdOHIUEsnGeIwlWuOHg7ysJM14wFIe2muZL4K
	5v4hyM3RZMoQPr73izqEt1RTt6febNtPWhojBPAr4E7huv32Oi4mGj4tdRQPe+tI
	hwCMV6mI9QZF7+SaLi9yOIpQSjlNLAG+8MxCwQhku9YpuDl8+Q/om3DyEHGoel6t
	4jhg3Je79Kx8wo0AqTh5O1vw6GJ2fyKnxa3d1BCTf6AzGtuTPRmC7qo9VdtGU3ld
	avhxtsqtBbATo8IUhySMHCJ84Ga6cRDix3YzJT4QnqWOs66/CgRUHWigA==
X-ME-Sender: <xms:HtbQZLsmp9TBOc3Pfn6L8IT6i8o8_4_TDIFLAUKyDXHplJSnSxxetw>
    <xme:HtbQZMebUd4ctFhv6U2LkFc4ScydZn_m1C1LSEUyEMg509p2Qoiy5eutyBatdJWx2
    xjpOrSS6MZm1es>
X-ME-Received: <xmr:HtbQZOx1iB_0VAHM7RfZYxbN9rI53sR55TnCbSi1B0GqqxRhpMpsxvEt>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdegtdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefuihhmohhnucfi
    rghishgvrhcuoehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepueevheegtdefgeefuddvfeduueduffffffejveeugeef
    udefiedugedugeevudfgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsihhmohhnsehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:HtbQZKOpf6lAijKpW9_Pr5yh4mpl_iCTzBgrhcpAOyqca533SltT9g>
    <xmx:HtbQZL9wS9Z9002ex4WucQCmSHmAxdvTCQlirII3AaFzjwWEAITBwg>
    <xmx:HtbQZKU3ZRgTDM9Ai7kUHsVfzYsJYzLE3p_7jTh8PzzSy1Ble7Bv8Q>
    <xmx:HtbQZHbBkCxW26ZBhFU0s_ZnRoDekvMn0n6XNXlI1C3mGO1-ChrD4g>
Feedback-ID: idc5945a3:Fastmail
From: Simon Gaiser <simon@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Simon Gaiser <simon@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [XEN PATCH v3] x86/hpet: Disable legacy replacement mode after IRQ test
Date: Mon,  7 Aug 2023 13:31:17 +0200
Message-Id: <20230807113117.1277-1-simon@invisiblethingslab.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As far as I understand the HPET legacy mode is not required after the
timer IRQ test. For previous discussion see [1] and [2]. Keeping it
enabled prevents reaching deeper C-states on some systems and thereby
also S0ix residency. So disable it after the timer IRQ test worked. Note
that this code path is only reached when opt_hpet_legacy_replacement < 0,
so explicit user choice is still honored.

Link: https://lore.kernel.org/xen-devel/cb408368-077d-edb5-b4ad-f80086db48c1@invisiblethingslab.com/ # [1]
Link: https://lore.kernel.org/xen-devel/20230718122603.2002-1-simon@invisiblethingslab.com/ # [2]
Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
---

[ Resending v3, now with a unique Message-ID, sorry. ]

Changes in v3:

 - Edit log message and downgrade it to XENLOG_DEBUG.

Changes in v2:

 - Always disable legacy mode after test, not only when ARAT is
   available. See [3] for reasoning.

[3]: https://lore.kernel.org/xen-devel/ac77ecba-6804-1d16-60dc-f184e5d31dcb@invisiblethingslab.com/

---
 xen/arch/x86/io_apic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 041233b9b7..b4b4cd5939 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1967,6 +1967,8 @@ static void __init check_timer(void)
 
             if ( timer_irq_works() )
             {
+                printk(XENLOG_DEBUG "IRQ test with HPET Legacy Replacement Mode worked - disabling it again\n");
+                hpet_disable_legacy_replacement_mode();
                 local_irq_restore(flags);
                 return;
             }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:35:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578280.905711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyW1-0008My-HU; Mon, 07 Aug 2023 11:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578280.905711; Mon, 07 Aug 2023 11: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 1qSyW1-0008Mr-Dv; Mon, 07 Aug 2023 11:35:13 +0000
Received: by outflank-mailman (input) for mailman id 578280;
 Mon, 07 Aug 2023 11:35:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BJNd=DY=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qSyVz-0008Ml-He
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:35:11 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 757a7637-3516-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:35:07 +0200 (CEST)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB9342.eurprd08.prod.outlook.com (2603:10a6:20b:599::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 11:35:03 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 11:35:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 757a7637-3516-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZU0oHg7W/QhaqWt1x+7uBaTNP0dGAbbjnJYD+Tei9qAdy75x1n1Nl1K22CQfEy8js92Q7AK3gq0MAqAUQoc/tY0V7HrKFU7AU9qYWGQEMvJ6g6XP39KitF4Q5vanYyh6oevBWfLvA2EKDZP/faqX3v38oSP+BD1yxbj5BbegKCG+CyqiDqfUeJTzTrI/ZUEV1Nl7mQUAxKgrYgpHKNkjgAMc2CEj0Lmeqp46CS2PsFEkGbLFuEt1DoecIcIxuNWoXhbapbXXpsN3sszPFoFIzOYxmdnIOABoHw5wG7nThu/8jbxJI2twy9c0MlCwql8V8RKr1ZJzm3SitzTaPXyC7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g9Xh2J+G7yaEExzXYEPJ4NEpZIPbtKmtGktwx/+Ubao=;
 b=SXnuxvq2pGvWXk0dP4pDVhirtr2PSjp4h4WNuGjxei51ezoxMJFx/FVra9umCiOgJBK6ENfTdKvBsu/xZcrxcVx7+UydJeyw91QuG3Lvk/db6KeFYKn94gf7XOCLXUZZiL1+/ccM4q2WTxW0otLE8bjdqLrguAd7Lkf7Y0onWSeONKB2ek56fkAAf0x59LUH4AVZ/5sekS49vVQ5WlCtAZdRNgcVBFQaM6fr4wSAwVOmDeoDdNygVNjYGsyEZIRfWhqBvq6Jb6GxACncpcU/w6mlS8YH19VfUG05TO3b7hasQl2MN57zIVdGJ/inRVOssKPesABQ3mVTI8qdd33Dzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=g9Xh2J+G7yaEExzXYEPJ4NEpZIPbtKmtGktwx/+Ubao=;
 b=DnRaXWeFlciqdWuCJ61a6YdNxdV0lrC0BFdZ9paJcYdotB/AOzTOuzDRbUbpiRAYCqCp2DZWepSneCQcA4iHW10SmYVX2tDRyWJXcnS+Dt0F0BeaHDLp2XOWSt7OCYJjYXbIwpj1GJRlSrSCMZBrWOdAICFnif8eevaYyJ9CSdU=
From: Henry Wang <Henry.Wang@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Penny Zheng
	<Penny.Zheng@arm.com>
Subject: RE: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Topic: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Index: AQHZxCqBtZIUxf7FmUaIEyO8EPs3TK/euu6AgAABikA=
Date: Mon, 7 Aug 2023 11:35:03 +0000
Message-ID:
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
In-Reply-To: <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2732F28F699DCF42ACF7F0FD3714C47A.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|AS2PR08MB9342:EE_
x-ms-office365-filtering-correlation-id: 8dcce9de-8988-487e-1bb3-08db973a5758
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 +af4QVeV2GtkEuEKrwOwWxSG3wlMuq6k94f0IszX9x88tXrrPsGGTz8sxo7FQMnn9Ced1e7EqUQ1FK9fo9WH2gSNOJH5W3HWapmzlGPg8C+fMOjaZaGB+Wmgyc9QYxNflj9AmnZzdjm8ZXejSEcfGNs8soHsSuGqmNA82kxtvG0RS+KP+B6aFVhku6m40lzxVZFQQrC0dne6hcAi71MVIkkIm8aQ588MHL06ce5UNWHbbbPsndVKDbm59XWkmlC/Drd3sNh/Fggtv/ZHwCdlO6y75KNw/LN5AYYvOmw1SbLfSNPccWI8kQGJV8uc4eevqEkVsGPoYOmM2LMofkTejUtVSDE7HE6nJvZjtPyf50XwxtPjAr2HX/B6JzZnhLp5BhumUqvp387izfsaUvyDbJOVOo2NGQpZRWZB1FLmpFoj0vUQpfdKoOax+ALgUsbmWG+5yNxP18Vj0uK4f5S3ww0/tesTeSMlkmHB9oNQMKfTMi7j5i+QFSVeWlzRHiOmi/1RoD7Um7K+8Yi4kasKclwcAJfV0ax/rLqCXaXfsqR5/yqpQs6WxhKJp+w7J1vS/Y8HrfXS1RGX1XgOJeiZwhYxPIUodWFdORqMin+29qs=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(396003)(366004)(346002)(136003)(451199021)(186006)(1800799003)(86362001)(41300700001)(52536014)(478600001)(6506007)(8676002)(8936002)(26005)(38100700002)(7696005)(5660300002)(83380400001)(2906002)(110136005)(54906003)(71200400001)(38070700005)(55016003)(316002)(966005)(66556008)(66446008)(122000001)(66476007)(64756008)(76116006)(66946007)(4326008)(9686003)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z09ZampHRk1qWUZ3VzgweEV0K0NFUVNCc0lOQ2xYR29SWkhGb1pFTm1DaXhF?=
 =?utf-8?B?OSswc2UyU1dyeSswSlNtbkdSbnRBV0Z4UGF1T0I4ejJHQ0p6aFFhelZNdkRr?=
 =?utf-8?B?SEM4TVBwbzBHSGxFNGc5UnJLOUFpOWVKaG1MQ3p0ZHIvUE5XaFoyUXdtZ25u?=
 =?utf-8?B?dldtVFZ0Tnh5OE5CVEx0bHhISmQ2dWoxZDhCQUZoRnFJWWxSZmNmN2FSQk1t?=
 =?utf-8?B?VmthcXpyKzlWOGZUc05IUEovUERodVA5b0s4NG1tWGh4dzVsK3BycGdja2hL?=
 =?utf-8?B?Y0hubC83cXBaaFNGTWUvVysxM1BXUGp0Z0hXOTZKSER0VU1jRHBhQlBMdzhn?=
 =?utf-8?B?ajRzWXgwKzVzUVFvMVUrdlpsWXpnM0FCaTM3NFRXMzgwRFV1bytFZy9zb2I4?=
 =?utf-8?B?eDZieTIraWJTMkt2c0dJK1RXbUZBdllTNEtHRVdDeVBYdkR0SUdqaWJRN0Mx?=
 =?utf-8?B?aVlnZjNISjIyVzkvb05SdlFOcmpOb1BNTUV5RkE4dEd6UG1CQ2dKK1hVckVC?=
 =?utf-8?B?Mkt0L2Q3V2Jha2NiZmdDM1kwNkRZSmhjNi9qT3lVK1pzR0RaUzRGNFdRQnls?=
 =?utf-8?B?SWRRMjlTRmNOaENiaG1rSFVobjhiZ3hrcHBWeHFwWnZMSm1UZXEwV1BqbHNr?=
 =?utf-8?B?cUgvL2xBS3B0ZGc0UGJKRkEvbjNCQ2tIWWJ1RFE0SG9nY0VoQUJBOXZHdldU?=
 =?utf-8?B?NUdWdXVudUxvQnlHVmFzWDBMeFltQU5ZaDQvODZBTWxHV1pHSVljNE5wcWRs?=
 =?utf-8?B?Qit3RGoyajVWZU9QQlJQT2cxY0FyQ0J6U24xZGRTTm1ha2Z1a0lYcXVjY3cx?=
 =?utf-8?B?VWp0NFNrcEJpekFUendENWFXS3R1UndjYjZUN2tENjFLL2ZodjRoT1g1b3Nr?=
 =?utf-8?B?M0VqbDlXUXM3ZGhMMmdsaXJhYkZiK0FpK3JkaTE3TWlvQ2t0Qml0VnBwNUtl?=
 =?utf-8?B?Y3VHRHlpT2IvS3FERXBWMndjMVVYVVRjTlVmRzhIZkc5SUpHS2psaitiQzN4?=
 =?utf-8?B?S3UzZVk4TjVlbEZtVHM0a3drL1ErNXUyZ0tIQmFjTkprNk41Y05vd2gwS2pE?=
 =?utf-8?B?dU9vOXh1d2RZYjQ5Yyt1MHBMLzIxLzNybk5JdDR6YmkvNWJCR2cyK2prK1JS?=
 =?utf-8?B?V3RzNVJnZ2xDRnJYZDJoZHJaQmovTEFmYUlOZXA4aGVtMy9zUmRiQVBYblFk?=
 =?utf-8?B?cWNUN2ZxVEpUSUE3a1I4WjNHRWhwT0Y4bVNVaGZ4MVMxdk9xeEdRUEJ0V0p0?=
 =?utf-8?B?NllKSDl3M2FNWEJPWTNCV2pFTStlbFNYYUJ2UzlhM3J3enRiV3JjQnczbzhw?=
 =?utf-8?B?cXlUYW8yMG9CaUQ2OVV4eDBYd2s3TkNnaGMzbTdpK3lDRlUxRGJ1T29Dc1VI?=
 =?utf-8?B?aGxsc0RPVytFTnRDVktESkRUU3NqTWtzRW9nMXJKRVlGckpmemFMUWlCNUtp?=
 =?utf-8?B?R1hEcHdBeURLZHVtcDlobWVEcjA1dnZDRHllOEtFQzhIN2JzR2tBOUFDRTcy?=
 =?utf-8?B?bkpYZU5JVnFpVXk1WTZNeVpKMVViZDBDNHhoZi9lbGwwVE1wVGkwYzBFeTZi?=
 =?utf-8?B?ZEd4eWVyZmExRkdOYkJ5Nmd2N2RoUnA0WUZ5aCtLYW1UMi9rT0ovYlVJQklR?=
 =?utf-8?B?SjRZeWN0YmRhN3ZHQVJsTFFaUkh0SVRySGZVUlRCa2dHallsTGdrSm1DQWwx?=
 =?utf-8?B?cmN6emQxNEFBVHo5aC84ZCt3Sm5YN291Y2pEelAwRlBLdlVES2RCZ2VNdmVG?=
 =?utf-8?B?dFVSTW1qaU5pV2FlYTY2YzFYTFo5dzZKdnI5Qy9KbWkzTWVoK0ZYdnE5eG5D?=
 =?utf-8?B?bWRhVFZqZU1ZVnBqVEZadUR4UElXVVBTZFp5L0NMMkdHUGZYOHZGZkNPTkxJ?=
 =?utf-8?B?VWxlbmoxVmZPVkVnZ1lvUW9JQ0tUMDJZNkpqOU9mWlpUTFJDaW01a091VHY3?=
 =?utf-8?B?TkVIQ05QbTJFV2NLRFE3dGs2SFpwV1JZK2oySEltZEg1Qnh0UjhyMTV6dlV1?=
 =?utf-8?B?aFBoUWhwbUMwOTNkMEloZmh3R1A3bVYrOE42RXpMZmtWL1RwUWxhbTI4U0Zh?=
 =?utf-8?B?eC9kTDZ2eHBjamZWWVZJbkdieDF3bzRlWnM3enBYQnR1RzlqcjRaOTkzRUVJ?=
 =?utf-8?Q?Xpxu35DYNIlGcwt9PlDc9pOJn?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dcce9de-8988-487e-1bb3-08db973a5758
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Aug 2023 11:35:03.2116
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AxOg62nQBz2WvbUn9Qc1gjJbXBGoDJfWPJWC2UWS/WuF0DqCO/Zqhdgjm6g+OBm9ikArwkDhT7sFvQ8gP3RrpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9342

SGkgQXlhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLSANCj4gSGkgSGVucnksDQo+
IA0KPiA+IEF0IHRoZSBtb21lbnQsIG9uIE1NVSBzeXN0ZW0sIGVuYWJsZV9tbXUoKSB3aWxsIHJl
dHVybiB0byBhbg0KPiA+IGFkZHJlc3MgaW4gdGhlIDE6MSBtYXBwaW5nLCB0aGVuIGVhY2ggcGF0
aCBpcyByZXNwb25zaWJsZSB0bw0KPiA+IHN3aXRjaCB0byB2aXJ0dWFsIHJ1bnRpbWUgbWFwcGlu
Zy4gVGhlbiByZW1vdmVfaWRlbnRpdHlfbWFwcGluZygpDQo+ID4gaXMgY2FsbGVkIG9uIHRoZSBi
b290IENQVSB0byByZW1vdmUgYWxsIDE6MSBtYXBwaW5nLg0KPiA+DQo+ID4gU2luY2UgcmVtb3Zl
X2lkZW50aXR5X21hcHBpbmcoKSBpcyBub3QgbmVjZXNzYXJ5IG9uIE5vbi1NTVUgc3lzdGVtLA0K
PiA+IGFuZCB3ZSBhbHNvIGF2b2lkIGNyZWF0aW5nIGVtcHR5IGZ1bmN0aW9uIGZvciBOb24tTU1V
IHN5c3RlbSwgdHJ5aW5nDQo+ID4gdG8ga2VlcCBvbmx5IG9uZSBjb2RlZmxvdyBpbiBhcm02NC9o
ZWFkLlMsIHdlIG1vdmUgcGF0aCBzd2l0Y2ggYW5kDQo+ID4gcmVtb3ZlX2lkZW50aXR5X21hcHBp
bmcoKSBpbiBlbmFibGVfbW11KCkgb24gTU1VIHN5c3RlbS4NCj4gPg0KPiA+IEFzIHRoZSByZW1v
dmVfaWRlbnRpdHlfbWFwcGluZyBzaG91bGQgb25seSBiZSBjYWxsZWQgZm9yIHRoZSBib290DQo+
ID4gQ1BVIG9ubHksIHNvIHdlIGludHJvZHVjZSBlbmFibGVfYm9vdF9jcHVfbW0oKSBmb3IgYm9v
dCBDUFUgYW5kDQo+ID4gZW5hYmxlX3NlY29uZGFyeV9jcHVfbW0oKSBmb3Igc2Vjb25kYXJ5IENQ
VXMgaW4gdGhpcyBwYXRjaC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWku
Y2hlbkBhcm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVu
Z0Bhcm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJt
LmNvbT4NCj4gDQo+IFdpdGggdHdvIGNvbW1lbnRzDQo+IA0KPiBSZXZpZXdlZC1ieTogQXlhbiBL
dW1hciBIYWxkZXIgPGF5YW4ua3VtYXIuaGFsZGVyQGFtZC5jb20+DQo+IA0KPiBUZXN0ZWQtYnk6
IEF5YW4gS3VtYXIgSGFsZGVyIDxheWFuLmt1bWFyLmhhbGRlckBhbWQuY29tPg0KDQpUaGFua3Ms
IGFuZC4uLg0KDQo+IA0KPiA+ICsvKg0KPiA+ICsgKiBFbmFibGUgbW0gKHR1cm4gb24gdGhlIGRh
dGEgY2FjaGUgYW5kIHRoZSBNTVUpIGZvciBzZWNvbmRhcnkgQ1BVcy4NCj4gPiArICogVGhlIGZ1
bmN0aW9uIHdpbGwgcmV0dXJuIHRvIHRoZSB2aXJ0dWFsIGFkZHJlc3MgcHJvdmlkZWQgaW4gTFIg
KGUuZy4gdGhlDQo+ID4gKyAqIHJ1bnRpbWUgbWFwcGluZykuDQo+ID4gKyAqDQo+ID4gKyAqIElu
cHV0czoNCj4gPiArICogICBsciA6IFZpcnR1YWwgYWRkcmVzcyB0byByZXR1cm4gdG8uDQo+ID4g
KyAqDQo+ID4gKyAqIENsb2JiZXJzIHgwIC0geDUNCj4gPiArICovDQo+ID4gK2VuYWJsZV9zZWNv
bmRhcnlfY3B1X21tOg0KPiBJIHdpbGwgcHJlZmVyICJlbmFibGVfc2Vjb25kYXJ5X2NwdV9tbXUi
IGFzIGl0IGlzIE1NVSBzcGVjaWZpYy4gQW5kIC4uLg0KDQouLi5hY3R1YWxseSB0aGlzIGFzIHdl
bGwgYXMuLi4NCg0KPiA+ICsvKg0KPiA+ICsgKiBFbmFibGUgbW0gKHR1cm4gb24gdGhlIGRhdGEg
Y2FjaGUgYW5kIHRoZSBNTVUpIGZvciB0aGUgYm9vdCBDUFUuDQo+ID4gKyAqIFRoZSBmdW5jdGlv
biB3aWxsIHJldHVybiB0byB0aGUgdmlydHVhbCBhZGRyZXNzIHByb3ZpZGVkIGluIExSIChlLmcu
IHRoZQ0KPiA+ICsgKiBydW50aW1lIG1hcHBpbmcpLg0KPiA+ICsgKg0KPiA+ICsgKiBJbnB1dHM6
DQo+ID4gKyAqICAgbHIgOiBWaXJ0dWFsIGFkZHJlc3MgdG8gcmV0dXJuIHRvLg0KPiA+ICsgKg0K
PiA+ICsgKiBDbG9iYmVycyB4MCAtIHg1DQo+ID4gKyAqLw0KPiA+ICtlbmFibGVfYm9vdF9jcHVf
bW06DQo+IA0KPiBwcmVmZXIgImVuYWJsZV9ib290X2NwdV9tbXUiIGFzIGl0IGlzIE1NVSBzcGVj
aWZpYyBhcyB3ZWxsLg0KDQouLi50aGlzLCBhcmUgdGhlIG5hbWUgc3VnZ2VzdGVkIGJ5IEp1bGll
biBpbiBbMV0sIHNvIHByb2JhYmx5IEkgd2lsbCBzdGljaw0KdG8gdGhlc2UgbmFtZXMsIHVubGVz
cyBoZSB3b3VsZCBwcmVmZXIgdGhlIHByb3Bvc2VkIG5hbWVzLiBJIHdvdWxkDQpwZXJzb25hbGx5
IHByZWZlciB0aGUgbmFtZXMgdGhhdCBKdWxpZW4gc3VnZ2VzdGVkIHRvbywgYmVjYXVzZSBmcm9t
DQp0aGUgY29tbWVudHMgYWJvdmUgdGhlc2UgdHdvIGZ1bmN0aW9ucywgdGhlc2UgZnVuY3Rpb25z
IG5vdCBvbmx5DQplbmFibGUgdGhlIE1NVSwgYnV0IGFsc28gdHVybiBvbiB0aGUgZC1jYWNoZSwg
aGVuY2UgYSBtb3JlIGdlbmVyaWMNCm5hbWUgKHVzaW5nICJtbSIpLCBpcyBtb3JlIGFwcHJvcHJp
YXRlIGhlcmUgSSBndWVzcy4NCg0KWzFdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZl
bC9jMTBiYzI1NC1hZDc5LWRhZGEtZDVmYi05ZWU2MTk5MzRmZmJAeGVuLm9yZy8NCg0KS2luZCBy
ZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gLSBBeWFuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:39:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578296.905721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyaB-0000qC-8F; Mon, 07 Aug 2023 11:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578296.905721; Mon, 07 Aug 2023 11:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyaB-0000q5-57; Mon, 07 Aug 2023 11:39:31 +0000
Received: by outflank-mailman (input) for mailman id 578296;
 Mon, 07 Aug 2023 11:39:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSyPu-00024C-KR
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:28:54 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94f2039a-3515-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:28:52 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id BA0DC3200948;
 Mon,  7 Aug 2023 07:28:48 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 07 Aug 2023 07:28:49 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 07:28:44 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94f2039a-3515-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691407728; x=1691494128; bh=V1p5A9ACqsnl2tgeoDxtsmzUi6y8s5WkawP
	sN/O3EGU=; b=pRpj3enyACb/haiSdwNnxdJ+CfbcUP2+lhuc2IGeMNLynwF0DPc
	SGtCvuZpUEST2aW4JF6Q+/aP+ol6dwSdKcV3OddWPfBKvWsgYl16oY4zxLEUwUec
	Pcs654y3N21UOJzNnTUUHEy2oRC6MTO6m7JpK/OOeH0vk5lbLC2o+roSVq7VmnUK
	jtTxJD309QKNk1CvJzKfe7ksl1oK5mixaLbFMCkL6Ulq+tGpq47ncz+YehE+qzR+
	YOQtqNafgFKKc8PHoZ4kKKNQVCa0UF+x7hL7EqvXdbs9id/hyLiy6jKX+jrfJLuK
	PQEJ3EGVS75PF/p5saqjFbhSfJr14JIFXIw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691407728; x=1691494128; bh=V1p5A9ACqsnl2
	tgeoDxtsmzUi6y8s5WkawPsN/O3EGU=; b=naXg0GIwmibCTbs1OcPrEs16htIJc
	kY0qVYxANqvGVM3+Mi9AbdDJDu1ojzOEo8d+rBtfxHxoerJxhdWYSrnzNrTTVk36
	FDjUi3lWaSfGceEQqwZ8axIEzXZw5pca/w3LsabJjYa9EA6mR4tafPgRk9Y8JXGX
	pkm9hPKohSezAseRAMCFiKFiC6jFod9dorqd78GAZs5mnsiLuaBVNBKZe7fpTUFB
	zNiahTPagtgSKOM2AicojV8oHwgmBq+ZJglhsx/pbCQvQskSdP0ECJ0Ofm2RJP6W
	HwSAC4IJKMi4Ypvs0226t7PS2w8U6xHi1lUbcPspwyDrbvcWy37/FGCsg==
X-ME-Sender: <xms:b9XQZKU7SbnVYnzoOjKjzl7Zjjky0CyBcSSWhTuFjvNZEIfhGaU34Q>
    <xme:b9XQZGm_1glR0eU73UwUk774mDXs-lVIJS9CRjmMtJgVl7HSKkDuylScpIBOzJ8xc
    mK6DOpaYrpDDeA>
X-ME-Received: <xmr:b9XQZOYtlJpWvke40tQRen0_QFRWSBukD0odwDBYGOb2rBfPqaPnI2zL>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdeflecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefuihhmohhnucfi
    rghishgvrhcuoehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepueevheegtdefgeefuddvfeduueduffffffejveeugeef
    udefiedugedugeevudfgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsihhmohhnsehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:b9XQZBWbP_s0r4tASYPqECq9Y0MLh5J2fJ0vVkLeib1adot-NmErRw>
    <xmx:b9XQZEmqCYkcUtcJLrSTv-unCPsLsAbT_tHKmscHHzepqtk1rTzoxw>
    <xmx:b9XQZGezTdJPOEL1oGn2mqNBtrDhkScHLn1ZCPDcId9eFG-1EQFpnQ>
    <xmx:cNXQZFAY-i3_vWVEVgEZyEQbG66JqCicS5X5SHqFP6bRmlxHJxk9Yw>
Feedback-ID: idc5945a3:Fastmail
From: Simon Gaiser <simon@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Simon Gaiser <simon@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [XEN PATCH v3] x86/hpet: Disable legacy replacement mode after IRQ test
Date: Mon,  7 Aug 2023 13:28:22 +0200
Message-Id: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As far as I understand the HPET legacy mode is not required after the
timer IRQ test. For previous discussion see [1] and [2]. Keeping it
enabled prevents reaching deeper C-states on some systems and thereby
also S0ix residency. So disable it after the timer IRQ test worked. Note
that this code path is only reached when opt_hpet_legacy_replacement < 0,
so explicit user choice is still honored.

Link: https://lore.kernel.org/xen-devel/cb408368-077d-edb5-b4ad-f80086db48c1@invisiblethingslab.com/ # [1]
Link: https://lore.kernel.org/xen-devel/20230718122603.2002-1-simon@invisiblethingslab.com/ # [2]
Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
---

Changes in v3:

 - Edit log message and downgrade it to XENLOG_DEBUG.

Changes in v2:

 - Always disable legacy mode after test, not only when ARAT is
   available. See [3] for reasoning.

[3]: https://lore.kernel.org/xen-devel/ac77ecba-6804-1d16-60dc-f184e5d31dcb@invisiblethingslab.com/

---
 xen/arch/x86/io_apic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 041233b9b7..b4b4cd5939 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1967,6 +1967,8 @@ static void __init check_timer(void)
 
             if ( timer_irq_works() )
             {
+                printk(XENLOG_DEBUG "IRQ test with HPET Legacy Replacement Mode worked - disabling it again\n");
+                hpet_disable_legacy_replacement_mode();
                 local_irq_restore(flags);
                 return;
             }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:43:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:43:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578303.905732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyeB-0002Gm-Py; Mon, 07 Aug 2023 11:43:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578303.905732; Mon, 07 Aug 2023 11: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 1qSyeB-0002Gf-LL; Mon, 07 Aug 2023 11:43:39 +0000
Received: by outflank-mailman (input) for mailman id 578303;
 Mon, 07 Aug 2023 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=g2NL=DY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qSyeA-0002GZ-2B
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:43:38 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20601.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4ed8060-3517-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 13:43:36 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DS0PR12MB9424.namprd12.prod.outlook.com (2603:10b6:8:1b4::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 11:43:29 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 11:43: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: a4ed8060-3517-11ee-b27e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHJexwoFqvydswbM/fv8aCGmg1tRTiWwi8RanMUf3lrsfd77ZbLqL06nDI4ZDB2cKKjJ3rs/76PU7JEH5i9RwNzoymE7OxuR3b+kq5qstMHCH+qgr29cOkfYIEkeI5jStKmdE5V0FB7PUCwDwycX/m1Ot3SnBXBZ0f6jWBRGxI2d6EcPh1vCv78fWd4o4o82yAgY1fmHtI6EW2GJ0gFYxqibSqRCDNDKPlJt71eTs2wSbmnwQ2CQlpJWVygYrtWG4qyCm9v6UuxHm/kHkmsJ9D3fFnEsMxSXunPyLoljANWHz5e6w36CUWiYdzHvKlHodCZzmIZVPBZ4QyO/MLwmFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bw1okKu3nBH6WxItlWol5D5VupEkzRThDOrgmot4L/4=;
 b=KV6Fvst94EaN8d1SeRnxEThrsFMKhEPku6R8neJGBvzR0V5AcrvrecgGWfxICl2AYTE50Sl+mgmZdPXokujweS8/01BBIoWo5VClg98IMRyXPA3HaTKVGOobKDTLwr7ckSMiGb+oHGCyXQ7FhJR7/zgTm/IbTCAVHq1BZGg1NuLUviEoYFQeLI7s2RnPzxWPtpYMWPjC0wgEynn1Awk91UrQs+2bPh0vfoYH8dSkNfMIcc4TP/elj++mUktLtj8Kpczj/5NCuFTKOx/U3Q3UlR69ybypnqnfw/vlusXPZmlLXaixhiJvkelu28VY4Oo9BJNG090aPdl95uxu03K+lg==
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=Bw1okKu3nBH6WxItlWol5D5VupEkzRThDOrgmot4L/4=;
 b=5ObRrhAf8uOdKqXWtKzBbU3ua+KU7ehfOPGH4QIUN/AIFSC6MKFH+TNhrPSkfiex2u9WanH2JeOEFXWZt+88i7MkGc+354S28ric0kti8cs3zANfCtqrKKTADWcZ2u5p8cuJfUCsgFzhVhDgWZ9LbKqXjrI0xoOPiAqj4kBpm9g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <1366a5b1-4bf4-20d6-73a7-ad1735ab8c10@amd.com>
Date: Mon, 7 Aug 2023 12:43:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <Penny.Zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LNXP265CA0009.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5e::21) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DS0PR12MB9424:EE_
X-MS-Office365-Filtering-Correlation-Id: 85a018b9-fdc3-48e1-6d7a-08db973b862a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A4viv9/dyX6zzMXaDwL9gJOrghBEY7P+fBa0uEpBhqNsmiuye38U+hL5/eGbbLghzOwe8+AwqAtqmEHEO9vy9AUP4Nfcv9kDPIr1R2wyAYSNEv49CwuKr6D+HAJWJDA8Y6FSoxG+AvJqQPIbBs9gp0rHu8r3nzK+zoZ4uTdrT9Y/ZLAKNU+dHpvnub++FsOfVTzS9zWXR06LplMUflt0pHVtqVjq5x5rT2ny8JmOe0LUEODv93WfjLYXiAh900ASuWwkYFlAQ+MO2/mpDwxbkx6u8bNIhca0eR59GpD9nNKrcCgbulT1D6SyoNVgyqvcXweAwGDJKKLU9xjsXVv2pD8l9ZnOhnasexQxaX+MGX40Q4/0IEfPbCpOFTOQdzC1wQZxymEB02NpdYMHwFr/WyGWR5UvK2VBZqUkCLGla2RvUJnhD44Ki8vsFO3RjcaiDrXj2eGr4Us43Qflg9DWRbjEXtgFJtPQhedcMwZe57zp2CiHylylzHWE5mmhaAvQoa65ZcExi/glfpMWxoL7kQ1RaV2V153+cwn2oICblnIieTbJy5OB1Irv0fj0ra4z1e8PUSrBJD/t3meNFN+K3Umq45RBJ+jmOIP5yttj1xEnWo50PBmsENmzGBNQzTwLazleYuSTMQjOgNs1T+BG9g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(346002)(39860400002)(376002)(136003)(1800799003)(186006)(451199021)(83380400001)(31686004)(2616005)(54906003)(110136005)(2906002)(4326008)(5660300002)(8936002)(316002)(8676002)(66946007)(66556008)(66476007)(38100700002)(966005)(6512007)(478600001)(31696002)(6666004)(6486002)(41300700001)(36756003)(6506007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?czZpQytjc0xyVzZoQmtlbnN1MmdJdTlwck5tdS9LS2lsUkpsbFE4SGorMVFU?=
 =?utf-8?B?WHZJY0R0MWtoa1k2MkJPTElrOHlBVm12dTc3djlNek1oTXkrWDdqMEYycWlS?=
 =?utf-8?B?QnExYUNOYkZuY012NERxMmtjQnY5akh4eHRncFI4Zk5XQ1Z1RFFSSmkzTHdE?=
 =?utf-8?B?cGFoMVJKNEc2ZmFucnhIeUpKd0pFZWMvL054bW90VHA4czZuSmx4a0hMcG00?=
 =?utf-8?B?YjFzWHAvaGhzZnA5WGw1SUhUOG1BS09uMW90VHJPVFFnTnpYS0Vlc0dSQ21M?=
 =?utf-8?B?NG4yYlF5LzdSZWpOMG1RcG1HU25wc0lMMXM0aWRzYkFBdmR4VXp6cFZHUUov?=
 =?utf-8?B?d0U5Z3BHVVRVQ0NGWG9XNC8zaUJFWG5uWWFRbTVnMm1wSVM3NjNZZkNOMDBh?=
 =?utf-8?B?N1VXUmt1RW9scGlvQjNhMEVVV1U0UnQxbFc1S0RrRktlTXRTd0p3eHFvVlNa?=
 =?utf-8?B?dDJXQTNiRDNwTzh3aXBOOWVrMHg2S3VUWElDR0NxVUVFeGlHeURMelVnRVBo?=
 =?utf-8?B?aldPOHczZXlzT1gvQzI0WXVDZHdCRzNWNnJnYkUvT3h2YWp2amd1cFpPbHdT?=
 =?utf-8?B?UGJidUpjZHVNdTkvVHZLSnd0TUZrSkxTR0txZ3JraENwcVRYaGpKOGpVSXp2?=
 =?utf-8?B?ZlpMK2NvbGk4OWFtNmlvbkF6TVZpU0dyYURwaDJ2a1dpQXpRMWRLOEhLaXZ2?=
 =?utf-8?B?QmRjS3dpMklHOS9PeDFnTklOTjNFMHUrVkErSWgvbnJQTHRZNVMyMG9ZNWdJ?=
 =?utf-8?B?d0dtbWpEYzBQdGk1a09penJoTUdBQUlHakFRYWlWa0l1L21PSERKcHZ6VEFD?=
 =?utf-8?B?dVNCVGZQa2xQN0VJRU00UW9yVXVtQ1U2M3h6VVNJMWErNXBCTzU3dk1xTG1y?=
 =?utf-8?B?N0NjSjVZcDRDSmRQUzE0YjAzWlU2dlNEOFJhZ3JpdHB2bEkxMFFUL0VkN0hh?=
 =?utf-8?B?WkFjZEovU3pDWWJBMUQ5aVdMa1Y0Z0hyOEtVL2llM0F4RVlXWk9MQks1dmxP?=
 =?utf-8?B?SlB0VGNldHpiV0duZ3IxeW9DRFcvWkkxd2x6VnBRMVdtZXo2VmsyaklKVVRu?=
 =?utf-8?B?YU5VdjFvRE80MFhhWjFHdGNsTDJLNFRveTBaY1ptenpUZEtzYkJkNkpFY1Vu?=
 =?utf-8?B?ci9kMTg4QmQvVFl0WFN0Y0JTbmdyRXNLRVpLdStKRFVDWEdrTE1OUXpyVFlH?=
 =?utf-8?B?d21GOVF2cGN3M0ZOTzhjRnE4Zm1JMzRXdVdPRktGY2RhRUVQSXJlNitmbVYy?=
 =?utf-8?B?ZVVnQ2JaV2VvSXUrakJjYzRPRkxkc0YyTUR0aFlDRDJqZjhaMHVqcWJzdnVV?=
 =?utf-8?B?WVB2SU5UcVRGa0l5RVJGcE5ZN1lQMk4yM3F0N2UyNk80V0VFVldaRHR4QUU3?=
 =?utf-8?B?RzMzeG1Rb05hU29KZTZ1eDdDOTB0UzRXNWdhWWdNRnIxQldOV29WUEdCclZq?=
 =?utf-8?B?aURiMVh5cXdaSm1sQlIyb1NtQlk5WVJjRGxVN0x6WDFYcU5Dc0tKSXRnTGNy?=
 =?utf-8?B?OXNwVnlnUWY4YkFkQVBNZG90QytrOUpmMGIvdDVrbkJlOHdXbTI1QkM3Y1R5?=
 =?utf-8?B?UGw3cTNPYy8vT1dNMlh4UE4ySzc4THlwWVFtZGp3ZzMrdjExcVN3WEdBdld4?=
 =?utf-8?B?SkpneXZwRmVMaTZZVXBOMEhla3phRGJ2M0hKaC9KYURMaGpYUFJzR0FoRk0r?=
 =?utf-8?B?SksxaWN5MjAvYlZheERHM2FYbnYrNEhaWVhCeHlpcUNBdE93TUJtT3hxaFJo?=
 =?utf-8?B?VmRySmxQSG1ycVBkWjR4dVFKSVl6ME41elZ3VHFOVEFHL3o2czBnWmlkRUR4?=
 =?utf-8?B?MjV5UCtGK05tRFRja0lZOElJYXFseGJtMGQrTk9kNHZxR2dsdzZOMG9GY01N?=
 =?utf-8?B?ajAvbm10NHhoWnd6eCtId1U0UUh3cHplQi9OYTAwYWxubXgrUVRWY1lKOFl6?=
 =?utf-8?B?Qnd1d3NhQnU5aXZEYURRVC9oZU4xZlJRaDF1UWZxQVdHeEZ3cCtYTktsUGtX?=
 =?utf-8?B?WVNoRklkTW9lU0o0bERGU1hESVRmbTB1RmNLMjJISkxvVkhwV0tuL2lIOEh1?=
 =?utf-8?B?S0dBM1NqZU9WbWJ4TE9IQm5TaWVvcHJZeVlJeE9RRmZtc1lvZ00vQ2s0K01G?=
 =?utf-8?Q?DGJViCVxiUwGB9vOppcWYHu9B?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85a018b9-fdc3-48e1-6d7a-08db973b862a
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 11:43:31.9712
 (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: 7GCW1+OpzSAf743qE3y+N/DSKIC3pbiPZG/oOeoVZEN8Dz/T3PPEuCqKPdOufVYFKiC4PzdSOp6sKec2vTX0Xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9424


On 07/08/2023 12:35, Henry Wang wrote:
> Hi Ayan,
>
>> -----Original Message-----
>> Hi Henry,
>>
>>> At the moment, on MMU system, enable_mmu() will return to an
>>> address in the 1:1 mapping, then each path is responsible to
>>> switch to virtual runtime mapping. Then remove_identity_mapping()
>>> is called on the boot CPU to remove all 1:1 mapping.
>>>
>>> Since remove_identity_mapping() is not necessary on Non-MMU system,
>>> and we also avoid creating empty function for Non-MMU system, trying
>>> to keep only one codeflow in arm64/head.S, we move path switch and
>>> remove_identity_mapping() in enable_mmu() on MMU system.
>>>
>>> As the remove_identity_mapping should only be called for the boot
>>> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
>>> enable_secondary_cpu_mm() for secondary CPUs in this patch.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>> With two comments
>>
>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>
>> Tested-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Thanks, and...
>
>>> +/*
>>> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
>>> + * The function will return to the virtual address provided in LR (e.g. the
>>> + * runtime mapping).
>>> + *
>>> + * Inputs:
>>> + *   lr : Virtual address to return to.
>>> + *
>>> + * Clobbers x0 - x5
>>> + */
>>> +enable_secondary_cpu_mm:
>> I will prefer "enable_secondary_cpu_mmu" as it is MMU specific. And ...
> ...actually this as well as...
>
>>> +/*
>>> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
>>> + * The function will return to the virtual address provided in LR (e.g. the
>>> + * runtime mapping).
>>> + *
>>> + * Inputs:
>>> + *   lr : Virtual address to return to.
>>> + *
>>> + * Clobbers x0 - x5
>>> + */
>>> +enable_boot_cpu_mm:
>> prefer "enable_boot_cpu_mmu" as it is MMU specific as well.
> ...this, are the name suggested by Julien in [1], so probably I will stick
> to these names, unless he would prefer the proposed names. I would
> personally prefer the names that Julien suggested too, because from
> the comments above these two functions, these functions not only
> enable the MMU, but also turn on the d-cache, hence a more generic
> name (using "mm"), is more appropriate here I guess.
>
> [1] https://lore.kernel.org/xen-devel/c10bc254-ad79-dada-d5fb-9ee619934ffb@xen.org/

This is fine. My concern is minor.

If this file is going to contain MPU specific logic as well in future, 
then suffixing a *_mmu might help to distinguish the two.

- Ayan

>
> Kind regards,
> Henry
>
>> - Ayan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:43:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578304.905741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyeP-0002Z8-00; Mon, 07 Aug 2023 11:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578304.905741; Mon, 07 Aug 2023 11: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 1qSyeO-0002Z1-TH; Mon, 07 Aug 2023 11:43:52 +0000
Received: by outflank-mailman (input) for mailman id 578304;
 Mon, 07 Aug 2023 11:43:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qSyeN-0002YK-Jm
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:43:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qSyeN-0005HA-3P; Mon, 07 Aug 2023 11:43:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qSyeM-00044z-Qk; Mon, 07 Aug 2023 11:43:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=N0tLBPm3rHVOypWUD918M6DeqCdBgaaafpUssnEENr8=; b=WKFeOsRCY9Z4jQUpmGV3QPtJAd
	iTa+V4+pqljdHOfZ5ftkK96ou7DKMeUHM5hkIa0yytNCodCQxItnJ0m30w2X1/68fbQwLk4GtrZl4
	cdgx7aY4QOCS0r3HgWsfiKCl1vIl0WLfq4iYrfPGcj+fohqlvrNPa4nV2XZGUsQTx2Pk=;
Message-ID: <88fff832-af85-497e-9608-612c8a351d9b@xen.org>
Date: Mon, 7 Aug 2023 12:43:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, Ayan Kumar Halder <ayankuma@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <Penny.Zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 07/08/2023 12:35, Henry Wang wrote:
> Hi Ayan,

Hi Henry,

>> -----Original Message-----
>> Hi Henry,
>>
>>> At the moment, on MMU system, enable_mmu() will return to an
>>> address in the 1:1 mapping, then each path is responsible to
>>> switch to virtual runtime mapping. Then remove_identity_mapping()
>>> is called on the boot CPU to remove all 1:1 mapping.
>>>
>>> Since remove_identity_mapping() is not necessary on Non-MMU system,
>>> and we also avoid creating empty function for Non-MMU system, trying
>>> to keep only one codeflow in arm64/head.S, we move path switch and
>>> remove_identity_mapping() in enable_mmu() on MMU system.
>>>
>>> As the remove_identity_mapping should only be called for the boot
>>> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
>>> enable_secondary_cpu_mm() for secondary CPUs in this patch.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>
>> With two comments
>>
>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>
>> Tested-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> 
> Thanks, and...
> 
>>
>>> +/*
>>> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
>>> + * The function will return to the virtual address provided in LR (e.g. the
>>> + * runtime mapping).
>>> + *
>>> + * Inputs:
>>> + *   lr : Virtual address to return to.
>>> + *
>>> + * Clobbers x0 - x5
>>> + */
>>> +enable_secondary_cpu_mm:
>> I will prefer "enable_secondary_cpu_mmu" as it is MMU specific. And ...
> 
> ...actually this as well as...
> 
>>> +/*
>>> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
>>> + * The function will return to the virtual address provided in LR (e.g. the
>>> + * runtime mapping).
>>> + *
>>> + * Inputs:
>>> + *   lr : Virtual address to return to.
>>> + *
>>> + * Clobbers x0 - x5
>>> + */
>>> +enable_boot_cpu_mm:
>>
>> prefer "enable_boot_cpu_mmu" as it is MMU specific as well.
> 
> ...this, are the name suggested by Julien in [1], so probably I will stick
> to these names, unless he would prefer the proposed names. I would
> personally prefer the names that Julien suggested too, because from
> the comments above these two functions, these functions not only
> enable the MMU, but also turn on the d-cache, hence a more generic
> name (using "mm"), is more appropriate here I guess.

I have suggested those name because the two functions are meant to 
abstract the implementation between MPU and MMU (see [2] for the MPU).

If we prefix them with *_mmu now, they will have to be renamed later on 
and will just introduce unnecessary churn.

> 
> [1] https://lore.kernel.org/xen-devel/c10bc254-ad79-dada-d5fb-9ee619934ffb@xen.org/

[2] 
https://gitlab.com/xen-project/people/henryw/xen/-/blob/mpu_v4/xen/arch/arm/arm64/mpu/head.S?ref_type=heads#L205

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:47:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578315.905751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyiB-0003YF-GB; Mon, 07 Aug 2023 11:47:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578315.905751; Mon, 07 Aug 2023 11:47:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyiB-0003Y8-Cf; Mon, 07 Aug 2023 11:47:47 +0000
Received: by outflank-mailman (input) for mailman id 578315;
 Mon, 07 Aug 2023 11:47: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 1qSyi9-0003Y2-Pd
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:47: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 1qSyi9-0005Mg-Gi; Mon, 07 Aug 2023 11:47:45 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qSyi9-0004Il-Bs; Mon, 07 Aug 2023 11:47:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=J3YGwlWLBbLcoSqg5oy/mescIf9TcQI21NQRvHRfuJA=; b=d+oN+Q2jZ8TWPNawGIJ3MWc+Fi
	1ThWJObHtbr9rx9V9uJORa22q+68SSbRT7fHZIHiRtf7UOBreiAbJ0nBio7LGeNxAn9wQCodTDnL9
	hEOTRuKcs5b4mo8lkRt8gV9nNakC8w935sj6033M3ZPE0sNkXRAzNsp1wrtyqpHdWAD8=;
Message-ID: <4dadcb55-1c94-4b57-a7fd-32460f4d9604@xen.org>
Date: Mon, 7 Aug 2023 12:47:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>, Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <Penny.Zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <1366a5b1-4bf4-20d6-73a7-ad1735ab8c10@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1366a5b1-4bf4-20d6-73a7-ad1735ab8c10@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 07/08/2023 12:43, Ayan Kumar Halder wrote:
> 
> On 07/08/2023 12:35, Henry Wang wrote:
>> Hi Ayan,
>>
>>> -----Original Message-----
>>> Hi Henry,
>>>
>>>> At the moment, on MMU system, enable_mmu() will return to an
>>>> address in the 1:1 mapping, then each path is responsible to
>>>> switch to virtual runtime mapping. Then remove_identity_mapping()
>>>> is called on the boot CPU to remove all 1:1 mapping.
>>>>
>>>> Since remove_identity_mapping() is not necessary on Non-MMU system,
>>>> and we also avoid creating empty function for Non-MMU system, trying
>>>> to keep only one codeflow in arm64/head.S, we move path switch and
>>>> remove_identity_mapping() in enable_mmu() on MMU system.
>>>>
>>>> As the remove_identity_mapping should only be called for the boot
>>>> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
>>>> enable_secondary_cpu_mm() for secondary CPUs in this patch.
>>>>
>>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>> With two comments
>>>
>>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>
>>> Tested-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> Thanks, and...
>>
>>>> +/*
>>>> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
>>>> + * The function will return to the virtual address provided in LR 
>>>> (e.g. the
>>>> + * runtime mapping).
>>>> + *
>>>> + * Inputs:
>>>> + *Â Â  lr : Virtual address to return to.
>>>> + *
>>>> + * Clobbers x0 - x5
>>>> + */
>>>> +enable_secondary_cpu_mm:
>>> I will prefer "enable_secondary_cpu_mmu" as it is MMU specific. And ...
>> ...actually this as well as...
>>
>>>> +/*
>>>> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
>>>> + * The function will return to the virtual address provided in LR 
>>>> (e.g. the
>>>> + * runtime mapping).
>>>> + *
>>>> + * Inputs:
>>>> + *Â Â  lr : Virtual address to return to.
>>>> + *
>>>> + * Clobbers x0 - x5
>>>> + */
>>>> +enable_boot_cpu_mm:
>>> prefer "enable_boot_cpu_mmu" as it is MMU specific as well.
>> ...this, are the name suggested by Julien in [1], so probably I will 
>> stick
>> to these names, unless he would prefer the proposed names. I would
>> personally prefer the names that Julien suggested too, because from
>> the comments above these two functions, these functions not only
>> enable the MMU, but also turn on the d-cache, hence a more generic
>> name (using "mm"), is more appropriate here I guess.
>>
>> [1] 
>> https://lore.kernel.org/xen-devel/c10bc254-ad79-dada-d5fb-9ee619934ffb@xen.org/
> 
> This is fine. My concern is minor.
> 
> If this file is going to contain MPU specific logic as well in future, 
> then suffixing a *_mmu might help to distinguish the two.

For this series, it is quite important to look at the end result. In 
this case, the MMU logic will be moved in its own file. 
enable_boot_cpu_mm() and enable_second_cpu_mm() will be implemented 
differently between the MMU and MPU to avoid #ifdeferay in head.S.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 11:56:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 11:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578322.905761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSyqK-00056Z-FC; Mon, 07 Aug 2023 11:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578322.905761; Mon, 07 Aug 2023 11: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 1qSyqK-00056S-Bc; Mon, 07 Aug 2023 11:56:12 +0000
Received: by outflank-mailman (input) for mailman id 578322;
 Mon, 07 Aug 2023 11:56:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BJNd=DY=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qSyqJ-00056M-CI
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 11:56:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6294ba9c-3519-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 13:56:04 +0200 (CEST)
Received: from AM6P192CA0029.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::42)
 by AS8PR08MB10142.eurprd08.prod.outlook.com (2603:10a6:20b:633::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 11:56:01 +0000
Received: from AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:83:cafe::46) by AM6P192CA0029.outlook.office365.com
 (2603:10a6:209:83::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26 via Frontend
 Transport; Mon, 7 Aug 2023 11:56:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT040.mail.protection.outlook.com (100.127.140.128) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.15 via Frontend Transport; Mon, 7 Aug 2023 11:56:01 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Mon, 07 Aug 2023 11:56:00 +0000
Received: from 13288bc356b7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FCBEE955-F3E4-4ED2-B2B3-575A6929C577.1; 
 Mon, 07 Aug 2023 11:54:27 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 13288bc356b7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 07 Aug 2023 11:54:27 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 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.6652.26; Mon, 7 Aug
 2023 11:54:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 11:54:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6294ba9c-3519-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T1X5C/qh14GlZuXhXyVYEqvM8mfJnjsB9yJtw/H8xng=;
 b=pwiOdH6BmhZ+RPkjWZNx8POlyP7qjEIqjvFi9z2VHR9i8dWXwyUh0xn3r+kajQrspvj+ATc51Hi2XYHOnrfesUsZNAKskjLaIcknYhilOHlYMx9HcC4nNOSdNXxII1cfHLbCJW9Au61awwBntVD8JU5wYEuiEsvXByiq2MyntPU=
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: 78c20b38bbf0466a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WYNwLyVmuzpHjnzudCEU3mBNaY/F5sCvCJQ9MD2Vbz33rUtuVvnwRLw0BiGJeksONhyLakpPV64ZaldB6NMqAds946vya3JIrY0IQ67HDZhcp460pRhOcIC/qchgKky55YKi6sBZ+RSqVImsTMavsxkhjihXS70vPalBwDHewYYoeBhtPeZCeJPz2EPQ45ZTDKPH3eGAbBCpT2OnXDr+JuB2FcdiRr3tnWcTHg9z2217IKO5Nu/USWS98LgHp/50Kn5U3EQ0x2ZbKdZ807hITE1U9seu9HO3nzKd9o2MlJUc+4sqcmPqpi9uRyB+qRglNNHKObcJvmqsrgi0erSl6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T1X5C/qh14GlZuXhXyVYEqvM8mfJnjsB9yJtw/H8xng=;
 b=oa8Pm44Qcc3AwoTUa2DK7b7B8knHkeFdgNbWyd5mg/zZNRFJeQ0hpWrClsyQpcEFzVOmqB7c7L/ZgEcoM5mHCm7EyrqQlX50lfWianVu0rDW/ZaqHcDngRFYqsDhCyqO+4wFmhcyxsFt17/0iMXNDePn4ggwfEXW3BGgEhWj31nkGBXkoJ/rFTb8iI+vq/yIn0xB8VQsgjVGf6Wvs0aKndJtSj8Mhos22MZmzpzeA4QYvFdo9nXwqklikJTXedMkwnU/xjTVYqiEg73jDYE3ZxmgKUw8ODt6hOXrbpnkZ++xi+ocj11xCt3zE6j3rSG3kPQ06BOiW6CevOlMJqnrvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=T1X5C/qh14GlZuXhXyVYEqvM8mfJnjsB9yJtw/H8xng=;
 b=pwiOdH6BmhZ+RPkjWZNx8POlyP7qjEIqjvFi9z2VHR9i8dWXwyUh0xn3r+kajQrspvj+ATc51Hi2XYHOnrfesUsZNAKskjLaIcknYhilOHlYMx9HcC4nNOSdNXxII1cfHLbCJW9Au61awwBntVD8JU5wYEuiEsvXByiq2MyntPU=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Ayan Kumar Halder <ayankuma@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Penny Zheng <Penny.Zheng@arm.com>
Subject: RE: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Topic: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Index: AQHZxCqBtZIUxf7FmUaIEyO8EPs3TK/euu6AgAABikCAAAQOAIAAAf9g
Date: Mon, 7 Aug 2023 11:54:24 +0000
Message-ID:
 <AS8PR08MB79914FA9CCA0EEF9FFD50F77920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <88fff832-af85-497e-9608-612c8a351d9b@xen.org>
In-Reply-To: <88fff832-af85-497e-9608-612c8a351d9b@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C2DD655B15D18844B94CD4DA615C0D6C.0
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB9PR08MB8385:EE_|AM7EUR03FT040:EE_|AS8PR08MB10142:EE_
X-MS-Office365-Filtering-Correlation-Id: 69d73824-d949-4c3c-b72a-08db973d4525
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:
 cRyQkPjVK3LVECw/25omadT9jFb0+VyzMTZvt3xEjjxXS1igt+DU1Mfp4nViBTuJbphXPpILlTw3qntAQyXDmM7ve1xl23L82VsR0e2xgMsYNgQoLXMUyBgq9f/bZRqln+EogBvamHZqEfyeaYZa7j5cpmTdqP5lUMSMrUAOk8R6JQRsvkjajOmtpqtPBz669QqwTchCvMDN2b3aEiwK1rzUS0FFlyQMe9hWBxsSazcsHYMEO8VzmfBPoQbExpaRwE67PaXffx4ES0xS12yatyl8PdGkK0d6uSvp6o57rA6JhmwXMvlOYslAdHY5dQB6KeTzYAvQqp+8NosZ73UBjjaVQKZrHCNGaA96cyeiVIdCJP02Y8Y8CKM0bAhn1D+9YK/tp7zEaZfGgXindIFjQggwxJS43/Jtl3tdwlezO0LIQKCD0h7s5PuOKLL0rV6KQTWLDN9XNHNa1nzBsaexruvbCjlaIBQTdXPM9xWh5gX4MGjBB3Kj4Chv6hWphpM5k+TiCyNfQkHRYrYtLtqHWKN2Cmz8dzWP7XHuyYnuVe3Zy7Vtc3/hO5MC/Q/79BjNQqBjBaGOb32RagV8fpGpWX1b9oLd+FigJ5rQ5hZbRRZd/RwZ2ZlDG9SkrH4y4ASCwZVoBgp+jS5kJmcH06iVwg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199021)(186006)(1800799003)(55016003)(966005)(9686003)(4326008)(316002)(86362001)(478600001)(122000001)(54906003)(110136005)(38100700002)(76116006)(71200400001)(66946007)(66446008)(64756008)(66556008)(66476007)(33656002)(7696005)(6506007)(41300700001)(26005)(52536014)(38070700005)(8676002)(8936002)(2906002)(83380400001)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8385
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:
 AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6ba047f0-8927-48e9-52e0-08db973d0b64
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JzPVbPtqPpn+UIMuo8DCEVom9PZYcwN5TUu3Ir7uj3CtZKGFAJvEz2OQnMNTVKS1MXgQ6a6tjg5RtZ62VxbG/0uLC7cCFYfNAgyo5WqUgkGJE+b5TvNF3pON20UbIp6+9Uv9BlVOSV8Pjjq3XBcqCbWhUW+Fq8AYsoZevmXVYAuSUdEoPMG/nr+E/+uLdmH7uo/Lig/w2hg0A4IciHz242JIMn0WmY9CLB+X6FEDFYykdLf1MJHhNUBLgqppRBwSdjTWN0U8ymTLvR0yzbRm9loiyJnoClPbQczUn7l3EDzhjedKEC/giSn0EZh2EzZh+Kx7Th5PAVOfQjNmqMQWhr7PwCHUJrVRE/oigxt7YzyzStJDigeFzQZBBMIQH0Zz/a0C75jIPm0Up8wgbfAfeJSyr7Xn6O/qlK5XZY+cTCdz3b7Pd2HlN9UJ/ZU1ZvnslaShGfmRaYxITETgUkJKISVucxpwJpJjgXg29vcA1ZF5yQ5USHgbYwB+hg+X2f5pqhSRdRhW7Utg7zvdfDKl++kFcv1t4YOrZypsVWr06yiK8uHaBlLq+jH+xJRS7fKpimG58HScRCoaqm08AkH2TFe8xqLA9FpVBREYBaLyFrwy02Uzj5pzcv9BiQd4O1MX8YEWaC6hFfAF113llbX7/ljHikZXY1Nwvir2+pSM96n+CSh4u40JCiSJz1BEqXhUwi8KxuFebraZQj5KCFTlF9H3WtHenz9Ls0hJav2pYZ1phi9AqOwtUp/aUoue2DyAPTgsmVfv+2MK3n7HOhjEYQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(396003)(346002)(136003)(82310400008)(451199021)(186006)(1800799003)(46966006)(40470700004)(36840700001)(86362001)(40480700001)(41300700001)(336012)(52536014)(478600001)(40460700003)(6506007)(8676002)(8936002)(26005)(7696005)(5660300002)(47076005)(83380400001)(2906002)(110136005)(54906003)(36860700001)(55016003)(316002)(356005)(966005)(70206006)(70586007)(81166007)(4326008)(82740400003)(9686003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 11:56:01.1330
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69d73824-d949-4c3c-b72a-08db973d4525
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10142

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggdjQgMDEvMTNdIHhlbi9hcm02NDogaGVhZC5TOiBJbnRyb2R1Y2UNCj4gZW5hYmxl
X3tib290LHNlY29uZGFyeX1fY3B1X21tDQo+ID4+IHByZWZlciAiZW5hYmxlX2Jvb3RfY3B1X21t
dSIgYXMgaXQgaXMgTU1VIHNwZWNpZmljIGFzIHdlbGwuDQo+ID4NCj4gPiAuLi50aGlzLCBhcmUg
dGhlIG5hbWUgc3VnZ2VzdGVkIGJ5IEp1bGllbiBpbiBbMV0sIHNvIHByb2JhYmx5IEkgd2lsbCBz
dGljaw0KPiA+IHRvIHRoZXNlIG5hbWVzLCB1bmxlc3MgaGUgd291bGQgcHJlZmVyIHRoZSBwcm9w
b3NlZCBuYW1lcy4gSSB3b3VsZA0KPiA+IHBlcnNvbmFsbHkgcHJlZmVyIHRoZSBuYW1lcyB0aGF0
IEp1bGllbiBzdWdnZXN0ZWQgdG9vLCBiZWNhdXNlIGZyb20NCj4gPiB0aGUgY29tbWVudHMgYWJv
dmUgdGhlc2UgdHdvIGZ1bmN0aW9ucywgdGhlc2UgZnVuY3Rpb25zIG5vdCBvbmx5DQo+ID4gZW5h
YmxlIHRoZSBNTVUsIGJ1dCBhbHNvIHR1cm4gb24gdGhlIGQtY2FjaGUsIGhlbmNlIGEgbW9yZSBn
ZW5lcmljDQo+ID4gbmFtZSAodXNpbmcgIm1tIiksIGlzIG1vcmUgYXBwcm9wcmlhdGUgaGVyZSBJ
IGd1ZXNzLg0KPiANCj4gSSBoYXZlIHN1Z2dlc3RlZCB0aG9zZSBuYW1lIGJlY2F1c2UgdGhlIHR3
byBmdW5jdGlvbnMgYXJlIG1lYW50IHRvDQo+IGFic3RyYWN0IHRoZSBpbXBsZW1lbnRhdGlvbiBi
ZXR3ZWVuIE1QVSBhbmQgTU1VIChzZWUgWzJdIGZvciB0aGUgTVBVKS4NCj4gDQo+IElmIHdlIHBy
ZWZpeCB0aGVtIHdpdGggKl9tbXUgbm93LCB0aGV5IHdpbGwgaGF2ZSB0byBiZSByZW5hbWVkIGxh
dGVyIG9uDQo+IGFuZCB3aWxsIGp1c3QgaW50cm9kdWNlIHVubmVjZXNzYXJ5IGNodXJuLg0KDQpF
eGFjdGx5LCBJIGZ1bGx5IGFncmVlIHdpdGggeW91LiBJZiB3ZSBjYW4gZG8gYWxsIHRoZSByZW5h
bWluZyBpbiBvbmUgc2hvdCB0byBmaXQNCmJvdGggTU1VIGFuZCBNUFUsIHdlIHNob3VsZCBkZWZp
bml0ZWx5IGdvIGZvciBpdC4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gPg0KPiA+
IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvYzEwYmMyNTQtYWQ3OS1kYWRh
LWQ1ZmItDQo+IDllZTYxOTkzNGZmYkB4ZW4ub3JnLw0KPiANCj4gWzJdDQo+IGh0dHBzOi8vZ2l0
bGFiLmNvbS94ZW4tcHJvamVjdC9wZW9wbGUvaGVucnl3L3hlbi8tDQo+IC9ibG9iL21wdV92NC94
ZW4vYXJjaC9hcm0vYXJtNjQvbXB1L2hlYWQuUz9yZWZfdHlwZT1oZWFkcyNMMjA1DQo+IA0KPiAt
LQ0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:02:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:02:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578329.905770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSywk-0006lI-7g; Mon, 07 Aug 2023 12:02:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578329.905770; Mon, 07 Aug 2023 12:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSywk-0006lB-58; Mon, 07 Aug 2023 12:02:50 +0000
Received: by outflank-mailman (input) for mailman id 578329;
 Mon, 07 Aug 2023 12:02:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSywi-0006l5-Ft
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:02:48 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52c4c4c8-351a-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 14:02:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8193.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 12:02:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 12:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52c4c4c8-351a-11ee-b27e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E/N7n9vBOa0yPJcz6aJbjKIAf3/FC+gHYbtJNralmUR0gKigyefLVlLEqp/mu8vYvS+hrgnqEEgosFANoLrdWVLqhcQE3sE/1uoYnnQqQd49F0CEunIr5HUKyQQG4m8Hwvz9o/ug8HfX5AY8/gv8BPp3p6kwgn0FkhQFNT1jCwlOl0R3CuUaHHVnhxGbAu9oYF2+XAaFEsAHHp4E5BC2xLCuipnwJvFfAR8SHaNJ020gBoX8GLeOV5Gx9DhYpv4fred1JsYOP+BGXkwGpavrRrUqitM+GnfPsIGHAvWase5DnU/wL9K40+RpoSN5HuHJ2XoP/vyrXk5iC5LW2k+3Mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GrBKQz4pbcL7Gop5ewv1uH0dkcqoCwmO18JiTdgjQXs=;
 b=G+/oyCwcQFeE/Aw4EGQknIa1ZXefp9zbzazHJjsjBWHAQu9S6wF2PK1ELH2/KYT0FjEEBx0WX5ehxyuHe4z8P6F2pDFFyIx05eYMX5DYSXyNYSa9E9g3V1dw5vmO2sCMIuMcWzfDNCjjS+juPZr6rsl1AQ27c005l6MGV2vMVsn3Ueo6Kq7W5u6SaaD+JZhL6lwUwva/IMYq4t/2KTl51bsTihzZdYiaelVJg5IwJgZdZbdAVwoVY2vL4luuQ+gP2C5xVFDa8keaEeZrz1/lstlt73sCVISkhJIs5mVyUWPI1JJVBKkCDpiemGVvf3gOCt1JuUKJ1sqL/VyeGD9dEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GrBKQz4pbcL7Gop5ewv1uH0dkcqoCwmO18JiTdgjQXs=;
 b=37kjOQhEbj9LMlUhpGUBJonC+EtXdw4eScddTAaOKPVBqB6n9WgikjJsDha1IGHOm1fcbo662dZlTRrs0dnRjJ4i74dCjPRtILUoKkHDHDjJ9Ojqf6Ij7XuqjDbEG1o3jLwVYtCOV0UHVORaXlRp6u5pTT7uT383cbhZ+stJxg9kEF92KkkUk3KpgHzOcT+I78q2UuOT7FG/eQUOry0KiTFa0x3lWEt5HMnDT2OVdZleg62BNybmWMVmO5n1Ct+DiypIQWxbnd/G1lKbvhZ5iIGBqA9o91whPh3fdy1ArMXtU3TUYPhsIOo62Szok8Dvoxd0VQpLF4+Si1SeXtOZDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <42d0bbd8-5f90-15aa-017e-e48581a28e48@suse.com>
Date: Mon, 7 Aug 2023 14:02:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
 <871a501fb76cff724ed1c2b09277e2a3@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <871a501fb76cff724ed1c2b09277e2a3@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8193:EE_
X-MS-Office365-Filtering-Correlation-Id: bf509fb4-7e02-473e-0c12-08db973e252d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Mj/wBhr5cSi8+UNDFF0P8RRXENf9atbDPffQfXMqlwr+AFw/gpcmhRVoqjebtqQyDONt9aF3L33ScehzlxBDOf4FsiUQ+YhZuQ+pWzIKA7/ALWuSnpe57gNgepwp9w1nxSl3Wihdl+kW4YUrBtwgCnZpWmzXgxzdaor2MddULaNcJyEhLvA5zIT60RxuAihWcT+0ETIGJJEx6oI6BE2qaUhbuxTjuSYAXVQVb/kCpFDyRChAxFC9gIcq2IgmsrLcMluFAUayLWfA0Z2QkeouAy3jBSY8QpsPybKwwC36dnyNx7/wEkbk+y+chtkTm46f+bKJoGqWwauk6KOaxlYFkkH0fRuDCmXLeawELApy+rC3Ol8TZ4amZ0xBRNeHlspspgJslW4aunG96OFcF0v4qACMF49wzBjjvCw8gMWUJB+1Nxoq0bfChpIqCOrmw0YROtUdXClh9x/9i+kzkvLGaS3Mr5ef7VU6o6wXb5t1uqjsz3o2HWSk3WIlYtpn+pKI3MQveoB04+50XE2ofrk8fwx715HgeZW/HEJQwbtaLCNxQ70vokVwblEDpbUcv9ymK1bXHO8fiUvaKoN9GxdTwEMoLp/JWkd8qLfajTkImxix1Qm3oecW/oWxvTyxW8xzYxWmlrxKX/wNDkpbm3MmyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(136003)(396003)(366004)(186006)(1800799003)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(83380400001)(7416002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66476007)(66556008)(478600001)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXhkeEs3ZHlNbWVHN1pnV29IWXM1NWVxbzVUcmdQcHFua3ZXbjlWYzhYTFJO?=
 =?utf-8?B?V2xYRVFabzhKUkk1ZDFKdlhmVFpZTThBSDh3Q095THkxWXZDSmRpdk1lQWlr?=
 =?utf-8?B?YUdwVElEV0w1OE9zUkE2R3YwTThFeVlKY1JVa3BwNE5iRXJhTmEzMEtsd2Fj?=
 =?utf-8?B?cFFGTEd4TGhObG5YcXdPSXNSUzVxVHBReDUwTUV3bkpieW9pd0FyN25uNzh4?=
 =?utf-8?B?Q3dkQWp3b3RvYnhVSk8yV1B1Wkx2aU94WW5YZXEvZkxDeG5TbzVPM3Z0UmVo?=
 =?utf-8?B?Y2w0RHdLaURZWW93OTkyc0twQkRzVWwrRUNJM1FlMXpkM0JWTkFQRDlqVUdq?=
 =?utf-8?B?a1lXbkdhSHNKbGt5L2hNVXdXQVdUZnk3OU5xRWQ5Y0svRnRGR2l6Qjhpckc3?=
 =?utf-8?B?VUJGTzNVd0tPZlptdHVkM3kxcXFTblpmQk9UOUdPdzVCV21vekNocWRPQ0cv?=
 =?utf-8?B?V3pXRCt5KzlEQktyWUhFelFhMThsSEtsSEM3T1JVN1lKRzY0VzJERmhVZkU5?=
 =?utf-8?B?d1ZxcTJmeFhMVVpVYlFEMjlkOENZTEljTFhTMjA3c3U1VkUvR1Q1aTlDY3M4?=
 =?utf-8?B?MWI5Tys2WFcvQUlldTN6c3NZUHFaU1d0VzExN2VTMzJJbzFjSzhMVjNqYW5J?=
 =?utf-8?B?ZmtrR1RVa2RvWXNDSTZCRlVtM3pUelo0K2R4dnJMeC84SVBBcUcvWjNlTHQz?=
 =?utf-8?B?NGlCd1VDNHFZcllSZWhUSmprMnI2Ym8rOWNjc3dYWXFGR09FYVU0ZmVoODk0?=
 =?utf-8?B?UWlDOVh3UXMycVlKS0w1NTlOZXZGSTI3V2RwekJ3d29BR0ZINS9VbWdSVGtk?=
 =?utf-8?B?OUxEek13czNxc3Nuc0ltVnlSb3FQWEpkQXU0VllDeWlZdlZDTVhYMmE4azVl?=
 =?utf-8?B?cXBLbHRsU0hOQzJRSGF5dmpyVWxCejlQbThoNG5NRXRTajU2bVFjcW1ZUzRS?=
 =?utf-8?B?TGpHQ1lnYkx5eTJGcU5wOHphU1kzV3hVNHBtVnU2WTQ1WGg4MWkzbTJGQ3ZV?=
 =?utf-8?B?S0NYL1pvN0xsK1hldk1GRGMvWTN6dkFTa0ZybkNjK2pWNFVtYVZiSjVoYnBt?=
 =?utf-8?B?SGVGNmZrenVQZU5JZWthVkpoc2tEQ1dQb3gweXBIQWhVSkQ5My9lTWtuaUJG?=
 =?utf-8?B?QUtiR1JtaUVsVDRjamp3VUh6Ui93cUxQR2lzWE5GeitjcmZpYkxLbVp2em0w?=
 =?utf-8?B?U3ZucHBMSUdsejZ2V3JoeEtNSFVERWdVTHA5NVZ2dU5VSVdpY3dWS0hKdzdj?=
 =?utf-8?B?OFBFZHEvM0lNd1h2ckRRaEJTMUpMaEVDL3B3OE5tdU1DR01MUTZOV3YrQXRG?=
 =?utf-8?B?enpRQmI1TFNOSGZSQUQvdVFnWlNOd2lHMGZQaUk5cGdjU2M0S094blF4NnV3?=
 =?utf-8?B?b2hLTFdOLzIrOTVQU0lRdDM2UHJrQzNkdCt6eXFCeFo4TEhNMXVIblFoa09X?=
 =?utf-8?B?TURQSU4vMGVZanF5N0hIY3hueXEyZ0h0TVUvSldQU0ZzN0dFQkhMMHJmbit1?=
 =?utf-8?B?RTRqb2V4MHNERkNBOElLRjlGRGxDeFRjb2d3RmtMYmNTQlJuVE9jZU8rbWUr?=
 =?utf-8?B?MUNScHE3SlpiT2VvbW8xbm9CVDEwZTNZdXo2NmlhdUZQK3V0TTYxU3ZqeGZ3?=
 =?utf-8?B?UHhyUlVOUTRHdnZVVndTWDU4c3dFWnRRVy9DWEtKUGdxVDZ2SFFESitEMnJZ?=
 =?utf-8?B?OHYyejM0eDdKcldYZEdDSytMM3ZKU21GNEhtWXk1K1o0SXJLdjhvN1ViYm1a?=
 =?utf-8?B?a3E5cW15S3grV3FlU2lFeC9LNXF4MXZFYkdoekZ0c1JHeG9iZ0VwekxoSUNO?=
 =?utf-8?B?cncyNWkrbTRWQnV2ckR3bThpaWdyNkU0VzFmRFV2Ym4vMUlyVUZKZUhpMEd1?=
 =?utf-8?B?SmVmc1J0TFZSUnVrNFI1SzBMb2JqQmx5SHdTT2N4anNreEYwUjhFRGhKR09T?=
 =?utf-8?B?TXdtTFl2Z1B1U1ZNVGNqWjNsa1JYdEJhNUZkT1l5MXRCWnVnRmNDRjRVNWtE?=
 =?utf-8?B?OWVnbC9kTWVXTmhjK2ZlWWZXdDZVd3pKOUI4bjVJK05YTmlWM3NlMGNKeThI?=
 =?utf-8?B?a2twaWpKd2h6SXYxRkl6cWpLTWFBK1RzazNiSCt6aHEwUCsraW1sV2ZSSmtR?=
 =?utf-8?Q?RQ1hZikUDFFPR/0zA+qEt9cSI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf509fb4-7e02-473e-0c12-08db973e252d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:02:17.2195
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZSlyDHXF8jJJNRVSjRJhMepb3J/58yJwvm0ampZGvIpEladgntrZSvD/ekpPfqdlcXPci9uOVBpDkD0kNtYEQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8193

On 07.08.2023 13:12, Nicola Vetrini wrote:
> 
>>> Besides the one you listed, there are these other occurrences:
>>> - xen/arch/x86/mm.c:4678 in 'arch_memory_op' as local variable 'struct
>>> e820entry'
>>
>> This probably wants renaming; my suggestion would be just "e" here.
> 
> Ok
> 
>>
>>> - xen/arch/x86/include/asm/guest/hypervisor.h:55 in
>>> 'hypervisor_e820_fixup'
>>> - xen/arch/x86/include/asm/pv/shim.h:88 in 'pv_shim_fixup'
>>
>> These can likely again have their parameters dropped, for it only
>> ever being the "e820" global which is passed. (Really I think in such
>> cases the names being the same should be permitted.)
>>
>>> - xen/arch/x86/setup.c:689 in 'kexec_reserve_area'
>>
>> This surely can quite sensibly have boot_e820 use moved into the
>> function itself.
>>
> 
> Ok, although your suggestion of breaking these renames/deletions in more 
> than one patch may not be applicable,
> as 'kexec_reserve_area' calls 'reserve_e820_ram', which in turn calls 
> 'e820_change_range_type'.
> Similarly, the call stack containing 'e820_add_range' includes other 
> calls to the modified functions, so
> effectively it's best to drop the parameter everywhere all at once to 
> prevent accidental mistakes.

Well, this still allows splitting parameter removal changes from
parameter renaming ones.

>>> We can take the first approach you suggested (which was my original
>>> attempt, but then upon feedback on other
>>> patches I reworked this patch before submitting). My doubt about it 
>>> was
>>> that it would introduce a naming
>>> inconsistency with other e820-related objects/types. Anyway, if 
>>> e820_map
>>> is not a good name, could e820_arr be it?
>>
>> But how does "arr" describe the purpose? I would have suggested a name,
>> but none I can think of (e820_real, e820_final) I'd be really happy 
>> with.
>> Just e820 is pretty likely the best name we can have here.
> 
> Ok, so perhaps the best way is using the strategy above, although I'm 
> curious why in other places this
> was not the preferred alternative (as the global may be dropped or the 
> callers may use a e820map other
> than the global one, but here I recognize my lack of knowledge on the 
> internals of Xen).

Other x86 maintainers may voice a different opinion. My take is that
since we've now lived with the set of functions we have for quite a
long time, problematic changes like ones you outline are not very
likely to appear.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:32:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578335.905781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzOw-00025F-GM; Mon, 07 Aug 2023 12:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578335.905781; Mon, 07 Aug 2023 12: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 1qSzOw-000258-DU; Mon, 07 Aug 2023 12:31:58 +0000
Received: by outflank-mailman (input) for mailman id 578335;
 Mon, 07 Aug 2023 12: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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qSzOu-000252-Rq
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:31:56 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 630392d6-351e-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 14:31:53 +0200 (CEST)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 08:31:50 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7438.namprd03.prod.outlook.com (2603:10b6:510:2ef::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 12:31:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 12:31:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 630392d6-351e-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691411513;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LP8wyWrP4TFzd4iy6/8U99CvGxFEkXDV7f7kaAenj2Q=;
  b=ISPMVf8rswJxrPm739SJz4MsGP1t0OM0W4WVOeqZp78Bipk81JMQWWwj
   HITcu9Wjji/6Jm3OmyG2TEVrk7ogw7GCP9BIQHUWhiW7UepujcZQbhtee
   1OMYIkkDcly6k9iY/fHNDCaEdjHV2Yk9OuY4HX266mS6+D6qEu2jV5234
   k=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 119148616
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:uU0twqwQxlW9Bc1op9l6t+dwxirEfRIJ4+MujC+fZmUNrF6WrkVRn
 DFMWmnTb6mCZzfwfN4kPIjlpkIG7cfXn9dmSAZk/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPa8T5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUV+0
 s03cysGVA/Zm9Ko8pafWOdxiP12eaEHPKtH0p1h5RfwKK9/BLvkGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjaVlVMpuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAdNLSO3mr6ACbFu7+FQuTxcYWhyBvqOFikXmddMAA
 WkL9X97xUQ13AnxJjXnZDW2rXKJpB8XXJxLHvcz5gCLy4Le/gmCC24LCDVGbbQOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRUcJYikfUA8Z4t/siIsugQnCSNklG6mw5vX3Ezztx
 zGBrAAlmq4ey8UM0s2T4lTvkz+q4J/TQWYd/R7LV2io6gd4Yo+NZIGy71Xfq/FaI+6xS1iKv
 HEA3c+E/u0KJZiImGqGR+BlNKGk4feMdifVjl9mE5Ai8CmF8nuvO4tX5VlWLVZgNIAHZDrge
 gnTsAdd6YV7NX6mK6RwZuqM598CyKHhEZHuUanSZ98XO5xpLlbYpGdpeFKa2H3rnA40i6YjN
 JyHcMGqS3EHFaBgyznwTOAYuVM2+h0DKarobciT53yaPXC2PxZ5lZ9t3IOyU90E
IronPort-HdrOrdr: A9a23:GzLACa8eOQ2NZvKi2dhuk+EKdb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYVcqKRcdcLW7VJVoLkmskaKdjbNhX4tKPzOW21dATrsSlLcKqgeIc0KRltK1vZ
 0QC5SWY+eAamSS4/yKhTVQJ+xQu+VvvZrY9tv2/jNId0VHeqtg5wB2BkKyFVB3fhBPAd4cGI
 CH7sRKijK8cTBPB/7Lc0UtbqzmnZnmhZjmaRkJC1oO7xSPtyqh7PrfHwKD1hkTfjtTyfMJ8H
 TDkSb++qK/2svLuCP05iv21dB7idHhwtxMCIiljdUUECzljkKSaIFoS9S5zU4ISLXE0jcXue
 iJhy1lE9V46nvXcG3wiwDqwRPc3DEn7GKn4UOEgFP4yPaJDg4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn93d7VTBtn/3DE6kbKqdRjwkC3bLFuIYO57LZvin+9Ka1wax4SPbpXWN
 WHD6nnlYlrmB2hHjzkV1JUsaCRt0QIb2q7q3c5y7aoOhht7QFEJhgjtbwidzE7heYAd6U=
X-Talos-CUID: 9a23:j6BjY21oyUvbbs5s3BYbDrxfPvACQ1KG13zqPBWkOXhbbJmHR0KewfYx
X-Talos-MUID: =?us-ascii?q?9a23=3AEjT+4A5O1Vk9MRCAtJ7t7A9nxoxW25npAk4C1q8?=
 =?us-ascii?q?Z4fWEPnReOmi3qSu4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="119148616"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mvbz0KS/YxkCDAlvhsrIALRiQqEfaBGNJLUt+bMNyDFzVl6dJkPuGUy1Ueku7E9t4iKIYQ1pAzHkreT7fm5VoIl2OPK5w6PJptRSLFS7HomHToXIyowp+G3Q/dCLVk/Ay7zIk7pPMyj1NU0kxBA4tKBJO5HFhzAwQso0h5vHI0TepOl8oTClp7eWsmIZt+Ar0l9YgJ4rYxBhzjY45AI6gdsH8Vw6cedOiADOyDxWRAUvufXpq1txTqH+DVGcxYCr8mtkyrZ6VhiIdscC2nSws1sq6bc02ay5qKAstqEE+XZOgyr9/fYOKGXWp7Njnl5/pRuLQN/2OZMU4gCaXbM+fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G7p/gEpThY1ch+U/eJJhsdFuuB+Q1peLfyB3S+sdRIw=;
 b=kjWyRVLQYu3TXoPzedhjonlvCaZ11SqpbYL7Uvg8dikm1Prj3uDnV1379SxhLm541M1dghF1sb98YOGCXQATb8mYODhd1Ey4fKg0oadW2YYyOyobaULvgLyf0qOLvOtGPgKwEQcA5Jdc1In/EcFxDY7rK4qpHNtMv4dXWct2wAbymwRe1TFmdneWJz0m30UvtKHJIJbt9Ryevl8JuxlGdemtEIPeFsEMTzNy8E0vdqAbIN+VtlMOP2AtM7o5ZJ2UpmRsCtvRZEyLr9tExN0vlz9Ur5V/qQawH1JDh5668ggjqZJ1OPufyiPXgN1QRMaRHKtdJ/1nLY+64GQko3B/sA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G7p/gEpThY1ch+U/eJJhsdFuuB+Q1peLfyB3S+sdRIw=;
 b=WneqvsVTgsT8xFYZioYC5pwsDfiw95Bljez3Mwx4HuKAVojOxNObxr+SDJ88qg2IG6pq9KwdnV0njGD7gTxsizy9zzCfOQyftR+zBZTb+aksIg1CmhRSBhGO6LKskSQ9ZfYNuY9yQkCt/dpnPH0md+twC+QEkSfaKBhzPeOA3X8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <64ec2572-348a-2c6f-d354-2747659e4666@citrix.com>
Date: Mon, 7 Aug 2023 13:31:33 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [BUGGY] Re: [XEN PATCH] x86: Address violations of MISRA C:2012 and
 drop bool_t
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.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>,
 Michal Orzel <michal.orzel@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
In-Reply-To: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0157.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c7::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7438:EE_
X-MS-Office365-Filtering-Correlation-Id: f96a6771-e4cb-4f87-dca0-08db97423fa5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N+DzVbkBvlLWkCdyoDDeYVi028VXbcJ01W0Ts0CRK5dwTIrW9ly74y3xFJsau7qiCnjNHngyvMjzvSqgU1Km/8ol2WZxCsgiUEqtcW76qbOZXmrfsHCgA9FkZ2FSSFxF0x1K/QGoTbw1EbT7dApY188F7DB9lvI+j/QpPZB0ncLmEYwroBtxs5h36ak4EIoeOl31x7EibRt7YHVFB+gIT/kmaOGKzQ4uOpxruVimR9c4H41tB4FvVux1PKAIl1MxZ9CS8P8OPHhCNUlyz7kS6xhBaUdUaLo56bIzpk1fumKVH/Vpcl8V6yTbwY7vNa80U0Pl+cfvkNGV5s3r5qBQgHgWUyM5C7eiHKReEcDVrcXMrkuvduOoGbO4c/ZwfrxjvSK1M6h/4NgtfTkEa8m3wJdju87dkZAntaBs/ipyyA3JRvKNicuBAlT2Dyxo4GQWuvcSW9HoufVNWxdGUJFZ28b7zDmwj0kgzk8OUy7e3yZN7LTKVq6XBPUt1dQEJLEu9cpGZ+F+tYEdq569sAYpFmI9x0ixGGG55DXIAQujJXIYw53VS1gfZPruRca+zXzivTqvH6G5tHYvy5+E+2eYNEe7IKY+pBH1sGeRa2MGmBjUU8Z4xcCDUEQL1/Q/EubtZR+fdqghBAY0F7IMkyx9kA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(86362001)(478600001)(54906003)(38100700002)(6666004)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(82960400001)(41300700001)(26005)(8676002)(8936002)(66899021)(2906002)(83380400001)(7416002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGlIVHB6dDYweWJYTlRCRHBJeEZFYTc1djR2aVRROTdpVC9MRys1WHE3Wk45?=
 =?utf-8?B?RHJuL2plSkRPQnV0TnBWN1VvR1dRSmVEM3BYdGRML0pBSTcxbDd6WTdIMm1x?=
 =?utf-8?B?alFYaEtsWGRLanp0Mk9nRllldG02RE1JRjVjWGR3bnplaW5GdUltcHBhZitT?=
 =?utf-8?B?b0sxRGFmYUFvRWJ3QVUyNkNSbUpTd00xM3ErTVA3TzdERXNVU1NKTk1jb2Rl?=
 =?utf-8?B?VGRlT1J0akl1Qnc4TTJ3ZnNyR3RvTEhEdDlQOUpGalAvQTFKb1hrWHJ3S0o4?=
 =?utf-8?B?bm9KRDdRWGFPdjhOa2xYVkpyWnhaY1JHb2pwZlMveGlYdkhvTm9HNFRxaHdo?=
 =?utf-8?B?TWlGU25CU3lBay8vZ1R3K01aaGlxRVJyejdYSGdTbnJKUjczaVI0b3labFpK?=
 =?utf-8?B?M0tKN3lxeGYrOE42elIvZGx0akRLMlJtYTc2TXh6eVV1bTE0Y21ybnNaYTRt?=
 =?utf-8?B?MlkxeTZNMVJqcEpqYmh2ekYvOEZYK3RlampIaUsyS1lObFNqK1BnMXUwTXBH?=
 =?utf-8?B?aHg3UFVKVjc5cnlQWE1XaFl4MVluSmxGNi9mTWRFZFlCY0dHa2ZiK3duMi9V?=
 =?utf-8?B?OVBxdUJGTDJLRm9ld3hKRTlJZTBNMnhYSzVzOHArZFNFVFkxMzNDR3Nwc2h4?=
 =?utf-8?B?SnQ3YVBTRHhURFJWZjBBUHU3Q3FENGI0UXlQNDNhd0NLc0NtZHFKR2d3REFN?=
 =?utf-8?B?ekNqZGIrYmJiQi8yR1pSTEpwMWtobnpwY3luOFA3bVpOcnUxak92b2pKM1hy?=
 =?utf-8?B?SkdGS0pWODBPSWtCYTh3aHV1MVVlWVdLZUhLRHhyV054aForSHd5ME5OS0F2?=
 =?utf-8?B?L1BjMUxzMnZUa29rNjI3eWxWNSs4eEVRQnp2VkgxMVozeVZEMzA5aE5SdEh2?=
 =?utf-8?B?ZVBoWVJ6WXNJZWcvOE1RZkZZWVBPTi9DUHB0Y0hzR1dPMGlJWEdmUGQ3TFFW?=
 =?utf-8?B?c2M3VkxjMXR3UlV1U3RjVHgvWmlyRm5Na09MbXFqVEk1ejZiU09LTm5sRWRU?=
 =?utf-8?B?VHVOalBiYVVzNzlVTkpJcCtLMlUxVWZUVkIxVm5vbzhjMjRyVTBmbW1TcDQz?=
 =?utf-8?B?Q2tlVWQ2cGE2U1N4NGU2dWxmRUVzdHNLMGZZcjFnU282eVJQMnpTN3cvQW5z?=
 =?utf-8?B?TUxJaHZPeVpadGVvbHE0dXpsZ05lSkVuVmZ0WHRTN1dVcm8vWEluZVNTT2dl?=
 =?utf-8?B?TEJHNTdUVGplcUxkdVFFNWp4OXprNEhvcFpFb284QU0xbkZrQmlLUHFlVkJx?=
 =?utf-8?B?NkpHV3UvMUJiWHpkenRnMU9ab08vVXRGWmxLQW0waXlhU1ZPNG55dHpYVlJi?=
 =?utf-8?B?d1ZBbkNKc0F0L2wzdkFSVktnYm9mSmNPbVlXQlhqak9LNnZFQ3hRN05nTGxK?=
 =?utf-8?B?aTVENEpmRDlXWFVhR1lzcG9DOE1SNmhQMWU0WWVlUUF1UDY4a1JPWUtSOVJv?=
 =?utf-8?B?QU84cUNjemZhU01EcnZjM2htbDhER3ExT0tqSVlwbnR6dEl3YXBzVjkrNVhR?=
 =?utf-8?B?OFY0OXMvWEZ3aWFDdjZ5RmVzQVdVdHQzd2xSd2JIUkI2YWtnVzhXSzVOdnZB?=
 =?utf-8?B?WFVuWXE0M3VXSEw0T0dtUVZJSFg5UmtDNzVNU2hTd000NXhVYkgzbkR5YWEw?=
 =?utf-8?B?YlhPODMzcFZJNEF0OWtoalRvNFRTa0pFcC9XWG4wSE5CVXdyV204ZmlCTG85?=
 =?utf-8?B?OHNDZ2xkWWhTanNKM1VjVndoam9FdVVpRUlTdHBBZGJpeUhDeC9aQktEN1RG?=
 =?utf-8?B?QWhRSkRFcFZEcGFDUDNrODVJMUl5RHE0OXd6VjU4dWpyUGxGVks3ZnBOV3Bz?=
 =?utf-8?B?cnZYV2hRV2REMkNoakVDTm96NmxGWllOdzRiOUJIUzFLNTRBaENIQ1I2Y1BS?=
 =?utf-8?B?TVFKNWxHRUtvRzdLUWVQT2FJcnJvL1cwYXhaNVd4bWZTRTdyMzlkbXNEWkxp?=
 =?utf-8?B?WklwbEFWWjZ5OTlqK05BNnVzMGJsWVlaU3J2Zkk4aVg2T1pHQlVWV1hSL3JH?=
 =?utf-8?B?Vm00UzB4ZkNBYWlJRVpGVWRIc0tETmxDdG9wdjJzeXpOZGxvQUtKWmQvK0NB?=
 =?utf-8?B?QlNKTG9IeFpVZ2pSM1FGTXMrdXpOUEZBTlh3WFZhWFNJMG5xV0dmeDlYRlFs?=
 =?utf-8?B?ZDl5SGcxVDFuYWNOQktxTTU5OHB3L3NGSC9aZDR1MFJVeUNwbGd0NFFBWnRI?=
 =?utf-8?B?K3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	JfzVagdXjrHA+6iVSLWbP2RtVvVnowkbhcR1HjPMvHgWXcy3tzHhJR9lxOjjOjXjsFeglE/WqXWL804BtiomeEg51NdNALsrlQeo0tTzJN15nPwGtX6YG2uRn76deFGYR4j1PHW/IxUlSQG4aQumk5q+dT+j5qs3UpfoOnVGyd2Xz3P8dgZgZBRVW1nY47G4xonqFcPvE0Oi8CtoVFDtgOp0ytsCYgO6fMrmNmA4V8peq3KdRqFSLBx4FCwivrRe2Ki3hZ+EvzxVR/d0JhtcL1FzNr6dfq6VVnLFd4Ip3YVI4V8vwGGzqp6RrLsWcE3q09HFSSShfPKN7WfSJ6oYy8bfP4/YnQVvvjsaqI6nJHV9izAxg4uQ1XHDSSspO5RlSZ6x/yp4xySg8h/sdyLXyNct8cBLV+zkKtp5tuGpDleRilf0gn/T86wfbaoBZYs2zHFZNN0Z239/Advqvk4ycuogfFQc/uSOrOyUbDze8ppUL7ocXz7tUXBPgTdQCMLBPQiHu5mKYWxNX6ncfk6NBCfhqgeU2SYMydGZcjSp6g0EP6KXAdvUM27NreKz2yUdpi3jPNHyfEn+P6I6FQ62HhRCCLCJN4Wd7VLM6x1u2IFDsnrB4M3Qipa/7MW0uyLEX22EmZ69cY/zmxGdntqOo5Z+8lZuYE35LuCNVxWOyRhgPRZwF+rSl1dINHhH0HblL8MTDuD2Zojc8gGuo5+QCoemZSIVXvPWblUm66eNlhAzkzctLTje3fRqXwZsepE4hjSDZyfrJRjzxNKnIfRw9coVlcMU9AvgHzdhD76TObzXNPpJ+5LRHxVDuBhHiSTA7WP6Jc4n4IlxdExRO2fenDJed6VXth9kLzNpwIPs/H6SzgkMhDea6sFVPF6fKKHdoZCWWGy778OW9mBpmfSBWw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f96a6771-e4cb-4f87-dca0-08db97423fa5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:31:39.7506
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OpV09CZb7Z3RoxxvL+oddpGmw046M2izzS6Rc7/w4hw7sDWjl8+oIFNqQOgojLtK/F/KTIK/Mikik93c0tAz9apcmsR9G2UH7OsRKAkULC8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7438

On 04/08/2023 3:11 pm, Federico Serafini wrote:
> Give a name to unnamed parameters to address violations of
> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
> named parameters").
> Keep consistency between object and function declarations thus
> addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
> object or function shall use the same names and type qualifiers").
> Replace the occurrences of bool_t with bool.
>
> No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  xen/arch/x86/cpu/common.c            |  6 +++---
>  xen/arch/x86/include/asm/processor.h | 16 ++++++++--------
>  2 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
> index cfcdaace12..5f29148416 100644
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -26,11 +26,11 @@
>  
>  bool __read_mostly opt_dom0_cpuid_faulting = true;
>  
> -bool_t opt_arat = 1;
> +bool opt_arat = 1;
>  boolean_param("arat", opt_arat);

I see this has been committed, but you do realise you've created a new
violation of 8.3 by failing to change the declaration of opt_arat to be
bool ?

Please everyone be more careful.Â  There is an enormous amount of MISRA
churn, and it's hard enough to deal with this when the patches are correct.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578341.905790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzWd-0002od-8o; Mon, 07 Aug 2023 12:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578341.905790; Mon, 07 Aug 2023 12: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 1qSzWd-0002oW-5m; Mon, 07 Aug 2023 12:39:55 +0000
Received: by outflank-mailman (input) for mailman id 578341;
 Mon, 07 Aug 2023 12: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSzWb-0002oQ-HK
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:39:53 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e143cf6-351f-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 14:39:48 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 9C4115C00CA;
 Mon,  7 Aug 2023 08:39:46 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Mon, 07 Aug 2023 08:39:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 08:39:43 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e143cf6-351f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691411986; x=1691498386; bh=xbrcN9ni6V/ifhXltJx9M+NEPI6gpxZebc6
	Dm84OTzY=; b=j0C1hsa8ZzeFo55dSHDvnbO5jIKhf+l24UMjDlDJ7PTwRkXMn0S
	QwAbrJm03KqUmxPXezMgkK8b2gAhRFgZw26fiKOKwvWfskmksJWMETVcsXqXzaxj
	yEtvVSukT4Jd/Po1peBO3trw6J9oavv1sv7vY5rDiIA1Cmhuq3zFekNGZXRV5QSW
	Eef5Z8Qd/e5WOfRtl1vyElMVAtnW2NIKhje8DtUwnIBzNXCq4rK9Cs+VQgaVO+WO
	OrsGDFgXnEmvM7OEAGu6gve8ulu5Xg2oBRmUU+DDH4ypGdIoUeeTrCnAs27BPb71
	eSfVj/jKNPVTQGjpPd1p3EpkUBeWBoEk4hw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691411986; x=1691498386; bh=xbrcN9ni6V/if
	hXltJx9M+NEPI6gpxZebc6Dm84OTzY=; b=KoNIZHOsnnXtiX0Hs2uhpCzM1+iIF
	6GY6LkOBcVN4SkAO3FacHJ7T/TGm4Dg3cyX4+2il4iFLjBO11sG6aYg0iNdd6K3n
	SXVOU1PK0V8cQ54qlY1BAJinjKx84Xq8iDiFR5jNVqzEpnDY61F2/atxUwlCKLaY
	r5WNfbaJOgqGwM0MXCKSfI+mmKum4bEcLZo548QyIcUGlkQpZkcWQo6J6Lo3jGgI
	vXPz71WUAV+Q/0Cn+MtgdD2vvYpVavkXRwke/6KF51XQIjqFZ4edjSoyCbIc4Aka
	w7RYLJF2QE0puQZDa7icu5MHdLczKC+2NNKFBd5u3NqXgVYVh0nHuIJrg==
X-ME-Sender: <xms:EubQZLQ1WMvCz0r2BPflUsMsKMJUgYreLkjz9UyA82MUIonkTKyNlQ>
    <xme:EubQZMyxtLb6z-P-579Ms11V_gThJ2yJJgRmKrIlyDCWYUa-SLGvL-u6G5AEXewK9
    pEGH0_D4rxXiMk>
X-ME-Received: <xmr:EubQZA1UHeqaEqITrPsgWhJeREZ4V5qCdjb5Ldwg-os8kWz_P8MMD_s0n7ImKKc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdehgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeeftdefudeltdevhfehkeefhfeutdfhffdugeetffdv
    gfehfeekhfetgedvuefggfenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhimhhonhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:EubQZLDj3w6JKEFHQxvg0aGn-Mj9UKLSKlIgSKQFNDB79uAI8XYpqw>
    <xmx:EubQZEjWZz6MxtZOAT8NxOVUqE92yGbBnrIgC3pBTwFrOTlo75KxJA>
    <xmx:EubQZPqIAVgMIGUOxZ5WGMcfCy6sNxl4lzM5B9Z90f1xbod92dE3mA>
    <xmx:EubQZAhHHtDQsUE__wxRHrOtTq9qs7kuXka0LelWZeQrwVhGLSrxZQ>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <0882e0bd-b1c6-91c9-1ccc-d96e012e4f9a@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 14:39:28 +0200
MIME-Version: 1.0
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
 <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
 <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
 <5fedd7c0-862e-d7c6-431d-6478ae1960b9@suse.com>
Content-Language: en-US
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <5fedd7c0-862e-d7c6-431d-6478ae1960b9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------REdQ0Uf83wSfWFMIfXj0tc00"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------REdQ0Uf83wSfWFMIfXj0tc00
Content-Type: multipart/mixed; boundary="------------p7HEWvjRNGVEGKLy0KR00SiA";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, KarimAllah Ahmed <karahmed@amazon.de>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Jan_H=2e_Sch=c3=b6nherr?= <jschoenh@amazon.de>,
 Matt Wilson <msw@amazon.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Anthony Liguori <aliguori@amzn.com>,
 xen-devel@lists.xenproject.org
Message-ID: <0882e0bd-b1c6-91c9-1ccc-d96e012e4f9a@invisiblethingslab.com>
Subject: Re: [Xen-devel] [PATCH v2 04/23] x86: Don't use potentially incorrect
 CPUID values for topology information
References: <1515356919-922-1-git-send-email-aliguori@amzn.com>
 <1515356919-922-5-git-send-email-aliguori@amzn.com>
 <df21a319-b8a4-bb14-ac43-20035d04d4a2@invisiblethingslab.com>
 <d01574a2-962f-20a5-281f-7672a06b5f10@suse.com>
 <ca8bec9e-69d0-0a51-5553-ff8c9423d8bb@invisiblethingslab.com>
 <5fedd7c0-862e-d7c6-431d-6478ae1960b9@suse.com>
In-Reply-To: <5fedd7c0-862e-d7c6-431d-6478ae1960b9@suse.com>

--------------p7HEWvjRNGVEGKLy0KR00SiA
Content-Type: multipart/mixed; boundary="------------Y0Bpwe3jpar1IaqWoKfUGww7"

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

Jan Beulich:
> On 07.08.2023 11:58, Simon Gaiser wrote:
>> Jan Beulich:
>>> On 07.08.2023 10:18, Simon Gaiser wrote:
>>>> Anthony Liguori:
>>>>> From: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
>>>>>
>>>>> Intel says for CPUID leaf 0Bh:
>>>>>
>>>>>   "Software must not use EBX[15:0] to enumerate processor
>>>>>    topology of the system. This value in this field
>>>>>    (EBX[15:0]) is only intended for display/diagnostic
>>>>>    purposes. The actual number of logical processors
>>>>>    available to BIOS/OS/Applications may be different from
>>>>>    the value of EBX[15:0], depending on software and platform
>>>>>    hardware configurations."
>>>>>
>>>>> And yet, we're using them to derive the number cores in a package
>>>>> and the number of siblings in a core.
>>>>>
>>>>> Derive the number of siblings and cores from EAX instead, which is
>>>>> intended for that.
>>>>>
>>>>> Signed-off-by: Jan H. Sch=C3=B6nherr <jschoenh@amazon.de>
>>>>> ---
>>>>>  xen/arch/x86/cpu/common.c | 4 ++--
>>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>>>>> index e9588b3..22f392f 100644
>>>>> --- a/xen/arch/x86/cpu/common.c
>>>>> +++ b/xen/arch/x86/cpu/common.c
>>>>> @@ -479,8 +479,8 @@ void detect_extended_topology(struct cpuinfo_x8=
6 *c)
>>>>>     initial_apicid =3D edx;
>>>>> =20
>>>>>     /* Populate HT related information from sub-leaf level 0 */
>>>>> -   core_level_siblings =3D c->x86_num_siblings =3D LEVEL_MAX_SIBLI=
NGS(ebx);
>>>>>     core_plus_mask_width =3D ht_mask_width =3D BITS_SHIFT_NEXT_LEVE=
L(eax);
>>>>> +   core_level_siblings =3D c->x86_num_siblings =3D 1 << ht_mask_wi=
dth;
>>>>> =20
>>>>>     sub_index =3D 1;
>>>>>     do {
>>>>> @@ -488,8 +488,8 @@ void detect_extended_topology(struct cpuinfo_x8=
6 *c)
>>>>> =20
>>>>>             /* Check for the Core type in the implemented sub leave=
s */
>>>>>             if ( LEAFB_SUBTYPE(ecx) =3D=3D CORE_TYPE ) {
>>>>> -                   core_level_siblings =3D LEVEL_MAX_SIBLINGS(ebx)=
;
>>>>>                     core_plus_mask_width =3D BITS_SHIFT_NEXT_LEVEL(=
eax);
>>>>> +                   core_level_siblings =3D 1 << core_plus_mask_wid=
th;
>>>>
>>>>
>>>> On the i5-1135G7 (4 cores with each 2 threads) I'm currently testing=
 on
>>>> I noticed that this changes leads to core_level_siblings =3D=3D 16 a=
nd
>>>> therefore x86_max_cores =3D=3D 8. If read from ebx like before this =
change
>>>> and what Linux is still doing [1] it reads core_level_siblings =3D=3D=
 8 (as
>>>> expected?).
>>>>
>>>> What's the expected semantic here? If it's to derive the actual numb=
er
>>>> of siblings (and therefore cores) in a package as the commit message=

>>>> suggest, the new code can't work even ignoring the example from my t=
est
>>>> system. It will always produce powers of 2, so can't get it right on=
 a
>>>> system with, say, 6 cores.
>>>
>>> The only use of the variable in question is in this statement:
>>>
>>>       c->x86_max_cores =3D (core_level_siblings / c->x86_num_siblings=
);
>>>
>>> Note the "max" in the name. This is how many _could_ be there, not ho=
w
>>> many _are_ there, aiui.
>>
>> I'm indeed not quite sure on the intended semantic, hence the question=

>> (although it's not clear to me what case that "could" would cover here=
).
>=20
> "Could" covers for a number of reasons why APIC IDs may not be contiguo=
us.
> Consider a 6-code system: The APIC IDs need to cover for at least 8 the=
re.
>=20
>> It doesn't have to be identical but Linux says for it's version of the=

>> variable:
>>
>>     The number of cores in a package. This information is retrieved vi=
a
>>     CPUID.
>>
>> And if I look at it's usage in set_nr_sockets in Xen:
>>
>>     nr_sockets =3D last_physid(phys_cpu_present_map)
>>                  / boot_cpu_data.x86_max_cores
>>                  / boot_cpu_data.x86_num_siblings + 1;
>=20
> This validly uses the field in the "max" sense, not in the "actual" one=
=2E

I see, both cases cover APIC IDs not just numbers of logical CPUs.
Thanks for the explanation and the pointer from Andrew in his response.

I just had noticed the, to me, unexpected value, while debugging
something. But based on this explanation things are actually working
as intended here. (The actual problem I was looking for it turned out
to be [1].)

[1]: https://lore.kernel.org/xen-devel/7f158a54548456daba9f2e105d099d2e5e=
2c2f38.1691399031.git.simon@invisiblethingslab.com/

>> It seems to be also be used in this meaning. At least on my test syste=
m
>> I get last_physid =3D=3D 7 (as I would have expected for 8 logical cpu=
s). So
>> dividing this by the 4 (number of cores) and 2 (threads per core) is
>> what I think was intended here.
>=20
> Would you mind providing raw data from your system: Both the raw CPUID
> output for the leaf/leaves of interest here and the APIC IDs of all
> threads?

Sure:

=46rom attached patch:

(XEN) dbg smp_processor_id() =3D 0
(XEN) dbg get_apic_id() =3D 0
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0

(XEN) dbg smp_processor_id() =3D 1
(XEN) dbg get_apic_id() =3D 1
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x1
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x1

(XEN) dbg smp_processor_id() =3D 2
(XEN) dbg get_apic_id() =3D 2
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x2
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x2

(XEN) dbg smp_processor_id() =3D 3
(XEN) dbg get_apic_id() =3D 3
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x3
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x3

(XEN) dbg smp_processor_id() =3D 4
(XEN) dbg get_apic_id() =3D 4
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x4
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x4

(XEN) dbg smp_processor_id() =3D 5
(XEN) dbg get_apic_id() =3D 5
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x5
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x5

(XEN) dbg smp_processor_id() =3D 6
(XEN) dbg get_apic_id() =3D 6
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x6
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x6

(XEN) dbg smp_processor_id() =3D 7
(XEN) dbg get_apic_id() =3D 7
(XEN) dbg cpuid_count(0xb, SMT_LEVEL) =3D 0x1, 0x2, 0x100, 0x7
(XEN) dbg cpuid_count(0xb, 0x1) =3D 0x4, 0x8, 0x201, 0x7

=46rom the MADT table:

[02Ch 0044   1]                Subtable Type : 00 [Processor Local APIC]
[02Dh 0045   1]                       Length : 08
[02Eh 0046   1]                 Processor ID : 00
[02Fh 0047   1]                Local Apic ID : 00
[030h 0048   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[034h 0052   1]                Subtable Type : 00 [Processor Local APIC]
[035h 0053   1]                       Length : 08
[036h 0054   1]                 Processor ID : 01
[037h 0055   1]                Local Apic ID : 02
[038h 0056   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[03Ch 0060   1]                Subtable Type : 00 [Processor Local APIC]
[03Dh 0061   1]                       Length : 08
[03Eh 0062   1]                 Processor ID : 02
[03Fh 0063   1]                Local Apic ID : 04
[040h 0064   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[044h 0068   1]                Subtable Type : 00 [Processor Local APIC]
[045h 0069   1]                       Length : 08
[046h 0070   1]                 Processor ID : 03
[047h 0071   1]                Local Apic ID : 06
[048h 0072   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[04Ch 0076   1]                Subtable Type : 00 [Processor Local APIC]
[04Dh 0077   1]                       Length : 08
[04Eh 0078   1]                 Processor ID : 04
[04Fh 0079   1]                Local Apic ID : 01
[050h 0080   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[054h 0084   1]                Subtable Type : 00 [Processor Local APIC]
[055h 0085   1]                       Length : 08
[056h 0086   1]                 Processor ID : 05
[057h 0087   1]                Local Apic ID : 03
[058h 0088   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[05Ch 0092   1]                Subtable Type : 00 [Processor Local APIC]
[05Dh 0093   1]                       Length : 08
[05Eh 0094   1]                 Processor ID : 06
[05Fh 0095   1]                Local Apic ID : 05
[060h 0096   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[064h 0100   1]                Subtable Type : 00 [Processor Local APIC]
[065h 0101   1]                       Length : 08
[066h 0102   1]                 Processor ID : 07
[067h 0103   1]                Local Apic ID : 07
[068h 0104   4]        Flags (decoded below) : 00000001
                           Processor Enabled : 1
                      Runtime Online Capable : 0

[06Ch 0108   1]                Subtable Type : 00 [Processor Local APIC]
[06Dh 0109   1]                       Length : 08
[06Eh 0110   1]                 Processor ID : 08
[06Fh 0111   1]                Local Apic ID : FF
[070h 0112   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[074h 0116   1]                Subtable Type : 00 [Processor Local APIC]
[075h 0117   1]                       Length : 08
[076h 0118   1]                 Processor ID : 09
[077h 0119   1]                Local Apic ID : FF
[078h 0120   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[07Ch 0124   1]                Subtable Type : 00 [Processor Local APIC]
[07Dh 0125   1]                       Length : 08
[07Eh 0126   1]                 Processor ID : 0A
[07Fh 0127   1]                Local Apic ID : FF
[080h 0128   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[084h 0132   1]                Subtable Type : 00 [Processor Local APIC]
[085h 0133   1]                       Length : 08
[086h 0134   1]                 Processor ID : 0B
[087h 0135   1]                Local Apic ID : FF
[088h 0136   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[08Ch 0140   1]                Subtable Type : 00 [Processor Local APIC]
[08Dh 0141   1]                       Length : 08
[08Eh 0142   1]                 Processor ID : 0C
[08Fh 0143   1]                Local Apic ID : FF
[090h 0144   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[094h 0148   1]                Subtable Type : 00 [Processor Local APIC]
[095h 0149   1]                       Length : 08
[096h 0150   1]                 Processor ID : 0D
[097h 0151   1]                Local Apic ID : FF
[098h 0152   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[09Ch 0156   1]                Subtable Type : 00 [Processor Local APIC]
[09Dh 0157   1]                       Length : 08
[09Eh 0158   1]                 Processor ID : 0E
[09Fh 0159   1]                Local Apic ID : FF
[0A0h 0160   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

[0A4h 0164   1]                Subtable Type : 00 [Processor Local APIC]
[0A5h 0165   1]                       Length : 08
[0A6h 0166   1]                 Processor ID : 0F
[0A7h 0167   1]                Local Apic ID : FF
[0A8h 0168   4]        Flags (decoded below) : 00000000
                           Processor Enabled : 0
                      Runtime Online Capable : 0

If you wanted something else or need more, just let me know.

Simon
--------------Y0Bpwe3jpar1IaqWoKfUGww7
Content-Type: text/x-patch; charset=UTF-8;
 name="detect_extended_topology-dbg.patch"
Content-Disposition: attachment; filename="detect_extended_topology-dbg.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMgYi94ZW4vYXJjaC94ODYv
Y3B1L2NvbW1vbi5jCmluZGV4IGNmY2RhYWNlMTIuLjhhMzVhNWFmZmUgMTAwNjQ0Ci0tLSBh
L3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9jb21t
b24uYwpAQCAtNjI0LDcgKzYyNCwxMSBAQCBib29sIGRldGVjdF9leHRlbmRlZF90b3BvbG9n
eShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJaWYgKCBjLT5jcHVpZF9sZXZlbCA8IDB4YiAp
CiAJCXJldHVybiBmYWxzZTsKIAorCXByaW50aygiZGJnIHNtcF9wcm9jZXNzb3JfaWQoKSA9
ICV1XG4iLCBzbXBfcHJvY2Vzc29yX2lkKCkpOworCXByaW50aygiZGJnIGdldF9hcGljX2lk
KCkgPSAldVxuIiwgZ2V0X2FwaWNfaWQoKSk7CisKIAljcHVpZF9jb3VudCgweGIsIFNNVF9M
RVZFTCwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisJcHJpbnRrKCJkYmcgY3B1aWRfY291
bnQoMHhiLCBTTVRfTEVWRUwpID0gJSN4LCAlI3gsICUjeCwgJSN4XG4iLCBlYXgsIGVieCwg
ZWN4LCBlZHgpOwogCiAJLyogQ2hlY2sgaWYgdGhlIGNwdWlkIGxlYWYgMHhiIGlzIGFjdHVh
bGx5IGltcGxlbWVudGVkICovCiAJaWYgKCBlYnggPT0gMCB8fCAoTEVBRkJfU1VCVFlQRShl
Y3gpICE9IFNNVF9UWVBFKSApCkBAIC02NDEsNiArNjQ1LDcgQEAgYm9vbCBkZXRlY3RfZXh0
ZW5kZWRfdG9wb2xvZ3koc3RydWN0IGNwdWluZm9feDg2ICpjKQogCXN1Yl9pbmRleCA9IDE7
CiAJZG8gewogCQljcHVpZF9jb3VudCgweGIsIHN1Yl9pbmRleCwgJmVheCwgJmVieCwgJmVj
eCwgJmVkeCk7CisJCXByaW50aygiZGJnIGNwdWlkX2NvdW50KDB4YiwgJSN4KSA9ICUjeCwg
JSN4LCAlI3gsICUjeFxuIiwgc3ViX2luZGV4LCBlYXgsIGVieCwgZWN4LCBlZHgpOwogCiAJ
CS8qIENoZWNrIGZvciB0aGUgQ29yZSB0eXBlIGluIHRoZSBpbXBsZW1lbnRlZCBzdWIgbGVh
dmVzICovCiAJCWlmICggTEVBRkJfU1VCVFlQRShlY3gpID09IENPUkVfVFlQRSApIHsK

--------------Y0Bpwe3jpar1IaqWoKfUGww7--

--------------p7HEWvjRNGVEGKLy0KR00SiA--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQ5gIACgkQkO9xfO/x
ly8GLw/+L6gzs2QJTuthxUS/32txoUHkgKJrZQRh9ZUsHrPVFNYjedTGJ42XlxIe
Heh+82JuN3PM3xgAxwJPwnYY7AvPunn0L/CZJ/r8wT/hwRozm9UePuqYbLnAbovp
u9s5mdCTK54fr3/6qPFd3JqUcQ/RsjwxMgLVu6VxKAUGs+ZhjqOw6EHTlgAKblP8
KUm9Hh6T4TmAJJOlwDYU48OCZtPs9WTEL05R5kFBLDx1CpHvnIEooyD7owulj/eI
AJg2BDswLu+gatVHmlgRY3a/XtTFYPwq4Mm7u1ABtev8CKSeJc7nIwruvTxdTd8B
FhbWvWaMSBJRsb0AGk/kghiaqO0YNFxXIPqiXqRhDqvxAeFHTTH/B2dKqIb1XB1k
xGgdm+thhrw+m0SzC7D8JT8gmN/IV2krtwOmrnjOa5PFeJ8cKSouSN9zEO7UdCjK
M6ot0jzBU7SOWQMmZ5mVVC2qQSURZ+t9OqUCYjjQmCpszSzwD++b6kezKXQ2M4lF
4JDfazzC71s7BCy3/h6eQ4aFd4soC5VaEeocDyPyoj7KIkctYgH9XER7lmviH2kT
m4ouiB+oXvr4IUeq1ZTUOHnGuNZ0TSUu6j0qro9B16wWQBGPJ0OYXEhelOBGD/mY
NHCA3P/2lsG2L/C7OXeLqefkjUdE8yjXMAlfisaE+NozkKAJ9G0=
=cmOS
-----END PGP SIGNATURE-----

--------------REdQ0Uf83wSfWFMIfXj0tc00--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:41:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:41:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578348.905801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzYC-0004GS-P8; Mon, 07 Aug 2023 12:41:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578348.905801; Mon, 07 Aug 2023 12: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 1qSzYC-0004GJ-MK; Mon, 07 Aug 2023 12:41:32 +0000
Received: by outflank-mailman (input) for mailman id 578348;
 Mon, 07 Aug 2023 12:41: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=g2NL=DY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qSzYB-0004GB-7a
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:41:31 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e89::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9b5b17e-351f-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 14:41:28 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CYXPR12MB9319.namprd12.prod.outlook.com (2603:10b6:930:e8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Mon, 7 Aug
 2023 12:41:21 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 12:41:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9b5b17e-351f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YvJHcgKgSJO7iqUWJxQAprIpYpxAbVgQ3W8u1ZDrZwoLXu0WcKnY7s6FGwJmwr0Yb/IXEVWXryyp9JuFd0pNc/6/zPVtBP/9D6tAps4nNT29ue9mZb5vOkgmxRQUMqI9n+J6KYw1kDRVYS2ZtxstqJz4X4GESWSkHJ0ymw0nVC9LLDKCrlj1eB7RNumbGB4vxSw3W8+i+8UiLjKNG2C1CZYcSL3pzRtoDXHWOGLgSCs899132P7WduItF9gpcfn9CzoIpgQIicIyaJdgKBml8qOtuKlFI7nK3tG27Q11cSiqEyWievQF/BScnNMmVikmvBWOJPNc2vrw7nLPUaicJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=02CKm/SnpetlFdMVq5ZRrNDcvVOyMucAFhXy8uL9PIQ=;
 b=SiidKtFBA08WylCniIKv/hwlZld51GFl68WG7CU8e3fGtmBAO5kMoGa9oIQcdzyRX0VNJm/gHzMKZ/V93BZ0HbaKxNBeIARXf5GFWUr3j0a/054oyjs/TvAXaK0/YCsWxqPbuFEJNdsiq/ou0QIk/UTCy6ihyXrf+N9ty+yuqRThMuUmz1PivaPizPG4PY1uqgqS9/2TZFhvEOom0LeSm0PsijXt617so39HiZ7dTWbDcL50wBoyu0bIh2FtpuqyVCKLoEIFe5GqLJ7MbBjkA6vsEdwcLj5r8ojco+gkjUKGEzS0IPFJcYc+Z+puAyVTfcFjLTc8I7STJEXjJ2XdOw==
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=02CKm/SnpetlFdMVq5ZRrNDcvVOyMucAFhXy8uL9PIQ=;
 b=w46P5mosIAQTIyGdeqB40F1iOJ8771TG+Us7DYMYELd9nRWVb4V+mTxKV89TuHJqPQ4X9d1ifo1CwOJ0LxAxF4bqdn9S4cb1F3/d/Z1m2JxGYai7MJXDcfKYStzvAcNq/kgqS15T/FOvr0Qwtb87Bm7/9t5ZMxAYbEwDNsWtEOI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <292660bf-0f12-28d0-c7bd-2b870ed143e3@amd.com>
Date: Mon, 7 Aug 2023 13:41:16 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
To: Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <Penny.Zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <79de42d1-35db-79b1-da2a-f08a72fa53d7@amd.com>
 <AS8PR08MB7991B7C1B78531B9322934E2920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <1366a5b1-4bf4-20d6-73a7-ad1735ab8c10@amd.com>
 <4dadcb55-1c94-4b57-a7fd-32460f4d9604@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <4dadcb55-1c94-4b57-a7fd-32460f4d9604@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0328.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:39a::21) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CYXPR12MB9319:EE_
X-MS-Office365-Filtering-Correlation-Id: 145c4517-8ec6-47ac-d109-08db97439baa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WQXDGrP3JoKv97UYhzSSUCgbACzKYQF7TYN818QFP1BkOHILFycrMqyAC2JvRAhJbiWBI7yUJGm3YgWk3ekLtg5u5GphNMnlEfdvwFpkTpJNcl//Z8bcUfEgIwR6piPJMkUZdDSeg6U4Ckl3HoElMoGvXIz+ncNoCzIFSdhwV6blAGvu59PzJQjX5eODY84SNrXETCuMM1Tib9ItPtDByw3AUROas4dTWkt52mNzwpdRnBEpSeaCugKSYWaSBa1d3y5JsaOv1mkbEDCpkXjhreuv9zTc5pWRe5jCsF2A/Xd14TvzXPzEEeFV+OYdMFbnVUYIUITTErMIA9DAGBGd3h962qXL0nRsW9MenQeQtlxjQiiTyiQ9xlOY+yqsNA07NUmYNyoqM+Qmos7LHBTlr18KHgKxZGjR9er6S3+02LEADpcOwt9XI3USDgI//FwVrzw9u6gUon76qEMV916da96wElSKw2Giyvj543SCkoHmvXpMFiYNP+h6DIuzB29sCcC2kturzvj7a23VXVR6R3CWF9lw8vh6CB94GZyIzxozxBc+3W6rwzkJxrvic593T0dTTNW5AtRROSj8AQfB+rl+dr3rY/bMHKX11Yr7X2xz7QTaFEWQyWG1Shaz01zo1BLQiHU+tOI7v2nzsNjvwA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(366004)(346002)(376002)(136003)(451199021)(1800799003)(186006)(2616005)(6486002)(6666004)(6512007)(966005)(478600001)(31696002)(26005)(36756003)(6506007)(53546011)(41300700001)(316002)(5660300002)(8936002)(8676002)(54906003)(110136005)(38100700002)(4326008)(2906002)(66476007)(66556008)(66946007)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnNCc2daRXVPazNlYlZraFNkQVBwYUxNZFhUMWxUcCs5TFZFTUt1aXE4RlNw?=
 =?utf-8?B?TWhxRjVIQ0RPQllHNEtkM3ZtU1VhanJrallLNXJEZTFVd3hmcXhUUit2TWRE?=
 =?utf-8?B?QVZGWEJ6NFkrb1hsYitScnh3OVA0bHpWT0Jyei9xUUJYR2QwL1RCR0E5TXV4?=
 =?utf-8?B?S2J1eUlHMHZuVkVFOVFOQnZLdXBwZUI3QkdaWHRDME5UMkJ5bGVkNWhYTGQx?=
 =?utf-8?B?Qm9MaGJ4K25rUDRYNjNCQTUrek11QS9KZ21SMytJSDl3OUVwbi9ORjZiUktq?=
 =?utf-8?B?MHE5UVVidVZCOElTWUNMSTlONjl4NjI2RjBwV0VJZDFDc1RkRzJCZWJkbjJ0?=
 =?utf-8?B?bE0rTnlrbW1VUGNhMDF0VkJNWUk2bGZzdHN6YUZxa21ERzU5QlJ4RnlwY0xJ?=
 =?utf-8?B?cFVkQ0pwZFNwcEErRXRJZC8zclBLVVFVVnFld2NYNXo0RXdmUzdSajlGcjlY?=
 =?utf-8?B?cytTMVQzUFk0eDRuT0ZKTUwxakhZNVNNTnd5Nmo4YTkwbCsxKzMySTZIbFJ6?=
 =?utf-8?B?Q08wM2MyK2FKTUJ6Mk1Pd1ZjaXNEL0NxT01qUDQ3R2NyZS8vRkMrMzdWa1Rx?=
 =?utf-8?B?YlZCc3M4MFBFWlpKNXZ3OEV5bktuaWtMeEh2ZXBuUi9rS3o3SXRwT2ZYSm5h?=
 =?utf-8?B?Y0xRTFc1ejBZUmhzQXJDTmN0UW4wWkpyeVd1QmNIVGhQTFBidGpxbzcyRTFC?=
 =?utf-8?B?VlpEWHo4dThFTThVNDBaUHh4TW5vTmpGUmlWMzd5SExZTm5wc0J4OUlYWTcr?=
 =?utf-8?B?WnRvei93bytHNnNvS2p2UWFOeFZUdFJDeTZjbGZpRTd1SUp2UGpPZ2luV1lZ?=
 =?utf-8?B?aWVseThwUmc1cElwdFFZa2ZxNGgxS3N2dm5vUnZLa2kyYTlocDg2bDh0K1JB?=
 =?utf-8?B?U2FEMUN1TVRFSk9nSkFoWVhlZFNJNUNXbXFxVXBvUVNyNGEyRXJ2NnZDdVIv?=
 =?utf-8?B?SEcyWWhLWTN4dlRtbVdndU0wVWs1aUZ4T1BmQ2ZJZlpKdHUvbVR1MExZcGxk?=
 =?utf-8?B?dHIyVld6TUJLY3MrN0didTVhYXNscTgwc09vcXB5N0RtQkR1ZytYZ0ExQnJ0?=
 =?utf-8?B?cUFqVDF2azR4Nm9JU3RSNVVRQ3JsWDlhZ0RERm5CUVRwRlhJOFNHVitQakFv?=
 =?utf-8?B?cDBGNExNaURWOUNpR0VrNjZhZVlrU0pCSjJ1OEcvcE9YbkNJQ1BPM0NyNDNM?=
 =?utf-8?B?YWZFdjA2TnhKdCtaS1lLcUFzL2FrK3JGZnBOTHlWSUwyMjgyUWh5RTFMQlA4?=
 =?utf-8?B?eUJXN2ZPcDVBbXNvNHFoNC9HZDBDUnBCaEJsNlp5am5VZENiTU12YUhVdTdC?=
 =?utf-8?B?NXRiWUlOU25TOGpkN3VGUkxPUjNHM1hMRVpmTkdNcnJMUTNieTJjVkI0bjB6?=
 =?utf-8?B?T2pVTFV6RXA1M1luaU5MeVAxTklNM3R2Z2FVYmEwZ0RiZDVxZVRlVFNWSHJO?=
 =?utf-8?B?Nm0rL2lZY3l4b2RGK3RDcml2UzZ4SWFqNTJPeUtLajRjYXMvVmZhdXlxcWdU?=
 =?utf-8?B?M1ErSndvOCs0aFltV2tkekhlT0ZhMkdJUVpvN1B0Qk5QdldMcXV5bmF4VHdB?=
 =?utf-8?B?Qy95aCtmRkgxTTVNMEFINFVON0w1V0dNM3dzcmV1UHNtVTdKSGZLKzBUdEw0?=
 =?utf-8?B?NTltbHRRL1RzSmxMSG81bVpuL29ScjF6MGlzVkM3dVAxVWJ4M1FCTEtHZ2Rl?=
 =?utf-8?B?amRBdjhEclZDdmp3QUg2SThNOVM3VHlCQ0FsOFRUekRzWkRld0VpTXErTGIx?=
 =?utf-8?B?bmF2VFpSbUVBY0x1ajdFZWJGRUVNc1NYYzFYQnNSbmFHYzR6SEw2Sm1uMkw4?=
 =?utf-8?B?bVZYbWlKMklFZGRtTkYrYTJlWTd6MDlYakpRT09TbURWTzZCVlJUa3ppeEh5?=
 =?utf-8?B?ZFhqbU5GYVVsZktaVThlM096cmpkYWJiWGRFaStkSWtPUnI5S2VjdkVRbTd0?=
 =?utf-8?B?QS9FZkk4dmNrWW54MmNZa3dIWTh3RkQvcHZCYWxKY1ZXZzRHUm5IbytEVFpz?=
 =?utf-8?B?MDhRSTRMNzlBb3Z0djY3UGthRHMwdk9KaEdmUTg4dFJYQ0htcGQ1ZWUwMVE5?=
 =?utf-8?B?SDY1TU8zTEZBK3BMa2xXbkNHUExrcmxoSmJVVk0vVHhaSXVtYlBDUllMblVr?=
 =?utf-8?Q?eqvBPBSzJjs9kpdXibMucWzE+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 145c4517-8ec6-47ac-d109-08db97439baa
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:41:23.5942
 (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: Y5CE38ibifqbNUKeYKfmUWQcPr8wPFRC76uOAqh8ZqagoBXBFmIY1kLGslwTrwUhf9BHnBWYTJJgBT712Rw76Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9319

Hi Julien/Henry,

Thanks for the explanation.

On 07/08/2023 12:47, Julien Grall wrote:
>
>
> On 07/08/2023 12:43, Ayan Kumar Halder wrote:
>>
>> On 07/08/2023 12:35, Henry Wang wrote:
>>> Hi Ayan,
>>>
>>>> -----Original Message-----
>>>> Hi Henry,
>>>>
>>>>> At the moment, on MMU system, enable_mmu() will return to an
>>>>> address in the 1:1 mapping, then each path is responsible to
>>>>> switch to virtual runtime mapping. Then remove_identity_mapping()
>>>>> is called on the boot CPU to remove all 1:1 mapping.
>>>>>
>>>>> Since remove_identity_mapping() is not necessary on Non-MMU system,
>>>>> and we also avoid creating empty function for Non-MMU system, trying
>>>>> to keep only one codeflow in arm64/head.S, we move path switch and
>>>>> remove_identity_mapping() in enable_mmu() on MMU system.
>>>>>
>>>>> As the remove_identity_mapping should only be called for the boot
>>>>> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
>>>>> enable_secondary_cpu_mm() for secondary CPUs in this patch.
>>>>>
>>>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>>> With two comments
>>>>
>>>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>
>>>> Tested-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> Thanks, and...
>>>
>>>>> +/*
>>>>> + * Enable mm (turn on the data cache and the MMU) for secondary 
>>>>> CPUs.
>>>>> + * The function will return to the virtual address provided in LR 
>>>>> (e.g. the
>>>>> + * runtime mapping).
>>>>> + *
>>>>> + * Inputs:
>>>>> + *Â Â  lr : Virtual address to return to.
>>>>> + *
>>>>> + * Clobbers x0 - x5
>>>>> + */
>>>>> +enable_secondary_cpu_mm:
>>>> I will prefer "enable_secondary_cpu_mmu" as it is MMU specific. And 
>>>> ...
>>> ...actually this as well as...
>>>
>>>>> +/*
>>>>> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
>>>>> + * The function will return to the virtual address provided in LR 
>>>>> (e.g. the
>>>>> + * runtime mapping).
>>>>> + *
>>>>> + * Inputs:
>>>>> + *Â Â  lr : Virtual address to return to.
>>>>> + *
>>>>> + * Clobbers x0 - x5
>>>>> + */
>>>>> +enable_boot_cpu_mm:
>>>> prefer "enable_boot_cpu_mmu" as it is MMU specific as well.
>>> ...this, are the name suggested by Julien in [1], so probably I will 
>>> stick
>>> to these names, unless he would prefer the proposed names. I would
>>> personally prefer the names that Julien suggested too, because from
>>> the comments above these two functions, these functions not only
>>> enable the MMU, but also turn on the d-cache, hence a more generic
>>> name (using "mm"), is more appropriate here I guess.
>>>
>>> [1] 
>>> https://lore.kernel.org/xen-devel/c10bc254-ad79-dada-d5fb-9ee619934ffb@xen.org/
>>
>> This is fine. My concern is minor.
>>
>> If this file is going to contain MPU specific logic as well in 
>> future, then suffixing a *_mmu might help to distinguish the two.
>
> For this series, it is quite important to look at the end result. In 
> this case, the MMU logic will be moved in its own file. 
> enable_boot_cpu_mm() and enable_second_cpu_mm() will be implemented 
> differently between the MMU and MPU to avoid #ifdeferay in head.S.

Makes sense. I am happy with it.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:44:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578355.905811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzas-0004sD-6u; Mon, 07 Aug 2023 12:44:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578355.905811; Mon, 07 Aug 2023 12:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzas-0004s6-4C; Mon, 07 Aug 2023 12:44:18 +0000
Received: by outflank-mailman (input) for mailman id 578355;
 Mon, 07 Aug 2023 12:44: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=FiBK=DY=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qSzaq-0004rp-CJ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:44:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1de9e286-3520-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 14:44:15 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 93B954EE0737;
 Mon,  7 Aug 2023 14:44: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: 1de9e286-3520-11ee-b27e-6b7b168915f2
Message-ID: <52e93c6b-376d-7f31-e319-c90de4588b6a@bugseng.com>
Date: Mon, 7 Aug 2023 14:44:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [BUGGY] Re: [XEN PATCH] x86: Address violations of MISRA C:2012
 and drop bool_t
Content-Language: en-US, it
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.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>,
 Michal Orzel <michal.orzel@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <2cd78bd0d39b36fe73e87cd1011658a54c2c729d.1691158092.git.federico.serafini@bugseng.com>
 <64ec2572-348a-2c6f-d354-2747659e4666@citrix.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <64ec2572-348a-2c6f-d354-2747659e4666@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/08/23 14:31, Andrew Cooper wrote:
> On 04/08/2023 3:11 pm, Federico Serafini wrote:
>> Give a name to unnamed parameters to address violations of
>> MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
>> named parameters").
>> Keep consistency between object and function declarations thus
>> addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
>> object or function shall use the same names and type qualifiers").
>> Replace the occurrences of bool_t with bool.
>>
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>>   xen/arch/x86/cpu/common.c            |  6 +++---
>>   xen/arch/x86/include/asm/processor.h | 16 ++++++++--------
>>   2 files changed, 11 insertions(+), 11 deletions(-)
>>
>> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
>> index cfcdaace12..5f29148416 100644
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -26,11 +26,11 @@
>>   
>>   bool __read_mostly opt_dom0_cpuid_faulting = true;
>>   
>> -bool_t opt_arat = 1;
>> +bool opt_arat = 1;
>>   boolean_param("arat", opt_arat);
> 
> I see this has been committed, but you do realise you've created a new
> violation of 8.3 by failing to change the declaration of opt_arat to be
> bool ?
> 
> Please everyone be more careful.Â  There is an enormous amount of MISRA
> churn, and it's hard enough to deal with this when the patches are correct.
> 
> ~Andrew

I'm sorry, I noticed too late.
I will submit a patch to address the new violations.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:44:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:44:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578358.905821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzbC-0005JC-Ee; Mon, 07 Aug 2023 12:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578358.905821; Mon, 07 Aug 2023 12: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 1qSzbC-0005J5-BY; Mon, 07 Aug 2023 12:44:38 +0000
Received: by outflank-mailman (input) for mailman id 578358;
 Mon, 07 Aug 2023 12:44: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSzbB-0004rp-0n
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:44:37 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a2da328-3520-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 14:44:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8606.eurprd04.prod.outlook.com (2603:10a6:102:219::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 12:44:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 12:44:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a2da328-3520-11ee-b27e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aNJnj7wyJtGM2Osd7XA4FzhNENXaOhbZeD7OPMgC5aHcy6ryHqgv5ONFKtHiBGSL6tUH2awXKP1XlunkHiqrHUfGLnf60Fc1lxTSx99TlFJKezPp6h1AjH7pYdZTalwDMLydq7ilSTQb7O29Z2LglP3cVwqizh5lubQKWwXIjFX2oD8p50SA7/A59jQDN5a0sB4CRRaKWzBfz5xjK/7OgpWxk+Q4sFlN7mFQtO8gGL2y2zkDVXwVIVfVwFBoEVZUms71K7mmfXCHwnJZiNjnpgBBNKRprRYDxHmUaOCIYmvoQIe3OxPFCR4OKJhrdn9lVVlDFUJBCccdv2THTGjUhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3kMC6kOdnqVsG/Dilzf0A/0ussROHfjFtc2W89H0nh4=;
 b=c72LsioPg+QxTGBkqh6F8rxy+d2ahTAx5JCkkV+haTir6rhgrKFLNIYi6GVs8meqMJo72mxP6y5+dDTe0oIbVbt+uL+3TS8QwKYrKjXzn2xjLnI0rzMtdqqF/NmBYQa0OWewR6t0/j1lGQjKlTYE17O5GeBPvngPbvNrIg4YQNr8W76yRwmQE1ouYqFeZK0VLs3MlGo8JBCscKo3Bz3yY7YySfn891DovS1waZG1VgIX97O3+qAqzaDG4BVxPf34mp0GFwC9OxY7gJ1l6TvAhKnZ0poVzjmCbohJbc8+HFVxrc3GAQEyqL8QMuIMWg3dPpKocUcLGUzYPQtlUbgwtw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3kMC6kOdnqVsG/Dilzf0A/0ussROHfjFtc2W89H0nh4=;
 b=UBrbH5pDNLwF7Iz8KCDTNhuj953hxWhxO0LXkOhTin9kTUtOBTgM2U8wiUcaz8dr9B5P9GhJYw4LbLgja8M5WHouEx+IlczaXHjM7NaTWT6VSv8ouFu93Uzfypb8pxOnC84JrFq4N9d2zwEFnYL/Ny03FXA+rUFBwOBj9SwuDI1c3tQnVBWZ15JXu9fzLkEMzwGdF83QEybsIaMeI9jaD0MFW/vLiDE3Yik27VfA4edfQKVPC+4hYttbZSbR95zKJCAO6aqfei/AjZds9HiJlkDeeG3+8SsnJZ9TVGNX7AmftuldZ9IUDAoa/JGAu4q0xpldd0os+Juh9/utFs7D7A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f2772b3-ea3f-7f7b-1a28-7f288c9da7dd@suse.com>
Date: Mon, 7 Aug 2023 14:44:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 1/4] x86/mce: address MISRA C:2012 Rule 5.3
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.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>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <8a11baf39c140af9d5694298e5f1f0bf59ac0621.1691135862.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041343140.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308041343140.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8606:EE_
X-MS-Office365-Filtering-Correlation-Id: 195a2520-ca91-4d6b-4622-08db97440cf3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sV1L+w5wjsLorIsKImM/z93sjgGOBt8HM9UcV1QXa7OfUwhD5+01FUuhocHtVkXUePMTS+ByshT7RBcT8D2TVoqVRYGq2INDj6gRDYtEj2U31k6Qy+WK/ZxK62r0Qs6R0QZ9LNdrrOICRyZT9cOvtQOX35ulPSeEDWUg99Rqu5FTfZ9+sVhGw01dzh6pr891DUe5d9emLag6fYKSVEd153eup21p5FNMz7WedJvtrgCkBzsK5I6JeaQwNj/6LOqilFLXg+cFelVkT4YvVolDjEFWxfjD5ZpuRTkSy7ckq6k668OpDuHiMrt6fssTQ/p1GzUw0kirzjbrJiYTqfsQZJa3zlGcY+IoHi+YiFSLNtCP01q5zilqLxodPzAEmW2pU/UsJVDmIleOdAusq+g4ShXrqpMi+xk4sUJwDrh2TATHtlI7BKjCNn/yeQ7tGBjlF4ugpY4ebITVHwttuxSAxhQHWiL049WmXmAG0UsHFtniKQvAJT/HFFC3+VJSMweAtc/Fa9Q8WmgF8EjqrIxfyO0pfVc3J0yAfwlYFHqCvcXx0JSAPgObUVFxdOAe+NE0KGnx4sk4lkdIViQ/OUJdJTM1avWgs7xdspCZa9Gwj5yjWswo3S/SWL1VS3t9GiqL2LS7H80jd/gvCOdoXnJZOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(376002)(366004)(396003)(346002)(451199021)(1800799003)(186006)(2616005)(6486002)(6512007)(478600001)(86362001)(31696002)(26005)(36756003)(6506007)(53546011)(41300700001)(316002)(4744005)(8936002)(5660300002)(8676002)(7416002)(54906003)(4326008)(2906002)(6916009)(66946007)(66556008)(66476007)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T2Y3Ry9yQnlTMjBqWituR2FaQUVJQ0N2MDdCVXg5c25UTFdZQ1BoSzg3QjFZ?=
 =?utf-8?B?aThNTHQzS1lzMzFhRWpOTXZrb0Q4K0g4NU9pUFNkVjQ2cXlndUZsQXdqcGVF?=
 =?utf-8?B?SGU4d3NOcGdWQm4rL2x3VStZdUVqOWNzZWxrWEViTXhMZVJlVEtoNFY4MWxp?=
 =?utf-8?B?TG85eEpvNHpnSGlJUWttU2dqS2N1RU9uSlptaVBEVWNBNmpRcFpFWUxFWWJS?=
 =?utf-8?B?YjlWUXJCaWJTaUhVY2IzZkFXLzdDK1BIM1d4bkR3SVpGQUxlakNNU1RuV0F1?=
 =?utf-8?B?SkdpV1d2bkpNSW9HNUhYUU5uNmFpeUpsU0VFaEhDZkkxRTZ6cHRlSGFqdkc3?=
 =?utf-8?B?ZG9vN2I5YmhYWElIdFBOd3ROWFFJMUYvVlpqY0FaUE1qZXR1eTh3RktSMjF2?=
 =?utf-8?B?WWdZUHg4WU9lSW01UGtTeG53MlVoajM2TCtuVWYzNDRnS3N1NTVxVWtRendN?=
 =?utf-8?B?c3IrcEpldkI4REFKWmZoZERYM3hLMnM5dDNWc3I1TFNEVC9uQVRUZXI3d3NV?=
 =?utf-8?B?ak8vN0pEczd1d1dtZDkzZHJhdUZtZ1ZZcnRWUUM1WEtMUzRsRy9IZTE1WnVS?=
 =?utf-8?B?ekRTUzZvMHo5NTlzajBZMDVnT1FRMEgrRG1ZMGJ2MXRkMm5uMXpUZi9QVDNz?=
 =?utf-8?B?UGM1cEdzeGhtMWNFRCtFYTlEblNOYzY0Qk9kSEVud2M1VUZwVHZYRmJkWWYv?=
 =?utf-8?B?dVNIcnRlSnoxVFlDZ2JoNGlldnR6N1Q5ZTNOaXZ5a0xVaWdoR1lhajNadVJo?=
 =?utf-8?B?YnBaVVpoUzdySWRBTUFsZjA5cHVSNVBuNjBPS0ZxYmQ2MTd6U3ZVYkFvem5w?=
 =?utf-8?B?VmpQZ2owZmFHRng3bDV0UEpCM2g3SmRIY3daNWRDUjRJOU5PRGhHSWZiUXQw?=
 =?utf-8?B?UmVHU2FUZklKeTFvaVVIcmh6UDU5aEtrNTN5WndnNHk4T3RzTGxyd2FScDQ2?=
 =?utf-8?B?YWZBdmlyRmw1UlhCZldrUXpZNmF1NDg0Ny9zQUQwd2QyakdKUjhueEFIdzha?=
 =?utf-8?B?eTEyeVR5aEFVK0xQd08rNFVuUW1JR3Urd3FFbjdqL1Z6QlJlQVI3a3BTSENu?=
 =?utf-8?B?UUJOS2dZdjdsVWRhMzMwb0JiTG94cElaN2grdGMrZ1pQNTFvd041Qy9zRVZC?=
 =?utf-8?B?WW15ellsNnBxMmJmZ21TTmRxYmdhSUZkcmFoeUd5WnhkNUlBSE04UXpxa2pC?=
 =?utf-8?B?eEprM2VpK0RlNUFnOUNTTEdrSmJ0ZG93a2ZsNEtLQWZ6dmNUbjhXWk01SWVn?=
 =?utf-8?B?bnFsbVJiekpKYWJtcUtYN2ZBNzQvck9sR3NSRGdOc0RweWg3N2JDZXFrVklI?=
 =?utf-8?B?azNiNkN2ek9QK3VjWmV2by9wemxIZU12V2JpYzRvTUcxcElOSmh1bExIbXdH?=
 =?utf-8?B?SFJXckV4QXhub2xkb1AwS1loQkZIWk4vSEYzM3RaUmFrVjBXTzNza2tTOEE3?=
 =?utf-8?B?T3c3dG94RWdzcC9Ec1AwdmNJYVgrYTFYem1CcjVYQ0pKcHBZU2hpTEZFRnRn?=
 =?utf-8?B?RDdrWjF5Vk9yOXNxNVRnWlkxOFA1bG5WVitvR0RNZVZ3WUhUVEVrWmpZTWd6?=
 =?utf-8?B?MkxybXdEWWtuSlpYYThvalkrbEIxTnhuanpETTg0eU5KVDBVT3hyOHpkcVMw?=
 =?utf-8?B?akJlVGsxVitKbkJJeTJ4WVFJVEhTQ2I3Qmh0TEtpa2RlUnhSRXdVa0NtUnhu?=
 =?utf-8?B?cEtPdDA0YTQvdVplUVBXL0ZSdFB5czNiNlJ0SHAzdkpuQ25LTXllTkk1WGZ3?=
 =?utf-8?B?K0V1ZXZsNzVYWXB1RGFTN3dDUU1nd1dQQ1BJUzVLNnJ4U05OczAzREVaYjlT?=
 =?utf-8?B?bUlZQWs1bG1ROWtFV2p0aTJ1VDJTaXk2dDlvajJUWFp2ek5ycC9SdFVXMU1V?=
 =?utf-8?B?L29KdzE0NTRKalZOQ0JsRWxFRVBTSmVmeEtiaW9rcVJLMzlLVW1OYzRmS1Fm?=
 =?utf-8?B?WndmajMvT1pnT1ZOWDlNZ2lEa3pKS1dWV0Uyb1lIanFLV0diUnNJcjByaXZn?=
 =?utf-8?B?Vyt0VFpVeWcxY29xRlZndVBoeTdvY0ErZUFDMEM0R1ZDNjBTbHV0Y0pWb1Bv?=
 =?utf-8?B?OHU1OEd5d1dXaVFzUmNpMDMrTEl0K0ZEWTI0RktHSkpscDR6bVZyYStaakhu?=
 =?utf-8?Q?w4FF0kflzzCNGJWzFLPHQlqS2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 195a2520-ca91-4d6b-4622-08db97440cf3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:44:33.4816
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zJn0P6RqQL6/VknQuFyG4Ljji5uwJfY0lY+ZvOQfXrrTj2am3JO8VMs+TvX8YoD98vtPM2mw8NtyhsSHzo8BqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8606

On 04.08.2023 22:43, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>> Suitable mechanical renames are made to avoid shadowing
>> the function identifier 'wait' declared in 'xen/include/xen/wait.h',
>> thus addressing violations of MISRA C:2012 Rule 5.3:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope"
>>
>> The parameter name 'bar' is added as well to comply with MISRA C:2012
>> Rules 8.2 and 8.3.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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




From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:48:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:48:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578367.905830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzex-00067O-Tk; Mon, 07 Aug 2023 12:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578367.905830; Mon, 07 Aug 2023 12:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzex-00067H-R8; Mon, 07 Aug 2023 12:48:31 +0000
Received: by outflank-mailman (input) for mailman id 578367;
 Mon, 07 Aug 2023 12:48:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSzew-00067B-Fj
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:48:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b54507f3-3520-11ee-b27e-6b7b168915f2;
 Mon, 07 Aug 2023 14:48:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9338.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 12:48:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 12:48: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: b54507f3-3520-11ee-b27e-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YIBhfmGmEU0rIcnUEGdrKg7dhDX/78PznGGKqxie5dfk9dET5rXmLvLabt+TbEePUGsUR2Ig1iLxCFBkwu1eXWDw76TDeuaR78kzpWi5D6iTquQ/fHtFOsIX5xnj42HFJw11L89JeCzi610Ni7RdYk/T0xL9+s7O4mpT9UD61AO3uK+E8DHosKWgv1H4t7pjmvJ6uu0RaZ/svdCK0xcTA+BwcZ4N7kPZfBNCv0H7x0iVA+BleqeRH+NUaBwEz/pR4unTeKIfh1eQAi67wwarzOEN4oJDIqWC2BgRRNKK+jNUilGjZxMpY4dZf+Eop5v1oj3SLEPHYwn/Y62bDNFYKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dqR8kmPEt5MhrMoM3F7CxcM0ZcMpf7kT7H/gmtH+LgQ=;
 b=ZMKCG6iToE+ZxSIXHZ2zkKJKivizWquXuYVwsmBMgTW/ljs2OZqIILE1D+wIii+o+A6Q0mm9YvdrsZRiFNj6nmUrZ0q3l+v/yVloa1GWVF1BpfzDrq1b2cgYYaw4eFAzSPweeDni/HsbfN117E9gk1N4q3ZnL0tqsK3S1TPubfrP0vuI+MgPU6nmBCjQOTrihFjLOzatZRu1SoenFxXdCstbwXgT5+OGcV9F2EyqWFzYDIPGqAJjBY3fwnwqmBlYXOKswTfMl2o8SZJ+uzMoC8lLF7k/Rc3wIhKhY4ZWZnOOeljAQkDrawJW+qHP7USXXwSzXyi/OKRC76REUfWOfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dqR8kmPEt5MhrMoM3F7CxcM0ZcMpf7kT7H/gmtH+LgQ=;
 b=do0V5Rz0BDaaumhFmMNwi0cp7TmtlbRx73ATF/KuGDRIfgeXlcYAnQphLDstCa6dSafLa6c7BaJxBro97aZMjTG7+Onep8+8CDigiDhKvgKuey0u37enKZDiKZwT1jjPHA2MeCte4K6STCSOyPUm9OVprKEkd95CC2Jy8gBqRkMGnKMOJZU4ZGXRX4a7kVvDOIpNNHaXv9ZnORsvqcV7VOPLdkeR73GaEcbmOUWizgVcPIlSVE7oqXJi4VpKrqMCGzFJ0T31Ksct0qxTL0cXRyT8bIduoFgbY0cA7e9oIxpsg+y/t9OZTPHklhwbOlxqqYw7gpZ3xPSGVTpQK/7Ttw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17069ab9-03ff-9f7b-6480-d50e1349e16a@suse.com>
Date: Mon, 7 Aug 2023 14:48:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.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>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <2f7380396ee146132738dd5c6b2a80d62a8035d5.1691135862.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041345360.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308041345360.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9338:EE_
X-MS-Office365-Filtering-Correlation-Id: 05488938-ba6c-49c5-bec4-08db97449855
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XupZlijlHHRatPAVw5/7/mLzQZ2B+6yYKzFUzftJ9B+kbJUVZvHtqXF7XjXX3vGnpumHqVOaJUk3GB7maI2/SwAtt6EtESd6DA4d8Df6JlIfecImyrWhIzTY8uUC6YyNp2mDM/hpp+AFQ4YBaczcFBezVmz6pazCzb71ldKLB8lMsDGz4RB7c9TwvP+2e6ncmGNiQgFw+gnjNwc64DsrUMgczgdlXJaIQZD1nTpzgJJBmSeaIH05HrKbKf7WBIbnXDuCuuLKkRgKC9BMaW+ipOWATPWi1PtkLqZwGqSyr+n+R+ZF+kf2g+pHMFruLwFSAdjvnBoWVLNmimhPifF+DAawkxf01CLykEOVm53iHRGaJAK0pgpXe52ZZK4OoFdbZf590oxtwPRA5eu+Llxq4cv0EtKvTd0LUiyTzDakgRt4VBNRY7j7+lVY4oshcLghOLec6hJN0mJbxb1ngw7/Aznc/tsQbaKHmYveO1eQ/Nm8bXFxPQVOo/2MoF2Nf0nSaP5jE4z5JI2z1zDB/xRvYhO1jAgU849mKkSkAoKDc57vcbwcFhdgombCGt3VNhYrbgs+wI+vx74qBidVq62buJqfMkGTLTPBQL85CjLIsU4Z5EMZ2ZfrXPeOKUceQpbpt4k7wdAsKPcDw4yCiz83kg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(7416002)(86362001)(31696002)(4744005)(4326008)(2906002)(6916009)(66556008)(66476007)(41300700001)(66946007)(8676002)(316002)(8936002)(478600001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V1ZQb3Z5aSt0aEtQc1IyMU5MTjNJWUFodE1SZWR5aGswdEdzWm5nSjF3UEtL?=
 =?utf-8?B?K3FEUUd3UTJaRVFydzNlWExQUUZWUWlCWTJyaFhKRjJHWGVCUWpybWJuaDE1?=
 =?utf-8?B?bW9yNXZVZDVCRmZRK0grQkV6NUl4ajZzdVZZR056cy9GNjIvOG5US1lFQjNm?=
 =?utf-8?B?QjN1QVl2dWRqMHBHcThXZjllTWNPSHkyRGxFTjRzcW9ZS0NjS1lsRENqQTll?=
 =?utf-8?B?V2JjVFFzbldDa1E3ZllTYU1MbFk5QzRPc2tZTXRHblNHNGRJT3J4cmh0V1Y2?=
 =?utf-8?B?aW4yTHVzay9WK0J6cEUwcHlWUWQyVU9UV0QxWlRkc2MvSEVPQmYzN0pOY2F3?=
 =?utf-8?B?UWpENGFlVXkyR1YwMzZYUWVBeXlQVHZNSDVNZEt2VmlidzBoQzU0bkpIZWxE?=
 =?utf-8?B?QVQ3U2FOQ01WQ2pNT0ZaNmR0ejlKV0NjdmV1a2FkWFRndDhQVTBVeC9wL1Bq?=
 =?utf-8?B?VHA5S1F2WTJsaUg3OUIxT0ZvOTdXQVNrTEc4QVVSdksxdkVtYnpML1lxTDVX?=
 =?utf-8?B?QklqK2o2Vy85dHlRNWFXaXpHeWlzV0oxWDJ0Mlh6K29JeGdnT2tJcVgwWWNj?=
 =?utf-8?B?dWN0RE1lQ29yL2FFR1FhY1ZoZTJCV0R5Qjdkb2RxdFoxMEVNM0paeDV1Z3Nw?=
 =?utf-8?B?V0p1VU9xVFZ3WTZLZnB4bDYxY3pVMWNHeWFRYnJMQ3RJdEZVOU56WkJYajVR?=
 =?utf-8?B?OXJ2MVo1VkF6aTdQM1BKdENvekhLeThDUjRkY2ZXNHVyKzcxcno3NXkrRjhW?=
 =?utf-8?B?QTVwTzZrVDlMaVJOcjhIRytOU2pKNkUzVDhjejI0ZmRkaFBLbU0vYWVlK1ND?=
 =?utf-8?B?RVQ0ejkxWGtNS2Uvc3F4dGo4WW9EUEo2M1M4TXRGdUEyYWFjRkhDTDk1bk5D?=
 =?utf-8?B?MXlRKzA1UXI3dFZUa0UrMmJKYmJSRjVkNjBtWGs5T0xoaytIUXZxMkpnbmNq?=
 =?utf-8?B?dFgzVlVTL09DNitEYjE5Tk1VRUFmNjBBRThmYXJWdXhIdHd6Z2wzWTVUZGJw?=
 =?utf-8?B?WGVSQldYRUI2Sll6RjlMQTIxZno0eHVOK3UyQzM5MGNrSkRyVUFKZTZ5RERt?=
 =?utf-8?B?S3FzVm01QWRpWTFrZjNlSkpRZTJSV2RXakY4ME9BcGdDVjlJTEZ3bjZmbkpp?=
 =?utf-8?B?Z254TnpVbTlPejJiNjBrNTVNWmIzSUUwcFdNTUR3dWgvdjd5UWovTE16SGtr?=
 =?utf-8?B?K0JwL1VpbFk5MlAwNWNYeW5iQ3l1N0pDWUxXRWd5c2ZkeXVnMEZOUEdSb3pz?=
 =?utf-8?B?bkhaQ0dJNTBManB5TXA5RUJtMm1oc2JoQ3dBY2lFZVdVY0dvSGd4MUVKczZ6?=
 =?utf-8?B?NHAwTGd3M21QTDVOSUhjQnNOc2JBZm9EcXdVbXhOdGZTNzh3UThOKzJtRTZR?=
 =?utf-8?B?UzhNZm5wN21OWEREYW1YVkNVM0R2ZHNhdENaRnpxd2pUT3Y2YmUzNWozZGNy?=
 =?utf-8?B?RFZ4eDBSSE1sd25qUFFOQ2FSU3JIMzlaLzZoUnhlbjVPczNZV1A4YzF1a3I0?=
 =?utf-8?B?dVVRQWFNS21PRDhUY3dOb09UWmUyaStFeE9LZHNCYjUxWU9tNFJmYVYyRVpK?=
 =?utf-8?B?NWw4bmdWZGdOTXZZYkM5UERpMm1zVzZBYk42d0pPZnYxZEZxOTFQNEFFOEVh?=
 =?utf-8?B?ZFV5UHBEVk5FRmdMeHRISzBwZHhYL0VRZ2M1dVZnVzNGRWxLbnUzMDAzYjJN?=
 =?utf-8?B?V1ZiSXROVnBkUVhCNkN6MS82aWFteHloTkpIcEJmby9XajVTaWVuQzZKMXI4?=
 =?utf-8?B?ZmdoblEyUG5qVTVsVGZ3Q0FoZDB6MUJONlRyd3pFYWtsa2xGT2tsK0FkbGk5?=
 =?utf-8?B?K0JGbTNJZ3NsL241STVoRmNXUm1rZS91UTNvNXdzandFVFIyS0k0cjNBU2po?=
 =?utf-8?B?WVBua3ZhVnZWVE4rYmYvRWdSSVFPWXBzMUZDeEhkRVJENTg1UE9idXRVd3g5?=
 =?utf-8?B?WkpYdjJaTkNublhCa3BtM0hYaUdhVThFY1kzZndSck9YWXpMWnZENWNTODlE?=
 =?utf-8?B?ZkVwbHpkTVF5RmdJSk1rVlBCb3hjNCtWeUFUNWFudGtxVHNXNU8rTWU0RGFv?=
 =?utf-8?B?S2hWUHFZZTlONnVJblRXK2IxMDErMkIrbHpTSGNXNEpSb0FkSXhCcFQzV0Ns?=
 =?utf-8?Q?HnGi97+uGBW1rxpPcEaP/3KH1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05488938-ba6c-49c5-bec4-08db97449855
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:48:27.3446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4w+lPASI0fllJbIxLEisikwEaNUOL4Rk8NmYCo1POascy2sQOgXKBmtUfE9q7ghj4Ldmtd/jW030W2z0UF3Rrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9338

On 04.08.2023 22:45, Stefano Stabellini wrote:
> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>> Rename variables to avoid shadowing and thus address
>> MISRA C:2012 Rule 5.3:
>> "An identifier declared in an inner scope shall not hide an
>> identifier declared in an outer scope".
>>
>> The shadowing happens between the struct declaration 'mtrr_state' in
>> 'xen/arch/x86/include/asm/mtrr.h' and local variable names.

Let's try to be precise: The issue isn't with the struct declaration,
but with the declaration of the global variable of that name a few
lines later. Afaict - please clarify.

>> The latter are renamed to 'm', which is used elsewhere in
>> 'xen/arch/x86/hvm/mtrr.c' for the same purpose.
>>
>> No functional changes.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

With - as necessary - a suitable adjustment to the description:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:55:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578376.905850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzlh-0007vs-Tu; Mon, 07 Aug 2023 12:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578376.905850; Mon, 07 Aug 2023 12: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 1qSzlh-0007vl-R4; Mon, 07 Aug 2023 12:55:29 +0000
Received: by outflank-mailman (input) for mailman id 578376;
 Mon, 07 Aug 2023 12: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSzlg-0007fq-6j
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:55:28 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe16::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae8342ca-3521-11ee-b27f-6b7b168915f2;
 Mon, 07 Aug 2023 14:55:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9338.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 12:55:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 12:55: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: ae8342ca-3521-11ee-b27f-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dp/mVhC4pjUiEL2c/qt60WwX5Yi0+BxHThRDxiGs9v+5MjwGH5R/OrUUiCSID23vaCogNWOMavGsCSqCgRPOWPM1xYzdKfwSGAoh6KEaUsywpFHm9K/tBwg5KjX8IM+O47tFMWuqfB4b9/AV1PKWWxtTgSldIHzxcxJqLW8vMxBdWhVs+LYocWKmNl/SZvEffr+rpZyTdOS9ns2UIm6zHD/U+IbRZ1nJXXb7jGMPrIJUXuLiZpPKH9ObgJU1X60h9cR3mXPvLLnFpAOkbZBrPgHuE7foogMSid1PfyiS4PDouPIq6Vgvv5JPY8JfO3MxdwHLBSKpg3ZDZcUYgXXNBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=714EprljTvlE97Mb6c7roih6QuC6/NDH9mWbJEMKvWM=;
 b=QKsOQEvv0e9G7s/07JsFAKGbrBf366nR9dFFxzCNYAKHK+Dio2hhjJgVTqnYKMkgPP3LMp4JLw0ljjJcsWoBwDe1nuENEhAygLb0tRyRFJxBhcfA8IFIa1qPZMYl2D4Dvsm0u/8h0Hobx2O1EaAmKiXt12jT+vJ9ca8iLFbMRZOxVfNFYl1/G70hyMWDn6lI3/4oft6A9WF6eD8PRHNNZ48HyRMswz4vqinot8382NqTmdS5uJ1YtFF4MXwgQVRYB+4AXc9ROklj0rKylXlwWk8CcHhrBErqmLZgJxCZIepixnygZ3GT2WAqv2gUoMtb+IUS592lhirTfRx8Zc3wmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=714EprljTvlE97Mb6c7roih6QuC6/NDH9mWbJEMKvWM=;
 b=tvIE5hfjy+93teI9b3E6XISYnO69tLYfP5pw2oe+v2/HmAPRMqAvwL6/fzeLgofGAH9r1n/NjCf811N8+RPGPTbqq56ko8ZuMAibtFGor12sxwz1O7sSmHmZCVCLdzsKoZRWZchLUktk/xQ3mVwwHh6aOGF6qLtpIFhMtEvDl2VY+GfMuBi1y5GIG3Ug4eAZ0WZrYV4l2BVYRRo7VbD7WrGdO0zMLWLrW0fVPlgRW7KiyBlGpeKGG2wdjSrDhH0p6ei6x+btUmFB+nwBIaKLkbBMwZQE1L3B+8JXy+abhereUZESOVY5anyClL0MnHGUb3dz1wqDp2nSLgrIOdsXQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19928768-b24d-3e40-937d-9460e7f06a9f@suse.com>
Date: Mon, 7 Aug 2023 14:55:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 3/4] x86/irq: rename variable to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <987ebd142ebd69ed062d74f7eb69c23759c51636.1691135862.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9338:EE_
X-MS-Office365-Filtering-Correlation-Id: d09f74fc-bdce-4ad5-eb0d-08db974591a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bl63A/PA09EcAyz4cpgukivElEZ7vIVx3D3ztX+MR6qnRGCfmuA4OChClbRgsxe07tGTFlrzyIKkqjEhaKcVhHqKHC//WbszuJHLOP/Qzw2wk695b0O+uGXGeOdQhF6MXMybisU/cZpywmyD8A8aJO2XXgIft/jnO4B3yFVJB4P/vRLXjbMUzl6M0x/2t99jP7wAGPFEXfTLEO1Xl6EnRXo7Ed8WHV+2l1bjTEngpw/vWFG4Si4kc6Zl6w4MEFYKTPCdwFHrLbtVim9x7F24Le2X9oFdH26saxVJzf0MHNKXc+SNsGB6flq0YIOZhwXzAx9YOdAoQpE2dpjMZRuHif6oq/xMK1gVbS0vXRDeRqwZXWVfqu4tEvHGgWpwvZ4v7GFwmWxpmgKBbXTjRU/xu/6oQ5PFj3HQgwsyPtVQpKSbJIkf5Sd/jJldktHfOKIH8EUxOxW9SLPNdMuURSwaY93LouB7v0d3owGpGvImanoDhUvgEzAUmeCo30DQO7nonmZJ7NrIhAbIuz1FfqOzKsPY5bzbhkWMhvkiZGUuQBbiWRA+vdGA4ZkctbL8aksm9nY/SAoVr+8Ck/x2XfPfZMdv47pM4YfrXfHK/xYsAp7R/0x6ohOX7E4NehLsmTwlVXeLtqpKeUF3lERdDkaNaQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(7416002)(86362001)(31696002)(4326008)(2906002)(6916009)(66556008)(66476007)(41300700001)(66946007)(8676002)(316002)(8936002)(478600001)(2616005)(6486002)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVpkQys0WGxVRmtGOFFTZHAremdTTG5uSTNkbWhLY0VMakxJNzAyNmpnNFpJ?=
 =?utf-8?B?TVdxVFBWb3BjaFVwQkdYMzZLNm5HWXplRk9zbkZqdldCTER4bVpxa0tuem0v?=
 =?utf-8?B?WEh1anAwbXhmWGF2RkRGbEFNSzBNVzQxaXBidllXd2lwcmhUUEVPU3NCUUQ5?=
 =?utf-8?B?ZjVzVzNidHYyK3B5T0EycjFBbGN2ZVdXbkpaTWRIa3hLNG8xMHRjL2lXcUx3?=
 =?utf-8?B?bnZhVkJqa0IyQWdkKzQzeTNQMHZCYVBwbzlnVWpFdlpmb2x5WTBFVWhMamZ3?=
 =?utf-8?B?UkN4aWNJWkJucEVTcmtJWEVVRlU0QzZDWE5ORE83SHRLNFlLbmwxSnhoWm5p?=
 =?utf-8?B?OFllWVVGSU8xVTgzT3dCY1lvTVRKT3BrWS91WVJRQ1h1ZXMyRWlQN0Vybkl2?=
 =?utf-8?B?ZnRTVENkdUhEQ29nUEw2bnpvTVRDY1lUSjF2QzRtQ1VWWEVVQUdFSGxTOUxI?=
 =?utf-8?B?MVptRER6Z0t6TnM5eWZxUG02ekZGVE1zakhjM0FLb2I2dFNabEdYQjBlN2tX?=
 =?utf-8?B?VEFMcGZPVVJKM3JSTVpqYVVHYUxUK3BUSU5sSGhua251UnZYZkxBSFJnYStj?=
 =?utf-8?B?Z3Ard1N6dkJrT0tQdkxiUjhvUEp5Wk1YZEpQT0lONGpVYWZJckZmUWxXSkhP?=
 =?utf-8?B?YnIrMFBZZXdCMkN3Q2d3VDJrVjBkeURIaDJ6aDlrM29qLzZkU0NjSEdJRHEx?=
 =?utf-8?B?NjBQU3M5Qmh5OEgrR05BUW91VlJDeHVocEd6RkcvOU5HQUhCdE5vNW9rVlFz?=
 =?utf-8?B?K1NQU1JhRmtDaFRTanBHaFc4Y0xEc1hOOGFTRW1wNjVTZHN3S04raUZRMmlH?=
 =?utf-8?B?dm04bmE1QnZaU1R2NWlVSG9pSE5rQis3NUVYTGpWY2tCMlFTdyt5dFBHRTBJ?=
 =?utf-8?B?bVhocngzT1pXMHhuM3FLTVVnQUhla1o2RUd6QjZYc3o0Mnp4d1RpWDczZjFy?=
 =?utf-8?B?Z0ZwRnBRSnR6bGVUcWhqTWIwaXVEaGtobHp6Z2cwNHpyRnFDNlIrb0duYU5K?=
 =?utf-8?B?Z3ZwdkJpL3IwREFJaGdET3VRTGtWMzI3TmtoZmZaY2NZWXZZTXR0REtuenh0?=
 =?utf-8?B?SDNzaks4a3FXQUVoTUlGMjFUVlhBaC9MS3NQSTN5NVJMaUpBVkIyb09uRGE4?=
 =?utf-8?B?c0pNM2JrUTJQVWVFZkVCM28yZE9zWUdnVHp0azl1eDR6WkJadHBiQ2ptVTB5?=
 =?utf-8?B?Z2FxMm5sbEg1SHFxRjNGbXJTQVR2c1piYjUvbGtHRjJqTkhMTGpEWTQ5TXlk?=
 =?utf-8?B?MVJxTkx4ZkxLU3RQZEYxaU9SWmRBQjhZNXV6NkgrVGI0NVlTRnMrMWdrbUtl?=
 =?utf-8?B?cEl0MHZGOGMrS0thUFUwVmpGeVpsNUQ0anJBZlRDNHUzZUZVd0FJOFZNNFFx?=
 =?utf-8?B?MlJpcXA3UXJkOVpiSkJlV2twWXZBeUYvZmx3c2JlcTUwZUs1VmdLbGcvNHI4?=
 =?utf-8?B?NU5LNkRzbFFTbHVZUnJ0ZXhTaWtCUUhhNjAwSW9NUThkS1QyTVRlWUVzdDRJ?=
 =?utf-8?B?S0lPazRnSEc0UGUyTW8xVUNySnRZdTM4TE5ObVNnT3VUaE1rRHVmWEtWWlZ0?=
 =?utf-8?B?dldXL2RZVUpzdXRvTDRwSFRQNGFwMUcrZENlNnBld3B6VFc4Q2tvYmFzeERj?=
 =?utf-8?B?Rm8rWmxUaUdQNTFsbkRLdXlvaDRMUlJRUVRnT2VjalFlbVVlZzFISHFoMWVG?=
 =?utf-8?B?T0htY0Y1MTBQdHBHRnBGbkdUK2FXWWc1NE5FRnFyS3d4TjN4YmFKdDNRKy9p?=
 =?utf-8?B?eEtoTXVmOGlnTk9DRmVEL29MaVlWYzhseVp2YTE5MmlHTDY5dW9YRVdmeUZ6?=
 =?utf-8?B?ZHBpS1VQL1VSRWJKUXFIaDJCT1ZJVStXQ1FNV2ZmRzFQY0xEVld5THlFaHZK?=
 =?utf-8?B?c2NURTc2eW1CdW5TaFZDeUxIekxzUWdyWHlwL0tyNnNoV2QrRXM5MElEVUkz?=
 =?utf-8?B?ai9xcW5VbkdhMlNPZ1I3SzNiQ3BmM28xWXpwWkE4ckxFL3BRcEtBYURMUG1s?=
 =?utf-8?B?Q0VWVmE1ay91ekhrb2ZaNFp6dWNxMC9aV05qZzV5VEs0cHV4T0tJOFNZbzFM?=
 =?utf-8?B?SDFwWFdOWTl0TVFnMWpYbEF3R2t4ejh3SG44WTB5dmowVUhtM2pHWnZtbFRy?=
 =?utf-8?Q?st9XxKg/v7QgfuqSd/S8/y++u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d09f74fc-bdce-4ad5-eb0d-08db974591a1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:55:25.5815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6OysXwvVhbMCEar9ZnouS7fhp6LBukYf7o7ZhtcKT1pSbNEvHwBJrT6p5nmkFGzf4+bF52K6JT9fkpnMZsr73g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9338

On 04.08.2023 10:03, Nicola Vetrini wrote:
> The extern variable 'irq_desc' defined in 'irq.h' is shadowed by
> local variables in the changed file. To avoid this, the variable is
> renamed to 'irq_description'.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/hvm/hvm.c         |  2 +-
>  xen/arch/x86/include/asm/irq.h |  2 +-
>  xen/arch/x86/io_apic.c         | 10 +++++-----
>  xen/arch/x86/irq.c             | 12 ++++++------
>  xen/arch/x86/msi.c             |  4 ++--
>  xen/include/xen/irq.h          |  2 +-
>  6 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 2180abeb33..ca5bb96388 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -474,7 +474,7 @@ void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v)
>  
>          if ( !desc )
>              return;
> -        ASSERT(MSI_IRQ(desc - irq_desc));
> +        ASSERT(MSI_IRQ(desc - irq_descriptor));
>          irq_set_affinity(desc, cpumask_of(v->processor));
>          spin_unlock_irq(&desc->lock);
>      }
> diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
> index ad907fc97f..f6df977170 100644
> --- a/xen/arch/x86/include/asm/irq.h
> +++ b/xen/arch/x86/include/asm/irq.h
> @@ -172,7 +172,7 @@ int assign_irq_vector(int irq, const cpumask_t *mask);
>  
>  void cf_check irq_complete_move(struct irq_desc *desc);
>  
> -extern struct irq_desc *irq_desc;
> +extern struct irq_desc *irq_descriptor;

In Arm code you'll find

static irq_desc_t irq_desc[NR_IRQS];

It's static there right now, yes, but we don't want to introduce arch
differences here. Therefore the global wants leaving alone, and "desc"
wants using where function parameters collide. (Arm uses either "desc"
or "irqd" everywhere afaics.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 12:55:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 12:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578375.905841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzlb-0007g3-Mt; Mon, 07 Aug 2023 12:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578375.905841; Mon, 07 Aug 2023 12:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzlb-0007fw-KN; Mon, 07 Aug 2023 12:55:23 +0000
Received: by outflank-mailman (input) for mailman id 578375;
 Mon, 07 Aug 2023 12:55:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qSzla-0007fq-O6
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 12:55:22 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a95b6fe6-3521-11ee-b27f-6b7b168915f2;
 Mon, 07 Aug 2023 14:55:20 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 470965C00FD;
 Mon,  7 Aug 2023 08:55:18 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 07 Aug 2023 08:55:18 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 08:55:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a95b6fe6-3521-11ee-b27f-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691412918; x=1691499318; bh=LgWoJWa6DXZKfZ0hLk5ZMf1RQyRN75OdScV
	RO3aOCTE=; b=aNtPYSb3yopTaCktF8VCYp8h/q8zZoGJ9iXpS+8uXBQTxI6Zbly
	1Jbw7DDOaIQSv/505drGiDyLhTZaDV7H4uXioLdTwTwP5ewe1AVTcAwfGnNBeFDP
	qjNeZRBVc144zZC307uhkBqXOBngqtC/IG+NLL/RxBG8SIMPaZDlkea0+QBh62do
	BsdTK354zL+zElrcd+sxQlxxth/cRU+N86Mlq1EI+d2FQynbAGbT/AJvHgdg43Nx
	ngzsuz9uAEPHgDFysKGwcwd0qPZMUHq1fyXmftR4d7Iw6LapIdA0ixmtIq7/MqTP
	mvwMLoTlqrSPpVxBwfH9m1X6wdi4FZjNd8w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691412918; x=1691499318; bh=LgWoJWa6DXZKf
	Z0hLk5ZMf1RQyRN75OdScVRO3aOCTE=; b=eoHVU3elWaYsiRpQiyf+tBBcGFSuy
	035/KeyOKJ6VoNYygDwXvtZ9E38qwlm9JyE40Lyehnrln8FLOieh/oMKF76Lq0Fc
	mp0WiIrX7CDl+H8jhd4HAzegWFpRfz938M7gpmUtFCiV17xdr7da2vd8g/EEbhBL
	Fu6vuvESUypbEnjPJM1ePwwBV93Ej9J3QByRSaA3Up55VXiBnEe5SyxVOkGrqnhy
	yMKqbarihLw6pJKxNfxfFTnJEDmq9OS4avVaevBSu69u51uHwCwmtk6zl7KVO7mY
	qihOVaU6frPCSOfWr3pFs05tIUPvbCNyl+Ecy4K3ZD6wY9MPnhsjpTbuQ==
X-ME-Sender: <xms:tunQZMk-ovNnniymDB_0HpiMvtj1mYlcb4Oxe6i0wPL7RXBGtslOBQ>
    <xme:tunQZL1tv_cE1dUxwjIVeIvp3yReycQEpsl3rMGIU0oRo44l2SHqRSdunldUzoal_
    0CkSnB5Cuwtf1Q>
X-ME-Received: <xmr:tunQZKrftYB02avPFxCCtq2V6jYHaBm1EOyFMRFxyFKDN_ATWQUfeV5axfgLpOv-tBSFyiKYprlhTw17cmE8K50>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdehiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeekueffiedtgeffleeglefhledtfefgiedtveeiffeg
    hffgledtveehhfdugfetveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh
    grihhlfhhrohhmpehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtgho
    mh
X-ME-Proxy: <xmx:tunQZIlj_hUFNNFL_htnRNRj0WTjZXsF9WAi0lbDQY127VRVtuia2A>
    <xmx:tunQZK07Tbfgy8ZQ2BjcSAmUOmqgserpPW6voofO_pCjEllxXdwF1Q>
    <xmx:tunQZPty4vknxZTCBkOSGhJ2Br7pn6cK6eGV1o5cf3ILTVtavODkiw>
    <xmx:tunQZPwcikQjRLNL74-QYSQ7bIWNWIgyD8fprjMi7VA4PbCnmM6MMA>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 14:55:01 +0200
MIME-Version: 1.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------BB4oHImKZJOc4Owo0BGCP5bb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------BB4oHImKZJOc4Owo0BGCP5bb
Content-Type: multipart/mixed; boundary="------------rHN26FGsWBurFzrDYQkb1Gdw";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Message-ID: <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
In-Reply-To: <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>

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

Jan Beulich:
> On 07.08.2023 11:38, Simon Gaiser wrote:
>> It seems some firmwares put dummy entries in the ACPI MADT table for n=
on
>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>> 0xff. Linux already has code to handle those cases both in
>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>> same check to Xen.
>=20
> I'm afraid it doesn't become clear to me what problem you're trying to
> solve.

I want Xen to not think there are possible CPUs that actually never can
be there.

Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
that there are 8 logical CPUs that are currently disabled but could be
hotplugged.

I'm moderately sure that soldering in another CPU is not supported, even
less so at runtime ;]

>> --- a/xen/arch/x86/acpi/boot.c
>> +++ b/xen/arch/x86/acpi/boot.c
>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *hea=
der, const unsigned long end)
>>  	if (BAD_MADT_ENTRY(processor, end))
>>  		return -EINVAL;
>> =20
>> +	/* Ignore entries with invalid apicid */
>> +	if (processor->local_apic_id =3D=3D 0xffffffff)
>> +		return 0;
>> +
>>  	/* Don't register processors that cannot be onlined. */
>>  	if (madt_revision >=3D 5 &&
>>  	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
>>  	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
>>  		return 0;
>> =20
>> -	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
>> -	    processor->local_apic_id !=3D 0xffffffff || opt_cpu_info) {
>> +	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info) {
>>  		acpi_table_print_madt_entry(header);
>>  		log =3D true;
>>  	}
>=20
> In particular you're now suppressing log messages which may be relevant=
=2E

I intentionally mirrored the behavior of the check directly below.
Unlike the the version in Linux the existing code didn't log ignored
entries. So I did the same for the entries with an invalid ID.

> The one issue that I'm aware of (and that I use a local hack to deal
> with; see bottom) is excess verbosity.
>=20
> Jan
>=20
> --- unstable.orig/xen/arch/x86/mpparse.c
> +++ unstable/xen/arch/x86/mpparse.c
> @@ -809,8 +809,13 @@ int mp_register_lapic(u32 id, bool enabl
>  	};
>  =09
>  	if (MAX_APICS <=3D id) {
> -		printk(KERN_WARNING "Processor #%d invalid (max %d)\n",
> -			id, MAX_APICS);
> +		static u32 max_warn =3D -1;
> +
> +		if (id <=3D max_warn) {
> +			printk(KERN_WARNING "Processor #%d invalid (max %d)\n",
> +			       id, MAX_APICS);
> +			max_warn =3D id - 1;
> +		}
>  		return -EINVAL;
>  	}
> =20

--------------rHN26FGsWBurFzrDYQkb1Gdw--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTQ6acACgkQkO9xfO/x
ly9Q/RAAy3oKVGf3/ubS9NcmyzMrbssJ7eT2C9voXCECuVB+778CTwJc0eWKNnSb
BHzMVBtVtci0UsvYpSKW4Q9RrDiu+6YPzjQs073tN4XsczxIX+dfx+08W2bvLrTf
cz4auBtrCPKD9Y0b81JviMK+SzUDDH8WF1A0wfApWp3GFZP9D7SifJG6t+f8HaFP
F4zNo0JThdDxsGzB9VDlWR0L5qZDMKUV4xZhSg2ihOMBXiLgp4S3fwOv2JHkVjK+
E4Z6mEjqiAsDQg+FSg7I/CBf4SiYFET1TZoEjBEsmEVrmvP5fO80kyB6D+kO5i9X
i4416BraJ04zTsaPilnL7YA5lau3g/rvvQD+m2BBl50qOBbD89vNPOY5uSUv94G4
kgfQWLNn6dFIb27s4oH1kSGS6G/PxPUevaZXc+uQO+cPHVZWHQJcljsSnUUEgDDp
8+lRRsabHzVMohSkuJY570q6oW2VBH6edefnSYGCKHgUBsAKGQamVnVusQIDRj4v
5TH3NpcnKY+Y/m9c4JZ8OLJZjKzTpKARbQhWBwrAqnjnsBRKB3GigakLCvwA96Tr
balhrGHM2xJFhfbQJEqYj0DZqOEHckkr0QvbKcb/fmSFz7qyB8ZHnQe6rDtrTqxy
IIAGOpSvh+suYv9gcHe9FLR/Lb9XHv3p0pnHxjZAUNlznUpjPIQ=
=1Mke
-----END PGP SIGNATURE-----

--------------BB4oHImKZJOc4Owo0BGCP5bb--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:06:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578388.905861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qSzvo-0001Ps-Tf; Mon, 07 Aug 2023 13:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578388.905861; Mon, 07 Aug 2023 13: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 1qSzvo-0001Pl-Q1; Mon, 07 Aug 2023 13:05:56 +0000
Received: by outflank-mailman (input) for mailman id 578388;
 Mon, 07 Aug 2023 13:05: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qSzvn-0001Pf-Gj
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:05:55 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23798a7a-3523-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:05:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6897.eurprd04.prod.outlook.com (2603:10a6:208:184::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:05:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:05: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: 23798a7a-3523-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WfHc6HxbYrVL+TcGDMnR1+BpJQ12D7q8wfDMRwNjFSxck841DTPtzkMxkLR0ziVwfiFS08N+Kt98kQ4FXQYDbTx3K5TiqKxp5y1N4rTkQxPDoD4csB3KgpWIGAkw2R60+FgCxwo0EbeXkvkGxNqNIi4U4Iy8I8m6sxZbycg2n8bB+aCzRnhypzIGu7VZsHDUyS85ZGizqcT6TasXE380xcNSMH8tEa4t69kMLBrf78klUesa6u0L/ctC7+aod5jtfJ3F+eqUBSMgxbNEiLtr1YytNQW+fBbmxjUJKjla6cMLxzTPsp9O4uPIZ9I9DXLCyM/RdeVgHMBy5yzm6csxpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A8uigQ/CapaG709BkamdJgc4DzMxFOjlVJzxKZz1Wtw=;
 b=kMh3MvoT4qEpqVeOQaymcfjpxRKQ0PzU3ziEnomoeKgVkEM/UuqWKyZU5xn34FV1J/P+PnReRPmrOppvxWqUEWRhkH+jYzbRXLxALiz2cwB1t3Tz/RcGl5e23IetFT/OHU5CGapo0ccZ2NcrfcaIPZ9dPO73zAvIBJHW1rKvxNmRGoCFFanWZ+p7VyqmUfnn0JehHcsbnSaQiU5BmLIn09brvYwL6nyAtVuNlpcSmqMqEa2zdWMV/qFRIfrsd3ssNMYuxNQTk1iy8AYbsWnvXsDNdWmzdF82b8bFUHwIi+ZFPJ+pJOdefKj/hV2odni38KzBbL8sYUXTa0v6qM2ZIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A8uigQ/CapaG709BkamdJgc4DzMxFOjlVJzxKZz1Wtw=;
 b=doJFq2fzFy3V/L9O1Di0ZwZPCmrfO/1AjRkcLTq8r1ur6DMNlRilpFuVWM6vn/D1J3PhTA1pKnt00H+S9CI/rUKgs8pW9EZxVaM7/kIHklMDA1IFGP0MB0vXcatsyQZJr9M5omUCf1gf+vJyvdnEyns1F3RIObDG33OZYhq7TuMx7S6s0sTuwjnS35ee5+LuxxaxY7RGdt2+32g29mXLUScAxvXhW4xafMB4OWLNS/AIPz1Sbj/OphXk3aaKf6VXCFw/puDZZhI0qIreTX/XHPbb+ApWFe8QfMqRrO6fuOJw+VQ9b0HbVMOVLfr68cnVBtVv5SQugYwA2xoryEQ74Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55099faa-206a-b7ae-8ef1-64d1dc344c4c@suse.com>
Date: Mon, 7 Aug 2023 15:05:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0156.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6897:EE_
X-MS-Office365-Filtering-Correlation-Id: 12a71e21-8bc1-494a-3404-08db97470669
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	08UhjZPN014K9BDLGo5Mz/h2ZKSGL6ymwVF4lEb8Bm9YwrL1hmzUUceUcaodxyI7cRutSqJNzCVVGwX4Zt+9l8NhfnlNoS6Sj2l4wQn3l7wBpTaBw1hU5OU+WKxikcN86o6BLXI7oTD+8MX4rYroqc27zbaTV2lmKZDo90cwsz8ynehK5z7y2dnws0vLnkf1+D+GKSV+6zsjFLXcgaOiLoOC6hqZvPo6i+c+q+vATj+HSajal2S3/aQIDT4RkOXMaJiIHO8XZHx6XDq/bsDWRdATGKFV0jvtX+ZshFRUgZ7LAF/uErtZYSu8ixGDoI6R9UZ6ReeqUpooaWEDd2vY4bzxeleeIYm/CgWKyueYzSfiH9cNar2tjZu6OQ9ZTYjpHVXtlyV7g4bEW7JUe3+7ZpX5EFYfpo1cwu8nBNQKmY3aZ05z6WTEtOgp6Ecc5qAYp2zpROKmWJuV5DG/YxObpIQMp7THLdc7PTHwXR/sHRq+0DcDoZyqnuvFYicCcmwMStIBwmZuYHKUbs4OiXrqaIZjZ/6ri7IvGbOJ0wFgoK8Xtd+XD0sqL7Y4uQaMz2YsQE2Ci1KrJms/TvMdzR404Ew5spcZsx58DO6LGWkbqGS1McYCSP61DHXJbPpu4DzmjVTq0L/nGrahIJJh11+U3w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(346002)(376002)(136003)(451199021)(1800799003)(186006)(83380400001)(2906002)(36756003)(5660300002)(2616005)(54906003)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(4326008)(316002)(31686004)(41300700001)(86362001)(31696002)(8936002)(8676002)(26005)(7416002)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVE2ZXFmVUJydk1hc2NqU0tVeEFaUTBJbWZPMlhXWWphdnpaNXlJNU9HanRa?=
 =?utf-8?B?N2d5L25wQ0lObzQ4QmJQeGhtd01QRkdNU1pUUFFKc3gzVFVmLzE3ZGpNVzdk?=
 =?utf-8?B?enhXclkvUTg4SEZqUFFQOEs2elA2VWZmODRoZjVTS0xLZWNWVlo3Slp2NjdD?=
 =?utf-8?B?U1BkR1pVY2NtYmtVSUkvdEtSSGFuMEFTSmQ5VGtuRkE0M0hIWk01WVdmVWhk?=
 =?utf-8?B?WURJRldMUDB4TzZkcC8vNkxJZFBCNUl6MXc5Rjd5TUNBa3EvV25IUVkxa29Y?=
 =?utf-8?B?VENBZDJWL1NEbHYvWkNyVEx6YzZ0cjhOOHBiaVl0dHdpZWpKbHpTdTZvNDNO?=
 =?utf-8?B?eXJWNkRmZUM0V3lDaU1wc0FVN3VIdTZqeXBpUXh5WFk0YU5MMkt1M0I0YjMv?=
 =?utf-8?B?a3RHb1VLQUV4KzRGSjcwVHdTSmx6cGkwL1A5cENwanpDMUh3QkhxYWxCRG4r?=
 =?utf-8?B?TTVkMWFPV3FtS2VEZkQzUU5BVkIrVlV6UHlmeXRvMjg0NElsdElkTVd5ZlpV?=
 =?utf-8?B?bU1GRXFNbXpaWjNsY2ZnVUhVZGtqU28yaFRPYnVCMDk5ZnE3cGJ0dFVjbkxT?=
 =?utf-8?B?WnRQcGJXQmxPMmVrSlgwaC9lQm0rNXlDYWdwdEt6d25ERE9scndUZlFRRmhP?=
 =?utf-8?B?RlpJZWdXVXBoYVFGcU9Sa3YxZjNSSG1uUG1YUm13MW5XUVZXK3k5TkRSdVZo?=
 =?utf-8?B?OStPWnBSMnJ0TXo1N3BFZTVLRXNxK25DMUFNWlMwWGRNR01XMHlNNnBXZUlj?=
 =?utf-8?B?QlBlMFNkNThNSFVVSGVrVEVqSmlhZEVCZDN0K2NBSERFNWEwRFBRYmJrWVVs?=
 =?utf-8?B?MkZIT1Q5bUFPd2p1QjhyT2trdGdBM05INmtORk1EajFkZ2N1NGF2TVBFampN?=
 =?utf-8?B?SnltejJiYjlBcjhleFlBT1ZYTEU2TVExZG56ZFE1S2Q1TkZaV0VPVE01RGZM?=
 =?utf-8?B?UW1WeFRoM2xnNWszaE5HNXZuSjZRcXJVTGRBNXlESElwWHBLVURGa1FrSHJv?=
 =?utf-8?B?UFh2dTVEQys5aENaZ29RY01wTnRoYmovbTIrRllvcEYzOGZyNmZzMWxCZG5V?=
 =?utf-8?B?Ry93UXpyUG1LNXJGSUlXMnM3b0I3WkdsaG9jMHVIZWk3RU5LQWpiZXhFRzV1?=
 =?utf-8?B?R0lOUlZCM0ZGcHZQb0hjbmpwbjNaUGpOUkRzWGc2TWUwVmR5S0xCbkhUclp3?=
 =?utf-8?B?RDAyb0ZJNFVnTzlORWJJeHZ5akY5VkJxV0pXdGlmUDl3cEF0OHhTSW4vVU5W?=
 =?utf-8?B?ODNBQlhqNEFrR0VJS3ZaUkVhMWpGeTg2a1p3UVpwMlRBM2F0bDFIVEVJTkZn?=
 =?utf-8?B?Wkt6dFZmUGE1djBnaEhSNFpudTArYVRBUjVwejhkemRLS0NCaERwZHNPNlVJ?=
 =?utf-8?B?UTNSVVA0amVTOWRlNko4MWZNYXR1Smp2Nk14K0tOSDc4ODRBVHhYb0ZPRmJJ?=
 =?utf-8?B?Rmh4WjY3dHBFRkEvS1RURDdrUktjZnNybUtiMWVpcFdZQkdlNUtiZnlLVllV?=
 =?utf-8?B?VGVENzlQT0RVTjd5QVREOWxYUDlJQjU2NlRNVm9xSGJnVEtoeHdCWURkRmdv?=
 =?utf-8?B?OGQ1L3dJSkovb0wxZWdoVG9yYmhLU0M5UTJwK25XdDRNZ3FDQlJNaFZZRnBQ?=
 =?utf-8?B?T0lxdGdmQkRSbElPYVBWRmtaME9DQ1VNbVhMUER2NS90aGMzMFNGeDdOTEU5?=
 =?utf-8?B?c0pEVUVUL3EzTUhvV3FuS3dTZ3pSM3lJMkdTYnVmanBxRWpMV2hwRWtQK2F4?=
 =?utf-8?B?cWtYQlhwMnhKUWpXOWphTFJpQ0RUMzRKRDlUZXcrYnI2SkRiWElodUlLM2tQ?=
 =?utf-8?B?anpoU0tHdzZ2UEdXOTRmL05qTUVlWmM4RzM5SVdmS0dnUVg1cVJxbkxZUHZG?=
 =?utf-8?B?M29FTGxHbDIveG9kb0VKZWd0NlhONmFYYnRqWFZQUUZEUGVBQzY5b2d3aGl3?=
 =?utf-8?B?Ukc0RmJMY0wzV3lxRDEzZlBTNmlKTUdtL0gyRTFJRGlwYm9pNkFyaktCUXh1?=
 =?utf-8?B?Q2FkR1JuZWZmSm1uQWsrTE1nSUZrTHBWTEVWR0FlRUEzRmhkZXFROXcvQ1cv?=
 =?utf-8?B?YUczUkQ0SFo1SFNsUXhyMkVOcnRTYlN0a1A1a1c2M3ZTNWpyeWN5eE1BemhU?=
 =?utf-8?Q?dhJFWfb/igU9E0ytKCqREOmZN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12a71e21-8bc1-494a-3404-08db97470669
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:05:51.0412
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UbR9t0qfr/BNld6oqREFSC1klTzVudKa4IDZndzjIJoiji2nIj4WlyIqPIc+H3BjpP/fT+lmTidaZHjHH/5gyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6897

On 04.08.2023 10:03, Nicola Vetrini wrote:
> The parameters renamed in the function declaration caused shadowing
> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
> them also addresses Rule 8.3:
> "All declarations of an object or function shall use the same names
> and type qualifiers".

Can you explain to me how shadowing can happen in a declaration? I
would focus on 8.3 here, and only mention the other name collision.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          s = map_s;
>          if ( s < map_e )
>          {
> -            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
> -
> +            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
>              map_s = (s + mask) & ~mask;
>              map_e &= ~mask;
>              init_boot_pages(map_s, map_e);

Re-using the outer scope variable is a little risky, don't you agree?
It just so happens that below here there's no further use requiring
the earlier value (PAGE_SIZE - 1). This isn't to say I'm opposed, but
it certainly needs evaluating with this in mind (mentioning of which
in the description would have demonstrated that you did consider this
aspect).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:17:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578397.905871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT06w-0003AF-4F; Mon, 07 Aug 2023 13:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578397.905871; Mon, 07 Aug 2023 13:17:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT06v-0003A8-WE; Mon, 07 Aug 2023 13:17:26 +0000
Received: by outflank-mailman (input) for mailman id 578397;
 Mon, 07 Aug 2023 13:17:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT06v-0003A2-BL
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:17:25 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe12::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be8f740e-3524-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:17:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9100.eurprd04.prod.outlook.com (2603:10a6:10:2f3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 13:17:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:17: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: be8f740e-3524-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VYg+aHr8kYlWRO64YP4JH8Job/4szQcM2Im00spGlCHsWqu1AM9IS48gD7PZP6MNL3G5/K0r5Q+mifVm8KDMcJMiYUsvYYT6+GsfUUSWTiPnCMg/j0oYU5om+xYRTLjeyzUkxs6mG1kDTUtZsl3nDNabZIgqDW2/dKM0vDZpveLwzSEeY2/Gqsr9DCBaPmiF1aWeq/y0ZAH+6MaxgtAdkBaujoHGK5bf5ki6f4oFQO3IuBICgge2Suub9GApK2+58caznsw9wTTRFn+NBUHUyGZe9hjwsNBOI8a/EaAFxDWKCFEZtTvH6pVUBlCgIYNJ1PgTypvrgmU5vJrU0jxQvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T/SCxTU+aK2lFTFgepLV71s72ZZnKyo6fCuV6V7d+4Q=;
 b=ZF783xnS6UMck/laOXDYH5s5J38e/kb1Zp571/kmBreiTuPCEuE1IwyfOailJB+rasu0ccBleO36iosTm4W5r6BdTaxRCzPn8Fl3bSNDdsrVJFY7jAOYU6Bcp0NlRXBBQvtHZ8NAGavLpmZD3OfLyZOoQUmrDCQ/j1/mGLBtti+N/xZYKF9s+1D6IjldAx18lhjqEy8Z6Z3eWd0IVJVAysyAGORu8zj9yFZRxJqwVjVIQpO7K8d8kaiTTCYiot4TtKU1/VqRswYgDaNJRhlR3IKUouMvnjgv26rQkyAe0HTirAKFvNB3Qskp5v8dJNyKFHHo48AEA78FlONztc2xlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T/SCxTU+aK2lFTFgepLV71s72ZZnKyo6fCuV6V7d+4Q=;
 b=RfBoUfGe02q2Y4dZp4hE0ClTGB7lcMqGf6FyuQ6bUEGCJkQP/5F3td5gt/zW0di8mtmX++L9jVO+QFAPT4LJUMI6dgMrDItE7n0nDcQCuNmHZNBmtQNiK1Ynivplx8LotGXn9KuY7jGkVlUtN7/wHEgFHR/56FkJaqx+pfGpaUr+YUJR64cqC0GldZ/esFHEWL4ghZ0DOwCSUVi6oV5zD9kB1/zXIweeYYsLV8vYVEBZ7SIswTQHuMwsrwvCg1e+qVmQPMSH2UBWJjaFsl6hIgyb5JY4X2FyRLPTgz5n4i1TNQjRoB45HQY0k6xKByVtFEEvTDdgJXIRp8uxd81KCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
Date: Mon, 7 Aug 2023 15:17:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Simon Gaiser <simon@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>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9100:EE_
X-MS-Office365-Filtering-Correlation-Id: bd1554d1-3bbb-42f3-0e50-08db9748a19e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Kroh1qSMPknClRd9c8xDjPKVL2Y2SGv2JHxjhjBWyicWZiDkQASnsnW2atUn3RMzND9jWK4UUR0imZdBoRp8VTIDI/Fq3wdQPgtCxNpGrM2mTqZwM5m8+HflTx5tteGdGp0PbE1Q5VavpZABJT16F8JCLO9tcMYFlBkCB5aHq5jAov9/Go9Lv5sO95r1ZlwEVg0uH7IdbQ3Lw1u7/9JfmE/4mQ97mawy6mAgqSk76/u5k5bkiHj4fRAaNPJIhKXXdFtqVMNhH18hJr+jBFA5QNbFLOqew7eV6sSFHoI80ZvCS8/a1zHwq0Zu7A1/33+/wdqnyvT7BCDm4oZPmoPWI8xFRqoT1p8VLkGFNz3QFmLIKi9/Ha/4OVxMKoIMG1vbBYa5c5aIXyTbo8ZlJVFTo270NvQ5TPzVIAsUcw7k3eppiP6n1gCc5P5oQJ5zjJpMtWhtzU0IOCbDAB9+GPV88xlh/C3wzwZ7TPafNZveGG32f2iIA2a36doJhPHZfmW7przGOynBf2wuAXVDMQlnmfHj+4O0ljSk3o+0NyxES6B3Uvp2Un4JG0Tbq8bAGJKiFcakbNpda4Ud5vcvRiViqUpS/rIX4TfJEKCXBoaTzeXtd/cOrdbN3wftu3KBxZx5xt8f/J9Qupkagedf3FozIQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39850400004)(346002)(396003)(376002)(136003)(451199021)(186006)(1800799003)(2906002)(83380400001)(36756003)(5660300002)(2616005)(54906003)(6666004)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(4326008)(316002)(31686004)(41300700001)(86362001)(31696002)(8936002)(8676002)(26005)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjIzU3E0K21HakJrbVZiZWtoSW12bnRYWWgvdDJPbnJNTGU4MktvZzFiaCtX?=
 =?utf-8?B?RnNjTklKblJ3Q3ViY3pwYVNvbjdJc3d2TUhYNFZ1VkQ3amJTN0tYYVJCVDcw?=
 =?utf-8?B?bFp4WjYrRzIvZmxpWU5mM01iU0JTWGd1M2N5OTVvRlluQzdhS2V4dksrYVJK?=
 =?utf-8?B?SlRkcFlZTk1vdjRLWG1qSGEwbFUrS0lMa2o4UjAxRUJuRER4UGJhMXpJdG9z?=
 =?utf-8?B?d1dFVTdWUzNsM0hxcTkzTFZSbzdaODd5d3hWRFF5UGtqZm0rS0crcWUrQTJO?=
 =?utf-8?B?SnFyek0xK2JTenVPR2NzN0xXdk15R1JqTHdLc2hUYlc4WnZrem1KMnJjTG1v?=
 =?utf-8?B?dVdhVGM3SnVYREhKTFNqU1NZcG9sZUI4b1Fja3BWYkVPVnJnODFoODh3Z0hs?=
 =?utf-8?B?S093bVBrTXZnNEQvK1F4NW5FZHJEY2pMZmprZEh4cXV1dlU4aUhkUjUyT3ht?=
 =?utf-8?B?eXBXeGg0Q0VtVktjMnp6WkN2c0lRTjFWTEIvY3lNQ2k3TjNobVFCZGRZdnRK?=
 =?utf-8?B?Um9WMkpGRG11RDdqTFFhdEZRbjU5ZkVlVHpGMWtWRnhqMWhSNWJrMW84MENm?=
 =?utf-8?B?YTRyUzNHQU5Hdk9aVG43bDlMeUFLTFIzNWxkb1ViRzVRS0JNa21Xck03NEZD?=
 =?utf-8?B?M0JWaklUc040NHArWjJJSEVZMmZaL21zMFVtYmdEaldacEZ0Uk1wVjVrenFR?=
 =?utf-8?B?cWV1QVJXTVM5NmhzYVArOU5nUnhFMXUwSTFCVks1YWRpMnpJdmZ1b2E1Z1pl?=
 =?utf-8?B?a0hvbE1oUFQvd2NYUmpkUTRCeFRDYVVVWCs4WWFob1UwZWx6elRrQmVSK0Y0?=
 =?utf-8?B?cUpxbEw0SjJyQi91TWMvOTV1ZXYwaXQ5VkovRDZySGptbFpRU3ZMQzZXU1Nl?=
 =?utf-8?B?WWRBbHNjN2htblFSUm1YVXpNb3VsU2JWcVZMWnVPTFZOVnRyVk5WTlh3Q1ZL?=
 =?utf-8?B?aDl4UUpXK2tUQ0lZZU1GSTE3UE1XVTRKWTFMblgxZkF1Qy91NExVQTdqOUpw?=
 =?utf-8?B?T3MwYzhlWkpYSFBoZ3NEWTdTOWY4Q2F0bmJnemorQ2c0NGRpaE5LdzJqMlh3?=
 =?utf-8?B?allzVWZsNkk0bFM5Z1NKMUNMdkdXU2U1RmNhblpnWSt4SjJkWFREbEFHNUVM?=
 =?utf-8?B?c3AzL2NtVGg3UmVmZmFHak05amc0MDgxR2FRNnN3NGM2S0trRlNKNm82WFZS?=
 =?utf-8?B?RnNYeTRHa1lhdTNzK0UybktqYyt2ZS91cStVWEdHTXBQdkxmQUM4cTFjRVpC?=
 =?utf-8?B?d2NZVTQzRlk0VWxhRFdOVFMvUE1BSExrL1FKU0Nobm1STGdzNy82VmhNNmh2?=
 =?utf-8?B?cTNDVXFTWWVlQnJFZ2dsRnJnZkU3VlhSYVJkR1N2dytpSVpadDVaZ0poUjNV?=
 =?utf-8?B?UTlVbWlxQlRvaUxsVm8yUjZvTHlJNnY4bXNldnU2ei9XVjJLUEQ3N3k0WEdS?=
 =?utf-8?B?TFpxL0dqOHpqNXVISHd1d3h2UEErNiswWTBHeElXVzdFazhVZG5EVjg2M3l0?=
 =?utf-8?B?KzBvSkNlbDN4NFhGT0x4WXZnL2ZVWS82Mk5MNlFMaTQzbTVqbjNVNXpIR2Fk?=
 =?utf-8?B?L0pvNzh5Wnc5SW9uMUFJTjE4SGVmM0l0Q3ZVc2ZDaXhYdFZJQXFDNEt3UkhZ?=
 =?utf-8?B?ZkF5R1llREdOdzR1Y2pvSGpKK21uWVc5UndKUklCUWdmK0txcFhDa1VSOTZ2?=
 =?utf-8?B?U0JIMU1sNXVYQWhaOEpISjdxZDk3VmtQWStkdkZJZzV5Y091SWVrOUd5M20w?=
 =?utf-8?B?UlcyOFQwRGRGUXRvalF4ZXRsZlAza1ZGdGhtcncrQ2xIUmVibzY1NlcxSVlY?=
 =?utf-8?B?SjRETkZ5TFlOZGVraXhUeFJsR25PVFAwd05nN2RHcjBiOUFqSm5UdWdsaGRL?=
 =?utf-8?B?b3ZudFdUZTBEcmd0c0tpU2F5K3NzVVdLNjdpbjAreEh3RmI1TWR5ZnI3Wi9j?=
 =?utf-8?B?WEYyNDhaeUViY3ZIV1RIalpNOGExcFNoLzlyemRSTytRbkFaK2FZN2hvcytz?=
 =?utf-8?B?b0Q2RDhFRGo5cWRlckRoY2UzM0tPbDROYnJuMVY1Y29lb2hnbFFJVkhKVzNn?=
 =?utf-8?B?S2d5UEpHemwyU0pmWlFXaEpOR3A1Z0phcjluejlZbHhDc1owckN5bmRxdlp3?=
 =?utf-8?Q?laDPazdBo+Mkr7nIMBW5dX00R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd1554d1-3bbb-42f3-0e50-08db9748a19e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:17:20.9302
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B34ypUbo9rKxuq4597T9Z8Ryxf7mLqUf0lyNEV/lAvSfx6YsXg5u7liCRQlFyPm/v2zSExpv1N9+hod4qCcI4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9100

On 07.08.2023 14:55, Simon Gaiser wrote:
> Jan Beulich:
>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>> 0xff. Linux already has code to handle those cases both in
>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>> same check to Xen.
>>
>> I'm afraid it doesn't become clear to me what problem you're trying to
>> solve.
> 
> I want Xen to not think there are possible CPUs that actually never can
> be there.

Did you try using "maxcpus=" on the command line? If that doesn't work
well enough (perhaps because of causing undesirable log messages), maybe
we need some way to say "no CPU hotplug" on the command line.

> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
> that there are 8 logical CPUs that are currently disabled but could be
> hotplugged.

Yet it's exactly this which ACPI is telling us here (with some vagueness,
which isn't easy to get around; see below).

> I'm moderately sure that soldering in another CPU is not supported, even
> less so at runtime ;]

On your system. What about others, which are hotplug-capable?

>>> --- a/xen/arch/x86/acpi/boot.c
>>> +++ b/xen/arch/x86/acpi/boot.c
>>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
>>>  	if (BAD_MADT_ENTRY(processor, end))
>>>  		return -EINVAL;
>>>  
>>> +	/* Ignore entries with invalid apicid */
>>> +	if (processor->local_apic_id == 0xffffffff)
>>> +		return 0;
>>> +
>>>  	/* Don't register processors that cannot be onlined. */
>>>  	if (madt_revision >= 5 &&
>>>  	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
>>>  	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
>>>  		return 0;
>>>  
>>> -	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
>>> -	    processor->local_apic_id != 0xffffffff || opt_cpu_info) {
>>> +	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info) {
>>>  		acpi_table_print_madt_entry(header);
>>>  		log = true;
>>>  	}
>>
>> In particular you're now suppressing log messages which may be relevant.
> 
> I intentionally mirrored the behavior of the check directly below.
> Unlike the the version in Linux the existing code didn't log ignored
> entries. So I did the same for the entries with an invalid ID.

I'm afraid I can't bring in line the check you add early in the function
with what is "directly below" [here]. I'm only inferring the "here" from
the placement of your reply. Maybe instead you meant the rev >= 5 one,
in which case I'm afraid the two are too different to compare: That
rev >= 5 one tells us that the entry isn't going to be hotpluggable. The
APIC ID check you add makes no such guarantees. That's why the new flag
was actually added in v5.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578400.905880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT07Y-0003fE-DP; Mon, 07 Aug 2023 13:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578400.905880; Mon, 07 Aug 2023 13:18:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT07Y-0003f7-AZ; Mon, 07 Aug 2023 13:18:04 +0000
Received: by outflank-mailman (input) for mailman id 578400;
 Mon, 07 Aug 2023 13:18: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=g2NL=DY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qT07X-0003f1-Gy
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:18:03 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4de8776-3524-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:18:01 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by LV8PR12MB9449.namprd12.prod.outlook.com (2603:10b6:408:204::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:17:57 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:17:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4de8776-3524-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SyB8Odyutmt1zWUMzkwMoGMMH9ZicfPxzqKzl7mQ2iA2GN1LeSqBJYXVpdfCR4e9TcF4nGqC5jAH94PxLFEjH5Cm8EJcpZFKQ1WOEDbVrl0ojjbtFx056oWpLYBlEipOn7yPPRCNu+CoSIfsEdDZx8owJ69CeUa2LJn//K47+NnKUoSDHIAahHuHeYPI7VumQDYrWpDrMB+uM4GRWHGz5P9tNUC0kNd+V6YcSaTEvdkAthGYKwktFeXqJM/qpkH8/c4nKP+jkt1jxLRAJdU0ICCm2E4f9AKPQn+/FnVMmjgUzXSmFefKDaYHFx/LuSR8efCb4jzLMSUsnL0ymAcRSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eQjljf0GrI0GEV5K85/Ec4Yt7l2YjEXQ+Dx6GkfqNxY=;
 b=hmeTWojeXPc3ic4UBllxeua2yCqe2MnNdQIJpZlIc/spvMRzRZIFJkMGAoS98pHhwh8GVpyV8mRcZUjbFRV/Ivqm40Nr4JqVVAKaTbZJvWZ3dfhd2qjTn7e5PECeBGBgwrp2F+JLwwdQDzAQn9rZwDTGmgqakQJUVk0jEc+SHblHk80NvApaDC+iRD0XLIMES2MG47qTgNOhZIdmQjccPZsKcHIEbol/18e/C1D3UryQttOv44DdOPvZy5lZvYJ7KIwKJzkPqpq8ca+y3g2ywvB/oeksRRm+qX2g051IC3DUX2zsw6bhVolIgztkJqhiqjX0ezQ70IY1IMnwii6nYg==
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=eQjljf0GrI0GEV5K85/Ec4Yt7l2YjEXQ+Dx6GkfqNxY=;
 b=g7AO/XiP3d0oxY2vzpJO29JkHFsf49tOOEZSgMT7MHCmsv/WNKvEfWzy5WrjawsTs082fO4H4l3I3pMCNMwhVM+OWJHCHNqQ3iImfjeE5wDn2gqvb8RX5XmmPROm+IshaygdZv5agxrNEmTVEk/H7evX60t0IXcVLL5A96Sfbvc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <d6ef94ff-0477-bc23-fa09-454287bcf19d@amd.com>
Date: Mon, 7 Aug 2023 14:17:50 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Wei Chen <wei.chen@arm.com>, Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-3-Henry.Wang@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20230801034419.2047541-3-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0348.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:d::24) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|LV8PR12MB9449:EE_
X-MS-Office365-Filtering-Correlation-Id: 1507a9bb-febf-4e84-062d-08db9748b741
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t/H2lqS1q7ZujHPmFbCz3GgRSvaeQDKQe0qaukueGQzeIVaJPHuPBst/QPZP0trS6Q+o2IGjF7n8ANRV5eip7Cr+JY3wkLANt1CGqP1WbegCh/DDNkUGLyy88H8fkQOLoRO6N29FY6k8IS34sH+Hxr3SX4jnpAYI8kAY3sJ7fSqX+uopwizxzPe5Tdks3/lgT9MIdc0AQy/Qf62v1IeGlEZr5zyqhudcqBLogG0ij1zQhhppbgOHclqwvfGQeWqaIBeF67LuRG9dsmFhzRPzY2xUw/sR8j9JZGTXKHIA6gR83QavGUjDebOAwuWevdnssu8kjPId+jnXocXi/yf4yjlculdBne12yFPNXVJQc6G3Vn8Lq5APSvGgCVri6I39Sn8/hTaYaHbf1JZDQdGLnc3oxZxy/NAMyAw73rvZrhKyTGjjKwHziPSSzUpcCTnAoUzP2MfnIoyQeCew8g4nTTvVi8IEIVQHu1JPc1SIepFll+118b0+Fgq8QdlczsCVd4YCL3GNnkQGyof1DuJsKPNFKJODRcinZd0elZs2P4qlgmPpDM1eEi0JA66gQkJETcK3h6VLKF46PawASihPorszFNG69+J0MPjzmymCih1PTBV+XMJkIBPUo5ZRmNd/Y0CreKdEBUC4Mr8uxD8zwg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(346002)(366004)(376002)(136003)(451199021)(1800799003)(186006)(2616005)(6486002)(6666004)(478600001)(31696002)(6512007)(26005)(36756003)(6506007)(53546011)(41300700001)(8936002)(5660300002)(316002)(8676002)(54906003)(2906002)(4326008)(66946007)(66556008)(66476007)(38100700002)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eURNUjRiQTkwcWpGTWJvazhtN3BQV2tFZTljTE5tUjBqaGtyanRiZlBvMFA1?=
 =?utf-8?B?cWZHbVdUbHFMMHMxWHhjS1FWakpsbWszeGVQUEduaGxUclQ3Mi85eURjODcw?=
 =?utf-8?B?SDBhMGErVDM0V2taM0VtRk8vR1BhOFRHNC9oWGNaTm1PaDhYdkROVUF6blQ0?=
 =?utf-8?B?SnZQekdkSFRrekI1Vjh5YjBpNFh0eVpYTXFWa283S09Bc0VOMTBTeS96d1Rr?=
 =?utf-8?B?VjEyWmthbjlTNldNZXV2NjNXbVVKRFFHb3V6dDhQcG45L0RUWlRPSVA1RndI?=
 =?utf-8?B?VGRVM3hxQ2FQZFcyVEh2YSt1YVdrcGRocnFvbEppY0FQOGZ2RDlIZS9MU2xZ?=
 =?utf-8?B?THM3aVJYY2dwQm1VWXRET1UyaU9UUmIyNnBhZ1NnclNZUENaS1BYcUlCRXp1?=
 =?utf-8?B?aEJQeWl6SVpQS01vNzdmQWNxcnhhK0pscDRoM2t4V1ZnYmQ5eVd0ZS9hd2E4?=
 =?utf-8?B?VEExRlVYRElacDlkdlh4cnJZWXZmY3htNUpjRnVURXlxc2p5N2h5ZFR5dWww?=
 =?utf-8?B?YVZjSGFxc0JVVmp0bjBCZlpYQXFBYmlySHhIUlF2ZjJpL1BDMk9JRldGeGtl?=
 =?utf-8?B?UXMyUFZsUyt2akhUeVRidXM5VG44UDZHOGJIRGo0Z28vSzM4NmlGZVdOY25x?=
 =?utf-8?B?ZHVOSnAxd0xFK3ZwNkE0UWVWcjg1SjZuNTZhdHZRWmQwcHpNUXJpYzBVN0Va?=
 =?utf-8?B?UlZ4Y0pBdFlKRnNxOGplM3BPVTJXd1k3Q0xPVkVKK3k1SGFZOWpmNW1YWmYr?=
 =?utf-8?B?QUdwTjA5MDdQTkUxMDl3SUEwOXFrcWFZRG5teDZ4VnVNQ0dVREhWSjNXU1hC?=
 =?utf-8?B?NEUyUzhlUHpPRzlXZkptR2lYZ1hjNVZlTExNRkkyN2ZXa3JQeWZnVXlvT0FH?=
 =?utf-8?B?b0kxcE91R01HNXl4RmQ5STBhQXN6clRtZ2RxQlNDTFBmWnlYV0dVRmNicFhW?=
 =?utf-8?B?T0taMHp1Tml6VVIwbmZVeWU1RmVGWUFaemlIYW9rZk53TWQ1QTRVdW16UVda?=
 =?utf-8?B?Znc4TW5YWkJpSXdhTU1EamsxNFJJK202WUlkMTRWcDVVRkxoeFFtS29CM1I2?=
 =?utf-8?B?QW50enF3aDY5Y2xWQWhmN2tOTEx1MDJFU29hRU5hYWFub2JudnBaTGhuVnB4?=
 =?utf-8?B?eFJIbjk5WXdvL1c0TFpVanFTNVQ0Y3lOTktZQ2ZINEpaNU51aWhCS3luaDdW?=
 =?utf-8?B?ditMV3VsalByT1FWRDZzWkFaSVJEWWJNM3hGMnFydndFWm85SEZNY2hNNkxG?=
 =?utf-8?B?T1VoTnNhNnR1Y1ZsQkJINldWL3Nxc0wza0drSWtQaVZRZ3hNY1QxczFxZHRF?=
 =?utf-8?B?a29wRXFjbGpjeGdLT1BYSkllc21wVzF6d251aUt4Nk9PQ2VKaU9aRHpzTkZ6?=
 =?utf-8?B?b2ZqUW4vZmw4NWNaNlpFeFU5ZTJaT0txeDkyK2V4dDJBQ2tuR3pnK3AwT2V4?=
 =?utf-8?B?R0x4KzgvM0FBZVY2bjBIa2h3K2p2eHBWeTZuQUFJV0ZoVUhIVGJlbHM4cWpX?=
 =?utf-8?B?eHJBZ1FhdmR2eFIrZTB4eFc2OThpZTZoRXY5WlN2RS9uaWZ1QTMyaFBjS1lh?=
 =?utf-8?B?ZmlDZjZRbHJ2cjZHZEZ4TlJrcEpPZk5BK2d3Q1FmdURpSnpOcWluQkRKNWdK?=
 =?utf-8?B?SXAyVVBVeVdXRWQ3eGdwVm9GNldyRGRldUZaa09iT3BIL1BBajV6VTB0N2dG?=
 =?utf-8?B?cEs2dCtOQVo1eEpPUTlXZHIyNkxKTnJvUjlqeDkrQmtaOFVQZVg1M2hKdDNX?=
 =?utf-8?B?K1RTdmZjcW1aOHFHZFpyQkwrZHhaU1E2QXNqN0g0dnZvWEhOWUtaM2NGVTZR?=
 =?utf-8?B?YlB2bjZoSkQ1WWFEVFYyM2dUdWRJTE1pYUppTGZoMnBoR2RtVElmMnVZTkpK?=
 =?utf-8?B?QlVrbHhKdTl5bHZxZWVTYUtVcmdOSGNYQWlvcnJrOWRzT1JEeXRiMW5aMUFG?=
 =?utf-8?B?czJyOXI0OWUwNkc5Y2piZjJJRDhPcktDWkovSk5ZUlVIZmJubVg0ZGRqM29Z?=
 =?utf-8?B?WnkzNllPaG5XanRUbzhkSjlRRHovRkVZck9Yd2tWNWRvaXRyZVpnd2VZMmVv?=
 =?utf-8?B?ejR2b1dkeUlkSEppUUd0YmcrSGdYTGpBdDIvalA0Y1dVd003Mmd0YzcxSWho?=
 =?utf-8?Q?zjICOfVN8Z9dTQElMjvQHiurn?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1507a9bb-febf-4e84-062d-08db9748b741
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:17:57.3163
 (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: jgzCLpULLIyWlu72Lxo7SpPkezYwjEqba77ALeRoCjM2PkoGJ6FciQ0MUZKzzYmGAFPtOIJuQ0RvB/YpIC2eHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9449

Hi Henry,

On 01/08/2023 04:44, Henry Wang wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> There are two types of memory system architectures available for
> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
> and the Protected Memory System Architecture (PMSA). According to
> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
> controls address translation, access permissions, and memory attribute
> determination and checking, for memory accesses made by the PE. And
> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
> scheme where an Memory Protection Unit (MPU) manages instruction and
> data access. Currently, Xen only suuports VMSA.
>
> As a preparation of the Xen MPU (PMSA) support. Introduce a Kconfig
> choice under the "Architecture Features" menu for user to choose the
> memory system architecture for the system. Since currently only VMSA
> is supported, only add the bool CONFIG_HAS_MMU to keep consistent with
> the default behavior. User can choose either VMSA or PMSA but not both
> in the future after PMSA/MPU is supported in Xen.
>
> Suggested-by: Julien Grall <jgrall@amazon.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

The patch looks good, but it does not cleanly apply

b4 mbox 20230801034419.2047541-3-Henry.Wang@arm.com

git am ./20230801034419.2047541-3-Henry.Wang@arm.com.mbx

Applying: xen/arm: Introduce 'choice' for memory system architecture
error: xen/arch/arm/Kconfig: does not match index
Patch failed at 0001 xen/arm: Introduce 'choice' for memory system 
architecture

- Ayan

> ---
> v4:
> - Completely rework "[v3,06/52] xen/arm: introduce CONFIG_HAS_MMU"
> ---
>   xen/arch/arm/Kconfig | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index fd57a82dd2..0e38e9ba17 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -59,6 +59,20 @@ config PADDR_BITS
>          default 40 if ARM_PA_BITS_40
>          default 48 if ARM_64
>
> +choice
> +       prompt "Memory system architecture"
> +       default HAS_MMU
> +       help
> +         User can choose the memory system architecture.
> +         A Virtual Memory System Architecture (VMSA) provides a Memory Management
> +         Unit (MMU) that controls address translation, access permissions, and
> +         memory attribute determination and checking, for memory accesses made by
> +         the PE.
> +
> +config HAS_MMU
> +       bool "MMU for a VMSA system"
> +endchoice
> +
>   source "arch/Kconfig"
>
>   config ACPI
> --
> 2.25.1
>
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:19:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578407.905890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT08S-0004Ec-Lx; Mon, 07 Aug 2023 13:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578407.905890; Mon, 07 Aug 2023 13: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 1qT08S-0004EV-JM; Mon, 07 Aug 2023 13:19:00 +0000
Received: by outflank-mailman (input) for mailman id 578407;
 Mon, 07 Aug 2023 13: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qT08R-0003YZ-8Y
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:18:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7903bb7-3524-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 15:18:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 169184EE0737;
 Mon,  7 Aug 2023 15:18:58 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7903bb7-3524-11ee-b280-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 15:18:58 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
In-Reply-To: <55099faa-206a-b7ae-8ef1-64d1dc344c4c@suse.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
 <55099faa-206a-b7ae-8ef1-64d1dc344c4c@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f7d676d32355788620bda00a60be5258@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 07/08/2023 15:05, Jan Beulich wrote:
> On 04.08.2023 10:03, Nicola Vetrini wrote:
>> The parameters renamed in the function declaration caused shadowing
>> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
>> them also addresses Rule 8.3:
>> "All declarations of an object or function shall use the same names
>> and type qualifiers".
> 
> Can you explain to me how shadowing can happen in a declaration? I
> would focus on 8.3 here, and only mention the other name collision.

There's "static struct file __initdata kernel;" in 
xen/common/efi/boot.c, which
is visible when the function is declared. Since renaming these parameter 
names would
have been addressed by Federico for R8.3 anyway, my intention was to 
address them both.

> 
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>>          s = map_s;
>>          if ( s < map_e )
>>          {
>> -            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
>> -
>> +            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
>>              map_s = (s + mask) & ~mask;
>>              map_e &= ~mask;
>>              init_boot_pages(map_s, map_e);
> 
> Re-using the outer scope variable is a little risky, don't you agree?
> It just so happens that below here there's no further use requiring
> the earlier value (PAGE_SIZE - 1). This isn't to say I'm opposed, but
> it certainly needs evaluating with this in mind (mentioning of which
> in the description would have demonstrated that you did consider this
> aspect).
> 
> Jan

I guess I should have mentioned it

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:21:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578415.905901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0B4-0005i3-3G; Mon, 07 Aug 2023 13:21:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578415.905901; Mon, 07 Aug 2023 13: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 1qT0B4-0005hw-0J; Mon, 07 Aug 2023 13:21:42 +0000
Received: by outflank-mailman (input) for mailman id 578415;
 Mon, 07 Aug 2023 13:21: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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qT0B2-0005ha-JG
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:21:40 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55d3585d-3525-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:21:38 +0200 (CEST)
Received: from mail-dm6nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 09:21:35 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6562.namprd03.prod.outlook.com (2603:10b6:806:1c9::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:21:31 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 13:21:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55d3585d-3525-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691414498;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=mMi6LU0PhvDU5U2ndnsFScM6mtJb3RWTKZHASzxOpaY=;
  b=Ir3PXnn8T0I432bMyykkG4cZtsrt0d0RLmpyRwj6vmnyOO3DUasSFHEm
   d7OVHa14aPlxdZe578wGa1M1eq4H33KNtsVKoE6wSiE3WnnnYvsvQAjzo
   eZMhiqOT9jA1nhRShTee9kfHrnkKYcVjq6H9G0LIETy1Q1s2Zo7q1+DpF
   g=;
X-IronPort-RemoteIP: 104.47.58.104
X-IronPort-MID: 118602308
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:z5wKEqyLNaMEbSWpVk16t+cOxyrEfRIJ4+MujC+fZmUNrF6WrkVUn
 2oZUG+DPPbea2OjLdF0OYvj8EoBvpPUmN5qSwY5qyAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPa8T5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KURN+
 No6FAsUVCzAhO3ny+vkQ/BIt8t2eaEHPKtH0p1h5RfwKK9+BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVQtuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAdJMTOfjrq4CbFu7z1ciUkc8C0GHuuDjjnenYPdBA
 E0q5X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8/AKxFmUCCDlbZ7QOlMIwXy1s6
 VaPkPvgHzkpu7qQIVqN+7HRoT6sNCw9KW4ZeTRCXQYD+8Pkoow4klTIVNkLLUKuptj8GDW1z
 zXUqiE73u0XlZRSj/n9+k3biTWxoJSPVhQy+gjcQmOi6EV+eZKhYIurr1Pc6J6sMbqkc7VIh
 1Bc8+D20QzEJcvlePClKAnVIIyU2g==
IronPort-HdrOrdr: A9a23:VUWJla0lpLM/NWRukjSiZAqjBa9xeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5OEtOpTlPAtj4fZquz+8T3WB3B8beYOCGghrTEGgG1+ffKlLbak7DH4JmpM
 Jdmu1FeabN5DtB/LjHCWuDc+rIqePvmM7IuQ6d9QYUcegDUdAe0+4TMHf+LqQZfnghOXN0Lu
 v/2iIRzADQBUj/I/7LTkXsGIP41q/2vaOjRSRDKw8s6QGIgz/twLnmEyKA1hNbfyJTzawk+W
 3llRW8wqm4qfm0xjLVymeWtv1t6Zfc4+oGIPbJptkeKz3qhArtTIN9W4eatDRwjPCz5E0smN
 zspQ5lG8ho8Xvecky8vBOo8Qj91zQF7WPk1Daj8DbeiP28YAh/J9tKhIpffBecw008vOtk2K
 YO+26CrZJYAT7JgSy4vrHzJltXv3vxhUBnvf8YjnRZX4dbQLhNrbYH9EcQNJsbBir15K0uDe
 ErJsDB4/R9d0+cchnizyJS6e3pek52MgaNQ0AEtMDQ+z9KnEphx09d/8AblmdozuNLd7B0o8
 D/doh4nrBHScEbKYhnAv0afMexAmvRBTrRLWO7Oz3cZeE6EkOIj6SyzKQ+5emsdpBN5oA1go
 79XFRRsnN3U17yCPeJwIZA/nn2MSSAtAzWu4NjDqVCy/jBrOKBC1zGdLluqbrvnxwnOLyZZx
 7pU6gmRMMKLgPVaPJ0NkPFKt9vwEIlIb4oU+YAKiOzS/3wW/3XX8zgAYDuzenWYH8Zc1K6JE
 c/dx7OA+gFxnyXexbD8W3ssjXWCwPCwa4=
X-Talos-CUID: 9a23:0RRe6W9E//k2FqNC7oWVv2sXF+YHTkbE9kuTIEDpAj82QaSxeFDFrQ==
X-Talos-MUID: 9a23:wKaRwwkTlWD3kOTIBIrsdnprD/YyuY7wEnwWiM8CgtC/EDJbOgmC2WE=
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="118602308"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MON3IxxoAS1ajR3iKRckyouIR46ne9G6xi+eEAjD4AsLgN9RsFVbdGp+Gn0MbbP8vLea9xJOptFiNAnchOz7DLi76kKYjFpKDkywyZ3he6uQh6v/PExARssptFWuaMKaF4t/8kiq901QZcjOYD4ejzRnQ6QYLLwRcrMlbtt7uCFGIIyNI6X31oN01q82zV1m8i2uL/OvFS0GFt9EsKssaVmu6AW1V09+oQZwZKejylEoBLKl8AMo/aQTNeULHXSQM4kElUQaQWi9bzHE21Yx5dLTYOpcVgogv3Rv0q1mVAOlg+NRuffskPKxw94fe4vFvEc3d6zDrgtGbWZMA/nEag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wbwdwUYbSmncgELkjSuam2FjUmRyNBwN5M+qmKUJ+9w=;
 b=dQbeWjnq0VafQa5sLmwGDjie366oRh+LWyjjNLlsKCBsqhjF2S2CLXPyv+iw69sBv3HZ/NoecO87jekE9YBP2FPF3Yo2NczMTP5x7PyDU4UoZT7dI/ApXYSpGYT5o3HMaL6P1r3Ij5FWjhgPBJ7Dwd/3/KNpoKoPCYiBNRv1EIX9cf9ozI1rZidS4SV2LWJPvAUNTI4lOKFTMHbw7+3oIi656IY1vQvhIlVF1ItNESmMEPuS6NhyeTU69ymP+2mvF0Zr3pFhSBEiWTBbfoiKf/u139u7/Jg66UH+DdPjxelCeGrfgvERee3NtrDgiVIWCYPvn+sghhVNam6HiMFr8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wbwdwUYbSmncgELkjSuam2FjUmRyNBwN5M+qmKUJ+9w=;
 b=qTOqjEjt+mv34qpYP7A4/4quweTqhlGjv2ysZJiEMYVRF6bwAzWa+MCVJlYhU5DWviPdsGKcAMgwLNMpMTI3S4idD5lb8rtL68p+/06LP9uqKtI05uw4rNYdCQS4IuPK4KuIJ8O6EUlj8uRi779MERA5ggUggiDadVvlKTO34vA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6a22f4d7-e0f6-67f5-ba44-af0a07523c4e@citrix.com>
Date: Mon, 7 Aug 2023 14:21:24 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: Drop opt_pku entirely
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230620174704.3907275-1-andrew.cooper3@citrix.com>
 <3daf5b51-cf5f-b9c7-b02e-0db5b48aa03f@suse.com>
In-Reply-To: <3daf5b51-cf5f-b9c7-b02e-0db5b48aa03f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0133.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6562:EE_
X-MS-Office365-Filtering-Correlation-Id: 96f695e0-61b8-42e7-2478-08db97493687
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9d64nLsu7V2po0dEnZPCbLW787hkT/N+NGmB1YPWHYv5jq5uuaHlDuNYVhfFRpM8iRkLn8a6RnABzGBuUrG1w5a7aQZW7N92Bt/p2FdX4jCxM1Bg+CioOCqiffL1MLms2bSJFj8q6oMYs3U6LC9nIAC3/18/+N48QH41Htpiq612y/0kz4JmQ77vTbHJaMaxsKmDstZeue8SxuJ4VWOJI1ki1rkJ9rkXp8nFUySjJey1GyoavbyKTxkikYhkb8whD0jzWBe88bR0xMJJK5+3bIFaPnuK/DqhAK6S1kqsJ5m6AoqKpU+VRvQtUUoef6oZztTpr0JLMWl3yIMk0Mkqf4qaO8NW9uEbEpeEwRp3BttQ3Cbw0GGAA/XK64Lg7SjYffn+ZEm5RU40DlwqJGimzw3dq7iiLPoy9OGw7bSsNVV/oFajTvxSaueZmasu8NOmB4vqRY3QRuU6uT4SS5bkihiRoy3XCzJC+0nLHTqQG2XdhYqoWz6sGtJvMOQWW/HaEmZ84t5X7t4klT/QGpQe55HiNm7pkeVIJXs7XlcpStfe7Cs1Pu9LfDclmRgrR+8SybimFR+hI1VxNpej9+YUk2zVD+4lJmMaGWKvmWOjKFaq1UsXpUnhR1J0csNF24lJ+0E3neolTmd1EjkJxe6gkg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(39860400002)(366004)(396003)(346002)(451199021)(1800799003)(186006)(2906002)(36756003)(83380400001)(5660300002)(2616005)(54906003)(6666004)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(82960400001)(4326008)(316002)(31686004)(41300700001)(86362001)(31696002)(8936002)(26005)(8676002)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1VhNC9Sa3VDSkNVbkRqNXNDY1NzekFZZU1zeVpYZE1QWW9CQWZUQXkxLzFl?=
 =?utf-8?B?NSt1Vk5FZGFVN1hkdmdNN21VTTZRYXVtQ3hQdHRrSE9LQlhVUXh2UjRYN1Bh?=
 =?utf-8?B?ZUJ3K2ZYY1U4d3hVQ1RXUFIrSHZpZGZGcjE1VVZQSE53UkJFbVg1TURpZ1hI?=
 =?utf-8?B?TUc0Skp2elRyNklya2QvOW5Fd3ZlSk04NUdyUGlUL0dSWU5GbWQrZ01FNFdl?=
 =?utf-8?B?dS9ldGpZOTRHWllyUXhFTEUwSDJsMDlyNExIOTk4VlViOTBiY2N5LzBZZFRS?=
 =?utf-8?B?cUZIWWt3VWN2SWlXL1F1c2E5THRNaWlwQXdSM3RFS0xPcXZxcmpub3A0OXZh?=
 =?utf-8?B?a1JYM2ZpZ0xiN0dhR2pKVEs4U01Bd2RWSEpFMHl1K2VpZ0kzMmE0cWpxQVlt?=
 =?utf-8?B?K3BJOWs1b1g2ak5YZ05FR1d4SWF3aWdyRm55cUZ1dy9nMTErbzNsWnJ3bjlS?=
 =?utf-8?B?T05KaFF1UlEyWnhtVjRPaXNmY0s5OC9kUERBZFNXQjVwR1dzaE5JTnBGQVdG?=
 =?utf-8?B?WWVLU0N0dWtCNkt6OTdvZHRLNlRVS3RMQzVnMWdKSDFZNVJUMG03eEo2YzJq?=
 =?utf-8?B?Z3ZoQ3Zsa1cyOFgvZzE4TnM5bFNHM1h5SFZhbFBPRjJtS21RcWRpaXNlcW5R?=
 =?utf-8?B?NXFZcGk2cmtnV2xwd1doakU4emJuNER3eUdFc0JucVBkaHJMUEdGZlJQeFFo?=
 =?utf-8?B?UDRoaGZCWjEyWDJWaW96dUw3ZmpvdGo0VU5hcjFmUEg1MlpUdmw4ZjBWamdL?=
 =?utf-8?B?Z3dFYWxZeGhCUE1XUG1FaEJQOHJ0aFhFL0NtZzNhQk15cTJVRzRYVWozcnZz?=
 =?utf-8?B?SmhqVi9kNktXSzBMdlJ0THNXU0tVTzlNbWtPYm5jdkhSWktrRE5iOGpzaUdX?=
 =?utf-8?B?ZFdZZ2dUY2duRmtQalJKZlllWVUwR1NaL250bkd4dGY2U3JBUnRrNTVyTXU4?=
 =?utf-8?B?azhzaEdqYkRVc1lkWTYzaUtsNjV2ZmFWdW1YNCtUN3BuVDd5T0QyL3VZWHp4?=
 =?utf-8?B?SEszUnVJMDhRM3dMVnNIQTJrdXRnQ29HbnBQKzFuaUQwZHZtNmRDNWcxVXQ1?=
 =?utf-8?B?NnlueWtXZm5wZ2dLWTAyR2hlQjg0QnN0QTd1eXM5bVIyenV6elVIYzZhcEJO?=
 =?utf-8?B?VzNYMGdzVFBDSWFtdVIwcy9zcDEycCtzRlcxVDFoU3JmQWJKQ2Q0NzJVd1Q2?=
 =?utf-8?B?NUFTUHl5QUNEaGN5TTZ4ZUQzRlVybFYvZ0R5S0VvRWppQmpRSmpNT0RoelRj?=
 =?utf-8?B?TnpwdzV6RnZZL3hHVEUyeXF1YWtGODZ0OTlUcHcxMEFreGRDWjBJaWpKeWtt?=
 =?utf-8?B?V3hqdnNwdkJYelU5K0FFL1lZR3pnRUdkVlBwNXVobEFZbUhpQnBkcDhBaXRh?=
 =?utf-8?B?WUx6ZHlycHpUYnJZenBwZVMvK0Z2T25yaGdMRXJGOVZtdWlZbEQwL0lsZWFT?=
 =?utf-8?B?UndnSS9TTzFRV3RoK2dicWZEdm5YZUdXUDRnbDl1blQzTnN0OWNldm8vUFJa?=
 =?utf-8?B?dXVJL3c0VzMrNkhOZ1luVHBOOXp3R21weDNXRzRPbWQveFRZbFdodXdFRG5Q?=
 =?utf-8?B?WkdnRkgvY1dKZXkrUzlCOWVtdDVyYklQYlVhbDkwbTNRdFZJWEpOOXNFOElu?=
 =?utf-8?B?Y1R4YmFBcmx6ZkFNUXpXQmpEdEc3Zm5HQjM3RVM5bzJoaVFvVmlZV1dMTU5l?=
 =?utf-8?B?SEVXTmhlWXFDVWpwSUJBNE1MSU1VOENqak1VV25jRUNYM1ViTmxGTGNaaGha?=
 =?utf-8?B?TTRHYkFub2xqN0ZEbVhVUVpVZ3VVcG5KNFdoVFFBajdUREFETC9WU2t1VDF4?=
 =?utf-8?B?SytsMGVWaVE1ektXcysxOXNtdi9wbEsrbGRtbFdHTS9SVmhnemcrdGNVcFlK?=
 =?utf-8?B?aVU4anNndHVybUQ5N3pZVTAya2I3dmFDYU5XS011d3kwZjJWeVZsYnZ1T0lj?=
 =?utf-8?B?cjdDRHc5RFROdTRoUmFIME1YVHArbVhlb21kMEt1VlVWUlZua3N1b1Y3amNZ?=
 =?utf-8?B?dXRpYzl0M21SbE5NbS8xNnhYYWFqWm9aRVJjZHZTVDllVkF0U083YVlMUWJQ?=
 =?utf-8?B?RXNab1FMZkd2MC91RUUvSExwUDFHTGVGTDFXZGJWM3JNWWlyYzY0SWF0b21z?=
 =?utf-8?B?LzE1cHV3aHdzckpnRHdQcTlBK1lOUlMyd2g0WjNibjZGMFY0OXJmdHdwRGw3?=
 =?utf-8?B?c1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	IwhUVz9MJMfTQ0sZ2A3GQP7JxwNOYP/f/UWMiLy11a66ent199cWPeymzTdBrya5AhLMWeX3x+6Rk03JXEbNsnAMNljvFhgmTOs4zw0TgshEMwvtg8xv3Pjv15cIynHqfyHbr6s4oll2QGrhbN4etdsD8VFSVt4AtUhkeOv5O9rYhJhve7V7mAY277mzoAVVYTJkPCt+ijIWwb4+YWw4p59FDgaze2C5OUf/By8GMuBzmC1/Uhqp38RWMCQyxIhcjGlc02sXPlMqN8DI6/oam2nbfd1zNSaxxNeoFyIYYybLORQD2tlQE6J8zebplmj/cZmr+53EuwmZvv09oD6mDxpSOov1TSIx8Bap6GYWDP6sJnC3qHShD0cVvrWu67kc5i/kqhsZ8nwQ3b3v0kCFY5brUC4+SoqqyZfvonudmf8zIymT910pZK86bwy+Cf5YxCr9eGSraix4w6RjsdHildn9atH/xMUCvp/M7r3nz/edggUQJWZTUd+O97ssdzmWOXvFwZ7XpM8D2UH8R1vF2EPF0KtdLWAkAp29yWbf1KQKz1em8/7WIyfwk0D2Ay3ZV+rkp4otMtbqBd+4YSp2suHnMtfdbtSKOAs96LHfgzmwUhQMzFDvB5cAs20Hhajo9pAlYPh+ffZjfi9BTOd4dg9tH/a803XQfR2wn7wmaMJuEX1WKhVtkiZNL5/mSvrGQUyhN2eeiay3DNSKB9tYsHZaMKQnjmhtJXffZpixfv7YAAuPguJ33nHzQcUleP7cNSmc2R/DD5OEEfXiDD2X6ccsPKbJEZQyzkTHE0LyuBU4CYTTGUHrmT1ShDytVSxVYdVWyXDri84D23oDqatQNg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96f695e0-61b8-42e7-2478-08db97493687
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:21:31.4512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yLRTApKzHjj9aAHoAAzjDeWfIz89LBCBp3nfZ3g0ZzDGoaVEHEjMTHvTtZW+yDhPqFbAMPAuPqgZHLNGA3klR7VmyQOu9pyqJMSumU2r1Bk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6562

On 21/06/2023 8:37 am, Jan Beulich wrote:
> On 20.06.2023 19:47, Andrew Cooper wrote:
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -25,6 +25,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>   - Add support for AVX512-FP16 on x86.
>>   - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
>>  
>> +### Removed
>> + - On x86, the "pku" command line option has been removed.  It has never
>> +   behaved precisely as described, and redundant with "cpuid=no-pku".
> Nit: Missing "was"?

Fixed

>
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -1950,16 +1950,6 @@ for all of them (`true`), only for those subject to XPTI (`xpti`) or for
>>  those not subject to XPTI (`no-xpti`). The feature is used only in case
>>  INVPCID is supported and not disabled via `invpcid=false`.
>>  
>> -### pku (x86)
>> -> `= <boolean>`
>> -
>> -> Default: `true`
>> -
>> -Flag to enable Memory Protection Keys.
>> -
>> -The protection-key feature provides an additional mechanism by which IA-32e
>> -paging controls access to usermode addresses.
>> -
>>  ### ple_gap
>>  > `= <integer>`
> Elsewhere you said that we kind of imply that only the explicitly named
> sub-options of cpuid= are supported. If that's the case (which could do
> with saying more explicitly), you will want to add "pku" there in order
> to not regress what is (deemed) supported.

I disagree.Â  I can say it was equivalent to X without X being an
explicitly supported option.

PKU shouldn't be adjusted by either of these options; it should be
controlled in the VM config file (if at all).Â  I'm unwilling to make any
suggestion that this is supported.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:23:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578421.905911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0CU-0006J7-HM; Mon, 07 Aug 2023 13:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578421.905911; Mon, 07 Aug 2023 13:23:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0CU-0006J0-DS; Mon, 07 Aug 2023 13:23:10 +0000
Received: by outflank-mailman (input) for mailman id 578421;
 Mon, 07 Aug 2023 13:23:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2NL=DY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qT0CT-0006Iu-1k
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:23:09 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20631.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b6821a6-3525-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 15:23:07 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by SA1PR12MB6969.namprd12.prod.outlook.com (2603:10b6:806:24c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:22:59 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::4541:2a3d:737d:b194%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:23:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b6821a6-3525-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jrwEdPKTuEWfYehSKQdUXa9JyNH6WCN2ArDj0jlIS4anz6nY3czwvAhDvOB17zYm5ldAXmaH+NYWSjIOuMOZ4BGfmpOt8Pcbf0xs73hmIGpYAlM/etM4GIlzYSrDRjYpAPEbusR63lSB0cHAMdvDZ5qNtpWQYnyJnq5RVPhke/h2c7P/DyEhjGHAELe/3FqK4cC4K5aPQdTgvI3P3OBTBr8R2wPcB7mj1Pi1uFu5b6/liRZ82tB8KrK/KWhKhOiDZsdnx7f1q0lLLuUh9h2LNgEt0p3GTH5VQySIj/9vCjvL3hsqtbQvlnwhjxY7CZgQJLy6bfiZ9LNY8ejmncPdrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m5U2DaR2mLr8BtOdeke40BhnOPacsz+xThXxLeg48kg=;
 b=dqZDh6PH2sY0yKgEBwYXhgudYTDAzpbawPtuBIUCXxFVTXi03ABvxrARyoQPH47HLn3Wr7ncbGcJ8PJW2dfwjD2R/nZ/vA7fBWtQne1+3mhNVhb39x3E6xP5/5EESYcYm8IVL1B8ExZjsx3uSCRLXeLh0ezcJRRPOqyQ8F5aHiXtOhzUgDGwPc131KKEkpYQHk6duhbbowdazpDatEh7Q12gIQdMpZKmk11rVYPLfQvfjDFmYuF2lLR90lJXEq0FMElA6ly14Zs2Kh258GgXO5gbvB4XlKOb4ltdQbZEcMfPM2A/uoJlTCnaIi6cRaayUdddgGSt+68LozsXdxxZfA==
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=m5U2DaR2mLr8BtOdeke40BhnOPacsz+xThXxLeg48kg=;
 b=nAIFvbPqc2l7QgG6z784H4LYaQPYuLeLxASrqH/rAeRptQ17Ba9m/jh2Cmmd/r+rZnokIRiSRI+qxEIibIUpvWPXgAncReApMWt54pEWFxt6ryY4rE0r7GbCzw0oRCoy9Lrhvdb+lPw4ZK4JU+7EByPtelUROnIAU7G6oFsjn/0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <24eba373-edc8-e2dd-5d5f-34c7f0865d5f@amd.com>
Date: Mon, 7 Aug 2023 14:22:55 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v4 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-4-Henry.Wang@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20230801034419.2047541-4-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO6P123CA0005.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:338::10) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|SA1PR12MB6969:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cabf411-b2e1-4879-59ff-08db97496cf8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ki7fQ6A3aXWz3idyg2Owlx2UlIVDWTCmOUVpSEESyog5EeMd/QdVMnQ0arldhcfupuD5EGUo15iF649+C+tdN88Xh4f3CE6e6KHGgS9eczE4eBX9i3/CVnkQoIM4hLAe10tJO+cVaeuillN/qc135j2FJNTYxI89HfNuBe64h3832BBU6vjtkPRgbPRdI0ME1lPoX48SjheQA/g/Fqdpxe8zkCKQtAyZ39vJ+8lxtebthgjoBuC8B3PP3cSUtV3Tkuag45NVqqXeVDLAcht6uDG0pLFx7sB9cH1eKQhZjbnzkh6qI+WzTI3HPWjOND2IeNen+3mhUwFdvEvOXxjNPbBmcjct06C/LAk7Gu7olKivgK/YqPHlM3iNUIQ7t3IUJcYbzpGoTF3lSKKqGhgi7Ym+mxeBJHCsp3adulNJWdXxGGs0JPxlRhR+sjBg6RSnBU2UajlQuyvoJxs0AnJHa80nxIO57Nh6sVlrwXZVGyRgd3lh1ED7XRiWAEg0RIwB9+0FFiJ9rhhlHo+vYbhdCPlgkT53hI73mnuugYaI+k/uy+35u4mM3mKuQWqx8H4ZYu6+hQGlOINxWsP+auvdk2zwUW7sUhO8gbCSMXdeeB20Vvu1lz76YXOCrNHyB8nmGG36UPdKa2xA6G+g/5esVg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(346002)(396003)(376002)(39860400002)(366004)(451199021)(1800799003)(186006)(36756003)(2906002)(83380400001)(5660300002)(2616005)(54906003)(6666004)(38100700002)(6486002)(66476007)(66556008)(66946007)(6512007)(4326008)(316002)(31686004)(41300700001)(31696002)(8676002)(8936002)(26005)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHJ0OHl5QVloczlNYkhNY2pZNG1ZTzJNcFZZbFlqU0hHTUpqRC9uVDZ0NkVB?=
 =?utf-8?B?MU03Z3FBWk0vQ2RzcmlhVHliRW94Um5MelFTaTBNZW1GWkUwd1Ztc0dUWWRG?=
 =?utf-8?B?WlpkRzh0YXZsek5zbXdocGVlRzJNeHlSbmg3UWhXT1VCYTZ5V2NmZmlESUJQ?=
 =?utf-8?B?bWRpc0IramtUVDk1bnF6QnVITU43OUNidE5Yd2VWV2xtR3BwSCs5MlRpQ0Yy?=
 =?utf-8?B?NWRWdjh3VmR1ZW9DZFVnVy9ZOWRiVkFER0c4TFFYRUJKRnRaMGR0UExTTklj?=
 =?utf-8?B?RkZwaGlEbjAzdEtSUjc2OGF5S2NCVjQyUWlkTEphSzF5Y2N5ZTJ4QjhvelUx?=
 =?utf-8?B?ZUFUdUdDRUkzWWV4YmgvWTEzbTBCeWVWVGptaE5PZ2NCcXpSWGY1dFo3R0I0?=
 =?utf-8?B?Y0ltNnFjR3NOcTVNa3l0U1NHMVM4RXQ4RzFWV0NGRjRmd1psb3NQaFVzWCtK?=
 =?utf-8?B?TFNpTjRNbFFsRFNkY3BrdmRKRjlaOXl0RTZZZTE0ZWtUcjJrd3NLTGZsTzNE?=
 =?utf-8?B?VHkyc1k3WDRubnN6RG44eUhXTGNHQ3hDWEhId3pieEUwTXY4Tyt6ZTR0eWRi?=
 =?utf-8?B?cytJVGdVMFRGOTh1UGFJSlBCL3dIUHBaaklCQXROUGJIRVg3UWhKZld4U0Uv?=
 =?utf-8?B?ZGZlVjZabDNlQVVjR1RTS1NNNm1odlM0andkRDNqY3dyeUNrSGt3aGw3R2gr?=
 =?utf-8?B?NG8wUlErb2QwZGZtQ1R4WWtyS2lpZ2Q2akNuVE90NlJFRUVENGErVTNlWUNI?=
 =?utf-8?B?Z1BreHdiSVhldDVSaFZwaTVLbmEvNUtjeXdmOUVFbXNwdHRxdFJzZVFwS1pP?=
 =?utf-8?B?QnhqLytYVC9uQ2loWmFvbi9RbzBmWWh6TThBWUV6VjZSeTRmdEUxTUlGSDBj?=
 =?utf-8?B?MzdOWEloSVJUNUt0SENLdS83YW9tRVF5c1lURU5tWFVhNTJuc2szbEZrK1Q2?=
 =?utf-8?B?SmpjZWNWL1dibEF6RWlRMGdrTTRlMkZveHlxRXpkR1c0dGhETklKekdkU1o2?=
 =?utf-8?B?dkFCNTdiclJ4eWdOaVhpdE1Ga2Jsd25tUnBkM3FqM2EyMVhoVExOTzVWc3NL?=
 =?utf-8?B?bDlGbmppQlhzY2xGMGVTRHBKdzQvQm5qYTBhRy9kRlJLNEpEZUFFSFBxZzdC?=
 =?utf-8?B?ZURUTVlqdzY2bWQ5N2RSeUl4L2syTU04UXBoSjJFRmdMQmoxeVFvSnFScWJh?=
 =?utf-8?B?dU4zUEh1WXVBZ0V6cDVWZlJzOHpZZGlBV3hYOXhQcll5WFNjY1RzbWRwbSth?=
 =?utf-8?B?dWdkVGVrc21IZi9XUHlnTnJWTzRISWloUVY2SzREV2pYaXN6R05qVlpSVytW?=
 =?utf-8?B?Q2x3U2dZWENEcDJFQWwrNmVCZ1pyZUphMS9yWU02a3Q1eVZudzZPQ2Vzd1lz?=
 =?utf-8?B?TDBIVVBsSzhIRm9MdWVuenp0RUtSY3NuZDZvTkJINzZrMkJiN3JqdGM5ejBs?=
 =?utf-8?B?enRsUFREdmtXdjZDRnBnbmFSaDNwU3ZUL014WFBMUjB4RFFSemU0dDMyalZM?=
 =?utf-8?B?c2dTMFpDczNScXBVQmlpUTM3VVFYMFlCaFJlNUpPbjhwcGl4b2drdWtqYjg1?=
 =?utf-8?B?TThIWTd2VEJ5cWFsZnhoY1RpU05WUlRvazZsY0tpOGVzdGh6Q2NXL2tnSXgx?=
 =?utf-8?B?RXB5UkdJRVU0U3NVcUhKNGJ1VWQvNmt4bklXUjRYbXZCVGkxY25kS0tOYTBl?=
 =?utf-8?B?d1ZmK05IcE9CTkNYN1dUSEk3cUI2aWRVUFZlaE50TnRIMEVndWJNMXpTRnBy?=
 =?utf-8?B?RzhXWW9QU2Rna2Q5TWorTFZ6MGtQVCsvanNSSSs0S3g0TXlaV04wWldnQzBE?=
 =?utf-8?B?Tmo2cEpTSENaLzhZZzllbmtzbXlncFdPL0J1aXQ0d3F3ZGx1ZkdDTWxLTVky?=
 =?utf-8?B?d0VVSUt1eTNvU2FyQXBEN3puUFhlQk81dG1XMjFtRldlV0UybzBOcjRyajky?=
 =?utf-8?B?TGJLdWtnN2hhbVVRREpKWDE3WnBwMVg4bjJDM25Dc0xWQWQraERTdkxDbDNl?=
 =?utf-8?B?L0ovMkExTVRTaVYrOE92bmlndkFvaUp3Q1l0dUdPcjhZeFdpd0lwQ3M3RDZO?=
 =?utf-8?B?eTJJbU50NzhvT1lMK29hR1BTS2drV0FrS0txa2tzVTNzUDBuYmZrRWNyaFEy?=
 =?utf-8?Q?NO++M3zy37jLQlEqrKDLGo/SZ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cabf411-b2e1-4879-59ff-08db97496cf8
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:23:02.2081
 (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: aEFjBDZGDpRRMifjiNuMK0VQNwfRC5sIhRe8vv7jrixMXDqYsVrAC038j6oMebdc/rB6JVnffWcdk7WNr03x0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6969


On 01/08/2023 04:44, Henry Wang wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> From: Wei Chen <wei.chen@arm.com>
>
> We want to reuse head.S for MPU systems, but there are some
> code are implemented for MMU systems only. We will move such
> code to another MMU specific file. But before that we will
> do some indentations fix in this patch to make them be easier
> for reviewing:
> 1. Fix the indentations and incorrect style of code comments.
> 2. Fix the indentations for .text.header section.
> 3. Rename puts() to asm_puts() for global export
>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> v4:
> - Rebase to pick the adr -> adr_l change in PRINT(_s).
> - Correct in-code comment for asm_puts() and add a note to
>    mention that asm_puts() should be only called from assembly.
> - Drop redundant puts (now asm_puts) under CONFIG_EARLY_PRINTK.
> v3:
> -  fix commit message
> -  Rename puts() to asm_puts() for global export
> v2:
> -  New patch.
> ---
>   xen/arch/arm/arm64/head.S | 46 ++++++++++++++++++++-------------------
>   1 file changed, 24 insertions(+), 22 deletions(-)
>
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 2af9f974d5..b29bffce5b 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -94,7 +94,7 @@
>   #define PRINT(_s)          \
>           mov   x3, lr ;     \
>           adr_l x0, 98f ;    \
> -        bl    puts    ;    \
> +        bl    asm_puts ;   \
>           mov   lr, x3 ;     \
>           RODATA_STR(98, _s)
>
> @@ -136,21 +136,21 @@
>           add \xb, \xb, x20
>   .endm
>
> -        .section .text.header, "ax", %progbits
> -        /*.aarch64*/
> +.section .text.header, "ax", %progbits
> +/*.aarch64*/
>
> -        /*
> -         * Kernel startup entry point.
> -         * ---------------------------
> -         *
> -         * The requirements are:
> -         *   MMU = off, D-cache = off, I-cache = on or off,
> -         *   x0 = physical address to the FDT blob.
> -         *
> -         * This must be the very first address in the loaded image.
> -         * It should be linked at XEN_VIRT_START, and loaded at any
> -         * 4K-aligned address.
> -         */
> +/*
> + * Kernel startup entry point.
> + * ---------------------------
> + *
> + * The requirements are:
> + *   MMU = off, D-cache = off, I-cache = on or off,
> + *   x0 = physical address to the FDT blob.
> + *
> + * This must be the very first address in the loaded image.
> + * It should be linked at XEN_VIRT_START, and loaded at any
> + * 4K-aligned address.
> + */
>
>   GLOBAL(start)
>           /*
> @@ -535,7 +535,7 @@ ENDPROC(cpu_init)
>    * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
>    * level table (i.e page granularity) is supported.
>    *
> - * ptbl:     table symbol where the entry will be created
> + * ptbl:    table symbol where the entry will be created
>    * virt:    virtual address
>    * phys:    physical address (should be page aligned)
>    * tmp1:    scratch register
> @@ -970,19 +970,22 @@ init_uart:
>           ret
>   ENDPROC(init_uart)
>
> -/* Print early debug messages.
> +/*
> + * Print early debug messages.
> + * Note: This function is only supposed to be called from assembly.
>    * x0: Nul-terminated string to print.
>    * x23: Early UART base address
> - * Clobbers x0-x1 */
> -puts:
> + * Clobbers x0-x1
> + */
> +ENTRY(asm_puts)
>           early_uart_ready x23, 1
>           ldrb  w1, [x0], #1           /* Load next char */
>           cbz   w1, 1f                 /* Exit on nul */
>           early_uart_transmit x23, w1
> -        b     puts
> +        b     asm_puts
>   1:
>           ret
> -ENDPROC(puts)
> +ENDPROC(asm_puts)
>
>   /*
>    * Print a 64-bit number in hex.
> @@ -1012,7 +1015,6 @@ hex:    .ascii "0123456789abcdef"
>
>   ENTRY(early_puts)
>   init_uart:
> -puts:
>   putn:   ret
>
>   #endif /* !CONFIG_EARLY_PRINTK */
> --
> 2.25.1
>
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:29:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578429.905920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0IX-00074D-55; Mon, 07 Aug 2023 13:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578429.905920; Mon, 07 Aug 2023 13:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0IX-000746-2T; Mon, 07 Aug 2023 13:29:25 +0000
Received: by outflank-mailman (input) for mailman id 578429;
 Mon, 07 Aug 2023 13:29:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT0IW-00073y-1a
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:29:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bd8c72d-3526-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 15:29:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8941.eurprd04.prod.outlook.com (2603:10a6:102:20c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:29:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:29:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bd8c72d-3526-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Flju2MdSF03fpBkJTuEOnCGflUg81yF+uM3bx+rH5FXPPOA90lR8D07hTRZml4pPOqtJVh2wcu1CzufxDa4RQpTrMEEAvkFwcp7SlQ0ATB68Ye4Wf6N9MYHfMI+kBygdsESG+k0H+GyzZGHak8AoWUl7I14LJ9lC/3EDAnnytQyiwYDb7sqNzzgjrTuqXlxGkpnhxb3WH8AA6hX3WESKETMiN0heRnrnUzhXZan/XcoSBphp8dqYit5csbYR8rzd0k5W1o0mrL8sCWymG3GP3pD6rN1cxWI6tzB/iB8WA2M/F9hi2cYYzyx6FNsBcDeSDGe8jN1HXtiTWm27ZKzq6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h4HW7BqjobAEvFwiwH3Z+boBfDXBy9EiSDKFqrki6tM=;
 b=QcFfXy6hYZT0mRM2bf2vGA7DdRJ5HncStsF7HXBbKrX67Mvt73Zp6kIDygHSIi8h2gI7wxDN/ImDTP5zOcxzJkbGLzjUOZtYAYgtHP/zrEb0QEzhT/xYDn6tpKDDi3ARuZGQguGk+zhl2uAkMPzINTXXGUazbyV6Ma/xTBuGEF3MSpGn9czRPaeaoQZNVyguFfKTT8UOSPUlQh9F0uiXUU3KBnSfnXXKTb2ewnUA26em4j3p0gUrOs6YGT70vdymyTt45aVuW+leVwiLJTPd20ACzvhVXnJgwcLWr+rsl+UkWtkNSi4gCEG+cAXoZ0FzTNG7ueJPN1GyaWd4dQuTWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h4HW7BqjobAEvFwiwH3Z+boBfDXBy9EiSDKFqrki6tM=;
 b=jHAhbgjW/OZ9WXiKABOwKSL8Dhetbgz+2FK5HDMeTLT6+Ae2kmq64Qavdznv3MU9b6LutOq47G3BOT91vnzKa5l00I0cw4WPQVmCmISUsUhvsUNNNCb4eC3d4nUGlx33dIejMP0PE1XYz85qnLHFkzlWgGptmAp1PvdAW5mdKuBv6DxdRGKCY/vd3ypJ/e3Jxxa4ssgXxaU+GoYVbEqdhsidDI76uii0UV5Nhse6YYZGtRY56HFpQfxhSH0eMGv+J6J4rQRL5j1ELXzrXOm+0qDmTI4N2ZMEeUVBRDSv3jsHwKYATQZH7styDMgGYZYbNDRbxHWKsQzRe4eaOnb9wg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8098e465-d25c-7fe4-dd97-2f44a689c9a6@suse.com>
Date: Mon, 7 Aug 2023 15:29:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v7 5/6] xen/riscv: introduce an implementation of macros
 from <asm/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
 <9fdda7716faf412f1e2cdf9a990c98e64c4b21f3.1691063432.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9fdda7716faf412f1e2cdf9a990c98e64c4b21f3.1691063432.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8941:EE_
X-MS-Office365-Filtering-Correlation-Id: cdc516e1-fea4-4327-2dea-08db974a4ea3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wZtnhY84ZNZavxTwMnVWRhlBBa9SKDAfAkXLNNqGZB9SFXaeziUWejgzmqb4GeNBXSUTTmL3l9BvAFJcL1YJPYF3VxQfWvflRU56TK9g+/aEoLjkXsyHkH8AT4Sxi2zELezvtUBjm24jnaXlnIHX05mh4u/IngGshCVSN/904DQxn4OYDwN1OSgyXLxM89WG9FIz/vjG+Q/rTssecPL1u46SElFq/u8Pb4wJW+cmEoE/1JmUQrhcEryvVdb42vPCLmmc77ujM9ckPpg+lvA3BHRNu6ioQE99GatmZ2TzM3hMooKYi4Z8CAvEpg2sTSXKy20ljVmGBKcykAed1IDA+4xyuVblynPpVJ7nRJBFWde6gLkrqM68KZxWpil1rl1DBbP1t68CIlB/dxNKVORfFpJR9y5JSEtXcrC/F6m4A69qeBHP6b8I6MsbAdMm/3a3dtYWESO8I155XRcAdkIDv0dEu8xxGhoizrQgUUMJgYeoZvBbV6rTmLsANlMPwoOd/tliadFVf2hLcE+8i9hAL7HKvVKzG6FCqJY1vjYZ2jIO4wykPAUvQXMxA5FBz7Ys/uV0DzL1449DZ7zIt+4B8JlHK+iQ9aMzg4copNTI5FZLiMpk0xciHIlPVl49lRU5Dl836xSEft+DR6KoChs1aw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(39860400002)(366004)(136003)(346002)(451199021)(1800799003)(186006)(41300700001)(38100700002)(6512007)(6486002)(6506007)(53546011)(2616005)(26005)(316002)(54906003)(86362001)(31696002)(478600001)(2906002)(66476007)(6916009)(4326008)(66946007)(36756003)(66556008)(31686004)(8676002)(8936002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFZOZlNDU1Y4K2RBL2VVbEI1ZmlORHRtczgwY0xCaVFHb3BYNDM5R0FSMW5T?=
 =?utf-8?B?K0pRKzR5U1Nva3YrVzFMb3VYelg1bDhWajAycDBKcUVONFdMaWl5dkpiS3Zp?=
 =?utf-8?B?aVJOV0JPcVhpd1FrNU1QakgybHlzUTYyYmh0bmJRODlLelJZKzRxQ3M0dVJR?=
 =?utf-8?B?QnpYTDZSR0hJREo3UVFBRURZTFkvM3lNcURlN0hyaHMrZU1Vb0tTd1V0V3J5?=
 =?utf-8?B?aStoQlAzK05xZjZINEUwQVliZHg3TU9xQTBqeFo2MzBTRUtxaHdZaHpnc3lJ?=
 =?utf-8?B?VkdtdWNtZkdmeFJPeVFGSUtKRXFId09JTzlBUUZhVDRHUDEwdGlLVFVhTVA5?=
 =?utf-8?B?MVFXTThiRmRiZWFhNVZQNGRGY092c2N3ajlLenJrZzBmS1d2VURkOHArbnZF?=
 =?utf-8?B?ME1oMWxySXcxUzFUUGN5OGxHV2RCR3FBelNrbmgvS0wza3pUS01PMXYwTTZ4?=
 =?utf-8?B?UVNUNVUyeTAyMVVuenozZkplRjdPaUM3d2lFUGY5TjFsRW9jNE9ib2pvUWtK?=
 =?utf-8?B?czZ0UDdUeloxeVJoSzlxZDhqNEQzT2FZZHEwSTNWb3h0MDJUNDJBSDV5dkRW?=
 =?utf-8?B?OFVmcWh5bDRBd0MrZ2w1K1djSmdqdnhzS1l3czFFZm1UTWJkYUZqbEhwcDRn?=
 =?utf-8?B?bzB3cnlCQ21TcGpjUWN6RlIzTW9jQVJTcmhIZU8rU3htNnF4Z210UUFRdlRC?=
 =?utf-8?B?bmU4V0paNnNVQWpZRDAzcEUvRlk3WXpBZWJ5bzdzVUM1UENaWGwxaWFyT0dh?=
 =?utf-8?B?Vmc3UHNndnNGdUd3MWsrS0hBRkxtcDRsdmYzR0l0S3BuYlpXK1VQVVNFbmd5?=
 =?utf-8?B?MG5HN2I0d2tPMzZPNDZlTDlNUDhmOXhSSTFpaWdRbTFVSnMzYk56UmYvQXNq?=
 =?utf-8?B?R2RSMFIyZDNiTXBaTDlHTUtVdXlZdEQ0RWJXcStIRUR0V09lTmtpbFI0cFhp?=
 =?utf-8?B?b2ZOUXY0eGpIMlRrbTNPZUxVbkN2ZFNkK3BNY1FlNDJZMXdQdW5vM1NkeldJ?=
 =?utf-8?B?cmpPUmorOU1BdGxqbXdaS2FaWUl1OWpzRGUzbjZ1L1YvTnJzakRlVnpJYlNY?=
 =?utf-8?B?N3ZNeUhjUmgwL0t4Y3lYSUpjTTVPZ3dqZVdZMXBaMHM2VVFBNFVveitibmlD?=
 =?utf-8?B?WkJiVlN2ZmluVDd5SDJ4VW5XQTZvOERGN2x4bU80Qkx2cUpybkwyd25XdEc2?=
 =?utf-8?B?N0hMMFIyNnhaNGhrQlN5UUhVM3NkdmhhWFlkOFJsNGprdnhhalNUQ05NQnNG?=
 =?utf-8?B?ajRvN0ZweUhCeDI2b3prbFNIb1MxT3BWRzM3YmQwT1MxNjBXamVaZkdWaHo4?=
 =?utf-8?B?NUgwRUFuMGRtTmNnQzk0ZVZONnBXQzFSUHIrYXZaeTBKY2FlbU5LUzM0KzFi?=
 =?utf-8?B?Rmd1amJ6ZkZ2SURaSURzQzVWWkNqWnB2NGpERVB0QTJHS3dKWDFuOVNWVk9L?=
 =?utf-8?B?NHVmL2NjdVBaaFpTclRBUWVkeVl5dUJGWHFOR2VxZnZHZGk5QjNVZ2dsKzM4?=
 =?utf-8?B?YUJGMUVSczhYN2VQUzEyYlVJRGdjVnpCeXdTWXhrWDJ6eDJTQVVwM09PaUwz?=
 =?utf-8?B?U09sWmpMR0I5S0ZjUUc4R2Y1YUprNUpIaUxYRHdvaU9EMVIvSVlMZ3drRXhB?=
 =?utf-8?B?U1JIRUdkckRCTmdUdDdheHFqajJnT1VuZ3J4bk1aeW9TbnhjYi9NZENRcFFO?=
 =?utf-8?B?WXRmcFl1Z3V2V0QxT08zdGxsVDJvOXUrand5N3VJdHdxaWo4R0xncjd6bjdN?=
 =?utf-8?B?cjQvOHdkR2dKclJsOXIybHp6emVaZzFzWk9Kd25Fc20rMFN4S2ZFV3VoVE5l?=
 =?utf-8?B?bkVCWUprZVNzSnJ4S043VTBXOVlvd0NGandSWm9ENk1GeXo2c3FSUFNHbThX?=
 =?utf-8?B?dnVTTFdGdU1xdEt0OHhWTmJXOTFNSjRoS0Urc0ZNTjU2aG5iUTZnek9FRmdw?=
 =?utf-8?B?djhycWpydWFqTEwxU0FySVZCTXF0cGlYNUFHbTh1bDU0dXpoQ21hZzkxWWpn?=
 =?utf-8?B?ZzVPYkZNWlYvT0krbWczWk5zU0YveFRsRXY0M2wzWHB5Vm10RGZNYWc0bGdM?=
 =?utf-8?B?bFRON1lsME9hU3ZqUUQyMCtYeWJyZ0xpUVA1a2o0dmpZUEZxZGdMSTErSHJS?=
 =?utf-8?Q?i2j5snJNhCIFqNHK4hn0yexl0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdc516e1-fea4-4327-2dea-08db974a4ea3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:29:20.6916
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k7gy3QZYLqQsCZ9TqHBnasIIh69x1xlATo8e6sHV5rLuGOVf5Z3xIB71U5oMDjP5VqmF/l856f+QbLYkGcCJfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8941

On 03.08.2023 14:05, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -5,6 +5,8 @@
>   * RISC-V Trap handlers
>   */
>  
> +#include <xen/bug.h>
> +#include <xen/errno.h>
>  #include <xen/lib.h>
>  
>  #include <asm/csr.h>
> @@ -12,6 +14,8 @@
>  #include <asm/processor.h>
>  #include <asm/traps.h>
>  
> +#define cast_to_bug_frame(addr) ((const struct bug_frame *)(addr))
> +
>  /*
>   * Initialize the trap handling.
>   *
> @@ -101,7 +105,131 @@ static void do_unexpected_trap(const struct cpu_user_regs *regs)
>      die();
>  }
>  
> +void show_execution_state(const struct cpu_user_regs *regs)
> +{
> +    printk("implement show_execution_state(regs)\n");
> +}
> +
> +/*
> + * TODO: generic do_bug_frame() should be used instead of current
> + * implementation panic(), printk() and find_text_region()
> + * (virtual memory?) will be ready/merged
> + */
> +int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
> +{
> +    const struct bug_frame *start, *end;
> +    const struct bug_frame *bug = NULL;
> +    unsigned int id = 0;

Pointless initializer.

> +    const char *filename, *predicate;
> +    int lineno;
> +
> +    static const struct bug_frame *bug_frames[] = {

You likely want another const here.

> +        &__start_bug_frames[0],
> +        &__stop_bug_frames_0[0],
> +        &__stop_bug_frames_1[0],
> +        &__stop_bug_frames_2[0],
> +        &__stop_bug_frames_3[0],
> +    };
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )
> +    {
> +        start = cast_to_bug_frame(bug_frames[id]);
> +        end   = cast_to_bug_frame(bug_frames[id + 1]);

Why these casts (and then even hidden in a macro)? The array elements
look to already be of appropriate type.

> +        while ( start != end )
> +        {
> +            if ( (vaddr_t)bug_loc(start) == pc )
> +            {
> +                bug = start;
> +                goto found;
> +            }
> +
> +            start++;
> +        }
> +    }
> +
> + found:
> +    if ( bug == NULL )
> +        return -ENOENT;
> +
> +    if ( id == BUGFRAME_run_fn )
> +    {
> +        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
> +
> +        fn(regs);
> +
> +        goto end;
> +    }
> +
> +    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> +    filename = bug_ptr(bug);
> +    lineno = bug_line(bug);
> +
> +    switch ( id )
> +    {
> +    case BUGFRAME_warn:
> +        printk("Xen WARN at %s:%d\n", filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        goto end;
> +
> +    case BUGFRAME_bug:
> +        printk("Xen BUG at %s:%d\n", filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        printk("change wait_for_interrupt to panic() when common is available\n");
> +        die();
> +
> +    case BUGFRAME_assert:
> +        /* ASSERT: decode the predicate string pointer. */
> +        predicate = bug_msg(bug);
> +
> +        printk("Assertion %s failed at %s:%d\n", predicate, filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        printk("change wait_for_interrupt to panic() when common is available\n");
> +        die();
> +    }
> +
> +    return -EINVAL;
> +
> + end:
> +    return 0;
> +}
> +
> +static bool is_valid_bugaddr(uint32_t insn)
> +{
> +    return insn == BUG_INSN_32 ||
> +           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;
> +}

Why "addr" in the name when this takes an insn as argument?

> +/* Should be used only in Xen code ? */

What is this question about? With ...

> +static uint32_t read_instr(unsigned long pc)
> +{
> +    uint16_t instr16 = *(uint16_t *)pc;
> +
> +    if ( GET_INSN_LENGTH(instr16) == 2 )
> +        return (uint32_t)instr16;

(I don't think this cast is needed.)

> +    else
> +        return *(uint32_t *)pc;
> +}

... there still being a double read here, do you perhaps mean to
make a statement (that this code isn't safe to use on guest code)?

>  void do_trap(struct cpu_user_regs *cpu_regs)
>  {
> +    register_t pc = cpu_regs->sepc;
> +    uint32_t instr = read_instr(pc);
> +
> +    if ( is_valid_bugaddr(instr) )
> +    {
> +        if ( !do_bug_frame(cpu_regs, pc) )
> +        {
> +            cpu_regs->sepc += GET_INSN_LENGTH(instr);
> +            return;
> +        }
> +    }
> +
>      do_unexpected_trap(cpu_regs);
>  }



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:35:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578435.905931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0Nr-00004x-Ob; Mon, 07 Aug 2023 13:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578435.905931; Mon, 07 Aug 2023 13:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0Nr-0008WU-LG; Mon, 07 Aug 2023 13:34:55 +0000
Received: by outflank-mailman (input) for mailman id 578435;
 Mon, 07 Aug 2023 13:34:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT0Nq-0008WO-98
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:34:54 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20616.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fb393b0-3527-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 15:34:52 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8430.eurprd04.prod.outlook.com (2603:10a6:10:24f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:34:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:34:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fb393b0-3527-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HaRD8f9dvnihAT1d5wB0L3W/5S6n0x9kFVuKr8SlOlya24vyGtMqM7OT32tD/YxVEqLYjxnyYMQpCvc3WHmW+9OHRED5H/NDnV7BrtJFY3TJP1yYWSqWXfAtGlwl5/4JR7/8zDhswsX3CHNj30aueY7ar64/P6Iiohgy1nafA1r6sXw+1ZiWNjal5Q1APsZw6pceNxkmxJDLiYpOHYMv1392X+4kW5jLnPOQy0bIwamwrzEG5rLfRN1mvKyu5JrBmAJdmkG8+3p58SVgqfCBuKFocl4NG8eTF/03NukvTlC/mTOWQ+ZyWVrMtdSqZEBjM+SRrDIfLZxHoeaUuTeBZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tuR/yXzgObQkOkfjqMqrl7fUw83LDbISQvnngw+mSLg=;
 b=kwkpcuRzKZR+QHiAK39uX9xRrU9f2OSMCRne4ggG3szQ1+nZjmx1wEaBTAI7qb0xQcxhXfvSMF5FFbr+Raj7DyEFmDXcqYeV3y7rRFeEoFV/TG6cAkuF01fWQ5pm7nQVjo673drx2NG5Cgs0Y7SWkosN5ZKQrZFEkdPgO871tZewGXogufuyhOaCSzgZZxt2iTBXoCh9OPOmSFR4Qnog7AjCcIZNRRSIrTMh9DBiv0Ks/OodNraQQy7LL0nBTsUXYFPORF8jRn6h3DZazXNva8SV/SxLr5MS8slxTFj1+PNC/+tmX54H1x4wmUQEahu4Uhz5y4cAb6H84IsoDZJ+Yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tuR/yXzgObQkOkfjqMqrl7fUw83LDbISQvnngw+mSLg=;
 b=Hvni0r5UBgnK9lBPLOnmYZcdIPLLnDTwi7IdY+P6I10ixa6C28ElntYeakWsueKDqtgnT0mpAuc2sJDMEUwksvEli/FVZAxeIjSErr8vNgXfzT2ZoZdqVFwrvAxOg22ONFfelKRo1wIMk9rIOtzyF3hgOqlZ7SYpUj8065Wu3HWGpR0TrYCypfd2PsKfflIcfQfcbS0RMECmtAlAjIVs7Wq05ehIvbyrUouA8kGLIsEhjZMr79ps6ISSJxIVAzn8w+q78kO0Fvp823NyT77EcvpiQiW6I7bt6sM3akgaBIMG0TZT4/KH5KeBmsKWutaDefzgeCJv1Q914a/LiyA6zQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <04e7a7a4-8926-9e5b-c872-caba8d43d563@suse.com>
Date: Mon, 7 Aug 2023 15:34:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86: Drop opt_pku entirely
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230620174704.3907275-1-andrew.cooper3@citrix.com>
 <3daf5b51-cf5f-b9c7-b02e-0db5b48aa03f@suse.com>
 <6a22f4d7-e0f6-67f5-ba44-af0a07523c4e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6a22f4d7-e0f6-67f5-ba44-af0a07523c4e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8430:EE_
X-MS-Office365-Filtering-Correlation-Id: 39886cf3-8446-4af0-ebe4-08db974b12e7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yyii2OTmfXEfBI3MKKjK/XessFAVJKaRrzNrfgBOScyaUt8E39oMJNkznosmtWmn1OJ6OXk+VcnVwiYufAamLzJ3fU0fkWUGwuWotCu/UNc3PFdlPHVRNBLT+8tmWyTETjzYlhBjDM6M+AtswNO1gCsUY3dp+pbM4DA0WtSXstcHMKqRe0Pn0dBDOuWPit0gDl7NU7GmucpgYhp07exMvnOD+VLxaQ1sILTyvgz/+yWdjwou+EKUaHwKjLRRpkVXeof0JrReShQ9yfGeNgwwEy68fnvKj5UDSjNtQ+gYEV+8GW9rR3P/4WBHuxjAeF6r7tum2Zc45MydCLuOOYXCfrKH5bDjdi9jm6wshnJaOxiSzQvkt8vQQ2zYbqpT/fuqGuDKcvtljMDSGdw6xmYpTZPvGN3xYBF1/h30yAYMTcQbCwLjKIpwDu4Jbk0ULAxihwaz8q4w50YCyVE3CCSbCA8goLzdRHmWOlIBGfXhqpdv9YGgTZjjPtkfyysLwQbUyoRq8QpiupS/dUvMGImVDQy5Qy8q56bQ9d/uAWCCXMs0WjImMn3Hn1Qfs+FnG+C5L1q8N4AaH+AfiRdbwmhvs5232fukJAhCvRWF7bYW9Zk7v0bnYGbqL2+H2GnyyXt++vqPOOArEiwXuhXe/rxL0g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(1800799003)(186006)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(83380400001)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(478600001)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66476007)(66556008)(6666004)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0hoNk1IRUtGSVVkK3VkZVdGcDNzaWtTS3cwdmxWQ2N3UEl3ZGVMYjdzUXZs?=
 =?utf-8?B?V0lmWUNqTXF5VTMxdnR6VHNNdnZzSHBaK2dHRmFuSjRrSENqWThZOHhyUUpa?=
 =?utf-8?B?UEhhWWxLYVF4YzBkRXFsZVI0bm11VEpqbFN2RG02UnpkektTemNvY3ZhNnhR?=
 =?utf-8?B?TGlKS1BheDUvVUVmREJlZFJNQzVCdmtjb2JaZlhEVmJ3Tk90RGhld2FXbkIx?=
 =?utf-8?B?UzZZQXFXZ3hnV2FyampueEVqOFFLbnN0WUJ3WU51UlQ3ZmJoUjM3c1NEN1Ez?=
 =?utf-8?B?dU9jdHg0c0srVFJVSkVXVVJIaDVEMjVwa2tUa0NCRWd5T3ViRkpJd2JJT0h2?=
 =?utf-8?B?eGJUZm1CNjFLenFBdy9raDVOeG1SQURSNEtQZW5zMWFpMmZFODFXb1ZMQnBa?=
 =?utf-8?B?dGR3SHhzdGZDVUFDVTBqMG8yOXBpUkZnZzF3OFd4RzdYb1RVQmZYWkg3TER6?=
 =?utf-8?B?SEpoUHB6Mm1yWk5mdHU1M1FSZzZhcXVoR2w4NU93clFFRzVIa3VhcDNyODRn?=
 =?utf-8?B?UncyZG91NTBlWHRzQUVsc2p6c0VTeWVkQzkyR0JKTStJU3RYbzg1Z3A4czhM?=
 =?utf-8?B?Y0Ewc08vak1VMEYwdG5TV0lSRmFDNmlZU1dha1ZBY3hCckxId3ZsYTVmK1o2?=
 =?utf-8?B?cTFSS2Z2enVHdHBGQmNHTEtldnZzNHdSZFlZenpHa2xIZ25ZK0t0SWFOcW5M?=
 =?utf-8?B?b0VvL2llcmxneU1OaXVOWXdLKzFUOGZaeFZ2TUR3OTdsRHk2b3VZZ1ZyWFNF?=
 =?utf-8?B?WlFXSGhYVHBEd0lJMGg4NytsSTlMRkJhQWQvc1ZoeGdVVFF1TS9ncGNTekQz?=
 =?utf-8?B?QmRhZ3ZjUnV3b3dlQzlybFFlWHBIeGNQMmZlN3BZV1ZDOGJleHBKL0R1NE9x?=
 =?utf-8?B?MkwvSG01bDl4cHBrSE12YzRaeXh1eDJqNXZUelRiK0hJU3AyYnZYRkl0OUZi?=
 =?utf-8?B?OURKb2pQMkJBUWdwdDNIM3VWUlNnV3ZQRHhYUEY1WDJENWxjVlFsUkZ0MWJH?=
 =?utf-8?B?WEhZTzJac1d5UWRMQXBnV2p6bzRuSi8zRC9MYUgyL0VsUmhFN1ZjRk5YQWpq?=
 =?utf-8?B?Q2RBRUQzWkcyM09WNmlpdnBYeWtVU3JxYmZBMWRvcEdBb0VNdy8xRURHMUZx?=
 =?utf-8?B?a2NRVUxKZ0wyVTdVWmYyNFFXMVZMZndSa2hhY0FVSkZjVG5KRVhYcnNRYWFu?=
 =?utf-8?B?MTJiYS9LdVdiRlE2OE9teU42VmhoSDBIS2tUTGFKQi9aOWF2ZVlTeDVrai8x?=
 =?utf-8?B?a3pJbkFPa1ZQRDZ4Vkk4TXdIY05RK3oyTUh3UTVsYUgxbXRMclBKbnhhVUNp?=
 =?utf-8?B?c0U2cnBqaTNlU0YzS2lheHJBTmJVbVBsakZYaXloN3U1VWxJVnVoam5hWGx5?=
 =?utf-8?B?SktNVVBvalFXeWJwMVZEUy9JUjRPODFYVnZlQlBkWml6OTFWcUVNN1pUcWg4?=
 =?utf-8?B?YStodUVuY08zYnJqNlZNZGJYVWVFSEFSMzBncVJva3JKNkt2T0VaV0FXRlpY?=
 =?utf-8?B?ZTlmblBWVE1TVlFQMFE1SnBJRWFDOStkemRxV3BFaU5qTFNDSFJ3Z05NVFVk?=
 =?utf-8?B?RVFzbVNIUmFTN2Fady9YYnVpZ0pnNmNDUy94dnA0WGdsbW80b0Y1RXlPNDI4?=
 =?utf-8?B?N3dSUWdoVDRsazFDTUVQUlE0SytpWkFsUVhBY2k4NlJIZTY3a21sSGJGc3FL?=
 =?utf-8?B?bFRuUGczK1lQcDh2U0MyeU1BaFdLY3VmUmMvbU51UG5zTkV2dHlYUVk0NXhL?=
 =?utf-8?B?eFBtbm1rWVpuRllBQk5ONktLVUZFcnZvQ2dDZHFWTmkzd1VVNUt0SjE5NnpY?=
 =?utf-8?B?M2QrT0E2MEhFVFgxOVo3TVZGZXZ4aEFwWEtNdGNCT3hrM3FTY1hlY1ZQMjl3?=
 =?utf-8?B?Y3Q2VnF5R1dkOHpObldhcGJNTXQxSXlVVFZvK2NyV0RlN0o5YStTamNaOERS?=
 =?utf-8?B?SkM2RHUxemUxLytUbmpPWTg5YUpGdk5oK2pXR01Zc3hRb21XdVpRZEtHQS9N?=
 =?utf-8?B?VnVNbmI1QndWVDloc25NNXVqdVQ4TGFiWEMxMjJrVkNMZkNEU0IraEpzRWZl?=
 =?utf-8?B?elZobXMxM0UzYllkVjRkaFp4M1RWSXpjNkZ4Y0lzdXR5bVg2SHY3ME5RVldS?=
 =?utf-8?Q?yL+BjDrm5fbEytCS58TUBQUJ6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39886cf3-8446-4af0-ebe4-08db974b12e7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:34:49.9845
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NKXzs0Sv7QWw9o6T1r0uMC2O7aodLvKPPug4gySWFsf7yR0lo07HEIx6jdKkwcvb7oZ4X+WgHv0IFKqzul2Qww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8430

On 07.08.2023 15:21, Andrew Cooper wrote:
> On 21/06/2023 8:37 am, Jan Beulich wrote:
>> On 20.06.2023 19:47, Andrew Cooper wrote:
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -25,6 +25,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>   - Add support for AVX512-FP16 on x86.
>>>   - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
>>>  
>>> +### Removed
>>> + - On x86, the "pku" command line option has been removed.  It has never
>>> +   behaved precisely as described, and redundant with "cpuid=no-pku".
>> Nit: Missing "was"?
> 
> Fixed
> 
>>
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -1950,16 +1950,6 @@ for all of them (`true`), only for those subject to XPTI (`xpti`) or for
>>>  those not subject to XPTI (`no-xpti`). The feature is used only in case
>>>  INVPCID is supported and not disabled via `invpcid=false`.
>>>  
>>> -### pku (x86)
>>> -> `= <boolean>`
>>> -
>>> -> Default: `true`
>>> -
>>> -Flag to enable Memory Protection Keys.
>>> -
>>> -The protection-key feature provides an additional mechanism by which IA-32e
>>> -paging controls access to usermode addresses.
>>> -
>>>  ### ple_gap
>>>  > `= <integer>`
>> Elsewhere you said that we kind of imply that only the explicitly named
>> sub-options of cpuid= are supported. If that's the case (which could do
>> with saying more explicitly), you will want to add "pku" there in order
>> to not regress what is (deemed) supported.
> 
> I disagree.Â  I can say it was equivalent to X without X being an
> explicitly supported option.
> 
> PKU shouldn't be adjusted by either of these options; it should be
> controlled in the VM config file (if at all).Â  I'm unwilling to make any
> suggestion that this is supported.

Hmm, so you're suggesting "pku=" use was unsupported, too? If so, perhaps
worth adding the word "unsupported" to the CHANGELOG.md entry. At which
point I'm fine with no adjustment to cpuid= doc. And then also
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:41:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578442.905941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0UR-0001i7-Hk; Mon, 07 Aug 2023 13:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578442.905941; Mon, 07 Aug 2023 13: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 1qT0UR-0001i0-F4; Mon, 07 Aug 2023 13:41:43 +0000
Received: by outflank-mailman (input) for mailman id 578442;
 Mon, 07 Aug 2023 13: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=gLe/=DY=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qT0UQ-0001hu-Gf
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:41:42 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e83::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23482e17-3528-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 15:41:41 +0200 (CEST)
Received: from CY5PR15CA0179.namprd15.prod.outlook.com (2603:10b6:930:81::27)
 by MN0PR12MB6128.namprd12.prod.outlook.com (2603:10b6:208:3c4::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:41:33 +0000
Received: from CY4PEPF0000E9D5.namprd05.prod.outlook.com
 (2603:10b6:930:81:cafe::a) by CY5PR15CA0179.outlook.office365.com
 (2603:10b6:930:81::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Mon, 7 Aug 2023 13:41:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D5.mail.protection.outlook.com (10.167.241.76) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Mon, 7 Aug 2023 13:41:35 +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.27; Mon, 7 Aug
 2023 08:41:34 -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.27; Mon, 7 Aug
 2023 06:41:34 -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.27
 via Frontend Transport; Mon, 7 Aug 2023 08:41: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: 23482e17-3528-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n1QjybxcGP+Yfj5WNvnyZCiPFOrMFWMrM2BpDROf5P+VsdyCJm8KwMAVM7A9G2ZOZqHO0qsdTBvqHVR6k+UJJul9QId4x4zwVmrTgDXHVBlr5sn+IMB4sH01961kEieOH9jBddMD3uuYFSA2BE/0ZpMny9Uk7g1zoi82eyb39krVLT/1i+8F6W0W1RkHxWob4d+8HlXP2RcnJouYhPDaW3fIT0yNC0968wUq+8vF2hkBJDCfV3Su0Qo+01b54QvnhZTD+gTdCRkFqrgEkAiDcrN++UE7sCKVqyDO942j5Vmcu/9yaS24Apmbjxd3P6zb+dP7aVmOc2TVgjzvONsjMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/3uu11JQaiojEo/DtcwB3/CLv1cRTFZuFWDUyFuXyn0=;
 b=l7VHCpo7q1WDBcdMY0T7LpOSclKLhwEDmZkYGLg3tERXqzOODViIvO+6h8Xn6vtTMqbS+rm70ycnvPespSENHn33B6mmCib+qzTkrTZjW9AK4fE0jDgfCS5SMffj7qAwij+aj4f9AQjbhMd+WGbCTstHM/K+W+8D9zVNfmDEEf9KKNPwFAHHrvLp41QOSMJqwp2e5N437KGqRHZ4cOK1Z86VBFMqlQsS9xWwVeNs11+h3BqHNUiHMW2mgpRM4B8yAsY6Z58Jpnoh3Jep3DBuTwivMKMR+imtftGDQEI1Qm4ISg8ETv3IktWs+gnRBp/dmqbTjYBqhKJluef/9Sj/cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/3uu11JQaiojEo/DtcwB3/CLv1cRTFZuFWDUyFuXyn0=;
 b=hsVyiWi3mX5RJHiyC7Anf4Ezzsh8Dlf+Ud1bRgaXjM9c/Ri4sO4TPRo/y8KHKdjY8jn/QZEi2x44icaLlnKNr/A25GoUItLXP+GvJY6TiS5lPZ1XhNCZq5P/O6Tw7LEZKJEA1PAjgnOkUdCbVURS+3kdop/tx2uNfeOBuuDx16k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Simone Ballarin
	<simone.ballarin@bugseng.com>
Subject: [PATCH] automation: Advertise that ECLAIR jobs do not need prerequisites
Date: Mon, 7 Aug 2023 15:41:22 +0200
Message-ID: <20230807134122.10878-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: CY4PEPF0000E9D5:EE_|MN0PR12MB6128:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ec2a4f4-9e16-4504-900f-08db974c049b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lk05EqxiIpr2k6rIaHkCNCiMRFhSnUH/w2vPiYIEpHOi3HtUjow/bqig+g33aTzS8xydCUw2qdMWslV3DWciUb5y16Lxagmd77s5Iq6vGM9mO2bn70wJIHHFI9A0RXIgGlBGwzLWgSRLHlGqKsh27ljntFoJ0lI4MJZ1HzjuT/vznNzPELxIEcahTAN4HF82mibU2Qx6Voa1qcaQTktJaohhnZcUTsj9vv4LIQDmVq+8HWciLydbeCjofpyo/o1dCQ4fYWRZJM92ZeggRYHpF2/c/vo0CHtO6N2nRQUaW6yH+Jlo5d1EIVjFkuCgTOOLvoDHnoYs56/pz/gfyt4kgK3BmI1avokI860MgW8jWfhHjj9FZP0m5RMtLRn1TfngRD6xWwNNOeC2Ri2fv0egwQaIYlh9QqvXbyYGNDU/teriqyvgkBiam4rVj0OqEEFTTFNLZ8yQGzXunSeT8F1pUyXpcV1WWwptnWZpsxnRQiXTrf5lugMgFptLOfsJhz5aejG45kGhrw7mv6dVchG0FDSP8EeJ9KfRavWoJE+Tnbj7p2oioeYsa/jEQvs7F3dsBSLz8wXksLPaTxE/n5fS79RD+8KdOrSCNtNWBViRsOZPnZcgQlg5KpjA0u6ATZTqVS9aRkVS3nf1JDq7sEOEnTkqCGakW/tlYGFIIlsPyONd80uwkWFSdOuaYjDP74II5JnemRrtTTdqdBZ9EMKLQ6dEXE6iOtlaVkj5od19hFKCfI6TGkKgmQ0AHRh2RdxLcWyY062aCVs/Qf+RwzXXSw==
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:(13230028)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199021)(82310400008)(186006)(1800799003)(40470700004)(46966006)(36840700001)(82740400003)(478600001)(40480700001)(356005)(81166007)(54906003)(426003)(2616005)(40460700003)(86362001)(1076003)(26005)(36756003)(6666004)(336012)(6916009)(4326008)(47076005)(2906002)(70206006)(70586007)(44832011)(36860700001)(5660300002)(8676002)(8936002)(316002)(41300700001)(4744005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:41:35.2575
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ec2a4f4-9e16-4504-900f-08db974c049b
X-MS-Exchange-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:
	CY4PEPF0000E9D5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6128

While not required today (ECLAIR jobs come first), add "needs: []" for
future-proofing and consistency with other jobs in the pipeline.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/gitlab-ci/analyze.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 3325ef9d9a44..4aa4abe2ee18 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -18,6 +18,7 @@
       - '*.log'
     reports:
       codequality: gl-code-quality-report.json
+  needs: []
 
 eclair-x86_64:
   extends: .eclair-analysis
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:42:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578444.905951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0Uw-0002CM-RB; Mon, 07 Aug 2023 13:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578444.905951; Mon, 07 Aug 2023 13:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0Uw-0002CF-NC; Mon, 07 Aug 2023 13:42:14 +0000
Received: by outflank-mailman (input) for mailman id 578444;
 Mon, 07 Aug 2023 13:42: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT0Uu-00027u-P8
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:42:12 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe02::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 339906d2-3528-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:42:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7648.eurprd04.prod.outlook.com (2603:10a6:102:e4::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:42:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:42: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: 339906d2-3528-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQqMqH3WB5GLOpvUpDIS1xGVYaPTyNP2vdRbvQiJQlFMoMA2IgKnJ4KBo6A5MxP7n1K1Czw2k5GCF+iK8ih4jiEyf8jHRMyJtfT/oGcmlA1FrJ42u3o0+e3urY/DkmhQeFD5AjHC3AQ4r4asOEjSjkQioCl2adg8bv0GUgEpde3Dcq0vPxciC5KsrXmh4xRMQenpNn0EhdUnKGwyr/fqZ6gLSGoedGyja1Zl8L7RTm/LgMIq9bpmX5LIgQuZ9JbvnJax8zGw/GvtBThfb4vwtVHSG+AW0nz9Qu+M4oVJITQaZH1EoRrA/TGoogKudv/FcUid31C1N7bGFCf/MYv+uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oDCpqA2DMQEWGDHwlOIUA5l2DQrdOo/HLKMJr9lzSas=;
 b=dfYZfDYjaKWEQTqhM6TUz+LAj8iKaHpf87d0ya5/Tnh2BUgocu9DiMi2ym+UgUORUiV+qFBXu8B3KUfUc9PHYg9Aj5Y0GxGPyx6/hY5BKFnLDRQsgQg0OLPYY1D9i9UsubbXDYRAli17Avee4jvWhYjL8zj1a/rBNw0NOnQmwtembAIVVcdajpDDTSENe2vVnz0sQewoDR8ymh4sXUhQ8YxmttrYTOxqV0qtBujIRSJRwf2jOxY4YYtKZvc2K2mc6tyy+blYGfuaCpR5Viwxxuv5UDSOwKmYHFwlF5dFYrdL66H5aL9URawv3RpVKt6a6bfGdT5LoOsfFcgV8g4Pzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oDCpqA2DMQEWGDHwlOIUA5l2DQrdOo/HLKMJr9lzSas=;
 b=PpJPZVdWZQdwWHviCbd7hipjpmY88UdnbwglR/N7d834C7tMtbR9uS4HKrRCGZfSLbi6sHU6CBq6YlDxeCmxNY+lTHqlcz4BolLj2tzigbWzNtE7BevHyIGGYk28s1IIt/5bEsAyuhYKRc2+hWXDDngPwBl+HbVtDUIOP1tOkNmYA7bbatPqf/Vn/V0rAv1vjYwri4S6grdpQCzONkH+sgoWBl2G52PBKFaN2van/wS5hPU/ehw3U9fBgCO5GBx6cyvNqlyqytgLNORjTAooRtlgJGXAdCcw2w+n5DKmp3bVt8itpPhjVFh58HhZSsQmPNssVAKoUQm7eUApzyjl3w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66d0ea64-0363-db7b-b4e2-5e404bff28d2@suse.com>
Date: Mon, 7 Aug 2023 15:42:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
 <55099faa-206a-b7ae-8ef1-64d1dc344c4c@suse.com>
 <f7d676d32355788620bda00a60be5258@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f7d676d32355788620bda00a60be5258@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7648:EE_
X-MS-Office365-Filtering-Correlation-Id: f4fb3e41-c7ae-4038-45eb-08db974c169d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i5tXZAoV2Q61eh16ki3Ep/qov8blpk7ua5P9LcgohQAiyufVIzv0tLScTHHFHFQ4XldPqRaqr+ZXkHtBkcA+pTioyS6UqCelkOnqhgbMukqZ4ZDIYjo6m74cpFUMidkkiP9Ma2DCoKB782VVigVpeIU1JW0o3X+s2vAxoONLqQR0QK4LCsMZisX2xsiBzbYbHV4tS3wb4Avh4wSBAy/CgKU7mloRuiWQErsW4BOuZscCnQDJuvpjlpIRH+t2nls/KUgRwc415G0koUSf3C6Wqjp2OVMWdFMt2nithQJU92NwDdHUyhIzmta0ekpm93V21iKGGPPVVKEhzErHi8CTktxIl6sPA+qmG237SKLQrAiJ4I5VR9YSTJCMoao5JgdenfDorAPnQWEPJ3R4tmb02ioLGPjUB+gHR0oo3Z5UnedE79INWXg4CrYOb5W+ef5zUuaNZMfoZYMkOsB2b8ZeywVEh1vyaLmfqGLFVAcgHHkQSdLB0K/GxCptnJPSIO07cGA63aGWAQbZjaGsDw4i9XnGw00HSTORGvNYEgN6ov7Qx2hah1aIYfvZl6buX9s+uZ4x5mCD+QkJRxXvKWiAhtGq0Rb6R28QFkR6tG7kQgVAi/TNHDhBCjjPnig24XQhiKNnsXw6uPrE3bqReBCrPQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199021)(186006)(1800799003)(86362001)(31696002)(66899021)(41300700001)(478600001)(53546011)(6506007)(8676002)(8936002)(26005)(7416002)(38100700002)(6486002)(2616005)(5660300002)(2906002)(36756003)(54906003)(31686004)(316002)(66556008)(66476007)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rlo2bEZEaUxaUnkvalFlL1Bkb0VjZHFlZGpwYksySFhDZzNScDQ5WHJMREtS?=
 =?utf-8?B?dno1RUtKQTNScjRvWkFvSUpOVmxwRkxVTFpSRlA0dlFaK1FxQnRXZWtuV1NR?=
 =?utf-8?B?MHZxRkRneVdpbU5OeGFTNnVuN2M4Y3JoWGpseUFJbXpLUDRVTm9OMVk5cHcr?=
 =?utf-8?B?ZXdXYUVCa2JvME53MGhvUG1TUVA4WDFkU2FBbGlJcXVwa0FzUStvakNtcXlF?=
 =?utf-8?B?OGlYZVJUNnFHMFlqOGxjODd0TlQyanV6YVVuaFlFK0tGNGJYNU8yQW9zQU81?=
 =?utf-8?B?UzBVWnVDUEkySFRXMUszM1JCcjBKc0tacDlVdThqRTZ1Sk1PZXZ2ZGlyUmVa?=
 =?utf-8?B?V3V1am5uMHJuaFhTVjNVVitWTXRoR0tpc2dHWkZDQVhnNG9lOHc0bVM0Rzg0?=
 =?utf-8?B?Y1FrbzI0cy9vR1JnQ0x2cVBXSURJNS8yVzBCc29SMHV4UkdzSmxzNTBnbG5k?=
 =?utf-8?B?bDFwTFU1ZmozMjBxdVQ1TEVzTWdaTTUwQzg1RDFVd2xyenpMeGpHYzByamd6?=
 =?utf-8?B?dytHTGlPSTl1VDVHeE51WGd5dDQ0S1JhckxGdVFqTTBDSkdUZU85S2pwWElB?=
 =?utf-8?B?b01ZaXlVY2dwU1N3RWRxdHFySUl0cUFJb3dEdDVQQjZWbHFpYWQrd0FML2Zv?=
 =?utf-8?B?MlFwdjdBWE1RbGxjU3FZOS9YWlZET3ZjR21OWjBWd0J5NzVHNE5KeGI4d1hI?=
 =?utf-8?B?MzlGWTFwaFA2T3N3K3ZXVkhVR0RxYzFzZ2h3b3BqYWZlQ3M4V2Z0L04zTXBQ?=
 =?utf-8?B?Qy9qdlFqRkVqZmxXaktVeWhSZ2JJOUdtNG9qVGlxUkJqeElpODJ0cldnMm5p?=
 =?utf-8?B?SVFZeWhQQU9qNXNlckVzOUJhM09DbGJ6ZWpPS0tmMlZkOVpqeUYwd3gzd2tk?=
 =?utf-8?B?bDMwaUJEWUpJS00wR3RmQkc0MG1OWkdHeVd1V1NkelMrZncyM3VaNzBVV2ly?=
 =?utf-8?B?L3l4VVdpZnFwa2g4dTRpUjB2dnluNVk5N1k3RVkvRDdxY2h3UFRkSnRrVE5K?=
 =?utf-8?B?dkZvQm9LdDhBa2FLR1ZOelZhcWFpNmVjb2hGUjNETWNtNnJiczdpdWVMaFRL?=
 =?utf-8?B?NmxDWjRmY3crQXNvTS9RcXg5MEJDZzdISllYU0U2WENMditORHp2eW83WVN4?=
 =?utf-8?B?QmRxcGV2RG5UaTdKTE5TYWxHT3kzMlJla0Y1U3VFWFU2ZXFIVHFIRXVRMVhN?=
 =?utf-8?B?enFsMkdTbk16OEVQNG1aUVpQWTZ5TkFFcXNvN1FHRVRabFMySzJGdDU5cnIv?=
 =?utf-8?B?SjVWbHhwOFZSUUUwRElGOHJxOUhPeVVBSHF4Y1ZPb1p6QktNUlJFME9RK1lZ?=
 =?utf-8?B?UzgrcTZYQXYrWkFSRkYrZmNlUCtnVUpxV0E5dk04QWFaQlN2enZhVURxVytC?=
 =?utf-8?B?TDhRMEF3OWhhY3k3SWVxaVgrMGdUc1dHd3g2YnpEVTkvY2ZoTkhVQktVVHky?=
 =?utf-8?B?UHV6VDc3dlNPYXRrdUVOQ3JDZ1RVSmNuVHZoY3d2WDNVSFQvdkFpUlpPOExy?=
 =?utf-8?B?WXgza2IwTm8zU3F2WHhxZjRKamIvQTZTVTcxYThsUWZKUVM0WXZ0SFFmRTgv?=
 =?utf-8?B?K1Y0ZU5LdEN1aE5VTTdETGNjYjIxR3BLRkYzcWdNR2pGMEJLUFRYRXQ0cks5?=
 =?utf-8?B?ejY5Q2ErWFBTKzBJTVZDVFlGQ0RiZ3NlVGlTOFdMRS9CM1BnK3VkNTRoemto?=
 =?utf-8?B?cW4vUnBWMXVsbGNpeTRxUC9TWGo2bHZKd2c0TmFrSHpybFFiSnFkaURqdk5j?=
 =?utf-8?B?THZ1bUVzMFY2R0tJVFIvNVhGV2Jyd2huSXl6NThzNW04N01tRzFHVWNqWmF6?=
 =?utf-8?B?aVdzWS95T09KSTdLNkI3U0dyZGVHd0U4Qi92MmhjTXVOQTUzOFNOdUp5NUR2?=
 =?utf-8?B?Z3F2V0UrM0Y0VFZkSjk3a2ZaVnBLRWtScDVyR1kzTjZZZlJBa1RPeVBpUHE0?=
 =?utf-8?B?VTBGMEg2ZDBwUGNCWG9CTFdEWVdQS2ZvVEdhNTRqdjhES1FUbmtRb1FxZkFi?=
 =?utf-8?B?ZEF4eEJ2OVkyVWtNSnRza1VpdVVvbVV2anRjZk9GSSt4SHcwZDdlZmk2OHBi?=
 =?utf-8?B?VHJsVEFqRmxoN0x3TENzYUhITC92cTZTa3M4Y0F5d3RTcjJXcDBvODkvNnFY?=
 =?utf-8?Q?QszjlahgFpHgPt7e9OpjDkxCd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4fb3e41-c7ae-4038-45eb-08db974c169d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:42:05.7260
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cBiAk/IXWxLnawQGiAh/AofJs8BnB0GzATOYfaGMeKGgtcyQvsv7T4lPRmr/aD3WopN58/iD7sS6cA1zquCvAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7648

On 07.08.2023 15:18, Nicola Vetrini wrote:
> On 07/08/2023 15:05, Jan Beulich wrote:
>> On 04.08.2023 10:03, Nicola Vetrini wrote:
>>> The parameters renamed in the function declaration caused shadowing
>>> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
>>> them also addresses Rule 8.3:
>>> "All declarations of an object or function shall use the same names
>>> and type qualifiers".
>>
>> Can you explain to me how shadowing can happen in a declaration? I
>> would focus on 8.3 here, and only mention the other name collision.
> 
> There's "static struct file __initdata kernel;" in 
> xen/common/efi/boot.c, which
> is visible when the function is declared. Since renaming these parameter 
> names would
> have been addressed by Federico for R8.3 anyway, my intention was to 
> address them both.

I understand what you say, but your reply doesn't answer my question.
Just to emphasize the important aspect: I could see the shadowing
aspect if the _definition_ of construct_dom0() used "kernel". But I'm
asking about declarations (the one here as well as in general): I
can't see how any shadowing can occur without there being any code in
the position of using any such variable / parameter. IOW if Eclair
spits out 5.3 violations on declarations, I'm inclined to think it's 
wrong. (Because of 8.3 a violation there would then need dealing with
anyway, but _only_ because of 8.3, if the definition is already okay.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:45:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:45:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578454.905960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0YS-0002rn-Ac; Mon, 07 Aug 2023 13:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578454.905960; Mon, 07 Aug 2023 13:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0YS-0002rg-7p; Mon, 07 Aug 2023 13:45:52 +0000
Received: by outflank-mailman (input) for mailman id 578454;
 Mon, 07 Aug 2023 13:45:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qT0YQ-0002ra-D4
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:45:50 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5f89aed-3528-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:45:47 +0200 (CEST)
Received: from mail-dm6nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 09:45:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB5026.namprd03.prod.outlook.com (2603:10b6:408:d6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Mon, 7 Aug
 2023 13:45:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 13:45: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: b5f89aed-3528-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691415947;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=03YFklj6Mi3U22d1eUiP+as3AS0eNIXY1D4H+ZisMsA=;
  b=W4FC5EhXdbsD+uRfhTVJjWtrtypnRYxMGRvvG6Mk1azjyntT+aX4V+8Z
   mSfO5s+xFFkIGt8DZKO3E8fNNjtlvazmsALIR8OKuO3+aUT9cDJqd3kLH
   EAIxMKXWquYHQBsTnxMiB+re60LH1b31KVmWb5T+UAQWaooFU1ae/jfJK
   g=;
X-IronPort-RemoteIP: 104.47.58.104
X-IronPort-MID: 118604915
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:A/Km7KkpBdI+jOuObNGbxJTo5gy5J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXUWCEafjeZmujKNskPYy/oBgF6MWEz99qHgFt+yE1RiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5ACGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eYgAxk9SxGjvdmz34yXZLl3qs99KPC+aevzulk4pd3YJdAPZMmbBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3ieCxWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTe3mrqI72QD7Kmo7MjRNb163+/mA03GXX8BuK
 0UUxAc3ov1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceZTEsz
 E7PoNrvChRmqrjTQnWYnp+EoDX3NSULIGsqYS4fURBD89TluJs0jB/EUpBkCqHdszHuMTT5w
 jTPoC1ggbwW1JYPz//ipQyBhC+wrJ/USAJz/h/QQm+u8gJ+YsiiepCs7l/Yq/1HKe51U2W8g
 ZTNoODGhMhmMH1HvHbQKAnRNNlFP8q4DQA=
IronPort-HdrOrdr: A9a23:Le1WkKkTMJH+4bbbWUwOGSX/d6zpDfMxiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcLC7V5Voj0msjKKdkrNhWotKOzOWxVdATbsSl7cKpgeNJ8SQzJ8/6U
 4NSdkaNDS0NykAsS+Y2njHLz9D+rm6GcmT7I+xrkuFDzsaE52Ihz0JdTpzeXcGIDWua6BJcq
 Z0qvA3xQZJLh8sH7iG7zQ+LqD+T5qhruOVXTc2QzocrCWehzKh77D3VzCewxclSjtKhZsy7G
 TflAT9x6O799W20AXV2WP/54lf3IKJ8KoOOOW8zuwubhn8gAehY4psH5WEoTAOuemqrHo6jd
 XWpB8kHsJrr1fcZHu8rxfB0xTplBwu93jh41mFhmaLm721eBsKT+56wa5JeBrQ7EQt+Pl6za
 Jwxmqc875aFwnJkijR78XBE0gCrDv/nVMS1cooy1BPW4oXb7Fc6aQZ4UNuCZ8FWAb38pouHu
 VCBNzVoNxWbVSZRXbEuXQH+q3mYl0DWjO9BmQSsM2c1DZb2Fh/0ksj3cQa2kwN8ZosIqM0kN
 jsA+BNrvVjX8UWZaVyCKMqWs2sEFHARhrKLSa7PUnnPLtvAQOMl7fHpJEOoM26cp0By5U/3L
 7bVklDiGI0c0XyTeWTwZxw9AzXSmnVZ0Wt9ihn3ek6hlTAfsuvDcXaI2pe1/dI4s9vTPEzYs
 zDe66/WJTYXCzT8YUg5XyLZ3AdEwhZbCQvgKdJZ7u/mLO7FmTUjJ2qTB/yHsuaLd92YBK3Pl
 IzGB7OGe5n0meHHlfFvTm5YQKZRqW4x+M+LJTn
X-Talos-CUID: 9a23:obPbMG6EjqztXi5r2Nss7nY/M/AAc13n93LPHWOWWX1FQ+ORcArF
X-Talos-MUID: =?us-ascii?q?9a23=3AYaPbpQyTxJr7QEzcpw25DmtkmFaaqJ6HU3oInc8?=
 =?us-ascii?q?GgpC7HChiCjeUjAqaW4Byfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="118604915"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n0c2DjAj5CZt13GgTyS2VXcDvnHWQlsAdQol4i11qOhucJrbQkKVfpbva7Uz1ImQUE2MNoJRcMZdzvmCNMY0lbK+u4DVBRbGdKmTEoH4O0ynSP/WN93jHeEvBtighlA0kozdlQA2rXZkO9/NyUJij+DXelAdy80Fd7N4RJfl880kaF6HD1J4mr0IAbVF07LNTQvnoaya4b1aovCGHLONoGCvPzB3f/OhV9I2sylp8G5fD58Z+NommTXH78hYF+47dIZQep4mqRlWO14WJ8MscXRf+RUv4sEUC/oOjQXzKk5AigBBpM8l+UF0ULHeDo2fBud2p6XHzSdXjSshLNQHOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iXXnkgZttQSW3pq00KkdBdU/MEjO96Uage0DISgZQOs=;
 b=YLBKioT09kwWSGozCYT9wom5MR9wECHsvuZuO50XN16qwkYdTRuY+5kxKhw9UlaBEOa9/YP1XHn0qDS17m1bBNl5yqQQNChkPCpxCK/bziVGlvt6XFodGW/WUSf1ZvAtM1+tMd2wRMmXVDPf/meUJCIbzkeE8YDgnYEtbCKAyHtGe5sDogEPMomkanLx/axCsLuQX4VzeW/kT/RLwotOQ+PxKVHn0pqcjLKs8b0KeSZHPOeZh/atEXZnqyEkAVlZMb9f4gRtvn/CW/IK+SMiTvVDwdGm7WYRo/FYKCRjl0ooqy1LE8Zoy0MzU+cM1MEIN7PjjW49MwRDAO9o3cIUZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iXXnkgZttQSW3pq00KkdBdU/MEjO96Uage0DISgZQOs=;
 b=P/Di6KoijY5Qn3WsqdSk7aHxGDJFA970+KmAQCDcAcSzzIphGGbq2KBYKG1UiLoaef0XugDikZ8skkVoX6NU7wWGbDJt6S5TawNc/ka54SIzarEuu09Kb+J/aGosWGSLFy+NS746zrGITSmS1ma3ZODlOxIiFUD+Mlsks63oAB8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3a0223c9-53b9-7cab-6ea3-dd5a6e02119d@citrix.com>
Date: Mon, 7 Aug 2023 14:45:32 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: Drop opt_pku entirely
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230620174704.3907275-1-andrew.cooper3@citrix.com>
 <3daf5b51-cf5f-b9c7-b02e-0db5b48aa03f@suse.com>
 <6a22f4d7-e0f6-67f5-ba44-af0a07523c4e@citrix.com>
 <04e7a7a4-8926-9e5b-c872-caba8d43d563@suse.com>
In-Reply-To: <04e7a7a4-8926-9e5b-c872-caba8d43d563@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0080.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN8PR03MB5026:EE_
X-MS-Office365-Filtering-Correlation-Id: a6e7827a-7ffc-45a6-c959-08db974c9579
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bGG7kZy+xoPz99T7t6q2QTA7kgBCuTZuo6QkV3IfqDIc6eRSKK9JxFjt2gjoqcdxVD4O8ydZ1l45wBqQCjJ1fMY3pS6jnl1J7QnLvD5YFpauIadADaDYMPWmpn3AdPJXeBqpfZKKnPqP5c+R152jfpQvyDleS7Jl1kWiKLOOc5mMvROM/GufmKGNEDqzOs+MIv+4W/F9KZT3jLesuhOfItj2Ll1/utJnMVk/ZpnT8+EJbXoDK99K0/GeM9A0kuHghGhjG1MjqNvdKmXGzS0zo71zv4vC/dFGSyO0yfJd1ECrYmp/eXI4eZ4x6rRkYrxoS5eRai7mgWkDNESTz/1OY2IHckxcNJA8xbw0uge+pBKa/sIto0psvw1kSVWB4dldWM1GuVKLLRyQMYDl+Bsa5gJ6FxNp+i9c0fWdDZbkDSgBTO2VM/iAY0ANzWkbaACZPfkFtpNgxEhEdiFJNayz1h9Kl/KwVwKaEQ+dRj729OW5i7TPm/HhL7UbfImXrile0ddZDV0FCWJOxrYWwIhNSiSiaKXS8nrtLlQsVJbsMdy4rgGtRELqDU6+piMAqIhSIqbJvlO9H22g7ZjhlmeOh3q9MX8OOKrcbhttV+ZEYHOydxTQ3kszpYTbt3hOZo+p3jmyRx/Vsi8PuRsbh066/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(366004)(396003)(136003)(186006)(1800799003)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(83380400001)(8936002)(8676002)(2616005)(478600001)(6916009)(86362001)(316002)(82960400001)(31696002)(6506007)(53546011)(38100700002)(54906003)(6486002)(66476007)(66556008)(6666004)(66946007)(4326008)(6512007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHNhVnhDa1RUM1Bsa2xmRkRlUXhVL3Q4MUtwY2luWXhNVURRODF1Mit5aFZT?=
 =?utf-8?B?NHBqUUlva0ZBd3hhRTZzbmlUQ2FzYzI1U0FqQUcwZkZGS2FIdGxmYW5ZcDBx?=
 =?utf-8?B?QUJKblBUd055ZjhPZU00ZWZNMDE2ZGptMXpoMlRZY29ETU0rSHdBY0lZNFhT?=
 =?utf-8?B?bkdOblVFOUNlayt0NGJ5WDNpK0p1WTI5dy9qZTZzeDliajg1RkRCZWZsTmFj?=
 =?utf-8?B?QnErdXNmd0RXcTIyQUNhNU9mWlNsU3RURDFvbUw3QThZQTF3S1dUSWh3VjlO?=
 =?utf-8?B?UFNUbDIxQnN3cDB5bTExYW16OFo5K09KeDBqMCtWZ3Q3SWorWitOUTR1clJT?=
 =?utf-8?B?TnhpTFo4SGtmbEMyaHNDZ1JVUHNXUW5NSXJuWW1FcGNHSXB6ZCtvQ2ZhVURN?=
 =?utf-8?B?ck96a0hGRVRPbm1PcUhEbmd1ZGs0Y0dFMHhKSTFOSW9QdmpUOVpnME5oNHFr?=
 =?utf-8?B?VUtGZWR2dFJ5TjlxMjM3T0FJSlJCRUpJL2NJVWtGTllHT1BoNFNaTzd0c3gx?=
 =?utf-8?B?bHJwcDUrMkMwSmpwVTJDb25BZWtqTTNEYVJxNkplWUhiYm9SOHMxc1hkRFVX?=
 =?utf-8?B?RkVxbVNzVmZUNTlYWTVOMGNSalhybnFRT1VoNVUycmh6RGhkem1ZNnVETUNF?=
 =?utf-8?B?UlhtQnJZMktyZy94ZURUQTY1S21Jem41SjFEbFlidE0wL0phWWZsWWtNZmJr?=
 =?utf-8?B?blNmK1JCcUhiejVoMFppZDJnTlZ4QUNxaU1ublZWSG9MUWR0VG1IV1k3U0Ny?=
 =?utf-8?B?MXdyZHpZMThVbFROVmF5emdqckU0dzhOQzFRbVc1amVUTHFhaEVZeE9yWS8r?=
 =?utf-8?B?a3RKb1FwVWJRelpsdkV4ZEJ4VHhTR1Q0a0JJVkluUjd0a0RReS9Sc212KzFF?=
 =?utf-8?B?SEJTdldhOGFqb1F3WHR6dHk4VXF3ZGdHbmRXNzMyNWVlN3JqZmJDSXNLM3Nh?=
 =?utf-8?B?bUo1RFlGemY4aFcrNXJWaTFFamR4anQrTmViTE9xMDZaZG1qWjNiME5oQm81?=
 =?utf-8?B?QjFwYUwyVTBlcEwzYUJnOTZGNUFVMUZkNDdNa244VHpuWlRUNlpCdm0zRmRa?=
 =?utf-8?B?QUtaTWV4ZXRUVXZFK0Z2b1lteitrb2w3SC9zdzV2K3ZqKy9NdDR2R1F2RFlB?=
 =?utf-8?B?Tmt1WkM2Z0RPZk8ydUpEUTlkY3VCR1N0TXBDem9FWE1HQUVZMTZicnJlRTVi?=
 =?utf-8?B?TDNZYVhHamx2RmJRNDZxOTdiMjRwaDJRdmZuTlB3QjN0VUZ6VWNicTBtYmxP?=
 =?utf-8?B?RnpmeEp6TFZMeWVoYUJjNVhXOWJ3ZlhBcG1vWjVKR2xieG8rRFV1Y3FwU1NP?=
 =?utf-8?B?R3orcXBNYWlocVUwWEZ0dndkRytXSHVHSzB2dHgzNWlwWU82am9NQm9JMEN0?=
 =?utf-8?B?VUpFV2RrRTdwYWNsaytrL2VmejVqcVNMK25iMEUxSjJkejhmeU5uOWxGZXJP?=
 =?utf-8?B?YnVvY0FDMGpNMmxKWEpaWkJaVkZLY1kxYmlWbGIrTnk4TmZLMDhCSTlLd3Jt?=
 =?utf-8?B?YzkzSzBBZ1pOd1JJSGJmSkZBUEpweEFnMEFpMWVOMWlDbVM2Ym1McktBdS9h?=
 =?utf-8?B?M1ZJWWdsYkQyT2FBWlIrSkprYjdVZ1RZNEF6NkwrN3dMb3hzK2x3bWJ1UDk1?=
 =?utf-8?B?U2dvbllBU1FYV0JZRlp6NVErNmZIdlVyYmVnaWtDOW1FZmJiTGwxS2h1aFpz?=
 =?utf-8?B?aXNna0VjbGFvVHZ1VnJEditkbjBiUlhkMnR5QWN1bXhZUHlJbTYxd2ZMYjBz?=
 =?utf-8?B?U2N1ZUFiUVRnOGhZK0lLM1I5amlrNEY0QTJ3RXVzbGp0NmlrdDRTNXJ4L3Iv?=
 =?utf-8?B?N2srMnhVNmpvd2JqQUNyN3JUdHJmcjRXNk8yT2x1V3Y5YXo3VXpRV3pGa1M5?=
 =?utf-8?B?b09XYmxMNWNaUU0xY1hUUGVSVjBPMndaMVpjRVovV3crTU1IK2pCclpyK2pw?=
 =?utf-8?B?V09pVEV1c2plK1FDamc5bFhGWUozeHdsU1BmS0l5b0JPK09PUmxMTXh2V1F6?=
 =?utf-8?B?TVBQWG5IWTNsRHVQajJFcUJwcktkSllaU3BvQVh4d3VBc3FIcERBKzFCTGJ2?=
 =?utf-8?B?RXJOMlZtTTYybGNZOHBRRlFzSGFuaWlKK0RTWDdHR3VnUkN4NEgzbHd0Y1Rp?=
 =?utf-8?B?bWxldFFaQ2V6STN6NDZnOVdmZmJ1V0F1YnFlcGZ0YUxIWW5oWGNGYk16NUgz?=
 =?utf-8?B?Mnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	MeN07R+p4pAQSFteqz6XQRBlpgRwF+7OMzla/doWZBwf1rmBwCa0Dwalnj3USIQsbrTCUfLQLa/9jHjXi/TH3IMoNSi5NoibVmqJ6cCxDtOT9UYyKwQg+m81LU/TnzaMaBVUUi+Tdg2SqGh6FXPTZjdQWlDo1O54OKXJEuurhXfkai/a/YNEqC69RH514Xt8BCDMz/Cixsss3DkV/m3mCso0TB6oYZINuzTv+06MtjtGwfWscNrUx//3O9vYm+uztYVvsPmgEJZm4wm8QeHE3C8ZjaCXlTM2oQFqhML/G4vW9mhd/Sd+7Aa/86KeeHkMDCj05ywzTPS+nbBqHG25ox4hKYrk/Tob3omRZv4xAnsmcX+dcFs271J45LJDrtzrum23aDobXkMlrHUdWDHyocALSofNwuSukggbDodfRUpj5/MluI37WbP3f6CH7+dt9jQJCDqzeVNprqBnk74iHGLyeusOCIj4gedjnYCrZoA+7cA4CffGkFPMcpePLmhxllMXHBvUxC0jB0nlcd8T2ocyp5tEfjmKglxJmElUmjFFt032gPYCGbsWB9PVl6jd/MTWNn+SpXoW3K/7fj8c0nS1rX4nJYo0tk02B++SHs8CGdSpUq37wP4FEiAzXDdQyXtc0Mqr0mBFB+OYkuJKVL6qA2uetWZ7QY6ROsFYcCTh853oCiu9sq6ZcjaR8Vyrpoe9gU6QCujLzh+70+c3e0gSlgPe29Xrng4Ls8SCz3MKRLAuUsdOmrRCce8Z+Bfdr2vMhgUct1uOHbPBlsngczWNSrWnHtTJox0wzWhmQoxeDRYz3KJYht8f2dJlttuiFTLDJQUZ1yb7pLc8WGgWAQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6e7827a-7ffc-45a6-c959-08db974c9579
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:45:38.6612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PseCvN4vYcEIlHyJiwTT4CW/b0/wH3NQZyailoCbow5cpiN3LcdcNc+spGNbF1MzV2hjnCtKXkyXr786/oO9NNEngXuR/Qp+SIDFONzkKNk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5026

On 07/08/2023 2:34 pm, Jan Beulich wrote:
> On 07.08.2023 15:21, Andrew Cooper wrote:
>> On 21/06/2023 8:37 am, Jan Beulich wrote:
>>> On 20.06.2023 19:47, Andrew Cooper wrote:
>>>> --- a/docs/misc/xen-command-line.pandoc
>>>> +++ b/docs/misc/xen-command-line.pandoc
>>>> @@ -1950,16 +1950,6 @@ for all of them (`true`), only for those subject to XPTI (`xpti`) or for
>>>>  those not subject to XPTI (`no-xpti`). The feature is used only in case
>>>>  INVPCID is supported and not disabled via `invpcid=false`.
>>>>  
>>>> -### pku (x86)
>>>> -> `= <boolean>`
>>>> -
>>>> -> Default: `true`
>>>> -
>>>> -Flag to enable Memory Protection Keys.
>>>> -
>>>> -The protection-key feature provides an additional mechanism by which IA-32e
>>>> -paging controls access to usermode addresses.
>>>> -
>>>>  ### ple_gap
>>>>  > `= <integer>`
>>> Elsewhere you said that we kind of imply that only the explicitly named
>>> sub-options of cpuid= are supported. If that's the case (which could do
>>> with saying more explicitly), you will want to add "pku" there in order
>>> to not regress what is (deemed) supported.
>> I disagree.Â  I can say it was equivalent to X without X being an
>> explicitly supported option.
>>
>> PKU shouldn't be adjusted by either of these options; it should be
>> controlled in the VM config file (if at all).Â  I'm unwilling to make any
>> suggestion that this is supported.
> Hmm, so you're suggesting "pku=" use was unsupported, too? If so, perhaps
> worth adding the word "unsupported" to the CHANGELOG.md entry.

Well - it's just hiding a feature so nothing (interesting) is going to
break.Â  But it also isn't an option that anyone ought to have been using.

>  At which
> point I'm fine with no adjustment to cpuid= doc. And then also
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.Â  I'll tweak.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:45:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578455.905971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0YV-00038I-MI; Mon, 07 Aug 2023 13:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578455.905971; Mon, 07 Aug 2023 13:45:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0YV-00038B-J7; Mon, 07 Aug 2023 13:45:55 +0000
Received: by outflank-mailman (input) for mailman id 578455;
 Mon, 07 Aug 2023 13:45: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 1qT0YV-00037l-0B
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:45: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 1qT0YU-0008E3-I3; Mon, 07 Aug 2023 13:45:54 +0000
Received: from [54.239.6.189] (helo=[192.168.12.178])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qT0YU-00017W-Bj; Mon, 07 Aug 2023 13:45: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=NsiXcLbhtBqUYUJLtE6UTIICCBzMcUPY8ousQ7D2gbI=; b=afSOqzES+nuYH9mvwJMua04zls
	ubIdPZI1ojRiVCXOgXjo//ZjMK3z1fJjrXazx585zKWSj3M+BNG1WhV7Dwt9mfwYKazegD5Oi5z9V
	2oCqbTpfae1Q+qFak+SRHs62cW/Kb2j7RxtN35fdLYPs7u6K28b/BHAfS+MH/DvSXOVg=;
Message-ID: <0b74b4a8-29a9-491a-9961-43487d95b1eb@xen.org>
Date: Mon, 7 Aug 2023 14:45:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] arm/mm: Document the differences between arm32 and
 arm64 directmaps
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-2-alejandro.vallejo@cloud.com>
 <cf80a7f3-758f-6a49-1353-44303bad0e7f@xen.org>
In-Reply-To: <cf80a7f3-758f-6a49-1353-44303bad0e7f@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 28/07/2023 10:05, Julien Grall wrote:
> On 28/07/2023 08:58, Alejandro Vallejo wrote:
>> arm32 merely covers the XENHEAP, whereas arm64 currently covers 
>> anything in
>> the frame table. These comments highlight why arm32 doesn't need to 
>> account for PDX
>> compression in its __va() implementation while arm64 does.
>>
>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

I have committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 13:53:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 13:53:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578467.905980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0fu-00051Y-Ee; Mon, 07 Aug 2023 13:53:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578467.905980; Mon, 07 Aug 2023 13:53: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 1qT0fu-00051R-Bl; Mon, 07 Aug 2023 13:53:34 +0000
Received: by outflank-mailman (input) for mailman id 578467;
 Mon, 07 Aug 2023 13:53: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=BJNd=DY=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qT0ft-00051L-7x
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 13:53:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca5b2f8a-3529-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 15:53:30 +0200 (CEST)
Received: from AM6P191CA0067.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::44)
 by DB3PR08MB9058.eurprd08.prod.outlook.com (2603:10a6:10:430::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Mon, 7 Aug
 2023 13:53:28 +0000
Received: from AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:7f:cafe::ab) by AM6P191CA0067.outlook.office365.com
 (2603:10a6:209:7f::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26 via Frontend
 Transport; Mon, 7 Aug 2023 13:53:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT047.mail.protection.outlook.com (100.127.140.69) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.15 via Frontend Transport; Mon, 7 Aug 2023 13:53:27 +0000
Received: ("Tessian outbound f1e964b3a9be:v145");
 Mon, 07 Aug 2023 13:53:26 +0000
Received: from 35c2b4c0cdd9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D3D2EBF2-C9E4-4D35-B701-216097463F2E.1; 
 Mon, 07 Aug 2023 13:52:57 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 35c2b4c0cdd9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 07 Aug 2023 13:52:57 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAXPR08MB6336.eurprd08.prod.outlook.com (2603:10a6:102:158::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 13:52:55 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 13:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca5b2f8a-3529-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ptWFYO0ZIsWUELtRyAPn9T7YAWUQGbKkLItJePrUfLU=;
 b=x1yW/1Kvq48a66mD4RDXob2giZ6vYVcF/4ah+C9fOEb16t9VHuHb3KAWu63z4EIdSE64RxSb46YCzAeL3YAdbK/5yFbC3/kOflaGkt6pT93UMZ126vK9d1JBsEt239pp1VHsydLFCHYCvN5a0etRdKHs5aV6F8ih9cRyIO8ElnI=
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: 488fbd9322a799b2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SHETnV7kTTLzkR1hIkqlq34v5njh8U7kbVDA7dcWJdETE9jLbjUVDDltOGkjWunYdRRuamOUZPY1aOuU6vXxmoru2Az7FD4kOb/r43g8H9uycVgXm8NbCciMJAp65sdL5intj5M82V5m241qM8+h0D3fgGM7Jj949E/LaCus2C2G+NEXUDvZdzc6tD3CiAKfJ7wmv5vsdyb1AR/w30BBbEkHGWVRTdxiM8rtpWm2b/L6LyUmuMXbjcqIOsfsat3oLEkj6g5ddoOpVnvFvq95QbwZEgwArLMEYtsQHmKCnqNjDHzta3dUBFXoXua87jbodB3Bt9XIs7zCUsjqbE5fkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ptWFYO0ZIsWUELtRyAPn9T7YAWUQGbKkLItJePrUfLU=;
 b=M1MzhZFAoGcnyAziExBu6p0F5UvdR0lOZaU+zxRlEOyhhg8VkgD+zW/HsOKMriuK/6dY9Df3neNAD2keGcikwuwu7iF2RUfb2Qq5s7ZNYVop6GH11AaB3QT1S8tGUJb11x7EnPz5NG5eHzSHdneRN1zmaD1A8mYbHsNs8o8R0RI0P/K2Dv2bqh554QfHzEmVrOFS4Af4EMCy1FgGW7t2YK4QpdsqGYLxPJ0yXe3koRugPNkXpE7/IUtR7RbIMGR2/yUCcveS5QnazWVHTXTuOCKsA1S8GYP6paScylTuKxIRf14vjpYEfdLTa1MYqYH8od2jppJkPAuEf0kanp3/lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ptWFYO0ZIsWUELtRyAPn9T7YAWUQGbKkLItJePrUfLU=;
 b=x1yW/1Kvq48a66mD4RDXob2giZ6vYVcF/4ah+C9fOEb16t9VHuHb3KAWu63z4EIdSE64RxSb46YCzAeL3YAdbK/5yFbC3/kOflaGkt6pT93UMZ126vK9d1JBsEt239pp1VHsydLFCHYCvN5a0etRdKHs5aV6F8ih9cRyIO8ElnI=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
CC: =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86: Drop opt_pku entirely
Thread-Topic: [PATCH] x86: Drop opt_pku entirely
Thread-Index: AQHZo59KU7pYKh8tuU6jUNQk0iLChq+U30GAgEo9oACAAAO9gIAAAwEAgAAAjXg=
Date: Mon, 7 Aug 2023 13:52:55 +0000
Message-ID:
 <AS8PR08MB7991C0D40E5CB6C8FA7600D0920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230620174704.3907275-1-andrew.cooper3@citrix.com>
 <3daf5b51-cf5f-b9c7-b02e-0db5b48aa03f@suse.com>
 <6a22f4d7-e0f6-67f5-ba44-af0a07523c4e@citrix.com>
 <04e7a7a4-8926-9e5b-c872-caba8d43d563@suse.com>
 <3a0223c9-53b9-7cab-6ea3-dd5a6e02119d@citrix.com>
In-Reply-To: <3a0223c9-53b9-7cab-6ea3-dd5a6e02119d@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
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:
	AS8PR08MB7991:EE_|PAXPR08MB6336:EE_|AM7EUR03FT047:EE_|DB3PR08MB9058:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a813dac-3e37-4f5d-51e7-08db974dacea
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:
 FvkCx/CQGYWQ3P9II0lKGOhTkI/WVvAqK88+1Y71rPVYE0v9bt5I0E5R191LuPqZfbx/gfdrioywiWqFKSbNrjZtQyYP8hN1OXIV+urmW6H1w4zI5Lp48+ULQorgF5I0gHNJt3Ko48OyEMLhyPOjprxNlpjq8ho8DSFrFz44WnctFNpWKVGcGsvEeeZF1B8/dXkPm5Lkh39bSQQqQIyzUEPfNDwM9t2UA1IhwhElt4lLz4xps10Oy4sVpHDcyp8BmWaIFSrJEXYLPCvClZAuP4QHNlkNl+IpvIj6uT3iLbH/SjL6l1vM0IygeHwX67gF+tXsM9QElwG/WkD+gYsLmzrS8/3RJwRA6t5mTK4BwSNH0iCLwxB8EVyhxyv2Emj9Ut2VJGFu2LzuLOUnCWAdQZPKQxG+R2li3pZlhgx3e3CpBefK4UnVLMtMsExk7ph+emGU5l7c92RkbwQKrswYNiWcfGDp1BFaii9oWMHGGf4/e18s3dTQIeuxdltX8MNigklND4xY65FGG8ae/jRMS/Ow+PS/DY+P+8oO+qqgmsNFSBhzfOTzbo8mhKcUxhqELnIsQN/o9PhUXA13rejdgEUDbHhOclncF8C3Uted+qzT84F+3d1ZM506/W0O12Dv
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(376002)(346002)(136003)(396003)(39860400002)(1800799003)(186006)(451199021)(52536014)(38070700005)(41300700001)(26005)(2906002)(5660300002)(8676002)(4744005)(8936002)(55016003)(122000001)(86362001)(316002)(33656002)(6506007)(7696005)(76116006)(54906003)(110136005)(38100700002)(66556008)(64756008)(66446008)(66476007)(71200400001)(66946007)(478600001)(9686003)(4326008);DIR:OUT;SFP:1101;
Content-Type: multipart/alternative;
	boundary="_000_AS8PR08MB7991C0D40E5CB6C8FA7600D0920CAAS8PR08MB7991eurp_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6336
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:
 AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	408b2086-bf12-40e3-29fd-08db974d99db
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Sg5u0IrHIJxcVEr9WzWMxJrZPukkzBwuTOnTdy8cyYBxa984XBOai7cdb+1VcSxdjjSxxmD3yAhTuEzzMUtwpWATPjVZQhD5e0df21B9WamT4IpyQrg5FiV9CGvOATf/+8Jgjk+GP6lZO5pxE4TYwemVIT2ooPdDyeXIZ6ad3iBV3NMkZukzgbkvhbGcAXZ1sxvOD3KhQDlpzJuCqW4bm4H0LpO/IUxp5SA0by5wiY6pWf/nHlT9xmDFPYYMD/ScILmQo2Q4xD081borZmDHX42alVZmXhurfwqT7yeO7/zJvb/dBQ4ZIbXOS4fDzGHDup2QZhvWfjJNWca4LMuSbSWJiy3rJSbPi6C5K2UVIGeq9WGl7rz0GFQcO3GZdvrZUdBiiOjTeH9bLsR6X25tfwZEvmQZ1IAQWj1uYRtZroebpOuiUmBLIvs9Gd02fPzv1sNbRFBREFBTukgEjNGazqqWBAFni2TXrybZyltdODvBs1PSy7Ehix+nzI6EdkodxfieGk6KfGEn7QMtztFRwn0CzAOe4EQW9BB8k84HADxZv5v5drF8XpmNyEvR3amkhZM+tatctrbPYGXsZu3ciwYj7bRoHFwLpGLWbYaO4P8V3lZvreEqhMrM14NguMYQj/H/H97CHAxCymifeoW3Orlp1QSONnLYtNDQR4WwMxbBNr/sF7zWJ1MuPe7fvsfretNQojqeakN2JrQ0iNu35cbmJO2wE/p+YJv0MgywB8H/DcqyXNBcWn1ZPpYr06OE
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(396003)(39850400004)(1800799003)(451199021)(186006)(82310400008)(46966006)(40470700004)(36840700001)(82740400003)(40460700003)(26005)(47076005)(8676002)(6506007)(316002)(36860700001)(70206006)(2906002)(4326008)(5660300002)(70586007)(8936002)(41300700001)(52536014)(9686003)(7696005)(110136005)(478600001)(40480700001)(55016003)(54906003)(356005)(81166007)(33656002)(86362001)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 13:53:27.1745
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a813dac-3e37-4f5d-51e7-08db974dacea
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9058

--_000_AS8PR08MB7991C0D40E5CB6C8FA7600D0920CAAS8PR08MB7991eurp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

> Re: [PATCH] x86: Drop opt_pku entirely

Hi Andrew and Jan,

Sorry for the possible format issue.

>>  At which
>> point I'm fine with no adjustment to cpuid=3D doc. And then also
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> Thanks.  I'll tweak.

Acked-by: Henry Wang <Henry.Wang@arm.com> #CHANGELOG

Kind regards,
Henry

> ~Andrew

--_000_AS8PR08MB7991C0D40E5CB6C8FA7600D0920CAAS8PR08MB7991eurp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
</head>
<body>
<div dir=3D"ltr">
<div></div>
<div>
<div dir=3D"ltr"><span style=3D"font-family: Calibri, sans-serif; font-size=
: inherit;">&gt; Re: [PATCH] x86: Drop opt_pku entirely</span><br>
</div>
</div>
<div id=3D"mail-editor-reference-message-container" class=3D"ms-outlook-mob=
ile-reference-message">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif"><b=
r>
</font></div>
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif">Hi=
 Andrew and Jan,</font></div>
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif"><b=
r>
</font></div>
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif">So=
rry for the possible format issue.</font></div>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from text --><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText"><br>
&gt;&gt;&nbsp; At which<br>
&gt;&gt; point I'm fine with no adjustment to cpuid=3D doc. And then also<b=
r>
&gt;&gt; Acked-by: Jan Beulich &lt;jbeulich@suse.com&gt;<br>
&gt;<br>
&gt; Thanks.&nbsp; I'll tweak.<br>
<br>
Acked-by: Henry Wang &lt;Henry.Wang@arm.com&gt; #CHANGELOG</div>
<div class=3D"PlainText" dir=3D"ltr"><br>
</div>
<div class=3D"PlainText">Kind regards,</div>
<div class=3D"PlainText">Henry<br>
<br>
&gt; ~Andrew<br>
</div>
</span></font></div>
</div>
</body>
</html>

--_000_AS8PR08MB7991C0D40E5CB6C8FA7600D0920CAAS8PR08MB7991eurp_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:01:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578479.905995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0ng-0006tB-AN; Mon, 07 Aug 2023 14:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578479.905995; Mon, 07 Aug 2023 14:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0ng-0006t4-7J; Mon, 07 Aug 2023 14:01:36 +0000
Received: by outflank-mailman (input) for mailman id 578479;
 Mon, 07 Aug 2023 14:01:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qT0nf-0006st-0n; Mon, 07 Aug 2023 14:01:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qT0ne-0000IF-Nh; Mon, 07 Aug 2023 14:01: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 1qT0ne-0003tt-9j; Mon, 07 Aug 2023 14:01:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qT0ne-0006xE-9I; Mon, 07 Aug 2023 14:01:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dCQuKAe1ADwMf477QHW8ezG4mxGwP7/HCRAjTmtEjrw=; b=UUq+Jfq1dbCLpip2ufZkOJaUuG
	ehXKIBuf4fsTF2Ltj+teUZ8gvyXU21k6n5KIawzhB/8NXabPkNrekKVYl2WaGhbhhyNODmTwQbgxx
	WjIkmqIlIS1OHIOA2qfkEbsOc2/aUteQgxuJWdO+p2R4/H8Tctc3vIwG2aixlVfszHu8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182212-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182212: 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=d63ea6c46b89bffb99647871c788c236a8286646
X-Osstest-Versions-That:
    xen=e55146071de9257d70bd157047700071d0007622
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 14:01:34 +0000

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

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                  d63ea6c46b89bffb99647871c788c236a8286646
baseline version:
 xen                  e55146071de9257d70bd157047700071d0007622

Last test of basis   182189  2023-08-04 23:00:26 Z    2 days
Testing same since   182212  2023-08-07 10:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca	Luparini <gianluca.luparini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  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
   e55146071d..d63ea6c46b  d63ea6c46b89bffb99647871c788c236a8286646 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:04:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578488.906006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0qX-0007Sq-OT; Mon, 07 Aug 2023 14:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578488.906006; Mon, 07 Aug 2023 14:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0qX-0007Sj-Lm; Mon, 07 Aug 2023 14:04:33 +0000
Received: by outflank-mailman (input) for mailman id 578488;
 Mon, 07 Aug 2023 14:04:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qT0qW-0007SZ-DO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:04:32 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 533fc0c7-352b-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:04:30 +0200 (CEST)
Received: from mail-mw2nam04lp2177.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 10:04:27 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ2PR03MB7112.namprd03.prod.outlook.com (2603:10b6:a03:4f7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:04:26 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 14:04:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 533fc0c7-352b-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691417070;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=VmU4k6SzTOG6clx1I/wtoQArWZ7X1lPWZ71QxHnBZKs=;
  b=cUoOeSeDtdecTgYQM8GCytSFtxlGSdC5nLnO0W0HbprlR4nDPqZs5Cqp
   qEleQY4EraZmOwLD8DC/SJIjolaHC+J2c5Uq2XGtOfTTgukxNR8kKV37z
   JPWaJi45OpZ6kPt1Mq1HaRxn/p4mCX3irOjiaVsOlUJnlk5ZXfaXrRC+l
   Y=;
X-IronPort-RemoteIP: 104.47.73.177
X-IronPort-MID: 118607559
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:u/jusauedXKDOyMi+dfHtrPPxOfnVKhfMUV32f8akzHdYApBsoF/q
 tZmKW/UbvmLYmTxftl2PYqwp0IO6sXWnNBiSFBlpH80Hn8a+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+GyCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwJBQzUQ68q7yK6eznRtVOjZ0RLZLBBdZK0p1g5Wmx4fcOZ7nmG/mPwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oui/60b4W9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOThpqAy3wDOlwT/DjUNexyjpqWzgHS4fPxTN
 BI65xt/kYE9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAfTztGbvQnstE3Xj0g0
 lKVn9LvCidrubfTQnWYnp+LqRuiNC5TKnUNDQcBRBEA6sPuo6kyiAzOVddpFKOpjtzzFir0y
 jrMpy87750DgMhO26il8FTvhzO3uoOPXgMz/h/QXG+u8kV+foHNT5Cn7Ujz6fdGMZqDSV+Ar
 D4IlqCjAPsmCJiMkGmIX78LFbTxu/KdamSD3hhoAoUr8Cmr9zi7Z4dM7TpiJUBvdMEZZTvuZ
 0yVsgRUjHNOAEaXgWZMS9rZI6wXIWLIT7wJiti8ggJyX6VM
IronPort-HdrOrdr: A9a23:bsODKaMGq0D6j8BcTuOjsMiBIKoaSvp037BL7TEVdfUxSKb0qy
 nAppgmPHPP5wr5IUtQ/uxoW5PwI080l6QU3WB5B97LYOCBggWVxepZnOjfKlPbehEWwdQtsZ
 uII5IUNDQpNykBsS8h2njBLz/8+qjgzEl1v5ak856yd3AWV0kOhz0JczqmLg==
X-Talos-CUID: =?us-ascii?q?9a23=3ACkQNxWrHqL1drx/ZxKgnwIfmUcwBTELD81uOH2b?=
 =?us-ascii?q?mVWpVarbMe17L0poxxg=3D=3D?=
X-Talos-MUID: 9a23:Gs58UAgHUsurHj20GxmsTcMpL+kv+6PyAko3l7Iot9baGzFBagu0g2Hi
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="118607559"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hAI932hAROOaEtTrY4GBo+HDdzNhfw64cEESOKaS2jul2tE2eQuNan186tM4+Sbmba0WspkkL0l4vt90WZMLp15KTzIIGLgeNekYDDyi3hcG6KEne2XZkXNl3jiRKTQhojRm8Q/dKCBP0cCWI4RlGFerjZGofNbMH88ryvbZFlvsNcrejNYt+gOklkjZk1Gup5ftNM2+nRk9I382zFIm9gJD7FBN2t7/b5rws9CmoRrdb844UacfX6QOs0tMlTypRE/lq18+tRyF4Qs+jzJuwYa6+JWDDR7bWy+GDrvLeF2/kPi87LBm8zrkgWrLj1M5ueV/KMzHSbNuIzMCUxMhpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VmU4k6SzTOG6clx1I/wtoQArWZ7X1lPWZ71QxHnBZKs=;
 b=Zg51fvtngLJ10lGMfC2XP/uN2YwEHHTbi5O98cu5gBHBquCsVgbDQvBmvZhmkNY5TH6BP4FA7Epv793UlMJ+jeZOrm58S4HaNdBdnT6DxW/NdTZgxvF2VgLM21KcGHK70T5sYM3o5BrxhQUsu3PPgzlCw0k3wvHJq1iQaBBpoT66DB6bRXJi7e1JZJV54nTFbTr1FG0+ra2RwMHzCE5p+0L1e1XnN7igLj1GKP/xeLV9aI+3dTUFaIP9Fc98Y1DBkULrCCuxB0SH2dXB5ldknhzm6PmFgh5EiFajD9RxBezgDliVtg5qVPRlyufRXHbCinQqudlK6Ffqrg8RyVJ3Nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VmU4k6SzTOG6clx1I/wtoQArWZ7X1lPWZ71QxHnBZKs=;
 b=F09jqx97iciI8XHq/iwi5iLMRIreixySodryCt3BAhJBHlpJSSD0eG8evbt0jaJtxCxx6NtJOB/VL758LeKq1+lH3ESnbfTTeXoktS37y1valWoLgVH7uuRRqupb6Hn+dhIPu0GiqS/MoW8f6SvUu7LMmMZZX3yA6vSgcrGumpQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <298af911-f4f0-165d-c493-90407d649945@citrix.com>
Date: Mon, 7 Aug 2023 15:04:19 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Simon Gaiser <simon@invisiblethingslab.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Thomas Gleixner <tglx@linutronix.de>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
In-Reply-To: <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0080.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ2PR03MB7112:EE_
X-MS-Office365-Filtering-Correlation-Id: eb24a44a-58fb-4fb6-cfa5-08db974f3543
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ew0rJqn3BrmFBWveJXF79T5cv56goLNqUGnCfmBxJkMsq3o4dRoAf1dEXGq9UvcPc/ZGoA2ssJrNwxwnngrNV1bvsgOZh4QEoHwe36D3FyLjoPOdwALBs6UI9BQaGiTCyfHGx2M3+whSiWaor+xeictLz0uihuJ8oGUwN0d5SMYWqCC7MRKVUL7iI679Pq/OBaJrobcz8OG5VRV5546GwoSl08TjmXdX/5xUVuutnFN4YoV6qgVBzy6YIZcjt9mbiSyqa46D7igoF8zdMndyJdR6fzfpO6tMFXkXE96ieeuI1ExcCVZNIqPRgkzXJKFRy5Op5N1woXTqJGV/vG1sPrtU2vesV2wddFr0aIHc68ZRlLzl3dAHJsYife3lw6OH/NiY5okaKeZZHmGnKdZOJ36koYiJv/2yvW1tDddxgrnqvHkKzyJtaQvj4qhiOfRaI4flzgkQzVVBu04aCaOrxM/bTcfDMlm5hrRBsHe6HjfPF26PE+z5dmq8sEqt8Z243RMgYPjTd4UTDEjN3j16PnOqZ5pZqpshIDG8ooO7o3nIvrPXoa5JGWAeKJMkLwP9uWFP/4TLzOzzCwNRssS+N+PzjeZCeP6PvgyHbiDs3J9HNj80osW8Wj8BlKt2BjzCDgpzXTaa+1RXXB/VJT9B0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(1800799003)(186006)(451199021)(4326008)(316002)(38100700002)(66476007)(66556008)(66946007)(6512007)(6666004)(82960400001)(6486002)(2616005)(83380400001)(36756003)(26005)(53546011)(6506007)(86362001)(2906002)(31696002)(54906003)(478600001)(110136005)(8936002)(8676002)(41300700001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clVrOUdSUFlRdEg5OFJWcXBCMVJuSmg1R2ZxSEdKTjNCMFlGOHQ2cmtSMTVQ?=
 =?utf-8?B?aXBsU2p5SGdXSUNZcjF4ZklhK2dMZTRIZDFrYTYwclRKaDN6RDM4aFdSVnlk?=
 =?utf-8?B?ZU1lTXQ0RXRCMVVMVUhPaDFCVk9nWmNDOGlweVVhV2x3NEhQd0ozL1ZnS2dL?=
 =?utf-8?B?b2I4cnJnMmp4c3VJMkdaNTBXUVBuZnZReDhHdkNvTVZGRnJmL05MYThUVWhs?=
 =?utf-8?B?dTlTYTZmaFk2SEVJMDgyNS9xNHZDZ2N1N3hGclorM0NTQVdJZXF0cWJDcGMv?=
 =?utf-8?B?QkpiM21PS25oTWYwYms3SXhMczZYNnJpMDdtSC9kVk5wbWFZZ2JpVjNGenFx?=
 =?utf-8?B?cVdCTTJSQ1p0dDEzVCs1MXZieXc3YmpPRGxRbWliL3ZLRThvM0gvQTJiQ1Uw?=
 =?utf-8?B?TUZ6VjVjOHNmNklSRmZIdVdwWFJ3VVlhdi92c2REa1k4QzB1VDM1RjEvS3Jp?=
 =?utf-8?B?YldCVmd4Ym0yRkJtOVRVL0w2OWloSjQ4STI4K3JEc2pENWdraDI4WmhxN1RQ?=
 =?utf-8?B?Q2FVSzNjK3MyY3pMUmtqQlpCNWFqV3c0Um1aaVY2TEZpZzBhQkttTy92bTI2?=
 =?utf-8?B?NXo4RmRweFN0aC9DQ1BIdytPSGQ0d0tvNzV3emJUVGloUUIzMVR2aDJidG5q?=
 =?utf-8?B?UVhYMjZUYmdOalJlSzROM3BXSkhhckQxS3owOWxPNlI5ZUY0SEUzQTI0TEth?=
 =?utf-8?B?am1ZdkNPaUdBNzh6RUhNTmt6VnlBTFNrdnEvbGxXWHJwdXNLeStId01PUE9Y?=
 =?utf-8?B?bWdTTktBOW5jTWwwUUJ5K0dsK2h5dks4L1hQQnZKVi9naXRXVlh6TGRLK05T?=
 =?utf-8?B?WTV6NjZxOWdPOFAxcWcydmlwQTlXZWZOekYybE5VMnhKSHpnbFZxdThpWW1O?=
 =?utf-8?B?dkFNVEt1eXRjb01IQzcxZWNPQ0kwbUZ6ejhyamRsNkh2VWJyeVpkS2Nzd3Zk?=
 =?utf-8?B?Wm4wMjY3MHhLcFlBSFFselBhMWxRTHdoQnBsd1pFZnR6aGE4ZjhMRnFIRjNm?=
 =?utf-8?B?aXl2NlVVcjF6bjB4L1diWEwwZ0pYcDVmQjVZRmxDNVNlQXZja0pYSlBSRUFU?=
 =?utf-8?B?RisrbFFiVWRrRmdCU2pFVkpuWUJBVU41V2h6UCswM2RYK1Z6NXppVjJGSURW?=
 =?utf-8?B?UmR1YlEwdWVxTnhPQ0ZaL2RLc1BpOUMxTkt2bVJGeDR5Mk9MQjlZb29iNENI?=
 =?utf-8?B?Y3c3akRGRWdPNEJQRTlhbFYxS3E2dTlaazlzU0ZrTEc3MWUxNjNQcGNkdlA4?=
 =?utf-8?B?bUtHMEdKdFQ4NDJwaVBSaXRiTi9OaUt3SVlrYXJCaFJteW9mMGQybEl2Ym1S?=
 =?utf-8?B?dlMrNkZtYzhtRGpOaldSTzRselRnOFZ5NUVFMmJSS054djQ1b3l5T2QyQkNu?=
 =?utf-8?B?OG9kNVdHbVZ3Q0lKRTdER0psSENZWGRaN0huZ0lLVmFpOTgwNFN5NGlycXZa?=
 =?utf-8?B?K1o3RGpmallwd1EycHgrRzdmTnFJL1lmbDVLTEZ4YTlHSzlmRHVpMjdQdzdh?=
 =?utf-8?B?NDBjY3h1cHhISkNFbjRhUWQza1ZCSEZvZkZqSjJnSC94VUViejQ1SnNTcEpx?=
 =?utf-8?B?WU12U1ZjekRqdWgwOGJYMUYyOUpEKzVzdnNpTldRbWZpNUIzQnAwdjFEdy9J?=
 =?utf-8?B?dnJCZVBQanVWRFZETkx1K0hxbW1oRWdkTjkrci9UMmh3MXF6Smx0RlJCdFR5?=
 =?utf-8?B?Rm10OFB1R1dUVmNKVkZhQjRQOHdBYnl1dG1zRnBnQjE1blhYWlQ2cjhjMjJW?=
 =?utf-8?B?QXFDU1duT3JJRWF6M2VUOGl4WERpMlFwMEFrNlhzbXdpTVhQMnNkVTZmc3ZG?=
 =?utf-8?B?aVRiQXlRRTRoOEoweWUxNm1LdXptNlBwa3QrQzAzb0RTSEZXbE56QmsxQUg5?=
 =?utf-8?B?NnZzNmQzUjc0TFYveWJINlFxVjZtdHVPdXlWdDZDSXUvb01mRGRGcEdMQnJD?=
 =?utf-8?B?NXJ3ZzBFK3VUbTZIeFVaampSaVdHcDZJUzNBdDA0NS96Um44RmdveEUwNDA2?=
 =?utf-8?B?clplcWdUVmZNUGxmZGlwUGFoUjJ3QmtrVVQ3TS80dDR6Q003cHRHTzFpeHVW?=
 =?utf-8?B?aDEzWXdkMXJuVXE5akpnaFpwTGRqRnJTemh1SElHeTRxWmFRVmV1MW9YOTdx?=
 =?utf-8?B?Z2Z5V2MwNkVxWC9KMC9uRUNlVGVHV3hWRDJDeGlEeXhQTzNob21iM0E3Y25O?=
 =?utf-8?B?L3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ruSp93B2LwWDGfNkEx8Nm112DNjWPgk2inXeDLiwGXLGYAynoeZfApf34RalBZ2qmkZy6av3O3L+qurUVvwZLx8GuQTb3fQUXMvRiGMYP/rQoX5JYuWbV+k+vIxelMjsdWvSjdNeM0J9UEbJ1nQlums7CQNcuMaSXuNIfT4O1cwxKskp4rYA8n+axs9mgqv+MPPjlEI8mxdhNuZ18w2k88H6PyVpBQRnshTxsYhIN4WqC8MftsfBqQ4lqnOl2XI/EiMAOg6rGEJSPT3N5AJrsPvNiqqivsswbVXf6pPxkjZKoc9exUFRLqxVak1QtlSjWeUnRG7et6Qgcvx0Q9PJNlAfKLnZ4lJ7bi0Fmk1AIwDnY+qqf7AcoPCcqxqCzfrYewA714/Ofnp20qjPsT7q8ZX3T2O9VRv127jaVTMUibWsOyx8Is7NzGBlUInw+fAPjynj3Fks5UIWZnrRZ65mNBBS7ou2ml/YDA2nIqJ7S/kMoLqrydpzMNVm3/t8R6OgaueK63qe3jX2mHFadadhBMkd41/PchJml48NKcy+0TK64lN/g7LYR07M/hGOZT247U1CUKearWgZhPP7StP7jCYdZjTZ1If8vebh1QqczIfDKzc5hbrg+6M0OgMl1nzudN6spanr0gQrm+4nfpkW9A5SKFHNNIvhutFMxleaLGiuMFFPXSK8EawTl8zLm9kyh2QOIYurnfC1oUxlCpvMzY5x7ImtZXVzGyHaHvOu1Erzo77YJ+PMG7ZL6JRhDuympDWvh912b3O/Pn03XolACzgrvt+G/nl9sgWGF4dWaXehlsDHI1tEBkp1/OhD8JZNzV9jsK/qkq4h4TIvvgBZWg0Rb2O2EjMFlHVxsi2wdgc/sBWg4Es6DQdgbgO/9yyouFNjs7anz46uBeHAjagYNPfJ80lsyU+3GPyYMsJmrFA=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb24a44a-58fb-4fb6-cfa5-08db974f3543
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:04:25.8501
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /qvMfZblmvMEuGdIZybgmJpYXkZn/xn3RbXsr0yPaZR0NfMvHSdQQSOjP/eM384x78a+Gy3edPXRq8TxvWlTpXAlYxdpNYaK+fUUWYpjzs4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7112

On 07/08/2023 2:17 pm, Jan Beulich wrote:
> On 07.08.2023 14:55, Simon Gaiser wrote:
>> Jan Beulich:
>>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>>> 0xff. Linux already has code to handle those cases both in
>>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>>> same check to Xen.
>>> I'm afraid it doesn't become clear to me what problem you're trying to
>>> solve.
>> I want Xen to not think there are possible CPUs that actually never can
>> be there.
> Did you try using "maxcpus=" on the command line? If that doesn't work
> well enough (perhaps because of causing undesirable log messages), maybe
> we need some way to say "no CPU hotplug" on the command line.

The ACPI tables are broken, and Xen's parsing of them is wrong.

And irrespective - it's unreasonable to have users work around bugs in
Xen by adding more command line.

>
>> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
>> that there are 8 logical CPUs that are currently disabled but could be
>> hotplugged.
> Yet it's exactly this which ACPI is telling us here (with some vagueness,
> which isn't easy to get around; see below).
>
>> I'm moderately sure that soldering in another CPU is not supported, even
>> less so at runtime ;]
> On your system. What about others, which are hotplug-capable?

It is required that all APIC ID are stated *ahead of time*.

Entries with 0xFF and 0xFFFFFFFF at boot are entirely invalid.

Furthermore, given debugging that I just did with Thomas, it's very
clear that noone has tried really hotplugging CPUs under Xen.Â  The
layering violation is rather hilarious to watch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:07:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578494.906015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0sq-00086Z-A5; Mon, 07 Aug 2023 14:06:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578494.906015; Mon, 07 Aug 2023 14: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 1qT0sq-00086S-7Y; Mon, 07 Aug 2023 14:06:56 +0000
Received: by outflank-mailman (input) for mailman id 578494;
 Mon, 07 Aug 2023 14:06: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=pf19=DY=citrix.com=prvs=57614ddda=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qT0sp-00086M-FY
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:06:55 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8a77e74-352b-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:06: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: a8a77e74-352b-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691417214;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Lcj39dcakHvuWWa2TgBrCqBP6PmhlerS0mSmRoIchL4=;
  b=MpOnl7r41C/OkgaNnox+8SfHvbb7hhz5oxxY2Zmk+m1vEHm9Ca9buZIY
   HjZyBx2yk2zDXPz0oMRUFq2qT70VpYIGHX/0a5V2FyIJiq809gZ8Ci57H
   P4iNQlpifszf0xvUc256clBXuszvuUjjlM83nlpKYr3WdpM+X7yxscH53
   I=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 121376940
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:4PFKZq29JY4ErNrM8/bD5fVxkn2cJEfYwER7XKvMYLTBsI5bp2NRx
 2MZWzvSPf/cZGqnf9siaNzk90wGsJbcytNrTQtrpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxmOqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfKGcJ/
 KBGBmk2SxWJuuzt6byDTNNziZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiHJ8MxRnG9
 z6el4j/KggUHu649mHCzk/22sbfrBv5QrMdKpTto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQC1
 FCTmMjyLSdyq7DTQnWYnop4thvrZ3JTdzVbI3ZZE01cuYKLTJwPYgznZ9AkGfLroITOPDT6/
 j7RhSYGgY8Mgptev0mkxmzvjzWpr5nPawc64ATLQ26ohj9EiJ6Zi5+AsgaCs6sZRGqNZhzY5
 SVfxZDChAwbJcvV/BFhVtnhC11ACxytFDTHyWBiEJA6n9hG0y7yJNsAiN2SyaoADyrlRdMLS
 BWI0e+yzMUJVJdPUUOQS9zZNijS5fK8fekJr9iNBja0XrB/dRWc4AZlblOK0mbmnSAEyP9uY
 MzHL5bwUytDU8yLKQZaoM9Hi9cWKt0WnzuPFfgXMTz4uVZhWJJlYehcawbfBgzIxKiFvB/U4
 75i2ziikn1ivBnFSnCPq+Y7dAlaRUXX8Liq86S7gMbfeFs5cIzgYteNqY4cl3tNw/gIzruVr
 iHiMqKaoXKm7UD6xcyxQigLQNvSsVxX9xrX4QRE0Y6U5kUe
IronPort-HdrOrdr: A9a23:iMl2s6rLPp6dR6Ujn1YNWxQaV5oNeYIsimQD101hICG9JPbo7f
 xGuM5rrCMc7wxhPk3I+OrwX5VoJEm3yXcb2/hzAV7PZmnbUQiTXeVfBOnZsl/d8nbFh5ZgPM
 5bGsAUNDSaNykesS+V2miFOudl6MWb9rulnOLPpk0dNj2CqJsN0+66MGum+4FNKzWuzKBWKK
 ah
X-Talos-CUID: =?us-ascii?q?9a23=3AiYhwNGmsIorK3s8NsPLF1HrRgZ7XOVTbi36MfWH?=
 =?us-ascii?q?hMkNsQoCbEnaewKVejMU7zg=3D=3D?=
X-Talos-MUID: 9a23:T1e3qgba97pjq+BTrjHGthZdb4BU3v7yIVA8qZccisa6HHkl
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="121376940"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH] libxl: Use XEN_LIB_DIR to store bootloader from pygrub
Date: Mon, 7 Aug 2023 15:06:19 +0100
Message-ID: <20230807140620.47221-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In osstest, the jobs using pygrub on arm64 on the branch linux-linus
started to fails with:
    [Errno 28] No space left on device
    Error writing temporary copy of ramdisk

This is because /var/run is small when dom0 has only 512MB to work
with, /var/run is only 40MB. The size of both kernel and ramdisk on
this jobs is now about 42MB, so not enough space in /var/run.

So, to avoid writing a big binairy in ramfs, we will use /var/lib
instead, like we already do when saving the device model state on
migration.

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/libs/light/libxl_bootloader.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_bootloader.c b/tools/libs/light/libxl_bootloader.c
index 1bc6e51827..108329b4a5 100644
--- a/tools/libs/light/libxl_bootloader.c
+++ b/tools/libs/light/libxl_bootloader.c
@@ -245,8 +245,8 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
 static void bootloader_setpaths(libxl__gc *gc, libxl__bootloader_state *bl)
 {
     uint32_t domid = bl->domid;
-    bl->outputdir = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".d", domid);
-    bl->outputpath = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".out", domid);
+    bl->outputdir = GCSPRINTF(XEN_LIB_DIR "/bootloader.%"PRIu32".d", domid);
+    bl->outputpath = GCSPRINTF(XEN_LIB_DIR "/bootloader.%"PRIu32".out", domid);
 }
 
 /* Callbacks */
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:10:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578502.906026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0vu-0001AD-QB; Mon, 07 Aug 2023 14:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578502.906026; Mon, 07 Aug 2023 14:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT0vu-00019n-MT; Mon, 07 Aug 2023 14:10:06 +0000
Received: by outflank-mailman (input) for mailman id 578502;
 Mon, 07 Aug 2023 14:10:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qT0vt-00013e-Qn
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:10:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a694a65-352c-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:10:03 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EECD94EE0737;
 Mon,  7 Aug 2023 16:10:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a694a65-352c-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 16:10:02 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 4/4] x86/setup: address MISRA C:2012 Rule 5.3
In-Reply-To: <66d0ea64-0363-db7b-b4e2-5e404bff28d2@suse.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <484a88bb35cdb6e5ec036d40fb2b4e20678fd975.1691135862.git.nicola.vetrini@bugseng.com>
 <55099faa-206a-b7ae-8ef1-64d1dc344c4c@suse.com>
 <f7d676d32355788620bda00a60be5258@bugseng.com>
 <66d0ea64-0363-db7b-b4e2-5e404bff28d2@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <50fe2600058c0e5224b822ad49db75eb@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 07/08/2023 15:42, Jan Beulich wrote:
> On 07.08.2023 15:18, Nicola Vetrini wrote:
>> On 07/08/2023 15:05, Jan Beulich wrote:
>>> On 04.08.2023 10:03, Nicola Vetrini wrote:
>>>> The parameters renamed in the function declaration caused shadowing
>>>> with the homonymous variable in 'xen/common/efi/boot.c'. Renaming
>>>> them also addresses Rule 8.3:
>>>> "All declarations of an object or function shall use the same names
>>>> and type qualifiers".
>>> 
>>> Can you explain to me how shadowing can happen in a declaration? I
>>> would focus on 8.3 here, and only mention the other name collision.
>> 
>> There's "static struct file __initdata kernel;" in
>> xen/common/efi/boot.c, which
>> is visible when the function is declared. Since renaming these 
>> parameter
>> names would
>> have been addressed by Federico for R8.3 anyway, my intention was to
>> address them both.
> 
> I understand what you say, but your reply doesn't answer my question.
> Just to emphasize the important aspect: I could see the shadowing
> aspect if the _definition_ of construct_dom0() used "kernel". But I'm
> asking about declarations (the one here as well as in general): I
> can't see how any shadowing can occur without there being any code in
> the position of using any such variable / parameter. IOW if Eclair
> spits out 5.3 violations on declarations, I'm inclined to think it's
> wrong. (Because of 8.3 a violation there would then need dealing with
> anyway, but _only_ because of 8.3, if the definition is already okay.)
> 
> Jan

The declaration itself is a scope and shadowing can happen, as in:

int x;
void f(int x, int arr[x]);

Now, the example is a bit contrived, but the fact that the rule does not 
list any
exception motivates this behaviour. In any case, I'll try to rephrase 
the commit message
to be less ambiguous.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:17:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578509.906036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT12e-0001rB-LJ; Mon, 07 Aug 2023 14:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578509.906036; Mon, 07 Aug 2023 14: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 1qT12e-0001r4-IT; Mon, 07 Aug 2023 14:17:04 +0000
Received: by outflank-mailman (input) for mailman id 578509;
 Mon, 07 Aug 2023 14: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=jNKM=DY=joelfernandes.org=joel@srs-se1.protection.inumbo.net>)
 id 1qT10a-0001nV-OT
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:14:56 +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 c7c08f84-352c-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:14:55 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2b9bb097c1bso70380181fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 07:14:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7c08f84-352c-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=joelfernandes.org; s=google; t=1691417694; x=1692022494;
        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=miXhKIkPE3lmozcU/B+jO2gbohIQfxtvXQrL6JQrLaA=;
        b=rUbGf+JZcp35dmq7w8slw0nHgKluYcuW30g35dHvkRNE8GAplx/bmohiweQc5R1m+t
         n8zrOL6x18GLNviLyBdF1SBbwknD+YT0R92Z3r7ozf/LbxR/ZX+oGNC6AweYXTnFy1Td
         qjM3KL4IzdURsMRiax7oRl3ig1sdRDyJ5+2Ck=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691417694; x=1692022494;
        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=miXhKIkPE3lmozcU/B+jO2gbohIQfxtvXQrL6JQrLaA=;
        b=CP6jlHg3e20+fXL3dQRiTWA/QacVmTeoRotK/6PzTz+epFyaECn/E/giPkUKVUNhAM
         mVvqZ5gP77YaK2u7qfRy9I8/M1y1A0iNp5IgK/kJY7ZTCJ+5U//z/Fkv5N96RW2uqHkk
         14kGteuFMQnOklZ77DnBJXdNxOpulzxIC4iBlY3CJT/JViUfl4fg6DO7znJy/g5PdcEs
         MQq9yU+Q1fu1w/KU2cbJ8dz2jqQwKLoP+g7tE7shbzjB5ZZgNs2VEl4R6fGHDrIm8vXe
         xFsQDUZTHfAcmwQmkKF3j5Yffpcgu5eTz+Ov4HB5uSCzSPT7An/O6ftvtmqqx1+gVIGb
         +BpA==
X-Gm-Message-State: AOJu0Yy26obgSDXuBfMpRyox5PgQc8bcQlezfBqR/JRnCE3+cRrs8+/A
	EIgxrVqiZL4E59nH0Qaf27cdEh47U7DazOLABdH7Sg==
X-Google-Smtp-Source: AGHT+IEUzxQ8uhfef4Gwj5w4R2S1a/fG2YmFdaAnrERcAODuTjnUg5MW8ffcyCI3WwFTK01hsv/WyE2OTkrmMwFZBOU=
X-Received: by 2002:a2e:9254:0:b0:2b6:dfef:d526 with SMTP id
 v20-20020a2e9254000000b002b6dfefd526mr6547671ljg.11.1691417693488; Mon, 07
 Aug 2023 07:14:53 -0700 (PDT)
MIME-Version: 1.0
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com> <20230807110936.21819-20-zhengqi.arch@bytedance.com>
In-Reply-To: <20230807110936.21819-20-zhengqi.arch@bytedance.com>
From: Joel Fernandes <joel@joelfernandes.org>
Date: Mon, 7 Aug 2023 10:14:48 -0400
Message-ID: <CAEXW_YQHGBE2kKupLf12BGOEU5GnQsBUtVQcyMnzxUZ4y48QFA@mail.gmail.com>
Subject: Re: [PATCH v4 19/48] rcu: dynamically allocate the rcu-kfree shrinker
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru, 
	vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org, 
	brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com, 
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com, 
	gregkh@linuxfoundation.org, muchun.song@linux.dev, simon.horman@corigine.com, 
	dlemoal@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, 
	x86@kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net, 
	cluster-devel@redhat.com, linux-nfs@vger.kernel.org, 
	linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org, 
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, 
	dm-devel@redhat.com, linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org, 
	virtualization@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, 
	linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, 
	linux-btrfs@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 7, 2023 at 7:17=E2=80=AFAM Qi Zheng <zhengqi.arch@bytedance.com=
> wrote:
>
> Use new APIs to dynamically allocate the rcu-kfree shrinker.
>
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

For RCU:
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>

thanks,

- Joel


> ---
>  kernel/rcu/tree.c | 22 +++++++++++++---------
>  1 file changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index 7c79480bfaa0..3b20fc46c514 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -3449,13 +3449,6 @@ kfree_rcu_shrink_scan(struct shrinker *shrink, str=
uct shrink_control *sc)
>         return freed =3D=3D 0 ? SHRINK_STOP : freed;
>  }
>
> -static struct shrinker kfree_rcu_shrinker =3D {
> -       .count_objects =3D kfree_rcu_shrink_count,
> -       .scan_objects =3D kfree_rcu_shrink_scan,
> -       .batch =3D 0,
> -       .seeks =3D DEFAULT_SEEKS,
> -};
> -
>  void __init kfree_rcu_scheduler_running(void)
>  {
>         int cpu;
> @@ -4931,6 +4924,7 @@ static void __init kfree_rcu_batch_init(void)
>  {
>         int cpu;
>         int i, j;
> +       struct shrinker *kfree_rcu_shrinker;
>
>         /* Clamp it to [0:100] seconds interval. */
>         if (rcu_delay_page_cache_fill_msec < 0 ||
> @@ -4962,8 +4956,18 @@ static void __init kfree_rcu_batch_init(void)
>                 INIT_DELAYED_WORK(&krcp->page_cache_work, fill_page_cache=
_func);
>                 krcp->initialized =3D true;
>         }
> -       if (register_shrinker(&kfree_rcu_shrinker, "rcu-kfree"))
> -               pr_err("Failed to register kfree_rcu() shrinker!\n");
> +
> +       kfree_rcu_shrinker =3D shrinker_alloc(0, "rcu-kfree");
> +       if (!kfree_rcu_shrinker) {
> +               pr_err("Failed to allocate kfree_rcu() shrinker!\n");
> +               return;
> +       }
> +
> +       kfree_rcu_shrinker->count_objects =3D kfree_rcu_shrink_count;
> +       kfree_rcu_shrinker->scan_objects =3D kfree_rcu_shrink_scan;
> +       kfree_rcu_shrinker->seeks =3D DEFAULT_SEEKS;
> +
> +       shrinker_register(kfree_rcu_shrinker);
>  }
>
>  void __init rcu_init(void)
> --
> 2.30.2
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:17:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578511.906042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT12e-0001uZ-V5; Mon, 07 Aug 2023 14:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578511.906042; Mon, 07 Aug 2023 14: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 1qT12e-0001tl-Pg; Mon, 07 Aug 2023 14:17:04 +0000
Received: by outflank-mailman (input) for mailman id 578511;
 Mon, 07 Aug 2023 14:16: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=jNKM=DY=joelfernandes.org=joel@srs-se1.protection.inumbo.net>)
 id 1qT11n-0001q7-MS
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:16:11 +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 f46e693b-352c-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:16:09 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2b9ba3d6157so73207501fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 07:16: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: f46e693b-352c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=joelfernandes.org; s=google; t=1691417769; x=1692022569;
        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=mVE/GJTe1IuiufpABjiYZn1olHI1ifx/I1TivYEBHQg=;
        b=KDeUHSfDD3L4EI9ZDbXXnOCIgf36k4kTiyHRIIffaGRG3HCFl39GcfvKDi2APyBxt9
         uIkOV41JjBWzvcfkl4hWbMoMF6B7yW2N6o4toZetNa+16q9cwIbk8dhp8WLMlbMnqtzs
         lrCcsJN2ho/fqPCpmMmUqd/p18Lc2P1XhR9Zc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691417769; x=1692022569;
        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=mVE/GJTe1IuiufpABjiYZn1olHI1ifx/I1TivYEBHQg=;
        b=Fyz0LdMT+XDtd8qUGL0u1pk3J9VOlmpNgSrVQ40CsOmi6sqNJD8+c8EfpPLHZnUwTp
         HkMOgh4q+AQqRMTG4LA6IkcabBx1OhssIqYLVYzI7lSlDSFNbXC3llVdZQQA3/X3q0eR
         sep0363xb1kOlW0v55qLKcr1kTrVnpj06jpxAOAPiffmAl94DFKgj/CZZK7IIEYKakDG
         o/xVoOUpmJK7DZkMTdGNiVhzpZ4LaXTPkLTgZtiCHGVo7IgGQpetLpqKO2w6UdQRddwA
         RP8tEUtrNsG0UbcG0gLpwtx/VDGUbthGRjH4olsCJa8sjpOiYfbQIeIyy7Y3rxKD5Dj8
         bVEw==
X-Gm-Message-State: AOJu0YzM/AGaD0mG8upaxKKPI6maFxjTFTg+b0TlCycA+zKdev1NLpjX
	4uWnJpVnaukqXvhxl4neOigkwazQa+koHdxbNJVmvw==
X-Google-Smtp-Source: AGHT+IGOrJUhdG+ahMA8bObfIwJouhmkY47ZzUfvTwinDgzhZuBpH+4Q7OaueJuZRAHK8xn8XVlTzjWWvAUYbt+ovvQ=
X-Received: by 2002:a2e:b166:0:b0:2b9:dd3b:cf43 with SMTP id
 a6-20020a2eb166000000b002b9dd3bcf43mr6572529ljm.13.1691417768626; Mon, 07 Aug
 2023 07:16:08 -0700 (PDT)
MIME-Version: 1.0
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com> <20230807110936.21819-19-zhengqi.arch@bytedance.com>
In-Reply-To: <20230807110936.21819-19-zhengqi.arch@bytedance.com>
From: Joel Fernandes <joel@joelfernandes.org>
Date: Mon, 7 Aug 2023 10:16:03 -0400
Message-ID: <CAEXW_YTKHUeZHWtzeSG5Tt7MscNKjVTScBWkVDkC4Orisa7w=Q@mail.gmail.com>
Subject: Re: [PATCH v4 18/48] rcu: dynamically allocate the rcu-lazy shrinker
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru, 
	vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org, 
	brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com, 
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com, 
	gregkh@linuxfoundation.org, muchun.song@linux.dev, simon.horman@corigine.com, 
	dlemoal@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, 
	x86@kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net, 
	cluster-devel@redhat.com, linux-nfs@vger.kernel.org, 
	linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org, 
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, 
	dm-devel@redhat.com, linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org, 
	virtualization@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, 
	linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, 
	linux-btrfs@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 7, 2023 at 7:36=E2=80=AFAM Qi Zheng <zhengqi.arch@bytedance.com=
> wrote:
>
> Use new APIs to dynamically allocate the rcu-lazy shrinker.
>
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

For RCU:
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>

thanks,

- Joel


> ---
>  kernel/rcu/tree_nocb.h | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
> index 5598212d1f27..e1c59c33738a 100644
> --- a/kernel/rcu/tree_nocb.h
> +++ b/kernel/rcu/tree_nocb.h
> @@ -1396,13 +1396,6 @@ lazy_rcu_shrink_scan(struct shrinker *shrink, stru=
ct shrink_control *sc)
>
>         return count ? count : SHRINK_STOP;
>  }
> -
> -static struct shrinker lazy_rcu_shrinker =3D {
> -       .count_objects =3D lazy_rcu_shrink_count,
> -       .scan_objects =3D lazy_rcu_shrink_scan,
> -       .batch =3D 0,
> -       .seeks =3D DEFAULT_SEEKS,
> -};
>  #endif // #ifdef CONFIG_RCU_LAZY
>
>  void __init rcu_init_nohz(void)
> @@ -1410,6 +1403,7 @@ void __init rcu_init_nohz(void)
>         int cpu;
>         struct rcu_data *rdp;
>         const struct cpumask *cpumask =3D NULL;
> +       struct shrinker * __maybe_unused lazy_rcu_shrinker;
>
>  #if defined(CONFIG_NO_HZ_FULL)
>         if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask)=
)
> @@ -1436,8 +1430,16 @@ void __init rcu_init_nohz(void)
>                 return;
>
>  #ifdef CONFIG_RCU_LAZY
> -       if (register_shrinker(&lazy_rcu_shrinker, "rcu-lazy"))
> -               pr_err("Failed to register lazy_rcu shrinker!\n");
> +       lazy_rcu_shrinker =3D shrinker_alloc(0, "rcu-lazy");
> +       if (!lazy_rcu_shrinker) {
> +               pr_err("Failed to allocate lazy_rcu shrinker!\n");
> +       } else {
> +               lazy_rcu_shrinker->count_objects =3D lazy_rcu_shrink_coun=
t;
> +               lazy_rcu_shrinker->scan_objects =3D lazy_rcu_shrink_scan;
> +               lazy_rcu_shrinker->seeks =3D DEFAULT_SEEKS;
> +
> +               shrinker_register(lazy_rcu_shrinker);
> +       }
>  #endif // #ifdef CONFIG_RCU_LAZY
>
>         if (!cpumask_subset(rcu_nocb_mask, cpu_possible_mask)) {
> --
> 2.30.2
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:18:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578521.906056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT146-000322-9O; Mon, 07 Aug 2023 14:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578521.906056; Mon, 07 Aug 2023 14:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT146-00031t-6F; Mon, 07 Aug 2023 14:18:34 +0000
Received: by outflank-mailman (input) for mailman id 578521;
 Mon, 07 Aug 2023 14:18: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT144-00031d-Ay
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:18:32 +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 4893128e-352d-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:18:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8841.eurprd04.prod.outlook.com (2603:10a6:20b:408::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:18:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:18: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: 4893128e-352d-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FO0HTaoeFKsJdqLV5yDVJWhE6VCawUUyfUvhDDxsxIUsOhn8SkpFINV+OIa9OC1ZBu5Ib2W/2VVbomBic73idrQ805gv4RANYcPgglQou0hUsVkj3zKzSJBYeZX2UyXwbUpYkR92Sc3CDcldul4lKgmD/FNdwkwanPY5xBzk2djFWJSOAlRDEBu7CDo+JedygGlupIyojYy409Xbha4t8aHH0rZR00ZXHuIH9yEkA/iemYsvSoBwgFu2AfVooD8Qz9pR017Ym3vERm3sqyg7ZkYlRsEdskfF0nqXTJZKh1kcain68y+WekgXVz/23RrfO5m7/5Qtv+3d4puCjKdQ1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nKHsxWsoK0lnmkfytgfpihvQurqU3dukBFi9QGrwNqo=;
 b=gAE+07Dy2yY2IUOk8m4b0bsVawtQbmWjLRvE0SqH4V5/cWZZB2+q3Ss36CQG7HyDnk7A7VA4tlZWw6Xm0GhtqO0Hj4330LMeiRlOS9d7RfMtVicEvxgGdkorUcL3di2VjWFqZ20IrxDe45tZFgJ3H9T6d5nRMJmcWADqHrxwyS+Ftgh5EZEQe2Sy2FNyChT//p2il/pGAHjHoCzXr2iSEANrEUMKiKPrb3UTUhkF++AdFvX+2SIQEidq2EFBpIBAn8ROGuvLn3W4avt+h7KTqoKyNwuSApZKK0atJMFxHwKOdE14UlZRBQkZbYKDmPSwUYQFypgr2Eew2DrsFoz/mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nKHsxWsoK0lnmkfytgfpihvQurqU3dukBFi9QGrwNqo=;
 b=lxZuN/BUHsSSi1WO31KwyJFtFRH02EMg3KZ9UKTR4d7i2AoBXnSiyb2WLhbXYHDxGaqkME+h4YQYER+6aQiGUYoWyR7cGcdpCCtnSWF7aoSlwxBm/IecvigT3iFM//AnOnvpa0iwFV61RLpRrH5b+kYoGTG4+rLhsB/WnWed7/G4d/ngfjxTs5NbjXMbIgqX4LN6eO4GBeWOPCSEvC5uXE4KyaMYp6Yg58oslPEahTFUx9k2EVOqzoEoRkOdM4DvzRYc9ylB/AkOGN2yHxbwMazybWVcT5WM+2pN+1BTlIqG1PfeURmZvoEWcPgYVIoW7U4GGHJOid7p32nOXHR8gQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
Date: Mon, 7 Aug 2023 16:18:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Thomas Gleixner <tglx@linutronix.de>,
 Simon Gaiser <simon@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <298af911-f4f0-165d-c493-90407d649945@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0026.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8841:EE_
X-MS-Office365-Filtering-Correlation-Id: f728a14e-3ca1-4311-cb3e-08db97512ba1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1ovWE/vGWYk0MNIdwrYhwpTguI1hjzzodLQKvOHrZDye10v9+d3GnlLayuid8YER9UkAgP1uLw9B5FuYDtcaguyaKhFfrv4VFrCE3Uzg3xT1lpb9VZUc1PSC6W27I4JNRHcVAb+4ZQVPp00iSZOgAinGZ3D5eDDbJAlB0flYMqwpWLHSljNXx9Si98rJphsAfOUSzN4uXuP0ZcNjpRiGobI2MwbAVNbQ3qdPRmfR1vrZ5PHQmFFaxKGZ9Np6OwPv1EwwYaVSXOJZspN275gjjdIqToKM+IabZVnltaYo3h1dy3KIvxoPsFDVbv88ERdSr2j0sqO7huMKjcX8mExQbKQUJ906uF8ZaO6mfvM7yp4p/U2iQ46LgJdD1gjVUlvaIHMxWCoKDAGGqoG8xi+A8su8lqIn9gT77+m6cwiMXuxW9g3DAJ2/HnPgfML+B7LsZLBmU9FWdptVYG8NeKuXN/MTD/610c0P7t2JXOG/RTzGcQQBwzSr02CdbShQRCEeWE2G4krsXspD/JliF/mEMDy3nBeCI/I61B/1qX9tKwBvbHwFvzzQlCukx22uUzWOfPPo2FYz8MFZ2muivXcCBG3TGjpXhnpv2t/JLN9STNOYpPcrm2Y/uh/na3jOHS7s1sgD8yt8Y+JVzS17MAm60Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(376002)(136003)(346002)(186006)(1800799003)(451199021)(2616005)(478600001)(31686004)(83380400001)(6486002)(6512007)(53546011)(26005)(6506007)(41300700001)(66946007)(66556008)(66476007)(8936002)(8676002)(316002)(31696002)(4326008)(2906002)(6916009)(36756003)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGdnYWNaMzdybmUxZHVpM3FWaG5pd0hGSHN0NjBrc05laDdpbm51R1EwRk1W?=
 =?utf-8?B?S0JLZCtVdEp4b1JjV0JleHFHSndEcTZrRjN4cVV3UE93N3BpcG5vN2NlRFY2?=
 =?utf-8?B?Q1ErRHZDL0hibUlSdUpUTHovelN1V3JUOWJRUGhyMVIrNWk5Uzh1eUoydkZ1?=
 =?utf-8?B?OXpWV2s4ZExmZmgySEpFdFBFTCtGZFVablRjUHVubFdvcGx0OE5TTk5BR3dh?=
 =?utf-8?B?em5YOG02dXpaVXpMdStoZlErdTZZMURxQ04vdzRRa1R6VDJ3aTZqaWlMWHVL?=
 =?utf-8?B?SldURmhTV1JMeEtrMjZKcjh6UnV0MEdkaUUyeHk2UDNsMDRqdFVoZEZXcG1O?=
 =?utf-8?B?UDFVYWFSa3Z2aU9FTVJ1OXZvbXovUmxJTzJZSEpra1RHL1o0MXhxRy80bE1l?=
 =?utf-8?B?R3U1Q3dKWTNBU3AwcWNyYjlMUjVCQWw4UHdKem84YWE4dDBzNmxWWmNIWWQ4?=
 =?utf-8?B?TTFYYnkrRnl0TlNIamNpRjJCWkIrSTRHalNMcXpJK01LdkFMWVNHUzR1emZP?=
 =?utf-8?B?a05EUE1KRGZoTGZEMHNGQXVXU2VRMnpEKy9iVGZpZzFZU0JCQkxvVmc3cytl?=
 =?utf-8?B?T2JIOHJZUTR3R3FYVkE0dURCczJMeW8zRUJGaGZRVmJRL1MrYzhuS3FacnRV?=
 =?utf-8?B?K2ZlaGgvTHhBUGlkN0pSVmFiZGExNUp6bDRncldadkRQcGpqUFQzWXF4UFVv?=
 =?utf-8?B?STJRQTk2dUl2eFJrUnlWcFVYVkxKckdYS2JjeFJUbk83NCtDeXpvV0gzZytx?=
 =?utf-8?B?VDZvVzJ4c2FWV0pOeThzM1FreEtGdUVZenBGVHdTM2R5ZXdkSllVdW8rK3ds?=
 =?utf-8?B?bGphM1IrOStlYmRGSDFJdldkYlJNallqTTNxcXRVVzNCeEdtbFdJR214Ulo3?=
 =?utf-8?B?dFc5dHNCNEhaN2p3QnVGSEJFSHZwdUE1ajFWdjJrcWt6Z0NoZDNxdDgxckJN?=
 =?utf-8?B?Q0EwdC9lb1VSQmJOajJaMHFPcEEvazVKR3B1ZkVsWkhzemZvVVFVbnJXTWpq?=
 =?utf-8?B?KzBOclFxcU1uNW1kMEt1bHd3MGNtMC9XaEFHMEYvaTdPWUU1TkRvdGxNdm5z?=
 =?utf-8?B?eU1WSnZhY0FkVkh2MTUyUUtlTkFCVGJScE5JSC9yaEhBd2JUZ1JzT1VBT0hS?=
 =?utf-8?B?aXIvVTRiRy9JbzQ5Mmh6TUd3V0lURXdrUnNwd3BwQitoNmpKYVkwYWlQWiti?=
 =?utf-8?B?YnJTRHVKUFBSY3NYKzZhN0Z5WXNQOFFVUXhvazZ3cDRNTE5TUGxjV0lqd2Vr?=
 =?utf-8?B?S25sN1k5Z1paQmloRE02UXJGa3N0ZVN6UFJ1dlZHK0UwTG1aZTBneHd1UmFE?=
 =?utf-8?B?dXoxZTh3WGZxbUQ2VWNuQmZEVHZ0YXU2RTN2MG5ORHpqYUpMeGh4OTBuajBV?=
 =?utf-8?B?dldiQ0UxNzFiZG52ZWxlQUxVK0RHZkZVVXAyL2tyUTdVdnUzdlpOOUs1RWRG?=
 =?utf-8?B?UWlYQkNUYmlvdlFCczZpckZabXdsdEtFUUZEWWlMNTVEUUpnN0RxMy9WZzAr?=
 =?utf-8?B?QmtYMHFtWExCa0xxQ0V0Mmx5MFRRME0wK3pKcXV5M05nR3FUVHpxZzVSYklX?=
 =?utf-8?B?S0ZZUmNYaVF3UWprTnBFN2J2U1JLMzZpclloTWtDZEl5T2hybmpuUStQbW9D?=
 =?utf-8?B?SnQ4eFMvWkg4R3VxTkNLcHF4OVlOL3BDN1hyRGpscGdocHdVaHdlK3FJdjUw?=
 =?utf-8?B?enBWYnV0c2ZMWVNGbEtWR0gwdlhDL0xGZXdpaE5pOURuVUVEeW9xYms3djZ4?=
 =?utf-8?B?alNiSDRuRW1WcjFhdnltU0tpVUJDLzNJRXgvYllXd1RVNTFsanRHa3JDMkxI?=
 =?utf-8?B?dkVaeFpQdmFQNUZLbC9LNWE1Y1FMNnE3MmppZjd5NWZpblB6Tm5PVGI3cmt0?=
 =?utf-8?B?NnFzZ1ZZSXFWQ3oxWmt3dEhDTzFYNm5PcEVvM3JqekVNS0lsYVBJdVF6dVl6?=
 =?utf-8?B?Z3JpK1NudWxZRXJhaGl6K2NMMmRYQm03QmhRQTRlK0RrNDRYMmpwbFFqV3pC?=
 =?utf-8?B?LzgzUDRzRE5DM1ozN0g4UXRFUHlQRDBYVmdhcXhjU1JrN2diQnAxanJ2bGZK?=
 =?utf-8?B?bkh3aEt6d1VsTWZrcTRhQlBFWUlYZzJCMHNReGRUSEc4WjJ1Z0FGNnQ3RlJP?=
 =?utf-8?Q?dbDrX5GgCh/tKPnGCu4shyoUW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f728a14e-3ca1-4311-cb3e-08db97512ba1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:18:28.4434
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2eYkbPeSmfh7n/NtWSeQDvEYkgYmiAOlDKDSBJ/tOSXxcWmnlNjuVnw7UBCp0gyeyw7hYKg6RRX1G4nux4SX8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8841

On 07.08.2023 16:04, Andrew Cooper wrote:
> On 07/08/2023 2:17 pm, Jan Beulich wrote:
>> On 07.08.2023 14:55, Simon Gaiser wrote:
>>> Jan Beulich:
>>>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>>>> 0xff. Linux already has code to handle those cases both in
>>>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>>>> same check to Xen.
>>>> I'm afraid it doesn't become clear to me what problem you're trying to
>>>> solve.
>>> I want Xen to not think there are possible CPUs that actually never can
>>> be there.
>> Did you try using "maxcpus=" on the command line? If that doesn't work
>> well enough (perhaps because of causing undesirable log messages), maybe
>> we need some way to say "no CPU hotplug" on the command line.
> 
> The ACPI tables are broken, and Xen's parsing of them is wrong.
> 
> And irrespective - it's unreasonable to have users work around bugs in
> Xen by adding more command line.

Well, considering how rare CPU hotplug appears to be, such a new option
could default to "no hotplug".

>>> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
>>> that there are 8 logical CPUs that are currently disabled but could be
>>> hotplugged.
>> Yet it's exactly this which ACPI is telling us here (with some vagueness,
>> which isn't easy to get around; see below).
>>
>>> I'm moderately sure that soldering in another CPU is not supported, even
>>> less so at runtime ;]
>> On your system. What about others, which are hotplug-capable?
> 
> It is required that all APIC ID are stated *ahead of time*.

Would you mind pointing me at where this is stated? Aiui MADT entries
can be modified dynamically (we do so ourselves in the DSDT we supply
HVM guests with), and as I further understand this may be required
also for the APIC ID fields because firmware may not know how APIC IDs
are to be arranged for a new socket before being populated (by perhaps
a not entirely identical CPU, and this may not even need to be mixed
steppings).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:22:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578530.906066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT17Z-0004Ys-Qy; Mon, 07 Aug 2023 14:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578530.906066; Mon, 07 Aug 2023 14: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 1qT17Z-0004Yl-OJ; Mon, 07 Aug 2023 14:22:09 +0000
Received: by outflank-mailman (input) for mailman id 578530;
 Mon, 07 Aug 2023 14:22:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT17Y-0004Yf-Mg
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:22:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7d00::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c96dad11-352d-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:22:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8824.eurprd04.prod.outlook.com (2603:10a6:10:2e3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:22:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:22:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c96dad11-352d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hpu/oM2MO/1mHgGLIPOWBzCu4gweLIUCR16di918gmvcXX7N+PbHUmJO8arxfyTEk/cbRcqY3aop+akUFr02aI0XPYnhgDhyw5L2SMWAFXLV8UKOtmxfrIhIDhHVWyrHgDX/c401JH6W3w/DzD/HyKZpRBb5PZcCnpaprLo4riZq7/WgKU1pTeLXfGkgHqY+WYKlPJsKlSY+T0n4/XTi+sfOX+bjDQavGIwPo8HjF600r6tFZ/6mx82Y7iUakgXNZEI4dpmRnGVeKl/JRxF4J9q/PIrV8LKOYJBd0ceZ0Yp7u1uAeTd0WowDqVs+3xWxDVwjhpM2y/ADJgiJv5dl7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g03/+5n82cWsivO2bzntOum8YMFLFr1mwYPXGPWHrtw=;
 b=TKyzGmYKQMxcUU9/+15CrYnVwMymwct4VscKPgprepKLq65E/laK7B9XId8uaGkoEW6C66tuiIzQNJFL6HgONP7rusVwJIvo8ahbGyKDs25+b9WaW8+9CDDtWVpqw6rMZ9x6b2ixQMrL+xzsTPj2GCii4p05BdUd+SFlZ7hHnQ4Dv8yMVdsgpLymUQVwa7rS1AC0YktC5/o592LsG/V56H3567sCs1t0ifmhO5e0hs7kxLjl9C/0wew6vKQF0nrYDjKbJN91AhCsLx0bkwljifHCl3GqJeZvqs4ViGF4jt8LIlOqqvy/81jPvWbVt4GMNm6tFB8Xyp4KlXi2HuKArw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g03/+5n82cWsivO2bzntOum8YMFLFr1mwYPXGPWHrtw=;
 b=UiAQ+rQTiv3G/5CznajYmQqUEApC2oZ2+rPWAF276iHkD0MYWVxWZ7rWwrP3ayxYuSQqg1AejAFHaEsq19SyyIIfIMSI8AbIcLHC8iOuJDQclsixqADbHbTsGjcbQzaK6QoCPb66xIBI0utU3Ll+2us8yalUENdp84TzUfwE37YJ0kRE4tbaGYr1OF/6aMwNYcvdx6h589WENNOHfSerJFK13DTVIXFQqks3TYTXqKsRo2HiEWhKAftI2BD3wpztHPN9vd+WHtCpbl72ae6MKCKZdfvK3WcS0fkzlsC8uWdjp+NN5ZmbmK+IUHnW4wCeATLqQ2tL0OPgq24yT/tXaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <264a97c5-d25f-1c2c-9336-4b5744331a6c@suse.com>
Date: Mon, 7 Aug 2023 16:22:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 01/13] AMD/IOMMU: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <2af1f76d2c002dd9f0b01eebf7af516d86bfe91e.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031740180.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031740180.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8824:EE_
X-MS-Office365-Filtering-Correlation-Id: b3d91cde-94f7-41ae-4e46-08db9751ac26
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ky7FnBrGhLbxj2kVRsPB4xKJ28vE3w1tXhKR9HPNP9WaG8ZDaNCbaswQra0flaaXmAGpkuZOqT1eoVfJrW/Xllkd3tLZGPNppuFey/Kw2DFSbnm7zkr1/BwsZeFTD7Sq2aN7nL1KZyP9S7c6NwGlyHlCJu/UCSbGXpARA1No4bIPSKYYUibFKpoVNWDyUDjsB5pEwYWSJk+NqeA4wBuqhTq4pzyIkkdOT17HhGRuY95l8fB4ZygxaVWQKvnYczlYMOfeWlsyFpyDwB3+G8pR1HBxvOCQhmhMB9RY6h0g0hOFtSvtKSrkUG2Bh8iXZ9tkHez41S2rYoMOSqlqK035OSAgqMEo5QdRVp6THY+72cEMBPebxng1oZ96qzy0yo/I8WrfH3mzE2LyUaXHLk70bnzMalRpmaF1YSkH15XmNJIeVTEpQ/95PjhJlIGnagm5JXX85crR3bBX+Dmrb5blU1htwBKEvUvXTtmoxkIxXlDB+d8jYwc/i0JdlzofYZhH75WJtRbJ6fzeAivxhdg+X8T2fPmhrWbloAeyVSCgJCmQv7RxrYHrPL6Euxy+07wPHublauaCexoV0asnJVFIAi2RHU9c90EJclIRBm/eRW3IXzwPZ5Ght9UDgP+ucHRvaaBpQtV8n9TNWSaPBhjdZg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(6916009)(86362001)(478600001)(54906003)(38100700002)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(4744005)(2906002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a01IaU84Y3lNRHcwTjBvMjBmeks3cGtmb1I5OTNkbkI2U1FhbGZKaEh4WjIr?=
 =?utf-8?B?QkMxenVNdkRiTXkzdTlkZXZzejJ6aXVxMytvc25KZi9HRERiY0RFcSt1THhy?=
 =?utf-8?B?QVdiM0NJb2gyejMvREtVMGlnNll2WkdhK000SmgrRkZNOTM4YlB5TFNqMDN0?=
 =?utf-8?B?Vm9hOExCbzU2NVU4UDRpUWVMTElRZ04raE1YbVloZCt6UUtoalhxYWViOXFP?=
 =?utf-8?B?NzZVZk0vZFRVTC9wUVZXdDFZdFpKZnpSb0lnT1R0Mk5yWlZiUkdDVmExV0cz?=
 =?utf-8?B?eEc5ZVE4TWVKM0I0enN0d0x3UUhyMUJ3MEtHcXF1YlErcFJtMjJaY2ozSXRD?=
 =?utf-8?B?M1dZUGEyTFJCUnF4SUl0RjJmRGZmekxKTVpOamNoSERLNEJSbG5kOG1DdmxT?=
 =?utf-8?B?Y3FTNHpKT2NlRmRRWUFNYVRvamNuaVVvTGJodVlqcVRRcXdtU0hzQUZKQUJs?=
 =?utf-8?B?SGhIU0tTTmZRcExLN01SY1dyZFFpS2ZqK3dpSmNXNzZHL3pDS3l4djJOSmFM?=
 =?utf-8?B?ai93RDQ4aXhBL0pON09XWHhkTFJ6QnRyQlVkcDEvSUtrV2JvK3JrcEZsblRP?=
 =?utf-8?B?T1BRMm9PV201Mk1Yc0JPTWdMaWFJYmp2RS9FL0RjU21Pb2w4RlpYMlRIeHhn?=
 =?utf-8?B?ME9WS1hZK2JNTEw1bmVBNW5iUHlqSWxrU0c3Z2s2SHJLcUlWU29jdEd4OUF0?=
 =?utf-8?B?YksvcnZoSjlQblVBSUJWY2tmdng5Zk1mMThaZ0JOTkg1YmRXTU42T3JRY3lp?=
 =?utf-8?B?YVZpN3ovYWp1TFJlb252ZkY5Y0swZ083bmxsOGh6M3RYTTZ6NnhLaVJQMndC?=
 =?utf-8?B?blNWeUN6bTZwTlYzTkI2TTlBK25FV1NXRlBsWGJQNENvNE1naVgvYlJSbFM1?=
 =?utf-8?B?R3BlcDQyTnpHM1ZmalErMHNGc2Y4WmhPYU51K0Y4MElxelV6ZmdFQVBGZzJq?=
 =?utf-8?B?Y3FIQTUydXBUQ1IzeUZnUDVocVJLMUlkQThwakZ0c2hsQklWV1BRUUtTWHhX?=
 =?utf-8?B?MlZLWUVTYjNidUExdXgzeEJjZGQ5dGllWmVqRG1qWXlROGg1Q2N2ZGNDd0Ju?=
 =?utf-8?B?OHRnaFJzclJFR1RDV2txRDhkKzVLS1p3T2hJdGdMbzB3dHJnOHVUWFdFYS8w?=
 =?utf-8?B?NG9HQTgwWHFCV1Z3TjdPSTUwQzRDOWE5WW80UlJYT2F6WUx6aTdvR0swME5L?=
 =?utf-8?B?Smk0dW5WSkJEZUZaVCtNajBTc1ZSaEpvWm81OW9xQlBOZDdVOFBiMkNsSXMz?=
 =?utf-8?B?aG9xNXhjaVdRWkhwYWhWUXE1QTN2U1NWMGdTME1GVWxidEllR216QjJZRkp3?=
 =?utf-8?B?cE5TeU9RZ1M0ZmdvUFVYOGxscUloUlFzQjJkNldKcTlnY2JNeFFkdVRhRWhV?=
 =?utf-8?B?aTZNUkV2VE1sU1BuRG9qQ3FJZHdPbVA0ZksrTnFoc01UWU1MRGFPdmdna3Ix?=
 =?utf-8?B?Z1pNVHdla2ZoVFV2aEh4MWZTYnc2M1JaYlZFZ3hxQUdkMW5nTm9SazBIRU5Q?=
 =?utf-8?B?MGxTU0VaMjFYWGFXVUd0OE1zRUpBUkxMTEw0cU1kUXRENENOVGtGcDhkWUFV?=
 =?utf-8?B?UUNNUU5hOGgxUEhqeVhNS0tOdFJQMVEvSEtaVXJ4cWdKRk9yYUVXcGpDbVJ4?=
 =?utf-8?B?clpLaDRMbmNUckRtbHRoK1V4Mm1CSXlwQXBvbEVWNytQTlVCYU9MZHR1aUVI?=
 =?utf-8?B?bmdUZUhjd0FnOVl6UW1VNGZmUlVxZ2w3ZXluZ3V0ZTFSUHJSVU5uUk03ZGJ0?=
 =?utf-8?B?cTg3MENvMm1QMjF5QnRwSG9EaWJ6dHovdWw2c3h1TlVQcmVwc3JsYU5xS3hV?=
 =?utf-8?B?cENIaFd6QWN3dzBnQlVTYTE4OFIvYW1lejZyTHJrL3VtOEJrVWUwTkZOcEFt?=
 =?utf-8?B?L3phV0xyYlRCZ3c0V24vYVJEUXVHRDRIemx5Vm1TMG9IclNMZW1QemhtSjNC?=
 =?utf-8?B?ZmM3ZDRHd0NYNkVvZGFvQWtRSkYzbEsybkNXd0tFbzlqMUhzRWRBUVFEbEI0?=
 =?utf-8?B?bmMxeFc2NEx2dUpPbkJJSmpEY1ZXTFhYV2dlamg5SEp6TmZNNVdpaG4vSUdE?=
 =?utf-8?B?ejRiT01UWjNOcHhkaVhScmlGKzJpT0dUZmtXbnZwUHNiL0VtWVQ3RzU4SFl4?=
 =?utf-8?Q?oIktEcz5VV4d1yo1ELNxH2cqL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3d91cde-94f7-41ae-4e46-08db9751ac26
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:22:04.1094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MkBHoeVN/1ZbVNB7lxSZWNKSDyu+eyKi033GWIrZkxVCMBJlt09VWFNqEgE+JF+Zv5+lchRJtjJbKtBZKbXobQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8824

On 04.08.2023 02:40, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:22:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578534.906075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT183-000542-4i; Mon, 07 Aug 2023 14:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578534.906075; Mon, 07 Aug 2023 14:22:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT183-00053v-27; Mon, 07 Aug 2023 14:22:39 +0000
Received: by outflank-mailman (input) for mailman id 578534;
 Mon, 07 Aug 2023 14:22: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT182-00053Z-BY
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:22:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7d00::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbdc0ec9-352d-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:22:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8824.eurprd04.prod.outlook.com (2603:10a6:10:2e3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:22:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:22:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbdc0ec9-352d-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HZ8Y8H45FO3xMAqoBAQ1XNha897aK/O0xvXejXdarK18NrmsCk40/+pLi8dEOlLYrx3aWsGIdIdQ3pDUEzVscaIyp63vMGljMnidyDTPQKjW+r2GgrcIu91H8LX6H7U5n5iVHA5ARGWREbhUdHB/Gu2bj0gNHU9HvFLaWphWXUE9axR7sgqwk9ge23G4Q4H4RO+zFetfkmoipk8skYsH6SP1y+qOdHZy1Az/kp8ukvXu7V8b7dzZNbvYQxaF+J8JPB4N4iWbdWMlr6+Pqb94S26KAhlOVLj/TOkac5Du75El+elJx67hFk3QJZtWlO1yQx2eYBEg3yXiwu14jpgxng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wDlRfR4t0qica/Jj6xFprBqfVxFTz9UTLu70O+sA72M=;
 b=CCubH/tCxwy/+guABVb1Xq3l/hV7RV8s8g6rWQ4roMccyMkZMqh77dnU7BwJ7oEDIzSToXpqZFsTQ89w/M/pbJVeJLU4EZrww1LBdfG/AcprKGsrtFaI0IjCEsW3DTnGZCfR9nhZkNbFouQtnDWE1/cmPTf+vqz/BVK6OGKlXuA5BkkxnPD3bhan+Z34GjECapL2iYm11dqKAjKNbyS/kUUQ3J3TvpB5ds8fET6Xa6ffjpRsA6XviAnwJ6xWM8D0Aa341SI1YLOeE2tATv8RqZQHX+B/JLSvXuKVkBmyXUxgrJsw7MuHVwvw2ty5chOzExxrMIEngVnUixVzUAn8WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wDlRfR4t0qica/Jj6xFprBqfVxFTz9UTLu70O+sA72M=;
 b=a3emV82FGh2NiIyXTd+h0+PuTN3Fea6/w37FbulLjtjVnsL/ti+vLRCjUSyJMpIC01sE7VdbQPPxNNMup0Fzy/wqQfW+hSuZoS2OtYtBS2P6koSk7r3vsxp6Io5G8KGdEgD1s+KVBAi3RxUN3kBLjZhPcUH73plqnySfPpMUwx9pMUqA7HYk19eWILIg5lAVC+fLcxGU2vzhGWAyPlD7SkIni6ne9BvFarhnmWuu1z84t+UAxXqPQyWotOYAT+iL4Jud/psoxScKRpbGRzCGMMznBjhlgtLwRZOpOTKW6xOH2HC7USjh03imcE+6zOKGhlVD8K4VLrf32dwKeVIDQA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f93413a-4752-c053-863e-43552f92b28c@suse.com>
Date: Mon, 7 Aug 2023 16:22:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 02/13] x86/svm: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <2779c3b2cbe27d95274a4ab44f6b9c877e59e8bc.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031742470.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031742470.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8824:EE_
X-MS-Office365-Filtering-Correlation-Id: 43ebd6dd-8b30-45e4-9e87-08db9751bf1b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5E8E1oQcLnHWl4+okfbhYEb8POVcmlgMWlfU4XaVHgVaetN7StZZGsYujdmL6+bv/EDJzwh5K08LmCdt9dqVFZzrhz874unC5808e6UNNIUnA7WwsTjsfu3Sp631ys9HqvUQzpxT819u+Kyz7URPzU2HALphcQPIvyP/G1c4CExqch5ooNkL8/+hiftJ+eLx6Oq5IiRKQSKfXKUKYtjkPRJLRyeDaqbnIBsk8lNrfmMN4a3EI9wYxehWSxskIiNXs/SE7RYYJddVda8BykkqnW+75PWoPenznJ9oVCpKv4v+2tENSWW/Ow81wIRncmzhEvuxTTBW7a2zq9rRPqZKYF3hVj1oEprLrEMjN9WHXRR+zOSJvFpAWoBLJrZNTU3JqIHE2MlkzQ+WqFzBdWD8O1/fPswdsTy8aVp24fAhlhj+x9pXdTQAUztuMmCB6Ze2nzWmKy3JDiOtfEabVJYyyXPjSI6jvxEXv5BGAD6BEtMvRXIKJYpVFcw6ZmYhH9/y47WeYwA1iua6mrzTnQ5rPl8UNFHXs/9D6yTR4TrW9qxk98YC7lgWm0rrnRx2rXMK0oRsvlLYOLzQfCEH4ervCn1NNvQhSO2qAw+DthKZiUg1IFmmrInQ/L92a+EgHZAn5sKRBSdwSuGkWc2lb9pUFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(6916009)(86362001)(478600001)(54906003)(38100700002)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(4744005)(2906002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUJOUk5Za3RRN3hoWUs0Q3ZCd0pXcHRMditSbTdpd1d1bXZFaEw0WmVXRHFo?=
 =?utf-8?B?dUszRm5XSXhRZDVucFc3SDh6Y3JZTHlrT2I5TFRrb2h0ci9rR3BLMm1mY1Za?=
 =?utf-8?B?QlJKZTVaOUFZTThPT2t0blNIbWxNeEprSlpXTnRXamUxYXFRK1l3WlVUU2N0?=
 =?utf-8?B?bktoellDT282ZVE3MmFrb1oyZjhEeGlGdE9JT1k2c0R6RjZLS21McnduUHdY?=
 =?utf-8?B?K3VOY0NNS0dQUFVUUmlYWmYyOG80MU1LS0xDdTJNUWtkcE9yVnpxRzYwVGMw?=
 =?utf-8?B?YnZXMTZQaWxHdHp2VnBkcnhROWY0RHh2dVFwQW9aVmgyQmpEQjJJeFpNOWlx?=
 =?utf-8?B?NWlqTlR0N2l1QTJkV05QRC8ydEVubHEvV01zTlMvOTJUMDZxMjBHcUUveWxn?=
 =?utf-8?B?bitnNzN0RVBPRXk4VWFIbWVEdUFtVEVyYjFQdzZ5dnVlbmxTQXhuTE5uZ0h4?=
 =?utf-8?B?TmNYRG1sWVAzNUVkeWt5dFJ6OTZOaVFsb1l5MjJ1Ny9jY0lyOHJlaVFORDY2?=
 =?utf-8?B?TTE2VkNzSlBSNmFvekRodHdyZk1FMnZwSEFndThKRnR4R1h5TGtuWXNIdnRq?=
 =?utf-8?B?U0R0bTg2dXVhNkdDeFpOR2hsNGtFWkdGUFY0a1luUVFOYXpPVFJXRVNIdDcy?=
 =?utf-8?B?UGg0RWhkM2JlTHZsK21BOHBmZEU3U2ZUSXlXeTZWNCtmeW8yS2VoK0VTb0tt?=
 =?utf-8?B?TEtQd25ZUXh6Sk45UW9jZ1B5RmpHSk9wVkdQaWJNRWZldXdqcGQvbVFVWEVK?=
 =?utf-8?B?c2VrWi91c3FMRVFLbXNTNGNmbmhEM0gvMU1KUzJWdE1iQWp5L2JRTHh0REdB?=
 =?utf-8?B?RmU2UFp3OTdkVWlHaElrV3ZZVkhtcURMZndMMWorMkNXSUpVNnNGZWtIMXBm?=
 =?utf-8?B?Z0tpVFNyZW1SNzR6d083S0FUQTBqdUZleHVRY0ZDdlBLNEFuZFd6ZXV2dzJU?=
 =?utf-8?B?L010dnFpTnQ5aThrNHdrdGw3bnFvZ1JhL29SN09ZV1JEYkxMNVZJbHlXWGth?=
 =?utf-8?B?UkhYYmU1MEtpeXRINmMyVDRwL0tZQzlIVENyV1pTOERkd2VvTVBrek8wUzEy?=
 =?utf-8?B?VTR4MlRnWXJZWGJNNG1US1Zqdmo3VEpOeld3UHpJaUFZM2RVMHBOMzFrV3JS?=
 =?utf-8?B?WmZqempVNll5V1dIeTArcFFkOUFsMU5Pa2RIUEJ6d2JaVVNSMFNnN3R1L2tw?=
 =?utf-8?B?cW16WVFCcnhkd1ZCcE9ZY0ZtVUlIa2lyMytDdGMzeGVVNnZ2cXR1ZlJsbng2?=
 =?utf-8?B?MXVlTmlCQXRmdEt1Z2JHYmVlcXVtZzkzdVN2bDNlQVpuQTV5azFkQitpV2ZM?=
 =?utf-8?B?WTN1L1BNYlpLKzNMRVNzbVRSQmtDRTd6bzdrVUc5L3E3VXFwQW9mZUJjdWZK?=
 =?utf-8?B?WGpsOCtUdFd2ajdQVEw1Q3ZDL3Z1T08yTzEzY3ZXckRuUnNURjhVU3VQMDBU?=
 =?utf-8?B?Z2liVVBoZmllVXlMZ2pqMlVkYWJrdGFyZEZybDkyQU1FNXVMWE5rTzJjcm9J?=
 =?utf-8?B?cU1xY3NHZ2hXVTUzeGZlSE9mUVVQYk56M1YzMjZBK0Q5ZGFqWTJOMXJJNEFn?=
 =?utf-8?B?bTc2NzRuekhZR0V6RkhDSFNDbnZZL3RENFF6NUxicExDOGZOTHNWNjFmZzh5?=
 =?utf-8?B?Y1g1Ti9FQzZlRmJZb0tlMlRnOUxIVzd5a0kxUmZocUZtQlJENTlITkJuTEhv?=
 =?utf-8?B?ZXhuRnZJWTFINktxdFJHUDlqYXlWaEorUHFhdmREWUJ5UHY0Z1kwY09yb3M5?=
 =?utf-8?B?VlMwbTdMR2F6WWJlOTEwdVVOb0xUZnYraTRtS3ZxWjkwZHMwZUFFTis1bVlB?=
 =?utf-8?B?TFhZdVdNQlViS0g0c3lXM3k3ZThTb3ZZODBLemRZUnVhVlYxMldrS0FMdW5s?=
 =?utf-8?B?bVFITGRhRkQ4dDVhazF6MVBIVG5TTEJEUmlIZmxGQkZKWGJuQWl2VllRNWkz?=
 =?utf-8?B?c0E2K1FqbHJHUVUxK29Mbk1RbFRwcEw3d004SlJac0pORDVvWUNVS2d2Smdv?=
 =?utf-8?B?cm43YXMyQ2xDajYwOTZDRnhYZHJCMXhJTzY1WUFiVVFOTWh1KzBUYXNZV3R5?=
 =?utf-8?B?OE9uM0lXRVg1cmJhY1pZOHdiM3JhNSt5REIyeWR2d0FvUjdJZmJWdU1LTFB5?=
 =?utf-8?Q?jJTWjV9lMmANkjSQpfINAW/yM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43ebd6dd-8b30-45e4-9e87-08db9751bf1b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:22:35.8805
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pAu/LLAiqmfiHBCz4v4Waf1Nl0s6ApOnTXe5OBK7yVT9LMrT+OnOCzQgLPXZfx1JPpo6ba5FT9jnRtvTrG7+9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8824

On 04.08.2023 02:42, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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




From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:23:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:23:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578540.906086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT18t-0005dA-EZ; Mon, 07 Aug 2023 14:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578540.906086; Mon, 07 Aug 2023 14:23:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT18t-0005d3-BC; Mon, 07 Aug 2023 14:23:31 +0000
Received: by outflank-mailman (input) for mailman id 578540;
 Mon, 07 Aug 2023 14:23:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT18s-0004Yf-FU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:23:30 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa26334a-352d-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:23:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8824.eurprd04.prod.outlook.com (2603:10a6:10:2e3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:23:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:23:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa26334a-352d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VPGO/U7DCfxzGQWEvpKfdkQQPs5aXdBDA8qtX6VKEUTzjz5iihamchD0Walj6UTMm4Mp8LJ9qfYJALNoFnnXGjuXUM+ohHg7V682UHxYeI7jSsC8pMhJ8yPngjrj2g11tdNk9YZlb/tt/gqbnBbMuqWVg89hWoWCSiXOwl4jBxYRJXp0INAFr4HDySYfunk7uJeE+1sWaHz1Erof0fZaaEDWxqSg96ctKDPHMOnAW1d6V+1l1zIfxh1lFK9Q67u/k7hCiIiREHhAZt521+F3TJ4QBtXWEHanEsj9TOhx6tQ819CFzssyqBnxCGS8U10Pqgc/agCZ4eiE2LJl1SX43g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bi96kP+sbkDN6qlYvnPoiux1MtkQDCwocjDaI8mNUdE=;
 b=YrY2fO+DUQH+qlD0NEwnPi6NckVNHbWaJO+KTu2XAcVZYVEzWD7m7axOztxQB3pvNZmJq02wbPz1yPgH1LLN56fQ4vYfkMZrLsKhmnbyQeKYnxmcAuXc4eK35MrCBvbRg+0k1y0XRtnbKQ3WSyktl+TOBd674iznqyZu/DV7DNOWqfNjyd+avftwJZkpnvsGklPK28eKZ7kTOKvBe7yBPUozL0BjG/3sEOluFBlut1RLZ3W2D+QR840lRLkPhyBr7pEoGL8GLNHFb4xGnuJSSrCqIMQMztYFLXmNXl0XBmwADkEUgWgigDojcv5k1TQKrsWajEyMi2OzsWIXUCXUgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bi96kP+sbkDN6qlYvnPoiux1MtkQDCwocjDaI8mNUdE=;
 b=p/BV17e2+oWb4SlIb0m2Y1b/YHc4hFbVtUB5Nly2IjSfomJHJgvD5XPJjjkE7MC97+kgkWJACgTeOm/mZZo39wRGz+jEzSuO/vj2A8dYtlqPP5v6zSKMyqD+vkQKXzBzozSJhKRyEpanpYd57gFX2n4z9HvLnEdJXVOeOkj5ysgp3EbxtJkTM40ACDG7PbLURJrvH0SeF2C8vqj94naalrdUvEAceJqjmHWAmLK84nTOFls9v6FwjJItcNZ2S+3j3LH6eMCzjeDyOEAjD0OqMHC+7qkTvTesoyC5rWVDhYOq7BibktK+FumPsioUfZGYTTtoRsuwKr1Hu0yW+Xgf6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5d2791bc-4f84-5143-2c17-55586e424da9@suse.com>
Date: Mon, 7 Aug 2023 16:23:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 04/13] x86/IOMMU: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <ba2605e168cb65ca7f2e4fcc6b957b5ae0b3062a.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031745140.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031745140.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8824:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ffa08fd-d872-4998-cb67-08db9751dd7d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CcA4hgImqimBGYUSp43z3h33nVcagLvQGM/L1qTw3tMLWHf/r33I5Zj/eKv5HCIGsPgt6nA9i/bKrAka24UlCYHLtllQ4gRzsKjEkxJNR0f+PIHPPDElMeQ4H2nb9kOiQorBDsXbsOQhh7x4Zw0xmaQqKpOgJkXN+lN9TpIuaxL3DNmjaZxowSr/sbCzYARVhY+XgD0yP6DxopIFZopt6FlXyREQ4eeYhJfeK7rFfBNttTYepC74VGAmY8KbuiBr6ZyvDtjN24uOjapgvamce7xUcumuHJlpDrJBFsYDYKluTcZUXfVZ2kn1eVtPdJoDHE4DrZi9X2TGwrwsWCx1WdqP6UB9P3R2dl66yQQBWei/dHYIU7Dl2toDS/YlL3T1MxBE+B6YTLVSgh0LGEl14dd+PXc3FuShGYpvFyM9KAayAS5m1n1D34HIvKtbfCJ/lYJz/b9pjAE8aeeKaVhVhaiI/kv9OHM7V3fK+TR5KF465XjHM1n+FfPWBE8695Xg5CryqxZkuL8xUdQjz46C26e20Jx0OxVDjXO5DeeNNGoN4iujGjjTATNVOjdJS+81MkXixd+rhkDsainWur10T9bOuhywlBHNxJLh2S/5g0BsWdhYy4QxsNAOxcRiYhD+eEQuaByTAE9v7lLIqxHd+A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(6916009)(86362001)(478600001)(54906003)(38100700002)(66946007)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(4744005)(2906002)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZjA5cCtCV1ZYb3czaHpYbnlhbDBBVTdTOElvUDNlRWdyZTFRakIxbmd5RlFn?=
 =?utf-8?B?QnFod0V6WjFMNTdiNDFoMmRDRHV2SzBnWGVoT2swbHFaQmltcVlQRTB2d2tM?=
 =?utf-8?B?MkxUWDhPUFg0dzZmVnplNHhOTW1aK0NaWVdOUzFBZGVFc0N0MFR5YlpDM0Rx?=
 =?utf-8?B?Y2RzMlVsV0FnYXdOV2c1RWI1R05nY1FDOWJCbFVyRTV3cGpid1R6UjkrM0ZG?=
 =?utf-8?B?ekczZlVEUUdFdlNXRGsrKzFuZ1NOanJsdmxwNmhtbXgwZHhubnFrY3FYWXI0?=
 =?utf-8?B?ZSsxZlIwaGUraVVKTEZxSkYrb2NCckdqYmY2K0IrVnRIR3FqbGVxY2JzSmE0?=
 =?utf-8?B?aHNpMm1DM0pXNjJqSFB6ZmFBRE1pSHI3amhKbGZVcUNBd091bU9nS3JSNzF1?=
 =?utf-8?B?YnNFano3dVROam9wakI5NS9PQkkwb1BtSnpmendQZGFTQmt6RVF6RlYwZmxL?=
 =?utf-8?B?S2h0Zjk1UXJVWUlDOWc3V1VNbXZZNCtQOGg2OHo2ejdpcEVGWld2Mml6VGlG?=
 =?utf-8?B?UisrYVVoME9Zc2RMN09OZVAwZzNaWVRuZkUzTmhPLzBnSkhMaHYwOFAzbG02?=
 =?utf-8?B?S2ZKeXN2dXhiZEJmTWdtZGZWTmJ3TDY5MUN2UExlR0VjQkdTdGVWVnVnYldi?=
 =?utf-8?B?WllzbFd2VDNXUGhVb0JRTDYrOUI4ODMxeUp0VXVObFJUUkhZNUFTNzlpY3Bn?=
 =?utf-8?B?R1BrZDEwZStxK1YyQVdtdnkvVU5JUmg0QTczbnhRREJia1k5RDVPMk9WZmNl?=
 =?utf-8?B?UGozSUN3bjJWKzRXaTF5UWd4RDlhZkhiaDJ0NWFqNm4rbEpFekw5Rk5QaGVZ?=
 =?utf-8?B?citWMk5WRzVvVWU2dnJBL0ZxOUlsckd1ZFZjWmdIbVc5UWliVUNhd3ZQb3Ri?=
 =?utf-8?B?eW5NNitOckY2VTNmc0lSTXA3Zm5CQmY4d3pqcURvMk1YNVYrSXRsWXl1VzRB?=
 =?utf-8?B?QUExczRwVU9BejNEOW9iVnhOZmt4UVB2MmZtQlIwZ3ZmOEtudEMyYnZFQ0c4?=
 =?utf-8?B?MVNvR1NNYTFJWWdNaTgzOGJPdjdjVDhZSEFoUWFOQlVwb0ovK1NHRjlMcjlh?=
 =?utf-8?B?V2ZqZEhTU1J1ZHNjV3JyeERybytrWW5McXBIV1VTV1ZJcGdYSW5zejRiVUM4?=
 =?utf-8?B?eUwydGNvRHdEazdDL0s2WElqYVY4dWlzVVFUNDZja2FwWldmZ0xjWmR6YW1L?=
 =?utf-8?B?NU16MlRGT0lXclplWHlvTEFtZWdZb0pQNUtCWnU4VTlRV0FDNndlZmc1Y0Vw?=
 =?utf-8?B?eGlNaHFBMkQwcmwxSStjcllFLzJNRmZ6TUpQNXZWM0ZpcXdqcXVYMWdzVU1N?=
 =?utf-8?B?bkpHUXIvcHR6OHA3S3BWRENBT05jeW1rWXBoT1c0RFZsRGoxblhueGw5Q2hK?=
 =?utf-8?B?QnU5c0NmWXJqakRJMGlSVUdWaktZN2ZxWjlLdUFGTWFZTjlxREhYTVZsK1JH?=
 =?utf-8?B?Mmt0QzhuYTFkTHJzT2QySkxmNnZjbC9EV2RFa1NvMnV5WVhnZVpYeDMwM2dF?=
 =?utf-8?B?TkUyODgyNlNkUnErUi9aWUFFL3ZpWjh4WHRiRXdwQjRvUmttVGRacE1udnh4?=
 =?utf-8?B?a3dvZUIwQ1c5UEF2c3NqY0tWTDNyVFczMm1NMHU0NEo1cytWcCt4R1NLSjdF?=
 =?utf-8?B?QzlncVVtMjFvRWs4OHVPQnBUNHB1a2hMTWUva0kvZmdNb1BSU3JDMUM0WTE1?=
 =?utf-8?B?b3FaQ1VLaDZYSXE5cGJYQUs4QWNmMWFkOUlSSWlydEdVYzdFOURsT0FOU3d6?=
 =?utf-8?B?L2M0MVZyVFdMbHJYRy9tRittdUdUYitPblcxaE4xK2ZobVlpL1NucVVHZnV6?=
 =?utf-8?B?WWczOXlKYkg5bmVNTUd2RitMVWMraC8zcXRuTWpDdzhPV1BzYUprR0NzbitT?=
 =?utf-8?B?UjVSRVFhUDJkL0Q2L0xsdlFqcWdTTVVrUWFwSW04N0NQYmpkN0FnUnNYNXhy?=
 =?utf-8?B?amlndGxXMEFpZk9rUk5FRVdvSFhKNmplbXNMYnBlSkJKY0dmaUluV0o1WHpm?=
 =?utf-8?B?aVR2YzZMamFnQzBDbHRvTmRVODFRUnRnYnAxVmJGVHB2M0pTR0puVGYySDh5?=
 =?utf-8?B?NmFpZjhxM2tPS1QwZUZJMXh0STc5dWtDeGgvVytCbUZVbVM1azdHTjZjWWI5?=
 =?utf-8?Q?vWdFd/oYBMxzq9RRplotGAtW9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ffa08fd-d872-4998-cb67-08db9751dd7d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:23:26.8345
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AzwsnWSqiFo5K/1+must17yHziER5WgxBMhma9D3TfgRkagdZ1Oq7uFlZnDSjA7ZMaXD9D5ltfDG7g2MtGIgtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8824

On 04.08.2023 02:45, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca	Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:24:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578546.906096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT19q-0006GF-Qe; Mon, 07 Aug 2023 14:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578546.906096; Mon, 07 Aug 2023 14:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT19q-0006G8-Nt; Mon, 07 Aug 2023 14:24:30 +0000
Received: by outflank-mailman (input) for mailman id 578546;
 Mon, 07 Aug 2023 14:24:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT19p-0006Fh-F4
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:24:29 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e03de12-352e-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:24:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8539.eurprd04.prod.outlook.com (2603:10a6:20b:436::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:24:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:24:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e03de12-352e-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IbyqkvswKnoDUqzWnT/sumGeFr4CVpKZL2RkGKts7lDZvY5Bp9BLkwpV8wb1O1BCNvUwDhNpYFxGlKrsGvPh8nL6FkZfLlpzfjajQHhuGSqBvZ9fYs/6QNQHs4W1cDLBsVolKO5yTStJWYavmHFrjAOw8nAuCQ8NIb51Kg3DPLpYi7sGGQrfMm3qC/VPID2e/397k1CDDA1IapvmyDB1JoJ/NPHruzZCauIOLjM61/4ce8+UeY0DXNjbmEZaLAwk9lYQJHK1DaF6X5KOKA/sy2MhsL4Xr5bRSaCKqDeXAv4crZa6bjPYKwdjDXnhTya9B+uLUrHSzQdU60LGtQrdbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8s7gRyVrlY4vsjeMo+M0/WXO6g2vfdu2H0vWGZButmw=;
 b=VPXkF5BtUaYZeBpqWzp7J+Lob+FOjl06bzOehhChbSKJZCna02ixHiSXz26a7MWuUgeUwVNrivxk0P/jQptiQaaYjFtk7rvaf0kHwQvXTeR8jcbMHV3kGbtLKn1wJCMTeHBaTFnLEZcm09KjvxH+bHuUSktMLKfvNsQQyzZuo9SHGeJjkVOCxveBA/fHwiCv7FTES+D5PcBoxljsWtdD0dYWQq8NXUH4qMpVGumEmf4vKGS2PS0Dv8fufLPm+657UYQdYeGffYEjgoMiPi2AgI+t7hdodETbmmtBzl8YJtiZSyCkIRXh2rRQCCe+Rdw51xLMEBv6c5z+DAAM1TbwmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8s7gRyVrlY4vsjeMo+M0/WXO6g2vfdu2H0vWGZButmw=;
 b=brEwTwcVDGuX+CP1bHxD8A3y1u5oIUjJDne+qrmjohENOGa0VUrS1Qz1i/84l5VgSbuIfbtGXH/sjvMCMqZFknHvHs+uU8jzeK0+a0W+gUPex2+aOYQiju6w2UK+0BjODCLny3ZpxtatFImimsrX8wW1/gGobypXbHk4U2M3QpUKN5BLjZ9qLacGEqBicmMyC/99uJYhnFWUxTHKAjf6FCIVXGbXPI8PPWixsdHzqRG2moNQLXHtW3FDTQZb6Ib03Uba2DTr5OnulL6F+zwh+zUkBnjMSnIIYTmkXnYRtHaMCkTw06jp7cimkRMeHGRTki43PRtYj+whAXhlxa+ZLg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1d6b1c5-bd01-cfc0-e507-30ea6e07f307@suse.com>
Date: Mon, 7 Aug 2023 16:24:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 08/13] xen/hvm: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <d1be6a0bad7e5cd6277a7b258a1fa70e58a68140.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031749170.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031749170.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0079.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8539:EE_
X-MS-Office365-Filtering-Correlation-Id: c98aa827-0a1e-4bff-a85e-08db975200dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JputIuBYLa+oNtPu5fHn6K+G7AkHqjPHzdKeaLs+Q9MsQunCqtrM4VCNyrxmbZznNb9wAmWH/TZrYKy1rYa5RCo91BVfWYJ5SqZHY78LpeUieO8pjRfqsvb1jejRE9rSKVb7cd3eys5YaMqrO+V0o41KQS5c2rZEZE1nJ9qrpdx8hT+a2qwpLWiJZvCBLkaP73IbzSzoas9yaJZknqLbykbs31WFNxXZvLsARPNoC57HGSzKzrkBh7GPFO2nWStzCSwVKdAx9BSfgzc36WPPKSI1xE5drZes4i1A32U2P5IcoNZnKB1oWZ8jXD6q8PMwrE2tozkkqNGo0A22IJivYY6QPs2IEJ8ZVwpvmn66DiTF6yatQKLmIFmvyXinoLSIrLWQovebTss+I3/XxWQKC5AB2xxbfvptcD6gVOGyQi5jCqWTHu65WPynjLlsg+p2UOvaK1fapWqHgr7+LtvVfwTCBergMvQ9nVqL2FPQ+IsqipePrfpDsgu24eSgDODh667CzRqpzUpOOZupiRwV7jRTNUUzi94u9ap0pualFqXGypo9JpXQYfykY2V+aeUAp2Q1oOWRN00TlpwqY3jUUw7NzYkoAJF82vPQcNoE42/7mEUqa0NxTp6Bhfdwyls93/cfdsEsjqzKEZ2AAyq/VQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(31696002)(4744005)(4326008)(2906002)(6916009)(66556008)(66476007)(41300700001)(66946007)(8676002)(316002)(8936002)(478600001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmlLMzNtYVJaUzRCS0JDTVNTZCtMN1BUZG05N3RyVVZYZVZqK1hlNUJzZmds?=
 =?utf-8?B?M3dHVWd2TnZ4M2Q3U1dYenFzbkJoZ05iSWM4Vk8zWCtQY0VYeld0NVdjL1JK?=
 =?utf-8?B?SXdWT2NvNExONDNaOWhOYUlwSGRXMEE0d0QxQ3QvTnlWdGVHbkpwUDYwV1Iz?=
 =?utf-8?B?UkRLTy9vT25OTWwvZS92TVVkUlloVFhCSEkzOUVuVlRJanFQa0hOQ0RidVFG?=
 =?utf-8?B?WmJNQXZWN0FsSVArWlU0Yy9nV0FCeDNYNDkvN3ZFQ0t0TmVzZzMwYklZZTVU?=
 =?utf-8?B?RmM2clp6ZGxvTDBmTEp4aWYrMXhEMFowcnpudnlFNTRtd1RVYTZGMkg0V3VK?=
 =?utf-8?B?R2VlaDlpc3plbWRyNTkwMktCOHFLMFE1a1M2SXhOS0IvNzJDQjhYL2E1YktN?=
 =?utf-8?B?cFF6c3puV2tFeUVuNnVqdlhjenU4TENKelVjZkF5Tm1tUVp4cWxCQUNhelZR?=
 =?utf-8?B?MDZkTGlqRmV3bUVzVlFKT0FBYUcrSW1aTkVZT2NleUFFMUlSZk9DaWhsRnI1?=
 =?utf-8?B?dUxDZkcvekg2ZUxyakh2RnQ5bWh1OEh6VjRlaENtUjRRVW5KWWJkYWdNNWdn?=
 =?utf-8?B?WEtEc3dzTTN6RnZKcnR2REJpZ2tldU5vZmYvZXF6dkltUzFmUXJrOUExaWJD?=
 =?utf-8?B?YkhzSjBaK2t3MTVkYVRMT2ZRRXp6TGhadFBGanhRTkdrZEVGYU5ITm00N01r?=
 =?utf-8?B?NTBDTlI1dUE0UWNvVlRjZFJXWmVMS0YrajgvZzdIek14SFNGUE8ydU90K3VW?=
 =?utf-8?B?TmZBVzdraEZodU1VRk1WdERMNVpIbWpJQ1R5eWVxcnR1VlJ1VmxJUnUrblJa?=
 =?utf-8?B?eUY4VTczTjF6cmVPcHRBZ3V3ZzYrRlBtR084b2tleDg2UktQVXRkU1dFOUpS?=
 =?utf-8?B?aTUvQTFPZGh2QThuUmpoN1RRK0FLejVoNVJOV0FoY2ZXbVJkZ0V3dDJMc08r?=
 =?utf-8?B?KzFmbm51OUdRTFRMQmRDRFl0NzlIUW13RnpNdXJGV1E1ZlJtVlViWWVrNzhr?=
 =?utf-8?B?dFpDYi9mSkFLazcxeURSVmIyYnlKUGlLNW9ZdEtEeHhDcDNtYS8wR0llRjlL?=
 =?utf-8?B?VlZPWmNVeDlObzgrQXZ3ekoxdHI4TEkvWE9BQmppWlQ5TzNLSkxVN3VNSFRz?=
 =?utf-8?B?TU9HMWQwLytnVTV5VjBWb2ppWDBnVjNBallaNCt2eU1IaGUyaGdBQWhRcUNF?=
 =?utf-8?B?SHhDWnp4Q0FGMHlobVBrRmIvZm0wOXc1OUVLd2Y3V1pYTzBzSGlMV2JROXFP?=
 =?utf-8?B?K05nZDBkSzBEdng5MUxqZHNLUkc4OHgzeVJ2d1NsclR3TUhJOTYrenRYbGlx?=
 =?utf-8?B?SFdrZE1POElJcXJLRUxUZzF1eG8xZnEvSUdMUUpSc2x2bXE3UkpzSHg3Y2s4?=
 =?utf-8?B?ZlN0dFpaRGNsbGFkRWJnWld6MUd4UDd4Q2Fra01pb1ZkQnNRV3FkQWVmekkv?=
 =?utf-8?B?R2V2Mm1Fc1RxOTlJWXJDMkpTd1NjU3ZtSjN0SXg2dmMzVHdybDR0QTRCMnVL?=
 =?utf-8?B?MFBPSGNqZ2xaQWdFVklNZ3VPQ0JQVlN1RUZRVlczL1p5NG96N0hLODBVNXEr?=
 =?utf-8?B?eDA1TWRveTNtZGRtTTdMcEdHWTJGdHdrR0g2Y2VzWFpnT2p3ZXJtdHNaNEMy?=
 =?utf-8?B?MHpnVjQ1WEVxbSszd3Q4TFRPV2ZZS2tTOTBhdlBicW90Y3M3cmVNKy9uTTk3?=
 =?utf-8?B?a0lnL3lKYm1MTXowRkxxSjBjUlk1cTRYSlhTdWxJNTJiNlg4NGRBU1JhWHlx?=
 =?utf-8?B?Tmx6WUVQejJjZ0tPVWs5NUUzam1RcC9RNWVRR01pQmd2WHIrQjBDZkgzWXJE?=
 =?utf-8?B?ZG1iSFVITXhpZVZhU0Z5Q3lFZ1QvNDh6dGlCT1VGeU00QkJJOUNPYy8zQWRS?=
 =?utf-8?B?Qzhtd0lhZVFVaDlEZmNNN3F3ajZsdHNya1k3cmRVSXFMbmVBWVFaNW9OT3Zj?=
 =?utf-8?B?alhYVVJCdExQZGk4azliUlg0T1hjU1hXQ0dZWnYwN1lwcVRvZnJTWUhIeC9C?=
 =?utf-8?B?WkYrcS90MVlJUTh5eHNnNFV1MnhjZ2poNmJkcEczWW51M0RhalpybFdHYlNq?=
 =?utf-8?B?enRmNVpFTnVSd3dNaXdXZVNOQ0xmZGtiZkZTTW5yaTNvaDB2aWxHZ1NSdzFF?=
 =?utf-8?Q?idOtWRTwsEnjeGz2cS05uP1zP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c98aa827-0a1e-4bff-a85e-08db975200dd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:24:26.2029
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3abpDvEer+NFK5Bk6DqlxgR4c4AZvvhLZZY+a+ozBQTfSe5d8E7VOPqT4ciAaObZPf60AFc6BXUkytweqHNkrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8539

On 04.08.2023 02:50, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:25:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578553.906105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1BH-0006tO-4l; Mon, 07 Aug 2023 14:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578553.906105; Mon, 07 Aug 2023 14:25:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1BH-0006tH-27; Mon, 07 Aug 2023 14:25:59 +0000
Received: by outflank-mailman (input) for mailman id 578553;
 Mon, 07 Aug 2023 14:25: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1BF-0006tB-Ds
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:25:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51bd8641-352e-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:25:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8539.eurprd04.prod.outlook.com (2603:10a6:20b:436::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:25:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14: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: 51bd8641-352e-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gP9+joZXbrzJgAqEuKf0Xo9g4QttSoErOds4xs8vgx5MKlDhBHaQutnZqZy7C3jXyXXdEUuclfjFqvXfLxAQMcdLpgwhEbvLrSrBOHEkHF492ytM8a1r1P3mPnyVu+QvdwwQ9CyZ1g9J7Vllyag4Y5ymJYqaYJlme7wLNti0wyfw6uaECOmsiXNFqDB5JSabFnbFd8NtJjZKEuS8DqCgGGrcXbftwwRaN6sz7WvexQHXgd2uw90lzlVWDPN3QBAAw5YxIAn12QljG80AWp+vjtrQHfUlWesGiEqqB7Gw5rcd9SFksBcLN7KoKDlK+FSKvVG33rix0bhWwgvVLKjCrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=viu3A6uCd+gRMrLoACs3r11I80PqDQpbRn+Gb84+NIk=;
 b=KcZH/0R69JDNO70PvFZBN2C9qSJIyK/cJlOcQffNA6tUXdOwodv0/YuGLszsvDUf8QVD101TfOqHe9T60HKsj16ryLB+Bgg1CzybZJryvFFSbqXMxJPwgMOH15XsL95+fIxkHur9V43V3TkUriBC9ffkZ0543Ut87oSqYnOTWOsSwgKefF0mMw6uOBTBFvp/P9pXz3DuIOiluvm+NMsOiNiGfZ/uBlDsOgAMz/aEREtZOQe4uIpwKJVswkFRZG5wIMq2OGMbcFjnlWgCjp/YX7tZbG56aFyYsv/otSb+D0n6+0Z7H/oEPtpxjJOvh/XEdl1XXtbgcNs8z/l9DsX3qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=viu3A6uCd+gRMrLoACs3r11I80PqDQpbRn+Gb84+NIk=;
 b=i/yps21496ru9TcmLWD+aDjSiPZpJ137VPAq66zVdMldkTHQx2To9mEtDD1RgZYhv8gt3xi6M1jz9GhhBLMhOZjwwes8PX/sWyRGbInb1m8da6UVAqnSLvoFzbFvkaWTa0ioGiZaqUgiy45yHKvumewkmsyUIWx7jbEaThmreXyolIjE4oBfV7/QzHBHT7VqDTUnifxEC+8e19XML/lF6V9dsBSoPPiRhDot7m8vXB62VGBGzmWlfYenAhmwWdlIHXpwRbQrjb1HkKnC+8fwGwnWaQyiwWLHDuwFmDRanHvyiNcd4MiXayodftWd8SE+zyNVhOyc45s9o/dQwpNNbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <074a567d-5c34-83d9-2832-d9161d6b6254@suse.com>
Date: Mon, 7 Aug 2023 16:25:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 08/13] xen/hvm: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <d1be6a0bad7e5cd6277a7b258a1fa70e58a68140.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031749170.2127516@ubuntu-linux-20-04-desktop>
 <f1d6b1c5-bd01-cfc0-e507-30ea6e07f307@suse.com>
In-Reply-To: <f1d6b1c5-bd01-cfc0-e507-30ea6e07f307@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0224.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8539:EE_
X-MS-Office365-Filtering-Correlation-Id: f9a94581-f7a9-47d5-a3fd-08db9752352d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TILx1vTVnPCZ3Twol2d598Pc6IRev+RByZllQGDOWdSC1cZDDg0jv3xmMSfnZjyGj/slBgWyTFIuzid3qtoRvI2k+M3esIWCMWNwq7/uG/dRz1vwGu9iyHjNu65iQdUmf6baGlQwaQvFcpwT5agiP0n1vtpbb3Z14F5Ko37ev7p2ZcHYEza64oD0bv6WERNYI/B1seZULXJJuYlYB6vaGmLG+oqZXEvHIQrrdEdQd8c3KAdAn4Gi5l/djME3d7AOfl2Ikzw3YesbSteG00CRCHqesq47bqbVpx1sXpqJ3U1cJxjuJOrojzOA8BfD64itLq9hCPzStFA0lWXLtGSG5sdNL/3SGiyr7yaGcenDSrah/AbTNI8ygTTBQ5tNMB/DU0dtyOf4LyLW80JoGRYdO+Vjg/6Q/gdYBJSPuau+GD/OEQQJyZ5SPmXEU/FY8244UmT73+unzjMREs6A1SXgFzXNl4Mhs05EMfdD6GVs2+shc4v8FmHw5y/OxdcID1Ho37w2KMdk0iASVYml+j1rds35UblunWcqPYkke8IeIJHiAEGx2HJqbALSqmxyLCfqXzg23SHIj9tSnd+vI/lDxrw8cOp4KhEICBusiM/B/PtI5rWtCUTJcH9JhKhxvgpngIqiqn/Mbdtd0St4oLYlZw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(31696002)(4744005)(4326008)(2906002)(6916009)(66556008)(66476007)(41300700001)(66946007)(8676002)(316002)(8936002)(6666004)(478600001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGFNMUlkdFVEbDdrWEVEZHNCL3orL1NzcER6MjlmN1IrNGMvSmNIWmZyekFN?=
 =?utf-8?B?UHhwRW9TazFrWWgvYTIwUVJGMlVGWnJGeHRZcytWdkhwRWJRamJWbzVGQWhk?=
 =?utf-8?B?ZU1xZ3NWS1IxL0FuZ1FlbXhwazZHajkvQUE4ZDh5NUZrTlhWN2NoSW1CV1Zs?=
 =?utf-8?B?YXl1TzV4aDNwTzU2RXp5dWhLWDJqL0pmN2pURDAyNEdSMkdDTndFaW5CUS9E?=
 =?utf-8?B?bndROWxKZnlHVnJuWXZ6N0VyRC9UWkM0V3pmd2JCYzFtUmMvTWlQcXRLSlFW?=
 =?utf-8?B?U0x4WUpyMHVBQis2WTJNdXZoU1hyZXc1Q3BHbUNWWjRqMGRVSmU2VnVyaWhT?=
 =?utf-8?B?a21RT1FHNml3MHljMmFjSnR2NjRmcUF2c0lqb0JqVjJYOFZBK3lLS2wvOGFV?=
 =?utf-8?B?R3AzRndlckdnUFVYdldTWEw4YUdnZjRyS3MxSEhSNmx4Um5ES2psZ2toSEpN?=
 =?utf-8?B?cXIzdDg2VFowMEJJYTU2Y1puOHkrOEl5NkRmMUl1cnp4dmR5TXh4cmNjWGZq?=
 =?utf-8?B?Q29Lb3NycFRzbmgxRys1eDFyaGNaUnY4a2FIazNucDY2Zis1OG1hTWVvUUNL?=
 =?utf-8?B?TENHOHVoWlFzdlEySGRkMWJ6MllGSW1NQUtqdkwvMyt1azFwclJWeHpkb3FB?=
 =?utf-8?B?bjlNSTEwdnhhdzJqbzZBMXRXTmFvQXo3a1lKb3VhYlJZekJxamVqaDNmZzVC?=
 =?utf-8?B?MmxUSFlmUlRuUnJ6Q0xmcmNjbGdQc1JGZFIxUUhYek54TVZPekwzWkRWTkpu?=
 =?utf-8?B?VUxSQzZXR2pxUlBSVzgyUDc2MkRhN0hkSFY1TVBzbFo1c3hMMEEyRytEbDBp?=
 =?utf-8?B?L2V0VEUzY2I0bFdBekdVeGw1bFI0YU15ZXVzR2x2THNmQTd6N0MyK3V2V3dn?=
 =?utf-8?B?SEt5SUpnRGsxUE1meTQ1YXI0RHFtb2dLc1R5bEY4cHJnb2wwWlV1QTNBNC8y?=
 =?utf-8?B?NjNsS1l1MS9qa2RsYVoyUE5uZFNWSzlrb09HQ2RCcGE4a2lmRGlzMWV1cEk2?=
 =?utf-8?B?MGJkRWN6bHQvRkx5TE13a2UzczVoTTNhemk3a09hYTN4bDJDSUpGVGdSQVMw?=
 =?utf-8?B?Z1kxSnhuczAxdlp6MG14RG1XVUtJcTZxckxGZkRFVzRycFVPVGdmUWd6NG9x?=
 =?utf-8?B?YklubDJiWVR2V1pMUmJBdGpGd1o0Nmt2UE05M3JmZm8wZ1d0L2s3NmZ2dWlT?=
 =?utf-8?B?SGltZDJZbHJMREs0NFBSbllqeHMvK0dqSG5ybmZzSys3Z0V4TjlNOUtPWjBV?=
 =?utf-8?B?aS9jdXllaGJ0QkxMRGQ4UFNPN0tnMitSVWVSTXFVRDdFTXdIVTBNbjZ2bldD?=
 =?utf-8?B?dVVtZlhIZmJQY2VGMWF1UXdnbnV5Rjg2WngrM1NEOGIrVU1PcERpaE1DblhT?=
 =?utf-8?B?Yk81dHB2QU8zRVo4ZUwxSlMvMnZOVThIUzZLbWRlRHFGSmh3L1NzSC8vSlBi?=
 =?utf-8?B?SGt6SEdZZ1lTQ0tjT3hNZUI3b3ZxTFJZeDhlWmh4Y3k5eHR4VU5UbjBmSUQ0?=
 =?utf-8?B?WTIzOFoyV2xrNWNPRm1LMC92L2I0T2RyVVk2eWIwMjBNUWg0WVVYK2RrSVZX?=
 =?utf-8?B?WUgvVFhqZ3BsNzNrQTBzcW13Zk1wQzVZMGRqZHkwZTFaLzhmcmUxRE5nNm5r?=
 =?utf-8?B?TGh3MU5sZzFlRnhuWU91WHNwS291bzdEcFh0djZXTWppeVM1d0p2eXdzV2cz?=
 =?utf-8?B?K3BjdWg5amJOd2FUYUliS2Y3Y1I2RFY0KzZZYTU4bURKMCtQOHZsMTNKc1d6?=
 =?utf-8?B?R0R3VDZPOWpCbWtTUStaays2QmNnZnFHTG9sT25Iby9pVWxiYXFyN1Iydjh2?=
 =?utf-8?B?L25CS0xqY1FxMVdibE5GTWRZMno1Qm1pbDhVYnluaXQ0RFhEUTIvTVNlTVJD?=
 =?utf-8?B?bWRNVTQ5bUZ0a1lWdVA2Ums3Vk1zTkVWbVpsTVF6Zjhpa2VabnlVTDdRZTNZ?=
 =?utf-8?B?NitLZUJHQllKeEtRQW91Rm0vS204eVRlRHRNMjlFTmgrVy9VaGFOM3pxNGNq?=
 =?utf-8?B?NnMzUEkvem16bzdjaE5abjBXSGs0emlYMmN0THFHYWFqNGRmNGxoYTVsU3Nl?=
 =?utf-8?B?Q1BSbURXcS9TcWkyR0tYWFA4TzY2N0x6VXVzdFFtM2NJQU9GRUdqaE1waDQ5?=
 =?utf-8?Q?PxfB9UlW8/Svvm9mbf9E356Tf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9a94581-f7a9-47d5-a3fd-08db9752352d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:25:53.9680
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KoFBSI5Mg+jjdMzLBybHf8tVxlJ0XUAAi+Pl+cPnA+dBCsykUx0ozcvYkvldXVSgEK2sxbJfnEcO9qLJLFDnZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8539

On 07.08.2023 16:24, Jan Beulich wrote:
> On 04.08.2023 02:50, Stefano Stabellini wrote:
>> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>>
>>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>>> states:
>>> "The lowercase character 'l' shall not be used in a literal suffix".
>>>
>>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>>
>>> The changes in this patch are mechanical.
>>>
>>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Actually - I'm sorry. I can't ack this. This needs an ack from Paul instead.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:26:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578559.906116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1CC-0007RG-Dq; Mon, 07 Aug 2023 14:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578559.906116; Mon, 07 Aug 2023 14:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1CC-0007R9-B4; Mon, 07 Aug 2023 14:26:56 +0000
Received: by outflank-mailman (input) for mailman id 578559;
 Mon, 07 Aug 2023 14:26:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1CB-0007Ol-7v
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:26:55 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 754e469f-352e-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 16:26:54 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8539.eurprd04.prod.outlook.com (2603:10a6:20b:436::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:26:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:26: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: 754e469f-352e-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DE4XC/8cIjxiV/GwJwTVnEacRbqaq1MJFwJDoq9hvsV+v100DqBS/lpsUOVQYxjFKZ4ZC+Dvn0E/JEW4xg+oNrhpcHvnmUtcAvhnD0zob6n44yoJQTytidssZYwr6fsy3klg7wD+LY12yPVxQsXJRbJxC5RtOCCwvJNJxlU8+co6/Gp60SZgyF99ouPPyJEbgfh5vvmF/ZOHBVcSSpX/lQkegtjVONr2DaCehaY8ZfEXIcqX+zh9tjctRa4v3a59JF6OgBnOmA6+OYFnsZJPLznMkeGr99FNcG+w63NWEcTnkAsKMtDf9C+0cmMxmA2kNjLt/ed9h8i/LTjK06gBLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sdnpZtp31egot6MdvjKnbtXivBcvxTTU9tvAR241fWM=;
 b=gq6+edGU809L5XOGlKnGYLtsKif1zAV/pSOE1RxXUH4CURQz1l6fmL/FZ0M89I2Aakhls4h70o8Pby5+1+SIECNq7+nQE2ky5L9b+21AEnn5MaWEHPWR2u621H52WQmwERrUSfJIf1tiXag96vR8VtuRxb7Hodfq8xdmM3igZQ9e9Ovr5288K8KF+yC7JoNTpOJIFMojY4lc2A+9RBNx26iq8mPiOXyT15FU5CC+6N0bq+5AqJ6M9Zmx63IYIGjeVYX6FdoNd36gdnWwWaJ9MgUrcRyJOzEgYqKkrNqYUeFdOhYlcnm+wjBhSqFKnnJ7QwEr7FNtvMovBuIAnFA85w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sdnpZtp31egot6MdvjKnbtXivBcvxTTU9tvAR241fWM=;
 b=35rR9XffCN01SI7KuYC+ElQNKSpgWk5PpMI8yaTLKFGZkX1SSGXfTxvSuHRBGqRIFQZPX51b7BTiSl5pOrYgq6KxqRm/Ugk5LEoJH9vz4Al31TNcRJ5JQdfcHNnnfLV/33lUa0JgQwu0h1+rdiflqFPbnA94h35AwXJjxTZjPTMhCUPJ4X/2F2uLV1E2pak3MBnDpLp4CEjRo1o/nquoAgobK952OyCuCzhPrcJ6qZGFytqVOTVRH/MoKXjZ0nY/PuZNqJIwVuzYpHzYXVmlMuUisEpOxDPJfyJZ3eXsuVEgtaOaz7MZgpCgyvZHm9wwV6nURDTLTO9z/aFfVDtxwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a61ba3a-1cd9-082f-bb3b-efff69da68d2@suse.com>
Date: Mon, 7 Aug 2023 16:26:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] x86/mm: address violations of MISRA C:2012 Rule
 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.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>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <feae9122f4fc761f24bed0d015f30849f52449bd.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031751360.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031751360.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0225.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8539:EE_
X-MS-Office365-Filtering-Correlation-Id: 4da9c6e9-c527-4a6e-3962-08db975258bd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+YAeY3HWXOA93aPPw/8Yib8opnwZS7aNZq/WEQ1O8VZBA5Uzgtnt8qBgdnJdlc4xWNP/afWJbD7VFlNBD2bktayHy7dLLaKJbQok7kb1rmi4/uzSPp8ndt1iyNyFfRvhSnQ/JwuD1m6MPXsMFOm1/iYlyx4bnR0DDI6/b07KMsWrm9O3jIq42MG0XiSGg0U9n0of4jgG0EeZDvsL2ePEmM5eDlITutyvSmC+bA55cnm8mfkxlmjidkEQW0Kx8Cx0SFGuDRb88aMheDSIFnOuzEc7CoQz4MB/f67hKA9hgWVXMadYhwSaRpE4+egb0XX3Flnn4OvKOnFnBKuzw8L0l3KjtRetsFS1tQP+mfPJsIqSKhqHdzS6S/bBqR6SSI/vK9NxC4fVLG/QxP6VncRwO5uFJpq+cIapf1ZZ5pAncW/d/oau+IX+UL+lrlqR+bwIbpycsgg/nSayT6EZWwSb2WyUfoGRSPP0Nx62KNMpMgOmZJKwVrHOEjyXDuSOqJSFbqEPeNdtIxRitY7L/G5/LeRIdtGfr/56e1jMRegfUbTqDYD+BgOCCCyknKiNrWXE5p44XZ5kY5qkHbSeZ3h6vddYLtnsbupJIWsZokCIQIEWRiv5UFqVvhOCSX9Ey+9BeLkcr/bE52keZSxLsqYeSA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(1800799003)(186006)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(31696002)(4744005)(4326008)(2906002)(6916009)(66556008)(66476007)(41300700001)(66946007)(8676002)(316002)(8936002)(478600001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?djVxUVI3TjVkcWYyUTk2b0NlWXlSclNhb09lTnpmaDF4TnBxa1hnUDlteVNj?=
 =?utf-8?B?MkxLVG1JNU9iRXZnTUFYa2VkVy9XM3NkSzdzL3R1U1pvc0xuWDB0MURtaVR4?=
 =?utf-8?B?dERZamlqa2RwY1Q3YW9tMUFwTmpvOWJJaW5XN2ZrWUtaTjY3QW4yc1BJVUlm?=
 =?utf-8?B?TXNFY25MVERMZStpQUs0K295Y25qeGs0SUorMktRUU9BRzFyTkFQK3lVYzIz?=
 =?utf-8?B?UWJubkJxYlhVdWZRdmJubzZSREppK1RxdnRCdVpQaURiOGZKb0ErV04xelA3?=
 =?utf-8?B?aG13RGdsdlV1clZJYmlteEdUbHV6L29zOUt6azBsQU90emxPRXp6L0hMYmxt?=
 =?utf-8?B?dEZDVEFyWkJNSUE3UVdEeVZMV3FqVVZyckJESSsxaGFmaEVidlFyRHRFOS9s?=
 =?utf-8?B?bXRsc0xxVUk3dS9yemRUWFpIeUZwNjhyM3ova1EwL2twMFNWMzl6MGxCWVlX?=
 =?utf-8?B?aGZ3ODF3NU1NRkN2N251NE5aUXJwYjBvenlFdUxXeWRSbktyaElwajdQSEVk?=
 =?utf-8?B?TXptMk5BZUNVdElRUk4wbnk2eSs2N1M4aDZwbVdtUmUyMThDSVBvbmMvc2RT?=
 =?utf-8?B?ZTl4eUJSVEgzdjE4bjhwcVFBanlmUlluUTZZdlhQRjZsU1MzR3RBOHFKQkZk?=
 =?utf-8?B?L2ZkVkVPV0plTVZ0SjZwYmd2NTFPbS8zN1JCNjZacUJsbVZkRmYwcWNFZktQ?=
 =?utf-8?B?LzZjYzFUMjVIRmdpU2R4Z0NwWGtNOUoxVHlVQ3dCV0Y0SllQdXNTZkg3QWN0?=
 =?utf-8?B?YU9WRkZyd2VtVzhCMmtmUnNDaFErTjBZSjMxT2pyTHNEMi8vY2dxYmg0VE9x?=
 =?utf-8?B?aXRObWxQR3V0Ym5jK2lKdWtYVHJUdlZ5dHQ2TTRYd2pmemhnaHdTZi96bEZG?=
 =?utf-8?B?ekRETFlBR0k4V3Z2NzZHUEFyWjlNTUtLNy9nNDd0Z3RFdkJaUkR2c0NQL0tX?=
 =?utf-8?B?eno4MXUyRmh5L2NOWUE1S2pZMzN1RzY0a0lJYzVvOUdPVDRUczI0YWc5S1FY?=
 =?utf-8?B?Ym13KzVLRHI1b2VlcWpQN1JxR290RTN0VlNyZnZ4WjlMaEZtb0lYMzg3VHAv?=
 =?utf-8?B?b0tsbzk4cWN2bk8ya0VDK1lMSERGenpLb1k5VmNORmk1dVdSdXJYSEUreVlZ?=
 =?utf-8?B?S3dGdmVIaGp6M3p1ck5ndWdtTWpENUFuQVBvTEZUblpEVXJZY04ycEFmUklR?=
 =?utf-8?B?UlpmdFhocTA2Z0RGL1BCdlJLNGtWV1NJU1JhSkd3MVdOR3NlVm13ckRiR2hu?=
 =?utf-8?B?enBqN3IzVnJQMTY1TXo5TUxJSDBDWHBVcnMzR0NuQXNzOFcrTXJWRFVmcmJw?=
 =?utf-8?B?Q0xFaWFxN0pueENoamxSU3JBMlVoVzhyTlExc3RJUENiZEpveitHclp6VVpX?=
 =?utf-8?B?b3BFK1hnc1lmeisyMzZWL2tBeWZlL3M4eTlUa3BmelA0UEZXSGdwT1VpUFl1?=
 =?utf-8?B?NEtidkFPeXJSVGJ3ZHAzM3RPZEYrUm9WNWxhaGtFaWJqbUxnU1lsL0JqNFNB?=
 =?utf-8?B?VUVBbWN5NENicEw2MlpUV0NCc0c2cXZtUFkzaHNZK2w3dnhORnhLbGNGam1x?=
 =?utf-8?B?dTBOcnplNC9rcGNhTGJqSlBaWERvWFRHTFhRd1JpVWJHNnhJYkgzcTZCOE5N?=
 =?utf-8?B?anJRSUdnb0pWWFpiL2VPVDlTclhCSytOTFRyYXZJVkpDR1FSYXo5UzRabnN0?=
 =?utf-8?B?YjJFWHBVSzJ1ZENHTjhrazBzRXhaazVvZFJ6akZQaGxlcVFBSmc2NDBDNEdv?=
 =?utf-8?B?SUROOGhyTmZXb09GbXF5ZWZoN2RzdkorQ2FCQXQvbEJDa0lsK2hNalVZd2lV?=
 =?utf-8?B?YU5wRlladnk0M3ZObG5qZ2hNbDVmVWd2Q2hTdVloMWQwSnlLL0xYTzh6ZTJn?=
 =?utf-8?B?b0dTaHhiTHlJZE9mMEJnbXFzb3VoQ2pyd1hnRlVnc2hWa0U2VVlqd3krbWIx?=
 =?utf-8?B?WGZDdnBObFZJQ3dpOUtjbVd0TE12emFQVDE2RC9oZlkrNktNcFBhRzhHREpK?=
 =?utf-8?B?SlRZK01BdkhXWG80S21EUDRHcnRFV0RWd0RVQkZRSWZBSTQySUo2QThuUndZ?=
 =?utf-8?B?alJnV0lSbjNOakVCQXBZK3lET0tZVzB5NHJzNXJOQWpOUU5QZUtiMDBWZVRt?=
 =?utf-8?Q?lvbyFryxwGg90X/MtGy3CSdlL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4da9c6e9-c527-4a6e-3962-08db975258bd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:26:53.6066
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zuOeOxYqBHmMocdToLekBgpSEiTWdqhRPGyc8KSART6HoQyok+ypPo3OmBavm4f6rTtBfvcjzFvPm+0xwYzFXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8539

On 04.08.2023 02:52, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:46:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:46:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578568.906126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1UW-0001jA-3z; Mon, 07 Aug 2023 14:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578568.906126; Mon, 07 Aug 2023 14:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1UW-0001j3-0m; Mon, 07 Aug 2023 14:45:52 +0000
Received: by outflank-mailman (input) for mailman id 578568;
 Mon, 07 Aug 2023 14:45: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qT1UU-0001ix-Jq
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:45:50 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 164a6fc0-3531-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:45:44 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.nyi.internal (Postfix) with ESMTP id 8A3955C0163;
 Mon,  7 Aug 2023 10:45:43 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Mon, 07 Aug 2023 10:45:43 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 10:45:41 -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: 164a6fc0-3531-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691419543; x=1691505943; bh=13KAJVRZS0lyDfttFufljOzKUjXfoyee0eD
	pd8LZa1s=; b=pxbUCzYsTJutG5RFN2n+HoWa4FaBDZ9Oc1j5ToNLWYMMDF9+M0Q
	9+EdD8Ry/lEpNKHbNFTG6G3sJE/Bg6n+7LMLW4tjubhXaiNGooXH3c0Dw0FbPl1c
	DQF+SXv03aBhAO2cRAsGpK/K1amhLcPn+7oNr2CCXMgkOFeqxElnn7Yse0Tr2yBt
	ZVnqDgNxlG0sfjEEntOsZTX7sfibFh1Mt38UDGnlrYvdcYDACNLA3iNOdAMc/r+z
	lTJi8dfZvyEtiTGMGsoK+RclnyoNIgeAbL3n6U/ft5vIIKAuKn0nQhfx//9KZiyK
	rsgr/4wnV9ZPA9gXOR/jbWBITS/Iedhh+Ng==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691419543; x=1691505943; bh=13KAJVRZS0lyD
	fttFufljOzKUjXfoyee0eDpd8LZa1s=; b=DVQoH9FgnC25GO0AKlPE/qGe5pzAB
	6AarpfQGfFeol+e3fGIeePr0kaqdGvSwfw6OeKZqAgh67acG69Pnbyl+r2i/+GXl
	gi/UzoDCCuDZiF7mgT+N6lAONu0TCrA9MKx5v0URD0vQ172glmMnMkZhFRilfOtm
	vbuRu580nmUzeJhmeSYT/lOiMC0immZKqhsnByN54bDMBXVnHrnEbFE4nIlErhgi
	0Y7GrL6iX8XR2aGBRPo7ZEiF1VzneFn/FHxQVeEiRHg5jkWdEFGmDRVi3/DojLKE
	Y8LzsFTOV3dbbEQgWxLzJUHpzwD3aGMO+T5x8+//VsuA5QL+IqQ9RNoIQ==
X-ME-Sender: <xms:lwPRZHXhbmkwtCbSZaVDoa2MSONP-fFf8KykJvkzcQ5frVlFlrppBA>
    <xme:lwPRZPk4lxg8y0lANy67nzKQJa4nxA3iHBKPbSg1o2j8tW0qH2jFVnPq79zeTyHOZ
    QwBlwcfSHXuS4M>
X-ME-Received: <xmr:lwPRZDZQf8BMOLHa3KHXgBkrjNtFeG4n_EAqqed0cUHyuSYGiU6moVaazA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpedvueekveegkeegtefftdfhgfehjeejgfetkeettddt
    jeegkeeivdelueevvdegkeenucffohhmrghinhepkhgvrhhnvghlrdhorhhgpdhuvghfih
    drohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhm
    pehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:lwPRZCUX8WIgpIawzb8NHiyyDjggPVOya7tdvQXEeeVK10-mg6ssqA>
    <xmx:lwPRZBnd0WPknTjDB5FI_-yNalgSMExkCPSXm5NxTOdJZ_PGdqSc4g>
    <xmx:lwPRZPc18g6jbGWLOEebMaoFLXS0B7B69lv5it6SwljxjYHf1THnDw>
    <xmx:lwPRZHjDGHhvZ453Etb4FmiF3v4MQlklD8m3nxwFm0ORGPCPd5A1Yg>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <80bae614-052e-0f90-cf13-0e5e4ed1a5cd@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 16:45:27 +0200
MIME-Version: 1.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dc4774u00hkvArK9z8mfi2to"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dc4774u00hkvArK9z8mfi2to
Content-Type: multipart/mixed; boundary="------------0aWoOdf9NvherbXim0P4ZODl";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <80bae614-052e-0f90-cf13-0e5e4ed1a5cd@invisiblethingslab.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
In-Reply-To: <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>

--------------0aWoOdf9NvherbXim0P4ZODl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Andrew Cooper:
> On 07/08/2023 10:38 am, Simon Gaiser wrote:
>> It seems some firmwares put dummy entries in the ACPI MADT table for n=
on
>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>> 0xff. Linux already has code to handle those cases both in
>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>> same check to Xen.
>>
>> Note that on some older (2nd gen Core i) laptop of mine I also saw dum=
my
>> entries with a valid APIC ID. Linux would still ignore those because
>> they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen
>> this check is only active for madt_revision >=3D 5. But since this ver=
sion
>> check seems to be intentionally I leave that alone.
>=20
> I recall there being a discussion over this, ultimately with the versio=
n
> check being removed.  IIRC it was a defacto standard used for a long
> time prior to actually getting written into the ACPI spec, so does exis=
t
> in practice in older MADTs.

So I noticed that the check in Linux is actually slightly different than
I thought. Since [3] it always considers the CPU usable if
ACPI_MADT_ENABLED is set. Otherwise it consider it only usable if
MADT revision >=3D 5 and ACPI_MADT_ONLINE_CAPABLE is set.

So I checked what the ACPI spec says:

Up to 6.2 Errata B [6] it only defines ACPI_MADT_ENABLE as:

    If zero, this processor is unusable, and the operating system
    support will not attempt to use it.

And the bit that later will be ACPI_MADT_ONLINE_CAPABLE is reserved with
"Must be zero".

6.3 [7] Then adds ACPI_MADT_ONLINE_CAPABLE and changes the meaning of
ACPI_MADT_ENABLE:

    Enabled
        If this bit is set the processor is ready for use. If this bit
        is clear and the Online Capable bit is set, system hardware
        supports enabling this processor during OS runtime. If this bit
        is clear and the Online Capable bit is also clear, this
        processor is unusable, and OSPM shall ignore the contents of the
        Processor Local APIC Structure.

    Online Capbable
        The information conveyed by this bit depends on the value of the
        Enabled bit. If the Enabled bit is set, this bit is reserved and
        must be zero. Otherwise, if this this bit is set, system
        hardware supports enabling this processor during OS runtime.

So with confirming firmwares it should be safe change the simply ignore
the entry if !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE

We can also do it like Linux and ignore ACPI_MADT_ONLINE_CAPABLE
completely if revision < 5.

Note that the revision was already increased to 5 before 6.3.

ACPI spec version    MADT revision
                 =20
6.2 [4]              4
6.2 Errata A [5]     45 (typo I guess)
6.2 Errata B         5
6.3                  5

[3]: https://git.kernel.org/torvalds/c/e2869bd7af608c343988429ceb1c2fe996=
44a01f
[4]: http://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf
[5]: http://www.uefi.org/sites/default/files/resources/ACPI%206_2_A_Sept2=
9.pdf
[6]: https://uefi.org/sites/default/files/resources/ACPI_6_2_B_final_Jan3=
0.pdf
[7]: https://uefi.org/sites/default/files/resources/ACPI_6_3_May16.pdf

> Otherwise LGTM.  I'd suggest dropping this paragraph as it's not relate=
d
> to the change.  It will also help if we do decide to follow up and drop=

> the MADT version check.
>=20
>>
>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.g=
it/commit/?id=3Df3bf1dbe64b62a2058dd1944c00990df203e8e7a # [1]
>> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.g=
it/commit/?id=3D10daf10ab154e31237a8c07242be3063fb6a9bf4 # [2]
>=20
> https://git.kernel.org/torvalds/c/$SHA
>=20
> Somewhat less verbose. https://korg.docs.kernel.org/git-url-shorteners.=
html
>=20
>> Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
>> ---
>>  xen/arch/x86/acpi/boot.c | 14 ++++++++++----
>>  1 file changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
>> index 54b72d716b..4a62822fa9 100644
>> --- a/xen/arch/x86/acpi/boot.c
>> +++ b/xen/arch/x86/acpi/boot.c
>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *hea=
der, const unsigned long end)
>>  	if (BAD_MADT_ENTRY(processor, end))
>>  		return -EINVAL;
>> =20
>> +	/* Ignore entries with invalid apicid */
>=20
> x2apic ID.
>=20
> ~Andrew

--------------0aWoOdf9NvherbXim0P4ZODl--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTRA4kACgkQkO9xfO/x
ly9ZEhAAjyDibkK4jOB0OTUur0ns+J0qOlmwEKrBvVfpJC3sEHHyUooeJcHxdEzu
QmRRNZmXHnTUOTq8Tc1Cm1jm2Hw/1F8QueZlo6S5DVOR6P0zTYtTxqb7bulpZ2f2
vJqidos91zFeofKBdFb99Qg4j2YOONlKEPWSB6b0V2LxNbWk69hMEBdAbapsnZFS
mKnwKYiQ//yyPuEMf6kSpJfXob+ZyInOH8UXn28WGyWV3tGgjfc8aXa2H6Qlghhb
R0UxXeUvwnp9f5HcZE/GA0euPS+yFtPDGc5i7HcBVn2cDVGXabfj99Fro1kq2faD
KmjCg7zxFkv5xVNfXf15LcSaItTn6+xse+xzfyMQwRaGuIbQrYjzeqPe3ZUzi55r
5iSlsADc+/y2H8K7i3KLkR5Hz/tIfmm2ABcmj/rCdbZ9m0EvhXSGXOjPv/Mg9tRy
2kKSElDrkE1jLexQHVBW9+da4sTglWZHAB6sj1Waq0b238zqCedI0SoUGT/3e5tc
0zQLfSv75x4mq/XDSpaPioZ/GCWl8mRdjMAb9vO70Ld/o7UuI14bGBQPj3a6prQ+
30MnRr0Co70BDc6luwB817yL8NcOFVSSKWwvrminbMCXhupsX60XpJM3I2icxFb4
YDsy6c9+SKL8Ob8kp5uLwiTmqMOhADoKRpu/RM2cMA335YbveIE=
=Ag0K
-----END PGP SIGNATURE-----

--------------dc4774u00hkvArK9z8mfi2to--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:53:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:53:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578575.906135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1cB-0003IO-S5; Mon, 07 Aug 2023 14:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578575.906135; Mon, 07 Aug 2023 14:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1cB-0003IH-PT; Mon, 07 Aug 2023 14:53:47 +0000
Received: by outflank-mailman (input) for mailman id 578575;
 Mon, 07 Aug 2023 14:53:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1cA-0003IB-C6
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:53:46 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3478dd4c-3532-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:53:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8622.eurprd04.prod.outlook.com (2603:10a6:102:219::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 14:53:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:53:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3478dd4c-3532-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UetFXkql8vaSB/0repBN/1hkv2tY2y//HXuoTZ+Hqg0NEsXjgwi4ZxJ+KickBvIakYbBKqg7Pp1TaRjJ5adZ63aziW5m1A6pPfZT5mo2kdISGreGmpPmKARY4tKCfu7sOxLQvE6XVkN2NMxc+Jadqb5NQnhQaIv89uuKTlBO4NOLQC0n2Rv35JY1OR8/JG9gXhA2fi/o+uIGTCwZcCD2gE6WakZeexS5cZW/a6D1dnPGzOLBtPuyvZ6U5Vdgaex2DaJQjZ0evnHMiD8lv8bP++LTdUYoI+8TOE3q3HnDZXUz4IFA1P5IcnE3IBTu/BOBm/HvYtmMjhdc1qOnlE44+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/3GqZMkYaiPIMpUv/+jU5lovX5ftrYTCcTrwCIvzZao=;
 b=gP5t0JBchPjnFMOlsMfpTfcMOILGzvWX3yxwCvl88jwI6VXLz/yldkOcngwsE8FIHEJyKa7iugz+LFHIq2UNfeabFiI5+54xYcCMiRID8gsm2vo0Pb7wMUYEy7ktgDPKKgrtP1DemByvXi9q4Buy6AsTA1Omw2l1nrmRTQj2cf5gUdlX9Uw3jhwhXcTmh06X5K5kXDQpASJ8Jk7xa7mPt3voIkT7u7LpPNeulUuafF6dKQs3ipUOhQ9IEiWpBqNX1b3lS9SjQkgG0i8qoPMGG8lFo1X+fBROfoMhIOtZk+3c+mMcdVrXV1KbReB/CbocUbo5Z/dDdoLwJglF9MPulA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/3GqZMkYaiPIMpUv/+jU5lovX5ftrYTCcTrwCIvzZao=;
 b=z/uGS+NaKXw8qpar3dmVIxmAhUdvYI4RR0MvQkf6wwxTT8cav3j/+HkRs9bZwXE9k8N4YNVLsEvLgb9FeRvy1QliB4275uofwNoTq9HgFXeOrsk+Zuz/CEhpKJhcZRD4PAYI+nUpAfHS9gG7yxOT6Vf7nnjAdKGPLzkjbDe1DwGWWjvnYYRwXkp91FmV9NaBEoWU10BmjNCphQ3WN7UYeEir+6gtr3dg+0W4Az/Xh7428j3W9NVw/+b48muZzUJc+zvFNkWSt2IsA7fMLNoWOoz0plqTmdJRh/iEa1RWrUptEA6OpnMBx+4fRDBs9088as6TOgEuldF91d4UUKgfbw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ac671c9-d983-c321-d004-63f8e7f1af1d@suse.com>
Date: Mon, 7 Aug 2023 16:53:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 11/13] xen/x86: address violations of MISRA C:2012
 Rule 7.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <40f438ad05338dd86587eb469c7b0614e1d69462.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031757440.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031757440.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8622:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ccd18c5-5dec-4c07-c4ca-08db97561731
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qrph2RtdTAF3mXn07PmFUOfoZiVl4+XqEXRx+GxAm+0Vw83CGk1CKDd1QwxIEQvj2AbrFl58D0j6apBJlA7FNFJaV5cntZj+BrMzKJuKpkJxJIWwddTIUaP+bZcKDgqNZXVDWFkBrBTXkA1UGcvWi49kXlZCypBYFQ+djsawM2+VeCbp6vaRmWo7SddEVD8pBlQyyBPYJKuuUJq5wiPFTzk/Ca+y88Sj8BH+YYh785epRzsOd44TVMTOWJpIit9XAIBiHuDT6J+pp65iWj99nWkW5kdxUgxjRx7ZT0mL6dBu5wWP9xkWU82AJNMLqcAh/jBX6tNBI+eC0xNdSXijksfe+h+xlunaEABV4OBA5rNBHdiKuP9Lrr8VtqPSnj85IOsalwR/h8mG4XJt0nZYTcFjSmhCc7zsL/ElOAwHAsnxOu9IQmdmYSu2SL/p6zR9zUFESaNH4k2OGb/Qc79xFTE7Ofhxq+lqgsHx/72Tc6r0P2WRaNkwmrUMz/kNdF9KEYpuyconarGiEZcEfKjKdHs2aQSaKNk1wQbsAMJIGwDxEt7+vkqCZbmmTV2srED0kbeKjvknQvkkig96DFai2Q8EQBKOdbKI/3Jpt+Q7ccQPYdmdd2J7gIFQvp0dli+aUm6DRhs+3YCg+DcYZGLbkg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(346002)(39860400002)(376002)(136003)(451199021)(1800799003)(186006)(478600001)(38100700002)(54906003)(110136005)(31686004)(2616005)(31696002)(86362001)(6512007)(53546011)(6506007)(26005)(36756003)(6666004)(6486002)(4326008)(66556008)(66946007)(66476007)(2906002)(5660300002)(8676002)(8936002)(316002)(41300700001)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHc2NldCK0F2SlIrb3lpY0d0dHpWZ0krYVpmdWcxdmtTQ2ZzMlIzbUlZR0Y3?=
 =?utf-8?B?bFNnd2xIMUJYRXZWQVlHVTVqY0lOc0tROCtEZjhkSjBsb1FudGVTOWRkNUto?=
 =?utf-8?B?ajl4ZS9ONGdzVEN4Q1Bwc2lWczlsMm80RE9COXNZdWZyTFpQN290RXdLdmto?=
 =?utf-8?B?cFUvVXdDd2hDYnY1ZEJxejVET2ZDZFFEYnUwYVdZb2IzZWVscUc5WEl3V0dp?=
 =?utf-8?B?emlTTUE0YVpMSmNaMENQTTZiNXIzdUZramg4clhNME40K1hvWHkyRU05SHA1?=
 =?utf-8?B?bkhVNUJzWk4xaTJLWDVOUWVpRmZadCt3TFlmMWgwcTNNdFhlRVY3RGNKQmZQ?=
 =?utf-8?B?L2lpeG9nc2JZL3lJbldjQ2lqbUhxdTJTNnZjeCtMUERibTl5eFppQ245NWxa?=
 =?utf-8?B?dHE3amxnS1VwTDU3SG1hcnBpMkV1RVJwQjBQUU5lVUh4SS9PTjd3azNrSXlL?=
 =?utf-8?B?UkJSWVZWRkNsSHRYNEd0bXp2VWNvS0dGUnVyR0djSHlKdjFkN0YyZmVqYUYr?=
 =?utf-8?B?bVpIZXY5VjR3dXhPRC9JVTNTRDQwRlJjdGp1VmNaelZvYkpVWUptYlRZbGtz?=
 =?utf-8?B?QXdHcFFuc2orRWRwL3dLSk50ak0zVnFlVEk0N0hKMS9LMitOODFFazRXV0hM?=
 =?utf-8?B?L0JhbC9mZ2ttbWNJbVdwTjFsa3I1d3hTZkNYTGlxQ3BsMExRQTZjb1I1K0g4?=
 =?utf-8?B?YURDTDRtOWtkd0Jwa1g4RUlzdjVZaGdJN09ObVRmcEVEekhxZDBSdEtOMmI4?=
 =?utf-8?B?RVVWUEJwM3FaSFVkUEYvbHplZnZnbUxURVlsYlpNMEI2ajZwQlI0VUpiZW1G?=
 =?utf-8?B?RHhtT080aUxpM1dmM0o5ZVJ1UHRPU3ZzZjA1R1ZxZURqUGw1Vzc4eVRjMzlM?=
 =?utf-8?B?Vk5sbUtVNXBYbmk5cmZBQ3hReXk5S3JJaUtVb01RYWYva0QyOWZuRkc4ekVn?=
 =?utf-8?B?ZEpwRGZHbXB6VWYxeXdOcXhjb0R0SWpvVXdUb3FBVElIcnd4VWZUMjk5SExQ?=
 =?utf-8?B?RHlMUllvVDVtOWQ4YVphRmp0byt0VThEdXNmOTVnRVdCVWVFZmpZMmpBUU1i?=
 =?utf-8?B?WWhvODk5TC8yeDA4WTBzZmZKVDRSWS9qUXpZMHo2aFBlWEd0bDFjZno2OXZa?=
 =?utf-8?B?U1hDVWtod2VEUnpoUGlZbXJDeGxDdWt1QTlTR1Q0ODhxQXF5NXBuYmcxMFZh?=
 =?utf-8?B?cEpBWEFsOTFaQ0pnNTFEc3Z2UVNQMVZNcmVzRmsxK0U5VlB3ZkJ0OFJXcG5y?=
 =?utf-8?B?dGNjY1dEYUdxbmdiL0NOM2R5a3JkeDhVdG9uWG5EMWdvOFR1bXdNeXNKbWc4?=
 =?utf-8?B?YW1McWlOZEM1U04yQnhDQUxTbE5qOGh1ZFE3RnVuajBLZ0pZV20rZ3FLQUFv?=
 =?utf-8?B?MFhWcmZ3QjlVWVIwVzhyN01XLzR2OTBtNm53OUlFLzlPaTlaeDV5YUFnN0Fm?=
 =?utf-8?B?VjdzOXkvbjVENFpuQWh5eVB6KzQ0elcrcFJ5RmNINkZlaVRKL2x4ZmNDTEg5?=
 =?utf-8?B?OXRDK3pDNi8rZmJ1RnVTNkhBN1VWYUFZM2R4czZKN3ZNTm9DZGY1TlV1c1Z5?=
 =?utf-8?B?YVI4QnpIT0w1SlZzdW1kYnpsL3FZampjMEVwdEV3TTYwUDVuYmJiYllGVTVE?=
 =?utf-8?B?YUFXRFJqcTN3VllNL2tqOWF4d0M3TngrVkNiTFZ6STc2N3hleDlkSUFzMi9p?=
 =?utf-8?B?bUpYeDI3VVZ4aWdZOTNqb1libWRDNzcyeTFQNDNrQnBnU01qdEdTQkhVbVpu?=
 =?utf-8?B?Q1ovbG1wZ01aRng5QXdpRFpWaWU5ZldkUk9HVVpnSC9waWpkWEpSUEh2Mm9M?=
 =?utf-8?B?bk9YWnl1b2pxd1Y0NjBGQnR4cVJFejZZaDVXZ0JSQkgzTk8vVDNKRlpiVTMr?=
 =?utf-8?B?Y1NBa0xGUEVoMUxCVlBJSEIrSmNzWFZKMndoNjJjWjRZWGhYR2g5aE9jUE1C?=
 =?utf-8?B?VmRURy9FZzdTMUdIQlErRkNtbHk3VEJOY1RNSjZKcjdrdGRta3dPdEY3b0pz?=
 =?utf-8?B?VHl1RnRYdy9yL3BKRERkZmkrNjU5Q1RrT0hWZUJIeXh2eGFySjAzendCSW9X?=
 =?utf-8?B?RnR2MDZvODB1UCtRdFJNNTJTU211Y1FESnc4K0xBMVY4b3BsVGtjK3hSdUs4?=
 =?utf-8?Q?BP/wIxWcE6jCiKFgB6omKcAWS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ccd18c5-5dec-4c07-c4ca-08db97561731
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:53:41.6621
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KfDaCn1YiS+FZ/qrKQNncpRDpcoB1M94gIlnm5U1Wn/mFdgr0wnDF7IkLqebd/wY0LxC3oaif8fcclRGahu9Fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8622

On 04.08.2023 02:59, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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

> But I think I need an eyes exam after reviewing this patch

Thanks for sacrificing your eyes for the good purpose.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578580.906146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1eK-0003sP-9U; Mon, 07 Aug 2023 14:56:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578580.906146; Mon, 07 Aug 2023 14: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 1qT1eK-0003sI-5K; Mon, 07 Aug 2023 14:56:00 +0000
Received: by outflank-mailman (input) for mailman id 578580;
 Mon, 07 Aug 2023 14:55:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1eI-0003sC-Ra
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:55:58 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 835b0b33-3532-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:55:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8622.eurprd04.prod.outlook.com (2603:10a6:102:219::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 14:55:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:55: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: 835b0b33-3532-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FJLJLsVPFpIikUtDG6pMbqUJiEikE1JrqcAQuLouSBUueHHouQi6MJAlqugipgJkTnTXJF+be/hCf24HlqnT0nyIIellnOOBzVAWPJxckWRIW+LSP1UKNNB8pkE1AJrVMXhxLoz1PUzCkGaZhSaYKf3HGUPLJTI/oU6PWqKBNikymMmlEC3Vr0BWy81ziaq6uiRlvJywrOlnlQf7qH768aK+ilcp3Tthg2SI/fUcIb0RyUHLsd00tLHVFp+ocZlRxeSrAcVHhGN5jzJVJC3Pb/0PiEiiSOHUgL1cu4AfODYmM95RzXAUs7GCFtQ0fb27q0Kos5TedEDv92rX6NeApA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cGn/cAoqOUISw54luILiQN/Pji42DpLD5bwIJ0SGs1k=;
 b=ZxiyJjeKXCgj2Ie73tsCKXhPhIhjq6g+hmE3s3FtHysuj+QsjDfKBt+5P/68b/gcx0KB858+Tl8KpIqxMH1KWn+8fnDjShx7OTMX6y8WvC2v+NhAvOJGsDqibCDuRt0tesYSCgGWNmoqlCgExFkJYh2qxQcMfyx2UeeOraruVpdwR+CnZqrXeaWIiMZPkB/3K8Sa1RFytji2fyWPVjDDa3RJvOGHjvQ5nCjvbG9ETIQQ85GFYtj8CTUbRzmomTiF5OawZJtIi2azHPOJ9RderEJ72lit3OaBIJyWF7vg9MG61iRkJT9sMb5LH5kbXMJWZgw5nDYNmm66T8aqGwftdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cGn/cAoqOUISw54luILiQN/Pji42DpLD5bwIJ0SGs1k=;
 b=Fh2mm00TN0jqx2C6n+YXivpvxClRhJX2uEHTNQ/H7AcQAsQLdsVCbZhqw45ogsNvqMvzTfU/sOx/KrhDNcJCmIykLVU5m8rE4SvFmpelIJKfm16DWaW/FZGSU0Rt7PoXIQPxfUDOCDZefiTOekktz+pJHO7/nmTQueOcMyuLjtSloMGHjsb8T50XXhdoqEeAzO/afSOF6nkBbSyeoRXSiG0cdkWByO3ciJhhuxpMUUeIv5WMGoP+wbtIH4ROVM+sy83LBDL2ks/vE5aFM4tujk33ee7q1A428p4nMufd5FMJpMrfYWTiaAR7WMj5Eryhjrbn//WH1WWMQ2eI6fr7jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f9119e57-45c4-abce-4a47-0403da7b83e0@suse.com>
Date: Mon, 7 Aug 2023 16:55:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/4] xen/ppc: Add OPAL API definition header file
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <398ef92c0103fbc70f53b26403fa6596ac73ec0c.1690934409.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <398ef92c0103fbc70f53b26403fa6596ac73ec0c.1690934409.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0147.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8622:EE_
X-MS-Office365-Filtering-Correlation-Id: fab3745b-7cf1-4631-c873-08db9756667d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bGUgK4zgI3cWrYj7ZJeq/qpOZBNh+LpTtOtJQXksqBCuSgc2qcAk0EUEM3dNKsdT+KPBvQyI/YJLIHtqsmF8p9X0ysnpZbASjJ67b0oQ3F763Tdm1+xwaldF1okaREwG+gHS8pMiGZnXKdHfR8gtCyT+grZGImKT0/pjDMDn/F+vP9m5SqwFR7jVbmrS+xBbrNe7kQkSIvJ56gfeoXiNiuVOcKifh1DJfvNuI7mws1GE70IRCtzaR16kDOx9ZrH0Va1Wl2BmmB+BiOq2gmMjH76h88r5rF9hDad8AJTpHI0YGsW2HMo5FLj8WEH9SVPsuji0195H5mt5dErHVyfe4ChqV3YTbMCxx4kUjhNgLqcmhuq8ep/VAO+81jKrTAQZFdHBvwMw7+J5fUD5vIY2QELILbFIgrGy0FKrrAxR73wSuRbDKnhL5+wdkOcp5ftIcuXtQ6CPpCUi+RlZsinEMeqOC8kzt4FZDOzNc5A+3KfxQllaTEVwj0yQmX9NlH+qNlhK/orUqw1grtpSGwYFYxK2h8dUo+H4xChuiVyC97R/GVrcN3d4JpQnW56BpDsKcnBRn8UXnFsVHA2ISKVTXnTWl1yXfWs3rk0AFhbrXrIdorMhGjGGwze9QalhNANpsVnN/17oozLnamXDRFbW4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(346002)(39860400002)(376002)(136003)(451199021)(1800799003)(186006)(478600001)(38100700002)(54906003)(31686004)(2616005)(31696002)(86362001)(6512007)(53546011)(6506007)(26005)(36756003)(6486002)(6916009)(4326008)(66556008)(66946007)(66476007)(2906002)(5660300002)(8676002)(8936002)(316002)(41300700001)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnkyYU02WW9hdUJsaStWMnZPK1gvNUk4VlZ0OXZEb3VrUklxZ0VjQ0xVK0dP?=
 =?utf-8?B?TUZrOEMzMDFRbG9kbTBOM3BvTiszYnh6SXlFSmdhVXJNK2pSU0ZGTnFhKy9I?=
 =?utf-8?B?ZzFZaW9nNTZRUDhtU05sRlZkbmcreWlUcUlrMk51S1B5OHlycCtYcmI5UTkz?=
 =?utf-8?B?UGZyVS9sSzFOcEFZUGZmWWpmc1hOK1pZWkovenQyRi9QZ2tRRlJ1dUova1NW?=
 =?utf-8?B?UTdJYVk1RCtoaFlzMUlzamczdERueG5RNjdhTElMbWlsckFaUE1BandMNCsz?=
 =?utf-8?B?eFlMeFF6ZUY4QThMek1DVU9HdkVBbE5yaFVnbmdVS3d3eDhSM3lXN3BoLy9Z?=
 =?utf-8?B?QXVlWXl0K0tmOVNMTEYvMHFESnpCTk44RFdWWXFTVzJ1MkZMekVvbGlxN09O?=
 =?utf-8?B?bkFGSHAvNDVwNEFldlJvclpoVUE2MWNadVZidStsQ3JzZ0pFRjVkbzAyQVFK?=
 =?utf-8?B?ZzhPQzgxMEdKTkpXT0lJb0Rub2FnOUJQZ0pyaENPUEwxTWZseEZoNktleFU0?=
 =?utf-8?B?NmpRTVVDbzMvOCtEVVROVXovdUpRaWs1bnVXVlpkUVRKZDFJUk1kUHdFVGNn?=
 =?utf-8?B?cEdkL1h2TEQxRVp5eUdtZkFEbmJsTndUdk1VclVtRHNpZmdFa0Vxc2ttRThM?=
 =?utf-8?B?V3Q5d1F6MHpsdVM3c3RkRy94M2h4S1ozdWpjT0lBbGhjQWNBbU0zQW4yWFVP?=
 =?utf-8?B?cGFWU0xsWEZOR2ptL3ErQ2dra2IyNW0razRBMG45RWJPMDVmSkhSOFp4NjI4?=
 =?utf-8?B?WVFMQjRrSUtQSk52clRCSHU3ZEE2Qi9jZHlYRmdsWTV6UUNKbzlVZGtTNCsr?=
 =?utf-8?B?dzFsMWdQM2FnNDBid2ordzdVbS83MmVHQ0tEM3ZiZW5Oa3JNd0hhSXREWFkr?=
 =?utf-8?B?NmhscmNraU9mVm44RW9Ya2grMmU1blQxUzhHMW13UTBrci9sNUVxSzNzZXdP?=
 =?utf-8?B?bys4WnhoNzM2bzJJOWpDSFhUdUZzV09oVGdlUlZuQmZjVklvRXMydFVZMExT?=
 =?utf-8?B?K0pIRWlmeW9tZmVTRld6bjJNVWFtRXorTnBPeWJhb3J1K1BrbWhrQUtmUC9G?=
 =?utf-8?B?ak5kUThWeDhqa1o2dU1qZ3pkL01YejlKdnZpaHdUSkM1cVdjNGdKSlg4dWJt?=
 =?utf-8?B?YWk0aXhhOWRHL3IySFFoM2p0MDFxMlVwQ0JrUDEzMy9sMGVycEhKT201aVpN?=
 =?utf-8?B?WmFvOEloTVdJb2NvRkJIeEtyTytuQmpYWWU4T3lacCsyK0dsREdZbEtuU0Yx?=
 =?utf-8?B?T3dBbDlxa1lyeVFoMVRBaHhRZ1lWdk9FQ2Q1dEVUMm1HOHhiNmVLNEd4bVBQ?=
 =?utf-8?B?ZFJPcHNVNnhtdEo3amtzYjdxTW14TGRiY2I5Y1lJOEVKUklaYSs1N0M2MGt6?=
 =?utf-8?B?WjlUS0srWlYvNWZ0ZWptcU5IdU11alJQR2s3MjRiME9HYXE3OUR2VzBPQ3cy?=
 =?utf-8?B?a1hoellrcVFOVG54Z3I5SGZQNUVUenFXa1FVS0I4M3lrWCtHVS9mc3ZpUHl1?=
 =?utf-8?B?anBCUzh4a3lyd01rbG5WYURpWm9HMVovbzlWNWtmZlk0eFltUjhueUVETklI?=
 =?utf-8?B?NU5BeForMXNXL1dMWVRSd0o5bno4WUtQQ2JMRmgybUlxVkw0UmZwWGJ1bzJT?=
 =?utf-8?B?MGxpNEtIZDd1aVpEbFVkMDZiTUIxdzN4TFozV1RqOUFYbldsOWNHWWp0bHZJ?=
 =?utf-8?B?T2NqQzB2V2o4MUdoQ08rb2xFb1NhSzdXSStGNTVWMVF5cFFrSkxURERzYzQy?=
 =?utf-8?B?VGQ3VG15QWkzNjlUOGw5ZXZYSkFKWk9rUEFLbGkzby9DZUlpRmkxaHNjL1gw?=
 =?utf-8?B?K2dhS0RGVnpRVGd5MWlvczMxRlpOeklWa0R4RHFOK0Nwamt1djRSMDVOTVZh?=
 =?utf-8?B?YlpGOXo2akNSNDloa3oxRGdDalJtZkF3SkN3dTNEZkVkWThwYlVhTVpxRExa?=
 =?utf-8?B?WTVHSG1UQTNveTFDdHlSVUZ2U0RZZ0Nwa2JtZEdkci9rdU9DMDlpRFNVTTE4?=
 =?utf-8?B?NkhsTkFObTY0WnlUcldRRW1OY3F4dEU0Qm01eDlGaEcrWDROamE3S3NyUFVG?=
 =?utf-8?B?MzJKSjJxSlowSzJkNVpVV2hpMjBIYjE1Z2haeGs3YVVmUGVLWkZWQm51RmE0?=
 =?utf-8?Q?G8zG/Lur0cPpWVQeF02uHuMQT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fab3745b-7cf1-4631-c873-08db9756667d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:55:54.7348
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +Bk29mMUk+c6LIadDUskiOVnZgj3b1LZrcV4JxRxgFpAHcZRBvvsOmaz5zUL0maWFMDl8mUeLdutS3YQb64XxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8622

On 02.08.2023 02:11, Shawn Anastasio wrote:
> OPAL (OpenPower Abstraction Layer) is the interface exposed by firmware
> on PowerNV (bare metal) systems. Import Linux's header definining the
> API and related information.
> 
> From Linux commit 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

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

Albeit (like perhaps most of PPC) that's probably already an overstatement.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 14:59:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 14:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578588.906155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1i6-0004dI-Tq; Mon, 07 Aug 2023 14:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578588.906155; Mon, 07 Aug 2023 14: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 1qT1i6-0004dB-RG; Mon, 07 Aug 2023 14:59:54 +0000
Received: by outflank-mailman (input) for mailman id 578588;
 Mon, 07 Aug 2023 14:59: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1i5-0004d5-Ix
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 14:59:53 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7d00::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f5c7442-3533-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 16:59:51 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8554.eurprd04.prod.outlook.com (2603:10a6:20b:435::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 14:59:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 14:59:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f5c7442-3533-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mqgEj1UJwAmVPmwhFXOsU/5wQIt+KbkQJ/knDLSG8oLsNyUTy6GG9t0Iy+OVWmvIYNDsQOsRepCahOH6Q8+XcKDCHm4ODFX6cvSBYC4YCW6UZ75NJDBg2GF5ly3QoaYeeEwv85rKvjadFP/B6JAeP25lLIB4MxmsMpQi0DPnqhe3fORZW7EcPxL96jlyZmWopJn6YbpM2zyo9CcTPtO4YOURDb8KNWXXbU0YUkbOH06dvZaVMRZ8uMXngAcplAOqPWjhebFx3YTbY9eqvqmsWacYl3BLq6f0YOLvuFUeN5KrRpYs/zTUIlU+AFRfPGfoLbQwJNThk00wR7CakuKMvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vjjszNJAg1agTj1Mvzb83fMug2Tcw1mS6kh4T4FWQNQ=;
 b=K4wGWVXoCu1uEfXNTsea68e4jJyRNKlPHn+CyZg0sbTAVenU1LcarlPUcyAHfnmgDPb0as0shNd7o+tqgWc8AZWGVvcHw7YJ0bzzqXrONH8StBDsAppauZjtp1tS2pGxxxhMRmmc7poTJNHB3TyHsXy0BG0f1UKDauohBXsjSZmPas4T0HSyj52uBSUlFw35kEPnzsdsONPrJWYpLHuf2Q73gJp5dthvEQ2hDutXtRtpId26qb0dSAmSbnxQOyKoixJgGmRtybilSuESgCYHn+wvzmKBpMRSK634Y0otFhWnThK9dTAWjMwG6cgfXt2WgZRPDBEiibcWPSBBijLn3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vjjszNJAg1agTj1Mvzb83fMug2Tcw1mS6kh4T4FWQNQ=;
 b=UcHcaZk7TogHrkTkcygitPIxnx+2XP6qNBbUJeu+B7mSnZvHeN3Ex0MnyBpuuGjYEtlWC1/IGPHZDryG6joa/i/Twuc/kc+x3/jA/96JrYfYZ5HjP1Pz7ZNZQP4JQ0TgyVcxMC3DN6mSaBpZlVQTfK7qDhryJ0om6/RJohH6uLraY4iQIIXa2A4bZ0ce+94IcEZeXuu3TZ3yEQxLyCiCxyPVien5yqEr28zEoAzIQFQwyFkUV24gk8R+1l/qJAfA4qBnZbTDYSayZ0nJTnAfHy/kwpMTYMQftuHe7+YJmSvk3DyXKsV+oWO02DJ+qQqIfcMoJwNnu1I35/Fmewz/mw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f2a01d5a-a768-dd83-c057-59eaa4e103d0@suse.com>
Date: Mon, 7 Aug 2023 16:59:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/4] xen/ppc: Parse device tree for OPAL node on PowerNV
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <7026e54897e360d935d065c7ec904dc3f6082857.1690934409.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7026e54897e360d935d065c7ec904dc3f6082857.1690934409.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8554:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bba8ac8-ac12-436a-1fa3-08db9756f29a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ke/fU2/AuACY6eUtKQfqGlkvoux/ux6j6MydlJn5/IFdG4y3EQZfZtOcjkc75F0V362ZFYg3o5Yy9pCWyBKhPKtIuH2zrUKXveqqCpwXxWb3m5g3YYz0s2+9x57MeE+9dH0kKcz5wvl4hapM7TXEMCtTbgTsNT2XHoEPu+Rhz+xwCcuANeiLTWXuvTut9p8Xi5pvM/lBy42ebnoqJi+xjShDHAWwYfwTQCDKumBrOyrlbdhIbKaE+t315BBOruHI/flD+0S/+kxuj/JkShYy96DPNhMTkErYtAb3EyjdIcCRFyoMM+YVcHRJWMCRBicLje2KxJgH2ZJg0mmMIU3zAjOw0mQRYy9znAChC1pgc0PQTOUJ77ECIcny4vZvjj+eahVhb5oC6TxPBqmbawX3GW1wH8sJdupQeFIFTDRow5dpdVKg4xKz4Zu+tAs+YAu72V1XCYQuL3V0U1SsF8RBT4HNgtqsIYLoXV9P5tUx7fRMIsI/lNGVDYJe7o+y6/n8TeMCrr0HRlFse357cm1/Xob1sEWzgrOXvpzlLcRkFxzBjQS86sfOR6lTQf0l9HHTC5WDRPAX/Qg5rB7NoVPLLipwM+XinwLHfIDcQRNtrt8784ZE6D3hO3xwITkO+HtLfUX4qYFnBD47T4K7wgb4FQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(376002)(136003)(346002)(186006)(1800799003)(451199021)(2616005)(478600001)(31686004)(83380400001)(6486002)(6512007)(53546011)(26005)(6506007)(41300700001)(66946007)(66556008)(66476007)(8936002)(8676002)(316002)(31696002)(4326008)(2906002)(6916009)(36756003)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VldnSVdTbXIwQzh2ZUREUWhiWHh5ZU9GR1dWS0l2bThHaHFETE84anBCMTlC?=
 =?utf-8?B?aktGc2owQWhCWitNTGVSTDRyb2N2YjVSZ04wb1dXRmhBTnBjK05aTmE4azBm?=
 =?utf-8?B?NWxidjFkVG9UUEsyeFdkRFFMRmt2LzB1RHJ6REpLRXFrcUV5bzBibmpjZ3hD?=
 =?utf-8?B?N08rOXc0YzlFYnB0c1pZeTRvUmtZQjU0cTc3ek9KZGt6VTJndnZ2cnZySHZv?=
 =?utf-8?B?MnNBcmtyclJUcDdyL25HWGhkWkg3Y3c1dmlEMlJIQ2N5cG14UVBOWVZwV3I2?=
 =?utf-8?B?RHArTnRFaS9ld25lQStyeVBsSTh0WUFvTVdwZFNqSG9EbmJBTFVISlJOb01i?=
 =?utf-8?B?NnVkaERsS1Mrc1E1VG9BNDZHTzFFM0QwSFdGQUpacnNmQWp2bTlIdTJSdWxr?=
 =?utf-8?B?N29xaUljQW1CRWJPZURBMEdvNzIxNnVCWksyOXVqdlE4VVF3dzB3dGhtU2Np?=
 =?utf-8?B?RFVrWGhFVFQzRUJJS2RuMFl1eENPRCtYY0xCc1l1cjhhVkd6VDUvRFh6TWpU?=
 =?utf-8?B?dEwwaFpPZTBqSTdJVEdzTWdvYzd4UWlqN1ZBbEh3ZHlUQ2dlZ1QxRDdzL3R1?=
 =?utf-8?B?R0htZjlNVFRjZUhwTUFWWWlKdzdqSXdIRGorMzZzdnFwVnI2VC9wT2dOL3Zu?=
 =?utf-8?B?OTFFQWtweXdHNWdkSEUvbTE1SWkrZHVFNi9kajhFYlNkYzdla05pb3ByT3VF?=
 =?utf-8?B?bkR3OVZLOHkydHFtRWhCb0RjbFZhbTIwRVdHem1hTGRCK0FCWGZOYXM3d1dV?=
 =?utf-8?B?NkZ2OUlzaktHakVLY2ZTbmd5dnFEQlovMC91K3Y5SDJNSXNuTGdkeTdlaDJ3?=
 =?utf-8?B?dHJvNTdmMndmSWFJWkd0bE9VVnlUa2JlR3V1cXVLSEYyN1QzOWdBeHN6SzU0?=
 =?utf-8?B?dTdubkQwcHhiSE9pNkYyWi9EQXpRY3NqdDd0cG0vTDE5K25MVmw5UWlTRkli?=
 =?utf-8?B?QUJ6NlR1Rk1JZ2xwSVB4U0FkaEoxeGc5SjVOWlFabjdKdzNlUjlGemJTVElp?=
 =?utf-8?B?dXJFdmtJV2hoOHFXQ0E3YlpXQ2EzV2REanhIU1QrNGhMZXlpT2dyUEdXZitq?=
 =?utf-8?B?eXlYalBkaXB5dXA1Z2M1NXg4VnoyVjlFVHJPZXpmQlZzYit2Y1hkcjhwYzhl?=
 =?utf-8?B?TkhPWFhVWVdvMVlad3J0cWhIYnJnM3NyRlg3QktiR21OOGwyVm5UUjN4elB0?=
 =?utf-8?B?MWcvL3hWbklZSXNVUHBPT3B4ZXRTQUlXbDFVNWJXUVR3K3JlMnlFS1JBb2hl?=
 =?utf-8?B?RWlCS1ZmQTR3VnVuWU1NeHBtZFM1ZmRab3Y1N0liSlhXTzhBVUZXSFB6WjA3?=
 =?utf-8?B?ZUdiTGZkUUlsc3I5cTAzTnlYMTY2K3dmdzZxK0VKLzhrR1hSeGtxcTZVTzNC?=
 =?utf-8?B?T1NZTFgwemJkREp5OWlsTWdBTy9STnRobDZ3UWJnRmFWa3g1UGV6NEdGeTVn?=
 =?utf-8?B?Tm9CVlQxd0RnaUVMVjdSVnNjajNEUmQ4VG1zMHAvV1ZTRVNXcnZBbTdWU3JF?=
 =?utf-8?B?SExOVHFLVmEvVU9NcWx2Z1JFQU9KYU56WWNDRnJhbzhzQ1B5Uk9kRHBNeW0r?=
 =?utf-8?B?Zk9XbzV4MDg4QjNQWjUzS1ZoNmNVRStPNVp3a1pUUGRwQk5KamptRndZdTJt?=
 =?utf-8?B?Vi9zMzE4RGNCVHlOVVZYeDRwMnBNaGh1cVU1N1pTTHRkbmpPVWphNkNUVkM3?=
 =?utf-8?B?UVdoY2prdnkwNjBtOUZOdU5kdEpCbGNLaUlMQjBmM04xeEZVaGl1Tkl4OHFI?=
 =?utf-8?B?dVNmWlVyU2JqYlVnanlUMGtJVXorTWwwUXVlTE1YSFBaUm5oa3Q0anhVR1h2?=
 =?utf-8?B?S24wUWRTVlFyVHZsQlUvWWVZZzJKbzdrc3pKbzZYZlNOZlg3MXFlQ2I0U0xk?=
 =?utf-8?B?MFpCL1Q3RE9GUklGNzFEcHdkWENhTFBMbkc0WDM3WVVTbWh2bjA1dlBMdGE3?=
 =?utf-8?B?K1N5V0VMRjlsd0YxQXNyOHdTcExkNUFXbG1PNjhIT1ZZZVFJWCtjWjdmbnp3?=
 =?utf-8?B?NnJBM2FYSXF1azd3VUZ2NEYxaGxVb1JsSEpMUVRENTRLSGFVd1F2SDMwRUVa?=
 =?utf-8?B?cFlRZEdoOWdzd3l4THV6Z2VuWnRsdGR6TG5NQk9KU21qOGRzanB1U2hWOTV5?=
 =?utf-8?Q?ydhg1MwVBcezsLOOZkJt/31Ah?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bba8ac8-ac12-436a-1fa3-08db9756f29a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:59:49.8033
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vZNv6R5Zx3rzMSJCq1Uh6LywkZYManRUkf5OVL/4Yy8REZ/UUK9E2JTU+rq6tcek4mFLNEI0gdfu3d3gjV47lQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8554

On 02.08.2023 02:11, Shawn Anastasio wrote:
> Communication with firmware boot services on PowerNV requires parsing
> the fdt blob passed by the bootloader in order to obtain the firmware
> entrypoint. Use Xen's libfdt to do this and store the information
> required for firmware calls, to be implemented in a future patch.
> 
> The full xen/common build doesn't yet work, but libfdt and its xen/lib
> dependency can be made to build by defining a few stub headers.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Looks all plausible, so with the earlier constraint
Acked-by: Jan Beulich <jbeulich@suse.com>

Just one nit:

> --- a/xen/arch/ppc/setup.c
> +++ b/xen/arch/ppc/setup.c
> @@ -18,8 +18,13 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
>      }
>      else
>      {
> -        /* kexec boot: Unimplemented */
> -        __builtin_trap();
> +        /*
> +         * kexec boot protocol
> +         *
> +         * TODO: This currently assumes an OPAL/PowerNV system, but it's also
> +         * possible to be kexec'd on an OF system.
> +         */
> +        boot_opal_init((void *) r3);

No blank please after a cast specifier. Can surely be taken care of
while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:03:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578594.906166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1lf-00065P-Cs; Mon, 07 Aug 2023 15:03:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578594.906166; Mon, 07 Aug 2023 15:03:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1lf-00065I-9q; Mon, 07 Aug 2023 15:03:35 +0000
Received: by outflank-mailman (input) for mailman id 578594;
 Mon, 07 Aug 2023 15:03: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qT1le-000658-5O
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:03:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9371f5f0-3533-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:03:33 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A82E74EE0737;
 Mon,  7 Aug 2023 17:03:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9371f5f0-3533-11ee-b280-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 17:03:32 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <a7c9f20e95bf514650637049e1947f8f@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 07/08/2023 10:09, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
>> The variable declared in the header file 
>> 'xen/arch/x86/include/asm/e820.h'
>> is shadowed by many function parameters, so it is renamed to avoid 
>> these
>> violations.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch is similar to other renames done on previous patches, and 
>> the
>> preferred strategy there was to rename the global variable. This one
>> has more occurrences that are spread in various files, but
>> the general pattern is the same.
> 
> Still I think it would be better done the other way around, and perhaps 
> in
> more than a single patch. It looks like "many == 3", i.e.
> - e820_add_range(), which is only ever called with "e820" as its 
> argument,
>   and hence the parameter could be dropped,
> - e820_change_range_type(), which is in the same situation, and
> - reserve_e820_ram(), which wants its parameter renamed.

This one is defined as

return e820_change_range_type(e820, s, e, E820_RAM, E820_RESERVED);

so I'm not certain that the parameter can be dropped from that function, 
because the cascade effect
would eliminate the need to have a 'boot_e820' in 'xen/arch/x86/setup.c' 
afaict and since the comment says

/* A temporary copy of the e820 map that we can mess with during 
bootstrap. */
static struct e820map __initdata boot_e820;

I'm not sure it's a good idea to alter this call chain.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:05:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578600.906176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1nd-0006fH-OZ; Mon, 07 Aug 2023 15:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578600.906176; Mon, 07 Aug 2023 15: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 1qT1nd-0006fA-LE; Mon, 07 Aug 2023 15:05:37 +0000
Received: by outflank-mailman (input) for mailman id 578600;
 Mon, 07 Aug 2023 15: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=LmzZ=DY=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1qT1nc-0006f2-9X
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:05:36 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db4a478d-3533-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:05:34 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 132BB5C00BB;
 Mon,  7 Aug 2023 11:05:33 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 07 Aug 2023 11:05:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 7 Aug 2023 11:05:30 -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: db4a478d-3533-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm3; t=
	1691420733; x=1691507133; bh=x1PjOXBZ8MeWIkWCLhH5M7yKNK3YPDONkXO
	9+vqVpf0=; b=ylRidWyz6T2jUDsFyBKPXdIyYldsjMVInGMaBuM77HLj0RxoPxF
	NQqVxemL2fX2xwbzdZbnXY5scTXwlF7NEOBa5+P/n3GmWyTvt5aUmrVB1jNwCDRo
	NLFE7/cj1fXgDGcKsALQjTcKSrtqYLCHXJF7/f6ot0gMjrZyRS7/0DopSVElv6sN
	KXk3kWDL5zlW+DfqcNYXCns36RIvn3CLiRO+nXPKuUnSTv7iNRQhT+edfoAbfylE
	vHsf3PKvua1C1QJ5uzeW+RAc7RCTh3EQMfq+TJW2Afk7rSEsJrxPlmqgOb5XG8sV
	hGe10UVXtzN0klarDGwG1hdEJG+feuoOK4A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1691420733; x=1691507133; bh=x1PjOXBZ8MeWI
	kWCLhH5M7yKNK3YPDONkXO9+vqVpf0=; b=Ejjl3VU6aM+QEvXRsdGBk6atbuUzh
	V6p4PWJNzqagtK2F/Yl9ToA1zpuxHReBE+dtLnQXHmqqNO4Jc52pme+Fm/b6dYpz
	+9SsvdqL31U8BOltlBY7UiNRg2JhYRUxiOk1/fgmAMusUipEtosVgHb+FIGLwyR6
	5InWjiCPQEcUFI/SnNbXYVvaOTob64Rir/mg6qypu3gfLRKUL5gY5FbOQTmb/3Cq
	t/xTD0DVF+y+wLZqr/BiDm2ojBd+/0POxx+XJhuvYZqkdprQmeSUqAZH5bkEFMLV
	Y0Xm5aXaSgNtE/PQsybxYwux7yovHQEsxRpA4vV9mynrnr2KoSMpQ6pbQ==
X-ME-Sender: <xms:PAjRZFa-CMF9mc4gqqOL6iDHe16fIUSy7R6Dsb9M580oXezstI-riw>
    <xme:PAjRZMZq-F7NRgK0woUZQ62faq-ntEwKSWXVv4-D1-UbAB_fTEQVx9Ug-9p0_scm7
    KEIiNOKMqYiE2E>
X-ME-Received: <xmr:PAjRZH-ym7lvj2zcu6xME-8DGDesftVmTF2LGSuae1F0DIWXKeI9r8BicLMSTA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrledtgdejkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefkffgguffvvehfhfgjtgesghdtreertddtjeenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeeftdefudeltdevhfehkeefhfeutdfhffdugeetffdv
    gfehfeekhfetgedvuefggfenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhimhhonhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:PAjRZDqGoN1guq6vSsrKKhQ2lAxWE49OK8iJhOcZ2J0bOrtz4h4DiA>
    <xmx:PAjRZAoHrdv51rtcotdor-_hnm4Mmb22z7wCtLDKNt3rUw6z1xIQyw>
    <xmx:PAjRZJSXHae_bw9i_VaCr5kMI-7ko3OKcLq0blfGA6sbefS9m_F-5g>
    <xmx:PQjRZLXbAaaT9gB3-CXF7MhEL-iogFWsypIjX_j_OJBk_TRnKdMcDg>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <3951c6fe-9912-634f-203c-6ba730cdc047@invisiblethingslab.com>
Date: Mon, 7 Aug 2023 17:05:18 +0200
MIME-Version: 1.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
From: Simon Gaiser <simon@invisiblethingslab.com>
In-Reply-To: <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1XX4WipUR17ddjVy1wur38SO"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1XX4WipUR17ddjVy1wur38SO
Content-Type: multipart/mixed; boundary="------------8PpbNFGZn32ploxgMhDxTmoH";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Message-ID: <3951c6fe-9912-634f-203c-6ba730cdc047@invisiblethingslab.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
In-Reply-To: <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>

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

Jan Beulich:
> On 07.08.2023 14:55, Simon Gaiser wrote:
>> Jan Beulich:
>>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>>> It seems some firmwares put dummy entries in the ACPI MADT table for=
 non
>>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID=

>>>> 0xff. Linux already has code to handle those cases both in
>>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the=

>>>> same check to Xen.
>>>
>>> I'm afraid it doesn't become clear to me what problem you're trying t=
o
>>> solve.
>>
>> I want Xen to not think there are possible CPUs that actually never ca=
n
>> be there.
>=20
> Did you try using "maxcpus=3D" on the command line? If that doesn't wor=
k
> well enough

Yes. Then Xen says, as expected "SMP: Allowing 8 CPUs (0 hotplug CPUs)",
but disabled_cpus is still 8 and nr_sockets therefore calculated as 2.

> (perhaps because of causing undesirable log messages),

I don't mind some verbose log messages.

> maybe we need some way to say "no CPU hotplug" on the command line.

That indeed might make sense, but I'm not sure this is what I want here,
see below.

>> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets a=
nd
>> that there are 8 logical CPUs that are currently disabled but could be=

>> hotplugged.
>=20
> Yet it's exactly this which ACPI is telling us here (with some vaguenes=
s,
> which isn't easy to get around; see below).
>=20
>> I'm moderately sure that soldering in another CPU is not supported, ev=
en
>> less so at runtime ;]
>=20
> On your system. What about others, which are hotplug-capable?

Would those be listed with an invalid APIC ID in their entries? Then I
understand your complaint.

PS: based on your reply to Andrew, you think that this might be the case.=


>>>> --- a/xen/arch/x86/acpi/boot.c
>>>> +++ b/xen/arch/x86/acpi/boot.c
>>>> @@ -87,14 +87,17 @@ acpi_parse_x2apic(struct acpi_subtable_header *h=
eader, const unsigned long end)
>>>>  	if (BAD_MADT_ENTRY(processor, end))
>>>>  		return -EINVAL;
>>>> =20
>>>> +	/* Ignore entries with invalid apicid */
>>>> +	if (processor->local_apic_id =3D=3D 0xffffffff)
>>>> +		return 0;
>>>> +
>>>>  	/* Don't register processors that cannot be onlined. */
>>>>  	if (madt_revision >=3D 5 &&
>>>>  	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
>>>>  	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
>>>>  		return 0;
>>>> =20
>>>> -	if ((processor->lapic_flags & ACPI_MADT_ENABLED) ||
>>>> -	    processor->local_apic_id !=3D 0xffffffff || opt_cpu_info) {
>>>> +	if ((processor->lapic_flags & ACPI_MADT_ENABLED) || opt_cpu_info) =
{
>>>>  		acpi_table_print_madt_entry(header);
>>>>  		log =3D true;
>>>>  	}
>>>
>>> In particular you're now suppressing log messages which may be releva=
nt.
>>
>> I intentionally mirrored the behavior of the check directly below.
>> Unlike the the version in Linux the existing code didn't log ignored
>> entries. So I did the same for the entries with an invalid ID.
>=20
> I'm afraid I can't bring in line the check you add early in the functio=
n
> with what is "directly below" [here]. I'm only inferring the "here" fro=
m
> the placement of your reply. Maybe instead you meant the rev >=3D 5 one=
,

Yes exactly. "directly below" was meant relative to the if I added.

> in which case I'm afraid the two are too different to compare: That
> rev >=3D 5 one tells us that the entry isn't going to be hotpluggable. =
The
> APIC ID check you add makes no such guarantees.

As mentioned above, if that's the case I see the problem.

> That's why the new flag was actually added in v5.

See other branch of this thread:
https://lore.kernel.org/xen-devel/80bae614-052e-0f90-cf13-0e5e4ed1a5cd@in=
visiblethingslab.com/
So we might cover at least my case regardless how invalid APIC IDs
should be interpreted.

--------------8PpbNFGZn32ploxgMhDxTmoH--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmTRCDAACgkQkO9xfO/x
ly9F/A//V1HnvexE/g4/sZcg7CAIVQJ8XTAHbxqmv7rAhLmuLKSZcGeOYriEYVg/
zZMaL82Ja3bYD7DlVUm5Pxan7McNdPIpldpW+ffbkS1SOCQzFpVhA5wbkDV4Z4jh
ulxxO5DQWrOgTrmjqK0jL24SPHgqcsFFvHoQPW5fAMJXEU13Hk7kvOlG9PdiXbst
2/9icgzzN5ANcxGZDFbEY7KOt1VvP7lPqMkZ9As1kdfW7vpeMZD7U2gDGMqyPhxz
yIoH/k9s+S2IyTO4J75Dku2kQa3PfnNIcksq/0b0W/LpnQnJhlRocBLTro/frl2R
WrA+HLhb54qkMKgQD9AhIvr2GAlmFCBLGN4KjoRYqGDemDr2BxRp6Iq0dnRWIhvu
HOcMCjObZfyQOyz8sddof3HTUFX7gh/HyBmhWMUoMXde8INX/UGzcysp9KB1Ieb6
oRcCy2lkb/Ly6AfGU8s7mc6x4DQ4KhR5FbIXfxtdiGX6GDH+xfst95DUYoBO1www
aMa4TggRLFcagKBftUJZjqZnZEEqkBEc8U8ac9AWdSsdreE0rS7or3k1bqv63pXN
BbgxtQTm03rlxsLp1TqzAEuogrkAj5g90plmA7TCdTTQpVJbAhxahgyxXRgVKYih
nKDpqukFZoA59EDiixqr7rINM8ylSgeNp4pFNJii3aHnNOXKIVU=
=86/z
-----END PGP SIGNATURE-----

--------------1XX4WipUR17ddjVy1wur38SO--


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:05:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578601.906186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1nf-0006vR-VW; Mon, 07 Aug 2023 15:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578601.906186; Mon, 07 Aug 2023 15:05:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1nf-0006vI-Sc; Mon, 07 Aug 2023 15:05:39 +0000
Received: by outflank-mailman (input) for mailman id 578601;
 Mon, 07 Aug 2023 15:05: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1ne-0006f2-LB
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:05:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2055.outbound.protection.outlook.com [40.107.7.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd2e6a1d-3533-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:05:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9355.eurprd04.prod.outlook.com (2603:10a6:10:36b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 15:05:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:05:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd2e6a1d-3533-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XLOpJuZSrPeDdmo7PsXy3rIX6DUynsldbsKsu6f+DLcoYyd8ms38IEpDMtbv9RvtPwzQleE2YT4QdFYLZD+6v4bGmiSriwQv4nmhTjFK1z/NqEJTd41/swNebUa1kAIoyb5mY7dqQafUyU/zfUJEENjjjH76GQkb0M8CtEJUHDDtF1OFe8BuEEC8IvdpOvnahvIFYsa3QgbSw+Y/nTWb7K66bVEwHOKA+LQCM4OqsxIkWfMaGpkD2i7A7a36XH98mL7YWSXmMAzhMJbxOAXHHIqQQlgcCJCOoq3TEvA+1oJfTaDdU0OBcJoTPDm9GJ0ZQ7iZdvi77j0XYX90/bdNtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LCpIa/iskW6jITbUOFS8+hhzk/xiY6ob/s6idhQe1J0=;
 b=THaRbgwsukvrVu1w7U4OTI5QQDSshP+OsV+Mvjv+vZh2lFZGKNCRmZBqtcH4lCS9KyCBLDuwa0KogjRDwDG0aU0AeBLUbBZ94x3OlNBE+77OhV8YPGy8CxMqsFWU/WhvWULWA4lOSso2uKqF22QgYMWaZlHGVE19KK+1P6qK/v0Rjxcwy0yo8oM6baob/QlaOPP05No6wkY4GsLe1tDNRMM0EkrTdUzB8TM8ykqiJGFCwVN/8R7799ZpyS1n8I/BGpuX4QGFz/fXi2xLp5UzZ6BVKLYMguVichlhZAkjp570YMYTj438G7ojP94Rmo4E2xieYUrT1ow7koMtTaDxLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LCpIa/iskW6jITbUOFS8+hhzk/xiY6ob/s6idhQe1J0=;
 b=T9e+hzaaXbiRPlgfJvA7yvqXOsmzQ8rrwhNjHcI96TSUjxemshaxYcE2Ogyg3DQBuIV8pmBRoWKz3afjt5sfoI0lixRb7rvBrpUAf88s4g2Ew23HthEsqs4hdI2Ml+fxjsU9Tn/vTIMtn82iX83pi346sYvLXM6UB62A0QwJqUtQSkQfsROK0gv394EOt84bpMxyib00BB5/UHvscDxdH2a46sECbmbMNkfreCr556K8W7m3BVGTFYyaQDd/4whqKSuJ0wgzeNAmhFCnCoouNPYeBAtlhchik8SRp0+MKB4LaOG3EYLrrfu9mG0dkrYwaHUfcsuS0UZPY0Y5oUVUEQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8cf5b42d-a80d-a8de-b564-8b45c97474c4@suse.com>
Date: Mon, 7 Aug 2023 17:05:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 4/4] xen/ppc: Implement early serial console on PowerNV
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <3176762c2eb09d01d65a348e296a94cf0356ff46.1690934409.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3176762c2eb09d01d65a348e296a94cf0356ff46.1690934409.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9355:EE_
X-MS-Office365-Filtering-Correlation-Id: 8371602a-3bc3-47df-a093-08db9757afba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oGs8GnZ1kI0VzI1Wr2wOcrgcz6NoH4vBH5cu81z/U2ZsyvgDIumt/rq0hQfNFz5bMlDNjMNBLcuCxm8gwocA5uMRBPcRg6XGL0rzeU/HbMX4LjrDiPn9P/Ng1hEV7oOmn8K7linXbKrUuBwEdX2o5JCGVLYvPWeTSyzlvBXm5jV7jy657pPqvxzfjni+P7+I9DfSj+WGBBTZsqBywkSuxjT7gVTFmEVW0ygMSUVrSTtthFSxoK3yfrL31eybbiqwWomCL9TgGZIHPMVWEXtEFRjj85NA/6R+XUQuF2mv+vDJt0t5Bfjc3pcjVWb3phS5H1fUbS9B+VO+MJUrqrw8X9kl21mNFwgqtXjM0RUIE1dFyoaOnrGMcRbTyuyIpl30Idxl0IwGgqReJHdV9R6HPHWCXioOHqpvWtfBr7gr/NpZHlrysRPxqlVXc5R+Z2nlUZaELVD+PnMWw1lGp2CiFJ8MITTVClsiM/7v14xovtZHmG9yur1JhGQKTMDz/DTLKYW+09rEjFWzgIUPwE7IQAWAT1pX/i6QWu4UnnrUVrTbtyOC32487YYWCg8+GjQ+RGTbaK4wzqaUm+E+T3BzdVlAFPyXJtPo26zujT146HSGGhFHzh2AQjr4Ceow3Vg/lJP8WQVhGLv8V4ttbctkbQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(1800799003)(186006)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(478600001)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66476007)(66556008)(6666004)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUIvZzVXOHpicWJWNzhyMUZ5MGZtNzNnZTV5V2ZNQjFGd2FrSkt1OXBVQzZn?=
 =?utf-8?B?Um82dWtML3hQcXZZMSsxVzIwZWdBMUNMaGtMM3VFUkI5NlY0bWdLRWVNUFhJ?=
 =?utf-8?B?TFp5R1VSMzRaQzRtTUpINEI1Znd2Q1IxS0NCaHQrd2JULzJnQm5tdkhDekRS?=
 =?utf-8?B?UFNiYm1NeEp5bGMwcFU0SzlBekd4WkRXOEpXWko3dkpNZHZJNVJDL3NKM1NT?=
 =?utf-8?B?bE5BUUNIYkMzRUxiekVMTkkxOEVaQzdnK292ek9OeFVRSjdlLzM4bTlNQmtL?=
 =?utf-8?B?OXJhREsyM2F6TzlxVDFSKzJoYWUvQkp4eFU5eUZINlRCNXF5ampNS2RvYW1z?=
 =?utf-8?B?bUQ5bkxQbjk3RGtEU0Z1TUtncTRWdy9NM1U3K2FOWjFrRmV0MkpDYStING1N?=
 =?utf-8?B?WXFldG93QkVpZEc3WGlRcGh4eklOR29oQnI0ZGRnMGdHWjBYVnVzeXBiZWtr?=
 =?utf-8?B?ZVVPUWNzZ01WN1dSYlpCUjN2WmI5Z0RrVGI4SjJDYVA5Wld1bmhqakEwRnZU?=
 =?utf-8?B?bEg3L2draGF5SVVmN2lYVHFTMjB6MU9aclZBWlVjZzBkVmhDbnNEZDB6aXA4?=
 =?utf-8?B?RUY1STdoREdtenlsejFJTHJpNSt6YzRjaXpYL05WOHY1MjdHMlViNDJXM0JG?=
 =?utf-8?B?T2VrKzhmUHZicHpMUEVZQnVBeVlBaU1adlJDak5pTTRHSHpLaUhzbXZNcHY5?=
 =?utf-8?B?UUZvTytJSFRwdUpRZVkxNkptVzI3eVBtdUFUNkZJWEx2YUxCdVluczN3VUo4?=
 =?utf-8?B?Q05OR05uYll5Nld5dlpqYjcybWlkOU9obXgzeE1mS1ZibDhVZlU5MmRYOXFB?=
 =?utf-8?B?b2RtcjMvay9FbzdyYjduUkg0RUFJWkZsVXVrdnpia1ZoZWxLK2Z5MWErMlVC?=
 =?utf-8?B?ZXdWa0FzcGRON05JNG9GVnJndVpnYnZ2YWo0bjJTSlJJd2REVXA0RXNsbDd6?=
 =?utf-8?B?b2pBQ0YwMWNrTk5WdVExR0ZDZkFxN09GLzBOaTRWNkhzamU1VkExN0NXYkVs?=
 =?utf-8?B?cURPWXdNa0ljKzhnQ0pkQkMxVm1uS0Q2ZGhDT1pDZGdWZ29UbldDU05oSExx?=
 =?utf-8?B?cUJGM3U2emhwQWxZTURscHNDRDZ4d2d2NEFZbnV0UnFHLy9pOTluNUR2RGRB?=
 =?utf-8?B?blFkVllpU1gvclA3bWRpZEQreUVicTdSdjIwV2J3MlZ5M05NeHhSa1lIMW5r?=
 =?utf-8?B?OTc5MFhDUGhaTS9uVG11ckkrWE43TFNVK1ZyWm1SMGZCN2RlQm5CK0dxem1D?=
 =?utf-8?B?NzB3aS93WUVZQXZVY1JNUitpRXU1QlJwOGJIM1E0ZEVDd2tBVVNXWkIzZGxM?=
 =?utf-8?B?UnVITVkybDdSVDV4RGtkNVRoc1JnU3RnaXBSdWJ4WGVNNVRHRU1OVjlydDh1?=
 =?utf-8?B?WXBHcyt3QUU0RGE5TkdnOGVRTE5MaVQ3d09zKzl3bzRLeVFPZlhUNHNtaGt3?=
 =?utf-8?B?TFB4N3dHQmdQenI4dVIzWlBuVktkSFhDc2RFcFZzcnI2TW13MVRyYWU0MEdF?=
 =?utf-8?B?clNuQy9ScGtubkgyWUJ1T1UzZVhFZ2lOaUwraGpSM3V2TU9pVzFXanlpVjdr?=
 =?utf-8?B?eFlFYll5SGpIY2d0eVAydFdCOFJxbWMzVFdjaTg0c1VUTklDYW5RVlNXd1Jx?=
 =?utf-8?B?NVFFRlRWZzVURU1PTHlhaVhyU01Ydkhqdm9mandua2pyYUY4Rmp4QldxZXBm?=
 =?utf-8?B?R2ZsaGt5VkVVNTJMSkh2SDFPaHhTamFiQ1ZJWHd0L0VhamJ3a0JxbW1ydTJk?=
 =?utf-8?B?ell4WHhqaFR0Ym91WjNETThNaXlCWktLZm51MTBZN3M1UzFzQ1Y0MDVvQ1V5?=
 =?utf-8?B?SjJRMTNEbWlyT1kwK2x4aS93enRNUGtWVTZ4TDJ1cXhtdFFSWnIwd2ExWTVU?=
 =?utf-8?B?Z0xDdzAra0VrVzhUK3pPcGgySjJ3UUZjcUl4WGRWUXZVKzR6TUF2aTRmNExN?=
 =?utf-8?B?VFVmL0k2akRBUm5GUVh4cVZ5cWt1N0ZmL3EzRzJnWjMrMFI4RXJiNllHeDJl?=
 =?utf-8?B?dTJuNFJWSHk3SmloK01QMTA5VkFheFA1VjNyZ2IxSWVYanhSc3Q1RXRhbjJ6?=
 =?utf-8?B?VGV5b0R5dkVBUmhnSWI2OUg3WDBiZlFtUGlyTmluMnpROEo3SlU1VHduUERS?=
 =?utf-8?Q?Yfv/ZZxDnx8BwqYdx7pNEJ27a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8371602a-3bc3-47df-a093-08db9757afba
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:05:07.0505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1bFE3Zo+qbSob9yP1/Ff5Cx2WFwPQ79y895OVkqCLNID9YExKa/WZFidSMfA3mdTGPMnQHLvHEhJu2lUhD4ptw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9355

On 02.08.2023 02:11, Shawn Anastasio wrote:
> Implement the OPAL firmware calls required to write to the serial
> console on PowerNV systems. Unlike pseries/Open Firmware, the OPAL
> firmware interface can be used past early boot and as such the relevant
> functions are not marked as __init.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Constraint as before and with two nits
Acked-by: Jan Beulich <jbeulich@suse.com>

> @@ -20,8 +22,20 @@
>   * Load the address of a symbol from the TOC into the specified GPR.
>   */
>  #define LOAD_REG_ADDR(reg,name)                                              \
> -    addis reg,%r2,name@toc@ha;                                               \
> -    addi  reg,reg,name@toc@l
> +    addis reg, %r2, name@toc@ha;                                             \
> +    addi  reg, reg, name@toc@l
> +
> +/*
> + * Declare a global assembly function with a proper TOC setup prologue
> + */
> +#define _GLOBAL_TOC(name)                                                   \
> +    .balign 4;                                                              \
> +    .type name, @function;                                                  \
> +    .globl name;                                                            \
> +name:                                                                       \
> +0:  addis %r2, %r12, (.TOC.-0b)@ha;                                         \
> +    addi  %r2, %r2, (.TOC.-0b)@l;                                           \

Strictly speaking the - want surrounding by blanks, but I wonder whether
to PPC eyes these constructs look more natural without. Please clarify.

> --- /dev/null
> +++ b/xen/arch/ppc/ppc64/opal-calls.S
> @@ -0,0 +1,81 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Adapted from Linux's arch/powerpc/boot/opal-calls.S
> + *
> + * Copyright (c) 2016 IBM Corporation.
> + * Copyright Raptor Engineering, LLC
> + */
> +
> +#include <asm/asm-defns.h>
> +#include <asm/opal-api.h>
> +#include <asm/msr.h>
> +
> +    .text
> +
> +#define OPAL_CALL(name, token)  \
> +    .globl name;                \
> +name:                           \
> +    li      %r0, token;         \
> +    b       opal_call
> +
> + _GLOBAL_TOC(opal_call)

Any reason for the leading blank here?

Where necessary I again think these small items can be taken care of
while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:08:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578613.906195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT1q4-0007xi-FB; Mon, 07 Aug 2023 15:08:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578613.906195; Mon, 07 Aug 2023 15:08: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 1qT1q4-0007xb-CS; Mon, 07 Aug 2023 15:08:08 +0000
Received: by outflank-mailman (input) for mailman id 578613;
 Mon, 07 Aug 2023 15:08: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT1q4-0007xT-11
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:08:08 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36bf6932-3534-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:08:07 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9355.eurprd04.prod.outlook.com (2603:10a6:10:36b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 15:07:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:07:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36bf6932-3534-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gCj/hEMBUbZdEcIFLR2gFbHxlA91nkzH94BT2QMc2ILTyVlNG1czcOVTnEchlZYrR71nJ70teOEeMIzkpeKySjq3bCftyLAaByNTTvv61A/7QI8ZlYwD/Z1WyWyGFH4bQKQrMx1iHOsBLdayoeUG41YT1lzl9eslSrwOFK0vSIHT/pWEwWjByNc0pua0cdcyeXTRWZlDcUaf0zpEjv2mAVC06BNXYXez6U3wkwMmnYnQ7j1GlK188WzSSVyGwR6/z0+ocGs1B8gkxLwfsjwMZ84ggJAKrAIOBJYUCy3jMmd05Z12xl5MgE4bpRSmOQjhBJKBy0MQXZYgd1bf0Qj1Ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CtkciH7vevl+qXWFJGYHXABbC61JyYKo54rYVn7YO4w=;
 b=b+evAhIjHv95jHdPo2s1erVk9TUGWvHHS0kuTiB2ndfBSpaCaFAlbbF0XKpF00y+sCyQPXzWv74HDYSfJ9kgJHUXCkbtd+KVk6HELpS8wwsARb/ad0g5jfY8NIT7v5mNeLy8dQdDsHqvE5iK/+nRpCjk83QJu807PuJGWNR5qX4XFO5cLPWjlmGGvWV73RcLTrbaFwebV5V/jASf0WlBa0zwNGQDPI4HEse3f/FNOGKzuf0pE2urgZ7QJbHszB7yTVgl86qIXuu52lOJudtsc5d3HxbX1C55e1+NuJAIj4QSvIoxw4QkUoRv+38gh54ZrxuKv1vNB6geuwScRahx4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CtkciH7vevl+qXWFJGYHXABbC61JyYKo54rYVn7YO4w=;
 b=LC/UkmU9Bx8Q7n/gofupiyKIr4udBOcWggaVYvt+0a17EhElHjNekYWJqMdGypx20Go9fX0pQVvU9ORXzb2Sa8Ut3PPHz81Jp64l52Z6QAdQ2BHfZbyQKBUndWrbWFND083rDvyFOLMhKvi1M6X5tBHB+hDgaBcUEnInFZBT04HWlLTA6pfE43eNslGeDFhjbw2UrTXD0pAmPC6dT4Kg0/aZhajjJpLA9AA2p7YzvmCi0xzV45nPjiFc7NkBcik25DM+hU87rUrWVp4BYTGeVLwg6QmGB6g96480Uf7NZsOEJvx5fB6fLNfjd+l58W4BKiREyn7MkIJLAq1CdXtFLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9441c47c-a573-767a-f3a1-649f09f6f43b@suse.com>
Date: Mon, 7 Aug 2023 17:07:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <a7c9f20e95bf514650637049e1947f8f@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a7c9f20e95bf514650637049e1947f8f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0171.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9355:EE_
X-MS-Office365-Filtering-Correlation-Id: 63c5e3eb-74a0-4f31-25f7-08db975809a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I8guAqG0HB3o/NYrtWQrOP0rEBGx5dnHvRQwXFAETME8VS0hh5OrL+s5WVzeq9LcjCG0XovAj+UYxQmS2I4XUiHqPfJcnmgYhoXhIFzQRmEy8W9EVhnOxosuuHuHKrMpQkLAogxVCZhg3WlYHiX0XWltiC4SJY39LzgkuTXvpNBtJSK9DAKlLV+q3usfWp3L23tz3hgHstyclmuxi5Tih7fJdIf6ZaUJvD5Y8D/Wdw33CfVb4xr09uGtehk0B83z+ZMhO/R43ItHK9dSa+OWze/lkr+wrqDs3mwHqKVcteu84C06anLWADMWxyCN3eYfhpZwy6gZFgy63XlzV88Cs81LmjryvsohiTr/sOIxr2KMAwyGXgnuLTG7diCkbU/FKcButMBfrV8h29/q/1aVWGdzrMcEsG1NxMMhowiMHVD5BlIF0Sb+NKahStdTa/974xspIJhXeDfFh6IKvZK1R4EZQ2iM1+ZfXX0aWCViQohj3souKD8PGIFDFqcztEEjGDkDinyLctG6xVPwPd0j57UsLhf2i1hOgyf/kDDyQ0V/SBLY06SlrTSpUJtjIlVrQu4a++OzBPMiXnOTQHjTihIkIIZaLbW34H3noNRS5/XqYPr9EwKHNzRLA9zdPmh2ly7cOaeThy8/ZedzlORfQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(1800799003)(186006)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(7416002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(478600001)(31696002)(6506007)(53546011)(54906003)(38100700002)(6486002)(66476007)(66556008)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1poTW5pdktaY0ZqcmJqMHVaNFloVFQ5UVhyWkJMeWFRL1oyZW9rUWdNMUxC?=
 =?utf-8?B?SnRBWDB2anB6RmVKQ0dEYVlyMmFVRys2czZjVmNkbzkzeWJOdGxHL0JuVDEv?=
 =?utf-8?B?anFtRTlBaklUZU9oZEZYUjQ2cDN1UGhqK2pYOUs0WjBhQ003bCtSYVZjTHh1?=
 =?utf-8?B?L0dPSzUvaE5yYitMRGdlSjFuSHFpVEp0Sk1EYWJ5Q2wwVGFicjMvRVZWNmE2?=
 =?utf-8?B?NkpMR1pUQXJyckw1U2k3cGtyUUZMa0QyOW9SWFE3eEtqYXJ0cWovakgvSDJR?=
 =?utf-8?B?eDlERnNlMDFKbytleUplckU1MEtnZVI0a2x4d1ZRZzhXZkd4aGNOUHFYN3Ri?=
 =?utf-8?B?MUVDYnl2YitGL096OXJLMVN3SU5LdzhNRkNvV1QrQnNENU9kczMvZkNVZ2JW?=
 =?utf-8?B?MS9TTm1ucUp5aWRibWNsZXhFOXBjeU80R2NEWXhMSlpFZlU4RUo2NTFDQ0JB?=
 =?utf-8?B?UTd3ZHM2WjJid1BqTTVEVTVrM3ErZjBkN1h4aDN4bEtFclZidDdTbGpjN01I?=
 =?utf-8?B?VVdNRXhnalNFRFNURldXd0kxRDBjbCt0a05Sd0syREh5eWhxTktENkNYQ0tE?=
 =?utf-8?B?Uy9xWEpqTTBJb1FwV2p5YmRvR2FDa0dJa2tqNjM3eXN5VEUyeHppM2taUU9s?=
 =?utf-8?B?dXRaeWlYdlF2RFhPZHNQME9sbnBpRVcwZHBnMllSMk5qS1EzMC9jdjhDcEdz?=
 =?utf-8?B?QXp1eXdzZE1LaEN6RCt2elVZZWVsSnhLamVGcmdTQTNKaGJ6NU1VQ1hTR3d2?=
 =?utf-8?B?bnlMS3cxZ2tHWDRFL2kwSXFtd1BLWkhCQjMwRjltOWx3VithZ1VSbkI4c3BH?=
 =?utf-8?B?QmFkd2x3cE5RQ21SVVkyNGVBWWZpSXdCTUllYjhHRnI3b1FYWGRRTzIwcVRQ?=
 =?utf-8?B?UGRWeTBJeWptY3RFc2ZrUUNLdmd0YkxCbTgvd2k4OWRFbTVrS2VmVG1oeExC?=
 =?utf-8?B?RGxTQjA0L3RNdUkrVS9tMWV1cEhsMEVlZXlzRXlLeDdHSUt5T1lrTmpvVGtG?=
 =?utf-8?B?S09ka3M2ekpOV0lqVURTQWJYM0tOdE9QR0JOMVVFYmtJS0diVVdlajl6eC84?=
 =?utf-8?B?UDI3QmI4MnpNbEVyaDUzYUtON0dUQS9TQkZSKzNvbnhnV0VKRlovTVFEamVy?=
 =?utf-8?B?V01uOVc5N1JoSVR2eENmMHJCYmZVbXp2Q1c4YnVkakdIdkRXaStxa3JhUDhp?=
 =?utf-8?B?WnZORnNleWZ6c1hIUlJ6blgzUHAxbjNRcXRsaDVNOUFVbi9mVW1SZkNSei9O?=
 =?utf-8?B?dWJKWkx5SUJVYzVnR0Q2U0dtQVl6cnFDMitsMHdXMmxyOVFmWVR1OGhjeXIv?=
 =?utf-8?B?UFNhMk1WQ3BDMEhiaVM3NVoxK3dWNEd4emM1SVRSdnowVEgvRGVqVk8xVHZ3?=
 =?utf-8?B?M2NQUTZHYmpib2hpQ244SmFpTGJnQlB6U01XM3dZRHZBUGpWK0o5c1J0TitM?=
 =?utf-8?B?aXEwaENzbjV6SVVLRTJtQXBlVVhRdDdnbWthbUQzRVdxY20xR044Z0lGUERX?=
 =?utf-8?B?dXg3WFZvam54MUkvNUdlQml0a2pBT0Jka2M0K0RUcDc1M2lyb050Qk5FVjdo?=
 =?utf-8?B?eTRKTGxvNGMvU2pydVZVaFNUaWcyR3ducUxSVXlpYjlnb2xNbHRVcGNNekVY?=
 =?utf-8?B?VEs5WVFqWjB3bGp1VVBFR3BDRGhEOFlmWm1UOThUbUErUXZwV2R5OXJDam5z?=
 =?utf-8?B?VENqOHg2czBpdS9QK2UvbEpIRFcxOFlPR3N3SHU3QWJDTG9Qc1djTnNNMzU5?=
 =?utf-8?B?T0JPd1kyZWlNYmxQdW8vV2N4TUVtOXkrSG9TY2g4bUhCN0U3SjdLVXIxalBK?=
 =?utf-8?B?L3VKdlNlMm1sUncveEVrQ0JOTlFjdFpVNUVxQ0FHZi9kM1NnQ2ZuanZwVmJ1?=
 =?utf-8?B?WGZOQS9HOWkrQVRrYzBXVU5pY2NrOGg0ck5QM1AxbFE2Rk0zN3BjWXIzS1FD?=
 =?utf-8?B?UURzUiswcGVBYmFNVE9ubmhRUmZyWVN2WkszZU5PazJVbWhHa1pUbUdDc0NX?=
 =?utf-8?B?eUtCVE1NSm5IbWw2U3JvNXRvMGhXa0NOWWNGVElqTmFlbUErdXVYYU9vcFJi?=
 =?utf-8?B?R3F4ZDJzWjh2NFhzZWxkWEVhNHU3dUFLOHB4UC9YbVZ1SGhsekdSTEdYUGJK?=
 =?utf-8?Q?C/jt0yB4iFhTIHvVeWNpy3bOZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63c5e3eb-74a0-4f31-25f7-08db975809a4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:07:37.9036
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K6XzMGFca11Id+LqjuJg6erec421krqoA1A9cBsp82amzkOZ/ahjHla0OUakj6eZkPNbohH0RyLtIud4mSj2hw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9355

On 07.08.2023 17:03, Nicola Vetrini wrote:
> On 07/08/2023 10:09, Jan Beulich wrote:
>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>> The variable declared in the header file 
>>> 'xen/arch/x86/include/asm/e820.h'
>>> is shadowed by many function parameters, so it is renamed to avoid 
>>> these
>>> violations.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> This patch is similar to other renames done on previous patches, and 
>>> the
>>> preferred strategy there was to rename the global variable. This one
>>> has more occurrences that are spread in various files, but
>>> the general pattern is the same.
>>
>> Still I think it would be better done the other way around, and perhaps 
>> in
>> more than a single patch. It looks like "many == 3", i.e.
>> - e820_add_range(), which is only ever called with "e820" as its 
>> argument,
>>   and hence the parameter could be dropped,
>> - e820_change_range_type(), which is in the same situation, and
>> - reserve_e820_ram(), which wants its parameter renamed.
> 
> This one is defined as
> 
> return e820_change_range_type(e820, s, e, E820_RAM, E820_RESERVED);
> 
> so I'm not certain that the parameter can be dropped from that function, 

You're right, it can't. I didn't pay enough attention on the interaction
of both. So renaming it is here then as well.

Jan

> because the cascade effect
> would eliminate the need to have a 'boot_e820' in 'xen/arch/x86/setup.c' 
> afaict and since the comment says
> 
> /* A temporary copy of the e820 map that we can mess with during 
> bootstrap. */
> static struct e820map __initdata boot_e820;
> 
> I'm not sure it's a good idea to alter this call chain.
> 



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:19:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:19:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578621.906205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT20e-00015n-EH; Mon, 07 Aug 2023 15:19:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578621.906205; Mon, 07 Aug 2023 15:19:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT20e-00015g-Bd; Mon, 07 Aug 2023 15:19:04 +0000
Received: by outflank-mailman (input) for mailman id 578621;
 Mon, 07 Aug 2023 15:19: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT20d-00015a-Ab
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:19:03 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd0f0fe8-3535-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:19:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8014.eurprd04.prod.outlook.com (2603:10a6:102:c7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:18:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:18:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd0f0fe8-3535-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FH44mVrjxE8g1SyBAyUlOMQOvkc5prJmj7FSKLAIFa3ih609UA8VOWsuMsTMbaBiNDFeYALR3IlsgRjFqi5D+LtZF9aEZf+eGFs/UwkqNyJ4HOjNwhO7qBfQziyI0E+sr6pVZVgbiTgS+H9vD8rxG7tJ3fnl9thXBZeGUcoEHAiTs1y5xBXPoual9W/84Tg6q3FQmDZg0VAtrkUQDOdOVcQdgit8V8TR//VXnEbMPWm+UOFiNK0XX9grpGo1wRW96HhYikbB7hgmyykkZZgytT/QLLX4XXvOdYPJbtK7DDUIkHb9A9AzukYDTrgPGanD8N/hUeYAtgriA5fOjmVNtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tzdCfVim1ytrX1tr5NtU841AKoz9XTJNWGUYa7yphwc=;
 b=Sk4/P+CVpP4UN3MO25hGGSEvxpZ61ujYOSujffgtoLvwJq+gHhSAhwLGsSo36mYH746g47sDUIK/Agbmejjt2LWeOJHVFYEoKWU9Z3ZAWmhYIzXqyxOZlBfQ/AoZQ6L9zDf3+PG0H3LdCp6leYpVBBnzwUbzJ8cm3XDfJKDuWmduskkXWPTSnXrehtXPambQUWTWrmYkuxjVT1jkFVBnm4g4LPDYb9GKqnyc7A4HT3RJKPQ+9vzZUOj+6vlpl+TEOAksyP+F5KT6gMjtlbsAxPIkEQE5ZnE70+vxmMY5mRM/DlZKo+G/KAx43xo57VJiUY34rppkaro2/PsNi34xVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tzdCfVim1ytrX1tr5NtU841AKoz9XTJNWGUYa7yphwc=;
 b=4VFzX9fnURz3JFVJq5281xXqMUHPVfHblc0Ijs0RkF5fBpUNJMhgOA5QLaAL2O2Bsxylq2yLH+pUuy9sYNWVOUCw5vrw7Mp8hAIQMGfFdGtLNsV9pbuDZ1AozwGsPLLBreha9z0mI3tYuR5Q54toVtQ9oip7EBY70OhbKpgV22HAsZoJMGDSFl0h2s4wSyv+1sU0RWqSWEkRiP1yiXwDR/nODnizZ/myVJYhUrOwDxe/Sf2yg0UFw0djkRZD3LriBWVSB3xExtnyjQIyg1qRyW1JfKcDuWau+e+BpG0JpzyDDFKgyR/qJCXUNCvt00g7bxz6pdwvpJtTMR6tupumEA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
Date: Mon, 7 Aug 2023 17:18:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/4] x86emul: support further AVX extensions
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8014:EE_
X-MS-Office365-Filtering-Correlation-Id: 6999280f-4f4f-4054-dc5c-08db97599fd1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XTgcwK/TL64ntH3x5LH4IeMUysqk+3h1WIzP6BKwagpdhH446sr+URA5cQfXOMCUSg/c4bRsaiaPtX0FlhhUKSBAITvMxBBQG0lyjggvf1JfVCtNQoF6RQn1tEPUrg/foupfZ0zHMfqk2cl3Z3dMhfryEytS4KuD7OV1hSfdycV9HRbUgQhNEwvyTRGT7D+HjUFizwh01nUDNIEHO6+5obVH3X8VEGwjUTQB9pJLyzZYq9mlebYNzwcWPAC4I4pFkWjRxXxceq6ZF3NlkWlaPCkkPi+Mhkjq11ysBy6yaSrT9vjmcRbIY0lrqOxsbyUeAMuZ6k0xiaQJ0jo2ORQIU21lQH92Ns5YujV8fwyfFBsgGPxkEC63wX+2lsy++lt3EJZiCGCiBTErqBvM20rotPTBgXuPh8MHJomtErUf997v4FUuHjqxD9UzRqHZXsxmRZF69OJ+c9iPwJejO0O6QjkUt0doLLTVdx4f0LgPPDosgqT0nahyUz7TYZnmvSRfR2Vc8UqbJMoxMZokJc2NHc+8JG7jy0fy3qTlOnjfhpPoN9WsQ1O7j6puAcHBWWc1okQ5z9ynlTk44qU3M01cr8sEnFErA1pCt+Q21BAjcVE5JSJ8H5GRmLmBK5tl2Tv1BdCKK98GT6XK5Y1IPcPwjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(558084003)(478600001)(6506007)(8936002)(8676002)(26005)(38100700002)(6486002)(2616005)(5660300002)(36756003)(2906002)(83380400001)(54906003)(31686004)(316002)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEdaSVkvRStFSGRmMnNYZXJCbmhxakNZb2RlODQ4c0RYcGRodWVpNmhuL1pV?=
 =?utf-8?B?d203UFc5WklkUXA2VGQxbGw3dVZkSER0akdiVTdibjdsZkdqR0FYMldDTXNv?=
 =?utf-8?B?alFBV0hlcDRCMDg1NGVJRnhrUmczVk4wNk1VWUwwbVREaXNzZjdCNzdRam1G?=
 =?utf-8?B?VWtTQU0yclFEZTR3dDhFanV6NEYzdlRUUEUxcFEwTGtHTGlvRXhLSG5DKzgz?=
 =?utf-8?B?S1VtRjAvcloyNDV3T1RkMFFQU3VyYXZkNnlTSWRhcEZkUEZvd2QvSjBFTWt0?=
 =?utf-8?B?UDU1Z2hLMjFibWVHRXlvV2FUcWZpNTJibERrQ3FBZzRnbkw0cWs4d0xucWpq?=
 =?utf-8?B?b2NvUlEyNFhGaTdwYkZRS3NtNVhJaGpuaVkvNngxeVl4Z1lMVzlJNUoxeFVQ?=
 =?utf-8?B?U05hVkZ0cDlIQ3piQUdsRW5ZdEl5dmJSQ0ZaZkl6TW84d2JMaXR1MG5CcWtm?=
 =?utf-8?B?bStCaTdyekg2azE1enQ1MVV3MUNrNFgyVzBsYThnb2FUZ001aSsrbVM2VzJG?=
 =?utf-8?B?a3lqSUdYcVNzR3ZFVFdRaXJNa2p0LzIrK1d3YjNMU0ZGc1ZoNVBrUGVHSnlS?=
 =?utf-8?B?dkdTV1AvTnFpUjNZcE1IZUV3M0JrRkU5dEFaT2RVcHJURENnQk1NYzhjTXcz?=
 =?utf-8?B?YW42cUZRUm0xdUxjaUZ3eVpPS1ExakpDSXVQbjIvNXJLRnVQekFMMVpGSWpB?=
 =?utf-8?B?S1FrL1dSWjVVRWI1Sy84aEZBLzJtSnluQ09PVlVsWnF2MVA0MWxnMHdJRENk?=
 =?utf-8?B?b1BCc3J5UFR0emJVSkgvdEI1ZWxtaXFoWSt0ejFmQkJIQTk0NU1NclZ5Z0lP?=
 =?utf-8?B?bjBia2pNS1ZOcWdlUVBleWRNV3ptUlgwbEV6dUNzYVdMRm41WnhyQnF5R3pU?=
 =?utf-8?B?UVpMblBQOTNINENvcWNFVGo3UFpPeXZvcDczT25kaWtPbTgwQW1Yb0pwOHRz?=
 =?utf-8?B?UWhxbjBQTW9IbjZnN1QyRzhwdytsSXpETlFOQVNqOHQ2SkZCejlkMmV1SHNm?=
 =?utf-8?B?Y3RjVkEzZ1B1WXpQM0UyWkNyVjdaTThUb0hrYVU5NHFZd2JpREZUeWxRbDRy?=
 =?utf-8?B?dGx6V2NIUlRNUndRU3RQMmtmVXlkaDdIa3JRN0pSZDVqRFhUd3puVzlZTFZT?=
 =?utf-8?B?a3hrNUJwWmNOajdiR3RHWkp5MHU0cHJqTVY3b3lzWDRwSGVWZGRsR042czhu?=
 =?utf-8?B?MDlEZUJnUm9ocnhSWUltK2RyT0dIR29XS3NTYXJydGNzSlFhd0ZvZW1rL2Ez?=
 =?utf-8?B?SFNsOGxHellieFRsa3Bnc21RbVhnMjNueXI1MC9ZR28xdkorZHcvRUQ3STlv?=
 =?utf-8?B?akY4WkJGT3VGQS9MWEJhZ2c3UlZjZmQ3eCsvaXpFakFVVVpzenZUT2tVZkYx?=
 =?utf-8?B?aDV3NXE2ZEFkMkgrVDdQaEd2MVZ2VEVBck5XaFY5MXlIaWtDcHl6TTYvZ0xr?=
 =?utf-8?B?emVYT1grTGp2dU5LWGw4d1B5R0JOSnNkQ2V2SmVoYmpLQTdRbTZEbE11Tlpt?=
 =?utf-8?B?M1dqalNhc1lBZXFNd21SR1doWlE5bDFJOUt1ODI2K21HTDBrcG9lek0xUzVI?=
 =?utf-8?B?V0xKc1plNmhkYmMyRzJPVXE2b2xqMjFtaU1jbHFXOXhFZVZpYVRvNUt0enRQ?=
 =?utf-8?B?a2k5M09UWGc5MGQ2STRDUWpSMjM2aml5Y0o1WUYyS0gyU0pDK1dZblZYL010?=
 =?utf-8?B?WFB0alZXQU41MVNFelB3SkZpSGdKaWJtMDIxSis4Y1lRMG9uNXRnYWplUWR1?=
 =?utf-8?B?bG55TzlqOFBrWm1QenJsL0R4b3lORHlPQndVeHUxejBVb1FTRXhoVXF3WG9C?=
 =?utf-8?B?VEt4Zms2L2ZjdmJpS1dOcWtneXVudnpBaTVVUVBGdnNHS005c3Y1UnJMa1U1?=
 =?utf-8?B?bDJKcGpmNm44MjBaVkhELzhoL2s4dllrKzYvcXdQVlI4SmRtdndSYWFBUDNC?=
 =?utf-8?B?OFdTNkJVZlZDTmtNaWllQ0Z3U2V1cnF2RTJlYUM3aURDUzBsMW9GNUdOTWQz?=
 =?utf-8?B?Vk45am5nbm5zb1BIV2RzTkg0SHJBRlRWNDFWRDlYaXlGMEJWaXpTREU4Ni9y?=
 =?utf-8?B?Wko3T05KYnpGME5IZWFOMnBZRkZqTE9sMEtSSWhiMHF4Ni83NGtabW9IK3Iz?=
 =?utf-8?Q?j0QsAAQ9BklLMFjFucUVtzxe+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6999280f-4f4f-4054-dc5c-08db97599fd1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:18:59.4114
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ht1qF2wA84vONy2EU4VK5Czsd5ouZRo+C9QNmsV+TWkw+N5bCU2aGf1BoCRfSBTukDV4KE05l84k1IUEraVzaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8014

Covers the smaller recently announced extensions, but not AVX10 (and
even less so APX). Obviously CPUID aspects are taken care of alongside
the actual emulator additions.

1: support AVX-VNNI-INT16
2: support SHA512
3: support SM3
4: support SM4

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:20:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578626.906216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT21p-0002UY-OW; Mon, 07 Aug 2023 15:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578626.906216; Mon, 07 Aug 2023 15:20:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT21p-0002UR-Lw; Mon, 07 Aug 2023 15:20:17 +0000
Received: by outflank-mailman (input) for mailman id 578626;
 Mon, 07 Aug 2023 15:20:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT21o-0002UE-Fw
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:20:16 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8e0f949-3535-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:20:15 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8014.eurprd04.prod.outlook.com (2603:10a6:102:c7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:20:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15: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>
X-Inumbo-ID: e8e0f949-3535-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WbnsvD/Boyqoq3MKW0QMEt93/cA1fWpa0V7Yua6sC+6fH7k47ArL9aedLuKqZoR7IlhXooSbuXaOXAET+OF7NgLRRaDfsKJ4m+ys7Y3/JbtgxcemzMYLQ6cUXnwt108C+/4Ajg+9N37p5EJJ7bhAbkWQItS+3g50169w12Q+doaqBY/vKkGEkDQitKn832z0ZZ8CMoQyOBpKqdJoHr4COOB/crGvbQREgWCaur7kPWdTzOKlA0231dGIfJ4Mc9mzuo6sVrqJg+eeHPAPtCfJCNBY9aFDm/ixHHK81f7SKmqZ8Ra9ej8Lf/VkBAuYI1w6xCqyLVcRDvlIUZBfLLYHQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UGOOHP5krYVxVKN7ninHexZbAZk3q9DOBXGn5X6bujs=;
 b=Z3FE96vOcih05YuoHjKx+y0t4yQ2/X5Zehn6DrRHwOB3eD/tQvdJIGEC8GExlHy2gYOF6I/d8HutLN73Z4tGR1pw0MfiLCUErfg5nnMJBIQPsWY0kWNM0itBB1gHsZsQBUMTsxSqUq6JCBlVp9bJh5uxXcVnl9zIo3Gfk8yV83Uw7iTLINriMWotmtL15+wkkDyfiAtjIWhZ7+afEG5uL0Ek36yjCrD51JjygTMRXYDaSkJIOGINbW7wqQq8Usg2uxVxh63CDUMtdU3HAq6mt8WosrmsoQoLtoDNHWHz4+0Zqh7/l3L7rQVGj2Pq576yMDcRVkqvSFsNq6FJ5aRdiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UGOOHP5krYVxVKN7ninHexZbAZk3q9DOBXGn5X6bujs=;
 b=CrIPPxf06n2QGBdKIzCS7nZ6CTcnaaD73TZrNi06NRlNKA8k79uOq/+cG0S+PekIi5BhQU0V2UiDY9KPDm0nlZMVlpdbkqF0u4pjl1ZMuKdPKBmbwELV1epeWvzmJUt1pFeZY+BbCpj8moNXoeu/zYWSMuYRAmN9iVguurqP7Spg37LD62WMIos5W5K1+SvVUEIRam8Ud+n5tIy2S9EdbUPn9Del/UqdIq8pzcLdMuUa94xGoubOJ7XUJ63HGoqUF+v+pgq5VF4CXe9dX1iB74J8nJMGbOSy9gH4IgJTCZbz3cOWIfo65UOvsSkn0hFdNDjy839UBW6psF7s825qXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a7ceac78-c3ba-3f51-90ec-ba7b08196b68@suse.com>
Date: Mon, 7 Aug 2023 17:20:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 1/4] x86emul: support AVX-VNNI-INT16
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
In-Reply-To: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8014:EE_
X-MS-Office365-Filtering-Correlation-Id: 723d360b-97c5-4a33-54a2-08db9759cbeb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bOE5R/VJNuZWazyd+j6sn0HG6R4WeOlm3Lh5LuGo1FLSaKgU+1l66I40dXVSlznKbdw4/+SCRvjuwpKlFLBQfCcTqeaSfyDzZ8kHbiurYn0dNzNpV8Yd0MN9e48YT6x6pUfI4KtOkmQeUbFvuMpuGqaFPsj8CNKxwiaVQIqCJjB3RDyFqmw/5keVt4ZCXajeiCz1esl/Ob3T3gPnEd6JLHdLXveDgUa5hXGdwjglVs1DCtZiJRla4hLHGUekAXJZLAFjwttYloZqhQ9AhwTX8wG3o66g6FR4TTrMKgyjPEjZyppgIkRaBNs9T1I8Q9M0fztQR/izl2faIgrpgvvYzKPJF/zgppxvCytqDBwUFXOPucz4/3qZwBWtzigAR1nmVXAHHcobJB79LrEwmpF1Ylekr0lJ/o2hq6AKIRmrUF5LoRpc4dwuA7nX1p8hUdynzPTak4POxjbbKkpTgUI7OOBSIeEEmzEI6VyEEYCfWJTUsD4l/DLP+wtUiDm9+oXUDgeVvPL/FSw0m39wi6gxwTY7wKCmvDJYvA0G0X0vrvY3TLQJHrDJoKOHTEMBozQbH2kmrDlWtSJuT6CZCVas6amSpZ9pzCuLSPP5YG09vnQvCq02mYJVJVVrZAuQBxdSUxwG5xrI5x0Kt8SoeqKqyA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(6506007)(8936002)(8676002)(26005)(38100700002)(6486002)(2616005)(5660300002)(36756003)(2906002)(83380400001)(54906003)(31686004)(316002)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aW1DUTVSTjBGeDdVMTVtaU9GMVo4VFhRbVAzNExyWmM4VlBydXZ4VEJvcldK?=
 =?utf-8?B?YlRBQ2VqZzdCWlkvYlFjRGlxTCt2cWxXOXI5K2VqVXk3ZWhLTWRjRVFhU1Rk?=
 =?utf-8?B?eUJBT29rbS9QdU9mKzhvTG5GVHRocUlXVVNKR0FpS09WaWJQZzl2ZVJWQUtB?=
 =?utf-8?B?aEtKVDlWVWVMVERlalhxb3pORlZaRUlDdEtyNG9mcXZydTJ6NmhQTzJzYzdh?=
 =?utf-8?B?WTVwMUtmdXRuL1dseld0bjd1QUE4SUtLU1A0SFlYbXo2dUhnRjV5aC8rT3h5?=
 =?utf-8?B?MFZXajE4emVQYld5bjc1RjBKZzNvektBK2tyWlVMV0xDaWRFUSs4ZERrNktq?=
 =?utf-8?B?NFJUcGRETUJ6ZTA5NVFNVk1EMzkvSUZKL3dCRWZwSW9FTzh2NGpMSmE1ZDhz?=
 =?utf-8?B?NnovS2JVQURscnhua3EyVm52SkRjenRPRDZSSkhJVGJ6MW9TN09laTZ3UzNI?=
 =?utf-8?B?d2VTbncxRWtmY2d2aVF5eWtMVVhYQzkxZU4xWDZuUm1yYnIzaHpDYTVndnJm?=
 =?utf-8?B?eWtEL2kyTTl2VXN2QnIzOFNVRUxpSW5GRk5FbFNEOXp3Qm5nK3RVMTlZRHpR?=
 =?utf-8?B?cEtpRVpLNlNEUUlUNGk4d29vVFRYRlI2UmZ3T3VvNkpUbUh1U2E4YVVHM1JE?=
 =?utf-8?B?R1k1REx6VzBtM3FnbFFYaXY1b21yaFpGemg2bFUrb01KNGxPdnJmSDlYbDB6?=
 =?utf-8?B?MDA3WkRpTzZ2OVdkNGRRSlVIS3k4ZG1KWjUwNm1DaXlBZDVEZ3h3NDIzd0xs?=
 =?utf-8?B?cmZ2V1pZVHFDMmpPK1hhMnVVQkJVaHg1Z1pJUnV6T0pYWHVzc0hYemlNY3Zq?=
 =?utf-8?B?K0NWZ1NuTHN5ckhQY09lZlROQ0tYMDBxR0RoQWhwaTJUbnp6RnVmalNOVnli?=
 =?utf-8?B?WjVuUm54WHRiR0N6VTh6UTRVNDU3d0FibkRQTXdtWGc0SHdweVZ4ZWxxREJw?=
 =?utf-8?B?RmpwZ1VoY1VhRWRHbTRNRTRLUmhmdUJxNE4zVUM0eno0VkxjdzcvQkQxTzFi?=
 =?utf-8?B?ZXRhNVcwMjhreWwzR2Qya1YrOUNyUk5mSXNMSUp1WS9YenEzdmpxT2U5ZGRh?=
 =?utf-8?B?b04zTG5rLzBJVFdHZC9tRUI1WVpYNFdQZ0pKN0kyeVlPNnNGTU5oNGNNaUQz?=
 =?utf-8?B?a25tZXRJU2NoRkViTnVQZDdTRE51K1NnOHk5cXhGUEYrbFJnU2c5RTU3TUZk?=
 =?utf-8?B?VUQ3VWFGaUpwR2d4M3Y0MHo2QWtGNXhWWEp6T0cxbk41eVNuOUlNY0t3Y0ZY?=
 =?utf-8?B?WEpTZko0NFRCK25ibmhOVXhhMU5Mb2VPa2w1ZEVzelc5ODBPTVNHVXVwZjEx?=
 =?utf-8?B?eTA3OGpveEtMNC9YU3VHQXIzUXRzbWZ3N0FtMDloc3lZNURhaEhQbzVKbUlQ?=
 =?utf-8?B?NVdxZUp1RklNc3ZxWnI3elZEVXZKdFVJZEdESHVBcVZxL25VeG50SjN0WFN3?=
 =?utf-8?B?WE5aYXFVbEdBZ3VJNVlJdGtpc1ZsODdWbXdzREY5YXFVOWJVSXlLMzZ6TTY4?=
 =?utf-8?B?NWNnYnNCSWZtVTM5YVdESXM4ZXU4Q1FrWTh0emFPSHg2Zkw0V0E2NkJNZWZa?=
 =?utf-8?B?ekFoR00ydXk2WjBIck03ODBrQXN1K0RXcVUrS0I3UDRmQmQ3T1h2REZ0Y3VR?=
 =?utf-8?B?bFd4TWhyNkx1L0dBUkRvck1UamwvUDhlRHoxdWhFU1FFVUNHNmZ0ckpsOWRN?=
 =?utf-8?B?Uzk3Q3pEMWxmdlBsYitURkZyd3hreGNmNXhZQlpQSUFuV0YxbThMOTc5UlRB?=
 =?utf-8?B?Um1HcXdHcFJSTVhaZ0lrRUs5NmZXcUdiQWxSSUc3Y01WOGhBVHFkK2hzSWxC?=
 =?utf-8?B?MTl2d0xYb0pwem9tdDJRWll0WS9LVGM0UkI5L0FWR1lwRkVqdkFMWU1rcWt1?=
 =?utf-8?B?K2pJeTdMWUNRcGRKb0kwcVBSOVAzU3RUY0NCUG8ybEtWWmJXZ2QrejVmZTNt?=
 =?utf-8?B?V3gzbHdydmVPQ1BIc0d6OGluWDE1OHR1YUZsbDh3d2pNY3ZJRTFPTzBGdjdX?=
 =?utf-8?B?OGhFU2d0eXlkY2laWmVTc1lyb2dNSG00dzFHb1NWM29GbExLOWYybk94TTRt?=
 =?utf-8?B?SFhBTlpqZkVLQmJkS0o2ZWdDOWFadVhZeTJyNUt6Nk9nN3BnUWFsU0RUTWc2?=
 =?utf-8?Q?/DQZ63eeJxm3Ihg86ide34ya0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 723d360b-97c5-4a33-54a2-08db9759cbeb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:20:13.3647
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wh4BoECcbDA9mF4aSPXGL+oKUYqP/eeEv4cAGIBdpGIhc0AD+MemHwXmC18ZwKN6R4Bw1z1dykNigylhtxpPvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8014

These are close relatives of the AVX-VNNI and AVX-VNNI-INT8 ISA
extensions. Since the insns here and in particular their memory access
patterns follow the usual scheme (and especially the word variants of
AVX-VNNI), I didn't think it was necessary to add a contrived test
specifically for them.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I'm actually pondering whether to contrive dot_product() for these and
the other AVX-VNNI* insns, by additionally performing a horizontal add
on the result vectors. Main thing I dislike about it is that everything
else in simd_test() would then be re-run for no real purpose. Yet making
a new standalone simd-dotp.c also doesn't look very attractive.
---
SDE: -arl, -lnl, or -future

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -217,6 +217,8 @@ static const char *const str_7d1[32] =
 {
     [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
 
+    [10] = "avx-vnni-int16",
+
     [18] = "cet-sss",
 };
 
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1397,6 +1397,12 @@ static const struct vex {
     { { 0xbe }, 2, T, R, pfx_66, Wn, Ln }, /* vnmsub231p{s,d} */
     { { 0xbf }, 2, T, R, pfx_66, Wn, LIG }, /* vnmsub231s{s,d} */
     { { 0xcf }, 2, T, R, pfx_66, W0, Ln }, /* vgf2p8mulb */
+    { { 0xd2 }, 2, T, R, pfx_no, W0, Ln }, /* vpdpwuud */
+    { { 0xd2 }, 2, T, R, pfx_66, W0, Ln }, /* vpdpwusd */
+    { { 0xd2 }, 2, T, R, pfx_f3, W0, Ln }, /* vpdpwsud */
+    { { 0xd3 }, 2, T, R, pfx_no, W0, Ln }, /* vpdpwuuds */
+    { { 0xd3 }, 2, T, R, pfx_66, W0, Ln }, /* vpdpwusds */
+    { { 0xd3 }, 2, T, R, pfx_f3, W0, Ln }, /* vpdpwsuds */
     { { 0xdb }, 2, T, R, pfx_66, WIG, L0 }, /* vaesimc */
     { { 0xdc }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenc */
     { { 0xdd }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenclast */
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -183,6 +183,7 @@ void wrpkru(unsigned int val);
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
 #define cpu_has_avx_vnni_int8 (cp.feat.avx_vnni_int8 && xcr0_mask(6))
 #define cpu_has_avx_ne_convert (cp.feat.avx_ne_convert && xcr0_mask(6))
+#define cpu_has_avx_vnni_int16 (cp.feat.avx_vnni_int16 && xcr0_mask(6))
 
 #define cpu_has_xgetbv1   (cpu_has_xsave && cp.xstate.xgetbv1)
 
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -183,6 +183,7 @@ static inline bool boot_cpu_has(unsigned
 /* CPUID level 0x00000007:1.edx */
 #define cpu_has_avx_vnni_int8   boot_cpu_has(X86_FEATURE_AVX_VNNI_INT8)
 #define cpu_has_avx_ne_convert  boot_cpu_has(X86_FEATURE_AVX_NE_CONVERT)
+#define cpu_has_avx_vnni_int16  boot_cpu_has(X86_FEATURE_AVX_VNNI_INT16)
 
 /* MSR_ARCH_CAPS */
 #define cpu_has_rdcl_no         boot_cpu_has(X86_FEATURE_RDCL_NO)
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -435,6 +435,8 @@ static const struct ext0f38_table {
     [0xcc] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
     [0xcd] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
     [0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xd2] = { .simd_size = simd_other },
+    [0xd3] = { .simd_size = simd_other },
     [0xd6] = { .simd_size = simd_other, .d8s = d8s_vl },
     [0xd7] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
     [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -593,6 +593,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
 #define vcpu_has_avx_ne_convert() (ctxt->cpuid->feat.avx_ne_convert)
+#define vcpu_has_avx_vnni_int16() (ctxt->cpuid->feat.avx_vnni_int16)
 
 #define vcpu_must_have(feat) \
     generate_exception_if(!vcpu_has_##feat(), X86_EXC_UD)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6871,6 +6871,17 @@ x86_emulate(
         elem_bytes = 1;
         goto avx512f_no_sae;
 
+    case X86EMUL_OPC_VEX   (0x0f38, 0xd2): /* vpdpwuud [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX_66(0x0f38, 0xd2): /* vpdpwusd [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX_F3(0x0f38, 0xd2): /* vpdpwsud [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX   (0x0f38, 0xd3): /* vpdpwuuds [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX_66(0x0f38, 0xd3): /* vpdpwusds [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX_F3(0x0f38, 0xd3): /* vpdpwsuds [xy]mm/mem,[xy]mm,[xy]mm */
+        host_and_vcpu_must_have(avx_vnni_int16);
+        generate_exception_if(vex.w, X86_EXC_UD);
+        op_bytes = 16 << vex.l;
+        goto simd_0f_ymm;
+
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdc):  /* vaesenc {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdd):  /* vaesenclast {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xde):  /* vaesdec {x,y}mm/mem,{x,y}mm,{x,y}mm */
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -306,6 +306,7 @@ XEN_CPUFEATURE(MCDT_NO,            13*32
 /* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
 XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32+ 4) /*A  AVX-VNNI-INT8 Instructions */
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
+XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -284,7 +284,8 @@ def crunch_numbers(state):
         # feature flags.  If want to use AVX512, AVX2 must be supported and
         # enabled.  Certain later extensions, acting on 256-bit vectors of
         # integers, better depend on AVX2 than AVX.
-        AVX2: [AVX512F, VAES, VPCLMULQDQ, AVX_VNNI, AVX_IFMA, AVX_VNNI_INT8],
+        AVX2: [AVX512F, VAES, VPCLMULQDQ, AVX_VNNI, AVX_IFMA, AVX_VNNI_INT8,
+               AVX_VNNI_INT16],
 
         # AVX512F is taken to mean hardware support for 512bit registers
         # (which in practice depends on the EVEX prefix to encode) as well



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:20:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578628.906226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT229-0002wy-4H; Mon, 07 Aug 2023 15:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578628.906226; Mon, 07 Aug 2023 15: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 1qT229-0002wr-1X; Mon, 07 Aug 2023 15:20:37 +0000
Received: by outflank-mailman (input) for mailman id 578628;
 Mon, 07 Aug 2023 15: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT227-0002UE-7Z
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:20:35 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061e.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f43b0c1c-3535-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:20:34 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8014.eurprd04.prod.outlook.com (2603:10a6:102:c7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:20:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:20: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: f43b0c1c-3535-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VhRrAuVFGrXQ4ZjiZFwc/9PX+5iUJL9+yyA8u0joia2qzxM43X8yTYJarqjQhjA6C0G1kmKFBuSx9DZz5VuR+lrUC+Ckivt+aGralYd108T71pQk6SdvjGF+inkY4adL9YltuQnb9jpgWhZYKvxbacdPj8aVy6jEQ3QXSFvg4x1il+b7D+u6B8MK3cCxpnHhoxXn+sW27aRwnhZ2jAjhlHrkeT6UR10/siSlOr5rSiaDMsVyx+cpSQYmmJT3H1B/XUusPkjlNR6wCM6zRlRlQutb2dspaVFICOzzTmkYwtjNR5HVL9GP27lCaftHKZ2SQFngRUskSbpkKQy5FCyokw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=chCYjHiB2X502WJCa9ozvQcvLibaEFQQSSLt5qFEcLs=;
 b=C/FrrOGEZMyqxv+/zC7ofBhI7YNVyUOPQEA6uJdfY2mrVqz4TWNxfiewb8mrPu04Y9GYIvYYpg5/GeHVx1sA1G3TCoyx4SsaUo6yBy64a73vUwV15/23nENbsmEcq04o80CZmjNlBFbDSWfX2KV5HomZ7eWwkFnxqppL1ZhbzGYtouVPiYFYd3J1m4ounylV1vLOCizziZWfNsEUByhlP0Mf18aJsqLdLmDi8wJOHLhkGRSJTpdtFbHhBVfONnfrLjXVwvc1MiTYnbffSNZtuuOyMD7e5rrriQqpUKOzBWEkfZlRwTef7nz7AojS1/DJJY2hu+PG/9gIXmCZ1W0vXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=chCYjHiB2X502WJCa9ozvQcvLibaEFQQSSLt5qFEcLs=;
 b=Xt2yRSz4PEbXaea7Vt9Rtft/WFqHQ/1sToKrvCFxggX3E79losa3bZ8+XX3Patc3pp5ifEGM72cxe+00YepiEnDBrIHPXtJzaNcUPEbgeYHZ7ttx5lSbAnZ03FSROW4Dq5KioX7N2/13KUEvp5iBMXg9oslVsveKwFhFAXX5A8kEU/yYU6nrMFILiXRDnSMZtfev3ZOtHDEXFYPMQTc4THauNayhfoJv1fbKVsjWwQNKJXfBzTNVv38Y8s5Ek79n9eTfz+PGu+YLvh0G3OaxlpPCCO78RcOJ/JZQ5cK22+efYlkJQQPXPTzjA10xwRwCwdqPKjlRrGS2/CFIttBbTg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a77e584-b6e5-8f1a-d1c7-c4ca0de7b425@suse.com>
Date: Mon, 7 Aug 2023 17:20:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 2/4] x86emul: support SHA512
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
In-Reply-To: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8014:EE_
X-MS-Office365-Filtering-Correlation-Id: 25b5bfb5-30a2-47d9-9550-08db9759d75a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gsgFHMdXv6AUopgztrfhNE8B25nd0dk+wKB+RYRQNmu0Wxzz2c7z7GOViEtR9soEF/QT+iru/JvMRXkQ5bt1xwbQOOFfdy1R4PkB4WQv55e69C8ox9I+i2oU8S1hf91mTUuRPpMKoks4JTKr2Hf89gZML7sV5ZjddUjNvbKcVnenWfXDpx6KpLvj+kqRR5+pTipKL4RT3PyU6g0ew0umq6awuR7W9cbToonZiiChLFG4oXJfcMq9JPj/3W7IJnKMrqH1HGXzx8Xd3f0xvf+qGVwFJ2Y8ZpEr0ZYoZMs8FApbuqPdfXvsz3HkNGaY3n8j8Hx6HXwbaXhXJFj4C6jAeVeftRJ2/S0p2oEqo4UGeRbKSMR7adsFyZT32uM/HDaSqig68nphD631qKsWOm/i5rc2QjxYMHuektOE7Znk8ucUeV6/h3ZOu8seil8IMgSSbcp5G3TNOgEETFqWEE7zoPR5gSxrvtJF5ygosXpTwy/cSw/cvJh3MCzfOCU6Ex16XEC38+r+IdH7ixdcu/T4rJzwztkWUs+qVe1l/Hz5EIceV2far7nxaPy/pAAljOkL4q5aFZNj7H1k20a63R+RjG0D+CwtdIdLunUNnkFurZZAS8W8JxcGrkwsnc2/EkWcwURrWYTmJBHfw8YXrKKH+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(6506007)(8936002)(8676002)(26005)(38100700002)(6486002)(2616005)(5660300002)(36756003)(2906002)(83380400001)(54906003)(31686004)(316002)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGl6VGNYYjNObm0wbkdaYXp2Y2o3eE5vaTVpdU9HSnpXYkEwNFVXSCt0L0gw?=
 =?utf-8?B?QkJUaEluY2duZUIyYmlMSFlxSjBNQTIxR3k4emh4T21GQkNmVGZCdFZOQ09a?=
 =?utf-8?B?dEFGSVNzcFh2MXJRaUllVXUyNmFKTEJ3Z2xoaEU2V21tZEVLd1pqcitVQUJt?=
 =?utf-8?B?UHpLNlFpMTZvUU1QK244SXRqZll5UjVndHRrSlhvdU1rOGtUSHpPYVF3VTgv?=
 =?utf-8?B?NHE0d1QvdEtYdzk4MllLUWd6dzJmdnVZMi83dlBCbGZqenNrQU9zR0Zxa25s?=
 =?utf-8?B?NHdwdEs3MFprMFQ1VEI5VnRURSs5VFNMeDVOdllCL2NlbG5rcE13UFZKMktB?=
 =?utf-8?B?ZVZHWVllWWJpL1ZuUFZaU1I1UUxYZldIMWt4ckh2b3ZKM2NNeHRSbDRXNDJq?=
 =?utf-8?B?dDE3N1U0YkErVU1KcmszRzNlWEt5YnU3VmU2WDNNdmlJOTV4dWJqYlhIL0ZO?=
 =?utf-8?B?azMrY2RxNmxIRnIxbzNhbDZuQVN1TDg2VGxpREgvWCt6eERtajRQMW9nNzcy?=
 =?utf-8?B?VmRrTlNzVkM3U3VmZ2hHbmkrSlRsSEJrL0lUT2kybFVkVlFocm8zNmR1SGxo?=
 =?utf-8?B?MW83WHFSRk44VmxaZHljaXR3SVo3NmtOVTVYUUdjRzVuY3dENG5YbW9CYnY1?=
 =?utf-8?B?NkQ2eXBzZVhnVHV2VjZyRnZPaFBwM0diSmtvZDZpYnRDOHdGaGJQaWlmc0pt?=
 =?utf-8?B?UVNIeGU3N3Bha0gyakRaMWZKTmJqb2JBbXZoUXNjYkVtRHZKZVJRcDNrcGk5?=
 =?utf-8?B?UVNzZmYvalMvSm5Ic2k2VmtFZitSMEJNYkc0Wml5a3RwWHo0cUVKNExkZ0Rx?=
 =?utf-8?B?TjJEZjFER1pPOVc5Y1lEYmo0TkwwalR5NFZscU44Z3JEcVZYLzVRTFNVWDNI?=
 =?utf-8?B?a2JpWHBGN2twaVRyVnZNWXYzOXBKcnh3Nk1EUWlpWVlHdk5RM1dGa3dkVEJk?=
 =?utf-8?B?OXQycTZ1REU0RnN2bjZMOStTdGMvbXFKeWtYOFMxaEdKMU9nblgvRHFpYytS?=
 =?utf-8?B?a013bnVjeFF3MTY0ZDl4ZXE1RTZPNmpmTG9mOXNpVkJKYWZaNHpmWnhCZlVj?=
 =?utf-8?B?K1RLNTQ2WWRON3J6eXNWWVZESFg1cjdLU2k0aHQ3VkN5bFFocm5pY1hFbmVh?=
 =?utf-8?B?dGNIWm1HeE01VStJWWxmNHVvcXZoSXhHZEJoZVg4VDc3UVhEY21GUkEydlNo?=
 =?utf-8?B?YTJVOXJVbzl2STkzOE1jUE05ZWw0b2VQMm81VFVJOEQzTUhBT3ZpKy84S2t3?=
 =?utf-8?B?KzJvWkpId2xUQkdZWkxoeTRiL1l6a044UVo3ZlpML1E4STF6QlBUaHlVbVkz?=
 =?utf-8?B?UXRxQS84aTBFUEt5aUtoWmNzQTBkVzNOeHpEUCtKTFlIeklyY3N5aC8wTzZP?=
 =?utf-8?B?alQyckNUN2V5d1ptZ01KZng2Tjhrdi9sNFJSTWswbG1aaGxld3ViTUpUNVRG?=
 =?utf-8?B?WVB1S0FLM3RvbTVDVm00YkMybXptKy90WlM4OHNmV0dHL0dLK2FNVzl5SGt4?=
 =?utf-8?B?dTlWaWZta2tpaUU0R2FRbnJ6WXpOam5ZZ2xWNU5mTytaZHVobEU1T3d3d3Ey?=
 =?utf-8?B?ek9VTHlZR2tTM0RVQzFTQ1JUMUN5OHM3SjgwWU1mbm9HalM3ZytpYzdFazg4?=
 =?utf-8?B?VnVWeGV3YVZ5Yi9taXFDQnJCa0NYZTVCWWJFM3VDZFZzZTB5UGo3RVhKOGRM?=
 =?utf-8?B?ckNKT2YvK0RyYm1FNDFXN0lVbmZadWJnOGk4UDAvZmZkV2J0WGJCUUtCdWtI?=
 =?utf-8?B?K2JXazIyUy9xcGxlSHN1WjdnV01nSEtieEZmSW5IUlNXVWJyY0pCY1ozY04w?=
 =?utf-8?B?bEhCNkJmdmZkc0hOR2hXekxFVzYycU5XOHZTMzZiOFQ1WjUvSUdDUkxGcVZH?=
 =?utf-8?B?VUlheExaZWhZNHU4ZWdrTUVqZXA0NHZ6MzdJV05jZmF4a0hOczVUU1RwRkxR?=
 =?utf-8?B?b1hJTXlpZnhZQ0pONHZ2UlJ6OEdTaWJ3S0pyZk1tQWc4RnRwc3RoSUFxMDQ4?=
 =?utf-8?B?SDQrVmQreDNGcXV6TmNaY2FQMDdsT0dVaXhKM2VrVDNPWVlHOFJiZDA2SWpG?=
 =?utf-8?B?MnZuTC9zek5ib0VMK3VYLzJTZUxFRGg4LzFhZnJmdGcvYjQ3R2ZqNFIvRklh?=
 =?utf-8?Q?oNKwAnLXVHAXaQrp2XxSuzt1b?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25b5bfb5-30a2-47d9-9550-08db9759d75a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:20:32.5394
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kAFsKXT2ZzavNlcgcoShdJIDelcJNNXDLbR46W4K3/eDRx6eYBU+RPYtXO/wqzVvCXR7D/KSDN5UTPPCe5AO6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8014

Since the insns here don't access memory, I didn't think it was
necessary to extend our SHA test for them.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The need to set op_bytes here is a little odd; I'm inclined to move the
generate_exception_if(!op_bytes, X86_EXC_UD) at the top of SIMD handling
(near the bottom of x86_emulate()) into the "ea.type == OP_MEM"
conditional, as it's relevant (used) only there.
---
SDE: -arl, -lnl, or -future

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -185,6 +185,8 @@ static const char *const str_7d0[32] =
 
 static const char *const str_7a1[32] =
 {
+    [ 0] = "sha512",
+
     [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
 
     [10] = "fzrm",          [11] = "fsrs",
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1396,6 +1396,9 @@ static const struct vex {
     { { 0xbd }, 2, T, R, pfx_66, Wn, LIG }, /* vnmadd231s{s,d} */
     { { 0xbe }, 2, T, R, pfx_66, Wn, Ln }, /* vnmsub231p{s,d} */
     { { 0xbf }, 2, T, R, pfx_66, Wn, LIG }, /* vnmsub231s{s,d} */
+    { { 0xcb, 0xc0 }, 2, F, N, pfx_f2, W0, L1 }, /* vsha512rnds2 */
+    { { 0xcc, 0xc0 }, 2, F, N, pfx_f2, W0, L1 }, /* vsha512msg1 */
+    { { 0xcd, 0xc0 }, 2, F, N, pfx_f2, W0, L1 }, /* vsha512msg2 */
     { { 0xcf }, 2, T, R, pfx_66, W0, Ln }, /* vgf2p8mulb */
     { { 0xd2 }, 2, T, R, pfx_no, W0, Ln }, /* vpdpwuud */
     { { 0xd2 }, 2, T, R, pfx_66, W0, Ln }, /* vpdpwusd */
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -178,6 +178,7 @@ void wrpkru(unsigned int val);
 #define cpu_has_avx512_vp2intersect (cp.feat.avx512_vp2intersect && xcr0_mask(0xe6))
 #define cpu_has_serialize  cp.feat.serialize
 #define cpu_has_avx512_fp16 (cp.feat.avx512_fp16 && xcr0_mask(0xe6))
+#define cpu_has_sha512     (cp.feat.sha512 && xcr0_mask(6))
 #define cpu_has_avx_vnni   (cp.feat.avx_vnni && xcr0_mask(6))
 #define cpu_has_avx512_bf16 (cp.feat.avx512_bf16 && xcr0_mask(0xe6))
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -176,6 +176,7 @@ static inline bool boot_cpu_has(unsigned
 #define cpu_has_arch_caps       boot_cpu_has(X86_FEATURE_ARCH_CAPS)
 
 /* CPUID level 0x00000007:1.eax */
+#define cpu_has_sha512          boot_cpu_has(X86_FEATURE_SHA512)
 #define cpu_has_avx_vnni        boot_cpu_has(X86_FEATURE_AVX_VNNI)
 #define cpu_has_avx512_bf16     boot_cpu_has(X86_FEATURE_AVX512_BF16)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -916,6 +916,14 @@ decode_0f38(struct x86_emulate_state *s,
     case X86EMUL_OPC_EVEX_66(0, 0x7c): /* vpbroadcast{d,q} */
         break;
 
+    case X86EMUL_OPC_VEX_F2(0, 0xcc): /* vsha512msg1 */
+    case X86EMUL_OPC_VEX_F2(0, 0xcd): /* vsha512msg2 */
+        s->desc |= TwoOp;
+        /* fallthrough */
+    case X86EMUL_OPC_VEX_F2(0, 0xcb): /* vsha512rnds2 */
+        s->simd_size = simd_other;
+        break;
+
     case 0xf0: /* movbe / crc32 */
         s->desc |= s->vex.pfx == vex_f2 ? ByteOp : Mov;
         if ( s->vex.pfx >= vex_f3 )
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -587,6 +587,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_serialize()   (ctxt->cpuid->feat.serialize)
 #define vcpu_has_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
 #define vcpu_has_avx512_fp16() (ctxt->cpuid->feat.avx512_fp16)
+#define vcpu_has_sha512()      (ctxt->cpuid->feat.sha512)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6856,6 +6856,14 @@ x86_emulate(
         host_and_vcpu_must_have(avx512er);
         goto simd_zmm_scalar_sae;
 
+    case X86EMUL_OPC_VEX_F2(0x0f38, 0xcb): /* vsha512rnds2 xmm,ymm,ymm */
+    case X86EMUL_OPC_VEX_F2(0x0f38, 0xcc): /* vsha512msg1 xmm,ymm */
+    case X86EMUL_OPC_VEX_F2(0x0f38, 0xcd): /* vsha512msg2 ymm,ymm */
+        host_and_vcpu_must_have(sha512);
+        generate_exception_if(ea.type != OP_REG || vex.w || !vex.l, X86_EXC_UD);
+        op_bytes = 32;
+        goto simd_0f_ymm;
+
     case X86EMUL_OPC_66(0x0f38, 0xcf):      /* gf2p8mulb xmm/m128,xmm */
         host_and_vcpu_must_have(gfni);
         goto simd_0f38_common;
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -276,6 +276,7 @@ XEN_CPUFEATURE(CORE_CAPS,     9*32+30) /
 XEN_CPUFEATURE(SSBD,          9*32+31) /*A  MSR_SPEC_CTRL.SSBD available */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.eax, word 10 */
+XEN_CPUFEATURE(SHA512,       10*32+ 0) /*A  SHA512 Instructions */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -285,7 +285,7 @@ def crunch_numbers(state):
         # enabled.  Certain later extensions, acting on 256-bit vectors of
         # integers, better depend on AVX2 than AVX.
         AVX2: [AVX512F, VAES, VPCLMULQDQ, AVX_VNNI, AVX_IFMA, AVX_VNNI_INT8,
-               AVX_VNNI_INT16],
+               AVX_VNNI_INT16, SHA512],
 
         # AVX512F is taken to mean hardware support for 512bit registers
         # (which in practice depends on the EVEX prefix to encode) as well



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:20:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:20:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578634.906235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT22T-0003YX-DS; Mon, 07 Aug 2023 15:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578634.906235; Mon, 07 Aug 2023 15: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 1qT22T-0003YM-Aa; Mon, 07 Aug 2023 15:20:57 +0000
Received: by outflank-mailman (input) for mailman id 578634;
 Mon, 07 Aug 2023 15:20:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT22R-0002UE-P7
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:20:55 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 005bc6b8-3536-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:20:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8014.eurprd04.prod.outlook.com (2603:10a6:102:c7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:20:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:20: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: 005bc6b8-3536-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d7EIhWUx9X5MFM82gjzS3N796PCNg2Nx/b7Ir6pVDbp/uVXz5d2Nw6UGZO0VTTmwJAE0K3pqDF+XkzszyuUhVPB4Mp9wu8tx1u6Dom23xSd8xEm+Op40pwzQrtVhhiGUD6DvsLvORXA1BhxLRWIozCsCozEslAvhzOH0wn6qwqp9YUf5SAEwwuXxN1A3C2lDk0HKMstWxk5R3L1SlSg2dVH9Pn5aGNi8C101mqkMHi25G2/ST9CgMmsGY3HECkvZNXnyrqYGWblm6Dkc6I++OnBOUQ5mqxOTn2LdjrqV+2+yVqt0izMgdYvy/XmmPUQWpBaJV4wlwUyDwMYwbp60vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ocRc9efOKOJP+qtfngHzEB0n57W85tzVY14dw9xIXQE=;
 b=WLiLcxkaw0Ek8Vy4iQDbmagLIhJ3bAWequn+l5sSfOfOQKHZ4EFxf32fzd2KMLrPOs5h67OSlAbGHVEKSwinWNuFaG04pJeSzwNdL2f6sKIzKXC8T1H9HTsD6mkwxo/UtB2ae4otFNGRjxYft8f8uYQQo64zacAadLmvVz7WKaBeG1AjbxzKUo4ylop4Epv8WSp3Wn/mWEWned+jSlWWATeL1ZCIWy1ukhFjEXQvmw9RMI+ND40wa7+/WGHcVo8HNO4z0gy0cKXMwAuif9ZmX/UDyy0/4OQQAPYHefUedbxEM3snewDYYa54WLIJnMP2OUQclfRNyMJWNGQuiE3Y8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ocRc9efOKOJP+qtfngHzEB0n57W85tzVY14dw9xIXQE=;
 b=I4djyYTaUtunpN6LX87rVaeXayiK0p02oRxc/OwiWRMLH7g/lFIiE5M9pKiuhyqDkhHuoml+cxqEdrii2EX/vecGIwAPc/Dy+2yMgRy/jIjpeMzVfc82R9TukCvePYYLv7J8a+/PlIKmNTl+agZnygRzCJ+FnIwSuEHoPtEbMe76sKdOtkQUHFLT8M/R/lQundREKDZaRNRiSq9EZf+HCNkyT8fC/Zb5JkbjHPvHACv+iBhLNxWPSgRrJ6K0wl/7HsughBVGo4/jn1lMfcmNfNTZ819AKDTK8yycbOFXd66OowrA3UcVbQzzptECqVqKmcIYutrC75TXh/LrNMf+bQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e32e9563-99cf-5273-39d0-4281ab4272b6@suse.com>
Date: Mon, 7 Aug 2023 17:20:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 3/4] x86emul: support SM3
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
In-Reply-To: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8014:EE_
X-MS-Office365-Filtering-Correlation-Id: bcdb9b20-dd5b-4f0b-dc56-08db9759e358
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EiIDVZZVLe+Ztj5c8zIrt5ANmpysyjb9XP64OcOMR3pmVPzrTJb904jAVGaZRcwGMWVGMCIit6NScqo70ZfNWz94HwQC82FTr0bSLlX81WTXEJBr5R2/kh9+UC4SvlLbS1IdKikt+PgU02w1jhKnRFqQR2K1yrd3oydeuIs+v1Wc6BNc28kKx6P0HnOhfG83wGb9sAP+heCGR4XDywvPvcP+Ge0OQmHWFtGhVMvID7zoXgH7JV5aKDApbgjao4OS6PUlKLXMbok9ktzZPeG8S4DpHMphO4w2CKSERpWbjoRLHuOvjhOndMGg6jq6leS6kMJmrfXWRqxBIG/+wGa5kBq0SRmPbTw5kFx88ONmzo6Kg7zd+b5iuSfZAp6mnSQ5RKRcM96wdg9sLk7fc5wxviqdDZB8RXbepE5dY6SU4KQ78xKV85pS8jF8slrRUCNFFO0itraSNbrlvIJOgjYLd/QJdKOrM2JXwlbhbGiTag7wGX/4X193x0FV48VyTmjgtAaWZpwic/TNiyEGuTq4U5In+QzgoMaHpGfJYI2h4KkQzlE5TWMXr+zBfHtJBgvTzTZKk/YgypUx7WJV5442NWYEz+p7dkem/jZVE7vnfB1jMTsvviSv45TzqMBWBvyYoCSh53TaePekMuEYKTi7zw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(6506007)(8936002)(8676002)(26005)(38100700002)(6486002)(2616005)(5660300002)(36756003)(2906002)(83380400001)(54906003)(31686004)(316002)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnFwQzgrK01CaDRrSFNTR2R3L3E3S0x6ZG1yM3R1ak1hYU1UajJHbS9wVUMz?=
 =?utf-8?B?M3VHbFk4TEgxODZrbDdTYldFMCt6US91b0E2V0NBUExvc2dQY1dFdEZ2SUJ5?=
 =?utf-8?B?N3RkV0hicXVTWC9VZGRoaVZFdnhpTUFmSlh3L0Y4STlUUXdlbU1jOUN1aXB0?=
 =?utf-8?B?YnNESUxCVW5MMTI3MVNlTFI5V0c3dzdoTEZtN3J3RnJ6WlBtekNnaXRUK05I?=
 =?utf-8?B?dndkdHBTaWl5Z1JIaSt1Q1pmaDN2R005bzQwNWlxWUtZSis4TmU2VWFEamUy?=
 =?utf-8?B?VytvQUt3dHVYek5KRDBtV2VmTUROT24vd3N2c1dQSEd1alhReGJsMVIweDR2?=
 =?utf-8?B?a0lEMWlCdDRaK1VwaUphR2lMdGhJMnFqRHI3cEU5VVZIWjNFdHZFSnBqYkFC?=
 =?utf-8?B?TU51UmJqamxyQ0V6RVlueTUyZWc2VDNSYnRJRjlWTGV5eHZwY1Nsbk5qQXd2?=
 =?utf-8?B?akxEQmV5bWlMZll6Ull4YUIzYWNOck5Zd21IVUIzNGRVaC9JQ0xLMkFmREht?=
 =?utf-8?B?ajRic0xmK2JEVUpDajNkQlJZNkVVUWxYMzJJYlBwUFZmMUFSZHArZzdZUkxm?=
 =?utf-8?B?ZWJ1aWJEMzR0b3Jqd0FneVhjVjFDblAzd1FTY0dQTlZFcE5nbmdkRDd2bVY4?=
 =?utf-8?B?dDFERmpuNDRRZzhOWVcyZGRtNFpBYU8zRWZjVngvWm9KbFJsTEJrbjVRb3VZ?=
 =?utf-8?B?OERQTGViT1hRTUtvVXRUUVVYenlFeTJtWEZ2Tytob2tYcmtOKzB3c3FOTlR4?=
 =?utf-8?B?STJkL1pYTE1Qemk4dXB4KzAwM2Zvemp6MWJBazhVTVVmUU12cDZOTTVIVUhN?=
 =?utf-8?B?b1pucVZwZDFrcEJNSFFpNnZWcFFWNStEU2ROaGpKRTYvbHRHbWpGQzZ6aGEw?=
 =?utf-8?B?M1FjQjBDNmlLblJCNC9ZL0FUSzFNWWJ1NkJuSUJCYWpzdld3SmxmajBHanc5?=
 =?utf-8?B?clNCT216UVdsK2xENlFKN21raEcydEVxUXRmY09TSTVpY2NDK0NDYmtvOWdQ?=
 =?utf-8?B?OHljeHFLVXNhamVUSXVmL1dmK2JQL2taZUhhMFVVb2VQSjZpOWVNSVpsUEVs?=
 =?utf-8?B?YXJlMTQvSkdrbit5bnMwQlZQWUFXalk3MVpkRW1DRGlnWVhuYjRpclIzdnY1?=
 =?utf-8?B?YVBWUFpQUnhvUEg4Q0llQkJBS1lpVTU5TUhwY2Y2RUNaTk93U1RlOTBQb0xC?=
 =?utf-8?B?Wmh0U3VSOTB6VGQvZWlGcGtDRWN6QzhYTHFjNVA1TnVXUzd5TWt0Rnpsa1Jt?=
 =?utf-8?B?WjFXV3RyeHVEd0VLVWpOVEtvRGRvc2VLNGNESG54YVZZWnk4SFFDWWQ5OThG?=
 =?utf-8?B?VjBUQnNUSlNGbmV5TTFwb05UTVp0N0ptcHh3Yk5kckF3RUlRUDJsbFpPVXkr?=
 =?utf-8?B?bUtZaFcxOFZXRllBU09Vb2szODd2Rk1DN0VzYjFpWnNpUmw2dFpKMXFLU25z?=
 =?utf-8?B?ZkI5Q3dFK1FzUTQxZHZRMVRMc3VNWkdWYU9GYlUydmsvY2J1OVBJbWRQTVN5?=
 =?utf-8?B?K0pYL0Q4UEtSS210NER3MVo2T1Vvc3FUZ2RDNXBEMmtXaGhoS1ptZmVsOTZR?=
 =?utf-8?B?b1BaY1ZTZ0QwcDZLRW90RGUvT1JyVkN6WVV4ZDBJQXB4MHZlSWlRTURtTGlJ?=
 =?utf-8?B?VkpwdDErcFBGSkRuS0Y3eXZBMVQ3R1ZJaVA2TUhlb0lVZmNkSzMyNGFpVzdm?=
 =?utf-8?B?eDJ5cTVuTVNoeVA2VWNYSTJmWmRJYS9rV3p4b2liVUhaSkZ1cWZxd21RdlNk?=
 =?utf-8?B?aFVyUHRMeSs1Nm5PcGFRTEV0dlhmb3lBSHdxL012VG00a2I5SWY3cHRKeGl6?=
 =?utf-8?B?VzIxU3U5TXE2aThiZlM4dGtOazFJRGh0allyRkxKRFRCdDhLMVNmRHhKYkVG?=
 =?utf-8?B?UmpaTVM2Zi9JY2hmMmV0ZTFtMUF4WTgyMU9TMFJTRS84ejhVbW9YeUVRTm9u?=
 =?utf-8?B?TTUzRllxTEFnM3VUZmxOZUd4UEhuclpkTzMzdmF4OGhTZFZOaUlGc2o2eUp2?=
 =?utf-8?B?Y1lOVnZqeno1QlZKNXFjRkJjV3FvYXNGeDYzQk5pMTI5alNVemhZMjI5eTJG?=
 =?utf-8?B?MVFDNHBLcFlTNWR1dkNIMWdFRDlQZWJaMEp3TkMwZm1VUlkwenFtcERtbkEv?=
 =?utf-8?Q?1K1AYYYcLOVTuJd1K2G5206Ru?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcdb9b20-dd5b-4f0b-dc56-08db9759e358
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:20:52.6361
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z29IhwEbF31gzUM8zL+QGNNyOnG3/fsyCdaK9wSIFwgm5MfFsP00p8WB7YvoJAdPMoyKGg6eIwoX51VKAyk/AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8014

Since the insns here and in particular their memory access patterns
follow the usual scheme, I didn't think it was necessary to add a
contrived test specifically for them.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
SDE: -arl, -lnl, or -future

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -185,7 +185,7 @@ static const char *const str_7d0[32] =
 
 static const char *const str_7a1[32] =
 {
-    [ 0] = "sha512",
+    [ 0] = "sha512",        [ 1] = "sm3",
 
     [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
 
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1406,6 +1406,8 @@ static const struct vex {
     { { 0xd3 }, 2, T, R, pfx_no, W0, Ln }, /* vpdpwuuds */
     { { 0xd3 }, 2, T, R, pfx_66, W0, Ln }, /* vpdpwusds */
     { { 0xd3 }, 2, T, R, pfx_f3, W0, Ln }, /* vpdpwsuds */
+    { { 0xda }, 2, T, R, pfx_no, W0, L0 }, /* vsm3msg1 */
+    { { 0xda }, 2, T, R, pfx_66, W0, L0 }, /* vsm3msg2 */
     { { 0xdb }, 2, T, R, pfx_66, WIG, L0 }, /* vaesimc */
     { { 0xdc }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenc */
     { { 0xdd }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenclast */
@@ -1490,6 +1492,7 @@ static const struct vex {
     { { 0x7f }, 3, T, R, pfx_66, Wn, LIG }, /* vfnmsubsd */
     { { 0xce }, 3, T, R, pfx_66, W1, Ln }, /* vgf2p8affineqb */
     { { 0xcf }, 3, T, R, pfx_66, W1, Ln }, /* vgf2p8affineinvqb */
+    { { 0xde }, 3, T, R, pfx_66, W0, L0 }, /* vsm3rnds2 */
     { { 0xdf }, 3, T, R, pfx_66, WIG, Ln }, /* vaeskeygenassist */
     { { 0xf0 }, 3, T, R, pfx_f2, Wn, L0 }, /* rorx */
 };
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -179,6 +179,7 @@ void wrpkru(unsigned int val);
 #define cpu_has_serialize  cp.feat.serialize
 #define cpu_has_avx512_fp16 (cp.feat.avx512_fp16 && xcr0_mask(0xe6))
 #define cpu_has_sha512     (cp.feat.sha512 && xcr0_mask(6))
+#define cpu_has_sm3        (cp.feat.sm3 && xcr0_mask(6))
 #define cpu_has_avx_vnni   (cp.feat.avx_vnni && xcr0_mask(6))
 #define cpu_has_avx512_bf16 (cp.feat.avx512_bf16 && xcr0_mask(0xe6))
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -177,6 +177,7 @@ static inline bool boot_cpu_has(unsigned
 
 /* CPUID level 0x00000007:1.eax */
 #define cpu_has_sha512          boot_cpu_has(X86_FEATURE_SHA512)
+#define cpu_has_sm3             boot_cpu_has(X86_FEATURE_SM3)
 #define cpu_has_avx_vnni        boot_cpu_has(X86_FEATURE_AVX_VNNI)
 #define cpu_has_avx512_bf16     boot_cpu_has(X86_FEATURE_AVX512_BF16)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -439,6 +439,7 @@ static const struct ext0f38_table {
     [0xd3] = { .simd_size = simd_other },
     [0xd6] = { .simd_size = simd_other, .d8s = d8s_vl },
     [0xd7] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xda] = { .simd_size = simd_other },
     [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
     [0xdc ... 0xdf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
     [0xf0] = { .two_op = 1 },
@@ -519,6 +520,7 @@ static const struct ext0f3a_table {
     [0xc2] = { .simd_size = simd_any_fp, .d8s = d8s_vl },
     [0xcc] = { .simd_size = simd_other },
     [0xce ... 0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xde] = { .simd_size = simd_other },
     [0xdf] = { .simd_size = simd_packed_int, .two_op = 1 },
     [0xf0] = {},
 };
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -588,6 +588,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
 #define vcpu_has_avx512_fp16() (ctxt->cpuid->feat.avx512_fp16)
 #define vcpu_has_sha512()      (ctxt->cpuid->feat.sha512)
+#define vcpu_has_sm3()         (ctxt->cpuid->feat.sm3)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6890,6 +6890,12 @@ x86_emulate(
         op_bytes = 16 << vex.l;
         goto simd_0f_ymm;
 
+    case X86EMUL_OPC_VEX   (0x0f38, 0xda): /* vsm3msg1 xmm/mem,xmm,xmm */
+    case X86EMUL_OPC_VEX_66(0x0f38, 0xda): /* vsm3msg2 xmm/mem,xmm,xmm */
+        generate_exception_if(vex.w || vex.l, X86_EXC_UD);
+        host_and_vcpu_must_have(sm3);
+        goto simd_0f_ymm;
+
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdc):  /* vaesenc {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdd):  /* vaesenclast {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xde):  /* vaesdec {x,y}mm/mem,{x,y}mm,{x,y}mm */
@@ -7762,6 +7768,12 @@ x86_emulate(
         fault_suppression = false;
         goto avx512f_imm8_no_sae;
 
+    case X86EMUL_OPC_VEX_66(0x0f3a, 0xde): /* vsm3rnds2 $imm8,xmm/mem,xmm,xmm */
+        host_and_vcpu_must_have(sm3);
+        generate_exception_if(vex.w || vex.l, X86_EXC_UD);
+        op_bytes = 16;
+        goto simd_0f_imm8_ymm;
+
     case X86EMUL_OPC_66(0x0f3a, 0xdf):     /* aeskeygenassist $imm8,xmm/m128,xmm */
     case X86EMUL_OPC_VEX_66(0x0f3a, 0xdf): /* vaeskeygenassist $imm8,xmm/m128,xmm */
         host_and_vcpu_must_have(aesni);
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -277,6 +277,7 @@ XEN_CPUFEATURE(SSBD,          9*32+31) /
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.eax, word 10 */
 XEN_CPUFEATURE(SHA512,       10*32+ 0) /*A  SHA512 Instructions */
+XEN_CPUFEATURE(SM3,          10*32+ 1) /*A  SM3 Instructions */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -262,7 +262,7 @@ def crunch_numbers(state):
         # for the XOP prefix).  VEX/XOP-encoded GPR instructions, such as
         # those from the BMI{1,2}, TBM and LWP sets function fine in the
         # absence of any enabled xstate.
-        AVX: [FMA, FMA4, F16C, AVX2, XOP, AVX_NE_CONVERT],
+        AVX: [FMA, FMA4, F16C, AVX2, XOP, AVX_NE_CONVERT, SM3],
 
         # This dependency exists solely for the shadow pagetable code.  If the
         # host doesn't have NX support, the shadow pagetable code can't handle



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:21:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:21:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578641.906246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT22u-0004By-Qx; Mon, 07 Aug 2023 15:21:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578641.906246; Mon, 07 Aug 2023 15:21:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT22u-0004Br-Nm; Mon, 07 Aug 2023 15:21:24 +0000
Received: by outflank-mailman (input) for mailman id 578641;
 Mon, 07 Aug 2023 15:21:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT22t-0003Ol-Fe
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:21:23 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10540025-3536-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:21:21 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8014.eurprd04.prod.outlook.com (2603:10a6:102:c7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:21:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:21:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10540025-3536-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BxOFz3syf6hSkSnwsuWllqOeO3420Okc4hkKnIQi7UZr9gGJ2Q6bPME0/m8NRhHKkiDwN/ZTGv4s/lnI/3u27hJBugfqr/4fb6wx1ZFzA2DpqPYLb+C/yRpO4HWTpa+Wa1wx8LXSNnzkPBsy3//gcBDAZ25bJUSiHL9kWpgN/gAUDFjt1w9e9NJhnMrSJiYqeRBgDx2LnwnvZ8UTtEF1Odk1d+L8INAq71689xZBa2+y4vBoduHXp9lI/uGBnDZs6pZUyo3vckl4MTJlB3oF4U9vzDSp2dHVK6lIV2eMi3aOfxuahKtpw9zu4WeDjFsS8GsGfRR/so0QCUcmqnoLyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jhTNq5mY23M6wTZvUr+tr+W7Hwm3yXoZVbgG/A6dibk=;
 b=VK4Lq2CXDByO1Al2WWJHc4zrsDbTGO3aQuzRNmnNWO67jfaH9V06SYcBO66nqRQueHb3jvSrddhJtwfWxwgGsYVveM4Sl6x0qz7JN0HIINiH1B8J6N1VxExqY9S+GuzJudo8hXmT2cVWH5c3L/2qK8lssdUR58PIowYlUmmffdYJ+CK4B475P/ak8zVZIHnRkdnvn/K5Y0o9+JZJ+gRPJ1aJF1M2EfNDOGuVa//y+G3+QhnosR8GhpKlvAz/ENTzX6hC91xojt5cEJ0bmfkcX/4F/MLG/oyo0QgL7f5WyZRrAMTE2mz3Nzlgjk6bqQ1w9uaT1cX/cNRmEfM+bXTO2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jhTNq5mY23M6wTZvUr+tr+W7Hwm3yXoZVbgG/A6dibk=;
 b=tV+n5np/D8XBYUMsBRlXFm3hHKsC+x4OiUgIV633vcTGTJf3u2/AVd4uZecwn9iDIVlXEtzPXRMvBXkHN1bwmMURBuHIYl6c1ei+a9JMFs77/sLcWbWH3cunaLRHrN4s8fDu2ylzpCuu+OA7P1Wdoz2L3PE08QbgecqfqittqskIA2uzSbXDKCBYflxEcXzhvl8j5puM1AliNpdhnGvp47pcwUoFhKrsAVyaqwUArEnk77vQ7UWSQ+IIoXmPkyLCquwOgXU2GuFX6bfP35sh32dkQPCpgMWxbsyLFtGDgR8eHJpaQk2wZPWc3V9BACTjN9AZYBBHiY+4N4hyBpyUrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c9df1c25-e901-20d5-851a-c03b06119972@suse.com>
Date: Mon, 7 Aug 2023 17:21:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 4/4] x86emul: support SM4
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
In-Reply-To: <96f70f2f-8712-9f93-34e3-f56deae364a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8014:EE_
X-MS-Office365-Filtering-Correlation-Id: e58b85a0-e3c9-4ff0-9b1e-08db9759f36d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tfNOxMCUMpmUDTGMaO7wSEou8YhMCsikPHTexh9QHK1uVJLoHHo0LgrFoqRM+v2AXlSGqZ6eiP0Gb+7qzQ1u5BumXQsHgEVzAU2/HHiS1EJXRUGp6enRcgCdJemWolgnH3HrZ0evmwOR5pNOpbp2CI9eV5sjjTF004dZ+2eAt0Q3qRpTYCgX/3zxomv6sA9ftSrnHs/v4EQ0J4DZOmbo6wgkorgilsvfs4NNhngFC1Gfi9+rFQhuemtYg/av8bRYyEgUJ1CvW5hzEasGS/MwMPtESn/r78eJsEsP14rJnZmP8WVBg3/bUTdkCQr1r4RsZHZhff6Gr9IOirA2GPa0T6lVDHysYVuT3KtApdTrFdJqFPylAJHcXv095FjD8T39nUv9cRWx/R8UOpvkpr9i58wiRHTDnSjOZAwO/l8GQsb9w5KlTd1RyMopt1cR9mVfAGAV9sqhVP3GTu1MfneDmZVLf74wCg98i5utjcpxkn/kNI7/0WlQRyxviaPOPIa4MZpN3sZkhLW8a1bk47+OvF2zulPVOZg4wEDEOwyqcmxGYK9/N2gBMFQei02NOpnJjaJmU1LT89kfgVMG5ytby9i60Xca8PIQJFKLsH8txercybGaWPZx5nE7gJXEc0LB6t1MtmqDrFoBAQVRYOfuLQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199021)(186006)(1800799003)(86362001)(31696002)(41300700001)(478600001)(6506007)(8936002)(8676002)(26005)(38100700002)(6486002)(2616005)(5660300002)(36756003)(2906002)(83380400001)(54906003)(31686004)(316002)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFNaZE03U3g0ZlBleS82U0J2a2IzZnJLKzdic2EwajVKWTdkbmpXL29tekRy?=
 =?utf-8?B?UWtsMUdSOStDaTc4WVIwNUYrUXovZVErR0ZGWGxEd2hxN3c4ZDRMQXk1eXFz?=
 =?utf-8?B?eGhSZFJxR2tuOTF2Um9hZVNDVDNCcmROK3FLTUsydDdOcTNnZWZVcDlMbld3?=
 =?utf-8?B?UktJWkJDNkJ2aFAxUGNwSlVrcmJOVHVCckdJTFRCcTByT1FWRSthTWFseWRT?=
 =?utf-8?B?R3dHOS9YMWVIakhidHBJT3ZvaFhjVlZONitCT3FaMUtTYzlTZzVUQ251NDZp?=
 =?utf-8?B?UXQxY1JFSlBBbU40dUx5R283NWZCekpCbEhkNkh6eGpqSHMvUzRTLzg3akRO?=
 =?utf-8?B?SXpTbXk2TTlaMmZTeDdvaGlLSGEzZzdFOU5kSG1jQlhETGN0NmZRMkw4aUZH?=
 =?utf-8?B?Tjl2YUdlTlRiRC9mTDFSOFpVSld4R1BIeThUcUZsaGQxbnJsd2M3S3NRQVYr?=
 =?utf-8?B?YnUrbUI0S2FYdk1BajdxS1BCaHorZjJSQXkvWU81YWtsOVJKbUNFRWx4MFJh?=
 =?utf-8?B?UGJqTkx2YkVGT1dWdWkzM0dQako3d0IxWFY0aUNHY0JLOWw2NjBzS0FqeDB1?=
 =?utf-8?B?WWFFeUdlNmpQYzhaRkZ2OFdUa1FBeWFuL1ZCbEJVWXBKbEl3dUNaM2FzeS9l?=
 =?utf-8?B?OFdLQ3RDa0JDdVByd1k4R1I4WGZCcjJlazFwMUJaa1VHdGNEWWg1ckdzZVlD?=
 =?utf-8?B?cE5Idi9FY1J0aG1GQjJURklPSGhqWHpUbXFsVTZpZUFKT0wwYWhacnBIZk9v?=
 =?utf-8?B?cGtPdG1Na283M1MzaWlnOFhFc1V3djRvSmNXem0wcnBVZFNBRU9CRHFaVkZj?=
 =?utf-8?B?WkMySHRkUTlZa1c5akFNS0tyQmFJdXdNMURCSGxURzhuQXRNTEVtL2trWER1?=
 =?utf-8?B?bXB0Nk1DT2JkMDYxUnpTZzZ6VFAzbXBFckNFalZWL0dqUkZISkNja2VDOS9Q?=
 =?utf-8?B?K2g0WmZPVjZrSWhrUE5PUTA4cjRVNVc2VFB3NHhGcTJjNnVvU3l4OUVRU01x?=
 =?utf-8?B?enlQaFEvMEpWOU1wSkFtL2V2bUR1SEliaVdGS2toK3lMTWxlVElUU3k1UzRY?=
 =?utf-8?B?YVhiR3Z5dGEvWVdqbFBPVS9PVjJ4MzVkM1l2WFZEZVJBd1l5enFneXp3endB?=
 =?utf-8?B?MDcyZGl2Y0NlR1kzaXA0b01OUG01TVhXZ3FDWjhhc1doY1R0Tkl1ZDVUNjR4?=
 =?utf-8?B?cHhqY09LVmEvVWRaVm8vQVdNcEh5ZVAyb0JnTUNxK2h1V3Z2QXRrcmV4MDBL?=
 =?utf-8?B?ekluU1BxWXFYekVhNlBWK3dWbFNxVjNpMmQ5N2QrdEl2enBLWXcrMXNldWxE?=
 =?utf-8?B?ckFTWkI5NFlHYkJnbXhJZENhN2l2NnF0Qi9uMWdtM0RBQXViVGpyNndldDdF?=
 =?utf-8?B?OWVTbkl1OW8yY0xiT1MzVnFRdTFMdU9ocGkxUWRyejY4SzdlM0l6K2V4RSs3?=
 =?utf-8?B?bVNob3dKellRTStZRXpMRUxDR1IwODhXVklYd2JVRitKWmtTNytDWCtJdVBs?=
 =?utf-8?B?bmlkZFlZODlNM3RtNThOZWlmelRjVzM1bjcrcWE2KzNjdUY0ZVZNODg0WDh0?=
 =?utf-8?B?OVlwK3JERXo2c255NlJHUWhnOWZsMVNyMjRwb2h3bFZBcFpHWTFncCtQRnYx?=
 =?utf-8?B?aEpoYjZwaXdNZ0pOMVhJcVBneDhQbmM0QW01V1RQZTNDUGZZYXlHOCtqYWxB?=
 =?utf-8?B?OThFQUpjZFJQSmtrNm42TVdvcTNhQlVNK3gwUTcxNm52UHZpS24yVHJJTitF?=
 =?utf-8?B?dFI1UW1RdlFlSy9DOUg3MWlkdCs2UmMwWUZnTTdBNURoN01rdklnMkdCZy8y?=
 =?utf-8?B?NHBSc2szYVZIOHNnQXp5NXRwVm9OYUJOdkl1Y3Z3OXdIZDJVKzdyM1R1SGVD?=
 =?utf-8?B?Qy9SOEk2M0Q1SWFMYWNjM2ZkUGtZc0poWStPMWpWT3B0VEtsSEhXV3NYRStO?=
 =?utf-8?B?TTFRVTE1emMxUXZGcmRLOXNvMWQyYzBXdjMza00wQ2lXTFZTNkRxL1VTazZw?=
 =?utf-8?B?anRyMitueThxc25VTXhZOXgvbzlLR1RxN29vMzFtSndxVENGQ3Y4WG9WK2V2?=
 =?utf-8?B?RkhFdTJqTHpNUGZkVlNISm1yTStjejJDSHEvMEM5MkVVMFZYR0FQSkZUZGk4?=
 =?utf-8?Q?pScVT2jRlOsE5RjhRi6JjF86W?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e58b85a0-e3c9-4ff0-9b1e-08db9759f36d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:21:19.6389
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E80O/ODRKrtHB0f7XDdOnNXH4+Ba5RQAk0A7vMJUbq0UPjxKgfT7SKsAUQ3DzbEqdk9qFe8cJjI21K/9w0RLGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8014

Since the insns here and in particular their memory access patterns
follow the usual scheme, I didn't think it was necessary to add a
contrived test specifically for them.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
SDE: -arl, -lnl, or -future

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -186,7 +186,7 @@ static const char *const str_7d0[32] =
 static const char *const str_7a1[32] =
 {
     [ 0] = "sha512",        [ 1] = "sm3",
-
+    [ 2] = "sm4",
     [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
 
     [10] = "fzrm",          [11] = "fsrs",
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1408,6 +1408,8 @@ static const struct vex {
     { { 0xd3 }, 2, T, R, pfx_f3, W0, Ln }, /* vpdpwsuds */
     { { 0xda }, 2, T, R, pfx_no, W0, L0 }, /* vsm3msg1 */
     { { 0xda }, 2, T, R, pfx_66, W0, L0 }, /* vsm3msg2 */
+    { { 0xda }, 2, T, R, pfx_f3, W0, Ln }, /* vsm4key4 */
+    { { 0xda }, 2, T, R, pfx_f2, W0, Ln }, /* vsm4rnds4 */
     { { 0xdb }, 2, T, R, pfx_66, WIG, L0 }, /* vaesimc */
     { { 0xdc }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenc */
     { { 0xdd }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenclast */
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -180,6 +180,7 @@ void wrpkru(unsigned int val);
 #define cpu_has_avx512_fp16 (cp.feat.avx512_fp16 && xcr0_mask(0xe6))
 #define cpu_has_sha512     (cp.feat.sha512 && xcr0_mask(6))
 #define cpu_has_sm3        (cp.feat.sm3 && xcr0_mask(6))
+#define cpu_has_sm4        (cp.feat.sm4 && xcr0_mask(6))
 #define cpu_has_avx_vnni   (cp.feat.avx_vnni && xcr0_mask(6))
 #define cpu_has_avx512_bf16 (cp.feat.avx512_bf16 && xcr0_mask(0xe6))
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -178,6 +178,7 @@ static inline bool boot_cpu_has(unsigned
 /* CPUID level 0x00000007:1.eax */
 #define cpu_has_sha512          boot_cpu_has(X86_FEATURE_SHA512)
 #define cpu_has_sm3             boot_cpu_has(X86_FEATURE_SM3)
+#define cpu_has_sm4             boot_cpu_has(X86_FEATURE_SM4)
 #define cpu_has_avx_vnni        boot_cpu_has(X86_FEATURE_AVX_VNNI)
 #define cpu_has_avx512_bf16     boot_cpu_has(X86_FEATURE_AVX512_BF16)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -589,6 +589,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_avx512_fp16() (ctxt->cpuid->feat.avx512_fp16)
 #define vcpu_has_sha512()      (ctxt->cpuid->feat.sha512)
 #define vcpu_has_sm3()         (ctxt->cpuid->feat.sm3)
+#define vcpu_has_sm4()         (ctxt->cpuid->feat.sm4)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6896,6 +6896,13 @@ x86_emulate(
         host_and_vcpu_must_have(sm3);
         goto simd_0f_ymm;
 
+    case X86EMUL_OPC_VEX_F3(0x0f38, 0xda): /* vsm4key4 [xy]mm/mem,[xy]mm,[xy]mm */
+    case X86EMUL_OPC_VEX_F2(0x0f38, 0xda): /* vsm4rnds4 [xy]mm/mem,[xy]mm,[xy]mm */
+        host_and_vcpu_must_have(sm4);
+        generate_exception_if(vex.w, X86_EXC_UD);
+        op_bytes = 16 << vex.l;
+        goto simd_0f_ymm;
+
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdc):  /* vaesenc {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xdd):  /* vaesenclast {x,y}mm/mem,{x,y}mm,{x,y}mm */
     case X86EMUL_OPC_VEX_66(0x0f38, 0xde):  /* vaesdec {x,y}mm/mem,{x,y}mm,{x,y}mm */
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -278,6 +278,7 @@ XEN_CPUFEATURE(SSBD,          9*32+31) /
 /* Intel-defined CPU features, CPUID level 0x00000007:1.eax, word 10 */
 XEN_CPUFEATURE(SHA512,       10*32+ 0) /*A  SHA512 Instructions */
 XEN_CPUFEATURE(SM3,          10*32+ 1) /*A  SM3 Instructions */
+XEN_CPUFEATURE(SM4,          10*32+ 2) /*A  SM4 Instructions */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -285,7 +285,7 @@ def crunch_numbers(state):
         # enabled.  Certain later extensions, acting on 256-bit vectors of
         # integers, better depend on AVX2 than AVX.
         AVX2: [AVX512F, VAES, VPCLMULQDQ, AVX_VNNI, AVX_IFMA, AVX_VNNI_INT8,
-               AVX_VNNI_INT16, SHA512],
+               AVX_VNNI_INT16, SHA512, SM4],
 
         # AVX512F is taken to mean hardware support for 512bit registers
         # (which in practice depends on the EVEX prefix to encode) as well



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:22:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578649.906256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT23r-0004ro-4n; Mon, 07 Aug 2023 15:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578649.906256; Mon, 07 Aug 2023 15:22: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 1qT23r-0004rh-1h; Mon, 07 Aug 2023 15:22:23 +0000
Received: by outflank-mailman (input) for mailman id 578649;
 Mon, 07 Aug 2023 15:22: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=/LzV=DY=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qT23p-0004rQ-So
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:22:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32d28311-3536-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:22:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E97531FE64;
 Mon,  7 Aug 2023 15:22:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9031713487;
 Mon,  7 Aug 2023 15:22:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /zcDIioM0WQqUwAAMHmgww
 (envelope-from <tiwai@suse.de>); Mon, 07 Aug 2023 15:22:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32d28311-3536-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1691421738; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GoN726XQvVM3O4Jmru+mvY7j3YKAGZ0sihu6ZlArcy0=;
	b=Wf8vbcxp47efBkbpPARn1+tyjp1K9lorjSr6zw+RUXpkkx+j0xlBWJ9rkdEOqOtRtGzpmj
	uD8r9u5a9VUJhpu4h+I1ovMLnfeBugWTqwj6SC9dbpUGexeKDmpZiY5rwZ8k4P7esevqv1
	9h78CD6apzj7JVb1++2c0R0Z6vsTkSU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1691421738;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GoN726XQvVM3O4Jmru+mvY7j3YKAGZ0sihu6ZlArcy0=;
	b=wsLdYZZzxzxpdYpNL5x4TK1cl7YIjiVlFWpaWYUIk0YcmOWEPxN3CihrdAW8Pcs2lZf0+0
	FtN529EXC9vkz6Ag==
Date: Mon, 07 Aug 2023 17:22:18 +0200
Message-ID: <87pm3yj2s5.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Mark Brown <broonie@kernel.org>,
	alsa-devel@alsa-project.org,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
In-Reply-To: <ZMlGKy7ibjkQ6ii7@smile.fi.intel.com>
References: <20230731154718.31048-1-tiwai@suse.de>
	<b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
	<87h6pjj2ui.wl-tiwai@suse.de>
	<a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
	<87leeugbxm.wl-tiwai@suse.de>
	<ZMlGKy7ibjkQ6ii7@smile.fi.intel.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII

On Tue, 01 Aug 2023 19:51:39 +0200,
Andy Shevchenko wrote:
> 
> On Tue, Aug 01, 2023 at 02:54:45PM +0200, Takashi Iwai wrote:
> > On Mon, 31 Jul 2023 21:40:20 +0200,
> > Mark Brown wrote:
> > > On Mon, Jul 31, 2023 at 09:30:29PM +0200, Takashi Iwai wrote:
> > > > Mark Brown wrote:
> > > 
> > > > > It really feels like we ought to rename, or add an alias for, the type
> > > > > if we're going to start using it more widely - it's not helping to make
> > > > > the code clearer.
> > > 
> > > > That was my very first impression, too, but I changed my mind after
> > > > seeing the already used code.  An alias might work, either typedef or
> > > > define genptr_t or such as sockptr_t.  But we'll need to copy the
> > > > bunch of helper functions, too...
> > > 
> > > I would predict that if the type becomes more widely used that'll happen
> > > eventually and the longer it's left the more work it'll be.
> > 
> > That's true.  The question is how more widely it'll be used, then.
> > 
> > Is something like below what you had in mind, too?
> 
> I agree with your proposal (uniptr_t also works for me), but see below.
> 
> ...
> 
> > +#include <linux/slab.h>
> > +#include <linux/uaccess.h>
> 
> But let make the list of the headers right this time.
> 
> It seems to me that
> 
> err.h
> minmax.h // maybe not, see a remark at the bottom
> string.h
> types.h
> 
> are missing.

OK, makes sense to add them.

> 
> More below.
> 
> ...
> 
> > +	void *p = kmalloc_track_caller(len, GFP_USER | __GFP_NOWARN);
> > +
> > +	if (!p)
> > +		return ERR_PTR(-ENOMEM);
> 
> This can use cleanup.h.

Hm, I don't think it can be replaced with that.
There may be more use of cleanup.h, but it's no direct alternative for
kmalloc_track_caller()...

> > +	if (copy_from_uniptr(p, src, len)) {
> > +		kfree(p);
> > +		return ERR_PTR(-EFAULT);
> > +	}
> > +	return p;
> > +}
> > +
> > +static inline void *memdup_uniptr_nul(uniptr_t src, size_t len)
> > +{
> > +	char *p = kmalloc_track_caller(len + 1, GFP_KERNEL);
> 
> Ditto.
> 
> > +	if (!p)
> > +		return ERR_PTR(-ENOMEM);
> > +	if (copy_from_uniptr(p, src, len)) {
> > +		kfree(p);
> > +		return ERR_PTR(-EFAULT);
> > +	}
> > +	p[len] = '\0';
> > +	return p;
> > +}
> 
> ...
> 
> > +static inline long strncpy_from_uniptr(char *dst, uniptr_t src, size_t count)
> > +{
> > +	if (uniptr_is_kernel(src)) {
> > +		size_t len = min(strnlen(src.kernel, count - 1) + 1, count);
> 
> I didn't get why do we need min()? To check the count == 0 case?
> 
> Wouldn't
> 
> 		size_t len;
> 
> 		len = strnlen(src.kernel, count);
> 		if (len == 0)
> 			return 0;
> 
> 		/* Copy a trailing NUL if found */
> 		if (len < count)
> 			len++;
> 
> be a good equivalent?

A good question.  I rather wonder why it can't be simple strncpy().

> > +		memcpy(dst, src.kernel, len);
> > +		return len;
> > +	}
> > +	return strncpy_from_user(dst, src.user, count);
> > +}
> 
> ...
> 
> > +static inline int check_zeroed_uniptr(uniptr_t src, size_t offset, size_t size)
> > +{
> > +	if (!uniptr_is_kernel(src))
> 
> Why not to align all the functions to use same conditional (either always
> positive or negative)?

A different person, a different taste :)  But it's trivial to fix.

> > +		return check_zeroed_user(src.user + offset, size);
> > +	return memchr_inv(src.kernel + offset, 0, size) == NULL;
> > +}
> 
> ...
> 
> Taking all remarks into account I would rather go with sockptr.h being
> untouched for now, just a big
> 
> /* DO NOT USE, it's obsolete, use uniptr.h instead! */
> 
> to be added.

Possibly that's a safer choice.  But the biggest question is whether
we want a generic type or not.  Let's try to ask it first.

Interestingly, this file doesn't belong to any subsystem in
MAINTAINERS, so I'm not sure who to be Cc'ed.  Chirstoph as the
original author and net dev, maybe.


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:24:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578658.906266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT25i-0005UI-Gg; Mon, 07 Aug 2023 15:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578658.906266; Mon, 07 Aug 2023 15:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT25i-0005UB-DS; Mon, 07 Aug 2023 15:24:18 +0000
Received: by outflank-mailman (input) for mailman id 578658;
 Mon, 07 Aug 2023 15:24: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=FiBK=DY=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qT25g-0005U3-V1
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:24:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77ec7e09-3536-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:24:15 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 80E8F4EE0737;
 Mon,  7 Aug 2023 17:24: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: 77ec7e09-3536-11ee-b280-6b7b168915f2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] x86/cpu: Address a violation of MISRA C:2012 Rule 8.3
Date: Mon,  7 Aug 2023 17:24:08 +0200
Message-Id: <163937bc59c7a8a5b2f292466090f97b7ec8f623.1691421539.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Keep consistency between object declarations to address a violation
of MISRA C:2012 Rule 8.3 ("All declarations of an object or function
shall use the same names and type qualifiers").

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/cpu/cpu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h
index 85a67771f7..e3d06278b3 100644
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -7,7 +7,7 @@ struct cpu_dev {
 extern const struct cpu_dev intel_cpu_dev, amd_cpu_dev, centaur_cpu_dev,
     shanghai_cpu_dev, hygon_cpu_dev;
 
-extern bool_t opt_arat;
+extern bool opt_arat;
 extern unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx;
 extern unsigned int opt_cpuid_mask_xsave_eax;
 extern unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:26:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578664.906276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT28C-00065g-Tq; Mon, 07 Aug 2023 15:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578664.906276; Mon, 07 Aug 2023 15: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 1qT28C-00065Z-Qs; Mon, 07 Aug 2023 15:26:52 +0000
Received: by outflank-mailman (input) for mailman id 578664;
 Mon, 07 Aug 2023 15:26: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT28B-00065P-1y
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:26:51 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe16::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d386ed33-3536-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:26:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7308.eurprd04.prod.outlook.com (2603:10a6:102:80::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug
 2023 15:26:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:26:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d386ed33-3536-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c4Tx4je0EZBLvgL0ogTRMdvtVrAQWqgzkYTnuRaeuGkZyD5DXBXDMysPx1vzdJ4PrGuoIa2ThK1BMeMhKWINvPPdOb6Dzkcbq9U+hoiYiIMQ7QKwelqLyQOApzOV2pcOnb4D4sviUIVOuQgm+GwNFOGqLiMsGTiI2jTU7om2nYgwJBqI4/xI99kiDTAEqDzQun9iG7qhzhbevmU0N5FIbT8wwnWi547tHTZ4mTWUQjsqi/hdSI2tJtmo5JhYQXxTwNsqhPndqI7w0FxPiz6kmyRYpprEapxOzEghjJByAcnm3K9L/aCjFnF3TK0XqWptD8MvTJZdOcketew3Vh05pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eM/7S9W+t50LzVxhH4a+l1AKY6Fduweh3gg82cmjdH0=;
 b=Q3fLu6oUhYR6m/YxabjQ4nYTK5eFuPt4KvEbUzgO8akhJ/YojDPclpHB6jNCnzzBuywq8u1f8BgVxZNhWj7+9J94In7z47AjgAVL32U2OY7LPz+6/qGmM/94O+7izemYOiPB8GVHr9aIC80BAz7Q4h+OeEwh/f0VjT7+s+FY6ZSA0sVgxHl80y7jYonPK6IMozWlFVxspXxVibpfxn6Oq92RJGm7sFDdJdBId7bItBc4jsa93eHb5TkGcDP6jjNYopTk13TDbBsDdwSd6fBLPsdRmM3xCxOp7HSkoX3/dEtgy8v5tOWvq/vl/BjWwcxhdkArM58F5JMeh5THEF93YA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eM/7S9W+t50LzVxhH4a+l1AKY6Fduweh3gg82cmjdH0=;
 b=BM7MDwxtDx1+a7odiUF5rxZHOBLURh4HFHB/JUCmNh2bupbAZ+b6qYdjXDqJnQwCmyUtQn7PARnL+ZjLN0dVCrwZmUot0R8oEMahUSInydO4bhaVyJDGmoqmERpUzHn4vsY0HqxzM/+4OMFX8S4ri5LkSSglWQG6tNZQz4kxTxhrPbJB+n+2ayisjK113DN4I2ch0rt2JJxVN85bb/MU7JD3w8GlGTUNHG3KaKoLjS9RoaNthAxjnUg4yZe+qrQh4SYETzLQbAu6ZTobYDU2nTGnI8Ozu99DVIM3e8paAYrJRYuiTwK92BwKPvQSdGQhacA67b3L1wIlAkc1ESIbWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3b95baec-b46c-4862-6d16-b4e6dd38b114@suse.com>
Date: Mon, 7 Aug 2023 17:26:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/cpu: Address a violation of MISRA C:2012 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <163937bc59c7a8a5b2f292466090f97b7ec8f623.1691421539.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <163937bc59c7a8a5b2f292466090f97b7ec8f623.1691421539.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7308:EE_
X-MS-Office365-Filtering-Correlation-Id: 8db40283-82ee-4c8d-7099-08db975ab69b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8+Ar4el3ZHJ76Oniq+vlkYLy2ywReLXL1Om3GkWMSSI/9QooGxU7BP+VGQWXvxd6ftzzKJ/xn7OyDqwYN3fiAi4VOESmPztuAzFCB+ppCFgfTB7IWtws2psGNyk7ekWicjBGdG4lWeyWQh5b73ejqGQDz7l0yoPfzi+wWQu4LNNNgoR6B0cJdLYPLNk6MTZ1bTjKxCdI3e3m1psCueE9akiWMfiXBub8A5XDR9fqY9ZRUvZZcOtEVJXOpqVyaq6Tu0A+iQArBMwdH0M99vvWzJXxiZl4mJdqd6q139md6uBO6CyIwuSy151h0lQ6oZcrY8lk6LymFJ4Rz7OW/cEAzRh7jwkku/1BQjbwya3bYGFMcAkGfja+goFAefJzjNf+LIcPNz5ApbpuzevqO7TgtxpfWNyS+nk0cqJ0+eIyrVAE9VS4ecKasxlLWF6BzAfzh5pJ3Ksdy3hi4MmtGiOgfioLKHKhwO0gdIUFGa9wWeNOkiIewrI89K9HMN+KshK7nRVArn6aEyUnWjqNkRwRGRBcltioeJbJxC7L7HgGLGSxI1C6rpe9i4FYPEPH7sP7bOfvKBgZ57xuN4DPcsqKaba/iK1vtSydiyRBEAB/p91kGdLcp+1yN70UVMqG2T1Lvjy5WLY0n4tHNw2O0UeycA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(346002)(39860400002)(376002)(136003)(186006)(1800799003)(451199021)(2616005)(478600001)(31686004)(6486002)(6512007)(53546011)(26005)(6506007)(41300700001)(66556008)(66476007)(66946007)(8936002)(8676002)(316002)(4744005)(31696002)(4326008)(6916009)(2906002)(6666004)(36756003)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnNNdk5HWjlGeUE1L2JaaExtaFBlQTVBWERCT2NUS1FBNmpYMElwWnN1VjEx?=
 =?utf-8?B?QWZXdkdRb3V5ZWRVNmVGUWRwc1JHZi9VakFJZUFTRnRVdDBmOXJzZkJoYTRr?=
 =?utf-8?B?WUNkMHFsUkdOSmR2aSs2Ym1zem8zaWJtU2Ntbm9NZjM2YkVkREd6endVaFhn?=
 =?utf-8?B?YjJlekNjWEQ3c3B5b1Z5dEx1WUc5dWtzT3dlcXdmNHpFd1RGQTlrbHA2SDVJ?=
 =?utf-8?B?RW0yYUVaUS8rK1pKeGRlMEpNZ1JtRlhnWGE2M3k3TXE1ZzNFUmdvTlhoMGRP?=
 =?utf-8?B?WWRUTmxGQ0t6ajVXQmhEMFg1WHU4NERtbVBZMnRmYWZ5ZXpFZFhDczZOK2s3?=
 =?utf-8?B?QXhWOGhwcGtQQzhmQzlGa0QxZS9HajBwQ3NSN2NRNHFjRUtlSFAyZC9WYkZn?=
 =?utf-8?B?UU9hQnhlSGpiZFNGRTlzOXF6VU9kMHplWlpCVUdXVzMvR2F6bnlod0pEYnJM?=
 =?utf-8?B?MG1sLzVSWTVkdTNvdDJTQmpRZm5wM21KVjRGbStqQ2VaTU4rOWVZVEFIai90?=
 =?utf-8?B?ZjlsRlh5SmNjdVNtTmhMaGljTXdHZlZMMFYzRlh1MHFIaGVESjAwRlFud2VU?=
 =?utf-8?B?QktpdGcwRjRkRmo5T3ZHUkNaZnlTc0VRY29jMmQzQlo2NmNEMlRvdlBEUkUz?=
 =?utf-8?B?ekplYm5kMElxOFIvbXMvUmRrU3RhcjNWcVNPUmI5ZXNpdExRVUUwODFHbmFo?=
 =?utf-8?B?VHZFdXcxbTExVzd1bDlEczNnalIvMFZzQzFqSzVidGZoTlRHU1o3MkhDK0RD?=
 =?utf-8?B?S3hTc1VXTFRnRW9GV0Jwd1BESWFrMTE4ZnppYkl3M2RyL3c0aVd3TWJvT3Fl?=
 =?utf-8?B?L1hsdWFHV1hCYWVEVkxObkgrRkM0Q1pPMXYrdFMvU2JyZVlmOWRYdGRnNFd4?=
 =?utf-8?B?dEExbDdSRkdHdmx1bFAvRVVYQnZtNWRmdFlidm5FdEEzN25ybWlkRTVLaG8z?=
 =?utf-8?B?cTFLMlU1V2xYU3Z0bjl3SWJqWStGLzNqVXZNekNQWHNScTVLODQzWmlMOFg1?=
 =?utf-8?B?Z25VakV5d0ZheXpwOHI3cmM0SkFlaldlWHpoT3JuOGY2clBsY21NeXQrMjV2?=
 =?utf-8?B?WENlU0dVU2hoUmt6TWZ2MndhVE5YdEdJeHNSWGsvbElVbDQ2WkZ5elRKbFJF?=
 =?utf-8?B?Z0JrOFp5MjJNSSt2ZTl4Si9qcEJDQ3JuRWozY3NzS3N0eDYvNkdINE0vZ0k5?=
 =?utf-8?B?ZnVxRzRFOWY2c2hRYk9tR1NzN2h2WjNjaXpySmcyWG5UdERhaTIyZ3VOQ2li?=
 =?utf-8?B?RnArZ3cyK28vV2xKaUhrdzdqMEwxcVNWbmluWllnd3ZsakNON0N4em1XVTRm?=
 =?utf-8?B?MERQUmJxMVgxYU1raGxmQTM0a05lQUc1Q2pKUlhNdnVVL3dsK1I4TkdKcThj?=
 =?utf-8?B?TExwYXhaMjdBbHQydjBuK0YzZG5memt5eUZpYVV1aVV5YmNxbytWbmR5aXRT?=
 =?utf-8?B?T3dodnJCUGFCWHRkYWxJMFcyMmREczNMaW9hTTNzQ3VrQlB0TGsxcUxKbktJ?=
 =?utf-8?B?UDFPd2kxOXZMejdHSjNJbmtOZ0tENTJSRkRqOWlFbWQ4QlRRd0kwNE9iVDJB?=
 =?utf-8?B?cENKbGFGL3VyZU0yU05oTGkvRktkWUNBR3l5bDBrUUp1UCtVdHV4d1lZRlhD?=
 =?utf-8?B?c3QrUGp0L3hqK05vc2RtVzRicFBWVHMxckUwNmRWMU1wVGdYU0JFUnJ4RmhR?=
 =?utf-8?B?TWVwNmx5Z0hTTVVSMm92Q1htb2hTQXFIRnV0K2lieEhRYUFJcE1sQVRvU2hB?=
 =?utf-8?B?amtQYkFtbmkrQVpYWUdlWmZFNzFGYVZ2R0ZVWDhJbzZrbW4rbWtxSXlYUGtV?=
 =?utf-8?B?T29rdUlnaDlTd045RkdWS01tLzlwblZzV2xqbXlDM2duYlVIcSt1ZnRlN0M1?=
 =?utf-8?B?NDNaVzVOVkYyKzZCNUVnY2xLTnBxMU1JcWd3Q1dxNEdmeE5IY2FZaWsyejU3?=
 =?utf-8?B?RzEyZ0Z0ZERBbXUrNlp5RmFDZS9EYk1sMWN3RzA3SHlPcXV1SDJMZElBTGlB?=
 =?utf-8?B?QWtYRVpQRTdzS2k5SEhHaXMvbGV2OHYwczh6RDR1OWVmcGRMYW9BK3ZJMnRK?=
 =?utf-8?B?Njg0VTFKVHNKUkhtckxYU0xkSFlucGlEcFJCSncybk0zUXdUMVRHVHpYbk5P?=
 =?utf-8?Q?t1xy+3yf8eb+ZkbV4zcsiQg/+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8db40283-82ee-4c8d-7099-08db975ab69b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:26:47.0997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NhBrkEhS5p+Bsml4ch5uEABGlr5F/yBYIQENPADCd16LOrAF9TNaHS9i9XeCJpIeQrUzYnn9JlsiT0SnYOhUtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7308

On 07.08.2023 17:24, Federico Serafini wrote:
> Keep consistency between object declarations to address a violation
> of MISRA C:2012 Rule 8.3 ("All declarations of an object or function
> shall use the same names and type qualifiers").
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

I think this wants both a Reported-by: and a Fixes: tag. The
description would likely also better not follow the boilerplate you
use elsewhere, but instead describe what has happened and hence why
the further change is wanted.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:40:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578672.906286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2Ku-0007lP-6Y; Mon, 07 Aug 2023 15:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578672.906286; Mon, 07 Aug 2023 15:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2Ku-0007lI-3D; Mon, 07 Aug 2023 15:40:00 +0000
Received: by outflank-mailman (input) for mailman id 578672;
 Mon, 07 Aug 2023 15:39: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT2Kt-0007l5-4G
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:39:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a99ecd9a-3538-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 17:39:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8949.eurprd04.prod.outlook.com (2603:10a6:10:2e0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Mon, 7 Aug
 2023 15:39:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:39: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: a99ecd9a-3538-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n83PtR4euJ/pDChSm8mmzYO7BLj+YLUyWp+vayTnhJmRntmawKgWToC48evGZeAye6mfMMz3njTbpcVDmFCdOS1PPTldopfpyohCyg51i2YRAE8RVPb9z3Vf7402EMn1F9I550d+u1jHG3WcRr1wsb72CRqdGAn329mZcCAdNKYUB8YJ4CftT+1uzrWyVOzS8wXLZTuaWfYLWO48R+0Lfl3aaxGKAu17UwIUacCif0F6B0MTmZSVJSdYBhhq0YCLG8cVsgfkCL9Kw5iSlAwSqT3hdnwe6mq/pySho4/zSO+xEkjXT9l4uFGD3nvRyfO4OQr48iteVLF8xLztTUqJ6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5a0aGsgMCp4OKHVf3eaemHU1LFdujOUFiyGq8ijI+ww=;
 b=GDVmFR3hkfbhw4YYvca2uq/mxNWA1UJFaEjjjNM7gtlLupcpGmTvZG1QtGjjV7ibxY/BaIU3YySDJ0yh795YvGzXMiiGHncOq8JF1+EHcVfhHqqz2G2DU5oVQO4vgYU69VpigXfrf6UNlYL3AuCO8U02l2U4wo/PKiZ2nTXmuOHopz91z9PkRkxwfYYmWQKwyavrnbuRbVllr/ZqqUI1QDJbA2jW3Cm6s3p4NbdQpk1073HOhhvXuqyO90G4HYbnbYOjyiEMB4TJuTTx5D66RuiEQPzaioEmm2LOJeJ9ycJKTb/T/qezeCHgTYzI11WZ6L1IFK5lG2k33Ru/+Be8cQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5a0aGsgMCp4OKHVf3eaemHU1LFdujOUFiyGq8ijI+ww=;
 b=kYyYgxhbjfd6r2AqUh+b/7C5aFzrMcdL9I+97qg9Pxv+mnkkpM/XqbMtCRHOX7CVoOeN88Kjqa10EcjEyCVaGKkI3/UGzynS9pZzqXhPuyuQmWrp1brikIfqRWu3PUpx4PLGmY3sPdTCVzRmzH+xtzCZmaz2XkJMWQpYTIaJEXdzAqdEFPNyY1zDn1XEx5hvyc5Jwt1vYDTbLj9Lp3yrw19T5Q/Aq4oChMeTYaFDnN6Cojr5JwYh82zRb1Zo9Q6nQH880fGHMLfoYGO04yLo+kkbmd4VKszcBZQRMCp0CrH7IX2k+oPrnoW98ERykTrxQZh74sIJ8ioNJjfxlqNjXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <af751f31-5e8d-2b1d-e878-148e08d9264b@suse.com>
Date: Mon, 7 Aug 2023 17:39:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/9] xen/common: Add missing #includes treewide
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::23)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8949:EE_
X-MS-Office365-Filtering-Correlation-Id: 90f23f9e-c930-4264-9bcc-08db975c8ca2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h/GVPe/pLfbUQ6MfsViHwOoFihOuP9KTjJpZe24QdkgQDKlcr030tZKcJAKV38VkKPlFPbB4O918RzWNvnVLcx/HqG6gVhOE5+Cs68D17Z/S920noRpp8PQnVRlgqaelqXeRccnr2nU/nvaDQdM5z3/QD7hE9lRZmptdU2pIMQrjFVMuhuLpuFIEm1va/jdizwBKmhRzvsH5/FGZPfCJkVOWFDkv2Fl7pQrrUQEDmk4QkuFNS8QimzJD6blwVTD1ZToNk72uQBqSbkQd0vc0lfESCeUxbfZK20fPVraL24wZIJNb0NamiQuMIIm/hY898Sli5VaIc74fz7H/GMOShM6f2Mrwu5JDL+RzNXSn/weE1sQYpThva6gxxfBkv4eL/mdrxA3TO9U7kV2t4DTYGkPmNyHn41XVigVRyK2bzKyNrUy0pIeCbyH4tB08TTP/G02KCted3Ty3icJzUOL14ygyNGS8zCdHgInKZu2588YYK+JjADhU3sJLfQIlmDxsNvQUp+Yf/QKlv7MPDP8q2e+YEy5p0CxyK4xiE87Qz2M0EY0cT/JVWRyotvc6SDYPkH+JlXQMU+qdrlppHqgU2ckfIu/Kn/n4eUSb1aYBe+KlGi4shtgM/2iRmsIdiJbm8/d0P4QCcyOZwxp9YBaWWA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(396003)(366004)(39860400002)(186006)(451199021)(1800799003)(66946007)(66476007)(66556008)(4326008)(6916009)(2906002)(53546011)(2616005)(38100700002)(6506007)(54906003)(86362001)(31696002)(6512007)(478600001)(26005)(36756003)(6486002)(8676002)(8936002)(41300700001)(31686004)(316002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGdJTDI0QU1OQVozNDUvbmNpcVFBNEQvYzI4Vjc4bWwvQXZaZGJ0UWFRTnZp?=
 =?utf-8?B?VkZ5djZMbjNpNUJRU0Fvdzl2c003UW5Ud1plcGdsaWEvZk9NcTZBallVTG02?=
 =?utf-8?B?SzlMZDk1QVdJbWRTWnB4Y210a2ViYXRuZFFBRUh4dkttKzBNVW1nUlhQeXFT?=
 =?utf-8?B?U2grbjlnTlFSRGVXMHp3VlowWDIxcklXWERVZE9mR2NQMWJndENlU2RKWGJa?=
 =?utf-8?B?dWZvbjd1bTVIeXVaTXZxcjRBNzBpb2ZoZGtwY2E4NmxBd3JJYktxUTc4U3N3?=
 =?utf-8?B?NkRBdXVPWjY1ek1kQXJrMmRGRmJNOEJnUjg3ekpWSy96eDFzK3NTR29Ha3E5?=
 =?utf-8?B?M1V5NGpKQTE2bDQxVHhScW9XRlBrN0t6OFpsZGM3cE1vZHBheHZVY0xQTU9X?=
 =?utf-8?B?NU5UczU5NlpYTXFaZElhTzJPY3pEMkhPOEk2cG85Snozb1dCZ2JlZmRIQzdv?=
 =?utf-8?B?bTU0V2JOaTh3bmVXem9MMEhvUFBsOEJSTVpHWVRSSm9yVWMwUlFtWkM2SVJ5?=
 =?utf-8?B?RzNKUGJhUkxLZERmazRTbE9wOFdwMkh6MDJWWk9xWEdueWhhOUo5aHorSkhQ?=
 =?utf-8?B?S1JLM2M2eGRDYlFBQUxQT1ozbWZIN29RRkUvSytjVHhLQm1NdmErbjlVcGQ4?=
 =?utf-8?B?akxySWQvMzZiQlowdlFxWkhSa3EvS3lJbXZoR0dIcUtRNFlLMlhYeVplUHpa?=
 =?utf-8?B?YVRML0t2d09FKzhCY1dPL2ZiTGx6V2RGWTI3dGVSZTEvR081TzBHMEc5M0h1?=
 =?utf-8?B?Wm94a0pUQy9XQVpFK1kzaEltYmhzUGFlem01MU9QdWszMi9jdkFUKzVYcTBE?=
 =?utf-8?B?c05PaHlvdUJhd2tENUhqYTQ3d2JsK2lXbng3WDJrOWZla2NlQzd5d1hRMm5U?=
 =?utf-8?B?K2pJcWdRM2dKeGVoZkxXUjFpSDN4aTNWTG1oR2hvelZ6SDNtMlgyZlFsTmdN?=
 =?utf-8?B?WlRwUTBKVXFVYlIrZ0xTTUhtMmFDQkNKeGxLN1h5bWtQbU4ydk0yeWlpQ0tV?=
 =?utf-8?B?ZCtvMHRFRzFYM1hyaTdLbUh3dVlYRXE0MzVpZmdJdGNqYjZuQU5MVnpRNWxy?=
 =?utf-8?B?MHRGdEtHVDljUnBHRGExNWtDSzJMdlJOTXlQa2hsejh5dXN6dGtHQ0JEUzBs?=
 =?utf-8?B?TmpEdTMzWm0xUTdnVHUwaEVPRGkrMytrMEk4bVlqc1M5djRDYnZTd255bjFB?=
 =?utf-8?B?MDJsK0RPNDlGM3FDZ2I1MFludDdsb0QrWTFtK3ZzUmJSSGk4ai9Edk9zZTV0?=
 =?utf-8?B?eXJBOUdOMGU1NnNJeDNMdzdUYUw4eDA0eHpnYm1DM2hWMUdVWnVaaUMyQzZJ?=
 =?utf-8?B?aThoNGk4RTJNd2p1cUlpOG9aWk9PSjVQSWZVdWQweTZmMFNTVmtxZ0x3OVF2?=
 =?utf-8?B?TEwyZmtPMi8vQTNaeVdzb0YwMlVZWXA5YlNZM0RmVHkwRFJOLzhOWFdkdVV3?=
 =?utf-8?B?Tys0Si9kbE1KK1ZvTGdDSExNY29qVUdGZjBTaURpQ2FEd3NZeVJuZFVOUmpk?=
 =?utf-8?B?V09PUVRabjFONEdVbTFKcnU2Z045bnJPcXhJRk1lakFrdDFXTWVJbVpvSDRQ?=
 =?utf-8?B?U1AwbW5LWERQL0N1ZDBtZGJpMW83UnF6QXRxOW9VQjdZUnY1SjdocmtvaUlF?=
 =?utf-8?B?ZStZbUoyTXB1MHhMSnd4TEt6MXdCblRVUS92UFZNVklmL2JvTCs5UDYwSkov?=
 =?utf-8?B?bm1xeVNCQXhrNzNZaFlrVmZFNUdDODR2ZGVwbXBGbXdLYlB4YUxqM1ZCdlh2?=
 =?utf-8?B?QkpkQjFJbWlwZkVYT1RPcFpqaFozYWpwTGI5Z090R2Y2d3JzWEt6YVVlbGRa?=
 =?utf-8?B?TkV4UFVZRWp2WkdObWlzUDRtMkdOMUpVd3RsdnVpdGQ1WXZCY0Q2SnJiUWZh?=
 =?utf-8?B?NWNKMGgzVFVoYTZEMHFVelpBVnVkTTZ4MHcyQm5Gd3VaeU90bDBKdUVwMFp0?=
 =?utf-8?B?Y2lsbW1vdSsvL0hIWTA5NjZNcnA2TWo3L3NSejZiVTlPRnhnZUxDWmgvbGF0?=
 =?utf-8?B?c0YwZ3ZIODlMWXZ1b0x5TkFaa2RYcVBROFRLbkU3R0RNUUlmenFDNVpNWXVx?=
 =?utf-8?B?YW82d3haV25hbEUvQXdtWnk5U2o4a2piYVFUTkl6a2d4YUllL0lIZjB3NWht?=
 =?utf-8?Q?O2OIPK9TEwgh/vOwraL823dkX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90f23f9e-c930-4264-9bcc-08db975c8ca2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:39:55.7140
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sGawX2cTgMWWu2p6MlJ2iT/nxYTBecKIbNS8h4X45eXlqbPRFnbXf0T9yXXcvi38WhNCyS1SHYporMsciLLfTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8949

On 03.08.2023 01:02, Shawn Anastasio wrote:
> A few files treewide depend on defininitions in headers that they
> don't include. This works when arch headers end up including the
> required headers by chance, but broke on ppc64 with only minimal/stub
> arch headers.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

I'm okay with the changes in principle, but I'd like to ask a question
nevertheless, perhaps also for other REST maintainers (whom you should
have Cc-ed, btw) to chime in.

> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -28,6 +28,7 @@
>  #include <asm/current.h>
>  #include <asm/hardirq.h>
>  #include <asm/p2m.h>
> +#include <asm/page.h>
>  #include <public/memory.h>
>  #include <xsm/xsm.h>

I realize there are several asm/*.h being included here already. Yet
generally I think common .c files would better not include any of
them directly; only xen/*.h ones should (and even there one might see
possible restrictions on what's "legitimate"). Do you recall what it
was that's needed from asm/page.h here ...

> --- a/xen/common/xmalloc_tlsf.c
> +++ b/xen/common/xmalloc_tlsf.c
> @@ -27,6 +27,7 @@
>  #include <xen/mm.h>
>  #include <xen/pfn.h>
>  #include <asm/time.h>
> +#include <asm/page.h>

... and here?

> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -4,6 +4,7 @@
>  
>  #include <xen/types.h>
>  
> +#include <public/domctl.h>
>  #include <public/xen.h>

While following our sorting guidelines, this still looks a little odd.
We typically would include public/xen.h first, but then almost all other
public headers include it anyway. So I'm inclined to suggest to replace
(rather than amend) the existing #include here.

Then again I wonder why this include is needed. xen/domain.h is
effectively included everywhere, yet I would have hoped public/domctl.h
isn't.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:49:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578678.906296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2U8-0000sN-3s; Mon, 07 Aug 2023 15:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578678.906296; Mon, 07 Aug 2023 15:49:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2U8-0000sG-0J; Mon, 07 Aug 2023 15:49:32 +0000
Received: by outflank-mailman (input) for mailman id 578678;
 Mon, 07 Aug 2023 15:49: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 1qT2U6-0000s6-Qv; Mon, 07 Aug 2023 15:49: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 1qT2U6-0003BX-J8; Mon, 07 Aug 2023 15:49: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 1qT2U6-0006bg-4R; Mon, 07 Aug 2023 15:49:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qT2U6-0002Ab-3x; Mon, 07 Aug 2023 15:49: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=iygen/Su8yp1XcFkkVWv6+8Gw3j9pytkUtTD+yVK0WA=; b=f8jyGfTINTOJMYkEtX+qJEN1+t
	Nbzbu1BW/wuP90aAVf5Zek8QGXDM2FD0GFYwYzse8rTyoonk2VRldvvkAZi+A/IbdomOldmjoMNz8
	EAqD89k6/TfxTlnxsIbsw/oEaQdGjf5CYuMoXZaZw3YSpc6cMWFbNMA2xnjDqWuqHrak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182209-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182209: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:host-ping-check-xen:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=52a93d39b17dc7eb98b6aa3edb93943248e03b2f
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 15:49:30 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182217-retest
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail pass in 182217-retest
 test-amd64-amd64-xl-qemuu-ovmf-amd64 20 guest-start/debianhvm.repeat fail pass in 182217-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail pass in 182217-retest

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

version targeted for testing:
 linux                52a93d39b17dc7eb98b6aa3edb93943248e03b2f
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  112 days
Failing since        180281  2023-04-17 06:24:36 Z  112 days  203 attempts
Testing same since   182209  2023-08-07 01:42:54 Z    0 days    1 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 15:51:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 15:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578685.906306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2WF-0002ID-GX; Mon, 07 Aug 2023 15:51:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578685.906306; Mon, 07 Aug 2023 15:51: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 1qT2WF-0002I6-CX; Mon, 07 Aug 2023 15:51:43 +0000
Received: by outflank-mailman (input) for mailman id 578685;
 Mon, 07 Aug 2023 15:51:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT2WE-0002Hi-0m
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 15:51:42 +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 4c096440-353a-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 17:51:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9579.eurprd04.prod.outlook.com (2603:10a6:10:306::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Mon, 7 Aug
 2023 15:51:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 15:51:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c096440-353a-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PRy22FFUXgBnKPEnowny5Cyg3alCZ4VfGxZxqFQAqOReWzxuT++H/c2HBYwCjrPVZkpBPXXtBoy/BpPBP0lQN+kGX8sEUBSx4BPLOGelcdwBGoIDlqFBoSMoDY4ViF4rITP/lCLpRBdGqB3bOLasIQl53lkTTxftH2wYGup6Klx8fK3k/L80tOFn5UL8qGaPO0jRQr2H2v4OrLY7Eh8eto17QmtKfurAN9mdjRxqqNjoHJBDfO5oEW0wxEEPJXtmgtIa0xyvUwn2xK/BGrvIzPjURMzp1uTggRZjIwlWJer2CTiqxIsmFCo8AiPio4qbx/ydLHU4MIG43b1pe0Iozw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JZM2aPtkR7BEx4uW72YUYodwBCKkNjvFv4Xb5eFtWpI=;
 b=cTLBZRvbCjrJjgTS17kpq0f0Unc90bW4Bjcp3dz/FvCN5I7Gj1DL86DIORUSeww19u4ghI6EosgXmKi+lkracZP+V8MT8cYzYN7lZGD/8p7DbJ50s2EB7eox9qekeuNgWRMAe0MJHb8J/LcIswj+22NuHa6SZiYK9hGvf++4Y1dDJrZNkR3Zm4QPk1EiB2YC5EyY/I0d3f8iYoKMla26jsGeeTvt9hb5b9rpdVDOIsG+zZKU8JsFXMWeIY5ETP8sTHymutMif2TcuK6BhxmhGhFpOO/dJjTcu81rei0e39G0zia3I5qaZKA9aHEUQ7qVzaT6KlsuXp+qY8TNyXBNZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JZM2aPtkR7BEx4uW72YUYodwBCKkNjvFv4Xb5eFtWpI=;
 b=3u0rc/LnZJ98RnwOqyjN/+/8XpSrPrz5unkevIkV9rl7uInQ3MVQ1t6FIsKb7exjNy8QtxAygjCarY697B3Zz7vPF6jjRhxm0wJrzltmIyPWR11cK9zuAI8cACSYFxKOoyZHpV9nbk9Y4mYQ3sYlmlB8gS+GH95c0eBXGZBFy1izvJEIxkcLbo28XiDKFBpk5tBgqlWmMOEHHkIJZlnNnL4XRPQsOJCMZWUpra6NMM2GFKSHninBaq5ayue+HgFP/lXMewFsvTqedZHHHpPtkvytcnIyZoPG4Az0cKSnMXYYbvRfDvJQspk6DU7hZsEOZRUSF+nq5MC6WOIiav5pQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2705d5dd-e74f-4093-aad9-3e54060160f6@suse.com>
Date: Mon, 7 Aug 2023 17:51:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/9] xen/ppc: Add public/arch-ppc.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <14d8455ca49f69a56e87aad5d4e20cf8f77e55cd.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <14d8455ca49f69a56e87aad5d4e20cf8f77e55cd.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9579:EE_
X-MS-Office365-Filtering-Correlation-Id: 2339f6a0-4568-4d5a-40b0-08db975e2ea1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZVW4/tcQZymBXP71LjG9leduZcKKMPXeZj+hBC5+mSp0LpIG9JA+VX6LlF0PceNWio8IlMupFyvnT2wZRDBKXNPnFRWXSaRzVIfwIJ8kLdxuQ81IwqAI3ncpXlBTEjde07d/UffepvalFjyxmuRpwjzWj9lI6LoZObIhoMOvlWHrFAODRCjFGHXhSHgTu5gp2mbQUgifxy8LKgnmdnhkjqNaWyoVmJYrOovfP2GFhLae/CCTeit1cAqXbGDHP00yvRW/XovE3Y54XUibvtdMThLA+jraaaWTUvJqg7XtC9ccS1a+T//LDc3YG2zv417O37sK6gEBENpd+JxaFLUEQOkAGMgMK9dxKC1o1LFH+5+H1rGgaSHkGNOAv9wZpnqP3d+RWeHOqQ3ah3xd0yysC94g/qCAFqjtk8BGWpgjxor5UWGxQc2RMWvyofvRHzicyD3LXOJgshbI7v41o1RZn0Qoq/DXA62dK5VPJQjeNgnl8ASWEEmKAYscKvI8uGerxlTQTmr5X2JpR7GsR4XFieiqRlgTALXOiBB7DiGyhPgkn+Nx7Zf2UC7626E2Rp18fGjBiXhwzm3VnRO//23jCxku0THPMFG96HCGBm75DWn0Dp0hKIQ9e2st33swYemgvJcpwXHYj0Sl4VoPxODYRwhN0To9r26p/87q8xOZbR8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(366004)(346002)(376002)(451199021)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(6916009)(86362001)(38100700002)(54906003)(66946007)(478600001)(6486002)(66556008)(66476007)(31696002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(66899021)(2906002)(83380400001)(5660300002)(31686004)(21314003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T25tWEUrRmJ5Yyt1V3ArVFlTbjYyZFNlb2d1RGZuQjliK2lXblZQTUdxS2Vl?=
 =?utf-8?B?alh2VDFHN2NMWXk2WHBwYUpibzE5aysrWWRHQVV5Q1ZNMmNZcmJ5WlVmNjhU?=
 =?utf-8?B?U09QZGxLV3c5Rmk5MzU5bnNsQWI3REJmUDVhc09kRlJaSlVWNE5Wd0VublBR?=
 =?utf-8?B?WFhFOHNqWXR1ZVZ0YklRaFVCeUd1cjZTSkh6Ty9idHg4eEY1b3lKQlpub0tN?=
 =?utf-8?B?RllpOGczOHRZaS9WSlVNeTBMK2tvWkxWbFNmUFVvaXhlOTU4TGlsOFF5T2po?=
 =?utf-8?B?TFlzVFRXblJhbkd2SWY5eWFVcjJxa2JZU1NrY2lJSEVyZVBqQ0J1cUcvbm5F?=
 =?utf-8?B?Vks5N2toM0c3YmJJRXdPeFZZY0ZYcHF4MzNqM2JUMjRUMGcyUmNYem56VnpY?=
 =?utf-8?B?V2U5VlgzL1BFMENhUVJuQkZrZTZlMUhpN09XV0R1RXV2REZwYnlUWGUyVEhx?=
 =?utf-8?B?M3F3cUNHZGFtVHV4RmthQWZlVStoTEpCbnpqMGNxdU1rWnZqSnhwRGQxaTlv?=
 =?utf-8?B?VVQzU2NWTTZyaHAzVXRlOXV4T3dZVFIrYWFJdStJcWIvbUJ5QS9IMzQzM2FX?=
 =?utf-8?B?a25BcDFqZlJoRlJESWpqbkJLb3pOUHFlaUhOTktQdEg0WG4yazc2TUhEUXpZ?=
 =?utf-8?B?U2NUaDRSN0dtV3VFVStXQURsbFhZTktRSjhSM3RkRlVHNlRIYmpOZ3BubWlo?=
 =?utf-8?B?Z0lRK2FJSWhaOEFXZHJWQ3dwRzhVTDZQb0RMek4yYzBDYmFJN1Q1d2FWRW1q?=
 =?utf-8?B?c2h0dmY1Y0F5MllEWDhyNmtEMUp5V0ZTTUdvV25zdFlnMDZ2NXpUWEFQMmQ4?=
 =?utf-8?B?cytrQ3RUaXg4eTdXSXNlcFI2cWJPaTVrazdOQVM5ODUwc2lITUVhS2tVbkxz?=
 =?utf-8?B?eExFZy93aTB0T1RsTnIvd1ByUjNvbkNIVzhkbmdwRUo0djdIV0hETGRxSjMx?=
 =?utf-8?B?Z3F0dDRMOUdjNHRNbnl0Q2J5WFRkeG0xNmlXOTljWkIrQ1lUZHJzUVY4Y254?=
 =?utf-8?B?dWJoVUFkM081MG9sV3R0dWx0M0FjQXhaSUVzRjI1VWllSmFUNU53d1FnWUli?=
 =?utf-8?B?YW0yYk9od2d5eE40N3dDMjd2WkplSUs1NXNTTkEwYk5jMFVOUzh0TmVVTk9K?=
 =?utf-8?B?RDNtUFhMNjJ0R0RLeEY4MERRc2ttZTVjWTArZ2MrS2hjOFZOaE9PWVJKenU1?=
 =?utf-8?B?SjBLUGxaeSt5M2RZWjNVVUh6c2NSS3JoWGp1VGYwbFNHM1dpSk01L3V3YStL?=
 =?utf-8?B?YWZMWHpkRUI4aVVrZmVpb1VWMytVNkVyRXdVdWdnam5scmM0OG9nT3d5Tlhu?=
 =?utf-8?B?VlJjM2QydmVRZEZ3UTFORTZFc0p6QVRjMWNHNExrUlRzS0lTZzdiNnpLNWxy?=
 =?utf-8?B?YzdVWVNmWUJpSkZidFVHL2JNRTdFUnFYYU5BbWh1RkNqNzBYM0drYWpxcHEr?=
 =?utf-8?B?WkRXVEQ0QS9JWHY4NWRGS09jckZRUVIzUFlpZlk1YmJHL1djbEtjVkErK1Zh?=
 =?utf-8?B?b0hIeHJTa3Qxbi9GVHBVNmtyZk56TjRDWGcrNXpJN2k0NWJHdkRtYXk4cmtu?=
 =?utf-8?B?YkRBSTM0QzFkR2lGV1pFSzRLdmFOa3kwVWptYk1kQ2RJRWNOaTE2SmNZK2c4?=
 =?utf-8?B?QXFaT25nbXVUQ0RjUXJyamJYUUZZand0YnFGbWc4bGZYcnBBZ1N3VWdPQXh0?=
 =?utf-8?B?UGx6cnlSZDgvS1N6VmxBOUhYUjFVVmg5eGpRaU1HZmNvb0o2dUtRMjIyOUpj?=
 =?utf-8?B?dkZ3b0dQTUR2WlJoWm9heUhpeEx0SlZsMjFwQ25RbDZoUmRUN1hCenFvbVRF?=
 =?utf-8?B?enRpZ1lzTm8reW5CWDlsYUFNYm1XSG8rMGZJUkVCTFJuOFJuenNaMUlaaVJO?=
 =?utf-8?B?c3k1aVVFVzVpNGhzZ0JLWE0wT1NQMGcxeGVpdEtRZVo4cGZmSXdUczA5QWcy?=
 =?utf-8?B?VFM1L3RpYmVNTWJMTFZ5MzZkTEhpOWUyd3RuVy93M3hxMkpXK3ZjSDZUODNC?=
 =?utf-8?B?b2lldXJqRWlYRWRlQXkzWFRBaXgwSzN5YmZVR245eTJVZjk4TXBNL1RwN2dT?=
 =?utf-8?B?dFZ3ZHlkQXRIREl0UDhBNWM1V1EyMVBCV0JQMUlXTk95eGtGRnFRWW13cCtC?=
 =?utf-8?Q?OtciGJ2G3Bf/mNn8BRGC9o8gb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2339f6a0-4568-4d5a-40b0-08db975e2ea1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 15:51:36.9401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C8ksfYEEJfu06bU/1HRb1x+u+ho6KPPCm0f39bq88iuL+wOPhD1GLLQNg2IBUAXweJ8mUp5LcTOO4Cc7jJ7MzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9579

On 03.08.2023 01:02, Shawn Anastasio wrote:
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> ---
>  xen/include/public/arch-ppc.h | 140 ++++++++++++++++++++++++++++++++++
>  1 file changed, 140 insertions(+)
>  create mode 100644 xen/include/public/arch-ppc.h
> 
> diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
> new file mode 100644
> index 0000000000..0eb7ce4208
> --- /dev/null
> +++ b/xen/include/public/arch-ppc.h
> @@ -0,0 +1,140 @@
> +/*
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.

Any reason for a spelled out license rather than an SPDX header?

> + * Copyright (C) IBM Corp. 2005, 2006
> + * Copyright (C) Raptor Engineering, LLC 2023
> + *
> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> + *          Timothy Pearson <tpearson@raptorengineering.com>
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_PPC64_H__
> +#define __XEN_PUBLIC_ARCH_PPC64_H__

The 64 wants dropping here, considering the name of the header.

> +#define  int64_aligned_t  int64_t __attribute__((aligned(8)))
> +#define uint64_aligned_t uint64_t __attribute__((aligned(8)))

I understand arch-arm.h has it this way too, but in public headers I
think we're better off using __aligned__ (in the example here).

> +#ifndef __ASSEMBLY__
> +#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
> +    typedef union { type *p; unsigned long q; }                 \
> +        __guest_handle_ ## name;                                \
> +    typedef union { type *p; uint64_aligned_t q; }              \
> +        __guest_handle_64_ ## name
> +
> +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
> +    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
> +    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
> +#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
> +#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
> +#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
> +#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
> +#define set_xen_guest_handle_raw(hnd, val)                  \
> +    do {                                                    \
> +        __typeof__(&(hnd)) _sxghr_tmp = &(hnd);             \

In new code, can you please avoid underscore-prefixed macro locals,
which violate name space rules set forth by the standard? We appear
to be adopting underscore-suffixed naming for such locals.

> +        _sxghr_tmp->q = 0;                                  \
> +        _sxghr_tmp->p = val;                                \

"val" need parenthesizing here.

> +    } while ( 0 )
> +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
> +
> +#ifdef __XEN_TOOLS__
> +#define get_xen_guest_handle(val, hnd)  do { val = (hnd).p; } while (0)
> +#endif
> +
> +typedef uint64_t xen_pfn_t;
> +#define PRI_xen_pfn PRIx64
> +#define PRIu_xen_pfn PRIu64
> +
> +/*
> + * Maximum number of virtual CPUs in legacy multi-processor guests.
> + * Only one. All other VCPUS must use VCPUOP_register_vcpu_info.
> + */
> +#define XEN_LEGACY_MAX_VCPUS 1
> +
> +typedef uint64_t xen_ulong_t;
> +#define PRI_xen_ulong PRIx64
> +#endif
> +
> +/*
> + * Pointers and other address fields inside interface structures are padded to
> + * 64 bits. This means that field alignments aren't different between 32- and
> + * 64-bit architectures.
> + */
> +/* NB. Multi-level macro ensures __LINE__ is expanded before concatenation. */
> +#define __MEMORY_PADDING(_X)
> +#define _MEMORY_PADDING(_X)  __MEMORY_PADDING(_X)
> +#define MEMORY_PADDING       _MEMORY_PADDING(__LINE__)

This doesn't parallel anything in other architectures afaics, and it is
also not used anywhere in this header. What is this about? If it needs
to stay, it'll need properly moving into XEN_* namespace.

> +/* And the trap vector is... */
> +#define TRAP_INSTR "li 0,-1; sc" /* XXX just "sc"? */

Same question / remark here.

> +#ifndef __ASSEMBLY__
> +
> +#define XENCOMM_INLINE_FLAG (1UL << 63)

Is this an indication that you mean to revive xencomm.h?

> +typedef uint64_t xen_ulong_t;
> +
> +/* User-accessible registers: nost of these need to be saved/restored
> + * for every nested Xen invocation. */

Nit: comment style (and s/nost/most/).

> +struct vcpu_guest_core_regs
> +{
> +    uint64_t gprs[32];
> +    uint64_t lr;
> +    uint64_t ctr;
> +    uint64_t srr0;
> +    uint64_t srr1;
> +    uint64_t pc;
> +    uint64_t msr;
> +    uint64_t fpscr;             /* XXX Is this necessary */
> +    uint64_t xer;
> +    uint64_t hid4;              /* debug only */
> +    uint64_t dar;               /* debug only */
> +    uint32_t dsisr;             /* debug only */
> +    uint32_t cr;
> +    uint32_t __pad;             /* good spot for another 32bit reg */
> +    uint32_t entry_vector;
> +};
> +typedef struct vcpu_guest_core_regs vcpu_guest_core_regs_t;
> +
> +typedef uint64_t tsc_timestamp_t; /* RDTSC timestamp */ /* XXX timebase */
> +
> +/* ONLY used to communicate with dom0! See also struct exec_domain. */
> +struct vcpu_guest_context {
> +    vcpu_guest_core_regs_t user_regs;         /* User-level CPU registers     */
> +    uint64_t sdr1;                     /* Pagetable base               */
> +    /* XXX etc */
> +};
> +typedef struct vcpu_guest_context vcpu_guest_context_t;
> +DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
> +
> +struct arch_shared_info {
> +    uint64_t boot_timebase;
> +};
> +
> +struct arch_vcpu_info {
> +};
> +
> +struct xen_arch_domainconfig {
> +};
> +
> +typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
> +
> +/* Support for multi-processor guests. */
> +#endif

Stray comment?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:00:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578693.906316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2ec-0004Kj-Cc; Mon, 07 Aug 2023 16:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578693.906316; Mon, 07 Aug 2023 16: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 1qT2ec-0004Kc-9h; Mon, 07 Aug 2023 16:00:22 +0000
Received: by outflank-mailman (input) for mailman id 578693;
 Mon, 07 Aug 2023 16:00: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=98uV=DY=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1qT2eb-0004KV-32
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:00:21 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fdd769e-353b-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 18:00:17 +0200 (CEST)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 07 Aug 2023 09:00:15 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by fmsmga006.fm.intel.com with ESMTP; 07 Aug 2023 09:00:10 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1qT2eN-000sgs-2E; Mon, 07 Aug 2023 19:00:07 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fdd769e-353b-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1691424018; x=1722960018;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Z/4FddksZRjYPF/sctXV9wacx6/6dUIpgpIazoNeWKI=;
  b=WQJD0bOhtubuBXTQrK+yzSqlFx6anRM1eRTs5PjqaJBwUiZw4x1eNaxO
   dKwsQrnS8FO6PfpqKn9I3zeQekLYC/NHiJr7bIbSTh1MgeVEC1KAJ9ICj
   TPC2tP3eCStAQSAI01fviqbwNO02cOrhCMOTKBRrkQ0C4udw4akSbxxa+
   afqBhujIyIXV1l/FwcMGAKi3Fv1mvW69JGqn871BSWgv/BywccFec5G+L
   HQD6mgpBBsnFYGeY1iZFWs+KZyzTuVulSP5uTheu/F91Rrl14uBYIY3Dg
   mmghH3KmlL24wRtLAsDgcAwyvCG+g5BtephfHxgd7V6TM6RfnzSxTTSRu
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10795"; a="401553720"
X-IronPort-AV: E=Sophos;i="6.01,262,1684825200"; 
   d="scan'208";a="401553720"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10795"; a="977491938"
X-IronPort-AV: E=Sophos;i="6.01,262,1684825200"; 
   d="scan'208";a="977491938"
Date: Mon, 7 Aug 2023 19:00:07 +0300
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Mark Brown <broonie@kernel.org>, alsa-devel@alsa-project.org,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/24] ALSA: Generic PCM copy ops using sockptr_t
Message-ID: <ZNEVB8ZJah9Y9Bua@smile.fi.intel.com>
References: <20230731154718.31048-1-tiwai@suse.de>
 <b906d60b-ece4-45b5-8167-2046c8dc00f4@sirena.org.uk>
 <87h6pjj2ui.wl-tiwai@suse.de>
 <a02cf5c3-1fac-4ec6-9d9c-f8e8d0c067e0@sirena.org.uk>
 <87leeugbxm.wl-tiwai@suse.de>
 <ZMlGKy7ibjkQ6ii7@smile.fi.intel.com>
 <87pm3yj2s5.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87pm3yj2s5.wl-tiwai@suse.de>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Mon, Aug 07, 2023 at 05:22:18PM +0200, Takashi Iwai wrote:
> On Tue, 01 Aug 2023 19:51:39 +0200, Andy Shevchenko wrote:
> > On Tue, Aug 01, 2023 at 02:54:45PM +0200, Takashi Iwai wrote:

...

> I rather wonder why it can't be simple strncpy().

This is obvious. To avoid compiler warning about 0 (possible) truncation.

...

> > Taking all remarks into account I would rather go with sockptr.h being
> > untouched for now, just a big
> > 
> > /* DO NOT USE, it's obsolete, use uniptr.h instead! */
> > 
> > to be added.
> 
> Possibly that's a safer choice.  But the biggest question is whether
> we want a generic type or not.  Let's try to ask it first.
> 
> Interestingly, this file doesn't belong to any subsystem in
> MAINTAINERS, so I'm not sure who to be Cc'ed.  Chirstoph as the
> original author and net dev, maybe.

Yes, but actually it's fine to just copy and change sockptr.h to say
"that's blablabla for net subsystem" (maybe this is implied by the name?).
In that case we just introduce our copy and can do whatever modifications
we want (see previous reply).

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:06:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578699.906325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2kL-00057G-0p; Mon, 07 Aug 2023 16:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578699.906325; Mon, 07 Aug 2023 16: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 1qT2kK-000579-UW; Mon, 07 Aug 2023 16:06:16 +0000
Received: by outflank-mailman (input) for mailman id 578699;
 Mon, 07 Aug 2023 16:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JzBl=DY=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qT2kJ-000573-LF
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:06: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 546f3f79-353c-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 18:06:12 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-3fe5eb84d43so6743725e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 09:06:13 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n20-20020a7bcbd4000000b003fe557829ccsm6630963wmi.28.2023.08.07.09.06.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 09:06:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 546f3f79-353c-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691424372; x=1692029172;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=PP9dYf284idr19PF7QLRc3SDpLEBWw6WZPJUbbBvNJQ=;
        b=EzC0yItmecwznpscBiheWkNwdjmzS5Auqj4VmLindz0GZ1x0yv8HnCFUo9qjdjv1ne
         L/ElDHoifE9n7OB+hzwxr2no6wDgnn0xJUPaGpzex9ZySvOqf6JbLEMDWv5u157xcigt
         B2Ca6CbdHHNHuoPpfB+mhMFhaGQWbn2lH3RB4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691424372; x=1692029172;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PP9dYf284idr19PF7QLRc3SDpLEBWw6WZPJUbbBvNJQ=;
        b=AVpPv1+dXaVm30tk5Zy4k7N6/wJtuWhaN8koqOJbUhf2JKC/Nvuu7+SXdFjSA7VlgE
         lTBypWDmNBwY8bjf4uZ3tCQGlDAgkKZPzwcuUwhNWZt722FJCsfvf6mlzr+HAHVTHbmr
         PvomhmjjqW1JBKWTgKfpzClVkgXcRHDmCGYwpvWqXmQhGOytMc0SQv+IAzOEkPX4e0vp
         hICWX6jrcR8+oIL7HVfvqYankGSwadeBcH0Mnt8sKO86IxTPLCPzlYMTtSAzhltyrdWG
         c1a7bgVkzlpgpaTKUGhmi8+GC8swOx0C745lYnccMrX3xIuA5XB2UxsSXYzw2tB16fl4
         Y+dg==
X-Gm-Message-State: AOJu0YyWxLoaAyWGeWUQ3kMICFG/clRU5wxTkXZCFYEFXdVRkDllLD8y
	K9C1jXboyQnxUYD6uLItAbc8Lg==
X-Google-Smtp-Source: AGHT+IFX6NQTwsiSqc6FDKMBUPAQgmy/jX9JdTf+My0E70BNtWEzICSYxS942Xw9iN4oLJ55RmtcpQ==
X-Received: by 2002:a1c:7511:0:b0:3fe:2bb1:11ba with SMTP id o17-20020a1c7511000000b003fe2bb111bamr7977474wmc.27.1691424372555;
        Mon, 07 Aug 2023 09:06:12 -0700 (PDT)
Message-ID: <64d11674.7b0a0220.ec9d0.7073@mx.google.com>
X-Google-Original-Message-ID: <ZNEWcudOc3ZzFvNM@EMEAENGAAD19049.>
Date: Mon, 7 Aug 2023 17:06:10 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 5/5] pdx: Add CONFIG_HAS_PDX_COMPRESSION as a common
 Kconfig option
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-6-alejandro.vallejo@cloud.com>
 <9f0b7ab4-090f-21ea-2cf8-6ecdc7c02225@citrix.com>
 <3470bc26-3cbc-e0de-53ae-203449493b51@citrix.com>
 <06a3f79e-4345-7a4b-be57-728a8b01befd@suse.com>
 <67b5c363-a653-3f5c-ea3a-f52bfac3dc49@citrix.com>
 <75a70fa0-ab40-e2b0-685d-db752c943a7d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <75a70fa0-ab40-e2b0-685d-db752c943a7d@suse.com>

Hi,

A few days have passed. May I suggest taking a step back?

On Tue, Aug 01, 2023 at 09:57:57AM +0200, Jan Beulich wrote:
> On 31.07.2023 19:38, Andrew Cooper wrote:
> > There's one system which never made its way into production,
> > support-for-which in the no-op case is causing a 10% perf hit in at
> > least one metric, 17% in another.
> > 
> > ... and your seriously arguing that we should continue to take this perf
> > hit?
> 
> Have I asked anywhere to keep this enabled by default? Have I been the
> one to first propose a way to reduce this overhead?
> 
> > It is very likely that said machine(s) aren't even powered on these
> > days, and even if it is on, the vendor can take the overhead of turning
> > PDX compression on until such time as they make a production system.
> > 
> > Furthermore, it is unrealistic to think that such a machine will ever
> > make its way into production.  Linux has never PDX compression, and
> > by-and-large if it doesn't run Linux, you can't sell it in the first place.
> 
> I'm sure you recall that Linux has much more VA space for its directmap,
> so aiui there simply was no immediate need there.
> 
> > It is utterly unreasonable to be carrying this overhead in the first
> > place.  PDX compression *should not* have been committed on-by-default
> > in the first place.  (Yes, I know there was no Kconfig back then, and
> > the review process was non-existent, but someone really should have said
> > no).
> 
> Are you suggesting no code should be committed supporting new hardware,
> ahead of that hardware going public?
> 
> > It is equally unreasonable to offer people (under Expert or not) an
> > ability to shoot themselves in the foot like this.
> 
> Shoot themselves in the foot? If you enable EXPERT, you better know
> what you're doing.
> 
> >>>   Indeed, Julien's
> >>>> quick metric shows how much performance we waste by having it enabled.
> >>> Further to this, bloat-o-meter says net -30k of code and there are
> >>> plenty of fastpaths getting a several cacheline reduction from this.
> >> A similar reduction was achieved
> > 
> > Really?  You think that replacing the innermost shift and masking with
> > an alternative that has a shorter instruction sequence gets you the same
> > net reduction in code?
> > 
> > I do not find that claim credible.
> 
> Did you ever seriously look at those patches?
> 
> >>  by the BMI2-alt-patching series I
> >> had put together, yet you weren't willing to come to consensus on
> >> it.
> > 
> > You have AMD machines, and your patch was alleged to be a performance
> > improvement.  So the fact you didn't spot the problems with PEXT/PDEP on
> > all AMD hardware prior to Fam19h suggests there was insufficient testing
> > for an alleged performance improvement.
> > 
> > The patch you posted:
> > 
> > 1) Added extra complexity via alternatives, and
> > 2) Reduced performance on AMD systems prior to Fam19h.
> > 
> > in an area of code which useless on all shipping x86 systems.
> > 
> > You literally micro-anti-optimised a no-op path to a more expensive (on
> > one vendor at least) no-op path, claiming it to be a performance
> > improvement.
> 
> You appear to forget the patch patching to MOV instructions ("x86: use
> MOV for PFN/PDX conversion when possible"). Are you saying MOV has
> performance problems on any CPU?
> 
> Jan

I think we can all agree that (a) the _current_ pdx code implies taking a
perf hit and (b) that we can't just remove PDX compression because it's in
current use in certain systems. The contentious points seem to be strictly
in the status it should hold by default and the means to reduce the perf
hit when it's on.

For the status:

I think it's clear it must remain at least on ARM. I believe Jan argued
about the choice of default in terms of "when" to turn it off, rather than
"if". Seeing that...

> On 18.07.2023 9:33, Jan Beulich wrote:
> I disagree with this choice of default for x86. To avoid surprising
> downstreams, this should at best be a two-step process: Keep the
> default as Y right now, and switch to N a couple of releases later.
... so I think a more productive discussion is following up on that,
looking at the "why", "when", "how" and "risks-involved" rather than going
in circles (more on this at the end of the email).

Now, for the perf hit reduction:

An alt-patching series can probably make it very close to the perf win of
this patch as long as it transforms the conversion hunks into no-ops when
there's no hole. I looked into the 2018 patch, and I don't think it tried
to go that far (afaics it's purpose is to inline the compression parameters
into the code stream). I highly suspect it would still noticiably
underperform compared to this one, but I admit it's guesswork and I'd be
happy to be proven wrong through benchmarks.

Regardless that's a lot more complexity than I was willing to tackle here
seeing that it's use is limited on x86.

Compiling-out and alt-patching compression are not necessarily incompatible
with each other though. It would, in fact, do wonders for ARM, where the
exact same binary might have to run on separate processors with different
memory map configurations. I do think someone ought to do it in the long
run as a performance improvement for that port (if only because
alt-patching is arch-specific), but I really struggle to justify the dev
effort of writing, benchmarking, testing and maintining all that
infrastructure when there's no (known) machine I can buy to test it on.

Summary:
  * While alt-patching is an attractive alternative this series doesn't do
    that and in the spirit of keeping things simple I'd really rather keep
    it that way. Does this sound reasonable?
  * For the topic of when to disable compression by default on x86, I
    genuinely think now's as good a time as any. If we were to do it in 2
    steps any project downstream may very well not notice until 2 releases
    down the line, at which point they simply must turn compression back
    on, which is what they would have to do now anyway.
  * For the topic of allowing or not the option to be selectable, I think
    it would be a mistake to preclude it because while we don't know of
    physical memory maps with big holes on (publicly available) x86, Xen
    may be itself virtualized with arbitrary memory maps. Unlikely and far
    fetched as it is, it's IMO worth being at least cautious about. Gating
    the feature on EXPERT=y and adding a big warning should be good enough
    to avoid foot-shootouts.

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:11:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578705.906335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2pC-0006at-JU; Mon, 07 Aug 2023 16:11:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578705.906335; Mon, 07 Aug 2023 16: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 1qT2pC-0006am-Gz; Mon, 07 Aug 2023 16:11:18 +0000
Received: by outflank-mailman (input) for mailman id 578705;
 Mon, 07 Aug 2023 16:11: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=6Un4=DY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qT2pB-0006ag-FM
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:11:17 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 077e640e-353d-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 18:11:14 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5A9358285869;
 Mon,  7 Aug 2023 11: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 pYCinvAMIQ1S; Mon,  7 Aug 2023 11:11:11 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 69F8E8285885;
 Mon,  7 Aug 2023 11:11:11 -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 yZ_eAsO6-xEJ; Mon,  7 Aug 2023 11:11:11 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id DE94D8285869;
 Mon,  7 Aug 2023 11:11:10 -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: 077e640e-353d-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 69F8E8285885
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691424671; bh=0cRbmjHmU3vpRBmIhesDOLeQ7IvDLovh8+UtZ5ei1MA=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=bZMSz66/lCl7cQaJnvlSVMYir8u3lMpZFdlln4522UTw5Xf8mSrDouU9NOpNr6Esc
	 uqHGT+r9pe3oZPUnV4ouIbzeVl0n0/D1hSxX+Mw07RfSvPGgp5pGs91HIhRZgsa14N
	 AXdvFlMaTC00I0RtdanLhSASKa0cxaUcp2chkFGU=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <7c4468be-a487-6497-f207-0d3c4e942d99@raptorengineering.com>
Date: Mon, 7 Aug 2023 11:11:10 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 4/4] xen/ppc: Implement early serial console on PowerNV
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <3176762c2eb09d01d65a348e296a94cf0356ff46.1690934409.git.sanastasio@raptorengineering.com>
 <8cf5b42d-a80d-a8de-b564-8b45c97474c4@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <8cf5b42d-a80d-a8de-b564-8b45c97474c4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/7/23 10:05 AM, Jan Beulich wrote:
> On 02.08.2023 02:11, Shawn Anastasio wrote:
>> Implement the OPAL firmware calls required to write to the serial
>> console on PowerNV systems. Unlike pseries/Open Firmware, the OPAL
>> firmware interface can be used past early boot and as such the relevant
>> functions are not marked as __init.
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> Constraint as before and with two nits
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
>> @@ -20,8 +22,20 @@
>>   * Load the address of a symbol from the TOC into the specified GPR.
>>   */
>>  #define LOAD_REG_ADDR(reg,name)                                              \
>> -    addis reg,%r2,name@toc@ha;                                               \
>> -    addi  reg,reg,name@toc@l
>> +    addis reg, %r2, name@toc@ha;                                             \
>> +    addi  reg, reg, name@toc@l
>> +
>> +/*
>> + * Declare a global assembly function with a proper TOC setup prologue
>> + */
>> +#define _GLOBAL_TOC(name)                                                   \
>> +    .balign 4;                                                              \
>> +    .type name, @function;                                                  \
>> +    .globl name;                                                            \
>> +name:                                                                       \
>> +0:  addis %r2, %r12, (.TOC.-0b)@ha;                                         \
>> +    addi  %r2, %r2, (.TOC.-0b)@l;                                           \
> 
> Strictly speaking the - want surrounding by blanks, but I wonder whether
> to PPC eyes these constructs look more natural without. Please clarify.

This is admittedly very subjective, but to my eyes the code as-is looks
perfectly natural. That said, I wouldn't be opposed to adding spaces if
that's what you prefer.

>> --- /dev/null
>> +++ b/xen/arch/ppc/ppc64/opal-calls.S
>> @@ -0,0 +1,81 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Adapted from Linux's arch/powerpc/boot/opal-calls.S
>> + *
>> + * Copyright (c) 2016 IBM Corporation.
>> + * Copyright Raptor Engineering, LLC
>> + */
>> +
>> +#include <asm/asm-defns.h>
>> +#include <asm/opal-api.h>
>> +#include <asm/msr.h>
>> +
>> +    .text
>> +
>> +#define OPAL_CALL(name, token)  \
>> +    .globl name;                \
>> +name:                           \
>> +    li      %r0, token;         \
>> +    b       opal_call
>> +
>> + _GLOBAL_TOC(opal_call)
> 
> Any reason for the leading blank here?

No -- that was a mistake on my part.

> 
> Where necessary I again think these small items can be taken care of
> while committing.

Sounds good.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:13:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:13:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578710.906346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2rW-0007BO-1g; Mon, 07 Aug 2023 16:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578710.906346; Mon, 07 Aug 2023 16:13:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT2rV-0007BH-TJ; Mon, 07 Aug 2023 16:13:41 +0000
Received: by outflank-mailman (input) for mailman id 578710;
 Mon, 07 Aug 2023 16:13: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=/Szp=DY=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qT2rU-0007B5-Co
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:13:40 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e5aadd2-353d-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 18:13:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9726.eurprd04.prod.outlook.com (2603:10a6:10:4e3::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Mon, 7 Aug
 2023 16:13:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023
 16:13:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e5aadd2-353d-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EIGsn4o9IN+nOUoG8xhwQRTEaJkU1z3U2A8q2nX+wR7sPhx8z/qOBPv47lntBimvn6ys7yL//KqrtHxQIvJNtxkcXHxnyXDP4TszY3gCcjAoAiZADKRjb9lANvh1Z+369EhYwjBVH53yYc/5XQLytRJAQMux2R+akLXrl5/YUrzOsH/5Gdon7FI16CvYcR8tm1L55qxY6RWgi1U7i7IpKw6RCF98SS7sdyOHTbNfn9pVeg2oFRVD6ezyuOurPv9fsyNjs8Cn6kGMyvlTSzx/m306UdOBs5dBkdxhStBZxXBhTD83RezIWj8HjwvcEohyxQvxszc3pTzVz1jcxelIDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M9BBDvlTNSHInOuR4isqlN/DZv5qAdgN4AiiOd9csnU=;
 b=AGnUs6vbVHhgcU8TMab+tATw/X0GPPOt4Jj8kdpcclR/ljWx5zf9zKglA11rraxBh5fxgdQIjY9H9NIMRmwr/M4Qf6x4EhMUL/tNIoF/8R3u50/IyMgym+Gvv3iI2j0atbx6qMK4iMXbab4SX3xSJohRG65Ae/oFyBrt3fdGjJDAi2mAWpmhDwaydH3V9bRdn/SWseyEL0B/Ry1mp8kynGDp/kkhqFjBUXFieNta+w8ZBKUxX5jo5LWlzgbNYcZCUpb5d6QEVumjGwrxEhoKjbYAL61IOS3/4W2D86Xil8QPBbH4jNvgqGo1wu4xCrT2j+m5is+SEju5VLLqAxZnAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M9BBDvlTNSHInOuR4isqlN/DZv5qAdgN4AiiOd9csnU=;
 b=b8zmMn8Cz9ZLmAIjk3Ppw82mhPVxR4S+I+2KklDQE/ldy3PQQltIEJvLwS4xj4pLbM3X22mV11GZY5q39qMW6cYZ3tw6dgkN9SZa2Ojw4+PM1kmQXl4P0CW66Qy/quwkslfubN637GbeeZfprD4WHOxfVxxbJVfYa8vY+KlQuYZYUIp6pDhfzXiaJtIkICfV/1ZorNQDzMGxqRYBZ1i63HMXcPQy6fNtqQfUiLjzNMTfGGopvhEZuBc/yzNrcax5IqO3YTGUB2dsLUVgSfPsoxorlCWpzdFnsqE9/PmjDAeRl4erbd8E3znZYa8lxhmuQdhFbpBBWsBVO/IXTHZ6gw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5e9380a5-7e33-ea70-6aa5-3ce1906a159c@suse.com>
Date: Mon, 7 Aug 2023 18:13:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/9] xen/ppc: Implement atomic.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <8035b9659a5930c00802dd36ab52574695d6b419.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8035b9659a5930c00802dd36ab52574695d6b419.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9726:EE_
X-MS-Office365-Filtering-Correlation-Id: ec5ba9ac-5f24-4814-b7a6-08db97613fd5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nhYtqt7x+7P+03qFDQhRufMFj+vThEpORdctHCk0USETSKdkUhoqGUlobohpRr1ZV+bxmMBh1ZWsqusZxAiiCoien/AVbghst5I/rW9P8yDTs2/V7LcJ5G+VcPe9O2nLAk295T+ttsoxgGxazxjIJowViO9CFo5p4FrFlxt/TWJoPCeOU5+UU/In9dewtYwegYlU2yYPBbkQsqFsmFPiM6CgcxzASB6EETyZdkdJcKGyEarQWa8HPVaKtfpG1Y3LyNccz9nCw26abmJ1tXJZWY0+LqBknJYwkwybNAnboxzUZTti+eLvIlIWUadXn6PCehDJA+IV3Jgml2wheGtPWEGNF2vsETLWQIcvxmTR71sQ88YzTrX0DdLnVfa/BZM1hjXOsvHma3r8oxN0z8rIQ2mBYJxAYFazs3eCv2nDUuSo3Vxz4SHQ2UekLrXH1f7ZbPyNXESXZQztEe0J01q9rJXefSb98oUwMjVPaJBIq8kbE34WFGXNzl/kNyOYtOr+e/IJ9twwto4H6RdOenWYV0cXuC/sEsHf2VZ+xZeKZ3fFFwvXLnztePkRUM/GfFmipZxs/owNyZmXU/w2cqcdaiIvtXsHLx9bGLpZaOyz1x5AnWOPDWLHDZrjOgxh4Do7ua7jboBiCNMbcUa0KyMOwMm2411YlO3Wx5JHzQDPGPI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(346002)(376002)(136003)(396003)(451199021)(1800799003)(186006)(2906002)(36756003)(83380400001)(5660300002)(2616005)(54906003)(6666004)(38100700002)(6486002)(66476007)(66556008)(6916009)(66946007)(6512007)(4326008)(316002)(31686004)(41300700001)(31696002)(86362001)(8936002)(8676002)(26005)(6506007)(478600001)(53546011)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlVTam5pUTd4LzNWd2pxcTY0b3hORmlMcTZ5RzBYcUhldlpQVy8xeDAvbWc2?=
 =?utf-8?B?dnNkVzBlR1ZRSzMycm16cTZ2WUFOTzgvK3R6RjV5ejg0MktjVElJTC9ERjB0?=
 =?utf-8?B?TThXQUFQaWhyYzlFSEx0SlMyYmRYQXRmeFk3cHVMcit6TzhDaGo5WnpJeUpB?=
 =?utf-8?B?SFVqNjIxcWc5bm5OY1Zub3A1MEFvWmd5Sk1KOUFWMEpRTXBobVA0S0NUUy9s?=
 =?utf-8?B?VkZDNUdJa2RrUHpGWFFHVzlENGlIQWcwNW12cVpjUjk2OCtnZEdpdlNXUDlv?=
 =?utf-8?B?YU8vUkw2UjZJNGJUV2xlUjJseGlvd2NxdGdqaWJQY25BRDcvTmYxUElRNVE0?=
 =?utf-8?B?ZENLRXRGWUU5aUN5bGJ0RVZMTXZleDQzY2VXclVjQlJhTnVyMnY0d1RxcFpl?=
 =?utf-8?B?RUZ3em1xSk1hbTUyWW9lQ0pTb3gvRUhPSXJwS2ZmVG5QSENMTHNDYTZveVgy?=
 =?utf-8?B?RmhuMldZejVEZVVyN2Z1bWtIYlh2RWZzWFZUOHI5aElWM211NGl5UWx2ZEpW?=
 =?utf-8?B?RjRsUHJJREttVTUramFXMWd0bWRkYUxPbXBZa1VMUjE4SUROUkkyY3d4U01m?=
 =?utf-8?B?a1BndTk3dm1uS1NWZTQ1OHJnUTdQZkVRR2t4d3I5dERGOFdJcFJQSHgzWE9Y?=
 =?utf-8?B?TmxpZnVKcnRRY1p0RGdsbllpR1cwNzJHMzByRlFmeEtmVDNDMkFVRmtrTUYy?=
 =?utf-8?B?cWltQ0dZeVNXcnZLRE1ZeHZPN1UzN0dnS1piU3ZEZ3VSdkdtalkySjV4ZkVy?=
 =?utf-8?B?OWgyRTBDSFlBU1g4dWk3WXR0dHM4a1EvVTJpWXU1Zk5KRjlza2tqakNXL05r?=
 =?utf-8?B?Q1JLOFNDbEIvSjZlYytvZFNUam03dEIydnZ4bjl5NHBpWEZRL1NqcFFEOFZ2?=
 =?utf-8?B?elVGUC91WkdQdm5CL3VWTWxpSzFrd2tGZm83cXRQQm4yMjZ3K0lDNWNNYjZi?=
 =?utf-8?B?TnkrYjFuZ2hyUzBnTjBoM080cDNuVFBvZU1rcHh0WVNjcFBPQm1yeWU1bGJY?=
 =?utf-8?B?YkNQYXlLK0tvelZ3UDE1WlA4VVJ0NmEzdTFZRmdZNkthVmkwdi9pT3VIdEtn?=
 =?utf-8?B?elhmTEtSMlZRVTdwK1A4Tzl5Zkk2TWZ1VVVGWHBwWUttbUVYQnRPM00yVkJI?=
 =?utf-8?B?Mng1SXhVUXd2TGZsckE2UndQZDZrWXBhUk9zdG95QTBMK21QMkd0V0srOWpY?=
 =?utf-8?B?L3VvMDBBVk41azZpSm04cVZ0NkF0aWs4U0dvUG5zNmZKb3l0Uy92ZjJWOFMy?=
 =?utf-8?B?VHo1Um9sTDR2aU1YR1A4RUVhVEZLeG5haGtmU1dodjE1YjJRelR5SXRGM2JX?=
 =?utf-8?B?R3cwb0RHR003SVRlSlNVK0ltQ01IcmprRHZQZldpa3NpRE1od3V2SWM2TzRv?=
 =?utf-8?B?OCtoK3Z2eGxGWi81T3B3M2ozcFlaRW5WNjZqN0F3NlhGdHNzNE5Tb0sxcm1u?=
 =?utf-8?B?MDdnQ3Qvek8rbTZPdnMySmlYQWpVRUxTQzlHVXQrS2hUUnM4ZGd1RjlsVVJn?=
 =?utf-8?B?RldkS1R1UmhEeFFhY1lBNllIa1lRbFh1bWczYmt5anJaTUxDQlFWM0FValJK?=
 =?utf-8?B?QnM2cWw1SEJkQmxBMzA0R08rWnhpNnp5U3BxTFdxSDhsTTBTMCs4dFJERXRw?=
 =?utf-8?B?blRTSTBILzdQMnVLWWhDMmIyeDNWWWF4NVVXemtDVzBEV0Nla1FYaWxvYUd4?=
 =?utf-8?B?T1VCT2hndDFBV0t5RFA2U3VzZUVENFY0MmhMbmoyUXJUS3NVNmV1SFZwU05t?=
 =?utf-8?B?RWJPQUpZZUQvVjY3dDNCLzJPTk51b29odHFSb2tTWG1BTU5JdGNYSk9VWjV3?=
 =?utf-8?B?YUQ5ZXJ3SFNVdHNVVVJ3Q1dVNHY3ODd4YklacWdJdk40M0lPMEhDVGhBM0hJ?=
 =?utf-8?B?KzF1QkVLU3MvTGMrSGZPSlY5ZXJjeXNBaXJ3RmNCOFdhaE5oaW80QnNhdUpq?=
 =?utf-8?B?R1E3ZWUzajVlL05sRkFLRldGSkYvVVpSZHFvbFdhL2orcHI2TjAvN0lUUThG?=
 =?utf-8?B?TStHYnNNY0ZPMXNtTzFQcjZlSnhFUWx3THUyMytvOTRvdlJYbkVzZHkyQ1RD?=
 =?utf-8?B?MndqdGtjL0tEZ0ovWVdRSms0dFlSZVRxUjhPMVpkT3F5bHFPZW5TbHVuNVpC?=
 =?utf-8?Q?WhpgJp63eLEwiEB8ZDXBjdE1m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec5ba9ac-5f24-4814-b7a6-08db97613fd5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 16:13:34.3268
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JlMQG9yMrTJMHnV5GZTi64P5BcRT8KK3SV1RR6bj4fz4WRgrhDeZ2r39dQiYuCx7N3oFThxInBQinKV8VfJfgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9726

On 03.08.2023 01:02, Shawn Anastasio wrote:
> Implement atomic.h for PPC, based off of the original Xen 3.2
> implementation.

Since likely that originally came from Linux, did you cross check that
Linux hasn't gained any bug fixes in the meantime?

Other than this just a couple of nits; I'm not really qualified to
review in particular the inline assembly here, I'm afraid.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/atomic.h
> @@ -0,0 +1,387 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * PowerPC64 atomic operations
> + *
> + * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
> + * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
> + * Copyright Raptor Engineering LLC
> + *
> + * 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.
> + */
> +
> +#ifndef _ASM_PPC64_ATOMIC_H_
> +#define _ASM_PPC64_ATOMIC_H_

To fit the name, no "64" please.

> +#include <xen/atomic.h>
> +
> +#include <asm/memory.h>
> +#include <asm/system.h>
> +
> +static inline int atomic_read(const atomic_t *v)
> +{
> +    return *(volatile int *)&v->counter;
> +}
> +
> +static inline int _atomic_read(atomic_t v)
> +{
> +    return v.counter;
> +}
> +
> +static inline void atomic_set(atomic_t *v, int i)
> +{
> +    v->counter = i;
> +}
> +
> +static inline void _atomic_set(atomic_t *v, int i)
> +{
> +    v->counter = i;
> +}
> +
> +void __bad_atomic_read(const volatile void *p, void *res);
> +void __bad_atomic_size(void);
> +
> +#define build_atomic_read(name, insn, type)                                    \
> +    static inline type name(const volatile type *addr)                         \
> +    {                                                                          \
> +        type ret;                                                              \
> +        asm volatile ( insn "%U1%X1 %0,%1" : "=r"(ret) : "m<>"(*addr) );       \

As I think I had mentioned before, asm() contraints want a blank between
closing quote and opend paren. I.e. like this

        asm volatile ( insn "%U1%X1 %0,%1" : "=r" (ret) : "m<>" (*addr) );

> +#define read_atomic(p)                                                         \
> +    ({                                                                         \
> +        union {                                                                \
> +            typeof(*(p)) val;                                                  \
> +            char c[0];                                                         \
> +        } x_;                                                                  \
> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \
> +        x_.val;                                                                \
> +    })
> +
> +#define write_atomic(p, x)                                                     \
> +    do                                                                         \
> +    {                                                                          \
> +        typeof(*(p)) x_ = (x);                                                 \
> +        write_atomic_size(p, &x_, sizeof(*(p)));                               \
> +    } while ( 0 )

Up to here you use underscore-suffixed locals, but then ...

> +#define add_sized(p, x)                                                        \
> +    ({                                                                         \
> +        typeof(*(p)) __x = (x);                                                \

... you have even two prefixing underscores here.

> +        switch ( sizeof(*(p)) )                                                \
> +        {                                                                      \
> +        case 1:                                                                \
> +            add_u8_sized((uint8_t *) (p), __x);                                \
> +            break;                                                             \
> +        case 2:                                                                \
> +            add_u16_sized((uint16_t *) (p), __x);                              \
> +            break;                                                             \
> +        case 4:                                                                \
> +            add_u32_sized((uint32_t *) (p), __x);                              \
> +            break;                                                             \
> +        default:                                                               \
> +            __bad_atomic_size();                                               \
> +            break;                                                             \
> +        }                                                                      \
> +    })
> +
> +static inline void atomic_add(int a, atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( "1: lwarx %0,0,%3\n"
> +                   "add %0,%2,%0\n"
> +                   "stwcx. %0,0,%3\n"
> +                   "bne- 1b"
> +                   : "=&r"(t), "=m"(v->counter)
> +                   : "r"(a), "r"(&v->counter), "m"(v->counter) : "cc" );

"+m" and then drop the last input?

> +static inline int atomic_dec_if_positive(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile(PPC_ATOMIC_ENTRY_BARRIER
> +                 "1:    lwarx    %0,0,%1        # atomic_dec_if_positive\n"
> +                 "addic.    %0,%0,-1\n"
> +                 "blt-    2f\n"
> +                 "stwcx.    %0,0,%1\n"
> +                 "bne-    1b\n"
> +                 PPC_ATOMIC_EXIT_BARRIER
> +                 "2:" : "=&r"(t)
> +                 : "r"(&v->counter) : "cc", "memory");

Missing blanks near the parentheses. Would also be nice if the padding
blanks actually vertically aligned the operands.

> +    return t;
> +}
> +
> +static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
> +                                             atomic_t *v)
> +{
> +    atomic_t rc;
> +    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
> +    return rc;
> +}
> +
> +#define arch_cmpxchg(ptr, o, n)                                                \
> +    ({                                                                         \
> +        __typeof__(*(ptr)) _o_ = (o);                                          \
> +        __typeof__(*(ptr)) _n_ = (n);                                          \

Problematic leading underscores again.

> +        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) _o_,             \
> +                                       (unsigned long) _n_, sizeof(*(ptr)));   \
> +    })
> +
> +static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
> +{
> +    return arch_cmpxchg(&v->counter, old, new);
> +}
> +
> +#define ATOMIC_OP(op, insn, suffix, sign) \
> +    static inline void atomic_##op(int a, atomic_t *v)                           \
> +    {                                                                            \
> +        int t;                                                                   \
> +        asm volatile ( "1: lwarx %0,0,%3\n"                                      \
> +                       insn "%I2" suffix " %0,%0,%2\n"                         \
> +                       "stwcx. %0,0,%3 \n"                                       \
> +                       "bne- 1b\n"                                               \
> +                       : "=&r"(t), "+m"(v->counter)                              \
> +                       : "r" #sign(a), "r"(&v->counter)                          \
> +                       : "cc" );                                                 \
> +    }
> +
> +ATOMIC_OP(and, "and", ".", K)
> +
> +static inline int atomic_sub_and_test(int i, atomic_t *v)
> +{
> +    return atomic_sub_return(i, v) == 0;
> +}
> +
> +static inline int atomic_inc_and_test(atomic_t *v)
> +{
> +    return atomic_add_return(1, v) == 0;
> +}
> +
> +static inline int atomic_dec_and_test(atomic_t *v)
> +{
> +    return atomic_sub_return(1, v) == 0;
> +}
> +
> +static inline int atomic_add_negative(int i, atomic_t *v)
> +{
> +    return atomic_add_return(i, v) < 0;
> +}
> +
> +static inline int __atomic_add_unless(atomic_t *v, int a, int u)
> +{
> +	int c, old;
> +
> +	c = atomic_read(v);
> +	while (c != u && (old = atomic_cmpxchg((v), c, c + a)) != c)

Btw, no real need to parenthesize v in cases like this one. Otoh a needs
parenthesizing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:22:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578718.906355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT30B-0000MT-1M; Mon, 07 Aug 2023 16:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578718.906355; Mon, 07 Aug 2023 16:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT30A-0000MM-UF; Mon, 07 Aug 2023 16:22:38 +0000
Received: by outflank-mailman (input) for mailman id 578718;
 Mon, 07 Aug 2023 16:22:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6Un4=DY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qT309-0000MG-FB
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:22:37 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d160c17-353e-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 18:22:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E79ED8285614;
 Mon,  7 Aug 2023 11:22:32 -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 7Rdtpzm9DrP7; Mon,  7 Aug 2023 11:22:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F2E2E8285869;
 Mon,  7 Aug 2023 11:22:31 -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 rfmzEZErQy5B; Mon,  7 Aug 2023 11:22:31 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 97FAA8285614;
 Mon,  7 Aug 2023 11:22: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: 9d160c17-353e-11ee-b280-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com F2E2E8285869
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691425352; bh=U2qvdXd5/gE2j6fLA/EynBU+JzMY/KeOwVUZItiPaZA=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=lFwHTlEjbiZn/KgYyhdNErvTH/X7A3NRlJKHnuzHAAp65bWa3k85nqJIQol/hxwFR
	 f7HYNM5kjZMxV5ErAr+wMqdQ8+c6+HR9BGIgrCz0UN9IWIcPeJxyuIeViZ1q/rotR3
	 XwAJQ08Y6/RAv+7r/TqRmVF0RCtMBwSJtktvuNcw=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <62c8859d-8904-ce30-019b-df976378256c@raptorengineering.com>
Date: Mon, 7 Aug 2023 11:22:31 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/4] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <c72c242988295b665a8bd235a351806dc112ad01.1690934409.git.sanastasio@raptorengineering.com>
 <d3c5e9a2-918d-5b6c-b0bd-34b61d00c769@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <d3c5e9a2-918d-5b6c-b0bd-34b61d00c769@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/2/23 2:16 AM, Jan Beulich wrote:
> On 02.08.2023 02:11, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/include/asm/asm-defns.h
>> +++ b/xen/arch/ppc/include/asm/asm-defns.h
>> @@ -16,6 +16,13 @@
>>      lis reg, (val) @h;                                                       \
>>      ori reg, reg, (val) @l;                                                  \
>>
>> +/*
>> + * Load the address of a symbol from the TOC into the specified GPR.
>> + */
>> +#define LOAD_REG_ADDR(reg,name)                                              \
>> +    addis reg,%r2,name@toc@ha;                                               \
>> +    addi  reg,reg,name@toc@l
> 
> Didn't you indicate you'd add blanks after the commas (also) here?
> 
>> --- a/xen/arch/ppc/ppc64/head.S
>> +++ b/xen/arch/ppc/ppc64/head.S
>> @@ -1,6 +1,7 @@
>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>>
>>  #include <asm/asm-defns.h>
>> +#include <asm/asm-offsets.h>
>>
>>      .section .text.header, "ax", %progbits
>>
>> @@ -11,16 +12,19 @@ ENTRY(start)
>>      FIXUP_ENDIAN
>>
>>      /* set up the TOC pointer */
>> -    LOAD_IMM32(%r2, .TOC.)
>> +    bcl	    20, 31, 1f
> 
> Hard tab slipped in.
> 
> I'm happy to take care of both while committing; then:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks, Jan. Just to clarify, are there any outstanding comments that I
need to address in this series, or are they all able to be handled by
you during commit?

> Jan

- Shawn


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:26:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578724.906366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT341-0000yj-HP; Mon, 07 Aug 2023 16:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578724.906366; Mon, 07 Aug 2023 16: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 1qT341-0000yc-EZ; Mon, 07 Aug 2023 16:26:37 +0000
Received: by outflank-mailman (input) for mailman id 578724;
 Mon, 07 Aug 2023 16:26:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JzBl=DY=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qT340-0000yV-7v
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:26: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 2c691d46-353f-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 18:26:34 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fe4cdb727cso28853975e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 09:26:34 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n4-20020a05600c294400b003fc05b89e5bsm11133310wmd.34.2023.08.07.09.26.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 09: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: 2c691d46-353f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691425593; x=1692030393;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EKUUe6jb+Vbb+siDjVhEDsYJmexMFcVsomt1hi6nWb0=;
        b=KztarhwQevvRnwR6xL8VRN5V5NjUCfXfP9wHA1xtm6bduIynv4tHT/M1hYk8VpsUUz
         5xCID/x50mYl14bsoX601fW3nXfI6u1MkZgeM9LKrrWMtr/vdBRCw/r/9wJvGVughiNV
         bbaQRfWk3CcoLrYvhn2gId/Wg4+NaJ+tGbe0U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691425593; x=1692030393;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EKUUe6jb+Vbb+siDjVhEDsYJmexMFcVsomt1hi6nWb0=;
        b=Tae7jo/oyTvxsaqeNZkTh69iaycPe6/fLIztlNrQpmI3kojXezgQTqB4huzRJ1NAYi
         rcEApNACPVN5mKkf4tx9M6KYcM5qA6M5rN7ohVibjgv2gq06QngxaTu8UA+YSjpMMNvY
         jMtEH134WNK0EQVYy1uIp02/NyyVLDtXVxdJq1B4pshvnR2rU/LYUyhlCiciqnBN7dNP
         W7zbvgksf4PE8I5uLr7XsZKlqx4Ek+4tnNH7FVJq0xOcbEjbb09oDL0CErqCkQdQTKl6
         5VH0HVOaTRjkHaJl7TD4X1D23eNAtZjr3m4/vltakaisen5bfbwwQiSh7bPGkSpy0PVw
         PHNQ==
X-Gm-Message-State: AOJu0YzJzn3q5ync0cEjV9XzO99WYhL9A4fF5vDOzhyGvP4iGM87mf3m
	ZwBFU7dVd4qLHKMzMxYmUkEydg==
X-Google-Smtp-Source: AGHT+IFZukGiP8qBs7KGp9gFHntXWyu4NdJeckuiNmydV3RA13Ebaek9HmFOh+ijakcj3EwsY8xiBw==
X-Received: by 2002:a1c:7c03:0:b0:3fe:43b4:55c with SMTP id x3-20020a1c7c03000000b003fe43b4055cmr7770688wmc.30.1691425593468;
        Mon, 07 Aug 2023 09:26:33 -0700 (PDT)
Message-ID: <64d11b39.050a0220.2ab40.c2cc@mx.google.com>
X-Google-Original-Message-ID: <ZNEbN+HYukpholoi@EMEAENGAAD19049.>
Date: Mon, 7 Aug 2023 17:26:31 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
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>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/5] mm: Factor out the pdx compression logic in ma/va
 converters
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-3-alejandro.vallejo@cloud.com>
 <db533ea3-8b1f-fb36-a0b8-d196f3a84f33@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <db533ea3-8b1f-fb36-a0b8-d196f3a84f33@suse.com>

On Mon, Jul 31, 2023 at 05:15:19PM +0200, Jan Beulich wrote:
> On 28.07.2023 09:59, Alejandro Vallejo wrote:
> > --- a/xen/include/xen/pdx.h
> > +++ b/xen/include/xen/pdx.h
> > @@ -160,6 +160,31 @@ static inline unsigned long pdx_to_pfn(unsigned long pdx)
> >  #define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
> >  #define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
> >  
> > +/**
> > + * Computes the offset into the direct map of an maddr
> > + *
> > + * @param ma Machine address
> > + * @return Offset on the direct map where that
> > + *         machine address can be accessed
> > + */
> > +static inline unsigned long maddr_to_directmapoff(uint64_t ma)
> 
> Was there prior agreement to use uint64_t here and ...
> 
> > +{
> > +    return ((ma & ma_top_mask) >> pfn_pdx_hole_shift) |
> > +           (ma & ma_va_bottom_mask);
> > +}
> > +
> > +/**
> > + * Computes a machine address given a direct map offset
> > + *
> > + * @param offset Offset into the direct map
> > + * @return Corresponding machine address of that virtual location
> > + */
> > +static inline uint64_t directmapoff_to_maddr(unsigned long offset)
> 
> ... here, not paddr_t?
The whole file uses uint64_t rather than paddr_t so I added the new code
using the existing convention. I can just as well make it paddr_t, it's
not a problem.

> 
> Also you use unsigned long for the offset here, but size_t for
> maddr_to_directmapoff()'s return value in __maddr_to_virt().
> Would be nice if this was consistent within the patch.
That's fair. I can leave it as "unsigned long" (seeing that a previous nit was
preferring that type over size_t).

> Especially since the names of the helper functions are longish,
> I'm afraid I'm not fully convinced of the transformation.
In what sense? If it's just naming style I'm happy to consider other names,
but taking compression logic out of non-pdx code is essential to removing
compiling it out.

> But I'm also not meaning to stand in the way, if everyone else wants to
> move in that direction.
> 
> Jan

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:43:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578730.906376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3KM-0003XY-RD; Mon, 07 Aug 2023 16:43:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578730.906376; Mon, 07 Aug 2023 16: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 1qT3KM-0003XR-O9; Mon, 07 Aug 2023 16:43:30 +0000
Received: by outflank-mailman (input) for mailman id 578730;
 Mon, 07 Aug 2023 16:43: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=iKtn=DY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qT3KK-0003XL-Vg
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:43:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87d8a7b6-3541-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 18:43:26 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id DE71F4EE0737;
 Mon,  7 Aug 2023 18:43: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: 87d8a7b6-3541-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 07 Aug 2023 18:43:25 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.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?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 2/4] x86/mtrr: address MISRA C:2012 Rule 5.3
In-Reply-To: <17069ab9-03ff-9f7b-6480-d50e1349e16a@suse.com>
References: <cover.1691135862.git.nicola.vetrini@bugseng.com>
 <2f7380396ee146132738dd5c6b2a80d62a8035d5.1691135862.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308041345360.2127516@ubuntu-linux-20-04-desktop>
 <17069ab9-03ff-9f7b-6480-d50e1349e16a@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <e4eaad8dec9a289821d799b6eab8f29b@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 07/08/2023 14:48, Jan Beulich wrote:
> On 04.08.2023 22:45, Stefano Stabellini wrote:
>> On Fri, 4 Aug 2023, Nicola Vetrini wrote:
>>> Rename variables to avoid shadowing and thus address
>>> MISRA C:2012 Rule 5.3:
>>> "An identifier declared in an inner scope shall not hide an
>>> identifier declared in an outer scope".
>>> 
>>> The shadowing happens between the struct declaration 'mtrr_state' in
>>> 'xen/arch/x86/include/asm/mtrr.h' and local variable names.
> 
> Let's try to be precise: The issue isn't with the struct declaration,
> but with the declaration of the global variable of that name a few
> lines later. Afaict - please clarify.

Yes, my wording is wrong.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:51:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578737.906385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3Rb-00056Y-IN; Mon, 07 Aug 2023 16:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578737.906385; Mon, 07 Aug 2023 16: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 1qT3Rb-00056R-Fo; Mon, 07 Aug 2023 16:50:59 +0000
Received: by outflank-mailman (input) for mailman id 578737;
 Mon, 07 Aug 2023 16: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=JzBl=DY=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qT3Ra-00056H-4Y
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:50:58 +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 92525037-3542-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 18:50:53 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-3fe5c0e57d2so9901685e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 09:50:53 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k14-20020adfd84e000000b003177e9b2e64sm10978183wrl.90.2023.08.07.09.50.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 09:50: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: 92525037-3542-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691427053; x=1692031853;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LKEm6G/V3XIQ0C2dYNohL+O7aJTA4lRLDP7gzEGgA2Q=;
        b=QEJDqAL6bDyZGDe82wOJ73Ywp0jMWfSPrMc2KIpwhdE0OZq9KZzrs0WZJzJXPtEPk6
         hZ8IuAU8AOVR+oVQtd9VT2f2bWNYWkJcWaS1L/Zmu1uFyXIEeu05f6z2hSI6cj3gbTmx
         AIZvkLevrcHQx7LMAySlbGXobPfXMRPjqggrQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691427053; x=1692031853;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LKEm6G/V3XIQ0C2dYNohL+O7aJTA4lRLDP7gzEGgA2Q=;
        b=hdBpYqZzJVx7szRo6lHfKI6uEzYGkzGo1kCSyEyZzRkVLwtSexDqPk4BahaXJm5k9L
         BwSP7Z2m3b1P2SaUQkSFlFi58fkhGCqUvN3VlYk6u2NEaYtykKOkOHiB9vpoRk09S0MX
         9cFWUH5yzz1/BtJxE2PYJv9YRl/wdayp25a9jYi7uArznRlqMjwR8sK8iwxyr6Yvhszq
         Zv83ThwMXQhgBZfKwtJyyEon47xuDIYl+dhVqFvcs8zdakcrR++DWjLfoGlCMSwm9qgo
         RbXsiYoCirH+GXq/ejICqALEF+yuAoWFU6S6ELCHacqJej4/QkMDK81TsJHaqQxLaA8A
         AaSw==
X-Gm-Message-State: AOJu0YyQlPtY5OcXpe6jCSbTYuoHsNKkxypmo9Lr1tyI8v/F1+2p9rls
	f7WK4/xnrukaav4wZKZWH0jcuQ==
X-Google-Smtp-Source: AGHT+IFjt2mnEDISgicoju+YH8lirAuvEMaxpaGRNahXNXLJbcJGz2ye/mPyRRAbO7LdE6Wv8TeH4Q==
X-Received: by 2002:a05:600c:2119:b0:3fc:1a6:7764 with SMTP id u25-20020a05600c211900b003fc01a67764mr6396663wml.16.1691427052993;
        Mon, 07 Aug 2023 09:50:52 -0700 (PDT)
Message-ID: <64d120ec.df0a0220.84f23.bc02@mx.google.com>
X-Google-Original-Message-ID: <ZNEg6p0Zk2twAbQu@EMEAENGAAD19049.>
Date: Mon, 7 Aug 2023 17:50:50 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/5] mm/pdx: Standardize region validation wrt pdx
 compression
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-4-alejandro.vallejo@cloud.com>
 <ca38d130-ba56-33b2-3134-3b8d4d0dc4fe@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ca38d130-ba56-33b2-3134-3b8d4d0dc4fe@suse.com>

On Mon, Jul 31, 2023 at 05:27:22PM +0200, Jan Beulich wrote:
> On 28.07.2023 09:59, Alejandro Vallejo wrote:
> > --- a/xen/arch/x86/x86_64/mm.c
> > +++ b/xen/arch/x86/x86_64/mm.c
> > @@ -1159,6 +1159,9 @@ static int mem_hotadd_check(unsigned long spfn, unsigned long epfn)
> >  {
> >      unsigned long s, e, length, sidx, eidx;
> >  
> > +    paddr_t mem_base = pfn_to_paddr(spfn);
> > +    unsigned long mem_npages = epfn - spfn;
> > +
> >      if ( (spfn >= epfn) )
> >          return 0;
> 
> While occasionally groups of declarations indeed want separating, the
> rule of thumb is that the first blank line after declarations separates
> them from statements. I don't see reason here to diverge from this.
Ack.

> 
> > @@ -1660,6 +1663,8 @@ static bool __init cf_check rt_range_valid(unsigned long smfn, unsigned long emf
> >  
> >  void __init efi_init_memory(void)
> >  {
> > +    paddr_t mem_base;
> > +    unsigned long mem_npages;
> 
> Why in the outermost scope when ...
> 
> > @@ -1732,6 +1737,9 @@ void __init efi_init_memory(void)
> >          smfn = PFN_DOWN(desc->PhysicalStart);
> >          emfn = PFN_UP(desc->PhysicalStart + len);
> >  
> > +        mem_base = pfn_to_paddr(smfn);
> > +        mem_npages = emfn - smfn;
> > +
> >          if ( desc->Attribute & EFI_MEMORY_WB )
> >              prot |= _PAGE_WB;
> >          else if ( desc->Attribute & EFI_MEMORY_WT )
> > @@ -1759,8 +1767,7 @@ void __init efi_init_memory(void)
> >              prot |= _PAGE_NX;
> >  
> >          if ( pfn_to_pdx(emfn - 1) < (DIRECTMAP_SIZE >> PAGE_SHIFT) &&
> > -             !(smfn & pfn_hole_mask) &&
> > -             !((smfn ^ (emfn - 1)) & ~pfn_pdx_bottom_mask) )
> > +             pdx_is_region_compressible(mem_base, mem_npages))
> >          {
> >              if ( (unsigned long)mfn_to_virt(emfn - 1) >= HYPERVISOR_VIRT_END )
> >                  prot &= ~_PAGE_GLOBAL;
> 
> ... you use the variables only in an inner one?
No good reason. I defaulted to the top of the function because C90 was
picky about declaring midway through a scope and I didn't consider going to
the top of the scope instead. Ack.

> 
> > --- a/xen/common/pdx.c
> > +++ b/xen/common/pdx.c
> > @@ -88,7 +88,7 @@ bool __mfn_valid(unsigned long mfn)
> >  }
> >  
> >  /* Sets all bits from the most-significant 1-bit down to the LSB */
> > -static uint64_t __init fill_mask(uint64_t mask)
> > +static uint64_t fill_mask(uint64_t mask)
> >  {
> >      while (mask & (mask + 1))
> >          mask |= mask + 1;
> 
> I see why you want __init dropped here, but the function wasn't written
> for "common use" and hence may want improving first when intended for
> more frequent (post-init) use as well.
It's not so much that I want it rather than I need it. hotadd_mem_check()
uses it and it's not part of the init process. That's the only non-init use
of it, and it hardly qualifies as "common". IMO, 
don't matter a whole

> Then again I wonder why original
> checking all got away without using this function ...
> 
> Jan
My guess is that most real systems don't exercise the corner cases, and so
the code was just silently broken passing the checks all the time. I could
not find an explanation for the OR check in hotadd_mem_check(), so I just
attributed it to being a bug introduced out of lack of knowledge of pdx.

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 16:59:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 16:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578743.906396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3ZZ-0005oR-CT; Mon, 07 Aug 2023 16:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578743.906396; Mon, 07 Aug 2023 16:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3ZZ-0005oK-9B; Mon, 07 Aug 2023 16:59:13 +0000
Received: by outflank-mailman (input) for mailman id 578743;
 Mon, 07 Aug 2023 16:59: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=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qT3ZX-0005oE-CO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 16:59:11 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7f502e2-3543-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 18:59: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: b7f502e2-3543-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691427548;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=nm5R7soTv5fti98FGiCgyddGgN3CHcBysJb401uIthc=;
  b=VOR+NWkohaCBrSJ4voRDpYFedAdQm5CZFdE2OLFG5IJPlKHbyECV0rQy
   JCcKN6ZXt0slDrwIMG6PoOShAShVf2W2KMrmWnVJISIFLdrwlQoH1QABB
   8ogE7Habf7t9ORkDY2B9djjIWVVNJMmxup654LMjbFqxCNGTvc/KNtYt4
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118766919
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:8n0036KPdBGWsLaXFE+Rx5UlxSXFcZb7ZxGr2PjKsXjdYENS0zcFz
 GIaDGHVaPnbYmfzfdh/Oom/oB8HupbRzN8xSQtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRhPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c50H29Pz
 fg1CgknYzK6mriQ+qugG/Rj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJUKwBjJ/
 zOuE2LRXEFDDI2+6ii5zWOnmqjhjQSndo4OC+jtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9LnEMZBcAYCk8ydTBmZxpqCjWVYd+H/vg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yT4FWyzyGskTKuMDirjUWGBX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YgLVTbonEyOxPJhQgBdXTAdollY
 /+mnTuEVy5GWcyLMhLpLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtaTOzghQCxPrc+m39q
 o8PX/ZmPj0DCIUSlAGLq99MRb3LRFBnba3LRzt/L7PafFA4Qjt9Wpc8A9oJIuRYokicrc+Ql
 lnVZ6OS4ACXaaHvQelSVk1eVQ==
IronPort-HdrOrdr: A9a23:nKV3vqxJwm67lWMa6hzWKrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-Talos-CUID: 9a23:JzFMcW4lolG4XEZuodss91AaG/ghX1/k5nryGlLiL1xwU+yIRgrF
X-Talos-MUID: 9a23:3/UUJQp1yvgyl4Uq6IMez28ybf85woe8NH8cmolBldmjaQJ8JyjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,262,1684814400"; 
   d="scan'208";a="118766919"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] xen/IOMMU: Switch bool_t to bool
Date: Mon, 7 Aug 2023 17:58:30 +0100
Message-ID: <20230807165830.6719-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

... as part of cleaning up the types used.  Minor style cleanup on some
altered lines.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/drivers/passthrough/amd/iommu.h         |  4 ++--
 xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
 xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
 xen/drivers/passthrough/ats.c               |  2 +-
 xen/drivers/passthrough/ats.h               |  2 +-
 xen/drivers/passthrough/device_tree.c       |  4 ++--
 xen/drivers/passthrough/iommu.c             |  8 ++++----
 xen/drivers/passthrough/pci.c               | 16 ++++++++--------
 xen/drivers/passthrough/vtd/dmar.c          |  6 +++---
 xen/drivers/passthrough/vtd/extern.h        |  6 +++---
 xen/drivers/passthrough/vtd/iommu.c         | 18 +++++++++---------
 xen/drivers/passthrough/vtd/qinval.c        |  2 +-
 xen/drivers/passthrough/vtd/quirks.c        |  8 ++++----
 xen/drivers/passthrough/vtd/x86/ats.c       |  2 +-
 xen/include/xen/iommu.h                     |  6 +++---
 16 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index 5429ada58ef5..acbaad30d564 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -174,7 +174,7 @@ struct guest_iommu {
 
     struct domain          *domain;
     spinlock_t              lock;
-    bool_t                  enabled;
+    bool                    enabled;
 
     struct guest_dev_table  dev_table;
     struct guest_buffer     cmd_buffer;
@@ -194,7 +194,7 @@ struct guest_iommu {
     struct guest_iommu_msi  msi;
 };
 
-extern bool_t iommuv2_enabled;
+extern bool iommuv2_enabled;
 
 struct acpi_ivrs_hardware;
 
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 3b577c9b390c..891c6c6ddde2 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1063,14 +1063,14 @@ static unsigned int __initdata nr_ivmd;
 #define to_ivmd_block(hdr) \
     container_of(hdr, const struct acpi_ivrs_memory, header)
 
-static inline bool_t is_ivhd_block(u8 type)
+static inline bool is_ivhd_block(u8 type)
 {
     return (type == ACPI_IVRS_TYPE_HARDWARE ||
             ((amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP) &&
              type == ACPI_IVRS_TYPE_HARDWARE_11H));
 }
 
-static inline bool_t is_ivmd_block(u8 type)
+static inline bool is_ivmd_block(u8 type)
 {
     return (type == ACPI_IVRS_TYPE_MEMORY_ALL ||
             type == ACPI_IVRS_TYPE_MEMORY_ONE ||
@@ -1102,7 +1102,7 @@ static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
     const struct acpi_ivrs_header *ivrs_block;
     unsigned long length;
     unsigned int apic, i;
-    bool_t sb_ioapic = !iommu_intremap;
+    bool sb_ioapic = !iommu_intremap;
     int error = 0;
 
     BUG_ON(!table);
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index af6713d2fc02..41ec38bb72eb 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -34,7 +34,7 @@ unsigned int __read_mostly ivrs_bdf_entries;
 u8 __read_mostly ivhd_type;
 static struct radix_tree_root ivrs_maps;
 LIST_HEAD_READ_MOSTLY(amd_iommu_head);
-bool_t iommuv2_enabled;
+bool iommuv2_enabled;
 
 bool __ro_after_init amd_iommu_perdev_intremap = true;
 
@@ -737,7 +737,7 @@ static void cf_check iommu_interrupt_handler(
     tasklet_schedule(&amd_iommu_irq_tasklet);
 }
 
-static bool_t __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
+static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
 {
     int irq, ret;
 
@@ -1329,7 +1329,7 @@ static int __init cf_check amd_iommu_setup_device_table(
 }
 
 /* Check whether SP5100 SATA Combined mode is on */
-static bool_t __init amd_sp5100_erratum28(void)
+static bool __init amd_sp5100_erratum28(void)
 {
     u32 bus, id;
     u16 vendor_id, dev_id;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 94e37755064b..f7f9f4e5423a 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -28,7 +28,7 @@
 /* dom_io is used as a sentinel for quarantined devices */
 #define QUARANTINE_SKIP(d, p) ((d) == dom_io && !(p)->arch.amd.root_table)
 
-static bool_t __read_mostly init_done;
+static bool __read_mostly init_done;
 
 static const struct iommu_init_ops _iommu_init_ops;
 
diff --git a/xen/drivers/passthrough/ats.c b/xen/drivers/passthrough/ats.c
index 7f7b16dc490c..253f5c2e1042 100644
--- a/xen/drivers/passthrough/ats.c
+++ b/xen/drivers/passthrough/ats.c
@@ -18,7 +18,7 @@
 #include <xen/pci_regs.h>
 #include "ats.h"
 
-bool_t __read_mostly ats_enabled = 0;
+bool __read_mostly ats_enabled;
 boolean_param("ats", ats_enabled);
 
 int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list)
diff --git a/xen/drivers/passthrough/ats.h b/xen/drivers/passthrough/ats.h
index c202f4ecdd67..baa5f6a6dc04 100644
--- a/xen/drivers/passthrough/ats.h
+++ b/xen/drivers/passthrough/ats.h
@@ -22,7 +22,7 @@
 #define ATS_QUEUE_DEPTH_MASK     0x1f
 #define ATS_ENABLE               (1<<15)
 
-extern bool_t ats_enabled;
+extern bool ats_enabled;
 
 int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list);
 void disable_ats_device(struct pci_dev *pdev);
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1c32d7b50cce..3c0322c7973d 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -83,9 +83,9 @@ int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev)
     return rc;
 }
 
-static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
+static bool iommu_dt_device_is_assigned(const struct dt_device_node *dev)
 {
-    bool_t assigned = 0;
+    bool assigned = false;
 
     if ( !dt_device_is_protected(dev) )
         return 0;
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 7bbe3889a214..f9a9f53dbd44 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -29,7 +29,7 @@ bool __initdata iommu_enable = 1;
 bool __read_mostly iommu_enabled;
 bool __read_mostly force_iommu;
 bool __read_mostly iommu_verbose;
-static bool_t __read_mostly iommu_crash_disable;
+static bool __read_mostly iommu_crash_disable;
 
 #define IOMMU_quarantine_none         0 /* aka false */
 #define IOMMU_quarantine_basic        1 /* aka true */
@@ -59,7 +59,7 @@ bool __read_mostly iommu_hap_pt_share = true;
 
 bool __read_mostly iommu_debug;
 
-DEFINE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
+DEFINE_PER_CPU(bool, iommu_dont_flush_iotlb);
 
 static int __init cf_check parse_iommu_param(const char *s)
 {
@@ -548,7 +548,7 @@ static int __init iommu_quarantine_init(void)
 int __init iommu_setup(void)
 {
     int rc = -ENODEV;
-    bool_t force_intremap = force_iommu && iommu_intremap;
+    bool force_intremap = force_iommu && iommu_intremap;
 
     if ( iommu_hwdom_strict )
         iommu_hwdom_passthrough = false;
@@ -672,7 +672,7 @@ int iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
     return iommu_call(ops, get_reserved_device_memory, func, ctxt);
 }
 
-bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
+bool iommu_has_feature(struct domain *d, enum iommu_feature feature)
 {
     return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
 }
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 33452791a8e0..ed1f689227fa 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -62,7 +62,7 @@ void pcidevs_unlock(void)
     spin_unlock_recursive(&_pcidevs_lock);
 }
 
-bool_t pcidevs_locked(void)
+bool pcidevs_locked(void)
 {
     return !!spin_is_locked(&_pcidevs_lock);
 }
@@ -74,7 +74,7 @@ static inline struct pci_seg *get_pseg(u16 seg)
     return radix_tree_lookup(&pci_segments, seg);
 }
 
-bool_t pci_known_segment(u16 seg)
+bool pci_known_segment(u16 seg)
 {
     return get_pseg(seg) != NULL;
 }
@@ -984,7 +984,7 @@ int find_upstream_bridge(u16 seg, u8 *bus, u8 *devfn, u8 *secbus)
     return ret;
 }
 
-bool_t __init pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func)
+bool __init pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func)
 {
     u32 vendor;
 
@@ -1181,7 +1181,7 @@ static int hest_match_pci(const struct acpi_hest_aer_common *p,
            p->function               == PCI_FUNC(pdev->devfn);
 }
 
-static bool_t hest_match_type(const struct acpi_hest_header *hest_hdr,
+static bool hest_match_type(const struct acpi_hest_header *hest_hdr,
                               const struct pci_dev *pdev)
 {
     unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus,
@@ -1207,10 +1207,10 @@ static bool_t hest_match_type(const struct acpi_hest_header *hest_hdr,
 
 struct aer_hest_parse_info {
     const struct pci_dev *pdev;
-    bool_t firmware_first;
+    bool firmware_first;
 };
 
-static bool_t hest_source_is_pcie_aer(const struct acpi_hest_header *hest_hdr)
+static bool hest_source_is_pcie_aer(const struct acpi_hest_header *hest_hdr)
 {
     if ( hest_hdr->type == ACPI_HEST_TYPE_AER_ROOT_PORT ||
          hest_hdr->type == ACPI_HEST_TYPE_AER_ENDPOINT ||
@@ -1224,7 +1224,7 @@ static int cf_check aer_hest_parse(
 {
     struct aer_hest_parse_info *info = data;
     const struct acpi_hest_aer_common *p;
-    bool_t ff;
+    bool ff;
 
     if ( !hest_source_is_pcie_aer(hest_hdr) )
         return 0;
@@ -1254,7 +1254,7 @@ static int cf_check aer_hest_parse(
     return 0;
 }
 
-bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
+bool pcie_aer_get_firmware_first(const struct pci_dev *pdev)
 {
     struct aer_hest_parse_info info = { .pdev = pdev };
 
diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 4936c20952ec..07772f178fe6 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -149,7 +149,7 @@ struct vtd_iommu *ioapic_to_iommu(unsigned int apic_id)
     return NULL;
 }
 
-static bool_t acpi_hpet_device_match(
+static bool acpi_hpet_device_match(
     struct list_head *list, unsigned int hpet_id)
 {
     struct acpi_hpet_unit *hpet;
@@ -1052,14 +1052,14 @@ void acpi_dmar_zap(void)
         write_atomic((uint32_t*)&dmar_table->signature[0], sig);
 }
 
-bool_t platform_supports_intremap(void)
+bool platform_supports_intremap(void)
 {
     const unsigned int mask = ACPI_DMAR_INTR_REMAP;
 
     return (dmar_flags & mask) == ACPI_DMAR_INTR_REMAP;
 }
 
-bool_t __init platform_supports_x2apic(void)
+bool __init platform_supports_x2apic(void)
 {
     const unsigned int mask = ACPI_DMAR_INTR_REMAP | ACPI_DMAR_X2APIC_OPT_OUT;
 
diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
index d49e40c5ce7d..667590ee52df 100644
--- a/xen/drivers/passthrough/vtd/extern.h
+++ b/xen/drivers/passthrough/vtd/extern.h
@@ -26,7 +26,7 @@
 #define VTDPREFIX "[VT-D]"
 
 struct pci_ats_dev;
-extern bool_t rwbf_quirk;
+extern bool rwbf_quirk;
 extern const struct iommu_init_ops intel_iommu_init_ops;
 
 void print_iommu_regs(struct acpi_drhd_unit *drhd);
@@ -111,7 +111,7 @@ int __must_check me_wifi_quirk(struct domain *domain, uint8_t bus,
 void pci_vtd_quirk(const struct pci_dev *);
 void quirk_iommu_caps(struct vtd_iommu *iommu);
 
-bool_t platform_supports_intremap(void);
-bool_t platform_supports_x2apic(void);
+bool platform_supports_intremap(void);
+bool platform_supports_x2apic(void);
 
 #endif // _VTD_EXTERN_H_
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 0e3062c820f9..d34c98d9c773 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -644,8 +644,8 @@ static int __must_check iommu_flush_iotlb_global(struct vtd_iommu *iommu,
 }
 
 static int __must_check iommu_flush_iotlb_dsi(struct vtd_iommu *iommu, u16 did,
-                                              bool_t flush_non_present_entry,
-                                              bool_t flush_dev_iotlb)
+                                              bool flush_non_present_entry,
+                                              bool flush_dev_iotlb)
 {
     int status;
 
@@ -663,8 +663,8 @@ static int __must_check iommu_flush_iotlb_dsi(struct vtd_iommu *iommu, u16 did,
 
 static int __must_check iommu_flush_iotlb_psi(struct vtd_iommu *iommu, u16 did,
                                               u64 addr, unsigned int order,
-                                              bool_t flush_non_present_entry,
-                                              bool_t flush_dev_iotlb)
+                                              bool flush_non_present_entry,
+                                              bool flush_dev_iotlb)
 {
     int status;
 
@@ -694,7 +694,7 @@ static int __must_check iommu_flush_all(void)
 {
     struct acpi_drhd_unit *drhd;
     struct vtd_iommu *iommu;
-    bool_t flush_dev_iotlb;
+    bool flush_dev_iotlb;
     int rc = 0;
 
     flush_local(FLUSH_CACHE);
@@ -736,7 +736,7 @@ static int __must_check cf_check iommu_flush_iotlb(struct domain *d, dfn_t dfn,
     struct domain_iommu *hd = dom_iommu(d);
     struct acpi_drhd_unit *drhd;
     struct vtd_iommu *iommu;
-    bool_t flush_dev_iotlb;
+    bool flush_dev_iotlb;
     int iommu_domid;
     int ret = 0;
 
@@ -1480,7 +1480,7 @@ int domain_context_mapping_one(
     uint16_t seg = iommu->drhd->segment, prev_did = 0;
     struct domain *prev_dom = NULL;
     int rc, ret;
-    bool_t flush_dev_iotlb;
+    bool flush_dev_iotlb;
 
     if ( QUARANTINE_SKIP(domain, pgd_maddr) )
         return 0;
@@ -1874,7 +1874,7 @@ int domain_context_unmap_one(
     struct context_entry *context, *context_entries;
     u64 maddr;
     int iommu_domid, rc, ret;
-    bool_t flush_dev_iotlb;
+    bool flush_dev_iotlb;
 
     ASSERT(pcidevs_locked());
     spin_lock(&iommu->lock);
@@ -2873,7 +2873,7 @@ static int cf_check intel_iommu_assign_device(
         if ( rmrr->segment == seg && bdf == PCI_BDF(bus, devfn) &&
              rmrr->scope.devices_cnt > 1 )
         {
-            bool_t relaxed = !!(flag & XEN_DOMCTL_DEV_RDM_RELAXED);
+            bool relaxed = flag & XEN_DOMCTL_DEV_RDM_RELAXED;
 
             printk(XENLOG_GUEST "%s" VTDPREFIX
                    " It's %s to assign %pp"
diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c
index 4f9ad136b9c5..036f3e850544 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
+++ b/xen/drivers/passthrough/vtd/qinval.c
@@ -152,7 +152,7 @@ static int __must_check queue_invalidate_iotlb_sync(struct vtd_iommu *iommu,
 
 static int __must_check queue_invalidate_wait(struct vtd_iommu *iommu,
                                               u8 iflag, u8 sw, u8 fn,
-                                              bool_t flush_dev_iotlb)
+                                              bool flush_dev_iotlb)
 {
     static DEFINE_PER_CPU(uint32_t, poll_slot);
     unsigned int index;
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
index fcc8f73e8b90..5d706a539788 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -56,9 +56,9 @@ static unsigned int snb_igd_timeout;
 
 static u32 __read_mostly ioh_id;
 static u32 __initdata igd_id;
-bool_t __read_mostly rwbf_quirk;
-static bool_t __read_mostly is_cantiga_b3;
-static bool_t __read_mostly is_snb_gfx;
+bool __read_mostly rwbf_quirk;
+static bool __read_mostly is_cantiga_b3;
+static bool __read_mostly is_snb_gfx;
 static u8 *__read_mostly igd_reg_va;
 static spinlock_t igd_lock;
 
@@ -498,7 +498,7 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
     int seg = pdev->seg;
     int bus = pdev->bus;
     int pos;
-    bool_t ff;
+    bool ff;
     u32 val, val2;
     u64 bar;
     paddr_t pa;
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 04d702b1d6b1..9de419775f90 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -119,7 +119,7 @@ int dev_invalidate_iotlb(struct vtd_iommu *iommu, u16 did,
 
     list_for_each_entry_safe( pdev, temp, &iommu->ats_devices, ats.list )
     {
-        bool_t sbit;
+        bool sbit;
         int rc = 0;
 
         switch ( type )
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59fe8..0e33ff79684b 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -46,7 +46,7 @@ static inline dfn_t dfn_add(dfn_t dfn, unsigned long i)
     return _dfn(dfn_x(dfn) + i);
 }
 
-static inline bool_t dfn_eq(dfn_t x, dfn_t y)
+static inline bool dfn_eq(dfn_t x, dfn_t y)
 {
     return dfn_x(x) == dfn_x(y);
 }
@@ -193,7 +193,7 @@ enum iommu_feature
     IOMMU_FEAT_count
 };
 
-bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature);
+bool iommu_has_feature(struct domain *d, enum iommu_feature feature);
 
 #ifdef CONFIG_HAS_PCI
 struct pirq;
@@ -409,7 +409,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev);
  * iommu_iotlb_flush/iommu_iotlb_flush_all will be explicitly called by
  * the caller.
  */
-DECLARE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
+DECLARE_PER_CPU(bool, iommu_dont_flush_iotlb);
 
 extern struct spinlock iommu_pt_cleanup_lock;
 extern struct page_list_head iommu_pt_cleanup_list;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 17:02:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 17:02:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578749.906406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3cf-0007LH-Uy; Mon, 07 Aug 2023 17:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578749.906406; Mon, 07 Aug 2023 17:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3cf-0007LA-SA; Mon, 07 Aug 2023 17:02:25 +0000
Received: by outflank-mailman (input) for mailman id 578749;
 Mon, 07 Aug 2023 17:02:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FiBK=DY=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qT3ce-0007L0-RI
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 17:02:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d7fb694-3544-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 19:02:23 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-35-203-138.retail.telecomitalia.it [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id 55C414EE0737;
 Mon,  7 Aug 2023 19:02: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: 2d7fb694-3544-11ee-b280-6b7b168915f2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] x86/cpu: Address a violation of MISRA C:2012 Rule 8.3
Date: Mon,  7 Aug 2023 19:02:05 +0200
Message-Id: <8536f54b708a1b3a906d14a63958c2e6dd0d034e.1691427640.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A missing change to the type in 'opt_arat' declaration introduced a new
violation of MISRA C:2012 Rule 8.3 ("All declarations of an object or
function shall use the same names and type qualifiers").
Change the type to restore the consistency between all declarations of
the object and drop a further usage of 'bool_t'.

Fixes: 202a341f ("x86: Address violations of MISRA C:2012 by replacing bool_t uses")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/cpu/cpu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h
index 85a67771f7..e3d06278b3 100644
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -7,7 +7,7 @@ struct cpu_dev {
 extern const struct cpu_dev intel_cpu_dev, amd_cpu_dev, centaur_cpu_dev,
     shanghai_cpu_dev, hygon_cpu_dev;
 
-extern bool_t opt_arat;
+extern bool opt_arat;
 extern unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx;
 extern unsigned int opt_cpuid_mask_xsave_eax;
 extern unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 17:22:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 17:22:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578757.906415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3wM-0001TK-Ic; Mon, 07 Aug 2023 17:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578757.906415; Mon, 07 Aug 2023 17:22:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT3wM-0001TD-G8; Mon, 07 Aug 2023 17:22:46 +0000
Received: by outflank-mailman (input) for mailman id 578757;
 Mon, 07 Aug 2023 17:22: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 1qT3wK-0001T3-MJ; Mon, 07 Aug 2023 17:22: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 1qT3wK-0005mj-CE; Mon, 07 Aug 2023 17:22: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 1qT3wJ-0002of-Us; Mon, 07 Aug 2023 17:22:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qT3wJ-0002xf-UN; Mon, 07 Aug 2023 17:22: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=Dn3P1dz/nc1VzAoqzSCIa0byyg1Va2PzA9Y/L4mCWxs=; b=3CwOKQ6wGfU5jEXISQemZIxlNh
	eMsUCJDt1vjTNXSB7l7CUhWt1BsFTQoXBYfEMVwHxA+2pltfWGaga3YzyMhfTbg6xLBLCquThdQh6
	ms95ynZjxJdqtTJ+OhrybqkIpOutmCeOVjRdnWzQ5MPRUkidbz5HCra1xu6hbX4xwXuc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182218-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182218: 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=65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
X-Osstest-Versions-That:
    xen=d63ea6c46b89bffb99647871c788c236a8286646
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 17:22:43 +0000

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

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                  65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
baseline version:
 xen                  d63ea6c46b89bffb99647871c788c236a8286646

Last test of basis   182212  2023-08-07 10:00:26 Z    0 days
Testing same since   182218  2023-08-07 15:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d63ea6c46b..65f0d6fc80  65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 17:48:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 17:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578765.906425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT4L5-00044Q-J9; Mon, 07 Aug 2023 17:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578765.906425; Mon, 07 Aug 2023 17: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 1qT4L5-00044J-GX; Mon, 07 Aug 2023 17:48:19 +0000
Received: by outflank-mailman (input) for mailman id 578765;
 Mon, 07 Aug 2023 17:48:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qT4L3-00044D-RZ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 17:48:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qT4L2-0006BZ-0D; Mon, 07 Aug 2023 17:48:16 +0000
Received: from [54.239.6.189] (helo=[192.168.12.178])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qT4L1-0001Hg-PP; Mon, 07 Aug 2023 17:48:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4mhyzpQg4k7lygPAEO6SHdHU7c/LBQh23TewNpjKVWU=; b=VSY0tj/hNdRir45NmYKW44F/m9
	U0D0b9xttQjBDw+/rkpRBNhf+2XT8yeOX68tVT+dADdjErUKN02P0J1focSgq/I6AyJMKEQQ6kzx/
	ZBGAc7siUlTG3dSlG/qwI33KPYZsDFTpf4D4iLWBZ2RlNG4bik924Aho6mpoYf8dpeIY=;
Message-ID: <5bd0894b-6114-48dd-8c7f-2d1fe142c9d8@xen.org>
Date: Mon, 7 Aug 2023 18:48:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] pdx: Add CONFIG_HAS_PDX_COMPRESSION as a common
 Kconfig option
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.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>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-6-alejandro.vallejo@cloud.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230728075903.7838-6-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Alex,

One more remark in the title. s/HAS// as you renamed the Kconfig.

On 28/07/2023 08:59, Alejandro Vallejo wrote:
> Adds a new compile-time flag to allow disabling pdx compression and
> compiles out compression-related code/data. It also shorts the pdx<->pfn
> conversion macros and creates stubs for masking fucntions.
> 
> While at it, removes the old arch-defined CONFIG_HAS_PDX flag, as it was
> not removable in practice.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> v2:
>    * Merged v1/patch2: Removal of CONFIG_HAS_PDX here (Jan)
> ---
>   xen/arch/arm/Kconfig  |  1 -
>   xen/arch/x86/Kconfig  |  1 -
>   xen/arch/x86/domain.c | 19 +++++++++++++------
>   xen/common/Kconfig    | 13 ++++++++++---
>   xen/common/Makefile   |  2 +-
>   xen/common/pdx.c      | 15 +++++++++++----
>   xen/include/xen/pdx.h | 37 ++++++++++++++++++++++++++++++++++---
>   7 files changed, 69 insertions(+), 19 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 439cc94f33..ea1949fbaa 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -14,7 +14,6 @@ config ARM
>   	select HAS_ALTERNATIVE
>   	select HAS_DEVICE_TREE
>   	select HAS_PASSTHROUGH
> -	select HAS_PDX
>   	select HAS_PMAP
>   	select HAS_UBSAN
>   	select IOMMU_FORCE_PT_SHARE
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 92f3a627da..30df085d96 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -24,7 +24,6 @@ config X86
>   	select HAS_PASSTHROUGH
>   	select HAS_PCI
>   	select HAS_PCI_MSI
> -	select HAS_PDX
>   	select HAS_SCHED_GRANULARITY
>   	select HAS_UBSAN
>   	select HAS_VPCI if HVM
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 5f66c2ae33..ee2830aad7 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -458,7 +458,7 @@ void domain_cpu_policy_changed(struct domain *d)
>       }
>   }
>   
> -#ifndef CONFIG_BIGMEM
> +#if !defined(CONFIG_BIGMEM) && defined(CONFIG_PDX_COMPRESSION)
>   /*
>    * The hole may be at or above the 44-bit boundary, so we need to determine
>    * the total bit count until reaching 32 significant (not squashed out) bits
> @@ -485,13 +485,20 @@ static unsigned int __init noinline _domain_struct_bits(void)
>   struct domain *alloc_domain_struct(void)
>   {
>       struct domain *d;
> -#ifdef CONFIG_BIGMEM
> -    const unsigned int bits = 0;
> -#else
> +
>       /*
> -     * We pack the PDX of the domain structure into a 32-bit field within
> -     * the page_info structure. Hence the MEMF_bits() restriction.
> +     * Without CONFIG_BIGMEM, we pack the PDX of the domain structure into
> +     * a 32-bit field within the page_info structure. Hence the MEMF_bits()
> +     * restriction. With PDX compression in place the number of bits must
> +     * be calculated at runtime, but it's fixed otherwise.
> +     *
> +     * On systems with CONFIG_BIGMEM there's no packing, and so there's no
> +     * such restriction.
>        */
> +#if defined(CONFIG_BIGMEM) || !defined(CONFIG_PDX_COMPRESSION)
> +    const unsigned int bits = IS_ENABLED(CONFIG_BIGMEM) ? 0 :
> +                                                          32 + PAGE_SHIFT;
> +#else
>       static unsigned int __read_mostly bits;
>   
>       if ( unlikely(!bits) )
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index dd8d7c3f1c..3a0afd8e83 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -23,6 +23,16 @@ config GRANT_TABLE
>   
>   	  If unsure, say Y.
>   
> +config PDX_COMPRESSION
> +	bool "PDX (Page inDeX) compression support"
> +	default ARM
> +	help
> +	  PDX compression is a technique that allows the hypervisor to
> +	  represent physical addresses in a very space-efficient manner.
> +	  This is very helpful reducing memory wastage in systems with
> +	  memory banks with base addresses far from each other, but carrier
> +	  a performance cost.
> +
>   config ALTERNATIVE_CALL
>   	bool
>   
> @@ -53,9 +63,6 @@ config HAS_IOPORTS
>   config HAS_KEXEC
>   	bool
>   
> -config HAS_PDX
> -	bool
> -
>   config HAS_PMAP
>   	bool
>   
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index 46049eac35..0020cafb8a 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -29,7 +29,7 @@ obj-y += multicall.o
>   obj-y += notifier.o
>   obj-$(CONFIG_NUMA) += numa.o
>   obj-y += page_alloc.o
> -obj-$(CONFIG_HAS_PDX) += pdx.o
> +obj-y += pdx.o
>   obj-$(CONFIG_PERF_COUNTERS) += perfc.o
>   obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
>   obj-y += preempt.o
> diff --git a/xen/common/pdx.c b/xen/common/pdx.c
> index d3d38965bd..a3b1ba9fbb 100644
> --- a/xen/common/pdx.c
> +++ b/xen/common/pdx.c
> @@ -31,11 +31,15 @@ unsigned long __read_mostly pdx_group_valid[BITS_TO_LONGS(
>   
>   bool __mfn_valid(unsigned long mfn)
>   {
> -    if ( unlikely(evaluate_nospec(mfn >= max_page)) )
> +    bool invalid = mfn >= max_page;
> +#ifdef CONFIG_PDX_COMPRESSION
> +    invalid |= mfn & pfn_hole_mask;
> +#endif
> +
> +    if ( unlikely(evaluate_nospec(invalid)) )
>           return false;
> -    return likely(!(mfn & pfn_hole_mask)) &&
> -           likely(test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT,
> -                           pdx_group_valid));
> +
> +    return test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT, pdx_group_valid);
>   }
>   
>   void set_pdx_range(unsigned long smfn, unsigned long emfn)
> @@ -49,6 +53,8 @@ void set_pdx_range(unsigned long smfn, unsigned long emfn)
>           __set_bit(idx, pdx_group_valid);
>   }
>   
> +#ifdef CONFIG_PDX_COMPRESSION
> +
>   /*
>    * Diagram to make sense of the following variables. The masks and shifts
>    * are done on mfn values in order to convert to/from pdx:
> @@ -175,6 +181,7 @@ void __init pfn_pdx_hole_setup(unsigned long mask)
>       pfn_top_mask        = ~(pfn_pdx_bottom_mask | pfn_hole_mask);
>       ma_top_mask         = pfn_top_mask << PAGE_SHIFT;
>   }
> +#endif /* CONFIG_PDX_COMPRESSION */
>   
>   
>   /*
> diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
> index 5a82b6bde2..dfb475c8dc 100644
> --- a/xen/include/xen/pdx.h
> +++ b/xen/include/xen/pdx.h
> @@ -67,8 +67,6 @@
>    * region involved.
>    */
>   
> -#ifdef CONFIG_HAS_PDX
> -
>   extern unsigned long max_pdx;
>   
>   #define PDX_GROUP_COUNT ((1 << PDX_GROUP_SHIFT) / \
> @@ -100,6 +98,8 @@ bool __mfn_valid(unsigned long mfn);
>   #define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
>   #define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
>   
> +#ifdef CONFIG_PDX_COMPRESSION
> +
>   extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask;
>   extern unsigned int pfn_pdx_hole_shift;
>   extern unsigned long pfn_hole_mask;
> @@ -205,8 +205,39 @@ static inline uint64_t directmapoff_to_maddr(unsigned long offset)
>    *             position marks a potentially compressible bit.
>    */
>   void pfn_pdx_hole_setup(unsigned long mask);
> +#else /* CONFIG_PDX_COMPRESSION */
> +
> +/* Without PDX compression we can skip some computations */
> +
> +/* pdx<->pfn == identity */
> +#define pdx_to_pfn(x) (x)
> +#define pfn_to_pdx(x) (x)
> +
> +/* directmap is indexed by by maddr */
> +#define maddr_to_directmapoff(x) (x)
> +#define directmapoff_to_maddr(x) (x)
> +
> +static inline bool pdx_is_region_compressible(unsigned long smfn,
> +                                              unsigned long emfn)
> +{
> +    return true;
> +}
> +
> +static inline uint64_t pdx_init_mask(uint64_t base_addr)
> +{
> +    return 0;
> +}
> +
> +static inline uint64_t pdx_region_mask(uint64_t base, uint64_t len)
> +{
> +    return 0;
> +}
> +
> +static inline void pfn_pdx_hole_setup(unsigned long mask)
> +{
> +}
>   
> -#endif /* HAS_PDX */
> +#endif /* CONFIG_PDX_COMPRESSION */
>   #endif /* __XEN_PDX_H__ */
>   
>   /*

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:13:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578771.906436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT4j9-0007ba-GF; Mon, 07 Aug 2023 18:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578771.906436; Mon, 07 Aug 2023 18:13:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT4j9-0007bT-Dg; Mon, 07 Aug 2023 18:13:11 +0000
Received: by outflank-mailman (input) for mailman id 578771;
 Mon, 07 Aug 2023 18:13:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qT4j7-0007bJ-8F; Mon, 07 Aug 2023 18:13:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qT4j6-0006p8-TP; Mon, 07 Aug 2023 18:13: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 1qT4j6-0004R8-BS; Mon, 07 Aug 2023 18:13:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qT4j6-00083b-Au; Mon, 07 Aug 2023 18:13:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4Hs/o9J28DZ4/H4IjM3qCv/RKfE3NQ0pinNEz/UnDgw=; b=e8kYTxsUY+TARhe3eYy9HnevcS
	8b3eyaJb53QEjQ0/0BOCrgnW4E1xikJbnUXqjcR5/TGVWb5wGco+MplZtCDAjcW8rXjXK+sWWwzqp
	1AJ3za4lMVVqecMPPJ0PDol6K9/junw5x70qt0vIuIr5fcTGyebkPvcl5JNq1Lw5rcCg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182210-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182210: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-arm64:xen-build:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-credit1: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-credit2:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e55146071de9257d70bd157047700071d0007622
X-Osstest-Versions-That:
    xen=e55146071de9257d70bd157047700071d0007622
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 18:13:08 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build      fail in 182203 REGR. vs. 182210

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182203

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

version targeted for testing:
 xen                  e55146071de9257d70bd157047700071d0007622
baseline version:
 xen                  e55146071de9257d70bd157047700071d0007622

Last test of basis   182210  2023-08-07 01:52:04 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:39:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:39:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578780.906445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT58I-0001t1-ML; Mon, 07 Aug 2023 18:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578780.906445; Mon, 07 Aug 2023 18:39:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT58I-0001su-JD; Mon, 07 Aug 2023 18:39:10 +0000
Received: by outflank-mailman (input) for mailman id 578780;
 Mon, 07 Aug 2023 18:39: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=aC6Z=DY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qT58G-0001sl-Hr
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:39:08 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afe086ac-3551-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:39:06 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C0C5A61D09;
 Mon,  7 Aug 2023 18:39:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2629C433C8;
 Mon,  7 Aug 2023 18:39:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afe086ac-3551-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691433544;
	bh=Qo3e1NbMEIn2vI7uRVrp+8JCSgZhMti47wx/JgLHOAQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rH3kV+GU/mjN2ZmA42MZXz99lRbyLmtQoz3cW8knOvPxe2V/lFwKvwdLfkuZ/Q59J
	 eE4HGa+yHkXqu7ldWPL1hiOBe1To7WWKS2LEulfFUXBxK2fpM1oH3ZsO/DKlHhfh5s
	 +pfnz8ZhfZmEHIjYLabuL0xTSok+sd7G7SJQu3gQG0UFVhnjOKRoDJAco8kW8cQXe6
	 CmMAxF366g2W6RaUkdBUibNQd4A4+cesbJSG39RnmP9bwDz2K6xV7W7xthOwDMSwB+
	 QRJsQRJ9G/L2klvvJTJyiHpZGTf6UPQ0+XW74TO4lk9L1R+ROEjvFT8bygFCVv2eys
	 S/1SkDeYf+L6Q==
Date: Mon, 7 Aug 2023 11:39:01 -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>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308071135120.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com> <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@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, 7 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 17:27, Nicola Vetrini wrote:
> > The variable declared in the header file 'xen/arch/x86/include/asm/e820.h'
> > is shadowed by many function parameters, so it is renamed to avoid these
> > violations.
> > 
> > No functional changes.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > ---
> > This patch is similar to other renames done on previous patches, and the
> > preferred strategy there was to rename the global variable. This one
> > has more occurrences that are spread in various files, but
> > the general pattern is the same.
> 
> Still I think it would be better done the other way around, and perhaps in
> more than a single patch. It looks like "many == 3", i.e.
> - e820_add_range(), which is only ever called with "e820" as its argument,
>   and hence the parameter could be dropped,
> - e820_change_range_type(), which is in the same situation, and
> - reserve_e820_ram(), which wants its parameter renamed.

Let me premise that this is x86 code and I am happy with whatever you
prefer.

I would like to point out that renaming the global var is a lot safer as
a change than renaming the local var. That is because renaming the
global, if you forget one invocation it won't compile (now of course it
can still happen for an optional feature like tboot, but in general
you'll catch everything with a compilation). If you rename the local and
you missed a rename, it will change the behavior of the code as it will
fall back to the global and compile without issues.

So I think it would be best to rename the global when possible.


> Alternatively, if we really were to change the name of the global, we'd
> want to take a more complete approach: Right now we have e820_raw[],
> boot_e820[], and e820[]. We'd want them to follow a uniform naming scheme
> then (e820_ first or _e820 last), with the other part of the name suitably
> describing the purpose (which "map" doesn't do).

I would go with this option


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578786.906456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5KW-0004Gg-Of; Mon, 07 Aug 2023 18:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578786.906456; Mon, 07 Aug 2023 18:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5KW-0004GZ-Lk; Mon, 07 Aug 2023 18:51:48 +0000
Received: by outflank-mailman (input) for mailman id 578786;
 Mon, 07 Aug 2023 18:51:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5KW-0004GT-1A
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:51:48 +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 74b5f192-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:51:45 +0200 (CEST)
Received: by mail-qv1-xf32.google.com with SMTP id
 6a1803df08f44-63cfd6e3835so27471146d6.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:51:45 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:51:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74b5f192-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434304; x=1692039104;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=LeiJiP8hRzb2BMnxYpkNxhm2nxMuiEBd9IMbb+dk1EY=;
        b=Li2JKYXOKgdOwj6nwLZr4m+V0su0AzIBIYrLiwreewD2SiUSElEi4koPgw13/r80gk
         sXo3ki1XAn2RiKBIS+TpgzcYiFxGqUWlzvMlS8ABT02mLyv3TSlpmzOLeAr5KdGFFXHq
         jeClxZNHZ/nLmcd3gfVn0jpCYNwvweFRw63LFEiPJ7B/5eff9uFDFJn6oCTL1r2FPkTE
         hi2TFRxpJew+ykSF2wUJrgdh1OZwcyHttYCxafjMDL88UZxLjCRg2FmcFX+DhCeANhaE
         WnTDBRP2sCIhab7sT7LYaPsfzZlzhMdPAx8pnFAfz0/he9RRKCjSfFn3MA89RLGwXwZa
         FsPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434304; x=1692039104;
        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=LeiJiP8hRzb2BMnxYpkNxhm2nxMuiEBd9IMbb+dk1EY=;
        b=c8eT1vrDoVLvGMUCKHIo8T1vrL2rsunp9Bd4sBp5aXIKkAnj2kWmJ+9KrCOZUXAS0N
         tBICeMarUG133MMClAlEp1Op3Qy9kCWUJcaVj4JIx5FygdykemSEBeXwwVuVjiyPcHxB
         gDAyxz5Oc2jBCXxbor1EBxCyjBFgZ5ILn0dLPYShuPO8aPd1/Pw2P4vlCw1YVaUJLSeC
         +2rr5nQ79ZWt0GZIAfhsdMEC89kcX8MegCIHck7uiOU4gEm6MUPgpuVxSrjH8GXtyx0t
         9/sclBRczpDirrYvULsoClbM1fVfVHdtg/pSb6ocguW0yIFRrbWZlvfc1rNk8xmr5oGI
         +EVA==
X-Gm-Message-State: AOJu0Yz3wdn/tqQ7bHdkkuK0RMUkjciY6XurhlNDJaQSGQofemJ8lTha
	EbMLfRgYeRu+oUn9TmBYlYq92au/dpE=
X-Google-Smtp-Source: AGHT+IEDzb0gJ28gI32PY4ftFsSxYdJDCegQ1fHYd3fNQpbRN7Vxi/nCqmQyNKHvL1YDoPaBFRwk+A==
X-Received: by 2002:a05:6214:807:b0:63c:f8d2:8b3f with SMTP id df7-20020a056214080700b0063cf8d28b3fmr9138970qvb.44.1691434304071;
        Mon, 07 Aug 2023 11:51:44 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v8 00/15] Intel Hardware P-States (HWP) support
Date: Mon,  7 Aug 2023 14:51:04 -0400
Message-ID: <20230807185119.98333-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch series adds Hardware-Controlled Performance States (HWP) for
Intel processors to Xen.

v2 was only partially reviewed, so v3 is mostly a reposting of v2.  In v2 &
v3, I think I addressed all comments for v1.  I kept patch 11 "xenpm:
Factor out a non-fatal cpuid_parse variant", with a v2 comment
explaining why I keep it.

v3 adds "xen/x86: Tweak PDC bits when using HWP".  Qubes testing revealed
an issue where enabling HWP can crash firwmare code (maybe SMM).  This
requires a Linux change to get the PDC bits from Xen and pass them to
ACPI.  Roger has a patch [0] to set the PDC bits.  Roger's 3 patch
series was tested with "xen/x86: Tweak PDC bits when using HWP" on
affected hardware and allowed proper operation.

v4:
There is a large amount or renaming from HWP/hwp to CPPC/cppc in the series.
The driver remains hwp_ prefixed since it is dealing with the hardware
interface.  The sysctl, xc and xenpm interfaces were renamed to cppc to
be the generic ACPI CPPC (Collaborative Processor Performance Control)
interface.

struct xen_get_cpufreq_para was re-organized in a binary compatible
fashion to nest scaling governor options.  This allows the cppc support
to use uint32_t's for its parameters.

HWP is now enabled with a top-level cpufreq=hwp option.  It will
fallback to cpufreq=xen if hwp is unavailable.  This seems like the most
user-friendly option.  Since the user was trying to specify *some*
cpufreq, we should give them the best that we can instead of disabling
the functionality.

"xenpm: Factor out a non-fatal cpuid_parse variant" was dropped.
set-cpufreq-cppc expects either a cpu number or none specified, which
implies all.

Some patches were re-arrange - "xen/x86: Tweak PDC bits when using HWP"
now comes immediately after "cpufreq: Add Hardware P-State (HWP) driver"

The implementation of "cpufreq: Allow restricting to internal governors
only " changed, so I removed Jan's Ack.

v5:
HWP is enabled with a toplevel cpufreq=hwp option.  There is no fallback
by default, but a cpufreq=hwp;xen syntax is now supported.  That tries
hwp first.  If HWP registration is unsuccessful, then xen registration
is performed as a fallback.

More changes from Jan's feedback.  They are typically minor and
documented in individual patches.

v6:
After some discussion, the cpufreq=hwp;xen syntax is retained, with the
global applicability of "verbose" mention in docs.  Minor tweaks
elsewhere as documented in individual patches.

v7:
Minor tweaks from review feedback - documented in respective patches.
Jan previously asked for a toolstack side review / ack of
"[PATCH 04/15] xen/sysctl: Nest cpufreq scaling options"

v8:
Minor tweaks from review feedback - documented in respective patches.

Previous cover letter:

With HWP, the processor makes its own determinations for frequency
selection, though users can set some parameters and preferences.  There
is also Turbo Boost which dynamically pushes the max frequency if
possible.

The existing governors don't work with HWP since they select frequencies
and HWP doesn't expose those.  Therefore a dummy hwp-interal governor is
used that doesn't do anything.

xenpm get-cpufreq-para is extended to show HWP parameters, and
set-cpufreq-cppc is added to set them.

A lightly loaded OpenXT laptop showed ~1W power savings according to
powertop.  A mostly idle Fedora system (dom0 only) showed a more modest
power savings.

This is for a 10th gen 6-core 1600 MHz base 4900 MHZ max cpu.  In the
default balance mode, Turbo Boost doesn't exceed 4GHz.  Tweaking the
energy_perf preference with `xenpm set-cpufreq-para balance ene:64`,
I've seen the CPU hit 4.7GHz before throttling down and bouncing around
between 4.3 and 4.5 GHz.  Curiously the other cores read ~4GHz when
turbo boost takes affect.  This was done after pinning all dom0 cores,
and using taskset to pin to vCPU/pCPU 11 and running a bash tightloop.

HWP defaults to disabled and running with the existing HWP configuration
- it doesn't reconfigure by default.  It can be enabled with
cpufreq=hwp.

Hardware Duty Cycling (HDC) is another feature to autonomously powerdown
things.  It defaults to enabled when HWP is enabled, but HDC can be
disabled on the command line.  cpufreq=xen:hwp,no-hdc

I've only tested on 8th gen and 10th gen systems with activity window
and energy_perf support.  So the pathes for CPUs lacking those features
are untested.

Fast MSR support was removed in v2.  The model specific checking was not
done properly, and I don't have hardware to test with.  Since writes are
expected to be infrequent, I just removed the code.

This changes the systcl_pm_op hypercall, so that wants review.

Regards,
Jason

[0] https://lore.kernel.org/xen-devel/20221121102113.41893-3-roger.pau@citrix.com/

Jason Andryuk (15):
  cpufreq: Allow restricting to internal governors only
  cpufreq: Add perf_freq to cpuinfo
  cpufreq: Export intel_feature_detect
  xen/sysctl: Nest cpufreq scaling options
  pmstat&xenpm: Re-arrage for cpufreq union
  cpufreq: Add Hardware P-State (HWP) driver
  xen/x86: Tweak PDC bits when using HWP
  xenpm: Change get-cpufreq-para output for hwp
  cpufreq: Export HWP parameters to userspace as CPPC
  libxc: Include cppc_para in definitions
  xenpm: Print HWP/CPPC parameters
  xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op
  libxc: Add xc_set_cpufreq_cppc
  xenpm: Add set-cpufreq-cppc subcommand
  CHANGELOG: Add Intel HWP entry

 CHANGELOG.md                                 |   1 +
 docs/misc/xen-command-line.pandoc            |  20 +-
 tools/include/xenctrl.h                      |  28 +-
 tools/libs/ctrl/xc_pm.c                      |  81 ++-
 tools/misc/xenpm.c                           | 392 ++++++++++-
 xen/arch/x86/acpi/cpufreq/Makefile           |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c          |  31 +-
 xen/arch/x86/acpi/cpufreq/hwp.c              | 658 +++++++++++++++++++
 xen/arch/x86/acpi/lib.c                      |   5 +
 xen/arch/x86/cpu/mcheck/mce_intel.c          |   6 +
 xen/arch/x86/include/asm/cpufeature.h        |  12 +-
 xen/arch/x86/include/asm/msr-index.h         |  16 +-
 xen/drivers/acpi/pmstat.c                    | 100 +--
 xen/drivers/cpufreq/cpufreq.c                |  60 +-
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   9 +
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   3 +
 xen/drivers/cpufreq/utility.c                |   1 +
 xen/include/acpi/cpufreq/cpufreq.h           |  22 +
 xen/include/acpi/pdc_intel.h                 |   1 +
 xen/include/public/sysctl.h                  | 144 +++-
 20 files changed, 1471 insertions(+), 120 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/hwp.c

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578789.906486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kf-000557-L4; Mon, 07 Aug 2023 18:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578789.906486; Mon, 07 Aug 2023 18: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 1qT5Kf-00054y-IF; Mon, 07 Aug 2023 18:51:57 +0000
Received: by outflank-mailman (input) for mailman id 578789;
 Mon, 07 Aug 2023 18:51:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kd-0004GT-Im
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:51:55 +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 799d13b1-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:51:54 +0200 (CEST)
Received: by mail-qv1-xf33.google.com with SMTP id
 6a1803df08f44-63d23473ed5so27492516d6.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:51:54 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:51: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: 799d13b1-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434312; x=1692039112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6N7tHO/NpGPoNencisuqLlnFkoHrBAPddvPlzfIc1r8=;
        b=GHeky4+dM2Ufq/m6WeD1ULJqVahBnME1DiWNOJzDfbQD1PUG3us1g1/2H7LH6o6QQg
         BkOD62dOusGASJtAQOvZQtciJV+jpMFhwOUfcUI67+V+fKxO+SSANhpo5ibeLrmFl4Dp
         g0kpRNZO9dcRyIpijcDssfa9SiFhHrhHJ85x+UsPINDTllvTdyDKsSYNT4bbPDkMKsPM
         kisC6aiEFPTxLyU4GMu6H6TyudntoIEq353dFDp67v/04m0pmVKQzKL3LN1l+zi70aux
         TiTJGKZFPqYfVtxk/j8EOf78rOZFXdifyS0ho/CAm+ll9L/nW0bB/8ra6vkjgPdhDAO+
         KBaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434312; x=1692039112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6N7tHO/NpGPoNencisuqLlnFkoHrBAPddvPlzfIc1r8=;
        b=KmxbmpWW+tjkX1jByVlPgv3xYSatmYJJdjCZCNKZF2gWjytbjyPazmXTyg2JbLMlZp
         5DabLxlfKbg66RTCT9TiBHRrZycLnXit586GTPwdSVv9ewIdv0srA/HnYQMHu7n++3f0
         fOJB5jp2i4l/WL9sRI+pf6y6aUaZYH7qrJn2Bwgka/lGUbZSL2RZSDGTRJeEdiq0dt7K
         mbmlxHxcNgZ9cag/t2eIgJgHwXixPziv9ibbJ+GCFF+MlkKKajxWNkPmNbRoNEfvPy/V
         LEWTnSZKhz3c9dAgVUs5btlWbdBrqRlKiXjmR6pjySPNfzKwlZE5rcmx+kqegik7nv0m
         w2rg==
X-Gm-Message-State: AOJu0YyeN5hXOmX02+lXGFltJj0jD9w7Zc3gFSfpsaF52bvw2T878+pk
	KvDD43+y9bjLrB2Jgpg3Kpk24e6+lRA=
X-Google-Smtp-Source: AGHT+IGqakrWUAr2dflnsyhKPwTjuy2ForGGst/8v7r4iglq0Hh+C70Z74BvEzu6rs7s0s2r73f4oA==
X-Received: by 2002:a0c:e494:0:b0:632:15e6:a75e with SMTP id n20-20020a0ce494000000b0063215e6a75emr8976705qvl.46.1691434312492;
        Mon, 07 Aug 2023 11:51:52 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 03/15] cpufreq: Export intel_feature_detect
Date: Mon,  7 Aug 2023 14:51:07 -0400
Message-ID: <20230807185119.98333-4-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Export feature_detect as intel_feature_detect so it can be re-used by
HWP.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v4:
Add Jan's Ack

v3:
Remove void * cast when calling intel_feature_detect

v2:
export intel_feature_detect with typed pointer
Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
declaration now contains struct cpufreq_policy *.
---
 xen/arch/x86/acpi/cpufreq/cpufreq.c | 8 ++++++--
 xen/include/acpi/cpufreq/cpufreq.h  | 2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index 6c70d04395..f1cc473b4f 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -339,9 +339,8 @@ static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
     return extract_freq(get_cur_val(cpumask_of(cpu)), data);
 }
 
-static void cf_check feature_detect(void *info)
+void intel_feature_detect(struct cpufreq_policy *policy)
 {
-    struct cpufreq_policy *policy = info;
     unsigned int eax;
 
     eax = cpuid_eax(6);
@@ -353,6 +352,11 @@ static void cf_check feature_detect(void *info)
     }
 }
 
+static void cf_check feature_detect(void *info)
+{
+    intel_feature_detect(info);
+}
+
 static unsigned int check_freqs(const cpumask_t *mask, unsigned int freq,
                                 struct acpi_cpufreq_data *data)
 {
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 1f1898d811..482ea5b0de 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -243,4 +243,6 @@ int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq);
 void cpufreq_dbs_timer_suspend(void);
 void cpufreq_dbs_timer_resume(void);
 
+void intel_feature_detect(struct cpufreq_policy *policy);
+
 #endif /* __XEN_CPUFREQ_PM_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578787.906466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5KZ-0004Vf-0Q; Mon, 07 Aug 2023 18:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578787.906466; Mon, 07 Aug 2023 18: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 1qT5KY-0004VY-TP; Mon, 07 Aug 2023 18:51:50 +0000
Received: by outflank-mailman (input) for mailman id 578787;
 Mon, 07 Aug 2023 18:51:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5KY-0004GT-AB
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:51:50 +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 76796329-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:51:48 +0200 (CEST)
Received: by mail-qv1-xf32.google.com with SMTP id
 6a1803df08f44-63cf9eddbc6so27013826d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:51:48 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11: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: 76796329-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434307; x=1692039107;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vNQhWJqSLtysm6iaINr+s0i3gnrhiDBqgnXkQD6RBcM=;
        b=V3bDDlxVvi0tsUCmaHrr4kIxZRNDwH5cDbN2sq75I1MZcutfJ0gvNx9gtMtV5mjPyb
         donPyty3kc0fEgDAjshZsCWmZ4Bil9mwTLggUFolENijiSmEpu/hYwi6wjRkWvYLmSXK
         Pbhqj74Qb1WTGwu1iQd0Bs+uZd7L/6w/s2vKXL8c6VRfGY73bJUeslXwgHPkC4UP1ZIL
         faaaVdlIORfr4kckqu4P3g9aXEI/JxtjpbLdynC4dEFAOz2uyEStr2EuCOTA5RJKtxFY
         Qhgl0MHicM2Txwy5zvgb371xvT5Bqw7VF/BApMGVeQZu6cZDpRsgOeT4Bk0qCsiXWxME
         xikA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434307; x=1692039107;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vNQhWJqSLtysm6iaINr+s0i3gnrhiDBqgnXkQD6RBcM=;
        b=aegO1ldYkIjzlULGj2F+wNUJsAMLk8nxSlB8nMdTHpOR/0hhWHp9xLu1BJlo2lCQvn
         oRDG54o7+GdhMvN2XtWHNqk0hXlQkeYBjqIytVvCNHcfPn5uLMOxHElq3ljiyUVbzr9I
         qlu5Hms789MWhymnSzDxDe5F+HpXrq2t2C3nAr9bJV+H172JkrvfP9/buiBNaiG8VpJW
         ACZt/ZWVGScQp2kT3+cPo2QW87Jh1yIYgUUOG5zmdONN+R/qJhZzV02zbt9iegssbQq1
         8rhrMZDrgg0ac92gjodx4LmpIXB0F0Fm5amsHc3LxzHw5xYWMKggO4qwZE7t800A77io
         X33g==
X-Gm-Message-State: AOJu0Yz0QMW7x17EeKFkOKFmeST4iSCfWHfVVuPPfCaUhRm3Bvina6Dv
	MV3WA4alIuixwUQeC9zUay9dGkVbxJs=
X-Google-Smtp-Source: AGHT+IGl7Y+1vn0bVef3zX0I0/p0lA+FKwyNiCKLG9/u/GHkJkHhIVMiSSz2y/CABd06pOC5Vny+Kw==
X-Received: by 2002:a05:6214:e6b:b0:63f:6ec7:9f7 with SMTP id jz11-20020a0562140e6b00b0063f6ec709f7mr9620469qvb.23.1691434307160;
        Mon, 07 Aug 2023 11:51:47 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 01/15] cpufreq: Allow restricting to internal governors only
Date: Mon,  7 Aug 2023 14:51:05 -0400
Message-ID: <20230807185119.98333-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For hwp, the standard governors are not usable, and only the internal
one is applicable.  Add the cpufreq_governor_internal boolean to
indicate when an internal governor, like hwp, will be used.  This is set
during presmp_initcall, and governor registration can be skipped when
called during initcall.

This way unusable governors are not registered, and only compatible
governors are advertised to userspace.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v6:
Add Jan's Ack

v5:
Check cpufreq_governor_internal and skip registration as applicable
Remove internal flag

v4:
Rework to use an internal flag
Removed Jan's Ack since the approach is different.

v3:
Switch to initdata
Add Jan Acked-by
Commit message s/they/the/ typo
Don't register hwp-internal when running non-hwp - Marek

v2:
Switch to "-internal"
Add blank line in header
---
 xen/drivers/cpufreq/cpufreq.c                | 1 +
 xen/drivers/cpufreq/cpufreq_misc_governors.c | 9 +++++++++
 xen/drivers/cpufreq/cpufreq_ondemand.c       | 3 +++
 xen/include/acpi/cpufreq/cpufreq.h           | 2 ++
 4 files changed, 15 insertions(+)

diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 2321c7dd07..67a58d409b 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -56,6 +56,7 @@ struct cpufreq_dom {
 };
 static LIST_HEAD_READ_MOSTLY(cpufreq_dom_list_head);
 
+bool __initdata cpufreq_governor_internal;
 struct cpufreq_governor *__read_mostly cpufreq_opt_governor;
 LIST_HEAD_READ_MOSTLY(cpufreq_governor_list);
 
diff --git a/xen/drivers/cpufreq/cpufreq_misc_governors.c b/xen/drivers/cpufreq/cpufreq_misc_governors.c
index f5571f5486..0327fad23b 100644
--- a/xen/drivers/cpufreq/cpufreq_misc_governors.c
+++ b/xen/drivers/cpufreq/cpufreq_misc_governors.c
@@ -120,6 +120,9 @@ static int __init cf_check cpufreq_gov_userspace_init(void)
 {
     unsigned int cpu;
 
+    if ( cpufreq_governor_internal )
+        return 0;
+
     for_each_online_cpu(cpu)
         per_cpu(cpu_set_freq, cpu) = userspace_cmdline_freq;
     register_cpu_notifier(&cpufreq_userspace_cpu_nfb);
@@ -162,6 +165,9 @@ struct cpufreq_governor cpufreq_gov_performance = {
 
 static int __init cf_check cpufreq_gov_performance_init(void)
 {
+    if ( cpufreq_governor_internal )
+        return 0;
+
     return cpufreq_register_governor(&cpufreq_gov_performance);
 }
 __initcall(cpufreq_gov_performance_init);
@@ -201,6 +207,9 @@ struct cpufreq_governor cpufreq_gov_powersave = {
 
 static int __init cf_check cpufreq_gov_powersave_init(void)
 {
+    if ( cpufreq_governor_internal )
+        return 0;
+
     return cpufreq_register_governor(&cpufreq_gov_powersave);
 }
 __initcall(cpufreq_gov_powersave_init);
diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index fbcd14d6c3..06cfc88d30 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -360,6 +360,9 @@ struct cpufreq_governor cpufreq_gov_dbs = {
 
 static int __init cf_check cpufreq_gov_dbs_init(void)
 {
+    if ( cpufreq_governor_internal )
+        return 0;
+
     return cpufreq_register_governor(&cpufreq_gov_dbs);
 }
 __initcall(cpufreq_gov_dbs_init);
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 35dcf21e8f..44fc4c58fc 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -116,6 +116,8 @@ extern struct cpufreq_governor cpufreq_gov_powersave;
 
 extern struct list_head cpufreq_governor_list;
 
+extern bool cpufreq_governor_internal;
+
 extern int cpufreq_register_governor(struct cpufreq_governor *governor);
 extern struct cpufreq_governor *__find_governor(const char *governor);
 #define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_dbs
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578790.906496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kg-0005LP-V7; Mon, 07 Aug 2023 18:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578790.906496; Mon, 07 Aug 2023 18:51:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kg-0005L9-RL; Mon, 07 Aug 2023 18:51:58 +0000
Received: by outflank-mailman (input) for mailman id 578790;
 Mon, 07 Aug 2023 18:51:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kg-0004lg-6n
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:51:58 +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 7b7406a7-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:51:57 +0200 (CEST)
Received: by mail-vk1-xa2b.google.com with SMTP id
 71dfb90a1353d-487442d5e49so485883e0c.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:51:57 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:51: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: 7b7406a7-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434315; x=1692039115;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FlP8mCjQvy+39h7njc8jPJQIVXj0clvvCBaJ9ThAR4E=;
        b=V+TOtaFMBWDWV6a/gS3v3CLDf7RhwjdgX1K18CoqfTsEPvcOrFn3pDt7C5hNL9GDSG
         JA5PdYa2aB/7c032kG86/6NMMwsvSZGgQ+1vWoGTiN071xMxA9Sb5XoGo0SDGdvllCYB
         ncZjtigopOc+aiMWWwjzbGeprk71lT+Hg14e/FtcKVJnGSUQfv7T+vqfaTQRqdWur4Pn
         O78ra6nL24x+6DigObohZJ1rPfMhh2J6o7xnV4e1ee/17niJoSi+rwDSE4SmnsKs++gj
         dyK0zGiN03mfUd9hSB4Qi6tp5ezOin3+gvI2nOhTnZ9jowsQY/oHZBGsXq2DuB0pPxI3
         JUsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434315; x=1692039115;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FlP8mCjQvy+39h7njc8jPJQIVXj0clvvCBaJ9ThAR4E=;
        b=F9sXhF8O+8oCFkP6z+eN/TXdL90ukj67XM7tkUNtm4CMYaNabvjsNgp4Q1vkx4evY8
         oatxaex2BxDo1BpbwGPrIzFiIOuQuJodrNe0oxdE4dmrDorWW7PizbAj9ZnJz8T3ix9N
         xAVqS19VzL0jQBnu1PW36cTSjJNf1RtbnzFoNJ8X8Ad4lR7zFqOR5SdqiO8cOUJLYpd7
         HQdZf2MDulyiXQYp4Ea9OL82cN7ulpsL+qUiw/aFDblM5V0Tpcjd7SwIThTqxazZnJI9
         mzlAxHSNQwH/ocgjbbtTb8LxubDQ2732JOrUG5moCucyYn44cRAsOKFX8DzZF4Kpy3o5
         pROw==
X-Gm-Message-State: AOJu0YyRumdU88gUNmWEC8Pc+4jVA1ftjPy9j2X0nCVhIp76suV1XfR1
	jSLiOoNHCBMHz4DppqjH7RgSz02HwmQ=
X-Google-Smtp-Source: AGHT+IEHaRR4nFTTcUDmMm0Tal0kvEnQkaJFXt5NiD1DFtILS4ddXasHFdUHsPghHxgzv/S21/+YBA==
X-Received: by 2002:a1f:3f03:0:b0:487:16e2:b653 with SMTP id m3-20020a1f3f03000000b0048716e2b653mr4931614vka.13.1691434315620;
        Mon, 07 Aug 2023 11:51:55 -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>,
	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 04/15] xen/sysctl: Nest cpufreq scaling options
Date: Mon,  7 Aug 2023 14:51:08 -0400
Message-ID: <20230807185119.98333-5-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a union and struct so that most of the scaling variables of struct
xen_get_cpufreq_para are within in a binary-compatible layout.  This
allows cppc_para to live in the larger union and use uint32_ts - struct
xen_cppc_para will be 10 uint32_t's.

The new scaling struct is 3 * uint32_t + 16 bytes CPUFREQ_NAME_LEN + 4 *
uint32_t for xen_ondemand = 11 uint32_t.  That means the old size is
retained, int32_t turbo_enabled doesn't move and it's binary compatible.

The out-of-context memcpy() in xc_get_cpufreq_para() now handles the
copying of the fields removed there.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v8:
Add BUILD_BUG_ON checks for structs xc_get_cpufreq_para & xen_get_cpufreq_para

v6:
Add Jan's Reviewed-by

v5:
Expand commit message
Change comment to driver/governor
---
 tools/include/xenctrl.h     | 22 ++++++++++--------
 tools/libs/ctrl/xc_pm.c     | 46 ++++++++++++++++++++++++++++++++-----
 tools/misc/xenpm.c          | 24 +++++++++----------
 xen/drivers/acpi/pmstat.c   | 27 +++++++++++-----------
 xen/include/public/sysctl.h | 22 ++++++++++--------
 5 files changed, 92 insertions(+), 49 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index faec1dd824..de03cfb117 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1926,16 +1926,20 @@ struct xc_get_cpufreq_para {
     uint32_t cpuinfo_cur_freq;
     uint32_t cpuinfo_max_freq;
     uint32_t cpuinfo_min_freq;
-    uint32_t scaling_cur_freq;
-
-    char scaling_governor[CPUFREQ_NAME_LEN];
-    uint32_t scaling_max_freq;
-    uint32_t scaling_min_freq;
-
-    /* for specific governor */
     union {
-        xc_userspace_t userspace;
-        xc_ondemand_t ondemand;
+        struct {
+            uint32_t scaling_cur_freq;
+
+            char scaling_governor[CPUFREQ_NAME_LEN];
+            uint32_t scaling_max_freq;
+            uint32_t scaling_min_freq;
+
+            /* for specific governor */
+            union {
+                xc_userspace_t userspace;
+                xc_ondemand_t ondemand;
+            } u;
+        } s;
     } u;
 
     int32_t turbo_enabled;
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index c3a9864bf7..5ec050982a 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -245,6 +245,45 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
     sys_para->freq_num = user_para->freq_num;
     sys_para->gov_num  = user_para->gov_num;
 
+    /* Sanity check struct layout */
+    BUILD_BUG_ON(sizeof(*user_para) != sizeof(*sys_para));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), cpu_num) !=
+                 offsetof(typeof(*sys_para),  cpu_num));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), freq_num) !=
+                 offsetof(typeof(*sys_para),  freq_num));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), gov_num) !=
+                 offsetof(typeof(*sys_para),  gov_num));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), affected_cpus) !=
+                 offsetof(typeof(*sys_para),  affected_cpus));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_frequencies) !=
+                 offsetof(typeof(*sys_para),  scaling_available_frequencies));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_governors) !=
+                 offsetof(typeof(*sys_para),  scaling_available_governors));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_driver) !=
+                 offsetof(typeof(*sys_para),  scaling_driver));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_cur_freq) !=
+                 offsetof(typeof(*sys_para),  cpuinfo_cur_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_max_freq) !=
+                 offsetof(typeof(*sys_para),  cpuinfo_max_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_min_freq) !=
+                 offsetof(typeof(*sys_para),  cpuinfo_min_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_cur_freq) !=
+                 offsetof(typeof(*sys_para),  u.s.scaling_cur_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_governor) !=
+                 offsetof(typeof(*sys_para),  u.s.scaling_governor));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_max_freq) !=
+                 offsetof(typeof(*sys_para),  u.s.scaling_max_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_min_freq) !=
+                 offsetof(typeof(*sys_para),  u.s.scaling_min_freq));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.userspace) !=
+                 offsetof(typeof(*sys_para),  u.s.u.userspace));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.ondemand) !=
+                 offsetof(typeof(*sys_para),  u.s.u.ondemand));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), u.cppc_para) !=
+                 offsetof(typeof(*sys_para),  u.cppc_para));
+    BUILD_BUG_ON(offsetof(typeof(*user_para), turbo_enabled) !=
+                 offsetof(typeof(*sys_para),  turbo_enabled));
+
     ret = xc_sysctl(xch, &sysctl);
     if ( ret )
     {
@@ -265,17 +304,12 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
         user_para->cpuinfo_cur_freq = sys_para->cpuinfo_cur_freq;
         user_para->cpuinfo_max_freq = sys_para->cpuinfo_max_freq;
         user_para->cpuinfo_min_freq = sys_para->cpuinfo_min_freq;
-        user_para->scaling_cur_freq = sys_para->scaling_cur_freq;
-        user_para->scaling_max_freq = sys_para->scaling_max_freq;
-        user_para->scaling_min_freq = sys_para->scaling_min_freq;
         user_para->turbo_enabled    = sys_para->turbo_enabled;
 
         memcpy(user_para->scaling_driver,
                 sys_para->scaling_driver, CPUFREQ_NAME_LEN);
-        memcpy(user_para->scaling_governor,
-                sys_para->scaling_governor, CPUFREQ_NAME_LEN);
 
-        /* copy to user_para no matter what cpufreq governor */
+        /* copy to user_para no matter what cpufreq driver/governor */
         BUILD_BUG_ON(sizeof(((struct xc_get_cpufreq_para *)0)->u) !=
 		     sizeof(((struct xen_get_cpufreq_para *)0)->u));
 
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 1bb6187e56..ee8ce5d5f2 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -730,39 +730,39 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
     printf("scaling_avail_gov    : %s\n",
            p_cpufreq->scaling_available_governors);
 
-    printf("current_governor     : %s\n", p_cpufreq->scaling_governor);
-    if ( !strncmp(p_cpufreq->scaling_governor,
+    printf("current_governor     : %s\n", p_cpufreq->u.s.scaling_governor);
+    if ( !strncmp(p_cpufreq->u.s.scaling_governor,
                   "userspace", CPUFREQ_NAME_LEN) )
     {
         printf("  userspace specific :\n");
         printf("    scaling_setspeed : %u\n",
-               p_cpufreq->u.userspace.scaling_setspeed);
+               p_cpufreq->u.s.u.userspace.scaling_setspeed);
     }
-    else if ( !strncmp(p_cpufreq->scaling_governor,
+    else if ( !strncmp(p_cpufreq->u.s.scaling_governor,
                        "ondemand", CPUFREQ_NAME_LEN) )
     {
         printf("  ondemand specific  :\n");
         printf("    sampling_rate    : max [%u] min [%u] cur [%u]\n",
-               p_cpufreq->u.ondemand.sampling_rate_max,
-               p_cpufreq->u.ondemand.sampling_rate_min,
-               p_cpufreq->u.ondemand.sampling_rate);
+               p_cpufreq->u.s.u.ondemand.sampling_rate_max,
+               p_cpufreq->u.s.u.ondemand.sampling_rate_min,
+               p_cpufreq->u.s.u.ondemand.sampling_rate);
         printf("    up_threshold     : %u\n",
-               p_cpufreq->u.ondemand.up_threshold);
+               p_cpufreq->u.s.u.ondemand.up_threshold);
     }
 
     printf("scaling_avail_freq   :");
     for ( i = 0; i < p_cpufreq->freq_num; i++ )
         if ( p_cpufreq->scaling_available_frequencies[i] ==
-             p_cpufreq->scaling_cur_freq )
+             p_cpufreq->u.s.scaling_cur_freq )
             printf(" *%d", p_cpufreq->scaling_available_frequencies[i]);
         else
             printf(" %d", p_cpufreq->scaling_available_frequencies[i]);
     printf("\n");
 
     printf("scaling frequency    : max [%u] min [%u] cur [%u]\n",
-           p_cpufreq->scaling_max_freq,
-           p_cpufreq->scaling_min_freq,
-           p_cpufreq->scaling_cur_freq);
+           p_cpufreq->u.s.scaling_max_freq,
+           p_cpufreq->u.s.scaling_min_freq,
+           p_cpufreq->u.s.scaling_cur_freq);
 
     printf("turbo mode           : %s\n",
            p_cpufreq->turbo_enabled ? "enabled" : "disabled or n/a");
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index 1bae635101..f5a9ac3f1a 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -258,37 +258,38 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
         cpufreq_driver.get ? cpufreq_driver.get(op->cpuid) : policy->cur;
     op->u.get_para.cpuinfo_max_freq = policy->cpuinfo.max_freq;
     op->u.get_para.cpuinfo_min_freq = policy->cpuinfo.min_freq;
-    op->u.get_para.scaling_cur_freq = policy->cur;
-    op->u.get_para.scaling_max_freq = policy->max;
-    op->u.get_para.scaling_min_freq = policy->min;
+
+    op->u.get_para.u.s.scaling_cur_freq = policy->cur;
+    op->u.get_para.u.s.scaling_max_freq = policy->max;
+    op->u.get_para.u.s.scaling_min_freq = policy->min;
 
     if ( cpufreq_driver.name[0] )
-        strlcpy(op->u.get_para.scaling_driver, 
+        strlcpy(op->u.get_para.scaling_driver,
             cpufreq_driver.name, CPUFREQ_NAME_LEN);
     else
         strlcpy(op->u.get_para.scaling_driver, "Unknown", CPUFREQ_NAME_LEN);
 
     if ( policy->governor->name[0] )
-        strlcpy(op->u.get_para.scaling_governor, 
+        strlcpy(op->u.get_para.u.s.scaling_governor,
             policy->governor->name, CPUFREQ_NAME_LEN);
     else
-        strlcpy(op->u.get_para.scaling_governor, "Unknown", CPUFREQ_NAME_LEN);
+        strlcpy(op->u.get_para.u.s.scaling_governor, "Unknown", CPUFREQ_NAME_LEN);
 
     /* governor specific para */
-    if ( !strncasecmp(op->u.get_para.scaling_governor,
+    if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
                       "userspace", CPUFREQ_NAME_LEN) )
     {
-        op->u.get_para.u.userspace.scaling_setspeed = policy->cur;
+        op->u.get_para.u.s.u.userspace.scaling_setspeed = policy->cur;
     }
 
-    if ( !strncasecmp(op->u.get_para.scaling_governor,
+    if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
                       "ondemand", CPUFREQ_NAME_LEN) )
     {
         ret = get_cpufreq_ondemand_para(
-            &op->u.get_para.u.ondemand.sampling_rate_max,
-            &op->u.get_para.u.ondemand.sampling_rate_min,
-            &op->u.get_para.u.ondemand.sampling_rate,
-            &op->u.get_para.u.ondemand.up_threshold);
+            &op->u.get_para.u.s.u.ondemand.sampling_rate_max,
+            &op->u.get_para.u.s.u.ondemand.sampling_rate_min,
+            &op->u.get_para.u.s.u.ondemand.sampling_rate,
+            &op->u.get_para.u.s.u.ondemand.up_threshold);
     }
     op->u.get_para.turbo_enabled = cpufreq_get_turbo_status(op->cpuid);
 
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index fa7147de47..c11c0b1a6c 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -317,16 +317,20 @@ struct xen_get_cpufreq_para {
     uint32_t cpuinfo_cur_freq;
     uint32_t cpuinfo_max_freq;
     uint32_t cpuinfo_min_freq;
-    uint32_t scaling_cur_freq;
-
-    char scaling_governor[CPUFREQ_NAME_LEN];
-    uint32_t scaling_max_freq;
-    uint32_t scaling_min_freq;
-
-    /* for specific governor */
     union {
-        struct  xen_userspace userspace;
-        struct  xen_ondemand ondemand;
+        struct {
+            uint32_t scaling_cur_freq;
+
+            char scaling_governor[CPUFREQ_NAME_LEN];
+            uint32_t scaling_max_freq;
+            uint32_t scaling_min_freq;
+
+            /* for specific governor */
+            union {
+                struct  xen_userspace userspace;
+                struct  xen_ondemand ondemand;
+            } u;
+        } s;
     } u;
 
     int32_t turbo_enabled;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578791.906506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Km-0005ku-62; Mon, 07 Aug 2023 18:52:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578791.906506; Mon, 07 Aug 2023 18:52: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 1qT5Km-0005ki-2q; Mon, 07 Aug 2023 18:52:04 +0000
Received: by outflank-mailman (input) for mailman id 578791;
 Mon, 07 Aug 2023 18:52:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kk-0004GT-Sy
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:02 +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 7dc665d4-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:01 +0200 (CEST)
Received: by mail-oo1-xc33.google.com with SMTP id
 006d021491bc7-56d263da4f2so3483467eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:01 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11: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: 7dc665d4-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434319; x=1692039119;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u2cTNXN/aOxyn6yZt8JfTgLQyqiVtZjxkKTytYxVIK0=;
        b=CnO6HWIQbR2lQMKLHNby+LFi1nw8F/zZ2Cko9PIOtiApG8kgSA1mwtVcBWlprnTTgL
         FMCvYnLECT+RicsiD1/iWZcSoHpDm8QHW5C+UV/oQnrWZJ/scSvvPBfsUc7ckuARC8aQ
         n6UD331fi7yxBFRtHLWhx6pDumCMgQmN9w35oXbUykpuSnXhchaZmqaih3lGrgtVAwTM
         163tTW8+8qyxYYtGhToNwM5C+h4dbqvxpRh3ETgHsNfyRUSz1GWK8dZUfZG3p033O+w8
         Id+yhLAPE89HvqR9TfyfqSZQ9uWw5EkBlU+MlWIveNpX2Zx9TIhUgt4xY8rm/NcKzvV2
         qOlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434319; x=1692039119;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=u2cTNXN/aOxyn6yZt8JfTgLQyqiVtZjxkKTytYxVIK0=;
        b=Ws9M7CZYvqm97F1irX/c7UMS/K9hgd+M93pVYiPB2oxNE9pbwVnJLR77JjyYNFQJ+n
         Xp3y/0XhUKDkiDfz4YDgMYWzZK344FNh9Mz6VE5zugwAlaHKC/TAljSn0ABMhbXebl2y
         TjxsBLs21Yz3azuVOe2JhqZV7OCYtyxhjIj4vlRGvIvV1kZ2Jm6EedbNlGW0Hui6yWok
         CcqoSS82P6YfBuGuj3NFlFVc1uoOINHUKxXRvWlGWll/9HqoMPb7Hk0LEz9skNLv8Yll
         qC2/17OkNvUbAfpUDxDIrrFVmEkHSeYw01nA6RTwtT8bTFQyMqYzsmSq7DLsvi1Lf55M
         /fxQ==
X-Gm-Message-State: AOJu0Yw3lkZTRvHIHz0gbQ+eK/SFqkmY9Atg+m3ywwSgpfFRd785Y77U
	nCha9OhYEEYd6B8fCrKDE9+4ysJizLo=
X-Google-Smtp-Source: AGHT+IGB8zoaL8Wl4i2TbXtiQdNma5QYJIb2GwQ3mLZpI+PHYTazgpS7dKL4y2Cd1STr/leJB1hf1A==
X-Received: by 2002:a05:6358:8820:b0:135:3e6b:8430 with SMTP id hv32-20020a056358882000b001353e6b8430mr10912871rwb.5.1691434319201;
        Mon, 07 Aug 2023 11:51:59 -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>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 05/15] pmstat&xenpm: Re-arrage for cpufreq union
Date: Mon,  7 Aug 2023 14:51:09 -0400
Message-ID: <20230807185119.98333-6-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rearrange code now that xen_sysctl_pm_op's get_para fields has the
nested union and struct.  In particular, the scaling governor
information like scaling_available_governors is inside the union, so it
is not always available.  Move those fields (op->u.get_para.u.s.u.*)
together as well as the common fields (ones outside the union like
op->u.get_para.turbo_enabled).

With that, gov_num may be 0, so bounce buffer handling needs
to be modified.

scaling_governor and other fields inside op->u.get_para.u.s.u.* won't be
used for hwp, so this will simplify the change when hwp support is
introduced and re-indents these lines all together.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
v8:
Add Anthony's Ack

v6:
Add Jan's Ack

v5:
Remove some formatting changes
Expand commit message
---
 tools/libs/ctrl/xc_pm.c   | 12 ++++++++----
 tools/misc/xenpm.c        |  3 ++-
 xen/drivers/acpi/pmstat.c | 24 ++++++++++++------------
 3 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index 5ec050982a..3e969b841f 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -221,7 +221,7 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
     {
         if ( (!user_para->affected_cpus)                    ||
              (!user_para->scaling_available_frequencies)    ||
-             (!user_para->scaling_available_governors) )
+             (user_para->gov_num && !user_para->scaling_available_governors) )
         {
             errno = EINVAL;
             return -1;
@@ -230,12 +230,15 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
             goto unlock_1;
         if ( xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
             goto unlock_2;
-        if ( xc_hypercall_bounce_pre(xch, scaling_available_governors) )
+        if ( user_para->gov_num &&
+             xc_hypercall_bounce_pre(xch, scaling_available_governors) )
             goto unlock_3;
 
         set_xen_guest_handle(sys_para->affected_cpus, affected_cpus);
         set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
-        set_xen_guest_handle(sys_para->scaling_available_governors, scaling_available_governors);
+        if ( user_para->gov_num )
+            set_xen_guest_handle(sys_para->scaling_available_governors,
+                                 scaling_available_governors);
     }
 
     sysctl.cmd = XEN_SYSCTL_pm_op;
@@ -317,7 +320,8 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
     }
 
 unlock_4:
-    xc_hypercall_bounce_post(xch, scaling_available_governors);
+    if ( user_para->gov_num )
+        xc_hypercall_bounce_post(xch, scaling_available_governors);
 unlock_3:
     xc_hypercall_bounce_post(xch, scaling_available_frequencies);
 unlock_2:
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index ee8ce5d5f2..1c474c3b59 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -811,7 +811,8 @@ static int show_cpufreq_para_by_cpuid(xc_interface *xc_handle, int cpuid)
             ret = -ENOMEM;
             goto out;
         }
-        if (!(p_cpufreq->scaling_available_governors =
+        if (p_cpufreq->gov_num &&
+            !(p_cpufreq->scaling_available_governors =
               malloc(p_cpufreq->gov_num * CPUFREQ_NAME_LEN * sizeof(char))))
         {
             fprintf(stderr,
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index f5a9ac3f1a..d67d99e62f 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -239,6 +239,18 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
     if ( ret )
         return ret;
 
+    op->u.get_para.cpuinfo_cur_freq =
+        cpufreq_driver.get ? cpufreq_driver.get(op->cpuid) : policy->cur;
+    op->u.get_para.cpuinfo_max_freq = policy->cpuinfo.max_freq;
+    op->u.get_para.cpuinfo_min_freq = policy->cpuinfo.min_freq;
+    op->u.get_para.turbo_enabled = cpufreq_get_turbo_status(op->cpuid);
+
+    if ( cpufreq_driver.name[0] )
+        strlcpy(op->u.get_para.scaling_driver,
+            cpufreq_driver.name, CPUFREQ_NAME_LEN);
+    else
+        strlcpy(op->u.get_para.scaling_driver, "Unknown", CPUFREQ_NAME_LEN);
+
     if ( !(scaling_available_governors =
            xzalloc_array(char, gov_num * CPUFREQ_NAME_LEN)) )
         return -ENOMEM;
@@ -254,21 +266,10 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
     if ( ret )
         return ret;
 
-    op->u.get_para.cpuinfo_cur_freq =
-        cpufreq_driver.get ? cpufreq_driver.get(op->cpuid) : policy->cur;
-    op->u.get_para.cpuinfo_max_freq = policy->cpuinfo.max_freq;
-    op->u.get_para.cpuinfo_min_freq = policy->cpuinfo.min_freq;
-
     op->u.get_para.u.s.scaling_cur_freq = policy->cur;
     op->u.get_para.u.s.scaling_max_freq = policy->max;
     op->u.get_para.u.s.scaling_min_freq = policy->min;
 
-    if ( cpufreq_driver.name[0] )
-        strlcpy(op->u.get_para.scaling_driver,
-            cpufreq_driver.name, CPUFREQ_NAME_LEN);
-    else
-        strlcpy(op->u.get_para.scaling_driver, "Unknown", CPUFREQ_NAME_LEN);
-
     if ( policy->governor->name[0] )
         strlcpy(op->u.get_para.u.s.scaling_governor,
             policy->governor->name, CPUFREQ_NAME_LEN);
@@ -291,7 +292,6 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
             &op->u.get_para.u.s.u.ondemand.sampling_rate,
             &op->u.get_para.u.s.u.ondemand.up_threshold);
     }
-    op->u.get_para.turbo_enabled = cpufreq_get_turbo_status(op->cpuid);
 
     return ret;
 }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578788.906475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kc-0004mj-8k; Mon, 07 Aug 2023 18:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578788.906475; Mon, 07 Aug 2023 18:51: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 1qT5Kc-0004ma-5x; Mon, 07 Aug 2023 18:51:54 +0000
Received: by outflank-mailman (input) for mailman id 578788;
 Mon, 07 Aug 2023 18: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kb-0004lg-0s
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:51:53 +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 7807c4db-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:51:51 +0200 (CEST)
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-7658752ce2fso307674185a.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:51:51 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.51.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:51: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: 7807c4db-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434310; x=1692039110;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tj29XCVclI+6QGR1ahwKo+P0a4dIzt4OqPyhJ7hCJ/k=;
        b=MlsbqQcJyX9jN9lriHM0iDQ7gR5CoydJhp8pi3OdLiGwI71DCySx/z0maO1HF61T83
         FpNuso2rFHyFlar631WV906NN1tUBjpxJ0SbSPcSNUga2jI+DOY+Ah5CI4s+gFAhwGPL
         z/3B1ChBKLay6Eo41f7+XsHNoLpxSWGhvNHMaHPi4rVFHH1qecrz5M2RK2d8MlhmIxXr
         ijsDkh+bw6EaguEg9c5GSBTQogItxt1YI9o8Ox0whZiczCH1GGSO2IMoSEDXOu5fXREc
         s3/g/VRmSwrNKl6vQ1IY/wsUTgHlgHDd+ZJpGohCjofBhf3hLo7wtRTomBXrPqXHdfQL
         ZHTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434310; x=1692039110;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tj29XCVclI+6QGR1ahwKo+P0a4dIzt4OqPyhJ7hCJ/k=;
        b=CffovdcvpOnKxFSj5L5e/F64cxvF2gHh3Byg22CJFyKKCXqki6UqNlIG0NT5qtUn4H
         FMGBC4/FcF0ToxhwnhjFOI75MPMKL4YqF7i5RxT2xC48hMH6GI6bwFHJBrDhZG2fyolu
         WUgH5gvepsxjuJKEvcds7K5gzSoAcammJRiC7PsDqAJiBJLGVHWsLHNzW7vK4Xe/5PKG
         cbx1rADnDRV1HIoI3ttwhQEg5j6vKk/VJFR7rIV6wo5MRcg0qjNy47VVfCx/glFWBmu1
         ZhOzrl+wQOhGMqt64MfBYbgRuQnR+jHI22zT2uSvhlN2v3yKwv/hG/+YllMzHF7MVqBY
         8rSw==
X-Gm-Message-State: AOJu0Yw1y/KOWYI93A2Q57sB9fNCFnjFXBbBmK4BqJrgHdms94qGi9hK
	NBmw9M3zFh15y69WO5AUAx2/2e1kmlM=
X-Google-Smtp-Source: AGHT+IGgGCC4XZiOpihmt9Ail03iR8azEz/pl5MYhM5hiOtjuCf1gBvEFIOfCMwg9A7Dcb2mI3FMoA==
X-Received: by 2002:ad4:569a:0:b0:62d:fa7c:6b95 with SMTP id bd26-20020ad4569a000000b0062dfa7c6b95mr8654681qvb.32.1691434309726;
        Mon, 07 Aug 2023 11:51:49 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 02/15] cpufreq: Add perf_freq to cpuinfo
Date: Mon,  7 Aug 2023 14:51:06 -0400
Message-ID: <20230807185119.98333-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

acpi-cpufreq scales the aperf/mperf measurements by max_freq, but HWP
needs to scale by base frequency.  Settings max_freq to base_freq
"works" but the code is not obvious, and returning values to userspace
is tricky.  Add an additonal perf_freq member which is used for scaling
aperf/mperf measurements.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v3:
Add Jan's Ack

I don't like this, but it seems the best way to re-use the common
aperf/mperf code.  The other option would be to add wrappers that then
do the acpi vs. hwp scaling.
---
 xen/arch/x86/acpi/cpufreq/cpufreq.c | 2 +-
 xen/drivers/cpufreq/utility.c       | 1 +
 xen/include/acpi/cpufreq/cpufreq.h  | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index 2e0067fbe5..6c70d04395 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -316,7 +316,7 @@ unsigned int get_measured_perf(unsigned int cpu, unsigned int flag)
     else
         perf_percent = 0;
 
-    return policy->cpuinfo.max_freq * perf_percent / 100;
+    return policy->cpuinfo.perf_freq * perf_percent / 100;
 }
 
 static unsigned int cf_check get_cur_freq_on_cpu(unsigned int cpu)
diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index 9eb7ecedcd..6831f62851 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -236,6 +236,7 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
 
     policy->min = policy->cpuinfo.min_freq = min_freq;
     policy->max = policy->cpuinfo.max_freq = max_freq;
+    policy->cpuinfo.perf_freq = max_freq;
     policy->cpuinfo.second_max_freq = second_max_freq;
 
     if (policy->min == ~0)
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 44fc4c58fc..1f1898d811 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -37,6 +37,9 @@ extern struct acpi_cpufreq_data *cpufreq_drv_data[NR_CPUS];
 struct cpufreq_cpuinfo {
     unsigned int        max_freq;
     unsigned int        second_max_freq;    /* P1 if Turbo Mode is on */
+    unsigned int        perf_freq; /* Scaling freq for aperf/mpref.
+                                      acpi-cpufreq uses max_freq, but HWP uses
+                                      base_freq.*/
     unsigned int        min_freq;
     unsigned int        transition_latency; /* in 10^(-9) s = nanoseconds */
 };
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578795.906516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kr-0006Mi-MF; Mon, 07 Aug 2023 18:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578795.906516; Mon, 07 Aug 2023 18:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kr-0006MR-Ie; Mon, 07 Aug 2023 18:52:09 +0000
Received: by outflank-mailman (input) for mailman id 578795;
 Mon, 07 Aug 2023 18:52: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kp-0004GT-Uc
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:08 +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 80641785-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:05 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-766fd5f9536so290435485a.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:05 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 80641785-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434323; x=1692039123;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gCOuYJf06lhbOIsw/F1/0m49/wq+20s+vXdSNsZE/tM=;
        b=F1ggc1h5yZl5XIQaGlZN6YoyCsqIh6cNGCed7oczn1Y9oCfoOMNiu2Oa7zMtQDmmaA
         whxc7xzm9FY7iDnduewdUvkJndU4jGG7+rMMc3p2r07N/ZE4d/grm6tkSNTsJQMiDb1C
         dnAjFCVv4RCimyeTFRUSGIzmqzGHLCEQkwsCNauLAGWjfScy+RwGoPO8PjldnpWi4OET
         s4N6TiPNIMVb2sxyK994bMgB5lKfj4YBH4m1Z1rKyMvE7T5WnrQxb6wFZYymhtYDceEp
         CYlUJdgaOtQbKDsNMKClEwAG+Q3/RfFoJnD1QNOsFzn2Os0frelmM+at/Pe5Q82Mchph
         ZuLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434323; x=1692039123;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gCOuYJf06lhbOIsw/F1/0m49/wq+20s+vXdSNsZE/tM=;
        b=C/qHG4tCJNsCdop4peokqhSOSQ5eippXbFm6GGgPmN6M+qteiFNeacz3Po5hBKVx7d
         /r3wXqyXQxJqeRfCvArku7k6zdNtZVZhuT9CmnEO2ap88FkDic9MLq9A2+1kisDKYIKl
         Ua1sGvKQl2CJMVPprAhiJIDDkEcZ+THdgp90lxLJ0FtG1BWWQH/PWUwSkjmi7pMrbnMv
         5na/FZcrjJylE7xN8z8POZvgmNullVDYq8zoIucWe6sizTtgRJykkAlsP6H3MMzWPqfh
         cXW1SbUJTWnkngosV/r8fRttUvBvuRIckxEA2GmtckQ4cOrwk6HfZMDnJXkofZoU/iAQ
         gdaQ==
X-Gm-Message-State: AOJu0Yytrfqb6Bl8b8K1x/8PC17u6tXiQYDt6CbkmuCLGJDYXr3GiEf1
	4eFmWgMHOC8AGFG4+zSYYd3I7Ji1yps=
X-Google-Smtp-Source: AGHT+IHujdpFIqe/Uv0K3AdNjlLtHUsARcy+eS9d8Vl1C+iSYTV5Z8hoxyo/QVYU0TVLguIQFurS2g==
X-Received: by 2002:a0c:be87:0:b0:636:afa1:345d with SMTP id n7-20020a0cbe87000000b00636afa1345dmr6374537qvi.17.1691434323398;
        Mon, 07 Aug 2023 11:52:03 -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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v8 06/15] cpufreq: Add Hardware P-State (HWP) driver
Date: Mon,  7 Aug 2023 14:51:10 -0400
Message-ID: <20230807185119.98333-7-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

>From the Intel SDM: "Hardware-Controlled Performance States (HWP), which
autonomously selects performance states while utilizing OS supplied
performance guidance hints."

Enable HWP to run in autonomous mode by poking the correct MSRs.  HWP is
disabled by default, and cpufreq=hwp enables it.

cpufreq= parsing is expanded to allow cpufreq=hwp;xen.  This allows
trying HWP and falling back to xen if not available.  Only hwp and xen
are supported for this fallback feature.  hdc is a sub-option under hwp
(i.e.  cpufreq=hwp,hdc=0) as is verbose.

There is no interface to configure - xen_sysctl_pm_op/xenpm will
be extended to configure in subsequent patches.  It will run with the
default values, which should be the default 0x80 (out of 0x0-0xff)
energy/performance preference.

Unscientific powertop measurement of an mostly idle, customized OpenXT
install:
A 10th gen 6-core laptop showed battery discharge drop from ~9.x to
~7.x watts.
A 8th gen 4-core laptop dropped from ~10 to ~9

Power usage depends on many factors, especially display brightness, but
this does show a power saving in balanced mode when CPU utilization is
low.

HWP isn't compatible with an external governor - it doesn't take
explicit frequency requests.  Therefore a minimal internal governor,
hwp, is also added as a placeholder.

While adding to the xen-command-line.pandoc entry, un-nest verbose from
minfreq.  They are independent.

With cpufreq=hwp,verbose, HWP prints processor capabilities that are not
used by the code, like HW_FEEDBACK.  This is done because otherwise
there isn't a convenient way to query the information.

Xen doesn't use the HWP interrupt, so it is disabled like in the Linux
pstate driver.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
We disable on cpuid_level < 0x16.  cpuid(0x16) is used to get the cpu
frequencies for calculating the APERF/MPERF.  Without it, things would
still work, but the average cpu frequency output would be wrong.

My 8th & 10th gen test systems both report:
(XEN) HWP: 1 notify: 1 act_window: 1 energy_perf: 1 pkg_level: 0 peci: 0
(XEN) HWP: Hardware Duty Cycling (HDC) supported
(XEN) HWP: HW_FEEDBACK not supported

We can't use parse_boolean() since it requires a single name=val string
and cpufreq_handle_common_option is provided two strings.  Use
parse_bool() and manual handle no-hwp.

FAST_IA32_HWP_REQUEST was removed in v2.  The check in v1 was wrong,
it's a model specific feature and the CPUID bit is only available
after enabling via the MSR.  Support was untested since I don't have
hardware with the feature.  Writes are expected to be infrequent, so
just leave it out.

---
v2:
Alphabetize headers
Re-work driver registration
name hwp_drv_data anonymous union "hw"
Drop hwp_verbose_cont
style cleanups
Condense hwp_governor switch
hwp_cpufreq_target remove .raw from hwp_req assignment
Use typed-pointer in a few functions
Pass type to xzalloc
Add HWP_ENERGY_PERF_BALANCE/IA32_ENERGY_BIAS_BALANCE defines
Add XEN_HWP_GOVERNOR define for "hwp-internal"
Capitalize CPUID and MSR defines
Change '_' to '-' for energy-perf & act-window
Read-modify-write MSRs updates
Use FAST_IA32_HWP_REQUEST_MSR_ENABLE define
constify pointer in hwp_set_misc_turbo
Add space after non-fallthrough break in governor switch
Add IA32_ENERGY_BIAS_MASK define
Check CPUID_PM_LEAK for energy bias when needed
Fail initialization with curr_req = -1
Fold hwp_read_capabilities into hwp_init_msrs
Add command line cpufreq=xen:hwp
Add command line cpufreq=xen:hdc
Use per_cpu for hwp_drv_data pointers
Move hwp_energy_perf_bias call into hwp_write_request
energy_perf 0 is valid, so hwp_energy_perf_bias cannot be skipped
Ensure we don't generate interrupts
Remove Fast Write of Uncore MSR
Initialize hwp_drv_data from curr_req
Use SPDX line instead of license text in hwp.c

v3:
Add cf_check to cpufreq_gov_hwp_init() - Marek
Print cpuid_level with %#x - Marek

v4:
Use BIT() for CPUID and MSR bits
Move __initdata after type
Add __ro_after_init to feature_*
Remove aperf/mperf comment
Move feature_hwp_energy_perf { to newline
Remove _IA32_ infix
Use unsigned int & bool for bitfields
Require energy perf pref (Remove ENERGY_PERF_BIAS support)
Initialize activity_window
Return errors on wrmsr failure
Change command line to: cpufreq=xen:hwp
Move hdc into the hwp-specific handle_options
Drop feature_hwp_energy_perf, feature_hwp_pkg_level_ctl & feature_hwp_peci
Print features before exiting when energy/performance preference isn't available
Disable HWP MSR on initialization error
Change hwp_ print macros to add prefixes
Disable HDC when hdc=0 - (opt_hdc no longer initdata)
Mark hwp governor internal and use "hwp" name
Add XEN_HWP_DRIVER
Use top-level cpufreq=hwp command line option
Document that cpufreq=hwp falls back to cpufreq=xen without hardware
Add SPDX suffix GPL-2.0-only

v5:
Use _AC() macro in MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE definition
hwp_err arg re-ordering
Use XEN_HWP_DRIVER_NAME
Use cpufreq.h for all declarations
Clear feature_hdc on failure and print a message
Use unnamed bitfields instead of reservered
Remove asm/io.h include
static DEFINE_PER_CPU_READ_MOSTLY(struct hwp_drv_data
Remove some empty newlines
Align feature_hdc assignment
Remove feature_hwp
Remove unnecesary return at end of void hwp_init_msrs()
BUILD_BUG_ON member variable
Reformat a compound if
Clear pre_cpu hwp_drv_data before xfree()
Only print HWP capabilities for CPU 0
Specify processor models in turbo comment
Use arg[1] in setup_cpufreq_option()
Remove some log messages
Drop double newline
Parse verbose as a boolean instead of the custom parsing.
Support cpufreq=hwp;xen fallback
Call hwp_available() from hwp_register_driver()
Move cpufreq_govenor_internal setting to hwp_register_driver

v6:
docs: mention verbose applies to both.
Use cpufreq=hwp;xen,verbose example with verbose at then end.
Declare induction i inside for loop
Add CPUFREQ_none
Only call cpufreq fallback for -ENODEV
Brace on newline fixes
hdc_set_pkg_hdc_ctl()/hdc_set_pm_ctl1() return boolean
Continue without hdc
Consolidate hdc if statement
Use hwp_req variable for BUILD_BUG_ON
Newline between declarations and statement
__initdata for cpufreq_xen_opts/cpufreq_xen_cnt
Only print HWP_REQUEST when differing from BSP.
Remove MSR_PM_ENABLE printing
Move hdc_set_pkg_hdc_ctl(), hdc_set_pm_ctl1(), hwp_get_cpu_speeds(), and
  hwp_init_msrs() to before their sole caller, hwp_cpufreq_cpu_init()
Fix cpufreq= parsing without options (set ret=0)
Drop stray s NULL check
Return -EINVAL from hwp_cmdline_parse()
Latch first CPU HWP request and print differences
Use strpbrk to split on ',' or ':' for arg in xen/hwp do..while
Limit hwp parsing error to just current option with %.*s and (end ?: e) - s
docs: Expand and clarify the handling of `verbose` with cpufreq fallbacks.

v7:
s/##_VA_ARGS/## args/ in macros
Add __init to hwp_handle_option
Add comment for 0 cpuid freqs
Reword intel_feature_detect comment.
Fix indent for HDC failure
Make first_run static and use for first cpu latching
hwp_set_misc_turbo() return -EACCES on error
s/end/*end/ in setup_cpufreq_option()

v8:
Annotate first_run as __read_mostly
Add Jan's Reviewed-by
---
 docs/misc/xen-command-line.pandoc     |  20 +-
 xen/arch/x86/acpi/cpufreq/Makefile    |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c   |  21 +-
 xen/arch/x86/acpi/cpufreq/hwp.c       | 524 ++++++++++++++++++++++++++
 xen/arch/x86/include/asm/cpufeature.h |  12 +-
 xen/arch/x86/include/asm/msr-index.h  |  15 +-
 xen/drivers/cpufreq/cpufreq.c         |  59 ++-
 xen/include/acpi/cpufreq/cpufreq.h    |  10 +
 xen/include/public/sysctl.h           |   2 +
 9 files changed, 649 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/hwp.c

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9d66688bd1..abff141590 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -499,7 +499,7 @@ If set, force use of the performance counters for oprofile, rather than detectin
 available support.
 
 ### cpufreq
-> `= none | {{ <boolean> | xen } [:[powersave|performance|ondemand|userspace][,<maxfreq>][,[<minfreq>][,[verbose]]]]} | dom0-kernel`
+> `= none | {{ <boolean> | xen } { [:[powersave|performance|ondemand|userspace][,[<maxfreq>]][,[<minfreq>]]] } [,verbose]} | dom0-kernel | hwp[:[<hdc>][,verbose]]`
 
 > Default: `xen`
 
@@ -510,6 +510,24 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
 * `<maxfreq>` and `<minfreq>` are integers which represent max and min processor frequencies
   respectively.
 * `verbose` option can be included as a string or also as `verbose=<integer>`
+  for `xen`.  It is a boolean for `hwp`.
+* `hwp` selects Hardware-Controlled Performance States (HWP) on supported Intel
+  hardware.  HWP is a Skylake+ feature which provides better CPU power
+  management.  The default is disabled.  If `hwp` is selected, but hardware
+  support is not available, Xen will fallback to cpufreq=xen.
+* `<hdc>` is a boolean to enable Hardware Duty Cycling (HDC).  HDC enables the
+  processor to autonomously force physical package components into idle state.
+  The default is enabled, but the option only applies when `hwp` is enabled.
+
+There is also support for `;`-separated fallback options:
+`cpufreq=hwp;xen,verbose`.  This first tries `hwp` and falls back to `xen` if
+unavailable.  Note: The `verbose` suboption is handled globally.  Setting it
+for either the primary or fallback option applies to both irrespective of where
+it is specified.
+
+Note: grub2 requires to escape or quote ';', so `"cpufreq=hwp;xen"` should be
+specified within double quotes inside grub.cfg.  Refer to the grub2
+documentation for more information.
 
 ### cpuid (x86)
 > `= List of comma separated booleans`
diff --git a/xen/arch/x86/acpi/cpufreq/Makefile b/xen/arch/x86/acpi/cpufreq/Makefile
index f75da9b9ca..db83aa6b14 100644
--- a/xen/arch/x86/acpi/cpufreq/Makefile
+++ b/xen/arch/x86/acpi/cpufreq/Makefile
@@ -1,2 +1,3 @@
 obj-y += cpufreq.o
+obj-y += hwp.o
 obj-y += powernow.o
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index f1cc473b4f..61b62c370a 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -642,7 +642,26 @@ static int __init cf_check cpufreq_driver_init(void)
         switch ( boot_cpu_data.x86_vendor )
         {
         case X86_VENDOR_INTEL:
-            ret = cpufreq_register_driver(&acpi_cpufreq_driver);
+            ret = -ENOENT;
+
+            for ( unsigned int i = 0; i < cpufreq_xen_cnt; i++ )
+            {
+                switch ( cpufreq_xen_opts[i] )
+                {
+                case CPUFREQ_xen:
+                    ret = cpufreq_register_driver(&acpi_cpufreq_driver);
+                    break;
+                case CPUFREQ_hwp:
+                    ret = hwp_register_driver();
+                    break;
+                case CPUFREQ_none:
+                    ret = 0;
+                    break;
+                }
+
+                if ( ret != -ENODEV )
+                    break;
+            }
             break;
 
         case X86_VENDOR_AMD:
diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
new file mode 100644
index 0000000000..932786ccca
--- /dev/null
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -0,0 +1,524 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * hwp.c cpufreq driver to run Intel Hardware P-States (HWP)
+ *
+ * Copyright (C) 2021 Jason Andryuk <jandryuk@gmail.com>
+ */
+
+#include <xen/cpumask.h>
+#include <xen/init.h>
+#include <xen/param.h>
+#include <xen/xmalloc.h>
+#include <asm/msr.h>
+#include <acpi/cpufreq/cpufreq.h>
+
+static bool __ro_after_init feature_hwp_notification;
+static bool __ro_after_init feature_hwp_activity_window;
+
+static bool __ro_after_init feature_hdc;
+
+static bool __ro_after_init opt_cpufreq_hdc = true;
+
+union hwp_request
+{
+    struct
+    {
+        unsigned int min_perf:8;
+        unsigned int max_perf:8;
+        unsigned int desired:8;
+        unsigned int energy_perf:8;
+        unsigned int activity_window:10;
+        bool package_control:1;
+        unsigned int :16;
+        bool activity_window_valid:1;
+        bool energy_perf_valid:1;
+        bool desired_valid:1;
+        bool max_perf_valid:1;
+        bool min_perf_valid:1;
+    };
+    uint64_t raw;
+};
+
+struct hwp_drv_data
+{
+    union
+    {
+        uint64_t hwp_caps;
+        struct
+        {
+            unsigned int highest:8;
+            unsigned int guaranteed:8;
+            unsigned int most_efficient:8;
+            unsigned int lowest:8;
+            unsigned int :32;
+        } hw;
+    };
+    union hwp_request curr_req;
+    int ret;
+    uint16_t activity_window;
+    uint8_t minimum;
+    uint8_t maximum;
+    uint8_t desired;
+    uint8_t energy_perf;
+};
+static DEFINE_PER_CPU_READ_MOSTLY(struct hwp_drv_data *, hwp_drv_data);
+
+#define hwp_err(cpu, fmt, args...) \
+    printk(XENLOG_ERR "HWP: CPU%u error: " fmt, cpu, ## args)
+#define hwp_info(fmt, args...)    printk(XENLOG_INFO "HWP: " fmt, ## args)
+#define hwp_verbose(fmt, args...)                         \
+({                                                        \
+    if ( cpufreq_verbose )                                \
+        printk(XENLOG_DEBUG "HWP: " fmt, ## args);        \
+})
+
+static int cf_check hwp_governor(struct cpufreq_policy *policy,
+                                 unsigned int event)
+{
+    int ret;
+
+    if ( policy == NULL )
+        return -EINVAL;
+
+    switch ( event )
+    {
+    case CPUFREQ_GOV_START:
+    case CPUFREQ_GOV_LIMITS:
+        ret = 0;
+        break;
+
+    case CPUFREQ_GOV_STOP:
+    default:
+        ret = -EINVAL;
+        break;
+    }
+
+    return ret;
+}
+
+static bool __init hwp_handle_option(const char *s, const char *end)
+{
+    int ret;
+
+    ret = parse_boolean("verbose", s, end);
+    if ( ret >= 0 )
+    {
+        cpufreq_verbose = ret;
+        return true;
+    }
+
+    ret = parse_boolean("hdc", s, end);
+    if ( ret >= 0 )
+    {
+        opt_cpufreq_hdc = ret;
+        return true;
+    }
+
+    return false;
+}
+
+int __init hwp_cmdline_parse(const char *s, const char *e)
+{
+    do
+    {
+        const char *end = strpbrk(s, ",;");
+
+        if ( !hwp_handle_option(s, end) )
+        {
+            printk(XENLOG_WARNING "cpufreq/hwp: option '%.*s' not recognized\n",
+                   (int)((end ?: e) - s), s);
+
+            return -EINVAL;
+        }
+
+        s = end ? ++end : end;
+    } while ( s && s < e );
+
+    return 0;
+}
+
+static struct cpufreq_governor cpufreq_gov_hwp =
+{
+    .name          = "hwp",
+    .governor      = hwp_governor,
+};
+
+static int __init cf_check cpufreq_gov_hwp_init(void)
+{
+    if ( !cpufreq_governor_internal )
+        return 0;
+
+    return cpufreq_register_governor(&cpufreq_gov_hwp);
+}
+__initcall(cpufreq_gov_hwp_init);
+
+static bool __init hwp_available(void)
+{
+    unsigned int eax;
+
+    if ( boot_cpu_data.cpuid_level < CPUID_PM_LEAF )
+    {
+        hwp_verbose("cpuid_level (%#x) lacks HWP support\n",
+                    boot_cpu_data.cpuid_level);
+
+        return false;
+    }
+
+    if ( boot_cpu_data.cpuid_level < 0x16 )
+    {
+        hwp_info("HWP disabled: cpuid_level %#x < 0x16 lacks CPU freq info\n",
+                 boot_cpu_data.cpuid_level);
+
+        return false;
+    }
+
+    eax = cpuid_eax(CPUID_PM_LEAF);
+
+    hwp_verbose("%d notify: %d act-window: %d energy-perf: %d pkg-level: %d peci: %d\n",
+                !!(eax & CPUID6_EAX_HWP),
+                !!(eax & CPUID6_EAX_HWP_NOTIFICATION),
+                !!(eax & CPUID6_EAX_HWP_ACTIVITY_WINDOW),
+                !!(eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE),
+                !!(eax & CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST),
+                !!(eax & CPUID6_EAX_HWP_PECI));
+
+    if ( !(eax & CPUID6_EAX_HWP) )
+        return false;
+
+    if ( !(eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE) )
+    {
+        hwp_verbose("disabled: No energy/performance preference available");
+
+        return false;
+    }
+
+    feature_hwp_notification    = eax & CPUID6_EAX_HWP_NOTIFICATION;
+    feature_hwp_activity_window = eax & CPUID6_EAX_HWP_ACTIVITY_WINDOW;
+    feature_hdc                 = eax & CPUID6_EAX_HDC;
+
+    hwp_verbose("Hardware Duty Cycling (HDC) %ssupported%s\n",
+                feature_hdc ? "" : "not ",
+                feature_hdc ? opt_cpufreq_hdc ? ", enabled" : ", disabled"
+                            : "");
+
+    hwp_verbose("HW_FEEDBACK %ssupported\n",
+                (eax & CPUID6_EAX_HW_FEEDBACK) ? "" : "not ");
+
+    hwp_info("Using HWP for cpufreq\n");
+
+    return true;
+}
+
+static int cf_check hwp_cpufreq_verify(struct cpufreq_policy *policy)
+{
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, policy->cpu);
+
+    if ( !feature_hwp_activity_window && data->activity_window )
+    {
+        hwp_verbose("HWP activity window not supported\n");
+
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static void cf_check hwp_write_request(void *info)
+{
+    const struct cpufreq_policy *policy = info;
+    struct hwp_drv_data *data = this_cpu(hwp_drv_data);
+    union hwp_request hwp_req = data->curr_req;
+
+    data->ret = 0;
+
+    BUILD_BUG_ON(sizeof(hwp_req) != sizeof(hwp_req.raw));
+    if ( wrmsr_safe(MSR_HWP_REQUEST, hwp_req.raw) )
+    {
+        hwp_verbose("CPU%u: error wrmsr_safe(MSR_HWP_REQUEST, %lx)\n",
+                    policy->cpu, hwp_req.raw);
+        rdmsr_safe(MSR_HWP_REQUEST, data->curr_req.raw);
+        data->ret = -EINVAL;
+    }
+}
+
+static int cf_check hwp_cpufreq_target(struct cpufreq_policy *policy,
+                                       unsigned int target_freq,
+                                       unsigned int relation)
+{
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+    /* Zero everything to ensure reserved bits are zero... */
+    union hwp_request hwp_req = { .raw = 0 };
+
+    /* .. and update from there */
+    hwp_req.min_perf = data->minimum;
+    hwp_req.max_perf = data->maximum;
+    hwp_req.desired = data->desired;
+    hwp_req.energy_perf = data->energy_perf;
+    if ( feature_hwp_activity_window )
+        hwp_req.activity_window = data->activity_window;
+
+    if ( hwp_req.raw == data->curr_req.raw )
+        return 0;
+
+    data->curr_req = hwp_req;
+
+    on_selected_cpus(cpumask_of(cpu), hwp_write_request, policy, 1);
+
+    return data->ret;
+}
+
+static bool hdc_set_pkg_hdc_ctl(unsigned int cpu, bool val)
+{
+    uint64_t msr;
+
+    if ( rdmsr_safe(MSR_PKG_HDC_CTL, msr) )
+    {
+        hwp_err(cpu, "rdmsr_safe(MSR_PKG_HDC_CTL)\n");
+        return false;
+    }
+
+    if ( val )
+        msr |= PKG_HDC_CTL_HDC_PKG_ENABLE;
+    else
+        msr &= ~PKG_HDC_CTL_HDC_PKG_ENABLE;
+
+    if ( wrmsr_safe(MSR_PKG_HDC_CTL, msr) )
+    {
+        hwp_err(cpu, "wrmsr_safe(MSR_PKG_HDC_CTL): %016lx\n", msr);
+        return false;
+    }
+
+    return true;
+}
+
+static bool hdc_set_pm_ctl1(unsigned int cpu, bool val)
+{
+    uint64_t msr;
+
+    if ( rdmsr_safe(MSR_PM_CTL1, msr) )
+    {
+        hwp_err(cpu, "rdmsr_safe(MSR_PM_CTL1)\n");
+        return false;
+    }
+
+    if ( val )
+        msr |= PM_CTL1_HDC_ALLOW_BLOCK;
+    else
+        msr &= ~PM_CTL1_HDC_ALLOW_BLOCK;
+
+    if ( wrmsr_safe(MSR_PM_CTL1, msr) )
+    {
+        hwp_err(cpu, "wrmsr_safe(MSR_PM_CTL1): %016lx\n", msr);
+        return false;
+    }
+
+    return true;
+}
+
+static void hwp_get_cpu_speeds(struct cpufreq_policy *policy)
+{
+    uint32_t base_khz, max_khz, bus_khz, edx;
+
+    cpuid(0x16, &base_khz, &max_khz, &bus_khz, &edx);
+
+    /*
+     * Zero values are acceptable - they are not used for calculations
+     * and only returned to userspace.
+     */
+    policy->cpuinfo.perf_freq = base_khz * 1000;
+    policy->cpuinfo.min_freq = base_khz * 1000;
+    policy->cpuinfo.max_freq = max_khz * 1000;
+    policy->min = base_khz * 1000;
+    policy->max = max_khz * 1000;
+    policy->cur = 0;
+}
+
+static void cf_check hwp_init_msrs(void *info)
+{
+    struct cpufreq_policy *policy = info;
+    struct hwp_drv_data *data = this_cpu(hwp_drv_data);
+    uint64_t val;
+
+    /*
+     * Package level MSR, but we don't have a good idea of packages here, so
+     * just do it everytime.
+     */
+    if ( rdmsr_safe(MSR_PM_ENABLE, val) )
+    {
+        hwp_err(policy->cpu, "rdmsr_safe(MSR_PM_ENABLE)\n");
+        data->curr_req.raw = -1;
+        return;
+    }
+
+    /* Ensure we don't generate interrupts */
+    if ( feature_hwp_notification )
+        wrmsr_safe(MSR_HWP_INTERRUPT, 0);
+
+    if ( !(val & PM_ENABLE_HWP_ENABLE) )
+    {
+        val |= PM_ENABLE_HWP_ENABLE;
+        if ( wrmsr_safe(MSR_PM_ENABLE, val) )
+        {
+            hwp_err(policy->cpu, "wrmsr_safe(MSR_PM_ENABLE, %lx)\n", val);
+            data->curr_req.raw = -1;
+            return;
+        }
+    }
+
+    if ( rdmsr_safe(MSR_HWP_CAPABILITIES, data->hwp_caps) )
+    {
+        hwp_err(policy->cpu, "rdmsr_safe(MSR_HWP_CAPABILITIES)\n");
+        goto error;
+    }
+
+    if ( rdmsr_safe(MSR_HWP_REQUEST, data->curr_req.raw) )
+    {
+        hwp_err(policy->cpu, "rdmsr_safe(MSR_HWP_REQUEST)\n");
+        goto error;
+    }
+
+    /* Check for turbo support. */
+    intel_feature_detect(policy);
+
+    if ( feature_hdc &&
+         (!hdc_set_pkg_hdc_ctl(policy->cpu, opt_cpufreq_hdc) ||
+          !hdc_set_pm_ctl1(policy->cpu, opt_cpufreq_hdc)) )
+    {
+        hwp_err(policy->cpu, "Disabling HDC support\n");
+        feature_hdc = false;
+    }
+
+    hwp_get_cpu_speeds(policy);
+
+    return;
+
+ error:
+    data->curr_req.raw = -1;
+    val &= ~PM_ENABLE_HWP_ENABLE;
+    if ( wrmsr_safe(MSR_PM_ENABLE, val) )
+        hwp_err(policy->cpu, "wrmsr_safe(MSR_PM_ENABLE, %lx)\n", val);
+}
+
+static int cf_check hwp_cpufreq_cpu_init(struct cpufreq_policy *policy)
+{
+    static bool __read_mostly first_run = true;
+    static union hwp_request initial_req;
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data;
+
+    data = xzalloc(struct hwp_drv_data);
+    if ( !data )
+        return -ENOMEM;
+
+    policy->governor = &cpufreq_gov_hwp;
+
+    per_cpu(hwp_drv_data, cpu) = data;
+
+    on_selected_cpus(cpumask_of(cpu), hwp_init_msrs, policy, 1);
+
+    if ( data->curr_req.raw == -1 )
+    {
+        hwp_err(cpu, "Could not initialize HWP properly\n");
+        per_cpu(hwp_drv_data, cpu) = NULL;
+        xfree(data);
+        return -ENODEV;
+    }
+
+    data->minimum = data->curr_req.min_perf;
+    data->maximum = data->curr_req.max_perf;
+    data->desired = data->curr_req.desired;
+    data->energy_perf = data->curr_req.energy_perf;
+    data->activity_window = data->curr_req.activity_window;
+
+    if ( first_run )
+    {
+        hwp_verbose("CPU%u: HWP_CAPABILITIES: %016lx\n", cpu, data->hwp_caps);
+        initial_req = data->curr_req;
+    }
+
+    if ( first_run || data->curr_req.raw != initial_req.raw )
+    {
+        hwp_verbose("CPU%u: rdmsr HWP_REQUEST %016lx\n", cpu,
+                    data->curr_req.raw);
+        first_run = false;
+    }
+
+    return 0;
+}
+
+static int cf_check hwp_cpufreq_cpu_exit(struct cpufreq_policy *policy)
+{
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, policy->cpu);
+
+    per_cpu(hwp_drv_data, policy->cpu) = NULL;
+    xfree(data);
+
+    return 0;
+}
+
+/*
+ * The SDM reads like turbo should be disabled with MSR_IA32_PERF_CTL and
+ * PERF_CTL_TURBO_DISENGAGE, but that does not seem to actually work, at least
+ * with testing on i7-10810U and i7-8550U.  MSR_MISC_ENABLE and
+ * MISC_ENABLE_TURBO_DISENGAGE is what Linux uses and seems to work.
+ */
+static void cf_check hwp_set_misc_turbo(void *info)
+{
+    const struct cpufreq_policy *policy = info;
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, policy->cpu);
+    uint64_t msr;
+
+    data->ret = 0;
+
+    if ( rdmsr_safe(MSR_IA32_MISC_ENABLE, msr) )
+    {
+        hwp_verbose("CPU%u: error rdmsr_safe(MSR_IA32_MISC_ENABLE)\n",
+                    policy->cpu);
+        data->ret = -EACCES;
+
+        return;
+    }
+
+    if ( policy->turbo == CPUFREQ_TURBO_ENABLED )
+        msr &= ~MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE;
+    else
+        msr |= MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE;
+
+    if ( wrmsr_safe(MSR_IA32_MISC_ENABLE, msr) )
+    {
+        hwp_verbose("CPU%u: error wrmsr_safe(MSR_IA32_MISC_ENABLE): %016lx\n",
+                    policy->cpu, msr);
+        data->ret = -EACCES;
+    }
+}
+
+static int cf_check hwp_cpufreq_update(int cpuid, struct cpufreq_policy *policy)
+{
+    on_selected_cpus(cpumask_of(cpuid), hwp_set_misc_turbo, policy, 1);
+
+    return per_cpu(hwp_drv_data, cpuid)->ret;
+}
+
+static const struct cpufreq_driver __initconstrel hwp_cpufreq_driver =
+{
+    .name   = XEN_HWP_DRIVER_NAME,
+    .verify = hwp_cpufreq_verify,
+    .target = hwp_cpufreq_target,
+    .init   = hwp_cpufreq_cpu_init,
+    .exit   = hwp_cpufreq_cpu_exit,
+    .update = hwp_cpufreq_update,
+};
+
+int __init hwp_register_driver(void)
+{
+    int ret;
+
+    if ( !hwp_available() )
+        return -ENODEV;
+
+    ret = cpufreq_register_driver(&hwp_cpufreq_driver);
+    cpufreq_governor_internal = (ret == 0);
+
+    return ret;
+}
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 64e1dad225..93466441f5 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -52,8 +52,16 @@ static inline bool boot_cpu_has(unsigned int feat)
     return cpu_has(&boot_cpu_data, feat);
 }
 
-#define CPUID_PM_LEAF                    6
-#define CPUID6_ECX_APERFMPERF_CAPABILITY 0x1
+#define CPUID_PM_LEAF                                6
+#define CPUID6_EAX_HWP                               BIT(7, U)
+#define CPUID6_EAX_HWP_NOTIFICATION                  BIT(8, U)
+#define CPUID6_EAX_HWP_ACTIVITY_WINDOW               BIT(9, U)
+#define CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE BIT(10, U)
+#define CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST         BIT(11, U)
+#define CPUID6_EAX_HDC                               BIT(13, U)
+#define CPUID6_EAX_HWP_PECI                          BIT(16, U)
+#define CPUID6_EAX_HW_FEEDBACK                       BIT(19, U)
+#define CPUID6_ECX_APERFMPERF_CAPABILITY             BIT(0, U)
 
 /* CPUID level 0x00000001.edx */
 #define cpu_has_fpu             1
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 4d41c171d2..2705982d93 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -151,6 +151,13 @@
 
 #define MSR_PKRS                            0x000006e1
 
+#define MSR_PM_ENABLE                       0x00000770
+#define  PM_ENABLE_HWP_ENABLE               BIT(0, ULL)
+
+#define MSR_HWP_CAPABILITIES                0x00000771
+#define MSR_HWP_INTERRUPT                   0x00000773
+#define MSR_HWP_REQUEST                     0x00000774
+
 #define MSR_X2APIC_FIRST                    0x00000800
 #define MSR_X2APIC_LAST                     0x000008ff
 
@@ -165,6 +172,11 @@
 #define  PASID_PASID_MASK                   0x000fffff
 #define  PASID_VALID                        (_AC(1, ULL) << 31)
 
+#define MSR_PKG_HDC_CTL                     0x00000db0
+#define  PKG_HDC_CTL_HDC_PKG_ENABLE         BIT(0, ULL)
+#define MSR_PM_CTL1                         0x00000db1
+#define  PM_CTL1_HDC_ALLOW_BLOCK            BIT(0, ULL)
+
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
@@ -468,7 +480,8 @@
 #define MSR_IA32_MISC_ENABLE_MONITOR_ENABLE (1<<18)
 #define MSR_IA32_MISC_ENABLE_LIMIT_CPUID  (1<<22)
 #define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1<<23)
-#define MSR_IA32_MISC_ENABLE_XD_DISABLE   (_AC(1, ULL) << 34)
+#define MSR_IA32_MISC_ENABLE_XD_DISABLE      (_AC(1, ULL) << 34)
+#define MSR_IA32_MISC_ENABLE_TURBO_DISENGAGE (_AC(1, ULL) << 38)
 
 #define MSR_IA32_TSC_DEADLINE		0x000006E0
 #define MSR_IA32_ENERGY_PERF_BIAS	0x000001b0
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 67a58d409b..81bda5df23 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -63,12 +63,19 @@ LIST_HEAD_READ_MOSTLY(cpufreq_governor_list);
 /* set xen as default cpufreq */
 enum cpufreq_controller cpufreq_controller = FREQCTL_xen;
 
-static int __init cpufreq_cmdline_parse(const char *s);
+enum cpufreq_xen_opt __initdata cpufreq_xen_opts[2] = { CPUFREQ_xen,
+                                                        CPUFREQ_none };
+unsigned int __initdata cpufreq_xen_cnt = 1;
+
+static int __init cpufreq_cmdline_parse(const char *s, const char *e);
 
 static int __init cf_check setup_cpufreq_option(const char *str)
 {
-    const char *arg = strpbrk(str, ",:");
+    const char *arg = strpbrk(str, ",:;");
     int choice;
+    int ret = -EINVAL;
+
+    cpufreq_xen_cnt = 0;
 
     if ( !arg )
         arg = strchr(str, '\0');
@@ -89,15 +96,45 @@ static int __init cf_check setup_cpufreq_option(const char *str)
         return 0;
     }
 
-    if ( choice > 0 || !cmdline_strcmp(str, "xen") )
+    do
     {
-        xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
-        cpufreq_controller = FREQCTL_xen;
-        if ( *arg && *(arg + 1) )
-            return cpufreq_cmdline_parse(arg + 1);
-    }
+        const char *end = strchr(str, ';');
+
+        if ( end == NULL )
+            end = strchr(str, '\0');
+
+        arg = strpbrk(str, ",:");
+        if ( !arg || arg > end )
+            arg = strchr(str, '\0');
+
+        if ( cpufreq_xen_cnt == ARRAY_SIZE(cpufreq_xen_opts) )
+            return -E2BIG;
+
+        if ( choice > 0 || !cmdline_strcmp(str, "xen") )
+        {
+            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
+            cpufreq_controller = FREQCTL_xen;
+            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_xen;
+            ret = 0;
+            if ( arg[0] && arg[1] )
+                ret = cpufreq_cmdline_parse(arg + 1, end);
+        }
+        else if ( choice < 0 && !cmdline_strcmp(str, "hwp") )
+        {
+            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
+            cpufreq_controller = FREQCTL_xen;
+            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
+            ret = 0;
+            if ( arg[0] && arg[1] )
+                ret = hwp_cmdline_parse(arg + 1, end);
+        }
+        else
+            ret = -EINVAL;
+
+        str = *end ? ++end : end;
+    } while ( choice < 0 && ret == 0 && *str );
 
-    return (choice < 0) ? -EINVAL : 0;
+    return (choice < 0) ? ret : 0;
 }
 custom_param("cpufreq", setup_cpufreq_option);
 
@@ -576,7 +613,7 @@ static int __init cpufreq_handle_common_option(const char *name, const char *val
     return 0;
 }
 
-static int __init cpufreq_cmdline_parse(const char *s)
+static int __init cpufreq_cmdline_parse(const char *s, const char *e)
 {
     static struct cpufreq_governor *__initdata cpufreq_governors[] =
     {
@@ -592,6 +629,8 @@ static int __init cpufreq_cmdline_parse(const char *s)
     int rc = 0;
 
     strlcpy(buf, s, sizeof(buf));
+    if (e - s < sizeof(buf))
+        buf[e - s] = '\0';
     do {
         char *val, *end = strchr(str, ',');
         unsigned int i;
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 482ea5b0de..cfe975814e 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -24,6 +24,13 @@ DECLARE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
 
 extern bool_t cpufreq_verbose;
 
+enum cpufreq_xen_opt {
+    CPUFREQ_none,
+    CPUFREQ_xen,
+    CPUFREQ_hwp,
+};
+extern enum cpufreq_xen_opt cpufreq_xen_opts[2];
+extern unsigned int cpufreq_xen_cnt;
 struct cpufreq_governor;
 
 struct acpi_cpufreq_data {
@@ -245,4 +252,7 @@ void cpufreq_dbs_timer_resume(void);
 
 void intel_feature_detect(struct cpufreq_policy *policy);
 
+int hwp_cmdline_parse(const char *s, const char *e);
+int hwp_register_driver(void);
+
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index c11c0b1a6c..5a30b16fcf 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -296,6 +296,8 @@ struct xen_ondemand {
     uint32_t up_threshold;
 };
 
+#define XEN_HWP_DRIVER_NAME "hwp"
+
 /*
  * cpufreq para name of this structure named
  * same as sysfs file name of native linux
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578797.906522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Ks-0006V1-80; Mon, 07 Aug 2023 18:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578797.906522; Mon, 07 Aug 2023 18: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 1qT5Ks-0006TE-1r; Mon, 07 Aug 2023 18:52:10 +0000
Received: by outflank-mailman (input) for mailman id 578797;
 Mon, 07 Aug 2023 18: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Kr-0004lg-8b
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:09 +0000
Received: from mail-ua1-x936.google.com (mail-ua1-x936.google.com
 [2607:f8b0:4864:20::936])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 820632c1-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:52:08 +0200 (CEST)
Received: by mail-ua1-x936.google.com with SMTP id
 a1e0cc1a2514c-79969c14964so1276083241.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:08 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 820632c1-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434327; x=1692039127;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E7GMVxKHH5c0AlSKBRhOVtwdBCMeAlRn7S7x06padXs=;
        b=XCmwnixDv+P8jXyZGp6Ful597i+goriPcgErFJPTMtTgxeZqY/Q0Ajs9ohD+8PP82e
         UeUzo3oLKWCHlTsKFS2PMjJ/34ywunH+ptgjru3/jDG2mZCQO3Wd5jT6KuZ6u4Qd4Huq
         flh8y1KxcEzQPCm5x6TKp/TU9mqqGYrbCC+LMhDqwn0DipM7uNdUzPsmohFbv4uLHjPM
         lTGLMVvCWDYtJz5M+Wg4kOtZ3hfmJtdEmCK2AMjFHqDhNGadg1M15tVm4OjWHYIjCqCO
         dtZFc7RxEhF93+nG0lgCDqH83W5Ff6dOPPUrGJIYOA80vfR16wGlBbNCJZ12iGNaTfFg
         BAwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434327; x=1692039127;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=E7GMVxKHH5c0AlSKBRhOVtwdBCMeAlRn7S7x06padXs=;
        b=Pfxq1OqRLd00VtPjpOupPacJ3EvercF0mtfdo+YLz+Nm34ldO7JBE9b3yRwcqsEbdx
         H9ttQB4maFi5H0TtaYbXR49WZXAD9E0QDfAmVIsgIpy2PW3KN8MDLgwKjGUCrgD6GVnI
         mW341C2+xqA/VRiIYm5zpZYpsz8DOe/xtMWntEXDwaYQnw4tMSQLjYyQnNhaDCEy98of
         ODOjV1TaCyLWhQl/frfz3pxQuzuGqnTT7onQwqjJ242erw0Gr86EiO+1ap9Udy1njJjX
         UuZLvxer8MbYRkBRd3zNagc9nFkXia+tn0KZW9tZa9CychpfzfSxueDEmnPBJcxiovFh
         BisQ==
X-Gm-Message-State: AOJu0YzfYANs2DjuDc9gAZ/1YjNvbxpM6iX11NksJLy2NxEgMoJz8oNB
	+hy11m9zPkCiGAZ4jRkOTcK8bWTuVCU=
X-Google-Smtp-Source: AGHT+IGjSLSy/mXFwup5H0qfBTeFN88TKLtyXudtjOyP2AxytZ1td1acQxQ2Ypp14HMXA6Y+BZ2fYQ==
X-Received: by 2002:a67:bd01:0:b0:443:65cb:1364 with SMTP id y1-20020a67bd01000000b0044365cb1364mr4946213vsq.6.1691434326778;
        Mon, 07 Aug 2023 11:52:06 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 07/15] xen/x86: Tweak PDC bits when using HWP
Date: Mon,  7 Aug 2023 14:51:11 -0400
Message-ID: <20230807185119.98333-8-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Qubes testing of HWP support had a report of a laptop, Thinkpad X1
Carbon Gen 4 with a Skylake processor, locking up during boot when HWP
is enabled.  A user found a kernel bug that seems to be the same issue:
https://bugzilla.kernel.org/show_bug.cgi?id=110941.

That bug was fixed by Linux commit a21211672c9a ("ACPI / processor:
Request native thermal interrupt handling via _OSC").  The tl;dr is SMM
crashes when it receives thermal interrupts, so Linux calls the ACPI
_OSC method to take over interrupt handling.

The Linux fix looks at the CPU features to decide whether or not to call
_OSC with bit 12 set to take over native interrupt handling.  Xen needs
some way to communicate HWP to Dom0 for making an equivalent call.

Xen exposes modified PDC bits via the platform_op set_pminfo hypercall.
Expand that to set bit 12 when HWP is present and in use.

Any generated interrupt would be handled by Xen's thermal drive, which
clears the status.

Bit 12 isn't named in the linux header and is open coded in Linux's
usage.  Name it ACPI_PDC_CPPC_NATIVE_INTR.

This will need a corresponding linux patch to pick up and apply the PDC
bits.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v5:
Minor fixup for feature_hwp removal
Use cpurfreq.h for declaration

v4:
Added __ro_after_init
s/ACPI_PDC_CPPC_NTV_INT/ACPI_PDC_CPPC_NATIVE_INTR/
Remove _IA32_
Fixup for opt_cpufreq_hwp removal
Add Jan Reviewed-by

v3:
New
---
 xen/arch/x86/acpi/cpufreq/hwp.c      | 9 +++++++++
 xen/arch/x86/acpi/lib.c              | 5 +++++
 xen/arch/x86/cpu/mcheck/mce_intel.c  | 6 ++++++
 xen/arch/x86/include/asm/msr-index.h | 1 +
 xen/include/acpi/cpufreq/cpufreq.h   | 1 +
 xen/include/acpi/pdc_intel.h         | 1 +
 6 files changed, 23 insertions(+)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 932786ccca..9be622f492 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -12,6 +12,8 @@
 #include <asm/msr.h>
 #include <acpi/cpufreq/cpufreq.h>
 
+static bool __ro_after_init hwp_in_use;
+
 static bool __ro_after_init feature_hwp_notification;
 static bool __ro_after_init feature_hwp_activity_window;
 
@@ -152,6 +154,11 @@ static int __init cf_check cpufreq_gov_hwp_init(void)
 }
 __initcall(cpufreq_gov_hwp_init);
 
+bool hwp_active(void)
+{
+    return hwp_in_use;
+}
+
 static bool __init hwp_available(void)
 {
     unsigned int eax;
@@ -204,6 +211,8 @@ static bool __init hwp_available(void)
     hwp_verbose("HW_FEEDBACK %ssupported\n",
                 (eax & CPUID6_EAX_HW_FEEDBACK) ? "" : "not ");
 
+    hwp_in_use = true;
+
     hwp_info("Using HWP for cpufreq\n");
 
     return true;
diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index 43831b92d1..51cb082ca0 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -26,6 +26,8 @@
 #include <asm/fixmap.h>
 #include <asm/mwait.h>
 
+#include <acpi/cpufreq/cpufreq.h>
+
 u32 __read_mostly acpi_smi_cmd;
 u8 __read_mostly acpi_enable_value;
 u8 __read_mostly acpi_disable_value;
@@ -140,5 +142,8 @@ int arch_acpi_set_pdc_bits(u32 acpi_id, u32 *pdc, u32 mask)
 	    !(ecx & CPUID5_ECX_INTERRUPT_BREAK))
 		pdc[2] &= ~(ACPI_PDC_C_C1_FFH | ACPI_PDC_C_C2C3_FFH);
 
+	if (hwp_active())
+		pdc[2] |= ACPI_PDC_CPPC_NATIVE_INTR;
+
 	return 0;
 }
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 2f23f02923..4045c6591d 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -15,6 +15,9 @@
 #include <asm/p2m.h>
 #include <asm/mce.h>
 #include <asm/apic.h>
+
+#include <acpi/cpufreq/cpufreq.h>
+
 #include "mce.h"
 #include "x86_mca.h"
 #include "barrier.h"
@@ -64,6 +67,9 @@ static void cf_check intel_thermal_interrupt(struct cpu_user_regs *regs)
 
     ack_APIC_irq();
 
+    if ( hwp_active() )
+        wrmsr_safe(MSR_HWP_STATUS, 0);
+
     if ( NOW() < per_cpu(next, cpu) )
         return;
 
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 2705982d93..185d3c491e 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -157,6 +157,7 @@
 #define MSR_HWP_CAPABILITIES                0x00000771
 #define MSR_HWP_INTERRUPT                   0x00000773
 #define MSR_HWP_REQUEST                     0x00000774
+#define MSR_HWP_STATUS                      0x00000777
 
 #define MSR_X2APIC_FIRST                    0x00000800
 #define MSR_X2APIC_LAST                     0x000008ff
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index cfe975814e..6737798e25 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -254,5 +254,6 @@ void intel_feature_detect(struct cpufreq_policy *policy);
 
 int hwp_cmdline_parse(const char *s, const char *e);
 int hwp_register_driver(void);
+bool hwp_active(void);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/acpi/pdc_intel.h b/xen/include/acpi/pdc_intel.h
index 4fb719d6f5..abaa098b51 100644
--- a/xen/include/acpi/pdc_intel.h
+++ b/xen/include/acpi/pdc_intel.h
@@ -17,6 +17,7 @@
 #define ACPI_PDC_C_C1_FFH		(0x0100)
 #define ACPI_PDC_C_C2C3_FFH		(0x0200)
 #define ACPI_PDC_SMP_P_HWCOORD		(0x0800)
+#define ACPI_PDC_CPPC_NATIVE_INTR	(0x1000)
 
 #define ACPI_PDC_EST_CAPABILITY_SMP	(ACPI_PDC_SMP_C1PT | \
 					 ACPI_PDC_C_C1_HALT | \
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578798.906535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kt-0006wZ-Hs; Mon, 07 Aug 2023 18:52:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578798.906535; Mon, 07 Aug 2023 18: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 1qT5Kt-0006vR-DJ; Mon, 07 Aug 2023 18:52:11 +0000
Received: by outflank-mailman (input) for mailman id 578798;
 Mon, 07 Aug 2023 18:52: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Ks-0004lg-E1
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:10 +0000
Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com
 [2607:f8b0:4864:20::f2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82dba3c6-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:52:09 +0200 (CEST)
Received: by mail-qv1-xf2f.google.com with SMTP id
 6a1803df08f44-63cf69f3c22so34293286d6.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:09 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82dba3c6-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434328; x=1692039128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fPqtnsHma2CfZS2wC9zaYpit9POpmY/2Wfh8kuw75z0=;
        b=ppenxGwClsnUAAp2/zqhU27AyvhhEJKfOPrRPJy0jaGfC0ksjWfsyADLYijCgL/r3J
         84dBKQ3MElDb1Z+cxwaXMZNQVldi8HR3FTnht9+REg13Lol6xbf8sDINWxhfu/vCY3IT
         e/1eLY1Ef0I1ZeMOJLBNTTbd2Lhg5GevI+BtGz0BOyWjrOaaLlKn6gQpZA3ZucBiOhPb
         o47GLfaMPUxTun4GTbW9Xh9vsTONXYwr8h0aCZKnv08ENFNjt5PaSPctEOA6iOrRiw6R
         Lt69seNe7f5DgzeqmaHUcnDhP6fTSk2zofcHlcgBQz2Xxe/fiO5nPETl3NKb3XxEGXJM
         RTow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434328; x=1692039128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fPqtnsHma2CfZS2wC9zaYpit9POpmY/2Wfh8kuw75z0=;
        b=UabJVbCVFGnq8GcERK5ppwxVlX0T1SazTfxubLudsGUgh/h59N49Guwv2sQeTHj/jA
         RuyDx+3ufQylU+lz+1X2lCjWnMcknDf7t8u3u72n74qwTIRTvN37/IIkztsD9H685H8d
         w9HIwIw+OUPr1MAj7UznEA6Z84Pb90awd+YdMVmWhhIGgOlIQow/f0+2lD7QAwlW6LTU
         RsJr5U/6ZcEL1pzcSIkfMh1NZMgHr0s1mP1SMUI/ofE9prlrglFQCy/dsS47jkoQ9s+O
         EtTfnbqgfpuHNx1pYrQ1oaevvGEjCWSD5tRT4SNWRKqZHuD670cmM2GVolsWjKxTW9RA
         4aXQ==
X-Gm-Message-State: AOJu0YwU/lXJx1MTlAcOMV7YjJdEhq35TU61nZQmyv0WQDvstuau8Jtp
	azRZGQEpjIsClNKjT82I83G9P1Jc9V0=
X-Google-Smtp-Source: AGHT+IEHQ/4/PfxRMgbqK/pM4ZITYqRK+XG5OfVqUINfsLCIhNx8quJd7Iw7hHNL/NJSMP+fVE0CZg==
X-Received: by 2002:a0c:ea4f:0:b0:63d:1573:c292 with SMTP id u15-20020a0cea4f000000b0063d1573c292mr9336327qvp.65.1691434328113;
        Mon, 07 Aug 2023 11:52:08 -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>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 08/15] xenpm: Change get-cpufreq-para output for hwp
Date: Mon,  7 Aug 2023 14:51:12 -0400
Message-ID: <20230807185119.98333-9-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When using HWP, some of the returned data is not applicable.  In that
case, we should just omit it to avoid confusing the user.  So switch to
printing the base and max frequencies since those are relevant to HWP.
Similarly, stop printing the CPU frequencies since those do not apply.
The scaling fields are also no longer printed.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
v8:
Use %PRIu32 for added hwp printing
Add Anthony's Ack

v5:
Use XEN_HWP_DRIVER_NAME
Add Jan's Ack

v4:
s/turbo/max/
Check for XEN_HWP_DRIVER driver instead of "-internal"

v2:
Use full governor name XEN_HWP_GOVERNOR to change output
Style fixes
---
 tools/misc/xenpm.c | 83 +++++++++++++++++++++++++---------------------
 1 file changed, 46 insertions(+), 37 deletions(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 1c474c3b59..3f5b2afcea 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -711,6 +711,7 @@ void start_gather_func(int argc, char *argv[])
 /* print out parameters about cpu frequency */
 static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 {
+    bool hwp = strcmp(p_cpufreq->scaling_driver, XEN_HWP_DRIVER_NAME) == 0;
     int i;
 
     printf("cpu id               : %d\n", cpuid);
@@ -720,49 +721,57 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
         printf(" %d", p_cpufreq->affected_cpus[i]);
     printf("\n");
 
-    printf("cpuinfo frequency    : max [%u] min [%u] cur [%u]\n",
-           p_cpufreq->cpuinfo_max_freq,
-           p_cpufreq->cpuinfo_min_freq,
-           p_cpufreq->cpuinfo_cur_freq);
+    if ( hwp )
+        printf("cpuinfo frequency    : base [%"PRIu32"] max [%"PRIu32"]\n",
+               p_cpufreq->cpuinfo_min_freq,
+               p_cpufreq->cpuinfo_max_freq);
+    else
+        printf("cpuinfo frequency    : max [%u] min [%u] cur [%u]\n",
+               p_cpufreq->cpuinfo_max_freq,
+               p_cpufreq->cpuinfo_min_freq,
+               p_cpufreq->cpuinfo_cur_freq);
 
     printf("scaling_driver       : %s\n", p_cpufreq->scaling_driver);
 
-    printf("scaling_avail_gov    : %s\n",
-           p_cpufreq->scaling_available_governors);
-
-    printf("current_governor     : %s\n", p_cpufreq->u.s.scaling_governor);
-    if ( !strncmp(p_cpufreq->u.s.scaling_governor,
-                  "userspace", CPUFREQ_NAME_LEN) )
-    {
-        printf("  userspace specific :\n");
-        printf("    scaling_setspeed : %u\n",
-               p_cpufreq->u.s.u.userspace.scaling_setspeed);
-    }
-    else if ( !strncmp(p_cpufreq->u.s.scaling_governor,
-                       "ondemand", CPUFREQ_NAME_LEN) )
+    if ( !hwp )
     {
-        printf("  ondemand specific  :\n");
-        printf("    sampling_rate    : max [%u] min [%u] cur [%u]\n",
-               p_cpufreq->u.s.u.ondemand.sampling_rate_max,
-               p_cpufreq->u.s.u.ondemand.sampling_rate_min,
-               p_cpufreq->u.s.u.ondemand.sampling_rate);
-        printf("    up_threshold     : %u\n",
-               p_cpufreq->u.s.u.ondemand.up_threshold);
-    }
+        printf("scaling_avail_gov    : %s\n",
+               p_cpufreq->scaling_available_governors);
 
-    printf("scaling_avail_freq   :");
-    for ( i = 0; i < p_cpufreq->freq_num; i++ )
-        if ( p_cpufreq->scaling_available_frequencies[i] ==
-             p_cpufreq->u.s.scaling_cur_freq )
-            printf(" *%d", p_cpufreq->scaling_available_frequencies[i]);
-        else
-            printf(" %d", p_cpufreq->scaling_available_frequencies[i]);
-    printf("\n");
+        printf("current_governor     : %s\n", p_cpufreq->u.s.scaling_governor);
+        if ( !strncmp(p_cpufreq->u.s.scaling_governor,
+                      "userspace", CPUFREQ_NAME_LEN) )
+        {
+            printf("  userspace specific :\n");
+            printf("    scaling_setspeed : %u\n",
+                   p_cpufreq->u.s.u.userspace.scaling_setspeed);
+        }
+        else if ( !strncmp(p_cpufreq->u.s.scaling_governor,
+                           "ondemand", CPUFREQ_NAME_LEN) )
+        {
+            printf("  ondemand specific  :\n");
+            printf("    sampling_rate    : max [%u] min [%u] cur [%u]\n",
+                   p_cpufreq->u.s.u.ondemand.sampling_rate_max,
+                   p_cpufreq->u.s.u.ondemand.sampling_rate_min,
+                   p_cpufreq->u.s.u.ondemand.sampling_rate);
+            printf("    up_threshold     : %u\n",
+                   p_cpufreq->u.s.u.ondemand.up_threshold);
+        }
+
+        printf("scaling_avail_freq   :");
+        for ( i = 0; i < p_cpufreq->freq_num; i++ )
+            if ( p_cpufreq->scaling_available_frequencies[i] ==
+                 p_cpufreq->u.s.scaling_cur_freq )
+                printf(" *%d", p_cpufreq->scaling_available_frequencies[i]);
+            else
+                printf(" %d", p_cpufreq->scaling_available_frequencies[i]);
+        printf("\n");
 
-    printf("scaling frequency    : max [%u] min [%u] cur [%u]\n",
-           p_cpufreq->u.s.scaling_max_freq,
-           p_cpufreq->u.s.scaling_min_freq,
-           p_cpufreq->u.s.scaling_cur_freq);
+        printf("scaling frequency    : max [%u] min [%u] cur [%u]\n",
+               p_cpufreq->u.s.scaling_max_freq,
+               p_cpufreq->u.s.scaling_min_freq,
+               p_cpufreq->u.s.scaling_cur_freq);
+    }
 
     printf("turbo mode           : %s\n",
            p_cpufreq->turbo_enabled ? "enabled" : "disabled or n/a");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578803.906546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5L0-0007r1-16; Mon, 07 Aug 2023 18:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578803.906546; Mon, 07 Aug 2023 18:52:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Kz-0007qs-Sh; Mon, 07 Aug 2023 18:52:17 +0000
Received: by outflank-mailman (input) for mailman id 578803;
 Mon, 07 Aug 2023 18:52: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5Ky-0004GT-PX
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:16 +0000
Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com
 [2607:f8b0:4864:20::e2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85d3ef1f-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:14 +0200 (CEST)
Received: by mail-vs1-xe2e.google.com with SMTP id
 ada2fe7eead31-44768737671so1822833137.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:14 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 85d3ef1f-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434333; x=1692039133;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ot86e+1Z3pJ5J+fUBDr3w7JqY5k3+M+3EC/DXMV0EvM=;
        b=HtIYy/U7KTLyuJuV0H1vcXedshvJr13+x/HNwupdbTBHCpML8gX3OMHFXsIW/PTtS/
         71r8eyohhbhfXtkjpSWuM/rD3Uu6x7NmudzsmRffUMne9cLnWypBbo7EaZ9mihPPYiql
         qS/hInCcESI4Z+zaTubDyaXedBmKwvxVLbSim0ez5TjvaA/5iWj+XtZIds9ojLbSlx/a
         TF4+Ck9On7KABj7jHECJPYBnF9oKdqcR+/p6xadqJkjEh9GU7yhIWA7r2YifxKRpO0Y2
         Css++JFyxQdFJ2d5EPWOSt7bEv/5kNW/RaBraKWVh7LvKigTy2iocUuUykhUxhUjl1KK
         VCag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434333; x=1692039133;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Ot86e+1Z3pJ5J+fUBDr3w7JqY5k3+M+3EC/DXMV0EvM=;
        b=R9PE7IyGo0MfcOUGlKvXG5M2DoN+Lf49Z2U2D7oJlM5E1Kn+niS/4jbCUoJRnBo4iD
         ClRDpkcWp3QvGq4QTJOPIqLSshM2cGvh6s33LQZnb3MiI7tebIUtvAEHiXMkKW/j7PKc
         mbNpToqi0uKkU/+fdcCWEQn+lQg1JEaBY+0IPw/wOIwju1N3eP6Udwg+0aqjlSiWseqO
         orMUhTdgc+Y15Eo44tpKsmfEZZQIo2ajCKq6whCe/G2TmV3NliGIvajhJLJXYX2veUxW
         kv91lHOFeTaTSYfmcosNY+EV2Y5ajNVW9C9cn+pQQ6vttQ3sw9MffBD/voUpuejeEn+z
         MnIA==
X-Gm-Message-State: AOJu0YyPgV6Hj3j9OfDfMNctKfv6P04WzPdCqpNUc5kTS0rYAxn7tnDK
	xo7Wwq6jvGlvnoe3HZmfJM/kfF0kTqI=
X-Google-Smtp-Source: AGHT+IFlZmrC0z7Z7KAEa8M2t7i5Eg40Dh/sDSINoUdzFJZ/87yNrSOiWDPU3XaDWRSaoRzdkMr+Qw==
X-Received: by 2002:a67:f619:0:b0:443:7e93:641f with SMTP id k25-20020a67f619000000b004437e93641fmr4748864vso.9.1691434332699;
        Mon, 07 Aug 2023 11:52:12 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 09/15] cpufreq: Export HWP parameters to userspace as CPPC
Date: Mon,  7 Aug 2023 14:51:13 -0400
Message-ID: <20230807185119.98333-10-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend xen_get_cpufreq_para to return hwp parameters.  HWP is an
implementation of ACPI CPPC (Collaborative Processor Performance
Control).  Use the CPPC name since that might be useful in the future
for AMD P-state.

We need the features bitmask to indicate fields supported by the actual
hardware - this only applies to activity window for the time being.

The HWP most_efficient is mapped to CPPC lowest_nonlinear, and guaranteed is
mapped to nominal.  CPPC has a guaranteed that is optional while nominal
is required.  ACPI spec says "If this register is not implemented, OSPM
assumes guaranteed performance is always equal to nominal performance."

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v2:
Style fixes
Don't bump XEN_SYSCTL_INTERFACE_VERSION
Drop cpufreq.h comment divider
Expand xen_hwp_para comment
Add HWP activity window mantissa/exponent defines
Handle union rename
Add const to get_hwp_para
Remove hw_ prefix from xen_hwp_para members
Use XEN_HWP_GOVERNOR
Use per_cpu for hwp_drv_data

v4:
Fixup for opt_cpufreq_hwp/hdc removal
get_hwp_para() takes cpu as arg
XEN_ prefix HWP_ACT_WINDOW_*
Drop HWP_ACT_WINDOW_EXPONENT_SHIFT - shift MASK
Remove Energy Bias (0-15) EPP fallback
Rename xen_hwp_para to xen_cppc_para
s/hwp/cppc/
Use scaling driver to switch output

v5:
Use XEN_HWP_DRIVER_NAME
Use cpufreq.h for declarations
Fixup some comments
Drop const from unsigned int cpu
Drop some unnecessary { }
Use strncmp
Switch sizeof(char) to sizeof(*scaling_available_governors)
Reindent copy_to_guest call
Add "HWP: " prefix to sysctl comments for cppc->hwp mapping

v6:
Drop commit message uint8_t paragraph
sysctl.h s/They/They're/
Fix indent and add parens for read_scaling_available_governors() args
Add Jan's Ack
---
 xen/arch/x86/acpi/cpufreq/hwp.c    | 23 ++++++++++
 xen/drivers/acpi/pmstat.c          | 74 ++++++++++++++++--------------
 xen/include/acpi/cpufreq/cpufreq.h |  2 +
 xen/include/public/sysctl.h        | 56 ++++++++++++++++++++++
 4 files changed, 121 insertions(+), 34 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 9be622f492..92fa01b8ea 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -519,6 +519,29 @@ static const struct cpufreq_driver __initconstrel hwp_cpufreq_driver =
     .update = hwp_cpufreq_update,
 };
 
+int get_hwp_para(unsigned int cpu,
+                 struct xen_cppc_para *cppc_para)
+{
+    const struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+
+    if ( data == NULL )
+        return -ENODATA;
+
+    cppc_para->features         =
+        (feature_hwp_activity_window ? XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW : 0);
+    cppc_para->lowest           = data->hw.lowest;
+    cppc_para->lowest_nonlinear = data->hw.most_efficient;
+    cppc_para->nominal          = data->hw.guaranteed;
+    cppc_para->highest          = data->hw.highest;
+    cppc_para->minimum          = data->minimum;
+    cppc_para->maximum          = data->maximum;
+    cppc_para->desired          = data->desired;
+    cppc_para->energy_perf      = data->energy_perf;
+    cppc_para->activity_window  = data->activity_window;
+
+    return 0;
+}
+
 int __init hwp_register_driver(void)
 {
     int ret;
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index d67d99e62f..e4e2df94a7 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -251,46 +251,52 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
     else
         strlcpy(op->u.get_para.scaling_driver, "Unknown", CPUFREQ_NAME_LEN);
 
-    if ( !(scaling_available_governors =
-           xzalloc_array(char, gov_num * CPUFREQ_NAME_LEN)) )
-        return -ENOMEM;
-    if ( (ret = read_scaling_available_governors(scaling_available_governors,
-                gov_num * CPUFREQ_NAME_LEN * sizeof(char))) )
+    if ( !strncmp(op->u.get_para.scaling_driver, XEN_HWP_DRIVER_NAME,
+                      CPUFREQ_NAME_LEN) )
+        ret = get_hwp_para(policy->cpu, &op->u.get_para.u.cppc_para);
+    else
     {
+        if ( !(scaling_available_governors =
+               xzalloc_array(char, gov_num * CPUFREQ_NAME_LEN)) )
+            return -ENOMEM;
+        if ( (ret = read_scaling_available_governors(
+                        scaling_available_governors,
+                        (gov_num * CPUFREQ_NAME_LEN *
+                         sizeof(*scaling_available_governors)))) )
+        {
+            xfree(scaling_available_governors);
+            return ret;
+        }
+        ret = copy_to_guest(op->u.get_para.scaling_available_governors,
+                            scaling_available_governors,
+                            gov_num * CPUFREQ_NAME_LEN);
         xfree(scaling_available_governors);
-        return ret;
-    }
-    ret = copy_to_guest(op->u.get_para.scaling_available_governors,
-                scaling_available_governors, gov_num * CPUFREQ_NAME_LEN);
-    xfree(scaling_available_governors);
-    if ( ret )
-        return ret;
+        if ( ret )
+            return ret;
 
-    op->u.get_para.u.s.scaling_cur_freq = policy->cur;
-    op->u.get_para.u.s.scaling_max_freq = policy->max;
-    op->u.get_para.u.s.scaling_min_freq = policy->min;
+        op->u.get_para.u.s.scaling_cur_freq = policy->cur;
+        op->u.get_para.u.s.scaling_max_freq = policy->max;
+        op->u.get_para.u.s.scaling_min_freq = policy->min;
 
-    if ( policy->governor->name[0] )
-        strlcpy(op->u.get_para.u.s.scaling_governor,
-            policy->governor->name, CPUFREQ_NAME_LEN);
-    else
-        strlcpy(op->u.get_para.u.s.scaling_governor, "Unknown", CPUFREQ_NAME_LEN);
+        if ( policy->governor->name[0] )
+            strlcpy(op->u.get_para.u.s.scaling_governor,
+                policy->governor->name, CPUFREQ_NAME_LEN);
+        else
+            strlcpy(op->u.get_para.u.s.scaling_governor, "Unknown",
+                    CPUFREQ_NAME_LEN);
 
-    /* governor specific para */
-    if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
-                      "userspace", CPUFREQ_NAME_LEN) )
-    {
-        op->u.get_para.u.s.u.userspace.scaling_setspeed = policy->cur;
-    }
+        /* governor specific para */
+        if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
+                          "userspace", CPUFREQ_NAME_LEN) )
+            op->u.get_para.u.s.u.userspace.scaling_setspeed = policy->cur;
 
-    if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
-                      "ondemand", CPUFREQ_NAME_LEN) )
-    {
-        ret = get_cpufreq_ondemand_para(
-            &op->u.get_para.u.s.u.ondemand.sampling_rate_max,
-            &op->u.get_para.u.s.u.ondemand.sampling_rate_min,
-            &op->u.get_para.u.s.u.ondemand.sampling_rate,
-            &op->u.get_para.u.s.u.ondemand.up_threshold);
+        if ( !strncasecmp(op->u.get_para.u.s.scaling_governor,
+                          "ondemand", CPUFREQ_NAME_LEN) )
+            ret = get_cpufreq_ondemand_para(
+                &op->u.get_para.u.s.u.ondemand.sampling_rate_max,
+                &op->u.get_para.u.s.u.ondemand.sampling_rate_min,
+                &op->u.get_para.u.s.u.ondemand.sampling_rate,
+                &op->u.get_para.u.s.u.ondemand.up_threshold);
     }
 
     return ret;
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 6737798e25..f90e9d3a6c 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -255,5 +255,7 @@ void intel_feature_detect(struct cpufreq_policy *policy);
 int hwp_cmdline_parse(const char *s, const char *e);
 int hwp_register_driver(void);
 bool hwp_active(void);
+int get_hwp_para(unsigned int cpu,
+                 struct xen_cppc_para *cppc_para);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 5a30b16fcf..cf27f8f2f9 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -296,6 +296,61 @@ struct xen_ondemand {
     uint32_t up_threshold;
 };
 
+struct xen_cppc_para {
+    /* OUT */
+    /* activity_window supported if set */
+#define XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW  (1 << 0)
+    uint32_t features; /* bit flags for features */
+    /*
+     * See Intel SDM: HWP Performance Range and Dynamic Capabilities
+     *
+     * These four are 0-255 hardware-provided values.  They're "continuous,
+     * abstract unit-less, performance" values.  Smaller numbers are slower
+     * and larger ones are faster.
+     */
+    uint32_t lowest;
+    uint32_t lowest_nonlinear; /* HWP: most_efficient */
+    uint32_t nominal; /* HWP: guaranteed */
+    uint32_t highest;
+    /*
+     * See Intel SDM: IA32_HWP_REQUEST MSR (Address: 774H Logical Processor
+     * Scope)
+     *
+     * These are all hints, and the processor may deviate outside of them.
+     * Values below are 0-255.
+     *
+     * minimum and maximum can be set to the above hardware values to constrain
+     * operation.  The full range 0-255 is accepted and will be clipped by
+     * hardware.
+     */
+    uint32_t minimum;
+    uint32_t maximum;
+    /*
+     * An explicit performance hint, disabling hardware selection.
+     * 0 lets the hardware decide.
+     */
+    uint32_t desired;
+    /*
+     * Hint to hardware for energy/performance preference.
+     * 0:   Performance
+     * 128: Balance (Default)
+     * 255: Powersaving
+     */
+    uint32_t energy_perf;
+    /*
+     * Activity Window is a moving history window for the processor's operation
+     * calculations, controlling responsiveness.  Measured in microseconds
+     * encoded as:
+     *
+     * bits 6:0   - 7bit mantissa
+     * bits 9:7   - 3bit base-10 exponent
+     * btis 15:10 - Unused - must be 0
+     */
+#define XEN_CPPC_ACT_WINDOW_MANTISSA_MASK  0x07f
+#define XEN_CPPC_ACT_WINDOW_EXPONENT_MASK  0x380
+    uint32_t activity_window;
+};
+
 #define XEN_HWP_DRIVER_NAME "hwp"
 
 /*
@@ -333,6 +388,7 @@ struct xen_get_cpufreq_para {
                 struct  xen_ondemand ondemand;
             } u;
         } s;
+        struct xen_cppc_para cppc_para;
     } u;
 
     int32_t turbo_enabled;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578805.906556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5L1-0008Ar-Ee; Mon, 07 Aug 2023 18:52:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578805.906556; Mon, 07 Aug 2023 18:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5L1-0008Ae-Bn; Mon, 07 Aug 2023 18:52:19 +0000
Received: by outflank-mailman (input) for mailman id 578805;
 Mon, 07 Aug 2023 18:52: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5L0-0004GT-Pg
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:18 +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 873a5ef7-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:16 +0200 (CEST)
Received: by mail-qv1-xf31.google.com with SMTP id
 6a1803df08f44-63d2b7d77bfso33900716d6.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:16 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 873a5ef7-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434335; x=1692039135;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8DT7oP40QgonifT7RMQUN+ralNpmx0+TMvzxcNwj95c=;
        b=o79SYks5IRvTS4g7YFj3Lu/26R982JYey+le3GNqqQ9vr75f+fceIelAaAy0n1d36i
         rK/yTGhB7hJSpPR3VQxG/o3k9fFPuc1wQmpjhXNnZ09CsNsAPu7VpGvhoT96iPlhvZ3z
         FMX9BATYxLRLpjtHVyRSkl9cGWiaitofv5EyDzOpSC/1XjZUDlG9kRDl/TGJK150lJA0
         7OEvIYAwZAvLXkOFMxd/6vtr6UP9lcwzqCbqo3YoeD3EFRswCQYfnock849n2/+dgVb9
         7N51deTZQNkjCEV62PwG5owEBvj/y6aXb/ExKR7SMkvYFGQ4YpDXMFtnOhejB0+ne+Pr
         3PAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434335; x=1692039135;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8DT7oP40QgonifT7RMQUN+ralNpmx0+TMvzxcNwj95c=;
        b=fYANuRHKG/ZBSL1w6D3EZxupuKJl4Vo9Oq1ppvBb6X8cwplzHvdvZW7eyXdUCfdhES
         eFJc976KPP01dsFzE4YINs27jMEkU497VfDzI0hCC0VWPpzEQ1t/IwfpSHpO7rgOCsg1
         ap5as4p3XJpe9uDkf2lEFHPJ5x8G3+74ZRsVBo1c10DhobLgPbvWNwYzz4aJNPzLTjOk
         roZA+4EYG83V2Ld35ejyvzgZoY//Ugfk6VDF1+dF9TEvDcJtYtTXUoc7R8ngsBFrMnEh
         j7WC6RQPwEHSucX1Uk9SGbiqtqi2Z32JD7bE4Eno9gRwqQt/LcDdkJ5787JYlcyltmZu
         jTTw==
X-Gm-Message-State: AOJu0YyVQojfsuuT/oCOQyAA91swqX84y9I2RHIbHYAttyzcmZcwgHau
	U6RQKWzcVCw3kDYljYUD0/XyhGVIcJM=
X-Google-Smtp-Source: AGHT+IH6T9fI4HBdZOk6EGgyAMl2tDC+osINgoctgIjiNWPu28mxxHWGK9Mo3xSHhjGMkqPBMVY6yw==
X-Received: by 2002:a0c:e549:0:b0:63d:4a9b:b29f with SMTP id n9-20020a0ce549000000b0063d4a9bb29fmr10472878qvm.65.1691434335348;
        Mon, 07 Aug 2023 11:52:15 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v8 10/15] libxc: Include cppc_para in definitions
Date: Mon,  7 Aug 2023 14:51:14 -0400
Message-ID: <20230807185119.98333-11-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Expose the cppc_para fields through libxc.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
v4:
Rename hwp to cppc
Add Anthony's Ack
---
 tools/include/xenctrl.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index de03cfb117..5824394125 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1909,6 +1909,7 @@ int xc_smt_disable(xc_interface *xch);
  */
 typedef struct xen_userspace xc_userspace_t;
 typedef struct xen_ondemand xc_ondemand_t;
+typedef struct xen_cppc_para xc_cppc_para_t;
 
 struct xc_get_cpufreq_para {
     /* IN/OUT variable */
@@ -1940,6 +1941,7 @@ struct xc_get_cpufreq_para {
                 xc_ondemand_t ondemand;
             } u;
         } s;
+        xc_cppc_para_t cppc_para;
     } u;
 
     int32_t turbo_enabled;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578806.906566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5L4-0000IT-PV; Mon, 07 Aug 2023 18:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578806.906566; Mon, 07 Aug 2023 18:52:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5L4-0000Hw-LH; Mon, 07 Aug 2023 18:52:22 +0000
Received: by outflank-mailman (input) for mailman id 578806;
 Mon, 07 Aug 2023 18:52: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5L3-0004lg-Fp
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:21 +0000
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com
 [2607:f8b0:4864:20::c30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89533fb3-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:52:20 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-56ca4d7079aso3310667eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:20 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 89533fb3-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434339; x=1692039139;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u8YY0cMbSt93RGcC2b1IS+Yfu6uCEeREtdnIWAGkVWs=;
        b=GYWW5JX4pXnd3+DLhH12t6E5X7ni1FxzUuRMa1pwAj58O14rcveuPnkf8ddsYil1bg
         /W7kjcE1lJFd1OexBkUESi9KAaguNkDuL9n7WJ0Qj96karMvJ9LsBCvWGl6E5BhqQSTs
         g/IbyLBh1RC10mAfYXllHqhvKZOGpSlV10BrHRgh3uwo+YwDsN564CHxhD9u+1w/IZ/L
         qHVqnZaukjwds/uomKxmmITyBQuPEgyuuDm7mXOieVRIGiS8PWZcSJf1v6wv32CTcfHg
         /Ts3HpaKR8PNoDtOZd0mxvRj4U+xDPX1mI7ZllF8j0EimHiJjelyBL9Klm7GKPT8WBwA
         wMzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434339; x=1692039139;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=u8YY0cMbSt93RGcC2b1IS+Yfu6uCEeREtdnIWAGkVWs=;
        b=MxYWnl1oEYYaSFsh8a595kPrgRf5/fm6a4kYR8O5OXcbx/dpwt39eBuY32Ce/3v9Pq
         GMVCH8BDSKRompoDOhcHWfMdaZlONa6xQX/GjpyHyeF4ZUztE22qDyk/YxtqJnE4hzB6
         o4kSCzlJIWyDFpMc3XMz1Hry8U/nkIXxPECVhjwqtduYe4UaDmM04hVQwP0qm6I6J8Mg
         TaJSn5CspInEOIad3/q7KVPtrV3fysZ2DCQAP5xhTrUI5Fu0dIS3AF+2D5uexG6iHD3K
         an/4DPzhwFfhJ4OuETFun5T+kiOvuHoqbs2/F8nO7HxcETRK8tjKqggha0tfGp7qNc6h
         PTWA==
X-Gm-Message-State: AOJu0Yzu40o2i6lxsMYjX3xjIbaewr/TLnpXwGeF9I4A0fHHdMo1f4vK
	tQKtYLg8nxELO77EvB1m2DARTxwXDzk=
X-Google-Smtp-Source: AGHT+IEgaCDlSduv/RvPBK6XMI+y0QAxWUnpQ54azRZXBg+BliJoQMDaz8dLyZ2DSoZcqwCXAbZbdQ==
X-Received: by 2002:a05:6358:4285:b0:134:eed0:3bc5 with SMTP id s5-20020a056358428500b00134eed03bc5mr7203855rwc.9.1691434338972;
        Mon, 07 Aug 2023 11:52:18 -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>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 11/15] xenpm: Print HWP/CPPC parameters
Date: Mon,  7 Aug 2023 14:51:15 -0400
Message-ID: <20230807185119.98333-12-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Print HWP-specific parameters.  Some are always present, but others
depend on hardware support.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v2:
Style fixes
Declare i outside loop
Replace repearted hardware/configured limits with spaces
Fixup for hw_ removal
Use XEN_HWP_GOVERNOR
Use HWP_ACT_WINDOW_EXPONENT_*
Remove energy_perf hw autonomous - 0 doesn't mean autonomous

v4:
Return activity_window from calculate_hwp_activity_window
Use blanks instead of _ in output
Use MASK_EXTR
Check XEN_HWP_DRIVER name since governor is no longer returned
s/hwp/cppc

v5:
Add Jan's Reviewed-by

v8:
Switch from "if ( !hwp )" to "if ( hwp )" and re-org code.
Use %PRIu32 instead of %u - this lengthens some strings past 80 chars
---
 tools/misc/xenpm.c | 68 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 3f5b2afcea..688529b59d 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -708,6 +708,46 @@ void start_gather_func(int argc, char *argv[])
     pause();
 }
 
+static unsigned int calculate_activity_window(const xc_cppc_para_t *cppc,
+                                              const char **units)
+{
+    unsigned int mantissa = MASK_EXTR(cppc->activity_window,
+                                      XEN_CPPC_ACT_WINDOW_MANTISSA_MASK);
+    unsigned int exponent = MASK_EXTR(cppc->activity_window,
+                                      XEN_CPPC_ACT_WINDOW_EXPONENT_MASK);
+    unsigned int multiplier = 1;
+    unsigned int i;
+
+    /*
+     * SDM only states a 0 register is hardware selected, and doesn't mention
+     * a 0 mantissa with a non-0 exponent.  Only special case a 0 register.
+     */
+    if ( cppc->activity_window == 0 )
+    {
+        *units = "hardware selected";
+
+        return 0;
+    }
+
+    if ( exponent >= 6 )
+    {
+        *units = "s";
+        exponent -= 6;
+    }
+    else if ( exponent >= 3 )
+    {
+        *units = "ms";
+        exponent -= 3;
+    }
+    else
+        *units = "us";
+
+    for ( i = 0; i < exponent; i++ )
+        multiplier *= 10;
+
+    return mantissa * multiplier;
+}
+
 /* print out parameters about cpu frequency */
 static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 {
@@ -733,7 +773,33 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 
     printf("scaling_driver       : %s\n", p_cpufreq->scaling_driver);
 
-    if ( !hwp )
+    if ( hwp )
+    {
+        const xc_cppc_para_t *cppc = &p_cpufreq->u.cppc_para;
+
+        printf("cppc variables       :\n");
+        printf("  hardware limits    : lowest [%"PRIu32"] lowest nonlinear [%"PRIu32"]\n",
+               cppc->lowest, cppc->lowest_nonlinear);
+        printf("                     : nominal [%"PRIu32"] highest [%"PRIu32"]\n",
+               cppc->nominal, cppc->highest);
+        printf("  configured limits  : min [%"PRIu32"] max [%"PRIu32"] energy perf [%"PRIu32"]\n",
+               cppc->minimum, cppc->maximum, cppc->energy_perf);
+
+        if ( cppc->features & XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW )
+        {
+            unsigned int activity_window;
+            const char *units;
+
+            activity_window = calculate_activity_window(cppc, &units);
+            printf("                     : activity_window [%"PRIu32" %s]\n",
+                   activity_window, units);
+        }
+
+        printf("                     : desired [%"PRIu32"%s]\n",
+               cppc->desired,
+               cppc->desired ? "" : " hw autonomous");
+    }
+    else
     {
         printf("scaling_avail_gov    : %s\n",
                p_cpufreq->scaling_available_governors);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:52:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:52:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578812.906576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5LE-0001PL-21; Mon, 07 Aug 2023 18:52:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578812.906576; Mon, 07 Aug 2023 18:52:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5LD-0001PC-UU; Mon, 07 Aug 2023 18:52:31 +0000
Received: by outflank-mailman (input) for mailman id 578812;
 Mon, 07 Aug 2023 18:52:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5LC-0004lg-Nm
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:30 +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 8eea7ef2-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:52:29 +0200 (CEST)
Received: by mail-qk1-x730.google.com with SMTP id
 af79cd13be357-76cdf055c64so417800685a.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:29 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 8eea7ef2-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434348; x=1692039148;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vy6l55+rICbbuCBbADGaq7cX5z20EMNlyiZQ4cOI23w=;
        b=gnpUvo20i1TFYP99cadluOYvaxMNd5nY7wt+HzhGdEQfwgjkzX3n0qokafBMyYnkYC
         2MI25xGHI4+fCYKeBHFj3UlNT3t5Kko9a5kEeZwIFE4U4W1QPMv+xE+7Ew216R5LcMbS
         D7PDx2N1CdPxYqDXi7rvurW4Du/FPSKCyedzSmbEThpKWHYpZUPo1nIKXX4ZnRfa/9W3
         go+0A3zypevobOWqNSvY9PF2w/IKOBJD2IY9xq0Fe7UFGF+oYI4V1YbZWvMJ6cB+mmVa
         YgrWnwvgBzw526ibKsN67rnrt7Eqf4g0yPZdFwnq04Qr9qoCzvZTngxsdLxX7m8s3K1G
         9X3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434348; x=1692039148;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vy6l55+rICbbuCBbADGaq7cX5z20EMNlyiZQ4cOI23w=;
        b=ALQR2l7wpzmW4XgQ1jycutQ0Aa4gnRUfa7YIxDRJXY2peU0o9GuYz2OAWOIq/w7nPP
         u7Kjaw3raoCTGgRvZO4YgRS2qc5CRAYuFcAFsonHQ0rcJw7W13wkMxNWIRUZLYssrKkr
         igrJ+7bCSARkQQYbaUpdPR6geDNxWGDNv34AhXYWHiE05t2ajui5Oqlz9clyPTn4IptD
         K90YdO46pfJCHHG2rYvpSC02EaG3427sm+0pKN2oGUa1fKb//MA/fOwa/54cGD8IzvyN
         iqu9Yq1hd3qLyqLP1zrqgChFJVqPAItajMoLckNuIOwsm89uIjWYIhx4ysE8LxQpsZxp
         WDaA==
X-Gm-Message-State: AOJu0YxjjnQRT3uCot9p3gRk1A3cP4FacwHqunboYxPZV8PlpF8JnwaG
	OTdm3NpY3MoaQmkreGHDVg3NTCh5j3I=
X-Google-Smtp-Source: AGHT+IE270NkHftGVb6Bp1YfXQBa81JVmCLv3fKo81pPhZF8LWIBeXSP4vpcU+9V5qDfro0337GIoA==
X-Received: by 2002:a0c:e3c3:0:b0:636:47a5:4bc5 with SMTP id e3-20020a0ce3c3000000b0063647a54bc5mr9335668qvl.62.1691434348336;
        Mon, 07 Aug 2023 11:52:28 -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>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 14/15] xenpm: Add set-cpufreq-cppc subcommand
Date: Mon,  7 Aug 2023 14:51:18 -0400
Message-ID: <20230807185119.98333-15-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

set-cpufreq-cppc allows setting the Hardware P-State (HWP) parameters.

It can be run on all or just a single cpu.  There are presets of
balance, powersave & performance.  Those can be further tweaked by
param:val arguments as explained in the usage description.

Parameter names are just checked to the first 3 characters to shorten
typing.

Some options are hardware dependent, and ranges can be found in
get-cpufreq-para.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
v8:
Add Anthony's Ack

v5:
Make i unsigned int
Use local max_cpuid instead of max_cpu_nr
Add Jan's Ack
Check set_params and print a message if activity window wasn't set

v4:
Remove energy bias 0-15 & 7 references
Use MASK_INSR
Fixup { placement
Drop extra case in parse_activity_window
strcmp suffix
Expand help text
s/hwp/cppc/
Use isdigit() to check cpuid - otherwise run on all CPUs.

v2:
Compare provided parameter name and not just 3 characters.
Use "-" in parameter names
Remove hw_
Replace sscanf with strchr & strtoul.
Remove toplevel error message with lower level ones.
Help text s/127/128/
Help text mention truncation.
Avoid some truncation rounding down by adding 5 before division.
Help test mention default microseconds
Also comment the limit check written to avoid overflow.
---
 tools/misc/xenpm.c | 244 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 244 insertions(+)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 688529b59d..d982482a3f 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -16,6 +16,8 @@
  */
 #define MAX_NR_CPU 512
 
+#include <ctype.h>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -67,6 +69,30 @@ void show_help(void)
             " set-max-cstate        <num>|'unlimited' [<num2>|'unlimited']\n"
             "                                     set the C-State limitation (<num> >= 0) and\n"
             "                                     optionally the C-sub-state limitation (<num2> >= 0)\n"
+            " set-cpufreq-cppc      [cpuid] [balance|performance|powersave] <param:val>*\n"
+            "                                     set Hardware P-State (HWP) parameters\n"
+            "                                     on CPU <cpuid> or all if omitted.\n"
+            "                                     optionally a preset of one of:\n"
+            "                                       balance|performance|powersave\n"
+            "                                     an optional list of param:val arguments\n"
+            "                                       minimum:N (0-255)\n"
+            "                                       maximum:N (0-255)\n"
+            "                                           get-cpufreq-para lowest/highest\n"
+            "                                           values are limits for\n"
+            "                                           minumum/maximum.\n"
+            "                                       desired:N (0-255)\n"
+            "                                           set explicit performance target.\n"
+            "                                           non-zero disables auto-HWP mode.\n"
+            "                                       energy-perf:N (0-255)\n"
+            "                                                   energy/performance hint\n"
+            "                                                   lower - favor performance\n"
+            "                                                   higher - favor powersave\n"
+            "                                                   128 - balance\n"
+            "                                       act-window:N{,m,u}s range 1us-1270s\n"
+            "                                           window for internal calculations.\n"
+            "                                           units default to \"us\" if unspecified.\n"
+            "                                           truncates un-representable values.\n"
+            "                                           0 lets the hardware decide.\n"
             " start [seconds]                     start collect Cx/Px statistics,\n"
             "                                     output after CTRL-C or SIGINT or several seconds.\n"
             " enable-turbo-mode     [cpuid]       enable Turbo Mode for processors that support it.\n"
@@ -1292,6 +1318,223 @@ void disable_turbo_mode(int argc, char *argv[])
                 errno, strerror(errno));
 }
 
+/*
+ * Parse activity_window:NNN{us,ms,s} and validate range.
+ *
+ * Activity window is a 7bit mantissa (0-127) with a 3bit exponent (0-7) base
+ * 10 in microseconds.  So the range is 1 microsecond to 1270 seconds.  A value
+ * of 0 lets the hardware autonomously select the window.
+ *
+ * Return 0 on success
+ *       -1 on error
+ */
+static int parse_activity_window(xc_set_cppc_para_t *set_cppc, unsigned long u,
+                                 const char *suffix)
+{
+    unsigned int exponent = 0;
+    unsigned int multiplier = 1;
+
+    if ( suffix && suffix[0] )
+    {
+        if ( strcmp(suffix, "s") == 0 )
+        {
+            multiplier = 1000 * 1000;
+            exponent = 6;
+        }
+        else if ( strcmp(suffix, "ms") == 0 )
+        {
+            multiplier = 1000;
+            exponent = 3;
+        }
+        else if ( strcmp(suffix, "us") != 0 )
+        {
+            fprintf(stderr, "invalid activity window units: \"%s\"\n", suffix);
+
+            return -1;
+        }
+    }
+
+    /* u * multipler > 1270 * 1000 * 1000 transformed to avoid overflow. */
+    if ( u > 1270 * 1000 * 1000 / multiplier )
+    {
+        fprintf(stderr, "activity window is too large\n");
+
+        return -1;
+    }
+
+    /* looking for 7 bits of mantissa and 3 bits of exponent */
+    while ( u > 127 )
+    {
+        u += 5; /* Round up to mitigate truncation rounding down
+                   e.g. 128 -> 120 vs 128 -> 130. */
+        u /= 10;
+        exponent += 1;
+    }
+
+    set_cppc->activity_window =
+        MASK_INSR(exponent, XEN_CPPC_ACT_WINDOW_EXPONENT_MASK) |
+        MASK_INSR(u, XEN_CPPC_ACT_WINDOW_MANTISSA_MASK);
+    set_cppc->set_params |= XEN_SYSCTL_CPPC_SET_ACT_WINDOW;
+
+    return 0;
+}
+
+static int parse_cppc_opts(xc_set_cppc_para_t *set_cppc, int *cpuid,
+                           int argc, char *argv[])
+{
+    int i = 0;
+
+    if ( argc < 1 )
+    {
+        fprintf(stderr, "Missing arguments\n");
+        return -1;
+    }
+
+    if ( isdigit(argv[i][0]) )
+    {
+        if ( sscanf(argv[i], "%d", cpuid) != 1 || *cpuid < 0 )
+        {
+            fprintf(stderr, "Could not parse cpuid \"%s\"\n", argv[i]);
+            return -1;
+        }
+
+        i++;
+    }
+
+    if ( i == argc )
+    {
+        fprintf(stderr, "Missing arguments\n");
+        return -1;
+    }
+
+    if ( strcasecmp(argv[i], "powersave") == 0 )
+    {
+        set_cppc->set_params = XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE;
+        i++;
+    }
+    else if ( strcasecmp(argv[i], "performance") == 0 )
+    {
+        set_cppc->set_params = XEN_SYSCTL_CPPC_SET_PRESET_PERFORMANCE;
+        i++;
+    }
+    else if ( strcasecmp(argv[i], "balance") == 0 )
+    {
+        set_cppc->set_params = XEN_SYSCTL_CPPC_SET_PRESET_BALANCE;
+        i++;
+    }
+
+    for ( ; i < argc; i++)
+    {
+        unsigned long val;
+        char *param = argv[i];
+        char *value;
+        char *suffix;
+        int ret;
+
+        value = strchr(param, ':');
+        if ( value == NULL )
+        {
+            fprintf(stderr, "\"%s\" is an invalid cppc parameter\n", argv[i]);
+            return -1;
+        }
+
+        value[0] = '\0';
+        value++;
+
+        errno = 0;
+        val = strtoul(value, &suffix, 10);
+        if ( (errno && val == ULONG_MAX) || value == suffix )
+        {
+            fprintf(stderr, "Could not parse number \"%s\"\n", value);
+            return -1;
+        }
+
+        if ( strncasecmp(param, "act-window", strlen(param)) == 0 )
+        {
+            ret = parse_activity_window(set_cppc, val, suffix);
+            if (ret)
+                return -1;
+
+            continue;
+        }
+
+        if ( val > 255 )
+        {
+            fprintf(stderr, "\"%s\" value \"%lu\" is out of range\n", param,
+                    val);
+            return -1;
+        }
+
+        if ( suffix && suffix[0] )
+        {
+            fprintf(stderr, "Suffix \"%s\" is invalid\n", suffix);
+            return -1;
+        }
+
+        if ( strncasecmp(param, "minimum", MAX(2, strlen(param))) == 0 )
+        {
+            set_cppc->minimum = val;
+            set_cppc->set_params |= XEN_SYSCTL_CPPC_SET_MINIMUM;
+        }
+        else if ( strncasecmp(param, "maximum", MAX(2, strlen(param))) == 0 )
+        {
+            set_cppc->maximum = val;
+            set_cppc->set_params |= XEN_SYSCTL_CPPC_SET_MAXIMUM;
+        }
+        else if ( strncasecmp(param, "desired", strlen(param)) == 0 )
+        {
+            set_cppc->desired = val;
+            set_cppc->set_params |= XEN_SYSCTL_CPPC_SET_DESIRED;
+        }
+        else if ( strncasecmp(param, "energy-perf", strlen(param)) == 0 )
+        {
+            set_cppc->energy_perf = val;
+            set_cppc->set_params |= XEN_SYSCTL_CPPC_SET_ENERGY_PERF;
+        }
+        else
+        {
+            fprintf(stderr, "\"%s\" is an invalid parameter\n", param);
+            return -1;
+        }
+    }
+
+    if ( set_cppc->set_params == 0 )
+    {
+        fprintf(stderr, "No parameters set in request\n");
+        return -1;
+    }
+
+    return 0;
+}
+
+static void cppc_set_func(int argc, char *argv[])
+{
+    xc_set_cppc_para_t set_cppc = {};
+    unsigned int max_cpuid = max_cpu_nr;
+    int cpuid = -1;
+    unsigned int i = 0;
+    uint32_t set_params;
+
+    if ( parse_cppc_opts(&set_cppc, &cpuid, argc, argv) )
+        exit(EINVAL);
+
+    if ( cpuid != -1 )
+    {
+        i = cpuid;
+        max_cpuid = i + 1;
+    }
+
+    set_params = set_cppc.set_params;
+    for ( ; i < max_cpuid; i++ ) {
+        if ( xc_set_cpufreq_cppc(xc_handle, i, &set_cppc) )
+            fprintf(stderr, "[CPU%d] failed to set cppc params (%d - %s)\n",
+                    i, errno, strerror(errno));
+    }
+
+    if ( (set_params ^ set_cppc.set_params) & XEN_SYSCTL_CPPC_SET_ACT_WINDOW )
+        printf("Activity window not supported and omitted\n");
+}
+
 struct {
     const char *name;
     void (*function)(int argc, char *argv[]);
@@ -1302,6 +1545,7 @@ struct {
     { "get-cpufreq-average", cpufreq_func },
     { "start", start_gather_func },
     { "get-cpufreq-para", cpufreq_para_func },
+    { "set-cpufreq-cppc", cppc_set_func },
     { "set-scaling-maxfreq", scaling_max_freq_func },
     { "set-scaling-minfreq", scaling_min_freq_func },
     { "set-scaling-governor", scaling_governor_func },
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:56:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578832.906585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5P7-0003Gs-HR; Mon, 07 Aug 2023 18:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578832.906585; Mon, 07 Aug 2023 18:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5P7-0003Gl-Ec; Mon, 07 Aug 2023 18:56:33 +0000
Received: by outflank-mailman (input) for mailman id 578832;
 Mon, 07 Aug 2023 18:56: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5P5-0003Gf-PW
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:56:31 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e392714-3554-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:56:29 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-52327d63d7cso3398324a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:56:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e392714-3554-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434589; x=1692039389;
        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=KBAYSkzLCeQU+N3yQ6UmmijTTdXBvq5RAPGQuvYAJVQ=;
        b=ekTJwcTqRdcvkgcDdCu6IOnar5ZQ6RuiIJYdMlC0ZzX2IyHpScUXS1KJzvrQ2cGVhl
         gRgO035HLBqJuKzRDeeoxxf6MLFynNmO6uE3cmB7bYTNvwMZEp8vBAIOWjJ2F9pB44+a
         hfAA/5tRM6Z1h2WqbxjlIOYhs27Jyc6fqn3xdkCbYvkDMmvhFV2vMRDtrzKmu8wvF/K4
         mcv9Htx7fqVL8O4dqu39/5eEoTJXIqPAgZyWW18PsSl+Bh7/bWS5bp5decakJD5cOQ9d
         JNAPO+eUhwFv6w3+E+PieXoMfxI30pJU3F7XbVXXQ5SPbOX2TVfLzDjdnRpH/eGweBGO
         HFew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434589; x=1692039389;
        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=KBAYSkzLCeQU+N3yQ6UmmijTTdXBvq5RAPGQuvYAJVQ=;
        b=Cg2n5rMk8FWb1372usG54fArWqYoNeweOx/DALopoMR/Y51N4fLjxIVqXNI8ZavM70
         1WQzRJ2FqvCblMAw8cUDudhyk8ghz0of5WdA8dcN27YtMvstLSXXKywhh8m6yfu8klEG
         0+4AabKNRQ3mWNbCOOrKnTOe4H2lVF0asPjzmQnTU6UiN3CTfNHaVBor3lIZPeLs4kf+
         bL66V575YqsbJCbPuEg4cul3tq83BbLyeKsQAnaO15MfUjStpUY2JdvXCPpBgJjNwC8X
         KKcVNinXMIaqD5HB+IS7zlTlUH4X/NCaQ46zmqaxsypkI4Uq+ta2XUlP+8gUgQt3KToK
         VcjA==
X-Gm-Message-State: AOJu0Ywsd/AS2frjiWvOCIZYhQ1YjJfzQW5p8y1H2XaClT82wMktioKE
	cqGtGpPrVmq0HKf3cinDXj19ViB7q+osLXrdsXI=
X-Google-Smtp-Source: AGHT+IEDs0k32ZuSaGUJmr5IfF93yZ+0mHlW3Z95dk+4uC50gtq/HfOSUnJPgJNoYz9GjvhFF8AtKWRNqiT6cAkpQLU=
X-Received: by 2002:aa7:d488:0:b0:522:1d47:2d81 with SMTP id
 b8-20020aa7d488000000b005221d472d81mr7813004edr.17.1691434588866; Mon, 07 Aug
 2023 11:56:28 -0700 (PDT)
MIME-Version: 1.0
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
 <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com> <722dfba8-a768-55c1-29bb-2d8525282b4b@citrix.com>
 <464d71e4-9047-0461-afdc-8df8b8f569fb@suse.com>
In-Reply-To: <464d71e4-9047-0461-afdc-8df8b8f569fb@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 7 Aug 2023 14:56:17 -0400
Message-ID: <CAKf6xpuU4EONPZnDR-H40DxxvWq3AWPX2_N32Zm65qbuTPuVsA@mail.gmail.com>
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <George.Dunlap@eu.citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, 
	Juergen Gross <jgross@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>, 
	Christopher Clark <christopher.w.clark@gmail.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 4, 2023 at 7:36=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 04.08.2023 11:29, Andrew Cooper wrote:
> > On 04/08/2023 8:23 am, Jan Beulich wrote:
> >> On 03.08.2023 22:36, Andrew Cooper wrote:
> >>> The opensuse-tumbleweed build jobs currently fail with:
> >>>
> >>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: I=
n function 'rsa_private':
> >>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56=
:7: error: the comparison will always evaluate as 'true' for the address of=
 'p' will never be NULL [-Werror=3Daddress]
> >>>      56 |   if (!key->p || !key->q || !key->u) {
> >>>         |       ^
> >>>   In file included from /builds/xen-project/xen/stubdom/tpm_emulator-=
x86_64/crypto/rsa.c:17:
> >>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28=
:12: note: 'p' declared here
> >>>      28 |   tpm_bn_t p;
> >>>         |            ^
> >>>
> >>> This is because all tpm_bn_t's are 1-element arrays (of either a GMP =
or
> >>> OpenSSL BIGNUM flavour).  The author was probably meaning to do value=
 checks,
> >>> but that's not what the code does.
> >> Looking at the code, I'm not sure about this. There could as well have=
 been
> >> the intention to allow pointers there, then permitting them to be left=
 at
> >> NULL. Who knows where that code came from originally.

The logic looks to be that if p, q, or u are not present, then perform
a regular modular exponentiation.  If they are available, then perform
an optimized Chinese Remainder Theorem exponentiation.

In that light, it's written as if pointers were expected.  However,
the code history doesn't show pointers for p/q/u.  An RSA key can't
have 0 for p/q/u, so value checks don't make sense.  Hmmm, I suppose a
0 value could make sense to indicate uninitialization.

tpm_rsa_import_key() and tpm_rsa_generate_key() set p, q, & u.
tpm_rsa_copy_key() copies those over.  So it should be okay to use
this patch to just always use the CRT path.  It would be safer to
check for 0 though, I suppose.

> > Do you agree that the patch is no function change, or are you saying
> > that you think I got some of my analysis wrong?
>
> Oh, I'm sorry for the potentially ambiguous reply: I agree there's no fun=
ctional
> change. I'm merely not sure about your guessing of value checks being mea=
nt.

Agreed - no functional change.

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Disabling vtpm is also reasonable given the reasons Andrew outlined.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:57:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578854.906605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Q1-00048o-AD; Mon, 07 Aug 2023 18:57:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578854.906605; Mon, 07 Aug 2023 18: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 1qT5Q1-00048f-6q; Mon, 07 Aug 2023 18:57:29 +0000
Received: by outflank-mailman (input) for mailman id 578854;
 Mon, 07 Aug 2023 18: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5LA-0004GT-Qa
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:28 +0000
Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com
 [2607:f8b0:4864:20::c32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d4e026d-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:27 +0200 (CEST)
Received: by mail-oo1-xc32.google.com with SMTP id
 006d021491bc7-56d0d7300d9so3379268eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:27 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11: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: 8d4e026d-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434345; x=1692039145;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8DQkeW1PaXja4KIHBd9qWOWyZUnQRLS9exqlWjIoM/A=;
        b=Z2lmti/Wer72P5ai8c80vOFC++zaGGpmeGQt/JShbpznCCh/DpVnKzoQu0RpvB7DiT
         o8UYN3JEP2SSVz+iWIYySnnruPKXAP4vsHf3Y2xelJkyyCchAoRgxoI14SGy6CIxAHxR
         aYIvyn95Bq/Ux4hAamu+qIkhBYsGyrRZoEwKGvQczYut5xBvn7XyQjRc6Qa9YaUxD1sA
         WXV0qqBKmTOZ4xxlBkmd5nASkUm5Id4F/F6RZ8xZM6NGok/KfanKxfIvu5TTTVQjcS6d
         wQNRgzB/VvdTQ/uO4pjAJ7CcPQ+LtL4uSfRNwfrH/r6rjKOLbu/HF9bYXSnAmp1juDpE
         IQqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434345; x=1692039145;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8DQkeW1PaXja4KIHBd9qWOWyZUnQRLS9exqlWjIoM/A=;
        b=JGh+IY+28h806/n0svjTEShdashWFvLLIcVUbqWU3M3WviqF11LrCiRVgCFcRJNoCG
         vs+OrP1v2+23Fu7xtQCjSyaiu4PT0es7EZG6xOpXOyjRA8ZpuqTsSrf8FgoN62BhxEzi
         nevYPHawya7Y+o6orr7HOsMGBxFnxj5KS0HGw2UGGus47scstePodexGlUqn+U6ld2Gr
         t2XXR6XIHDsKz4WCYnQ5ISWQ6lLpn9mb08Cz/L6AMZpE//gJVvnbgL9jU6UkYORWp7wk
         Efxvt320CxEsjudbpXSZ2RHfqH3wZ3q5FRgtpDA0t0mgCCqpQlsRUK3LYdLkmZ5FllnL
         9oGw==
X-Gm-Message-State: AOJu0YzwQwD1m6l9p+Y/VyPPGQC8nJIYO9BLpNJu7mEJPEXJuYvuN0kK
	nRZy+QooVJv0WunEz0IZ1lE8eIzFniM=
X-Google-Smtp-Source: AGHT+IHLRK6B7CKh9F5LEFpo5z6t/O2jdU4MY1VAnFsvimMK3dDFp/U6+2u8F5o7xaDA3yEoXXxK6w==
X-Received: by 2002:a05:6358:99a6:b0:139:833c:53f8 with SMTP id j38-20020a05635899a600b00139833c53f8mr9052643rwb.24.1691434345322;
        Mon, 07 Aug 2023 11:52:25 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v8 13/15] libxc: Add xc_set_cpufreq_cppc
Date: Mon,  7 Aug 2023 14:51:17 -0400
Message-ID: <20230807185119.98333-14-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add xc_set_cpufreq_cppc to allow calling xen_systctl_pm_op
SET_CPUFREQ_CPPC.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
v2:
Mark xc_set_hwp_para_t const

v4:
s/hwp/cppc/
Add Anthony's Ack

v5:
Remove const and copy back result
---
 tools/include/xenctrl.h |  4 ++++
 tools/libs/ctrl/xc_pm.c | 23 +++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 5824394125..12dca13b69 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1947,11 +1947,15 @@ struct xc_get_cpufreq_para {
     int32_t turbo_enabled;
 };
 
+typedef struct xen_set_cppc_para xc_set_cppc_para_t;
+
 int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
                         struct xc_get_cpufreq_para *user_para);
 int xc_set_cpufreq_gov(xc_interface *xch, int cpuid, char *govname);
 int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
                         int ctrl_type, int ctrl_value);
+int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
+                        xc_set_cppc_para_t *set_cppc);
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq);
 
 int xc_set_sched_opt_smt(xc_interface *xch, uint32_t value);
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index 3e969b841f..6157f4e3d4 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -368,6 +368,29 @@ int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
     return xc_sysctl(xch, &sysctl);
 }
 
+int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
+                        xc_set_cppc_para_t *set_cppc)
+{
+    DECLARE_SYSCTL;
+    int ret;
+
+    if ( !xch )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+    sysctl.cmd = XEN_SYSCTL_pm_op;
+    sysctl.u.pm_op.cmd = SET_CPUFREQ_CPPC;
+    sysctl.u.pm_op.cpuid = cpuid;
+    sysctl.u.pm_op.u.set_cppc = *set_cppc;
+
+    ret = xc_sysctl(xch, &sysctl);
+
+    *set_cppc = sysctl.u.pm_op.u.set_cppc;
+
+    return ret;
+}
+
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq)
 {
     int ret = 0;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578851.906596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Py-0003rl-1g; Mon, 07 Aug 2023 18:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578851.906596; Mon, 07 Aug 2023 18: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 1qT5Px-0003re-Ug; Mon, 07 Aug 2023 18:57:25 +0000
Received: by outflank-mailman (input) for mailman id 578851;
 Mon, 07 Aug 2023 18: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5L8-0004GT-NT
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:26 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b6ba4ac-3553-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 20:52:23 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-63cf7cce5fbso34440726d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:23 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11: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: 8b6ba4ac-3553-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434342; x=1692039142;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AOfN7Z9EVFLpJCkggYGDmqtmD+BO0lXy28fP8LpUWIs=;
        b=MiT8Aw+NG79O5MeG4oXEc4pSKAtjJwI8Nu69a04vUx48j5W1BdyxlNDr79683Vp+HR
         IXjUu8GoYlSl0vZFFUHw8YGdvVn8pr24sF5deCNZgy/KaU0dvdz1dJUoIq8+uvmZibLm
         GN33UrjmVbV8okClX7zSeAj/PGF8hHLc6UF+1WvyHMGAYjzjdT8xlMqClrbngtKrAxig
         siMzvNpiKt9HvV+7MmZ/ZhHTfZi6rBkQKK9oza9huO9dYmcM+6rPbjwFYQ9C/21C3cAl
         axqXCwEeif/qVJuqHBFXKVorarL36RtpZuODXMwV+ER+HlDWFsBmD1k6/4c1Nb95Z6uq
         Swcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434342; x=1692039142;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AOfN7Z9EVFLpJCkggYGDmqtmD+BO0lXy28fP8LpUWIs=;
        b=S+V+azszrrEwO2rVMNUXAuXGwVMGHZm/lD4wpJ4qAsCgQmaOUXOXCudqOaAMNzZUHe
         Z5/NN6fzipFNepJ0583+p9Fs7gLrjT68y6k2vHLH1I7ITWYzwke3Ex0cBaRuMaupzWaC
         oCLSDjzcOmJ6+a6g+CZPP6bfI6sVk1dGG4xlj6gzTN+EcS4ALzZ2QpsI4F3nyOcwUi2e
         mPnea6dbXeWjXunR7tYZ6ZBySRD0zML0KgvwqTNRhvgqLbtz2Ab6d2Et4ii20JaSFXRN
         W+v1jC59m7ImGbailTINrSTNuae0a3JoPpW2i/eAntqUR79SWjqlg1QR/1GFj2KmUYQu
         hTDQ==
X-Gm-Message-State: AOJu0YwXD3R08aYUbt6fUvsAktDxpWoGGOYxyAAQguH5EeHxBqkXsi50
	1ZIW/niBfjFW/EwJXHIL+O1NA+V0VIM=
X-Google-Smtp-Source: AGHT+IFjjVG/Vb02rgE6PdI73vVmx0JX8EBV/Oopw5OaqGQYQCXg/GCuq/s5EL06eGXNzza5MxwhRg==
X-Received: by 2002:a05:6214:15cf:b0:632:207d:b834 with SMTP id p15-20020a05621415cf00b00632207db834mr9586248qvz.58.1691434342145;
        Mon, 07 Aug 2023 11:52:22 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 12/15] xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op
Date: Mon,  7 Aug 2023 14:51:16 -0400
Message-ID: <20230807185119.98333-13-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add SET_CPUFREQ_HWP xen_sysctl_pm_op to set HWP parameters.  The sysctl
supports setting multiple values simultaneously as indicated by the
set_params bits.  This allows atomically applying new HWP configuration
via a single wrmsr.

XEN_SYSCTL_HWP_SET_PRESET_BALANCE/PERFORMANCE/POWERSAVE provide three
common presets.  Setting them depends on hardware limits which the
hypervisor is already caching.  So using them allows skipping a
hypercall to query the limits (lowest/highest) to then set those same
values.  The code is organized to allow a preset to be refined with
additional parameters if desired.

"most_efficient" and "guaranteed" could be additional presets in the
future, but the are not added now.  Those levels can change at runtime,
but we don't have code in place to monitor and update for those events.

Since activity window may not be supported by all hardware, omit writing
it when not supported, and return that fact to userspace by updating
set_params.

CPPC parameter checking disallows setting reserved bytes and ensure
values are only non-zero when the corresponding set_params bit is set.
There is no range checking (0-255 is allowed) since hardware is
documented to clip internally.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v7:
Fix brace placement
Add Jan's R-b

v6:
Add () around bit test
Add U suffix to XEN_SYSCTL_ constants
Change -EINVAL returns to -ENOENT/-EOPNOTSUPP
Return success for no-op set_hwp_para()

v5:
Use cpufreq.h for include
Add () around bit test
Fix Configure typo
Drop duplicated energy_perf comment
Define XEN_SYSCTL_CPPC_ACT_WINDOW_MASK from *_MANTISSA_MASK and *_EXPONENT_MASK
Re-order XEN_SYSCTL_CPPC_SET_* flags to match field and hardware order.
Remove const from set_cppc param to update set_params
Skip Activity Window if not supported by hardware and clear set_params
Make parameter parsing consistent
Add an exit path when there are no parameters to write.
Expand the header file to cover the IN/OUT set_params.
Remove the "desired" lowest/highest checking as hardware clips internally

v4:
Remove IA32_ENERGY_BIAS support
Validate parameters don't exceed 255
Use CPPC/cppc name
set_cppc_para() add const
set_cppc_para() return hwp_cpufreq_target()
Expand sysctl comments

v3:
Remove cpufreq_governor_internal from set_cpufreq_hwp

v2:
Update for naming anonymous union
Drop hwp_err for invalid input in set_hwp_para()
Drop uint16_t cast in XEN_SYSCTL_HWP_SET_PARAM_MASK
Drop parens for HWP_SET_PRESET defines
Reference activity_window format comment
Place SET_CPUFREQ_HWP after SET_CPUFREQ_PARA
Add {HWP,IA32}_ENERGY_PERF_MAX_{PERFORMANCE,POWERSAVE} defines
Order defines before fields in sysctl.h
Use XEN_HWP_GOVERNOR
Use per_cpu for hwp_drv_data
---
 xen/arch/x86/acpi/cpufreq/hwp.c    | 102 +++++++++++++++++++++++++++++
 xen/drivers/acpi/pmstat.c          |  17 +++++
 xen/include/acpi/cpufreq/cpufreq.h |   2 +
 xen/include/public/sysctl.h        |  64 ++++++++++++++++++
 4 files changed, 185 insertions(+)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 92fa01b8ea..620149243d 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -21,6 +21,10 @@ static bool __ro_after_init feature_hdc;
 
 static bool __ro_after_init opt_cpufreq_hdc = true;
 
+#define HWP_ENERGY_PERF_MAX_PERFORMANCE 0
+#define HWP_ENERGY_PERF_BALANCE         0x80
+#define HWP_ENERGY_PERF_MAX_POWERSAVE   0xff
+
 union hwp_request
 {
     struct
@@ -542,6 +546,104 @@ int get_hwp_para(unsigned int cpu,
     return 0;
 }
 
+int set_hwp_para(struct cpufreq_policy *policy,
+                 struct xen_set_cppc_para *set_cppc)
+{
+    unsigned int cpu = policy->cpu;
+    struct hwp_drv_data *data = per_cpu(hwp_drv_data, cpu);
+    bool cleared_act_window = false;
+
+    if ( data == NULL )
+        return -ENOENT;
+
+    /* Validate all parameters - Disallow reserved bits. */
+    if ( set_cppc->minimum > 255 ||
+         set_cppc->maximum > 255 ||
+         set_cppc->desired > 255 ||
+         set_cppc->energy_perf > 255 ||
+         (set_cppc->set_params & ~XEN_SYSCTL_CPPC_SET_PARAM_MASK) ||
+         (set_cppc->activity_window & ~XEN_SYSCTL_CPPC_ACT_WINDOW_MASK) )
+        return -EINVAL;
+
+    /* Only allow values if params bit is set. */
+    if ( (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED) &&
+          set_cppc->desired) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM) &&
+          set_cppc->minimum) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM) &&
+          set_cppc->maximum) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF) &&
+          set_cppc->energy_perf) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW) &&
+          set_cppc->activity_window) )
+        return -EINVAL;
+
+    /* Clear out activity window if lacking HW supported. */
+    if ( (set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW) &&
+         !feature_hwp_activity_window )
+    {
+        set_cppc->set_params &= ~XEN_SYSCTL_CPPC_SET_ACT_WINDOW;
+        cleared_act_window = true;
+    }
+
+    /* Return if there is nothing to do. */
+    if ( set_cppc->set_params == 0 )
+        return 0;
+
+    /* Apply presets */
+    switch ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_PRESET_MASK )
+    {
+    case XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE:
+        data->minimum = data->hw.lowest;
+        data->maximum = data->hw.lowest;
+        data->activity_window = 0;
+        data->energy_perf = HWP_ENERGY_PERF_MAX_POWERSAVE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_PERFORMANCE:
+        data->minimum = data->hw.highest;
+        data->maximum = data->hw.highest;
+        data->activity_window = 0;
+        data->energy_perf = HWP_ENERGY_PERF_MAX_PERFORMANCE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_BALANCE:
+        data->minimum = data->hw.lowest;
+        data->maximum = data->hw.highest;
+        data->activity_window = 0;
+        data->energy_perf = HWP_ENERGY_PERF_BALANCE;
+        data->desired = 0;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_NONE:
+        break;
+
+    default:
+        return -EINVAL;
+    }
+
+    /* Further customize presets if needed */
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM )
+        data->minimum = set_cppc->minimum;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM )
+        data->maximum = set_cppc->maximum;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF )
+        data->energy_perf = set_cppc->energy_perf;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
+        data->desired = set_cppc->desired;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW )
+        data->activity_window = set_cppc->activity_window &
+                                XEN_SYSCTL_CPPC_ACT_WINDOW_MASK;
+
+    return hwp_cpufreq_target(policy, 0, 0);
+}
+
 int __init hwp_register_driver(void)
 {
     int ret;
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index e4e2df94a7..85097d463c 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -400,6 +400,19 @@ static int set_cpufreq_para(struct xen_sysctl_pm_op *op)
     return ret;
 }
 
+static int set_cpufreq_cppc(struct xen_sysctl_pm_op *op)
+{
+    struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
+
+    if ( !policy || !policy->governor )
+        return -ENOENT;
+
+    if ( !hwp_active() )
+        return -EOPNOTSUPP;
+
+    return set_hwp_para(policy, &op->u.set_cppc);
+}
+
 int do_pm_op(struct xen_sysctl_pm_op *op)
 {
     int ret = 0;
@@ -472,6 +485,10 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
         break;
     }
 
+    case SET_CPUFREQ_CPPC:
+        ret = set_cpufreq_cppc(op);
+        break;
+
     case GET_CPUFREQ_AVGFREQ:
     {
         op->u.get_avgfreq = cpufreq_driver_getavg(op->cpuid, USR_GETAVG);
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index f90e9d3a6c..281e3f513d 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -257,5 +257,7 @@ int hwp_register_driver(void);
 bool hwp_active(void);
 int get_hwp_para(unsigned int cpu,
                  struct xen_cppc_para *cppc_para);
+int set_hwp_para(struct cpufreq_policy *policy,
+                 struct xen_set_cppc_para *set_cppc);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index cf27f8f2f9..3975050248 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -351,6 +351,68 @@ struct xen_cppc_para {
     uint32_t activity_window;
 };
 
+/*
+ * Set CPPC values.
+ *
+ * Configure the parameters for CPPC.  Set bits in set_params control which
+ * values are applied.  If a bit is not set in set_params, the field must be
+ * zero.
+ *
+ * For HWP specifically, values must be limited to 0-255 or within
+ * XEN_SYSCTL_CPPC_ACT_WINDOW_MASK for activity window.  Set bits outside the
+ * range will be returned as -EINVAL.
+ *
+ * Activity Window may not be supported by the hardware.  In that case, the
+ * returned set_params will clear XEN_SYSCTL_CPPC_SET_ACT_WINDOW to indicate
+ * that it was not applied - though the rest of the values will be applied.
+ *
+ * There are a set of presets along with individual fields.  Presets are
+ * applied first, and then individual fields.  This allows customizing
+ * a preset without having to specify every value.
+ *
+ * The preset options values are as follows:
+ *
+ * preset      | minimum | maxium  | energy_perf
+ * ------------+---------+---------+----------------
+ * powersave   | lowest  | lowest  | powersave (255)
+ * ------------+---------+---------+----------------
+ * balance     | lowest  | highest | balance (128)
+ * ------------+---------+---------+----------------
+ * performance | highest | highest | performance (0)
+ *
+ * desired and activity_window are set to 0, hardware selected.
+ */
+struct xen_set_cppc_para {
+#define XEN_SYSCTL_CPPC_SET_MINIMUM              (1U << 0)
+#define XEN_SYSCTL_CPPC_SET_MAXIMUM              (1U << 1)
+#define XEN_SYSCTL_CPPC_SET_DESIRED              (1U << 2)
+#define XEN_SYSCTL_CPPC_SET_ENERGY_PERF          (1U << 3)
+#define XEN_SYSCTL_CPPC_SET_ACT_WINDOW           (1U << 4)
+#define XEN_SYSCTL_CPPC_SET_PRESET_MASK          0xf0000000U
+#define XEN_SYSCTL_CPPC_SET_PRESET_NONE          0x00000000U
+#define XEN_SYSCTL_CPPC_SET_PRESET_BALANCE       0x10000000U
+#define XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE     0x20000000U
+#define XEN_SYSCTL_CPPC_SET_PRESET_PERFORMANCE   0x30000000U
+#define XEN_SYSCTL_CPPC_SET_PARAM_MASK \
+        (XEN_SYSCTL_CPPC_SET_PRESET_MASK | \
+         XEN_SYSCTL_CPPC_SET_MINIMUM     | \
+         XEN_SYSCTL_CPPC_SET_MAXIMUM     | \
+         XEN_SYSCTL_CPPC_SET_DESIRED     | \
+         XEN_SYSCTL_CPPC_SET_ENERGY_PERF | \
+         XEN_SYSCTL_CPPC_SET_ACT_WINDOW  )
+    /* IN/OUT */
+    uint32_t set_params; /* bitflags for valid values */
+    /* See comments in struct xen_cppc_para. */
+    /* IN */
+    uint32_t minimum;
+    uint32_t maximum;
+    uint32_t desired;
+    uint32_t energy_perf;
+#define XEN_SYSCTL_CPPC_ACT_WINDOW_MASK (XEN_CPPC_ACT_WINDOW_MANTISSA_MASK | \
+                                         XEN_CPPC_ACT_WINDOW_EXPONENT_MASK)
+    uint32_t activity_window;
+};
+
 #define XEN_HWP_DRIVER_NAME "hwp"
 
 /*
@@ -418,6 +480,7 @@ struct xen_sysctl_pm_op {
     #define SET_CPUFREQ_GOV            (CPUFREQ_PARA | 0x02)
     #define SET_CPUFREQ_PARA           (CPUFREQ_PARA | 0x03)
     #define GET_CPUFREQ_AVGFREQ        (CPUFREQ_PARA | 0x04)
+    #define SET_CPUFREQ_CPPC           (CPUFREQ_PARA | 0x05)
 
     /* set/reset scheduler power saving option */
     #define XEN_SYSCTL_pm_op_set_sched_opt_smt    0x21
@@ -444,6 +507,7 @@ struct xen_sysctl_pm_op {
         struct xen_get_cpufreq_para get_para;
         struct xen_set_cpufreq_gov  set_gov;
         struct xen_set_cpufreq_para set_para;
+        struct xen_set_cppc_para    set_cppc;
         uint64_aligned_t get_avgfreq;
         uint32_t                    set_sched_opt_smt;
 #define XEN_SYSCTL_CX_UNLIMITED 0xffffffffU
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 18:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 18:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578867.906616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Q3-0004R3-Ii; Mon, 07 Aug 2023 18:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578867.906616; Mon, 07 Aug 2023 18:57:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5Q3-0004Qs-Er; Mon, 07 Aug 2023 18:57:31 +0000
Received: by outflank-mailman (input) for mailman id 578867;
 Mon, 07 Aug 2023 18:57: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5LH-0004lg-T8
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 18:52:35 +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 90970bbb-3553-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 20:52:32 +0200 (CEST)
Received: by mail-qv1-xf2d.google.com with SMTP id
 6a1803df08f44-63d0f62705dso31217936d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 11:52:32 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 l3-20020a0ce503000000b00635fcd30ff9sm3077278qvm.40.2023.08.07.11.52.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 11:52: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: 90970bbb-3553-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691434351; x=1692039151;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=th66OAkyXfCb+8rqcY7T1oi7fcMyAzOkt6nXPnMYefM=;
        b=U0SJXFmwB0QB3rzVbn18YtO4XaHbkLyqGMzTWNUlvx7WCmGcr9FcXhA4ZFd6qpPtzE
         C80gMNl5jXBBxFflxh3srBkXQIBe0oWgKbRXehv7ikL5aV2s4otKmk8fDbEillzSa2qj
         PK1Ah+xrGgEcGp5CzaF8z4VhEVva81qNj4pMRHuzTDG23UinMATTrPzg/rCnD7XJ+v/A
         p3AoK0eW/zRMhX+obmdScIdCMIFM+w31z3LCjyZye4QybbIDbcW2AjJ4d7hu/P9id7vx
         0crKCoyjRvT5/bJ3CGv7U/z2qgn4YhEW51seSS//QZJwhcrVz3giwLp9lwWxdQNHp9OP
         3IBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691434351; x=1692039151;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=th66OAkyXfCb+8rqcY7T1oi7fcMyAzOkt6nXPnMYefM=;
        b=SaE4VYI/RLxi3ioqGPENhBA6vxxaxZufNV/41w71G2XVMxWIZmCQqe1VEWfOeWtM1X
         o4wds0YmEF2S2oNINC6N1MuUFK1ILj3M92h461kCFYfRGmQxMZeRSdYPf7rDraapoU3v
         mRF2dFyQvlL4f7ejgHwajGnPp7X1y9pv3a7qOX62yi28sBagZjwOcrCezEkKUUMSpl+2
         nH3RgVSOxVqb6NsNywjecqqLyIWdMMvwdioXibrMwEYP11v3gufmxQ8/E2afN8GdtgJz
         CU23T1Kbe5haRqJnnWsXXdizVq58cpdRXntgCP9jy1qnhJN5zTCCTB+RX29DKNDXkEa/
         xtZQ==
X-Gm-Message-State: AOJu0YxSO42XTK2kMn0TwkDCDePSoXU3jgYqBHqfk57NoOrpLm/lD027
	Rj7K7Gg1dVpibwfF038qt7mS9DS+RGU=
X-Google-Smtp-Source: AGHT+IH5PcmbQONWX0ET0Fwui98yNSXOY56/kwYGUa5lf37rZkMDqWFNhdyH6inHc/5YenFSgksxIA==
X-Received: by 2002:a0c:f24d:0:b0:635:dda5:bb88 with SMTP id z13-20020a0cf24d000000b00635dda5bb88mr9308623qvl.53.1691434351205;
        Mon, 07 Aug 2023 11:52:31 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v8 15/15] CHANGELOG: Add Intel HWP entry
Date: Mon,  7 Aug 2023 14:51:19 -0400
Message-ID: <20230807185119.98333-16-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230807185119.98333-1-jandryuk@gmail.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Henry Wang <Henry.Wang@arm.com>
---
v3:
Position under existing Added section
Add Henry's Ack

v2:
Add blank line
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e5efcabda..56921db79f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - xl/libxl can customize SMBIOS strings for HVM guests.
  - Add support for AVX512-FP16 on x86.
  - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
+ - Add Intel Hardware P-States (HWP) cpufreq driver.
 
 ### Removed
  - On x86, the "pku" command line option has been removed.  It has never
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 19:09:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 19:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578890.906626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5bL-0006dI-I3; Mon, 07 Aug 2023 19:09:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578890.906626; Mon, 07 Aug 2023 19:09:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5bL-0006dB-FJ; Mon, 07 Aug 2023 19:09:11 +0000
Received: by outflank-mailman (input) for mailman id 578890;
 Mon, 07 Aug 2023 19:09: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=aC6Z=DY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qT5bJ-0006d5-Te
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 19:09:09 +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 e1ff387e-3555-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 21:09:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BFEE562158;
 Mon,  7 Aug 2023 19:09:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A8C6C433C8;
 Mon,  7 Aug 2023 19:09: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: e1ff387e-3555-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691435346;
	bh=OONUMkr4pVyrRDkANbDJUrnv0+TbQpEMBqD0Z2FV+QE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=n14AHqm9p1twSr0CYxqj+WcYmP8534oKOR7SiwtESg7WNqZy5+JZfkwyf35wSsOdM
	 8yY/a9eJiW9mOakR/FWOw4ZS9QLP8SUMFWkJBRdLOJHfGPP+m1Ok8EVEEsKOMKzUNJ
	 OR7hqo7pUF0vPiNRQk8DbF5ItR4DmCVqBvyD0/fZf2NIeh/Ckzs0cOMdFOMBkNsTaN
	 4UQyJTqoK5PiOxsQAbsrC1le0ORsR8KeCo49VSHhtlD92RQqscR25pFrSY2KRnDz4j
	 RR4H53FIZo+40INvXVk06ekskUFM6dsGiotkJilCm6Ls8l7KWUlgPVHZyMU5oJa6nw
	 //FC+VezkdRYQ==
Date: Mon, 7 Aug 2023 12:09:04 -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>, 
    Simone Ballarin <simone.ballarin@bugseng.com>
Subject: Re: [PATCH] automation: Advertise that ECLAIR jobs do not need
 prerequisites
In-Reply-To: <20230807134122.10878-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308071208550.2127516@ubuntu-linux-20-04-desktop>
References: <20230807134122.10878-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 7 Aug 2023, Michal Orzel wrote:
> While not required today (ECLAIR jobs come first), add "needs: []" for
> future-proofing and consistency with other jobs in the pipeline.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
>  automation/gitlab-ci/analyze.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 3325ef9d9a44..4aa4abe2ee18 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -18,6 +18,7 @@
>        - '*.log'
>      reports:
>        codequality: gl-code-quality-report.json
> +  needs: []
>  
>  eclair-x86_64:
>    extends: .eclair-analysis
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 19:13:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 19:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578898.906636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5fj-00088i-BA; Mon, 07 Aug 2023 19:13:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578898.906636; Mon, 07 Aug 2023 19:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5fj-00088a-6E; Mon, 07 Aug 2023 19:13:43 +0000
Received: by outflank-mailman (input) for mailman id 578898;
 Mon, 07 Aug 2023 19:13: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5fi-000888-AU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 19:13:42 +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 8423dd5c-3556-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 21:13:40 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-52328e96869so3623949a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 12:13: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: 8423dd5c-3556-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691435619; x=1692040419;
        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=RXxMEtzIXtzgrrtBXu1NPeueyjZJ8BAJ7BaiSiWCnkU=;
        b=OHkY0nOSdqh/FIrYL07zgHYHXA4M9yfec4cgL0/ZsTlcubZRB09Xmz7RAsFYTDvSUD
         AIrFcWGG8A1EHy8UX4+S0MunsXDXkcsZDmvFNO74lORRx0XcQwlvz/pq7DDVy7zEpkD4
         gGZ+kTuqRHu3cFAjgMbD1v+PAThmofi0mfUR9jlTq4dvC+/HjsdRiV/D8DGada/tUo3s
         m8RR103hx0vpw/WaC4KsXMSjfBOj6xKT6omnGTwlyERjSPFFw7y+WQlSYXugwR1InnCZ
         YDHb7moHW5qR5Ky+PlbDyhErLvnI/8lWqBRjrOTCmK0BTW7NeJcAOBOfGBKLjIABMwjO
         YkfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691435619; x=1692040419;
        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=RXxMEtzIXtzgrrtBXu1NPeueyjZJ8BAJ7BaiSiWCnkU=;
        b=CzcT+ZHPr9L/F6r0p5skN8Hy8+p4Nfhmv2gohABpk6RVh2zBsNgbDDZw0cKJgVaNjL
         m1pvv9bWAeYsfOrV3KpcsC3PylDLnz86vsUVb+YMZSY2qd8dQ8SOH+NKPe02/AdmmyKp
         /2KNvhuQWn0mbQ6IPpLZ9qh3LwmXOUcYMWM68ZYTiErA4knhLUecxiCSTBABGBbpb6Jm
         ku3AMgZEQUhQZ9SSKRyZno/dEeTsAvXcJznQkWPgB5TMS9PaUu/a+OBcvP7Rxw1L06/e
         wAz+L569o31PGKHZWBbeICTcOOAIJ0Iy0otsgkzxje6yL+3mrWYQB23Zyex9AvblwjQp
         N0IQ==
X-Gm-Message-State: AOJu0YzqWDloJEP3HTN0ukIlo1AZNdHQz4f3Qipx+6n028ARxLu/j76E
	3IsLopM2Rue+sn0vlyJXyZNLMG+t0BMjb3IdOGJWu6Ac
X-Google-Smtp-Source: AGHT+IGsJrdTF/VBHdSRUmI4G2FG/S8Tsgk5Kcx9xzUfrGQCqDzRZjKLnlj+b0BYpoyfSrQwCHwCYZlxGCEYBJuP6iM=
X-Received: by 2002:aa7:c2c9:0:b0:523:3e4f:1ff8 with SMTP id
 m9-20020aa7c2c9000000b005233e4f1ff8mr1983673edp.16.1691435619009; Mon, 07 Aug
 2023 12:13:39 -0700 (PDT)
MIME-Version: 1.0
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com> <3c819879-d113-facd-b025-b062e68bb6a1@suse.com>
In-Reply-To: <3c819879-d113-facd-b025-b062e68bb6a1@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 7 Aug 2023 15:13:26 -0400
Message-ID: <CAKf6xpvGL-WNKeU6WvWgf0TGU9Kz0OVp+x7gYBKanHQq-O9c_g@mail.gmail.com>
Subject: Re: [PATCH v3 3/5] x86: allow Kconfig control over psABI level
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 26, 2023 at 6:34=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> Newer hardware offers more efficient and/or flexible and/or capable
> instructions, some of which we can make good use of in the hypervisor
> as well. Allow a basic way (no alternatives patching) of enabling their
> use. Of course this means that hypervisors thus built won't work
> anymore on older, less capable hardware.
>
> Since older compilers (apparently gcc10 / clang11 and older) won't
> recognize -march=3Dx86-64-v2 etc, also addd fallback logic passing
> -mpopcnt and alike explicitly.
>
> Note that in efi_arch_cpu() the filling of 7c0 and 7d0 are forward-
> looking; we only require 7b0, but we need to use cpuid_count() anyway.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 19:18:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 19:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578906.906646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5kW-0000M9-RY; Mon, 07 Aug 2023 19:18:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578906.906646; Mon, 07 Aug 2023 19:18: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 1qT5kW-0000M2-NR; Mon, 07 Aug 2023 19:18:40 +0000
Received: by outflank-mailman (input) for mailman id 578906;
 Mon, 07 Aug 2023 19:18: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=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5kV-0000Lw-PB
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 19:18:39 +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 35d67885-3557-11ee-8613-37d641c3527e;
 Mon, 07 Aug 2023 21:18:37 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-523100882f2so5766070a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 12:18: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: 35d67885-3557-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691435917; x=1692040717;
        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=EnVVq0gFmpSLJc7Ra4hKzgPMN6I3sQVjfRFG+ziAaNQ=;
        b=DQLUER5+ML7/Yo2Em24FN3v9IrFyVp9+kNy+QKr3hfyBbFCATqwg2jiQSC44U8Rwbp
         ohZdcGuPwgfhdIkJaqfhrDmkld31NXLQUqk5qVB6rl7IDKF+YmLmSP9bD5k8Jy8IXnda
         yRs28Sj2jFziSyuzf7LoKNoMBH7aJLAbH5eNRXGmB9EyC8Bm1GgwXzllomajYw4E6v6O
         9iKln5hHxHu2XHMPsQRuFQEiQHDSjeU/rUPS+CKa33w5ks+zvlIfafz0hN1E8Rmx0vXL
         huehtudTV8TsAQt2iYlHpVhbyGlNSFgqtmZMlYpEpdezSK3gP/bkO86KmkK87QiO7mZl
         xnyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691435917; x=1692040717;
        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=EnVVq0gFmpSLJc7Ra4hKzgPMN6I3sQVjfRFG+ziAaNQ=;
        b=HkZ+4mNLrD2lCJXsO8hbsEKf//pqQMOMewc90ElkNYUAn9pBvYYun7zZD5fXJcTrV9
         zpRdIJ3OjzuJIVpC/RIIOr94gPVLCG/BkyUk/6SdunMGF0PRWwfKTBqOaRNTgL8e31Rr
         dMGwMJW24kl2vSTPi9GQc1gqAAGSSakgMFvg/cJIkqGL53DzpcJkXQOSL94EOY60x34J
         4jvJ/uJ7egLhCxh6HBEkJIxTcjlTk0iUxiCxnB1YJDZlpyNJjhbp1Hs/9qX3QlMbFk3f
         TnNoY5UR8tKTADT6kJzYgTLOYsyws+jGSe3XIe94dRxsKyQb46aPSr96+P/TgnT7+MNW
         54lQ==
X-Gm-Message-State: AOJu0YxPNfg2tNo+hqvZuU2wX/86RQKtK5qWqP7dC4cpNp4FZrXFgO07
	PwvJN3zihtbQLnXdEkwenMtwOpBpvJ0pjnZ0KOg=
X-Google-Smtp-Source: AGHT+IG+m4XVxDF/Rm2u1rgJr/aS2zRCOZc7kHVJfbVidAgv8rP7YyRISpzYUtQC0FpCnYYhZlYTRHPd/fQ/HHcIjhk=
X-Received: by 2002:aa7:d807:0:b0:523:9c4:67ba with SMTP id
 v7-20020aa7d807000000b0052309c467bamr8027044edq.6.1691435917089; Mon, 07 Aug
 2023 12:18:37 -0700 (PDT)
MIME-Version: 1.0
References: <20230807140620.47221-1-anthony.perard@citrix.com>
In-Reply-To: <20230807140620.47221-1-anthony.perard@citrix.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 7 Aug 2023 15:18:25 -0400
Message-ID: <CAKf6xpveoJLrk-hU9Z3qHRgaaTFdMcD8MU6m61h+f0WAssu2Rg@mail.gmail.com>
Subject: Re: [XEN PATCH] libxl: Use XEN_LIB_DIR to store bootloader from pygrub
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, 
	Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 7, 2023 at 10:07=E2=80=AFAM Anthony PERARD
<anthony.perard@citrix.com> wrote:
>
> In osstest, the jobs using pygrub on arm64 on the branch linux-linus
> started to fails with:
>     [Errno 28] No space left on device
>     Error writing temporary copy of ramdisk
>
> This is because /var/run is small when dom0 has only 512MB to work
> with, /var/run is only 40MB. The size of both kernel and ramdisk on
> this jobs is now about 42MB, so not enough space in /var/run.
>
> So, to avoid writing a big binairy in ramfs, we will use /var/lib

binary

> instead, like we already do when saving the device model state on
> migration.
>
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 19:22:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 19:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578911.906656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5np-0001mT-9Y; Mon, 07 Aug 2023 19:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578911.906656; Mon, 07 Aug 2023 19:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5np-0001mM-6F; Mon, 07 Aug 2023 19:22:05 +0000
Received: by outflank-mailman (input) for mailman id 578911;
 Mon, 07 Aug 2023 19:22:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qk11=DY=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qT5no-0001mG-85
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 19:22:04 +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 b03dd26d-3557-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 21:22:03 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-52307552b03so6756295a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 12: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: b03dd26d-3557-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691436122; x=1692040922;
        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=BuCRkyKda8YWgOZqK5+ahsUV1F3t/tbQ+gtgKZ/2cZM=;
        b=YoXuPmyIUWvzKVGMNJOMvRR2rqwx1pTl4u8VhjYNCtdHhd6isx/cIcT0WycrVkjV3b
         HP8wMBVaZR3BwjULGAuXLV5uTJ7LkISUxMiUGvzdjFLcYXSoTBxiLaa/HxJqW0IE9wqN
         ecI14tsJA66jHxzPiEwM4oLOrtfFeYtwc0U6iKJnTV4Ac0ALW+MMsp7+uo1AeRJVTicI
         3D6Z64xlbfiprv9PttD81bwyagfAGpydyJuTSJUg3+a7MbEtyvZc3bERZkeDKabktP0K
         GUCdTxJZ16pKZSRtSYgJwK7QqBoc4tB6R8QUWgCbHKW9HFotixEAgR02xEbTxaeYI5A0
         cKkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691436122; x=1692040922;
        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=BuCRkyKda8YWgOZqK5+ahsUV1F3t/tbQ+gtgKZ/2cZM=;
        b=Mp47MgXeOTH8Tned/4F4DQgy1LBz2av5ltqetVhq0x7RINoOgJdMpLOFjPq89R1oEx
         WGl7TByiYZrKkEDQ2IQ28DO5yws9Y9UQLXn5r4mUGVrkB+19vRJW9L814/kzbkg/JcoT
         JNoL+Cb9judbZlQM02IN7JtA3FJH4/3aBenTLwxN3Il7PscC+llV2+v5lN8ffr/3bdIZ
         6/4M8gvL4VTBOySbp2yDNqYLfUb+bsDG2hUTo12ikh7H3S90bOn8UAVVVnHyHYuIBySY
         2IudVXZiIt8dwCrs8fcAS4Ixg6iSwnNkUAkqZQK1fzN52IWdYk+wW99ISQbzxQf9IcYO
         PnIA==
X-Gm-Message-State: AOJu0YxdM3HmLwd+3HHYkBIZAoNbYXIrtMbtC6fmE2GxZgiST+0zursS
	wwJYk5CEOuwBXmFBdqBoic1w82jChQ6jC1ogZZo=
X-Google-Smtp-Source: AGHT+IFacaM2BJDDKzxw+pVOfKCW4EIimknet/GNgHUe6qHo7FXGBs9SqdY5cBX0gWqIrid577hldRoEEbzQ7NTcQhQ=
X-Received: by 2002:aa7:d358:0:b0:51d:f5bd:5a88 with SMTP id
 m24-20020aa7d358000000b0051df5bd5a88mr8602875edr.38.1691436122534; Mon, 07
 Aug 2023 12:22:02 -0700 (PDT)
MIME-Version: 1.0
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com> <367db8f8-3287-d694-e591-efcffaf9ee99@suse.com>
In-Reply-To: <367db8f8-3287-d694-e591-efcffaf9ee99@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 7 Aug 2023 15:21:50 -0400
Message-ID: <CAKf6xpu-PhzfkbCsKto-VSisU6E81dtpF=HqwVtwmNoVsVTBFg@mail.gmail.com>
Subject: Re: [PATCH v3 5/5] x86: short-circuit certain cpu_has_* when
 x86-64-v{2,3} are in effect
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 26, 2023 at 6:35=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> Certain fallback code can be made subject to DCE this way. Note that
> CX16 has no compiler provided manifest constant, so CONFIG_* are used
> there instead. Note also that we don't have cpu_has_movbe nor
> cpu_has_lzcnt (aka cpu_has_abm).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 19:24:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 19:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578916.906665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT5qX-0002Ls-LQ; Mon, 07 Aug 2023 19:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578916.906665; Mon, 07 Aug 2023 19: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 1qT5qX-0002Ll-Ir; Mon, 07 Aug 2023 19:24:53 +0000
Received: by outflank-mailman (input) for mailman id 578916;
 Mon, 07 Aug 2023 19:24:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aC6Z=DY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qT5qW-0002Lf-EE
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 19:24:52 +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 139c6502-3558-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 21:24:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1D1D96216A;
 Mon,  7 Aug 2023 19:24:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43F89C433C7;
 Mon,  7 Aug 2023 19:24: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: 139c6502-3558-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691436288;
	bh=ShzSncWkK1q8EFrv8kW0nziCl3BTWaxfOq7SLvNC8Ig=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SSjYMqoCsffrsoGxAQYfHlrN1G9QhvnVUJenCxVfrwgwbwq+5b7sOPvmFdDchGxFh
	 Z28YrElnMcU6Kqbw73o9ViZYSnRW8QCi1L6dwyNAAqnSvQG4P+bOYo+R3viF8vFOli
	 HajyptAYgcWKT4lk3i8b7LI+X1LzkRp1C12D4jw8haZA8OVvF7A4TNdYMEhjRsoJiS
	 r3wXbZ7fV2hvqMud11n0KX/ISy8sMK533iQu9GRgrD1ymu3RN6YTlUwfbTMHf+nNpt
	 NdugpIUheEv5ME4cw9KoO8V/mT1MkIIAuloQ+/EqKOh1XFlQGd0V0MyfGVXjxIT1Ba
	 wqLLOvFK4tJRg==
Date: Mon, 7 Aug 2023 12:24:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "community.manager@xenproject.org" <community.manager@xenproject.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, 
    "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
In-Reply-To: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2308071209470.2127516@ubuntu-linux-20-04-desktop>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.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 Mon, 7 Aug 2023, Henry Wang wrote:
> Hi everyone,
> 
> Following the release schedule discussion in in April, I am sending this email
> to remind that according to the release schedule [1], August 11 (this Friday)
> will be the last posting date, when patches adding new features are expected
> to be posted to the mailing list by this date.
> 
> Also, note that we currently have 1 release blocker [2] which might need
> some attention.
> 
> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
> [2] https://gitlab.com/xen-project/xen/-/issues/114

We have another release blocker in my option:
https://marc.info/?l=xen-devel&m=168312468808977
https://marc.info/?l=xen-devel&m=168312687610283

Andrew, would you OK with making it a release blocker? We already have a
tentative fix from Julien.


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 20:56:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 20:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578952.906692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT7Ge-0004ML-Jw; Mon, 07 Aug 2023 20:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578952.906692; Mon, 07 Aug 2023 20:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT7Ge-0004ME-Ge; Mon, 07 Aug 2023 20:55:56 +0000
Received: by outflank-mailman (input) for mailman id 578952;
 Mon, 07 Aug 2023 20:55:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ru+M=DY=citrix.com=prvs=57627f799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qT7Gd-0004M8-6K
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 20:55:55 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb21262f-3564-11ee-b280-6b7b168915f2;
 Mon, 07 Aug 2023 22:55:53 +0200 (CEST)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Aug 2023 16:55:46 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6069.namprd03.prod.outlook.com (2603:10b6:208:309::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Mon, 7 Aug
 2023 20:55:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023
 20:55:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb21262f-3564-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691441753;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=00OESeAFg69Kz2rY49e/l18jDbeyyE7Uov/LuG6aTxs=;
  b=WkffSd7hlrROS5BhObd+cwf+1xeRKemftkOgFWdavp/+QN5W0YSypxKK
   ifAvXVOtWLfgOhEk180oGOWxJafzlHPMrKfLCcDENDw9wmrpF0e/qIdNi
   0wwFo2RAYYLKta7uY4BewVu5e38d38Kj5TFkFMFVUiK9cBswAr2nojynu
   M=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 118057846
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:EcE4x6NXmIZSKOnvrR0zlsFynXyQoLVcMsEvi/4bfWQNrUp30zQHz
 WYcCGuOP/uOYWqmKdx3aNy1p0kCv5PcmN8xTAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5gNmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0r1XA3BF+
 f4nFDwqXxuGi/C57KP4ctA506zPLOGzVG8ekldJ6GiDSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+/RxvzW7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraWzXumB9JOStVU8NY1qn+M33MWLyYMRAukhqWHjmunW99mf
 hl8Fi0G6PJaGFaQZsLmQxSyrXqAvxgdc9ldCes37EeK0KW8yyaUAHIVCAFIbtMOvdUzAzct0
 zehj97vQDBirrCRYXac7auP6yO/PzAPKm0PbjNCShEKi/Hop4Q2kxTOUsclFaezh9L4Axngz
 jaSti88ir4Py8kR2M2T/1rKnjatrZjhVRMu60PcWWfNxgFkYI+oYaS45F6d6uxPRK6zQ0Odp
 nECl4675foXEJCWvCWXRaMGG7TB2hqeGDjVgFoqGoZ78T2ooiSnZdoIvGw4I1p1OMEZfzOve
 FXUpQ5a+J5UOj2tcLNzZIWyTc8tyMAMCOjYaxwdVfIWCrAZSeNN1HgGiZK4t4w1rHURrA==
IronPort-HdrOrdr: A9a23:nfSu5KCI6aiYUHHlHemK55DYdb4zR+YMi2TDgXoBMyC9Vvbo7v
 xG+85rsyMc6QxhP03I/OrrBEDuewK+yXcY2+ks1NSZLW3bUQmTXeNfBNDZskXd8kTFn4Y36U
 4KSdkaNDSfNzlHpPe/yBWkFc0t2dyWmZrY/ts2DE0AceipUcxdBstCZTpz23cZeDV7
X-Talos-CUID: =?us-ascii?q?9a23=3AT5d8P2uHCpv434KsOSRkPyp+6It+Un/Mx3vSHHO?=
 =?us-ascii?q?0LldiTbGHRnOBu5tdxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3A90G++w4gHGv4ORKgaPMDICBhxow3yYaxEV8Itq4?=
 =?us-ascii?q?cqpmbEnBOPxKEjDmOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="118057846"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aAHXDKZE1D73IucaJJpV5qLBabtiGs1pAJGEYHqXSdKQpBRtHEwvtXuMafFCJ6JAmU/MoH8tgea55Pw2gZXORQDN5GXOF3Wj8v5ucmp2C09gitzjr8xBEqhv771VLsiMVxt/Jx+ldJcxraUkYyafavI4MmfjR9sDVlT0Nj7JhaB/RhPA/neV3bahc9QRPcgyCzXijkK9FYbl2N7Fj6tcAUY0pYim2BnubI3DVFQAgHlop2trMWwZ3n2dyBhWASP25GNGc00TLUrD5DOihphxrzymtK7U3Pm2gTOS2OF3f7blSMVn+EZQG+7qFAVY7Vs3XUCEm72AVbzVlDCkRoLgMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=00OESeAFg69Kz2rY49e/l18jDbeyyE7Uov/LuG6aTxs=;
 b=aEVLgItnBA5YTj14RVIqoIDstyTOw3xrwKlZVtyeUxcEBBNQXKZeDH4KpD+jEs5+1tSJMn8FNiRtfCMx3waULq34TTkwyC/vT3gESkhJE7O8iuePUi/KVWWmb4sasRzfsy16RAu2nhwHuyWVSMAP05dQRPb3tyz9ZG3kXj4+gY2vLYHiu5mMhNWowPlua+kG8sAIzzRvo9gxwj0sVMeNu1UoljabZStDBu6s7Ic/G/gdQ9/ElT+v42QBy3himCe1tfelkrKhwOV7WF4EzrcsixHwliZWK8tAnsiM7zJ3ZuA1sNFNMgl7gFgB5KaYl+XDRHuZCmMLMAa5nWtM56nGxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=00OESeAFg69Kz2rY49e/l18jDbeyyE7Uov/LuG6aTxs=;
 b=swQvHf4ZEXJ7pJwbuRajTSH2fkvuVkFoyvceg7tYFCoc7xPUwz/OtZJ2z6McdkI+tNxN31lcfVkgPtjFsVOkZ5lhwagnQwm7CaY2Qp/EdM8ACc2ZwfmrHhIKurMPQ37wgAix/e6gpeIXe7ansX98Ku3f1ViX9Dd8nzCp416zBSA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <70a225ba-e263-48a8-793d-3f596e89fc41@citrix.com>
Date: Mon, 7 Aug 2023 21:55:29 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Henry Wang <Henry.Wang@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2308071209470.2127516@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308071209470.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0125.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6069:EE_
X-MS-Office365-Filtering-Correlation-Id: 60bdd084-4450-4382-a84c-08db9788a609
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q2eCQr+RmNQtkPfV5EZ/9jLUHhDm9C9saVzW5regoxh6oHIVvzyBOZF8v/pPte6zzOQ8cIMw3eE6FTkbrTJyXwxwzjc4EoGRcvZdn1mf5xMzWuXIvwJrglu7sDD6O2Jb6Aum/iy0CQ6hKTM5VgezSJs02nEgdA9z+pDe1p2AAE0iIXwYFJapjH9GcVCy+2+L0OVTd1Hyn0bR1O2ozhh0WE/ZiJ7nyfuOONyJhNCSlxZy5ALjd7MyQKBNDLsyipEoKzjqXOaa3pZAmtZ2ACcGoWMSZqm2eytHC8CFFQ8Nn/Wqaj5DjFtrq0Y0mJqg+VSOaygg4S3OIxMWTYrCI5HAsQW2ssGAcWDgcFvxf+sTgpds9UnYyeOsNtW2vkbnSnnfEpyfWfTOsoFrI/FaIRZ2vGRRtopdVE+mdX0Dd4iI3bMzlHWkKtAHnX9PoVQCBz2/EWKWdCSk9mpWKB3qk/XD4N/Kqd6ATQXED1q6SltTYr718s2E4pF4Bbys6vFJCL7jJ6BV88nICP6Jw4ciGex595xvOSwE9zv9lwq9C8jtVDjwerqJaQYwWYxKDue9x373p2cSG3+I3PAbqQdqO9SykDjpJ3P8H6hftldmyweE4mUOVGuVd2ahewXmCie/Y+34oWSbhw4OlEv7NABdgTSJCQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(366004)(346002)(39860400002)(396003)(186006)(1800799003)(451199021)(2616005)(82960400001)(45080400002)(478600001)(83380400001)(31686004)(6486002)(6512007)(966005)(53546011)(26005)(6506007)(41300700001)(66476007)(66556008)(66946007)(8936002)(316002)(8676002)(4744005)(31696002)(4326008)(2906002)(6666004)(36756003)(110136005)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R01ENEJ2WjQ2SFZJUjIydWhzdWJoK2NEc0tGclNtSlZqcDlzZzN5RkVoMXhP?=
 =?utf-8?B?NjBtUEhCNnlQUzBCYmxqVTUwUXd2UEN4T3UwWCszaDZWcEFsSlFwYVpYUkRQ?=
 =?utf-8?B?anlwL2V6TkhrdVpqV1p0djdWZnMzcXdDTmNmRWh3bEdBRm5MM25UbnMxRHJN?=
 =?utf-8?B?bk1vWnVEMEpRajVDWmQxRGJlb3JqKzdDOUhwUWZVWlQyaWc5S2dHSFA0V0VK?=
 =?utf-8?B?TFJRWlV6OUNlSWJ3bGNIZkNQZ294NWUwRER6RHVKWTFvaU5zMVU0UUVObTNT?=
 =?utf-8?B?YmZUaHJCTHB0aUdVZGQvM3VyV2hIOGpvN2lHM0pHajhRbS8vWmJVcmhXYWZs?=
 =?utf-8?B?V215V2RkZnc5MHBPSTJsZzNJckIyWGRxTFhYOTRDd3ZZWXA0WFFhRWdHdTA1?=
 =?utf-8?B?VTZKVDY3eDNveUEyM1ZWNXdqU2x2SFB6RHovak1RWGdSUVFrM1JMdTdMR28x?=
 =?utf-8?B?YXI3eU1KWHFmaGNqYXpzR2hreTFvRnM0dEg4S0x5MGxXWTBLbHNjT3Z0bWJK?=
 =?utf-8?B?RzU3TjNJSXJYTmdic0JTcmsyU3BJd1Z4OG1aYXZqNHI2b3dRV1M5V3ovdU9w?=
 =?utf-8?B?VUMwQkMxNjdzTmdJMkZHWmYwRTVrdnMrZU9CampWKy9wWFgvWk9iTDQwQzRs?=
 =?utf-8?B?WWxhYlVvWDVaYWJoTkdaWURNeGJhV3d0d3FhQXBoL2xLb1BnZk10RFEvb1N3?=
 =?utf-8?B?U21uQ2QvZU55Q0pmZXdQNHBsVTdSNFluWjVhdUtNSG55QzJzd3RsWHJaTnhn?=
 =?utf-8?B?Uk1SRE5SL2EwTjBUWmxlNWx3QUwralJnalZXUVZ5VmlPM3RRYTZtaUUvK1dO?=
 =?utf-8?B?MU1zVk5iaGZtU2RhSnlDSURyb0YxRVRqZ21qWjhiMjAwcEhZZnJDeDN6bmU5?=
 =?utf-8?B?WG1SVGtxaHpYSjFXSFRlaUNxTFFrUzExc3RCaFU2R1ljcTQvM1N0c3ZXenY5?=
 =?utf-8?B?d1ZQbS9sdUtia245R0NYY2I0Y2lZaTVIdXRSdG5BLzlDZ2w0aHFJdFNiN0ZD?=
 =?utf-8?B?Q2JLMWtGbjlmT01kejFEQWxaTmcrOUVMTm12am0rOSs2Y3FMclJiZGN0ZkdN?=
 =?utf-8?B?R3VGb0JXS0FxaXBLUjhVRnBsdEpKbkNScjRUcGQ2d3BUT3RsM1NLbnhMeUJR?=
 =?utf-8?B?NDBIanU0Z2tDZGxhV21xMXlkb2dYUWFxWk1QR2t2dWZ1bFMvMER1RmRITE85?=
 =?utf-8?B?eVk3UWlPNEhyZjR5SzhlVlRGcFBjOTBjeDVDMzJudFVGb2ovMFlKSGFvTG1z?=
 =?utf-8?B?Sjd0Vmw5VXplaGRHdE51bmZQYjY3MytDSGRaMVJmWHlBcW90ZmRBVldqQzZl?=
 =?utf-8?B?SnJ6bXNGbG03RU92SnhmRVhSempOUnFqTGpsMVkrWUYwb1hDWXJTODRndGxZ?=
 =?utf-8?B?M0IwcDNxUDhYTVdnTGpGYUhGblhRdTFMZkptQkViVHB6WlF3Zkt6bGVGaHBP?=
 =?utf-8?B?WjBSUFJJZ3ZtNW14WG9pYkNsdUFIQ2hlV3o3YjRiOHBjRHBwNTY2MXB2SHdP?=
 =?utf-8?B?dE14Zjh1U0xmYWJpSHN5M2dJVGRqeGdpeHFIQlc3eXFlUVZML3Fmb3NzZXhy?=
 =?utf-8?B?dVh4bmJ5QnpSY0dYeVJyclNpMkpsSHlQakU4THJxU0d4SWF6M2p4R3FndmJw?=
 =?utf-8?B?UURaK3VqTTJuVGRraU1zcXJSUUlTaUZKdEllU1dyVEtwaExZSG5kZTVMQTRB?=
 =?utf-8?B?dUhQaHFrLzhEODNySnpWVVVRdmNrVmEzUWdKYkVxaVVpS1RweHNPM3NadlBK?=
 =?utf-8?B?cFNBSUZqVFlkbjF2Qis5c0s3eDVadERlS0RQZng4aTdTNlFMa0h0NnIwRm1U?=
 =?utf-8?B?ODBYM2dudTFoRC94cUNOSkxBWmpvbFdsbWYvOGM5QVdnaFh4eU82VjBhTGM0?=
 =?utf-8?B?UXI1ZWxoRXlRVm04ZFNqWllDL0VockQwc2ZkNmhGUkFnRVM3c0cwcjRKcnkz?=
 =?utf-8?B?OWF4Ymsra0k0TjhpbG05SGllclA3eG5sbWpTRnBiMUVSNSthRWRKeDBEbDVo?=
 =?utf-8?B?dTIzbWlUb1lrTjAvN0FIdzYyZlFIM0I0WDhqRkxjUzhpS1NIbHdwVTQwYVR0?=
 =?utf-8?B?M2dzVkRVeVpSTURBT3M4V2s2SzJKWWdxeW1XMmpyYjBLNWtvUkVxR01BUDRL?=
 =?utf-8?B?dHBBaklSSG5sY2VQcWRnWVlJVVkrNnpwNzJKYjJzQnJwTEFwbEtEbWV2Vyti?=
 =?utf-8?B?a2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	STMBWjxl7covTyo9FuHeWo7BfIoCV4LaTg/DM4WHOe90xt9sh2xbh0coVvp0hABUcvicwJOxUgBGc1rP0bDDe4C+6r9EBmywHX06h8faa+n4VNThR8sliF9SqrYzjK6qDFG/gRpuHt7hv+dvS+IYg4PLf8PwLZS28fMA2Pv9YIs8coKuCuQ3kFJNLuhaRsTpwoaBGf7kbIdikGPmibS8jPB9x5t6+Q045Wr5qjPl5jSnH240JhLupfvglXglzRzZTGFBl8Ty5CdD92bYTVnHFCrJnnu6IwAVzWkmCQGY2b62iPpsJoOEn1iatknvwZS5MJI6d8jgzcTehE0nATmZAeTJHBVR1yeFIXa9U9nBKe+LbvML+QPLlDkiAGbq5n3ieDxCbX0wlRd4N5f3tGoVpCkWU88ii/R5qhFX1QcfmpcCxSZ0/RutrqapaxvFquGHXioS0XduuOKLALnM/qogkUO9G0cS5kBv05tCByT3Df1lhhmH4JGUMxsnLkcUbt/5LHpqxjr65s6ZiuvgHedKGkVSfR5GzgnCpLvEdmzOYHTTx/ynBdxjF0h2YFMQbq6VUkE3f6JFB7QDVlDy0LVEzHZ8NuRfi41Dcn+PuuNqCePcRRve494xSZM2JexbkMp79SppC213iu0lKIruaToMyLtuxvbRsdTEtC0WJqYYG64cYuTbRcAEH/d53MnVfQTjKykbIMoGQHFsDz+VVbBhSf3dMObyHcVn5kweAZPrFHr8OqqW5F6WqXIdzYheRlOFTgQSYLdZOusipXYqgWAeUAATf2/9zkw7myvzJKjm+gTPikVc62lrhQC6xn5I1VwdcpFDV4446SznyHIVi+ICsqEFLcB7Pk2C5ro9kCd8sJhnqQX9xwwexEpjOD7xH33xQEZde7cdeJzFOpBPufvTDlIHqWm17XkrVJ8s67IQHjw=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60bdd084-4450-4382-a84c-08db9788a609
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 20:55:36.4156
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VGFr+SILY4iLN3Czn29/QlD4PaVqblxRiPErpMBN0cTVV/1f0KOKALXBgjxzeekTZppV/IyoIx+u/t9sXXtT7leq/Ts5J57So7FT8QHIk6E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6069

On 07/08/2023 8:24 pm, Stefano Stabellini wrote:
> On Mon, 7 Aug 2023, Henry Wang wrote:
>> Hi everyone,
>>
>> Following the release schedule discussion in in April, I am sending this email
>> to remind that according to the release schedule [1], August 11 (this Friday)
>> will be the last posting date, when patches adding new features are expected
>> to be posted to the mailing list by this date.
>>
>> Also, note that we currently have 1 release blocker [2] which might need
>> some attention.
>>
>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
>> [2] https://gitlab.com/xen-project/xen/-/issues/114
> We have another release blocker in my option:
> https://marc.info/?l=xen-devel&m=168312468808977
> https://marc.info/?l=xen-devel&m=168312687610283
>
> Andrew, would you OK with making it a release blocker? We already have a
> tentative fix from Julien.

Yes that is a release critical/blocker.Â  No it's not a fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 22:19:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 22:19:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578964.906703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT8ZA-0004Ri-LW; Mon, 07 Aug 2023 22:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578964.906703; Mon, 07 Aug 2023 22:19:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT8ZA-0004Rb-Gs; Mon, 07 Aug 2023 22:19:08 +0000
Received: by outflank-mailman (input) for mailman id 578964;
 Mon, 07 Aug 2023 22:19:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5n3t=DY=exostellar.io=kevin@srs-se1.protection.inumbo.net>)
 id 1qT8Z9-0004RV-6k
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 22:19:07 +0000
Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com
 [2607:f8b0:4864:20::f34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b71ed87-3570-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 00:19:05 +0200 (CEST)
Received: by mail-qv1-xf34.google.com with SMTP id
 6a1803df08f44-63cfd68086dso28200326d6.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 15:19:05 -0700 (PDT)
Received: from kevinnegy-MS-7B85.home
 (2603-7081-7e3f-df30-ac18-f9bd-4af9-8893.res6.spectrum.com.
 [2603:7081:7e3f:df30:ac18:f9bd:4af9:8893])
 by smtp.gmail.com with ESMTPSA id
 q4-20020a0c9a44000000b006300e92ea02sm3230906qvd.121.2023.08.07.15.19.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 15:19: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: 6b71ed87-3570-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=exostellar.io; s=google; t=1691446744; x=1692051544;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=B5ddogz6ssKMprKcwC91sbBtEGvoKYSyZ4oIHsEh4mw=;
        b=cKjCQ7f4JoSJKyQusI8TZiu6fHU9zW8df5m/ibDZJPVZC334HFJDs1v6xqE60+x+DC
         PK4HfOpskRZaL4RSYrr5ocwi2epEbU5H+DexlwwBVyt7vJnSg2gCYCHg9FUwGP+fW0zH
         l/L6fKZCJUraHlxYoweP2m31dHrBSQ9zAxlu3tr/yjRCZJDVyiDVQaY5x4qoEyzw2zza
         zSmrdtXeqFvw7AAavaHJaLx/yj8xvgQ77Bd5XCXmXWq6+ejrEQWDgzIEnKRJo/m1cecQ
         zLHELV1b+oW670MyO7T+AsgujIUr2R/d1I0SgdcO9UHSZX0g+LKJWvCqIBAuYcuTije1
         wjYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691446744; x=1692051544;
        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=B5ddogz6ssKMprKcwC91sbBtEGvoKYSyZ4oIHsEh4mw=;
        b=bAAzA2Fu1EkaiZwXcpG7j476y1gQti+JcyDZZuVisYG54zwwri0PV7sEBL+AyIygqr
         LccgVGhNZ5jOgY5xrVz5EUQAoNYLY+9qdS55amzxpGb2LrfOTyHNbQ7WmkA90Tx7G34E
         wrDtmCsJ2lYCgFuEhpVmRlfb3rS6TuutZY6r3sPE8fos+k1zgw3KDP5MDC8fcTBc5wjQ
         q1LBmvKuAD7xKDvSm9jz81Z5Iq/VR8lnRPnC1NgrTIFT/lMXqJDKJGn3hSzUavYlChRd
         2zmXd51ROfQSIG1idUrxyIs0acgGMImwea8/5wCcP52OgrK9ScwM4P5/h+r66YtpCynh
         P+VA==
X-Gm-Message-State: AOJu0Yx05LySNxQlN8RTS2X76BgV9qObeuRgaVG0/8WFVElOBhHW5Pd7
	5piGS4KRLW4x8DOqvEhXgKnKGdhyogu0iX03UPEYLdWx
X-Google-Smtp-Source: AGHT+IFAwmFoA8RdUNOlqqGfSxJVgXRlmAojWIbMmWVZLFCbiV6pJYC9V/5ee+kYdfKjeJPA4iXp+g==
X-Received: by 2002:a0c:df8f:0:b0:63d:318c:7e0d with SMTP id w15-20020a0cdf8f000000b0063d318c7e0dmr10300369qvl.45.1691446743781;
        Mon, 07 Aug 2023 15:19:03 -0700 (PDT)
From: Kevin Alarcon Negy <kevin@exostellar.io>
To: xen-devel@lists.xenproject.org
Cc: Kevin Alarcon Negy <kevin@exostellar.io>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem() call use max_memkb
Date: Mon,  7 Aug 2023 18:16:10 -0400
Message-Id: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When building a domain, xc_domain_setmaxmem() is called with target_memkb (memory in domain config file).
If a config specifies maxmem > memory, any attempts to increase the domain memory size to its max,
outside of xl mem-set or xl mem-max, which already call xc_domain_setmaxmem() properly, will fail.
Changed xc_domain_setmaxmem() call inside libxl__build_pre() to use max_memkb.

Signed-off-by: Kevin Alarcon Negy <kevin@exostellar.io>
---
 tools/libs/light/libxl_dom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 94fef37401..16aa255aad 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -355,7 +355,7 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
         return ERROR_FAIL;
     }
 
-    if (xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + size) < 0) {
+    if (xc_domain_setmaxmem(ctx->xch, domid, info->max_memkb + size) < 0) {
         LOGE(ERROR, "Couldn't set max memory");
         return ERROR_FAIL;
     }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578974.906738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Hy-0001vJ-T1; Mon, 07 Aug 2023 23:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578974.906738; Mon, 07 Aug 2023 23: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 1qT9Hy-0001tv-O0; Mon, 07 Aug 2023 23:05:26 +0000
Received: by outflank-mailman (input) for mailman id 578974;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Hy-0001NY-5i
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:26 +0000
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com
 [2607:f8b0:4864:20::b2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e45ce480-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:25 +0200 (CEST)
Received: by mail-yb1-xb2b.google.com with SMTP id
 3f1490d57ef6-d18566dc0c1so5693097276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:25 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e45ce480-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449524; x=1692054324;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CHNVeLQ4ERi2aiC2atfDR7Ra/O6uVctCEHn/pbNh+mQ=;
        b=L1Go0rwXz95r8RKjbEpMnhh6c018jiQRjrFUv0ntz442yZnhpaeW+aHqb02Xo98603
         EPNoaJuJCjZc6fdKeFl/4FxJrSloFA7bUFX05fyGjegXA7V7cuLZVOde3eglcKPAc2dh
         7JAUmVzhkgUSMtLYpwSzyd8Ca3OvJH/6CC+nMDpgrmjfqgC7q9SKrYP1x1rjn8+euG1c
         w/F3CAIitPe7XXZVoEz/F21xQq4ZfepD4AFcrR4pjaM61cX8qLF4fMMNmTw3E/GvPxLQ
         CGZCqn+AGAHhqM6FL6AO+cy3AaHEnYT+L7t2jnss6vAgyAEw9i6+eoE0/wpeJRdeDqZo
         nMqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449524; x=1692054324;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CHNVeLQ4ERi2aiC2atfDR7Ra/O6uVctCEHn/pbNh+mQ=;
        b=JrprrdjcNyj6wYbTt0BYCsZsRkVytLud9S4nBHNgukE1ICJKsXEyto8IolKA8MKp3K
         vAHw0J6SMpWyzzkIsEeoKZ3OJ20adK0hJjXxbX8SQyqFKOxd7cXrpn+fBEN6TM7BoAYa
         +n+raJaQfY3qpUrsxHavxzyjCR6FOPuIqaUxFcr7hR/R63uBpL/XCbBgJ83jrhwK3Jop
         fI38QxYl9tldBZ1yuTMttG8fNilxgD0zr45FGnnbeIbz+Z5LOgWtl9vyj78po9b6neTb
         jWjQUd1leIUu0By1n0YFM5Bq+Kmgl/A/gvYSm80CkM5TXIrJuY8AvvYRJJ5iAfwDiuwK
         MQdA==
X-Gm-Message-State: AOJu0Yy3FLtqJB+VCMnIvlYrOeQpa1YZJ1dfbGgIlP4gyi7hz9o5KpLd
	LkvZ3isax/RkHhh7RbricSg=
X-Google-Smtp-Source: AGHT+IF30NcYMYJc6ATZDEFP+FAmEVcusnv37vl/vjImNQWmcJZtPuqM/aGhVMbEV/I/t7ROvZmYcQ==
X-Received: by 2002:a25:ca58:0:b0:d15:9cdc:5d0c with SMTP id a85-20020a25ca58000000b00d159cdc5d0cmr11907374ybg.42.1691449524354;
        Mon, 07 Aug 2023 16:05:24 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>
Subject: [PATCH mm-unstable v9 03/31] mm: add utility functions for ptdesc
Date: Mon,  7 Aug 2023 16:04:45 -0700
Message-Id: <20230807230513.102486-4-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce utility functions setting the foundation for ptdescs.  These
will also assist in the splitting out of ptdesc from struct page.

Functions that focus on the descriptor are prefixed with ptdesc_* while
functions that focus on the pagetable are prefixed with pagetable_*.

pagetable_alloc() is defined to allocate new ptdesc pages as compound
pages.  This is to standardize ptdescs by allowing for one allocation and
one free function, in contrast to 2 allocation and 2 free functions.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/asm-generic/tlb.h | 11 +++++++
 include/linux/mm.h        | 61 +++++++++++++++++++++++++++++++++++++++
 include/linux/mm_types.h  | 12 ++++++++
 3 files changed, 84 insertions(+)

diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
index bc32a2284c56..129a3a759976 100644
--- a/include/asm-generic/tlb.h
+++ b/include/asm-generic/tlb.h
@@ -480,6 +480,17 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
 	return tlb_remove_page_size(tlb, page, PAGE_SIZE);
 }
 
+static inline void tlb_remove_ptdesc(struct mmu_gather *tlb, void *pt)
+{
+	tlb_remove_table(tlb, pt);
+}
+
+/* Like tlb_remove_ptdesc, but for page-like page directories. */
+static inline void tlb_remove_page_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt)
+{
+	tlb_remove_page(tlb, ptdesc_page(pt));
+}
+
 static inline void tlb_change_page_size(struct mmu_gather *tlb,
 						     unsigned int page_size)
 {
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ec15ebc6def1..54dc176b90ea 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2806,6 +2806,57 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long a
 }
 #endif /* CONFIG_MMU */
 
+static inline struct ptdesc *virt_to_ptdesc(const void *x)
+{
+	return page_ptdesc(virt_to_page(x));
+}
+
+static inline void *ptdesc_to_virt(const struct ptdesc *pt)
+{
+	return page_to_virt(ptdesc_page(pt));
+}
+
+static inline void *ptdesc_address(const struct ptdesc *pt)
+{
+	return folio_address(ptdesc_folio(pt));
+}
+
+static inline bool pagetable_is_reserved(struct ptdesc *pt)
+{
+	return folio_test_reserved(ptdesc_folio(pt));
+}
+
+/**
+ * pagetable_alloc - Allocate pagetables
+ * @gfp:    GFP flags
+ * @order:  desired pagetable order
+ *
+ * pagetable_alloc allocates memory for page tables as well as a page table
+ * descriptor to describe that memory.
+ *
+ * Return: The ptdesc describing the allocated page tables.
+ */
+static inline struct ptdesc *pagetable_alloc(gfp_t gfp, unsigned int order)
+{
+	struct page *page = alloc_pages(gfp | __GFP_COMP, order);
+
+	return page_ptdesc(page);
+}
+
+/**
+ * pagetable_free - Free pagetables
+ * @pt:	The page table descriptor
+ *
+ * pagetable_free frees the memory of all page tables described by a page
+ * table descriptor and the memory for the descriptor itself.
+ */
+static inline void pagetable_free(struct ptdesc *pt)
+{
+	struct page *page = ptdesc_page(pt);
+
+	__free_pages(page, compound_order(page));
+}
+
 #if USE_SPLIT_PTE_PTLOCKS
 #if ALLOC_SPLIT_PTLOCKS
 void __init ptlock_cache_init(void);
@@ -2932,6 +2983,11 @@ static inline struct page *pmd_pgtable_page(pmd_t *pmd)
 	return virt_to_page((void *)((unsigned long) pmd & mask));
 }
 
+static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd)
+{
+	return page_ptdesc(pmd_pgtable_page(pmd));
+}
+
 static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 {
 	return ptlock_ptr(pmd_pgtable_page(pmd));
@@ -3044,6 +3100,11 @@ static inline void mark_page_reserved(struct page *page)
 	adjust_managed_page_count(page, -1);
 }
 
+static inline void free_reserved_ptdesc(struct ptdesc *pt)
+{
+	free_reserved_page(ptdesc_page(pt));
+}
+
 /*
  * Default method to free all the __init memory into the buddy system.
  * The freed pages will be poisoned with pattern "poison" if it's within
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index cb47438ae17f..ea34b22b4cbf 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -467,6 +467,18 @@ TABLE_MATCH(memcg_data, pt_memcg_data);
 #undef TABLE_MATCH
 static_assert(sizeof(struct ptdesc) <= sizeof(struct page));
 
+#define ptdesc_page(pt)			(_Generic((pt),			\
+	const struct ptdesc *:		(const struct page *)(pt),	\
+	struct ptdesc *:		(struct page *)(pt)))
+
+#define ptdesc_folio(pt)		(_Generic((pt),			\
+	const struct ptdesc *:		(const struct folio *)(pt),	\
+	struct ptdesc *:		(struct folio *)(pt)))
+
+#define page_ptdesc(p)			(_Generic((p),			\
+	const struct page *:		(const struct ptdesc *)(p),	\
+	struct page *:			(struct ptdesc *)(p)))
+
 /*
  * Used for sizing the vmemmap region on some architectures
  */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578972.906718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Hw-0001Qn-BP; Mon, 07 Aug 2023 23:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578972.906718; Mon, 07 Aug 2023 23: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 1qT9Hw-0001QT-7U; Mon, 07 Aug 2023 23:05:24 +0000
Received: by outflank-mailman (input) for mailman id 578972;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Hu-0001NY-VM
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:22 +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 e2036e12-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:21 +0200 (CEST)
Received: by mail-yb1-xb35.google.com with SMTP id
 3f1490d57ef6-d075a831636so5455724276.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:21 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e2036e12-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449520; x=1692054320;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4fjhesd7+rMkDZLOr6Kc4cG8956dLxCQQb+ozfQX3UQ=;
        b=OAmqT2YppB9CjfKzA6MbkbWQuHnOV3YDebJzEzMnvrYaEBnGvyiGDdIgN+UFddYCO/
         oWD9ALjnIUimu69EOXrUSOl0V3EQ3lBA7Y1MYmMc666cwORz5NLJr1mYNrQUbkaEMEWb
         UevlkxC+fhWM5pG0rXCbCmrqQYjTZk13aOAK39qUeW68Z9nV/2KJzWOSzi4xEeDeVL48
         AtQrP4AvQ44B2EZwMOx7Ik4iUJ1TvzBS0XzBfxhLsaCN0UqBFIO7A8RIwj+QqN3o+IuJ
         Kl4ISRZis5dwTBUexOURKgSzbeO3folaxRuVtH/QGDwOd5SIJ+mmY1APEfvTznAxJRIC
         w6YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449520; x=1692054320;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4fjhesd7+rMkDZLOr6Kc4cG8956dLxCQQb+ozfQX3UQ=;
        b=OM86jMNyBPa1bJWYlsSeM0NhWNlazXWPAM6GTV/3Fpe1y2/0mZgPWIM0D2FxLmr8A5
         5g5nfrX0J7iIjSvo0vISkCQ+MBmNifjI7EGAureMRr1ZkKdYd3bjomoOZ8WtRqqnLP4d
         y7wzEGsulAomumh4+tvK1npAgXpwAyFubLTCi9SJDRywgBN/uA7D4HOxaKMKYKFs/M+5
         9w0alu8Eki6YMKI4AdfaH7dKhSYOnjhqQZ3eqWh39BiVFvzpIhcAPAV5wPBiD3sx/PEV
         vHT8tQvvN6ffNn7hNERrv93IfByyDVz+ABWjyB02ScYDchBMp/6Z83H+SGTGOoTcfTTt
         RNNw==
X-Gm-Message-State: AOJu0Yx02eKS8u9D4u1RB2gxaYwlZj4qlqGf1KEJsd9QPGjYpvD+Wdsf
	CFX0eZTBP+bQ9DOSb455JQY=
X-Google-Smtp-Source: AGHT+IEx2gi8PNow/7jZZuthXFdwcQBm4qVvrwXdHrr7o3CRr4bjoCnJoA9HiZN+Tg0Khw5JdZ/TIA==
X-Received: by 2002:a25:6088:0:b0:d2c:32cb:c631 with SMTP id u130-20020a256088000000b00d2c32cbc631mr5682581ybb.27.1691449520366;
        Mon, 07 Aug 2023 16:05:20 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 01/31] mm: Add PAGE_TYPE_OP folio functions
Date: Mon,  7 Aug 2023 16:04:43 -0700
Message-Id: <20230807230513.102486-2-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No folio equivalents for page type operations have been defined, so
define them for later folio conversions.

Also changes the Page##uname macros to take in const struct page* since
we only read the memory here.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/page-flags.h | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 92a2063a0a23..9218028caf33 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -908,6 +908,8 @@ static inline bool is_page_hwpoison(struct page *page)
 
 #define PageType(page, flag)						\
 	((page->page_type & (PAGE_TYPE_BASE | flag)) == PAGE_TYPE_BASE)
+#define folio_test_type(folio, flag)					\
+	((folio->page.page_type & (PAGE_TYPE_BASE | flag)) == PAGE_TYPE_BASE)
 
 static inline int page_type_has_type(unsigned int page_type)
 {
@@ -919,27 +921,41 @@ static inline int page_has_type(struct page *page)
 	return page_type_has_type(page->page_type);
 }
 
-#define PAGE_TYPE_OPS(uname, lname)					\
-static __always_inline int Page##uname(struct page *page)		\
+#define PAGE_TYPE_OPS(uname, lname, fname)				\
+static __always_inline int Page##uname(const struct page *page)		\
 {									\
 	return PageType(page, PG_##lname);				\
 }									\
+static __always_inline int folio_test_##fname(const struct folio *folio)\
+{									\
+	return folio_test_type(folio, PG_##lname);			\
+}									\
 static __always_inline void __SetPage##uname(struct page *page)		\
 {									\
 	VM_BUG_ON_PAGE(!PageType(page, 0), page);			\
 	page->page_type &= ~PG_##lname;					\
 }									\
+static __always_inline void __folio_set_##fname(struct folio *folio)	\
+{									\
+	VM_BUG_ON_FOLIO(!folio_test_type(folio, 0), folio);		\
+	folio->page.page_type &= ~PG_##lname;				\
+}									\
 static __always_inline void __ClearPage##uname(struct page *page)	\
 {									\
 	VM_BUG_ON_PAGE(!Page##uname(page), page);			\
 	page->page_type |= PG_##lname;					\
-}
+}									\
+static __always_inline void __folio_clear_##fname(struct folio *folio)	\
+{									\
+	VM_BUG_ON_FOLIO(!folio_test_##fname(folio), folio);		\
+	folio->page.page_type |= PG_##lname;				\
+}									\
 
 /*
  * PageBuddy() indicates that the page is free and in the buddy system
  * (see mm/page_alloc.c).
  */
-PAGE_TYPE_OPS(Buddy, buddy)
+PAGE_TYPE_OPS(Buddy, buddy, buddy)
 
 /*
  * PageOffline() indicates that the page is logically offline although the
@@ -963,7 +979,7 @@ PAGE_TYPE_OPS(Buddy, buddy)
  * pages should check PageOffline() and synchronize with such drivers using
  * page_offline_freeze()/page_offline_thaw().
  */
-PAGE_TYPE_OPS(Offline, offline)
+PAGE_TYPE_OPS(Offline, offline, offline)
 
 extern void page_offline_freeze(void);
 extern void page_offline_thaw(void);
@@ -973,12 +989,12 @@ extern void page_offline_end(void);
 /*
  * Marks pages in use as page tables.
  */
-PAGE_TYPE_OPS(Table, table)
+PAGE_TYPE_OPS(Table, table, pgtable)
 
 /*
  * Marks guardpages used with debug_pagealloc.
  */
-PAGE_TYPE_OPS(Guard, guard)
+PAGE_TYPE_OPS(Guard, guard, guard)
 
 extern bool is_free_buddy_page(struct page *page);
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578971.906713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Hw-0001Nl-2g; Mon, 07 Aug 2023 23:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578971.906713; Mon, 07 Aug 2023 23: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 1qT9Hw-0001Ne-00; Mon, 07 Aug 2023 23:05:24 +0000
Received: by outflank-mailman (input) for mailman id 578971;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Hu-0001NS-5L
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:22 +0000
Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com
 [2607:f8b0:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0d6092f-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:19 +0200 (CEST)
Received: by mail-oi1-x232.google.com with SMTP id
 5614622812f47-3a3efebcc24so3747928b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:19 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: e0d6092f-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449518; x=1692054318;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=BgGe0Il0C7dlkrriaFCN0meYItalZZUDKy884yxXSME=;
        b=kkOLGueMrzxHvvdT5O8JIC8nC89W6/6UqoBnx7sB0VLAWpoO0/QHm5tLARAi96zyvU
         EAiiieHkpJTC9s5qvXPj39j6R2OQuCyqiEOwPTIq50/LHvV7fjReDxpsCX5Ya8M70FRF
         Bv+KZVFj7Mytss2brk2EH7Z9tHAP9yxEVCzntaEZzdSmQz9vPa1mUTDeJlBFV79lhO4m
         YdB4aoA79x9pkxJ/XBt7ZG1CR58HGrAi0v/zgewNhzm8aq6TJsefwLnAAAHjOqkPytFk
         EiZRzEbAgPBMpklpMOtlFM2muNSx1qBww2MBrDwGN8Akv7FqeHgJ4R5d3wn1SAH6io9W
         CEdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449518; x=1692054318;
        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=BgGe0Il0C7dlkrriaFCN0meYItalZZUDKy884yxXSME=;
        b=W4xx93oF2psIoR2cg5iFDZryoHZIkl+JxNt1G2Jr1KBNTVMIOiNuF0/bc+0uNEntCx
         FWPLpl80gFEmakcfNYByBN56a7ipgDnDqoW/zQOlgTvsRLABkx4/4pcuPmbrbjjJ+x+c
         YF+WzT0M2uZdwBLmjQI3ikVX2EBKqxzzBOmpZIlIE7WWetKQxSoSOUMJTm+BU8IKp7RU
         GhzvNhUxL3qtGUIc8P6mbXeOvMijdH7Yd2rIfoR6XIep2eLMDGi25/kKEE/32AvBptYQ
         CQ43UdcXTA2xEWOsid6zl+Dz1LkNKF9ykXQl2Ga3GsmwkS3eLbMszz3zKUkm9ac8ltj5
         9gXA==
X-Gm-Message-State: AOJu0YwLX4CPvUuxXShbpdDV38Fnul8IhowfQY6edqyhczytu20gZ2X2
	R+Hg+FO+y1UYaux8RGr7KzM=
X-Google-Smtp-Source: AGHT+IHI1CCxgU6LoWPuJYJEyHtYip1YJBCUFIlnO8SlV49xsFZp+VSY6a51skH1ZTqS0RRAJqit6Q==
X-Received: by 2002:aca:d12:0:b0:3a1:f237:ec62 with SMTP id 18-20020aca0d12000000b003a1f237ec62mr10346742oin.48.1691449518360;
        Mon, 07 Aug 2023 16:05:18 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Jonas Bonn <jonas@southpole.se>,
	David Hildenbrand <david@redhat.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"David S. Miller" <davem@davemloft.net>,
	Richard Weinberger <richard@nod.at>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Christophe Leroy <christophe.leroy@csgroup.eu>
Subject: [PATCH mm-unstable v9 00/31] Split ptdesc from struct page
Date: Mon,  7 Aug 2023 16:04:42 -0700
Message-Id: <20230807230513.102486-1-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MM subsystem is trying to shrink struct page. This patchset
introduces a memory descriptor for page table tracking - struct ptdesc.

This patchset introduces ptdesc, splits ptdesc from struct page, and
converts many callers of page table constructor/destructors to use ptdescs.

Ptdesc is a foundation to further standardize page tables, and eventually
allow for dynamic allocation of page tables independent of struct page.
However, the use of pages for page table tracking is quite deeply
ingrained and varied across archictectures, so there is still a lot of
work to be done before that can happen.

This applies cleanly onto the current unstable after dropping v8 of this
series.

v9:
  Fix build errors for NOMMU configs - trying to define ptdesc before
spinlock_t and struct page were defined.
  Moved definition of struct ptdesc to include/linux/mm_types.h instead
include/linux/pgtable.h

Vishal Moola (Oracle) (31):
  mm: Add PAGE_TYPE_OP folio functions
  pgtable: create struct ptdesc
  mm: add utility functions for ptdesc
  mm: Convert pmd_pgtable_page() callers to use pmd_ptdesc()
  mm: Convert ptlock_alloc() to use ptdescs
  mm: Convert ptlock_ptr() to use ptdescs
  mm: Convert pmd_ptlock_init() to use ptdescs
  mm: Convert ptlock_init() to use ptdescs
  mm: Convert pmd_ptlock_free() to use ptdescs
  mm: Convert ptlock_free() to use ptdescs
  mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor}
  powerpc: Convert various functions to use ptdescs
  x86: Convert various functions to use ptdescs
  s390: Convert various pgalloc functions to use ptdescs
  mm: remove page table members from struct page
  pgalloc: Convert various functions to use ptdescs
  arm: Convert various functions to use ptdescs
  arm64: Convert various functions to use ptdescs
  csky: Convert __pte_free_tlb() to use ptdescs
  hexagon: Convert __pte_free_tlb() to use ptdescs
  loongarch: Convert various functions to use ptdescs
  m68k: Convert various functions to use ptdescs
  mips: Convert various functions to use ptdescs
  nios2: Convert __pte_free_tlb() to use ptdescs
  openrisc: Convert __pte_free_tlb() to use ptdescs
  riscv: Convert alloc_{pmd, pte}_late() to use ptdescs
  sh: Convert pte_free_tlb() to use ptdescs
  sparc64: Convert various functions to use ptdescs
  sparc: Convert pgtable_pte_page_{ctor, dtor}() to ptdesc equivalents
  um: Convert {pmd, pte}_free_tlb() to use ptdescs
  mm: Remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers

 Documentation/mm/split_page_table_lock.rst    |  12 +-
 .../zh_CN/mm/split_page_table_lock.rst        |  14 +-
 arch/arm/include/asm/tlb.h                    |  12 +-
 arch/arm/mm/mmu.c                             |   7 +-
 arch/arm64/include/asm/tlb.h                  |  14 +-
 arch/arm64/mm/mmu.c                           |   7 +-
 arch/csky/include/asm/pgalloc.h               |   4 +-
 arch/hexagon/include/asm/pgalloc.h            |   8 +-
 arch/loongarch/include/asm/pgalloc.h          |  27 ++--
 arch/loongarch/mm/pgtable.c                   |   7 +-
 arch/m68k/include/asm/mcf_pgalloc.h           |  47 +++---
 arch/m68k/include/asm/sun3_pgalloc.h          |   8 +-
 arch/m68k/mm/motorola.c                       |   4 +-
 arch/mips/include/asm/pgalloc.h               |  32 ++--
 arch/mips/mm/pgtable.c                        |   8 +-
 arch/nios2/include/asm/pgalloc.h              |   8 +-
 arch/openrisc/include/asm/pgalloc.h           |   8 +-
 arch/powerpc/mm/book3s64/mmu_context.c        |  10 +-
 arch/powerpc/mm/book3s64/pgtable.c            |  32 ++--
 arch/powerpc/mm/pgtable-frag.c                |  58 +++----
 arch/riscv/include/asm/pgalloc.h              |   8 +-
 arch/riscv/mm/init.c                          |  16 +-
 arch/s390/include/asm/pgalloc.h               |   4 +-
 arch/s390/include/asm/tlb.h                   |   4 +-
 arch/s390/mm/pgalloc.c                        | 128 +++++++--------
 arch/sh/include/asm/pgalloc.h                 |   9 +-
 arch/sparc/mm/init_64.c                       |  17 +-
 arch/sparc/mm/srmmu.c                         |   5 +-
 arch/um/include/asm/pgalloc.h                 |  18 +--
 arch/x86/mm/pgtable.c                         |  47 +++---
 arch/x86/xen/mmu_pv.c                         |   2 +-
 include/asm-generic/pgalloc.h                 |  88 +++++-----
 include/asm-generic/tlb.h                     |  11 ++
 include/linux/mm.h                            | 151 +++++++++++++-----
 include/linux/mm_types.h                      |  97 ++++++++---
 include/linux/page-flags.h                    |  30 +++-
 mm/memory.c                                   |   8 +-
 37 files changed, 585 insertions(+), 385 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578973.906732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Hy-0001ri-ID; Mon, 07 Aug 2023 23:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578973.906732; Mon, 07 Aug 2023 23: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 1qT9Hy-0001rb-FQ; Mon, 07 Aug 2023 23:05:26 +0000
Received: by outflank-mailman (input) for mailman id 578973;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Hx-0001NS-Be
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:25 +0000
Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com
 [2607:f8b0:4864:20::112c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e340c95a-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:23 +0200 (CEST)
Received: by mail-yw1-x112c.google.com with SMTP id
 00721157ae682-586df08bba0so17842717b3.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:23 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e340c95a-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449522; x=1692054322;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a34f21esV50lWBersDNDqmppsx1/6ilmHOTavl/xl8o=;
        b=oFwky5a0u6RDMZneanUwrrMHlk718vp357up6yt/zwnqVYFChL1rvBLlof3lNCzIMa
         fNsEK2lTF1AVBptjZ1CNiCZUzihavKETKYN9gVvYQI6adZVOr5WVilhYnG1hRIdUadMS
         rZHYG0cY0MgC9spT/xtrGp0Z9RSAR89ub11+qTFSD/NHXR1SOhgGi5SO3dghfFZLOejg
         KputLo/y59tBrGZ+oHkk/Miwz+ltthb0+dR9j85/GLscklo1srlDZt2wotLowv37n6A5
         LO+9uJnrNQ6hj9u600MpE0S2h1+9c+75UpIga0Og5F4xShPF0bPK2EhAmwZTlcxr2oZQ
         4pBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449522; x=1692054322;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a34f21esV50lWBersDNDqmppsx1/6ilmHOTavl/xl8o=;
        b=BgrgicLDaP3T7IRJO5yQ3XGz1Eslst0TMqX+FocUOVyVt19R1tt/TGs06kiMZGvAOG
         HyY/0kldXMOqje3a2EhLJ5bMyp4C90UPxVqcB95l2FtQ93IWk/J/73Zf7vT53N6vqSKQ
         cs6+CdQWZWPJBAHEEWhupfg/+gq4LcTe/79ELFqb6mXO8uqvcDa02VmXnPyvwUmeymjp
         8LT8ZyTEkaxGt/hS4aSEdfsSKvbJpLLhdT2E1s9o7Q2genLC/Xf+djZheroeZALdYZv3
         Qg+KO5YecMKCjjqlkSM5a1xTEWQjEmQFoLnuUCYnMVSdxUNmAMG1zlC2sIJzxxk1tQaY
         0vHw==
X-Gm-Message-State: AOJu0Yzfzi5G6vKmolH77MpsCV0J9tkDTHD68g3iKUj1U9YQDdt+iMzG
	gOr5mCxbgTNm+xIfZkfxiL0=
X-Google-Smtp-Source: AGHT+IHp9NHIhzlo/URxP7pkQYxSTPvQNJLHOzpXCbXbudXygK+XnGEho5KZf1Qzac+pXhrvkYZIBg==
X-Received: by 2002:a25:320c:0:b0:d4b:64ac:a4f7 with SMTP id y12-20020a25320c000000b00d4b64aca4f7mr9519366yby.62.1691449522393;
        Mon, 07 Aug 2023 16:05:22 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 02/31] pgtable: create struct ptdesc
Date: Mon,  7 Aug 2023 16:04:44 -0700
Message-Id: <20230807230513.102486-3-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, page table information is stored within struct page.  As part
of simplifying struct page, create struct ptdesc for page table
information.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
---
 include/linux/mm_types.h | 70 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 18c8c3d793b0..cb47438ae17f 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -397,6 +397,76 @@ FOLIO_MATCH(flags, _flags_2);
 FOLIO_MATCH(compound_head, _head_2);
 #undef FOLIO_MATCH
 
+/**
+ * struct ptdesc -    Memory descriptor for page tables.
+ * @__page_flags:     Same as page flags. Unused for page tables.
+ * @pt_rcu_head:      For freeing page table pages.
+ * @pt_list:          List of used page tables. Used for s390 and x86.
+ * @_pt_pad_1:        Padding that aliases with page's compound head.
+ * @pmd_huge_pte:     Protected by ptdesc->ptl, used for THPs.
+ * @__page_mapping:   Aliases with page->mapping. Unused for page tables.
+ * @pt_mm:            Used for x86 pgds.
+ * @pt_frag_refcount: For fragmented page table tracking. Powerpc and s390 only.
+ * @_pt_pad_2:        Padding to ensure proper alignment.
+ * @ptl:              Lock for the page table.
+ * @__page_type:      Same as page->page_type. Unused for page tables.
+ * @_refcount:        Same as page refcount. Used for s390 page tables.
+ * @pt_memcg_data:    Memcg data. Tracked for page tables here.
+ *
+ * This struct overlays struct page for now. Do not modify without a good
+ * understanding of the issues.
+ */
+struct ptdesc {
+	unsigned long __page_flags;
+
+	union {
+		struct rcu_head pt_rcu_head;
+		struct list_head pt_list;
+		struct {
+			unsigned long _pt_pad_1;
+			pgtable_t pmd_huge_pte;
+		};
+	};
+	unsigned long __page_mapping;
+
+	union {
+		struct mm_struct *pt_mm;
+		atomic_t pt_frag_refcount;
+	};
+
+	union {
+		unsigned long _pt_pad_2;
+#if ALLOC_SPLIT_PTLOCKS
+		spinlock_t *ptl;
+#else
+		spinlock_t ptl;
+#endif
+	};
+	unsigned int __page_type;
+	atomic_t _refcount;
+#ifdef CONFIG_MEMCG
+	unsigned long pt_memcg_data;
+#endif
+};
+
+#define TABLE_MATCH(pg, pt)						\
+	static_assert(offsetof(struct page, pg) == offsetof(struct ptdesc, pt))
+TABLE_MATCH(flags, __page_flags);
+TABLE_MATCH(compound_head, pt_list);
+TABLE_MATCH(compound_head, _pt_pad_1);
+TABLE_MATCH(pmd_huge_pte, pmd_huge_pte);
+TABLE_MATCH(mapping, __page_mapping);
+TABLE_MATCH(pt_mm, pt_mm);
+TABLE_MATCH(ptl, ptl);
+TABLE_MATCH(rcu_head, pt_rcu_head);
+TABLE_MATCH(page_type, __page_type);
+TABLE_MATCH(_refcount, _refcount);
+#ifdef CONFIG_MEMCG
+TABLE_MATCH(memcg_data, pt_memcg_data);
+#endif
+#undef TABLE_MATCH
+static_assert(sizeof(struct ptdesc) <= sizeof(struct page));
+
 /*
  * Used for sizing the vmemmap region on some architectures
  */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578975.906754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9I2-0002R0-Dx; Mon, 07 Aug 2023 23:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578975.906754; Mon, 07 Aug 2023 23: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 1qT9I2-0002Qk-8U; Mon, 07 Aug 2023 23:05:30 +0000
Received: by outflank-mailman (input) for mailman id 578975;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9I1-0001NS-5S
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:29 +0000
Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com
 [2607:f8b0:4864:20::b33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e59917d4-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:27 +0200 (CEST)
Received: by mail-yb1-xb33.google.com with SMTP id
 3f1490d57ef6-d465b3d50efso2113965276.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:27 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e59917d4-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449526; x=1692054326;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fEHGQmND3TVCalts2Xn8ptU7qEA2BpyVbaRRrUVwgj4=;
        b=g0HQFm0Ih+ONj9bbGpN0SAoMFwZH1Hyy1LHhk9Yh2p6W+FyLdnCJ7RPABmEq6UvV+/
         I0mwYg/T2n8LaliwXnPTiC9GBqIvZu49Qi1V/N0MmNRCKbxincxnUS9jodhc4yydOwRP
         aDjCJ2ni1nNWMxe4NQznDsxKIox8DPgLSsmzUNzOiHFpehQua0QatbJlVlVObrSVTwwk
         ZCujc6+dVnog1ei5Zro9QqEP+ju61k33bEcuj8U0Qr32h8YYXwWu+8Jh8gouVCHVOaNS
         iYc6V/t51fkGJ7ybJ/9xFdZCGVtXquz95wk1/VRVK/X9HGuHOqtxoDT8S6kl5FuAfQB5
         VZ5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449526; x=1692054326;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fEHGQmND3TVCalts2Xn8ptU7qEA2BpyVbaRRrUVwgj4=;
        b=FgXrCWJp0Y3F9S3eyZ7ljc+3XA1Xu8KkkPqQkw2XF14QoXVHP27U0mlwxBw3ACNY1z
         828TDyxcHPSaLKQh1YTJzlapNENpAK0W4vxJK3aWnykvY+Nc0CKD4kx+La3IdW0YPuI3
         JUg8fiDHeEsF6xDVh9SL2IOrCW+PENvcVjlX12Ea3v/DQy1hR0Ddiqclo32OGpv9BrVV
         +nFwRAbVfUr69BWaWqTDtLTe/pg15+bIN0FlnKEtD9jeXB6C4ZvtPcFKianna5La2xhz
         DxQFno6xdQyBPHPkSXXfsOB602bTRYcgDqel81bbkQ3wQ/h+ClJynxzX4jQm4MSEO/ci
         NwCA==
X-Gm-Message-State: AOJu0YzOkMgZA6bRS0JkxsNq0mKjdXv08OmJgsysiEj8lORN1b11+IAD
	rgqr6CzYNe8apDJ2bOTZST4=
X-Google-Smtp-Source: AGHT+IE5Cb4oRalCjMZQpBv2Qvb3EAIojgwuAgurnfPzGGotvhmzGY7E65P/TqlBpHFwkOco7I+V2Q==
X-Received: by 2002:a25:d56:0:b0:c67:77be:9ad9 with SMTP id 83-20020a250d56000000b00c6777be9ad9mr8584839ybn.30.1691449526389;
        Mon, 07 Aug 2023 16:05:26 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 04/31] mm: Convert pmd_pgtable_page() callers to use pmd_ptdesc()
Date: Mon,  7 Aug 2023 16:04:46 -0700
Message-Id: <20230807230513.102486-5-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Converts internal pmd_pgtable_page() callers to use pmd_ptdesc(). This
removes some direct accesses to struct page, working towards splitting
out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 54dc176b90ea..f6d14a5fe747 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2990,7 +2990,7 @@ static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd)
 
 static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 {
-	return ptlock_ptr(pmd_pgtable_page(pmd));
+	return ptlock_ptr(ptdesc_page(pmd_ptdesc(pmd)));
 }
 
 static inline bool pmd_ptlock_init(struct page *page)
@@ -3009,7 +3009,7 @@ static inline void pmd_ptlock_free(struct page *page)
 	ptlock_free(page);
 }
 
-#define pmd_huge_pte(mm, pmd) (pmd_pgtable_page(pmd)->pmd_huge_pte)
+#define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)
 
 #else
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578976.906763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9I4-0002ja-Ko; Mon, 07 Aug 2023 23:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578976.906763; Mon, 07 Aug 2023 23:05: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 1qT9I4-0002jR-HC; Mon, 07 Aug 2023 23:05:32 +0000
Received: by outflank-mailman (input) for mailman id 578976;
 Mon, 07 Aug 2023 23:05:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9I2-0001NY-8E
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:30 +0000
Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com
 [2607:f8b0:4864:20::232])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6cf0228-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:29 +0200 (CEST)
Received: by mail-oi1-x232.google.com with SMTP id
 5614622812f47-3a741f46fadso3760170b6e.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:29 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e6cf0228-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449528; x=1692054328;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xo55EeeiRtqMJzFppY7LfosEC+4EKSW+Y1wbH/R/zko=;
        b=Q3CUliICB5ucW5n1+cyfiOVvgvAwhYv3ZRrcZge/C2xN1y7mPAKTaAhnTC4tg457In
         GS5yV5pdx2fEbQ6Paw0G9gZpAwxLk7uLiA6v3+SIa2nM9cjP9BC4TMrWHjABBg1TkaAc
         jFqkxuJnd0T58a+3c4oi7Pn3k6jPqHaryISvoGLWFF1pysLGpyRN4pc1ANxWoEwI+30p
         K69XzaaIceuwI5auke9JvMGfHaTbti7Lrj0CNiE6K9RZ1Cm9I6s2gJdVHKhyUn9Bc8fw
         XFhL6ezBClgRYA33kHsXSFVngHlISmggGRScePESZQUU6OPVK5MugkAHJIXH8vtrGuLn
         AiPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449528; x=1692054328;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xo55EeeiRtqMJzFppY7LfosEC+4EKSW+Y1wbH/R/zko=;
        b=LRQNeLNnX6fmipgkIfaHKrNrkFWuPpr2RypLV9jnbRGZyHxoqUh3XiR6Lqn5uII2iA
         zBZmzvabWzThPmWLdoXSLMkNTwWvHxxMXezTigv5q0IK81SUw83NKfj4/o8UhspmgrDn
         zQLiFB9eob+0Usx+EC6cwPP7g3AdIwuzD14sWl2y9RD8Xr9GzeWNc0LWcRqTgzAgAXLE
         YxmJRZqUcskCh1KU+SLhDajccgU5OO9x7k9bIYP8q5H0wkY+AljKVMPMPWH4bdqQW0Ys
         h2b8/3VAQVyXczdhr9GSiCzgyEQ1jXOlhtcbXUkz8bgvQzCiV8qJU2G79TbMKxcAwOee
         aXjA==
X-Gm-Message-State: AOJu0Ywa71KrH2t3TX3nMBQvJnrpU2UiRzhbb+dEEv1QO1una03qHH8u
	TMk3bXrPSZt/CIFFaIAqsMk=
X-Google-Smtp-Source: AGHT+IEuvpqTpP0gccwCdePAresyzfHn008a21Ty6dvsje55NxjSSMn6qMCPG3M+rc/X2+vc3Y/lYA==
X-Received: by 2002:a54:4886:0:b0:3a7:238a:143e with SMTP id r6-20020a544886000000b003a7238a143emr10421463oic.2.1691449528538;
        Mon, 07 Aug 2023 16:05:28 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 05/31] mm: Convert ptlock_alloc() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:47 -0700
Message-Id: <20230807230513.102486-6-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 6 +++---
 mm/memory.c        | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index f6d14a5fe747..6aea8fb671f1 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2860,7 +2860,7 @@ static inline void pagetable_free(struct ptdesc *pt)
 #if USE_SPLIT_PTE_PTLOCKS
 #if ALLOC_SPLIT_PTLOCKS
 void __init ptlock_cache_init(void);
-extern bool ptlock_alloc(struct page *page);
+bool ptlock_alloc(struct ptdesc *ptdesc);
 extern void ptlock_free(struct page *page);
 
 static inline spinlock_t *ptlock_ptr(struct page *page)
@@ -2872,7 +2872,7 @@ static inline void ptlock_cache_init(void)
 {
 }
 
-static inline bool ptlock_alloc(struct page *page)
+static inline bool ptlock_alloc(struct ptdesc *ptdesc)
 {
 	return true;
 }
@@ -2902,7 +2902,7 @@ static inline bool ptlock_init(struct page *page)
 	 * slab code uses page->slab_cache, which share storage with page->ptl.
 	 */
 	VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page);
-	if (!ptlock_alloc(page))
+	if (!ptlock_alloc(page_ptdesc(page)))
 		return false;
 	spin_lock_init(ptlock_ptr(page));
 	return true;
diff --git a/mm/memory.c b/mm/memory.c
index 956aad8aff34..3606ef72ba70 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -6134,14 +6134,14 @@ void __init ptlock_cache_init(void)
 			SLAB_PANIC, NULL);
 }
 
-bool ptlock_alloc(struct page *page)
+bool ptlock_alloc(struct ptdesc *ptdesc)
 {
 	spinlock_t *ptl;
 
 	ptl = kmem_cache_alloc(page_ptl_cachep, GFP_KERNEL);
 	if (!ptl)
 		return false;
-	page->ptl = ptl;
+	ptdesc->ptl = ptl;
 	return true;
 }
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578977.906773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9I5-00030Z-TQ; Mon, 07 Aug 2023 23:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578977.906773; Mon, 07 Aug 2023 23: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 1qT9I5-00030O-Pj; Mon, 07 Aug 2023 23:05:33 +0000
Received: by outflank-mailman (input) for mailman id 578977;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9I5-0001NS-9q
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:33 +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 e8055483-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:31 +0200 (CEST)
Received: by mail-yw1-x112f.google.com with SMTP id
 00721157ae682-586bacac98aso22849667b3.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:31 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: e8055483-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449530; x=1692054330;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nhRFpHY9Gkw1pvDSPH6l3PWFnY0Equ+A7zpvUAn8VQI=;
        b=i3yG/elNSvAKIQpu+LnaQkf9aWr2RTSDWZ0bD6C1RLjObUv19W0XGp5nQ/WUHqv97k
         3F3d9T+x+RGssi2D5sQsk0sbYNBszDeUty4Uz3WYnNNnOAOtum0uoqfNv64CjbJYI2vt
         5W+yDKCq8CPlPCKNltLocOrpvWmx0Hi9m5r7qQtJGuYnsVLA+FFqMS9EVAuWM7bu2InG
         Y2OLsVw1zQ1ypzE/Wu4y0WN08yQxAbeMR9OdyOcp5d10YTszQgqk88e/T18v49VnUb5a
         Be+cx3DsqCXaxjSPwUg4xCjeVNpaDlwm4eDVW83zp+7fbc6H/u+IOUuZtg+F6GjbM9PA
         0MXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449530; x=1692054330;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nhRFpHY9Gkw1pvDSPH6l3PWFnY0Equ+A7zpvUAn8VQI=;
        b=F7EAUAJDnVp7o5Pa7vq9Qo2pX+eYnuRRouFa1kohlZiDWG9wgihj7YPyKRtdFj2CC1
         nk9huPM0ogpNYeQJuIhifcM/sBD9k8VZxp/gLFwSJi1U5KzHB0ku1UkoB/KnEp55FCBg
         keLm4DUK5BuCFzKW8N/Gn4moD043YwrpJHsFGN20YDMCXBptqcWp7AcPdxogyOo8TP1G
         xfPHNtJuQ5ToEz7dlaPV3uOxHm9VS36blptmhgJpmSJ84jgPNc9meLSU1nXwXkP3bSO1
         X5ZBYXMZJxcd8+s/mbAshUnpl0XqJl8NFoaskZXV1sSe8gNWbsnFaoiMQsaCszXF5K1w
         bDOw==
X-Gm-Message-State: AOJu0Yyr1GD2mIpTYDPhzeNXC7NusdYxIDMHXdxfmqwqLWcAR9cwcuG7
	4UxmMy3z9w5sTpzsdKO/w4c=
X-Google-Smtp-Source: AGHT+IH0ZW2oaxdE5zMBv/D24ibnqwE3DqpI9lmZfRLWAk1KAOJsXcFTPw6pcD+tvJtRgJ78+52WaA==
X-Received: by 2002:a25:fc3:0:b0:c21:4bc4:331d with SMTP id 186-20020a250fc3000000b00c214bc4331dmr6829336ybp.43.1691449530544;
        Mon, 07 Aug 2023 16:05:30 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 06/31] mm: Convert ptlock_ptr() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:48 -0700
Message-Id: <20230807230513.102486-7-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/x86/xen/mmu_pv.c |  2 +-
 include/linux/mm.h    | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index e0a975165de7..8796ec310483 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -667,7 +667,7 @@ static spinlock_t *xen_pte_lock(struct page *page, struct mm_struct *mm)
 	spinlock_t *ptl = NULL;
 
 #if USE_SPLIT_PTE_PTLOCKS
-	ptl = ptlock_ptr(page);
+	ptl = ptlock_ptr(page_ptdesc(page));
 	spin_lock_nest_lock(ptl, &mm->page_table_lock);
 #endif
 
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 6aea8fb671f1..bc82a64e5f01 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2863,9 +2863,9 @@ void __init ptlock_cache_init(void);
 bool ptlock_alloc(struct ptdesc *ptdesc);
 extern void ptlock_free(struct page *page);
 
-static inline spinlock_t *ptlock_ptr(struct page *page)
+static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
 {
-	return page->ptl;
+	return ptdesc->ptl;
 }
 #else /* ALLOC_SPLIT_PTLOCKS */
 static inline void ptlock_cache_init(void)
@@ -2881,15 +2881,15 @@ static inline void ptlock_free(struct page *page)
 {
 }
 
-static inline spinlock_t *ptlock_ptr(struct page *page)
+static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
 {
-	return &page->ptl;
+	return &ptdesc->ptl;
 }
 #endif /* ALLOC_SPLIT_PTLOCKS */
 
 static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
 {
-	return ptlock_ptr(pmd_page(*pmd));
+	return ptlock_ptr(page_ptdesc(pmd_page(*pmd)));
 }
 
 static inline bool ptlock_init(struct page *page)
@@ -2904,7 +2904,7 @@ static inline bool ptlock_init(struct page *page)
 	VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page);
 	if (!ptlock_alloc(page_ptdesc(page)))
 		return false;
-	spin_lock_init(ptlock_ptr(page));
+	spin_lock_init(ptlock_ptr(page_ptdesc(page)));
 	return true;
 }
 
@@ -2990,7 +2990,7 @@ static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd)
 
 static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 {
-	return ptlock_ptr(ptdesc_page(pmd_ptdesc(pmd)));
+	return ptlock_ptr(pmd_ptdesc(pmd));
 }
 
 static inline bool pmd_ptlock_init(struct page *page)
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578978.906783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9I8-0003Kw-9U; Mon, 07 Aug 2023 23:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578978.906783; Mon, 07 Aug 2023 23:05: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 1qT9I8-0003Kj-58; Mon, 07 Aug 2023 23:05:36 +0000
Received: by outflank-mailman (input) for mailman id 578978;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9I7-0001NS-AQ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:35 +0000
Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com
 [2607:f8b0:4864:20::b33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e94c9ecc-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:33 +0200 (CEST)
Received: by mail-yb1-xb33.google.com with SMTP id
 3f1490d57ef6-d3563cb41e9so4205371276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:33 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e94c9ecc-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449532; x=1692054332;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dV51lKtiOhMWQgAl7GNvRpOxJtkn3o5Ia4Rm5PKGOL0=;
        b=WW7U9RxJoy+3YY4y3qa+Z9OsxlwmyOU3wMBaX5rDPLFmIEHt/X6v4NdYOpBq8PRkh5
         HGAvbPPuVPcaXp+7bIkcS5zKLOts7aoRAq2rmpfhl809GhQ5Z7qhyD2D1O9jUw02JT8D
         ByQrQ+74LtD1rxejz5iV5Ji3t3biqjBaLILP+cGmcXMABNbKMRqAqcPv+Q5eVbDOwvco
         pnySxrcubM/hR4SWo6309aJr0ghUYXqxorm9LprpxBDG4pKG7rw8FnMSIxuCIl+L3G3f
         pQ7sJFVehZ1e4LudKLyLwUTD+K2Hcr+cYbBqgmDPIUau/hEmU0pgvAzvLPGNFfNzyEIP
         WwxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449532; x=1692054332;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dV51lKtiOhMWQgAl7GNvRpOxJtkn3o5Ia4Rm5PKGOL0=;
        b=abKTO7xtTv/TAci8e+m/adWGyPecJ6aHM0rcMpQfavtvLZL3ES6pQWTwu/1SkHkLbq
         xL0jGjhGwrAB1p4yy4oOY4RG82GsTHVaE4+kWuULp4IPhPiadHA+MoJqFo9TvDVy3uSO
         TU/Lk8QLQBApe5fffKkCghCf9Nqghj1fkeOqxv1pC7D/Jr50saM+X5hejhju9PfxRWFN
         +p9VsOw3jo7y3t/AkW8AC05fHF6kmto/0EzdUQmDNk5bzUn0wW1gwpG62l3zllI+2f0/
         wmv924+6NhMoOBXD2fZf713YweBsVFcPjLPxOoO9bnRNqNdNKYVhqCSDcGqnrozVQ0x9
         7Zlw==
X-Gm-Message-State: AOJu0YwmDhs6EmOtxKr0VbPIJLZEqbeHCBHOCkpJNJXh6ksfLioVnobT
	DKO+qOovz+VtZtFMl+Gx+qs=
X-Google-Smtp-Source: AGHT+IEvrDCY+UE05HZYU4gf4n6Ovk9myxbAlbrTcNmkwiJKi0vLSKG9giGoSfLWvI4ILhQ42gUDlQ==
X-Received: by 2002:a25:bd7:0:b0:d14:6e28:69a4 with SMTP id 206-20020a250bd7000000b00d146e2869a4mr9317696ybl.29.1691449532541;
        Mon, 07 Aug 2023 16:05:32 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 07/31] mm: Convert pmd_ptlock_init() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:49 -0700
Message-Id: <20230807230513.102486-8-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index bc82a64e5f01..040982fe9063 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2993,12 +2993,12 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 	return ptlock_ptr(pmd_ptdesc(pmd));
 }
 
-static inline bool pmd_ptlock_init(struct page *page)
+static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
 {
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
-	page->pmd_huge_pte = NULL;
+	ptdesc->pmd_huge_pte = NULL;
 #endif
-	return ptlock_init(page);
+	return ptlock_init(ptdesc_page(ptdesc));
 }
 
 static inline void pmd_ptlock_free(struct page *page)
@@ -3018,7 +3018,7 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 	return &mm->page_table_lock;
 }
 
-static inline bool pmd_ptlock_init(struct page *page) { return true; }
+static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; }
 static inline void pmd_ptlock_free(struct page *page) {}
 
 #define pmd_huge_pte(mm, pmd) ((mm)->pmd_huge_pte)
@@ -3034,7 +3034,7 @@ static inline spinlock_t *pmd_lock(struct mm_struct *mm, pmd_t *pmd)
 
 static inline bool pgtable_pmd_page_ctor(struct page *page)
 {
-	if (!pmd_ptlock_init(page))
+	if (!pmd_ptlock_init(page_ptdesc(page)))
 		return false;
 	__SetPageTable(page);
 	inc_lruvec_page_state(page, NR_PAGETABLE);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578979.906793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9I9-0003d9-Ko; Mon, 07 Aug 2023 23:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578979.906793; Mon, 07 Aug 2023 23: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 1qT9I9-0003bk-FL; Mon, 07 Aug 2023 23:05:37 +0000
Received: by outflank-mailman (input) for mailman id 578979;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9I8-0001NY-59
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:36 +0000
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com
 [2607:f8b0:4864:20::b2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea6bfc27-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:35 +0200 (CEST)
Received: by mail-yb1-xb2b.google.com with SMTP id
 3f1490d57ef6-d16889b3e93so5396096276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:35 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: ea6bfc27-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449534; x=1692054334;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qSt61pcnVgNBhKAHMe8eO3a6G9ChrNL9Px0NKJkznSI=;
        b=doFuHRFvbyMJN61tPnMQYXox+6stb50QdP4/3C93sFPuLhCWwxu1z+tfNZJ4b6Wpl+
         E3E2D7c/fVsu9NK1PuuCIKOAph+/dD0UwiupTdpLzihtqamhwaXNn1+eSFxg36XE1nAW
         9YCYbT+6Netay+dE7igP1FbsCv8QYjddLC3kVasHRyFjUe3vhlHJ5pPzAaFOmunT+EhT
         TypcY3libiW+1xTSZsvLq3CfCOXA2FWQUiU+MigDUHm3gt0TV6nV3mcKzhVGZgr0Qhni
         PeipZMs+ho2QZuOrtBA9RQFaTSU/S0o5wnK6eQ2hY8zhXlVshk/VfS/NqhE6JdbcRNTR
         jImw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449534; x=1692054334;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qSt61pcnVgNBhKAHMe8eO3a6G9ChrNL9Px0NKJkznSI=;
        b=K94Mry71ux0NO8jTUNShcaG6ivygqLQhOgBo+6Dnz4oX74yrVP38Sk1E5AcMvtUyfY
         8oxGoYzbiD5ZGrdmB6V+L0OKl0x5n+K4z8dmzanQCpm9mix9TbyLdJNx65qK62UB1gTS
         OBN8L09WVoX8LnRSomMGAhg3ZxgBpZR0AHyGbSIgVzcgpm1fDr4F0zxLybEuZkTk6ruJ
         3xRWhILAOgmPL7YHUqIrW6Ua2WPPNZyTzNOu7lL8xL+2uD1VgzkMfbYXl2b2ybBwCwOm
         2+OIbgJ/A/KI/R+3zjdNRAC9b7+a3lYr5rwnO+iOxyRm2AVd3gauCdbCJIE5pmXkBOmn
         1ZgA==
X-Gm-Message-State: AOJu0Yzpf2dLuV+gMkYRPLgjqWOWBk3j531W01drRzSEi2IshAnG1qVM
	uBiOk9dQbRKY1hdICZhiLq4=
X-Google-Smtp-Source: AGHT+IH78clSYv8jjRwrTCz7hdEyV6ONxxFaBIBEI75jS+XpTOJin8WaSgmj5CyKgW8Moog6FuLvdA==
X-Received: by 2002:a25:4c86:0:b0:d0a:d15b:3b0f with SMTP id z128-20020a254c86000000b00d0ad15b3b0fmr10002278yba.33.1691449534448;
        Mon, 07 Aug 2023 16:05:34 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 08/31] mm: Convert ptlock_init() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:50 -0700
Message-Id: <20230807230513.102486-9-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 040982fe9063..13947b17f25e 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2892,7 +2892,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
 	return ptlock_ptr(page_ptdesc(pmd_page(*pmd)));
 }
 
-static inline bool ptlock_init(struct page *page)
+static inline bool ptlock_init(struct ptdesc *ptdesc)
 {
 	/*
 	 * prep_new_page() initialize page->private (and therefore page->ptl)
@@ -2901,10 +2901,10 @@ static inline bool ptlock_init(struct page *page)
 	 * It can happen if arch try to use slab for page table allocation:
 	 * slab code uses page->slab_cache, which share storage with page->ptl.
 	 */
-	VM_BUG_ON_PAGE(*(unsigned long *)&page->ptl, page);
-	if (!ptlock_alloc(page_ptdesc(page)))
+	VM_BUG_ON_PAGE(*(unsigned long *)&ptdesc->ptl, ptdesc_page(ptdesc));
+	if (!ptlock_alloc(ptdesc))
 		return false;
-	spin_lock_init(ptlock_ptr(page_ptdesc(page)));
+	spin_lock_init(ptlock_ptr(ptdesc));
 	return true;
 }
 
@@ -2917,13 +2917,13 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
 	return &mm->page_table_lock;
 }
 static inline void ptlock_cache_init(void) {}
-static inline bool ptlock_init(struct page *page) { return true; }
+static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
 static inline void ptlock_free(struct page *page) {}
 #endif /* USE_SPLIT_PTE_PTLOCKS */
 
 static inline bool pgtable_pte_page_ctor(struct page *page)
 {
-	if (!ptlock_init(page))
+	if (!ptlock_init(page_ptdesc(page)))
 		return false;
 	__SetPageTable(page);
 	inc_lruvec_page_state(page, NR_PAGETABLE);
@@ -2998,7 +2998,7 @@ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 	ptdesc->pmd_huge_pte = NULL;
 #endif
-	return ptlock_init(ptdesc_page(ptdesc));
+	return ptlock_init(ptdesc);
 }
 
 static inline void pmd_ptlock_free(struct page *page)
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578980.906803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IB-000416-6Y; Mon, 07 Aug 2023 23:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578980.906803; Mon, 07 Aug 2023 23:05:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IB-000401-2D; Mon, 07 Aug 2023 23:05:39 +0000
Received: by outflank-mailman (input) for mailman id 578980;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IA-0001NY-4o
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:38 +0000
Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com
 [2607:f8b0:4864:20::b2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb8edc84-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:37 +0200 (CEST)
Received: by mail-yb1-xb2e.google.com with SMTP id
 3f1490d57ef6-d07c535377fso5458594276.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:37 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb8edc84-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449536; x=1692054336;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dL6AQetgHURU9peF5jMm+1QPkGPdtGd2X/zb9xq5Tzw=;
        b=ipvaU8x/4/BvbPbL1JSP5UKyrvOXFJin5b02qnpk0+g2WqZ4eJ+PO+ktIgA+6wNoSm
         aaVqpEKee+fuDlQKCW2FfgF7SgMBsBqJt3e1nMH+AXWpM2n5M5vJ6ySCVS0SQ6gxdoiI
         D+Vz3KZ0hmlesWiSA/IngK6t1yMsQcmq6H5TLlpCkzZtF+sAfosr9KpkynHtpBKwq7VS
         GLoFH093mbAem14YxFU+jWVsiLanVvmYVX25waYX2eZafZZIUXESTosUd2Oq+mhwT6KE
         DFWO6vdcB84fh2CYUtre/BRV5qGnoLxfl2hREphZC8Q8m4iPBusEVSAtzxRpIAKFC+MO
         xrMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449536; x=1692054336;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dL6AQetgHURU9peF5jMm+1QPkGPdtGd2X/zb9xq5Tzw=;
        b=a9cYjC2WkM1nHf85f0/h5zCuaBv0wOxWmJu3tltiWeDTRbC/9VezRjiWrlJtEGqxt9
         sWmK4PJTnIU9QdDTRkMGMY/uoYIS86rZ1lsnlwsW4lBBQrYHoZ0QoXmN9qZFNOqcCVsl
         vzxUEKC2r9hdDbAmc4mnq8mt4odg+JJWRbWoPIRfk2apxV4snEVA0FoCYnbmeE/pswrJ
         xNkV0XM+dIWSy8+ryz5jELWxvfoDy2KQdtJNJTBgIfJ7qO296Cb8qn2uCDmPGSvyYb+Z
         koz/OZcihSYeMbckLYNBee+9JjJ9z4TQraBMAIRYeWZ2Jmw39mYYRPxV6+BGsZY2fGLX
         sQ1g==
X-Gm-Message-State: AOJu0Yz+41lyz1XUEGTHouCry56ZFWwPCi59CC9iJ0a4mOBf7tHaz8V7
	XMyC1ulMyS041cg8tZ11bIM=
X-Google-Smtp-Source: AGHT+IEvxj9+7jMT4q6zEzLr5Igqcb/a7jma6HML30e7U0QAJ8Bd3AhAgHjN0UpvuwRaK7JUtc9G0w==
X-Received: by 2002:a25:738b:0:b0:d09:7f94:6ea3 with SMTP id o133-20020a25738b000000b00d097f946ea3mr11456718ybc.65.1691449536455;
        Mon, 07 Aug 2023 16:05:36 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 09/31] mm: Convert pmd_ptlock_free() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:51 -0700
Message-Id: <20230807230513.102486-10-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 13947b17f25e..aa6f77c71453 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -3001,12 +3001,12 @@ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
 	return ptlock_init(ptdesc);
 }
 
-static inline void pmd_ptlock_free(struct page *page)
+static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
 {
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
-	VM_BUG_ON_PAGE(page->pmd_huge_pte, page);
+	VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
 #endif
-	ptlock_free(page);
+	ptlock_free(ptdesc_page(ptdesc));
 }
 
 #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)
@@ -3019,7 +3019,7 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
 }
 
 static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; }
-static inline void pmd_ptlock_free(struct page *page) {}
+static inline void pmd_ptlock_free(struct ptdesc *ptdesc) {}
 
 #define pmd_huge_pte(mm, pmd) ((mm)->pmd_huge_pte)
 
@@ -3043,7 +3043,7 @@ static inline bool pgtable_pmd_page_ctor(struct page *page)
 
 static inline void pgtable_pmd_page_dtor(struct page *page)
 {
-	pmd_ptlock_free(page);
+	pmd_ptlock_free(page_ptdesc(page));
 	__ClearPageTable(page);
 	dec_lruvec_page_state(page, NR_PAGETABLE);
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578982.906813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9ID-0004SR-G3; Mon, 07 Aug 2023 23:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578982.906813; Mon, 07 Aug 2023 23:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9ID-0004S6-AQ; Mon, 07 Aug 2023 23:05:41 +0000
Received: by outflank-mailman (input) for mailman id 578982;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IC-0001NY-3W
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:40 +0000
Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com
 [2607:f8b0:4864:20::b33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecb60116-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:39 +0200 (CEST)
Received: by mail-yb1-xb33.google.com with SMTP id
 3f1490d57ef6-cfcebc33d04so5106379276.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:39 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: ecb60116-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449538; x=1692054338;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rO3hRWVBo6Y9vRkkphMYimV7kP+YdlMpTAZzrYQT330=;
        b=Xru6G6uiZe/OuMY5nm6nRGhKKZT+cMjFr3ywYmjJVtK6bJQBvGQe4lb67TeNeIpRR1
         vU6ROYd5sljoul9DQ182dcYNUtIjSE0g9ryH9BBQnyweF2i9F3a0tNr39lnubSpEzEzx
         D9dlEQ3L7Z6V9tMyRKOuG3jp1VK2LuxNqNXMsa/r8JF3v1c5M1/VvDBiBALX9JEbGcjF
         BYD5zunEjYtVpsA/+5S4bzMaVg5Xls19tVXYJS5Y3GWWrR9cQxHo66Iare/M20jic/7P
         QScGaLnDnqCa6oKmv6Q3fNTRqyTkrnI7S8dkrsktkT3ibHnZIlamT/1RRAzAV+HV4mnX
         P1Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449538; x=1692054338;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rO3hRWVBo6Y9vRkkphMYimV7kP+YdlMpTAZzrYQT330=;
        b=TlaFGxxMnBx4A6LHj+GrnTqYaq1fqn9gJW0HcY69T54NwwcwdRIRXsmlvDXMwQwKta
         xV9kI1gWsl6AaBIAsmbmU4bYmXQ3VX0a3AGXob4TBjDA40tPwELoYfXSiEM4+DgiQjkx
         4ANd6EHSoXGtLgjeJutM5IWzeHoQoIdj/fTrWXb7nUPemqtF8tQFtxrV5HXmhCB6v0BK
         WjoAo/uColVVvU4mukfceOLZmR/IB6btYIYgEexkRoh7OInE+thia7FSsHW2nQ1ukXfB
         3oaahezIOSF8OoTHqtlT8f8fQrlKRQuO7/VU6fozji+jj2QHdC3PE4I6K3IQ7X81AtBt
         E6LA==
X-Gm-Message-State: AOJu0Yz7/dM8vopuWIXYbWDU000Hivn7Pc9yuvQFb6nkM6QlKXJBQKv2
	vX0dTaaMc5d+UKgScUiwQaA=
X-Google-Smtp-Source: AGHT+IFQ1sRvJZAfCY+VUYCk9fa9DxUgaBX+22XersqRcqzji4wcHGi6IN2gPixXkKaq4oGn1g4mnw==
X-Received: by 2002:a25:8001:0:b0:d0f:ea4b:1dff with SMTP id m1-20020a258001000000b00d0fea4b1dffmr9335056ybk.8.1691449538435;
        Mon, 07 Aug 2023 16:05:38 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 10/31] mm: Convert ptlock_free() to use ptdescs
Date: Mon,  7 Aug 2023 16:04:52 -0700
Message-Id: <20230807230513.102486-11-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 10 +++++-----
 mm/memory.c        |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index aa6f77c71453..94984d49ab01 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2861,7 +2861,7 @@ static inline void pagetable_free(struct ptdesc *pt)
 #if ALLOC_SPLIT_PTLOCKS
 void __init ptlock_cache_init(void);
 bool ptlock_alloc(struct ptdesc *ptdesc);
-extern void ptlock_free(struct page *page);
+void ptlock_free(struct ptdesc *ptdesc);
 
 static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
 {
@@ -2877,7 +2877,7 @@ static inline bool ptlock_alloc(struct ptdesc *ptdesc)
 	return true;
 }
 
-static inline void ptlock_free(struct page *page)
+static inline void ptlock_free(struct ptdesc *ptdesc)
 {
 }
 
@@ -2918,7 +2918,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
 }
 static inline void ptlock_cache_init(void) {}
 static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
-static inline void ptlock_free(struct page *page) {}
+static inline void ptlock_free(struct ptdesc *ptdesc) {}
 #endif /* USE_SPLIT_PTE_PTLOCKS */
 
 static inline bool pgtable_pte_page_ctor(struct page *page)
@@ -2932,7 +2932,7 @@ static inline bool pgtable_pte_page_ctor(struct page *page)
 
 static inline void pgtable_pte_page_dtor(struct page *page)
 {
-	ptlock_free(page);
+	ptlock_free(page_ptdesc(page));
 	__ClearPageTable(page);
 	dec_lruvec_page_state(page, NR_PAGETABLE);
 }
@@ -3006,7 +3006,7 @@ static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 	VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
 #endif
-	ptlock_free(ptdesc_page(ptdesc));
+	ptlock_free(ptdesc);
 }
 
 #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)
diff --git a/mm/memory.c b/mm/memory.c
index 3606ef72ba70..d003076b218d 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -6145,8 +6145,8 @@ bool ptlock_alloc(struct ptdesc *ptdesc)
 	return true;
 }
 
-void ptlock_free(struct page *page)
+void ptlock_free(struct ptdesc *ptdesc)
 {
-	kmem_cache_free(page_ptl_cachep, page->ptl);
+	kmem_cache_free(page_ptl_cachep, ptdesc->ptl);
 }
 #endif
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578984.906823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IG-00052f-PY; Mon, 07 Aug 2023 23:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578984.906823; Mon, 07 Aug 2023 23:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IG-00052K-L2; Mon, 07 Aug 2023 23:05:44 +0000
Received: by outflank-mailman (input) for mailman id 578984;
 Mon, 07 Aug 2023 23:05:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IF-0001NS-8R
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:43 +0000
Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com
 [2607:f8b0:4864:20::b31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edededa8-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:41 +0200 (CEST)
Received: by mail-yb1-xb31.google.com with SMTP id
 3f1490d57ef6-d0728058651so5368050276.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:41 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: edededa8-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449540; x=1692054340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XBjJ/e2vPX4j94DTkAO9XQqqbwuOMqryYrtpznFEgGY=;
        b=aasPlAtm5Pcd0yp6duryP473IaipZJS0bWZ4Z8XEGwFlj43AOqpIIC6FhirKlPve9C
         F1vUSIrLW1oYFLLrLilYCJzqaLsw1rmRGBb+Z5eKzeBY0HVz8f1HGASCxMQ2qqkeDt1/
         NUUsoQwBHF6NBLlkSQcHcy9LC4jgcOdJmOlAy/6h3iyfEMCFdLo7Fk1Bu4KWGLpiNsE1
         KzSFxNl6DRl46MY838sL7FF+wIJkc1YVhg5kJdFIQoWHplt5NksftMQPYk7wCakllMw/
         EceX3OKTdEGMJ4GdFrkX3TffvwqD7i/AFN0kCIklmMB/JORnudk4URx0r/bcoO+F1Yl1
         rD5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449540; x=1692054340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XBjJ/e2vPX4j94DTkAO9XQqqbwuOMqryYrtpznFEgGY=;
        b=BBZUSTU7W1WR6A6nf449CfUCZjQ4ATR61h5Ryl5wj5XrCR37pZKbbx4Gq7bPcjQ59U
         N5PcQsFl82X4KSyUi/47oEljgg9fC5fjBAVbIS4sUWDAYifYyUuVKcnD7455Zw8ajUh1
         VAz05pSqYPwlD09RgQY2yUzYPFa+UrefltaqRmQL6arUtgCO78aqcA26wm+LcDf8YBSL
         93vXFFqOi/XRlNPfnmQk9tou68JLpXs75mTFQDfI4YOqm0E5YLc0XyxtKnzyjSMXnt/V
         w3YpZwVVURxYlDNf/l31Wo+O9iqywfQMx2XBi03wBuqeHbmFipVeVPnRXAjzfiUkOJz3
         kx/Q==
X-Gm-Message-State: AOJu0YxP/tpTxkDKwXmlNB9Qr9CG8WwQsUURz0LcT8mfi4gt482nV8st
	oyi2gSYBLMe+FhuEQI1OdGU=
X-Google-Smtp-Source: AGHT+IEw8LfaxYvauKrU5QG8lz4qzDMmMrsNvSvomqfZDfXz4mmURgWJbxHCG9LEh9h57v96do4e4w==
X-Received: by 2002:a25:8251:0:b0:cb9:41ad:8938 with SMTP id d17-20020a258251000000b00cb941ad8938mr12329076ybn.3.1691449540449;
        Mon, 07 Aug 2023 16:05:40 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 11/31] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor}
Date: Mon,  7 Aug 2023 16:04:53 -0700
Message-Id: <20230807230513.102486-12-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create pagetable_pte_ctor(), pagetable_pmd_ctor(), pagetable_pte_dtor(),
and pagetable_pmd_dtor() and make the original pgtable
constructor/destructors wrappers.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/linux/mm.h | 56 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 42 insertions(+), 14 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 94984d49ab01..6310e0c59efe 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2921,20 +2921,34 @@ static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
 static inline void ptlock_free(struct ptdesc *ptdesc) {}
 #endif /* USE_SPLIT_PTE_PTLOCKS */
 
-static inline bool pgtable_pte_page_ctor(struct page *page)
+static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc)
 {
-	if (!ptlock_init(page_ptdesc(page)))
+	struct folio *folio = ptdesc_folio(ptdesc);
+
+	if (!ptlock_init(ptdesc))
 		return false;
-	__SetPageTable(page);
-	inc_lruvec_page_state(page, NR_PAGETABLE);
+	__folio_set_pgtable(folio);
+	lruvec_stat_add_folio(folio, NR_PAGETABLE);
 	return true;
 }
 
+static inline bool pgtable_pte_page_ctor(struct page *page)
+{
+	return pagetable_pte_ctor(page_ptdesc(page));
+}
+
+static inline void pagetable_pte_dtor(struct ptdesc *ptdesc)
+{
+	struct folio *folio = ptdesc_folio(ptdesc);
+
+	ptlock_free(ptdesc);
+	__folio_clear_pgtable(folio);
+	lruvec_stat_sub_folio(folio, NR_PAGETABLE);
+}
+
 static inline void pgtable_pte_page_dtor(struct page *page)
 {
-	ptlock_free(page_ptdesc(page));
-	__ClearPageTable(page);
-	dec_lruvec_page_state(page, NR_PAGETABLE);
+	pagetable_pte_dtor(page_ptdesc(page));
 }
 
 pte_t *__pte_offset_map(pmd_t *pmd, unsigned long addr, pmd_t *pmdvalp);
@@ -3032,20 +3046,34 @@ static inline spinlock_t *pmd_lock(struct mm_struct *mm, pmd_t *pmd)
 	return ptl;
 }
 
-static inline bool pgtable_pmd_page_ctor(struct page *page)
+static inline bool pagetable_pmd_ctor(struct ptdesc *ptdesc)
 {
-	if (!pmd_ptlock_init(page_ptdesc(page)))
+	struct folio *folio = ptdesc_folio(ptdesc);
+
+	if (!pmd_ptlock_init(ptdesc))
 		return false;
-	__SetPageTable(page);
-	inc_lruvec_page_state(page, NR_PAGETABLE);
+	__folio_set_pgtable(folio);
+	lruvec_stat_add_folio(folio, NR_PAGETABLE);
 	return true;
 }
 
+static inline bool pgtable_pmd_page_ctor(struct page *page)
+{
+	return pagetable_pmd_ctor(page_ptdesc(page));
+}
+
+static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc)
+{
+	struct folio *folio = ptdesc_folio(ptdesc);
+
+	pmd_ptlock_free(ptdesc);
+	__folio_clear_pgtable(folio);
+	lruvec_stat_sub_folio(folio, NR_PAGETABLE);
+}
+
 static inline void pgtable_pmd_page_dtor(struct page *page)
 {
-	pmd_ptlock_free(page_ptdesc(page));
-	__ClearPageTable(page);
-	dec_lruvec_page_state(page, NR_PAGETABLE);
+	pagetable_pmd_dtor(page_ptdesc(page));
 }
 
 /*
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578986.906832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9II-0005PL-7u; Mon, 07 Aug 2023 23:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578986.906832; Mon, 07 Aug 2023 23: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 1qT9II-0005P6-26; Mon, 07 Aug 2023 23:05:46 +0000
Received: by outflank-mailman (input) for mailman id 578986;
 Mon, 07 Aug 2023 23:05:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IG-0001NY-Ll
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:44 +0000
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com
 [2607:f8b0:4864:20::112d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef2d821a-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:43 +0200 (CEST)
Received: by mail-yw1-x112d.google.com with SMTP id
 00721157ae682-5844bb9923eso57905667b3.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:43 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: ef2d821a-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449542; x=1692054342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e+EvCLSRHEjRMcrqyzlI7nWwK61/1iPQ6CBOQpr2Pw8=;
        b=rLWnqjmP7sRfTz6wua9GaZP1/2cNvCnICKswTRMyXqBTRclhVFHiAas9xRu3tkibLy
         LYukTLEi8jX6/fTdkYMDCO0fnSCk16sHemMQ8U4gAHGrsaCCSIeDnfo7DvoQ9Gwt06kp
         MQCzbSxxIL1LtUE5+14WQYgbc9OVNCm8xO/RCzTEhtXZ96UEc4E8RE98LQSraVgUZ0Fd
         6Fmm1G6c9NfTk9/aagcsWCP/kTtnrTjipyvOL5pIzWA4ypsawqK6CLLX9Fl4WFHyAZw8
         htPBGGPp0caQCANc0qVpI3FsKnfIB5iUg+Zk2hPevHBBDnF1Z5MJXUMKGZAmqsL9A8b7
         0bsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449542; x=1692054342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=e+EvCLSRHEjRMcrqyzlI7nWwK61/1iPQ6CBOQpr2Pw8=;
        b=EG/wwZatjA22vLqAFrrH3bO1msmzvVF+VfsL/kNN2bk/aJqhtI+a5BZa/sS4XgVzZs
         Qg2KdXeb0AEvpyIbVLTUJAcU1LDPpjPrctnwkVhHKvT8rcqiL9nLcBbcKZ9DCNkH74FA
         CTPeglisLdRi7vPinOb2ECZJYreHY3HgzwNKS+9+WoQRFNS3FUEuBqIjJ9bG9P+Fl7A8
         LeDvCaPIscOHAwzDlvyxQqyrEdiklvaL+Ny3KnFBHBm+8Sdc+cZTz//T3a7K5F5tkSbW
         1P21Xw25n+hWleLJ31pZtedcdfjlL+/bBCs/3sqbVILViSa17tDrAu/J9ycKFTS0bHId
         88MQ==
X-Gm-Message-State: AOJu0YwHLSiMcNibn55R9UyHT6IBdkoi58YzJ2qjhaX0Piy0zq1sRkOk
	vpxUDjZ07e3+M90bk9AkWHQ=
X-Google-Smtp-Source: AGHT+IHORUBL3sdiWUXupMQ7Z7czVcAhY9T4N3g/NpV+o0AxUxjNA5Mmjsd58yiAAKDk1m0/Oelmjw==
X-Received: by 2002:a25:ba84:0:b0:d11:d704:dd7f with SMTP id s4-20020a25ba84000000b00d11d704dd7fmr11892403ybg.32.1691449542531;
        Mon, 07 Aug 2023 16:05:42 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 12/31] powerpc: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:04:54 -0700
Message-Id: <20230807230513.102486-13-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/powerpc/mm/book3s64/mmu_context.c | 10 ++---
 arch/powerpc/mm/book3s64/pgtable.c     | 32 +++++++-------
 arch/powerpc/mm/pgtable-frag.c         | 58 +++++++++++++-------------
 3 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/arch/powerpc/mm/book3s64/mmu_context.c b/arch/powerpc/mm/book3s64/mmu_context.c
index c766e4c26e42..1715b07c630c 100644
--- a/arch/powerpc/mm/book3s64/mmu_context.c
+++ b/arch/powerpc/mm/book3s64/mmu_context.c
@@ -246,15 +246,15 @@ static void destroy_contexts(mm_context_t *ctx)
 static void pmd_frag_destroy(void *pmd_frag)
 {
 	int count;
-	struct page *page;
+	struct ptdesc *ptdesc;
 
-	page = virt_to_page(pmd_frag);
+	ptdesc = virt_to_ptdesc(pmd_frag);
 	/* drop all the pending references */
 	count = ((unsigned long)pmd_frag & ~PAGE_MASK) >> PMD_FRAG_SIZE_SHIFT;
 	/* We allow PTE_FRAG_NR fragments from a PTE page */
-	if (atomic_sub_and_test(PMD_FRAG_NR - count, &page->pt_frag_refcount)) {
-		pgtable_pmd_page_dtor(page);
-		__free_page(page);
+	if (atomic_sub_and_test(PMD_FRAG_NR - count, &ptdesc->pt_frag_refcount)) {
+		pagetable_pmd_dtor(ptdesc);
+		pagetable_free(ptdesc);
 	}
 }
 
diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c
index 75b938268b04..1498ccd08367 100644
--- a/arch/powerpc/mm/book3s64/pgtable.c
+++ b/arch/powerpc/mm/book3s64/pgtable.c
@@ -384,22 +384,22 @@ static pmd_t *get_pmd_from_cache(struct mm_struct *mm)
 static pmd_t *__alloc_for_pmdcache(struct mm_struct *mm)
 {
 	void *ret = NULL;
-	struct page *page;
+	struct ptdesc *ptdesc;
 	gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_ZERO;
 
 	if (mm == &init_mm)
 		gfp &= ~__GFP_ACCOUNT;
-	page = alloc_page(gfp);
-	if (!page)
+	ptdesc = pagetable_alloc(gfp, 0);
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pmd_page_ctor(page)) {
-		__free_pages(page, 0);
+	if (!pagetable_pmd_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
 
-	atomic_set(&page->pt_frag_refcount, 1);
+	atomic_set(&ptdesc->pt_frag_refcount, 1);
 
-	ret = page_address(page);
+	ret = ptdesc_address(ptdesc);
 	/*
 	 * if we support only one fragment just return the
 	 * allocated page.
@@ -409,12 +409,12 @@ static pmd_t *__alloc_for_pmdcache(struct mm_struct *mm)
 
 	spin_lock(&mm->page_table_lock);
 	/*
-	 * If we find pgtable_page set, we return
+	 * If we find ptdesc_page set, we return
 	 * the allocated page with single fragment
 	 * count.
 	 */
 	if (likely(!mm->context.pmd_frag)) {
-		atomic_set(&page->pt_frag_refcount, PMD_FRAG_NR);
+		atomic_set(&ptdesc->pt_frag_refcount, PMD_FRAG_NR);
 		mm->context.pmd_frag = ret + PMD_FRAG_SIZE;
 	}
 	spin_unlock(&mm->page_table_lock);
@@ -435,15 +435,15 @@ pmd_t *pmd_fragment_alloc(struct mm_struct *mm, unsigned long vmaddr)
 
 void pmd_fragment_free(unsigned long *pmd)
 {
-	struct page *page = virt_to_page(pmd);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
 
-	if (PageReserved(page))
-		return free_reserved_page(page);
+	if (pagetable_is_reserved(ptdesc))
+		return free_reserved_ptdesc(ptdesc);
 
-	BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0);
-	if (atomic_dec_and_test(&page->pt_frag_refcount)) {
-		pgtable_pmd_page_dtor(page);
-		__free_page(page);
+	BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0);
+	if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) {
+		pagetable_pmd_dtor(ptdesc);
+		pagetable_free(ptdesc);
 	}
 }
 
diff --git a/arch/powerpc/mm/pgtable-frag.c b/arch/powerpc/mm/pgtable-frag.c
index 0c6b68130025..8c31802f97e8 100644
--- a/arch/powerpc/mm/pgtable-frag.c
+++ b/arch/powerpc/mm/pgtable-frag.c
@@ -18,15 +18,15 @@
 void pte_frag_destroy(void *pte_frag)
 {
 	int count;
-	struct page *page;
+	struct ptdesc *ptdesc;
 
-	page = virt_to_page(pte_frag);
+	ptdesc = virt_to_ptdesc(pte_frag);
 	/* drop all the pending references */
 	count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT;
 	/* We allow PTE_FRAG_NR fragments from a PTE page */
-	if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) {
-		pgtable_pte_page_dtor(page);
-		__free_page(page);
+	if (atomic_sub_and_test(PTE_FRAG_NR - count, &ptdesc->pt_frag_refcount)) {
+		pagetable_pte_dtor(ptdesc);
+		pagetable_free(ptdesc);
 	}
 }
 
@@ -55,25 +55,25 @@ static pte_t *get_pte_from_cache(struct mm_struct *mm)
 static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel)
 {
 	void *ret = NULL;
-	struct page *page;
+	struct ptdesc *ptdesc;
 
 	if (!kernel) {
-		page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT);
-		if (!page)
+		ptdesc = pagetable_alloc(PGALLOC_GFP | __GFP_ACCOUNT, 0);
+		if (!ptdesc)
 			return NULL;
-		if (!pgtable_pte_page_ctor(page)) {
-			__free_page(page);
+		if (!pagetable_pte_ctor(ptdesc)) {
+			pagetable_free(ptdesc);
 			return NULL;
 		}
 	} else {
-		page = alloc_page(PGALLOC_GFP);
-		if (!page)
+		ptdesc = pagetable_alloc(PGALLOC_GFP, 0);
+		if (!ptdesc)
 			return NULL;
 	}
 
-	atomic_set(&page->pt_frag_refcount, 1);
+	atomic_set(&ptdesc->pt_frag_refcount, 1);
 
-	ret = page_address(page);
+	ret = ptdesc_address(ptdesc);
 	/*
 	 * if we support only one fragment just return the
 	 * allocated page.
@@ -82,12 +82,12 @@ static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel)
 		return ret;
 	spin_lock(&mm->page_table_lock);
 	/*
-	 * If we find pgtable_page set, we return
+	 * If we find ptdesc_page set, we return
 	 * the allocated page with single fragment
 	 * count.
 	 */
 	if (likely(!pte_frag_get(&mm->context))) {
-		atomic_set(&page->pt_frag_refcount, PTE_FRAG_NR);
+		atomic_set(&ptdesc->pt_frag_refcount, PTE_FRAG_NR);
 		pte_frag_set(&mm->context, ret + PTE_FRAG_SIZE);
 	}
 	spin_unlock(&mm->page_table_lock);
@@ -108,28 +108,28 @@ pte_t *pte_fragment_alloc(struct mm_struct *mm, int kernel)
 
 static void pte_free_now(struct rcu_head *head)
 {
-	struct page *page;
+	struct ptdesc *ptdesc;
 
-	page = container_of(head, struct page, rcu_head);
-	pgtable_pte_page_dtor(page);
-	__free_page(page);
+	ptdesc = container_of(head, struct ptdesc, pt_rcu_head);
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 void pte_fragment_free(unsigned long *table, int kernel)
 {
-	struct page *page = virt_to_page(table);
+	struct ptdesc *ptdesc = virt_to_ptdesc(table);
 
-	if (PageReserved(page))
-		return free_reserved_page(page);
+	if (pagetable_is_reserved(ptdesc))
+		return free_reserved_ptdesc(ptdesc);
 
-	BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0);
-	if (atomic_dec_and_test(&page->pt_frag_refcount)) {
+	BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0);
+	if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) {
 		if (kernel)
-			__free_page(page);
-		else if (TestClearPageActive(page))
-			call_rcu(&page->rcu_head, pte_free_now);
+			pagetable_free(ptdesc);
+		else if (folio_test_clear_active(ptdesc_folio(ptdesc)))
+			call_rcu(&ptdesc->pt_rcu_head, pte_free_now);
 		else
-			pte_free_now(&page->rcu_head);
+			pte_free_now(&ptdesc->pt_rcu_head);
 	}
 }
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578992.906843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IL-00064S-NR; Mon, 07 Aug 2023 23:05:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578992.906843; Mon, 07 Aug 2023 23:05: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 1qT9IL-000648-IU; Mon, 07 Aug 2023 23:05:49 +0000
Received: by outflank-mailman (input) for mailman id 578992;
 Mon, 07 Aug 2023 23:05: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IK-0001NS-Bl
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:48 +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 f06633df-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:45 +0200 (CEST)
Received: by mail-oo1-xc35.google.com with SMTP id
 006d021491bc7-56cd753b31cso2655475eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:45 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: f06633df-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449544; x=1692054344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sltDOqqNfHEtvz8jLXUjW/r74sJCuRKUMVTEbSHBWCo=;
        b=UhBUMZPilOAQo3tCXIAniV7oZUOB/4OUCgf91AGw0VUxPIy18IwE3Hi+xzTQPR3j5J
         o20MFNZLnYngdlpCV7c18tsU830Io9A8DWdX3VSs8IZGcaz3l+m4OaxP2VVwR45ldftn
         z2kW31b5xPxYeP3g5UA46i7qsam8HRjTgG7guCbc8HyGEcYktnlbPJA40mgTTCO6Cfp5
         i9UcQWRlBkevWdSR2pIJgYC6roUzquc+QXKeembvcRSerjkiIbuoDs27MkJKPDd/Xbpo
         rTtWQ/L28eqbGOEHbuk8Zg9jgIBeYXnwkb82KyyF5XFV7KZrtQoqdZyN2qkwYGLx08Fy
         p3Sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449544; x=1692054344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sltDOqqNfHEtvz8jLXUjW/r74sJCuRKUMVTEbSHBWCo=;
        b=HrTpxxPwNrnrvNtKM5lAibSo4ipXaAY8PKXfnjN53q2h/IAop8KcRYvlPnAQ0RdZe8
         eNkasI6MTdZ5hnEIxRhcZv/reX2dqagBOkvLfqw/BGgpOHptNeSz/klbQpsOBqXvnxyR
         aUyY62MJEajRqFBuzNiBPF7TjKrrBsnHzWIAC/Muzo30JU8NA4YUhJw3WRyuIp/xQ4gb
         BiSc1yBu7PRS0z9iB72orsXpZKpofsksvPnJPJ4S1UGM6SqQirT2yi1hrmrcm4S/dZzM
         4Oi1QwKGqOg7UIu9hCcjvmiAvGl4D1UA8Q1y8mBV4rtNG1kPFBr/lcsW2zf8DjKzpUVr
         nkIA==
X-Gm-Message-State: AOJu0YwB+LaC9LFtcR7NpMmbRNAq5TL9IP+FotcrhZ0NybZKiNLe9xD7
	/4TL/8e2igu2S5xUAM1a/uU=
X-Google-Smtp-Source: AGHT+IHsTvUJyWq2o9mZJc1NQ3FrwP0s/yEHbaA4sDhb4UDEkTpN/SnOXwKPkJpn25/vbSLatpkp3w==
X-Received: by 2002:a05:6808:df3:b0:3a4:8140:97e8 with SMTP id g51-20020a0568080df300b003a4814097e8mr8989196oic.14.1691449544486;
        Mon, 07 Aug 2023 16:05:44 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: [PATCH mm-unstable v9 13/31] x86: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:04:55 -0700
Message-Id: <20230807230513.102486-14-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/x86/mm/pgtable.c | 47 ++++++++++++++++++++++++++-----------------
 1 file changed, 28 insertions(+), 19 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index 15a8009a4480..d3a93e8766ee 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -52,7 +52,7 @@ early_param("userpte", setup_userpte);
 
 void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte)
 {
-	pgtable_pte_page_dtor(pte);
+	pagetable_pte_dtor(page_ptdesc(pte));
 	paravirt_release_pte(page_to_pfn(pte));
 	paravirt_tlb_remove_table(tlb, pte);
 }
@@ -60,7 +60,7 @@ void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte)
 #if CONFIG_PGTABLE_LEVELS > 2
 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd)
 {
-	struct page *page = virt_to_page(pmd);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
 	paravirt_release_pmd(__pa(pmd) >> PAGE_SHIFT);
 	/*
 	 * NOTE! For PAE, any changes to the top page-directory-pointer-table
@@ -69,8 +69,8 @@ void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd)
 #ifdef CONFIG_X86_PAE
 	tlb->need_flush_all = 1;
 #endif
-	pgtable_pmd_page_dtor(page);
-	paravirt_tlb_remove_table(tlb, page);
+	pagetable_pmd_dtor(ptdesc);
+	paravirt_tlb_remove_table(tlb, ptdesc_page(ptdesc));
 }
 
 #if CONFIG_PGTABLE_LEVELS > 3
@@ -92,16 +92,16 @@ void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d)
 
 static inline void pgd_list_add(pgd_t *pgd)
 {
-	struct page *page = virt_to_page(pgd);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pgd);
 
-	list_add(&page->lru, &pgd_list);
+	list_add(&ptdesc->pt_list, &pgd_list);
 }
 
 static inline void pgd_list_del(pgd_t *pgd)
 {
-	struct page *page = virt_to_page(pgd);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pgd);
 
-	list_del(&page->lru);
+	list_del(&ptdesc->pt_list);
 }
 
 #define UNSHARED_PTRS_PER_PGD				\
@@ -112,12 +112,12 @@ static inline void pgd_list_del(pgd_t *pgd)
 
 static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm)
 {
-	virt_to_page(pgd)->pt_mm = mm;
+	virt_to_ptdesc(pgd)->pt_mm = mm;
 }
 
 struct mm_struct *pgd_page_get_mm(struct page *page)
 {
-	return page->pt_mm;
+	return page_ptdesc(page)->pt_mm;
 }
 
 static void pgd_ctor(struct mm_struct *mm, pgd_t *pgd)
@@ -213,11 +213,14 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd)
 static void free_pmds(struct mm_struct *mm, pmd_t *pmds[], int count)
 {
 	int i;
+	struct ptdesc *ptdesc;
 
 	for (i = 0; i < count; i++)
 		if (pmds[i]) {
-			pgtable_pmd_page_dtor(virt_to_page(pmds[i]));
-			free_page((unsigned long)pmds[i]);
+			ptdesc = virt_to_ptdesc(pmds[i]);
+
+			pagetable_pmd_dtor(ptdesc);
+			pagetable_free(ptdesc);
 			mm_dec_nr_pmds(mm);
 		}
 }
@@ -230,18 +233,24 @@ static int preallocate_pmds(struct mm_struct *mm, pmd_t *pmds[], int count)
 
 	if (mm == &init_mm)
 		gfp &= ~__GFP_ACCOUNT;
+	gfp &= ~__GFP_HIGHMEM;
 
 	for (i = 0; i < count; i++) {
-		pmd_t *pmd = (pmd_t *)__get_free_page(gfp);
-		if (!pmd)
+		pmd_t *pmd = NULL;
+		struct ptdesc *ptdesc = pagetable_alloc(gfp, 0);
+
+		if (!ptdesc)
 			failed = true;
-		if (pmd && !pgtable_pmd_page_ctor(virt_to_page(pmd))) {
-			free_page((unsigned long)pmd);
-			pmd = NULL;
+		if (ptdesc && !pagetable_pmd_ctor(ptdesc)) {
+			pagetable_free(ptdesc);
+			ptdesc = NULL;
 			failed = true;
 		}
-		if (pmd)
+		if (ptdesc) {
 			mm_inc_nr_pmds(mm);
+			pmd = ptdesc_address(ptdesc);
+		}
+
 		pmds[i] = pmd;
 	}
 
@@ -830,7 +839,7 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
 
 	free_page((unsigned long)pmd_sv);
 
-	pgtable_pmd_page_dtor(virt_to_page(pmd));
+	pagetable_pmd_dtor(virt_to_ptdesc(pmd));
 	free_page((unsigned long)pmd);
 
 	return 1;
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:05:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.578994.906853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IP-0006lX-6f; Mon, 07 Aug 2023 23:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 578994.906853; Mon, 07 Aug 2023 23:05:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9IO-0006l9-Vq; Mon, 07 Aug 2023 23:05:53 +0000
Received: by outflank-mailman (input) for mailman id 578994;
 Mon, 07 Aug 2023 23:05:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IN-0001NS-AA
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:51 +0000
Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com
 [2607:f8b0:4864:20::b2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2c3a583-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:49 +0200 (CEST)
Received: by mail-yb1-xb2f.google.com with SMTP id
 3f1490d57ef6-d13e0bfbbcfso7271217276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:49 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: f2c3a583-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449548; x=1692054348;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=djDHSA50q7R+UyBiZfR1OlHjGJmDs73q9nwlLjbVi90=;
        b=A70KAiN4sx+tlFlhyX9BkgJstVMLVR3VqHlhU0rx7I/q1gK7xadYJiksKbuvoZ1TCU
         vtYAPdjYMcohI4FUcCDaUSvo3KExkCCd8i4ZAJlLsd7GGEFa35HZ6ueu66zMG9Pjessv
         IfHL3oLMSZbSj2Xq1C5vYTgwWzjwrMyTCzKH7w07IcqqBjGPHvlKkPkr5yx2TrtnD3V5
         vilM5UK235QUkkDj7spFvnAsyD47IB2DFcBmstKvpCiE4ENrGAtmtfggM5j3FhO6Urma
         yNzpPXlABiRMwP18oUglZegWP3XimvmMFaP4ALUxkyZmGiszwVYNBF+f3K+ck5Grr2Wp
         NJ/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449548; x=1692054348;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=djDHSA50q7R+UyBiZfR1OlHjGJmDs73q9nwlLjbVi90=;
        b=Tom7rIvsB5fLnrS17EfXXXM57RvYiWRw32fNvB6AYie+j057RIu/pFigOoUD+URo+I
         9v6OlOx3I+1uqK5YlC33GLEc/+Jjp3k+KNe5njtTWY9mUCJ2sp4rRu4Ec4ZnDtbNThOU
         Do5RB3ytOSA0kidf5QyeL4ee/Y1F3dWVu9m6GkWErrUcuYroPDLX4n16p0YN5Zvq2ijz
         3B3qomUm1SHB3l0apvoiFeOEQ5gvqrtrcHggwC3d23yElIHYp9mmSK5JXzWnA9kHtVEs
         2csbTuHxSdksKxyPkyTgDTKk//Mp+amY66Hak11ThIRRI6fyhRwqRIQ3/l5y5qC1ylh4
         Nf4A==
X-Gm-Message-State: AOJu0YyQfiAVOZyF8PkYFsMUHb60j+v/uNWNBm2YNGUJ0D66h9eMOWnF
	vAX25Klh8ityc6FgcUZcxP4=
X-Google-Smtp-Source: AGHT+IGTzP73V6D5bA3Obfkv2DqAOxUsUVIIigLLB5NQKEC9VyMSvyrKel3HyW7I0Mz7ccDZUXFbIA==
X-Received: by 2002:a25:d8c4:0:b0:d05:2616:3363 with SMTP id p187-20020a25d8c4000000b00d0526163363mr9753736ybg.26.1691449548551;
        Mon, 07 Aug 2023 16:05:48 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 15/31] mm: remove page table members from struct page
Date: Mon,  7 Aug 2023 16:04:57 -0700
Message-Id: <20230807230513.102486-16-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The page table members are now split out into their own ptdesc struct.
Remove them from struct page.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
---
 include/linux/mm_types.h | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index ea34b22b4cbf..f5ba5b0bc836 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -141,24 +141,6 @@ struct page {
 		struct {	/* Tail pages of compound page */
 			unsigned long compound_head;	/* Bit zero is set */
 		};
-		struct {	/* Page table pages */
-			unsigned long _pt_pad_1;	/* compound_head */
-			pgtable_t pmd_huge_pte; /* protected by page->ptl */
-			/*
-			 * A PTE page table page might be freed by use of
-			 * rcu_head: which overlays those two fields above.
-			 */
-			unsigned long _pt_pad_2;	/* mapping */
-			union {
-				struct mm_struct *pt_mm; /* x86 pgds only */
-				atomic_t pt_frag_refcount; /* powerpc */
-			};
-#if ALLOC_SPLIT_PTLOCKS
-			spinlock_t *ptl;
-#else
-			spinlock_t ptl;
-#endif
-		};
 		struct {	/* ZONE_DEVICE pages */
 			/** @pgmap: Points to the hosting device page map. */
 			struct dev_pagemap *pgmap;
@@ -454,10 +436,7 @@ struct ptdesc {
 TABLE_MATCH(flags, __page_flags);
 TABLE_MATCH(compound_head, pt_list);
 TABLE_MATCH(compound_head, _pt_pad_1);
-TABLE_MATCH(pmd_huge_pte, pmd_huge_pte);
 TABLE_MATCH(mapping, __page_mapping);
-TABLE_MATCH(pt_mm, pt_mm);
-TABLE_MATCH(ptl, ptl);
 TABLE_MATCH(rcu_head, pt_rcu_head);
 TABLE_MATCH(page_type, __page_type);
 TABLE_MATCH(_refcount, _refcount);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579021.906863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Js-0001Dh-KW; Mon, 07 Aug 2023 23:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579021.906863; Mon, 07 Aug 2023 23: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 1qT9Js-0001Da-G5; Mon, 07 Aug 2023 23:07:24 +0000
Received: by outflank-mailman (input) for mailman id 579021;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ip-0001NY-UB
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:19 +0000
Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com
 [2607:f8b0:4864:20::b2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00a22b99-3577-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:06:12 +0200 (CEST)
Received: by mail-yb1-xb2a.google.com with SMTP id
 3f1490d57ef6-d2b8437d825so5087721276.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:12 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00a22b99-3577-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449572; x=1692054372;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NpbBCMkwg1WbsmcEnKHREFultw/IY4tG3Jsqz6w0a8E=;
        b=nS5J1UYk8f9msjmOJfcwkB8RnOSNZv60DefW2TDIHuOlvS9npGk8oT2LZd+SySl8sv
         g+gjV1veIOE2SNGvcFOMJ1pPimwLTZ7+pvFQ4bVBKr+eOsPpBFIPNto8klZeZdDlbFxo
         wkyNcA7u+kweH04q+BG4NvsUNaK7E9zibuZ01wwXmu5qj90Fw+mY1pf3xcSZWMeZa7wK
         aGRqh9CjWX7iCRUWp+ZrbhBol1e4MCC8JBlzqolLSWyg74wpF8elWEgkI2Vj4oenaGhD
         isx7MJZrX54CbrhbHsj99pEt0PqmBmGh9HnsD2DaWM5Gm6veS11IW5m9dzOKe44sU/M/
         md6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449572; x=1692054372;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NpbBCMkwg1WbsmcEnKHREFultw/IY4tG3Jsqz6w0a8E=;
        b=bWTjElMLWyncexya9L/k5QBL8oWU8j1WdGkgfO5ElP8tNGag21sbAGGS922vgjM60W
         PuFcTZAvN293y2Z/vX3yVdMMw+xpBkY86qFO7Un9tFs1ReCeFD1ch8FU2YTvaMIvaq//
         AcMFl4+okdVhS5a7Bqtl1CpvhGu1pguH7oZoP3hfyga7b9RU7SWCVaFJBoYHHrYIzYbB
         OEswiA9azfs+XqAfdQnIHgoWhgAz50FYd3PQ78HuW2naVH6sAlLJWDryu+F9htytm5R6
         3OxsE9iIgZm2vRvmPrkJJKUr1doRjiNPaApVF/qzWfxUuPDrAb4PyvfVr2vO/mrR8c48
         RB6w==
X-Gm-Message-State: AOJu0YyaQzRJrW+LKNw5FtviXl6qhHVBMzF8tjZMx7nFL/nAMEomhP6P
	fF2kcX+6S/ehKGIbJ9c5dvE=
X-Google-Smtp-Source: AGHT+IHFLqgFAthROKM1yjg8aTn4QAXhjx425iARLy/TVdE1z6PZIG9RjSxWoTmqjhSqLQZr0gTMYg==
X-Received: by 2002:a25:d24d:0:b0:d0a:127e:7478 with SMTP id j74-20020a25d24d000000b00d0a127e7478mr9478817ybg.44.1691449571835;
        Mon, 07 Aug 2023 16:06:11 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@rivosinc.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 26/31] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:08 -0700
Message-Id: <20230807230513.102486-27-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/riscv/include/asm/pgalloc.h |  8 ++++----
 arch/riscv/mm/init.c             | 16 ++++++----------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/arch/riscv/include/asm/pgalloc.h b/arch/riscv/include/asm/pgalloc.h
index 59dc12b5b7e8..d169a4f41a2e 100644
--- a/arch/riscv/include/asm/pgalloc.h
+++ b/arch/riscv/include/asm/pgalloc.h
@@ -153,10 +153,10 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 
 #endif /* __PAGETABLE_PMD_FOLDED */
 
-#define __pte_free_tlb(tlb, pte, buf)   \
-do {                                    \
-	pgtable_pte_page_dtor(pte);     \
-	tlb_remove_page((tlb), pte);    \
+#define __pte_free_tlb(tlb, pte, buf)			\
+do {							\
+	pagetable_pte_dtor(page_ptdesc(pte));		\
+	tlb_remove_page_ptdesc((tlb), page_ptdesc(pte));\
 } while (0)
 #endif /* CONFIG_MMU */
 
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 9ce504737d18..430a3d05a841 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -353,12 +353,10 @@ static inline phys_addr_t __init alloc_pte_fixmap(uintptr_t va)
 
 static phys_addr_t __init alloc_pte_late(uintptr_t va)
 {
-	unsigned long vaddr;
-
-	vaddr = __get_free_page(GFP_KERNEL);
-	BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page((void *)vaddr)));
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0);
 
-	return __pa(vaddr);
+	BUG_ON(!ptdesc || !pagetable_pte_ctor(ptdesc));
+	return __pa((pte_t *)ptdesc_address(ptdesc));
 }
 
 static void __init create_pte_mapping(pte_t *ptep,
@@ -436,12 +434,10 @@ static phys_addr_t __init alloc_pmd_fixmap(uintptr_t va)
 
 static phys_addr_t __init alloc_pmd_late(uintptr_t va)
 {
-	unsigned long vaddr;
-
-	vaddr = __get_free_page(GFP_KERNEL);
-	BUG_ON(!vaddr || !pgtable_pmd_page_ctor(virt_to_page((void *)vaddr)));
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0);
 
-	return __pa(vaddr);
+	BUG_ON(!ptdesc || !pagetable_pmd_ctor(ptdesc));
+	return __pa((pmd_t *)ptdesc_address(ptdesc));
 }
 
 static void __init create_pmd_mapping(pmd_t *pmdp,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579026.906873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jt-0001U5-SB; Mon, 07 Aug 2023 23:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579026.906873; Mon, 07 Aug 2023 23: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 1qT9Jt-0001Tr-P1; Mon, 07 Aug 2023 23:07:25 +0000
Received: by outflank-mailman (input) for mailman id 579026;
 Mon, 07 Aug 2023 23:07: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ip-0001NS-6u
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:19 +0000
Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com
 [2607:f8b0:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0356d06e-3577-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:17 +0200 (CEST)
Received: by mail-oi1-x236.google.com with SMTP id
 5614622812f47-3a74d759be4so3751260b6e.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:17 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0356d06e-3577-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449576; x=1692054376;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9BaWlDiv5V7gFuBlQl83W1x9C2ZQPjYd5FMjDEEKLfk=;
        b=cpy8Xcl19ScHIaEJohMfnXLz1DqejMUY8L9glfoRJKsJ7GTvGcuQsYlnxy1uVil+vX
         sKLd/jl5n7/nYQY+c94D1q52xLTeGbCjuaSsuOaGb/1E2rdiSHktCUTDo4f7HqbeV+dj
         TPAGwr0CoWyRhx6mzwQflnUob8s/y/rCKdVhSwURC5eFFFvRnN/tn2Qy2PbiuytULAR6
         gF0MKwRWTHX4EnLLnTfGRqqibjjUEq59j99BhXKpF7aj2wSWqBVgMsp2RTnzW+/7J2fC
         DAIl8+bDSwnR/XjlkNOvluV6Us9KQMDrngkUDG9ywXNDgTmwYNXsy+sDpdm8duXtW4+4
         Ov0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449576; x=1692054376;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9BaWlDiv5V7gFuBlQl83W1x9C2ZQPjYd5FMjDEEKLfk=;
        b=Q9VFQpUYK+ajwAm+F/eni6OekKDpuW3P4IgcMQT/NgZuofant0tzsxiSQtvnGAI9OX
         tn4fSehsmW8J5m2E+0shF+kiyL28E5KXobboOBI5GrOWPpQwLDx/ThqkdBUbKRrHG77g
         dau+cjsnvFrkAceLPR49LtWSpDT3Hizx/ZPahAdA6RWSQlD2yFXF0e5dAFLjIox5xV+7
         aysSt1jirbUkV7YMnOZeHSjSDy1C2uMnV4McZAlaXvjBd51F1QjVTWCvzU5svOp6klAk
         wOhDY3ua6LuW72URL+Wca4e3w7lzHWI02gKXgnT8sIO/9czwd+dW+kY36eIGHWvEWDNl
         p8eg==
X-Gm-Message-State: AOJu0Yy5brNV/6AkZew2Gb7utv0VAIDY9V9UYpECV4yeZKw1bWk4kSBw
	kkD6PuEUFPBGLcrgoOpp1Vs=
X-Google-Smtp-Source: AGHT+IHyrg/p55954UWSWEFSK4VAgtzO3wGDAXzmBNoLynnb9Xv8FQKgcm7kods1XM481PofrT4NJA==
X-Received: by 2002:a05:6808:23d3:b0:3a3:e6eb:9c53 with SMTP id bq19-20020a05680823d300b003a3e6eb9c53mr13630414oib.23.1691449576353;
        Mon, 07 Aug 2023 16:06:16 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 28/31] sparc64: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:05:10 -0700
Message-Id: <20230807230513.102486-29-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/sparc/mm/init_64.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index 680ef206565c..f83017992eaa 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -2907,14 +2907,15 @@ pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
 
 pgtable_t pte_alloc_one(struct mm_struct *mm)
 {
-	struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
-	if (!page)
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL | __GFP_ZERO, 0);
+
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pte_page_ctor(page)) {
-		__free_page(page);
+	if (!pagetable_pte_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
-	return (pte_t *) page_address(page);
+	return ptdesc_address(ptdesc);
 }
 
 void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
@@ -2924,10 +2925,10 @@ void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
 
 static void __pte_free(pgtable_t pte)
 {
-	struct page *page = virt_to_page(pte);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pte);
 
-	pgtable_pte_page_dtor(page);
-	__free_page(page);
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 void pte_free(struct mm_struct *mm, pgtable_t pte)
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579028.906877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Ju-0001WW-7V; Mon, 07 Aug 2023 23:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579028.906877; Mon, 07 Aug 2023 23:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Ju-0001W8-2A; Mon, 07 Aug 2023 23:07:26 +0000
Received: by outflank-mailman (input) for mailman id 579028;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IX-0001NY-QJ
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:01 +0000
Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com
 [2607:f8b0:4864:20::b32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f900bb6b-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:06:00 +0200 (CEST)
Received: by mail-yb1-xb32.google.com with SMTP id
 3f1490d57ef6-ccc462deca6so5489249276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:00 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: f900bb6b-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449559; x=1692054359;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w5tIdqLMLMEIndKmulGbjbVGcWP2eiFuISuM6iDOZlQ=;
        b=gXJTXcEvyVT7IoetVDXBwB8IPw8UIwzytrLAqRYME0pNQ9C4uggCnI6RPeBYUmiABc
         NGa1RjP9x6Az35hUll5l4sYYgp98uBkULFey+10bJthE9R/J1BfMB4fjSuNmCpJ1YXG1
         ARmLg59bINaXUvevzM80HySnkL9LRFKwNZ83rXMUa4P0U6g1vYwZDB00ToF81qaBEF1+
         SCcl4G/9B02tlTVDHjLxfkMGL5hqppCgW9NlCKGjCO3XjVlW37imlXi2cPPjZHQnQLsK
         WyhHmorW6P7DI7CdyMJrfi88WQs4xcY1ld9fhabvXIyG+tqrpY5PfVFDlBq81eHbR+r8
         HFBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449559; x=1692054359;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=w5tIdqLMLMEIndKmulGbjbVGcWP2eiFuISuM6iDOZlQ=;
        b=gkD9ekUaNLWPR3V0R10oJGlEqbMJI2Qe7P8Nhm5QO/v7G615w+e17bvT2yIslJXlKf
         Os1hzWO1hqUW2M9qS/8tBZVoRWh0LHSkgKNEzm7rNTNG9T7IWBIMGzKSPN2rPQ0hIiU/
         Vn0LcQgueRBEfQQ6EPvFJdgISXJ1nR4qsY828pVZKXKXrV4wGpMDxiwQlFn66O+3RGra
         w+v12PzZdPnqsTfF4rFk4VnPxBqZh31GOw7cLIjoGh8t8yL7im0NLpcut+ZaXK09sEnw
         UR34G2qKT2Fvt0L2Zcw158tWGXR/lDNYcw/4Pfdrf6VYZRobo52enAPTwk+yGz2cyipZ
         Z/XQ==
X-Gm-Message-State: AOJu0YwJ/nhdK1OSskJX0PEFNciCEEF5cMlun6yTOvrdAQyLciR8dok5
	lVLc5hHQmgLR8hzzOSmDed4=
X-Google-Smtp-Source: AGHT+IHgbeu9fOmMS+FNlr/kvyOX24cSJUZ4nRlF6aWfNWe7W/NjYriU1Zmx+jVELg0QXXl18qiXKg==
X-Received: by 2002:a25:4b81:0:b0:d4b:ec36:bb85 with SMTP id y123-20020a254b81000000b00d4bec36bb85mr7290071yba.50.1691449559015;
        Mon, 07 Aug 2023 16:05:59 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 20/31] hexagon: Convert __pte_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:02 -0700
Message-Id: <20230807230513.102486-21-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/hexagon/include/asm/pgalloc.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/hexagon/include/asm/pgalloc.h b/arch/hexagon/include/asm/pgalloc.h
index f0c47e6a7427..55988625e6fb 100644
--- a/arch/hexagon/include/asm/pgalloc.h
+++ b/arch/hexagon/include/asm/pgalloc.h
@@ -87,10 +87,10 @@ static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
 		max_kernel_seg = pmdindex;
 }
 
-#define __pte_free_tlb(tlb, pte, addr)		\
-do {						\
-	pgtable_pte_page_dtor((pte));		\
-	tlb_remove_page((tlb), (pte));		\
+#define __pte_free_tlb(tlb, pte, addr)				\
+do {								\
+	pagetable_pte_dtor((page_ptdesc(pte)));			\
+	tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));	\
 } while (0)
 
 #endif
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579032.906884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Ju-0001gI-Qr; Mon, 07 Aug 2023 23:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579032.906884; Mon, 07 Aug 2023 23:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Ju-0001eq-LD; Mon, 07 Aug 2023 23:07:26 +0000
Received: by outflank-mailman (input) for mailman id 579032;
 Mon, 07 Aug 2023 23:07: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Iv-0001NS-KU
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:25 +0000
Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com
 [2607:f8b0:4864:20::b2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 072753b6-3577-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:23 +0200 (CEST)
Received: by mail-yb1-xb2c.google.com with SMTP id
 3f1490d57ef6-d59da7115bdso264051276.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:23 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 072753b6-3577-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449583; x=1692054383;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gIX4EtUZRQHbbGVDBj/rJyP4ZKSCaTL9vvlgteJwLjg=;
        b=ny/PO9Rzwz4wKD05c8Oj8x01t9rfWUwF+DPBSi6xhAQ1t3uiUBYZ7YUUbf8WtD6fas
         a2dGGpvFO2SYjUkztwf/JpnNv7QhJL+Goto2OWRpxKnsAjXenC9v6P3rISzqLv6y4LVV
         4Qzw+SXgVTszZ9R94kkJTKmg5SvkJhFFe8ZHJiGz98l2xVrWZH/L4O6QNYM4Ix9oN6dK
         IfbxHi4LcKxjr+5M4cvO0MwysEIi/pmb6eegOI2VGQmX9xJr0pTMWjXflu5Ws+wnG+9V
         BkJIEDxKgjBTQlry6d49f1/eWCkgGXBEpt1ui7ZKc/08IVlfaQd/C3Y9s9851HPExZOi
         t/gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449583; x=1692054383;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gIX4EtUZRQHbbGVDBj/rJyP4ZKSCaTL9vvlgteJwLjg=;
        b=AHpKMVvvRJt5vU6pCMhYSgi3xEOAvewviIqQI07CaqocweBxU2y9cQPT4ZX8rTqbLn
         36EJYjgn+sQGWRPY3Dv+preN4MAMRedKDqMxXbQdbUCltPS/pF5xrpsXxdbWeg3Cu3To
         NZVtUtX8GPp8+WRj9a6UbQ3JGOri6Go98tRGXWXG5QXh1X5RL2QyRb5osGnLmmvTNp5A
         k6Uz7YEm3RERF3m1F6xQvt/xe+y2O7nV8Redj+jzCC4ZvGPe3zzOz+DUe34P1YvW84T8
         g7w5Ar0LavycHIZbWhME8yK5637FgKoDC/qvlAaN/JiblmKNDoHK+SK4pmxbk9YZZ8po
         g4oQ==
X-Gm-Message-State: AOJu0YwJlNfSm3nqEFi/hoY5jXPQE9v4xPj3pycZN+VKgerf0c/YvWMp
	CgPybTa8WZox+aEWcmKkcGw=
X-Google-Smtp-Source: AGHT+IHSz7sLxFa/9tcB1BFEAx77xsw7IyoQHCgeHupxbvTa93/qmodby26m2eSPWXo4FijMYi73DQ==
X-Received: by 2002:a25:e708:0:b0:d53:f88a:dc09 with SMTP id e8-20020a25e708000000b00d53f88adc09mr3953501ybh.2.1691449582662;
        Mon, 07 Aug 2023 16:06:22 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 31/31] mm: Remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers
Date: Mon,  7 Aug 2023 16:05:13 -0700
Message-Id: <20230807230513.102486-32-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

These functions are no longer necessary. Remove them and cleanup
Documentation referencing them.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 Documentation/mm/split_page_table_lock.rst    | 12 +++++------
 .../zh_CN/mm/split_page_table_lock.rst        | 14 ++++++-------
 include/linux/mm.h                            | 20 -------------------
 3 files changed, 13 insertions(+), 33 deletions(-)

diff --git a/Documentation/mm/split_page_table_lock.rst b/Documentation/mm/split_page_table_lock.rst
index a834fad9de12..e4f6972eb6c0 100644
--- a/Documentation/mm/split_page_table_lock.rst
+++ b/Documentation/mm/split_page_table_lock.rst
@@ -58,7 +58,7 @@ Support of split page table lock by an architecture
 ===================================================
 
 There's no need in special enabling of PTE split page table lock: everything
-required is done by pgtable_pte_page_ctor() and pgtable_pte_page_dtor(), which
+required is done by pagetable_pte_ctor() and pagetable_pte_dtor(), which
 must be called on PTE table allocation / freeing.
 
 Make sure the architecture doesn't use slab allocator for page table
@@ -68,8 +68,8 @@ This field shares storage with page->ptl.
 PMD split lock only makes sense if you have more than two page table
 levels.
 
-PMD split lock enabling requires pgtable_pmd_page_ctor() call on PMD table
-allocation and pgtable_pmd_page_dtor() on freeing.
+PMD split lock enabling requires pagetable_pmd_ctor() call on PMD table
+allocation and pagetable_pmd_dtor() on freeing.
 
 Allocation usually happens in pmd_alloc_one(), freeing in pmd_free() and
 pmd_free_tlb(), but make sure you cover all PMD table allocation / freeing
@@ -77,7 +77,7 @@ paths: i.e X86_PAE preallocate few PMDs on pgd_alloc().
 
 With everything in place you can set CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK.
 
-NOTE: pgtable_pte_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must
+NOTE: pagetable_pte_ctor() and pagetable_pmd_ctor() can fail -- it must
 be handled properly.
 
 page->ptl
@@ -97,7 +97,7 @@ trick:
    split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs
    one more cache line for indirect access;
 
-The spinlock_t allocated in pgtable_pte_page_ctor() for PTE table and in
-pgtable_pmd_page_ctor() for PMD table.
+The spinlock_t allocated in pagetable_pte_ctor() for PTE table and in
+pagetable_pmd_ctor() for PMD table.
 
 Please, never access page->ptl directly -- use appropriate helper.
diff --git a/Documentation/translations/zh_CN/mm/split_page_table_lock.rst b/Documentation/translations/zh_CN/mm/split_page_table_lock.rst
index 4fb7aa666037..a2c288670a24 100644
--- a/Documentation/translations/zh_CN/mm/split_page_table_lock.rst
+++ b/Documentation/translations/zh_CN/mm/split_page_table_lock.rst
@@ -56,16 +56,16 @@ Hugetlbç‰¹å®ç„è¾…å©å‡½æ•°:
 æ¶æ„å¯¹åˆ†é¡µè¡¨é”ç„æ”¯æŒ
 ====================
 
-æ²¡æœ‰å¿…è¦ç‰¹åˆ«å¯ç”¨PTEåˆ†é¡µè¡¨é”ï¼æ‰€æœ‰éœ€è¦ç„ä¸œè¥¿éƒ½ç”±pgtable_pte_page_ctor()
-å’Œpgtable_pte_page_dtor()å®Œæˆï¼Œå®ƒä»¬å¿…é¡»åœ¨PTEè¡¨åˆ†é…/é‡æ”¾æ—¶è¢«è°ƒç”¨ă€‚
+æ²¡æœ‰å¿…è¦ç‰¹åˆ«å¯ç”¨PTEåˆ†é¡µè¡¨é”ï¼æ‰€æœ‰éœ€è¦ç„ä¸œè¥¿éƒ½ç”±pagetable_pte_ctor()
+å’Œpagetable_pte_dtor()å®Œæˆï¼Œå®ƒä»¬å¿…é¡»åœ¨PTEè¡¨åˆ†é…/é‡æ”¾æ—¶è¢«è°ƒç”¨ă€‚
 
 ç¡®ä¿æ¶æ„ä¸ä½¿ç”¨slabåˆ†é…å™¨æ¥åˆ†é…é¡µè¡¨ï¼slabä½¿ç”¨page->slab_cacheæ¥åˆ†é…å…¶é¡µ
 é¢ă€‚è¿™ä¸ªåŒºåŸŸä¸page->ptlå…±äº«å­˜å‚¨ă€‚
 
 PMDåˆ†é¡µé”åªæœ‰åœ¨ä½ æœ‰ä¸¤ä¸ªä»¥ä¸ç„é¡µè¡¨çº§åˆ«æ—¶æ‰æœ‰æ„ä¹‰ă€‚
 
-å¯ç”¨PMDåˆ†é¡µé”éœ€è¦åœ¨PMDè¡¨åˆ†é…æ—¶è°ƒç”¨pgtable_pmd_page_ctor()ï¼Œåœ¨é‡æ”¾æ—¶è°ƒ
-ç”¨pgtable_pmd_page_dtor()ă€‚
+å¯ç”¨PMDåˆ†é¡µé”éœ€è¦åœ¨PMDè¡¨åˆ†é…æ—¶è°ƒç”¨pagetable_pmd_ctor()ï¼Œåœ¨é‡æ”¾æ—¶è°ƒ
+ç”¨pagetable_pmd_dtor()ă€‚
 
 åˆ†é…é€å¸¸å‘ç”Ÿåœ¨pmd_alloc_one()ä¸­ï¼Œé‡æ”¾å‘ç”Ÿåœ¨pmd_free()å’Œpmd_free_tlb()
 ä¸­ï¼Œä½†è¦ç¡®ä¿è¦†ç›–æ‰€æœ‰ç„PMDè¡¨åˆ†é…/é‡æ”¾è·¯å¾„ï¼å³X86_PAEåœ¨pgd_alloc()ä¸­é¢„å…ˆ
@@ -73,7 +73,7 @@ PMDåˆ†é¡µé”åªæœ‰åœ¨ä½ æœ‰ä¸¤ä¸ªä»¥ä¸ç„é¡µè¡¨çº§åˆ«æ—¶æ‰æœ‰æ„ä¹‰ă€‚
 
 ä¸€åˆ‡å°±ç»ªåï¼Œä½ å¯ä»¥è®¾ç½®CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCKă€‚
 
-æ³¨æ„ï¼pgtable_pte_page_ctor()å’Œpgtable_pmd_page_ctor()å¯èƒ½å¤±è´¥--å¿…
+æ³¨æ„ï¼pagetable_pte_ctor()å’Œpagetable_pmd_ctor()å¯èƒ½å¤±è´¥--å¿…
 é¡»æ­£ç¡®å¤„ç†ă€‚
 
 page->ptl
@@ -90,7 +90,7 @@ page->ptlç”¨äºè®¿é—®åˆ†å‰²é¡µè¡¨é”ï¼Œå…¶ä¸­'page'æ˜¯åŒ…å«è¯¥è¡¨ç„é¡µé¢struc
    ç„æŒ‡é’ˆå¹¶å¨æ€åˆ†é…å®ƒă€‚è¿™å…è®¸åœ¨å¯ç”¨DEBUG_SPINLOCKæˆ–DEBUG_LOCK_ALLOCç„
    æƒ…å†µä¸‹ä½¿ç”¨åˆ†é¡µé”ï¼Œä½†ç”±äºé—´æ¥è®¿é—®è€Œå¤è±äº†ä¸€ä¸ªç¼“å­˜è¡Œă€‚
 
-PTEè¡¨ç„spinlock_tåˆ†é…åœ¨pgtable_pte_page_ctor()ä¸­ï¼ŒPMDè¡¨ç„spinlock_t
-åˆ†é…åœ¨pgtable_pmd_page_ctor()ä¸­ă€‚
+PTEè¡¨ç„spinlock_tåˆ†é…åœ¨pagetable_pte_ctor()ä¸­ï¼ŒPMDè¡¨ç„spinlock_t
+åˆ†é…åœ¨pagetable_pmd_ctor()ä¸­ă€‚
 
 è¯·ä¸è¦ç›´æ¥è®¿é—®page->ptl - -ä½¿ç”¨é€‚å½“ç„è¾…å©å‡½æ•°ă€‚
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 6310e0c59efe..6a95dfed4957 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2932,11 +2932,6 @@ static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc)
 	return true;
 }
 
-static inline bool pgtable_pte_page_ctor(struct page *page)
-{
-	return pagetable_pte_ctor(page_ptdesc(page));
-}
-
 static inline void pagetable_pte_dtor(struct ptdesc *ptdesc)
 {
 	struct folio *folio = ptdesc_folio(ptdesc);
@@ -2946,11 +2941,6 @@ static inline void pagetable_pte_dtor(struct ptdesc *ptdesc)
 	lruvec_stat_sub_folio(folio, NR_PAGETABLE);
 }
 
-static inline void pgtable_pte_page_dtor(struct page *page)
-{
-	pagetable_pte_dtor(page_ptdesc(page));
-}
-
 pte_t *__pte_offset_map(pmd_t *pmd, unsigned long addr, pmd_t *pmdvalp);
 static inline pte_t *pte_offset_map(pmd_t *pmd, unsigned long addr)
 {
@@ -3057,11 +3047,6 @@ static inline bool pagetable_pmd_ctor(struct ptdesc *ptdesc)
 	return true;
 }
 
-static inline bool pgtable_pmd_page_ctor(struct page *page)
-{
-	return pagetable_pmd_ctor(page_ptdesc(page));
-}
-
 static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc)
 {
 	struct folio *folio = ptdesc_folio(ptdesc);
@@ -3071,11 +3056,6 @@ static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc)
 	lruvec_stat_sub_folio(folio, NR_PAGETABLE);
 }
 
-static inline void pgtable_pmd_page_dtor(struct page *page)
-{
-	pagetable_pmd_dtor(page_ptdesc(page));
-}
-
 /*
  * No scalability reason to split PUD locks yet, but follow the same pattern
  * as the PMD locks to make it easier if we decide to.  The VM should not be
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579034.906891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jv-0001n5-Dw; Mon, 07 Aug 2023 23:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579034.906891; Mon, 07 Aug 2023 23: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 1qT9Jv-0001m3-3v; Mon, 07 Aug 2023 23:07:27 +0000
Received: by outflank-mailman (input) for mailman id 579034;
 Mon, 07 Aug 2023 23:07: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IP-0001NS-Jh
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:53 +0000
Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com
 [2607:f8b0:4864:20::b35])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3ff3a5f-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:51 +0200 (CEST)
Received: by mail-yb1-xb35.google.com with SMTP id
 3f1490d57ef6-d35a9d7a5bdso5116753276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:51 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: f3ff3a5f-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449550; x=1692054350;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bBkB4loM/Mt006iaxsYk7j8UnaAx8a9/NTd5FkPootg=;
        b=VY/s2U3lT3eb7t5IpiSg8gZgrV6zdEznmL00awlF+lYtU+Ed+18ZVDdsEO6HtU7Vpy
         dstrUN4SchMkl2fom9aAptCCOd47DbaRbKQrrssm7FlhTEAcsGfKdLEpxi/zNmVX8fbV
         m0BaPQ+7+Y3ljNnqxJV89KTzVnBKrAEa7+VtN/uK6yP5RttPNi+e44fLcNeyDJwviR59
         fKsVvf58pKEDMlQLmejzlB0KwEwg/f+nuBnJ5WOjDekR3PGb3d8Uh4xNSu90knT7V2KQ
         ue+Oh5SumW1Q6VzG3Nvx4HCQCUch1OMetRhRQnyZsGJky+dnZgy775ZLVF7RMseL02QV
         h21w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449550; x=1692054350;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bBkB4loM/Mt006iaxsYk7j8UnaAx8a9/NTd5FkPootg=;
        b=fgwIPjQu9XF0x5A2lMU8flY6FlJ27NIqYWtLdWPZrTuN48lHhfM7KTU/olXCOh2tVL
         /ti00ENsdsWz4kugwPSJzMhRcUa3E0KYRbjK43DBuFSM5F9IHQ1/l5jc1CglossFlLS8
         dYxs5f099iqQew9jtaAjN39bXWpQ9sbAmtIIPByNxMNZrhDXTsV//fQCaXLprSSP+meS
         Yd8hZSTJoG0b/wo4PgTLsml8nxaCuQhv4bU9eDLn4yl8DKOpBXwEtq4ZBRFfVggpMKa6
         s3D2pomoDaNiI5GtpJluH8HettBhUvNjOvBpyGn3xfSrH95Y2X1eZMELCvPev1IlOiiA
         26Nw==
X-Gm-Message-State: AOJu0YyX8hU14k8H9sC9+9zBBnwOOCRxsBqNTxFlKn5oUlkbcUrP7JgO
	SxEdsaP2dDmjXWYGXGpDjf8Zlc7w8M2nlA==
X-Google-Smtp-Source: AGHT+IF/jyNrncOka/KAbgWZqRRy9OsJr4lD7fBxdAmIgyKSndALMkVGpelnzbmpBefUTJnYvKwx8g==
X-Received: by 2002:a25:8001:0:b0:d0f:ea4b:1dff with SMTP id m1-20020a258001000000b00d0fea4b1dffmr9335352ybk.8.1691449550566;
        Mon, 07 Aug 2023 16:05:50 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>
Subject: [PATCH mm-unstable v9 16/31] pgalloc: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:04:58 -0700
Message-Id: <20230807230513.102486-17-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 include/asm-generic/pgalloc.h | 88 +++++++++++++++++++++--------------
 1 file changed, 52 insertions(+), 36 deletions(-)

diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h
index a7cf825befae..c75d4a753849 100644
--- a/include/asm-generic/pgalloc.h
+++ b/include/asm-generic/pgalloc.h
@@ -8,7 +8,7 @@
 #define GFP_PGTABLE_USER	(GFP_PGTABLE_KERNEL | __GFP_ACCOUNT)
 
 /**
- * __pte_alloc_one_kernel - allocate a page for PTE-level kernel page table
+ * __pte_alloc_one_kernel - allocate memory for a PTE-level kernel page table
  * @mm: the mm_struct of the current context
  *
  * This function is intended for architectures that need
@@ -18,12 +18,17 @@
  */
 static inline pte_t *__pte_alloc_one_kernel(struct mm_struct *mm)
 {
-	return (pte_t *)__get_free_page(GFP_PGTABLE_KERNEL);
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_PGTABLE_KERNEL &
+			~__GFP_HIGHMEM, 0);
+
+	if (!ptdesc)
+		return NULL;
+	return ptdesc_address(ptdesc);
 }
 
 #ifndef __HAVE_ARCH_PTE_ALLOC_ONE_KERNEL
 /**
- * pte_alloc_one_kernel - allocate a page for PTE-level kernel page table
+ * pte_alloc_one_kernel - allocate memory for a PTE-level kernel page table
  * @mm: the mm_struct of the current context
  *
  * Return: pointer to the allocated memory or %NULL on error
@@ -35,40 +40,40 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
 #endif
 
 /**
- * pte_free_kernel - free PTE-level kernel page table page
+ * pte_free_kernel - free PTE-level kernel page table memory
  * @mm: the mm_struct of the current context
  * @pte: pointer to the memory containing the page table
  */
 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
 {
-	free_page((unsigned long)pte);
+	pagetable_free(virt_to_ptdesc(pte));
 }
 
 /**
- * __pte_alloc_one - allocate a page for PTE-level user page table
+ * __pte_alloc_one - allocate memory for a PTE-level user page table
  * @mm: the mm_struct of the current context
  * @gfp: GFP flags to use for the allocation
  *
- * Allocates a page and runs the pgtable_pte_page_ctor().
+ * Allocate memory for a page table and ptdesc and runs pagetable_pte_ctor().
  *
  * This function is intended for architectures that need
  * anything beyond simple page allocation or must have custom GFP flags.
  *
- * Return: `struct page` initialized as page table or %NULL on error
+ * Return: `struct page` referencing the ptdesc or %NULL on error
  */
 static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp)
 {
-	struct page *pte;
+	struct ptdesc *ptdesc;
 
-	pte = alloc_page(gfp);
-	if (!pte)
+	ptdesc = pagetable_alloc(gfp, 0);
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pte_page_ctor(pte)) {
-		__free_page(pte);
+	if (!pagetable_pte_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
 
-	return pte;
+	return ptdesc_page(ptdesc);
 }
 
 #ifndef __HAVE_ARCH_PTE_ALLOC_ONE
@@ -76,9 +81,9 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp)
  * pte_alloc_one - allocate a page for PTE-level user page table
  * @mm: the mm_struct of the current context
  *
- * Allocates a page and runs the pgtable_pte_page_ctor().
+ * Allocate memory for a page table and ptdesc and runs pagetable_pte_ctor().
  *
- * Return: `struct page` initialized as page table or %NULL on error
+ * Return: `struct page` referencing the ptdesc or %NULL on error
  */
 static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
 {
@@ -92,14 +97,16 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
  */
 
 /**
- * pte_free - free PTE-level user page table page
+ * pte_free - free PTE-level user page table memory
  * @mm: the mm_struct of the current context
- * @pte_page: the `struct page` representing the page table
+ * @pte_page: the `struct page` referencing the ptdesc
  */
 static inline void pte_free(struct mm_struct *mm, struct page *pte_page)
 {
-	pgtable_pte_page_dtor(pte_page);
-	__free_page(pte_page);
+	struct ptdesc *ptdesc = page_ptdesc(pte_page);
+
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 
@@ -107,10 +114,11 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte_page)
 
 #ifndef __HAVE_ARCH_PMD_ALLOC_ONE
 /**
- * pmd_alloc_one - allocate a page for PMD-level page table
+ * pmd_alloc_one - allocate memory for a PMD-level page table
  * @mm: the mm_struct of the current context
  *
- * Allocates a page and runs the pgtable_pmd_page_ctor().
+ * Allocate memory for a page table and ptdesc and runs pagetable_pmd_ctor().
+ *
  * Allocations use %GFP_PGTABLE_USER in user context and
  * %GFP_PGTABLE_KERNEL in kernel context.
  *
@@ -118,28 +126,30 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte_page)
  */
 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr)
 {
-	struct page *page;
+	struct ptdesc *ptdesc;
 	gfp_t gfp = GFP_PGTABLE_USER;
 
 	if (mm == &init_mm)
 		gfp = GFP_PGTABLE_KERNEL;
-	page = alloc_page(gfp);
-	if (!page)
+	ptdesc = pagetable_alloc(gfp, 0);
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pmd_page_ctor(page)) {
-		__free_page(page);
+	if (!pagetable_pmd_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
-	return (pmd_t *)page_address(page);
+	return ptdesc_address(ptdesc);
 }
 #endif
 
 #ifndef __HAVE_ARCH_PMD_FREE
 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
 {
+	struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
+
 	BUG_ON((unsigned long)pmd & (PAGE_SIZE-1));
-	pgtable_pmd_page_dtor(virt_to_page(pmd));
-	free_page((unsigned long)pmd);
+	pagetable_pmd_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 #endif
 
@@ -150,19 +160,25 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
 static inline pud_t *__pud_alloc_one(struct mm_struct *mm, unsigned long addr)
 {
 	gfp_t gfp = GFP_PGTABLE_USER;
+	struct ptdesc *ptdesc;
 
 	if (mm == &init_mm)
 		gfp = GFP_PGTABLE_KERNEL;
-	return (pud_t *)get_zeroed_page(gfp);
+	gfp &= ~__GFP_HIGHMEM;
+
+	ptdesc = pagetable_alloc(gfp, 0);
+	if (!ptdesc)
+		return NULL;
+	return ptdesc_address(ptdesc);
 }
 
 #ifndef __HAVE_ARCH_PUD_ALLOC_ONE
 /**
- * pud_alloc_one - allocate a page for PUD-level page table
+ * pud_alloc_one - allocate memory for a PUD-level page table
  * @mm: the mm_struct of the current context
  *
- * Allocates a page using %GFP_PGTABLE_USER for user context and
- * %GFP_PGTABLE_KERNEL for kernel context.
+ * Allocate memory for a page table using %GFP_PGTABLE_USER for user context
+ * and %GFP_PGTABLE_KERNEL for kernel context.
  *
  * Return: pointer to the allocated memory or %NULL on error
  */
@@ -175,7 +191,7 @@ static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
 static inline void __pud_free(struct mm_struct *mm, pud_t *pud)
 {
 	BUG_ON((unsigned long)pud & (PAGE_SIZE-1));
-	free_page((unsigned long)pud);
+	pagetable_free(virt_to_ptdesc(pud));
 }
 
 #ifndef __HAVE_ARCH_PUD_FREE
@@ -190,7 +206,7 @@ static inline void pud_free(struct mm_struct *mm, pud_t *pud)
 #ifndef __HAVE_ARCH_PGD_FREE
 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
 {
-	free_page((unsigned long)pgd);
+	pagetable_free(virt_to_ptdesc(pgd));
 }
 #endif
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579039.906914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jx-0002bj-UQ; Mon, 07 Aug 2023 23:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579039.906914; Mon, 07 Aug 2023 23:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jx-0002bG-M8; Mon, 07 Aug 2023 23:07:29 +0000
Received: by outflank-mailman (input) for mailman id 579039;
 Mon, 07 Aug 2023 23:07:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IK-0001NY-NN
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:48 +0000
Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com
 [2607:f8b0:4864:20::112c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1a1d806-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:05:47 +0200 (CEST)
Received: by mail-yw1-x112c.google.com with SMTP id
 00721157ae682-583a8596e2aso47382717b3.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:47 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: f1a1d806-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449546; x=1692054346;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KTxrIV2g+RQp8x48kTjbks2V3Qkjrf9giqtKYKQ6wMQ=;
        b=bESfOv3fJjl6S2bDdKG26ChK560t/KurCf2BuIVrJugWlIetZAY8dkm3BlRqTb5F9h
         MmCd+fJD3FYKnm/uPsZqzHHfYqRAfZJ6edPW59b/mfQy9OnVPplxToH74IAxvuQBpZIp
         niQgR35WlLiV2T1WK1prVa+1DAnr9uCehUPSrpK2bRog9p7trBe4LuQ5wQtTiaXMkeR6
         5WiqV9YMt9t6YbF2oMIpXApkWHFh9QOYyGn6c4/FtI6WKINzWjkgGMiBWrQM5L6cS45e
         +OyFkksfoYTyAHJrwLrJApoTt8RQXAw2BsSDClQbHPobWbdTJ6uW2JVwGx2BjRuJHUGC
         6BBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449546; x=1692054346;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KTxrIV2g+RQp8x48kTjbks2V3Qkjrf9giqtKYKQ6wMQ=;
        b=V6/HiMwqQC3vC5WmUpx6bwl+mX9Jn2YghF7wSbzVgk2IbejXrTKkVo3HyREwSwsoRR
         zc06i0I9rx+Po+YHxfPTaid9thgoM2urew6l9WbjC4b2Jy7EYxrxBP3hJmI3d2pxjzNl
         7ZmfBX7RTedDg1KOEQV/ZbJnZu7233bWB7WNVNCCBPPBNWJknmv6UmY5D1DHKgsb6lEu
         A2VPcgTcClVTYpwIfLXUGdkDmlkGQkEfZNsjok4ch6kWOAVowU8zUjxiNOgiR/jO5evw
         Hx5uQ64cmN7uD+vYsgrZxdvC7uXul2ep7bspxRxcsgkPY/KtDYjzEkBjqGGJHFALTQ7C
         EUYw==
X-Gm-Message-State: AOJu0Yx23XDa17tcgNvP2TUaVBMO81XU3r4PIgomBjLTB7Y5L5qto7L3
	BszbsxxrC385NgsqsruyV8s=
X-Google-Smtp-Source: AGHT+IEbeU2d+G/u3Omk8ALzIFtGElW92WFOhX86na7K18OIxELxvZjq1aqGQvka/NS+TcgqvjsoPw==
X-Received: by 2002:a25:d08:0:b0:d1c:7549:4e8b with SMTP id 8-20020a250d08000000b00d1c75494e8bmr8202835ybn.29.1691449546593;
        Mon, 07 Aug 2023 16:05:46 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 14/31] s390: Convert various pgalloc functions to use ptdescs
Date: Mon,  7 Aug 2023 16:04:56 -0700
Message-Id: <20230807230513.102486-15-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/s390/include/asm/pgalloc.h |   4 +-
 arch/s390/include/asm/tlb.h     |   4 +-
 arch/s390/mm/pgalloc.c          | 128 ++++++++++++++++----------------
 3 files changed, 69 insertions(+), 67 deletions(-)

diff --git a/arch/s390/include/asm/pgalloc.h b/arch/s390/include/asm/pgalloc.h
index 89a9d5ef94f8..376b4b23bdaa 100644
--- a/arch/s390/include/asm/pgalloc.h
+++ b/arch/s390/include/asm/pgalloc.h
@@ -86,7 +86,7 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr)
 	if (!table)
 		return NULL;
 	crst_table_init(table, _SEGMENT_ENTRY_EMPTY);
-	if (!pgtable_pmd_page_ctor(virt_to_page(table))) {
+	if (!pagetable_pmd_ctor(virt_to_ptdesc(table))) {
 		crst_table_free(mm, table);
 		return NULL;
 	}
@@ -97,7 +97,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
 {
 	if (mm_pmd_folded(mm))
 		return;
-	pgtable_pmd_page_dtor(virt_to_page(pmd));
+	pagetable_pmd_dtor(virt_to_ptdesc(pmd));
 	crst_table_free(mm, (unsigned long *) pmd);
 }
 
diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
index b91f4a9b044c..383b1f91442c 100644
--- a/arch/s390/include/asm/tlb.h
+++ b/arch/s390/include/asm/tlb.h
@@ -89,12 +89,12 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,
 {
 	if (mm_pmd_folded(tlb->mm))
 		return;
-	pgtable_pmd_page_dtor(virt_to_page(pmd));
+	pagetable_pmd_dtor(virt_to_ptdesc(pmd));
 	__tlb_adjust_range(tlb, address, PAGE_SIZE);
 	tlb->mm->context.flush_mm = 1;
 	tlb->freed_tables = 1;
 	tlb->cleared_puds = 1;
-	tlb_remove_table(tlb, pmd);
+	tlb_remove_ptdesc(tlb, pmd);
 }
 
 /*
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index d7374add7820..07fc660a24aa 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -43,17 +43,17 @@ __initcall(page_table_register_sysctl);
 
 unsigned long *crst_table_alloc(struct mm_struct *mm)
 {
-	struct page *page = alloc_pages(GFP_KERNEL, CRST_ALLOC_ORDER);
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, CRST_ALLOC_ORDER);
 
-	if (!page)
+	if (!ptdesc)
 		return NULL;
-	arch_set_page_dat(page, CRST_ALLOC_ORDER);
-	return (unsigned long *) page_to_virt(page);
+	arch_set_page_dat(ptdesc_page(ptdesc), CRST_ALLOC_ORDER);
+	return (unsigned long *) ptdesc_to_virt(ptdesc);
 }
 
 void crst_table_free(struct mm_struct *mm, unsigned long *table)
 {
-	free_pages((unsigned long)table, CRST_ALLOC_ORDER);
+	pagetable_free(virt_to_ptdesc(table));
 }
 
 static void __crst_table_upgrade(void *arg)
@@ -140,21 +140,21 @@ static inline unsigned int atomic_xor_bits(atomic_t *v, unsigned int bits)
 
 struct page *page_table_alloc_pgste(struct mm_struct *mm)
 {
-	struct page *page;
+	struct ptdesc *ptdesc;
 	u64 *table;
 
-	page = alloc_page(GFP_KERNEL);
-	if (page) {
-		table = (u64 *)page_to_virt(page);
+	ptdesc = pagetable_alloc(GFP_KERNEL, 0);
+	if (ptdesc) {
+		table = (u64 *)ptdesc_to_virt(ptdesc);
 		memset64(table, _PAGE_INVALID, PTRS_PER_PTE);
 		memset64(table + PTRS_PER_PTE, 0, PTRS_PER_PTE);
 	}
-	return page;
+	return ptdesc_page(ptdesc);
 }
 
 void page_table_free_pgste(struct page *page)
 {
-	__free_page(page);
+	pagetable_free(page_ptdesc(page));
 }
 
 #endif /* CONFIG_PGSTE */
@@ -242,7 +242,7 @@ void page_table_free_pgste(struct page *page)
 unsigned long *page_table_alloc(struct mm_struct *mm)
 {
 	unsigned long *table;
-	struct page *page;
+	struct ptdesc *ptdesc;
 	unsigned int mask, bit;
 
 	/* Try to get a fragment of a 4K page as a 2K page table */
@@ -250,9 +250,9 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
 		table = NULL;
 		spin_lock_bh(&mm->context.lock);
 		if (!list_empty(&mm->context.pgtable_list)) {
-			page = list_first_entry(&mm->context.pgtable_list,
-						struct page, lru);
-			mask = atomic_read(&page->_refcount) >> 24;
+			ptdesc = list_first_entry(&mm->context.pgtable_list,
+						struct ptdesc, pt_list);
+			mask = atomic_read(&ptdesc->_refcount) >> 24;
 			/*
 			 * The pending removal bits must also be checked.
 			 * Failure to do so might lead to an impossible
@@ -264,13 +264,13 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
 			 */
 			mask = (mask | (mask >> 4)) & 0x03U;
 			if (mask != 0x03U) {
-				table = (unsigned long *) page_to_virt(page);
+				table = (unsigned long *) ptdesc_to_virt(ptdesc);
 				bit = mask & 1;		/* =1 -> second 2K */
 				if (bit)
 					table += PTRS_PER_PTE;
-				atomic_xor_bits(&page->_refcount,
+				atomic_xor_bits(&ptdesc->_refcount,
 							0x01U << (bit + 24));
-				list_del_init(&page->lru);
+				list_del_init(&ptdesc->pt_list);
 			}
 		}
 		spin_unlock_bh(&mm->context.lock);
@@ -278,28 +278,28 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
 			return table;
 	}
 	/* Allocate a fresh page */
-	page = alloc_page(GFP_KERNEL);
-	if (!page)
+	ptdesc = pagetable_alloc(GFP_KERNEL, 0);
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pte_page_ctor(page)) {
-		__free_page(page);
+	if (!pagetable_pte_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
-	arch_set_page_dat(page, 0);
+	arch_set_page_dat(ptdesc_page(ptdesc), 0);
 	/* Initialize page table */
-	table = (unsigned long *) page_to_virt(page);
+	table = (unsigned long *) ptdesc_to_virt(ptdesc);
 	if (mm_alloc_pgste(mm)) {
 		/* Return 4K page table with PGSTEs */
-		INIT_LIST_HEAD(&page->lru);
-		atomic_xor_bits(&page->_refcount, 0x03U << 24);
+		INIT_LIST_HEAD(&ptdesc->pt_list);
+		atomic_xor_bits(&ptdesc->_refcount, 0x03U << 24);
 		memset64((u64 *)table, _PAGE_INVALID, PTRS_PER_PTE);
 		memset64((u64 *)table + PTRS_PER_PTE, 0, PTRS_PER_PTE);
 	} else {
 		/* Return the first 2K fragment of the page */
-		atomic_xor_bits(&page->_refcount, 0x01U << 24);
+		atomic_xor_bits(&ptdesc->_refcount, 0x01U << 24);
 		memset64((u64 *)table, _PAGE_INVALID, 2 * PTRS_PER_PTE);
 		spin_lock_bh(&mm->context.lock);
-		list_add(&page->lru, &mm->context.pgtable_list);
+		list_add(&ptdesc->pt_list, &mm->context.pgtable_list);
 		spin_unlock_bh(&mm->context.lock);
 	}
 	return table;
@@ -322,19 +322,18 @@ static void page_table_release_check(struct page *page, void *table,
 
 static void pte_free_now(struct rcu_head *head)
 {
-	struct page *page;
+	struct ptdesc *ptdesc;
 
-	page = container_of(head, struct page, rcu_head);
-	pgtable_pte_page_dtor(page);
-	__free_page(page);
+	ptdesc = container_of(head, struct ptdesc, pt_rcu_head);
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 void page_table_free(struct mm_struct *mm, unsigned long *table)
 {
 	unsigned int mask, bit, half;
-	struct page *page;
+	struct ptdesc *ptdesc = virt_to_ptdesc(table);
 
-	page = virt_to_page(table);
 	if (!mm_alloc_pgste(mm)) {
 		/* Free 2K page table fragment of a 4K page */
 		bit = ((unsigned long) table & ~PAGE_MASK)/(PTRS_PER_PTE*sizeof(pte_t));
@@ -344,51 +343,50 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)
 		 * will happen outside of the critical section from this
 		 * function or from __tlb_remove_table()
 		 */
-		mask = atomic_xor_bits(&page->_refcount, 0x11U << (bit + 24));
+		mask = atomic_xor_bits(&ptdesc->_refcount, 0x11U << (bit + 24));
 		mask >>= 24;
-		if ((mask & 0x03U) && !PageActive(page)) {
+		if ((mask & 0x03U) && !folio_test_active(ptdesc_folio(ptdesc))) {
 			/*
 			 * Other half is allocated, and neither half has had
 			 * its free deferred: add page to head of list, to make
 			 * this freed half available for immediate reuse.
 			 */
-			list_add(&page->lru, &mm->context.pgtable_list);
+			list_add(&ptdesc->pt_list, &mm->context.pgtable_list);
 		} else {
 			/* If page is on list, now remove it. */
-			list_del_init(&page->lru);
+			list_del_init(&ptdesc->pt_list);
 		}
 		spin_unlock_bh(&mm->context.lock);
-		mask = atomic_xor_bits(&page->_refcount, 0x10U << (bit + 24));
+		mask = atomic_xor_bits(&ptdesc->_refcount, 0x10U << (bit + 24));
 		mask >>= 24;
 		if (mask != 0x00U)
 			return;
 		half = 0x01U << bit;
 	} else {
 		half = 0x03U;
-		mask = atomic_xor_bits(&page->_refcount, 0x03U << 24);
+		mask = atomic_xor_bits(&ptdesc->_refcount, 0x03U << 24);
 		mask >>= 24;
 	}
 
-	page_table_release_check(page, table, half, mask);
-	if (TestClearPageActive(page))
-		call_rcu(&page->rcu_head, pte_free_now);
+	page_table_release_check(ptdesc_page(ptdesc), table, half, mask);
+	if (folio_test_clear_active(ptdesc_folio(ptdesc)))
+		call_rcu(&ptdesc->pt_rcu_head, pte_free_now);
 	else
-		pte_free_now(&page->rcu_head);
+		pte_free_now(&ptdesc->pt_rcu_head);
 }
 
 void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table,
 			 unsigned long vmaddr)
 {
 	struct mm_struct *mm;
-	struct page *page;
 	unsigned int bit, mask;
+	struct ptdesc *ptdesc = virt_to_ptdesc(table);
 
 	mm = tlb->mm;
-	page = virt_to_page(table);
 	if (mm_alloc_pgste(mm)) {
 		gmap_unlink(mm, table, vmaddr);
 		table = (unsigned long *) ((unsigned long)table | 0x03U);
-		tlb_remove_table(tlb, table);
+		tlb_remove_ptdesc(tlb, table);
 		return;
 	}
 	bit = ((unsigned long) table & ~PAGE_MASK) / (PTRS_PER_PTE*sizeof(pte_t));
@@ -398,19 +396,19 @@ void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table,
 	 * outside of the critical section from __tlb_remove_table() or from
 	 * page_table_free()
 	 */
-	mask = atomic_xor_bits(&page->_refcount, 0x11U << (bit + 24));
+	mask = atomic_xor_bits(&ptdesc->_refcount, 0x11U << (bit + 24));
 	mask >>= 24;
-	if ((mask & 0x03U) && !PageActive(page)) {
+	if ((mask & 0x03U) && !folio_test_active(ptdesc_folio(ptdesc))) {
 		/*
 		 * Other half is allocated, and neither half has had
 		 * its free deferred: add page to end of list, to make
 		 * this freed half available for reuse once its pending
 		 * bit has been cleared by __tlb_remove_table().
 		 */
-		list_add_tail(&page->lru, &mm->context.pgtable_list);
+		list_add_tail(&ptdesc->pt_list, &mm->context.pgtable_list);
 	} else {
 		/* If page is on list, now remove it. */
-		list_del_init(&page->lru);
+		list_del_init(&ptdesc->pt_list);
 	}
 	spin_unlock_bh(&mm->context.lock);
 	table = (unsigned long *) ((unsigned long) table | (0x01U << bit));
@@ -421,30 +419,30 @@ void __tlb_remove_table(void *_table)
 {
 	unsigned int mask = (unsigned long) _table & 0x03U, half = mask;
 	void *table = (void *)((unsigned long) _table ^ mask);
-	struct page *page = virt_to_page(table);
+	struct ptdesc *ptdesc = virt_to_ptdesc(table);
 
 	switch (half) {
 	case 0x00U:	/* pmd, pud, or p4d */
-		free_pages((unsigned long)table, CRST_ALLOC_ORDER);
+		pagetable_free(ptdesc);
 		return;
 	case 0x01U:	/* lower 2K of a 4K page table */
 	case 0x02U:	/* higher 2K of a 4K page table */
-		mask = atomic_xor_bits(&page->_refcount, mask << (4 + 24));
+		mask = atomic_xor_bits(&ptdesc->_refcount, mask << (4 + 24));
 		mask >>= 24;
 		if (mask != 0x00U)
 			return;
 		break;
 	case 0x03U:	/* 4K page table with pgstes */
-		mask = atomic_xor_bits(&page->_refcount, 0x03U << 24);
+		mask = atomic_xor_bits(&ptdesc->_refcount, 0x03U << 24);
 		mask >>= 24;
 		break;
 	}
 
-	page_table_release_check(page, table, half, mask);
-	if (TestClearPageActive(page))
-		call_rcu(&page->rcu_head, pte_free_now);
+	page_table_release_check(ptdesc_page(ptdesc), table, half, mask);
+	if (folio_test_clear_active(ptdesc_folio(ptdesc)))
+		call_rcu(&ptdesc->pt_rcu_head, pte_free_now);
 	else
-		pte_free_now(&page->rcu_head);
+		pte_free_now(&ptdesc->pt_rcu_head);
 }
 
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
@@ -488,16 +486,20 @@ static void base_pgt_free(unsigned long *table)
 static unsigned long *base_crst_alloc(unsigned long val)
 {
 	unsigned long *table;
+	struct ptdesc *ptdesc;
 
-	table =	(unsigned long *)__get_free_pages(GFP_KERNEL, CRST_ALLOC_ORDER);
-	if (table)
-		crst_table_init(table, val);
+	ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, CRST_ALLOC_ORDER);
+	if (!ptdesc)
+		return NULL;
+	table = ptdesc_address(ptdesc);
+
+	crst_table_init(table, val);
 	return table;
 }
 
 static void base_crst_free(unsigned long *table)
 {
-	free_pages((unsigned long)table, CRST_ALLOC_ORDER);
+	pagetable_free(virt_to_ptdesc(table));
 }
 
 #define BASE_ADDR_END_FUNC(NAME, SIZE)					\
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579040.906918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jy-0002fr-G0; Mon, 07 Aug 2023 23:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579040.906918; Mon, 07 Aug 2023 23: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 1qT9Jy-0002em-4g; Mon, 07 Aug 2023 23:07:30 +0000
Received: by outflank-mailman (input) for mailman id 579040;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Id-0001NS-MK
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:07 +0000
Received: from mail-yw1-x1131.google.com (mail-yw1-x1131.google.com
 [2607:f8b0:4864:20::1131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb6e887d-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:04 +0200 (CEST)
Received: by mail-yw1-x1131.google.com with SMTP id
 00721157ae682-583c48a9aa1so52641847b3.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:04 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: fb6e887d-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449563; x=1692054363;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b5UN203jFDiNo/YHJ5VSjgxwvcpHMPrLplz2RQSMCvk=;
        b=OTPDdNMzu7YNnKXhv+Q3ZqqlENNm5aYdj6D71YWlelfDeuCfloDRpvW/2blg63fLEM
         wp2lqLun+gv7jM76tgF3SL5EUSik6EQoGHQg/la3vssrqrbUd6clAJJZm9oTnkSFnW3p
         rrak3TkX2TlgthUOthGhnmNqe2u92uklZfoOWmy63Mi41aONrji7aHLiDQehYWfjAdaZ
         soPZkqDTfcWv3Jopxt6sr0srYUxYWkTWEBaSK7GkVRhdyRSTtqcke1kGItccZqtqhkia
         YtUOs+TmHqOaN+5n3hq45fmviaiyb+cOIccc/DlZdoNJ1+R3sKq7dO2/Ljgq8Rru35Tt
         Yo/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449563; x=1692054363;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=b5UN203jFDiNo/YHJ5VSjgxwvcpHMPrLplz2RQSMCvk=;
        b=HfY6+EkRwf7PyBwl0XFHD3xE+oRdNy+4KRnFdcYQFC3Ptx5KXhmTGXs4at+ex9AxHQ
         ueqqEEa6PNqoEdFBzHn5ojx8ylg/FthPYTaR5I4+4oYHRX6fUtSzhcQjZlCmb/rk17C0
         pZF0SBCDm3iJ9jziM/0lVD76P8l6OqamrnnYH1bk7ZriRKVBqL0FUluHIhsZjmmMQqMV
         evHHF6L2gORVCd0UL6Gan33KMa5FEORNqS9vpSYJwPIwoF6VxzmAfWKFQdY2BirmvBY5
         yvkwuYzbY8iyICK1cAkNcpL5eBUoOm17CNl4lqxRQSJFc+Fld3p+h0Uk5e1FJb4mFKQD
         0Caw==
X-Gm-Message-State: AOJu0YzjBzWgxnhN2wz9ntd9FqXLIx/7pB7KRHj7/4pVGku4wfJ+fj8D
	zkfRtYDHgHMNNV5CrmpcIgA=
X-Google-Smtp-Source: AGHT+IGso2idiavqhjdtI0le+b51Epzt0Ore5+PmjI6n65mRaKN/pRbN2Fu2wELJlR9Tq3E7Uha1dg==
X-Received: by 2002:a25:be08:0:b0:d0e:2e5c:2f80 with SMTP id h8-20020a25be08000000b00d0e2e5c2f80mr8938705ybk.64.1691449563064;
        Mon, 07 Aug 2023 16:06:03 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: [PATCH mm-unstable v9 22/31] m68k: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:05:04 -0700
Message-Id: <20230807230513.102486-23-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/m68k/include/asm/mcf_pgalloc.h  | 47 ++++++++++++++--------------
 arch/m68k/include/asm/sun3_pgalloc.h |  8 ++---
 arch/m68k/mm/motorola.c              |  4 +--
 3 files changed, 30 insertions(+), 29 deletions(-)

diff --git a/arch/m68k/include/asm/mcf_pgalloc.h b/arch/m68k/include/asm/mcf_pgalloc.h
index 5c2c0a864524..302c5bf67179 100644
--- a/arch/m68k/include/asm/mcf_pgalloc.h
+++ b/arch/m68k/include/asm/mcf_pgalloc.h
@@ -5,22 +5,22 @@
 #include <asm/tlb.h>
 #include <asm/tlbflush.h>
 
-extern inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
+static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
 {
-	free_page((unsigned long) pte);
+	pagetable_free(virt_to_ptdesc(pte));
 }
 
 extern const char bad_pmd_string[];
 
-extern inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
+static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
 {
-	unsigned long page = __get_free_page(GFP_DMA);
+	struct ptdesc *ptdesc = pagetable_alloc((GFP_DMA | __GFP_ZERO) &
+			~__GFP_HIGHMEM, 0);
 
-	if (!page)
+	if (!ptdesc)
 		return NULL;
 
-	memset((void *)page, 0, PAGE_SIZE);
-	return (pte_t *) (page);
+	return ptdesc_address(ptdesc);
 }
 
 extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address)
@@ -35,36 +35,34 @@ extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address)
 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable,
 				  unsigned long address)
 {
-	struct page *page = virt_to_page(pgtable);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pgtable);
 
-	pgtable_pte_page_dtor(page);
-	__free_page(page);
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
 {
-	struct page *page = alloc_pages(GFP_DMA, 0);
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_DMA | __GFP_ZERO, 0);
 	pte_t *pte;
 
-	if (!page)
+	if (!ptdesc)
 		return NULL;
-	if (!pgtable_pte_page_ctor(page)) {
-		__free_page(page);
+	if (!pagetable_pte_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
 
-	pte = page_address(page);
-	clear_page(pte);
-
+	pte = ptdesc_address(ptdesc);
 	return pte;
 }
 
 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable)
 {
-	struct page *page = virt_to_page(pgtable);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pgtable);
 
-	pgtable_pte_page_dtor(page);
-	__free_page(page);
+	pagetable_pte_dtor(ptdesc);
+	pagetable_free(ptdesc);
 }
 
 /*
@@ -75,16 +73,19 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable)
 
 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
 {
-	free_page((unsigned long) pgd);
+	pagetable_free(virt_to_ptdesc(pgd));
 }
 
 static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 {
 	pgd_t *new_pgd;
+	struct ptdesc *ptdesc = pagetable_alloc((GFP_DMA | __GFP_NOWARN) &
+			~__GFP_HIGHMEM, 0);
 
-	new_pgd = (pgd_t *)__get_free_page(GFP_DMA | __GFP_NOWARN);
-	if (!new_pgd)
+	if (!ptdesc)
 		return NULL;
+	new_pgd = ptdesc_address(ptdesc);
+
 	memcpy(new_pgd, swapper_pg_dir, PTRS_PER_PGD * sizeof(pgd_t));
 	memset(new_pgd, 0, PAGE_OFFSET >> PGDIR_SHIFT);
 	return new_pgd;
diff --git a/arch/m68k/include/asm/sun3_pgalloc.h b/arch/m68k/include/asm/sun3_pgalloc.h
index 198036aff519..ff48573db2c0 100644
--- a/arch/m68k/include/asm/sun3_pgalloc.h
+++ b/arch/m68k/include/asm/sun3_pgalloc.h
@@ -17,10 +17,10 @@
 
 extern const char bad_pmd_string[];
 
-#define __pte_free_tlb(tlb,pte,addr)			\
-do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page((tlb), pte);			\
+#define __pte_free_tlb(tlb, pte, addr)				\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), page_ptdesc(pte));	\
 } while (0)
 
 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte)
diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c
index 8bca46e51e94..c1761d309fc6 100644
--- a/arch/m68k/mm/motorola.c
+++ b/arch/m68k/mm/motorola.c
@@ -161,7 +161,7 @@ void *get_pointer_table(int type)
 			 * m68k doesn't have SPLIT_PTE_PTLOCKS for not having
 			 * SMP.
 			 */
-			pgtable_pte_page_ctor(virt_to_page(page));
+			pagetable_pte_ctor(virt_to_ptdesc(page));
 		}
 
 		mmu_page_ctor(page);
@@ -201,7 +201,7 @@ int free_pointer_table(void *table, int type)
 		list_del(dp);
 		mmu_page_dtor((void *)page);
 		if (type == TABLE_PTE)
-			pgtable_pte_page_dtor(virt_to_page((void *)page));
+			pagetable_pte_dtor(virt_to_ptdesc((void *)page));
 		free_page (page);
 		return 1;
 	} else if (ptable_list[type].next != dp) {
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579044.906925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jz-0002rk-IB; Mon, 07 Aug 2023 23:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579044.906925; Mon, 07 Aug 2023 23: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 1qT9Jz-0002oF-2T; Mon, 07 Aug 2023 23:07:31 +0000
Received: by outflank-mailman (input) for mailman id 579044;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9It-0001NS-77
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:23 +0000
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com
 [2607:f8b0:4864:20::b30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05dc7ba9-3577-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:21 +0200 (CEST)
Received: by mail-yb1-xb30.google.com with SMTP id
 3f1490d57ef6-d299ed34bacso8703918276.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:21 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: 05dc7ba9-3577-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449580; x=1692054380;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T9QlLO1dPeyZnWI5hHw1TuJlTK1nfQVgIvIYX0JocUU=;
        b=ZmZBlK2BE47dPXTqc8IQ1uTKCUobrHijjQnotS76WbJUUgCGVOPFVEmsLAOFQve7Mq
         8k04A5/AuFSS607BBJG/Nd5XpAmnH5zPypJPEnlo7r978iqN52fpsMDyDxOev3Z41hLb
         CpvzpxqdWGHuM0xgZvYoYbOi2GTwb0pfPUe0oyJziB36Q6lozhNOIAq2JTvWjnhFdQ2U
         4BFxzsH5/HG/XXl5/YPVavhDi3L4gvkLB1NxxGw9654yYac9diJlEe3+5Z8y0K4G8C7u
         mJwXJ96QObfNW/oMJd7PgnIP4//NNbVjGeiAj0SJF/1wFKYAbBETcCfRmwi4qkbVDTFa
         RY/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449580; x=1692054380;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=T9QlLO1dPeyZnWI5hHw1TuJlTK1nfQVgIvIYX0JocUU=;
        b=QG3GsaFOlqX/hDzKUYg3wAc8G+wZVdcn6+iitxkAeFnwrdsa3EPfzYdHMpl7Ubvfw2
         A5hWWOYpPJNjAQ2eAW/dfEpFprr9jN+rBVvSdoD0AXylRDWYq6lwuJww0bfdXw45PYAP
         i+0C153C2IccOPyGlOA4R/kHvTOId0PAW3HBFO5T6Sygu3HzQ6Vmn3oqSkTiW68H/sOd
         84a9oUhIc2MzUL7n9BgaQRm8qGNm1tkTIV/Szpx73mZNUO/5qSx+S+y2KYh36eXViJ29
         8nHRRtYji9sMq+C4dkVWcELFi1vB2o03td0odrY6wtekn4XcLI9gRuWCqqEEfRZsAInV
         dHag==
X-Gm-Message-State: AOJu0YwgEQMtpV3OPsTjGZUMvjpUhw5j4V3Ku5rCIyIXDbDMNvIJVKPo
	5kFNVyOiZqV947qJJnsk2dI=
X-Google-Smtp-Source: AGHT+IFhMlpHJ+7onf6BYxf2ZEVLLZTaCynnVlAbd/4Vka+RTYiQ5OXzXPwOq0O9emhI9trC6wG3Sw==
X-Received: by 2002:a5b:f8c:0:b0:d0b:7e30:6d17 with SMTP id q12-20020a5b0f8c000000b00d0b7e306d17mr8498276ybh.14.1691449580620;
        Mon, 07 Aug 2023 16:06:20 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Richard Weinberger <richard@nod.at>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 30/31] um: Convert {pmd, pte}_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:12 -0700
Message-Id: <20230807230513.102486-31-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/um/include/asm/pgalloc.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/um/include/asm/pgalloc.h b/arch/um/include/asm/pgalloc.h
index 8ec7cd46dd96..de5e31c64793 100644
--- a/arch/um/include/asm/pgalloc.h
+++ b/arch/um/include/asm/pgalloc.h
@@ -25,19 +25,19 @@
  */
 extern pgd_t *pgd_alloc(struct mm_struct *);
 
-#define __pte_free_tlb(tlb,pte, address)		\
-do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page((tlb),(pte));			\
+#define __pte_free_tlb(tlb, pte, address)			\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));	\
 } while (0)
 
 #ifdef CONFIG_3_LEVEL_PGTABLES
 
-#define __pmd_free_tlb(tlb, pmd, address)		\
-do {							\
-	pgtable_pmd_page_dtor(virt_to_page(pmd));	\
-	tlb_remove_page((tlb),virt_to_page(pmd));	\
-} while (0)						\
+#define __pmd_free_tlb(tlb, pmd, address)			\
+do {								\
+	pagetable_pmd_dtor(virt_to_ptdesc(pmd));			\
+	tlb_remove_page_ptdesc((tlb), virt_to_ptdesc(pmd));	\
+} while (0)
 
 #endif
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579045.906931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K0-0002zd-7x; Mon, 07 Aug 2023 23:07:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579045.906931; Mon, 07 Aug 2023 23:07:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9Jz-0002y4-O5; Mon, 07 Aug 2023 23:07:31 +0000
Received: by outflank-mailman (input) for mailman id 579045;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ie-0001NS-Ma
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:08 +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 fcbd8f71-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:06 +0200 (CEST)
Received: by mail-yw1-x112e.google.com with SMTP id
 00721157ae682-5768a7e3adbso87638447b3.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:06 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcbd8f71-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449565; x=1692054365;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SCvcoKWLGx6gAjym9VWVFszZElqPM/KxU0nQCUs9lhU=;
        b=UEUmdRWyflXklFyhNX736vuEaqgiuaE747b2iDMdbsntaDVnz91uxqlH5BcdgyOH5x
         uvJaTvPkpQGN9akIqApZ8zKHvLZguej6njtjOnVMX/cM5jmsFezl/LYYVYVkbeho4b0z
         HHNTILzp+Xc4v6kzsuUo73oAPiN0CJazQDUAwcPLlet/lIEFQgMVrv8B24qA6Hz5wjkw
         b8w6Ifa5zhm6L11dsVrnJ9eA4XJTM6QxI5QWilhFcSjtgNKdoGywloLoSOAO6BZpBMSb
         8CiRrKjceUBw/RGFjWiyE5TzR9GZJ5T3ThAn9ujnfgeZbAfe+0n8PqgNKPCIQtpGYCsJ
         QRzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449565; x=1692054365;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SCvcoKWLGx6gAjym9VWVFszZElqPM/KxU0nQCUs9lhU=;
        b=R3JunrGGIQG4Q5OK2PgYMTv1KGtPqRpCwyJobbEGp9haYT7vep3l4hkE/VQYH++fYD
         KarZ6YZrbkZCUVdkkBlsJMaTJoXg29ivTwpUJjCDD/1/bmz1JDU9ZaybWm42CtQ4dYqk
         h6g1vByCcFsfJPkamPkdK8TmRqK9kqNX33Mf8wSxX2rfL7PrB6b7Yy8gg02+hnCLQFPz
         WqMzODD3i/AnMeGXGpk+WJtjy67hGPPtS6lFLCO4zukAIMdmvGDQ3RdultwbFfgnG15F
         NjjjmDSgvlzEKS/wdX6F7aRnGy2v9ah7i9BXzhPiV7wv58wI5IcBAePP+lo5+vBbq78b
         GKYQ==
X-Gm-Message-State: AOJu0Yzxxp94PQD0eNt918+CMDtmGiHxVoGeT/Cv+CQcRt8WwyiohYdS
	ubtgaGEKZ8H/g3qcooQ0F3s=
X-Google-Smtp-Source: AGHT+IEqzmUPQsWPkdBtUj3V9QXK122J73o4hp/g5UvHeQgKIN7qrVubtY48PFSpogl4MBW4UXPeVQ==
X-Received: by 2002:a25:944:0:b0:cb4:6167:a69c with SMTP id u4-20020a250944000000b00cb46167a69cmr9868214ybm.8.1691449565251;
        Mon, 07 Aug 2023 16:06:05 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 23/31] mips: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:05:05 -0700
Message-Id: <20230807230513.102486-24-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/mips/include/asm/pgalloc.h | 32 ++++++++++++++++++--------------
 arch/mips/mm/pgtable.c          |  8 +++++---
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/arch/mips/include/asm/pgalloc.h b/arch/mips/include/asm/pgalloc.h
index f72e737dda21..40e40a7eb94a 100644
--- a/arch/mips/include/asm/pgalloc.h
+++ b/arch/mips/include/asm/pgalloc.h
@@ -51,13 +51,13 @@ extern pgd_t *pgd_alloc(struct mm_struct *mm);
 
 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
 {
-	free_pages((unsigned long)pgd, PGD_TABLE_ORDER);
+	pagetable_free(virt_to_ptdesc(pgd));
 }
 
-#define __pte_free_tlb(tlb,pte,address)			\
-do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page((tlb), pte);			\
+#define __pte_free_tlb(tlb, pte, address)			\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), page_ptdesc(pte));	\
 } while (0)
 
 #ifndef __PAGETABLE_PMD_FOLDED
@@ -65,18 +65,18 @@ do {							\
 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
 {
 	pmd_t *pmd;
-	struct page *pg;
+	struct ptdesc *ptdesc;
 
-	pg = alloc_pages(GFP_KERNEL_ACCOUNT, PMD_TABLE_ORDER);
-	if (!pg)
+	ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, PMD_TABLE_ORDER);
+	if (!ptdesc)
 		return NULL;
 
-	if (!pgtable_pmd_page_ctor(pg)) {
-		__free_pages(pg, PMD_TABLE_ORDER);
+	if (!pagetable_pmd_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
 
-	pmd = (pmd_t *)page_address(pg);
+	pmd = ptdesc_address(ptdesc);
 	pmd_init(pmd);
 	return pmd;
 }
@@ -90,10 +90,14 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
 static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address)
 {
 	pud_t *pud;
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM,
+			PUD_TABLE_ORDER);
 
-	pud = (pud_t *) __get_free_pages(GFP_KERNEL, PUD_TABLE_ORDER);
-	if (pud)
-		pud_init(pud);
+	if (!ptdesc)
+		return NULL;
+	pud = ptdesc_address(ptdesc);
+
+	pud_init(pud);
 	return pud;
 }
 
diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c
index b13314be5d0e..1506e458040d 100644
--- a/arch/mips/mm/pgtable.c
+++ b/arch/mips/mm/pgtable.c
@@ -10,10 +10,12 @@
 
 pgd_t *pgd_alloc(struct mm_struct *mm)
 {
-	pgd_t *ret, *init;
+	pgd_t *init, *ret = NULL;
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM,
+			PGD_TABLE_ORDER);
 
-	ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_TABLE_ORDER);
-	if (ret) {
+	if (ptdesc) {
+		ret = ptdesc_address(ptdesc);
 		init = pgd_offset(&init_mm, 0UL);
 		pgd_init(ret);
 		memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579047.906938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K1-00038F-2Q; Mon, 07 Aug 2023 23:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579047.906938; Mon, 07 Aug 2023 23:07:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K0-00034h-B6; Mon, 07 Aug 2023 23:07:32 +0000
Received: by outflank-mailman (input) for mailman id 579047;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ib-0001NS-M1
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:05 +0000
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com
 [2607:f8b0:4864:20::b30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa41787b-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:02 +0200 (CEST)
Received: by mail-yb1-xb30.google.com with SMTP id
 3f1490d57ef6-d4789fd9317so2925221276.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:02 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa41787b-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449561; x=1692054361;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VD2saKmHCgP979K/4Ur2DZD5lv+pCsAy+26MDZ4lRXE=;
        b=KaA5Xf0Zq7VankK3QOvVnhKCvDQA0idGZ5r/QtBaYpBUZhM7IUDDnipX0Mck9NuTr6
         FMzfUiWHWV61utAYtiNJjvsmZyQrjEGqV1vWWuYtjGooZk9wKA6pHj8JXiEh77Vd66gm
         gq9wCdtohtsBXI+QiM0g5DM3RYb5yVm35tcAKNI7nQZaFVODWjyuyXisRnjCevekbcDp
         QweW3qBvEiOtjGdP8+KO+Ai79xaww40f8oFcpzIoZ31G0t7vkt4E3RfT7Asw6Y6mNUmW
         4v5tgaFeOHT3yezqwQ6Pv7HkjczS8wtW/o3vWALkNkC7/L83lM6ERIvU0onlnalg95pZ
         XQOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449561; x=1692054361;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VD2saKmHCgP979K/4Ur2DZD5lv+pCsAy+26MDZ4lRXE=;
        b=Y5V8yPmQ90rBDY9TLUXh7DxkIJIqkY5+/P7oHorOO1kt33P8OHri1SQZ4FPsm2vHNT
         IBmQRKX18IzwCNIw2bJ8gRhNyCw18YpmACX7WkxytpLXBFxNhI9W18QVtYyAlWlNbQ/k
         LDyFtWtDbIiCn+J8/OrSybRHT/yqrbHbDKgGBvV3ciS3Sgi4A497hmMgEP0mdgcVFgq4
         pFCmsE1Prp88HwLASb1/MPO2QFH9xVjMZKuNgj/Imyue8S0KQMH9oRRHGMltprikpPzb
         9rmelENw25l9zBXc+QHwwotEh+8eppJ0ozU11ZMfNmfOlF2zsKe/1Di7hERGnduRgNf+
         1jzA==
X-Gm-Message-State: AOJu0YxTxYOMXxVN1xuREVqGagJL8AR+MUtEgKtxY9Xk3eP3AgMEh3Ch
	baFO/EICASx29Su02J3WHko=
X-Google-Smtp-Source: AGHT+IGT7jcZ858GNZbGv2ymKyHkNCq6k2xr+zx9+OdmxVuwoAhnOKduGJp0I6ObmWSEyVKiLNM8sw==
X-Received: by 2002:a25:8210:0:b0:d39:fa2f:8b63 with SMTP id q16-20020a258210000000b00d39fa2f8b63mr13670853ybk.25.1691449561057;
        Mon, 07 Aug 2023 16:06:01 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 21/31] loongarch: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:05:03 -0700
Message-Id: <20230807230513.102486-22-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/loongarch/include/asm/pgalloc.h | 27 +++++++++++++++------------
 arch/loongarch/mm/pgtable.c          |  7 ++++---
 2 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/arch/loongarch/include/asm/pgalloc.h b/arch/loongarch/include/asm/pgalloc.h
index af1d1e4a6965..23f5b1107246 100644
--- a/arch/loongarch/include/asm/pgalloc.h
+++ b/arch/loongarch/include/asm/pgalloc.h
@@ -45,9 +45,9 @@ extern void pagetable_init(void);
 extern pgd_t *pgd_alloc(struct mm_struct *mm);
 
 #define __pte_free_tlb(tlb, pte, address)			\
-do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page((tlb), pte);			\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), page_ptdesc(pte));	\
 } while (0)
 
 #ifndef __PAGETABLE_PMD_FOLDED
@@ -55,18 +55,18 @@ do {							\
 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
 {
 	pmd_t *pmd;
-	struct page *pg;
+	struct ptdesc *ptdesc;
 
-	pg = alloc_page(GFP_KERNEL_ACCOUNT);
-	if (!pg)
+	ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, 0);
+	if (!ptdesc)
 		return NULL;
 
-	if (!pgtable_pmd_page_ctor(pg)) {
-		__free_page(pg);
+	if (!pagetable_pmd_ctor(ptdesc)) {
+		pagetable_free(ptdesc);
 		return NULL;
 	}
 
-	pmd = (pmd_t *)page_address(pg);
+	pmd = ptdesc_address(ptdesc);
 	pmd_init(pmd);
 	return pmd;
 }
@@ -80,10 +80,13 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
 static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address)
 {
 	pud_t *pud;
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0);
 
-	pud = (pud_t *) __get_free_page(GFP_KERNEL);
-	if (pud)
-		pud_init(pud);
+	if (!ptdesc)
+		return NULL;
+	pud = ptdesc_address(ptdesc);
+
+	pud_init(pud);
 	return pud;
 }
 
diff --git a/arch/loongarch/mm/pgtable.c b/arch/loongarch/mm/pgtable.c
index 1260cf30e3ee..b14343e211b6 100644
--- a/arch/loongarch/mm/pgtable.c
+++ b/arch/loongarch/mm/pgtable.c
@@ -11,10 +11,11 @@
 
 pgd_t *pgd_alloc(struct mm_struct *mm)
 {
-	pgd_t *ret, *init;
+	pgd_t *init, *ret = NULL;
+	struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0);
 
-	ret = (pgd_t *) __get_free_page(GFP_KERNEL);
-	if (ret) {
+	if (ptdesc) {
+		ret = (pgd_t *)ptdesc_address(ptdesc);
 		init = pgd_offset(&init_mm, 0UL);
 		pgd_init(ret);
 		memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579048.906947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K2-0003Yu-Jh; Mon, 07 Aug 2023 23:07:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579048.906947; Mon, 07 Aug 2023 23:07:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K2-0003U0-0E; Mon, 07 Aug 2023 23:07:34 +0000
Received: by outflank-mailman (input) for mailman id 579048;
 Mon, 07 Aug 2023 23:07: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IR-0001NS-Fr
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:55 +0000
Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com
 [2607:f8b0:4864:20::b2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f537af55-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:53 +0200 (CEST)
Received: by mail-yb1-xb2a.google.com with SMTP id
 3f1490d57ef6-ccc462deca6so5489192276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:53 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05: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: f537af55-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449552; x=1692054352;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mSWx8dFer3K04xJe2FS2V6S19uUh9FiSOjAjYMXRNjw=;
        b=mEF5uAs6LPH63FkNSBplLFspkb60DHxm6zOnUwvAQJc3E/pOwbhAIiNFZBUYHiCsiM
         p2tbQp60CKHpnlFx92kmBMq0iICGLFKDwXQ0LyWNPB5CTFYLszQ4c8mEuzgfzEni9mwM
         Ttmf1qUiq6AjtyU7518jshwfi+pChbC60Sh5kSbXAB+lvEOcHSUd/ZfP7MFS2PgNjGFo
         r7Bvb+zEwdMz3ovaFVdL7n7AY1JJbQH54hsJVFdRCSvSwoDtl5zIXSCLg5x4eEWrxL65
         mP+yB5DlcuhDlbUdEBdiXWCJptk41KogbXQLbDgKd5NU/tlto4itztjaP5et2Hvpw0rt
         7VEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449552; x=1692054352;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mSWx8dFer3K04xJe2FS2V6S19uUh9FiSOjAjYMXRNjw=;
        b=M46y74Uj0HWwFr5a/71IlhuZ2i+E2U+QJ9k17WSVTjddXltel713J1eSjLz9KeNGJa
         33JuajndOHOqqDhiMp0BK6PNTEwOMLXON7sKwSXUrgHgdDgcrNP3zpa+hhHAP5um3vNG
         Y04qjraPfe3N5rKE1gUOXn13eeAHKPWosy2c4/wSZlUS+gZ11ebLrHtR9XooQUUE90qz
         Ba0qqukT8jjr1fg2TJDQ1JDcIaLcwH6sx8nvI3jZvhbMIGonoTdaxXvRo8aHEnka/Dkv
         wuWEFIMbBj0KNiOvsmazXbyE4yDc0f7JeDhgLK4+2lviNJ16eVmPd8MS8maqH2nbUvPC
         6YoA==
X-Gm-Message-State: AOJu0YzxYn7bCUgq1HixWvC+wGbVgS2mgVdndovxuM/Yd1mOVmMMuFhp
	uGOqj9qlmjyFFoj4Sy3FOn8=
X-Google-Smtp-Source: AGHT+IFZB5AVL/MxN7IM/ds0EZn0mK90E4BWht9Xyb7zBcTjMbr/Qp8cCY+l+/2imbi83tiWiC1i0w==
X-Received: by 2002:a25:4e05:0:b0:d12:3108:f90f with SMTP id c5-20020a254e05000000b00d123108f90fmr10423741ybb.24.1691449552662;
        Mon, 07 Aug 2023 16:05:52 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 17/31] arm: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:04:59 -0700
Message-Id: <20230807230513.102486-18-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

late_alloc() also uses the __get_free_pages() helper function. Convert
this to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/arm/include/asm/tlb.h | 12 +++++++-----
 arch/arm/mm/mmu.c          |  7 ++++---
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h
index b8cbe03ad260..f40d06ad5d2a 100644
--- a/arch/arm/include/asm/tlb.h
+++ b/arch/arm/include/asm/tlb.h
@@ -39,7 +39,9 @@ static inline void __tlb_remove_table(void *_table)
 static inline void
 __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr)
 {
-	pgtable_pte_page_dtor(pte);
+	struct ptdesc *ptdesc = page_ptdesc(pte);
+
+	pagetable_pte_dtor(ptdesc);
 
 #ifndef CONFIG_ARM_LPAE
 	/*
@@ -50,17 +52,17 @@ __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr)
 	__tlb_adjust_range(tlb, addr - PAGE_SIZE, 2 * PAGE_SIZE);
 #endif
 
-	tlb_remove_table(tlb, pte);
+	tlb_remove_ptdesc(tlb, ptdesc);
 }
 
 static inline void
 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr)
 {
 #ifdef CONFIG_ARM_LPAE
-	struct page *page = virt_to_page(pmdp);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pmdp);
 
-	pgtable_pmd_page_dtor(page);
-	tlb_remove_table(tlb, page);
+	pagetable_pmd_dtor(ptdesc);
+	tlb_remove_ptdesc(tlb, ptdesc);
 #endif
 }
 
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index c9981c23e8e9..674ed71573a8 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -737,11 +737,12 @@ static void __init *early_alloc(unsigned long sz)
 
 static void *__init late_alloc(unsigned long sz)
 {
-	void *ptr = (void *)__get_free_pages(GFP_PGTABLE_KERNEL, get_order(sz));
+	void *ptdesc = pagetable_alloc(GFP_PGTABLE_KERNEL & ~__GFP_HIGHMEM,
+			get_order(sz));
 
-	if (!ptr || !pgtable_pte_page_ctor(virt_to_page(ptr)))
+	if (!ptdesc || !pagetable_pte_ctor(ptdesc))
 		BUG();
-	return ptr;
+	return ptdesc_to_virt(ptdesc);
 }
 
 static pte_t * __init arm_pte_alloc(pmd_t *pmd, unsigned long addr,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579050.906955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K3-0003g8-K7; Mon, 07 Aug 2023 23:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579050.906955; Mon, 07 Aug 2023 23:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K2-0003cz-Ov; Mon, 07 Aug 2023 23:07:34 +0000
Received: by outflank-mailman (input) for mailman id 579050;
 Mon, 07 Aug 2023 23:07: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Iq-0001NY-UO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:20 +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 02166de8-3577-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:06:15 +0200 (CEST)
Received: by mail-yb1-xb2c.google.com with SMTP id
 3f1490d57ef6-d35e565071aso5316994276.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:15 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02166de8-3577-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449574; x=1692054374;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SuJFa6mAGFwbCAvFBsdWEeQAHJIQ94yaq1s2El5pO5M=;
        b=sRCgndxFhKIflL3dRUOciVixuY3um2CsOH9mqCT4RfpcBNQLoC/2xIlVP2BC0LrRXg
         d0Mfnrp8G1Gq70+B6oCgBqzc+N7zHH9xY0+av47l7B8CO6Tt+n9pMVSoswf5Jzx8/yzy
         NzCNQAVK/Lkid61qiT1qq4e/dSW3T9N7fVh6BXy/whyNG/50NiRv4160ULtNDt7ZAJ8u
         ZEinV12wAdQdY0FHQSDiTfa7/P6pGvAR+Q1UWR0j31w4+0ktiAC1WT1q41QbYEtl/+hQ
         cKdjsvUfk2w2q52f0mVtR4dPNDq1UHAYwd2r0wZzmsP36I/aPnhCen/ej73PJ82E0WBs
         UQzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449574; x=1692054374;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SuJFa6mAGFwbCAvFBsdWEeQAHJIQ94yaq1s2El5pO5M=;
        b=eP73u68iz/XkUBtQth2GLzzDIlRRYimRvnFL5lIORo+4MPV0MYnel5V1YXQY8lTqXP
         5j6LieBA4LpWsH4U3Xc/QxE6/8NVRFqgmkLmr0THWnb/zlOJxPZEEIC2JINpZgLnna/m
         KUo1vXLG/CSKOCrglxJmTZyyIwGjtBLtJWhhlLp+97rqEK4/8WiR5a/iWloQ8KFHgiC8
         L5CvwlWI7NBOyO6R4mGTSbABmTyhpba4UdGVSx+Xhrk7ho9OJGc4z/DNBtEz2fsUaIUM
         eogrMcR/Lp/0WFmmwIxph02qjtFf8sHwHEo5mbvsgvaxOcEHKqyyk6HLHCFjqtcZVZMG
         bbNQ==
X-Gm-Message-State: AOJu0YyqAGmlSSY2n6O9O+OXfFXEsEgLeo0VtDlY2vcshUr/Mymor726
	72/cqWEVpUZ07nCvBzsaQXM=
X-Google-Smtp-Source: AGHT+IHDPhUgl52q/fREvy7LWtCvyksQLzlkWI4tWrtb//A8NgqAG/s+XL1YOkSBACmJ6FF0msS3mA==
X-Received: by 2002:a25:4081:0:b0:d4c:82ff:7bde with SMTP id n123-20020a254081000000b00d4c82ff7bdemr6684894yba.63.1691449574044;
        Mon, 07 Aug 2023 16:06:14 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 27/31] sh: Convert pte_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:09 -0700
Message-Id: <20230807230513.102486-28-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/sh/include/asm/pgalloc.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/arch/sh/include/asm/pgalloc.h b/arch/sh/include/asm/pgalloc.h
index a9e98233c4d4..5d8577ab1591 100644
--- a/arch/sh/include/asm/pgalloc.h
+++ b/arch/sh/include/asm/pgalloc.h
@@ -2,6 +2,7 @@
 #ifndef __ASM_SH_PGALLOC_H
 #define __ASM_SH_PGALLOC_H
 
+#include <linux/mm.h>
 #include <asm/page.h>
 
 #define __HAVE_ARCH_PMD_ALLOC_ONE
@@ -31,10 +32,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
 	set_pmd(pmd, __pmd((unsigned long)page_address(pte)));
 }
 
-#define __pte_free_tlb(tlb,pte,addr)			\
-do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page((tlb), (pte));			\
+#define __pte_free_tlb(tlb, pte, addr)				\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));	\
 } while (0)
 
 #endif /* __ASM_SH_PGALLOC_H */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579053.906962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K5-0003tg-4d; Mon, 07 Aug 2023 23:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579053.906962; Mon, 07 Aug 2023 23:07:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9K3-0003n0-Nt; Mon, 07 Aug 2023 23:07:35 +0000
Received: by outflank-mailman (input) for mailman id 579053;
 Mon, 07 Aug 2023 23:07:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Im-0001NY-Tc
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:16 +0000
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com
 [2607:f8b0:4864:20::c2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff60c49c-3576-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 01:06:10 +0200 (CEST)
Received: by mail-oo1-xc2a.google.com with SMTP id
 006d021491bc7-5633b7e5f90so3615823eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:10 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff60c49c-3576-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449570; x=1692054370;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8XaHpTf3P/utbT17OPG/H5MolPsiYyRMVXSdV5AvoHU=;
        b=GmyaVrawFabDS7oM/FJ2wsqOTnvNiSZkWHllyllBSGtBhNSpEmhqjU2xmr+48gvMwO
         LUXnCk58UhmfTImv2R4R9LNF0+WlzxXIVQ4Y7ZC5fEeHoGrn0o/ogRSADB0Y+NluFrtN
         MrrlZ4Lz/gi5878wRIWP06wgFFKVx+8i+ghKFpBHekPx9T0p+3sqj2xh34rznNB4nw+U
         O7FH+uzt41O2vvO9FAauF/idvM9r4rw7Q35Wwsa8GbYTT2MLxcQcKcfZ8291m/c55wrV
         URc64VPnBpaXKs/Bni+oDqsCjGnYy/ppZbjbVbnispVrc0PlqosfX2g85SuErvT0W1h1
         o3sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449570; x=1692054370;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8XaHpTf3P/utbT17OPG/H5MolPsiYyRMVXSdV5AvoHU=;
        b=JNaCEAh0F9ogZx7p8idPPcrcMKlgg3ESkBb1wJhZ0+/o8C8oLKUQ6xrcVtC3wHyn6a
         25J88keWREsRi4DBoYoqPQkUFDp34Q5TCALJu7yH/RBZntPEOM/q2qo4lSt4HEayK3VI
         gboVMf5cm2ZtepEduq1kQarb7UxsMqjJw0VtlKZ/NIYgq+oHrkwEiYSFvu2+PkH42ZYl
         gqrXSvZu9xtHVyKFzOJ8+mkbKJLSaEe18KWtHOYRusD/g2LV4ZiJMDBGFlDjX6lT+kzw
         cY/i/X6fw3mrj257LJLkyi0TfgeeOPUwsTehHzWW1ibTsiQ1sZ+npLtbIUMsnSywS+ic
         lDRA==
X-Gm-Message-State: AOJu0YxBMoTeYNSrkhWKeof/+5jRjgpsuhqOjGJAnRWSfjyOR5xoGB7N
	sVlSjuD8RlTj07he/jIyTqg=
X-Google-Smtp-Source: AGHT+IFfR71b5uGC/N7nUJvkV7EEf+q4ZrD/2jbgt4p5+XAZUesJuHroaMR2T6Qu+08oLKK4OIq5Tg==
X-Received: by 2002:a05:6808:1997:b0:3a7:5314:e55e with SMTP id bj23-20020a056808199700b003a75314e55emr14747526oib.24.1691449569767;
        Mon, 07 Aug 2023 16:06:09 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Jonas Bonn <jonas@southpole.se>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 25/31] openrisc: Convert __pte_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:07 -0700
Message-Id: <20230807230513.102486-26-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/openrisc/include/asm/pgalloc.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/openrisc/include/asm/pgalloc.h b/arch/openrisc/include/asm/pgalloc.h
index b7b2b8d16fad..c6a73772a546 100644
--- a/arch/openrisc/include/asm/pgalloc.h
+++ b/arch/openrisc/include/asm/pgalloc.h
@@ -66,10 +66,10 @@ extern inline pgd_t *pgd_alloc(struct mm_struct *mm)
 
 extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
 
-#define __pte_free_tlb(tlb, pte, addr)	\
-do {					\
-	pgtable_pte_page_dtor(pte);	\
-	tlb_remove_page((tlb), (pte));	\
+#define __pte_free_tlb(tlb, pte, addr)				\
+do {								\
+	pagetable_pte_dtor(page_ptdesc(pte));			\
+	tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));	\
 } while (0)
 
 #endif
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579061.906988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9KB-0005gW-Ec; Mon, 07 Aug 2023 23:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579061.906988; Mon, 07 Aug 2023 23:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9KA-0005bZ-SD; Mon, 07 Aug 2023 23:07:42 +0000
Received: by outflank-mailman (input) for mailman id 579061;
 Mon, 07 Aug 2023 23:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ir-0001NS-Ae
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:21 +0000
Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com
 [2607:f8b0:4864:20::1134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04a379a9-3577-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:19 +0200 (CEST)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-5839f38342fso54971387b3.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:19 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: 04a379a9-3577-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449578; x=1692054378;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yb5+fiX/YSPgeVruPImZCslC+7XzLtSDmAZ+KnCCvCw=;
        b=LURal4KqklmU9AiCOifU5Mxc6WM+IybZMw4f+H9b+ehsvWfF2rdEGUCUpHED/xgeP0
         03+is7BherE6vDUPF9cInwhZZ6O6FVEP73Sri7+CBG0/7jN64G4bgtBq56ZrcLUBIxxT
         uSfx8fFqjmiqF0MtkULVgc1gjFJH4lOvkwRfZt9wzMVRnizjKRrxJwuFQ2mIfEo7cHgy
         UR2ZIO+mIWR9RWU4d+HJedZnPKiZaDv8i4STB2D6+pQaLcMt/pvWXKdhAwPxBTPHyGDc
         YUL8XwwyvOUHrQNxNKfZS8WVqZrgPXs80ZLFz3I7kRgWNiGS07HTyMzLuT9V1dLH0d1v
         g2Pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449578; x=1692054378;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Yb5+fiX/YSPgeVruPImZCslC+7XzLtSDmAZ+KnCCvCw=;
        b=AslJ7ICD1SFZiw/MaPHqUMQCo/J5NbmNTE/BsLH1ULShe66do6VU2cvAH/YeyOZRI/
         k8E+Hdw+kLRrK65BN+7BrTWKVZOEqBLB8VYxZQUJwq1Qw+QakyS30lJXk8DPp23nDM5/
         BwmDZ1KhES+eJZHidjeaeZHYaD+p9wvWWFF27ZYEoGRjtyxmc/oXoiqeQc6a+baGvSr8
         cj1CQokSax025yF0fyItJGLTZZ2/ZgczQt2Ef2vyWFkVh2OMl3v4P+7mlxboWagf1le6
         g/YbKAXHJaMcb2JwvewC+Hqrg0l37JvTu/b1rNOzcQzlaiwXkqaJAwbhgvMISDBG7b2N
         YaVw==
X-Gm-Message-State: AOJu0YzMDua5m/R9ge30S5Cp155XqewOadT8JEGQtjXoGbxCdeg2Wkj2
	Kz+Fn8fJFT2Kst1W/ZGxuK8=
X-Google-Smtp-Source: AGHT+IHSK0JHQfLZYNqZB3BuP0bNBVURutz2ITpQB4n2EhlNMl4NfRND8wevRJ4hRdMY0+rsbG2z6w==
X-Received: by 2002:a25:ac04:0:b0:d0a:8269:e5d9 with SMTP id w4-20020a25ac04000000b00d0a8269e5d9mr9659872ybi.60.1691449578542;
        Mon, 07 Aug 2023 16:06:18 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 29/31] sparc: Convert pgtable_pte_page_{ctor, dtor}() to ptdesc equivalents
Date: Mon,  7 Aug 2023 16:05:11 -0700
Message-Id: <20230807230513.102486-30-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable pte constructor/destructors with
ptdesc equivalents.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/sparc/mm/srmmu.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
index 13f027afc875..8393faa3e596 100644
--- a/arch/sparc/mm/srmmu.c
+++ b/arch/sparc/mm/srmmu.c
@@ -355,7 +355,8 @@ pgtable_t pte_alloc_one(struct mm_struct *mm)
 		return NULL;
 	page = pfn_to_page(__nocache_pa((unsigned long)ptep) >> PAGE_SHIFT);
 	spin_lock(&mm->page_table_lock);
-	if (page_ref_inc_return(page) == 2 && !pgtable_pte_page_ctor(page)) {
+	if (page_ref_inc_return(page) == 2 &&
+			!pagetable_pte_ctor(page_ptdesc(page))) {
 		page_ref_dec(page);
 		ptep = NULL;
 	}
@@ -371,7 +372,7 @@ void pte_free(struct mm_struct *mm, pgtable_t ptep)
 	page = pfn_to_page(__nocache_pa((unsigned long)ptep) >> PAGE_SHIFT);
 	spin_lock(&mm->page_table_lock);
 	if (page_ref_dec_return(page) == 1)
-		pgtable_pte_page_dtor(page);
+		pagetable_pte_dtor(page_ptdesc(page));
 	spin_unlock(&mm->page_table_lock);
 
 	srmmu_free_nocache(ptep, SRMMU_PTE_TABLE_SIZE);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579065.906997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9KC-0005yL-Lc; Mon, 07 Aug 2023 23:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579065.906997; Mon, 07 Aug 2023 23: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 1qT9KB-0005su-PF; Mon, 07 Aug 2023 23:07:43 +0000
Received: by outflank-mailman (input) for mailman id 579065;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IY-0001NS-LO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:02 +0000
Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com
 [2607:f8b0:4864:20::b29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7b3131f-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:58 +0200 (CEST)
Received: by mail-yb1-xb29.google.com with SMTP id
 3f1490d57ef6-d35a9d7a5bdso5116782276.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:57 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:05:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7b3131f-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449557; x=1692054357;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H/qh+9u1BcCIl2V5thva5G2rletbRXaxfcBgzJGGgXU=;
        b=pCbA+UxrLZ96Iu/LappjpSZmLEozYOYmdO5RTxaM7BlCH20e3MEhp3Bn4lGiK7HrnF
         zI5vTymTyexPs2fEWKMf3YOixGPBtUiqT1+gX7fLWBa+Q9gs2M2cYtqmojJG+cqpxy8a
         yiuXYP2euWfRpeTnK/Ph7t69G3h70UOk68zLodvepBaU3Ub4ZFK2KFzJhB7TlCbjRGdX
         ie8hnx40ZzCuPRz3xDX8QGC9rAdvd3I0ubBMPCct9yJ64tgNkqrnZ4vxqqMZLVPIiaaP
         rYqmFrrQlxG0A3en5YH5Vcd7HyjhL8swCun/14090vxoeSz0eujRX7UW9eNuwqOQts53
         n0Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449557; x=1692054357;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H/qh+9u1BcCIl2V5thva5G2rletbRXaxfcBgzJGGgXU=;
        b=isQv0ST8QJIR/y1fc+4g3NwBYRutjFValFahP3cWKOvQdPCmPLZmhtIqJT3bSwmy9V
         Lyw27sSE4i/YNcRfNfyrdPZ+czb4KsukCEgRoc+Pg4gw+Ti/ocqYjvI2pfsHTWJUaB+S
         zjoLzCQ7wv9XJILTcpsm7Syp4fN6rMKaC8BkQ8VgzjEYiWy9zpUj4r8YywpAmZrx08Mr
         xtND04eFZxVgfXNpjRdrg7qRGiCSDj4nO+dXLRpdV+4qCOy+RgvnIhGY0qbckEGhvluG
         4i4eMHsL2tznW4t6ZNqhqNVUgYwkEaSBDLJ7GbbmsgBna6QUTIQH5ESpL834es9d83KM
         /Sjw==
X-Gm-Message-State: AOJu0YzhLYcSE9B+pJgLlUWUOlYiQ7Wy3kQrdgkBMctrliYRSNKOZaVZ
	9V/B3kI8824yZJv/IX6c9lg=
X-Google-Smtp-Source: AGHT+IGb7qTBQz9qcaNa56xxCbdxPZmnKDiha96eaUPQlL4XzY5YUB1UJSqCKxKHPrzOS/VVDboJfg==
X-Received: by 2002:a05:6902:4c4:b0:d0f:65db:dc0e with SMTP id v4-20020a05690204c400b00d0f65dbdc0emr10052463ybs.39.1691449556886;
        Mon, 07 Aug 2023 16:05:56 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Guo Ren <guoren@kernel.org>,
	Mike Rapoport <rppt@kernel.org>
Subject: [PATCH mm-unstable v9 19/31] csky: Convert __pte_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:01 -0700
Message-Id: <20230807230513.102486-20-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Acked-by: Guo Ren <guoren@kernel.org>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/csky/include/asm/pgalloc.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/csky/include/asm/pgalloc.h b/arch/csky/include/asm/pgalloc.h
index 7d57e5da0914..9c84c9012e53 100644
--- a/arch/csky/include/asm/pgalloc.h
+++ b/arch/csky/include/asm/pgalloc.h
@@ -63,8 +63,8 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 
 #define __pte_free_tlb(tlb, pte, address)		\
 do {							\
-	pgtable_pte_page_dtor(pte);			\
-	tlb_remove_page(tlb, pte);			\
+	pagetable_pte_dtor(page_ptdesc(pte));		\
+	tlb_remove_page_ptdesc(tlb, page_ptdesc(pte));	\
 } while (0)
 
 extern void pagetable_init(void);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579070.907007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9KG-0006o1-8N; Mon, 07 Aug 2023 23:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579070.907007; Mon, 07 Aug 2023 23: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 1qT9KF-0006k3-5d; Mon, 07 Aug 2023 23:07:47 +0000
Received: by outflank-mailman (input) for mailman id 579070;
 Mon, 07 Aug 2023 23: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=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9Ih-0001NS-1U
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:06:11 +0000
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com
 [2607:f8b0:4864:20::b2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdf436fe-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:06:08 +0200 (CEST)
Received: by mail-yb1-xb2d.google.com with SMTP id
 3f1490d57ef6-d43930354bcso2766695276.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:06:08 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.06.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:06: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: fdf436fe-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449567; x=1692054367;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ke0Z6VjA86Q0iJYCAtHmQzMGt2iXqJZdkl8QiQF9dCo=;
        b=W+7e7ZXA6pq6bkOdiU4kqXMdaRoaFiJYq1YjNheTen2BEAKrJsHyDCwylC8TwIaELf
         OoOeKnKEm2Bup1E3lQkfzBFhNx4UEQeZdbP6gFS8EtHNx1s6wSSR8pJNy131BEuCYsID
         5yHclRtlDqB0YUpxc8mp/j3duvqB/kcSwVKs7titgSAxTd3bahGpDvqB1s5BR/l1Q8b5
         JJTz17F1sukT0v2fD4c6TeVfoKxL+4R8ZKOAgjggAvDHXskwAwGz/9+hK5mkw3BMis+2
         8wcIPPvCrUvFi8Oxcy9SzYIpq7haNxXeYlICDRNRlufgVcr5TYo9K2btnO8SAcdlpPvp
         77sA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449567; x=1692054367;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Ke0Z6VjA86Q0iJYCAtHmQzMGt2iXqJZdkl8QiQF9dCo=;
        b=LsRmHtWnucY7nVj/YEaJyuLZ6Nf0n3OsVS+00kWxPpAb6HbhdCOUwuCANGACw7fJoG
         shkV2a9mgYgyW8QZqhC/Cdp+ZU9KbDfrddqUUnQRaxyEUuwQEl2sNigmC8j2znIUTPkz
         myM+z0s57V6AfYNazBN3XntgGVZ/iJo+jM8tMdRjDmNyYcvFUZN0PI1zL7fK6OM0BVv9
         jW2He2901b56iYgsYzoJXZr6V8LHCbpKzk115sWdKhFSxPLWkkHM/dmvw/KIJhkl9YBe
         c1LyjgFtSKMKJynmkNuh8yF6zmqkD/jNMBwI0to07uCx3PdQeENleyzbS7ZQVsMug/B5
         s4xw==
X-Gm-Message-State: AOJu0YyKnip9/f/iicDQHEXPjAzjvahDrcPlt40LuY/QfAoKLHiKqd6V
	s0/ZnY/r8Fs6TfJsiaLeFLI=
X-Google-Smtp-Source: AGHT+IEFwZzf7hWzCaDcJ0rf5o011LKpXcZZ+QgyAwbXtivToV2K1Z3qkIAZZunAX4r/XJQivv3Vpw==
X-Received: by 2002:a25:29c2:0:b0:d4c:f456:d562 with SMTP id p185-20020a2529c2000000b00d4cf456d562mr4842541ybp.1.1691449567341;
        Mon, 07 Aug 2023 16:06:07 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>
Subject: [PATCH mm-unstable v9 24/31] nios2: Convert __pte_free_tlb() to use ptdescs
Date: Mon,  7 Aug 2023 16:05:06 -0700
Message-Id: <20230807230513.102486-25-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/nios2/include/asm/pgalloc.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/nios2/include/asm/pgalloc.h b/arch/nios2/include/asm/pgalloc.h
index ecd1657bb2ce..ce6bb8e74271 100644
--- a/arch/nios2/include/asm/pgalloc.h
+++ b/arch/nios2/include/asm/pgalloc.h
@@ -28,10 +28,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
 
 extern pgd_t *pgd_alloc(struct mm_struct *mm);
 
-#define __pte_free_tlb(tlb, pte, addr)				\
-	do {							\
-		pgtable_pte_page_dtor(pte);			\
-		tlb_remove_page((tlb), (pte));			\
+#define __pte_free_tlb(tlb, pte, addr)					\
+	do {								\
+		pagetable_pte_dtor(page_ptdesc(pte));			\
+		tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));	\
 	} while (0)
 
 #endif /* _ASM_NIOS2_PGALLOC_H */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:07:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579074.907016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9KI-0007Qn-NJ; Mon, 07 Aug 2023 23:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579074.907016; Mon, 07 Aug 2023 23: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 1qT9KI-0007Pb-A9; Mon, 07 Aug 2023 23:07:50 +0000
Received: by outflank-mailman (input) for mailman id 579074;
 Mon, 07 Aug 2023 23:07:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnMB=DY=gmail.com=vishal.moola@srs-se1.protection.inumbo.net>)
 id 1qT9IU-0001NS-Kk
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:05:58 +0000
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com
 [2607:f8b0:4864:20::b2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f66c3f2f-3576-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:05:55 +0200 (CEST)
Received: by mail-yb1-xb2d.google.com with SMTP id
 3f1490d57ef6-d593a63e249so512409276.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:05:55 -0700 (PDT)
Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::16])
 by smtp.googlemail.com with ESMTPSA id
 d190-20020a25cdc7000000b00d3596aca5bcsm2545203ybf.34.2023.08.07.16.05.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16: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: f66c3f2f-3576-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691449554; x=1692054354;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d6BZos7Ybf69Lr9ubs2a6Azcthgsxnr+LK2TqOKvMHI=;
        b=p8G6Pt9QZsVgDIw5B0YZsM1HO9y9fkrb/cw0HZOe9s94xOMFlEATGdftneo/KGkdaX
         TwSO+l67/znn0WvrOrRHHntMUuj9nNFXoTE85WKOjzGwb94eB3i84/XFPlTd02w2CLrJ
         DwESQ9jUYWS2DSwjhw7JNYWMJXOT94ZS609EVQWWoXQdRFNt0hhd7LN+kuo1QQmNKeS0
         XHBIPjPF8dy/T4snUiw6ibSJ1ZirvD/sPtDvke5ir6zweBiFnq3ooQs72HZNE6w+OGww
         eTDTJaym+WVQphZfxFF+BeQU7jP4VlgJoz6RKQntFEtdMFIN0fhGKatr4Jikr9avLVk6
         gEYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691449554; x=1692054354;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=d6BZos7Ybf69Lr9ubs2a6Azcthgsxnr+LK2TqOKvMHI=;
        b=HYMxFa4XzXiGoku87OZZKfgD8cPbz85rg7H0WztUHJgSEh6zScWaDlVOC9NUoy5Oe4
         2YIU85YwXhBrN7VwS+ezXL8JdJRR+NRz5lwdTniSBLD9fn9GlCNyjdw1abHDXMe1VOpZ
         LONJuMxYGSIg4Zhx3m6t+jwzNmASdGCYfc50UA2DHOpKB0u7N/baAL87UGhqAtn/wmk7
         PtOj2PvaV2KtK3+RSjLDDMOHych/a/RNfxp4oa+9F9HgbwHKV1v3Do80oudE2Ty/WWFP
         VB7W0BySxAqBQA3hNg0BAeTOjHEt3rcnzNPyMZAe6UcyL4poV4dQ4OfXkvM2PsRpFceM
         AAhg==
X-Gm-Message-State: AOJu0YxRhjGkRc5ZnVp5j5waxYWmNwGKJAWDK8xMGF5xjMTGINGxgDDm
	9fsJrdX6f3V0qQ+1EV00AaY=
X-Google-Smtp-Source: AGHT+IHnEVFzuxaIlZevFxX1u5N6TSfYAnl0Ngd19zcPS1yyZn6+F2gzJTtnG1yf2qQFJp4HGPdIaw==
X-Received: by 2002:a25:aea5:0:b0:d0b:fe82:8b99 with SMTP id b37-20020a25aea5000000b00d0bfe828b99mr10007354ybj.44.1691449554679;
        Mon, 07 Aug 2023 16:05:54 -0700 (PDT)
From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org,
	linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-openrisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	"Vishal Moola (Oracle)" <vishal.moola@gmail.com>,
	Mike Rapoport <rppt@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Subject: [PATCH mm-unstable v9 18/31] arm64: Convert various functions to use ptdescs
Date: Mon,  7 Aug 2023 16:05:00 -0700
Message-Id: <20230807230513.102486-19-vishal.moola@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230807230513.102486-1-vishal.moola@gmail.com>
References: <20230807230513.102486-1-vishal.moola@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.

Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
 arch/arm64/include/asm/tlb.h | 14 ++++++++------
 arch/arm64/mm/mmu.c          |  7 ++++---
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h
index c995d1f4594f..2c29239d05c3 100644
--- a/arch/arm64/include/asm/tlb.h
+++ b/arch/arm64/include/asm/tlb.h
@@ -75,18 +75,20 @@ static inline void tlb_flush(struct mmu_gather *tlb)
 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
 				  unsigned long addr)
 {
-	pgtable_pte_page_dtor(pte);
-	tlb_remove_table(tlb, pte);
+	struct ptdesc *ptdesc = page_ptdesc(pte);
+
+	pagetable_pte_dtor(ptdesc);
+	tlb_remove_ptdesc(tlb, ptdesc);
 }
 
 #if CONFIG_PGTABLE_LEVELS > 2
 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
 				  unsigned long addr)
 {
-	struct page *page = virt_to_page(pmdp);
+	struct ptdesc *ptdesc = virt_to_ptdesc(pmdp);
 
-	pgtable_pmd_page_dtor(page);
-	tlb_remove_table(tlb, page);
+	pagetable_pmd_dtor(ptdesc);
+	tlb_remove_ptdesc(tlb, ptdesc);
 }
 #endif
 
@@ -94,7 +96,7 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp,
 				  unsigned long addr)
 {
-	tlb_remove_table(tlb, virt_to_page(pudp));
+	tlb_remove_ptdesc(tlb, virt_to_ptdesc(pudp));
 }
 #endif
 
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 95d360805f8a..47781bec6171 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -426,6 +426,7 @@ static phys_addr_t __pgd_pgtable_alloc(int shift)
 static phys_addr_t pgd_pgtable_alloc(int shift)
 {
 	phys_addr_t pa = __pgd_pgtable_alloc(shift);
+	struct ptdesc *ptdesc = page_ptdesc(phys_to_page(pa));
 
 	/*
 	 * Call proper page table ctor in case later we need to
@@ -433,12 +434,12 @@ static phys_addr_t pgd_pgtable_alloc(int shift)
 	 * this pre-allocated page table.
 	 *
 	 * We don't select ARCH_ENABLE_SPLIT_PMD_PTLOCK if pmd is
-	 * folded, and if so pgtable_pmd_page_ctor() becomes nop.
+	 * folded, and if so pagetable_pte_ctor() becomes nop.
 	 */
 	if (shift == PAGE_SHIFT)
-		BUG_ON(!pgtable_pte_page_ctor(phys_to_page(pa)));
+		BUG_ON(!pagetable_pte_ctor(ptdesc));
 	else if (shift == PMD_SHIFT)
-		BUG_ON(!pgtable_pmd_page_ctor(phys_to_page(pa)));
+		BUG_ON(!pagetable_pmd_ctor(ptdesc));
 
 	return pa;
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:29:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579175.907033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9eh-0004lQ-Aa; Mon, 07 Aug 2023 23:28:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579175.907033; Mon, 07 Aug 2023 23:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qT9eh-0004lJ-6P; Mon, 07 Aug 2023 23:28:55 +0000
Received: by outflank-mailman (input) for mailman id 579175;
 Mon, 07 Aug 2023 23:28: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=wJHS=DY=fromorbit.com=david@srs-se1.protection.inumbo.net>)
 id 1qT9eg-0004lD-IO
 for xen-devel@lists.xenproject.org; Mon, 07 Aug 2023 23:28:54 +0000
Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com
 [2607:f8b0:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29722fc7-357a-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 01:28:50 +0200 (CEST)
Received: by mail-pf1-x42b.google.com with SMTP id
 d2e1a72fcca58-6874d1c8610so3598397b3a.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 16:28:50 -0700 (PDT)
Received: from dread.disaster.area (pa49-180-166-213.pa.nsw.optusnet.com.au.
 [49.180.166.213]) by smtp.gmail.com with ESMTPSA id
 e18-20020aa78c52000000b0068620bee456sm6663729pfd.209.2023.08.07.16.28.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 16:28:47 -0700 (PDT)
Received: from dave by dread.disaster.area with local (Exim 4.96)
 (envelope-from <david@fromorbit.com>) id 1qT9eW-002TeM-1d;
 Tue, 08 Aug 2023 09:28:44 +1000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29722fc7-357a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=fromorbit-com.20221208.gappssmtp.com; s=20221208; t=1691450928; x=1692055728;
        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=0xqamAux0UTVG6klbJHwJNM84FqVsjBhqmY+h06Y7S4=;
        b=adlg0mZ+HbNffKaKec2p7cVEI4EUlpFfVSVpmG5fvHzHnQEOdBYZjEy4QnkJtTu7lu
         YmN6EGaH1vJkJ2ZOmqiBcV/yaN6Y4JVna47CjKD7nPXpOiMzYNw9UySGma80pWoaj7Dk
         jUxXtUXqouB4bUXn3WeUBdMeMQNzv8NtKVfvER+m7KEKe99ZrQWUTG4Y9TUCDw4Kbcew
         TFF8/aAopaaIk2YO3rVVNpTSZmvFLss5lfJ8bn13k+LTkCPg51SMuEfV97r2Zvr+7s3C
         AcdJXj3qJcnQFWBnyvELMIWQLaBKzEk7yCwrvdFLv4Z0y5aFUIdjan9j2uUGZT7xZ3GX
         Ib8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691450928; x=1692055728;
        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=0xqamAux0UTVG6klbJHwJNM84FqVsjBhqmY+h06Y7S4=;
        b=hIbGiV/uBU2CpqN3+ZpRx/fkIxo8ZvMsN5jTLsUhRCwF06P5iypftFJZG8dzZETvbZ
         TAKrsslkxePnm7wE7D+pZzd3weIxr/Pz63RV9pbxim3s2bkdiFAytnB8f5l2Dj0ZdD8m
         icSFqB7d0/DdXLYc11Jfrsh7mon3YcQvVm+O8bG7vtwb+DYWke7Ck2Q25IHMefMnxN5+
         FyCJK4aAKQJjVplHoZic83tSB0q5WZ0rgyE0oEHesgaysmHtZ02J6pfatCNewF60+WB/
         gqc8Sa3tTwLaXiJBR54TPecExGQObR9CgE2qx/ixAjroq1mSPGF9ZBkJO6rzWxwO9q3H
         c4Ig==
X-Gm-Message-State: AOJu0Yx85Phc7YRLWaKWfdt2skc/xSOrd+zydIfdrol83pRaPBSaDpW8
	iuJuBYTx/hhB4RFrPzWV+HYGvw==
X-Google-Smtp-Source: AGHT+IHWcHOenJQfOaWa9c7YDyMdy3l3j1H0rEzsEcwqog5HJ9HhPve3KCBNDXb4QQT+YEAg/cljWw==
X-Received: by 2002:a05:6a20:8e04:b0:13c:8e50:34b8 with SMTP id y4-20020a056a208e0400b0013c8e5034b8mr12892217pzj.35.1691450928413;
        Mon, 07 Aug 2023 16:28:48 -0700 (PDT)
Date: Tue, 8 Aug 2023 09:28:44 +1000
From: Dave Chinner <david@fromorbit.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
	roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
	paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
	gregkh@linuxfoundation.org, muchun.song@linux.dev,
	simon.horman@corigine.com, dlemoal@kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org, netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com, linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless
Message-ID: <ZNF+LLUpKWHDEG1u@dread.disaster.area>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-46-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230807110936.21819-46-zhengqi.arch@bytedance.com>

On Mon, Aug 07, 2023 at 07:09:33PM +0800, Qi Zheng wrote:
> The shrinker_rwsem is a global read-write lock in shrinkers subsystem,
> which protects most operations such as slab shrink, registration and
> unregistration of shrinkers, etc. This can easily cause problems in the
> following cases.
....
> This commit uses the refcount+RCU method [5] proposed by Dave Chinner
> to re-implement the lockless global slab shrink. The memcg slab shrink is
> handled in the subsequent patch.
....
> ---
>  include/linux/shrinker.h | 17 ++++++++++
>  mm/shrinker.c            | 70 +++++++++++++++++++++++++++++-----------
>  2 files changed, 68 insertions(+), 19 deletions(-)

There's no documentation in the code explaining how the lockless
shrinker algorithm works. It's left to the reader to work out how
this all goes together....

> diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
> index eb342994675a..f06225f18531 100644
> --- a/include/linux/shrinker.h
> +++ b/include/linux/shrinker.h
> @@ -4,6 +4,8 @@
>  
>  #include <linux/atomic.h>
>  #include <linux/types.h>
> +#include <linux/refcount.h>
> +#include <linux/completion.h>
>  
>  #define SHRINKER_UNIT_BITS	BITS_PER_LONG
>  
> @@ -87,6 +89,10 @@ struct shrinker {
>  	int seeks;	/* seeks to recreate an obj */
>  	unsigned flags;
>  
> +	refcount_t refcount;
> +	struct completion done;
> +	struct rcu_head rcu;

What does the refcount protect, why do we need the completion, etc?

> +
>  	void *private_data;
>  
>  	/* These are for internal use */
> @@ -120,6 +126,17 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
>  void shrinker_register(struct shrinker *shrinker);
>  void shrinker_free(struct shrinker *shrinker);
>  
> +static inline bool shrinker_try_get(struct shrinker *shrinker)
> +{
> +	return refcount_inc_not_zero(&shrinker->refcount);
> +}
> +
> +static inline void shrinker_put(struct shrinker *shrinker)
> +{
> +	if (refcount_dec_and_test(&shrinker->refcount))
> +		complete(&shrinker->done);
> +}
> +
>  #ifdef CONFIG_SHRINKER_DEBUG
>  extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
>  						  const char *fmt, ...);
> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index 1911c06b8af5..d318f5621862 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -2,6 +2,7 @@
>  #include <linux/memcontrol.h>
>  #include <linux/rwsem.h>
>  #include <linux/shrinker.h>
> +#include <linux/rculist.h>
>  #include <trace/events/vmscan.h>
>  
>  #include "internal.h"
> @@ -577,33 +578,42 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
>  	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
>  		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
>  
> -	if (!down_read_trylock(&shrinker_rwsem))
> -		goto out;
> -
> -	list_for_each_entry(shrinker, &shrinker_list, list) {
> +	rcu_read_lock();
> +	list_for_each_entry_rcu(shrinker, &shrinker_list, list) {
>  		struct shrink_control sc = {
>  			.gfp_mask = gfp_mask,
>  			.nid = nid,
>  			.memcg = memcg,
>  		};
>  
> +		if (!shrinker_try_get(shrinker))
> +			continue;
> +
> +		/*
> +		 * We can safely unlock the RCU lock here since we already
> +		 * hold the refcount of the shrinker.
> +		 */
> +		rcu_read_unlock();
> +
>  		ret = do_shrink_slab(&sc, shrinker, priority);
>  		if (ret == SHRINK_EMPTY)
>  			ret = 0;
>  		freed += ret;
> +
>  		/*
> -		 * Bail out if someone want to register a new shrinker to
> -		 * prevent the registration from being stalled for long periods
> -		 * by parallel ongoing shrinking.
> +		 * This shrinker may be deleted from shrinker_list and freed
> +		 * after the shrinker_put() below, but this shrinker is still
> +		 * used for the next traversal. So it is necessary to hold the
> +		 * RCU lock first to prevent this shrinker from being freed,
> +		 * which also ensures that the next shrinker that is traversed
> +		 * will not be freed (even if it is deleted from shrinker_list
> +		 * at the same time).
>  		 */

This comment really should be at the head of the function,
describing the algorithm used within the function itself. i.e. how
reference counts are used w.r.t. the rcu_read_lock() usage to
guarantee existence of the shrinker and the validity of the list
walk.

I'm not going to remember all these little details when I look at
this code in another 6 months time, and having to work it out from
first principles every time I look at the code will waste of a lot
of time...

-Dave.
-- 
Dave Chinner
david@fromorbit.com


From xen-devel-bounces@lists.xenproject.org Mon Aug 07 23:59:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 Aug 2023 23:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579180.907042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTA8U-0008Nj-Kw; Mon, 07 Aug 2023 23:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579180.907042; Mon, 07 Aug 2023 23: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 1qTA8U-0008Nc-Hs; Mon, 07 Aug 2023 23:59:42 +0000
Received: by outflank-mailman (input) for mailman id 579180;
 Mon, 07 Aug 2023 23:59:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTA8T-0008NS-DS; Mon, 07 Aug 2023 23:59:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTA8T-00070H-2N; Mon, 07 Aug 2023 23:59:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTA8S-0005Vw-J3; Mon, 07 Aug 2023 23:59:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTA8S-0007C6-IZ; Mon, 07 Aug 2023 23:59:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WeK3IIWxPXHcqovaDPBs433L0fBoefnfDLJKsF7pLR0=; b=313zJ0ZsFKS9At8nr4q5yHcqk0
	AyssHt1mmS1p8noj+j97wG+dfUVcK8pdEpm7ddzSU5+9B6UqAbKkJzMZO9mGn+naacOizERTScsqG
	2GgTpqEvZBJAmAZDn6bebuxaiWWGedv1HfVmU/WcRvmdS/ktIB+r42A4LV+0cydZ0jrk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182219-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182219: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:host-ping-check-xen:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=52a93d39b17dc7eb98b6aa3edb93943248e03b2f
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 07 Aug 2023 23:59:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 182209 pass in 182219
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail in 182209 pass in 182219
 test-amd64-amd64-xl-qemuu-ovmf-amd64 20 guest-start/debianhvm.repeat fail in 182209 pass in 182219
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail in 182209 pass in 182219
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot           fail pass in 182209
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail pass in 182209
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 182209
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182209
 test-amd64-amd64-xl-qemut-ws16-amd64 18 guest-localmigrate/x10 fail pass in 182209

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

version targeted for testing:
 linux                52a93d39b17dc7eb98b6aa3edb93943248e03b2f
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  113 days
Failing since        180281  2023-04-17 06:24:36 Z  112 days  204 attempts
Testing same since   182209  2023-08-07 01:42:54 Z    0 days    2 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 01:14:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 01:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579189.907053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTBID-0002UC-S0; Tue, 08 Aug 2023 01:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579189.907053; Tue, 08 Aug 2023 01:13:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTBID-0002Tr-Mz; Tue, 08 Aug 2023 01:13:49 +0000
Received: by outflank-mailman (input) for mailman id 579189;
 Tue, 08 Aug 2023 01:13: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=Yxwq=DZ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qTBIB-0002TV-TB
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 01:13:47 +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 d27e87f5-3588-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 03:13:46 +0200 (CEST)
Received: from AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38)
 by AM7PR08MB5431.eurprd08.prod.outlook.com (2603:10a6:20b:10c::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 01:13:05 +0000
Received: from AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e:cafe::53) by AM6P193CA0061.outlook.office365.com
 (2603:10a6:209:8e::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26 via Frontend
 Transport; Tue, 8 Aug 2023 01:13:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT063.mail.protection.outlook.com (100.127.140.221) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.16 via Frontend Transport; Tue, 8 Aug 2023 01:13:04 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Tue, 08 Aug 2023 01:13:04 +0000
Received: from e6699f1ce5be.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 92EED3FB-B4D4-4F28-9AB1-482077DDB106.1; 
 Tue, 08 Aug 2023 01:12:18 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e6699f1ce5be.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 08 Aug 2023 01:12:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM8PR08MB5763.eurprd08.prod.outlook.com (2603:10a6:20b:1d7::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 01:12:17 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 01:12:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d27e87f5-3588-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9hZh/FasuzIaiEaNf3QrEe3BVC9c1xc5yAp1v/YpTVo=;
 b=uVwIQaWmAdkPlSS2/gsH7tCHWy3cXqj2/P6D5E8wHBMSjiJs0Cdll2PKvC+VGeObAu7ihYEXsQG1bVgWFwAWB/KRHRb3hmr9Z6qcc6u3k3OF0J9F3dvMJyx3QHlU0UvrvB9TTPzxM0+4kwFzZCgdI7NmR9Gef26dzZ1CtOps9BI=
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: 881e4134ef41e0c8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cmCLElw2eREJNch7Rj3ZyDY7HI+bF4iWxtiD8b06AM6WT5ZJucgU2flbT4Kpkwdt8ANqiYAiX7HUB/K7Nzzm9Hcfjooka3+lFzwmx/dk4S5qCWzvDBeiak7o+ovpm3tqPSWdoxHUgtFPttb/bblflJ6zobi8oFK00P27d+WlDsHOFURdXEo4gMisdIQaQYfjs+XmrlRRW1YiQKWvaDULq0Mpqay/h0j7sp2ChNnCZujyLsjPRjJSwp5sFDqj6E9P+MWBFBigjCvsVXfR+xBsKwwNHCJVSqOLBRaOgLajhOMGx3CSJBw9b6zDyhh/+j4nVLcDqshGwiBtSkBqlCw+QA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9hZh/FasuzIaiEaNf3QrEe3BVC9c1xc5yAp1v/YpTVo=;
 b=GJP2RJYXapoV3elk+MwsA14iO0awakFQouny8YJa30Cd545q7HxApnInJF/Ag+xVkJ+1LniVYVo5FxhfHwZdIDcHgRSONIppKoZpvEtJoPfK83oUKrCeJ5yu99ZsCN3uWHYXTA8sppCQyqNJHriKJ1ClJVUEWWogZAkjO7SeqddOh9z0/GPSryeMzXQrMmGwyOyjhew8WIYY8EdL3b29mNN5Q4sBP9GdPgnZ82vEnS2PlGLjfLammOKnJhTCYVfa0fRfVUB8DU3x68BsR6CZobKSxazmBGsh7oEONajxQJ3HQuPv/rHxs32i+I+GGDQAeJF2ycz2h1eVQHzbsLk6kg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=9hZh/FasuzIaiEaNf3QrEe3BVC9c1xc5yAp1v/YpTVo=;
 b=uVwIQaWmAdkPlSS2/gsH7tCHWy3cXqj2/P6D5E8wHBMSjiJs0Cdll2PKvC+VGeObAu7ihYEXsQG1bVgWFwAWB/KRHRb3hmr9Z6qcc6u3k3OF0J9F3dvMJyx3QHlU0UvrvB9TTPzxM0+4kwFzZCgdI7NmR9Gef26dzZ1CtOps9BI=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"community.manager@xenproject.org" <community.manager@xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
Thread-Topic: Xen 4.18 release: Reminder about last posting date
Thread-Index: AdnGpQJJnpHQXjHHQ2KSH/TFd+8FbgCv9A+AAAwhZoA=
Date: Tue, 8 Aug 2023 01:12:16 +0000
Message-ID: <5466B9C5-8D63-48F0-B899-DADCFC75F0B2@arm.com>
References:
 <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2308071209470.2127516@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2308071209470.2127516@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM8PR08MB5763:EE_|AM7EUR03FT063:EE_|AM7PR08MB5431:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c9d3faf-5ac1-4692-8cf2-08db97ac9e3f
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:
 1WlPMYUW6VUujME74VJkOgfIk8LNZi8AP48DL8jkBWB5MGCGIWd2vL11vEwzFHQOS/Dvf9N2a8bdC+8kC3nEmxAtB0T/wl/riN3l6c2qYpyEzlc5Jb2Xo2rRbL0d30cy/tcWxHLiY58hZUNX66qV0P7YeD1a3sOohWBin4cnTqEPVq6ZrBiY/5/63yKC/SEge4NzQ44iHiOD7SjP+WNGfxX8AqfwmgQ9Tf2BmIuATfc8pealwmfOtlkrZPzqqHfPWiPjjkGSglyQGNgR8M7bwRwOGS2h0I3JiY4pEyZEoqN9s33LCHzvK6vg9MudUb9K8f9yiHIIdnjXqEPmn87t1DqeSgfzrR/lisYFgBGFIMJixm0BCS19CpUmnznY498tU09olo5wUHU4i0Xa0VVAWwJYrtkAmPcwiRNSdhHMNgtVFOXrAoiD0QMzeNO+ShjltociwSPeQAWpwUGrTDTNh/QkxIgpdIcQJam3bH/0KSOnDCx1Q4Lp5MW73t+6Yht6CQnJPYchtJT7ueZwpopRSALUtiSa8hhBRaRFQh9WhdNniWDcSzJOSzPIxMskXlyTAOXu0grn98gkaT8qbQ/iKwWCTIzV872sCsMbMXHmv/riklfsULa2dIhQvtkr3MfeT9/9aOQOfOf31GwtSWqguJ4R+CpV1wYHycs8kckWY9PCfqKjLzuEqL/mCD18Q/KXsS03vBJwHbYFpGj9sUUrKW7NN2y960SKgQ+sLSGf6j0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(366004)(136003)(346002)(396003)(186006)(90011799007)(1800799003)(90021799007)(451199021)(2616005)(6486002)(45080400002)(122000001)(478600001)(83380400001)(966005)(6512007)(53546011)(26005)(6506007)(66556008)(33656002)(64756008)(66446008)(66476007)(66946007)(91956017)(76116006)(8676002)(41300700001)(316002)(8936002)(2906002)(4326008)(6916009)(71200400001)(36756003)(54906003)(38100700002)(86362001)(38070700005)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <34B40C817654F549BFA8D800209F8C9F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5763
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:
 AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d3f3d493-41c9-4982-a8bf-08db97ac819f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vn8LD+AV03BEIT/F7xSgqicGmYFj2CbTz1vcFGMPCe1+qylsy1jCr5ZP2/ynLUdLnmPycMN7YoLMu14RoFRLFmubn7RJPta3q8fS1p+nQjAX+Sdwvh1Xx1+drxaZ38v+LZ6uO24nGq9FRw9eHfe/i/73ZLtjRmMhELuSr5jJgw+qQd9yJv9QqUurSHoPwJ2H5/xRJu95ytsN/1+M1k4LAD9aRvFkfZ8wLZx4xniZ+Z6P72RkS13SPbGabtA7kwaRfCRszxary58dOOnqCjgU2vSdrukgJ+IZ5PxU1TNXRc11WkvyhthRJAim4olHcjUQ58Og2JFQVXK+DoRRfauq/zgMza+d50ujtqhM/89IB1IzRU/O7I5Cyb9iEVoHxrI6KHV4NSmK/FvjKBjDBERzcFGv90giW5+TTxMgXhG0BmT2nCNyQj6c2CsY6QfplvtOW4RTfTr7RojZuxaMPcZFX4eCrQdimGjuaO+3Efo6nRwc9HPNHTEZJ91FKdlWNpn50b/JaxEN2uQjJp65Dc3q3Yg4sqKsBPkAVGPZP8xIsj2WEMXs14kiHkIbf5tpl0t0Ayjqj0ct0d1GbB8Xy3c1KLpxb/lLRnU8mpTH6HMgrgYk8U+6oawA24PHi5/ZFlK7qld6gmYLQo0zGmN+0w+cfS4XmQ6I4+YJuXasuS6aKkLhqvmCdjREZUCG0fUUD9mDVoGuR1ESLQKnHEd2Pz6lOxxlkxN2rCesyHWVs6ZtlXwL3qPqvgxriiybYNmrWMNYct/md/DVH1lSVNFI5OJmLJLen8mVEWbboKhJeVsXzCuBlmwCN5qylJvw4wUNxim0TMR+NJBFBp0fdlhjXcT1Vg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(90011799007)(451199021)(82310400008)(90021799007)(186006)(1800799003)(40470700004)(36840700001)(46966006)(6862004)(8676002)(8936002)(5660300002)(4326008)(41300700001)(316002)(47076005)(86362001)(83380400001)(40480700001)(40460700003)(2906002)(36860700001)(6512007)(966005)(6486002)(2616005)(6506007)(53546011)(26005)(36756003)(336012)(70586007)(70206006)(356005)(45080400002)(478600001)(81166007)(82740400003)(54906003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 01:13:04.7722
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c9d3faf-5ac1-4692-8cf2-08db97ac9e3f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5431

SGkgU3RlZmFubywNCg0KPiBPbiBBdWcgOCwgMjAyMywgYXQgMDM6MjQsIFN0ZWZhbm8gU3RhYmVs
bGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBPbiBNb24sIDcgQXVn
IDIwMjMsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+PiBIaSBldmVyeW9uZSwNCj4+IA0KPj4gRm9sbG93
aW5nIHRoZSByZWxlYXNlIHNjaGVkdWxlIGRpc2N1c3Npb24gaW4gaW4gQXByaWwsIEkgYW0gc2Vu
ZGluZyB0aGlzIGVtYWlsDQo+PiB0byByZW1pbmQgdGhhdCBhY2NvcmRpbmcgdG8gdGhlIHJlbGVh
c2Ugc2NoZWR1bGUgWzFdLCBBdWd1c3QgMTEgKHRoaXMgRnJpZGF5KQ0KPj4gd2lsbCBiZSB0aGUg
bGFzdCBwb3N0aW5nIGRhdGUsIHdoZW4gcGF0Y2hlcyBhZGRpbmcgbmV3IGZlYXR1cmVzIGFyZSBl
eHBlY3RlZA0KPj4gdG8gYmUgcG9zdGVkIHRvIHRoZSBtYWlsaW5nIGxpc3QgYnkgdGhpcyBkYXRl
Lg0KPj4gDQo+PiBBbHNvLCBub3RlIHRoYXQgd2UgY3VycmVudGx5IGhhdmUgMSByZWxlYXNlIGJs
b2NrZXIgWzJdIHdoaWNoIG1pZ2h0IG5lZWQNCj4+IHNvbWUgYXR0ZW50aW9uLg0KPj4gDQo+PiBb
MV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsL0FTOFBSMDhNQjc5OTE5RjlDRTBC
MkJGODBFNzEwM0ZCNTkyNjA5QEFTOFBSMDhNQjc5OTEuZXVycHJkMDgucHJvZC5vdXRsb29rLmNv
bS8NCj4+IFsyXSBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QveGVuLy0vaXNzdWVzLzEx
NA0KPiANCj4gV2UgaGF2ZSBhbm90aGVyIHJlbGVhc2UgYmxvY2tlciBpbiBteSBvcHRpb246DQo+
IGh0dHBzOi8vbWFyYy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE2ODMxMjQ2ODgwODk3Nw0KPiBodHRw
czovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwmbT0xNjgzMTI2ODc2MTAyODMNCg0KSeKAmXZlIHRh
a2VuIGEgbm90ZSBmb3IgdGhpcywgdGhhbmtzIGZvciB0aGUgcmVtaW5kZXIuDQoNCktpbmQgcmVn
YXJkcywNCkhlbnJ5DQoNCj4gDQo+IEFuZHJldywgd291bGQgeW91IE9LIHdpdGggbWFraW5nIGl0
IGEgcmVsZWFzZSBibG9ja2VyPyBXZSBhbHJlYWR5IGhhdmUgYQ0KPiB0ZW50YXRpdmUgZml4IGZy
b20gSnVsaWVuLg0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 01:36:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 01:36:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579195.907063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTBdm-0004ym-J2; Tue, 08 Aug 2023 01:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579195.907063; Tue, 08 Aug 2023 01:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTBdm-0004ye-Ee; Tue, 08 Aug 2023 01:36:06 +0000
Received: by outflank-mailman (input) for mailman id 579195;
 Tue, 08 Aug 2023 01:36:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTBdk-0004yU-T7; Tue, 08 Aug 2023 01:36: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 1qTBdk-0003Ww-O1; Tue, 08 Aug 2023 01:36: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 1qTBdk-0001nw-9c; Tue, 08 Aug 2023 01:36:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTBdk-0003HS-98; Tue, 08 Aug 2023 01:36:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4Nd4FByL2D5IlDGnd1+R0DW+6VmuB9uC5CzYQInlXhs=; b=dY+pDueD0A2ze3j29KC5DWCZl/
	iSmwPWW1V8pjgtPmayBo2BCI0Hti5j5wDmge3+K8f/sJjzH2PgC9djTgetok8Vy1pfSKQWRnHqUwt
	MbjvQehonOf9d5ZuyNxmXlL+1ksbScXgJf5lKLkhyZCRmj9k1XzlfS0M56XXMFzZGk5U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182224-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182224: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3c274c0d83d5464b336e40058bc5969bfef25f7b
X-Osstest-Versions-That:
    ovmf=2d8c17a9b61ad298986daffe5373026c3b88c741
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 01:36:04 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3c274c0d83d5464b336e40058bc5969bfef25f7b
baseline version:
 ovmf                 2d8c17a9b61ad298986daffe5373026c3b88c741

Last test of basis   182184  2023-08-04 14:44:00 Z    3 days
Testing same since   182224  2023-08-07 23:10:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nate DeSimone <nathaniel.l.desimone@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   2d8c17a9b6..3c274c0d83  3c274c0d83d5464b336e40058bc5969bfef25f7b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:02:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579203.907073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTC2w-0000Hy-GC; Tue, 08 Aug 2023 02:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579203.907073; Tue, 08 Aug 2023 02: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 1qTC2w-0000Hq-DT; Tue, 08 Aug 2023 02:02:06 +0000
Received: by outflank-mailman (input) for mailman id 579203;
 Tue, 08 Aug 2023 02:02: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=Yxwq=DZ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qTC2w-0000Hh-0X
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:02:06 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 905ce88b-358f-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 04:02:02 +0200 (CEST)
Received: from DUZPR01CA0268.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b9::16) by DU0PR08MB8640.eurprd08.prod.outlook.com
 (2603:10a6:10:400::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 02:01:58 +0000
Received: from DBAEUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b9:cafe::d9) by DUZPR01CA0268.outlook.office365.com
 (2603:10a6:10:4b9::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Tue, 8 Aug 2023 02:01:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT044.mail.protection.outlook.com (100.127.142.189) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.16 via Frontend Transport; Tue, 8 Aug 2023 02:01:58 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Tue, 08 Aug 2023 02:01:58 +0000
Received: from f2d9e0b0293b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BEC2FAF1-3579-4520-BE87-45EEB7A2D982.1; 
 Tue, 08 Aug 2023 02:01:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f2d9e0b0293b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 08 Aug 2023 02:01:21 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB9PR08MB9586.eurprd08.prod.outlook.com (2603:10a6:10:454::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 02:01:17 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 02:01:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 905ce88b-358f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVh67N903PEeqgYmoTVepU8+1oMgWaDdvrubCIM5/DY=;
 b=wokl2kC/d9yBW1h76+5n/OrbreOXgyeT/tCQnThJjLBkEZJ9CyUegswE9+OfAgQkeGQS0dnFHF5EGR466WiNpyy1iSuqMmRgI6ZPbDlgnCuXbfrZZqjKwbZ4NNgkFRXNjexJfNuRRSW1e8bctMHDLbKjeZ2/9cfrpS/wJmaREoA=
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: 8f57b506ecfbf673
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cjcT06M2F8jsPISg5M6zYHlM4+/2HZuXozqk8mo9fYXRA+/pEV/5RHEczwZaR1qU0n8oS0yGlubxF3Sne4f8TU8xlhMjRy/inl/+YWecutCzt69xWvEg9LQVuxlO5Aj0uaSIGMI/LBmlI3JNpiuhSOIvca/EKK+GZ1pnvy0dJ5+o9DWA59TUHCZrVrITOEgTUQmBVCnlFhoLuEi0jW0NUXbYM4sfMsxsw+F09Zh1QGm8z+mYwzXwW+OWrFCGu+1YJRLwMTKDSeDhEawuJzQDvSduPMRmBWQ2rbUOcruqZTJLfCvrIMxfEj1HmSZ1trkegotMw9rhJ4SNoLH3uYPeIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kVh67N903PEeqgYmoTVepU8+1oMgWaDdvrubCIM5/DY=;
 b=mejGeM5BzK6YAw9/MgYyfGx76tNLHWUnL/g6kJpmZKrU63sLvI8IOa7WD2fJ6nV8R/HqzJgK83dOHw6khzdd79uP0ZuQtg/joP5BRbi6yjZMlfsBNFWOvVo1vOzaHaOlxE8qET7vZNVYsSeu6XapbhWLrMgAQnjdPvCC9kEwaDGAkHB0x4OvNx3n7ZIyadBIHbqj6y1SHosnnKe1brWkpKC9z3mAoTvlG5VJqlURUdNG9ZvoLyaixDlmezOrr2O2nkDZPNkvbU9rCXGI7LFYWoBciZ1+RzAJI1ZTZRF8GOxWCquSCpiZAI9Xp3PnRXk5SzPhgHDXbeHboo5nhyGknQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=kVh67N903PEeqgYmoTVepU8+1oMgWaDdvrubCIM5/DY=;
 b=wokl2kC/d9yBW1h76+5n/OrbreOXgyeT/tCQnThJjLBkEZJ9CyUegswE9+OfAgQkeGQS0dnFHF5EGR466WiNpyy1iSuqMmRgI6ZPbDlgnCuXbfrZZqjKwbZ4NNgkFRXNjexJfNuRRSW1e8bctMHDLbKjeZ2/9cfrpS/wJmaREoA=
From: Henry Wang <Henry.Wang@arm.com>
To: Ayan Kumar Halder <ayankuma@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>, Wei Chen <Wei.Chen@arm.com>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Julien
 Grall <jgrall@amazon.com>
Subject: Re: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
Thread-Topic: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
Thread-Index: AQHZxCqJmtSfvrOVyE67LM5R2F23xa/e2swAgADVQQA=
Date: Tue, 8 Aug 2023 02:01:17 +0000
Message-ID: <C6C12C0C-317B-4402-A848-515C16548F13@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-3-Henry.Wang@arm.com>
 <d6ef94ff-0477-bc23-fa09-454287bcf19d@amd.com>
In-Reply-To: <d6ef94ff-0477-bc23-fa09-454287bcf19d@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB9PR08MB9586:EE_|DBAEUR03FT044:EE_|DU0PR08MB8640:EE_
X-MS-Office365-Filtering-Correlation-Id: eeec1f96-bf42-4409-124d-08db97b372cc
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:
 GYNlqg8RFi7vlgRs3SzZBG/vOou9sbEEGLgXcPaKkgoeZGklU5zrV7hx/sAUdp50ZYJojcOfqI5YACzeTPXtjgX6VX2TiFq7ZEcg/cjFk+MBBKl6vzsPks2UOEVfoRd9lhTR5VYYDzC6TWNRIOWA2c4OFnWS4hY+72sVucKEfUegiYFFSUxFTOZDLz64Y1uMa3ZMBRru6KpHAuQr+bFdyfyxE3BEevRZpHeI/dXKNsSX9/1QltuNKyT5DVoq2jrHlDYNzJCUX6XCud8nmu02j/EkThGzUFIsg2cvZEauyugJiuD2bRtGPziryzBixWAGKsT5bhQBjVfK9OC95FPBk5R4qFRAF4gqwgDac1WcYx61YnZbfWNcOzXMHR38S919ArrnifHD+QrnQeSksEry6OMnjO6U6P40KlEe2bjmQP4+DL52l7yF6gHaQLHaXl2lsmuLONOx3d2C+uJ/qYOTuQy6VsgQTP42pPVEELI2w6Pc2KICf+JurphO8X7fjCRb2uEJvqPeOIPHBtETK6O/RcAZ9lPwXodjEXQbXI5o4lg0+CkfCLP4R6Hh358MQqzDNACkFiu69HHsTXxesYNcsen4WFAgbxGMIkMCRP2dXpF9N4xEXubkD3dvvHMwvnEBCMOm6UjXVxA/QyZ1zjk9cWbyzBgNy8EAZOH16G/Twuf9B6/kHLx6KONJRHbcMeSguY4w0WOO+Ulx+6ET+Ybg5w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(396003)(346002)(376002)(1800799003)(186006)(90011799007)(90021799007)(451199021)(83380400001)(2616005)(54906003)(2906002)(6916009)(4326008)(316002)(5660300002)(8936002)(38070700005)(8676002)(76116006)(64756008)(66556008)(66476007)(91956017)(66946007)(38100700002)(66446008)(966005)(6512007)(478600001)(33656002)(122000001)(71200400001)(86362001)(6486002)(41300700001)(6506007)(36756003)(26005)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2279DB4368683942AB995E3EA0B189D9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9586
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:
 DBAEUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	585252b5-531b-4be5-063c-08db97b35a49
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bCFZW49IyNcA4ZiEaSKwPUBcIXcTFqFjw3Whyra34bSnWY4KFcI9h+vti7+g2xJFfqfYCKkhQFOb3cp2HbnE2b2LFOrggL9ZiQmOM0zu/Yr7oHGQocn5SI5wXmVjik2EV5EnFvqWYteiNw4vjqliLdzCBVd0nA/48H8iTj2B95Hu62QxsWddoD8lS26eulUteHyUra6mhhoC/klQnMkp7tBUa+erk8ITbIxu57faBTmyfbuIzuzaxjdMF8DFMvAzUGxjMsNHBvhqdwus2f/0gDyCVJZkggXaJqZJCiSVBTUIBGdUlJZpSuXjOJxKzJYb6RwwiFmRQIi/r7wxKlIEpK6OqfpxALa1PRyEfM8q2fV5vxIysMYN7MgBBQBYwkhsvFTZMTPJh0frsPPODdW6mxBAqe28QATnKQGjPu2R+Dz2eUMt8QlaBAET+uq3cGLSbGpGmn6V5QgjDjJOYEbRnN7mt+/xCgtk8fSXxGDZUaBtVHL5UUmlzLfabzKryS13cNYhGMtGIfO9ILxb/rCMb3JSM7CcDIHJHuxwOLmgPAd8aOAneDB9p6lS4udzUwfPTclThtzzKO/d5xepQ6ssXc3ghlBqhi1Rg6gjDkUF9dMQA8s7Y6swd4PWw0PcOa+Zumhin/3YT8ehLp3m9jNrsy431yb9KR4ujWyhUMfO+jGygLGLS4nD4USdisAzo4TsGYv14jjXqAYEb91oOeXPnEgHIGgFgQ+0fMiMJdznfN3jfvMl/vp7pvNU6LrCljZZuxHumu1NCnNmwdfKAOBV2b8T7YnLobp2KA4Qpgr4ZXM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(396003)(39860400002)(82310400008)(90011799007)(186006)(1800799003)(90021799007)(451199021)(46966006)(36840700001)(40470700004)(41300700001)(26005)(107886003)(2906002)(5660300002)(83380400001)(8676002)(36860700001)(47076005)(8936002)(6862004)(40460700003)(2616005)(40480700001)(336012)(81166007)(86362001)(316002)(33656002)(53546011)(82740400003)(6506007)(6486002)(54906003)(356005)(478600001)(70586007)(70206006)(6512007)(966005)(4326008)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 02:01:58.3817
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eeec1f96-bf42-4409-124d-08db97b372cc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8640

Hi Ayan,

> On Aug 7, 2023, at 21:17, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
> Hi Henry,
>=20
> On 01/08/2023 04:44, Henry Wang wrote:
>> CAUTION: This message has originated from an External Source. Please use=
 proper judgment and caution when opening attachments, clicking links, or r=
esponding to this email.
>>=20
>>=20
>> There are two types of memory system architectures available for
>> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
>> and the Protected Memory System Architecture (PMSA). According to
>> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
>> controls address translation, access permissions, and memory attribute
>> determination and checking, for memory accesses made by the PE. And
>> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
>> scheme where an Memory Protection Unit (MPU) manages instruction and
>> data access. Currently, Xen only suuports VMSA.
>>=20
>> As a preparation of the Xen MPU (PMSA) support. Introduce a Kconfig
>> choice under the "Architecture Features" menu for user to choose the
>> memory system architecture for the system. Since currently only VMSA
>> is supported, only add the bool CONFIG_HAS_MMU to keep consistent with
>> the default behavior. User can choose either VMSA or PMSA but not both
>> in the future after PMSA/MPU is supported in Xen.
>>=20
>> Suggested-by: Julien Grall <jgrall@amazon.com>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>=20
> The patch looks good, but it does not cleanly apply
>=20
> b4 mbox 20230801034419.2047541-3-Henry.Wang@arm.com
>=20
> git am ./20230801034419.2047541-3-Henry.Wang@arm.com.mbx
>=20
> Applying: xen/arm: Introduce 'choice' for memory system architecture
> error: xen/arch/arm/Kconfig: does not match index
> Patch failed at 0001 xen/arm: Introduce 'choice' for memory system archit=
ecture

This is weird, so I tried to apply this patch (by clicking the mbox button =
on the top
right of [1]) on top of
65f0d6fc80 x86: Drop opt_pku entirely

and below is what I have:

$ git am ~/v4-02-13-xen-arm-Introduce-choice-for-memory-system-architecture=
.patch
Applying: xen/arm: Introduce 'choice' for memory system architecture

I suspect recently there is some Kconfig changes, so could you please clari=
fy your
base commit? Thanks!

[1] https://patchwork.kernel.org/project/xen-devel/patch/20230801034419.204=
7541-3-Henry.Wang@arm.com/

Kind regards,
Henry

>=20
> - Ayan



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:12:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579210.907083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCCh-0001s8-Gn; Tue, 08 Aug 2023 02:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579210.907083; Tue, 08 Aug 2023 02:12: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 1qTCCh-0001s1-Dx; Tue, 08 Aug 2023 02:12:11 +0000
Received: by outflank-mailman (input) for mailman id 579210;
 Tue, 08 Aug 2023 02:12: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=gqrC=DZ=fromorbit.com=david@srs-se1.protection.inumbo.net>)
 id 1qTCCg-0001rv-Cv
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:12:10 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f948c127-3590-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 04:12:07 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-1bbd03cb7c1so33253145ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 19:12:07 -0700 (PDT)
Received: from dread.disaster.area (pa49-180-166-213.pa.nsw.optusnet.com.au.
 [49.180.166.213]) by smtp.gmail.com with ESMTPSA id
 jv14-20020a17090b31ce00b00263e4dc33aasm9313956pjb.11.2023.08.07.19.12.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 19:12:05 -0700 (PDT)
Received: from dave by dread.disaster.area with local (Exim 4.96)
 (envelope-from <david@fromorbit.com>) id 1qTCCY-002WbH-25;
 Tue, 08 Aug 2023 12:12:02 +1000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f948c127-3590-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=fromorbit-com.20221208.gappssmtp.com; s=20221208; t=1691460726; x=1692065526;
        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=S5nJ90Y7HkcDKRE+pcPu5keZJ+24iVkBC6PdC2b5uJ0=;
        b=AFt/VuazRx0w4Tn1IU2JUHjsvK9//KmKNKOzUsMjyPWc+WauQSv5qCgAlx5y8wlPIL
         hZ4kYEryWxLgRLeYaQj4xKQmbz2+fwGFdpiEnUYFWB8cS1WKDsqaNRvUwjpvdhEE1wqM
         Pa0gWwQ1zRdGeKwMXonsis/5aIvId3dvX65TjmeUK6fHIDfWZQ6NWrHdG0BFjSgBlwHn
         EPCT/fdxzOXvB1URY1V13teKkeQnNqcDN6h4mKjIkvEjRefZqSa/0jDLGkSWo+riYILJ
         5YWVtmGXaJL6ouBig0rvs/QbDa4KngUZ9XItmSUyw062F/G/EjTZcECBZuQiNzd7pFh2
         XSVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691460726; x=1692065526;
        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=S5nJ90Y7HkcDKRE+pcPu5keZJ+24iVkBC6PdC2b5uJ0=;
        b=LBXsuz/GxxqMKGoOTrVObdS/OjVabJnNf/9LOjos+O+7LiXdqlBb6P/v+KrOOghXZ1
         Kq3zGi3Me2Jtc83cBSeX2Fd7M20gFJCCeVKfQPKvxsuDwVC6oUy1fniyhE1swcsxxoCH
         FX7tFRrgRNFFxA8m2orBUF/jJ36BsWogSHS1IQnHyf74+KiSKK+C8XZnm1TB6S2NU3Qe
         /+//TK6zbH3QJTYK206twrisXg84/XQBHy9LZSkqVQhIpmUomXnWlFpMrRwmvCjHctHo
         4pghOsQ61PuNeGS7goiW7DfUFgvmfZmLr3Z3rT/7/3R7PbLhpANveGvKV1hM1qyYfqL3
         qDXw==
X-Gm-Message-State: AOJu0Yzu3ZfmLas3WtTsdZ+w9Bc6wQWxnYmjbq5nMRdo8nEkAVacEHLJ
	Gc7EK7QbWaKQ7JV/cYTswBpFlg==
X-Google-Smtp-Source: AGHT+IHE8FO8RAjHks3Izbxy+yXIAOFeIsxej7SyncoSZwq8TiDh2J09MxtXtA2ffdHhYGJ2WNjVaA==
X-Received: by 2002:a17:90a:ad90:b0:25e:d013:c22c with SMTP id s16-20020a17090aad9000b0025ed013c22cmr8256877pjq.47.1691460726140;
        Mon, 07 Aug 2023 19:12:06 -0700 (PDT)
Date: Tue, 8 Aug 2023 12:12:02 +1000
From: Dave Chinner <david@fromorbit.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
	roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
	paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
	gregkh@linuxfoundation.org, muchun.song@linux.dev,
	simon.horman@corigine.com, dlemoal@kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org, netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com, linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	Muchun Song <songmuchun@bytedance.com>
Subject: Re: [PATCH v4 44/48] mm: shrinker: add a secondary array for
 shrinker_info::{map, nr_deferred}
Message-ID: <ZNGkcp3Dh8hOiFpk@dread.disaster.area>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-45-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230807110936.21819-45-zhengqi.arch@bytedance.com>

On Mon, Aug 07, 2023 at 07:09:32PM +0800, Qi Zheng wrote:
> Currently, we maintain two linear arrays per node per memcg, which are
> shrinker_info::map and shrinker_info::nr_deferred. And we need to resize
> them when the shrinker_nr_max is exceeded, that is, allocate a new array,
> and then copy the old array to the new array, and finally free the old
> array by RCU.
> 
> For shrinker_info::map, we do set_bit() under the RCU lock, so we may set
> the value into the old map which is about to be freed. This may cause the
> value set to be lost. The current solution is not to copy the old map when
> resizing, but to set all the corresponding bits in the new map to 1. This
> solves the data loss problem, but bring the overhead of more pointless
> loops while doing memcg slab shrink.
> 
> For shrinker_info::nr_deferred, we will only modify it under the read lock
> of shrinker_rwsem, so it will not run concurrently with the resizing. But
> after we make memcg slab shrink lockless, there will be the same data loss
> problem as shrinker_info::map, and we can't work around it like the map.
> 
> For such resizable arrays, the most straightforward idea is to change it
> to xarray, like we did for list_lru [1]. We need to do xa_store() in the
> list_lru_add()-->set_shrinker_bit(), but this will cause memory
> allocation, and the list_lru_add() doesn't accept failure. A possible
> solution is to pre-allocate, but the location of pre-allocation is not
> well determined.

So you implemented a two level array that preallocates leaf
nodes to work around it? It's remarkable complex for what it does,
I can't help but think a radix tree using a special holder for
nr_deferred values of zero would end up being simpler...

> Therefore, this commit chooses to introduce a secondary array for
> shrinker_info::{map, nr_deferred}, so that we only need to copy this
> secondary array every time the size is resized. Then even if we get the
> old secondary array under the RCU lock, the found map and nr_deferred are
> also true, so no data is lost.

I don't understand what you are trying to describe here. If we get
the old array, then don't we get either a stale nr_deferred value,
or the update we do gets lost because the next shrinker lookup will
find the new array and os the deferred value stored to the old one
is never seen again?

> 
> [1]. https://lore.kernel.org/all/20220228122126.37293-13-songmuchun@bytedance.com/
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
> ---
.....
> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index a27779ed3798..1911c06b8af5 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -12,15 +12,50 @@ DECLARE_RWSEM(shrinker_rwsem);
>  #ifdef CONFIG_MEMCG
>  static int shrinker_nr_max;
>  
> -/* The shrinker_info is expanded in a batch of BITS_PER_LONG */
> -static inline int shrinker_map_size(int nr_items)
> +static inline int shrinker_unit_size(int nr_items)
>  {
> -	return (DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long));
> +	return (DIV_ROUND_UP(nr_items, SHRINKER_UNIT_BITS) * sizeof(struct shrinker_info_unit *));
>  }
>  
> -static inline int shrinker_defer_size(int nr_items)
> +static inline void shrinker_unit_free(struct shrinker_info *info, int start)
>  {
> -	return (round_up(nr_items, BITS_PER_LONG) * sizeof(atomic_long_t));
> +	struct shrinker_info_unit **unit;
> +	int nr, i;
> +
> +	if (!info)
> +		return;
> +
> +	unit = info->unit;
> +	nr = DIV_ROUND_UP(info->map_nr_max, SHRINKER_UNIT_BITS);
> +
> +	for (i = start; i < nr; i++) {
> +		if (!unit[i])
> +			break;
> +
> +		kvfree(unit[i]);
> +		unit[i] = NULL;
> +	}
> +}
> +
> +static inline int shrinker_unit_alloc(struct shrinker_info *new,
> +				       struct shrinker_info *old, int nid)
> +{
> +	struct shrinker_info_unit *unit;
> +	int nr = DIV_ROUND_UP(new->map_nr_max, SHRINKER_UNIT_BITS);
> +	int start = old ? DIV_ROUND_UP(old->map_nr_max, SHRINKER_UNIT_BITS) : 0;
> +	int i;
> +
> +	for (i = start; i < nr; i++) {
> +		unit = kvzalloc_node(sizeof(*unit), GFP_KERNEL, nid);

A unit is 576 bytes. Why is this using kvzalloc_node()?

> +		if (!unit) {
> +			shrinker_unit_free(new, start);
> +			return -ENOMEM;
> +		}
> +
> +		new->unit[i] = unit;
> +	}
> +
> +	return 0;
>  }
>  
>  void free_shrinker_info(struct mem_cgroup *memcg)
> @@ -32,6 +67,7 @@ void free_shrinker_info(struct mem_cgroup *memcg)
>  	for_each_node(nid) {
>  		pn = memcg->nodeinfo[nid];
>  		info = rcu_dereference_protected(pn->shrinker_info, true);
> +		shrinker_unit_free(info, 0);
>  		kvfree(info);
>  		rcu_assign_pointer(pn->shrinker_info, NULL);
>  	}

Why is this safe? The info and maps are looked up by RCU, so why is
freeing them without a RCU grace period expiring safe?

Yes, it was safe to do this when it was all under a semaphore, but
now the lookup and use is under RCU, so this freeing isn't
serialised against lookups anymore...


> @@ -40,28 +76,27 @@ void free_shrinker_info(struct mem_cgroup *memcg)
>  int alloc_shrinker_info(struct mem_cgroup *memcg)
>  {
>  	struct shrinker_info *info;
> -	int nid, size, ret = 0;
> -	int map_size, defer_size = 0;
> +	int nid, ret = 0;
> +	int array_size = 0;
>  
>  	down_write(&shrinker_rwsem);
> -	map_size = shrinker_map_size(shrinker_nr_max);
> -	defer_size = shrinker_defer_size(shrinker_nr_max);
> -	size = map_size + defer_size;
> +	array_size = shrinker_unit_size(shrinker_nr_max);
>  	for_each_node(nid) {
> -		info = kvzalloc_node(sizeof(*info) + size, GFP_KERNEL, nid);
> -		if (!info) {
> -			free_shrinker_info(memcg);
> -			ret = -ENOMEM;
> -			break;
> -		}
> -		info->nr_deferred = (atomic_long_t *)(info + 1);
> -		info->map = (void *)info->nr_deferred + defer_size;
> +		info = kvzalloc_node(sizeof(*info) + array_size, GFP_KERNEL, nid);
> +		if (!info)
> +			goto err;
>  		info->map_nr_max = shrinker_nr_max;
> +		if (shrinker_unit_alloc(info, NULL, nid))
> +			goto err;

That's going to now do a lot of small memory allocation when we have
lots of shrinkers active....

> @@ -150,17 +175,34 @@ static int expand_shrinker_info(int new_id)
>  	return ret;
>  }
>  
> +static inline int shriner_id_to_index(int shrinker_id)

shrinker_id_to_index

> +{
> +	return shrinker_id / SHRINKER_UNIT_BITS;
> +}
> +
> +static inline int shriner_id_to_offset(int shrinker_id)

shrinker_id_to_offset

> +{
> +	return shrinker_id % SHRINKER_UNIT_BITS;
> +}

....
> @@ -209,26 +251,31 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
>  				   struct mem_cgroup *memcg)
>  {
>  	struct shrinker_info *info;
> +	struct shrinker_info_unit *unit;
>  
>  	info = shrinker_info_protected(memcg, nid);
> -	return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0);
> +	unit = info->unit[shriner_id_to_index(shrinker->id)];
> +	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
>  }
>  
>  static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
>  				  struct mem_cgroup *memcg)
>  {
>  	struct shrinker_info *info;
> +	struct shrinker_info_unit *unit;
>  
>  	info = shrinker_info_protected(memcg, nid);
> -	return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]);
> +	unit = info->unit[shriner_id_to_index(shrinker->id)];
> +	return atomic_long_add_return(nr, &unit->nr_deferred[shriner_id_to_offset(shrinker->id)]);
>  }
>  
>  void reparent_shrinker_deferred(struct mem_cgroup *memcg)
>  {
> -	int i, nid;
> +	int nid, index, offset;
>  	long nr;
>  	struct mem_cgroup *parent;
>  	struct shrinker_info *child_info, *parent_info;
> +	struct shrinker_info_unit *child_unit, *parent_unit;
>  
>  	parent = parent_mem_cgroup(memcg);
>  	if (!parent)
> @@ -239,9 +286,13 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
>  	for_each_node(nid) {
>  		child_info = shrinker_info_protected(memcg, nid);
>  		parent_info = shrinker_info_protected(parent, nid);
> -		for (i = 0; i < child_info->map_nr_max; i++) {
> -			nr = atomic_long_read(&child_info->nr_deferred[i]);
> -			atomic_long_add(nr, &parent_info->nr_deferred[i]);
> +		for (index = 0; index < shriner_id_to_index(child_info->map_nr_max); index++) {
> +			child_unit = child_info->unit[index];
> +			parent_unit = parent_info->unit[index];
> +			for (offset = 0; offset < SHRINKER_UNIT_BITS; offset++) {
> +				nr = atomic_long_read(&child_unit->nr_deferred[offset]);
> +				atomic_long_add(nr, &parent_unit->nr_deferred[offset]);
> +			}
>  		}
>  	}
>  	up_read(&shrinker_rwsem);
> @@ -407,7 +458,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>  {
>  	struct shrinker_info *info;
>  	unsigned long ret, freed = 0;
> -	int i;
> +	int offset, index = 0;
>  
>  	if (!mem_cgroup_online(memcg))
>  		return 0;
> @@ -419,56 +470,63 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>  	if (unlikely(!info))
>  		goto unlock;
>  
> -	for_each_set_bit(i, info->map, info->map_nr_max) {
> -		struct shrink_control sc = {
> -			.gfp_mask = gfp_mask,
> -			.nid = nid,
> -			.memcg = memcg,
> -		};
> -		struct shrinker *shrinker;
> +	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
> +		struct shrinker_info_unit *unit;

This adds another layer of indent to shrink_slab_memcg(). Please
factor it first so that the code ends up being readable. Doing that
first as a separate patch will also make the actual algorithm
changes in this patch be much more obvious - this huge hunk of
diff is pretty much impossible to review...

-Dave.
-- 
Dave Chinner
david@fromorbit.com


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:24:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579215.907093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCOS-0003Pp-ID; Tue, 08 Aug 2023 02:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579215.907093; Tue, 08 Aug 2023 02: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 1qTCOS-0003Pi-EM; Tue, 08 Aug 2023 02:24:20 +0000
Received: by outflank-mailman (input) for mailman id 579215;
 Tue, 08 Aug 2023 02: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=gqrC=DZ=fromorbit.com=david@srs-se1.protection.inumbo.net>)
 id 1qTCOR-0003Pa-Co
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:24:19 +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 aaf9d239-3592-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 04:24:15 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-1b9c5e07c1bso46334815ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 19:24:15 -0700 (PDT)
Received: from dread.disaster.area (pa49-180-166-213.pa.nsw.optusnet.com.au.
 [49.180.166.213]) by smtp.gmail.com with ESMTPSA id
 h17-20020a170902f55100b001b864add154sm7583543plf.154.2023.08.07.19.24.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 19:24:13 -0700 (PDT)
Received: from dave by dread.disaster.area with local (Exim 4.96)
 (envelope-from <david@fromorbit.com>) id 1qTCOH-002Wjl-2u;
 Tue, 08 Aug 2023 12:24:09 +1000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aaf9d239-3592-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=fromorbit-com.20221208.gappssmtp.com; s=20221208; t=1691461454; x=1692066254;
        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=HUGk8Gm4qWKcvYyYW1oMdtOdnxgdWZtLrf0WmvG8aOg=;
        b=E8R/sNcxrOK1IUnWWdPxuHAURfzEKsQXFvPF/8WoYIocyBzrOF6C/15wk0bBTyq8fp
         w+9skh2POsCjChG96SdxCE1ukUJoo7U6iUCJoOHux3qHabiPQt2q8GYhzVnnqh4Ia8gf
         otMrpF/u+4+6GZvnjfH9iZQVLX7oYyO80eB3aSg/65gqSdDxQ6TBQ0eTbg/7hck8CRIR
         N2poqJrxPUv+xHM8+kwldwyyrpY8ClA2gjcNqxK3I6Rjaxj3f+CIGTw2aTNSrwyrBhAC
         fS1NWvmq7XKVFcVROA15iTu7BqzTlMOOgRsfusR61dD9uCRFfNfvH5SixHmdTB0ZZ2at
         NUZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691461454; x=1692066254;
        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=HUGk8Gm4qWKcvYyYW1oMdtOdnxgdWZtLrf0WmvG8aOg=;
        b=JCDEPKy/OxTqIlFSkq0CoxQgeSx4n2rmAemcxLE/xC5G55O5gJ6qew9WIEoN533Sjz
         4vYEvvORlsxQkgurs9pORdraUeAO7qCEDVTftD4WTIq2Zbl8xO8JyeAf4AnUl2kW9Wba
         4SuD2tBi8X3roieTlEPHespJrZ1UpmsnoIur8B5gJIyIQpF5iND/VvII0EKTQg4YVmLp
         wTsNU8BBQmebgxSVeZbBzMBc5LGc1HfBzuhW6S5FUrgv4h1mgYz0hhkQHhS8E+6vFNeK
         ld8e3r7nn12Zbdkion32n30lOWhazpP2ceYlc4kkRAtgGKwt9VPtftzwDVSqnZ8khEpZ
         T6qA==
X-Gm-Message-State: AOJu0YyXTzUAEp7OXOlGC9rVN7IlMZXmSZIdNsg/D0+ePAkTQEoz+gTl
	wRYGjmM/lvZuJmpqqwr+QuKyoQ==
X-Google-Smtp-Source: AGHT+IEzrDGpXyLCXRNBmZGxK80nBmbnZ3Zc29NdEkVzSJ3QNXEJvOFh13D52+77LsVxnWz7HKqTHA==
X-Received: by 2002:a17:902:8692:b0:1b9:d307:c1df with SMTP id g18-20020a170902869200b001b9d307c1dfmr10722096plo.17.1691461453690;
        Mon, 07 Aug 2023 19:24:13 -0700 (PDT)
Date: Tue, 8 Aug 2023 12:24:09 +1000
From: Dave Chinner <david@fromorbit.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
	roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
	paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
	gregkh@linuxfoundation.org, muchun.song@linux.dev,
	simon.horman@corigine.com, dlemoal@kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org, netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com, linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless
Message-ID: <ZNGnSbiPN0lDLpSW@dread.disaster.area>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-46-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230807110936.21819-46-zhengqi.arch@bytedance.com>

On Mon, Aug 07, 2023 at 07:09:33PM +0800, Qi Zheng wrote:
> diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
> index eb342994675a..f06225f18531 100644
> --- a/include/linux/shrinker.h
> +++ b/include/linux/shrinker.h
> @@ -4,6 +4,8 @@
>  
>  #include <linux/atomic.h>
>  #include <linux/types.h>
> +#include <linux/refcount.h>
> +#include <linux/completion.h>
>  
>  #define SHRINKER_UNIT_BITS	BITS_PER_LONG
>  
> @@ -87,6 +89,10 @@ struct shrinker {
>  	int seeks;	/* seeks to recreate an obj */
>  	unsigned flags;
>  
> +	refcount_t refcount;
> +	struct completion done;
> +	struct rcu_head rcu;

Documentation, please. What does the refcount protect, what does the
completion provide, etc.

> +
>  	void *private_data;
>  
>  	/* These are for internal use */
> @@ -120,6 +126,17 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
>  void shrinker_register(struct shrinker *shrinker);
>  void shrinker_free(struct shrinker *shrinker);
>  
> +static inline bool shrinker_try_get(struct shrinker *shrinker)
> +{
> +	return refcount_inc_not_zero(&shrinker->refcount);
> +}
> +
> +static inline void shrinker_put(struct shrinker *shrinker)
> +{
> +	if (refcount_dec_and_test(&shrinker->refcount))
> +		complete(&shrinker->done);
> +}
> +
>  #ifdef CONFIG_SHRINKER_DEBUG
>  extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
>  						  const char *fmt, ...);
> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index 1911c06b8af5..d318f5621862 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -2,6 +2,7 @@
>  #include <linux/memcontrol.h>
>  #include <linux/rwsem.h>
>  #include <linux/shrinker.h>
> +#include <linux/rculist.h>
>  #include <trace/events/vmscan.h>
>  
>  #include "internal.h"
> @@ -577,33 +578,42 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
>  	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
>  		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
>  
> -	if (!down_read_trylock(&shrinker_rwsem))
> -		goto out;
> -
> -	list_for_each_entry(shrinker, &shrinker_list, list) {
> +	rcu_read_lock();
> +	list_for_each_entry_rcu(shrinker, &shrinker_list, list) {
>  		struct shrink_control sc = {
>  			.gfp_mask = gfp_mask,
>  			.nid = nid,
>  			.memcg = memcg,
>  		};
>  
> +		if (!shrinker_try_get(shrinker))
> +			continue;
> +
> +		/*
> +		 * We can safely unlock the RCU lock here since we already
> +		 * hold the refcount of the shrinker.
> +		 */
> +		rcu_read_unlock();
> +
>  		ret = do_shrink_slab(&sc, shrinker, priority);
>  		if (ret == SHRINK_EMPTY)
>  			ret = 0;
>  		freed += ret;
> +
>  		/*
> -		 * Bail out if someone want to register a new shrinker to
> -		 * prevent the registration from being stalled for long periods
> -		 * by parallel ongoing shrinking.
> +		 * This shrinker may be deleted from shrinker_list and freed
> +		 * after the shrinker_put() below, but this shrinker is still
> +		 * used for the next traversal. So it is necessary to hold the
> +		 * RCU lock first to prevent this shrinker from being freed,
> +		 * which also ensures that the next shrinker that is traversed
> +		 * will not be freed (even if it is deleted from shrinker_list
> +		 * at the same time).
>  		 */

This needs to be moved to the head of the function, and document
the whole list walk, get, put and completion parts of the algorithm
that make it safe. There's more to this than "we hold a reference
count", especially the tricky "we might see the shrinker before it
is fully initialised" case....


.....
>  void shrinker_free(struct shrinker *shrinker)
>  {
>  	struct dentry *debugfs_entry = NULL;
> @@ -686,9 +712,18 @@ void shrinker_free(struct shrinker *shrinker)
>  	if (!shrinker)
>  		return;
>  
> +	if (shrinker->flags & SHRINKER_REGISTERED) {
> +		shrinker_put(shrinker);
> +		wait_for_completion(&shrinker->done);
> +	}

Needs a comment explaining why we need to wait here...
> +
>  	down_write(&shrinker_rwsem);
>  	if (shrinker->flags & SHRINKER_REGISTERED) {
> -		list_del(&shrinker->list);
> +		/*
> +		 * Lookups on the shrinker are over and will fail in the future,
> +		 * so we can now remove it from the lists and free it.
> +		 */

.... rather than here after the wait has been done and provided the
guarantee that no shrinker is running or will run again...

-Dave.
-- 
Dave Chinner
david@fromorbit.com


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:24:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579216.907103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCOY-0003fi-Op; Tue, 08 Aug 2023 02:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579216.907103; Tue, 08 Aug 2023 02:24:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCOY-0003fZ-LP; Tue, 08 Aug 2023 02:24:26 +0000
Received: by outflank-mailman (input) for mailman id 579216;
 Tue, 08 Aug 2023 02:24: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 1qTCOX-0003f1-La; Tue, 08 Aug 2023 02:24: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 1qTCOX-00055X-Dz; Tue, 08 Aug 2023 02:24: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 1qTCOW-00053b-Tb; Tue, 08 Aug 2023 02:24:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTCOW-0000Cj-T2; Tue, 08 Aug 2023 02:24:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=etp0bgJ8r++B1jgp7jsvLrBI5+5WmCUVmu03pkfdBlM=; b=1SCRc3Aj0CdUkRhvJCoyUALQYy
	Z7ehrNJg/9X4CBxlM8AvP6kdw3087955axxbnTxHeLAuc8j8fcdZc+zvk/euFhzjTYZbStkc+Cab9
	qcpO1eOnJLquimBDbbFGOz7wk4ow07ClE9BZLjE+E6FlTsQaZeSToC1cyYPIxQMYVuz0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182223-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182223: 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=d3be806dae9c122fe94702cd9fa2e358a60828cd
X-Osstest-Versions-That:
    xen=65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 02:24:24 +0000

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

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                  d3be806dae9c122fe94702cd9fa2e358a60828cd
baseline version:
 xen                  65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898

Last test of basis   182218  2023-08-07 15:00:24 Z    0 days
Testing same since   182223  2023-08-07 23:02:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <stefano.stabellini@amd.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
   65f0d6fc80..d3be806dae  d3be806dae9c122fe94702cd9fa2e358a60828cd -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:28:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579228.907113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCSp-0004au-9f; Tue, 08 Aug 2023 02:28:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579228.907113; Tue, 08 Aug 2023 02:28:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCSp-0004an-6N; Tue, 08 Aug 2023 02:28:51 +0000
Received: by outflank-mailman (input) for mailman id 579228;
 Tue, 08 Aug 2023 02:28:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rehq=DZ=linux.dev=muchun.song@srs-se1.protection.inumbo.net>)
 id 1qTCSn-0004aO-Q3
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:28:50 +0000
Received: from out-64.mta1.migadu.com (out-64.mta1.migadu.com [95.215.58.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4dc898f0-3593-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 04:28: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: 4dc898f0-3593-11ee-b280-6b7b168915f2
Content-Type: text/plain;
	charset=us-ascii
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1691461726;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=b018wDD09q8ybQHeVjJQlHvcOhDGiPGtV/Qkh1+P4Jk=;
	b=qG+f2yssWczIj/c36Dv6lyS9LMH4Qo3IpX5TeG1prf8Sjbf2TndiPspYdq8X2q9u4a0d4+
	mAWwkzbtPW05nR7/h47VG61cI5kT4JFrqpqLlXTjX8sbawq1mwyPUSZYPolnAScsj79wmk
	u8AjZlHRxpLLihMJimmgVrAhX04JcfM=
MIME-Version: 1.0
Subject: Re: [PATCH v4 19/48] rcu: dynamically allocate the rcu-kfree shrinker
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Muchun Song <muchun.song@linux.dev>
In-Reply-To: <20230807110936.21819-20-zhengqi.arch@bytedance.com>
Date: Tue, 8 Aug 2023 10:28:00 +0800
Cc: Andrew Morton <akpm@linux-foundation.org>,
 david@fromorbit.com,
 tkhai@ya.ru,
 Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>,
 "Paul E. McKenney" <paulmck@kernel.org>,
 tytso@mit.edu,
 steven.price@arm.com,
 cel@kernel.org,
 Sergey Senozhatsky <senozhatsky@chromium.org>,
 yujie.liu@intel.com,
 Greg KH <gregkh@linuxfoundation.org>,
 simon.horman@corigine.com,
 dlemoal@kernel.org,
 LKML <linux-kernel@vger.kernel.org>,
 Linux-MM <linux-mm@kvack.org>,
 x86@kernel.org,
 kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org,
 netdev <netdev@vger.kernel.org>,
 dri-devel@lists.freedesktop.org,
 linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com,
 linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org,
 virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org,
 linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org,
 linux-btrfs@vger.kernel.org
Content-Transfer-Encoding: 7bit
Message-Id: <0C2FEFBD-B866-46C4-B684-1FB9A048B899@linux.dev>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-20-zhengqi.arch@bytedance.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
X-Migadu-Flow: FLOW_OUT



> On Aug 7, 2023, at 19:09, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
> 
> Use new APIs to dynamically allocate the rcu-kfree shrinker.
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:31:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579234.907123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTCVW-00064D-QH; Tue, 08 Aug 2023 02:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579234.907123; Tue, 08 Aug 2023 02: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 1qTCVW-000646-NO; Tue, 08 Aug 2023 02:31:38 +0000
Received: by outflank-mailman (input) for mailman id 579234;
 Tue, 08 Aug 2023 02: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=rehq=DZ=linux.dev=muchun.song@srs-se1.protection.inumbo.net>)
 id 1qTCVU-00063t-Or
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:31:36 +0000
Received: from out-75.mta0.migadu.com (out-75.mta0.migadu.com
 [2001:41d0:1004:224b::4b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1b35dbc-3593-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 04:31: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: b1b35dbc-3593-11ee-b280-6b7b168915f2
Content-Type: text/plain;
	charset=us-ascii
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1691461894;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XYMFGUKWQ+g0CyW9GTfXDcuOQANHVM/3Ghb9+ZBk468=;
	b=SxDNqxqUZNnRnBlh2G9KUWvivC/VvwTPU5/lDdc1G8r6XSCULCEnHFJghGF7/AiccY4oHl
	BBxN99+RbiiBoUusHHczSoq6/RgGM1N3zCJvlmXh3/z/H3OCVkCw+RxEiqw4cAM7WaU0dm
	eCamJhqdXamgXqX+92wkV8I/0pw0E38=
MIME-Version: 1.0
Subject: Re: [PATCH v4 06/48] binder: dynamically allocate the android-binder
 shrinker
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Muchun Song <muchun.song@linux.dev>
In-Reply-To: <20230807110936.21819-7-zhengqi.arch@bytedance.com>
Date: Tue, 8 Aug 2023 10:30:45 +0800
Cc: Andrew Morton <akpm@linux-foundation.org>,
 david@fromorbit.com,
 tkhai@ya.ru,
 Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>,
 "Paul E. McKenney" <paulmck@kernel.org>,
 tytso@mit.edu,
 steven.price@arm.com,
 cel@kernel.org,
 senozhatsky@chromium.org,
 yujie.liu@intel.com,
 gregkh@linuxfoundation.org,
 simon.horman@corigine.com,
 dlemoal@kernel.org,
 linux-kernel@vger.kernel.org,
 linux-mm@kvack.org,
 x86@kernel.org,
 kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org,
 netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org,
 linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com,
 linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org,
 virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org,
 linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org,
 linux-btrfs@vger.kernel.org
Content-Transfer-Encoding: 7bit
Message-Id: <680D8CC2-114E-452F-9824-D6F59D917E84@linux.dev>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-7-zhengqi.arch@bytedance.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
X-Migadu-Flow: FLOW_OUT



> On Aug 7, 2023, at 19:08, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
> 
> Use new APIs to dynamically allocate the android-binder shrinker.
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 02:44:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 02:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579241.907133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTChn-0007du-Rb; Tue, 08 Aug 2023 02:44:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579241.907133; Tue, 08 Aug 2023 02:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTChn-0007dn-Oq; Tue, 08 Aug 2023 02:44:19 +0000
Received: by outflank-mailman (input) for mailman id 579241;
 Tue, 08 Aug 2023 02:44: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=gqrC=DZ=fromorbit.com=david@srs-se1.protection.inumbo.net>)
 id 1qTChl-0007df-Rf
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 02:44:17 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76b7a0b6-3595-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 04:44:16 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-1bbf3da0ea9so33830225ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 19:44:16 -0700 (PDT)
Received: from dread.disaster.area (pa49-180-166-213.pa.nsw.optusnet.com.au.
 [49.180.166.213]) by smtp.gmail.com with ESMTPSA id
 u2-20020a170902e80200b001b893b689a0sm7632067plg.84.2023.08.07.19.44.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 07 Aug 2023 19:44:14 -0700 (PDT)
Received: from dave by dread.disaster.area with local (Exim 4.96)
 (envelope-from <david@fromorbit.com>) id 1qTChf-002XBg-27;
 Tue, 08 Aug 2023 12:44:11 +1000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76b7a0b6-3595-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=fromorbit-com.20221208.gappssmtp.com; s=20221208; t=1691462655; x=1692067455;
        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=ZZ3n364wJBBn5i6olC7X8xOphz5aoEwi3PPn9Humxy4=;
        b=c9iOPpy41VC6QSzv5vLbmCPsxZB2K7hAItf8MEtryT/BAlfvdA0UPM4PAg3DtN7rr+
         GFW2nm1AoLFEe5zmSSiqyIhn92P6iecybeuExkqa7jbnj+LEVM1LioV7SZGiR/8Kzy2+
         mJYrJW8XMi2+dbRvP7Xg6QuSzUnp/yHkq29M7vbAYNrF1NokfShgkpn7COiSBb38dkF0
         MWE0ZNG9ZS4LzaWgVeAy0Pmh7etHcKYaOYLW+oCVP3Q2zlcEbOnfLG0lI+GjqQwBJGqv
         OKDqkP3u3mDYRaZI2hDArPl64kIP09oRYh791qhymi4aMBqJthtqlGcAIAw7e+Im4Q2d
         AiTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691462655; x=1692067455;
        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=ZZ3n364wJBBn5i6olC7X8xOphz5aoEwi3PPn9Humxy4=;
        b=MnKB9VzBhtElJF8DuaK8pjAVdh/k2dk+/8cgzFVei7nZye4JkM1L1Swa5OnAwLC5/t
         ffqcQ9KiaXcFX6GM1UJINN2nx0S+8cD6EEzjD9C44ypEQsn12d0+G6vwDBuXBgNsu2Xn
         j9B/LgczRfH4hBuLQudUCnvbopu0mvBBqAT8AaO/V7VnIm61m2hbMgs3ZIUpBisEK2GN
         UPbYP9hulDH5tjP5nha5+gc+ekxLlFBZ24QhEeTJrJyjVV2G4FV80L3MgC499/ju66aU
         LgLbA7iBgOEHD3peq14sz6j6GNIiZ2yvxutTItieQULnHmcOFybXPlwc7g8u3SdnT3/9
         1TEw==
X-Gm-Message-State: AOJu0Yw77Nq89SBYVtYy6F3GBWO23SA6rFCfROYVErGf3UkgL9qpI7LA
	KU8kUJLPiDwRdXrzEHrQ8uEGdQ==
X-Google-Smtp-Source: AGHT+IEZT2gUmOSYrkIbMjP5ySF6z1UEt5Q+o+GMN8zU98oO9pgzqqi+i8QK+swPthTlPTk4WQ36Qw==
X-Received: by 2002:a17:902:7287:b0:1b3:f5c7:4e75 with SMTP id d7-20020a170902728700b001b3f5c74e75mr9699662pll.58.1691462654669;
        Mon, 07 Aug 2023 19:44:14 -0700 (PDT)
Date: Tue, 8 Aug 2023 12:44:11 +1000
From: Dave Chinner <david@fromorbit.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
	roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
	paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
	cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
	gregkh@linuxfoundation.org, muchun.song@linux.dev,
	simon.horman@corigine.com, dlemoal@kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-erofs@lists.ozlabs.org,
	linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
	linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org,
	rcu@vger.kernel.org, netdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	dm-devel@redhat.com, linux-raid@vger.kernel.org,
	linux-bcache@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v4 46/48] mm: shrinker: make memcg slab shrink lockless
Message-ID: <ZNGr+1orhHaBORJG@dread.disaster.area>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-47-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230807110936.21819-47-zhengqi.arch@bytedance.com>

On Mon, Aug 07, 2023 at 07:09:34PM +0800, Qi Zheng wrote:
> Like global slab shrink, this commit also uses refcount+RCU method to make
> memcg slab shrink lockless.

This patch does random code cleanups amongst the actual RCU changes.
Can you please move the cleanups to a spearate patch to reduce the
noise in this one?

> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index d318f5621862..fee6f62904fb 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -107,6 +107,12 @@ static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
>  					 lockdep_is_held(&shrinker_rwsem));
>  }
>  
> +static struct shrinker_info *shrinker_info_rcu(struct mem_cgroup *memcg,
> +					       int nid)
> +{
> +	return rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
> +}

This helper doesn't add value. It doesn't tell me that
rcu_read_lock() needs to be held when it is called, for one....

>  static int expand_one_shrinker_info(struct mem_cgroup *memcg, int new_size,
>  				    int old_size, int new_nr_max)
>  {
> @@ -198,7 +204,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
>  		struct shrinker_info_unit *unit;
>  
>  		rcu_read_lock();
> -		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
> +		info = shrinker_info_rcu(memcg, nid);

... whilst the original code here was obviously correct.

>  		unit = info->unit[shriner_id_to_index(shrinker_id)];
>  		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
>  			/* Pairs with smp mb in shrink_slab() */
> @@ -211,7 +217,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
>  
>  static DEFINE_IDR(shrinker_idr);
>  
> -static int prealloc_memcg_shrinker(struct shrinker *shrinker)
> +static int shrinker_memcg_alloc(struct shrinker *shrinker)

Cleanups in a separate patch.

> @@ -253,10 +258,15 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
>  {
>  	struct shrinker_info *info;
>  	struct shrinker_info_unit *unit;
> +	long nr_deferred;
>  
> -	info = shrinker_info_protected(memcg, nid);
> +	rcu_read_lock();
> +	info = shrinker_info_rcu(memcg, nid);
>  	unit = info->unit[shriner_id_to_index(shrinker->id)];
> -	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
> +	nr_deferred = atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
> +	rcu_read_unlock();
> +
> +	return nr_deferred;
>  }

This adds two rcu_read_lock() sections to every call to
do_shrink_slab(). It's not at all clear ifrom any of the other code
that do_shrink_slab() now has internal rcu_read_lock() sections....

> @@ -464,18 +480,23 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>  	if (!mem_cgroup_online(memcg))
>  		return 0;
>  
> -	if (!down_read_trylock(&shrinker_rwsem))
> -		return 0;
> -
> -	info = shrinker_info_protected(memcg, nid);
> +again:
> +	rcu_read_lock();
> +	info = shrinker_info_rcu(memcg, nid);
>  	if (unlikely(!info))
>  		goto unlock;
>  
> -	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
> +	if (index < shriner_id_to_index(info->map_nr_max)) {
>  		struct shrinker_info_unit *unit;
>  
>  		unit = info->unit[index];
>  
> +		/*
> +		 * The shrinker_info_unit will not be freed, so we can
> +		 * safely release the RCU lock here.
> +		 */
> +		rcu_read_unlock();

Why - what guarantees that the shrinker_info_unit exists at this
point? We hold no reference to it, we hold no reference to any
shrinker, etc. What provides this existence guarantee?

> +
>  		for_each_set_bit(offset, unit->map, SHRINKER_UNIT_BITS) {
>  			struct shrink_control sc = {
>  				.gfp_mask = gfp_mask,
> @@ -485,12 +506,14 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>  			struct shrinker *shrinker;
>  			int shrinker_id = calc_shrinker_id(index, offset);
>  
> +			rcu_read_lock();
>  			shrinker = idr_find(&shrinker_idr, shrinker_id);
> -			if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
> -				if (!shrinker)
> -					clear_bit(offset, unit->map);
> +			if (unlikely(!shrinker || !shrinker_try_get(shrinker))) {
> +				clear_bit(offset, unit->map);
> +				rcu_read_unlock();
>  				continue;
>  			}
> +			rcu_read_unlock();
>  
>  			/* Call non-slab shrinkers even though kmem is disabled */
>  			if (!memcg_kmem_online() &&
> @@ -523,15 +546,20 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>  					set_shrinker_bit(memcg, nid, shrinker_id);
>  			}
>  			freed += ret;
> -
> -			if (rwsem_is_contended(&shrinker_rwsem)) {
> -				freed = freed ? : 1;
> -				goto unlock;
> -			}
> +			shrinker_put(shrinker);

Ok, so why is this safe to call without holding the rcu read lock?
The global shrinker has to hold the rcu_read_lock() whilst calling
shrinker_put() to guarantee the validity of the list next pointer,
but we don't hold off RCU here so what guarantees a racing global
shrinker walk doesn't trip over this shrinker_put() call dropping
the refcount to zero and freeing occuring in a different context...


> +		/*
> +		 * We have already exited the read-side of rcu critical section
> +		 * before calling do_shrink_slab(), the shrinker_info may be
> +		 * released in expand_one_shrinker_info(), so reacquire the
> +		 * shrinker_info.
> +		 */
> +		index++;
> +		goto again;

With that, what makes the use of shrinker_info in
xchg_nr_deferred_memcg() in do_shrink_slab() coherent and valid?

-Dave.
-- 
Dave Chinner
david@fromorbit.com


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 05:59:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 05:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579248.907143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTFkN-0002Vk-Bo; Tue, 08 Aug 2023 05:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579248.907143; Tue, 08 Aug 2023 05:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTFkN-0002Vc-6g; Tue, 08 Aug 2023 05:59:11 +0000
Received: by outflank-mailman (input) for mailman id 579248;
 Tue, 08 Aug 2023 05: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTFkM-0002VQ-0b
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 05:59:10 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aeecbadc-35b0-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 07:59:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7065.eurprd04.prod.outlook.com (2603:10a6:10:127::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 05:59:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 05:59:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aeecbadc-35b0-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C29dsAKW34byNOvfiZG6+HMKlZEzQvwnbCHugjRvdZeZ8zTfRnWkt4eMnbAK9RysV4noNPKjTqXBOvkEBq2kmRHbTL4LY2tr5sz9PZlC3ojc2f36a4PJbZUTXBZskcFGKUhaE5YN5X6rRlv2AmunUf5ViwIVKvys+b1GQfoxrCb1A9JL0QzrUT4yn/1QYvXQ45ZjVdl4yloAcD0xu9Bnpu5cnJnyiLbjUn3qRyzWcUc+dFzbNfIqWLJNCn0eny0TdJHACp+l7JC3eW6qcicSoRUOOdMuHUV9Bp6hdGLCL4KaB4/EzWKPEP5QGiQMZNK0QTusat5aPKUythCKzDszUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7m4ctNrmOfO/RfePvyQSK2MCUsiV+pzkfaZdvF5ctkM=;
 b=F/gADHFb6Cjti7y8cbW5kp66P5h1rxPOdDkD57JMYInY3E7N3vLtlFYM1YHdsEjrkQ6I9dlQpyH1/wvvjF7iDsoBZkte67at5//9XT8lIKRkllAvxaeP3/qBtjQAUp6fNWJgTRcLaM89dWyA57ZgMBzq/sYUOsITFpI+eCUJqFPmpgKq6RZ8bAvxQ/5bFonzKOL1mvtxJ9AWHt7sXCgqd6qTeaSwXdNWA5oanuGhAftJjhoqagKzgE30+nlHc2kA+GIUx4H2UVj3aeLq1KW8tr1A+o5nNVg1CSNmZlfvOo2Xsel3l9n9HwTRreaYqBCNFxj6k5pK8hOcxSuXqFKspQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7m4ctNrmOfO/RfePvyQSK2MCUsiV+pzkfaZdvF5ctkM=;
 b=aaRDP9J5p9a2P9qsxGOd66qPC78hF7Xd3Z+4CbGOVgKgh3VSU0HFRR1qU1pHR1y2uVNO8t4/0nFM8Qph9zBmswussjzTJtyvjZJZjyyK/bzQyqnOWfvk4feVFTIoMs717cOYftuUyI/p1C4wFURgyiSWm+/pu1+f81ViVPBPeldkfBL78ebzHU6W+R7/gY67Ni6kUwsUNv+gIjNLdTmDn8hXADq589Jq1MMzaaItHujhIo5dxeCWWLs1njkGeKn5NMJV3umOkLvf3ELAM2GngVhaXhhvtVWg/UEeyt7a3lsEy+YxLa4VJ9jlgkb6kag5wByY2OpVk04F+b+6QelTrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b60bde3d-0c7f-9ed0-3820-cb99b49da81b@suse.com>
Date: Tue, 8 Aug 2023 07:59:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/4] xen/ppc: Switch to medium PIC code model
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690934409.git.sanastasio@raptorengineering.com>
 <c72c242988295b665a8bd235a351806dc112ad01.1690934409.git.sanastasio@raptorengineering.com>
 <d3c5e9a2-918d-5b6c-b0bd-34b61d00c769@suse.com>
 <62c8859d-8904-ce30-019b-df976378256c@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <62c8859d-8904-ce30-019b-df976378256c@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0267.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7065:EE_
X-MS-Office365-Filtering-Correlation-Id: 52ab680d-5d18-4810-0f1e-08db97d491c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	btg+o0QNExR+kIzFTWGQEjf6NL2j4ZVlFJkhO362hTlGlbv/R623kHaBbxIFBQAY6xK03Vuo3sqg5hjOKOszrPFWW4H0Zfpb1O7PTUkRJ0aiGtNW5eI5k+Q1mll25dJh2n/ZxGqBUYrPEC3av+WCiWxTMcvNxkNKssX4diO7lbSuxmKAQelNRuemTKjHq4EXaaAvZME3x6Kc6dq7FdczLkC1E3pUXLq8X3mbnMi1+Bcw/Q+lweQPoM9vRlcOofUbIkkN3MDYMz7w+XdJzjaeyFs+YI6hGFwOwNQmATn0dBBI4+BMvpdFzcvfTcNJk9QhdRieSAtl9f52Ht6wyUnyDQx/u07NTmze0fXvyQ618vuv2QHlmHcSzYQGygQr5fZr5In/n//iHvccbL4S2cQlGw945lmUmTUrVQTJ9dKOke+nZuRAyuQ1rL6hjM2Nzuh+4rv6LMNdpG4EipBPQclg6VjgyokssQ+SiP+al4LL2/u4t0za/+GyTNdjsjeWBj5q4Cu4Y1Wjhz9tP7wIUOOqrRFWqvA7moS8Rfdskc7/zonNYT1HETqjyWbiLnWakz+JTIJnP3PnSQ2k7TmyP26QYLZ40roXFF5dwLKSpruxlQIxqJiee/rEDNZ4Z+0zNXm9c1h7ithdze1FcLfJrlVcpK/1K7OA7fO3bawXHh6+xbtBj7c/d2mbqUZ1stxFbdi7l5eaiP7sus1w2cFVZrVp1g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199021)(90011799007)(90021799007)(1800799003)(186006)(8936002)(8676002)(5660300002)(6916009)(4326008)(41300700001)(316002)(86362001)(31696002)(2906002)(6512007)(6666004)(6486002)(2616005)(6506007)(53546011)(26005)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFVuK2FDUU9XZGR0KzI2WkY1OERxd2J2N3hETDhiejR2b1BQcE1mY2RPVzF6?=
 =?utf-8?B?NDBzL1EwRjJkY092VFU5ZnNyS2hpc0hZaWtZZmdmTzdYb0djUjlUODlZTWF3?=
 =?utf-8?B?MEVNTFJsRXdHRnYwLytEZVk1b05QZzZSVTRsRFFPZGpwQjNkMTNSM21Ca2NK?=
 =?utf-8?B?UW8zT2tkbU41WXhDZ1MvOHBNMkVXWDB3SWovQ2pLanFxeG9nWUUzQXF2UGN6?=
 =?utf-8?B?Vm5vR0E2T0IyVWlGZG9wZEppWml4S3dTNHNkVUdjaDdzTURoL1F1TGJUMWYz?=
 =?utf-8?B?RC9ueXBvMkV0T1RLUnJCMDZLaGpiL2tVMDJxT3VIaUVENWFLQ1pWcWFZVGhS?=
 =?utf-8?B?eDcrVVVlUVloakpERVl4WHZEL0Zvd1BETDh1VXhCZUVlbWxLS2o3ajBRZHB1?=
 =?utf-8?B?UkVvbFZ1TTZlZWcxQVhucTVnZGI0cHptZ2dtQnZoMnJMUWo3Qko2dUI5cDEy?=
 =?utf-8?B?MXJGQ0NFRlJWd29LUlNZaFhGUmRYT0JabGsxd0xuWGhSazNNSmkvV0ZSd1Fz?=
 =?utf-8?B?bERydGlGdlBHSmU2Q2UxckxZb2l4Tk5BUGV3ajVIOXR1KzZpYy9mWkdTc2Fm?=
 =?utf-8?B?K2RMUm41dXRlL01Md1pEOW52MlZsaUlrY3ppTGlYVXg0bVE3VnhQYUZUOUtl?=
 =?utf-8?B?QXVZUytIcXJZT1Y1OTIyeEY1OHN5MDIwSmc1cEg0QnVaclJyOExjMnAvcFdS?=
 =?utf-8?B?bzhIU2hNN2NVaEkyaTd6ZElKeDM0OWR4SzFXYVFsaUlqckEwRFZOalkrSExU?=
 =?utf-8?B?UUFUdm1raXdpcW1BTWk4bGdCL0M2dGFUbDlnNmRzN3poQ2x6T1hoQTV2aHRk?=
 =?utf-8?B?akRvTDIvZ1JsVGlKQXNIUlNNU3YrSU11b3BPSk5NN2FpOE44elNkV2c4Nm1Z?=
 =?utf-8?B?by9QT3loekZtYzRja2IrY1ErU1Bidnd2eHJyUmpVdi9QMVk3cDE3Y3hkMXdy?=
 =?utf-8?B?S2hTcGxXSVNmc2JsTHZIdllmU3RTd0oxaGowSE0rRUZDK2ZWamFTdFdMb1h0?=
 =?utf-8?B?WWI1alB1ckpYM213OVROZjVxWTAzUU9icXZOVERXR1pzaVVVT2FWZ0N5ekJm?=
 =?utf-8?B?bmdybG16UlpEdGEramJadDNySjZnU1JSb3pGR3JnaU5mdlFoM1JVNDRDU2Ny?=
 =?utf-8?B?MnFVOVkvTXlETWhrQmJVUkx6dkoyWWZ3QU4wR3h1LzNtYUR1QVg1VmF4YitU?=
 =?utf-8?B?cUtrR0piUEQwd2NGS3hCakpYc1R3eWcrc3J3VTJudWFsN21Ba0N6QzNOcXk5?=
 =?utf-8?B?QWxmb3Brc0dLUWxmZnBCYTV3RkdwQ3dKUFRVZ2xZVkNnUzlKYmV4ZWZWb0Mv?=
 =?utf-8?B?b2hvMnpibTRLa1k1M3ZlTHZjVjhlYkN5bnJJcTR1WFhpcVdOYTNxeERzWldw?=
 =?utf-8?B?MXEvOGV1dGRHYkU3VUJPR015VWRTbjlaU2tyVStPdGgwYW9seWlqUkd6amVB?=
 =?utf-8?B?bHh2OHhPWUtyTlVTNGFJNWFRUm5tT2t3V2IrOWc2TFI5ZHJ3NUhxQmtabVlU?=
 =?utf-8?B?b0NLaTZIT1Q1eDg5T0NWVkI3aXZGMG1KenFEeU1IR1J1LzN3aU8zazRjdjV1?=
 =?utf-8?B?Qkg5bWZLajN5Y2RTZi9YT3BaK0hEeDZ3UXM5ZVRjVDUxbElvSnp2cU5YcUVB?=
 =?utf-8?B?dXBwTnF2em92TjZCUkJtSUFEaEhUTEdkNmdjV09CMDJZTzFRci9NRnFtMU9S?=
 =?utf-8?B?YUV0TkJZUEdVZzgrOVltbFB5MTVmdnl1aDRxRE5xRWJSV2RvakNueGJDaGs0?=
 =?utf-8?B?YnpucnNjRXNVSDFVQ3ZZRm5HVXZvaGdWRnZzeWhQVy9LQlBhVXVUcFhKd20z?=
 =?utf-8?B?QWNTMEM1UTBOQlhzWXdHS1c3elorZHdtWElpcnhGSHh0S3BzdytkU2ZhaFlM?=
 =?utf-8?B?YXoxR1dGV0tOSHZDaUJIRVRoK3V2VEpVb1VpbDM1QXlsRmdhR0kwSGNkZjJC?=
 =?utf-8?B?clAvWlBRcCsyM1I0T0drQ0cybHRTUmo1VUFGV09YcWVpR3JtYm51d05CaUVV?=
 =?utf-8?B?VDFOWEVhaWVTYklBUFpDWnZYVXZIUmhlQ1V3c2hxcU1GRjZKUW52TTlEeTNE?=
 =?utf-8?B?VnlxOWFxU3dyQ3lDNDhvRnVpNXpkNC9oOUpkQ3ZMZGRkdzNrdlo3a053NHov?=
 =?utf-8?Q?EeAEETEDU2TlLTGrObkdqOIY6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52ab680d-5d18-4810-0f1e-08db97d491c2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 05:59:04.0263
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MtoxgsTzZA7CGu9Sd/f9slrzegd8KSnwMsTngBfWjPVyrelFPxL+6YeZJEhCTz6Qiu8B2+ePNzwHAZio27+Hqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7065

On 07.08.2023 18:22, Shawn Anastasio wrote:
> On 8/2/23 2:16 AM, Jan Beulich wrote:
>> On 02.08.2023 02:11, Shawn Anastasio wrote:
>>> --- a/xen/arch/ppc/include/asm/asm-defns.h
>>> +++ b/xen/arch/ppc/include/asm/asm-defns.h
>>> @@ -16,6 +16,13 @@
>>>      lis reg, (val) @h;                                                       \
>>>      ori reg, reg, (val) @l;                                                  \
>>>
>>> +/*
>>> + * Load the address of a symbol from the TOC into the specified GPR.
>>> + */
>>> +#define LOAD_REG_ADDR(reg,name)                                              \
>>> +    addis reg,%r2,name@toc@ha;                                               \
>>> +    addi  reg,reg,name@toc@l
>>
>> Didn't you indicate you'd add blanks after the commas (also) here?
>>
>>> --- a/xen/arch/ppc/ppc64/head.S
>>> +++ b/xen/arch/ppc/ppc64/head.S
>>> @@ -1,6 +1,7 @@
>>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>>>
>>>  #include <asm/asm-defns.h>
>>> +#include <asm/asm-offsets.h>
>>>
>>>      .section .text.header, "ax", %progbits
>>>
>>> @@ -11,16 +12,19 @@ ENTRY(start)
>>>      FIXUP_ENDIAN
>>>
>>>      /* set up the TOC pointer */
>>> -    LOAD_IMM32(%r2, .TOC.)
>>> +    bcl	    20, 31, 1f
>>
>> Hard tab slipped in.
>>
>> I'm happy to take care of both while committing; then:
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks, Jan. Just to clarify, are there any outstanding comments that I
> need to address in this series, or are they all able to be handled by
> you during commit?

I intend to take care of the minor changes to the last two patches
during commit. The patch here has gone in already anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 06:05:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 06:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579254.907152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTFqj-00045v-UB; Tue, 08 Aug 2023 06:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579254.907152; Tue, 08 Aug 2023 06:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTFqj-00045o-RP; Tue, 08 Aug 2023 06:05:45 +0000
Received: by outflank-mailman (input) for mailman id 579254;
 Tue, 08 Aug 2023 06:05:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTFqi-00045i-Cn
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 06:05:44 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b059bbc-35b1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 08:05:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8303.eurprd04.prod.outlook.com (2603:10a6:102:1c3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 06:05:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 06:05: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: 9b059bbc-35b1-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HYjzD2nVc9oegIBKedZSUX3uTqvFys8bGzW/t2Gv6AQjoE64y267dSIxMjhlfoRXb7DB5ILSYKomTaWzxx2PVjRohtzzriKXjMHE5nHrgtT1OyFAtunbdKzUHfShE3wIrhshBShWOwl26U4XLcP+zhtTWKsO/Sggm5UPafM9LaqknJL3NeXjVby+7d3CD1uNHDjUWwy6FZZv7Z/Pu7n7opLMx9dNCHG8vwOzzL6PI58wvPG2x90qm19fsXFjMRJa/HWYEz7mnPuuALLEyKAHHA8KzEhTPrDwCeirAOBWy7POx3jo6A/soELLtLhyA3rzRPLCFqEqLVdeIhG4oogszA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g2Yzjge/p0tWN7wdJH/oMS1mkwIsQlhjyMxz148iZ2M=;
 b=TKppu9NmhXrFIP969QiRbsrBiFNqMSSLhUFPnTmmGmlrI/DqyR05CIfuBppyqgvHXXnGDdC8N1ry9cVJ01cZyJrS2mMfxaU27ynhswF51ZJmpIX/fdBJGgLr2IUMORBFo9xCWsLHCuljk7ToA8TsS8+OfCgQERtMKvp52YlBvKAEXmJzpsLOd7pd7O431Lsk4yEKMvF8rv16JhS48s6ejq/+VGArjlq9WqZnDvV7i/z0Azey61M90F3WJQ17mi1j+nAGWPP/941vphPa1GGIKT4KSR5P6w5t7G4pn/5U+gItwMZxwptPm3/6BuV5ITwQsXCu0Ixx9Da4Jn2a2YrZWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g2Yzjge/p0tWN7wdJH/oMS1mkwIsQlhjyMxz148iZ2M=;
 b=kwEpkHABcReSeErJ9Eje3vt+imOWvEJDTH26q62oEG8zge+MT6pHK5b1cOneRF7S4hXW9ragcD9Pt5GxpAVcwN2gFD//k5XS+OnzD68Q+NzPWxsRR8vj4i1dTmycPcHuWhp9iKj5NvgraPTDGfvspTDrH2PCwe0BUNkqKEpd8PSJcXJP/3dcnls4S2Y7+mm6nZGFEt0R1rhojsnVefNWV0/KosJwU4/4KuZruT1shWHj69aFuvbYs8j3BHHdvyOFHVo9VUTbj6AmSVbCe3z3Ohoru5/oiQ75E6FQB3DQ1KgKxa+YSfQlSPv+YJm5hRox6Op4gKMb4jGgKCj/QYdxUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <825bb94c-a427-62ff-a790-39c0792553d3@suse.com>
Date: Tue, 8 Aug 2023 08:05:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 2/5] mm: Factor out the pdx compression logic in ma/va
 converters
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-3-alejandro.vallejo@cloud.com>
 <db533ea3-8b1f-fb36-a0b8-d196f3a84f33@suse.com>
 <64d11b39.050a0220.2ab40.c2cc@mx.google.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64d11b39.050a0220.2ab40.c2cc@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8303:EE_
X-MS-Office365-Filtering-Correlation-Id: c11a9028-d14a-41d4-c253-08db97d57e15
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3wyQ+mO39wN94ENW42/74qpWHvwSTMyQB/RNfeBfwlr5zQva+6sUSEHNfa+v1ULI+i9s0gYvxvW56h917vo4Gqz2shET55uDyQTwTAGwSH6U2k5dwhReQgHdisCaVNvtkA8o5U3jBPhL3OjtJOktIgMg5Y7zAueMEs09RhnyzLo+L3c7pTb9SRiZHSy9WRTwvIlTNFrL2wF2zEtI5ubSYv3JaL/X+nwwAP9aQhoegxcAOKGOjXH6WBsc+bpVJu7C0+agOqm/RYnOOL5ILBQSXqT0oy4TbPyOSjz+t/Vkdd91tclw02uJDxK6FlnwajNy2Ln9lJMhm06IJWJekS5IrDFeazjeEq7IMsLAFqrBhWyb4IVQ/hAFkg6bDKfjMj8fSUKYYFcfsKizQ4Bm+MobJrHmf1FsW7+r+XHX1rFw+wy3vQv3UIX9KrY/CrDJKuOC2f+eZLWeDzuDQXx9GNU1n9sdASmHoCIlTd5elYw2yet85t2deS0biIrmyrT7O0Gfs+ano7Dr24t+SYLK/aedhMbzK6bqkZqUfO3M0Lrohi+fjKL7XwxB6hVKMYH1htRtaCk4HOFWHSZth2dNceCIuaKjiILxz7L5an7Jc7juccTHyOA/r9vha9/mdEBzRnsZWe5PPcAnSBUT3u5Tiqbr5wCOgOKKVTUjUBvOet+aLtQRKfU34sEKLRjZakYeY/rj95L3iG6dCEghDyV8e9L55Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(346002)(376002)(136003)(186006)(1800799003)(90011799007)(90021799007)(451199021)(31686004)(6666004)(2616005)(54906003)(2906002)(38100700002)(4326008)(5660300002)(8936002)(316002)(4744005)(6916009)(8676002)(7416002)(66946007)(66556008)(66476007)(86362001)(6512007)(478600001)(31696002)(6486002)(41300700001)(36756003)(6506007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1hJNFNjdWoxM1Bld1VONmt5NGNJTFBIYUxXbk1BSXdCNU5nTDFwTEtwMDhX?=
 =?utf-8?B?OFM3U242bjEyY1gxQkIrZzhaUUFmQkorN3Exb3Y0VHh1RjdnNm9nSGNOWHlU?=
 =?utf-8?B?M04vcitpMTNteTNGbUpSWWNzMTJMM1RCSDVJNml2RFBnZElFK0xnY2dQbmhy?=
 =?utf-8?B?Uy9Cc3VSUUpDVnlOalJDczB4ZzdSVkdnclZ5VjBQVmR0d1FDZjBjRkI4Tko3?=
 =?utf-8?B?dmVYeFNsbEt3OVdoZ3BQdzVDU0VZUnFLcUozOG1zMzNCeHI3VUgxOFJlWnVW?=
 =?utf-8?B?c2pSTnFBWVozKzI4cXVsV215ZGNIMGduWlk4NlNXSTRrekNPYWlQS2JjUWxB?=
 =?utf-8?B?Y2dKOHk1aUovZHpZcjhPUUtWbk9iVzNObS9NdGFrVzZVSlV1MkUxQnk3Vjlv?=
 =?utf-8?B?ak5ZWmtPVXJvdjJ5VGZoVCt4OU84NjN2KzV1N2JNcC9ocXhOK1JTWUZxbkNs?=
 =?utf-8?B?eUxNM0kvKysrT2gvcHdLY0Z0b2tBV013djA2bFFsVEVzS01zZkw1QmVscDBF?=
 =?utf-8?B?OGdLd29iT1FHVmhVT0pkbGQrbnNSaDEvbXE5dkxWVmRlcHNEUUNRNUJmZDV1?=
 =?utf-8?B?U2pmbzJLWEFIb1poZ2FvWU12eUNYUWhJUTIrV3hGVGl2cXFRMDZBYldFZm5q?=
 =?utf-8?B?bFBpSXJ2MU4vTVF2VzB6UFJsTWl1akNxMkNrRDVhcGR6T3ZFbUxHV1ZlSlps?=
 =?utf-8?B?TXFoU01URmIwM1Q2SjE4WFdmVnI1SXA4RXM5TmNQd29EaWlNS3pMbVUxaFVR?=
 =?utf-8?B?bUxKMmVtd1grVWZNNWRZNERDVWNUcVYwVzI3NzV5UTNWblFFR3ZoZzJoRWQ2?=
 =?utf-8?B?WkdKMmtNRnAzZm8vOVJmSitzci9EUkxQSmxMVnZDYWp3LzBYNnJxYnB0cGd0?=
 =?utf-8?B?emhRTlU0WjE2Q1A1d2U4SytmOEdHUEdHeVVmL21DSlBBcUdRMTl1SE9mREJD?=
 =?utf-8?B?cVIzeTNTZlBrVjBCWVFEbk9yRFlGdExValFvaERKbWVGN1ZCc2hKOHc0T3NQ?=
 =?utf-8?B?ZmtZNHd3a2FvZHVCR3d5cWwyb2ZMdTk2NkdXazY3OFNDV3ZGTU1oaTNqWmhr?=
 =?utf-8?B?SmY4RnRGSFc3YnNYcWR6NFNjUlZpOElsNjBTS0dySXloOHNEWkg4RVAyR1hu?=
 =?utf-8?B?blhiMDl5RlUyVkdVZXAzdWFGTDhEdmpnc2tGcFJMWDJjaSs3YWlvN3RxQmpS?=
 =?utf-8?B?NTVXLzZPL0V4blpTeUU5TkIyNHVLMkE5bFBrcVp0OWN6M2pPeitQSXI3ektS?=
 =?utf-8?B?ZVdLVElPZ2FRT0FDQUFKdjYwM2dPYjVTZDNwODBWbm1CeXdkNGU5Vm5YRXdh?=
 =?utf-8?B?M0ZiYnFSMlljWnorM2lJWlFwd05UZ3VJSjBmdkZsTUpob3hLRFNtVjY5U1Jq?=
 =?utf-8?B?Z1I3MFdtM3FUS29KcXNOQzE4eVVKVGZQZ241NXFuWmludVlzaWdKRkY1alRn?=
 =?utf-8?B?aFowejZEUGZZNTF4SE1hZlBDNnZYTXYyM2lvUnFTdGhPS2p2b2hIYUVDOGN5?=
 =?utf-8?B?QnkweDJjeG5UNmpsUnZqVldyK2Q0RWhDaWFsVU1jVnIwVlhpMmtzUTR0ZDA3?=
 =?utf-8?B?Ym9ENGJFR29kd2t4SWRSbnNFUk9jYjNJZVdGNWp5OTNRWEx5S2hoNTBoWi9s?=
 =?utf-8?B?WXNPWDFxaHBmRmZ2UnNHd1NEV3o0NHY2aXVXR3pzVFZwMUJKajZhRkFCYlJP?=
 =?utf-8?B?dklPRHUrWmtkWjhHMHFxOE5mTmJDendVWXFpWkZFQ0UzMTIwMms0Nzg4dld1?=
 =?utf-8?B?NlBLUGt4ZDJ0NE0zZGhIQ2NwbzNuVEllZXRIS3lqMkZzOUpHNk9sZTl4eW5m?=
 =?utf-8?B?OHh0YlY1VnFWaTlYdmp4VGJTcUtDOS9raE1FTStNY2JKTnlWQ0tHaUFva3E0?=
 =?utf-8?B?WGVvL2tyQkZzUHc5TkFrUEhjK1pSbVoyTi9GcDF3QW9XZS9GcEhIUTdUOHF0?=
 =?utf-8?B?RXY1c1R4ZStWRWNjYytYZmxJdDlQaVZDMW14eUliODhQV1UxOTYyVHR3U0gz?=
 =?utf-8?B?Qzl2aTY5aTdOZDB5bW1IZ1JGYkZDZkZXOUJTZ01jeDNlRkVWWDRrandHUWlp?=
 =?utf-8?B?L09ZYlQxbXpTaFhjQ3dTV1R6TDgyRGZEWWNMV3dUc1poVFcyRmxCbTMwZ1Fj?=
 =?utf-8?Q?lDuEyRIvT/B+W1+vfRZScLvyg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c11a9028-d14a-41d4-c253-08db97d57e15
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 06:05:40.3690
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KUKTJW/TLm6XFjI+nB4tcr9dps39yDgUQ+siT7ZyzOmvr+hYMJickeF06EmRKgK/uR6QavpvNGpIk2ACvsYVIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8303

On 07.08.2023 18:26, Alejandro Vallejo wrote:
> On Mon, Jul 31, 2023 at 05:15:19PM +0200, Jan Beulich wrote:
>> Especially since the names of the helper functions are longish,
>> I'm afraid I'm not fully convinced of the transformation.
> In what sense? If it's just naming style I'm happy to consider other names,
> but taking compression logic out of non-pdx code is essential to removing
> compiling it out.

I understand that, but my dislike for long names of functions doing
basic transformations remains. I'm afraid I have no good alternative
suggestion, though, and while it's been a long time, this may also
have been one reason why I didn't go with helpers back at the time.

Plus of course I remain unconvinced that compiling out really is the
better option compared to patching out, as was done by my series.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 06:17:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 06:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579262.907163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTG1t-0005jA-1l; Tue, 08 Aug 2023 06:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579262.907163; Tue, 08 Aug 2023 06:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTG1s-0005j3-V1; Tue, 08 Aug 2023 06:17:16 +0000
Received: by outflank-mailman (input) for mailman id 579262;
 Tue, 08 Aug 2023 06:17: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTG1r-0005ix-OP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 06:17:15 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 375ab3a3-35b3-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 08:17:14 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7858.eurprd04.prod.outlook.com (2603:10a6:20b:237::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 06:17:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 06:17:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 375ab3a3-35b3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ip19fuEGKZ8hRXwRXWtUsmloZB2qXC+ou8kbZaZj3u4OjaKIzrWUXmz2wuHRPeaNH7pbnVr3JOKpnYH8vyPocR2tz9pelhPnyKHC/zKQ50Pp8mj6co6OTznD3yul5xEOOiYL/OVb2FKgh9N8CQfDCKZaKUYx/ii+DQXdyZMtF4mHWwGXT4cYEpLpBQ4Mf2lJilc+pCCnmyfCGmo1Aw5j1Ejx118qFQjLWq/4F+en52C3Pv53JHxWAYiESiOkrTw46SP305jAhmkQhM0v1sll3+GbOPUP4o7Yn4ShRD2C2vhf0jtKp9cZPvCWH3E9dllrZBS+K6V1sZIZgphu7l8X0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DLRrvUKXB/O7RFFHnmwCd+qmJOIipN2/PdpFVANAkR4=;
 b=UGFGanwCMymYUf+kXwqzMuzRpUkAQyzJMckcjMpnOubk2oVo0L56vMKqhYgeTeWBLIj7Sw4hhHtXfFR9IR2o60Un/ErAvKLmIdd3IdCWUVM9YxksEsZ9g3p2xq9L/XPvrYqGNYzKDgvpzpLjF1LgdkTHzs9Cgy1pyLknltSna2O+7fF/u/m/H0RJfq6Cum2Ka9+U7bjVMpGaa9ILXAwnS9OULNPLbmiKhlHN2KNoxVcO4+DfruYMXbURF0zFUFvyI/VJup0bmVucDadUxFY71XbAmq0nrB2FqM/BV8PrpTaH680wzxKLSf2ZKne8/cnB4+xDZWCqZyOV7eVDtU/q4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DLRrvUKXB/O7RFFHnmwCd+qmJOIipN2/PdpFVANAkR4=;
 b=TuCjCGH39nHddx8Z7MZ1J1SMBDFm+Ur7Es5R8NFF3hd7pzrbAwKKFbgldv4Ylk0qgnczOLDdUrAYKpExFQB0LuGv8FXrJ/xMNcuM49KlY9UUGFb3l0eyeRYYQc1yyXRebOJZr3n/ZBsFT2Xp0zodxs8qB5/bES8cRE7ktNgr5ruEJwcxkjfiwn7KuY6N/TYBtOkldAlVHOp0bFAIc9SjhJzkYokUrXTVj6ULQNe+5yiXfwX47qsMA0tNyf1bNxaLPMbbyYS+OGe3tmmlusL8NWzl2skMHheT7t3Os0StEUwkXQ/aCZCio+zZBZOxAETmUUau1Y8DWs+s1CXCfsyBeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02de9a1f-87d2-1a7c-a475-a83a6ce998cf@suse.com>
Date: Tue, 8 Aug 2023 08:17:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 5/5] pdx: Add CONFIG_HAS_PDX_COMPRESSION as a common
 Kconfig option
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-6-alejandro.vallejo@cloud.com>
 <9f0b7ab4-090f-21ea-2cf8-6ecdc7c02225@citrix.com>
 <3470bc26-3cbc-e0de-53ae-203449493b51@citrix.com>
 <06a3f79e-4345-7a4b-be57-728a8b01befd@suse.com>
 <67b5c363-a653-3f5c-ea3a-f52bfac3dc49@citrix.com>
 <75a70fa0-ab40-e2b0-685d-db752c943a7d@suse.com>
 <64d11674.7b0a0220.ec9d0.7073@mx.google.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64d11674.7b0a0220.ec9d0.7073@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7858:EE_
X-MS-Office365-Filtering-Correlation-Id: fab78cda-7570-47c0-8891-08db97d719de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yk6sYKl0S52BQpjnX/h8bBakIRMvj8wWIsmI5pFVAibvzhUdLyM7Cjaj6GF5kv7wQUsNgXsDdlk0T4NtmhI1ny11ctfkxBR9693FOcUGArQnegczwrScUisMsACI3e9Ce+kA+rxHssElyEVvOTg/m5INQWfaQUkEPzMLv/Iq2C+yN73IUzNy/PabMhsK242/pVLM3e5dzheyh5MDp/b9JL53k7KWFQdNcCZcv85GniaIiy2Nl8gJ0QhbJZwIatMy/OkX8/jKXh+b8T4Q+rLFXh/8oM/AxBqctWFClMoXxjHrJXOac2OhvJ+rRQVGhOiJbieXCZfG1xH8hSonMbOAv8CZsqe6UYhyxu6mhl+nJZw+cbZm+9ES8Zs4OFzdmfGCbhBmBg5o9Ssop6ul0cZa0XXhvxM5EKEPlb7zBTtV2kpcpXg+K8Z/+oc3ClDMoAeG47DnHfYOzPBVoDHiq3TfD9Cw/nWuB1ThWMH9LEv/wi04RK2A+mSxcsJvhElsB67PJmlhCpb0/6V7B6W6NlTex4gz9lPZBwHHOZL9s0OjJb1gkV0yIbzsGYOEk/fDiO/NKrDNBAdLY5dm/NXA1e3YXL/inmbam9hKBws3DCVvH1OK6sYwvBeYDmT19l3KNmNDWBdVF6aBQYmrzUYvsZ2WdxR7dU+ycs7J9Q/HknG5YheNLWMtFoDPk6SNMsWq+Er3ep4SlN4LsA07JQ/5Uoeh0A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(376002)(39860400002)(136003)(396003)(90011799007)(1800799003)(186006)(90021799007)(451199021)(38100700002)(54906003)(478600001)(6666004)(6486002)(6512007)(6916009)(41300700001)(316002)(5660300002)(8676002)(66946007)(66556008)(66476007)(8936002)(4326008)(83380400001)(2616005)(53546011)(26005)(6506007)(86362001)(31696002)(36756003)(7416002)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckx0OHlQWUVFdFZPQzBWejExVVlsU1ZUNEkvcG5HQW82MTBkQXFUTHpubDVX?=
 =?utf-8?B?NnpWYzUzQ1FiU2s5bnc5NzZOQXlzeU1XVWV0enhyMGwvNFV6dWdjcCtSaFV2?=
 =?utf-8?B?OFdnTHBndnZUNlduVytwZkhtaG5SUEF2STc2bnorUkZkUVRPQVBUVmlOT2M5?=
 =?utf-8?B?UTQ0cEY0MFo4ZnhnWFhwUjRYSXcvekI1SnF2TTRlWUNUTnZpMmJ4U0xiSjBx?=
 =?utf-8?B?cFBOcGZKWitBc0FiQjVkK3JoU2FyVUtqYjNnL2ordC9xMUI3UDgwMVhjOWJh?=
 =?utf-8?B?R244a1VSTStmNHFqZHlhV0ZkakhORUxod1dvditJUldPd3Rpa012SFViUEZ0?=
 =?utf-8?B?bEpUUE5QcTBhR1lPK2lxVmtzcHRaelVUWElyaVpXU21IbHlGb0hRTmY4ZlJm?=
 =?utf-8?B?Z3hXQy9EcXhwdTdNN0RDNXN4YUhzU2hyVlRTT3RTWWNjL0VxeTVmQXNBNHk3?=
 =?utf-8?B?RGNORlBwZzBCZTlId3JGODlka0dwUmhLY0RyL0tlU3BycnA2RjJqOEEweTlq?=
 =?utf-8?B?c3IxVUNrOUV4Y0J3R29UYjFsWEtGQi8zSnlJaGtBMTJYdU9BSXZxN3EwNUMw?=
 =?utf-8?B?WGdsaUtXWEp1aUpscUFjUTBJSXhIclVGblRPVjkwcjB3dmN4UGp6bzB2SVJF?=
 =?utf-8?B?T3F2LzVKOGNYNkprSWFPVG5TbnQvYjVMUnNqUHdRWDEzb29TQkg2M09qSnFT?=
 =?utf-8?B?cVh5VHZ6V1N4UmM3R2x4dnZVMElzVW56cFc0Zmp4MzBtK0lZRFFhT3c4NlpV?=
 =?utf-8?B?MUp4N1pKNXdRdHI5aGorcnkySVA3S0JXL3l1ZDZiRE5oT3NZWGZXUUsyZWZW?=
 =?utf-8?B?d09HRGh5L1Ard01ucmtOY1VSOFozMmcrY054Q0dOZldQZlBWb0xpc1R5OERs?=
 =?utf-8?B?M0duSWxoeWVMQWQxT1dNSnVzSld5SHpWalpuYXg2MTVLdndmVStMeDZ4U2xL?=
 =?utf-8?B?SHhhdE0vMVY2YVE1Y1ZMWnltZkhUWE56Y2hNcmlRZDRQTWFtWXFoa0hMNHdn?=
 =?utf-8?B?Y2JsNFFaZDMzUXpzT2tEWDZ2SWM1L1dYYmxSMHhmWXpwQVlTK21YZGxjNHR2?=
 =?utf-8?B?czMzWFArRHhvZ3Y3YnRnalNkNk5TV0Fzdkg4L1NaOEkrOSt5emIxS0ltNWR2?=
 =?utf-8?B?KzYwSVRBVGNod25uZXZac1FDU1BJbUdCcUE2N2ZUU2M4ZXIzRlFvSThHOVht?=
 =?utf-8?B?NThXQjluUUtmWHJxb291anhHRFRlZlpidUU2bDlrdmkwVHBUYnlTd1VGTkFU?=
 =?utf-8?B?dzludjE2cnlQTkxxbUNLTWo0MzZ1YUxrYVg3NnpqdlprS0tmaW9qSGdUVHpB?=
 =?utf-8?B?TGF4RkEzTmpnSmdUbTkwU1ZodWsvYTdhakdtbVREZEVUd3lTQ0d1NGI3cjhJ?=
 =?utf-8?B?NWxGUnFCZ1lDbkJWaXpXcjI2UHU5R1VKNzVBTXdMbmxLbFFjWWRzL2Y2WFAz?=
 =?utf-8?B?S01ZbExiVWg1S2Z2cFFyREI2VzRZci90SG1YMjlZNU1rZUtpVWU0bnpsVVlq?=
 =?utf-8?B?Tyt3NGpic2tITG5VTDROZG5Rc29wS0xCdDIzQVQxZUhGWm5neGh6Yk5FMUtZ?=
 =?utf-8?B?RlZTRUVudlZwbG1BbEhyQkRBOE9jZXUvZlVjV0NhMHpvWWg1UnF5a3pNRDBT?=
 =?utf-8?B?SCs2NHVPdGxBbXpXTHdDWktiODRDOTlLSCs4cWhIVjNiL3Y4cWxyeDJGZWtC?=
 =?utf-8?B?S2tucEM0Sk1aN3FtSno0UTFDcStXVTJSYktIYzJtNm5Idk0rNWNxYXk4YkFl?=
 =?utf-8?B?V3RrcmZsdlNaV1lhWDl5ZXNjYy8wTUpPcURaTFU4ZXVHUDZSUWFreW5YMWhG?=
 =?utf-8?B?Mk0veUVXMlcyVnJaSEwzeE8yMDFEK0Eva3VhSU9sUExhSjduMzVPVmllSzZD?=
 =?utf-8?B?eG44cnA5anpQRzlaUW9pTUYySUNEQVJWWlM0NFErektZdGgzYjZwLzRtQ0xw?=
 =?utf-8?B?c25VenFKRVk3Qko0ZVR6eEJ0bWduTVBYNnlVVGJ5b3Q2TEdURFdyUzI3ell6?=
 =?utf-8?B?OUR1enRMYUttaUNaZmJNV3plbWNwQmNiZ0hYdXlmeENadDRwRlVvZW1udlVQ?=
 =?utf-8?B?U0crVUwvbUZCZXQycUxvUmxzN3Y2U2Frd0hZcUErME10c2tER09SelJ6Y3U2?=
 =?utf-8?Q?EaYXOsWvS+M0d7Hik8R1DQISU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fab78cda-7570-47c0-8891-08db97d719de
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 06:17:11.2276
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jt/G6c1r4aG0m25LFcXny73/J92BKz0Xhr8P6wAUH5Tj5HSTSw9EnnxXVxlzl76ZKysBHcIMVrchhFjD0ZOqkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7858

On 07.08.2023 18:06, Alejandro Vallejo wrote:
> An alt-patching series can probably make it very close to the perf win of
> this patch as long as it transforms the conversion hunks into no-ops when
> there's no hole. I looked into the 2018 patch, and I don't think it tried
> to go that far (afaics it's purpose is to inline the compression parameters
> into the code stream). I highly suspect it would still noticiably
> underperform compared to this one, but I admit it's guesswork and I'd be
> happy to be proven wrong through benchmarks.

The alt-patching certainly will have some residual overhead; if for nothing
else then for the long clobber lists in some of the alternatives.

> Summary:
>   * While alt-patching is an attractive alternative this series doesn't do
>     that and in the spirit of keeping things simple I'd really rather keep
>     it that way. Does this sound reasonable?
>   * For the topic of when to disable compression by default on x86, I
>     genuinely think now's as good a time as any. If we were to do it in 2
>     steps any project downstream may very well not notice until 2 releases
>     down the line, at which point they simply must turn compression back
>     on, which is what they would have to do now anyway.
>   * For the topic of allowing or not the option to be selectable, I think
>     it would be a mistake to preclude it because while we don't know of
>     physical memory maps with big holes on (publicly available) x86, Xen
>     may be itself virtualized with arbitrary memory maps. Unlikely and far
>     fetched as it is, it's IMO worth being at least cautious about. Gating
>     the feature on EXPERT=y and adding a big warning should be good enough
>     to avoid foot-shootouts.

I could live with this as a compromise; really my main objection is to not
allowing the functionality at all on x86. Beyond that I'm obviously not
overly happy with how things are moving here, but so be it.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 06:33:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 06:33:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579268.907172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGHQ-0008Ay-AQ; Tue, 08 Aug 2023 06:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579268.907172; Tue, 08 Aug 2023 06:33:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGHQ-0008Ar-7Y; Tue, 08 Aug 2023 06:33:20 +0000
Received: by outflank-mailman (input) for mailman id 579268;
 Tue, 08 Aug 2023 06:33: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=UQsq=DZ=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qTGHO-0008Al-0C
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 06:33:18 +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 72ca329d-35b5-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 08:33:13 +0200 (CEST)
Received: by mail-pf1-x434.google.com with SMTP id
 d2e1a72fcca58-6873f64a290so1465073b3a.0
 for <xen-devel@lists.xenproject.org>; Mon, 07 Aug 2023 23:33:13 -0700 (PDT)
Received: from [10.70.252.135] ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 ff12-20020a056a002f4c00b0067f2f7eccdcsm7204570pfb.193.2023.08.07.23.32.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 07 Aug 2023 23:33:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72ca329d-35b5-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691476392; x=1692081192;
        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=m1STCrinczuq8FuoUgLs8N4vldOealvmees85dm6MPY=;
        b=DHsGX8t2DlnQTZ3P5OI9n7d2eKbW76xN4tTGVVJSGRA1IM8FeS8yeKRc7hPuylIUq6
         Vn6fFj0Cv1x6zxvq6HdiZeD3sss54GzeWb8hF97LFXrHomN7WJ9YcJ4yAlUPs8k8HgNL
         jvDOSB+a6LFcWjcXHBVF7wtFqF14I5u1bMgCHhYO6BYyHXF5r6kcqyvIScTKejNj9azo
         Dlxz0pBdKdmaGIcMiIhQ+2FswwrIXK2CIvDeChsrdQ0sCkYtUwWfiT2WKOfkpBIAGKTy
         jKW26xAUSVtB349qP1v3gjKBFhibzKHRUcGcdDNMBlsrboMdDTLiQvbJMlgqGN2hazF3
         /EiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691476392; x=1692081192;
        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=m1STCrinczuq8FuoUgLs8N4vldOealvmees85dm6MPY=;
        b=H1jYq2PhU+e6C5LxQXIUHGgvSdLt2DyHxZ8wOP8yAvSK9xHup7Ujc8CKlAKddif76q
         uMlhUnW/ovJ6546XyDfulCxoUOHZ7su/2Z2z3wdckZLfROwgxjSb0H80FqHqBNNvnK/w
         lFxZTOEKeDj/mGVJ2n2L+9PcaPLmhjDlyEAE9GSK1JzGME7sXfOW1ebGhgbB+eK1nhNX
         id3FfrS5AI4diZVMGkoOUMOu37Llxt+DFFAGFSTYdSz6AIknRGLbiE0tealMAPJbnVdj
         AucSR5Z4RpUyUdC6m+Q3aJX3n4zQWalyRjTWHp0HmtMu9P/cDxpCP+Wdp83oVL+DfEHE
         eeOQ==
X-Gm-Message-State: ABy/qLYHS2sZQ5eHT8ktvjxXEHFWHRXEh8TAHK4O1mm3NrVe8ROr2Hpg
	Nn1zdyn5aN3hSPaMdH3JC+w4Cg==
X-Google-Smtp-Source: APBJJlEAHd7r+M3vyCUQDMAxEjMveuzSqb/Q6wUuSUNAB0Ns9zs1qKL/YECIY4J9DtcJjA3HpA/s7A==
X-Received: by 2002:a05:6a21:998c:b0:13d:1ebf:5dfc with SMTP id ve12-20020a056a21998c00b0013d1ebf5dfcmr38062815pzb.5.1691476391828;
        Mon, 07 Aug 2023 23:33:11 -0700 (PDT)
Message-ID: <0e7b16ce-19f9-0c70-4a94-f05cbfee613a@bytedance.com>
Date: Tue, 8 Aug 2023 14:32:55 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v4 44/48] mm: shrinker: add a secondary array for
 shrinker_info::{map, nr_deferred}
To: Dave Chinner <david@fromorbit.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
 roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
 paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com, cel@kernel.org,
 senozhatsky@chromium.org, yujie.liu@intel.com, gregkh@linuxfoundation.org,
 muchun.song@linux.dev, simon.horman@corigine.com, dlemoal@kernel.org,
 linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com, linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com, linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org, virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org,
 Muchun Song <songmuchun@bytedance.com>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-45-zhengqi.arch@bytedance.com>
 <ZNGkcp3Dh8hOiFpk@dread.disaster.area>
Content-Language: en-US
From: Qi Zheng <zhengqi.arch@bytedance.com>
In-Reply-To: <ZNGkcp3Dh8hOiFpk@dread.disaster.area>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Dave,

On 2023/8/8 10:12, Dave Chinner wrote:
> On Mon, Aug 07, 2023 at 07:09:32PM +0800, Qi Zheng wrote:
>> Currently, we maintain two linear arrays per node per memcg, which are
>> shrinker_info::map and shrinker_info::nr_deferred. And we need to resize
>> them when the shrinker_nr_max is exceeded, that is, allocate a new array,
>> and then copy the old array to the new array, and finally free the old
>> array by RCU.
>>
>> For shrinker_info::map, we do set_bit() under the RCU lock, so we may set
>> the value into the old map which is about to be freed. This may cause the
>> value set to be lost. The current solution is not to copy the old map when
>> resizing, but to set all the corresponding bits in the new map to 1. This
>> solves the data loss problem, but bring the overhead of more pointless
>> loops while doing memcg slab shrink.
>>
>> For shrinker_info::nr_deferred, we will only modify it under the read lock
>> of shrinker_rwsem, so it will not run concurrently with the resizing. But
>> after we make memcg slab shrink lockless, there will be the same data loss
>> problem as shrinker_info::map, and we can't work around it like the map.
>>
>> For such resizable arrays, the most straightforward idea is to change it
>> to xarray, like we did for list_lru [1]. We need to do xa_store() in the
>> list_lru_add()-->set_shrinker_bit(), but this will cause memory
>> allocation, and the list_lru_add() doesn't accept failure. A possible
>> solution is to pre-allocate, but the location of pre-allocation is not
>> well determined.
> 
> So you implemented a two level array that preallocates leaf
> nodes to work around it? It's remarkable complex for what it does,

Yes, here I have implemented a two level array like the following:

+---------------+--------+--------+-----+
| shrinker_info | unit 0 | unit 1 | ... | (secondary array)
+---------------+--------+--------+-----+
                      ^
                      |
                 +---------------+-----+
                 | nr_deferred[] | map | (leaf array)
                 +---------------+-----+
                 (shrinker_info_unit)

The leaf array is never freed unless the memcg is destroyed. The
secondary array will be resized every time the shrinker id exceeds
shrinker_nr_max.

> I can't help but think a radix tree using a special holder for
> nr_deferred values of zero would end up being simpler...

I tried. If the shrinker uses list_lru, then we can preallocate
xa node where list_lru_one is pre-allocated. But for other types of
shrinkers, the location of pre-allocation is not easy to determine
(Such as deferred_split_shrinker). And we can't force all memcg aware
shrinkers to use list_lru, so I gave up using xarray and implemented the 
above two-level array.

> 
>> Therefore, this commit chooses to introduce a secondary array for
>> shrinker_info::{map, nr_deferred}, so that we only need to copy this
>> secondary array every time the size is resized. Then even if we get the
>> old secondary array under the RCU lock, the found map and nr_deferred are
>> also true, so no data is lost.
> 
> I don't understand what you are trying to describe here. If we get
> the old array, then don't we get either a stale nr_deferred value,
> or the update we do gets lost because the next shrinker lookup will
> find the new array and os the deferred value stored to the old one
> is never seen again?

As shown above, the leaf array will not be freed when shrinker_info is
expanded, so the shrinker_info_unit can be indexed from both the old
and the new shrinker_info->unit[x]. So the updated nr_deferred and map
will not be lost.

> 
>>
>> [1]. https://lore.kernel.org/all/20220228122126.37293-13-songmuchun@bytedance.com/
>>
>> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
>> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
>> ---
> .....
>> diff --git a/mm/shrinker.c b/mm/shrinker.c
>> index a27779ed3798..1911c06b8af5 100644
>> --- a/mm/shrinker.c
>> +++ b/mm/shrinker.c
>> @@ -12,15 +12,50 @@ DECLARE_RWSEM(shrinker_rwsem);
>>   #ifdef CONFIG_MEMCG
>>   static int shrinker_nr_max;
>>   
>> -/* The shrinker_info is expanded in a batch of BITS_PER_LONG */
>> -static inline int shrinker_map_size(int nr_items)
>> +static inline int shrinker_unit_size(int nr_items)
>>   {
>> -	return (DIV_ROUND_UP(nr_items, BITS_PER_LONG) * sizeof(unsigned long));
>> +	return (DIV_ROUND_UP(nr_items, SHRINKER_UNIT_BITS) * sizeof(struct shrinker_info_unit *));
>>   }
>>   
>> -static inline int shrinker_defer_size(int nr_items)
>> +static inline void shrinker_unit_free(struct shrinker_info *info, int start)
>>   {
>> -	return (round_up(nr_items, BITS_PER_LONG) * sizeof(atomic_long_t));
>> +	struct shrinker_info_unit **unit;
>> +	int nr, i;
>> +
>> +	if (!info)
>> +		return;
>> +
>> +	unit = info->unit;
>> +	nr = DIV_ROUND_UP(info->map_nr_max, SHRINKER_UNIT_BITS);
>> +
>> +	for (i = start; i < nr; i++) {
>> +		if (!unit[i])
>> +			break;
>> +
>> +		kvfree(unit[i]);
>> +		unit[i] = NULL;
>> +	}
>> +}
>> +
>> +static inline int shrinker_unit_alloc(struct shrinker_info *new,
>> +				       struct shrinker_info *old, int nid)
>> +{
>> +	struct shrinker_info_unit *unit;
>> +	int nr = DIV_ROUND_UP(new->map_nr_max, SHRINKER_UNIT_BITS);
>> +	int start = old ? DIV_ROUND_UP(old->map_nr_max, SHRINKER_UNIT_BITS) : 0;
>> +	int i;
>> +
>> +	for (i = start; i < nr; i++) {
>> +		unit = kvzalloc_node(sizeof(*unit), GFP_KERNEL, nid);
> 
> A unit is 576 bytes. Why is this using kvzalloc_node()?

Ah, will use kzalloc_node() in the next version.

> 
>> +		if (!unit) {
>> +			shrinker_unit_free(new, start);
>> +			return -ENOMEM;
>> +		}
>> +
>> +		new->unit[i] = unit;
>> +	}
>> +
>> +	return 0;
>>   }
>>   
>>   void free_shrinker_info(struct mem_cgroup *memcg)
>> @@ -32,6 +67,7 @@ void free_shrinker_info(struct mem_cgroup *memcg)
>>   	for_each_node(nid) {
>>   		pn = memcg->nodeinfo[nid];
>>   		info = rcu_dereference_protected(pn->shrinker_info, true);
>> +		shrinker_unit_free(info, 0);
>>   		kvfree(info);
>>   		rcu_assign_pointer(pn->shrinker_info, NULL);
>>   	}
> 
> Why is this safe? The info and maps are looked up by RCU, so why is
> freeing them without a RCU grace period expiring safe?

The free_shrinker_info() will be called in alloc_shrinker_info() and
mem_cgroup_css_free().

In alloc_shrinker_info(), it will only be called in the error path, so
shrinker_info_unit and shrinker_info can be safely freed.

In mem_cgroup_css_free(), when we get here, the traversal of this memcg
has ended and will not be found again. That is to say, the corresponding
shrink_slab() is also over, so shrinker_info_unit and shrinker_info can
also be safely freed here.

> 
> Yes, it was safe to do this when it was all under a semaphore, but
> now the lookup and use is under RCU, so this freeing isn't
> serialised against lookups anymore...
> 
> 
>> @@ -40,28 +76,27 @@ void free_shrinker_info(struct mem_cgroup *memcg)
>>   int alloc_shrinker_info(struct mem_cgroup *memcg)
>>   {
>>   	struct shrinker_info *info;
>> -	int nid, size, ret = 0;
>> -	int map_size, defer_size = 0;
>> +	int nid, ret = 0;
>> +	int array_size = 0;
>>   
>>   	down_write(&shrinker_rwsem);
>> -	map_size = shrinker_map_size(shrinker_nr_max);
>> -	defer_size = shrinker_defer_size(shrinker_nr_max);
>> -	size = map_size + defer_size;
>> +	array_size = shrinker_unit_size(shrinker_nr_max);
>>   	for_each_node(nid) {
>> -		info = kvzalloc_node(sizeof(*info) + size, GFP_KERNEL, nid);
>> -		if (!info) {
>> -			free_shrinker_info(memcg);
>> -			ret = -ENOMEM;
>> -			break;
>> -		}
>> -		info->nr_deferred = (atomic_long_t *)(info + 1);
>> -		info->map = (void *)info->nr_deferred + defer_size;
>> +		info = kvzalloc_node(sizeof(*info) + array_size, GFP_KERNEL, nid);
>> +		if (!info)
>> +			goto err;
>>   		info->map_nr_max = shrinker_nr_max;
>> +		if (shrinker_unit_alloc(info, NULL, nid))
>> +			goto err;
> 
> That's going to now do a lot of small memory allocation when we have
> lots of shrinkers active....
> 
>> @@ -150,17 +175,34 @@ static int expand_shrinker_info(int new_id)
>>   	return ret;
>>   }
>>   
>> +static inline int shriner_id_to_index(int shrinker_id)
> 
> shrinker_id_to_index

Will fix.

> 
>> +{
>> +	return shrinker_id / SHRINKER_UNIT_BITS;
>> +}
>> +
>> +static inline int shriner_id_to_offset(int shrinker_id)
> 
> shrinker_id_to_offset

Will fix.

> 
>> +{
>> +	return shrinker_id % SHRINKER_UNIT_BITS;
>> +}
> 
> ....
>> @@ -209,26 +251,31 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
>>   				   struct mem_cgroup *memcg)
>>   {
>>   	struct shrinker_info *info;
>> +	struct shrinker_info_unit *unit;
>>   
>>   	info = shrinker_info_protected(memcg, nid);
>> -	return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0);
>> +	unit = info->unit[shriner_id_to_index(shrinker->id)];
>> +	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
>>   }
>>   
>>   static long add_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker,
>>   				  struct mem_cgroup *memcg)
>>   {
>>   	struct shrinker_info *info;
>> +	struct shrinker_info_unit *unit;
>>   
>>   	info = shrinker_info_protected(memcg, nid);
>> -	return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]);
>> +	unit = info->unit[shriner_id_to_index(shrinker->id)];
>> +	return atomic_long_add_return(nr, &unit->nr_deferred[shriner_id_to_offset(shrinker->id)]);
>>   }
>>   
>>   void reparent_shrinker_deferred(struct mem_cgroup *memcg)
>>   {
>> -	int i, nid;
>> +	int nid, index, offset;
>>   	long nr;
>>   	struct mem_cgroup *parent;
>>   	struct shrinker_info *child_info, *parent_info;
>> +	struct shrinker_info_unit *child_unit, *parent_unit;
>>   
>>   	parent = parent_mem_cgroup(memcg);
>>   	if (!parent)
>> @@ -239,9 +286,13 @@ void reparent_shrinker_deferred(struct mem_cgroup *memcg)
>>   	for_each_node(nid) {
>>   		child_info = shrinker_info_protected(memcg, nid);
>>   		parent_info = shrinker_info_protected(parent, nid);
>> -		for (i = 0; i < child_info->map_nr_max; i++) {
>> -			nr = atomic_long_read(&child_info->nr_deferred[i]);
>> -			atomic_long_add(nr, &parent_info->nr_deferred[i]);
>> +		for (index = 0; index < shriner_id_to_index(child_info->map_nr_max); index++) {
>> +			child_unit = child_info->unit[index];
>> +			parent_unit = parent_info->unit[index];
>> +			for (offset = 0; offset < SHRINKER_UNIT_BITS; offset++) {
>> +				nr = atomic_long_read(&child_unit->nr_deferred[offset]);
>> +				atomic_long_add(nr, &parent_unit->nr_deferred[offset]);
>> +			}
>>   		}
>>   	}
>>   	up_read(&shrinker_rwsem);
>> @@ -407,7 +458,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>>   {
>>   	struct shrinker_info *info;
>>   	unsigned long ret, freed = 0;
>> -	int i;
>> +	int offset, index = 0;
>>   
>>   	if (!mem_cgroup_online(memcg))
>>   		return 0;
>> @@ -419,56 +470,63 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>>   	if (unlikely(!info))
>>   		goto unlock;
>>   
>> -	for_each_set_bit(i, info->map, info->map_nr_max) {
>> -		struct shrink_control sc = {
>> -			.gfp_mask = gfp_mask,
>> -			.nid = nid,
>> -			.memcg = memcg,
>> -		};
>> -		struct shrinker *shrinker;
>> +	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
>> +		struct shrinker_info_unit *unit;
> 
> This adds another layer of indent to shrink_slab_memcg(). Please
> factor it first so that the code ends up being readable. Doing that
> first as a separate patch will also make the actual algorithm
> changes in this patch be much more obvious - this huge hunk of
> diff is pretty much impossible to review...

OK, I will send this patch together with PATCH v4 01/02/03/43 as
a single cleanup patchset.

Thanks,
Qi

> 
> -Dave.


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:05:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:05:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579274.907182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGmR-0003Iy-NC; Tue, 08 Aug 2023 07:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579274.907182; Tue, 08 Aug 2023 07: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 1qTGmR-0003Ir-KJ; Tue, 08 Aug 2023 07:05:23 +0000
Received: by outflank-mailman (input) for mailman id 579274;
 Tue, 08 Aug 2023 07:05:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTGmQ-0003Il-Kg
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:05:22 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efefc292-35b9-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:05:20 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7757.eurprd04.prod.outlook.com (2603:10a6:102:b8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 07:05:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07:05: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: efefc292-35b9-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g2/2rqgPHzgsYrFEseDYCrYLX61k61eehvBvsCnsvNZ58LxMGQAIjy5LVLsf8ehStI5D+tDYXz0GXxsVgFRBxYM1DXh0JvxpBhPUbcEBAmZp9OBD7S13ZM03ChIwnqNWOCycnHCRKtvdJUd7DmU1IKWAm8SmgR3JL8mmuwQTwkO39xjnf0bofkSw/T8v5R6kS2lqQ/mmtES1gpQPcQYchRX8Ti8x08B4yWekpRl6dq/FqnDwWbpmy8jq9SZyPz4tzT0zDktoYSQxib1CVG4LxD8AeOhyB2aw0G7Q9vanHB9JJkhEY/Zp9fhQKpGhwFUCRxden0se7QSVkdTfY0JFVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TkJ3g32OqlIHjrdAMHwXrRmn+rgF3dKMx4rDtU8a/k4=;
 b=EQSmMQPbE3kp+FqY4X0CBVOmDFnNTPUMvCrEqRwveKtSjon/r3ZzLZ5EwHLdQrdg/SJNZMwKXbam4D3fOkjhaRMvLmSJz4d+GBgjBQtfZKfZy5bjUn7dgtm6RsyJStQv1vzG+iHEMs52nqHh5TlQFKdlRRIgUiZkBWAp/UwuKjlA6X8qgSw4a+JFoh3RkxsYqFrz7QWvIphQDvhPvqQ3c2h6r64FCNvdTa/nslPger72tqaUxg9cIAA1QF95qEzpDwT9fSKb44iW0TSGbf7a8HmXNgdg98HEf7iHzx0KvSkDRXrjj6nCPEb1jY/Y1NNzxt5ynxSSW77GtBOg+Xcrow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TkJ3g32OqlIHjrdAMHwXrRmn+rgF3dKMx4rDtU8a/k4=;
 b=zzx+EarkrvP2pWYK/Ya/u0nuNCc9VnxQwJS5ymlRP8IKKDnqXc11A2Q2u0W+MAlskgmGseDx/2lwhIHvBLwy1973qGtGvgFDQGf3HdhJxT0j5jPesh95snHtzUhki7ZnRuxRuD2pT0Uh1ZalhZE2zJe10Uha6Vl75IglPUbrQNxXSo45TIc4KyMSU/14diAaAWdWITsMhte5QT3+ygn1qeAb4J6fhaC3kLeKeTs/AcUx73OW/5QwEDdj3XEwfvmTLHKxSr4YmJS6KMXetO0bjBYKjjxkREyNejnI0l7HXQV70Ay9zNO1KWXEwEUZJ2n3/cXXRxxXMveOz/3ekSJ+3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5fd0359b-fcbb-3073-6fb1-bc462eceb295@suse.com>
Date: Tue, 8 Aug 2023 09:05:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v8 04/15] xen/sysctl: Nest cpufreq scaling options
Content-Language: en-US
To: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>
References: <20230807185119.98333-1-jandryuk@gmail.com>
 <20230807185119.98333-5-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230807185119.98333-5-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7757:EE_
X-MS-Office365-Filtering-Correlation-Id: 677bec7a-cf78-4126-75ec-08db97ddd287
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MC7gxlXMiApdw8ksmk2TDBGRsuq6t3N0dLLXLhSF40tCDatdIeTkKiPD5wSD5N/JduhmZscIOWJjvivcOc5NoL8KY65ZKXgA8EQK8uPmvWlGXGDst3j5k0b4gItgcocnUztKeeN+IfrkCi1MSmrwTKbBosEz9gzV8cbWTALUclHloeXqhZ45PTAFETRfibbrpKu819vS+GL7+8MLp8+b62aLR/IpFHdF9qrAyFWPbYo8/k9lTlbpZjaabJifyoZ0I+IgVRG9wUQx+xfkpzrBs2v0wKrLkvq3vuYhEYqex77y2AzzDCjNxg+HbYTF3A6L5fUE3XnCIF5VPWL+Un2VOZOkiiVye54HbHozFN6wAvlfWPJw961dLVbuPirw/tVOEeBMuZfIqoaFwli4RHGN3dX4otWNmAaHzpbSImBfBO01kiAlFJza89jaPSUjE8LtYGXieC8Tx7ArlXm9cgZ7UFtNQfavtZBo2nJdYmD74lYumgrcyZiN+fzeMBgqkBZq2eBoVyI4dJmBEsOpKAniyyMIn3rULdo6RDJZ2OShXy4Iiy4LHykKPV2huLrGSJr18TPKdibU4rNm87vrlPt2f3W2u2hyrhqtkQ4Smn2jNomy7cdOIsrMdbuOee4jq9jSRiWpCDqC7N5doak8VzdCAllpn+4bVfZSX5VyqJdPydthOF2OvoA9qefTwLXVOeXrIQ+HyzkC6vsgGiXfqnf/nQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(396003)(136003)(366004)(39860400002)(451199021)(186006)(1800799003)(90011799007)(90021799007)(31686004)(316002)(83380400001)(107886003)(2616005)(2906002)(36756003)(8936002)(8676002)(26005)(53546011)(38100700002)(6666004)(6486002)(5660300002)(66476007)(66556008)(66946007)(41300700001)(4326008)(6506007)(478600001)(31696002)(54906003)(110136005)(86362001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3haVDN0alU0Mk9LSTU0Qm8xRjBNRHdlanA4anh1THg1eU5POGx1VHpFampu?=
 =?utf-8?B?UzhqMWtHYTMvT1hGVFFYSDcxY0Jyc055bnIrVXBrcGp2WGtlQjZaMXBLa1F1?=
 =?utf-8?B?VzZOcGd6U25qeGNnQ2U0QXQxbkpCRHY5VE52R1o2R3hvclFYOEdMVDB6UVdU?=
 =?utf-8?B?b0YwWWZzMVhrNkxtY1VmZnJWVXJiNlRkejlUM3dLOTBibFl0WHdUd0xveDdT?=
 =?utf-8?B?Y0w0aTNLV25vSW5MQVpNNUJMUEhlU29MbGxnMnNSajVCQlNLNnZOdVp3dWJ6?=
 =?utf-8?B?MXhQbGZHbTJWSDhiempEeUVBWUhqTzlzRTVoNURMSHN0TkY5TUNEWDBrL2x2?=
 =?utf-8?B?Zm5SZGx4dUkzU21QY2FXWkgreldMcTlJTEhvaE51YjVrQ25GSXRWM1QvSHU1?=
 =?utf-8?B?US9wVjdTUU1FM3BwcXRWcTczODJOa0NGbDlFRTE0ZlppZkVJc0hxQ04rODNT?=
 =?utf-8?B?TEltMFFUMTNtV0VVUXg3ZFBpQ1BqSlRTNWVNS0orUGo0V0R1T2lPUGh5T3FE?=
 =?utf-8?B?a3hhOVFyWm5KYTNaVU9rTkg1bEhETi84YUZzZEliK0JRZGxyWGFjM1FqMWxO?=
 =?utf-8?B?ZzREMDJDVWJUV2NhZGlQSkpMeGtpRnlUYTZod2l6c1JyNitpWFdLQlBLaVpZ?=
 =?utf-8?B?ZWw4a1dMQkZCUTB1NGdaY1hpQ3diSU9pZHgybGlNL0pXSkhaenJkUEV1MVBp?=
 =?utf-8?B?RWllT1RpMlg4SWdOWFF0eHdrbnJPeUVzTTNobS90RG96VTR6Y25xaGxROTBw?=
 =?utf-8?B?MWlQK2YzYWxoZ1U2bEgxbU5CV3VwcmZ0bU1SQk9qOThubG4xVEhtZUU3ZHU2?=
 =?utf-8?B?OFBNYkIwaEdwR1ppdmdScW0vUGJta1daQjMrMEdoQ1Awanp0dlBlRHJsbGxh?=
 =?utf-8?B?T0c4NEU4V0E4bnlrTURMVGlSTDQzSUN2UmFrcTl0TTkwRjFQQU01cDRMTTRt?=
 =?utf-8?B?cENJQ3RkRHNvbXowMlh3RUVjcTc1d1lSenRBUDFhc3grZ214UWIxcVdJNkYw?=
 =?utf-8?B?blI1a0xjL2s3SWRPTUVaK0NCblJMVjU5WHMyc2hzRGVGRDlBUEM3NGp3NTNp?=
 =?utf-8?B?dG5LZE9LczZwVFRIRW9ELzMxeU9KTTVOMmZIc0tyVitmL3EwUjROaDBlTVNi?=
 =?utf-8?B?MnNFbDE4ZG5zTjg4MmVPS2xpUEJUOXZDQUFxVkxpcEFrYktSR3RkcFcxRi9i?=
 =?utf-8?B?RnY1V1NpZEkyRlBxcUFYV0ZTZk5VVjVERm42UWgvWGVTOXJBeWsraGJJNVA0?=
 =?utf-8?B?V1pmQUlrSEluOVMrOXVsdU1rcFhMckJrQnJyelhVRGE5bVR0MTlIM1c0N0lL?=
 =?utf-8?B?dmJOS1BzVnBoSS80MzltRXhXcnJkVHFUMW5FeUJ6cVRGL3Q1UGtXaHMraXJI?=
 =?utf-8?B?emNSdFlhT0xjb3FOaWt0MU9IeUV0NnMwOUl6UU5mVmE0NFE5anZwK3NrVk0r?=
 =?utf-8?B?YVA5ZjcrUlJPaU9WMGRLVGp3SDVOUk1FMVJjMXphNWV3NEdJYkZGZFk2MmZP?=
 =?utf-8?B?c2FkNUk1YjlncUp3dTBHQUNVZmttZk8wbGUvZi94NlJEUG8zR1BZMFZsYzF1?=
 =?utf-8?B?ajB2eWhPSUVlaVFNS2Z4RmFYR3gwc2R2cnVDQWN5bHhsblJ0RnZTU0tSLzlQ?=
 =?utf-8?B?bG5QOWNVaHYyaGRtbEFsTzE4c3BTYjlSMTZBbXZ2eGpiYURnSmliNkZuR01K?=
 =?utf-8?B?MXRmY3Q3ekZ0elRyTzhXUXpnaWxDd1AwTHhTWExYU05VeWpjUjB5VlVJcWFH?=
 =?utf-8?B?ZkFiL2Y5aFQzbkJaQ0F4aXcxL0ZZZVNLYnhyWHowMndNRnJzQzY0b29TZElL?=
 =?utf-8?B?VnQrbVp2R0dmc2pvQThNaWk4QVljRDVpYTRHalFPUkFZRHdDMklnR0REMm5z?=
 =?utf-8?B?dXRMd0E3Q3E0ZE0vWlJVT01xMGI2UVlISjNNcEZDRGtVai8xN2ppb2toREpy?=
 =?utf-8?B?Q1hvS1pJcGdxNTFIcC84M0RVdGpGVm9wM1hZcmJsWE03eUtOWHQwblhPa3FZ?=
 =?utf-8?B?L29qRzE3OXMyUnUzUnpwbG4wV3E5RE16MERCWjNUOHlxNW1VblBOeGhnNkdn?=
 =?utf-8?B?dW1mZG1MeHhlMitRZlpLKzd2QjVqeUYrM1pvNnAyNlQ5MjU5a3JFWVNBa1FE?=
 =?utf-8?Q?VpcuD2ZfSB64f1Si8mcE/1elZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 677bec7a-cf78-4126-75ec-08db97ddd287
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:05:18.0374
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t0gbp7vuuMy5U4zzzwdeYsGRz3bC12KbOxWsgyfjY/tZoSGRz2qLgdl7H4TUZ2WHw4gDw+HJHlXdsMraO7D8Eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7757

On 07.08.2023 20:51, Jason Andryuk wrote:
> Add a union and struct so that most of the scaling variables of struct
> xen_get_cpufreq_para are within in a binary-compatible layout.  This
> allows cppc_para to live in the larger union and use uint32_ts - struct
> xen_cppc_para will be 10 uint32_t's.
> 
> The new scaling struct is 3 * uint32_t + 16 bytes CPUFREQ_NAME_LEN + 4 *
> uint32_t for xen_ondemand = 11 uint32_t.  That means the old size is
> retained, int32_t turbo_enabled doesn't move and it's binary compatible.
> 
> The out-of-context memcpy() in xc_get_cpufreq_para() now handles the
> copying of the fields removed there.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> v8:
> Add BUILD_BUG_ON checks for structs xc_get_cpufreq_para & xen_get_cpufreq_para
> 
> v6:
> Add Jan's Reviewed-by
> 
> v5:
> Expand commit message
> Change comment to driver/governor
> ---
>  tools/include/xenctrl.h     | 22 ++++++++++--------
>  tools/libs/ctrl/xc_pm.c     | 46 ++++++++++++++++++++++++++++++++-----
>  tools/misc/xenpm.c          | 24 +++++++++----------
>  xen/drivers/acpi/pmstat.c   | 27 +++++++++++-----------
>  xen/include/public/sysctl.h | 22 ++++++++++--------
>  5 files changed, 92 insertions(+), 49 deletions(-)

Since the note in the cover letter may not be noticed - this wants looking at by
a tool stack person.

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:07:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579281.907193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGoO-0003v8-7r; Tue, 08 Aug 2023 07:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579281.907193; Tue, 08 Aug 2023 07: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 1qTGoO-0003v1-4O; Tue, 08 Aug 2023 07:07:24 +0000
Received: by outflank-mailman (input) for mailman id 579281;
 Tue, 08 Aug 2023 07:07: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTGoM-0003up-S9
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:07:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3722a41c-35ba-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 09:07:21 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7757.eurprd04.prod.outlook.com (2603:10a6:102:b8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 07:07:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07:07: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: 3722a41c-35ba-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BYpXMwmcGDS1yr/uGYGcKiB8ZsgOU4+ZiTAWqdWcakds6wMpOuu3pxMYy2NsFuF+1242hjpTkvamv+iP4ns6sg8XcveVeRTqV6CZw/l4uU3xyIyyfJxDCLfp1zonSdW8Hnl4pYZO/NI7JLgreZI0iizn8ZNnmZU2UJ0t1YH0qqo5thVHnMX7EkqMkV23Zb9eSFgmf7BgX8HrWWjeSlhh8dmJxsDzrRif9SsGEHNeIHOUVyXZiNFu7A4fw8o7Ckhl2rUNKU8cfCVyt2Uhspra7b28oJ+RdwZbwy3dMgIcv/M9TYRsZfYOccA0CL+gjSWPeVYjxmV/SgANCDD14UuAiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4K/6ih7WCPUX5PqpeT51DGBp3NNyv+xM1y49KZkLv5c=;
 b=D1hUKdL/PUTV5P7GBhz3RDCM4PK76H1PsP5kMkHefO9Hl/5x/CBsyXhTGLOCaZLY58Ivv5bHFw2ti7QANOFlyb09aYf6u1vWrG72J9346y3xXEzlN2opWlj+jBQXidFBIQuV+oFHrXY4C90worgkkBa/tjWVDMrjx1Ktys+OES7Rfaba1oiwWxG43Da9f+r/sYpM/93nXPta4+nxtQTHJLZPbbD2r9aYXw/Qr3YabpGYujrhF2d543K9HYv57KSByphUHzig3nnVHMt+qB5PiHocu7jUlPdNfFN0RwybmW/af96tI7dcPbn9IET6W4DQx5P50LchmgC3qxu0Df7NtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4K/6ih7WCPUX5PqpeT51DGBp3NNyv+xM1y49KZkLv5c=;
 b=5QPqHIN2+feSAzpQ+OFJDDrntSMbmLXD6vIbga7ROKTCU0Dsq2Mh53k256mUvdCWAyObJWLsRqM4PsHPQwKyKEoHJSGUfCX8lL3IYOgeHYBfGKDFiolxLAn+dEfboiPk/JFsdn/QLmmmz6KiaPxdwFFHiZ3hYom/RAp6iqsepyoyaP0I8W5LL2+aQwJ0mQoruALheYPQGS1vVH79GUg8PWs4ZnZ9Zfd9Ya+D1LFxgls668XBxSr09OmgUGW/8DqROg0+wxrH3IMHXLvEx0dAR+0utnIdjaG7bx0YjarwkNSlsHxVvKpFsu+m5vSuXsPhZKNqAR2sI2ZrmXEAKcCg9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e5a1e82-b472-8c47-4d21-6df34755381d@suse.com>
Date: Tue, 8 Aug 2023 09:07:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
Content-Language: en-US
To: Kevin Alarcon Negy <kevin@exostellar.io>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7757:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d0e74e5-de3a-40ed-8636-08db97de1a03
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jGc/OKvdXyLCE/hGXZ0QSxeU+VsdDleVW1nGCUfXrQyWFo2xCTyIfvikdsyJ0BUS7Vm/XHhQSXVMSaARCpoguJ6WrMd3U4qzUZRon9D4CTD1Cjpd6IBPE/+cBm83y3cE00ZmpdxHl3HDffu7k+8FnZUQoFmUN79vswT1cUDAfAbl1EVVdZ+SFiexvh/HIUF04gGI4aO2mCsi/SilfDrqlr4qCkBTxmWMrzJeUGPGdPOZrJnQ6baCArhecHClFAguSGbI+F7GacKiNr5xlKWxO5Guz2PlaVa2dJAi1m+buU7lIx+aViyhdRoLl5d3vZYqxPkwtL78y67zxX9fX3+omGc5Z7yzkxL6mWziCHmAGZTbEYZWdXq3Hv2QrPG2ihhr01BEFvQB9C7tKJwpvxxJToXlHrDR5fB3vsjoPWTaYwSkhqeiGlGQtzUoqAUimyWNukzO7KfRTotU4QSHQJo6aFeTU3qXM5l0gQchS4N5p7TD1Vri6BTLybKyIB5fApaljFhKYCXd+OvM96yHvpixytXlsrATIxk8DtokT2va+pSp/32m3P9JxKcDQDJrJ8jWNHU6j7PNNd4rFtsBQnBrYX5ZyasUrj4ZR8T0FV0SdBUKhcg1xaRlvR2uUtuyNPZOZXjaT/DuikKqXnE6AcKYFG78bO36cFbvhCr+LCnphiyyp2O5Hh376Ojg6nkAKkTB2Wcw3TlO0XVA0ANfz8/1xA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(396003)(136003)(366004)(39860400002)(451199021)(186006)(1800799003)(90011799007)(90021799007)(31686004)(316002)(83380400001)(2616005)(2906002)(36756003)(8936002)(8676002)(26005)(53546011)(38100700002)(6486002)(5660300002)(66476007)(66556008)(66946007)(41300700001)(4326008)(6916009)(6506007)(478600001)(31696002)(54906003)(86362001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFVHMTVhY2x1WVNsQ3dKZnoxVWVqazdITkZlYWhjekxlSmFXMk1keS90ZXYr?=
 =?utf-8?B?bnZmbCtoSUlzTTBXbkw3aVZQV002Wk5XNjFBTXI1QXlpcDdFOTNxYzk2dU5H?=
 =?utf-8?B?T0UrejcrajkvWDFHelZqcER3bDJPdDF6NFNyeDN1RnBMNmxMN3pGR0pTN01x?=
 =?utf-8?B?RUljSmttZ1FKbm9aTDNrQU02Q1p6eXBHaWFpajdwLzJsTTJOR056UzlmZk1q?=
 =?utf-8?B?K2Jwb3F2cTNQVW9TQ0VxSUZ2SE9UZ3lJUWZPVythMWdTVFA0SmM2NitHYnR2?=
 =?utf-8?B?K1FBbDNVU01GL0FBRTMyMmZ0Rjg3cldyQlJiN0xjV2RLeHB1UDFzRC9iOUhP?=
 =?utf-8?B?Z0Z4U3NTREhjTE9jeU5sc29HYjIxNVc4WTUwbDlaSjNlTFVHWEtGNEZyR1Zt?=
 =?utf-8?B?VURlRTQ1bmg3MzYxa2NNRytjdzNzZjZrQ1dTNk0yNHpaNmdRTEE5bEZJbXFr?=
 =?utf-8?B?NnZOTEorMXFqZFkrS1FmTFJSSENCQzMwaytoRWo0MFB2aVYwRDNteFhOc3Qz?=
 =?utf-8?B?b1ovazdEb25QSzZ5RWVrZ21wNUZzcmJrZDlvOEJTU3g0K0UvVGJLNldWSTJo?=
 =?utf-8?B?YjRFK0ZNL3luYVFnSlF0enI3R1JKUC95MzhKK1RpQXp3eDF5MmVlLzNJMEdY?=
 =?utf-8?B?N3I4QXJkQjRYU0QvNStKUE1yQVlFVlVzK1A1L3g2UUc2bnF3UzBLM3hxT1VQ?=
 =?utf-8?B?K24vbTRSVEcrSmxHUG9MNGVWUDBsQzNpVGRDVmRiNmdscXBkOUt4YW5Ybjcx?=
 =?utf-8?B?VWpNRFAveENpZGhvYkhEZTJqTFVISmNzMW55TncvUms2TFg4Zm0wOFhUSjB2?=
 =?utf-8?B?NmljbVFhd3RqQlBWdzdYdDNWenpZTFRxYTJCOGNuT2h3dnFWUDM4U01RZ1B4?=
 =?utf-8?B?MWdRMUY2dG55d2FRcGVsNEFNMkEvTHJpWUVBRSsyOUJWMExDSUU0UFRVV0w5?=
 =?utf-8?B?a0hBTVE4Q092S3Noa0Q4YnYyeTgxWGJhYWNFNUU5WUpSTlBKQm1LWnpRMEFs?=
 =?utf-8?B?SzZDbjB2RVR1UHdGbnhyd0g0bTFSREFXc1VwZ3FkZCthblNiQjVmcnJUeGF5?=
 =?utf-8?B?c1ZCemszdkJWaGo3bXlGQWVmV3lUNit0Mjdnblo0c1Y4ZmJNYVRTTDNFQWQ3?=
 =?utf-8?B?SnlMMHMrcHNWTFhoQUpkNEZVSUNUVkMyQWJUdXM5NHp3Nms5R1VIMzIrTVhE?=
 =?utf-8?B?Vlk2ajBHbjN2NngzSm1TWjl6RkxkU0lYM3ZZRDFRdWFiVGZQaEdsWlFuZ0s0?=
 =?utf-8?B?OGRBcTQ2YnhlV21DUzQ5SlhqaldvR0UyNERHZWRPc3kxc1BiYXVEZGZwMHR5?=
 =?utf-8?B?WGIycGlYNXhENHVudjZkQmIvSVlIaHJ2Sm5RdzEyVFRLZnJUaGx3WkRLV1BY?=
 =?utf-8?B?SWR0dUdBVC9OTWdRWXBWZVdNL1kxVzd3dlR6UVcvNTRHdlIwREVqY1gwL0NN?=
 =?utf-8?B?eTZHcUhiR3Z3N3BuN29pNForRHFZanRLcUM4RWtRb244QU5XTWRreG9jL28w?=
 =?utf-8?B?bFR6NTgyempLZ3JqNE8remZOY1lLYVcya05ZZWYrTVFieW40dmRrMllkaDRX?=
 =?utf-8?B?RzdjTGtZY0svdk1KZXprd09wRE1JeEZsN3JCdWd0K2gxVWcxU2EzeWhtV0Vv?=
 =?utf-8?B?V2xIMURFR0QyV29ZMjFDakZLcHFxejFWVkJKYkluOHB0K2l6blYrckV5YWlY?=
 =?utf-8?B?SXQ5SFNLdjF6MjlQTDRzVDVkem9OeCtvY2NNOTBaMDduSTM2dnpvNHdMcFQx?=
 =?utf-8?B?eG16WjN1Y3NodG1jZWx4T0hmVnB2OWJpaXYwZTJrV2hUZnRpM3J5T1BPS2Y4?=
 =?utf-8?B?VGlxK1QxVTRaWENiMXMya1dMdW5QTnNiVm0rR1RndEZIaWhCcnN6Nno4Zyts?=
 =?utf-8?B?dkhNYllTcU1JTUYyZTFicDRBMERHSG9aQ0d4MGE2M3BPVmM3V0JHNElVWHY1?=
 =?utf-8?B?S1ZsU2IwN1VkcktxaUJGRXRRSUpvOWhYbXZsK2duZ2FKeDZScFlCSVgwdWc3?=
 =?utf-8?B?OXQvQVIzc3pGZGdZbVcwSklRT09JYXhTRnBhYnBaVGpvVUdRM092SFlMRk1s?=
 =?utf-8?B?ODBMd3lXY2h4cS9zRWlKOVJhMFJ5YnhzV0loL2ZubDE4KzQvaGkyY1g3cGV2?=
 =?utf-8?Q?M7H9uMCWkGT5fQcyuELiPklYd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d0e74e5-de3a-40ed-8636-08db97de1a03
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:07:17.9940
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9GkCW4V92leApKI65tj+xCFs9P/WktzWN/NRmp0OSBtvJ3P2huifWiRlb7bTA20DyjZRJZtDbnXbzsbAk6HjjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7757

On 08.08.2023 00:16, Kevin Alarcon Negy wrote:
> When building a domain, xc_domain_setmaxmem() is called with target_memkb (memory in domain config file).
> If a config specifies maxmem > memory, any attempts to increase the domain memory size to its max,
> outside of xl mem-set or xl mem-max, which already call xc_domain_setmaxmem() properly, will fail.
> Changed xc_domain_setmaxmem() call inside libxl__build_pre() to use max_memkb.
> 
> Signed-off-by: Kevin Alarcon Negy <kevin@exostellar.io>
> ---
>  tools/libs/light/libxl_dom.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

A note on why you resent would have been useful here. Is this perhaps
more a ping than a resend?

Jan

> diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
> index 94fef37401..16aa255aad 100644
> --- a/tools/libs/light/libxl_dom.c
> +++ b/tools/libs/light/libxl_dom.c
> @@ -355,7 +355,7 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
>          return ERROR_FAIL;
>      }
>  
> -    if (xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + size) < 0) {
> +    if (xc_domain_setmaxmem(ctx->xch, domid, info->max_memkb + size) < 0) {
>          LOGE(ERROR, "Couldn't set max memory");
>          return ERROR_FAIL;
>      }



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:08:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:08:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579287.907203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGpF-0004SR-FN; Tue, 08 Aug 2023 07:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579287.907203; Tue, 08 Aug 2023 07: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 1qTGpF-0004SK-Ch; Tue, 08 Aug 2023 07:08:17 +0000
Received: by outflank-mailman (input) for mailman id 579287;
 Tue, 08 Aug 2023 07: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTGpE-0004SA-7B
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:08:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 571023df-35ba-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 09:08:13 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 498924EE0737;
 Tue,  8 Aug 2023 09:08: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: 571023df-35ba-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 09:08:13 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <55599ec7a1c6d07af6093920fe3f9125@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 07/08/2023 11:10, Jan Beulich wrote:
> On 07.08.2023 10:59, Nicola Vetrini wrote:
>> On 07/08/2023 10:09, Jan Beulich wrote:
>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>>> The variable declared in the header file
>>>> 'xen/arch/x86/include/asm/e820.h'
>>>> is shadowed by many function parameters, so it is renamed to avoid
>>>> these
>>>> violations.
>>>> 
>>>> No functional changes.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> This patch is similar to other renames done on previous patches, and
>>>> the
>>>> preferred strategy there was to rename the global variable. This one
>>>> has more occurrences that are spread in various files, but
>>>> the general pattern is the same.
>>> 
>>> Still I think it would be better done the other way around, and 
>>> perhaps
>>> in
>>> more than a single patch. It looks like "many == 3", i.e.
>>> - e820_add_range(), which is only ever called with "e820" as its
>>> argument,
>>>   and hence the parameter could be dropped,

I see another downside with this approach (I should have spotted this 
sooner):
Since e820_add_range and the other functions expected e820 as a pointer, 
they are
written like this:

for ( i = 0; i < e820->nr_map; ++i )
     {
         uint64_t rs = e820->map[i].addr;
         uint64_t re = rs + e820->map[i].size;

         if ( rs == e && e820->map[i].type == type )
         {
             e820->map[i].addr = s;
             return 1;
         }
...

Dropping the parameter would either mean
1. Use a local parameter that stores the address of e820, which kind of
    nullifies the purpose of dropping the parameter imho;
2. Rewrite it so that it operates on a "struct e820map", which would 
mean
    substantial churn;
3. Make the global a pointer, which is reminiscent of (1)

All in all, I do like the global renaming approach more, because it 
lessens
the amount of code that needs to change to accomodate a case of 
shadowing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:14:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:14:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579296.907213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGus-0005x5-4M; Tue, 08 Aug 2023 07:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579296.907213; Tue, 08 Aug 2023 07: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 1qTGus-0005wy-0R; Tue, 08 Aug 2023 07:14:06 +0000
Received: by outflank-mailman (input) for mailman id 579296;
 Tue, 08 Aug 2023 07:14: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=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTGuq-0005ws-PW
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:14:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 277ce34c-35bb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:14:03 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E74FC2247E;
 Tue,  8 Aug 2023 07:14:02 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BFEEA13451;
 Tue,  8 Aug 2023 07:14:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id N2t1LTrr0WRbWAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 07:14: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: 277ce34c-35bb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691478842; 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=c+qF184B5rmJ/fR8Yb3OZb8seiHxjL7CMZfZGReEIlw=;
	b=EC1lc1fQzYx5WU3RKWQegFJP6jNyT9ZOzLEiPFg+cFA/Qrd5M6lwvdGodnOod6R4XhYKtE
	ONligztZClZpWj7nESh2iQhVj5XXVexLPleQTDd9oUR4d1av5LYJBGeHmcv9G8PO53n2eq
	ikmLxiCYl0nmnOdVIi5t60/SKVZeZtQ=
Message-ID: <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
Date: Tue, 8 Aug 2023 09:14:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
Content-Language: en-US
To: Kevin Alarcon Negy <kevin@exostellar.io>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
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: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tBBrA0wep04TuWTsbF0xBK0d"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tBBrA0wep04TuWTsbF0xBK0d
Content-Type: multipart/mixed; boundary="------------aj0uQ70ddhSk6iwUnIkoxP0C";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Kevin Alarcon Negy <kevin@exostellar.io>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
In-Reply-To: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>

--------------aj0uQ70ddhSk6iwUnIkoxP0C
Content-Type: multipart/mixed; boundary="------------AzvIcT0FpbHwyGgoJ5s1ODMG"

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

T24gMDguMDguMjMgMDA6MTYsIEtldmluIEFsYXJjb24gTmVneSB3cm90ZToNCj4gV2hlbiBi
dWlsZGluZyBhIGRvbWFpbiwgeGNfZG9tYWluX3NldG1heG1lbSgpIGlzIGNhbGxlZCB3aXRo
IHRhcmdldF9tZW1rYiAobWVtb3J5IGluIGRvbWFpbiBjb25maWcgZmlsZSkuDQo+IElmIGEg
Y29uZmlnIHNwZWNpZmllcyBtYXhtZW0gPiBtZW1vcnksIGFueSBhdHRlbXB0cyB0byBpbmNy
ZWFzZSB0aGUgZG9tYWluIG1lbW9yeSBzaXplIHRvIGl0cyBtYXgsDQo+IG91dHNpZGUgb2Yg
eGwgbWVtLXNldCBvciB4bCBtZW0tbWF4LCB3aGljaCBhbHJlYWR5IGNhbGwgeGNfZG9tYWlu
X3NldG1heG1lbSgpIHByb3Blcmx5LCB3aWxsIGZhaWwuDQoNCkJ1dCB0aGlzIGlzIGhvdyBp
dCBzaG91bGQgd29yaywgbm8/DQoNCldpdGggeW91ciBjaGFuZ2UgdGhlIGd1ZXN0IGNvdWxk
IGVhc2lseSBiYWxsb29uIGl0c2VsZiB1cCB0byBtYXhtZW0gd2l0aG91dCBpdA0KaGF2aW5n
IGJlZW4gYWxsb3dlZCB0byBkbyBzby4NCg0KVGhlIG1heG1lbSBjb25maWcgb3B0aW9uIGlz
IG1lYW50IHRvIHRlbGwgdGhlIGRvbWFpbiBob3cgbXVjaCBtZW1vcnkgaXQgc2hvdWxkDQpi
ZSBwcmVwYXJlZCB0byB1c2Ugc29tZSB0aW1lIGluIHRoZSBmdXR1cmUuIEl0IGlzbid0IG1l
YW50IHRvIGFsbG93IHRoZSBkb21haW4NCnRvIHVzZSByaWdodCBub3cuDQoNCg0KSnVlcmdl
bg0KDQo+IENoYW5nZWQgeGNfZG9tYWluX3NldG1heG1lbSgpIGNhbGwgaW5zaWRlIGxpYnhs
X19idWlsZF9wcmUoKSB0byB1c2UgbWF4X21lbWtiLg0KPiANCj4gU2lnbmVkLW9mZi1ieTog
S2V2aW4gQWxhcmNvbiBOZWd5IDxrZXZpbkBleG9zdGVsbGFyLmlvPg0KPiAtLS0NCj4gICB0
b29scy9saWJzL2xpZ2h0L2xpYnhsX2RvbS5jIHwgMiArLQ0KPiAgIDEgZmlsZSBjaGFuZ2Vk
LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfZG9tLmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2Rv
bS5jDQo+IGluZGV4IDk0ZmVmMzc0MDEuLjE2YWEyNTVhYWQgMTAwNjQ0DQo+IC0tLSBhL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfZG9tLmMNCj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9kb20uYw0KPiBAQCAtMzU1LDcgKzM1NSw3IEBAIGludCBsaWJ4bF9fYnVpbGRfcHJl
KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLA0KPiAgICAgICAgICAgcmV0dXJuIEVS
Uk9SX0ZBSUw7DQo+ICAgICAgIH0NCj4gICANCj4gLSAgICBpZiAoeGNfZG9tYWluX3NldG1h
eG1lbShjdHgtPnhjaCwgZG9taWQsIGluZm8tPnRhcmdldF9tZW1rYiArIHNpemUpIDwgMCkg
ew0KPiArICAgIGlmICh4Y19kb21haW5fc2V0bWF4bWVtKGN0eC0+eGNoLCBkb21pZCwgaW5m
by0+bWF4X21lbWtiICsgc2l6ZSkgPCAwKSB7DQo+ICAgICAgICAgICBMT0dFKEVSUk9SLCAi
Q291bGRuJ3Qgc2V0IG1heCBtZW1vcnkiKTsNCj4gICAgICAgICAgIHJldHVybiBFUlJPUl9G
QUlMOw0KPiAgICAgICB9DQoNCg==
--------------AzvIcT0FpbHwyGgoJ5s1ODMG
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------AzvIcT0FpbHwyGgoJ5s1ODMG--

--------------aj0uQ70ddhSk6iwUnIkoxP0C--

--------------tBBrA0wep04TuWTsbF0xBK0d
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/Ey8FAmTR6zoFAwAAAAAACgkQsN6d1ii/Ey+/
VAgAkzTHnljJVZg5sw4nP7caJtbjmcekQu7sbUARJqHdKyHpM/gQ7aQI6HJDddFy7lZW8oh5v+Mw
b92iztQAz0S8/Yb++6m8+nul4jqYX5o4Y/Q41WPV88RoEe46DUCuyL/fvqOg4xQTB9qOIzPLNrxm
SP63UxAOQLSWnX8K0ZfS8q5Ab5F0YALq+jGbVjJPm4Vx1785XB4dIsCLUOha+AD6aPPaNB11EpoM
Vn5TIq86W3gRniUAzNMXOmJHyM9c2HYLnFoiMBu72I9ggwYxkXmnqWSbYNTdK2mqqporOZtayPaN
yE8Z3mlZOEZfIRipQppZGO2EAHlTpP2oic9drEee5w==
=z279
-----END PGP SIGNATURE-----

--------------tBBrA0wep04TuWTsbF0xBK0d--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:14:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579299.907223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTGvS-0006SD-Bx; Tue, 08 Aug 2023 07:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579299.907223; Tue, 08 Aug 2023 07: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 1qTGvS-0006S6-97; Tue, 08 Aug 2023 07:14:42 +0000
Received: by outflank-mailman (input) for mailman id 579299;
 Tue, 08 Aug 2023 07:14: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 1qTGvQ-0006Ru-QA; Tue, 08 Aug 2023 07:14: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 1qTGvQ-0003kg-Gk; Tue, 08 Aug 2023 07:14: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 1qTGvQ-0005rf-0q; Tue, 08 Aug 2023 07:14:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTGvQ-000860-0O; Tue, 08 Aug 2023 07:14: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=FQYVY+Id1sADrSRkNk/YmKIsSLIkLY97Poi88PNBnGY=; b=nO+zGnoRci0AHYFGftmIX2aLRr
	/2I8BHquemIzMC0ymNpyOvzsveGgCGrxgF6Z/X1VD1chlnnEp1dBzNw/b7UCm817y2wMfD7ZXnOJL
	NYG7zrDdebcUeeCoP0l2zZzr5RNzAS2ecnGh/wZDIWc0cymq8VkqqkoAk8MDDh8BnlHc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182221-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182221: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-bios:xen-install:fail:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
X-Osstest-Versions-That:
    xen=e55146071de9257d70bd157047700071d0007622
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 07:14:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-examine-bios  6 xen-install              fail REGR. vs. 182210

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

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

version targeted for testing:
 xen                  65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
baseline version:
 xen                  e55146071de9257d70bd157047700071d0007622

Last test of basis   182210  2023-08-07 01:52:04 Z    1 days
Testing same since   182221  2023-08-07 18:40:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca	Luparini <gianluca.luparini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 65f0d6fc80cba9d79b58e6f2bfc00e36d4e66898
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jun 20 18:01:46 2023 +0100

    x86: Drop opt_pku entirely
    
    This option is particularly dubious as Xen does not use Protection Keys, owing
    to the sharing of pagetables with PV guests.  All this option does is hide PKU
    by default from HVM guests, and is therefore redundant with the more generic
    cpuid=no-pku.
    
    The variable ought to be in __initdata given it's single user, but deleting it
    entirely looks to be a better course of action.
    
    Visibility of PKU to guests should be handled via its vm.cfg file.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Henry Wang <Henry.Wang@arm.com>

commit 767d1a2cfdca962f4ae3f9f620e5c5f94db5f3e9
Author: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Date:   Fri Jul 28 08:58:59 2023 +0100

    arm/mm: Document the differences between arm32 and arm64 directmaps
    
    arm32 merely covers the XENHEAP, whereas arm64 currently covers anything in
    the frame table. These comments highlight why arm32 doesn't need to account for PDX
    compression in its __va() implementation while arm64 does.
    
    Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit d63ea6c46b89bffb99647871c788c236a8286646
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Mon Aug 7 11:25:02 2023 +0200

    libelf: address MISRA C:2012 Rule 5.3
    
    The types u{8,16,32,64} defined in 'xen/arch/x86/include/asm/types.h'
    shadow the variables in the modified function, hence violating Rule 5.3.
    Therefore, the rename takes care of the shadowing.
    
    No functional changes.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 202a341fd41d281d08846136289d93a5425520f6
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Aug 7 11:24:28 2023 +0200

    x86: Address violations of MISRA C:2012 by replacing bool_t uses
    
    Give a name to unnamed parameters to address violations of
    MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
    named parameters").
    Keep consistency between object and function declarations thus
    addressing violations of MISRA C:2012 Rule 8.3 ("All declarations of an
    object or function shall use the same names and type qualifiers").
    Replace the occurrences of bool_t with bool.
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 0c8d77e117126ffd15aa63fe7617c4fd64b3ad77
Author: Gianluca Luparini <gianluca.luparini@bugseng.com>
Date:   Mon Aug 7 11:23:54 2023 +0200

    xen/include: address violations of MISRA C:2012 Rule 7.3
    
    From: Gianluca Luparini <gianluca.luparini@bugseng.com>
    
    The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
    states:
    "The lowercase character 'l' shall not be used in a literal suffix".
    
    Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
    If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
    
    The changes in this patch are mechanical.
    
    Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 6ad7563727ab383396e7932e5f2005f032f4eb59
Author: Gianluca Luparini <gianluca.luparini@bugseng.com>
Date:   Mon Aug 7 11:23:29 2023 +0200

    xen/common: address violations of MISRA C:2012 Rule 7.3
    
    From: Gianluca Luparini <gianluca.luparini@bugseng.com>
    
    The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
    states:
    "The lowercase character 'l' shall not be used in a literal suffix".
    
    Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
    If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
    
    The changes in this patch are mechanical.
    
    Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit b89d204ee0fec0c4c2c639b9f37ef431d3b66100
Author: Gianluca	Luparini <gianluca.luparini@bugseng.com>
Date:   Mon Aug 7 11:22:58 2023 +0200

    xen/arm: address violations of MISRA C:2012 Rule 7.3
    
    The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
    states:
    "The lowercase character 'l' shall not be used in a literal suffix".
    
    Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
    If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
    
    The changes in this patch are mechanical.
    
    Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 680e66544caa5cf5dbb55e0b160733f61d9157c1
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Aug 7 11:22:24 2023 +0200

    xen/sched: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Give a name to unnamed parameters to address violations of
    MISRA C:2012 Rule 8.2 ("Function types shall be in prototype form with
    named parameters").
    Keep consistency between parameter names and types used in function
    declarations and the ones used in the corresponding function
    definitions, thus addressing violations of MISRA C:2012 Rule 8.3
    ("All declarations of an object or function shall use the same names
    and type qualifiers").
    
    No functional changes.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Dario Faggioli <dfaggioli@suse.com>

commit e26230a34982d8b771734cf43dbdc87864329d5a
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Mon Aug 7 11:21:24 2023 +0200

    xen/sched: mechanical renaming to address MISRA C:2012 Rule 5.3
    
    Rule 5.3 has the following headline:
    "An identifier declared in an inner scope shall not hide an
    identifier declared in an outer scope"
    
    The renaming s/sched_id/scheduler_id/ of the function defined in
    'xen/common/sched/core.c' prevents any hiding of that function
    by the instances of homonymous function parameters that
    are defined in inner scopes.
    
    Similarly, the renames
    - s/ops/operations/ for the static variable in 'xen/common/sched/core.c'
    - s/do_softirq/needs_softirq/
    are introduced for variables, to avoid any conflict with homonymous
    parameters or function identifiers.
    
    Moreover, the variable 'loop' defined at 'xen/common/sched/credit2.c:3887'
    has been dropped, in favour of the homonymous variable declared in the
    outer scope. This in turn requires a modification of the printk call that
    involves it.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Dario Faggioli <dfaggioli@suse.com>

commit a628e73de1f4839b58f3ef4026ade3e06f7e54ea
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Aug 7 11:20:15 2023 +0200

    x86/HVM: drop dead assignments from hvmemul_rep_{movs,stos}()
    
    In the latter case the variable altogether is then unused and hence gets
    dropped, eliminating a Misra Rule 5.3 violation. I'm afraid I mistakenly
    introduced both assignments in 57a57465daaf ("x86/HVM: use available
    linear->phys translations in REP MOVS/STOS handling"), likely as a
    result of some re-work on the patch.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Reviewed-by: Paul Durrant <paul@xen.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579312.907232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH2W-00084K-43; Tue, 08 Aug 2023 07:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579312.907232; Tue, 08 Aug 2023 07:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH2W-00084D-1K; Tue, 08 Aug 2023 07:22:00 +0000
Received: by outflank-mailman (input) for mailman id 579312;
 Tue, 08 Aug 2023 07:21: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTH2V-000847-Eo
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:21:59 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4291032c-35bc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:21:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7970.eurprd04.prod.outlook.com (2603:10a6:20b:24f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 07:21:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07:21:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4291032c-35bc-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jYcyGT6CiDUyxag7eSOL8Ie6m1wsdZKFjAIcOQSr0WZTUxGj5cTaMCvvy2hH4cFGdLC5HbYOxC60P/7VCrcLvX4JnMf+BzproeaH5xYU6Q8CeYqLlmjCAp4bphGJbBXG50tuWbw1PDQnAzBXutBqydHXaJdizbWQ6wBFB2CMHEeItDT7zALKFErVue6aoUQPTa/WBhxdprhW3VtM0v6phRAUOblyVs8rJv52yPTWuzsA+W5wssJeIxNscj+xB4ED/zsfaNT++9aBrYFn1VfYNs5zu3Yyaaj0Kk4dg1Xpc9S1LU1Q8Kctybd29NZoSUdFpvnhHcLB8mU+aRAV3Gel7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jpm7zzJKhEBlzZOTLSH5wysuwemJIRZ5GAovXG2lyus=;
 b=ZFyD1XTTEGKjwDY/bittyeSJq1J6xyRyQUgQA0/wva2qUTxLygNpZmannFVU2fMZg+UQcdmbpAF723Ff2k2Kywe/46Z0UsFzN0H9xnrmQiDIQOhi66NcUbM1HC/uSKFt5chMA8PoC+ups9+D7LOgEty0vQ1UvkFx78V6NTIqyITF96UR3rfu6wAzA/MC0vtwJH9jMPXb5/nF3wmcag/b8QrNzJ1K17UzrEXNlI+daFRfygZsllcgRLeCcjAcmafdklbzAMdWWoXCz9duMZ9fVGXP2k3b5mCs8ISPhLVrSXnxtcJ7QSqb7LImHXSNcmA0vxaBzzMx84NxDKhvFchOLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jpm7zzJKhEBlzZOTLSH5wysuwemJIRZ5GAovXG2lyus=;
 b=1EDCVz9h0Bxb7DlwN52N+DWu/EN6KTynmdNydG/tyNjGcmjnc0363c2gwSFnI9+RtcH4qwd1dkElXqDj1FkJFWanDDuuoX6RyL8NDdbdG2GXVkCehD7u+zp+HTnJjDiCL4g7gMKWfSaI/QR5rSHqKOrjKceoWN9JTcfWXt/bbLlXn2kXHEGWiZri9vvjPGSvCDzTv53RGc5+8c4zPdaahPuMqHr+wa98J2JeTBriw7qH7EDIN8RHI/iUAo8ZlOh4Gd7aAF++NrSCGCK3gL3iXucjpHVjltGTiNA9KNPhysT33ba/V2F1gMSHtZfV8oy8tzjR7jMa5HUz0aLtfY/y9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0164b934-cf15-9e45-28b7-b3c9ac2038da@suse.com>
Date: Tue, 8 Aug 2023 09:21:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691162261.git.nicola.vetrini@bugseng.com>
 <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com>
 <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com>
 <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com>
 <55599ec7a1c6d07af6093920fe3f9125@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <55599ec7a1c6d07af6093920fe3f9125@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7970:EE_
X-MS-Office365-Filtering-Correlation-Id: b45fa1c7-73e7-4155-ea7b-08db97e01557
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iSc1aSeeSiTj7XtnIHcQiUiT4mHTxxee0Tyy4tkHx64NyOuMk/UgzsyDI+XFqf+kmwiGQVkY8HyyWllqsCVjTl26jWPvnsIjyOs8b8t5s4bUGxLrr3cd6NMDjT3l5BxDqrsk3X5pZqxskBRDzZ/j3HABrCgQWIVVrr1OgpV59Sg9TllEZa5LfzIH6lHlPumpULPLm3hEAzudqsttpEpO/9j4itzHrjZN+2Wxp+5a8kSOpAekr6WznEQwZXK2hHuOAtwVFS+ds2aRdr53pOtm15wiEDyxlZDPTp+QFYCR9T6pxKOAU0O6wKIP/v3Ee0bsMUiGCntKsZ4sf5kighX7JQfyZMAT+1cFNPWAlILZ33y3QHf3NEdkeXt+AU/5As1P9gD5nHBHbIL0AIbt47VunBMh/MtyIEYWsTDHb3goH8kFrEQVYaTg2RHh6SB6IUonmletxVuAUx03RAFPLMnyTgLnt1945Sb+FZjwAZ6cUBEKssUCbhHWZisjdoNdzazdTS038gDX8gOatWV9wfAVTqL98ToKhD8GzMJPaQCiLbgXIuFQMEJizTD3Eu+LI3DZKLyovTmwn1b5C2A03kEYzKv6KDplTF42yqz33a6x2IDXqjx3E/whrIpRfufinxCRCLNOFgz6RudOeXSZ2iU/eNzNSgeZhswz/i6lEAAwuwA7kogC12xjhczwTxxHO/283t+GOfEp+/BO7nUlAQ30uQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(366004)(136003)(396003)(376002)(1800799003)(186006)(90021799007)(451199021)(90011799007)(6486002)(478600001)(83380400001)(31686004)(2616005)(6512007)(26005)(53546011)(6506007)(8936002)(66476007)(66556008)(66946007)(316002)(41300700001)(4326008)(8676002)(31696002)(2906002)(6916009)(6666004)(36756003)(54906003)(38100700002)(86362001)(5660300002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MWx4Z3VBNXdzV1pSaTZwNWl0cTJYMjU1bnhxRllEdytrQzVNdko3b25VanNL?=
 =?utf-8?B?cnN6bTlrWTBLZmZhSS9ZaEdyK3BhZkUzWHh1K1k0WUpPR3daaG4vemlnaE1U?=
 =?utf-8?B?eVhZeUlmL0JGLy9JOU1QaVhpczRZd0dLVnpDVXZhK1Y5eVRQNk1oTVZ2dUFP?=
 =?utf-8?B?bHd3alBUb0pTSXBzNlRaYkEzSkYwMW9aenc2eCtSNUM1WXptWGw1YjE2ZXBB?=
 =?utf-8?B?dTdLZTJDb01uTjFYYk1rMEtPR05ZSngwS1RIbkxreFBFR0RybHJpQXNqVU5H?=
 =?utf-8?B?MWFvVXozQ3RaMEhGZUNmbGc0WTFSNEpucDlOcEFwNU5tdjA5Zlc1Q29SYUdn?=
 =?utf-8?B?MjlxY21IbmVNVTkxOUNZdUxUQzAzRFB3V093eTRLeVlnTnhCZzVtZ3ZQZkZL?=
 =?utf-8?B?WkFONHM2cWVwWTJOMkxOM0pIclFGZG9rRm51U2VHb2VLc2pUakZuMnd6VjJv?=
 =?utf-8?B?RmtqTkNKMGQ0VUJ2VGRpck5IdTgrVnJDOUliUC95bzlOS0w5SnAvWE03clJs?=
 =?utf-8?B?Z1I0eGs5dDc0QUpkWDRhZVpQdnhkL2dqbFg0UGl0M1orZEQ2YzhYRFlKRXdH?=
 =?utf-8?B?WHR4TTdQVVlIV0NwSWplcm9xZWxCNHZCSUwrTUczRGs4dE9rdThkZkNzQU9H?=
 =?utf-8?B?UU1BR20ydHA3SUpPRGdmT2pFajl1TjVockpQQUFWNUR3bXE4U3N6alRGZUlo?=
 =?utf-8?B?RnlYSEFab2dRTU5Ebk9rZkVzQ25aTUFjSXM2ajcvcmFuMU9OVi9hQzZZdlAr?=
 =?utf-8?B?Tm1KdU1Ha1hvUlU4K01WdkV6NVZ2QlJXSWlxOUxGTkJzTmxmOFU2TG9IVnFk?=
 =?utf-8?B?NHZBc2E2ZHFsU1VzM3R4T1hpMCtIVWJzWTAyRndHaXc4T05ZWWNPS1ZHdkhn?=
 =?utf-8?B?L2tKcGgwa2NQYVlHZ0trcHloTHczL0M3UUFOc09MbmpXVUo1MHdLZUsrK1RM?=
 =?utf-8?B?K3o2ZkZPa0daK1BVZlJOaWdXUDY0eWlHdjAwbVN3eGdQYTBzcFNUYmRkNzNL?=
 =?utf-8?B?YVF3ek54UEI0cGhLZUtYalFnenZBNHgvZVhwbkpsSnpGWHQ3SHJ6Z25xdENH?=
 =?utf-8?B?YlhWUEZBcGxYZzBmRE9EUGpJbEI2WUlsaXM4T0c1UVJUR25rMnduQkRnNld5?=
 =?utf-8?B?dEt3MWQ0clFYTm9RMFhtNHAxQm5aRXNGTGZEUEV2amNjOGpZVjRxSy9GYzVC?=
 =?utf-8?B?LzVsMXExUDhJWjI4QnR1Tm9DQ2Z2SmQxQStGY3NBanNJQmtrd1RoZnRZbTU3?=
 =?utf-8?B?YklKMTRLRGdyMU5CV2JJWGtSa2ZiVXJ3TFJiYXJRYkh1SHJhTS9LQm81Tm9h?=
 =?utf-8?B?WWsxNlVHaS9hNm1QaUlRNjRtVzF3T1VyaFJ5cHFsdytObjI0TXVHSWtJL1Z3?=
 =?utf-8?B?d0N4U2lJZFhkNUUyTjlWYTM2bUtYUUVvOHFqcVFhNDgrVldnQjkzeGVYT2t5?=
 =?utf-8?B?NVdCVUQxUmtsN0xWY3R4eUFrcTFJTDg4bmxDcU1xVDlyb0NtdXZncXpmVlA5?=
 =?utf-8?B?QTRBUlBzYVFBNmxLVHF0eU5HTGdrNVg0a2wxWlNxaS9qRzEwRDR0dUxCWWZT?=
 =?utf-8?B?STU3YkJXMmxoQ1BUYVFSRndhWjFHQ0pmNER3N2FmSEJmZm1wYmE2ejloejJ2?=
 =?utf-8?B?bXhQa2QrS0lUemNtM2h2RzAwRzZRV2VZZjdGMW5SanhBQnM3THBYS040dHBa?=
 =?utf-8?B?ZkM4TEo1SEZWYXdKaHpjRGlVQk5WNGtOSGd6M2Q0NGpIczhMYWdaK3lvWXFz?=
 =?utf-8?B?Q2QweUpmZERuSUdKMkdwZDFFRU9OUkJScUxFQlN1ck5tRnM5amphUEMwWmN3?=
 =?utf-8?B?Ty9pTFdBbjQvQTRQcXZqZVpQNHhuT0h2TkYzTUV4bHYxUzhPeDlHMWlRRENt?=
 =?utf-8?B?S0FMbEk0SElpYTU3cTBVN2EzbHZKSm5IYy85ZkpEdmo4cVZhaUpYR0NFemdz?=
 =?utf-8?B?d3Y1cmtxeDRPN0tlS3Ixc25HQ3pMMytxM3QrUkpYa2Vsck9EZlNBUmZMcVlt?=
 =?utf-8?B?SCtiMk9NQnlxN05VR0grZzAyRU1KejhReTh5RXZBeStPTVJIcUF1bW9yeHVI?=
 =?utf-8?B?d0I2dW1FamNOdzVOcW51OU1ta1F6c3FMb3VoQUc2dm5kVjJGQzd5SWdKWHZt?=
 =?utf-8?Q?jErA4/a7gIag6jokxWhwNFo5a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b45fa1c7-73e7-4155-ea7b-08db97e01557
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:21:29.0849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pet60bjFxa2vUOkXw5oVi+TpV6jOzvXSU3H2b/YBFXF++nGTtfWEfefOzmoPwsOWvmIT2JhX6VbRTXlXVB8Zhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7970

On 08.08.2023 09:08, Nicola Vetrini wrote:
> On 07/08/2023 11:10, Jan Beulich wrote:
>> On 07.08.2023 10:59, Nicola Vetrini wrote:
>>> On 07/08/2023 10:09, Jan Beulich wrote:
>>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
>>>>> The variable declared in the header file
>>>>> 'xen/arch/x86/include/asm/e820.h'
>>>>> is shadowed by many function parameters, so it is renamed to avoid
>>>>> these
>>>>> violations.
>>>>>
>>>>> No functional changes.
>>>>>
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> ---
>>>>> This patch is similar to other renames done on previous patches, and
>>>>> the
>>>>> preferred strategy there was to rename the global variable. This one
>>>>> has more occurrences that are spread in various files, but
>>>>> the general pattern is the same.
>>>>
>>>> Still I think it would be better done the other way around, and 
>>>> perhaps
>>>> in
>>>> more than a single patch. It looks like "many == 3", i.e.
>>>> - e820_add_range(), which is only ever called with "e820" as its
>>>> argument,
>>>>   and hence the parameter could be dropped,
> 
> I see another downside with this approach (I should have spotted this 
> sooner):
> Since e820_add_range and the other functions expected e820 as a pointer, 
> they are
> written like this:
> 
> for ( i = 0; i < e820->nr_map; ++i )
>      {
>          uint64_t rs = e820->map[i].addr;
>          uint64_t re = rs + e820->map[i].size;
> 
>          if ( rs == e && e820->map[i].type == type )
>          {
>              e820->map[i].addr = s;
>              return 1;
>          }
> ...
> 
> Dropping the parameter would either mean
> 1. Use a local parameter that stores the address of e820, which kind of
>     nullifies the purpose of dropping the parameter imho;

This isn't an unusual thing to do; it is only the name being short which
may make it look "unnecessary" here. But especially if the local variable
was made of type struct e820entry * (and updated in the for()) I think
this could be useful overall.

> 2. Rewrite it so that it operates on a "struct e820map", which would 
> mean
>     substantial churn;
> 3. Make the global a pointer, which is reminiscent of (1)
> 
> All in all, I do like the global renaming approach more, because it 
> lessens
> the amount of code that needs to change to accomodate a case of 
> shadowing.

Well, to go that route you need to come up with a suitable new name (no
prior proposal was really meeting that requirement) and you'd need to
convince at least one of the x86 maintainers.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:23:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579318.907243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH3e-00009v-E2; Tue, 08 Aug 2023 07:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579318.907243; Tue, 08 Aug 2023 07:23:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH3e-00009l-Ar; Tue, 08 Aug 2023 07:23:10 +0000
Received: by outflank-mailman (input) for mailman id 579318;
 Tue, 08 Aug 2023 07:23:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UQsq=DZ=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qTH3c-00008I-O6
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:23:08 +0000
Received: from mail-il1-x130.google.com (mail-il1-x130.google.com
 [2607:f8b0:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b2c26fc-35bc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:23:07 +0200 (CEST)
Received: by mail-il1-x130.google.com with SMTP id
 e9e14a558f8ab-346434c7793so5314945ab.0
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 00:23:07 -0700 (PDT)
Received: from [10.70.252.135] ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 s15-20020a63af4f000000b00564ca424f79sm4948391pgo.48.2023.08.08.00.22.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 08 Aug 2023 00:23:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b2c26fc-35bc-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691479386; x=1692084186;
        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=if5VWB18nVWwRp6UCb6aPEiH47g9I/o9CGJnGCggs6I=;
        b=Mnl0X9gAUC+TX6mJR8mVBxy4/YY9ZnsIqqbI3Lfyi8wyHvx1vCgiMQzro/5+MvPtg7
         rXoES6uNYyqB6hAadoK+JhiLrRJcV2a1SauK74Fo+QgskggrpKST7Q5+m6teYvR8e4tA
         dcZeOtaDf0Rd9+kc+LJz513/LAkTal/IYIX9DnJ4z84K6HpsLIJ90Jamw7qS1U2+fb2T
         E2X5y4E7mVpGf6lSS7nOAzl3gvR6+Jw0hw4oEJ+kBhol+PlGk5o70522UKHLTkm0KAg0
         ZhNaOymrQBqWDvmGRTs6Q0O1Bt27v7iPkeiHC47LN5BEMRNJZINNo5Ho/St2M7DsfprN
         6jkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691479386; x=1692084186;
        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=if5VWB18nVWwRp6UCb6aPEiH47g9I/o9CGJnGCggs6I=;
        b=cDmCdkz9KLvqzmQCuruwTClKVDj3dUVlTVqLXOpKRsHXDOxaQMn2x1oCJIJbtMKU6V
         /U4emRmjAsE5LqPadad2aQnvXmGClEts+clQLtZBoCcfPzbTHGqWSnIRQVu637PQ9xFo
         TVCzvyhVgAPs623agMf+UK8Bvdi+HBnJw4pUmF0gx+vcAPE8RYlF3ywbfz6x+vqvFjiW
         NPnAd+9Nxn0DcEQcjna4gi+tsY7gfbDyHNNATB4waQsTQsY/apiejou2DR6yGr4/5jEk
         RXwW1GDrYpPsOQd19jtee5FpF9pYqbWM5KvTHPTRNjxJhIDWCYTs9CKQaGmefM6t/7nO
         Hlmw==
X-Gm-Message-State: AOJu0YwBDTDb7tkSwp8FQX0QZmJhr7JvR0Wru5qj2Cn0aGTQStITxb4K
	Rhrx5VEdHF4zQHZokjkkdE90+Q==
X-Google-Smtp-Source: AGHT+IGrIAD/R1XG8iT7hZdid4m31qfruz9y309af9L0+sAELwy0z1r+YzLKvbiH8nyqlY1j6mrYWw==
X-Received: by 2002:a92:2802:0:b0:349:7518:4877 with SMTP id l2-20020a922802000000b0034975184877mr3215795ilf.0.1691479385787;
        Tue, 08 Aug 2023 00:23:05 -0700 (PDT)
Message-ID: <0fdb926c-0d61-d81f-1a52-4ef634b51804@bytedance.com>
Date: Tue, 8 Aug 2023 15:22:51 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless
Content-Language: en-US
To: Dave Chinner <david@fromorbit.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
 roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
 paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com, cel@kernel.org,
 senozhatsky@chromium.org, yujie.liu@intel.com, gregkh@linuxfoundation.org,
 muchun.song@linux.dev, simon.horman@corigine.com, dlemoal@kernel.org,
 linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com, linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com, linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org, virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-46-zhengqi.arch@bytedance.com>
 <ZNGnSbiPN0lDLpSW@dread.disaster.area>
From: Qi Zheng <zhengqi.arch@bytedance.com>
In-Reply-To: <ZNGnSbiPN0lDLpSW@dread.disaster.area>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Dave,

On 2023/8/8 10:24, Dave Chinner wrote:
> On Mon, Aug 07, 2023 at 07:09:33PM +0800, Qi Zheng wrote:
>> diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
>> index eb342994675a..f06225f18531 100644
>> --- a/include/linux/shrinker.h
>> +++ b/include/linux/shrinker.h
>> @@ -4,6 +4,8 @@
>>   
>>   #include <linux/atomic.h>
>>   #include <linux/types.h>
>> +#include <linux/refcount.h>
>> +#include <linux/completion.h>
>>   
>>   #define SHRINKER_UNIT_BITS	BITS_PER_LONG
>>   
>> @@ -87,6 +89,10 @@ struct shrinker {
>>   	int seeks;	/* seeks to recreate an obj */
>>   	unsigned flags;
>>   
>> +	refcount_t refcount;
>> +	struct completion done;
>> +	struct rcu_head rcu;
> 
> Documentation, please. What does the refcount protect, what does the
> completion provide, etc.

How about the following:

	/*
	 * reference count of this shrinker, holding this can guarantee
	 * that the shrinker will not be released.
	 */
	refcount_t refcount;
	/*
	 * Wait for shrinker::refcount to reach 0, that is, no shrinker
	 * is running or will run again.
	 */
	struct completion done;

> 
>> +
>>   	void *private_data;
>>   
>>   	/* These are for internal use */
>> @@ -120,6 +126,17 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
>>   void shrinker_register(struct shrinker *shrinker);
>>   void shrinker_free(struct shrinker *shrinker);
>>   
>> +static inline bool shrinker_try_get(struct shrinker *shrinker)
>> +{
>> +	return refcount_inc_not_zero(&shrinker->refcount);
>> +}
>> +
>> +static inline void shrinker_put(struct shrinker *shrinker)
>> +{
>> +	if (refcount_dec_and_test(&shrinker->refcount))
>> +		complete(&shrinker->done);
>> +}
>> +
>>   #ifdef CONFIG_SHRINKER_DEBUG
>>   extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
>>   						  const char *fmt, ...);
>> diff --git a/mm/shrinker.c b/mm/shrinker.c
>> index 1911c06b8af5..d318f5621862 100644
>> --- a/mm/shrinker.c
>> +++ b/mm/shrinker.c
>> @@ -2,6 +2,7 @@
>>   #include <linux/memcontrol.h>
>>   #include <linux/rwsem.h>
>>   #include <linux/shrinker.h>
>> +#include <linux/rculist.h>
>>   #include <trace/events/vmscan.h>
>>   
>>   #include "internal.h"
>> @@ -577,33 +578,42 @@ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
>>   	if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg))
>>   		return shrink_slab_memcg(gfp_mask, nid, memcg, priority);
>>   
>> -	if (!down_read_trylock(&shrinker_rwsem))
>> -		goto out;
>> -
>> -	list_for_each_entry(shrinker, &shrinker_list, list) {
>> +	rcu_read_lock();
>> +	list_for_each_entry_rcu(shrinker, &shrinker_list, list) {
>>   		struct shrink_control sc = {
>>   			.gfp_mask = gfp_mask,
>>   			.nid = nid,
>>   			.memcg = memcg,
>>   		};
>>   
>> +		if (!shrinker_try_get(shrinker))
>> +			continue;
>> +
>> +		/*
>> +		 * We can safely unlock the RCU lock here since we already
>> +		 * hold the refcount of the shrinker.
>> +		 */
>> +		rcu_read_unlock();
>> +
>>   		ret = do_shrink_slab(&sc, shrinker, priority);
>>   		if (ret == SHRINK_EMPTY)
>>   			ret = 0;
>>   		freed += ret;
>> +
>>   		/*
>> -		 * Bail out if someone want to register a new shrinker to
>> -		 * prevent the registration from being stalled for long periods
>> -		 * by parallel ongoing shrinking.
>> +		 * This shrinker may be deleted from shrinker_list and freed
>> +		 * after the shrinker_put() below, but this shrinker is still
>> +		 * used for the next traversal. So it is necessary to hold the
>> +		 * RCU lock first to prevent this shrinker from being freed,
>> +		 * which also ensures that the next shrinker that is traversed
>> +		 * will not be freed (even if it is deleted from shrinker_list
>> +		 * at the same time).
>>   		 */
> 
> This needs to be moved to the head of the function, and document
> the whole list walk, get, put and completion parts of the algorithm
> that make it safe. There's more to this than "we hold a reference
> count", especially the tricky "we might see the shrinker before it
> is fully initialised" case....

How about moving these documents to before list_for_each_entry_rcu(),
and then go to the head of shrink_slab_memcg() to explain the memcg
slab shrink case.

> 
> 
> .....
>>   void shrinker_free(struct shrinker *shrinker)
>>   {
>>   	struct dentry *debugfs_entry = NULL;
>> @@ -686,9 +712,18 @@ void shrinker_free(struct shrinker *shrinker)
>>   	if (!shrinker)
>>   		return;
>>   
>> +	if (shrinker->flags & SHRINKER_REGISTERED) {
>> +		shrinker_put(shrinker);
>> +		wait_for_completion(&shrinker->done);
>> +	}
> 
> Needs a comment explaining why we need to wait here...

/*
  * Wait for all lookups of the shrinker to complete, after that, no
  * shrinker is running or will run again, then we can safely free
  * the structure where the shrinker is located, such as super_block
  * etc.
  */

>> +
>>   	down_write(&shrinker_rwsem);
>>   	if (shrinker->flags & SHRINKER_REGISTERED) {
>> -		list_del(&shrinker->list);
>> +		/*
>> +		 * Lookups on the shrinker are over and will fail in the future,
>> +		 * so we can now remove it from the lists and free it.
>> +		 */
> 
> .... rather than here after the wait has been done and provided the
> guarantee that no shrinker is running or will run again...

With the above comment, how about simplifying the comment here to the
following:

/*
  * Now we can safely remove it from the shrinker_list and free it.
  */

Thanks,
Qi

> 
> -Dave.


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:23:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579319.907253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH3h-0000Qu-Ld; Tue, 08 Aug 2023 07:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579319.907253; Tue, 08 Aug 2023 07:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH3h-0000Qj-Hw; Tue, 08 Aug 2023 07:23:13 +0000
Received: by outflank-mailman (input) for mailman id 579319;
 Tue, 08 Aug 2023 07:23: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTH3g-00008I-0u
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:23:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e035360-35bc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:23:11 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7970.eurprd04.prod.outlook.com (2603:10a6:20b:24f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 07:22:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07:22: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: 6e035360-35bc-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oEl6I3Slo2ryws2bd0Uq31f3rK+9XVcz7jlrwSlsUgCO2VscmJ5/5ZfogFNbzUZl42DxXskh3JHiz2pmfq5GRXAMBtlEfRbhZh5UIgeRvr5EnrzYF065qYloDCS1iCKUbX/VCuuwzxQwfLr9PEToWaolgXqgaVUqsU20wnrmLsDUOEfCQAnnRmKSHlXNQ15PA7DHJfmxJ/0dpzovAOE2XgNZnY19vg0ilrqO+qyrLEjapgMGhXwuhZXr7LgsXb/Qkk9SYhOYEvn7dkzXaNdPJ+DfFqW+Lz8WVi0UmdFMixgaHCeZ1xi9C95IuzQ7SEJiKZBrAFvyZdlVVcejVtcLJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IsrWtmWG7rBGWqtN6Nbj9lITQcyNwJ9A8pnEseQgdPs=;
 b=Nj3N3aDcYnIligpdBgMFIh1wrwRjfDOa331egtUNd7r44OYCnJNmz5oMZiBSXmNpg0QJ8i0vUMsBqtZPbuF7iIDbyEa28qZ8SzwsvtMhzTwO8Z4c085qrx5m2w7BA2IBRxnGwnGSmmKgmAXVYIrLbGfOjyLsPzSLHS4HMNW8zLONW9lxkriZXcHlUz5+Cl0rwzZ/xJUqZHUdd/Pi3HLH7wUbQET/ndJk98/Nmz++Pp8Kg/QLQ8AE9UkXVIEiuiVHZ6dzjKIdUUSzaoI/F1JpLwkHk5lizgkjY5r2DGOvedu55Yr02Pns1E5erxZBWQlACrbkHQLtssO2Wvju05lqUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IsrWtmWG7rBGWqtN6Nbj9lITQcyNwJ9A8pnEseQgdPs=;
 b=OF1Mkd6K9a0N5BSXhN/HwktZuTZUw0p7IOAkv7G9P8eK7qw5Q6eQvlKyJFtU7OhxGxNdFavOumFyFWpmJ9QyEdIK2HAmJwofeqPIYlwlcYLeGg0n4CUWGOPFafqJRVk2UyhVjXLWGm6LIAacyWU5jP0qE2T0EA0XeFvLnh+PlpP9yTxv0cU2oZqRSvasfRQtAuqfr9QN7JGArHAvgsDTzEXsUeQYvllw/YnPwU8XSNVJmtAFi8+qtmmdBReRlkLsSATWO2MqYw/NtVq3NjGD2W+AcvjzD6LEFavQUWkmJV44mFfcuJ7G16rkCAehAUGrgpI4K+5mBMkWdOPbRdm9Aw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17842357-d26e-3c57-25a7-76c09a8c3733@suse.com>
Date: Tue, 8 Aug 2023 09:22:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/cpu: Address a violation of MISRA C:2012 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <8536f54b708a1b3a906d14a63958c2e6dd0d034e.1691427640.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8536f54b708a1b3a906d14a63958c2e6dd0d034e.1691427640.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0130.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7970:EE_
X-MS-Office365-Filtering-Correlation-Id: c52a5332-0fc6-49eb-bd28-08db97e04905
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TWk3mi2LG3PHxoxbK1LYzTSO1RlFRv1oDjn+Muf5Wq1JRTIb2V4Ry6Ao9im1grXbD93ewRfPd5JuAUDbzuQv/hL5UyqBHMq1//jD2prbU+qi8u/E9gL/D29RfdPq4fH1Z0VPgI5fr2CPyYuu9+AgxApbjidivs4PbJYa6tKyxpt3S86B6ys7Z++1N+O+HKi/FR6ID4Tz11chNP1fpak9YHxx09JN5TJY6Ctix1L0z4SR39I3eA99nppR/YDIi0IJwZq7jtAPjnTzUU3AZMB8WnAnSALvWiHImwX8uwv0j2oIXTgPfOAasjGMwWcsLvyz9DpdE7R6DZggRcuN5fiq12ZoUp19RRQnQOjxXXgv/UD7IX9Vh0yTkCRWvf0hrIEfAkgPTg9U2hHACi2mgLQkD+8m8Rs7+B/JQB6S28iomYt2fl2HL/9fuCvr+8aZ5y+yWa50gJVBtAbxxZltXKuuiDYTRWwq0m3SSw/GV47ZUQFxO1MyHa6YEyNXVddsXBvWzBzDKnKDgLZp4hRcQzJ2mto0/chjA7txr5JhNpY4K3DabAyx6MXRUybjn9GzToN9ykZtjVRMnwuiVkUNw9wLMJ849u1L6Lva1GEoujJph73Y63o2blmukJEyYhwkk+zmp+u7/t1zkqbnmqOjLRI+omz99aSQA2PtLxRqNCIBUBxfwqIuToz8BWkZipcltlCVeOq+8UPUepXdzYlVg6Adxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(366004)(136003)(396003)(376002)(1800799003)(186006)(90021799007)(451199021)(90011799007)(6486002)(478600001)(83380400001)(31686004)(2616005)(6512007)(26005)(53546011)(6506007)(8936002)(66476007)(66556008)(66946007)(316002)(41300700001)(4326008)(8676002)(4744005)(31696002)(2906002)(6916009)(36756003)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2pWZnozWHJTaTFERktCWGJTcmplb2JrZnd0V1dZbjZHM0VvUTk4dFFkRWps?=
 =?utf-8?B?WW5CZ0NMMVpYcTBJSDBsTVFHRlhMZlFXdnAyWGM5MEVabGFYeURzSjBLRUxH?=
 =?utf-8?B?RzQzNEtMS243SC92ejBBZU9ONWo0cDg5TTkzVXUwTk1SYkNiaThJdXZqMXJL?=
 =?utf-8?B?VHY2NVpDemNNMkwwRGxEcGNBQlVqTlhraDZnQU9lcGtObXRjT2NYVHVrZEha?=
 =?utf-8?B?NExka0RTNExOdHZueDlYL0k4TjJQUTlKbnFaSEluWWl2SE8xNk5kcWwwOEpT?=
 =?utf-8?B?R0Q0cU1rQVFQQ0tzVHc0eWJMdzNnaFZETy9GR3pnNUl1UDcreWxzWXpTUUdv?=
 =?utf-8?B?VGV0M2JCOGZoZmtleWRaV1g2bS9zVHdNQmFSeld5WHovMHpDbUEvbGZaVm1o?=
 =?utf-8?B?dVRSa1pObU5VOUNhbEY3OHVBUWtDc2pkc2JaVFg0ZFpPdGQ1SWpZdU1EWmdG?=
 =?utf-8?B?eFBLNHVObE9yai9rQmR3YXBLMStlM09QZ3NCelUvYXpYZkNNVjcrZGMxYzJx?=
 =?utf-8?B?U0dIM2JNV1dyWHV4YVRoVmZKTFl1d3RwUWtvUTFWb29pbWRYS0ZQRm1wMmZO?=
 =?utf-8?B?NkpQVndydUlzcjRrY3gxUnZ0TzBZZzhmbFJqUTVjS0g2cW5yeDJkR2RXdzZ5?=
 =?utf-8?B?b1pYanlLK1VYcFBQTldDanZnWkF5UzI4ZEpCbVphRjhzK1FjU0FEWGQ5RFM1?=
 =?utf-8?B?ajlMazVjZ3pPcEFaMEZ3L1R5NEgwczVjZUhudUtab2RpOEsrOGRybjY3TXZl?=
 =?utf-8?B?VkZwS3JWRG8rcXJSVWExYi9BNVZJU1A5ZnpBSzd2VlNGYXhITDdMSExnaUg4?=
 =?utf-8?B?RzFNYW0wZldQTktGSTUvTW8wWDU2cFRPWURxcXNKaHZWOUpHVXhMK294OEEr?=
 =?utf-8?B?cHBkbDVyUy91OVNqZUFsNnFoRHFCdTNodDJEQmhySEZQY2pNcEZlU0lQVzlx?=
 =?utf-8?B?N2srbEVKdURnV25NakVXQ0NFclFFM2hqRTkvczdIMW5lWW1IL2FVeXB2MXpQ?=
 =?utf-8?B?M2t6WGlWcVRtVi9IK001N1ZzQTAxN28yVGZnYTFMWVdEVWZNYnFLQ1VlSXpO?=
 =?utf-8?B?S0swVFZodk1LZmVGcXlVRDY0NFJMblFibWQ5TVlybGFtaUdPSXJtZ1NweHY3?=
 =?utf-8?B?TEoxN0kxUEhXV09kUDBmQXFGTVJCbmFEY2NGdmE1akVXOTlvNWVacWk5Uy95?=
 =?utf-8?B?T0lTQ2VxdzM2SW9ENU1JeU1va1M0dXZucXRZbUZ2dUNnUXljbzVFYlhNaG5E?=
 =?utf-8?B?ZnIzVzRkL2ZiaEo2V1k2NFRmdmI3Y2tOamMvcE83VXkxWkZnSTVMMHVqdGpP?=
 =?utf-8?B?Z0xUaTFVUDlHVzZXUDBTc2FkeWFxV2p0ako5T3pPSWd0SEtneTZ3ZWZ4elQv?=
 =?utf-8?B?QkdubmRCcEJWaVpNeEtkUERNVkVjL0VtUzlLcHZ3RWVaN3IwSW1MRnkydjJs?=
 =?utf-8?B?Y0hpcFN5dHMxbnNtTkR0Q2VJMHBhaHZ6dXd2b3RXNENrSk1JaUx3UFZYV1BT?=
 =?utf-8?B?RG1lcTkrVzJFSEpEZWoyeEVjMjRTZEwxL1RxNEdQeW9vbFNqcENmN2lucDZ1?=
 =?utf-8?B?dmlsZFB3RVh0L1BhK3N5ZWI5ZndTVEJHV2M4aGlaZmpxelRnUGhxOTNxWUVw?=
 =?utf-8?B?VG1UaDdCY2N5b1ViYnRWTnJpN3BWcHpsTFJONTlkS3ltV1dwZXlmK0RWODYx?=
 =?utf-8?B?MmNsSE1ReGlrOXNad1lFdU8wNVFzZXNqbWpWQ3BsNmpJQkZKMnpZS0tZOTFS?=
 =?utf-8?B?MHBzNHpJSm1LTkxhMDhNcGllV1hWZVE5KzI2OERWb3k2MlBWREFnWCszRVht?=
 =?utf-8?B?a2ZXc2lOWjMxNmFBZ0VIQXMrTFlaY3hjcVpDYlAwQktCN2VYSWdnVnhpbVRE?=
 =?utf-8?B?ZXFORXVxcDNQMXFVYmNLQUVWbnlvejliU2dDbVB2NlhyclZYRHMraktLZHlM?=
 =?utf-8?B?U0Mvbk5SUEJrVk5zNjdDbmtCWEsxdFlpNlBaaUJxdk84WkJud2ZDWitncGJX?=
 =?utf-8?B?Mng1WndDdzRDMUJNMTZJOVhwcXRFNnMrU1ExNlhYMHFNdi9oazdiUWpGVVcx?=
 =?utf-8?B?M3dSc1I3NlJrdS9odU5tL1ZpZHpOemRXYm1BYisxcERhRnhsU1BRRzRmb3Zk?=
 =?utf-8?Q?Adrw+frJewxpote7DZuoOrygj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c52a5332-0fc6-49eb-bd28-08db97e04905
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:22:55.7855
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FuSGfblazyc8fH13DJZ4WkBl7eNOBOCaUm1NEqx+Sa5X9iomLMl/TemXdFQVLmKDq7SN716cQ2JPsi5SVMw0+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7970

On 07.08.2023 19:02, Federico Serafini wrote:
> A missing change to the type in 'opt_arat' declaration introduced a new
> violation of MISRA C:2012 Rule 8.3 ("All declarations of an object or
> function shall use the same names and type qualifiers").
> Change the type to restore the consistency between all declarations of
> the object and drop a further usage of 'bool_t'.
> 
> Fixes: 202a341f ("x86: Address violations of MISRA C:2012 by replacing bool_t uses")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579334.907263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH7y-0001Rk-Ai; Tue, 08 Aug 2023 07:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579334.907263; Tue, 08 Aug 2023 07:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTH7y-0001Rd-7s; Tue, 08 Aug 2023 07:27:38 +0000
Received: by outflank-mailman (input) for mailman id 579334;
 Tue, 08 Aug 2023 07:27: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTH7w-0001RX-C6
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:27:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0aacba6f-35bd-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 09:27:34 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9199.eurprd04.prod.outlook.com (2603:10a6:150:2a::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 07:27:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07: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>
X-Inumbo-ID: 0aacba6f-35bd-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fnzI7vYF/6vtpJQ3Gdfdm5SonW9mWy+Bl103XgymBNzrrz/5qdx1azfsvXK5fGusFq+QFJKIYTKRU+iUu1q24+JSgHJ+z6Itckw/KRC8ZECx+lyU9PnDNpEPrTenrDz7trCcn5+ftdiIRtFaBViwEnyNSjuRDZUq91tvV6Emz8OwyZWyQ37zd7bU4SuUnNFkkgmAdviBnMO3vuBUC12aOKZzXb88FFOhrH1sOYLWUxIv6d5uJmuD4uB6XxR9RJGlT1szlXnfgkY6xkIh3KPxbLnn4s5UETphWmDeqKp8WHLrA6KuPi4e+W1VlCupvJwloJgi7wxYOCKFwuHMWAyK3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H1CR+QH2QRjA3s8fhRSnMYrugfzzVYpsSu4bpcG0fP4=;
 b=buS4HUvG0RtpUSdKKKR7S+2vpPwHAW72Lpjk9AHtS1czhCH5AlDLzuXhq2r0YxX8535tfBzGdncswMigAY4HexVOOmRZvigFHQu5Or1Oz3QbmjptR3h57OciYrKjwDi8BHRBXPW5vmncMKZOb+k/Iy/jwjjo2t71HqDReOTUqpF3J9KdLkqdlGWXIXAMkpHUiNVu5uFEED/BzWepgSl1iCyV3IgQfSvvX25S50E6skw26CyjbBvONDnaC0M//d8wOUebDWQzC/IF2889lGm7yfDhlIHXcnu0iyVJnc0mEMxSJhcSkvVxSfONhTrBqyIHdRp2vW6wHHzc9bzWID+n0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H1CR+QH2QRjA3s8fhRSnMYrugfzzVYpsSu4bpcG0fP4=;
 b=axJrtm3+9oAS9F5CkW5hJ7VZPQCg2230TiKS/L9fyhsflgfasSkPaA03m5HzPjm03vSdWZC0mPjdl6GZCIOYHSjDhBvoiJz9kV6eeN/AgFgfHYXy3Hak0D7+3VCjyUOi3YH/pzFzQlmXAoEvNjS/w4AECLmLOhQ3PW/3JbAk0tLuk9D8aQCdxBF8OG0wJ2FuNoa+AWNiH5032NzAptF5F9tMKR8/w2lWTK7Wp6Wd0ygn7/OOIow54Gjc1IIheK9RaJbV60r7lQLIH+8U5kKcxLvv/Rikjb1NcAD3HgEwDAlszMSKEPArLpw/5BXChKFTKFh7FcekmQCurp+selpRhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4722cb01-2e0a-6a12-b398-0ddd024b50bd@suse.com>
Date: Tue, 8 Aug 2023 09:27:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] xen: change parameter name in monitor_domctl()
 declaration
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, federico.serafini@bugseng.com,
 tamas@tklengyel.com
References: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9199:EE_
X-MS-Office365-Filtering-Correlation-Id: 21054775-db59-47ab-1d46-08db97e0ec99
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	287e/WZ3Rd4lsywnxGdrrRZRceE1JjEN+wSa70zOhNGFwsTO+pM+3fi9jK5nHiVxmv2yd5HrTVtum2+ilFcwTbWiZlszXHLeJMYVp8xk0AorFguse6eIIZVuS1EPWLwEcKAN2WMzEXpx9nQLfhOuUVfhl0LtH/TPqduDDUUBuMsp7KtnTG2n/1OdRfYU7Sp1a3JzTx6VPTWvGRyDdjasODhNxbcMp/ChJ3XPPtEyxTOgaH1tR7/WTGyPVM8Zuzae5wHAoaq/xsC8WSTmsbyhuawn3MSBdCayjRZE7IjvZTcJdAFz3+O0A6wsZ8L/OUeo4ubJ7CsU2vhniJJjk4EzLPNFsvxpBFiiKPEysXzfKyXbI1K4RJGP9DMgDq0FNzLmWyKNauI8FAQU1Bersb5nqeGWrqgTmeJ1s3hnsjowTxV1bsVnyggKeROc0pN1w4z7OchYKlXLtkyQfgrQHWyyeCw+M/NnvldX/5IFilN0qj5u4ZDIRC0Y1Rv+y5MXaXWOAlAvNNT6SvkyjcydthloLPdQ7a2usaVkZ7OOwtTOjobQVCcTazHxfW7A+dOimShDXB2RCAJTzCMloIKmBpI4quGQnb9NGZM+HR3CDsMRgyAVetJ0iL0bIOUW9lcXqxpUMKe8xUBlhTFCiyyLuooxAp6iJrxyTv+j/Jn59rK4GXzw+ZK+dRpiKNK4bvQre9kxv1h4jf05z0rb+OqHSI6VUQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(366004)(376002)(136003)(346002)(90021799007)(451199021)(1800799003)(186006)(90011799007)(6512007)(26005)(6506007)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(31696002)(4326008)(2906002)(6916009)(66476007)(41300700001)(66946007)(66556008)(316002)(8936002)(8676002)(478600001)(2616005)(6486002)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d3plSnRHTmJuR1pQcmNxNitTT0pnR0xpUE9aSFA3YnB3Z3Ria09NVSsxS1JU?=
 =?utf-8?B?T0hWWEhvakZsUWNrQ3hreFlMeURzMGxRNEZLL1FvbUZRMVBXOG5KVkh6d2J0?=
 =?utf-8?B?ODh3R1J1Y3VKS0VlcjhVWGlRUmFCclJWbCsvQXdxRFpRVXJsZ201NkVObnpy?=
 =?utf-8?B?bjFjalBXSmYxek90ZjkydkJJcVB0bjFSMldKZ2prbFZZcTdCQ2w4VUhBRFVD?=
 =?utf-8?B?SHd4WjZCc2hrV1paU0xsUDBZS3dHWFd5RzRudnZwemlRYzZRaEdKaHVMS1FB?=
 =?utf-8?B?d013cHh5MUplQ1BOamNZNWdoUjhqMmp6OHNmQVcvQVdJSTRkaFBLNmtlMFNa?=
 =?utf-8?B?NnNWeHVLeXhOWHd4M2paRElUR003SFh4alB4Yzdvb29XdHg4ajhraXh6M2Ni?=
 =?utf-8?B?QVRnU2NISXBrMjd0UmlBMXhCYlE0b1RoYjd5Z2I0T2ZLWk90RTZhRXZVMU5E?=
 =?utf-8?B?YTkyNyt5Ris5RkNWTFRsMHUraVhyRSt5eW04dVNMZk1RSTFmVDlqU25GMjds?=
 =?utf-8?B?RFZBL0JOUy83dFkxYWpYQk1SejVaeVU4R1p3ZEdlTnlVQnc1TjBZT2dxUHVQ?=
 =?utf-8?B?bjd5aU04d1lJZ1I1elFYOURVSFc3cU9hZXd3MkdFcWt0WHl6WXJscHRlS1RT?=
 =?utf-8?B?S2ZoeXdqL3VKM0lKRGtacjBZVGVhTTNlcTdieFB5MlBCOVpTSm5nTkdBcGZU?=
 =?utf-8?B?SkduU2w2QW5MMlJnanJnODhxTFpwY3lHRTdacnY5OUtGWVF0TnBsMFRVb2J2?=
 =?utf-8?B?VGVtY05sTHdqYUhYdzNGQ2JQeGoxN2IvSXN6enhSVE9nL1YvZjNRL2dJMjhX?=
 =?utf-8?B?aUZKS3JNaUhYajhveEMwOUdlZmhIczdPbjErVWU0ZWxmclhiN25xNkpIYThP?=
 =?utf-8?B?YXV2YzlJc1FiQ1RXZkFqdktVNDQ5MjZMNGh0YzE2V2dxTFhhbEtwN1gzbUtq?=
 =?utf-8?B?dGFzRlp2eWhrVXl6cVBBYXdpcG1iaUtsYXhpVXdpVjVhMzU2UEU1eGFGQnJT?=
 =?utf-8?B?cWo3VGJWSlRBTmN2RmJLYVVjUEJlK2djZVVnY2Zxdm9ndk1GbCsrSXFTU3Uz?=
 =?utf-8?B?a2dyeThUUVFaTGZhZksvRHp6SVBmdURycXArQmFSR21pUTVib05HN1hSU1hZ?=
 =?utf-8?B?bVVCRFdhc1IxdzV5OEtGdndYME9WZGtGeXNEbUJqV1RHNzZqYTljdzNpbjRk?=
 =?utf-8?B?Z2dUeWIrUEI2TlFjeFBuMFVVRktZVDRuWXBscFZBZXI4Vm8zTFFvUWJoTHNN?=
 =?utf-8?B?YzVIam9CK3FnaTFVZGUxSlR1amIyMGVmZmZJd3hpZzNZdkh0bnpxdFhweXMv?=
 =?utf-8?B?SmZwcm85dmc5YWR1Q2QramFtLzNnd1ZNWVVFUXE5Z0hQWjJwTGljTVBvKytV?=
 =?utf-8?B?SWdIWlcxbTBoeFU3TkQ5dXZCZENhbWdORXVGWTZsRFNtaEUrVEVwTkNjeEsr?=
 =?utf-8?B?ek9JNVQ2T1AzMlhvbU5VU0laYjU4RlNvdnZ0T1VmVnowU1BROWZiYnJycnNV?=
 =?utf-8?B?MHB5aTg2Y1ErMUdIZlVBcUNPSi92MmVxWUR2dEhBdUF6RGppd3V6TjhKK2p5?=
 =?utf-8?B?OWJTdzlPU2ZmY2tJK2ZmSFcrUzM2YWYrTUZjKzhOM2lGMFpHYytLb0Fyd1ZW?=
 =?utf-8?B?S2I2cjVIaHBtbnF3c0RydVcxVlJTVFgwUlQ2TSs3MXRPbXVOenM4NVlJcTFa?=
 =?utf-8?B?SVZTRmtCdG9pZkFvenM1ME9GUHpObzVvT2xqdGVHeWNYY0lrK0NPaVgxZlFt?=
 =?utf-8?B?bGhTR3ZCVTFFazlDRExEMkIvZWZNRkg3bWY5OUZCYUNVT2JkeE1kczR6a0NW?=
 =?utf-8?B?T1U1M296d1Q4dGdQaGFCTHNsdnFEYkhyUXZMdGtabjA3YVB6VS9YeFFEV0xH?=
 =?utf-8?B?ZUJCbERTN2tRSk1rcWc4eTR6WjlGYzRYbzA4Ung0SDFmL0RzR3d4dEFBYXBV?=
 =?utf-8?B?aDRTRS8zbnVNOFJ4UDBTQ3drQTBwa09nbHpZNk5uYkJyaTRQTkE3eWM2RWZr?=
 =?utf-8?B?bGQyQXZJQmZqbTZYaUQ4bGdXRWdkL2NzckNGY3N3NFhKMVcvOVY3NVgwNFJ1?=
 =?utf-8?B?UGF1MXI0Y2xudk85YVp6SkFBcTZEdzc3WHdmNHJ6YWc5RGFTUTNtT2hNc1VP?=
 =?utf-8?Q?4vwI0GiYqUN2BPpVkVGaNTQCH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21054775-db59-47ab-1d46-08db97e0ec99
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:27:30.2620
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QmnpoLTs5xJAvWDSywn+6pepvZ/82dBNBalzVrxDV5xIfEqqfUGa2ODGthNX5gqMEAEwFSwngw0FLe20B5OeNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9199

On 04.08.2023 23:39, Stefano Stabellini wrote:
> Hi Tamas,
> 
> May I have your ack on this change?

I see you committed this, and there is an ack in the commit, but I can't
see any ack on list (incl when checking mail archives, to exclude an
issue with my mailbox).

Jan

> On Thu, 27 Jul 2023, Federico Serafini wrote:
>> Change parameter name in monitor_domctl() declaration for
>> consistency with the corresponding definition.
>> This addresses a violation of MISRA C:2012 Rule 8.3: "All declarations
>> of an object or function shall use the same names and type qualifiers".
>>
>> No functional changes.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> 
>> ---
>>  xen/include/xen/monitor.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
>> index 6b17a93071..713d54f7c1 100644
>> --- a/xen/include/xen/monitor.h
>> +++ b/xen/include/xen/monitor.h
>> @@ -27,7 +27,7 @@
>>  struct domain;
>>  struct xen_domctl_monitor_op;
>>  
>> -int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
>> +int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
>>  void monitor_guest_request(void);
>>  
>>  int monitor_traps(struct vcpu *v, bool sync, vm_event_request_t *req);
>> -- 
>> 2.34.1
>>
>>
> 



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:50:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579342.907275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHUD-0004oh-50; Tue, 08 Aug 2023 07:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579342.907275; Tue, 08 Aug 2023 07: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 1qTHUD-0004oa-2K; Tue, 08 Aug 2023 07:50:37 +0000
Received: by outflank-mailman (input) for mailman id 579342;
 Tue, 08 Aug 2023 07:50:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UQsq=DZ=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qTHUC-0004oU-6L
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:50:36 +0000
Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com
 [2607:f8b0:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40a8ba4a-35c0-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 09:50:33 +0200 (CEST)
Received: by mail-pg1-x532.google.com with SMTP id
 41be03b00d2f7-55b78bf0423so522687a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 00:50:33 -0700 (PDT)
Received: from [10.70.252.135] ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 u4-20020a17090a410400b00263154aab24sm7244870pjf.57.2023.08.08.00.50.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 08 Aug 2023 00:50: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: 40a8ba4a-35c0-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1691481032; x=1692085832;
        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=wpg6aIffbYjICJhycB3Bph3fxU0UaKYZ32RPKTrhmtc=;
        b=FcXFQj7o5xQr1tbRw7Pn9UcrCi1B232+uajLTiNwX9TdfSjMFaRRVdHzMiOaxlryr4
         TqsRZGIMtiNm6ZippcajS5s8BFNszaSa/g6yFRgc1b4Nrb+clf9RoWeRHJwEtReG4gDh
         LBwyybjoJjy6Q47GUlBU0hOxHJ5B5n+H+unsOBMRFGW3IeVtuYALwNVCTH0vLIY9qjFM
         CyLNGOebqxclIqP3q4eqEvOWKbqhuuoRiG1QYUPJbHFervGiVpOZhfBMii4BWNV8TQee
         jZz6YmXfb9rl1Oy5qXM+JWmVZktQ1qA2f5FKoSylWcG/GIFy7RhDcwYEdv8PeGx8L8zA
         uA1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691481032; x=1692085832;
        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=wpg6aIffbYjICJhycB3Bph3fxU0UaKYZ32RPKTrhmtc=;
        b=Hsl9IieWPdk6hsCBxKyCRb3uz+AD5z33/p0ANisaQT2HTb7eOEmKJ5m1ZzdVTe/oTm
         TvcMP/nzVr23BWsCuJZ+N/VmznMC/n3/YfBL+XWzqEj4zKxlGNGqmjT2qff04R0upna3
         7Cf5cE75GKcCX1gmSSF+2d6L935jnjSuJNyjtfcxIRzlJS//OaJmhsxWINgZW0PsZO1B
         Yj1Z5lU4GwyItuxYLy7r2eqByZH6zl7qBsqLM2Zx2+rHiivzvgsuJM/aQFci/7KMeGnN
         FbGCOz5YCCVkE/UkrcdSgHu30LdfzgsHJybPhT4jKTHGR6/8IxFtpVcRgdCPgSAVjAIt
         QF7A==
X-Gm-Message-State: ABy/qLa1Dqkx5nLTZ69iu9Y8xIWZWn+fPEf0YxwaFwp/kY13uoquf4ME
	VEcqOnJKOiyAOaw/reW8ZRSC7g==
X-Google-Smtp-Source: APBJJlEd8UgUmVjTGODajLkItGQ9rG+lZy4ypLT00ATvxhzy6MYHUWJPNACQWVHeXI8Weqa+eylbDA==
X-Received: by 2002:a17:90a:6c97:b0:263:730b:f568 with SMTP id y23-20020a17090a6c9700b00263730bf568mr25207579pjj.3.1691481032358;
        Tue, 08 Aug 2023 00:50:32 -0700 (PDT)
Message-ID: <5757e341-b261-14de-e052-46606d530460@bytedance.com>
Date: Tue, 8 Aug 2023 15:50:18 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v4 46/48] mm: shrinker: make memcg slab shrink lockless
Content-Language: en-US
To: Dave Chinner <david@fromorbit.com>
Cc: akpm@linux-foundation.org, tkhai@ya.ru, vbabka@suse.cz,
 roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org,
 paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com, cel@kernel.org,
 senozhatsky@chromium.org, yujie.liu@intel.com, gregkh@linuxfoundation.org,
 muchun.song@linux.dev, simon.horman@corigine.com, dlemoal@kernel.org,
 linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com, linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com, linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org, virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-47-zhengqi.arch@bytedance.com>
 <ZNGr+1orhHaBORJG@dread.disaster.area>
From: Qi Zheng <zhengqi.arch@bytedance.com>
In-Reply-To: <ZNGr+1orhHaBORJG@dread.disaster.area>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Dave,

On 2023/8/8 10:44, Dave Chinner wrote:
> On Mon, Aug 07, 2023 at 07:09:34PM +0800, Qi Zheng wrote:
>> Like global slab shrink, this commit also uses refcount+RCU method to make
>> memcg slab shrink lockless.
> 
> This patch does random code cleanups amongst the actual RCU changes.
> Can you please move the cleanups to a spearate patch to reduce the
> noise in this one?

Sure, will do.

> 
>> diff --git a/mm/shrinker.c b/mm/shrinker.c
>> index d318f5621862..fee6f62904fb 100644
>> --- a/mm/shrinker.c
>> +++ b/mm/shrinker.c
>> @@ -107,6 +107,12 @@ static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
>>   					 lockdep_is_held(&shrinker_rwsem));
>>   }
>>   
>> +static struct shrinker_info *shrinker_info_rcu(struct mem_cgroup *memcg,
>> +					       int nid)
>> +{
>> +	return rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
>> +}
> 
> This helper doesn't add value. It doesn't tell me that
> rcu_read_lock() needs to be held when it is called, for one....

How about adding a comment or an assertion here?

> 
>>   static int expand_one_shrinker_info(struct mem_cgroup *memcg, int new_size,
>>   				    int old_size, int new_nr_max)
>>   {
>> @@ -198,7 +204,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
>>   		struct shrinker_info_unit *unit;
>>   
>>   		rcu_read_lock();
>> -		info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
>> +		info = shrinker_info_rcu(memcg, nid);
> 
> ... whilst the original code here was obviously correct.
> 
>>   		unit = info->unit[shriner_id_to_index(shrinker_id)];
>>   		if (!WARN_ON_ONCE(shrinker_id >= info->map_nr_max)) {
>>   			/* Pairs with smp mb in shrink_slab() */
>> @@ -211,7 +217,7 @@ void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id)
>>   
>>   static DEFINE_IDR(shrinker_idr);
>>   
>> -static int prealloc_memcg_shrinker(struct shrinker *shrinker)
>> +static int shrinker_memcg_alloc(struct shrinker *shrinker)
> 
> Cleanups in a separate patch.

OK.

> 
>> @@ -253,10 +258,15 @@ static long xchg_nr_deferred_memcg(int nid, struct shrinker *shrinker,
>>   {
>>   	struct shrinker_info *info;
>>   	struct shrinker_info_unit *unit;
>> +	long nr_deferred;
>>   
>> -	info = shrinker_info_protected(memcg, nid);
>> +	rcu_read_lock();
>> +	info = shrinker_info_rcu(memcg, nid);
>>   	unit = info->unit[shriner_id_to_index(shrinker->id)];
>> -	return atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
>> +	nr_deferred = atomic_long_xchg(&unit->nr_deferred[shriner_id_to_offset(shrinker->id)], 0);
>> +	rcu_read_unlock();
>> +
>> +	return nr_deferred;
>>   }
> 
> This adds two rcu_read_lock() sections to every call to
> do_shrink_slab(). It's not at all clear ifrom any of the other code
> that do_shrink_slab() now has internal rcu_read_lock() sections....

The xchg_nr_deferred_memcg() will only be called in shrink_slab_memcg(),
so other code doesn't need to know that information?

> 
>> @@ -464,18 +480,23 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>>   	if (!mem_cgroup_online(memcg))
>>   		return 0;
>>   
>> -	if (!down_read_trylock(&shrinker_rwsem))
>> -		return 0;
>> -
>> -	info = shrinker_info_protected(memcg, nid);
>> +again:
>> +	rcu_read_lock();
>> +	info = shrinker_info_rcu(memcg, nid);
>>   	if (unlikely(!info))
>>   		goto unlock;
>>   
>> -	for (; index < shriner_id_to_index(info->map_nr_max); index++) {
>> +	if (index < shriner_id_to_index(info->map_nr_max)) {
>>   		struct shrinker_info_unit *unit;
>>   
>>   		unit = info->unit[index];
>>   
>> +		/*
>> +		 * The shrinker_info_unit will not be freed, so we can
>> +		 * safely release the RCU lock here.
>> +		 */
>> +		rcu_read_unlock();
> 
> Why - what guarantees that the shrinker_info_unit exists at this
> point? We hold no reference to it, we hold no reference to any
> shrinker, etc. What provides this existence guarantee?

The shrinker_info_unit is never freed unless the memcg is destroyed.
Here we hold the refcount of this memcg (mem_cgroup_iter() -->
css_tryget()), so the shrinker_info_unit will not be freed.

> 
>> +
>>   		for_each_set_bit(offset, unit->map, SHRINKER_UNIT_BITS) {
>>   			struct shrink_control sc = {
>>   				.gfp_mask = gfp_mask,
>> @@ -485,12 +506,14 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>>   			struct shrinker *shrinker;
>>   			int shrinker_id = calc_shrinker_id(index, offset);
>>   
>> +			rcu_read_lock();
>>   			shrinker = idr_find(&shrinker_idr, shrinker_id);
>> -			if (unlikely(!shrinker || !(shrinker->flags & SHRINKER_REGISTERED))) {
>> -				if (!shrinker)
>> -					clear_bit(offset, unit->map);
>> +			if (unlikely(!shrinker || !shrinker_try_get(shrinker))) {
>> +				clear_bit(offset, unit->map);
>> +				rcu_read_unlock();
>>   				continue;
>>   			}
>> +			rcu_read_unlock();
>>   
>>   			/* Call non-slab shrinkers even though kmem is disabled */
>>   			if (!memcg_kmem_online() &&
>> @@ -523,15 +546,20 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid,
>>   					set_shrinker_bit(memcg, nid, shrinker_id);
>>   			}
>>   			freed += ret;
>> -
>> -			if (rwsem_is_contended(&shrinker_rwsem)) {
>> -				freed = freed ? : 1;
>> -				goto unlock;
>> -			}
>> +			shrinker_put(shrinker);
> 
> Ok, so why is this safe to call without holding the rcu read lock?
> The global shrinker has to hold the rcu_read_lock() whilst calling
> shrinker_put() to guarantee the validity of the list next pointer,
> but we don't hold off RCU here so what guarantees a racing global
> shrinker walk doesn't trip over this shrinker_put() call dropping
> the refcount to zero and freeing occuring in a different context...

This will not be a problem, even if shrinker::refcount is reduced to
0 here, the racing global shrinker walk already holds the rcu lock.

         shrink_slab            shrink_slab_memcg
         ===========            =================

         rcu_read_lock()
         shrinker_put()
                                shrinker_put()

And in shrink_slab_memcg(), the shrinker is not required to traverse the
next bit in the shrinker_info_unit::map, so there is no need to hold the
rcu lock to ensure the existence of this shrinker.

> 
> 
>> +		/*
>> +		 * We have already exited the read-side of rcu critical section
>> +		 * before calling do_shrink_slab(), the shrinker_info may be
>> +		 * released in expand_one_shrinker_info(), so reacquire the
>> +		 * shrinker_info.
>> +		 */
>> +		index++;
>> +		goto again;
> 
> With that, what makes the use of shrinker_info in
> xchg_nr_deferred_memcg() in do_shrink_slab() coherent and valid?

Holding rcu lock can ensure that the old shrinker_info will not be
freed, and the shrinker_info_unit::nr_deferred can also be indexed from
the old shrinker_info::unit[x], so the updated nr_deferred will not be
lost.

Thanks,
Qi

> 
> -Dave.


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:54:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:54:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579347.907287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHYL-0005OX-OR; Tue, 08 Aug 2023 07:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579347.907287; Tue, 08 Aug 2023 07: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 1qTHYL-0005OQ-JC; Tue, 08 Aug 2023 07:54:53 +0000
Received: by outflank-mailman (input) for mailman id 579347;
 Tue, 08 Aug 2023 07:54: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTHYL-0005OK-0I
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:54:53 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe12::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da0f57a6-35c0-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 09:54:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8850.eurprd04.prod.outlook.com (2603:10a6:20b:42d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 07:54:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 07:54:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da0f57a6-35c0-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OKO3yTvpEzSxgeJqSkA/WsJif4rlpy5oqOH/TSuPvAfE1zhL5wo1A5E5v9eR1j2A3jr35PUDxH/YNCvsPv0K4pnk0UBFNlCGxZ4xlPUN1LLwZ2jnUzXXDu2vkpj5nrvXlghJRkxcVBybnKuqEGQMSL8HwhaqfPVwmaaxAuH174leubD/dlq6KBkmbfsUAhz0fvSvqOFKcccK0vAs0Bc//vYv4qij7QICcR4QE+Q1G5NOl5il9UuTY/XJeOK/Xc52Slchg1mUn3mP+9iHOotj6JoiNxmkIH3kaD5gkAEYsgL6GsuGYm6G9/Dno6jGd1t2Fs0rztUII6UZs2VLoQm9EQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jOr0By17pAHE2B7BMnGWJAufSS89hXto64ugIguYhGM=;
 b=AJ/4QLqRGvTlKny09HQeNOMoetSyepJt1wDUgpwn6YRAkKiSEmpc1EBrWrx+fTIswLXrB6kxXd041R7Xbb8F3dmZyL59EZULKz7tBqGVRlfhXZ6wxM7ZauLl6D9c9tpgdgAyHiHbEKsBfoBvyn54xhUEJIWgLYPv1rcWD6Rb1EMxab6OmtBPltAQcdgLS9NSjUIeOg4iqUQXYx/wXBiybBDfKGOvvvqyVxQScnk6VVE8qsG95+fbajm57nCcNQ487krQGLuqdDEVL6VRcMUjpAYbqgU5LnO33ZorSZG51wB5839WE55SnmBVNRsnqnOy7lVDYfC/d1BBjo9OEpmT4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jOr0By17pAHE2B7BMnGWJAufSS89hXto64ugIguYhGM=;
 b=y9R7W5dkU7vPYr0MMPjd9+T+i0s9/Zaowx+TFItV3AdhLlORA0mdgeQIRaEbdjdbCta62OTiHRvygUBri2x83nkCUxghUU/Pg21LSjQTUPJNGTEmKfEFsZz7Hf8Gs4oBdFjFbOpY0K616BTLykXdYwHCWgxk8/hgGR1ypvPrP1z7M4o2PrHlECq7/JjbuaS1str1fOKusWMQV9H/2TY1Mg7RGJSNAxB+/cwZdmEDfzIh8eVr0clZOubM6et41/3YQvDSCYOYWP2J/DBZR8rI+68Pbfmji1hx8EBl6hJNJ2i69p0qqopcK/j8yeEqo58LxENtXN2pIM5AH5dbJCDHHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
Date: Tue, 8 Aug 2023 09:54:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xen/IOMMU: Switch bool_t to bool
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <stefano@stabellini.net>
References: <20230807165830.6719-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230807165830.6719-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8850:EE_
X-MS-Office365-Filtering-Correlation-Id: 66a1f2df-f691-4ce9-2f6a-08db97e4bca2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	//CPBsDvPyzRndaxBxt4nEFszG554b76Jkp9yrSkmbwAhLRJjJn94Axvo3ujjRtV6svVdsMEtfD9G0Tp06V8bTYVNc6SEqI44TfSDTQuKAEwApmJ2HTRB6b2CBWc2mJsmfvYg5MJW6G8RW8oIkGRD8A2lixV1sZ1PLXNMeThM8xigDi9nfPYF/8KkcF57nVMZdCtDfjTfw3Lv3pn3+YJUu0DHkksatrNFHkqciGAeOaTcjvCQAMj1aYhSmuL4DbMNQgjkojICcwbwk7bq2wJ0ljLjA5PaycPjZ0ITB/hCWnQCeFMSvsPDUJ1tnrfMXd6begQBFPGNhqKKHZGpklEEzfgF4sHf5uZazSQpmcLJ6NvhhCophwaYU6BYUy4q9bKW5SPAbjaeY8vmlXHezGLyxy3rNfnY3uuyLhn5JT7QCmczgZqjODIVSydO3nGNUY3+HiE7KKrx2st1aRe8AIyj3ZIfh/tMSKApenYnCTAEicAGJst8klaA8/6AVStwh0iTGl1ovtmq49mfds8HIaBD0ex1GNg4X6R6TovJ5EB28VqMBFMg6GbC/cRWVAhaSHWTWvonhVXh4zFydejHB64yKYT0EMOcS6CfVXVqCX0Mkh4j/GEdWjwtZoAGDW+Xv7xdSTRdpIhh5qmdEFsCy7kYY56GZ7TA36mt4KsR3BjQTG4ygi68mItU0ZspsFqbYGswxuA9DOIGrvcE3o2/HmT4ZHMYwb7//tXLbg/H+aFfGbIQpKc3f4NkFYebBJoaOl3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(346002)(376002)(136003)(39860400002)(451199021)(90011799007)(90021799007)(186006)(1800799003)(2616005)(36756003)(6512007)(4326008)(316002)(86362001)(6916009)(54906003)(38100700002)(66946007)(478600001)(66476007)(66556008)(31696002)(6486002)(53546011)(6506007)(41300700001)(26005)(8676002)(8936002)(2906002)(30864003)(83380400001)(5660300002)(31686004)(45980500001)(43740500002)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmRrcSs3cU5KRTltQmZTSzYwZEFCUkorM0N5eHpmdzlKUTRLQmFIUSsyeGVN?=
 =?utf-8?B?b2NwV3VwL0VhRk0wMTVjNndTaGFDNVhsUmJ3ZTZYOXhJK0xYRE5tS3hsL3R4?=
 =?utf-8?B?SU1VcHQ2a2xFQWM1OXRuWHo0L3cybjdmTmo4MVRrVXQ0eXBkV3h6SDhjVm1y?=
 =?utf-8?B?VFd5VGhWRXJRTjVlbkJMczRrVUl0MWpVbXFpRHpUOWlSYXU0VTlKRHY2ZHFC?=
 =?utf-8?B?UkQ1WUFkbzV0ZmhZbU83VFkwemxIVy81Rit0TkNaRy9XRExvaVRXRGFGUXJ4?=
 =?utf-8?B?bGJaUTYwMGxraTJSMytlSFpsRVRXN3lLcHZLbGlaK0lnOE5nclBHMlV6M0t4?=
 =?utf-8?B?bUMvS29BYjJxQTdadU1VNStmQnFqaXZEK2tGMUtDMHJPaE1ITXVva3ExRDNr?=
 =?utf-8?B?Uk9QL0VFYjlXRjQ0R2F4aDRqR2F2Y25IV1hZUUFCQVdJcDhPSmxuR3Y4d0M5?=
 =?utf-8?B?Y2RuclQrMFVrT0dUNzZ4enAxMG00RTdJRThIcmRVeFdWQlVnMkV6V0JYZjlQ?=
 =?utf-8?B?NlcrOHltU3QwY2MvNzZ1NHAxekZpV1RCTXNyZWs0RnkwL29GNlVMTlhCWWVj?=
 =?utf-8?B?Ukc4aDJRR1JhTTBaZjBFK0JJVU04czlVUE93a1pwNWRVRVEvTGtwNEJ5M1Nx?=
 =?utf-8?B?ZGN3eUYxOVZHM01qNEJGTmlDak5FMnNUS0F5Y0FuSjRDL1VoZmh5NnhKSktt?=
 =?utf-8?B?dENXV1NDc0ZWN3VCVXZpWVBObEtSOEJJOTdRK2M4dnJVWHZhUDlGVUFqc1Vu?=
 =?utf-8?B?L21tVWoycWZpd2QyTFpSVklkOEhOMjRyZFJBUm83SXZLdlRqR3J0d3d0a2xN?=
 =?utf-8?B?SkFhZTNGNXVnMWlPUUR0NHhDRFFiTHFBQ1REN1RJdElBNkRCcCs4STNIRTh2?=
 =?utf-8?B?UUVlWmRpb3lIUEE2U0JkNitGN2cvWnk4M0Z3bkV3SkZ6SWlweWdRenpTVWkx?=
 =?utf-8?B?OW9aaFl0QUs2eFNkMFpsbWtTNjB1d3E3Yi93SWJCeVhhbXZPSXR2emt1TjZt?=
 =?utf-8?B?S2FWMlRORi94YmJnSjZmVU5hM1dxTUVGeGpITWpKaVFmSEdjVFBMck81V3dG?=
 =?utf-8?B?NDVjS09rZ2gzQWFHV05uT0lVWGxrb2xkdUhRSEhFZkJDaWpOTTdpN2lWc0t0?=
 =?utf-8?B?Q0NYY3p0bGdLZUFMaW9xWDdtMnluM1p2Vnc1M1paWkplc0RxdEdFWUYyYnVr?=
 =?utf-8?B?RHRKVzdDV3hXUVA3endZMDlpL2g4K1dDUjhFU2RqSTRuczdHZE5CZHRVdG5l?=
 =?utf-8?B?anNmN3Q4VVR6Z1BWNGRXM1F3eEw0d2Vyalo3VWphV1liUFR2eUZrTUxScDNT?=
 =?utf-8?B?M0kxM0dqSlpVeGhpTlZVbVoxSWxhUWp3SDBkblNBeGdyWlVkSitPRURiekgx?=
 =?utf-8?B?RHBjRDllQmR5Qm1CNThLR1dlb0NlQU1HWk1WNTNWQUFoejgwb0puSlZ6NHNq?=
 =?utf-8?B?bHMvOWYrb3ZsK2VnRk03SGNwNTFTcG1PcDlTcmxmMW5sM1RIWVdXVkpUSjEv?=
 =?utf-8?B?UzAyeGxoYTB1bzE4YldtZ2FlTzFnWXk0R2ZOcFNDY21nRHkrcys3enJJL3Y4?=
 =?utf-8?B?NHh0OWE0YXBTdG5ZbzdqUG4zOGR6TVAvNzNkelozTDNJSy9XYTdmNHFudVVL?=
 =?utf-8?B?SEJoY3NzZnArZUZLQnlDaHVqNTZuOFNJdkVybTIybHk4endTVGJTNHo3YzJB?=
 =?utf-8?B?UXMwbitZaHFScHJySmUxalVsNkcxZzVHNllYTHhZOCttc0NBZkJiaFE1Q2ZQ?=
 =?utf-8?B?UFNaZlorT3I5TnNUa0laUHlpZktuZEdGOWZMVXhQR0Y0dzF1ZlptUDU5MzBI?=
 =?utf-8?B?ZHJiRHdlMVFraXlDS0ltS0RDYnlnbVJNUHg0UHBPMFNVY0tPNXFBU0M3S3I2?=
 =?utf-8?B?a0Nzay9Ya21RNUtpVzhyZzdOL2VOM1V4Z2l0akNxdmdmUDZUUEdLSHc4S2h0?=
 =?utf-8?B?WHBZZ1Y2VSt2YS9UK1N1RE9ITnZuWlFMRlVaSzFGY0JQYnhVTWZmS01QdFhH?=
 =?utf-8?B?RHRkdnF1TnRucXU3MkFrc1ZDb1ZPTU1nTG9PYkZKbXhzaEY0bG8zM2c5d3I0?=
 =?utf-8?B?dzFWTnJidkFlYTc2TkY4VGdXVmphSG02R0lWZmFYeGw0SFpaZVZqZmR1bXQx?=
 =?utf-8?Q?zZrmUJny5TR5Xlc+FnUe7yjDu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66a1f2df-f691-4ce9-2f6a-08db97e4bca2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 07:54:47.7481
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AFpRzurN8Q9x8KIoxg0XuaufFF2X6H0ACWdHf6MnvQJ8oOp/dLg8rukSpmCFOjPz1BnSxFYwNT4I/nF70XY2VA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8850

On 07.08.2023 18:58, Andrew Cooper wrote:
> ... as part of cleaning up the types used.  Minor style cleanup on some
> altered lines.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/drivers/passthrough/amd/iommu.h         |  4 ++--
>  xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
>  xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
>  xen/drivers/passthrough/ats.c               |  2 +-
>  xen/drivers/passthrough/ats.h               |  2 +-
>  xen/drivers/passthrough/device_tree.c       |  4 ++--

This will want a DEVICE TREE ack; Cc-ing respective maintainers here
(and therefore preserving full context).

>  xen/drivers/passthrough/iommu.c             |  8 ++++----
>  xen/drivers/passthrough/pci.c               | 16 ++++++++--------

For these and ats.? you would also have wanted to Cc Paul.

Jan

>  xen/drivers/passthrough/vtd/dmar.c          |  6 +++--->  xen/drivers/passthrough/vtd/extern.h        |  6 +++---
>  xen/drivers/passthrough/vtd/iommu.c         | 18 +++++++++---------
>  xen/drivers/passthrough/vtd/qinval.c        |  2 +-
>  xen/drivers/passthrough/vtd/quirks.c        |  8 ++++----
>  xen/drivers/passthrough/vtd/x86/ats.c       |  2 +-
>  xen/include/xen/iommu.h                     |  6 +++---
>  16 files changed, 49 insertions(+), 49 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
> index 5429ada58ef5..acbaad30d564 100644
> --- a/xen/drivers/passthrough/amd/iommu.h
> +++ b/xen/drivers/passthrough/amd/iommu.h
> @@ -174,7 +174,7 @@ struct guest_iommu {
>  
>      struct domain          *domain;
>      spinlock_t              lock;
> -    bool_t                  enabled;
> +    bool                    enabled;
>  
>      struct guest_dev_table  dev_table;
>      struct guest_buffer     cmd_buffer;
> @@ -194,7 +194,7 @@ struct guest_iommu {
>      struct guest_iommu_msi  msi;
>  };
>  
> -extern bool_t iommuv2_enabled;
> +extern bool iommuv2_enabled;
>  
>  struct acpi_ivrs_hardware;
>  
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 3b577c9b390c..891c6c6ddde2 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -1063,14 +1063,14 @@ static unsigned int __initdata nr_ivmd;
>  #define to_ivmd_block(hdr) \
>      container_of(hdr, const struct acpi_ivrs_memory, header)
>  
> -static inline bool_t is_ivhd_block(u8 type)
> +static inline bool is_ivhd_block(u8 type)
>  {
>      return (type == ACPI_IVRS_TYPE_HARDWARE ||
>              ((amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP) &&
>               type == ACPI_IVRS_TYPE_HARDWARE_11H));
>  }
>  
> -static inline bool_t is_ivmd_block(u8 type)
> +static inline bool is_ivmd_block(u8 type)
>  {
>      return (type == ACPI_IVRS_TYPE_MEMORY_ALL ||
>              type == ACPI_IVRS_TYPE_MEMORY_ONE ||
> @@ -1102,7 +1102,7 @@ static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
>      const struct acpi_ivrs_header *ivrs_block;
>      unsigned long length;
>      unsigned int apic, i;
> -    bool_t sb_ioapic = !iommu_intremap;
> +    bool sb_ioapic = !iommu_intremap;
>      int error = 0;
>  
>      BUG_ON(!table);
> diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
> index af6713d2fc02..41ec38bb72eb 100644
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -34,7 +34,7 @@ unsigned int __read_mostly ivrs_bdf_entries;
>  u8 __read_mostly ivhd_type;
>  static struct radix_tree_root ivrs_maps;
>  LIST_HEAD_READ_MOSTLY(amd_iommu_head);
> -bool_t iommuv2_enabled;
> +bool iommuv2_enabled;
>  
>  bool __ro_after_init amd_iommu_perdev_intremap = true;
>  
> @@ -737,7 +737,7 @@ static void cf_check iommu_interrupt_handler(
>      tasklet_schedule(&amd_iommu_irq_tasklet);
>  }
>  
> -static bool_t __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
> +static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
>  {
>      int irq, ret;
>  
> @@ -1329,7 +1329,7 @@ static int __init cf_check amd_iommu_setup_device_table(
>  }
>  
>  /* Check whether SP5100 SATA Combined mode is on */
> -static bool_t __init amd_sp5100_erratum28(void)
> +static bool __init amd_sp5100_erratum28(void)
>  {
>      u32 bus, id;
>      u16 vendor_id, dev_id;
> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> index 94e37755064b..f7f9f4e5423a 100644
> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -28,7 +28,7 @@
>  /* dom_io is used as a sentinel for quarantined devices */
>  #define QUARANTINE_SKIP(d, p) ((d) == dom_io && !(p)->arch.amd.root_table)
>  
> -static bool_t __read_mostly init_done;
> +static bool __read_mostly init_done;
>  
>  static const struct iommu_init_ops _iommu_init_ops;
>  
> diff --git a/xen/drivers/passthrough/ats.c b/xen/drivers/passthrough/ats.c
> index 7f7b16dc490c..253f5c2e1042 100644
> --- a/xen/drivers/passthrough/ats.c
> +++ b/xen/drivers/passthrough/ats.c
> @@ -18,7 +18,7 @@
>  #include <xen/pci_regs.h>
>  #include "ats.h"
>  
> -bool_t __read_mostly ats_enabled = 0;
> +bool __read_mostly ats_enabled;
>  boolean_param("ats", ats_enabled);
>  
>  int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list)
> diff --git a/xen/drivers/passthrough/ats.h b/xen/drivers/passthrough/ats.h
> index c202f4ecdd67..baa5f6a6dc04 100644
> --- a/xen/drivers/passthrough/ats.h
> +++ b/xen/drivers/passthrough/ats.h
> @@ -22,7 +22,7 @@
>  #define ATS_QUEUE_DEPTH_MASK     0x1f
>  #define ATS_ENABLE               (1<<15)
>  
> -extern bool_t ats_enabled;
> +extern bool ats_enabled;
>  
>  int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list);
>  void disable_ats_device(struct pci_dev *pdev);
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 1c32d7b50cce..3c0322c7973d 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -83,9 +83,9 @@ int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev)
>      return rc;
>  }
>  
> -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> +static bool iommu_dt_device_is_assigned(const struct dt_device_node *dev)
>  {
> -    bool_t assigned = 0;
> +    bool assigned = false;
>  
>      if ( !dt_device_is_protected(dev) )
>          return 0;
> diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
> index 7bbe3889a214..f9a9f53dbd44 100644
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -29,7 +29,7 @@ bool __initdata iommu_enable = 1;
>  bool __read_mostly iommu_enabled;
>  bool __read_mostly force_iommu;
>  bool __read_mostly iommu_verbose;
> -static bool_t __read_mostly iommu_crash_disable;
> +static bool __read_mostly iommu_crash_disable;
>  
>  #define IOMMU_quarantine_none         0 /* aka false */
>  #define IOMMU_quarantine_basic        1 /* aka true */
> @@ -59,7 +59,7 @@ bool __read_mostly iommu_hap_pt_share = true;
>  
>  bool __read_mostly iommu_debug;
>  
> -DEFINE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
> +DEFINE_PER_CPU(bool, iommu_dont_flush_iotlb);
>  
>  static int __init cf_check parse_iommu_param(const char *s)
>  {
> @@ -548,7 +548,7 @@ static int __init iommu_quarantine_init(void)
>  int __init iommu_setup(void)
>  {
>      int rc = -ENODEV;
> -    bool_t force_intremap = force_iommu && iommu_intremap;
> +    bool force_intremap = force_iommu && iommu_intremap;
>  
>      if ( iommu_hwdom_strict )
>          iommu_hwdom_passthrough = false;
> @@ -672,7 +672,7 @@ int iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
>      return iommu_call(ops, get_reserved_device_memory, func, ctxt);
>  }
>  
> -bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
> +bool iommu_has_feature(struct domain *d, enum iommu_feature feature)
>  {
>      return is_iommu_enabled(d) && test_bit(feature, dom_iommu(d)->features);
>  }
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 33452791a8e0..ed1f689227fa 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -62,7 +62,7 @@ void pcidevs_unlock(void)
>      spin_unlock_recursive(&_pcidevs_lock);
>  }
>  
> -bool_t pcidevs_locked(void)
> +bool pcidevs_locked(void)
>  {
>      return !!spin_is_locked(&_pcidevs_lock);
>  }
> @@ -74,7 +74,7 @@ static inline struct pci_seg *get_pseg(u16 seg)
>      return radix_tree_lookup(&pci_segments, seg);
>  }
>  
> -bool_t pci_known_segment(u16 seg)
> +bool pci_known_segment(u16 seg)
>  {
>      return get_pseg(seg) != NULL;
>  }
> @@ -984,7 +984,7 @@ int find_upstream_bridge(u16 seg, u8 *bus, u8 *devfn, u8 *secbus)
>      return ret;
>  }
>  
> -bool_t __init pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func)
> +bool __init pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func)
>  {
>      u32 vendor;
>  
> @@ -1181,7 +1181,7 @@ static int hest_match_pci(const struct acpi_hest_aer_common *p,
>             p->function               == PCI_FUNC(pdev->devfn);
>  }
>  
> -static bool_t hest_match_type(const struct acpi_hest_header *hest_hdr,
> +static bool hest_match_type(const struct acpi_hest_header *hest_hdr,
>                                const struct pci_dev *pdev)
>  {
>      unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus,
> @@ -1207,10 +1207,10 @@ static bool_t hest_match_type(const struct acpi_hest_header *hest_hdr,
>  
>  struct aer_hest_parse_info {
>      const struct pci_dev *pdev;
> -    bool_t firmware_first;
> +    bool firmware_first;
>  };
>  
> -static bool_t hest_source_is_pcie_aer(const struct acpi_hest_header *hest_hdr)
> +static bool hest_source_is_pcie_aer(const struct acpi_hest_header *hest_hdr)
>  {
>      if ( hest_hdr->type == ACPI_HEST_TYPE_AER_ROOT_PORT ||
>           hest_hdr->type == ACPI_HEST_TYPE_AER_ENDPOINT ||
> @@ -1224,7 +1224,7 @@ static int cf_check aer_hest_parse(
>  {
>      struct aer_hest_parse_info *info = data;
>      const struct acpi_hest_aer_common *p;
> -    bool_t ff;
> +    bool ff;
>  
>      if ( !hest_source_is_pcie_aer(hest_hdr) )
>          return 0;
> @@ -1254,7 +1254,7 @@ static int cf_check aer_hest_parse(
>      return 0;
>  }
>  
> -bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
> +bool pcie_aer_get_firmware_first(const struct pci_dev *pdev)
>  {
>      struct aer_hest_parse_info info = { .pdev = pdev };
>  
> diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
> index 4936c20952ec..07772f178fe6 100644
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -149,7 +149,7 @@ struct vtd_iommu *ioapic_to_iommu(unsigned int apic_id)
>      return NULL;
>  }
>  
> -static bool_t acpi_hpet_device_match(
> +static bool acpi_hpet_device_match(
>      struct list_head *list, unsigned int hpet_id)
>  {
>      struct acpi_hpet_unit *hpet;
> @@ -1052,14 +1052,14 @@ void acpi_dmar_zap(void)
>          write_atomic((uint32_t*)&dmar_table->signature[0], sig);
>  }
>  
> -bool_t platform_supports_intremap(void)
> +bool platform_supports_intremap(void)
>  {
>      const unsigned int mask = ACPI_DMAR_INTR_REMAP;
>  
>      return (dmar_flags & mask) == ACPI_DMAR_INTR_REMAP;
>  }
>  
> -bool_t __init platform_supports_x2apic(void)
> +bool __init platform_supports_x2apic(void)
>  {
>      const unsigned int mask = ACPI_DMAR_INTR_REMAP | ACPI_DMAR_X2APIC_OPT_OUT;
>  
> diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
> index d49e40c5ce7d..667590ee52df 100644
> --- a/xen/drivers/passthrough/vtd/extern.h
> +++ b/xen/drivers/passthrough/vtd/extern.h
> @@ -26,7 +26,7 @@
>  #define VTDPREFIX "[VT-D]"
>  
>  struct pci_ats_dev;
> -extern bool_t rwbf_quirk;
> +extern bool rwbf_quirk;
>  extern const struct iommu_init_ops intel_iommu_init_ops;
>  
>  void print_iommu_regs(struct acpi_drhd_unit *drhd);
> @@ -111,7 +111,7 @@ int __must_check me_wifi_quirk(struct domain *domain, uint8_t bus,
>  void pci_vtd_quirk(const struct pci_dev *);
>  void quirk_iommu_caps(struct vtd_iommu *iommu);
>  
> -bool_t platform_supports_intremap(void);
> -bool_t platform_supports_x2apic(void);
> +bool platform_supports_intremap(void);
> +bool platform_supports_x2apic(void);
>  
>  #endif // _VTD_EXTERN_H_
> diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
> index 0e3062c820f9..d34c98d9c773 100644
> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -644,8 +644,8 @@ static int __must_check iommu_flush_iotlb_global(struct vtd_iommu *iommu,
>  }
>  
>  static int __must_check iommu_flush_iotlb_dsi(struct vtd_iommu *iommu, u16 did,
> -                                              bool_t flush_non_present_entry,
> -                                              bool_t flush_dev_iotlb)
> +                                              bool flush_non_present_entry,
> +                                              bool flush_dev_iotlb)
>  {
>      int status;
>  
> @@ -663,8 +663,8 @@ static int __must_check iommu_flush_iotlb_dsi(struct vtd_iommu *iommu, u16 did,
>  
>  static int __must_check iommu_flush_iotlb_psi(struct vtd_iommu *iommu, u16 did,
>                                                u64 addr, unsigned int order,
> -                                              bool_t flush_non_present_entry,
> -                                              bool_t flush_dev_iotlb)
> +                                              bool flush_non_present_entry,
> +                                              bool flush_dev_iotlb)
>  {
>      int status;
>  
> @@ -694,7 +694,7 @@ static int __must_check iommu_flush_all(void)
>  {
>      struct acpi_drhd_unit *drhd;
>      struct vtd_iommu *iommu;
> -    bool_t flush_dev_iotlb;
> +    bool flush_dev_iotlb;
>      int rc = 0;
>  
>      flush_local(FLUSH_CACHE);
> @@ -736,7 +736,7 @@ static int __must_check cf_check iommu_flush_iotlb(struct domain *d, dfn_t dfn,
>      struct domain_iommu *hd = dom_iommu(d);
>      struct acpi_drhd_unit *drhd;
>      struct vtd_iommu *iommu;
> -    bool_t flush_dev_iotlb;
> +    bool flush_dev_iotlb;
>      int iommu_domid;
>      int ret = 0;
>  
> @@ -1480,7 +1480,7 @@ int domain_context_mapping_one(
>      uint16_t seg = iommu->drhd->segment, prev_did = 0;
>      struct domain *prev_dom = NULL;
>      int rc, ret;
> -    bool_t flush_dev_iotlb;
> +    bool flush_dev_iotlb;
>  
>      if ( QUARANTINE_SKIP(domain, pgd_maddr) )
>          return 0;
> @@ -1874,7 +1874,7 @@ int domain_context_unmap_one(
>      struct context_entry *context, *context_entries;
>      u64 maddr;
>      int iommu_domid, rc, ret;
> -    bool_t flush_dev_iotlb;
> +    bool flush_dev_iotlb;
>  
>      ASSERT(pcidevs_locked());
>      spin_lock(&iommu->lock);
> @@ -2873,7 +2873,7 @@ static int cf_check intel_iommu_assign_device(
>          if ( rmrr->segment == seg && bdf == PCI_BDF(bus, devfn) &&
>               rmrr->scope.devices_cnt > 1 )
>          {
> -            bool_t relaxed = !!(flag & XEN_DOMCTL_DEV_RDM_RELAXED);
> +            bool relaxed = flag & XEN_DOMCTL_DEV_RDM_RELAXED;
>  
>              printk(XENLOG_GUEST "%s" VTDPREFIX
>                     " It's %s to assign %pp"
> diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c
> index 4f9ad136b9c5..036f3e850544 100644
> --- a/xen/drivers/passthrough/vtd/qinval.c
> +++ b/xen/drivers/passthrough/vtd/qinval.c
> @@ -152,7 +152,7 @@ static int __must_check queue_invalidate_iotlb_sync(struct vtd_iommu *iommu,
>  
>  static int __must_check queue_invalidate_wait(struct vtd_iommu *iommu,
>                                                u8 iflag, u8 sw, u8 fn,
> -                                              bool_t flush_dev_iotlb)
> +                                              bool flush_dev_iotlb)
>  {
>      static DEFINE_PER_CPU(uint32_t, poll_slot);
>      unsigned int index;
> diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
> index fcc8f73e8b90..5d706a539788 100644
> --- a/xen/drivers/passthrough/vtd/quirks.c
> +++ b/xen/drivers/passthrough/vtd/quirks.c
> @@ -56,9 +56,9 @@ static unsigned int snb_igd_timeout;
>  
>  static u32 __read_mostly ioh_id;
>  static u32 __initdata igd_id;
> -bool_t __read_mostly rwbf_quirk;
> -static bool_t __read_mostly is_cantiga_b3;
> -static bool_t __read_mostly is_snb_gfx;
> +bool __read_mostly rwbf_quirk;
> +static bool __read_mostly is_cantiga_b3;
> +static bool __read_mostly is_snb_gfx;
>  static u8 *__read_mostly igd_reg_va;
>  static spinlock_t igd_lock;
>  
> @@ -498,7 +498,7 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
>      int seg = pdev->seg;
>      int bus = pdev->bus;
>      int pos;
> -    bool_t ff;
> +    bool ff;
>      u32 val, val2;
>      u64 bar;
>      paddr_t pa;
> diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
> index 04d702b1d6b1..9de419775f90 100644
> --- a/xen/drivers/passthrough/vtd/x86/ats.c
> +++ b/xen/drivers/passthrough/vtd/x86/ats.c
> @@ -119,7 +119,7 @@ int dev_invalidate_iotlb(struct vtd_iommu *iommu, u16 did,
>  
>      list_for_each_entry_safe( pdev, temp, &iommu->ats_devices, ats.list )
>      {
> -        bool_t sbit;
> +        bool sbit;
>          int rc = 0;
>  
>          switch ( type )
> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> index 110693c59fe8..0e33ff79684b 100644
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -46,7 +46,7 @@ static inline dfn_t dfn_add(dfn_t dfn, unsigned long i)
>      return _dfn(dfn_x(dfn) + i);
>  }
>  
> -static inline bool_t dfn_eq(dfn_t x, dfn_t y)
> +static inline bool dfn_eq(dfn_t x, dfn_t y)
>  {
>      return dfn_x(x) == dfn_x(y);
>  }
> @@ -193,7 +193,7 @@ enum iommu_feature
>      IOMMU_FEAT_count
>  };
>  
> -bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature);
> +bool iommu_has_feature(struct domain *d, enum iommu_feature feature);
>  
>  #ifdef CONFIG_HAS_PCI
>  struct pirq;
> @@ -409,7 +409,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev);
>   * iommu_iotlb_flush/iommu_iotlb_flush_all will be explicitly called by
>   * the caller.
>   */
> -DECLARE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
> +DECLARE_PER_CPU(bool, iommu_dont_flush_iotlb);
>  
>  extern struct spinlock iommu_pt_cleanup_lock;
>  extern struct page_list_head iommu_pt_cleanup_list;



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 07:58:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 07:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579356.907296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHbW-00064L-9j; Tue, 08 Aug 2023 07:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579356.907296; Tue, 08 Aug 2023 07:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHbW-00064E-6c; Tue, 08 Aug 2023 07:58:10 +0000
Received: by outflank-mailman (input) for mailman id 579356;
 Tue, 08 Aug 2023 07:58:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTHbV-000648-Cy
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 07:58:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTHbQ-0004oz-86; Tue, 08 Aug 2023 07:58:04 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTHbP-0004q8-Ru; Tue, 08 Aug 2023 07:58:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=MkAvYxPF5O5PUVW2zj0seh+ME1qdF6hK2yx1CWIRDgk=; b=w4CYa7kPMf5d2SRxA1WuczJS46
	eA+lBFNcl5NB9d349qJvKQ3PjIETCZPcGV0yLPrIv4UIh8/yaCQfiRSCWpvHbGKyjpizmKpRe73Ho
	EEaopvj0jQ67V0pz86WzLpjJXC3ToJdGXN4mHUr0bYjtlVlbGjYZhINqm+T/d0QXWQhw=;
Message-ID: <b9f1d337-023b-4555-8761-789abff52ca6@xen.org>
Date: Tue, 8 Aug 2023 08:58:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] mm: Factor out the pdx compression logic in ma/va
 converters
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-3-alejandro.vallejo@cloud.com>
 <db533ea3-8b1f-fb36-a0b8-d196f3a84f33@suse.com>
 <64d11b39.050a0220.2ab40.c2cc@mx.google.com>
 <825bb94c-a427-62ff-a790-39c0792553d3@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <825bb94c-a427-62ff-a790-39c0792553d3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 08/08/2023 07:05, Jan Beulich wrote:
> On 07.08.2023 18:26, Alejandro Vallejo wrote:
>> On Mon, Jul 31, 2023 at 05:15:19PM +0200, Jan Beulich wrote:
>>> Especially since the names of the helper functions are longish,
>>> I'm afraid I'm not fully convinced of the transformation.
>> In what sense? If it's just naming style I'm happy to consider other names,
>> but taking compression logic out of non-pdx code is essential to removing
>> compiling it out.
> 
> I understand that, but my dislike for long names of functions doing
> basic transformations remains. I'm afraid I have no good alternative
> suggestion, though, and while it's been a long time, this may also
> have been one reason why I didn't go with helpers back at the time.
> 
> Plus of course I remain unconvinced that compiling out really is the
> better option compared to patching out, as was done by my series.

I am with Alejandro here. The altpatching is more complex and would 
likely require arch specific code.

I don't exactly see the benefits of such approach given that are no 
known x86 platform where PDX might be useful. Even for Arm, I am not 
aware of a platform where PDX could be disabled. I agree this could 
change in the future, but this could be revisit if needed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579368.907317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdi-00085Q-KX; Tue, 08 Aug 2023 08:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579368.907317; Tue, 08 Aug 2023 08: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 1qTHdi-000834-EQ; Tue, 08 Aug 2023 08:00:26 +0000
Received: by outflank-mailman (input) for mailman id 579368;
 Tue, 08 Aug 2023 08:00: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=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdh-0007uw-K5
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a03ca1b7-35c1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:00:23 +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 07D3F1424;
 Tue,  8 Aug 2023 01:01:05 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1F5613F6C4;
 Tue,  8 Aug 2023 01:00:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a03ca1b7-35c1-11ee-8613-37d641c3527e
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 1/5] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Tue,  8 Aug 2023 09:00:06 +0100
Message-Id: <20230808080010.3858575-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd284..03ec1247ad4c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -78,6 +78,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -92,11 +100,22 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a505..b2b609eb0c2d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2775,6 +2775,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2826,6 +2827,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2901,8 +2903,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 95e4f020febe..d18a3317ccc4 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 97d6f6106638..86fa8bc7e894 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -95,10 +95,12 @@ int domain_vgic_register(struct domain *d, int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579366.907306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdi-0007xn-2n; Tue, 08 Aug 2023 08:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579366.907306; Tue, 08 Aug 2023 08: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 1qTHdh-0007xg-Vd; Tue, 08 Aug 2023 08:00:25 +0000
Received: by outflank-mailman (input) for mailman id 579366;
 Tue, 08 Aug 2023 08: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=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdg-0007uw-UX
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 9f626118-35c1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:00:21 +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 6E477139F;
 Tue,  8 Aug 2023 01:01:03 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BBC293F6C4;
 Tue,  8 Aug 2023 01:00: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: 9f626118-35c1-11ee-8613-37d641c3527e
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@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: [PATCH 0/5] Fine granular configuration
Date: Tue,  8 Aug 2023 09:00:05 +0100
Message-Id: <20230808080010.3858575-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie aims to add more modularity to some feature that can be excluded
without issues from the build.

The first patch is already reviewed.

Luca Fancellu (5):
  arm/gicv2: make GICv2 driver and vGICv2 optional
  xen/arm: Add asm/domain.h include to kernel.h
  arm/dom0less: put dom0less feature code in a separate module
  xen/arm: Move static memory build code in separate modules
  arm/dom0less: introduce Kconfig for dom0less feature

 xen/arch/arm/Kconfig                      |   28 +
 xen/arch/arm/Makefile                     |    7 +-
 xen/arch/arm/bootfdt.c                    |  161 +-
 xen/arch/arm/dom0less-build.c             | 1086 ++++++
 xen/arch/arm/domain_build.c               | 4096 ++++++---------------
 xen/arch/arm/efi/efi-boot.h               |    4 +
 xen/arch/arm/gic-v3.c                     |    4 +
 xen/arch/arm/include/asm/dom0less-build.h |   35 +
 xen/arch/arm/include/asm/domain_build.h   |   33 +
 xen/arch/arm/include/asm/kernel.h         |    1 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/include/asm/static-memory.h  |   50 +
 xen/arch/arm/include/asm/static-shmem.h   |   72 +
 xen/arch/arm/setup.c                      |   58 +-
 xen/arch/arm/static-memory.c              |  294 ++
 xen/arch/arm/static-shmem.c               |  515 +++
 xen/arch/arm/vgic.c                       |    2 +
 xen/arch/arm/vgic/Makefile                |    4 +-
 18 files changed, 3357 insertions(+), 3094 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579367.907313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdi-0007zq-DR; Tue, 08 Aug 2023 08:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579367.907313; Tue, 08 Aug 2023 08: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 1qTHdi-0007yc-5e; Tue, 08 Aug 2023 08:00:26 +0000
Received: by outflank-mailman (input) for mailman id 579367;
 Tue, 08 Aug 2023 08:00: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=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdh-0007xV-FJ
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a10e1a25-35c1-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:00:24 +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 5E38D143D;
 Tue,  8 Aug 2023 01:01:06 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B195F3F6C4;
 Tue,  8 Aug 2023 01: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: a10e1a25-35c1-11ee-b280-6b7b168915f2
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@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: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Date: Tue,  8 Aug 2023 09:00:07 +0100
Message-Id: <20230808080010.3858575-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add asm/domain.h that is defining the type 'enum domain_type', it
is needed on arm64 build where this type is used for a member of
the structure kernel_info.

Fixes: 66e994a5e74f ("xen: arm64: add guest type to domain field.")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/kernel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83bac..0a23e86c2d37 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -7,6 +7,7 @@
 #define __ARCH_ARM_KERNEL_H__
 
 #include <xen/device_tree.h>
+#include <asm/domain.h>
 #include <asm/setup.h>
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579369.907336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdm-0000P9-Se; Tue, 08 Aug 2023 08:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579369.907336; Tue, 08 Aug 2023 08: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 1qTHdm-0000Ox-Ox; Tue, 08 Aug 2023 08:00:30 +0000
Received: by outflank-mailman (input) for mailman id 579369;
 Tue, 08 Aug 2023 08:00:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdl-0007xV-11
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a22e377b-35c1-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:00:26 +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 409DD1480;
 Tue,  8 Aug 2023 01:01:08 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1A8823F6C4;
 Tue,  8 Aug 2023 01:00:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a22e377b-35c1-11ee-b280-6b7b168915f2
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@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: [PATCH 3/5] arm/dom0less: put dom0less feature code in a separate module
Date: Tue,  8 Aug 2023 09:00:08 +0100
Message-Id: <20230808080010.3858575-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the dom0less feature code is mostly inside domain_build.c
and setup.c, it is a feature that may not be useful to everyone so
put the code in a different compilation module in order to make it
easier to disable the feature in the future.

Move gic_interrupt_t in domain_build.h to use it with the function
declaration, move its comment above the declaration.

The following functions are now visible externally from domain_build
because they are used also from the dom0less-build module:
 - get_allocation_size
 - set_interrupt
 - domain_fdt_begin_node
 - make_memory_node
 - make_resv_memory_node
 - make_hypervisor_node
 - make_psci_node
 - make_cpus_node
 - make_timer_node
 - handle_device_interrupts
 - construct_domain

The following function were static in domain_build but they are
now externally visible and moved to dom0less-build module because
they are used from both modules:
 - process_shm
 - make_shm_memory_node

Move init_staticmem_pages and is_dom0less_mode from setup.c to
dom0less-build.c and make them externally visible so that they can
be used from outside.

No functional change is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Makefile                     |    1 +
 xen/arch/arm/dom0less-build.c             | 1728 +++++++++
 xen/arch/arm/domain_build.c               | 4096 ++++++---------------
 xen/arch/arm/include/asm/dom0less-build.h |   30 +
 xen/arch/arm/include/asm/domain_build.h   |   33 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/setup.c                      |   57 +-
 7 files changed, 3016 insertions(+), 2930 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 81c31c36fc3d..70dd7201ef30 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,6 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
+obj-y += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
new file mode 100644
index 000000000000..9159837924de
--- /dev/null
+++ b/xen/arch/arm/dom0less-build.c
@@ -0,0 +1,1728 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/dom0less-build.c
+ *
+ * Code related to the dom0less functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/device_tree.h>
+#include <xen/err.h>
+#include <xen/event.h>
+#include <xen/grant_table.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/arm64/sve.h>
+#include <asm/dom0less-build.h>
+#include <asm/domain_build.h>
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+#ifdef CONFIG_STATIC_MEMORY
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.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_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);
+        }
+    }
+#endif
+}
+
+bool __init is_dom0less_mode(void)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+    bool dom0found = false;
+    bool domUfound = false;
+
+    /* Look into the bootmodules */
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        /* Find if dom0 and domU kernels are present */
+        if ( mod->kind == BOOTMOD_KERNEL )
+        {
+            if ( mod->domU == false )
+            {
+                dom0found = true;
+                break;
+            }
+            else
+                domUfound = true;
+        }
+    }
+
+    /*
+     * If there is no dom0 kernel but at least one domU, then we are in
+     * dom0less mode
+     */
+    return ( !dom0found && domUfound );
+}
+
+static bool __init allocate_bank_memory(struct domain *d,
+                                        struct kernel_info *kinfo,
+                                        gfn_t sgfn,
+                                        paddr_t tot_size)
+{
+    int res;
+    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 = &kinfo->mem.bank[kinfo->mem.nr_banks];
+    bank->start = gfn_to_gaddr(sgfn);
+    bank->size = tot_size;
+
+    while ( tot_size > 0 )
+    {
+        unsigned int order = get_allocation_size(tot_size);
+
+        order = min(max_order, order);
+
+        pg = alloc_domheap_pages(d, order, 0);
+        if ( !pg )
+        {
+            /*
+             * If we can't allocate one page, then it is unlikely to
+             * succeed in the next iteration. So bail out.
+             */
+            if ( !order )
+                return false;
+
+            /*
+             * If we can't allocate memory with order, then it is
+             * unlikely to succeed in the next iteration.
+             * Record the order - 1 to avoid re-trying.
+             */
+            max_order = order - 1;
+            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);
+            return false;
+        }
+
+        sgfn = gfn_add(sgfn, 1UL << order);
+        tot_size -= (1ULL << (PAGE_SHIFT + order));
+    }
+
+    kinfo->mem.nr_banks++;
+    kinfo->unassigned_mem -= bank->size;
+
+    return true;
+}
+
+static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+{
+    unsigned int i;
+    paddr_t bank_size;
+
+    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
+           /* Don't want format this as PRIpaddr (16 digit hex) */
+           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+
+    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),
+                               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),
+                               bank_size) )
+        goto fail;
+
+    if ( kinfo->unassigned_mem )
+        goto fail;
+
+    for( i = 0; i < kinfo->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,
+               /* Don't want format this as PRIpaddr (16 digit hex) */
+               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested domain memory."
+          /* Don't want format this as PRIpaddr (16 digit hex) */
+          " %ldKB unallocated. Fix the VMs configurations.\n",
+          (unsigned long)kinfo->unassigned_mem >> 10);
+}
+
+#ifdef CONFIG_STATIC_MEMORY
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+static void __init allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+static void __init assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+#else /* !CONFIG_STATIC_MEMORY */
+static void __init allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static void __init assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+#endif /* CONFIG_STATIC_MEMORY */
+
+#ifdef CONFIG_STATIC_SHM
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.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;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * This function checks whether the static shared memory region is
+ * already allocated to dom_io.
+ */
+static bool __init is_shm_allocated_to_domio(paddr_t pbase)
+{
+    struct page_info *page;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        return false;
+    }
+
+    return true;
+}
+
+static mfn_t __init acquire_shared_memory_bank(struct domain *d,
+                                               paddr_t pbase, paddr_t psize)
+{
+    mfn_t smfn;
+    unsigned long nr_pfns;
+    int res;
+
+    /*
+     * Pages of statically shared memory shall be included
+     * into domain_tot_pages().
+     */
+    nr_pfns = PFN_DOWN(psize);
+    if ( (UINT_MAX - d->max_pages) < nr_pfns )
+    {
+        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
+               d, nr_pfns);
+        return INVALID_MFN;
+    }
+    d->max_pages += nr_pfns;
+
+    smfn = maddr_to_mfn(pbase);
+    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;
+    }
+
+    return smfn;
+}
+
+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)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
+           d, pbase, pbase + psize);
+
+    smfn = acquire_shared_memory_bank(d, pbase, psize);
+    if ( mfn_eq(smfn, INVALID_MFN) )
+        return -EINVAL;
+
+    /*
+     * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * 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
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_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++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
+{
+    struct dt_device_node *shm_node;
+
+    dt_for_each_child_node(node, shm_node)
+    {
+        const struct dt_property *prop;
+        const __be32 *cells;
+        uint32_t addr_cells, size_cells;
+        paddr_t gbase, pbase, psize;
+        int ret = 0;
+        unsigned int i;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * TODO: 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;
+        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;
+        }
+
+        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;
+            }
+
+        /*
+         * "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;
+
+        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
+         * 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,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            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;
+        }
+
+        /*
+         * 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);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+int __init make_shm_memory_node(const struct domain *d, void *fdt,
+                                int addrcells, int sizecells,
+                                const struct meminfo *mem)
+{
+    unsigned int i = 0;
+    int res = 0;
+
+    if ( mem->nr_banks == 0 )
+        return -ENOENT;
+
+    /*
+     * For each shared memory region, a range is exposed under
+     * the /reserved-memory node as a child node. Each range sub-node is
+     * named xen-shmem@<address>.
+     */
+    dt_dprintk("Create xen-shmem node\n");
+
+    for ( ; i < mem->nr_banks; i++ )
+    {
+        uint64_t start = mem->bank[i].start;
+        uint64_t size = mem->bank[i].size;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        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);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+#else /* !CONFIG_STATIC_SHM */
+int __init make_shm_memory_node(const struct domain *d, void *fdt,
+                                int addrcells, int sizecells,
+                                const struct meminfo *mem)
+{
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
+}
+#endif /* CONFIG_STATIC_SHM */
+
+#ifdef CONFIG_VGICV2
+static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
+    __be32 *cells;
+    const struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+#ifdef CONFIG_GICV3
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    unsigned int i, len = 0;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    if ( res )
+        return res;
+
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
+
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+static int __init make_gic_domU_node(struct kernel_info *kinfo)
+{
+    switch ( kinfo->d->arch.vgic.version )
+    {
+#ifdef CONFIG_GICV3
+    case GIC_V3:
+        return make_gicv3_domU_node(kinfo);
+#endif
+#ifdef CONFIG_VGICV2
+    case GIC_V2:
+        return make_gicv2_domU_node(kinfo);
+#endif
+    default:
+        panic("Unsupported GIC version\n");
+    }
+}
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res;
+    gic_interrupt_t intr;
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
+                       GUEST_PL011_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
+    if ( res )
+        return res;
+
+    /* Use a default baud rate of 115200. */
+    fdt_property_u32(fdt, "current-speed", 115200);
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#endif
+
+/*
+ * Scan device tree properties for passthrough specific information.
+ * Returns < 0 on error
+ *         0 on success
+ */
+static int __init handle_passthrough_prop(struct kernel_info *kinfo,
+                                          const struct fdt_property *xen_reg,
+                                          const struct fdt_property *xen_path,
+                                          bool xen_force,
+                                          uint32_t address_cells, uint32_t size_cells)
+{
+    const __be32 *cell;
+    unsigned int i, len;
+    struct dt_device_node *node;
+    int res;
+    paddr_t mstart, size, gstart;
+
+    /* xen,reg specifies where to map the MMIO region */
+    cell = (const __be32 *)xen_reg->data;
+    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
+                                        sizeof(uint32_t));
+
+    for ( i = 0; i < len; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells,
+                            &mstart, &size);
+        gstart = dt_next_cell(address_cells, &cell);
+
+        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
+        {
+            printk(XENLOG_ERR
+                    "DomU passthrough config has not page aligned addresses/sizes\n");
+            return -EINVAL;
+        }
+
+        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
+                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
+                   kinfo->d->domain_id,
+                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+            return res;
+        }
+
+        res = map_regions_p2mt(kinfo->d,
+                               gaddr_to_gfn(gstart),
+                               PFN_DOWN(size),
+                               maddr_to_mfn(mstart),
+                               p2m_mmio_direct_dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR
+                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
+                   mstart, gstart);
+            return -EFAULT;
+        }
+    }
+
+    /*
+     * If xen_force, we let the user assign a MMIO region with no
+     * associated path.
+     */
+    if ( xen_path == NULL )
+        return xen_force ? 0 : -EINVAL;
+
+    /*
+     * xen,path specifies the corresponding node in the host DT.
+     * Both interrupt mappings and IOMMU settings are based on it,
+     * as they are done based on the corresponding host DT node.
+     */
+    node = dt_find_node_by_path(xen_path->data);
+    if ( node == NULL )
+    {
+        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
+               (char *)xen_path->data);
+        return -EINVAL;
+    }
+
+    res = handle_device_interrupts(kinfo->d, node, true);
+    if ( res < 0 )
+        return res;
+
+    res = iommu_add_dt_device(node);
+    if ( res < 0 )
+        return res;
+
+    /* If xen_force, we allow assignment of devices without IOMMU protection. */
+    if ( xen_force && !dt_device_is_protected(node) )
+        return 0;
+
+    return iommu_assign_dt_device(kinfo->d, node);
+}
+
+static int __init handle_prop_pfdt(struct kernel_info *kinfo,
+                                   const void *pfdt, int nodeoff,
+                                   uint32_t address_cells, uint32_t size_cells,
+                                   bool scan_passthrough_prop)
+{
+    void *fdt = kinfo->fdt;
+    int propoff, nameoff, res;
+    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
+    const char *name;
+    bool found, xen_force = false;
+
+    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
+          propoff >= 0;
+          propoff = fdt_next_property_offset(pfdt, propoff) )
+    {
+        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
+            return -FDT_ERR_INTERNAL;
+
+        found = false;
+        nameoff = fdt32_to_cpu(prop->nameoff);
+        name = fdt_string(pfdt, nameoff);
+
+        if ( scan_passthrough_prop )
+        {
+            if ( dt_prop_cmp("xen,reg", name) == 0 )
+            {
+                xen_reg = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,path", name) == 0 )
+            {
+                xen_path = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
+                                  name) == 0 )
+            {
+                xen_force = true;
+                found = true;
+            }
+        }
+
+        /*
+         * Copy properties other than the ones above: xen,reg, xen,path,
+         * and xen,force-assign-without-iommu.
+         */
+        if ( !found )
+        {
+            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
+            if ( res )
+                return res;
+        }
+    }
+
+    /*
+     * Only handle passthrough properties if both xen,reg and xen,path
+     * are present, or if xen,force-assign-without-iommu is specified.
+     */
+    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    {
+        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
+                                      address_cells, size_cells);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            return res;
+        }
+    }
+    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
+    {
+        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
+               kinfo->d);
+        return -EINVAL;
+    }
+
+    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
+    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+                                 int nodeoff,
+                                 uint32_t address_cells, uint32_t size_cells,
+                                 bool scan_passthrough_prop)
+{
+    int rc = 0;
+    void *fdt = kinfo->fdt;
+    int node_next;
+
+    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
+    if ( rc )
+        return rc;
+
+    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
+                          scan_passthrough_prop);
+    if ( rc )
+        return rc;
+
+    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
+                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
+    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
+                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while ( node_next > 0 )
+    {
+        scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
+                       scan_passthrough_prop);
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return fdt_end_node(fdt);
+}
+
+static int __init check_partial_fdt(void *pfdt, size_t size)
+{
+    int res;
+
+    if ( fdt_magic(pfdt) != FDT_MAGIC )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
+        return -EINVAL;
+    }
+
+    res = fdt_check_header(pfdt);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
+        return -EINVAL;
+    }
+
+    if ( fdt_totalsize(pfdt) > size )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init domain_handle_dtb_bootmodule(struct domain *d,
+                                               struct kernel_info *kinfo)
+{
+    void *pfdt;
+    int res, node_next;
+
+    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
+                         kinfo->dtb_bootmodule->size);
+    if ( pfdt == NULL )
+        return -EFAULT;
+
+    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
+    if ( res < 0 )
+        goto out;
+
+    for ( node_next = fdt_first_subnode(pfdt, 0); 
+          node_next > 0;
+          node_next = fdt_next_subnode(pfdt, node_next) )
+    {
+        const char *name = fdt_get_name(pfdt, node_next, NULL);
+
+        if ( name == NULL )
+            continue;
+
+        /*
+         * Only scan /gic /aliases /passthrough, ignore the rest.
+         * They don't have to be parsed in order.
+         *
+         * Take the GIC phandle value from the special /gic node in the
+         * DTB fragment.
+         */
+        if ( dt_node_cmp(name, "gic") == 0 )
+        {
+            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
+            continue;
+        }
+
+        if ( dt_node_cmp(name, "aliases") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 false);
+            if ( res )
+                goto out;
+            continue;
+        }
+        if ( dt_node_cmp(name, "passthrough") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 true);
+            if ( res )
+                goto out;
+            continue;
+        }
+    }
+
+ out:
+    iounmap(pfdt);
+
+    return res;
+}
+
+/*
+ * The max size for DT is 2MB. However, the generated DT is small (not including
+ * domU passthrough DT nodes whose size we account separately), 4KB are enough
+ * for now, but we might have to increase it in the future.
+ */
+#define DOMU_DTB_SIZE 4096
+static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+{
+    int addrcells, sizecells;
+    int ret, fdt_size = DOMU_DTB_SIZE;
+
+    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
+
+    addrcells = GUEST_ROOT_ADDRESS_CELLS;
+    sizecells = GUEST_ROOT_SIZE_CELLS;
+
+    /* Account for domU passthrough DT size */
+    if ( kinfo->dtb_bootmodule )
+        fdt_size += kinfo->dtb_bootmodule->size;
+
+    /* Cap to max DT size if needed */
+    fdt_size = min(fdt_size, SZ_2M);
+
+    kinfo->fdt = xmalloc_bytes(fdt_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
+
+    ret = fdt_create(kinfo->fdt, fdt_size);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_begin_node(kinfo->fdt, "");
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
+    if ( ret )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
+    if ( ret )
+        goto err;
+
+    ret = make_chosen_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_psci_node(kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_cpus_node(d, kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    if ( ret )
+        goto err;
+
+    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                &kinfo->shm_mem);
+    if ( ret )
+        goto err;
+
+    /*
+     * domain_handle_dtb_bootmodule has to be called before the rest of
+     * the device tree is generated because it depends on the value of
+     * the field phandle_gic.
+     */
+    if ( kinfo->dtb_bootmodule )
+    {
+        ret = domain_handle_dtb_bootmodule(d, kinfo);
+        if ( ret )
+            goto err;
+    }
+
+    ret = make_gic_domU_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_timer_node(kinfo);
+    if ( ret )
+        goto err;
+
+    if ( kinfo->vpl011 )
+    {
+        ret = -EINVAL;
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+        ret = make_vpl011_uart_node(kinfo);
+#endif
+        if ( ret )
+            goto err;
+    }
+
+    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
+    ret = fdt_end_node(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    return 0;
+
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+
+    return -EINVAL;
+}
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, 0);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
+static int __init construct_domU(struct domain *d,
+                                 const struct dt_device_node *node)
+{
+    struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
+    int rc;
+    u64 mem;
+    u32 p2m_mem_mb;
+    unsigned long p2m_pages;
+
+    rc = dt_property_read_u64(node, "memory", &mem);
+    if ( !rc )
+    {
+        printk("Error building DomU: cannot read \"memory\" property\n");
+        return -EINVAL;
+    }
+    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+    if ( rc != 0 )
+        return rc;
+
+    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
+           d->max_vcpus, mem);
+
+    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+    {
+        if ( hardware_domain )
+            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
+        else
+            panic("At the moment, Xenstore support requires dom0 to be present\n");
+    }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
+
+    if ( vcpu_create(d, 0) == NULL )
+        return -ENOMEM;
+
+    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
+
+    kinfo.d = d;
+
+    rc = kernel_probe(&kinfo, node);
+    if ( rc < 0 )
+        return rc;
+
+#ifdef CONFIG_ARM_64
+    /* type must be set before allocate memory */
+    d->arch.type = kinfo.type;
+#endif
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+    else if ( !is_domain_direct_mapped(d) )
+        allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
+
+#ifdef CONFIG_STATIC_SHM
+    rc = process_shm(d, &kinfo, node);
+    if ( rc < 0 )
+        return rc;
+#endif
+
+    /*
+     * Base address and irq number are needed when creating vpl011 device
+     * tree node in prepare_dtb_domU, so initialization on related variables
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+    {
+        rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    rc = prepare_dtb_domU(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    rc = construct_domain(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
+    {
+        ASSERT(hardware_domain);
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
+
+    return rc;
+}
+
+void __init create_domUs(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *cpupool_node,
+                                *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        struct domain *d;
+        struct xen_domctl_createdomain d_cfg = {
+            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
+            /*
+             * The default of 1023 should be sufficient for guests because
+             * on ARM we don't bind physical interrupts to event channels.
+             * The only use of the evtchn port is inter-domain communications.
+             * 1023 is also the default value used in libxl.
+             */
+            .max_evtchn_port = 1023,
+            .max_grant_frames = -1,
+            .max_maptrack_frames = -1,
+            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
+        };
+        unsigned int flags = 0U;
+        uint32_t val;
+        int rc;
+
+        if ( !dt_device_is_compatible(node, "xen,domain") )
+            continue;
+
+        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
+            panic("No more domain IDs available\n");
+
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !(flags & CDF_staticmem) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
+
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
+            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
+
+        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
+        {
+            int vpl011_virq = GUEST_VPL011_SPI;
+
+            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
+            /*
+             * vpl011 uses one emulated SPI. If vpl011 is requested, make
+             * sure that we allocate enough SPIs for it.
+             */
+            if ( dt_property_read_bool(node, "vpl011") )
+                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
+                                         vpl011_virq - 32 + 1);
+        }
+
+        /* Get the optional property domain-cpupool */
+        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
+        if ( cpupool_node )
+        {
+            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
+            if ( pool_id < 0 )
+                panic("Error getting cpupool id from domain-cpupool (%d)\n",
+                      pool_id);
+            d_cfg.cpupool_id = pool_id;
+        }
+
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
+        if ( dt_get_property(node, "sve", &val) )
+        {
+#ifdef CONFIG_ARM64_SVE
+            unsigned int sve_vl_bits;
+            bool ret = false;
+
+            if ( !val )
+            {
+                /* Property found with no value, means max HW VL supported */
+                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
+            }
+            else
+            {
+                if ( dt_property_read_u32(node, "sve", &val) )
+                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
+                else
+                    panic("Error reading 'sve' property\n");
+            }
+
+            if ( ret )
+                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
+            else
+                panic("SVE vector length error\n");
+#else
+            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
+#endif
+        }
+
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
+        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( IS_ERR(d) )
+            panic("Error creating domain %s (rc = %ld)\n",
+                  dt_node_name(node), PTR_ERR(d));
+
+        d->is_console = true;
+        dt_device_set_used_by(node, d->domain_id);
+
+        rc = construct_domU(d, node);
+        if ( rc )
+            panic("Could not set up domain %s (rc = %d)\n",
+                  dt_node_name(node), rc);
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b2b609eb0c2d..2f8221590954 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -28,6 +28,7 @@
 #include <asm/setup.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
 
@@ -117,7 +118,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
     return vcpu_create(dom0, 0);
 }
 
-static unsigned int __init get_allocation_size(paddr_t size)
+unsigned int __init get_allocation_size(paddr_t size)
 {
     /*
      * get_order_from_bytes returns the order greater than or equal to
@@ -413,988 +414,781 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+/*
+ * When PCI passthrough is available we want to keep the
+ * "linux,pci-domain" in sync for every host bridge.
+ *
+ * Xen may not have a driver for all the host bridges. So we have
+ * to write an heuristic to detect whether a device node describes
+ * a host bridge.
+ *
+ * The current heuristic assumes that a device is a host bridge
+ * if the type is "pci" and then parent type is not "pci".
+ */
+static int __init handle_linux_pci_domain(struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
 {
+    uint16_t segment;
     int res;
-    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 = &kinfo->mem.bank[kinfo->mem.nr_banks];
-    bank->start = gfn_to_gaddr(sgfn);
-    bank->size = tot_size;
 
-    while ( tot_size > 0 )
-    {
-        unsigned int order = get_allocation_size(tot_size);
+    if ( !is_pci_passthrough_enabled() )
+        return 0;
 
-        order = min(max_order, order);
+    if ( !dt_device_type_is_equal(node, "pci") )
+        return 0;
 
-        pg = alloc_domheap_pages(d, order, 0);
-        if ( !pg )
-        {
-            /*
-             * If we can't allocate one page, then it is unlikely to
-             * succeed in the next iteration. So bail out.
-             */
-            if ( !order )
-                return false;
+    if ( node->parent && dt_device_type_is_equal(node->parent, "pci") )
+        return 0;
 
-            /*
-             * If we can't allocate memory with order, then it is
-             * unlikely to succeed in the next iteration.
-             * Record the order - 1 to avoid re-trying.
-             */
-            max_order = order - 1;
-            continue;
-        }
+    if ( dt_find_property(node, "linux,pci-domain", NULL) )
+        return 0;
 
-        res = guest_physmap_add_page(d, sgfn, page_to_mfn(pg), order);
-        if ( res )
+    /* Allocate and create the linux,pci-domain */
+    res = pci_get_host_bridge_segment(node, &segment);
+    if ( res < 0 )
+    {
+        res = pci_get_new_domain_nr();
+        if ( res < 0 )
         {
-            dprintk(XENLOG_ERR, "Failed map pages to DOMU: %d", res);
-            return false;
+            printk(XENLOG_DEBUG "Can't assign PCI segment to %s\n",
+                   node->full_name);
+            return -FDT_ERR_NOTFOUND;
         }
 
-        sgfn = gfn_add(sgfn, 1UL << order);
-        tot_size -= (1ULL << (PAGE_SHIFT + order));
+        segment = res;
+        printk(XENLOG_DEBUG "Assigned segment %d to %s\n",
+               segment, node->full_name);
     }
 
-    kinfo->mem.nr_banks++;
-    kinfo->unassigned_mem -= bank->size;
-
-    return true;
+    return fdt_property_cell(kinfo->fdt, "linux,pci-domain", segment);
 }
 
-static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
 {
-    unsigned int i;
-    paddr_t bank_size;
-
-    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
-           /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
-
-    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),
-                               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),
-                               bank_size) )
-        goto fail;
-
-    if ( kinfo->unassigned_mem )
-        goto fail;
-
-    for( i = 0; i < kinfo->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,
-               /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
-    }
-
-    return;
-
-fail:
-    panic("Failed to allocate requested domain memory."
-          /* Don't want format this as PRIpaddr (16 digit hex) */
-          " %ldKB unallocated. Fix the VMs configurations.\n",
-          (unsigned long)kinfo->unassigned_mem >> 10);
-}
+    const char *bootargs = NULL;
+    const struct dt_property *prop, *status = NULL;
+    int res = 0;
+    int had_dom0_bootargs = 0;
+    struct dt_device_node *iommu_node;
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
+    if ( kinfo->cmdline && kinfo->cmdline[0] )
+        bootargs = &kinfo->cmdline[0];
 
     /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
+     * We always skip the IOMMU device when creating DT for hwdom if there is
+     * an appropriate driver for it in Xen (device_get_class(iommu_node)
+     * returns DEVICE_IOMMU).
+     * We should also skip the IOMMU specific properties of the master device
+     * behind that IOMMU in order to avoid exposing an half complete IOMMU
+     * bindings to hwdom.
+     * Use "iommu_node" as an indicator of the master device which properties
+     * should be skipped.
      */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+    iommu_node = dt_parse_phandle(node, "iommus", 0);
+    if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
+        iommu_node = NULL;
 
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
+    dt_for_each_property_node (node, prop)
     {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
+        const void *prop_data = prop->value;
+        u32 prop_len = prop->length;
 
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
+        /*
+         * In chosen node:
+         *
+         * * remember xen,dom0-bootargs if we don't already have
+         *   bootargs (from module #1, above).
+         * * remove bootargs,  xen,dom0-bootargs, xen,xen-bootargs,
+         *   linux,initrd-start and linux,initrd-end.
+         * * remove stdout-path.
+         * * remove bootargs, linux,uefi-system-table,
+         *   linux,uefi-mmap-start, linux,uefi-mmap-size,
+         *   linux,uefi-mmap-desc-size, and linux,uefi-mmap-desc-ver
+         *   (since EFI boot is not currently supported in dom0).
+         */
+        if ( dt_node_path_is_equal(node, "/chosen") )
+        {
+            if ( dt_property_name_is_equal(prop, "xen,xen-bootargs") ||
+                 dt_property_name_is_equal(prop, "linux,initrd-start") ||
+                 dt_property_name_is_equal(prop, "linux,initrd-end") ||
+                 dt_property_name_is_equal(prop, "stdout-path") ||
+                 dt_property_name_is_equal(prop, "linux,uefi-system-table") ||
+                 dt_property_name_is_equal(prop, "linux,uefi-mmap-start") ||
+                 dt_property_name_is_equal(prop, "linux,uefi-mmap-size") ||
+                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-size") ||
+                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver"))
+                continue;
 
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
+            if ( dt_property_name_is_equal(prop, "xen,dom0-bootargs") )
+            {
+                had_dom0_bootargs = 1;
+                bootargs = prop->value;
+                continue;
+            }
+            if ( dt_property_name_is_equal(prop, "bootargs") )
+            {
+                if ( !bootargs  && !had_dom0_bootargs )
+                    bootargs = prop->value;
+                continue;
+            }
+        }
 
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
+        /* Don't expose the property "xen,passthrough" to the guest */
+        if ( dt_property_name_is_equal(prop, "xen,passthrough") )
+            continue;
 
-    return smfn;
-}
+        /* Remember and skip the status property as Xen may modify it later */
+        if ( dt_property_name_is_equal(prop, "status") )
+        {
+            status = prop;
+            continue;
+        }
 
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
+        if ( iommu_node )
+        {
+            /* Don't expose IOMMU specific properties to hwdom */
+            if ( dt_property_name_is_equal(prop, "iommus") )
+                continue;
 
-    prop = dt_find_property(node, "xen,static-mem", NULL);
+            if ( dt_property_name_is_equal(prop, "iommu-map") )
+                continue;
 
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
+            if ( dt_property_name_is_equal(prop, "iommu-map-mask") )
+                continue;
+        }
 
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
+        res = fdt_property(kinfo->fdt, prop->name, prop_data, prop_len);
 
-    return 0;
-}
+        if ( res )
+            return res;
+    }
 
-/* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
+    res = handle_linux_pci_domain(kinfo, node);
 
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
+    if ( res )
+        return res;
 
     /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
+     * Override the property "status" to disable the device when it's
+     * marked for passthrough.
      */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
+    if ( dt_device_for_passthrough(node) )
+        res = fdt_property_string(kinfo->fdt, "status", "disabled");
+    else if ( status )
+        res = fdt_property(kinfo->fdt, "status", status->value,
+                           status->length);
+
+    if ( res )
+        return res;
 
-    for ( ; bank < nr_banks; bank++ )
+    if ( dt_node_path_is_equal(node, "/chosen") )
     {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
+        const struct bootmodule *initrd = kinfo->initrd_bootmodule;
 
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
+        if ( bootargs )
+        {
+            res = fdt_property(kinfo->fdt, "bootargs", bootargs,
+                               strlen(bootargs) + 1);
+            if ( res )
+                return res;
+        }
 
-        while ( 1 )
+        /*
+         * If the bootloader provides an initrd, we must create a placeholder
+         * for the initrd properties. The values will be replaced later.
+         */
+        if ( initrd && initrd->size )
         {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
+            u64 a = 0;
+            res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
+            if ( res )
+                return res;
 
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
+            res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
+            if ( res )
+                return res;
         }
-
-        tot_size += psize;
     }
 
-    kinfo->mem.nr_banks = ++gbank;
+    return 0;
+}
 
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
+void __init set_interrupt(gic_interrupt_t interrupt,
+                          unsigned int irq,
+                          unsigned int cpumask,
+                          unsigned int level)
+{
+    __be32 *cells = interrupt;
+    bool is_ppi = !!(irq < 32);
 
-    return;
+    BUG_ON(irq < 16);
+    irq -= (is_ppi) ? 16: 32; /* PPIs start at 16, SPIs at 32 */
 
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+    /* See linux Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt */
+    dt_set_cell(&cells, 1, is_ppi); /* is a PPI? */
+    dt_set_cell(&cells, 1, irq);
+    dt_set_cell(&cells, 1, (cpumask << 8) | level);
 }
 
 /*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
+ * Helper to set interrupts for a node in the flat device tree.
+ * It needs 2 property:
+ *  "interrupts": contains the list of interrupts
+ *  "interrupt-parent": link to the GIC
  */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
+static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
+                                          gic_interrupt_t *intr,
+                                          unsigned int num_irq)
+{
+    int res;
 
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
+    res = fdt_property(kinfo->fdt, "interrupts",
+                       intr, sizeof(intr[0]) * num_irq);
+    if ( res )
+        return res;
 
-        kinfo->unassigned_mem -= psize;
-    }
+    res = fdt_property_cell(kinfo->fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
 
-    kinfo->mem.nr_banks = nr_banks;
+    return res;
+}
 
+/*
+ * Wrapper to convert physical address from paddr_t to uint64_t and
+ * invoke fdt_begin_node(). This is required as the physical address
+ * provided as part of node name should not contain any leading
+ * zeroes. Thus, one should use PRIx64 (instead of PRIpaddr) to append
+ * unit (which contains the physical address) with name to generate a
+ * node name.
+ */
+int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
+{
     /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
+     * The size of the buffer to hold the longest possible string (i.e.
+     * interrupt-controller@ + a 64-bit number + \0).
      */
-    if ( kinfo->unassigned_mem != 0 )
+    char buf[38];
+    int ret;
+
+    /* ePAPR 3.4 */
+    ret = snprintf(buf, sizeof(buf), "%s@%"PRIx64, name, unit);
+
+    if ( ret >= sizeof(buf) )
     {
         printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
+               "Insufficient buffer. Minimum size required is %d\n",
+               (ret + 1));
 
-    return;
+        return -FDT_ERR_TRUNCATED;
+    }
 
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
+    return fdt_begin_node(fdt, buf);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
+int __init make_memory_node(const struct domain *d,
+                            void *fdt,
+                            int addrcells, int sizecells,
+                            struct meminfo *mem)
 {
-    unsigned int bank;
+    unsigned int i;
+    int res, reg_size = addrcells + sizecells;
+    int nr_cells = 0;
+    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
+    __be32 *cells;
+
+    if ( mem->nr_banks == 0 )
+        return -ENOENT;
+
+    /* find the first memory range that is reserved for device (or firmware) */
+    for ( i = 0; i < mem->nr_banks &&
+                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
+        ;
+
+    if ( i == mem->nr_banks )
+        return 0;
+
+    dt_dprintk("Create memory node\n");
+
+    res = domain_fdt_begin_node(fdt, "memory", mem->bank[i].start);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "device_type", "memory");
+    if ( res )
+        return res;
 
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    cells = &reg[0];
+    for ( ; i < mem->nr_banks; i++ )
     {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+        u64 start = mem->bank[i].start;
+        u64 size = mem->bank[i].size;
 
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
+        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);
     }
 
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
+    dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
+
+    res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
+    if ( res )
+        return res;
 
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+    res = fdt_end_node(fdt);
 
-    return 0;
+    return res;
 }
 
-/*
- * This function checks whether the static shared memory region is
- * already allocated to dom_io.
- */
-static bool __init is_shm_allocated_to_domio(paddr_t pbase)
+int __init make_resv_memory_node(const struct domain *d,
+                                 void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
 {
-    struct page_info *page;
-    struct domain *d;
+    int res = 0;
+    /* Placeholder for reserved-memory\0 */
+    const char resvbuf[16] = "reserved-memory";
 
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
+    if ( mem->nr_banks == 0 )
+        /* No shared memory provided. */
+        return 0;
 
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        return false;
-    }
+    dt_dprintk("Create reserved-memory node\n");
 
-    return true;
-}
+    res = fdt_begin_node(fdt, resvbuf);
+    if ( res )
+        return res;
 
-static mfn_t __init acquire_shared_memory_bank(struct domain *d,
-                                               paddr_t pbase, paddr_t psize)
-{
-    mfn_t smfn;
-    unsigned long nr_pfns;
-    int res;
+    res = fdt_property(fdt, "ranges", NULL, 0);
+    if ( res )
+        return res;
 
-    /*
-     * Pages of statically shared memory shall be included
-     * into domain_tot_pages().
-     */
-    nr_pfns = PFN_DOWN(psize);
-    if ( (UINT_MAX - d->max_pages) < nr_pfns )
-    {
-        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
-               d, nr_pfns);
-        return INVALID_MFN;
-    }
-    d->max_pages += nr_pfns;
+    res = fdt_property_cell(fdt, "#address-cells", addrcells);
+    if ( res )
+        return res;
 
-    smfn = maddr_to_mfn(pbase);
-    res = acquire_domstatic_pages(d, smfn, nr_pfns, 0);
+    res = fdt_property_cell(fdt, "#size-cells", sizecells);
     if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
-    }
+        return res;
 
-    return smfn;
+    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
 }
 
-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)
+static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
+                                  void *data)
 {
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
-           d, pbase, pbase + psize);
+    struct meminfo *ext_regions = data;
+    paddr_t start, size;
+    paddr_t s = pfn_to_paddr(s_gfn);
+    paddr_t e = pfn_to_paddr(e_gfn);
 
-    smfn = acquire_shared_memory_bank(d, pbase, psize);
-    if ( mfn_eq(smfn, INVALID_MFN) )
-        return -EINVAL;
+    if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
+        return 0;
 
     /*
-     * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
+     * Both start and size of the extended region should be 2MB aligned to
+     * potentially allow superpage mapping.
      */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
+    start = (s + SZ_2M - 1) & ~(SZ_2M - 1);
+    if ( start > e )
+        return 0;
 
     /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
+     * e is actually "end-1" because it is called by rangeset functions
+     * which are inclusive of the last address.
      */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
+    e += 1;
+    size = (e - start) & ~(SZ_2M - 1);
 
     /*
-     * Instead of letting borrower domain get a page ref, we add as many
-     * additional reference as the number of borrowers when the owner
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
+     * Reasonable size. Not too little to pick up small ranges which are
+     * not quite useful but increase bookkeeping and not too large
+     * to skip a large proportion of unused address space.
      */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
+    if ( size < MB(64) )
+        return 0;
 
-    return 0;
+    ext_regions->bank[ext_regions->nr_banks].start = start;
+    ext_regions->bank[ext_regions->nr_banks].size = size;
+    ext_regions->nr_banks++;
 
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
+    return 0;
 }
 
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
+/*
+ * 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:
+ * - domain RAM
+ * - reserved-memory
+ * - grant table space
+ */
+static int __init find_unallocated_memory(const struct kernel_info *kinfo,
+                                          struct meminfo *ext_regions)
 {
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_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++;
+    const struct meminfo *assign_mem = &kinfo->mem;
+    struct rangeset *unalloc_mem;
+    paddr_t start, end;
+    unsigned int i;
+    int res;
 
-    return 0;
-}
+    dt_dprintk("Find unallocated memory for extended regions\n");
 
-static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                              const struct dt_device_node *node)
-{
-    struct dt_device_node *shm_node;
+    unalloc_mem = rangeset_new(NULL, NULL, 0);
+    if ( !unalloc_mem )
+        return -ENOMEM;
 
-    dt_for_each_child_node(node, shm_node)
+    /* Start with all available RAM */
+    for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
     {
-        const struct dt_property *prop;
-        const __be32 *cells;
-        uint32_t addr_cells, size_cells;
-        paddr_t gbase, pbase, psize;
-        int ret = 0;
-        unsigned int i;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * TODO: 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;
-        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) )
+        start = bootinfo.mem.bank[i].start;
+        end = bootinfo.mem.bank[i].start + bootinfo.mem.bank[i].size;
+        res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
+                                 PFN_DOWN(end - 1));
+        if ( res )
         {
-            printk("%pd: size 0x%"PRIpaddr" is not suitably aligned\n",
-                   d, psize);
-            return -EINVAL;
+            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                   start, end);
+            goto out;
         }
+    }
 
-        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;
-            }
-
-        /*
-         * "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;
-
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+    /* Remove RAM assigned to Dom0 */
+    for ( i = 0; i < assign_mem->nr_banks; i++ )
+    {
+        start = assign_mem->bank[i].start;
+        end = assign_mem->bank[i].start + assign_mem->bank[i].size;
+        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+                                    PFN_DOWN(end - 1));
+        if ( res )
         {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
+            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                   start, end);
+            goto out;
         }
-        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
-         * only find the borrowers.
-         */
-        if ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+    /* Remove reserved-memory regions */
+    for ( i = 0; i < bootinfo.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;
+        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+                                    PFN_DOWN(end - 1));
+        if ( res )
         {
-            /*
-             * 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,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            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;
+            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                   start, end);
+            goto out;
         }
+    }
 
-        /*
-         * 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);
-        if ( ret )
-            return ret;
+    /* Remove grant table region */
+    start = kinfo->gnttab_start;
+    end = kinfo->gnttab_start + kinfo->gnttab_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;
     }
 
-    return 0;
-}
-#endif /* CONFIG_STATIC_SHM */
-#else
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
+    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);
+    if ( res )
+        ext_regions->nr_banks = 0;
+    else if ( !ext_regions->nr_banks )
+        res = -ENOENT;
 
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
+out:
+    rangeset_destroy(unalloc_mem);
+
+    return res;
 }
-#endif
 
-/*
- * When PCI passthrough is available we want to keep the
- * "linux,pci-domain" in sync for every host bridge.
- *
- * Xen may not have a driver for all the host bridges. So we have
- * to write an heuristic to detect whether a device node describes
- * a host bridge.
- *
- * The current heuristic assumes that a device is a host bridge
- * if the type is "pci" and then parent type is not "pci".
- */
-static int __init handle_linux_pci_domain(struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
+static int __init handle_pci_range(const struct dt_device_node *dev,
+                                   uint64_t addr, uint64_t len, void *data)
 {
-    uint16_t segment;
+    struct rangeset *mem_holes = data;
+    paddr_t start, end;
     int res;
 
-    if ( !is_pci_passthrough_enabled() )
-        return 0;
-
-    if ( !dt_device_type_is_equal(node, "pci") )
-        return 0;
-
-    if ( node->parent && dt_device_type_is_equal(node->parent, "pci") )
-        return 0;
-
-    if ( dt_find_property(node, "linux,pci-domain", NULL) )
-        return 0;
-
-    /* Allocate and create the linux,pci-domain */
-    res = pci_get_host_bridge_segment(node, &segment);
-    if ( res < 0 )
+    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
     {
-        res = pci_get_new_domain_nr();
-        if ( res < 0 )
-        {
-            printk(XENLOG_DEBUG "Can't assign PCI segment to %s\n",
-                   node->full_name);
-            return -FDT_ERR_NOTFOUND;
-        }
+        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
+               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
+        return -ERANGE;
+    }
 
-        segment = res;
-        printk(XENLOG_DEBUG "Assigned segment %d to %s\n",
-               segment, node->full_name);
+    start = addr & PAGE_MASK;
+    end = PAGE_ALIGN(addr + len);
+    res = rangeset_remove_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end - 1));
+    if ( res )
+    {
+        printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
+               start, end);
+        return res;
     }
 
-    return fdt_property_cell(kinfo->fdt, "linux,pci-domain", segment);
+    return 0;
 }
 
-static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
-                                   const struct dt_device_node *node)
+/*
+ * 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"
+ * 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)
 {
-    const char *bootargs = NULL;
-    const struct dt_property *prop, *status = NULL;
-    int res = 0;
-    int had_dom0_bootargs = 0;
-    struct dt_device_node *iommu_node;
+    struct dt_device_node *np;
+    struct rangeset *mem_holes;
+    paddr_t start, end;
+    unsigned int i;
+    int res;
 
-    if ( kinfo->cmdline && kinfo->cmdline[0] )
-        bootargs = &kinfo->cmdline[0];
+    dt_dprintk("Find memory holes for extended regions\n");
+
+    mem_holes = rangeset_new(NULL, NULL, 0);
+    if ( !mem_holes )
+        return -ENOMEM;
+
+    /* Start with maximum possible addressable physical memory range */
+    start = 0;
+    end = (1ULL << p2m_ipa_bits) - 1;
+    res = rangeset_add_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end));
+    if ( res )
+    {
+        printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
+               start, end);
+        goto out;
+    }
 
     /*
-     * We always skip the IOMMU device when creating DT for hwdom if there is
-     * an appropriate driver for it in Xen (device_get_class(iommu_node)
-     * returns DEVICE_IOMMU).
-     * We should also skip the IOMMU specific properties of the master device
-     * behind that IOMMU in order to avoid exposing an half complete IOMMU
-     * bindings to hwdom.
-     * Use "iommu_node" as an indicator of the master device which properties
-     * should be skipped.
+     * Remove regions described by "reg" and "ranges" properties where
+     * the memory is addressable (MMIO, RAM, PCI BAR, etc).
      */
-    iommu_node = dt_parse_phandle(node, "iommus", 0);
-    if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
-        iommu_node = NULL;
-
-    dt_for_each_property_node (node, prop)
+    dt_for_each_device_node( dt_host, np )
     {
-        const void *prop_data = prop->value;
-        u32 prop_len = prop->length;
+        unsigned int naddr;
+        paddr_t addr, size;
 
-        /*
-         * In chosen node:
-         *
-         * * remember xen,dom0-bootargs if we don't already have
-         *   bootargs (from module #1, above).
-         * * remove bootargs,  xen,dom0-bootargs, xen,xen-bootargs,
-         *   linux,initrd-start and linux,initrd-end.
-         * * remove stdout-path.
-         * * remove bootargs, linux,uefi-system-table,
-         *   linux,uefi-mmap-start, linux,uefi-mmap-size,
-         *   linux,uefi-mmap-desc-size, and linux,uefi-mmap-desc-ver
-         *   (since EFI boot is not currently supported in dom0).
-         */
-        if ( dt_node_path_is_equal(node, "/chosen") )
-        {
-            if ( dt_property_name_is_equal(prop, "xen,xen-bootargs") ||
-                 dt_property_name_is_equal(prop, "linux,initrd-start") ||
-                 dt_property_name_is_equal(prop, "linux,initrd-end") ||
-                 dt_property_name_is_equal(prop, "stdout-path") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-system-table") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-mmap-start") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-mmap-size") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-size") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver"))
-                continue;
+        naddr = dt_number_of_address(np);
 
-            if ( dt_property_name_is_equal(prop, "xen,dom0-bootargs") )
+        for ( i = 0; i < naddr; i++ )
+        {
+            res = dt_device_get_paddr(np, i, &addr, &size);
+            if ( res )
             {
-                had_dom0_bootargs = 1;
-                bootargs = prop->value;
-                continue;
+                printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                       i, dt_node_full_name(np));
+                goto out;
             }
-            if ( dt_property_name_is_equal(prop, "bootargs") )
+
+            start = addr & PAGE_MASK;
+            end = PAGE_ALIGN(addr + size);
+            res = rangeset_remove_range(mem_holes, PFN_DOWN(start),
+                                        PFN_DOWN(end - 1));
+            if ( res )
             {
-                if ( !bootargs  && !had_dom0_bootargs )
-                    bootargs = prop->value;
-                continue;
+                printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                       start, end);
+                goto out;
             }
         }
 
-        /* Don't expose the property "xen,passthrough" to the guest */
-        if ( dt_property_name_is_equal(prop, "xen,passthrough") )
-            continue;
-
-        /* Remember and skip the status property as Xen may modify it later */
-        if ( dt_property_name_is_equal(prop, "status") )
-        {
-            status = prop;
-            continue;
-        }
-
-        if ( iommu_node )
+        if ( dt_device_type_is_equal(np, "pci") )
         {
-            /* Don't expose IOMMU specific properties to hwdom */
-            if ( dt_property_name_is_equal(prop, "iommus") )
-                continue;
-
-            if ( dt_property_name_is_equal(prop, "iommu-map") )
+            /*
+             * The ranges property in this context describes the PCI host
+             * bridge aperture. It shall be absent if no addresses are mapped
+             * through the bridge.
+             */
+            if ( !dt_get_property(np, "ranges", NULL) )
                 continue;
 
-            if ( dt_property_name_is_equal(prop, "iommu-map-mask") )
-                continue;
+            res = dt_for_each_range(np, &handle_pci_range, mem_holes);
+            if ( res )
+                goto out;
         }
-
-        res = fdt_property(kinfo->fdt, prop->name, prop_data, prop_len);
-
-        if ( res )
-            return res;
     }
 
-    res = handle_linux_pci_domain(kinfo, node);
-
+    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);
     if ( res )
-        return res;
+        ext_regions->nr_banks = 0;
+    else if ( !ext_regions->nr_banks )
+        res = -ENOENT;
 
-    /*
-     * Override the property "status" to disable the device when it's
-     * marked for passthrough.
-     */
-    if ( dt_device_for_passthrough(node) )
-        res = fdt_property_string(kinfo->fdt, "status", "disabled");
-    else if ( status )
-        res = fdt_property(kinfo->fdt, "status", status->value,
-                           status->length);
+out:
+    rangeset_destroy(mem_holes);
 
-    if ( res )
-        return res;
+    return res;
+}
 
-    if ( dt_node_path_is_equal(node, "/chosen") )
+static int __init find_domU_holes(const struct kernel_info *kinfo,
+                                  struct meminfo *ext_regions)
+{
+    unsigned int i;
+    uint64_t bankend;
+    const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
+    int res = -ENOENT;
+
+    for ( i = 0; i < GUEST_RAM_BANKS; i++ )
     {
-        const struct bootmodule *initrd = kinfo->initrd_bootmodule;
+        struct membank *ext_bank = &(ext_regions->bank[ext_regions->nr_banks]);
 
-        if ( bootargs )
-        {
-            res = fdt_property(kinfo->fdt, "bootargs", bootargs,
-                               strlen(bootargs) + 1);
-            if ( res )
-                return res;
-        }
+        ext_bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
 
-        /*
-         * If the bootloader provides an initrd, we must create a placeholder
-         * for the initrd properties. The values will be replaced later.
-         */
-        if ( initrd && initrd->size )
-        {
-            u64 a = 0;
-            res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
-            if ( res )
-                return res;
+        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;
 
-            res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
-            if ( res )
-                return res;
-        }
+        /* 64MB is the minimum size of an extended region */
+        if ( ext_bank->size < MB(64) )
+            continue;
+        ext_regions->nr_banks++;
+        res = 0;
     }
 
-    return 0;
-}
-
-/*
- * Helper to write an interrupts with the GIC format
- * This code is assuming the irq is an PPI.
- */
-
-typedef __be32 gic_interrupt_t[3];
-
-static void __init set_interrupt(gic_interrupt_t interrupt,
-                                 unsigned int irq,
-                                 unsigned int cpumask,
-                                 unsigned int level)
-{
-    __be32 *cells = interrupt;
-    bool is_ppi = !!(irq < 32);
-
-    BUG_ON(irq < 16);
-    irq -= (is_ppi) ? 16: 32; /* PPIs start at 16, SPIs at 32 */
-
-    /* See linux Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt */
-    dt_set_cell(&cells, 1, is_ppi); /* is a PPI? */
-    dt_set_cell(&cells, 1, irq);
-    dt_set_cell(&cells, 1, (cpumask << 8) | level);
+    return res;
 }
 
-/*
- * Helper to set interrupts for a node in the flat device tree.
- * It needs 2 property:
- *  "interrupts": contains the list of interrupts
- *  "interrupt-parent": link to the GIC
- */
-static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
-                                          gic_interrupt_t *intr,
-                                          unsigned int num_irq)
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
 {
+    const char compat[] =
+        "xen,xen-" XEN_VERSION_STRING "\0"
+        "xen,xen";
+    __be32 *reg, *cells;
+    gic_interrupt_t intr;
     int res;
+    void *fdt = kinfo->fdt;
+    struct meminfo *ext_regions = NULL;
+    unsigned int i, nr_ext_regions;
 
-    res = fdt_property(kinfo->fdt, "interrupts",
-                       intr, sizeof(intr[0]) * num_irq);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(kinfo->fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
-
-    return res;
-}
+    dt_dprintk("Create hypervisor node\n");
 
-/*
- * Wrapper to convert physical address from paddr_t to uint64_t and
- * invoke fdt_begin_node(). This is required as the physical address
- * provided as part of node name should not contain any leading
- * zeroes. Thus, one should use PRIx64 (instead of PRIpaddr) to append
- * unit (which contains the physical address) with name to generate a
- * node name.
- */
-static int __init domain_fdt_begin_node(void *fdt, const char *name,
-                                        uint64_t unit)
-{
     /*
-     * The size of the buffer to hold the longest possible string (i.e.
-     * interrupt-controller@ + a 64-bit number + \0).
+     * Sanity-check address sizes, since addresses and sizes which do
+     * not take up exactly 4 or 8 bytes are not supported.
      */
-    char buf[38];
-    int ret;
+    if ((addrcells != 1 && addrcells != 2) ||
+        (sizecells != 1 && sizecells != 2))
+        panic("Cannot cope with this size\n");
 
-    /* ePAPR 3.4 */
-    ret = snprintf(buf, sizeof(buf), "%s@%"PRIx64, name, unit);
+    /* See linux Documentation/devicetree/bindings/arm/xen.txt */
+    res = fdt_begin_node(fdt, "hypervisor");
+    if ( res )
+        return res;
 
-    if ( ret >= sizeof(buf) )
-    {
-        printk(XENLOG_ERR
-               "Insufficient buffer. Minimum size required is %d\n",
-               (ret + 1));
+    /* Cannot use fdt_property_string due to embedded nulls */
+    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+    if ( res )
+        return res;
 
-        return -FDT_ERR_TRUNCATED;
+    if ( !opt_ext_regions )
+    {
+        printk(XENLOG_INFO "%pd: extended regions support is disabled\n", d);
+        nr_ext_regions = 0;
     }
+    else if ( is_32bit_domain(d) )
+    {
+        printk(XENLOG_WARNING
+               "%pd: extended regions not supported for 32-bit guests\n", d);
+        nr_ext_regions = 0;
+    }
+    else
+    {
+        ext_regions = xzalloc(struct meminfo);
+        if ( !ext_regions )
+            return -ENOMEM;
 
-    return fdt_begin_node(fdt, buf);
-}
-
-static int __init make_memory_node(const struct domain *d,
-                                   void *fdt,
-                                   int addrcells, int sizecells,
-                                   struct meminfo *mem)
-{
-    unsigned int i;
-    int res, reg_size = addrcells + sizecells;
-    int nr_cells = 0;
-    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
-    __be32 *cells;
-
-    if ( mem->nr_banks == 0 )
-        return -ENOENT;
-
-    /* find the first memory range that is reserved for device (or firmware) */
-    for ( i = 0; i < mem->nr_banks &&
-                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
-        ;
-
-    if ( i == mem->nr_banks )
-        return 0;
-
-    dt_dprintk("Create memory node\n");
+        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 = domain_fdt_begin_node(fdt, "memory", mem->bank[i].start);
-    if ( res )
-        return res;
+        if ( res )
+            printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
+                   d);
+        nr_ext_regions = ext_regions->nr_banks;
+    }
 
-    res = fdt_property_string(fdt, "device_type", "memory");
-    if ( res )
-        return res;
+    reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
+    if ( !reg )
+    {
+        xfree(ext_regions);
+        return -ENOMEM;
+    }
 
+    /* reg 0 is grant table space */
     cells = &reg[0];
-    for ( ; i < mem->nr_banks; i++ )
+    dt_child_set_range(&cells, addrcells, sizecells,
+                       kinfo->gnttab_start, kinfo->gnttab_size);
+    /* reg 1...N are extended regions */
+    for ( i = 0; i < nr_ext_regions; i++ )
     {
-        u64 start = mem->bank[i].start;
-        u64 size = mem->bank[i].size;
-
-        if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
-            continue;
+        u64 start = ext_regions->bank[i].start;
+        u64 size = ext_regions->bank[i].size;
 
-        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
+        printk("%pd: extended region %d: %#"PRIx64"->%#"PRIx64"\n",
+               d, i, start, start + size);
 
-        nr_cells += reg_size;
-        BUG_ON(nr_cells >= ARRAY_SIZE(reg));
         dt_child_set_range(&cells, addrcells, sizecells, start, size);
     }
 
-    dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
+    res = fdt_property(fdt, "reg", reg,
+                       dt_cells_to_size(addrcells + sizecells) *
+                       (nr_ext_regions + 1));
+    xfree(ext_regions);
+    xfree(reg);
 
-    res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
+    if ( res )
+        return res;
+
+    BUG_ON(d->arch.evtchn_irq == 0);
+
+    /*
+     * Interrupt event channel upcall:
+     *  - Active-low level-sensitive
+     *  - All CPUs
+     *  TODO: Handle properly the cpumask;
+     */
+    set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
+    res = fdt_property_interrupts(kinfo, &intr, 1);
     if ( res )
         return res;
 
@@ -1403,1449 +1197,222 @@ static int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
+int __init make_psci_node(void *fdt)
 {
-    unsigned int i = 0;
-    int res = 0;
-
-    if ( mem->nr_banks == 0 )
-        return -ENOENT;
-
-    /*
-     * For each shared memory region, a range is exposed under
-     * the /reserved-memory node as a child node. Each range sub-node is
-     * named xen-shmem@<address>.
-     */
-    dt_dprintk("Create xen-shmem node\n");
-
-    for ( ; i < mem->nr_banks; i++ )
-    {
-        uint64_t start = mem->bank[i].start;
-        uint64_t size = mem->bank[i].size;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        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);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif
-
-static int __init make_resv_memory_node(const struct domain *d,
-                                        void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
-{
-    int res = 0;
-    /* Placeholder for reserved-memory\0 */
-    const char resvbuf[16] = "reserved-memory";
-
-    if ( mem->nr_banks == 0 )
-        /* No shared memory provided. */
-        return 0;
-
-    dt_dprintk("Create reserved-memory node\n");
-
-    res = fdt_begin_node(fdt, resvbuf);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "ranges", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", addrcells);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#size-cells", sizecells);
-    if ( res )
-        return res;
-
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
-                                  void *data)
-{
-    struct meminfo *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) )
-        return 0;
-
-    /*
-     * Both start and size of the extended region should be 2MB aligned to
-     * potentially allow superpage mapping.
-     */
-    start = (s + SZ_2M - 1) & ~(SZ_2M - 1);
-    if ( start > e )
-        return 0;
-
-    /*
-     * e is actually "end-1" because it is called by rangeset functions
-     * which are inclusive of the last address.
-     */
-    e += 1;
-    size = (e - start) & ~(SZ_2M - 1);
-
-    /*
-     * Reasonable size. Not too little to pick up small ranges which are
-     * not quite useful but increase bookkeeping and not too large
-     * to skip a large proportion of unused address space.
-     */
-    if ( size < MB(64) )
-        return 0;
-
-    ext_regions->bank[ext_regions->nr_banks].start = start;
-    ext_regions->bank[ext_regions->nr_banks].size = size;
-    ext_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:
- * - domain RAM
- * - reserved-memory
- * - grant table space
- */
-static int __init find_unallocated_memory(const struct kernel_info *kinfo,
-                                          struct meminfo *ext_regions)
-{
-    const struct meminfo *assign_mem = &kinfo->mem;
-    struct rangeset *unalloc_mem;
-    paddr_t start, end;
-    unsigned int i;
-    int res;
-
-    dt_dprintk("Find unallocated memory for extended regions\n");
-
-    unalloc_mem = rangeset_new(NULL, NULL, 0);
-    if ( !unalloc_mem )
-        return -ENOMEM;
-
-    /* Start with all available RAM */
-    for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
-    {
-        start = bootinfo.mem.bank[i].start;
-        end = bootinfo.mem.bank[i].start + bootinfo.mem.bank[i].size;
-        res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
-                                 PFN_DOWN(end - 1));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
-        }
-    }
-
-    /* Remove RAM assigned to Dom0 */
-    for ( i = 0; i < assign_mem->nr_banks; i++ )
-    {
-        start = assign_mem->bank[i].start;
-        end = assign_mem->bank[i].start + assign_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 < bootinfo.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;
-        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 grant table region */
-    start = kinfo->gnttab_start;
-    end = kinfo->gnttab_start + kinfo->gnttab_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;
-    }
-
-    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);
-    if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
-        res = -ENOENT;
-
-out:
-    rangeset_destroy(unalloc_mem);
-
-    return res;
-}
-
-static int __init handle_pci_range(const struct dt_device_node *dev,
-                                   uint64_t addr, uint64_t len, void *data)
-{
-    struct rangeset *mem_holes = data;
-    paddr_t start, end;
-    int res;
-
-    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
-    {
-        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
-               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
-        return -ERANGE;
-    }
-
-    start = addr & PAGE_MASK;
-    end = PAGE_ALIGN(addr + len);
-    res = rangeset_remove_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end - 1));
-    if ( res )
-    {
-        printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-               start, end);
-        return res;
-    }
-
-    return 0;
-}
-
-/*
- * 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"
- * 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 dt_device_node *np;
-    struct rangeset *mem_holes;
-    paddr_t start, end;
-    unsigned int i;
-    int res;
-
-    dt_dprintk("Find memory holes for extended regions\n");
-
-    mem_holes = rangeset_new(NULL, NULL, 0);
-    if ( !mem_holes )
-        return -ENOMEM;
-
-    /* Start with maximum possible addressable physical memory range */
-    start = 0;
-    end = (1ULL << p2m_ipa_bits) - 1;
-    res = rangeset_add_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end));
-    if ( res )
-    {
-        printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
-               start, end);
-        goto out;
-    }
-
-    /*
-     * Remove regions described by "reg" and "ranges" properties where
-     * the memory is addressable (MMIO, RAM, PCI BAR, etc).
-     */
-    dt_for_each_device_node( dt_host, np )
-    {
-        unsigned int naddr;
-        paddr_t addr, size;
-
-        naddr = dt_number_of_address(np);
-
-        for ( i = 0; i < naddr; i++ )
-        {
-            res = dt_device_get_paddr(np, i, &addr, &size);
-            if ( res )
-            {
-                printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
-                       i, dt_node_full_name(np));
-                goto out;
-            }
-
-            start = addr & PAGE_MASK;
-            end = PAGE_ALIGN(addr + size);
-            res = rangeset_remove_range(mem_holes, PFN_DOWN(start),
-                                        PFN_DOWN(end - 1));
-            if ( res )
-            {
-                printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                       start, end);
-                goto out;
-            }
-        }
-
-        if ( dt_device_type_is_equal(np, "pci") )
-        {
-            /*
-             * The ranges property in this context describes the PCI host
-             * bridge aperture. It shall be absent if no addresses are mapped
-             * through the bridge.
-             */
-            if ( !dt_get_property(np, "ranges", NULL) )
-                continue;
-
-            res = dt_for_each_range(np, &handle_pci_range, mem_holes);
-            if ( res )
-                goto out;
-        }
-    }
-
-    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);
-    if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
-        res = -ENOENT;
-
-out:
-    rangeset_destroy(mem_holes);
-
-    return res;
-}
-
-static int __init find_domU_holes(const struct kernel_info *kinfo,
-                                  struct meminfo *ext_regions)
-{
-    unsigned int i;
-    uint64_t bankend;
-    const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
-    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);
-
-        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;
-
-        /* 64MB is the minimum size of an extended region */
-        if ( ext_bank->size < MB(64) )
-            continue;
-        ext_regions->nr_banks++;
-        res = 0;
-    }
-
-    return res;
-}
-
-static int __init make_hypervisor_node(struct domain *d,
-                                       const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
-{
-    const char compat[] =
-        "xen,xen-" XEN_VERSION_STRING "\0"
-        "xen,xen";
-    __be32 *reg, *cells;
-    gic_interrupt_t intr;
-    int res;
-    void *fdt = kinfo->fdt;
-    struct meminfo *ext_regions = NULL;
-    unsigned int i, nr_ext_regions;
-
-    dt_dprintk("Create hypervisor node\n");
-
-    /*
-     * Sanity-check address sizes, since addresses and sizes which do
-     * not take up exactly 4 or 8 bytes are not supported.
-     */
-    if ((addrcells != 1 && addrcells != 2) ||
-        (sizecells != 1 && sizecells != 2))
-        panic("Cannot cope with this size\n");
-
-    /* See linux Documentation/devicetree/bindings/arm/xen.txt */
-    res = fdt_begin_node(fdt, "hypervisor");
-    if ( res )
-        return res;
-
-    /* Cannot use fdt_property_string due to embedded nulls */
-    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-    if ( res )
-        return res;
-
-    if ( !opt_ext_regions )
-    {
-        printk(XENLOG_INFO "%pd: extended regions support is disabled\n", d);
-        nr_ext_regions = 0;
-    }
-    else if ( is_32bit_domain(d) )
-    {
-        printk(XENLOG_WARNING
-               "%pd: extended regions not supported for 32-bit guests\n", d);
-        nr_ext_regions = 0;
-    }
-    else
-    {
-        ext_regions = xzalloc(struct meminfo);
-        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);
-        }
-
-        if ( res )
-            printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
-                   d);
-        nr_ext_regions = ext_regions->nr_banks;
-    }
-
-    reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
-    if ( !reg )
-    {
-        xfree(ext_regions);
-        return -ENOMEM;
-    }
-
-    /* reg 0 is grant table space */
-    cells = &reg[0];
-    dt_child_set_range(&cells, addrcells, sizecells,
-                       kinfo->gnttab_start, kinfo->gnttab_size);
-    /* reg 1...N are extended regions */
-    for ( i = 0; i < nr_ext_regions; i++ )
-    {
-        u64 start = ext_regions->bank[i].start;
-        u64 size = ext_regions->bank[i].size;
-
-        printk("%pd: extended region %d: %#"PRIx64"->%#"PRIx64"\n",
-               d, i, start, start + size);
-
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-    }
-
-    res = fdt_property(fdt, "reg", reg,
-                       dt_cells_to_size(addrcells + sizecells) *
-                       (nr_ext_regions + 1));
-    xfree(ext_regions);
-    xfree(reg);
-
-    if ( res )
-        return res;
-
-    BUG_ON(d->arch.evtchn_irq == 0);
-
-    /*
-     * Interrupt event channel upcall:
-     *  - Active-low level-sensitive
-     *  - All CPUs
-     *  TODO: Handle properly the cpumask;
-     */
-    set_interrupt(intr, d->arch.evtchn_irq, 0xf, DT_IRQ_TYPE_LEVEL_LOW);
-    res = fdt_property_interrupts(kinfo, &intr, 1);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-static int __init make_psci_node(void *fdt)
-{
-    int res;
-    const char compat[] =
-        "arm,psci-1.0""\0"
-        "arm,psci-0.2""\0"
-        "arm,psci";
-
-    dt_dprintk("Create PSCI node\n");
-
-    /* See linux Documentation/devicetree/bindings/arm/psci.txt */
-    res = fdt_begin_node(fdt, "psci");
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "method", "hvc");
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "cpu_off", PSCI_cpu_off);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "cpu_on", PSCI_cpu_on);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-static int __init make_cpus_node(const struct domain *d, void *fdt)
-{
-    int res;
-    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
-    const struct dt_device_node *npcpu;
-    unsigned int cpu;
-    const void *compatible = NULL;
-    u32 len;
-    /* Placeholder for cpu@ + a 32-bit hexadecimal number + \0 */
-    char buf[13];
-    u32 clock_frequency;
-    /* Keep the compiler happy with -Og */
-    bool clock_valid = false;
-    uint64_t mpidr_aff;
-
-    dt_dprintk("Create cpus node\n");
-
-    if ( !cpus )
-    {
-        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
-        return -ENOENT;
-    }
-
-    /*
-     * Get the compatible property of CPUs from the device tree.
-     * We are assuming that all CPUs are the same so we are just look
-     * for the first one.
-     * TODO: Handle compatible per VCPU
-     */
-    dt_for_each_child_node(cpus, npcpu)
-    {
-        if ( dt_device_type_is_equal(npcpu, "cpu") )
-        {
-            compatible = dt_get_property(npcpu, "compatible", &len);
-            clock_valid = dt_property_read_u32(npcpu, "clock-frequency",
-                                            &clock_frequency);
-            break;
-        }
-    }
-
-    if ( !compatible )
-    {
-        dprintk(XENLOG_ERR, "Can't find cpu in the device tree?\n");
-        return -ENOENT;
-    }
-
-    /* See Linux Documentation/devicetree/booting-without-of.txt
-     * section III.5.b
-     */
-    res = fdt_begin_node(fdt, "cpus");
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 1);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#size-cells", 0);
-    if ( res )
-        return res;
-
-    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
-    {
-        /*
-         * According to ARM CPUs bindings, the reg field should match
-         * the MPIDR's affinity bits. We will use AFF0 and AFF1 when
-         * constructing the reg value of the guest at the moment, for it
-         * is enough for the current max vcpu number.
-         *
-         * We only deal with AFF{0, 1, 2} stored in bits [23:0] at the
-         * moment.
-         */
-        mpidr_aff = vcpuid_to_vaffinity(cpu);
-        if ( (mpidr_aff & ~GENMASK_ULL(23, 0)) != 0 )
-        {
-            printk(XENLOG_ERR "Unable to handle MPIDR AFFINITY 0x%"PRIx64"\n",
-                   mpidr_aff);
-            return -EINVAL;
-        }
-
-        dt_dprintk("Create cpu@%"PRIx64" (logical CPUID: %d) node\n",
-                   mpidr_aff, cpu);
-
-        /*
-         * We use PRIx64 because mpidr_aff is a 64bit integer. However,
-         * only bits [23:0] are used, thus, we are sure it will fit in
-         * buf.
-         */
-        snprintf(buf, sizeof(buf), "cpu@%"PRIx64, mpidr_aff);
-        res = fdt_begin_node(fdt, buf);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compatible, len);
-        if ( res )
-            return res;
-
-        res = fdt_property_string(fdt, "device_type", "cpu");
-        if ( res )
-            return res;
-
-        res = fdt_property_cell(fdt, "reg", mpidr_aff);
-        if ( res )
-            return res;
-
-        if ( clock_valid )
-        {
-            res = fdt_property_cell(fdt, "clock-frequency", clock_frequency);
-            if ( res )
-                return res;
-        }
-
-        if ( is_64bit_domain(d) )
-        {
-            res = fdt_property_string(fdt, "enable-method", "psci");
-            if ( res )
-                return res;
-        }
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-static int __init make_gic_node(const struct domain *d, void *fdt,
-                                const struct dt_device_node *node)
-{
-    const struct dt_device_node *gic = dt_interrupt_controller;
-    int res = 0;
-    const void *addrcells, *sizecells;
-    u32 addrcells_len, sizecells_len;
-
-    /*
-     * Xen currently supports only a single GIC. Discard any secondary
-     * GIC entries.
-     */
-    if ( node != dt_interrupt_controller )
-    {
-        dt_dprintk("  Skipping (secondary GIC)\n");
-        return 0;
-    }
-
-    dt_dprintk("Create gic node\n");
-
-    res = fdt_begin_node(fdt, "interrupt-controller");
-    if ( res )
-        return res;
-
-    /*
-     * The value of the property "phandle" in the property "interrupts"
-     * to know on which interrupt controller the interrupt is wired.
-     */
-    if ( gic->phandle )
-    {
-        dt_dprintk("  Set phandle = 0x%x\n", gic->phandle);
-        res = fdt_property_cell(fdt, "phandle", gic->phandle);
-        if ( res )
-            return res;
-    }
-
-    addrcells = dt_get_property(gic, "#address-cells", &addrcells_len);
-    if ( addrcells )
-    {
-        res = fdt_property(fdt, "#address-cells", addrcells, addrcells_len);
-        if ( res )
-            return res;
-    }
-
-    sizecells = dt_get_property(gic, "#size-cells", &sizecells_len);
-    if ( sizecells )
-    {
-        res = fdt_property(fdt, "#size-cells", sizecells, sizecells_len);
-        if ( res )
-            return res;
-    }
-
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
-
-    res = gic_make_hwdom_dt_node(d, node, fdt);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-static int __init make_timer_node(const struct kernel_info *kinfo)
-{
-    void *fdt = kinfo->fdt;
-    static const struct dt_device_match timer_ids[] __initconst =
-    {
-        DT_MATCH_TIMER,
-        { /* sentinel */ },
-    };
-    struct dt_device_node *dev;
-    int res;
-    unsigned int irq[MAX_TIMER_PPI];
-    gic_interrupt_t intrs[3];
-    u32 clock_frequency;
-    bool clock_valid;
-
-    dt_dprintk("Create timer node\n");
-
-    dev = dt_find_matching_node(NULL, timer_ids);
-    if ( !dev )
-    {
-        dprintk(XENLOG_ERR, "Missing timer node in the device tree?\n");
-        return -FDT_ERR_XEN(ENOENT);
-    }
-
-    res = fdt_begin_node(fdt, "timer");
-    if ( res )
-        return res;
-
-    if ( !is_64bit_domain(kinfo->d) )
-        res = fdt_property_string(fdt, "compatible", "arm,armv7-timer");
-    else
-        res = fdt_property_string(fdt, "compatible", "arm,armv8-timer");
-    if ( res )
-        return res;
-
-    /*
-     * The timer IRQ is emulated by Xen.
-     * It always exposes an active-low level-sensitive interrupt.
-     */
-
-    if ( is_hardware_domain(kinfo->d) )
-    {
-        irq[TIMER_PHYS_SECURE_PPI] = timer_get_irq(TIMER_PHYS_SECURE_PPI);
-        irq[TIMER_PHYS_NONSECURE_PPI] =
-                                    timer_get_irq(TIMER_PHYS_NONSECURE_PPI);
-        irq[TIMER_VIRT_PPI] = timer_get_irq(TIMER_VIRT_PPI);
-    }
-    else
-    {
-        irq[TIMER_PHYS_SECURE_PPI] = GUEST_TIMER_PHYS_S_PPI;
-        irq[TIMER_PHYS_NONSECURE_PPI] = GUEST_TIMER_PHYS_NS_PPI;
-        irq[TIMER_VIRT_PPI] = GUEST_TIMER_VIRT_PPI;
-    }
-    dt_dprintk("  Secure interrupt %u\n", irq[TIMER_PHYS_SECURE_PPI]);
-    set_interrupt(intrs[0], irq[TIMER_PHYS_SECURE_PPI],
-                  0xf, DT_IRQ_TYPE_LEVEL_LOW);
-    dt_dprintk("  Non secure interrupt %u\n", irq[TIMER_PHYS_NONSECURE_PPI]);
-    set_interrupt(intrs[1], irq[TIMER_PHYS_NONSECURE_PPI],
-                  0xf, DT_IRQ_TYPE_LEVEL_LOW);
-    dt_dprintk("  Virt interrupt %u\n", irq[TIMER_VIRT_PPI]);
-    set_interrupt(intrs[2], irq[TIMER_VIRT_PPI], 0xf, DT_IRQ_TYPE_LEVEL_LOW);
-
-    res = fdt_property_interrupts(kinfo, intrs, 3);
-    if ( res )
-        return res;
-
-    clock_valid = dt_property_read_u32(dev, "clock-frequency",
-                                       &clock_frequency);
-    if ( clock_valid )
-    {
-        res = fdt_property_cell(fdt, "clock-frequency", clock_frequency);
-        if ( res )
-            return res;
-    }
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-/*
- * This function is used as part of the device tree generation for Dom0
- * on ACPI systems, and DomUs started directly from Xen based on device
- * tree information.
- */
-int __init make_chosen_node(const struct kernel_info *kinfo)
-{
-    int res;
-    const char *bootargs = NULL;
-    const struct bootmodule *mod = kinfo->kernel_bootmodule;
-    void *fdt = kinfo->fdt;
-
-    dt_dprintk("Create chosen node\n");
-    res = fdt_begin_node(fdt, "chosen");
-    if ( res )
-        return res;
-
-    if ( kinfo->cmdline && kinfo->cmdline[0] )
-    {
-        bootargs = &kinfo->cmdline[0];
-        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
-        if ( res )
-           return res;
-    }
-
-    /*
-     * If the bootloader provides an initrd, we must create a placeholder
-     * for the initrd properties. The values will be replaced later.
-     */
-    if ( mod && mod->size )
-    {
-        u64 a = 0;
-        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
-        if ( res )
-            return res;
-
-        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
-        if ( res )
-            return res;
-    }
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
-int __init map_irq_to_domain(struct domain *d, unsigned int irq,
-                             bool need_mapping, const char *devname)
-{
-    int res;
-
-    res = irq_permit_access(d, irq);
-    if ( res )
-    {
-        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
-        return res;
-    }
-
-    if ( need_mapping )
-    {
-        /*
-         * Checking the return of vgic_reserve_virq is not
-         * necessary. It should not fail except when we try to map
-         * the IRQ twice. This can legitimately happen if the IRQ is shared
-         */
-        vgic_reserve_virq(d, irq);
-
-        res = route_irq_to_guest(d, irq, irq, devname);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - IRQ: %u\n", irq);
-    return 0;
-}
-
-static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
-                                       const struct dt_irq *dt_irq,
-                                       void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    unsigned int irq = dt_irq->irq;
-    int res;
-
-    if ( irq < NR_LOCAL_IRQS )
-    {
-        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
-        return -EINVAL;
-    }
-
-    /* Setup the IRQ type */
-    res = irq_set_spi_type(irq, dt_irq->type);
-    if ( res )
-    {
-        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
-               dt_node_name(dev), irq, d);
-        return res;
-    }
-
-    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
-
-    return res;
-}
-
-int __init map_range_to_domain(const struct dt_device_node *dev,
-                               uint64_t addr, uint64_t len, void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    int res;
-
-    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
-    {
-        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
-               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
-        return -ERANGE;
-    }
-
-    /*
-     * reserved-memory regions are RAM carved out for a special purpose.
-     * They are not MMIO and therefore a domain should not be able to
-     * manage them via the IOMEM interface.
-     */
-    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
-                     strlen("/reserved-memory/")) != 0 )
-    {
-        res = iomem_permit_access(d, paddr_to_pfn(addr),
-                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
-                    d->domain_id,
-                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
-            return res;
-        }
-    }
-
-    if ( !mr_data->skip_mapping )
-    {
-        res = map_regions_p2mt(d,
-                               gaddr_to_gfn(addr),
-                               PFN_UP(len),
-                               maddr_to_mfn(addr),
-                               mr_data->p2mt);
-
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
-                   " - 0x%"PRIx64" in domain %d\n",
-                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
-                   d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
-               addr, addr + len, mr_data->p2mt);
-
-    return 0;
-}
-
-/*
- * For a node which describes a discoverable bus (such as a PCI bus)
- * then we may need to perform additional mappings in order to make
- * the child resources available to domain 0.
- */
-static int __init map_device_children(const struct dt_device_node *dev,
-                                      struct map_range_data *mr_data)
-{
-    if ( dt_device_type_is_equal(dev, "pci") )
-    {
-        int ret;
-
-        dt_dprintk("Mapping children of %s to guest\n",
-                   dt_node_full_name(dev));
-
-        ret = dt_for_each_irq_map(dev, &map_dt_irq_to_domain, mr_data);
-        if ( ret < 0 )
-            return ret;
-
-        ret = dt_for_each_range(dev, &map_range_to_domain, mr_data);
-        if ( ret < 0 )
-            return ret;
-    }
-
-    return 0;
-}
-
-/*
- * handle_device_interrupts retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
-static int __init handle_device_interrupts(struct domain *d,
-                                           struct dt_device_node *dev,
-                                           bool need_mapping)
-{
-    unsigned int i, nirq;
-    int res;
-    struct dt_raw_irq rirq;
-
-    nirq = dt_number_of_irq(dev);
-
-    /* Give permission and map IRQs */
-    for ( i = 0; i < nirq; i++ )
-    {
-        res = dt_device_get_raw_irq(dev, i, &rirq);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        /*
-         * Don't map IRQ that have no physical meaning
-         * ie: IRQ whose controller is not the GIC
-         */
-        if ( rirq.controller != dt_interrupt_controller )
-        {
-            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
-                      i, dt_node_full_name(rirq.controller));
-            continue;
-        }
-
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
-        if ( res )
-            return res;
-    }
-
-    return 0;
-}
-
-/*
- * For a given device node:
- *  - Give permission to the guest to manage IRQ and MMIO range
- *  - Retrieve the IRQ configuration (i.e edge/level) from device tree
- * When the device is not marked for guest passthrough:
- *  - Try to call iommu_add_dt_device to protect the device by an IOMMU
- *  - Assign the device to the guest if it's protected by an IOMMU
- *  - Map the IRQs and iomem regions to DOM0
- */
-static int __init handle_device(struct domain *d, struct dt_device_node *dev,
-                                p2m_type_t p2mt)
-{
-    unsigned int naddr;
-    unsigned int i;
     int res;
-    paddr_t addr, size;
-    bool own_device = !dt_device_for_passthrough(dev);
-    /*
-     * We want to avoid mapping the MMIO in dom0 for the following cases:
-     *   - The device is owned by dom0 (i.e. it has been flagged for
-     *     passthrough).
-     *   - PCI host bridges with driver in Xen. They will later be mapped by
-     *     pci_host_bridge_mappings().
-     */
-    struct map_range_data mr_data = {
-        .d = d,
-        .p2mt = p2mt,
-        .skip_mapping = !own_device ||
-                        (is_pci_passthrough_enabled() &&
-                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
-    };
-
-    naddr = dt_number_of_address(dev);
-
-    dt_dprintk("%s passthrough = %d naddr = %u\n",
-               dt_node_full_name(dev), own_device, naddr);
-
-    if ( own_device )
-    {
-        dt_dprintk("Check if %s is behind the IOMMU and add it\n",
-                   dt_node_full_name(dev));
-
-        res = iommu_add_dt_device(dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
-                   dt_node_full_name(dev));
-            return res;
-        }
-
-        if ( dt_device_is_protected(dev) )
-        {
-            dt_dprintk("%s setup iommu\n", dt_node_full_name(dev));
-            res = iommu_assign_dt_device(d, dev);
-            if ( res )
-            {
-                printk(XENLOG_ERR "Failed to setup the IOMMU for %s\n",
-                       dt_node_full_name(dev));
-                return res;
-            }
-        }
-    }
-
-    res = handle_device_interrupts(d, dev, own_device);
-    if ( res < 0 )
-        return res;
-
-    /* Give permission and map MMIOs */
-    for ( i = 0; i < naddr; i++ )
-    {
-        res = dt_device_get_paddr(dev, i, &addr, &size);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_range_to_domain(dev, addr, size, &mr_data);
-        if ( res )
-            return res;
-    }
-
-    res = map_device_children(dev, &mr_data);
-    if ( res )
-        return res;
-
-    return 0;
-}
-
-static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
-                              struct dt_device_node *node,
-                              p2m_type_t p2mt)
-{
-    static const struct dt_device_match skip_matches[] __initconst =
-    {
-        DT_MATCH_COMPATIBLE("xen,xen"),
-        DT_MATCH_COMPATIBLE("xen,multiboot-module"),
-        DT_MATCH_COMPATIBLE("multiboot,module"),
-        DT_MATCH_COMPATIBLE("arm,psci"),
-        DT_MATCH_COMPATIBLE("arm,psci-0.2"),
-        DT_MATCH_COMPATIBLE("arm,psci-1.0"),
-        DT_MATCH_COMPATIBLE("arm,cortex-a7-pmu"),
-        DT_MATCH_COMPATIBLE("arm,cortex-a15-pmu"),
-        DT_MATCH_COMPATIBLE("arm,cortex-a53-edac"),
-        DT_MATCH_COMPATIBLE("arm,armv8-pmuv3"),
-        DT_MATCH_PATH("/cpus"),
-        DT_MATCH_TYPE("memory"),
-        /* The memory mapped timer is not supported by Xen. */
-        DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
-        { /* sentinel */ },
-    };
-    static const struct dt_device_match timer_matches[] __initconst =
-    {
-        DT_MATCH_TIMER,
-        { /* sentinel */ },
-    };
-    static const struct dt_device_match reserved_matches[] __initconst =
-    {
-        DT_MATCH_PATH("/psci"),
-        DT_MATCH_PATH("/memory"),
-        DT_MATCH_PATH("/hypervisor"),
-        { /* sentinel */ },
-    };
-    struct dt_device_node *child;
-    int res, i, nirq, irq_id;
-    const char *name;
-    const char *path;
+    const char compat[] =
+        "arm,psci-1.0""\0"
+        "arm,psci-0.2""\0"
+        "arm,psci";
 
-    path = dt_node_full_name(node);
+    dt_dprintk("Create PSCI node\n");
 
-    dt_dprintk("handle %s\n", path);
+    /* See linux Documentation/devicetree/bindings/arm/psci.txt */
+    res = fdt_begin_node(fdt, "psci");
+    if ( res )
+        return res;
 
-    /* Skip theses nodes and the sub-nodes */
-    if ( dt_match_node(skip_matches, node) )
-    {
-        dt_dprintk("  Skip it (matched)\n");
-        return 0;
-    }
-    if ( platform_device_is_blacklisted(node) )
-    {
-        dt_dprintk("  Skip it (blacklisted)\n");
-        return 0;
-    }
+    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+    if ( res )
+        return res;
 
-    /*
-     * Replace these nodes with our own. Note that the original may be
-     * used_by DOMID_XEN so this check comes first.
-     */
-    if ( device_get_class(node) == DEVICE_GIC )
-        return make_gic_node(d, kinfo->fdt, node);
-    if ( dt_match_node(timer_matches, node) )
-        return make_timer_node(kinfo);
+    res = fdt_property_string(fdt, "method", "hvc");
+    if ( res )
+        return res;
 
-    /* Skip nodes used by Xen */
-    if ( dt_device_used_by(node) == DOMID_XEN )
-    {
-        dt_dprintk("  Skip it (used by Xen)\n");
-        return 0;
-    }
+    res = fdt_property_cell(fdt, "cpu_off", PSCI_cpu_off);
+    if ( res )
+        return res;
 
-    /*
-     * Even if the IOMMU device is not used by Xen, it should not be
-     * passthrough to DOM0
-     */
-    if ( device_get_class(node) == DEVICE_IOMMU )
+    res = fdt_property_cell(fdt, "cpu_on", PSCI_cpu_on);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
+int __init make_cpus_node(const struct domain *d, void *fdt)
+{
+    int res;
+    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
+    const struct dt_device_node *npcpu;
+    unsigned int cpu;
+    const void *compatible = NULL;
+    u32 len;
+    /* Placeholder for cpu@ + a 32-bit hexadecimal number + \0 */
+    char buf[13];
+    u32 clock_frequency;
+    /* Keep the compiler happy with -Og */
+    bool clock_valid = false;
+    uint64_t mpidr_aff;
+
+    dt_dprintk("Create cpus node\n");
+
+    if ( !cpus )
     {
-        dt_dprintk(" IOMMU, skip it\n");
-        return 0;
+        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
+        return -ENOENT;
     }
 
     /*
-     * The vGIC does not support routing hardware PPIs to guest. So
-     * we need to skip any node using PPIs.
+     * Get the compatible property of CPUs from the device tree.
+     * We are assuming that all CPUs are the same so we are just look
+     * for the first one.
+     * TODO: Handle compatible per VCPU
      */
-    nirq = dt_number_of_irq(node);
-
-    for ( i = 0 ; i < nirq ; i++ )
+    dt_for_each_child_node(cpus, npcpu)
     {
-        irq_id = platform_get_irq(node, i);
-
-        /* PPIs ranges from ID 16 to 31 */
-        if ( irq_id >= 16 && irq_id < 32 )
+        if ( dt_device_type_is_equal(npcpu, "cpu") )
         {
-            dt_dprintk(" Skip it (using PPIs)\n");
-            return 0;
+            compatible = dt_get_property(npcpu, "compatible", &len);
+            clock_valid = dt_property_read_u32(npcpu, "clock-frequency",
+                                            &clock_frequency);
+            break;
         }
     }
 
-    /*
-     * Xen is using some path for its own purpose. Warn if a node
-     * already exists with the same path.
-     */
-    if ( dt_match_node(reserved_matches, node) )
-        printk(XENLOG_WARNING
-               "WARNING: Path %s is reserved, skip the node as we may re-use the path.\n",
-               path);
-
-    res = handle_device(d, node, p2mt);
-    if ( res)
-        return res;
+    if ( !compatible )
+    {
+        dprintk(XENLOG_ERR, "Can't find cpu in the device tree?\n");
+        return -ENOENT;
+    }
 
-    /*
-     * The property "name" is used to have a different name on older FDT
-     * version. We want to keep the name retrieved during the tree
-     * structure creation, that is store in the node path.
+    /* See Linux Documentation/devicetree/booting-without-of.txt
+     * section III.5.b
      */
-    name = strrchr(path, '/');
-    name = name ? name + 1 : path;
-
-    res = fdt_begin_node(kinfo->fdt, name);
+    res = fdt_begin_node(fdt, "cpus");
     if ( res )
         return res;
 
-    res = write_properties(d, kinfo, node);
+    res = fdt_property_cell(fdt, "#address-cells", 1);
     if ( res )
         return res;
 
-    for ( child = node->child; child != NULL; child = child->sibling )
-    {
-        res = handle_node(d, kinfo, child, p2mt);
-        if ( res )
-            return res;
-    }
+    res = fdt_property_cell(fdt, "#size-cells", 0);
+    if ( res )
+        return res;
 
-    if ( node == dt_host )
+    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
     {
-        int addrcells = dt_child_n_addr_cells(node);
-        int sizecells = dt_child_n_size_cells(node);
-
         /*
-         * It is safe to allocate the event channel here because all the
-         * PPIs used by the hardware domain have been registered.
+         * According to ARM CPUs bindings, the reg field should match
+         * the MPIDR's affinity bits. We will use AFF0 and AFF1 when
+         * constructing the reg value of the guest at the moment, for it
+         * is enough for the current max vcpu number.
+         *
+         * We only deal with AFF{0, 1, 2} stored in bits [23:0] at the
+         * moment.
          */
-        evtchn_allocate(d);
+        mpidr_aff = vcpuid_to_vaffinity(cpu);
+        if ( (mpidr_aff & ~GENMASK_ULL(23, 0)) != 0 )
+        {
+            printk(XENLOG_ERR "Unable to handle MPIDR AFFINITY 0x%"PRIx64"\n",
+                   mpidr_aff);
+            return -EINVAL;
+        }
+
+        dt_dprintk("Create cpu@%"PRIx64" (logical CPUID: %d) node\n",
+                   mpidr_aff, cpu);
 
         /*
-         * The hypervisor node should always be created after all nodes
-         * from the host DT have been parsed.
+         * We use PRIx64 because mpidr_aff is a 64bit integer. However,
+         * only bits [23:0] are used, thus, we are sure it will fit in
+         * buf.
          */
-        res = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        snprintf(buf, sizeof(buf), "cpu@%"PRIx64, mpidr_aff);
+        res = fdt_begin_node(fdt, buf);
         if ( res )
             return res;
 
-        res = make_psci_node(kinfo->fdt);
+        res = fdt_property(fdt, "compatible", compatible, len);
         if ( res )
             return res;
 
-        res = make_cpus_node(d, kinfo->fdt);
+        res = fdt_property_string(fdt, "device_type", "cpu");
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+        res = fdt_property_cell(fdt, "reg", mpidr_aff);
         if ( res )
             return res;
 
-        /*
-         * Create a second memory node to store the ranges covering
-         * reserved-memory regions.
-         */
-        if ( bootinfo.reserved_mem.nr_banks > 0 )
+        if ( clock_valid )
         {
-            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   &bootinfo.reserved_mem);
+            res = fdt_property_cell(fdt, "clock-frequency", clock_frequency);
             if ( res )
                 return res;
         }
 
-        res = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                    &kinfo->shm_mem);
+        if ( is_64bit_domain(d) )
+        {
+            res = fdt_property_string(fdt, "enable-method", "psci");
+            if ( res )
+                return res;
+        }
+
+        res = fdt_end_node(fdt);
         if ( res )
             return res;
     }
 
-    res = fdt_end_node(kinfo->fdt);
+    res = fdt_end_node(fdt);
 
     return res;
 }
 
-#ifdef CONFIG_VGICV2
-static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+static int __init make_gic_node(const struct domain *d, void *fdt,
+                                const struct dt_device_node *node)
 {
-    void *fdt = kinfo->fdt;
+    const struct dt_device_node *gic = dt_interrupt_controller;
     int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
-    const struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    const void *addrcells, *sizecells;
+    u32 addrcells_len, sizecells_len;
 
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
+    /*
+     * Xen currently supports only a single GIC. Discard any secondary
+     * GIC entries.
+     */
+    if ( node != dt_interrupt_controller )
+    {
+        dt_dprintk("  Skipping (secondary GIC)\n");
+        return 0;
+    }
 
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
+    dt_dprintk("Create gic node\n");
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    res = fdt_begin_node(fdt, "interrupt-controller");
     if ( res )
         return res;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
-
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-#endif
-
-#ifdef CONFIG_GICV3
-static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
-{
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 *reg, *cells;
-    const struct domain *d = kinfo->d;
-    unsigned int i, len = 0;
+    /*
+     * The value of the property "phandle" in the property "interrupts"
+     * to know on which interrupt controller the interrupt is wired.
+     */
+    if ( gic->phandle )
+    {
+        dt_dprintk("  Set phandle = 0x%x\n", gic->phandle);
+        res = fdt_property_cell(fdt, "phandle", gic->phandle);
+        if ( res )
+            return res;
+    }
 
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
+    addrcells = dt_get_property(gic, "#address-cells", &addrcells_len);
+    if ( addrcells )
+    {
+        res = fdt_property(fdt, "#address-cells", addrcells, addrcells_len);
+        if ( res )
+            return res;
+    }
 
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    sizecells = dt_get_property(gic, "#size-cells", &sizecells_len);
+    if ( sizecells )
+    {
+        res = fdt_property(fdt, "#size-cells", sizecells, sizecells_len);
+        if ( res )
+            return res;
+    }
 
     res = fdt_property_cell(fdt, "#interrupt-cells", 3);
     if ( res )
@@ -2855,533 +1422,621 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
     if ( res )
         return res;
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    res = gic_make_hwdom_dt_node(d, node, fdt);
     if ( res )
         return res;
 
-    /* reg specifies all re-distributors and Distributor. */
-    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
-          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
-    reg = xmalloc_bytes(len);
-    if ( reg == NULL )
-        return -ENOMEM;
-    cells = reg;
-
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
-
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_child_set_range(&cells,
-                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                           d->arch.vgic.rdist_regions[i].base,
-                           d->arch.vgic.rdist_regions[i].size);
-
-    res = fdt_property(fdt, "reg", reg, len);
-    xfree(reg);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
     res = fdt_end_node(fdt);
 
     return res;
 }
-#endif
-
-static int __init make_gic_domU_node(struct kernel_info *kinfo)
-{
-    switch ( kinfo->d->arch.vgic.version )
-    {
-#ifdef CONFIG_GICV3
-    case GIC_V3:
-        return make_gicv3_domU_node(kinfo);
-#endif
-#ifdef CONFIG_VGICV2
-    case GIC_V2:
-        return make_gicv2_domU_node(kinfo);
-#endif
-    default:
-        panic("Unsupported GIC version\n");
-    }
-}
 
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+int __init make_timer_node(const struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
+    static const struct dt_device_match timer_ids[] __initconst =
+    {
+        DT_MATCH_TIMER,
+        { /* sentinel */ },
+    };
+    struct dt_device_node *dev;
     int res;
-    gic_interrupt_t intr;
-    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-    __be32 *cells;
-    struct domain *d = kinfo->d;
+    unsigned int irq[MAX_TIMER_PPI];
+    gic_interrupt_t intrs[3];
+    u32 clock_frequency;
+    bool clock_valid;
 
-    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
-    if ( res )
-        return res;
+    dt_dprintk("Create timer node\n");
+
+    dev = dt_find_matching_node(NULL, timer_ids);
+    if ( !dev )
+    {
+        dprintk(XENLOG_ERR, "Missing timer node in the device tree?\n");
+        return -FDT_ERR_XEN(ENOENT);
+    }
 
-    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    res = fdt_begin_node(fdt, "timer");
     if ( res )
         return res;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
-                       GUEST_PL011_SIZE);
-
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( !is_64bit_domain(kinfo->d) )
+        res = fdt_property_string(fdt, "compatible", "arm,armv7-timer");
+    else
+        res = fdt_property_string(fdt, "compatible", "arm,armv8-timer");
     if ( res )
         return res;
 
-    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    /*
+     * The timer IRQ is emulated by Xen.
+     * It always exposes an active-low level-sensitive interrupt.
+     */
 
-    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
-    if ( res )
-        return res;
+    if ( is_hardware_domain(kinfo->d) )
+    {
+        irq[TIMER_PHYS_SECURE_PPI] = timer_get_irq(TIMER_PHYS_SECURE_PPI);
+        irq[TIMER_PHYS_NONSECURE_PPI] =
+                                    timer_get_irq(TIMER_PHYS_NONSECURE_PPI);
+        irq[TIMER_VIRT_PPI] = timer_get_irq(TIMER_VIRT_PPI);
+    }
+    else
+    {
+        irq[TIMER_PHYS_SECURE_PPI] = GUEST_TIMER_PHYS_S_PPI;
+        irq[TIMER_PHYS_NONSECURE_PPI] = GUEST_TIMER_PHYS_NS_PPI;
+        irq[TIMER_VIRT_PPI] = GUEST_TIMER_VIRT_PPI;
+    }
+    dt_dprintk("  Secure interrupt %u\n", irq[TIMER_PHYS_SECURE_PPI]);
+    set_interrupt(intrs[0], irq[TIMER_PHYS_SECURE_PPI],
+                  0xf, DT_IRQ_TYPE_LEVEL_LOW);
+    dt_dprintk("  Non secure interrupt %u\n", irq[TIMER_PHYS_NONSECURE_PPI]);
+    set_interrupt(intrs[1], irq[TIMER_PHYS_NONSECURE_PPI],
+                  0xf, DT_IRQ_TYPE_LEVEL_LOW);
+    dt_dprintk("  Virt interrupt %u\n", irq[TIMER_VIRT_PPI]);
+    set_interrupt(intrs[2], irq[TIMER_VIRT_PPI], 0xf, DT_IRQ_TYPE_LEVEL_LOW);
 
-    res = fdt_property_cell(fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
+    res = fdt_property_interrupts(kinfo, intrs, 3);
     if ( res )
         return res;
 
-    /* Use a default baud rate of 115200. */
-    fdt_property_u32(fdt, "current-speed", 115200);
+    clock_valid = dt_property_read_u32(dev, "clock-frequency",
+                                       &clock_frequency);
+    if ( clock_valid )
+    {
+        res = fdt_property_cell(fdt, "clock-frequency", clock_frequency);
+        if ( res )
+            return res;
+    }
 
     res = fdt_end_node(fdt);
-    if ( res )
-        return res;
 
-    return 0;
+    return res;
 }
-#endif
 
 /*
- * Scan device tree properties for passthrough specific information.
- * Returns < 0 on error
- *         0 on success
+ * This function is used as part of the device tree generation for Dom0
+ * on ACPI systems, and DomUs started directly from Xen based on device
+ * tree information.
  */
-static int __init handle_passthrough_prop(struct kernel_info *kinfo,
-                                          const struct fdt_property *xen_reg,
-                                          const struct fdt_property *xen_path,
-                                          bool xen_force,
-                                          uint32_t address_cells, uint32_t size_cells)
+int __init make_chosen_node(const struct kernel_info *kinfo)
 {
-    const __be32 *cell;
-    unsigned int i, len;
-    struct dt_device_node *node;
     int res;
-    paddr_t mstart, size, gstart;
+    const char *bootargs = NULL;
+    const struct bootmodule *mod = kinfo->kernel_bootmodule;
+    void *fdt = kinfo->fdt;
 
-    /* xen,reg specifies where to map the MMIO region */
-    cell = (const __be32 *)xen_reg->data;
-    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
-                                        sizeof(uint32_t));
+    dt_dprintk("Create chosen node\n");
+    res = fdt_begin_node(fdt, "chosen");
+    if ( res )
+        return res;
 
-    for ( i = 0; i < len; i++ )
+    if ( kinfo->cmdline && kinfo->cmdline[0] )
     {
-        device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+        bootargs = &kinfo->cmdline[0];
+        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
+        if ( res )
+           return res;
+    }
 
-        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
-        {
-            printk(XENLOG_ERR
-                    "DomU passthrough config has not page aligned addresses/sizes\n");
-            return -EINVAL;
-        }
+    /*
+     * If the bootloader provides an initrd, we must create a placeholder
+     * for the initrd properties. The values will be replaced later.
+     */
+    if ( mod && mod->size )
+    {
+        u64 a = 0;
+        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
+        if ( res )
+            return res;
 
-        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
-                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
         if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
-                   kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
             return res;
-        }
+    }
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
+int __init map_irq_to_domain(struct domain *d, unsigned int irq,
+                             bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vgic_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared
+         */
+        vgic_reserve_virq(d, irq);
 
-        res = map_regions_p2mt(kinfo->d,
-                               gaddr_to_gfn(gstart),
-                               PFN_DOWN(size),
-                               maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
+        res = route_irq_to_guest(d, irq, irq, devname);
         if ( res < 0 )
         {
-            printk(XENLOG_ERR
-                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
-                   mstart, gstart);
-            return -EFAULT;
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
         }
     }
 
-    /*
-     * If xen_force, we let the user assign a MMIO region with no
-     * associated path.
-     */
-    if ( xen_path == NULL )
-        return xen_force ? 0 : -EINVAL;
+    dt_dprintk("  - IRQ: %u\n", irq);
+    return 0;
+}
 
-    /*
-     * xen,path specifies the corresponding node in the host DT.
-     * Both interrupt mappings and IOMMU settings are based on it,
-     * as they are done based on the corresponding host DT node.
-     */
-    node = dt_find_node_by_path(xen_path->data);
-    if ( node == NULL )
+static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
+                                       const struct dt_irq *dt_irq,
+                                       void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    unsigned int irq = dt_irq->irq;
+    int res;
+
+    if ( irq < NR_LOCAL_IRQS )
     {
-        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
+        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
         return -EINVAL;
     }
 
-    res = handle_device_interrupts(kinfo->d, node, true);
-    if ( res < 0 )
-        return res;
-
-    res = iommu_add_dt_device(node);
-    if ( res < 0 )
+    /* Setup the IRQ type */
+    res = irq_set_spi_type(irq, dt_irq->type);
+    if ( res )
+    {
+        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
+               dt_node_name(dev), irq, d);
         return res;
+    }
 
-    /* If xen_force, we allow assignment of devices without IOMMU protection. */
-    if ( xen_force && !dt_device_is_protected(node) )
-        return 0;
+    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
 
-    return iommu_assign_dt_device(kinfo->d, node);
+    return res;
 }
 
-static int __init handle_prop_pfdt(struct kernel_info *kinfo,
-                                   const void *pfdt, int nodeoff,
-                                   uint32_t address_cells, uint32_t size_cells,
-                                   bool scan_passthrough_prop)
+int __init map_range_to_domain(const struct dt_device_node *dev,
+                               uint64_t addr, uint64_t len, void *data)
 {
-    void *fdt = kinfo->fdt;
-    int propoff, nameoff, res;
-    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
-    const char *name;
-    bool found, xen_force = false;
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    int res;
 
-    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
-          propoff >= 0;
-          propoff = fdt_next_property_offset(pfdt, propoff) )
+    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
     {
-        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
-            return -FDT_ERR_INTERNAL;
-
-        found = false;
-        nameoff = fdt32_to_cpu(prop->nameoff);
-        name = fdt_string(pfdt, nameoff);
-
-        if ( scan_passthrough_prop )
-        {
-            if ( dt_prop_cmp("xen,reg", name) == 0 )
-            {
-                xen_reg = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,path", name) == 0 )
-            {
-                xen_path = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
-                                  name) == 0 )
-            {
-                xen_force = true;
-                found = true;
-            }
-        }
+        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
+               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
+        return -ERANGE;
+    }
 
-        /*
-         * Copy properties other than the ones above: xen,reg, xen,path,
-         * and xen,force-assign-without-iommu.
-         */
-        if ( !found )
+    /*
+     * reserved-memory regions are RAM carved out for a special purpose.
+     * They are not MMIO and therefore a domain should not be able to
+     * manage them via the IOMEM interface.
+     */
+    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
+                     strlen("/reserved-memory/")) != 0 )
+    {
+        res = iomem_permit_access(d, paddr_to_pfn(addr),
+                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
         {
-            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
-            if ( res )
-                return res;
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                    d->domain_id,
+                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
+            return res;
         }
     }
 
-    /*
-     * Only handle passthrough properties if both xen,reg and xen,path
-     * are present, or if xen,force-assign-without-iommu is specified.
-     */
-    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    if ( !mr_data->skip_mapping )
     {
-        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
-                                      address_cells, size_cells);
+        res = map_regions_p2mt(d,
+                               gaddr_to_gfn(addr),
+                               PFN_UP(len),
+                               maddr_to_mfn(addr),
+                               mr_data->p2mt);
+
         if ( res < 0 )
         {
-            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
+                   " - 0x%"PRIx64" in domain %d\n",
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
+                   d->domain_id);
             return res;
         }
     }
-    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
-    {
-        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
-               kinfo->d);
-        return -EINVAL;
-    }
 
-    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
-    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
+               addr, addr + len, mr_data->p2mt);
+
+    return 0;
 }
 
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
-                                 int nodeoff,
-                                 uint32_t address_cells, uint32_t size_cells,
-                                 bool scan_passthrough_prop)
+/*
+ * For a node which describes a discoverable bus (such as a PCI bus)
+ * then we may need to perform additional mappings in order to make
+ * the child resources available to domain 0.
+ */
+static int __init map_device_children(const struct dt_device_node *dev,
+                                      struct map_range_data *mr_data)
 {
-    int rc = 0;
-    void *fdt = kinfo->fdt;
-    int node_next;
-
-    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
-    if ( rc )
-        return rc;
+    if ( dt_device_type_is_equal(dev, "pci") )
+    {
+        int ret;
 
-    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
-                          scan_passthrough_prop);
-    if ( rc )
-        return rc;
+        dt_dprintk("Mapping children of %s to guest\n",
+                   dt_node_full_name(dev));
 
-    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
-                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
-    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
-                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+        ret = dt_for_each_irq_map(dev, &map_dt_irq_to_domain, mr_data);
+        if ( ret < 0 )
+            return ret;
 
-    node_next = fdt_first_subnode(pfdt, nodeoff);
-    while ( node_next > 0 )
-    {
-        scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
-                       scan_passthrough_prop);
-        node_next = fdt_next_subnode(pfdt, node_next);
+        ret = dt_for_each_range(dev, &map_range_to_domain, mr_data);
+        if ( ret < 0 )
+            return ret;
     }
 
-    return fdt_end_node(fdt);
+    return 0;
 }
 
-static int __init check_partial_fdt(void *pfdt, size_t size)
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int __init handle_device_interrupts(struct domain *d,
+                                    struct dt_device_node *dev,
+                                    bool need_mapping)
 {
+    unsigned int i, nirq;
     int res;
+    struct dt_raw_irq rirq;
 
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
+    nirq = dt_number_of_irq(dev);
 
-    res = fdt_check_header(pfdt);
-    if ( res )
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
     {
-        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
-        return -EINVAL;
-    }
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
 
-    if ( fdt_totalsize(pfdt) > size )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
-        return -EINVAL;
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not the GIC
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
+                      i, dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        res = platform_get_irq(dev, i);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
     }
 
     return 0;
 }
 
-static int __init domain_handle_dtb_bootmodule(struct domain *d,
-                                               struct kernel_info *kinfo)
+/*
+ * For a given device node:
+ *  - Give permission to the guest to manage IRQ and MMIO range
+ *  - Retrieve the IRQ configuration (i.e edge/level) from device tree
+ * When the device is not marked for guest passthrough:
+ *  - Try to call iommu_add_dt_device to protect the device by an IOMMU
+ *  - Assign the device to the guest if it's protected by an IOMMU
+ *  - Map the IRQs and iomem regions to DOM0
+ */
+static int __init handle_device(struct domain *d, struct dt_device_node *dev,
+                                p2m_type_t p2mt)
 {
-    void *pfdt;
-    int res, node_next;
+    unsigned int naddr;
+    unsigned int i;
+    int res;
+    paddr_t addr, size;
+    bool own_device = !dt_device_for_passthrough(dev);
+    /*
+     * We want to avoid mapping the MMIO in dom0 for the following cases:
+     *   - The device is owned by dom0 (i.e. it has been flagged for
+     *     passthrough).
+     *   - PCI host bridges with driver in Xen. They will later be mapped by
+     *     pci_host_bridge_mappings().
+     */
+    struct map_range_data mr_data = {
+        .d = d,
+        .p2mt = p2mt,
+        .skip_mapping = !own_device ||
+                        (is_pci_passthrough_enabled() &&
+                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
+    };
 
-    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
-                         kinfo->dtb_bootmodule->size);
-    if ( pfdt == NULL )
-        return -EFAULT;
+    naddr = dt_number_of_address(dev);
 
-    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
-    if ( res < 0 )
-        goto out;
+    dt_dprintk("%s passthrough = %d naddr = %u\n",
+               dt_node_full_name(dev), own_device, naddr);
 
-    for ( node_next = fdt_first_subnode(pfdt, 0); 
-          node_next > 0;
-          node_next = fdt_next_subnode(pfdt, node_next) )
+    if ( own_device )
     {
-        const char *name = fdt_get_name(pfdt, node_next, NULL);
-
-        if ( name == NULL )
-            continue;
+        dt_dprintk("Check if %s is behind the IOMMU and add it\n",
+                   dt_node_full_name(dev));
 
-        /*
-         * Only scan /gic /aliases /passthrough, ignore the rest.
-         * They don't have to be parsed in order.
-         *
-         * Take the GIC phandle value from the special /gic node in the
-         * DTB fragment.
-         */
-        if ( dt_node_cmp(name, "gic") == 0 )
+        res = iommu_add_dt_device(dev);
+        if ( res < 0 )
         {
-            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
-            continue;
+            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
+                   dt_node_full_name(dev));
+            return res;
         }
 
-        if ( dt_node_cmp(name, "aliases") == 0 )
+        if ( dt_device_is_protected(dev) )
         {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 false);
+            dt_dprintk("%s setup iommu\n", dt_node_full_name(dev));
+            res = iommu_assign_dt_device(d, dev);
             if ( res )
-                goto out;
-            continue;
+            {
+                printk(XENLOG_ERR "Failed to setup the IOMMU for %s\n",
+                       dt_node_full_name(dev));
+                return res;
+            }
         }
-        if ( dt_node_cmp(name, "passthrough") == 0 )
+    }
+
+    res = handle_device_interrupts(d, dev, own_device);
+    if ( res < 0 )
+        return res;
+
+    /* Give permission and map MMIOs */
+    for ( i = 0; i < naddr; i++ )
+    {
+        res = dt_device_get_paddr(dev, i, &addr, &size);
+        if ( res )
         {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 true);
-            if ( res )
-                goto out;
-            continue;
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
         }
+
+        res = map_range_to_domain(dev, addr, size, &mr_data);
+        if ( res )
+            return res;
     }
 
- out:
-    iounmap(pfdt);
+    res = map_device_children(dev, &mr_data);
+    if ( res )
+        return res;
 
-    return res;
+    return 0;
 }
 
-/*
- * The max size for DT is 2MB. However, the generated DT is small (not including
- * domU passthrough DT nodes whose size we account separately), 4KB are enough
- * for now, but we might have to increase it in the future.
- */
-#define DOMU_DTB_SIZE 4096
-static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
+                              struct dt_device_node *node,
+                              p2m_type_t p2mt)
 {
-    int addrcells, sizecells;
-    int ret, fdt_size = DOMU_DTB_SIZE;
-
-    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
-    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
-    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
-
-    addrcells = GUEST_ROOT_ADDRESS_CELLS;
-    sizecells = GUEST_ROOT_SIZE_CELLS;
-
-    /* Account for domU passthrough DT size */
-    if ( kinfo->dtb_bootmodule )
-        fdt_size += kinfo->dtb_bootmodule->size;
-
-    /* Cap to max DT size if needed */
-    fdt_size = min(fdt_size, SZ_2M);
-
-    kinfo->fdt = xmalloc_bytes(fdt_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
+    static const struct dt_device_match skip_matches[] __initconst =
+    {
+        DT_MATCH_COMPATIBLE("xen,xen"),
+        DT_MATCH_COMPATIBLE("xen,multiboot-module"),
+        DT_MATCH_COMPATIBLE("multiboot,module"),
+        DT_MATCH_COMPATIBLE("arm,psci"),
+        DT_MATCH_COMPATIBLE("arm,psci-0.2"),
+        DT_MATCH_COMPATIBLE("arm,psci-1.0"),
+        DT_MATCH_COMPATIBLE("arm,cortex-a7-pmu"),
+        DT_MATCH_COMPATIBLE("arm,cortex-a15-pmu"),
+        DT_MATCH_COMPATIBLE("arm,cortex-a53-edac"),
+        DT_MATCH_COMPATIBLE("arm,armv8-pmuv3"),
+        DT_MATCH_PATH("/cpus"),
+        DT_MATCH_TYPE("memory"),
+        /* The memory mapped timer is not supported by Xen. */
+        DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
+        { /* sentinel */ },
+    };
+    static const struct dt_device_match timer_matches[] __initconst =
+    {
+        DT_MATCH_TIMER,
+        { /* sentinel */ },
+    };
+    static const struct dt_device_match reserved_matches[] __initconst =
+    {
+        DT_MATCH_PATH("/psci"),
+        DT_MATCH_PATH("/memory"),
+        DT_MATCH_PATH("/hypervisor"),
+        { /* sentinel */ },
+    };
+    struct dt_device_node *child;
+    int res, i, nirq, irq_id;
+    const char *name;
+    const char *path;
 
-    ret = fdt_create(kinfo->fdt, fdt_size);
-    if ( ret < 0 )
-        goto err;
+    path = dt_node_full_name(node);
 
-    ret = fdt_finish_reservemap(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
+    dt_dprintk("handle %s\n", path);
 
-    ret = fdt_begin_node(kinfo->fdt, "");
-    if ( ret < 0 )
-        goto err;
+    /* Skip theses nodes and the sub-nodes */
+    if ( dt_match_node(skip_matches, node) )
+    {
+        dt_dprintk("  Skip it (matched)\n");
+        return 0;
+    }
+    if ( platform_device_is_blacklisted(node) )
+    {
+        dt_dprintk("  Skip it (blacklisted)\n");
+        return 0;
+    }
 
-    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
-    if ( ret )
-        goto err;
+    /*
+     * Replace these nodes with our own. Note that the original may be
+     * used_by DOMID_XEN so this check comes first.
+     */
+    if ( device_get_class(node) == DEVICE_GIC )
+        return make_gic_node(d, kinfo->fdt, node);
+    if ( dt_match_node(timer_matches, node) )
+        return make_timer_node(kinfo);
 
-    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
-    if ( ret )
-        goto err;
+    /* Skip nodes used by Xen */
+    if ( dt_device_used_by(node) == DOMID_XEN )
+    {
+        dt_dprintk("  Skip it (used by Xen)\n");
+        return 0;
+    }
 
-    ret = make_chosen_node(kinfo);
-    if ( ret )
-        goto err;
+    /*
+     * Even if the IOMMU device is not used by Xen, it should not be
+     * passthrough to DOM0
+     */
+    if ( device_get_class(node) == DEVICE_IOMMU )
+    {
+        dt_dprintk(" IOMMU, skip it\n");
+        return 0;
+    }
 
-    ret = make_psci_node(kinfo->fdt);
-    if ( ret )
-        goto err;
+    /*
+     * The vGIC does not support routing hardware PPIs to guest. So
+     * we need to skip any node using PPIs.
+     */
+    nirq = dt_number_of_irq(node);
 
-    ret = make_cpus_node(d, kinfo->fdt);
-    if ( ret )
-        goto err;
+    for ( i = 0 ; i < nirq ; i++ )
+    {
+        irq_id = platform_get_irq(node, i);
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
-    if ( ret )
-        goto err;
+        /* PPIs ranges from ID 16 to 31 */
+        if ( irq_id >= 16 && irq_id < 32 )
+        {
+            dt_dprintk(" Skip it (using PPIs)\n");
+            return 0;
+        }
+    }
 
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
-    if ( ret )
-        goto err;
+    /*
+     * Xen is using some path for its own purpose. Warn if a node
+     * already exists with the same path.
+     */
+    if ( dt_match_node(reserved_matches, node) )
+        printk(XENLOG_WARNING
+               "WARNING: Path %s is reserved, skip the node as we may re-use the path.\n",
+               path);
+
+    res = handle_device(d, node, p2mt);
+    if ( res)
+        return res;
 
     /*
-     * domain_handle_dtb_bootmodule has to be called before the rest of
-     * the device tree is generated because it depends on the value of
-     * the field phandle_gic.
+     * The property "name" is used to have a different name on older FDT
+     * version. We want to keep the name retrieved during the tree
+     * structure creation, that is store in the node path.
      */
-    if ( kinfo->dtb_bootmodule )
-    {
-        ret = domain_handle_dtb_bootmodule(d, kinfo);
-        if ( ret )
-            goto err;
-    }
+    name = strrchr(path, '/');
+    name = name ? name + 1 : path;
 
-    ret = make_gic_domU_node(kinfo);
-    if ( ret )
-        goto err;
+    res = fdt_begin_node(kinfo->fdt, name);
+    if ( res )
+        return res;
 
-    ret = make_timer_node(kinfo);
-    if ( ret )
-        goto err;
+    res = write_properties(d, kinfo, node);
+    if ( res )
+        return res;
 
-    if ( kinfo->vpl011 )
+    for ( child = node->child; child != NULL; child = child->sibling )
     {
-        ret = -EINVAL;
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-        ret = make_vpl011_uart_node(kinfo);
-#endif
-        if ( ret )
-            goto err;
+        res = handle_node(d, kinfo, child, p2mt);
+        if ( res )
+            return res;
     }
 
-    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    if ( node == dt_host )
     {
-        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
-        if ( ret )
-            goto err;
-    }
+        int addrcells = dt_child_n_addr_cells(node);
+        int sizecells = dt_child_n_size_cells(node);
 
-    ret = fdt_end_node(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
+        /*
+         * It is safe to allocate the event channel here because all the
+         * PPIs used by the hardware domain have been registered.
+         */
+        evtchn_allocate(d);
 
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
+        /*
+         * The hypervisor node should always be created after all nodes
+         * from the host DT have been parsed.
+         */
+        res = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( res )
+            return res;
 
-    return 0;
+        res = make_psci_node(kinfo->fdt);
+        if ( res )
+            return res;
 
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
+        res = make_cpus_node(d, kinfo->fdt);
+        if ( res )
+            return res;
 
-    return -EINVAL;
+        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+        if ( res )
+            return res;
+
+        /*
+         * Create a second memory node to store the ranges covering
+         * reserved-memory regions.
+         */
+        if ( bootinfo.reserved_mem.nr_banks > 0 )
+        {
+            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                   &bootinfo.reserved_mem);
+            if ( res )
+                return res;
+        }
+
+        res = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                    &kinfo->shm_mem);
+        if ( res )
+            return res;
+    }
+
+    res = fdt_end_node(kinfo->fdt);
+
+    return res;
 }
 
 static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
@@ -3694,22 +2349,7 @@ static void __init find_gnttab_region(struct domain *d,
            kinfo->gnttab_start, kinfo->gnttab_start + kinfo->gnttab_size);
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
-static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 {
     unsigned int i;
     struct vcpu *v = d->vcpu[0];
@@ -3800,296 +2440,6 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
-static int __init alloc_xenstore_evtchn(struct domain *d)
-{
-    evtchn_alloc_unbound_t alloc;
-    int rc;
-
-    alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc, 0);
-    if ( rc )
-    {
-        printk("Failed allocating event channel for domain\n");
-        return rc;
-    }
-
-    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
-
-    return 0;
-}
-
-static int __init construct_domU(struct domain *d,
-                                 const struct dt_device_node *node)
-{
-    struct kernel_info kinfo = {};
-    const char *dom0less_enhanced;
-    int rc;
-    u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
-
-    rc = dt_property_read_u64(node, "memory", &mem);
-    if ( !rc )
-    {
-        printk("Error building DomU: cannot read \"memory\" property\n");
-        return -EINVAL;
-    }
-    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
-
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc != 0 )
-        return rc;
-
-    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
-           d->max_vcpus, mem);
-
-    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
-
-    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-    if ( rc == -EILSEQ ||
-         rc == -ENODATA ||
-         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
-    {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
-    }
-    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
-        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
-
-    if ( vcpu_create(d, 0) == NULL )
-        return -ENOMEM;
-
-    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
-
-    kinfo.d = d;
-
-    rc = kernel_probe(&kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-#ifdef CONFIG_ARM_64
-    /* type must be set before allocate memory */
-    d->arch.type = kinfo.type;
-#endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, node);
-    if ( rc < 0 )
-        return rc;
-#endif
-
-    /*
-     * Base address and irq number are needed when creating vpl011 device
-     * tree node in prepare_dtb_domU, so initialization on related variables
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
-    {
-        rc = domain_vpl011_init(d, NULL);
-        if ( rc < 0 )
-            return rc;
-    }
-
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
-        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    return rc;
-}
-
-void __init create_domUs(void)
-{
-    struct dt_device_node *node;
-    const struct dt_device_node *cpupool_node,
-                                *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-    dt_for_each_child_node(chosen, node)
-    {
-        struct domain *d;
-        struct xen_domctl_createdomain d_cfg = {
-            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
-            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            /*
-             * The default of 1023 should be sufficient for guests because
-             * on ARM we don't bind physical interrupts to event channels.
-             * The only use of the evtchn port is inter-domain communications.
-             * 1023 is also the default value used in libxl.
-             */
-            .max_evtchn_port = 1023,
-            .max_grant_frames = -1,
-            .max_maptrack_frames = -1,
-            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
-        };
-        unsigned int flags = 0U;
-        uint32_t val;
-        int rc;
-
-        if ( !dt_device_is_compatible(node, "xen,domain") )
-            continue;
-
-        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
-
-        if ( dt_find_property(node, "xen,static-mem", NULL) )
-            flags |= CDF_staticmem;
-
-        if ( dt_property_read_bool(node, "direct-map") )
-        {
-            if ( !(flags & CDF_staticmem) )
-                panic("direct-map is not valid for domain %s without static allocation.\n",
-                      dt_node_name(node));
-
-            flags |= CDF_directmap;
-        }
-
-        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
-            panic("Missing property 'cpus' for domain %s\n",
-                  dt_node_name(node));
-
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
-             iommu_enabled )
-            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
-
-        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-        {
-            int vpl011_virq = GUEST_VPL011_SPI;
-
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
-
-            /*
-             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
-             * set, in which case it'll match the hardware.
-             *
-             * Since the domain is not yet created, we can't use
-             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
-             * be hardcoded.
-             * The logic here shall be consistent with the one in
-             * domain_vpl011_init().
-             */
-            if ( flags & CDF_directmap )
-            {
-                vpl011_virq = serial_irq(SERHND_DTUART);
-                if ( vpl011_virq < 0 )
-                    panic("Error getting IRQ number for this serial port %d\n",
-                          SERHND_DTUART);
-            }
-
-            /*
-             * vpl011 uses one emulated SPI. If vpl011 is requested, make
-             * sure that we allocate enough SPIs for it.
-             */
-            if ( dt_property_read_bool(node, "vpl011") )
-                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         vpl011_virq - 32 + 1);
-        }
-
-        /* Get the optional property domain-cpupool */
-        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
-        if ( cpupool_node )
-        {
-            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
-            if ( pool_id < 0 )
-                panic("Error getting cpupool id from domain-cpupool (%d)\n",
-                      pool_id);
-            d_cfg.cpupool_id = pool_id;
-        }
-
-        if ( dt_property_read_u32(node, "max_grant_version", &val) )
-            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
-
-        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_grant_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_grant_frames = val;
-        }
-
-        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_maptrack_frames = val;
-        }
-
-        if ( dt_get_property(node, "sve", &val) )
-        {
-#ifdef CONFIG_ARM64_SVE
-            unsigned int sve_vl_bits;
-            bool ret = false;
-
-            if ( !val )
-            {
-                /* Property found with no value, means max HW VL supported */
-                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
-            }
-            else
-            {
-                if ( dt_property_read_u32(node, "sve", &val) )
-                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
-                else
-                    panic("Error reading 'sve' property\n");
-            }
-
-            if ( ret )
-                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
-            else
-                panic("SVE vector length error\n");
-#else
-            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
-#endif
-        }
-
-        /*
-         * The variable max_init_domid is initialized with zero, so here it's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
-         */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
-        if ( IS_ERR(d) )
-            panic("Error creating domain %s (rc = %ld)\n",
-                  dt_node_name(node), PTR_ERR(d));
-
-        d->is_console = true;
-        dt_device_set_used_by(node, d->domain_id);
-
-        rc = construct_domU(d, node);
-        if ( rc )
-            panic("Could not set up domain %s (rc = %d)\n",
-                  dt_node_name(node), rc);
-    }
-}
-
 static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
new file mode 100644
index 000000000000..868143d4f95a
--- /dev/null
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/dom0less-build.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_DOM0LESS_BUILD_H_
+#define __ARM_DOM0LESS_BUILD_H_
+
+#include <asm/kernel.h>
+
+void create_domUs(void);
+void init_staticmem_pages(void);
+bool is_dom0less_mode(void);
+int make_shm_memory_node(const struct domain *d, void *fdt, int addrcells,
+                         int sizecells, const struct meminfo *mem);
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+#endif  /* __ARM_DOM0LESS_BUILD_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 34ceddc99576..57d24976e6aa 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,11 +4,44 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+typedef __be32 gic_interrupt_t[3];
+
+int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname);
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
 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 sizecells, struct meminfo *mem);
+int make_psci_node(void *fdt);
+int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
+unsigned int get_allocation_size(paddr_t size);
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
+/*
+ * Helper to write an interrupts with the GIC format
+ * This code is assuming the irq is an PPI.
+ */
+void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
+                   unsigned int cpumask, unsigned int level);
+
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55f5..2800c3ef6f21 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -132,7 +132,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
-void create_domUs(void);
 void create_dom0(void);
 void alloc_static_evtchn(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bbf72b69aae6..44bf872bc38f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -33,6 +33,7 @@
 #include <xen/acpi.h>
 #include <xen/warning.h>
 #include <asm/alternative.h>
+#include <asm/dom0less-build.h>
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
@@ -756,30 +757,6 @@ static void __init init_pdx(void)
     }
 }
 
-/* Static memory initialization */
-static void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.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_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);
-        }
-    }
-#endif
-}
-
 /*
  * Populate the boot allocator.
  * If a static heap was not provided by the admin, all the RAM but the
@@ -1041,38 +1018,6 @@ static void __init setup_mm(void)
 }
 #endif
 
-static bool __init is_dom0less_mode(void)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-    bool dom0found = false;
-    bool domUfound = false;
-
-    /* Look into the bootmodules */
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        /* Find if dom0 and domU kernels are present */
-        if ( mod->kind == BOOTMOD_KERNEL )
-        {
-            if ( mod->domU == false )
-            {
-                dom0found = true;
-                break;
-            }
-            else
-                domUfound = true;
-        }
-    }
-
-    /*
-     * If there is no dom0 kernel but at least one domU, then we are in
-     * dom0less mode
-     */
-    return ( !dom0found && domUfound );
-}
-
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579370.907346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdo-0000gn-KA; Tue, 08 Aug 2023 08:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579370.907346; Tue, 08 Aug 2023 08: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 1qTHdo-0000gS-E5; Tue, 08 Aug 2023 08:00:32 +0000
Received: by outflank-mailman (input) for mailman id 579370;
 Tue, 08 Aug 2023 08:00:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdn-0007uw-BJ
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a2f0dd85-35c1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:00:27 +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 9A88114BF;
 Tue,  8 Aug 2023 01:01:09 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ED9B63F6C4;
 Tue,  8 Aug 2023 01: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: a2f0dd85-35c1-11ee-8613-37d641c3527e
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@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: [PATCH 4/5] xen/arm: Move static memory build code in separate modules
Date: Tue,  8 Aug 2023 09:00:09 +0100
Message-Id: <20230808080010.3858575-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move static memory and static shared memory code in separate modules
so that they are included only when the corresponding feature is
enabled, doing that we modularise the features and we remove some
ifdefs from the code to improve readability.

Move process_shm_node function from bootfdt module and make it
externally visible.

The visibility of the functions allocate_static_memory and
assign_static_memory_11 is changed during the move from the
dom0less-build module to the static-memory module, now they are
externally visible.

A static inline helper called process_shm_chosen is introduced, it
will call the process_shm function for the '/chosen' node, and will
be used by the funciton construct_dom0 instead of using directly
process_shm, allowing some #ifdef to be removed.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Makefile                     |   2 +
 xen/arch/arm/bootfdt.c                    | 161 +-----
 xen/arch/arm/dom0less-build.c             | 646 +---------------------
 xen/arch/arm/domain_build.c               |   8 +-
 xen/arch/arm/include/asm/dom0less-build.h |   7 -
 xen/arch/arm/include/asm/static-memory.h  |  50 ++
 xen/arch/arm/include/asm/static-shmem.h   |  72 +++
 xen/arch/arm/setup.c                      |   1 +
 xen/arch/arm/static-memory.c              | 294 ++++++++++
 xen/arch/arm/static-shmem.c               | 515 +++++++++++++++++
 10 files changed, 939 insertions(+), 817 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 70dd7201ef30..89ef0c9075b5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -50,6 +50,8 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
+obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1e1..fcf851b4c99b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,6 +15,7 @@
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
+#include <asm/static-shmem.h>
 
 static bool __init device_tree_node_matches(const void *fdt, int node,
                                             const char *match)
@@ -402,166 +403,6 @@ static int __init process_domain_node(const void *fdt, int node,
                                    MEMBANK_STATIC_DOMAIN);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    const struct fdt_property *prop, *prop_id, *prop_role;
-    const __be32 *cell;
-    paddr_t paddr, gaddr, size;
-    struct meminfo *mem = &bootinfo.reserved_mem;
-    unsigned int i;
-    int len;
-    bool owner = false;
-    const char *shm_id;
-
-    if ( address_cells < 1 || size_cells < 1 )
-    {
-        printk("fdt: invalid #address-cells or #size-cells for static shared memory node.\n");
-        return -EINVAL;
-    }
-
-    /*
-     * "xen,shm-id" property holds an arbitrary string with a strict limit
-     * on the number of characters, MAX_SHM_ID_LENGTH
-     */
-    prop_id = fdt_get_property(fdt, node, "xen,shm-id", NULL);
-    if ( !prop_id )
-        return -ENOENT;
-    shm_id = (const char *)prop_id->data;
-    if ( strnlen(shm_id, MAX_SHM_ID_LENGTH) == MAX_SHM_ID_LENGTH )
-    {
-        printk("fdt: invalid xen,shm-id %s, it must be limited to %u characters\n",
-               shm_id, MAX_SHM_ID_LENGTH);
-        return -EINVAL;
-    }
-
-    /*
-     * "role" property is optional and if it is defined explicitly,
-     * it must be either `owner` or `borrower`.
-     */
-    prop_role = fdt_get_property(fdt, node, "role", NULL);
-    if ( prop_role )
-    {
-        if ( !strcmp(prop_role->data, "owner") )
-            owner = true;
-        else if ( strcmp(prop_role->data, "borrower") )
-        {
-            printk("fdt: invalid `role` property for static shared memory node.\n");
-            return -EINVAL;
-        }
-    }
-
-    /*
-     * xen,shared-mem = <paddr, gaddr, size>;
-     * Memory region starting from physical address #paddr of #size shall
-     * be mapped to guest physical address #gaddr as static shared memory
-     * region.
-     */
-    prop = fdt_get_property(fdt, node, "xen,shared-mem", &len);
-    if ( !prop )
-        return -ENOENT;
-
-    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;
-    }
-
-    cell = (const __be32 *)prop->data;
-    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
-
-    if ( !size )
-    {
-        printk("fdt: the size for static shared memory region can not be zero\n");
-        return -EINVAL;
-    }
-
-    for ( i = 0; i < mem->nr_banks; i++ )
-    {
-        /*
-         * Meet the following check:
-         * 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
-         */
-        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 )
-                break;
-            else
-            {
-                printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
-                       shm_id);
-                return -EINVAL;
-            }
-        }
-        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;
-                }
-            }
-        }
-    }
-
-    if ( i == mem->nr_banks )
-    {
-        if ( i < NR_MEM_BANKS )
-        {
-            /* 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;
-            mem->bank[mem->nr_banks].size = size;
-            mem->bank[mem->nr_banks].type = MEMBANK_STATIC_DOMAIN;
-            mem->nr_banks++;
-        }
-        else
-        {
-            printk("Warning: Max number of supported memory regions reached.\n");
-            return -ENOSPC;
-        }
-    }
-    /*
-     * keep a count of the number of borrowers, which later may be used
-     * to calculate the reference count.
-     */
-    if ( !owner )
-        mem->bank[i].nr_shm_borrowers++;
-
-    return 0;
-}
-#else
-static int __init 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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 9159837924de..4ca15f2a461b 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -21,30 +21,8 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
-
-/* Static memory initialization */
-void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.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_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);
-        }
-    }
-#endif
-}
+#include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 bool __init is_dom0less_mode(void)
 {
@@ -185,624 +163,6 @@ fail:
           (unsigned long)kinfo->unassigned_mem >> 10);
 }
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
-
-    /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
-     */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
-
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
-
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
-
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
-
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
-
-    prop = dt_find_property(node, "xen,static-mem", NULL);
-
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
-
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
-
-    return 0;
-}
-
-/* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
-
-    /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
-     */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        while ( 1 )
-        {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
-
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
-        }
-
-        tot_size += psize;
-    }
-
-    kinfo->mem.nr_banks = ++gbank;
-
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
-}
-
-/*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
- */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
-
-        kinfo->unassigned_mem -= psize;
-    }
-
-    kinfo->mem.nr_banks = nr_banks;
-
-    /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem != 0 )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
-}
-#else /* !CONFIG_STATIC_MEMORY */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-#endif /* CONFIG_STATIC_MEMORY */
-
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
-{
-    unsigned int bank;
-
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.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;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
-    }
-
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
-}
-
-/*
- * This function checks whether the static shared memory region is
- * already allocated to dom_io.
- */
-static bool __init is_shm_allocated_to_domio(paddr_t pbase)
-{
-    struct page_info *page;
-    struct domain *d;
-
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
-
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        return false;
-    }
-
-    return true;
-}
-
-static mfn_t __init acquire_shared_memory_bank(struct domain *d,
-                                               paddr_t pbase, paddr_t psize)
-{
-    mfn_t smfn;
-    unsigned long nr_pfns;
-    int res;
-
-    /*
-     * Pages of statically shared memory shall be included
-     * into domain_tot_pages().
-     */
-    nr_pfns = PFN_DOWN(psize);
-    if ( (UINT_MAX - d->max_pages) < nr_pfns )
-    {
-        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
-               d, nr_pfns);
-        return INVALID_MFN;
-    }
-    d->max_pages += nr_pfns;
-
-    smfn = maddr_to_mfn(pbase);
-    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;
-    }
-
-    return smfn;
-}
-
-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)
-{
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
-           d, pbase, pbase + psize);
-
-    smfn = acquire_shared_memory_bank(d, pbase, psize);
-    if ( mfn_eq(smfn, INVALID_MFN) )
-        return -EINVAL;
-
-    /*
-     * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
-
-    /*
-     * 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
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
-     */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
-
-    return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
-}
-
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
-{
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_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++;
-
-    return 0;
-}
-
-int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                       const struct dt_device_node *node)
-{
-    struct dt_device_node *shm_node;
-
-    dt_for_each_child_node(node, shm_node)
-    {
-        const struct dt_property *prop;
-        const __be32 *cells;
-        uint32_t addr_cells, size_cells;
-        paddr_t gbase, pbase, psize;
-        int ret = 0;
-        unsigned int i;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * TODO: 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;
-        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;
-        }
-
-        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;
-            }
-
-        /*
-         * "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;
-
-        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
-         * 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,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            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;
-        }
-
-        /*
-         * 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);
-        if ( ret )
-            return ret;
-    }
-
-    return 0;
-}
-
-int __init make_shm_memory_node(const struct domain *d, void *fdt,
-                                int addrcells, int sizecells,
-                                const struct meminfo *mem)
-{
-    unsigned int i = 0;
-    int res = 0;
-
-    if ( mem->nr_banks == 0 )
-        return -ENOENT;
-
-    /*
-     * For each shared memory region, a range is exposed under
-     * the /reserved-memory node as a child node. Each range sub-node is
-     * named xen-shmem@<address>.
-     */
-    dt_dprintk("Create xen-shmem node\n");
-
-    for ( ; i < mem->nr_banks; i++ )
-    {
-        uint64_t start = mem->bank[i].start;
-        uint64_t size = mem->bank[i].size;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        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);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else /* !CONFIG_STATIC_SHM */
-int __init make_shm_memory_node(const struct domain *d, void *fdt,
-                                int addrcells, int sizecells,
-                                const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif /* CONFIG_STATIC_SHM */
-
 #ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
@@ -1516,11 +876,9 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
-#ifdef CONFIG_STATIC_SHM
     rc = process_shm(d, &kinfo, node);
     if ( rc < 0 )
         return rc;
-#endif
 
     /*
      * Base address and irq number are needed when creating vpl011 device
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2f8221590954..d9f1c3269751 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -30,6 +30,7 @@
 #include <asm/cpufeature.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-shmem.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -2444,9 +2445,6 @@ static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
     int rc;
-#ifdef CONFIG_STATIC_SHM
-    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-#endif
 
     /* Sanity! */
     BUG_ON(d->domain_id != 0);
@@ -2481,11 +2479,9 @@ static int __init construct_dom0(struct domain *d)
     allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, chosen);
+    rc = process_shm_chosen(d, &kinfo);
     if ( rc < 0 )
         return rc;
-#endif
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
     rc = gic_map_hwdom_extra_mappings(d);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 868143d4f95a..d95cb6234b62 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -8,15 +8,8 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
-#include <asm/kernel.h>
-
 void create_domUs(void);
-void init_staticmem_pages(void);
 bool is_dom0less_mode(void);
-int make_shm_memory_node(const struct domain *d, void *fdt, int addrcells,
-                         int sizecells, const struct meminfo *mem);
-int process_shm(struct domain *d, struct kernel_info *kinfo,
-                const struct dt_device_node *node);
 
 #endif  /* __ARM_DOM0LESS_BUILD_H_ */
 
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
new file mode 100644
index 000000000000..0fe193b36861
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-memory.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_MEMORY_H_
+#define __ARM_STATIC_MEMORY_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_MEMORY
+
+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,
+                             const struct dt_device_node *node);
+void init_staticmem_pages(void);
+
+#else /* !CONFIG_STATIC_MEMORY */
+
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void init_staticmem_pages(void) {};
+
+#endif /* CONFIG_STATIC_MEMORY */
+
+#endif  /* __ARM_STATIC_MEMORY_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
new file mode 100644
index 000000000000..5a8075fbee55
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-shmem.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_SHMEM_H_
+#define __ARM_STATIC_SHMEM_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_SHM
+
+int make_shm_memory_node(const struct domain *d, void *fdt, int addrcells,
+                         int sizecells, const struct meminfo *mem);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    const struct dt_device_node *node = dt_find_node_by_path("/chosen");
+
+    return process_shm(d, kinfo, node);
+}
+
+int process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                     uint32_t size_cells);
+
+#else /* !CONFIG_STATIC_SHM */
+
+static inline int make_shm_memory_node(const struct domain *d, void *fdt,
+                                       int addrcells, int sizecells,
+                                       const struct meminfo *mem)
+{
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
+}
+
+static inline int process_shm(struct domain *d, struct kernel_info *kinfo,
+                              const struct dt_device_node *node)
+{
+    return 0;
+}
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    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;
+}
+
+#endif /* CONFIG_STATIC_SHM */
+
+#endif  /* __ARM_STATIC_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 44bf872bc38f..9c1fa3f1d4ed 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -43,6 +43,7 @@
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/setup.h>
+#include <asm/static-memory.h>
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
new file mode 100644
index 000000000000..9aecdae28846
--- /dev/null
+++ b/xen/arch/arm/static-memory.c
@@ -0,0 +1,294 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-memory.c
+ *
+ * Code related to the static memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/sched.h>
+
+#include <asm/static-memory.h>
+
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].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_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);
+        }
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
new file mode 100644
index 000000000000..fd826f486e8a
--- /dev/null
+++ b/xen/arch/arm/static-shmem.c
@@ -0,0 +1,515 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-shmem.c
+ *
+ * Code related to the static shared memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+
+#include <asm/domain_build.h>
+#include <asm/static-shmem.h>
+
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.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;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * This function checks whether the static shared memory region is
+ * already allocated to dom_io.
+ */
+static bool __init is_shm_allocated_to_domio(paddr_t pbase)
+{
+    struct page_info *page;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        return false;
+    }
+
+    return true;
+}
+
+static mfn_t __init acquire_shared_memory_bank(struct domain *d,
+                                               paddr_t pbase, paddr_t psize)
+{
+    mfn_t smfn;
+    unsigned long nr_pfns;
+    int res;
+
+    /*
+     * Pages of statically shared memory shall be included
+     * into domain_tot_pages().
+     */
+    nr_pfns = PFN_DOWN(psize);
+    if ( (UINT_MAX - d->max_pages) < nr_pfns )
+    {
+        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
+               d, nr_pfns);
+        return INVALID_MFN;
+    }
+    d->max_pages += nr_pfns;
+
+    smfn = maddr_to_mfn(pbase);
+    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;
+    }
+
+    return smfn;
+}
+
+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)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
+           d, pbase, pbase + psize);
+
+    smfn = acquire_shared_memory_bank(d, pbase, psize);
+    if ( mfn_eq(smfn, INVALID_MFN) )
+        return -EINVAL;
+
+    /*
+     * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * 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
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_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++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
+{
+    struct dt_device_node *shm_node;
+
+    dt_for_each_child_node(node, shm_node)
+    {
+        const struct dt_property *prop;
+        const __be32 *cells;
+        uint32_t addr_cells, size_cells;
+        paddr_t gbase, pbase, psize;
+        int ret = 0;
+        unsigned int i;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * TODO: 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;
+        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;
+        }
+
+        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;
+            }
+
+        /*
+         * "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;
+
+        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
+         * 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,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            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;
+        }
+
+        /*
+         * 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);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+int __init make_shm_memory_node(const struct domain *d, void *fdt,
+                                int addrcells, int sizecells,
+                                const struct meminfo *mem)
+{
+    unsigned int i = 0;
+    int res = 0;
+
+    if ( mem->nr_banks == 0 )
+        return -ENOENT;
+
+    /*
+     * For each shared memory region, a range is exposed under
+     * the /reserved-memory node as a child node. Each range sub-node is
+     * named xen-shmem@<address>.
+     */
+    dt_dprintk("Create xen-shmem node\n");
+
+    for ( ; i < mem->nr_banks; i++ )
+    {
+        uint64_t start = mem->bank[i].start;
+        uint64_t size = mem->bank[i].size;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        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);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
+int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                            uint32_t size_cells)
+{
+    const struct fdt_property *prop, *prop_id, *prop_role;
+    const __be32 *cell;
+    paddr_t paddr, gaddr, size;
+    struct meminfo *mem = &bootinfo.reserved_mem;
+    unsigned int i;
+    int len;
+    bool owner = false;
+    const char *shm_id;
+
+    if ( address_cells < 1 || size_cells < 1 )
+    {
+        printk("fdt: invalid #address-cells or #size-cells for static shared memory node.\n");
+        return -EINVAL;
+    }
+
+    /*
+     * "xen,shm-id" property holds an arbitrary string with a strict limit
+     * on the number of characters, MAX_SHM_ID_LENGTH
+     */
+    prop_id = fdt_get_property(fdt, node, "xen,shm-id", NULL);
+    if ( !prop_id )
+        return -ENOENT;
+    shm_id = (const char *)prop_id->data;
+    if ( strnlen(shm_id, MAX_SHM_ID_LENGTH) == MAX_SHM_ID_LENGTH )
+    {
+        printk("fdt: invalid xen,shm-id %s, it must be limited to %u characters\n",
+               shm_id, MAX_SHM_ID_LENGTH);
+        return -EINVAL;
+    }
+
+    /*
+     * "role" property is optional and if it is defined explicitly,
+     * it must be either `owner` or `borrower`.
+     */
+    prop_role = fdt_get_property(fdt, node, "role", NULL);
+    if ( prop_role )
+    {
+        if ( !strcmp(prop_role->data, "owner") )
+            owner = true;
+        else if ( strcmp(prop_role->data, "borrower") )
+        {
+            printk("fdt: invalid `role` property for static shared memory node.\n");
+            return -EINVAL;
+        }
+    }
+
+    /*
+     * xen,shared-mem = <paddr, gaddr, size>;
+     * Memory region starting from physical address #paddr of #size shall
+     * be mapped to guest physical address #gaddr as static shared memory
+     * region.
+     */
+    prop = fdt_get_property(fdt, node, "xen,shared-mem", &len);
+    if ( !prop )
+        return -ENOENT;
+
+    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;
+    }
+
+    cell = (const __be32 *)prop->data;
+    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
+    size = dt_next_cell(size_cells, &cell);
+
+    if ( !size )
+    {
+        printk("fdt: the size for static shared memory region can not be zero\n");
+        return -EINVAL;
+    }
+
+    for ( i = 0; i < mem->nr_banks; i++ )
+    {
+        /*
+         * Meet the following check:
+         * 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
+         */
+        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 )
+                break;
+            else
+            {
+                printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
+                       shm_id);
+                return -EINVAL;
+            }
+        }
+        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;
+                }
+            }
+        }
+    }
+
+    if ( i == mem->nr_banks )
+    {
+        if ( i < NR_MEM_BANKS )
+        {
+            /* 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;
+            mem->bank[mem->nr_banks].size = size;
+            mem->bank[mem->nr_banks].type = MEMBANK_STATIC_DOMAIN;
+            mem->nr_banks++;
+        }
+        else
+        {
+            printk("Warning: Max number of supported memory regions reached.\n");
+            return -ENOSPC;
+        }
+    }
+    /*
+     * keep a count of the number of borrowers, which later may be used
+     * to calculate the reference count.
+     */
+    if ( !owner )
+        mem->bank[i].nr_shm_borrowers++;
+
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:00:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:00:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579371.907356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTHdq-0000xI-7F; Tue, 08 Aug 2023 08:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579371.907356; Tue, 08 Aug 2023 08: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 1qTHdq-0000wf-2J; Tue, 08 Aug 2023 08:00:34 +0000
Received: by outflank-mailman (input) for mailman id 579371;
 Tue, 08 Aug 2023 08:00:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/Vr=DZ=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1qTHdo-0007uw-Al
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:00:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a3ced59d-35c1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:00: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 F17F7150C;
 Tue,  8 Aug 2023 01:01:10 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 506C63F6C4;
 Tue,  8 Aug 2023 01: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: a3ced59d-35c1-11ee-8613-37d641c3527e
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	rahul.singh@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: [PATCH 5/5] arm/dom0less: introduce Kconfig for dom0less feature
Date: Tue,  8 Aug 2023 09:00:10 +0100
Message-Id: <20230808080010.3858575-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a Kconfig for the dom0less feature, enabled by default,
to be able to choose if the feature should be compiled or not.

Provide static inline stubs when the option is disabled for the
functions externally visible.

Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
code when the Kconfig is not enabled.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Kconfig                      |  9 +++++++++
 xen/arch/arm/Makefile                     |  2 +-
 xen/arch/arm/efi/efi-boot.h               |  4 ++++
 xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
 4 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 03ec1247ad4c..2fbbfd8518d4 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -86,6 +86,15 @@ config GICV2
 	  Driver for the ARM Generic Interrupt Controller v2.
 	  If unsure, say Y
 
+config DOM0LESS_BOOT
+	bool "Dom0less boot support" if EXPERT
+	depends on ARM
+	default y
+	help
+	  Dom0less boot support enables Xen to create and start domU guests during
+	  Xen boot without the need of a control domain (Dom0), which could be
+	  present anyway.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 89ef0c9075b5..5daf8f10114d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,7 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
-obj-y += dom0less-build.init.o
+obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index f24df2abb91c..bc6413d0dbfd 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -802,6 +802,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     return 1;
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 /*
  * This function checks for boot modules under the domU guest domain node
  * in the DT.
@@ -849,6 +850,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     return mb_modules_found;
 }
+#endif
 
 /*
  * This function checks for xen domain nodes under the /chosen node for possible
@@ -876,6 +878,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     {
         int ret;
 
+#ifdef CONFIG_DOM0LESS_BOOT
         if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
@@ -884,6 +887,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
                 return ERROR_DT_MODULE_DOMU;
         }
         else
+#endif
         {
             ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
                                      size_len, false);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index d95cb6234b62..859944eece16 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -8,9 +8,21 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
+#ifdef CONFIG_DOM0LESS_BOOT
+
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
+#else  /* !CONFIG_DOM0LESS_BOOT */
+
+static inline void create_domUs(void) {}
+static inline bool is_dom0less_mode(void)
+{
+    return false;
+}
+
+#endif /* CONFIG_DOM0LESS_BOOT */
+
 #endif  /* __ARM_DOM0LESS_BUILD_H_ */
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:26:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:26:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579412.907366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTI3D-00056l-9a; Tue, 08 Aug 2023 08:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579412.907366; Tue, 08 Aug 2023 08:26:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTI3D-00056e-6s; Tue, 08 Aug 2023 08:26:47 +0000
Received: by outflank-mailman (input) for mailman id 579412;
 Tue, 08 Aug 2023 08: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=KX+1=DZ=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1qTI3C-00056Y-BI
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:26:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dd1be92-35c5-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:26:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0352B622AB;
 Tue,  8 Aug 2023 08:26:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CAECC433C7;
 Tue,  8 Aug 2023 08:26: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: 4dd1be92-35c5-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1691483201;
	bh=1ijsJa2eh4p1IcCoOuBZVpoxzDn4f5UY3AUI/la7Uu8=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=z2mh4nj4UTCvyovhEk3tQD6tH0991P3wRL7uqwF0I7iL1RV1pjAIjwq6eTQ8ZJS7C
	 uyTXP7yyRpyY1wDj3M+ATiEKgwDQUeASy/5cAZe9RZlnaW/MwJ2QU2s1V92VaV74LR
	 C1TqPzCd8b4FSaY4wUlcxRcTKJ2mzBh3CYytWM/0=
Date: Tue, 8 Aug 2023 10:26:38 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Zhang Shurong <zhang_shurong@foxmail.com>, jgross@suse.com,
	xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] xen: fix potential shift out-of-bounds in
 xenhcd_hub_control()
Message-ID: <2023080845-talisman-ravage-0b58@gregkh>
References: <tencent_15DD79B42AD8A0D64A7CDC24D4FE6C85800A@qq.com>
 <2023062628-shame-ebook-56f2@gregkh>
 <4825193.GXAFRqVoOG@localhost.localdomain>
 <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>
 <2023080659-turban-exemption-1196@gregkh>
 <3481a644-1648-4fa9-86eb-2a0b86b8f47a@rowland.harvard.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3481a644-1648-4fa9-86eb-2a0b86b8f47a@rowland.harvard.edu>

On Sun, Aug 06, 2023 at 11:15:51AM -0400, Alan Stern wrote:
> On Sun, Aug 06, 2023 at 04:27:27PM +0200, Greg KH wrote:
> > On Sun, Aug 06, 2023 at 10:11:43PM +0800, Zhang Shurong wrote:
> > > åœ¨ 2023å¹´7æœˆ1æ—¥æ˜ŸæœŸå…­ CST ä¸‹åˆ11:51:43ï¼ŒZhang Shurong å†™é“ï¼
> > > > åœ¨ 2023å¹´6æœˆ26æ—¥æ˜ŸæœŸä¸€ CST ä¸‹åˆ1:52:02ï¼Œæ‚¨å†™é“ï¼
> > > > 
> > > > > On Mon, Jun 26, 2023 at 07:48:05AM +0200, Jan Beulich wrote:
> > > > > > On 25.06.2023 18:42, Zhang Shurong wrote:
> > > > > > > --- a/drivers/usb/host/xen-hcd.c
> > > > > > > +++ b/drivers/usb/host/xen-hcd.c
> > > > > > > @@ -456,6 +456,8 @@ static int xenhcd_hub_control(struct usb_hcd *hcd,
> > > > > > > __u16 typeReq, __u16 wValue,> >
> > > > > > > 
> > > > > > >  			info->ports[wIndex - 1].c_connection =
> > > > 
> > > > false;
> > > > 
> > > > > > >  			fallthrough;
> > > > > > >  		
> > > > > > >  		default:
> > > > > > > +			if (wValue >= 32)
> > > > > > > +				goto error;
> > > > > > > 
> > > > > > >  			info->ports[wIndex - 1].status &= ~(1
> > > > 
> > > > << wValue);
> > > > 
> > > > > > Even 31 is out of bounds (as in: UB) as long as it's 1 here rather
> > > > > > than 1u.
> > > > > 
> > > > > Why isn't the caller fixed so this type of value could never be passed
> > > > > to the hub_control callback?
> > > > > 
> > > > > thanks,
> > > > > 
> > > > > greg k-h
> > > > 
> > > > Although I'm not knowledgeable about the USB subsystem, I've observed that
> > > > not all driver code that implements hub_control callback performs a shift
> > > > operation on wValue, and not all shift operations among them cause
> > > > problems. Therefore, I've decided to fix this issue within each driver
> > > > itself.
> > > > 
> > > > For example, in r8a66597_hub_control, it will first check whether wValue is
> > > > valid (always < 31) before the shift operation. In case of an invalid
> > > > number, the code would execute the error branch instead of the shift
> > > > operation.
> > > > 
> > > > switch (wValue) {
> > > > case USB_PORT_FEAT_ENABLE:
> > > > 	rh->port &= ~USB_PORT_STAT_POWER;
> > > > 	break;
> > > > case USB_PORT_FEAT_SUSPEND:
> > > > 	break;
> > > > case USB_PORT_FEAT_POWER:
> > > > 	r8a66597_port_power(r8a66597, port, 0);
> > > > 	break;
> > > > case USB_PORT_FEAT_C_ENABLE:
> > > > case USB_PORT_FEAT_C_SUSPEND:
> > > > case USB_PORT_FEAT_C_CONNECTION:
> > > > case USB_PORT_FEAT_C_OVER_CURRENT:
> > > > case USB_PORT_FEAT_C_RESET:
> > > > 	break;
> > > > default:
> > > > 	goto error;
> > > > }
> > > > rh->port &= ~(1 << wValue);
> > > 
> > > Hi there. I apologize for reaching out once more. I'm feeling a bit puzzled 
> > > about what my next step should be. I'm unsure whether I should rewrite this 
> > > patch or attempt to address the issue at the caller level.
> > 
> > Try addressing it at the caller level first please.  If that somehow
> > does not work, then we will take a patch series that fixes all of the
> > host controller drivers at once.
> 
> It's not feasible to fix all the callers, because the calls can come 
> from userspace via usbfs.

It can?  Hm, that happens through the call in rh_call_control(), right?
But there, we do a bunch of validation before calling hub_control() so
why can't we do the same thing in that one place as well?  Making
invalid requests from userspace should be disallowed (or we can catch
this in the usbfs interface.)

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:27:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579416.907375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTI44-0005ce-JF; Tue, 08 Aug 2023 08:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579416.907375; Tue, 08 Aug 2023 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 1qTI44-0005cX-Gb; Tue, 08 Aug 2023 08:27:40 +0000
Received: by outflank-mailman (input) for mailman id 579416;
 Tue, 08 Aug 2023 08:27:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IVOA=DZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qTI43-0005cM-Gq
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:27:39 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ea41b1b-35c5-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:27:37 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2b95d5ee18dso82737911fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 01:27:37 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 s5-20020a2e2c05000000b002b9f9cb8e08sm2183839ljs.21.2023.08.08.01.27.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 01:27:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ea41b1b-35c5-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691483257; x=1692088057;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Y/kBOFCMeqWNBXymWnPLRcTDvKoIuo7naaa88L56UZ8=;
        b=bcr4F3DHfpaWrGKfIkX9kS2cAmjudL1x1b5dbnJlH4Jwgot4LELk74fKj0zevEa0d3
         r/cVAcatnwuYFG62dlOLgKfDXMDv734gWZsiBXm0/eSwAbr4YoXlUkT7ym1xR7ggdcxK
         0Aol3nEW/Y8Tvludkgr0kkgj8tqa2VnUws/K51Hw//3SGvLe+E2uycwOaRix8C2jL/ii
         LzO7JZN5GNyn4nq+RsIno1kesDV6cGaCRRdw16C4k27JJ+5wlV2RWEXEIum3KpfwmjXN
         Uno5cCTHDbGrNdFwC6kl8MVnF9VwpqAixEr/Xl/zSNuHFvw7Dzi47dqO0vcTHiGiyYqR
         D1BA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691483257; x=1692088057;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Y/kBOFCMeqWNBXymWnPLRcTDvKoIuo7naaa88L56UZ8=;
        b=V1WQZkMnbctACTmCLeOMMDcQZ3TH5q3OI8OsGHfNSLxEz7Y+ycfiWx3aQZ5UjGHbU9
         prnzUHwT0zc/11RIFUr+0c1XzXUpSrLYlpnM24sa0E2duJBKSQ86rD3LD+rkBED6Pe2h
         C6qhSk5eTv3hRyVlqMPGRTb/VdxzDNOwTn4evat/giFH01DtXNyP10BpaB44c3XR6oGu
         Yhl0siBxWpnzJobRFG9JVz8Olx1+beLUyeDbGJdk98DjcwZbNzfF8GXqtWD8iAkQRVPw
         LgJuuJmk6V7fus5mkfBW8e558kWwbzNcONQ8K0SJKQATXBGcNUQjg6zCsjPJ71ME6nFM
         aMvA==
X-Gm-Message-State: AOJu0YyuxgDbV/igReSIjgqy1ki3KsJrnc4XTgGM3okinsW5I3VFiTer
	T0+Z3eBIdQGmxBDhkqE9yHEbeE4JErQ=
X-Google-Smtp-Source: AGHT+IFIeGr12llUtgighl0vxr/xBnuyySw1/BAN/iigulBgV5rgr6OrUd02pPdwZRJxC7Kq0VlsSQ==
X-Received: by 2002:a2e:90d4:0:b0:2b9:cd79:8f94 with SMTP id o20-20020a2e90d4000000b002b9cd798f94mr8177618ljg.39.1691483256896;
        Tue, 08 Aug 2023 01:27:36 -0700 (PDT)
Message-ID: <c061cacec1e9079695ffc9df9a65044ae1020aeb.camel@gmail.com>
Subject: Re: [PATCH v7 2/6] xen/riscv: introduce dummy <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 08 Aug 2023 11:27:36 +0300
In-Reply-To: <b2d4db80-6719-1e8b-94ef-d839e4d6486e@suse.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
	 <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
	 <b2d4db80-6719-1e8b-94ef-d839e4d6486e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-08-07 at 11:01 +0200, Jan Beulich wrote:
> On 03.08.2023 14:05, Oleksii Kurochko wrote:
> > <xen/lib.h> will be used in the patch "xen/riscv: introduce
> > decode_cause() stuff" and requires <asm/bug.h>
>=20
> While as it stands the description is accurate, I don't think that
> later
> patch has a need to include xen/lib.h anymore. xen/macros.h will do,
> I
> think.
>=20
> Also please don't write descriptions in terms of "patches" or more
> generally future "commits". Their titles may change, they may
> disappear
> altogether, etc. Finding such a description later will end up
> confusing.
Thanks for recommendations. I'll take them into account.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:36:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579425.907389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTICO-0007C4-EK; Tue, 08 Aug 2023 08:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579425.907389; Tue, 08 Aug 2023 08:36:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTICO-0007Bx-AO; Tue, 08 Aug 2023 08:36:16 +0000
Received: by outflank-mailman (input) for mailman id 579425;
 Tue, 08 Aug 2023 08:36:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTICN-0007Br-4u
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:36:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a110124c-35c6-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:36:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB7090.eurprd04.prod.outlook.com (2603:10a6:208:19e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 08:36:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 08:36:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a110124c-35c6-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hJr6EG+EPjaG4zPV/pZvTeQUJEWy+Ys2QanSrB6OOVCfuMSMHBrtqDUYPG0hJ0CAJpc5edKe/LWrxeRTMN/NLK9B4WPBXsVh0Gx9ieNIGBYXmwruoqXlBIJYXgmFGM+/9veQrTuqGo1UwnKG/fxGS+Tcpt2hw507xRv+9mW2OEdB6lNu2c5pCZPHMWJnzysKYa3QtJKwPLrTChM95tlOF9SZ+Z/WUa7AiOc9bntTnUA4mi7SmOIzUNNa4twg+zwg8x7qT8Q24gyx3I6MiWltl7kQXb9lY0YbGtQw4lMdqoS6oG5C6V5k0krZSPFBQh44nk7cCeBjAZ/Fe0UfqSIu7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GAhpQQaSgLWIXTUHj4amqaa9+AIw6ifGrKeqoVVKn5I=;
 b=bh7drHid3/csu6PFe4j+jGQ5LozTtKoNShhW/QLyjkJQ2X6rJgu06sH4EeXgJPxtwvgOHv6NkXIzPAAxZ4N23DbjtvdKLMUMFD0YF6ZQADBHimUZ5DRIXitkgU7BvyCk3ECeixPLxCeVGvA9bTvC9ql+iKeg3toDHVEm++b14CqQlqkLwtx8lZCJ6/EUPdUx20Jc6jINjMG+P25l/LhFyIPc9lg8VIYemxaV/ZK+riBIR65VA5q/UXNf/PW1ZpyYm6eGyRQ0EVmLVf0yDemba0qpeLUGVclJ2wTs7KHOFJ6bXNkZiI0qs/6E8mjhRMyy/4rGbQM3BbNwb4xtV3Yj/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GAhpQQaSgLWIXTUHj4amqaa9+AIw6ifGrKeqoVVKn5I=;
 b=Jx+XTET9lc7QHph143leN0Xgd0G/zKQDllqDiB5E9HI0OqIbXRAdnf44tZTPgloivVdM0HvAYMPb6Sx9Fn83AFYNBzD07sMC/zQmUCx/yAcDR3C89fTZsl1SzFbi0TQOjq6wGWVQvnxFGi31ffe98TfsREO3GF4+vPhaPfOkGuseX0Inwphcwg/vmUg7fNZl9W8ibeXddMls9gfA3UOng4ncDiHZeW0REmymNPj5QpAcp6CBFGRq5NLZTxd2KIKS49JYUnC79K9dtjX5PcHz5U0qcU1TooWTsVBDTMP1OGiI14zfRntTkgbg4xFVNOoTQSP1okA4miTPX2pvuzbEdg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <61ca4a1d-2589-5794-5560-db60e10a7f15@suse.com>
Date: Tue, 8 Aug 2023 10:36:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 4/9] xen/ppc: Implement bitops.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <63b89c627948015cc9a1c1e5d1775ee9e41508ba.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <63b89c627948015cc9a1c1e5d1775ee9e41508ba.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB7090:EE_
X-MS-Office365-Filtering-Correlation-Id: c37ce1d1-e0cb-4337-bbd1-08db97ea82fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	psREk+wu81/D6ZWB3Yftp1NEa6xKYEaTitHNYO6wwLau4rWz3AtcwHUvLGDOiUFuUfV9xrMw21C45jvq+RwtlOfaPUvHuXnC1c2M6kGSopIrUdEe97uzxfdOmkiojIM2yQDLO2WUxKP0XM2H58oX+Gkrw2mxZGL25Ojow4fEeYNf+QihoIxxSp2cFNbqXTI2Ya1WuIx5T3oA5WbupLtYGrACSysl24VgA1qICRlRmgH56zWHQCZ2GBeeJeybdQdygc/r6cps4xGjq2v8D7PRyKefSCBBDgMeJphRz/3/bSDdc5nRqJZfX28Uguo06aOLckBh3Q4jSbFrnjDsmZ4P/u/Cx5rartXL9qsIxqarbgkMJBgr/utNPVfXTa13isMxVQtMZ6qCYFbi+d+yohhQSQ3K4Hprs8b53QXkLHMgqk/SQoCnBVLym2quq5OExVCN7kP8sj9JU4YdC9TndiHTnXDhuDNIeAVzSxVbfemkT6or6kV/Tp1L3fT5KM+sv3796wCm2k6pktNXY/9cIKXnEpAazeraTB2zhoCe2TZvADOABcZl1pjgrl2Qz9spc3AzCGesjEf+d8Jn1e6b0H1XvMq2SJ8+E70OR5kq8ymCay5j8kiQPT3oy08q0JZcbj1gpmH9wQdVEvoK/2YAPkcQig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199021)(186006)(1800799003)(6512007)(6506007)(26005)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(4744005)(31696002)(2906002)(6916009)(66946007)(316002)(66556008)(66476007)(8936002)(8676002)(4326008)(41300700001)(6486002)(478600001)(2616005)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDZUTUJhcnpFTzdoZzFGYjN2ZEd1QnJSc2pFYmcxVUY2SHRadEQ1djlydXhn?=
 =?utf-8?B?YnVSQWJFSlNHeXNJNGZndkVEc2haWVdjRWdIWnMwUzVrRjlDMnRaOUNwTU9a?=
 =?utf-8?B?YUhWV25raktoK3JoNXJLTGNTVG02UmhYYytKbUp4WFVTVzJZWWpQSjNoL0xR?=
 =?utf-8?B?YU1LaTl5Q0VkczNoVGtVcVpjVW1pR3JqVmNaNFl1cWE1dlEvTmc0RStRelpm?=
 =?utf-8?B?aWh6cFVpd1NDczlCM0JUNlhiMTlOdSthN1picHdGNWRoYWNpSFJ2Z3VSMHRp?=
 =?utf-8?B?dHRvb1BhMHVJMmwvZUNvS1dkb0VzV1ZSN0ZZdEVjeFRSdEs2dExVUC9ocFNv?=
 =?utf-8?B?dFhqWFl3Vjl5TGhOSDRPdVc3aTJXT3NXOFN1b1cxYWkwbEFUWTNFWEJ3QVE0?=
 =?utf-8?B?WTFoSnhFT0pBMFBxaFhIZUJjQnFYY0NwdmFXTGtjWUtmQWxRWHdPeGtWQm0y?=
 =?utf-8?B?SWZadzAyYVZsQVRYZW5ubURyOUpnSkVDVVQrM2k2QzI1Z2Fhb0l5dmpJV2NT?=
 =?utf-8?B?ZlVoVENpUERSdkpUOURPdGFBYlZpSDJiQWhROHlWYWI1Q0hBbFpuZjBZVXJF?=
 =?utf-8?B?YzJSS0ZRZTdPcTI0N2RrdGVOQ1lkSWNOVUM5NlRNTmtlSytqc0ZodW5heHhj?=
 =?utf-8?B?SzVJaWpCSm5RTFljUTI5OUVPcllQSUUxL0JMdUlJa0grSTUzUDdiTTZKeWE5?=
 =?utf-8?B?U1Y3MDZJWnJWZGhiRllZN1IxVzJCNVAxQjBqSmY5ZVNKTmxNcjBNVnd1c2l0?=
 =?utf-8?B?SUlzb3lhU3h2ZzN2bTdpSjdBZUQwWjFJSjJMdTBndVVzL1BWMHNSc2o0Y3pl?=
 =?utf-8?B?eWJjV3ZtVy90Q3Zvc1pIZkNmTlEzeWNFWmJYb01WT3BYWEhHc1QxbUtOd3R3?=
 =?utf-8?B?dHNMaUVyYlBKU2pNS3BKSXFEdTEveTNHSFBrQmphc2xhNWRPaUZPNCtqQTB5?=
 =?utf-8?B?MFB6NXhqT0NBWXpmWGp5UW1ZbklHRzdRcGVEbEhaelJsN3NtUXByZ3lzM2NJ?=
 =?utf-8?B?MU50TSt0MlNMR1BhdzBUZ1g4SUtJeHhTL1MvRFRZU2NVU3NjR1FvN21FZ2JB?=
 =?utf-8?B?Sko0STNOeXRJaDloT3MzQk5HSzFSdUN1N2dObWl1aFBDZzJHQmpraVMyMkFS?=
 =?utf-8?B?SWZhTWhDaGtYSTBTUEZLWkFLQ1NwZVcyMy9LVmtnSlFvRE9aSTZjUXNzUC9r?=
 =?utf-8?B?YVpoU0RVNjVwaURZM1pzRkM1UUtVSWcxMjh0dHhZVGJPY281TFI3OFg1ZzNr?=
 =?utf-8?B?WVlzbjhvZndEcUlsdHdmdEFaNlJNUzBaSHBKM1VQSmtjcngrTVVMQzJXTm1C?=
 =?utf-8?B?SU9FbDBMM0VyMjVsa3hUaEczM21NRE1hUFA0SGRyd1Ntdkwwa29pU1pxQXUv?=
 =?utf-8?B?dUF6U2RBVEdzMmpmN1dnTXp3MVJHbHQ3OTY4WGtpb1JBYk5QYnJ1dTFMdUh6?=
 =?utf-8?B?TUwreXVReVVWaVJTVGNmQTNIL0JVdnlQVG1tQkoxQ0ZTdEJxV3FuRG9aSGdR?=
 =?utf-8?B?NzlPQThYUVFYSDhNdGVpUmV6Wm5TVHJuYnVXbE9LOUdDN25IUlJGWEE5YXoy?=
 =?utf-8?B?TjkzTm00bnpidWFTdUd1Vk9vRmkrbUhGZHgxcFl2SmdzT200RzhQb1RhbE03?=
 =?utf-8?B?VTRGamkxeFk3bTVZRWREQVM5UFdqeGc5L1JZY094ZlRjU2dxNEFpNVRYZlNN?=
 =?utf-8?B?Zm9leFVBbGNtNFZvWVVYUzVySFAvT2tYS3l2V3JhaUYrRkdyLzZjSWhabDhC?=
 =?utf-8?B?aWE5ZW5YNUh3ZDFWdDdXVmNhTXBVeGVsTlZpdEg4WlF1WjM5RXp4citpbHRj?=
 =?utf-8?B?dEt2bEZEdmxELzhzbGdIUGFHeTBPK2dXc3ByYUMyRk1oeHliNDNmZ0NKL0RO?=
 =?utf-8?B?SlFhUDhPOWZ4L05zaXlFQ1QyZ05JMUhNSVZ2Wi9SaEhvdTZRNFhSTUhBVWFi?=
 =?utf-8?B?YXk2MzFDTDY3T2FnYWdSdGRlTHEvM0ZIUDZOLzVXbDdOUVZBVnhSZll1OS9w?=
 =?utf-8?B?QWNyWkd0dUY5VHpnQXQyeWI4MXkrUWxJTHpIOVI2Sk1Zb1ZiMUVBQVFYMysz?=
 =?utf-8?B?K2ZSOHlnNERLREl3ZzVZb2VuRForZDZwdlV3OG1OVXpRNmxmS2NqMmlHTHRi?=
 =?utf-8?Q?5L5GuvGixs0pywD9HSBDdRsv0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c37ce1d1-e0cb-4337-bbd1-08db97ea82fa
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 08:36:08.0723
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p15Ckc0JoXYTowZM5iDSFzb2qvaCVv9nM9GE8KyRu9uYVwTU6xD59sFruR7msnIppEPDnQ6UKY0McVt6yH2Dpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7090

On 03.08.2023 01:03, Shawn Anastasio wrote:
> Implement bitops.h, based on Linux's implementation as of commit
> 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc

But with PPC32 bits dropped afaics, and with leading hard tabs replaced
by four spaces - which in turn appears to yield some unhelpful placement
of line-continuing backslashes. And with some
asm-generic/bitops/builtin-*.h expanded. Please mention all adjustments
you made, to allow for some future importing of updates to go as
smoothly as possible.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:43:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579431.907398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIJa-0000EO-4u; Tue, 08 Aug 2023 08:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579431.907398; Tue, 08 Aug 2023 08:43:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIJa-0000EH-1n; Tue, 08 Aug 2023 08:43:42 +0000
Received: by outflank-mailman (input) for mailman id 579431;
 Tue, 08 Aug 2023 08:43: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 1qTIJY-0000E7-82; Tue, 08 Aug 2023 08:43: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 1qTIJY-0006IN-0m; Tue, 08 Aug 2023 08:43: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 1qTIJX-0008MV-DV; Tue, 08 Aug 2023 08:43:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTIJX-0004xy-D2; Tue, 08 Aug 2023 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=umfJOw8fzLOkld/T1GdaQ5L5FuppztZ2vYPHqLh8Tdc=; b=XJAXDFtA65ihKmBu9F3c6s9j/6
	jITS3iA/2Ni2VPVYE5WlZoyg4E/Ze9JfBmimd8Wd72suUKRxfHqc4sMIXRwASNMoKTX+9r5PaY1Gi
	3RTTFWCKPZMge5i2YK90NHWaGcX1oGtOfBOZguztxt3iEZyTTHKAIOEnOyq6U5AMXpsk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182222-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182222: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=e0e5dca517a5964d407f48bdfccbea88113b2736
X-Osstest-Versions-That:
    qemuu=9400601a689a128c25fa9c21e932562e0eeb7a26
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 08:43:39 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                e0e5dca517a5964d407f48bdfccbea88113b2736
baseline version:
 qemuu                9400601a689a128c25fa9c21e932562e0eeb7a26

Last test of basis   182208  2023-08-07 01:39:59 Z    1 days
Testing same since   182222  2023-08-07 20:38:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Klaus Jensen <k.jensen@samsung.com>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   9400601a68..e0e5dca517  e0e5dca517a5964d407f48bdfccbea88113b2736 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:47:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:47:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579440.907410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIMw-0000u8-PO; Tue, 08 Aug 2023 08:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579440.907410; Tue, 08 Aug 2023 08:47:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIMw-0000u1-LG; Tue, 08 Aug 2023 08:47:10 +0000
Received: by outflank-mailman (input) for mailman id 579440;
 Tue, 08 Aug 2023 08:47:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VzHb=DZ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qTIMv-0000tv-0m
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:47:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 271fb911-35c8-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:47:06 +0200 (CEST)
Received: from [192.168.1.15] (host-79-35-203-138.retail.telecomitalia.it
 [79.35.203.138])
 by support.bugseng.com (Postfix) with ESMTPSA id AB9714EE0737;
 Tue,  8 Aug 2023 10:47: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: 271fb911-35c8-11ee-8613-37d641c3527e
Message-ID: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
Date: Tue, 8 Aug 2023 10:47:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Subject: MISRA violations in hypercall-defs
Organization: BUGSENG srl
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: jgross@suse.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone.

I would like to to ask your opinion about the auto-generated file
xen/include/xen/hypercall-defs.h which contains some violations of
MISRA C:2012 Rule 8.3:
"All declarations of an object or function shall use the same names and
type qualifiers".

Such violations can be seen at the following links
(copy and paste the link on you browser, including also the characters
after the '#'):

- arm
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}

- x86
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}

Some of the violations are due to mismatches on the return types
and the use of `ret_t`.
I see that xen/include/hypercall-defs.c generates the declarations
but I am not sure about what might be the best way to modify it
so as to address violations with the least amount of changes.
Do you have any suggestions?

Regards
-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:48:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579446.907418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIOa-0001Tt-2R; Tue, 08 Aug 2023 08:48:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579446.907418; Tue, 08 Aug 2023 08:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIOZ-0001Tm-W6; Tue, 08 Aug 2023 08:48:51 +0000
Received: by outflank-mailman (input) for mailman id 579446;
 Tue, 08 Aug 2023 08:48:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IVOA=DZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qTIOY-0001Te-Lu
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:48:50 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64c7b750-35c8-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:48:49 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2b9cdbf682eso82908921fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 01:48:49 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y15-20020a2e978f000000b002b6c56fe862sm2143390lji.63.2023.08.08.01.48.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 01:48: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: 64c7b750-35c8-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691484529; x=1692089329;
        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=Xeyk9j8uv9IEWoHvsDNlnRdPsM1L1t/cJx4iovXa6Cw=;
        b=hbm4+6WZyNd22/aR7q1VUxf3J4RtUAIX+IZfx6nrZ2RxmTLFC5IhQQSFd6Xaqekqv9
         KHaq1b/TNO39Va9ajYlzia0O5C6f/mNHpsvL/iA0EmPXqwG/5TV4VuapiGigJV8p7WEs
         NZ9aA/qnPpRhaXCAjL+LwAulfkWlo8Bi3yqJOGetOt8enY1IjRw/dbsqVgQaBn5Ko11/
         cmiXPpjW8fZJCp5sO8qr0S0FQN2hmfUuQoQw4bBaggCrog3Ho0jOafE5/4PUinZ2Kv6A
         uyVQnrPrL16zi23sepQOYqobMjOUCUHQl/h9lALoxeWYit63JVpdOzA4c5P+Lo4GYpAR
         Iaaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691484529; x=1692089329;
        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=Xeyk9j8uv9IEWoHvsDNlnRdPsM1L1t/cJx4iovXa6Cw=;
        b=YOCw+7yVFNL+qh7pWWGrJbl8Srkb7xTVcLs0YjdIWzKQhrDnOhg0wbmPCd7DGipU93
         hCgHPFhsAWbDKKn58zp0Ruy9xXanm5rzf261GClRMl6w2YNX6dH1lKKJ0+UwDMiwSM4d
         rZDzdwFaFmpiDS3FqFzlw+lZDVgMGNpj+8HEySjd8ijyNik1FEk9qUDcR81LQLrF1a/F
         AKaq8FgpoCKFyuSNt64XapOWBbnTerzb4Xon3h+uoiebGNyvQt1jyxGQY5U+hmHzzLCD
         PafOnvTfn3ErhB4sQDXbeiP/Mk+NP6j2XghLnAoF6/oWR5LTU0sv0PCtsoprRg/8zG7S
         YYuw==
X-Gm-Message-State: AOJu0YwBaNwFuPvNLTJ7U1QxRwQSEyMnkphB+kgv31zF59Ur83wb4pD2
	rJU9R56h4TIdWM7pTj6DFRk=
X-Google-Smtp-Source: AGHT+IGHFaT9cExJYQOkXw2FUwPED/U1cRarZnRifSNetksyPjjKE7QeHrhbz7uPJslDOUiac1x+0Q==
X-Received: by 2002:a2e:9254:0:b0:2b6:da1e:d063 with SMTP id v20-20020a2e9254000000b002b6da1ed063mr7670245ljg.45.1691484528946;
        Tue, 08 Aug 2023 01:48:48 -0700 (PDT)
Message-ID: <b31d2838bb331c216348ae478e7841d7bce48a88.camel@gmail.com>
Subject: Re: [PATCH v7 5/6] xen/riscv: introduce an implementation of macros
 from <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 08 Aug 2023 11:48:47 +0300
In-Reply-To: <8098e465-d25c-7fe4-dd97-2f44a689c9a6@suse.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
	 <9fdda7716faf412f1e2cdf9a990c98e64c4b21f3.1691063432.git.oleksii.kurochko@gmail.com>
	 <8098e465-d25c-7fe4-dd97-2f44a689c9a6@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-08-07 at 15:29 +0200, Jan Beulich wrote:
> On 03.08.2023 14:05, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -5,6 +5,8 @@
> > =C2=A0 * RISC-V Trap handlers
> > =C2=A0 */
> > =C2=A0
> > +#include <xen/bug.h>
> > +#include <xen/errno.h>
> > =C2=A0#include <xen/lib.h>
> > =C2=A0
> > =C2=A0#include <asm/csr.h>
> > @@ -12,6 +14,8 @@
> > =C2=A0#include <asm/processor.h>
> > =C2=A0#include <asm/traps.h>
> > =C2=A0
> > +#define cast_to_bug_frame(addr) ((const struct bug_frame *)(addr))
> > +
> > =C2=A0/*
> > =C2=A0 * Initialize the trap handling.
> > =C2=A0 *
> > @@ -101,7 +105,131 @@ static void do_unexpected_trap(const struct
> > cpu_user_regs *regs)
> > =C2=A0=C2=A0=C2=A0=C2=A0 die();
> > =C2=A0}
> > =C2=A0
> > +void show_execution_state(const struct cpu_user_regs *regs)
> > +{
> > +=C2=A0=C2=A0=C2=A0 printk("implement show_execution_state(regs)\n");
> > +}
> > +
> > +/*
> > + * TODO: generic do_bug_frame() should be used instead of current
> > + * implementation panic(), printk() and find_text_region()
> > + * (virtual memory?) will be ready/merged
> > + */
> > +int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
> > +{
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *start, *end;
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > +=C2=A0=C2=A0=C2=A0 unsigned int id =3D 0;
>=20
> Pointless initializer.
Agree. Thanks. I'll remove it.

>=20
> > +=C2=A0=C2=A0=C2=A0 const char *filename, *predicate;
> > +=C2=A0=C2=A0=C2=A0 int lineno;
> > +
> > +=C2=A0=C2=A0=C2=A0 static const struct bug_frame *bug_frames[] =3D {
>=20
> You likely want another const here.
Yes, I will add it.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_0[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_1[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_2[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_3[0],
> > +=C2=A0=C2=A0=C2=A0 };
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 start =3D cast_to_bug_frame=
(bug_frames[id]);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 end=C2=A0=C2=A0 =3D cast_to=
_bug_frame(bug_frames[id + 1]);
>=20
> Why these casts (and then even hidden in a macro)? The array elements
> look to already be of appropriate type.
There is no any sense for these casts. It looks like that before
bug_frames array has a different type.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while ( start !=3D end )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if =
( (vaddr_t)bug_loc(start) =3D=3D pc )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 bug =3D start;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 goto found;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sta=
rt++;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > + found:
> > +=C2=A0=C2=A0=C2=A0 if ( bug =3D=3D NULL )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOENT;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(const struct cpu=
_user_regs *) =3D bug_ptr(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto end;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 /* WARN, BUG or ASSERT: decode the filename pointer=
 and line
> > number. */
> > +=C2=A0=C2=A0=C2=A0 filename =3D bug_ptr(bug);
> > +=C2=A0=C2=A0=C2=A0 lineno =3D bug_line(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0 switch ( id )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen WARN at %s:%d\n=
", filename, lineno);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto end;
> > +
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen BUG at %s:%d\n"=
, filename, lineno);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("change wait_for_int=
errupt to panic() when common
> > is available\n");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 die();
> > +
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode the predi=
cate string pointer. */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug_msg(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Assertion %s failed=
 at %s:%d\n", predicate,
> > filename, lineno);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("change wait_for_int=
errupt to panic() when common
> > is available\n");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 die();
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > +
> > + end:
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +static bool is_valid_bugaddr(uint32_t insn)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return insn =3D=3D BUG_INSN_32 ||
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (insn & C=
OMPRESSED_INSN_MASK) =3D=3D BUG_INSN_16;
> > +}
>=20
> Why "addr" in the name when this takes an insn as argument?
In the earliest patch series it was an address. But now it should be
changed. Thanks.
>=20
> > +/* Should be used only in Xen code ? */
>=20
> What is this question about? With ...
I meant that it's not safe to use in guest code.

>=20
> > +static uint32_t read_instr(unsigned long pc)
> > +{
> > +=C2=A0=C2=A0=C2=A0 uint16_t instr16 =3D *(uint16_t *)pc;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( GET_INSN_LENGTH(instr16) =3D=3D 2 )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return (uint32_t)instr16;
>=20
> (I don't think this cast is needed.)
>=20
> > +=C2=A0=C2=A0=C2=A0 else
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return *(uint32_t *)pc;
> > +}
>=20
> ... there still being a double read here, do you perhaps mean to
> make a statement (that this code isn't safe to use on guest code)?
I wonder if it'll be safe to read 16 bytes at a time then we won't have
double read ( if you meant that first 16 bytes are read twice ):

static uint32_t read_instr(unsigned long pc)
{
    uint16_t instr16 =3D *(uint16_t *)pc;

    if ( GET_INSN_LENGTH(instr16) =3D=3D 2 )
        return (uint32_t)instr16;
    else{
        // return *(uint32_t *)pc;

        uint16_t next_16 =3D *((uint16_t *)pc + 1);
        return ((uint32_t)instr16 << sizeof(instr16)) + next_16;
    }
}
>=20
> > =C2=A0void do_trap(struct cpu_user_regs *cpu_regs)
> > =C2=A0{
> > +=C2=A0=C2=A0=C2=A0 register_t pc =3D cpu_regs->sepc;
> > +=C2=A0=C2=A0=C2=A0 uint32_t instr =3D read_instr(pc);
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( is_valid_bugaddr(instr) )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !do_bug_frame(cpu_regs=
, pc) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cpu=
_regs->sepc +=3D GET_INSN_LENGTH(instr);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0 do_unexpected_trap(cpu_regs);
> > =C2=A0}
>=20

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:51:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579453.907432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIR2-0002vU-I7; Tue, 08 Aug 2023 08:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579453.907432; Tue, 08 Aug 2023 08: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 1qTIR2-0002vN-EA; Tue, 08 Aug 2023 08:51:24 +0000
Received: by outflank-mailman (input) for mailman id 579453;
 Tue, 08 Aug 2023 08:51:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=psPu=DZ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qTIR1-0002vH-IH
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:51:23 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be8e1956-35c8-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:51:21 +0200 (CEST)
Received: from SJ0PR03CA0111.namprd03.prod.outlook.com (2603:10b6:a03:333::26)
 by DM4PR12MB5133.namprd12.prod.outlook.com (2603:10b6:5:390::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 08:51:11 +0000
Received: from CO1PEPF000042AB.namprd03.prod.outlook.com
 (2603:10b6:a03:333:cafe::a2) by SJ0PR03CA0111.outlook.office365.com
 (2603:10b6:a03:333::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Tue, 8 Aug 2023 08:51:15 +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.6652.19 via Frontend Transport; Tue, 8 Aug 2023 08:51: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.27; Tue, 8 Aug
 2023 03:51:14 -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.27
 via Frontend Transport; Tue, 8 Aug 2023 03:51: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: be8e1956-35c8-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OZADm3QZPm9kXFgl+5vip5eDaY/WxIebd0+dBAcyUQMI/P6qFkjvSCbPo2HSJrSfLRIcU0Lx9TpuuASGsi2KYI/0ihcJkkXCCE9hPlZFjwd8qDQNFP+VFPDkEs9NhWQoiP9mrrGKK/v/V9bfPp95zFezkXfDPA+VLm6XNXaKNJlh3mBBXoYuD3wFvgjHsNzuIeFBZTikPt/UNU4es6ClHX/VyROYqEFSxjW4HRx5VY84SxUu7fi4dL+0t3a08zaRCZyl1KVT/uWSTVK0retABdg45iKj3rGkdozi9MG/C3KHmdywEPt/w0uhnsekQcQClPXjmDxDXDeCMeyGINRXGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pE2YST4ruG9R8GnmQ8+4KZbvCk2XZ3h2oHzBJBNFzrc=;
 b=UhScKq5cwgJjEwe0rGDBNF+kOBAOp+gtIGkW4Of0V1v0VHBEVsexPtEhYOjm5naQWf8ejLXUTFua37dMy110O/uuAnMHci0UobT60bZdUqpMGV4q6QodphX5whfxzwokJ413qgLZMlf8rVMl768H8PV/7PDX6/OkM74HrC7ud/3H9zYYjkBklk+lCplT719+UnXy8W2dBjIMrhRlB0NCvuYTRdc/9cQclEi+nlp236bC8cdtoFF/MdcN1yxGtZDcseUAFUJUytS6gM0tcQAeIF/LPf3UHIYlpVYPuLgFeKMZPkR9d0KB/AcgVsm+oOVh5jptLeusEIfjcpEqb3Vdew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pE2YST4ruG9R8GnmQ8+4KZbvCk2XZ3h2oHzBJBNFzrc=;
 b=pNECnW5xPOP7vWkthaWftm3RwLAE6URuf2/EmqeFQQHXK72cbYXRB29GWyQyiYN6uPLvjLCz6SCRU2C+tpc3zcxQZ3Lmi3FM7acNk/ikH6rHnW8VGb5+wQkekewIbxAa7IvAxW7pcr6yzlPADjdfjTsVQYFgvLFRKI6P/Bisr1U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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] automation: Fix missing smoke.serial in artifacts of qemu arm32 jobs
Date: Tue, 8 Aug 2023 10:50:59 +0200
Message-ID: <20230808085059.13112-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: CO1PEPF000042AB:EE_|DM4PR12MB5133:EE_
X-MS-Office365-Filtering-Correlation-Id: 88153766-55c6-42ee-ef97-08db97ec9fe4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R76gCFZeY5wJF+pMmdKA6F0hJGTPTHTtzv2h4VWaSu//QUZwCLXt5ixWWcf8/6iK0spLZtoVDHcDexUaJx4Xl+hraMmRmc4B3zRirAQ+hQVahvJgGGEatt06W+JD/gpFV8Oy1YLZ3bS41Hg/VPXYaXqWDMCiVe+RIH3DMnoqb+u7WP0Jz4fnUS0foMmU495dusV3FQmeEjKObHc2L0v+78ShV8yLzw7LwAPn5grU8ObyCKb/ow2iQDTlhffzfVYe/eU/g/Pay+q+bPIdy2BEVsUtd+2X+MTzrVjN9EnEsBHoKvR2vEtmS/VIramuYxN3CIzBO3ZDvFoEVhGbiqXm5hQxnqlaZoR1VvmrZPwggJC1jVa8Nw3gkQ47IKJbPHIWw+9BmdaCZRYsk8MAwpd5eH7FOqpvauQDgyuPQ2eK+o8bmllQ/ue5a0GSxvMp6Lq/Cer30vaFQeyR39bUWdLSUzrsBS23FNmThgyDXpO3lH5vwVl2jlc6g7Jaa/GcWqvs6DeseF27wskrritdBiGIu6ePDnXBA4snu0TBwDeFpGQu9tvOJ4CRrxxRYZnjsPqe17nuQ6JiHcMXsnOomTxQ3CE2mFrOtZo1PScRG7H4ar5mTmq1VgAyziYDIoUTJ1+wg2FDA0DZtf+b6+ddCR6aXu6qHd4qE9NtzWOjRIi9+i/+TuhkHW6VINsw2FrLFfpQ2eLUVYO9RtUIW3A7hkeaFehfHT+FTpNC8+bMzhw+gcKLhPdiZpnqw5teqVfv/jrjrH2hbLNDTeSQi10hOdd6bA==
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:(13230028)(4636009)(396003)(39860400002)(346002)(376002)(136003)(82310400008)(451199021)(1800799003)(186006)(46966006)(40470700004)(36840700001)(47076005)(83380400001)(426003)(36860700001)(40480700001)(316002)(41300700001)(70586007)(70206006)(6916009)(44832011)(4326008)(1076003)(8936002)(8676002)(26005)(6666004)(5660300002)(966005)(478600001)(54906003)(86362001)(2616005)(40460700003)(356005)(81166007)(36756003)(336012)(82740400003)(2906002)(36900700001)(139555002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 08:51:15.2307
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 88153766-55c6-42ee-ef97-08db97ec9fe4
X-MS-Exchange-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: DM4PR12MB5133

It was observed that smoke.serial file (used to store boot logs) is
missing in artifacts of qemu based arm32 jobs. This is because the
artifacts:paths listing smoke.serial specifies paths relative to the
project directory but the qemu-smoke-dom0{less}-arm32.sh scripts create
this file under binaries/. Fix it so that smoke.serial gets created in
project directory just like for every other test job.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/scripts/qemu-smoke-dom0-arm32.sh     | 8 +++++---
 automation/scripts/qemu-smoke-dom0less-arm32.sh | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh
index 2c80df089f23..e6f303064a83 100755
--- a/automation/scripts/qemu-smoke-dom0-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
@@ -2,6 +2,8 @@
 
 set -ex
 
+serial_log="$(pwd)/smoke.serial"
+
 cd binaries
 
 mkdir rootfs
@@ -74,7 +76,7 @@ rm -rf imagebuilder
 git clone https://gitlab.com/ViryaOS/imagebuilder
 bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
 
-rm -f smoke.serial
+rm -f ${serial_log}
 set +e
 echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
 timeout -k 1 720 \
@@ -89,8 +91,8 @@ timeout -k 1 720 \
    -no-reboot \
    -device virtio-net-pci,netdev=n0 \
    -netdev user,id=n0,tftp=./ \
-   -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial
+   -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log}
 
 set -e
-(grep -q "Domain-0" smoke.serial && grep -q "^/ #" smoke.serial) || exit 1
+(grep -q "Domain-0" ${serial_log} && grep -q "^/ #" ${serial_log}) || exit 1
 exit 0
diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
index cc91238f4222..fb8f044a51f6 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
@@ -7,6 +7,8 @@ test_variant=$1
 # Prompt to grep for to check if dom0 booted successfully
 dom0_prompt="^/ #"
 
+serial_log="$(pwd)/smoke.serial"
+
 cd binaries
 # Use the kernel from Debian
 curl --fail --silent --show-error --location --output vmlinuz https://deb.debian.org/debian/dists/bullseye/main/installer-armhf/current/images/netboot/vmlinuz
@@ -120,7 +122,7 @@ git clone https://gitlab.com/ViryaOS/imagebuilder
 bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
 
 # Run the test
-rm -f smoke.serial
+rm -f ${serial_log}
 set +e
 echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
 timeout -k 1 240 \
@@ -135,8 +137,8 @@ timeout -k 1 240 \
     -no-reboot \
     -device virtio-net-pci,netdev=n0 \
     -netdev user,id=n0,tftp=./ \
-    -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial
+    -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log}
 
 set -e
-(grep -q "${dom0_prompt}" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+(grep -q "${dom0_prompt}" ${serial_log} && grep -q "${passed}" ${serial_log}) || exit 1
 exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:52:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:52:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579459.907441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTISI-0003U0-S3; Tue, 08 Aug 2023 08:52:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579459.907441; Tue, 08 Aug 2023 08:52:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTISI-0003Tt-PG; Tue, 08 Aug 2023 08:52:42 +0000
Received: by outflank-mailman (input) for mailman id 579459;
 Tue, 08 Aug 2023 08: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=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTISH-0003Tj-ER
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:52:41 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec2d3a1c-35c8-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 10:52: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: ec2d3a1c-35c8-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691484758;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=uFJS4zUP1wrl2GtEuegrig1oYvjn3Yx0XvzdioJ2fk8=;
  b=bqHHOp3+NpBDKCELRRSo/q9nOU97RKtzgDe13wE8apeqKr85DfRt0SIA
   GinQiASs1ZYozis/GCR2OX52I7b+IB1zTb//Oc631RD1ZeKUMNzZgenH9
   mM+blK+Bn4xN+UfANLbDLyMx4MeEaRO6009mGluPXNG4AYfiIkbnmXAYX
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119255927
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:mUv5+aiaklxVgh80srR2N/CIX161lhAKZh0ujC45NGQN5FlHY01je
 htvWTuDbvyOYjDyLo9zbtvgo08C6pXcyIJkQAtk/y9hRXwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AeBzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQHKCIdXzq6vN6G0bu3UulLqZohNPbSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27B/
 zOcojmoWE5y2Nq3kheM0Finvev2jz7XQdI0Ba2ayvNyuQjGroAUIEJPDgbqyRWjsWa8UtRTM
 V0J+QIhqKEz8AqgSdyVdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOq8seVTEsk
 FiTkLvBBzN1t6aOYWmA7brSpjS3UQAXJ2IfYS4PTSMe/sLu5oo0i3rnTMtnEaOzps34H3f32
 T/ihDMlm7wZgMoP1qO61VPKmTShot7OVAFdzgzPU3is9A9ReI+vbIvu4l/ehcusN67AEAPH5
 iJd3ZHDsqZXV8rleDGxrPslA7G798evCQbgsU9mE4Eh0Bvz+WacRNUFiN1hH3tBPsEBcD7vR
 UbcvwJN+ZNeVEeXgb9Lj5GZUJpzk/W5fTjxfrWNN4cVPMAtHOOS1Hs2DXN8yVwBh6TFfUsXH
 Z6AOfihAn8BYUiM5GrnHrxNuVPHK81X+I8yeXwZ507/uVZ9TCTPIVvgDLdpRr5R0U98iF+Jm
 +uzzuPTo/mlbMXwYzPM7akYJk0QIH4wCPje8pIGL7LYeVA3RDF4W5c9JI/NnKQ/xsxoehrgp
 CnhCie0NnKg7ZE4Fel6Qi86M+6+NXqOhXk6ITYtLT6VN4sLOO6SAFMkX8JvJ9EPrbUzpcOYu
 tFZI61s9NwTEGWYk9ncBLGhxLFfmOOD31/Xbnr/PmZjJ/aNhWXho7fZQ+cmzwFWZgLfiCf0i
 +fIOt/zKXbbezlfMQ==
IronPort-HdrOrdr: A9a23:RR3PT6wZp8TSTgA3HOhvKrPwDL1zdoMgy1knxilNoH1uA6ulfq
 WV98jzuiWVtN98YgBCpTniAtjjfZq/z/FICOAqVN+ftWHdyQ2Vxa5ZjLcKqAeQfxEWmNQtsJ
 uINJIVNPTASXh8kOP95hDheuxP/PC3tICumMLZyW5GSx1sdvoI1WtE4wCgf3FLeA==
X-Talos-CUID: 9a23:hY2VXmxsOfseVU564wUcBgULGtI1Q1fk90vgMka0EWZOZ+OXUWCprfY=
X-Talos-MUID: 9a23:BBXsmgno0I4VDVabWskadno5Gc5Kya+VDHkfjLkf6++VJQ5MNi+k2WE=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="119255927"
Date: Tue, 8 Aug 2023 09:52:26 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v8 04/15] xen/sysctl: Nest cpufreq scaling options
Message-ID: <70f310ae-5007-45dc-b0a8-dbf20be59747@perard>
References: <20230807185119.98333-1-jandryuk@gmail.com>
 <20230807185119.98333-5-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230807185119.98333-5-jandryuk@gmail.com>

On Mon, Aug 07, 2023 at 02:51:08PM -0400, Jason Andryuk wrote:
> diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
> index c3a9864bf7..5ec050982a 100644
> --- a/tools/libs/ctrl/xc_pm.c
> +++ b/tools/libs/ctrl/xc_pm.c
> @@ -245,6 +245,45 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>      sys_para->freq_num = user_para->freq_num;
>      sys_para->gov_num  = user_para->gov_num;
>  
> +    /* Sanity check struct layout */
> +    BUILD_BUG_ON(sizeof(*user_para) != sizeof(*sys_para));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpu_num) !=
> +                 offsetof(typeof(*sys_para),  cpu_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), freq_num) !=
> +                 offsetof(typeof(*sys_para),  freq_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), gov_num) !=
> +                 offsetof(typeof(*sys_para),  gov_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), affected_cpus) !=
> +                 offsetof(typeof(*sys_para),  affected_cpus));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_frequencies) !=
> +                 offsetof(typeof(*sys_para),  scaling_available_frequencies));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_governors) !=
> +                 offsetof(typeof(*sys_para),  scaling_available_governors));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_driver) !=
> +                 offsetof(typeof(*sys_para),  scaling_driver));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_cur_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_cur_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_max_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_max_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_min_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_min_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_cur_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_cur_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_governor) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_governor));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_max_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_max_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_min_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_min_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.userspace) !=
> +                 offsetof(typeof(*sys_para),  u.s.u.userspace));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.ondemand) !=
> +                 offsetof(typeof(*sys_para),  u.s.u.ondemand));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.cppc_para) !=
> +                 offsetof(typeof(*sys_para),  u.cppc_para));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), turbo_enabled) !=
> +                 offsetof(typeof(*sys_para),  turbo_enabled));

These could have been done by defining a temporary macro to avoid
repeating the fields name twice, but this sanity check is good and
should prevent anyone from changing one struct without changing the
other one.

Thanks.

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

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 08:56:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 08:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579468.907452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIW1-0004Aj-GP; Tue, 08 Aug 2023 08:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579468.907452; Tue, 08 Aug 2023 08:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIW1-0004Ac-CI; Tue, 08 Aug 2023 08:56:33 +0000
Received: by outflank-mailman (input) for mailman id 579468;
 Tue, 08 Aug 2023 08:56: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=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTIW0-0004AW-Ar
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 08:56:32 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76cd6391-35c9-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 10:56:30 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76cd6391-35c9-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691484990;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=G8sksAySfdqgLV99gZYQwtewml6bcB/hzhA07cdtiU4=;
  b=KIjbINkxdIqvHx+OkNPtE7PGcf3+V9e1adf1aoTMIa8u7dL5A4qFJGVA
   YUcuz1ffn5dhaKYQ27PpqeBrtljvT5mPts8cdvi81KUej5CoDh4jYfEiB
   itulO4NjNaocKB09O77XWCFWm71euBXphrzNLkuIAw/SwOYIEbtTd9B7N
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118703922
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:HZPbHKrncK69rNGWTD8w3q6HI6BeBmInZRIvgKrLsJaIsI4StFCzt
 garIBmFP6neM2f8etwiaom3oUMP6MSBz4QwQVRpqy80FClD85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzyZNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAsmPwGgm9uO+rS2S/FPif17LfG6O4xK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 jufrzuhWUBAbrRzzxLG/0qQr9b+hxnGSaUtS5KCzO9W2wCckzl75Bo+CgLg/KjRZlSFc9BWL
 UAO6zcthac3/U2vCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3OcpQRQ62
 1nPmMnmbRRturCITXOW9p+PsCi/fyMSKAcqbDcJVwIf7/H/oYs4iVTESdMLLUKupoSrQ3eqm
 WnM9XVgwexJ1qbnyplX43j8qGO9hYTwdjQz6wTPfW2ctgJBNYmqMtnABUfg0d5MK4OQT1+kt
 XcCmtSD4O1mMaxhhBBhU81WQuj3uq/t3Cn0xAc2QsJ/r2jFF2uLJ9g43d1oGKt+3i/okxfNa
 VSbhw5e7YQ70JCCPf4uONLZ5yjHIMHd+TXZuhL8NIImjntZLlXvEMRSiam4gQjQfLAEy/1XB
 HtiWZ/E4YwmIapm1iGqYOwWzKUmwCszrUuKG8Gik0/8i+vCNCfFIVvgDLdpRrpghJ5oXS2Pq
 4oPXyd040o3vBLCjtn/rtdIcAFiwYkTDpHqsc1HHtNv0SI/cFzN/8T5mOt7E6Q8xvQ9qws91
 i3lMqOu4Aal1CKvxMTjQiwLVY4Dqr4l8CtqbXZyYwrws5XhCK72hJoim1IMVeFP3IReITRcF
 pHpp+3o7ixzdwn6
IronPort-HdrOrdr: A9a23:sEci+qHTGYGGqOYGpLqE0ceALOsnbusQ8zAXPidKOHlom62j5q
 KTdZEgvnXJYVkqNU3I5urwXpVoLUmxyXcN2+ks1NSZLWrbUQmTQ72KhLGKqwEIcBeOkdK1u5
 0QF5SWcOeQMbEAt6jHCQCDYq8d/OU=
X-Talos-CUID: 9a23:TXE0tmNThfTA5u5DYwI25W0II/gfdHDc1FTfGhe5MTduR+jA
X-Talos-MUID: =?us-ascii?q?9a23=3AgTOYnA76nVhF4GJ1qdxhdTr7xowr7pySIXk8i68?=
 =?us-ascii?q?7qu67agNKASah12m4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="118703922"
Date: Tue, 8 Aug 2023 09:56:19 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Jan Beulich
	<jbeulich@suse.com>
Subject: Re: [PATCH v8 11/15] xenpm: Print HWP/CPPC parameters
Message-ID: <b8a4778b-896a-481d-9f17-66b1882ebd55@perard>
References: <20230807185119.98333-1-jandryuk@gmail.com>
 <20230807185119.98333-12-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230807185119.98333-12-jandryuk@gmail.com>

On Mon, Aug 07, 2023 at 02:51:15PM -0400, Jason Andryuk wrote:
> Print HWP-specific parameters.  Some are always present, but others
> depend on hardware support.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> v8:
> Switch from "if ( !hwp )" to "if ( hwp )" and re-org code.
> Use %PRIu32 instead of %u - this lengthens some strings past 80 chars

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:03:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579480.907461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIcu-0005g1-Ak; Tue, 08 Aug 2023 09:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579480.907461; Tue, 08 Aug 2023 09:03:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIcu-0005fu-7O; Tue, 08 Aug 2023 09:03:40 +0000
Received: by outflank-mailman (input) for mailman id 579480;
 Tue, 08 Aug 2023 09:03: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTIcs-0005fo-Gd
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:03:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 759aa5e8-35ca-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 11:03:37 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 7A1C64EE0737;
 Tue,  8 Aug 2023 11:03:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 759aa5e8-35ca-11ee-b280-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 11:03:36 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <b0581f49ac01c923809c0e15c1a1dfed@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 04/08/2023 08:42, Jan Beulich wrote:
> On 04.08.2023 01:50, Stefano Stabellini wrote:
>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>> 
>>>> The functions
>>>> - machine_halt
>>>> - maybe_reboot
>>>> - machine_restart
>>>> are not supposed to return, hence the following break statement
>>>> is marked as intentionally unreachable with the ASSERT_UNREACHABLE()
>>>> macro to justify the violation of the rule.
>>> 
>>> During the discussion it was mentioned that this won't help with
>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>> effectively nothing. You want to clarify here how release builds
>>> are to be taken care of, as those are what eventual certification
>>> will be run against.
>> 
>> Something along these lines:
>> 
>> ASSERT_UNREACHABLE(), not only is used in non-release builds to 
>> actually
>> assert and detect errors, but it is also used as a marker to tag
>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't 
>> resolve
>> into an assert, but retains its role of a code marker.
>> 
>> Does it work?
> 
> Well, it states what is happening, but I'm not convinced it satisfies
> rule 2.1. There's then still code there which isn't reachable, and
> which a scanner will spot and report.
> 
> Jan

It's not clear to me whether you dislike the patch itself or the commit
message. If it's the latter, how about:
"ASSERT_UNREACHABLE() is used as a marker for intentionally unreachable 
code, which
constitutes a motivated deviation from Rule 2.1. Additionally, in 
non-release
builds, this macro performs a failing assertion to detect errors."

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:12:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:12:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579486.907472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIlB-0007Ab-3n; Tue, 08 Aug 2023 09:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579486.907472; Tue, 08 Aug 2023 09: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 1qTIlB-0007AU-0p; Tue, 08 Aug 2023 09:12:13 +0000
Received: by outflank-mailman (input) for mailman id 579486;
 Tue, 08 Aug 2023 09:12: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTIl9-0007AO-He
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:12:11 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe16::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a62d6030-35cb-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:12:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8975.eurprd04.prod.outlook.com (2603:10a6:102:20e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Tue, 8 Aug
 2023 09:12:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 09:12: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: a62d6030-35cb-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mt3l1naRyE0uTbediYkK65YJJvvV6onIAvSzlxo9IAx5UEm79u8D91/Bw3ZLeh7weoGwc4eZ4r06QEOnAkFPnXQG9v5j0WA9Rnztt3NjceTR8ofdoN6cLMjZreaymosMsMpNIMdOrqw47KuZqufGoMvkAREAtZPEls0oaTqSWQfOau042QFiq0s5zH9kGlxjMVQW86bpuoAQLZkGBC+N4w+hras2DirQ8luN8Fp7ZJDrXdM2WOLV9nWTESW6JLRikwnJaE8QXaLpRD66sDhyn3uVe09ukOjzu2euJX1vrDziPcAoVnncUFB4s7eaLmR4bJfvyfTBbH8t9y3Ee1EiDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WRMrlbTsrT8329VDgQBLi4g1G38EtH7AKmj/hwaLD3w=;
 b=atvhuv4Dw8UD7BsriRAWu9RBUx02k1LKJ3fWu0fcZHKBMM8GbGfKPTW1Kms7zQCbmHB2Fg7y5N1r671CEnYY+NcYDaMhRvRQVDhjcV2dJNMmUTBR0yEYpgtPRtWtt9ky5tRBrOni8VAi0yQyn1I9JLaHsf/J2bTA5XWMKCeB/iWbRsF5zQURD88JqCUbHmPlwvYJp+lDWRZj4yB5ZYVhgMWbvOy6eV6Ap7Ax2Nrg12ALz+TRP8TLyDSzM66oQI3mprq/VsLaxcizVYWMtjaDlEwW6jaDZ69V8bMTUjOytGNcaKljn7TwoxkK03cOa/DtyFziPbhshHOotS9QfMZhLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WRMrlbTsrT8329VDgQBLi4g1G38EtH7AKmj/hwaLD3w=;
 b=pZEWDjhWbXpKGZor7BejrUo0iWs9R2/llL9mCW04g4JjB4Bi5hUguC26lgG52ZHFC9LzcgtApvrxR0yuGKV/QpC0d3/1BkhLYBRWYEEwaIUY8qegF4lHI/j4qotVSAYlPUH676ga1w3cRbBRr3ML7zRHEV/ivWmkacxqkeSIPXMro5hZtDywAStSQ9CmCKhGxv/Vm3/lh3qVyyslIHVTshF3RgXkGSrKQ1eSWsILOVy9QfEibsRWOtv3i0bxr38Usf9lJqVxwd+P44Jup6RGqBHPaVEqvh3vJYAf42zG/1mHUNCSaPPBsPatKNakWsawgDxTWW8NUuZM31Uq+6+iGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aaabc5d0-aa69-5c30-8e49-635537868346@suse.com>
Date: Tue, 8 Aug 2023 11:12:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 5/9] xen/ppc: Define minimal stub headers required for
 full build
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <9cd545a4a9ef55d06ea0b81044e22f64ee42823e.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9cd545a4a9ef55d06ea0b81044e22f64ee42823e.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8975:EE_
X-MS-Office365-Filtering-Correlation-Id: b6168f74-adc9-43de-e2f3-08db97ef88cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GCX4RmUeHBkwICcTeu3Ek63MnEu+q0UGaubuG/zhdw07h1ACQ64Dcu2JUYMZBIWLTSMd1B06tp6R/kRzjRoSFdSv9xL2Yju85r9CpifmMfDQ/lPjeDE1GaF1tdeSYKRddAgpOuhoH1hv5J0bgqpJdxl928g6TbXMSjAsBSLKzCjZUMovAwtAxzE/SxYg9ZwKJ++GTznn4+ugkGS8QDk5lZDeLEFAA9dTyVQ4nObgtIdpRHMt1x2nz4C7HmYDnwMgwcG5HBjH2I/TdsMKOqXvY8/hRzCkQpO4lRAmRe43ffguOQH/s8nzIVHGuy1HXH0sKCtasFEuHRHTqEhwn5lJmrDKOMuU2vVTAYHvpzkN9KxvPAqaYbq6KOu4S82XFvaNDJTbGpAQ9KIkhCz4dILueLAy28iARLtb0hXzLaDW/bgf3io/42fIiLjpipSzKb9EZKsqIAjNIhd9HaU9Kg2xdhMI6xBC1KX62nVv5Q7HW3i21u8EukV6XolIP/cFft2glNVTOhChszktuFoz79PTjfgEE6sGXK473ch7PJUQf8XYJGi/xtp2nXWRiYqBDSrCrlvVuYGmgJD16BXAlhSzWk/TqL6KF6Ht0A/RRCEWC1us5RlZtzVTv0wGKvVzOlgU4DbWaiK41WEo0gUeEGTEAP3wsXH0AVVVu5mjI9vC7rw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(136003)(346002)(376002)(366004)(451199021)(1800799003)(186006)(2616005)(36756003)(4326008)(6512007)(316002)(6916009)(86362001)(6506007)(54906003)(6486002)(66946007)(38100700002)(6666004)(66556008)(478600001)(66476007)(31696002)(53546011)(41300700001)(26005)(8676002)(8936002)(66899021)(2906002)(30864003)(83380400001)(5660300002)(31686004)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVZZSDdkM0NpeGR5OWNFYytmTGhMUjlueEpXWHcxM3h2aFFETzRsL0lzdVN3?=
 =?utf-8?B?aUt2dC9xUjhTd0dyUTEvWU00MW16ejArU0FFMkFqUVo1WmZuUVZaQUFVT1Bu?=
 =?utf-8?B?OXgwdFZvbGxIMVUzdDdNM1lsRjRMdkdkWWRmRXl1RmRLQkhxa2gyeTF5ZG0v?=
 =?utf-8?B?UnhQdHZtRmNXOGhhTVBvMFkvZGlHL1ZNdURVQjRteVpUOXBTcXpORE9TdjJz?=
 =?utf-8?B?bFIzc0NhaWowMFZIK0VDMThBZnI3T1AwbFBHaGJvQTRDMUF6ZEZKVWVBT0w4?=
 =?utf-8?B?Q0NmTzR1cXV1T2NyTmU3K3ovQUgvbFJpZTZheEtSTlFSTmxyUGN1NWpLeEEy?=
 =?utf-8?B?WTZqbE84c3hEbTFuUFAwZzJRbWp5R2ppQjBmV1RFQWZ4aktjRnYxU2NuOGZJ?=
 =?utf-8?B?Qk5FbkkrZEc1WTRmZkd4Z25yWE5iVWNJaGV0RU93YUt6Rkk1Z2JEL1lkRDQ5?=
 =?utf-8?B?OG1LcStaUFlxR245dk5SNEIxOTQrVUZpd2ZXMXdMY05kMkpzWTkyU0hINnoz?=
 =?utf-8?B?Z3R5d3h6VWpqTkM3VmsrUm9BTkFOaHhQTFluZnZYd0o2bFZrUjJHUEIrbDJ3?=
 =?utf-8?B?Qk1kM3oveTR2aWFSQ3RHV3dGaE8vRzBIZ3ZFVzgvdmR1amJHSENVN21Sd3M4?=
 =?utf-8?B?MkhVdXdwRzJZdlJobHpqOC9uZ2U5YWxmeWt5cDMzdHhmZ0F4U2xQNUFRVmVT?=
 =?utf-8?B?WWt4ZmsxTWM5L3hPNkdsSm1YeDdDNGpWMjZaZjN2YUxZSTNaaGdpL2FRcDkv?=
 =?utf-8?B?eGhPVy8wZWRjNFE0bjA3VVp3N1pGTTYwNzg5VFFQMnVZNHZybjFqNGYzWFhT?=
 =?utf-8?B?VmVRVXBJUzVpV2dQd2tFaWJhbm5YVmcwdFo3NWE5ZlMyckE5OWE5eFQwZkxh?=
 =?utf-8?B?Y2k5RFgyVXErN2czWFFBYjE0b1VhQ0lHYzZhSkw1QjNVRnhCelcyN25qdkJC?=
 =?utf-8?B?ZnFVWFprWXFlNkJMckU4RmxSNUNLQWRTc2dRZ3BjTTZCSHE0ZStZVVBZdzM1?=
 =?utf-8?B?S0h2UENVSHZYZVIrWWh4S0VlbG1DMGpZZGpqN2hxUGUyRHNkbjhlOENxWGx1?=
 =?utf-8?B?TWtXakpMM296M1N2b21kbXI3TmVvZUlXazFFOHZ2M3l0Qkt2NGh2TWt3eHBi?=
 =?utf-8?B?d0xONWtmcGF2c1JmN3M4dVFkMmROUnBQamcxTjI3dDZjTmZlWFFSd05TZ2Vr?=
 =?utf-8?B?NUdTeHMvQzZPS0s3a2llQmpGZ01Gc1M5N1E5dGQ0cndhMCtlNitjWUtZbnpV?=
 =?utf-8?B?aWtlL05jUnZlNUFWUlM1aktsTXVsWW9uYVQ3TTRMc3k2ZUJKQml2Tk1PYndX?=
 =?utf-8?B?QXJRclZFbkNjZTNMd0JoalNxWkNORkozTjlpcGNuVTZGRzNBSUNNb3hLS2xP?=
 =?utf-8?B?SFdta1VRV3NRczBpYi94K0dqN2xJc1FFcGpwRkpOZ2F2Z1VqYmZqWGR6cGxT?=
 =?utf-8?B?M0FUTmJHaWRmYkZSN0diUHViSXVvVTRGUUp4MVVsc25UcVZsWENkUGRhbjdK?=
 =?utf-8?B?OG9GWU1xWlhDRmFJYWlMZ1c4WWU2Q0pQTWNRamRwdE1ZMmpsM0RFcXBaZlhz?=
 =?utf-8?B?VFc2Y2wrZTZoeXVQYmxLbjBreGlMczhWRlpFVDdsZHdraDFHbXRDUjh5eGdh?=
 =?utf-8?B?Mm0ya2E0MDFCTXNDVGlVUDBGWjhSWDFDbjhwZW1zL3dIa3U4WXIzdDR4RGhn?=
 =?utf-8?B?MWJDbnpka3lyR3dCbU94c2Ixb3ZDR3JwL1JwL2dvMHpUUkFXMHpCRTJ6eHBw?=
 =?utf-8?B?Qys2MFB2M0wweGEwMTY4SmpQVmJaL2JuTEpRWkpMaXFJVDRmNks1MmpMZFZw?=
 =?utf-8?B?RGtJYzNObHlpNW1mZkxyZy8wUnZRTUhibVFjNGE5SHV0V0s1UlA2ZU9YbkIx?=
 =?utf-8?B?SG04N25FaGt0bXRzcVFhS1VHOXg5RDhGUlNkcUFpY2lMRGM0czI5WThxTURV?=
 =?utf-8?B?aG5ScnY3UWUwYXB4SzB5Z0ZZeUdCbFZoOGxjbGpUdkF5U045MUI1U1p0T2V1?=
 =?utf-8?B?REtFdzRFNmRPZDJGTFN4RG5GOUlmdXBRYzBQVnlWNGU2Mk9oSDFKbnJ6ZTJm?=
 =?utf-8?B?cFEycm1KdlFDaC9IRU1mSWVLTjRnd0ZmSncrajhZaGRsZDRSN1ZxTDhna2Nh?=
 =?utf-8?Q?/y+qreG9Sl24ZIxP14JxoN9Pd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6168f74-adc9-43de-e2f3-08db97ef88cc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:12:05.2898
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 905/h8N/aZEQ+6MdtXIM/5LpBRy4lSc23As8rhkfWCk7lFkU9QK9DISxCgJ+Z8R7oPj9Bq2AIuKOVzkUPyb+Gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8975

On 03.08.2023 01:03, Shawn Anastasio wrote:
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/altp2m.h
> @@ -0,0 +1,39 @@
> +/*
> + * Alternate p2m
> + *
> + * Copyright (c) 2014, Intel Corporation.
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU General Public License,
> + * version 2, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public License along with
> + * this program; If not, see <http://www.gnu.org/licenses/>.
> + */

Please use an SPDX header instead in new code. I also wonder about the
Intel copyright. I realize it's that way in the Arm header that you
apparently copied, but even there it's pretty odd. I don't think such
a pair of stub functions is reasonably copyrightable.

> +#ifndef __ASM_PPC_ALTP2M_H__
> +#define __ASM_PPC_ALTP2M_H__
> +
> +#include <xen/sched.h>

I don't think this is needed here (nor in Arm's original). All you
need are forward decls of struct domain and struct vcpu. And
xen/bug.h plus xen/types.h.

> --- a/xen/arch/ppc/include/asm/bug.h
> +++ b/xen/arch/ppc/include/asm/bug.h
> @@ -4,6 +4,7 @@
>  #define _ASM_PPC_BUG_H
>  
>  #include <xen/stringify.h>
> +#include <asm/processor.h>
>  
>  /*
>   * Power ISA guarantees that an instruction consisting of all zeroes is
> @@ -15,4 +16,10 @@
>  
>  #define BUG_FN_REG r0
>  
> +#define BUG() do { \
> +    die(); \
> +} while (0)

This looks like it's temporary. I think any construct that later needs
updating wants marking in some common way (such that it's easy to grep
for items left to be dealt with; you have such a comment in e.g.
asm/event.h). Of course if an entire header consists of _only_ stubs,
perhaps a single such comment would suffice.

> --- a/xen/arch/ppc/include/asm/cache.h
> +++ b/xen/arch/ppc/include/asm/cache.h
> @@ -3,4 +3,6 @@
>  #ifndef _ASM_PPC_CACHE_H
>  #define _ASM_PPC_CACHE_H
>  
> +#define __read_mostly __section(".data.read_mostly")

Not something for you to do, but we really want to move this to
xen/cache.h.

> diff --git a/xen/arch/ppc/include/asm/desc.h b/xen/arch/ppc/include/asm/desc.h
> new file mode 100644
> index 0000000000..e69de29bb2

Along the lines of the above - common code should not include this
header, and Arm shouldn't need one either. I'll see if I can sort
this.

> --- a/xen/arch/ppc/include/asm/mm.h
> +++ b/xen/arch/ppc/include/asm/mm.h
> @@ -1,19 +1,270 @@
>  #ifndef _ASM_PPC_MM_H
>  #define _ASM_PPC_MM_H
>  
> +#include <public/xen.h>
> +#include <xen/pdx.h>
> +#include <xen/types.h>
>  #include <asm/config.h>
>  #include <asm/page-bits.h>
>  
> +void setup_initial_pagetables(void);
> +
> +extern unsigned long total_pages;
> +
>  #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))
>  
>  #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
> -#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START)
> +#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
>  
>  /* Convert between Xen-heap virtual addresses and machine addresses. */
>  #define __pa(x)             (virt_to_maddr(x))
>  #define __va(x)             (maddr_to_virt(x))
>  
> -void setup_initial_pagetables(void);
> +/* Convert between Xen-heap virtual addresses and machine frame numbers. */
> +#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
> +#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
> +
> +/* Convert between Xen-heap virtual addresses and page-info structures. */
> +static inline struct page_info *virt_to_page(const void *v)
> +{
> +    BUG();
> +    return NULL;
> +}
> +
> +/*
> + * 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)
> +
> +#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.                 */
> +
> + /* 2-bit count of uses of this frame as its current type. */
> +#define PGT_count_mask    PG_mask(3, 3)
> +
> +/* 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 static memory */
> +#define PGC_static     0

You don't need this.

> +/* 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)
> +/* Page is not reference counted */
> +#define _PGC_extra        PG_shift(10)
> +#define PGC_extra         PG_mask(1, 10)
> +
> +/* Count of references to this frame. */
> +#define PGC_count_width   PG_shift(10)
> +#define PGC_count_mask    ((1UL<<PGC_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
> +
> +#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(&_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 max_page ((unsigned long )0)

It's clear this is temporary, but it would still be nice if you could
omit stray blanks.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/monitor.h
> @@ -0,0 +1,48 @@
> +/* Derived from xen/arch/arm/include/asm/monitor.h */
> +#ifndef __ASM_PPC_MONITOR_H__
> +#define __ASM_PPC_MONITOR_H__
> +
> +#include <public/domctl.h>
> +
> +#include <xen/sched.h>
> +#include <public/domctl.h>

Judging from the contents of the file, you don't need either (and you
certainly don't need public/domctl.h twice). Only xen/types.h looks to
be needed right now.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/numa.h
> @@ -0,0 +1,26 @@
> +#ifndef __ASM_PPC_NUMA_H__
> +#define __ASM_PPC_NUMA_H__
> +
> +#include <xen/types.h>
> +#include <xen/mm.h>
> +
> +typedef uint8_t nodeid_t;
> +
> +/* Fake one node for now. See also node_online_map. */
> +#define cpu_to_node(cpu) 0
> +#define node_to_cpumask(node)   (cpu_online_map)
> +
> +/*
> + * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
> + * is required because the dummy helpers are using it.
> + */
> +extern mfn_t first_valid_mfn;

At least "Arm" wants replacing in the comment, I think.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/percpu.h
> @@ -0,0 +1,26 @@
> +#ifndef __PPC_PERCPU_H__
> +#define __PPC_PERCPU_H__
> +
> +#ifndef __ASSEMBLY__
> +
> +#include <xen/types.h>

Looks like nothing in the file requires this.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/procarea.h
> @@ -0,0 +1,38 @@
> +/*
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

SPDX again please (and there's at least one more below).

> + * Copyright (C) IBM Corp. 2005
> + *
> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> + */
> +
> +#ifndef _ASM_PROCAREA_H_
> +#define _ASM_PROCAREA_H_
> +
> +#include <xen/types.h>

Again nothing looks to require this.

> +struct vcpu;
> +struct gdb_state;

The later of these is unused below. The former is used, but in a way
that would require a forward decl only in C++.

> --- a/xen/arch/ppc/include/asm/processor.h
> +++ b/xen/arch/ppc/include/asm/processor.h
> @@ -110,6 +110,10 @@
>  /* Macro to adjust thread priority for hardware multithreading */
>  #define HMT_very_low()  asm volatile ( "or %r31, %r31, %r31" )
>  
> +/* TODO: This isn't correct */
> +#define cpu_to_core(_cpu)   (0)
> +#define cpu_to_socket(_cpu) (0)

As mentioned elsewhere, please try to avoid leading underscores in
macro parameter names (or macro local variables, just to mention
it again in this context).

> @@ -175,6 +179,8 @@ static inline void noreturn die(void)
>          HMT_very_low();
>  }
>  
> +#define cpu_relax() asm volatile ( "or %r1, %r1, %r1; or %r2, %r2, %r2" )

Just like HMT_very_low() this could do with a comment explaining
the "interesting" ORs (until such time when the assembler supports
suitable mnemonics).

> --- a/xen/arch/ppc/include/asm/regs.h
> +++ b/xen/arch/ppc/include/asm/regs.h
> @@ -23,6 +23,8 @@
>  #ifndef _ASM_REG_DEFS_H_
>  #define _ASM_REG_DEFS_H_
>  
> +#include <xen/types.h>
> +
>  /* Special Purpose Registers */
>  #define SPRN_VRSAVE 256
>  #define SPRN_DSISR  18

Why would this #include be needed here all of the sudden?

> --- a/xen/arch/ppc/include/asm/system.h
> +++ b/xen/arch/ppc/include/asm/system.h
> @@ -1,6 +1,247 @@
> +/*
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> + *
> + * Copyright (C) IBM Corp. 2005
> + * Copyright (C) Raptor Engineering LLC
> + *
> + * Authors: Jimi Xenidis <jimix@watson.ibm.com>
> + *          Shawn Anastasio <sanastasio@raptorengineering.com>
> + */
> +
>  #ifndef _ASM_SYSTEM_H_
>  #define _ASM_SYSTEM_H_
>  
> -#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
> +#include <xen/config.h>

As mentioned before - any such #include you find is a leftover.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:15:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:15:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579494.907481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIoX-0007pR-Mt; Tue, 08 Aug 2023 09:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579494.907481; Tue, 08 Aug 2023 09:15:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIoX-0007pK-KF; Tue, 08 Aug 2023 09:15:41 +0000
Received: by outflank-mailman (input) for mailman id 579494;
 Tue, 08 Aug 2023 09:15:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTIoW-0007pE-4a
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:15:40 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2412213b-35cc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 11:15:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7569.eurprd04.prod.outlook.com (2603:10a6:20b:2d8::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 09:15:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 09:15:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2412213b-35cc-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XFgj2Q5teOd/SEjVqTa3gxAE1iyQFUmIZi3D34sFbyiNgt09etjECYsidW2VG6iLqkWa1mM+Rd6bUeQLG9XEiEfNzztJ17x/8QrzOWV3K1DbjmFSnasXiUCAGUmlkP6xH087XsBgwlGKyr8wS/S1aIiyk0GOUB9o5xFEWKvlybZ/oW8hBfM8LFXP+GJSdDJeY6F7czw0JXXjuoDETB959kiMSN2iCFiR0N7gI3HrEUz/7plN5WfN/skaf1otvHO7LmowSWPpclQAbSaGeasvhVhAVoqdAOuG6YcSU1fcU/dFNyiMqMtzBlj4SubkIXSvuwz8k993G9YXRPetENCibw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VAsLA7s8Di76h+92NZz50JjD7JBHvWH9yNdvc7cCjz8=;
 b=dccA5Ypc4Ada+xCrFPSYF8h3VOwz7x5gcSL8y/9LGFR71b3Hz1OPPTXzzO0IXLsMazf282WE4NIa6RVlMio8q+uxkm17DrRC823IAnBvtqtlRY4AL2rs3kGLHUIuZCj1ck/PKPiYqmaWXViybMk/41P5Jm2OasLnuLn8GySJnscBWrBlwnkmWUIb4F9LK+HbL+RK84jui1ZJtgnyLylyPA3qcxY9tILi1PuBP7kvbP/EB5h+2fQXgCS6evzkMVYrMckOM1etN7WANlUgwfI9YyC0HkxHD1Fuafu7iB1DMvp/hdl1GxjJvS7K/CDhBnZBAvM0rQvPZyR4V9WuSznlrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VAsLA7s8Di76h+92NZz50JjD7JBHvWH9yNdvc7cCjz8=;
 b=jfhkr39V3FcA6qffqBUivCoGCMSdtEl2qSbxzNon5cfsb5r8wXMDHa6FOLjyiPwCLPDzXFdJIRM5qUtawg/wbZKBFn6zWKYmzO0bMvhodWXzmnAj/Kr5+F5tJr4togktqd2X518IVpWmyIk9AL+j2V4aFPJRNO57H9tKJkoWxsQhOtJ/tM9tyTkcVQ4EyPJYizKvJ32U9IRA7Y7nEUlsDrh2l2eABLy99cfbEJItQIgKRNkt4G9xBnEFfaPUwFi3Y3m0X22yAKag9Yb1F/BJrSFTNN8drN9psZTJkXrZC5/SWqc878t3ZI5VdMnYhOfFuT2f9PAnIlxFxdaaghcGWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d55623d5-6764-9aaa-3431-8a8a1226e008@suse.com>
Date: Tue, 8 Aug 2023 11:15:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v7 5/6] xen/riscv: introduce an implementation of macros
 from <asm/bug.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
 <9fdda7716faf412f1e2cdf9a990c98e64c4b21f3.1691063432.git.oleksii.kurochko@gmail.com>
 <8098e465-d25c-7fe4-dd97-2f44a689c9a6@suse.com>
 <b31d2838bb331c216348ae478e7841d7bce48a88.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b31d2838bb331c216348ae478e7841d7bce48a88.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7569:EE_
X-MS-Office365-Filtering-Correlation-Id: e7503ee0-32ee-4238-a2aa-08db97f006d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BWSjaSw5GlUvvwgNe6wrvxbhd3R8oQ1DxtWMQz+umbdzGHgDGdZF3rM7mMkxizY7ICCa8XTMbLcnoIPSXhNhC4Bwn0m8BPSYkK9ckMSJ5srQbjY8QQPuzvGqh5Ktl+zcXgCfmZz2L3f8VmDKZq+eXpMyjRO4vH+oEBA1ymvtqjyldAiqBZ0WjVZFKQ69+IIbeSYq2DLzlIHLUP8xIRj0Y2cYNwoVFBHRVD/xrdWUSpt5V98HG6s6KNBORa0nFWh/TxG7bVO/GLqyhOZNiTjLuG8CjO0orJpgSV/JRh/RkMsMaTTVV8aeVrEXGDapeg3Rr5ve1WlU6XtjAQVLN8QtC3R9Zlm5e2T7NnT7ktFHrhtpvqYsGjUzJXpBPb7GERJSbawPb5VBfDDHLm0OhYwpQD5Spt+4idW/bveTcpUyRzxFoYDAWa9qbhxYFxL7dc1GH5VrnRSsVr7IVkl7PZU1Srh/uONk2CcW9Q1pq7AB7g4pPZyXOpRTg1QBKvCvfC9Oa99hPyCKypGjmqMx8FaFt9UicFXoje/2LNB0kQDiUyft2dbGmxmQ7wh8TXaU4cLr+8Oq8wNojbOwFLOSHg34ubPkoqkp97vUFbGAhycNVNvpGReZQ84rbCu8125uzb2wFrikb0VfJb83XbTUXx5cxQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(376002)(396003)(136003)(346002)(186006)(1800799003)(451199021)(2616005)(478600001)(31686004)(6486002)(6512007)(53546011)(26005)(6506007)(66476007)(66946007)(41300700001)(66556008)(8936002)(316002)(8676002)(31696002)(2906002)(4326008)(6916009)(54906003)(36756003)(38100700002)(5660300002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3JGVkI0bW5UeElxeFhETm1jeGQzWEI3by9XVFBGSTlaU1QrVVpxTDlKRWd0?=
 =?utf-8?B?dXNvdXFidVlndVIyakgyMW1WMGhvelJkYlgvK3lnQm5Nb29rTlF2bjBTem53?=
 =?utf-8?B?OFkwZytjTGVJcHdMUStnalZsVmhvekxBOThhU2xFQms1TTNmenplMDRhZ3Ri?=
 =?utf-8?B?WXBTUFBuZlg5ZVFFeWJBUTZTN0kycGVEeEthbVFsUjMvZFJyY0J0em5Ta0Rs?=
 =?utf-8?B?SzRzNys2MEhaRStIL08vMHU5YkNGUGVGSDZncGJTOFVLL0ZUeHljWWNRK3ds?=
 =?utf-8?B?dWY4R1dYWXZUSEEzQytzL0pEcHpPYlZBUC96RlFhS3libTdicDV3YVd5ZGg0?=
 =?utf-8?B?NXNpTTVrM3hwcFNzZTdmeWJYTHNCUGR5Nmo0dm1tTzF6aHEybGQrelcvQ2xs?=
 =?utf-8?B?QXNCdFRUcHEyTzdIbktFd204OHErcUpZb3lYRGRnSFdzTitHdHRGT01saXpW?=
 =?utf-8?B?c3lKbUtKZHlDeitsZGp0WjFIVDNhamJ5aW9wM1NMbkJXQm1TRXBHMVNCL0ZY?=
 =?utf-8?B?Zm1FanBTTnpFcFg3K1NlYVg2YWFLclpIWmRJdzU5MUFEVjk2WWRCS0FNWjY2?=
 =?utf-8?B?Y2VoVFJWdFpMNW5YTmVacFBIdUt4RVF1VjhvSGdiQ1NYM1dHS1hpKzBLWW03?=
 =?utf-8?B?YWxNS3Q0TGtNeGV2MkJ1d0lqYyttRTdqQXN3Z3ZtYUVocnE3RlNVYUYyRUpD?=
 =?utf-8?B?cGZBSzlsZm5jS2tvOUhZMUdRYXBtM3A4SVJ3M0s0UWdFUSs3djl6QVFIVC9l?=
 =?utf-8?B?Rkd4bHdUbE1jbUtYSHpBUzlLZG80WVI5OGN5TnJZQWNoUy9hbTVBZkRpcGVs?=
 =?utf-8?B?SUp1MW9oRWJFQ2p0bmExQkdmNFFjZ3hEazdhK0ZuWm9TbzEzMmRGam5lRWNh?=
 =?utf-8?B?dXNlL25iR1krbSsxL0lYNHpXZXREV3NuVzJ5QU1HS0pXQi9ydXNWdVJsYTVw?=
 =?utf-8?B?VnI1eklzbjBpbzFaVWxiV3AxbmQ2ZlZML0w0UmYyZ2pteFFCUGVxNjl0ZUJB?=
 =?utf-8?B?OEwwb0hhY0MvTExlRmJlTEJqU3Zua1lwZDNCNTlLV25oSTU0Uys5b3g4N2xD?=
 =?utf-8?B?U3RtY3dEdkdINE5vdWtIQlhTSnU2RTRnQTJtTDRuY25ZNERtNFdtNVlSUis4?=
 =?utf-8?B?S1FIWkpiRUplVGVmUFpCa0M5T2pJdVI2TmdZUEQ2UHc2Vkc2STRBeXo5ZzlF?=
 =?utf-8?B?VFhQYkxaaHdkVmhvOW5EMkRjTm4rM3pLZTB5dGtRSVVDc0FEY3FsSHFTbUd6?=
 =?utf-8?B?aFdVWWVMS2hncUdOQkQ3aEJYdEY4T25qdmczSy9BbUdHNldFay9EZlUyc0ow?=
 =?utf-8?B?N0V6Y0ptamhVTlJtb3hXN1c4RXdpTk5wR050a1ZxQXBiZVJ4Vmhzbld6Z01i?=
 =?utf-8?B?TC8zc1Rnejg4TzJGcUppaUY1NS9zZ3p3QVhIL1pjN2N4VTB2Z1MyWWhqbVJ4?=
 =?utf-8?B?cDBiaVI4UnVleWlOZURtdDhnVlBNTWoyN3FPVE5GMHZNWU1YWmdJOThiZFg1?=
 =?utf-8?B?UHh2Uy84eTFiNkNsOHg2Z1BzeG9yVEhsVjl1Q1lNK0pwZkJBem5jR20vRVMr?=
 =?utf-8?B?Qkh2VjVFU0lNd2tGc2tIclNjSVJMTy9jZmFXWnB4cU9lUnlFUFBESlYvRzAz?=
 =?utf-8?B?UmtUSE9Vb2FHdGFjeFNveTYzZGJmTjN3YlBDY1hMdHVaVWt1UzhNR1RZVkQ4?=
 =?utf-8?B?VGpFTk5RaEtJZDV6bGJ5SVk1L0RId1ZXcGN0Vkk5a1hIQ3dKMzIzVlpUM3RK?=
 =?utf-8?B?UVNidUw5NXhPbTRrMzJjby9sRU9ZekdtdmExSzdiaXNFVnBNekFicDl0aXgx?=
 =?utf-8?B?QjQ3cEs5Q0RyM1F3cnhwWTdndVVkckRwanYvVDBYV2JIQk9hVkRieWlCQjRs?=
 =?utf-8?B?UEg1emlHdFIydG1OSURaaUdlTm9OalZtYlRtQ2J4KzQ4L3VZdjVSQ3dTRGFW?=
 =?utf-8?B?K0RpZmpsWGVjR0lacmVrSEdlTnBvTmxFSEJ3QjRjQ3dsUm8xTjJOQlRqc21u?=
 =?utf-8?B?aHVVUzlWRGZrQUpLeUxvUm9kdUVYaGJVdjgvd2dYZFFNbHN2dnZBVG00MDNP?=
 =?utf-8?B?VlBGcGRXQ2dtN05CTFViVnc5ZXoxaWdLQlRDclBWcVBSVkwyQXJqR1REeWE5?=
 =?utf-8?Q?0Nzz+ndpKMkLAIC7dPe5R33cU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7503ee0-32ee-4238-a2aa-08db97f006d2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:15:36.7155
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: te0L94DG7tXF+zitKcyFfmF/VicctFiktXm3eKfWvCdR80h4hmNBBmZoCcYtmRmMrbO0vked7IjWsvBzAxHuYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7569

On 08.08.2023 10:48, Oleksii wrote:
> On Mon, 2023-08-07 at 15:29 +0200, Jan Beulich wrote:
>> On 03.08.2023 14:05, Oleksii Kurochko wrote:
>>> +static uint32_t read_instr(unsigned long pc)
>>> +{
>>> +Â Â Â  uint16_t instr16 = *(uint16_t *)pc;
>>> +
>>> +Â Â Â  if ( GET_INSN_LENGTH(instr16) == 2 )
>>> +Â Â Â Â Â Â Â  return (uint32_t)instr16;
>>
>> (I don't think this cast is needed.)
>>
>>> +Â Â Â  else
>>> +Â Â Â Â Â Â Â  return *(uint32_t *)pc;
>>> +}
>>
>> ... there still being a double read here, do you perhaps mean to
>> make a statement (that this code isn't safe to use on guest code)?
> I wonder if it'll be safe to read 16 bytes at a time then we won't have
> double read ( if you meant that first 16 bytes are read twice ):
> 
> static uint32_t read_instr(unsigned long pc)
> {
>     uint16_t instr16 = *(uint16_t *)pc;
> 
>     if ( GET_INSN_LENGTH(instr16) == 2 )
>         return (uint32_t)instr16;
>     else{
>         // return *(uint32_t *)pc;
> 
>         uint16_t next_16 = *((uint16_t *)pc + 1);
>         return ((uint32_t)instr16 << sizeof(instr16)) + next_16;
>     }
> }

Whether this is safe for guest code depends further on what underlying
mappings there are. Surely you can't simply cast a guest add (coming
in as "unsigned long pc") to a hypervisor address. So as it stands the
function can only ever be used on Xen code anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:17:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579499.907492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIqJ-0008OY-2U; Tue, 08 Aug 2023 09:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579499.907492; Tue, 08 Aug 2023 09:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIqI-0008OR-Vw; Tue, 08 Aug 2023 09:17:30 +0000
Received: by outflank-mailman (input) for mailman id 579499;
 Tue, 08 Aug 2023 09:17: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=H/Vr=DZ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTIqH-0008Mh-DO
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:17:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7d00::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63835951-35cc-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:17:25 +0200 (CEST)
Received: from DB8PR03CA0031.eurprd03.prod.outlook.com (2603:10a6:10:be::44)
 by PAVPR08MB8800.eurprd08.prod.outlook.com (2603:10a6:102:2fc::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 09:17:18 +0000
Received: from DBAEUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:be:cafe::8) by DB8PR03CA0031.outlook.office365.com
 (2603:10a6:10:be::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26 via Frontend
 Transport; Tue, 8 Aug 2023 09:17:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT032.mail.protection.outlook.com (100.127.142.185) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Tue, 8 Aug 2023 09:17:18 +0000
Received: ("Tessian outbound e1fdbe8a48d3:v145");
 Tue, 08 Aug 2023 09:17:18 +0000
Received: from 70315378e119.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B602DDDA-DD00-4B11-8F51-3FD7858C5C6A.1; 
 Tue, 08 Aug 2023 09:17:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 70315378e119.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 08 Aug 2023 09:17:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9450.eurprd08.prod.outlook.com (2603:10a6:20b:5ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 09:17:09 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 09:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63835951-35cc-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E5/6eynU8wmMfq8xlBDA/OlTx/dc1Cb3+eprC4tznHQ=;
 b=K6sXuaB9fMlU9P/vPaycLLG3tfP0ODwyU9ytesZd5x7pw5mB+R8FjfN3ugzuto8HgvAvSrOfBv5LqAfl/m3jhMadnte2IbkIX+3WxGR0iEJwkNPOZgirb5Hn6CpYeJQjcyxO4XDGsDLdC0dAceTtKi3XVwgbJqzGlam327fhj70=
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: 57074e8260c8fed5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QujDfSXr7iFeKvZDV3VuPnfMgzTyem3Kz/kBOiUBjR5ZFsWXog+P3KQbJmE9eNfOPjPehjro0ao/Nz2dLQpIvcIwz34Wccw5K6/Ml6rWEu3frLxzSs67oqwQU1j/3fUoG/EqCtEaVv85eJ2ezD1A849YLpG+cRx/Apuw8qC4YP3NFZsikmp27aIHELtiK6TiTdhXLuejdSX2FmxQ6cjB7vm2aPA8kAdVKJivR6L4uZUYPqXyfkCLA7mqxa7tXBQMjW3a9hpE48A3ipmpnqYrir4ZHfnElymd1ZzZtejmAvDv6anp+eU5nNfqI07//tbLDBWhcJ4U6DjC9/D+fXqOxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E5/6eynU8wmMfq8xlBDA/OlTx/dc1Cb3+eprC4tznHQ=;
 b=hK+D9Xis6ri/17kdX3VLqtblA1Qi7XB4+87X0fblcf1KFbluiSaKgsFOSX7QpY5VgFOqcPfU7rOCSJTsNI1KYWHGRAT3HfDAPK/YRKEVkL2ICQUHPoQtUgCioTfO6UrVUpSD2Llf0UluBluS+dA07CVQXG2QiW0plkyLz+9L5fn+/dCp1mLCG0v1CfaH6nyfcBR9M4OhiEGb5jo/rE6A+FraEv6fljHUDzkJ491jgD6f1hpZVV8+p+MBsvQBMHdMo/A0ST7peSdsQDV4xImU4N5mjGcDqcDwlsAXxzNpvwEUw11nzMOfx0fihVZ3fJSmmqgK5fjulIdo1iU8NzPUSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=E5/6eynU8wmMfq8xlBDA/OlTx/dc1Cb3+eprC4tznHQ=;
 b=K6sXuaB9fMlU9P/vPaycLLG3tfP0ODwyU9ytesZd5x7pw5mB+R8FjfN3ugzuto8HgvAvSrOfBv5LqAfl/m3jhMadnte2IbkIX+3WxGR0iEJwkNPOZgirb5Hn6CpYeJQjcyxO4XDGsDLdC0dAceTtKi3XVwgbJqzGlam327fhj70=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Doug
 Goldstein <cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation: Fix missing smoke.serial in artifacts of qemu
 arm32 jobs
Thread-Topic: [PATCH] automation: Fix missing smoke.serial in artifacts of
 qemu arm32 jobs
Thread-Index: AQHZydWPumMM9UHF6EKOWcKXws4Tpq/gHn4A
Date: Tue, 8 Aug 2023 09:17:09 +0000
Message-ID: <7B3BFA6D-5BC3-4ECA-B897-07996D0E9883@arm.com>
References: <20230808085059.13112-1-michal.orzel@amd.com>
In-Reply-To: <20230808085059.13112-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9450:EE_|DBAEUR03FT032:EE_|PAVPR08MB8800:EE_
X-MS-Office365-Filtering-Correlation-Id: 504d4e92-f0f1-48c6-9ecb-08db97f04360
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:
 KSD1s7qg+HFnmfyunMXzHqOSdfmc6SnQG8jsN9lS0yVZdus6zmIVHsCnb+/75FlMF/X8TdnU2p6UW0IZgXkMVF4p1cYLUAOg4cSPSAvr7rAjXfr8s8CcbkH2WDoIL4XsAoNMnsHqafn/mkWa46LMtnQY8ZNo1CCHSQjUryXsuGR1NS4bhpBKujUBpBtBRjOCZueT/Ke+jUwImPVpo6rDuiE9dTOmpRa9EKLGDryflG4ji8nbRXmNPewyedPVxr/iS4OyWvdAEOnUcn2/AH49LeATdRZ6R5G7d1W0hffVZtKMRO2aAQw7ZCTi/TTk+SiKyeJVr9bWIG7HATvqlDCve6CnFiEccR8ZtzJ6XOvvaYBWc6/2OfdkTDlCDzpL0Sh419nVa0hGHPn8Ugf5YbpjdItPU+y5ZNYdnFdSkJznP10lZ/+mJOTfm0vyWUsSusvdVsLuESQnPa5xDwmWigPYXD11zh6xY1ILzJHF9fLUwnaAoluo48TKBWHKw/gNHy1ZsJrY3wqjADFLS6OeQkd4kG49nfTHH3qDLriGh/lYMSQq3mqhPCGd3ApRjtaNNzcn0tR7QJFoGm5pg/Hpvxq4qGShhvsR2JRKvv1DjUI6VdY5WqguUiDFGqgSDXaXOaKjdtXy/OF+pDNVyEh+grK19A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(451199021)(186006)(1800799003)(36756003)(2906002)(5660300002)(4744005)(2616005)(71200400001)(38070700005)(54906003)(38100700002)(6486002)(91956017)(76116006)(64756008)(66446008)(66556008)(66476007)(6916009)(66946007)(33656002)(6512007)(122000001)(4326008)(316002)(41300700001)(86362001)(8676002)(8936002)(26005)(6506007)(53546011)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <71E197C55DB29D4491D492453A2465DF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9450
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:
 DBAEUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1c857708-d677-4c67-8ada-08db97f03e68
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0PqAK3LpAMPH1PbcSqRJLB7KswDW/EaQLTZFV5wDfM96CGyNg+QdRZ5S5vOQwVxxzTJY8epR50kGxjVBigjqr+gx8GE3g6hZRRPqljbDkMYJEfaP3s5kDKblhFSJRaO4J2p2O6VQAqXBeJRE1WMLfivCUE4tIdHi7KeH9d8s0AcQsN6fJ5Pg3kzkSZgiY2F63HO9OpLkAd//Jj9bI7iKUY2SicfPJh1YeoZr/niQ2HejsAZ8jyWP15X5ZZwQh2XMF9XWxs+DN9z+apXg7+So+gSVSvxNHP50K/IyVyb0w9v7dn78om5gXZrowm2oMxeA4pKJwcGVLnqFBvOULsdrKu5zsat5ksvoGBd6mLa9JZAu3S+9kxAmDwaLm4N7rBkg12WoqR7SPRd4mG5NRGP/KXcYJXuxvTUV9CpyHEKBTvEgLYPYmIUFXQIt2I/k2OCDGMyz3hozkazLTsYHC4PP3ul1y3OfKkxCeCPgZxS2BCJNqsxiDejzJVGkQ0oZO495CcNzZSXZA1c5DNWvD7C5TplQzGW592SGfGotfE+Ru4/+7+Ycu1OuVoqoDD1dQTrl2Z1EE4KAr2qGyEzfO95Po4WkUrWqJHbsHV9CDuFrMfXv2fEBIg1ryVkSdBg1qYlz6jF5VntaZGuOc1kUEBaURhr1vi3Pf+BEMCIED73wvbzqSPkVDv6xwQGFiRP+JCX1lYDUWCZsUqRPjEEn2ujqH3zrplP8xpMpGz9V5rbqJcwK1TeoS3Z8PB6G5dJfOpxA
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(376002)(39860400002)(136003)(1800799003)(186006)(451199021)(82310400008)(36840700001)(40470700004)(46966006)(70206006)(36756003)(4326008)(2906002)(478600001)(70586007)(8936002)(8676002)(6862004)(5660300002)(41300700001)(40460700003)(316002)(36860700001)(4744005)(40480700001)(54906003)(33656002)(6486002)(82740400003)(356005)(81166007)(6512007)(6506007)(2616005)(26005)(53546011)(336012)(107886003)(47076005)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:17:18.1407
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 504d4e92-f0f1-48c6-9ecb-08db97f04360
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8800



> On 8 Aug 2023, at 09:50, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> It was observed that smoke.serial file (used to store boot logs) is
> missing in artifacts of qemu based arm32 jobs. This is because the
> artifacts:paths listing smoke.serial specifies paths relative to the
> project directory but the qemu-smoke-dom0{less}-arm32.sh scripts create
> this file under binaries/. Fix it so that smoke.serial gets created in
> project directory just like for every other test job.
>=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 Tue Aug 08 09:20:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579505.907503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIsl-0000wz-Hw; Tue, 08 Aug 2023 09:20:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579505.907503; Tue, 08 Aug 2023 09:20:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTIsl-0000wS-DH; Tue, 08 Aug 2023 09:20:03 +0000
Received: by outflank-mailman (input) for mailman id 579505;
 Tue, 08 Aug 2023 09:20: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTIsk-0000hK-Cp
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:20:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf52cd76-35cc-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:19:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8887.eurprd04.prod.outlook.com (2603:10a6:10:2e2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.22; Tue, 8 Aug
 2023 09:19:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 09:19:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf52cd76-35cc-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mzRSsHT3A88ZYnQzzid4kJZR61AJt04pxrTLD+XLdHR37eFkUsKSGB+ctPTmgqwrE3fpbp7vqawJXfqA1nd1is7CNF3ZIuUqrdqsHsTGZqSixXplZ1A1l6CFvH4YlUMo92TL9/O4EH7nUCdw63udjzKI50kJzR0BC0maz+akn+NiFONfpD4jWMECLLXjcANKuka+QkNvq3WIqP9ZeGl6VeCwwMXu7lh3jxT+uadDW1I2Juva16uNqK2AuuflJ3KrU56jj9yGY+msVQk2CfFe59zo7IziG5JZwimZdCAKKGBAtRPbek+hKyevKtpn4EZwic1BnsqIEH2sNvFw7lm8Gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2kX3Jb1H36shYj6GK+7YjzVzxy2ryONoD+u91GGcdpM=;
 b=djFiDYo7/lbPmP9JX1WhtnLG3xpgP/MO7zaoyaCCQOhEFp++5JgiMAnkPSCslnsCUqYPIz4lsNEmYahBJZxZXolqjQ7PEa0LhFTMvSjyOPGCsvt+o9SNymQO8526dr0KVaUfab8vj+YKu2zPQseDFLH+TNVfKCOHyVIr9gR7RR762samogvYsjHolpzNyF5YVfCaRbLViQcoPUVUsDDmWzXxhs/py+/1nM3c6Aow3vy3SJJPHebqd1Kyk4ZwsRKSK7HyqxtK8H56feSjCWVj8GCY3wnmLqIF3/g5vbyS1zowHGiqrZzszbEjq2CF2FlcRooMfKs8Xlb0YJapGP+Ptg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2kX3Jb1H36shYj6GK+7YjzVzxy2ryONoD+u91GGcdpM=;
 b=Z8uuGm8sxBIvufyXdDhEEDF1dW5UvwSpq1fDyZOjkFyZ9UN9vYnBoAzNx01XB8cbBs+6ASsn4fw9Lv5b34I+lh4xWXf9y+/TOWuoOcQbPXQ9IeTMt4iWYW8qkAJE5cuwAugb0zjRTCE0ZebILti4Sv9yuCAKTuWEL6YoZgWZJmZyfb/HUbohKR6vlkwI3MA3Ubkui+VnWeYS3wma9ZRNU/qjvJKbZmn4m37ujM5otePv/3/ebWM1tJTMfTqz52vPDodVar1R+Xs57fER6A4gLF2rqbJFKNirzjHWgfkNb23q7MRN50tAlnqr/0ChpLZx0lEEhoCU5lwfT3FIP4DN5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
Date: Tue, 8 Aug 2023 11:19:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: MISRA violations in hypercall-defs
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: jgross@suse.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8887:EE_
X-MS-Office365-Filtering-Correlation-Id: 8462c055-604f-43f1-47c0-08db97f0a2b0
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mEukfATbTrjU/12pmu+izgqg0VhyhcdLZOGcw+8vx86+NtF/AOvIi1dPnD3YTVKk4loZN7BvpQBO7VwvgqlcRBw1IRWH6V6lVEUodCPXnixcEU388VMoA4BLyc2Rft0kTWmHTMX0PVtlF6OfCnA3ci9zO+sO6jdEzfC+UovgwfDhrcbx6SfWojNjJdMVw1VDO84Qx9RlK6W2tVzOG5zLenTP6huaVvw5b37ipiE6+aViFeipWyYYhAwLsSvl7kmDGu1J+IiYgrgHNxU2AIbJW4b1ZAaKE2vaxny3tXD1e053eeRtQvWhPx87vligoP6IWIwkrMjcwOWHqLvaMwDKLBYkA+f9h2w1iFwbuaE2tjP7iy0IK8dymkYhysVoXCAzlvQKCVI8a25Rs7K/SHR5IlOMVUjGRuJuZzehfY+R4vhxIysDfKQdKYgRW19zNuKR4vRpuEJMSLJOEoK27DvEDTbn7mX6tawPEzmg9YdZX1j8xf2yh+mU3fGx8J0+P9M0BlxMLj7gLvtmHanc1ynckuTbJshkrlLaxtl3tmY1bPQBSy/DIa2wnYYu73g13l3/2rZ1fiIcdxRvsF3pQBvBWNBbFA0SAzfD015sYFPO1nlQqmhmi4QYj7gcURlf2gVnOGRb5yrSGDIhk91WTFZwiw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(366004)(136003)(39860400002)(396003)(1800799003)(186006)(451199021)(66574015)(41300700001)(26005)(2906002)(31686004)(5660300002)(8676002)(8936002)(2616005)(6916009)(86362001)(316002)(53546011)(6506007)(31696002)(54906003)(38100700002)(478600001)(6486002)(66476007)(66556008)(6666004)(66946007)(6512007)(966005)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWt2SkdaQjhMTlQ0V29jdk0vVE5Dd2ZPaHpoWStMRkhHZXdTdVhpNE1haW11?=
 =?utf-8?B?bnlMcytJamhNNDAxVk1CMmJ0Y0MwS1ZQQjB5eWpoek1YVjJTV0tvejNTWFJw?=
 =?utf-8?B?SmlkMUw4eFRYMzdybEVFWGJjTDVFUUkvMENadm5VVzdEcjhNNDlVMXNnQ3V2?=
 =?utf-8?B?MVhVREdiU2drNE0yTmdVRUZsVk82Y0N1MWFWdGFKRWFkTHlGZG5HelY0MG54?=
 =?utf-8?B?T3Z2UGZpRmR6a0dBSG42Z0hNenhhSURFUXVWQ0hpM25XZ04wdk5LcFgwNUk3?=
 =?utf-8?B?R3pDRWhOUHBzS1A4MHJPblNFbk13RENGTVQweURncnBMeDV1UmN4Y1ZhU0VN?=
 =?utf-8?B?ZFc5MDVIU3NjMTkvMjdSN0h5YU4rMVpGdkRkaTdXZ01IbUczN0VWOXBxMjgz?=
 =?utf-8?B?eXMwRUE1aUd5TXFkV3pxYUhWNXgyQXZFdzc2U0NOYUwrZHRzVUZrUWhjUzYy?=
 =?utf-8?B?TUN2dzlzNU04eUQrMUJYUmFwN0pwOFhVc0RuSUZ0S3BTcDFSK2NLWS94WWpN?=
 =?utf-8?B?anV1clVnZEpwYkZ4Skw1bmxobnErZ1FPZ3o0Kzk3cnFOZFU5MzBSRHNhYjUz?=
 =?utf-8?B?T3lWK3JWK2paVVlLYmxRVkltN1hxUHppVlkzRjMwK2tteFhXTkNFdmhEbXRx?=
 =?utf-8?B?THl0bkZZL2NpcFo1UnhDSVdsT0xMVW1ZY0VBbFhlWURlSEJLSnluWDlaQkww?=
 =?utf-8?B?ZGswdlIwdzFxTWl5ZjVBN3VHWTFTa3N6QjBSWGMxMmEwT0k0VzBiK3VsZUNs?=
 =?utf-8?B?aHkvS2dobDRIaTZyUjlVTzNGWjlyc2dEWWwrUUZzWC9CdmtjeFdIUTRLMm9E?=
 =?utf-8?B?enFsK3hOZFBaY1hHa1VnT3R1WnlrODVpZzdONVNDd21aSGk3cnRFN1ZkS1Zk?=
 =?utf-8?B?Y0FBY0ZrWGlsSzVKT05MdysyaEEyS2F4SVQ5T2EwV1RReTk1LzdzOWVJMVlL?=
 =?utf-8?B?Zjd0b2JCR0ZreFlOZ0VUcVlZN0pUc1VoRWcxay9EYWI4MXJvWS9rTm16bWZi?=
 =?utf-8?B?Q1NESys1YUpNN3ExTmRvUW4yQ1F0V0plbThnU2lUSDFsKzcwcU1xbXUxR24v?=
 =?utf-8?B?djIrODA1M3VUcWhaOUVaVThxKzNqT2oxUkIwV0FuMWw1ZlNIb2x5RkE3U1Mx?=
 =?utf-8?B?Y0ZrSDRPSFErRnJyZ05aencwNi9aSkZxT28xMFZPemE3bUIvbURSOVJVd290?=
 =?utf-8?B?d2R5T3lIUEh6UUQ4dllXRENyelJhTkFuUzlqRnAvTG52cXA4WWk5KzVQSmJN?=
 =?utf-8?B?Z3lvT0VqSVU1aXRuNFFyS2U3NWh0YTc5MTQyRFgxZDlLWWJ1UTc5ZzYyR2hT?=
 =?utf-8?B?TjlUZCsvY2JhSkJPcGQybDl3Tkw4RkcxNjFBREhXMDlQYVZrK2pEMGxXckFV?=
 =?utf-8?B?bmU1bUpNM1o0VG9wYm81Yy9GNC9tWnpiUTdvMmZnSTVXL25tMFFqWUNhcVZW?=
 =?utf-8?B?T3JQMzkzVjcyd3RUUEJuK3ZROEk0Tk9QeTRCNDNYem5mNHhYTkdJRmxKanBN?=
 =?utf-8?B?WlJXYjVkbE5VVUsxU05ZSExCaElPMzJYbzFzdmw3NGZxaHAvbER1SnR2RWhR?=
 =?utf-8?B?c0Qzb1QwLzJndkZ6NTJQTC9MRnRsclV6d2hQTXJnMDBaQUhLVVJzS3lYRlJG?=
 =?utf-8?B?S1gvSVRvQWVtQzIyS1JuSmErdk9Qck13MTIwQzVOU1pzRHJwNitPQ1kwamxa?=
 =?utf-8?B?b1BkQ2gvaGdrYU5FSEptMWt1ME5DenMrQmEra1NXMURqWFR2dE9QbHNOaDg3?=
 =?utf-8?B?a0xvUXkyaFZkc3ZEVERuUkQ4NWwvOG9LR2ZSZDgwUjdGMk1VSG02Z1d0NVpB?=
 =?utf-8?B?UnR6TTUwWTJOVmVNOGFURXVwT1pYZDlhZDQrR0p1dGNvQVh2M1l5djAraDNh?=
 =?utf-8?B?YThEMlJER2o2cmdPUHFGaFNIa3JGa09SeXc5elFMajFvK3R5TGswNmNaanJW?=
 =?utf-8?B?MmJaQTEyR2hjRmhMYVVTNCtLcHlSZGNsa0xjeDhlQXpNNzdsL213Z1VYNjVF?=
 =?utf-8?B?eFprT2pBVlV6UVVlYXdxZFUyQ3JyL3FlSWh3ZVRvWVEybUJyZ1h6bkFRV2VH?=
 =?utf-8?B?Z0NmaWRmL1Fac25XWWVucmViYmtVUzBTOTYwYW4vcXQxVHNHY2pKUGk1N01F?=
 =?utf-8?Q?FkKFax5dQQ4IYmRUYCbDo3xsA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8462c055-604f-43f1-47c0-08db97f0a2b0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:19:58.1750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZRhIx5urfCQyRmrCAcSG1vm1syoXuNdSrikwXOZ9ZE6Uy1Ng7yL3+9oNXGG4q/1QQgFRzhH2J8jauQPbVlDymw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8887

On 08.08.2023 10:47, Federico Serafini wrote:
> Hello everyone.
> 
> I would like to to ask your opinion about the auto-generated file
> xen/include/xen/hypercall-defs.h which contains some violations of
> MISRA C:2012 Rule 8.3:
> "All declarations of an object or function shall use the same names and
> type qualifiers".
> 
> Such violations can be seen at the following links
> (copy and paste the link on you browser, including also the characters
> after the '#'):
> 
> - arm
> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> 
> - x86
> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> 
> Some of the violations are due to mismatches on the return types
> and the use of `ret_t`.

We already said that ret_t will need deviating. For parameter names
it ought to be possible to suitably rename, like done elsewhere. Whether
that means renaming in the generator script or in the definitions likely
again needs judging on a case-by-case basis.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:43:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579513.907512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJF1-0003wu-Df; Tue, 08 Aug 2023 09:43:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579513.907512; Tue, 08 Aug 2023 09:43: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 1qTJF1-0003wn-AQ; Tue, 08 Aug 2023 09:43:03 +0000
Received: by outflank-mailman (input) for mailman id 579513;
 Tue, 08 Aug 2023 09: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTJEz-0003we-Sy
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:43:01 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f564ded8-35cf-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:42:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8446.eurprd04.prod.outlook.com (2603:10a6:10:2ce::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 09:42:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 09:42:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f564ded8-35cf-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VPXeyOsLZliMptjjZeeTGURCav9pRAq9yWEBq9BFhgmIJElUJc9BpqPbkJ/I2WWVC+QKHXQugHBHo0yWXLsVHnnJgW7YFuT+73cXKnGX8umeLz8xp1N7RElM2zhIf/33x9mgcq/93Ig/pZr6jKqpJlFouqbO/g0i0qrgUMfj11kOiuomnEQbdG98OcKAui/SXbSHrHQfQa7uZDT5N7aCy4NRdflGbEkkMvLy/grB7wm+0wLLqbW0SadWq3xIgTjHAcLoLNJPGmor9rnoxyVh5ucnsewDIVR1XUD6ecrXnFBJfVJCOnZyrcZh48yTxb3SbCHnVcPQIgnA+bHXqzTIJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k294eyeSeuiB2Xr7E798WNtAaFEAoAWoNZteqPxNH5c=;
 b=Vp4LkRnSI2ZLLZllY6dNSiwLiDvkyRzSx94bPnW6i68QN8dVFOgtnrgWBdT71pBtE0ZAolU589qem5sdYiqlG45cIs6CFZG7NaISsIkEl5wP9RaYy0bq5NKBKBG92jAIGRWH85otpeCCs0v/fE9x4jWmxHYLAz7bisuEmTIr9gWIJbnBCcFsTK9cBSsdtD2PCPTGosFAxtf1bMH+n3BH5maRCB9MZoftFS4y2QloHiddty48qFHOJ8gH0H4/mXatxQr1FCETIbA+lmdKPzwubZb4JafNP//Z6qQqS3VxlgQTHKMY7i4dOYZWxADgY0lhgjmhHXukNauRwQVuzURoUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k294eyeSeuiB2Xr7E798WNtAaFEAoAWoNZteqPxNH5c=;
 b=LvrBKXUva837NtaMuSUuUEKsUcuQXcqqjzrNsnQw1FklZP3jk2gsRaE4PAeXt+6nG9QgqF9i3xPlB5M1ycDkExi9JqafBn9MVxYylICsNm+WKgXwvC5whbNPxlvyoBFl9mvTgqpAXQ3CJb6xts9/id2WvrWATjIg476DDCJdpwYfryRPjGd0nTQzjbX2PUSEGd69RA295eF7rTHualUWzOiCC+xFm/8LvPVZcNe1h+As/ORHG2KlVciPdSuvItM+1TyOjmM1I/Ex4PdqIH5GYAzkmVjP/UADJcqCrfdjkBy5g3cyJy/NpB2sHfnsObxpfDawqIbtssfRj+LCDQRLgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1ea0cd2e-1821-541d-068f-a18309d1823c@suse.com>
Date: Tue, 8 Aug 2023 11:42:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] common: asm/desc.h is an x86-only header
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8446:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b51bdc6-18fe-4c32-1d02-08db97f3d8c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oYClyM64+2U6YcM1VUd3uitq2aXhx8+pr42+7aw4OQq0EbiHvd01arkiOeZYnp5QrgjD48iVT3VdJHNpPf7KcT5c3XZqKNYjzb7H/UYlbnYSsuH3PVdtjozQbAwrzM1BuR+N52QyJtSA3ZBP2U3DMuljmXkEggR110e0pPPiDKuCdepWZqa53FApN9FR62vn1vf+FkvO1t6+54K4BcS+dVFtGBqRV+nYEn1oDmNqigZ+BW77q51jt8v+7JQQVLZaQGKRBsNKIiD9fkYM6enU5tLK0NYRbWYRtoyafDZmQOolbUKQ7viJKDy+gjYxnkpsn7aPKRVzY2b82bUH36OEN1qNglWHeN/073rdIEy1Tvf0E/4u2Tda3XPWRF+q7G1k3f+K5rGVks3CAoUI9rgM/JY0QP1wIOljlErSrnhV12D7DW2KjsSKxdDB558n2o8h+SmQfuWu3sxR5ty7xGLd8oJNsqN8kURpXp+L7lpPiil/pOd5nnPaD5f5f/m89ImsAkYWAMhbbcsDIYhMSG7/a8zUYzBKG5lVqodRRF7EgLKWNvjqFPF7HbhUilvKw7YbOF13kz+Si5hEdBKYzaEADfhCtH2V+0XEshDNY4H+4SRKoK7gti6r6XrtarniHiHRGWuZTy7llt+CZ1P6E1uUyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(346002)(136003)(39860400002)(451199021)(186006)(1800799003)(8676002)(8936002)(5660300002)(4326008)(6916009)(41300700001)(316002)(83380400001)(86362001)(31696002)(4744005)(2906002)(6512007)(6486002)(2616005)(6506007)(26005)(36756003)(66946007)(66476007)(66556008)(478600001)(31686004)(54906003)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEk2eVZpMzVBRU1TQy9DK3dyd3VXaEJvNUxoSXlUazA3WVhudjJud2ZubFgz?=
 =?utf-8?B?My9yeDdhMFRSOE9tNG9tRlJBaS9sMnQvdk1zWENNRWlZV1ZTVUNhcC9BQXRR?=
 =?utf-8?B?eDlHKzJKbEQ0Y2d6ZzBORXBTdWM3MWE0THQvNFlWSXcvU0FEMUE5bEpxVENy?=
 =?utf-8?B?TXpKN3NLNURVVHRoVHlsamFTeEo0MVc3M3lyNDdvK3JLTlpnNURIaEF1Rkh5?=
 =?utf-8?B?SlRxcXd5aVNDV0xua2UrdXZLOEgvNjRqdEY4eTJyT21UWXo5cnNCSlpTdUx0?=
 =?utf-8?B?NEdSRVNNc2ozN3ByRy9wN0J4V21pY2JTbmNZZG5GdkZXOFplejZsd29heVVs?=
 =?utf-8?B?ZTlja3hDTk8wbHZmNTJzdk9vWWNkSFpQaWhhc3RPZmluZkxtZTNCektCYWU1?=
 =?utf-8?B?SHlrL2kvR1JqQkl6Q2dqV3NJcjZXSWM2ejVFMkRTTUFrbEtzaW1XREtuS25l?=
 =?utf-8?B?RWQyNk9YUEU2SGNndDMyN2xLcC9teXJkL2l5RGNxdmhxTzVLREh1T2RqTFZp?=
 =?utf-8?B?S252WkF2S3EvRzB2YnV4T3Ayd2thQWJyOVNXUng4cTduaXE2NXE4dVNKaGM0?=
 =?utf-8?B?TllqWWRQUjdsdVM5VmdKbG9OZWprRU1rdHZxTWJrYVBuV3UzZUZoa0x0T1pl?=
 =?utf-8?B?UkJHelpUZmw3eGdXbFJ4eDVDRmxSU0lOWkxxRFVTaEFoUXZMbTlDdlF3SDVQ?=
 =?utf-8?B?N3JCdnc5YzFLbEQ3KzV1TlVNMFZmT25Ya0JMWFJhT3RWVWxKdzNEVTBsaDI4?=
 =?utf-8?B?RHBmS0xOb25LbmI1dmxGRXcwTnRLTG5oUHhsNVNxVWhEMm9TY2ZOcmV5cXlD?=
 =?utf-8?B?bE0zOVRjUW1pZDVKN3RxUEs5enVLd1BVRnhraUV6K3hydng4VURPNHhITVdi?=
 =?utf-8?B?ZldCSmFCUW40eUdlWEJ4MGVvZCtBVEw0RnBaN0ppT2dnR0lJU09jN0I4MEgr?=
 =?utf-8?B?cDZ3V0xQY3Z3RC84UlBTVXp3TWVkVnFSMG5yVlg2bWxYaWRaeFdtZWJzRXZN?=
 =?utf-8?B?RHpRK2xZSWNQVDBibkhzOXZJbTNvWG9XNnR5RHQvWEV3S0JUaEZhdmFiK3Fl?=
 =?utf-8?B?d3g3dkdYODJ6OXl0clhrMHdlbFdKV2o0RWNZeWk3Ritld0UxRkdqWDVtT1NJ?=
 =?utf-8?B?VWxGeEJmbVQ2QkcvcHpCRHlmMjdVUjZSUEhFUkY5c1BIMVloa214VDUxZ1Rr?=
 =?utf-8?B?ZWdmMllURWtWNDgraCt6V0hyTzM5ZW85NXFNa2VVTWlhOHdUUjVrYUZaemJy?=
 =?utf-8?B?TVM4ZExqNnRycVRqcWoyYk9WSGtoYjZDT05NWk5XQUE2Y2g0K1FJVjlmeGJM?=
 =?utf-8?B?eDFRSTdRcUs3V1k0Uk83OTdXUE9yeUpYbTBpK2J5VFBqU3pjaHlhQmpRb3JW?=
 =?utf-8?B?WVYzSmgvbCtITTRrM3EyZVE1cDMxdVE4UEZTZ2dCQjhCMkorbmxpYVAvVEN2?=
 =?utf-8?B?emo4Mk5NMmdDdWpiaGc1ZHUzdHlQQnF0S25EUEJxVU9kMlk4bWZ3aHAycSt6?=
 =?utf-8?B?RlRIN294V0MyUE1ZeHhmWVBrajAvdlZPUHUyMWp5UkYvN0EwMlJWeUdrM2o2?=
 =?utf-8?B?L0xUZ0FzbVdhSlBoaUJSNXlnZGlDNlcwUk5lZE9nTVBROVYvd3dYSkxMWUIv?=
 =?utf-8?B?LzlSeVBaaWVwbk1pSkxCcU1oQjQ4TThwdzVBbVpJcXF6MnRVMlFna05OMERx?=
 =?utf-8?B?b1ZZYnpoK0ZzVmZjWFpWK1JORXZleWwyMVp4SHdhMnBOd1VCVkMwQ3FVVFRB?=
 =?utf-8?B?STFydm5MTUxtSEFhbnJtVEFOKzhuWUM3d3kyRmtQdUJxVEpjZ0dhVE1iaHRj?=
 =?utf-8?B?OUJQK1RHL1d2RjJuT2pIS2F1NGV5bTFBZUJSVDBpOHZBbW9CWGY1UnZGMWg1?=
 =?utf-8?B?Sld4aHNJQjNJQ0VHRWVhdU95R2ZUeDdaUVJmZUc1aUFOZXdodklqZnpuYnB2?=
 =?utf-8?B?bHhhZk5WZk1sZnZNU2ZJVndMTTU1UUhhZG4yNVJxSExuYlVCY3J2RmpRWncx?=
 =?utf-8?B?eFpQSk40ZVY3bnMycTJrd3MzclhYT1NtL1Q3bEpFQ2xlanRyYmZxTlBpRVN1?=
 =?utf-8?B?SGtHRmRpUW11eHdnUkRkZ2g4bHhOcThQcEpZcEx5TFBhclVBZ3lmdE81b0RZ?=
 =?utf-8?Q?tSlgPbJ1v7z9XLdi5KrhdtLZa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b51bdc6-18fe-4c32-1d02-08db97f3d8c9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:42:57.4311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TVWPT2ZUeH5KoTnOoTJZpd3Ajo/olGy6LJh3G4JIVfjXToJ/mvo+vd4ugW7n31HxexZMxVhJHrcqRoX/OnNrMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8446

>From briefly going over 9062553a0dc1 it looks like the #include in what
was ac_timer.c was added there for no reason. It's unneeded now in any
event, and it is the sole reason for Arm to have that dummy header.
Purge that, thus avoiding PPC to also gain one.

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

--- a/xen/arch/arm/include/asm/desc.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __ARCH_DESC_H
-#define __ARCH_DESC_H
-
-#endif /* __ARCH_DESC_H */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
--- a/xen/common/timer.c
+++ b/xen/common/timer.c
@@ -22,7 +22,6 @@
 #include <xen/rcupdate.h>
 #include <xen/symbols.h>
 #include <asm/system.h>
-#include <asm/desc.h>
 #include <asm/atomic.h>
 
 /* We program the time hardware this far behind the closest deadline. */


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:46:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579518.907522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJI8-0004Xf-Sw; Tue, 08 Aug 2023 09:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579518.907522; Tue, 08 Aug 2023 09:46: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 1qTJI8-0004XY-PR; Tue, 08 Aug 2023 09:46:16 +0000
Received: by outflank-mailman (input) for mailman id 579518;
 Tue, 08 Aug 2023 09:46: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=9+kX=DZ=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1qTJI7-0004XQ-W6
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:46:15 +0000
Received: from ppsw-41.srv.uis.cam.ac.uk (ppsw-41.srv.uis.cam.ac.uk
 [131.111.8.141]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69e3550f-35d0-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 11:46:14 +0200 (CEST)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:54378)
 by ppsw-41.srv.uis.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256)
 id 1qTJHu-009IcP-aQ (Exim 4.96) (return-path <amc96@srcf.net>);
 Tue, 08 Aug 2023 10:46:02 +0100
Received: from [10.80.67.25] (default-46-102-197-194.interdsl.co.uk
 [46.102.197.194]) (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id D63AB1FC27;
 Tue,  8 Aug 2023 10:46:01 +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: 69e3550f-35d0-11ee-b280-6b7b168915f2
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <77a9f66f-6535-e64c-6022-8de62b405f64@srcf.net>
Date: Tue, 8 Aug 2023 10:46:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] common: asm/desc.h is an x86-only header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <1ea0cd2e-1821-541d-068f-a18309d1823c@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <1ea0cd2e-1821-541d-068f-a18309d1823c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/08/2023 10:42 am, Jan Beulich wrote:
> From briefly going over 9062553a0dc1 it looks like the #include in what
> was ac_timer.c was added there for no reason. It's unneeded now in any
> event, and it is the sole reason for Arm to have that dummy header.
> Purge that, thus avoiding PPC to also gain one.

And RISC-V too.

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

I'd noticed this too, and was wondering why it had escaped into common
code.Â  Good riddance.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:46:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:46:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579519.907531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJIL-0004qc-4A; Tue, 08 Aug 2023 09:46:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579519.907531; Tue, 08 Aug 2023 09:46: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 1qTJIL-0004qT-1A; Tue, 08 Aug 2023 09:46:29 +0000
Received: by outflank-mailman (input) for mailman id 579519;
 Tue, 08 Aug 2023 09:46:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTJIK-0004XQ-21
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:46:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7199e127-35d0-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 11:46:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8446.eurprd04.prod.outlook.com (2603:10a6:10:2ce::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 09:46:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 09:46:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7199e127-35d0-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TsQbHyK8371hUpUCjQ2h6kvc8HkwF3y7Z9LtBlQWjIa1MaZJULl6ReeSxv4LWLAxb/MY/cCBpFxAZ6wnvVl6hxh6y9oakyCAL3wPzWxsqlJwq/DnvnEm8/Ri9Tsd0GMTNq9GUx1oWHwLnWzt6KcUCXLstX7rlG5M29ekNO6Lng0TmWHLPcx1RRcFnGm+SbJENil5LHk/S+YvKXqhUvayu/6bBtv0X4s9awc8l+7a62WSpXjXH3gkXyo9FaoDz8PLxbr9sfXh0fPXhPB8WBAnfsL4O/O55NUDgT5zuaaCJ2ncAT0S3Tgy9noyFVIoFCduiJQdNKpXH1z4E2DfKZVXUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SVrFtQxpqHFMm4qDt7dXEN4BfK0cHrftLblwpSh5cH0=;
 b=TXhsNkxj0pcrYayCxGnboHo0BOIAsIvvY3yKTqP7r0PhFrkawwCPsSfRjfAU1kElAu8oN8Ww/5Ke39+IBZUFhn6lKyhZH5Z2pH6PEgHJgN9xkbmufoUUQxLOO6/iNv2ql1MKANK6vurGLRkFj0DFQHJldBb3y8djQR+uwWRZS5a5708jo/neEV8Uq/IrBM5uUJSociq7SSTvChne4CWr+D3ZFu6wJt7LOr6KUbIfJvSxBGzDVDYpnbin0zQKLMM1t+kzveeiXUnl75YOMcP/gHftHuJbEa70KBdow8HO9ZYBn+eDRgxi1cJ1KqxIfyPlGAImbRiHIesvQpolp3pH8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SVrFtQxpqHFMm4qDt7dXEN4BfK0cHrftLblwpSh5cH0=;
 b=Su0FHVYqDlZKYxTe11zbOkJlub8bMKdXITFuM5Du9ptsTYnjhrTqzuCV+sWP/xkY7W5WCFVOB7QvKjZ0e1KazFQtuglGyucDfB+O5NHgRMYeLNhYilnKTin7b7Su9/zYWkUJKwLo+LgpD53TH8Ocbv6rJfMyE3iecU1O+crWwJuGxSWbibpJfI2iLsw1TmALtD2HfWt6D4ISfHOfB92DEP9eGPJ4JUM4WYFo2+vqbj2Uo9ACvdQFbmzydH/mPcPXsylIJB2JFpqrTdTvfohk2E/3gN28zLzFhdzNQkCJex/zuxRt3NZ5v3uxN2s9nd/YTetOk69cQ/jINQ8mBFrtGg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com>
Date: Tue, 8 Aug 2023 11:46:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] move __read_mostly to xen/cache.h
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0194.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8446:EE_
X-MS-Office365-Filtering-Correlation-Id: 24628a65-1c93-4ddc-4ec5-08db97f4550c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZtLsTheX+PuBQyB/isMq0GkEsyY09jQbKY3AsayPlfoKdDGWCFLoQugUUu26z7T8SkweCtd3HMMA0/tRFPDOzfMeK1nsWTe7uBiFqsVv4pPgLTLZcFNc7yU832WjPGdA21WkHk0bmW3bZiQXcVceSBaoH05MLMY9/OaCuvGZ3FE4JiHIyUq4QuvyAXXrl3G1tS8IDNaSDip6yvKrxEDo9mwpZ6arQJUFTf0vdO+YZzf5A+X9QEqrY6QexD8Ktm1KgqG7/dv0zSxt1pbAki09vcWo30LvbvH714yoy2mdgWtdChwT36lycuSPUlHGyXqi43hC7xlKrc9IJVSqOrVOqRCrulKfWFuwWlyaLGjJk/P65d2MMD1hwmhTnox4dhr3osO6z85p1pyV5QXtkGvbmaTWXshgsMUXKf8ZJn43/5T4E50P6ZEbR69zFIvOCF5VudASV3byeGkGLsomCQWvcHwlFyZqwYI9hpJHNUn2dwTziPIc09wcH9MMrIxE2b2NhCeVb7mx+HaKWZR0uYf3fnl+bQeG5oe12i5FqsEgiaoBUHFH1LXS2wgvfNoS0gPmuDHc5p3c/t9T6Y0VFXDB4LF7v/WP80io+ZzKk8milNsuyurrpq9MFcRBvCIWOpPrpQ7CB1Ctb5cZAgtMVFAGWHzR/8ITJfese/4kbpqm1t5ACirBYNkNDnLCaC1WrX+z
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(346002)(136003)(39860400002)(451199021)(186006)(1800799003)(7416002)(8676002)(8936002)(5660300002)(4326008)(6916009)(41300700001)(316002)(83380400001)(86362001)(31696002)(2906002)(6512007)(6486002)(2616005)(6506007)(26005)(36756003)(66946007)(66476007)(66556008)(45080400002)(478600001)(31686004)(54906003)(38100700002)(45980500001)(30990500010)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2pFTGt1N1RRTEdxSlJCUllBNzgwNnViaFpUYXBYMHFSM0lSMkx3WkxWNis4?=
 =?utf-8?B?TjBtOERERXZTN3Vac3h3emdmMW8vWnpVSUFJT25jTkM4c3FoWGlwUXZuYStr?=
 =?utf-8?B?VUlKeEZLc3JTTE83NTdEczZIbHZ4T00vMytIMzg4aC9tT3RMZTBLck5OY3kw?=
 =?utf-8?B?ZjFwcnVXUTJmNExxOUVUd1Z0SEN0SVFHWnN5bWFPcUxRQnlEM2hRUGVKbXBW?=
 =?utf-8?B?bHhMNnV3RUNuaDZXTVBhN2M3bEM2RGQrVEt0TnNwMnVNVWZJVHZvTWVoN2N1?=
 =?utf-8?B?NHc1aTJVYUN3b2xDMWpZbk9CWFpUS1ZXcktBMDJTa2JNS1ZhN05VTFZtUjhN?=
 =?utf-8?B?NmtEM0hJNFhKRTA4SzU5RGNlVU1BdUtkNEtmVERXUW84djIyYTRJOTkrMXlt?=
 =?utf-8?B?d2FOTUV4VWN4ZWdva0RNQWk1OFk1Z3UzT1pXd3BVdW1Vam8ybFlSN3BVRnNo?=
 =?utf-8?B?SVdJTU1pT2FUWEhFRnRmY085TWFsZ05pVjNjZ3hIQytlTnduVW1icGlYWHl4?=
 =?utf-8?B?RGNYKzJVaEpOYWxLZndrd0oweURGOG9ubzhaY3M0V1l5allVajRjZHlIKzFN?=
 =?utf-8?B?b3liUDhBUlIvaVB3d2VUVnYyOW9EZy9ES01wbGVJbXgxMWhCUlRPdE1sMUMw?=
 =?utf-8?B?ODhXZnlFbzRVNVhKcXlLSkI5bjFFWlBWaHRlSXAvR1N6VnVzSzQ4eGZUT1RU?=
 =?utf-8?B?MmpFOGttR0crL1VmRmZhamdidzhXdmVPdTBBT2ZVSXZheHJTVDRuN1dXK1o1?=
 =?utf-8?B?MXZ6Z0l5TW1PbjNnUnlGNTduN3NIME1TREN3TkVEa2xxdWZaYlQxZ2lDUFVW?=
 =?utf-8?B?eHdsUkMwOUoxTUJzNUJKNWlaNkxNS2s0RDJ6eVVZQU03cTBXTXVIdkYwZlN5?=
 =?utf-8?B?NlZHSGFmdHNOT1FQaTRZUVhrY2Z5a0JQcVNtdEZjaHBGb3BSY2kvdUNCdnB1?=
 =?utf-8?B?R2lUbE03MFc3ZTBEQVJ0SFFzcHRNR3E0eWxrNCszQXFIS1FhbS94STVsSmNL?=
 =?utf-8?B?OEpyTlExSmQ3b1hvdkt5eDg1dkRJeTZKZ2JXdWx5VkVNRXh1KytDdEFCemxl?=
 =?utf-8?B?RnFsUVJ0KzNYK05QMFdWWkU1akx2QzF4Wmg1Nkt0R0tTMnhRYVV4NDUwL00y?=
 =?utf-8?B?d2tEWEZCL0pGaXRxak1QMjlaNDBpQmNGelJVSnNyRno0QWlSWVdMZ3hRNkh3?=
 =?utf-8?B?Mkt4UDRVZlZGUmozVEpsZTVKK25Ta2dzT0JVMGFsdGQvVzZBRGl0WWM4ZE5R?=
 =?utf-8?B?dU1wa1BiMVRRakh2amJNNlo3dDMxK1Z5Mktib0YrWVNhWDlLbEVWVnNyN2M2?=
 =?utf-8?B?WEJBdmlrSG5scW01ck9JVEw1TWpwek1uTEtVUmZCbGF2SVIxSUNEclk4cVo2?=
 =?utf-8?B?SUt3azF3eWJXSjFyVTZFaDJQYmppTGUvVkFFdk1IaGZhQm00NkZBNDJHSnRS?=
 =?utf-8?B?M2l2UklHd1kyS3JSbE01WEJ0SEVjU2t2eU1nejVlZVV3bTN4VWdrSVJkZDBq?=
 =?utf-8?B?dStjbkYrT2xoZDBzMFVLcU5BdnFISmxkd0NIa0xaUXNCbTk2Tnh4dGV0Z1hQ?=
 =?utf-8?B?VmpQWGRvOXRpNHhzTWYyVXphM0JUZXhzeDI5dkVaeGxKcHRZYjVta3VhRXF5?=
 =?utf-8?B?MEFGYkw5djNkckt1YndTbXJya3pabEpveWExMEsxMnEzYkM3c29La3cvZW9F?=
 =?utf-8?B?UG90Vzd1Q0hQdjBpTkhnN2I1K255Mkc3ZWlHSXp4L2NZTkxtRW1TdHpMb0FV?=
 =?utf-8?B?ZFRZa25JS1gyN1B0VXNrK2ZsNE1kK3Rxcy8vcHkrUzI3ZmNzcFhJNzRyckth?=
 =?utf-8?B?OUVrdzdwSWU3Y2I2NnNFTDNTWHlJOGx4dWZ5ZjhDTXFCTldRdlBGRDhocGdm?=
 =?utf-8?B?MDJMejArOGtodmp2Z0prYlp1NTlzZjg4K1c5L2pPdzZrYVc2TnlpcjIzdDR3?=
 =?utf-8?B?c2k2eUY4MGVHVDAveTdyRVhueEUyWjJjck80dzBBcWplMUhyVDAyKzBkUVVN?=
 =?utf-8?B?b211azZwUjAvTExTY2JXVkE4MVVZcVQrN0RCUlNNaUVXYndHZVE5WnZsZmdt?=
 =?utf-8?B?ZCt4ZHlJQmQzUUhsV3JwWnM2cDlEaG9PWjdNZnBxaVJ6TmdSUmhYWGNQTGxJ?=
 =?utf-8?Q?MjVJC4+K2lssM3U6hamPIGewS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24628a65-1c93-4ddc-4ec5-08db97f4550c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 09:46:25.8838
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p5Qa+SdjgpvN8/r6BQ1V4xLbWEGLQb99h3v+6rTfai70EE8dvhbjUAM08I9mXpqc/M7XNmFkFQiZDjpL74l1yQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8446

There's no need for every arch to define its own identical copy. If down
the road an arch needs to customize it, we can add #ifndef around the
common #define.

To be on the safe side build-breakage-wise, change a couple of #include
<asm/cache.h> to the xen/ equivalent.

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

--- a/xen/arch/arm/include/asm/cache.h
+++ b/xen/arch/arm/include/asm/cache.h
@@ -6,8 +6,6 @@
 #define L1_CACHE_SHIFT  (CONFIG_ARM_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES  (1 << L1_CACHE_SHIFT)
 
-#define __read_mostly __section(".data.read_mostly")
-
 #endif
 /*
  * Local variables:
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -34,13 +34,13 @@
 #include <xen/lib.h>
 #include <xen/types.h>
 #include <xen/acpi.h>
+#include <xen/cache.h>
 #include <xen/smp.h>
 #include <xen/guest_access.h>
 #include <xen/keyhandler.h>
 #include <xen/param.h>
 #include <xen/trace.h>
 #include <xen/irq.h>
-#include <asm/cache.h>
 #include <asm/io.h>
 #include <asm/iocap.h>
 #include <asm/hpet.h>
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -7,11 +7,11 @@
  * Copyright (c) 2003-2006, K A Fraser
  */
 
+#include <xen/cache.h>
 #include <xen/paging.h>
 #include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
-#include <asm/cache.h>
 #include <asm/flushtlb.h>
 #include <asm/invpcid.h>
 #include <asm/nops.h>
--- a/xen/arch/x86/genapic/probe.c
+++ b/xen/arch/x86/genapic/probe.c
@@ -6,10 +6,10 @@
 #include <xen/cpumask.h>
 #include <xen/string.h>
 #include <xen/kernel.h>
+#include <xen/cache.h>
 #include <xen/ctype.h>
 #include <xen/init.h>
 #include <xen/param.h>
-#include <asm/cache.h>
 #include <asm/fixmap.h>
 #include <asm/mpspec.h>
 #include <asm/apicdef.h>
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -6,11 +6,11 @@
  *
  * Copyright (c) 2019 Microsoft.
  */
+#include <xen/cache.h>
 #include <xen/cpumask.h>
 #include <xen/init.h>
 #include <xen/types.h>
 
-#include <asm/cache.h>
 #include <asm/guest.h>
 
 static struct hypervisor_ops __read_mostly ops;
--- a/xen/arch/x86/include/asm/cache.h
+++ b/xen/arch/x86/include/asm/cache.h
@@ -9,8 +9,6 @@
 #define L1_CACHE_SHIFT	(CONFIG_X86_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES	(1 << L1_CACHE_SHIFT)
 
-#define __read_mostly __section(".data.read_mostly")
-
 #ifndef __ASSEMBLY__
 
 void cache_flush(const void *addr, unsigned int size);
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -1,3 +1,4 @@
+#include <xen/cache.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 #include <xen/errno.h>
@@ -8,8 +9,6 @@
 #include <xen/elf.h>
 #include <xen/version.h>
 
-#include <asm/cache.h>
-
 const char *xen_compile_date(void)
 {
     return XEN_COMPILE_DATE;
--- a/xen/include/xen/cache.h
+++ b/xen/include/xen/cache.h
@@ -15,6 +15,7 @@
 #define __cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
 #endif
 
+#define __read_mostly   __section(".data.read_mostly")
 #define __ro_after_init __section(".data.ro_after_init")
 
 #endif /* __LINUX_CACHE_H */


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:53:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579532.907542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJOZ-0006Yg-Pg; Tue, 08 Aug 2023 09:52:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579532.907542; Tue, 08 Aug 2023 09:52: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 1qTJOZ-0006YZ-Mw; Tue, 08 Aug 2023 09:52:55 +0000
Received: by outflank-mailman (input) for mailman id 579532;
 Tue, 08 Aug 2023 09: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTJOX-0006YA-S4
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:52:53 +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 5654acf0-35d1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:52:51 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-317c1845a07so4045812f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 02:52:51 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f6-20020adfdb46000000b003177074f830sm13122945wrj.59.2023.08.08.02.52.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 02: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: 5654acf0-35d1-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691488371; x=1692093171;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1ny2lmOhIgokgHz6VdMH7DQQmIyVahsX5ZjUgT/HTBU=;
        b=W8xMmLsazsGGrf/WVu7d2ZLVN0X9rRchXdEl2BSMMzPY5mTXFvwqi129d3msky0qpE
         +0mkEPHTMcsLXiVg8J8r+RnOCrLKnTOBDtn7bQcjNSAQDRQQToKSX3NA+CqOcUbajibl
         iARCa1zjse3CabFYvaEbo3ci86N5JJkFbYjIs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691488371; x=1692093171;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1ny2lmOhIgokgHz6VdMH7DQQmIyVahsX5ZjUgT/HTBU=;
        b=f2R6BubCLfPQYUt3GyWCrqXqwEyFZtBdG7K1fQfJSL0tgTQjOPrpi0emFWF4/ylFg+
         zXDo1J31QvJBvCL9PMA7jrqVV8GWY1YwV7TVlqBjf0KRrSYFeq5MJMOvpMfQP342Jl1Q
         TQ3QZpSjEyPTKAzbXbHTKNAMJe5lUL0CQATv5DQJVC+FH0fxzcNh6kMImBW/Z0Fde+9z
         cRRZMOH+/J8PeAwNMFnHnJ21rtbw5H7XU0/OX90g1ewkPcU1i7JvMpb64xaJ6bwxm4lp
         KOMM1oIWsgKDX5T/SDtQ/6cfutdiPxkaIjgZDq6CnWRlSC0I29Il6WLYx9o4iWZKFtzM
         w7gQ==
X-Gm-Message-State: AOJu0YzIB8UA21NNK/Oi9/BWuND26x9DTlzRrP+nWnyNTGJfrFkXT8ep
	xwdD8CM7fdFRpD8bf06zkaNoBQ==
X-Google-Smtp-Source: AGHT+IFVgI9gGVkg+vluaazwSOrh/swjDa5/VCu5uqWz5MKw9HghNyk7kF3CDAHeCOGk+oPqmP/cHw==
X-Received: by 2002:a5d:464a:0:b0:315:a1bb:4d7b with SMTP id j10-20020a5d464a000000b00315a1bb4d7bmr6792592wrs.35.1691488370921;
        Tue, 08 Aug 2023 02:52:50 -0700 (PDT)
Message-ID: <64d21072.df0a0220.bdac0.2e7e@mx.google.com>
X-Google-Original-Message-ID: <ZNIQcKZam87eLK44@EMEAENGAAD19049.>
Date: Tue, 8 Aug 2023 10:52:48 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 5/5] pdx: Add CONFIG_HAS_PDX_COMPRESSION as a common
 Kconfig option
References: <20230728075903.7838-1-alejandro.vallejo@cloud.com>
 <20230728075903.7838-6-alejandro.vallejo@cloud.com>
 <5bd0894b-6114-48dd-8c7f-2d1fe142c9d8@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5bd0894b-6114-48dd-8c7f-2d1fe142c9d8@xen.org>

On Mon, Aug 07, 2023 at 06:48:13PM +0100, Julien Grall wrote:
> Hi Alex,
> 
> One more remark in the title. s/HAS// as you renamed the Kconfig.
>
> [snip]
> 
> -- 
> Julien Grall

Oops. Good catch, cheers.


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 09:53:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 09:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579538.907552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJPY-00079E-78; Tue, 08 Aug 2023 09:53:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579538.907552; Tue, 08 Aug 2023 09:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJPY-000797-44; Tue, 08 Aug 2023 09:53:56 +0000
Received: by outflank-mailman (input) for mailman id 579538;
 Tue, 08 Aug 2023 09:53: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=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTJPW-0006YA-By
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 09:53:54 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 798c4c75-35d1-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 11:53: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: 798c4c75-35d1-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691488431;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=OjlPd5DxKYzZO/DBZ0j0P070yN/pTV1Fa2AkA1x6QFU=;
  b=Gx1G0F/Lx2khIvsWGpO6iPf12CbAiKntGoFQ+M6kWFLzetdoFIdYnXSR
   eFcLDIXxhu/QOLVldqqEeZ4R81ns7MCMtsZa9jiOpaN/21ZXzn1TBaR1a
   398rahrWBIaeb5SJESSjL57AubV9GquVV0QkQbCn6c8FRvMvY4ogsLbHr
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118113088
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:7+LMkKCIjQC0wxVW/xvjw5YqxClBgxIJ4kV8jS/XYbTApDgn0mBTy
 TEWWG2DOfaONmqgctFzOYy29ExU757XyNFmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNA4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw5tlbLlERz
 N4jcxtSY0GAq+m42b+fVbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4XaHJwOxhbIz
 o7A12P5ITsrDuK+8we+40iCoOzxpSG8ZrtHQdVU8dY12QbOlwT/EiY+V1G2vP24gU6WQM9EJ
 gof/S9Ghbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xGWwsXjNHLts8u6ceRzMw0
 USSt8j0HjEpu7qQIVqU7rqOpCm+ETQUJ2QFIyQDSGM4D8LL+d9pyEiVF5A6TfDz14eucd3t/
 9yUhDQBq5oj0vcp7P6Qol2WgB6nqIHEahFgs207QVmZxg9+YYekYamh5l7a8etMIe6lc7WRg
 JQXs5PAtb5TVPlhgATIGbxQR+/xu55pJRWG2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgarrU6zGLoC6T7wJs8w4ifIQCqWdjCfdoElTibe4hggBanQEn6AlI
 ou8es2xF3scAqkP5GPoFr5BiuRxl3xunDO7qXXHI/OPi+P2WZJoYe1dbAvmgh4Rs8toXzk5A
 /4AbpDXmn2zocX1YzXN8J57ELz5BSFTOHwCkOQOLrTrClM/SAkc5wr5netJl3pNw/4EyY8lP
 xiVBidl9bYIrSeacFTaMC49NOuHsFQWhStTABHA9G2AgxALCbtDJo9GH3frVdHLLNBe8MM=
IronPort-HdrOrdr: A9a23:xOjV762D7xpA2xSkHZpCkAqjBEQkLtp133Aq2lEZdPU0SKGlfg
 6V/MjztCWE7gr5PUtLpTnuAsa9qB/nm6KdpLNhX4tKPzOW31dATrsSjrcKqgeIc0HDH6xmpM
 JdmsBFY+EYZmIK6foSjjPYLz4hquP3j5xBh43lvglQpdcBUdAQ0+97YDzrYnGfXGN9dOME/A
 L33Ls7m9KnE05nFviTNz0+cMXogcbEr57iaQ5uPW9a1OHf5QnYk4ITCnKjr20jbw8=
X-Talos-CUID: 9a23:mnuSDW8ybEb6Rd/4/YGVv1IrNu8VLUT/9yz7fELpCkpiRqSYbUDFrQ==
X-Talos-MUID: 9a23:ZrfYgwZ2UELGnuBTsD/PrgBYCuZS3p+/Mm4rkqs+uY66DHkl
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="118113088"
Date: Tue, 8 Aug 2023 10:53:43 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] libxenstat/Linux: pass nul-terminated string to strpbrk()
Message-ID: <9654cdaf-48d0-41d4-8b1a-ee711950c45e@perard>
References: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <a7f49430-5933-8388-f73b-3f75a5877bf4@suse.com>

On Wed, Jul 26, 2023 at 12:42:00PM +0200, Jan Beulich wrote:
> While what "tmp" points to has been cleared at the end of the first
> iteration of parseNetDevLine()'s main loop, this is too late for the
> first iteration's invocation of strpbrk() (copying the interface name).
> Properly nul-terminate the string at population time instead, removing
> the late clearing.
> 
> While there also eliminate a confusing (because of being wrong) comment:
> A regex parsing error would be handled one further scope outwards. Here
> we're dealing with field 1 vs any of the later fields.

I think the author of the comment meant that they couldn't create a
regex that locate the interface name, and instead used strpbrk(). But if
the comment is confusing, it's not helpful.

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

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:05:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579545.907562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJai-0000Mb-6b; Tue, 08 Aug 2023 10:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579545.907562; Tue, 08 Aug 2023 10:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJai-0000MT-3v; Tue, 08 Aug 2023 10:05:28 +0000
Received: by outflank-mailman (input) for mailman id 579545;
 Tue, 08 Aug 2023 10:05:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTJah-0000MM-BK
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:05:27 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 174c35b1-35d3-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:05:25 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7132.eurprd04.prod.outlook.com (2603:10a6:10:12e::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:05:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10: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>
X-Inumbo-ID: 174c35b1-35d3-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K4Myi64rXXfX1+OX/g64WatPxg+6k6i91ypSlF2oXOmjqT+TbXkZ4JZZ6SKO0W8LCsmyiO95Z0vReYoddAnRZD+CeBPs5pa+sNqUlBuGt91+71hRbl/My+vnR4xt1K1ru6SXTa2JOqrL76AYJwbHdMAIQkiloDSxKOcSBbCCeDbqDzYzj5mR2eQegUIDG13ow7IjZ906irKfS83X1HLVrB9/YTEcypBHKoiGc+5pep6wU/AIQyJqR88Oi5KPd31kQA0fOvjao3YGAn/tongLsNpnzvO6Wd8LTKcTfSN3uqZGyHHSmsCO+6ZQOA1arQtVbj0mh0IWfR1bDG3bIz/LOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C29WstG3FNN7JIwmB+XA6DOxLNVEuHctkhVXHKl2C9Y=;
 b=Qt5Gibhw9QmYK8a4hc77ZyN0kDf0UIG8UyoyDMG8MbLMBWRdfqgLNSRIuviYnDpDsU70N2JfIeilLlK20poALT03VfIG2Sefi2Dql2khCO7EtxrDWgtiB8yXzGABpbeRXCMdfqrqdoZMbhBEG8Frtcp4sUzy/ZDQoAYJcpPragL5WifPePNEqmIRat3l4wmopg+E8wKmhuf+xapLRGX6cSjTKZ7F1xJyANFro/nPoDJHhjCo11J/EIO0Fzze6Nlv2ZYaPQFTl5h4dAR/BkGaNnaYsPXIlkFGVQ0mKfhqKG2ZCxj9dHHnGYoxNUhWclusdeE4B8YJqwfHrad+udAa5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C29WstG3FNN7JIwmB+XA6DOxLNVEuHctkhVXHKl2C9Y=;
 b=CGjxzsOqgmmrsvgeibM23Qe60q2iRLLiUlIZsvRAQgWVXmNXDT42TCN44VZc1WHBzpO+C+R2S9BjotlTqrDVi3Dc9UHGYXyKpAWD5iGkZT3vO5Xo0OZ3kUVsLRWE14cO/ZLFQ3b2D4wadpDxfnVzUktkuriCVr0D+R24t7jSI0DPL/2NTEEAJVyPWj32QLKWikZ1u8FNwe4s7+YZTEwEFvogjnMCFO6dPmtjVFFW8ecWRNh4LEAHTMPbz9JqFFxPZGZkHZ0hbdELVhTPTl4fhrOf13ZKbuTBaNhP+U/73HUI7Hxkjpc+8frentTKq9WXV2tPTn1NISeabDFAara1nw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c367d8db-5b9d-8f6e-0086-caec6e90d53f@suse.com>
Date: Tue, 8 Aug 2023 12:05:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 6/9] ns16550: Guard accesses to `vuart` field by
 CONFIG_ARM
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <1bee2fe06c4a9262b05cb4b8cd392d9630279f30.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1bee2fe06c4a9262b05cb4b8cd392d9630279f30.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7132:EE_
X-MS-Office365-Filtering-Correlation-Id: b5dd1285-7a5d-474b-ec2d-08db97f6f993
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+QWBVsmlOPRchqXkKey82/2lJbcts8WllpoyEsUCF992s+TtonehXf/X7/+W2MIQwSkY2mLnRJTOdxMsinHIJwNPDoqnJOjKP3eXkTjBOFbWgWMCKd1S7SnTGumZXvsajY8wt/SUnUjEkqLG9Mq+s30f+V1DdUSseensOf2mMXODmTBdkE4IY22TE4W9hNbhfSg1iqTZ0ddDLGwNzZhE6aZ8C0tC1R8t1GevPXDh93VGh+NSMwWdo9PaoZMgB38rrDllGCOpw1ANenWQHH/j8NqOFxzpXN9zGZ1SACLcufHDD5UIdn1WgG+ZiTMecBXxqJnSZ5arnhl8FMoaumnDcgY4UaehU/h2B2Sq4YZxbQuYmb+1MWLdNgDB7Cz3AZ3GZoZQvKaqkCtZidPBY2AVueclkQanK2i2By5sUWhXCVsfNE3nJmeCQHoLZXr8YApj2lZCbRBw7OvvVzjfga8SwBBmhrHT+wfaXU4RtayhbwvazO1RPmYulZt228s7rHQ0evUIH5eqVWlA3l8+6N9sY/r7HeD4tJJ/493rTSXuz0cZ4j7/ENrwMv9O7mBP0P9ZD4DyeFpUw5C3UoeA14+craDUSnsyLHwwETOFsH3YzbY/AIcXP+4Eo30idAGfDwoCAOlnF7BIXwYdaTYi72DAyeEa5WqtdJirMwYmz16pcMQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(136003)(39860400002)(396003)(346002)(186006)(1800799003)(451199021)(31686004)(4744005)(2906002)(6666004)(31696002)(6512007)(86362001)(6916009)(36756003)(4326008)(6486002)(54906003)(478600001)(26005)(53546011)(2616005)(316002)(38100700002)(6506007)(5660300002)(8676002)(83380400001)(8936002)(66556008)(66946007)(66476007)(41300700001)(81973001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1dQbTFkNmptVGpRWmh3QjBFaVVoSDRjWVFGUXR6TEFDWktMQTB0NFMzQUpG?=
 =?utf-8?B?T3hXc3dCUktGM0VPUDNxbVhFaDhSTkpFeXJ3cE1qbUQra3hlSGZNbjkySGFV?=
 =?utf-8?B?R3RUdmgyazdSV2tGaVVxRjZCSytJbDUwWW5iTTgrWHo3dmZQdUhIS2NZT0RT?=
 =?utf-8?B?L0RPTWZvQ2ptOWIwRXZ1cFE4S2c2akJzWDltRUROMXZXbFhJaEd1MTYrVDVz?=
 =?utf-8?B?c0Q4M0pWd3hJTExYaDVMNkVBWDFEbHpEQ0hPbm5TNkR0NHNnZXFISUhkREhK?=
 =?utf-8?B?L3BycFJBTEFRWjBKWWhmdDFWTWdEK3p5WHlEY2xvS0FnNDRGSTBXRGFkelUx?=
 =?utf-8?B?bVgvejY3S3pWZW0ySkdsMjZoRUJ6Z0FYZzVsdmY2UGRZOVVUdEd6OVdmd0c2?=
 =?utf-8?B?bklyYjgyZUUyaUR0enFUdFZUazJwYkxKaU9jTWEzZGVWaFUyTXdyaDNCODFD?=
 =?utf-8?B?dEg1TGcyM2kwa3JyeVpYajJlN2dXc0NtcXNsTU9kZ1VrdXNtd1ZLWWtBZFpE?=
 =?utf-8?B?MjZlQkkwUEhBUEVQeGxoMXBjeEhqZzMzSVh3MDBMbjlVM3pPR3ZCMzNzN09z?=
 =?utf-8?B?RDIxQllvZkhKUFBNZGZVZ3lMWUlXcjk2ZUozQ3B4aHJFUUR3Y25HZDRSeURw?=
 =?utf-8?B?Tno4R2Y5c3M4a1Y5WnVkWWlUM0k3dmgyd2IyNFR4S0NaUmdQajJGQ2MwbWty?=
 =?utf-8?B?ekRpVmJpZVIvVHhNQUF1VlB5eFVMUk5UemlEV0xqZEEvcTMvMmJkNkRCOURl?=
 =?utf-8?B?blhoTjA4emlDNlVNa2R3dmZWTEJhdm5pbHpJaklBSjFWeHBEbUZzVTVJS3Ja?=
 =?utf-8?B?MlVodk1hMGRYSmJSM1VKRTFoYWp3TmFVblF0MmROTjRNZmNVYUJXTWFySkMw?=
 =?utf-8?B?eUpmRlFzOGFoNXVpY015R1dMRDIvbTZ6cnFjVFNrdUg2WW8yNE41akdUNVFW?=
 =?utf-8?B?bHVyMXM4cDVReUd6RDdrSjNLODlGSjhRT095U3ZpbEJtZHkrM2pCeW1MeVFV?=
 =?utf-8?B?WlkyTk8vRUlvbWhHb0NCY1hDUnQzaFVqUE05RnRyazlrbEIzdEFucE1qWEpj?=
 =?utf-8?B?S2llaDRtcXRVQ2JaZWtuYmJxZUhlblVRSHcxRVZVVmt3dnJESCt5Sk5nUXNu?=
 =?utf-8?B?R09PYUpXUHVSamRscVdieWJzc0ZQaCtxL1Q5dk5ZbHowSSt6cHk2anpZOWs5?=
 =?utf-8?B?ZVRWYmJhMVprMHJ2RHdZUUV0KzJ0M2NFWlZDRG5KU3Q3Ty9xSmNjN1FONEtO?=
 =?utf-8?B?aXJZaGQrZWN1cVhFSFRNakk4TjVydFJpeHRWaHZNYjVKaDJsOThTdmhiTkkr?=
 =?utf-8?B?ZWZJZHlCUmJYK1JCOS9VTjJUYkZTa3hkc1RFazFQeDNLN3hyVHhlNzgzSEZD?=
 =?utf-8?B?aTJXa1RZOVdMdklMNmFTYTI2NnNCc2NoOUJqeWQ0dy9Ma0FEOXQweE85dG9r?=
 =?utf-8?B?b3MvekZybHdRN09zRklJWmdHVytJRngwcmpMREZJVkJicEswL3VuWDh1UCt5?=
 =?utf-8?B?clpqc0toaXpWSGpFRFhnbDEvTDE5cUhiRFFERG0xaVBZakhNWUx2d1VyUHZI?=
 =?utf-8?B?VG9tSmkyQnNHcG9INk8veU5LOWU0enUwUk9EdkxZU0Z5UGxnL2M2TElZSFow?=
 =?utf-8?B?NUxVaWRSbHhBRTBkalg5d2JjdEYwQzRwZ29IcHBYUjQ2V09vVzJMYktKQ0M1?=
 =?utf-8?B?eGdZeC95bHVGY0JRY3JldjNERHUzbERLS1RZYWk4ZEhqaWVZem4zSXAvMkYr?=
 =?utf-8?B?Q01YZ05IMVV6ZnoxQTRBM2o3TVRQZlhsQnp3UzhlM25tdElOWWdIM3RNY2lC?=
 =?utf-8?B?WUE1ZlE3SUFIRTNMeHBzSFZnRFBJMGJQTG9YMEJ1Skd1eElQTUZRREhHZW9O?=
 =?utf-8?B?Q3Npcm9BUE9lc0gyVHlFUUpXdzJzWnoreHNuRDFralFMR0doL0xNQzR3NHFw?=
 =?utf-8?B?RmFkQkFORkdQZ0t6OVdUaDBSNWtmZGFVU2JTVGwzNmxNQmpMdERBeGduMGln?=
 =?utf-8?B?VTJWM1hHTWVUZXFmQkVnbTlyOVJXeHNPM0c4UHF2SUNQUkN5cGpBZlY4RnE3?=
 =?utf-8?B?bU5xa3dwOWFzUjRWTlhtK2toaVZFOWUwbWsxSjlaaWgzM1BSWlo2bVRRTGZl?=
 =?utf-8?Q?RjH2HT7mxipwLLcjuYSVXx3vM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5dd1285-7a5d-474b-ec2d-08db97f6f993
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:05:20.9827
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A+vY3qR4roXjaUFSjGHW47bDUL1T6ubr4wUCE6B9ArWE4c1qkgsd5HtWcYQHqnnC7NeBNNRtxlcZszWdaZUtFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7132

On 03.08.2023 01:03, Shawn Anastasio wrote:
> When CONFIG_ARM is defined, a `vuart` field is added to struct ns16550,
> but accesses to this field in ns16550_uart_dt_init weren't correctly
> guarded. Fix build on !ARM platforms that define CONFIG_HAS_DEVICE_TREE
> by correctly guarding access to the vuart field in this function.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:06:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:06:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579551.907572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJc0-0000tY-I6; Tue, 08 Aug 2023 10:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579551.907572; Tue, 08 Aug 2023 10:06:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJc0-0000tR-EP; Tue, 08 Aug 2023 10:06:48 +0000
Received: by outflank-mailman (input) for mailman id 579551;
 Tue, 08 Aug 2023 10:06: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTJbz-0000tH-46
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:06:47 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe13::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47888136-35d3-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:06:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6857.eurprd04.prod.outlook.com (2603:10a6:10:114::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:06:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10:06:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47888136-35d3-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zh9blmFV191qIhf6hQvC6BPBNokFLBkDgY3U5DtV7AvWWY805cnkFlCX6wEmpq0MejJioaCeAOMas6He6fxB4cuvZJaL1OiAoUPW0wg8U4bNwrOf0E9E9WuIoDyhdSueF4uIj0nG7z/IZRszkaiX0McgNggP0uEa8k8TlQpa/RLz8GYT5EWekWk8WwX0o8oDxtUtLGufb/NHkx2z3peJXIJUsx3hQK33NKkov8qwcR+R4MRayV5CLXSEb3n5YYQbzWy6LoBmSTot8RuMoXzCMTnK6ACy5i6Lm+EC560BR/5bF70mYUGiiDKZKY4IvqdcHhwX0aj6NiJ4/cuPxQGFtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vow4pBM9reenEJMA4yQKVwMg3H2d4S3CfioddDhs0/k=;
 b=RjCskfejuTL3YPjxmDEuZZtocFn2IyAPOUDdUZR2Y3EPHoLzHPd487JFlhXSEb4ID00LXwWnsNOX9WHVvXPnFGq/G2Ajqp94190ym+78buD4LdPmwQBoci9IIHtY6Dnpm1xbQq357qmEzZs1gkBZBbg42UCzwqs2y6KdJQtcwxcr3zt4l2p+rHf2nKy/qxWKRCwm3o//1Jjch09nsp8C2MfPx+JRAeG/2npCtK90nFhPVX2f4rfbEx3Yg2I6jKBcB23iytAmqbYsnowtTjaF6AX50Iu4MhXwve6NSh/ShRi87jpCjzLFhbae2zKcmoLdghYH4sdyai02LUcVCWKexA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vow4pBM9reenEJMA4yQKVwMg3H2d4S3CfioddDhs0/k=;
 b=eK44V0tRLmsw7r9ooAD23yZQGUlv99ld7GAOhrCsXp0qTkLWFfzEoUnu2w+ZB6vh276z9BJm91t2yfEW++H0pc2kcr6XeM/cfD+u/zV7GgndMfAtHOzfABGNB3JGm/XtZ9eS7qeWNeBO9ojijLAQWlxCSjS7HZYYleKCiDwUNIpm3GbpwxG5G/tZIVf2YEv0TPfbVJE+SUNTGTdLthmGV8uAgh1txknHd8ZkMJ/hzmlVUimhh4PWcpKIS7v97Dhh6RWvfjr0jjP3WJH9QBB58RATO74q2IAqrnEEla9Qd2bRSKkLZzQTRbYh98LgTtTxzHwQj43K0MHFgFPtSExWmQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2709366a-207c-d05e-a458-dcfe5964a5c3@suse.com>
Date: Tue, 8 Aug 2023 12:06:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 7/9] xen/ppc: Define bug frames table in linker script
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <65e26bb63977749cc50daad4ecaf891bf7cc6b0a.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <65e26bb63977749cc50daad4ecaf891bf7cc6b0a.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6857:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ac16b23-d6f9-4238-6010-08db97f72ad8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qF7UrdcHfOfVkDXMyhjRgHmBo8k3UkUyIKOSzzSCjEYc8SoNCGV+UayIOwThJXDqkyudBIn8Gk6M76IHr5u5jJc2lU1FG5nkxfiGYeLTqqtj9rmmJgJn+DdGV9AKTSFSrWaktSN61DwZaaiYMLEk/PdHcRLV+gwx9+nZiNwNPb6rKtGbbq032GadFnk7kRvzAT5ii6efcexa5m/IKFOffm33470VT4GgHG9jPUL3qD/bXdVDZYO8A48NnfZlf9gD6eksLFCwAHO4d/v1b6t4Rpnod2o/CVkgj8bXapSjCmA0cWOTVXkBMLzPQCJDvl5OJ1ePDQGmSPLpK1bbLyK3D0hm695p9iZI3Nol1n/5wJ+3snXF4bc4ZNl1VcjCipfh7yWulLxGmLAiGGJN02DW0z3tmwnXXKmVeyyTw8uIJTrG49IQq3og+yzo1hSFQ51ZoT+Es8BOhZez2/6Mk7UAycO2UAbTdU+Jm9nOT7p48ONhGHP/jWvC/w6l+NNOZIq+jXrl4+rfRwfN86ST0iFR+GtaWM0xYCcOyXEmEEG+9PePjhjOGfXOrUMaLsuif49JDlwqt25lCSvv3IrN9oeE5ex96+PwWapAFi0OlIKgPMb5a3f2/uxfER5Lhm8U+UoEyMwKyrXnmQzd/jrT/bdFXQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39860400002)(186006)(1800799003)(451199021)(2616005)(36756003)(26005)(53546011)(6506007)(6486002)(6512007)(31686004)(478600001)(38100700002)(54906003)(66946007)(66476007)(66556008)(6916009)(4326008)(316002)(41300700001)(8676002)(8936002)(5660300002)(4744005)(2906002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmoyS3hOaHN2N1l3aEwrSS9aVzljZFc5QU5VaEtKSWNXV0xYdDBIaCtybjcz?=
 =?utf-8?B?Y2xKeE11QWN1Q1pMUnhpelpPZERpK0ZLVnZVVFIxdURxaDVWT0tKSlphSEh2?=
 =?utf-8?B?QnBURlNUUzhXUXh5OWl4eGZNdWdielBPckxIV1dtT0tDMHFHMkg4VXFhNGxa?=
 =?utf-8?B?UHpraFAzQktDTEo1ZVdxNjVaRmVtMWNYYXc2UWZNeW1XVmJFMjFwd2E1MkJs?=
 =?utf-8?B?bjIrME5QeVlQV1U4ZWJ3OXd6eGNOaWV0cTg2bkk2dm9lSEhKVUd4ZjJxQ3I1?=
 =?utf-8?B?QnAySjZtblQvbGVaOW5iVFV6c2FWT2o1WlpKRlFtdU4vMmNIRHJHVFVPR3A4?=
 =?utf-8?B?R1JjTjJpNmZ2QzJYSFZ3ejBrLzJzcGdZZjhIK1F2OERmcjRFejVNS2IxUkpk?=
 =?utf-8?B?OWRLNkk0SlQ3aEowVklMcWVlRGpKazhNbWpiemtXTnZRK3hVS2FJa3pJZWtW?=
 =?utf-8?B?R1NHVDZIZ2l3NGJnTUFRTFllM1ZURDlYSDltMW5OZmkwQkxGdWU3TjJNNlhp?=
 =?utf-8?B?Sm4rZ2pIL3E2QS9tMjU1dVFHT1BiSnYwNWNOZnU0WWRZUzRBNGFVR0NFSmRZ?=
 =?utf-8?B?RDBVc3JORzBzUXViM3NDeGxXWm5vNTF1UFZLeDZhSWFOMlZFQXRDZytVSlFh?=
 =?utf-8?B?b3pML0Zmd1F5M0JOL3FuNkRrZXlFWUg5aDcrNE9yeWh6d3NpTVlWY3BLeFZ4?=
 =?utf-8?B?aUhjZDE3MTM3aUFTUnhSZFJzdTA2cEdPb1Bod1VaUnZrelBVeUtxMmJib0N5?=
 =?utf-8?B?ZjdYU2Q2SkpGTGt0QmtwR3ZraiszUkY4Y0QyOXhsQzJTMThOVHN3MjJxSlY3?=
 =?utf-8?B?OHBSU2RmMENvNWVRNFN0RjhTaFp1UzE5eW9FY1BNSUJNeCtPNnBhelh4aXdz?=
 =?utf-8?B?dTZnY0lIR1B6MjgrdGRUdHdORjNsQU5mdGE0Um9teU1SWE5ZWHFyRUJmWjhZ?=
 =?utf-8?B?RDY5RWF0RTJmZ09aeGNSTTcra0tLKzJuQ0FYejlQSloxbW5DSk00Q1p1ODVu?=
 =?utf-8?B?aUJTZXlBaU14Wm9GVEkvTldpZG1mVEdpZytpU1ZMNHltOTg5aklhUFpkbnMy?=
 =?utf-8?B?MWVXdE92Q1hKVER5NnNmVW5WL3FIVEd2MmZLVjNlTmxIOFFTY2RWR0dEc0dM?=
 =?utf-8?B?ZXgyRGZFRFJSbnA2VW5nQ2RhS3ZIVmJuYk9sdnhzQnhKbldIaFVvODI2L3hN?=
 =?utf-8?B?VC9iZXM5Qzc4Q01RRjdNblBVZDlMcVk2S0JQQTNVZmlZaExRMndtNVpZYnpk?=
 =?utf-8?B?bmtnMHJTcTZjSkY5aG1ydUMrNXg2RnpUcEhlMUpQWjVvK2xheEJ1Tm1TL2xW?=
 =?utf-8?B?OXJydnJZL3FJdFZjaVdSUmZUV1ZSUGNycC9DOEpHdk1XLzQzbnBNL0RobVoy?=
 =?utf-8?B?bEc1MlVuVHJMT2Y0RUFLcTRxOU1iRWFrVnNvZ1Vqano2RXBRQUhmOWxnQzls?=
 =?utf-8?B?d1NaVlhUR21PejVLbk1sQVZ5V3Z2MHROSVRjblMvMFZIOTh6dVEzUXNsWjYz?=
 =?utf-8?B?QlI3Y0VsY015bzNLVEYxM1o1UFVmalpLL0t1akRjbmVTZ3cvUGNvS3pTYktD?=
 =?utf-8?B?UHYrTElma0xlVXNsaml5bWJQNlNWVExlald5N1VFTmlGVFl6elB3akU1aHVh?=
 =?utf-8?B?SWtjVVlRRFhzY2RSZE5UbE9CRnRpQkhuNStNR3ZpMm1DNVA3RlVmakFFamxz?=
 =?utf-8?B?d2pDMEFvWDdNVWhTanFPZEdvVWRHMUQ3NzlZYjFua0sxd0RLdVd0YXhLcnlz?=
 =?utf-8?B?UFpEanJUS1MvZlRVZ1VKVkhCUDhMWHJNT3NoWmgvWTVLMFdUYXpNcWJZTkgy?=
 =?utf-8?B?SEFXVFpLUERnUmZBNFMzUzRUMFVoTnFzVVFJa2hzRnZoOUpvSVNTbWJFS0Fz?=
 =?utf-8?B?TUtKdS9sZDk0bjN6NThtb1phT0dsK0tRdmpobHV5L0tIZHlSMUIrWk5ONXVO?=
 =?utf-8?B?cUtPR21DaFE5ZGkyeThTRVJMbDUvVnNxSFIrWUhiblFqSlN1VEQ3a2UvYzlZ?=
 =?utf-8?B?bG95c0drbjRHWEs3bi93VFhFSmpBY0hMQlR6djVLcjNhTjEwODliTzVyZ1FI?=
 =?utf-8?B?NnZBa0FiT0NBTDEyckhLN0FjYytZc2pvdFZPYlNyZ0twbUJqTWcxU2V2UUg5?=
 =?utf-8?Q?t6QwzJmvbayu++12JaaGP1/Em?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ac16b23-d6f9-4238-6010-08db97f72ad8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:06:43.5903
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F5bQLHXMs45Jpm7jvxjVG4a2/LJJ1Sd4U6iOkguYrhcl3X6ujcLxSoTIESc+5cc+FQVr6oG8BgLWuCvvezEBcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6857

On 03.08.2023 01:03, Shawn Anastasio wrote:
> --- a/xen/arch/ppc/xen.lds.S
> +++ b/xen/arch/ppc/xen.lds.S
> @@ -41,6 +41,16 @@ SECTIONS
>      . = ALIGN(PAGE_SIZE);
>      .rodata : {
>          _srodata = .;          /* Read-only data */
> +        /* Bug frames table */
> +       __start_bug_frames = .;
> +       *(.bug_frames.0)
> +       __stop_bug_frames_0 = .;
> +       *(.bug_frames.1)
> +       __stop_bug_frames_1 = .;
> +       *(.bug_frames.2)
> +       __stop_bug_frames_2 = .;
> +       *(.bug_frames.3)
> +       __stop_bug_frames_3 = .;
>          *(.rodata)
>          *(.rodata.*)
>          *(.data.rel.ro)

Looks like the added lines are indented by one too few blanks. With that
adjusted:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579559.907582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJlo-0002SD-H1; Tue, 08 Aug 2023 10:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579559.907582; Tue, 08 Aug 2023 10: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 1qTJlo-0002S6-DB; Tue, 08 Aug 2023 10:16:56 +0000
Received: by outflank-mailman (input) for mailman id 579559;
 Tue, 08 Aug 2023 10:16:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTJlm-0002Rh-NC
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:16:54 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af9c27b4-35d4-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:16:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af9c27b4-35d4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691489810;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=k1s+dkCK9zYbkDJ3cmihj8RjVYKk8Tzuz2jSQgZd5kU=;
  b=bzOBuLsZOWKQjBDSP/vLZ4WbY1xZQnSMJe6Xhs7aVhv8+bLBUygOB6pN
   5PF52vvQrf2PoiS8sNlZhWGDCpPQ81xWe0TeU2UPj+T7s19iwFG4p4jsw
   06gzwPlrIvr/SmYUiNAByUIipDL6MIzxCOcsW+PQMQSTligAMZKPSz6g4
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119265225
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:JIoRIqoyAnznWcYmqFoi4S6qEXFeBmI5ZRIvgKrLsJaIsI4StFCzt
 garIBnSafuNZ2r9cownPoWw8x5Vu5TWy4VqGVQ6qiA1EHsapJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzyZNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACFWP02M2LPm+uKyT8tKrN8RFfDJDLpK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 jufrj6nX0tAabRzzxK4o0/2vsXvmB/Ze79DGZ6fxvVro0+Mkzl75Bo+CgLg/KjRZlSFc9BQM
 UsP4QI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQ5sOcmSDps0
 UWG9/vgHTF1uaeZYW6c/LyT6zi1PEAowXQqPHFeC1Ffup+6/d9110iUJjp+LEKrpsyuSGz/n
 GHalng3gpc1p9U57pyZzWmS1lpAuaP1ZgIy4wzWWEes4QV4eJOpauSU1LTL0RpTBN3HFwfc5
 RDoj+DbtblTVs/VyERhVc1XRNmUC+C53CowaLKFN70o7HyT9nGqZui8CxkudR4yYq7oldIEC
 XI/WD+9BrcJZBNGjoctOepd7vjGKoC+fekJrtiOMrJzjmFZLWdrBh1Ga0+KxHzKm0Mxi6w5M
 przWZ/yXC9GUv89nWbmHrd1PVoXKscWnzq7eHwG507/jer2iIC9Ft/pz2dinshmtfjZ8W05A
 v5UNteQygU3bQENSnC/zGLnFnhTdSJTLcmv+6RqmhurflIO9JcJV6WAntvMuuVNw8xoqws/1
 irgBhEBkAKl1CGvxMfjQikLVY4DlK1X9RoTVRHA937ys5T/Se5DNJsiSqY=
IronPort-HdrOrdr: A9a23:K4UO2qvSjbKcTpHGPQMx7r1i7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-Talos-CUID: =?us-ascii?q?9a23=3A1ZpVI2nq70MPWo/h9B+lTNO994/XOWyGnSrffB7?=
 =?us-ascii?q?oMzZgTZ+zY0SiwZpGo/M7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AIhMSIA0RS3aO6eTwUtRjTEXvMzUj3vWTUngnsZA?=
 =?us-ascii?q?6meq5ZCFTHAeWjRelXdpy?=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="119265225"
Date: Tue, 8 Aug 2023 11:16:44 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] tools: add configure option for disabling pygrub
Message-ID: <7826b9c0-38da-414c-813f-ee3ac4ee18ce@perard>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230804060000.27710-2-jgross@suse.com>

On Fri, Aug 04, 2023 at 07:59:59AM +0200, Juergen Gross wrote:
> Add a "--disable-pygrub" option for being able to disable the build
> and installation of pygrub.
> 
> There are two main reasons to do so:
> 
> - A main reason to use pygrub is to allow a PV guest to choose its
>   bitness (32- or 64-bit). Pygrub allows that by looking into the boot
>   image and to start the guest in the correct mode depending on the
>   kernel selected. With 32-bit PV guests being deprecated and the
>   possibility to even build a hypervisor without 32-bit PV support,
>   this use case is gone for at least some configurations.
> 
> - Pygrub is running in dom0 with root privileges. As it is operating
>   on guest controlled data (the boot image) and taking decisions based
>   on this data, there is a possible security issue. Not being possible
>   to use pygrub is thus a step towards more security.
> 
> Default is still to build and install pygrub.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:18:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:18:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579566.907591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJnW-00034H-2V; Tue, 08 Aug 2023 10:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579566.907591; Tue, 08 Aug 2023 10:18: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 1qTJnV-00034A-VH; Tue, 08 Aug 2023 10:18:41 +0000
Received: by outflank-mailman (input) for mailman id 579566;
 Tue, 08 Aug 2023 10:18: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=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTJnT-000342-RK
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:18:39 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef067c26-35d4-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:18:36 +0200 (CEST)
Received: from mail-dm6nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 06:18:33 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6139.namprd03.prod.outlook.com (2603:10b6:408:11c::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:18:28 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 10:18: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: ef067c26-35d4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691489917;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Y48+mdA12KlhD2wOqIeA0SVsEUh5pXtbmmkGEanAYtI=;
  b=PbDDz0INbvR7h939H6fBCAloI3rUHra9/SEoxMB9Eu+pARROXeFDHR6w
   w7KDi0wUL4a7SDdDjTmkYFw/hPzwWuX0mL9YBW4frSoAn2ZOPGQw52XXG
   54SCSSuzZMA4bfQL2lsREp3SEXEWk15iHc0URym6lbh7+Kizca/X/mh+E
   U=;
X-IronPort-RemoteIP: 104.47.58.100
X-IronPort-MID: 118712592
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ItPIy68vMaNyXtJ8KQWnDrUDLX+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 2cfX2CEPv7fZ2ehKoxzYYWyp0hV7JCAm9UxTlNoqXw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNagU5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklz9
 fwZMjUcbCm7xLuxmo7iGvllhvs8eZyD0IM34hmMzBn/JNN/GdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUpiNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtCS+Tiq68w6LGV7jVDJhcHUWKdmtnjoXWFeYJbe
 1JTyiV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19KqQrD60ETgYKykFfyBsZRAe/9DprYU3jxTOZtVuCqi4ipvyAz6Y6
 y+OhDgzgfMUl8Fj/6+250zdijSg4J3AVBco5x7/V3igqAh+YeaNeYus7lTK6OdaG4yQRFKBo
 XssltCX6aYFCpTlvDeERuwWALiy5vGtKjTEnVl1Ep8u9jKg9mSie48W6zZ7THqFKe4BcD7tJ
 UPW5wVY4cYLOGPwNPcvJYWsF84t0K7sU8z/UezZZcZPZZ43cxKb+CZpZgib2GWFfFUQrJzT8
 KyzKa6EZUv2w4w+pNZqb4/xCYMW+x0=
IronPort-HdrOrdr: A9a23:0ixsUqAUFNOCj9TlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: =?us-ascii?q?9a23=3AdCU922rZSZNynnWytqPMBsXmUf0lcnzHyWbSGnf?=
 =?us-ascii?q?7UGEzdOTFWVaQx7wxxg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3Ai/dHxA5aplDLLAZdht8Vpmutxowxs4qkGUQ0t64?=
 =?us-ascii?q?m4eK/Dg4gP2eDywS4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="118712592"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A+PQxvJaK4YP062TEM/FXAJBZwmOaMlse9CxhpIbvVBiBA+PWXUnIV8yHk4bwsNHv0vL2iFe5VMn3shI2j37FI9KT4C4K3zTAqSOfCWH7K3kQtRM58qIlcCDUO4MQmgHxsg52P8TYQdq/SgpvmnujDnFsoDb6EQ5ZW+IY7E7J7ulOTI9PXSUgcUaiWu0ANdzxsSh8BZHSUC62Dw4fG6eggP5hx6oWWOfeFqcsl/s/wIGHTct8i9VIuYPdduHIEuCqjGyQ3mC1Plx5xjhZqTc7YFgqbRjBFtWEJ3Hb/pgtT1HEqBPlaWTf80kWwH2ulhRLEyJWZ5b7jcUSMP2J+SQMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y48+mdA12KlhD2wOqIeA0SVsEUh5pXtbmmkGEanAYtI=;
 b=IpRRpYdDUrURu0848MF7qceY1xX3YEeRUH1fsM3PiJttVyd5OilME/VKyqyOpAcEQCltIOrPwUGJG/3KHDieKEI+zacXS+wBwkVXJEJhFGMVrdJC+fxnSCm1oytpzKaVg42aOR5UkqGbUDicQFHxVNMPLlf4cyF/uZhssIVgbnVAo0ZXhKZXupND1cDf2oT9jM4iqGdzEWeL0990cstuBl7PHXPvyl0pZ1MNJhNwiJ/4J7pXFWGGarfKmzfJgZL1x9XoVA+lcIgovIXKK7ONn7X4MprB1tl/Vw7gJ3fmpKAslMQ578O27OgrPdWMtczWqBdVdZtvORt7/eQd3WX1xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y48+mdA12KlhD2wOqIeA0SVsEUh5pXtbmmkGEanAYtI=;
 b=TxLtu7cMEudzvDS3OPu7FT24C9sScLUVJUPj9qFHMO5zVPox6qKO6HqFSLGK6s8/YxB20i2nQAyW3hlIZ8K5isIwK8Q8qoygxQ5o/T/QR7gqSDObEVUkAqtTblBh7mOKth/5dMt3zg6u3vylakFxz5oaLQvUqY78g3zc02olPQk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b49777c7-c677-826f-01da-c6b5b67f5b85@citrix.com>
Date: Tue, 8 Aug 2023 11:18:22 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] move __read_mostly to xen/cache.h
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com>
In-Reply-To: <f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0075.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB6139:EE_
X-MS-Office365-Filtering-Correlation-Id: eb87309a-f392-42bd-f15c-08db97f8ced8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0sYf5t2qeF2NAlIUIHwNfR5zsJk1h5HkhoTnziUnkgxjgRQWFQ7rHU38/6HqLQSFAfhQEU5ZVU73kU5aXILRqchgF6mfdf1G0HDEANi987FGveAXedQAlJirV35O6fz0OnP6ka0Lx2lfAj/zEF36DgczzvalzULLSALsRft3omlXeDG0jJDIzXYvaqpJTrMdMEYyqxPm5Y/r9yZaeYNoFxsIDTa7ySCDIGKHaqBIs2bt2BRtzVCZk6wkwiv3MS6oROp//EuwFbExDV0aEKw7oz722L6vyMdEc6L7BMNfoLedrHGhVhdmUZGptACpjtsEnS37IES5A8fkaOvZ7ROGfLlNgRB+FUVaMC5wt5Qx+nkA0WBXu6qz5Qt0CH3h09N+LuBVGWUXuBTnvtxzjg83y+hp0edyGHQXAxFo+UIH0eJkr/gax0OxR4j2/ZLn37xE9n2kORBA4bmwNw2inasds73nipiSc+CzjEKWNIrjpQIRGdiKPtAr5WKJDUhqpY1wNI+eVs0qp5My4NTJ0cJCf5wUaUdJY4XIXf7W3AMwfCyOVh753ouYNs2ogWQssDDeDcrFsVrQUWjCmghpFe1gfloYmYJIdR+5vYZhTX/HUh9Y3XS03qLGciRSu9peb3GyYSFaevmGFmxqniYAsD8Gsg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(366004)(376002)(39860400002)(396003)(186006)(1800799003)(451199021)(2616005)(36756003)(6506007)(26005)(53546011)(6486002)(6512007)(6666004)(478600001)(31686004)(82960400001)(54906003)(38100700002)(110136005)(66946007)(66476007)(66556008)(4326008)(316002)(41300700001)(8936002)(8676002)(5660300002)(7416002)(4744005)(2906002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnJoSVpsK3VpUk53dFMxMEEvcDhEYUdVQm80Y1ZQTmp1NzZCczdVZzlpZ0JB?=
 =?utf-8?B?SVBJWkZjeGh1TVEreC9XSkI2cC9NWnVLM0s4UU1pa2E5eiszb214Q3NXK1hI?=
 =?utf-8?B?RVpXYkVtOXR4R2VyV3dEeVp4MlYxUmR5aEpON29rUjhxaUd5TlRZTlUvcUU5?=
 =?utf-8?B?c2svZ0ZKakFiMktrMUZmSGJsS1cyVlBiQm9OeDFSRm9Mc3RHRnhtck96R1Y2?=
 =?utf-8?B?Z0NoTmxEdng2cVNWNG5Wa1lKMHQ2RGcxdEpwb0ZuMmJiYmZRWkNFdDR4eEdQ?=
 =?utf-8?B?dUNDN29wRmxsWnRwYmpMR3dkaW5lY1ViSDZFdmoyN1J2cGF6RHVlWlA0Zmxj?=
 =?utf-8?B?RFErYjdKZGNiZU95T21EbllwdXJNVzZkamovVC82aituYWgwVEhVM3NKOEcx?=
 =?utf-8?B?V2ZYU2RCQ3BHUEFrcWVPd3p2N1lRalZTeXpYTklleURkd3h1TXlmd2lzbFQv?=
 =?utf-8?B?eUdJai9sdmhNd1lKajJiaC9aaEhqVFZvZzVNT0dmclBnRWFlRUNHWmtyVEkx?=
 =?utf-8?B?dDBtTlhwbWNMRlFwbEUwb0RJZGhiSjY5cEhUbmlXQU0zdjFQVUFzSm1rNnVv?=
 =?utf-8?B?Y1lyWE1ROWx1WHdGRE1idmJ1MnIwYUU3dElYdmRTRlcrTTNyOUJrUjZjQkxy?=
 =?utf-8?B?aUt6aFZQQTVEQjN2ZEZPL0lSbGpINDg1NmhnZjZibWZ3cTRzdmo1aXovb05M?=
 =?utf-8?B?blZ2OTNLQlRZU2ExcVBFWGJuZW4wUEFIaGRUY2Z5c3Zxa3prcGFERld5RHlK?=
 =?utf-8?B?ZlY2SVpIUi8waU9hMUEwc1VCZWJIS3BIRHpjYUF2cEh2VE8vVWFycGxzeEps?=
 =?utf-8?B?cFE4TVcvdnRVYm5BeEdzZGtPeDFDQlliMmxkVWU3V21odHNoUEJiNi9JQ0pE?=
 =?utf-8?B?MlF0MVc4OEJDWmVtcitmcGx2Y3dKcFBCengvdEF4S3pvVzdaM0JpaGx3MFdC?=
 =?utf-8?B?ZDF1amcvSFM4eFFscWJhTzhkckdnVjB3ck5uemd0NkpsMUdJcGNyK05DVExD?=
 =?utf-8?B?Tmw4WmVRY1d6TUN2Rk96MVUxWFlUdUQvdW9VdkFSNXdnK1BmRHR0L1RUUExq?=
 =?utf-8?B?MnljMEhJZUE3SGFqU1phV3ZHT010UUE1TjB3WWNvRDRld09pSHM4Q284Q1d6?=
 =?utf-8?B?UzFzWFpLTys5VTArQ1Y4cEZXSVdVaUYrRStob3hhb3V3QVErNTBiSzhNMCt6?=
 =?utf-8?B?TGg0N2VFNG1PNEp6ZjFoUno4L0VsSUtFc2FPbmhxRlJFTXArbEZQVEVFdktV?=
 =?utf-8?B?ck85S0lEQmNjSGRkN3g1M1NHM3ZxVitBOFFnLzd4M3I5L3V5UmFOelU3VjlF?=
 =?utf-8?B?dnl2eGdKbllDdFhCZ04vWWVtR29VQkZlOFJ3K2VYYVhWL0VvT0U1UTJXN2Ft?=
 =?utf-8?B?SjVlRCtMYmtzZHBXQzdZQmJZM0xja2NRRVlVMW15Wm9PcEM4YlZnVk5aY3d0?=
 =?utf-8?B?NDdSRmh2eEl4bjEvQ3drWjBEWUZ5SkZzRlFKZGNPREVtbU5RNWZZYzcvS3FG?=
 =?utf-8?B?ZnUzQXpPRFl6Y25DZEpJTUN4bWM1RVNVU2JVNW1wMVZKZXlWT3QzZ3JsbTNE?=
 =?utf-8?B?aHFnamZBREVuOHVSeHN4OHNSNHZhdGFwZ2x1U3VMa3llOEI1MnVaSmZGaHJN?=
 =?utf-8?B?YmJXQlhVMHdtYmJSUkNWVVhuaEpDc1dCS0h1dFNDUC9ESUZEZnJLVWVzc3pZ?=
 =?utf-8?B?U3FXWmF1V0s5SVBiRW1kSXlMWDdoak00bDJ6aitjUFY0U0VXb2FZdXZKWTBj?=
 =?utf-8?B?MG5tb01lM3kyMXhINlNsWExrL0R6ZUxHM09OdloyRjNZSW9rWndUWi9ici9X?=
 =?utf-8?B?b1prZm5DK3FlTFVLaUc4TlRyckVoNHAwbThkMUE1ZzB3dmtXNXZ3N3lBMGRN?=
 =?utf-8?B?WXpHbXpYK2xNclBVajRWQnpJdERGQmQ1TVg5eUpsRjMzR1RuTFFYaGJNQnpw?=
 =?utf-8?B?Z3lhTjlINno1NDE1WHFtMXd6YkZGNjJwT3ZLWU40b0FvUkJKZHRnSkl3b21R?=
 =?utf-8?B?ckl2TW0rOUVzNHRkUEg0R1d2UWhPUElNM2ZOMWtzQ1IyS2xOVEs0aXIzK1h2?=
 =?utf-8?B?cytqK3phU1lNczFEeTJOZEpuR0M0TlBueXVjQ3dHR0NCa25XZDFPTXhnMkZE?=
 =?utf-8?B?K3ovL1l6Z01maTVITEMvUjRQa1IraVFpeXpxenlXdGJkVEh0UFdHTHBDbTN3?=
 =?utf-8?B?bWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?TVVoT0NGa2wrSmpVUkliUFNQaW4zdDhsTDRCSzdCU3RsaEhPSEY3VExWWCto?=
 =?utf-8?B?ZEV3OHlyL0lITXBvTWl4dUpEcHVseit5SEdLNEhkbFc0ZEtMZkZ5czUvTm9J?=
 =?utf-8?B?S1BuMHByM3RkYkR3bGhCakdGbEh1M3R1dTQwcDBTWTd6eEVFcjdQUVJUclUz?=
 =?utf-8?B?MWlFRURpQVQ2S3QyZzB1SHN1ZjlFRDNPQUVUaFpsT1NqaWl2Uk8xbldBZHZR?=
 =?utf-8?B?cS94L0p5b3Y4ejVObUlrbjhlMXhEbVFhYkZMaUlPUnFaMURJLzgwME5KamJm?=
 =?utf-8?B?NFdVcXY1SDBVQkw2NzZleVAvUmVDcDRQTXZwR1prOTNZWUhRaW5RUkkxUnZa?=
 =?utf-8?B?S1hmVGcyNnJsQjNmTkZjUGYwdlN0L2VPVFV2emtRSFRXd1RqMjEzSVRBQ3Fa?=
 =?utf-8?B?bEw4ZE9lRDl3cHNCbUNqMmJBMmZzQzdYblowa1pBUzljUjdjWk9uK2VPWXBa?=
 =?utf-8?B?T2YraEQ1cTY0Qzk4cC8xTlhaR1Z3b3JIcmgxNmJza1gxY01JdENNaG9yOUl0?=
 =?utf-8?B?YWZMeENPSjFRdFlsV1d1OE1EZUVNQUdlM3EzQU9wdFBlNXRwalNUZVc0dHM0?=
 =?utf-8?B?d3QwbUFETW55SHE0ckNDWmlwc3JKbTB2b3hPOGFZeU92RTB2Z3ZrN0pTMEw1?=
 =?utf-8?B?dzh5UTNxZjJBaWxTdVIwSjNRc0tFQXJPNnNFOGdxTStLMU1YWldTRlJEYktV?=
 =?utf-8?B?V3dFaEVsSzY3dW05d0VEa0gzZ3BpNU5GaW54U0tXMkdWS2pZOS9nNm1vKy9a?=
 =?utf-8?B?SjA0STdKQUNFYVdCRlNvei9xOUZxT2kyRUtBcWxYUHlGYVVMMldBei8rWXJr?=
 =?utf-8?B?clhpdkUyUmhqeVVLMXFoYmNPMGJ0b2tzS1A5U0s2S3pLN3BJTFVzdlFCVm9E?=
 =?utf-8?B?N2JqemFiRGc5TXIyMTBlRzYxSnJlL1VscEV6YklwMENobXhsSHlOT2dHNTZa?=
 =?utf-8?B?L1lnTjVSWXpZT29QODZIS3dNRVFwSm1nQTlDTlRlM21BYjNlTzlnUUY3clRC?=
 =?utf-8?B?QXFxa3hLUkhVN3V3TlljdE9VSUpaTnBaMnlEcVhzWWdaMXk4MEZnSCtYVUNT?=
 =?utf-8?B?cjFydjAyVGtpUkpUNEkzM2doZURPOVlhUDhZd1d5MUxXZWN3a1VZOUpJL3pB?=
 =?utf-8?B?aTN1M1k0d2dHbkplZHpkK1Z4Z0RZaE5VVnlQdXAxZTVDbHZ2RFgxZnVINEFI?=
 =?utf-8?B?NUkzRlhnNFUyaWpYNFZKWFFRSUNKdEZ5d28rdFBlTEg1aGZidkVmL3RGTFFK?=
 =?utf-8?B?ZzhkWWxhdHJKV0Q0UW9rV3h6TUdvOXQ4UDJhRXQzMWtNM1I5UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb87309a-f392-42bd-f15c-08db97f8ced8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:18:28.4423
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EXxXMSIWgLmAYk9F/ZgvrnpU37ucWfpgxoudnwSncBgQWevwJXSLgS2t+aNWtNW54gmys+h0sui26/HotymGYDJF1uscyMFvfkczlQCsWQE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6139

On 08/08/2023 10:46 am, Jan Beulich wrote:
> There's no need for every arch to define its own identical copy. If down
> the road an arch needs to customize it, we can add #ifndef around the
> common #define.
>
> To be on the safe side build-breakage-wise, change a couple of #include
> <asm/cache.h> to the xen/ equivalent.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Could we find a better place to put this?

__read_mostly is just a section.Â  It's relationship to the cache is only
microarchitectural, and is not the same kind of information as the rest
of cache.h

__ro_after_init is only here because __read_mostly is here, but has
absolutely nothing to do with caches whatsoever.

If we're cleaning them up, they ought to live elsewhere.

~Andre


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579573.907602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJwH-0004aQ-TL; Tue, 08 Aug 2023 10:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579573.907602; Tue, 08 Aug 2023 10:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTJwH-0004aJ-QJ; Tue, 08 Aug 2023 10:27:45 +0000
Received: by outflank-mailman (input) for mailman id 579573;
 Tue, 08 Aug 2023 10:27: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTJwG-0004aD-SD
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:27:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34863260-35d6-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:27:43 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8263.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:27:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10:27:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34863260-35d6-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j1MPDeyYi4+5zCex9lGXDobjwUvlloBn/fKQ+Gi1ZwLZjU4KTEK0QiES2VaWEKL3qbkTvkEnm/Y9PDI9sdKkyeJGNzwjWAgMncyyTMDjd9keCqHNrlIB3pR8iKEpiYdnipsaJNVKN/TB2dNWj29YUx2b/EPPAAw6MAWq8FaVtRlW6NWVzTsMUrTBo80zd6mZ94KBRLu+qElQRNIe6PrDhALelLgSVFdhmYseLhdBmjVH6z7vmkGXR/HmnoS3gsyRJNKjUuC2tIP9bFbAFl3ZdlYREYq6XTmGLPH1niRCnKLrGj+fUYmlhmA2Y+MeNjtrs5Faqw/E4oOJubd5pYIHVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p0017iN4hQj/VyiDseYwsrRDB1EjpFC20roEf6xPZg0=;
 b=gT8NZ8hvx01WqdW3iGe37kaOpIPOsdkRDh9/0x/QrEo2Kd7VWLnNcmeZD3d0osZeh8jUdvqBtAhGKEfsqEhoCXWZTGa18SfYdSgK9Tlvoq3nJGyFKT1vktFsHuzqjdXO0mcJCQgkAToTkSk7eyS8f9ZDehh0RYhSabsZayrZPp3tpldTym37xaBzEUO0oJb3fsc336gCSyF7hLE/xRrQK5SQqDisldJTDL8ntItgYwnLEcNiDWfoeUmmPUqN8qQM5/bkrlrtKC0wb9CgkntoR8g7Vv0siB52HQ33v8+lixoZTcGfuvrUsLOPlmEuXol70o1KXt1krmT4PkknSp9rHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0017iN4hQj/VyiDseYwsrRDB1EjpFC20roEf6xPZg0=;
 b=AihQ3wl64AGg3KAPpB0Mp7XdUla6QuDb2VfEncfy+hYUUvFqae94H4RvYsHw+gh3NmUMQ40J0D3mvRSDDPjYxn2IoE9sKJ0BItNLTEuY5DeR2zyAt83Xm9ZmFn/6nlX4/QlNa/2RxP/Va+FMgR4XjcpwDRAGw3D7Rk3FYFTSm64H9F2qfoRZd5rbCkr+GzGDRmw2aVE8k1CL/gMoJeVfgs34h3UAcpG3kzLGKll7kgS31SxkdECzGRemOdNlYOssmbhzI6YdPAKBQ4a9IvV7Jix2Hp24txxd3ku7QnoXwu1j3Q5kFKNwjSFCjJUtYkIJV+W6db1gmf84sQRP0tGgKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
Date: Tue, 8 Aug 2023 12:27:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8263:EE_
X-MS-Office365-Filtering-Correlation-Id: 42b18577-063a-43b8-9033-08db97fa1761
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nvwHSsvINKNWxMgo1YMbtUVay7vBslXAKvusBVimJsbbCpH/D5UbqyWAJHlzZvwlpqlMnA+k+lvc/xbr9+8I0ktOY4rVyhX4sQG8oVdRjcLxkF2i3BPAoKPqhH4DHNWwIPgxxPSMfV9VDnsm9KDlsxvUyHFcvBC5PSlh6ISw91A1gU+7H55UIH27QIysTJR65RQym212gowCGIbZ1Pg3V86rTTZ1Ium0dKQLUCmZS6gbYhu04sPqAzGMvv+f/0M+eMnbhA7Gq6aRdiPCixfInd/7E0QhdRCcwdVCYMQD50jfbtYBf/AewTmb91uOvgErb0Spl54emUFhq70YiymgrgGKboMB7pQ5yEQ5FdLkzgegIeOV8GzCZcVnp+9jluxABJGRQA1z0eJg/5slYaTKRwWFy5ccPMkQTaTq12wuwNAC5IaTYOpdsHbv/5sFLbTQYaL7VGj4AetSJUfVkcRBynIjox9iPbgqTGnhNcW+wfRVBuEutyt+i5Uxnj+oveTlqaNgeWx6EzukUTNNz9YWwpWX430cmWxILgVe7fMagpwRz7tf68o0xbB1kmJBt5RvJMe+kxusVlH8b6Dkx1yzn4zOXvSbk0iHMO7DqkT9CphTFoUVw77ULvgVx1oLcrdFioGJyA1zYXTKiZWWBnyrZQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(346002)(376002)(396003)(186006)(1800799003)(451199021)(2616005)(53546011)(26005)(6506007)(6512007)(6486002)(31686004)(478600001)(54906003)(38100700002)(36756003)(66946007)(66476007)(66556008)(4326008)(6916009)(316002)(41300700001)(8676002)(8936002)(5660300002)(2906002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlFtYWFiQ2xncWUvK2ZtUUMrajZvMituaDB1QlJHMjVzVVl1OWVTWWJFMXhR?=
 =?utf-8?B?SmxMKzh3YklJdDlkOXd1Sk1HcTN0a1NjcUlNcHdIcnA0bTZHVHVXMGUzeElm?=
 =?utf-8?B?M25YbENndzBreitNdDZXQlRGcDhqUEN6UmdlRVpmOEo1TXZ2bWNVbTlNeHBr?=
 =?utf-8?B?ejZWeUlXOG9oS29OMW9pbVFRK0dqTzhKekJJMndaa2RBcjRldEYrS2x1KzJY?=
 =?utf-8?B?MHJYbFA3UCtFUVRGRVRQdXNKbFlUODJvN3NyOGNpSGg0NjhpVVlCcTd3UGw0?=
 =?utf-8?B?ek1WeTJUK2hCQ05GejF0YlVpRDVVQVcvYjBBNTZMLzdURXdDaTN3NW9HUzR6?=
 =?utf-8?B?NHh2dUFxdUxjbG1kWmdPTFJPOGoxMWhNdHlyc3o0b083NmhaOUEza2NzUFJ0?=
 =?utf-8?B?Z2xzTE5ZSkR6ODRhdmRhUGpFUmUzUWlaUDVZbTdHTnhhTCt1ZHVyeCtRekVT?=
 =?utf-8?B?RlVhMUNBV2dyckN1UkZFSWxhNWxvMXhDWmk5ZkFBOWk4MFlDaHN0dHh0Um5p?=
 =?utf-8?B?R2x6Tk9ocFVIM2U2dVFUMWx0UEhMK05mNlBYNGdHQkV3YnFOd2hSUzhaU21s?=
 =?utf-8?B?LzlJaHIvTXFET3JLZE1TRDBnMVRudS9wMFBHUUtOanZhVFVtVlRQd2hSNHYr?=
 =?utf-8?B?aE9YV2xSZ1NVVGxZOVN3dVIzRSt2WmhZbEpvT0R3RE56dWU0d0R0dVJHNWhl?=
 =?utf-8?B?N25iUWtocXdJRXBYVmlPbmNieGdzakplTWZKTG9hZGwwYzUwWWpBSUJKQ1d5?=
 =?utf-8?B?dmw2L2NvcEg3T2tOZ0hSaW5pZ1VScVJWY25RWnNhZ0RvRkNOR2hDSnVQR28x?=
 =?utf-8?B?UXBmaTNHM1REa2txYzFVODFMaU5YQ1YxL0lnM3p1NnNwTjhvMWtyRVVzcm83?=
 =?utf-8?B?TmhKZGNkVkpkcWF6Y0srY0NtZ2JyMDFDSXlZUDNnSDRyZFJja0I4NzVtSDZ4?=
 =?utf-8?B?MUYzeGViNVBRblpCeXlCeVdXRzBXUlRqS0w5SmVjL1FPZDlDRndGakpmMWFW?=
 =?utf-8?B?YktPM2pOZzZYS1RibHg1Sld2dk9nMTE0ZHlOeEppNlh3L1ZiL2xFdEsrNUE5?=
 =?utf-8?B?RnZDWnNtQ2R2MWxRTkh5S0Nib09lUFMwZ2pBeUJTNFFhU2Vvc0lzaHg2UHNW?=
 =?utf-8?B?NFVIYnFNTXl6eUZiYkFlbXI2Y3lNalhBNWZKWGJ3TnVWMDZXUUNOZ3d4Yzdq?=
 =?utf-8?B?NkNpcWRZdlBxQVRUQVp2aGxZbU1XallYbVhwOUt6MEF1WmhSOFR6Z0JwUHE2?=
 =?utf-8?B?YXFndnovM0tJK1BZdncxK1NXQ2txSXg0Si9oZVQ5MHYvUldBM0R5UlUwZ1Jl?=
 =?utf-8?B?U0k3dTJTRWJCUlloeDNmSnJtU1oyRnloZkphVjVQRStScSthamFPS0MwSDJU?=
 =?utf-8?B?QTdBSFU3SlE4aDZzTWpDVzRJZE5OdjkrMXIzNEFseEhQdE9zcVU0LzhvWTVZ?=
 =?utf-8?B?MXliMlh0TDVvVVMyVXhub2h3aWM0K3ZWZ1JQaXNvK3haQzlVZS9NSitWN1l5?=
 =?utf-8?B?TWZIY1B1VFBRR2lEaHAyOTR4RVRyMjZkVHhZZC82aXJCSWxEdHhXL2VwcXFw?=
 =?utf-8?B?L1l3MG9JNkhFM3JoU1FtL2xrNDF4QW5lT0Y0eHNBMlpZVUQ2NGpLTTg1Rldq?=
 =?utf-8?B?cDFYdTVVKzRXTHpsS3RmblR3TGFoK1dnaVpjM29VMlp4U3h5bGVkc0J2UVVX?=
 =?utf-8?B?aGRaZ09QdlRCaWVWTk1vdHNQanBYaStOY0VtSzc4Zis2Q1hIOEViQU16eTNM?=
 =?utf-8?B?YURoRmRkU0dubWlkbVJDWFFuUWhiY3B6QTJlZXJWVnRHNENKanNjZFVSUGU1?=
 =?utf-8?B?NTUyWWh4V1R4aTdUWm5rRlBPdG5RN0MxZStPSnFTeHBMNE44cEM0R2VML21q?=
 =?utf-8?B?TTdjbDVPV3ZQdWdUQ0VTSmRoaTVZd3FIcVpWSi9aK0RsZVlXcHczUjBFSFNT?=
 =?utf-8?B?ZGNVVFJVM0lqajE0UXlMZS8xbGVVTG9nMjVxR0R1eG9rckowUDFnbVBNMjc4?=
 =?utf-8?B?WXZvY1lWVXpDMHltOUpJeWdJSnhIc0RDZDl6TVc1WWxqLytDZytBTGoxOVl5?=
 =?utf-8?B?K2hsVnU0emU5b25Ld0RSSkRoM3VrM0tHYTV0c2xXajZUZVFEKzJFeUltR0tH?=
 =?utf-8?Q?pd3CD49EQPbtoUZVTf92/f1GO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42b18577-063a-43b8-9033-08db97fa1761
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:27:39.4350
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d5dRuTJaAytLjsZ7B0zUemRupofuwLRs5rtw27I+HraSMNNPd+9LBDEZmJRBjW07vrlIHWqcyEH89xkdHOJthw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8263

On 03.08.2023 01:03, Shawn Anastasio wrote:
> --- a/xen/arch/ppc/mm-radix.c
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -266,3 +266,47 @@ void __init setup_initial_pagetables(void)
>      /* Turn on the MMU */
>      enable_mmu();
>  }
> +
> +

Nit: No double blank lines please.

> +/*
> + * TODO: Implement the functions below
> + */
> +unsigned long total_pages;

Hmm, yet one more prereq patch for me to make: There should be no need
for every arch to have a definition, when common code requires the
variable. While looking there I found max_page, which common code
references as well. I'm surprised you get away without. I guess I'll
learn why that is when making the patch moving both.

> +unsigned long frametable_base_pdx __read_mostly;

While we still have many instances like this, we prefer this form:

unsigned long __read_mostly frametable_base_pdx;

> +
> +void put_page(struct page_info *p)
> +{
> +    BUG();
> +}
> +
> +void arch_dump_shared_mem_info(void)
> +{
> +    BUG();
> +}

And perhaps one further prereq patch to avoid the need for this.

> +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();
> +}
> +
> +int destroy_xen_mappings(unsigned long s, unsigned long e)
> +{
> +    BUG();
> +}
> +
> +int map_pages_to_xen(unsigned long virt,
> +                     mfn_t mfn,
> +                     unsigned long nr_mfns,
> +                     unsigned int flags)

There's a patch in flight regarding the naming of this last parameter.
I guess PPC would best be in sync right away.

> --- a/xen/arch/ppc/setup.c
> +++ b/xen/arch/ppc/setup.c
> @@ -1,5 +1,8 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/lib.h>
>  #include <xen/init.h>
> +#include <xen/mm.h>
> +#include <public/version.h>
>  #include <asm/boot.h>
>  #include <asm/early_printk.h>
>  #include <asm/processor.h>

There's no need for xen/lib.h to come ahead of xen/init.h, is there?

> --- /dev/null
> +++ b/xen/arch/ppc/stubs.c
> @@ -0,0 +1,351 @@
>[...]
> +static void ack_none(struct irq_desc *irq)
> +{
> +    BUG();
> +}
> +
> +static void end_none(struct irq_desc *irq)
> +{
> +    BUG();
> +}
> +
> +hw_irq_controller no_irq_type = {
> +    .typename = "none",
> +    .startup = irq_startup_none,
> +    .shutdown = irq_shutdown_none,
> +    .enable = irq_enable_none,
> +    .disable = irq_disable_none,
> +    .ack = ack_none,
> +    .end = end_none
> +};

I would recommend to avoid filling pointers (and hence having private
hook functions) where it's not clear whether they'll be required. "end",
for example, is an optional hook on x86. Iirc common code doesn't use
any of the hooks.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:33:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579579.907612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK1K-00061d-FG; Tue, 08 Aug 2023 10:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579579.907612; Tue, 08 Aug 2023 10:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK1K-00061W-Bv; Tue, 08 Aug 2023 10:32:58 +0000
Received: by outflank-mailman (input) for mailman id 579579;
 Tue, 08 Aug 2023 10:32: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTK1I-00061Q-TS
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:32:56 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efa85691-35d6-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:32:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8628.eurprd04.prod.outlook.com (2603:10a6:20b:42b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:32:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10:32: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: efa85691-35d6-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FWLtjisE9QzbfTYXaigkyWZvWAPFo7vt+951Py5m7vA9s1niWpVgjHIWGxJlkwl5t6SLhrBos6vtaQocQNayg1cg/WhE0779D1DJrKHWmdNAOTwe2qOHmwgQ0Lq3N7f3cwMhA7Gxut1Ps7r0uUwaeTrtSHf3D0eDgRsdrmu5kGEMkKhoNla1JW2BsYym4bYgSl4k6RTlz8nek39WpJwOfMCblX2eoOgkxxVUSw6vhPqlzoMu6G5CAbiN195CQzZM9SMlim9I3Js0eXNQ707RcHz55VIgI6BSjow5t5eiSdweP6yCrFcuUS2misi/RnCPY0KltfDPxC3UlvuSDOFGAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eQ7m4npKV+BARwzs3twm21xAb/EAsWBaVN1ShDwcHkk=;
 b=dHHBz47F+ALlJ+HFpqlmwH7GEttjYEf2tHzmZeyL2qHXCok6auGh6Ep5rV4VxXMcd9No13UZj3WVNE882rT+HMesEshWca4KEpO0Z+dEH8NKQkBaQ68ecnJQMIiE93tRfLp1OdWgcPTeVcz+ndEYKuoEo1ODzg1mg6EoQfh+hXjg2PbLwFWldpn/C05pWdj8Pp9J+TcY2jXALeaDJbTLghjgIHqKSAAhi4nLZaUzGvMUeCMmAztsqWAJBNkE5SzimMPllJXwW3IGHeQ0PmpF/emQmVX1nKDun5cEIKFTGZ16HbUrYT7MnRfXg8oqMYYJf3tC8pV4YIku7Uz4YNyqig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eQ7m4npKV+BARwzs3twm21xAb/EAsWBaVN1ShDwcHkk=;
 b=P2M13sITPzHQaY5oeCogIp0O40g1I6eKLms+pqvQ/AxYlD+ow+39rhPQuSPneGY8hs98cuNCjE0DZ3VvnrINE4QZN2r8Cw7ZSmrvqC5oxXZP03W/G3ewOm+Tks6iA2qZE2yjmJ106MMusXE8cr/rIqjSFFe/7n+8+agtqDu00iITtfscxFI2xv9cp5Re5c/QT3hjF82NtnBgdMUwlG4tyl/2PDuJm8igKuhKpUUBxzN2Jm2eyksGJukWpzcUglt/qhxM9Ci1NTkqdk830xmCdA48Gu4MgPSI+oVJZity/Bsnsdf1F97zO+NIvq1ZOAVJqmhz6/h8wEyoqf02g8Owcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <893a5ebf-54e2-f2b2-1365-2a6d36ed3a39@suse.com>
Date: Tue, 8 Aug 2023 12:32:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] move __read_mostly to xen/cache.h
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com>
 <b49777c7-c677-826f-01da-c6b5b67f5b85@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b49777c7-c677-826f-01da-c6b5b67f5b85@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0203.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8628:EE_
X-MS-Office365-Filtering-Correlation-Id: 0777078e-942f-4f02-0783-08db97fad2fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ubaMNxoinWtD0+L5sMr4cq9s0lfhRGT0+hDoIAMLiBBE8GvYgggpqZmTDU5ZBHgI+UGKL5ejQVjA9Xd89fSUNGFYugumvd6mngZHUKusj19hxKaD2yZHO7yNWCXnLSsw2OzjJn1c3d3hxzSwG2nZZvi1D3RBWRCMyVQFR6YwiYSsS1WNXtmqUN49YcxSV8VnozAwy4Hr+/r8cdHonu6Q3G9UoNssRrVIZCOT1uzry2BbXDgKFGa+gomH7LPDENErMhGiHnX5yDvul8/ViDkZbQmbRXybFzJISPjHbXRl9+WkdZT/CYfu5yk7vA445K5iM5zjfGOq4vU1wUxMdp2KVKspKOphSg3/8BaO9k4cr5HGuAxd8OCWIjcyFnibEJVE9UbCZbondnrOTd6v8QP2AULIpjr0e2bY9qn+JDe6ILB40qzuVGYp/pg25AXvtt7q4BofAiOSwcLUAQ1/MSw6lr7xbedp3oT1GuKCdBQCddwjL7pyexNtEqK7OFj7dY7OTzLsaMU73sMlPgGMHnoeCGRztEI9sPjACndomY/l2mC+Jthsun02SWBAKnC7ZyWF2DZZJUBqGIMdQeAQMeL3AqgWS6pQykmau1++xBRqpCxzS1bwQriM3812G4hHt8TmlU654yheL+ObmIydz8dcGw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199021)(186006)(1800799003)(7416002)(8676002)(8936002)(5660300002)(4326008)(6916009)(66899021)(41300700001)(316002)(83380400001)(86362001)(31696002)(2906002)(6486002)(6512007)(6666004)(2616005)(53546011)(6506007)(26005)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2Fva1VGL3R4eThlS2xpK0lCajcxMHpCQmFoVGF4enVEV1pNa0JUQ3NoWndV?=
 =?utf-8?B?aWRGMjllWUhtVHhMM2wrNnArQURIR1orYU5DRmxBbkpsUXVsbFNhNUtQSkRu?=
 =?utf-8?B?a1VUbEMrd0pkZEFrc3RxaDZFR0RvT2FiNi9XZS8wTjMzb0krUkN1Vmg3Ui82?=
 =?utf-8?B?TldLY0syUnJZNitHOVU5NnlFZk9oTWpESjcwU0ZLNGhwOEQ4MDlDUm5IZjlC?=
 =?utf-8?B?VXQ1S1p5TEl1K0hPdUw5Q202MTBmYjNWVElxQlFMd2h2Z2E1U0dLZkZlWHUy?=
 =?utf-8?B?amRpNFZocWowc2tJaHNrUGFkY3hQMWxqM0Z4K1Zpd2NoVXFDZ2tvWm94QWxl?=
 =?utf-8?B?MHc4L1ltR0lhYWxRV2dCdUFkRHBpeHRValJSMi9UR1E4clhJTUVESnJFejlj?=
 =?utf-8?B?MFpjT2hpaVdRSXJnT2lSOFVicGN0UEx2OTljbEpsd2pRK2VUeWd5Q1FlTGx1?=
 =?utf-8?B?V3FndExSVzczQWRSN0YwalhxRmZlNkxBR0Z0WW1VQ0c4ejhraFZDMEFBdXVG?=
 =?utf-8?B?QzN3NTl0dU84MTZ1ejA0dmwzZ0lpVlZoaFBoUkZEYkRkL3FscDV4UmhTalVz?=
 =?utf-8?B?OGRJYmpERGVIWGtqeDZFMnpRY2g0NHI3MzdJU08ydnBQbm9zbWk5eis0SCt6?=
 =?utf-8?B?em1lbklKdnN3UVQzM3JrdXdVMkRoZ2dDL2dNTUhNNXRnR1Q4UEM4ZkoyVjVo?=
 =?utf-8?B?NDVIS1BoYjZadnBiMnRlOVU5YnRaMWNpdEtlejl3b0ErSVd1Y1BVUkVaVisr?=
 =?utf-8?B?TE9GaUwzMnNtK2wrMThjemJTQUNrSGNxTWpsWG5HUVM1dkY5WWZncTlpaDVi?=
 =?utf-8?B?WmxiVzRNL3BqSVEzZEh2dVFxSlpxSE1qb1Fya0lUdi9yRjBQS2JFM1JTVEZa?=
 =?utf-8?B?WDlpL0ZHSW5aazlGc3o4OS9WQ1NQT0ZQSjEycU5HU0RveFZ2eDdOWkdnc0dN?=
 =?utf-8?B?MDdjNkNxbElnbzJIL01UZHQ2YkxVc2dRamhxRGJQbm1Ua2w1bUpRL0FiaU9W?=
 =?utf-8?B?bkdpRXJCeGVYbGZ0b3NoR01OUW1OZ0RlVUtvaTNEb29RZy9yR3diaGlUSnd3?=
 =?utf-8?B?NUxKOHpaRU9TVFA5anpWK21TVjN5RTFiS1hmb203RWZkL3Z0RGl0emwwWVkz?=
 =?utf-8?B?WU9lWnYzclJaR2NRRmVwMGZGQUpsVE5pM1BPVmFnb1J6a00zSmJaMi9QQUxu?=
 =?utf-8?B?VU5FY0swZHdsMnkrNDV0akRzOGNhZS9zeE0xSERlTnNqWE43VElPR2Y1NnQ3?=
 =?utf-8?B?WE9XY0NBTkpVV3BwRmxwcUhnNGNxS1d6b0tsY2NGSW1rUy8yV1lMUWlFdjBr?=
 =?utf-8?B?NTlKNnVHQ2VtVTNGV1FqZ01zc1FlKzBqMTcvVXY0d0xzbGw2OXdJYjZqWDJK?=
 =?utf-8?B?UUp4aDRYUmN6ZUJMZWpNUlh4WDgza1J3ZU9MYjJjV3ZmNWpXRDY1d0xGQ2Rl?=
 =?utf-8?B?c3N4dmduTEJROGo2R2M3YnVxWXo1L3k3bi9pWEs2MFNzZENoUGZPbW9xeklt?=
 =?utf-8?B?U2FnNERUdEczMUREdERNVHJWTGh2Z21jcldqdndFWGJ3RnJNaUZuVzBEZkpU?=
 =?utf-8?B?WmM3UUM4elNHSU5zTFpVbzBYakExaGp5TFY2bHNOanJtSEFRcEtrd09uSldp?=
 =?utf-8?B?RDRHRDJlQlE3VjlRMml1NmRGb1ZSU2Y2WVMvZ1VxV3E2NXlITzd4OTFVdC93?=
 =?utf-8?B?OEt6T0FFTlE0WG1SVlJwK0VodFZNQTlrOTRlZmJjdVVQVWh6clpzWlNhWG5F?=
 =?utf-8?B?b2dyWkkyWk1xNGlyWkxRUVZrS3BJSk5hWWx0a2xzekovNXBCKzBPWHVZTjNB?=
 =?utf-8?B?ZXdsV2VYOFpUZ1d0TWY4cU9pSDJIOTN5Tmlvcll1b04ycWJrZ0pUM1RJUlNw?=
 =?utf-8?B?bUV3RDAzdGVqRFI5UW9ENks5TzRpN1hLMGFTd2ZOQTl2ZlZRZTg5T3daTzBH?=
 =?utf-8?B?RFRwdUpLRWlGb3IxVXVnY09wVkVaRUNLQU5Rd1dxNjY3RkVxNXkxb2pmWjJX?=
 =?utf-8?B?SXRQcm1PRWdRZUw4QVFCVlpseTJtdDd0c2hDUHdkNTNWU3JoNDB6bHZ1U0Zq?=
 =?utf-8?B?aXY3bER2UVlXVE9qcStKOEZ0aTZMV0tJWVJMbDcxV1p3djhpWklwLzk0T0FT?=
 =?utf-8?Q?2uWqM/yAmmeEWDlSStLZaSWcY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0777078e-942f-4f02-0783-08db97fad2fb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:32:54.1553
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QwNyARLtouYthPasnM9chiuXBX6hpUxKi6vElKv0jKGtI91XolHctt2NfUCdkzS3ulsTjLvwJwSBA+Skrj9L+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8628

On 08.08.2023 12:18, Andrew Cooper wrote:
> On 08/08/2023 10:46 am, Jan Beulich wrote:
>> There's no need for every arch to define its own identical copy. If down
>> the road an arch needs to customize it, we can add #ifndef around the
>> common #define.
>>
>> To be on the safe side build-breakage-wise, change a couple of #include
>> <asm/cache.h> to the xen/ equivalent.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Could we find a better place to put this?
> 
> __read_mostly is just a section.Â  It's relationship to the cache is only
> microarchitectural, and is not the same kind of information as the rest
> of cache.h
> 
> __ro_after_init is only here because __read_mostly is here, but has
> absolutely nothing to do with caches whatsoever.
> 
> If we're cleaning them up, they ought to live elsewhere.

I would be considering init.h (for having most other __section() uses,
and for also needing __read_mostly), but that's not a great place to
put these either. In fact I see less connection there than for cache.h.
So the primary need is a good suggestion (I'm hesitant to suggest to
introduce section.h just for this). In the absence of this, can we
perhaps deal with this in a 2nd step, thus not blocking this patch and
therefore not needing to then also clean up PPC-specific code?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:35:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579585.907622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK3b-0006fd-VO; Tue, 08 Aug 2023 10:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579585.907622; Tue, 08 Aug 2023 10:35:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK3b-0006fW-SV; Tue, 08 Aug 2023 10:35:19 +0000
Received: by outflank-mailman (input) for mailman id 579585;
 Tue, 08 Aug 2023 10:35:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTK3a-0006fM-Di
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:35:18 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44340661-35d7-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:35:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8628.eurprd04.prod.outlook.com (2603:10a6:20b:42b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:35:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10:35:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44340661-35d7-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g4lwwanTZjhL/RzXv3lqfonBzM1SHMK1c0Tdd5uRbW/sN30h1cNkrIVEa4m2U2L71n4Hj+/WQXhRja/3bFxOZL7Jwej3sJcfZ5LT1wLuZzWuOADCZA4QfuNkNMvIxww0ldQ8D0RG8qcl2aDz1SEnK0oaGZYqNVFWHMVS4ATWJ+wND7+sfjwOmxgTH9wXxVBiL2+o+aCX5dKEBD9vMQzOlDiphJa6B4hIrvi8JJmpsMZYMwMuaxQkY0UgCz794xKg3UtDJzGGsBJ0oyjEDyhTJ3vop6uT9Ej4R3KM8g+NM0cMdxbqTDA+Txv7UiXgra4pjOOD9PT1s1l4tfXfDd4ovA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DlJ3WM6FvUIkZY0BuNVxuiXNNnSEQhgfB4Uyx14ToyY=;
 b=MuM0pIQcNHB+JehZWIKS2nUvv5KjwtLWeSfSeeuCJmwZIbQQ26+uziSKT7ICXt5NpZjCOnKKD8ymQxDc57aO0/9kCuy4Ovue24oE/+OjbtMlgVdZAaEuPhswMbDEAO3TN3EJId00eX+QZ1rTTKTrk3di7Lqfe1eCptSoq4Qx0u0JUpVXAgZnTKW9VP5I7R0x/ZDSZ8ue4f3Ko4Ic0hiYbVsqtrv44204+8IBcjuSlGOVs/v2iU3jjTsXAiJhdpQfN+p8eP1tJOQRKHjbi/z/pzyBaPcxl34Uq/E+FqGMBs0sNvWtmBfaL7WcZCC1JmEx5idGYBLFjomWmqz22qBMoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DlJ3WM6FvUIkZY0BuNVxuiXNNnSEQhgfB4Uyx14ToyY=;
 b=t4FX7hjHiui+CI1B6RKe1CE79rsVJ3Ztp8j3/HVs+y5Hp6KnR2ZWVwHeHy9QEL+WENE5/k3RUv/br3Xw5zu8r3yytOeTOtwcIraeqow1kQfL8FqkEo+fY84u8R52GJBJX28bRoYwX5BWd2ugp/NOXNutB54ak9Jv7Z0vStfE8iNV3t1OwAGlAf660Svd8Y/rIMn6zsREaAfFTAimlrG0jg5P3BE6iIUOzanvzt4sF2sHMmGMlextepGQ8Uxo01/ff8MW/Ho1OyLS/XYVMuuugE/nrMJHGIAkW8TiuFkF8lHAm72Gu5BlWxZV2adAhkKY9PMS5GXmLrPl6+ELdAJsfQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <077004b0-4938-ed87-81a1-9071f80f61e4@suse.com>
Date: Tue, 8 Aug 2023 12:35:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] move __read_mostly to xen/cache.h
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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com>
 <b49777c7-c677-826f-01da-c6b5b67f5b85@citrix.com>
 <893a5ebf-54e2-f2b2-1365-2a6d36ed3a39@suse.com>
In-Reply-To: <893a5ebf-54e2-f2b2-1365-2a6d36ed3a39@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0184.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8628:EE_
X-MS-Office365-Filtering-Correlation-Id: adf9793d-ca8f-4623-0347-08db97fb27b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gnxBuYGbOzyPNNaYH40+o5mOYaM7nnAl5e0rZCaP2A5DGOhAt6gQ4dWCDWewk3/YRlFU4lZlcnHldW9yxFp2EgGoY6Vfv8IbNWvkSDUTgDzFciJ6xflK6fOpQGhPnIcEizj6ufkvUBsY7y5y1gKQmvPYa8thdLOEwWBFUoXe2JNlRGchSZeH5kiYop33OxcpjNKIkuoTN+tISB4m7qRomPsGRotc7U/Nj0sqax7+vcCdDOze6j24Pgkx/WsEK3PoBQyxlg/J3qNnhgqhr8T2ai6R2kjf3OM/UYegDxTyU+9vgw53kgVpXCfkj/NHkMfmcyJcmVuoVCHHBW1nI+abIzDpioD5HGSGWSC58fZy5mOeZWkm1si1kO0NwbiS9FYdHsTSOnE3UumoTGVLgPuZtDLyZrJKb77fL4MvTWCPfq8ihntasH1mfD1qlKxmaBwMESJozOsK+lRAWzstgIGW+DwO9uhJUpv2qQWxx1PU/3tyvVCiWbTJ0xdWR0sUYTh2An3dy+65HihbUO+K61gmalcEG8cRdz5e5EIySupW84jvavwgV+VZQb7HJx1GVSrSnPasjhlLDlAL4QYkgebhbLZ/BO9AU5HHScbAJpFR5DFMshhHSjEcsxLbH1Ju6fhT3MWUdXBuzvNkb0kSi+ELSA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199021)(186006)(1800799003)(7416002)(8676002)(8936002)(5660300002)(4326008)(6916009)(66899021)(41300700001)(316002)(83380400001)(86362001)(31696002)(2906002)(6486002)(6512007)(6666004)(2616005)(53546011)(6506007)(26005)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2d4U2hOZHJ0bGhDTkNvVDdCUExjZER5ODV3Yk1kZUk4ZldIKzlSZEVXUXNW?=
 =?utf-8?B?MFl1VkxMUDlPa3B3Z3hmbzZmdUdlWjhPQUkxY3NmamZRUDg2Ky9KNGNkZXg4?=
 =?utf-8?B?YlNDbXVxR1dHZEhOaTVFdVZCcHNpdGlBcUtYT0NuUUwvOFNqWmRoakkxYTVB?=
 =?utf-8?B?R0tCbGxVZnRaMHJ0ZGtHTFVUVE10a3psMlJ1dFR1Q1hxalJhR1N1eFlxMDE4?=
 =?utf-8?B?dHJVelI1eHFqSHVGRGNRTkt2ejFEcHREejgzSURDNEpLblgvRWdCYkZCVGFl?=
 =?utf-8?B?NG8yMVI2NnluM2c2RitLWjZ1Mm93aDdDckdjUEVqRnBUSCs1Z1hKd05vWmVH?=
 =?utf-8?B?bmdEY0E2ZDJ6bUNlNTYvWmM4TjRkaW13dVZ0aExIV1c3bUU5eExpTjZXZkdP?=
 =?utf-8?B?VG80WXpjbDNlTEFMUCtablBocjNZeE54TFd4V0piVUdJditneElzYjQ4SENL?=
 =?utf-8?B?a2VZMWgvSUp6NUtKODVTbSs5dS9pLzRSd092YkVsczNFT2tDV25wd0d6Z3c4?=
 =?utf-8?B?YmQ4cHBYckUvdkRzanFOQ0UxbTRtYTJOanJoUEt5Zlh6MzNITWFtNnZyeW1X?=
 =?utf-8?B?R2xoT0tncUIzWXFleTNJY2pUYjl4Y1lyNWc0YzgrNHRDU1JQUGJSZklzUnJH?=
 =?utf-8?B?aW16ZytDcFR5NWluUkwwcDRCbWVnOHoxZENzdVk4QUM1MHNDVTk2YmgyZ2tJ?=
 =?utf-8?B?N3lhTk1JUXhodE1lV1ZMMTROK2tvdXpIN1ErRTJxWTlRcXFHdkp4RDM2NzhF?=
 =?utf-8?B?VDFhT3BVU3JsZDdHcndMLzVQd3lwTnErVU1EMUNKcUhLZE5iREJJNVpQWFly?=
 =?utf-8?B?cXViTmxiZkZiT2RSZklvQ04rb2RyYzIrbUJ0WUFzWjhXa0FTb3RabGZiZnBp?=
 =?utf-8?B?TjJDSHQwb3d1RzR3bTdlY1g5Z0tKQVNMOUdzbnBTaVdQR1JLNkV6T2FRcjR3?=
 =?utf-8?B?ZGt2SUN0Q1JnL2hvZXpVTEVhVGRlQXQxcU55b0pCK3VoNUl0SVRSUGY3dnRr?=
 =?utf-8?B?RW1KUVVJSUlHWUdmcTB3ZjE1dDM4MC9Nd0JZMXpwbXNmeFJreWVZdjdna2dp?=
 =?utf-8?B?T0U0U0VTMHpKb3JvWmtlRGs2OGk4QmxxVXVvZlBXSWZHc0dIM1lMbkFnaFZG?=
 =?utf-8?B?VDBldDNheSs0RU5VWWtqTHE4RHpNSlZpa0FzN2Y0SEt1MHhpd3haNmNiQk5m?=
 =?utf-8?B?U28yYjJFZncxeFV3YndUdTV3VmZBaUZoY2V0Q0tBdjZuUVhSd1NlZXhYTXBh?=
 =?utf-8?B?Y0VLMjZ4Z09rS2NSeXM5OVJVU2l5elVFWmE1eEhNVU44V1BNYVpmdXJITDRv?=
 =?utf-8?B?MnpkOGJBbmNTRVh5SndEdmZNcVpIQWg5cnRlY1JvRjB0L253djhHaG9ZcG13?=
 =?utf-8?B?MkdDblVPTUY3WE9UT0NFQ0xpaFM3MHRmYzlUcGUrMEhVbXBoOUI5OEJweDVY?=
 =?utf-8?B?TEs1QUZCZDN5QVNmMFV1NXdtQU5pYW9Zc1dkd3VudkdhcmFVMk55T0h1cXlj?=
 =?utf-8?B?QlpLOFNCQW5LVVR3L21xMFNWbFVOR2Rzb2V5eTBoR1EwaHF3T2hXelZHNk9h?=
 =?utf-8?B?bk9lTTZKNDZVVmZMeEQ5T0k2dlVEWmJ5K3BjdEVHTDlqTVEwV2VYV3JXTGNQ?=
 =?utf-8?B?dHo2ZDRXV1I5TzBxYVltRE9sV2RjRFBSRzBOSWVwb2lKK2ZHNzlVT2d5c0Jr?=
 =?utf-8?B?MUhRTDN1aG84QjkzbDYvS2lRenRrKzl4TzJENW1yVGQzTW5ZWHpwY1BEMm85?=
 =?utf-8?B?QUNDbWpaY2F2YjNleFhJUUhPRlFjVDhlUStTeFRPcVErRUZQWHJna2thRkJF?=
 =?utf-8?B?YTFwYXNxeklPOXVsd0xNa2NuaUUwSmswQzZYYm9xcWJXNFp2SWxCY2QwbjZR?=
 =?utf-8?B?WFFqUVE3cEFYRWc0TnJXeWU5ZW5DMWh3VnJaV1lrZis2ckh5MHpibUFEOWk5?=
 =?utf-8?B?MG1wenJoVy8vQXAyQXZlTTZxM0lQSTMxZ2pva2xDZisxTkNld0xZSlZpRStZ?=
 =?utf-8?B?QnYvUlBQazk0Zk5TQVVlZmZoQmt6RkFoNllKTTVDQnFCd1pkSUtkaVl0UnVh?=
 =?utf-8?B?ZVRnMUo2a0NTYXdGSVZocTFLMU41WGlnVFliZHpNL003TTFJdGZYcm5LT3Va?=
 =?utf-8?Q?mYV3Sx5SxRPGyjtjdVeSoWExH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: adf9793d-ca8f-4623-0347-08db97fb27b0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:35:16.2652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4noygbaSha2XcaPhwE1/pzQ7h68DPZVmjZzyHXiPnG1mAhrp8FRGznMfjMaUaLcM8TUIdAydLRTETn7Y+Er+pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8628

On 08.08.2023 12:32, Jan Beulich wrote:
> On 08.08.2023 12:18, Andrew Cooper wrote:
>> On 08/08/2023 10:46 am, Jan Beulich wrote:
>>> There's no need for every arch to define its own identical copy. If down
>>> the road an arch needs to customize it, we can add #ifndef around the
>>> common #define.
>>>
>>> To be on the safe side build-breakage-wise, change a couple of #include
>>> <asm/cache.h> to the xen/ equivalent.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Could we find a better place to put this?
>>
>> __read_mostly is just a section.Â  It's relationship to the cache is only
>> microarchitectural, and is not the same kind of information as the rest
>> of cache.h
>>
>> __ro_after_init is only here because __read_mostly is here, but has
>> absolutely nothing to do with caches whatsoever.
>>
>> If we're cleaning them up, they ought to live elsewhere.
> 
> I would be considering init.h (for having most other __section() uses,
> and for also needing __read_mostly), but that's not a great place to
> put these either. In fact I see less connection there than for cache.h.
> So the primary need is a good suggestion (I'm hesitant to suggest to
> introduce section.h just for this). In the absence of this, can we
> perhaps deal with this in a 2nd step, thus not blocking this patch and
> therefore not needing to then also clean up PPC-specific code?

Oh, also: I we move them elsewhere, it wouldn't be logical for xen/cache.h
to include that other header as well. Yet without that the risk of build
breakages (perhaps in only exotic configs) is of course quite a bit higher.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:35:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:35:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579586.907631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK3z-00073r-6h; Tue, 08 Aug 2023 10:35:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579586.907631; Tue, 08 Aug 2023 10: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 1qTK3z-00073h-4B; Tue, 08 Aug 2023 10:35:43 +0000
Received: by outflank-mailman (input) for mailman id 579586;
 Tue, 08 Aug 2023 10:35:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTK3x-0006fM-QQ
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:35:41 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51591192-35d7-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:35: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: 51591192-35d7-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691490940;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=BrTXV0zGTCBFA5cHhsVl+NKGNpqGumAs1gqFHvWjauQ=;
  b=iiOElW66YpPhbOBsD1caQKQ3C1hqSMkW6ssglK1ter9KL2K7/FxylCMs
   qFLWJ15MwIASVpAb2VZRe+Z18G4RMP7q8H7oUvYwpAcuvWgOvsPZkqXNe
   c5vJNANTPZf/84IakVn+xXw6XTNmUy21wr1PkyoH6MwttPHuIyIU/VGPr
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118117886
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:+bfqqayD6Gk4bTN9ZpZ6t+cWxirEfRIJ4+MujC+fZmUNrF6WrkUEm
 2IdWmzVa62Majb2e9Agbdzkp0wA75DVz983HQdp/yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPa8T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVBt1
 78mOXMIVTqS19uyy4iqYfdnqtt2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZwMzh/B+
 TKWoQwVBDk+a/iH8RSAqUuCreCXxGTWVdg5BOSBo6sCbFq7mTVIVUx+uUGAifu2kEmlQPpEN
 lcZvCEpqMAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAbShZRZdpgs9U5LRQjz
 lKTlsnlLSBuuraSD3ma89+pQSiaYHZPazVYPGldEFVDuoO4yG0usv7RZudAMu2Ln57wIhvhk
 wmOpxIvrKsYodFegs1X4mv7qz6ro5HISCs86QPWQn+p42tFWWK1W2C7wQOFtKgdde51WnHE5
 SFZwJbGsIjiGLnXzESwrPMx8KZFDhpvGBnVmhZREpYo7FxBEFbzLNkLsFmSyKqEW/vomAMFg
 meJ4Wu9B7cJZhNGiJObhKrvY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhha
 M7HKp32XCpKUPQPIN+KqwA1i+ZD+8zD7TmLGcCTI+qPjtJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3Cid540w3bQEKWQGOqdR7BQlTfRAG6WXe95Q/mhirflA3RwnMypb5ndscRmCSt/8IyrmRp
 innCxMwJZiWrSSvFDhmo0tLMNvHNauTZ1piVcDwFT5EA0QeXLs=
IronPort-HdrOrdr: A9a23:zn3B1KvD6nsNZQQEOhHbbVwk7skDe9V00zEX/kB9WHVpm62j5q
 OTdZsgvyMc5Ax9ZJhCo7C90cu7L080nKQdieIs1NGZMDUO01HIEGgN1+Tf6gylNQW7y/VU0r
 1pebV/Dtr5CDFB/KTH3DU=
X-Talos-CUID: 9a23:j5IceW+2nFkrPCtv1A2Vv383OIMbYz7Y913Bc3a8Alx4Y6OeZUDFrQ==
X-Talos-MUID: 9a23:XCLWnAp1AhyKqvcRnlgezxU9EN9QzaH1MW4mns1f/OSJbwdgYg7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="118117886"
Date: Tue, 8 Aug 2023 11:35:28 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/2] tools: add configure option for libfsimage
Message-ID: <4679e0f5-f5ea-4182-887c-0fe65539f9c2@perard>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230804060000.27710-3-jgross@suse.com>

On Fri, Aug 04, 2023 at 08:00:00AM +0200, Juergen Gross wrote:
> The only in-tree user of libfsimage is pygrub. Now that it is possible
> to disable the build of pygrub, the same should be possible for
> libfsimage.
> 
> Add an option for controlling the build of libfsimage. The default is
> on if pygrub is being built, and off if it isn't. Without pygrub the
> build of libfsimage can be enabled via --enable-libfsimage.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 9947bcefc6..aea24eb982 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -185,6 +185,19 @@ AS_IF([test "x$enable_rombios" = "xyes"], [
>  ])
>  AC_SUBST(rombios)
>  
> +AC_ARG_ENABLE([libfsimage],
> +    AS_HELP_STRING([--enable-libfsimage],
> +                   [Enable libfsimage, (DEFAULT is on if pygrub is enabled,
> +                    otherwise off)]),,[
> +    AS_IF([test "x$enable_pygrub" = "xno"], [
> +        enable_libfsimage="no"
> +    ], [
> +        enable_libfsimage="yes"
> +    ])
> +])
> +AS_IF([test "x$enable_libfsimage" = "xyes"], [libfsimage=y], [libfsimage=n])
> +AC_SUBST(libfsimage)
> +

Should we issue an error if one does "--disable-libfsimage
--enable-pygrub" ? Or just let the build of pygrub fails?
Also, "--disable-libfsimage" alone will keep "pygrub" enabled, so we
should probably check.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:40:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:40:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579600.907645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK8L-0000Fa-PD; Tue, 08 Aug 2023 10:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579600.907645; Tue, 08 Aug 2023 10:40:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTK8L-0000FT-M5; Tue, 08 Aug 2023 10:40:13 +0000
Received: by outflank-mailman (input) for mailman id 579600;
 Tue, 08 Aug 2023 10:40: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=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTK8L-0000FN-0K
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:40:13 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2e5b033-35d7-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:40:11 +0200 (CEST)
Received: from mail-bn8nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 06:40:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5048.namprd03.prod.outlook.com (2603:10b6:a03:1e8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:40:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 10:40: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: f2e5b033-35d7-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691491211;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=adSk8xWebp+2j4PwG4Sb6nV0/iaLUvFNtEzrRMpbQS8=;
  b=VZ1rUPG+BNV5zFo9ymeg/UXQxZjiGmvdaZe2pqNzX5I+HTQXZ7RSp5Uo
   e/KF+fx7zIE7BO/1wcbu0sI3qjosIEpxplBsnpIF0FUOvbKehthoNOrGb
   9yTRSQJEGPkIzxhK9ER6HishDIEgcLMAEoreE/pJ4fyhZKi9cDc7fzuFN
   k=;
X-IronPort-RemoteIP: 104.47.55.171
X-IronPort-MID: 117516469
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0S7z5qsVM2cLCjBC90x/+Rv1L+fnVHVfMUV32f8akzHdYApBsoF/q
 tZmKTvVMvyDNGL8eY13YYWx9xsF7ZfQzt82SgNo/iphQitA+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+GyCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwOmgGYDC6ttON/K+1Ue9gqIczNPOwBdZK0p1g5Wmx4fcOZ7nmGv+Pz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60b4O9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOThqaMz3gHNlwT/DjUfR2aLv8idqnK1BfZ/D
 mtMuXF0hKI9oRnDot7VGkfQTGS/lhwTQd1LCMUh9RqAjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+LqRuiNC5TKnUNDRLoViMA6tjn5Ys13hTGS485FLbv14KsXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94aRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:n2/HSqHusLkamEUNpLqE5ceALOsnbusQ8zAXPiFKOH9om6Oj/f
 xG8M536faWslYssRMb9+xoUZPoKRjhHPhOjbX5Vo3CYOCJggSVBbAnw6On/ibpHDf3/PNc06
 BpdsFFeb/NMWQ=
X-Talos-CUID: 9a23:KUsOLGBUI00cc1/6Ezs//0A0I/EUSUHAwmzWL2H7GX5TE4TAHA==
X-Talos-MUID: 9a23:R2cAxwYzt4cT+eBTvi3RtC9TEOdU6PqKKGUqydZd4eCOOnkl
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="117516469"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FtoyHqltReVXrilX14dnd3xGncsBhCDmem5pJtKYeWnhyCklpBlbpYRfMwJq4GMLMYbo+uUWi3KiAnAAX98oMaQUqUoqVhcIsZaNlNADiVNBZZBnpyyncH4I38ZXXGRwi8k4AjsRJG8uX/4YucGF92VTZbjpG/K6rJv2J0Kw1+Y/ry+7OZmeAED6yk7eCdZNDfCclCKiEnR/M1eQQpYDj3YKBTy+N+/U0lU5Bjvz5ZaXt8MlkT8JFXf8/+ef/KcG1FnsSZSQEN89GM3mLve672huxde+6U+/kEqkMVvTTFM9bUIixU51FGrXOJuu2BztAfTsR+BUIvCdWmjoOGVb+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jl16JPyCczFISBufob8qw6MsNZc5UvLU2ffFVK4T680=;
 b=WtHVnZ73ZTY87/nqvS/vD/x5zbe583u3NZ90q2Xs5oKapvGuuvjm5HlncQ5T+N3Y/W55YP5d7QM/V00U3OmSqgPhpbs0huzMaARqXPvClZDPW3zhO6eYlENo60VfWoOkpS95Afn1u5ha4MuTunxml6CtilrbnWIRFZr51PzrRrKcAnKwkPvIbfZL3GJ0UNhdqmTwwvawL2lzLRf+BdCxmIh3fRExaXt4SnclhBwWoEdvfesKsYqXKPWLKitMIo8cmBXGgfdNXYK0Csh93T01+8V2kvm4j6KDh8bsNGuLgSGDtg0Mdq9RtpEBxTKERDLmm7PLlYyQg9YaJBSIMPKxPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jl16JPyCczFISBufob8qw6MsNZc5UvLU2ffFVK4T680=;
 b=iXS61/XH7XubMQZN1q+xnpDPawa1j1RMHfXzrG0/IzCY1Cw/r05KINHvZVZ+lnUUzd8qNZ7HCo4TZR2ZAzKBjoL2UtiRq8ekkYto5tyILTTu1eLWxL7eS+E/OCFjiXZ2JP+jyfwcQdz6b9uoeOOmEmf4SgqhGBTvDgM9m7+UGVc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a14dfa26-c8cd-debd-e069-74d4c11d228d@citrix.com>
Date: Tue, 8 Aug 2023 11:40:01 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 2/2] tools: add configure option for libfsimage
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-3-jgross@suse.com>
 <4679e0f5-f5ea-4182-887c-0fe65539f9c2@perard>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <4679e0f5-f5ea-4182-887c-0fe65539f9c2@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0042.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:152::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5048:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d30d788-831c-40bf-7cf6-08db97fbd515
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hf7jcj2M+UhIEuhFF6j1KEwqHCWle0CZ2mYPrK5qvljWINQCjSUd7m7tnPo6nOsY6wubAmh/2v7Mk7Vb8Ej2isEJYRT7HIgHwtgcPTBTJxh+AcRRWx47tzRJ5l9SyCynIaJaQXQbkw2dGsJvx8u2TILCTdpuayaslvLmgEIaqPL/VqkfkDUQozXsEo1KrsGdymNzUOY+dCRsb8CNLs3SYATdY/RjMBg8r7U2icLLeEqp+f/Kf7DK58pb4uUEHV9zM+qyJ/7UUYbb0QuFO7rzoUEWMmfMt2ubvcX6j+AZ/UMaIq/H70K/uLhgsQNnwh9p+pxFb1JUSpFQacpjRQ0SsxLLInAeAktHNpjW41nmMp0vpCHu77MxK46LP75a2xL8+t7GU/b/UBeimfuPef3dc6gLSgbZ4j5Rv1zNhoaKKlagjmu2wpvRRDSHry4iAUEb4qJ74SXpwYXP4i7v9/sERpo2lohsESWRQC3VY3ujW+LRQ/rCjk31tQs9SLoLK9r8mlzp3JwufkF0xvt3RiCMWhGi1H4f0Zdpaph2yCuGSeFBs+B1TYV8y7eK7cfHwBE1OEWrSyXmjwDs0SxR3dIiYejoZx7ju4pwT/6/7hiXEe5TchV7EwmCnlSBzl5AroRBp5mj4OhThLsmsvBv9TrUlw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(366004)(376002)(451199021)(1800799003)(186006)(2616005)(6512007)(36756003)(4326008)(316002)(38100700002)(6506007)(6666004)(86362001)(82960400001)(66946007)(6486002)(110136005)(66556008)(66476007)(31696002)(478600001)(53546011)(41300700001)(26005)(8936002)(8676002)(2906002)(83380400001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVhvSXJkNkFYem96ako1bFBqQ1dHY2RpNG82SHlmcDZxNEpZK0J4NWZPcVVD?=
 =?utf-8?B?RURHdTI2Wk16dnloY1JIQnJnS1RENlpkM2tQdzhaWGdkcENwNENUamtJRWxz?=
 =?utf-8?B?RlZBRnNZclFWWEtra0RoOUV6czA4L1g1U1RZY3R4dHBFQkxFS0M4NTN0Qmgx?=
 =?utf-8?B?SzdJTzUwWFo1V1psMkdOSjUzM1lreEdiSDg5ZnNaYWFlbVU2TG9UK2NCaWlU?=
 =?utf-8?B?V0t2K1dCZ3ZmSzR5SnFFSy9sL1lLUGdhRnhGWTN5dEVWQlpwQU45cTlmdWZY?=
 =?utf-8?B?WHNJaEI3bEpZY0VCUXRBUFNiakdJb2xHV3IvVHJHVDZGZXVaVll3cE5JSEV6?=
 =?utf-8?B?d2tBbktCWHBZbnQ3VnhzcDhWRWp4alY0S0RTY1pReWpXK0o5RTQ0bzBRTWR4?=
 =?utf-8?B?YWMrb0p0ZCtHeitKS2kvRTVuZWRSeWNjVTc0VThKZFE3QkJvQmtVeVhaenVr?=
 =?utf-8?B?U1JCa0FCQmpvY3lGeGE0bnl6dHBZS0lWZE5wYWc1dzFZUVcySHRpZ3RNRE55?=
 =?utf-8?B?NkpxeEVPWXQ2ekVKeXlkejlodnFxU2hlQ0FCQXVjYW1tdy9NTStEY1NkT2xC?=
 =?utf-8?B?emVvOWJURXhBb1hVbXpRT1Y5K1FZV1hoQ2JvNlBSTTkyTTFvSzVJNVhNVXg5?=
 =?utf-8?B?ekk4bnlNdmkyUEorc2FoOUNsY05JbTRKcmdKQ2lNa1J4R2dqOXNHaHJacUkw?=
 =?utf-8?B?STFmNE5LdHpwSDNSV1ZCeXNhKzIyMDRkYTBnQkFDRVF4dTBOUnNOdktGdnRm?=
 =?utf-8?B?dkYzYm4zb3RncWhUWThsbXZhTlJ6dWVqY0hyeUVOeC9PZERBOGpCMHdRSjUy?=
 =?utf-8?B?SHA5azNJR2R6aS9iZWtSd1VUaTc1WGJWck11YUVINEp4MHRUQVkya2RYUGZ5?=
 =?utf-8?B?ZGZFSXUwN1ZjWXRWSWhFODhIdnV6Ty8yOWJTUWdPRFlub1lCMXc3OUQ2ckN6?=
 =?utf-8?B?Vm9Gbnh3WWhZTmpSNWt2em1zdUZyUUhzZWFDRXc3Q1JPYnJBWGNkNFlvRGVY?=
 =?utf-8?B?MEhFQWVNaHBJWERtNTRDSGQrbE9laTZSc1J0UGRTY1ZBbEE4WHVVdWphMUla?=
 =?utf-8?B?ZFZlN1VXSWxkYk9jNXh4bElITENzMmJuTjg2a0wwbEVhcXR4OGRRYnQyZ3Fr?=
 =?utf-8?B?cXNCL2tLR2xZWUh6VUg4SnRjOWpkeGNJU0lzY3VtVGZKbWtjeTl0SjdOSDF6?=
 =?utf-8?B?WlJ5T09Jd2UzQzNXOXFiRlorRlEwNXdWclp1WWN4bERVWVhOaWxVemNuSTV6?=
 =?utf-8?B?eVZ1S0lFUWpvK2J1Q3g3YWFPaUhudGIzYktBdmtwbW50Q1UxSGxrNnU1Mzll?=
 =?utf-8?B?NGZqdklHclFJRmViQ1pnMlZmN2xNQzF5SjR4TndDRElkZjBZWDZmNS9manpK?=
 =?utf-8?B?a2hPSEdhYzhZNFFZc1RZY2M0UFZybHlIK01zK1UrbWZEdkk1a2RKSHhOZkZw?=
 =?utf-8?B?aHEvVHhvUG9nWWN6bHphZkE3UzUrSjlmVlo0TmVuY0ZmSzhmQ3VkUHkrTXRQ?=
 =?utf-8?B?YlM1bDFIVGptRjRJQ0ZUQWttcERjcWhNZkpWTHI5c3RrZmxZMkxKNjQyRXpq?=
 =?utf-8?B?US9YYW5OWFNlTTJOc2hRT2FlY3ZSMExkWnRtWjN6SXplMnFvRFI3cEtFNVpt?=
 =?utf-8?B?SlRSUTlyQWpncWNWNU5SZXVpc1gyTnVEQmRuYmNrSXJYK3p1VHZKeHczNm9O?=
 =?utf-8?B?WDBXbm9BUHRVTGRsRjI0REpBQStzbVFpZ2IwY2R3K245RHkzbFRFalVvTytq?=
 =?utf-8?B?QkxZNXAwNU5QVGNxaU9Jd25nYWVTaFpVSzNGc0ZVK3paZTdMcUVNUzdKbkFu?=
 =?utf-8?B?VCs2RjlNWk9GMW1NNkhmeVBrK0xFRy8wWGl0bmk2d2VZaysyUm1oeWl4WDNW?=
 =?utf-8?B?M1U4ZVZqSXl5ZC9BMDVCWU8ybUoyb1pqRkJIV3Q2dGtRRTZWcm9oU2gvNGgw?=
 =?utf-8?B?d1RBSU82c3BzcE1MNlcwYmlXb1l3TUtsY3lOaWlHSW1NRUtWY0JFUXNIalNF?=
 =?utf-8?B?UWRpa3dPMUtuR1VyWVk1WFVscDJ0VG5Xc1h3aTkvUTVkc1JKbEJrT0xHd0lB?=
 =?utf-8?B?V3F5cFExVlVaTFNLUGRvemlnZTNaRmV6WjRLZWlNblhqNHZHSUpZYUVZSUVk?=
 =?utf-8?B?MVh2ZzE2ZU9WZTNaeUpnRVNiWURwNE1kdzJ3YUEzOHI2UG1pODM3bEt1c3F5?=
 =?utf-8?B?aVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	IDUtnp6JXmXsHaKDsxny8XV5tZVzFcw5WAPa+ohF+F9fU+aETGceSwbuVIgPordfoS2T4oCJn/tfOkp+Clu9pfQnPIemXAaR5Kec2LuZZLadMXmSFzXOhLk0JnSaEqlnskXcnBrq6QyNYSJ+yT1v7AHLJY6PF1p0sGYsaWbCcBs823jE6pTCKa2ba5fz8DJzJty3S3aGQP6tlW1e5KsvwSTe9+Hl++JGHv7DMEnxI2JJSF5FV2D9imoC6mhiQYeO3D4BpRQEu+RX97WUfBESIICf4cjn2LWryBi0EAutkpcTPk+yYLfN2g+t2I/3sPikX95ATpQ7YLzE+Su9SVFUk8FUJ9bbCqpVGg6wr+LWTQ8nr1aAaZTBP/hyfETxWUntm6VfU1G41qozY9zPyGkLvsxG73RSKikU1st6ou4vcapSYG9udE+DBB8JW7LpN5ojfsNoC7HAJLa69bRphF5K2ParNzeY8tjcflda8CeNoYr59j0s9Jt7ng2fA3DIcEIrjIuPN0EuW4zg0jayg1DDQeqhKr/PigOkf02+RtbhXQU3bRnIB4kApHlneiEmKM4NmypAVTVTwDqZEq1mmcwcmhAxgJnafdDYB/oi7SVvZH/9Gzio58JbsFBAPITiP50jQ2gOPTh9dObxeWj9RkB5D1gW1NodQ9aVqkesbxxnbvd3mjczGugAhNleP04hmI3J7GigpZto7k40LP9oIiV+ZE0m/JxUu+dcQOjZF7d4YIbuPMoXf3p7aQNZNbO+Tbbdc/mxLkjRe253dojbR8/yG7xpohVV5V6RLzBn+QlI9vg4ripPz4AnfGJiD4bXJUQ3
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d30d788-831c-40bf-7cf6-08db97fbd515
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:40:07.3139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OndqdJdCZayICaA7K0E63JWiOhx3+PTQdfllkz12Y69iHdR9mAay7Y8glsw3QIzDlLjzflIojt47mlkA+Xo8h7id9bFXwUWfEA38CcGM2mc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5048

On 08/08/2023 11:35 am, Anthony PERARD wrote:
> On Fri, Aug 04, 2023 at 08:00:00AM +0200, Juergen Gross wrote:
>> The only in-tree user of libfsimage is pygrub. Now that it is possible
>> to disable the build of pygrub, the same should be possible for
>> libfsimage.
>>
>> Add an option for controlling the build of libfsimage. The default is
>> on if pygrub is being built, and off if it isn't. Without pygrub the
>> build of libfsimage can be enabled via --enable-libfsimage.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> diff --git a/tools/configure.ac b/tools/configure.ac
>> index 9947bcefc6..aea24eb982 100644
>> --- a/tools/configure.ac
>> +++ b/tools/configure.ac
>> @@ -185,6 +185,19 @@ AS_IF([test "x$enable_rombios" = "xyes"], [
>>  ])
>>  AC_SUBST(rombios)
>>  
>> +AC_ARG_ENABLE([libfsimage],
>> +    AS_HELP_STRING([--enable-libfsimage],
>> +                   [Enable libfsimage, (DEFAULT is on if pygrub is enabled,
>> +                    otherwise off)]),,[
>> +    AS_IF([test "x$enable_pygrub" = "xno"], [
>> +        enable_libfsimage="no"
>> +    ], [
>> +        enable_libfsimage="yes"
>> +    ])
>> +])
>> +AS_IF([test "x$enable_libfsimage" = "xyes"], [libfsimage=y], [libfsimage=n])
>> +AC_SUBST(libfsimage)
>> +
> Should we issue an error if one does "--disable-libfsimage
> --enable-pygrub" ? Or just let the build of pygrub fails?

In such a case, it wouldn't be a build failure.Â  It would fail at
runtime with an ImportError.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:44:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:44:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579607.907654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKCU-0000tt-Dh; Tue, 08 Aug 2023 10:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579607.907654; Tue, 08 Aug 2023 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 1qTKCU-0000tm-BB; Tue, 08 Aug 2023 10:44:30 +0000
Received: by outflank-mailman (input) for mailman id 579607;
 Tue, 08 Aug 2023 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=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTKCT-0000tg-35
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:44:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c3174c7-35d8-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:44:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 44D2B22492;
 Tue,  8 Aug 2023 10:44:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 16F4F139D1;
 Tue,  8 Aug 2023 10:44:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id CtPSA4sc0mQDPgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 10:44: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: 8c3174c7-35d8-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691491467; 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=JQt/6oSGcQmeP+N1n6U41fB3kJA/D3HeA5RfDDxn/bk=;
	b=bU45MmruvdYA8Vy3jmkMxGHclvpwbeSDxWfZz6OfYOwyG/SAnAk8DR3OTWXHcr0Kxp+cSs
	GsyEoptgKEAHlRyHLeF+TZ1AEKnXcG4bfkNdmP5s0fCxPuSZcT9f8Oi49+T3Ht1Xc2WDgg
	46EDXMsiYG/PGYL06Ke85vBOUUgPbrw=
Message-ID: <c9eabc45-b511-257e-1b39-0002b5b71444@suse.com>
Date: Tue, 8 Aug 2023 12:44:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools: add configure option for libfsimage
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-3-jgross@suse.com>
 <4679e0f5-f5ea-4182-887c-0fe65539f9c2@perard>
 <a14dfa26-c8cd-debd-e069-74d4c11d228d@citrix.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: <a14dfa26-c8cd-debd-e069-74d4c11d228d@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Euz5ftqUSIiz00qhiAls9s8i"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Euz5ftqUSIiz00qhiAls9s8i
Content-Type: multipart/mixed; boundary="------------uJ8vfuxMDRk7ZgE0k7s1dmKD";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Message-ID: <c9eabc45-b511-257e-1b39-0002b5b71444@suse.com>
Subject: Re: [PATCH 2/2] tools: add configure option for libfsimage
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-3-jgross@suse.com>
 <4679e0f5-f5ea-4182-887c-0fe65539f9c2@perard>
 <a14dfa26-c8cd-debd-e069-74d4c11d228d@citrix.com>
In-Reply-To: <a14dfa26-c8cd-debd-e069-74d4c11d228d@citrix.com>

--------------uJ8vfuxMDRk7ZgE0k7s1dmKD
Content-Type: multipart/mixed; boundary="------------I0mXE28OvUUKOAOS0VwzC8rl"

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

T24gMDguMDguMjMgMTI6NDAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA4LzA4LzIw
MjMgMTE6MzUgYW0sIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPj4gT24gRnJpLCBBdWcgMDQs
IDIwMjMgYXQgMDg6MDA6MDBBTSArMDIwMCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+PiBU
aGUgb25seSBpbi10cmVlIHVzZXIgb2YgbGliZnNpbWFnZSBpcyBweWdydWIuIE5vdyB0aGF0
IGl0IGlzIHBvc3NpYmxlDQo+Pj4gdG8gZGlzYWJsZSB0aGUgYnVpbGQgb2YgcHlncnViLCB0
aGUgc2FtZSBzaG91bGQgYmUgcG9zc2libGUgZm9yDQo+Pj4gbGliZnNpbWFnZS4NCj4+Pg0K
Pj4+IEFkZCBhbiBvcHRpb24gZm9yIGNvbnRyb2xsaW5nIHRoZSBidWlsZCBvZiBsaWJmc2lt
YWdlLiBUaGUgZGVmYXVsdCBpcw0KPj4+IG9uIGlmIHB5Z3J1YiBpcyBiZWluZyBidWlsdCwg
YW5kIG9mZiBpZiBpdCBpc24ndC4gV2l0aG91dCBweWdydWIgdGhlDQo+Pj4gYnVpbGQgb2Yg
bGliZnNpbWFnZSBjYW4gYmUgZW5hYmxlZCB2aWEgLS1lbmFibGUtbGliZnNpbWFnZS4NCj4+
Pg0KPj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cj4+PiAtLS0NCj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlndXJlLmFjIGIvdG9vbHMv
Y29uZmlndXJlLmFjDQo+Pj4gaW5kZXggOTk0N2JjZWZjNi4uYWVhMjRlYjk4MiAxMDA2NDQN
Cj4+PiAtLS0gYS90b29scy9jb25maWd1cmUuYWMNCj4+PiArKysgYi90b29scy9jb25maWd1
cmUuYWMNCj4+PiBAQCAtMTg1LDYgKzE4NSwxOSBAQCBBU19JRihbdGVzdCAieCRlbmFibGVf
cm9tYmlvcyIgPSAieHllcyJdLCBbDQo+Pj4gICBdKQ0KPj4+ICAgQUNfU1VCU1Qocm9tYmlv
cykNCj4+PiAgIA0KPj4+ICtBQ19BUkdfRU5BQkxFKFtsaWJmc2ltYWdlXSwNCj4+PiArICAg
IEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1saWJmc2ltYWdlXSwNCj4+PiArICAgICAgICAg
ICAgICAgICAgIFtFbmFibGUgbGliZnNpbWFnZSwgKERFRkFVTFQgaXMgb24gaWYgcHlncnVi
IGlzIGVuYWJsZWQsDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgb3RoZXJ3aXNlIG9mZild
KSwsWw0KPj4+ICsgICAgQVNfSUYoW3Rlc3QgIngkZW5hYmxlX3B5Z3J1YiIgPSAieG5vIl0s
IFsNCj4+PiArICAgICAgICBlbmFibGVfbGliZnNpbWFnZT0ibm8iDQo+Pj4gKyAgICBdLCBb
DQo+Pj4gKyAgICAgICAgZW5hYmxlX2xpYmZzaW1hZ2U9InllcyINCj4+PiArICAgIF0pDQo+
Pj4gK10pDQo+Pj4gK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9saWJmc2ltYWdlIiA9ICJ4eWVz
Il0sIFtsaWJmc2ltYWdlPXldLCBbbGliZnNpbWFnZT1uXSkNCj4+PiArQUNfU1VCU1QobGli
ZnNpbWFnZSkNCj4+PiArDQo+PiBTaG91bGQgd2UgaXNzdWUgYW4gZXJyb3IgaWYgb25lIGRv
ZXMgIi0tZGlzYWJsZS1saWJmc2ltYWdlDQo+PiAtLWVuYWJsZS1weWdydWIiID8gT3IganVz
dCBsZXQgdGhlIGJ1aWxkIG9mIHB5Z3J1YiBmYWlscz8NCj4gDQo+IEluIHN1Y2ggYSBjYXNl
LCBpdCB3b3VsZG4ndCBiZSBhIGJ1aWxkIGZhaWx1cmUuwqAgSXQgd291bGQgZmFpbCBhdA0K
PiBydW50aW1lIHdpdGggYW4gSW1wb3J0RXJyb3IuDQoNCkluZGVlZC4NCg0KSSdsbCB1cGRh
dGUgdGhlIHBhdGNoIHRvIGZhaWwgY29uZmlndXJlIGluIHN1Y2ggYSBjYXNlLg0KDQoNCkp1
ZXJnZW4NCg0K
--------------I0mXE28OvUUKOAOS0VwzC8rl
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------I0mXE28OvUUKOAOS0VwzC8rl--

--------------uJ8vfuxMDRk7ZgE0k7s1dmKD--

--------------Euz5ftqUSIiz00qhiAls9s8i
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/Ey8FAmTSHIoFAwAAAAAACgkQsN6d1ii/Ey/M
ogf9E/YGsiVwG/jrhJtqgxORkOgPb8rrJNB9L9FwZwAxeY97l+HGorptsz2V+cQV5WG1oHsYBZvt
UArlBWAaZ49PLOOSJByL1kYTxjtTpIdybq6KJmKO4B+nc9JS70JKMYwHrBye0g3/jsZQG6D5ZGK/
lyAkzbY+T0WEFCEk1ID14LEZluQHTCzZnWeFMdf6pisnUhKQIy/zamI3JULgc/cyA24Wm0xKgwQq
dB0x5F6oLXsjNoUQm3HOhuR8pgb+nTdfBDTOZxc35NKbgcQXXzTbc4HCLGBR1sm/ZiMnuQCqhDDD
A4PRnVEyU38rYi8oH77fzJBDZeeJSAqomB2GwAA9nQ==
=ZS32
-----END PGP SIGNATURE-----

--------------Euz5ftqUSIiz00qhiAls9s8i--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:48:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579613.907664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKFz-0001Ws-To; Tue, 08 Aug 2023 10:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579613.907664; Tue, 08 Aug 2023 10: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 1qTKFz-0001Wl-R3; Tue, 08 Aug 2023 10:48:07 +0000
Received: by outflank-mailman (input) for mailman id 579613;
 Tue, 08 Aug 2023 10: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTKFy-0001We-15
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:48:06 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d7872f2-35d9-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 12:48:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9979.eurprd04.prod.outlook.com (2603:10a6:800:1da::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 10:48:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 10:48:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d7872f2-35d9-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lg4eshNPK0BogUBqtukGSJpyZVE37nMdSp+E4hZ1ygQdDDEo+JSh8kVrPxU7hrgGX+l7aj8V8nLKZW6vsCE/26lA/crjNTSSa9rNQzB17wPFuUAR2HwlS9lIG42I0/Ab8RPIrw7RL4TNyocvrM264B1R1iZZS4i22Bbk2Q0pDymbGUBZNGLZoobCYozMRfGqx2tFHUkgTykaAs5eM81VutbffAKky7jNzhVGaKJjH/P+Cg8wPtRzO8g6lOdfnR1V49EvMcDVy1/Sp5vGcieI7hDQrWxwulFxwdV08vBpl/LSckNVX/kPQVUubvb36+TNWMmIRguIX9PzG2KKnWk7lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fcYszhiG3WDt8qVSsB1WgPxqNNs02w+HO3DLk2/wK20=;
 b=b7pbgCuUuLmBxDLP6dOT4Rnx3n0GMDvuZQIR+YqUi9t6ePzJuEmiR9LK14cq6Xf54VpBuftuemtzcZb1+RgpJvtubIYYRpJL2Tjyz1m9tM5bHv38eWxuqlI+PKT1m73z4b+7jVXOEalKfMl3uMJW/3i1W/nLm8m8uOPIeOB9UnIIj93q12ZT+ZrgJxfX4GhvpEeVdptuou7Kjoh7odtXpwchqZFwceYDXRNgOU9mcCcLg/sfcPxis8JClN7T17gPVV8f+1yYw59QIQUwpbONJzpPGEQTuPDlUBEutCZyqV8lv4Me1pE10SwJevdmKZW5k/D7P1Grlqo4On2AYLrmVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fcYszhiG3WDt8qVSsB1WgPxqNNs02w+HO3DLk2/wK20=;
 b=311mBnHFR9oaMpqbVulG46Yzq8hLIHR2G9xnh5FLWmXLINAjf4vdkMk1gNIE2FZ74I82C39svkXkAAOFcXF2397GhbrlxCqywjAz9vOAmRfmebXnPFCiRn8AVBqkYesiuXNcG9ivCrE+JnqNvKOOwe40lNkMiRBqIghETELAJq4CGu3yZC7erEZF0S6Hb8Ee9rey4fxTpu9RFUGMdDZrVCRGRPqIWQvOnJGzav3UUx92dteq7DX6LxcJ5Rj5RP9AezqsZExHpl4gQhlVKc/y5U9kxclJYBCduW1dqUMBIY+WsMPYqBD/+eqJXu3tEAkqvK9bxDLmcinwJ7Osiz2gDA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1653f8f-a2e3-5c91-0401-b5ab14415c86@suse.com>
Date: Tue, 8 Aug 2023 12:47:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] move max_page and total_pages to common code
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9979:EE_
X-MS-Office365-Filtering-Correlation-Id: f1faa532-c1ce-4350-abf2-08db97fcef9b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LMHTQSs9uOy0LRrx142NjDh3RtarZxrOVUYaqrdLQax+dy+E4vsFturAPSEtfjAWsKJVUNlBodq6sDru7MAkfZiwmak8wAS2byzMATg+RV5J+1TiNnHuOL7NhtBkLwI0AnmVyd3vdzQsUHwOP/KiaUs9u802NOodTFVfVGhr6K7NjDvVniEZGaQ+pupG+Rp73TTSCcQsjKodIDOynXGrw4UtpQVPF8E+CFmjV9UsOtpvU2wN3SASY0AD3GlgR+YxqLFKKU848etKuGNwJtmlv5OwTA84Z7gcHuux0lBxHsZ5R1vZZhkqk2hpuBW2GH9f9xyCLvnmBbE+OOg1thbdz+SSaNoySnEuDeKuDEOwdgbovHhOBTf13z3NiuV7CuO/t2brM2zYTex4TBdVJkvbSDJpxpLWUYfHTGnYg4N8tcqRZk8tWTE9iiMjFE8Q+v09ELJ0xMt91oddALf5Vkc55z+UfQ+HlksxH79zseV04Krmq99XUmkNCW3izM0M9dAdpVguCQesY9fBNVyF6phh+OPbRRMhJxC5w4oJ4BANJxWLAwptIyQQ9wE/wN4mTeEXJl6e3jkYV4eomJraZPPh8spS+iMnS+4SnUJ8RQoYvXeS2mfVyN4Y5tz0xa8wvAv6pHQ2y2Zu4YdO3YF+r51gkbQk+4/EzFk5jpyPTvqyKCuCxyK6PXMY63i66JS+U882gPjq3cO6y1DWfjKGqJp8tA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(366004)(376002)(346002)(136003)(451199021)(186006)(1800799003)(7416002)(8936002)(8676002)(5660300002)(6916009)(4326008)(41300700001)(316002)(86362001)(31696002)(2906002)(6486002)(6512007)(6666004)(2616005)(26005)(6506007)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnRTR0VQdExXOHpWZFo5TG9JMjYwZVpWUGJMYXNBZjF1bk8zWFlNaVI0b3Zj?=
 =?utf-8?B?bFNlZlBsU0I0OFMwK1hFRDVzN21UMndDTkc0VXFVSDlyL200eUF6eEVUR1Fu?=
 =?utf-8?B?VEVBM21wdkVnSHZaRlI5R0Y4am1ZeDJIQkVkeUx4UjhicWR4RDk4Q3dickJq?=
 =?utf-8?B?czJ0bTF1Wnc0RUxKRm5LWUJRL0owQklUSHQ4cTI4NG5yUDZTV2swZTJRVUlp?=
 =?utf-8?B?eTNheFowcWtoOHRvYWMvRVVwMFE1V3ROMTJ6bHg1czRzM0lmWUxrZ0o4MS9V?=
 =?utf-8?B?cWgvNkF6bXJqaWR5bm96SWI2V1dqaFdUT1ZqNkRjekppM3BaOG9ySjUyV3lF?=
 =?utf-8?B?Rk1KaHNzQnFLNy9TQWRrV2FMWUljSEhpQkd0TmdkNUYxeDZONE5kSzZRN3Ra?=
 =?utf-8?B?YjZMV3V5NVhVVVdhTzR2WTBzRWgvYTh2aFZzb01sQWl0a1JHMEpjbWoyaDd5?=
 =?utf-8?B?L3Y3azN0dExScVRXdkxWOEZ0bkNlaWwxTkF6eVNUdkcyZUdWbTdCa20wWTA5?=
 =?utf-8?B?OFpKMS90ODU1bTk4NTIwUWhvdWVtT3JTQjdybzRnakJBdjNwNmdwaWc2UExM?=
 =?utf-8?B?RS9ybHc2QUJYOERyajNxdlBsNFpMQ0lwS0ZEdUhJbE9PS1EwVEZKT1RDTHZS?=
 =?utf-8?B?QzRtK3JlRHNLcEtNMWJRd1Z1dWJWNkQ3QU5KTW5oSGxsRlpBWmJRdHBnOWxZ?=
 =?utf-8?B?Y08yRmMyVC82RFZoMjIzMnhGTngzRk5tQlh2V3kraXdpd0V4OUZzdUhWM0xa?=
 =?utf-8?B?Qk96emROd3ZGRXRMWW1uWnZVbExSeHNjYysxUzYrZnI1WkpmbGR0VDI5dGQz?=
 =?utf-8?B?NmZrR1B2dHIrMjVYTVgrOW1XSEM1UUdEc2tsdlBlNnlNTCt3K0RwbUtybHM3?=
 =?utf-8?B?Wm8wMFRyMlBjaE5tMEZEcXIyaGJSZUUwSGxIak5ybWJTRmI2UFJyMDkzRjI5?=
 =?utf-8?B?V0tpQm1vVlN3RDk0djVybjIwMWFXS0I0SlpqMWxQRW9mMGIrUThSbzY4WjBM?=
 =?utf-8?B?M2RRUkZtUkZuTWFsZ3JKRktYaUR4V2RhaTR5SWRWMU1VRHZjOGtMSG51Tk13?=
 =?utf-8?B?VlprS1lPeDN6dkMyb1NEd01LVWhnM0pzVmQyOFFYWXdpMHc1UkgyY3d5Q3hJ?=
 =?utf-8?B?aGtSaVBTZjNlSTRsVUx1S2tTY01hU0g5UFJKbHZaWk43bm10MVowTE9kZFlY?=
 =?utf-8?B?eGxjYThyOXZqTjEwNzg1Yytqa0VzZFR2WEVRcHNMYmlZTmlJQ0N4enFPSnVW?=
 =?utf-8?B?N0dqUmdHQjcyaG1FZ1RUQjVUWVJJMFVoS3FLUk9oUk9VYm5yUGdudXoyUnVr?=
 =?utf-8?B?SDBTNzIyalVReC9KdDVvdmJFMEJOdjBMUXdTaEcxdk1aQ1N3SGsxY3hPWHRT?=
 =?utf-8?B?Q3A5cXRYak1odER3OU9tRHZEWmF5T1NqcGJBdjZpVGNKakZ3TFFxMlpxOUE3?=
 =?utf-8?B?cENlUjlHeVB2Y3FtSDRWQ3prS1NwNmxBV1BleDMxUmxkMVg3ZThUZnBsR2p5?=
 =?utf-8?B?RXcxbXRMTEpDR21yMzA1bEtRbjNnTTljR2VmNUVlbUtNMXQrUXFhSmZpOWZz?=
 =?utf-8?B?cGtjYTBNMjc0NlowUXJGME1CMDB6UG1DMDdaVUFIZlVIUjZaVmNHRE95NThx?=
 =?utf-8?B?aVRreWJzNVM5NTdHNTVJYllPTzdQdFhoT3ZyVS9ucmJ6bzkwN3dQd0dURHJL?=
 =?utf-8?B?ak9Jem1GNnBzbTVUWlBLZFRNeVJIdDF1QmRwRHlWL09QcnBPdEUxZi9XcW5X?=
 =?utf-8?B?N1lZT1ovcjhvSFN2UTg5eFF1dmtnR1dQVGpKa3owcXBlN0hSWTdCeUVMTlFT?=
 =?utf-8?B?L21JcUYyOFBHbjRPL1NLWHhjcmptMDY2c0ZPUW4vTmI3SitNbGJPWkNXUmFE?=
 =?utf-8?B?ZzkwL0ZkK2VSdk5VQzROUlVhZmJKdnMvdWk5N0tCcFd3T2cya2srblU2V2pH?=
 =?utf-8?B?ZHBYTG9mUkpKUzh3S1MyM1ErWm5ibFhGNXhRVit5YUFDaWxWRUZSZnQ2T2Jk?=
 =?utf-8?B?aU9LOUxjY3ZYL0EvcnZHTkVjbElrK3NZa1V3WUpNTGJLRFk3YlBJNlVSZ0Vu?=
 =?utf-8?B?NEhINEsvSVRERzlsdkd4TXZUVGJ0N0FCQ0RwVXdQODhlWkR3Rm5DNS8vcjZ4?=
 =?utf-8?Q?0cziEcfa5FMFFpJYfjf0HlOUW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1faa532-c1ce-4350-abf2-08db97fcef9b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:48:01.1603
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lKu3gs1Bl77CCe0P+LIKkY96SUGETL25tZROw0/B9AxDd3AaUNz4rpPIKv2gB92fwINDV3EA2Etqv8jVsKSQzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9979

Common code references both, so the variables shouldn't need declaring
and defining by every arch. While moving the definitions, add
__read_mostly (__ro_after_init would only be appropriate when
!mem_hotplug).

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

--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -198,9 +198,6 @@ extern unsigned long directmap_base_pdx;
 /* PDX of the first page in the frame table. */
 extern unsigned long frametable_base_pdx;
 
-extern unsigned long max_page;
-extern unsigned long total_pages;
-
 #define PDX_GROUP_SHIFT SECOND_SHIFT
 
 /* Boot-time pagetable setup */
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -134,9 +134,6 @@ unsigned long directmap_base_pdx __read_
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
 
-unsigned long max_page;
-unsigned long total_pages;
-
 extern char __init_begin[], __init_end[];
 
 /* Checking VA memory layout alignment. */
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -337,8 +337,6 @@ struct page_info
 #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
 
 #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
-extern unsigned long max_page;
-extern unsigned long total_pages;
 void init_frametable(void);
 
 #define PDX_GROUP_SHIFT L2_PAGETABLE_SHIFT
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -146,10 +146,6 @@ l1_pgentry_t __section(".bss.page_aligne
 l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     l1_fixmap_x[L1_PAGETABLE_ENTRIES];
 
-/* Frame table size in pages. */
-unsigned long max_page;
-unsigned long total_pages;
-
 bool __read_mostly machine_to_phys_mapping_valid;
 
 struct rangeset *__read_mostly mmio_ro_ranges;
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -162,6 +162,8 @@
 #define PGT_TYPE_INFO_INITIALIZER 0
 #endif
 
+unsigned long __read_mostly max_page;
+unsigned long __read_mostly total_pages;
 paddr_t __ro_after_init mem_hotplug;
 
 /*
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -159,6 +159,8 @@ int assign_page(
 /* Dump info to serial console */
 void arch_dump_shared_mem_info(void);
 
+extern unsigned long max_page;
+extern unsigned long total_pages;
 extern paddr_t mem_hotplug;
 
 /*


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579619.907674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKOZ-00031I-OK; Tue, 08 Aug 2023 10:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579619.907674; Tue, 08 Aug 2023 10:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKOZ-00031B-Lo; Tue, 08 Aug 2023 10:56:59 +0000
Received: by outflank-mailman (input) for mailman id 579619;
 Tue, 08 Aug 2023 10:56:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTKOY-000315-KA
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:56:58 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 496d3e19-35da-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:56:56 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 06:56:48 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW5PR03MB6931.namprd03.prod.outlook.com (2603:10b6:303:1cc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 10:56:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 10:56: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: 496d3e19-35da-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691492216;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2jNFxlV28QRE3OEi++L+SMgSEc3ioujoxZyvZzAKJN8=;
  b=S1ZiSW7sHlWY/WXjqFxOnFPWEnugxDZysqnRGwmaiAinsPk/OPl7tvRv
   ywcmcxljK97V17rtPPG7+ieX9kblI5uKsMRAio2re/6T41JA8qYjeyFTx
   +rME/NdLIwxu11Je9kc8Zc4xwI5QYZHPRbfPmwhO1iwUNhTfPft4k4I41
   I=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 121486593
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KTWs762jGTbI7kH1PfbD5fBwkn2cJEfYwER7XKvMYLTBsI5bpzMCx
 zBMXW7TMvfZNzT1e9lza9zkoUgE7ZWHzoBrSQNvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxmOqgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfG3Fr/
 OM/EysxYh3eiOWfwYmLRdVDr5F2RCXrFNt3VnBI6xj8VK9ja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6Kkl0ZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqhAd5CSuDprZaGhnWh6mgLLxRJCWG3it2Ck16jBugCc
 WMbr39GQa8asRbDosPGdx+3unmfpTYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACAEDs9/qpdhqigqVF4gyVqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxgbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:wxLoNqBXEFI0LCflHemM55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V/MjzuSWUtN86YgBDpTniAsa9qA3nhPtICOAqVN/JMTUO01HHEGgN1/qF/xTQXwH46+5Bxe
 NBXsFFeaTN5IFB/KLHCd+DYrEd6ejCyqyumPzPi053SwJnYbwI1XYbNjqm
X-Talos-CUID: 9a23:usFcLm8ZEebeIQj/GsyVv1QEP8k6VUbG8HvdfkC/IGdSeLKpZnbFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3AxRtolA1bwkmQDuntNAT9HaOZrDUj0YiqEGcEzsk?=
 =?us-ascii?q?8t+KgDjVgJmqn0W6YTdpy?=
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="121486593"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c6P2zQBJmJogMPGsZOxiZbGtXRCHylIPw/rCDL0jyIAZrSitBew8ZgbIODyjyjiEXFZJi6TKsiJdfBu157+hfUUL4/TU/31fPZgRnC2n3iJhe6xwTGLLH+a/8bgio4gB/QEp7/VlKcLPlzjzadaF9yayDdCvmrP1EbZWRMezv8SmWlEJ2TxI/4wO4gD+Ria6g26uR8+iGeGPqBe6xXVnH+Ijgrepdoc58yPX40igLAWQJqArElGxYxIjm/ZXEFibSiPiPf9SVJxlc60RJgNNQdJhlLI2wnEQQK866Voxmy6gOQRs4MMxp1fwfWaSUKlUAs4n6MDdf+4GX+fpCx4qZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2qCSSSOg1/cz8iOPZBvc5n7Io6CJH4Cb61rXtF0d+tA=;
 b=fqtrXpp3H/VH6xIUuPjxTZoNrNqbpa/PSriFGOzC4k1mPEhHDB8M7xVG1ZQVQ+aAheqC8+GOp3utuQbBRGwb+m8EFWJyVqNgN122NDshiIe4PyRxHPgIUxXi1iDPzOBQjBdeu8o+OXXLCJ7bg6IAn8HfJNg8RD79QNZOfJ7y5dg29TByvwN2LbNtJmlD/ZDdM44I1Qi9fNpP/l+SLcG088Rld7W5IqpciiAGlr82gylWF4L5UkkyklFLHTq3yCVV6s7tRWiHWY5k4J9yte8HUQ3XesWCe6epVtprY3pVC2LVdbXkNi3b2XmmbU2FRQh3MX95D0E6u5oNHdyRGhxU1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2qCSSSOg1/cz8iOPZBvc5n7Io6CJH4Cb61rXtF0d+tA=;
 b=EnE9ege0lZ/+ZdkFK7mw47dOx63Xwftp5LeLyWNiRgzBtdz+0m/kMBk1FLRL+EwFas3wWRYANqH9Ci28DB5QEFezdolRihFT5HD8/iM08QMKhJNRkLY13OSzsXxlUUPxGmAGEl8PqK64m8IEUXrOOzEE8fYTmQBQmdFtjTT88KI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e6f63e6d-af0a-0e2d-b9ac-68cfaa083c7b@citrix.com>
Date: Tue, 8 Aug 2023 11:56:38 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/2] tools: add configure option for disabling pygrub
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-2-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230804060000.27710-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0030.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::18)
 To BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MW5PR03MB6931:EE_
X-MS-Office365-Filtering-Correlation-Id: c83f654e-fd11-4210-4638-08db97fe27a7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nLcHmpzCxM1/ZiecxS+rId5b2bPtigaE3ENtZL28f32/ObIWDGStzRcISIaaZg07gUKWbRL7Gq0CzNYU2LUXJynwNE1Tei5rnIoVScuYJ2ps8llasDjJI1KmtiF0JzSCqDq7T+eN0WWpf86eOnCN8qSUIlA2R4BNbdaCtnAJbB1vtORUZ+JcY798cOc5cl4xFuEpTBPaK2Va8sU5yOIl2S0c82WSN7ibS+ZBI3KxF5/7IXQV1l1yStJZWChi2MtPi7EKmrOHHboUH6BfTv1N2FyOdotKZfVzI0tnjEkmY5HxLWTwHpIXCvEGabZelK5nS7lhoc4fCv6W/UrcFK69n2Tksi5NFGVIfMpINPncedLyb1T10LiL7ZwqHzCqIPfqVT7JRIyxWSw+i6lUpyQNygYlIP9URhz7zO7Dj3wpZzKHJEcz0QgxSEPwIWyLgNsE6fpo+PkHUko/w1RvwstYzPsbprKQ6SSRau4yYaQqsLacpHhfNvvcaEOH/a66k1sC7t9XhEeED8GwFsc5S+oVgYe7mTzi9MfsKD3dAGQUd9HOOiROw9F5qxHEuygM2/4gBieTlnPu5hSLRFv/A9ouHXgwDTkspggAJWT3fR0iS1yeIHN661PHMqM8AF6JTOEN7XkxBgJYvfku2GTj5iR6PA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39860400002)(366004)(346002)(136003)(451199021)(1800799003)(186006)(2616005)(6666004)(6486002)(82960400001)(478600001)(86362001)(31696002)(6512007)(26005)(107886003)(36756003)(6506007)(53546011)(316002)(5660300002)(8936002)(4326008)(38100700002)(2906002)(8676002)(41300700001)(66556008)(54906003)(66476007)(66946007)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWlEYWtMTGRtc0NvSjdvWG1ncHh4YXdrL2NtTW1BOXEwekcrTnNRRTVPSis5?=
 =?utf-8?B?ZlpsK1hjRkpaamRQMVRqMWl0aHB4azZFekcwTytjN2w5UUJBenpETUZwcXEw?=
 =?utf-8?B?SldjM3l5OEpIRXE0b3dRZHZ3UTlCZ292MGdWN1ZiS0dubDArcVVjdTlsZzA0?=
 =?utf-8?B?NlFNL2drZHU0ZnBicmFIYVF3N1dDTlRyeHZ2MDZWUi9COFpDQ0VQVzlOZnNi?=
 =?utf-8?B?WGxSMG1nVzRyM25LbnM0YkNhVUs1bHdJYlJXSnBLRGp3OE5vaEFzOTIrdDZB?=
 =?utf-8?B?cUJTVVYrK2kvU1VNZ0MrSVovMUdBZXV6S0g5NXhkRTV2N1EweDFPR3p1Ry9o?=
 =?utf-8?B?R3djdHNEMzBpVFFnZkZGdlh3Q21zQlVXR3FyZTZJZnhhRmN6YlE0ZDRwOVQz?=
 =?utf-8?B?ODBCczJzN2VZcUs3RGpkeGpmdURSUjhtWXd4V2FCUVpkS0YvTE9PcjdHRzhK?=
 =?utf-8?B?OEhmZXpaU3oyWmI0QldpaFhtNzZIZzBhOWxBb1FGVTl3M2FzWEpyZCsxUUJi?=
 =?utf-8?B?bHh0WDRCT1BXdGlsUUFKbU41Rkl3ZXFmdVFhNlRiWDZmUTUwUjA1MTVvdXRL?=
 =?utf-8?B?WWxDekN2ZjZpcitVODA3UjVudmxGMjJMUDNEdGxKL1RlUmhURG5lNEM1bzd1?=
 =?utf-8?B?OTd1SmdDaGV1R2s5Zm1seS9hcjZnMnlxeGc0SDFpRTNEYVRlTXY3WlR0TzlV?=
 =?utf-8?B?UmVELzRSTk04UEFSV2IrVVVON3BIRk04QjFFY2RJQ1ZGV2tuS0JJMmMvZjYr?=
 =?utf-8?B?SS9VM1NaOU84ZVZlU2JVdG1nTzVvRisvUGkzaUowaW9UYXU1cWN3OGFTVkNR?=
 =?utf-8?B?NDRoWUZ1c2lnWjNteHZBaDJ3blRtY1cwcHZMcnNLTmJZd3JjWGpLWEt3QVc0?=
 =?utf-8?B?bG9oMjVrejQ2ZHlHTEV3SllZOXZhaCtxSC9zbTJZd0pYTWZHRWpXQ0huMnRw?=
 =?utf-8?B?VUtVZk9WWTR4QzUyNHNqRFdzYXdrNTRDV1BYZjNPakREbDZvb2lsdHlLWjRV?=
 =?utf-8?B?RDdSSWQ3eEhRQUJkRTY1V2ZJcWxlMXNNSU1TTloyVDk3eXlYVktJeExldGxi?=
 =?utf-8?B?eEx5TitsWENUcjFSV3Ztay9MbnVya1o5cVFtRjRkMzgvTVFvdUI4a0tlelhE?=
 =?utf-8?B?MXZ4VHdLeVNEL3UwNkN4aGEwWkhNVkVaeUp1aDRaWFJweGo3Y3V5UHNRSFpu?=
 =?utf-8?B?Qmo2Z3IwOUlMSkxDTGEzWXNkTmFHUXF3UkRzNGtrektKQlpQeWtxeHhwMFgz?=
 =?utf-8?B?dlQxRDc3SWdzRVB0TXlwYldpQ3FnaWxCQjdzQ0QyNEh5RkZPMGVUYTRGblRD?=
 =?utf-8?B?dFlDUzF6NFJKL0pwd0lva0hwUFdrOCs3QlFFek9vR2pMZjQxczByRVVSY3Zw?=
 =?utf-8?B?U1poaklyOFZ5andibjFBUHEydmxIbUJDUk0zYmZsUDdkdlJZSm55MFE1RmZ1?=
 =?utf-8?B?SURGK3B0aTcyWVpCbTFLNlVncmV3b1lNem15alNmZlRmS3U2RzBHTUVHY0tl?=
 =?utf-8?B?c24ycWVPc3VCaEt6Q1ptY2R5SVVKZGRnaEp3WkVnNGplQkZPeVRySTlDMTUw?=
 =?utf-8?B?dEZvMmNubHRpNVZsekdWNEg0YTFtZjV1UnR6ajlOMzdNZzdpZWxMbEVGT25j?=
 =?utf-8?B?ZzZCSXBlMWpmZmRaZ05ka1RTZm95R0dmT1Rxc05DRXhNTDFhSzcyYi9vTnpy?=
 =?utf-8?B?RlFWNlhZRk44SkRFMTBLS0x2c0UrZm9rK05IamFwendNTFh2RlE0aDFXTyt6?=
 =?utf-8?B?SEtxdncwOXpZYjJJQWpnTldXbm0zQS9PM0pBTUZwR2hCYVU2SkZ2SG5oSldK?=
 =?utf-8?B?WXVOeGVZakxmbFlQZy9meFpwVUVkUEgzTDQwcEcxNGZSTnJ3UHJnRUNiNWhK?=
 =?utf-8?B?U05CR3Y0NDNGeEJ0eVdxZUVIVklOcjR0NS9VMUd0ODVtTis4K2NuY1U3OXpr?=
 =?utf-8?B?bm9VMnBIa2tTWUtGSGlZREd5MzgwM2JHeWVrUnU5bTNuQlJUekN3anZ2NllR?=
 =?utf-8?B?d1hHTUNtQXNmYndCaWxabzBoMS9kOE1MZFhUR01vamVDemZSK2tTS3pPL3pa?=
 =?utf-8?B?T0wzVVh6eVQ0VDFyd3dub2xFKzdBY2FYTlJGViszSlloQ3ZieTVxaXo4R1A2?=
 =?utf-8?B?S1ZpNlBDRnIxZm9Kc1JBaW1ZdERMWWY3eU1hQlovQVNFVEhvSldNSG9WVUg3?=
 =?utf-8?B?eXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	m6AGP1w9yqw8AvGf26qoTbTAPThB7Q1ghtVqpuWevWxR7dGYkqDwaIw3b4QSLciezBBnjyskiHfNh2Gi3yofI8skp9DDsMn9GtG/7qlAR6T2lW/m/5SSgLw1kDVxSPUrmFO8Q9V8kxY8QU4qjjSjODkY/ZGXHn5qWvIBkxf0NJ67lJsR74Zh7o4yNKFEIFIkJ3/XZYWyWfQeUdyIjB11SHEgiQp2Sas9k74nlMi3cYls8B+kkQ41BF+be9e7w7UOmEyjvMb0HGqdYasgoKBt+l/1pPb4zpUcnIb0t6lr/NIjIcm0VqMfx8X1vnEgF0PvLhhtrXmpFyAmcSeThr1kJfxJtv2+7rmJuK5wi9EcmSe3gj5Jlxk9AH1Bu2XpI5LLZuVWH2p7wrJ66ms3dhIjctEKC3br7ZFmomVa4in2+gC6CTHDbmPFDAo1EBitvy+8ABIAUzATbjqovRCVerE9ddU19Nx1IAmEvrG4KvbE0VPYnp2LUgZib2HFiAWMEkJyzFucfcHBpGeSEFL4hacGz+GaXniZGfL8NYl62ucHj42knbC6VLcG4GjyRyG58Gelx9xFDtALH9nxKuYyNdLnw31rwV+TvMQTyO2bpph65aHfnjz/WuAJmosDnei8SWljvZJCCAZ4yCyuOHKtE+KjaPSoGc9T5s86UbgJc8BOTaq4ZhsDoJtPQZZ9d5jrqj1UhBKeu/6z1+Oz4fzC8eRurJFg5IHStu5WT1TbgE1/U+5BdLDF6GC+squuXWJFcxudI0Wv+/ZVqAv8z1AFEmWaFHDRy2MWLeTVyC/YeoTa3d1L7LAiX3T2sXpazT66nQ1u
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c83f654e-fd11-4210-4638-08db97fe27a7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:56:44.8688
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RfZCsaI1CEC40kA4DWS6j0wCqjeGkS1XzvkTA81E/MPiiC6H57bTPRuuDUS7wuJA+FPOkBdqtvETsYNvwLEA4QHV5tJy3TNxtopxMcqmIBA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6931

On 04/08/2023 6:59 am, Juergen Gross wrote:
> Add a "--disable-pygrub" option for being able to disable the build
> and installation of pygrub.
>
> There are two main reasons to do so:
>
> - A main reason to use pygrub is to allow a PV guest to choose its
>   bitness (32- or 64-bit). Pygrub allows that by looking into the boot
>   image and to start the guest in the correct mode depending on the
>   kernel selected. With 32-bit PV guests being deprecated and the
>   possibility to even build a hypervisor without 32-bit PV support,
>   this use case is gone for at least some configurations.
>
> - Pygrub is running in dom0 with root privileges. As it is operating
>   on guest controlled data (the boot image) and taking decisions based
>   on this data, there is a possible security issue.

This isn't really a possible security issue.Â  It's a high(er) security risk.

Pygrub is still security supported, so falls under the usual security
process if an issue were to be found.

>  Not being possible
>   to use pygrub is thus a step towards more security.

IMO, the phrase you want to use here is "reduction in attack surface".

> Default is still to build and install pygrub.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  config/Tools.mk.in |  1 +
>  tools/Makefile     |  2 +-
>  tools/configure    | 26 ++++++++++++++++++++++++++
>  tools/configure.ac |  1 +
>  4 files changed, 29 insertions(+), 1 deletion(-)

Shouldn't we have a patch to (lib)xl which provides a clean error
message (rather than -ESRCH/etc) when the user selects bootloader=pygrub ?

Fine to be a separate patch, but not something which wants forgetting.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 10:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 10:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579625.907685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKQo-0003eC-9x; Tue, 08 Aug 2023 10:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579625.907685; Tue, 08 Aug 2023 10:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKQo-0003e5-70; Tue, 08 Aug 2023 10:59:18 +0000
Received: by outflank-mailman (input) for mailman id 579625;
 Tue, 08 Aug 2023 10:59: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=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTKQn-0003dx-OA
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 10:59:17 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c853bac-35da-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 12:59:15 +0200 (CEST)
Received: from mail-dm3nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 06:59:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW5PR03MB6931.namprd03.prod.outlook.com (2603:10b6:303:1cc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 10:59:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 10:59: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: 9c853bac-35da-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691492355;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=240ItFNQDfsYGdaD7F771Y48LREjkKdZjnYUTIJFswY=;
  b=QCQ7th9GbXnjTWr+420uvptgtXXw7sqyGbqdx+9X/YoNQgIu78wKjWK6
   b5VpCyFPUIs/Jn8eomhNzddoiWkA1BkMKDl1HyWvF2f/GhQbzz5tOq/vW
   2GC3CvUffotsuDec/kg6XlLl2C5B7/a8o76DpqAWWbmX7xlqaE1Tk1pUi
   A=;
X-IronPort-RemoteIP: 104.47.56.49
X-IronPort-MID: 119269582
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zpJNfaicoMIThOIkqL7+g6bvX161whEKZh0ujC45NGQN5FlHY01je
 htvUDqGOvmPNGP8Kt5wa4S0/UlTu5/RndBlHAE9ri5jEn4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AeBzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQXMjJOZ068ldnv/5aFdtNq2Z44NZTkadZ3VnFIlVk1DN4AaLWbGeDmwIQd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluS8WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTeziqK830Af7Kmo7FxoTXmaKnMmC1RS0R/FaC
 G0M9wV0ov1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+WsDezNC49PWIEIygeQmMt+ML/qYs+ihbOSNdLE6OviNDxXzbqz
 FiisywWl7gVy8kR2M2T913dnyiloJSPSwcv/xjWRUqs9AY/b4mgD6S27lzc4edFPZyuRFCLt
 3gZmOCT9OkLS5qKkUSlW+wLFaq17u2ENxXGiEZzGIMs8Tus/XOuZ4FW73d1I0IBDyofUTrgY
 UuWtQYK4pZWZCGudfUvP9P3DNk2x6/9E9ijTurTctdFfpl2ckmA4T1qYkmTmWvqlSDAjJ0CB
 HtSSu70ZV5yNEit5GPeqzs1uVPz+h0D+A==
IronPort-HdrOrdr: A9a23:6MRrKasSUcIGsOZ6vBNbLyhk7skDVtV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslYssR0b+OxoEpPwI080lqQb3WBuB8bGYOCOggLBRuxfBODZrQEIdReOkNJ15O
 NNdLV/Fc21LXUSt7eC3OBgKadF/DBQytHOuc7ui01gShxwe+VY9AF7BgyHe3cGJzV7OQ==
X-Talos-CUID: 9a23:SjoXKmG+sB6t19GpqmJo7kxXE54aYEaE81PuH3W+VjxyUeCaHAo=
X-Talos-MUID: 9a23:jQalJQgHc1kqYuFqviRovMMpK8Bt6JmfNXA2zs8Mp+qBFg1oNhjHg2Hi
X-IronPort-AV: E=Sophos;i="6.01,263,1684814400"; 
   d="scan'208";a="119269582"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gIW0PeUib6h3xgKSHp/L3/4Awl9DPFw0aygqG/LOyRNu26GOW3dW1g5g8mcDVyHCalWQVZ9JpIyHigAe7SALfu1RMVule30TDb+2twWRCNksJJowItFRNr/hjv79rmO98vU1TuaqZDthjaeqcV/zQRDxP1lVNpwCOghdnF4wBXauPFEKe0OVjOv720TrvKA3mdOIChLehPS6vNFBbr03I3d2WRknBqB2U71Jca7qUDS09eqeQUBQ14+I4y9nK1OgoF/R7lbNcZDEFdKt3AJA5i6vGBUOEruPN4ZaXY0ZmbqlZjvnmPwi+Kst/iIxecpgqMhRk+qDHSkVbWtY8xXGww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=240ItFNQDfsYGdaD7F771Y48LREjkKdZjnYUTIJFswY=;
 b=oG06pq7a+pwP+q0LWx3wXIDT/BhHMuHWBXO6HcXnbhIgL4D4OGOEslYUhlHeMx4uVuutET35kgoZzAfvmNpu1cIZxTRg6FiL/GYa2oboJRGq0IPTpyRfuYBAsdzqu+m6v2SlJxiPh0Nx/dKBERv6/lC7PbXZNKQHMAnYxQNLalS/h2BIO9BZlo5DE7hJQe5WLzin4XcpZvkBx8iPpgG/bCw2Or8uhHrDO4rv0tWUTzLmF6ZBVps2WWwuBBo1iILcjSL+LUVgZxNhDiFrK+DB6P0uwR//JHpSOyFa7uneDfAONjhgblGNsrnXkN6e2xGCqPg/Xtsi53n+eWoIVWE/Jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=240ItFNQDfsYGdaD7F771Y48LREjkKdZjnYUTIJFswY=;
 b=Mu4qUisjfLKgKFy9ccflV2xsKsC0lMQMfW23tTIC6dd23kEUCGrO2PtL1kZeEnmteCv1k7IwbXscsJgjUbWJo68f7a19CiPAsniuJTsg9Rb9lYhkNeSHIdj6uqo9rmTG0jmNE2NB+UB+zDLdk9AiAwrhWSCbQqhWiBhljcbdSvM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3ab0e8b5-05a8-6157-28df-d40cceafef06@citrix.com>
Date: Tue, 8 Aug 2023 11:59:03 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] move max_page and total_pages to common code
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <f1653f8f-a2e3-5c91-0401-b5ab14415c86@suse.com>
In-Reply-To: <f1653f8f-a2e3-5c91-0401-b5ab14415c86@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0131.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9f::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MW5PR03MB6931:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e18d40f-ca3b-4fd6-d414-08db97fe7e5c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FnhVsF80jaoBENjx9TSzEL8jE8nqQogUalJlBigHYVi8scvjlvhJND0vOyLjlCfdDM5kpln7KXnve8rMe3GmthgWiTvqmsaZCoso+6dVHe5psdeSrQAVUvOzs4icKv+DQw4EZ7Pu7U8DL3VIxu6ctkVLtu6TimrEVxop2sQLSeuAmZZlBUdi3fIKe652pD99qhF08twY+MSoE6L9OfIiqP6EuuufsEj1S1BH18CO5H16UnpmIJk4LEuw9WjQWNRNASYV5GekHpF/WqPx1a1QTEkDVYXFCIuaCNCywKKoQRkkKDOTfxCZPWtlz/h0pVGA9ypoUccLxQPXobc3WDHXxiSwmwfXxalwSFCsJ7c2g6i/6K198ffwn/LWSoZvjy/d1mxvux6EBwD4DNuyrXxg5rqEzLALYsiDggKhPHSblP0p85St/Jc/p0uP7nysIE6Qht+j8iavhx7sVy+DMjbq/dLBlu1IIJ19izxYvWz2KtIEMa+tQZNzF8MnC1suCbp+28iiHC37Sk8bI0BmERyAWn6v7hW+Hy1B197yVOndwYGUrUUihXIOrUNdKId4Mlvu5kQOvxHC9VDJWTZ5KH8McV3x5aOqAJRNyNQdKcJ0vtXlzhNc8cgCqb5uMtYYA0R49qRKjQ6FaTSmWRB8lnwW8w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39860400002)(366004)(346002)(136003)(451199021)(1800799003)(186006)(2616005)(6666004)(6486002)(82960400001)(478600001)(86362001)(31696002)(6512007)(26005)(36756003)(6506007)(53546011)(110136005)(7416002)(316002)(4744005)(5660300002)(8936002)(4326008)(38100700002)(2906002)(8676002)(41300700001)(66556008)(54906003)(66476007)(66946007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vzd1STVVU3NoZzBzRWxKWkNsZysxdlhseG1jclBGL3B6c2xYL0NnOC9MQytS?=
 =?utf-8?B?Q2F3RkwzVHJXdk4vb0hScDU4L09IQU9GOTdoQ2R1cHA1dUFnWmJ3cjFqUGJo?=
 =?utf-8?B?c1JsL0RiaGFSa1NyMDRnZmdUYWRSRHM2ZC9sSHp4S2RHQkZwbm95bi9HdHN6?=
 =?utf-8?B?WEZCOUtYeUNYM1FBaGpMaFYwUEdZZGRQVFkzZWRLOVhCTlhkRW1xdXVvaVdX?=
 =?utf-8?B?dTFtUnBzWFFNaFBWNXVzV1oxeE1ZUFV6dG9HRTgwVGJEYTdYWnlGaVJYMFlk?=
 =?utf-8?B?eWxzT1dvZVFERkhrWDNFNFMwOUVob0puclZzZGdmcjBzbHljaUVFTFdTbW9G?=
 =?utf-8?B?c3RybWVVdFQ4K21va1RwMzRJWWkzeGo2U0Zoc0dKbHYzeERzR0ZvV01xTlhi?=
 =?utf-8?B?ZEJMQXBGZm5pbVFJTkN2UlN6Wkd2bVVtTmhYTUY2d1NvcGxYYmtxSmp4NzF5?=
 =?utf-8?B?bk16VEVrbVd6OHZDYmJkUmY4T2FyWUlVUHdYemZxZlNLN3VEcEJJaytqVi9x?=
 =?utf-8?B?MkJiTmFMbDRFRi9RZzFYZkV5MXQrN3hISTdNNlZEdXhKeHFvMDF3L2RBeURQ?=
 =?utf-8?B?VjhwYzFCZko1RGpVRlJKUkFxcTBoc0F0dDJ4cXFkcnBGcGlSd29ZUkV3cjZa?=
 =?utf-8?B?bEdiVXNEOFRkMUw1eEJSOUY0em0zRFM2enBnU2x4aHJGRHZYY3pHSm5jaDZs?=
 =?utf-8?B?clNxL3B6MjU1RS9INFdEc2JPWmpFRlhnd1huWHA3ZDJ1KzE1TTdnQzQvVjZB?=
 =?utf-8?B?bmF5TUJ4cTIvNlFZU2FaeFI1QUhrc2ZSWGhWeUlDa2VxRVJ6clNCOURKYzZh?=
 =?utf-8?B?UDZnUW5VMkU1eDRJOXQ3eTdQUzdBTHNyY0lGQ2F2OEpnUitxVGxtdkw2a0hy?=
 =?utf-8?B?MXl4ZWYyMEx0TUpidFExTnJ1WXJjeEppTGlzRlRNZWE2VEV3bU9BZjVaQk13?=
 =?utf-8?B?bkk4bDBhaHo0WnVKS3BIYlFpTjhVRk1ZU3JIeUlpQ2V3QjlvaExFclZOVXpI?=
 =?utf-8?B?VkpWMUJxOHZWSXo4YXh2MFRNV2p2VEg2bVVDdjdDMnNXVUVtTkJIb0ljRDFn?=
 =?utf-8?B?U2xyL25PUThIanJvcTBINUs4UjdLMnVjTTJjdnFnQmVGQlpGa092WU9LL2R3?=
 =?utf-8?B?eHE1bG5GZy9GYTBoejg2MGwrZUprYWd0TVFyM0FoOENQbWszVzB3Z0JEei9h?=
 =?utf-8?B?Y3FqaUtSNWo5d25VUWJpcjRtQXFjNVZQYno4S2VjMFhhQVdtamJNMlFhMFhn?=
 =?utf-8?B?eTIvdm50R3JMdG51cjJEU1hLRGNwSUFJMkVCbUlScmk2eEtDTTNYUFRZQWF1?=
 =?utf-8?B?Q0c0MDNPZXRyZnBEYTg1a213L0tvSHlpTVhEYktsSTd5VGR2WW5aSGxESlhl?=
 =?utf-8?B?WG1GRERDckxkSlE4Q2FSenk0MHJSMkVzakpiZzFMb1p0SXgvcVJJcDdWeFpi?=
 =?utf-8?B?Nkdqdlk5dk56eVFPNG4vdmt6Um9QekR1dXAxcWhmeWZrQmNiWmxJS29ZOXpX?=
 =?utf-8?B?NmNBcmlTYmFQN1dIeUpObkNvbG01b21vSTJsc2ZKQ3pnaGhEQnkxbVoyend5?=
 =?utf-8?B?ckw2QzdRMzFicEZsV3dmZUpZNkNPWE4zUkxWMHF0OGxWQmpYai9WTkRkcENo?=
 =?utf-8?B?NGlKWVZMT0p6dGJTWk16b1BrODhSS0c2eVljWXdDbk9ISVRvMlhkTWg2SW9P?=
 =?utf-8?B?cXRrTjI3dGVMSmdhZ1pvN2RNTk5HSm54ZCthdkZQSGxKNlU4RjBSMUFWUzlD?=
 =?utf-8?B?Z0FQRWt5WlJBY3dwRHEyWldSWUViL1pVbGVuYVhTb2VKZ0FDalZwZEJtMnlm?=
 =?utf-8?B?NE4yMGxRb0M3TlVrcnRHTnNhcGh3TDEveTVtcXdza3FMSjJneWwzL3h1OWkv?=
 =?utf-8?B?UnBkZEtTcTlOZzlSbDJLMHU4Rlcya084Tzd6WVRtL2F0UUo2NFZjdUVXKzla?=
 =?utf-8?B?cUExTlF5cU9QY0FZclR1dy9wS0R3ZkF3L1ljUmtqU0QzVlZkZGFzd0ZqWXRa?=
 =?utf-8?B?L2dSNWRySC9sQ2VVOWJVejJPMUVKeFlnTkFWSWJYVklneTVRWnRpMnZMVkox?=
 =?utf-8?B?NFkwaGdWdk5IVG5lcFVWMG1FaS83Ym9UQkJvS3RZRE5USFd1bUM4eFlpQlNB?=
 =?utf-8?B?bXUraWxMbjJybmdKaWh2WGtVSlBFZS9DUE5PK1NxT3Jsc3NwTTRsTGliOUds?=
 =?utf-8?B?Y3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?UnhwZDh5TTBKWnhKTTNNRHFnVm1uRkpQbWRnWjA1QnhLaEc0RU9xeHZ2eUs3?=
 =?utf-8?B?bTJmNDRxbmloZVNhaTUyOVpVSjBxV1JIY1pwOXlWNWt5Q1lvaVVHbms1dTBp?=
 =?utf-8?B?Q0JCSHd0U0U0QjN2RHFwZ0N5RitTYlByZGhySWJ2UnNFbk5GV2E2RmZBM242?=
 =?utf-8?B?K0tUellZV01aWjQzY0lsV24xZlJXQ3ZOZFZLenFtVzBsNmtvOGNNN2tjZzlY?=
 =?utf-8?B?RTdla1dNcXMvUHdpc29idmw4Vmx1YzNwTXgvKzEzOC9GdnpVQ0hsWWpCdWZR?=
 =?utf-8?B?K2FRRWhVdVFOVllaRlNRTzZDVDBEWFNsaG45T1RRdW9LMm42RU1rZVFYaU92?=
 =?utf-8?B?Rm5seG92VXhjMDEzQWhCU2g4cFFDcmdHVStTYzBkWDhIWjN0RFZSRVJLaEUy?=
 =?utf-8?B?cCtIWFovYkNSeXJmNStyZjNIQTl1K0d4RmhzZ3BkTndDeU84Uy9keUdRQ2pi?=
 =?utf-8?B?TmlZVEt4WXhNdW84MlZSUDd6Nkt5MkdJY29uVE1ydnNiT0o0MGNDR3hxTlN3?=
 =?utf-8?B?dm85WmkwRHYyVTlaZXN0YUdVS1FHR3p3QWF0UnNjYjEzbHBMOXpRTk1BK0N2?=
 =?utf-8?B?TlowbHJPbVBGZC9UNDdMbnB5VndoM0hoN1hoNkFxZk5EQU82NmJFUHZncVZI?=
 =?utf-8?B?UVRmbHpHeGtBZHdnYytFZU9iM1RZaXJsMXBFNzc0eXh6cTRkVHAxUHBlUGRB?=
 =?utf-8?B?NzJ0VS8zNUJsSXErdlFEck1vOWJ0Unp1d0VFM0RycGV2QjU4SWVNME1mcW43?=
 =?utf-8?B?Yk9RaGJGOHFXWlU2aGhxelJIVkNHUmZQQ1ZSeUZySW1DMmRrcUhZaEJ0Y1dh?=
 =?utf-8?B?SnN4QXBERkRBSnJ4b0Y3TTlrMmU1Z0lzNFlCZkxTcC83a3BUTWZWbXEwY0R2?=
 =?utf-8?B?bXg5Y25GOTVtSllka2VGSWlyRW1XaU1ZNXIzWGIzQ3RJa0ExT1JZbnhDS1J4?=
 =?utf-8?B?UW8zWFBpWmFvS2p6OXVFOUxuVnFSY2tORmx3WTk3SVlqUmlGY21qMHJwNERa?=
 =?utf-8?B?aFpCdTdkdmR6UWVGSzhPaWdGb1FVTUVVY2c0SXorYzRObXpWMHFPYmRtbDJF?=
 =?utf-8?B?V1VqRUhsM1VZdHV3QUROeXBNck10MDB1QnJLbEdMS2luL2t2U3FYcStqVXJj?=
 =?utf-8?B?cklvMnVDVUxWYUZWOTZpYU96MUp0Z3h0TGxuUit6aCs3NGtDQU9LZ0dPT2JP?=
 =?utf-8?B?N1R2OTRnRVpHRjlYZko5L2tTRjhGUjZRcEg5YXlxUkpTSThzSDhsV0dFVFJv?=
 =?utf-8?B?Q0svYkZCeGZ1aDZIUUxhRUsrU1Rnb2tlZ2FXa2RjK2RkZnYydz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e18d40f-ca3b-4fd6-d414-08db97fe7e5c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 10:59:10.3232
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F7HwleFaBZ8RRKwJcsQtTlpUl0dyCyyfxrZechgwqaAGfdwk4/4h6++4HBeR0p/xPHYf4jwvW6Jeo9NASLi2i6ClnCk5JeNM7oiz3ZoE5gw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6931

On 08/08/2023 11:47 am, Jan Beulich wrote:
> Common code references both, so the variables shouldn't need declaring
> and defining by every arch. While moving the definitions, add
> __read_mostly (__ro_after_init would only be appropriate when
> !mem_hotplug).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:03:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579632.907694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKUl-000588-Qa; Tue, 08 Aug 2023 11:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579632.907694; Tue, 08 Aug 2023 11: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 1qTKUl-000581-O5; Tue, 08 Aug 2023 11:03:23 +0000
Received: by outflank-mailman (input) for mailman id 579632;
 Tue, 08 Aug 2023 11:03:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTKUk-00057v-GU
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:03:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f2ca625-35db-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:03:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CAC2E2031C;
 Tue,  8 Aug 2023 11:03:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9BA46139D1;
 Tue,  8 Aug 2023 11:03:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fsBGJPcg0mTVRwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 11:03:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f2ca625-35db-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691492599; 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=qodi7cWZzIyQxgbGlhauM6FDc8cfLIWh9gf+S++C2Z4=;
	b=XsAwUa+FzgnLkoQQ0N2TqGGrDsmyWUag34JpdlsXJr0ExcLTm1g/EWkiaOqXRXolwIQFPh
	FN24RAKK215ShD5NpVhFPZ0oqd2acwZgzWZsMclUHREX4S7X+yIFWsM3ZJQjQDMp2AwfUu
	tdPp54dQPj/cykafk74yqUAcVYqlBVA=
Message-ID: <77a85400-91b7-f560-9581-7ddfe5667853@suse.com>
Date: Tue, 8 Aug 2023 13:03:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] tools: add configure option for disabling pygrub
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-2-jgross@suse.com>
 <e6f63e6d-af0a-0e2d-b9ac-68cfaa083c7b@citrix.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: <e6f63e6d-af0a-0e2d-b9ac-68cfaa083c7b@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3LNuFQBYUNSPDYNLL0xigtBd"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3LNuFQBYUNSPDYNLL0xigtBd
Content-Type: multipart/mixed; boundary="------------m0f6FjJmF066Uurzwru0JOml";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <77a85400-91b7-f560-9581-7ddfe5667853@suse.com>
Subject: Re: [PATCH 1/2] tools: add configure option for disabling pygrub
References: <20230804060000.27710-1-jgross@suse.com>
 <20230804060000.27710-2-jgross@suse.com>
 <e6f63e6d-af0a-0e2d-b9ac-68cfaa083c7b@citrix.com>
In-Reply-To: <e6f63e6d-af0a-0e2d-b9ac-68cfaa083c7b@citrix.com>

--------------m0f6FjJmF066Uurzwru0JOml
Content-Type: multipart/mixed; boundary="------------Gj0rgRjsBl0FHbvDu5LRuzKe"

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

T24gMDguMDguMjMgMTI6NTYsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA0LzA4LzIw
MjMgNjo1OSBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IEFkZCBhICItLWRpc2FibGUt
cHlncnViIiBvcHRpb24gZm9yIGJlaW5nIGFibGUgdG8gZGlzYWJsZSB0aGUgYnVpbGQNCj4+
IGFuZCBpbnN0YWxsYXRpb24gb2YgcHlncnViLg0KPj4NCj4+IFRoZXJlIGFyZSB0d28gbWFp
biByZWFzb25zIHRvIGRvIHNvOg0KPj4NCj4+IC0gQSBtYWluIHJlYXNvbiB0byB1c2UgcHln
cnViIGlzIHRvIGFsbG93IGEgUFYgZ3Vlc3QgdG8gY2hvb3NlIGl0cw0KPj4gICAgYml0bmVz
cyAoMzItIG9yIDY0LWJpdCkuIFB5Z3J1YiBhbGxvd3MgdGhhdCBieSBsb29raW5nIGludG8g
dGhlIGJvb3QNCj4+ICAgIGltYWdlIGFuZCB0byBzdGFydCB0aGUgZ3Vlc3QgaW4gdGhlIGNv
cnJlY3QgbW9kZSBkZXBlbmRpbmcgb24gdGhlDQo+PiAgICBrZXJuZWwgc2VsZWN0ZWQuIFdp
dGggMzItYml0IFBWIGd1ZXN0cyBiZWluZyBkZXByZWNhdGVkIGFuZCB0aGUNCj4+ICAgIHBv
c3NpYmlsaXR5IHRvIGV2ZW4gYnVpbGQgYSBoeXBlcnZpc29yIHdpdGhvdXQgMzItYml0IFBW
IHN1cHBvcnQsDQo+PiAgICB0aGlzIHVzZSBjYXNlIGlzIGdvbmUgZm9yIGF0IGxlYXN0IHNv
bWUgY29uZmlndXJhdGlvbnMuDQo+Pg0KPj4gLSBQeWdydWIgaXMgcnVubmluZyBpbiBkb20w
IHdpdGggcm9vdCBwcml2aWxlZ2VzLiBBcyBpdCBpcyBvcGVyYXRpbmcNCj4+ICAgIG9uIGd1
ZXN0IGNvbnRyb2xsZWQgZGF0YSAodGhlIGJvb3QgaW1hZ2UpIGFuZCB0YWtpbmcgZGVjaXNp
b25zIGJhc2VkDQo+PiAgICBvbiB0aGlzIGRhdGEsIHRoZXJlIGlzIGEgcG9zc2libGUgc2Vj
dXJpdHkgaXNzdWUuDQo+IA0KPiBUaGlzIGlzbid0IHJlYWxseSBhIHBvc3NpYmxlIHNlY3Vy
aXR5IGlzc3VlLsKgIEl0J3MgYSBoaWdoKGVyKSBzZWN1cml0eSByaXNrLg0KDQpUcnVlLiBJ
J2xsIHMvcG9zc2libGUgc2VjdXJpdHkgaXNzdWUvaGlnaGVyIHNlY3VyaXR5IHJpc2svLg0K
DQo+IA0KPiBQeWdydWIgaXMgc3RpbGwgc2VjdXJpdHkgc3VwcG9ydGVkLCBzbyBmYWxscyB1
bmRlciB0aGUgdXN1YWwgc2VjdXJpdHkNCj4gcHJvY2VzcyBpZiBhbiBpc3N1ZSB3ZXJlIHRv
IGJlIGZvdW5kLg0KPiANCj4+ICAgTm90IGJlaW5nIHBvc3NpYmxlDQo+PiAgICB0byB1c2Ug
cHlncnViIGlzIHRodXMgYSBzdGVwIHRvd2FyZHMgbW9yZSBzZWN1cml0eS4NCj4gDQo+IElN
TywgdGhlIHBocmFzZSB5b3Ugd2FudCB0byB1c2UgaGVyZSBpcyAicmVkdWN0aW9uIGluIGF0
dGFjayBzdXJmYWNlIi4NCg0KVGhhbmtzLiBJJ2xsIHVzZSB0aGF0Lg0KDQo+IA0KPj4gRGVm
YXVsdCBpcyBzdGlsbCB0byBidWlsZCBhbmQgaW5zdGFsbCBweWdydWIuDQo+Pg0KPj4gU2ln
bmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+
PiAgIGNvbmZpZy9Ub29scy5tay5pbiB8ICAxICsNCj4+ICAgdG9vbHMvTWFrZWZpbGUgICAg
IHwgIDIgKy0NCj4+ICAgdG9vbHMvY29uZmlndXJlICAgIHwgMjYgKysrKysrKysrKysrKysr
KysrKysrKysrKysNCj4+ICAgdG9vbHMvY29uZmlndXJlLmFjIHwgIDEgKw0KPj4gICA0IGZp
bGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IFNo
b3VsZG4ndCB3ZSBoYXZlIGEgcGF0Y2ggdG8gKGxpYil4bCB3aGljaCBwcm92aWRlcyBhIGNs
ZWFuIGVycm9yDQo+IG1lc3NhZ2UgKHJhdGhlciB0aGFuIC1FU1JDSC9ldGMpIHdoZW4gdGhl
IHVzZXIgc2VsZWN0cyBib290bG9hZGVyPXB5Z3J1YiA/DQo+IA0KPiBGaW5lIHRvIGJlIGEg
c2VwYXJhdGUgcGF0Y2gsIGJ1dCBub3Qgc29tZXRoaW5nIHdoaWNoIHdhbnRzIGZvcmdldHRp
bmcuDQoNCkknbGwgYWRkIGl0Lg0KDQoNCkp1ZXJnZW4NCg==
--------------Gj0rgRjsBl0FHbvDu5LRuzKe
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Gj0rgRjsBl0FHbvDu5LRuzKe--

--------------m0f6FjJmF066Uurzwru0JOml--

--------------3LNuFQBYUNSPDYNLL0xigtBd
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/Ey8FAmTSIPcFAwAAAAAACgkQsN6d1ii/Ey/C
xgf/aHi7DSv1X+BSJUoiAXrp1SOWj8H+uLAn7VNbulQCwRzMHY8F8oLrYxiB9AAeosLwFIsZXIU5
UUxwodeTxUjSvnY3KZ3mnHCTUzISMvg8CPW0jlkkPflp+TNHm7AW66D18BSOdZlSnyUMsdKFlOya
77ZiG4mQq4Iq79XFER1OuRVEds0yrPWHmLvb4rLAhXmIYqIDOMlQqw5CF/P93vfmw+1JE1DRTLN+
gDcSmN0qrGR0fjyUGOMYzY5EsvtP7JcDqgMmROU+NScM80+1USf2k3nI1T7Nq5283C6yKT+VWif2
3Kk3J5XO5EJ8dSByPfydY+SFqMIsCHEsNu/N/wkVNw==
=84oy
-----END PGP SIGNATURE-----

--------------3LNuFQBYUNSPDYNLL0xigtBd--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579638.907704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZe-0005n7-EI; Tue, 08 Aug 2023 11:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579638.907704; Tue, 08 Aug 2023 11: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 1qTKZe-0005n0-Bj; Tue, 08 Aug 2023 11:08:26 +0000
Received: by outflank-mailman (input) for mailman id 579638;
 Tue, 08 Aug 2023 11:08: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=psPu=DZ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qTKZd-0005mu-8c
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:25 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20609.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e22fdd38-35db-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:08:20 +0200 (CEST)
Received: from CYXPR02CA0013.namprd02.prod.outlook.com (2603:10b6:930:cf::24)
 by PH7PR12MB7283.namprd12.prod.outlook.com (2603:10b6:510:20a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 11:08:13 +0000
Received: from CY4PEPF0000E9D8.namprd05.prod.outlook.com
 (2603:10b6:930:cf:cafe::ee) by CYXPR02CA0013.outlook.office365.com
 (2603:10b6:930:cf::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Tue, 8 Aug 2023 11:08:12 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D8.mail.protection.outlook.com (10.167.241.83) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Tue, 8 Aug 2023 11:08:12 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 8 Aug
 2023 06:08:11 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 8 Aug
 2023 04:08:11 -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.27
 via Frontend Transport; Tue, 8 Aug 2023 06:08: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: e22fdd38-35db-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l46pOAumjyeX78+zlSS9q2c8A1hOLH0rCZ88GS2nidC0sr9Me5WGMYOvof9LCSpYMtj8nhzYr32hPfRNv8v9QLAzZoTBNpyEvRJ+cQEXPIxa60Ub5Ltp09JBwi3I0ohCzyKf4V+MF0mPQ10124axr3t7oyvys5T9PCFHG6ZTFNsTm8Q4ZNWVATU8Zxco2IM7fM1vReT/h4Qo9T8BZTJ/MdfH/FZ1eHqLS/cexJPorwr5sTbt5ZpurXdbm5qTkB2TQsz6SnTsTU4WSvBJuuz1mkjDQXjzo+I7KpJxRPaOBnbnMC9OIAyLVZQK5MfdeyTPqACcVOPyYoBMVbEC+iZjLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hi0xi37ivdqnavovEZwHm4E3+cicdkaCXIVkuc06OwA=;
 b=bxLquCMPOJEsu3UToGYj6I+smSMyevVetq9buA9Qd8dC0Rawv+/KzJujt/1/U1NddOMbFOv71qApArvnGChzb3UZpgzAicpRdcuhGsugce1JuRNtH84+0NMEJSHWcPlpJnviZRtKjuTXHISeDjJxLV59GdvpgnGsX+YeCeNMfnQUjq3zWLREK7SWaw2CXpYPqBXoClMBp21Xjs2ZTq+ejn0wzFLvQmhMeALzW+jfJTEYPXS1CjVho5k5OQkxSp7oV4/380VpkstGSBfg2lTCrttneboRw7tXadoAy12d/hws/xm9cyX0mh7gZyeOnLfyAwNq2cmuRqoEKsjGsEVTDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Hi0xi37ivdqnavovEZwHm4E3+cicdkaCXIVkuc06OwA=;
 b=HNJk65u0/Ml03Jg7YVgXruAYeNiSdy5BQQcwyTfgTwZ13W3vsRClEQ2DWGpqbHCB5CYcMulfqqYJWmJ3P7vEQg81R05pnBOC52tf4J4IXaCakb52mCwgtSsFzoeauScx+sk3HfvrKwpzBAxOQcXSlsJxi6HuJGuHJKoHMhKMGS8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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] xen/arm64: head: Introduce a helper to flush local TLBs
Date: Tue, 8 Aug 2023 13:07:39 +0200
Message-ID: <20230808110739.1296-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: CY4PEPF0000E9D8:EE_|PH7PR12MB7283:EE_
X-MS-Office365-Filtering-Correlation-Id: f24e20f8-192f-417c-2192-08db97ffc18e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B0P1CZDQni3sh3uR2xhjue+eNo6UdVIkRFgQ6Zsm91UczCyfNdKpQ+hFml8r/sNo027WSXHu42Q7Krmu2tlhL9vdsRfNcUfVvCfLzoIMHJL5EJCCOnTlJJMOU5x3VR2VK31geNTCIEmkIK+Kf4pHMtvNpCrLXGBgBlDuuF0tbZWFpBiR2doofbrmirhr/MPkZz+F8VSQt2wA3+9bgsDKI+mjkNHsBsMfzNcf2ZfbXgQDB7lPNdiuRYvmVtxNveOZzsgEr4nDRmyDBJJgqSC/SicQ3A35nVMSwB1HDgivR2KnZLci1saLrHLY+Zqpy7f2N7ge/EnnbCnsY/hGJwNOq+cjEDjxKZ2iS6B3FizidoncFg8+IezIFvcUlftl3nTa+tjQ05wldiCF+d8cJQoI4UOJNg1nHT0gdMqiRjf/o4W4VxlHqKhkjfvOKTPQ859it2RASznbB87na7o8/aLYlLi6ANoOu4D3E1LukDJ3mxricY4Om86BSblifmOlYj5VfthNTaic/04kmAP99QWcoK+c8v8e+SBCH+BjjRP+Jskxbs4LMP0jrmGOAKlJAkaSvdagoGmAt/kF7KLCNr1ntC4xlV0YfuTJ967ZWob5m1SMG1HdLBOmz1NHG0qc8OFw34YbrWciO6BvE7y1J6TwG4RNEF8sfDoN5SUK5sfRfmb7xVtGniroTbszOOu8LP9iA6kua7rq2kd+El3ST9dGsp0AK4onmfpJQxI+EvrJV6zvVbAuhXMT1eQS2HjarHpMLbghQ4Mro84Ew54Pj9oTKg==
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:(13230028)(4636009)(396003)(346002)(39860400002)(376002)(136003)(451199021)(186006)(82310400008)(1800799003)(46966006)(36840700001)(40470700004)(40480700001)(2616005)(40460700003)(6666004)(356005)(82740400003)(478600001)(86362001)(81166007)(26005)(36756003)(1076003)(41300700001)(5660300002)(8936002)(316002)(44832011)(8676002)(54906003)(2906002)(6916009)(4326008)(70586007)(70206006)(336012)(83380400001)(36860700001)(47076005)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 11:08:12.1735
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f24e20f8-192f-417c-2192-08db97ffc18e
X-MS-Exchange-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:
	CY4PEPF0000E9D8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7283

Instead of repeating the same sequence of instructions to flush the TLBs
in various places, introduce a macro flush_xen_tlb_local and make use of
it. This is similar to what was done for arm32 by the commit:
dea9dddeceec8a1d68da24b14d5b2396effe555f

This is also making the flush sequence in enable_mmu more clear and
consistent.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/head.S | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 31cdb54d74e5..8bca9afa27b2 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -136,6 +136,18 @@
         add \xb, \xb, x20
 .endm
 
+/*
+ * Flush local TLBs
+ *
+ * See asm/arm64/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+.endm
+
         .section .text.header, "ax", %progbits
         /*.aarch64*/
 
@@ -721,8 +733,7 @@ enable_mmu:
          * The state of the TLBs is unknown before turning on the MMU.
          * Flush them to avoid stale one.
          */
-        tlbi  alle2                  /* Flush hypervisor TLBs */
-        dsb   nsh
+        flush_xen_tlb_local
 
         /* Write Xen's PT's paddr into TTBR0_EL2 */
         msr   TTBR0_EL2, x4
@@ -786,11 +797,7 @@ remove_identity_mapping:
         str   xzr, [x0, x1, lsl #3]
 
 identity_mapping_removed:
-        /* See asm/arm64/flushtlb.h for the explanation of the sequence. */
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
+        flush_xen_tlb_local
 
         ret
 ENDPROC(remove_identity_mapping)
@@ -872,14 +879,8 @@ ENTRY(switch_ttbr_id)
         msr    SCTLR_EL2, x1
         isb
 
-        /*
-         * 3) Flush the TLBs.
-         * See asm/arm64/flushtlb.h for the explanation of the sequence.
-         */
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
+        /* 3) Flush the TLBs */
+        flush_xen_tlb_local
 
         /* 4) Update the TTBR */
         msr   TTBR0_EL2, x0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579639.907715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZv-0006Am-Ps; Tue, 08 Aug 2023 11:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579639.907715; Tue, 08 Aug 2023 11:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZv-0006Ad-Mb; Tue, 08 Aug 2023 11:08:43 +0000
Received: by outflank-mailman (input) for mailman id 579639;
 Tue, 08 Aug 2023 11:08:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZt-00068O-UK
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edf280b3-35db-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 13:08:40 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 333A84EE0737;
 Tue,  8 Aug 2023 13:08:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edf280b3-35db-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 0/5] x86: address MISRA C:2012 Rule 5.3
Date: Tue,  8 Aug 2023 13:08:02 +0200
Message-Id: <cover.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series addresses shadowing issues to resolve violations of Rule 5.3, whose
headline states:
"An identifier declared in an inner scope shall not hide an identifier
declared in an outer scope". To do this, suitable renames are made.

The thread of the first submission is here [1]
---
Changes in v2:
- Addressed numerous review comments
- Dropped patch 2/6 [2], as that has already been committed

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00538.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00539.html
Nicola Vetrini (5):
  x86: address MISRA C:2012 Rule 5.3
  xen/delay: address MISRA C:2012 Rule 5.3.
  x86/include: address MISRA C:2012 Rule 5.3.
  x86/xstate: address MISRA C:2012 Rule 5.3
  x86: refactor macros in 'xen-mca.h'

 xen/arch/x86/e820.c                         | 36 +++++++++----------
 xen/arch/x86/guest/hyperv/hyperv.c          |  4 +--
 xen/arch/x86/guest/hypervisor.c             |  2 +-
 xen/arch/x86/guest/xen/xen.c                |  4 +--
 xen/arch/x86/include/asm/e820.h             |  3 +-
 xen/arch/x86/include/asm/guest/hypervisor.h |  2 +-
 xen/arch/x86/include/asm/mpspec.h           |  1 -
 xen/arch/x86/include/asm/pv/shim.h          |  2 +-
 xen/arch/x86/pv/shim.c                      | 10 +++---
 xen/arch/x86/setup.c                        |  8 ++---
 xen/arch/x86/x86_64/mmconf-fam10h.c         |  2 +-
 xen/arch/x86/xstate.c                       | 30 ++++++++--------
 xen/drivers/passthrough/amd/iommu_acpi.c    |  2 +-
 xen/include/public/arch-x86/xen-mca.h       | 38 ++++++++++-----------
 xen/include/xen/delay.h                     |  9 +++--
 15 files changed, 78 insertions(+), 75 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579640.907725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZx-0006Qp-2M; Tue, 08 Aug 2023 11:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579640.907725; Tue, 08 Aug 2023 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 1qTKZw-0006Qg-UT; Tue, 08 Aug 2023 11:08:44 +0000
Received: by outflank-mailman (input) for mailman id 579640;
 Tue, 08 Aug 2023 11:08: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZv-0005mu-00
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee59a454-35db-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:08:41 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 111564EE0740;
 Tue,  8 Aug 2023 13:08: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: ee59a454-35db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH v2 1/5] x86: address MISRA C:2012 Rule 5.3
Date: Tue,  8 Aug 2023 13:08:03 +0200
Message-Id: <3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address some occurrences of shadowing between the global
variable 'e820' in 'xen/arch/x86/e820.c' and function
parameter names (such as that of 'e820_add_range').

The parameter is removed in those functions whose call chain
ultimately supplies the global variable as a parameter, which
is already visible from their definitions in 'e820.c'.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Reworked the patch to remove the parameter e820 where possible
  and consequential changes to the involved functions.
---
 xen/arch/x86/e820.c                         | 36 ++++++++++-----------
 xen/arch/x86/guest/hyperv/hyperv.c          |  4 +--
 xen/arch/x86/guest/hypervisor.c             |  2 +-
 xen/arch/x86/guest/xen/xen.c                |  4 +--
 xen/arch/x86/include/asm/e820.h             |  3 +-
 xen/arch/x86/include/asm/guest/hypervisor.h |  2 +-
 xen/arch/x86/include/asm/pv/shim.h          |  2 +-
 xen/arch/x86/pv/shim.c                      | 10 +++---
 xen/arch/x86/setup.c                        |  8 ++---
 xen/arch/x86/x86_64/mmconf-fam10h.c         |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c    |  2 +-
 11 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index 4911e64b8c..875572b23e 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -543,27 +543,27 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
         clip_to_limit(top_of_ram, "MTRRs do not cover all of memory.");
 }
 
-/* This function relies on the passed in e820->map[] being sorted. */
-int __init e820_add_range(
-    struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
+/* This function relies on the global e820->map[] being sorted. */
+int __init e820_add_range(uint64_t s, uint64_t e, uint32_t type)
 {
     unsigned int i;
+    struct e820entry *ei = e820.map;
 
-    for ( i = 0; i < e820->nr_map; ++i )
+    for ( i = 0; i < e820.nr_map; ++i )
     {
-        uint64_t rs = e820->map[i].addr;
-        uint64_t re = rs + e820->map[i].size;
+        uint64_t rs = ei[i].addr;
+        uint64_t re = rs + ei[i].size;
 
-        if ( rs == e && e820->map[i].type == type )
+        if ( rs == e && ei[i].type == type )
         {
-            e820->map[i].addr = s;
+            ei[i].addr = s;
             return 1;
         }
 
-        if ( re == s && e820->map[i].type == type &&
-             (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) )
+        if ( re == s && ei[i].type == type &&
+             (i + 1 == e820.nr_map || ei[i + 1].addr >= e) )
         {
-            e820->map[i].size += e - s;
+            ei[i].size += e - s;
             return 1;
         }
 
@@ -574,20 +574,20 @@ int __init e820_add_range(
             return 0;
     }
 
-    if ( e820->nr_map >= ARRAY_SIZE(e820->map) )
+    if ( e820.nr_map >= ARRAY_SIZE(e820.map) )
     {
         printk(XENLOG_WARNING "E820: overflow while adding region"
                " %"PRIx64"-%"PRIx64"\n", s, e);
         return 0;
     }
 
-    memmove(e820->map + i + 1, e820->map + i,
-            (e820->nr_map - i) * sizeof(*e820->map));
+    memmove(ei + i + 1, ei + i,
+            (e820.nr_map - i) * sizeof(*e820.map));
 
-    e820->nr_map++;
-    e820->map[i].addr = s;
-    e820->map[i].size = e - s;
-    e820->map[i].type = type;
+    e820.nr_map++;
+    ei[i].addr = s;
+    ei[i].size = e - s;
+    ei[i].type = type;
 
     return 1;
 }
diff --git a/xen/arch/x86/guest/hyperv/hyperv.c b/xen/arch/x86/guest/hyperv/hyperv.c
index aacc7a6167..912099564e 100644
--- a/xen/arch/x86/guest/hyperv/hyperv.c
+++ b/xen/arch/x86/guest/hyperv/hyperv.c
@@ -187,11 +187,11 @@ static int cf_check ap_setup(void)
     return setup_vp_assist();
 }
 
-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup(void)
 {
     uint64_t s = HV_HCALL_MFN << PAGE_SHIFT;
 
-    if ( !e820_add_range(e820, s, s + PAGE_SIZE, E820_RESERVED) )
+    if ( !e820_add_range(s, s + PAGE_SIZE, E820_RESERVED) )
         panic("Unable to reserve Hyper-V hypercall range\n");
 }
 
diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
index b8549a131a..bf5be97bc3 100644
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -63,7 +63,7 @@ void hypervisor_resume(void)
 void __init hypervisor_e820_fixup(struct e820map *e820)
 {
     if ( ops.e820_fixup )
-        ops.e820_fixup(e820);
+        ops.e820_fixup();
 }
 
 int hypervisor_flush_tlb(const cpumask_t *mask, const void *va,
diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index f93dfc89f7..139489c666 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -306,10 +306,10 @@ static void cf_check resume(void)
         pv_console_init();
 }
 
-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup()
 {
     if ( pv_shim )
-        pv_shim_fixup_e820(e820);
+        pv_shim_fixup_e820();
 }
 
 static int cf_check flush_tlb(
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 213d5b5dd2..af90085d65 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -29,8 +29,7 @@ extern int reserve_e820_ram(struct e820map *e820, uint64_t s, uint64_t e);
 extern int e820_change_range_type(
     struct e820map *e820, uint64_t s, uint64_t e,
     uint32_t orig_type, uint32_t new_type);
-extern int e820_add_range(
-    struct e820map *, uint64_t s, uint64_t e, uint32_t type);
+extern int e820_add_range(uint64_t s, uint64_t e, uint32_t type);
 extern unsigned long init_e820(const char *str, struct e820map *raw);
 extern void print_e820_memory_map(const struct e820entry *map,
     unsigned int entries);
diff --git a/xen/arch/x86/include/asm/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
index 4cffea3866..9c8a893da3 100644
--- a/xen/arch/x86/include/asm/guest/hypervisor.h
+++ b/xen/arch/x86/include/asm/guest/hypervisor.h
@@ -22,7 +22,7 @@ struct hypervisor_ops {
     /* Resume from suspension */
     void (*resume)(void);
     /* Fix up e820 map */
-    void (*e820_fixup)(struct e820map *e820);
+    void (*e820_fixup)(void);
     /* L0 assisted TLB flush */
     int (*flush_tlb)(const cpumask_t *mask, const void *va, unsigned int flags);
 };
diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
index 5625b90b72..7bae9ae372 100644
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -85,7 +85,7 @@ static inline uint64_t pv_shim_mem(uint64_t avail)
     ASSERT_UNREACHABLE();
     return 0;
 }
-static inline void pv_shim_fixup_e820(struct e820map *e820)
+static inline void pv_shim_fixup_e820(void)
 {
     ASSERT_UNREACHABLE();
 }
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index 4044087119..a8883a1ebd 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -98,17 +98,17 @@ uint64_t pv_shim_mem(uint64_t avail)
     return shim_nrpages;
 }
 
-static void __init mark_pfn_as_ram(struct e820map *e820, uint64_t pfn)
+static void __init mark_pfn_as_ram(uint64_t pfn)
 {
-    if ( !e820_add_range(e820, pfn << PAGE_SHIFT,
+    if ( !e820_add_range(pfn << PAGE_SHIFT,
                          (pfn << PAGE_SHIFT) + PAGE_SIZE, E820_RAM) &&
-         !e820_change_range_type(e820, pfn << PAGE_SHIFT,
+         !e820_change_range_type(&e820, pfn << PAGE_SHIFT,
                                  (pfn << PAGE_SHIFT) + PAGE_SIZE,
                                  E820_RESERVED, E820_RAM) )
         panic("Unable to add/change memory type of pfn %#lx to RAM\n", pfn);
 }
 
-void __init pv_shim_fixup_e820(struct e820map *e820)
+void __init pv_shim_fixup_e820(void)
 {
     uint64_t pfn = 0;
     unsigned int i = 0;
@@ -120,7 +120,7 @@ void __init pv_shim_fixup_e820(struct e820map *e820)
     rc = xen_hypercall_hvm_get_param(p, &pfn);  \
     if ( rc )                                   \
         panic("Unable to get " #p "\n");        \
-    mark_pfn_as_ram(e820, pfn);                 \
+    mark_pfn_as_ram(pfn);                 \
     ASSERT(i < ARRAY_SIZE(reserved_pages));     \
     reserved_pages[i++].mfn = pfn;              \
 })
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 80ae973d64..03f9a03180 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -686,7 +686,7 @@ static void __init parse_video_info(void)
 #endif
 }
 
-static void __init kexec_reserve_area(struct e820map *e820)
+static void __init kexec_reserve_area(void)
 {
 #ifdef CONFIG_KEXEC
     unsigned long kdump_start = kexec_crash_area.start;
@@ -700,7 +700,7 @@ static void __init kexec_reserve_area(struct e820map *e820)
 
     is_reserved = true;
 
-    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + kdump_size) )
+    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + kdump_size) )
     {
         printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at %#lx)"
                "\n", kdump_size >> 20, kdump_size >> 10, kdump_start);
@@ -1308,7 +1308,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         if ( e820.map[i].type == E820_RAM )
             nr_pages += e820.map[i].size >> PAGE_SHIFT;
     set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();
 
     initial_images = mod;
     nr_initial_images = mbi->mods_count;
@@ -1495,7 +1495,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         reserve_e820_ram(&boot_e820, __pa(_stext), __pa(__2M_rwdata_end));
 
     /* Late kexec reservation (dynamic start address). */
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();
 
     setup_max_pdx(raw_max_page);
     if ( highmem_start )
diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
index a834ab3149..36b32eb769 100644
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -135,7 +135,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
 	return;
 
 out:
-	if (e820_add_range(&e820, start, start + SIZE, E820_RESERVED))
+	if (e820_add_range(start, start + SIZE, E820_RESERVED))
 		fam10h_pci_mmconf_base = start;
 }
 
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 3b577c9b39..db993d6df2 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -418,7 +418,7 @@ static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)
 
             if ( type == RAM_TYPE_UNKNOWN )
             {
-                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
+                if ( e820_add_range(addr, addr + PAGE_SIZE,
                                     E820_RESERVED) )
                     continue;
                 AMD_IOMMU_ERROR("IVMD: page at %lx couldn't be reserved\n",
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579641.907730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZx-0006UB-Fz; Tue, 08 Aug 2023 11:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579641.907730; Tue, 08 Aug 2023 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 1qTKZx-0006Ru-6Z; Tue, 08 Aug 2023 11:08:45 +0000
Received: by outflank-mailman (input) for mailman id 579641;
 Tue, 08 Aug 2023 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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZv-00068O-To
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efae8582-35db-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 13:08:43 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 50E094EE0744;
 Tue,  8 Aug 2023 13:08: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: efae8582-35db-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 4/5] x86/xstate: address MISRA C:2012 Rule 5.3
Date: Tue,  8 Aug 2023 13:08:06 +0200
Message-Id: <927d771a3c38b8a3c47913aea21cf8890fd4e6ef.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename the local variables s/xsave/xstate/ to avoid clashing
with function 'xsave' defined in 'xen/arch/x86/include/asm/xstate.h'.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- s/xsave_area/xstate/, since that is the newest common name, also
used in other parts of the modified file.
---
 xen/arch/x86/xstate.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 770747d88f..f442610fc5 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -174,10 +174,10 @@ static void setup_xstate_comp(uint16_t *comp_offsets,
  */
 void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
 {
-    const struct xsave_struct *xsave = v->arch.xsave_area;
+    const struct xsave_struct *xstate = v->arch.xsave_area;
     const void *src;
     uint16_t comp_offsets[sizeof(xfeature_mask)*8];
-    u64 xstate_bv = xsave->xsave_hdr.xstate_bv;
+    u64 xstate_bv = xstate->xsave_hdr.xstate_bv;
     u64 valid;
 
     /* Check there is state to serialise (i.e. at least an XSAVE_HDR) */
@@ -185,19 +185,19 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
     /* Check there is the correct room to decompress into. */
     BUG_ON(size != xstate_ctxt_size(v->arch.xcr0_accum));
 
-    if ( !(xsave->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED) )
+    if ( !(xstate->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED) )
     {
-        memcpy(dest, xsave, size);
+        memcpy(dest, xstate, size);
         return;
     }
 
-    ASSERT(xsave_area_compressed(xsave));
-    setup_xstate_comp(comp_offsets, xsave->xsave_hdr.xcomp_bv);
+    ASSERT(xsave_area_compressed(xstate));
+    setup_xstate_comp(comp_offsets, xstate->xsave_hdr.xcomp_bv);
 
     /*
      * Copy legacy XSAVE area and XSAVE hdr area.
      */
-    memcpy(dest, xsave, XSTATE_AREA_MIN_SIZE);
+    memcpy(dest, xstate, XSTATE_AREA_MIN_SIZE);
     memset(dest + XSTATE_AREA_MIN_SIZE, 0, size - XSTATE_AREA_MIN_SIZE);
 
     ((struct xsave_struct *)dest)->xsave_hdr.xcomp_bv =  0;
@@ -206,7 +206,7 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
      * Copy each region from the possibly compacted offset to the
      * non-compacted offset.
      */
-    src = xsave;
+    src = xstate;
     valid = xstate_bv & ~XSTATE_FP_SSE;
     while ( valid )
     {
@@ -239,7 +239,7 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
  */
 void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
 {
-    struct xsave_struct *xsave = v->arch.xsave_area;
+    struct xsave_struct *xstate = v->arch.xsave_area;
     void *dest;
     uint16_t comp_offsets[sizeof(xfeature_mask)*8];
     u64 xstate_bv, valid;
@@ -252,7 +252,7 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
 
     if ( !(v->arch.xcr0_accum & XSTATE_XSAVES_ONLY) )
     {
-        memcpy(xsave, src, size);
+        memcpy(xstate, src, size);
         return;
     }
 
@@ -260,19 +260,19 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
      * Copy legacy XSAVE area, to avoid complications with CPUID
      * leaves 0 and 1 in the loop below.
      */
-    memcpy(xsave, src, FXSAVE_SIZE);
+    memcpy(xstate, src, FXSAVE_SIZE);
 
     /* Set XSTATE_BV and XCOMP_BV.  */
-    xsave->xsave_hdr.xstate_bv = xstate_bv;
-    xsave->xsave_hdr.xcomp_bv = v->arch.xcr0_accum | XSTATE_COMPACTION_ENABLED;
+    xstate->xsave_hdr.xstate_bv = xstate_bv;
+    xstate->xsave_hdr.xcomp_bv = v->arch.xcr0_accum | XSTATE_COMPACTION_ENABLED;
 
-    setup_xstate_comp(comp_offsets, xsave->xsave_hdr.xcomp_bv);
+    setup_xstate_comp(comp_offsets, xstate->xsave_hdr.xcomp_bv);
 
     /*
      * Copy each region from the non-compacted offset to the
      * possibly compacted offset.
      */
-    dest = xsave;
+    dest = xstate;
     valid = xstate_bv & ~XSTATE_FP_SSE;
     while ( valid )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579642.907736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZx-0006ZH-R0; Tue, 08 Aug 2023 11:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579642.907736; Tue, 08 Aug 2023 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 1qTKZx-0006YR-Iz; Tue, 08 Aug 2023 11:08:45 +0000
Received: by outflank-mailman (input) for mailman id 579642;
 Tue, 08 Aug 2023 11: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZw-0005mu-09
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eed0fce2-35db-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:08:41 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C23304EE0741;
 Tue,  8 Aug 2023 13:08: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: eed0fce2-35db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 2/5] xen/delay: address MISRA C:2012 Rule 5.3.
Date: Tue,  8 Aug 2023 13:08:04 +0200
Message-Id: <27631ba28fc6f47095fe0db3f8ee2cd87de616ed.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable 'msec' declared in the macro shadows the local
variable in 'ehci_dbgp_bios_handoff', but to prevent any
future clashes with other functions the macro is converted to
a static inline function.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Switched to a static inline function, as suggested by Julien
---
 xen/include/xen/delay.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
index 9d70ef035f..6ecee851f6 100644
--- a/xen/include/xen/delay.h
+++ b/xen/include/xen/delay.h
@@ -4,7 +4,12 @@
 /* Copyright (C) 1993 Linus Torvalds */
 
 #include <asm/delay.h>
-#define mdelay(n) (\
-	{unsigned long msec=(n); while (msec--) udelay(1000);})
+
+static inline void mdelay(unsigned long n)
+{
+    unsigned long msec=n;
+    while ( msec-- )
+        udelay(1000);
+}
 
 #endif /* defined(_LINUX_DELAY_H) */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579643.907744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZy-0006lY-Bx; Tue, 08 Aug 2023 11:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579643.907744; Tue, 08 Aug 2023 11:08: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 1qTKZy-0006jn-2W; Tue, 08 Aug 2023 11:08:46 +0000
Received: by outflank-mailman (input) for mailman id 579643;
 Tue, 08 Aug 2023 11: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZw-00068O-LO
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f022ab89-35db-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 13:08:44 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 1193B4EE0743;
 Tue,  8 Aug 2023 13:08: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: f022ab89-35db-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 5/5] x86: refactor macros in 'xen-mca.h'
Date: Tue,  8 Aug 2023 13:08:07 +0200
Message-Id: <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The macros defined 'xen/include/public/arch-x86/xen-mca.h' are revised
to address the following concerns:
- needless underscore prefixes for parameter names;
- the variable 'i' in function 'mce_action' that is shadowed
  by the local variable in the macro.

Therefore, the refactoring aims to resolve present shadowing
issues, which violate MISRA C:2012 Rule 5.3, and lessen the
probability of future ones with some renames.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Added missing parentheses.
- Clarified commit message.
---
 xen/include/public/arch-x86/xen-mca.h | 38 +++++++++++++--------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/arch-x86/xen-mca.h
index b897536ec5..bb1b12f14f 100644
--- a/xen/include/public/arch-x86/xen-mca.h
+++ b/xen/include/public/arch-x86/xen-mca.h
@@ -280,39 +280,39 @@ DEFINE_XEN_GUEST_HANDLE(xen_mc_logical_cpu_t);
 /* Prototype:
  *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
  */
-#define x86_mcinfo_nentries(_mi)    \
-    (_mi)->mi_nentries
+#define x86_mcinfo_nentries(mi)    \
+    (mi)->mi_nentries
 /* Prototype:
  *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
  */
-#define x86_mcinfo_first(_mi)       \
-    ((struct mcinfo_common *)(_mi)->mi_data)
+#define x86_mcinfo_first(mi)       \
+    ((struct mcinfo_common *)(mi)->mi_data)
 /* Prototype:
  *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
  */
-#define x86_mcinfo_next(_mic)       \
-    ((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+#define x86_mcinfo_next(mic)       \
+    ((struct mcinfo_common *)((uint8_t *)(mic) + (mic)->size))
 
 /* Prototype:
- *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type);
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t mc_type);
  */
-#define x86_mcinfo_lookup(_ret, _mi, _type)    \
+#define x86_mcinfo_lookup(ret, mi, mc_type)                     \
     do {                                                        \
-        uint32_t found, i;                                      \
-        struct mcinfo_common *_mic;                             \
+        uint32_t found_, i_;                                    \
+        struct mcinfo_common *mic_;                             \
                                                                 \
-        found = 0;                                              \
-        (_ret) = NULL;                                          \
-        if (_mi == NULL) break;                                 \
-        _mic = x86_mcinfo_first(_mi);                           \
-        for (i = 0; i < x86_mcinfo_nentries(_mi); i++) {        \
-            if (_mic->type == (_type)) {                        \
-                found = 1;                                      \
+        found_ = 0;                                             \
+        (ret) = NULL;                                           \
+        if ((mi) == NULL) break;                                \
+        mic_ = x86_mcinfo_first(mi);                            \
+        for (i_ = 0; i_ < x86_mcinfo_nentries(mi); i_++) {      \
+            if (mic_->type == (mc_type)) {                      \
+                found_ = 1;                                     \
                 break;                                          \
             }                                                   \
-            _mic = x86_mcinfo_next(_mic);                       \
+            mic_ = x86_mcinfo_next(mic_);                       \
         }                                                       \
-        (_ret) = found ? _mic : NULL;                           \
+        (ret) = found_ ? mic_ : NULL;                           \
     } while (0)
 
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:08:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579644.907755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKZz-00074z-C6; Tue, 08 Aug 2023 11:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579644.907755; Tue, 08 Aug 2023 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 1qTKZy-00072a-SO; Tue, 08 Aug 2023 11:08:46 +0000
Received: by outflank-mailman (input) for mailman id 579644;
 Tue, 08 Aug 2023 11:08: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTKZx-0005mu-0D
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:08:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef41c923-35db-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:08:42 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 91D064EE0742;
 Tue,  8 Aug 2023 13:08:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef41c923-35db-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 3/5] x86/include: address MISRA C:2012 Rule 5.3.
Date: Tue,  8 Aug 2023 13:08:05 +0200
Message-Id: <4b41f84c6cbce3466917d1091029cacb3c327d7b.1691492441.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Variable 'mpc_default_type' in 'xen/arch/x86/include/asm/mpspec.h'
has no uses and causes shadowing with function parameter names
in 'mpparse.c'. Therefore, it is removed.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Removed the variable.
---
 xen/arch/x86/include/asm/mpspec.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/mpspec.h b/xen/arch/x86/include/asm/mpspec.h
index 1246eece0b..45e474dfd1 100644
--- a/xen/arch/x86/include/asm/mpspec.h
+++ b/xen/arch/x86/include/asm/mpspec.h
@@ -15,7 +15,6 @@ extern void get_smp_config (void);
 extern unsigned char apic_version [MAX_APICS];
 extern int mp_irq_entries;
 extern struct mpc_config_intsrc mp_irqs [MAX_IRQ_SOURCES];
-extern int mpc_default_type;
 extern unsigned long mp_lapic_addr;
 extern bool pic_mode;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:14:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:14:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579673.907775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKfa-0002Fz-RD; Tue, 08 Aug 2023 11:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579673.907775; Tue, 08 Aug 2023 11:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKfa-0002Fs-NL; Tue, 08 Aug 2023 11:14:34 +0000
Received: by outflank-mailman (input) for mailman id 579673;
 Tue, 08 Aug 2023 11:14: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 1qTKfY-0002Fg-KR; Tue, 08 Aug 2023 11:14: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 1qTKfY-0001bB-Eo; Tue, 08 Aug 2023 11:14: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 1qTKfY-00008c-1c; Tue, 08 Aug 2023 11:14:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTKfY-0002nH-1F; Tue, 08 Aug 2023 11:14:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4G5K2W1uL+hI/kLBZpAo4TDhKPvOkPE9bNf8chu88Z8=; b=5SUA3rhdt4osjYNOkyp6QtKD1l
	697fCDcTGYTiK1tRgAODn+iYTVMdkbpa3A3aaNwsVWlXuKL/WkMWKrZlnpyRr1cOIuhp+IPW+VzvK
	RF62laDj2TU4CH5T7cgh6IrCj0bY5jfmwRYqqOSw3zTVryIjLhuOmhQjFuvO/oHEifS0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182229-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182229: 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=bd3ddaf6ee7fa312bd077305819105f84a34008d
X-Osstest-Versions-That:
    xen=d3be806dae9c122fe94702cd9fa2e358a60828cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 11:14:32 +0000

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

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                  bd3ddaf6ee7fa312bd077305819105f84a34008d
baseline version:
 xen                  d3be806dae9c122fe94702cd9fa2e358a60828cd

Last test of basis   182223  2023-08-07 23:02:06 Z    0 days
Testing same since   182229  2023-08-08 08:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.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
   d3be806dae..bd3ddaf6ee  bd3ddaf6ee7fa312bd077305819105f84a34008d -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 11:23:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 11:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579696.907785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTKns-0003nt-Jy; Tue, 08 Aug 2023 11:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579696.907785; Tue, 08 Aug 2023 11: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 1qTKns-0003nm-H6; Tue, 08 Aug 2023 11:23:08 +0000
Received: by outflank-mailman (input) for mailman id 579696;
 Tue, 08 Aug 2023 11: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=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTKnq-0003nd-I0
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 11:23:06 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef9221d1-35dd-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 13:23:03 +0200 (CEST)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 07:22:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY1PR03MB7261.namprd03.prod.outlook.com (2603:10b6:a03:526::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 11:22:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 11:22:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef9221d1-35dd-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691493783;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=r/iiAB3KxCPjuU9BKf58ZNB3v7HDrTyB/JucDDyIpZ8=;
  b=ZbytNufSk80t6+FpjKGxfT4VC6e5uSmbKBeqF0rCVwHAfb9Puxu/+RbX
   ktjMOiwxgeUBb+crLHYj9Y/EkmO9TX2vUwx5PTsUG+CkDbvv2NsBAgbdd
   SqOgJ4OqS8+RfGCNZ866KkYs/XMxkqzfKPkej3FLBTV01NmBedUHcwtVN
   Q=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 119271607
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XtZTz6rM9b524wHllfkfLOiaT+leBmJOZRIvgKrLsJaIsI4StFCzt
 garIBnUaPnYYzbyfo90a43k9xkBvJHQzNJhSQtv+yFmQSwV9puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzylNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABwMaBu4of2I/IiEb7dMnZsBdsDXIKpK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhr68w3wTNnjN75Bs+Z1GFkN2Fm2GESssEc
 24p6xEPsbgN6xn+JjX6d1jiyJKehTYeUtxcCfwn6ymCz6PV50CSAW1sZjxLZcEitcQ2bSc3z
 VLPlNTsbRR0q6GcQ3+Z8raSrBuxNDITIGtEYjULJSMa5/HzrYd1iQjAJv5hDaq0g9vdCTz2h
 TeQo0AWhboJitUQ/76m5l2BiDWpzrDMRxQw7x/aXUqk6B14f4+vY4G06Vnd4u1EJYzfRV6E1
 FAIg9Ob7fwOJZiVmTaRXf4WG7W0+/eCNiaaillqd7Eq9y6s4GKkZYBd+ndhYkxtO9wHUTDsa
 U7X/whW4fd7LHasKKN6fY+1I8Ar1rT7U8ToUOjOadhDaYQ3cxWIlByCfmaV1mHp1UIqzqc2P
 M7Ddd72VC5LT6N60DCxWuERl6cxwTwzzn/SQpa9yAm71b2ZZzieTrJt3EayU93VJZis+G39m
 +uz/ePTo/mDeIUSuhXqzLM=
IronPort-HdrOrdr: A9a23:bC9r26A3BYNRmo/lHeixsseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPH/P5wr5lktQ4OxoS5PwJk80kqQFnLX5XI3SJjUO3VHFEGgM1/qA/9SNIVyaygcZ79
 YaT0EcMqyPMbEZt6bHCWCDer5PoeVvsprY/ds2p00dMj2CAJsQizuRZDzrdHGeCDM2Z6bQQ/
 Gnl7Z6TnebCDwqhoPRPAh2Y8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzSIwxsEVDtL4LE6tU
 zIiRbw6KmPu+yyjka07R6e071m3P/ajvdTDs2FjcYYbh3qlwaTfYxkH5GSoTwvp+mryVAy1P
 3BuQ0pMchf427YOku1vRzu8Q/91ytG0Q6u9XaoxV/Y5eDpTjMzDMRMwapfbxvi8kIl+PVxyr
 hC0W61v4deSUqoplW22/H4EzVR0makq3srluAey1RZTIslcbdU6agS5llcHpssFD/zrKonDO
 5tJsfB4+s+SyLQU1np+k1UhPC8VHU6GRmLBmAEp8yuyjBT2Et0ykMJrfZv6UsoxdYYcd1p9u
 7EOqNnmPVlVckNd59wA+8HXI+eFnHNaQikChPTHX3XUIU8f17doZ/+57s4oMuwfoYT8Zc0kJ
 PdFHtFqG8JfV70A8Hm5uwLzvn0ehT+Yd3R8LAa23Ag0YeMAIYDcBfzBmzGqvHQ4Mn2WabgKr
 GO0JE/OY6WEYKhI/cO4+TEYeggFZAvarxlhj8FYSP/nivqEPydigWJSoebGJPdVRAZZ0jYPl
 wvGBDOGeQo1DHfZpa/ummfZ0/Q
X-Talos-CUID: 9a23:9Si14mxTE9fZU5B1rG6kBgU4G8YuSVvC8kvqHGrmKX02auecdUO5rfY=
X-Talos-MUID: =?us-ascii?q?9a23=3AJCXBDw0DQFESl54fL1QlzGoiKjUj0a6QOWQxgLo?=
 =?us-ascii?q?8qtDfbQ5NKgy8kCSIXdpy?=
X-IronPort-AV: E=Sophos;i="6.01,156,1684814400"; 
   d="scan'208";a="119271607"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VjLNGFstjlmeInOCMJDTuXpVW0x+wP1zgJ77E501Gv3AEa7bx6Xlyfq0ovfoV2M+S2hP7kVGXhhSQ0ee1jXljntw7sg+yItzReNU0UX4iGMcVSpeL8a2fvsYqvrSh6mU0YrUoKUarLDXxcoZDfTd8AQB4NykW4p/lJ/9HDDF8wuxbHI+n1BQHFO+z1LTdqiXtCCfl+Nr1su7nKwpDT2SK9HmbNyd4Uggz32X82g8r/iZk0KjwCQpIZdKrifDqmqAzNo5viyVCJ1TMarfIceCreqcs75qITprcME8ybXaUWPew/xj3vL2qDMN/hjAmJPdei4BdQ4CM8YbxJickzPZ7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Ri+ATDYnV0KthEWTlZPa/ReZoN6eTbSdoj9jjZdprA=;
 b=gdFupiA3O3OYZCXmEgX49+oe6wIlPb9BUjn/DjfSn3UWGat+2e2MCHGC7PNdaZIXOEhbRDbbuRUJfn0jp1a+Dz7G5nn3i542s3iP4si8WWQUvBECh087pJvq+9+MWfsFJLImVlRK+GozfAbT01kFmxRW/1XqkbUM6d7cx+79msPfLVy3NUmYHkl6a+wyOUmGdZ1CqXZ34X4hBFP5q86iFolSWXh8QnjpYNV4AvbmEO07IHPNRT0xXEHSLgpUCww0/mvN/lEyIRcTfdcjWEHM9aLii+2WRcpRv7Urrdde5p42YEVirmaJIcjo7MSre6g9Kq3LKnhRjqtUanaM5Ym/xQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Ri+ATDYnV0KthEWTlZPa/ReZoN6eTbSdoj9jjZdprA=;
 b=Tq21p9sIAXwK46TmUNcurvd75LZCcxJhlDDQKsS4D6qrFQO9tqf7fumx/CYqwG925/Eqss+ZKfsDr/GyP3+W0Qey3oR1UXcskE0ADEWJWPz+80SHTOq5cr56k8dtSFHw/Wy6Or6XNlaO4YLk8e73uDfqbEYagLHroS8lwQH4720=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <72435ef3-821b-9feb-16f5-d3304776b44b@citrix.com>
Date: Tue, 8 Aug 2023 12:22:49 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-GB
To: Jason Andryuk <jandryuk@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
 <f066a57c-3dcf-12f3-26b2-5f61f8fcaffe@suse.com>
 <722dfba8-a768-55c1-29bb-2d8525282b4b@citrix.com>
 <464d71e4-9047-0461-afdc-8df8b8f569fb@suse.com>
 <CAKf6xpuU4EONPZnDR-H40DxxvWq3AWPX2_N32Zm65qbuTPuVsA@mail.gmail.com>
In-Reply-To: <CAKf6xpuU4EONPZnDR-H40DxxvWq3AWPX2_N32Zm65qbuTPuVsA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0470.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY1PR03MB7261:EE_
X-MS-Office365-Filtering-Correlation-Id: b5e2169b-498b-4384-6a14-08db9801d099
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q8he3byNi8UuB+ZwmzGcIYkLUxtV0/i9N7+MZRWjbAxErcOTxmoGzTjSDXy7AIrEbl5ch76/JsHOl5N4ZmidQ0b7pMjPw7VxgzUvYnpdN6AW33S5h9670HxjJIDbAcTuVq4iqAVObTygI+AT/poaQLwBWa5iujhk0cSEqjScsyDJymSPDsovbc51MWPBQUY6iWcPg1ncoJaYkfPhoXgls3HZcE9XbaiZ3SeTTX6jZ378K5Y8bLJA/y2f8gCpeQqglZrhUW73XGN4PmkkTTmWtKV/NPCgDtc8RIlmPYSZWp/0VmldfkXw+7nu2J81uFmowMHLulP4ey6w4BMGLMHGbyANSmhGv5H6uOUiUjOlrnOih/QlYQ3RC8xfjkvmUULi75fSnIXqXrXqA2Bm5Fh0VhpOojXwmWglYWuztyub9f6XWEIuDvXrmDiPmqog0zg9kfnWU4APKv4dY0TeKzCG5ylHsTkfm6SrG1pbunw0dJ9Xb15PBcxggSwB8DHlR75hlgPa4aAZibA/zQ9oZJmzZUfEl8Lk7XLlIjnKVzZYezOlCxzm2M3gOh5TPlVvjTsMHGV0CzrqdIrvakR6DeFGJVIOOuZCIDwF9+8zYc6+iDHzCF2DB3b/Wpk1zms01smgFocfG1dnUpH9zNHpVn/a/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(346002)(396003)(366004)(136003)(1800799003)(451199021)(186006)(31686004)(316002)(83380400001)(2616005)(2906002)(82960400001)(36756003)(53546011)(8936002)(26005)(8676002)(38100700002)(5660300002)(6666004)(6486002)(7416002)(66556008)(41300700001)(66476007)(4326008)(66946007)(6506007)(478600001)(54906003)(110136005)(86362001)(31696002)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWNYbFVRWnI3TU9VMDBxczZJdG9pcStwRXJCVGVRYXVyajVwNEVDcWZpUEFj?=
 =?utf-8?B?eHJmQ3NobmRJYjh1dm9GOGNPQVBhSjljNDFiVGxCUm9oV3MzOWFXdDR3VUhW?=
 =?utf-8?B?aVREYk5nT09tT1gvVVI3MW9Wbytla1hFaUpwaElIRzNDM3hOWm9zSk9HbDh4?=
 =?utf-8?B?azlvOUtqcjlZOVVCZGIxYUpZeVJ4ak1NU3B3cW40dmZZdVhkUVNTdzJOenZH?=
 =?utf-8?B?NHNmZlVPK2JmajkxaDZDUWtvYkdTSHlNaTlhdk0wYW8vT2JUZUp2VHpmTzIz?=
 =?utf-8?B?L0F3WVBHUDN6eUh2TEQxcnJCQ0VUK0FXWFBPTEhoSitiamlrS2hCVkxTUHE3?=
 =?utf-8?B?S0x3WHBnSW12OFJiL1NHbmdndSswRjJVOE1ndWhxcEszZWR4YzY4bkdESkpW?=
 =?utf-8?B?MWRNUHIrRGhIWlJXUm53Mzhabk5NazdDY1BZWlRkOUVPZDNrLzUvTFFmdkdj?=
 =?utf-8?B?dFVkMzAwWWI2NnpqTUhwbnF0T0t1dG9VT1RZOHIybU5kQW1IS1BHWkNQamVT?=
 =?utf-8?B?bW1HMm5pbzVIYXVISDgyb3oxZE91V2toZVcxZVJKQWJtdGFjUjNJRUF2cjNE?=
 =?utf-8?B?L1pwWnBWZWVCemhZNVdWdUdpY1dqVWhjL0NpK3hPZytoSHE4amQzL0RyWWx5?=
 =?utf-8?B?SUNJQmNXQW9JaDMvMmx2OG1NeEVaODQxZnZJQTQ4Qk03cWVabFV3MitBZG5a?=
 =?utf-8?B?ZUlMSHBBY0lwY2VCZFFkUTNrTHN4SzdiU21GWkpudkg5NDRnN3gvUG5uMzg2?=
 =?utf-8?B?RzFMdWNFZTlsR0xITERlaHBFcXNxalVZcU1hTFk4MHh1T1hyaS9lbXRaVGtE?=
 =?utf-8?B?eVN4N283N25rUm9VR0o2RmF0Y0RLdnRBTGQrdDZZS09uRDJWNk9XYWpWVU9R?=
 =?utf-8?B?MTg3NmJPeEVnU0VoMFFKVXBLMHp0bEk1TzZOcTViNzFINVF4bHpBajc1M1g1?=
 =?utf-8?B?OVVvVmVodUJnWTFkWXcxOU5qVGkrS2dZWGtlWk1oWldBSURxeWRDU2hTbzV1?=
 =?utf-8?B?S2NkTTNzWlRQdjB2RnFYTllDVDk0aEtZanhxUjQ0NEZKWVphT3c4bWxxRE9U?=
 =?utf-8?B?MFI0aEFmcDRDRjBFWkFpaDhGSERqZGJndE96emdOb1RlL0haZGxEd2lhUGVz?=
 =?utf-8?B?aDRHOUZDbitwU3RSTEc1ekFlek90eHIxRXBDbG5sNUp4anhmaVpRS2htQVJz?=
 =?utf-8?B?eTAwSE5YazFoMCtVVldXK2crR1NzWU9VYTJaRGRIYmdYbmloa0ZQZktBcTNv?=
 =?utf-8?B?akdkL01Ba0R0T2pZRkp1SHJuWG5PakJpT1Z3cUMyZ1haemYxVThHNlljcWlM?=
 =?utf-8?B?OUJaRENQcnA5UVdnTFpvaVlaMlNXYmlyTGw3Qlh4MU1XWFRJL1M1bnZEZ1px?=
 =?utf-8?B?T3hsYkplNVY1c3NkaUNtOG5aeTVPdm5Jc0NsbThCYWlMeFpPRjIzQ201WWFK?=
 =?utf-8?B?UlNuSGRsNmMyWXkwNFBXcnNRc1ZrRWs2NlZRTUx1T25OMGdNSTdKVW14Umdx?=
 =?utf-8?B?ZEFId1c1MS9yS0pERVNyMXdrem0yYTRQN2tYK0hKclczUnpnNmtJRUZIUDVz?=
 =?utf-8?B?amQ3S0c4NXp3UkZhMC9HNU5qK1J2ckFxYlZxbUFpNEp5cFZNcW9RWnpjTVdn?=
 =?utf-8?B?bVNTd2lsYjlWcnlVV2REOExZaTMrRFdEdHc4M3g4SThKejloeE9XUi9XNlox?=
 =?utf-8?B?WGlPWlV1SHpLZFVDZ0ExNHB4T3BZVy8wRzBiZXZCZjFGaUZVNE1HL1lYN01Z?=
 =?utf-8?B?aFBiRUNsWFVmRzNUdGRxNVBxZEQ4aTM2MEJTdk5KQWc0cWQwQzI3L2tBajhB?=
 =?utf-8?B?VGNyQlZNT1psa05DcVZHQXNSaFEvMGYyd09yRlZDTlNHODU3TElUUTNVdW10?=
 =?utf-8?B?dExoTkJCaDFWVFVxQ2lyOWZveVJlL2pVOXBnd0FHMjhNNHFCQjVwNG8xTldO?=
 =?utf-8?B?WEk1b055YncxV0NlaHR2ZmloYkxRVThicjlsRjF6eHVGRXFQRW4rSGVIcjRv?=
 =?utf-8?B?NnpVVmt0c0dxaHp0MzBhdkFxbVc0ZnpPSDBDdUdIME9qaTV0ZzU5MTdMblFD?=
 =?utf-8?B?RDVmdHZsWUkzODhkWHh6MHBVTFljdjZoVmpGbkcwUWxkbG5oK1Q3cThjbFdm?=
 =?utf-8?B?U1E4RVI5cEFjV2NyakgxZTU3am9YYmFZWDVuRVk2enhIcW1Wb0pxMHhXV3Nw?=
 =?utf-8?B?aHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?a21lZzFXZUVzNWgwbmdkbUZ1WUM4RjF2U3FtdjJ3R0Y5TDFsYWVqaDY5Z1hz?=
 =?utf-8?B?cG5wQm5jTnBFVzZXc0hPR0JvVmkyZ1FHQ3gwTTY2NVlRTlV0elRlUmFUdnMy?=
 =?utf-8?B?RktIZFNHTS9hQktFdHQ2Nm5oZjVETmp5UXZOeC9haXBWVjY0OS8wWFkyeFVo?=
 =?utf-8?B?L0lUcWt0TVM4Z0c1UVpkNERwcHVxcUxuNzdjZFc1RGg0WVJrSnI4aGxtUkkw?=
 =?utf-8?B?N0JnRnZvU0RBdy85UEdLZExvSVljRGl4Z1hpL25OcGtyZU44Rk14U1ZkTjA3?=
 =?utf-8?B?ZEdaMVpPc2U5SXMxcDBSZ0h0YTN6dWdkUVJEOGtWNStMN0NCVVBsZ3F3S1Rr?=
 =?utf-8?B?RDlkTFIxbWlvN2NOMGJxUU5MMDlmeXdNNjFYZDhkVUFqckQ0NWVtaTlBQmdQ?=
 =?utf-8?B?Um1YOVVUKy9KQ1AxYmV5TldlUlRRNXZzc2JUUWFYb0MzVVVqVXY0QWorZ0xT?=
 =?utf-8?B?UTVGVkl3azRZVGlxYjQ3NVJ6YkxyMXA0SkRyYjZ2bGhPU0VUTzZxZnB5OVZ5?=
 =?utf-8?B?VkhrZWV3cEJtYjNkaEc0UnR2Q0VzMVZ0TVdmYjFrT3pUZy8xTjdQM09UQVVL?=
 =?utf-8?B?Y1JJbU55WnZnWnE0UWtaN3k3TzRFMHk1OFpVQ2hsWnkxaHh2a0ppcWdLZllO?=
 =?utf-8?B?NmtRL0lBSGlnYTEvQ0pJSGlLUlk2VjQzQjgyTHdDM211VnZHUEQrUlV3NytM?=
 =?utf-8?B?Tm9oSkJqdFlSY2llYzNudzQ5b2s2SHFWbzhqL29IM25uWjhBb2VnQXh3cUd0?=
 =?utf-8?B?MVQrWHVqYzBwV25XSFJFeUp5TkJzTXBTNlJPc2JGbmRwK2tsdWtoMkhLYlZn?=
 =?utf-8?B?bkFxdGU5MDJBZ0NuY2NhWjdOZCtKZWZXeVFpQ3N4YUVTcE5peThHYm9NVTVv?=
 =?utf-8?B?Z0ZwMGpFa2RRMUZxcnlGMWhaVFlOcjM3c0dERFFGK1VMcnc1RndKREczNjBn?=
 =?utf-8?B?Qy9PTS9JL242N3F5dVYwQ1VFOFhtbjZZeW1mTnhpRm44MnNMem9NczE2ejNO?=
 =?utf-8?B?Y1FEbGJRbTlWdFp5S0xPcHFCR0FrSm9BcUhqZ3NNZXp5OUEyN1lybGxSTUZZ?=
 =?utf-8?B?dkNGYzFoc29ncVdRWFExcm1TQXhIU0htdlVsRVNpeE5MVUxCVkZ4SDhtM3ZS?=
 =?utf-8?B?ZFBnY0phVFh6Q00rQ3ZJeUN3L2hWRFlRTGtxWC9PaElvV0JaUkFQNk5kSGk2?=
 =?utf-8?B?cy9rcFF4RDhJd3dSUDRtSU9wTjk4cFVBLzgwbTBXVFB3MjNxSmRncnhZQ3Iy?=
 =?utf-8?B?OXd2S1RSMzFRclVDN1JqZ2c4QjJVaVNVc21qZnpjU1ZDRWM0OFA5azVzNnJi?=
 =?utf-8?Q?cGgOKGMcqFssBziHa1Q04QSXKjAWVe+JdD?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5e2169b-498b-4384-6a14-08db9801d099
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 11:22:56.7869
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H6QxbzR+1s9CtqPzUkqzeVRRRv3bRQZKYmx+6OKnUb0uYQcicLRsGQriJzH5MXoYgf3tI/SXzjpMAPbbH0tTGmMJH5FAMconDhwRItiCGks=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7261

On 07/08/2023 7:56 pm, Jason Andryuk wrote:
> On Fri, Aug 4, 2023 at 7:36â€¯AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 04.08.2023 11:29, Andrew Cooper wrote:
>>> On 04/08/2023 8:23 am, Jan Beulich wrote:
>>>> On 03.08.2023 22:36, Andrew Cooper wrote:
>>>>> The opensuse-tumbleweed build jobs currently fail with:
>>>>>
>>>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
>>>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>>>>>      56 |   if (!key->p || !key->q || !key->u) {
>>>>>         |       ^
>>>>>   In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>>>>>   /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>>>>>      28 |   tpm_bn_t p;
>>>>>         |            ^
>>>>>
>>>>> This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
>>>>> OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
>>>>> but that's not what the code does.
>>>> Looking at the code, I'm not sure about this. There could as well have been
>>>> the intention to allow pointers there, then permitting them to be left at
>>>> NULL. Who knows where that code came from originally.
> The logic looks to be that if p, q, or u are not present, then perform
> a regular modular exponentiation.  If they are available, then perform
> an optimized Chinese Remainder Theorem exponentiation.
>
> In that light, it's written as if pointers were expected.  However,
> the code history doesn't show pointers for p/q/u.  An RSA key can't
> have 0 for p/q/u, so value checks don't make sense.  Hmmm, I suppose a
> 0 value could make sense to indicate uninitialization.
>
> tpm_rsa_import_key() and tpm_rsa_generate_key() set p, q, & u.
> tpm_rsa_copy_key() copies those over.  So it should be okay to use
> this patch to just always use the CRT path.  It would be safer to
> check for 0 though, I suppose.

Ok, I'll adjust the commit message.

>>> Do you agree that the patch is no function change, or are you saying
>>> that you think I got some of my analysis wrong?
>> Oh, I'm sorry for the potentially ambiguous reply: I agree there's no functional
>> change. I'm merely not sure about your guessing of value checks being meant.
> Agreed - no functional change.
>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks.Â  I'll put it in like this to fix CI, then do ...

>
> Disabling vtpm is also reasonable given the reasons Andrew outlined.

... this separately.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:02:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:02:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579714.907804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLPr-0000Ly-20; Tue, 08 Aug 2023 12:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579714.907804; Tue, 08 Aug 2023 12:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLPq-0000Lr-VX; Tue, 08 Aug 2023 12:02:22 +0000
Received: by outflank-mailman (input) for mailman id 579714;
 Tue, 08 Aug 2023 12: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTLPp-0000LA-E2
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:02:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d23dc5a-35e3-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 14:02:20 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7285.eurprd04.prod.outlook.com (2603:10a6:10:1ac::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 12:02:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 12:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d23dc5a-35e3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sneue+UY5J8HTHSuni2y+o4Hsz8BYG5who5PLvAhUdd33Bld8LOKC7ruqbJlRNjNaLvR8PGWwzB0oCZRcNv0gjoYeqr2FgfxCVm7c7f0k6nBcQZlXw4nO8kK4VmtYYe2CABHxWxfcAtpDoOx8KygDC3VCYOfgvsVMaN6NcFuz5ysk4p5ZV7lZy94Xs3H1RQVD84epP5hP/WmyGMWDjE1bxi8AbHeT2169MpFKAwci2kOuADUPbE1lW9T6BxZTpZ6+NqkCLlulTXzwXFDjNGUO7dm7hiC5lofkpnWAKp0Ss0NUMxLvm9Q00lMZuEeC8xlqqWCjLpCDLIQb6sIllGWPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dDsmnaGASxToYZZz1o3iNQdkmcA5nYpDQhCG+xL1ORA=;
 b=T8vf/wmIe5U2DwfiUQfZ0WmcAMRjjmxOC4oRi0XNuSlQ0tiVgg8Vj4DvYQewjFdlcXoh831pdwl/doUuYddl0tCMYVhH93qEfS36jFrVB5IEnkeC+5h+J0hkEuf4ZFGbqS/emwm0R5kJq/ZDVUNQ4cdlSPyS6vuV+p0sus+dYWxIrdE/v/MeRDK4sswxVtkauHVbLQl4Z2suB/NBJVy04kfgmaOPZS7/ssvOBxtayWy9/dUXQSI77YP8KVG29pBhg6QhM1uhEdz/4JPkzOwf7QUa88aVftzuiFlloHuE8leeFmFoOxvNQEurWfDxLk17igdra+amn9D2gp0ipIxy6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dDsmnaGASxToYZZz1o3iNQdkmcA5nYpDQhCG+xL1ORA=;
 b=GKgx4frY/KyieoFM6q/wGk/7MgzhIyD2BhVqdHgoLwGVVOpN7bIAX6+KjNeHY/Q6HLdLKWrLrctsstUo/vr+Ml4GTfjtNYeDSpWotxpdxzDCH+8JynQANhS6NvsGCsd4FrIcmybYN8/NR68xareF5VHQ4vJKVMF8k7HDLBDx0EA8afc8/jBs46IVvjrHWkJ2l699fE4vyHy4RvQOsv18YsbQznIfOQmPyWMzrXg0uYIvJfRN67xOXut5+YsWemmFB/dN4M3LvjGNscUaZ7hshfpxTK0S5gkplTYznYMsfr9HKwlcrBLSssXFh0GfjTa+MWqQwkgt6V+A2CbFU0jlcQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0a49d20-8e82-8264-8241-86a108139682@suse.com>
Date: Tue, 8 Aug 2023 14:02:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] mem-sharing: move (x86) / drop (Arm)
 arch_dump_shared_mem_info()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7285:EE_
X-MS-Office365-Filtering-Correlation-Id: 6605eee5-37bd-4eac-9575-08db98074fda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0NM4se0FX4ZVODYYXkFmQDkmgeH2UpKk6xcCEFyDdRxnc7Zmd+lu9CWVZQcluk/CthHCr+r0BXra5B/lmk+1/AkYPMZIYTTR1NMTwSKdT9cJsniC0tF9veVyaDFhZaDtfeCE61YaqCPumn61QyaCVI6sK75IyN7tMppDu1SFmV5K1tGaTb6hbw8qSiQXvQdYJfRaDnxDWyjxTAHpytbzin550+jy5L2qa3XLFLjpK49ysJULCjlGnn4uQzSES9Dq74tNrTKxWxBklqjl+zFthfrSKhkDvsXfH6PyY0HOW+iCTEBL/ZztVU8WxQKnHBrzKCFB7RgBA7bn2JI6/xE7P6KxNCLHDEYQ3C/1kKRKRInU80bE9jqBiYwJqY8lZDQNiWPwtWqT2SYfUxtkxSfUFfu1IwICx/eW0+Z2axXVibwAOS7sqvYCiSI4YHwA9vnHcU3wSlvq95jE8nvQclJAfi5GjUeihLrhKHLi6pFmxKx+OFP0/U+inm32hxYznwBOuqR7kKqTYWhL4tG4V5X+vyWBL24guJurYsMUgDqJ+fHp6+VjUyFA9v1ABlMk+dtNJXwOU5Zwub7ZiIjVsRUMUVF+asUjIVTxrCaWPH4p11exY6FMgf3UpWNfsyUMzNoc+1m62DF36ZuoCQvkXtCq6A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(39860400002)(376002)(366004)(136003)(451199021)(186006)(1800799003)(6512007)(26005)(6506007)(66946007)(54906003)(38100700002)(36756003)(41300700001)(7416002)(86362001)(5660300002)(31696002)(4326008)(2906002)(6916009)(66556008)(66476007)(316002)(8936002)(8676002)(478600001)(2616005)(6486002)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amt5Nzc4Qk1XSHNKd1BFWmNSLzh1TU4vZTdPdEpoclIyL2EzaTFnbHFERVBB?=
 =?utf-8?B?SjBzelhIdWNwbEc2ZnVMTVA5SFJEVzJlalhIeEd3TFFPZlJtdUoyMnZDbFpr?=
 =?utf-8?B?b3lsa2piN0FmZGZWL3JjenRoWmNGQm5WdFNndmhtRVdpWTI2L1dBZFl0TzE2?=
 =?utf-8?B?YXBqdkVIdG5tbE00MWlpT1NSbFE1K3B0SHJpSmE3RjlhYWdjNkljdCs2Wkha?=
 =?utf-8?B?ejZ2dThMaXIyeDRzNlYrQ2xLYjV0RHZsOGI0TXczVmJUVEx3R3luNTdZM2pn?=
 =?utf-8?B?NFVQNG4rUXJnbm41Tzg1RUtvc3gwanU0TDkyd0N3Ky9JU05BelBhWFlKMmhT?=
 =?utf-8?B?bDFNZUVST2MrZnFIUHlwa3FuZkpzMGJrTFE5akJNMklCK3Y3TkEyNHRBYVJO?=
 =?utf-8?B?aEM2dTgvY3ZESVpJSkhwZUxJZFhqVENzNEpUSzlER1J4WjA3RTVFQlFkUnBF?=
 =?utf-8?B?ZEpsdHpKQU83Qmo0T2c2d0RnVlM3SDBHanRJUG82OElzVDZneHJWZDRNcDVG?=
 =?utf-8?B?a2RYRFhHZm5BeVpoTlE2V2RkUjQ4aEVwU1BKYTdQV2x0UzhXemFTejlaaG04?=
 =?utf-8?B?VHBaOFdHdkFLRTYrSWdxWHlQdDEvcDl4QXdwU0JIeHFKMEZZaDFyelUvT1F5?=
 =?utf-8?B?cmNUY2dhajYybVE2VndMMjErMnVZQVgyM3FHVlU2ZUo1MW05TWVDb012MUR0?=
 =?utf-8?B?WGE4Rnpadm5xeG5tc0pjVjFISjJxQXczOWN2aFVnc0N6R0lDNXlqbUtmQzNZ?=
 =?utf-8?B?b0pudEZWN1AzNHZVRysyalM5bnk4bjF6OVZuclh0Y3RaeUxCcnoyTjBjdEZr?=
 =?utf-8?B?YUxjTUJvWXB5UFZER09CcXlpWElQdC9ZVXdnQkpjaWxZMUtmb0lGTndEUnRG?=
 =?utf-8?B?Z1cwK2JFYi8wT2FiRVBBbkZQTjcvSDEzOFovZlN6ZSsrNHZmZlJpUmRoQ3V5?=
 =?utf-8?B?d2RlVG1vSWxUUzVVY0huWVNRWVJBeFg1MGpEU0Q5YlcwQUhqN3hsclo1N1lz?=
 =?utf-8?B?blhqSlVvckN5VU1ZMDB1MExMbW95bi9XdUJrREVZOU5zN2FMd0ZUcVNqRm5q?=
 =?utf-8?B?R28zdWlmeVkwem41UytQaEIyRWNpWHIySjNkUjVoREZrSm5TdTU3NnBPYkRp?=
 =?utf-8?B?bkZGaThJMFQzcUtmeCtZcHM5VEUrVXYrb3oxTWRuaWVjUWlBclptRWJoYlo3?=
 =?utf-8?B?SUxWNGJGVVdyY1BMUThFYzA1UlZ4ckowZmFST1pEaEtEYkFnTnNsNmJxRHJ2?=
 =?utf-8?B?bXNIb1VJaVd3ekE3WDBjbWptNTdlUWN0cGsxN2wyQldpL0l5TXNNdU56TWY2?=
 =?utf-8?B?VzVndVNvaFNnUXY3RHFKUGVaczFZVW9nZUlzd0FmeDU4M0U3Z3QydXVPZGk1?=
 =?utf-8?B?Z3NnVWlZdkFvMUkzN1g0OWt4SXdtUm16ZmY1NXJsa2xLNGZMT1FFU3FyZXNy?=
 =?utf-8?B?RmkzZ2RuZTlCMkt0ejJOWGgwZkxUN25TOTBZbVJmQUdEWDh5ZW1rUFNPb3Ax?=
 =?utf-8?B?OGFpTU93ek5JQ1ozbk5tOG94aUFuZllQcmM5QkhURjVPdlpQOHB6bmFvZms3?=
 =?utf-8?B?aFl1QXhOeGFtcUJyWUhNSExUdVlWL1VoSW9IajJReUNhUkFQMHZrU3BBTkx5?=
 =?utf-8?B?dDByMXcwb3Zaa3F5eXRzMlZscnVVazQ2b2p4VEsrVnBhelVFZWFTWm0xcjAx?=
 =?utf-8?B?SitHdmptcWlpYlZtN3pybEJMVndRdkR2V2ZMZUdoV1lZRFg3RXR2a1pRSFZt?=
 =?utf-8?B?bUljKzloWnFGSzdXMjBuMW9jMVFjVWp2OHl6aWY5bzYxWHR1Q3EvU1I3aVEz?=
 =?utf-8?B?RW55anpESFNVcmJ4UkRvRDZ2Tkcrc2w0NG9sekVuTHJFalVpcjRySWxXM2Z4?=
 =?utf-8?B?L1ZxeDBIYUp0RXpRTkxZeWNqeU9TWXRWNndYNXZMc0RpQ2Y4NWN0eEtUVUdO?=
 =?utf-8?B?RzFpWnlyT01sMlArQmltWDZXTkIrT0pTTkRKdHJvdTNtMG0zOEpXN3dLdDIx?=
 =?utf-8?B?ME4wWkpzOFZ2ZEI1YXNFeTlrU2NJaGRheWczdmJjV1cwZWtVNU9uY0ZNVHdJ?=
 =?utf-8?B?OGtGbVZuenZUYjBXcDUwcjJjZTN5bGJQenV6OGhDTnIwUS9jYitWa0tvUVhG?=
 =?utf-8?Q?rq0ZIO/RjFaOPxO6qNY/hYFzB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6605eee5-37bd-4eac-9575-08db98074fda
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 12:02:17.6843
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H2oUN6fAZvDOQQccBUJcmeDVAFR2J5svzMg5RepdB/TitLE6IudiXE3APF+MuV6ySx4yCP79J/Gsq1mOvFkUJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7285

When !MEM_SHARING no useful output is produced. Move the function into
mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
drop it altogether from Arm (and eliminating the need to introduce stubs
on PPC and RISC-V).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I wasn't really sure whether introducing a stub in xen/mm.h would be any
better than adding the (further) #ifdef to dump_domains().

We could go further and also eliminate the need for the stub variants
of mem_sharing_get_nr_{shared,saved}_mfns() by moving the
XENMEM_get_sharing_{shared,freed}_pages cases in
{,compat_}arch_memory_op() into the already existing #ifdef-s there.
Returning an error for those sub-ops may be slightly more appropriate
than returning 0 when !MEM_SHARING.

--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1297,10 +1297,6 @@ void free_init_memory(void)
     printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
 }
 
-void arch_dump_shared_mem_info(void)
-{
-}
-
 int steal_page(
     struct domain *d, struct page_info *page, unsigned int memflags)
 {
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6265,13 +6265,6 @@ void memguard_unguard_stack(void *p)
     map_pages_to_xen((unsigned long)p, virt_to_mfn(p), 1, PAGE_HYPERVISOR_RW);
 }
 
-void arch_dump_shared_mem_info(void)
-{
-    printk("Shared frames %u -- Saved frames %u\n",
-            mem_sharing_get_nr_shared_mfns(),
-            mem_sharing_get_nr_saved_mfns());
-}
-
 const struct platform_bad_page *__init get_platform_badpages(unsigned int *array_size)
 {
     u32 igd_id;
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -2329,3 +2329,10 @@ int mem_sharing_domctl(struct domain *d,
 
     return rc;
 }
+
+void arch_dump_shared_mem_info(void)
+{
+    printk("Shared frames %u -- Saved frames %u\n",
+            mem_sharing_get_nr_shared_mfns(),
+            mem_sharing_get_nr_saved_mfns());
+}
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -365,7 +365,9 @@ static void cf_check dump_domains(unsign
         }
     }
 
+#ifdef CONFIG_MEM_SHARING
     arch_dump_shared_mem_info();
+#endif
 
     rcu_read_unlock(&domlist_read_lock);
 }


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:02:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:02:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579713.907795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLPm-00005L-Qu; Tue, 08 Aug 2023 12:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579713.907795; Tue, 08 Aug 2023 12:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLPm-00005E-Nz; Tue, 08 Aug 2023 12:02:18 +0000
Received: by outflank-mailman (input) for mailman id 579713;
 Tue, 08 Aug 2023 12:02: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTLPk-00004t-Rh
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:02:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a0d092e-35e3-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 14:02:15 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6B9DC4EE0737;
 Tue,  8 Aug 2023 14:02: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: 6a0d092e-35e3-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 14:02:14 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH v2 5/5] x86: refactor macros in 'xen-mca.h'
In-Reply-To: <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <9eea3e6039a72d0502ed1416449e041a@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 08/08/2023 13:08, Nicola Vetrini wrote:
> The macros defined 'xen/include/public/arch-x86/xen-mca.h' are revised
> to address the following concerns:
> - needless underscore prefixes for parameter names;
> - the variable 'i' in function 'mce_action' that is shadowed
>   by the local variable in the macro.
> 
> Therefore, the refactoring aims to resolve present shadowing
> issues, which violate MISRA C:2012 Rule 5.3, and lessen the
> probability of future ones with some renames.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes in v2:
> - Added missing parentheses.
> - Clarified commit message.
> ---

Missing a
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
from the other version, since nothing changed code-wise.
-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:06:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:06:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579727.907815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLUG-0001Ge-M1; Tue, 08 Aug 2023 12:06:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579727.907815; Tue, 08 Aug 2023 12: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 1qTLUG-0001GX-IO; Tue, 08 Aug 2023 12:06:56 +0000
Received: by outflank-mailman (input) for mailman id 579727;
 Tue, 08 Aug 2023 12:06: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=dCDA=DZ=citrix.com=prvs=577c1445c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTLUF-0001GR-W1
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:06:56 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fde57df-35e4-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 14:06:54 +0200 (CEST)
Received: from mail-dm6nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Aug 2023 08:06:52 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5018.namprd03.prod.outlook.com (2603:10b6:5:1ea::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 12:06:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 12:06:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fde57df-35e4-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691496414;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=nm06pE+DvkhhsspPt8Z2wjQuX5ALmz/AziCtoufuze4=;
  b=GRLVEPv4n+ylWigG7Xvi4j4gBcgfnUEeNkpmQvsPsPeXb3PTj8g7pdcr
   /IUk2fM1TdB8U8j/AfSAAGuECZB5VSlqvesYYVo+zHYeU/DmyHndyfxbW
   04khE749bN1e8yqBw96yLGxybxner/7Z+fCoI/JL6+6OfVsDn83xRDO3r
   o=;
X-IronPort-RemoteIP: 104.47.58.101
X-IronPort-MID: 119276021
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5rehuK3CnJuYLhT5ZPbD5Qhwkn2cJEfYwER7XKvMYLTBsI5bpzMBy
 GtKDW3Qa6zeZWSgfNEiYN+38kwG7cPUmNQ2QQJvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxmNagS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfEERE2
 acgcC0xdjOdo9qK0LGeT9RMr5F2RCXrFNt3VnBI6xj8VK5jbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6KlFUZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqiCdhNSuXir5aGhnWvwWMzIjFRW2CAhr6erHXnBeJlI
 nY9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BXcLeCssXQYDpd75r+kbjA/LT9tlOL64iJvyAz6Y6
 yuWoSY3gbI7ltIC3ai/+VHBgnSqq4Shc+IuzgDeX2bg4gYnYoegPtSs8QKCta8GK5uFRF6cu
 nRCg9KZ8O0FEZCKkmqKXfkJG7aqof2CNVUwnGJSInXozBz1k1bLQGyayGgWyJtBWircRQLUX
 Q==
IronPort-HdrOrdr: A9a23:7bHX8K2UPZxw3o/NMNgDzwqjBLokLtp133Aq2lEZdPU1SL36qy
 nKpp8mPHDP5Qr5NEtNpTn4AtjkfZq+z/5ICOsqU4tKNTOO0AGVxepZjLcKrQeOJwTOstR3+o
 xEGpIOauHNMQ==
X-Talos-CUID: 9a23:ZhI1oW9aiGDDdxPfQwKVv18xEOx+SiXA8G/zPWuANXZqbbioaXbFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3AMf5eXw1YW29CN6igsircpJvbsjUj36OhKGoh1ps?=
 =?us-ascii?q?9gO7DEgpLYmmttj2Na9py?=
X-IronPort-AV: E=Sophos;i="6.01,156,1684814400"; 
   d="scan'208";a="119276021"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HrilHjanNiWvw9CcBvuy18sUTV6V07vNyJk2troGZT/WY01hNvti2yCQFB70geGDPyB05/NsrjSLfKBEkoVPFPSo6A5qquvwo9LXDvdDCGHsgW7m2Uqbciqqyv6WVI4xoVscChmaDNG8fkdc9itN7zKyapoyVwsJ2TfWftm0IkrMyYFc6HWQqTWU+Uwk5RW65FdrGTbneR08hs/Hyj+Mgmd8p0D2nWRnLdAgBj+qwWvY8lABoySo3fAVRsKUcZzVbROlxN21QDEGRe/ArWiUB3uvPcfF0szU2l3G3DMipBsNWLRW8Sl8yL5Buyl8N4hoMRbQFMmQXY3u7OBU492hmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=paskMqDzMx6NCTCwQr3nWGzjL6QapiqdakCF63HtgjQ=;
 b=eB6HjUkceKJ/HzC7vzb5fdMfbwKGtId2ZkbooKqVYEOR6R5LAj5nLd1Bf6NYGNBRJQWVKZSO3+T2qvVvt+r++sAhwsXkdCgET+qdLddhA59GTGWlQJWkRcw3wooRIydg2IgsYipyEmvS1jKmqmJXhtvtqy6sjFkMgA4oJoU6VxEvNzwQHc0Fb/W3kwo2yGJqr87+pcv16CmHgUQ5D1B8PynWNwKJVRVBZBOivjzlLZZaC9cG0sKcedKHOYCcGKGlzITXRvfxO1Oz/YroJu1KP8qD9fZySxiDhuVQF8FfEMx674Xgme9f+5YZTNVBZXmi7Kz/m+IvIcHCQUwsmVr3MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=paskMqDzMx6NCTCwQr3nWGzjL6QapiqdakCF63HtgjQ=;
 b=KuD6+ryROWMnF45KUldwRpxBFU/bMavxsj0Zy3xrRrVmKz2FVC44zmHVHbkd82+QGHYhXLJItE4EIWwsZdNzEZ6PCIXunOXQFJ8kLH8nPBzpKDRY9dPQZEd2lX//JGLt6jh6FfFC/pElUFAqbPL261a7EcwXt89WIq0+zNRTAFs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b2551bf8-06de-c098-77e8-ed1a01ef6319@citrix.com>
Date: Tue, 8 Aug 2023 13:06:40 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] xen/IOMMU: Switch bool_t to bool
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <stefano@stabellini.net>
References: <20230807165830.6719-1-andrew.cooper3@citrix.com>
 <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
In-Reply-To: <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0233.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::29) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5018:EE_
X-MS-Office365-Filtering-Correlation-Id: b7c927a1-8fc9-44a0-c833-08db9807f003
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	az1CEY54AJcccEsiWxKm1DNKmjwZnmNjzsUXKySpAwWHwKVtlJcXuWOULdf9JD1uc1lYfe/yU8B5vW4ySV8mq3Evfijg3D4upswVw6cvXQ4v4RNNg7M/myWseJgdr8K1Ui/C2Af6CUu7/BqNLCEpLYuEJyYvnLTh+gDto6wJeUKeBwYq8RgT+vHUy9KvOMkN24jaMWVaiazQDaQRoDIVC4l900PT9TWFZCl6TmBcSfLmtCsdIVN2ds9lOVZAHfhdUwcqGnTvs43qnsv2N/Sd+6pojI87jphR8aCfq21S/V3HGgNENPDIXVrGpi7Tpiu/sFQClnIM+RBkoUFDjwHRkHdAwWNmEUW61CMG22Uz3pBxPiptJ7vF61lM2BTvBpzO0v8qVGsgFD2+X6/7egy4ZbEWSECmsUcRAPLMCpnEuJAHhwjnNoBnbQ7AufjlclDz67hOEm/mZENgccBqvySDJ29qr+i+A8jIjvGyU+Qka/LgsGGt86EvzxtH7SmrGvthcG/wlnWMdROWpNMboBvoBgzV4Lhm2qGoZTBeE7DDeIExrT7xHy/H9j0v+RN9PLxgWO8acNa8nJ+/tnNhDAauVvnSiVwLQL48pz+jQ9WbSAEpPLO3TWLUQL9YW4NEoEyWZ2GJNjUyF0jDcVmuOvYIsg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199021)(186006)(1800799003)(8936002)(8676002)(5660300002)(6916009)(4326008)(41300700001)(316002)(86362001)(31696002)(2906002)(6486002)(6512007)(6666004)(2616005)(53546011)(6506007)(26005)(36756003)(66476007)(66946007)(66556008)(82960400001)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2grQ0U4emVwa2xxVXd6VU1OQmllUXJNS21Hd3dac3d3SHZGOU4zb1dhVHFX?=
 =?utf-8?B?R2crQzh1b2d1QkFSQUpmbTNyS3NWclZNYVZmZUxxSlZrOVRWcUhrdjRYaGVt?=
 =?utf-8?B?eEF6Nlo5cERSenpOaDcrUy96S3NQUWcwa21aZlVKSzZqSytxa1lKeW10ZFZr?=
 =?utf-8?B?SDJBaXBoOUJvUzdUcUtrVmdzOUdnZjkxK0tiMlZnRUxqcG1lcG5FODFYR2JK?=
 =?utf-8?B?SDZsNExiSDEzaDhHOU1Rb2ppMExoRGhzaHRFNkxnRXRlUzh1RDlyY3VLSkE4?=
 =?utf-8?B?RHNJeGxEZmFkY2ZsZDEzMTlFSkdsSnRNUlhJeFJTcW9iY2NFMHo1bkhheUJE?=
 =?utf-8?B?L0ViY29valFqZUd0MkRmVjVJeFI3QnRrTU1qckc1VThuRi9BUmFSVytNOEwr?=
 =?utf-8?B?TDVpaFc5UmVvRzBweDBpeHE3bWJJb1NZWmpURXlmOXk3ZDRBOStITWtYWkZh?=
 =?utf-8?B?djRydjkvWGFpSmRveGdLamlvT2VJb1UrMTdTdTNIRFdlaWFIV1FLMmNoQVJL?=
 =?utf-8?B?UHdTQUdFVGRnTHRiM3U1Yjk0MFN4eXhqVWxnZldrcjJvbDVxZnlwVWZESUJK?=
 =?utf-8?B?ZFBCRXAyTm5EZTBiQlE2TFdCODlwZjJ5b0xQNFMzZkZZVjFLZ2M4bHBYV3lH?=
 =?utf-8?B?KzNZWTlkRndCeTNlL1licVI3RUJzbkxYWHFNZVlLVndpci91c01TaW12bGFO?=
 =?utf-8?B?S1FrMTd1MlBtNlU0eERKM1EvTnQzOU9PRklXRGtuSXRqNnpZL1QrcFlxalRG?=
 =?utf-8?B?eXhYc1hMYVFsa0svM0tGcHljS3VpL1NZNUtKYVFQbGVnNWZvZHFGVFNoMlIw?=
 =?utf-8?B?TUQzanlkN0FvR3NRVDNJY092V3Nzc3BUdVZKaFI4dXFKVVg2a0FrWG0wNExH?=
 =?utf-8?B?eWk3Z1dFVnVEL2NXaU1iVjRBSWFhWkJlcWt0RmZ4TDBsM1VSVUtJYUdmQkZo?=
 =?utf-8?B?SWdkNW1HY1VaWnp2MTJjK1lRalA5VTZEMm5tVXVJQVBnSVJmRVphMDZiYndH?=
 =?utf-8?B?U21KSzhIZldHcm9YSUJ3a3RQZmZ2NWR0TlNmUUVNQ2ViNU5DMlZXdXcrMkJB?=
 =?utf-8?B?ay9rbVdVSnVoSUdXdmhBVWVMOENNNDhaNVNkWFViejk5VW56TlorVDFURUNE?=
 =?utf-8?B?VnQ3eXVRaDdlYko5TC85SFBFSUt5T3UzWThUM1FjTlV2Unl0WVJiYnFtY291?=
 =?utf-8?B?WDljWENSRlA0akE5RHNiL2tFZWZ2M1BRSDNrbnk1R1IzYUtkMjN5dENZNjhM?=
 =?utf-8?B?eHVranNSZjRJK1A5bVhUa0FRZTR5TW1Jdm9ZZXRjZEU3VzMxSkdUTnBFZzFr?=
 =?utf-8?B?c0p0eC90THdEL2dWZlpRb0lGZ1E1WllXNzZBOXJ6UVV2RUkxbStzUXJlWVJG?=
 =?utf-8?B?b1hJaGV1TGZ6Zm5VTk5RTE5KT280NHhWd25jQzhGSllyd2xOSXlmTmdmUnZq?=
 =?utf-8?B?VDNkNmd3VElrU2RPdTQySUNiQ2RtTzhqdmVNNlhlbHF4UUZKR0w5K0tXNmk4?=
 =?utf-8?B?bHJyM0pWSXRncHpENkI2ZWxqaWVDVEQwSHJHZ1pKZXZzNU5zUzFBUnZRUExE?=
 =?utf-8?B?V0haeXVETS9RbVJaZC9TNS81WjVSc1g4RngxTkJoYWt4c2xtRmQwbjJ2aSti?=
 =?utf-8?B?WHZybHg0eWdRYW1QY2ZGYzJtNDYrTlVkTVlRbHN2aWtZOWVtREdQVEh6NGhU?=
 =?utf-8?B?N3laaXZlb3FQZzlsODhxeHBpQ000cjA5VkFld2s3SEpFM0gxaElSUlIwZStx?=
 =?utf-8?B?VTMrejZ4VFRQZnlhRVZnTVZnQjlkWCsxN0VzK3QzeitSYnh3eFRLb3ZJaTVT?=
 =?utf-8?B?NlJGbFlTK2djMzlZMzZvQjZxZXNVQWNPUmVKQkV5ejdOYUJxVTNoM1pSU0Fr?=
 =?utf-8?B?OXRpTTk5eUc3eTFXSjhhVkFBOVp5ZlA5YWx6YTBaWkd1dklkSjZrMkIrTGhx?=
 =?utf-8?B?NXpuWXJiV2F3NVU0SmRGSjNaTCtxcVRLaFVWWWNFMnQ1cURrRXFpZkV3R2dp?=
 =?utf-8?B?b1QvWTFITUlzaXdBSlU4eXJpUk56VXRhTklpNXBrMnhncTM0RWFDc1JnZTAx?=
 =?utf-8?B?c3hRTUlyQ0d4VW5rb05ZZjY4VGRQUHVFOEg1a0E2dVFXRzBBa1JnL0tROVpS?=
 =?utf-8?B?WXFyclhzSmJ4ajM5aXh6MlRzTjhtQXRwTzlYMlR0d0ZSM081TWVDL1ZjRERK?=
 =?utf-8?B?Wmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	uGHhIa3S6k6OgNVF+TflSHiSd3Nz7DTgLHiaErd8/oGbBbc6PTrxeZh1YGz+hJ7J0AKbW6REHQTztvZvvU3eKdqgzFQ/yyAlJqFrl7vLClivmIncZ6f0fN2EPxzvhvwspqe02hJwAzy0GglHJ2YHdxsiSX+ybkk957p1fUniUWIYOv23k5AHCM4zS/2f0aKd+w1AF4TtsPYRJE+c2aSFtnawB6hbb5xrR6Aa6Nd77nePpgjAng6zyFy+hoUnrlgM4cG8bIGmoMZ+UBZ9CQv/EnXMFjQCXDuCuFF92/np202EpFodYYz/9iUKS7aDzCke05VEPfz7VLst5xWhYYuNiWEljNVprIZKYC84CZM5Whtnb84Mpa766KjA4p0/0fu4ps9lha20kVzfAx4PU+plsRM1jXPPEqSk/gDA0Q/q8kre2LPjENnb7x3UIXGq/D7zFWsz/heIHnZQtbeFV01R7qphhSyysXm5w+X9z6YU8YVi+dvB/OToBbJQ2G2LOQiNpr3Phh6EXqtKo/5eUR1RM90xSyjXreRxP2sW1Fd1TLPGOD51BUpoaNvPVsd2bbJBmZfg2pNbADI0sax9d+94BwmG2ZG08taRgoYFELbxd3BtY5nqdQP66S7xnGuIdZZDVrK17Vv0mXziHdqZgmiy8K9bA5/OlKgdcr+jkZ8u17pXBTUhAzSfPuB9zW5kURaX55JVNTHAxJcjZx4oJTnOrvOHcm9/R6gZsZRW88y5gIk1Ve+uxsE/Gx6PPDIDCJ0r7rMqYaB9uDgSF3nPQKr7iH7x9QtvptD3aUv2cGpd1D1Jv+LXI0wUyEvy/DmbKxhIAZZTbtHM+thHkKDYhrewI4gUKzdnKhdO/FRvpnWHy2A=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7c927a1-8fc9-44a0-c833-08db9807f003
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 12:06:46.5268
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aPioY9wuzq1IUGGWcBpcgxB7YQk3abW+Ri1TdoKxJ780FtQy6VHrzSbAIFAEowgCFg7z8PLwQ0KJRuDmd1SySGu5CZZ8zFTlnOfWTJHwlR4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5018

On 08/08/2023 8:54 am, Jan Beulich wrote:
> On 07.08.2023 18:58, Andrew Cooper wrote:
>> ... as part of cleaning up the types used.  Minor style cleanup on some
>> altered lines.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> ---
>>  xen/drivers/passthrough/amd/iommu.h         |  4 ++--
>>  xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
>>  xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
>>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
>>  xen/drivers/passthrough/ats.c               |  2 +-
>>  xen/drivers/passthrough/ats.h               |  2 +-
>>  xen/drivers/passthrough/device_tree.c       |  4 ++--
> This will want a DEVICE TREE ack; Cc-ing respective maintainers here
> (and therefore preserving full context).
>
>>  xen/drivers/passthrough/iommu.c             |  8 ++++----
>>  xen/drivers/passthrough/pci.c               | 16 ++++++++--------
> For these and ats.? you would also have wanted to Cc Paul.

This very much qualifies as tree-wide.

In fact, it was the only decently-sized chunk I could pull out of the
pair of patches, one for common and one for x86.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:06:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:06:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579728.907824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLUI-0001XF-US; Tue, 08 Aug 2023 12:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579728.907824; Tue, 08 Aug 2023 12:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLUI-0001X8-Qw; Tue, 08 Aug 2023 12:06:58 +0000
Received: by outflank-mailman (input) for mailman id 579728;
 Tue, 08 Aug 2023 12:06:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTLUH-0001RT-HA
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:06:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1122ec32-35e4-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 14:06:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7285.eurprd04.prod.outlook.com (2603:10a6:10:1ac::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 12:06:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 12:06:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1122ec32-35e4-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CyOM7dJNu0A7qG6HCeasam+Gn4m0TCwhQcapVozyWE6sfjOgUUwKoQgahM0Owsp4l9a5LRecP50tobVYtqAlq8xx2LwtrcAhRzeUoki+UEVFemxAWWL9cwTYD6ZKz4aBYGszqxvWUYuELTHev+3Haq35wLqtVXegZFMrfzxezd6K6EjpiLDOuLUCYvyBzTbBHReiUplwq3f9iizGFhTeoXujiMbs/pORHjuesNyFHxcfP4IfSO81ZY1+xUEeH+riDqXjUz8LDD5ubBX7R3TZ5sRqQ5wnluue5Y3V3l+z+WWtBRIjL88bwhs00IjrEwiJEhLiPACykdL1u2jjwnPP0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kbSVd4AQ/cg4rWC6Eiz1nBnPOOJ0qhAEOljRQ+KIphM=;
 b=iWWxYU9cvC3XTEDGpweRMDzKC28vtcsJTGiE6eNm9NJm9/jWyH4aE36Up7cDjIEIezpjQxrsp1djVVvkSJ3mx8YAtNZpBCpR5tCDFUTEJm5noJc1G/5sbAP/71khH22KyqPWDo/Cc2DlZDMv2yEr5u/wLt4d0xYtWhBPR/CaFmjzdOEIFX8figWLuD9iR4wBO64QmFgHW2NDP5rPdnlcJQJegOIZCER55kdN/y7O/3uUGkxhlgUDqLuq1e/Wqh8YqkidTXlJoRK1SNQ/5nLHc9BHJFdiO04TaG8DjDpuFVtps7SPvETNGfn416wEX08+qeu7cNw8ggFGRBBMdjsYAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kbSVd4AQ/cg4rWC6Eiz1nBnPOOJ0qhAEOljRQ+KIphM=;
 b=GrH10CNa35lRbA9RZv1cA4GU8oF8vgbzpZLDXRistgOtxZrzI6gDTaHRN7dCZsdaE+hk9VmzQoQH2I7ebO6TepuRSoJa1uqR0/R6d7SmssvU8dm1q+bCWbCFYUJrUwvgrjqzHYBIsqc2eD4V90SaqDEO4JC9HtEmsQkjtZWiPUAy5ok4nfPmvEb1dIdFKKixjVqeiLA8L/VjDIv9wvV0e3Aivlk+64sazEFjNdQSyQxM4QoDd2hmDH9PzBraywJqzWw2RFjH+8vGRDlAHcXyzQy40aHllAwWt1ZwYnhDBzHMe7LqoHENU/RQv4zFKlrHhDYyCKiqSyd97+weyRvW9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <80ead475-68cd-0cf3-3d2e-252ad4b1f976@suse.com>
Date: Tue, 8 Aug 2023 14:06:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 5/5] x86: refactor macros in 'xen-mca.h'
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
 <9eea3e6039a72d0502ed1416449e041a@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9eea3e6039a72d0502ed1416449e041a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7285:EE_
X-MS-Office365-Filtering-Correlation-Id: 63a56f3d-2096-4524-9b0c-08db9807f476
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p6KjIhenvxpMQYt82C+KjOGC6wyXZXR24cZA86svZQZcur6yTF+41C54NlZbRRUPJThVYAFW2k8benA8P6Qynj7qype5QpVNL1qze0hjVZcmRGb5eFzbCD3AizA+4E0dWm4amBw7VgPejImCqN00dwhrg4ViGkzg5qD8bCH5GMvCj/0yP1gTrd+PmELFJlHjl4OHcJZWxJih7lQ0a2bOx7LjiSvk0SfX9/e7FXfvJMZ1B58CGoHo8m+VINzRBWOYAn2Ojb+0NMIaoAdabQ5UIQPa8GKac6amLuaM3NoSIePPu8o6uizlCiyY/OY/vAt2Pf1DfceeCyUjEOVkAJDKS6wulsEdJOwW+ILg7GToMQXJ1WUTput057yLNZVsNBsN4Pcd/YynWC4ZyK4l7tAsHuqgqgf2OjB2oR6s1SwmTcdSW/LgxnpDV+9rwbsgPS1N/74SPrMXZlwBp7BMZL5YP8Vlq16HEE/yNgZd34u5cA2gfeQ+cJxzJ62PpEypksrbygAnp+ZgG2ELgp3x9meqbZryWFvKnpWgjkwFYCLpytCgCI835SmcNGxmlR8hsH6apBjl0ScOZudyonGuo17y5CnJ04braqhlXxgPjfKNS5F+7qSTz75yL9MMhjCoEJhcomsLQDg9fE7qoFqRjYbx7A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(39860400002)(376002)(366004)(136003)(451199021)(186006)(1800799003)(6512007)(26005)(6506007)(53546011)(66946007)(54906003)(38100700002)(36756003)(41300700001)(7416002)(86362001)(5660300002)(31696002)(4326008)(4744005)(2906002)(6916009)(66556008)(66476007)(316002)(8936002)(8676002)(478600001)(2616005)(6486002)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZWFNM0h3N3J1aVlqR3ZDWWQvalNGQk9vOGhCOWVjMHpWYXFDV2ZKNXpseUFN?=
 =?utf-8?B?QllUZ3Y2YVc4N1VCZ0dNK1BoTkNIRjdldFlJSmNPMHNrV1BReUVoRFJNeDBp?=
 =?utf-8?B?NDRtZlBoM2JUM1AwYnhIV3kyRjBheTZoVjdqd3Z4NjhGT3ZIcFdtVVB4aGxs?=
 =?utf-8?B?ZkxMMk5TQ0ljNnJDclQwQ1NGL0dMeU9GK3V3V2l6WjlJeUd2UE1uUHB3UW5s?=
 =?utf-8?B?aVpoOW04aGNOOHlYVWlaUUp1N3BsZ2NxeDlHc2JZa3JRdTlHRXVLOHVXSXpT?=
 =?utf-8?B?SUVDbHZ1VEY4UjJTMWhkN1NhM2ZSV05IV1kyMGdtTldKZWozZFVMMitLUEhB?=
 =?utf-8?B?LzRNc01SeVA3R210RUhPLzI0WU95Vkc5bmJ1VVVZRjBmWE10NFB4TmtOUmFQ?=
 =?utf-8?B?ZG51enhQdGV6SnVVK3hQeHV6Ni8zQmtGQnh5MlBnSExTQ0VSazY0VjA5MnU5?=
 =?utf-8?B?QXhiQmZPN2FyMlM4SHhlRVhTdGtxd3hxY3VidUMzN1JCTjFHdGs1bzRLMEg5?=
 =?utf-8?B?UzdINEYvVWo2c1d4bzUyWTFFak5RcWtuQUZsbFJGNFZiWFVWblFZSzZ5M2FI?=
 =?utf-8?B?a2tkd2w0VzlHTFJCSk92VmNCNzNwOVJINDg5c2ZBTEs0QzZYbGQyN0pNaW9k?=
 =?utf-8?B?N1dIbXh2dXNiY25PdjJWVHpjNFZwODBYRUF2QXRnRzNxTFBTNHpKbk9QWG9n?=
 =?utf-8?B?SER2eG9ST0w2RWJ2REgySTdOOEFyZTgzNklpTEZsUS8wb2V5ZkNqVllpU3JE?=
 =?utf-8?B?VCt1c3UzeWtHRis3M1VFQnM4Rm5FbFRzQXhIeG0wMU8rQ3FYc0ZsSWpmTXNM?=
 =?utf-8?B?VUVkdmJyQUc3V3Q2RkFVQys4TmNXUHdMbXJkeGl6S2Y4ZFo2bHVaT01VNjdw?=
 =?utf-8?B?enpsOFU5dlV5RURXQ3pzcE9pcW1NdGxLNTFlcDY3b25wYit1cXN1N2xkZXo5?=
 =?utf-8?B?U1FmdFdwaXE1dnJwM0RJbDFhc0hDV1VVdk95aFk3SzVYaWlXeUZiMHlFNFZ5?=
 =?utf-8?B?U0hnK3ZzUmhVQ2NUWHNiRlJCbm5ZQ2tma2doR1VTb0l1Z1BLVmlnTzRveklV?=
 =?utf-8?B?TVRLenY5QWlsc0RKVnBlMHNRdE9JNGNheXZNMktKWGVmQVhpaUZGS0o2Z2Yy?=
 =?utf-8?B?K0lScUkrWEc0ZkRhdHprdDNhd1NKY0Zwb20yYjZ4cjlCM0wxN2Mxb3pqMkdk?=
 =?utf-8?B?QmRlZGpVRU5ZS2RRdFpLV2NDdkNUVk1TbGFra1VQUElLbW9oK2dPUGE5bW9x?=
 =?utf-8?B?SmErODl2U01xZWVQa2tOV3ZQb2xHRjJnajMyRVVNcDNNNzkzNnQ2cDJNQWY0?=
 =?utf-8?B?YnlNazZXKzl2d2dYMHp4RGRDTmJwRTFJQjQ2L1ZYY3VzYmJrWmpQcTY2c2x2?=
 =?utf-8?B?SHg4MlhHcmUzc3hnVkc2QVVtWXJvUEZuWkhJM3BTeTBGaXZHdGFDNDBpV3Nw?=
 =?utf-8?B?SEZ6OGVKUngvbkNCeUxrMVRXM1ZubC93Ly9VMlR2azd5YlplY1Q5SHgwUGY3?=
 =?utf-8?B?RHFIV0tlR0lZbldqSVIyeWt6RGVwWlBnZGlEb1ZoZWwweGozcWJjSGpETlh5?=
 =?utf-8?B?enJqM3BxdEhiR2g1ZUswOEVjczl1RFZIT1BlQ0J5YU9YcEJScllYdWh2dkM5?=
 =?utf-8?B?bWVqUExuZXo4emNrSTlza3I5THRLbm5uSjBXbngvU3Nwa29qUmhxQVhwUHdu?=
 =?utf-8?B?RnNDK2UrQWZYck1ScUVOTlBvcVBqYzIrUEVJcUhnRnZFNit6T2xSUFB4NU4x?=
 =?utf-8?B?Wk01OFZrSnFBYi9NNDdsY2hzNDFmdithT1gydlU2YXdzQm1KSmd6WU4wc1FG?=
 =?utf-8?B?MjdMUmNTNFNqQStROTBFcGg0cUNzZzk3ZFlFRE1iOWZmZDU3U3B4VytDZHls?=
 =?utf-8?B?QnhSRWQxTEJQSWxNckVSYlFrTnEwT1h0NG5HQ0d3eTJ4b1hSaXRselBDMy9X?=
 =?utf-8?B?Zzd6d3F5SEJVQ3A4KzZyWVlkakp6Y0lUc1k2dnFTSEY4dHZ3cDNhMTlIQVdi?=
 =?utf-8?B?bmx5Qjc3ZXZXdUM3d3NTZzBSNjFNdTB1SDUxMW95eGRiQkE1RElOOU45RURq?=
 =?utf-8?B?QmVEaGx0Z0lpcmZCNHc4enl5WmVVVjY4OUMvUFVXdCszbytQd0hqVXFURFNJ?=
 =?utf-8?Q?N0T3QSIWDBDmxzbFwdMaTQ3ED?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63a56f3d-2096-4524-9b0c-08db9807f476
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 12:06:53.8187
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mhcZ9DkAJ6yRiKvCiQOjP1RjHgIMlwrhV6UNCn4K0PRZXtTjKww3wQFpLNEZTqo/G06Kwghj9sW6VixegwPIWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7285

On 08.08.2023 14:02, Nicola Vetrini wrote:
> On 08/08/2023 13:08, Nicola Vetrini wrote:
>> The macros defined 'xen/include/public/arch-x86/xen-mca.h' are revised
>> to address the following concerns:
>> - needless underscore prefixes for parameter names;
>> - the variable 'i' in function 'mce_action' that is shadowed
>>   by the local variable in the macro.
>>
>> Therefore, the refactoring aims to resolve present shadowing
>> issues, which violate MISRA C:2012 Rule 5.3, and lessen the
>> probability of future ones with some renames.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes in v2:
>> - Added missing parentheses.

This ...

>> - Clarified commit message.
>> ---
> 
> Missing a
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> from the other version, since nothing changed code-wise.

... isn't exactly "nothing", but well.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:12:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579741.907835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLZT-0003NB-LM; Tue, 08 Aug 2023 12:12:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579741.907835; Tue, 08 Aug 2023 12:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLZT-0003N4-HN; Tue, 08 Aug 2023 12:12:19 +0000
Received: by outflank-mailman (input) for mailman id 579741;
 Tue, 08 Aug 2023 12:12:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTLZR-0003My-VD
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:12:17 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe16::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0b5484d-35e4-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 14:12:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9246.eurprd04.prod.outlook.com (2603:10a6:102:2a1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 12:12:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 12:12:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0b5484d-35e4-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PAw7OTb9LnBNeCD9K60MXEF/XieD3kyvM/vXEI/lu8NQ+K8VmNP82P0qXJ1wq+7mWNUwIP9G6aH+CR47huale44YndB5PzFm7pD1BSpV0cXNVZLLriPqg5/det7d8kmzZ/ji5f3pGedYGvhg830xMllORKVXbvuVXQDLsDEteAZOTXaUTf2WiEC4XAJ4OWhg9tr+CP9zXgRSwepRdeiFd9VaT0qGeeBHWIjMntJnYOzS425vqLCYg9NWDflFztwEYrMIdOoywEa8ghZAEHYSmxZrBw4RMr1cQ7d3TL0ma/ZmwjLqRVM+XSSbmgvn8ynRIBrYrE/8kNEv9mEya525lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sDXJFUhU/mADNUjwLM0sVzaAQ/sTsGmRu5XwIKXxzJs=;
 b=a4CLkuaS43axHZcj1SyQpDbwAo8fdpaJJU1h1miTP5LwdzPL1adpbn9MkTcdCPBvJY+H/kRwzjHlR6P/iisaQk3DDlWX9jOviLx7pqK9Bf7dAT0Un/MFb0foStYyRGHqtZE/0RIyDxcdmLY3OVOEppFPQRlRQZpcK5Ip0rHQ0d8q0V+eTI+0BIzx/XDwRRC5w9eWAeHzbdlOiSjeM+YFd6yk5CJeVBB8ssnFzlENDEY5gVEiVE+y2H934yJOKymIjTNdWGMovipZQm12zhIBDA/flrqHAeOkU+ox4l4N5S2sSArBzp9itdX3dx/G/s/K8QDRQoZrrGU9k+2toAU2SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sDXJFUhU/mADNUjwLM0sVzaAQ/sTsGmRu5XwIKXxzJs=;
 b=FkHmhla452ZOjqYybjwON6n3FcZJ+Vp7c9DHKt+wLDTfbpNG1oEXbLQDfHZ7VXtAV6JZGMJMJ4oIP5mMVgNlpgyKh+5KZnnxnbEaUpMKwez3itSQcJwGbS893SjckM+JU7RSRJtLahJVWWYhV+Bfnd+aNwPkeynjNFpAlR3HldpsdsqLf9/Hbm1OixZmTqcbN+9fi/hgoP/KdR/W4PctLIODiY304G4ySMj27DFfxu6cmfoYt9D1xKK76hTKyEUOVmPq763AgBuau7ayP2uQ1rM24LE2qA2wut0/vfhGuyexycgP4cTV7l2I/ybQEHRKbeEhTVjOqKKD0ym6VuHRrQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a5649355-e441-0de0-0189-c7ec5863ede6@suse.com>
Date: Tue, 8 Aug 2023 14:12:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xen/IOMMU: Switch bool_t to bool
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <stefano@stabellini.net>
References: <20230807165830.6719-1-andrew.cooper3@citrix.com>
 <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
 <b2551bf8-06de-c098-77e8-ed1a01ef6319@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b2551bf8-06de-c098-77e8-ed1a01ef6319@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9246:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c24a097-6e9a-479b-ec32-08db9808b35b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	62up28BMCp5CJ646YvRL2N3dhdJL6b2hWnQ3cZLEkUd/VBVIFJYZ0v7KV0vernDza342aynQljw2/+VMfR+qCzeXySMtLSEhspB0TSz0+dbicAnEfDULzlCw0H8MMF43g2oDkIOyS0h4FSelBnD0lCmMCa9HYsWxUXz/fP/tIZY/SRGd1+TltYsmhIJTKE9CHZAvsmBnlfYrDANws8UFZ4Bs+rSb2Me+XTq0JCEGfp8edopsNRjKOGhSFLgAX+iuXTVtvF19UvBN6FBVY8E0b/0GT+KSM5uWKWgAiG3U0siFpsDn17IRBOQpou0xAPyoqGTCMJh97kdlO/1iUq++GlUZOvJhM8a1X9CNpmHaVImashSKzT/hbt3JyMbLEFxo/FudWpQgQBxfgQhWddkgrU2aQQJE7FdwWul3askJsahx1GiYGmtXeQGDe2MayGjuLDkbadq4DvCGizGV+coU6w/eohbYZV3iqNYfVO94fAcFdlOPfyjZkbgtWFrVt/RrIC1SDpxiB7vaS+neUNkE4LkdWreOYEK+JoMM/GE99ztVDg+xyyNFj2xHy6azC+RtyySHcMfgSP8heBiHjHwKW1aG0MwRxPSO8VvYrRgtfjfkDlvxj9hJff+rPoZWXGzvIcAUmYAF2vag7Js/n0Npzg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(346002)(396003)(39860400002)(366004)(1800799003)(186006)(451199021)(6512007)(26005)(6506007)(53546011)(66899021)(36756003)(54906003)(38100700002)(5660300002)(86362001)(2906002)(4326008)(66476007)(66946007)(8676002)(316002)(6916009)(66556008)(8936002)(41300700001)(31696002)(6666004)(6486002)(31686004)(478600001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmQ1d2Y5Z3hQZXdtWTdmajQrM3BQNDlKSjFWd1BwclhoMWVlWERua0hIWDha?=
 =?utf-8?B?NFA2eUt4VWtvZDVLSmVQbmFrVTdCc091Q1NDbEh3WU0xTlljaCtXandqamRB?=
 =?utf-8?B?TGlEUDZiclRQTEc1UGt5eS9HY3ZQMXpEQzB4M1k0eVkrZnhUR1dWN1NwMWZJ?=
 =?utf-8?B?WDRlVmYwRVJ5VlVJS01xWHlIUzhHOEN5TDBuTEZ2QklCVFNyNWtrNjlKM1U1?=
 =?utf-8?B?cDMzWS9NTmJWRkNRL1ZvSlhTNmdTTHBQaGxTaTFEQlA2NXZoNzdYZlMwaERt?=
 =?utf-8?B?UC9XMXJQalJZbGVWS2diTEJWbTQ3dE5jZ1ZhZjJmODgyOWk1Z1FqdWN1LzV5?=
 =?utf-8?B?Q3d4cnBKdmYrcjZpRXkyRnNseDBGYXlXYlNCUkF1Q2dFbXNZV0RXS3BNZnBN?=
 =?utf-8?B?OUhUeUJkd1ZBcTJWNkRPTEhTaVVVbHB4VkJSYjNnckpBa2M4K2Y1czZwMWRS?=
 =?utf-8?B?aFJrMHZ2S3laalh6Y0ZqazFjeEQ3aXlJWkNGWHpkb1lUTXV5TG1JTkNWTjgv?=
 =?utf-8?B?S0tPQmEwOE8yUFNCUFFIYmZxd1N6emw0Rnhtd3pNZHJQUDNaWUdGWTRvQTFN?=
 =?utf-8?B?WmdjbU5xaExxUUg4ZVU4dEoyS2ExZTFSSWJoei85NTNaNlk2MkZFUGxOOGdP?=
 =?utf-8?B?cXBYd1VNc1JmcnVaenV3QURqTS9KWjY2WmIyT3duVHpJeXovUmRod2RMSUlj?=
 =?utf-8?B?amNaQ2EyQW5yelppQnZkd1NLQUFzTUhFS2wwUFM2WXhtSnZxNFZpRG1taEIr?=
 =?utf-8?B?c09QVjVKWk96b0Q3TjhhZzFaRkdXZDR2QVp5dFN3RXhNMXBNWW9NbWR0Rk9J?=
 =?utf-8?B?ZEF3bUwyS2YxZU93Nmd1ZHVRdXJnTW1qVW1DWFNNVlZFV3dXQ1RyWHNFRDd4?=
 =?utf-8?B?Y0IzeUpzaXJQbzJ6OGI5OEZVeEthVEtMOTB2bWdMYlhJRXd1b2o3aU9WbllD?=
 =?utf-8?B?VE9Vb0hyT1NXa1VONGphOHBDQTNVSWtzMXlIM1M0MVJyWVUva0NYSXFSeDN2?=
 =?utf-8?B?OHV0OFZpTlR6YnV4bXVQK3NIU3dlOURkNTdwaGU1K0E1M09BRGxRaTc1SG9L?=
 =?utf-8?B?Q25DcUY0bmdVTXg4eWNyekZPNEpLcW9oc3pFMC9EaGpmNWEvM2ZhMWszQ1RN?=
 =?utf-8?B?aWlST2JqeExBRVRNYXlQdlpKVWw2Y3o3aGN4ZVg4L0JhbUt5V0pwckFmNlhp?=
 =?utf-8?B?Sys1WlhvcDNpSjNrMnU5RW1yNFRjMGZGb0hLSE9WcTA4MlNwRm9ucElDblJp?=
 =?utf-8?B?cUtlbVRZSWRORlp3SXpaYjB5YWRZVllnNmtEaXI5NFFvMHpzU0pnU1paMGVI?=
 =?utf-8?B?YkIvT2JKa29HUk5lU0pacmw1a3JaK1kxMjJrakJSamdJeW1vbzdvaUxTVVRB?=
 =?utf-8?B?L2xQV3pkOVM0WDRnL3I5WVJOb24raUJya05RN29xa0tTVm83dnFjWHk4cDlO?=
 =?utf-8?B?RlQvaFA0WE92QUdSUFBSUFVmSlY1NjBaMFNUMDNSRWlJK21OajNwcTQwVVZU?=
 =?utf-8?B?NnFrNWxJNWZqLzhmTWx3anc2SlIrTmNSWjFNWnVBcFhhaWF1cGt5YVIvbm9K?=
 =?utf-8?B?eUhpajdBdzQ4Ky81azRmcnZsbGJEblpReXZGQ1JkcUNBNHRneTdVWDBhMnl2?=
 =?utf-8?B?TzR2d211aGoxZDBnZkJlQnEzZWJsZi8vSlM3VnkxeEtEc05VdWprNWJGM0Nz?=
 =?utf-8?B?a29iQXhhQ1krbitMYTc4RUFBanZiRHJaRjk3aUVkOEtlOXF6RElHcExqcjVx?=
 =?utf-8?B?bWlWWEtPemlJMXJCRzlUT0ttN3hBSjN1ay92dzRVYkRyYkdkUExrRmNhNE93?=
 =?utf-8?B?NHFhbVBaMHBzc1Y2MTJCcWVHTStBRkRodC9FMWx4bE5xUFlRVU1CSWtZbW5L?=
 =?utf-8?B?ZjM4U3A4NTVUR3FPN2xBaDQwckFBaFhrQkpKR3RIck95RldkenpaY0Z3aHMz?=
 =?utf-8?B?QnQ5bkRvdWh0RjA2aVRJVnZMWVdrMHAyKzdYVzROZnN6THc3ZjNNQktFbDdJ?=
 =?utf-8?B?cFRVODRQV0FmTDFzdFpRdkV3aEJ1MnU5a2NMZE9DeU5lRmhrZTFOaXdDU0N1?=
 =?utf-8?B?NWNZd0N0MU5oMFczQlZkanNSTnl5aVFDNmNPbjV6M1NXTUp3cjZMa0JTbSth?=
 =?utf-8?Q?aRSNhvOie3h1qq7eG8EowjgOs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c24a097-6e9a-479b-ec32-08db9808b35b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 12:12:14.0595
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AfIasFnb4WNoQafjEXymlIlpnZ+j23nKUTOI5h3Eadd1FWpMjnBkRs+FsNp6IEhjg4ny87v1/r0TFxKGuMlW/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9246

On 08.08.2023 14:06, Andrew Cooper wrote:
> On 08/08/2023 8:54 am, Jan Beulich wrote:
>> On 07.08.2023 18:58, Andrew Cooper wrote:
>>> ... as part of cleaning up the types used.  Minor style cleanup on some
>>> altered lines.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>>> ---
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
>>> CC: Wei Liu <wl@xen.org>
>>> ---
>>>  xen/drivers/passthrough/amd/iommu.h         |  4 ++--
>>>  xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
>>>  xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
>>>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
>>>  xen/drivers/passthrough/ats.c               |  2 +-
>>>  xen/drivers/passthrough/ats.h               |  2 +-
>>>  xen/drivers/passthrough/device_tree.c       |  4 ++--
>> This will want a DEVICE TREE ack; Cc-ing respective maintainers here
>> (and therefore preserving full context).
>>
>>>  xen/drivers/passthrough/iommu.c             |  8 ++++----
>>>  xen/drivers/passthrough/pci.c               | 16 ++++++++--------
>> For these and ats.? you would also have wanted to Cc Paul.
> 
> This very much qualifies as tree-wide.

Certainly. Question is what follows from this. In Prague we discussed
whether to weaken the required-acks model, and if I'm not mistaken we
said we'd first try whether we can't really get chasing acks to work
(i.e. for people to respond in a timely fashion, ideally not really
requiring any "chasing").

That said, it certainly remains up to you whether to wait of whether
to commit. Yet even if already at submission time you know you're not
going to wait, I think relevant maintainers should still be Cc-ed.

> In fact, it was the only decently-sized chunk I could pull out of the
> pair of patches, one for common and one for x86.

Right, and I was actually (positively) surprised you sent a smaller
granularity patch here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:23:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579748.907856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk1-00057s-Ti; Tue, 08 Aug 2023 12:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579748.907856; Tue, 08 Aug 2023 12:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk1-00057l-Os; Tue, 08 Aug 2023 12:23:13 +0000
Received: by outflank-mailman (input) for mailman id 579748;
 Tue, 08 Aug 2023 12:23: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTLk0-0004sp-S1
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:23:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56056ff7-35e6-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 14:23:10 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id DA9164EE0737;
 Tue,  8 Aug 2023 14:23: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: 56056ff7-35e6-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v3 0/2] x86: address MISRA C:2012 Rule 5.3 and 8.3
Date: Tue,  8 Aug 2023 14:22:49 +0200
Message-Id: <cover.1691488505.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series is the part of series [1] that needed further adjustments. The first
two patches of that series are already committed.
The changes in this version are detailed in the individual commit messages.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00492.html

Nicola Vetrini (2):
  x86/vmsi: rename variables to address MISRA C:2012 Rule 5.3
  x86/setup: address MISRA C:2012 Rule 5.3 and 8.3

 xen/arch/x86/hvm/vmsi.c          | 46 ++++++++++++++++----------------
 xen/arch/x86/include/asm/setup.h |  2 +-
 xen/arch/x86/setup.c             |  3 +--
 3 files changed, 25 insertions(+), 26 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:23:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579749.907865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk3-0005N1-2y; Tue, 08 Aug 2023 12:23:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579749.907865; Tue, 08 Aug 2023 12:23:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk3-0005Mt-0B; Tue, 08 Aug 2023 12:23:15 +0000
Received: by outflank-mailman (input) for mailman id 579749;
 Tue, 08 Aug 2023 12:23: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTLk1-0004sp-HW
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:23:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56e016a6-35e6-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 14:23:11 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 649EF4EE0741;
 Tue,  8 Aug 2023 14:23: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: 56e016a6-35e6-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v3 2/2] x86/setup: address MISRA C:2012 Rule 5.3 and 8.3
Date: Tue,  8 Aug 2023 14:22:51 +0200
Message-Id: <05ff36ef9e1838ac782201998f49f6f56f78332a.1691488505.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691488505.git.nicola.vetrini@bugseng.com>
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The parameters in the function declaration 'construct_dom0' violate
Rule 8.3:
"All declarations of an object or function shall use the same names
and type qualifiers", but also cause shadowing inside the declaration
scope with the variable "static struct file __initdata kernel;" in
'xen/common/efi/boot.c'. Renaming the parameters in the declaration
resolves both issues

The local variable 'mask' is removed because it shadows the homonymous
variable defined in an outer scope. There's no change to the semantics since
the last use of this variable is in the scope touched by this commit.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Clarified commit message

As mentioned in the preivious iteration's thread:
the declaration itself is a scope and shadowing can happen, as in:

int x;
void f(int x, int arr[x]);

Now, the example is a bit contrived, but the fact that the rule does not list any
exception motivates the declaration of 'construct_dom0' being considered a
violation.
---
 xen/arch/x86/include/asm/setup.h | 2 +-
 xen/arch/x86/setup.c             | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 51fce66607..b0e6a39e23 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -33,7 +33,7 @@ static inline void vesa_init(void) {};
 
 int construct_dom0(
     struct domain *d,
-    const module_t *kernel, unsigned long kernel_headroom,
+    const module_t *image, unsigned long image_headroom,
     module_t *initrd,
     const char *cmdline);
 void setup_io_bitmap(struct domain *d);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2dbe9857aa..80ae973d64 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1577,8 +1577,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         s = map_s;
         if ( s < map_e )
         {
-            uint64_t mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
-
+            mask = (1UL << L2_PAGETABLE_SHIFT) - 1;
             map_s = (s + mask) & ~mask;
             map_e &= ~mask;
             init_boot_pages(map_s, map_e);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:23:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:23:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579747.907844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk0-0004sx-LA; Tue, 08 Aug 2023 12:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579747.907844; Tue, 08 Aug 2023 12:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLk0-0004sq-IL; Tue, 08 Aug 2023 12:23:12 +0000
Received: by outflank-mailman (input) for mailman id 579747;
 Tue, 08 Aug 2023 12:23: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTLjz-0004sj-ML
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:23:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 566fc8bb-35e6-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 14:23:10 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A4AE04EE0740;
 Tue,  8 Aug 2023 14:23:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 566fc8bb-35e6-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v3 1/2] x86/vmsi: rename variables to address MISRA C:2012 Rule 5.3
Date: Tue,  8 Aug 2023 14:22:50 +0200
Message-Id: <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691488505.git.nicola.vetrini@bugseng.com>
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The local variables 'irq_desc' shadow the homonymous global variable,
declared in 'xen/arch/x86/include/asm/irq.h', therefore they are renamed
'irqd' for consistency with ARM code. Other variables of the same type
in the file are also renamed 'irqd' for consistency.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Renamed the local variables instead of the global.
- Edited subject from x86/irq to x86/vmsi

Renaming everything to 'desc' would have been the most obvious choice,
but given that there's also 'msi_desc' used in the same functions, 'irqd'
is less error-prone in my opinion.
---
 xen/arch/x86/hvm/vmsi.c | 46 ++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 3cd4923060..55d5e26a04 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -281,7 +281,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     unsigned int nr_entry, index;
     int r = X86EMUL_UNHANDLEABLE;
     unsigned long flags;
-    struct irq_desc *desc;
+    struct irq_desc *irqd;
 
     if ( (len != 4 && len != 8) || (address & (len - 1)) )
         return r;
@@ -330,21 +330,21 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     if ( !msi_desc || msi_desc->irq < 0 )
         goto out;
     
-    desc = irq_to_desc(msi_desc->irq);
-    if ( !desc )
+    irqd = irq_to_desc(msi_desc->irq);
+    if ( !irqd )
         goto out;
 
-    spin_lock_irqsave(&desc->lock, flags);
+    spin_lock_irqsave(&irqd->lock, flags);
 
-    if ( !desc->msi_desc )
+    if ( !irqd->msi_desc )
         goto unlock;
 
-    ASSERT(msi_desc == desc->msi_desc);
+    ASSERT(msi_desc == irqd->msi_desc);
    
-    guest_mask_msi_irq(desc, !!(val & PCI_MSIX_VECTOR_BITMASK));
+    guest_mask_msi_irq(irqd, !!(val & PCI_MSIX_VECTOR_BITMASK));
 
 unlock:
-    spin_unlock_irqrestore(&desc->lock, flags);
+    spin_unlock_irqrestore(&irqd->lock, flags);
     if ( len == 4 )
         r = X86EMUL_OKAY;
 
@@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct msixtbl_entry *entry)
 
 int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 {
-    struct irq_desc *irq_desc;
+    struct irq_desc *irqd;
     struct msi_desc *msi_desc;
     struct pci_dev *pdev;
     struct msixtbl_entry *entry, *new_entry;
@@ -482,14 +482,14 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
     if ( !new_entry )
         return -ENOMEM;
 
-    irq_desc = pirq_spin_lock_irq_desc(pirq, NULL);
-    if ( !irq_desc )
+    irqd = pirq_spin_lock_irq_desc(pirq, NULL);
+    if ( !irqd )
     {
         xfree(new_entry);
         return r;
     }
 
-    msi_desc = irq_desc->msi_desc;
+    msi_desc = irqd->msi_desc;
     if ( !msi_desc )
         goto out;
 
@@ -508,7 +508,7 @@ found:
     r = 0;
 
 out:
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
     xfree(new_entry);
 
     if ( !r )
@@ -533,7 +533,7 @@ out:
 
 void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
 {
-    struct irq_desc *irq_desc;
+    struct irq_desc *irqd;
     struct msi_desc *msi_desc;
     struct pci_dev *pdev;
     struct msixtbl_entry *entry;
@@ -544,11 +544,11 @@ void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
     if ( !msixtbl_initialised(d) )
         return;
 
-    irq_desc = pirq_spin_lock_irq_desc(pirq, NULL);
-    if ( !irq_desc )
+    irqd = pirq_spin_lock_irq_desc(pirq, NULL);
+    if ( !irqd )
         return;
 
-    msi_desc = irq_desc->msi_desc;
+    msi_desc = irqd->msi_desc;
     if ( !msi_desc )
         goto out;
 
@@ -559,14 +559,14 @@ void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
             goto found;
 
 out:
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
     return;
 
 found:
     if ( !atomic_dec_and_test(&entry->refcnt) )
         del_msixtbl_entry(entry);
 
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
 }
 
 void msixtbl_init(struct domain *d)
@@ -664,12 +664,12 @@ static unsigned int msi_gflags(uint16_t data, uint64_t addr, bool masked)
 static void vpci_mask_pirq(struct domain *d, int pirq, bool mask)
 {
     unsigned long flags;
-    struct irq_desc *desc = domain_spin_lock_irq_desc(d, pirq, &flags);
+    struct irq_desc *irqd = domain_spin_lock_irq_desc(d, pirq, &flags);
 
-    if ( !desc )
+    if ( !irqd )
         return;
-    guest_mask_msi_irq(desc, mask);
-    spin_unlock_irqrestore(&desc->lock, flags);
+    guest_mask_msi_irq(irqd, mask);
+    spin_unlock_irqrestore(&irqd->lock, flags);
 }
 
 void vpci_msi_arch_mask(struct vpci_msi *msi, const struct pci_dev *pdev,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579765.907874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLlC-0006TK-E2; Tue, 08 Aug 2023 12:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579765.907874; Tue, 08 Aug 2023 12:24:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLlC-0006TB-BV; Tue, 08 Aug 2023 12:24:26 +0000
Received: by outflank-mailman (input) for mailman id 579765;
 Tue, 08 Aug 2023 12:24: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 1qTLlB-0006T1-6d
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:24: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 1qTLl9-0003K6-Qy; Tue, 08 Aug 2023 12:24:23 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[192.168.31.116]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTLl9-0000yI-HG; Tue, 08 Aug 2023 12:24:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=39kcSSHBhdyZ37w3Fi441KnjRHvlOsxLqca8Jjs7ZZo=; b=isdET1bEgHpNW/xFEDA6nxcfUp
	ZEraDiksFsW4ESff4QX5+SHiSHVykw3kYX6HBu900jVG1QyiLEcRmSl4KIC8FfQeVrU1rDfsJapjs
	KkO9v0cziTvKCj64RHnpTqPhCepBP5ljyaCelL12OnZ7114WW1+qj67un7McujN2oIbY=;
Message-ID: <9fc81ba0-ca27-425c-84b6-90d767022086@xen.org>
Date: Tue, 8 Aug 2023 13:24:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/IOMMU: Switch bool_t to bool
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <stefano@stabellini.net>
References: <20230807165830.6719-1-andrew.cooper3@citrix.com>
 <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 08/08/2023 08:54, Jan Beulich wrote:
> On 07.08.2023 18:58, Andrew Cooper wrote:
>> ... as part of cleaning up the types used.  Minor style cleanup on some
>> altered lines.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> ---
>>   xen/drivers/passthrough/amd/iommu.h         |  4 ++--
>>   xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
>>   xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
>>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
>>   xen/drivers/passthrough/ats.c               |  2 +-
>>   xen/drivers/passthrough/ats.h               |  2 +-
>>   xen/drivers/passthrough/device_tree.c       |  4 ++--
> 
> This will want a DEVICE TREE ack; Cc-ing respective maintainers here
> (and therefore preserving full context).

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 12:28:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 12:28:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579774.907885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLpH-0007Ab-Uq; Tue, 08 Aug 2023 12:28:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579774.907885; Tue, 08 Aug 2023 12:28:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTLpH-0007AU-S5; Tue, 08 Aug 2023 12:28:39 +0000
Received: by outflank-mailman (input) for mailman id 579774;
 Tue, 08 Aug 2023 12:28: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 1qTLpG-0007AO-Ai
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 12:28: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 1qTLpE-0003NM-E6; Tue, 08 Aug 2023 12:28:36 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[192.168.31.116]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTLpE-00013Q-7d; Tue, 08 Aug 2023 12:28:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=EYaOroeVFlJM9DpgQl2/n4FQhpOoYKJb12BcVk4ofpU=; b=nioaxZiF7EzxSXQLk7D4M6Qv6b
	rnUMLD6UzwqC36spkmCoIrXEWPtfJU1dB0KLEJr2paS1JhcLM5wjSeX/zIOecC7uxj/QN+vg2jrMo
	0V/5aXmy54ayPr/gdLuo2eiyKL7TJGiz2pZwkOhpHn5xwVP8qgs3RRO5RPHQEODl9PzM=;
Message-ID: <2c9ec464-954a-4404-973d-4d7b6ab7be54@xen.org>
Date: Tue, 8 Aug 2023 13:28:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/IOMMU: Switch bool_t to bool
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <stefano@stabellini.net>
References: <20230807165830.6719-1-andrew.cooper3@citrix.com>
 <504749e9-1782-f031-e015-d36c538e80cc@suse.com>
 <b2551bf8-06de-c098-77e8-ed1a01ef6319@citrix.com>
 <a5649355-e441-0de0-0189-c7ec5863ede6@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a5649355-e441-0de0-0189-c7ec5863ede6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 08/08/2023 13:12, Jan Beulich wrote:
> On 08.08.2023 14:06, Andrew Cooper wrote:
>> On 08/08/2023 8:54 am, Jan Beulich wrote:
>>> On 07.08.2023 18:58, Andrew Cooper wrote:
>>>> ... as part of cleaning up the types used.  Minor style cleanup on some
>>>> altered lines.
>>>>
>>>> No functional change.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>
>>>> ---
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
>>>> CC: Wei Liu <wl@xen.org>
>>>> ---
>>>>   xen/drivers/passthrough/amd/iommu.h         |  4 ++--
>>>>   xen/drivers/passthrough/amd/iommu_acpi.c    |  6 +++---
>>>>   xen/drivers/passthrough/amd/iommu_init.c    |  6 +++---
>>>>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  2 +-
>>>>   xen/drivers/passthrough/ats.c               |  2 +-
>>>>   xen/drivers/passthrough/ats.h               |  2 +-
>>>>   xen/drivers/passthrough/device_tree.c       |  4 ++--
>>> This will want a DEVICE TREE ack; Cc-ing respective maintainers here
>>> (and therefore preserving full context).
>>>
>>>>   xen/drivers/passthrough/iommu.c             |  8 ++++----
>>>>   xen/drivers/passthrough/pci.c               | 16 ++++++++--------
>>> For these and ats.? you would also have wanted to Cc Paul.
>>
>> This very much qualifies as tree-wide.
> 
> Certainly. Question is what follows from this. In Prague we discussed
> whether to weaken the required-acks model, and if I'm not mistaken we
> said we'd first try whether we can't really get chasing acks to work
> (i.e. for people to respond in a timely fashion, ideally not really
> requiring any "chasing").
> 
> That said, it certainly remains up to you whether to wait of whether
> to commit. Yet even if already at submission time you know you're not
> going to wait, I think relevant maintainers should still be Cc-ed.

+1. Nowadays, it is also not very difficult to CC the relevant 
maintainers. scripts/add_maintainers.pl will add all of them 
automatically for you.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579784.907925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMF-00043N-DB; Tue, 08 Aug 2023 13:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579784.907925; Tue, 08 Aug 2023 13:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMF-00043G-9I; Tue, 08 Aug 2023 13:02:43 +0000
Received: by outflank-mailman (input) for mailman id 579784;
 Tue, 08 Aug 2023 13:02:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMMD-0003KL-8i
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:02:41 +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 db1c4a94-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:02:40 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-3fbea14700bso48055405e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:02:40 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y15-20020a5d4acf000000b003144b50034esm13567072wrs.110.2023.08.08.06.02.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:02:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db1c4a94-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499760; x=1692104560;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CLKiL/jNslxYi/QSWYQzg3uu6el6+QZP5XsqGeRNlAs=;
        b=Yk2dU9B70C6NTd0q+fmYujVQUDxUzjoJ1Ysp42lk4W37mG7tb3DKPXw/RhRga+2oRR
         M/kOXQzc5+oJVn6ptI/aUS9kSvCrV0rxeKDHsjAyrb8/4pnJY27YeCCAS5399PRQeBIY
         BWMKM/aK7koR6IvEahvAw0xLiWNgi/Wr4WqYc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499760; x=1692104560;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CLKiL/jNslxYi/QSWYQzg3uu6el6+QZP5XsqGeRNlAs=;
        b=ZGrpmHoJwna1rb1N1Ea0s8BxA2L8UUjuv7e6x2BgP0jKCLQmoTEu2qe2o0SlYIQ8W4
         lXFL4504GWdn79DJcOFZ09aBCOZ3ztNvY4wgynDdsLC8ADe4aYtW03ZGZkphtQZJaUwI
         t5X5vp2nqoiDwegiqN7UpqR3CjQIAS4qSyiOIsVAGIpZny5aWWGD6aJ5MX6vnv1P3Ufd
         gwckdetsMDG3fWfoDBEjZBVqKESZLWTfEEPpyaIJhRdiK63D3utrSdF25XvMPy7CqJRb
         zsXQ98lCpCakR6awF61ugD6W3orPIRdAPLRl4Ilxsm8wgsI3XqO43NDPJpCv4jcNO2LN
         lbPA==
X-Gm-Message-State: AOJu0YzsViNU8HhyhmkVUmN4p/LOfTbaa0VC/beB3nSMYZpB8RjVMKZ2
	k7G8xfwq5DtaLE60qcHosdEKF4cy0HP9TJg8Ttw=
X-Google-Smtp-Source: AGHT+IGaM6+/0iPdaGeT67glHUk1CVKgmWsCdOnkmwkJfkQWD8hDRBMP6LVD/yt05UNn/y/OWrxcyA==
X-Received: by 2002:a1c:7708:0:b0:3fe:108d:7f88 with SMTP id t8-20020a1c7708000000b003fe108d7f88mr7998422wmi.36.1691499759914;
        Tue, 08 Aug 2023 06:02:39 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 4/4] pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
Date: Tue,  8 Aug 2023 14:02:20 +0100
Message-Id: <20230808130220.27891-5-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds a new compile-time flag to allow disabling pdx compression and
compiles out compression-related code/data. It also shorts the pdx<->pfn
conversion macros and creates stubs for masking fucntions.

While at it, removes the old arch-defined CONFIG_HAS_PDX flag, as it was
not removable in practice.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v3:
  * Fixed a typo in Kconfig's help
  * Gated CONFIG_PDX_COMPRESSION under EXPERT=y and left default=ARM
  * Fixed commit message after renaming CONFIG_PDX_COMPRESSION (Julien)
  * Changed #else comment to the reason it executes (Julien)
  * Various blank-line related style changes (Jan)
---
 xen/arch/arm/Kconfig  |  1 -
 xen/arch/x86/Kconfig  |  1 -
 xen/arch/x86/domain.c | 19 +++++++++++++------
 xen/common/Kconfig    | 13 ++++++++++---
 xen/common/Makefile   |  2 +-
 xen/common/pdx.c      | 16 ++++++++++++----
 xen/include/xen/pdx.h | 38 +++++++++++++++++++++++++++++++++++---
 7 files changed, 71 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 57bd1d01d7..224db89c05 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -14,7 +14,6 @@ config ARM
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
-	select HAS_PDX
 	select HAS_PMAP
 	select HAS_UBSAN
 	select IOMMU_FORCE_PT_SHARE
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 92f3a627da..30df085d96 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -24,7 +24,6 @@ config X86
 	select HAS_PASSTHROUGH
 	select HAS_PCI
 	select HAS_PCI_MSI
-	select HAS_PDX
 	select HAS_SCHED_GRANULARITY
 	select HAS_UBSAN
 	select HAS_VPCI if HVM
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index fe86a7f853..f476df17e4 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -458,7 +458,7 @@ void domain_cpu_policy_changed(struct domain *d)
     }
 }
 
-#ifndef CONFIG_BIGMEM
+#if !defined(CONFIG_BIGMEM) && defined(CONFIG_PDX_COMPRESSION)
 /*
  * The hole may be at or above the 44-bit boundary, so we need to determine
  * the total bit count until reaching 32 significant (not squashed out) bits
@@ -485,13 +485,20 @@ static unsigned int __init noinline _domain_struct_bits(void)
 struct domain *alloc_domain_struct(void)
 {
     struct domain *d;
-#ifdef CONFIG_BIGMEM
-    const unsigned int bits = 0;
-#else
+
     /*
-     * We pack the PDX of the domain structure into a 32-bit field within
-     * the page_info structure. Hence the MEMF_bits() restriction.
+     * Without CONFIG_BIGMEM, we pack the PDX of the domain structure into
+     * a 32-bit field within the page_info structure. Hence the MEMF_bits()
+     * restriction. With PDX compression in place the number of bits must
+     * be calculated at runtime, but it's fixed otherwise.
+     *
+     * On systems with CONFIG_BIGMEM there's no packing, and so there's no
+     * such restriction.
      */
+#if defined(CONFIG_BIGMEM) || !defined(CONFIG_PDX_COMPRESSION)
+    const unsigned int bits = IS_ENABLED(CONFIG_BIGMEM) ? 0 :
+                                                          32 + PAGE_SHIFT;
+#else
     static unsigned int __read_mostly bits;
 
     if ( unlikely(!bits) )
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0d248ab941..2c1d1fc3a2 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -23,6 +23,16 @@ config GRANT_TABLE
 
 	  If unsure, say Y.
 
+config PDX_COMPRESSION
+	bool "PDX (Page inDeX) compression support" if EXPERT
+	default ARM
+	help
+	  PDX compression is a technique that allows the hypervisor to
+	  represent physical addresses in a very space-efficient manner.
+	  This is very helpful reducing memory wastage in systems with
+	  memory banks with base addresses far from each other, but carries
+	  a performance cost.
+
 config ALTERNATIVE_CALL
 	bool
 
@@ -53,9 +63,6 @@ config HAS_IOPORTS
 config HAS_KEXEC
 	bool
 
-config HAS_PDX
-	bool
-
 config HAS_PMAP
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..0020cafb8a 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -29,7 +29,7 @@ obj-y += multicall.o
 obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
-obj-$(CONFIG_HAS_PDX) += pdx.o
+obj-y += pdx.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
 obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
 obj-y += preempt.o
diff --git a/xen/common/pdx.c b/xen/common/pdx.c
index d3d38965bd..d3d63b0750 100644
--- a/xen/common/pdx.c
+++ b/xen/common/pdx.c
@@ -31,11 +31,16 @@ unsigned long __read_mostly pdx_group_valid[BITS_TO_LONGS(
 
 bool __mfn_valid(unsigned long mfn)
 {
-    if ( unlikely(evaluate_nospec(mfn >= max_page)) )
+    bool invalid = mfn >= max_page;
+
+#ifdef CONFIG_PDX_COMPRESSION
+    invalid |= mfn & pfn_hole_mask;
+#endif
+
+    if ( unlikely(evaluate_nospec(invalid)) )
         return false;
-    return likely(!(mfn & pfn_hole_mask)) &&
-           likely(test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT,
-                           pdx_group_valid));
+
+    return test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT, pdx_group_valid);
 }
 
 void set_pdx_range(unsigned long smfn, unsigned long emfn)
@@ -49,6 +54,8 @@ void set_pdx_range(unsigned long smfn, unsigned long emfn)
         __set_bit(idx, pdx_group_valid);
 }
 
+#ifdef CONFIG_PDX_COMPRESSION
+
 /*
  * Diagram to make sense of the following variables. The masks and shifts
  * are done on mfn values in order to convert to/from pdx:
@@ -176,6 +183,7 @@ void __init pfn_pdx_hole_setup(unsigned long mask)
     ma_top_mask         = pfn_top_mask << PAGE_SHIFT;
 }
 
+#endif /* CONFIG_PDX_COMPRESSION */
 
 /*
  * Local variables:
diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
index b5367a33ca..6511aba6c7 100644
--- a/xen/include/xen/pdx.h
+++ b/xen/include/xen/pdx.h
@@ -67,8 +67,6 @@
  * region involved.
  */
 
-#ifdef CONFIG_HAS_PDX
-
 extern unsigned long max_pdx;
 
 #define PDX_GROUP_COUNT ((1 << PDX_GROUP_SHIFT) / \
@@ -100,6 +98,8 @@ bool __mfn_valid(unsigned long mfn);
 #define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
 #define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
 
+#ifdef CONFIG_PDX_COMPRESSION
+
 extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask;
 extern unsigned int pfn_pdx_hole_shift;
 extern unsigned long pfn_hole_mask;
@@ -206,7 +206,39 @@ static inline paddr_t directmapoff_to_maddr(unsigned long offset)
  */
 void pfn_pdx_hole_setup(unsigned long mask);
 
-#endif /* HAS_PDX */
+#else /* !CONFIG_PDX_COMPRESSION */
+
+/* Without PDX compression we can skip some computations */
+
+/* pdx<->pfn == identity */
+#define pdx_to_pfn(x) (x)
+#define pfn_to_pdx(x) (x)
+
+/* directmap is indexed by by maddr */
+#define maddr_to_directmapoff(x) (x)
+#define directmapoff_to_maddr(x) (x)
+
+static inline bool pdx_is_region_compressible(unsigned long smfn,
+                                              unsigned long emfn)
+{
+    return true;
+}
+
+static inline uint64_t pdx_init_mask(uint64_t base_addr)
+{
+    return 0;
+}
+
+static inline uint64_t pdx_region_mask(uint64_t base, uint64_t len)
+{
+    return 0;
+}
+
+static inline void pfn_pdx_hole_setup(unsigned long mask)
+{
+}
+
+#endif /* CONFIG_PDX_COMPRESSION */
 #endif /* __XEN_PDX_H__ */
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579782.907901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMC-0003NJ-UN; Tue, 08 Aug 2023 13:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579782.907901; Tue, 08 Aug 2023 13:02:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMC-0003Mw-P0; Tue, 08 Aug 2023 13:02:40 +0000
Received: by outflank-mailman (input) for mailman id 579782;
 Tue, 08 Aug 2023 13:02: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMMB-0003KL-QL
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:02:39 +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 d9aac536-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:02:38 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-3fe2fb9b4d7so47794765e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:02:38 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y15-20020a5d4acf000000b003144b50034esm13567072wrs.110.2023.08.08.06.02.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:02:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9aac536-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499757; x=1692104557;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I6QBQAGjY2r360IlHRoBLqtdiryrX7RiFTTDs7pUf/s=;
        b=lc7bZs3dOMd6Nfz9ANn2pPGoZX0osgPGShUy6l6kN2Yq6Z/ZJoMOqVnmGyLsy4hCDL
         B6MG6+iJjZKS9NaWVbpqrgb28AwKQWOzmdYsoFhSiStk+8R0UMs9djSaBGjN14+qhMkn
         GX+CpclGLCSR4GndhJCA93ewSmAEiGEuTp4Bw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499757; x=1692104557;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I6QBQAGjY2r360IlHRoBLqtdiryrX7RiFTTDs7pUf/s=;
        b=Yb1k6OWU82S00uPKZ4rgat0tUsRvZpsKHzVjIiKtxa7xZPVJmphXX/22nySLtP1+7f
         WZ28LVfgDeRAgardKIUWunMoMHHYkr9/SEjz+9OC8RjRl9TcAWFsW3+gNSf0PrKQYDWj
         I7o+RIon4WnsnMwQgcp9lhB5oy1EUyCWqqOteyUJOzK1FSLNrXj9oj+ru9Tvo0LXDPPx
         5uknn9KWyhQcr7JTB1Jr7BHAxsbi/Ud1YzD3B7eyeF0BcOZK2j487yl9ERlRn85LpyAR
         c3YX6ZpH/JEOE6WSO900Pch5TIy/2igOM5lTXUS2PQgTftjPzANd9RYDYSFmP3sAhZMn
         4LhQ==
X-Gm-Message-State: AOJu0YxawKebhctvo702AlRnN+iGnv9EdEqKOqZN8qjlw2l/WxtTltWw
	CLm6faZrKozZQQ14gq0ki8PQ656/nZNB022A8DE=
X-Google-Smtp-Source: AGHT+IGI4sjkvPq5FlJLChKC03G3IDBfL8r9LDQBa14X9x6e46zkyN+2uB0RKQUmhONKDEg0sakldw==
X-Received: by 2002:adf:ce09:0:b0:317:5caa:c3a3 with SMTP id p9-20020adfce09000000b003175caac3a3mr7489337wrn.40.1691499757343;
        Tue, 08 Aug 2023 06:02:37 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 1/4] mm: Factor out the pdx compression logic in ma/va converters
Date: Tue,  8 Aug 2023 14:02:17 +0100
Message-Id: <20230808130220.27891-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch factors out the pdx compression logic hardcoded in both ports
for the maddr<->vaddr conversion functions.

Touches both x86 and arm ports.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v3:
  * size_t -> unsigned long (Jan)
  * uint64_t -> paddr_t (Jan)
---
 xen/arch/arm/include/asm/mm.h          |  3 +--
 xen/arch/x86/include/asm/x86_64/page.h | 28 +++++++++++---------------
 xen/include/xen/pdx.h                  | 25 +++++++++++++++++++++++
 3 files changed, 38 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 5b530f0f40..c0d7f0f181 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -319,8 +319,7 @@ static inline void *maddr_to_virt(paddr_t ma)
            (DIRECTMAP_SIZE >> PAGE_SHIFT));
     return (void *)(XENHEAP_VIRT_START -
                     (directmap_base_pdx << PAGE_SHIFT) +
-                    ((ma & ma_va_bottom_mask) |
-                     ((ma & ma_top_mask) >> pfn_pdx_hole_shift)));
+                    maddr_to_directmapoff(ma));
 }
 #endif
 
diff --git a/xen/arch/x86/include/asm/x86_64/page.h b/xen/arch/x86/include/asm/x86_64/page.h
index 53faa7875b..e40b451221 100644
--- a/xen/arch/x86/include/asm/x86_64/page.h
+++ b/xen/arch/x86/include/asm/x86_64/page.h
@@ -36,26 +36,22 @@ static inline unsigned long __virt_to_maddr(unsigned long va)
 {
     ASSERT(va < DIRECTMAP_VIRT_END);
     if ( va >= DIRECTMAP_VIRT_START )
-        va -= DIRECTMAP_VIRT_START;
-    else
-    {
-        BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1));
-        /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */
-        ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) ==
-               ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT)));
-
-        va += xen_phys_start - XEN_VIRT_START;
-    }
-    return (va & ma_va_bottom_mask) |
-           ((va << pfn_pdx_hole_shift) & ma_top_mask);
+        return directmapoff_to_maddr(va - DIRECTMAP_VIRT_START);
+
+    BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1));
+    /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */
+    ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) ==
+           ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT)));
+
+    return xen_phys_start + va - XEN_VIRT_START;
 }
 
 static inline void *__maddr_to_virt(unsigned long ma)
 {
-    ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT));
-    return (void *)(DIRECTMAP_VIRT_START +
-                    ((ma & ma_va_bottom_mask) |
-                     ((ma & ma_top_mask) >> pfn_pdx_hole_shift)));
+    /* Offset in the direct map, accounting for pdx compression */
+    unsigned long va_offset = maddr_to_directmapoff(ma);
+    ASSERT(va_offset < DIRECTMAP_SIZE);
+    return (void *)(DIRECTMAP_VIRT_START + va_offset);
 }
 
 /* read access (should only be used for debug printk's) */
diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
index de5439a5e5..8f29598230 100644
--- a/xen/include/xen/pdx.h
+++ b/xen/include/xen/pdx.h
@@ -160,6 +160,31 @@ static inline unsigned long pdx_to_pfn(unsigned long pdx)
 #define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
 #define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
 
+/**
+ * Computes the offset into the direct map of an maddr
+ *
+ * @param ma Machine address
+ * @return Offset on the direct map where that
+ *         machine address can be accessed
+ */
+static inline unsigned long maddr_to_directmapoff(paddr_t ma)
+{
+    return ((ma & ma_top_mask) >> pfn_pdx_hole_shift) |
+           (ma & ma_va_bottom_mask);
+}
+
+/**
+ * Computes a machine address given a direct map offset
+ *
+ * @param offset Offset into the direct map
+ * @return Corresponding machine address of that virtual location
+ */
+static inline paddr_t directmapoff_to_maddr(unsigned long offset)
+{
+    return (((paddr_t)offset << pfn_pdx_hole_shift) & ma_top_mask) |
+           (offset & ma_va_bottom_mask);
+}
+
 /**
  * Initializes global variables with information about the compressible
  * range of the current memory regions.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579783.907907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMD-0003TD-7y; Tue, 08 Aug 2023 13:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579783.907907; Tue, 08 Aug 2023 13:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMD-0003SD-0W; Tue, 08 Aug 2023 13:02:41 +0000
Received: by outflank-mailman (input) for mailman id 579783;
 Tue, 08 Aug 2023 13:02:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMMC-0003KL-6A
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:02:40 +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 da3608df-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:02:39 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-3fe4cdb724cso35102535e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:02:39 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y15-20020a5d4acf000000b003144b50034esm13567072wrs.110.2023.08.08.06.02.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:02:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da3608df-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499758; x=1692104558;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8bmCX6/SgqPEzLULBMXi4oRdiZi0jx4EL6SjA6yskLk=;
        b=bYvV3jm8vm2ZXHhiwwyLmeZIgAfDGl8g1mq6KQErwgRsYe/a/ByiM5MSIQS7FZHhel
         6Hv3ekMucT5gR64edHqzlpOaJpy4Foi3NGc2eQgQaAiReMfAute04vzsr6W1bR/F5ewv
         iMY2HtiwXSxkMf1JC1nXYTTs6DCeAyM4JyN9k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499758; x=1692104558;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8bmCX6/SgqPEzLULBMXi4oRdiZi0jx4EL6SjA6yskLk=;
        b=jTaErEwRMirqqcJkhQBv19YNwrI8JwX38zzqeis4V6ooUHyfqGe/mU7SfsNQ41oiHI
         a++r5xk8TV+Psc0yXOORVKQ/CEkDAd8FLJXh00Tfd2uIqMWS19KhEM2Z3IAym4JBRZJj
         rbDzpL2/tShna+EZeKph3MlkK+z3bdFcvx0Fm/LB7fqgYN6a7JRZTvGik4oA52qTuPFu
         H3tztfhQwxSmahXOwOLfN5P7aU6IcK51B6Dnd0KkGyvS+yFaRyVGkEagfngR75QLSiGv
         dbArUJq0XQ7E/7lgUrPuL4BlX4fCIJ+4PJuNqK+pPwF7adDCWNLo4/d3GuMQm4WqgNrk
         gIlw==
X-Gm-Message-State: AOJu0YzuNHGy3sMewVkbeCXJ8c/zCsd4q9fdWI14QQw0+4VYFby43CGo
	l07KWgQFMg6MnatXqomZyZqkCiZt5o3cT73vf5I=
X-Google-Smtp-Source: AGHT+IERdw9jYA65AeSDb2KHKpJuXgzQlTIsNLOUX/DL5ZjhbGQmF3n4QiyOitzjtZblISW7wP80Xg==
X-Received: by 2002:adf:e50e:0:b0:314:1ebc:6e19 with SMTP id j14-20020adfe50e000000b003141ebc6e19mr8153117wrm.64.1691499758316;
        Tue, 08 Aug 2023 06:02:38 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 2/4] mm/pdx: Standardize region validation wrt pdx compression
Date: Tue,  8 Aug 2023 14:02:18 +0100
Message-Id: <20230808130220.27891-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Regions must be occasionally validated for pdx compression validity. That
is, whether any of the machine addresses spanning the region have a bit set
in the pdx "hole" (which is expected to always contain zeroes). There are
a few such tests through the code, and they all check for different things.

This patch replaces all such occurrences with a call to a centralized
function that checks a region for validity.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v3:
  * Pack variable declarations on top of the function (Jan)
  * Restrict variable scope by moving their declaration to the top of the
    loop in which they are used (Jan)
---
 xen/arch/x86/x86_64/mm.c |  6 ++++--
 xen/common/efi/boot.c    | 13 ++++++++++---
 xen/common/pdx.c         | 10 ++++++++--
 xen/include/xen/pdx.h    |  9 +++++++++
 4 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 15b36e332d..d3f7c59638 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1158,6 +1158,8 @@ static int transfer_pages_to_heap(struct mem_hotadd_info *info)
 static int mem_hotadd_check(unsigned long spfn, unsigned long epfn)
 {
     unsigned long s, e, length, sidx, eidx;
+    paddr_t mem_base = pfn_to_paddr(spfn);
+    unsigned long mem_npages = epfn - spfn;
 
     if ( (spfn >= epfn) )
         return 0;
@@ -1168,7 +1170,7 @@ static int mem_hotadd_check(unsigned long spfn, unsigned long epfn)
     if ( (spfn | epfn) & ((1UL << PAGETABLE_ORDER) - 1) )
         return 0;
 
-    if ( (spfn | epfn) & pfn_hole_mask )
+    if ( !pdx_is_region_compressible(mem_base, mem_npages) )
         return 0;
 
     /* Make sure the new range is not present now */
@@ -1207,7 +1209,7 @@ static int mem_hotadd_check(unsigned long spfn, unsigned long epfn)
 
     length += (e - s) * sizeof(struct page_info);
 
-    if ((length >> PAGE_SHIFT) > (epfn - spfn))
+    if ((length >> PAGE_SHIFT) > mem_npages)
         return 0;
 
     return 1;
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 79a654af69..be4e3a0259 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -14,6 +14,7 @@
 #include <xen/multiboot.h>
 #include <xen/param.h>
 #include <xen/pci_regs.h>
+#include <xen/pdx.h>
 #include <xen/pfn.h>
 #if EFI_PAGE_SIZE != PAGE_SIZE
 # error Cannot use xen/pfn.h here!
@@ -1645,9 +1646,11 @@ static __init void copy_mapping(unsigned long mfn, unsigned long end,
 
 static bool __init cf_check ram_range_valid(unsigned long smfn, unsigned long emfn)
 {
+    paddr_t ram_base = pfn_to_paddr(smfn);
+    unsigned long ram_npages = emfn - smfn;
     unsigned long sz = pfn_to_pdx(emfn - 1) / PDX_GROUP_COUNT + 1;
 
-    return !(smfn & pfn_hole_mask) &&
+    return pdx_is_region_compressible(ram_base, ram_npages) &&
            find_next_bit(pdx_group_valid, sz,
                          pfn_to_pdx(smfn) / PDX_GROUP_COUNT) < sz;
 }
@@ -1681,6 +1684,8 @@ void __init efi_init_memory(void)
         u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
         unsigned long smfn, emfn;
         unsigned int prot = PAGE_HYPERVISOR_RWX;
+        paddr_t mem_base;
+        unsigned long mem_npages;
 
         printk(XENLOG_INFO " %013" PRIx64 "-%013" PRIx64
                            " type=%u attr=%016" PRIx64 "\n",
@@ -1732,6 +1737,9 @@ void __init efi_init_memory(void)
         smfn = PFN_DOWN(desc->PhysicalStart);
         emfn = PFN_UP(desc->PhysicalStart + len);
 
+        mem_base = pfn_to_paddr(smfn);
+        mem_npages = emfn - smfn;
+
         if ( desc->Attribute & EFI_MEMORY_WB )
             prot |= _PAGE_WB;
         else if ( desc->Attribute & EFI_MEMORY_WT )
@@ -1759,8 +1767,7 @@ void __init efi_init_memory(void)
             prot |= _PAGE_NX;
 
         if ( pfn_to_pdx(emfn - 1) < (DIRECTMAP_SIZE >> PAGE_SHIFT) &&
-             !(smfn & pfn_hole_mask) &&
-             !((smfn ^ (emfn - 1)) & ~pfn_pdx_bottom_mask) )
+             pdx_is_region_compressible(mem_base, mem_npages))
         {
             if ( (unsigned long)mfn_to_virt(emfn - 1) >= HYPERVISOR_VIRT_END )
                 prot &= ~_PAGE_GLOBAL;
diff --git a/xen/common/pdx.c b/xen/common/pdx.c
index 99d4a90a50..3c88ceeb9c 100644
--- a/xen/common/pdx.c
+++ b/xen/common/pdx.c
@@ -88,7 +88,7 @@ bool __mfn_valid(unsigned long mfn)
 }
 
 /* Sets all bits from the most-significant 1-bit down to the LSB */
-static uint64_t __init fill_mask(uint64_t mask)
+static uint64_t fill_mask(uint64_t mask)
 {
     while (mask & (mask + 1))
         mask |= mask + 1;
@@ -96,6 +96,12 @@ static uint64_t __init fill_mask(uint64_t mask)
     return mask;
 }
 
+bool pdx_is_region_compressible(paddr_t base, unsigned long npages)
+{
+    return !(paddr_to_pfn(base) & pfn_hole_mask) &&
+           !(pdx_region_mask(base, npages * PAGE_SIZE) & ~ma_va_bottom_mask);
+}
+
 /* We don't want to compress the low MAX_ORDER bits of the addresses. */
 uint64_t __init pdx_init_mask(uint64_t base_addr)
 {
@@ -103,7 +109,7 @@ uint64_t __init pdx_init_mask(uint64_t base_addr)
                          (uint64_t)1 << (MAX_ORDER + PAGE_SHIFT)) - 1);
 }
 
-uint64_t __init pdx_region_mask(uint64_t base, uint64_t len)
+uint64_t pdx_region_mask(uint64_t base, uint64_t len)
 {
     /*
      * We say a bit "moves" in a range if there exist 2 addresses in that
diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
index 8f29598230..5674506f3a 100644
--- a/xen/include/xen/pdx.h
+++ b/xen/include/xen/pdx.h
@@ -79,6 +79,15 @@ extern unsigned long pfn_top_mask, ma_top_mask;
                          (sizeof(*frame_table) & -sizeof(*frame_table)))
 extern unsigned long pdx_group_valid[];
 
+/**
+ * Validate a region's compatibility with the current compression runtime
+ *
+ * @param base Base address of the region
+ * @param npages Number of PAGE_SIZE-sized pages in the region
+ * @return True iff the region can be used with the current compression
+ */
+bool pdx_is_region_compressible(paddr_t base, unsigned long npages);
+
 /**
  * Calculates a mask covering "moving" bits of all addresses of a region
  *
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579785.907929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMF-00046m-MQ; Tue, 08 Aug 2023 13:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579785.907929; Tue, 08 Aug 2023 13:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMF-000469-HI; Tue, 08 Aug 2023 13:02:43 +0000
Received: by outflank-mailman (input) for mailman id 579785;
 Tue, 08 Aug 2023 13:02:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMME-0003uf-8Q
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:02:42 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id daa46d75-35eb-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:02:40 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-3fe4b95c371so23264865e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:02:40 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y15-20020a5d4acf000000b003144b50034esm13567072wrs.110.2023.08.08.06.02.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:02:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daa46d75-35eb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499759; x=1692104559;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qw5ydlPzexz1P1bvK3hrQOjcFc77zxXZqKmERgYMjHk=;
        b=RgIsn4uEOt+KjgK2T9EVYtD4z2FBCAK55OG2bEpL7qWYK1VEylPO8+JC7Uimb+w/h5
         c/pOGK8spbPUZmHBk+F7aBBQwcoxu5wTMqYgbk/rwbWOnrRaO7RCUyUUASKpmLfFOFLi
         +olC7T2HgdoQgeDjsW50FW/0s6DTYxVFf2Iqo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499759; x=1692104559;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Qw5ydlPzexz1P1bvK3hrQOjcFc77zxXZqKmERgYMjHk=;
        b=ifh0C4ftYhrYMhDioCqYR24WszCLUuquqfirScwa6I655qyZbzfchpX1ckCdtKep2Y
         FLK0sLuxJ7G7TJeuPXheDfl6pPo4MQ1lDv6/oOjFzPDOtlWPsEe19EmfgHs/WwxvhRAl
         39K1Zi6Lla+8O7VKwqyZxk3VFrMlhUsfB4Jk6Y9j8PbhgvoUjE1RP4s5wYbiaW9Upwd6
         IuFmoWN2fCK2+wIUethvCjrAWtkFY2cwOiroWb6R7AvFUtq4NHD/+TfnywgBYB+2eYD6
         QFpKwEA/nJMpqsbrIw8tgHRDA7lYXg7m8P80I95HO9bZBJ5TrB5QyBFx4IL4Ra5nENej
         MRBA==
X-Gm-Message-State: AOJu0Yy2/ZZMD7q5pV7NIeqlSBnMRvEtUC9T3S7o6wZYEBzVS+4y0RLa
	u3tX/u+iGfk2PTMf4s8snsOPyZ+H0N5a/O8M8F8=
X-Google-Smtp-Source: AGHT+IG5t63tS6JnlI7jLQBy9wATzP5e8eansQp2xZQ2UfnvSwZDyJeO9dhLA0qeSeJUwSS4AguJmA==
X-Received: by 2002:a05:600c:2212:b0:3fa:aeac:e978 with SMTP id z18-20020a05600c221200b003faaeace978mr8102633wml.0.1691499759057;
        Tue, 08 Aug 2023 06:02:39 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@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>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 3/4] pdx: Reorder pdx.[ch]
Date: Tue,  8 Aug 2023 14:02:19 +0100
Message-Id: <20230808130220.27891-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The next patch compiles out compression-related chunks, and it's helpful to
have them grouped together beforehand.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v3:
  * No changes
---
 xen/common/pdx.c      | 58 +++++++++++++++++++++---------------------
 xen/include/xen/pdx.h | 59 ++++++++++++++++++++++---------------------
 2 files changed, 59 insertions(+), 58 deletions(-)

diff --git a/xen/common/pdx.c b/xen/common/pdx.c
index 3c88ceeb9c..d3d38965bd 100644
--- a/xen/common/pdx.c
+++ b/xen/common/pdx.c
@@ -20,6 +20,35 @@
 #include <xen/bitops.h>
 #include <xen/nospec.h>
 
+/**
+ * Maximum (non-inclusive) usable pdx. Must be
+ * modifiable after init due to memory hotplug
+ */
+unsigned long __read_mostly max_pdx;
+
+unsigned long __read_mostly pdx_group_valid[BITS_TO_LONGS(
+    (FRAMETABLE_NR + PDX_GROUP_COUNT - 1) / PDX_GROUP_COUNT)] = { [0] = 1 };
+
+bool __mfn_valid(unsigned long mfn)
+{
+    if ( unlikely(evaluate_nospec(mfn >= max_page)) )
+        return false;
+    return likely(!(mfn & pfn_hole_mask)) &&
+           likely(test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT,
+                           pdx_group_valid));
+}
+
+void set_pdx_range(unsigned long smfn, unsigned long emfn)
+{
+    unsigned long idx, eidx;
+
+    idx = pfn_to_pdx(smfn) / PDX_GROUP_COUNT;
+    eidx = (pfn_to_pdx(emfn - 1) + PDX_GROUP_COUNT) / PDX_GROUP_COUNT;
+
+    for ( ; idx < eidx; ++idx )
+        __set_bit(idx, pdx_group_valid);
+}
+
 /*
  * Diagram to make sense of the following variables. The masks and shifts
  * are done on mfn values in order to convert to/from pdx:
@@ -47,12 +76,6 @@
  * ones.
  */
 
-/**
- * Maximum (non-inclusive) usable pdx. Must be
- * modifiable after init due to memory hotplug
- */
-unsigned long __read_mostly max_pdx;
-
 /** Mask for the lower non-compressible bits of an mfn */
 unsigned long __ro_after_init pfn_pdx_bottom_mask = ~0UL;
 
@@ -75,18 +98,6 @@ unsigned long __ro_after_init pfn_hole_mask = 0;
 /** Number of bits of the "compressible" bit slice of an mfn */
 unsigned int __ro_after_init pfn_pdx_hole_shift = 0;
 
-unsigned long __read_mostly pdx_group_valid[BITS_TO_LONGS(
-    (FRAMETABLE_NR + PDX_GROUP_COUNT - 1) / PDX_GROUP_COUNT)] = { [0] = 1 };
-
-bool __mfn_valid(unsigned long mfn)
-{
-    if ( unlikely(evaluate_nospec(mfn >= max_page)) )
-        return false;
-    return likely(!(mfn & pfn_hole_mask)) &&
-           likely(test_bit(pfn_to_pdx(mfn) / PDX_GROUP_COUNT,
-                           pdx_group_valid));
-}
-
 /* Sets all bits from the most-significant 1-bit down to the LSB */
 static uint64_t fill_mask(uint64_t mask)
 {
@@ -124,17 +135,6 @@ uint64_t pdx_region_mask(uint64_t base, uint64_t len)
     return fill_mask(base ^ (base + len - 1));
 }
 
-void set_pdx_range(unsigned long smfn, unsigned long emfn)
-{
-    unsigned long idx, eidx;
-
-    idx = pfn_to_pdx(smfn) / PDX_GROUP_COUNT;
-    eidx = (pfn_to_pdx(emfn - 1) + PDX_GROUP_COUNT) / PDX_GROUP_COUNT;
-
-    for ( ; idx < eidx; ++idx )
-        __set_bit(idx, pdx_group_valid);
-}
-
 void __init pfn_pdx_hole_setup(unsigned long mask)
 {
     unsigned int i, j, bottom_shift = 0, hole_shift = 0;
diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
index 5674506f3a..b5367a33ca 100644
--- a/xen/include/xen/pdx.h
+++ b/xen/include/xen/pdx.h
@@ -70,15 +70,41 @@
 #ifdef CONFIG_HAS_PDX
 
 extern unsigned long max_pdx;
-extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask;
-extern unsigned int pfn_pdx_hole_shift;
-extern unsigned long pfn_hole_mask;
-extern unsigned long pfn_top_mask, ma_top_mask;
 
 #define PDX_GROUP_COUNT ((1 << PDX_GROUP_SHIFT) / \
                          (sizeof(*frame_table) & -sizeof(*frame_table)))
 extern unsigned long pdx_group_valid[];
 
+/**
+ * Mark [smfn, emfn) as allocatable in the frame table
+ *
+ * @param smfn Start mfn
+ * @param emfn End mfn
+ */
+void set_pdx_range(unsigned long smfn, unsigned long emfn);
+
+/**
+ * Invoked to determine if an mfn has an associated valid frame table entry
+ *
+ * In order for it to be legal it must pass bounds, grouping and
+ * compression sanity checks.
+ *
+ * @param mfn To-be-checked mfn
+ * @return True iff all checks pass
+ */
+bool __mfn_valid(unsigned long mfn);
+
+#define page_to_pdx(pg)  ((pg) - frame_table)
+#define pdx_to_page(pdx) gcc11_wrap(frame_table + (pdx))
+
+#define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
+#define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
+
+extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask;
+extern unsigned int pfn_pdx_hole_shift;
+extern unsigned long pfn_hole_mask;
+extern unsigned long pfn_top_mask, ma_top_mask;
+
 /**
  * Validate a region's compatibility with the current compression runtime
  *
@@ -120,28 +146,6 @@ uint64_t pdx_region_mask(uint64_t base, uint64_t len);
  */
 uint64_t pdx_init_mask(uint64_t base_addr);
 
-/**
- * Mark [smfn, emfn) as accesible in the frame table
- *
- * @param smfn Start mfn
- * @param emfn End mfn
- */
-void set_pdx_range(unsigned long smfn, unsigned long emfn);
-
-#define page_to_pdx(pg)  ((pg) - frame_table)
-#define pdx_to_page(pdx) gcc11_wrap(frame_table + (pdx))
-
-/**
- * Invoked to determine if an mfn has an associated valid frame table entry
- *
- * In order for it to be legal it must pass bounds, grouping and
- * compression sanity checks.
- *
- * @param mfn To-be-checked mfn
- * @return True iff all checks pass
- */
-bool __mfn_valid(unsigned long mfn);
-
 /**
  * Map pfn to its corresponding pdx
  *
@@ -166,9 +170,6 @@ static inline unsigned long pdx_to_pfn(unsigned long pdx)
            ((pdx << pfn_pdx_hole_shift) & pfn_top_mask);
 }
 
-#define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn))
-#define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx))
-
 /**
  * Computes the offset into the direct map of an maddr
  *
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579781.907895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMC-0003Ki-LJ; Tue, 08 Aug 2023 13:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579781.907895; Tue, 08 Aug 2023 13:02:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMMC-0003Kb-Hc; Tue, 08 Aug 2023 13:02:40 +0000
Received: by outflank-mailman (input) for mailman id 579781;
 Tue, 08 Aug 2023 13:02: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMMB-0003KL-Iy
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:02:39 +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 d91e1864-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:02:37 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3159d5e409dso4036857f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:02:37 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y15-20020a5d4acf000000b003144b50034esm13567072wrs.110.2023.08.08.06.02.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:02: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: d91e1864-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499756; x=1692104556;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5Ec8TrED3aRx0vHHIlwtP34Rk7pkdy6yKzk82FFTpTU=;
        b=A4j17B4b2jzh//qNnMqga7eCrHZs2Jw1UYsnbiWt3xd8XJcyYPydS0t9Qeu8vxa/qh
         czKVfN4U67bQfk6yCDBhLlocAoOMmyMcBY6S3N/l6gaXuQd63nr7yYRYrf6JIpHPE9Os
         XjvlZwT+EReBjnyQriH/3CfB31O0KxIfrLskU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499756; x=1692104556;
        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=5Ec8TrED3aRx0vHHIlwtP34Rk7pkdy6yKzk82FFTpTU=;
        b=BbKmf1oAFYN4IkTpynm4XYNprmjzaei1srDHORL2S6yU0Lfv8f9yEJC62NuIrPci7l
         nzCTvgu/F4epy5EXYzEEXGVhJOD9wR9nSwgR0PDjeYd0gLVQ4v1d4PCTKXka+bLw7N2y
         YoHeu5iZ0IlbFIZ58I0MgjFgWMzYCa+4mGBtjgGwrchrdmUx4bc+HX9LitnoQ/NYSf4c
         D4J2KFyBUzhrrRCakLxN9LeJ518lJ35+CXVmVWQTZTxVve6w537PzdgwhNaB0QG3wUbc
         Lp6SryV+tAC5Rw0C3OZ09Njrn6Zr3Fi01Kfs1i2qgFbZO7by9CNV9dFq0YvcxU2wOGmt
         8okQ==
X-Gm-Message-State: AOJu0YyIuCK/KAP9uOKvh0bmvTi9Mjku+sxlJtiXlIbmz+QtLiWjm7/A
	kZfQqz6IUEAlHpHOB2Q3yDgK84sDamxtxxvTOLI=
X-Google-Smtp-Source: AGHT+IGuOT4NkLxsFpYqnMTa9TMufD+Y5HiN4gkF8fGCGqZ7rhUYxvJWxrng6ui1k+L/XEgE0fvhqQ==
X-Received: by 2002:adf:edcc:0:b0:314:314e:fdda with SMTP id v12-20020adfedcc000000b00314314efddamr8294825wro.23.1691499756436;
        Tue, 08 Aug 2023 06:02:36 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 0/4]  Make PDX compression optional
Date: Tue,  8 Aug 2023 14:02:16 +0100
Message-Id: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
disable it because the whole codebase performs unconditional
compression/decompression operations on addresses. This has the
unfortunate side effect that systems without a need for compression still
have to pay the performance impact of juggling bits on every pfn<->pdx
conversion (this requires reading several global variables). This series
attempts to:

  * Leave the state of pdx and pdx compression documented
  * Factor out compression so it _can_ be removed through Kconfig
  * Make it so compression is disabled on x86 and enabled on both Aarch32
    and Aarch64 by default.

Series summary:

Patch 1 Moves hard-coded compression-related logic to helper functions
Patch 2 Refactors all instances of regions being validated for pdx
        compression conformance so it's done through a helper
Patch 3 Non-functional reorder in order to simplify the patch 8 diff
Patch 4 Adds new Kconfig option to compile out PDX compression and removes
        the old CONFIG_HAS_PDX, as it was non removable

Already committed:

v1/patch 1 documents the current general understanding of the pdx concept and
           pdx compression in particular
v1/patch 3 Marks the pdx compression globals as ro_after_init
v2/patch 1 Documents the differences between arm32 and arm64 directmaps

Alejandro Vallejo (4):
  mm: Factor out the pdx compression logic in ma/va converters
  mm/pdx: Standardize region validation wrt pdx compression
  pdx: Reorder pdx.[ch]
  pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option

 xen/arch/arm/Kconfig                   |   1 -
 xen/arch/arm/include/asm/mm.h          |   3 +-
 xen/arch/x86/Kconfig                   |   1 -
 xen/arch/x86/domain.c                  |  19 ++--
 xen/arch/x86/include/asm/x86_64/page.h |  28 +++---
 xen/arch/x86/x86_64/mm.c               |   6 +-
 xen/common/Kconfig                     |  13 ++-
 xen/common/Makefile                    |   2 +-
 xen/common/efi/boot.c                  |  13 ++-
 xen/common/pdx.c                       |  76 +++++++++------
 xen/include/xen/pdx.h                  | 127 +++++++++++++++++++------
 11 files changed, 193 insertions(+), 96 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:03:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:03:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579802.907944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMNB-0005vn-3C; Tue, 08 Aug 2023 13:03:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579802.907944; Tue, 08 Aug 2023 13:03:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMNB-0005vg-0e; Tue, 08 Aug 2023 13:03:41 +0000
Received: by outflank-mailman (input) for mailman id 579802;
 Tue, 08 Aug 2023 13:03:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMN9-0003KL-NR
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:03:39 +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 fe04cde5-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:03:39 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-317798b359aso4301263f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:03:39 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t6-20020adfe446000000b003179b3fd837sm13699587wrm.33.2023.08.08.06.03.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:03:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe04cde5-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499818; x=1692104618;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=CLQCJAr0rC6dxrW2X+lLr/OB58MmuMcxotnvqWKYPbM=;
        b=UGPW1p2RXholxwOATeLDNTjmIUchwn+XV6jwctj/fYgqKK2cprRWTt7kO8lOCq50Kp
         JptcMxuQEndlNW29pSLDdyMxWfWBi5kN1IO51HdLDsnCvjQko6bmZ3RjJEBfvfE4KwDm
         k8nuNQpdXTr8ju1inovh6r4pp7HOp+O4TxS0Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499818; x=1692104618;
        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=CLQCJAr0rC6dxrW2X+lLr/OB58MmuMcxotnvqWKYPbM=;
        b=CYEZwQi3qXV66D6zEoSorq1VSc1dgCMr36N80wUuobhnjDlMIaHtP0dwvPxGd1DMTP
         wXovoQPk3NY+pOY+EHYJhCh41HPw+TGjCfN/zezsBbvDzJC4mAGEMLRMLIscJcEDBqjY
         wpykUNU9kfvD/2fngIXQTAUMVdlXa8UkoO/O3hq+dmAohYxRBwhOubu63tlD78OR0zYW
         Q+kUWaF4bSGPPEs1/7ZjqeJDSuypwcHyYDkZGNEWrA7565sWbDkmW6WR4p5oHOEa9SHE
         +5W1rbYxnuDcRfyuNDfq6vYJJLzvFoJSQ6q71AAQKBYOV9sPyi6MOUCGxEmYJcZF46GI
         cwJg==
X-Gm-Message-State: AOJu0YzmH1vA+BhF3rA8j7hQ4NIQ3HrVNaFp++1hFdZn2IFxK0rVC+/p
	L6U/McBdY+KJA/rzk5vmGIigVjFC+UxNjMusSoU=
X-Google-Smtp-Source: AGHT+IFFliAuXIbhDdB6fd04YO90HpZVHVdq6h+VWGjhQ8tReKodm6RNfQoaKVgmVhWpbeJuEFtMdw==
X-Received: by 2002:adf:ce90:0:b0:314:3b02:a8a8 with SMTP id r16-20020adfce90000000b003143b02a8a8mr7914781wrn.55.1691499818483;
        Tue, 08 Aug 2023 06:03:38 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 0/3] Prevent attempting updates known to fail
Date: Tue,  8 Aug 2023 14:03:28 +0100
Message-Id: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Under certain conditions a CPU may not be able to perform microcode updates
even if hardware exists to that effect. In particular:

 * If Xen runs under certain hypervisors they won't allow microcode
   updates, and will signal this fact by reporting a microcode revision of
   -1.
 * If the DIS_MCU_LOAD bit is set, which is expected in some baremetal
   clouds where the owner may not trust the tenant, then the CPU is not
   capable of loading new microcode.

This series adds logic so that in both of these cases we don't needlessly
attempt updates that are not going to succeed. Patch summary:

Patch 1 Ignores microcode facilities when the current microcode revision is -1

Patch 2 Moves the MSR_ARCH_CAPS read in tsx_init() to early_cpu_init() and
        early_microcode_init()

Patch 3 Adds the logic to detect microcode updates being disabled on Intel.

Alejandro Vallejo (3):
  x86/microcode: Ignore microcode loading interface for revision = -1
  x86: Read MSR_ARCH_CAPS immediately after early_microcode_init()
  x86/microcode: Disable microcode update handler if DIS_MCU_UPDATE is
    set

 xen/arch/x86/cpu/common.c             | 20 ++++++++++----
 xen/arch/x86/cpu/microcode/core.c     | 38 ++++++++++++++++++++++++---
 xen/arch/x86/cpu/microcode/intel.c    | 13 +++++++++
 xen/arch/x86/cpu/microcode/private.h  |  7 +++++
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/msr-index.h  |  5 ++++
 xen/arch/x86/include/asm/setup.h      |  2 +-
 xen/arch/x86/setup.c                  |  2 +-
 xen/arch/x86/tsx.c                    | 16 +++--------
 9 files changed, 81 insertions(+), 23 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:03:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579803.907955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMNC-0006Bk-D1; Tue, 08 Aug 2023 13:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579803.907955; Tue, 08 Aug 2023 13:03:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMNC-0006BY-8g; Tue, 08 Aug 2023 13:03:42 +0000
Received: by outflank-mailman (input) for mailman id 579803;
 Tue, 08 Aug 2023 13:03: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMNB-0003KL-EK
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:03:41 +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 ff15ba11-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:03:41 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3179ed1dfbbso4856344f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:03:40 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t6-20020adfe446000000b003179b3fd837sm13699587wrm.33.2023.08.08.06.03.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:03:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff15ba11-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499820; x=1692104620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gaUnmMyQzDhGHHuFVEoa7z0wlHrRhTGB1FTCEPFAUdE=;
        b=gZ8xL6bwBxFzJByOAln36wXNPZouGdnItFdcjErxU7T8URfC6pdPKuOWRETdwBl7SX
         5dSGLgtKA4Obpgvqi7CUGW57RKP02v7ZzRT/wOOv4aQTclSm0PkvHpXWKVyDxSpJpiYU
         dDU6fEF49KXKEvE9QkgxJxf6QzHlacyMGbE/A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499820; x=1692104620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gaUnmMyQzDhGHHuFVEoa7z0wlHrRhTGB1FTCEPFAUdE=;
        b=iBDpFvn8nDlyrxxZ0tM0P5F/4pTZZHJ+NCzGv7SsqDOTKMoxWEy/qF5KJGwJxhPFNW
         WWS9upVmpwAwLo6rhi1ixG0IaUbHuRYRbxsn+mMtsJ1Do2dq4079181fyAz+UpoATBKa
         HlVPJIh3OvkTWzkH6UD1CdUOQQPa0WBh2msdm2UmBANnlcD0MVGMBFBJ4zZO+SPe9hTp
         iwEtMegJ6e6SyEULW0qmvVZOkYmGkADLGQ87KGRxz3fh5l0eC/VAGEyJ9rr7WR7dX5We
         Y7VlCHvj4Y+4NtQY42Dt0fgbNbjY6gPJEPn9q6AMweRDcYiKL6DUKzLXapfF7VF4K2k5
         jw/A==
X-Gm-Message-State: AOJu0YyIRuV5Ay43AxiV9nPOd5SpfTKWTZ5lhHQOLbamYQmq70I4v5Xu
	uQ379hR5NHrXZ+hqS3CA/2MIEJAaJzyL67sPsC4=
X-Google-Smtp-Source: AGHT+IEYDGSkpMaqWcQxT/ufTuQ3pPRFdEjSmZM59zxeeh9HwU47uTo5ykj5hPRSkOhQ+CiG94Ay4Q==
X-Received: by 2002:a5d:5346:0:b0:317:5a9b:fcec with SMTP id t6-20020a5d5346000000b003175a9bfcecmr9185739wrv.14.1691499819257;
        Tue, 08 Aug 2023 06:03:39 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 1/3] x86/microcode: Ignore microcode loading interface for revision = -1
Date: Tue,  8 Aug 2023 14:03:29 +0100
Message-Id: <20230808130331.27995-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some hypervisors report ~0 as the microcode revision to mean "don't issue
microcode updates". Ignore the microcode loading interface in that case.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
v7:
  * Removed R-by tag. It wasn't meant to be there!
  * Fix wrong substring inserted in printk statement
  * Returned the printk severity to WARNING

I still think both this new print and the previous one in the function
should have severity INFO instead, but I'm not bothered either way and they
should both have the same severity because they highlight equivalent events.
---
 xen/arch/x86/cpu/microcode/core.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index bec8b55db2..205bb52201 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -867,10 +867,23 @@ int __init early_microcode_init(unsigned long *module_map,
         return -ENODEV;
     }
 
-    microcode_grab_module(module_map, mbi);
-
     ucode_ops.collect_cpu_info();
 
+    /*
+     * Some hypervisors deliberately report a microcode revision of -1 to
+     * mean that they will not accept microcode updates. We take the hint
+     * and ignore the microcode interface in that case.
+     */
+    if ( this_cpu(cpu_sig).rev == ~0 )
+    {
+        printk(XENLOG_WARNING "Microcode loading disabled due to: %s",
+                              "rev = ~0");
+        ucode_ops.apply_microcode = NULL;
+        return -ENODEV;
+    }
+
+    microcode_grab_module(module_map, mbi);
+
     if ( ucode_mod.mod_end || ucode_blob.size )
         rc = early_microcode_update_cpu();
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:03:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579804.907965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMND-0006Ru-La; Tue, 08 Aug 2023 13:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579804.907965; Tue, 08 Aug 2023 13: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 1qTMND-0006Rh-Gk; Tue, 08 Aug 2023 13:03:43 +0000
Received: by outflank-mailman (input) for mailman id 579804;
 Tue, 08 Aug 2023 13:03: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMNB-0003KL-Nm
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:03:41 +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 fefdcd62-35eb-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:03:40 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3178dd81ac4so4679622f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:03:40 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t6-20020adfe446000000b003179b3fd837sm13699587wrm.33.2023.08.08.06.03.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:03:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fefdcd62-35eb-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499820; x=1692104620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Drl1WoVQFYKt7SnkepxymBZ1cgaNy4U6Y8pES3y0IG0=;
        b=IgEyeP56E5Q5RHrY3Dw7IREGaBWkLvdLiOUD+NFHoIoIa+XiWKYBuFbNDl4fSo0l5g
         Em0hETb2ZyfPH89U+9muDE6UyGevxcdsjlQmSxWlIeZlHDcNXGbOACq3mUMCJOj+lKkm
         uFfJGFKuRAy2dpzK65UCj9VPkY5Seea9LIH1Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499820; x=1692104620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Drl1WoVQFYKt7SnkepxymBZ1cgaNy4U6Y8pES3y0IG0=;
        b=OQt5+Tk+Tghtj9WmITyQeevg3bQ5r3NAUB9ROU1lfIJjOwyvIhRcpbmSqdNxlJbsOA
         MA3Dj5A1J1L6/5m5Mr4q9Gem8ewJ/XahZRh1+n6rXaf9a7fdVPvAnttGuqGwXm0LViAq
         p3QfR/RgcFP6Tdc+2RHw/BRuXvVK9hjs3l37BDI6GGChU1FOZgdUjQ5fQfmApe45oXx8
         gPA67mh7Y920SX3xBNkCawoDbSBbK4YiMcpVioTj5HyrBbEDPEExgLq6Y+4cgp0688ow
         8E/Uz1TvQp6+51925/4zBYmeUOkvjrHnVwwVPBl0aNq8P3ScUOTwJk4scXkkat9e5F5N
         xvbg==
X-Gm-Message-State: AOJu0YxCevU07DIbH0xcotjRpCL/tqfkM4QLjj9w+oSTbOedu0EFRzki
	VZMCnzKFnsDfDNNu3nfwr0cgi65hUT8Ep2nyZc8=
X-Google-Smtp-Source: AGHT+IFsHmqMp2toFeDTaYonJi4Mxyq93TXJf/Cy5qj5i0N+qKCTpHEpN4U5GZ8C7IBGcFPuXqszKQ==
X-Received: by 2002:adf:fd8b:0:b0:317:cddf:1c71 with SMTP id d11-20020adffd8b000000b00317cddf1c71mr9773543wrr.23.1691499820143;
        Tue, 08 Aug 2023 06:03:40 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 2/3] x86: Read MSR_ARCH_CAPS immediately after early_microcode_init()
Date: Tue,  8 Aug 2023 14:03:30 +0100
Message-Id: <20230808130331.27995-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move MSR_ARCH_CAPS read code from tsx_init() to early_cpu_init(). Because
microcode updates might make them that MSR to appear/have different values
we also must reload it after a microcode update in early_microcode_init().

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v7:
 * No change
---
 xen/arch/x86/cpu/common.c         | 20 +++++++++++++++-----
 xen/arch/x86/cpu/microcode/core.c |  9 +++++++++
 xen/arch/x86/include/asm/setup.h  |  2 +-
 xen/arch/x86/setup.c              |  2 +-
 xen/arch/x86/tsx.c                | 16 ++++------------
 5 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 6fada384a1..3fd4fd0654 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -299,7 +299,7 @@ static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
 
    WARNING: this function is only called on the BP.  Don't add code here
    that is supposed to run on all CPUs. */
-void __init early_cpu_init(void)
+void __init early_cpu_init(bool verbose)
 {
 	struct cpuinfo_x86 *c = &boot_cpu_data;
 	u32 eax, ebx, ecx, edx;
@@ -320,6 +320,8 @@ void __init early_cpu_init(void)
 	case X86_VENDOR_SHANGHAI: this_cpu = &shanghai_cpu_dev; break;
 	case X86_VENDOR_HYGON:    this_cpu = &hygon_cpu_dev;    break;
 	default:
+		if (!verbose)
+			break;
 		printk(XENLOG_ERR
 		       "Unrecognised or unsupported CPU vendor '%.12s'\n",
 		       c->x86_vendor_id);
@@ -336,10 +338,13 @@ void __init early_cpu_init(void)
 	c->x86_capability[FEATURESET_1d] = edx;
 	c->x86_capability[FEATURESET_1c] = ecx;
 
-	printk(XENLOG_INFO
-	       "CPU Vendor: %s, Family %u (%#x), Model %u (%#x), Stepping %u (raw %08x)\n",
-	       x86_cpuid_vendor_to_str(c->x86_vendor), c->x86, c->x86,
-	       c->x86_model, c->x86_model, c->x86_mask, eax);
+	if (verbose)
+		printk(XENLOG_INFO
+		       "CPU Vendor: %s, Family %u (%#x), "
+		       "Model %u (%#x), Stepping %u (raw %08x)\n",
+		       x86_cpuid_vendor_to_str(c->x86_vendor), c->x86,
+		       c->x86, c->x86_model, c->x86_model, c->x86_mask,
+		       eax);
 
 	if (c->cpuid_level >= 7) {
 		uint32_t max_subleaf;
@@ -348,6 +353,11 @@ void __init early_cpu_init(void)
 			    &c->x86_capability[FEATURESET_7c0],
 			    &c->x86_capability[FEATURESET_7d0]);
 
+		if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability))
+			rdmsr(MSR_ARCH_CAPABILITIES,
+			      c->x86_capability[FEATURESET_m10Al],
+			      c->x86_capability[FEATURESET_m10Ah]);
+
 		if (max_subleaf >= 1)
 			cpuid_count(7, 1, &eax, &ebx, &ecx,
 				    &c->x86_capability[FEATURESET_7d1]);
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 205bb52201..273840fbcf 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -887,5 +887,14 @@ int __init early_microcode_init(unsigned long *module_map,
     if ( ucode_mod.mod_end || ucode_blob.size )
         rc = early_microcode_update_cpu();
 
+    /*
+     * Some CPUID leaves and MSRs are only present after microcode updates
+     * on some processors. We take the chance here to make sure what little
+     * state we have already probed is re-probed in order to ensure we do
+     * not use stale values. tsx_init() in particular needs to have up to
+     * date MSR_ARCH_CAPS.
+     */
+    early_cpu_init(false);
+
     return rc;
 }
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 51fce66607..dad8b3e605 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -15,7 +15,7 @@ extern uint64_t boot_tsc_stamp;
 
 extern void *stack_start;
 
-void early_cpu_init(void);
+void early_cpu_init(bool verbose);
 void early_time_init(void);
 
 void set_nr_cpu_ids(unsigned int max_cpus);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2dbe9857aa..12cb28e969 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1211,7 +1211,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         panic("Bootloader provided no memory information\n");
 
     /* This must come before e820 code because it sets paddr_bits. */
-    early_cpu_init();
+    early_cpu_init(true);
 
     /* Choose shadow stack early, to set infrastructure up appropriately. */
     if ( !boot_cpu_has(X86_FEATURE_CET_SS) )
diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
index 80c6f4cedd..50d8059f23 100644
--- a/xen/arch/x86/tsx.c
+++ b/xen/arch/x86/tsx.c
@@ -39,9 +39,10 @@ void tsx_init(void)
     static bool __read_mostly once;
 
     /*
-     * This function is first called between microcode being loaded, and CPUID
-     * being scanned generally.  Read into boot_cpu_data.x86_capability[] for
-     * the cpu_has_* bits we care about using here.
+     * This function is first called between microcode being loaded, and
+     * CPUID being scanned generally. early_cpu_init() has already prepared
+     * the feature bits needed here. And early_microcode_init() has ensured
+     * they are not stale after the microcode update.
      */
     if ( unlikely(!once) )
     {
@@ -49,15 +50,6 @@ void tsx_init(void)
 
         once = true;
 
-        if ( boot_cpu_data.cpuid_level >= 7 )
-            boot_cpu_data.x86_capability[FEATURESET_7d0]
-                = cpuid_count_edx(7, 0);
-
-        if ( cpu_has_arch_caps )
-            rdmsr(MSR_ARCH_CAPABILITIES,
-                  boot_cpu_data.x86_capability[FEATURESET_m10Al],
-                  boot_cpu_data.x86_capability[FEATURESET_m10Ah]);
-
         has_rtm_always_abort = cpu_has_rtm_always_abort;
 
         if ( cpu_has_tsx_ctrl && cpu_has_srbds_ctrl )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579822.907975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMQo-0007wx-Dl; Tue, 08 Aug 2023 13:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579822.907975; Tue, 08 Aug 2023 13:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMQo-0007wq-Av; Tue, 08 Aug 2023 13:07:26 +0000
Received: by outflank-mailman (input) for mailman id 579822;
 Tue, 08 Aug 2023 13:07: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=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMND-0003uf-IT
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:03:43 +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 ffa01cc4-35eb-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:03:41 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-317e427488aso2043307f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:03:41 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t6-20020adfe446000000b003179b3fd837sm13699587wrm.33.2023.08.08.06.03.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:03: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: ffa01cc4-35eb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691499821; x=1692104621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kvlCcPtPAQFDMSDymQzg61qOJ0Yqizq1giWyB3+8O1o=;
        b=UhZDUQUqIzVHwHRdOITT+sEaVR91EiAnNxDHC7GkBAUt7ayneL22IhlskttvQoTrVK
         R91w0dOcAe5vT6mLDvIuVcKyffIkGmrZhfZnO2yvkeBvvuBg455OU4CBSM7eqQYwT6ZN
         4b5vhe9218fy2NjXrvdq/iCtHgnWp19jQIZXA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691499821; x=1692104621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kvlCcPtPAQFDMSDymQzg61qOJ0Yqizq1giWyB3+8O1o=;
        b=MXIdOWkC3s9GMvPFG9Rs3EvffDwgeD+fKXdaffi95lFfK+Y3gBZibL6/N6pP5MGnCz
         yg8vJy1F7f+CyrvwoaE4ZZQsKrsLJPzfgCRgMHG8dAh/VUNwrwRCBHNRt/Lhy7iV6F/v
         AeppuZkVGhRWe9Ht1rX87+i79Vkg9G9WMIKj0+4PPTFesHSCedC2IbryIZ5oQhaI6dzP
         pJQ1uoduRauRWOKHJFjgpEfAv2YyOwaUb+V5VQmFHxyciFd1Ela35dNvR6CxGQDBcQA9
         8jNybWnwmx6lbeahV4/cQQUx8TdV7eg1h9aKcgbdKcseMTA4It5gYUH5qR5w/cMEFUVX
         gD/A==
X-Gm-Message-State: AOJu0YyVy5LcHVaWLDLc+kGZdzINI/9TaXlhg8jV9aWAIsYif1wX+qPY
	wYupZgA2I/v1GbWLjJBGIjrD+YWgfe1AYYOF0Ds=
X-Google-Smtp-Source: AGHT+IF5l6zl97y667NwMhYRhmd4uw5p8W7y4gDLDxyKSXlHz8gs2OM1dba3xSr7Z4fI5rjxLLfvnQ==
X-Received: by 2002:a05:6000:c8:b0:313:fbd0:9813 with SMTP id q8-20020a05600000c800b00313fbd09813mr9103289wrx.28.1691499821207;
        Tue, 08 Aug 2023 06:03:41 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 3/3] x86/microcode: Disable microcode update handler if DIS_MCU_UPDATE is set
Date: Tue,  8 Aug 2023 14:03:31 +0100
Message-Id: <20230808130331.27995-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

If IA32_MSR_MCU_CONTROL exists then it's possible a CPU may be unable to
perform microcode updates. This is controlled through the DIS_MCU_LOAD bit
and is intended for baremetal clouds where the owner may not trust the
tenant to choose the microcode version in use. If we notice that bit being
set then simply disable the "apply_microcode" handler so we can't even try
to perform update (as it's known to be silently dropped).

While at it, remove the Intel family check, as microcode loading is
supported on every Intel64 CPU.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v7:
 * No change
---
 xen/arch/x86/cpu/microcode/core.c     | 20 ++++++++++++++------
 xen/arch/x86/cpu/microcode/intel.c    | 13 +++++++++++++
 xen/arch/x86/cpu/microcode/private.h  |  7 +++++++
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/msr-index.h  |  5 +++++
 5 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 273840fbcf..ba9c9a8b1d 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -847,17 +847,21 @@ int __init early_microcode_init(unsigned long *module_map,
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
     int rc = 0;
+    bool can_load = false;
 
     switch ( c->x86_vendor )
     {
     case X86_VENDOR_AMD:
         if ( c->x86 >= 0x10 )
+        {
             ucode_ops = amd_ucode_ops;
+            can_load = true;
+        }
         break;
 
     case X86_VENDOR_INTEL:
-        if ( c->x86 >= 6 )
-            ucode_ops = intel_ucode_ops;
+        ucode_ops = intel_ucode_ops;
+        can_load = intel_can_load_microcode();
         break;
     }
 
@@ -871,13 +875,17 @@ int __init early_microcode_init(unsigned long *module_map,
 
     /*
      * Some hypervisors deliberately report a microcode revision of -1 to
-     * mean that they will not accept microcode updates. We take the hint
-     * and ignore the microcode interface in that case.
+     * mean that they will not accept microcode updates.
+     *
+     * It's also possible the hardware might have built-in support to disable
+     * updates and someone (e.g: a baremetal cloud provider) disabled them.
+     *
+     * Take the hint in either case and ignore the microcode interface.
      */
-    if ( this_cpu(cpu_sig).rev == ~0 )
+    if ( this_cpu(cpu_sig).rev == ~0 || !can_load )
     {
         printk(XENLOG_WARNING "Microcode loading disabled due to: %s",
-                              "rev = ~0");
+                              can_load ? "rev = ~0" : "HW toggle");
         ucode_ops.apply_microcode = NULL;
         return -ENODEV;
     }
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 8d4d6574aa..060c529a6e 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -385,6 +385,19 @@ static struct microcode_patch *cf_check cpu_request_microcode(
     return patch;
 }
 
+bool __init intel_can_load_microcode(void)
+{
+    uint64_t mcu_ctrl;
+
+    if ( !cpu_has_mcu_ctrl )
+        return true;
+
+    rdmsrl(MSR_MCU_CONTROL, mcu_ctrl);
+
+    /* If DIS_MCU_LOAD is set applying microcode updates won't work */
+    return !(mcu_ctrl & MCU_CONTROL_DIS_MCU_LOAD);
+}
+
 const struct microcode_ops __initconst_cf_clobber intel_ucode_ops = {
     .cpu_request_microcode            = cpu_request_microcode,
     .collect_cpu_info                 = collect_cpu_info,
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index 626aeb4d08..d80787205a 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -60,6 +60,13 @@ struct microcode_ops {
         const struct microcode_patch *new, const struct microcode_patch *old);
 };
 
+/**
+ * Checks whether we can perform microcode updates on this Intel system
+ *
+ * @return True iff the microcode update facilities are enabled
+ */
+bool intel_can_load_microcode(void);
+
 extern const struct microcode_ops amd_ucode_ops, intel_ucode_ops;
 
 #endif /* ASM_X86_MICROCODE_PRIVATE_H */
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 64e1dad225..5422baed27 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -193,6 +193,7 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_if_pschange_mc_no boot_cpu_has(X86_FEATURE_IF_PSCHANGE_MC_NO)
 #define cpu_has_tsx_ctrl        boot_cpu_has(X86_FEATURE_TSX_CTRL)
 #define cpu_has_taa_no          boot_cpu_has(X86_FEATURE_TAA_NO)
+#define cpu_has_mcu_ctrl        boot_cpu_has(X86_FEATURE_MCU_CTRL)
 #define cpu_has_fb_clear        boot_cpu_has(X86_FEATURE_FB_CLEAR)
 #define cpu_has_rrsba           boot_cpu_has(X86_FEATURE_RRSBA)
 
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 4d41c171d2..cf8b2fa15c 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -165,6 +165,11 @@
 #define  PASID_PASID_MASK                   0x000fffff
 #define  PASID_VALID                        (_AC(1, ULL) << 31)
 
+#define MSR_MCU_CONTROL                     0x00001406
+#define  MCU_CONTROL_LOCK                   (_AC(1, ULL) <<  0)
+#define  MCU_CONTROL_DIS_MCU_LOAD           (_AC(1, ULL) <<  1)
+#define  MCU_CONTROL_EN_SMM_BYPASS          (_AC(1, ULL) <<  2)
+
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:08:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579836.907984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMRX-0008Um-N9; Tue, 08 Aug 2023 13:08:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579836.907984; Tue, 08 Aug 2023 13: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 1qTMRX-0008Uf-KI; Tue, 08 Aug 2023 13:08:11 +0000
Received: by outflank-mailman (input) for mailman id 579836;
 Tue, 08 Aug 2023 13:08: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMRW-0008UT-Js
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:08:10 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe13::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e837b5f-35ec-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:08:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:08:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:08: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: 9e837b5f-35ec-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F+1EgTAUNRTc+bj2jM9VqjhwKR+ImArCw3XnHBM/aTbJlrkEKDoCKOXXAsYtiXxyqqRCqNR7zVNjc8cPXgtmWrw2IJkWfP9urGSqd4pAlJ5nXMd1Rv6qE1oqMmOy8ln2Ej3VZQmc64seDkCUEYyPsXIuoPsWZjdthxlpMRkopQPKvzALlnmWmRXxt4+sGv1ndXBTLu50zQ0DxlnL2tNB/xczfRE1yQpy2ZfLQZktLyMr/avFBvazOSjk1L/YEV+pduljaLy7s9dMEYmeeH5kK+FIgMV++N+Smseg/Xyt3zUXu821uCjnHTyZtxQh8WhYHIQwNMmUKvuVuR8DTakgpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0t1G/E/XXCvKHnnjq9IYybPQRG3YkpdsFkUeUcddnQ8=;
 b=OTKsWTn1i2iYvsrKsfLrW0Dyyo1jx5KApI/9QJ929s6cJCGRt2UqvEvHUQIAqq7uRuK5hTb7dhLE5RhbwlXqrSph0ueSPri7U3QD40HT3DM5ErrUD25oq+VEc/zk1IysJ/ZBZbajLMGeVvjlA1S6xkgY4SiYCHGt7WVZX6v+9T+q6gLaF60dutx8YD+2shm5VtpEqRVq9fMQRgfy3syFm53o/4JBLquIRaxmj7ziIXGsfbV6vjmCNeUaVIfWd++jjyS60So594Xu01SMFIIrqFmzGvXEb9QJs292cJJcgaUq5maZAtzY2iUkjfxnlr5Mfd0+/LRpF8bz+kNKckyT1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0t1G/E/XXCvKHnnjq9IYybPQRG3YkpdsFkUeUcddnQ8=;
 b=urjD4QYxQO4+XZRb3WKsCNLHfsVe1hEfjIl9R9YucLk5OZW91hk46UvbarwlZ0b0rnJuq8O368f+aTJ/NspGbNgeVQSI8HMlE7mo0UNJnYdtWI47RNfzW/Qci4eviOPSDHFWboBoL6do1Bamed6uW12N0TWPbyQ5FyfNFpyEVkfoxqvv11uCJWdFx47CaqAc8UIkT0R/yqrhl9hnV40RrB5X79J999fXK0hHinFfA0MhZCX2NDURKLKvP8vR+ZmZE5+YvfroHebUYwfJ9RZffSQ/r2D4nx8iwnbcHpIXLFfCtGqJl+pjALEzJYjrkOsStgPPxSwy8URu80rnRRdoLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <efee9d93-e1d8-6606-0e97-3f63ecefc8be@suse.com>
Date: Tue, 8 Aug 2023 15:08:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v7 1/3] x86/microcode: Ignore microcode loading interface
 for revision = -1
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
 <20230808130331.27995-2-alejandro.vallejo@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230808130331.27995-2-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7643:EE_
X-MS-Office365-Filtering-Correlation-Id: a32d1c58-0c94-4a38-0ebb-08db9810819b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T3z07wh7t4WnZnow5sNrj3fAq7xKQIobJob8ydyPHtVpOVILdUCmCYryZmkeuUuKNseTpi6Vza3e8qBVgSzn0K1AegJq+ChtFYmNVQg/IaL8+1ZzU0f+l5LoIiFyhwfVxY22e1skmJj+NV3xdAWd/2MyZAqFUqjZcbuwULNy4WoMlowf4dTz0pRkBaU6oD/O+nKr2Ew12S0Mr5L90S2yHfa4e0rvnJlMjBbnGCvtGyDMsZ3BgTawwF9Asb+SgLTzvRBv6VNWqiuCBhDSDXqQvSaM5Qiwh5RUuf/BYYzFIx5rQR4AJlIAQ7kDE2ZiM+ba/rrf0eCc34QAN9thY4NIw7U+RS7jDGSf3h7Jhl+TE3YbIddfcslk/TI2ql/OiTAyghKDlnOas4yApFRCsmzQ4jzKU2atb2YxJ9lUeQWEZlSYEkOBGbVoB0wVjgkA096yIW5nuNm+QN5dicA1Xd2Gq0LiLBzx96P9ORJbfiuokyhuCF+doVzPYlyKrQX7Ogo60j13dYnOskOcLxvcWPw+FyeE9QQWFlR+5nPZLMHUd6FzsTgPyQmZrne82Zar2yG+tYYjzAikEVVQ2HPvUN87YGd00CR+3ImYjDE4MFGVqk0Vj5xyQYjc+MScUvXZGOST5y8XNDfG6o6m3NeGcsZhUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199021)(186006)(1800799003)(8936002)(8676002)(5660300002)(6916009)(4326008)(41300700001)(316002)(86362001)(83380400001)(31696002)(2906002)(4744005)(6486002)(6512007)(2616005)(53546011)(26005)(6506007)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmVnWEpJZGxOc1g5VFhrcXBqd0w3L004K3dNVnVDczdoWTBPeTdHbkRSTjNT?=
 =?utf-8?B?ekZsbjZJK3BJemo2ODFrVmdoRGMyMmx5MDZlT1F2dDdGcGZOU0R3RjlGcXNi?=
 =?utf-8?B?dU16WTRRWVFzLzlzS1hsOXd0Zk8rRW5YNDI3dGE4TjlvTk5yZ21Ga0w4KzBP?=
 =?utf-8?B?YUhpNUNVSXA2VWdGOXIrcXZ2OFgzd05tdHFaRE54em9iN3M3NTJSYjlPZUll?=
 =?utf-8?B?SWRBUUg4ak1ydVlvT2N1UDd0bUtuTXhUdlE5MjhhNWhNbmwvMWxRVEhQQWRj?=
 =?utf-8?B?dzRmejN2TkE4ZEFWWi8wcHFoR1R2Mk9mcVdVMTMxUGdVRThXOWFHT1E2VmpJ?=
 =?utf-8?B?OVdyclpIakxwZzVTUEZYb0hGZWJndk9vUEpLc0lDVDltL2U3dmFMakdMS3ht?=
 =?utf-8?B?THV6R2dJN2VtZFdyVVdPMFNsd3JZR2Y2YVFZSUZ3Wm5KUjZ0djNpUVBVcTVY?=
 =?utf-8?B?YzZqUHBhMnNndy9YZGo2NGROSmY0MCs5aHhmV2lJTHBkNkhldVdkZHZwUGVu?=
 =?utf-8?B?R09KWFoxdi91d0xPWUxoZ0R0c21lYTNZUXV4RlhCTzJFL0NzWjVUNGU0TjY4?=
 =?utf-8?B?Y1VZNjVHSFZtUkxWRVMweUdmTHhrS05zMmpmOHF2ejZNWCtSNUt5c0VBUmNC?=
 =?utf-8?B?Tm9uczR1eENOWUlaV1Bzdk5td28vNG1FR0M5QytodFVPaEtQRFJpZ3ZMc0Zw?=
 =?utf-8?B?ejZ6YUFSMEp5ZGYyVHZGa25TVk1rVEFCWjVBM2p4dTZpdStSb0E2SzNiWWZO?=
 =?utf-8?B?S01IdlFtSnhCTVhvd0RuTnJVUi9pdjBOcUxVS25WVGVxd1NLeFRjSjFUTjNR?=
 =?utf-8?B?dXJEbzZBcWxpejlmT09palVGWnBlaW53ZjlwdDVldStqRVFHM3UzUkRzQm1n?=
 =?utf-8?B?TWlHZ0ZzMkZlbTJUQ2YyR3JxS2VYc21aWVN0bmZib0M3V1VPem9YZkpDZVpy?=
 =?utf-8?B?ZHVKWkROVVY4WkR0c2RRb3NmVHZIZzgwcWtkakRIbE1JaTBGMVVuWEU2VDBD?=
 =?utf-8?B?VXZESnRBbWtYelRrWlhDLzRCZW53REZrTEJpZlBEMFliTThxeWo4enhTYVJF?=
 =?utf-8?B?M0ppWkxiN1dkSDVZQTFDdmFiN2VONHp5T09aZnlqbkp3a0RNODQ2YWpvQ3hY?=
 =?utf-8?B?eUhWeEdlNGlYNURDMHZES3BpSGc1Q3ZjbDBiTVBPbDF3dUNvR3BqZjhzZjNw?=
 =?utf-8?B?MGtNMmFJNFZ5ZVJqbzRuNk8zQ3cvRW40ci95bnY4VWJzTysyeDVuSENlZ2U5?=
 =?utf-8?B?b295UkxTN29tV09BK2FXTDd0VDNrOHNISDNMQ3dMZC9aRjVsRm9YUWg4Yi9y?=
 =?utf-8?B?TW8wWmdaS0p3YWFsRVYwM0UrVnh5Q0hUNlF6R1pML0ZuK2RSczVOKzBURENR?=
 =?utf-8?B?SHl4cXYzL2xPb3pBVVBoUjhPUVQ4QkZzQWNiSkJ3eDRZRUw5bjM4SndrSzFk?=
 =?utf-8?B?SDR0VG5OYVFmRnBFcERlekVXblR1emhGdXpncC9rOXdRNmgvdGxUL1NXdWkw?=
 =?utf-8?B?bW8wZTJzS3NhZ1haUkZEME5TRmd0WmZaTUVrV3hsU0ExbERjV25JcTlFdDlu?=
 =?utf-8?B?SUlCbldEd0dVaVFwUjZVSmFwQ2NsQTBrY25YcU1Tbmdpd1VQSzZMb0JFcHVE?=
 =?utf-8?B?bTVxMi9xUXo3ZXM5MDhVSjY0WHZ2dlo3Tjc5YWZQWXo5aXFaYUpWdmN5UmNO?=
 =?utf-8?B?MktUdjlRbGpQU1ZweHpBU0liNHZiL3pVSVlvc2tHV3UydWtvVEZYYVYwS1ZT?=
 =?utf-8?B?aHpnUkg0ZTVma0pBVzR5Q0N0RUdMK041MktpZEN5S0ZCTzhUbFdDUHZKQklB?=
 =?utf-8?B?ZFJneFdHL1dFWi9rd0F2QTJjSGE1U0t5ZklUNGt5WGJBU1M2dER2bnVWeG1h?=
 =?utf-8?B?cVBKbEN2REIzM01jVmcvRmxJMlNETTRlUW5lOE4zaWthTUk0THI5Nnd0bFVN?=
 =?utf-8?B?UzBwUGtwMlUzMmdKditOdGFkdkpWNzZWV1ZjbEVYUEErbUdqV3k3VUhFZWN0?=
 =?utf-8?B?bWZYL0tnaENlUmEzOWJtRGtPa3hOUW9hODFuQkhKS1pVN05Ed2pKTS9EMW9m?=
 =?utf-8?B?WlJxWHladGdnVXNwbXAyeU5MN2lyM2IvRzl0K1N2MnRpVzlGQnM4emtKK0dK?=
 =?utf-8?Q?wTb9fOUkCSiaNu6H80W7JLWR0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a32d1c58-0c94-4a38-0ebb-08db9810819b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:08:06.6040
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +L44zMvKej45l0JEvOwcmAwaw5Sbhr7AK20id2cf7p2IjqDjqaMyyXoWlh9PYFVVruQwBvMtSFgjRNhpFjemAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

On 08.08.2023 15:03, Alejandro Vallejo wrote:
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -867,10 +867,23 @@ int __init early_microcode_init(unsigned long *module_map,
>          return -ENODEV;
>      }
>  
> -    microcode_grab_module(module_map, mbi);
> -
>      ucode_ops.collect_cpu_info();
>  
> +    /*
> +     * Some hypervisors deliberately report a microcode revision of -1 to
> +     * mean that they will not accept microcode updates. We take the hint
> +     * and ignore the microcode interface in that case.
> +     */
> +    if ( this_cpu(cpu_sig).rev == ~0 )
> +    {
> +        printk(XENLOG_WARNING "Microcode loading disabled due to: %s",
> +                              "rev = ~0");

Sadly there now looks to be a newline missing. Easy to add while committing,
I suppose, and with it added (back)
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:11:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:11:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579843.907995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMUp-0001Yb-5A; Tue, 08 Aug 2023 13:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579843.907995; Tue, 08 Aug 2023 13: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 1qTMUp-0001YU-2b; Tue, 08 Aug 2023 13:11:35 +0000
Received: by outflank-mailman (input) for mailman id 579843;
 Tue, 08 Aug 2023 13:11: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMUn-0001YO-Og
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:11:33 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 176e2bfd-35ed-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:11:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9290.eurprd04.prod.outlook.com (2603:10a6:20b:4e5::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:11:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:11:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 176e2bfd-35ed-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cHn4GBhcfzXjOj3FvuSCWnJkh2A9IlPEjSv3iTPCs7G/T9MX8Rauy5IegQpmv5E2Vf9DZ/8Ra7tYVakS37ocT6O2E3zz7zYSBG//AmOWipE8jYUmd35bXwiNaT5MTiK4N4P2E2LBFc3S+3sgvh5aLf0/ngpLfbeJ4JCdwE+u4y63I+uOzz8yhh3td/TIaHpwhCaFSIAFuC5J2b3IXpo4AR0eLVX4utAFPQS2pe19hyOkxv/WheSz1+krrjZ8vAL9HJJ+ivo9fllQUZ4JYw3f1qNrukxNcqfYp20C3rdOY0XdAho01Hy4Y3pAP+9hedK4iuyo0W3N1ubavjqeF2BARQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nw2w4nqLCdZLnnBWhs6E0rXyEuT75m9g3M9OCtBTI3g=;
 b=HaX53deg4BE2cwjBxBDw90J0KqL0zYy7mCWgziuYiaPA6/lQYx/ulW3jMGMvBMPW3EbcqLb3Rey01sCDz2KH7RtCqHwTeifvaA+hafKej6czsU2qzLS7dGKcflPAIENgE+3LEttOBKft4KxGMOGpE4zaYnp+LR1WIz/EZfodVQq0c+PStVnvsNm+hFlR+pbXYIWqlRlquuhaliDlg6KaVRGPPsp3ioGIr/V+p6Lq4cmL8gUIlAqYxi+Jui27iXS0vYd69dz9sa818S+ohFgkpVxePeaQFRKdVAPrOztDvSac5Ic4yxswtMEMpKcYvjKbA992CSLcV5l/9g/v8sGAvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nw2w4nqLCdZLnnBWhs6E0rXyEuT75m9g3M9OCtBTI3g=;
 b=CS39rNaqoyv7lvHyuFzieFAXvm1yBLzFLHS35QU0mUFUuubH+OITqued5NzzdATp1SdKmbmpj8Pumb8TC6KgAvaL13c2Col01y9lS93miY6enMEcIWsl7DnXF+FQOR3E+qvSAQnYpGbfJWh5SNvpT676rxhMvckgRzQ0opM2/ZcjjisF9zVpLdLSIYMciUgh4PTYFFBs/jTPbNp4bwXYg5m3MzTAt/9MLX+ct/junl996St7A78ZpJJtM7o6GviwMuW5HZxBBo9/Hed2gCC+YU77zDEmncvZXmxupm9wzrPpNMLgL7jfG2XFG54d5+p0QdC3+kMSxwr+XIFqSoV2Sg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c0dd699-dc20-2cd7-bfda-d41e5d45cfbe@suse.com>
Date: Tue, 8 Aug 2023 15:11:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v7 1/3] x86/microcode: Ignore microcode loading interface
 for revision = -1
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
 <20230808130331.27995-2-alejandro.vallejo@cloud.com>
 <efee9d93-e1d8-6606-0e97-3f63ecefc8be@suse.com>
In-Reply-To: <efee9d93-e1d8-6606-0e97-3f63ecefc8be@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9290:EE_
X-MS-Office365-Filtering-Correlation-Id: bd2c6662-fff7-404b-67a5-08db9810fa73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	axcxJVMOIBx+/aC2Q8VhEqZfF/uHoSiZGfYMVSmh0GZtCRq5LIeukNod2dF01TNrCKaYucGJsfRfn30k5/Dlzffzsqh2ZEDDhPhvBjWcWe2hD0awqlJZrZl5nXbm3mNUauhlFWlZs9BCTIm1ql3P1z5gqyIQz5GaDnT4QEDJlsB50efBMtiVdbrYpQFlRuqANUgCZwwr9gskrIHycOp/JtIrUBeGlLgnbLMBnP6AkWdV1lZxdV9cZQHrtxwr4p0RRacaZav1dGl1WMmkbNu74FkZwEDVgAJaIT1JMqYn+50+sklECcbU3sx8aBBn1g5t3nY3Q7wFUlfs5K8noPH40GwDr/xvhbF8eBrBl2E5UsMd/TUWoTmjjW1nbPlLoHKWZ3FUib/aIJWmGOr5fIPywB3qJZmiMHO+wiPD6K9dZMmU78JIMqHTqVnu4zDB2ZnDIW5UiSF/9qISUFjbKBndmylaamIVyuakYMevtmDXg3ZYfsSXsaxuyZb1qfUJLi1hqW77X3Ftk7g65pJfbeW/jREgkvcofNe2eckcs3eiKIGhTvfPeeQYlgSkPChiaZdVZTiKI1QxkoZR6G+I9SC7tWUTwh+cpLXKNmNHfCc2gKs0Hxcv5QBQxPyyaMVSMuoZUzGFgbo8BGQI52Iv+b44jA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(39860400002)(366004)(136003)(346002)(451199021)(1800799003)(186006)(31696002)(41300700001)(6486002)(38100700002)(6512007)(2616005)(83380400001)(53546011)(6506007)(26005)(316002)(54906003)(86362001)(478600001)(2906002)(4326008)(6916009)(66946007)(36756003)(66476007)(66556008)(31686004)(8936002)(8676002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aTZaYThuaFFuMC9POU5hOWpDeGhVRzAzWHM4YmdZQlA3NkF4T3RmTFNyOEE2?=
 =?utf-8?B?QU5WUHhRTlRFWmkrT1hJZGhGVm9MWjJsNEJlOXRFdjlIcWxHZ2pEWUwxa0Nm?=
 =?utf-8?B?cDlvY3NONVZMSitiY2JMSm5SVzhSYlVJZG1DcmpOL1owbGtZU1VrUHJodU9O?=
 =?utf-8?B?R2RRbmdYNHpqSmxNakRYZ3NMLzlVNThVTFViSndscnA2NE91cGtKdElhSXRq?=
 =?utf-8?B?SXVzMXR1T2xlb2ZOUnVqdkpFMHlSRTROMFpOcmpabEkwQmd5bUV2WmkzK05r?=
 =?utf-8?B?dEhvVmhkT2daMFpoOVpSY2REWFp2KzRLSTFzSWhSalZXM1FXempuazFGREVS?=
 =?utf-8?B?L3BMT0RBMU12cGIvSHhWN2F0OFFqM3BGWm1EY3A2ZkNDUUFYeDB6ellFVUk2?=
 =?utf-8?B?UGRLM05zSGh5WXVHUVk5VUNxN3hXQUZ1Q2x2SnFpYnVsYVY5djhQMm1wNjRq?=
 =?utf-8?B?RHFZM2tnNUhzaGdPbGF2OVJ6RDdWYStrUUhudUVCa3dIN1ZPU2V6aEtsZVYv?=
 =?utf-8?B?aVJDQmM4TFFGalBURUxvRTh3cjI5SFBRSkhMT0JML2diUFhZeTRIeEVIWjNS?=
 =?utf-8?B?Q1I1WkQ3TFBOdU5XNzJWOTdDSjVSU3NWYURSOWVlUWk0NTYxUlpRdUYzWmpq?=
 =?utf-8?B?WkVFZHUyelJYZ2t5ei9RUzlrc240Yk5qOTRrTUJYNDI4TDJ6SDZ0VWJEbnpa?=
 =?utf-8?B?bHNCL3hYd0k1bkZSaDBQaGZ2ZGtkZm5ZREdvUm5rQjNIV3NlK3A4NWs5eTB1?=
 =?utf-8?B?Umt0cHhzY2pNb041cWRGaHZqWFY3eUVVaUtlbzBrYjZVQnh5SmlSZVR5RGFw?=
 =?utf-8?B?MzFLc3UxNm5iS0FHL05zMERFcitLdENUTnJNU3ZjNU1HQ3BXZVRncXdDZmh0?=
 =?utf-8?B?UWlUTTJ4VlRleUxQUHNTSVF3TFdGK0Fza0JRTk0rRVNLRmowaUhhTFM0azFG?=
 =?utf-8?B?SmErdlNDRjlGVWd1ZTQ0Njd2aHB1M0l6RlhmdDZuRktUZWdmV0FLZmVrcTlU?=
 =?utf-8?B?ZW5hSk5IS0hVeUJUQmNDZlYvMlZ2Zi8raHBaUkE4S0RKc0pPeTlRZHJKTVRn?=
 =?utf-8?B?eW1sMDNOT01ubVBkT3EzU1V4ckt2NWVUcVBxMDhRYkJJRnJMU0pueWNzbmZF?=
 =?utf-8?B?RElpTjFmclE2OU1PZ0RkYkRUUGU2RlNDMGpuSFcwOEF0MlBlbk1JRm0zU3pB?=
 =?utf-8?B?QlhkYkdYTVJrSDNIb0NoRHBMVFlmNEl2U29iZTF1Y0poaUxVcXpxNHFkTmlu?=
 =?utf-8?B?Q1NISzN6MjVwU2Z4ZGJNNDNyYXJkbUhkZmNRRERPU0JaeXNCdFB2VFJ6S0VB?=
 =?utf-8?B?MUlVeXB1ZU5ieTA0dHA4cTg2RHQzT1hMVWpFcU5HY3VIMmRBQUJYMUg0QTBR?=
 =?utf-8?B?THBWTjFDbHVqZHgvWit5ZXArMmFCRFdpWjF3ZXA4dGJRbDNkWExqRjhuOGlC?=
 =?utf-8?B?K2lIMW1NTUV0Y3phM1RWTUp0US9LK2xhcUVTclpPeS9PTVhNY1VseldiSW1C?=
 =?utf-8?B?NFVNK3ArMmZvY3NpL3JvVGVKZWtsNmdlZU9KTHRUeWVQT3IxN2hOVjZEdGlG?=
 =?utf-8?B?bjFIQVZ5enYwLzRsTWdUOVowdWMzNjRENjJSOStzTkxXWTFHZzlzK1oyRWNP?=
 =?utf-8?B?d1VwL2sxOUVJZm5qQTJuam54YUVUSSsrUUFualliRndJd0JkeWxEbmtWNXd5?=
 =?utf-8?B?WWl4NFFYbTlzY1BNMU1vMStvMUVTM0lpV3d5bndmZ2NVQ1FhdVE2elcwK2pn?=
 =?utf-8?B?L2NVM3QvUlBFU0c4VGppdHpvWDdPQUN3RGhqdzFuL1BPcndoYlhLSnZKY3Fr?=
 =?utf-8?B?RWlwM0JXUFR3M1pCbU9xRDBEUGlNYVhDSThZMHQxVmpQWXNnQ0FPNG9sajl3?=
 =?utf-8?B?NnhuVGptSmVFVTA4cmZLTk1vTHV6bFQxL0JmQlBFUThPMEVKbUw2d204NThw?=
 =?utf-8?B?eTA0aGR2NmNWbU54WEVIa1hKdFlHMDY3UmhHRGJod2E4RVFzQXpubkxsaVRh?=
 =?utf-8?B?a25GcWlOVEkvTFJ1S2Z5dHArY0ZYaDl3a3pXb29lanNPMHJrb1cwVHkrOXBq?=
 =?utf-8?B?Z3BuRGVaVUJ6VVVXQkx2Mzd4aWx1SVVoZWxVSlZLcy9tMVRyMzE5Q2ZGOWpV?=
 =?utf-8?Q?F1O1eNfQ6HiY7lwPoY8B/ilPs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd2c6662-fff7-404b-67a5-08db9810fa73
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:11:29.3151
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XiXJ2KHU0Y3GocbKEz7GFhkHCwI0yi1yzLN/CxxCxJywAtkLkPQcVE2uTshU/pR686JHKwUQWasAq3c89IjgJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9290

On 08.08.2023 15:08, Jan Beulich wrote:
> On 08.08.2023 15:03, Alejandro Vallejo wrote:
>> --- a/xen/arch/x86/cpu/microcode/core.c
>> +++ b/xen/arch/x86/cpu/microcode/core.c
>> @@ -867,10 +867,23 @@ int __init early_microcode_init(unsigned long *module_map,
>>          return -ENODEV;
>>      }
>>  
>> -    microcode_grab_module(module_map, mbi);
>> -
>>      ucode_ops.collect_cpu_info();
>>  
>> +    /*
>> +     * Some hypervisors deliberately report a microcode revision of -1 to
>> +     * mean that they will not accept microcode updates. We take the hint
>> +     * and ignore the microcode interface in that case.
>> +     */
>> +    if ( this_cpu(cpu_sig).rev == ~0 )
>> +    {
>> +        printk(XENLOG_WARNING "Microcode loading disabled due to: %s",
>> +                              "rev = ~0");
> 
> Sadly there now looks to be a newline missing. Easy to add while committing,
> I suppose, and with it added (back)
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Actually, the 2nd string also is indented too deeply; unindenting will
in particular help with line length in the 3rd patch (which isn't to say
that the line's getting too long there, but it also doesn't need to grow
as long as it does).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:15:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:15:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579850.908006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMYg-0002EC-S5; Tue, 08 Aug 2023 13:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579850.908006; Tue, 08 Aug 2023 13:15:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMYg-0002E5-N0; Tue, 08 Aug 2023 13:15:34 +0000
Received: by outflank-mailman (input) for mailman id 579850;
 Tue, 08 Aug 2023 13:15:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMYf-0002Dz-30
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:15:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6dab170-35ed-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:15:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9952.eurprd04.prod.outlook.com (2603:10a6:150:117::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 13:15:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:15: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: a6dab170-35ed-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f72ammhn/hSC7P8T7jXx2rQk+VxGafDNDTQtUzSAiKy5Yvk4jPalGu0Cb3r0tWm0YsqWgIP0Q0acPYDCktNHuCvMC8gk6ITys/E3Z2LcbzjrMBiHNo93qUmIo9kWqh+bAkJVta8ZQ9icIVlIX2ymXKGDnLhs2jrPxJaB4btv3aUEwg+l2YIQUUQv+d+srvrHEB9iuSpPJBGC6QrsYJPbJn15pNJxgbLYXFW6gWcKCQMnGAH1g2sckF7z5Kxe4psyg6kXoMOW18vP9J7Rwrfst/ZfjQQNBJMXEc0n8+o19QtjzN4J5HeNdInfx7KEHaG9FewC56ydk1HW6nB7EEXW2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lAOXKKo0TLRDPIkp9mwQunwjQIo9OyvBvSz1/TOsE2w=;
 b=QD0tJRFUwNnIXH5rbnuVPVu0RHbhCxkE+T4OCfu9RcPKPHPUeDqeS8X0FA+3sKya/D4XhW9p2usbVe5dRaidt8rCL1Ue60UPPpOOLPW022QRyMzn76nREEIGzp6tLn+zmbaUT02ppRn9itZmLRQG6Nf//2f3XQQsSTnKRMu24qwvpZBoranFgrtrDbmeVxsV96tG7MMQzqTeJPx7Ba2Wc71f1E9zpRaFXwcnGbMo8FPkM0KFZbUFatWA/HMTZH2ZEZwdt5tgH9GcUOISQbpRAXDA4KmBevb7/Zsh9S1ikkYO2vu9Hnxhh4wZ0a0qM3lcQloFAG5Pmv8eJ5DMrLchdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lAOXKKo0TLRDPIkp9mwQunwjQIo9OyvBvSz1/TOsE2w=;
 b=h4Rw/cUIz+NOqKNnwBFclaJYcf+lERE74TRMKDp1vc8RTD0IxhagkVnOm36p7QalWFxkP8xQYVyP6de/YJVF9nL6omYlUtzaHbZdWbNj7LrfVwsGqJKQ+PH4ZY6S3bmtqJim9OWpRRa49F//ZvxHs1CtyTPu2hv81Lk8droXOEVJZihLmeWTdyeF+xhN0P9wz2jlWFAHt6UeDbX4Q0zzOS4PwZUnzyHj5FKMjiPfmCQXwYfNf2pHwuQmPRMT0u4BECDCpd+C/s7gQ2ijDOUHlnk7j6Y2lzhC0C5sbdHVj1fLXHS08KjY7G3jlsUo/y4B/VCoAE5sMeEFz121JO/6iQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c82ed3eb-79b1-e7da-bc7d-1cbf9e12be9a@suse.com>
Date: Tue, 8 Aug 2023 15:15:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 9/9] xen/ppc: Enable full Xen build
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <44fe62a196e2621ac88d0f4b9e7ee97bf1874d59.1691016993.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <44fe62a196e2621ac88d0f4b9e7ee97bf1874d59.1691016993.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9952:EE_
X-MS-Office365-Filtering-Correlation-Id: 9214b949-334d-439f-ba13-08db98118972
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uwYl7XHiY9cvBaPHtPwpJhRCOZwxUN2gpDWFdfQRk3anwDmFV8BvGcAbqoEJeDh2VwiopCoHs1Dupse+mUAsuQvqr8oSSIjwX0deezfUGXe3V3Kg+qrxO3c8dcMvFjkOLxtWN5MfuZ1sw9cfIAPYgKRSu3s7lx4fvBJSARMjL8WUOnSaP8ZoImdRwyk92VHx46qpFdJaT4qhaHaaeDrPvKGApxYakpoJImWWPAgC0t4cdA3cEWMhbIn39FQBFfln8qtXAimG/0w3M3/4Yy9//cFXGPbMMyJVmkWmNnOFq4M2zW6WBlfS+5fBgIlg82AP5NHgqfPW0rso4s0ceoz4ANkKVqkSz8UzCziDczRRJroFWlwnPfFK/hH9x/i8OUvobvcXskBSsjj4gyy+6wgImAFlFoTgAlj95pKT/lK0jDEt3Ky5lWBuxn1G2vkUWANw09RMLOrK/zh/CWljh0bZHeW2jwiC9S98SzTwBh65/vbP368U8n83ybY78OQ/95Kt7lajOdflldo99c0N3GGYmNJ4PT/lIknk7p7u43l49ykbwMVjVldai4TCckav/vH1fbgWXoQxbxHjf3MRXCy2qTek9qDXMSb6C+OFZo/ppSvqTkBVdXpqnnwCaPjUabgJBeWM6v4RwJh2MspFue7/OA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(366004)(396003)(136003)(39860400002)(186006)(1800799003)(451199021)(26005)(41300700001)(2906002)(5660300002)(31686004)(8676002)(8936002)(2616005)(86362001)(53546011)(6916009)(6506007)(558084003)(316002)(478600001)(38100700002)(31696002)(54906003)(6486002)(66556008)(66476007)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bStyUTY5UFhwbWN2UUdwa3FEaFh0T0E3UWlDRzFOMnJIVVc0WXhoZFF0UzRs?=
 =?utf-8?B?Vy9uTFppRUdNMTA2UTZTaFhJak0wYVVMaXN1UzB2bzlyZnA2Rk1QY3V1VWRK?=
 =?utf-8?B?MjZnOFVCaWU5Mm9JcHFZemNVM0VWbnZFUUtJdzBTTEpDZlZQSjZjcmVXbERZ?=
 =?utf-8?B?bjVtTGFsa3NXNXV6d2lUYVk5bC83UWZRRFloVk4zdFNEN0wydEcvMHZlK3Nr?=
 =?utf-8?B?bC93SzJVOEYvSmpqZHFBMWZ5dzBEeE9wdHJOY3dCZ0E1S1pONXBVY29HNDBi?=
 =?utf-8?B?NGxrMTNKYnF4SFZVQVo4NjFKc0lMQ0lzVHkvZERGamw1blNuWU83T1J2dW1y?=
 =?utf-8?B?UkZBaGZra2RGQlJPd3RDb3ZVbDlBYTdRd3Y3N1hSc2pvaW9yQ290aU5nRzFM?=
 =?utf-8?B?a1pna2lldjlvazhWYTc5bnE4YWFGaWhFUnV3M0dxRklkYldDamdrai8zQjJD?=
 =?utf-8?B?dTFBRVFWcWcza1pvQ2RPTHk1WHlIWUFmdTYrSjFHSDhTU1NMdElvdnI4bUFq?=
 =?utf-8?B?YmJGQ1V5SUNDWk1kZTU1czdCdmIxMS80eFdraTAvcGtQdHJqUTAxTVVuL3Rr?=
 =?utf-8?B?Q29CZVhRL2pxYlNmeW1EakxHZlpnVzhzcUZuV2lxblU2L0VVL0owL29lNG43?=
 =?utf-8?B?Qmh2OVFzcTVzT29pSE1NWG5MMFVpanBDWVE2b2lMYTdWWWM4bVJpYkZkV0Nt?=
 =?utf-8?B?SmlLRERPRFVFcWFTdStYV1VkblBDYTBrWUVSQ01KVWFURTVxMDhoL3NLdXU5?=
 =?utf-8?B?RUhtYTViR2hEQ1kzK1ROeWtpVWliOWo3UysvZEpOTnliWEp6SVdYNHNZeVpZ?=
 =?utf-8?B?ckJNcS9ndHJZdmZuRHMveS9PMVY1MkYvVXJINmlxRkVOZjZlQU5rN1E3OW9k?=
 =?utf-8?B?dEZKZU5BbGdkdzBTMFZOdENOSmxzbVk3dUFqdW9tbjhqVENqTXlKUlBHVXFN?=
 =?utf-8?B?OUFtWnJBYW94MFZhSElHWnZOMUFFYTRzcHR0VWRqSXZjcmU2bzJOY2dUMFor?=
 =?utf-8?B?aDAzMHRrMVNOb0oxUm9kMXZucjZ2K2xuZHBpNDB0VHA5RVRTUytBNFJaVFhH?=
 =?utf-8?B?R3pJSTNtOTRxTDZlWFJIdEFKZFYwUWdNQU5pSFBoaWJjWU5NVWIvWUlpdEEw?=
 =?utf-8?B?RU03Z0ZPQ29XUGFLdnp5SmlrTDJkN0JWTW1qTXhnRXhzUHY4R0tIWE1IYUU1?=
 =?utf-8?B?dklnWEVZT3gwTWRXTXhuTWx0TXFzYy9XZFhVYlFqOFZzWEtMdEpycUxlZnBL?=
 =?utf-8?B?Wld3dGF4SXN3MzZFdEh0WWVWWUJMekdtU254dDZ6eHRBVS9WRFg0TkdQdERM?=
 =?utf-8?B?ajdKZXhCaWdHSUlnRm4yenIxMnRSTHppYy9rR2dzS0xhKzc5ZktCdkdhSGJh?=
 =?utf-8?B?RzNONTNJdTIxQTNkT2lpemZsVUJiblZ5c0VrZTNudVp4ZTQ3K0J3L3JPRTdK?=
 =?utf-8?B?T2ozWXhPbFkvQkZscEhqbEhZYkZUNjFUcCtHaktaQWZ0a2phVVBHbVQvS092?=
 =?utf-8?B?QTlpdE85UVV1ekdVV0VoalBvWmdZU0xMcE5GWDFydlgyLzE5blNOdWNTeGRY?=
 =?utf-8?B?bU82SFpFZU9oL3lDVmY5MGtsV2FZZElVMHRtd21DUU1acjlwZVZFRElxcFJZ?=
 =?utf-8?B?NEFWQlM5RWw5U0pBOEZFY09PenliRDdhdkFPdjhORm96Q3FWRlMvNTFIYWtr?=
 =?utf-8?B?SXc4cHJHVE5MWXBBUDV2bzRUNjNRdlEzbml1Mk5CMFQ4bG83WTltckR4SXlq?=
 =?utf-8?B?bHBEaW03YUh1NWNqWnRFNzZ3eCtwMWRxekgxUm9udzRmcVVNbTRWTDJvNnJJ?=
 =?utf-8?B?S0YxSmZldnJqNm1nU0daZzkzaml4WS9UM0UvRWFibjZKakJJVDU4TjZzaElR?=
 =?utf-8?B?K3AyOFNkbEdKNkhHYlppa0t4SHdDZFZZa0EyUU4xQllvbDEyK1VhbHBTd0lL?=
 =?utf-8?B?NU1takxIVWV4ZkZGNzRoQ0NQaDNjY21ZWGdqc09zYjJERjd3RldNN0o2OWxt?=
 =?utf-8?B?WTBtZXE1c3pPbCtwOXRNTXkwMExTZjRzUlM1ZG8xNUQ2SFJuQmY5bFg5Z0s1?=
 =?utf-8?B?U2xOeHpjbllTYWRDazZ0U200Zjc5U0Z3VHFRS1pkNXMzK0xsNFkzTS9lSkRS?=
 =?utf-8?Q?Ql+FwJI7rQdl3ZB4bwx4UqHCY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9214b949-334d-439f-ba13-08db98118972
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:15:29.2754
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AKIB+YlaSCcBNzAn36BUaRg2p5Nf6+9rOjayTTE11vkcMmrsUvTfdjVTC8X4VzRUUx6vgBJHNLdTK1fr29id2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9952

On 03.08.2023 01:03, Shawn Anastasio wrote:
> Bring ppc's Makefile and arch.mk in line with arm and x86 to disable the
> build overrides and enable the full Xen build.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579857.908025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfK-0003yN-OV; Tue, 08 Aug 2023 13:22:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579857.908025; Tue, 08 Aug 2023 13:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfK-0003yG-LS; Tue, 08 Aug 2023 13:22:26 +0000
Received: by outflank-mailman (input) for mailman id 579857;
 Tue, 08 Aug 2023 13:22: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMfJ-0003ij-Ia
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:22:25 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe16::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c943163-35ee-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:22:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB8052.eurprd04.prod.outlook.com (2603:10a6:20b:234::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:22:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:22:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c943163-35ee-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XyAPWua5zCdja2FoLnbNhQRPl3z1vuQj1DMYL52NCjwHJAVAiggMaT62rcctPVBNFjLSgI88yCHqoQRb7LIt+mi3AIPGUZCi1V8tAxaFP4P7wOGuRMQqZ6po2n0y0XxXKfOtuqtzU7Jr5Qg22ORKy/hV9s8EKtgjKa/wDbs76cfqon2n9hibuFcwvN3SdhhU1RQmNvv7rm0dAy7oLJWWYbfDQhoyLSD8Q5z/k3rDcl0MZhScUTNJMZxT/WlONIB90H6xHm021O+8A9h+CqideoZT9YfyqB0IoFFB2S2iYWaSaH8TpGKkE3XLgyBdlmWznHv74+1p9MNCfJIP0/kEqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LXcdRd7ipB1pLLnNe0yBmXkY6bBajuyKhto5TUY9SDY=;
 b=RP/2mBoj1qbXJlvqHJNBAYCHstOvVc4EO6CM9sC/MSqMlJwnPMOmddioDoKYIFbb3kf7SaG6LCSKHf7fEKYXXAVjr9Metm2/etVhCWO2acQ49lAeXFuslZj2aaqWYfLWN2X3+Ae9VddJxxiz16wGZgHJf+dMxmd2Z9Vp2KiA2ZNM5GxcOvLo5jDyXmFPEhFIC4vnaZK4qzl4XTTVmbKhI9iyTZxn+4VFQVs9SAtvx5seAnfYzYjKuOEicpXuHK7Y6VQVgY2QXb2ejb57XwOEzqsgZxDrzCJU5p7iEgNpJjvJBqIPAxaMUWt1e8pqeFTv+swAEzPjddN4LP8XZbSE8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LXcdRd7ipB1pLLnNe0yBmXkY6bBajuyKhto5TUY9SDY=;
 b=Ro70st6lFaSyU1rN7o2pyFAdPY5RYeOhYYnT/oIdbsHndzTL8W+IFxkPDiVxfEqlmbEZ+jZXv1xxFfNFhKLsir+atsyAOYss+vFUr3CTDarMTHZ5OxXb/+B2KUmfzCNrWE+o48li07lT9wTkfxjI9RC4s7xxoXez0vLWJHvd0v/x/m0wmqaKKM4o5ncd1XGPIbaXTiyl0akOFPLB7nGI7MB7HwXP0mwru5kjxlEoRawkv5pND93DhHi8xdcJi1bRnJtTmfNqiC21kvlimWMi1vgsgYouqq/G6z8IrT5NI4yOYlxvRdTff4orsELwTatclZZlrI2EzM14Bg89/OLLhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e5f208e-7419-b16d-c705-592959dc0ea1@suse.com>
Date: Tue, 8 Aug 2023 15:22:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v3 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
 <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB8052:EE_
X-MS-Office365-Filtering-Correlation-Id: 61298191-510b-42aa-0b4d-08db98127f03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TTWOnXNa/2yloyvnNKZ4WJFl8yBX0CiRydM3Ioi1kXnQU0OMu8LMsWOZUrlObdWaVQNHLdWSUgP3RoYi84tDpNq2CG4a5TwuOKZvlr/h6mJQljjsqWsrIazu8W74j1zeiH7599c+/tlUAspxrZvAXUUmmfd3Ulp6oa+3ApRkPQTnfoAAFw8+4MF+2ijh4sF5hJZd8AVLhl4APaJTncW3ohncwRDur37YnaxGzGu/+p1G+A8cmm1jQvZ9ChcnzTnoJvKMahEMDGBeT6IMaOFPSyqjH7PjXvkcAdB/vDhFGzjxYD7cAc4fsxgKylqvB4Ak4OruUKt5sL94VEHKZBYgKoY7YfRrq3PY9aXKhqICkdQSPUVf9E3NWRUk1yUvPRGxan4MMlllevlAeblD6eie9F3JIwG9oWTA8QmMFM7EmtNulkj7KbW8OZQd0FkesGA7lKKRDum2gXrCGTL2orP4uRVqP0WqxwT2OIl8Bdcls5M5qAtLthnGRNb5pWw7fhp+s4Q23DzHXcucGgCL5YT08D9lijKGvftx8aQnIgY34PbI+lc2mglyey4fx2juoklDI30P5kRPDTrYynBdULQIyWt+/h4UND7gneTlNcgSxumBZIi+nzfK9dpBKpN01miltAzW9irdJymkxRnKY8XvoA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(136003)(396003)(366004)(346002)(186006)(451199021)(1800799003)(66946007)(6916009)(2906002)(66476007)(4326008)(6486002)(6666004)(83380400001)(5660300002)(7416002)(66556008)(41300700001)(8676002)(316002)(8936002)(38100700002)(2616005)(54906003)(31686004)(478600001)(36756003)(26005)(6506007)(53546011)(31696002)(86362001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmxxYjVYSStBQXppRi83Z0tJMzBVSnp4aHBRbFRaZ2tOTW84TURKWXlXYWc5?=
 =?utf-8?B?U3hmUW5FVUsreDVNa1dOQ2t6KzYzYlM2YkFaUUN2TUpNNGw5dzUxTVg5bWlN?=
 =?utf-8?B?RVdROXY4YWJYd2JzTjBudWcwdFNHQ3k3OHFmZnRrNGF3TFdXeE1JbTV6eHNT?=
 =?utf-8?B?VjMwSnZDQWJxR0pxVmt3L1BlMURTVjdrcjQvdTRWaEdxRGdQOStPN3VFOGNr?=
 =?utf-8?B?VW1UNnQ5dTd3VkVNQ3VBc253cnk1cmEzSTJVcGd0SnNDQVNBZXk5UUptWnNn?=
 =?utf-8?B?cUZOeEZnWEFFWUlTMTlGWlhpZ2hPNm9FMDJweWhUMHk5aWhDYUdxRG44Sktq?=
 =?utf-8?B?U0lWZC9IOFl5SS9naVNVYnNPdUF5NWg5T2xvRFhDZDlFZ1RXbGd0RzFJcktl?=
 =?utf-8?B?SHZFa3J3YWYxQm5OV3pxWVp0UDFHMTFtSTZrTUlsMVVaQ3hsVFNBOFhEeU1P?=
 =?utf-8?B?cXZEUWU4dlFpWGNKYWtibzZhS3pHZnU4aXVmeFRWaHd0cEd1SzhIZGE2dXYr?=
 =?utf-8?B?K2dHUDFWeG5YYXFuVE4zaTlqM2wwUVdXeHBXQW1lQllUMmt2MVBIcHFzY2p4?=
 =?utf-8?B?c1IwTEtEWHdHL2JFSURJVVVNeDdJMEdqaTFjTDhYcUFWUmVGN1JsNWtrZ1dB?=
 =?utf-8?B?Q042eVJKcGg2RmpPeTR0ZnZ0NGZGd0Y0NzNXVm1zaE05K25FT3ZXNGhNUXRZ?=
 =?utf-8?B?YlgyK21na29kUzhiL3FVRjNBYm96T2xLSUVRdjg1TFhzejFyaENjd20wVzNs?=
 =?utf-8?B?a1VMOEgxVTVwMTUycUk3bTIwR3ZBbnJ5UWhMSVVkeU13K2JQSy9xTm5qMGRW?=
 =?utf-8?B?aE9PN1JiRzBuTmw2dFNqN3FiTUxHN01CSVYzN0hrZWtRZnVLemJIYmpIN1N1?=
 =?utf-8?B?RHBHN2UyS3QxS3U5NHhyRG1nbkNOM0Y1L3BnN2RFTnBZTnFiSk90WUxibVg2?=
 =?utf-8?B?SEdFa2pPbkFqQjhZTHE0WnUxR3RXRVFoVjBIeEFpc292NG9hSXkrWFBibHFa?=
 =?utf-8?B?aXE5N1dnVXNvbm9pc3FHWnBXcWorbWJXTmRXS2owSnp0dlVkUnpJdnZ2L2l4?=
 =?utf-8?B?djBGcG4wMitQMFMwTS9qUVlKc0MyLzJjQjR4ZUIxOEkrblRSbmRRZCtqOHlH?=
 =?utf-8?B?YlFoT1A2OE5NYVFRdGt1SmtxOXRRaFRIWmFOckpqekNpQVN5OVc4eXV4YVdX?=
 =?utf-8?B?VHNERGpYZXBMaU5TNEk2V0dxb2dVT2Yyb2M3Nk15N0toaHJ0ZzFQcFo1WTIy?=
 =?utf-8?B?N1BLTVBUeXZOZkE5WGhoWlQrYk5GdnF6Z3RTWGlFdEFyZkdQRGk2VGdRc2xF?=
 =?utf-8?B?OUJPS3JiMlJwME4zdFhpMSswR1FUazJRYm9ITmF2bEFtdkYxdXRSa3llTkQ2?=
 =?utf-8?B?bUFvZE10bGZFc1d5Zkw5eTd5cHdqOWs4NU1OQTJOUnNmZ0Jjd2VmNVRScmFM?=
 =?utf-8?B?MmdobXUxQUpSV2hyRHRGbnRlQkMzRVVEMUZsZlBnMmsweHdMNkJablZNSS9p?=
 =?utf-8?B?dnMvZ1JXYUE3QWNDVmtNSVIrb01CN3BXNWRtSkZLN1Q5T2loZlNMT2VUU1hK?=
 =?utf-8?B?ZXBmZ1QrRXppNEx4UU8wV3BERzY4UnVkWFpHd3U0a0FSZ29Zc1RQa1FVSWVM?=
 =?utf-8?B?QVFKV0JUK1pkMmdpNk9CVkozdzl4YmNCTnhxQ29rc0JjQkV6ZGFaVi9NbTJm?=
 =?utf-8?B?VU1zNnVobTZlOWY0SHZUaVZFbTA0azhnWjVUOGl6clBiYVg2eWl3MU92WjNW?=
 =?utf-8?B?blc0d1V0aDdNSzFIeTl3dnp3RVNDd1I3V0xSczdhdEhJcTBaeCtuZEpzbEYz?=
 =?utf-8?B?bXFSMnZRT0p1OWdMdzJDUHdwc1ZGUGFWbFZ6cG1QS2JHVnNmaEl2WERsNWp5?=
 =?utf-8?B?cFc0MURFdFNIaFRGNHlIeGE4QXg5R3BMcEt6UDZOa09CVys4U0ladDZwczhv?=
 =?utf-8?B?dGZ2VVgwdUNWZTdIeThtUWNEQUhNTEIyTVRFaUdVb3lQYkhxNHBDUkdTNTdC?=
 =?utf-8?B?eHRmNUJ2TENVcXRtZjZ6KzlIRVBOQ3JIYmpxWXlMV1pSQVRxMUc0alZTRXp2?=
 =?utf-8?B?ZFVJN3RFamFZeWxaMnB3NFVvOHh6d2R5YzI3Z2djN3k4ZUFDNlpNNHN2N0Np?=
 =?utf-8?Q?cE2ANH92/mUX65THpvnU1dpn8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61298191-510b-42aa-0b4d-08db98127f03
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:22:21.2260
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Df371Tflgggjh0QrSEvwQkWkH2s/oz1/eQTTo5ndeFfYJcb0eqH5hx4CCzeYkVwrH3tbFW02C7YKrQJ8CoXyUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8052

On 08.08.2023 14:22, Nicola Vetrini wrote:
> The local variables 'irq_desc' shadow the homonymous global variable,
> declared in 'xen/arch/x86/include/asm/irq.h', therefore they are renamed
> 'irqd' for consistency with ARM code. Other variables of the same type
> in the file are also renamed 'irqd' for consistency.

I'm pretty sure I pointed out that Arm uses a mix of "desc" and "irqd".
So "consistency with ARM code" doesn't ...

> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -281,7 +281,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
>      unsigned int nr_entry, index;
>      int r = X86EMUL_UNHANDLEABLE;
>      unsigned long flags;
> -    struct irq_desc *desc;
> +    struct irq_desc *irqd;

... require e.g. this rename. As mentioned before: Let's limit code
churn where possible, and where going beyond what's strictly necessary
isn't otherwise useful; there's already enough of it with all these not
really helpful Misra changes.

> @@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct msixtbl_entry *entry)
>  
>  int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
>  {
> -    struct irq_desc *irq_desc;
> +    struct irq_desc *irqd;

This one indeed wants renaming, but then - consistent within the file -
to "desc". At least that's my view.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579856.908015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfH-0003iw-Ga; Tue, 08 Aug 2023 13:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579856.908015; Tue, 08 Aug 2023 13:22: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 1qTMfH-0003ip-Dh; Tue, 08 Aug 2023 13:22:23 +0000
Received: by outflank-mailman (input) for mailman id 579856;
 Tue, 08 Aug 2023 13:22: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=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTMfG-0003ij-MP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:22:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b1b3759-35ee-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:22:21 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5733C1F854;
 Tue,  8 Aug 2023 13:22:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1DBAF139D1;
 Tue,  8 Aug 2023 13:22:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id aTeDBY1B0mSEFAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 13:22:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b1b3759-35ee-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691500941; 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=UQ+5zBn1XAZxftfBB0XZsFZk9nESEsmFs1t+RvZXh0w=;
	b=rXseobaNJvAPZ//kgm0nIWfo1uxKnsTBKgMspqVsbiZ5VBgUKdFIOY8cKULidc4g6Zb3ax
	PKT2ispOWxv/29uearM7QoEe4e+3AooUIuICjSaxQLrIX0J3NQOZtNCNLwa2Clye28oOCb
	CINpxGFChosvVyS5zL+xCpJ4C1Ua2vk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/3] tools: add some more configure options
Date: Tue,  8 Aug 2023 15:22:16 +0200
Message-Id: <20230808132219.6422-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add two additional configure options for controlling the build of
pygrub and libfsimage.

Changes in V2:
- add check for --enable-pygrub --disable-libfsimage
- new patch 3

Juergen Gross (3):
  tools: add configure option for disabling pygrub
  tools: add configure option for libfsimage
  tools/xl: reject bootloader=pygrub in case pygrub is disabled

 config/Tools.mk.in  |  2 ++
 tools/Makefile      |  4 +--
 tools/config.h.in   |  3 ++
 tools/configure     | 74 +++++++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac  | 26 ++++++++++++++++
 tools/xl/xl_parse.c |  9 ++++++
 6 files changed, 116 insertions(+), 2 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:22:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579858.908035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfN-0004FS-21; Tue, 08 Aug 2023 13:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579858.908035; Tue, 08 Aug 2023 13:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfM-0004FJ-V1; Tue, 08 Aug 2023 13:22:28 +0000
Received: by outflank-mailman (input) for mailman id 579858;
 Tue, 08 Aug 2023 13:22:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTMfL-0003ij-Py
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:22:27 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e6214ea-35ee-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:22:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 034282031B;
 Tue,  8 Aug 2023 13:22:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C7F1A139D1;
 Tue,  8 Aug 2023 13:22:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id CO8JL5JB0mSPFAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 13:22:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e6214ea-35ee-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691500947; 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=frP7fLjhFOfOILeVRX9wP4pxrjeCRuK4+ypxOEXe4Qk=;
	b=DkzjRWwhBNVPOzGTKjT26u3UZeKnxC4cW3qeB3ONufmx0e62k6RuTHRsAk4nGQabXrEwA6
	K0jeokb7VtAWRJtLkEPEG9XKDWCXiGXYmLW+NSSsHKgNwavvdSQO+FMcCFo8Kw4LLXiBFY
	m+tsdBxNEgIgrJOOXf+SfZoN0rAb1OM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 1/3] tools: add configure option for disabling pygrub
Date: Tue,  8 Aug 2023 15:22:17 +0200
Message-Id: <20230808132219.6422-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230808132219.6422-1-jgross@suse.com>
References: <20230808132219.6422-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a "--disable-pygrub" option for being able to disable the build
and installation of pygrub.

There are two main reasons to do so:

- A main reason to use pygrub is to allow a PV guest to choose its
  bitness (32- or 64-bit). Pygrub allows that by looking into the boot
  image and to start the guest in the correct mode depending on the
  kernel selected. With 32-bit PV guests being deprecated and the
  possibility to even build a hypervisor without 32-bit PV support,
  this use case is gone for at least some configurations.

- Pygrub is running in dom0 with root privileges. As it is operating
  on guest controlled data (the boot image) and taking decisions based
  on this data, there is a higher security risk. Not being possible
  to use pygrub is thus a step towards a reduction of attack surface.

Default is still to build and install pygrub.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- better wording regarding security aspects (Andrew Cooper)
- add HAVE_PYGRUB to tools/config.h
---
 config/Tools.mk.in |  1 +
 tools/Makefile     |  2 +-
 tools/config.h.in  |  3 +++
 tools/configure    | 34 ++++++++++++++++++++++++++++++++++
 tools/configure.ac |  5 +++++
 5 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index b7cc2961d8..432d7496f1 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -48,6 +48,7 @@ CONFIG_QEMU_XEN     := @qemu_xen@
 CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
 CONFIG_GOLANG       := @golang@
+CONFIG_PYGRUB       := @pygrub@
 
 CONFIG_SYSTEMD      := @systemd@
 SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
diff --git a/tools/Makefile b/tools/Makefile
index 1ff90ddfa0..bbd75ebc1a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -36,7 +36,7 @@ SUBDIRS-$(CONFIG_X86) += debugger
 SUBDIRS-$(CONFIG_TESTS) += tests
 
 SUBDIRS-y += python
-SUBDIRS-y += pygrub
+SUBDIRS-$(CONFIG_PYGRUB) += pygrub
 SUBDIRS-$(OCAML_TOOLS) += ocaml
 
 ifeq ($(CONFIG_RUMP),y)
diff --git a/tools/config.h.in b/tools/config.h.in
index 3071cb3998..eacf1438d8 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -45,6 +45,9 @@
 /* ROMBIOS enabled */
 #undef HAVE_ROMBIOS
 
+/* pygrub enabled */
+#undef HAVE_PYGRUB
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
diff --git a/tools/configure b/tools/configure
index 52b4717d01..44ec7a6477 100755
--- a/tools/configure
+++ b/tools/configure
@@ -707,6 +707,7 @@ AS86
 ipxe
 qemu_traditional
 LINUX_BACKEND_MODULES
+pygrub
 golang
 seabios
 ovmf
@@ -811,6 +812,7 @@ enable_xsmpolicy
 enable_ovmf
 enable_seabios
 enable_golang
+enable_pygrub
 with_linux_backend_modules
 enable_qemu_traditional
 enable_ipxe
@@ -1498,6 +1500,7 @@ Optional Features:
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-golang        Disable Go tools (default is ENABLED)
+  --disable-pygrub        Disable pygrub (default is ENABLED)
   --enable-qemu-traditional
                           Enable qemu traditional device model, (DEFAULT is
                           off)
@@ -4287,6 +4290,29 @@ golang=$ax_cv_golang
 
 
 
+# Check whether --enable-pygrub was given.
+if test "${enable_pygrub+set}" = set; then :
+  enableval=$enable_pygrub;
+fi
+
+
+if test "x$enable_pygrub" = "xno"; then :
+
+    ax_cv_pygrub="n"
+
+elif test "x$enable_pygrub" = "xyes"; then :
+
+    ax_cv_pygrub="y"
+
+elif test -z $ax_cv_pygrub; then :
+
+    ax_cv_pygrub="y"
+
+fi
+pygrub=$ax_cv_pygrub
+
+
+
 
 # Check whether --with-linux-backend-modules was given.
 if test "${with_linux_backend_modules+set}" = set; then :
@@ -4595,6 +4621,14 @@ else
 fi
 
 
+if test "x$pygrub" = "xy"; then :
+
+
+$as_echo "#define HAVE_PYGRUB 1" >>confdefs.h
+
+
+fi
+
 
 # Check whether --with-system-qemu was given.
 if test "${with_system_qemu+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index 3cccf41960..0d1c8f9fa3 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -89,6 +89,7 @@ AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([golang], [Disable Go tools])
+AX_ARG_DEFAULT_ENABLE([pygrub], [Disable pygrub])
 
 AC_ARG_WITH([linux-backend-modules],
     AS_HELP_STRING([--with-linux-backend-modules="mod1 mod2"],
@@ -184,6 +185,10 @@ AS_IF([test "x$enable_rombios" = "xyes"], [
 ])
 AC_SUBST(rombios)
 
+AS_IF([test "x$pygrub" = "xy"], [
+    AC_DEFINE([HAVE_PYGRUB], [1], [pygrub enabled])
+])
+
 AC_ARG_WITH([system-qemu],
     AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
        [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:22:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:22:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579859.908045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfW-0004ha-FF; Tue, 08 Aug 2023 13:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579859.908045; Tue, 08 Aug 2023 13:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfW-0004hR-BN; Tue, 08 Aug 2023 13:22:38 +0000
Received: by outflank-mailman (input) for mailman id 579859;
 Tue, 08 Aug 2023 13:22: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=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTMfU-0004aK-Kk
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:22:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1c3ee17-35ee-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:22:32 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A63EA21A5E;
 Tue,  8 Aug 2023 13:22:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 779E9139D1;
 Tue,  8 Aug 2023 13:22:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ggiOG5hB0mSfFAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 13:22: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: a1c3ee17-35ee-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691500952; 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=4ILsXfNsar6elu7aqIAUAvhq1elG/GdFUcYJ19l5rS0=;
	b=AaCQvnaiM3b2x6iwqJnm4VweB8u7YWAeBB0v4sssntQQZZlOaRbp3c/BijWSZtH6Bfpxyt
	sMX6KtAefjUEUQC9U8RCboCDtfOJp1eMdJhU2d8yN+WEYAnL4YN9QGNYl07k34OV8qkXtR
	gHN7qfkIjyER/HwmP7KDpokgG5cbok4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] tools: add configure option for libfsimage
Date: Tue,  8 Aug 2023 15:22:18 +0200
Message-Id: <20230808132219.6422-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230808132219.6422-1-jgross@suse.com>
References: <20230808132219.6422-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The only in-tree user of libfsimage is pygrub. Now that it is possible
to disable the build of pygrub, the same should be possible for
libfsimage.

Add an option for controlling the build of libfsimage. The default is
on if pygrub is being built, and off if it isn't. Without pygrub the
build of libfsimage can be enabled via --enable-libfsimage.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add check for pygrub enabled and libfsimage disabled (Andrew Cooper)
---
 config/Tools.mk.in |  1 +
 tools/Makefile     |  2 +-
 tools/configure    | 40 ++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac | 21 +++++++++++++++++++++
 4 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 432d7496f1..b54ab21f96 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -49,6 +49,7 @@ CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
 CONFIG_GOLANG       := @golang@
 CONFIG_PYGRUB       := @pygrub@
+CONFIG_LIBFSIMAGE   := @libfsimage@
 
 CONFIG_SYSTEMD      := @systemd@
 SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
diff --git a/tools/Makefile b/tools/Makefile
index bbd75ebc1a..311a9098d7 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-$(XENSTAT_XENTOP) += xentop
-SUBDIRS-y += libfsimage
+SUBDIRS-$(CONFIG_LIBFSIMAGE) += libfsimage
 SUBDIRS-$(CONFIG_Linux) += vchan
 
 # do not recurse in to a dir we are about to delete
diff --git a/tools/configure b/tools/configure
index 44ec7a6477..ed4eb64568 100755
--- a/tools/configure
+++ b/tools/configure
@@ -700,6 +700,7 @@ EXTRA_QEMUU_CONFIGURE_ARGS
 qemu_xen_systemd
 qemu_xen_path
 qemu_xen
+libfsimage
 rombios
 BCC
 LD86
@@ -818,6 +819,7 @@ enable_qemu_traditional
 enable_ipxe
 with_system_ipxe
 enable_rombios
+enable_libfsimage
 with_system_qemu
 with_stubdom_qmp_proxy
 with_system_seabios
@@ -1508,6 +1510,8 @@ Optional Features:
                           --with-system-ipxe)
   --enable-rombios        Enable ROMBIOS, (DEFAULT is on if qemu-traditional
                           or ipxe is enabled, otherwise off)
+  --enable-libfsimage     Enable libfsimage, (DEFAULT is on if pygrub is
+                          enabled, otherwise off)
   --enable-systemd        Enable systemd support (default is DISABLED)
   --enable-9pfs           Explicitly enable 9pfs support in QEMU build
                           (default is to defer to QEMU configure default)
@@ -4629,6 +4633,42 @@ $as_echo "#define HAVE_PYGRUB 1" >>confdefs.h
 
 fi
 
+# Check whether --enable-libfsimage was given.
+if test "${enable_libfsimage+set}" = set; then :
+  enableval=$enable_libfsimage;
+else
+
+    if test "x$pygrub" = "xn"; then :
+
+        enable_libfsimage="no"
+
+else
+
+        enable_libfsimage="yes"
+
+fi
+
+fi
+
+if test "x$enable_libfsimage" = "xyes"; then :
+
+    libfsimage=y
+
+else
+
+    if test "x$pygrub" = "xy"; then :
+
+        as_fn_error $? "pygrub needs libfsimage" "$LINENO" 5
+
+else
+
+        libfsimage=n
+
+fi
+
+fi
+
+
 
 # Check whether --with-system-qemu was given.
 if test "${with_system_qemu+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index 0d1c8f9fa3..618ef8c63f 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -189,6 +189,27 @@ AS_IF([test "x$pygrub" = "xy"], [
     AC_DEFINE([HAVE_PYGRUB], [1], [pygrub enabled])
 ])
 
+AC_ARG_ENABLE([libfsimage],
+    AS_HELP_STRING([--enable-libfsimage],
+                   [Enable libfsimage, (DEFAULT is on if pygrub is enabled,
+                    otherwise off)]),,[
+    AS_IF([test "x$pygrub" = "xn"], [
+        enable_libfsimage="no"
+    ], [
+        enable_libfsimage="yes"
+    ])
+])
+AS_IF([test "x$enable_libfsimage" = "xyes"], [
+    libfsimage=y
+], [
+    AS_IF([test "x$pygrub" = "xy"], [
+        AC_MSG_ERROR([pygrub needs libfsimage])
+    ], [
+        libfsimage=n
+    ])
+])
+AC_SUBST(libfsimage)
+
 AC_ARG_WITH([system-qemu],
     AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
        [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:22:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579860.908055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfX-000510-Px; Tue, 08 Aug 2023 13:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579860.908055; Tue, 08 Aug 2023 13:22:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMfX-00050s-Lr; Tue, 08 Aug 2023 13:22:39 +0000
Received: by outflank-mailman (input) for mailman id 579860;
 Tue, 08 Aug 2023 13:22:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTMfX-0003ij-3a
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:22:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5282306-35ee-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:22:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5B39821CC5;
 Tue,  8 Aug 2023 13:22:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 23510139D1;
 Tue,  8 Aug 2023 13:22:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nhv0Bp5B0mSqFAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 13: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: a5282306-35ee-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691500958; 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=K/AHDp091ry1sq7bDUAxHTIgZCYOG8/+0FTmesY5Vjg=;
	b=bWr3s96eU9z2EIZ5poVBpHPjBxsT1bl4L75UlatOE7GePtIEBAN/IdNR7Y4awTLjIjP2jG
	iPC/lSTST3X8whr7mx/habJlmb9N6ljaMNFgIMRS6QH/c4wKlPaRTZucEoVnIb4c4bEsik
	yCHTGz0gx/Ecv18DebFLC/hhRKbfo2A=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub is disabled
Date: Tue,  8 Aug 2023 15:22:19 +0200
Message-Id: <20230808132219.6422-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230808132219.6422-1-jgross@suse.com>
References: <20230808132219.6422-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In case Xen has been configured with "--disable-pygrub", don't accept
the domain config option "bootloader=pygrub".

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 tools/xl/xl_parse.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1a5556d3bb..0e8c604bbf 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1692,6 +1692,15 @@ void parse_config_data(const char *config_source,
     xlu_cfg_get_defbool(config, "acpi", &b_info->acpi, 0);
 
     xlu_cfg_replace_string (config, "bootloader", &b_info->bootloader, 0);
+#ifndef HAVE_PYGRUB
+    if (b_info->bootloader &&
+        (!strcmp(b_info->bootloader, "pygrub") ||
+	 !strcmp(b_info->bootloader, "/usr/bin/pygrub"))) {
+        fprintf(stderr, "ERROR: this instance of Xen has been built without support of \"pygrub\".\n");
+        exit(-ERROR_FAIL);
+    }
+#endif
+
     switch (xlu_cfg_get_list_as_string_list(config, "bootloader_args",
                                             &b_info->bootloader_args, 1)) {
     case 0:
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:27:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579887.908065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMkZ-0006dP-AF; Tue, 08 Aug 2023 13:27:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579887.908065; Tue, 08 Aug 2023 13:27: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 1qTMkZ-0006dI-7V; Tue, 08 Aug 2023 13:27:51 +0000
Received: by outflank-mailman (input) for mailman id 579887;
 Tue, 08 Aug 2023 13:27: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMkY-0006dC-GI
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:27:50 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e4b174f-35ef-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:27:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9773.eurprd04.prod.outlook.com (2603:10a6:10:4ed::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:27:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13: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: 5e4b174f-35ef-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X5IN8Ibj612KarmZ85cMngmIlSEj6XMzDxcKsmUJP0lu1HkmTzdloxrfRCCM04Au+Z4yMZcgGtEkoTUzGzRqixBOO//0lWgQTj/DrIQ3FC8yJ3JkT5hLX4Ifqj1HofKsw42Ykg5QTaaq6I1vicUnAQrLZITZz1KtCCJiV87dX5w7HSY5OQLcMlur2Odh8E9ac7Y5pK+9I1Jc+c2PO4V8SO9ChUYBQxV86l9bQuPV1Yj/1uovpxTRI3xIAnD57RgYrp9mAL/Q1YwpNPAmCoiqY2wKGPcNDXeIZW3PXzHh+83YqPou+m78KUUrOPhN51RdzXfPbgZwjRMKAe9E+jut3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p+1bKuDF35nMD+PYNOUpTAuzjL08nbd+vBgymUMmn3s=;
 b=df5IM0af2Vk9olW5jUUG7X67Q92m0BCNkWVxTIN3KqwrbkxzQnvS8S9JOYovF7rf9c9LC7nBhrccx9bb0P93YN7Sq6VyZ7WqNimBNFvY51UDvkWEAvJX56B0S/znsBPfDkTkUcLd2knTMsfk8ydCAReo0wdLaiUxwCYsDNIVBMpVMriaq8IIzNVGws0ZW3gpsEdCdUbMK7Mba/p+9bqxkeQ31SvrjkvC7hP7c5o0uUoH1ZJzJ0FWjc3P0+WgG77WX0eF6C2RlceI3jHCaDK0HDTekpGDsgwdR14F+BRC/zTZwDwjCHx5bfmzREo2uENtXiY/75a40gEOc1Op6UTu1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p+1bKuDF35nMD+PYNOUpTAuzjL08nbd+vBgymUMmn3s=;
 b=mJuuHF+xlGVpH/hzVfZdq4N/1GqluVxtq5BWwM/g4S5mycSb7KkF6g6ms4EaZrgK/FslRFa+959VEGzx/AEc0W7HL4mOS0dO2ordQpxqCp8IcIl0VBKZMpqZ7+YOlh7LmxWBLQE0kVqclu6muOciZj+oDlZvXDq3khnfC1IIUOeeZwdrnSiTY727f4nJI5tWVnCM/Ex3MnTxhTONxlqfUUluVzDVtIwvBzPG3v/VHAIFPiCcnKyDRt+zPygN8gsy2BBrEYk0AGaOx87jAMWBCw6FtqtS7EEFK8tFJvJrvb1mXel+Z+/OkkKUziwSLqVxbL383a6cJ3wFwrU0LsrVeQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <10f10773-698e-e834-14dc-51477388fda8@suse.com>
Date: Tue, 8 Aug 2023 15:27:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v3 2/2] x86/setup: address MISRA C:2012 Rule 5.3 and
 8.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
 <05ff36ef9e1838ac782201998f49f6f56f78332a.1691488505.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <05ff36ef9e1838ac782201998f49f6f56f78332a.1691488505.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9773:EE_
X-MS-Office365-Filtering-Correlation-Id: 83409d74-a98e-400e-f6b7-08db98134157
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xqdZ+54HsLabC+TnsUgVcFdaVCRD3C0wXgQTpXoZbj0cGSC+dylRu2XSLTDt1JmrHu5r0oad7qfe6B4kWqbl3lzByN7vdGtQi7Uqm6PJ4YcW1pP3PF/I56XwlU7kKKWa9aGqVQ35gXXxwkk/TTHFinCPVlEfO+VYyJxqlWZW7AQiRI8YAtt2w/ATkezVPVhc2Kv11KmLfP8CSb+91KC2NEp/66Is5dGpPc1lr0K5V3ohw+1CNz1oAkKAj9Y9DsrrLLaD+RrrmhkmpJ4levC2EjUVn7Iyq9vJS3v5L/Aaa+LvOxJDzBrWFiQwWC4lnac7W9MGmKKU+3t1nx9ewUzypn051KeOfYJ8TqOR4b1OvyTL797YBHdG+ExkcgABB7C4+hPv5fefNRz3omXDOmQDiqFGLV0+hU5AcWFvsmrcAZUJ8zEs3VFIojLn6qLrSWgN4RTHUD3jRin9MZ9BS0D94dAN3X6ghjCrB/PfBNuBBN+TIuO1p/A0iJYZcetzbO7dmOfPrsIhd8twuRBUY22zXSV0ULuqg2HkjIXdVrZiDOUyr5lCrmVQ63er+A3D2/YcdnUlXsanFfX4OyxWhrcNmZKaM9XLey9OqpEbtWpBMRMTj0227O6/Zmpp52MHIfXcfxQkjmIv1tPdyGOXdBxBaQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199021)(186006)(1800799003)(8936002)(7416002)(8676002)(5660300002)(6916009)(4326008)(41300700001)(316002)(86362001)(31696002)(2906002)(4744005)(6486002)(6512007)(6666004)(2616005)(53546011)(26005)(6506007)(36756003)(66476007)(66556008)(66946007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T01YeStjbndjcU9mM1d0MWd3RjFNNVFabWo3K2FldjdQNXBlMEtsQTNBdlo4?=
 =?utf-8?B?MGxObmF6MXNSZ0p0cE1hYmUzWDlhU0R2TGZ1ZFR2NVlPaUJKek9SZ1JsTVVP?=
 =?utf-8?B?a1FyQS8xVHBqMTN1VC92ZE53bm13NG9LVUo1K0pUekUxbzB3RUlRSHZtMHFM?=
 =?utf-8?B?elVOM2NTbjhjdEJreXhORTlZTUNJTFAvZ2xNT09JdXZhalc0aWw3YnhjQnpw?=
 =?utf-8?B?azhlMFcvRW9kMHdKYTBGVGoyOXBndk5aKzJ5aEUxL1hxdUF1UDFhVU1tYThm?=
 =?utf-8?B?VmVlelRjTGdQeHhmZlJoTUNZenlaSUVScFIzbWhJVHlMM214TXMvVURqMWUx?=
 =?utf-8?B?QnllNnovZEVaNjlxYmRsMUF4KzVIUWZRc3FpdDRWc1d3c09QZTIwa2dIakFv?=
 =?utf-8?B?NUNLVmxkVm10b0RHL2NUSDRTMzUyajBoMW1CUmZ0aDEwOVJnVXJVKzVPZlNU?=
 =?utf-8?B?cWQ1MW9xNnlvQUJVVG81bG9RZDBRQ3U3ZXI2eEgwbzFDbVlaa2YvNXZCUWhz?=
 =?utf-8?B?cFRYbHlnRVRDckp6Uk5kRkVES0lWNVI3cnBQUjgrZE4wU0ZYVS9ReUxTVFNE?=
 =?utf-8?B?V0VFVXVzd2RnWUs2blQ4ak9MWHk4T0o0SUFsdUVTa3VJZEt2K0tjQksrajVq?=
 =?utf-8?B?bE5neDFPaDFqckkvMVp1cHR1K1k4cjJhbUVOUlVHKzl0bDM3ak52UGJFcWdq?=
 =?utf-8?B?SWlremFmZ25lSm1yeUhPQ0NRRDZDWitFZWh0elFEUVJzcmgzRytHSGhwZ1pz?=
 =?utf-8?B?ZmE4ZzBGZ2FSVzRuL2R2OEltbjlOWTJYT0NuUDA2ZDY5VE9HRkM0M1ZnWTFw?=
 =?utf-8?B?bTJSSEsyWnV2REtuTzVsOWtDMUdmaVVYbklIejRkQitENE5YV3o0QXd3MG42?=
 =?utf-8?B?Z2tZeXJxKzRJVjA2eVg4c2NldW0ySENPL1loclMxb1NlOGRlSW5XZ1huYUdK?=
 =?utf-8?B?SjFCaVl4bjhIU2VoRERGbWpLdDU0YVh6dHRLSmcvWHFSVmNxeXJVTVNiMnRi?=
 =?utf-8?B?M2ZzSGZHbER5UTNIRzNSYkt5am1KaDViUEh6VUhkS2s2djFWQTlESVZ5My9j?=
 =?utf-8?B?ZUZYTk41V3NCL1pOZVFmWG5YMU5RSlVKcFE1MmFzWnMySFJSdlpoRmtIanlt?=
 =?utf-8?B?bksydkR6NzhYTVdaalFhWE10TUo2UjFWRm1xVGpGZzI2bXVwbzg0dmRlc3RQ?=
 =?utf-8?B?ZkJkNnN5Z2tWUU1jNlQyTlJqVm00NzZ4dHpjVmV5NmxyL3hRTjQ3cUhGMnFs?=
 =?utf-8?B?emhUTUdQZ2pvUHRRTFNkWTd1NklqeTNiUG8rRXBxQ2ZRR1RycHJxZEk4M1dy?=
 =?utf-8?B?Vm9rSlNacHZFcUNqVmdoVjNMbXdoRy9qNTZBNnR4YWlRMTBuSHhkZW5GN3NS?=
 =?utf-8?B?SHVpd01oNU9GdHNLNFJUWklrNTdadEJDejRuT0Z2NC9JbG9tZGE5U05IeU9u?=
 =?utf-8?B?NEk3aEd2N0JGMWxYMVlwZ1dRQ2VNdkJuNXhNQ0c4T1AvcXNEdFVQS1ZQNisv?=
 =?utf-8?B?QmxkL0kyamF1US9qaklhUldWVTdTWHJ2RnU0VVkxdkloSHBuOEdMZkdWcDJD?=
 =?utf-8?B?ai82TlZ1UTh6Yk9Odm5xZWdtbHVNY0pzVWg1MVBaZ292a3dlemM5ZkhFSkZ3?=
 =?utf-8?B?RnMvWVpoakNCUXNiNzZ2Z2NKMjN3UHk2M2JsZXRsS2RnRlp0cTUzTmY4RHRp?=
 =?utf-8?B?KzBDN0FhVmMwSkVoNTh1cWt2L3BESGNUWHlqNWFubUpmbk1iK0ZWcGxBMTc3?=
 =?utf-8?B?Z3B3U2Zyc3orTklKMHk3MEw5ZEZ3Y0pINFhnMSt6QTZxYit5Y1RjdGVkZzQ1?=
 =?utf-8?B?R2locmozSnhWRzJBNWF3Z0FEeU1EdDJzbVpxRFhaL1h5NmNuSmMwaUxSNVMy?=
 =?utf-8?B?dDl0WnBtRUhKUnJhTFZrM09UeitPeFhMYkpLcm54dHhBYkJ3Sk9EVEZtSS9i?=
 =?utf-8?B?Qjl5R3JsN0R4MzF6RStFT1c5VzNxSGE1M2trWmZ3TnJVMU4raTZRQXBFOGd3?=
 =?utf-8?B?ak0xZjA0TGpJeEFTeXFETXVHczV0UC8zTmtIT3lydTFWOEl6NWlpbEI3anRP?=
 =?utf-8?B?cVJHRFdoN2szbkx4Um1QaFdOcWw1bnkrN3l3Ync1NEFiNUFVVVgvT0NsYzBz?=
 =?utf-8?Q?seHPz7OK2h2xpFAgWn2rWxWCk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83409d74-a98e-400e-f6b7-08db98134157
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:27:47.2252
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ++ckueVIMNc/Y4U32RMSvEOC1iO85poyJikh6vIC/sFIr2bJQXjahGahMM06XfaPQ2KmvZs2xjaH6V8da+zr5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9773

On 08.08.2023 14:22, Nicola Vetrini wrote:
> The parameters in the function declaration 'construct_dom0' violate
> Rule 8.3:
> "All declarations of an object or function shall use the same names
> and type qualifiers", but also cause shadowing inside the declaration
> scope with the variable "static struct file __initdata kernel;" in
> 'xen/common/efi/boot.c'. Renaming the parameters in the declaration
> resolves both issues
> 
> The local variable 'mask' is removed because it shadows the homonymous
> variable defined in an outer scope. There's no change to the semantics since
> the last use of this variable is in the scope touched by this commit.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:27:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579888.908074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMkd-0006sr-Gg; Tue, 08 Aug 2023 13:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579888.908074; Tue, 08 Aug 2023 13: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 1qTMkd-0006sk-Dk; Tue, 08 Aug 2023 13:27:55 +0000
Received: by outflank-mailman (input) for mailman id 579888;
 Tue, 08 Aug 2023 13:27:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gjkb=DZ=tibco.com=avallejo@srs-se1.protection.inumbo.net>)
 id 1qTMkb-0006sC-Su
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:27:53 +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 5fe9dd3c-35ef-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:27:51 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-4fe1c285690so8763764e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 06:27:51 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y14-20020a25ad0e000000b00d59ac349fe0sm431377ybi.25.2023.08.08.06.27.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 06:27:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fe9dd3c-35ef-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1691501271; x=1692106071;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NoQrogLV9f5a5mnrTdAisY2Um7UDzKxPXcl25SM3U04=;
        b=eyP5qe/EmJhArZ8mNk+WDiEx+C7k3o3fKsxQt+6X4AH1pbMXedscRsNHyjqufzauIc
         S4rVGyIDGMhF/0bPOZYcjrUMmwnyPEUVxMVdIhFzIr7e0eSugkeL7S2HiDey0QCPrwsZ
         x2/1cAVyKIstAHUQK37doSlFLq5SVdN77QLuQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691501271; x=1692106071;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NoQrogLV9f5a5mnrTdAisY2Um7UDzKxPXcl25SM3U04=;
        b=CrZ9ctuqbj5AU4T3Bql2wLN1ODcp6cmShZOEokQi0CqYKTnX3by7LvVeVYrr1rNFvn
         I7XMbF9XjDTJY+duuHHB/da+yoVbYuhZe2QR8BRcOR6s50EEokPL+ORZpZsEvctbJxzt
         kOpMnUQFvo6qY5PW2b/GPiBVPIkPgIDQQswBBWcWSRNCG8mIuVk6nsuRVJk7yU3r+TAB
         mO9QFbW72JdLTrFr0KeLN1bUZr4X9FnyNhE5kb6IqO4KAODDEwAt80+dKP7McsO5dvu2
         wY3bwwFxeHTVfqX6KCkTzuEq1FwMna/l+5L9/1DbfLB2YbYiUB5NXOXxTFT59n81e4i/
         n3uA==
X-Gm-Message-State: AOJu0Yx42cEcHcEkvAbzCTC8iLef89Zg89+tDQFj5sSNOnaSyh/VZw2A
	WTYtcvNXCH+Ti0cNQXl8/PkeAg==
X-Google-Smtp-Source: AGHT+IHYtuFP80fZIYZobFnijetCi53/w7Gpsd2lBsHcrZLuTWwOR76UNvXkTfFTUOoXW3x80WAc4w==
X-Received: by 2002:a05:6512:3b29:b0:4fd:faa5:64ed with SMTP id f41-20020a0565123b2900b004fdfaa564edmr10967056lfv.11.1691501271248;
        Tue, 08 Aug 2023 06:27:51 -0700 (PDT)
Message-ID: <64d242d6.250a0220.6b78d.2b35@mx.google.com>
X-Google-Original-Message-ID: <ZNJC0iDJA5yax1Zg@EMEAENGAAD19049.>
Date: Tue, 8 Aug 2023 14:27:46 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v7 1/3] x86/microcode: Ignore microcode loading interface
 for revision = -1
References: <20230808130331.27995-1-alejandro.vallejo@cloud.com>
 <20230808130331.27995-2-alejandro.vallejo@cloud.com>
 <efee9d93-e1d8-6606-0e97-3f63ecefc8be@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <efee9d93-e1d8-6606-0e97-3f63ecefc8be@suse.com>

Hi,

On Tue, Aug 08, 2023 at 03:08:04PM +0200, Jan Beulich wrote:
> On 08.08.2023 15:03, Alejandro Vallejo wrote:
> > --- a/xen/arch/x86/cpu/microcode/core.c
> > +++ b/xen/arch/x86/cpu/microcode/core.c
> > @@ -867,10 +867,23 @@ int __init early_microcode_init(unsigned long *module_map,
> >          return -ENODEV;
> >      }
> >  
> > -    microcode_grab_module(module_map, mbi);
> > -
> >      ucode_ops.collect_cpu_info();
> >  
> > +    /*
> > +     * Some hypervisors deliberately report a microcode revision of -1 to
> > +     * mean that they will not accept microcode updates. We take the hint
> > +     * and ignore the microcode interface in that case.
> > +     */
> > +    if ( this_cpu(cpu_sig).rev == ~0 )
> > +    {
> > +        printk(XENLOG_WARNING "Microcode loading disabled due to: %s",
> > +                              "rev = ~0");
> 
> Sadly there now looks to be a newline missing. Easy to add while committing,
> I suppose, and with it added (back)
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Jan
You mean the missing newline after "%s"? It fell under the cracks
while adding the substring in v6. It should indeed be there, cheers.

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:32:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579899.908085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMoz-0000Bh-2n; Tue, 08 Aug 2023 13:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579899.908085; Tue, 08 Aug 2023 13:32: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 1qTMoy-0000Ba-VQ; Tue, 08 Aug 2023 13:32:24 +0000
Received: by outflank-mailman (input) for mailman id 579899;
 Tue, 08 Aug 2023 13:32: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTMox-0000BU-Nx
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:32:23 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 008e9d4c-35f0-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:32:21 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9232.eurprd04.prod.outlook.com (2603:10a6:102:2ba::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Tue, 8 Aug
 2023 13:32:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:32:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 008e9d4c-35f0-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ogQO7KvVI/FS5SIg4I1vNsElA8VD9SOHk1NN77XcDSasjaNp+M9DKAsoTRQ6944YrE+lPdGHo5ri7T+D55lmoITb2+lCeDiTlP7IDNBGZIx23Jc7XjGlvLw9l4OMXK67arIUpoeKV2CVlpk21CMXsq2rJCoCUsWg3eTEazJZlMkKSqt0zW4NHZXQY8ffabJklhCg14lsZEpgOGj6RAISS5ZbzBblOubt1rzM74m+nsX2AyovpNEmDS/HFdegw7NGtRdwl1zgtHndgwQYo0olWoyRP6qMuhNRLj5qpCsuGvEEoW7iHy7JBDoQHu2xapIydwkztUHbmnhpGpiLPwZ6Vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LS9EXPu1kaxGyZ2rFP39sKzgFC+GHstcRYigC+hlzEY=;
 b=CCeMbAtQWPBfveboVRndnpdg5Y4omnyAF7Gf35ywPeDUEQH0vbb1CQGxSSFwGjEv/bFoBd6s2c0nl82LBuytkCpVtEwfaQHNHVKTwimh5aYK7HwLMlLEwMdt+B0LLoC0WjV9B2CW9My4iAWTDuDEbUntJKD+T23aSMN3Uz/vs0q/9uw8ZP90TtZxaIsmGFP9YAUDh9KsWiV0H+MAmMxCP+QNBwqytYPcQfSUJTNb4FlHv1meu59vCgkBOSaaqPLsSdn1dODVT1YVDNqfqwfrtkIHVbQh7RHYKmpa5Mwe4ORS0Ehj5zuYdQ9Pff89Icjbt+qLUg7TvdVDm3JwqL7rPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LS9EXPu1kaxGyZ2rFP39sKzgFC+GHstcRYigC+hlzEY=;
 b=kxxCj/GjOGqjz5+65TmDcV5Zd0C15baa9+ZPqcCL0Dl0Y9pJ1bDNiNLCQxroVBTU1Uh6ioX5byyj2tatSfiLayztJlNwS/4s7VqXb9mTYNLHMFSgnN5uGPtTBDfw8noVHTbKpOYq1Eg+838WR8561RLP0rq0FRcZnRJogQWsadGGzXTN3e0O7qh+L8C8/v+A+muV9R3dEoKE6QVmjDNmXXu8oH5e6UVFTgRCatpLphm/smM7ckidd4AGg8RHSJ/egI1idZIggh4kgLIvGnf2ZQRtiNASfBR+LgsdWCuzzYjbqooQZVx5V0tMioPvizqVH1xHgpFLAaSNSn8B/M2AvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f8907fe4-be0a-7045-38e8-7dde8970ecb5@suse.com>
Date: Tue, 8 Aug 2023 15:32:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub
 is disabled
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230808132219.6422-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9232:EE_
X-MS-Office365-Filtering-Correlation-Id: f2883185-b653-4f6b-8ab2-08db9813e339
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+Xk6lTm+9hIvNPkNYPJTEgWm+J6P92hkEpN1VYjzvOo7/+ggqL0pqfOMGSRvchNKHpzPgZ6BHtVlx7swkXZDzXz8AAMsfABtQmNTxgnX9ooi8+VzPYjfKjCC7YSruOifzk7O4vWxjodxmoRL6U1mR/TgB9hzvawr9ue3CibVVLRQpJQJhHb4jgmPwmj1BCjMMDsH4CXoUL4HGIgFMKOgVkB1DDB7llOqjSSUD0TFwzNJSHyI76qop2RvxPBrCz5Gpt4OCue+0waozRbEQ+5BViAg2qrnn578tyayKf7nyg1rW7SXgm8ReL/Ri1I++5fL3s8cpHm8FDlbhDViACIgsTxqOSPGpYbgrUCBjiPilBx1XEjOd7FzjcpzPhge5ojwbKAuvl/K6HGhLdGB8fuAekpi5waXAcxXsHhwCsNqfs1QAA6+itAgMphuThV7SmxsOmbW9RmrktyLF6/Bd80w76cE/5Nhq8YTm30lbrWwuy5AE7hmDoxdHLbi/hHxjLwuMDPK74bTg3yEIUyS4Byyiu4XI52w19foU3YvEwJa0By6cODbTDPDsllHIMQSggA8WtOl7SD9ZXBbwF635Lx6uO4V546WOzdqTlF72y6n58P1BQLKd+3eUK2MNEsslgpy0tFkiPrqCvI0GYo1DkJkIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(366004)(136003)(39860400002)(396003)(1800799003)(186006)(451199021)(26005)(2906002)(31686004)(5660300002)(6862004)(8676002)(8936002)(41300700001)(4744005)(2616005)(86362001)(6636002)(53546011)(6506007)(316002)(31696002)(66556008)(37006003)(54906003)(38100700002)(66476007)(6666004)(66946007)(478600001)(6486002)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzYrVWdMRWs5SkNTcjcraGRPWEdTd1E5cWJIY3krc0ZheWFmbE9pcVp4ZVRX?=
 =?utf-8?B?VUtmZ0lwbHJJbG5PL2liVmJzc2gybHpULzhnRUp1a2tHUXJyYXk3OHRpNTFu?=
 =?utf-8?B?UTZ6V20rVFdDYUlsbklFaDF6L0lDNGl5VHBOUi9Ub281TzVleXVkYTRmbXFm?=
 =?utf-8?B?MExkaE51RHN2b0JWVld1ZnBOejlucm5iRE5yMWYrUjZ0bWxzUFdNa0p4Q1Zo?=
 =?utf-8?B?NEJHc3JheWh6WThyL05CRi9aL3VUL2tYNEV4clNhdXIzQmkyVjhEKzB3OXpq?=
 =?utf-8?B?UTFiTUtjbGxqdG1jTDJEMXpXejFscllZNmg1UCtLNVkxcGxJSmgxTmNWK1B3?=
 =?utf-8?B?UzJoQk9aSitxQXFaOFcwd3VUTmdlOUJOb2FGaExDWWVmekJBaUJpMm9rWTRh?=
 =?utf-8?B?Sll6WUFDaUhyeUJYY3hJSDU1LytDQWlGN1ZtUnRFMUp6QkIyVVVEUG5pb0Qr?=
 =?utf-8?B?N2hTN2tzZHdhVmVWczBmQzRHNTJDbUFKQTk5ak5rYldpR3l1cmo2L1l5V0xM?=
 =?utf-8?B?dkJCZmJWZzZveG0yRzR3OFB2b1MrYkJhSjVNUFR2VEMwQ1RrMFViOW9HSlpW?=
 =?utf-8?B?UE40V1pPQkxoeVU1QkJJcGRTREpCUzArSEI4c2syczlVUU1Ea1FRd3JodzVU?=
 =?utf-8?B?TTJvWUZ3OTFLRUFXMFY5c29UTGpOZGJDVlVtRG4yNWNZcG1WVExraHZYUTV1?=
 =?utf-8?B?VnhFelRzVlJlZjYrUnJiZHRuRXVVaTQzUnJQaEdZU1B1djI1SUlJaExTRHQy?=
 =?utf-8?B?QXI5cml6VTl3T0xoQVZTYnh1V0xxQ2hHZVlyWjd2UzhLNjZmZHcybXhMbVNp?=
 =?utf-8?B?MnFYMzdzRDcvNG84SjhyTVdxbGs2QVE5eFZNdytPUVRNRk9aaEpJK1AxQ01j?=
 =?utf-8?B?SStBeGFTVlFmdTlrdjJmNWxMeXh0M0Y5K0lLc3ZwMkU4dlcyNVNMMXJLZkl6?=
 =?utf-8?B?Zjc3YWJ2cjBWSlVUZFJMVnViTngvRisrWC8ybGFQWjl6UGU3bzhZZmNlL2Fj?=
 =?utf-8?B?cUZwODY5OWJMTHZ1eFJ4bmw3c01vUVN0T2RibDhoMXF6UCtEcnVBSXgwZ1dC?=
 =?utf-8?B?S09nTHQvT3oydHNWTXFhSTJvc2VKZWtvY1dqdjhkTXZHMGJuQUwxSkxBb29p?=
 =?utf-8?B?ZFR2UlNEOXk5eHBHOWltYS9yYUNwYnlqWWtuenM3eGkzU2NhbjZpUUhtTzdp?=
 =?utf-8?B?UTU0MVE2ZENYMWNHbDJuTjJ6ODhiNzNtRm13UGYvTUNrVVRNWFNsRC9sVE51?=
 =?utf-8?B?R0JWN1ovQ3luU1kwZWJkZFRGYjhad0J6YVN5ZUpBVU9lYS93blJMZTlyRlho?=
 =?utf-8?B?WTNUOGdFUUI2dGY0TXlhRnJ1S054ZkxvSGJOMFNnT2M3dnZ5cHBVRWRmSG5r?=
 =?utf-8?B?SVFvQ2FZSFl0N3RGTHd2K2FVM2VxTUEvMSsxMGV0RVcwOXZPVG1kclJKUXpU?=
 =?utf-8?B?bHhmQlJ0NnRndXhneUx4MkNldUJWT3J2NGY4ZU9VbHBvaWFQTlhwbjlPNTMw?=
 =?utf-8?B?QXpFdXZIaEJsRVpOL2VWajgyb3FTR2ViNElhTlFrY3NlTVlCajM4ZUFML1I3?=
 =?utf-8?B?TDlOUDMzNDRSRDBJbkhSb2hXUTB6cnh6QnZGMUhDMlQ4K1ZLKzJoK2hreUdH?=
 =?utf-8?B?aEVjR0ZsZnFHWVhIcVJsTUpuK0liaDNGVkJXNkRZTVBYTnBJTnZka3Q3bW5X?=
 =?utf-8?B?MlUyaTR3YllwdHQvOGpwV25EVGc5Qmt0K0pmVHhBaUdvTExIbDFvYlFKNHZR?=
 =?utf-8?B?RTNONld2eW8xMGlJR3AvOUdRS0xrcHpUWkxMTGRHOVlSSW80YTl5KzUxZGM3?=
 =?utf-8?B?cnJ5WmNSV1VsQkxqTHJiNmRMUU4zWkdkeEpWWk5RSlNUejVUTjRNQkkxMGZZ?=
 =?utf-8?B?MS81Z0owQ3RYdHlBS2ZoYVNORE0vd0FqRUhMOEJ1MWRaRzhJUVE3T1JUWGZa?=
 =?utf-8?B?S1J1OGg0bGJuT0VuZUZRdUlUWGVuZzBibndMcU9lUUV4TitGUVlrd2VSc05S?=
 =?utf-8?B?eGxmRURNQXNyZUJrbVJsOTN5ZjU3eEtaVk83cHNqRkFZeVNNWk1wb1hBRy9t?=
 =?utf-8?B?NzFyU1dNVXdJS09oRjBUalNYYVdkeUFaQ21pNkthUWRXRGMwb0RBdkVFNHBN?=
 =?utf-8?Q?CKYq42ZUKzZFgyprf0MWvPHb6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2883185-b653-4f6b-8ab2-08db9813e339
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:32:18.7985
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AdvMXdo2fBcMG8C7ZQUHCvqOOFgINIlIvFK5XzYiDrIL9gLkaahW+CngBzyS5xthr73OnoNG2+8oE69Gdd6Q2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9232

On 08.08.2023 15:22, Juergen Gross wrote:
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1692,6 +1692,15 @@ void parse_config_data(const char *config_source,
>      xlu_cfg_get_defbool(config, "acpi", &b_info->acpi, 0);
>  
>      xlu_cfg_replace_string (config, "bootloader", &b_info->bootloader, 0);
> +#ifndef HAVE_PYGRUB
> +    if (b_info->bootloader &&
> +        (!strcmp(b_info->bootloader, "pygrub") ||
> +	 !strcmp(b_info->bootloader, "/usr/bin/pygrub"))) {

And no other path combinations can occur? strstr() is perhaps too lax,
but what about finding the last slash (if any) and comparing the rest
of the string (the full string when there's no slash) against "pygrub"?

> +        fprintf(stderr, "ERROR: this instance of Xen has been built without support of \"pygrub\".\n");

The other question (I'm sorry for my ignorance here) is whether pygrub
could come from anywhere else.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:36:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579906.908095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMsw-0000rM-MV; Tue, 08 Aug 2023 13:36:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579906.908095; Tue, 08 Aug 2023 13:36: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 1qTMsw-0000rF-Jt; Tue, 08 Aug 2023 13:36:30 +0000
Received: by outflank-mailman (input) for mailman id 579906;
 Tue, 08 Aug 2023 13:36: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=Yw+Y=DZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTMsu-0000r9-G2
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:36:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 929126a5-35f0-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:36:26 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C1E321F854;
 Tue,  8 Aug 2023 13:36:25 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8A8B8139D1;
 Tue,  8 Aug 2023 13:36:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +ovSH9lE0mRCGwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 08 Aug 2023 13:36:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 929126a5-35f0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691501785; 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=0ckaGPw0PFzbyaDdJQH9XsD1EFVVmcqY46PcHTcVJLQ=;
	b=BUqNRunkAhJF99kz4nyGd48XKDLtdgvqb2x2jtJUnel/MbFHCoWf3AOhxIW+tN4uEcjl5+
	5oXU5C4IZTz6Y1KmuTgSC+Aw1ZgkdamxpAYg6pnBHkuuokHM8ICicMSiE4HQwCzjkFCTQg
	vZf7DaMeqaycZ27x0AVgq0SH1yjtZYc=
Message-ID: <726d0de5-bf4c-1fff-78ea-a52a7c84b635@suse.com>
Date: Tue, 8 Aug 2023 15:36:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub
 is disabled
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-4-jgross@suse.com>
 <f8907fe4-be0a-7045-38e8-7dde8970ecb5@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: <f8907fe4-be0a-7045-38e8-7dde8970ecb5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------nYerczBihkqmIErMosPxaIm0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------nYerczBihkqmIErMosPxaIm0
Content-Type: multipart/mixed; boundary="------------xJwvjweMnJ3grugNFWNdJYwy";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <726d0de5-bf4c-1fff-78ea-a52a7c84b635@suse.com>
Subject: Re: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub
 is disabled
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-4-jgross@suse.com>
 <f8907fe4-be0a-7045-38e8-7dde8970ecb5@suse.com>
In-Reply-To: <f8907fe4-be0a-7045-38e8-7dde8970ecb5@suse.com>

--------------xJwvjweMnJ3grugNFWNdJYwy
Content-Type: multipart/mixed; boundary="------------dmgwq7DJcOJNB2qYbqfUNYNP"

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

T24gMDguMDguMjMgMTU6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwOC4wOC4yMDIz
IDE1OjIyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMveGwveGxfcGFy
c2UuYw0KPj4gKysrIGIvdG9vbHMveGwveGxfcGFyc2UuYw0KPj4gQEAgLTE2OTIsNiArMTY5
MiwxNSBAQCB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3Vy
Y2UsDQo+PiAgICAgICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgImFjcGkiLCAmYl9p
bmZvLT5hY3BpLCAwKTsNCj4+ICAgDQo+PiAgICAgICB4bHVfY2ZnX3JlcGxhY2Vfc3RyaW5n
IChjb25maWcsICJib290bG9hZGVyIiwgJmJfaW5mby0+Ym9vdGxvYWRlciwgMCk7DQo+PiAr
I2lmbmRlZiBIQVZFX1BZR1JVQg0KPj4gKyAgICBpZiAoYl9pbmZvLT5ib290bG9hZGVyICYm
DQo+PiArICAgICAgICAoIXN0cmNtcChiX2luZm8tPmJvb3Rsb2FkZXIsICJweWdydWIiKSB8
fA0KPj4gKwkgIXN0cmNtcChiX2luZm8tPmJvb3Rsb2FkZXIsICIvdXNyL2Jpbi9weWdydWIi
KSkpIHsNCj4gDQo+IEFuZCBubyBvdGhlciBwYXRoIGNvbWJpbmF0aW9ucyBjYW4gb2NjdXI/
IHN0cnN0cigpIGlzIHBlcmhhcHMgdG9vIGxheCwNCj4gYnV0IHdoYXQgYWJvdXQgZmluZGlu
ZyB0aGUgbGFzdCBzbGFzaCAoaWYgYW55KSBhbmQgY29tcGFyaW5nIHRoZSByZXN0DQo+IG9m
IHRoZSBzdHJpbmcgKHRoZSBmdWxsIHN0cmluZyB3aGVuIHRoZXJlJ3Mgbm8gc2xhc2gpIGFn
YWluc3QgInB5Z3J1YiI/DQoNCiJweWdydWIiIGlzIHRoZSBwcmVmZXJyZWQgdmFyaWFudCwg
Ii91c3IvYmluL3B5Z3J1YiIgc2VlbXMgdG8gYmUgdGhlDQpsZWdhY3kgdmFyaWFudCwgd2hp
Y2ggd2lsbCByZXN1bHQgaW4gYSB3YXJuaW5nIHRvIHVzZSAicHlncnViIiBvbmx5DQooaW4g
Y2FzZSBweWdydWIgaXMgZW5hYmxlZCwgb2YgY291cnNlKS4NCg0KSSBkb24ndCB0aGluayB3
ZSBzaG91bGQgdGVzdCBmb3Igb3RoZXIgbm9uLXN0YW5kYXJkIHBhdGhzLg0KDQo+IA0KPj4g
KyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFUlJPUjogdGhpcyBpbnN0YW5jZSBvZiBYZW4g
aGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IG9mIFwicHlncnViXCIuXG4iKTsNCj4g
DQo+IFRoZSBvdGhlciBxdWVzdGlvbiAoSSdtIHNvcnJ5IGZvciBteSBpZ25vcmFuY2UgaGVy
ZSkgaXMgd2hldGhlciBweWdydWINCj4gY291bGQgY29tZSBmcm9tIGFueXdoZXJlIGVsc2Uu
DQoNCkl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIHVzZSB0aGF0IGluIGNhc2UgaXQgaXMgZS5n
LiBpbnN0YWxsZWQgaW4NCi91c3IvbG9jYWwvYmluL3B5Z3J1YiAoYXNzdW1pbmcgdGhlIGNo
ZWNrIGFib3ZlIGlzbid0IG1vZGlmaWVkKS4NCg0KDQpKdWVyZ2VuDQo=
--------------dmgwq7DJcOJNB2qYbqfUNYNP
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------dmgwq7DJcOJNB2qYbqfUNYNP--

--------------xJwvjweMnJ3grugNFWNdJYwy--

--------------nYerczBihkqmIErMosPxaIm0
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/Ey8FAmTSRNkFAwAAAAAACgkQsN6d1ii/Ey+y
Gwf/YHtbldXkWDfZF65rh+cMUVcRTs6CFKJBgQ6qEdyfEj9iDxrxkTdup13/m2YFlLU7Krp7H54o
HkqY4X0eXMHaGM3vSnlb2sahDZqeR/1BOavLAS8gtgj3Ch2WlgjDOLJ/hCIMfjA5G1Qm7t99p58u
Pgd29G49ZaCPQxQCA7/NU4ozI5hcXc8bqvBz4SLp67asb6xf7tifpnWWxXcSt5YhcIGKPo+AOOYr
hYGkxRKMovHgjiflwxvJtdBnvDiwgXGAebXgarHVoK4k1uZMGS0HBCMMu07DNEpI+AACHSUlyTfD
OXsnt7aJnsUibeQ7Hqzazt0lxxkA/cCvxYRZAqY3VQ==
=LYp1
-----END PGP SIGNATURE-----

--------------nYerczBihkqmIErMosPxaIm0--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:38:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579911.908105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMuk-0001RB-2R; Tue, 08 Aug 2023 13:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579911.908105; Tue, 08 Aug 2023 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 1qTMuj-0001R4-Vu; Tue, 08 Aug 2023 13:38:21 +0000
Received: by outflank-mailman (input) for mailman id 579911;
 Tue, 08 Aug 2023 13:38:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTMuj-0001Qy-A9
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:38:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d584da4c-35f0-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:38:18 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3442E4EE0737;
 Tue,  8 Aug 2023 15:38:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d584da4c-35f0-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 15:38:18 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <9e5f208e-7419-b16d-c705-592959dc0ea1@suse.com>
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
 <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
 <9e5f208e-7419-b16d-c705-592959dc0ea1@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <e86dc812f4e365d8f23a14f9edcc2852@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 08/08/2023 15:22, Jan Beulich wrote:
> On 08.08.2023 14:22, Nicola Vetrini wrote:
>> The local variables 'irq_desc' shadow the homonymous global variable,
>> declared in 'xen/arch/x86/include/asm/irq.h', therefore they are 
>> renamed
>> 'irqd' for consistency with ARM code. Other variables of the same type
>> in the file are also renamed 'irqd' for consistency.
> 
> I'm pretty sure I pointed out that Arm uses a mix of "desc" and "irqd".
> So "consistency with ARM code" doesn't ...
> 
>> --- a/xen/arch/x86/hvm/vmsi.c
>> +++ b/xen/arch/x86/hvm/vmsi.c
>> @@ -281,7 +281,7 @@ static int msixtbl_write(struct vcpu *v, unsigned 
>> long address,
>>      unsigned int nr_entry, index;
>>      int r = X86EMUL_UNHANDLEABLE;
>>      unsigned long flags;
>> -    struct irq_desc *desc;
>> +    struct irq_desc *irqd;
> 
> ... require e.g. this rename. As mentioned before: Let's limit code
> churn where possible, and where going beyond what's strictly necessary
> isn't otherwise useful; there's already enough of it with all these not
> really helpful Misra changes.
> 
>> @@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct msixtbl_entry 
>> *entry)
>> 
>>  int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t 
>> gtable)
>>  {
>> -    struct irq_desc *irq_desc;
>> +    struct irq_desc *irqd;
> 
> This one indeed wants renaming, but then - consistent within the file -
> to "desc". At least that's my view.
> 
> Jan

Well, but having

struct irq_desc *desc;
struct msi_desc *msi_desc;

and then using them both within the function doesn't seem that readable, 
but if you
prefer "desc" I have no objection (just two local variables that need to 
be changed).

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:39:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:39:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579917.908115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMvk-0001z6-Ao; Tue, 08 Aug 2023 13:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579917.908115; Tue, 08 Aug 2023 13:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTMvk-0001yz-86; Tue, 08 Aug 2023 13:39:24 +0000
Received: by outflank-mailman (input) for mailman id 579917;
 Tue, 08 Aug 2023 13:39: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=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTMvi-0001nd-NT
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:39:22 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f99ed504-35f0-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:39: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: f99ed504-35f0-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691501961;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9JMjH+v1dEhayh9NSbcXKavTJC0JEFjd/xZ2S7oZ0Qo=;
  b=c4C8ycuFJf7RlCfwiJpfTA1mysrN7+wSXHdelUffabzPWQM6N50/Pd4k
   S3bDwAN1YwIeZwhdwjfhxWKF+fE+kaaxsWbBl+UYY3c1vvo31Y8EDdfYZ
   b4RjtRyKP99fRtfQqme/ZKtED5S2LC+WZLL4H7CXBV6hXvICyNKVR+BMs
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118870632
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:V5V9Gqo5QsA6bNdPmkAFd/MU/OpeBmI+ZRIvgKrLsJaIsI4StFCzt
 garIBnTPa2OYmKgct5+O4vk8hsEupDSx9NhTFNvqSAyF35G9puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzylNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACoGUAGyo8Sm/Le+QMdSqpUTL/moZ7pK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 jufrzSmWk9BbrRzzxK54Civ27DDlx/4UbIrMvqf1tJBuXKMkzl75Bo+CgLg/KjRZlSFc9BQM
 UsP4QI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQ5sOcmSDps0
 UWG9/vgHTF1uaeZYW6c/LyT6zi1PEAowXQqPHFeC1Ffup+6/d9110iUJjp+LEKrpsf+JyDB5
 xaakC07jZstoZ871JX4pmmS1lpAuaP1ZgIy4wzWWEes4QV4eJOpauSU1LTL0RpTBN3HFwfc5
 RDoj+DbtblTVs/VyERhVc1XRNmUC+C53CowaLKFN70o7HyT9nGqZui8CxkudR4yYq7oldIEC
 XI/WD+9BrcJZBNGjoctOepd7vjGKoC+fekJrtiOMrJzjmFZLWdrBh1Ga0+KxHzKm0Mxi6w5M
 przWZ/yXC9GUv89nWbmHrd1PVoXKscWnzq7eHwG507/jer2iIC9Ft/pz2dinshmtfjZ8W05A
 v5UNteQygU3bQENSnC/zGLnFnhTdSJTLcmv+6RqmhurflIO9JcJV6WAntvMuuVNw8xoqws/1
 i3hCxYHlQeu3xUq62yiMxheVV8mZr4nxVpTAMDmFQ3AN6QLCWp30JoiSg==
IronPort-HdrOrdr: A9a23:nnY7KKutZkHtMDEM7668U4dD7skDTNV00zEX/kB9WHVpm5qj5q
 eTdZMgpHzJYVcqOE3I9urqBEDtexnhHP1OgLX5X43MYOC8ghrNEGgK1+KL/9SHIUDDH4Vmu5
 uIHZITNDVeZ2IK6/oTTGODYrQdKHjsytHMudvj
X-Talos-CUID: 9a23:al8m1mCXpTrEkuD6EzNsyl8lPuY1TnjYxlnuDx6IClYqE4TAHA==
X-Talos-MUID: =?us-ascii?q?9a23=3AibQmAw9ze2AHv8CTgkeOY3+Qf/t6uafzV0wHrZY?=
 =?us-ascii?q?Pi/CicgtQFxykoyviFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,156,1684814400"; 
   d="scan'208";a="118870632"
Date: Tue, 8 Aug 2023 14:39:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] tools: add configure option for disabling pygrub
Message-ID: <ff25b6fa-60c7-4dc8-9a7d-5aface0c1c4c@perard>
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230808132219.6422-2-jgross@suse.com>

On Tue, Aug 08, 2023 at 03:22:17PM +0200, Juergen Gross wrote:
> Add a "--disable-pygrub" option for being able to disable the build
> and installation of pygrub.
> 
> There are two main reasons to do so:
> 
> - A main reason to use pygrub is to allow a PV guest to choose its
>   bitness (32- or 64-bit). Pygrub allows that by looking into the boot
>   image and to start the guest in the correct mode depending on the
>   kernel selected. With 32-bit PV guests being deprecated and the
>   possibility to even build a hypervisor without 32-bit PV support,
>   this use case is gone for at least some configurations.
> 
> - Pygrub is running in dom0 with root privileges. As it is operating
>   on guest controlled data (the boot image) and taking decisions based
>   on this data, there is a higher security risk. Not being possible
>   to use pygrub is thus a step towards a reduction of attack surface.
> 
> Default is still to build and install pygrub.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:46:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:46:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579925.908124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTN2d-0003Ty-1M; Tue, 08 Aug 2023 13:46:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579925.908124; Tue, 08 Aug 2023 13:46: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 1qTN2c-0003Tr-V2; Tue, 08 Aug 2023 13:46:30 +0000
Received: by outflank-mailman (input) for mailman id 579925;
 Tue, 08 Aug 2023 13:46: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=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTN2b-0003Tl-AS
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:46:29 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8166ebb-35f1-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:46:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8166ebb-35f1-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691502387;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=QhRcYhG/lkFwGKf2f9TvUdQxSdlBQ94FWwsoAVwZKdw=;
  b=SJlHuqRz3yAIwYPG/UVKbSpswD/0otlk24boroQjXPSdqp3yHzyUVv5T
   vyKwn264VTdB84divNCtFbMwlB/mJQdTUtz88Tf4r+KPRpwrvcr7aqjHQ
   c8/xEVdS4G7BOn3wHaWUxJ8OAYrbuqBpVIGsCVEaOqOLtCoiQlIg2PxEM
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 117538111
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:IHateKIR7qz5sK8KFE+R95UlxSXFcZb7ZxGr2PjKsXjdYENS0GYEm
 jdLUWqHO6uNZDahKd11Po2z9xwCu57WyoQ3TQBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRuPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5KKG5Uq
 +IXCQwBfzS6veXuxbaDdrFV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHJoIxRbB/
 zuuE2LRHR85F9KN6T+/9neRtrHlrSrLB6FJLejtnhJtqALKnTFCYPEMbnO5ruO+kVWWQM9EJ
 gof/S9Ghbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xGWwsXjNHLts8u6ceTCQnz
 FaTk/v1BDZkt/ueTnf1y1uPhWrsY25PdzZEPHJaC1JfuLEPvb3fkDryZ9l5TrC6r+H5CBXJ+
 TfSqSwGu+0q2JtjO7qAwXjLhDelp57sRwEz5xnKUm/N0j6VdLJJdKTztwGFsK8owJKxCwDY4
 SNaw5T2APUmV8nlqcCbfAka8FhFDd6hOSaUv1NgFoJJG9+Fqy/6JtA4DN2TyS5U3ic4ld3BO
 he7VeB5vsU70J6WgUhfPeqM5zwCl/SIKDgcfqm8giBySpZwbhSb2ypleFSd2Wvg+GB1z/BmZ
 czAK5fwXS9KYUiC8NZRb71EuYLHOwhknT+DLXwF50vPPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPToyizpNbWO3GNmaZKdABiEJTOLcyuwyChXrLZc1UO9aBII6O5/I7NjKQ5w/UMybqVr
 yvVt40x4AOXuEAr4D6iMhhLAI4Dl74lxZ7nFUTA5WqV5kU=
IronPort-HdrOrdr: A9a23:wBs8vq6sk+rPYcCQewPXwPLXdLJyesId70hD6qkmc20zTiX+rb
 HMoB1773/JYVkqM03I9errBEDiexLhHPxOjrX5Zo3SODUO0VHARL2Ki7GO/9SKIUPDH4BmuZ
 uJ3MJFebvN5fQRt7eZ3OEYeexQpeW6zA==
X-Talos-CUID: 9a23:u8t7L29F/PmIdP5BfGOVv3M9Fdp7bHL88HvBB3aCDj5sTIWpEWbFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3Ai/ljXg5IsYpVCZjD7SNCq9x0xox37YeNBlItlK8?=
 =?us-ascii?q?CvvS0awZAMgfCr2+OF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,156,1684814400"; 
   d="scan'208";a="117538111"
Date: Tue, 8 Aug 2023 14:46:12 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] tools: add configure option for libfsimage
Message-ID: <d1572d4d-c7f7-4ee9-87bf-c5d90617055e@perard>
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230808132219.6422-3-jgross@suse.com>

On Tue, Aug 08, 2023 at 03:22:18PM +0200, Juergen Gross wrote:
> The only in-tree user of libfsimage is pygrub. Now that it is possible
> to disable the build of pygrub, the same should be possible for
> libfsimage.
> 
> Add an option for controlling the build of libfsimage. The default is
> on if pygrub is being built, and off if it isn't. Without pygrub the
> build of libfsimage can be enabled via --enable-libfsimage.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:47:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579929.908135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTN3F-0003yD-AP; Tue, 08 Aug 2023 13:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579929.908135; Tue, 08 Aug 2023 13:47: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 1qTN3F-0003y6-6u; Tue, 08 Aug 2023 13:47:09 +0000
Received: by outflank-mailman (input) for mailman id 579929;
 Tue, 08 Aug 2023 13:47: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTN3D-0003u6-QS
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:47:07 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe13::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f932adc-35f2-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:47:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9884.eurprd04.prod.outlook.com (2603:10a6:800:1d0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:47:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:47:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f932adc-35f2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y1m968OiRp76HrSj7ITHPRRVgVOs+H0dWMw8gUvnKVTfdtiwoA7lzdUFh4DIyTC5CZ1ArXgty2oCFR5hwluXSSDa2mvgD7yWwgUrqfVUHQfhTaImh6Y909CjLZfBov+EEbF6t2CqetQPUo4+GFVDL1L40BeRaJsI0Zkc6KQdkwEVoKLsGXLykX+2E0q2+vDOpyGM+vYRfQxzCj1BRMAaUUWA2x588Fj8or5BSXzUCDl5SehU2mywLTW273KOo7xshqVV3Fg50HdNrcQCy+G4ZirFNn75JMEj6U5rlONzVt9YEI7T95FH6HuqxcCdvM+WIhaylWIhe3WJmbH+VaNc3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GL8Pm/P4/zQxUN8Cll8FWmPW6DZ35OKVjXUR9OfSrZ0=;
 b=n5DhyErNsY+xiSsNyOHz8CHn1qsgLChxcfcOb7LYc/z09jmzX3OuzBXMRKhznrmeSKWm3/J095hK/eeznyV2cF43eY6+ZSH7nlsc6nEye66oRIQmFMRSH9FGYx1XtMnU1tGaWz2TWZdRO5ZBGhoJ/i8iXhtIr2Ns2Hg4RSyhH8ZVGiCMMPDX5mvPtjB0DvvumgZ+qwdw3EEjPC8ykocFoDpRCK2IT5JUtYJg0GSP6kIYHDrV7jmdijRHJW/NrzQc15VD8o2bDoYEhLLwshxODuTf55M+yEvhM8rnvuu6saGzRcLlqHoSpfZkhaUeMtUW5AeR6EENnpaCZOfthaUInA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GL8Pm/P4/zQxUN8Cll8FWmPW6DZ35OKVjXUR9OfSrZ0=;
 b=cUhMl7s8u4hFJS8b8ZPEJLqccqE4q4cJEHrKFwaMBbTLgu/2uxts49p4LKQCx/xgrOIL3AyXgNKe39TOpfKYoI/zCi/dT/oQns84ErcUd5vXbYGESayxZuhHvuANJ0nlWdvQGryRMh44wwwXnG6g7a+P92SG9JjRME+yt0rrk4cDDeSFyFQT8qC4XgiGVqnxT+yuY3GkAwoOQVR0sBUCm5i50vVA61fEowXtvCTvpbTgc5caC5x4gNcyFB8Dd15bXh3heMfImkRanIe1uTMuSe9Bsv4mau3x9t8oV3Fvo3IUXzMfgyCEsRDRLo2jrJb+OoM/sDmfMQNer4C2Hj50vw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a35a6462-15c6-5413-12de-d089fcf1e298@suse.com>
Date: Tue, 8 Aug 2023 15:46:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 1/5] x86: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9884:EE_
X-MS-Office365-Filtering-Correlation-Id: 33633e7f-0651-4cca-2cac-08db9815f20b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7Sjr5r3Rp668gmoZMy6yYulMMee/4vWA3HyRr8cTTVgKXA9QXZI5PdtxNtBtjPjYbJP+RRfwI4SFuR/FBzxJBR2F1WPlZXB1zj3tsdrAPv+XJz9+KVuTCRVoKuGdoCwXv4nXGiY+exTdHvIRym0h1vj2gvLyq7CkRDrrp3oWvz1VcvPPCOfJvjJ05tEo7grgSuCxpdxM6XmbCawxNQ39NXQu7Mat6mBW/yeIoc6QxC2KBmY7Gf0GPHhiA0UPSa0Z91lJLFYvn/Am1tCAAttDDUwPSBDFC+Zhwum9bzJfrBEETP75BaLHOwkGuX9D52kwPffVjhUW8syoUiwLkS+kApUaT7UHyv6VaImu5p01IIMSZPAAk9bGTq55ZAgVTEdsO7BOiqFdtaf3YQCI3r4AgCowSCSi8QxyHZi2cE7yC1DMk9I+0s14/A22GRqIWoxiGNc63yJZuRgpL5jmyaFZsohmFINsVLm2V9Gj4Sh2bXOeZ09YnJ6NJxsZFgZNz7OZrr9aOqMasVSFiDPwfTCug99ououaZ/h44vRzcpScr/PY0Py9zc6ZH9ToMBe3nwu46hODe+yMItcIz576thO3EIm+tnRLxZtl1QSAPSWW91/eRzdlzvGTY5gXKiThVWJxNHdLNQjbrzCkY7kE91LYrw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(376002)(346002)(396003)(1800799003)(186006)(451199021)(478600001)(31686004)(6512007)(86362001)(6486002)(6506007)(66476007)(26005)(6916009)(66556008)(66946007)(53546011)(4326008)(38100700002)(54906003)(6666004)(316002)(2616005)(66899021)(41300700001)(2906002)(83380400001)(36756003)(8936002)(7416002)(5660300002)(8676002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHEwOTBObjJvSkJWOTE5OUErVlhWcUlzTmR0OWxBc3o3UGp0Q3VJNmpoazlK?=
 =?utf-8?B?RUNwNXVlS3RUY3ViNzNBa0JDTmRqM3RUMStYRk92ZXp4VHNpWU9EVFZ6UjJL?=
 =?utf-8?B?d3YvZU9HQStFMVduemp2NjRVQ0RIditiQmd1c2J3NjdFM1VGUHpGTnpLRXRT?=
 =?utf-8?B?bUg5OUpCUnl1R0JNZ0ZQdUx5S1hWT2lEeTBuSEc5cSsrZ3g1K1VXZTArdkFx?=
 =?utf-8?B?V2dBWmlTMUhWTDFiRVVQdUE0VndMdDcrR1BnVzZoQ3lyZE4yTk5lK251V1kw?=
 =?utf-8?B?K1VaYzRCZnVQNnh1bmtqZXFiM3FiOEFzcEs2aUVSelIyaU12Rm9tN3RUTG5R?=
 =?utf-8?B?eVprNXpUeVV2b24wODhQU0xsdXRCS3MyNVpoTmZaai9VeDNoUFBMSS9tenhh?=
 =?utf-8?B?akE0S2MycFA4N3BEUzhydEVKdFljMzNraGdodDFXM2k2Syt4T1ZDSHRmQnV1?=
 =?utf-8?B?MzE0TkU1bFR0TSt5NzREVnhIelVZYTFrMUQ1c0svejQ5RDZ4TlpzdkRUeE0y?=
 =?utf-8?B?blBlcjBlNU5KTWlTZzloUHkzUkhnUUNCWkJ5QXJyeWZyL3laak90K3dkcHd5?=
 =?utf-8?B?UHpiSFZ2cDlZcnJPR2U2bUlYcTJPY08rWmw3eUJ2NVBxRmU5WXR2TmpacDZa?=
 =?utf-8?B?bkhQYnIxQkRLdkNFdFJTQVhKR2FXNlZ5Tlc4N0tDbmhlZU9XNno3NzJLNHZU?=
 =?utf-8?B?cndRMkhxTzBKMERObFF6eWJxYkx2NzZSRjZlMGVlN2cybnNzVGZNeDcrZ3pY?=
 =?utf-8?B?bUNXWXJoVW5qV2lkUE5WeTdCcE03ZEk3b0JpaTIrbCtSUHpPR0lRRzlJL3Fp?=
 =?utf-8?B?NnZvenBRLzNEam5CcU15MHFIbFRETFBteUthTmdCSHhXdkZjaEpDLzZ4T1lG?=
 =?utf-8?B?MGR5c2trV0l2d1NsVGVLbHdhR1B5ODZlbUNrQ1c2c1RQdi9QVmdxdCs1ZjhL?=
 =?utf-8?B?TkR0Z1Zjc3l1ZHczTnlxODNiZElOWWwrUVh3ZTVMYW9xSnpVRXA5WUwvR3d0?=
 =?utf-8?B?YkNVV2lZVE40SGUrRUdnQ0F3eEhTSkNuOFpPWE9HK3YrNXZ5dmVIRFhYOWZQ?=
 =?utf-8?B?QlY5ZVcxaDViVWZDbHRqbDJBaXFDa3VldVJtVitaMmJjaldJN08vVU9OYVFz?=
 =?utf-8?B?RWVnWkdTOEV1MWFJbXgzZXZIV2tENWtoaUpMWnVCQ2taWjJ2TE52b2x0RG5u?=
 =?utf-8?B?R016cGNQSGNvUm5udzJkNmpOVHBldlYxenVCSHN1ODJLdWQyaEdmbDNXeXY5?=
 =?utf-8?B?a0FFYVNKY01iUlpMZ3N0aC95UnBveDN3MVQvKy9EYjlmRkpvWlo5dDZGNTBv?=
 =?utf-8?B?YXcxWjh1MzNhM0JUb04rUmxXNnRxSk1rNmVEK2lYTml4SEJ5cEYwWUxqZVA0?=
 =?utf-8?B?S2pzS3gxYmtVOVUxN0x1aTYvM0NHdWVCVEEvU1FnOEoyRWdEeUhqMExzNEJF?=
 =?utf-8?B?WkFEOWNKSzFIbFc4WHJPMmRyT3BNY2hFOXdQK3FoSWV2WU1vSHluTEJpdkN5?=
 =?utf-8?B?clIyeCtDWEpDMlJrR2QzVytDMmhtYmdPNURiTEVDbGJqN3M3RFFxbHVYZ3A2?=
 =?utf-8?B?SjRyeUI2anRQbWlxUUZtOHVNUmJvU2Ewdk15VkwrbmRWZWdXTjVIUXZQd1NN?=
 =?utf-8?B?ZE00YnJxcHZuU0xYdy96ZjE0dDFKbHVvWklLUyt3SW5sRTZMOWNiU2REeEln?=
 =?utf-8?B?R3ZrOFJ6cDFXbkp1SFJ4aDVWODl4QVp4MFdHYnFZYnhPUWJSblZEbnNFQ3BB?=
 =?utf-8?B?U2NFLzJYemJwZDIzZnp6cFBCYWprUVRLTkg0aHFwMDAyWVViM1pPMGEvczh3?=
 =?utf-8?B?UXlqakdqaE9lOXpnME9KTVhUK2xZcmlJcDBCSjd4djFZR01OVGV3QmpMNFJa?=
 =?utf-8?B?TkJ5S1Q2L1ZNdDd6SVBGcmVJOStjOVBtR2J6VTA0aHFFU0RaT3pxQUNLTTZj?=
 =?utf-8?B?SGFVL1cxNmFndWpJSm4rNDdQWGpmeloyN1JoN2FpMTR6YkhYYXFYVHV0OU51?=
 =?utf-8?B?Tk5VbGRRU2prU256RzRxLzVmYzh2bFpCdUxueXNxMkhGNnNTU1l3QXpYR1J4?=
 =?utf-8?B?WFZJU2cxcHF5eHI2bEZkVit6aDY0L2FEU0RuemF2Tlh2QzhqekY5akR1elYr?=
 =?utf-8?Q?Koz9ZrhGD3DFAFpaIKzRlbtE6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33633e7f-0651-4cca-2cac-08db9815f20b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:47:02.6581
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mt5GbH9y616r/puKuYTdaE/QwhKOVt9ymT1L5vf1KCvpztFrbhf6eLtbmmG+S2gQXBYfnNVPAiw/6tbP2w3ZLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9884

On 08.08.2023 13:08, Nicola Vetrini wrote:
> --- a/xen/arch/x86/e820.c
> +++ b/xen/arch/x86/e820.c
> @@ -543,27 +543,27 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
>          clip_to_limit(top_of_ram, "MTRRs do not cover all of memory.");
>  }
>  
> -/* This function relies on the passed in e820->map[] being sorted. */
> -int __init e820_add_range(
> -    struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
> +/* This function relies on the global e820->map[] being sorted. */
> +int __init e820_add_range(uint64_t s, uint64_t e, uint32_t type)
>  {
>      unsigned int i;
> +    struct e820entry *ei = e820.map;
>  
> -    for ( i = 0; i < e820->nr_map; ++i )
> +    for ( i = 0; i < e820.nr_map; ++i )
>      {
> -        uint64_t rs = e820->map[i].addr;
> -        uint64_t re = rs + e820->map[i].size;
> +        uint64_t rs = ei[i].addr;
> +        uint64_t re = rs + ei[i].size;
>  
> -        if ( rs == e && e820->map[i].type == type )
> +        if ( rs == e && ei[i].type == type )
>          {
> -            e820->map[i].addr = s;
> +            ei[i].addr = s;
>              return 1;
>          }
>  
> -        if ( re == s && e820->map[i].type == type &&
> -             (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) )
> +        if ( re == s && ei[i].type == type &&
> +             (i + 1 == e820.nr_map || ei[i + 1].addr >= e) )
>          {
> -            e820->map[i].size += e - s;
> +            ei[i].size += e - s;
>              return 1;
>          }
>  
> @@ -574,20 +574,20 @@ int __init e820_add_range(
>              return 0;
>      }
>  
> -    if ( e820->nr_map >= ARRAY_SIZE(e820->map) )
> +    if ( e820.nr_map >= ARRAY_SIZE(e820.map) )
>      {
>          printk(XENLOG_WARNING "E820: overflow while adding region"
>                 " %"PRIx64"-%"PRIx64"\n", s, e);
>          return 0;
>      }
>  
> -    memmove(e820->map + i + 1, e820->map + i,
> -            (e820->nr_map - i) * sizeof(*e820->map));
> +    memmove(ei + i + 1, ei + i,
> +            (e820.nr_map - i) * sizeof(*e820.map));
>  
> -    e820->nr_map++;
> -    e820->map[i].addr = s;
> -    e820->map[i].size = e - s;
> -    e820->map[i].type = type;
> +    e820.nr_map++;
> +    ei[i].addr = s;
> +    ei[i].size = e - s;
> +    ei[i].type = type;
>  
>      return 1;
>  }

To be honest this isn't quite what I was hoping for; the many ei[i]. are
(imo) quite a bit harder to read than ei-> would have been (hence my
earlier suggestion to also update that pointer in the for() loop header).
Then again I see there is one use of ei[i + 1], which would likely look
less neat as ei[1].addr when everywhere else we have ei->. So I guess up
to you whether you adjust further; I'll ack either form.

> --- a/xen/arch/x86/guest/hypervisor.c
> +++ b/xen/arch/x86/guest/hypervisor.c
> @@ -63,7 +63,7 @@ void hypervisor_resume(void)
>  void __init hypervisor_e820_fixup(struct e820map *e820)

What about this one? The function parameter ...

>  {
>      if ( ops.e820_fixup )
> -        ops.e820_fixup(e820);
> +        ops.e820_fixup();
>  }

... isn't used anymore, and the sole call site passes &e820.

> --- a/xen/arch/x86/include/asm/e820.h
> +++ b/xen/arch/x86/include/asm/e820.h
> @@ -29,8 +29,7 @@ extern int reserve_e820_ram(struct e820map *e820, uint64_t s, uint64_t e);
>  extern int e820_change_range_type(
>      struct e820map *e820, uint64_t s, uint64_t e,
>      uint32_t orig_type, uint32_t new_type);

And what about this one? None of the other subjects in the series suggest
this is then taken care of in a separate patch (as per the earlier
discussion it indeed doesn't want dealing with right here).

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -686,7 +686,7 @@ static void __init parse_video_info(void)
>  #endif
>  }
>  
> -static void __init kexec_reserve_area(struct e820map *e820)
> +static void __init kexec_reserve_area(void)
>  {
>  #ifdef CONFIG_KEXEC
>      unsigned long kdump_start = kexec_crash_area.start;
> @@ -700,7 +700,7 @@ static void __init kexec_reserve_area(struct e820map *e820)
>  
>      is_reserved = true;
>  
> -    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + kdump_size) )
> +    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + kdump_size) )
>      {
>          printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at %#lx)"
>                 "\n", kdump_size >> 20, kdump_size >> 10, kdump_start);
> @@ -1308,7 +1308,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          if ( e820.map[i].type == E820_RAM )
>              nr_pages += e820.map[i].size >> PAGE_SHIFT;
>      set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
> -    kexec_reserve_area(&boot_e820);
> +    kexec_reserve_area();
>  
>      initial_images = mod;
>      nr_initial_images = mbi->mods_count;
> @@ -1495,7 +1495,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          reserve_e820_ram(&boot_e820, __pa(_stext), __pa(__2M_rwdata_end));
>  
>      /* Late kexec reservation (dynamic start address). */
> -    kexec_reserve_area(&boot_e820);
> +    kexec_reserve_area();
>  
>      setup_max_pdx(raw_max_page);
>      if ( highmem_start )

Seeing all the knock-on effects for the add_range() change, I think this
separate adjustment would better have been an independent patch.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:52:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:52:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579938.908145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTN8A-0005YJ-1Q; Tue, 08 Aug 2023 13:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579938.908145; Tue, 08 Aug 2023 13: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 1qTN89-0005YC-Td; Tue, 08 Aug 2023 13:52:13 +0000
Received: by outflank-mailman (input) for mailman id 579938;
 Tue, 08 Aug 2023 13:52: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTN88-0005Y6-Q5
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:52:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7d00::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c573dc44-35f2-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:52:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9884.eurprd04.prod.outlook.com (2603:10a6:800:1d0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:52:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:52: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: c573dc44-35f2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DeyeqAqps5nXJzmEDroH6FpDAFEv2s06tmZ4fUbu0wa/TU30chMojI5ubWinO+yOo7vmpPFLFHtZ1K5KicFSes05xdXF/HjBhMrDLzqtIuHFcpdb7doGbfDtZkam3jGGMfUHLkblfO8cTTN03PqxmjlsJi7EClV8BMgGGuZ2uq5fKRxuz5ISlBhSyelGGu/cF6bEIH3EoFgzlfKPIlXPuDb3DVn/ipIkwOXIJWS6gEnpNynCiaav8ZqG13rxFXCrIyD5gVkwtwqQeywWZCEs1oFmuit6X/5hpgzcvhed/buVKVycGXqGYLEnaMfOlJY8Rsawmd7mkc7NuyGSFGnIKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GoCjWo1H3Dimg14cyPXEhhyFcvBL1Snduz8ZBJpjG5U=;
 b=N39+nOlYKqNRg/XSM0PscQZbhhjNievJEQTHFvdPZDm5b9aNvkOEPIprKbV1HGRvUdukj5+MZ/oyrS4bz+ounmPplNQRclgBd11YW+b1OQshdVKLDcyYcE61mZnh4jkXsNOyFER7R0AJI3lAspqVx2Q5YNdWqCXGiW7vpOBNH8kwUujcYycW+UKvBjOMmeZLDEeq9RkLyJiTTtHMsAP6fGYvmNiNGu3x+/MUJr3R7RgU0wB6BNSsK2RHa2hMaOu0nLYzxHgRTX9kFhKG/Nxnuh2jFfhz9VpU3C6LIRIsG+bwYeE9pVdHJB4uXU7KlgrfEYjGsmOHdFFe/toZpN44vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GoCjWo1H3Dimg14cyPXEhhyFcvBL1Snduz8ZBJpjG5U=;
 b=Zi3ZsZTfi4dNgn1rz3HinGh5jfz7EkQ6uyCbMmnbPlAarAYuVYqbp230Dp0HEUNDGqHk5n+Y7/l7fj76Uccv4VokZhek5XuOOxzHqPbvE95zOFgC1wRR2OdyKo1ZZGT7BMYmuffZJpeLrGjzkkqiQ7SqwZzytCDLHwXdyM4iOr2vg/jmHw1muD/FuDlA2bPkaqAjAc7MIxBHt/rr6DtlM2yFiVJ4HbGATZvAQuzTWZNUEqiyznIcadDaMT3dHfqIQmkS/HL/gKLUW1Ui3XN6WZAUKN54MnEOFZItNnk4YMOlZ1Ocub9POutUuAP0Wu7HlvRaAZYtUQJtVZArnYfDAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <250d3d77-9668-eac3-172d-5a0e50d33070@suse.com>
Date: Tue, 8 Aug 2023 15:52:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v3 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
 <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
 <9e5f208e-7419-b16d-c705-592959dc0ea1@suse.com>
 <e86dc812f4e365d8f23a14f9edcc2852@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e86dc812f4e365d8f23a14f9edcc2852@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9884:EE_
X-MS-Office365-Filtering-Correlation-Id: e3edd54b-36bb-4190-e99e-08db9816a8b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J7oE+aD4In7IsNmT3+zEWJTgSDpjCEQjIndUVauuakXx9uTPb2xW/BY0f7Jz6Mg+03olhv4mljTVNhe9MUKDjWrhLkbWj7Fbf/u5DnrJTX/KmFixiJ3ihpgjggnJJyavvgxahRr2c/MUfn2VrDULal2ecY+GlyhnQHKNqQ88wYQYInxnuWa0VVPfRbtiFQYrtz3g02suqR1fMY6yAEs5QfdgEK6AVfrG24nmtJoNxT9q3YIJJM74LsBVNwi2Pf9FweoaBBLXN/rRmYPKRw0fZ50jmNTBJg2Hsskex0dfOJplPD7MLJ4g+Qi/C4IS1Cri+VDtezgkGn6PUUdRRuJQcfzkrJL/xPpHo8Son3WykTB6QSreIqQLjKzjiwHhpa7f9JBbCSj8/8yTAlz8OElm1jdZj+vWmLEVRKjXEmbPSNFuBflGuEKV3e1KByTy2Udqh/mkjK4RyNkz9WYERZ+IWrqJV8psfwGBc1AW8vFCRjrMl2t6QUPj2tpdteV5qrdFA9u8bsyYCRIZXPHhzPk/y0MD6zYHebwdbyDF8BMFjxuMOuR+hqMIRN80XqSFEQRtebX20RmP0xuN0sRnVwpt22WwyWd3qdFk6mwGQnAtf17QrGCX6H1240ncLa+Xa2SViXv3krjjqwF9xuRNvZSFnw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(376002)(346002)(396003)(1800799003)(186006)(451199021)(478600001)(31686004)(6512007)(86362001)(6486002)(6506007)(66476007)(26005)(6916009)(66556008)(66946007)(53546011)(4326008)(38100700002)(54906003)(6666004)(316002)(2616005)(41300700001)(2906002)(83380400001)(36756003)(8936002)(7416002)(5660300002)(8676002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OE9RWGllaDF3NVFYdFFHbVpSdDNjRE5LRjZzT01ra2VzWTV6cXdJellkTElK?=
 =?utf-8?B?eGY4MGF0WFNSS2dQMmgzTGRkNDJyQ1Q1VHQ5dGNyTnU4bC9SeUdQTi9MeFJV?=
 =?utf-8?B?bkVCdmxyalQ3dDZaWUoxSXJ1T25VdXpKSVlDZXdXQXZTeWJ6WGhYVjdSYzhK?=
 =?utf-8?B?cVRYNXBpZzdyYm5wVk9mYldkUGtNNmV1OWV6dVlnTDUraUM3Q2JacjZveVpZ?=
 =?utf-8?B?aWJDeEZkOXYyYm9tYW5ORzd2Zkc1RW5FcExEL2JJdTUrdmNQQ3RXQ3JNTkY2?=
 =?utf-8?B?ZG14S2t3U0dKUGg4aGh6WCtVNFlvVEhjNlMxOW8vQXhza0VrTnphczZuVXJ3?=
 =?utf-8?B?dGRRcUdkRXp6RTRvdEVCOE13bE9QY1Y1bm9TclZFU2FCYlkrMmMrWDNjSE1r?=
 =?utf-8?B?S2ZaVGduT2J4NitPTnJsYzZKU1h0N3RGS3JKeVVVQ1l2aklNQTlBZ3Rrellt?=
 =?utf-8?B?QVZIZGdWZ3cvczV3dU1QT0tscWhuWDNBTm1HOWdqRldHcHAwM2EwR294MzRy?=
 =?utf-8?B?N0ZFTTY1SGhDQ00vdDlXZzkvbnlSRjJrUGloM0dBekFkYm1ONjdoOFF6U1F4?=
 =?utf-8?B?RVpVZG1sb0JjdFF2N0toc1BGYjhYUG9ZTElidGNOVE5Tck5jeWUrYVNtU1dk?=
 =?utf-8?B?dHF0OTRBbE9KYUNJSVFlUEFkamNkSFpuTzlNcFhZL2RMNm9SaENkd2tFdnFH?=
 =?utf-8?B?Wm4yWU9vUHZxaDVaT1RpTi9MUWljdW5PTnN4UzJuQ3hvaTU1T0E1RUFRTlZJ?=
 =?utf-8?B?SUlKYmx1WlpKTTRpbGxhc04yYlhCSVRVd3d1U1J5RHgvQ0lEVHlUWWJVL2g1?=
 =?utf-8?B?bWZqclNHdVlwNHVhbzQzaUNVMGIvZHF4anZ3cUQ5ZFUvMmJCWVVaVWU3OUky?=
 =?utf-8?B?K1hwY1dNY2lidmk0SDZ3R2djNWFhWXhjT1I4NTdONTg5WmxXclVORVBuMGVN?=
 =?utf-8?B?aEM1WXZlTW1YWWpKU1lvM2JuMGdnMHZIQldJS1dnSzJuNXNuc01oZno5cmlK?=
 =?utf-8?B?dm1wZ3c5VUJxNmpyY1AyUVVOOEI2VmNLWGVDT1pUOW1uV1RKNVhzcXdEMHN2?=
 =?utf-8?B?d1RGdVAxYTc4WTFLUklrODVHL0NtdnB2emdQT0FLVkNRZUQxMnE1NkYyem4y?=
 =?utf-8?B?bXIwU3BZRlYrNndnbVRqeENvbUFtdjlvSWhuUFVqbGZGTUhCbk43SHRGYTla?=
 =?utf-8?B?cjFOcXdieEM3Q3JtdkZ2em5kUmZuSHJZSHV4amhCMElBM3B2cDJNSXZKL29F?=
 =?utf-8?B?OUdOaTBFQWVkWmNobXgxWWJ1UXNhdU1VNU1GOFBObit4OHFzZVUwUStNV3pC?=
 =?utf-8?B?MXU2VFNYNDhoU3V6QmNWaUdIcjNFMFBHZGpPbEVnMHI0SS8wTTVUY1RvWE9t?=
 =?utf-8?B?a2FwOS8wU0kyQ1NjTmdweGtvY2NRc2p2RFlFNUoxT2dTbDZzQzFUWGFuL3c1?=
 =?utf-8?B?bmtCeFhEUGxIakU2K2hHMTdpMmpoODllZElmTHA3UytGUTlqazRmcG5Ldncx?=
 =?utf-8?B?MU5rOW9IQTZvVzJlaHF3REsxTWJJU0dnOFllV0pVVDNrM2FaNFBuTVRWRGFI?=
 =?utf-8?B?QjFRamdHZmJHVVNwN0tVdlFhTkJaQTdRbHlvUU9kakhQb2dRdmo3dWJKOEFC?=
 =?utf-8?B?bWN0WDE0bHhnUkEwRHJRc0pPREs0Ukx4U25jT3JmRkY3Vkl4NTNZNlN5Unpj?=
 =?utf-8?B?dzlrcVkxQktreDVmYTBDMitCSWFTSTJXNWw2Y3JZbzhXa0QxMW9TMGMvajJB?=
 =?utf-8?B?bExaWEhaTXczaGJGSEE1dUh1QjE2Q0g1NjZWaWtQMWdTRmN1NndtNDJrVGNu?=
 =?utf-8?B?VWNwZGd5MGFWYWFtZUo2d01oSXZrWVpVb1RiYmh5NDRuVlYxWTRaQWxQd1h2?=
 =?utf-8?B?dGZrZUlVd3Z1eWdkUlZsNXRtK2lLYnpscGREaWJQNHNnZXlzeXZaL0lyV3Iy?=
 =?utf-8?B?Q3hrTENGem5sWDlzZVZURE0rWnA3VEw5bDk2V1JZVjZwLytRelJpZ0Vzb1ZO?=
 =?utf-8?B?TTRXTzhzaHl2REpoNWp2ZHo3OENLaUZVbXlWR2FjVHcrK1haYnljRk5wSzlO?=
 =?utf-8?B?Wm96NXpOWS95RkZtRUVNNUdnTXo2WW42QUQwQ0lwY3lnbVIvWVUrZElmS3BS?=
 =?utf-8?Q?YTKoOFoxqYbZk8B/p3IgIRTbh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e3edd54b-36bb-4190-e99e-08db9816a8b2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:52:09.1123
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dQhKcY0WFCrx1c8oauLlMzHPCrmBuYRKEuAdIF+HnXYVJqTeKsz57WRUbXr2UV+RgbVxSMdMQ+XKTRnhvEnz5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9884

On 08.08.2023 15:38, Nicola Vetrini wrote:
> On 08/08/2023 15:22, Jan Beulich wrote:
>> On 08.08.2023 14:22, Nicola Vetrini wrote:
>>> The local variables 'irq_desc' shadow the homonymous global variable,
>>> declared in 'xen/arch/x86/include/asm/irq.h', therefore they are 
>>> renamed
>>> 'irqd' for consistency with ARM code. Other variables of the same type
>>> in the file are also renamed 'irqd' for consistency.
>>
>> I'm pretty sure I pointed out that Arm uses a mix of "desc" and "irqd".
>> So "consistency with ARM code" doesn't ...
>>
>>> --- a/xen/arch/x86/hvm/vmsi.c
>>> +++ b/xen/arch/x86/hvm/vmsi.c
>>> @@ -281,7 +281,7 @@ static int msixtbl_write(struct vcpu *v, unsigned 
>>> long address,
>>>      unsigned int nr_entry, index;
>>>      int r = X86EMUL_UNHANDLEABLE;
>>>      unsigned long flags;
>>> -    struct irq_desc *desc;
>>> +    struct irq_desc *irqd;
>>
>> ... require e.g. this rename. As mentioned before: Let's limit code
>> churn where possible, and where going beyond what's strictly necessary
>> isn't otherwise useful; there's already enough of it with all these not
>> really helpful Misra changes.
>>
>>> @@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct msixtbl_entry 
>>> *entry)
>>>
>>>  int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t 
>>> gtable)
>>>  {
>>> -    struct irq_desc *irq_desc;
>>> +    struct irq_desc *irqd;
>>
>> This one indeed wants renaming, but then - consistent within the file -
>> to "desc". At least that's my view.
> 
> Well, but having
> 
> struct irq_desc *desc;
> struct msi_desc *msi_desc;
> 
> and then using them both within the function doesn't seem that readable, 

You have a point there, yes. Still I'd then probably follow up with a
change to rename msi_desc -> msi (and I say this despite seeing that
farther down in the file "msi" is also used for another pointer type
variables/parameters). But with what you say in mind I'd also be okay
with you renaming to irqd where renaming is needed, but leaving "desc"
alone.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:54:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579943.908155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNA4-00066e-Ci; Tue, 08 Aug 2023 13:54:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579943.908155; Tue, 08 Aug 2023 13:54: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 1qTNA4-00066X-9J; Tue, 08 Aug 2023 13:54:12 +0000
Received: by outflank-mailman (input) for mailman id 579943;
 Tue, 08 Aug 2023 13:54: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNA3-00066R-LL
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:54:11 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cbf85b5-35f3-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:54:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7967.eurprd04.prod.outlook.com (2603:10a6:102:b8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:54:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cbf85b5-35f3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BbD7bnqCOvGpWwjNZrUots+mmoxPVutc3fQxxsORVnH4PaFTnRVSRyAbGYotb6U6QJDepcekfDRQcY4V4kDzZYo5u0R85XQzzMSPu4ra0YjKX690EbIx7JHpnElmIOknNgprGakw4QAG/owshgZLBdDAFPDNMNGFoLnuuzb3j3rlWmStCo0fjqe1g7AE8q+y/VlTjUDGNCU9H1aydvZU3TDd8ccSPmDQu+YIYTzNemTpRsArS1/oqssBV6j7kKXAHX6bEaC2sfjJQpuw7mPQmvJn+77Pu3t4ua9onesvkNnAoG5QA8ffYDPQ1WafeE5M7RfmvSFo97vABUs3kkgSQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yFsBgP0I2lsEjEXUSrhbALEWBDLafndh5axRrWRGhI8=;
 b=hpLZvAtN7cxkHj/+OW/HHif2XBVAfXNnIwYPkWWTG9Zf5Kj1pS+qvXez2Z1DAipr+Dh6BecK8XbitrWLL2CSSApKV3r1aiAg08SRdpO5tGDm+dRyZaYs5ssRQ4pXG0iqDsTNLraSvyA23HxK6WPL8GdKQUBrJOG28+C43XKwJbW7vM43zyONRcJE10ynAmWAMWpiHU85+tQAMTRnKmREYDndOpFQukyilttTRnQJZvkv+wvSbiei6cbKTYrKIIJFxcHihs4eGKQXt/8w0Oqgu2O9VHKXiFdKFexkJmvff7v3XZfrBWVSjCaH2hfcD2UWWGfR4ry54S6SZ0Gtl6z19A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yFsBgP0I2lsEjEXUSrhbALEWBDLafndh5axRrWRGhI8=;
 b=uWJ0o1gY6tBt5ekPgj9CjhOJT/9IcHrrMhM97I7Zi5IQhMiLavrRyweDI+dG6mnDGMtSJDil4AR6Yu2iwPZiBlaYNU1JlE76G3aE8dDukjx+2qa8KrhKmJD2NOAfmF2LT3SeOfOaMtpG11xQtoqHRJYQW3AaR8FxbAsPW2ggXwhKg7crxe7HVAcN/0wzcz7mCqfu+Uy9tBT+xpi66Sx4qgsoFINOPR2ztoUL5pJt3hITkl0dQlDmY4E1NJ82PZhvrtHT5KhLtqCzaoEhWGavhqTk8X5riL7JqLJv55Rp++qV776JHnFhdvOqaTZ6WNm1m+Uk8IlRr26YhyIfl4vkBA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3dd8adcf-dba0-f6f4-7519-dda14763a4b2@suse.com>
Date: Tue, 8 Aug 2023 15:54:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub
 is disabled
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-4-jgross@suse.com>
 <f8907fe4-be0a-7045-38e8-7dde8970ecb5@suse.com>
 <726d0de5-bf4c-1fff-78ea-a52a7c84b635@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <726d0de5-bf4c-1fff-78ea-a52a7c84b635@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7967:EE_
X-MS-Office365-Filtering-Correlation-Id: 569b7f63-8885-49aa-5558-08db9816efc1
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+F89fd51kOuquC0UxN//nmI97XcIeRuymw8RPGqLw5urFxgR6u8dBK2BMbwykKrptcTUs3vFl7KMpg97YqhTepR0WzdT2nSzNtKCjvA/I9DZtD3JWM39OvACBinLfLl4hKCvJ1nfQ6A4WsLngyKLdePT36Fs5v7qNb3vTyXXZSkzCYkGcNatQa+dE4McurwHe7G9u+Wd9qUV+4eEmPv1udNrBQWkuxnfYnq9K3QGZULKC9Zj76+SfHGU9u5hkpo3ipbkhSC/v7XLB1Wa2U9xNTK2gdI33es+6yq+j63aGNztRJNW9FVBOqk3vOchzeFibJVj6FVaAnuV/gFyUK6Xl1ulFxRoGv6tNlANjBw9nWusd3o07CCk2wCaLMbaOThYSn4/BtDuLxb5c+Eg45ponwIRxCSze9YBO5xgO5KtuHF+1LMRo7Pe8KZngciNPpDyzqNcoljuQdEOfbvwIbYRmW3FNloENJimjWhxYc6d2cA7nkiNfr44vp9VIvEtWl9J7kht8R6AQGJaye9kEBqYF78yr2Oqmq0BWUZrJTZLdvaHcRmlsYrM5vI0LH+3Ld2omkNPzpAmj7QJz4ajvlxN//dejf2NiayE84Xsv344ddsfl2uZOApZX9E663Qa+kzJUW9TnIcXnbhpLnBnHasF/g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(346002)(136003)(396003)(39860400002)(186006)(1800799003)(451199021)(41300700001)(26005)(2906002)(5660300002)(83380400001)(31686004)(6862004)(8936002)(8676002)(2616005)(478600001)(86362001)(316002)(6506007)(31696002)(53546011)(37006003)(54906003)(38100700002)(66556008)(6486002)(66476007)(66946007)(6512007)(6636002)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2RjdGRhSURzbjhFTGR1V1lQR3Bad1JFYTBuR2ZxZXRpd05vWVkxNWJzejI5?=
 =?utf-8?B?TDFxYnZYVmdlZEFCZjExSWdZV01lQldldWFqZWZtMGp3NDd6K0d4QXZmVzF4?=
 =?utf-8?B?QWlXa1hoaTQwQjlnTWFvRWU1ME5ZeXlGaEh2anJGbzV2MmJkZkExTFZYaHV4?=
 =?utf-8?B?Njh5V2hmQXpoZ1JZUHlCUENBNkM3Q0dhSWJVazFSNzJQc3lwbGNGZUdTSUVZ?=
 =?utf-8?B?ZmYzMlQzNEZsN1lUbmJPUkd3c1NiWXJBUDBMSHhxZkg3TldyMVFURWpYQnp6?=
 =?utf-8?B?U1VXR2pxNXhUK1NmWFdKNVVGVW92a1Vab1RYS3JmcEN6TmJRZDJXcWpMM2k0?=
 =?utf-8?B?WUt3SG5BRitTMDg5VTBXS0tibkVTZCtKZ0E2MDVKNUdhMHJYbG51aG1CaFh5?=
 =?utf-8?B?cFFuRHV5aU16NGRzTHR6dDk3K1d2ZTZPRU9ERFl3VzJ6T0pvbUVFU0dnalQ2?=
 =?utf-8?B?ZmJEakVoZ25LWmhGTGxjemRIOGRTakZhVldLdzJEVEtrbzhkVkR0SDBtY29B?=
 =?utf-8?B?NFZ1NTBtajY5czJjZVloOEZyVWNqbTR2SUx1VHpPd2J5bUttdUpjSGlYcWFH?=
 =?utf-8?B?OFdXbHVSUTVXSmptUG9BcThSNUYxWUw4RFBqMStJbytmRHFBMG9oNmtJNWdL?=
 =?utf-8?B?cVl0SGdCQUFhWTBTTXpUamR2V1dlWG00bWk3YVhhVllSTXVxZWZ2SWxseGxy?=
 =?utf-8?B?ZTJZdmRoSnlHdXQrYjgweS95cDRycWNZNnN3SjFDMUFodDN5cTc5Wmt0dGE4?=
 =?utf-8?B?Zy9PR1N0TXI1UGlZb0NKcFRBYndXNFBFTlkzNEtkYUw5S3VONnh6ZitaUDJX?=
 =?utf-8?B?R3lGbVozNVI2dnRTb0l3WDVVekk0YkJmemhPSWEvVU1PeUszeWpWVDROYm13?=
 =?utf-8?B?anJ2Wkx6VDI5TjBXTDFyajZjQnpMdjZLcjZvREZ1d3A5MnJQdWxuTFIrTFYw?=
 =?utf-8?B?NmpRSml5clBoZ0lVSHJKZ0ZiREt0ekhSUDJibzNXSFBoeHpOQitMKytPUnc5?=
 =?utf-8?B?RFdxZ3lUTTYxaUlVcmY4czJXNWlUR3lycFprSkpzT2IzYnd0TE9CY1NrYjFU?=
 =?utf-8?B?eE5TNXMyTDBBdEZGcXFnZVZHaWFCVjlCYUpmbEd4VDdQUlpVZmFBdXV3OWI5?=
 =?utf-8?B?VC85OFFtcE11MGQ2b3BZQStuNVA4cUZjNlAxdmZsTGdMY0dzNWJZWlNzQ0xk?=
 =?utf-8?B?WUhpZkZoMk9VQzgrV3JRMDV1NGZlOU9OS3E1L0pXaFc3QTlOK2RWVmlFT3Mw?=
 =?utf-8?B?TElHS0dDQlV2Mmc1UEYwemVpM1piUERKYllVK09NK2E5bjVjZno3M0xzdW9m?=
 =?utf-8?B?TVZ3Mk16Ylk3VVo2R2xKVjJHb2hPQ3FIcHpIQmlRNi9kYXRZa0ErazVFMzlE?=
 =?utf-8?B?NGRhTHJKS0Q0N1k2SEJEMkVTWFBDS0prdlYwWjFqcVBia2hPMS9CSkxqczdN?=
 =?utf-8?B?TDNid1c5N3N3L29EUlFWRG9SdHBBK0xVZm96MysxZXpNQjhqV0QvVDNlTVJS?=
 =?utf-8?B?bEwxUGxhRWhqREErcmtyMVdJVVZVWUdac1JKWDEyc3E2QXlRVUoxVTdncncv?=
 =?utf-8?B?UmlIMnlwempkcmhsYStGK2NIdGZCVHlDWVFaZEwyOGV0aEl5SElnbFpidk9o?=
 =?utf-8?B?V0VWS1NuSWd1WHlOY1ZoMk1ISzBKdi80eVVhdTlpTXVRYmZid2RTQzg0Q0Fi?=
 =?utf-8?B?cmFyQUZlSlpXb0lnMEVvZFQ5QlVVZzZoMFBmSWZmQkYrNmFjZjErT3cvOTF5?=
 =?utf-8?B?dGpOdU5LN2N6MG1ZQzIvSW5CSWtrNGJYOXJ3b2RZSFJORERJdGY3TnJNSlE2?=
 =?utf-8?B?TjkrSEg3SlJYTGNVcFFrR1lPWFZwTlJuNDJPZXpTdUNwL3ZxWFVTaEQ1V2hF?=
 =?utf-8?B?QmJnVHFwTmhHTTNQSDBvM0xqUUlpN0ZJVWdFSVpxaTZFVHJRd3lSZHI3U2RT?=
 =?utf-8?B?aUZhQnJldU9WbCthKy82VTRPejhrRjhJdENrZ2l4ZEhTdisyeXB2ZUg3ZW1S?=
 =?utf-8?B?UUt5Y00xU0QzdWszR0dXMTNYeXNzZ2JiT1d1dVg2UTF3UC9UeW51aEhqSWI5?=
 =?utf-8?B?anBreVdyL2lZb1ZsQ0V6QTZmWkJjUm03UWQ4b2pmTkhjb016YUZYUGNJL2dk?=
 =?utf-8?Q?/DivR0zB5KL54VWu9w1iFja0B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 569b7f63-8885-49aa-5558-08db9816efc1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:54:08.3339
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lF9b9jILPNT0bFySWKMV33jS+mPf1SBjDNEYIn5nIcaYW8c0Q1hGueGcG+K8eibIO2G7IrrX+JsTNdvEg4nMJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7967

On 08.08.2023 15:36, Juergen Gross wrote:
> On 08.08.23 15:32, Jan Beulich wrote:
>> On 08.08.2023 15:22, Juergen Gross wrote:
>>> --- a/tools/xl/xl_parse.c
>>> +++ b/tools/xl/xl_parse.c
>>> @@ -1692,6 +1692,15 @@ void parse_config_data(const char *config_source,
>>>       xlu_cfg_get_defbool(config, "acpi", &b_info->acpi, 0);
>>>   
>>>       xlu_cfg_replace_string (config, "bootloader", &b_info->bootloader, 0);
>>> +#ifndef HAVE_PYGRUB
>>> +    if (b_info->bootloader &&
>>> +        (!strcmp(b_info->bootloader, "pygrub") ||
>>> +	 !strcmp(b_info->bootloader, "/usr/bin/pygrub"))) {
>>
>> And no other path combinations can occur? strstr() is perhaps too lax,
>> but what about finding the last slash (if any) and comparing the rest
>> of the string (the full string when there's no slash) against "pygrub"?
> 
> "pygrub" is the preferred variant, "/usr/bin/pygrub" seems to be the
> legacy variant, which will result in a warning to use "pygrub" only
> (in case pygrub is enabled, of course).
> 
> I don't think we should test for other non-standard paths.
> 
>>
>>> +        fprintf(stderr, "ERROR: this instance of Xen has been built without support of \"pygrub\".\n");
>>
>> The other question (I'm sorry for my ignorance here) is whether pygrub
>> could come from anywhere else.
> 
> It would be possible to use that in case it is e.g. installed in
> /usr/local/bin/pygrub (assuming the check above isn't modified).

Well, okay, I'll leave this to Anthony then.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579949.908165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNBZ-0006gf-Md; Tue, 08 Aug 2023 13:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579949.908165; Tue, 08 Aug 2023 13:55:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNBZ-0006gW-K4; Tue, 08 Aug 2023 13:55:45 +0000
Received: by outflank-mailman (input) for mailman id 579949;
 Tue, 08 Aug 2023 13:55:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6lST=DZ=citrix.com=prvs=577b0fef7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qTNBY-0006gQ-P5
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:55:44 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42a0f203-35f3-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:55: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: 42a0f203-35f3-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691502941;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=17T/aoOsALy0M/J00/DrJ/Rw39x1aMjip/oySxG8Qo4=;
  b=dkM43OnAGNGpRZDQ4J59s3AO0iXs+v0YX+xd0s98c9EuTAWGkVrjE1py
   a7Xft+xUyn+8b7uheOcKgd3laILjsZNHY/g8BJADti+HWtqcn8Yhri3gR
   6whF9FkgNVg3RF1vrXXxHO++ENyjizGQ7vgNodCUlg560PIyN44mdaxVp
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118138738
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:OEqeLKCHj0zmNRVW/w/jw5YqxClBgxIJ4kV8jS/XYbTApG8q0DADy
 GdKUWDVP6qLM2DwKI9wPtzi/B4Cu5CBy4dnQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNA7gRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw8eYwIHBi7
 /MhAz0jNUCpo6Hr/7brc7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4XaHJ4FwR3Iz
 o7A1zjIIggjbtiW8juU7Cq8g/CfnS3QWqtHQdVU8dY12QbOlwT/EiY+V1ShpuKiolWjQN8ZI
 EsRkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8yxmdLngJSHhGctNOnMYuSCYjz
 FOhg9LjDjspu7qQIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8bhRKIb8dPCqGMpdDbQmHa5
 3PXkyxuvuBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWWxC
 KMwkVkLjHO2AJdNRfEfXm5JI552pZUM7Py8PhwuUvJAY4JqaCiM9zx0aEib0gjFyRZ9yP1kY
 s3KLZb1XR727JiLKxLsHo8gPUIDnHhilQs/u7ikp/hY7VZuTCHMEupUWLd/Rus48LmFsG3oH
 yV3bqO3J+FkeLSmOEH/qNdDRW3m2FBnXfgaXeQLLL/cSuencUl9Y8LsLUQJJ9A0xvsIy7aSl
 px/M2cBoGfCabT8AV3iQhhehHnHB/6TcVpT0fQQAGuV
IronPort-HdrOrdr: A9a23:+NW3iKuuc/1AAo4GShoJOMRA7skDTNV00zEX/kB9WHVpm5qj5q
 eTdZMgpHzJYVcqOE3I9urqBEDtexnhHP1OgLX5X43MYOC8ghrNEGgK1+KL/9SHIUDDH4Vmu5
 uIHZITNDVeZ2IK6/oTTGODYrQdKHjsytHMudvj
X-Talos-CUID: =?us-ascii?q?9a23=3AzEbXPmgjPhfQcrJckZv+ez5dBTJueX2a7Wb8OUC?=
 =?us-ascii?q?BImtHE+2/bRzNx6c0qp87?=
X-Talos-MUID: =?us-ascii?q?9a23=3AZGQRkgy7do8o0Yege/ogsR1sYCKaqPifKFk0y5E?=
 =?us-ascii?q?PgMiVK3RgPijNjDqcQKZyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,156,1684814400"; 
   d="scan'208";a="118138738"
Date: Tue, 8 Aug 2023 14:55:33 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 3/3] tools/xl: reject bootloader=pygrub in case pygrub
 is disabled
Message-ID: <fe01f752-ac14-4bde-b81a-ca558cbf8163@perard>
References: <20230808132219.6422-1-jgross@suse.com>
 <20230808132219.6422-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230808132219.6422-4-jgross@suse.com>

On Tue, Aug 08, 2023 at 03:22:19PM +0200, Juergen Gross wrote:
> In case Xen has been configured with "--disable-pygrub", don't accept
> the domain config option "bootloader=pygrub".
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

I'm unsure about this patch, but I guess we kind of expect pygrub to be
built at the same time as `xl'. And it still allow to use "pygrub" if
one specify the full path to it. So,

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579950.908175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNBj-0006ze-UE; Tue, 08 Aug 2023 13:55:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579950.908175; Tue, 08 Aug 2023 13:55: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 1qTNBj-0006zX-Rl; Tue, 08 Aug 2023 13:55:55 +0000
Received: by outflank-mailman (input) for mailman id 579950;
 Tue, 08 Aug 2023 13:55:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTNBi-0006yO-4z
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:55:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49a4c9fc-35f3-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:55:52 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3313E4EE0737;
 Tue,  8 Aug 2023 15:55: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: 49a4c9fc-35f3-11ee-b280-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 15:55:52 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <250d3d77-9668-eac3-172d-5a0e50d33070@suse.com>
References: <cover.1691488505.git.nicola.vetrini@bugseng.com>
 <605687eff99db7181ef6c05bce671e20f194b46b.1691488505.git.nicola.vetrini@bugseng.com>
 <9e5f208e-7419-b16d-c705-592959dc0ea1@suse.com>
 <e86dc812f4e365d8f23a14f9edcc2852@bugseng.com>
 <250d3d77-9668-eac3-172d-5a0e50d33070@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <3ce445c4628b28b3aa0869ab2250c9b2@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


>>> 
>>>> @@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct 
>>>> msixtbl_entry
>>>> *entry)
>>>> 
>>>>  int msixtbl_pt_register(struct domain *d, struct pirq *pirq, 
>>>> uint64_t
>>>> gtable)
>>>>  {
>>>> -    struct irq_desc *irq_desc;
>>>> +    struct irq_desc *irqd;
>>> 
>>> This one indeed wants renaming, but then - consistent within the file 
>>> -
>>> to "desc". At least that's my view.
>> 
>> Well, but having
>> 
>> struct irq_desc *desc;
>> struct msi_desc *msi_desc;
>> 
>> and then using them both within the function doesn't seem that 
>> readable,
> 
> You have a point there, yes. Still I'd then probably follow up with a
> change to rename msi_desc -> msi (and I say this despite seeing that
> farther down in the file "msi" is also used for another pointer type
> variables/parameters). But with what you say in mind I'd also be okay
> with you renaming to irqd where renaming is needed, but leaving "desc"
> alone.
> 
> Jan

I'll go for the latter (it's quicker) as a separate patch, since 
hopefully the other patch
in the series can go in unmodified.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:56:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579957.908185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNC7-0007kq-Af; Tue, 08 Aug 2023 13:56:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579957.908185; Tue, 08 Aug 2023 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 1qTNC7-0007kh-7V; Tue, 08 Aug 2023 13:56:19 +0000
Received: by outflank-mailman (input) for mailman id 579957;
 Tue, 08 Aug 2023 13: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNC5-0006gQ-Ca
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:56:17 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57452b1c-35f3-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 15:56:15 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9884.eurprd04.prod.outlook.com (2603:10a6:800:1d0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:56:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13:56: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: 57452b1c-35f3-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D8lgDNbi+Q/dqs2X+Q+MjOGiHnI2+EOd3LCRYbaIAreCsgg3ClBWXG7UvBz4HM4oI07tax9cCPPoeKsJN+3LwLav9asELMh6sOMldteMammlbng0bMb8UdrBZcuKgmnfuYEGDz/GaeYXgyD8bCGNqiwx6RX3hebEnGaIgSR8F1ovHPYeKKUtxPt8tyUx8vU2HGDHsVSSjMUEkaTXk8Uckgw22OYZpvqjAgdbRVus3glgB43U36vN4wwzokaoE1kmgLcW7wXX3t82mAQ+s3haf2ENOLPDgL4XpoV72P69QUS7KfH92tikidkxpjiLIvg+wZCiBLCK8Y1WabH4n3lfyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Uz4px8UJT1vPWJRglAC0NI2xRKiOs91Y99XgwbTNFIE=;
 b=HWoBoKvA2+9M/Lm+qGBDMjNfsDF18deWjK4u2ybPdRz72LrgvSlOFat6TF0+ZZ95rO/fK6oLXVelDFGvfAr+ubqQqntBzH3mD2edEnavoDD1A2aWaH2CFyxqUl9xdrkU6TZoEsaLp8d6Rh9ZocQElkZfUrxSyphUoBFWTKONwdenKmuvOVD9v5IMXsTHQb5MAYaa4Xrq21dAueqUSwj5b/cQm4ZeyyY9/dDaX2mAdp21uQzWIbiGUrlxpY4ZYJuxqZg2YoX11zlkxLzoMZegQY/GOnf++kGQF1r6YnJzAcQxkxpt3EFPwhTQjHd6QfX0oZPgzJU9fg1/4vDFqGFTtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Uz4px8UJT1vPWJRglAC0NI2xRKiOs91Y99XgwbTNFIE=;
 b=FtPg8GMrcGhFOdVfK8d9aJFESt4Xf+cregp87njxE5LT2VqwwQPDMee3JhCP56pWj2S2TfTqF4zq3P/olssCFm6zeCkJznJj1zG5/j2DOoBqq+RqRqf69Ij1f/8j8BGDZ27TvxXn0v85dnXqiqvrn6x/MBdJBcgNSPx7oNXjkto9sPZrasaZTK0xpHxJJ4VyMiqOyUM1U4cvZRy70aup3d1NkLypheAI/U2HRjQ6M6VaPITdCJ6ioSghQjBvtZ1Tp7WyO5rY+gFSFYMOcqVqA8YuFHCW6gjHAqKb0yTdWyvy0sqApVlb2UdT9m7V3EItEygziiZ44x71yYEkHZfDsA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <391b07ba-5004-6236-5296-efaf06720371@suse.com>
Date: Tue, 8 Aug 2023 15:56:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 2/5] xen/delay: address MISRA C:2012 Rule 5.3.
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <27631ba28fc6f47095fe0db3f8ee2cd87de616ed.1691492441.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <27631ba28fc6f47095fe0db3f8ee2cd87de616ed.1691492441.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9884:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f1f1eea-6cbd-4633-2e79-08db98173a76
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k5qEUsSQ3XHua7j1X/WD8wa/OokSiRvIQV8BTTFKUyARUX24m/TC5cKBEp2Qeqx8b5zZuozpwHuRQdrR8bgQf+CPWdT44ZHltMz5iLudTJhTWIxOvXf+Kv8JanZtP6rJ6tKyuV7i795DQxbnfRq/oYF2Dj1ZEECubtiQOo0vZABXJFIdfLCEduFiBtCbEwJkFNBvh/x3emx3Y/cm4up2k8YCtdHc3oBHyfF/j6pMWwoLZ9u9Rr62iq9dSBYfEzi7U/1UkApuAUrwrZfr4/k7jhi7ETkiPO9pI/pmSFq+XCs58BG25ubewysT3N/+SJ+9+FtBX+8x4sbuF/pmiGRhrjgRpWVA8JA3F9oRM+AVL7KF9ej+FUClUsIALd+89RtZKkVb8eSCiKVGIVGG7Z4b8kbInWYVCDib0A1Pv6l3hZg7v9gAPI1UKQoy+asLgelZTZ+BXZdruHfYrnL3itVpofNAJk6i2SH8PAEurYrcT/UQfqvkBBrfSj+u3GAfvUV91A2i5Ym6rItVnupn5YQSXsjISjkKRmlEsskv3P/jfg8JeSyesvvpfPCwe+rO8mqVgFcbQq/5ryOeinzEBUhpmlaPzOtIRoLDLo7XZsa7tpWIx2zppFb69iR+am9MvuwNvhV1fft17MAUXGaldoIQuw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(376002)(346002)(396003)(1800799003)(186006)(451199021)(478600001)(31686004)(6512007)(86362001)(6486002)(6506007)(66476007)(26005)(6916009)(66556008)(66946007)(53546011)(4326008)(38100700002)(54906003)(316002)(2616005)(41300700001)(4744005)(2906002)(36756003)(8936002)(7416002)(5660300002)(8676002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTV0V1BSV2oxVzRldUNwNzkyclQyeFRFbG5PdEVpNklqWFJoZW5relJwWHd2?=
 =?utf-8?B?Um1Eb0xCMFU5MXY0QUJmbHFuT1Qwc1dESTc2TnZibU4yOExZQXZvWVVJQlZB?=
 =?utf-8?B?RloyUnJFTHcrbjA0bmN6S2F5WDlIdm1kdXNaVUE0R2VlNVBwZlpVOTdSM0xa?=
 =?utf-8?B?c1huM3I1R011bytyeU5HSVgzbW5rZmtCbGhHdjdjZHhSb096dDhLZzF6cFpv?=
 =?utf-8?B?dy9ObmpzTStqMnJNbFBNanZFN0RtMjVkZkpncnh3cUxxZGJkVkhPdXNxZFVV?=
 =?utf-8?B?bk9hbEZGTS9ycEoyY29mK1YwMDd2ZStsaVBTMXNYY0hkMGNlcG8vallGdVdY?=
 =?utf-8?B?bXZLN0cwUDNrblA0OGxXeVdEbHVWa0trNFVpZzI3ZHc1ak5KZW82cU1jNkpU?=
 =?utf-8?B?QTNLY2FVSFl3UHl3YVJrTURPYmZmM1dOM1pHV2F0Wk5lYmswTkl1ZDJEUzNa?=
 =?utf-8?B?RUwrTmRIYUNIWHdSS3dDU2NRYnJMK0oxRkxVekdDa2k5dUp2eFFRUnl6eTFu?=
 =?utf-8?B?SW1KeWlwbmpDQmtDdHpTamNiTFNqT1ZGVEQ4WXRvdTJzbXJxM2ZPZWFqYzBu?=
 =?utf-8?B?c3NqOXpkbTZqRk50Z2VRSHZ6ejdrOG90cDJ3elhsc1RTbWpTbC8wYTR6TkpO?=
 =?utf-8?B?Tkx1eGI3cHdoNHlxZDdNMkpocFNmbFZ4QnJ1UHJPWis1YWxCY1liSkhWcjMw?=
 =?utf-8?B?dWdDS3hhNlpISi9hNXFtT2I1MkdlUnQwOFh5TitTd3pFZFhTQTgzUmpqZVg5?=
 =?utf-8?B?Y0R6ZjFtNEtHbk9KVmROUnJrTW1rbkhWeEtoZnQ4czJBTkYyTjJZTDh1YWR4?=
 =?utf-8?B?YjdrVXBEeVZPZU1ubzZOSkVHSWZUTS9kS1NpWmRVMHNDVFZBTzBZeGdxZkI0?=
 =?utf-8?B?M2V1WVkySWMvU2RXQ2Q4Nko2ekEySFkwaVdVcHIyQkhjWmpoVm51TldWQk8w?=
 =?utf-8?B?cjFkc3dvL0VYUGI2dHdBem1ScEJYSVJZZG5BejdrUU9DRzI4M2hESmQ1VzJN?=
 =?utf-8?B?UEpicnRMQzljQkRQQXVSRDNZQVR4ZVNEbmtrOU9SY1M3V2hlSTVTTE00OG5o?=
 =?utf-8?B?eVVRdFd6d2lJT09CZS9NRkN5dHVOZVE2QnZ2VWQxSEl2bEMybkRNa2pjWkx1?=
 =?utf-8?B?MU96MEFGZDZCb2MzZUpsQ3FXQ2M3LzE1cnJqbnJ4V3FkelNncGdUZVlXbVFr?=
 =?utf-8?B?bHFvbXArTXpWM3NjSExscmRXaEdiNWZ3Y29UaHRTcmZYTFY2MC9ocEVIOExj?=
 =?utf-8?B?VEcxODFrNlpHRlZLZHpSZ1F5WXBETHhGY3lZYkQyK2Q1dVhULzczbjNodTdH?=
 =?utf-8?B?eThKaUQ0dW5vem5tN08xS1Jna1UxVmZnc2xESUs1cjRRcVdxd2RSbzhoUmVy?=
 =?utf-8?B?REJXamtlYU9iRW9EZWlvUDBpcU9zZk5jaVovcUVsS3FBdUlMTnZDTzEzc1JM?=
 =?utf-8?B?djE0Z1FNais0TFp1OFNLKzJkYUIybVd1RVdlb0RVN3FhK2MwNzd1SHFkcDVa?=
 =?utf-8?B?SzcvVUJhcmdySEg5a2lVR2NxWXFwSGxRK2U3M00vS2tLWjdDM3lkL2pxeTZ2?=
 =?utf-8?B?c2tQVmZ6WGVZeVFPMTNyTG9UZmVtZTdxVHVDckpMSzRRUFZQRktvMUxBNzVX?=
 =?utf-8?B?bWdPVkFxUnJLQlpud0Y0TDNpUkNaWVZka0hGZGJsdG1HUSt6RVlqNUpEYXdG?=
 =?utf-8?B?SVZUY2VFd1pRN1dKRDFRSGJlMnJ0ZkRpbjFQWnVOZDBQU1BOZ2plK3o1V3hL?=
 =?utf-8?B?WFlRV25maFZDclpka2FLZ3p1bkdjcmpQNzdtaVBJeUE1SlZxRW12VVJWQ1B3?=
 =?utf-8?B?cnl4Y1VyeVNDUDJEZmJFUk9ZcjFJbFNsSWdoclVReWlJbzJKQmw3cWNWN0JG?=
 =?utf-8?B?ekphV2RWTjlqbExmY2lBekQ3bHh2UFFhVUgrdUszWlZkUWo4R3ZWdWhWRSt6?=
 =?utf-8?B?cSsxc3IvTGRIcTdGeEx2YldkY0wyMlRxdVM0QTI1SXg4bXdRM0U4OGVhSGdR?=
 =?utf-8?B?TzBWRlgzUjBZS3Q3WU91NFF2RE9tTnF6dkw4eWREMXVTU21ieFk1b3pBNlpF?=
 =?utf-8?B?eHBsazIwWnNaM0xKa3lBTkFUTjJ0anVPT1lDUnZ2R2E3amRUUTBQQm9oaWdT?=
 =?utf-8?Q?IWywY663kc43yU0Hk/84aB82P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f1f1eea-6cbd-4633-2e79-08db98173a76
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:56:13.6519
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ktdFf6mvQHJBZVTSVN4oIQr6bBBMKqgkwCJLMdGrNOSQHiN8WI0L1J/IcBjGHlsDOWH3LBVrrJywUY45zGWHtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9884

On 08.08.2023 13:08, Nicola Vetrini wrote:
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -4,7 +4,12 @@
>  /* Copyright (C) 1993 Linus Torvalds */
>  
>  #include <asm/delay.h>
> -#define mdelay(n) (\
> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
> +
> +static inline void mdelay(unsigned long n)
> +{
> +    unsigned long msec=n;
> +    while ( msec-- )
> +        udelay(1000);
> +}

Nit: Style (blanks around = and blank line between declaration and
statement). If need be I guess this again can be taken care of while
committing. With the adjustments
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 13:57:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 13:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579966.908195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNDB-0008P1-KD; Tue, 08 Aug 2023 13:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579966.908195; Tue, 08 Aug 2023 13: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 1qTNDB-0008Ou-HO; Tue, 08 Aug 2023 13:57:25 +0000
Received: by outflank-mailman (input) for mailman id 579966;
 Tue, 08 Aug 2023 13: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNDB-0008Ol-0i
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 13:57:25 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe13::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8008323a-35f3-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 15:57:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9884.eurprd04.prod.outlook.com (2603:10a6:800:1d0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 13:57:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 13: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: 8008323a-35f3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=grazFLqUtDII6jduNncHAG0SFaC4y8tAZBbZdOCweSQCB01G3jkRkqZENfSWVQo8YdHHYefy5IfYBK2zddAuYh0qBqhv/Qtvs9DLw/YKPERbyD42HiKehtYRUu6WYcg5uWM842viTqChb0lLg0Lse3cnksF6EbXN/Y9j14RhgLMKxiiLJWf2Y3I0wGIOWOlKSCmKp+HM0KEdNZWPY76wuWO63k/zIxYmVEbnj5zsJQWLp4SjpkpjeYeYIX4tLUn0bUvegB4PfDYV4UTh4hkLHTm1rbW3eWx8lHitCYjBT51S2qcM81DgnYBUcbYfKxHUKUMbg/oRhQJzxhQWLY/oXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e67eX2oDl6jpU/qekLSK4xUFjZSfHvdrTMKP+TQ/U1s=;
 b=kwB0FqKkbZN9dNdtnMHvuzg6D69XWenjhGzGSXjycqNyXqurEGPibbiq/HQNWxr9JuEISddZ6s0CNZeCumAAso1Trmeimf6eNvaeFWROHR9+5Fg/8IN0mzgBDnKqRJd+AQw5IVD6CFv+hVMBv53kwMzfdH8m/EIdK7Cxn4l6tiBLHqOs3zIRXglaiDKMAcDdxsqmyHjc3lSupYucfMdvISwWt1L7IJYVa9KhkP0CEO1qMe+Q2AAh39VZJUbEyCzeqIY+Jfpz66L7qJrahJKln4BBVjn+ayayoMq+dFq6S1xrX4skwYU9MmIJLGcTBgT4c6/8ryd3O8lJ12ex/PO1og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e67eX2oDl6jpU/qekLSK4xUFjZSfHvdrTMKP+TQ/U1s=;
 b=g+Lo3w+KanQgV5sp4iH4BzpiX1fR0ZEuMmj8ZpHt++rN6njhGH4Iw5Xs1N5RLOmnzp5BMVnyEPud9da/cZYrJ/FcpK002mB5/AWWl1dGVoAg5aCW+CA+pEHZZ3RzNV2bWxUBW9utl4pM7hRob3U1v88hmtBz3QoNHTaO6a6A043GCSoryEV/PV7Pa7OdRUIK8IostEtliXzb2WM/LRKYAWj2+8XxpH+SpUFNKxGRocs/bA1OJes0Mu9YGq1OApALhyrvp1xgwZmWBwm+FriTFhTd1XivztVk7gkpaQ04ygWTCfF3s4iOiMokn66tYep/5Vi/SZ/HOOtOWQ3Z81LPAg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e7f8260-2047-c504-0c00-e2ec4145ec03@suse.com>
Date: Tue, 8 Aug 2023 15:57:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 2/5] xen/delay: address MISRA C:2012 Rule 5.3.
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <27631ba28fc6f47095fe0db3f8ee2cd87de616ed.1691492441.git.nicola.vetrini@bugseng.com>
 <391b07ba-5004-6236-5296-efaf06720371@suse.com>
In-Reply-To: <391b07ba-5004-6236-5296-efaf06720371@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9884:EE_
X-MS-Office365-Filtering-Correlation-Id: 3881e5ba-306c-4adb-6f65-08db981762e4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ntJU3/lHOlL7SyWGnwE9oAIdfH0qXdpNEs6wx8oVa+lsxDc6Re2GgH5xJynPqTIkCLkDZI788A/2xYkscNujDpndwgkTjyVtf17zdI0/I61/EkS8TemBeSzi6xkU9P4QHORpv02NTFRxnlpBp30Fi3VvWkJUoya9u9wm79HQfb7GqJMTVahT1OLVY/uNRQxxzxKcPxIJbg9WW94uWmV7dFOQE3JoCI/mgzPxT/SQQWJWR7U6T3KtL8un3eluLIZYwRm+ZXsKCghZErdzI+IEFues1mzolLYW8YOU+QQnJeH37usRFWou6lH2qsl7TIEYtewGbJvWykD5d2HZDbik3nC+zN9+G2eVx5D/PSAsHQib5bX1douPGeg5doRu7LAvdWOFSeo5APfEvtWE1zrNOEBfcUEUXf/SXgQ26FpZdarAVTRfL2gAd+Ltp3Yazr5D5ZS/1O4AnDtbONFQf0Ru/KqfmHkcuyr6QoRBbfKbr9arwwu+GnYDTOPa7hFwduzdXgwgCzcaKk0sAxeyoIYqBHwsxVqJWUzKLRkSP8Gm45P1xnMfekvYWOhtDNSofxrV7afbEllj4RZQzqas3kVlluXyE6/kY8lSItWBN23da8U6zfm8DQzyAkQmP5wVHBU8GZF0HscDELAUiqGEwKZJcw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(376002)(346002)(396003)(1800799003)(186006)(451199021)(478600001)(31686004)(6512007)(86362001)(6486002)(6506007)(66476007)(26005)(6916009)(66556008)(66946007)(53546011)(4326008)(38100700002)(54906003)(316002)(2616005)(41300700001)(4744005)(2906002)(36756003)(8936002)(7416002)(5660300002)(8676002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTN1b3pqaCtCOHMwWDFlRjlEV1RwaTFkZDZkUU1DY1o5QXpGNmZVbCtQNElu?=
 =?utf-8?B?VnVxV3NETU9MNFNGZjY0M3owY1diVkp0anZ0dGtORGFCODRQRUdKdHRuUTlr?=
 =?utf-8?B?dXM1aE1LaGJHM1RReHBDUzJ0VE1TdzYweXg5Zld3SSt3VjBOa3d5MnFzQjJN?=
 =?utf-8?B?ckN2LzVNdEd0RW5nNUNzMFJWbjNRenBUa1R5NVByMkhIMkkySXBrWFUvNCtV?=
 =?utf-8?B?dzNXdlhES0ljNG1iT0FRY2NEb3NhTmVnZHV3TWN2aUZ0bkQ4bWtZY2hzam1Q?=
 =?utf-8?B?R3JrSXBNbFJFTEN6VnBzWGVIVzBQa1Z5d2RYdldJMVR5U2RsWFBUQjhYWHBy?=
 =?utf-8?B?Sjd5TWlPTUpZOWpKdysvdVdSdXpXQTdWdWpOZGpSTmFzbUpDL1NmU0ZQYW85?=
 =?utf-8?B?TXArQUc2aXJTZkhPYS9lcFZINWYvVTA1K1hoL2xQSlFxWEhNd2RKZmE3dDJt?=
 =?utf-8?B?bk1PSDd3QkMwK3dsemJYd3NuMHJEOFBhSVdjaWZYVUZpcFdOMmxmcXQvQXdZ?=
 =?utf-8?B?a2w4ZlpQZDUxbXRweCtNRUtJY2tCNUJOM3BUWTJTRHh3djZyZDdvZk9uSGps?=
 =?utf-8?B?Z295YUZwU0QyREdpQUxkQXJmN1JNa2ZDYlpGcHJCOW1XU0lZR3JZaHFua0Rv?=
 =?utf-8?B?Q1BLU3dROVkxVDVmTmdJeC9DeXhMeTE2ZXY3K0ZsNWxqaG9GQ01DaTBXcU5v?=
 =?utf-8?B?amJlR3ArY0ZjNVhnU3FFREhpK1dudHlSUkFPSGpBQlIyUkQ0QzFLTU53UThz?=
 =?utf-8?B?YzB5cVVIK3Y0MUpUUlpyeExLSElOMEFxTWwwRUJqU0Z3YUt2bnlWZUFid0J0?=
 =?utf-8?B?Q1FwSDNVV251alZzdXRyOTFIUnVkZlFtTlVxRjhnSUVtNzRxaVpTcThha01j?=
 =?utf-8?B?Z2RHTHlPTEVlNk5WUUxWTkdmcm11Y2U1d1hnTFFSK2xMbUNEcFcycDMxVzUy?=
 =?utf-8?B?N095aEtUa0xPN241YWFhTWVtSUFiQmZTM2tqRWI5QWNYeFBDZ09VYkovYWNr?=
 =?utf-8?B?bEQ4cHc4ZkRyUlVueE1iT0lMZDd3cGNFSW9uaVU0ZFNrR2FXUWFwdzFuVzNR?=
 =?utf-8?B?OHFNWFBlWXBEdEZYZHhVR2pKQ3FZVjhzTkhlRERGdmRZOTRpRU1HTERNYWhU?=
 =?utf-8?B?Yy94OElKVENvcGdLYmFmSTZobTgrKzRFK2tOWTdSVFNZMjZ2ZWZPSWVvZkM5?=
 =?utf-8?B?L3lpRVhMOWozM2pFaitrSkZPSmE3U0VvMWR2bWVMT3orSVdkVHRMM0UzVWhW?=
 =?utf-8?B?VVFJby90WUdXelkvanJEV3dCeWVxMXJKNDMzOWZZM0pnTDBQQVo3N2lNZ2dq?=
 =?utf-8?B?cE91a3dSYjV5Y3J1S0NjUmY2VmtlYWFiS3lPbmJCOERVR3ZTZmFqbXQrbFFI?=
 =?utf-8?B?RmlDTktPT3Z4ZXZxZHE5MGlianJKR2N1WnZJVng1dXluWU1RcnViYlpJWU83?=
 =?utf-8?B?UDF6Z0FnbHMyNHVzMHJQdjdmNGZwbXMzRGZ0dnIwdWp5dWZzVFdpNmhhejRk?=
 =?utf-8?B?NGNKWE5PanFpdDFReDU2Q0syT1VCMDhiU283bXpIdVBmY0pLWm5JU0ZxWk5o?=
 =?utf-8?B?dEFpcVhoQmVzRDEwVEcwTW1rdHpHVTg3bzVNdmtxbEM5cE9JcXlvbGRZd3Uz?=
 =?utf-8?B?WmhIRVJVVDRWK3gra0tWdGNUNEV6KzdIRU9Ha2FmTitpaFhBakZoYjRBNG9E?=
 =?utf-8?B?YXNBRlZkOUg1cTY1ZW83OUg1WW91L1c2MmJ6enc4ckhqdWV5RHhFcFdkQjJx?=
 =?utf-8?B?a0dGOVUxT05tUmZMdEdLWDI2S1Z5QUlvQncrN2ZsbCtkL3pjeWN5NVpEOStu?=
 =?utf-8?B?ZCsxa0c0MHZBOTBxcXRmUUw3aWpEM1ZsVGR0eW9QTE82amMxbVBmS0p4ZGdX?=
 =?utf-8?B?dythbHZnU3hFTnZFb29sRy8wMStBTXZ1aVAyTitKd3U5ZDRIQnFLODBTY3hL?=
 =?utf-8?B?WFpVNGUwRjdpNmhJU3NYWnI2WXRDNWFrS2I5TjRMbVNhWnRPZ2xYYjdCTnJS?=
 =?utf-8?B?L2d6bzZJc21EeXhYeTdaeUo5c3lRYTdTb1JjanVkb015aVpXYTBzRzFXNHlq?=
 =?utf-8?B?cHdINjFZc1V4ZjBoQmhGRzg5czJ3eEdmTzhDNmhSUXc1S3M2VXVFZkkyVzVF?=
 =?utf-8?Q?F5wb57q1dc50JnFekV6hFW6d3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3881e5ba-306c-4adb-6f65-08db981762e4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 13:57:21.4874
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pcNufy/K59DP98QoYb5qd6RDyRf6fUR0+IC7wh6kkcvYyxzyFgOXG6Dw21ul63nRgvrSsiptDF1BOjxEo+TgsQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9884

On 08.08.2023 15:56, Jan Beulich wrote:
> On 08.08.2023 13:08, Nicola Vetrini wrote:
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -4,7 +4,12 @@
>>  /* Copyright (C) 1993 Linus Torvalds */
>>  
>>  #include <asm/delay.h>
>> -#define mdelay(n) (\
>> -	{unsigned long msec=(n); while (msec--) udelay(1000);})
>> +
>> +static inline void mdelay(unsigned long n)
>> +{
>> +    unsigned long msec=n;
>> +    while ( msec-- )
>> +        udelay(1000);
>> +}
> 
> Nit: Style (blanks around = and blank line between declaration and
> statement). If need be I guess this again can be taken care of while
> committing. With the adjustments
> Acked-by: Jan Beulich <jbeulich@suse.com>

Actually - why have a local variable here at all? Just name the
function parameter "msec".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 14:01:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 14:01:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579976.908205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNH4-0001Xu-47; Tue, 08 Aug 2023 14:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579976.908205; Tue, 08 Aug 2023 14:01:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNH4-0001Xn-1V; Tue, 08 Aug 2023 14:01:26 +0000
Received: by outflank-mailman (input) for mailman id 579976;
 Tue, 08 Aug 2023 14:01:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNH3-0001Xh-7I
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 14:01:25 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f4a8935-35f4-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 16:01:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7869.eurprd04.prod.outlook.com (2603:10a6:102:c4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 14:01:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 14:01:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f4a8935-35f4-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=odPYHy13W948CIc0WTEbnj/sRPp0MXPEkF0vY5pbdc9GBV2qClcKsleR/dclcCPhV6Xt+NGai+PucCg5U5c1WgQztmJyDzpJTzXDhr1NwXrQOuPwRM2IdeQPM4J4rkoxfCWSOceRrKXdZgUUHQdzyX2r5Szheo30HxwrN0+FS06BqwblFelKgr2zz1cT4ZSSWTwMPZo4ezJ9UFLla46o7372kiaMRK+Xkof155eAPxl7Fi4yCfVBVAYTgXegf1Sosq/6/MrHOVeosFPTxBLPfPPbWJXGyJ9z5Kj1sULp2ND0XGHpIXfSexzlzWKrPFChGKj0AqjY0V+r5nXOQnumKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=baBWFeRjOBkdXC/voNhdSJw5wzxdGRLHNp0RW+pSYAU=;
 b=cIUgtHum3ktYsG489zG7/k6UeJ+idr88GDeYwEX5wnfTzTHf2ZuEqmPYNU1l16w/GDUyknbzWyw+lzqjBlGDzU7VkBsLzVyBEmWQZpaPtcIWB6Mc13x+c91Ybuj52bk63vle+WtY/FnSdieceDBV50s4jOHzB0mlRsZv0f3qL0abgMcQX0gePuUERD3x96WYmLPWy1a5uqB9XGRAO/dkHmAiZBpfY7PaMMgItri3SPe3Rs6da+IF8SrwFBtWj4A9YIdVQeLGwb/wAQpONCGfeSlfrmin//hME3vJOKCcJAhR0eGYZ0JBImbMO1MbzbP/tRkodXaVHCixJVj+oVD9aQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=baBWFeRjOBkdXC/voNhdSJw5wzxdGRLHNp0RW+pSYAU=;
 b=Mt0Wfhv6PO3mQl4EObpiA1H80OYhrjGfNflxJWoGABgJSjBrj9MA25+fgRfD2MOvsNMXZiUsCLdn2cvPiUlNljPk7AANQnMcdi3Xk7faU9ZvAwIELI9anxmsnFplMETZbQvXUXUXfFB9+ov6K0DsQKzg59vkKdEMXzvJmSh1JMiEmbWgq5gPzZlKYNNgtNRey2M6HfYQ4GyYGSLTL9Ce0Jkcx2HfEksimOwE49Oc0LO6dJc3hhj7JE2mVUZ6/XCigodj0O5G/ER64ELp2g3zdT8PeaZyw5XHgdqdPqqGAhBZ3g41NAead/dSeiYLlPuOYU2x7mLlkj1sdxBoVUJ7Iw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <97b43017-722f-4891-395c-d53ae4e6c24d@suse.com>
Date: Tue, 8 Aug 2023 16:01:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 3/5] x86/include: address MISRA C:2012 Rule 5.3.
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <4b41f84c6cbce3466917d1091029cacb3c327d7b.1691492441.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4b41f84c6cbce3466917d1091029cacb3c327d7b.1691492441.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7869:EE_
X-MS-Office365-Filtering-Correlation-Id: db3a8eed-68ca-46a8-60d3-08db9817f251
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xWcQ3Ne6EYf64pjx4nDhrw/fNWpdntspbf4GPERanYFbZt29QVWInrgIkwB/JQKVHrKQ03nBzgWYcCIWepFXoQ751dqWRXfUi6I6jS1fNoYIPL23hBMVab2YqEi2pC8shvCZJDLR6kge/B4J5ZwcKagO8IWqrsrwTFJgX94Cqmmuql/UPvSJHvM+Gnvws9BqUu4qQtGqbHacH+5vR7YzgVHWnFdot5eE+iSMi5zxPK1kOBfmV9kJ0Xliviip7ElSfbPcUZRpFd1xTUfUXe5Gd/CHz5FTWpHHSrD4wSs3Uu3DrOZ683V62ZRNrMIzB4RIiltdOu3jKtmXNQovQa+P8qkhgRYk8jaTqHQsAcbQrjre+cQXSMjcSgrFbeW191nsorKiiPV6B/hilBGq5SpYitndnxJdwewRwiVtrcrHWTWyiEApiTYoZhEcL5LMlnn/xeD9Es+22wzYxKauG+kPTvermutoPggALTz/hVFCWF6dAygmXQTAphysHifo4akHuuD973P2oMYbao7C5fKkRrg17ZdYr7OG9N+Lk35tKi0wClcHc0XqGepA/fY6PMjd03qcVvaOPrd5XmgVdwo1uv/WKLeTRd1SiaBUJQGGuG6KMrEUEcwn2ST689DgTmwhJsk1SGpUC6EXyCIQd3cCFA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(39860400002)(376002)(136003)(186006)(451199021)(1800799003)(8936002)(7416002)(8676002)(54906003)(478600001)(5660300002)(31686004)(41300700001)(4326008)(6916009)(316002)(66476007)(66556008)(66946007)(38100700002)(31696002)(26005)(53546011)(6506007)(4744005)(2906002)(86362001)(36756003)(6486002)(6666004)(6512007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TGI2MmtPWVdac2hrTG5tWm82SVJ5WWxpQTdmanpSKzhJaTN3OG02NnNaU08v?=
 =?utf-8?B?TmlzcURoOUxGSHpPTHo4QTQzdTdLRnhZM3UyQXphL1BhaFlZQzFZNGpCQkk0?=
 =?utf-8?B?WGlKQTBLNCtyZXpId2ljS3p2QWpHUHpWVWlDSU0zYVduQm9VZ3hXczJ0L1pU?=
 =?utf-8?B?UkpyMEN3L0s1R0JSd0FrQ0FlejNTQzczak9LNDdOL0svTlgvRU4rcUg0bjk4?=
 =?utf-8?B?OHhSVjc3ekRoYy93MWJVbGJRV0xGaEJXOENqaGMvanFsRUlPZ2gySWZRcFJ5?=
 =?utf-8?B?Wlg3UUJWU1ZYdksvWWxHclYvOUdRVThvYzM5SHhaaTBIWmszaENQRGJWRXpO?=
 =?utf-8?B?Qk9wMy8wN1RhUFA2SnFwWmFpOExBMTd1QURrd0oxRW16WUpaWWhhNHFvalJD?=
 =?utf-8?B?dmNoekNncWZRbFN1Z3dXU1F1djY0K2FURHZBUVFYOU5oV1lTMEN3bHRwcWJi?=
 =?utf-8?B?UkUyRUNIWk1ZMnZrclFJcnNLQzhNcEJJYk1BNHhiYnhYV29SS2NyNHFJaGFP?=
 =?utf-8?B?cFB3Y3JqRGIybkMwaFkrK0J0bVN6UzA1N1I2a2tjVjM5TG5Ba2tCSnBNT3k3?=
 =?utf-8?B?ODNYdVZwOTJkL0JpZjZ2dTRyS2VxOUJZUUlmcGl2Ymw5S0F5N0NramdtSVFS?=
 =?utf-8?B?WEcrT1p5bWJ3SHdMWUdhQjg2RC96T1dNMTg2S3ZyK1o4UWY2cVJOWDNmcW10?=
 =?utf-8?B?OGVpcDkwUjFqWGFPRXV3MWh6dmdlUjVXZGovNHp0b0hwVVI0dWxvNkZic0hM?=
 =?utf-8?B?WEZuSVZwRXlON0wyWGlsWFBRTWV2SWdqQ2VubVp1Y3hMeWQvKzNaTUF6cVFt?=
 =?utf-8?B?b2ltUHY1eDM4ZDFDTEt0d2wxV2xTY01mSTRPMjdTTjR6cmlnT09ta3pyQmFV?=
 =?utf-8?B?NS9zRzJRdElMUzdLT21aN1c5MzRxdDZpMkk2cm5uMFlpN05YOHRqaHdITldD?=
 =?utf-8?B?VUR0NVp6R2xGcnZzbU41TnRPTDVWUDdyaEZiSzl2VnVnS2JoZi96bFJnd1pz?=
 =?utf-8?B?eW0xSG1DcmJYRXhveU80UjFYRldBNFh1Z0RNQkkySCtIa1k1THUzMWxkeDdP?=
 =?utf-8?B?ZktmM29lSnJlSDhsOVRkVU8wdmJPK2J6M3BkOGl2a0JjM09vY3VRQmwrZjA2?=
 =?utf-8?B?eFFkMG9FYjIxNndJTVdEaGlncU5rdjBtRVJEL1FramsvNzBGOGtrRmlMbmhj?=
 =?utf-8?B?eHRMK2thNHRrbzFtZHByUm10U2plTHI3NGVia0V1dXhobnIrNitnTnIzUHNG?=
 =?utf-8?B?VkN4eXBFWEVFaHBvdTBWR2x4M09QekNRWXJqUlY0aDRLYkU5N1U0VTBBT3Nu?=
 =?utf-8?B?Q3BmVHpMcXR2dUNYYVJpZ09JYmd0NE1lLzVXWHkxYk5UVTJhSFFWQUkyQ3Fr?=
 =?utf-8?B?dFdvNkNhSTFQVGczMG5hY1QvODVVWnV4L1JackdTQ1dPVHBWV2gxSVdsclFH?=
 =?utf-8?B?S3liNlFaZ2lEbFRWVzF1SVNRZUJSSEpWV0xkeW9EajI2M0VjbUhTRWxyUGR5?=
 =?utf-8?B?UXJtajM0cGwwaHV0UDAvTStiNW9iTk52NUhSYm5SQmZncXNsSk91cS83NFE1?=
 =?utf-8?B?OGNBNG5rTWJHWTVyWTZxbkQyZzhUbjlxamV4SkZ0eC8rYzdKWE51RlpKSE1k?=
 =?utf-8?B?dSs5K0lKR1ArOU5sWjBSMUtVMi9NUmVIaW9zeVRrMm5VOHZHRmdJbGFCNnRw?=
 =?utf-8?B?Tml6UVFUbEs1SmFRNmFGQW5mV3VuOUNERzRRQzlLcXQrY1JhYm43Q2VJK0pm?=
 =?utf-8?B?OGtJUWJKTWY1MUttRG9IYmZPbXlQUWs4cHdINXRNbHlxL3FjQm9MNVpFMHF1?=
 =?utf-8?B?VGd0ckxSd2pPSWJjZWxNdG5QWVJkWjVHVFd0Nlp0WHUzdG9zMjZ1VjVnT3Ir?=
 =?utf-8?B?bXg5WEo4Wmp4U0IwMEl3MVFRemVrT0hKdVVSREgyeVoxdHFFT2lSeGlWb2tP?=
 =?utf-8?B?eExqYTgySkJSZkVucHZ0U3h1Q3h5WDdpVUZFYlM4bEtWTzVkamVZTk1GQ1ZV?=
 =?utf-8?B?bXoyVm43R09lWXNNdVRDbXNFMDlJcXNWUjlBZktnZEFoMlNFVHVVZnhGTzBV?=
 =?utf-8?B?TDJQQ0RhK3JQcUlOMmFhbEhXZThRa0k1UHlFS0lWWkxMOG00QU1BeWo3SnVT?=
 =?utf-8?Q?JI3BeTMd3ALfZS14N+QOvEI4/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db3a8eed-68ca-46a8-60d3-08db9817f251
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 14:01:22.1255
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /LOWqBt7/0PhC/KTapMJ/ydXMUGz9/YpvEg9CZUvnl78WIiSUoSNOGA5a6wAISKrwWLTee4R1DO/O+dBm1EuCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7869

On 08.08.2023 13:08, Nicola Vetrini wrote:
> Variable 'mpc_default_type' in 'xen/arch/x86/include/asm/mpspec.h'
> has no uses and causes shadowing with function parameter names
> in 'mpparse.c'. Therefore, it is removed.

Personally I'd again wish this could be expressed more precisely than
just "variable". What you're removing is a declaration which has no
definition. So aiui shadowing is only one of the concerns Misra would
have here; the lack of a definition would be another.

> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 14:04:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 14:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579982.908214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNJW-0002Aa-JP; Tue, 08 Aug 2023 14:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579982.908214; Tue, 08 Aug 2023 14:03: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 1qTNJW-0002AT-Gv; Tue, 08 Aug 2023 14:03:58 +0000
Received: by outflank-mailman (input) for mailman id 579982;
 Tue, 08 Aug 2023 14:03: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNJU-0002A5-Tc
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 14:03:56 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe12::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68f66e5a-35f4-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 16:03:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8945.eurprd04.prod.outlook.com (2603:10a6:20b:42c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.22; Tue, 8 Aug
 2023 14:03:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 14:03: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: 68f66e5a-35f4-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A/MhJs5AV1Phb3NblQxVs8PMDu0IGIf5Hg/Pao7yAEPd7TCV9AQPSE31+Vuegf51HoXoplwcRwm4Y2iwZOQSqtOXNkp3nLochtzDoXcuzkhEg8i9XmTAwgaSqmzBAwhv3pTvi4xg5+ku8SVkQnKJfa3GLHJJRQwc35B9edWvbA/gN1RwOICi+npeIvZv+i7IOFJ22x6hkCgerRL/5wxg9K+ELqF2jNzEqGOtCbnMQK194JH+2rI7PxKrMk8Vu9Gt5fEpryOtIDvEUIoow4pt9zKf2Gau2EJiYPZ2ucUrA2CM0q4HVlPun9HRJ2yau1kIEvr/VhW/yP4qDXQ6iFcziw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZJeY52rlTThTYy2nDcE8cZ/gX+XfB/fqbt0cVJxWawU=;
 b=RgflQ1Sl0iV08TtgD3Ang5koUM4Ku7knuQfyL1cCzHSa8c+z9PObQDhWf4205pyWifZ5ExLHuAu0OtuG+PXxsv8rRnEdNIq0XE8YocnumWwtrSy6ypuxMucQIGVtDnf4GhCR36zg/iS4SAMv854kSMMgqLYMAWSHNMWBpfgQlhe04QuPouwDz6MVaEm+jTbcxJbzuQb73LaUzuf7ntY8A/CxiFrFPT290Tx2Gc4WMZMeE1BcmYLLkKuMt+P5ToW3jKhhmeefPnMbPkRje5yi5u4LhDTYv6fwHK85VeUm2ct3cPheYTCE3gl5iAt/8+71hoOf7z2RNiYl+vnOs1yx5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZJeY52rlTThTYy2nDcE8cZ/gX+XfB/fqbt0cVJxWawU=;
 b=Ks9BWLY1YJR3nkE66/TA7Hrs/lDY3fES9sGmlsES3zQnHqhp1cgXwW2/yzHJ16WpzbBBO3KNgidfUvwaG9GYJHeFRILmiAtl7HwzXLXV0rYrzOzCm7fy2it4gi84/VQvTeblPixcbHt+xDw4xFk2ex3Q9h9iySZh6l584UAS5q6+xINqE0WIv+dlgyjGpRFyA6IRF5w+F40MJ/4CM9abJrHj5zkxeUCU4i6q7q82yTUUJUjXVjywZV5mMC1tWinnsjhnF7/N5jaZaPEKUHNQrYrhHJ0nP/PZsrWbwh6qKop41mFwNDHbcDEIfQ1AntHbOK4k0ZIKVVeHiHtdm4rdkw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30c4b7b4-6043-8ac2-67d5-000fd1a81266@suse.com>
Date: Tue, 8 Aug 2023 16:03:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 4/5] x86/xstate: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <927d771a3c38b8a3c47913aea21cf8890fd4e6ef.1691492441.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <927d771a3c38b8a3c47913aea21cf8890fd4e6ef.1691492441.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8945:EE_
X-MS-Office365-Filtering-Correlation-Id: b8bd7c30-63b4-4d75-1985-08db98184c23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JkT1QZX/Qv9OwGc2p4c2ntxvK8V1+qyptPJKvZkf5sNwf83nA4JL7dzfB0djfqgRXrFEezTACYpHTrAT4ldjvmah7lgPlaw4IIkJ3TtnRsXqDHdn4YIMefo+E+dDYQBqxM74eABe+D1nvfpkAUZwcaL0zX4Dr4Xy/e7eS1QaeMYrX7QwCTLejFd+nWtUac3Rbcfj3a/mzXS2MX7A38ud+sipaDMnBZzH9n2txhnDpxdyQC6wdxAw5smfGyrANmjXf94luxlk2Hopcr/+GNjwt8FYKX0Bm3hMOUiNefVQuNmR9ybp6tCN8qPUOZjO3p6wTp9Vgf1cXnA9eQiOU40ITuWY+WMXdsNHBDNIPDTCpCxK+bmcSXkByGI9YrPDDnfJMUokYPirvL761DB6jJc/baAmzkvaKFokxcVPG2H46UjUEUesjrlrUphRek7tI/+U1gUBNRtkkXoNDY+RriGQOa3HPwVSzmhfAY4a9PzGf89mKfOeLoHs8hTN7GzVtHFhR+/o8NmN5GPC5SLQRwoYyzBGN5Hqj0fVGbCAIN8zRM27pIBlbPhOxj8rY2PWdA0jeO9z4Pzhxf5ocGfGabTcZ1Ejv0xKZIXNyAcUlIOtD2cpNH4EnIkKUAQzwzZT2m1mnc3sq0J9rSRPKzbj3V/5ZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199021)(1800799003)(186006)(41300700001)(38100700002)(6486002)(6506007)(53546011)(26005)(2616005)(6512007)(4744005)(316002)(54906003)(2906002)(86362001)(31696002)(6916009)(66946007)(66556008)(36756003)(4326008)(66476007)(8936002)(31686004)(478600001)(8676002)(5660300002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bG14d1hoT3k1OFBndFJXMG5JdzZDWEtMbmdhT3I4KzduSnA3Rk1MQllDZWor?=
 =?utf-8?B?SlZiNmdKaG9sYWZxaHF5R2dmc3lxcW9oN05JV3I1enFoVGJCRVVwWTdVQ1Jj?=
 =?utf-8?B?Y0RibTRJV3BmN3MyOU0vUGFER09ldU9XMkQvNldPSnM0Wis1Lzh2WkhXQkd0?=
 =?utf-8?B?Vnl1Q3JUMlhtYkc1VTk2UGhUQy9jblc1YVFtdGVBQktCUjZpd3d3OXE4bnZL?=
 =?utf-8?B?YmE0WGxFWnkxV3ZZSWZ0Y2hUcWY2OXRSME9BK0sxdFlNV1MzNGtLbWZhYTB0?=
 =?utf-8?B?UVVwWkVoNDhseWhjSnM1NWdNU24wcXZia1d3NTMvSW5Oc2Q1cHpXalNwRFRX?=
 =?utf-8?B?MlhuNWNYK2NrV2RPcDZ5MFJ2NU5teUJCUCtwTVF0K2NYNlJveTE3VXlNZVlN?=
 =?utf-8?B?bUNmSDhDZmhTSHFoSW13d1hYNGh5T2pFTCthOU52YUViUlpENEVxUngxc1hS?=
 =?utf-8?B?VEFSMHcvbk02S29XU3MvK3dyYnpkY1BsNHB1OXR6THpGTUt5aE5yb2szUnZ1?=
 =?utf-8?B?L1d1R09MTlJoYm9MRmFmS2M2WHhQaGVqUm1wTTJJREpDTVZha1VZcFgxdEF1?=
 =?utf-8?B?Q2RzWGRpTVVtOStJMEoyVGl2ZndSV0VTYzR6M2RwSjlpY2JCNnVvaXJrbkVI?=
 =?utf-8?B?Tnduckd1dDdTM3U3TzgrV0JJeVF3Q3RLdm5KYkVEdUsrek5kWk9DUGY0RXhw?=
 =?utf-8?B?YjhtckE3N3R5cWdVcmd3RkYxRXJrSDUwdCs3QVZ0OHZDM2R3UjFKRGpMUWky?=
 =?utf-8?B?ZUp3ZFEvY3U2WGJKZ1ZyUkZqRkdlTW5aRVJZSjJmc2RITDJhR2xCd0lxbWdV?=
 =?utf-8?B?TnZqUS9IQUExeU1zcHlNaEVGRWtpRTN1LzV5bDNvY0N6R0pJU3VvMlU1Y3Vm?=
 =?utf-8?B?aGVxTldSZWE0NUVKU25zNDh5NFdYeXVHVzcxZm5PcGxTd2FCVzIyYWU0TVUz?=
 =?utf-8?B?NTE4M2ZaSzI4YTUyM25ZQjdmaE5VZ1VmUzVzR0JyS3psRFBUcFJ6bkNyRGlM?=
 =?utf-8?B?WFR1d2lhRmVlamJFYlc0NloyeVZXWkt4VXVENStadjhqQ3cwQlA3eGwzVUVq?=
 =?utf-8?B?SHM4RFZWQWZWNUJPeW5Ka0tKMzBrT1dsL2lndEwzUXA1NkpoSXNuUFIzWEJk?=
 =?utf-8?B?RTZuV3E1RDVBSFNJcXBBc1doQVRnQkhKZU1EZWFDWmN5TXR2ZzgxaWtIdVN3?=
 =?utf-8?B?UTFTVFZmU0RVci83Qk9VSlFaazNRZkJLOG1XNWQ2aHpQdzdCVFBBT0owT3B2?=
 =?utf-8?B?eG1MVGl1WGdCbzZlM3AzY0NPazhZV3crY1NiSHJ6dTZQWkhPc1F6TG93cEVX?=
 =?utf-8?B?a1N0aHh1VWVHK0NDZlRzQ0lOMEZ3UDhud3NXekI1RnZDbUFuTC9sZGlXRHE2?=
 =?utf-8?B?aytMV1hyaHdtbm9kTnU2Q0JyemFWWUxUZWxPWlNYT2l5UVFrYitDN2lROHVQ?=
 =?utf-8?B?TlhOQURqM09VZ3I1YmR0cVlLMnJ2MWxteTJwUURJOERMNENHd2s2T1hXcmh0?=
 =?utf-8?B?M3dySmNyRDlHaHpOOFdYREw0WUVOZjViaHgwOVR4dkZsMCt4UzBpbGtMY2Ry?=
 =?utf-8?B?MnF2amkyQyswRWY4VFJudURoRG1qNVVhMHFYMWNrU0NsVlA1WVlvd3VaV2V0?=
 =?utf-8?B?OFFDd2VWckUzc1lIVUxlMFd6L3JUQkgxRUp3aWVZeGpGNGpJNVNxWjUxUXhB?=
 =?utf-8?B?S1I4VVZiZlQxakJOSFpRSWo0Qmt5bzMydDk0RTdqTmpRUVhoWEYrMFdWai8r?=
 =?utf-8?B?REZjVm5MRElrN2tlM3EyNmNOYkNsdTVMOVE3VnVxMm5zcXZOY0xoT3hwVVds?=
 =?utf-8?B?ek5PbEVHVE9ZK2JJQjFYOFY2MU1MY0hFMWRnNUdlUGEzb2IzZS8yZWJzNDBJ?=
 =?utf-8?B?RExXbkpPNElWRVpmc2ZyczllQW9GbmFpTGRxZFdlS0x1d3VEcWdmV0dCZDNX?=
 =?utf-8?B?T01NMlY0VDQ3YTBIOGVYT3JXd1psNjEyWUpJV3BmT1hvbksvY3JoTERXTllT?=
 =?utf-8?B?TzJuVXRzSE1Ydk9lYlJoN3NFWUJIc09oVDE4aFZTcW1jc1pNY1UvcmhLYVdB?=
 =?utf-8?B?TDFNWGkzY3J3Zm95bTFXdU1jaGxUbVkrV3J3UE9POG5VTGgxTDdiMVR5TXNq?=
 =?utf-8?Q?aGk7/Odf45GZXM7vrHaoOW88G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8bd7c30-63b4-4d75-1985-08db98184c23
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 14:03:52.7871
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 00Qu44L1u5mrfHR592AILj4XYYN/aa77JWXFGtY5VQsvjic6iUc1s4bN6e0Tbs1g23PpVxUthiuLPkNIwynz1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8945

On 08.08.2023 13:08, Nicola Vetrini wrote:
> Rename the local variables s/xsave/xstate/ to avoid clashing
> with function 'xsave' defined in 'xen/arch/x86/include/asm/xstate.h'.

s/defined/declared/ (in some areas of Misra the distinction looks to
be quite relevant, so being precise everywhere is helpful even if only
to not leave uncertainty)

> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 14:47:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 14:47:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579989.908225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNzM-0006Zt-TB; Tue, 08 Aug 2023 14:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579989.908225; Tue, 08 Aug 2023 14:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTNzM-0006Zm-Q6; Tue, 08 Aug 2023 14:47:12 +0000
Received: by outflank-mailman (input) for mailman id 579989;
 Tue, 08 Aug 2023 14:47:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTNzL-0006Zg-7K
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 14:47:11 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 729da326-35fa-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 16:47:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8958.eurprd04.prod.outlook.com (2603:10a6:102:20d::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Tue, 8 Aug
 2023 14:46:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 14:46:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 729da326-35fa-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OJWE593TnzdxZu42I8QwikONsN+rurtok+RiovoIKnONWUaxRGBx/JJKpY84KY1UwFMId2MzzYj06BEu179eAaCMIDiijeHnbRRJExBUJuSpd85brt4tHHKJl9ggmU8izzkkajCvWPQWXC15Kj2y1W4rg2qgqmugRKtPrfQDDp8FYA0AGZHXKJnewET9ka3j6F2TCUUTzNhQLK5g0UvAjXWDGxmpEZbSMe+5fDkz8QrjaLTPL8HXTQi4c31sXBrfV2/tkfHbtTIZ+3z8ntMBw6o50zoR2/+2ds620HoUiq06XImSSOoqZjQH7K9NC/cZBUu1kZANMG6C7E1eT44/4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LFHFg9Drna9jR44+rSeaaZx+wNcat5CHqUdBCywA9k4=;
 b=ZsPpMSPe8+pJP9a0nGOoUBMhk/8qQIU5b4t+GLWtRaTZIYovpPwztzzrIMo9Nns05tAcorxfBaveU9iIww6/kFqqdYPO8csmgvPLJBkmKK3RYlikABKQQwDWoCvjr7zOQJ3vLBEasbQu3VGAXLcuQTiIGT8XQNvYo+omYsEZSvLqipib3uCGK7wPh9dJdo0t1mT/S7d82JChuFHzWarYM9jfqn8zQifehQSpTU93PpcpHAwtd71Q4qHrtyWYK8//PPk/epBOOLdsgKmK4+x1s/dsJ7+f316n18px3zvO8H2wQ7g0BMR05VxEXE+UMKiW3O1LU5PMkpb7Q0bcxx2Phw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LFHFg9Drna9jR44+rSeaaZx+wNcat5CHqUdBCywA9k4=;
 b=Pfqq4JrHvLV87LCkfkDwlId9F6Rs4V+pkzJTswGJbt64w5+++NnUcZM4lupe1Klu6Nx+df4Er5/mw8R9DSulilXADc5DCI0iTXjrnktm/9rWwXTDsaKkOQXMmf1H6/1f8Scj20Iy2iU0OpwiX2K8iUlUo++3zA0GZgUFWlDOpW7nKI7hnfy3n1o/L4luNh+m7OwAowVeT0qMu2S9v151+0icb9d1+EwuM9m5tSleAZLRMUK8HTEYA1NM9rhcQP2tfb8Qa9q3Y0Fyan2OiJGTUTqjBHB0NHqfZkBldW+RXDzZzxEua0DiD4snGBA9mz8DVGqXLwodKzWZVyI3vkXSJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7e689708-5ea8-c3d9-10a1-3de5e2ecdab9@suse.com>
Date: Tue, 8 Aug 2023 16:46:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 5/5] x86: refactor macros in 'xen-mca.h'
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8df1af6384606d8176525fbffb364ec814d48db1.1691492441.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0241.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8958:EE_
X-MS-Office365-Filtering-Correlation-Id: 21ec88d2-c3c8-4705-f082-08db981e453f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FSLQkKcmV2BhmxOisaTAjEQIj/NHzwoUSeHgfdZInToNlV7fRCxPilxteXtEg5PWvJRS7E3/gZtUlm+YQPkSQA5m1GOrcrl5WDslrPwym2EIINhWEXefG8hHdsDtDeHhySjTVXbwapSl7DMfZ0zzEaF1ffncaTczS5N0zUCo31JDdgZ5wp3/PvauQ0rlzOSWzHV9PT/Hd4kBeBDEpdOevufa+PnWBb6N93mrG6yoaSmajWqQMf7Ptp0AgYPDzodZ1sJOGRtpFcg/tBgJWoB6OT8yk6LrmrW4xS1PXiQkh4Eoer8f9eE7ld89NwmVvpEjxVJ4snid/ISQ2atnQyFoFXgtvUFK48Hd0s/dCAsVwLu7xMqXF3COdmK6yTAWB0mv8achhcko9QErfczr1G1U8J61ZTwgSWpDkAC9Aw/mSPr0Mk4s6/VNxxP5zWLka8q8n5B86sKXsR0hEp8wzVg/vtTVyOLV1VvoNKn6K1X68bTMtqNDH4PLjTuxuvlrdiu+NYekD32kG5bpXYiB3cbWb76mi8xiKSzRqo5QSlPqzn5YqH5IY5xKcSPOI6prIQaV9ukAGv7LPIso3LL80ifu1Wbt/jtGfZZffPtuaHjwH3h/HmZAsb0yu4MEmfhPhUbdSj19dSUoQ7Pv6qeE4YPE3A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(39860400002)(136003)(366004)(1800799003)(186006)(451199021)(8936002)(316002)(31686004)(8676002)(66946007)(66556008)(66476007)(6916009)(5660300002)(2906002)(4326008)(478600001)(54906003)(7416002)(4744005)(41300700001)(31696002)(86362001)(6486002)(6512007)(2616005)(36756003)(38100700002)(53546011)(26005)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzVtNXFZMWthRkMxTzJRdnEybUdvUlhkcGdEZ2tRM0QwcXZneGRRWUdCRXZm?=
 =?utf-8?B?ZzNpeFkyTlo1ak1EakJFQytzOFB4R2pHSmR0aXdIZmZ1ZGFNVFpoYkJGR0RI?=
 =?utf-8?B?TWRqU1gwOHUzblZ0emFqaUJTUFhlWHlOQjlnNnpwL1I4YnFVekpSTHlieXlj?=
 =?utf-8?B?NUZXRmVlai81WHpmVEc1VDJTdGhiMmVkMUhOTE5aNXhXdWFKR28rK3NUMDdK?=
 =?utf-8?B?Y09MNDlzSGMyNHFsTGZ5UGxZQjgvMTA3Y0xtaXF5QllLMnhESU1ZV0JtdElV?=
 =?utf-8?B?RWh4dGVDUzVzcHBZZG9ZbHg2a1M4NTVMRG5yOTU1VTB0M2NXWWRxSDRhWFQw?=
 =?utf-8?B?Mkt2dHhMTUVQaDB4Q1dmc3Fidjd5cW1pZktqQm5sQWFTcFZEdGNRZ2Q1Qlhu?=
 =?utf-8?B?a0JkaWtxcjhvNlg2a28yOVVWK2VETWZWelc5WDNjbVp1RjZ4TFJWWnFtbTVZ?=
 =?utf-8?B?bGp1OTVFaGpsM09UYVJSMXR3eFlIMVMrMUMyeWE0U0RQZVd1cEdtWkhCbkxL?=
 =?utf-8?B?SllEWTdDcVR5dDQrRnQ4TjQweWF4blBoMzJLRW8xUjJLWlhCSlB2bE1TUXdR?=
 =?utf-8?B?TE9ET3ovbHZiY1FiTDF2Mi9INGswUHpvR2E5RHFicWc0N2Exa2xhYk5ZZnpn?=
 =?utf-8?B?ZFBhK0VyV0oxR1h0NFZBdnJlZE5icFNvaElJZXNyQVJka3JIMnBXSFA3VTIr?=
 =?utf-8?B?NXYzK1pFRlhyNkdSZGpKN3hMb281YW5SSVplTXdudEErVGdsWGlXSjhFdENN?=
 =?utf-8?B?V0o3NFVqdzQwcEZSSFhOUTFTUHp3c1ZRWnVmb2RVNGZBSTljdFdjWlFrU2Ez?=
 =?utf-8?B?Wjd6QnhXei9CM1dMbWZKWGV4UldZUkwwNlB6Mm1mczFrZldaSmVBL2hDWnUw?=
 =?utf-8?B?eVNzWndvczVVeUtzYVZ4RnlrdldNRmFBQjIzWU5lV1J2ZUFwN3lNV0hSQ0cr?=
 =?utf-8?B?UXUrcS9HbExZTTI2c1hBZEhHVjA2di9XT3A3RmJWUDJYcytSUm5KR0NLQ1NS?=
 =?utf-8?B?S3JEUEJtVTlUMVIvdGo5OGlyVUlYdEQwbjlTd05paEg5SXQ4MmJGdjJhVXEv?=
 =?utf-8?B?QU9MelhqOUlpRzh4cGZkOUNlSThRWVpLdHpJUHhOR0xHOUJWcUNTWGJiTU41?=
 =?utf-8?B?WFF0TlU3dW9vNkRBcEw4YUxFQUNILzhIendJWU5oVzZQY0tpZkFmZHlsODBQ?=
 =?utf-8?B?RUhWVnpoZ1ZHcjVoMmlqMnJwbWIxd0p4d2FRVE92ODBIN2tLQjIxWlRoS0E1?=
 =?utf-8?B?bHIrZ1QvMGlUb1VNaUJtdFpZMG84TWd4NTN5ejk5LzVKUDlIdCt2NnBTS3ln?=
 =?utf-8?B?eWZCNjBsazh0dnZvRkg0eW5wSnpBdVcyamVuUTNZdGtGT3V4bXJiMUIxRGVJ?=
 =?utf-8?B?dkwvdE1WOFdmbWU0dmQ2RXUxcDZCMlNZaGxZbEZsOWhBaVJTU0xLV3VQaWhw?=
 =?utf-8?B?LzkvUmlYcE94VndvRThONUdlN20yWWc5dTRleXR1dCtyaGREdG13eFFNOEVE?=
 =?utf-8?B?dmJtZzNPaHU1Vlk0L1h3dlcyUkk4WE1uWFpGZWJTR1JLWDRJa0tOQ2xmL0pw?=
 =?utf-8?B?WURTU2s1Vmc5VXBEQytYWjYybmU3QkJUTldQMnRsV3p3MllBODdmcXYxc3Jy?=
 =?utf-8?B?RlBVZFVIWDIwV3piSHN6TElkNk9GZ29DLzRnUkRKdXFOOGNsMENYTS8wV1Ev?=
 =?utf-8?B?QmxZVTRLUDFtbThVM2JYZkVvZnN1V0xSTXM5U05yQm9WMUo0akE1YjUwN0dv?=
 =?utf-8?B?bU9TbWtOZzFtZFJpV3pCalVtc05MRGJKNVZjNW95NHRURDdITnVrdUtnc1F4?=
 =?utf-8?B?ZjkzS3QxTCtlRjFYZ2xhN3VJcjUwRkVNeUF6RlNycmFGME4xNTc2MEpiOVdG?=
 =?utf-8?B?UzlCa1RIc3laWEV0VThpTUsrRUhGQWcyaWdNeWdBY0JzWVYxRk1EeW5ob0J5?=
 =?utf-8?B?M2MyZHY0UkpDSndqdVhRS1JVSXVyMzljZjB3ek1VVzdGRVhGckFBY1ovVE1U?=
 =?utf-8?B?djV5VFA2QzFldXoxZ1EySnlYZVlQbGk1VG1lb2xxVlcwZGxQVmIzWDljWlZa?=
 =?utf-8?B?aXhVektsQ0tiNDRUb3k3Z3NXZzJTRTFXRms4YXpDVXh3QVpCaVh2eVFOSTNX?=
 =?utf-8?Q?3vfu+1CWOqtiBvxRq1pTwk9qG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21ec88d2-c3c8-4705-f082-08db981e453f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 14:46:38.2835
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ojb+HJNHmgyFLt3J31jvbT0912VTjN4ZWoJ0T3yURPHUZFokxhJYE3i1FTmrWgRfbf/iPfXo58bQh4stTEU4mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8958

On 08.08.2023 13:08, Nicola Vetrini wrote:
> The macros defined 'xen/include/public/arch-x86/xen-mca.h' are revised
> to address the following concerns:
> - needless underscore prefixes for parameter names;
> - the variable 'i' in function 'mce_action' that is shadowed
>   by the local variable in the macro.
> 
> Therefore, the refactoring aims to resolve present shadowing
> issues, which violate MISRA C:2012 Rule 5.3, and lessen the
> probability of future ones with some renames.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 14:58:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 14:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.579995.908234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTO9u-00088X-Qg; Tue, 08 Aug 2023 14:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 579995.908234; Tue, 08 Aug 2023 14:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTO9u-00088Q-O5; Tue, 08 Aug 2023 14:58:06 +0000
Received: by outflank-mailman (input) for mailman id 579995;
 Tue, 08 Aug 2023 14: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 1qTO9t-00088A-2n; Tue, 08 Aug 2023 14: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 1qTO9s-00075z-NX; Tue, 08 Aug 2023 14:58: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 1qTO9s-00032f-CG; Tue, 08 Aug 2023 14:58:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTO9s-0005wO-Bn; Tue, 08 Aug 2023 14: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gS7RUyB6IZOdbY+hMx6hZfdpIm8NelETnx9jc/dvm+U=; b=VPlCpizGs9SF860EiXZVIB90HW
	RkhOKMkKDUYXjwWwScZAsjp0DL87goWpJ+El12CPBzkJRTfYnYCKxpwt4l5FrVFfG7cRzWuEiEAH2
	GZHM3dqU+DI9UMepdxjuBxJtlZXnAowVhCeYhnMiuR5jBX7OR3f5glGrcgXEDi8RUIkA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182232-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182232: 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=46c5ef609b09cf51d7535aebbc05816eafca4c8d
X-Osstest-Versions-That:
    xen=bd3ddaf6ee7fa312bd077305819105f84a34008d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 14:58:04 +0000

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

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                  46c5ef609b09cf51d7535aebbc05816eafca4c8d
baseline version:
 xen                  bd3ddaf6ee7fa312bd077305819105f84a34008d

Last test of basis   182229  2023-08-08 08:00:25 Z    0 days
Testing same since   182232  2023-08-08 12:03:48 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
   bd3ddaf6ee..46c5ef609b  46c5ef609b09cf51d7535aebbc05816eafca4c8d -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 14:59:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 14:59:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580002.908245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOAr-0000E5-59; Tue, 08 Aug 2023 14:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580002.908245; Tue, 08 Aug 2023 14:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOAr-0000Dy-1S; Tue, 08 Aug 2023 14:59:05 +0000
Received: by outflank-mailman (input) for mailman id 580002;
 Tue, 08 Aug 2023 14:59:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/Vr=DZ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTOAp-0000Di-CP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 14:59:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c5b17a4-35fc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 16:59:02 +0200 (CEST)
Received: from AS9PR0301CA0002.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::15) by GVXPR08MB7800.eurprd08.prod.outlook.com
 (2603:10a6:150:2::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 14:58:50 +0000
Received: from AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:468:cafe::ff) by AS9PR0301CA0002.outlook.office365.com
 (2603:10a6:20b:468::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Tue, 8 Aug 2023 14:58:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT029.mail.protection.outlook.com (100.127.140.143) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.44 via Frontend Transport; Tue, 8 Aug 2023 14:58:49 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Tue, 08 Aug 2023 14:58:49 +0000
Received: from 8265cc1e5107.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DB10868E-CF16-4D61-9BD1-6E2D12100997.1; 
 Tue, 08 Aug 2023 14:58:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8265cc1e5107.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 08 Aug 2023 14:58:38 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB8407.eurprd08.prod.outlook.com (2603:10a6:20b:55a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 14:58:35 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 14:58:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c5b17a4-35fc-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xF+8elf0srI676hurlCM6tUw+eU2R2hA6iovNjlb81w=;
 b=wpCyar7dsY/qpLcnHCRvJACMGHcU3Cuuxsn9oUcXRk47UaVL56Wv80tDwK+vHYXqmAvzWk1kx2X0THsACLZRrZSr+6qQ5I/LHQW1xid83beB45ZoFuV+SC8t5pHFc5TfIeI0LHkd+zZGaPKxwWXa0h1Opuj/V5Y49LzqNL1/YT8=
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: 34de6929aae927cc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AduSbX07SNLKOncIX37KHZuBlhyVwfkqM5zp1opMY+gdrJhN4QDJ6aEhPG2w0sCY0cTkvuTQXXfjskbgFxzn/CQucUwOEld2C82UhZDrNDF1fiW8u0HPmDoMzFDzBnh+jhtV7p7D01K+vEr0YZm69QCG0nKIvZL44c4eMGV0d0TCIn70tz2MMAeOHSkQV9KlhYuESjo5W/yflkXYSa9U1a1jOAOXer4hyySuckXVJvd8NXEOXyqOWxZt2iRs4ph+Vt6TSUexzDM2D33N1W7TdtMDp3ymu5O3fRZSni4LQU3fREHTfJEALA61m8Yluls2lscpkEoELI47PHjJFlj/OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xF+8elf0srI676hurlCM6tUw+eU2R2hA6iovNjlb81w=;
 b=WreL9ojM+GcTyYpMwGZcDWlEfd/ZASE+cxaBLbTtBgK9/oxE/xRSLjBb7VlDJ2ja1dYOBkMSSIMeN7KTshMsKAXP4wJHfef2rfTVjjsfbWA8yEGrWzbHM+P4V6DV44QyoDh1Z32dXlSJa8f67BVcmi32PkBiadXvOZJY198fbtiMAGyB+RzHgdUf1I9a87Ufsmh8ebXtj0S1vKrgRA4wyF2uDPDlPUzsojCxXLoiyB1bRjIiZ1mhH6bIxzl901qsETlj2ZsT8ZoxXD/FRGHagMfVUp+NRgZgTp1kkluzoFUnP/YemT1IowKBHwG92ivUZrv5U+kLkbU5Dc1zHDrRUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=xF+8elf0srI676hurlCM6tUw+eU2R2hA6iovNjlb81w=;
 b=wpCyar7dsY/qpLcnHCRvJACMGHcU3Cuuxsn9oUcXRk47UaVL56Wv80tDwK+vHYXqmAvzWk1kx2X0THsACLZRrZSr+6qQ5I/LHQW1xid83beB45ZoFuV+SC8t5pHFc5TfIeI0LHkd+zZGaPKxwWXa0h1Opuj/V5Y49LzqNL1/YT8=
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] xen/arm64: head: Introduce a helper to flush local TLBs
Thread-Topic: [PATCH] xen/arm64: head: Introduce a helper to flush local TLBs
Thread-Index: AQHZyei3T61KAOi37UiuQYtlptp+oq/gfbsA
Date: Tue, 8 Aug 2023 14:58:33 +0000
Message-ID: <416EFCDE-063D-416D-AEC4-8EA15BE0396C@arm.com>
References: <20230808110739.1296-1-michal.orzel@amd.com>
In-Reply-To: <20230808110739.1296-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB8407:EE_|AM7EUR03FT029:EE_|GVXPR08MB7800:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cf8b859-11e8-4813-430e-08db981ff957
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:
 AuRBzEMlG8aHij+Zkr/OryrC3gywTiknIge8R4ZfTYt2gva7YO0UGGXFcXsW47vfQsh0hnvgtxrIA232BfAD65VJgs56+YJgN2sJJYxsiP+OPjZ9BqTqXT+3SJcavVayXX1QIECnSYydsCiDE3eJQX5MZ+7JtYcUit8IXigPqaXOkCAS+E5rh2eurwA36YDs0kSl+BgmfjfdxwIJYMoYwdcHsvDTn80NnNbddOxZaIxjPNFr5zKD6uwVDOSlDZWXAlmNAbqXABJxi79PeIQx0hwrm+IbkxFJLNudkrYvpZeMHee+u4jE7A/Aan8GRLj5SPyQ8nhkG8Cd1tp/h20tjuQmDLZImvPoSoMpVv/jjSXu/cub0nO2oNgkP9R6ux8oWAtbZDlkrzJOZ+s7tvmYOK7DmNT+U0V3RTNYsVsAlfC0uKhLo2k8plARrkMbRAXKc9IM4Cmaa+qWnCFJU1UNQXn8ZPhg7kvc1C3wI4iyfwI/JIw1jQjh1ypPL7TeLWjPnR/Md4JS3/cqBkMITEBpPnSmEMov7/IuAIJ8SikvD1R0xDUjxZ2A+3uPND76sniET97n13sRvhL9oOEkRXzviV4jAQLgxjR4e/8c/hJ5I9bS2MjVyGh5HYykC6uVMxFvU5rnA1Nu6bR0wf1DriRjhg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(346002)(136003)(39860400002)(366004)(451199021)(1800799003)(186006)(38070700005)(8676002)(8936002)(5660300002)(4326008)(6916009)(64756008)(41300700001)(316002)(86362001)(4744005)(2906002)(6512007)(71200400001)(6486002)(2616005)(53546011)(6506007)(26005)(36756003)(76116006)(91956017)(66446008)(66946007)(66476007)(66556008)(478600001)(122000001)(54906003)(38100700002)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <470368FCCD51AE4A8E324E8419882240@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8407
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:
 AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	08c42f3a-8621-4709-1053-08db981fef76
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i83qHe7T29CMSF404T8YgiM5EF1Nv7II4XplhrCXZHmVI/OI60nk/wK6PK1+TCeyMIwG5r19dPRxHzRztARwKxnmxb39rLApznAe1toOXye2lqg+XZIrd+a6x5NFLpc5B3O0/JWTdU0YseLW7NaOLxLSVNQ8w71Mbo4/kEd2OiyppwJlaLxaIMU6hihtUvn1P6NK+WC2X7kpyLcXBla5hu2shFHZXQpMtgmRYV/pGw2KKDlcUFui7kIJX5+Ov6TCJy0ECgk1XGZY0yl0My3VByZ0O/A8PmDrdPe9GJWqdkPC3mrPP/k6VUEgGieoT4oL4qr9nv1tLMuXIT9rGfdYy5+UWg13xfTJF4UkmupcmAMmQYYvIjBMCeYu1JdCfsqkcuCKJ/CHcaJMjQ7NIbyBZtsUytUcNljn+ImSwR0lZyAw4CyacE8z2i0HD6XKW6jGZaECa0gnWpcc9sm2FxdcbCXwRJ/uIiNgDYD73V8k83nx+51bvZ1Mf1mhzOcrMgKmNzH00AMyVi4Q3fMXeY+8w35UAHNn7ofva8zTHPRqQQq88LJUZ4f+ked0AySjT6UmfYT5foIiM1OdzhKrPvCB9Y3ysxJzJb934oKSAGab5BKM4R0VV1ML4HWVSog/+7lnyejgdayMPa+RivVpcohGxns8Yq4+kYK50106rShL990zq9mmr/0KAFV0P1JrKPOfgGRo4igd4rigbk6LaxLmqZro2Z2/BTFL2sZ5mTfO5JPh/6ETR+LRhfxDjLmXXlgS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(346002)(39860400002)(136003)(82310400008)(451199021)(1800799003)(186006)(40470700004)(36840700001)(46966006)(2906002)(4744005)(47076005)(40480700001)(41300700001)(40460700003)(5660300002)(8936002)(8676002)(6862004)(33656002)(36756003)(36860700001)(86362001)(6486002)(81166007)(6512007)(82740400003)(478600001)(356005)(54906003)(336012)(2616005)(316002)(107886003)(4326008)(70206006)(26005)(6506007)(70586007)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 14:58:49.7085
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf8b859-11e8-4813-430e-08db981ff957
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7800



> On 8 Aug 2023, at 12:07, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Instead of repeating the same sequence of instructions to flush the TLBs
> in various places, introduce a macro flush_xen_tlb_local and make use of
> it. This is similar to what was done for arm32 by the commit:
> dea9dddeceec8a1d68da24b14d5b2396effe555f
>=20
> This is also making the flush sequence in enable_mmu more clear and
> consistent.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---

Hi Michal,

Looks good to me

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:05:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580010.908254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOGs-0001sH-Tx; Tue, 08 Aug 2023 15:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580010.908254; Tue, 08 Aug 2023 15: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 1qTOGs-0001sA-RU; Tue, 08 Aug 2023 15:05:18 +0000
Received: by outflank-mailman (input) for mailman id 580010;
 Tue, 08 Aug 2023 15:05:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6aok=DZ=netrider.rowland.org=stern+64c0f95a@srs-se1.protection.inumbo.net>)
 id 1qTOGs-0001s4-Aj
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:05:18 +0000
Received: from netrider.rowland.org (netrider.rowland.org [192.131.102.5])
 by se1-gles-sth1.inumbo.com (Halon) with SMTP
 id fa967014-35fc-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:05:15 +0200 (CEST)
Received: (qmail 161982 invoked by uid 1000); 8 Aug 2023 11:05:14 -0400
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa967014-35fc-11ee-b280-6b7b168915f2
Date: Tue, 8 Aug 2023 11:05:14 -0400
From: Alan Stern <stern@rowland.harvard.edu>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Zhang Shurong <zhang_shurong@foxmail.com>, jgross@suse.com,
  xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org,
  linux-kernel@vger.kernel.org
Subject: Re: [PATCH] xen: fix potential shift out-of-bounds in
 xenhcd_hub_control()
Message-ID: <ccb08027-6836-4207-969b-fd0cf63e9faf@rowland.harvard.edu>
References: <tencent_15DD79B42AD8A0D64A7CDC24D4FE6C85800A@qq.com>
 <2023062628-shame-ebook-56f2@gregkh>
 <4825193.GXAFRqVoOG@localhost.localdomain>
 <tencent_942CC5C35E410E3545C2E386BE566B8B1405@qq.com>
 <2023080659-turban-exemption-1196@gregkh>
 <3481a644-1648-4fa9-86eb-2a0b86b8f47a@rowland.harvard.edu>
 <2023080845-talisman-ravage-0b58@gregkh>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2023080845-talisman-ravage-0b58@gregkh>

On Tue, Aug 08, 2023 at 10:26:38AM +0200, Greg KH wrote:
> On Sun, Aug 06, 2023 at 11:15:51AM -0400, Alan Stern wrote:
> > On Sun, Aug 06, 2023 at 04:27:27PM +0200, Greg KH wrote:
> > > On Sun, Aug 06, 2023 at 10:11:43PM +0800, Zhang Shurong wrote:
> > > > åœ¨ 2023å¹´7æœˆ1æ—¥æ˜ŸæœŸå…­ CST ä¸‹åˆ11:51:43ï¼ŒZhang Shurong å†™é“ï¼
> > > > > åœ¨ 2023å¹´6æœˆ26æ—¥æ˜ŸæœŸä¸€ CST ä¸‹åˆ1:52:02ï¼Œæ‚¨å†™é“ï¼
> > > > > 
> > > > > > On Mon, Jun 26, 2023 at 07:48:05AM +0200, Jan Beulich wrote:
> > > > > > > On 25.06.2023 18:42, Zhang Shurong wrote:
> > > > > > > > --- a/drivers/usb/host/xen-hcd.c
> > > > > > > > +++ b/drivers/usb/host/xen-hcd.c
> > > > > > > > @@ -456,6 +456,8 @@ static int xenhcd_hub_control(struct usb_hcd *hcd,
> > > > > > > > __u16 typeReq, __u16 wValue,> >
> > > > > > > > 
> > > > > > > >  			info->ports[wIndex - 1].c_connection =
> > > > > 
> > > > > false;
> > > > > 
> > > > > > > >  			fallthrough;
> > > > > > > >  		
> > > > > > > >  		default:
> > > > > > > > +			if (wValue >= 32)
> > > > > > > > +				goto error;
> > > > > > > > 
> > > > > > > >  			info->ports[wIndex - 1].status &= ~(1
> > > > > 
> > > > > << wValue);
> > > > > 
> > > > > > > Even 31 is out of bounds (as in: UB) as long as it's 1 here rather
> > > > > > > than 1u.
> > > > > > 
> > > > > > Why isn't the caller fixed so this type of value could never be passed
> > > > > > to the hub_control callback?
> > > > > > 
> > > > > > thanks,
> > > > > > 
> > > > > > greg k-h
> > > > > 
> > > > > Although I'm not knowledgeable about the USB subsystem, I've observed that
> > > > > not all driver code that implements hub_control callback performs a shift
> > > > > operation on wValue, and not all shift operations among them cause
> > > > > problems. Therefore, I've decided to fix this issue within each driver
> > > > > itself.
> > > > > 
> > > > > For example, in r8a66597_hub_control, it will first check whether wValue is
> > > > > valid (always < 31) before the shift operation. In case of an invalid
> > > > > number, the code would execute the error branch instead of the shift
> > > > > operation.
> > > > > 
> > > > > switch (wValue) {
> > > > > case USB_PORT_FEAT_ENABLE:
> > > > > 	rh->port &= ~USB_PORT_STAT_POWER;
> > > > > 	break;
> > > > > case USB_PORT_FEAT_SUSPEND:
> > > > > 	break;
> > > > > case USB_PORT_FEAT_POWER:
> > > > > 	r8a66597_port_power(r8a66597, port, 0);
> > > > > 	break;
> > > > > case USB_PORT_FEAT_C_ENABLE:
> > > > > case USB_PORT_FEAT_C_SUSPEND:
> > > > > case USB_PORT_FEAT_C_CONNECTION:
> > > > > case USB_PORT_FEAT_C_OVER_CURRENT:
> > > > > case USB_PORT_FEAT_C_RESET:
> > > > > 	break;
> > > > > default:
> > > > > 	goto error;
> > > > > }
> > > > > rh->port &= ~(1 << wValue);
> > > > 
> > > > Hi there. I apologize for reaching out once more. I'm feeling a bit puzzled 
> > > > about what my next step should be. I'm unsure whether I should rewrite this 
> > > > patch or attempt to address the issue at the caller level.
> > > 
> > > Try addressing it at the caller level first please.  If that somehow
> > > does not work, then we will take a patch series that fixes all of the
> > > host controller drivers at once.
> > 
> > It's not feasible to fix all the callers, because the calls can come 
> > from userspace via usbfs.
> 
> It can?  Hm, that happens through the call in rh_call_control(), right?
> But there, we do a bunch of validation before calling hub_control() so
> why can't we do the same thing in that one place as well?  Making
> invalid requests from userspace should be disallowed (or we can catch
> this in the usbfs interface.)

Yes, we could filter these things out at either spot.

But that's not the best approach.  The reason xen-hcd.c needs this 
change in the first place is because the code is buggy, and the change 
does not fix the real bug.

Section 11.24.2.2 (CLEAR PORT FEATURE) of the USB-2 spec says:

        It is a Request Error if wValue is not a feature selector listed 
        in Table 11-17, if wIndex specifies a port that does not exist,
        or if wLength is not as specified above.

xenhcd_hub_control() validates wIndex but not wValue.  (In theory we 
should validate wLength also, but in practice it doesn't matter.)  
Here's an example from the code:

	case ClearPortFeature:
		if (!wIndex || wIndex > ports)
			goto error;

		switch (wValue) {
		case USB_PORT_FEAT_SUSPEND:
			xenhcd_rhport_resume(info, wIndex);
			break;
		case USB_PORT_FEAT_POWER:
			xenhcd_rhport_power_off(info, wIndex);
			break;
		case USB_PORT_FEAT_ENABLE:
			xenhcd_rhport_disable(info, wIndex);
			break;
		case USB_PORT_FEAT_C_CONNECTION:
			info->ports[wIndex - 1].c_connection = false;
		default:
			info->ports[wIndex - 1].status &= ~(1 << wValue);

This line is wrong, and not just because wValue might be too large.  The 
only status bits that should be manipulated are the ones controlling 
features the driver actually implements.  Not random bits passed in by 
the caller!

			break;
		}
		break;

So here's what the code _should_ look like (just the end part):

		case USB_PORT_FEAT_C_CONNECTION:
			info->ports[wIndex - 1].c_connection = false;
			fallthrough;
		case USB_PORT_FEAT_C_RESET:
		case USB_PORT_FEAT_C_ENABLE:
		case USB_PORT_FEAT_C_SUSPEND:
			info->ports[wIndex - 1].status &= ~(1 << wValue);
			break;
		default:
			goto error;
		}
		break;

(Perhaps also include USB_PORT_FEAT_C_OVER_CURRENT and 
USB_PORT_FEAT_INDICATOR, depending on whether the driver supports them.)

This way the driver does the right thing in all cases and it never runs 
the risk of a shift amount being too big.  The other HCD drivers are 
written this way.

Similar reasoning applies to the SetPortFeature section.

Alan Stern


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:09:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580017.908265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOKq-0002UF-9S; Tue, 08 Aug 2023 15:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580017.908265; Tue, 08 Aug 2023 15:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOKq-0002U8-6t; Tue, 08 Aug 2023 15:09:24 +0000
Received: by outflank-mailman (input) for mailman id 580017;
 Tue, 08 Aug 2023 15:09: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=1DqA=DZ=huawei.com=yuehaibing@srs-se1.protection.inumbo.net>)
 id 1qTOKp-0002U1-IB
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:09:23 +0000
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bc2ba54-35fd-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:09:20 +0200 (CEST)
Received: from canpemm500007.china.huawei.com (unknown [172.30.72.55])
 by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4RKxMc1GBVztRt1;
 Tue,  8 Aug 2023 23:05:48 +0800 (CST)
Received: from localhost (10.174.179.215) by canpemm500007.china.huawei.com
 (7.192.104.62) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 8 Aug
 2023 23:09:16 +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: 8bc2ba54-35fd-11ee-b280-6b7b168915f2
From: Yue Haibing <yuehaibing@huawei.com>
To: <jgross@suse.com>, <sstabellini@kernel.org>,
	<oleksandr_tyshchenko@epam.com>, <yuehaibing@huawei.com>
CC: <xen-devel@lists.xenproject.org>
Subject: [PATCH -next] xen-pciback: Remove unused function declarations
Date: Tue, 8 Aug 2023 23:09:12 +0800
Message-ID: <20230808150912.43416-1-yuehaibing@huawei.com>
X-Mailer: git-send-email 2.10.2.windows.1
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [10.174.179.215]
X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To
 canpemm500007.china.huawei.com (7.192.104.62)
X-CFilter-Loop: Reflected

Commit a92336a1176b ("xen/pciback: Drop two backends, squash and cleanup some code.")
declared but never implemented these functions.

Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
---
 drivers/xen/xen-pciback/conf_space_quirks.h | 2 --
 drivers/xen/xen-pciback/pciback.h           | 3 ---
 2 files changed, 5 deletions(-)

diff --git a/drivers/xen/xen-pciback/conf_space_quirks.h b/drivers/xen/xen-pciback/conf_space_quirks.h
index d873abe35bf6..fc1557dfef49 100644
--- a/drivers/xen/xen-pciback/conf_space_quirks.h
+++ b/drivers/xen/xen-pciback/conf_space_quirks.h
@@ -21,8 +21,6 @@ struct xen_pcibk_config_quirk {
 int xen_pcibk_config_quirks_add_field(struct pci_dev *dev, struct config_field
 				    *field);
 
-int xen_pcibk_config_quirks_remove_field(struct pci_dev *dev, int reg);
-
 int xen_pcibk_config_quirks_init(struct pci_dev *dev);
 
 void xen_pcibk_config_field_free(struct config_field *field);
diff --git a/drivers/xen/xen-pciback/pciback.h b/drivers/xen/xen-pciback/pciback.h
index 9a64196e831d..f9599ed2f2e2 100644
--- a/drivers/xen/xen-pciback/pciback.h
+++ b/drivers/xen/xen-pciback/pciback.h
@@ -201,6 +201,3 @@ static inline void xen_pcibk_lateeoi(struct xen_pcibk_device *pdev,
 int xen_pcibk_xenbus_register(void);
 void xen_pcibk_xenbus_unregister(void);
 #endif
-
-/* Handles shared IRQs that can to device domain and control domain. */
-void xen_pcibk_irq_handler(struct pci_dev *dev, int reset);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:10:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:10:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580022.908274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOLo-0003ra-Jd; Tue, 08 Aug 2023 15:10:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580022.908274; Tue, 08 Aug 2023 15: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 1qTOLo-0003rT-Gx; Tue, 08 Aug 2023 15:10:24 +0000
Received: by outflank-mailman (input) for mailman id 580022;
 Tue, 08 Aug 2023 15: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=H/Vr=DZ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTOLn-0003rJ-Tr
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:10:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2050.outbound.protection.outlook.com [40.107.7.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b23016d8-35fd-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:10:23 +0200 (CEST)
Received: from FRYP281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::21) by
 DU0PR08MB9418.eurprd08.prod.outlook.com (2603:10a6:10:421::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6652.25; Tue, 8 Aug 2023 15:09:51 +0000
Received: from VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:0:cafe::77) by FRYP281CA0011.outlook.office365.com
 (2603:10a6:d10::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.16 via Frontend
 Transport; Tue, 8 Aug 2023 15:09:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT039.mail.protection.outlook.com (100.127.144.77) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6631.45 via Frontend Transport; Tue, 8 Aug 2023 15:09:50 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Tue, 08 Aug 2023 15:09:49 +0000
Received: from 475518f4f4a6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3ABC8230-D378-487F-A7F6-DC6C2B638105.1; 
 Tue, 08 Aug 2023 15:08:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 475518f4f4a6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 08 Aug 2023 15:08:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM8PR08MB5570.eurprd08.prod.outlook.com (2603:10a6:20b:1d2::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 15:08:40 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.026; Tue, 8 Aug 2023
 15:08: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: b23016d8-35fd-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LR531HV0oY4lV7VgzQe4AkX5MZLRVgBb2FpikOdOUg8=;
 b=4U9P9lgiK8WLsyEiLeKo+WjTlMPwFUAMAKVpavbTzLAJvICUJ9WtTIZE1sv796v95isWLLHlbk3T/QN1AOWqwJ4bbO0vMDQ5693e0Gnz3YiZ7v3O75B0mdPIikG4xAL38nMX3PV35OQfvd21Z0GFed7jMcxZr+ccUNt26YH8Ad0=
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: d65cbdfe526c7782
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hAHcJ+JOVMUeQ/3Z1pG7lqAVX6cO/4ui6+MuAP4rhiYCOECz9B9zDWgalouPcnVUaw+4ESmNwquMWSyDBak3yjcX6iyQ870BVssGgDVINIzcv1V7GtP2Tuv6wHa4R1lj7nqoAQbjtNPNzfW3E3gInUZlAl1QneeZdxaGv8SvdHREAXb5KYzVnN7XLvcOyhIaRHEI4aoeG1hHpwQ5ClhuCScg+TnmNkv0Z7FYEwGBhCGcxpK7jiddU1ahLvFhEX8D3ukdVO4n/ECb3GT/EcVqsmXbmaSioYcN0uOpNVWyMFyUT3R+Lm2XYc/0fql6QZ9jT7k0U8d7Y8j81LtQVdRO0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LR531HV0oY4lV7VgzQe4AkX5MZLRVgBb2FpikOdOUg8=;
 b=HMwsirfTTKamCsO84s+DfEuq03sgHCNuDgBtlBN1Y+HOw9FiLuy0+6bmfmrLgjQmBd83IHKKLlON5JFd4NmRSQBMUCt0IzKxa0Z6yfgIFEw0nuc6HllKVqn3rWQhZ+MoBF4rznq+u5LSUk2M/ry16BSsNjnG7MnAGU14UUedArNzJeoksODcR2M9yBIc3eBI2XeT05izUxjjo6McrDK3RRh9P2r9h7LK5iC6K8WoqmXEGqju57EjU0A5EZEJhFkbhQ4JkXvd+lg/ANhZegI3WjBb/EhvlrRj+dNJvvQFrjqMXD7+5LZj+ceZntysU34KWlaUHwnG1ZUZADqK34C5Dw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=LR531HV0oY4lV7VgzQe4AkX5MZLRVgBb2FpikOdOUg8=;
 b=4U9P9lgiK8WLsyEiLeKo+WjTlMPwFUAMAKVpavbTzLAJvICUJ9WtTIZE1sv796v95isWLLHlbk3T/QN1AOWqwJ4bbO0vMDQ5693e0Gnz3YiZ7v3O75B0mdPIikG4xAL38nMX3PV35OQfvd21Z0GFed7jMcxZr+ccUNt26YH8Ad0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Tamas K Lengyel <tamas@tklengyel.com>
Subject: Re: [PATCH] mem-sharing: move (x86) / drop (Arm)
 arch_dump_shared_mem_info()
Thread-Topic: [PATCH] mem-sharing: move (x86) / drop (Arm)
 arch_dump_shared_mem_info()
Thread-Index: AQHZyfBJrIpFu/4jlkOaspAEusf4b6/ggH4A
Date: Tue, 8 Aug 2023 15:08:39 +0000
Message-ID: <B566D20C-3818-4476-9FB4-4F93721C6E6D@arm.com>
References: <b0a49d20-8e82-8264-8241-86a108139682@suse.com>
In-Reply-To: <b0a49d20-8e82-8264-8241-86a108139682@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM8PR08MB5570:EE_|VI1EUR03FT039:EE_|DU0PR08MB9418:EE_
X-MS-Office365-Filtering-Correlation-Id: 2cf4f673-021c-4176-90f7-08db982182f1
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:
 C3uozCephDrjXiuj05xMEVeIi9HxA1X/4vWhElrgVOc6T6sgB9Jegk19DfKv7kAIMPoYJynVbapsLVHaaft+KJfu4YooBWIhVLvntcCTlOpbZikyG1txaJXk0y+k0kuzNI2sXGP8UtShp+W8hSKuzYnXwFx1lx+ESaOntEsD91UAH5X0/IyJcKNmQOPPPrIpAjAqlMevLUguLfz1bfukzv+wxhzAlbVRUKpt9wl/eVQquK8/ysrsvl8BCouhv/5S2aDh36fd8lqXQZpLYKPG0pNXrg0r+zP7Tpq5c1xLOOUrpDBCR8tE7rGNjFhcmLONWD5n0qTdM7AXyABaugbW1g4mwx5kp+YH0odd6pgr8uCGAl89n86Esz4Ov/csbUCUbtq0G5RBSCTpMtN/h5HBFc+cDVc4/74+1Qeryvn0TD32G8Mc9C7NO1kBJUYI/PMstQDUZJcOHlZKWbtqWjBsirYiYe205YPWA0o+szQaYQfIDq8Za9aZt6f5rHWTxY2Ff3eWuJT7EtC6xvZocs7wgkrlAJqTVgQ5pVpM7I2z5Sc52px1ZQGfmJNi5OgmUEQ3q9nmTh1LmxOtkBorP4/XIdkI/1jFGNhtXDZY/YcHSBtaMuODgvcAJ+Xnr+USxmUoDYjxVUaaymp2LoUktamH4A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(366004)(346002)(396003)(39850400004)(1800799003)(186006)(451199021)(2616005)(122000001)(478600001)(6486002)(66556008)(6512007)(53546011)(26005)(6506007)(33656002)(64756008)(66476007)(41300700001)(76116006)(91956017)(316002)(8676002)(4326008)(8936002)(66946007)(66446008)(2906002)(6916009)(71200400001)(54906003)(36756003)(38100700002)(38070700005)(86362001)(5660300002)(7416002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <F39195C3D9ED5F4EBE6BD600BA1B34D3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5570
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ecc51250-5664-4de8-5f14-08db98215911
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MvKObE3HSM2wlnbmLu6T6ilolNUOy/bISFgmc5F5jwqQ5POoZtDiQ7qnxi/SRBiPoi5B6aY2wMhUwUXqlS90fwhOFII1AZZz2MQm1kZUKXVngxre/RiI4Vj/q9UJg0erBmPINGmpvSccO7W5pl50HeXnaVJZ6N1wUQ827mddsSM4xl9w0rrIAucAfMWOKZ5bN77H/P/uN6VFJkUVmgulQEHDuc4jtbcQIIk6Xl3F+Enf6fC5+DyosIbNu7ti05/OkgNIBEJLKZB9oYm/TmSo4EKg3qs1QubwBg5EAQWkCpA+lCtTzOQPea+YjY6XHUPM+g396eujJdezQJ+Sg7uHpHDA4uSfzaYddPFlkAf8Z2lWm7VN6HZsufvK0B9di+9X4Ymq14cu2FTNRPoYKxQOkBDeKXYZW9p021JwyoDI60S7dQyDVuXDva1h0dGfEuN5wh4Px5dkm8mkN1VzQShriqV22CtCiWR89t17+7Y0B9HNvTsPwh14gZzTiuB30pDQB+I/nJqncyEFJEC2ttHKMvbkHmIV048S6H7cc58cF4nHjZ16z47MseuJ8DMWVLEEJ1ZvWA4R4mgXjik7A4+fE/uK0nrJILucrQ++CIoaEkBr9SBDj2K9sUxQ/BsOrIOyNU/eBKdXzAuJqTAGQIXb0oymCuw630xzpVh8Gp4dldlbzCh1QOKcTGwlJTNk8UA0+Ju5P/vOfukMCxlNF9nspn0GA6YDj2x9yR0mdgElF7YXjpz5+4uMQ0iYtusF6VMl
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39850400004)(396003)(376002)(346002)(136003)(186006)(1800799003)(451199021)(82310400008)(46966006)(36840700001)(40470700004)(47076005)(6512007)(2906002)(36756003)(5660300002)(2616005)(36860700001)(54906003)(6486002)(70206006)(70586007)(356005)(33656002)(4326008)(82740400003)(316002)(81166007)(40480700001)(41300700001)(86362001)(107886003)(40460700003)(8676002)(26005)(8936002)(6862004)(6506007)(336012)(53546011)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 15:09:50.0175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cf4f673-021c-4176-90f7-08db982182f1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9418



> On 8 Aug 2023, at 13:02, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> When !MEM_SHARING no useful output is produced. Move the function into
> mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
> drop it altogether from Arm (and eliminating the need to introduce stubs
> on PPC and RISC-V).
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> I wasn't really sure whether introducing a stub in xen/mm.h would be any
> better than adding the (further) #ifdef to dump_domains().
>=20
> We could go further and also eliminate the need for the stub variants
> of mem_sharing_get_nr_{shared,saved}_mfns() by moving the
> XENMEM_get_sharing_{shared,freed}_pages cases in
> {,compat_}arch_memory_op() into the already existing #ifdef-s there.
> Returning an error for those sub-ops may be slightly more appropriate
> than returning 0 when !MEM_SHARING.
>=20
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -1297,10 +1297,6 @@ void free_init_memory(void)
>     printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>=
>10);
> }
>=20
> -void arch_dump_shared_mem_info(void)
> -{
> -}
> -

Hi Jan,

For the arm part:

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> #arm




From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:14:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580031.908300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOPx-0004mg-Q5; Tue, 08 Aug 2023 15:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580031.908300; Tue, 08 Aug 2023 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOPx-0004lv-JW; Tue, 08 Aug 2023 15:14:41 +0000
Received: by outflank-mailman (input) for mailman id 580031;
 Tue, 08 Aug 2023 15: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=IVOA=DZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qTOPw-0004UR-KW
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:14:40 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ae78a6b-35fe-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:14:39 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2b974031aeaso89851441fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 08:14:39 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 i19-20020a2e8093000000b002ba053e1f9bsm2319794ljg.35.2023.08.08.08.14.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 08: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: 4ae78a6b-35fe-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691507678; x=1692112478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zBo4a0LOmDp0vEKiKru6TZXuvShqIRQBxpU/AyLezzQ=;
        b=W3sPxy5JVA9DZUH6+fZtB1MMqE9D1LYuuritC/SsrYZSIN9CAtWdnURRVd0oOmitmH
         qJUJPATaxTtZGG4cFzq27S0w4vYxbZBCUurObCxz7xFWCZinQx80cQh4djxTC+fKYK78
         WHXM2lPKbweGA0gm7YlGLl0Nf97ZaU+wdUtwcJ8qfX93Gkc3TNS8DyT3vodbpaveN/fR
         gxFEo4H/BF4um5bflbihsECUdDK05w5qr0vU3lWwZrn02BNS8BtJZA+pCW4kxYg4Zp/o
         N84/EuKlhgH3AXeiC/b53dymF+wHHxeg5xHzD5oJK4XJ8XcT1F6RMYJYNJOCKtvkzqkv
         GYtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691507678; x=1692112478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zBo4a0LOmDp0vEKiKru6TZXuvShqIRQBxpU/AyLezzQ=;
        b=CWV/rj3sxJVF/qp5G5oY9gr6TvJlSxtAtJXPxhimBtJ2zbbjcHY1OG1iM7BaAUTK2r
         jR9hWya7TE/eG4wFlZUJoDtwgnuDG66XeaH4BsshGaepR2iW3vXCqK30fEzKGwEUTrRK
         OgLTarixsifO+CeBwDEXHLk7VL46/xJ+oMkEIuz5n4Tl0zma+OJNTQKlpaT/4NrExc/A
         R4LdvbeEBhDhP5d8SOnhXTL8My9GWsIynT4LMt1FsjsTuotOucvkcYwfiw6v/UrnR6IT
         xnTSnXH5jQrLsVKcSLTeGq41WirWkugtvjdJmtNMfiUojQtOJQEsNy6Ihhm/htamqTd6
         ei9w==
X-Gm-Message-State: AOJu0YwBW9qez9Ydvez/V5+0i3/cNjP4oVrvamlBMn/KfR6Oew/ns0ga
	18jVaWqKrKuSiBVA5m/rNjnlFD6olgM=
X-Google-Smtp-Source: AGHT+IEFvXB/+IbxQgNVpghbUdJMZXkb/OylUu793A5PEzUAfDWm0qCdCXMMhDENg8zS/aq6K/3cgQ==
X-Received: by 2002:a2e:3c05:0:b0:2b6:d6e1:a191 with SMTP id j5-20020a2e3c05000000b002b6d6e1a191mr9172586lja.23.1691507678228;
        Tue, 08 Aug 2023 08:14:38 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 2/2] xen/riscv: introduce identity mapping
Date: Tue,  8 Aug 2023 18:14:34 +0300
Message-ID: <177ad805a6508cf4adc9f54c20333ebcf12c333b.1691507564.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691507564.git.oleksii.kurochko@gmail.com>
References: <cover.1691507564.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The way how switch to virtual address was implemented in the
commit e66003e7be ("xen/riscv: introduce setup_initial_pages")
isn't safe enough as:
* enable_mmu() depends on hooking all exceptions
  and pagefault.
* Any exception other than pagefault, or not taking a pagefault
  causes it to malfunction, which means you will fail to boot
  depending on where Xen was loaded into memory.

Instead of the proposed way of switching to virtual addresses was
decided to use identity mapping for area which constains needed code
to switch from identity mapping and after switching to virtual addresses,
identity mapping is removed from page-tables in the following way:
search for top-most page table entry and remove it.

Fixes: e66003e7be ("xen/riscv: introduce setup_initial_pages")
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes in V7:
 - use srli instruction to be consistent with slli instruction in turn_on_mmu()
---
Changes in V6:
 - t2 register was renamed to t1 as t1 isn't used anymore in
   turn_on_mmu().
 - fold li, sll instructions to slli.
 - use a0 directly to calculate an argument of turn_on_mmu() instead of t0.
---
Changes in V5:
 - update the algo of identity mapping removing.
 - introduce IDENT_AREA_SIZE.
 - introduce turn_on_mmu() function to enable and switch from 1:1 mapping.
 - fix typo in PGTBL_INITIAL_COUNT define.
 - update the comment above PGTBL_INITIAL_COUNT.
 - update the commit message.
---
Changes in V4:
 - remove definition of ARRAY_SIZE and ROUNDUP as <xen/macors.h> was introduced where these macros are located now.
 - update definition of PGTBL_INITIAL_COUNT
 - update the commit message
 - update the algo of identity mapping removing
---
Changes in V3:
 - remove unrelated to the patch changes ( SPDX tags in config.h ).
 - update definition of PGTBL_INITIAL_COUNT taking into account identity mapping.
 - refactor remove_identity_mapping() function.
 - add explanatory comments in xen.lds.S and mm.c.
 - update commit message.
 - move save/restore of a0/a1 registers to [PATCH v2 2/3] xen/riscv: introduce
   function for physical offset calculation.
---
Changes in V2:
  - update definition of PGTBL_INITIAL_COUNT and the comment above.
  - code style fixes.
  - 1:1 mapping for entire Xen.
  - remove id_addrs array becase entire Xen is mapped.
  - reverse condition for cycle inside remove_identity_mapping().
  - fix page table walk in remove_identity_mapping().
  - update the commit message.
  - add Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
  - save hart_id and dtb_addr before call MMU related C functions.
  - use phys_offset variable instead of doing calcultations to get phys offset
    in head.S file. ( it can be easily done as entire Xen is 1:1 mapped )
  - declare enable_muu() as __init.
---
 xen/arch/riscv/include/asm/acpi.h   |  6 ++
 xen/arch/riscv/include/asm/config.h |  2 +
 xen/arch/riscv/include/asm/mm.h     |  5 +-
 xen/arch/riscv/mm.c                 | 90 +++++++++++++++--------------
 xen/arch/riscv/riscv64/head.S       | 30 ++++++++++
 xen/arch/riscv/setup.c              | 14 +----
 xen/arch/riscv/xen.lds.S            | 11 ++++
 7 files changed, 103 insertions(+), 55 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/acpi.h

diff --git a/xen/arch/riscv/include/asm/acpi.h b/xen/arch/riscv/include/asm/acpi.h
new file mode 100644
index 0000000000..3aef993d81
--- /dev/null
+++ b/xen/arch/riscv/include/asm/acpi.h
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __ASM_RISCV_ACPI_H
+#define __ASM_RISCV_ACPI_H
+
+#endif /* __ASM_RISCV_ACPI_H */
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index fa90ae0898..f0544c6a20 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -95,6 +95,8 @@
 #define RV_STAGE1_MODE SATP_MODE_SV32
 #endif
 
+#define IDENT_AREA_SIZE 64
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 7b94cbadd7..07c7a0abba 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -13,8 +13,11 @@ extern unsigned char cpu0_boot_stack[];
 void setup_initial_pagetables(void);
 
 void enable_mmu(void);
-void cont_after_mmu_is_enabled(void);
+
+void remove_identity_mapping(void);
 
 unsigned long calc_phys_offset(void);
 
+void turn_on_mmu(unsigned long ra);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index a73f135a3c..053f043a3d 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -4,6 +4,7 @@
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/macros.h>
 #include <xen/pfn.h>
 
 #include <asm/early_printk.h>
@@ -35,8 +36,11 @@ static unsigned long __ro_after_init phys_offset;
  *
  * It might be needed one more page table in case when Xen load address
  * isn't 2 MB aligned.
+ *
+ * CONFIG_PAGING_LEVELS page tables are needed for the identity mapping,
+ * except that the root page table is shared with the initial mapping
  */
-#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) + 1)
+#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) * 2 + 1)
 
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_root[PAGETABLE_ENTRIES];
@@ -75,6 +79,7 @@ static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
     unsigned int index;
     pte_t *pgtbl;
     unsigned long page_addr;
+    bool is_identity_mapping = map_start == pa_start;
 
     if ( (unsigned long)_start % XEN_PT_LEVEL_SIZE(0) )
     {
@@ -108,16 +113,18 @@ static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
             {
                 unsigned long paddr = (page_addr - map_start) + pa_start;
                 unsigned int permissions = PTE_LEAF_DEFAULT;
+                unsigned long addr = is_identity_mapping
+                                     ? page_addr : LINK_TO_LOAD(page_addr);
                 pte_t pte_to_be_written;
 
                 index = pt_index(0, page_addr);
 
-                if ( is_kernel_text(LINK_TO_LOAD(page_addr)) ||
-                     is_kernel_inittext(LINK_TO_LOAD(page_addr)) )
-                    permissions =
-                        PTE_EXECUTABLE | PTE_READABLE | PTE_VALID;
+                if ( is_kernel_text(addr) ||
+                     is_kernel_inittext(addr) )
+                        permissions =
+                            PTE_EXECUTABLE | PTE_READABLE | PTE_VALID;
 
-                if ( is_kernel_rodata(LINK_TO_LOAD(page_addr)) )
+                if ( is_kernel_rodata(addr) )
                     permissions = PTE_READABLE | PTE_VALID;
 
                 pte_to_be_written = paddr_to_pte(paddr, permissions);
@@ -211,6 +218,13 @@ void __init setup_initial_pagetables(void)
     unsigned long linker_start  = LOAD_TO_LINK(load_start);
     unsigned long linker_end    = LOAD_TO_LINK(load_end);
 
+    unsigned long ident_start;
+    unsigned long ident_end;
+
+    /*
+     * If the overlapping check will be removed then remove_identity_mapping()
+     * logic should be updated.
+     */
     if ( (linker_start != load_start) &&
          (linker_start <= load_end) && (load_start <= linker_end) )
     {
@@ -232,48 +246,40 @@ void __init setup_initial_pagetables(void)
                           linker_start,
                           linker_end,
                           load_start);
+
+    if ( linker_start == load_start )
+        return;
+
+    ident_start = (unsigned long)turn_on_mmu & XEN_PT_LEVEL_MAP_MASK(0);
+    ident_end = ident_start + PAGE_SIZE;
+
+    setup_initial_mapping(&mmu_desc,
+                          ident_start,
+                          ident_end,
+                          ident_start);
 }
 
-void __init noreturn noinline enable_mmu()
+void __init remove_identity_mapping(void)
 {
-    /*
-     * Calculate a linker time address of the mmu_is_enabled
-     * label and update CSR_STVEC with it.
-     * MMU is configured in a way where linker addresses are mapped
-     * on load addresses so in a case when linker addresses are not equal
-     * to load addresses, after MMU is enabled, it will cause
-     * an exception and jump to linker time addresses.
-     * Otherwise if load addresses are equal to linker addresses the code
-     * after mmu_is_enabled label will be executed without exception.
-     */
-    csr_write(CSR_STVEC, LOAD_TO_LINK((unsigned long)&&mmu_is_enabled));
-
-    /* Ensure page table writes precede loading the SATP */
-    sfence_vma();
+    unsigned int i;
+    pte_t *pgtbl;
+    unsigned int index, xen_index;
+    unsigned long ident_start =
+        LINK_TO_LOAD(turn_on_mmu) & XEN_PT_LEVEL_MAP_MASK(0);
 
-    /* Enable the MMU and load the new pagetable for Xen */
-    csr_write(CSR_SATP,
-              PFN_DOWN((unsigned long)stage1_pgtbl_root) |
-              RV_STAGE1_MODE << SATP_MODE_SHIFT);
+    for ( pgtbl = stage1_pgtbl_root, i = CONFIG_PAGING_LEVELS; i; i-- )
+    {
+        index = pt_index(i - 1, ident_start);
+        xen_index = pt_index(i - 1, XEN_VIRT_START);
 
-    asm volatile ( ".p2align 2" );
- mmu_is_enabled:
-    /*
-     * Stack should be re-inited as:
-     * 1. Right now an address of the stack is relative to load time
-     *    addresses what will cause an issue in case of load start address
-     *    isn't equal to linker start address.
-     * 2. Addresses in stack are all load time relative which can be an
-     *    issue in case when load start address isn't equal to linker
-     *    start address.
-     *
-     * We can't return to the caller because the stack was reseted
-     * and it may have stash some variable on the stack.
-     * Jump to a brand new function as the stack was reseted
-     */
+        if ( index != xen_index )
+        {
+            pgtbl[index].pte = 0;
+            break;
+        }
 
-    switch_stack_and_jump((unsigned long)cpu0_boot_stack + STACK_SIZE,
-                          cont_after_mmu_is_enabled);
+        pgtbl = (pte_t *)LOAD_TO_LINK(pte_to_paddr(pgtbl[index]));
+    }
 }
 
 /*
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index ae194bb099..b6ce2894ab 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -39,6 +39,22 @@ ENTRY(start)
         jal     calc_phys_offset
         mv      s2, a0
 
+        jal     setup_initial_pagetables
+
+        /* Calculate proper VA after jump from 1:1 mapping */
+        la      a0, .L_primary_switched
+        sub     a0, a0, s2
+
+        jal     turn_on_mmu
+
+.L_primary_switched:
+        /*
+         * cpu0_boot_stack address is 1:1 mapping related so it should be
+         * recalculated after jump from 1:1 mapping world as 1:1 mapping
+         * will be removed soon in start_xen().
+         */
+        jal     reset_stack
+
         /* restore hart_id ( bootcpu_id ) and dtb address */
         mv      a0, s0
         mv      a1, s1
@@ -54,3 +70,17 @@ ENTRY(reset_stack)
 
         ret
 
+        .section .text.ident, "ax", %progbits
+
+ENTRY(turn_on_mmu)
+        sfence.vma
+
+        li      t0, RV_STAGE1_MODE
+        slli    t0, t0, SATP_MODE_SHIFT
+
+        la      t1, stage1_pgtbl_root
+        srli    t1, t1, PAGE_SHIFT
+        or      t1, t1, t0
+        csrw    CSR_SATP, t1
+
+        jr      a0
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index dde8fb898b..6593f601c1 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -13,20 +13,10 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
-    early_printk("Hello from C env\n");
-
-    setup_initial_pagetables();
-
-    enable_mmu();
-
-    for ( ;; )
-        asm volatile ("wfi");
+    remove_identity_mapping();
 
-    unreachable();
-}
+    early_printk("Hello from C env\n");
 
-void __init noreturn cont_after_mmu_is_enabled(void)
-{
     early_printk("All set up\n");
 
     for ( ;; )
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 9064852173..3fa7db3bf9 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -31,6 +31,11 @@ SECTIONS
         *(.text.*)
 #endif
 
+        . = ALIGN(IDENT_AREA_SIZE);
+        _ident_start = .;
+        *(.text.ident)
+        _ident_end = .;
+
         *(.fixup)
         *(.gnu.warning)
         . = ALIGN(POINTER_ALIGN);
@@ -173,4 +178,10 @@ ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
 ASSERT(!SIZEOF(.got),      ".got non-empty")
 ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
 
+/*
+ * Changing the size of Xen binary can require an update of
+ * PGTBL_INITIAL_COUNT.
+ */
 ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
+
+ASSERT(_ident_end - _ident_start <= IDENT_AREA_SIZE, "identity region is too big");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:14:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580029.908285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOPw-0004Uj-4o; Tue, 08 Aug 2023 15:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580029.908285; Tue, 08 Aug 2023 15: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 1qTOPw-0004Uc-0k; Tue, 08 Aug 2023 15:14:40 +0000
Received: by outflank-mailman (input) for mailman id 580029;
 Tue, 08 Aug 2023 15: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=IVOA=DZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qTOPu-0004UR-VJ
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:14:39 +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 4a5a618d-35fe-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:14:38 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2b9d3dacb33so93632001fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 08:14:38 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 i19-20020a2e8093000000b002ba053e1f9bsm2319794ljg.35.2023.08.08.08.14.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 08:14: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: 4a5a618d-35fe-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691507677; x=1692112477;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WnbMFsw2xJyZrC0SKfFmGk7wApTlrJZ562TuRi7g2Ug=;
        b=LbjK4PUzxnKJZdrQZK+/vINCygJMsr+1UNpkwzkSuI83/mCu+BAQcQimIS9FzxCdkO
         GIZvx4RMXHudGYoOpZonwUwabDvib9KTNEd0D4QPjii318mKQIbdQjEMl/J9yfGGAg/F
         TUUvG5ir1jcmpj4wvVH3SKcA190xu6COyNbIw3Qm13j4kZ9767a2cMede92qHsnE7b1R
         tcieZAxKe7pq5RbOBeOV+Wj1d7yYTc7hiNXDVuyZVf7kuFdlYLUeYfvwIdkVLdio9JrE
         3p7EHFs5vlRJiWvegz7XxDs/kczHkowOj8TM3qTTey6u425jEQifrxJUp5hoC6Tl/GA4
         gnSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691507677; x=1692112477;
        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=WnbMFsw2xJyZrC0SKfFmGk7wApTlrJZ562TuRi7g2Ug=;
        b=e44FlfSSV6LldQ7DIDqblOt/sBqbxxh+H/Jc0ih8AdBHB6tgZWK3N3k9LLh6vl6VZR
         Dgf5yaH/9prCbhJitOcNqb5AmXduBc9ci13I9qlrOC8Ve9zIZBT5DsLsWNd7GokvCOue
         9IeZVjypOOuV/gq+7++Efm0L3Guh1q2BWigQbjWVoR6M+XTGhN4ulNsCYAfJpnBWqZRR
         a3o2B5WBzDfc/18fQ+ZKDh4DE9Q47384TZuqfDs9mpl2akWCwSzwAeMkmV5xJfxcYCBU
         OAsRiAWw6d6097VtuSrOTKMEzwJYrB+sBupZ3WcFL17NcH1gwWuMfTMpaYXpPVxp/pm7
         Ulxw==
X-Gm-Message-State: AOJu0YzJixQh4mitRcEKs8I1F8dN/iL++VdmDj07NPMAQ7hRYyy8BqBl
	wodpGSzBy1N8qIpH5AA4KvRUCcRR8Eo=
X-Google-Smtp-Source: AGHT+IG6XoenVJGnOoi1kpLKAM55KifzOuJ3fg9FeOma9pKXOGiDSbaMLijCj0QQp6g92dMtGjYLSw==
X-Received: by 2002:a2e:968d:0:b0:2b6:c528:4940 with SMTP id q13-20020a2e968d000000b002b6c5284940mr10504116lji.3.1691507677036;
        Tue, 08 Aug 2023 08:14:37 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 0/2] xen/riscv: introduce identity mapping
Date: Tue,  8 Aug 2023 18:14:32 +0300
Message-ID: <cover.1691507564.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series introduces things necessary to implement identity mapping:
  1. Make identity mapping for the entire Xen.
  2. Enable MMU.
  3. Jump to the virtual address world
  4. Remove identity mapping.

Also current patch series introduces the calculation of physical offset before
MMU is enabled as access to physical offset will be calculated wrong after
MMU will be enabled because access to phys_off variable is PC-relative and
in the case when linker address != load address, it will cause MMU fault.

The reason for this patch series can be found here:
https://lore.kernel.org/xen-devel/4e336121-fc0c-b007-bf7b-430352563d55@citrix.com/

---
Changes in V7:
 - use srli instruction to be consistent with slli instruction in turn_on_mmu()
---
Changes in V6:
  - Update calc_phys_offset() after rebase.
  - Refactor turn_on_mmu() and a way how an argument of turn_on_mmu() is
    calculated.
---
Changes in V5:
	- update the algo of identity mapping removing.
	- introduce IDENT_AREA_SIZE.
	- introduce turn_on_mmu() function to enable and switch from 1:1 mapping.
	- fix typo in PGTBL_INITIAL_COUNT define.
	- update the comment above PGTBL_INITIAL_COUNT.
	- update prototype of calc_phys_offset(). now it returns phys_offset.
	- declare phys_offset as static.
	- save returned value of calc_phys_offset to register s2.
---
Changes in V4:
  - drop patch 	[PATCH v3 1/3] xen/riscv: add SPDX tag to config.h as it was
    merged to staging
  - remove definition of ARRAY_SIZE and ROUNDUP as <xen/macors.h> was introduced where these macros are located now.
	- update definition of PGTBL_INITIAL_COUNT
	- update the commit message for patch 'xen/riscv: introduce identity mapping'
	- update the comments in head.S
  - update the algo of identity mapping removing 
---
Changes in V3:
 - Update the patch series message.
 - The following patches were merged to staging so droped from the patch series:
   * xen/riscv: add .sbss section to .bss
   * xen/riscv: introduce reset_stack() function
   * xen/riscv: move extern of cpu0_boot_stack to header
   * xen/riscv: add SPDX tags
 - move save/restore of a0/a1 registers from patch 4 to patch 2 ( numbers are
   from the previous patch series version )
 - add SPDX tag in config.h
 - update definition of PGTBL_INITIAL_COUNT taking into account identity mapping.
 - refactor remove_identity_mapping() function.
 - add explanatory comments in xen.lds.S and mm.c.
---
Changes in V2:
 - update the patch series message.
 - drop patches from the previous version of the patch series:
   * xen/riscv: add __ASSEMBLY__ guards". ( merged )
   * xen/riscv: make sure that identity mapping isn't bigger then page size
     ( entire Xen is 1:1 mapped so there is no need for the checks from the patch )
 - add .sbss.* and put it befor .bss* .
 - move out reset_stack() to .text section.
 - add '__ro_after_init' for phys_offset variable.
 - add '__init' for calc_phys_offset().
 - declaring variable phys_off as non static as it will be used in head.S.
 - update definition of PGTBL_INITIAL_COUNT and the comment above.
 - code style fixes.
 - remove id_addrs array becase entire Xen is mapped.
 - reverse condition for cycle inside remove_identity_mapping().
 - fix page table walk in remove_identity_mapping().
 - save hart_id and dtb_addr before call MMU related C functions
 - use phys_offset variable instead of doing calcultations to get phys offset
   in head.S file. ( it can be easily done as entire Xen is 1:1 mapped now )
 - declare enable_muu() as __init.
 - Update SPDX tags.
 - Add Review-By/Suggested-By for some patches.
 - code style fixes.

Oleksii Kurochko (2):
  xen/riscv: introduce function for physical offset calculation
  xen/riscv: introduce identity mapping

 xen/arch/riscv/include/asm/acpi.h   |   6 ++
 xen/arch/riscv/include/asm/config.h |   2 +
 xen/arch/riscv/include/asm/mm.h     |   7 +-
 xen/arch/riscv/mm.c                 | 109 +++++++++++++++++-----------
 xen/arch/riscv/riscv64/head.S       |  44 +++++++++++
 xen/arch/riscv/setup.c              |  14 +---
 xen/arch/riscv/xen.lds.S            |  11 +++
 7 files changed, 136 insertions(+), 57 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/acpi.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:14:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580030.908295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOPx-0004k6-FF; Tue, 08 Aug 2023 15:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580030.908295; Tue, 08 Aug 2023 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOPx-0004jz-CM; Tue, 08 Aug 2023 15:14:41 +0000
Received: by outflank-mailman (input) for mailman id 580030;
 Tue, 08 Aug 2023 15: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=IVOA=DZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qTOPv-0004UR-KT
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:14:39 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4aae772e-35fe-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:14:38 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2b9e6cc93c6so88864971fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 08 Aug 2023 08:14:38 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 i19-20020a2e8093000000b002ba053e1f9bsm2319794ljg.35.2023.08.08.08.14.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 08 Aug 2023 08: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: 4aae772e-35fe-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691507678; x=1692112478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XVnapX6pJbuyIiJqPHyIE7upozAeCAUpzwk8pWdYKkk=;
        b=F45IcP//lDRI8/cXxnZYlW9HKIKiVcS2qrf7XQdv3kUb2RmiOD1XLwunLcM85kSwW5
         ECWtqCGXl8lIjZmkNXmH9oEHNoQyjG4rcNGXW0QxQgjEeZQo7EmQ19b2zzSTIb60ZBnU
         rQMG/Fhc4InsAfAOTk0aHj8NBvSCOw1O6gjk+zyLU+X11suCjrAg4IzVYcZMr9Axq9WG
         5oUYOOZoiDFSTmZddXXMtqoQF9KjGl/h0G/AMjmPFd+IlmMyXB39EOgGQ4vsTzFtVRZ+
         Qz/BiEPrIdg8cv15AyvlunAxWxHX5/uUFU9xm39qNjMxVM1sHhHcukLBtpe7qrMSAlBi
         AFRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691507678; x=1692112478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XVnapX6pJbuyIiJqPHyIE7upozAeCAUpzwk8pWdYKkk=;
        b=dUPcnWPXYClKV3RsBheJ/znN/r9krvUIRwEDdsWrI728o9FjjVkU0feYctjqXVU1v9
         XmWkYER54km05OdPCN2XAsxqYLCcxJlkPWn0WYnyaY5UXEoAR1pptKIwG213u+mqH18F
         rn/SkyybyRZqZiCHyEVJSanrdHdO8bUXyP1GlIDHnZkhQeoKxOgB/dOr596gQkX7Rren
         rO7Jrl0CWPnxsWmXtQ8nXyJzXWyMvte+rO/zyCFszZnjtOYTiLiHnf6MqRlBsHNwzAbB
         9IOXeHJNED3HCrDUg3/qkm5rl8vr+fTnFY9v2XCw47+avmU1EYujKuPzpRkhOKX22ywD
         ivBQ==
X-Gm-Message-State: AOJu0YwUhfNzwZRkMcQcdkkIsVoZiM6fVCWAbZ/Rmpx+EJtOaV8IVVGj
	OUjPrNPRUN8CggVUkhfU2CEwlya7e2I=
X-Google-Smtp-Source: AGHT+IFzCBnt4pdAkSiRqtYmX3q6Mntbuz8yqFz0Mml4QXcR3rKhYsF3I0dAe5a/yBsW7Ovkm7ENOw==
X-Received: by 2002:a2e:6a11:0:b0:2b6:a6e7:5afa with SMTP id f17-20020a2e6a11000000b002b6a6e75afamr8817605ljc.12.1691507677614;
        Tue, 08 Aug 2023 08:14:37 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 1/2] xen/riscv: introduce function for physical offset calculation
Date: Tue,  8 Aug 2023 18:14:33 +0300
Message-ID: <53d4251e79c5b4effb3a077d1b102c57ed1a10b3.1691507564.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691507564.git.oleksii.kurochko@gmail.com>
References: <cover.1691507564.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function was introduced to calculate and save physical
offset before MMU is enabled because access to start() is
PC-relative and in case of linker_addr != load_addr it will
result in incorrect value in phys_offset.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - nothing changed. only rebase
---
Changes in V6:
 - After 9380f06fe8("xen: Drop the (almost) unused extern start[]")
   an update of calc_phys_offset() was needed:
   - change start to _start.
   - add local volatile variable load_start to get properly Xens' load address.
     Otherwise compile thinks that (start - XEN_VIRT_START) is equal to 0.
---
Changes in V5:
 - update prototype of calc_phys_offset(). now it returns phys_offset.
 - declare phys_offset as static.
 - save returned value of calc_phys_offset to register s2.
---
Changes in V4:
 - update the comment messages in head.S related to save/restore of a0/a1 regs.
---
Changes in V3:
 - save/restore of a0/a1 registers before C first function call.
---
Changes in V2:
  - add __ro_after_init for phys_offset variable.
  - remove double blank lines.
  - add __init for calc_phys_offset().
  - update the commit message.
  - declaring variable phys_off as non static as it will be used in head.S.
---
 xen/arch/riscv/include/asm/mm.h |  2 ++
 xen/arch/riscv/mm.c             | 21 ++++++++++++++++++---
 xen/arch/riscv/riscv64/head.S   | 14 ++++++++++++++
 3 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 5e3ac5cde3..7b94cbadd7 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -15,4 +15,6 @@ void setup_initial_pagetables(void);
 void enable_mmu(void);
 void cont_after_mmu_is_enabled(void);
 
+unsigned long calc_phys_offset(void);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 99ed5e9623..a73f135a3c 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/cache.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
@@ -19,9 +20,10 @@ struct mmu_desc {
     pte_t *pgtbl_base;
 };
 
-#define PHYS_OFFSET ((unsigned long)_start - XEN_VIRT_START)
-#define LOAD_TO_LINK(addr) ((addr) - PHYS_OFFSET)
-#define LINK_TO_LOAD(addr) ((addr) + PHYS_OFFSET)
+static unsigned long __ro_after_init phys_offset;
+
+#define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
+#define LINK_TO_LOAD(addr) ((unsigned long)(addr) + phys_offset)
 
 /*
  * It is expected that Xen won't be more then 2 MB.
@@ -273,3 +275,16 @@ void __init noreturn noinline enable_mmu()
     switch_stack_and_jump((unsigned long)cpu0_boot_stack + STACK_SIZE,
                           cont_after_mmu_is_enabled);
 }
+
+/*
+ * calc_phys_offset() should be used before MMU is enabled because access to
+ * start() is PC-relative and in case when load_addr != linker_addr phys_offset
+ * will have an incorrect value
+ */
+unsigned long __init calc_phys_offset(void)
+{
+    volatile unsigned long load_start = (unsigned long)_start;
+
+    phys_offset = load_start - XEN_VIRT_START;
+    return phys_offset;
+}
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 2c0304646a..ae194bb099 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -29,6 +29,20 @@ ENTRY(start)
 
         jal     reset_stack
 
+        /*
+         * save hart_id ( bootcpu_id ) and dtb_base as a0 and a1 register can
+         * be used by C code
+         */
+        mv      s0, a0
+        mv      s1, a1
+
+        jal     calc_phys_offset
+        mv      s2, a0
+
+        /* restore hart_id ( bootcpu_id ) and dtb address */
+        mv      a0, s0
+        mv      a1, s1
+
         tail    start_xen
 
         .section .text, "ax", %progbits
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:16:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:16:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580045.908314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTORO-0006C1-0X; Tue, 08 Aug 2023 15:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580045.908314; Tue, 08 Aug 2023 15:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTORN-0006Bu-UF; Tue, 08 Aug 2023 15:16:09 +0000
Received: by outflank-mailman (input) for mailman id 580045;
 Tue, 08 Aug 2023 15: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTORN-0006Bk-Da
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:16:09 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7df3b75a-35fe-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:16:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7763.eurprd04.prod.outlook.com (2603:10a6:20b:246::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 15:16:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 15:16:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7df3b75a-35fe-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SQBjC7vEu6+GuCAPhOicdNPM3044slf9Xl/DN5Rw1KSRodK/NKZygtsmOC2K4Zs0maJK4iI/Uf5oSTGlOqBwci0Z3tL13Q2BvtxkbHITKZrUuPL4Ya1351LRIQ88vw0XS4R4OnX7VPycEgkJtQdgSfvnYr4W4l9FPdDvt6f76qxFwQRDKsvBgA5vo9KdCA3j0bhZb1Az0bIL9600iOlMTHbG2t/kyJ+swILEv2EBwmwKTPoE9fUYb82WHgLXIaWgo417ZLbdQD0pmxrBZykxqnT4KaTQdobmeh2RK6UlO0LdJ3BpxlP+ULOW+t0lSIENE/0BPhhFtqrQaKZcsLfJww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rPLem2qXu3qEoFuK1xBkTuhqviQq9n7waaPtSwXl7MA=;
 b=EwdcnfCH5by8vN4kWcBsIRbk8mSUQhQ++Cv5bYRnXxg/eNpHvIjBEhiWyyRSvACA3wArNp+FWIu9RnAkDZQgmJ7RLgbCiccGSQ2XpA4o6OAX4ruRZlK+ULorERyCCF2zBbGF28oEhEZ6tKcgz1XwvVsUNQTRso+OwfFn8dIIAjMTiUGeBfOm43bNU+5rXS0BLK2+LCMWJpZQr5w2aasB4agZLvoJwMefXKKDsWUYmuFHY8+2pm+Vqv9fwmvvBxpeVRseMd2x0K6P7yTeueZtT9urukoFx5/WQXNTNAfgN3WPrW7FvOTJulgS/MIMFlnqDkTg4poQbxJLJ5paL9tQOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rPLem2qXu3qEoFuK1xBkTuhqviQq9n7waaPtSwXl7MA=;
 b=bn1uCwJjaflYvKRHOgESJyXUrr2otd5CFTEbYuVHgD683eYPvp5CrSrr2otfsq+MUDbwK6dk8Etz2uvCkS4F4u0QpH9qgFJ35jw12rDiS4NKWqttkaeH3z2yieKEBy4wHuOxv2L7DjEbWUBhNzYAutlQOeM/4/2/sYdj5F+1idxmWrSawgeogySaMoWk6JrZiWYAg2VoZV7i3iUW7R271DNpAgvs5HcHn/ApNxV2LVycyrRNzFv0bcFLoewZHtSj2tRcQdUeOQmw24KXBwN2qy8kP78JmfeRgfQkoOJspCKoKYwfY45uw/3b3RwzEVnj0SK5CH7moqlz0VrmYt/YmQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e178e8f0-312e-961f-6f09-84305f07d528@suse.com>
Date: Tue, 8 Aug 2023 17:15:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7763:EE_
X-MS-Office365-Filtering-Correlation-Id: 1170767f-c3a3-4be6-b066-08db982260e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Aioq506w83RbALyXVG8D0epnx1w/NDvmq/Ih/E118LROABngKUZnlWYWp9hl8/b78szF5LgHi0Ly9CYwEIGAWSAQvnDELOrnLo9vjyi1IkEkuMDmiPLGPw4kFKEUV08CdiKT3QhveL8IUC+PVS+dXlwx4aUNwSiJ5HD1d7f71Jes153zAyq+qCbEb4jVcR6jScPeeiSWDSnGlpRBsiZstJ2T/SZzh+O35VJCih8StqsGds1iVKYIq5Gof3cPzN88cmu/9vH0UHskPHJYE+JlwwRZX1K5ohdTkBHugMwSeLnOeoXx8WHZnkZNu2pjd3k0K7s+cbIly5LcvJz5reAHgZsOYpSQCEdecV7WFR8moRJDAlBJ6QdbkWWhrdwANRkB5Yieid43ry9lTflPLM+iOt02VIl47/lKenrO2EJz5JlGsEXXMEkpndmZBk4AnGO8P+TPPqNIXsP6vVZ1dWGveUv/VSOFp1x617kW0f6pj1lk93I5Mi21Enowm6b9HhLdE/REyQ6fYOmk9UWJQDboWxRM/pX4LMExUbo9lPlFc7Y0NczJfo16eQgjgjum19LNl6VGcimCRjNEw001Jw1R0Aw4KuB2BqrDpo+jYeKv39QUu4Kr1PUAjFmSVFUZRt6ijTnEzLLZLt/JKF7N42aTgg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(346002)(136003)(396003)(39860400002)(186006)(1800799003)(451199021)(41300700001)(26005)(2906002)(5660300002)(31686004)(7416002)(4744005)(8936002)(8676002)(2616005)(478600001)(6916009)(86362001)(316002)(6506007)(31696002)(53546011)(54906003)(38100700002)(6666004)(66556008)(6486002)(66476007)(66946007)(6512007)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2ErODZPS3RKV3M1NXFuZy9iTnltTHQxUVU5UFBhcDU3S0Q3cmN2VEQ4OVZQ?=
 =?utf-8?B?RG9xTTA3Y25sdS9LcTdZZG5wK3dJSWErTm05MTE0b3lTNlF0YWQ3dXF4MFl1?=
 =?utf-8?B?U0xrQ1orRytnUElxeWIrSXBFUk5sME4wa0YyUnVOaGlkSWVFbFdkT0JSbk9C?=
 =?utf-8?B?U0FWb0oxSVdFOUhzY1dyaFMvM1U5clFZTFZDUnNCbVFWVVpKTDhpMWlkdVFE?=
 =?utf-8?B?Z0tKVXpLU1BWVGtyK21NNmxlaitGWVpZWU5qYnB2N1lSdlIrT3FhODVCOE04?=
 =?utf-8?B?VFlTc1BaSnVhV05henRZWWk3czhWOHU5c2Y0R09ZUU9STnRmOEZNN3UwdUZU?=
 =?utf-8?B?SGp1Wk5LVG9rUWY4ZjlUOXNXZHZwNHJ1cElvTE1yZ1EzTEtRTmw0YmtwaHla?=
 =?utf-8?B?Um9Ec0w4VitOclFiT3U4UUMwZDRTMnZxM21ocStycmx1eWxuWTYxUk1Fdits?=
 =?utf-8?B?V1FRSy9OdzFTQ2lFWXZHUDBQcUNYTk5tVFVVWkVNRmx6V3ZRWnpZWDJsVGVN?=
 =?utf-8?B?YXZjL2Zpb21rRnA1NDRRdU1ENDArdUw3MmNpUnppV043Z2k0d2Z5SzVDWjZB?=
 =?utf-8?B?MjJrV3RvM05Kbk11eXFYcEdaMGZ3SXVzUDd4VERVTjVValJnRmdWZUxqVDl4?=
 =?utf-8?B?V05oZEk4bEh1RWYybWU0WStOMDVmZkhzcFVaZENQTjZJZHM2Q0NsUTJoOEc0?=
 =?utf-8?B?VCswR1R4d1IzRnhmeU5uWkpPUmxkZFRBaHgwQnQrVDB3dWVsNWMxaTBITkFW?=
 =?utf-8?B?SldSakxZOVhMbGxMVWl2STB5ajFkSWFjVjREamE4eWpHQzZMRjAvNGFTd3Nz?=
 =?utf-8?B?anNFRmI0SnN4NTNXUDNiNGE0VHNRNmNnYTF3QzZ6ZFB1bVpPekRIZ082L2hZ?=
 =?utf-8?B?dWdTT2k2dFdkRVMwOTI5YzNpcjhOVnBxM0JzYXVrckUveXJ1S2JSdFUwVG1w?=
 =?utf-8?B?UGVjVFZwUk9ieml6M3N0bFB6THI3MElUUkVPTEZQVFFLc1Rwc1lHOXluN09k?=
 =?utf-8?B?YkhjTmlBbCtrMmZ1V1VKSWphQmFHL1FuUHNXOXZmREx2QmQvVlZvUWhSU1hz?=
 =?utf-8?B?ZUZPTkx4UTRYRVFHcmFURnVOSUlkN3hPUkhaOWNVcWx1bnlheGt0ZzdKWXJL?=
 =?utf-8?B?YXorSkdGdjZzNlVhRmEzZXRBeUV4a29qWWlxL25LbG14U2pUdGVJcnFuTExF?=
 =?utf-8?B?WTgrblRTZzNEaFhHcVJPUERnVjk2ZVI2SjhVWW1STlpBZEVWQnArM1NkUDFp?=
 =?utf-8?B?akI3MjVvU291VW5kb3AvWkFRSVdIMVBiNVNURldqZnFHTFZQRGYrZ1F3YitK?=
 =?utf-8?B?elBCUE9VeTllRlBwZ2dLT0FpYU1JYklIRGFVN1NjWHc1ZHJac3dDb0d3c0Rk?=
 =?utf-8?B?U0hNQ0VqTmRRWUpTc2dvQjVMcHI3YWlwN1E4bWtxY1oycGFSOGhGYzZjQVJ1?=
 =?utf-8?B?SEx0VWNjUXNxYXlzczF6RmFkd2xNSHluNnl3Qkd2MHVibTU2NmY2SitWM1k0?=
 =?utf-8?B?UHpZRzQ3RXFsRWZESFVSQ1Vtd1VrTUx6eDU0Vk8xUVVRRVhwZ1JObEtRb1Zk?=
 =?utf-8?B?WWppbWIvQTFTeEU4V1NrUXA1Sk5JSDdPSmtxSlRYa3V2TEloOEJGK3ExRUVB?=
 =?utf-8?B?NjBnd21mU0J2eWpRSHZLVFhZSjEvVFpJQU1JdWRWaVNueW4rV25WaEZUd2dq?=
 =?utf-8?B?eHFhQWxuTnV2RGlocG5ORlplMmI0S3VhanhrUksvOW81akM4TXBqKzZjWXlZ?=
 =?utf-8?B?K1JpOXk5TWR3djQ2dGRWYjFUbEUrV1V5N0NtTzBRRi9rVFRJZjk0UVlSUkN0?=
 =?utf-8?B?dlF4cXo0WWhnVFdTcENjVHhiaE80Z2RTL2taSS83WTlKQzZlbndmYWRYa3Yz?=
 =?utf-8?B?ZXc3S3U0UUdBakwvaCt3OHBiWXJvSW1mcE5Lb00xUnhlNjFTdzFsYWIwc2NI?=
 =?utf-8?B?bkVBYlF4Z1NVWm5aOUdJRUZKNjVDNmd1Z0J3UjROdFVEaGdCRDB4RGJ1eGJM?=
 =?utf-8?B?bGp6bTFPek1jeTFya1lPSi9uWFJzN0VaSHlTV0g0VzNFYkZMYlY5NzZFNFlT?=
 =?utf-8?B?MUZaNWNtUDhWSTUrZUVoMmVxRzdkZXdEUll3UjVzR2loNTBkTFQ2dzFZTklZ?=
 =?utf-8?Q?rlDhFV9arZHT+NIKRx87YO3dL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1170767f-c3a3-4be6-b066-08db982260e2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 15:16:02.6395
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: O1VK8i//DSwFiPoBIwZPR4XJsSQwrwHv6aVPWWWOGc4QybHne7JOKs6pbxLYT93NDdk98QHiz5NhtBbwZkujJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7763

On 01.08.2023 22:20, Daniel P. Smith wrote:
> @@ -1076,7 +1076,8 @@ static always_inline bool is_hardware_domain(const struct domain *d)
>      if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>          return false;
>  
> -    return evaluate_nospec(d == hardware_domain);
> +    return evaluate_nospec(((d->role & ROLE_HARDWARE_DOMAIN) ||
> +        is_initial_domain(d)) && (d == hardware_domain));
>  }
>  
>  /* This check is for functionality specific to a control domain */
> @@ -1085,7 +1086,8 @@ static always_inline bool is_control_domain(const struct domain *d)
>      if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>          return false;
>  
> -    return evaluate_nospec(d->is_privileged);
> +    return evaluate_nospec((d->role & ROLE_CONTROL_DOMAIN) ||
> +        is_initial_domain(d));
>  }

Why these complicated conditions, and not just the check of the single
relevant role bit? (Also note that indentation used here doesn't really
match our expectations, but there are other style issues in the patch
as well, which I assume is okay for an RFC.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:24:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580055.908325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOZl-0007nN-UM; Tue, 08 Aug 2023 15:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580055.908325; Tue, 08 Aug 2023 15:24:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOZl-0007nG-Rh; Tue, 08 Aug 2023 15:24:49 +0000
Received: by outflank-mailman (input) for mailman id 580055;
 Tue, 08 Aug 2023 15:24: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTOZk-0007nA-MT
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:24:48 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20611.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b575a587-35ff-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:24:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9677.eurprd04.prod.outlook.com (2603:10a6:102:24f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 15:24:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 15:24: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: b575a587-35ff-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XZiIfzy1WNlAn3kC2JdN7yNJIZ2QbtdYw3IRa4k/BFJrMMzWoJGqi+/RtAp/8kiWXx4M3uUVtLAy7C+LCWfK2jsdQguR3/xl1avq70KU0QfPmLEQVd1OsxqLHPilo0uOWMcMT5uI+ESo0Zm7YJNMx1ontHi/Q7IDEK4UQA/p/4x1NfthtWm0Ncbtk/U8dRZlwmWC5pOqJwxH9DEhjR6JRJXeMvyo87Ij4G2wdTGBYZKKfmAJDNLOjok0wyDMhV8V1/INNRsh8EqY7rSgShcHEGmFJSrxEftIWKIcY6dBo+bhFcXyQfBs7HiI/4G4vG1J8/r4dIbH3NPY6Mt7DuolfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Iac+cMqKUP/CLiNKEpV07tq09X8Swz8dmGF7ta92L0U=;
 b=aFqQzBHoCgmMyvV+04Ta2YOtWiLwMySaBfbcKU6iXqYrm4rFDAggn+6BOLL+k7ifyF+2slV6VxNc6Ik8lN73clToOxwsqWvf1j8mch8YVCzkizAbtYqiOM+4LqSz1ibB1N7u232ubwg3K2TA12rc5OLF8hMpH14mJMOnDboWfjiilyefxoIL8pe0NiixaVdGiPpwgI9i47m9geqVw8xDT7CUBP7GaXmeirZmZIMoGmI178TRaMerEBaGmE+nhcvTPQtYCqQ90BSkyBClSKEw8v7c3+PXL00cozhsOioGcHhmijzNklSjiKRoQssQg7l3126xfk59XFHPeK47EyyHiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Iac+cMqKUP/CLiNKEpV07tq09X8Swz8dmGF7ta92L0U=;
 b=ibJmsgdUUqSvATGYc1eoMEhArsqRrTmnEyJiWyN+q5Vw6sOiLz2zxmdLMiIzEPCxsQGGEt7bz/movFBL+QYnmEODqMxnfq43XGI7tu3ZZFMlEryLefiwOxP27dsDEeJMAAr6K2qbg2+CmI5AU+VGeVnQ/cr+E0p9gTCJxJBPjJ5AKkPFwO4uppJnujwtdRnvujWR+S3T7SlaZ+KPQk+7APduSnpNuHJZB1d37Pwsdr4lijgMJgt1au0KxuMO86DUXMcF55q7zVR1J6ZHLjloXXwodqHHXOMUE98Mm4JGG3n8Ml6TwPjBYaVih6zhZffX4bFmZhpAuoxNC+nBwNFJnQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72f6cdbb-44a0-d821-1b7a-607e031cde99@suse.com>
Date: Tue, 8 Aug 2023 17:24:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
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>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9677:EE_
X-MS-Office365-Filtering-Correlation-Id: 8698ef4b-dca1-40fe-179c-08db982394a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vg8iDqUa3s7aCqOzjxtjGMRLKk8/CfVxF/hmjS/B3QL83X/r5+ibp9shni0FSVSv5CZimVsKe32P75rxW89+Gib6df96KckGtnYtO43OJ99tzlVfrXLzXy/AJyOZAfnMjH07xGa99wtgAL2sccspnfo01d+f/BMgGn12qATGYjcSBjKiF7MeVF/0wzjhUPs4jvphLSE/Ic4ui5calkN8XmEhOR6LClTAtdahx9fxpwBbXtRhRlJGyiqyXCjBexu88TPN3+Rqpa6pO/5HayMikhymENaQesBLKSHXs+MLekKaLHtIN6JXIJo50oypihwpYAp1hf7Nf0Npfq/08gzWybU8DaLlvg519wrq8QPGLiKHOJC2pYOCsAAhvIjHlEEjec7DaABcl6TexB8EcnOUA/pLfmKAHnwrre68+nm5w1ZXhpPf5PhGbv3QamEH0SBjSgidrbk6Q+3H+c+DKJU6TXHBscI9S+3t5HaO7H3gi9T2uWbSJ1q7b8dcChJcvEy3R7IoLhwgoDs9uDfzxC4aau4oPktoxs2h1/SrgcWO3Tj+RIYwvALI9RgrcSYtVIAojWT56XX6tQBvaNWGuz2micSPogJ0ST0iNJZkSbv8NCcZyUpJPJYEl5hE6Vi18EA9+m09nbf9Ak9DdrgxbCTozg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(376002)(136003)(346002)(451199021)(1800799003)(186006)(478600001)(54906003)(83380400001)(31696002)(86362001)(53546011)(26005)(2616005)(6506007)(38100700002)(6486002)(6512007)(36756003)(4326008)(6916009)(66476007)(66946007)(5660300002)(8676002)(8936002)(316002)(41300700001)(31686004)(66556008)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWY1ejdnb2NDQzhlWGw5UmN0eG1telRiWnc1bzRxUWtIQ0RrbmhEMjlvdHdW?=
 =?utf-8?B?UEZJSGpLM29FU2l6OVhmc3ZOTkFYTFZ0b1htVXM5bjcrSVV0Y2k0VG9QSEJn?=
 =?utf-8?B?L2cwYytuNUhWeWdDMGVVQ0xPVEN5ZnFGM1J5QmROd0JKMzc3Rno4czU3b2Z6?=
 =?utf-8?B?dk94SG53dHhMTGNxM2xodndKci95SzlJZm52MnJCM2tqdlFNUjl2WUZXNExX?=
 =?utf-8?B?S2VLamZMdHdROFlXeitMS3EwOHhIR2FGOFdCNXZ0SmdwQXBSdTBwbHZSVWNz?=
 =?utf-8?B?NjNVb0FkYk1BbDB2MDNYc2pIVHFyVUNZNDRmQzhkbkZCYTdtUlBoK003ckVT?=
 =?utf-8?B?M3BKNTIwbzE4NkxrOE5DSlN5dCs3OTV4Q0FQVXREL240OElIQVlLOEJScWli?=
 =?utf-8?B?cXdwN0NJQlgwZ1hpVUNjOS9qUUw4MWNUVllUVXpzTm5GLzJiTUdnSUxya3h4?=
 =?utf-8?B?TFRYRmFhL1hOUk5Sb1J1OW8rbWI0bzJwQ2NHWXM4WGpYR2dYaVQrMjJKWEVl?=
 =?utf-8?B?cHlJYjV4M3pMa3R0TkN6SHBkRjgyUXdVLzZaOExoNjl3Z0tIdEx0WjhKNUFC?=
 =?utf-8?B?aDkrQ0p6d3J3VmxMTGpXa01MOGJEdVN4OW53eEJDSUFJdEtMakdxWGhSdkJ1?=
 =?utf-8?B?N3cwekV6dTZ4VkxYWUY2ZUhibkVLWlRVWTVRYzViMnBqMFJKSUNTR3dtSGEx?=
 =?utf-8?B?OE1sSUdjaDhYelFwVHZBRlNlaU1SUjV0b1p4Vjh4eDJiWlNWK09FVTZWWjQw?=
 =?utf-8?B?cjQzcVhPaGRHMW9aajhYQngwVjg3RG1OdVoxRysyc3UxK1FhYkJ2Z0RCdWpn?=
 =?utf-8?B?NW1lRTVvY0dTRTdhMlczS3ZFQnN5eVMyOStDY2ljV0x4K2o5YVJUZEZRb3dP?=
 =?utf-8?B?SjhGZHdWZHVZcDJKVmNVclFEWWN1Z0NDUDZmZTdwcWhkbi8yN0c4ZnFlOUZh?=
 =?utf-8?B?SHNGaEpFaitkVXV2ZXNVMjdURCt4MWNyY09iRCtTaWFnclgvWHVSS1hqSERs?=
 =?utf-8?B?YzY0Yk9mVlQwQmE1UzNIM3BtbmpLQ2ZlYWJpVzJoUXBXT2hxZ2poTkJkUXg3?=
 =?utf-8?B?czJCbWNlMnliQlAyRm1zSHJOeTlZeDFWU3EzKzlyQVR0dUNpL205eExtZC9P?=
 =?utf-8?B?RUNkR0xjd0loR2h3dlVTcWZFMmtLU1lpRVNzWEtZeU9xNmRGOGNkdjRzdEto?=
 =?utf-8?B?L3JETG1kZUhpREgxeTBCdTRGdGY2SmVHS21SZWozR29QNkZWVXVacTY4M3Zr?=
 =?utf-8?B?cUNQOE1EMktqMFVzVXBiVk1WTXpZaGtEZG1XN29DOVNFeEFMdWhxbmV3NDZo?=
 =?utf-8?B?Z2tBM3FaRFg3UytTaU5JN29WTlJYSTlvaXM5U1N1RC9zMFdCbmJqMTNOM3Qr?=
 =?utf-8?B?ZGN2Q2E3b0UxQk1ZR1FBWkx5ZkgrMCthUjV2QlMwR3BybndLUTd3dEN4VHp5?=
 =?utf-8?B?UldsRXMxWDdlaWpHVllJY3B0Q1JEN3NId2JNQndYT3BDSENlaGZHRWF4ZWxm?=
 =?utf-8?B?YTJySmNCOS9pbWpHWFUwRjdVSjk4SC9CRFdHOCtuZGY3Skh0SXZVbkJzUUkx?=
 =?utf-8?B?aHU3NTI4MGd4ZGUrVlNLSkdvQ1MzaXVDdnA1c0x5K0R4cm9YVDJGYlR2d0xm?=
 =?utf-8?B?L0dJKzc3Y0prQm5jU1NSUHMyZmFYbWl6WG9TMmJydUR2U0RUNXdkS1AvTm9Q?=
 =?utf-8?B?eU9yeXpxZVFrekJmMWtkNDgzZEJ0eG0zZ3pUdjZiS1EvRUFtYVhBckVSTGdI?=
 =?utf-8?B?UXc4MFNYUWFkT3gwbDAvRUw3MG9KZ2pqNmFBYW1RMS9ZSW9vUmhkWkpEVkNi?=
 =?utf-8?B?Z0srVjRCVjVwd1lkL0VrR2JoWFZLWUw4dURrdVBOR1hYRS9aZjBWeUtpNWd4?=
 =?utf-8?B?dnhHcWc1TFRhUmcyT2xQTDdIWU9KNHdkK0ExVzRsMmtIenJ3OFF2Z1BSdThh?=
 =?utf-8?B?UUNDYkx6WElUTGppOEtuNHRpazBpajhIQ3N4aDZCL29taHNKRDZkNmhMSlpT?=
 =?utf-8?B?L3FWV3RhQW4zaGw3NDlZZEdnMHN2akRXS05scDRmWUcxdlJJRDgxaWZPUW5h?=
 =?utf-8?B?R1dIRzZ0RGxETjczbkpSTGFDcEtZK1BrMjdqR2V6TjNMOWwyNCtOdGJqd2Ro?=
 =?utf-8?Q?QsmgHbapy0I6Nmcz4RJlqUO3s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8698ef4b-dca1-40fe-179c-08db982394a4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 15:24:38.9468
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eJ12R0ZmOgZVboXjQMPmgxgqj7JirTa3hdthTWkNBRF+Zi7OvAcqsxHADfHDQ1ggP9QorP6mh76npD1C92Cy2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9677

On 01.08.2023 22:20, Daniel P. Smith wrote:
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -472,8 +472,8 @@ struct domain
>  #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>  #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>      uint8_t          role;
> -    /* Can this guest access the Xen console? */
> -    bool             is_console;
> +#define CAP_CONSOLE_IO  (1U<<0)
> +    uint8_t          capabilities;
>      /* Is this guest being debugged by dom0? */
>      bool             debugger_attached;
>      /*
> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
>      return is_hvm_domain(v->domain);
>  }
>  
> +static always_inline bool domain_has_cap(
> +    const struct domain *d, uint8_t cap)
> +{
> +    return d->capabilities & cap;
> +}

What you implement here is effectively domain_has_any_cap(), which I
don't think is of much use. At the very least you want to assert that
cap is a power of two. But perhaps you rather want the caller to pass
in a bit number, not a mask, such that it's obvious that only one
thing can be checked at a time.

> +static always_inline bool domain_set_cap(
> +    struct domain *d, uint8_t cap)
> +{
> +    switch ( cap )
> +    {
> +    case CAP_CONSOLE_IO:
> +        d->capabilities |= cap;
> +        break;
> +    default:
> +        return false;
> +    }
> +
> +    return domain_has_cap(d, cap);
> +}

The "set" operation doesn't need to be an inline function, does it?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:25:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580057.908334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOa9-0008Fr-5i; Tue, 08 Aug 2023 15:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580057.908334; Tue, 08 Aug 2023 15:25:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOa9-0008Fk-3E; Tue, 08 Aug 2023 15:25:13 +0000
Received: by outflank-mailman (input) for mailman id 580057;
 Tue, 08 Aug 2023 15:25:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTOa7-0008ED-9h
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:25: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 1qTOa6-0007wL-DC; Tue, 08 Aug 2023 15:25:10 +0000
Received: from [15.248.2.255] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTOa6-0000Vm-6e; Tue, 08 Aug 2023 15:25:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mhSkcYjKzdM1A8cSCbo8QWS/K4QuN9VbXSR/mvklOw0=; b=FdHsyD3E6xSLTW03K+nKX2/lT/
	lGroxu7TRFv0oGe1YVXZyZE5C/mPnNs6+GWVkp9Po9wD8QIJAk4QskEWrwtFc/k8wQTJCQ6dN2RFb
	73/leSvX2hRG+GsDJYk25VaSmXj4QhzKLUFvLBXiyva4tV/Sq4RLHVzuoRSRdZIqEw2o=;
Message-ID: <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
Date: Tue, 8 Aug 2023 16:25:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
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,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli <dfaggioli@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/08/2023 15:38, Nicola Vetrini wrote:
> The break statement after the return statement is definitely unreachable.
> As such, an call to the ASSERT_UNREACHABLE() macro is added to signal
> the intentionality of such construct.

How about using unreachable() rather than ASSERT_UNREACHABLE()? The main 
difference is the later will hint the compiler that the code cannot be 
reached and will not crash Xen in debug build (this could be changed).

> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> The break in the clause is mandated by Required Rule 16.3, which is
> not yet an accepted rule for Xen, but may be in the future.
> ---
>   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 022f548652..fcee902b4e 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int cpu)
>           /* fallthrough */
>       case TASKLET_enqueued|TASKLET_scheduled:
>           return true;
> +        ASSERT_UNREACHABLE();
>           break;
>       case TASKLET_scheduled:
>           clear_bit(_TASKLET_scheduled, tasklet_work);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:30:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580067.908345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOfO-0001Q2-Oa; Tue, 08 Aug 2023 15:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580067.908345; Tue, 08 Aug 2023 15: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 1qTOfO-0001Pv-Lu; Tue, 08 Aug 2023 15:30:38 +0000
Received: by outflank-mailman (input) for mailman id 580067;
 Tue, 08 Aug 2023 15: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTOfM-0001Pp-VY
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:30:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 850c52f2-3600-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:30:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9741.eurprd04.prod.outlook.com (2603:10a6:102:37e::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 15:30:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 15:30:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 850c52f2-3600-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OcPcTPG+xXurrrJTlJYv850/j9QoH3YflLGl8DB2pcbQ8gMQ615IxvI8+C3PbTAdyeFf5iTXNFP3c2BUVUHMdPvih+AATNPufBSc6iuYyJeJ9ECE5n44E38Rb/v/sOw+NMMYeFFIfrn/mMhyizHFC2DRHAPUGZeRBa8lIVYYS451sNkWP7FU6/f4kZ7x/d5SGuulMQVRWtThJ3i05vAh0Q3mtcsaB6BKaCowh+Ga6cLCQYyyLZHy8jF06lF+6bW0nbVgWLyolwk4mQK9NGcS4ikgWg3+Ac5R6Vl5rbpJSIGYNq1rvmemQymmmj6yEvT7mg9zKUOl4bGYwDEn/bmUNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kt2S1S0jn+nKaJ0uq97aWIlcDX7aRs+BnFNHWu+f7zU=;
 b=Tf9iYGH/3v2W6gfKboLZVTun9IaA9AmXUwjbHJJHI073E8rnuMf8SZlx2V+juaWo0IL6rNqYFwAfJBWvjH/XACBNb/UFBwx8w/n61jll9n8/qwX4BZgTAwXF+xOwvPQYwSRb1gCu3bb94nJyIOhoajy28CQgcs5VnSy46ikufLehrI4+PCRlECdYa/21oROsBmmahZgqZ7pHtJKcVoP+qYo/0wkmtTjTWG1+O9VlAPJQzz6WGh06J3f6hyy4CKPk3944stDRCra8U1scpkeqAmJpgeL2t7a1C5jKtoqwE77KUUs+yMhc22MuxIvQnwV8/nlo9yvU5RVs4ukwB62nOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kt2S1S0jn+nKaJ0uq97aWIlcDX7aRs+BnFNHWu+f7zU=;
 b=gE32Oiiq+eZqSLogueGcFaF0jekvc5YjrIgeR3fXeYNvD7vo0WPegRrApCZQ8WwjyvP6dy+UZ2LrqOL2c1AEn2s7n4kqyan4Z7HqoiZyX3yFnQOrrN0sew3zEdvWHDPqjT7IOgE4xqV/3K4w+nYf5d+SuI8XKrdi9xmH186e3hEderutAd14ckYGuXvAv8drHC2+iczoyzFYdEL1wPh01haOUweImqMY9hyNModABvdWcq6UcOtO7O9pnbJ5V/asidpdpItbhn0qe4sroTmVoLeBeHzhmPuALAaltb72AvRHgorXOqTFaSy3a0aDenPNOa7wgxrQVOsAWtnwSoxEbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93750d64-07b3-2a92-4851-bcd5bda9a0a5@suse.com>
Date: Tue, 8 Aug 2023 17:30:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC 5/6] capabilities: add dom0 cpu faulting disable
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-6-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9741:EE_
X-MS-Office365-Filtering-Correlation-Id: 979ac47b-d4df-4fac-33f9-08db982467dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AyFeoiCtu2bnJuOmjzW19TQNYO/8r31DRwEFBDklVh0niMP9xVJmoDA8nh5Afh7sCFBdelwHOYGEjmuXguOjWhe1lPoPEoWa221UgP4DhlZriaugTqHApnaJGICgpyyEUWJdHz3DKmeJ8pFvSC0OplNCiDDjLOq8h731xb2ISSDk7ruImZRXwBp9CgkTQ+uwsgcmH0mq3jpOqcy0SkyZds8lg+gvUYFo7uhfgufax1yMWMievMI5akpNBiPUpYmeANP3iA1mm8lFzag7BV4pUzbe3aCl7xM/yC6FXZsmgsvVX+qVUffwq/QpFLZ5bQvLYTmGGqPrSn6PMQ+MuiWY0qEkQ6JfxV0krW73bWpO1ai3/AYJpVawB0cb9BSyqgksfZfNEtF4DIUAZxoiScGRi58FVA8jFUkIlf65JdEM34VTZvYcpAAbuOaEmwJuI7lcdJ/X0stEDCa5quOjXBclj0xl1285GIgr2474G/o/shPG6G8dAcGRRfifCPCAfkFcFcQfW3yt28CSsQ1vAjeBgNDzK2bVh4S/XZR02h/kJV5eMuOpkoSCpG8payQVYZ7ww4x4NMlcr3m3cr5U5/de4zUTwySbVcgZfTHHnZ+JyztiZQbbFCdFofJFopezgAg44C45llp6YY4+9lSItDQo4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(346002)(39860400002)(366004)(396003)(451199021)(186006)(1800799003)(2616005)(38100700002)(6512007)(478600001)(86362001)(31696002)(6486002)(26005)(53546011)(6506007)(36756003)(41300700001)(5660300002)(8936002)(316002)(8676002)(54906003)(4326008)(6916009)(2906002)(66556008)(66476007)(66946007)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QklaTk04MnV2ajZXa1RLZFRjdW9YQ3dRUWxXakNpUVdTRU5yMWZlKzlNYjJX?=
 =?utf-8?B?TmdPL2NNUzVZOG90ekVTdmNzY1FrUUpvMzF4a0pwdTRXeTNhTzQ0Nm01VFF0?=
 =?utf-8?B?a01oQkRVbytjYVFjLzBVZXBJRzVZNWdSVERVWVo0ajhaSVI5cVp2TEhuSDM2?=
 =?utf-8?B?ZlZwcFpPTmtSMFRhRUFZaU1aeHhCMzgwdXVwUWJzOEliMTVGQWlzb3hHeUVC?=
 =?utf-8?B?MGFxMlVyVnlnSjJqUEp2aUlPQVFkL1djejNZRnM3ZHYyRXBvN3hXeTFIZUJh?=
 =?utf-8?B?elA2VzIzU3JZcVVsVFJXYnpiUFZvS0dpZ2JGV3RTbXdxSG5aLzZobmJVVVNu?=
 =?utf-8?B?cXFJeStwTmtDeEcyb0oxbmFmVzZIMFE4Q0RVY0JjUjR1cjZHbEFWczA2OVcy?=
 =?utf-8?B?UStIcU1wZ0ZSRE93alltK1BZRHZKK3NPSVdWaXY4QWp2YVhIV1h6ZHgybExw?=
 =?utf-8?B?NUwyN2RCTUhEM0N6WCtGc2NnbjRGUDJkQmdYOXdlWEUrWTJuTlVHTnNsNDRy?=
 =?utf-8?B?RlNsbFRPSXp3a3QvNFBIUnRtUXFzK3JrL1daN2lTWjFnZFNBUGY2UDBLQkUr?=
 =?utf-8?B?ZXo4OWRDampoUXgwOTFtMTYySkxSL0JYZmd2RFNpOGhSa0MrYVJLY1MzdTFn?=
 =?utf-8?B?aXVucGNUbTA3QzR0c1RiUGY1MXlVQndQbEU1SzVnSkdKNGVsWlUvV0xZL0Fn?=
 =?utf-8?B?Y0N2MWhmRTMvZGJaYnkzam1WK0NnOXRLZ2dsTUpQM294S3FDbUxDN0s1bDlK?=
 =?utf-8?B?UGFsd0FnMTUzT2dDdFJYbnhxYlBteUdGK2thaUd4Z2gzYmtJU1ZNUWpGK2hM?=
 =?utf-8?B?WGNFejk3WFY5cGtSTWthQ3NrSmhRd2VWTm1JYmwrVktiY1NldXREUlB0eGlu?=
 =?utf-8?B?N1dwNkJBazNCN3gyL0QvQTZ4N3k1VEIwQmtzSnBHTms1VUROc0RPYTgyekU4?=
 =?utf-8?B?UXpPcXpEMmp3cFFkczhvdFpXY0YxakhRdGJyVTc0c0dTbGdiUXIvUDIxdTY0?=
 =?utf-8?B?Q2FtU3lwck8xdk9KM2tUOXpaL2o1L3lGTGY4cVh6THd6QzdjSmRtS3JBc0VJ?=
 =?utf-8?B?d1VOdHozVnhyRFBOcWFCNHlLY1ZvR2VwT3VOQno0ZnQrVlA5d0VlMnN3elNS?=
 =?utf-8?B?aHRDaEF3bWZRaWQ5YUhBTkVta0FSSVR5b3dZclNkY3hvS2twcU1weFp4K0JF?=
 =?utf-8?B?LzV6eEY0dFg5U1d3RjdGa0RDRHYzdkpIY01xQWJxMFV0a0tROE9SVTFFWi9M?=
 =?utf-8?B?TEpxOVlGZU5TZFBRT2paQnloY25NUC9XUTBMZHFoOExiZVczYTVGY2ZjS3Yv?=
 =?utf-8?B?ekF4MFFKVDl0Tjhyc2FKZ2VKeEJvRWh3cENxbWNDeU5YS0xlSGJxVklONGg5?=
 =?utf-8?B?MGRZQkkrNk9sZEk1c3c3NTVvYWtaWjBrUWJHUk00Q2t4UTFNYUNJOTNOYUxZ?=
 =?utf-8?B?TUZtbzc1bEdkZnR5NDlZRnErWGl0TTY0SXdQQ1lFbnkzdG00UnpNdEZ5U2Rt?=
 =?utf-8?B?d1E1Zi9uOGh4OW5NMTQrWjRWSjcvdkxMYUlZbDVmSXpLcW1QY0FUYW5VMmZN?=
 =?utf-8?B?MjZBNzV5Sy9Sd3luZEl3eFJmSTg0R2RaTDgwSWphTkdzNWdBeWhSRVZWNVhQ?=
 =?utf-8?B?ODRCRWVMWllsTXJvanN4VFY3Ym1yQVZERkFlTDEwRTJWUFp1UmFWMnlPZDhI?=
 =?utf-8?B?VWR0Ukc2em5nR0JwcGpXTUZTU1JJZk5ZWVVJb0gvaERXQTZWTDY0Y0MxZW9X?=
 =?utf-8?B?Z2pMek1XenpKWVNnZ3FhRUxQM01PVHVZUWhKbjF3R3hGY2RTQ3Y3NUtzNVpi?=
 =?utf-8?B?Tjk1eUp1dTFQeG1ubGxmMHBlZjB1NS81bzZxTGlUN25QOU1KZzQ2b29NS3Nl?=
 =?utf-8?B?UysvalBEeFZTeURHalhSMG5SQ3B3Rk0xaHYvRXZ1TVpOWHcvM1FNMmVoRld6?=
 =?utf-8?B?dC8rYWNhdFhkSnc2T0Y2blRiMjRGQTVZSGozU2N5NHZZdWdmOWNGeFpiTDg5?=
 =?utf-8?B?RWdJMnlUY1FJbmtmU3JmTStHdWduRVNjZFJQVHA0cTIxS0R0NmdzTWVhcEhZ?=
 =?utf-8?B?bCtpa21UQlk3N0JHOVUvYmtWVEhBcTUwM1hveGorUGc4aFRCa1lxYnZOUVVq?=
 =?utf-8?Q?YTU/sbExtMfz41lw0BCy7xw2L?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 979ac47b-d4df-4fac-33f9-08db982467dd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 15:30:33.3242
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KO/JT6lmkSy23azeYtj2VYfw6nJYoJLUsabBOtq1oqwBlJQRmjSbtH/uD32upj4KikH3nELXdRdwh3ucbq0lbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9741

On 01.08.2023 22:20, Daniel P. Smith wrote:
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -164,48 +164,46 @@ static void set_cpuid_faulting(bool enable)
>  
>  void ctxt_switch_levelling(const struct vcpu *next)
>  {
> -	const struct domain *nextd = next ? next->domain : NULL;
> -	bool enable_cpuid_faulting;
> -
> -	if (cpu_has_cpuid_faulting ||
> -	    boot_cpu_has(X86_FEATURE_CPUID_USER_DIS)) {
> -		/*
> -		 * No need to alter the faulting setting if we are switching
> -		 * to idle; it won't affect any code running in idle context.
> -		 */
> -		if (nextd && is_idle_domain(nextd))
> -			return;
> -		/*
> -		 * We *should* be enabling faulting for PV control domains.
> -		 *
> -		 * The domain builder has now been updated to not depend on
> -		 * seeing host CPUID values.  This makes it compatible with
> -		 * PVH toolstack domains, and lets us enable faulting by
> -		 * default for all PV domains.
> -		 *
> -		 * However, as PV control domains have never had faulting
> -		 * enforced on them before, there might plausibly be other
> -		 * dependenices on host CPUID data.  Therefore, we have left
> -		 * an interim escape hatch in the form of
> -		 * `dom0=no-cpuid-faulting` to restore the older behaviour.
> -		 */
> -		enable_cpuid_faulting = nextd && (opt_dom0_cpuid_faulting ||
> -		                                  !is_control_domain(nextd) ||
> -		                                  !is_pv_domain(nextd)) &&
> -		                        (is_pv_domain(nextd) ||
> -		                         next->arch.msrs->
> -		                         misc_features_enables.cpuid_faulting);
> -
> -		if (cpu_has_cpuid_faulting)
> -			set_cpuid_faulting(enable_cpuid_faulting);
> -		else
> -			amd_set_cpuid_user_dis(enable_cpuid_faulting);
> -
> -		return;
> -	}
> -
> -	if (ctxt_switch_masking)
> -		alternative_vcall(ctxt_switch_masking, next);
> +    const struct domain *nextd = next ? next->domain : NULL;
> +    bool enable_cpuid_faulting;
> +
> +    if ( cpu_has_cpuid_faulting ||
> +         boot_cpu_has(X86_FEATURE_CPUID_USER_DIS) ) {
> +        /*
> +        * No need to alter the faulting setting if we are switching
> +        * to idle; it won't affect any code running in idle context.
> +        */
> +        if (nextd && is_idle_domain(nextd))
> +            return;
> +        /*
> +        * We *should* be enabling faulting for PV control domains.
> +        *
> +        * The domain builder has now been updated to not depend on
> +        * seeing host CPUID values.  This makes it compatible with
> +        * PVH toolstack domains, and lets us enable faulting by
> +        * default for all PV domains.
> +        *
> +        * However, as PV control domains have never had faulting
> +        * enforced on them before, there might plausibly be other
> +        * dependenices on host CPUID data.  Therefore, we have left
> +        * an interim escape hatch in the form of
> +        * `dom0=no-cpuid-faulting` to restore the older behaviour.
> +        */
> +        enable_cpuid_faulting = nextd &&
> +            domain_has_cap(nextd, CAP_DISABLE_CPU_FAULT) &&
> +            (is_pv_domain(nextd) ||
> +            next->arch.msrs->misc_features_enables.cpuid_faulting);
> +
> +        if (cpu_has_cpuid_faulting)
> +            set_cpuid_faulting(enable_cpuid_faulting);
> +        else
> +            amd_set_cpuid_user_dis(enable_cpuid_faulting);
> +
> +        return;
> +    }
> +
> +    if (ctxt_switch_masking)
> +        alternative_vcall(ctxt_switch_masking, next);
>  }

I don't think I can spot what exactly changes here. Please avoid re-
indenting the entire function.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -907,6 +907,10 @@ static struct domain *__init create_dom0(const module_t *image,
>  
>      d->role |= ROLE_UNBOUNDED_DOMAIN;
>  
> +    if ( !opt_dom0_cpuid_faulting &&
> +         !domain_set_cap(d, CAP_DISABLE_CPU_FAULT) )
> +        printk(XENLOG_WARNING "failed to set CPU faulting on Dom %pd\n", d);

No "Dom" please when you use %pd. Also I don't think you mean "set". Plus
we commonly use "%pd: xyz failed\n".

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -472,7 +472,8 @@ struct domain
>  #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>  #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>      uint8_t          role;
> -#define CAP_CONSOLE_IO  (1U<<0)
> +#define CAP_CONSOLE_IO         (1U<<0)
> +#define CAP_DISABLE_CPU_FAULT  (1U<<1)
>      uint8_t          capabilities;
>      /* Is this guest being debugged by dom0? */
>      bool             debugger_attached;
> @@ -1160,6 +1161,11 @@ static always_inline bool domain_set_cap(
>      case CAP_CONSOLE_IO:
>          d->capabilities |= cap;
>          break;
> +    case CAP_DISABLE_CPU_FAULT:
> +        /* Disabling cpu faulting is only allowed for a PV control domain. */
> +        if ( is_pv_domain(d) && is_control_domain(d) )
> +            d->capabilities |= cap;
> +        break;

How do you express the x86-ness of this? Plus shouldn't this fail when
either of the two conditions isn't met?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:36:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:36:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580073.908355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOlS-000230-Eq; Tue, 08 Aug 2023 15:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580073.908355; Tue, 08 Aug 2023 15: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 1qTOlS-00022t-AV; Tue, 08 Aug 2023 15:36:54 +0000
Received: by outflank-mailman (input) for mailman id 580073;
 Tue, 08 Aug 2023 15:36: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=/GY6=DZ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTOlQ-00022l-Ge
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:36:52 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6499cdf9-3601-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:36:51 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8952.eurprd04.prod.outlook.com (2603:10a6:10:2e3::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Tue, 8 Aug
 2023 15:36:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Tue, 8 Aug 2023
 15:36:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6499cdf9-3601-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mva2z9WvqJl4epr7zZuY5uudnGMKwiSpuHbe7wTO4/hy7c6556cGbzZIbl7RXcX8RitF2XbrYBo51O74aXwDwZ99TcziLuSjC++Yp8um4PfVTRaHrIcWDF3qUAVD9S13/aHJ6psn9bgQVDkKLtu4XWgb/eottV1Ypg7JbMeLytsDWr5+5r4ROsDewyA82WleacCHN3q1gDo/GTED76hffqcJBgmUMa1lxx/fR6f6JLft46AbAsoHrXxJgs7R0DvFyKk4OmxrrN1riK7LDlyEszBnQmbG9MqTHrMwvJyREqKOekSay3hH0Js5NloQVpg+/c671ZNtSjlC2zpckMQdIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0SflO+UEOlwdotTVRSMKPXjDifvAURaeLbRt7mtTpIw=;
 b=WZ8xfzKNFuJh64FfhyuGh8ofq8Gf2mZHpS2ubF+kz1UFgt4/dbxaEV4TfEjFebpn1cKoIvLewLm8vVBxgHa8njT1STajOLG3LAwkSPyVgQqUJ0w4y+u0Izc3CX2K1ZvJWL9rX/rN3sNDy8rJ1lAgdqGA0rIcUsn6br0HO6vkAiTEoLcBiO2xhM++ABxIgXP/YH1cjfdo//ld4ne5R2MYV3+AyGbqIhvznbJHdA3m6zN8jkD9evjLTpTnDAUakDtXkgt7+1J28Ra/dHk16t3xtD1dfvQC9DtBQW470/6qu739xmhzzP7TLh8nds2G4ksKKLaRDFZWobLqFKrAFtGqhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0SflO+UEOlwdotTVRSMKPXjDifvAURaeLbRt7mtTpIw=;
 b=Hyf5UP3cLL+TLikl/Z2lbWyorzoFLZDKeK2r3mVM6pYBZOCWT/LxxMe5m4pSjzSPlxZqhQyvX6WwM+u7CnvVvqzNZUQdGemfRNldSxFJ79YcbcnRGHjz/5U8FvQ61B52sC35QCnW3+kaXpft8fgXhXiWQNc1idPP1RC+jHLrHOLiIKngT3/XRVISoVNxb+9aKMS5et032vlElOeXR3T4cyeKuSCwYljMaCntI5QCRNv60Jl94o2a7nPZbgFSZcwTvk30ClN03j53HNocrk870zUayZspxKd4VVQVTH+s82081OUYuU7tDkg/90SKqNtw/5nbThSiKsnYUhoP7BMvyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
Date: Tue, 8 Aug 2023 17:36:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8952:EE_
X-MS-Office365-Filtering-Correlation-Id: 82fcdb77-b364-44f2-f4d2-08db982547a5
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EqgEbG5klXu4tjqD9fD/NS2YMM+9MmP7plu+Ia41rJ04hLZ9B47GPizTil4Ee8VE80iUjdA3vfQVjwVeLycyc9Z17aRQXyC1mZvb4SDvNGY536anyRoQLbyaL2wKqc6c6a+IueyOy9tmoiybZWkUEmzMzW2ADOtui6Ny+tb/aTeY3y3eufait0VRsWX/jG8bpg4xiavQMOwYRNIbNBuNP1W0Esmknb1aL+PvJrkW6fX9hm1c17CYYSZX8efcSitDC/kd0yI6+cI3g0Jlr9EjI+yGCvVjYBnEtYUIExJVkuGKG1lcCFTHe+SXVRWdSNTPnoVBFC7IPHXHy5Ibuwj7BV6OayogYchTcJD/ranNuZOlBVPUDxGYhoqi3eve6vTSw3VtlS/oPNg1MA+gEIAGhFlLrLqSqcE8A1RywpLkue8b+YhD8HjP023rndOtWH0NuHoGgi3Wp4yBT6T1nZcCvA3LcdY6df1qVn9mgQNGmawpfPIB+Rn0ct6x00OvPni9dkMq3IzLiKmn8VjBn8VqERQe0hK9m8uwrbfRrZkr9X3e3IrcoXpRHYoO2V9qZWEDmQr5KUWJx7UiZ40piUUXPy0j8Y5AssypT4C/Xo7NetCrVbJpgCY2A9bGcpXYzy8yKOnFGYjscQsO+Ovi7AINQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(366004)(396003)(376002)(39860400002)(451199021)(1800799003)(186006)(36756003)(2906002)(5660300002)(2616005)(54906003)(38100700002)(6486002)(66476007)(66946007)(66556008)(6916009)(6512007)(4326008)(316002)(31686004)(41300700001)(31696002)(86362001)(8676002)(8936002)(26005)(6506007)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TTNxRFlHOFV2WmhSZ2MveWRaWHIvWGJldnNaY3ZYem5kdERyWC9TRW00aDZJ?=
 =?utf-8?B?blFJN0NHbnRQemxPZ2xGS0sxQmZqaDgrMTVwQmpnMDZuZkFkOWxWQThzdHBu?=
 =?utf-8?B?OUcrQWpEYkNxR1VMWmRIRDFtYm9ZTExPRXc1eHNxczZqeDd4S0JRRGl3djVo?=
 =?utf-8?B?Z3l1UDl5WlN6UGFNUFJlNE1iMURCSXhhTm9OS01TV0JxM1hTWlI1bVI1YzIv?=
 =?utf-8?B?OE94UkErRGdoTENKdzI1UXpwNWMvSzVlbnlvRCs1bU43cnFNWXlvVDMyRUQr?=
 =?utf-8?B?TENnVzhxcE9BV3BVSVYxUzN3QlZlMHB4bmtUNTJvYU9wZzZhZFgwcGpKeEFz?=
 =?utf-8?B?aVNBamNwZ2NhWnptVk5IMmhyZjNnMUFIcTRaRzRuNForaENwVlB6MVlONktB?=
 =?utf-8?B?bXkvWFU1Vk5qd2NFUkNSZHNWdEVkSG9ySFgvMnY5OGpOazA1RDRSNVBHY0E3?=
 =?utf-8?B?NHZlcmJwNS90WFBRQ2tJZWRhaWo1T3AvSmhLMjQ5b2pVRzg0RlU5UXhLTGFj?=
 =?utf-8?B?VkdPaTN3VzQ0QTFEdmcwSmlJenBVOHZQSm5wdnY2dE9qbmJqbHVQNml1aUF5?=
 =?utf-8?B?VVI4SEc2VnhNdWhTUVRsM2x6NjdHckRxWFdQZmh0cHVla2N4eSszcVgvTWE1?=
 =?utf-8?B?bGg1T3lsZGF4OFBacEdmbmFkVlNhV1YrU1NQZlNiWEhnWThIY0RIY3U2enVp?=
 =?utf-8?B?ekpXaVhHNkFPTW9tZmdaSWtoa3JIZ1phMEthV01wdXB3M0dEbFhWV3ZwQS93?=
 =?utf-8?B?c1pjem5aUkxZZHIrRHZDQUFiNkdDcjNrMEpFTzU5N1duTXFRZGpyVWk1WG1C?=
 =?utf-8?B?MFJsZndIdlo5YlNXNFZBNmlhK2tYRkJ0REZSQlgxeDFpbzhtWk5kQ0c4bGZu?=
 =?utf-8?B?cmxkd21temJTSEY3bVhYbEZXaFJvVHdFNmVXcWRUNTJnZC9LSDVSS0N0bU9x?=
 =?utf-8?B?K3BtcVBBNDRkcmVnVXhTRnJETEYrMk4xTlFQTlRQb25LUHRSWlNOZ1hZeVBs?=
 =?utf-8?B?Z2tEa1BLTXMyV2RyZ1ZPWTF5SUFaN3pqVis2SWZqWnpMUHp1dEdITEI5bGYr?=
 =?utf-8?B?WVpDVXZmdjkxV1B6L203d0t1Z0dzNGFjYWpQRkZqNUlsQzJobFk5dDFpTXRa?=
 =?utf-8?B?MlBFR2NsL0F0YlVtaEhwYS9YbjVGWmN4c3JwNC9EUVVoZHQ4OXhxWEtBTlFK?=
 =?utf-8?B?aWNybDQyZjFlZWFUMzBWcVBPKzZzNmRZS3gybm9udm8yczFQOTJ4K3BzaHRW?=
 =?utf-8?B?bnVMWHlldUtPek82eWNiOEtjUGlDS1dtUTNHOFFNYzF4aE9vM1dLMVUwNDdt?=
 =?utf-8?B?UHkvNTVnN0ZjLzE0c1cwa0hlazllNWw4ZXlSWlhLaHk4L3pDQm8rRkhrczNk?=
 =?utf-8?B?V3pvZURGcVdMRFI2eWJLQngzNmJsTE5tb2t5NTcxQk5pQjNkN0cxNXM2M1hC?=
 =?utf-8?B?dzY0dHgyOVZUQXBjdHdUU0IxKzBza1BhNklPN2NyM1A2M21ha3EzM2VtL2s2?=
 =?utf-8?B?c3d5R2dXUDRuaWJVV3p6UEZ3NGoyOWJDanplUHJKQ3JyczNpUnRZN3JQR3B6?=
 =?utf-8?B?eDBQY2JvcEVhVVFheVV3bjhYOWtaZTM4WldudWViNWpyVWxiMWFTaDdSQzdD?=
 =?utf-8?B?TTNzZktsakJabGhSS1ZzYW0rZ2Ntc1VXZ0wweXQvUEhvQWFUdGdsd000UjZG?=
 =?utf-8?B?blFhWEp2SjNLd0hwOWdYN0svNlgxL0I4Y0JEYXJZSFd2NjNGaWs4aFNzbEFx?=
 =?utf-8?B?ZEtHQ05IM0tNNEY4dFBuNEtxZHUyZDU4VldJUEppSUNRYmlnQ0haK05yWjRC?=
 =?utf-8?B?SHAzMzBIYStwMUsycGpja09TNXJibnBuT2t4VmhLdlZTZk55ZjJFUWRVV1hM?=
 =?utf-8?B?akxhcHVselVGM1RNdHNIR0h1aEZBb0N5UTdOWHZSYU1MNVJBMGdNalBQLzVj?=
 =?utf-8?B?eGNNTkNRKzhob1JwTHJTZjNtcUdmdVg5RTlYNTNRMnM0azhCb1FiZytHYnpY?=
 =?utf-8?B?L21td2pVMU41dlpJUWhKc2hnYk5HcUxUeThYZEZGdXNPN1pkUGFEYjMzd1p5?=
 =?utf-8?B?eGEvcW5veEdKYnZ5RGtMUzBCampVRm5QdXhLUHlXcUh2SC9lMlVjbVMrRUo1?=
 =?utf-8?Q?BdLI4dFeAUK0NLZJ46WtbCY5J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82fcdb77-b364-44f2-f4d2-08db982547a5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2023 15:36:48.7693
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 15Lr6/nuZvCWabBVf1aB7HzV9cCKFcbKr9GhlzUQH+0sTj5+XvubgdIe2OEPcDz2Wn7P4RIjLp190lv77IRC/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8952

On 08.08.2023 17:25, Julien Grall wrote:
> On 02/08/2023 15:38, Nicola Vetrini wrote:
>> The break statement after the return statement is definitely unreachable.
>> As such, an call to the ASSERT_UNREACHABLE() macro is added to signal
>> the intentionality of such construct.
> 
> How about using unreachable() rather than ASSERT_UNREACHABLE()? The main 
> difference is the later will hint the compiler that the code cannot be 
> reached and will not crash Xen in debug build (this could be changed).

Isn't using unreachable() in place of ASSERT_UNREACHABLE() unsafe (not
here but in general)? It'll tell the compiler that (in the extreme case)
it can omit the function epilogue, including the return instruction. In
the resulting build, if the code turns out to be reachable, execution
would fall through into whatever follows.

In the case here ...

>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int cpu)
>>           /* fallthrough */
>>       case TASKLET_enqueued|TASKLET_scheduled:
>>           return true;
>> +        ASSERT_UNREACHABLE();
>>           break;
>>       case TASKLET_scheduled:
>>           clear_bit(_TASKLET_scheduled, tasklet_work);

... "return" alone already tells the compiler that "break" is
unreachable. You don't need unreachable() for that. As said before,
"break" like this simply want purging (and Misra is wrong to demand
"break" everywhere - it should instead demand no [unannotated]
fall-through, which can also be achieved by return, continue, and
goto).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:44:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580080.908364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOsU-0003aG-89; Tue, 08 Aug 2023 15:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580080.908364; Tue, 08 Aug 2023 15:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTOsU-0003a9-5X; Tue, 08 Aug 2023 15:44:10 +0000
Received: by outflank-mailman (input) for mailman id 580080;
 Tue, 08 Aug 2023 15:44: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 1qTOsS-0003a3-Ty
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:44: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 1qTOsP-0008LA-2U; Tue, 08 Aug 2023 15:44:05 +0000
Received: from [15.248.2.255] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTOsO-0001oX-SL; Tue, 08 Aug 2023 15: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sqyyigZHJaOtU1jw9Xx23TLmVkSGZVzIrTLrpNwpGN8=; b=b/jPwmZlgfsEpY4wQOHQQgxZuP
	TsheKpSUk+4vO3CrOfh+0CSV+kv4pTjQKEtZeD/g3DCLZrNYQYZiPo75LXsj0LUkTjxFaK8JAwxbv
	7SI0g3ax3kwbH715BnUwJKccPbO6gTH9DgXgHrapa1DUmHIn0D5AX2okqfp/G1xrOJww=;
Message-ID: <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
Date: Tue, 8 Aug 2023 16:44:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
Content-Language: en-GB
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,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
 <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/08/2023 16:36, Jan Beulich wrote:
> On 08.08.2023 17:25, Julien Grall wrote:
>> On 02/08/2023 15:38, Nicola Vetrini wrote:
>>> The break statement after the return statement is definitely unreachable.
>>> As such, an call to the ASSERT_UNREACHABLE() macro is added to signal
>>> the intentionality of such construct.
>>
>> How about using unreachable() rather than ASSERT_UNREACHABLE()? The main
>> difference is the later will hint the compiler that the code cannot be
>> reached and will not crash Xen in debug build (this could be changed).
> 
> Isn't using unreachable() in place of ASSERT_UNREACHABLE() unsafe (not
> here but in general)?

Yes it is.

  It'll tell the compiler that (in the extreme case)
> it can omit the function epilogue, including the return instruction. In
> the resulting build, if the code turns out to be reachable, execution
> would fall through into whatever follows.

Right, but the problem is somewhat similar with adding 
ASSERT_UNREACHABLE() without proper error path because there is no 
guarantee the rest of the code will be correct in the unlikely case it 
is reachable.

> 
> In the case here ...
> 
>>> --- a/xen/common/sched/core.c
>>> +++ b/xen/common/sched/core.c
>>> @@ -2233,6 +2233,7 @@ static bool sched_tasklet_check_cpu(unsigned int cpu)
>>>            /* fallthrough */
>>>        case TASKLET_enqueued|TASKLET_scheduled:
>>>            return true;
>>> +        ASSERT_UNREACHABLE();
>>>            break;
>>>        case TASKLET_scheduled:
>>>            clear_bit(_TASKLET_scheduled, tasklet_work);
> 
> ... "return" alone already tells the compiler that "break" is
> unreachable. You don't need unreachable() for that. As said before,
> "break" like this simply want purging (and Misra is wrong to demand
> "break" everywhere - it should instead demand no [unannotated]
> fall-through, which can also be achieved by return, continue, and
> goto).

My suggestion was in the context of this series where we add 
ASSERT_UNREACHABLE() before break. From my understanding, we don't have 
a lot of leeway here because, from what Nicola wrote, rule 16.3 is 
mandatory.

So I think using unreachable is better if we every decide to use break 
after return.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:54:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580086.908376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTP22-00056Y-6w; Tue, 08 Aug 2023 15:54:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580086.908376; Tue, 08 Aug 2023 15:54:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTP22-00056R-1x; Tue, 08 Aug 2023 15:54:02 +0000
Received: by outflank-mailman (input) for mailman id 580086;
 Tue, 08 Aug 2023 15:54: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=aYul=DZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTP20-00056I-Gu
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:54:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c95bd1f8-3603-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 17:53:59 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3779B4EE0737;
 Tue,  8 Aug 2023 17:53: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: c95bd1f8-3603-11ee-b280-6b7b168915f2
MIME-Version: 1.0
Date: Tue, 08 Aug 2023 17:53:58 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
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, George Dunlap <george.dunlap@citrix.com>, Dario
 Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
 <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
 <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <cde2ae86db8ba9a86ce5afdb9f47a4e4@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


>> 
>> ... "return" alone already tells the compiler that "break" is
>> unreachable. You don't need unreachable() for that. As said before,
>> "break" like this simply want purging (and Misra is wrong to demand
>> "break" everywhere - it should instead demand no [unannotated]
>> fall-through, which can also be achieved by return, continue, and
>> goto).
> 
> My suggestion was in the context of this series where we add
> ASSERT_UNREACHABLE() before break. From my understanding, we don't
> have a lot of leeway here because, from what Nicola wrote, rule 16.3
> is mandatory.
> 
> So I think using unreachable is better if we every decide to use break
> after return.
> 
> Cheers,

16.3 is not Mandatory, just Required. I was just reluctant to knowingly 
add one more violation
while fixing another before submitting the patch. If indeed 16.3 won't 
likely be adopted by Xen,
then that break should indeed go away.

However, the main thing that's holding me back from doing a slimmed-down 
v2 here is that
evidently there's no consensus even on the ASSERT_UNREACHABLE() patches.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 15:57:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 15:57:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580093.908385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTP5e-0005il-KZ; Tue, 08 Aug 2023 15:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580093.908385; Tue, 08 Aug 2023 15: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 1qTP5e-0005ie-Hd; Tue, 08 Aug 2023 15:57:46 +0000
Received: by outflank-mailman (input) for mailman id 580093;
 Tue, 08 Aug 2023 15:57: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 1qTP5c-0005iY-N2
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 15:57: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 1qTP5Z-0000Ga-8n; Tue, 08 Aug 2023 15:57:41 +0000
Received: from [15.248.2.255] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTP5Z-0002PF-2P; Tue, 08 Aug 2023 15:57:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7EvLkAQmuz3R6hHoKhPlhpWB0vD5TVJ4Ate7DCOp56A=; b=OBZ5ZRagInM3yustkcaBNJOUw4
	M2GvmZ4lTxz1nLkBWjlnNspvRlIv/ZKLDqDyu+RmPgx4UN4SHWuPQt67+uF/VujVm/u6wnGALEOlV
	WotO84SNL3Om3PeZjl+8Q9TvWCgfgN/+k6IpfUB8fQCIvqeXAU3LHFrYNSwTXVak68lk=;
Message-ID: <6aac7add-544b-4c8a-b397-2a6b6c6b766c@xen.org>
Date: Tue, 8 Aug 2023 16:57:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.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, George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
 <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
 <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
 <cde2ae86db8ba9a86ce5afdb9f47a4e4@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cde2ae86db8ba9a86ce5afdb9f47a4e4@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 08/08/2023 16:53, Nicola Vetrini wrote:
> 
>>>
>>> ... "return" alone already tells the compiler that "break" is
>>> unreachable. You don't need unreachable() for that. As said before,
>>> "break" like this simply want purging (and Misra is wrong to demand
>>> "break" everywhere - it should instead demand no [unannotated]
>>> fall-through, which can also be achieved by return, continue, and
>>> goto).
>>
>> My suggestion was in the context of this series where we add
>> ASSERT_UNREACHABLE() before break. From my understanding, we don't
>> have a lot of leeway here because, from what Nicola wrote, rule 16.3
>> is mandatory.
>>
>> So I think using unreachable is better if we every decide to use break
>> after return.
>>
>> Cheers,
> 
> 16.3 is not Mandatory, just Required.

Ah I misread what you wrote. In that case...

> I was just reluctant to knowingly 
> add one more violation
> while fixing another before submitting the patch. If indeed 16.3 won't 
> likely be adopted by Xen,
> then that break should indeed go away.
> 
> However, the main thing that's holding me back from doing a slimmed-down 
> v2 here is that
> evidently there's no consensus even on the ASSERT_UNREACHABLE() patches.

... I agree with the following statement from Jan:

"it should instead demand no [unannotated] fall-through, which can also 
be achieved by return, continue, and goto"

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 16:26:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 16:26:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580100.908394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTPXR-0001Hq-IT; Tue, 08 Aug 2023 16:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580100.908394; Tue, 08 Aug 2023 16:26:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTPXR-0001Hj-Fv; Tue, 08 Aug 2023 16:26:29 +0000
Received: by outflank-mailman (input) for mailman id 580100;
 Tue, 08 Aug 2023 16:26: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 1qTPXQ-0001HZ-0m; Tue, 08 Aug 2023 16:26: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 1qTPXP-0001Sw-O9; Tue, 08 Aug 2023 16:26: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 1qTPXP-0005pG-Cr; Tue, 08 Aug 2023 16:26:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTPXP-0005RF-CT; Tue, 08 Aug 2023 16:26: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=vmjvnu+1rd7kVMziml73cRUIC0zSaFyBMOmHhRMENRM=; b=IZAZOwWrhjiv/Mkf9P+cvRZdzN
	QGISmS+H0gcWydh1oSBCp8Adtlxtr4ecKG4xtjuFXVxjyIjJFXhH973qLiqv3JpAXdkMVOsIpfuG2
	pVlr+wEKQUpRdSnFeObjKDaQnaiUro5Ad86QlWyWBcKkUNPhRwy9gWpC8Cx4p2seFY0Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182225-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182225: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=14f9643dc90adea074a0ffb7a17d337eafc6a5cc
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 16:26:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-qcow2    <job status>                 broken
 test-armhf-armhf-libvirt-qcow2  5 host-install(5)      broken REGR. vs. 180278
 test-amd64-amd64-xl-xsm     22 guest-start/debian.repeat fail REGR. vs. 180278
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

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

version targeted for testing:
 linux                14f9643dc90adea074a0ffb7a17d337eafc6a5cc
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  113 days
Failing since        180281  2023-04-17 06:24:36 Z  113 days  205 attempts
Testing same since   182225  2023-08-08 00:12:17 Z    0 days    1 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               broken  
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt-qcow2 broken
broken-step test-armhf-armhf-libvirt-qcow2 host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 16:43:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 16:43:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580108.908404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTPo1-0003ix-Vm; Tue, 08 Aug 2023 16:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580108.908404; Tue, 08 Aug 2023 16:43: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 1qTPo1-0003iq-TB; Tue, 08 Aug 2023 16:43:37 +0000
Received: by outflank-mailman (input) for mailman id 580108;
 Tue, 08 Aug 2023 16:43: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTPo0-0003ik-O3
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 16:43:36 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5683846-360a-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 18:43:34 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691513003720900.7514399342488;
 Tue, 8 Aug 2023 09:43: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: b5683846-360a-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691513005; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Ars4vVcGhiDHxCU36qEhp85KzI5ev7jsJ+KagjOKqLneQlqX6GYkJrhrW5QpkCIHJ0i8cMA2cmFWEGQJNufWPYybhEfxp4lbwzh2wohA1lP4OxprJ/PdY1vSN9BxQsPmcAbnnrxD0KxPf+q2ZbJ4bARqCklTyqxjKhnadSqac/M=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691513005; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=52txK7ESKDZok3A5srdKuASszxGqFqTYvgKIv0vR6sY=; 
	b=V8eP5AtnJCYb3ogGRO169JXpHwbkeO8PydthFx2231tpBhrYRzyR7BnJTZTcsoGMgdPR843KHtZLzmolmURxDkmlHbSML15kUTwqTbBJGBCNMAw6gUzZnn8x5Qd/jcGiiMoNVk2ojaK4DIWCiyt79b9RQiLe1glCVYp4Y4X71Fo=
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=1691513005;
	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=52txK7ESKDZok3A5srdKuASszxGqFqTYvgKIv0vR6sY=;
	b=I8oEGcCW3cTdLAS0A7IXI/XyKwm8pvtniAPKCh7va/pC/xLtEjfmmIuZEsRStlOY
	hyRGqvm2aO9Zte/Nb5aUF8HNhYol5vQC62m5B56kfHFa0PWS0du2dfgXpmzCyffRQi8
	HlJQfn1xJtC8dVsxAzofEJ/QatifnbP61kK0XH0E=
Message-ID: <4ee78808-5807-58e8-2054-016486607713@apertussolutions.com>
Date: Tue, 8 Aug 2023 12:43:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/4/23 02:08, Jan Beulich wrote:
> Have these in one place, for all architectures to use. Also use the C99
> types as the "original" ones, and derive the Linux compatible ones
> (which we're trying to phase out). For __s<N>, seeing that no uses exist
> anymore, move them to a new Linux compatibility header (as an act of
> precaution - as said, we don't have any uses of these types right now).
> 
> In some Flask sources inclusion of asm/byteorder.h needs moving later.

I just did a test build against staging for x86 with all asm/byteorder.h 
includes removed from FLASK and it built successfully. If there are no 
object to a small non-functional change patch, I can clean up include 
ordering as well and submit it to xen-devel.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 16:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 16:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580116.908415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTPtP-0004PN-QL; Tue, 08 Aug 2023 16:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580116.908415; Tue, 08 Aug 2023 16: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 1qTPtP-0004PG-M6; Tue, 08 Aug 2023 16:49:11 +0000
Received: by outflank-mailman (input) for mailman id 580116;
 Tue, 08 Aug 2023 16:49:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K7Oi=DZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTPtN-0004PA-LP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 16:49:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7cb120c0-360b-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 18:49:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6204A8285619;
 Tue,  8 Aug 2023 11:49:05 -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 vzE_jrHoXU42; Tue,  8 Aug 2023 11:49:04 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A916982856A2;
 Tue,  8 Aug 2023 11:49:04 -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 7jmK_WrnR538; Tue,  8 Aug 2023 11:49:04 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 03AD28285619;
 Tue,  8 Aug 2023 11:49:03 -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: 7cb120c0-360b-11ee-b280-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com A916982856A2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691513344; bh=p6+9yv2csDBijRpJzkd92jEcGbqUYM/6By887NKnwKc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=IU1HUA0t8um28VpddkG/oEySeGen62eAG2SyFwDZ30R0c5AVWEFFllY1ccnxuBo11
	 4mKJyRMMNfg0UIfXlApXSwAFef8T/70FgbWQae2uCRy+lZ/u1Z8PdEH3vd2bvaAR5b
	 c0SY4uuIPCVv0LwGkA3QspwJJgtX+Vj7YAHUvFI4=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <7e77b8ed-2c0e-b814-6ce2-c6b2cf47bec9@raptorengineering.com>
Date: Tue, 8 Aug 2023 11:49:03 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/9] xen/common: Add missing #includes treewide
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com>
 <af751f31-5e8d-2b1d-e878-148e08d9264b@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <af751f31-5e8d-2b1d-e878-148e08d9264b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/7/23 10:39 AM, Jan Beulich wrote:
> On 03.08.2023 01:02, Shawn Anastasio wrote:
>> A few files treewide depend on defininitions in headers that they
>> don't include. This works when arch headers end up including the
>> required headers by chance, but broke on ppc64 with only minimal/stub
>> arch headers.
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> I'm okay with the changes in principle, but I'd like to ask a question
> nevertheless, perhaps also for other REST maintainers (whom you should
> have Cc-ed, btw) to chime in.
> 
>> --- a/xen/common/memory.c
>> +++ b/xen/common/memory.c
>> @@ -28,6 +28,7 @@
>>  #include <asm/current.h>
>>  #include <asm/hardirq.h>
>>  #include <asm/p2m.h>
>> +#include <asm/page.h>
>>  #include <public/memory.h>
>>  #include <xsm/xsm.h>
> 
> I realize there are several asm/*.h being included here already. Yet
> generally I think common .c files would better not include any of
> them directly; only xen/*.h ones should (and even there one might see
> possible restrictions on what's "legitimate"). Do you recall what it
> was that's needed from asm/page.h here ...

The references to invalidate_icache (memory.c:310), clear_page
(memory.c:1867), and copy_page (memory.c:1876) all need asm/page.h to be
included somehow. I'm not sure which file ends up including asm/page.h
for build to work on x86/arm, but with my minimal PPC headers it wasn't
getting incidentally included and build was failing.

> 
>> --- a/xen/common/xmalloc_tlsf.c
>> +++ b/xen/common/xmalloc_tlsf.c
>> @@ -27,6 +27,7 @@
>>  #include <xen/mm.h>
>>  #include <xen/pfn.h>
>>  #include <asm/time.h>
>> +#include <asm/page.h>
> 
> ... and here?

Here it's the PAGE_ALIGN used at xmalloc_tlsf.c:549

> 
>> --- a/xen/include/xen/domain.h
>> +++ b/xen/include/xen/domain.h
>> @@ -4,6 +4,7 @@
>>  
>>  #include <xen/types.h>
>>  
>> +#include <public/domctl.h>
>>  #include <public/xen.h>
> 
> While following our sorting guidelines, this still looks a little odd.
> We typically would include public/xen.h first, but then almost all other
> public headers include it anyway. So I'm inclined to suggest to replace
> (rather than amend) the existing #include here.

To be clear, you're suggesting replacing the include of <public/xen.h>
to <public/domctl.h>? I've tested this and it works fine, as expected.

> 
> Then again I wonder why this include is needed. xen/domain.h is
> effectively included everywhere, yet I would have hoped public/domctl.h
> isn't.

domctl.h is required because of the reference to `struct
xen_domctl_createdomain` on domain.h:84. Alternatively, we could get
away with a forward declaration of the struct.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 16:58:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 16:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580122.908425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ2c-0005uS-MX; Tue, 08 Aug 2023 16:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580122.908425; Tue, 08 Aug 2023 16:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ2c-0005uL-Ig; Tue, 08 Aug 2023 16:58:42 +0000
Received: by outflank-mailman (input) for mailman id 580122;
 Tue, 08 Aug 2023 16:58:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTQ2b-0005uF-Ac
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 16:58:41 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d060796c-360c-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 18:58:37 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691513907885492.6306990381539;
 Tue, 8 Aug 2023 09:58: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: d060796c-360c-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691513910; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=hhuK0tKhf9t493M/8GRmbr0aXPGUKF1JM5ZG9yg7eHtPWYBGsifdHMgMA5xxxF+/R0lmjakz2HpVdzWP78n8u6V/Z+jp6H9jTkS6bbqKFW30zTbGJVBDpOksupGHsqosYtevRSmEjp+PWnNcpFADkSDLKZMrxsCUY7tlWR9wlJc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691513910; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=3dUJBOjuqqWLjpxfBkSfndZTHDMoM6dCP9+ndRkRl/Y=; 
	b=Pythcn5vYe714EREOI5XkhnYFP/FwmCn0oXHsFHgm6WI1cY8QrEloTui/B4VZzNfUdC2vMyQa/qL+oNt1tPFBBNXvGAtHry5Cniq5kcCN9ps9JLPYIu233afcs8D7XS2DU3d5hpS5vHe8Ivu6U0Y5maEeSPQzOMs7JoPcyLunTw=
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=1691513910;
	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=3dUJBOjuqqWLjpxfBkSfndZTHDMoM6dCP9+ndRkRl/Y=;
	b=a0pIBflVFGXlGAlzBuQH+nOZar2uWMFQJPvH2+fdhMl55fs2zewOfMyl9o8f/Drj
	fKo04+mUQXUo0bvQ5SunV/MmUljfcPI6a5dauGP7BIkRDO3NbZnoiCMRUAhqXSI+osB
	C2BsmZWwU6I9tgz0pTRkLHU5ojw1XhkKZ0bQ+nRE=
Message-ID: <72274554-5942-294e-aa1f-a594ae2e37e9@apertussolutions.com>
Date: Tue, 8 Aug 2023 12:58:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
 <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
 <e1554020-a605-8df2-619a-eda86d86c50a@apertussolutions.com>
 <2ded224f-0b8b-90fe-367a-91762d1f25d5@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <2ded224f-0b8b-90fe-367a-91762d1f25d5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/4/23 03:49, Jan Beulich wrote:
> On 03.08.2023 18:31, Daniel P. Smith wrote:
>> On 8/3/23 11:56, Jan Beulich wrote:
>>> On 03.08.2023 14:56, Daniel P. Smith wrote:
>>>> On 8/2/23 07:01, Jan Beulich wrote:
>>>>> On 01.08.2023 18:06, Daniel P. Smith wrote:
>>>>>> +        {
>>>>>> +            for_each_domain(next)
>>>>>
>>>>> What guarantees that the list won't change behind your back? You don't
>>>>> hold domlist_read_lock here afaict. It might be that you're safe because
>>>>> that lock is an RCU one and this function is only invoked at init time
>>>>> or from some form of interrupt handler. But that's far from obvious and
>>>>> will hence need both properly confirming and stating in a comment. (It
>>>>> is actually this concern, iirc, which so far had us avoid iterating the
>>>>> domain list here.)
>>>>
>>>> It is better to error on the side of caution instead of assuming this
>>>> will always be invoked in a safe manner. I will add a read lock for the
>>>> domain list.
>>>
>>> I'm not firm enough in RCU to be certain whether acquiring that lock is
>>> permissible here.
>>
>> Same and I took your statements to suggest that I should.
> 
> Actually I wasn't paying close enough attention here: The code already
> uses rcu_lock_domain_by_id(), which acquires domlist_read_lock.
> 

Right, it grabs the lock while iterating through domain_hash[], I 
thought your concern was with regard to the iterating with 
for_each_domain and the embedded open coded version. Because of your 
inquiry, I have been thinking about it and I should be grabbing the lock 
as I iterate to be sure that I don't get deceived into believing the end 
of list was hit because a domain was being removed as I walked the list. 
And if it so happens that the context is always safe, then there should 
be no contention on grabbing the lock. Do you disagree?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 17:00:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 17:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580129.908437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4D-0007MA-1i; Tue, 08 Aug 2023 17:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580129.908437; Tue, 08 Aug 2023 17:00:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4C-0007M3-VC; Tue, 08 Aug 2023 17:00:20 +0000
Received: by outflank-mailman (input) for mailman id 580129;
 Tue, 08 Aug 2023 17:00: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=T7Ie=DZ=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1qTQ4B-0007KP-Nd
 for xen-devel@lists.xen.org; Tue, 08 Aug 2023 17:00:19 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b054daf-360d-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 19:00:15 +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 1qTQ3w-0002Cv-Ig; Tue, 08 Aug 2023 17:00:04 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1qTQ3w-0002JL-FQ; Tue, 08 Aug 2023 17:00:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b054daf-360d-11ee-8613-37d641c3527e
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=hx/b/ysblgOZvwHoYIpAdSgwsVEOYjRPfsd5/+vNC9k=; b=0DBpqTbjDr8PJUmiugsxaL363J
	ZWHE8GoyZaK4fHSBjk6bca98y80xB/RKuSadVHblLGpj3ceLkOooIBE0JnLHN53OQnNq6adHxxj7j
	8slVTZJRPziCiSVbeKyPB4RhCqNOfuK5hDimQIdAsL1aq4MpWX8qOecTwdslljwwWrjI=;
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 432 v2 (CVE-2023-34319) - Linux: buffer
 overrun in netback due to unusual packet
Message-Id: <E1qTQ3w-0002JL-FQ@xenbits.xenproject.org>
Date: Tue, 08 Aug 2023 17:00:04 +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-34319 / XSA-432
                               version 2

        Linux: buffer overrun in netback due to unusual packet

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

The fix for XSA-423 added logic to Linux'es netback driver to deal with
a frontend splitting a packet in a way such that not all of the headers
would come in one piece.  Unfortunately the logic introduced there
didn't account for the extreme case of the entire packet being split
into as many pieces as permitted by the protocol, yet still being
smaller than the area that's specially dealt with to keep all (possible)
headers together.  Such an unusual packet would therefore trigger a
buffer overrun in the driver.

IMPACT
======

An unprivileged guest can cause Denial of Service (DoS) of the host by
sending network packets to the backend, causing the backend to crash.

Data corruption or privilege escalation seem unlikely but have not been
ruled out.

VULNERABLE SYSTEMS
==================

All systems using a Linux based network backend with kernel 3.19 and
newer are vulnerable, on the assumption that the fix for XSA-423 was
taken.  Systems using other network backends are not known to be
vulnerable.

MITIGATION
==========

Using another PV network backend (e.g. the qemu based "qnic" backend)
will mitigate the problem.

Using a dedicated network driver domain per guest will mitigate the
problem.

CREDITS
=======

This issue was discovered by Ross Lagerwall of Citrix.

RESOLUTION
==========

Applying the attached patch resolves this issue.

xsa432-linux.patch           Linux 6.3 - 6.5-rc

$ sha256sum xsa432*
bf7acd23be1d185c40aca8b4f7700e25afd482d9ac8671ae22b021380b059091  xsa432-linux.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/4UyVfoK9kFAmTSZKYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZv9YH+wSW/H8BRo3hat2ssz4GOkNf/okVzOFyde0n6rsI
uPeRbRqjnd9f+rvHFIYhi9sa2MUSZ9Lg/WwmZ1YdTFXB1PBZw1iDujB1HvDu7Xlm
E0f6IkdhC17YaiBnmsUOwGhE/1wj0KOF86t92VX5skWK9NQ2OMOSYsBxHLFkNmBd
VNHApva8ICfSfUA4pXuh3Zgaw2yw8k2ZcyFN8Aixd+1Vrxq7jfZ/PUL6hfLaNjLs
a5xdj/b5+RuwRMqOI8jCFQXSgZLPDtZIIAFRi93ZMtUraARSjiN0tLpoRXsKp1u+
0T1sgTApHJGTm7jgPAz3WMCh2innRBkEVvU55hRKZ4INIbc=
=mMq6
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa432-linux.patch"
Content-Disposition: attachment; filename="xsa432-linux.patch"
Content-Transfer-Encoding: base64

RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5j
b20+ClN1YmplY3Q6IHhlbi9uZXRiYWNrOiBGaXggYnVmZmVyIG92ZXJydW4g
dHJpZ2dlcmVkIGJ5IHVudXN1YWwgcGFja2V0CgpJdCBpcyBwb3NzaWJsZSB0
aGF0IGEgZ3Vlc3QgY2FuIHNlbmQgYSBwYWNrZXQgdGhhdCBjb250YWlucyBh
IGhlYWQgKyAxOApzbG90cyBhbmQgeWV0IGhhcyBhIGxlbiA8PSBYRU5fTkVU
QkFDS19UWF9DT1BZX0xFTi4gVGhpcyBjYXVzZXMgbnJfc2xvdHMKdG8gdW5k
ZXJmbG93IGluIHhlbnZpZl9nZXRfcmVxdWVzdHMoKSB3aGljaCB0aGVuIGNh
dXNlcyB0aGUgc3Vic2VxdWVudApsb29wJ3MgdGVybWluYXRpb24gY29uZGl0
aW9uIHRvIGJlIHdyb25nLCBjYXVzaW5nIGEgYnVmZmVyIG92ZXJydW4gb2YK
cXVldWUtPnR4X21hcF9vcHMuCgpSZXdvcmsgdGhlIGNvZGUgdG8gYWNjb3Vu
dCBmb3IgdGhlIGV4dHJhIGZyYWdfb3ZlcmZsb3cgc2xvdHMuCgpUaGlzIGlz
IENWRS0yMDIzLTM0MzE5IC8gWFNBLTQzMi4KCkZpeGVzOiBhZDdmNDAyYWU0
ZjQgKCJ4ZW4vbmV0YmFjazogRW5zdXJlIHByb3RvY29sIGhlYWRlcnMgZG9u
J3QgZmFsbCBpbiB0aGUgbm9uLWxpbmVhciBhcmVhIikKU2lnbmVkLW9mZi1i
eTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+
ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2
aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXVAa2VybmVsLm9yZz4KLS0tCiBk
cml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMgfCAxNSArKysrKysr
KysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA1
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3hlbi1u
ZXRiYWNrL25ldGJhY2suYyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25l
dGJhY2suYwppbmRleCBjMTUwMWY0MWUyZDguLjcyMDkxYjMzMTk2MyAxMDA2
NDQKLS0tIGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svbmV0YmFjay5jCisr
KyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYwpAQCAtMzk2
LDcgKzM5Niw3IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl9nZXRfcmVxdWVzdHMo
c3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsCiAJc3RydWN0IGdudHRhYl9t
YXBfZ3JhbnRfcmVmICpnb3AgPSBxdWV1ZS0+dHhfbWFwX29wcyArICptYXBf
b3BzOwogCXN0cnVjdCB4ZW5fbmV0aWZfdHhfcmVxdWVzdCAqdHhwID0gZmly
c3Q7CiAKLQlucl9zbG90cyA9IHNoaW5mby0+bnJfZnJhZ3MgKyAxOworCW5y
X3Nsb3RzID0gc2hpbmZvLT5ucl9mcmFncyArIGZyYWdfb3ZlcmZsb3cgKyAx
OwogCiAJY29weV9jb3VudChza2IpID0gMDsKIAlYRU5WSUZfVFhfQ0Ioc2ti
KS0+c3BsaXRfbWFzayA9IDA7CkBAIC00NjIsOCArNDYyLDggQEAgc3RhdGlj
IHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVl
ICpxdWV1ZSwKIAkJfQogCX0KIAotCWZvciAoc2hpbmZvLT5ucl9mcmFncyA9
IDA7IHNoaW5mby0+bnJfZnJhZ3MgPCBucl9zbG90czsKLQkgICAgIHNoaW5m
by0+bnJfZnJhZ3MrKywgZ29wKyspIHsKKwlmb3IgKHNoaW5mby0+bnJfZnJh
Z3MgPSAwOyBucl9zbG90cyA+IDAgJiYgc2hpbmZvLT5ucl9mcmFncyA8IE1B
WF9TS0JfRlJBR1M7CisJICAgICBzaGluZm8tPm5yX2ZyYWdzKyssIGdvcCsr
LCBucl9zbG90cy0tKSB7CiAJCWluZGV4ID0gcGVuZGluZ19pbmRleChxdWV1
ZS0+cGVuZGluZ19jb25zKyspOwogCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5w
ZW5kaW5nX3JpbmdbaW5kZXhdOwogCQl4ZW52aWZfdHhfY3JlYXRlX21hcF9v
cChxdWV1ZSwgcGVuZGluZ19pZHgsIHR4cCwKQEAgLTQ3NiwxMiArNDc2LDEy
IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl9nZXRfcmVxdWVzdHMoc3RydWN0IHhl
bnZpZl9xdWV1ZSAqcXVldWUsCiAJCQl0eHArKzsKIAl9CiAKLQlpZiAoZnJh
Z19vdmVyZmxvdykgeworCWlmIChucl9zbG90cyA+IDApIHsKIAogCQlzaGlu
Zm8gPSBza2Jfc2hpbmZvKG5za2IpOwogCQlmcmFncyA9IHNoaW5mby0+ZnJh
Z3M7CiAKLQkJZm9yIChzaGluZm8tPm5yX2ZyYWdzID0gMDsgc2hpbmZvLT5u
cl9mcmFncyA8IGZyYWdfb3ZlcmZsb3c7CisJCWZvciAoc2hpbmZvLT5ucl9m
cmFncyA9IDA7IHNoaW5mby0+bnJfZnJhZ3MgPCBucl9zbG90czsKIAkJICAg
ICBzaGluZm8tPm5yX2ZyYWdzKyssIHR4cCsrLCBnb3ArKykgewogCQkJaW5k
ZXggPSBwZW5kaW5nX2luZGV4KHF1ZXVlLT5wZW5kaW5nX2NvbnMrKyk7CiAJ
CQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5wZW5kaW5nX3JpbmdbaW5kZXhdOwpA
QCAtNDkyLDYgKzQ5MiwxMSBAQCBzdGF0aWMgdm9pZCB4ZW52aWZfZ2V0X3Jl
cXVlc3RzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAogCQl9CiAKIAkJ
c2tiX3NoaW5mbyhza2IpLT5mcmFnX2xpc3QgPSBuc2tiOworCX0gZWxzZSBp
ZiAobnNrYikgeworCQkvKiBBIGZyYWdfbGlzdCBza2Igd2FzIGFsbG9jYXRl
ZCBidXQgaXQgaXMgbm8gbG9uZ2VyIG5lZWRlZAorCQkgKiBiZWNhdXNlIGVu
b3VnaCBzbG90cyB3ZXJlIGNvbnZlcnRlZCB0byBjb3B5IG9wcyBhYm92ZS4K
KwkJICovCisJCWtmcmVlX3NrYihuc2tiKTsKIAl9CiAKIAkoKmNvcHlfb3Bz
KSA9IGNvcCAtIHF1ZXVlLT50eF9jb3B5X29wczsK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 17:00:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 17:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580138.908530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4U-00015o-Co; Tue, 08 Aug 2023 17:00:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580138.908530; Tue, 08 Aug 2023 17:00:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4T-00012T-Uq; Tue, 08 Aug 2023 17:00:37 +0000
Received: by outflank-mailman (input) for mailman id 580138;
 Tue, 08 Aug 2023 17:00:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T7Ie=DZ=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1qTQ4R-0007KP-Ny
 for xen-devel@lists.xen.org; Tue, 08 Aug 2023 17:00:35 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 141b2db0-360d-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 19:00:30 +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 1qTQ4E-0002EB-Ly; Tue, 08 Aug 2023 17:00:22 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1qTQ4E-0002Mq-KX; Tue, 08 Aug 2023 17:00:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 141b2db0-360d-11ee-8613-37d641c3527e
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=XF+UrQzxCsQAO1ziUVnoWjoX2Wjp8D0sLL+ai1kpVc8=; b=pwUzTpFpAOwLBfHDBG7djxbQM4
	mREzvolVB1T3ZIfsnyjjGMkT/B+fTcsuD7VhpYtCCAZNS96m/098QIRxLlkXVmFn20J4I+/sPmHpx
	J1cwyy6tGPdnkTtnXoAV/aPTQ13vad0Cl5z3AwoJOSTGUzVOOnXTgoBGmiqJ8jMc2P20=;
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 434 v1 (CVE-2023-20569) - x86/AMD:
 Speculative Return Stack Overflow
Message-Id: <E1qTQ4E-0002Mq-KX@xenbits.xenproject.org>
Date: Tue, 08 Aug 2023 17:00:22 +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-20569 / XSA-434

               x86/AMD: Speculative Return Stack Overflow

ISSUE DESCRIPTION
=================

Researchers from ETH Zurich have extended their prior research (XSA-422,
Branch Type Confusion, a.k.a Retbleed) and have discovered INCEPTION,
also know as RAS (Return Address Stack) Poisoning, and Speculative
Return Stack Overflow.

The RAS is updated when a CALL instruction is predicted, rather than at
a later point in the pipeline.  However, the RAS is still fundamentally
a circular stack.

It is possible to poison the branch type and target predictions such
that, at a point of the attackers choosing, the branch predictor
predicts enough CALLs back-to-back to wrap around the entire RAS and
overwrite a correct return prediction with one of the attackers
choosing.

This allows the attacker to control RET speculation in a victim context,
and leak arbitrary data as a result.

For more details, see:
  https://comsec.ethz.ch/inception
  https://www.amd.com/en/corporate/product-security/bulletin/amd-sb-7005

IMPACT
======

An attacker might be able to infer the contents of memory belonging to
other guests.

VULNERABLE SYSTEMS
==================

Only CPUs from AMD are believed to be potentially vulnerable.  CPUs from
other manufacturers are not believed to be impacted.

At the time of writing, all in-support AMD CPUs (that is, Zen1 thru Zen4
microarchitectures) are believed to be potentially vulnerable.  Older
CPUs have not been analysed.

By default following XSA-422, Xen mitigates BTC on AMD Zen2 and older
CPUs by issuing an IBPB on entry to Xen.  On Zen2 and older CPUs, this
is believed to be sufficient to protect against SRSO too.

AMD Zen3 and Zen4 CPUs are susceptible to SRSO too.  All versions of Xen
are vulnerable on these CPUs.

MITIGATION
==========

On Zen3 and Zen4, there is no mitigation.

RESOLUTION
==========

AMD are producing microcode updates for Zen3 and Zen4.  Consult your
dom0 OS vendor.

With the microcode update applied, booting Xen with
`spec-ctrl=ibpb-entry` is sufficient to protect against SRSO.

The appropriate set of patches will default to using IBPB-on-entry on
Zen3 and Zen4 CPUs, as well as synthesise new CPUID bits for guests to
use in order to determine their susceptibility in a migration-safe way.

The patches for this issue interact texturally but not logically with
the fixes for XSA-435, which itself has complexities.  See XSA-435 for
details of how to obtain the fixes.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmTSZOsMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ8uMIAL2xBV/B3O0t90aFhX75dOWZBUkujMN0xHDjyI+c
lnEmy44QnX+jI9IBSuc4qaJmLXnUO71WsMU1XeKucOnh9E1kjgHB2H0GgS+GI6dG
LtAVxn+RRK39YIO0CHAXvr/tlX/eyodvxtmxOKLRY47J0hHLToXBEdc2VfXrUEfk
8AZn4hhHDGfRMX7jguxPFnrKCS3sZCFn1FYPtUxNGi2BbUzFacc+zZ2OISR7C59H
24q9UIgUVoVwOnUWBEzW6oHmjP44Q0kG3E8LhZQhr1YkAG++KapgTPllc3cU4xja
G8ozTeMeyVbM29EMS7QknOlkvMSUmtgzNg7Pt6El9oSyuH4=
=rrcN
-----END PGP SIGNATURE-----

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 17:00:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 17:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580137.908538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4V-0001E3-4G; Tue, 08 Aug 2023 17:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580137.908538; Tue, 08 Aug 2023 17:00:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ4U-0001Cv-Hv; Tue, 08 Aug 2023 17:00:38 +0000
Received: by outflank-mailman (input) for mailman id 580137;
 Tue, 08 Aug 2023 17:00: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=T7Ie=DZ=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1qTQ4R-0008Pg-HR
 for xen-devel@lists.xen.org; Tue, 08 Aug 2023 17:00:35 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15ac9c68-360d-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 19:00:33 +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 1qTQ4I-0002EZ-BA; Tue, 08 Aug 2023 17:00:26 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1qTQ4I-0002Ny-AH; Tue, 08 Aug 2023 17:00: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: 15ac9c68-360d-11ee-b280-6b7b168915f2
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=en5sf8iDi6wMkkzej5Amgs+r5p4GVNXHBgZi2MSJb+Y=; b=MPKkG5jYUN1tO1svplxiF31itS
	EfRa7qABXTT6mdyJmfkzEiCeGh5QCYMrshVCbcsWvIX4jERLUo2cWdKnhrclAI/UVwb1RBiK7fOtQ
	ffUNRwKar3WoVhwdaOwzqdlBce6uDGTNfeRu1D1JuxEEmTV07FG3UNJGgqPEUEEMhfDo=;
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 435 v1 (CVE-2022-40982) - x86/Intel: Gather
 Data Sampling
Message-Id: <E1qTQ4I-0002Ny-AH@xenbits.xenproject.org>
Date: Tue, 08 Aug 2023 17:00:26 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-40982 / XSA-435

                    x86/Intel: Gather Data Sampling

ISSUE DESCRIPTION
=================

A researcher has discovered Gather Data Sampling, a transient execution
side-channel whereby the AVX GATHER instructions can forward the content
of stale vector registers to dependent instructions.

The physical register file is a structure competitively shared between
sibling threads.  Therefore an attacker can infer data from the sibling
thread, or from a more privileged context.

For more details, see:
  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/gather-data-sampling.html

IMPACT
======

An attacker can infer data from different contexts on the same core.
Examples of such data includes key material, cipher and plaintext from
the AES-NI instructions, or the contents of REP-MOVS instructions,
commonly used to implement memcpy().

VULNERABLE SYSTEMS
==================

Systems running all versions of Xen are affected.

See the Intel documentation for a list of affected processors.

CPUs from other hardware vendors are not believed to be affected.

MITIGATION
==========

This issue can be mitigated by disabling AVX, either by booting Xen with
`cpuid=no-avx` on the command line, or by specifying `cpuid="host:avx=0"`
in the vm.cfg file of all untrusted VMs.  However, this may come with a
significant performance impact on the system and is not recommended for
anyone able to deploy the microcode and patch described below.

RESOLUTION
==========

Intel are producing microcode updates to address the issue for most
affected CPUs.  Consult your dom0 OS vendor.  This microcode is
effective when late-loaded, which can be performed on a live system
without reboot.

Without microcode, disabling AVX is the only mitigation.  This is
implemented by the patches to Xen on hardware believed to be vulnerable.

In addition, to indicate safety to guest kernels, Xen needs to
synthesise new bits for guests to see, which depends on MSR_ARCH_CAPS
being visible to guests.  The work to support MSR_ARCH_CAPS is extensive
and has been going on in public in earnest since March.  The backports
to security trees 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.17.2
  RELEASE-4.16.5
  RELEASE-4.15.5
  RELEASE-4.14.6

Other release activities (tarballs, announcements, etc) will happen in
due course.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmTSZQcMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZoMQH/RAjt/wZHCg/aFunhbiAbdzWmJo36Cz6KL+R2G+v
sBiPMsBvZxSikl6yeYAADgEUFKqNWQhLCAl6oaqgPbtDhFOxeZ72DRhgwZIx2KNL
85ECXk3rFhipiai6oHHbOemjPglXsyz+B5+NE64gOjpjdms9cfvfWnMnSQRF+NKa
vbpEeP+KIK1EcmKOp/xfzjjgEzg7VmJ8jnct0A77sUQYi3Ll1+ENLEcqDElP+Qob
wmM6QYkz78q/xO+R+bT+NNJ33q6JXQdixXa3ddiWrcvL/A3SveqtQh78u9daKmFM
aaivBTgJSWk0348aelEF8UjLNKx8rVRc4Dk2elioiE1PCe8=
=05gz
-----END PGP SIGNATURE-----

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 17:05:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 17:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580222.908564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ8f-00067A-3D; Tue, 08 Aug 2023 17:04:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580222.908564; Tue, 08 Aug 2023 17:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQ8f-000673-0h; Tue, 08 Aug 2023 17:04:57 +0000
Received: by outflank-mailman (input) for mailman id 580222;
 Tue, 08 Aug 2023 17:04: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=K7Oi=DZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTQ8e-00062a-JW
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 17:04:56 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1163a2e-360d-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 19:04:53 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 21B538285626;
 Tue,  8 Aug 2023 12:04:52 -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 zcTuPCpCFHRq; Tue,  8 Aug 2023 12:04:51 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id EFC1282856A2;
 Tue,  8 Aug 2023 12:04: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 c5x8cFD2Kyjd; Tue,  8 Aug 2023 12:04:50 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D252D8285626;
 Tue,  8 Aug 2023 12:04: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: b1163a2e-360d-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com EFC1282856A2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691514291; bh=8mDkZMO38zMcyRoQH/8OKwJ+pAJdMUYCt14tcGDJBsE=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=G5COsaTNrdoAo4OMZuqGVaY5f3O0gnMsQb2oAcsXE+R21gxG03iKI/tpYJl3WF9WP
	 RU3yCWbYeGhZurjdrNn4WtwqrWfYjmAqQZSfcgJWPkRlBe+w8oHS7UEPvX05gu5BYu
	 4az8lFDMhWdW81EbMv9xUtIPOpgDJd/Ji+KLI3e4=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <95e2da23-1c04-266f-5a26-e43564485751@raptorengineering.com>
Date: Tue, 8 Aug 2023 12:04:48 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 2/9] xen/ppc: Add public/arch-ppc.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <14d8455ca49f69a56e87aad5d4e20cf8f77e55cd.1691016993.git.sanastasio@raptorengineering.com>
 <2705d5dd-e74f-4093-aad9-3e54060160f6@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <2705d5dd-e74f-4093-aad9-3e54060160f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/7/23 10:51 AM, Jan Beulich wrote:
> On 03.08.2023 01:02, Shawn Anastasio wrote:
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> ---
>>  xen/include/public/arch-ppc.h | 140 ++++++++++++++++++++++++++++++++++
>>  1 file changed, 140 insertions(+)
>>  create mode 100644 xen/include/public/arch-ppc.h
>>
>> diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
>> new file mode 100644
>> index 0000000000..0eb7ce4208
>> --- /dev/null
>> +++ b/xen/include/public/arch-ppc.h
>> @@ -0,0 +1,140 @@
>> +/*
>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>> + * of this software and associated documentation files (the "Software"), to
>> + * deal in the Software without restriction, including without limitation the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>> + * sell copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
> 
> Any reason for a spelled out license rather than an SPDX header?
> 

This was an oversight when importing the file from the old Xen 3.2
source tree. I'll drop the license text in favor of an SPDX header.

>> + * Copyright (C) IBM Corp. 2005, 2006
>> + * Copyright (C) Raptor Engineering, LLC 2023
>> + *
>> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
>> + *          Timothy Pearson <tpearson@raptorengineering.com>
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_ARCH_PPC64_H__
>> +#define __XEN_PUBLIC_ARCH_PPC64_H__
> 
> The 64 wants dropping here, considering the name of the header.

Ditto. Will fix.

>> +#define  int64_aligned_t  int64_t __attribute__((aligned(8)))
>> +#define uint64_aligned_t uint64_t __attribute__((aligned(8)))
> 
> I understand arch-arm.h has it this way too, but in public headers I
> think we're better off using __aligned__ (in the example here).

Sure, I can make that change.

>> +#ifndef __ASSEMBLY__
>> +#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
>> +    typedef union { type *p; unsigned long q; }                 \
>> +        __guest_handle_ ## name;                                \
>> +    typedef union { type *p; uint64_aligned_t q; }              \
>> +        __guest_handle_64_ ## name
>> +
>> +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
>> +    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
>> +    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
>> +#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
>> +#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>> +#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>> +#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
>> +#define set_xen_guest_handle_raw(hnd, val)                  \
>> +    do {                                                    \
>> +        __typeof__(&(hnd)) _sxghr_tmp = &(hnd);             \
> 
> In new code, can you please avoid underscore-prefixed macro locals,
> which violate name space rules set forth by the standard? We appear
> to be adopting underscore-suffixed naming for such locals.

Sure, will fix.

>> +        _sxghr_tmp->q = 0;                                  \
>> +        _sxghr_tmp->p = val;                                \
> 
> "val" need parenthesizing here.

Will fix.

>> +    } while ( 0 )
>> +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
>> +
>> +#ifdef __XEN_TOOLS__
>> +#define get_xen_guest_handle(val, hnd)  do { val = (hnd).p; } while (0)
>> +#endif
>> +
>> +typedef uint64_t xen_pfn_t;
>> +#define PRI_xen_pfn PRIx64
>> +#define PRIu_xen_pfn PRIu64
>> +
>> +/*
>> + * Maximum number of virtual CPUs in legacy multi-processor guests.
>> + * Only one. All other VCPUS must use VCPUOP_register_vcpu_info.
>> + */
>> +#define XEN_LEGACY_MAX_VCPUS 1
>> +
>> +typedef uint64_t xen_ulong_t;
>> +#define PRI_xen_ulong PRIx64
>> +#endif
>> +
>> +/*
>> + * Pointers and other address fields inside interface structures are padded to
>> + * 64 bits. This means that field alignments aren't different between 32- and
>> + * 64-bit architectures.
>> + */
>> +/* NB. Multi-level macro ensures __LINE__ is expanded before concatenation. */
>> +#define __MEMORY_PADDING(_X)
>> +#define _MEMORY_PADDING(_X)  __MEMORY_PADDING(_X)
>> +#define MEMORY_PADDING       _MEMORY_PADDING(__LINE__)
> 
> This doesn't parallel anything in other architectures afaics, and it is
> also not used anywhere in this header. What is this about? If it needs
> to stay, it'll need properly moving into XEN_* namespace.

This was another holdover from the old Xen code. I'll remove it.

>> +/* And the trap vector is... */
>> +#define TRAP_INSTR "li 0,-1; sc" /* XXX just "sc"? */
> 
> Same question / remark here.

Ditto, will remove.

> 
>> +#ifndef __ASSEMBLY__
>> +
>> +#define XENCOMM_INLINE_FLAG (1UL << 63)
> 
> Is this an indication that you mean to revive xencomm.h?

No, this was yet another holdover from the old Xen tree. I'll remove it.

>> +typedef uint64_t xen_ulong_t;
>> +
>> +/* User-accessible registers: nost of these need to be saved/restored
>> + * for every nested Xen invocation. */
> 
> Nit: comment style (and s/nost/most/).
>

Will fix.

>> +struct vcpu_guest_core_regs
>> +{
>> +    uint64_t gprs[32];
>> +    uint64_t lr;
>> +    uint64_t ctr;
>> +    uint64_t srr0;
>> +    uint64_t srr1;
>> +    uint64_t pc;
>> +    uint64_t msr;
>> +    uint64_t fpscr;             /* XXX Is this necessary */
>> +    uint64_t xer;
>> +    uint64_t hid4;              /* debug only */
>> +    uint64_t dar;               /* debug only */
>> +    uint32_t dsisr;             /* debug only */
>> +    uint32_t cr;
>> +    uint32_t __pad;             /* good spot for another 32bit reg */
>> +    uint32_t entry_vector;
>> +};
>> +typedef struct vcpu_guest_core_regs vcpu_guest_core_regs_t;
>> +
>> +typedef uint64_t tsc_timestamp_t; /* RDTSC timestamp */ /* XXX timebase */
>> +
>> +/* ONLY used to communicate with dom0! See also struct exec_domain. */
>> +struct vcpu_guest_context {
>> +    vcpu_guest_core_regs_t user_regs;         /* User-level CPU registers     */
>> +    uint64_t sdr1;                     /* Pagetable base               */
>> +    /* XXX etc */
>> +};
>> +typedef struct vcpu_guest_context vcpu_guest_context_t;
>> +DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>> +
>> +struct arch_shared_info {
>> +    uint64_t boot_timebase;
>> +};
>> +
>> +struct arch_vcpu_info {
>> +};
>> +
>> +struct xen_arch_domainconfig {
>> +};
>> +
>> +typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
>> +
>> +/* Support for multi-processor guests. */
>> +#endif
> 
> Stray comment?

Yup, I'll drop it.

>
> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 17:23:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 17:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580388.908574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQQB-0000iL-Pw; Tue, 08 Aug 2023 17:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580388.908574; Tue, 08 Aug 2023 17:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTQQB-0000iE-NB; Tue, 08 Aug 2023 17:23:03 +0000
Received: by outflank-mailman (input) for mailman id 580388;
 Tue, 08 Aug 2023 17:23: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTQQ9-0000hY-VC
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 17:23:02 +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 381b4b6c-3610-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 19:22:59 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691515374507665.4281754622317;
 Tue, 8 Aug 2023 10:22:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 381b4b6c-3610-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691515376; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KfWyKAd7k/j1FvjXNy8LfveOuk5h72ovl4+xbP7C9k1vyRlVcI/odaQusP1zKIuQ0Dsm6zUnKqygrEPKnsp7jAdedO9BWKtxqAbwPMFYTc5jUrRJyt5JdsP1Be4zpF++HPkom3cJiWX9swlp8l7L05QcJKHl6OwO6U7hs/ZmSTc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691515376; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=QgUwB5bURqerdWrUtMak9mr4Qnpb0Dv3X45/DrKwdsY=; 
	b=ZkyhkoGDS6TBGNIiXjZypsMkibvCumAdWKk/VubxVqMe+8OmTeZZd8clQ3McqzTbqTMJLvLQzGv+HeCLtg4AaK+VgZFfpC6zxSlaTA1ElcuYjwHsbGHk9XLVKTj7XGpMgOAJc1MpwgLiXYA9nOG4RpDNI+eZ2zFj8d9rMqlZle4=
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=1691515376;
	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=QgUwB5bURqerdWrUtMak9mr4Qnpb0Dv3X45/DrKwdsY=;
	b=PEinN6+ckmSE7+oiygpyU5WPE1QhGKSwcwzwJ+C3YPVCaTj9L0WbI8EmFcF6Ap/h
	YAc7IuQAWDIH9zFOASMzqwl5oc8P/yKy++UeNrh4czPN5b6ViL0tUTv4w1Lpq6eQdtF
	i8Qpk8gv+B9nxhRLpxw3lIrzBoGkZcopaHZaYUUs=
Message-ID: <bdbf125d-b772-404b-e2d1-79d40090a100@apertussolutions.com>
Date: Tue, 8 Aug 2023 13:22:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
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>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
 <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 19:38, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
>>> Also, what is the plan for the existing dom0less dt properties?
>>> Will they need to be moved to new /hypervisor node or we will have to parse
>>> both /chosen and /hypervisor nodes?
>>
>> In the proposal I sent to xen-devel in response to Luca's RFC for rebranding
>> dom0less features under hyperlaunch, that is the purpose of this commit. Get
>> this document up to date with what was done in v1 along with what we are
>> planning/working on for hyperlaunch. One could think of this as effectively
>> the API to the capabilities hyperlaunch will provide. Not just how to
>> construct a domain, but what kinds of domains can be constructed by
>> hyperlaunch. Step one of the proposal is to publish a patch upon which we all
>> can iterate over and get to an agreement on a suitable interface for all. The
>> next step would be the introduction of hyperlaunch dom0less compatibility
>> mode, that would see the moving of the parsing logic for the existing dom0less
>> nodes under /xen/common/domain-builder. It would continue to exist there even
>> after hyperlaunch proper is merged and can remain there for backward
>> compatibility until there is a decision to retire the compatibility interface.
> 
> I like this plan. The two interfaces are so similar that it is basically
> one interface with a couple of tiny differences.
> 
> So I expect we would move the existing dom0less parsing code to common/,
> add a couple of extensions (such as parsing /hypervisor in addition to
> /chosen) and use it as it.

Do you mean /chosen/hypervisor?

> Later on, after a few years of using /hypervisor instead of /chosen, if
> nobody is using /chosen anymore, we could retire /chosen completely. But
> this is just one DT node/property that gets retired (there are a couple
> of others). I don't imagine we'll have a full new implementation of the
> DT parsing logic that supersedes the existing implementation of it
> (especially considering the difficulty of maintaining 2 different parsing
> logics in the hypervisor for similar interfaces).

+1

> Same thing for the DT interface documentation. I don't think we need two
> DT interface docs? We could start with the existing dom0less interface
> (docs/misc/arm/device-tree/booting.txt), and move it somewhere common
> like docs/misc/device-tree.

So in the plan that I sent, patch series 3 was were I was going to 
consolidate docs/design/launch/hyperlaunch-devicetree.rst and 
docs/misc/arm/device-tree/booting.txt into a single document under 
docs/features/hyperlaunch/device-tree.rst along with moving 
docs/features/dom0less.pandoc to 
docs/features/hyperlaunch/dom0less-compatibility-mode.pandoc. The 
thinking here was to get all the feature documentation together in a 
single place, but I would be open to putting the suggested consolidated 
device-tree.rst mentioned above into 
docs/misc/device-tree/hyperlaunch.rst if that is preferred.

> Then add any changes or extensions required by other architecture, such
> as x86 and RISC-V.
> 
> For sure for x86 we need "module-index". I don't know if anything else
> is must-have to get it to work on x86 but if there is, we should add
> those too.

Hmm good point, since in the suggested patch series 3 from the plan, 
this probably should get cropped down to what we actually have 
implemented for x86 hyperlaunch and then get expanded as it becomes 
feature complete.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 19:20:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 19:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580397.908584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTSFK-0003tH-25; Tue, 08 Aug 2023 19:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580397.908584; Tue, 08 Aug 2023 19:19: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 1qTSFJ-0003sl-RH; Tue, 08 Aug 2023 19:19:57 +0000
Received: by outflank-mailman (input) for mailman id 580397;
 Tue, 08 Aug 2023 19: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=K7Oi=DZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTSFH-0003sI-Pb
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 19:19:55 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ca36bd0-3620-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 21:19:52 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 744CC828587A;
 Tue,  8 Aug 2023 14: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 bcHlttGesGtC; Tue,  8 Aug 2023 14:19:50 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 47DC682855D5;
 Tue,  8 Aug 2023 14: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 1bEtGMk1tYep; Tue,  8 Aug 2023 14:19:50 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D6FEF828587A;
 Tue,  8 Aug 2023 14: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: 8ca36bd0-3620-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 47DC682855D5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691522390; bh=HYGdGlNDyauIBLzupGLZafVYsfWvl2F0CI3SW+AmCnk=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=u+m7SMyJIq0iBH2P0YZVpklRZif67qxmQPhJpMtYRmJYRbuMDZN0KvTe/+cjG6vhc
	 0UXr6KhtvwAzsh3iXqlksjZuE2tSG+A8x0bG+vQUYILUK/zwqCyq+PvljGHWwZXmyR
	 fDaLzJxACkeafPR8U9QDaFW1ObzEZUOxXlAbzBws=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <080f37f4-2b2a-c057-568d-6e4974eb2f8c@raptorengineering.com>
Date: Tue, 8 Aug 2023 14:19:49 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 3/9] xen/ppc: Implement atomic.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <8035b9659a5930c00802dd36ab52574695d6b419.1691016993.git.sanastasio@raptorengineering.com>
 <5e9380a5-7e33-ea70-6aa5-3ce1906a159c@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <5e9380a5-7e33-ea70-6aa5-3ce1906a159c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/7/23 11:13 AM, Jan Beulich wrote:
> On 03.08.2023 01:02, Shawn Anastasio wrote:
>> Implement atomic.h for PPC, based off of the original Xen 3.2
>> implementation.
> 
> Since likely that originally came from Linux, did you cross check that
> Linux hasn't gained any bug fixes in the meantime?

I did -- the atomic barrier instructions used by linux have changed
since this code was originally written, so I've updated them to be
inline with modern linux.

> Other than this just a couple of nits; I'm not really qualified to
> review in particular the inline assembly here, I'm afraid.
> 
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/atomic.h
>> @@ -0,0 +1,387 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * PowerPC64 atomic operations
>> + *
>> + * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
>> + * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
>> + * Copyright Raptor Engineering LLC
>> + *
>> + * 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.
>> + */
>> +
>> +#ifndef _ASM_PPC64_ATOMIC_H_
>> +#define _ASM_PPC64_ATOMIC_H_
> 
> To fit the name, no "64" please.

Will fix.

>> +#include <xen/atomic.h>
>> +
>> +#include <asm/memory.h>
>> +#include <asm/system.h>
>> +
>> +static inline int atomic_read(const atomic_t *v)
>> +{
>> +    return *(volatile int *)&v->counter;
>> +}
>> +
>> +static inline int _atomic_read(atomic_t v)
>> +{
>> +    return v.counter;
>> +}
>> +
>> +static inline void atomic_set(atomic_t *v, int i)
>> +{
>> +    v->counter = i;
>> +}
>> +
>> +static inline void _atomic_set(atomic_t *v, int i)
>> +{
>> +    v->counter = i;
>> +}
>> +
>> +void __bad_atomic_read(const volatile void *p, void *res);
>> +void __bad_atomic_size(void);
>> +
>> +#define build_atomic_read(name, insn, type)                                    \
>> +    static inline type name(const volatile type *addr)                         \
>> +    {                                                                          \
>> +        type ret;                                                              \
>> +        asm volatile ( insn "%U1%X1 %0,%1" : "=r"(ret) : "m<>"(*addr) );       \
> 
> As I think I had mentioned before, asm() contraints want a blank between
> closing quote and opend paren. I.e. like this
> 
>         asm volatile ( insn "%U1%X1 %0,%1" : "=r" (ret) : "m<>" (*addr) );
> 

My mistake, I went through and hand-formatted all of this code to try to
be inline with Xen's style but forgot about the constraints.

As an aside, I don't suppose there is an automatic formatter somewhere
that I've missed? I found an old clang-format fork that claims to add
support for Xen's formatting[1] but it seems to only handle a subset of
Xen's rules so I haven't found it very useful.

[1] https://github.com/NastyaVicodin/llvm-project/commits/main

>> +#define read_atomic(p)                                                         \
>> +    ({                                                                         \
>> +        union {                                                                \
>> +            typeof(*(p)) val;                                                  \
>> +            char c[0];                                                         \
>> +        } x_;                                                                  \
>> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \
>> +        x_.val;                                                                \
>> +    })
>> +
>> +#define write_atomic(p, x)                                                     \
>> +    do                                                                         \
>> +    {                                                                          \
>> +        typeof(*(p)) x_ = (x);                                                 \
>> +        write_atomic_size(p, &x_, sizeof(*(p)));                               \
>> +    } while ( 0 )
> 
> Up to here you use underscore-suffixed locals, but then ...
> 
>> +#define add_sized(p, x)                                                        \
>> +    ({                                                                         \
>> +        typeof(*(p)) __x = (x);                                                \
> 
> ... you have even two prefixing underscores here.
> 

The definitions of these macros were directly copied from elsewhere in
Xen (x86 and arm). I can change them all to use underscore-suffixed
local naming here, though.

>> +        switch ( sizeof(*(p)) )                                                \
>> +        {                                                                      \
>> +        case 1:                                                                \
>> +            add_u8_sized((uint8_t *) (p), __x);                                \
>> +            break;                                                             \
>> +        case 2:                                                                \
>> +            add_u16_sized((uint16_t *) (p), __x);                              \
>> +            break;                                                             \
>> +        case 4:                                                                \
>> +            add_u32_sized((uint32_t *) (p), __x);                              \
>> +            break;                                                             \
>> +        default:                                                               \
>> +            __bad_atomic_size();                                               \
>> +            break;                                                             \
>> +        }                                                                      \
>> +    })
>> +
>> +static inline void atomic_add(int a, atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( "1: lwarx %0,0,%3\n"
>> +                   "add %0,%2,%0\n"
>> +                   "stwcx. %0,0,%3\n"
>> +                   "bne- 1b"
>> +                   : "=&r"(t), "=m"(v->counter)
>> +                   : "r"(a), "r"(&v->counter), "m"(v->counter) : "cc" );
> 
> "+m" and then drop the last input?
> 

Yes, that makes sense. Not sure why it was originally written that way
but I'll change it.

>> +static inline int atomic_dec_if_positive(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile(PPC_ATOMIC_ENTRY_BARRIER
>> +                 "1:    lwarx    %0,0,%1        # atomic_dec_if_positive\n"
>> +                 "addic.    %0,%0,-1\n"
>> +                 "blt-    2f\n"
>> +                 "stwcx.    %0,0,%1\n"
>> +                 "bne-    1b\n"
>> +                 PPC_ATOMIC_EXIT_BARRIER
>> +                 "2:" : "=&r"(t)
>> +                 : "r"(&v->counter) : "cc", "memory");
> 
> Missing blanks near the parentheses. Would also be nice if the padding
> blanks actually vertically aligned the operands.

I tried to make the spacing uniform across all asm blocks in this file,
but the convention I used was just a single space between the mnemonic
and the operands. I seemed to have missed this one though, so I'll bring
it in line with the others.

>> +    return t;
>> +}
>> +
>> +static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
>> +                                             atomic_t *v)
>> +{
>> +    atomic_t rc;
>> +    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
>> +    return rc;
>> +}
>> +
>> +#define arch_cmpxchg(ptr, o, n)                                                \
>> +    ({                                                                         \
>> +        __typeof__(*(ptr)) _o_ = (o);                                          \
>> +        __typeof__(*(ptr)) _n_ = (n);                                          \
> 
> Problematic leading underscores again.
> 

Will fix.

>> +        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) _o_,             \
>> +                                       (unsigned long) _n_, sizeof(*(ptr)));   \
>> +    })
>> +
>> +static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
>> +{
>> +    return arch_cmpxchg(&v->counter, old, new);
>> +}
>> +
>> +#define ATOMIC_OP(op, insn, suffix, sign) \
>> +    static inline void atomic_##op(int a, atomic_t *v)                           \
>> +    {                                                                            \
>> +        int t;                                                                   \
>> +        asm volatile ( "1: lwarx %0,0,%3\n"                                      \
>> +                       insn "%I2" suffix " %0,%0,%2\n"                         \
>> +                       "stwcx. %0,0,%3 \n"                                       \
>> +                       "bne- 1b\n"                                               \
>> +                       : "=&r"(t), "+m"(v->counter)                              \
>> +                       : "r" #sign(a), "r"(&v->counter)                          \
>> +                       : "cc" );                                                 \
>> +    }
>> +
>> +ATOMIC_OP(and, "and", ".", K)
>> +
>> +static inline int atomic_sub_and_test(int i, atomic_t *v)
>> +{
>> +    return atomic_sub_return(i, v) == 0;
>> +}
>> +
>> +static inline int atomic_inc_and_test(atomic_t *v)
>> +{
>> +    return atomic_add_return(1, v) == 0;
>> +}
>> +
>> +static inline int atomic_dec_and_test(atomic_t *v)
>> +{
>> +    return atomic_sub_return(1, v) == 0;
>> +}
>> +
>> +static inline int atomic_add_negative(int i, atomic_t *v)
>> +{
>> +    return atomic_add_return(i, v) < 0;
>> +}
>> +
>> +static inline int __atomic_add_unless(atomic_t *v, int a, int u)
>> +{
>> +	int c, old;
>> +
>> +	c = atomic_read(v);
>> +	while (c != u && (old = atomic_cmpxchg((v), c, c + a)) != c)
> 
> Btw, no real need to parenthesize v in cases like this one. Otoh a needs
> parenthesizing.

FWIW this was copied directly from arm64/atomic.h, but seeing as its a
normal function and not a macro I'm not sure I see why `a` would need
parenthesis. I'll drop the ones around `v` though.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 19:52:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 19:52:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580404.908593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTSkc-0008Ob-IV; Tue, 08 Aug 2023 19:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580404.908593; Tue, 08 Aug 2023 19:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTSkc-0008OU-G2; Tue, 08 Aug 2023 19:52:18 +0000
Received: by outflank-mailman (input) for mailman id 580404;
 Tue, 08 Aug 2023 19:52: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=K7Oi=DZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTSkb-0008OO-Ll
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 19:52:17 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1334efdb-3625-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 21:52:16 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4E0718285285;
 Tue,  8 Aug 2023 14:52:15 -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 SG_fbO8XG_c0; Tue,  8 Aug 2023 14:52:14 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8E136828593C;
 Tue,  8 Aug 2023 14:52:14 -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 Er11vF-l5oIy; Tue,  8 Aug 2023 14:52:14 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 1E61D8285285;
 Tue,  8 Aug 2023 14:52: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: 1334efdb-3625-11ee-b280-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 8E136828593C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691524334; bh=S74nCpp+zbs+6j1cN313tLRIw0grqHtroJIyEPXUZkU=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=D/57Npe3f6jh3mhIXThO//OUVtk25ZMWnd02FuI1wtuz7tmOyj8gyf7YSKwqHHvyU
	 Ag/ba1TLcdl0m6v37ZLdwwdtcLanFjfVJmyzG7jte80I55GZFXvCvA7kmp24m2wcEw
	 EsB7fzEfF885cgVtVga3UPXA6KklPzjqUBTXmMJo=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <d3bc8dd2-f502-2ffd-4f86-9bf0ff36d3fe@raptorengineering.com>
Date: Tue, 8 Aug 2023 14:52:13 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 4/9] xen/ppc: Implement bitops.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <63b89c627948015cc9a1c1e5d1775ee9e41508ba.1691016993.git.sanastasio@raptorengineering.com>
 <61ca4a1d-2589-5794-5560-db60e10a7f15@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <61ca4a1d-2589-5794-5560-db60e10a7f15@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/8/23 3:36 AM, Jan Beulich wrote:
> On 03.08.2023 01:03, Shawn Anastasio wrote:
>> Implement bitops.h, based on Linux's implementation as of commit
>> 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc
> 
> But with PPC32 bits dropped afaics, and with leading hard tabs replaced
> by four spaces - which in turn appears to yield some unhelpful placement
> of line-continuing backslashes. And with some
> asm-generic/bitops/builtin-*.h expanded. Please mention all adjustments
> you made, to allow for some future importing of updates to go as
> smoothly as possible.

Yes, that is all correct. Additionally, the code was adapted to use
32-bit words for bitmap entries like the rest of Xen's architectures do
instead of the 64-bit longs used by the Linux implementation. I provided
the reference to the Linux commit for completeness' sake, but to be
clear, my changes have caused it to diverge enough where I wouldn't
expect direct imports from Linux to be (conveniently) possible.

I'll clarify this in the commit message and also fix the macro
line-continuing backslash spacing.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 19:54:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 19:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580409.908604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTSmN-0000Wf-To; Tue, 08 Aug 2023 19:54:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580409.908604; Tue, 08 Aug 2023 19: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 1qTSmN-0000WY-Qv; Tue, 08 Aug 2023 19:54:07 +0000
Received: by outflank-mailman (input) for mailman id 580409;
 Tue, 08 Aug 2023 19:54: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTSmM-0000WS-7p
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 19:54:06 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52fcd48e-3625-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 21:54:04 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691524439090360.089032463114;
 Tue, 8 Aug 2023 12:53: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: 52fcd48e-3625-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691524440; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=OSRsXbbEZoXLkhFyYOoWxl1EkyA0chm2kkoBnLzViYFyN73Codh5pub56Gek2XfZ/lTe8U+hKPh2TnASxvLMiSjmF4LBOXum/k6jrRoJeySdoXhVeVGI/GPIt1d+c5UxTYutOVWbhHyVgZfB1xw7RNHd37uFs4N8L6y9cqZjhsU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691524440; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=DmZPxTSfNhc0mZHMD+7OFVxhiA+rfHCfTf2zgwRrq7M=; 
	b=dAqToByapNa/zpK3lpbUmx+jNPvKKpXu7tvNSqwbqmsGV16VVNiO8U9atfxpBETJmaKjGPiEgjedTO9fGD5LXyOpo4hBuBM9gpVw8Bm8axWyh174COptFTu/ASQg3Y9vcuKXGaEG59mGOjd1IWUZw5/eJ/G5yslsY88tzGYLhVI=
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=1691524440;
	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=DmZPxTSfNhc0mZHMD+7OFVxhiA+rfHCfTf2zgwRrq7M=;
	b=JWOj4FFIgOSdp9I0u0stIOt89U+BY0WiKkIRp68S7W6LPSijR4hJEpWSF4nia+EE
	tdJ9IgT6O3EXuZ/IvmjRZAonbl4mL6ZdDuEsCedbvu5Bo0zMjSDAKGpvb2fbyf8RLzg
	FRq/3sZHH9vfncE4mdy6mUoicMrZD13ZTzbbISrY=
Message-ID: <fc91ad7b-df94-a1ec-abe1-9472337024b6@apertussolutions.com>
Date: Tue, 8 Aug 2023 15:53:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
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>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
 <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2308031709070.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031709070.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 20:09, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Stefano Stabellini wrote:
>> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
>>>> Also, what is the plan for the existing dom0less dt properties?
>>>> Will they need to be moved to new /hypervisor node or we will have to parse
>>>> both /chosen and /hypervisor nodes?
>>>
>>> In the proposal I sent to xen-devel in response to Luca's RFC for rebranding
>>> dom0less features under hyperlaunch, that is the purpose of this commit. Get
>>> this document up to date with what was done in v1 along with what we are
>>> planning/working on for hyperlaunch. One could think of this as effectively
>>> the API to the capabilities hyperlaunch will provide. Not just how to
>>> construct a domain, but what kinds of domains can be constructed by
>>> hyperlaunch. Step one of the proposal is to publish a patch upon which we all
>>> can iterate over and get to an agreement on a suitable interface for all. The
>>> next step would be the introduction of hyperlaunch dom0less compatibility
>>> mode, that would see the moving of the parsing logic for the existing dom0less
>>> nodes under /xen/common/domain-builder. It would continue to exist there even
>>> after hyperlaunch proper is merged and can remain there for backward
>>> compatibility until there is a decision to retire the compatibility interface.
>>
>> I like this plan. The two interfaces are so similar that it is basically
>> one interface with a couple of tiny differences.
>>
>> So I expect we would move the existing dom0less parsing code to common/,
>> add a couple of extensions (such as parsing /hypervisor in addition to
>> /chosen) and use it as it.
>>
>> Later on, after a few years of using /hypervisor instead of /chosen, if
>> nobody is using /chosen anymore, we could retire /chosen completely. But
>> this is just one DT node/property that gets retired (there are a couple
>> of others). I don't imagine we'll have a full new implementation of the
>> DT parsing logic that supersedes the existing implementation of it
>> (especially considering the difficulty of maintaining 2 different parsing
>> logics in the hypervisor for similar interfaces).
>>
>> Same thing for the DT interface documentation. I don't think we need two
>> DT interface docs? We could start with the existing dom0less interface
>> (docs/misc/arm/device-tree/booting.txt), and move it somewhere common
>> like docs/misc/device-tree.
>>
>> Then add any changes or extensions required by other architecture, such
>> as x86 and RISC-V.
>>
>> For sure for x86 we need "module-index". I don't know if anything else
>> is must-have to get it to work on x86 but if there is, we should add
>> those too.
> 
> 
> For clarity, I think we should definitely have
> docs/design/launch/hyperlaunch.rst, and maybe we should also have
> hyperlaunch-devicetree.rst as an overview description and user guide.
> That's useful.
> 
> But in terms of official device tree bindings interface description
> (basically what in Linux would go under
> Documentation/devicetree/bindings/), I think it would be best to only
> have a single document. The current one is
> docs/misc/arm/device-tree/booting.txt.

Does the proposal to your first message align with your follow-up here?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 20:15:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 20:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580417.908614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTT70-0003H5-MW; Tue, 08 Aug 2023 20:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580417.908614; Tue, 08 Aug 2023 20: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 1qTT70-0003Gy-Ib; Tue, 08 Aug 2023 20:15:26 +0000
Received: by outflank-mailman (input) for mailman id 580417;
 Tue, 08 Aug 2023 20:15: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTT6y-0003Gs-Ot
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 20:15:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cde2426-3628-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 22:15:22 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5DE2A618C5;
 Tue,  8 Aug 2023 20:15:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93401C433C7;
 Tue,  8 Aug 2023 20:15:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cde2426-3628-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691525719;
	bh=DzLqUjHIokBCqXIWi41GI1OSvOB+/1CmJeF1xpqRA1o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mHjFWk9kEWjBv0s7LnAjrn3S+o24epM9JdKOgT4GNrfjJu+UoKvHh8jhYkE8HkMJ2
	 rH1ePgfidumnwmdkeHfhquXihP4G9+LATeRgXhdU44LaN9lTywqNLJJx0LHNET167b
	 ycCoBju7Y7ZAADzHmNlllw4n55+sCYMLi72cKpYGCQDXQkXBMvygLcLIGAjBcWf48h
	 uuwYfuGKfvf5fOd6gso5mL7dXdbm9iHhiw/n+4DH4bB5+yoPpYGVR3eA26/Gso3QxZ
	 5B+Ar7INTGWJpvqWApNGAOKLJlv0dEaOG+HSawRwM/ws7K+pkHGpFIhkbSurvTp1E3
	 fsEtIIX3QBj1Q==
Date: Tue, 8 Aug 2023 13:15:17 -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, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    federico.serafini@bugseng.com, tamas@tklengyel.com, 
    george.dunlap@cloud.com
Subject: Re: [XEN PATCH] xen: change parameter name in monitor_domctl()
 declaration
In-Reply-To: <4722cb01-2e0a-6a12-b398-0ddd024b50bd@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308081313100.2127516@ubuntu-linux-20-04-desktop>
References: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.git.federico.serafini@bugseng.com> <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop> <4722cb01-2e0a-6a12-b398-0ddd024b50bd@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1365989943-1691525642=:2127516"
Content-ID: <alpine.DEB.2.22.394.2308081314030.2127516@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-1365989943-1691525642=:2127516
Content-Type: text/plain; CHARSET=US-ASCII
Content-ID: <alpine.DEB.2.22.394.2308081314031.2127516@ubuntu-linux-20-04-desktop>

On Tue, 8 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 23:39, Stefano Stabellini wrote:
> > Hi Tamas,
> > 
> > May I have your ack on this change?
> 
> I see you committed this, and there is an ack in the commit, but I can't
> see any ack on list (incl when checking mail archives, to exclude an
> issue with my mailbox).

That is strange! Something appears to be wrong with xen-devel. Adding
George in CC and attaching Tamas' reply.


> > On Thu, 27 Jul 2023, Federico Serafini wrote:
> >> Change parameter name in monitor_domctl() declaration for
> >> consistency with the corresponding definition.
> >> This addresses a violation of MISRA C:2012 Rule 8.3: "All declarations
> >> of an object or function shall use the same names and type qualifiers".
> >>
> >> No functional changes.
> >>
> >> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > 
> > 
> >> ---
> >>  xen/include/xen/monitor.h | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
> >> index 6b17a93071..713d54f7c1 100644
> >> --- a/xen/include/xen/monitor.h
> >> +++ b/xen/include/xen/monitor.h
> >> @@ -27,7 +27,7 @@
> >>  struct domain;
> >>  struct xen_domctl_monitor_op;
> >>  
> >> -int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
> >> +int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
> >>  void monitor_guest_request(void);
> >>  
> >>  int monitor_traps(struct vcpu *v, bool sync, vm_event_request_t *req);
> >> -- 
> >> 2.34.1
> >>
> >>
> > 
> 
--8323329-1365989943-1691525642=:2127516
Content-Type: message/rfc822; NAME=tamas.eml
Content-Transfer-Encoding: BINARY
Content-ID: <alpine.DEB.2.22.394.2308081314560.2127516@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=tamas.eml

>From tamas@tklengyel.com Sat Aug  5 04:06:33 2023
Return-Path: <SRS0=apUu=DW=tklengyel.com=bounce+b5c693.cd840-sstabellini=kernel.org@kernel.org>
Delivered-To: stefano-oss@posteo.net
Received: from posteo.de [185.67.36.169]
	by ubuntu-linux-20-04-desktop with IMAP (fetchmail-6.4.2)
	for <sstabellini@localhost> (single-drop); Sat, 05 Aug 2023 04:06:33 -0700 (PDT)
Received: from proxy02.posteo.name ([127.0.0.1])
	by dovecot15.posteo.name (Dovecot) with LMTP id OD0XKygrzmTfMAIAB3Nl4w
	for <stefano-oss@posteo.net>; Sat, 05 Aug 2023 13:06:14 +0200
Received: from proxy02.posteo.de ([127.0.0.1])
	by proxy02.posteo.name (Dovecot) with LMTP id fqefNzspzmTX4QAAGFAyLg
	; Sat, 05 Aug 2023 13:06:14 +0200
Received: from mailin02.posteo.de (unknown [10.0.0.62])
	by proxy02.posteo.de (Postfix) with ESMTPS id 4RJ0BL2G6Jz12M6
	for <stefano-oss@posteo.net>; Sat,  5 Aug 2023 13:06:02 +0200 (CEST)
Received: from mx01.posteo.de (mailin02.posteo.de [127.0.0.1])
	by mailin02.posteo.de (Postfix) with ESMTPS id 3ED26216E2
	for <stefano-oss@posteo.net>; Sat,  5 Aug 2023 13:06:02 +0200 (CEST)
X-Virus-Scanned: amavisd-new at posteo.de
X-Spam-Flag: NO
X-Spam-Score: -4.75
X-Spam-Level: 
X-Spam-Status: No, score=-4.75 tagged_above=-1000 required=5
	tests=[HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001,
	RCVD_IN_DNSWL_HI=-5, T_POSTEO_TLSINY=0.01,
	T_RCVD_IN_ABUSIX_WHITE=-0.01] autolearn=disabled
X-Posteo-Antispam-Signature: v=1; e=base64; a=aes-256-gcm; d=p4jeoLx8GSVfXysvUQMETnPVZwsS1NCfRrCQ+OIfXMVkjhIZ6cJqJzQ2xsxWawG5B4emcNKFyaO0uF37H3jKNhljpy3WUd4kJSdvfddciH4VZJrlRmkPTO3n77X06CxEC2ZK2K7g
Authentication-Results: posteo.de; dmarc=none (p=none dis=none) header.from=tklengyel.com
Authentication-Results: posteo.de; spf=pass smtp.mailfrom=kernel.org
Authentication-Results: posteo.de;
	dkim=pass (2048-bit key) header.d=tklengyel.com header.i=@tklengyel.com header.b=NZXhVc+1;
	dkim-atps=neutral
X-Posteo-TLS-Received-Status: TLSv1.3
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
	by mx01.posteo.de (Postfix) with ESMTPS id 4RJ0BK3q2Lz11g3
	for <stefano-oss@posteo.net>; Sat,  5 Aug 2023 13:06:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by dfw.source.kernel.org (Postfix) with ESMTPS id 748A3601D0
	for <stefano-oss@posteo.net>; Sat,  5 Aug 2023 11:06:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix)
	id E997BC433C9; Sat,  5 Aug 2023 11:05:59 +0000 (UTC)
Delivered-To: sstabellini@kernel.org
Received: from so254-35.mailgun.net (so254-35.mailgun.net [198.61.254.35])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.kernel.org (Postfix) with ESMTPS id 348A5C433C8
	for <sstabellini@kernel.org>; Sat,  5 Aug 2023 11:05:57 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 348A5C433C8
Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=tklengyel.com
Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=tklengyel.com
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1691233557; x=1691240757; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=XEy1vcTg986vcuRn0cPfqtUGQoVn71aO6yXWNPsDcxk=;
 b=NZXhVc+1LvgtFz3pZo5eY/1oI+bvlQ3bB+A78sFqnfnLDKJHOLEuyKq99mzA6xhCmle23OzwhRXlfjR0LhB5pn4eVXXoV+/SIXHrUd4/yX/JPwvz03PB7MiA4ori9XJ88+EjC4BEJaniSPsz3G3hc0L/niZXBBzOJZXVCwR5K+cwaW4TECmqvXDAdvOiTkyfmU9df3JW7qSdw6+0SbtvQcTI06VFiROAHiBn2TGDwSzxYtEA43P3JHEw2zvukbN+VqO8dj6dDMAVtyYPimJ79CPesn6HYDDmsR0kTptCyFBgHLT7Gm2rFb1qoh1feNUtlH6rw4kZnH21KTHw7io5ZQ==
X-Mailgun-Sending-Ip: 198.61.254.35
X-Mailgun-Sid: WyI2MzhkZCIsInNzdGFiZWxsaW5pQGtlcm5lbC5vcmciLCJjZDg0MCJd
Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) by
 aba04b98da0a with SMTP id 64ce2d1544e01654935e5a3b (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sat, 05 Aug 2023 11:05:57 GMT
Sender: tamas@tklengyel.com
Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-586a3159588so25627287b3.0
        for <sstabellini@kernel.org>; Sat, 05 Aug 2023 04:05:57 -0700 (PDT)
X-Gm-Message-State: AOJu0YziM/EzIuEAzcUpHfY7hNhb9pGl+eZvYLzSfl2n7nkjDlH48XUp
	6O8gexWJG+sWR/f3n9EugmCpOnFYliZVhHKlcr4=
X-Google-Smtp-Source: AGHT+IHeaTodq61jc8nt4YGs/RkXrtsDT5KZst1gZHUjz80gQXJivp4tUcqwXUIDc+OnFE93Mhgqw4csAoe7ZxG3rV0=
X-Received: by 2002:a81:6c45:0:b0:586:9384:ffd7 with SMTP id
 h66-20020a816c45000000b005869384ffd7mr2473174ywc.9.1691233556109; Sat, 05 Aug
 2023 04:05:56 -0700 (PDT)
MIME-Version: 1.0
References: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Sat, 5 Aug 2023 13:05:44 +0200
X-Gmail-Original-Message-ID: <CABfawh=r2Ad6ZvHqjH3UpGGx2wjjuurhcOabby=Xv=E2zK0TsA@mail.gmail.com>
Message-ID: <CABfawh=r2Ad6ZvHqjH3UpGGx2wjjuurhcOabby=Xv=E2zK0TsA@mail.gmail.com>
Subject: Re: [XEN PATCH] xen: change parameter name in monitor_domctl() declaration
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, consulting@bugseng.com, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Federico Serafini <federico.serafini@bugseng.com>
Content-Type: multipart/alternative; boundary="0000000000005822c306022aff56"

<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 4, 2023, 11:39 PM Stefano Stabellini &lt;<a href="mailto:sstabellini@kernel.org">sstabellini@kernel.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Tamas,<br>
<br>
May I have your ack on this change?<br>
<br>
<br>
On Thu, 27 Jul 2023, Federico Serafini wrote:<br>
&gt; Change parameter name in monitor_domctl() declaration for<br>
&gt; consistency with the corresponding definition.<br>
&gt; This addresses a violation of MISRA C:2012 Rule 8.3: &quot;All declarations<br>
&gt; of an object or function shall use the same names and type qualifiers&quot;.<br>
&gt; <br>
&gt; No functional changes.<br>
&gt; <br>
&gt; Signed-off-by: Federico Serafini &lt;<a href="mailto:federico.serafini@bugseng.com" target="_blank" rel="noreferrer">federico.serafini@bugseng.com</a>&gt;<br>
<br>
Reviewed-by: Stefano Stabellini &lt;<a href="mailto:sstabellini@kernel.org" target="_blank" rel="noreferrer">sstabellini@kernel.org</a>&gt;<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Acked-by: Tamas K Lengyel &lt;<a href="mailto:tamas@tklengyel.com">tamas@tklengyel.com</a>&gt;</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

--8323329-1365989943-1691525642=:2127516--


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 20:48:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 20:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580433.908627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTTcz-0006tl-5n; Tue, 08 Aug 2023 20:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580433.908627; Tue, 08 Aug 2023 20: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 1qTTcz-0006te-3E; Tue, 08 Aug 2023 20:48:29 +0000
Received: by outflank-mailman (input) for mailman id 580433;
 Tue, 08 Aug 2023 20: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTTcx-0006tY-SO
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 20:48:27 +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 ead8b7a2-362c-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 22:48:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8AF4D62CB8;
 Tue,  8 Aug 2023 20:48:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8CC7C433C7;
 Tue,  8 Aug 2023 20:48:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ead8b7a2-362c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691527702;
	bh=FYbbd7qQVQZaGqd4d1CTFtThoJ1+SUu0wdRwt+YrOEQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T+/6gZNHu+vSZpj3zJrywt3/r4buvzTZKcG7iUEqeRTB9fmnbH2lXAhN2RoX9f3So
	 BcBsQCxu4TVMTg9419/BOjpk8U7S3qSL4jH+R4mW8jKraqb6nRIRuNmdKmnMzZfYkS
	 YdNi4luudmOgoAwfqqHVP8p7/dgPekO1QNOB6hCM7npDTuxLhF0kfb6SMWQHu8f40v
	 hZFqOe3tB+7EmH2xuR71/TSP0Y9i1rxAV2iSCPO5hSrnwJSnzYxoWriu0B9J7QA8rg
	 iWOH3QCfY9pTJMOjNbcizFb4gWbfdvR93NUFlXESjj1+n/Ub8qLPXyiX7BEGr+MsEg
	 OlojuKeOWIQew==
Date: Tue, 8 Aug 2023 13:48:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>, 
    Tamas K Lengyel <tamas@tklengyel.com>
Subject: Re: [PATCH] mem-sharing: move (x86) / drop (Arm)
 arch_dump_shared_mem_info()
In-Reply-To: <B566D20C-3818-4476-9FB4-4F93721C6E6D@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308081348120.2127516@ubuntu-linux-20-04-desktop>
References: <b0a49d20-8e82-8264-8241-86a108139682@suse.com> <B566D20C-3818-4476-9FB4-4F93721C6E6D@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Luca Fancellu wrote:
> > On 8 Aug 2023, at 13:02, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > When !MEM_SHARING no useful output is produced. Move the function into
> > mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
> > drop it altogether from Arm (and eliminating the need to introduce stubs
> > on PPC and RISC-V).
> > 
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > I wasn't really sure whether introducing a stub in xen/mm.h would be any
> > better than adding the (further) #ifdef to dump_domains().
> > 
> > We could go further and also eliminate the need for the stub variants
> > of mem_sharing_get_nr_{shared,saved}_mfns() by moving the
> > XENMEM_get_sharing_{shared,freed}_pages cases in
> > {,compat_}arch_memory_op() into the already existing #ifdef-s there.
> > Returning an error for those sub-ops may be slightly more appropriate
> > than returning 0 when !MEM_SHARING.
> > 
> > --- a/xen/arch/arm/mm.c
> > +++ b/xen/arch/arm/mm.c
> > @@ -1297,10 +1297,6 @@ void free_init_memory(void)
> >     printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
> > }
> > 
> > -void arch_dump_shared_mem_info(void)
> > -{
> > -}
> > -
> 
> Hi Jan,
> 
> For the arm part:
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> #arm

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 20:49:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 20:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580437.908638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTTdq-0007OY-Ej; Tue, 08 Aug 2023 20:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580437.908638; Tue, 08 Aug 2023 20: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 1qTTdq-0007OP-C2; Tue, 08 Aug 2023 20:49:22 +0000
Received: by outflank-mailman (input) for mailman id 580437;
 Tue, 08 Aug 2023 20: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTTdp-0007Ln-I7
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 20:49:21 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0aa53b01-362d-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 22:49:19 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691527754532158.44535830733014;
 Tue, 8 Aug 2023 13:49:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aa53b01-362d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691527755; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KY/s9YNKZ1aTKvo1EedCM+0ctLQxGveKJIHTVRzf0hIboO6dS39ezOOSu/9bbKhge5DmYYvroBDxQgf+TrhEqAv9fcmvEHjxQtQv/uFeGm9/UWAlsz0PYTX3TEwRdlLwVdXCCOcqkws0s/3FK0eHsiYODULc+GEoeLWHVRQQwf0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691527755; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=/w/Am2MySHbgAw5P6JWjiaZULfNc48wFcVVLbQ8Y9YE=; 
	b=oE2WhI2WZUzZSYfHsGwTpum4wX0zuUrHt5baBLLSCGhItvVEMoDqH+5YBDogA87HxEl5y8aFi9lqcWTkRI1kftVZ6ul4daGerJmvDkfd4xtQcduXAw12YnBmuvEEnkluVF3UR9B0cXSDJ4ASHVfNLz+ZQZi6YdJ5wkY06M3iGW0=
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=1691527755;
	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=/w/Am2MySHbgAw5P6JWjiaZULfNc48wFcVVLbQ8Y9YE=;
	b=AX32es/gDFgK+jw8qczNeHL3bcSOIezkDHseY3xF1gmbglwh1UAJ1uye6ePoA3pj
	JklQVTVhEdYsXQxnH8AYSSqkqbSf7l2UEfN3jSzq1CifwY2v+7Klo8YHRsnEudwwTw7
	2SqUxgroZJu+dlAPxNyNi4MInhCn4E0o9Y7YJrmY=
Message-ID: <76249714-6d1d-a2ad-cfe5-d7eae0ce3a1b@apertussolutions.com>
Date: Tue, 8 Aug 2023 16:49:13 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <3ddab6ee-54fc-49a0-8f14-79ca258d04af@xen.org>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <3ddab6ee-54fc-49a0-8f14-79ca258d04af@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/4/23 05:03, Julien Grall wrote:
> Hi Daniel,
> 
> On 03/08/2023 11:44, Daniel P. Smith wrote:
>> +compatible
>> +Â  Identifies which hypervisors the configuration is compatible. 
>> Required.
>> -Â Â Â  hypervisor {
>> -Â Â Â Â Â Â Â  compatible = â€œhypervisor,xenâ€
>> +Â  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
> 
> I read "e.g" as "for example". You don't explicitely say which 
> compatible will be supported by Xen, so one could write "hypervisor,foo" 
> and expect to work.
> 
> Also, it is not fully clear why you need both the hypervisor and each 
> domain node to have a compatible with the hypervisor name in it.

Ack, it should be explicit to what is expected for a Xen configuration. 
As for compatible on the domain node, I think that was from being overly 
cautious, it can be dropped.

This did get me reflecting that the compatibility was added there as 
there was some initial participation in standardization efforts going on 
at the time. I am not sure what has come of those, but the question it 
raised is that domain is a Xen specific term, whereas generally vm is 
accepted as the generic term. Maybe this node needs renaming?

>> +compatible
>> +Â  Identifies the hypervisor the confiugration is intended. Required.
> 
> Also typo: s/confiugration/configuration/

Ack.

>> -The modules that would be supplied when using the above config would be:
>> +Â  Format: "<hypervisor name>,config", e.g "xen,config"
>> -* (the above config, compiled into hardware tree)
>> -* CPU microcode
>> -* XSM policy
>> -* kernel for boot domain
>> -* ramdisk for boot domain
>> -* boot domain configuration file
>> -* kernel for the classic dom0 domain
>> -* ramdisk for the classic dom0 domain
>> +bootargs
>> +Â  This is used to provide the boot params for Xen.
> 
> How is this different from the command line parameter chosen? And if you 
> want to keep both, what is the expected priority if a user provides both?

A DT file for x86, there is only a need to provide the hypervisor node, 
for which we already needed a hypervisor config section to describe XSM 
policy and microcode, at this point at least. It was decided in an 
effort to provide flexibility, the ability to specify command line 
parameters to the hypervisor in DT config. It is expected these 
parameters would function as a base parameters that would be overridden 
by those provided via the multiboot kernel entry.

Now as you point out for Arm, this becomes a bit redundant, to a degree, 
as the Xen command line is already under the /chosen node. But even here 
it would be beneficial, as a hyperlaunch configuration could be 
distributed consisting of a dtb that has core parameters set with base 
values along with a set of kernels and ramdisks. At boot, the 
hyperlaunch dtb could then be concatenated with the device specific dtb.


>> -The hypervisor device tree would be compiled into the hardware device 
>> tree and
>> -provided to Xen using the standard method currently in use. The 
>> remaining
>> -modules would need to be loaded in the respective addresses specified 
>> in the
>> -`module-addr` property.
>> +Â  Format: String, e.g. "flask=silo"
>> +Child Nodes
>> +"""""""""""
>> -The Hypervisor node
>> --------------------
>> +* module
>> -The hypervisor node is a top level container for the domains that 
>> will be built
>> -by hypervisor on start up. On the ``hypervisor`` node the ``compatible``
>> -property is used to identify the type of hypervisor node present..
>> +Domain Node
>> +-----------
>> -compatible
>> -Â  Identifies the type of node. Required.
>> +A ``domain`` node is for describing the construction of a domain. 
>> Since there
>> +may be one or more domain nodes, each one requires a unique, DTB 
>> compliant name
>> +and a ``compatible`` property to identify as a domain node.
>> -The Config node
>> ----------------
>> +A ``domain`` nodeÂ  may provide a ``domid`` property which will be 
>> used as the
>> +requested domain id for the domain with a value of â€œ0â€ signifying to 
>> use the
>> +next available domain id, which is the default behavior if omitted. 
>> It should
>> +be noted that a domain configuration is not able to request a domid 
>> of â€œ0â€
> 
> Why do you need this restriction? And more importantly how would you 
> describe dom0 in hyperlaunch?

I would start by saying one of the goals/purposes behind hyperlaunch is 
to remove the binding that "dom0" is identified by having domid 0. That 
is what the roles patch recently submitted is working to achieve. "Dom0" 
is a role in the system, which I tried calling the "unbounded role" but 
that seems to have caused some confusion.

That aside, IMHO because of the legacy around domid 0, I don't think it 
should be assignable through hyperlaunch. Additionally, there should be 
an identifier that signifies auto-assign the domid and that value should 
not conflict/limit what domids are usable by the hypervisor. Given we 
should not be assigning domid 0 through this interface, it makes it the 
perfect candidate value.

>> +Beyond that, a domain node may have any of the following optional 
>> properties.
>> -A config node is for detailing any modules that are of interest to 
>> Xen itself.
>> -For example this would be where Xen would be informed of microcode or 
>> XSM
>> -policy locations. If the modules are multiboot modules and are able 
>> to be
>> -located by index within the module chain, the ``mb-index`` property 
>> should be
>> -used to specify the index in the multiboot module chain.. If the 
>> module will be
>> -located by physical memory address, then the ``module-addr`` property 
>> should be
>> -used to identify the location and size of the module.
>> +Properties
>> +""""""""""
>> Â  compatible
>> -Â  Identifies the type of node. Required.
>> -
>> -The Domain node
>> ----------------
>> +Â  Identifies the node as a domain node and for which hypervisor. 
>> Required.
>> -A domain node is for describing the construction of a domain. It may 
>> provide a
>> -domid property which will be used as the requested domain id for the 
>> domain
>> -with a value of â€œ0â€ signifying to use the next available domain id, 
>> which is
>> -the default behavior if omitted. A domain configuration is not able 
>> to request
>> -a domid of â€œ0â€. After that a domain node may have any of the following
>> -parameters,
>> -
>> -compatible
>> -Â  Identifies the type of node. Required.
>> +Â  Format: "<hypervisor name>,domain", e.g "xen,domain"
>> Â  domid
>> -Â  Identifies the domid requested to assign to the domain. Required.
>> +Â  Identifies the domid requested to assign to the domain.
>> -permissions
>> +Â  Format: Integer, e.g <0>
>> +
>> +role
>> Â Â Â  This sets what Discretionary Access Control permissions
>> Â Â Â  a domain is assigned. Optional, default is none.
>> -functions
>> -Â  This identifies what system functions a domain will fulfill.
>> +Â  Format: Bitfield, e.g <3> or <0x00000003>
>> +
>> +Â Â Â Â Â Â Â Â Â  ROLE_NONEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (0)
>> +Â Â Â Â Â Â Â Â Â  ROLE_UNBOUNDED_DOMAINÂ Â Â  (1U<<0)
>> +Â Â Â Â Â Â Â Â Â  ROLE_CONTROL_DOMAINÂ Â Â Â Â  (1U<<1)
>> +Â Â Â Â Â Â Â Â Â  ROLE_HARDWARE_DOMAINÂ Â Â Â  (1U<<2)
>> +Â Â Â Â Â Â Â Â Â  ROLE_XENSTORE_DOMAINÂ Â Â Â  (1U<<3)
> 
> Please describe what each roles are meant for.

Agreed, but this obviously is in flux based on the current review of the 
roles patch.

>> +
>> +capability
>> +Â  This identifies what system capabilities a domain may have beyond 
>> the role it
>> +Â  was assigned.
>> Â Â Â  Optional, the default is none.
>> -.. note::Â  The `functions` bits that have been selected to indicate
>> -Â Â  ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last 
>> two bits
>> -Â Â  (30, 31) such that should these features ever be fully retired, 
>> the flags may
>> -Â Â  be dropped without leaving a gap in the flag set.
>> +Â  Format: Bitfield, e.g <3221225487> or <0xC0000007>
> 
> I thik we should favor the hexadecimal version because this will be 
> somewhat easier to read.

I too favor the hex version, but as I recall, DT/libfdt doesn't 
care/enforce.

> Also, the Device-Tree values work in term of 32-bit cell. Also, how do 
> you plan to handle the case where you have more than 32 capabilities?

I would add a capabalities2 field, this is how SELinux/Flask handle the 
same problem.

>> +
>> +Â Â Â Â Â Â Â Â Â  CAP_NONEÂ Â Â Â Â Â Â Â Â Â Â  (0)
>> +Â Â Â Â Â Â Â Â Â  CAP_CONSOLE_IOÂ Â Â Â Â  (1U<<0)
> 
> Please describe the capabilities.

Agreed and again, will change based on final version of roles patch.

>> Â  mode
>> Â Â Â  The mode the domain will be executed under. Required.
>> +Â  Format: Bitfield, e.g <5> or <0x00000005>
>> +
>> +Â Â Â Â Â Â Â Â Â  MODE_PARAVIRTUALIZEDÂ Â Â Â  (1 << 0) PV | PVH/HVM
>> +Â Â Â Â Â Â Â Â Â  MODE_ENABLE_DEVICE_MODEL (1 << 1) HVM | PVH
>> +Â Â Â Â Â Â Â Â Â  MODE_LONGÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (1 << 2) 64 BIT | 32 BIT
>> +
>> Â  domain-uuid
>> Â Â Â  A globally unique identifier for the domain. Optional,
>> Â Â Â  the default is NULL.
>> +Â  Format: Byte Array, e.g [B3 FB 98 FB 8F 9F 67 A3]
>> +
>> Â  cpus
>> Â Â Â  The number of vCPUs to be assigned to the domain. Optional,
>> Â Â Â  the default is â€œ1â€.
>> +Â  Format: Integer, e.g <0>
> 
> This is odd to suggest to give '0' as an example. Wouldn't Xen throw an 
> error if a user provide it?

Good catch, though I am now thinking individual examples are not needed 
and the full example below should be sufficient.

>> +
>> Â  memory
>> -Â  The amount of memory to assign to the domain, in KBs.
>> +Â  The amount of memory to assign to the domain, in KBs. This field 
>> uses a DTB
>> +Â  Reg which contains a start and size. For memory allocation start 
>> may or may
>> +Â  not have significance but size will always be used for the amount 
>> of memory
>> Â Â Â  Required.
> 
> The description doesn't match...

Ack, others caught that as well. Will be fixed.

>> +Â  Format: StringÂ  min:<sz> | max:<sz> | <sz>, e.g. "256M"
> 
> ... the format. But strings are difficult to parse. If you want to 
> provide 3 different values (possibly optional), then it would be best to 
> have 3 different properties.

That format comes from the command line dom0 memory parameter, in the 
hyperlaunch series I reused that existing parser that I am fairly 
confident will be maintained.

> I will continue to review the rest later.

Great, thank you so much for your feedback thus far.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 20:53:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 20:53:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580446.908648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTThS-0000W5-27; Tue, 08 Aug 2023 20:53:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580446.908648; Tue, 08 Aug 2023 20:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTThR-0000Vy-Uh; Tue, 08 Aug 2023 20:53:05 +0000
Received: by outflank-mailman (input) for mailman id 580446;
 Tue, 08 Aug 2023 20:53:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTThQ-0000Vs-N4
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 20:53:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 902b6581-362d-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 22:53:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E4D3E62CCB;
 Tue,  8 Aug 2023 20:53:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E3EDC433C8;
 Tue,  8 Aug 2023 20:52: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: 902b6581-362d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691527980;
	bh=s7MCFjn0aQjiYEMHaJP2WcHXORAVkz3Wx2uB9R7Ygyk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tFLGQoCXHQ5swCVhIkHOhrUesIEsGMRbsLZhlAlnLTV8LWRqj3RSUrD6DNCbQ4q56
	 JLT/M5NIoNfg2r3uZ75OgkCb8hQRqmFI1uL2U0fEidfFq3/EOhPXbgBpc3Ai8hbFyK
	 yoREamgbnmIwenOiKoTcCliAeafSAZhdRYvrWsMyu1ea9NeyuwZ49cKnqcsrvHf7qR
	 fYYlkXvWcvzA6E8F+gQle+AWibFI49bQXEbJVbYOjcytrwxOmjYvJxxgfn2W9eLS4l
	 W/GyauP12E82MEWGOxrCA2h4HFAxRxl5G8W3EAsDBt5j6DXK1giSyyO9cp1zXQVrMy
	 V+Adlzyid+skA==
Date: Tue, 8 Aug 2023 13:52:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm64: head: Introduce a helper to flush local
 TLBs
In-Reply-To: <416EFCDE-063D-416D-AEC4-8EA15BE0396C@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308081352510.2127516@ubuntu-linux-20-04-desktop>
References: <20230808110739.1296-1-michal.orzel@amd.com> <416EFCDE-063D-416D-AEC4-8EA15BE0396C@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Luca Fancellu wrote:
> > On 8 Aug 2023, at 12:07, Michal Orzel <michal.orzel@amd.com> wrote:
> > 
> > Instead of repeating the same sequence of instructions to flush the TLBs
> > in various places, introduce a macro flush_xen_tlb_local and make use of
> > it. This is similar to what was done for arm32 by the commit:
> > dea9dddeceec8a1d68da24b14d5b2396effe555f
> > 
> > This is also making the flush sequence in enable_mmu more clear and
> > consistent.
> > 
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> > ---
> 
> Hi Michal,
> 
> Looks good to me
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:01:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580452.908657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTTpY-00024l-S6; Tue, 08 Aug 2023 21:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580452.908657; Tue, 08 Aug 2023 21: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 1qTTpY-00024e-P7; Tue, 08 Aug 2023 21:01:28 +0000
Received: by outflank-mailman (input) for mailman id 580452;
 Tue, 08 Aug 2023 21:01: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTTpX-00024Y-IP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:01:27 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb4a5146-362e-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 23:01:24 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691528480253457.4882144624638;
 Tue, 8 Aug 2023 14: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: bb4a5146-362e-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691528482; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=oDxGIUnDD2zuyfOt4Zo4f8PqvknzjOvSA5/MM5Y214JiN3//6QyOP9jR6KvaXm2VOMdb4tMUSAN4xXRF6tU4gvPHrsj8KedgKxDKntlTKA0ERyCl31mxReT/XcpTB9z8459f9kaOkdMO29uKIGexncUcqqB1AkWsCx7iy38AoH0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691528482; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=GCt+oDOouAj+Db+dnF97vVixLfO0dNuLruGV9RVi4O0=; 
	b=V7YprwBu/R62Cf3aVCRW/KeZEEl8pKG+6HyANiviIZiP4wEMUd4WHvpiT2zaAOuCdJEM1pA2pOwr53L06z4r8WbGE6Mc77HcmLnuy5ZH+yf6Ky7pICxMFqpTGCjVXtQXxUuvytZeLIzeCiNbTSnZxuDQlNeMZ6bSRbx1WWL28jQ=
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=1691528482;
	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=GCt+oDOouAj+Db+dnF97vVixLfO0dNuLruGV9RVi4O0=;
	b=Jv9V/JnYHXU//vGjuG1jRBXPzTGAfEfF3m0PkcC2Axu5lsmJmFJhmZ7GjEV2mcaB
	PkWXHa/DWckgSWfRl6YYwof0VLpzK5xMtxNZAXzcrXsEkCj570fQOzWrfTYwNuKUuaq
	RM74PR9Y7MGVnK9JrZsA6tRgD+zTSTEugRLQ3iFA=
Message-ID: <577f5e19-a54c-955c-581d-ac35145911be@apertussolutions.com>
Date: Tue, 8 Aug 2023 17:01:18 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <CA8E22A7-D7E4-43E8-BE4E-D2C2B41D921C@arm.com>
 <8a51be9e-0131-0590-9aea-bbec146ce239@apertussolutions.com>
 <2E1A5918-A475-4055-A5A5-DE0CE30C061A@arm.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <2E1A5918-A475-4055-A5A5-DE0CE30C061A@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External



On 8/3/23 16:37, Luca Fancellu wrote:
> 
>>
>>> Regarding the coding style, I think itâ€™s better to keep the style youâ€™ve found in the original file,
>>> and change only some bits when the code is not following it.
>>> I know there is nothing enforcing parameters on the same line of the function definition at the
>>> moment, but it is how itâ€™s done from the original file so I would stick with it.
>>> Regarding the u32/u64 types, maybe since you are moving the code it can be the occasion to
>>> convert them, but check with the maintainer before.
>>
>> I can leave the main code as is, but I do think header decl's should be styled correctly as there is no need to have them churn in the future over purely style changes.
> 
> Uhm, when you say â€œstyled correctlyâ€ do you mean as below?

I am retracting that after going back to review my notes, see below.

>>>> +bool __init device_tree_node_matches(
>>>> +    const void *fdt, int node, const char *match)
>>>> +{
> 
> 
> If thatâ€™s the case, it seems to me that there is nothing like that in the codebase,
> in my work with clang-format Iâ€™ve configured it to match as much as I can the
> Xen style and this function would be formatted as the old style that it had.
> 
> Can I ask you where did you find instruction to style in that way?
> 

I went back to my old notes on styling to make sure I was correct. Turns 
out I was incorrect and do apologies. There are two accepted styles for 
function declarations[1] and the one I used in this patch was the one 
that I got a recommendation to use. I have gotten so use to that style, 
that I must have lost track the other was valid. As was pointed out 
elsewhere, I should use the form that the maintainer desires. As XSM 
maintainer, I use the one I submitted here and would ask for a style 
correct if someone submitted a patch using the form that is desired here.

I will roll back the declaration styling for now and per the prior 
guidance[1], I will flip the linux-compat int over C spec fixed width 
int notation, unless there is objection to it happening during the move.

[1] 
https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg01133.html

v/r
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:05:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580457.908668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTTtS-0002fX-Bq; Tue, 08 Aug 2023 21:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580457.908668; Tue, 08 Aug 2023 21: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 1qTTtS-0002fQ-8Z; Tue, 08 Aug 2023 21:05:30 +0000
Received: by outflank-mailman (input) for mailman id 580457;
 Tue, 08 Aug 2023 21:05: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTTtR-0002fI-5A
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:05:29 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bca816e-362f-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 23:05:27 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691528722397254.1191249886159;
 Tue, 8 Aug 2023 14: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: 4bca816e-362f-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691528723; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=X79NqvruxQcjF7y4zKUaPB18AMYaNHef6SWu2Uog+5qshRzGAlC4OS/VrpwDX8FP1oMgMJgUwuX26LkIexnrEi7Cq9O18VR6UIRzXAdU1o/c65Knz8Rjpsjjw+J0QMhKpjNL+z35H3jEVNLD7MVcpyYwqZpyGdQiQEqa1JzyIaQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691528723; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=+KTa3ESM4PEr3LYAF4nERwcd7tDhYndVrIOZUj8bCJE=; 
	b=JG29pazNLMBhn2hVCC9SWnTS73YCtvl5ZS+dC0IQEf24Z9StUvlTbFYoFNx2YCJwcjF95nOI/aoDHTraShXNGQ79wp1ayGdP4PNkspIh0ddMnltLxA6cpeaG+TasBQDJQVtUEm4xIiZw8PZaNH+Dh3lQXqweAlp2MeZ8MjNZhOs=
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=1691528723;
	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=+KTa3ESM4PEr3LYAF4nERwcd7tDhYndVrIOZUj8bCJE=;
	b=Ry4cwZaShiZKTU/eskUcbtNSDlw/+Ba1g9ewsYuT4yz9NGxL1FiLLBupbvZr+1WP
	cvORJ3XJOHUIj1FrpjKSBG5wBR+/LX2Q8SpNfKnTnCE5tna5ozWWO13295IYaaTHr+t
	DY6VbrMF/E4tOuKuFQYQa5qDgv4co1dDCZc6jBk8=
Message-ID: <90656f0f-0597-31ed-190e-d697e081d4b5@apertussolutions.com>
Date: Tue, 8 Aug 2023 17:05:20 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <AS8PR08MB79912C0FD1E3B1AA5988175B9209A@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <AS8PR08MB79912C0FD1E3B1AA5988175B9209A@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



On 8/4/23 00:10, Henry Wang wrote:
> Hi Daniel,

Hey Henry!

>> -----Original Message-----
>> Subject: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
>>
>> This refactors reusable code from Arm's bootfdt.c and device-tree.h that is
>> general fdt handling code.  The Kconfig parameter CORE_DEVICE_TREE is
>> introduced for when the ability of parsing DTB files is needed by a capability
>> such as hyperlaunch.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> As said yesterday, I tested this patch and can confirm this patch will not
> break any of the boards we used for our testing. So
> 
> Tested-by: Henry Wang <Henry.Wang@arm.com>

Thank your for running it through your tests.

> (But I saw there are some comments from Michal and Luca about this
> patch so I think these comments need to be addressed)

So far the changes are style and a few mechanical. While unlikely to 
cause a functional change that could break, probably best to hold off 
adding your Tb for now.

v/r
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:15:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580464.908678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTU2h-0004CP-8T; Tue, 08 Aug 2023 21:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580464.908678; Tue, 08 Aug 2023 21: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 1qTU2h-0004CI-4e; Tue, 08 Aug 2023 21:15:03 +0000
Received: by outflank-mailman (input) for mailman id 580464;
 Tue, 08 Aug 2023 21: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTU2g-0004Bt-Eu
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:15:02 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1659fe9-3630-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 23:14:59 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 400E762D2D;
 Tue,  8 Aug 2023 21:14:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2BA7BC433C7;
 Tue,  8 Aug 2023 21:14: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: a1659fe9-3630-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691529297;
	bh=eRLrTUS7VX4+Uznzq3r36Rqo2PTybBhEnPNzTP/L9yE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VtfyeHb81VAvzF3qGjzp+2NOcpzrZoBABTyzM0BrSwyobMOD9aIYq8V9ofbaeD3rH
	 r38fnPotp+kKCJgm/V1QkuRqxyqAJhtMZbFbs3zlOlSdqsP0KyDWuZi7obZ3Ko9iR4
	 RuRSzOmUvaBP2b5LJUiK6VekzspUTLnm8NDm3DXlYNKlF4hcExCCVe6nv3VK+jhLK1
	 D/IUSU5h6UX9GE7rWbldvtguV/J+FD97A1XJbPiQN2ETKCgbTuR3+p6Ae4d3UkO6or
	 Y6q40dkalrpzegzrOTYy0Tnp2xnXkuC0evQZPUkIDbVsej2KphtnbdjNj91FX8iBf6
	 EKx/i7Nyi/kRA==
Date: Tue, 8 Aug 2023 14:14:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>, 
    Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
In-Reply-To: <6aac7add-544b-4c8a-b397-2a6b6c6b766c@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308081401400.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com> <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org> <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
 <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org> <cde2ae86db8ba9a86ce5afdb9f47a4e4@bugseng.com> <6aac7add-544b-4c8a-b397-2a6b6c6b766c@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Julien Grall wrote:
> On 08/08/2023 16:53, Nicola Vetrini wrote:
> > > > ... "return" alone already tells the compiler that "break" is
> > > > unreachable. You don't need unreachable() for that. As said before,
> > > > "break" like this simply want purging (and Misra is wrong to demand
> > > > "break" everywhere - it should instead demand no [unannotated]
> > > > fall-through, which can also be achieved by return, continue, and
> > > > goto).
> > > 
> > > My suggestion was in the context of this series where we add
> > > ASSERT_UNREACHABLE() before break. From my understanding, we don't
> > > have a lot of leeway here because, from what Nicola wrote, rule 16.3
> > > is mandatory.
> > > 
> > > So I think using unreachable is better if we every decide to use break
> > > after return.
> > > 
> > > Cheers,
> > 
> > 16.3 is not Mandatory, just Required.
> 
> Ah I misread what you wrote. In that case...
> 
> > I was just reluctant to knowingly add one more violation
> > while fixing another before submitting the patch. If indeed 16.3 won't
> > likely be adopted by Xen,
> > then that break should indeed go away.
> > 
> > However, the main thing that's holding me back from doing a slimmed-down v2
> > here is that
> > evidently there's no consensus even on the ASSERT_UNREACHABLE() patches.
> 
> ... I agree with the following statement from Jan:
> 
> "it should instead demand no [unannotated] fall-through, which can also be
> achieved by return, continue, and goto"

I also think it is a better idea to have no unannotated fall-through in
switch statements (unless we have a "case" with nothing underneath, so
two cases next to each other). In other words the following are all OK
in my view:

  case A:
    do();
    break;
  case B:
    do();
    return true;
  case Ca:
  case Cb:
    goto fail;
  case D:
    i++;
    continue;
  case E:
    do();
    /* fall-through */
  case F:
    do();
    break;

While the following is not OK:

  case A:
    do();
  case B:
    do();

This should be what we already do in Xen, although it is not documented
properly. Jan, Julien do you agree?

If so, could Eclair be configured to check for this pattern (or
similar)?

We must have one of the following:
- break, continue, return, goto
- /* fall-through */
- empty case body (case Ca/Cb)


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:17:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580469.908689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTU5G-0004mt-MI; Tue, 08 Aug 2023 21:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580469.908689; Tue, 08 Aug 2023 21: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 1qTU5G-0004mm-Hj; Tue, 08 Aug 2023 21:17:42 +0000
Received: by outflank-mailman (input) for mailman id 580469;
 Tue, 08 Aug 2023 21:17: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTU5G-0004me-0W
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:17:42 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00c412fc-3631-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 23:17:40 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691529454289825.6972881222913;
 Tue, 8 Aug 2023 14:17:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00c412fc-3631-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691529456; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=bWZ96RYWs2zTCSBhUa4XqhfrH/dRwZrDtjZ/fDju1umciQyDfqON8YF6qXGZS4OJ30Jq/dAgSb8zYucfaFlchyiCc7MhH0JySznz6q08rRplwMAWOiLvLY13tXPMi8+UAwmGz0d2wNin/qxzjE4oeJQj9D7AgZzXvuPK6z67ob4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691529456; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Q9bUDKxlqAq/RRI2lcmaz2jxZMJZQ5lF2Xvw2zb5hyo=; 
	b=kDZKMidf3RhwDHzAjSCB8whlFnDlGDfw3OH8ip9Vg0jpCmuR5ByrJhI3ZfUW33hYgs8JNEPPKnRTtGNxIn44+pMR+rl+8VAZspo+waXXt4tsDfE2oV3vqh5jUGYm8JOetgbqNgVTqBvy9mGD9u2dkXzgo+fSbkic/GtZFoWes+U=
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=1691529456;
	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=Q9bUDKxlqAq/RRI2lcmaz2jxZMJZQ5lF2Xvw2zb5hyo=;
	b=nDttOTywfSx4HVP+i9Hl/UVWC594v6plWLtgfjDgqho2/nEyN0qeaetjCZ3Dzxjl
	V9oFhkc/dc9CGPMBDAF2EYFzrGGHVeCFdqDypGwb057+qYg26q3gQlf995EotxOGcmf
	NRwNq35zkjBXL54MphpEBCujTtIoeq0b6mtjNISA=
Message-ID: <c692fa5e-e2c4-6779-1fa6-172f11b51e30@apertussolutions.com>
Date: Tue, 8 Aug 2023 17:17:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-US
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>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com>
 <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <2a72cbf1-a9d7-6edf-37f6-5197c9d40452@amd.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <2a72cbf1-a9d7-6edf-37f6-5197c9d40452@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/4/23 03:06, Michal Orzel wrote:
> Hi Daniel,
> 
> On 03/08/2023 18:57, Daniel P. Smith wrote:
>>
>>
>> On 8/3/23 07:45, Michal Orzel wrote:
>>> Hi Daniel,
>>>
>>> On 03/08/2023 12:44, Daniel P. Smith wrote:
>>>>
>>>>
>>>> With on going development of hyperlaunch, changes to the device tree definitions
>>>> has been necessary. This commit updates the specification for all current changes
>>>> along with changes expected to be made in finalizing the capability.
>>>>
>>>> This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
>>>> this documentation under its purview. It also reserves the path
>>>> `xen/common/domain-builder` for the hyperlaunch domain builder code base.
>>>>
>>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> [...]
>>>> +
>>>>    memory
>>>> -  The amount of memory to assign to the domain, in KBs.
>>>> +  The amount of memory to assign to the domain, in KBs. This field uses a DTB
>>>> +  Reg which contains a start and size. For memory allocation start may or may
>>>> +  not have significance but size will always be used for the amount of memory
>>>>      Required.
>>>>
>>>> +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
>>> There is a mismatch between the description and above format:
>>> - KB vs MB
>>> - string vs reg format
>>> - the x86 example uses string and Arm uses reg format
>>
>> Hmmm. I missed this in the hyperlaunch v1 update. In the original design
>> that came from the working group it was going to use a reg as suggest by
>> dom0less. During development of v1, we found it was not rich enough to
>> express how Dom0 could be allocated memory and switched to a string to
>> mirror the dom0 memory hypervisor command line parameter.
> On Arm, dom0_mem cmdline parameter is used to specify only size (no min,max)

I understand. For general domain construction, these are legitimate 
values and hyperlaunch is meant to be able to fully construct a running 
environment just as if it was constructed by a toolstack. We must also 
be able to handle situations where a general configuration is being 
reused across systems and must be able to express the minimum memory 
each domain must have, how much should be attempted to be allocated, and 
if ballooning is enabled, being able to articulate that to the 
hyperlaunch domain builder.

I did not say this in reply to Julien, but I am not opposed to three 
separate parameters if that is what the conscience arrives at. I found 
the existing parser and the structure it creates as a useful and 
reusable component for obtaining and storing the values.

>>
>> A question for those involved with dom0less, is what are the opinions
>> about using this form for memory allocation. Is it required/possible to
>> be able to instruct the hypervisor what physical address to use as the
>> start of a domain's memory?
> "memory" dt property is used to specify just amount of memory for domain in KBs using reg format.
> It is not used to specify the static memory region (with start and size). For that, we have another property called "xen,static-mem".
> Therefore, it would be possible to switch memory to string but it would not be compatible with the current use anymore.

It would be compatible in the sense that dom0less-compatibility-mode 
could still accept it as just amount of memory. Which brings up a good 
point, whether I do it here or it is done in the patch series that will 
introduce dom0less-compatibilty-mode, there probably will need to be a 
top level flag under the hypervisor node to indicate it is a dom0less 
compatible configuration.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:21:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580476.908698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTU93-0006Dc-48; Tue, 08 Aug 2023 21:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580476.908698; Tue, 08 Aug 2023 21:21:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTU93-0006DV-1L; Tue, 08 Aug 2023 21:21:37 +0000
Received: by outflank-mailman (input) for mailman id 580476;
 Tue, 08 Aug 2023 21:21: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTU91-0006DO-KP
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:21:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c8722bb-3631-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 23:21:34 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DD06E6255A;
 Tue,  8 Aug 2023 21:21:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE276C433C7;
 Tue,  8 Aug 2023 21:21: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: 8c8722bb-3631-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691529692;
	bh=ZjF+MW+RGSNyMp2hKrQlVLYHZbaWBd95p/pBI3t2Bus=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YNWUvRSHIe5QycUhpXBoko1PLcxrNabJOGLEVgyEJKwakHDrKWax28RvoPvsPLSdS
	 saglGeCVdmZtnA95/J+iUGG8EQzgKq2d3QrfbfdP+QXtfgCMiSGB+Cc8D8l69BRcbw
	 NFsRAVYbp+Rk/Uy5+6euDJWM4F395ton2yJP1ESClBMS/0drQ2Or4yb66PJFDOrqD0
	 VcHIwM2nM0TYb0RvP7v9F7rsS94O+HYyzj/nNMahwFR4ObCt0hhfTDl7Xii/iFz5Dr
	 YlxeYCckG70oZv/lTulCQxnlRuj0r+aglrphlBXhGOPYYo1Tjjy+IsuoD9lk9iFAlf
	 Y1uCIOI378J1w==
Date: Tue, 8 Aug 2023 14:21:29 -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>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <0164b934-cf15-9e45-28b7-b3c9ac2038da@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308081417240.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com> <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com> <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com> <55599ec7a1c6d07af6093920fe3f9125@bugseng.com> <0164b934-cf15-9e45-28b7-b3c9ac2038da@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Jan Beulich wrote:
> On 08.08.2023 09:08, Nicola Vetrini wrote:
> > On 07/08/2023 11:10, Jan Beulich wrote:
> >> On 07.08.2023 10:59, Nicola Vetrini wrote:
> >>> On 07/08/2023 10:09, Jan Beulich wrote:
> >>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
> >>>>> The variable declared in the header file
> >>>>> 'xen/arch/x86/include/asm/e820.h'
> >>>>> is shadowed by many function parameters, so it is renamed to avoid
> >>>>> these
> >>>>> violations.
> >>>>>
> >>>>> No functional changes.
> >>>>>
> >>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> >>>>> ---
> >>>>> This patch is similar to other renames done on previous patches, and
> >>>>> the
> >>>>> preferred strategy there was to rename the global variable. This one
> >>>>> has more occurrences that are spread in various files, but
> >>>>> the general pattern is the same.
> >>>>
> >>>> Still I think it would be better done the other way around, and 
> >>>> perhaps
> >>>> in
> >>>> more than a single patch. It looks like "many == 3", i.e.
> >>>> - e820_add_range(), which is only ever called with "e820" as its
> >>>> argument,
> >>>>   and hence the parameter could be dropped,
> > 
> > I see another downside with this approach (I should have spotted this 
> > sooner):
> > Since e820_add_range and the other functions expected e820 as a pointer, 
> > they are
> > written like this:
> > 
> > for ( i = 0; i < e820->nr_map; ++i )
> >      {
> >          uint64_t rs = e820->map[i].addr;
> >          uint64_t re = rs + e820->map[i].size;
> > 
> >          if ( rs == e && e820->map[i].type == type )
> >          {
> >              e820->map[i].addr = s;
> >              return 1;
> >          }
> > ...
> > 
> > Dropping the parameter would either mean
> > 1. Use a local parameter that stores the address of e820, which kind of
> >     nullifies the purpose of dropping the parameter imho;
> 
> This isn't an unusual thing to do; it is only the name being short which
> may make it look "unnecessary" here. But especially if the local variable
> was made of type struct e820entry * (and updated in the for()) I think
> this could be useful overall.
> 
> > 2. Rewrite it so that it operates on a "struct e820map", which would 
> > mean
> >     substantial churn;
> > 3. Make the global a pointer, which is reminiscent of (1)
> > 
> > All in all, I do like the global renaming approach more, because it 
> > lessens
> > the amount of code that needs to change to accomodate a case of 
> > shadowing.
> 
> Well, to go that route you need to come up with a suitable new name (no
> prior proposal was really meeting that requirement) and you'd need to
> convince at least one of the x86 maintainers.

Would you be OK with your previous suggestion:

> Alternatively, if we really were to change the name of the global, we'd
> want to take a more complete approach: Right now we have e820_raw[],
> boot_e820[], and e820[]. We'd want them to follow a uniform naming scheme
> then (e820_ first or _e820 last), with the other part of the name suitably
> describing the purpose (which "map" doesn't do).

So:

e820_raw -> unchanged
boot_e820 -> e820_boot
e820 -> e820_table (or e820_list or e820_ranges)?


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:22:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580482.908708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTU9v-0006nI-Ju; Tue, 08 Aug 2023 21:22:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580482.908708; Tue, 08 Aug 2023 21: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 1qTU9v-0006nB-Fp; Tue, 08 Aug 2023 21:22:31 +0000
Received: by outflank-mailman (input) for mailman id 580482;
 Tue, 08 Aug 2023 21:22: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTU9u-0006DO-E2
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:22:30 +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 adac6596-3631-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 23:22:29 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B632761B0B;
 Tue,  8 Aug 2023 21:22:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63886C433C7;
 Tue,  8 Aug 2023 21:22: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: adac6596-3631-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691529748;
	bh=m+MGQspKxTlbfsdEbp86EmmhwiZxUDaiH6labh1c8ms=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DEo9B6E13L2Dlv53vyzgHr8B8gL5EbJOEsOriFZ6M9egl2WK+vo0GiP4f83PSAeL5
	 QZ+yjKSTdoEQnqL3CfXnzr+h+BYEErY5jMcFile6PZf3MMqunbm87VJU9ckRVqmyQb
	 8+ZrbuauE5oe/oJAVLZ9LTS/Jxr19/dy/uxi6Gqquk0W8/AtESbut8S7cMd8XzJuUp
	 V6vGWyNs8rffP+0IziIugtAYwoav6EOVQEjXP4jh9B43CwhMvnjrbVbvvVZDK2/4wu
	 z7fY/+4tijlvF2oEJd2IXpwKzk7Pup/JV3+qxPG04yBRa6J8377VymDVBTba2Z6YEc
	 D3GfzckVWdbRQ==
Date: Tue, 8 Aug 2023 14:22:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation: Fix missing smoke.serial in artifacts of
 qemu arm32 jobs
In-Reply-To: <7B3BFA6D-5BC3-4ECA-B897-07996D0E9883@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308081422180.2127516@ubuntu-linux-20-04-desktop>
References: <20230808085059.13112-1-michal.orzel@amd.com> <7B3BFA6D-5BC3-4ECA-B897-07996D0E9883@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Luca Fancellu wrote:
> > On 8 Aug 2023, at 09:50, Michal Orzel <michal.orzel@amd.com> wrote:
> > 
> > It was observed that smoke.serial file (used to store boot logs) is
> > missing in artifacts of qemu based arm32 jobs. This is because the
> > artifacts:paths listing smoke.serial specifies paths relative to the
> > project directory but the qemu-smoke-dom0{less}-arm32.sh scripts create
> > this file under binaries/. Fix it so that smoke.serial gets created in
> > project directory just like for every other test job.
> > 
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:24:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580488.908717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTUCG-0007Oq-UD; Tue, 08 Aug 2023 21:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580488.908717; Tue, 08 Aug 2023 21: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 1qTUCG-0007Oj-R7; Tue, 08 Aug 2023 21:24:56 +0000
Received: by outflank-mailman (input) for mailman id 580488;
 Tue, 08 Aug 2023 21:24: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=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTUCE-0007Od-N3
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:24:54 +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 03564a8f-3632-11ee-b280-6b7b168915f2;
 Tue, 08 Aug 2023 23:24:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6BA29623F5;
 Tue,  8 Aug 2023 21:24:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6DF61C433C7;
 Tue,  8 Aug 2023 21:24:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03564a8f-3632-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691529891;
	bh=MAnf6uILt51JRzdHgEubOjKoMNQhgU70wc2+sfWOBmE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cL5YtVd0iLwdhQFLwhbnKoeOstGxGn106cqQI/zlmphVzLAxBcMLEAYiwnJKWaPf3
	 zvH5qKqT11axw8i3kUwYuX4e1v3PbwGrNEM7dHBmmJugGOqHbAljheWzvtyD/PsQAn
	 675m+1CuBPSFevRpUGrrNGRe4UH5TedJoaRPTXootGoYAGXyYmarqH3tjGiDdoM2D3
	 0IAoy6BRFYlmLpMPz+gX9p4ld57jtATaMcVLiUYLm9wm0JytefNwxX3KbNyFMKwdi0
	 vFS2BWe/ooCOWajWOr3VGoyuU3Va7g/1LKt8wkeyq9u8mictiuUg7njm23+SayYR4E
	 +wbV/f6dPKDow==
Date: Tue, 8 Aug 2023 14:24:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Jan Beulich <jbeulich@suse.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/6] x86: rename variable 'e820' to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <alpine.DEB.2.22.394.2308081417240.2127516@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308081424330.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691162261.git.nicola.vetrini@bugseng.com> <896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com> <9e2b0b7d-2c9c-b4db-fb91-1a43ba8e8294@suse.com> <838a53b9ef4a8d258feceabb4c811534@bugseng.com>
 <742f4a4a-5938-82f5-7e76-1189a2519063@suse.com> <55599ec7a1c6d07af6093920fe3f9125@bugseng.com> <0164b934-cf15-9e45-28b7-b3c9ac2038da@suse.com> <alpine.DEB.2.22.394.2308081417240.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Jan Beulich wrote:
> > On 08.08.2023 09:08, Nicola Vetrini wrote:
> > > On 07/08/2023 11:10, Jan Beulich wrote:
> > >> On 07.08.2023 10:59, Nicola Vetrini wrote:
> > >>> On 07/08/2023 10:09, Jan Beulich wrote:
> > >>>> On 04.08.2023 17:27, Nicola Vetrini wrote:
> > >>>>> The variable declared in the header file
> > >>>>> 'xen/arch/x86/include/asm/e820.h'
> > >>>>> is shadowed by many function parameters, so it is renamed to avoid
> > >>>>> these
> > >>>>> violations.
> > >>>>>
> > >>>>> No functional changes.
> > >>>>>
> > >>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > >>>>> ---
> > >>>>> This patch is similar to other renames done on previous patches, and
> > >>>>> the
> > >>>>> preferred strategy there was to rename the global variable. This one
> > >>>>> has more occurrences that are spread in various files, but
> > >>>>> the general pattern is the same.
> > >>>>
> > >>>> Still I think it would be better done the other way around, and 
> > >>>> perhaps
> > >>>> in
> > >>>> more than a single patch. It looks like "many == 3", i.e.
> > >>>> - e820_add_range(), which is only ever called with "e820" as its
> > >>>> argument,
> > >>>>   and hence the parameter could be dropped,
> > > 
> > > I see another downside with this approach (I should have spotted this 
> > > sooner):
> > > Since e820_add_range and the other functions expected e820 as a pointer, 
> > > they are
> > > written like this:
> > > 
> > > for ( i = 0; i < e820->nr_map; ++i )
> > >      {
> > >          uint64_t rs = e820->map[i].addr;
> > >          uint64_t re = rs + e820->map[i].size;
> > > 
> > >          if ( rs == e && e820->map[i].type == type )
> > >          {
> > >              e820->map[i].addr = s;
> > >              return 1;
> > >          }
> > > ...
> > > 
> > > Dropping the parameter would either mean
> > > 1. Use a local parameter that stores the address of e820, which kind of
> > >     nullifies the purpose of dropping the parameter imho;
> > 
> > This isn't an unusual thing to do; it is only the name being short which
> > may make it look "unnecessary" here. But especially if the local variable
> > was made of type struct e820entry * (and updated in the for()) I think
> > this could be useful overall.
> > 
> > > 2. Rewrite it so that it operates on a "struct e820map", which would 
> > > mean
> > >     substantial churn;
> > > 3. Make the global a pointer, which is reminiscent of (1)
> > > 
> > > All in all, I do like the global renaming approach more, because it 
> > > lessens
> > > the amount of code that needs to change to accomodate a case of 
> > > shadowing.
> > 
> > Well, to go that route you need to come up with a suitable new name (no
> > prior proposal was really meeting that requirement) and you'd need to
> > convince at least one of the x86 maintainers.
> 
> Would you be OK with your previous suggestion:
> 
> > Alternatively, if we really were to change the name of the global, we'd
> > want to take a more complete approach: Right now we have e820_raw[],
> > boot_e820[], and e820[]. We'd want them to follow a uniform naming scheme
> > then (e820_ first or _e820 last), with the other part of the name suitably
> > describing the purpose (which "map" doesn't do).
> 
> So:
> 
> e820_raw -> unchanged
> boot_e820 -> e820_boot
> e820 -> e820_table (or e820_list or e820_ranges)?

Nevermind, I saw now the updated patch


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:27:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580495.908728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTUF8-00081W-Bu; Tue, 08 Aug 2023 21:27:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580495.908728; Tue, 08 Aug 2023 21: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 1qTUF8-00081P-8e; Tue, 08 Aug 2023 21:27:54 +0000
Received: by outflank-mailman (input) for mailman id 580495;
 Tue, 08 Aug 2023 21:27:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTUF7-00081J-Th
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:27:53 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cd524e5-3632-11ee-8613-37d641c3527e;
 Tue, 08 Aug 2023 23:27:51 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691530062954947.7218140859737;
 Tue, 8 Aug 2023 14:27:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cd524e5-3632-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691530064; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Gg82p8SFLAS85ZsR5VgvXpPM5slIHZcXyDhNHVe6WG1wEPmXvIDXWa4hyC+P1TXHPJ+Y8kxmBIt3K30ISVo2dTMRMDcsFxfJ9j9sTPbnfusiB2ojsQjmyaQcMAjhR9ytQDmfAbae/JeYOHzP5hUi5bcm0L8AM2SqoDr59ZGqiHM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691530064; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=qhdsCcqLV5gPF6Pj1XWQJS4sDgk8TWD9gM81TQ2vS6s=; 
	b=lX9FY0HK/kuELKZ++w7P8LcLIQ4WvaQw5SZt9+L65sBMMJeUaBVXjcoG7qwd5IbIFV9URH+VLANEXCDccD8ICLNPGvVmDcu7gHlxfUZQx43OCu9h69sCj7GEG2XT0+Z/BerWh7mf0eMpM09xv94lWuyf/oK790ayGSLBmB4p5bU=
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=1691530064;
	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=qhdsCcqLV5gPF6Pj1XWQJS4sDgk8TWD9gM81TQ2vS6s=;
	b=qQbUSFf4udCXycZVO7oCT9DhkrXsPh9WAn5ZO7QdbN5rsKTf2qbSFMv0jL9ANfJb
	Jung7bwd95VNhxgGL/2nOKo6xIopypKgUmqd5r0OUrCVOOo4sVdSPjWynMA9BnT6kWM
	2dORYAKI+HbzNygZveea8asLuXvIlGl04oXBtaWI=
Message-ID: <a6348a98-30bb-8a03-7ed7-9e965be119eb@apertussolutions.com>
Date: Tue, 8 Aug 2023 17:27:41 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Jan Beulich <JBeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
 <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
 Christopher Clark <christopher.w.clark@gmail.com>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/3/23 16:36, Andrew Cooper wrote:
> The opensuse-tumbleweed build jobs currently fail with:
> 
>    /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In function 'rsa_private':
>    /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>       56 |   if (!key->p || !key->q || !key->u) {
>          |       ^
>    In file included from /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>    /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>       28 |   tpm_bn_t p;
>          |            ^
> 
> This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
> OpenSSL BIGNUM flavour).  The author was probably meaning to do value checks,
> but that's not what the code does.
> 
> Adjust it to compile.  No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@eu.citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Juergen Gross <jgross@suse.com>
> CC: Marek Marczykowski-GĂ³recki <marmarek@invisiblethingslab.com>
> CC: Jason Andryuk <jandryuk@gmail.com>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Christopher Clark <christopher.w.clark@gmail.com>
> 
> While I've confirmed this to fix the build issue:
> 
>    https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430
> 
> I'm -1 overall to the change, and would prefer to disable vtpm-stubdom
> entirely.
> 
> It's TPM 1.2 only, using decades-old libs, and some stuff in the upstream
> https://github.com/PeterHuewe/tpm-emulator (which is still abandaonded as of
> 2018) is just as concerning as the basic error here in rsa_private().

For semantics sake, the Guest PV interface is 1.2 compliant but the PV 
backend, vtpmmgr, is capable of using TPM2.0.

> vtpm-stubdom isn't credibly component of a Xen system, and we're wasting loads
> of CI cycles testing it...

Unfortunately, I cannot disagree here. This is the only proper vTPM, 
from a trustworthy architecture perspective, that I know of existing 
today. Until I can find someone willing to fund updating the 
implementation and moving it to being an emulated vTPM and not a PV 
interface, it is likely to stay in this state for some time.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:29:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580500.908737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTUGo-00008V-M7; Tue, 08 Aug 2023 21:29:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580500.908737; Tue, 08 Aug 2023 21:29:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTUGo-00008O-Jf; Tue, 08 Aug 2023 21:29:38 +0000
Received: by outflank-mailman (input) for mailman id 580500;
 Tue, 08 Aug 2023 21:29:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTUGo-00008D-2e; Tue, 08 Aug 2023 21:29:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTUGn-0008WE-OH; Tue, 08 Aug 2023 21:29:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTUGn-0001nX-8o; Tue, 08 Aug 2023 21:29:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTUGn-0008CH-3J; Tue, 08 Aug 2023 21:29:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qMGnWXpuIwlWGT9CiYJ6yHDvuzqzro5CysoPuq6EyLc=; b=OgG1DeBHrutGMlCXjB+SzQ2ULD
	E7i7s+NJkUvqVLa5RjMlCIHqTT1ebYw8B0m3y3NN+/maoCyH053/wmwtCih8fjA7fbw2Cs2YL5xRG
	LKHYZ78cxeFlA9l8TY+VbhGwN0Rh20Iz/iQVHioc0tz39eY4bDVSqiM5TifKS3oH7UYc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182238-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182238: 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=56d690efd3ca3c68e1d222f259fb3d216206e8e5
X-Osstest-Versions-That:
    xen=46c5ef609b09cf51d7535aebbc05816eafca4c8d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 21:29:37 +0000

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

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                  56d690efd3ca3c68e1d222f259fb3d216206e8e5
baseline version:
 xen                  46c5ef609b09cf51d7535aebbc05816eafca4c8d

Last test of basis   182232  2023-08-08 12:03:48 Z    0 days
Testing same since   182238  2023-08-08 18:00:28 Z    0 days    1 attempts

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

jobs:
 build-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
   46c5ef609b..56d690efd3  56d690efd3ca3c68e1d222f259fb3d216206e8e5 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 21:45:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 21:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580509.908748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTUW1-0002cT-0f; Tue, 08 Aug 2023 21:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580509.908748; Tue, 08 Aug 2023 21: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 1qTUW0-0002cM-UA; Tue, 08 Aug 2023 21:45:20 +0000
Received: by outflank-mailman (input) for mailman id 580509;
 Tue, 08 Aug 2023 21:45: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 1qTUW0-0002cG-40
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 21:45: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 1qTUVy-0000L9-Ed; Tue, 08 Aug 2023 21:45:18 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTUVy-0000c5-7a; Tue, 08 Aug 2023 21:45: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=/ptdp1jNOu3zIbj++3uF01/aR4VDNlm76f4WVZ+9cSY=; b=G3bJz5Cb8fobjInPFDhYRJsOw1
	QOIOyxws4RfIHG2YjIDhGWa/FbcvxiCCFP2O2NhviaUs0NWdr6m01/moSc0FIJxsKC0M67zWxYFey
	3K76bfWgSqUY5RrniPImJ+36T0nz+lUtN/UZRqx8VD8e6mC9aTcD4YiQyuy2e/TtXvVs=;
Message-ID: <f0c7b8cb-e5e0-40bd-951c-da732e65730a@xen.org>
Date: Tue, 8 Aug 2023 22:45:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
 <3ddab6ee-54fc-49a0-8f14-79ca258d04af@xen.org>
 <76249714-6d1d-a2ad-cfe5-d7eae0ce3a1b@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <76249714-6d1d-a2ad-cfe5-d7eae0ce3a1b@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Daniel,

On 08/08/2023 21:49, Daniel P. Smith wrote:
> On 8/4/23 05:03, Julien Grall wrote:
>> Hi Daniel,
>>
>> On 03/08/2023 11:44, Daniel P. Smith wrote:
>>> +compatible
>>> +Â  Identifies which hypervisors the configuration is compatible. 
>>> Required.
>>> -Â Â Â  hypervisor {
>>> -Â Â Â Â Â Â Â  compatible = â€œhypervisor,xenâ€
>>> +Â  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
>>
>> I read "e.g" as "for example". You don't explicitely say which 
>> compatible will be supported by Xen, so one could write 
>> "hypervisor,foo" and expect to work.
>>
>> Also, it is not fully clear why you need both the hypervisor and each 
>> domain node to have a compatible with the hypervisor name in it.
> 
> Ack, it should be explicit to what is expected for a Xen configuration. 
> As for compatible on the domain node, I think that was from being overly 
> cautious, it can be dropped.
> 
> This did get me reflecting that the compatibility was added there as 
> there was some initial participation in standardization efforts going on 
> at the time. I am not sure what has come of those, but the question it 
> raised is that domain is a Xen specific term, whereas generally vm is 
> accepted as the generic term. Maybe this node needs renaming?

IIRC Stefano attempted to (partially?) standardized the Device-Tree 
configuration for domains. So I will let him comment here.

> 
>>> +compatible
>>> +Â  Identifies the hypervisor the confiugration is intended. Required.
>>
>> Also typo: s/confiugration/configuration/
> 
> Ack.
> 
>>> -The modules that would be supplied when using the above config would 
>>> be:
>>> +Â  Format: "<hypervisor name>,config", e.g "xen,config"
>>> -* (the above config, compiled into hardware tree)
>>> -* CPU microcode
>>> -* XSM policy
>>> -* kernel for boot domain
>>> -* ramdisk for boot domain
>>> -* boot domain configuration file
>>> -* kernel for the classic dom0 domain
>>> -* ramdisk for the classic dom0 domain
>>> +bootargs
>>> +Â  This is used to provide the boot params for Xen.
>>
>> How is this different from the command line parameter chosen? And if 
>> you want to keep both, what is the expected priority if a user 
>> provides both?
> 
> A DT file for x86, there is only a need to provide the hypervisor node, 
> for which we already needed a hypervisor config section to describe XSM 
> policy and microcode, at this point at least. It was decided in an 
> effort to provide flexibility, the ability to specify command line 
> parameters to the hypervisor in DT config. It is expected these 
> parameters would function as a base parameters that would be overridden 
> by those provided via the multiboot kernel entry.
]>
> Now as you point out for Arm, this becomes a bit redundant, to a degree, 
> as the Xen command line is already under the /chosen node. But even here 
> it would be beneficial, as a hyperlaunch configuration could be 
> distributed consisting of a dtb that has core parameters set with base 
> values along with a set of kernels and ramdisks. At boot, the 
> hyperlaunch dtb could then be concatenated with the device specific dtb.

I don't have a strong opinions on how it should be done. My point is 
more that the priority should be document.

> 
> 
>>> -The hypervisor device tree would be compiled into the hardware 
>>> device tree and
>>> -provided to Xen using the standard method currently in use. The 
>>> remaining
>>> -modules would need to be loaded in the respective addresses 
>>> specified in the
>>> -`module-addr` property.
>>> +Â  Format: String, e.g. "flask=silo"
>>> +Child Nodes
>>> +"""""""""""
>>> -The Hypervisor node
>>> --------------------
>>> +* module
>>> -The hypervisor node is a top level container for the domains that 
>>> will be built
>>> -by hypervisor on start up. On the ``hypervisor`` node the 
>>> ``compatible``
>>> -property is used to identify the type of hypervisor node present..
>>> +Domain Node
>>> +-----------
>>> -compatible
>>> -Â  Identifies the type of node. Required.
>>> +A ``domain`` node is for describing the construction of a domain. 
>>> Since there
>>> +may be one or more domain nodes, each one requires a unique, DTB 
>>> compliant name
>>> +and a ``compatible`` property to identify as a domain node.
>>> -The Config node
>>> ----------------
>>> +A ``domain`` nodeÂ  may provide a ``domid`` property which will be 
>>> used as the
>>> +requested domain id for the domain with a value of â€œ0â€ signifying to 
>>> use the
>>> +next available domain id, which is the default behavior if omitted. 
>>> It should
>>> +be noted that a domain configuration is not able to request a domid 
>>> of â€œ0â€
>>
>> Why do you need this restriction? And more importantly how would you 
>> describe dom0 in hyperlaunch?
> 
> I would start by saying one of the goals/purposes behind hyperlaunch is 
> to remove the binding that "dom0" is identified by having domid 0. That 
> is what the roles patch recently submitted is working to achieve. "Dom0" 
> is a role in the system, which I tried calling the "unbounded role" but 
> that seems to have caused some confusion.
> 
> That aside, IMHO because of the legacy around domid 0, I don't think it 
> should be assignable through hyperlaunch.

I understand the end goal. But I am not entirely convinced this will be 
wanted for everyone. So it might be preferable to avoid using '0' as 
'assign any free domid' as this would not prevent to describe dom0 in 
hyperlaunch if needed in the future.

> Additionally, there should be 
> an identifier that signifies auto-assign the domid and that value should 
> not conflict/limit what domids are usable by the hypervisor.

Why is this requirement? Why can't we simply rely on the property is not 
present?

>  Given we 
> should not be assigning domid 0 through this interface, it makes it the 
> perfect candidate value.
To be honest, even if you don't want to allow an admin to allocate ID 0, 
  I think using it is confusing because of the legacy meaning behind it.

I would likely be confused every time I read a device-tree. Also, given 
you already have a way to say 'assign a domain ID', it is not clear to 
me why you really need a second way to do it.

[...]

>>> +
>>> +capability
>>> +Â  This identifies what system capabilities a domain may have beyond 
>>> the role it
>>> +Â  was assigned.
>>> Â Â Â  Optional, the default is none.
>>> -.. note::Â  The `functions` bits that have been selected to indicate
>>> -Â Â  ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last 
>>> two bits
>>> -Â Â  (30, 31) such that should these features ever be fully retired, 
>>> the flags may
>>> -Â Â  be dropped without leaving a gap in the flag set.
>>> +Â  Format: Bitfield, e.g <3221225487> or <0xC0000007>
>>
>> I thik we should favor the hexadecimal version because this will be 
>> somewhat easier to read.
> 
> I too favor the hex version, but as I recall, DT/libfdt doesn't 
> care/enforce.

Indeed the device-tree compiler is able to cope with both. However, we 
don't have to mention the two. It would be ok to only mention the one we 
prefer (i.e. hexadecimal) so the reader will more naturally use it.

> 
>> Also, the Device-Tree values work in term of 32-bit cell. Also, how do 
>> you plan to handle the case where you have more than 32 capabilities?
> 
> I would add a capabalities2 field, this is how SELinux/Flask handle the 
> same problem.

You should not need to introduce a new field. Instead you can add a 
second cell. But we would need to describe the ordering because for 
backward compatibility the cell 0 would want to cover bits [0:31] and 
cell 2 bits [64:31].

[...]

>>> +
>>> Â  memory
>>> -Â  The amount of memory to assign to the domain, in KBs.
>>> +Â  The amount of memory to assign to the domain, in KBs. This field 
>>> uses a DTB
>>> +Â  Reg which contains a start and size. For memory allocation start 
>>> may or may
>>> +Â  not have significance but size will always be used for the amount 
>>> of memory
>>> Â Â Â  Required.
>>
>> The description doesn't match...
> 
> Ack, others caught that as well. Will be fixed.
> 
>>> +Â  Format: StringÂ  min:<sz> | max:<sz> | <sz>, e.g. "256M"
>>
>> ... the format. But strings are difficult to parse. If you want to 
>> provide 3 different values (possibly optional), then it would be best 
>> to have 3 different properties.
> 
> That format comes from the command line dom0 memory parameter, in the 
> hyperlaunch series I reused that existing parser that I am fairly 
> confident will be maintained.

Fair enough. However, I am still unconvinced this is the way to go. I 
don't have a strong argument other than 'memory' is already a number for 
dom0less DT and it sounds strange to change it.

Stefano, Bertrand, any opinions?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:17:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580516.908758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTV0U-00069r-JB; Tue, 08 Aug 2023 22:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580516.908758; Tue, 08 Aug 2023 22:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTV0U-00069k-FY; Tue, 08 Aug 2023 22:16:50 +0000
Received: by outflank-mailman (input) for mailman id 580516;
 Tue, 08 Aug 2023 22:16: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 1qTV0S-00069e-V7
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 22:16: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 1qTV0R-00011C-8S; Tue, 08 Aug 2023 22:16:47 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTV0R-0001om-1F; Tue, 08 Aug 2023 22:16:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=5Mk/uF6D99CYHy/bzJ6wkcl29nXJb80x3eKam8vfQPU=; b=KKEkkbXHfJROf6goVJMwLuSNLl
	JHbiVP+jsO/IYDCqEyt/hJXIWKcoqKN2UAVsS3GbfIGuyNQna+LRE8g/a5MVRb8gCsXQRqrk/t/Jc
	zfhMPD4FQOmG14rtCtd26ZE3OiXvDlG0sE+1jxgwJdudCcvEfBsO24Fe16zmoxmGBwU0=;
Message-ID: <14e22832-6e40-43a4-8dea-1f9b2141b2b4@xen.org>
Date: Tue, 8 Aug 2023 23:16:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-2-dpsmith@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230803104438.24720-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 03/08/2023 11:44, Daniel P. Smith wrote:
> ----------------
> +This node describes a boot module loaded by the boot loader. A ``module`` node
> +will often appear repeatedly and will require a unique and DTB compliant name
> +for each instance.

For clarification, do you mean module@<unit>? or something different?

> The compatible property is required to identify that the
> +node is a ``module`` node, the type of boot module, and what it represents.
>   
> -This node describes a boot module loaded by the boot loader. The required
> -compatible property follows the format: module,<type> where type can be
> -â€œkernelâ€, â€œramdiskâ€, â€œdevice-treeâ€, â€œmicrocodeâ€, â€œxsm-policyâ€ or â€œconfigâ€. In
> -the case the module is a multiboot module, the additional property string
> -â€œmultiboot,moduleâ€ may be present. One of two properties is required and
> -identifies how to locate the module. They are the mb-index, used for multiboot
> -modules, and the module-addr for memory address based location.
> +Depending on the type of boot module, the ``module`` node will require either a
> +``module-index`` or ``module-addr`` property must be present. They provide the
> +boot module specific way of locating the boot module in memory.
> +
> +Properties
> +""""""""""
>   
>   compatible
>     This identifies what the module is and thus what the hypervisor
>     should use the module for during domain construction. Required.
>   
> -mb-index
> -  This identifies the index for this module in the multiboot module chain.
> +  Format: "module,<module type>"[, "module,<locating type>"]
> +          module type: kernel, ramdisk, device-tree, microcode, xsm-policy,
> +                       config

All but the last are pretty self-explanatory. Can you clarify what the 
last one is?

> +
> +          locating type: index, addr

It is not clear to me why you need to specify the locating type in the 
compatible. Would not it be sufficient to check the presence of either 
module-index or module-addr?

If you still want both, then which property belong to which compatible?

> +
> +module-index
> +  This identifies the index for this module when in a module chain.
>     Required for multiboot environments.

'multiboot' is somewhat overloaded as we also use it to describe the 
binding in the device-tree. So I would clarify which multiboot you are 
referring to.

I assume this is x86 multiboot. That said, my knowledge about it is 
limited. How would a user be able to find the index to write down here?

>   
> +  Format: Integer, e.g. <0>
> +
>   module-addr
>     This identifies where in memory this module is located. Required for
>     non-multiboot environments.
>   
> +  Format: DTB Reg <start size>, e.g. <0x0 0x20000>

What is the expected number of cells?

> +
>   bootargs
>     This is used to provide the boot params to kernel modules.
>   
> +  Format: String, e.g. "ro quiet"
> +
>   .. note::  The bootargs property is intended for situations where the same kernel multiboot module is used for more than one domain.


I realize this wasn't added in your patch. But it is not entirely clear 
what this means given that an admin may still want to use 'bootargs' 
even if there is a single kernel.

> +
> +Example Configuration
> +---------------------
> +
> +Below are two example device tree definitions for the hypervisor node. The
> +first is an example of a multiboot-based configuration for x86 and the second
> +is a module-based configuration for Arm.
> +
> +Multiboot x86 Configuration:
> +""""""""""""""""""""""""""""
> +
> +::
> +
> +    /dts-v1/;
> +
> +    / {
> +        chosen {
> +            hypervisor {
> +                compatible = "hypervisor,xen", "xen,x86";
> +
> +                dom0 {
> +                    compatible = "xen,domain";
> +
> +                    domid = <0>;

This is actually a good example where '0' would become confusing because 
the name of the domain is 'dom0' so one could mistakenly assume that it 
means domid 0 will be assigned.

> +
> +                    role = <9>;

Reading this, I wonder if using number is actually a good idea. While 
this is machine friendly, this is not human friendly.

The most human friendly interface would be to use string, but I 
understand this is more complex to parse. So maybe we could use some 
pre-processing (like Linux does) to ease the creation of the hyperlaunch DT.

Bertrand, Stefano, what do you think?

> +                    mode = <12>;
> +
> +                    domain-uuid = [B3 FB 98 FB 8F 9F 67 A3 8A 6E 62 5A 09 13 F0 8C];
> +
> +                    cpus = <1>;
> +                    memory = "1024M";
> +
> +                    kernel {
> +                        compatible = "module,kernel", "module,index";
> +                        module-index = <1>;
> +                    };
> +
> +                    initrd {
> +                        compatible = "module,ramdisk", "module,index";
> +                        module-index = <2>;
> +                    };
> +                };
> +
> +                dom1 {
> +                    compatible = "xen,domain";
> +                    domid = <1>;
> +                    role = <0>;
> +                    capability = <1>;
> +                    mode = <12>;
> +                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64 54 1A 74];
> +                    cpus = <1>;
> +                    memory = "1024M";
> +
> +                    kernel {
> +                        compatible = "module,kernel", "module,index";
> +                        module-index = <3>;
> +                        bootargs = "console=hvc0 earlyprintk=xen root=/dev/ram0 rw";
> +                    };
> +
> +                    initrd {
> +                        compatible = "module,ramdisk", "module,index";
> +                        module-index = <4>;
> +                    };
> +                };
> +            };
> +        };
> +    };
> +
> +
> +
> +The multiboot modules supplied when using the above config would be, in order:
> +
> +* (the above config, compiled)
> +* kernel for PVH unbounded domain
> +* ramdisk for PVH unbounded domain
> +* kernel for PVH guest domain
> +* ramdisk for PVH guest domain
> +
> +Module Arm Configuration:
> +"""""""""""""""""""""""""
> +
> +::
> +
> +    /dts-v1/;
> +
> +    / {
> +        chosen {
> +            hypervisor {
> +                compatible = â€œhypervisor,xenâ€
> +
> +                // Configuration container
> +                config {
> +                    compatible = "xen,config";
> +
> +                    module {
> +                        compatible = "module,xsm-policy";
> +                        module-addr = <0x0000ff00 0x80>;
> +
> +                    };
> +                };
> +
> +                // Unbounded Domain definition
> +                dom0 {
> +                    compatible = "xen,domain";
> +
> +                    domid = <0>;
> +
> +                    role = <9>;
> +
> +                    mode = <12>; /* 64 BIT, PVH */

Arm guest have similar feature compare to PVH guest but they are 
strictly not the same. So we have been trying to avoid using the term on 
Arm.

I would prefer if we continue to avoid using the word 'PVH' to describe 
Arm. Lets just call them 'Arm guest'.

> +
> +                    memory = <0x0 0x20000>;

Here you use the integer version, but AFAICT this wasn't described in 
the binding above.

> +                    security-id = â€œdom0_tâ€;
> +
> +                    module {
> +                        compatible = "module,kernel";
> +                        module-addr = <0x0000ff00 0x80>;

Reading the binding, this is suggest that the first cell is the start 
address and the second is the size. Cells are 32-bits. So what if you 
have a 64-bit address?

For 'reg' property, the DT addressed this by using #address-cells and 
#size-cells to indicate the number of cells for each.

> +                        bootargs = "console=hvc0";
> +                    };
> +                    module {
> +                        compatible = "module,ramdisk";
> +                        module-addr = <0x0000ff00 0x80>;
> +                    };
> +                };
> +            };
> +        };
> +    };
> +
> +The modules that would be supplied when using the above config would be:
> +
> +* (the above config, compiled into hardware tree)
> +* XSM policy
> +* kernel for unbounded domain
> +* ramdisk for unbounded domain
> +* kernel for guest domain
> +* ramdisk for guest domain
> +
> +The hypervisor device tree would be compiled into the hardware device tree and
> +provided to Xen using the standard method currently in use. 

It is not clear what you mean by 'compiled in'. Do you mean the 
/hypervisor node will be present in the device-tree provided to Xen?

> The remaining
> +modules would need to be loaded in the respective addresses specified in the
> +`module-addr` property.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:17:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580520.908769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTV1J-0006g5-TU; Tue, 08 Aug 2023 22:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580520.908769; Tue, 08 Aug 2023 22: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 1qTV1J-0006fy-OW; Tue, 08 Aug 2023 22:17:41 +0000
Received: by outflank-mailman (input) for mailman id 580520;
 Tue, 08 Aug 2023 22:17: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTV1I-0006Zt-Jk
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 22:17:40 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61a14670-3639-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 00:17:38 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691533052569825.8071215817118;
 Tue, 8 Aug 2023 15:17: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: 61a14670-3639-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691533055; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gS49CPn7XdvuzrO5jPQIp9d4UZd2rGtphjZGtTxInZZlaJKHHeOV18f5IvLvhHuGehbyAbby1AWlafxXP0LZnXgxW5pUUNzx24W0It7d5qbBjMhP8Biym75yB3ubi14jUSa/H3/i2xWw/kZBiqmZNw3DagJ7Z3f0pas0NV3+fZo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691533055; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=XcpGlMEf5qRPH3+rRcZXT5HOscVJRVyIaVj+3He1MN0=; 
	b=dWi/eHCuS+A8vuZ0i+0X7bLVczmZuWAygQVGw7fyFbPiFyuz2RWYUcAtQVjg9llvSauUjC4lqTkpEX9CndocEHjAeh9JBYqkxc8u9hJasLK6Euamz8qsL7TbwA/ZveoNTUdoC0qhwz3eQmT4n/BmhCzR2VxLr0hvITNQlUEm9EI=
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=1691533055;
	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=XcpGlMEf5qRPH3+rRcZXT5HOscVJRVyIaVj+3He1MN0=;
	b=u0jN4Qihbi8YV2KvHoYxnyV4yn/paZ6lKIV0K+bLmR07PaoA/AOSUGfJr8UE93yj
	yDuwN/HsA2T4vbU5LExOM3fFNfeaDQp43AOOwYEL63x9JfR7BXWI4NMhkUsbd94lh79
	gVv78TofvEOgkxv9ESQGZ6ACCkdQpY/SzY63t/zM=
Message-ID: <119710f3-82b1-2066-5fa0-164bd293836e@apertussolutions.com>
Date: Tue, 8 Aug 2023 18:17:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop>
 <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/3/23 16:19, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
>> On 8/1/23 20:54, Stefano Stabellini wrote:
>>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>>> The existing concepts such as unbounded domain, ie. all powerful, control
>>>> domain and hardware domain are, effectively, roles the domains provide for
>>>> the
>>>> system. Currently, these are represented with booleans within `struct
>>>> domain`
>>>> or global domid variables that are compared against. This patch begins to
>>>> formalize these roles by replacing the `is_control` and `is_console`,
>>>> along
>>>> with expanding the check against the global `hardware_domain` with a
>>>> single
>>>> encapsulating role attribute in `struct domain`.
>>>>
>>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>>
>>> This is definitely heading in the right direction
>>
>> Thank you, it is good to know there is some agreement here.
>>
>>>> ---
>>>>    xen/arch/arm/domain_build.c |  2 ++
>>>>    xen/arch/x86/setup.c        |  2 ++
>>>>    xen/common/domain.c         | 14 +++++++++++++-
>>>>    xen/include/xen/sched.h     | 16 +++++++++-------
>>>>    xen/include/xsm/dummy.h     |  4 ++--
>>>>    xen/xsm/flask/hooks.c       | 12 ++++++------
>>>>    6 files changed, 34 insertions(+), 16 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>> index 39b4ee03a5..51b4daefe1 100644
>>>> --- a/xen/arch/arm/domain_build.c
>>>> +++ b/xen/arch/arm/domain_build.c
>>>> @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
>>>>        if ( IS_ERR(dom0) )
>>>>            panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
>>>>    +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
>>>
>>> I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
>>> "ROOT"?
>>>
>>> I also recognize I am not good at naming things so I'll stop here and
>>> let other provide better feedback :-)
>>
>> In first version of hyperlaunch and in the early roles work, I was working to
>> move toward eliminating this concept entirely. The reality is this is a model
>> that has existed for over 20 years and there are those who accept and embrace
>> the model. Introducing the name UNBOUNDED was to at least break the idea that
>> the all powerful domain necessarily is the first/initial domain to run. With
>> hyperlaunch, there are still security-based scenarios where you might want to
>> run a DomB before starting an all privileged domain. I spent quite some time,
>> probably more than I should have, to find a good name that expresses what this
>> role is. Considering a comment below and a comment by Jan, I am starting to
>> think a better way to view it is a domain that assumes all roles in the
>> system. So your suggestions of SUPER or ROOT might be more fitting. I
>> considered ROLE_ALL, but something about it doesn't sit right with me. With
>> that said I welcome the yak shaving of naming to begin. ( ^_^)
>>
>>> Also, do we actually need unbounded given that it gets replaced with
>>> control_domain pretty soon?
>>
>> Yes, because as mentioned above, this is meant to express a domain that has
>> been assigned all roles, for which later the domain may decided to delegate
>> the role to another domain.
>>
>>> I am asking because I think that at least from a safety perspective it
>>> would be a problem to run a domain as "unbounded". In a safety system,
>>> we wouldn't want anything to be unbounded, not even temporarily at boot.
>>> If "unbounded" is removed before running dom0, then of course it is no
>>> problem because actually dom0 never gets to run with "unbounded" set.
>>
>> I think this is were the name UNBOUNDED may have been a bad choice. The
>> UNBOUNDED role is dom0. It is the control domain, the hardware domain, the
>> Xenstore domain, and the crash domain (if that were to be solidified).
>>
>>> (I am currently thinking of solving the privilege issue by using XSM and
>>> removing most privileges from Dom0.)
>>
>> I obviously would be a huge advocate of that approach. ( ^_^)
> 
> Thanks for the history, that helps. I was asking because I would like to
> make sure that all the options below are possible and easy to achieve:
> 
> 1) traditional dom0 + some traditional domUs booted in a dom0less fashion
> 2) only traditional domUs booted in a dom0less fashion (no dom0 at all)
> 3) not-godlike-but-still-super dom0 + some traditional domUs booted in a dom0less fashion
> 4) domB booting
> 
> This ROLE_ALL domain would be dom0 in 1) and would be domB in 4).
> In 2), there is no dom0 so there should also be no ROLE_ALL domain. All
> good so far.

You are correct that constructing a traditional dom0 would be 
accomplished by assigning this role. As mentioned over in the 
hyperlaunch devicetree series that by a domain be a traditional dom0 
would not be about ensuring it was give domid 0, but that it was 
assigned this role.

As for domB, no, it would not get the ROLE_ALL. It's purpose is assist 
the hyperlaunch domain builder with functions that just should not be 
done inside the hypervisor. A less-than-ideal analogy, is domB is like 
an initrd for Linux. Like an initrd is an environment that runs in 
user-space with controlled kernel interfaces to interact with system, 
domB provides the concept of a domain role that has restricted access to 
hypervisor interfaces to those needed to configure/setup the domains 
constructed by the hypervisor. In the roles case, a course-grained 
common base set of capabilities will need to be determined, but those 
using FLASK will be able to do fine grained access assignment for more 
rigid/stringent use cases.

Yes, in scenario 2 you provided, no domain would get assigned ROLE_ALL.

> In 3), it looked to me that we would be creating a ROLE_ALL domain, then
> taking away some of the ROLEs. It doesn't sound right? Let's say that we
> want to have a hardware_domain (in the sense of default recipient of
> hardware, not necessarily privileged) with dm_ops access, but no domctl
> access. How would you go about it?

With what is there today for dom0less, you have to go down the path that 
when dom0less constructs the hwdom, this will trigger dom0 to be demoted 
to the control domain role before either of them get unpaused.

Moving forward to a when hyperlaunch appears, then you would just assign 
the control domain role to "dom0" and the hardware domain role to 
"hwdom" and nothing would ever be assigned ROLE_ALL.

> Would it be required to go through the ROLE_ALL stage? How does it
> compare to the way it would work today without this patch applied?
> Today, does XSM kick in after is_privileged is set, effectively being
> the same thing as XSM kicking in later and removing some ROLEs after
> ROLE_ALL is already set? So, basically nothing is changing?

Until hyperlaunch, yes you would have to go through ROLE_ALL, but in 
dom0less case, as long as the hwdom is one of the domains it constructs, 
dom0 would never run with that role.

Your next question is a bit tricky. XSM is effective fairly early in 
start_xen() and begins enforcing its policy. The tricky part is that 
there is functionality and hypervisor behaviors that are not protected 
behind an XSM hook but where is_privileged, checked via 
is_control_domain(), is used to controls how they work. There are other 
places in the code where one would say that DAC is enforced before MAC, 
specifically one of the is_{control,hardware,xenstore}_domain() is 
enforced before the fine grained XSM check is made. In most cases this 
is not an issue, the role can just be given to the domain and the FLASK 
policy can be relied upon to restrict down. But there are some esoteric 
cases that could be constructed where this behavior would break the 
security model.

>>>>        if ( alloc_dom0_vcpu0(dom0) == NULL )
>>>>            panic("Error creating domain 0 vcpu0\n");
>>>>    diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>>>> index 2dbe9857aa..4e20edc3bf 100644
>>>> --- a/xen/arch/x86/setup.c
>>>> +++ b/xen/arch/x86/setup.c
>>>> @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const
>>>> module_t *image,
>>>>        if ( IS_ERR(d) )
>>>>            panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
>>>>    +    d->role |= ROLE_UNBOUNDED_DOMAIN;
>>>> +
>>>>        init_dom0_cpuid_policy(d);
>>>>          if ( alloc_dom0_vcpu0(d) == NULL )
>>>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>>>> index 8fb3c052f5..0ff1d52e3d 100644
>>>> --- a/xen/common/domain.c
>>>> +++ b/xen/common/domain.c
>>>> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>>>>        setup_io_bitmap(dom0);
>>>>    #endif
>>>>    +    /*
>>>> +     * "dom0" may have been created under the unbounded role, demote it
>>>> from
>>>> +     * that role, reducing it to the control domain role and any other
>>>> roles it
>>>> +     * may have been given.
>>>> +     */
>>>> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
>>>> +    dom0->role |= ROLE_CONTROL_DOMAIN;
>>>
>>> I think we need a better definition of the three roles to understand
>>> what this mean.
>>
>> Definition and as highlighted, a better name.
>>
>>>>        rcu_unlock_domain(dom0);
>>>>          iommu_hwdom_init(d);
>>>> @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
>>>>        }
>>>>          /* Sort out our idea of is_control_domain(). */
>>>> -    d->is_privileged = flags & CDF_privileged;
>>>> +    if ( flags & CDF_privileged )
>>>> +        d->role |= ROLE_CONTROL_DOMAIN;
>>>> +    else
>>>> +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
>>>>          /* Sort out our idea of is_hardware_domain(). */
>>>>        if ( is_initial_domain(d) || domid == hardware_domid )
>>>> @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
>>>>              old_hwdom = hardware_domain;
>>>>            hardware_domain = d;
>>>> +        d->role |= ROLE_HARDWARE_DOMAIN;
>>>>        }
>>>>          TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
>>>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>>>> index a9276a7bed..695f240326 100644
>>>> --- a/xen/include/xen/sched.h
>>>> +++ b/xen/include/xen/sched.h
>>>> @@ -467,8 +467,10 @@ struct domain
>>>>    #endif
>>>>        /* is node-affinity automatically computed? */
>>>>        bool             auto_node_affinity;
>>>> -    /* Is this guest fully privileged (aka dom0)? */
>>>> -    bool             is_privileged;
>>>> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>>>> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
>>>> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
>>>
>>> This is a great step in the right direction but I think at least a short
>>> in-code comment to explain the difference between the three
>>
>> Ack.
>>
>>>> +    uint8_t          role;
>>>>        /* Can this guest access the Xen console? */
>>>>        bool             is_console;
>>>>        /* Is this guest being debugged by dom0? */
>>>> @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
>>>>      static always_inline bool is_initial_domain(const struct domain *d)
>>>>    {
>>>> -    static int init_domain_id = 0;
>>>> -
>>>> -    return d->domain_id == init_domain_id;
>>>> +    return d->role & ROLE_UNBOUNDED_DOMAIN;
>>>>    }
>>>
>>> As far as I can tell this is the only functional change in this patch:
>>> given that dom0 loses unbounded soon after boot, the "is_initial_domain"
>>> checks will start to fail?
>>
>> Today, dom0 should not lose any of its roles at boot unless dom0less were to
>> create a hardware domain.
> 
> I don't understand this sentence. To me, hardware_domain means "default
> recipient of hardware devices". It also happens to be traditionally
> associated with Dom0, so many privilege checks are hardware_domain
> check, although they should be instead control_domain checks.

What I am saying is that with this patch, dom0 will retain ROLE_ALL 
unless a separate hardware domain is constructed. If a separate hardware 
domain, aka late hardware domain, is created, then dom0 will loose 
ROLE_ALL and be demoted/limited to only ROLE_CONTROL_DOMAIN and the new 
late hardware domain will be give ROLE_HARDWARE_DOMAIN.

> So if you say "dom0 should not lose any of its roles at boot unless
> dom0less were to create a hardware domain", I read it as:
> 
> "dom0 (all powerful) would not lose any of its powers at boot unless we
> created dom0 (hardware domain, all powerful) with other domUs at boot
> using dom0less."

Let's say dom0less set the xen command line parameter hardware_dom=1, 
and it has a configuration that constructs dom0 and 3 domU. The the 
first domU constructed would result in dom0 get limited to 
ROLE_CONTROL_DOMAIN and dom1 would be given ROLE_HARDWARE_DOMAIN. What I 
would advise against, as I think it would end up crashing Xen, is if you 
gave dom0less a configuration with command line parameter 
hardware_dom=1, no dom0 and 3 domU. This would trigger the 
late_hwdom_init() which would it ASSERT(dom0 != NULL) and crash the 
hypervisor.

> which I don't understand

Did the above help?

>> Upon reflection, I am thinking this check might want renaming to align with
>> the rename of this role.
>>
>>> We have a few of them in the code and I couldn't rule out that at least
>>> these 3 could happen at runtime:
>>>
>>> xen/common/sched/core.c:    else if ( is_initial_domain(d) &&
>>> opt_dom0_vcpus_pin )
>>> xen/common/sched/core.c:    else if ( is_initial_domain(d) )
>>> xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )
>>>
>>> Maybe they need to be changed to control_domain checks?
>>
>> Perhaps, I would want to study them a bit before switching them over.
> 
> +1


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:21:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580528.908777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTV5K-0008AT-Ab; Tue, 08 Aug 2023 22:21:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580528.908777; Tue, 08 Aug 2023 22:21:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTV5K-0008AM-7z; Tue, 08 Aug 2023 22:21:50 +0000
Received: by outflank-mailman (input) for mailman id 580528;
 Tue, 08 Aug 2023 22:21:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTV5I-0008AG-9y
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 22:21:48 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4d1e5f9-3639-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 00:21:45 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 169153329184280.73507637940781;
 Tue, 8 Aug 2023 15:21:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4d1e5f9-3639-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691533294; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=S5UbPESoyGc4fJ9i3MzznzVVl8DXErgTlpt56beSU85PhS55JSwlsYOUH+AMkWx3ADoSoE9U9pi2pxYvTT4kty3a05N93HYqrSbhXcbqTvBFYSDX7tKcgI3qmp8xTkZOnp99BZ4jJy1R8Y2jGsH840LXglaCYh/O2gZyBEoWF9Q=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691533294; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=88j7gu/5pbiHC2iyQK4RrtMPtJazFeuz6Ak0rV88tXc=; 
	b=m2WjCTUlCpe0wKwFNb1dHj+o/l1R+gSpfaU7PWZU0GVoxE/2pk4e1hpV+bXRAW/2fx5fHMIfMKwaOUi0o6KREiHG56vSXRlRQv4PKuMpcTKp7JAGr2FJxi/W/mXDDEBMpRYm4tpH752+c7yN/RzctsqxZmkZVGS8k0ECBKhWRgc=
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=1691533294;
	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=88j7gu/5pbiHC2iyQK4RrtMPtJazFeuz6Ak0rV88tXc=;
	b=XJ9QxwP1vHqD28YG9/xJUoIpe6ZbeIt5+yXIHczlCZW1YUqmO5eFLKb+oVjMC8uL
	a37LdDQWNimp6eDD8O0VQy0BlagAgAQLwCNoJ5lx4et6gv6Kl8KRBs8aAwibFlgjeKF
	pgov/DVQLqBwgh8j44ByZT+2zjcjd2TiHyazWPdM=
Message-ID: <cccaff98-9ab0-7fa6-8d49-239e1c9c381a@apertussolutions.com>
Date: Tue, 8 Aug 2023 18:21:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
 <e178e8f0-312e-961f-6f09-84305f07d528@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <e178e8f0-312e-961f-6f09-84305f07d528@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/8/23 11:15, Jan Beulich wrote:
> On 01.08.2023 22:20, Daniel P. Smith wrote:
>> @@ -1076,7 +1076,8 @@ static always_inline bool is_hardware_domain(const struct domain *d)
>>       if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>>           return false;
>>   
>> -    return evaluate_nospec(d == hardware_domain);
>> +    return evaluate_nospec(((d->role & ROLE_HARDWARE_DOMAIN) ||
>> +        is_initial_domain(d)) && (d == hardware_domain));
>>   }
>>   
>>   /* This check is for functionality specific to a control domain */
>> @@ -1085,7 +1086,8 @@ static always_inline bool is_control_domain(const struct domain *d)
>>       if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) )
>>           return false;
>>   
>> -    return evaluate_nospec(d->is_privileged);
>> +    return evaluate_nospec((d->role & ROLE_CONTROL_DOMAIN) ||
>> +        is_initial_domain(d));
>>   }
> 
> Why these complicated conditions, and not just the check of the single
> relevant role bit? (Also note that indentation used here doesn't really
> match our expectations, but there are other style issues in the patch
> as well, which I assume is okay for an RFC.)

They go away with suggestion to move ROLE_UNBOUNDED a concatenation of 
all the other roles.

Ack on the style.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:31:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580535.908787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTVEw-0001KK-D0; Tue, 08 Aug 2023 22:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580535.908787; Tue, 08 Aug 2023 22:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTVEw-0001KD-AB; Tue, 08 Aug 2023 22:31:46 +0000
Received: by outflank-mailman (input) for mailman id 580535;
 Tue, 08 Aug 2023 22:31: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTVEv-0001K7-6H
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 22:31:45 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 593e7257-363b-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 00:31:43 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691533898593224.91657336270953;
 Tue, 8 Aug 2023 15: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: 593e7257-363b-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691533899; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=eGWJ45Z2fb64MaWqGYJLo/rxei9X9M2+d4WskopTEu4DFJ9r113JWJ3THa3o+ZQEhsQchQ/WQ8rDeSfwVQ3zcELzXw+K3KLgB8qd4QAhkool96aIrzRMrmNOQeh4B1ae48f6VHpdGDMOBzrJK9bikLP0qlOxkDXHhLFmYJChoIY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691533899; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=4UzpQ0OMpp/sjYWeLMxe4Hy3t+xUFbjxQS08RimHyQ8=; 
	b=ZM/q5OLf+XNDDg5E6AYyxZ7JyxGDEueTCyxP9etDCDE9OKkYiBlAXXO6wbOMGTNF5WKoasBBSR7So2wT7VIz+Q/u8srhTWZ+ptuOtb/rpCuOKpPYtBS1PoIe4k+k4F4KZPopgZxyk2VFlWXJtj2kQmVN+8ipDU4JTjaipO0Dcbo=
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=1691533899;
	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=4UzpQ0OMpp/sjYWeLMxe4Hy3t+xUFbjxQS08RimHyQ8=;
	b=VBx/6geEBP9wzVMco7zzVOyWhUA4yyAe2IaYBX8Me86jZ73mRtsnXB/qSwYE5VCo
	KNsOSx63Vvcqv5OGvbkP8kh2GOzp3qJAJYbf3RVk4hGoo0pJlS+hqmianc1QHZAvZnV
	WRvK/ZM4Uyw1U5LGIz6CgWbr1K5FgWq1RdQuEEy8=
Message-ID: <3decc6de-8d82-a862-36a8-9ddcd94fac4f@apertussolutions.com>
Date: Tue, 8 Aug 2023 18:31:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
 <14346689-8276-3c26-91e1-59bc2328518e@apertussolutions.com>
 <423f86e7-10ee-134e-7683-e15f7e2c64ed@xen.org>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <423f86e7-10ee-134e-7683-e15f7e2c64ed@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



On 8/3/23 17:24, Julien Grall wrote:
> Hi Daniel,
> 
> On 03/08/2023 16:41, Daniel P. Smith wrote:
>> On 8/1/23 21:01, Stefano Stabellini wrote:
>>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>>> patch the field is renamed to capabilities to encapsulate the 
>>>> capabilities a
>>>> domain has been granted. The first capability being the ability to 
>>>> read/write
>>>> the Xen console.
>>>>
>>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>>
>>> Patch looks fine to me aside the two minor nits. I am not sure I
>>> understand 100% the difference between capabilities and roles but I am
>>> OK with the patch. I'd like to hear Julien's feedback on this as well.
>>
>> This might be worth a section in the hypervisor-guide. As mentioned in 
>> the cover letter, this was originally proposed as being under XSM. A 
>> challenge I ran into is that, depending on your view, the 
>> `is_privileged` field and `hardware_domain` global were either abused 
>> as a function check and a non-resource privilege check or are just 
>> multifaceted variables. This is why the concept of the role was struck 
>> upon, it is more intuitive (for me at least) that have a role is 
>> something that imparts accesses (privilege checks) and dictates 
>> hypervisor behaviors when handling the domain (function checks). This 
>> then brings us to an access or behavior that may be inherent to some 
>> role(s) but may want to grant on an individually to a guest. A prime 
>> example of this is console_io, for which it is inherent that the 
>> hardware domain role will have access but may want to grant to a guest 
>> without granting it an entire role. This is why I provided for 
>> identifying these capabilities so that they may be assigned 
>> individually to a domain.
> 
> Thanks for the explanation. Just to confirm my understanding, what you 
> are suggesting is that for a given role, a domain will at least have the 
> matching capabilities (more could be granted). Is that correct?
> 
> If so, this wouldn't this mean we can remove d->role and simply use 
> d->capabilities?

We could start out with CAP_CTRL and CAP_HW, but it is a little 
illogical. For instance, control domain has many capabilities, they just 
have never been fully broken out. XSM did some, but the focus there was 
just on system resources. Similar with the hardware domain. You are 
right that it would better deal with the limited number of bits 
currently available.

>>
>> While the role/capability is a natural progression from how the 
>> hypervisor currently operates. Another approach that could be consider 
>> to deliver a similar experience would be to break down every access 
>> and function into a capability and then define the standard roles as a 
>> conglomeration of certain capabilities.
> 
> At least from the explanation above, I think it would make sense to 
> break down role to multiple capabilities.

Would it be acceptable to do this incrementally over time as we are able 
to determine what needs to be broken out as a distinct capability?


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:40:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:40:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580541.908799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTVNc-0002qR-9g; Tue, 08 Aug 2023 22:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580541.908799; Tue, 08 Aug 2023 22:40:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTVNc-0002qK-5C; Tue, 08 Aug 2023 22:40:44 +0000
Received: by outflank-mailman (input) for mailman id 580541;
 Tue, 08 Aug 2023 22:40: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 1qTVNb-0002qA-Bl; Tue, 08 Aug 2023 22:40: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 1qTVNb-0001bm-1G; Tue, 08 Aug 2023 22:40: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 1qTVNa-0007B4-Gk; Tue, 08 Aug 2023 22:40:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTVNa-0001jM-Fo; Tue, 08 Aug 2023 22:40:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3lX48N2Vi0PeEXioaUxXwEKB4Q0uYvFP1VNCzn7oZNI=; b=Ci1GpzcvJUKpF0eSvpxHItb3NI
	stClERufW+Qul8Lya6oU0IZrtl+Mkt60rUEmyUAkc0pbR8Iu4R/pmsSnVERGe+9tKrXt3DNS0REdH
	O3bfWP4vxFfmDyebAQFb36Pqjzeig2/ldub64zLkp76U3CujAW0d2Bd2ytl1J++agoTg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182227-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182227: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d3be806dae9c122fe94702cd9fa2e358a60828cd
X-Osstest-Versions-That:
    xen=e55146071de9257d70bd157047700071d0007622
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 08 Aug 2023 22:40:42 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail pass in 182240-retest
 test-amd64-i386-examine-uefi  6 xen-install         fail pass in 182240-retest
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 182240-retest
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 182240-retest

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

version targeted for testing:
 xen                  d3be806dae9c122fe94702cd9fa2e358a60828cd
baseline version:
 xen                  e55146071de9257d70bd157047700071d0007622

Last test of basis   182210  2023-08-07 01:52:04 Z    1 days
Failing since        182221  2023-08-07 18:40:18 Z    1 days    2 attempts
Testing same since   182227  2023-08-08 07:17:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca	Luparini <gianluca.luparini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <stefano.stabellini@amd.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e55146071d..d3be806dae  d3be806dae9c122fe94702cd9fa2e358a60828cd -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 22:49:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 22:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580569.908888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTVVu-0004O3-Vq; Tue, 08 Aug 2023 22:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580569.908888; Tue, 08 Aug 2023 22: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 1qTVVu-0004Nw-RY; Tue, 08 Aug 2023 22:49:18 +0000
Received: by outflank-mailman (input) for mailman id 580569;
 Tue, 08 Aug 2023 22:49:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTVVt-0004No-LW
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 22:49:17 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbed0d3d-363d-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 00:49:15 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691534949515220.7474258351242;
 Tue, 8 Aug 2023 15: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: cbed0d3d-363d-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; t=1691534952; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=bLuua5r1LGNNx9rs9d8ELD99e5LrC+mFsCiHru+q1Li8jWTDNs+sZ0kkoSwnWDp4Ffrf0DLH0vPfJGX4dWk/jzGdSdE5D25T0y9zUiAbUjm8PTpuXaDBS0tiqZWL3mteZln2cMQZJRHRbTnPjtuBV5CczyoEityoC9e3pvrpGhM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691534952; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=WgoM135m2U7UBiCaQNsuLm8Ol43KKt1u10XOAsqh1Jg=; 
	b=MqaUT7gohEQ9H+UhBjd5Uyugu+kJyCdfw6RlzprwBUm5KH6FrVifgUPmBXUusnT8Rb0W+RVrMNTxZeOtFqbgdpuRbzvDuvqOV0qgVvWC1xodgSxRE0tDkpE1Oax36cjqQh4CkNdWxAhZxMxO/EV7uv1wD9/Sjz7ippx9/GR7hLI=
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=1691534952;
	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=WgoM135m2U7UBiCaQNsuLm8Ol43KKt1u10XOAsqh1Jg=;
	b=L/VMeVVlrVWPRTcgIcaIIwIBM+ix1ERKqxFvnMeDsCzQZdfljupnN46upoLbW15X
	lsaHaZEM69xRN6DUmo6GQX9hIm/hbaFZAKdqJeGGNF5iX2qXOnWuG1+LWggxcNrqNqh
	x72ThNy3TDGTbutGrpJO7FPZHGbCEKS8jlwaROfc=
Message-ID: <7a10af10-27c7-257e-9564-2716c67bb400@apertussolutions.com>
Date: Tue, 8 Aug 2023 18:49:07 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-US
To: Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Cc: 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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <8951f722-6949-b2b5-f6d4-2d515f085cde@xen.org>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <8951f722-6949-b2b5-f6d4-2d515f085cde@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/3/23 17:03, Julien Grall wrote:
> Hi,

Greetings

> On 01/08/2023 21:20, Daniel P. Smith wrote:
>> The field `is_console` suggests that the field represents a state of 
>> being or
>> posession, not that it reflects the privilege to access the console. 
>> In this
>> patch the field is renamed to capabilities to encapsulate the 
>> capabilities a
>> domain has been granted. The first capability being the ability to 
>> read/write
>> the Xen console.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>> Â  xen/arch/arm/domain_build.c |Â  4 +++-
>> Â  xen/include/xen/sched.hÂ Â Â Â  | 25 +++++++++++++++++++++++--
>> Â  xen/include/xsm/dummy.hÂ Â Â Â  |Â  2 +-
>> Â  3 files changed, 27 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 51b4daefe1..ad7432b029 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -4076,7 +4076,9 @@ void __init create_domUs(void)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Error creating domain %s (rc = %ld)\n",
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dt_node_name(node), PTR_ERR(d));
>> -Â Â Â Â Â Â Â  d->is_console = true;
>> +Â Â Â Â Â Â Â  if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )
> 
> Coding style: We don't usually add a space after '!'.

Ack.

>> +Â Â Â Â Â Â Â Â Â Â Â  printk("failed setting console_io on %pd\n", d);
> 
> I find a bit odd that we would continue even if the cap cannot be set. 
> Can you clarify?

This is the construction of a domU, so the system is very much capable 
of coming up and reviewing the hypervisor messages from dom0 to discover 
the issue. I am hard pressed to believe the hypervisor should be 
panicked because the domU is not allowed to use the hypervisor's console.

g>> +
>> Â Â Â Â Â Â Â Â Â  dt_device_set_used_by(node, d->domain_id);
>> Â Â Â Â Â Â Â Â Â  rc = construct_domU(d, node);
>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>> index ec0f9baff6..b04fbe0565 100644
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -472,8 +472,8 @@ struct domain
>> Â  #define ROLE_HARDWARE_DOMAINÂ Â  (1U<<2)
>> Â  #define ROLE_XENSTORE_DOMAINÂ Â  (1U<<3)
>> Â Â Â Â Â  uint8_tÂ Â Â Â Â Â Â Â Â  role;
>> -Â Â Â  /* Can this guest access the Xen console? */
>> -Â Â Â  boolÂ Â Â Â Â Â Â Â Â Â Â Â  is_console;
>> +#define CAP_CONSOLE_IOÂ  (1U<<0)
> Coding style: Space before and after <<.

Ack.

>> +Â Â Â  uint8_tÂ Â Â Â Â Â Â Â Â  capabilities;
>> Â Â Â Â Â  /* Is this guest being debugged by dom0? */
>> Â Â Â Â Â  boolÂ Â Â Â Â Â Â Â Â Â Â Â  debugger_attached;
>> Â Â Â Â Â  /*
>> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const 
>> struct vcpu *v)
>> Â Â Â Â Â  return is_hvm_domain(v->domain);
>> Â  }
>> +static always_inline bool domain_has_cap(
>> +Â Â Â  const struct domain *d, uint8_t cap)
> 
> Coding style: We don't usually wrap the arguments this way. See 
> domain_create() for an example.

I was informed it was[1], also, please see next_domain_in_cpupool() 
amongst many others further below.

[1] 
https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg01133.html

>> +{
>> +Â Â Â  return d->capabilities & cap;
>> +}
>> +
>> +static always_inline bool domain_set_cap(
>> +Â Â Â  struct domain *d, uint8_t cap)
> 
> Same about the coding style here.

Ditto.

> Also, do you expect the cap to be set only when the domain is created? 
> If not, would you prevent potentially concurrent update to d->capabilities?

Currently the only means being devise to set this is via hyperlaunch 
domain creation. If a domctl op was added to be able to manipulate the 
caps, then yes a lock on the domain would be advised to block. With that 
said, if we switch over to CAP_CTRL/HW, then it might be good to grab a 
lock on the domain for the late hardware domain case.

>> +{
>> +Â Â Â  switch ( cap )
>> +Â Â Â  {
>> +Â Â Â  case CAP_CONSOLE_IO:
>> +Â Â Â Â Â Â Â  d->capabilities |= cap;
>> +Â Â Â Â Â Â Â  break;
>> +Â Â Â  default:
> 
> Is this meant to be reached? If not, maybe add ASSERT_UNREACHABLE()?

Yah, that would be a good idea.

>> +Â Â Â Â Â Â Â  return false;
>> +Â Â Â  }
>> +
>> +Â Â Â  return domain_has_cap(d, cap);
>> +} > +
>> Â  static always_inline bool hap_enabled(const struct domain *d)
>> Â  {
>> Â Â Â Â Â  /* sanitise_domain_config() rejects HAP && !HVM */
>> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
>> index 18f1ddd127..067ff1d111 100644
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -268,7 +268,7 @@ static XSM_INLINE int cf_check xsm_console_io(
>> Â Â Â Â Â  XSM_DEFAULT_ARG struct domain *d, int cmd)
>> Â  {
>> Â Â Â Â Â  XSM_ASSERT_ACTION(XSM_OTHER);
>> -Â Â Â  if ( d->is_console )
>> +Â Â Â  if ( domain_has_cap(d, CAP_CONSOLE_IO) )
>> Â Â Â Â Â Â Â Â Â  return xsm_default_action(XSM_HOOK, d, NULL);
>> Â  #ifdef CONFIG_VERBOSE_DEBUG
>> Â Â Â Â Â  if ( cmd == CONSOLEIO_write )


v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 23:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 23:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580576.908897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTW1g-0000O9-J6; Tue, 08 Aug 2023 23:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580576.908897; Tue, 08 Aug 2023 23:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTW1g-0000O2-G3; Tue, 08 Aug 2023 23:22:08 +0000
Received: by outflank-mailman (input) for mailman id 580576;
 Tue, 08 Aug 2023 23:22:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTW1f-0000Nw-LS
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 23:22:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62b838b3-3642-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 01:22:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E29F762DEE;
 Tue,  8 Aug 2023 23:22:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57C84C433C7;
 Tue,  8 Aug 2023 23:22:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62b838b3-3642-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691536923;
	bh=wkz4QDdS6EOodgWlT5pB8X3kXd5cGOfsF6oFMIZTu7g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JXwyk83Fmf7HArs2ZHTXy+zLOn8eCzpOpXYsX1YVRzYowkcy0+ZQA59aWIlgtZQ+h
	 RyJ/k5ORouWq4WwsEB18DkEsqNfaXXu6s7wCpem2PrLN4lVDkhF3sjfJT7+paltzYt
	 c00Kom/qEta3wjLJIHCaAah5zKJAw+TGXW5pnqyyUfdVleLq8Fh+jssjrbtfg95ikR
	 I+JgUTDGVWgTvm5PbXxn/moFJ9kLnm0g6hyCChqjiawNB4zuQw0posAmQiLtLVLDki
	 GsVUkpUN/nY6fa7lFGeL5csE3IbOAFDCkdmBnox2au8KOTAGp97bLNdU/iaQomYnGo
	 ehEjoejLC3JGQ==
Date: Tue, 8 Aug 2023 16:22:00 -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>, jgross@suse.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: MISRA violations in hypercall-defs
In-Reply-To: <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com> <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Jan Beulich wrote:
> On 08.08.2023 10:47, Federico Serafini wrote:
> > Hello everyone.
> > 
> > I would like to to ask your opinion about the auto-generated file
> > xen/include/xen/hypercall-defs.h which contains some violations of
> > MISRA C:2012 Rule 8.3:
> > "All declarations of an object or function shall use the same names and
> > type qualifiers".
> > 
> > Such violations can be seen at the following links
> > (copy and paste the link on you browser, including also the characters
> > after the '#'):
> > 
> > - arm
> > https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> > 
> > - x86
> > https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> > 
> > Some of the violations are due to mismatches on the return types
> > and the use of `ret_t`.
> 
> We already said that ret_t will need deviating. For parameter names
> it ought to be possible to suitably rename, like done elsewhere. Whether
> that means renaming in the generator script or in the definitions likely
> again needs judging on a case-by-case basis.

Is it the case that ret_t is purposedly defined as 'long' for 64-bit x86
guests and 'int' for 32-bit x86 guests?

I am asking because it looks like we don't use ret_t at all on ARM and
on the public interfaces.


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 23:33:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 23:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580582.908908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWCG-0001w5-IX; Tue, 08 Aug 2023 23:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580582.908908; Tue, 08 Aug 2023 23:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWCG-0001vy-FH; Tue, 08 Aug 2023 23:33:04 +0000
Received: by outflank-mailman (input) for mailman id 580582;
 Tue, 08 Aug 2023 23:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTWCF-0001vZ-9K
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 23:33:03 +0000
Received: from sender3-of-o58.zoho.com (sender3-of-o58.zoho.com
 [136.143.184.58]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e861f0c6-3643-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 01:33:00 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691537573501190.40765713349026;
 Tue, 8 Aug 2023 16: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: e861f0c6-3643-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691537576; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=EBSJmbzn2Rkk06O6cgqX3DQB0dg1wY/I/sp1NglCIifjRAmxqSlHqBPMnQzuS+hcxhqVOZ+GiSAyUNSqKykOpoh1DXWJ87R7W+NRaXtrrTRonA0xnaXSSrgCZU8TH+WSldYliBErJwAEpJw9W4sBxTt8Jnar3j6JWFShTlDDaSc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691537576; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=yIJghSW8omd3M8TJsuo41CcpbjM/paoBCzdM07Hk/Ik=; 
	b=HNm2K1Qq2wZIb+QE5Os6paD26kL8WvBj16PcQlGTaRB3/bqCBN4ml3LUXMaQPZRTK3O+BQeybRgHRYu/KKxhqSDzyXJWh72bSSRrczdFPEW0AlRE1LwIv5dC3IcKAXMPZWPz9JEgkLR4Kpw3kMy63NoFvWlk/pyTCyrpHNiVndA=
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=1691537576;
	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=yIJghSW8omd3M8TJsuo41CcpbjM/paoBCzdM07Hk/Ik=;
	b=oJ5g9bh1gcw8AsvQJ29qm60SfQb/mxgjGO3jufa9BIWawDI2PSq0qf0vkExbSBm7
	W22onsRHSGxpj1TkD7kHdeDzz00P8hGeak9IEAKkDIDgWQcY0He3UqOQ2GnBJaGSo9h
	A/1ICT4yKs7jrvVpb57p79ZOV+rn4tbQeGxAuJfA=
Message-ID: <810a7e96-9175-aea1-e01f-4f6ae1cbf690@apertussolutions.com>
Date: Tue, 8 Aug 2023 19:32:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
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>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <72f6cdbb-44a0-d821-1b7a-607e031cde99@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <72f6cdbb-44a0-d821-1b7a-607e031cde99@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/8/23 11:24, Jan Beulich wrote:
> On 01.08.2023 22:20, Daniel P. Smith wrote:
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -472,8 +472,8 @@ struct domain
>>   #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>>   #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>>       uint8_t          role;
>> -    /* Can this guest access the Xen console? */
>> -    bool             is_console;
>> +#define CAP_CONSOLE_IO  (1U<<0)
>> +    uint8_t          capabilities;
>>       /* Is this guest being debugged by dom0? */
>>       bool             debugger_attached;
>>       /*
>> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const struct vcpu *v)
>>       return is_hvm_domain(v->domain);
>>   }
>>   
>> +static always_inline bool domain_has_cap(
>> +    const struct domain *d, uint8_t cap)
>> +{
>> +    return d->capabilities & cap;
>> +}
> 
> What you implement here is effectively domain_has_any_cap(), which I
> don't think is of much use. At the very least you want to assert that
> cap is a power of two. But perhaps you rather want the caller to pass
> in a bit number, not a mask, such that it's obvious that only one
> thing can be checked at a time.

I did this thinking I was going to save keystrokes and encapsulate the 
check, but I just double checked and it would have only saved one. I 
will drop this and put the explicit bit checks at all the check sites.

>> +static always_inline bool domain_set_cap(
>> +    struct domain *d, uint8_t cap)
>> +{
>> +    switch ( cap )
>> +    {
>> +    case CAP_CONSOLE_IO:
>> +        d->capabilities |= cap;
>> +        break;
>> +    default:
>> +        return false;
>> +    }
>> +
>> +    return domain_has_cap(d, cap);
>> +}
> 
> The "set" operation doesn't need to be an inline function, does it?

I guess not, I can move into common/domain.c.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 23:38:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 23:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580588.908919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWHa-0002ZE-6b; Tue, 08 Aug 2023 23:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580588.908919; Tue, 08 Aug 2023 23:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWHa-0002Z7-26; Tue, 08 Aug 2023 23:38:34 +0000
Received: by outflank-mailman (input) for mailman id 580588;
 Tue, 08 Aug 2023 23:38:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OiCO=DZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTWHY-0002Z1-Eu
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 23:38:32 +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 ad8ee705-3644-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 01:38:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C57CD62E3F;
 Tue,  8 Aug 2023 23:38:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8D15C433C8;
 Tue,  8 Aug 2023 23:38: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: ad8ee705-3644-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691537908;
	bh=6l3NUxE3JGV6lK+c4EEgpFscVvTK57T9LWR6Dzjlivs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=d+sY75+Uevl7oJLRi/mhMHdNw+u3jkduiccm21t9fTQ7zmUcAEk8eMxZsl0afnelg
	 TRqztNZuTKel4FUJAAC5d7aWGJ/SpC6HBWwqr4zs+Qibo1F0x0f9ekOPdLrvy34IKq
	 lKcJKHCzMTQS/lme279m7Jwb6Fw7Krx+kgAYashcLAXQ5TffuG0qZcIkJ1jvBkMFPo
	 bpmCivmgD+Ao+RAQv+JZoAjh4Qgv6ln9kdKHetJXms1n5IaRh+POD2jq7VZHjpRCOD
	 04FeiWXou+EJIOyw/zkXMtI8+8nzf54GRKbUkmR4Z/1XTTQBc4ikXa+khkiPecNOh4
	 x4aaNc2RwHbZQ==
Date: Tue, 8 Aug 2023 16:38:25 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
In-Reply-To: <119710f3-82b1-2066-5fa0-164bd293836e@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308081629220.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-3-dpsmith@apertussolutions.com> <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop> <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop> <119710f3-82b1-2066-5fa0-164bd293836e@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Daniel P. Smith wrote:
> On 8/3/23 16:19, Stefano Stabellini wrote:
> > On Thu, 3 Aug 2023, Daniel P. Smith wrote:
> > > On 8/1/23 20:54, Stefano Stabellini wrote:
> > > > On Tue, 1 Aug 2023, Daniel P. Smith wrote:
> > > > > The existing concepts such as unbounded domain, ie. all powerful,
> > > > > control
> > > > > domain and hardware domain are, effectively, roles the domains provide
> > > > > for
> > > > > the
> > > > > system. Currently, these are represented with booleans within `struct
> > > > > domain`
> > > > > or global domid variables that are compared against. This patch begins
> > > > > to
> > > > > formalize these roles by replacing the `is_control` and `is_console`,
> > > > > along
> > > > > with expanding the check against the global `hardware_domain` with a
> > > > > single
> > > > > encapsulating role attribute in `struct domain`.
> > > > > 
> > > > > Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> > > > 
> > > > This is definitely heading in the right direction
> > > 
> > > Thank you, it is good to know there is some agreement here.
> > > 
> > > > > ---
> > > > >    xen/arch/arm/domain_build.c |  2 ++
> > > > >    xen/arch/x86/setup.c        |  2 ++
> > > > >    xen/common/domain.c         | 14 +++++++++++++-
> > > > >    xen/include/xen/sched.h     | 16 +++++++++-------
> > > > >    xen/include/xsm/dummy.h     |  4 ++--
> > > > >    xen/xsm/flask/hooks.c       | 12 ++++++------
> > > > >    6 files changed, 34 insertions(+), 16 deletions(-)
> > > > > 
> > > > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > > > > index 39b4ee03a5..51b4daefe1 100644
> > > > > --- a/xen/arch/arm/domain_build.c
> > > > > +++ b/xen/arch/arm/domain_build.c
> > > > > @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
> > > > >        if ( IS_ERR(dom0) )
> > > > >            panic("Error creating domain 0 (rc = %ld)\n",
> > > > > PTR_ERR(dom0));
> > > > >    +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
> > > > 
> > > > I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
> > > > "ROOT"?
> > > > 
> > > > I also recognize I am not good at naming things so I'll stop here and
> > > > let other provide better feedback :-)
> > > 
> > > In first version of hyperlaunch and in the early roles work, I was working
> > > to
> > > move toward eliminating this concept entirely. The reality is this is a
> > > model
> > > that has existed for over 20 years and there are those who accept and
> > > embrace
> > > the model. Introducing the name UNBOUNDED was to at least break the idea
> > > that
> > > the all powerful domain necessarily is the first/initial domain to run.
> > > With
> > > hyperlaunch, there are still security-based scenarios where you might want
> > > to
> > > run a DomB before starting an all privileged domain. I spent quite some
> > > time,
> > > probably more than I should have, to find a good name that expresses what
> > > this
> > > role is. Considering a comment below and a comment by Jan, I am starting
> > > to
> > > think a better way to view it is a domain that assumes all roles in the
> > > system. So your suggestions of SUPER or ROOT might be more fitting. I
> > > considered ROLE_ALL, but something about it doesn't sit right with me.
> > > With
> > > that said I welcome the yak shaving of naming to begin. ( ^_^)
> > > 
> > > > Also, do we actually need unbounded given that it gets replaced with
> > > > control_domain pretty soon?
> > > 
> > > Yes, because as mentioned above, this is meant to express a domain that
> > > has
> > > been assigned all roles, for which later the domain may decided to
> > > delegate
> > > the role to another domain.
> > > 
> > > > I am asking because I think that at least from a safety perspective it
> > > > would be a problem to run a domain as "unbounded". In a safety system,
> > > > we wouldn't want anything to be unbounded, not even temporarily at boot.
> > > > If "unbounded" is removed before running dom0, then of course it is no
> > > > problem because actually dom0 never gets to run with "unbounded" set.
> > > 
> > > I think this is were the name UNBOUNDED may have been a bad choice. The
> > > UNBOUNDED role is dom0. It is the control domain, the hardware domain, the
> > > Xenstore domain, and the crash domain (if that were to be solidified).
> > > 
> > > > (I am currently thinking of solving the privilege issue by using XSM and
> > > > removing most privileges from Dom0.)
> > > 
> > > I obviously would be a huge advocate of that approach. ( ^_^)
> > 
> > Thanks for the history, that helps. I was asking because I would like to
> > make sure that all the options below are possible and easy to achieve:
> > 
> > 1) traditional dom0 + some traditional domUs booted in a dom0less fashion
> > 2) only traditional domUs booted in a dom0less fashion (no dom0 at all)
> > 3) not-godlike-but-still-super dom0 + some traditional domUs booted in a
> > dom0less fashion
> > 4) domB booting
> > 
> > This ROLE_ALL domain would be dom0 in 1) and would be domB in 4).
> > In 2), there is no dom0 so there should also be no ROLE_ALL domain. All
> > good so far.
> 
> You are correct that constructing a traditional dom0 would be accomplished by
> assigning this role. As mentioned over in the hyperlaunch devicetree series
> that by a domain be a traditional dom0 would not be about ensuring it was give
> domid 0, but that it was assigned this role.
> 
> As for domB, no, it would not get the ROLE_ALL. It's purpose is assist the
> hyperlaunch domain builder with functions that just should not be done inside
> the hypervisor. A less-than-ideal analogy, is domB is like an initrd for
> Linux. Like an initrd is an environment that runs in user-space with
> controlled kernel interfaces to interact with system, domB provides the
> concept of a domain role that has restricted access to hypervisor interfaces
> to those needed to configure/setup the domains constructed by the hypervisor.
> In the roles case, a course-grained common base set of capabilities will need
> to be determined, but those using FLASK will be able to do fine grained access
> assignment for more rigid/stringent use cases.
> 
> Yes, in scenario 2 you provided, no domain would get assigned ROLE_ALL.
> 
> > In 3), it looked to me that we would be creating a ROLE_ALL domain, then
> > taking away some of the ROLEs. It doesn't sound right? Let's say that we
> > want to have a hardware_domain (in the sense of default recipient of
> > hardware, not necessarily privileged) with dm_ops access, but no domctl
> > access. How would you go about it?
> 
> With what is there today for dom0less, you have to go down the path that when
> dom0less constructs the hwdom, this will trigger dom0 to be demoted to the
> control domain role before either of them get unpaused.
> 
> Moving forward to a when hyperlaunch appears, then you would just assign the
> control domain role to "dom0" and the hardware domain role to "hwdom" and
> nothing would ever be assigned ROLE_ALL.

OK


> > Would it be required to go through the ROLE_ALL stage? How does it
> > compare to the way it would work today without this patch applied?
> > Today, does XSM kick in after is_privileged is set, effectively being
> > the same thing as XSM kicking in later and removing some ROLEs after
> > ROLE_ALL is already set? So, basically nothing is changing?
> 
> Until hyperlaunch, yes you would have to go through ROLE_ALL, but in dom0less
> case, as long as the hwdom is one of the domains it constructs, dom0 would
> never run with that role.

OK, I think we are on the same page. For extra clarity I want to add
that in scenario 3) there is no control domain at all. There is only
hardware_domain with a few control powers (not many).


> Your next question is a bit tricky. XSM is effective fairly early in
> start_xen() and begins enforcing its policy. The tricky part is that there is
> functionality and hypervisor behaviors that are not protected behind an XSM
> hook but where is_privileged, checked via is_control_domain(), is used to
> controls how they work. There are other places in the code where one would say
> that DAC is enforced before MAC, specifically one of the
> is_{control,hardware,xenstore}_domain() is enforced before the fine grained
> XSM check is made. In most cases this is not an issue, the role can just be
> given to the domain and the FLASK policy can be relied upon to restrict down.
> But there are some esoteric cases that could be constructed where this
> behavior would break the security model.

OK. I understand there are corner cases, but I am also understanding
that "nothing is changing" in terms of order of XSM enforcement and
deprivilege execution with this patch series? It is not getting "worse"
the window of time where Dom0 has ROLE_ALL/is_privileged?


> > > > >        if ( alloc_dom0_vcpu0(dom0) == NULL )
> > > > >            panic("Error creating domain 0 vcpu0\n");
> > > > >    diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > > > > index 2dbe9857aa..4e20edc3bf 100644
> > > > > --- a/xen/arch/x86/setup.c
> > > > > +++ b/xen/arch/x86/setup.c
> > > > > @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const
> > > > > module_t *image,
> > > > >        if ( IS_ERR(d) )
> > > > >            panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
> > > > >    +    d->role |= ROLE_UNBOUNDED_DOMAIN;
> > > > > +
> > > > >        init_dom0_cpuid_policy(d);
> > > > >          if ( alloc_dom0_vcpu0(d) == NULL )
> > > > > diff --git a/xen/common/domain.c b/xen/common/domain.c
> > > > > index 8fb3c052f5..0ff1d52e3d 100644
> > > > > --- a/xen/common/domain.c
> > > > > +++ b/xen/common/domain.c
> > > > > @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
> > > > >        setup_io_bitmap(dom0);
> > > > >    #endif
> > > > >    +    /*
> > > > > +     * "dom0" may have been created under the unbounded role, demote
> > > > > it
> > > > > from
> > > > > +     * that role, reducing it to the control domain role and any
> > > > > other
> > > > > roles it
> > > > > +     * may have been given.
> > > > > +     */
> > > > > +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
> > > > > +    dom0->role |= ROLE_CONTROL_DOMAIN;
> > > > 
> > > > I think we need a better definition of the three roles to understand
> > > > what this mean.
> > > 
> > > Definition and as highlighted, a better name.
> > > 
> > > > >        rcu_unlock_domain(dom0);
> > > > >          iommu_hwdom_init(d);
> > > > > @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
> > > > >        }
> > > > >          /* Sort out our idea of is_control_domain(). */
> > > > > -    d->is_privileged = flags & CDF_privileged;
> > > > > +    if ( flags & CDF_privileged )
> > > > > +        d->role |= ROLE_CONTROL_DOMAIN;
> > > > > +    else
> > > > > +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
> > > > >          /* Sort out our idea of is_hardware_domain(). */
> > > > >        if ( is_initial_domain(d) || domid == hardware_domid )
> > > > > @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
> > > > >              old_hwdom = hardware_domain;
> > > > >            hardware_domain = d;
> > > > > +        d->role |= ROLE_HARDWARE_DOMAIN;
> > > > >        }
> > > > >          TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
> > > > > diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> > > > > index a9276a7bed..695f240326 100644
> > > > > --- a/xen/include/xen/sched.h
> > > > > +++ b/xen/include/xen/sched.h
> > > > > @@ -467,8 +467,10 @@ struct domain
> > > > >    #endif
> > > > >        /* is node-affinity automatically computed? */
> > > > >        bool             auto_node_affinity;
> > > > > -    /* Is this guest fully privileged (aka dom0)? */
> > > > > -    bool             is_privileged;
> > > > > +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
> > > > > +#define ROLE_CONTROL_DOMAIN    (1U<<1)
> > > > > +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
> > > > 
> > > > This is a great step in the right direction but I think at least a short
> > > > in-code comment to explain the difference between the three
> > > 
> > > Ack.
> > > 
> > > > > +    uint8_t          role;
> > > > >        /* Can this guest access the Xen console? */
> > > > >        bool             is_console;
> > > > >        /* Is this guest being debugged by dom0? */
> > > > > @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
> > > > >      static always_inline bool is_initial_domain(const struct domain
> > > > > *d)
> > > > >    {
> > > > > -    static int init_domain_id = 0;
> > > > > -
> > > > > -    return d->domain_id == init_domain_id;
> > > > > +    return d->role & ROLE_UNBOUNDED_DOMAIN;
> > > > >    }
> > > > 
> > > > As far as I can tell this is the only functional change in this patch:
> > > > given that dom0 loses unbounded soon after boot, the "is_initial_domain"
> > > > checks will start to fail?
> > > 
> > > Today, dom0 should not lose any of its roles at boot unless dom0less were
> > > to
> > > create a hardware domain.
> > 
> > I don't understand this sentence. To me, hardware_domain means "default
> > recipient of hardware devices". It also happens to be traditionally
> > associated with Dom0, so many privilege checks are hardware_domain
> > check, although they should be instead control_domain checks.
> 
> What I am saying is that with this patch, dom0 will retain ROLE_ALL unless a
> separate hardware domain is constructed. If a separate hardware domain, aka
> late hardware domain, is created, then dom0 will loose ROLE_ALL and be
> demoted/limited to only ROLE_CONTROL_DOMAIN and the new late hardware domain
> will be give ROLE_HARDWARE_DOMAIN.
> 
> > So if you say "dom0 should not lose any of its roles at boot unless
> > dom0less were to create a hardware domain", I read it as:
> > 
> > "dom0 (all powerful) would not lose any of its powers at boot unless we
> > created dom0 (hardware domain, all powerful) with other domUs at boot
> > using dom0less."
> 
> Let's say dom0less set the xen command line parameter hardware_dom=1, and it
> has a configuration that constructs dom0 and 3 domU. The the first domU
> constructed would result in dom0 get limited to ROLE_CONTROL_DOMAIN and dom1
> would be given ROLE_HARDWARE_DOMAIN. What I would advise against, as I think
> it would end up crashing Xen, is if you gave dom0less a configuration with
> command line parameter hardware_dom=1, no dom0 and 3 domU. This would trigger
> the late_hwdom_init() which would it ASSERT(dom0 != NULL) and crash the
> hypervisor.

Thanks for the example, it is finally clear!

I don't think we should add hardware_dom=1 to the command line (I don't
know if it was just an example to make it easier to understand for me).
Instead it should a property on device tree. hardware_dom=1 is not great
because it is tied to the order of domain construction. Instead it
should be a device tree property under the specific domain. That way you
can clearly specify which one is tradition dom0, or which is
hardware_domain and which is control_domain.


> > which I don't understand
> 
> Did the above help?

A lot, thanks!


> > > Upon reflection, I am thinking this check might want renaming to align
> > > with
> > > the rename of this role.
> > > 
> > > > We have a few of them in the code and I couldn't rule out that at least
> > > > these 3 could happen at runtime:
> > > > 
> > > > xen/common/sched/core.c:    else if ( is_initial_domain(d) &&
> > > > opt_dom0_vcpus_pin )
> > > > xen/common/sched/core.c:    else if ( is_initial_domain(d) )
> > > > xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )
> > > > 
> > > > Maybe they need to be changed to control_domain checks?
> > > 
> > > Perhaps, I would want to study them a bit before switching them over.
> > 
> > +1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 08 23:59:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 Aug 2023 23:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580595.908928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWc1-000559-S0; Tue, 08 Aug 2023 23:59:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580595.908928; Tue, 08 Aug 2023 23:59:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWc1-000552-On; Tue, 08 Aug 2023 23:59:41 +0000
Received: by outflank-mailman (input) for mailman id 580595;
 Tue, 08 Aug 2023 23: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=p7Ml=DZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTWbz-00054w-MT
 for xen-devel@lists.xenproject.org; Tue, 08 Aug 2023 23:59:39 +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 9fa2066b-3647-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 01:59:36 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1691539168302242.3678362872048;
 Tue, 8 Aug 2023 16:59:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fa2066b-3647-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691539169; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=E97/EQ4Rd/ItcjCrL9baRh8iy1jdUfPcjAYrphTDuSppIPSIHZdmennI8yA5RTuH8/NrJk13eXmO7KLQMfLJcUeDQ+vh6YVZUtnsw/CxfXVADXCVwR24ahX9QFwHuJtcEm7pHW6sqiNr8U1XoR4NR/n1yj6UZuj5GunXSOjULfk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691539169; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=b7arqanQZaKrseLp8T3E5x22B2H7nmPRA4KWnM7oBUo=; 
	b=PXSE+j55WkuaAiU5vqA2xHecWxUSl918r/GctxvbCtSqF9tsHjDJ1k7KkoLoxXX+/lGxhk/FWc9lVJPcVPCN/NI1ToB3S6NeA85UeCESouGZkyWvMsQghYsnaa0NMnLdS5mUqj7iMyZUDjemHHEfSh65yyeAYPcUTwa3GezgIQM=
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=1691539169;
	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=b7arqanQZaKrseLp8T3E5x22B2H7nmPRA4KWnM7oBUo=;
	b=GChef75QLMo+fqpJY/F7pTWyK7WEO+Z98V6szlB0fb8J7xIjrK5/ecc63Jxdorzo
	2Dy7uTEHfC3EA/nDZMPM95nqthv5qvyPEPjgKKrMF5I1byu3QIi9h1mlI/xwFPGYoMH
	iu6KyhpegGwCr46VELlKRujbSv19Hf/t0UGgwiIk=
Message-ID: <331ee5de-3c90-2e3f-ef1c-914a2cbf14cf@apertussolutions.com>
Date: Tue, 8 Aug 2023 19:59:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 5/6] capabilities: add dom0 cpu faulting disable
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-6-dpsmith@apertussolutions.com>
 <93750d64-07b3-2a92-4851-bcd5bda9a0a5@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <93750d64-07b3-2a92-4851-bcd5bda9a0a5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/8/23 11:30, Jan Beulich wrote:
> On 01.08.2023 22:20, Daniel P. Smith wrote:
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -164,48 +164,46 @@ static void set_cpuid_faulting(bool enable)
>>   
>>   void ctxt_switch_levelling(const struct vcpu *next)
>>   {
>> -	const struct domain *nextd = next ? next->domain : NULL;
>> -	bool enable_cpuid_faulting;
>> -
>> -	if (cpu_has_cpuid_faulting ||
>> -	    boot_cpu_has(X86_FEATURE_CPUID_USER_DIS)) {
>> -		/*
>> -		 * No need to alter the faulting setting if we are switching
>> -		 * to idle; it won't affect any code running in idle context.
>> -		 */
>> -		if (nextd && is_idle_domain(nextd))
>> -			return;
>> -		/*
>> -		 * We *should* be enabling faulting for PV control domains.
>> -		 *
>> -		 * The domain builder has now been updated to not depend on
>> -		 * seeing host CPUID values.  This makes it compatible with
>> -		 * PVH toolstack domains, and lets us enable faulting by
>> -		 * default for all PV domains.
>> -		 *
>> -		 * However, as PV control domains have never had faulting
>> -		 * enforced on them before, there might plausibly be other
>> -		 * dependenices on host CPUID data.  Therefore, we have left
>> -		 * an interim escape hatch in the form of
>> -		 * `dom0=no-cpuid-faulting` to restore the older behaviour.
>> -		 */
>> -		enable_cpuid_faulting = nextd && (opt_dom0_cpuid_faulting ||
>> -		                                  !is_control_domain(nextd) ||
>> -		                                  !is_pv_domain(nextd)) &&
>> -		                        (is_pv_domain(nextd) ||
>> -		                         next->arch.msrs->
>> -		                         misc_features_enables.cpuid_faulting);
>> -
>> -		if (cpu_has_cpuid_faulting)
>> -			set_cpuid_faulting(enable_cpuid_faulting);
>> -		else
>> -			amd_set_cpuid_user_dis(enable_cpuid_faulting);
>> -
>> -		return;
>> -	}
>> -
>> -	if (ctxt_switch_masking)
>> -		alternative_vcall(ctxt_switch_masking, next);
>> +    const struct domain *nextd = next ? next->domain : NULL;
>> +    bool enable_cpuid_faulting;
>> +
>> +    if ( cpu_has_cpuid_faulting ||
>> +         boot_cpu_has(X86_FEATURE_CPUID_USER_DIS) ) {
>> +        /*
>> +        * No need to alter the faulting setting if we are switching
>> +        * to idle; it won't affect any code running in idle context.
>> +        */
>> +        if (nextd && is_idle_domain(nextd))
>> +            return;
>> +        /*
>> +        * We *should* be enabling faulting for PV control domains.
>> +        *
>> +        * The domain builder has now been updated to not depend on
>> +        * seeing host CPUID values.  This makes it compatible with
>> +        * PVH toolstack domains, and lets us enable faulting by
>> +        * default for all PV domains.
>> +        *
>> +        * However, as PV control domains have never had faulting
>> +        * enforced on them before, there might plausibly be other
>> +        * dependenices on host CPUID data.  Therefore, we have left
>> +        * an interim escape hatch in the form of
>> +        * `dom0=no-cpuid-faulting` to restore the older behaviour.
>> +        */
>> +        enable_cpuid_faulting = nextd &&
>> +            domain_has_cap(nextd, CAP_DISABLE_CPU_FAULT) &&
>> +            (is_pv_domain(nextd) ||
>> +            next->arch.msrs->misc_features_enables.cpuid_faulting);
>> +
>> +        if (cpu_has_cpuid_faulting)
>> +            set_cpuid_faulting(enable_cpuid_faulting);
>> +        else
>> +            amd_set_cpuid_user_dis(enable_cpuid_faulting);
>> +
>> +        return;
>> +    }
>> +
>> +    if (ctxt_switch_masking)
>> +        alternative_vcall(ctxt_switch_masking, next);
>>   }
> 
> I don't think I can spot what exactly changes here. Please avoid re-
> indenting the entire function.

Oh, that was not intentional. I must have done a retab as that entire 
function is indented using hardtabs.

>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -907,6 +907,10 @@ static struct domain *__init create_dom0(const module_t *image,
>>   
>>       d->role |= ROLE_UNBOUNDED_DOMAIN;
>>   
>> +    if ( !opt_dom0_cpuid_faulting &&
>> +         !domain_set_cap(d, CAP_DISABLE_CPU_FAULT) )
>> +        printk(XENLOG_WARNING "failed to set CPU faulting on Dom %pd\n", d);
> 
> No "Dom" please when you use %pd. Also I don't think you mean "set". Plus
> we commonly use "%pd: xyz failed\n".

Ack on the "Dom" removal and "%pd:".

As for set, it failed to set the capability on the domain. You could say 
enable but that is nothing more than synonyms, not changing the meaning 
of the statement.

>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -472,7 +472,8 @@ struct domain
>>   #define ROLE_HARDWARE_DOMAIN   (1U<<2)
>>   #define ROLE_XENSTORE_DOMAIN   (1U<<3)
>>       uint8_t          role;
>> -#define CAP_CONSOLE_IO  (1U<<0)
>> +#define CAP_CONSOLE_IO         (1U<<0)
>> +#define CAP_DISABLE_CPU_FAULT  (1U<<1)
>>       uint8_t          capabilities;
>>       /* Is this guest being debugged by dom0? */
>>       bool             debugger_attached;
>> @@ -1160,6 +1161,11 @@ static always_inline bool domain_set_cap(
>>       case CAP_CONSOLE_IO:
>>           d->capabilities |= cap;
>>           break;
>> +    case CAP_DISABLE_CPU_FAULT:
>> +        /* Disabling cpu faulting is only allowed for a PV control domain. */
>> +        if ( is_pv_domain(d) && is_control_domain(d) )
>> +            d->capabilities |= cap;
>> +        break;
> 
> How do you express the x86-ness of this? Plus shouldn't this fail when
> either of the two conditions isn't met?

You are correct, since this moves an x86 capability out into common, it 
should be ifdef'ed for x86.

Correct me if I am wrong here, but in the original check it would 
evaluate that all three conditions to be true. All this change did is 
effectively move the last two conditions into domain_set_cap(). Thus 
storing the evaluation of the first two conditions during dom0 
capability setup for the result to later be evaluated during dom0 cpuid 
policy setup as it was done before.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:02:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:02:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580601.908938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWf5-0007B9-SY; Wed, 09 Aug 2023 00:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580601.908938; Wed, 09 Aug 2023 00:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTWf5-0007B2-NM; Wed, 09 Aug 2023 00:02:51 +0000
Received: by outflank-mailman (input) for mailman id 580601;
 Wed, 09 Aug 2023 00:02: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 1qTWf4-0007Aq-HC; Wed, 09 Aug 2023 00:02: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 1qTWf4-00046v-Cj; Wed, 09 Aug 2023 00:02: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 1qTWf3-0005U7-V4; Wed, 09 Aug 2023 00:02:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTWf3-0001VE-Sc; Wed, 09 Aug 2023 00:02: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=ka2tyQOcPIx3SgHL41bYctcFHxq/yKWfxBdN7nbEmfo=; b=ldXW5bRhAXM9GUiQqXfMjolJON
	9CAC8P0BKZP+JR67hiUOGUTll2jV1xheRQk1MMgm6g5wxyLJJUbUGnQ/EXR9kJ/oXq1sooLemAWD0
	U7uP2yEeEyDFsF/TvLwvZbABEu4EUa5eQVo/gItBw0888q9goMdVdwG3E898hsWM5Z+o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182231-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182231: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0450cf08976f9036feaded438031b4cba94f6452
X-Osstest-Versions-That:
    qemuu=e0e5dca517a5964d407f48bdfccbea88113b2736
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 00:02:49 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                0450cf08976f9036feaded438031b4cba94f6452
baseline version:
 qemuu                e0e5dca517a5964d407f48bdfccbea88113b2736

Last test of basis   182222  2023-08-07 20:38:59 Z    1 days
Testing same since   182231  2023-08-08 08:51:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  Dongli Zhang <dongli.zhang@oracle.com>
  Dongwon Kim <dongwon.kim@intel.com>
  Luca Bonissi <qemu@bonslack.org>
  Marc-AndrĂ© Lureau <marcandre.lureau@redhat.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Richard Henderson <richard.henderson@linaro.org>
  Zongmin Zhou <zhouzongmin@kylinos.cn>
  Zongmin Zhou<zhouzongmin@kylinos.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   e0e5dca517..0450cf0897  0450cf08976f9036feaded438031b4cba94f6452 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:34:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580610.908949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTX9l-0002Jz-BV; Wed, 09 Aug 2023 00:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580610.908949; Wed, 09 Aug 2023 00:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTX9l-0002Js-7B; Wed, 09 Aug 2023 00:34:33 +0000
Received: by outflank-mailman (input) for mailman id 580610;
 Wed, 09 Aug 2023 00: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=Q63w=D2=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qTX9j-0002Jm-6Y
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 00:34:31 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e57c31c-364c-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 02:34:27 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 16915412635711018.2146342926833;
 Tue, 8 Aug 2023 17:34: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: 7e57c31c-364c-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; t=1691541264; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=H9VdcIqtvDHawaggAa60LjdLVJ6afkqNxXI0Gxgb1slWX8vwb/kMLAjWiCemo8BXHsD6uZrp2UvfOmUHiR3z+KVuj0TeeLRIKlrEEP2XkQGBDG8tVrR3/AJnReVlF5dIEQb6u+257rWfnnuC++sOl9Y3AVSZKmYxkln1A6u5KgA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1691541264; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=83T5jzdPlLeVfNFoB0HbUs7iFodqjP9UZnCLmRe025g=; 
	b=hxEyX+KmBOkmzi2fhKoVua1TuogHRM2Nu1vjD5XbhT06UIeDmk3oBh0mTX9lkU3vgoJs/5F1SXWl7JRra5YALwIi/Fs/zDWJ7VVuWXnZ6rkjt77GTJ/oqaVX8O5KM678LQo/d1flE/rxayzQyzbFpbi7JGE+udZ27mrH/Cf13Aw=
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=1691541264;
	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=83T5jzdPlLeVfNFoB0HbUs7iFodqjP9UZnCLmRe025g=;
	b=jnnR3Bnb1joNFIRS/FKD7wWmEV+K/pDoe5CczIaHOnRFUsgCOUvQdC62sJIMxEGO
	vY70QrLTfS4G02qCermvYWcXzSaJWO0iy3/wee9UnrJxAtPT7rE2qSMyz8WnlGDFTR1
	LddQANJs2Aja3tNxtlUAMofjJK3bUzCQN2hN81uw=
Message-ID: <961664b6-ede3-c803-293a-0aeb5792990d@apertussolutions.com>
Date: Tue, 8 Aug 2023 20:34:21 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.1
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.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>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-3-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop>
 <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop>
 <119710f3-82b1-2066-5fa0-164bd293836e@apertussolutions.com>
 <alpine.DEB.2.22.394.2308081629220.2127516@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2308081629220.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/8/23 19:38, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Daniel P. Smith wrote:
>> On 8/3/23 16:19, Stefano Stabellini wrote:
>>> On Thu, 3 Aug 2023, Daniel P. Smith wrote:
>>>> On 8/1/23 20:54, Stefano Stabellini wrote:
>>>>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>>>>> The existing concepts such as unbounded domain, ie. all powerful,
>>>>>> control
>>>>>> domain and hardware domain are, effectively, roles the domains provide
>>>>>> for
>>>>>> the
>>>>>> system. Currently, these are represented with booleans within `struct
>>>>>> domain`
>>>>>> or global domid variables that are compared against. This patch begins
>>>>>> to
>>>>>> formalize these roles by replacing the `is_control` and `is_console`,
>>>>>> along
>>>>>> with expanding the check against the global `hardware_domain` with a
>>>>>> single
>>>>>> encapsulating role attribute in `struct domain`.
>>>>>>
>>>>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>>>>
>>>>> This is definitely heading in the right direction
>>>>
>>>> Thank you, it is good to know there is some agreement here.
>>>>
>>>>>> ---
>>>>>>     xen/arch/arm/domain_build.c |  2 ++
>>>>>>     xen/arch/x86/setup.c        |  2 ++
>>>>>>     xen/common/domain.c         | 14 +++++++++++++-
>>>>>>     xen/include/xen/sched.h     | 16 +++++++++-------
>>>>>>     xen/include/xsm/dummy.h     |  4 ++--
>>>>>>     xen/xsm/flask/hooks.c       | 12 ++++++------
>>>>>>     6 files changed, 34 insertions(+), 16 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>>>> index 39b4ee03a5..51b4daefe1 100644
>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>> @@ -4201,6 +4201,8 @@ void __init create_dom0(void)
>>>>>>         if ( IS_ERR(dom0) )
>>>>>>             panic("Error creating domain 0 (rc = %ld)\n",
>>>>>> PTR_ERR(dom0));
>>>>>>     +    dom0->role |= ROLE_UNBOUNDED_DOMAIN;
>>>>>
>>>>> I am not a fan of "UNBOUNDED". Maybe "PRIMARY"? "PRIVILEGED"? "SUPER"?
>>>>> "ROOT"?
>>>>>
>>>>> I also recognize I am not good at naming things so I'll stop here and
>>>>> let other provide better feedback :-)
>>>>
>>>> In first version of hyperlaunch and in the early roles work, I was working
>>>> to
>>>> move toward eliminating this concept entirely. The reality is this is a
>>>> model
>>>> that has existed for over 20 years and there are those who accept and
>>>> embrace
>>>> the model. Introducing the name UNBOUNDED was to at least break the idea
>>>> that
>>>> the all powerful domain necessarily is the first/initial domain to run.
>>>> With
>>>> hyperlaunch, there are still security-based scenarios where you might want
>>>> to
>>>> run a DomB before starting an all privileged domain. I spent quite some
>>>> time,
>>>> probably more than I should have, to find a good name that expresses what
>>>> this
>>>> role is. Considering a comment below and a comment by Jan, I am starting
>>>> to
>>>> think a better way to view it is a domain that assumes all roles in the
>>>> system. So your suggestions of SUPER or ROOT might be more fitting. I
>>>> considered ROLE_ALL, but something about it doesn't sit right with me.
>>>> With
>>>> that said I welcome the yak shaving of naming to begin. ( ^_^)
>>>>
>>>>> Also, do we actually need unbounded given that it gets replaced with
>>>>> control_domain pretty soon?
>>>>
>>>> Yes, because as mentioned above, this is meant to express a domain that
>>>> has
>>>> been assigned all roles, for which later the domain may decided to
>>>> delegate
>>>> the role to another domain.
>>>>
>>>>> I am asking because I think that at least from a safety perspective it
>>>>> would be a problem to run a domain as "unbounded". In a safety system,
>>>>> we wouldn't want anything to be unbounded, not even temporarily at boot.
>>>>> If "unbounded" is removed before running dom0, then of course it is no
>>>>> problem because actually dom0 never gets to run with "unbounded" set.
>>>>
>>>> I think this is were the name UNBOUNDED may have been a bad choice. The
>>>> UNBOUNDED role is dom0. It is the control domain, the hardware domain, the
>>>> Xenstore domain, and the crash domain (if that were to be solidified).
>>>>
>>>>> (I am currently thinking of solving the privilege issue by using XSM and
>>>>> removing most privileges from Dom0.)
>>>>
>>>> I obviously would be a huge advocate of that approach. ( ^_^)
>>>
>>> Thanks for the history, that helps. I was asking because I would like to
>>> make sure that all the options below are possible and easy to achieve:
>>>
>>> 1) traditional dom0 + some traditional domUs booted in a dom0less fashion
>>> 2) only traditional domUs booted in a dom0less fashion (no dom0 at all)
>>> 3) not-godlike-but-still-super dom0 + some traditional domUs booted in a
>>> dom0less fashion
>>> 4) domB booting
>>>
>>> This ROLE_ALL domain would be dom0 in 1) and would be domB in 4).
>>> In 2), there is no dom0 so there should also be no ROLE_ALL domain. All
>>> good so far.
>>
>> You are correct that constructing a traditional dom0 would be accomplished by
>> assigning this role. As mentioned over in the hyperlaunch devicetree series
>> that by a domain be a traditional dom0 would not be about ensuring it was give
>> domid 0, but that it was assigned this role.
>>
>> As for domB, no, it would not get the ROLE_ALL. It's purpose is assist the
>> hyperlaunch domain builder with functions that just should not be done inside
>> the hypervisor. A less-than-ideal analogy, is domB is like an initrd for
>> Linux. Like an initrd is an environment that runs in user-space with
>> controlled kernel interfaces to interact with system, domB provides the
>> concept of a domain role that has restricted access to hypervisor interfaces
>> to those needed to configure/setup the domains constructed by the hypervisor.
>> In the roles case, a course-grained common base set of capabilities will need
>> to be determined, but those using FLASK will be able to do fine grained access
>> assignment for more rigid/stringent use cases.
>>
>> Yes, in scenario 2 you provided, no domain would get assigned ROLE_ALL.
>>
>>> In 3), it looked to me that we would be creating a ROLE_ALL domain, then
>>> taking away some of the ROLEs. It doesn't sound right? Let's say that we
>>> want to have a hardware_domain (in the sense of default recipient of
>>> hardware, not necessarily privileged) with dm_ops access, but no domctl
>>> access. How would you go about it?
>>
>> With what is there today for dom0less, you have to go down the path that when
>> dom0less constructs the hwdom, this will trigger dom0 to be demoted to the
>> control domain role before either of them get unpaused.
>>
>> Moving forward to a when hyperlaunch appears, then you would just assign the
>> control domain role to "dom0" and the hardware domain role to "hwdom" and
>> nothing would ever be assigned ROLE_ALL.
> 
> OK

Apologies I was more clear the first time.

>>> Would it be required to go through the ROLE_ALL stage? How does it
>>> compare to the way it would work today without this patch applied?
>>> Today, does XSM kick in after is_privileged is set, effectively being
>>> the same thing as XSM kicking in later and removing some ROLEs after
>>> ROLE_ALL is already set? So, basically nothing is changing?
>>
>> Until hyperlaunch, yes you would have to go through ROLE_ALL, but in dom0less
>> case, as long as the hwdom is one of the domains it constructs, dom0 would
>> never run with that role.
> 
> OK, I think we are on the same page. For extra clarity I want to add
> that in scenario 3) there is no control domain at all. There is only
> hardware_domain with a few control powers (not many).

If that is the case, then you need FLASK and would either change the 
dom0_t label to remove the privileges you don't want it to have or 
derive a new label from dom0_t, again with the privileges you don't want 
removed. I think the latter would be recommended as you can give that 
label a name to reflect what the domain is.

>> Your next question is a bit tricky. XSM is effective fairly early in
>> start_xen() and begins enforcing its policy. The tricky part is that there is
>> functionality and hypervisor behaviors that are not protected behind an XSM
>> hook but where is_privileged, checked via is_control_domain(), is used to
>> controls how they work. There are other places in the code where one would say
>> that DAC is enforced before MAC, specifically one of the
>> is_{control,hardware,xenstore}_domain() is enforced before the fine grained
>> XSM check is made. In most cases this is not an issue, the role can just be
>> given to the domain and the FLASK policy can be relied upon to restrict down.
>> But there are some esoteric cases that could be constructed where this
>> behavior would break the security model.
> 
> OK. I understand there are corner cases, but I am also understanding
> that "nothing is changing" in terms of order of XSM enforcement and
> deprivilege execution with this patch series? It is not getting "worse"
> the window of time where Dom0 has ROLE_ALL/is_privileged?

Correct.

>>>>>>         if ( alloc_dom0_vcpu0(dom0) == NULL )
>>>>>>             panic("Error creating domain 0 vcpu0\n");
>>>>>>     diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>>>>>> index 2dbe9857aa..4e20edc3bf 100644
>>>>>> --- a/xen/arch/x86/setup.c
>>>>>> +++ b/xen/arch/x86/setup.c
>>>>>> @@ -905,6 +905,8 @@ static struct domain *__init create_dom0(const
>>>>>> module_t *image,
>>>>>>         if ( IS_ERR(d) )
>>>>>>             panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
>>>>>>     +    d->role |= ROLE_UNBOUNDED_DOMAIN;
>>>>>> +
>>>>>>         init_dom0_cpuid_policy(d);
>>>>>>           if ( alloc_dom0_vcpu0(d) == NULL )
>>>>>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>>>>>> index 8fb3c052f5..0ff1d52e3d 100644
>>>>>> --- a/xen/common/domain.c
>>>>>> +++ b/xen/common/domain.c
>>>>>> @@ -340,6 +340,14 @@ static int late_hwdom_init(struct domain *d)
>>>>>>         setup_io_bitmap(dom0);
>>>>>>     #endif
>>>>>>     +    /*
>>>>>> +     * "dom0" may have been created under the unbounded role, demote
>>>>>> it
>>>>>> from
>>>>>> +     * that role, reducing it to the control domain role and any
>>>>>> other
>>>>>> roles it
>>>>>> +     * may have been given.
>>>>>> +     */
>>>>>> +    dom0->role &= ~(ROLE_UNBOUNDED_DOMAIN & ROLE_HARDWARE_DOMAIN);
>>>>>> +    dom0->role |= ROLE_CONTROL_DOMAIN;
>>>>>
>>>>> I think we need a better definition of the three roles to understand
>>>>> what this mean.
>>>>
>>>> Definition and as highlighted, a better name.
>>>>
>>>>>>         rcu_unlock_domain(dom0);
>>>>>>           iommu_hwdom_init(d);
>>>>>> @@ -609,7 +617,10 @@ struct domain *domain_create(domid_t domid,
>>>>>>         }
>>>>>>           /* Sort out our idea of is_control_domain(). */
>>>>>> -    d->is_privileged = flags & CDF_privileged;
>>>>>> +    if ( flags & CDF_privileged )
>>>>>> +        d->role |= ROLE_CONTROL_DOMAIN;
>>>>>> +    else
>>>>>> +        d->role &= ~ROLE_CONTROL_DOMAIN; /*ensure not set */
>>>>>>           /* Sort out our idea of is_hardware_domain(). */
>>>>>>         if ( is_initial_domain(d) || domid == hardware_domid )
>>>>>> @@ -619,6 +630,7 @@ struct domain *domain_create(domid_t domid,
>>>>>>               old_hwdom = hardware_domain;
>>>>>>             hardware_domain = d;
>>>>>> +        d->role |= ROLE_HARDWARE_DOMAIN;
>>>>>>         }
>>>>>>           TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
>>>>>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>>>>>> index a9276a7bed..695f240326 100644
>>>>>> --- a/xen/include/xen/sched.h
>>>>>> +++ b/xen/include/xen/sched.h
>>>>>> @@ -467,8 +467,10 @@ struct domain
>>>>>>     #endif
>>>>>>         /* is node-affinity automatically computed? */
>>>>>>         bool             auto_node_affinity;
>>>>>> -    /* Is this guest fully privileged (aka dom0)? */
>>>>>> -    bool             is_privileged;
>>>>>> +#define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
>>>>>> +#define ROLE_CONTROL_DOMAIN    (1U<<1)
>>>>>> +#define ROLE_HARDWARE_DOMAIN   (1U<<2)
>>>>>
>>>>> This is a great step in the right direction but I think at least a short
>>>>> in-code comment to explain the difference between the three
>>>>
>>>> Ack.
>>>>
>>>>>> +    uint8_t          role;
>>>>>>         /* Can this guest access the Xen console? */
>>>>>>         bool             is_console;
>>>>>>         /* Is this guest being debugged by dom0? */
>>>>>> @@ -1060,9 +1062,7 @@ void watchdog_domain_destroy(struct domain *d);
>>>>>>       static always_inline bool is_initial_domain(const struct domain
>>>>>> *d)
>>>>>>     {
>>>>>> -    static int init_domain_id = 0;
>>>>>> -
>>>>>> -    return d->domain_id == init_domain_id;
>>>>>> +    return d->role & ROLE_UNBOUNDED_DOMAIN;
>>>>>>     }
>>>>>
>>>>> As far as I can tell this is the only functional change in this patch:
>>>>> given that dom0 loses unbounded soon after boot, the "is_initial_domain"
>>>>> checks will start to fail?
>>>>
>>>> Today, dom0 should not lose any of its roles at boot unless dom0less were
>>>> to
>>>> create a hardware domain.
>>>
>>> I don't understand this sentence. To me, hardware_domain means "default
>>> recipient of hardware devices". It also happens to be traditionally
>>> associated with Dom0, so many privilege checks are hardware_domain
>>> check, although they should be instead control_domain checks.
>>
>> What I am saying is that with this patch, dom0 will retain ROLE_ALL unless a
>> separate hardware domain is constructed. If a separate hardware domain, aka
>> late hardware domain, is created, then dom0 will loose ROLE_ALL and be
>> demoted/limited to only ROLE_CONTROL_DOMAIN and the new late hardware domain
>> will be give ROLE_HARDWARE_DOMAIN.
>>
>>> So if you say "dom0 should not lose any of its roles at boot unless
>>> dom0less were to create a hardware domain", I read it as:
>>>
>>> "dom0 (all powerful) would not lose any of its powers at boot unless we
>>> created dom0 (hardware domain, all powerful) with other domUs at boot
>>> using dom0less."
>>
>> Let's say dom0less set the xen command line parameter hardware_dom=1, and it
>> has a configuration that constructs dom0 and 3 domU. The the first domU
>> constructed would result in dom0 get limited to ROLE_CONTROL_DOMAIN and dom1
>> would be given ROLE_HARDWARE_DOMAIN. What I would advise against, as I think
>> it would end up crashing Xen, is if you gave dom0less a configuration with
>> command line parameter hardware_dom=1, no dom0 and 3 domU. This would trigger
>> the late_hwdom_init() which would it ASSERT(dom0 != NULL) and crash the
>> hypervisor.
> 
> Thanks for the example, it is finally clear!
> 
> I don't think we should add hardware_dom=1 to the command line (I don't
> know if it was just an example to make it easier to understand for me).
> Instead it should a property on device tree. hardware_dom=1 is not great
> because it is tied to the order of domain construction. Instead it
> should be a device tree property under the specific domain. That way you
> can clearly specify which one is tradition dom0, or which is
> hardware_domain and which is control_domain.

I was describing with today's code, how you would launch a late hardware 
domain. The logic to trigger the hardware transfer from dom0 to the 
hardware domain is triggered by the command line parameter 
`hardware-dom`. With hyperlaunch, this can eventually be retired and 
separate control domain and hardware domain can be constructed at launch 
as we expose access to roles/capabilities through its DT interface.

>>> which I don't understand
>>
>> Did the above help?
> 
> A lot, thanks!

Your welcome, glad I was able to articulate it better this time.

>>>> Upon reflection, I am thinking this check might want renaming to align
>>>> with
>>>> the rename of this role.
>>>>
>>>>> We have a few of them in the code and I couldn't rule out that at least
>>>>> these 3 could happen at runtime:
>>>>>
>>>>> xen/common/sched/core.c:    else if ( is_initial_domain(d) &&
>>>>> opt_dom0_vcpus_pin )
>>>>> xen/common/sched/core.c:    else if ( is_initial_domain(d) )
>>>>> xen/common/sched/arinc653.c:    if ( is_initial_domain(unit->domain) )
>>>>>
>>>>> Maybe they need to be changed to control_domain checks?
>>>>
>>>> Perhaps, I would want to study them a bit before switching them over.
>>>
>>> +1
>>


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:43:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580617.908958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXIg-0003tb-Bw; Wed, 09 Aug 2023 00:43:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580617.908958; Wed, 09 Aug 2023 00:43:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXIg-0003tU-7f; Wed, 09 Aug 2023 00:43:46 +0000
Received: by outflank-mailman (input) for mailman id 580617;
 Wed, 09 Aug 2023 00: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTXIf-0003tO-OG
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 00:43:45 +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 c9c7b0d6-364d-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 02:43:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 608DA62E77;
 Wed,  9 Aug 2023 00:43:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8F8C4C433C8;
 Wed,  9 Aug 2023 00:43: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: c9c7b0d6-364d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691541820;
	bh=oVABKR76DoWqzsGRz1snuwY40T+DoDY/s5F1RUNNCuY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MszJN5RH230+Ij2IPlb0zpY1xRocUEdH8HvMm7s09CqV9JeHyQZ0FAgZF92gn9PSL
	 8BIhpRN6W7rXtkb4aa3uNOIDzh9/b0jW7M7qQkMFUiD1SVTJoNBNuGWjM7HPCTIZWb
	 oFU3tzUI3hIvuFyncNMnNwIAALf3yl/SZpwFj+Tx5NmT+win9/97s0q/8cv2IDVgLl
	 gVhRNytjOM5Rp7afgDEpx4hQtv0LEkiooSfDKoV7OtOhU6b9vwMYQ+5UkzhWImCfbV
	 YXaZZbcpnqc9Mjln0Me7vGz9TsntjkAtXoGWsaBAdCbYoW8oZKHx7BWRRz3GgANq56
	 ydu4+aSbgAp9A==
Date: Tue, 8 Aug 2023 17:43:38 -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: 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>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <bdbf125d-b772-404b-e2d1-79d40090a100@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308081640190.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com> <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop> <bdbf125d-b772-404b-e2d1-79d40090a100@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Daniel P. Smith wrote:
> On 8/3/23 19:38, Stefano Stabellini wrote:
> > On Thu, 3 Aug 2023, Daniel P. Smith wrote:
> > > > Also, what is the plan for the existing dom0less dt properties?
> > > > Will they need to be moved to new /hypervisor node or we will have to
> > > > parse
> > > > both /chosen and /hypervisor nodes?
> > > 
> > > In the proposal I sent to xen-devel in response to Luca's RFC for
> > > rebranding
> > > dom0less features under hyperlaunch, that is the purpose of this commit.
> > > Get
> > > this document up to date with what was done in v1 along with what we are
> > > planning/working on for hyperlaunch. One could think of this as
> > > effectively
> > > the API to the capabilities hyperlaunch will provide. Not just how to
> > > construct a domain, but what kinds of domains can be constructed by
> > > hyperlaunch. Step one of the proposal is to publish a patch upon which we
> > > all
> > > can iterate over and get to an agreement on a suitable interface for all.
> > > The
> > > next step would be the introduction of hyperlaunch dom0less compatibility
> > > mode, that would see the moving of the parsing logic for the existing
> > > dom0less
> > > nodes under /xen/common/domain-builder. It would continue to exist there
> > > even
> > > after hyperlaunch proper is merged and can remain there for backward
> > > compatibility until there is a decision to retire the compatibility
> > > interface.
> > 
> > I like this plan. The two interfaces are so similar that it is basically
> > one interface with a couple of tiny differences.
> > 
> > So I expect we would move the existing dom0less parsing code to common/,
> > add a couple of extensions (such as parsing /hypervisor in addition to
> > /chosen) and use it as it.
> 
> Do you mean /chosen/hypervisor?

I meant /hypervisor as in "the node under which the hyperlaunch
configuration is presented". If HyperLaunch uses /chosen/hypervisor,
then that's what I meant :-)


> > Later on, after a few years of using /hypervisor instead of /chosen, if
> > nobody is using /chosen anymore, we could retire /chosen completely. But
> > this is just one DT node/property that gets retired (there are a couple
> > of others). I don't imagine we'll have a full new implementation of the
> > DT parsing logic that supersedes the existing implementation of it
> > (especially considering the difficulty of maintaining 2 different parsing
> > logics in the hypervisor for similar interfaces).
> 
> +1
> 
> > Same thing for the DT interface documentation. I don't think we need two
> > DT interface docs? We could start with the existing dom0less interface
> > (docs/misc/arm/device-tree/booting.txt), and move it somewhere common
> > like docs/misc/device-tree.
> 
> So in the plan that I sent, patch series 3 was were I was going to consolidate
> docs/design/launch/hyperlaunch-devicetree.rst and
> docs/misc/arm/device-tree/booting.txt into a single document under
> docs/features/hyperlaunch/device-tree.rst along with moving
> docs/features/dom0less.pandoc to
> docs/features/hyperlaunch/dom0less-compatibility-mode.pandoc. The thinking
> here was to get all the feature documentation together in a single place, but
> I would be open to putting the suggested consolidated device-tree.rst
> mentioned above into docs/misc/device-tree/hyperlaunch.rst if that is
> preferred.

Yes I think we should have a single consolidated document, because it is
not a good idea to support very similar but subtly different interfaces
on ARM/x86. docs/misc/device-tree/hyperlaunch.rst should work fine.

And I think we should try to minimize differences and have a single
common parsing code.

Any role definition introduced by hyperlaunch originally for x86 would
undoubtedly be useful on ARM. Conversely, all the existing ARM dom0less
tools (ImageBuilder) might be useful on x86 too. RISC-V might use it too
in the near future.


> > Then add any changes or extensions required by other architecture, such
> > as x86 and RISC-V.
> > 
> > For sure for x86 we need "module-index". I don't know if anything else
> > is must-have to get it to work on x86 but if there is, we should add
> > those too.
> 
> Hmm good point, since in the suggested patch series 3 from the plan, this
> probably should get cropped down to what we actually have implemented for x86
> hyperlaunch and then get expanded as it becomes feature complete.

Yes exactly. So I think the best way to move forward is something along
these lines:
a) work on a single arch-neutral hyperlaunch/dom0less DT interface
   document for ARM/x86/RISC-V
b) in parallel, move dom0less parsing code to common (AMD might be able
   to work on this, to be confirmed)
c) add x86 features as needed to the code and to the interface doc,
   "module-index" would probably be among the first ones
d) as we add more features, we expand the hyperlaunch/dom0less DT
   interface document


I think a) only really needs the smallest amount of changes to make it
work on non-ARM architectures


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:43:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580618.908968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXIn-0004Ay-IY; Wed, 09 Aug 2023 00:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580618.908968; Wed, 09 Aug 2023 00:43:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXIn-0004Ar-Fv; Wed, 09 Aug 2023 00:43:53 +0000
Received: by outflank-mailman (input) for mailman id 580618;
 Wed, 09 Aug 2023 00:43:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTXIm-0004AJ-Me
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 00:43:52 +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 ce663524-364d-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 02:43:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7BCC262E76;
 Wed,  9 Aug 2023 00:43:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8B89C433C7;
 Wed,  9 Aug 2023 00:43: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: ce663524-364d-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691541828;
	bh=eG7pqWOuk/Rfgfwp5QpRzBlLDZJCfn0qFLVG7dJSE8w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GbpR13/9PJ1OaBNjBiTIczndcpTnEQhfo3B9lBcQqGICDp/2BH0UhCT5Z59ObXUIx
	 SyF2q/KPx0X45DEfMTR5cVwK56u456T3CPTD373vZTIFGBNMs2Ec/u8QM0fWSVZMRC
	 yYLbdCX03n78zOA8M7Q2Sko9qgQMnAovsg2j47dK8YjmOWDFeb43t66hbkGbG4C7dg
	 59u8Z6F5UXOhMi5x+101Vj2OB1CpqDXxBWzdyD382XFPx4g1lbJ3s5K35ni1TYsp2Z
	 n7mpPcoFl1jXSYw0GP4f6jRxbs6thOnPBm8N1/loYdSagLGywJGSjBLmHqTmFS3gnN
	 rP184+0U/P/sw==
Date: Tue, 8 Aug 2023 17:43:46 -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: 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>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <fc91ad7b-df94-a1ec-abe1-9472337024b6@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308081652280.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com> <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031620160.2127516@ubuntu-linux-20-04-desktop> <alpine.DEB.2.22.394.2308031709070.2127516@ubuntu-linux-20-04-desktop> <fc91ad7b-df94-a1ec-abe1-9472337024b6@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Daniel P. Smith wrote:
> On 8/3/23 20:09, Stefano Stabellini wrote:
> > On Thu, 3 Aug 2023, Stefano Stabellini wrote:
> > > On Thu, 3 Aug 2023, Daniel P. Smith wrote:
> > > > > Also, what is the plan for the existing dom0less dt properties?
> > > > > Will they need to be moved to new /hypervisor node or we will have to
> > > > > parse
> > > > > both /chosen and /hypervisor nodes?
> > > > 
> > > > In the proposal I sent to xen-devel in response to Luca's RFC for
> > > > rebranding
> > > > dom0less features under hyperlaunch, that is the purpose of this commit.
> > > > Get
> > > > this document up to date with what was done in v1 along with what we are
> > > > planning/working on for hyperlaunch. One could think of this as
> > > > effectively
> > > > the API to the capabilities hyperlaunch will provide. Not just how to
> > > > construct a domain, but what kinds of domains can be constructed by
> > > > hyperlaunch. Step one of the proposal is to publish a patch upon which
> > > > we all
> > > > can iterate over and get to an agreement on a suitable interface for
> > > > all. The
> > > > next step would be the introduction of hyperlaunch dom0less
> > > > compatibility
> > > > mode, that would see the moving of the parsing logic for the existing
> > > > dom0less
> > > > nodes under /xen/common/domain-builder. It would continue to exist there
> > > > even
> > > > after hyperlaunch proper is merged and can remain there for backward
> > > > compatibility until there is a decision to retire the compatibility
> > > > interface.
> > > 
> > > I like this plan. The two interfaces are so similar that it is basically
> > > one interface with a couple of tiny differences.
> > > 
> > > So I expect we would move the existing dom0less parsing code to common/,
> > > add a couple of extensions (such as parsing /hypervisor in addition to
> > > /chosen) and use it as it.
> > > 
> > > Later on, after a few years of using /hypervisor instead of /chosen, if
> > > nobody is using /chosen anymore, we could retire /chosen completely. But
> > > this is just one DT node/property that gets retired (there are a couple
> > > of others). I don't imagine we'll have a full new implementation of the
> > > DT parsing logic that supersedes the existing implementation of it
> > > (especially considering the difficulty of maintaining 2 different parsing
> > > logics in the hypervisor for similar interfaces).
> > > 
> > > Same thing for the DT interface documentation. I don't think we need two
> > > DT interface docs? We could start with the existing dom0less interface
> > > (docs/misc/arm/device-tree/booting.txt), and move it somewhere common
> > > like docs/misc/device-tree.
> > > 
> > > Then add any changes or extensions required by other architecture, such
> > > as x86 and RISC-V.
> > > 
> > > For sure for x86 we need "module-index". I don't know if anything else
> > > is must-have to get it to work on x86 but if there is, we should add
> > > those too.
> > 
> > 
> > For clarity, I think we should definitely have
> > docs/design/launch/hyperlaunch.rst, and maybe we should also have
> > hyperlaunch-devicetree.rst as an overview description and user guide.
> > That's useful.
> > 
> > But in terms of official device tree bindings interface description
> > (basically what in Linux would go under
> > Documentation/devicetree/bindings/), I think it would be best to only
> > have a single document. The current one is
> > docs/misc/arm/device-tree/booting.txt.
> 
> Does the proposal to your first message align with your follow-up here?

You are referring to a common docs/misc/device-tree/hyperlaunch.rst,
right? Then yes.


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:44:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580626.908979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXJJ-0004uL-SD; Wed, 09 Aug 2023 00:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580626.908979; Wed, 09 Aug 2023 00:44: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 1qTXJJ-0004uE-Np; Wed, 09 Aug 2023 00:44:25 +0000
Received: by outflank-mailman (input) for mailman id 580626;
 Wed, 09 Aug 2023 00:44: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTXJI-0003tO-43
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 00:44:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e101da2f-364d-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 02:44:21 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 97F81621E5;
 Wed,  9 Aug 2023 00:44:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CED40C433C8;
 Wed,  9 Aug 2023 00:44:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e101da2f-364d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691541860;
	bh=7D+P9K07J5ED2+m1dphwVZo4e3lgK4BSZDueqQ3XM3k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bqhrA2vc33gfPzdWfPjwNiKBU55KjcfljbtQhq+hj47jtaMlGOZfdDGZrzCJIo6nA
	 70PCuqfDfcrufZtwF747+OP4nQLRThiTwDqddxmONu2ApnpZTfdkvyHjOVG7Hr2o9I
	 liCOBMvRGySlifFegdgtLOOuV25++ffJOua+enbBe5ZEF4+BhAhM5P8o01vRE9zq4W
	 HLUJrFxkJxGciEUUqF5L5tvuhhZPLh5VhzIU66Eufipixa84M21VqI94OEGmgMZRq1
	 2s1tmli7MlO/I0qB6sV882c21z6klRfZ9EM019JKrXjQPZp3Yo3V9zrbkQeL6d+o1+
	 TkEAmUEkZaY1Q==
Date: Tue, 8 Aug 2023 17:44:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Wei Liu <wl@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <f0c7b8cb-e5e0-40bd-951c-da732e65730a@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308081655350.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <3ddab6ee-54fc-49a0-8f14-79ca258d04af@xen.org> <76249714-6d1d-a2ad-cfe5-d7eae0ce3a1b@apertussolutions.com>
 <f0c7b8cb-e5e0-40bd-951c-da732e65730a@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1287296653-1691539381=:2127516"
Content-ID: <alpine.DEB.2.22.394.2308081703050.2127516@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-1287296653-1691539381=:2127516
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308081703051.2127516@ubuntu-linux-20-04-desktop>

On Tue, 8 Aug 2023, Julien Grall wrote:
> On 08/08/2023 21:49, Daniel P. Smith wrote:
> > On 8/4/23 05:03, Julien Grall wrote:
> > > Hi Daniel,
> > > 
> > > On 03/08/2023 11:44, Daniel P. Smith wrote:
> > > > +compatible
> > > > +Â  Identifies which hypervisors the configuration is compatible.
> > > > Required.
> > > > -Â Â Â  hypervisor {
> > > > -Â Â Â Â Â Â Â  compatible = â€œhypervisor,xenâ€
> > > > +Â  Format: "hypervisor,<hypervisor name>", e.g "hypervisor,xen"
> > > 
> > > I read "e.g" as "for example". You don't explicitely say which compatible
> > > will be supported by Xen, so one could write "hypervisor,foo" and expect
> > > to work.
> > > 
> > > Also, it is not fully clear why you need both the hypervisor and each
> > > domain node to have a compatible with the hypervisor name in it.
> > 
> > Ack, it should be explicit to what is expected for a Xen configuration. As
> > for compatible on the domain node, I think that was from being overly
> > cautious, it can be dropped.
> > 
> > This did get me reflecting that the compatibility was added there as there
> > was some initial participation in standardization efforts going on at the
> > time. I am not sure what has come of those, but the question it raised is
> > that domain is a Xen specific term, whereas generally vm is accepted as the
> > generic term. Maybe this node needs renaming?
> 
> IIRC Stefano attempted to (partially?) standardized the Device-Tree
> configuration for domains. So I will let him comment here.

Yes it is called System Device Tree there is a public version of it
here:
https://github.com/devicetree-org/lopper/tree/master/specification/source
https://github.com/devicetree-org/lopper/blob/3e501d6c87f32d26fe5906760d1f661dbc0b4400/specification/source/system-device-tree.dts#L797

Here is what I would suggest for the hyperlaunch DT interface:

- try to minimize changes with the existing dom0less DT interface
- only introduce changes that are strictly necessary
- when changes are necessary, try to align with the System DT
  specification (which I can update if required)
- try to avoid changes that are different from dom0less and SystemDT
  both


> > > > +compatible
> > > > +Â  Identifies the hypervisor the confiugration is intended. Required.
> > > 
> > > Also typo: s/confiugration/configuration/
> > 
> > Ack.
> > 
> > > > -The modules that would be supplied when using the above config would
> > > > be:
> > > > +Â  Format: "<hypervisor name>,config", e.g "xen,config"
> > > > -* (the above config, compiled into hardware tree)
> > > > -* CPU microcode
> > > > -* XSM policy
> > > > -* kernel for boot domain
> > > > -* ramdisk for boot domain
> > > > -* boot domain configuration file
> > > > -* kernel for the classic dom0 domain
> > > > -* ramdisk for the classic dom0 domain
> > > > +bootargs
> > > > +Â  This is used to provide the boot params for Xen.
> > > 
> > > How is this different from the command line parameter chosen? And if you
> > > want to keep both, what is the expected priority if a user provides both?
> > 
> > A DT file for x86, there is only a need to provide the hypervisor node, for
> > which we already needed a hypervisor config section to describe XSM policy
> > and microcode, at this point at least. It was decided in an effort to
> > provide flexibility, the ability to specify command line parameters to the
> > hypervisor in DT config. It is expected these parameters would function as a
> > base parameters that would be overridden by those provided via the multiboot
> > kernel entry.
> ]>
> > Now as you point out for Arm, this becomes a bit redundant, to a degree, as
> > the Xen command line is already under the /chosen node. But even here it
> > would be beneficial, as a hyperlaunch configuration could be distributed
> > consisting of a dtb that has core parameters set with base values along with
> > a set of kernels and ramdisks. At boot, the hyperlaunch dtb could then be
> > concatenated with the device specific dtb.
> 
> I don't have a strong opinions on how it should be done. My point is more that
> the priority should be document.

Any change we make to the existing interface is more effort for us. I
would try to avoid changes. But of course we'll need new properties to
define domain roles (e.g. hardware domain, control domain).

For instance, do we need a hypervisor node? The XSM policy can be
specified already in dom0less and we could use the same strategy for
microcode.

 
> > > > -The hypervisor device tree would be compiled into the hardware device
> > > > tree and
> > > > -provided to Xen using the standard method currently in use. The
> > > > remaining
> > > > -modules would need to be loaded in the respective addresses specified
> > > > in the
> > > > -`module-addr` property.
> > > > +Â  Format: String, e.g. "flask=silo"
> > > > +Child Nodes
> > > > +"""""""""""
> > > > -The Hypervisor node
> > > > --------------------
> > > > +* module
> > > > -The hypervisor node is a top level container for the domains that will
> > > > be built
> > > > -by hypervisor on start up. On the ``hypervisor`` node the
> > > > ``compatible``
> > > > -property is used to identify the type of hypervisor node present..
> > > > +Domain Node
> > > > +-----------
> > > > -compatible
> > > > -Â  Identifies the type of node. Required.
> > > > +A ``domain`` node is for describing the construction of a domain. Since
> > > > there
> > > > +may be one or more domain nodes, each one requires a unique, DTB
> > > > compliant name
> > > > +and a ``compatible`` property to identify as a domain node.
> > > > -The Config node
> > > > ----------------
> > > > +A ``domain`` nodeÂ  may provide a ``domid`` property which will be used
> > > > as the
> > > > +requested domain id for the domain with a value of â€œ0â€ signifying to
> > > > use the
> > > > +next available domain id, which is the default behavior if omitted. It
> > > > should
> > > > +be noted that a domain configuration is not able to request a domid of
> > > > â€œ0â€
> > > 
> > > Why do you need this restriction? And more importantly how would you
> > > describe dom0 in hyperlaunch?
> > 
> > I would start by saying one of the goals/purposes behind hyperlaunch is to
> > remove the binding that "dom0" is identified by having domid 0. That is what
> > the roles patch recently submitted is working to achieve. "Dom0" is a role
> > in the system, which I tried calling the "unbounded role" but that seems to
> > have caused some confusion.
> > 
> > That aside, IMHO because of the legacy around domid 0, I don't think it
> > should be assignable through hyperlaunch.
> 
> I understand the end goal. But I am not entirely convinced this will be wanted
> for everyone. So it might be preferable to avoid using '0' as 'assign any free
> domid' as this would not prevent to describe dom0 in hyperlaunch if needed in
> the future.

In general I find that forcing people to adopt security features is
detrimental because:
- people that wants the security feature would have used it anyway
- people that doesn't want it, still doesn't want it and now they are
  frustrated

So I think we should let users specify domid 0. Is that a configuration
for a secure or a safe system? It is not. But some systems are just for
handling cats pictures.

If after the hyperlaunch patches domid 0 becomes meaningless then at
that point I would make a change to the DT interface potentially for Xen
to refuse to continue because the feature requested is unavailable.


> > Additionally, there should be an identifier that signifies auto-assign the
> > domid and that value should not conflict/limit what domids are usable by the
> > hypervisor.
> 
> Why is this requirement? Why can't we simply rely on the property is not
> present?
> 
> >  Given we should not be assigning domid 0 through this interface, it makes
> > it the perfect candidate value.
> To be honest, even if you don't want to allow an admin to allocate ID 0,  I
> think using it is confusing because of the legacy meaning behind it.
> 
> I would likely be confused every time I read a device-tree.

I agree


> Also, given you
> already have a way to say 'assign a domain ID', it is not clear to me why you
> really need a second way to do it.
> 
> [...]
> 
> > > > +
> > > > +capability
> > > > +Â  This identifies what system capabilities a domain may have beyond the
> > > > role it
> > > > +Â  was assigned.
> > > > Â Â Â  Optional, the default is none.
> > > > -.. note::Â  The `functions` bits that have been selected to indicate
> > > > -Â Â  ``FUNCTION_XENSTORE`` and ``FUNCTION_LEGACY_DOM0`` are the last two
> > > > bits
> > > > -Â Â  (30, 31) such that should these features ever be fully retired, the
> > > > flags may
> > > > -Â Â  be dropped without leaving a gap in the flag set.
> > > > +Â  Format: Bitfield, e.g <3221225487> or <0xC0000007>
> > > 
> > > I thik we should favor the hexadecimal version because this will be
> > > somewhat easier to read.
> > 
> > I too favor the hex version, but as I recall, DT/libfdt doesn't
> > care/enforce.
> 
> Indeed the device-tree compiler is able to cope with both. However, we don't
> have to mention the two. It would be ok to only mention the one we prefer
> (i.e. hexadecimal) so the reader will more naturally use it.
> 
> > 
> > > Also, the Device-Tree values work in term of 32-bit cell. Also, how do you
> > > plan to handle the case where you have more than 32 capabilities?
> > 
> > I would add a capabalities2 field, this is how SELinux/Flask handle the same
> > problem.
> 
> You should not need to introduce a new field. Instead you can add a second
> cell. But we would need to describe the ordering because for backward
> compatibility the cell 0 would want to cover bits [0:31] and cell 2 bits
> [64:31].
> 
> [...]
> 
> > > > +
> > > > Â  memory
> > > > -Â  The amount of memory to assign to the domain, in KBs.
> > > > +Â  The amount of memory to assign to the domain, in KBs. This field uses
> > > > a DTB
> > > > +Â  Reg which contains a start and size. For memory allocation start may
> > > > or may
> > > > +Â  not have significance but size will always be used for the amount of
> > > > memory
> > > > Â Â Â  Required.
> > > 
> > > The description doesn't match...
> > 
> > Ack, others caught that as well. Will be fixed.
> > 
> > > > +Â  Format: StringÂ  min:<sz> | max:<sz> | <sz>, e.g. "256M"
> > > 
> > > ... the format. But strings are difficult to parse. If you want to provide
> > > 3 different values (possibly optional), then it would be best to have 3
> > > different properties.
> > 
> > That format comes from the command line dom0 memory parameter, in the
> > hyperlaunch series I reused that existing parser that I am fairly confident
> > will be maintained.
> 
> Fair enough. However, I am still unconvinced this is the way to go. I don't
> have a strong argument other than 'memory' is already a number for dom0less DT
> and it sounds strange to change it.
> 
> Stefano, Bertrand, any opinions?

The current way to express domain memory in dom0less is not my favorite.
However, for the sake of minimizing changes, I think we should re-use it
as-is. That is my preference.

If the min/max parameters, currently unsupported, are must-have, then
yes we could introduce them as a change to the dom0less interface. 

I think we have 3 options:

- Expand the existing memory node in a backware compatible way, i.e. min
  and max could be the second and third cell of "memory"

- Introduce a new parameter to express memory, min and max, it cannot be
  called "memory" as it would conflict with the same name we use in
  dom0less
    - for instance, memory_string or memory_str if we use a string type
    - or memory_limits or memory_amounts if we use numerical types

- Introduce 2 new parameters to specify min and max separately in
  addition to memory

I am fine with all three, but I think this is not a high-priority item
as most domains would work fine with just memory specified (without min
and max).
--8323329-1287296653-1691539381=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 00:45:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 00:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580633.908988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXK7-0005ZY-AP; Wed, 09 Aug 2023 00:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580633.908988; Wed, 09 Aug 2023 00:45:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTXK7-0005ZR-79; Wed, 09 Aug 2023 00:45:15 +0000
Received: by outflank-mailman (input) for mailman id 580633;
 Wed, 09 Aug 2023 00:45:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTXK5-0003tO-O7
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 00:45:13 +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 feb17dce-364d-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 02:45:11 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 92715621E5;
 Wed,  9 Aug 2023 00:45:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC1B0C433C8;
 Wed,  9 Aug 2023 00:45: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: feb17dce-364d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691541910;
	bh=Mnkd2lJGxIDT+8evqkZP6daLEcD0abcyJwr+5/uqVg0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=K6ITTMi0PDiSS0e0r8RtzRLyvG2AzWAkENpL4+TrukpQoJ5nQYVOwemdFJ07q1EOJ
	 lg7o2IpCfEvOv98o5Aa6G6Qy48CvjC/fLOrKJnhC5JlTQYac8ssPxPJyPU/AoGyE+H
	 roBjqgOUXEojUm9C0kyMADysrTfdK+P2fs2Pr8rqz4by328gA8ePa9yqvc3+gh+DHB
	 QHN21dVnuDTVGIFgEqS+jqrlIl4pdqbqaYTPgBQ8k+ekNC1v9F64G+/Pvjni+gJI+P
	 IcxlBR/wDcoLTw6bXgRvWnUCowXQ1jNud2R4YVCf/U8uGRyzFxxtNQw14KnFDYYwPr
	 6qWpIDdNxyKfA==
Date: Tue, 8 Aug 2023 17:45:07 -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: 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>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <c692fa5e-e2c4-6779-1fa6-172f11b51e30@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308081720530.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <cec087cd-7ac7-5680-b931-feabe7aef261@amd.com> <65e62111-7997-de4d-cf12-15d89ec87471@apertussolutions.com> <2a72cbf1-a9d7-6edf-37f6-5197c9d40452@amd.com>
 <c692fa5e-e2c4-6779-1fa6-172f11b51e30@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Daniel P. Smith wrote:
> On 8/4/23 03:06, Michal Orzel wrote:
> > Hi Daniel,
> > 
> > On 03/08/2023 18:57, Daniel P. Smith wrote:
> > > 
> > > 
> > > On 8/3/23 07:45, Michal Orzel wrote:
> > > > Hi Daniel,
> > > > 
> > > > On 03/08/2023 12:44, Daniel P. Smith wrote:
> > > > > 
> > > > > 
> > > > > With on going development of hyperlaunch, changes to the device tree
> > > > > definitions
> > > > > has been necessary. This commit updates the specification for all
> > > > > current changes
> > > > > along with changes expected to be made in finalizing the capability.
> > > > > 
> > > > > This commit also adds a HYPERLAUNCH section to the MAINTAINERS file
> > > > > and places
> > > > > this documentation under its purview. It also reserves the path
> > > > > `xen/common/domain-builder` for the hyperlaunch domain builder code
> > > > > base.
> > > > > 
> > > > > Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> > 
> > [...]
> > > > > +
> > > > >    memory
> > > > > -  The amount of memory to assign to the domain, in KBs.
> > > > > +  The amount of memory to assign to the domain, in KBs. This field
> > > > > uses a DTB
> > > > > +  Reg which contains a start and size. For memory allocation start
> > > > > may or may
> > > > > +  not have significance but size will always be used for the amount
> > > > > of memory
> > > > >      Required.
> > > > > 
> > > > > +  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
> > > > There is a mismatch between the description and above format:
> > > > - KB vs MB
> > > > - string vs reg format
> > > > - the x86 example uses string and Arm uses reg format
> > > 
> > > Hmmm. I missed this in the hyperlaunch v1 update. In the original design
> > > that came from the working group it was going to use a reg as suggest by
> > > dom0less. During development of v1, we found it was not rich enough to
> > > express how Dom0 could be allocated memory and switched to a string to
> > > mirror the dom0 memory hypervisor command line parameter.
> > On Arm, dom0_mem cmdline parameter is used to specify only size (no min,max)
> 
> I understand. For general domain construction, these are legitimate values and
> hyperlaunch is meant to be able to fully construct a running environment just
> as if it was constructed by a toolstack.

This is a good goal to have.


> We must also be able to handle
> situations where a general configuration is being reused across systems and
> must be able to express the minimum memory each domain must have, how much
> should be attempted to be allocated, and if ballooning is enabled, being able
> to articulate that to the hyperlaunch domain builder.

I agree and most of those can already be specified in dom0less. The
minimum/maximum memory amounts are an exception.


> I did not say this in reply to Julien, but I am not opposed to three separate
> parameters if that is what the conscience arrives at. I found the existing
> parser and the structure it creates as a useful and reusable component for
> obtaining and storing the values.

Yes, if they are required we just need to agree on a format to specify
minimum/maximum. We have options.


> > > A question for those involved with dom0less, is what are the opinions
> > > about using this form for memory allocation. Is it required/possible to
> > > be able to instruct the hypervisor what physical address to use as the
> > > start of a domain's memory?
> > "memory" dt property is used to specify just amount of memory for domain in
> > KBs using reg format.
> > It is not used to specify the static memory region (with start and size).
> > For that, we have another property called "xen,static-mem".
> > Therefore, it would be possible to switch memory to string but it would not
> > be compatible with the current use anymore.
> 
> It would be compatible in the sense that dom0less-compatibility-mode could
> still accept it as just amount of memory. Which brings up a good point,
> whether I do it here or it is done in the patch series that will introduce
> dom0less-compatibilty-mode, there probably will need to be a top level flag
> under the hypervisor node to indicate it is a dom0less compatible
> configuration.

I don't think is a good idea to have a dom0less-compatibility-mode. I
think we should have a single interface between dom0less and
hyperlaunch. I think we should start with the existing dom0less
interface and add anything missing (e.g.  module-index, min/max).


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 01:33:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 01:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580642.908998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTY4l-0004ey-PL; Wed, 09 Aug 2023 01:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580642.908998; Wed, 09 Aug 2023 01:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTY4l-0004em-J1; Wed, 09 Aug 2023 01:33:27 +0000
Received: by outflank-mailman (input) for mailman id 580642;
 Wed, 09 Aug 2023 01:33: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTY4j-0004eg-Ks
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 01:33:25 +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 ba57a726-3654-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 03:33:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0E39562EA4;
 Wed,  9 Aug 2023 01:33:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C5C0C433C8;
 Wed,  9 Aug 2023 01:33:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba57a726-3654-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691544801;
	bh=qGY73qrlSIzq7u5mbmYNyXsFJt6vFXG6r9EIUsbT6WU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mbTodNKQPxalCMvoh65i6wUivV5kYPF+ryG88bp3EztOCCqJt5FNpHdHPHqn3VC1p
	 4iMCOqbN9afHFLW8sbYlhwdD5S8iaMSbdc8AYjKCWGPME7PHiIuy4V07pjvI4d+uk2
	 eZ/YtUjdOBqXMQn0D1SZcdxg7SaeX38QHHMcbENbduU6M0IPXBWg3ipkDN+m7lnuZD
	 CACpYCtwAH/WpzLsMe5LNWH6vwtq83EbO0QC9AQY9gDwbCq4elPQ68298/5R/w+22s
	 S6kH5vUfYWnHQaOduUgkEzjxPXjZIP4WrjCAZPQOYOWprRon3uUyM4TleYRcw6wrA7
	 Cu2ItL3KqecLw==
Date: Tue, 8 Aug 2023 18:33:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Wei Liu <wl@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
In-Reply-To: <14e22832-6e40-43a4-8dea-1f9b2141b2b4@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308081819550.2127516@ubuntu-linux-20-04-desktop>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com> <20230803104438.24720-2-dpsmith@apertussolutions.com> <14e22832-6e40-43a4-8dea-1f9b2141b2b4@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-986984340-1691544801=:2127516"

  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-986984340-1691544801=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 8 Aug 2023, Julien Grall wrote:
> > +
> > +                    role = <9>;
> 
> Reading this, I wonder if using number is actually a good idea. While this is
> machine friendly, this is not human friendly.

+1


> The most human friendly interface would be to use string, but I understand
> this is more complex to parse. So maybe we could use some pre-processing (like
> Linux does) to ease the creation of the hyperlaunch DT.
> 
> Bertrand, Stefano, what do you think?

I think that some preprocessing (e.g. ImageBuilder) is very likely required.
At the same time I think that "role" could make sense as a string and parsed
as a string without issues. I am happy either way.


> > +                    mode = <12>;
> > +
> > +                    domain-uuid = [B3 FB 98 FB 8F 9F 67 A3 8A 6E 62 5A 09
> > 13 F0 8C];
> > +
> > +                    cpus = <1>;
> > +                    memory = "1024M";
> > +
> > +                    kernel {
> > +                        compatible = "module,kernel", "module,index";
> > +                        module-index = <1>;
> > +                    };
> > +
> > +                    initrd {
> > +                        compatible = "module,ramdisk", "module,index";
> > +                        module-index = <2>;
> > +                    };
> > +                };
> > +
> > +                dom1 {
> > +                    compatible = "xen,domain";
> > +                    domid = <1>;
> > +                    role = <0>;
> > +                    capability = <1>;
> > +                    mode = <12>;
> > +                    domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64
> > 54 1A 74];
> > +                    cpus = <1>;
> > +                    memory = "1024M";
> > +
> > +                    kernel {
> > +                        compatible = "module,kernel", "module,index";
> > +                        module-index = <3>;
> > +                        bootargs = "console=hvc0 earlyprintk=xen
> > root=/dev/ram0 rw";
> > +                    };
> > +
> > +                    initrd {
> > +                        compatible = "module,ramdisk", "module,index";
> > +                        module-index = <4>;
> > +                    };
> > +                };


I think dom1 should be written as follows:

    dom1 {
        compatible = "xen,domain";

        domid = <1>;
        role = <0>;
        capability = <1>;
        mode = <12>;
        domain-uuid = [C2 5D 91 CB 60 4B 45 75 89 04 FF 09 64

        cpus = <1>;
        memory = <0 1048576>;

        kernel {
            compatible = "multiboot,kernel" "multiboot,module";
            module-index = <3>;
            bootargs = "console=hvc0 earlyprintk=xen0 rw";
        };

        initrd {
            compatible = "multiboot,ramdisk" "multiboot,module"
            module-index = <4>;
        };
    };



> > +            };
> > +        };
> > +    };
> > +
> > +
> > +
> > +The multiboot modules supplied when using the above config would be, in
> > order:
> > +
> > +* (the above config, compiled)
> > +* kernel for PVH unbounded domain
> > +* ramdisk for PVH unbounded domain
> > +* kernel for PVH guest domain
> > +* ramdisk for PVH guest domain
> > +
> > +Module Arm Configuration:
> > +"""""""""""""""""""""""""
> > +
> > +::
> > +
> > +    /dts-v1/;
> > +
> > +    / {
> > +        chosen {
> > +            hypervisor {
> > +                compatible = â€œhypervisor,xenâ€
> > +
> > +                // Configuration container
> > +                config {
> > +                    compatible = "xen,config";
> > +
> > +                    module {
> > +                        compatible = "module,xsm-policy";
> > +                        module-addr = <0x0000ff00 0x80>;
> > +
> > +                    };
> > +                };
> > +
> > +                // Unbounded Domain definition
> > +                dom0 {
> > +                    compatible = "xen,domain";
> > +
> > +                    domid = <0>;
> > +
> > +                    role = <9>;
> > +
> > +                    mode = <12>; /* 64 BIT, PVH */
> 
> Arm guest have similar feature compare to PVH guest but they are strictly not
> the same. So we have been trying to avoid using the term on Arm.
> 
> I would prefer if we continue to avoid using the word 'PVH' to describe Arm.
> Lets just call them 'Arm guest'.
> 
> > +
> > +                    memory = <0x0 0x20000>;
> 
> Here you use the integer version, but AFAICT this wasn't described in the
> binding above.
> 
> > +                    security-id = â€œdom0_tâ€;
> > +
> > +                    module {
> > +                        compatible = "module,kernel";
> > +                        module-addr = <0x0000ff00 0x80>;
> 
> Reading the binding, this is suggest that the first cell is the start address
> and the second is the size. Cells are 32-bits. So what if you have a 64-bit
> address?
> 
> For 'reg' property, the DT addressed this by using #address-cells and
> #size-cells to indicate the number of cells for each.

I would not deviate from the dom0less spec on this one, which uses reg
for modules addresses and sizes.


> > +                        bootargs = "console=hvc0";
> > +                    };
> > +                    module {
> > +                        compatible = "module,ramdisk";
> > +                        module-addr = <0x0000ff00 0x80>;
> > +                    };
> > +                };
> > +            };
> > +        };
> > +    };
> > +
> > +The modules that would be supplied when using the above config would be:
> > +
> > +* (the above config, compiled into hardware tree)
> > +* XSM policy
> > +* kernel for unbounded domain
> > +* ramdisk for unbounded domain
> > +* kernel for guest domain
> > +* ramdisk for guest domain
> > +
> > +The hypervisor device tree would be compiled into the hardware device tree
> > and
> > +provided to Xen using the standard method currently in use. 
> 
> It is not clear what you mean by 'compiled in'. Do you mean the /hypervisor
> node will be present in the device-tree provided to Xen?

That is the way I read it as well. I think this statement is unnecessary
as we assume there is only 1 device tree passed to Xen, so this
specification would cover the relevant part of it.


> > The remaining
> > +modules would need to be loaded in the respective addresses specified in
> > the
> > +`module-addr` property.
> 
> Cheers,
> 
> -- 
> Julien Grall
> 
--8323329-986984340-1691544801=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 01:37:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 01:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580647.909008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTY85-0005FB-6f; Wed, 09 Aug 2023 01:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580647.909008; Wed, 09 Aug 2023 01:36:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTY85-0005F3-1q; Wed, 09 Aug 2023 01:36:53 +0000
Received: by outflank-mailman (input) for mailman id 580647;
 Wed, 09 Aug 2023 01:36: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTY84-0005Ep-BM
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 01:36:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 361a42c4-3655-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 03:36:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A97B9624E5;
 Wed,  9 Aug 2023 01:36:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8F47AC433C7;
 Wed,  9 Aug 2023 01:36: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: 361a42c4-3655-11ee-b280-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691545009;
	bh=Hqo0K274CWnED+YLh7Sffcn/xf+hdeJU5GsOxxHi3hA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XBgnvoPflLXaHsIucJ9SrsAXzmnDd6SGSUbjNUPPjgo7J4Sk1uBDHHkzcLSVxKW13
	 VeRvqktDvD901EdTpeCadCzS4qqaKCsBqTwSpLt4MNTLKN650IuflXixv9cqqkhnzH
	 Hot+gjrkQF40ZV8b7OF8XTJ/eXiPfa4CwN9Kt0hz6bH8lyvgXoPGBwnDZKXjp2QZH2
	 +9p445r5mF8PuiF6pevOx99lHjHx9cl6fyDjXf0U4nbEYOOHJFz+ZyhfnFkV7dVGp+
	 h+Ct6wBgtJVsNm+VT3an/D8/FKJBE1fAY56QIYeMsGOUoiNbHDioBWBHl0KokDqeyz
	 ApufED00n95xg==
Date: Tue, 8 Aug 2023 18:36:46 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [RFC 2/6] roles: provide abstraction for the possible domain
 roles
In-Reply-To: <961664b6-ede3-c803-293a-0aeb5792990d@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308081835570.2127516@ubuntu-linux-20-04-desktop>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com> <20230801202006.20322-3-dpsmith@apertussolutions.com> <alpine.DEB.2.22.394.2308011726170.2127516@ubuntu-linux-20-04-desktop> <c747c66c-a08d-ce0c-5d1c-25b594ac5f5e@apertussolutions.com>
 <alpine.DEB.2.22.394.2308031247430.2127516@ubuntu-linux-20-04-desktop> <119710f3-82b1-2066-5fa0-164bd293836e@apertussolutions.com> <alpine.DEB.2.22.394.2308081629220.2127516@ubuntu-linux-20-04-desktop>
 <961664b6-ede3-c803-293a-0aeb5792990d@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 8 Aug 2023, Daniel P. Smith wrote:
> > Thanks for the example, it is finally clear!
> > 
> > I don't think we should add hardware_dom=1 to the command line (I don't
> > know if it was just an example to make it easier to understand for me).
> > Instead it should a property on device tree. hardware_dom=1 is not great
> > because it is tied to the order of domain construction. Instead it
> > should be a device tree property under the specific domain. That way you
> > can clearly specify which one is tradition dom0, or which is
> > hardware_domain and which is control_domain.
> 
> I was describing with today's code, how you would launch a late hardware
> domain. The logic to trigger the hardware transfer from dom0 to the hardware
> domain is triggered by the command line parameter `hardware-dom`. With
> hyperlaunch, this can eventually be retired and separate control domain and
> hardware domain can be constructed at launch as we expose access to
> roles/capabilities through its DT interface.

+1


> > > > which I don't understand
> > > 
> > > Did the above help?
> > 
> > A lot, thanks!
> 
> Your welcome, glad I was able to articulate it better this time.

Thanks for the explanation, it all looks good to me.


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 05:18:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 05:18:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580654.909018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTbaH-00036H-CR; Wed, 09 Aug 2023 05:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580654.909018; Wed, 09 Aug 2023 05:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTbaH-00036A-7w; Wed, 09 Aug 2023 05:18:13 +0000
Received: by outflank-mailman (input) for mailman id 580654;
 Wed, 09 Aug 2023 05:18:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTbaG-00035y-3l; Wed, 09 Aug 2023 05:18:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTbaF-0005rQ-Sw; Wed, 09 Aug 2023 05:18: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 1qTbaF-0001Y1-Jx; Wed, 09 Aug 2023 05:18:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTbaF-0002v2-G6; Wed, 09 Aug 2023 05:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8+zsZKVd0fQd04ZTmtbINObcca4bDu1vo5GX0ajRLu8=; b=Hodv0UFI8QmTwgZVpy9L5f8hDw
	/LYlDI6qeDJjf8qCAOATsV5COILrJm8WMYnECGPq3iKtYQ4EV2CZ5JpfDIgcncU1VzLkEtlbsD8/R
	lZAx+vyRhbjHBe6pzvnffk8OrVKHEFONm1BUOulQ3mPNZJWQtcJ0fr2Zt+Tx6+VSohFg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182243-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182243: 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=76c243b1bc59660e3a643c17bff72fe674782564
X-Osstest-Versions-That:
    xen=56d690efd3ca3c68e1d222f259fb3d216206e8e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 05:18:11 +0000

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

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                  76c243b1bc59660e3a643c17bff72fe674782564
baseline version:
 xen                  56d690efd3ca3c68e1d222f259fb3d216206e8e5

Last test of basis   182238  2023-08-08 18:00:28 Z    0 days
Testing same since   182243  2023-08-09 02:04:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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
   56d690efd3..76c243b1bc  76c243b1bc59660e3a643c17bff72fe674782564 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:01:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580662.909028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcGT-0000GO-Je; Wed, 09 Aug 2023 06:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580662.909028; Wed, 09 Aug 2023 06: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 1qTcGT-0000GH-GU; Wed, 09 Aug 2023 06:01:49 +0000
Received: by outflank-mailman (input) for mailman id 580662;
 Wed, 09 Aug 2023 06:01: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTcGS-0000GB-Jb
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:01:48 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39370935-367a-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:01:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB8044.eurprd04.prod.outlook.com (2603:10a6:10:1e5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:01:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:01:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39370935-367a-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gh9As4dI3RDB6TeFF7fv0i5NlFD1VOUUwhixcy59Ie7EOFqVwbD6eWR5zUEn9V3cOG9HOOc2Vu3Or+0HnKDvx0s6CxjmoBE7d8r70wxUhwmAkoQGDLu4k1ouQ7tHwefSdbypi6QDAJocdck+BHu7vahd/Jc4YEz50OcOZPnGoDDt1+jTAmgNePZm0NA5ROpUQxUbXnIu63CV2FUCPlFOgm51K2RJHveI6lcnbfXlWxfaCPArojpMwulnBvV86aKOlApU3D0c++HtiIxUBtbmvcRmDOcFEhIK3AzawIkeFn6fcAwzogFW+HfNi4gJ2E5HSf0QEpTn9D+eXxeZScU7Yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HptNpV9Xu5w/FMHSsalOGCr10g0/JLWelsXEpWUVTU4=;
 b=H7kMThJhWZfWGqllFuPluFB1fwYN13GKZi/E/U+8PdyzOYE6KzkowAQR9Cvq3RFsCjiwlmTmSLUPjxOTB6RtGldw6HtpZHkFdl5iwNTVm2EzpDkRIZHRGG1t71zlqTOeQJmzrq3Iml5KRbIvmrHkjocbMOWKftoHKTUse91x/+wuET14XRmg4OMRY8qLDPZockaspcSrkdkUTi4EGEdgTBtB+zxGSoU+eU/LMW2auV7cu751U7ymoHQCabdU7T96c8NO0vG55584Fbel9nFeH55yxK5pN6IDjy2uldHmJMpp3P+AQGzLuc08j83gKBdeRvcQXALI+aIwHBuNXk4TIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HptNpV9Xu5w/FMHSsalOGCr10g0/JLWelsXEpWUVTU4=;
 b=uwG4RFRE+7jGu9IyB84s2XKI31gtS1YA6Z/GaTmzEGCsgbbsjWV9pjW7rp8xL+mJ5FflWanmV9udHausz36sMgqMmuFPpAbLJjxUKUJDltlLeFpm0RdUg3/8YiK47qGe6SAB5gWw7WnRF3aqB7joQh/6czRp+oki6ISJU1ss+QNZBcxBqSWRrVXzkbDrfeQe8nQXVzFNmCcX4B8ODYQRXuFteIk8vbagJS/wB3lGOGvm+Bt1FCGEsJ6InGygmCQmxIgdp5YHMnEgnmcDlhiSlImxYJyV8HOBv8nDOPYhE5PhWaXGpOa6RdhDPN9xOW+A6//yiy8jl0MGh3MDBdcFRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <109c8ea3-a260-9d7f-8408-e3ee217e1696@suse.com>
Date: Wed, 9 Aug 2023 08:01:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
 <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
 <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
 <cde2ae86db8ba9a86ce5afdb9f47a4e4@bugseng.com>
 <6aac7add-544b-4c8a-b397-2a6b6c6b766c@xen.org>
 <alpine.DEB.2.22.394.2308081401400.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308081401400.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB8044:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ca2c3f4-f0c9-4f15-2642-08db989e1bac
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fNSopjrva+5jhqFX8ITYlU/rI3fem5JcfZXSljlIdvfhDUemTs79DL/I+cwm/Xlv9LBOnE9jJKrrkbw6nW8oWoYEiuSGylD3Ya0/346bTjYRRUfe+8HQHchkOzZLVwdX83XdszJ57Gjtnshnh6+OfuuKt3noW3cR13F55cYg8aOaxrMfTxfAViXUKuM9vvpc6Gguw2wt5h6T52FfmruCZ7qi+gKBtXEWAccIJJZ0HpdUzxUzMKmzFILBUR+6R35yrU4rmm5yFyL6wo8AY+xnUoWdQSzhJKXqnK+zYnOetZClu+TfOgIXI9pVQObDFUtLpJDe7jBF8c9OgKwROq63Na7Dg0moSwdAOONj28rxZySMz873T9+lcMXzvcQ+/wRnOc9CcbHXm5ezsK7DViyuzIAJccGDBDLinZD80T9Ea7zzC6aqHQ+/QmiqwmqLaeidGCGiH8LS226gxDyKs00gKGz5wKdefzdjPHssxYr5TkwxJZHNrr2SkGfr3PeDNPNmGT4QgQR6cD40u7lY4/YyA8CCe8Yq388cuGg3n3w9fQJjpvzcHoysfi25ck1YkjLwjnqB7me3wkCeYcpo8U1p2iNhTLCrtKzt2ziDcPEHoV+tn+bDejnzBwxCEoga0tRPnoY8ocqsL8X3zrG+loiiFw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(39860400002)(346002)(366004)(396003)(186006)(1800799006)(451199021)(31686004)(478600001)(2616005)(6512007)(26005)(53546011)(6506007)(66946007)(66556008)(66476007)(41300700001)(8676002)(8936002)(316002)(31696002)(2906002)(6916009)(4326008)(6486002)(6666004)(36756003)(54906003)(38100700002)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T2tYTU82QldMS1FreEZiYmVzT1hsalNUTTFCTGMxbmZodldKY1F5WFFTVUd0?=
 =?utf-8?B?M2MyN21LTVNEVzNSTG9NazFqOFFoaG1EWHZ1bm9SVE1GNDZrekhjUjRYSlFj?=
 =?utf-8?B?bnVqbXZEWVVyUE5LVWdVZUsyY1VUWlBZaGxPZXV3THhOM0FKYzY2ZFlzSzRY?=
 =?utf-8?B?YzBSZkdTclR4L1pNdVNOczBhWUMwTW9jWXJtUlBCeU13cXU5bDFxNmVFSE5L?=
 =?utf-8?B?UWVlV1hHWVkzemErcnZXWEVaZit3Y3ZENzBJOUt5bEtMZXJlUEFoYm1vZ0ZM?=
 =?utf-8?B?U0dZTUNuQytSb3BlUTVqdm5xLzZ3RXVGeFMxTjVaTkxER3ZyMUtDUkF5VTM2?=
 =?utf-8?B?RWRFSVJ1bm1VSmxJQ0kyR3Q3NnNqMzVHWmlsVW5ScUNmbFJXYnhqSEx0dm5X?=
 =?utf-8?B?MG9LN3EyaXMreExTVEplbVR4bVhnT2RpVThSaWtmNFhCampYcXRTbE9pMVVu?=
 =?utf-8?B?amNoWHN5MU1IQ1FVbDBsUGZTeCtTTnNBeEdndTZPSFRwYUZTWW1FTzFGcm9L?=
 =?utf-8?B?bUFLaCttNTdVbG56aGZ1a0gzNlE2WStOelR6dSt1Ylo5NWFmQUFHcnI3L1Vn?=
 =?utf-8?B?WVVXa0prYnJqME5XWWZ6bFkyYzVEM21POXZJaGdrZGc4TXRMckdFYk9QZmFS?=
 =?utf-8?B?eERtK3lBc2FVTGFQKzY1VEtoNzhFVVNjNlpkMjNBWUZkSkxpVDQ2QlEyRlVh?=
 =?utf-8?B?TzA2QVgyenVPWk9KY1lIY3ROelZhd09wam1IbTZVUWR5ZDhtdngxZkEvckJD?=
 =?utf-8?B?K2w0N3p3L3E0L08zb25rZHR4eE5lc0dPUGVCT2Zzc1RCc2xydDFRaWJ6cXZU?=
 =?utf-8?B?aHV5S2FqTHZ2ckd4NnR1Njc5OE9xM2VVRXpJRzRvakRud3d5dzJ4Y0RVWFhK?=
 =?utf-8?B?ZFZiUzdnbUJTbTh6SU9NN20yaGVmQjRQckowTi80RUVRSFI2NVd0Rm1NZEN4?=
 =?utf-8?B?eG4zTFZaVktQZFpPSnlGSktYdEhQZld3WkxmeGhDcFUwbVNwZDNQSHQ4NkJN?=
 =?utf-8?B?ampEeEtFc041NDVFK0M0SzF3bnFPeVhsc2xNMnlMR3ZNL0I0eU1MWENpdi9w?=
 =?utf-8?B?T2wwTmN6UEhBV25uODd1cm42Q2xtZzR4V2tBRjFkTGk5TUpjak9hWG9jOGFy?=
 =?utf-8?B?L1Z4YWdGcUxIR0hBQ1BRM3lReWVrSVZKaE0xaDdJTm9rclFxenFkRlNQT0l1?=
 =?utf-8?B?TTFqZ1hFQzNQbkF0UnI4bVJDTkR5VXNzaTBKa09qY3RHOHYybkJ5UnduY0Vn?=
 =?utf-8?B?QlNTZ2dtZDZZTXpVZGtGOENaV2htY0N1Y3RjbFozSUQ2QWxaU2pmL1lYR0hQ?=
 =?utf-8?B?emJuR2xOVFZhczFzaUNlNFo1aGtiM1VXcDRGQlBuN3FoVXhMNEdkTkxGSk1G?=
 =?utf-8?B?QUFvRUI3NnE4MC9xQ24yVkxyZTd0ZVZvRHgwRDFNTTlmNHZ3UUV2UHFRcE1y?=
 =?utf-8?B?MTJJeVRjaHE1S1lRNUpHbG8ydHdMTGVBYjd6S3hDZ2s3dWY5WVQxR1J3c29h?=
 =?utf-8?B?Y1FNSTBvbi9yR2h1Qm9pTHRXZExxazAxSXE0d2dTZjFmSzJITU1KNEJtYW1M?=
 =?utf-8?B?aklwenVES3VjOVZLUXBJRWFWQnFsZlNCV2taU3RMc0M1VVpMR1l2T1B2MUNK?=
 =?utf-8?B?aUdNcThPVk9vaTVxV3l2V0Fob2RPOWloS09RK3RRemU3ZEhVSHo5QVJLVFVX?=
 =?utf-8?B?VVVJODhNRTMvbW1iL2ZBK2g4d0pZUmtqR3dWczJRVUdyU0Eva0tkU0NPNFBU?=
 =?utf-8?B?aUJRMnp5ZzljK0VtdExHWWRSWno5ak15RWxVZTMxSzY2SUhuRHp4dEdDeTBN?=
 =?utf-8?B?eDZNd0g1dFNXci9zOVo2SFFaTGErSThCM1NoeHIrVnJZNVBXak8yakh1MnBr?=
 =?utf-8?B?Y2loWWJ4VGxjTjVlYmQ5T3VJc0hWdmRla1ovM0VBcW92QUJjczR5MzUyaGRa?=
 =?utf-8?B?Qm9QZU9YT0JJaEw5TExLUDB6R0dKeldUWnAxYml1NzExMWNYUTZ0WkdlUkUr?=
 =?utf-8?B?SURLVk1GRXpXbWFOdDQvTlQ2N3U0QUN4NHNoVVdYcHpCbzFJdjFqZDBVdjI3?=
 =?utf-8?B?MitWbW1GY1FxVEZpTStUZXNpdGpyNHdVdzRHRW1pL0d5L1NQMkhFYmdLRmlu?=
 =?utf-8?Q?pC/z+BaDjlK7wmBUTF6V2ubU1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ca2c3f4-f0c9-4f15-2642-08db989e1bac
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:01:44.4524
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jgRIcEGD9xxa8vUzTjr1rBGj5yF0A+sShZnBlkVu94ALknAm8T9uJlYE2KKC7lS4PtUzBU9z+mSoOxZe/E6GPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8044

On 08.08.2023 23:14, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Julien Grall wrote:
>> On 08/08/2023 16:53, Nicola Vetrini wrote:
>>>>> ... "return" alone already tells the compiler that "break" is
>>>>> unreachable. You don't need unreachable() for that. As said before,
>>>>> "break" like this simply want purging (and Misra is wrong to demand
>>>>> "break" everywhere - it should instead demand no [unannotated]
>>>>> fall-through, which can also be achieved by return, continue, and
>>>>> goto).
>>>>
>>>> My suggestion was in the context of this series where we add
>>>> ASSERT_UNREACHABLE() before break. From my understanding, we don't
>>>> have a lot of leeway here because, from what Nicola wrote, rule 16.3
>>>> is mandatory.
>>>>
>>>> So I think using unreachable is better if we every decide to use break
>>>> after return.
>>>>
>>>> Cheers,
>>>
>>> 16.3 is not Mandatory, just Required.
>>
>> Ah I misread what you wrote. In that case...
>>
>>> I was just reluctant to knowingly add one more violation
>>> while fixing another before submitting the patch. If indeed 16.3 won't
>>> likely be adopted by Xen,
>>> then that break should indeed go away.
>>>
>>> However, the main thing that's holding me back from doing a slimmed-down v2
>>> here is that
>>> evidently there's no consensus even on the ASSERT_UNREACHABLE() patches.
>>
>> ... I agree with the following statement from Jan:
>>
>> "it should instead demand no [unannotated] fall-through, which can also be
>> achieved by return, continue, and goto"
> 
> I also think it is a better idea to have no unannotated fall-through in
> switch statements (unless we have a "case" with nothing underneath, so
> two cases next to each other). In other words the following are all OK
> in my view:
> 
>   case A:
>     do();
>     break;
>   case B:
>     do();
>     return true;
>   case Ca:
>   case Cb:
>     goto fail;
>   case D:
>     i++;
>     continue;
>   case E:
>     do();
>     /* fall-through */
>   case F:
>     do();
>     break;
> 
> While the following is not OK:
> 
>   case A:
>     do();
>   case B:
>     do();
> 
> This should be what we already do in Xen, although it is not documented
> properly. Jan, Julien do you agree?

Yes.

> If so, could Eclair be configured to check for this pattern (or
> similar)?
> 
> We must have one of the following:
> - break, continue, return, goto
> - /* fall-through */

- fallthrough;

(the pseudo keyword that we have; see compiler.h for actually having the
documentation you're looking for, albeit missing "continue", and of
course not really expected to live [just] there)

Jan

> - empty case body (case Ca/Cb)



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:24:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580669.909038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTccH-0002qS-HU; Wed, 09 Aug 2023 06:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580669.909038; Wed, 09 Aug 2023 06:24:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTccH-0002qL-Ds; Wed, 09 Aug 2023 06:24:21 +0000
Received: by outflank-mailman (input) for mailman id 580669;
 Wed, 09 Aug 2023 06: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTccF-0002qF-U0
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:24:19 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe12::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d708c03-367d-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 08:24:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8692.eurprd04.prod.outlook.com (2603:10a6:20b:42b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:24:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:24:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d708c03-367d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hm5Q5MPJkaGWVRSFijfYYlwflyp6YVPFEwnGyUTBDcz125Byvb44H/oy2jVgN3RwqL5l1LY4Cb2e1yS8bvYLVPIQN4fjEVb0qaBNT4+FhGTcw+H1HoUjqNFrLDliMAlnIpW+8cB5Vk4hlaJFA4ANkhXFV5JPYuXHjoXGItDXbWTRTCvEgSk7oyC1Ca+mv/d8n4BFMutY1+J/uas/YHHaXmRm0w44+yNZwu5D/bmERjQ8piWN12t0vXN7XX8Zv6q5Ykh/ZIJQy2AZh9ebId/2zLoQ8VDSYHerNsTqSv7u8rNb4yEcn/nXqZevHawuE/EMe9QSIBsypctLxeI2baDPHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZcQPoU4wDplfHrsiYLp28heQKr7vwf8EIERgo5gXJWM=;
 b=UNcMeBu49OW/B+MK33TqQwm2SrzKDFbA4WXV6S7PLUF78WFe0rIO7NIRiRO1XW8jz2/Fd99G4evTKkCfe4K7RRfeHVD8lfyus+stjfYj1fdRkqdlTGRNCqpn+A9tbvFVE1/CKU48kM1ADQ6+Xe9s2gREtBoUn5XgR7/adWSJEPDzt/5wEllMNg9KBTs/ZlvJBXmf5jI9lEpGs9SUYG3LaZQFYgDreO27THhQKN8nC0EolSoYerxo/rFG1WQJFHxqWaTU2BHPEqoCLqcztnLOPYvrciKDolvBbrhRq4vYLte5NebajldnMCavoxTEy1L3ejTvv+NAlsWhVZNXyP6j5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZcQPoU4wDplfHrsiYLp28heQKr7vwf8EIERgo5gXJWM=;
 b=1mGrltdpyhOsdef5WIFS47N7HAntZn4osPHFnk4p8tTrs1fdls6CnEE+jx/Al6Nog/OsJe/tjE4FnPITR08MsYjdyhwMmh4IT3z3S1aZYmxmYCTqdhM6+fNAQ+dNTHGRDLrlpK0KCjoyfr2euy9F8KmaubqzuQCZg+80tD4oOMw+tC4Uz4E9FTDs8MrywB+kQLIWWxiXlag38MSEGCduexVwAsJgdsmTaVJpi4i2jmVHY+jwsMh/9isqmFXFD6VSjuXAIzTnRM4/JmIFGZqYUfVfEiicBIII6aLeEd1EhkUbS60I5rsk58QtPhWAI3NdQl+XyvIYZQXlLjQQstPCng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
Date: Wed, 9 Aug 2023 08:24:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: MISRA violations in hypercall-defs
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
 <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
 <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8692:EE_
X-MS-Office365-Filtering-Correlation-Id: ce9c384c-88c9-4cc3-2083-08db98a14022
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NJovWp9JWr0FpETeEZoujc35TfCwZh+t5I8m43PeJJW551Zo+o4lxLva7ibaI+o4oBImgQ4hLmsMr1HxZ7oy/guREg3MDMX77VAGfU4OGADIl6hJwXO8R9xeRKmv9FXTseHre5Da0QlFmj2+t6rW6TnjqZKSzcZtMreWbzXNRVyuC5FA5KtLaPZe2QvBcJNiQKI9Ws1PGKQAK8PkLUG64mFwKfZhKzPlrN/235ypsaGPEvLlFCbmeDJScV73LrG6ufLIOUXQ0TKut8FKUdbacDlry2/yE1mvAeC9A86XAxJsds8GQcWuXHHzAc62FT4G3W+ONfsgLH7HFTrxzKmraeSTQOs5PKxbALpeEq/XwjtW2ZejhddTk/2zUr1mvJL9dm78Cacxi1ns7KiBbiZxiiHgnIuT0ij/Q3qbyNOt3SyWDLziMLyej0zLbKZZVsIVbvpUKwOyuePBudW+wOn6e5kBh7WClkXIgIHTM2CYPn69jE6kVIsLboJG6xYbRMO2Qw2RdnddQ9oxfJM5bi+GkaN4eTC7vK2//526v+rVVnF46C1EQZXr/WZInKs8LcVLIoFxDJn8DJo1YoKhE4gp2PK5FgFU7ZIia5t9QZEag/Ekl04b/it8kjOTb5LtMTD6WY9l4A91T52VLPu4Pq32uw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(396003)(39860400002)(136003)(346002)(451199021)(1800799006)(186006)(31686004)(86362001)(316002)(31696002)(66476007)(4326008)(6916009)(66556008)(8936002)(8676002)(2906002)(53546011)(5660300002)(38100700002)(36756003)(41300700001)(66946007)(54906003)(2616005)(66574015)(83380400001)(478600001)(6506007)(26005)(6512007)(966005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2hvMm51KzZtNEZPUTlDcmdzU2lFMURyV1l0WXFtV01KKy91R0RMYWxxNjZN?=
 =?utf-8?B?MHhMNFdNcGEwS1hBSzRadFN5aXRiMllGMngxZ0RqU1I1N0wzSEx0dVJLUDFy?=
 =?utf-8?B?bHNCMy9HMlVLWlBmNWRVeHJUSmlsNUgycm13dWN2RUxNOFRwOUhRUE9yR1N3?=
 =?utf-8?B?Nzd4d0t1eVIyZEF6cEswTVVOSTFnNjlxSGRjbGhxV3VPNUpUMW9tMU1oVStP?=
 =?utf-8?B?aTltc2tROURIc3VBbmpmNWp4cjlKUTk2N2MzcUYxRmMxdUdpa21RWlZUZWFz?=
 =?utf-8?B?S0RCTVNaK3VQbE1NbVhmODhSeW9rTGs1SktzenVjNFVYQk1FcEZlZFdqVldB?=
 =?utf-8?B?K2V3NUtBcDFQVWNYcmlFbXRRUjJLNkh0L0pjR2syYzBITG1vVU5aMy9Ba0la?=
 =?utf-8?B?bjlCb21tRHh2WGs5ZnlqU1lSRFJSQVNLU1dkVEVUemwxUStIUk9IeVpyV2xj?=
 =?utf-8?B?aklrdEtMNWUrano1WGs0VFVuWHJIY1dyRUNRZzRhOHl2YmYvZlo1MEM5cjJT?=
 =?utf-8?B?VmpQM29tTXJZZGU5dUhSaXFQcVhBWExSNnR3YzdWT0tjNEhaQnlSN2pHV2Ji?=
 =?utf-8?B?OUtUV0tiRWpoZXdQNEF3VzBPRFNMbk1UbnJ5UUJHVjVkY1VRQ0E1cGk4Z2ZO?=
 =?utf-8?B?VVVhUjFZNEcrVWdoeTdmaEgrZnNqQmlKOWRNQU82VlBvR2R1bEZORThMRDlC?=
 =?utf-8?B?ZnZDYnBUb1lWc3o0Vzc0d0h0SFppQzI4d25vWWt0RWhsZDVaMHlDM1NXRTgz?=
 =?utf-8?B?L1M4VTVoSnp1K0VrVWJlR2V3cVczUU5LSGlGN0tCV1JmcDk3Y0hDRkl6UUZt?=
 =?utf-8?B?TnhRWW5BYnltMFZNQklsdW4wUmZDNTVtdEtGMlN2U2FSc0JKQUpZV2dTbThV?=
 =?utf-8?B?VG5RcXF0bEgwNER4M0k5TXBiYWNucVhHbG9EdDVQVU9NTmpiNVJBOFZuNEFM?=
 =?utf-8?B?RUJERnBzTE9sSC92UkwrcXdLWVR3cHdGTHFnR2NhbnVNVDlsakR2d1dtemhj?=
 =?utf-8?B?Tm1kbUZQWVR0eXREa1l4QzJFWmRvS1VEQ1dBdEtKRlBaN3hSdkl1TUtrZkYv?=
 =?utf-8?B?SEw4SDkwMndEWnF5VW5yQ0V6clUvdEZ1RW1nYVEyQlBHL3dCeEw4bTVaQmJM?=
 =?utf-8?B?TkpFY2F3TmIwcWp0dHRKSUc1OTdobG8ybTBhK2RJRmdCekRyRW5WRUtOdHFQ?=
 =?utf-8?B?SUNYeXd6d3JMMXNvUmF2bzgxZUF2aHdST3lkU2F0bkFjWjFDa3dpNHdNUkI5?=
 =?utf-8?B?M0R0akhLeWFiajdZR0ErdE1EOFJpajJoMVpSeDVsNVdkSEN4MW1IUGVHWW9l?=
 =?utf-8?B?aFhkSnNFd2cxazZCdUpPRUtnbVpTRlh6bkNpOVhoMkpweXlHNmVrQXBlc2sv?=
 =?utf-8?B?SDNoeGJSN1RubEk5VjIyeEZhbitxakNIcHcvWEIzenlnbzhZOThQTHVHTFFQ?=
 =?utf-8?B?K3VWSlMyeHNLT3pvWFNzMjZYMWxQc3hWb3FmK2VoQmVLOGdLSndYZHFYM0hG?=
 =?utf-8?B?QWpBeHFacWhKcHppOTRyQ3NlRlc3MTlQZjFFZVgwNHpGY1B5eVJ1U3FlNHVv?=
 =?utf-8?B?cnlaeXZzVDJtNjZsRGR2RU5GY1ZBd0NWZ2xCMFRmeTEvMy92Nzd3dDBxRHRU?=
 =?utf-8?B?eTdqamR3NThST1pOeE9EaGJvNUtFcUtsbC83NW5yVk1hZktHclhxcGFmNWdL?=
 =?utf-8?B?N012MEJaMG56TVh6cEU0VWlqVHhwZUdNNXlIdWZZL2pGR2NreCtkUUppeW9q?=
 =?utf-8?B?QUsrN2tUT3A2OXJkSlM5bU9FWUt2TlV2TlVGQXNWMFQ4SGEvNmR0N29jNXlL?=
 =?utf-8?B?UDFvYTJkSkpJUlZzZE5STUhwVGdwdk80UUd2TVd2cVhxcXFlYnVGRlp3Ykpi?=
 =?utf-8?B?aUFtZE9uM3JGZm5nVTlZakFia1FnMnFiQmNDNnBZeXJrbmIrbW1hV3NjSHhz?=
 =?utf-8?B?ak5zUkh0RlhUbnc3bzZ4SEtrdUtWNXpON2pNSk1TTWNQaUwwVmJxYW5OVUdw?=
 =?utf-8?B?bU9nRWxFa0plTVNGaEEwdWNDZ2wzRkg5YkpLbGpuazB6Zjk2OGZYMVlHTHg4?=
 =?utf-8?B?ME9vUzNWTGF0YzNGTkZJRCthb1J3N2dpdzU3MVEyOFJLVGdBZ1VKWVhWYlp1?=
 =?utf-8?Q?GPyRCXFGRyH0U0Mpyhgs1xraB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce9c384c-88c9-4cc3-2083-08db98a14022
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:24:13.7481
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Po88BpC7tFo2cUM+m34sYmUh6FHEecPBbqmXB/HgKAV8/4j6QTmYMHw+lIWOEtYloQtV5Xr9vAcQZSBjldVvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8692

On 09.08.2023 01:22, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Jan Beulich wrote:
>> On 08.08.2023 10:47, Federico Serafini wrote:
>>> Hello everyone.
>>>
>>> I would like to to ask your opinion about the auto-generated file
>>> xen/include/xen/hypercall-defs.h which contains some violations of
>>> MISRA C:2012 Rule 8.3:
>>> "All declarations of an object or function shall use the same names and
>>> type qualifiers".
>>>
>>> Such violations can be seen at the following links
>>> (copy and paste the link on you browser, including also the characters
>>> after the '#'):
>>>
>>> - arm
>>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
>>>
>>> - x86
>>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
>>>
>>> Some of the violations are due to mismatches on the return types
>>> and the use of `ret_t`.
>>
>> We already said that ret_t will need deviating. For parameter names
>> it ought to be possible to suitably rename, like done elsewhere. Whether
>> that means renaming in the generator script or in the definitions likely
>> again needs judging on a case-by-case basis.
> 
> Is it the case that ret_t is purposedly defined as 'long' for 64-bit x86
> guests and 'int' for 32-bit x86 guests?

Yes.

> I am asking because it looks like we don't use ret_t at all on ARM and
> on the public interfaces.

And I wonder how you get away with this. Aiui hypercall return values are
32-bit on Arm32, so I'd expect you to be at risk of truncation issues in
a limited set of cases (see in particular the bottom of compat_memory_op(),
where out-of-range values are saturated rather than truncated). But maybe
in practice this can't happen?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:27:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:27:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580674.909047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcet-0003Pu-Tg; Wed, 09 Aug 2023 06:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580674.909047; Wed, 09 Aug 2023 06:27:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcet-0003Pn-R6; Wed, 09 Aug 2023 06:27:03 +0000
Received: by outflank-mailman (input) for mailman id 580674;
 Wed, 09 Aug 2023 06:27: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTces-0003Ph-UD
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:27:02 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c00180cd-367d-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:27:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7218.eurprd04.prod.outlook.com (2603:10a6:20b:1d9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:26:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:26:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c00180cd-367d-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q1wLjXGCfJvvLH+UwLlHB2ZF9vn75+QXPmFBsjgugLA9Bv5QS1xMAW5SHnvMn/gVLdkl2N68KSLLdeq8fR1Yay/x5M35pEwiiLXK4icZSbBHOTA9EF8InsgWkD/EruX19z94118j8pkcc59B2WT4C8cEp7pRLzoP1QFdj7MpGNorj+DgI7mEydSYwyPP/5KD/bndC+2DwNdyKalGNBexRAvwEoTZN3mwrYngqQCfeTX9KPcyAWpvMetTXiLgCgNnugVenyZArW2yKreiZnKbEslnWJ7NS9Dd96smNGciXIU67TGDU6gp15mEwavizh6TWdlDoupKTsM1f/f/iu+v/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D2nDJ5XMJv2EifefEbEul9k7J4abXSvgY3cIrzd6hDU=;
 b=KEJmEATHZswOQ4rUFL7XmoK2CHP+/Wyh9YfmDk8qHVjtg217AiFccKYAWTukQsDzqKIRB67O08WrdWXSQckSqxaxOtYHw1BvqlqazyQxU4Y+XJiVqibR907K/P+GX9SfE1KXs7FbTaS80xQumG+fuf/N7vkacpMgqy8MfNmkWwMbu8k4Tyuo/Oekt2OM2rLOBoHS4sIBgBCBg7fZTt8ssq9ofAtWgI46aDMDu7d6zn71xEu03vmzX93/Mw9z9HKM78m8YlcpfQV46oFe2HxA61/bJ8oy6wPUtdtvygjbKmXgxV5epXWfHQZYEoDoc/PfWdxcQvPKM5VHlPog3zYf9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D2nDJ5XMJv2EifefEbEul9k7J4abXSvgY3cIrzd6hDU=;
 b=BWERm0lCsmcliqX4I6GI27IcuHKhARM5kgvSImH+HHy43/Svst9tOuvKSrQwVKEfDgWMOBA1T5jndnxu3J4l4XNCfNaXu5wlhyCsiQQGmSDdMiJnVEEYZ01aCNeFMurpBVgZsVwLpp+Rh1rZv4oAM326iz96R8u0O2Zw4rojjnFQjuiS7rBcRXTg2AEtaP5nKb4DiVF6EGk8OvPWx1B1DdpqJqv0aoZGSlwiA4zrE8sFp0fcYT8lXPLCWMe6s8tDnvuD8BS1+ck9qiqMBH545LNcZNVkhy++ILFys781KIbkomKozHyqy3SzmwV9SIPjGfjwiOdn3GRw0CXR55ivig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1292dc4f-2966-d8c7-53c8-f465dd9344dd@suse.com>
Date: Wed, 9 Aug 2023 08:26:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
 <4ee78808-5807-58e8-2054-016486607713@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4ee78808-5807-58e8-2054-016486607713@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7218:EE_
X-MS-Office365-Filtering-Correlation-Id: e2e5668b-086f-4c23-2733-08db98a1a2b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U+EREC3PAhqKpT8wMC6aS2zX9IEMpWpY7dpPh9r9jyuDVA5LXEX8uxuiHf69BjleRhau9mBAR8cgsF0obA6oFPzsyTUomtMLNamdmiMY1E29MqQg1kleOXiw6yLoCgE88jfVUwPXuH+JrOMBDYmmnr1SM5r4k/KR6nuimOBmp1J6tVr7bYjKUf0bCFcBU5v7djb+6oCvLdDgxlh13VnSM0l4vnBGE/Is21SX5gZbYEswak3ZIFZgnaWgLBKU185nG5a+oUPCTE4DFS+yZd57QBE90tnod5SCQeXj4QJI+yLmNRYlO+h1+q7sjVz0LwnuWiaRHaPUnWaJUiAL30lBwKd9+RdTMAok8EQ6MXbWRmTG9oLejZpeNI+wlqET7g7ECwyo1fFcXCBysIhrPJnBPhFJu/9GC40DD3gIaVctOGTxUIaxu+O/GZd1VAQv3UYuPC7nuNW1jHggXFbDHMnIALYU8iHIVR74VqRPym0VWbXf4poWBhZEZgHxhuNxpTuEFe8U7ON4TWJKVonaFaXIDDkK5H4eWI2MhLLg1qvkzg7OFQpRUpdDyVLBhpL2BsbqYLZtfJPGHN6mzTcWo/Kr3wHsOOOGApDiwInYRBOI5ELRQc8CpjQlfn3pBH5z36SMry9lZP4gtFO+OH+shHgvMQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(396003)(346002)(376002)(39860400002)(186006)(451199021)(1800799006)(53546011)(26005)(6506007)(36756003)(31686004)(6512007)(31696002)(86362001)(2616005)(6486002)(478600001)(54906003)(41300700001)(83380400001)(316002)(6916009)(66476007)(66556008)(66946007)(4326008)(5660300002)(38100700002)(8936002)(8676002)(7416002)(4744005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHE2dVlGQ2hNaEsrS0J4ejFnOFZBbTFybjFVbjg1N0Fkck5zaWNmWURzTFNP?=
 =?utf-8?B?akZuUzNBbWs3VlA3c3FLV0ZCOW9KQ0xtNEZvOExQbUllLzVNT3kyT3I3d3RR?=
 =?utf-8?B?TTc3alFLOU1LQmZDNVl3MW1tNFluVFBXOTNGR1BTQUhsTXNYREw0bGxnRlQr?=
 =?utf-8?B?d1U0eUpyNTl2UkxRc0lJK0xZc1MxcURFT2hrSTNCNmx2b1l3NTFjQWwvaHZT?=
 =?utf-8?B?R2o2OEM1YnVjQ09qM05TWXhTQjU3TEIrSFI2NXp4cm80ZjhnTjUwQzZPblNy?=
 =?utf-8?B?VmhUaU5ad1oxL0dIQW1ldWlnd1IrS1duT0RwTmIzWk15T2NNUHVsdVovTWlD?=
 =?utf-8?B?VzI0QkZnWG9mTWlUMHlvVXJkclo0M1NkaEJTcVdLc2ttc1BvbHhLdDA2QnlK?=
 =?utf-8?B?UGhVSWpFM0p1NmN3aXB2TlpnNTR2cnVSd1B5OW5KcXdNZm9vRXNPdHI3QXdj?=
 =?utf-8?B?OUtyS3FGVVB2NklTdk5XK1d6M1FqdlY0aGdXNFIxN1prY3czdUFMbnRBNHFp?=
 =?utf-8?B?bWNjLzYybjlYWG9rakt3eUJjeUtMdzgyUWVVQ005dGlBZVM1MUU1UFNIY000?=
 =?utf-8?B?NDM1U3lNREYwRkduRzFiMjlnOSs2N3pOMXZlQ2VMVkkwZmIxR3JGRytPS3lT?=
 =?utf-8?B?VkxheVZQRFRQbFZmTU9qbGYzaXVNVFdzTW5DUGF6bHRPRW5NUm5ERml1cUVQ?=
 =?utf-8?B?bG5MWTJwY2ZKVkFEQkpTNDFzZTVJNXN6RTJncnJxdnArUm0wTUJ4TVdNYTgx?=
 =?utf-8?B?VGZST1RNQzNUa2V4N21za2RnN1RkY1BYak5vbnBia0pSS3dNZW5uZkduRG1z?=
 =?utf-8?B?OC9NZ1phcnh0aVMxRTMvNmt2VGhyeStzT3hyYVVidTNOQ2Y4d3lSdVM0WjZq?=
 =?utf-8?B?Q3JHZm05MC8rWFM5YkhEWTV5WXVHUi9pMGFHS3pMb1BkSmcwL09McDk0U0hz?=
 =?utf-8?B?VU1hdnNSdktsV3djcHlmZ294TmYzNkhYUUVkVnEvMVBVcTdHV1cwcko1QUZR?=
 =?utf-8?B?cVFhVzI2RTAyUjBMdW1RQ2N3K3JVS0N1MGVVb2pIRTVaYngxeWdYNzd4aVpn?=
 =?utf-8?B?NmpUQThLUzZGalFvaG9nRVZJa1NCYkloUWZUejBmUlcvVWw3eGRDK2ZkdWRN?=
 =?utf-8?B?Mml6S0dUaWdiRjBVUm1zMlczYUhzZTNXeUJsK3kyaGRZVXBRMDVMTEtqc0JN?=
 =?utf-8?B?UE5jQTZwUEVWWVp5WmV4d0ZIRjA2eTYvZVlIdEJmME9HakJraEJJZjJZSysv?=
 =?utf-8?B?Nkc4R3l4MUJ4L1JZV1VTS1hBVmJ4UFFHSFVRcWQwSU43Z1d4Y2FlSGg5V0FO?=
 =?utf-8?B?S054K3BBL1ZNc05uVnRIOGVCZ0x4Q3A5MWJWd3BqQ0tVNUpsc21JVTNKV3g5?=
 =?utf-8?B?YlJwZWNNT3lVOFQyam95NjZJZWNQS3NzR0JMUW5SVzVVNFoxU2pGM3NCOWRB?=
 =?utf-8?B?M3dXbDFtRTRWeDl3cVI0dUEwSk1YSk5OK2lwNThBenhpWWw3ZFg3RlNNVVpz?=
 =?utf-8?B?MHh5NEJ6WlJueTRPYjFVRUtNanNUSnNOdTFCblVqekkwRkFFNXd6SXovT085?=
 =?utf-8?B?NlB0RmlrdUxaRmhoWmMzMFk4UUFGN05EeXRVcFBFSVQ1MWEzN3hmVkMrTDh6?=
 =?utf-8?B?VUR5UDU2U0ltK3hBczl6bG5XYnE4RFFBWXVwaW53dnlkNDBSdis1MDVlNkhy?=
 =?utf-8?B?amRhZnJ0RVVIalNpOWZOOXF6VzVOUm5GQ20rYlpmSG9FeU9kVk9teithV1Zy?=
 =?utf-8?B?TS80VWZYdkk3dWFYdjNxR1dYZnpoWFZ2aFhxK2NTTDFxNFJBVnNIVXVXWjJS?=
 =?utf-8?B?VGUwT1J2K042OU91dXNsNXhwZ2VmMW5kZVdRa3Zlc213K3NQZ3VRZ3BPbUlp?=
 =?utf-8?B?ckFIUkFnVGxabk1hM1JtUi9nZlZueERmZjZpVjZOLzVUR1FWVjJPWElxK0RZ?=
 =?utf-8?B?bEYvT3ljRFF2SldjcVJFWFE4SytpZ08zWTFDcHkwZXVmaGJUdDg1QU9TaHhm?=
 =?utf-8?B?dUUvTkpneEQ3S1E5UUx0L0ZEUmhwaVczSHEyNXZMcE1yMVhYSExVTVp4dC83?=
 =?utf-8?B?Z1dCaGEwZUp2R0ptUnFEWnJ1RmF1L20yQUZ2NnIxNnNKN0lsREY5dFR1eXRX?=
 =?utf-8?Q?ca/zJz+NILBO6iEef2Rz2Ey15?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2e5668b-086f-4c23-2733-08db98a1a2b2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:26:59.1060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 09lnmJIU0cSjYOk4Xl9PrAni9HYQEoHFS2oNRmx4uWndW5idTnnr85UZGwODWmr+yWf9UHaCPZplDXzZ8kJhow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7218

On 08.08.2023 18:43, Daniel P. Smith wrote:
> On 8/4/23 02:08, Jan Beulich wrote:
>> Have these in one place, for all architectures to use. Also use the C99
>> types as the "original" ones, and derive the Linux compatible ones
>> (which we're trying to phase out). For __s<N>, seeing that no uses exist
>> anymore, move them to a new Linux compatibility header (as an act of
>> precaution - as said, we don't have any uses of these types right now).
>>
>> In some Flask sources inclusion of asm/byteorder.h needs moving later.
> 
> I just did a test build against staging for x86 with all asm/byteorder.h 
> includes removed from FLASK and it built successfully. If there are no 
> object to a small non-functional change patch, I can clean up include 
> ordering as well and submit it to xen-devel.

Of course, please go ahead. Simplifies the patch here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:32:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580682.909058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTckL-0004tq-Gr; Wed, 09 Aug 2023 06:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580682.909058; Wed, 09 Aug 2023 06:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTckL-0004tj-E6; Wed, 09 Aug 2023 06:32:41 +0000
Received: by outflank-mailman (input) for mailman id 580682;
 Wed, 09 Aug 2023 06:32: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTckJ-0004td-Mi
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:32:39 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88c6cb3e-367e-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:32:38 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7432.eurprd04.prod.outlook.com (2603:10a6:10:1a9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:32:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:32:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88c6cb3e-367e-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XMHlAQYnI2uMNs+y32FX25ir+y3qfwnab9iIpoVNOJEYMLqaib4maOX25C0Uuiz7h51gSW5j9ZbHsiu8Et0srl5Xyr8q2gukDQVNJuDssJilddHSC5Ll21EBt0KkYZhOpb+VBeKKUvrq4YB25D/xJSsc+CMwkj3zd4B1muxaPlMJfSuUnVgQ0E723SJt5j8OuiPPwB1CQ/n6WqXCH7NSdIwMsSFSASm4LETs3idgcV4nhbvy9EnEq7Csbkh87DIntD7N4QERyNshBylkUvorkZC3BHS3tLNdcZxEOQJdLNyzYl6eYmBGSlZPi597ObqB3vVjJI5hG4VbqoY3WJnzoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ByodkMIVROhN2z9DAPf8Hsi6nxk9Y2/Zf7NQe4V6UoM=;
 b=iXDMFbIOU5ZA8alGKY09D9zKoQXb+aS49JwEQyYXBOFKDhq3vPSeZfv7df+6IdrIi68oPYt2zdlkdeJUMQCeRhFRQwGi8sqr5FfwQb8GJVUO0NEFylD8kiPd0nRTaRrosJ+cydBrT0e38bb3GerPAUc0XF89BNBEFRn9Gmca3YpgLo0aAHADUABuWjnCqE/5NVAnVSXjLMQr1suLFAxZ8igkwweo5Dycmkd2OzGGTItGWbcyrL6AZah/OTqhXdisaMfxrLSZuqj5h53+YL2Tjon0wxVs8ECUvPHlzJQ4NF177+tPBURu0tu2//2wAEfH+p1iis470xM9IZQosaKa1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ByodkMIVROhN2z9DAPf8Hsi6nxk9Y2/Zf7NQe4V6UoM=;
 b=E+9I/f1kNjWn0rEjkD3kblyn1fN2v8naIj1Ne3qM9HDGj0jiSkV5aTWafNWf6IPrQetiQ30ySnt8/IwZ1fmunUiAyPjdcXjNNtjiD+FdQN4HnoXkfBG/aWP/Ptl0c2RDEaMSZnsCApbDGEjOzVjVF9iRc1PzMcE4wl1qbO9p0hXRKjPXvszhGmyzbEbmIZ+KyeYLdYH19Cf9FarrWsrs3/f1MUXDgjp6N602jN/S4wuVu16ALRje2jvDUG9EHZAd0kYOOYyN17Jmxg6soc69EpT9tHXDB6w5p3rmc2T0fAKY6yxog3cuEKH8J6IslgiSgprXEBYXK7yVnMYrbWhQDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dc05c9f5-756e-576a-bb89-6cfbf310e5ba@suse.com>
Date: Wed, 9 Aug 2023 08:32:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] xen: change parameter name in monitor_domctl()
 declaration
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, federico.serafini@bugseng.com,
 tamas@tklengyel.com, george.dunlap@cloud.com
References: <6a25e9d729e85ba5712fd00f9c0514a459bb7631.1690471420.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2308041438170.2127516@ubuntu-linux-20-04-desktop>
 <4722cb01-2e0a-6a12-b398-0ddd024b50bd@suse.com>
 <alpine.DEB.2.22.394.2308081313100.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308081313100.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7432:EE_
X-MS-Office365-Filtering-Correlation-Id: b6015a15-67b8-4b6c-b7d7-08db98a26b8b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mTuWaqSCO0XI6Ghb0Dl0D5V7r6XKZ9/LnjmsCp/xa5u3KPkQuVbrkPlC/LIyjwQS96cvOuRoegMH5ExoNJHp9VAUrTH+IDXFeb9xC4eqLX+Eyu6cEPKayRDltpAeXdQX4OyKH8rGAdChnQ2Eu0l5BLobGi/XA1EGX2qD+DpzR5vt3IoNiDE9Brsk55M77OGS7/KVZB+T9I81DCRiUql34DnZWP9PCgRfewWMtfJ0lI75flZo9b38HIPF86mv7LiV8QcueTR811arIc/Tmg0HRw5RetLOUxjS1JHoHgt/uqFyqWG2/6SfyX9cKHjoPtNrEDeejFF+mgd+pctWMo9gYtm/Qa9nycCGQBn1hKGxiOrqS24qOXwIZAmchOdL0K2rEZyIaeYMm2sF+6kox2q4lI7sNOZlIiEQVqbmri185Vtyi4VN0JoasuXjdLqEb+565HiF+qB0/nKBSbAqd5UGuUP9QIFGfTo+EGH29nitA+eZ6UtCRxjJVdeFxdWA6dFewYx34/cNX7p0T3qyFohnDTcG/DbYxAN4TkIg7emAuAs+REIf3z6oMOXN+tNgk0ki6CJUsEYRIcHwhwnwqP+hjzBFOvDqHu0yyLNClc/M0iK+m1GT5Gy2RP6fLxbVRr9l3DuIxK98Qg5ka0HQGLUhng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(366004)(39860400002)(136003)(1800799006)(451199021)(186006)(966005)(6512007)(26005)(6506007)(53546011)(54906003)(36756003)(38100700002)(5660300002)(86362001)(31696002)(4744005)(2906002)(4326008)(6916009)(66476007)(66556008)(66946007)(8936002)(8676002)(316002)(41300700001)(6666004)(6486002)(478600001)(31686004)(2616005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUxMd2Z5dzVqQ2p5ZEdSdTkrMEwyUk03WWpWQ3phdkhiMjNZamRta0NNMDRE?=
 =?utf-8?B?RmVjdEFIYkorVTlISTZTWlJOa0drUzdtU3I1NjdaZm5rSmIrQ0t3M25Ed096?=
 =?utf-8?B?bnVyWm5laTRFano2dEo2c2pLWFFYRURvYVhUQlFDZldsS1hBRkU1aDFrdENa?=
 =?utf-8?B?Q2NnaUdYSDJoL1psSmIwQjl0QTF0Nk5ZUkNwRlpPQW1nKzlpekpKdGVKWGJZ?=
 =?utf-8?B?VkNJZ0I4SXN1Uk5WL2RJYnkyZXU3WkEzRXk4bG8xUzR1bi9RNmVPazdKT05K?=
 =?utf-8?B?SmF0NTBxR0U2RVdHMVBvbVBkTHgvTzJkOWhkZ1FNWDNYckZuS3p1cjcrc0lH?=
 =?utf-8?B?ekJmcXRBMFJyZXRzSGVYV1NTSGlVM1JSb2hlUGVxU1E5dVRldno0cFRtZDZw?=
 =?utf-8?B?N0tYMi9sVHdSV25yRHp5d3VvaFV2VU56T3lYQ3JUald5UG5lcFcvSW5Cc0hp?=
 =?utf-8?B?QXBpT1pKd3lJQkJ6NGxFOEw2UUZ1MmYxdGh1RUdhcVp5aURMVmNlWlZDM09s?=
 =?utf-8?B?U0VlVFcybTdoK0RZQXI2U0V3UTV2RnVFejdPSy9UaWZZSmR3a0NzUU5ZcUV0?=
 =?utf-8?B?dWhuaTFDYndxVm9hcEh2UGJKaEhuVjZWMjRLVWNLT2t6SFpwZDMrWDR1S0pi?=
 =?utf-8?B?eW5YRXErZDI3YVlzUHJPdS96RU9xb1p5RGsrS2JYNWoxYTFrM2tHSDRqZzdD?=
 =?utf-8?B?bjlaS2x2NVdXWXFzcGoyYXVoZlhJekIyUDI1QUFjS1pSYlNVaW5kRWJ4VTFz?=
 =?utf-8?B?MnFqMHlVenhQV2h3MjkyN3U5RWh0YVNuZTU5Wk12bFJCd1JyeFR3SGdMYzJp?=
 =?utf-8?B?WnNJWHV0Z2FvNGM4RDhQTmtoVWNtRlB6UmtxRHErcUhCUkE0NHV5andaWEhn?=
 =?utf-8?B?OTFqeW5kTXVGbmpFTkJ2L3E3bHZrRTN1TVVLRWhKL2hJa05VbXFPckNOSDlu?=
 =?utf-8?B?OGVLdWRQS081ZEdHaFpnb2t4OEFCbE9mUTlvK0wvVzlHY3dDalBZeDhWTFJC?=
 =?utf-8?B?SzJhOU4zQ3FnRVlVeHRlZU1GVTRFVi92OEVDb09hTkdBd3pnc0ROd2xUYzdS?=
 =?utf-8?B?d3h6Rjd1K3hkVk0rMjVCNUYvUUdHbGZIR21TZ3JpbFovdHhjOUhjSXRCSjNl?=
 =?utf-8?B?b1ZpVVVEVnJMY3ZBRnpjSWVITzBPQ21FMGFKWmxYS3JaenhHTkNyT3Q4dGhC?=
 =?utf-8?B?cVJFTTVtT2llZTR4Q0M3Rm5ScVNTSXZEa0pxMWNaWG9VdkMvNEtPWEU2L3lT?=
 =?utf-8?B?VXF6Z1hkNURkV3V4R2tZd3ZlekxJT0lhWnc1K0xSRUt0SEwzVVRKY3pjQWpY?=
 =?utf-8?B?UXJZN3hmVWtHY2JsZk5yaDVvVHhLUnNla1FSNE5SODA5R1JlUVBoUWN2N250?=
 =?utf-8?B?VHcvWXpUa3czMlFiZldvd3lNWWg0MkkydmIyaFNjSEtNUlFTblpMdEtIODkx?=
 =?utf-8?B?bW95UlhmY3RNU2pNRi9ra0xLcStnSy9GNC9Ma0g3QSt4WHZ3NjFUcFNPellO?=
 =?utf-8?B?MTF2MUhod1dRZWRVdm85Um1jaU5UNjlYRDNqQ0NIYWRsbDdtOXlRZWloMEs5?=
 =?utf-8?B?Z3h4QnVUV3VEZ0pkMXVYTm9aOHViZTdDMFVoWE92UWRmcTNEZkpENTY1UnIr?=
 =?utf-8?B?WFo5cUlWZ1dFajM2dnYyKytjdDMwTCtnZVVjeFNNMG5kaHVQUU1IcUpZVnMy?=
 =?utf-8?B?RFVJa0lVUm5JMG56STVWK0dZMDRGRjgyaTB5NHNXMGwvbTF4bGtYZlRidGtw?=
 =?utf-8?B?YWxCT2QzeVZVa1VadSsrUUwyakJxcG5Sc0VsV0ZCSUdRYXg1OXZqYi9zTFlU?=
 =?utf-8?B?b3lkZTlHQjJkY1VuSzNHTko0bnVSTzhROENkbWdTL2tSWlp0SGVxampBWmN0?=
 =?utf-8?B?ajh2MXcwNDMxL3Z6VEV1eW9vSDVYVnN4aCtKbmtueHhocEIvdVFkMzk1aWFi?=
 =?utf-8?B?SDRGQU5OaDdxaHdoY1NVbS82aTlGbXJCTjRMVnNqQjVodFdOQ0xvQkZ3K0p0?=
 =?utf-8?B?bm9tcWNHY2FlTHFjaUNEaXFVZzZTSHNsRHZhZWxhaHZsUEFVZ1BuUWg5c3Zj?=
 =?utf-8?B?aFhkeUQ0NEVVdjhmWFRJanRSY3VwakNBZjBhV2Vub1g5aXJDNDN3WjhmUkNF?=
 =?utf-8?Q?w3aN3raJY/3hFH2ci0IpPzY1H?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6015a15-67b8-4b6c-b7d7-08db98a26b8b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:32:36.2370
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KfFwdZjp627pAv+MF7V0GjDRmEeArBuGjaFxHQvIP5JYjMEyfpgoMq4Px9w+kXGvbGmpAbvC39QsFyDKsGmW4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7432

On 08.08.2023 22:15, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Jan Beulich wrote:
>> On 04.08.2023 23:39, Stefano Stabellini wrote:
>>> Hi Tamas,
>>>
>>> May I have your ack on this change?
>>
>> I see you committed this, and there is an ack in the commit, but I can't
>> see any ack on list (incl when checking mail archives, to exclude an
>> issue with my mailbox).
> 
> That is strange! Something appears to be wrong with xen-devel. Adding
> George in CC and attaching Tamas' reply.

Yet more strange: The attachment (as it arrived here) is zero size. But
I can see it at
https://lists.xen.org/archives/html/xen-devel/2023-08/msg00959.html
Part of the reason may be that it looks to have been a HTML mail (which
it shouldn't have been).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:39:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:39:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580690.909068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcrC-0005bb-Bx; Wed, 09 Aug 2023 06:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580690.909068; Wed, 09 Aug 2023 06:39:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcrC-0005bU-9M; Wed, 09 Aug 2023 06:39:46 +0000
Received: by outflank-mailman (input) for mailman id 580690;
 Wed, 09 Aug 2023 06:39:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTcrB-0005bO-Gn
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:39:45 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86963bc5-367f-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:39:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9195.eurprd04.prod.outlook.com (2603:10a6:10:2fa::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:39:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:39:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86963bc5-367f-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dlgUx+U4hK1ednOtWqEdo7yGaM6pqnrUnGkzhEiRCkaZRL1S92qmlHxFo8FBgZukn8xMC0aqwN9LM2B80u3ABiHyXG51PN9pwkY1i9qQ+6BnX1cWtVy+zjiIrn58tKFfBGPZcDypwL9MpN5rUsC/fYYYKLdpzOgz2DIf4JEhFxbuAbvZN46dnG7hpnXFW/uWYlMiFXZXsmNQpHhj4l45UHk66Bsei/d1oYFWS1iJzmmBfqPXjsKlZTrFnqaY0XbwYR/bvSwfOVxsR2e+odU1fRcE8fdYVgnpQRX1w5QqVgygIK2npvdAG5aSjJRDdS+3ZKIxVVVYjaDr08FXAuUBTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uZ4awkKV8+Y/0cKxPAF4bECQPSCs1gIuSPS13v726vk=;
 b=EaHtuXRuaJ9Ad0LjFuDg0+WsgooAUNnNcnyXXM2sNOzZMgrHt5a62o4y3ajPL+D+VW4XDWscJGLwWYLXWetxuv6wMQtGoCFfq8SOfKRF8R/lScpvgz2VzmCyCNJZI4/Br0EPAKww3jOyzgK9LyagQx7gHkWu1dXFEt31fr6gBsgo/j2EVMujChTtHRs0R6cob8qvv6caDWxOx29glfgFsy1FO/+Wg+mMqRQ6GyofUdzGq+S4oCOIRL+4fH3u1L4b61YZlq23St4K0GEgUJcvTmVcbd3hPjkvJ1kzgbQpHXbOmiIbB8h42nGhOFTZuiKp9B50tgIYDEfImZJ10nggZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uZ4awkKV8+Y/0cKxPAF4bECQPSCs1gIuSPS13v726vk=;
 b=1Y4vlXhl+pPv/WbXkLuGxTtzvqk3mZEZrW4IuS55n+8nr+n73fd5N9U1i/tbi80Tt/N2fmVnIRJVZ5qMuSqhR8C2CQqCehMyMcAZ5zGhthFARlHjCZ44wS0Prgrnprz4gFW/MY2SSCHDcBwpZ2VriDkC8oU/5B9p5RV6rD6znyRtUllT1rN2EY/vZ1/NZG8/WzQKZvLIzoCyIEnXQrteH0LJmN8y8jQ5Tza4NQZ4IUvyjY4mLEHg7fsBcX91uDS/2HkUemkZuOnlNnL7qXtoDiIscrQ031bjiwWEwX1E8TnEO9dsBdko5PMkiyDY1MxO3qyTdbK7BDlSgOXG3JYOnA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3667bf0b-5e5b-ac31-4d79-122f8ad159be@suse.com>
Date: Wed, 9 Aug 2023 08:39:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] console: generalize the ability for domU access
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@amd.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801160608.19219-1-dpsmith@apertussolutions.com>
 <3b889079-571a-a83a-0cba-c30cf2ce0b1b@suse.com>
 <d90cc238-87ef-d0d0-b06f-58e89d24eaca@apertussolutions.com>
 <01a80d4c-f19b-98ec-805e-e648e752d6b1@suse.com>
 <e1554020-a605-8df2-619a-eda86d86c50a@apertussolutions.com>
 <2ded224f-0b8b-90fe-367a-91762d1f25d5@suse.com>
 <72274554-5942-294e-aa1f-a594ae2e37e9@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <72274554-5942-294e-aa1f-a594ae2e37e9@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9195:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d901e04-f341-4936-ea6d-08db98a368a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MEvxUb09zAbUR+afv7cvx+qBB5oLm7XMdmBza1lCKNiHdgFbFw5jv0KWI5FDeRuZHJZISqWef6g0CubegQ8whlD/X1W53Os3p2VdN7zL9MitkNPoMoLhT/I+sz+IRJasgSwOw6Z6BZvBh3i4Zs6joNROurU9XEn6sWCuna4KuH99JJYj5FOo/08YAoexQSvidr0yBrDUeUpUrTKGH68zofUbGf2aZKDTEKXx+0RgAs2EsjWAkPlGsP7HbqlsaS8M9Y55obsrnLy5qr6mJ68S3vH5zCqBhNjEeXz//kk7/zmOGzTduJRbL1K5xGLlf2v6DBrBJisZJxkOtV+kI54swbQYM7R61Ds5lxiEFYEBeiz96hy+1rtzGpS5wczCB/9sx/t0jLPcVK38qTJ8b/AlEqJbCM4G41KiAamBnFrLnN20SbF+FdGlT2SO6fixOe6Yeowm+lwI2VhGOuRj3u2Q5xNIWPhSRDrkNS+269X4nH5NlJPpV7KubrbM74WDFujLmLy8VvrdlyNe1JLUmwGv79zdDnJtjiBdW2imFTCfa5YAQCrTZzRxVEgs9A5aVu2DBG3wew3XB3nuxBKV1KBwdH+pLcUqOC+WnogFqh9ng4U45t0zYxsjQTBvcbFJTGQwQ26x/GCoTWbRXasFmC0R8A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(39860400002)(136003)(346002)(366004)(186006)(451199021)(1800799006)(478600001)(31686004)(2616005)(83380400001)(6512007)(26005)(53546011)(6506007)(66946007)(8676002)(316002)(8936002)(31696002)(41300700001)(66556008)(2906002)(4326008)(6916009)(66476007)(6486002)(6666004)(36756003)(38100700002)(54906003)(86362001)(5660300002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTV4bWtIdnlOY0JaelJ3NkFVbGZlU0NhblBpWWdCTCtyV1IvcVp4aElmOGs2?=
 =?utf-8?B?SWs0b1JkS1QydU41VE5URlR0NDh1c01WZzhzQk5FOThiMXphUG5uTFBCNlJo?=
 =?utf-8?B?V1FEdkRGbDl2L2UxTTV4Qkc5MTNMMnBWZE95SUhhUzRYWmNRNm1OcWVqWitj?=
 =?utf-8?B?UUhQa0phSUY5MVpMcmZITUNTRjM4bk1PTngyL2kxVzlGcy9TVVprNEFHaDlC?=
 =?utf-8?B?cnpacGtLbHdqS080KzkwUi9RUDVzUDBvYUlXVXpIUGY4alJVUk5YZnpCZFBC?=
 =?utf-8?B?cnhqb0dIanQ4dFVKRC9FS1lxYlFXUTNjRDY0ZU1XbWR0NFlFZVpxSXJIZG9l?=
 =?utf-8?B?cktwb1E1ckVNME10TnNHWUhrVWRkaG0ycEZLVEhpYzIvaWI4TkczSERtVGY3?=
 =?utf-8?B?cVRmS1lWSE80VjErV201MWNtUW85SGhPanhPZzZrbGF6amcrOFhSZmFCRW9R?=
 =?utf-8?B?eTZLQi9mVFJWVENMdTNQZUg5SGRRQzlIdkUrNXVjWksydVRPdWRQU1dwS1VT?=
 =?utf-8?B?Skg5T3FoY3Z6VkJ3MzNwaXZXbThXc3hNd28zMkUxdXduQUxXbEtQT2JpbHd4?=
 =?utf-8?B?UWs1UFFOd2E2dVlaUEFUNFpIYjlBL09NUk5CbGdRZWF5ZHZvcUg3ZWVvY092?=
 =?utf-8?B?VXp2T1hXQkl6UHVvN3Z1ZXduSHhGN0NQODBQdWFBRXdsR3BPT1ljaHY2c1Yv?=
 =?utf-8?B?RGxlc214TkxkTm9EMWgxdzY4MXB4S3BXcEI1L0VybmlNMVdXMmNpajFVOURw?=
 =?utf-8?B?ODlHeVlwYVl2eStrY1hmUUdjSWRoMFVtQ3JSK1BoNmJoUVMwYTZFdHpYTnJH?=
 =?utf-8?B?dUNqbU1DZ0hZUkFwTWdNRjgrVnhSUE5MWTVwNmR4b2pYMTc1Y0ZFZVRpemZv?=
 =?utf-8?B?ZDYzYjcrZ0phVHlMaEJzMjB4RGRQc1NPOFozUVlrMmV3WVllbGt2V0V6cHhP?=
 =?utf-8?B?dTZEcFRLa1k3L2w0REFRRGF3bU10UUpxZ3Rmckc2VlFPZmRRL2dXRTk1NHVv?=
 =?utf-8?B?aTRoTnAvdi9Fb1YzazU4andQeGdtSjBiM2xvNy9Yem1JTGZwK290QVZkbHAw?=
 =?utf-8?B?N0pYaS84cHA1MUM3RGFSdGJUNkllRndReUx2VXJSRmk1aUw0UHVEUnpXdzFO?=
 =?utf-8?B?bnFTWVBvdGp2S1dJVHYyeEZyNGpCeGVmS3JvNjB4MEVjUlB1T3F5ajNqckla?=
 =?utf-8?B?ci9hVTZVb21UOXdlK1ArU3hyRUtMVzVKaUt6VXMzalRoczhUSHRsZWJjSzBr?=
 =?utf-8?B?NTdCZ2hpOVFUSFhkVWRaMU40LytRSlJ6TnVpYlo4S0RCNHVMK21ML2JGSUFn?=
 =?utf-8?B?bE44Z1ZkK2ZyQmlQR0V0Zml2VVpVZ2hyc3FQQmgzMXpYUlpDamR3R0JGcUVa?=
 =?utf-8?B?UjJjMjdQdkIwQWlUUmxyNlcwRFFwK21MOGViQXlrMUVQeWkxeXV0OGVEQkYz?=
 =?utf-8?B?cGNFQ1NVNjJDQTZHejBXOXhBMlp4WUxtM3hXdjdTZ240MlJiaHNOblcxMith?=
 =?utf-8?B?RVNGNXV2cnUyV3Q3UWRlbEpPNUtPbjM2ZVE0NEtmc1JwY0hxanQrVm5VTDRG?=
 =?utf-8?B?eCtQOFMrc0pTaWI5R0xkNC9PaW5FcHloSDVLYXBqZERmZTY3SU45ZHU1T1pT?=
 =?utf-8?B?M2lwWTJlM2ZIL25kdDdPL1NQaFYvcnI0OEY1ZUlzaVdRNlN4dko4TkRaRjY3?=
 =?utf-8?B?Z3cydFo3bkNmY3lCTm1wbmpYUHhwOHhjaEk4YXNoNUYySWtvYk0va2RFYStl?=
 =?utf-8?B?V2RneGlPdDkwVmxJWlp1WmNCRVJKbHFRZkxuVXVGa0E4QjFMc1EzY3lJa000?=
 =?utf-8?B?S0hXSnBaL2c2ZnFFbW0yZzhTNXNZdTdtbFNtd2JuNGY1RzFPTTRha1FBaWdU?=
 =?utf-8?B?VkFFcTNOU0RNQzJKVU1Hd2VRaXI0OThUdDRoL2lWZHVEanNpMUx6Y2t4V21r?=
 =?utf-8?B?MVUyMk9tdXIzMkh5V1l6WTBCWDFFSEJ1V1VaSTJ2bWVuejBZSEtZSjFtMk9u?=
 =?utf-8?B?cVprczFXUTdsOC9YQ0kwekRkWVduSFRuOUZnL3A4SW0zS2Vnck5ERE51bHRM?=
 =?utf-8?B?WUdEQVRtMnV6MExrSkIxNnE3aWM0ZzZMbkowby9wSlNSZE9YSXJnRDlXcG51?=
 =?utf-8?Q?gqRnjz5XbzAtMu7TjfrjEGHnK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d901e04-f341-4936-ea6d-08db98a368a6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:39:40.7760
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kkzQ1hxWISo4zoYH/x98JPV4kDjGdlAu4ehX2yzJ0pQ1f3JPzKADlkEdMG3yG4f7ScrRJjFHO77jatEgr/wKpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9195

On 08.08.2023 18:58, Daniel P. Smith wrote:
> On 8/4/23 03:49, Jan Beulich wrote:
>> On 03.08.2023 18:31, Daniel P. Smith wrote:
>>> On 8/3/23 11:56, Jan Beulich wrote:
>>>> On 03.08.2023 14:56, Daniel P. Smith wrote:
>>>>> On 8/2/23 07:01, Jan Beulich wrote:
>>>>>> On 01.08.2023 18:06, Daniel P. Smith wrote:
>>>>>>> +        {
>>>>>>> +            for_each_domain(next)
>>>>>>
>>>>>> What guarantees that the list won't change behind your back? You don't
>>>>>> hold domlist_read_lock here afaict. It might be that you're safe because
>>>>>> that lock is an RCU one and this function is only invoked at init time
>>>>>> or from some form of interrupt handler. But that's far from obvious and
>>>>>> will hence need both properly confirming and stating in a comment. (It
>>>>>> is actually this concern, iirc, which so far had us avoid iterating the
>>>>>> domain list here.)
>>>>>
>>>>> It is better to error on the side of caution instead of assuming this
>>>>> will always be invoked in a safe manner. I will add a read lock for the
>>>>> domain list.
>>>>
>>>> I'm not firm enough in RCU to be certain whether acquiring that lock is
>>>> permissible here.
>>>
>>> Same and I took your statements to suggest that I should.
>>
>> Actually I wasn't paying close enough attention here: The code already
>> uses rcu_lock_domain_by_id(), which acquires domlist_read_lock.
>>
> 
> Right, it grabs the lock while iterating through domain_hash[], I 
> thought your concern was with regard to the iterating with 
> for_each_domain and the embedded open coded version. Because of your 
> inquiry, I have been thinking about it and I should be grabbing the lock 
> as I iterate to be sure that I don't get deceived into believing the end 
> of list was hit because a domain was being removed as I walked the list. 
> And if it so happens that the context is always safe, then there should 
> be no contention on grabbing the lock. Do you disagree?

Well, RCU locks aren't real locks, so there's no contention in the first
place. As to the context being safe - I continue to be uncertain, but
the pre-existing use of the lock means you adding the necessary locking
to your code won't regress in that regard.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:42:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580696.909077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcu7-00072v-Qi; Wed, 09 Aug 2023 06:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580696.909077; Wed, 09 Aug 2023 06:42:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTcu7-00072o-No; Wed, 09 Aug 2023 06:42:47 +0000
Received: by outflank-mailman (input) for mailman id 580696;
 Wed, 09 Aug 2023 06:42:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTcu6-00072g-Ah
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:42:46 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f274eda9-367f-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:42:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9195.eurprd04.prod.outlook.com (2603:10a6:10:2fa::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 06:42:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:42:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f274eda9-367f-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XrZBk/vck8q8iXLXfSQP1WZ4CxT4GbKrap82cWGmskOb/yGfqau0uvjZoqio96wCc030Ax2icJ6MNV3eJQeEJV44fzmAPnwR7ygoh1LleqnFJDKem71YsqEOqL7V+is8DoObfPRAc1S1XBSXUUYcheX/KQik1yZMMIehwV/dypAFtA2EGD0/9VtQItKdXNqhPtknm7/Dqg6yy1pMH/viQjTNnsy0rm+dFTeFPY+GqnFel+EBdMei0bDsF0AevEhKck+3uHYj2+vMarVYy6pgH2k4iQgMhBklfVC1ji21dTLynI7GmvNTihquxxl7PctPZ2FvYayQp1mEYMmK0bJk8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8/qv8RzdLGkHNogzIJrzcZKa6WYQvuP94xlgxFUFJqQ=;
 b=nG5b59+BDfokVxFwcodbAH6dNrj74IeSvILCktyTWTXw/X745X9QMjM/8ulEUXOf0XIrtiyf4zjVdxLpXQb0c6YqeyM9OzDL7D1yQ+uW+7ERdo1OoXIHDNpzG1fXZ0qEbWGw52fIjuJRAIPRgf38N0okw9vsrEbHmPxYVH54RKiLDpRGrhEv02X8ziwzfycHEcQRZhexjnSkdOoLZ+DQxsVW0f+GSTc/TlxImEmetfZeMWeNZUI6JgQOGGbvAmByBbK7O5Y1c0E2evz1hPW05i7TquuqMIHrhZFJZIUgskUE5gu9KLzbXc2TgLkuxX3z071aPbh7AVp4KjvqbLRktg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8/qv8RzdLGkHNogzIJrzcZKa6WYQvuP94xlgxFUFJqQ=;
 b=HkBwV8pO26q/eKWt306YnHyFXliyFDoJf8vCeqGvo9OhKw5LFyEsGX99XhjgV+s8MEiynE2KCKyo8mgQ3yL9nQFyM2q+8/wgqZMckTC1i3udOdEU7cXib/YorX/2F4Ky0aUsItZXri5wyloqy6CPV0MlEOl+rwO0+PmxlsegYjoMeR7nEPbyPs1AdTHpiDcqiWYPaLnURN2w+k7gnPJOdyGfm5CmjreqX/mVNSSwI2deZUUeTqtP2QyOVGHBofGNnU4MSTMcQnPbdwatuk8as2DWytCwKzXxHOd5YbJenMPRTV5uK5JX8gSk/mvRCKyVxUehRU1z2CQNWl69+tSL8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a649e904-44e8-6210-a1fd-297c00bba317@suse.com>
Date: Wed, 9 Aug 2023 08:42:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/9] xen/common: Add missing #includes treewide
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com>
 <af751f31-5e8d-2b1d-e878-148e08d9264b@suse.com>
 <7e77b8ed-2c0e-b814-6ce2-c6b2cf47bec9@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7e77b8ed-2c0e-b814-6ce2-c6b2cf47bec9@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0216.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9195:EE_
X-MS-Office365-Filtering-Correlation-Id: f462b139-4708-4c39-96ed-08db98a3d5bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7nq8935HvKCxfyVcqYFuqNgraQp/ToTu2ZDzj9MaAnTl0BY/8vy4DropGES3eezgC4al4icLBmrLgWhkpobX4ghl5f5VL8vG/bLsaMgLcYy/4VsARAIjRQDrgNUOJfrvCGRoblVfD54WhQvGOlgnWkhq8ZMoapyvkPtl5nD0xzh4UpISMDxa10QZLLF9OMdOqCBnYQxBoIPlOPGtZWA9C7rjZB7SkyNg0x6bNULd4Y5+QRawbHo8WFr0w6k2bYTnP5Ya2kzrOixUehvhHN0nLErlBpknJzqjADvZSuGIAnpxB401s5s9BV2DypLAUVTb2eShnIf3y2Ex88fOmWzqPXE2VH1uc53s+dWCkGuQA+YAJXwzu2gsCA+bBoWeau4X/Hrh2jaJ0edYGajdmZXUsIfAOqFIApSnu7Va8RgtgDNifGCDlP4KwuL1JyfkFQqFoFRPNTCwK4j+7SuDW2jy9+gR1UHog4XieWfxZWR1t272XzZeOcCsSDIiPs3p6MCpVXWw2W63bKVUoobPZg6LGpcx7qgvPHo3+1opBpjNnK9q0tQoFE30Koaza2idIfCBGHSlpzCj5AHxv720ORu8jEnu4PNRLx0f5Qjs76/OPk9qQZ945rzoxzUqeA99Md8cH50wlZZukBtsgq302MimpQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(39860400002)(136003)(346002)(366004)(186006)(451199021)(1800799006)(478600001)(31686004)(2616005)(83380400001)(6512007)(26005)(53546011)(6506007)(66946007)(8676002)(316002)(8936002)(31696002)(41300700001)(66556008)(2906002)(4326008)(6916009)(66476007)(6486002)(6666004)(36756003)(38100700002)(54906003)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjN6dVJrYnVCbUNXVUFUMnMvTXJLc1MxaFMyNkZSd3crdk9nVVdid1JYWGFB?=
 =?utf-8?B?N3hQbTBEb0xNM1kvL0FESkNnSCtCUkJhUmpybDhPM2g2ZUFGdVlNVTN0K3JU?=
 =?utf-8?B?YU02WEluZnlSSHI2RHArK2tIbGhEN1BFTWpFS2VuRkFxMGVtdlV2OTVWRUY0?=
 =?utf-8?B?WXJ0ZWdVMWp4TUlLdUQxKzAxZ0Jnbk15UTdpL21YYVFqQkxJUmR3S1dyTmNW?=
 =?utf-8?B?YWs4UEQvbU9FV01YVDZTZ3dnY2liSFlEcDhqQjdJelVwWU5XMU1HK2dPU0tL?=
 =?utf-8?B?bTBtOFMwVk5OcGJsUmRQUDMxM2UwNDdzS2NnYmF4bkxXNU9OZlE3dFFjUU95?=
 =?utf-8?B?bitYNGVydzlqRHVwdEFwZmZLMEVyVDIxME1QaC8xSDRzbE5WTDVWQ05vakNI?=
 =?utf-8?B?OHcyK0sxRFpSYXpsYi80SGtOcmVqRjFnUDJFdmJ3a1lsdnJRcytQZE81czZY?=
 =?utf-8?B?QVJZREdBL0E3WFd6VkhsU2M2L0VkYWRtbTJmSkNyL3JrTUk3QndqL2FmUlBI?=
 =?utf-8?B?cmlJWlZxdFpSVVNCOEhZV0ZZN0dBekxvUVVqTUNad2E5dncvbHUyY2dSTHBJ?=
 =?utf-8?B?ejhKOGpwVEU2dTBtOENxY3Noc0l5ZzlxOWJKVEd3RVJNK0Y0bjBZVm5LcnZG?=
 =?utf-8?B?TkpwNVVtb3k4cXNiVjlzaHUxREdqK1lWVW05aE1vd3dZUHd5L1JudndtTVFH?=
 =?utf-8?B?ZFBCanV0Z2FuTjdhdC9QQUsrUmtJZGdDN1kxR29rVThvZXlrNXV1RmFxbjV5?=
 =?utf-8?B?eFh5UVdseE9NTEMveENYQzRQeHV3Z0lwby82YWpCdDM3UkVrSENuY3pTSVpJ?=
 =?utf-8?B?M216NXFKLzgvbnlLdXNXSXRVT1p2elJQQmd2cGdkMzF2M0l3Q25Rc05TUVMr?=
 =?utf-8?B?R3puMXpTRGxCektUSGZ2OXA2c1hPSE5wRDl2aWFFN1M2V1VLWmRRZDVXNkpJ?=
 =?utf-8?B?T0d2dzFWc01IazVveXJUb1hHTWM0ZFFiczJFQ1VsNHRORkFhZlM5bzN2OFZl?=
 =?utf-8?B?Ui9wdThST1B0MG1CSnRNdkhBYnhjVTJNelJqM0lNQktFQmpxeTJMd1ZOVUpr?=
 =?utf-8?B?NmdaRzl6MFdtejE2K0VxdVlSc1cvcE1MWVg4WkpkUzdPbTh5RnM3RWo5K2Mw?=
 =?utf-8?B?VlIvMS82WDN6Y1I4NzQvTUZTdUs1U2dTbytwRUhwSnZFNitabC9wbHBxUXV5?=
 =?utf-8?B?S0ZXZnZOa21XMll5ZDVmQkdPYm5xYUo0aWc0ekRNUlRDL2dBSlBKT1NOcHdF?=
 =?utf-8?B?bVB4TzhBRG5LZTNTOHpSK2t6NEplb0h4SU9lYkJrWnl2dllhVEhLVnlvK3dH?=
 =?utf-8?B?dnRsempNT09KZEZubkhabjV2MWtiQXNDbkorR1lqa1c5UmtOZU9CYTFBMDQy?=
 =?utf-8?B?LzkwWWYvcnpJQTQwYU9LUnllZkxpaEthUDMyZVE1QTdma04yQzZsNGRmWlRS?=
 =?utf-8?B?bFZsRG11dGZxSzN0SHlvMWdKb3RMM3ZRUHpxWXhWS2ZoY3RGb0lCeXdBcWJT?=
 =?utf-8?B?VVdwVGd4UnRFZzhFdkhRZURINHlGeDdqcEduMUVIR2xQY2J3dXJ4cGZMdU1r?=
 =?utf-8?B?b01UZjRXUnN3a2xSTk5aRU1vaVVLaUtDN1FpMFFIbi9ESTlPU0I5OTR4VHZX?=
 =?utf-8?B?QkFaeVhsZ1RDVFhEd2p2Rm5kbDNwcEtTbnVkY1YzVm9KV1Y4TmRMT2ZzbVV5?=
 =?utf-8?B?SGp3VW03WnU5S2sybDF2Wm5XTFlvckdKVURDbmtOZi9XdU1IbE4vcUZsdjdM?=
 =?utf-8?B?RndyT0gxTERWZmVyOTNNbXJ5c0srTURqdFBZZjlCV3RYMzdEVTkxaExqYzZ3?=
 =?utf-8?B?d0o1cjRObXRDVlk1blpKRkgrenpEU1dsZ3lseEloblhFem41ckM3b0l2NDVZ?=
 =?utf-8?B?SzBNKzBqVmlnWFJHY2I1amVCNmhqVDFiMGhFaWRtZ2tNelRLZ1U4ZFZ4L2xZ?=
 =?utf-8?B?SUNJcW55eGo5bE9sNnEyVUxNRi93eVBiOHBWYjlIZkIrSEU3dElrK0VRZXl0?=
 =?utf-8?B?UE9WWnJkTWYxekFJckQyQ0MzTmpIVHBEWllPRjJ3THJZMFBBdm9XRjNXeTAy?=
 =?utf-8?B?QWhpc3hNRUtiSGhBMzZBMkgvZmhLKzBNWlBkVW5QbGIrbGh2WXU1YTFITFVh?=
 =?utf-8?Q?sU923wdNX3Do5A2MnCBTtwAHk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f462b139-4708-4c39-96ed-08db98a3d5bc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:42:44.0449
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PXBM/3/vpdsMJC5K6oO0M4WLteBQPQNS0/TF7F1JWFKjrDoSJRZRLkT0kA3KQrx74R6GJ/lDqNZjqZZsH6uFlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9195

On 08.08.2023 18:49, Shawn Anastasio wrote:
> On 8/7/23 10:39 AM, Jan Beulich wrote:
>> On 03.08.2023 01:02, Shawn Anastasio wrote:
>>> --- a/xen/common/memory.c
>>> +++ b/xen/common/memory.c
>>> @@ -28,6 +28,7 @@
>>>  #include <asm/current.h>
>>>  #include <asm/hardirq.h>
>>>  #include <asm/p2m.h>
>>> +#include <asm/page.h>
>>>  #include <public/memory.h>
>>>  #include <xsm/xsm.h>
>>
>> I realize there are several asm/*.h being included here already. Yet
>> generally I think common .c files would better not include any of
>> them directly; only xen/*.h ones should (and even there one might see
>> possible restrictions on what's "legitimate"). Do you recall what it
>> was that's needed from asm/page.h here ...
> 
> The references to invalidate_icache (memory.c:310), clear_page
> (memory.c:1867), and copy_page (memory.c:1876) all need asm/page.h to be
> included somehow. I'm not sure which file ends up including asm/page.h
> for build to work on x86/arm, but with my minimal PPC headers it wasn't
> getting incidentally included and build was failing.

Okay, that's unavoidable then.

>>> --- a/xen/common/xmalloc_tlsf.c
>>> +++ b/xen/common/xmalloc_tlsf.c
>>> @@ -27,6 +27,7 @@
>>>  #include <xen/mm.h>
>>>  #include <xen/pfn.h>
>>>  #include <asm/time.h>
>>> +#include <asm/page.h>
>>
>> ... and here?
> 
> Here it's the PAGE_ALIGN used at xmalloc_tlsf.c:549

Hmm, PAGE_ALIGN() really shouldn't be a per-arch #define.

>>> --- a/xen/include/xen/domain.h
>>> +++ b/xen/include/xen/domain.h
>>> @@ -4,6 +4,7 @@
>>>  
>>>  #include <xen/types.h>
>>>  
>>> +#include <public/domctl.h>
>>>  #include <public/xen.h>
>>
>> While following our sorting guidelines, this still looks a little odd.
>> We typically would include public/xen.h first, but then almost all other
>> public headers include it anyway. So I'm inclined to suggest to replace
>> (rather than amend) the existing #include here.
> 
> To be clear, you're suggesting replacing the include of <public/xen.h>
> to <public/domctl.h>?

Yes (but see below).

> I've tested this and it works fine, as expected.

Good.

>> Then again I wonder why this include is needed. xen/domain.h is
>> effectively included everywhere, yet I would have hoped public/domctl.h
>> isn't.
> 
> domctl.h is required because of the reference to `struct
> xen_domctl_createdomain` on domain.h:84. Alternatively, we could get
> away with a forward declaration of the struct.

This is always the preferred solution, when available.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:49:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580704.909088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTd0A-0007gd-GQ; Wed, 09 Aug 2023 06:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580704.909088; Wed, 09 Aug 2023 06: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 1qTd0A-0007gW-DN; Wed, 09 Aug 2023 06:49:02 +0000
Received: by outflank-mailman (input) for mailman id 580704;
 Wed, 09 Aug 2023 06: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTd08-0007gQ-VR
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:49:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1c75afd-3680-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:49:00 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8890.eurprd04.prod.outlook.com (2603:10a6:20b:409::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 06:48:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:48: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: d1c75afd-3680-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S5f47C9Khtn+y3rDsY4uaiA9W6bnqaM67FLsLYuvTb4L24xYjWJiOYNiMSvDbHps9uCdEsJskUZnhuVa2O/vu2gvVFhPZ2CKEfX+5gWEDNiCkRMGEckOz/wW+ikqR0AiCkvSQawaV/bALmpRS2hE4r6NwWbPOkttsX+wlGfaKhF7qE/Bw3hQ3jQmn4YgsEhIuQW3o+1bjjPiMoETL75OXaenIwD/o+W+VGxWHefwwKwnUa6qIqH/bIMZ+5makNrmbxfgK9O5n/V2lpfZpB01Trv9aN8XwD8wMAxwel4dLLZSGMrxwn+g/rqzXRa1pvEzyRkxGCPcOJPPNDuEHX9itA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bf48YHefA6bFkSCH3odqD4dx8zvG/JfvGMJBg1ei1Bc=;
 b=NFnh4pIWoWBm7r/tvtDoxTs7oacird47wQh0HvY2+s5+00T/EjGjnxFGFlfnXShXkXNObkDYej4oBaJakK4zSrpAAbv6tldJvqpaKkrV1jtjmd+uQnEfabwpXVO9IHO1lg+Zr6GlhDwxhw7+BAZq/eS6SflCFSCdAhvOViu8kIxpJjbh1KOkU/fGyhhCMxT0T54A7yolWkiS7FgpiVwTkn7iRb1gLJv/V8/210dLgrkt3J0FIZmGSd0zG4ALvmbQ53fo8dkyIP3j/z9m/l8U7W9TkEcZXvyTzK/d8cEMTKR6eDHYV92Xr7pl97vj3ZUY93AvSGDEieK2xS+ybGw0jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bf48YHefA6bFkSCH3odqD4dx8zvG/JfvGMJBg1ei1Bc=;
 b=azEOsYDY/u01QBRO2WiTP0abtk4Bg/dEoBJ9EuLx9bDCVpVzeKc28MU4wfu622zJdlCeEfRGz2GNcBobU9e47NU/x4/03x7qfZGfUyH36V8ryzHO2u81127bwUZlnMKFKX+pI0XMhGDIDGqFiAw4OllX2jZ49ED6cGEiAv5qHjkKLuW7VLHd4Ike24DXWzTy9/njEDV2E8kYSCWnP7JJJh7zeZJBwlw4W/umc1II5ToZZpfByOB5rrT9qAkM8vnm0AzXuRnwlgTPaQmL3uGuEdxONRZmgLN7xJVS4fJEmxGLNcp+18gbZc6UCu0PTDYMW1br08jyqO9VC8yZP4f3sQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2307c6c6-1794-30e2-a6ba-f40fda313738@suse.com>
Date: Wed, 9 Aug 2023 08:48:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/9] xen/ppc: Implement atomic.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <8035b9659a5930c00802dd36ab52574695d6b419.1691016993.git.sanastasio@raptorengineering.com>
 <5e9380a5-7e33-ea70-6aa5-3ce1906a159c@suse.com>
 <080f37f4-2b2a-c057-568d-6e4974eb2f8c@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <080f37f4-2b2a-c057-568d-6e4974eb2f8c@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0171.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8890:EE_
X-MS-Office365-Filtering-Correlation-Id: b4ccacc9-29d3-4345-b030-08db98a4b4f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lAhH19H7EqUYynIpuc7KPTqQTk5j+4x1hYqqOh+Kj4SO0as2avbDM4YhJr6jFdD+GBCpF4TYM8EIzrDd/G2Uy/9DEqzsbFLTxPKwSjTRH0yIveS6EhpmzkSX3gvATJomO+ivUv9g1JS2Dnd607LAet4/ddAgMzrezash/qvPAI21t5a2IE3zXHDQRTcrIPXBt+dlcETY9TH7tBuZXQBlVzsYu1LCYsu7Pmm5N0Qp4Gz/tJ20Z80cukPyXlGgNhvmwRM9Ws/81e4A8ltBHoa8OkKAO8dhKdFB4Vbemrc9D8OBLOmbQI8PSxd20NA0dhZSslJme0MInN6Hif0HPLBqpHDVoa5pJJsZBU5gcsJKYsl3GMH7OvQFmLSoG7XPdhNAkUtY1FCPCejvxUKIY2MUXNtHSTpVAS+1QWNfVAFL2m9nFL0ys3lnl9VxMs9DuDQz9pSTYL69XiK89DXDL05M12Cyvrkj9XNeZJWZGoozkvuaNq3vw9XV14/ytI3sfrhIW+Rts3Ke/AcF1teyLiuCHbSJDstW2MeEa8cmJL/YhH0tFkBMtvvxAmRHUeTzPpldW3Mdmkdty9Vp76ak5hIDInZlmgxwdmYHXc1CmuiPGlCArrJARkdCx9UuezGNOfzFdKAWzyDC5FGgVMSiDhgWJMUBDruPxbYD3Wqx6AL1spo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(346002)(39860400002)(376002)(136003)(1800799006)(186006)(451199021)(2616005)(6486002)(478600001)(31686004)(83380400001)(66556008)(966005)(6512007)(53546011)(26005)(6506007)(8676002)(316002)(66946007)(8936002)(4326008)(31696002)(2906002)(6916009)(54906003)(66476007)(38100700002)(86362001)(41300700001)(5660300002)(36756003)(57644004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2JUZU1naldxZFZ0QktQcmhGUm9nWDVwS1JBa002Wjd2RlR2TmRwMmVIMkdG?=
 =?utf-8?B?ekNSdWtSck54aXZWYUYzc2hhdktJMXhrcTRROEZ2cHdjTFZmcGI1Q2w5UllZ?=
 =?utf-8?B?d0NSV1JlbzVROXlQVU9OcUowMittZU1xNjRFVWRUUGx2dGdlWmxuNEpyamxw?=
 =?utf-8?B?SDdacmphbTg1UlVPM056dk4vcEpkWXdrZUt3RjNqb2VxOVBKNVFsZU05cHo4?=
 =?utf-8?B?UFhIVjBSTlcyNVRPNk9BNDlGRlgxQUEvZjFYKzBhVEpmOEVsQ1c1US9YbXRR?=
 =?utf-8?B?bHc2RmdYRFlxeEdzZ3M0RVh4M2RwQnU0QUFkaHF1S0ptZGE4TjdlTEpiKzJs?=
 =?utf-8?B?UFBQajFtUGlTaVRORHZCT1NkUE9yVXhlRzJ4eVVxOTZVQm1PZFRLNWdBUlpV?=
 =?utf-8?B?MFBpWjc4TDRIbmQ5bHUrenFNVnozc1Y0ZVphT1c2dC8ycG9tZVZrR2xLL2ZN?=
 =?utf-8?B?Z1BLQXQwaHZ1Z0hqNHQwNjdHWDlxR0d4cjFXQjhoZGxoMWkyNVBwa0o0Y0NG?=
 =?utf-8?B?dVU5TzhRNDBEMmRhSFZydWZNQmZlV2hzUUZ0aGpUTFpjMUJvS2E2OG1vVklU?=
 =?utf-8?B?THBpQjdycDZKMHI0NlhpbkY2U1hxek5vdzZYVy9hT0xtUWFpNzEvVTVMSGow?=
 =?utf-8?B?RmlQL2pxT3pHcVZiYW5GWStXL3R0a3Z6bFI4M3VOQ1h0blNxWVlxYlV3SWgx?=
 =?utf-8?B?WExTZVpSMnZVenJTS3BiT0tQcGxQRUp0SnpTOWEzWkEraDNvQUNlaTZCY21o?=
 =?utf-8?B?RFBvc25FbjVoNURDNTV2blB0MWlMaysvRjFyR2MvZ3Jnd1hGdllKcFdpajFD?=
 =?utf-8?B?ZXpveUpKUXFrRHZrTVJydUpyU3RLL2hGTk1OcGFzMDgveldLbEQxSllYZ0k1?=
 =?utf-8?B?NXF6azZlbmgvcGw1WjBGRHBVc1JjMk5TcHZudEgreVc2QkJOWlViS3E0RjVV?=
 =?utf-8?B?ME1KdUJkWWRUNzYxdkgyRlJ2MFMzRms4M09SUWo1ajB3UU5oSTNqSTNSVUUx?=
 =?utf-8?B?VHZvZFVGc0lFamZrZEgwMCsxQzJsdzg1QmFHV09yNXNlbFJFd0xFU29PajZI?=
 =?utf-8?B?ZnlnM2FKbndhaXZQbjRjYlpEemhhZ3owd21NV0xTWG9UNW5FWmtGbkJOUmRF?=
 =?utf-8?B?ZUpzWnZlTHhnejBJOGIvdXJpOUMwWGpEN3hpbEVQblZmN21tbThhaWtRMGZW?=
 =?utf-8?B?RzRzTkRkR01KOWRGaGxwWXNFWEVsTEFsQlhFWTRZdTNmdkI0QnJ1R3d1bjNz?=
 =?utf-8?B?Vmo4OStUaUJBYTdvYTY3U00xT0F5bjNZaWJ2R1QwbTBxZm02azlUdDVZR0JN?=
 =?utf-8?B?MTExR3J3NmNBMjBuZ00vOC96bjRrQTdBTEFBbmY0emdXTVRVOEsreitpbUU1?=
 =?utf-8?B?UXQwL1FHa0lqZWRCMnJUUHI5YkFlekpnbUdPcXBlalgxZkpFV1ovNm5YczRQ?=
 =?utf-8?B?blB5d2xsUGRyc2RDckNNOWg4VjNlWE5temdCVkhwSjRsbnp1cXBDdlBUYTls?=
 =?utf-8?B?NEQ5ZWliL0JTVTl2aWs2dWkxeCtDbStqd0Y3M2hML0trZFU2djBrb0tsL1ZD?=
 =?utf-8?B?RmxjVFcyMHMweWJaNjVJODlYNnB5N2ZKMWdsdHFjQ0F1bDlyL0JubmtkWXpi?=
 =?utf-8?B?MzRZcTcrcHZ2K3ltdFoybHBta3liMkRmSTdDK2FMcEpYMnRrdmorbU96QnVt?=
 =?utf-8?B?TkUxK0ZwRW1TREdBMGJwN0d4YWNSc0tUS1FZM1JuUWpJT2JSYUw5V1BIcVVU?=
 =?utf-8?B?U1F2SHRHQ3VWMlFDT2tRQjc2YTVjZzVWcXpEMlhqU1FEQWp1aHB0R3BucWtN?=
 =?utf-8?B?QnJhem9ra25kVFBHV0VMMSs0TmY3ZUYxY1RXbXlvUzdpRzMzTVJtVDZSczZl?=
 =?utf-8?B?R2N2b3V0eW1xWmhRZ1gySDUwU3M2eDJCSGMvWlM2T2l1Tkd1b1NXRmtuVTVl?=
 =?utf-8?B?U09hWEZvdCtaMWZJK21pZ2hRTTVpeWV1dUJQYjFQazQ3M0dBcE51MENMRERj?=
 =?utf-8?B?Q3Z4U1JMU2E1NVBXWnVjWnhKR2wrK21yMjg1MEVIbFJzNVlMSHo3aHZHZjVF?=
 =?utf-8?B?VHRPSkV6Tm9RSkMrKzVQVStXWmdQL2x4RG9iYkVVSUZuZTNyR0lNNGFodGpp?=
 =?utf-8?Q?QOqL3L3jP/Psycy1Xfxu0dtp3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4ccacc9-29d3-4345-b030-08db98a4b4f8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:48:58.2666
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yQSztZbnx7O9ANibI07uPdhxUzzHc4l2fPuFkKqWvaEOHRs0PFGDq2AW6FleQLpmcj+2iw+RVw/KF6QaVjredA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8890

On 08.08.2023 21:19, Shawn Anastasio wrote:
> On 8/7/23 11:13 AM, Jan Beulich wrote:
>> On 03.08.2023 01:02, Shawn Anastasio wrote:
>>> Implement atomic.h for PPC, based off of the original Xen 3.2
>>> implementation.
>>
>> Since likely that originally came from Linux, did you cross check that
>> Linux hasn't gained any bug fixes in the meantime?
> 
> I did -- the atomic barrier instructions used by linux have changed
> since this code was originally written, so I've updated them to be
> inline with modern linux.

Please mention this in the description then.

>>> +#include <xen/atomic.h>
>>> +
>>> +#include <asm/memory.h>
>>> +#include <asm/system.h>
>>> +
>>> +static inline int atomic_read(const atomic_t *v)
>>> +{
>>> +    return *(volatile int *)&v->counter;
>>> +}
>>> +
>>> +static inline int _atomic_read(atomic_t v)
>>> +{
>>> +    return v.counter;
>>> +}
>>> +
>>> +static inline void atomic_set(atomic_t *v, int i)
>>> +{
>>> +    v->counter = i;
>>> +}
>>> +
>>> +static inline void _atomic_set(atomic_t *v, int i)
>>> +{
>>> +    v->counter = i;
>>> +}
>>> +
>>> +void __bad_atomic_read(const volatile void *p, void *res);
>>> +void __bad_atomic_size(void);
>>> +
>>> +#define build_atomic_read(name, insn, type)                                    \
>>> +    static inline type name(const volatile type *addr)                         \
>>> +    {                                                                          \
>>> +        type ret;                                                              \
>>> +        asm volatile ( insn "%U1%X1 %0,%1" : "=r"(ret) : "m<>"(*addr) );       \
>>
>> As I think I had mentioned before, asm() contraints want a blank between
>> closing quote and opend paren. I.e. like this
>>
>>         asm volatile ( insn "%U1%X1 %0,%1" : "=r" (ret) : "m<>" (*addr) );
>>
> 
> My mistake, I went through and hand-formatted all of this code to try to
> be inline with Xen's style but forgot about the constraints.
> 
> As an aside, I don't suppose there is an automatic formatter somewhere
> that I've missed? I found an old clang-format fork that claims to add
> support for Xen's formatting[1] but it seems to only handle a subset of
> Xen's rules so I haven't found it very useful.
> 
> [1] https://github.com/NastyaVicodin/llvm-project/commits/main

Work there was recently revived, but we're not quite there yet, sorry.

>>> +#define read_atomic(p)                                                         \
>>> +    ({                                                                         \
>>> +        union {                                                                \
>>> +            typeof(*(p)) val;                                                  \
>>> +            char c[0];                                                         \
>>> +        } x_;                                                                  \
>>> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \
>>> +        x_.val;                                                                \
>>> +    })
>>> +
>>> +#define write_atomic(p, x)                                                     \
>>> +    do                                                                         \
>>> +    {                                                                          \
>>> +        typeof(*(p)) x_ = (x);                                                 \
>>> +        write_atomic_size(p, &x_, sizeof(*(p)));                               \
>>> +    } while ( 0 )
>>
>> Up to here you use underscore-suffixed locals, but then ...
>>
>>> +#define add_sized(p, x)                                                        \
>>> +    ({                                                                         \
>>> +        typeof(*(p)) __x = (x);                                                \
>>
>> ... you have even two prefixing underscores here.
>>
> 
> The definitions of these macros were directly copied from elsewhere in
> Xen (x86 and arm). I can change them all to use underscore-suffixed
> local naming here, though.

We're still far away from eliminating all pre-existing issues. So copying
existing code is always at risk of then getting such comments. Again -
sorry for that, but otherwise we'll grow the number of issues.

>>> +        switch ( sizeof(*(p)) )                                                \
>>> +        {                                                                      \
>>> +        case 1:                                                                \
>>> +            add_u8_sized((uint8_t *) (p), __x);                                \
>>> +            break;                                                             \
>>> +        case 2:                                                                \
>>> +            add_u16_sized((uint16_t *) (p), __x);                              \
>>> +            break;                                                             \
>>> +        case 4:                                                                \
>>> +            add_u32_sized((uint32_t *) (p), __x);                              \
>>> +            break;                                                             \
>>> +        default:                                                               \
>>> +            __bad_atomic_size();                                               \
>>> +            break;                                                             \
>>> +        }                                                                      \
>>> +    })
>>> +
>>> +static inline void atomic_add(int a, atomic_t *v)
>>> +{
>>> +    int t;
>>> +
>>> +    asm volatile ( "1: lwarx %0,0,%3\n"
>>> +                   "add %0,%2,%0\n"
>>> +                   "stwcx. %0,0,%3\n"
>>> +                   "bne- 1b"
>>> +                   : "=&r"(t), "=m"(v->counter)
>>> +                   : "r"(a), "r"(&v->counter), "m"(v->counter) : "cc" );
>>
>> "+m" and then drop the last input?
>>
> 
> Yes, that makes sense. Not sure why it was originally written that way
> but I'll change it.

I think this was attributed to not sufficiently well written documentation
for older gcc.

>>> +static inline int __atomic_add_unless(atomic_t *v, int a, int u)
>>> +{
>>> +	int c, old;
>>> +
>>> +	c = atomic_read(v);
>>> +	while (c != u && (old = atomic_cmpxchg((v), c, c + a)) != c)
>>
>> Btw, no real need to parenthesize v in cases like this one. Otoh a needs
>> parenthesizing.
> 
> FWIW this was copied directly from arm64/atomic.h, but seeing as its a
> normal function and not a macro I'm not sure I see why `a` would need
> parenthesis.

Oh, right you are. The parenthesized v misled me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 06:54:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 06:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580712.909098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTd4z-0000kj-7G; Wed, 09 Aug 2023 06:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580712.909098; Wed, 09 Aug 2023 06:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTd4z-0000kc-4a; Wed, 09 Aug 2023 06:54:01 +0000
Received: by outflank-mailman (input) for mailman id 580712;
 Wed, 09 Aug 2023 06:53: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTd4x-0000kW-85
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 06:53:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 839877b8-3681-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 08:53:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8890.eurprd04.prod.outlook.com (2603:10a6:20b:409::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 06:53:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 06:53: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: 839877b8-3681-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EAjVfmc2NPp8OhBdXYg+YrtvZVXDXUpiNqQU7jNZ0VTUt0O6bmOWWs2qMA/FOI57yUCHy6difOPeqIuPyXtdMWSk5bNTwajLCKL68t9ZAHUK35Mj4zr9ihPRKkmOAlOE0QDsrXtB3k3Epo25Vjy5rlTluhEnl56M6KRS+9jnNb2CqBFfb2ImU+S+vFb5kcdlEKfuPZ5lL/7UGwYglE0ddB1IggMrBl7svrZJizByD25eYuY8TcDkNJBat5EJysy9k+KSjdMTtak76hGMyzpsP8GJKZRd1bTLS5ixE5sorcemd65NYz9WwxqzuzbYTUFgYtZ9nu/cpEiW9RB6GFcnng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p1cFDW0cxg+T7WdovLB28zEgLcbGf1NgCosVjYcqQDk=;
 b=KsVAcxBSiLqmIPJuxxsjnKVqCKbAGT7nUc5RShFYYkDNUWva6H17IptvBErgoTM9kyZ3Od/4qn4nlQuRruNgE9IMvw0FUNGIy2wZpttXs7DM3BlXY5Bp9DuYiIsSQmYVxqGDKIAkBJm52yagbP6NhK692FzNd3KGej0G722UaXYgvocvbvxhHVThcYfj/dOGjOBo4X4FvSlVv50vAmYMExKrfnYsj5ObDCXtV13iOcrfjGbPXhps/qQFdLQtXtP3otaxXygWDIE6mLdF6a3vttpr3j+AQo6aeAXNzZuhqDAb6GQuwTFmBKv2XmGKvgK95Te/zBHvmW1yokjySSxPKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p1cFDW0cxg+T7WdovLB28zEgLcbGf1NgCosVjYcqQDk=;
 b=29AHdEEq+LcPoE9n5bsnd2Z2qR6tCqOHQtYqVyffgY97Kj66hz9dJt2ci+dje9LiBnjalwGRUL1TCgHHoxXBk6W+q4fgyQvjLErpRq+6NnlbupAf4wsiIeCb86RWwxTylIp8qIFK61YUyuY+okd6Q+/b7x5ygANap+xEfzVOf8NvJ0WYvCCLwCp2JM9BsvmR6jXjVP2OPq7iWeSBG9pTgZ6b0YdecGhthfXKQQ+Ad4rU+dgFwAi1aOIi8AKgVWW7Jrpu9bJ7QV7Ys9pakbpE/tvl90ICcOwgeYpnfZ9HFzI4Ek8cHBa4vUSevvO5IrTgCne9SSORaslwunDT0cqreQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cc6c7291-117e-b597-6306-d3cce14f5736@suse.com>
Date: Wed, 9 Aug 2023 08:53:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC 5/6] capabilities: add dom0 cpu faulting disable
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-6-dpsmith@apertussolutions.com>
 <93750d64-07b3-2a92-4851-bcd5bda9a0a5@suse.com>
 <331ee5de-3c90-2e3f-ef1c-914a2cbf14cf@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <331ee5de-3c90-2e3f-ef1c-914a2cbf14cf@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8890:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ceee960-efdd-4e70-94f7-08db98a56749
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BXg+yH/9oqhiLcxs9iVN2YpC+hvIgD6Z+3ycQ3WID3wLC0U0TtAf9dxUPZ2CpDIV6j3jp2I11/FJhPYrP5F2JIjDnGXuI3Ar6a9fSjbac+wtBC1jmOkwMB0JQfYFEvg0vLY/3icJLNT8vKRwoXXE4wCPzw9J+RDBeZQrgbBCPZQZk+dQSYkGoaJwN+iwTXNdvndDuA/cIg67+Ih2T+041nw2gCFJcRPFWUiqQoe4ZTwgvoPQPIT1ZZL/8QKZJhbm6ocMr6HhUATc4SgOLVvUQ9oGr40wk7OvEZHZrvNmidyKv/TyKaH7fLFPtFPtmzxpGWylyDmLGWPWd5PI5q9hDEYmani2LGTVciyDifoX1jXpGSVrfnFZNWGeoVsqaABn4HPN+cZHAJdyecnsQIauiUPkorqPTCWNfRp6msJmc4meP5Y4leUEEJT5IN9+WicaEaj8tB3efBCcEHuFRUwewuBl9E7KjaX1L2GD+6eyHfe85TyNteyZKnYraOpULegokBa/L7o8OePs2qtNp3fUSwjVsmGA+b4L69poUa4yY09v/ii8ismd+0rERkGkTiVCGNQnA68sVa1knDsoC9CL5/V59Tft8mHw1ZzRI2dTB2VThTfRNffwspzX5WfEmcXQYNWZEAGB3it1imLCskFugw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(346002)(39860400002)(376002)(136003)(1800799006)(186006)(451199021)(2616005)(6486002)(478600001)(31686004)(83380400001)(66556008)(6512007)(53546011)(26005)(6506007)(8676002)(316002)(66946007)(8936002)(4326008)(31696002)(2906002)(6916009)(54906003)(66476007)(38100700002)(86362001)(41300700001)(5660300002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWlpMVJGNEZmKzZYcHNjTThGdm42bFJCZ3lnTzFVbDBlYVhGdHJpMTBYd0FD?=
 =?utf-8?B?enF1MFFRcW1OTGJlTElzc2prOUpOY3pMa1lrQWQzSDZpUE5nS0tkdmp0ci9n?=
 =?utf-8?B?aEFqSkIrVE9ZdEJreDlEQXNpL1dmc05XeEVOdC9KV3hpeXpUTHk5L3JpdDFV?=
 =?utf-8?B?L0x2c0xsOWZhRFVOS3JSQWJ0bjAxdkNIYW5YRmRCN3pPOXBTYkNHSDAvVitG?=
 =?utf-8?B?N3ZvRWc5NW5IVXJyV21ib3U1MXFOOWJnUUlJa2Q3dk5sRmdUbTJCRk9rSXhZ?=
 =?utf-8?B?NkxLWnBxa0FQWlM0OU5LK3VZWmliSU9NZk0zOTdTaSt1aXJEK2JFR25ROVp6?=
 =?utf-8?B?dkgvVzlPNTZBUmNTd0V5cTRwdUxBSFBRdnlkMFRaNCsweXJNU2Y5ZnpXZmg4?=
 =?utf-8?B?Z2N5b1NGYloyckF1NUREMU9tODk5V3AwbU0xQlpmazE2R2J5bGx2SGkrQmtx?=
 =?utf-8?B?RGdrTkQ1MmF3VHBveVl5OG41ZG94dWNXdHVXR3d1RVJzOWh2ZnNOQWlrNHBD?=
 =?utf-8?B?aW8xZWZIYUU3WFRvdFN6QlNKRytYdkRlMmdMUkJuTVJYTWZqdUtTUTQ3aXg3?=
 =?utf-8?B?eUhKMlBiSm1OditvK1pKWDlkcktBNUJ0QVlZcmF1MXdCQkh2WE8vSVRWYm5h?=
 =?utf-8?B?SUlMMWRpYUp2cVhSNExnNnUwMENUeXJ1NnY4YWdPYjI3cmtHOVYxY0VoZFdU?=
 =?utf-8?B?VUJGQ0g0blFmcEY0OG0vbjVwaitkQ1FhKzc4Tk5YcWM2d3U1QlVSMGVFajVM?=
 =?utf-8?B?MGxNRzU0L3I3RTJJNkRXU0VyMHN3QUE0bEJKSm5vZGViNHVPc2hBRnVNSVR3?=
 =?utf-8?B?SVNMc3RvclV3WmNpdjZFNDRqeDU2OGlkZG5SS3dkRFpSSGhEZm9MRFJ2QTg5?=
 =?utf-8?B?ak53ZFVGWlMrb3ZHZm1mTzZ5eE44ckc4c0ZmQ3k0T0c1ZTRiYnNKVkhyY0po?=
 =?utf-8?B?RTFRc1R5T0R2YmhIa2FFZVZNYnZqSjNnemxuT25STG1BeUtHdVk5U2ZqY3VV?=
 =?utf-8?B?RUVVdE1wU3dKRk55bDFobG0rYmhBN2VZZTU2eHdmbitVMzBFN1VUWFZwbXZx?=
 =?utf-8?B?VUIxenRUTWp3d29jTGhXMnMrVXdNY2pyQUIvdDNvQ2U4cHFrWm5uNmhES2No?=
 =?utf-8?B?aEFnb3c0SlNENk1TcXk4dlo5YVhVdVIyNkZOYVliRzZnYmMvbEcySUJIS2NV?=
 =?utf-8?B?c09qbk80ckRSdzY3NGdYaHRwcE1JSEJub2ZrQVlEazBqR29xdkF2RzEyZ0Jw?=
 =?utf-8?B?RSsrOVNrSHFlZXFEYWpZZTdNK08zbmorMzJBWjBqQUhNWEU2cTFpbzJFRWF2?=
 =?utf-8?B?a0ZzVGxnazJXT0Vqa0hmb2V3NzBMb1lNcFozUEZIRW10V2hyL2FNKy8yTUZl?=
 =?utf-8?B?RFpsdjFENGVYZWNCUWd1dVhYY3d1b3hHV09FaHR2aGt0UG5xd21sR21Rdm1T?=
 =?utf-8?B?TlFCT1BOcnAxa1Vac2o1Ny9kZHdzUVpEZ1RDaXhxRVVKUU5ZQ29wMjM1Mzgx?=
 =?utf-8?B?dXd2NVBWbEdxVmZUMjZpbTFTSGxzZW12Zmg4d2tBZW1LL2JoNkVrWmZPamxk?=
 =?utf-8?B?RXRmVjJpMWJneWNFd0I4VXBCY3U5ZEp6RmhKWWxyUitLSGpMMXIyaG4wUytI?=
 =?utf-8?B?d1FVd09EdHZEYWtVWUJHcXR6aFIya1RUSWVrKzd2Q3gxc0xMU3ZxUGt0V0Fs?=
 =?utf-8?B?eSt4L0w5dzNUNTk2c2h2NEU3aWpadVlGVmhMZGVTK0lNQzg2a2pheTFHUk9l?=
 =?utf-8?B?K043SjM1Y2RTMHBLYXV4Tm5Sa1JVNWhQdXpTMzRTbGhwUEcvQlVxQ2VjMFRm?=
 =?utf-8?B?bEo0bTc5OG9UemVsbFVaRGUrOG5HcVZWWk9SWUsrYVFaVVdQdytnYlVjakFO?=
 =?utf-8?B?KzNDM3dpaFNKcURRQnlrWEdnOU5NY0hDSGRwWnVyUEl4Q1ZiWUJzYVJOdVFy?=
 =?utf-8?B?NkxSWTI4WW4va2dQSk9vdUkvVHY1L2U0d3QrMXhyWjVSc2NuR2hXZTNtK1pK?=
 =?utf-8?B?a2dtM1ZSUndzRTlHSXFnejdFdXVxbXpYdCtSR2p6TVNab29CdXJ5QVZXck4z?=
 =?utf-8?B?RDhWVnQzZ0dabnZSWHJuRUFKbUJkV0JTRG1FSDRlWXJnT0lrZ2toUndPaGRL?=
 =?utf-8?Q?f9RjfzowxgdS2SUTyHqaWQP2d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ceee960-efdd-4e70-94f7-08db98a56749
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 06:53:57.4268
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JovA9z3cAvJqqKhMFkhoetVgowyUzQ6kyCgGkXlOqE6fkEJ0zyZqGN5wpWkLbW/n3xGrTs4E/EjFYqBG6kMoDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8890

On 09.08.2023 01:59, Daniel P. Smith wrote:
> On 8/8/23 11:30, Jan Beulich wrote:
>> On 01.08.2023 22:20, Daniel P. Smith wrote:
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -907,6 +907,10 @@ static struct domain *__init create_dom0(const module_t *image,
>>>   
>>>       d->role |= ROLE_UNBOUNDED_DOMAIN;
>>>   
>>> +    if ( !opt_dom0_cpuid_faulting &&
>>> +         !domain_set_cap(d, CAP_DISABLE_CPU_FAULT) )
>>> +        printk(XENLOG_WARNING "failed to set CPU faulting on Dom %pd\n", d);
>>
>> No "Dom" please when you use %pd. Also I don't think you mean "set". Plus
>> we commonly use "%pd: xyz failed\n".
> 
> Ack on the "Dom" removal and "%pd:".
> 
> As for set, it failed to set the capability on the domain. You could say 
> enable but that is nothing more than synonyms, not changing the meaning 
> of the statement.

But you don't say "capability" in the message. That's what is being set.
But what you do instead is disable CPUID faulting. In fact I wonder
whether expressing that as a capability actually makes sense. To me a
capability is something a domain may make use of, but doesn't have to.
That's not the case here: CPUID faulting is either active for a domain,
or it is not.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 07:33:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 07:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580718.909108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTdgb-0005Du-6A; Wed, 09 Aug 2023 07:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580718.909108; Wed, 09 Aug 2023 07:32:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTdgb-0005Dn-1w; Wed, 09 Aug 2023 07:32:53 +0000
Received: by outflank-mailman (input) for mailman id 580718;
 Wed, 09 Aug 2023 07: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTdgZ-0005Dh-Sa
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 07:32:51 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f00a463d-3686-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 09:32:48 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 438D44EE073F;
 Wed,  9 Aug 2023 09:32: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: f00a463d-3686-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 09:32: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, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 1/5] x86: address MISRA C:2012 Rule 5.3
In-Reply-To: <a35a6462-15c6-5413-12de-d089fcf1e298@suse.com>
References: <cover.1691492441.git.nicola.vetrini@bugseng.com>
 <3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com>
 <a35a6462-15c6-5413-12de-d089fcf1e298@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <1e0912a2bae65db5c85b18bf1208bf37@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 08/08/2023 15:46, Jan Beulich wrote:
> On 08.08.2023 13:08, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/e820.c
>> +++ b/xen/arch/x86/e820.c
>> @@ -543,27 +543,27 @@ static void __init 
>> machine_specific_memory_setup(struct e820map *raw)
>>          clip_to_limit(top_of_ram, "MTRRs do not cover all of 
>> memory.");
>>  }
>> 
>> -/* This function relies on the passed in e820->map[] being sorted. */
>> -int __init e820_add_range(
>> -    struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
>> +/* This function relies on the global e820->map[] being sorted. */
>> +int __init e820_add_range(uint64_t s, uint64_t e, uint32_t type)
>>  {
>>      unsigned int i;
>> +    struct e820entry *ei = e820.map;
>> 
>> -    for ( i = 0; i < e820->nr_map; ++i )
>> +    for ( i = 0; i < e820.nr_map; ++i )
>>      {
>> -        uint64_t rs = e820->map[i].addr;
>> -        uint64_t re = rs + e820->map[i].size;
>> +        uint64_t rs = ei[i].addr;
>> +        uint64_t re = rs + ei[i].size;
>> 
>> -        if ( rs == e && e820->map[i].type == type )
>> +        if ( rs == e && ei[i].type == type )
>>          {
>> -            e820->map[i].addr = s;
>> +            ei[i].addr = s;
>>              return 1;
>>          }
>> 
>> -        if ( re == s && e820->map[i].type == type &&
>> -             (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) )
>> +        if ( re == s && ei[i].type == type &&
>> +             (i + 1 == e820.nr_map || ei[i + 1].addr >= e) )
>>          {
>> -            e820->map[i].size += e - s;
>> +            ei[i].size += e - s;
>>              return 1;
>>          }
>> 
>> @@ -574,20 +574,20 @@ int __init e820_add_range(
>>              return 0;
>>      }
>> 
>> -    if ( e820->nr_map >= ARRAY_SIZE(e820->map) )
>> +    if ( e820.nr_map >= ARRAY_SIZE(e820.map) )
>>      {
>>          printk(XENLOG_WARNING "E820: overflow while adding region"
>>                 " %"PRIx64"-%"PRIx64"\n", s, e);
>>          return 0;
>>      }
>> 
>> -    memmove(e820->map + i + 1, e820->map + i,
>> -            (e820->nr_map - i) * sizeof(*e820->map));
>> +    memmove(ei + i + 1, ei + i,
>> +            (e820.nr_map - i) * sizeof(*e820.map));
>> 
>> -    e820->nr_map++;
>> -    e820->map[i].addr = s;
>> -    e820->map[i].size = e - s;
>> -    e820->map[i].type = type;
>> +    e820.nr_map++;
>> +    ei[i].addr = s;
>> +    ei[i].size = e - s;
>> +    ei[i].type = type;
>> 
>>      return 1;
>>  }
> 
> To be honest this isn't quite what I was hoping for; the many ei[i]. 
> are
> (imo) quite a bit harder to read than ei-> would have been (hence my
> earlier suggestion to also update that pointer in the for() loop 
> header).
> Then again I see there is one use of ei[i + 1], which would likely look
> less neat as ei[1].addr when everywhere else we have ei->. So I guess 
> up
> to you whether you adjust further; I'll ack either form.
> 

I'll leave it as is.

>> --- a/xen/arch/x86/guest/hypervisor.c
>> +++ b/xen/arch/x86/guest/hypervisor.c
>> @@ -63,7 +63,7 @@ void hypervisor_resume(void)
>>  void __init hypervisor_e820_fixup(struct e820map *e820)
> 
> What about this one? The function parameter ...
> 
>>  {
>>      if ( ops.e820_fixup )
>> -        ops.e820_fixup(e820);
>> +        ops.e820_fixup();
>>  }
> 
> ... isn't used anymore, and the sole call site passes &e820.
> 

It remained there by accident.

>> --- a/xen/arch/x86/include/asm/e820.h
>> +++ b/xen/arch/x86/include/asm/e820.h
>> @@ -29,8 +29,7 @@ extern int reserve_e820_ram(struct e820map *e820, 
>> uint64_t s, uint64_t e);
>>  extern int e820_change_range_type(
>>      struct e820map *e820, uint64_t s, uint64_t e,
>>      uint32_t orig_type, uint32_t new_type);
> 
> And what about this one? None of the other subjects in the series 
> suggest
> this is then taken care of in a separate patch (as per the earlier
> discussion it indeed doesn't want dealing with right here).
> 

I'll mention this detail. While I work on other rules I'll think of a 
good way to rename.

>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -686,7 +686,7 @@ static void __init parse_video_info(void)
>>  #endif
>>  }
>> 
>> -static void __init kexec_reserve_area(struct e820map *e820)
>> +static void __init kexec_reserve_area(void)
>>  {
>>  #ifdef CONFIG_KEXEC
>>      unsigned long kdump_start = kexec_crash_area.start;
>> @@ -700,7 +700,7 @@ static void __init kexec_reserve_area(struct 
>> e820map *e820)
>> 
>>      is_reserved = true;
>> 
>> -    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + 
>> kdump_size) )
>> +    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + 
>> kdump_size) )
>>      {
>>          printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at 
>> %#lx)"
>>                 "\n", kdump_size >> 20, kdump_size >> 10, 
>> kdump_start);
>> @@ -1308,7 +1308,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>>          if ( e820.map[i].type == E820_RAM )
>>              nr_pages += e820.map[i].size >> PAGE_SHIFT;
>>      set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
>> -    kexec_reserve_area(&boot_e820);
>> +    kexec_reserve_area();
>> 
>>      initial_images = mod;
>>      nr_initial_images = mbi->mods_count;
>> @@ -1495,7 +1495,7 @@ void __init noreturn __start_xen(unsigned long 
>> mbi_p)
>>          reserve_e820_ram(&boot_e820, __pa(_stext), 
>> __pa(__2M_rwdata_end));
>> 
>>      /* Late kexec reservation (dynamic start address). */
>> -    kexec_reserve_area(&boot_e820);
>> +    kexec_reserve_area();
>> 
>>      setup_max_pdx(raw_max_page);
>>      if ( highmem_start )
> 
> Seeing all the knock-on effects for the add_range() change, I think 
> this
> separate adjustment would better have been an independent patch.
> 
> Jan

I can submit it standalone and put together x86/vmsi and delay

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 07:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 07:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580726.909127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTe2Y-00080J-57; Wed, 09 Aug 2023 07:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580726.909127; Wed, 09 Aug 2023 07: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 1qTe2Y-00080C-2O; Wed, 09 Aug 2023 07:55:34 +0000
Received: by outflank-mailman (input) for mailman id 580726;
 Wed, 09 Aug 2023 07:55:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTe2W-0007py-Fv
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 07:55:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c34454b-368a-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 09:55:30 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 77E3C4EE0741;
 Wed,  9 Aug 2023 09:55: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: 1c34454b-368a-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 1/2] x86/vmsi: rename variables to address MISRA C:2012 Rule 5.3
Date: Wed,  9 Aug 2023 09:55:08 +0200
Message-Id: <37bb5dc6f323bd2dc250c519523d05b66d17fdee.1691567429.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691567429.git.nicola.vetrini@bugseng.com>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The local variables 'irq_desc' shadow the homonymous global variable,
declared in 'xen/arch/x86/include/asm/irq.h', therefore they are renamed
'irqd' for consistency.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/vmsi.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 3cd4923060..128f236362 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -462,7 +462,7 @@ static void del_msixtbl_entry(struct msixtbl_entry *entry)
 
 int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 {
-    struct irq_desc *irq_desc;
+    struct irq_desc *irqd;
     struct msi_desc *msi_desc;
     struct pci_dev *pdev;
     struct msixtbl_entry *entry, *new_entry;
@@ -482,14 +482,14 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
     if ( !new_entry )
         return -ENOMEM;
 
-    irq_desc = pirq_spin_lock_irq_desc(pirq, NULL);
-    if ( !irq_desc )
+    irqd = pirq_spin_lock_irq_desc(pirq, NULL);
+    if ( !irqd )
     {
         xfree(new_entry);
         return r;
     }
 
-    msi_desc = irq_desc->msi_desc;
+    msi_desc = irqd->msi_desc;
     if ( !msi_desc )
         goto out;
 
@@ -508,7 +508,7 @@ found:
     r = 0;
 
 out:
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
     xfree(new_entry);
 
     if ( !r )
@@ -533,7 +533,7 @@ out:
 
 void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
 {
-    struct irq_desc *irq_desc;
+    struct irq_desc *irqd;
     struct msi_desc *msi_desc;
     struct pci_dev *pdev;
     struct msixtbl_entry *entry;
@@ -544,11 +544,11 @@ void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
     if ( !msixtbl_initialised(d) )
         return;
 
-    irq_desc = pirq_spin_lock_irq_desc(pirq, NULL);
-    if ( !irq_desc )
+    irqd = pirq_spin_lock_irq_desc(pirq, NULL);
+    if ( !irqd )
         return;
 
-    msi_desc = irq_desc->msi_desc;
+    msi_desc = irqd->msi_desc;
     if ( !msi_desc )
         goto out;
 
@@ -559,14 +559,14 @@ void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
             goto found;
 
 out:
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
     return;
 
 found:
     if ( !atomic_dec_and_test(&entry->refcnt) )
         del_msixtbl_entry(entry);
 
-    spin_unlock_irq(&irq_desc->lock);
+    spin_unlock_irq(&irqd->lock);
 }
 
 void msixtbl_init(struct domain *d)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 07:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 07:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580725.909118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTe2V-0007lK-Uv; Wed, 09 Aug 2023 07:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580725.909118; Wed, 09 Aug 2023 07:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTe2V-0007lD-Ro; Wed, 09 Aug 2023 07:55:31 +0000
Received: by outflank-mailman (input) for mailman id 580725;
 Wed, 09 Aug 2023 07:55:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTe2U-0007l2-RH
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 07:55:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bdfebd5-368a-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 09:55:29 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8FF924EE073F;
 Wed,  9 Aug 2023 09:55:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bdfebd5-368a-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH 0/2] xen: address MISRA C:2012 Rule 5.3
Date: Wed,  9 Aug 2023 09:55:07 +0200
Message-Id: <cover.1691567429.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series contains two patches left from previous series addressing the same
MISRA Rule [1] [2], to make a standalone patch with the more involved changes
that the first patch of [1] brings. The review comments on the respective threads
about these patches have been addressed.

[1] https://lore.kernel.org/xen-devel/cover.1691492441.git.nicola.vetrini@bugseng.com/
[2] https://lore.kernel.org/xen-devel/cover.1691488505.git.nicola.vetrini@bugseng.com/

Nicola Vetrini (2):
  x86/vmsi: rename variables to address MISRA C:2012 Rule 5.3
  xen/delay: address MISRA C:2012 Rule 5.3.

 xen/arch/x86/hvm/vmsi.c | 22 +++++++++++-----------
 xen/include/xen/delay.h |  8 ++++++--
 2 files changed, 17 insertions(+), 13 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 07:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 07:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580727.909132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTe2Y-00083C-Dg; Wed, 09 Aug 2023 07:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580727.909132; Wed, 09 Aug 2023 07: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 1qTe2Y-000822-8s; Wed, 09 Aug 2023 07:55:34 +0000
Received: by outflank-mailman (input) for mailman id 580727;
 Wed, 09 Aug 2023 07: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTe2X-0007py-5M
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 07:55:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ca55bb2-368a-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 09:55:31 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 2F0374EE0740;
 Wed,  9 Aug 2023 09:55:30 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ca55bb2-368a-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/2] xen/delay: address MISRA C:2012 Rule 5.3.
Date: Wed,  9 Aug 2023 09:55:09 +0200
Message-Id: <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691567429.git.nicola.vetrini@bugseng.com>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable 'msec' declared in the macro shadows the local
variable in 'ehci_dbgp_bios_handoff', but to prevent any
future clashes with other functions the macro is converted to
a static inline function.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/delay.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
index 9d70ef035f..9150226271 100644
--- a/xen/include/xen/delay.h
+++ b/xen/include/xen/delay.h
@@ -4,7 +4,11 @@
 /* Copyright (C) 1993 Linus Torvalds */
 
 #include <asm/delay.h>
-#define mdelay(n) (\
-	{unsigned long msec=(n); while (msec--) udelay(1000);})
+
+static inline void mdelay(unsigned long msec)
+{
+    while ( msec-- )
+        udelay(1000);
+}
 
 #endif /* defined(_LINUX_DELAY_H) */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580751.909147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeDy-0002ch-Vm; Wed, 09 Aug 2023 08:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580751.909147; Wed, 09 Aug 2023 08:07: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 1qTeDy-0002ca-TG; Wed, 09 Aug 2023 08:07:22 +0000
Received: by outflank-mailman (input) for mailman id 580751;
 Wed, 09 Aug 2023 08:07:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTeDx-0002cQ-Ui; Wed, 09 Aug 2023 08:07: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 1qTeDx-0001sP-Na; Wed, 09 Aug 2023 08:07:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTeDx-000363-8O; Wed, 09 Aug 2023 08:07:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTeDx-00031H-7B; Wed, 09 Aug 2023 08:07:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Mnv87k4yU+7V4QLDKdDxsTMKzBFSxY3WxaqEH1iOWHw=; b=tBT9U46pPVk+llsv6Vzo7Kk2mi
	kAxuhpf79Lqvf1cI7E9nuNKd7mRKJ8LDzIYC72nvAIRtrbzXSFiH0Ds6yIMuNDU3o9/h3LI8sIGDt
	IDogHhMh9MHluX5xNAk796Bh3FtXnYCsmkc0ap2OFSLjZp1jz0dP5ZkeMlDAjUXBH3TQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182233-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182233: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:<job status>:broken:regression
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-libvirt:migrate-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=14f9643dc90adea074a0ffb7a17d337eafc6a5cc
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 08:07:21 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-qcow2    <job status>                broken in 182225
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 5 host-install(5) broken in 182225 pass in 182233
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail in 182225 pass in 182233
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 182225
 test-amd64-amd64-xl-shadow   22 guest-start/debian.repeat  fail pass in 182225
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail pass in 182225

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

version targeted for testing:
 linux                14f9643dc90adea074a0ffb7a17d337eafc6a5cc
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  114 days
Failing since        180281  2023-04-17 06:24:36 Z  114 days  206 attempts
Testing same since   182225  2023-08-08 00:12:17 Z    1 days    2 attempts

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

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt-qcow2 broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:09:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580759.909157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFk-0003Bn-CI; Wed, 09 Aug 2023 08:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580759.909157; Wed, 09 Aug 2023 08:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFk-0003Bg-9R; Wed, 09 Aug 2023 08:09:12 +0000
Received: by outflank-mailman (input) for mailman id 580759;
 Wed, 09 Aug 2023 08:09:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ohew=D2=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qTeFj-0003Ba-Bg
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 08:09:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0459be0a-368c-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 10:09:09 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 848F64EE073F;
 Wed,  9 Aug 2023 10:09: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: 0459be0a-368c-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 0/3] automation/eclair: update ECL configurations and builds
Date: Wed,  9 Aug 2023 10:07:58 +0200
Message-Id: <cover.1691568344.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series contains new ECL configurations and adds some build options
in the ARM64 build.

Simone Ballarin (3):
  automation/eclair: update clean guidelines
  automation/eclair: add ECL deviations
  automation/eclair: update analyzed builds

 .../eclair_analysis/ECLAIR/deviations.ecl     | 34 ++++++++-----------
 automation/eclair_analysis/ECLAIR/tagging.ecl | 17 ++++++++--
 automation/eclair_analysis/xen_arm_config     | 14 +++-----
 automation/eclair_analysis/xen_x86_config     |  9 -----
 4 files changed, 34 insertions(+), 40 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:09:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580760.909168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFo-0003SF-KF; Wed, 09 Aug 2023 08:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580760.909168; Wed, 09 Aug 2023 08:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFo-0003S8-GJ; Wed, 09 Aug 2023 08:09:16 +0000
Received: by outflank-mailman (input) for mailman id 580760;
 Wed, 09 Aug 2023 08:09:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ohew=D2=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qTeFn-0003RD-07
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 08:09:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 071effee-368c-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 10:09:13 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 65B284EE073F;
 Wed,  9 Aug 2023 10:09:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 071effee-368c-11ee-b280-6b7b168915f2
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 1/3] automation/eclair: update clean guidelines
Date: Wed,  9 Aug 2023 10:07:59 +0200
Message-Id: <89e4ad4c56c083391b24b9da55212e888c5f3beb.1691568344.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691568344.git.simone.ballarin@bugseng.com>
References: <cover.1691568344.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch splits the former list in two separate selectors
clean_guidelines_common and additional_clean_guidelines.

clean_guidelines_common contains the guidelines that are clean
in both the analyzed builds, instead additional_clean_guidelines
is popolated depending on the current one.

The following clean guidelines have been added:
- MC3R1.R1.1;
- MC3R1.R1.3;
- MC3R1.R3.1;
- MC3R1.R4.1;
- MC3R1.R17.4;
- MC3R1.R22.6;
- MC3R1.D4.3 (just x86_64);
- MC3R1.R5.3 (just arm64);
- MC3R1.R7.2 (just arm64);
- MC3R1.R8.6 (just arm64);
- MC3R1.R9.3 (just arm64).

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/tagging.ecl | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index ef2e56e186..3f589fd716 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -28,7 +28,20 @@
 ####################
 
 -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
--service_selector={clean_guidelines,"^(MC3R1\\.D1\\.1|MC3R1\\.D2\\.1|MC3R1\\.D4\\.11|MC3R1\\.D4\\.14|MC3R1\\.R1\\.4|MC3R1\\.R2\\.2|MC3R1\\.R3\\.2|MC3R1\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.4|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R8\\.1|MC3R1\\.R8\\.5|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\\.6|MC3R1\\.R21\\.13|MC3R1\\.R21\\.19|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5)$"
+
+-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\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.4|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R8\\.1|MC3R1\\.R8\\.5|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\\.R21\\.13|MC3R1\\.R21\\.19|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5|MC3R1\\.R22\\.6)$"
 }
--reports+={clean:added,"service(clean_guidelines)"}
+
+-setq=target,getenv("XEN_TARGET_ARCH")
+
+if(string_equal(target,"x86_64"),
+    service_selector({"additional_clean_guidelines","^(MC3R1\\.D4\\.3)$"})
+)
+
+if(string_equal(target,"arm64"),
+    service_selector({"additional_clean_guidelines","^(MC3R1\\.R5\\.3|MC3R1\\.R7\\.2|MC3R1\\.R8\\.6|MC3R1\\.R9\\.3)$"})
+)
+
+-reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
+
 -doc_end
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:09:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580761.909178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFu-0003mC-SN; Wed, 09 Aug 2023 08:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580761.909178; Wed, 09 Aug 2023 08:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFu-0003m1-Oc; Wed, 09 Aug 2023 08:09:22 +0000
Received: by outflank-mailman (input) for mailman id 580761;
 Wed, 09 Aug 2023 08:09:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ohew=D2=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qTeFt-0003RD-GB
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 08:09:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b469882-368c-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 10:09:20 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 5E77B4EE073F;
 Wed,  9 Aug 2023 10:09: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: 0b469882-368c-11ee-b280-6b7b168915f2
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 2/3] automation/eclair: add ECL deviations
Date: Wed,  9 Aug 2023 10:08:00 +0200
Message-Id: <b2979e8cfa01369aa663434144d96bfd3f395ded.1691568344.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691568344.git.simone.ballarin@bugseng.com>
References: <cover.1691568344.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds some deviations for the following guidelines:
Rule 2.1, Rule 5.3 and Rule 8.2.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .../eclair_analysis/ECLAIR/deviations.ecl     | 34 ++++++++-----------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index e1a06daf2f..696618b59e 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -14,8 +14,13 @@ Constant expressions and unreachable branches of if and switch statements are ex
 -config=MC3R1.R2.1,+reports={deliberate,"first_area(^.*is never referenced$)"}
 -doc_end
 
--doc_begin="Unreachability in the following macros are expected and safe."
--config=MC3R1.R2.1,statements+={safe,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
+-doc_begin="Unreachability caused by calls to the following functions or macros is deliberate and there is no risk of code being unexpectedly left out."
+-config=MC3R1.R2.1,statements+={deliberate,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
+-config=MC3R1.R2.1,statements+={deliberate, "call(decl(name(__builtin_unreachable||panic||do_unexpected_trap||machine_halt||machine_restart||maybe_reboot)))"}
+-doc_end
+
+-doc_begin="Unreachability of an ASSERT_UNREACHABLE() and analogous macro calls is deliberate and safe."
+-config=MC3R1.R2.1,reports+={deliberate, "any_area(any_loc(any_exp(macro(name(ASSERT_UNREACHABLE||PARSE_ERR_RET||PARSE_ERR||FAIL_MSR||FAIL_CPUID)))))"}
 -doc_end
 
 -doc_begin="Proving compliance with respect to Rule 2.2 is generally impossible:
@@ -93,25 +98,11 @@ conform to the directive."
 -doc_begin="The project adopted the rule with an exception listed in
 'docs/misra/rules.rst'"
 -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^READ_SYSREG$))&&any_exp(macro(^WRITE_SYSREG$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max_t$))&&any_exp(macro(^min_t$))))"}
+-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max(_t)?$))&&any_exp(macro(^min(_t)?$))))"}
 -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read[bwlq]$))&&any_exp(macro(^read[bwlq]_relaxed$))))"}
 -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^per_cpu$))&&any_exp(macro(^this_cpu$))))"}
--doc_end
-
--doc_begin="The identifier 'fdt' is a widely-used name, for which no suitable
-substitute can be found. It is understood in 'xen/arch/arm/efi-boot.h' that the
-static variable 'fdt' cannot be confused with parameter names of the function
-declarations that are present in the file."
--file_tag+={efi_boot_h, "^xen/arch/arm/efi/efi-boot\\.h$"}
--config=MC3R1.R5.3,reports+={deliberate, "any_area(decl(kind(var)&&static_storage()&&^fdt$)&&any_loc(file(efi_boot_h)))"}
--doc_end
-
--doc_begin="The identifier 'start' is a widely-used name, for which no suitable
-substitute can be found. It is understood in 'xen/include/xen/kernel.h' that the
-extern variable 'start' cannot be confused with omonymous parameter names of the
-function declarations where that variable is visible."
--file_tag+={kernel_h, "^xen/include/xen/kernel\\.h$"}
--config=MC3R1.R5.3,reports+={deliberate, "any_area(decl(kind(var)&&linkage(external)&&^start$)&&any_loc(file(kernel_h)))"}
+-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^__emulate_2op$))&&any_exp(macro(^__emulate_2op_nobyte$))))"}
+-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
 -doc_end
 
 -doc_begin="Function-like macros cannot be confused with identifiers that are
@@ -179,6 +170,11 @@ 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 following variables are compiled in multiple translation units
 belonging to different executables and therefore are safe."
 -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:09:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580763.909188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFw-00042x-8q; Wed, 09 Aug 2023 08:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580763.909188; Wed, 09 Aug 2023 08:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTeFw-00042n-5C; Wed, 09 Aug 2023 08:09:24 +0000
Received: by outflank-mailman (input) for mailman id 580763;
 Wed, 09 Aug 2023 08:09: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=Ohew=D2=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qTeFv-0003RD-QH
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 08:09:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cb5bcc8-368c-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 10:09:23 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id C02244EE0740;
 Wed,  9 Aug 2023 10:09: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: 0cb5bcc8-368c-11ee-b280-6b7b168915f2
From: Simone Ballarin <simone.ballarin@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: [XEN PATCH 3/3] automation/eclair: update analyzed builds
Date: Wed,  9 Aug 2023 10:08:01 +0200
Message-Id: <a615d13b57eb126df9f8d7acc656bc054e376caf.1691568344.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691568344.git.simone.ballarin@bugseng.com>
References: <cover.1691568344.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The xen build for ARM64 now has new configuration options which
require to be defined: this patch defines them.

In both configuration files some no longer true comments have been removed.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/xen_arm_config | 14 ++++----------
 automation/eclair_analysis/xen_x86_config |  9 ---------
 2 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/automation/eclair_analysis/xen_arm_config b/automation/eclair_analysis/xen_arm_config
index 26f5fcca41..ef140ceb73 100644
--- a/automation/eclair_analysis/xen_arm_config
+++ b/automation/eclair_analysis/xen_arm_config
@@ -1,12 +1,3 @@
-# File provided in
-# Re: Xen MISRA C: Source files in scope and out of scope
-# from:	Stefano Stabellini <stefano.stabellini@amd.com>
-# date:	6 giu 2023, 02:53
-
-#
-# Automatically generated file; DO NOT EDIT.
-# Xen/arm 4.18-unstable Configuration
-#
 CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=90400
 CONFIG_CLANG_VERSION=0
@@ -34,7 +25,9 @@ CONFIG_HVM=y
 CONFIG_SBSA_VUART_CONSOLE=y
 CONFIG_ARM_SSBD=y
 CONFIG_HARDEN_BRANCH_PREDICTOR=y
-# CONFIG_TEE is not set
+CONFIG_TEE=n
+CONFIG_OPTEE=n
+CONFIG_FFA=n
 # CONFIG_STATIC_SHM is not set
 # end of Architecture Features
 
@@ -47,6 +40,7 @@ CONFIG_ARM64_ERRATUM_819472=y
 CONFIG_ARM64_ERRATUM_843419=y
 CONFIG_ARM64_ERRATUM_832075=y
 CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_1508412=y
 CONFIG_ARM_ERRATUM_858921=y
 CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
 CONFIG_ARM64_ERRATUM_1286807=y
diff --git a/automation/eclair_analysis/xen_x86_config b/automation/eclair_analysis/xen_x86_config
index d497814e01..abc44d43e1 100644
--- a/automation/eclair_analysis/xen_x86_config
+++ b/automation/eclair_analysis/xen_x86_config
@@ -1,12 +1,3 @@
-# File provided in
-# Re: Xen MISRA C: Source files in scope and out of scope
-# from:	Stefano Stabellini <stefano.stabellini@amd.com> 
-# date:	6 giu 2023, 02:53
-
-#
-# Automatically generated file; DO NOT EDIT.
-# Xen/x86 4.18-unstable Configuration
-#
 CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=90400
 CONFIG_CLANG_VERSION=0
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 08:59:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 08:59:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580789.909198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTf1k-0001uQ-Sv; Wed, 09 Aug 2023 08:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580789.909198; Wed, 09 Aug 2023 08:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTf1k-0001uJ-Pf; Wed, 09 Aug 2023 08:58:48 +0000
Received: by outflank-mailman (input) for mailman id 580789;
 Wed, 09 Aug 2023 08:58: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=Ohew=D2=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qTf1j-0001uD-MY
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 08:58:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f130a448-3692-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 10:58:43 +0200 (CEST)
Received: from mail-vk1-f179.google.com (mail-vk1-f179.google.com
 [209.85.221.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 329CB4EE0744
 for <xen-devel@lists.xenproject.org>; Wed,  9 Aug 2023 10:58:43 +0200 (CEST)
Received: by mail-vk1-f179.google.com with SMTP id
 71dfb90a1353d-487203bfbc6so1656546e0c.1
 for <xen-devel@lists.xenproject.org>; Wed, 09 Aug 2023 01:58: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: f130a448-3692-11ee-8613-37d641c3527e
X-Gm-Message-State: AOJu0YzJyVfs3P3K5xuG2CadkS0vVu3wrMWiDkKuX7YdYBEnhgv1LUJ1
	XyJ0pBUpJw9QQSjFF8EI49gC0v0w6IRmEtn4INU=
X-Google-Smtp-Source: AGHT+IHfqkd1fs1G+auNdi2Jj0DmziS1LodfzCG8egIJC6u0z/v+TFsgiaa/G2Oz9iw4GmTqU/V7Q3OIs/4+7wNKt5Q=
X-Received: by 2002:a1f:6082:0:b0:485:ac24:df1 with SMTP id
 u124-20020a1f6082000000b00485ac240df1mr2598536vkb.12.1691571521967; Wed, 09
 Aug 2023 01:58:41 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
In-Reply-To: <cover.1690368810.git.simone.ballarin@bugseng.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Date: Wed, 9 Aug 2023 10:58:30 +0200
X-Gmail-Original-Message-ID: <CAFHJcJuSXqzHbB8P6d-YV_GgAadmxnWgETfaqDj_ge_ipWS7Pg@mail.gmail.com>
Message-ID: <CAFHJcJuSXqzHbB8P6d-YV_GgAadmxnWgETfaqDj_ge_ipWS7Pg@mail.gmail.com>
Subject: Re: [XEN PATCH 0/4] xen: address violations of MISRA C:2012 Rule 7.2
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Jun Nakajima <jun.nakajima@intel.com>, 
	Kevin Tian <kevin.tian@intel.com>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: multipart/alternative; boundary="000000000000addeab060279afac"

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

Il giorno mer 26 lug 2023 alle ore 13:04 Simone Ballarin <
simone.ballarin@bugseng.com> ha scritto:

> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose headline
> states:
> "A 'u' or 'U' suffix shall be applied to all integer constants that are
> represented in an unsigned type".
>
> These violations are caused by the missing "u" or "U" suffix in unsigned
> integer constants, such as:
>
> xen/arch/x86/hvm/hypercall.c:132.17-132.26
> if ( (eax & 0x80000000) && is_viridian_domain(currd) )
>
> If a rule is not met, changes are needed in order to achieve compliance.
> The patches in this series achieve compliance for MISRA C:2012 Rule 7.2 by
> adding the 'U' suffix to integers literals with unsigned type and also to
> other
> literals used in the same contexts or near violations, when their positive
> nature is immediately clear. The latter changes are done for the sake of
> uniformity.
>
> Gianluca Luparini (4):
>   x86/vmx: address violations of MISRA C:2012 Rule 7.2
>   xen/vpci: address violations of MISRA C:2012 Rule 7.2
>   x86/viridian: address violations of MISRA C:2012 Rule 7.2
>   xen/x86: address violations of MISRA C:2012 Rule 7.2
>
>  xen/arch/x86/apic.c                          |   2 +-
>  xen/arch/x86/cpu-policy.c                    |  18 +-
>  xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
>  xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
>  xen/arch/x86/cpuid.c                         |   8 +-
>  xen/arch/x86/efi/efi-boot.h                  |   6 +-
>  xen/arch/x86/extable.c                       |   2 +-
>  xen/arch/x86/hvm/hypercall.c                 |   2 +-
>  xen/arch/x86/hvm/pmtimer.c                   |   4 +-
>  xen/arch/x86/hvm/stdvga.c                    |  50 +++---
>  xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
>  xen/arch/x86/hvm/vlapic.c                    |   6 +-
>  xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
>  xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
>  xen/arch/x86/include/asm/apicdef.h           |   2 +-
>  xen/arch/x86/include/asm/config.h            |   2 +-
>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
>  xen/arch/x86/include/asm/hpet.h              |   2 +-
>  xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
>  xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++-----
>  xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
>  xen/arch/x86/include/asm/msi.h               |   2 +-
>  xen/arch/x86/include/asm/msr-index.h         | 180 +++++++++----------
>  xen/arch/x86/include/asm/pci.h               |   8 +-
>  xen/arch/x86/include/asm/x86-defns.h         |  24 +--
>  xen/arch/x86/percpu.c                        |   2 +-
>  xen/arch/x86/psr.c                           |   2 +-
>  xen/arch/x86/spec_ctrl.c                     |   8 +-
>  xen/arch/x86/x86_64/pci.c                    |   2 +-
>  xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
>  xen/drivers/vpci/msi.c                       |   2 +-
>  xen/drivers/vpci/msix.c                      |   2 +-
>  xen/drivers/vpci/vpci.c                      |   6 +-
>  xen/lib/x86/cpuid.c                          |   8 +-
>  xen/lib/x86/policy.c                         |   2 +-
>  36 files changed, 255 insertions(+), 255 deletions(-)
>
> --
> 2.34.1
>
>
Hi all,
the entire series has not received yet any feedback or Acked-by.
I would kindly ask if it is possible to have at least some feedback

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com
<http://bugseng.com>)

--000000000000addeab060279afac
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">Il giorno mer 26 lug 2023 alle ore 13=
:04 Simone Ballarin &lt;<a href=3D"mailto:simone.ballarin@bugseng.com">simo=
ne.ballarin@bugseng.com</a>&gt; ha scritto:<br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">The xen sources contains violations of MISRA C:=
2012 Rule 7.2 whose headline<br>
states:<br>
&quot;A &#39;u&#39; or &#39;U&#39; suffix shall be applied to all integer c=
onstants that are<br>
represented in an unsigned type&quot;.<br>
<br>
These violations are caused by the missing &quot;u&quot; or &quot;U&quot; s=
uffix in unsigned<br>
integer constants, such as:<br>
<br>
xen/arch/x86/hvm/hypercall.c:132.17-132.26<br>
if ( (eax &amp; 0x80000000) &amp;&amp; is_viridian_domain(currd) )<br>
<br>
If a rule is not met, changes are needed in order to achieve compliance.<br=
>
The patches in this series achieve compliance for MISRA C:2012 Rule 7.2 by<=
br>
adding the &#39;U&#39; suffix to integers literals with unsigned type and a=
lso to other<br>
literals used in the same contexts or near violations, when their positive<=
br>
nature is immediately clear. The latter changes are done for the sake of<br=
>
uniformity.<br>
<br>
Gianluca Luparini (4):<br>
=C2=A0 x86/vmx: address violations of MISRA C:2012 Rule 7.2<br>
=C2=A0 xen/vpci: address violations of MISRA C:2012 Rule 7.2<br>
=C2=A0 x86/viridian: address violations of MISRA C:2012 Rule 7.2<br>
=C2=A0 xen/x86: address violations of MISRA C:2012 Rule 7.2<br>
<br>
=C2=A0xen/arch/x86/apic.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/cpu-policy.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 18 +-<br>
=C2=A0xen/arch/x86/cpu/mcheck/mce-apei.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0|=C2=A0 =C2=A04 +-<br>
=C2=A0xen/arch/x86/cpu/vpmu_intel.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/cpuid.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A08 +-<br>
=C2=A0xen/arch/x86/efi/efi-boot.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A06 +-<br>
=C2=A0xen/arch/x86/extable.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/hvm/hypercall.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/hvm/pmtimer.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A04 +-<br>
=C2=A0xen/arch/x86/hvm/stdvga.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 50 +++---<br>
=C2=A0xen/arch/x86/hvm/viridian/viridian.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/hvm/vlapic.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A06 +-<br>
=C2=A0xen/arch/x86/hvm/vmx/vmcs.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A06 +-<br>
=C2=A0xen/arch/x86/hvm/vmx/vvmx.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A08 +-<br>
=C2=A0xen/arch/x86/include/asm/apicdef.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/include/asm/config.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/include/asm/guest/hyperv-tlfs.h |=C2=A0 28 +--<br>
=C2=A0xen/arch/x86/include/asm/hpet.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/include/asm/hvm/trace.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 =C2=A04 +-<br>
=C2=A0xen/arch/x86/include/asm/hvm/vioapic.h=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=
=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/include/asm/hvm/vmx/vmcs.h=C2=A0 =C2=A0 =C2=A0 |=C2=A0 8=
4 ++++-----<br>
=C2=A0xen/arch/x86/include/asm/hvm/vmx/vmx.h=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=
=A0 16 +-<br>
=C2=A0xen/arch/x86/include/asm/msi.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/include/asm/msr-index.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0| 180 +++++++++----------<br>
=C2=A0xen/arch/x86/include/asm/pci.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A08 +-<br>
=C2=A0xen/arch/x86/include/asm/x86-defns.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 24 +--<br>
=C2=A0xen/arch/x86/percpu.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/psr.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/spec_ctrl.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A08 +-<br>
=C2=A0xen/arch/x86/x86_64/pci.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/arch/x86/x86_emulate/x86_emulate.h=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=
=A0 =C2=A02 +-<br>
=C2=A0xen/drivers/vpci/msi.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A0xen/drivers/vpci/msix.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 +-<br>
=C2=A0xen/drivers/vpci/vpci.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A06 +-<br>
=C2=A0xen/lib/x86/cpuid.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A08 +-<br>
=C2=A0xen/lib/x86/policy.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
=C2=A036 files changed, 255 insertions(+), 255 deletions(-)<br>
<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div><br clear=3D"all"><div>Hi all,</div><div>the entire seri=
es has not received yet any feedback or Acked-by.</div><div></div><div>I wo=
uld kindly ask if it is possible to have at least some feedback</div><br><s=
pan class=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=
=3D"gmail_signature"><div dir=3D"ltr">Simone Ballarin, M.Sc.<br><br><div>Fi=
eld Application Engineer, BUGSENG (<a href=3D"http://bugseng.com" target=3D=
"_blank">https://bugseng.com</a>)</div></div></div></div>

--000000000000addeab060279afac--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 09:00:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 09:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580794.909207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTf3N-0003Jc-6Y; Wed, 09 Aug 2023 09:00:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580794.909207; Wed, 09 Aug 2023 09: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 1qTf3N-0003JV-3s; Wed, 09 Aug 2023 09:00:29 +0000
Received: by outflank-mailman (input) for mailman id 580794;
 Wed, 09 Aug 2023 09:00:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTf3L-0003JF-JJ
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 09:00: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 1qTf3I-0003CE-77; Wed, 09 Aug 2023 09:00:24 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTf3H-0005Jl-UQ; Wed, 09 Aug 2023 09:00:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ZpyrlDtSAaBmGeL8uwVxOFxS5efcTJ6IEwKkh8xyLW8=; b=w2Nq+mlzvqECg1iZM9d8ThDA7j
	4PFcoyyySIpCw9g5zsEH0RA+ltJR5eU3Uz2aPGpD5vB+tSmQC9mKpE5bVl3mhk6yZgEbMpuZQhwAd
	vFzRZOQC5kTtC7sQ/PPnKV/WbNMy5x3eh+q+330m1F6e//u7zmlIMM7/XltJr44VVtHY=;
Message-ID: <a0af425e-3e61-43c5-b071-227c7f8437bc@xen.org>
Date: Wed, 9 Aug 2023 10:00:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <alpine.DEB.2.22.394.2308011757400.2127516@ubuntu-linux-20-04-desktop>
 <14346689-8276-3c26-91e1-59bc2328518e@apertussolutions.com>
 <423f86e7-10ee-134e-7683-e15f7e2c64ed@xen.org>
 <3decc6de-8d82-a862-36a8-9ddcd94fac4f@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3decc6de-8d82-a862-36a8-9ddcd94fac4f@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

On 08/08/2023 23:31, Daniel P. Smith wrote:
> 
> 
> On 8/3/23 17:24, Julien Grall wrote:
>> Hi Daniel,
>>
>> On 03/08/2023 16:41, Daniel P. Smith wrote:
>>> On 8/1/23 21:01, Stefano Stabellini wrote:
>>>> On Tue, 1 Aug 2023, Daniel P. Smith wrote:
>>>>> patch the field is renamed to capabilities to encapsulate the 
>>>>> capabilities a
>>>>> domain has been granted. The first capability being the ability to 
>>>>> read/write
>>>>> the Xen console.
>>>>>
>>>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>>>
>>>> Patch looks fine to me aside the two minor nits. I am not sure I
>>>> understand 100% the difference between capabilities and roles but I am
>>>> OK with the patch. I'd like to hear Julien's feedback on this as well.
>>>
>>> This might be worth a section in the hypervisor-guide. As mentioned 
>>> in the cover letter, this was originally proposed as being under XSM. 
>>> A challenge I ran into is that, depending on your view, the 
>>> `is_privileged` field and `hardware_domain` global were either abused 
>>> as a function check and a non-resource privilege check or are just 
>>> multifaceted variables. This is why the concept of the role was 
>>> struck upon, it is more intuitive (for me at least) that have a role 
>>> is something that imparts accesses (privilege checks) and dictates 
>>> hypervisor behaviors when handling the domain (function checks). This 
>>> then brings us to an access or behavior that may be inherent to some 
>>> role(s) but may want to grant on an individually to a guest. A prime 
>>> example of this is console_io, for which it is inherent that the 
>>> hardware domain role will have access but may want to grant to a 
>>> guest without granting it an entire role. This is why I provided for 
>>> identifying these capabilities so that they may be assigned 
>>> individually to a domain.
>>
>> Thanks for the explanation. Just to confirm my understanding, what you 
>> are suggesting is that for a given role, a domain will at least have 
>> the matching capabilities (more could be granted). Is that correct?
>>
>> If so, this wouldn't this mean we can remove d->role and simply use 
>> d->capabilities?
> 
> We could start out with CAP_CTRL and CAP_HW, but it is a little 
> illogical. For instance, control domain has many capabilities, they just 
> have never been fully broken out. XSM did some, but the focus there was 
> just on system resources. Similar with the hardware domain. You are 
> right that it would better deal with the limited number of bits 
> currently available.
> 
>>>
>>> While the role/capability is a natural progression from how the 
>>> hypervisor currently operates. Another approach that could be 
>>> consider to deliver a similar experience would be to break down every 
>>> access and function into a capability and then define the standard 
>>> roles as a conglomeration of certain capabilities.
>>
>> At least from the explanation above, I think it would make sense to 
>> break down role to multiple capabilities.
> 
> Would it be acceptable to do this incrementally over time as we are able 
> to determine what needs to be broken out as a distinct capability?

I would be fine with that. Note that some care will be needed for the 
Device-Tree to either version the capabilities or at least not break 
boot when using an old DT on a new Xen.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 09:16:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 09:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580802.909217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTfIc-0004wW-Gw; Wed, 09 Aug 2023 09:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580802.909217; Wed, 09 Aug 2023 09: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 1qTfIc-0004wO-EG; Wed, 09 Aug 2023 09:16:14 +0000
Received: by outflank-mailman (input) for mailman id 580802;
 Wed, 09 Aug 2023 09:16:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTfIb-0004w0-1P
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 09:16:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62354762-3695-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 11:16:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7604.eurprd04.prod.outlook.com (2603:10a6:20b:287::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 09:15:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 09:15:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62354762-3695-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KlyaBEURdZHr7ialhospcLF7ozvSSWdqOSBxqsJMH2TiKAsKlAYt8qHmX3Zrr9bm0t8lsJy0pW0ByfB+IsBweIov/dH50YjdIylHA7VEOhefVb3obfQp/D/Md3QdGLU23J3aCB2Nf4CVIrh/JtO4mf0OBdK+sPtBJTOYEQD5CCO8RWDOHFFCplNXbOJMlbKz8B+Vvi0T9699iw1Gjr+8xH1AsbDWSwrJLSTp9yPoaWwwUyl3d8XupryWFR84fGylFlMPvWS71eqCJYPBmGJ648puZS8db8EPt2otLbVGM2jqdMFTVFKMPHr91jiC4b6f6M+eMyahhX8q+32DpfUubQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g0SVfRREii59ren720/+A5oU1Ur2AyrXTFM7UsWvm1w=;
 b=LmmoZ66jdR3Lbaq+fc2ezA1FU0IeZpw3/3z/peQD+i7oMy05Fv6UpZ1nn5lp8yantUdxAX7UZdu6btmUmsk9nQ0bNnAP+pkXe7OMsigJnxk+KWSqFJUsB9nupb/WAzUOrMYnl82BrzoQWxZlpX2lR3acrfHHXtVeg9xaCHyPyYGHl1ne1u7rbmuN9zpYPNTW2DvJ4WSBefUahgi+g7T0KYFBZ2KVdajcSJIb2K3V5dGal1zyKF63YAzpDfn/VYl3uIgdsJxwCetja8znIzjgZdiW6+n/GGWorolq8UP7df39VS4L1R/RMW+WwpcWNe7dYvfBSxGLt6865gtITfgQbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g0SVfRREii59ren720/+A5oU1Ur2AyrXTFM7UsWvm1w=;
 b=sU77fNL94lP1frF6n4A13+YgGwUN27o7SNFiw1/DtCeOHrK+vhxGpSSKSmlg3d7SczvcIva6GavhCH/vqRx+VNWcwBkmK1aJmKMOtsdMPIyHJYfXV/2aEicKXmI90W68F9GP+D4f/BuMeIrJ48UoeqEoEydYcaXTBjOwmiYdSRU3f3UhDPvpWHKNYhLlSvjwW0V8eftfU/QV+eJrMi3oXj/t19EuIMKbZb1ovbALxyVccctUxjxWBeRIm2c6jxHfBiibdTQ+jBVHp7tWEL/3riCWCvRPsbJIKOymKzFBeKa+lY+RmtO+rtyqXVZOpokYo0FC+wbgPnuhAVwY4Wg+yg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8da9b4fe-3109-3a5e-9bc6-15fccc13a8f3@suse.com>
Date: Wed, 9 Aug 2023 11:15:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 0/4] xen: address violations of MISRA C:2012 Rule 7.2
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <CAFHJcJuSXqzHbB8P6d-YV_GgAadmxnWgETfaqDj_ge_ipWS7Pg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAFHJcJuSXqzHbB8P6d-YV_GgAadmxnWgETfaqDj_ge_ipWS7Pg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7604:EE_
X-MS-Office365-Filtering-Correlation-Id: c76555d3-84da-4622-aec0-08db98b9347f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rHC7YvQOXNbYYTGb7wX+L2C+iDfLzOatZqaIMLIINZTt9UPf3ScfuPIZkGAttVjn7LgZxbHbCClARhRfgytoSwP2sZcom77HtkI6IVAmemt/RWky/4VBdVWFMgKamBaUsa47nsZRiXF6FocK5kQulMajtx2DU+7FpqHif03Gw4xJSgGqtgQBODJ/1kNBtXmJz/5EOYNbcR8feuO8slK2tcbEfCpFegUm7lPc6SYJP+t6/DTMdS+lv5HH2Vp7/PQqbVb3M5f/vmGJCO1fX5subnk/O6IT047ZKBrWQ1VqTLZjSP9tGBuWxGmEm8vdvOZMQC1iRC/Q0J7XSza6CrghUVmGUkK348B3bPoviRVRcx/kx3VcImvykl/yqXiG4YKd86i9jbQdlY9xQakPmV1x7iSaaZAu7peCPd06HyP/zeyMYR23SauTCqwQszd6JSoT54pHZb17AsvZytbUBmT4we6xIPd66H4EEnUV+CllKfvIveWIsFxHwRzOHpCMAIrOVY61y4licsp25CDg921NQOeaGc9jlnXh4tnmphJllpMm8tVkLnqsW87MI0zQEtSfHOV/KiQQJuJ1lAAWjwAl2uqrgfhmglGkUetI9/QRdrWG+BnVJqG9K+j6qkk/lqTGOD4f5RFiXOl5iv+g9sdDoA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(366004)(396003)(136003)(39860400002)(186006)(1800799006)(451199021)(26005)(41300700001)(7416002)(2906002)(31686004)(5660300002)(83380400001)(8936002)(8676002)(2616005)(478600001)(6916009)(31696002)(53546011)(38100700002)(66556008)(86362001)(6666004)(54906003)(6506007)(66476007)(66946007)(6486002)(4326008)(6512007)(316002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmF0WjFqMitDRHVlaytDRkxiS2Uza1BYd2huYnlTc0NoTWttM3liNXE3S0NG?=
 =?utf-8?B?THhBT1pmVWtkaGRvSEh0VUdSVHNpQWVxYWkrcjhFeDBRV1pjUnNMOFNHeHAy?=
 =?utf-8?B?c3JhREg4anU2dkEwZmhta1ZsN0VXcThKT0F1ZFZXUnZVOFdkZjJ5emdYaVpQ?=
 =?utf-8?B?bnhqRTNvL0N5RmR2NzVLRVVkZzUxUytwdUtGOFJUdithSkc0UVp5QU1ocjlF?=
 =?utf-8?B?dmpXQkhVWUlmNWkyaEZ0MFhJWUJ3Rzc2dXdvWHlPS2ZXY25IemFiV1ZnbDFJ?=
 =?utf-8?B?NEdvblRsRVYvbUh4SmVWRG0xcW80bnNFdjljY1MyYjI3aVpwc3FEK3JPd1Ja?=
 =?utf-8?B?dHcxWnB2RERnOUNwZFZBdG9sUHh0VFh5UlJybERDUGJ6bmVyUVV4a2FMYlVV?=
 =?utf-8?B?dGhOR1JKKzRiYm9XZ0RVSERNK3BUbksvZ1FHSlkvdjU2V1RYdWttTUhSVnZt?=
 =?utf-8?B?WHVwYUVtSVBhbTRuNTUrVXBNcGhzRGJRd3FTcjBPejQza0F2MVFGbXpWZDZ2?=
 =?utf-8?B?a01FMkpHNVV2NjJSSXNKc29DeGpSenZnTGEvMGVwVXl3NDA1SGI1K2pubzFv?=
 =?utf-8?B?d29NNkNPVnIzcVJBRlpYbWRXbmlaQnp2ejdISUZCbTdTOEN1S2FyVlloazRS?=
 =?utf-8?B?Y1ZEUzJYVlg4L2dtM0dGTUl6RlhIVXY5TTRHb0xuUG0rL0daZUhhV2M3QWRh?=
 =?utf-8?B?UU1MVXpML3ZxQ1FhQW9PZU5pU3NXbWduZUdTdzJWeE1vMmZKUEpoZnBoTjhX?=
 =?utf-8?B?RVNKVWhNdC93dlo5d2FSQWxDTGNvS0l5cHlXR0thQXNxNG1XSjhXbzdOdzNF?=
 =?utf-8?B?SEJhZlZUWkpWM3RpT29QaXZkb1VFQWN2eGtMYk1hQUFzVmdaRExCWU9YeU51?=
 =?utf-8?B?OGNibFgzMDAvMnVUWnZFUkplZXRNRThBVW5zZlNwR0JuemUrOXhvaVZGM2VK?=
 =?utf-8?B?N3o2Vy91aEs2SUdseDJnYzJKWEoxbStpeVFsS2c4OHdEdEt4RVlaaVJhRk5C?=
 =?utf-8?B?SEw0SjRHUlZ5VlBqbGxwMk9uM2F2bVNQQVVzWDBZZHVXUkpPRkxna1NDQWw5?=
 =?utf-8?B?YVNSMFFKVEpQU3VoWEViT0RnbEpqVk03RkFMU1FBYUh2Rzg3Tk81VWg5Q091?=
 =?utf-8?B?bkNBQWhiSUhVYlh0WFJqZ2NCdXMzWE0vV2tXaFFoODUxbFFxdmcxd2VqU0dC?=
 =?utf-8?B?T2dSQlIvUDAwNG9OaWV3MVpycUR1UzAwcHkwNFFOanU5TSswUTZoMjI5MlVX?=
 =?utf-8?B?VVdNdG91ZVFteS9MSlBQbVBqSjJJQVloZEdjSFVwQzZRZjZwRnp3ZisvRk41?=
 =?utf-8?B?NFdVWVQrd3k1Z1JrUGhEcUJqaGFWZHA4Sjcwa05LckJZb0xndng3Q2NwRXc0?=
 =?utf-8?B?Y3FQVnUzVEdyYU5aMnBmSDJtMlJuNDM5UGJvM0tKK2pSSFJma1c5MjRadzdz?=
 =?utf-8?B?eGNIWUlZZzgrNFRMRkd1cGpKUW5ZU0dZWnpsNFUzbCtCL2R2djRudC9aNk5F?=
 =?utf-8?B?Sk1FRFh6d0FUdXpKRFNwYW1xNmtxdFM0RVlhbEhxNThBYysvM2hzU0ZKRE9y?=
 =?utf-8?B?SDRhWTBKdHR5dU54N0NMRGFqK1MrREl4NVVkZE5PYjdXdXJFWjBleXJBSHYx?=
 =?utf-8?B?cks3U1ZlZzk3R21QekhYOEEyclZiL2Z3MDAvdXJnWS9jekdRQVVDNm1ZYTQ4?=
 =?utf-8?B?UGMwaWJDUjg5VWJlVXVZdmlOSjd3Zmw1bk1RMmVkOW5FcWY3bGN0cXNMaUJ3?=
 =?utf-8?B?bkU5ZnFINFQzd01vVjVBV0Z1QzVnM01xTjJKK3VMeHU5VkdqNkVNQVdoTGF0?=
 =?utf-8?B?T1ltcXdNbEZ2UUhmY05IUVJYQTFNTjRYL3IzazI5Z2xheTQxd3lvdjBrOUht?=
 =?utf-8?B?NlZaSTRnZDFFNlNTR1U1eVBkZlk1Qk9MYlNqNXU2eC8rZ0NSNjhWbkxZWnk0?=
 =?utf-8?B?QWphZjJxeTU1NUs1emJqdHQxOWJTU29MaG02UnY4VkVIWXFFa2JrbE5TNmxr?=
 =?utf-8?B?TnowWE03K3lQWXpqNnZIUG43a2FGd2JVL0hnZFd0TUNrSXJlK2x2S1R3SUIy?=
 =?utf-8?B?S2g1STN3M3NxbXJncFVBZnVIZXNNbTZ3SEZKUUlzbjJhekVDSUhMeW9YaWxO?=
 =?utf-8?Q?wE+hKoFVl2TbTW9pCwkTDieV2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c76555d3-84da-4622-aec0-08db98b9347f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 09:15:42.2094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9FqJ7nKLQu5ZUhT4sA/Xueg3fiPPxb/FUNFc92Enf1PQHrNcd8Y/M6lW9VVDMeg3VAUX/+YlfG96OxAsnf2bbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7604

On 09.08.2023 10:58, Simone Ballarin wrote:
> Il giorno mer 26 lug 2023 alle ore 13:04 Simone Ballarin <
> simone.ballarin@bugseng.com> ha scritto:
> 
>> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose headline
>> states:
>> "A 'u' or 'U' suffix shall be applied to all integer constants that are
>> represented in an unsigned type".
>>
>> These violations are caused by the missing "u" or "U" suffix in unsigned
>> integer constants, such as:
>>
>> xen/arch/x86/hvm/hypercall.c:132.17-132.26
>> if ( (eax & 0x80000000) && is_viridian_domain(currd) )
>>
>> If a rule is not met, changes are needed in order to achieve compliance.
>> The patches in this series achieve compliance for MISRA C:2012 Rule 7.2 by
>> adding the 'U' suffix to integers literals with unsigned type and also to
>> other
>> literals used in the same contexts or near violations, when their positive
>> nature is immediately clear. The latter changes are done for the sake of
>> uniformity.
>>
>> Gianluca Luparini (4):
>>   x86/vmx: address violations of MISRA C:2012 Rule 7.2
>>   xen/vpci: address violations of MISRA C:2012 Rule 7.2
>>   x86/viridian: address violations of MISRA C:2012 Rule 7.2
>>   xen/x86: address violations of MISRA C:2012 Rule 7.2
>>
>>  xen/arch/x86/apic.c                          |   2 +-
>>  xen/arch/x86/cpu-policy.c                    |  18 +-
>>  xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
>>  xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
>>  xen/arch/x86/cpuid.c                         |   8 +-
>>  xen/arch/x86/efi/efi-boot.h                  |   6 +-
>>  xen/arch/x86/extable.c                       |   2 +-
>>  xen/arch/x86/hvm/hypercall.c                 |   2 +-
>>  xen/arch/x86/hvm/pmtimer.c                   |   4 +-
>>  xen/arch/x86/hvm/stdvga.c                    |  50 +++---
>>  xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
>>  xen/arch/x86/hvm/vlapic.c                    |   6 +-
>>  xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
>>  xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
>>  xen/arch/x86/include/asm/apicdef.h           |   2 +-
>>  xen/arch/x86/include/asm/config.h            |   2 +-
>>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
>>  xen/arch/x86/include/asm/hpet.h              |   2 +-
>>  xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
>>  xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
>>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++-----
>>  xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
>>  xen/arch/x86/include/asm/msi.h               |   2 +-
>>  xen/arch/x86/include/asm/msr-index.h         | 180 +++++++++----------
>>  xen/arch/x86/include/asm/pci.h               |   8 +-
>>  xen/arch/x86/include/asm/x86-defns.h         |  24 +--
>>  xen/arch/x86/percpu.c                        |   2 +-
>>  xen/arch/x86/psr.c                           |   2 +-
>>  xen/arch/x86/spec_ctrl.c                     |   8 +-
>>  xen/arch/x86/x86_64/pci.c                    |   2 +-
>>  xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
>>  xen/drivers/vpci/msi.c                       |   2 +-
>>  xen/drivers/vpci/msix.c                      |   2 +-
>>  xen/drivers/vpci/vpci.c                      |   6 +-
>>  xen/lib/x86/cpuid.c                          |   8 +-
>>  xen/lib/x86/policy.c                         |   2 +-
>>  36 files changed, 255 insertions(+), 255 deletions(-)
>>
>> --
>> 2.34.1
>>
>>
> Hi all,
> the entire series has not received yet any feedback or Acked-by.
> I would kindly ask if it is possible to have at least some feedback

I did reply to patch 4 on July 27th. For patch 2, Roger is on PTO for
another week and a half.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 09:42:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 09:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580810.909227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTfhr-0008QQ-KZ; Wed, 09 Aug 2023 09:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580810.909227; Wed, 09 Aug 2023 09: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 1qTfhr-0008QJ-I3; Wed, 09 Aug 2023 09:42:19 +0000
Received: by outflank-mailman (input) for mailman id 580810;
 Wed, 09 Aug 2023 09:42: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=yOKN=D2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qTfhq-0008QD-B9
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 09:42:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06650817-3699-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 11:42:16 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B351921836;
 Wed,  9 Aug 2023 09:42:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 93132133B5;
 Wed,  9 Aug 2023 09:42:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kCURIndf02RZGAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 09 Aug 2023 09:42:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06650817-3699-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691574135; 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=aJf+gy5hzHlvoLiAoq6+3TVdJV6SqJynVwap+TW+0E4=;
	b=dVXwxNLntQlmyAP45Lf67JVbZsy4QL8ZM3tazkZVWSsFn5wRg49XYzP8Vmrki+vpfw/9BN
	z38iVswDxyMy/FUxmW9nci/ZOzybRPeXUKS4u6A78iSlZKXWHxXZICgQXaerF4i8vrEwW7
	3hUSccT+GYF9C0shZj3IZMa1LgZDxvs=
Message-ID: <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
Date: Wed, 9 Aug 2023 11:42:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: fix flexible array definitions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@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: <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0nDYHTuWUPQqKRfboFyLpVSh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0nDYHTuWUPQqKRfboFyLpVSh
Content-Type: multipart/mixed; boundary="------------UEuCEY2Du6AFMDYN7ex7sBPj";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
Message-ID: <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
Subject: Re: [PATCH] xen/public: fix flexible array definitions
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
In-Reply-To: <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>

--------------UEuCEY2Du6AFMDYN7ex7sBPj
Content-Type: multipart/mixed; boundary="------------hmWWbqZGtNCbE2iju17w3Kpw"

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

T24gMjYuMDcuMjMgMDc6NTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNS4wNy4yMDIz
IDE4OjU5LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4gT24gMjUvMDcvMjAyMyA1OjE2IHBt
LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBPbiAyNS4wNy4yMDIzIDE1OjU1LCBKdWVyZ2Vu
IEdyb3NzIHdyb3RlOg0KPj4+PiBGbGV4aWJsZSBhcnJheXMgaW4gcHVibGljIGhlYWRlcnMg
Y2FuIGJlIHByb2JsZW1hdGljIHdpdGggc29tZQ0KPj4+PiBjb21waWxlcnMuDQo+Pj4+DQo+
Pj4+IFJlcGxhY2UgdGhlbSB3aXRoIGFycltYRU5fRkxFWF9BUlJBWV9ESU1dIGluIG9yZGVy
IHRvIGF2b2lkIGNvbXBpbGF0aW9uDQo+Pj4+IGVycm9ycy4NCj4+Pj4NCj4+Pj4gVGhpcyBp
bmNsdWRlcyBhcnJheXMgZGVmaW5lZCBhcyAiYXJyWzFdIiwgYXMgc2VlbiB3aXRoIGEgcmVj
ZW50IExpbnV4DQo+Pj4+IGtlcm5lbCBbMV0uDQo+Pj4+DQo+Pj4+IFsxXTogaHR0cHM6Ly9i
dWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc2OTMNCj4+Pj4NCj4+Pj4g
U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4+IEkg
dGhpbmsgd2UgbmVlZCB0byBiZSBjYXJlZnVsIGhlcmU6IFdoYXQgaWYgc29tZW9uZSBzb21l
d2hlcmUgYXBwbGllcw0KPj4+IHNpemVvZigpIHRvIGFueSBvZiB0aGUgdHlwZXMgeW91IGFs
dGVyPw0KPj4NCj4+IFRoZW4gdGhlIGNvZGUgd2FzIG1vc3QgbGlrZWx5IHdyb25nIGFscmVh
ZHkuDQo+IA0KPiBUaGF0J3MgcG9zc2libGUgdG8ganVkZ2Ugb25seSB3aGVuIHNlZWluZyB0
aGUgY29kZSBpbiBxdWVzdGlvbi4NCj4gDQo+Pj4gICBUaGUgcmVzdWx0aW5nIHZhbHVlIHdv
dWxkDQo+Pj4gY2hhbmdlIHdpdGggdGhlIGNoYW5nZXMgeW91IHByb3Bvc2UsIHdoaWNoIHdl
IGNhbm5vdCBhbGxvdyB0byBoYXBwZW4NCj4+PiBpbiBhIHN0YWJsZSBpbnRlcmZhY2UuIFRo
ZXJlZm9yZSBpbW8gaXQgY2FuIG9ubHkgYmUgYW4gb3B0LWluIGZlYXR1cmUNCj4+PiB0byBo
YXZlIHRoZXNlIGFycmF5cyBubyBsb25nZXIgYmUgb25lLWVsZW1lbnQgb25lcy4NCj4+DQo+
PiBJIGRvbid0IGNvbnNpZGVyIHRoaXMgYW4gaXNzdWUuDQo+Pg0KPj4gSWYgcGVvcGxlIHRh
a2UgYW4gdXBkYXRlIHRvIHRoZSBoZWFkZXJzIGFuZCB0aGVpciBjb2RlIHN0b3BzIGNvbXBp
bGluZywNCj4+IHRoZW4gb2YgY291cnNlIHRoZXkgZml4IHRoZSBjb21waWxhdGlvbiBpc3N1
ZS7CoCBUaGF0J3Mgbm9ybWFsLg0KPiANCj4gVGhlIGNvZGUgbWF5IGNvbnRpbnVlIHRvIGNv
bXBpbGUgZmluZSwgYW5kIGV2ZW4gYXBwZWFyIHRvIHdvcmsgaW5pdGlhbGx5Lg0KPiANCj4+
IEl0J3MgdW5yZWFzb25hYmxlIHRvIHRha2Ugb3B0LWluIGZlYXR1cmVzIHRvIGEgc2V0IG9m
IGhlYWRlcnMgaW50ZW5kZWQNCj4+IHRvIGJlIHZlbmRvcmVkIGluIHRoZSBmaXJzdCBwbGFj
ZSwgdG8gd29yayBhcm91bmQgYSBjb3JuZXIgY2FzZSB0aGF0J3MNCj4+IGxpa2VseSBidWdn
eSBhbHJlYWR5Lg0KPiANCj4gVGhlIG9yaWdpbmFsIGludGVudGlvbiBjbGVhcmx5IHdhcyB0
byBhbGxvdyB1c2Ugb2YgdGhlc2UgaGVhZGVycyBhcyBpcy4NCj4gQW55d2F5LCBJJ3ZlIHZv
aWNlZCBteSB2aWV3LCB5ZXQgaWYgdGhlcmUgYXJlIGVub3VnaCBwZW9wbGUgYWdyZWVpbmcN
Cj4gd2l0aCB5b3UsIHRoZW4gc28gYmUgaXQuDQoNCkFueSBmdXJ0aGVyIHRob3VnaHRzPw0K
DQpJIGhhdmUgY2hlY2tlZCB0aGUgY29kZSBpbiB0aGUgTGludXgga2VybmVsIG1lYW53aGls
ZS4gVGhlcmUgc2hvdWxkIGJlIG5vDQpmYWxsb3V0IHJlc3VsdGluZyBmcm9tIHRoaXMgY2hh
bmdlLCBidXQgSSB0aGluayB0aGVyZSBhcmUgc29tZSB1c2VyIG1vZGUNCmJhY2tlbmRzIG91
dHNpZGUgb2YgcWVtdSB3aGljaCBhcmUgcHJvYmFibHkgdXNpbmcgYWZmZWN0ZWQgc3RydWN0
cy4NCg0KDQpKdWVyZ2VuDQo=
--------------hmWWbqZGtNCbE2iju17w3Kpw
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------hmWWbqZGtNCbE2iju17w3Kpw--

--------------UEuCEY2Du6AFMDYN7ex7sBPj--

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

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

wsB4BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmTTX3cFAwAAAAAACgkQsN6d1ii/Ey9d
Ugf3YTXXAVakgcWvErp4nV8F8vW9Cfa2idmRis5yDuCqVZSN+Xf/oTpyg2lOzmVti7tDQtirsiZu
D3EgofzOF6Y3xwdf9m5NaaynyB55LQPpYTC8G7ZLIHFlFTg3LKoTxTfUKKnjXvVRkzloVOxPx802
684gDeS3x3NDZOoH6EL5QgXoIH4Q+BwCPTC1Bh3kfWfUDcQPcrazVQzQxDULBWUEdj1PPQFKN9/3
QM51Tcd93YDsie0fBNR0VjhtcXK1P1VX/2pykkVGSEs+gLQtmsQsYxjJQWPl544t2z7NbJQN9pn5
1KJSTfqHjfk61gwIWKRaQfPcbas5EoG82Db6EIkh
=cM8Q
-----END PGP SIGNATURE-----

--------------0nDYHTuWUPQqKRfboFyLpVSh--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 09:44:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 09:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580815.909238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTfk8-0000YN-23; Wed, 09 Aug 2023 09:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580815.909238; Wed, 09 Aug 2023 09:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTfk7-0000YG-U5; Wed, 09 Aug 2023 09:44:39 +0000
Received: by outflank-mailman (input) for mailman id 580815;
 Wed, 09 Aug 2023 09:44:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTfk6-0000Y8-ML
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 09:44:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTfk3-00044a-Ug; Wed, 09 Aug 2023 09:44:35 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTfk3-00078e-Jf; Wed, 09 Aug 2023 09:44:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=D3TUk0fVtuJ/htEceC83j6Ej9T9H0oui2/i6dkCkfgo=; b=kYcOaJ7urvmOyu6YfKEd5a5TNh
	5t0ZLDDWkQc+UbDoCAl+sBFFxd9mZZR60NjbsL1vJAI7KtGkp0kKXZ7zpKTRDtxRPjBACnb+bgTy4
	jW5rMEKyj3ngeTT4W1XUu76GugYKAKkOpLdJaHnho+HimlLMAu4npaKNRgXTVqVaxtCE=;
Message-ID: <7e578cfd-b74c-45d6-9b90-9963cff2c8e3@xen.org>
Date: Wed, 9 Aug 2023 10:44:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 4/6] capabilities: introduce console io as a domain
 capability
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Cc: 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: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-5-dpsmith@apertussolutions.com>
 <8951f722-6949-b2b5-f6d4-2d515f085cde@xen.org>
 <7a10af10-27c7-257e-9564-2716c67bb400@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7a10af10-27c7-257e-9564-2716c67bb400@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Daniel,

On 08/08/2023 23:49, Daniel P. Smith wrote:
> On 8/3/23 17:03, Julien Grall wrote:
>> On 01/08/2023 21:20, Daniel P. Smith wrote:
>>> The field `is_console` suggests that the field represents a state of 
>>> being or
>>> posession, not that it reflects the privilege to access the console. 
>>> In this
>>> patch the field is renamed to capabilities to encapsulate the 
>>> capabilities a
>>> domain has been granted. The first capability being the ability to 
>>> read/write
>>> the Xen console.
>>>
>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>> ---
>>> Â  xen/arch/arm/domain_build.c |Â  4 +++-
>>> Â  xen/include/xen/sched.hÂ Â Â Â  | 25 +++++++++++++++++++++++--
>>> Â  xen/include/xsm/dummy.hÂ Â Â Â  |Â  2 +-
>>> Â  3 files changed, 27 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index 51b4daefe1..ad7432b029 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -4076,7 +4076,9 @@ void __init create_domUs(void)
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Error creating domain %s (rc = %ld)\n",
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dt_node_name(node), PTR_ERR(d));
>>> -Â Â Â Â Â Â Â  d->is_console = true;
>>> +Â Â Â Â Â Â Â  if ( ! domain_set_cap(d, CAP_CONSOLE_IO) )
>>
>> Coding style: We don't usually add a space after '!'.
> 
> Ack.
> 
>>> +Â Â Â Â Â Â Â Â Â Â Â  printk("failed setting console_io on %pd\n", d);
>>
>> I find a bit odd that we would continue even if the cap cannot be set. 
>> Can you clarify?
> 
> This is the construction of a domU, so the system is very much capable 
> of coming up and reviewing the hypervisor messages from dom0 to discover 
> the issue. I am hard pressed to believe the hypervisor should be 
> panicked because the domU is not allowed to use the hypervisor's console.

I understand the system may be able to boot. However, the problem is 
that it may take a while to discover that the console is not working 
properly (the more if you only use it for error logging).

So on Arm, we have so always decided to fail early rather than late in 
order to help debugging. So I would rather not change the behavior even 
if this is "just" for the console.

If you expect the console to be disabled, then we should provide a 
property in the Device-Tree to select/deselect. It should not be hidden.

> 
> g>> +
>>> Â Â Â Â Â Â Â Â Â  dt_device_set_used_by(node, d->domain_id);
>>> Â Â Â Â Â Â Â Â Â  rc = construct_domU(d, node);
>>> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
>>> index ec0f9baff6..b04fbe0565 100644
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -472,8 +472,8 @@ struct domain
>>> Â  #define ROLE_HARDWARE_DOMAINÂ Â  (1U<<2)
>>> Â  #define ROLE_XENSTORE_DOMAINÂ Â  (1U<<3)
>>> Â Â Â Â Â  uint8_tÂ Â Â Â Â Â Â Â Â  role;
>>> -Â Â Â  /* Can this guest access the Xen console? */
>>> -Â Â Â  boolÂ Â Â Â Â Â Â Â Â Â Â Â  is_console;
>>> +#define CAP_CONSOLE_IOÂ  (1U<<0)
>> Coding style: Space before and after <<.
> 
> Ack.
> 
>>> +Â Â Â  uint8_tÂ Â Â Â Â Â Â Â Â  capabilities;
>>> Â Â Â Â Â  /* Is this guest being debugged by dom0? */
>>> Â Â Â Â Â  boolÂ Â Â Â Â Â Â Â Â Â Â Â  debugger_attached;
>>> Â Â Â Â Â  /*
>>> @@ -1146,6 +1146,27 @@ static always_inline bool is_hvm_vcpu(const 
>>> struct vcpu *v)
>>> Â Â Â Â Â  return is_hvm_domain(v->domain);
>>> Â  }
>>> +static always_inline bool domain_has_cap(
>>> +Â Â Â  const struct domain *d, uint8_t cap)
>>
>> Coding style: We don't usually wrap the arguments this way. See 
>> domain_create() for an example.
> 
> I was informed it was[1], also, please see next_domain_in_cpupool() 
> amongst many others further below.

The unwritten coding style strike again... I am not sure where the 
agreement comes from. At least on Arm, we have been using the first 
version in that thread and if it can't be wrapped to 80 characters, then 
move the "static inline void " on its own line.

The advantage with the Arm approach is that parameters are always 
indented the same way. Anyway, the way you wrote is not my personal 
preference but I am also not up to bikeshed too much on it. Hopefully 
this sort of style discussion will be resolved with clang-format.

[...]

> 
>> Also, do you expect the cap to be set only when the domain is created? 
>> If not, would you prevent potentially concurrent update to 
>> d->capabilities?
> 
> Currently the only means being devise to set this is via hyperlaunch 
> domain creation. If a domctl op was added to be able to manipulate the 
> caps, then yes a lock on the domain would be advised to block.

Loking at patch #6, you are using domctl there.

> With that 
> said, if we switch over to CAP_CTRL/HW, then it might be good to grab a 
> lock on the domain for the late hardware domain case.

Are you planning to clear the caps? If not, then using set_bit() and 
test_bit() should be enough.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 09:57:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 09:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580822.909248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTfwN-00027O-4H; Wed, 09 Aug 2023 09:57:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580822.909248; Wed, 09 Aug 2023 09:57: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 1qTfwN-00027H-15; Wed, 09 Aug 2023 09:57:19 +0000
Received: by outflank-mailman (input) for mailman id 580822;
 Wed, 09 Aug 2023 09:57:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTfwL-00027B-TE
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 09:57:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTfwJ-0004Pf-EM; Wed, 09 Aug 2023 09:57:15 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTfwJ-0007Xw-57; Wed, 09 Aug 2023 09:57:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7XtZtEZ0xxi5mkadlbZLobdao4529DCHbuutS7ckqi8=; b=U8IoLCHLqtOjHxoSA16platkms
	VQjmM0a7m2hdOAfOlsgqH+stjtMR6CU4fwwG9Vo8pMsP7iprhlzbpk+cbavoBkF9omreAuJCi/A9O
	nAgFJ9uKTb/rpIW3++XOuaYKThROZGp8e0PiDsH/irt6RQoIMEfCjY9YvUtlEtjpsVmM=;
Message-ID: <f7668aa0-bc71-424d-987b-0d9c62d221b7@xen.org>
Date: Wed, 9 Aug 2023 10:57:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a capability
Content-Language: en-GB
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-7-dpsmith@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801202006.20322-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

On 01/08/2023 21:20, Daniel P. Smith wrote:
> Expresses the ability to attach a debugger as a capability that a domain can be
> provisioned.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>   xen/arch/x86/hvm/svm/svm.c      |  8 ++++----
>   xen/arch/x86/hvm/vmx/realmode.c |  2 +-
>   xen/arch/x86/hvm/vmx/vmcs.c     |  2 +-
>   xen/arch/x86/hvm/vmx/vmx.c      | 10 +++++-----
>   xen/arch/x86/traps.c            |  6 ++++--
>   xen/common/domctl.c             |  6 ++++--
>   xen/include/xen/sched.h         |  9 ++++++---
>   7 files changed, 25 insertions(+), 18 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index 27170213ae..9872804d39 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -999,7 +999,7 @@ static void noreturn cf_check svm_do_resume(void)
>   {
>       struct vcpu *v = current;
>       struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
> -    bool debug_state = (v->domain->debugger_attached ||
> +    bool debug_state = (domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) ||
>                           v->domain->arch.monitor.software_breakpoint_enabled ||
>                           v->domain->arch.monitor.debug_exception_enabled);
>       bool_t vcpu_guestmode = 0;
> @@ -1335,7 +1335,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
>           }
>           /* fall through */
>       case X86_EXC_BP:
> -        if ( curr->domain->debugger_attached )
> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>           {
>               /* Debug/Int3: Trap to debugger. */
>               domain_pause_for_debugger();
> @@ -2732,7 +2732,7 @@ void svm_vmexit_handler(void)
>   
>       case VMEXIT_ICEBP:
>       case VMEXIT_EXCEPTION_DB:
> -        if ( !v->domain->debugger_attached )
> +        if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>           {
>               unsigned int trap_type;
>   
> @@ -2769,7 +2769,7 @@ void svm_vmexit_handler(void)
>           if ( insn_len == 0 )
>                break;
>   
> -        if ( v->domain->debugger_attached )
> +        if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>           {
>               /* AMD Vol2, 15.11: INT3, INTO, BOUND intercepts do not update RIP. */
>               __update_guest_eip(regs, insn_len);
> diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c
> index ff44ddcfa6..f761026a9d 100644
> --- a/xen/arch/x86/hvm/vmx/realmode.c
> +++ b/xen/arch/x86/hvm/vmx/realmode.c
> @@ -121,7 +121,7 @@ void vmx_realmode_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt)
>   
>       if ( rc == X86EMUL_EXCEPTION )
>       {
> -        if ( unlikely(curr->domain->debugger_attached) &&
> +        if ( unlikely(domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH)) &&
>                ((hvmemul_ctxt->ctxt.event.vector == X86_EXC_DB) ||
>                 (hvmemul_ctxt->ctxt.event.vector == X86_EXC_BP)) )
>           {
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index 13719cc923..9474869018 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -1912,7 +1912,7 @@ void cf_check vmx_do_resume(void)
>           hvm_asid_flush_vcpu(v);
>       }
>   
> -    debug_state = v->domain->debugger_attached
> +    debug_state = domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH)
>                     || v->domain->arch.monitor.software_breakpoint_enabled
>                     || v->domain->arch.monitor.singlestep_enabled;
>   
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 7ec44018d4..5069e3cbf3 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2041,7 +2041,7 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
>               break;
>           /* fall through */
>       case X86_EXC_BP:
> -        if ( curr->domain->debugger_attached )
> +        if ( domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>           {
>               /* Debug/Int3: Trap to debugger. */
>               domain_pause_for_debugger();
> @@ -2121,7 +2121,7 @@ static void cf_check vmx_set_info_guest(struct vcpu *v)
>        * immediately vmexit and hence make no progress.
>        */
>       __vmread(GUEST_INTERRUPTIBILITY_INFO, &intr_shadow);
> -    if ( v->domain->debugger_attached &&
> +    if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) &&
>            (v->arch.user_regs.eflags & X86_EFLAGS_TF) &&
>            (intr_shadow & VMX_INTR_SHADOW_STI) )
>       {
> @@ -4283,7 +4283,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                   }
>               }
>   
> -            if ( !v->domain->debugger_attached )
> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>               {
>                   unsigned long insn_len = 0;
>                   int rc;
> @@ -4307,7 +4307,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>               break;
>           case X86_EXC_BP:
>               HVMTRACE_1D(TRAP, vector);
> -            if ( !v->domain->debugger_attached )
> +            if ( !domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>               {
>                   unsigned long insn_len;
>                   int rc;
> @@ -4647,7 +4647,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                                 HVM_MONITOR_SINGLESTEP_BREAKPOINT,
>                                 0, 0, 0);
>   
> -            if ( v->domain->debugger_attached )
> +            if ( domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>                   domain_pause_for_debugger();
>           }
>   
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 4229bda159..041ced35ea 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1214,7 +1214,8 @@ void do_int3(struct cpu_user_regs *regs)
>           return;
>       }
>   
> -    if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
> +    if ( guest_kernel_mode(curr, regs) &&
> +         domain_has_cap(curr->domain, CAP_DEBUGGER_ATTACH) )
>       {
>           curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
>           domain_pause_for_debugger();
> @@ -1995,7 +1996,8 @@ void do_debug(struct cpu_user_regs *regs)
>       v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>       v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
>   
> -    if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
> +    if ( guest_kernel_mode(v, regs) &&
> +         domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) )
>       {
>           domain_pause_for_debugger();
>           return;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 505e29c0dc..895ddf0600 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -99,7 +99,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
>           ((d->is_dying == DOMDYING_dead) ? XEN_DOMINF_dying     : 0) |
>           (d->is_shut_down                ? XEN_DOMINF_shutdown  : 0) |
>           (d->controller_pause_count > 0  ? XEN_DOMINF_paused    : 0) |
> -        (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
> +        (domain_has_cap(d, CAP_DEBUGGER_ATTACH) ?
> +                                          XEN_DOMINF_debugged  : 0) |
>           (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
>           (is_hvm_domain(d)               ? XEN_DOMINF_hvm_guest : 0) |
>           d->shutdown_code << XEN_DOMINF_shutdownshift;
> @@ -643,7 +644,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>           else
>           {
>               domain_pause(d);
> -            d->debugger_attached = !!op->u.setdebugging.enable;
> +            if ( !!op->u.setdebugging.enable )
> +                domain_set_cap(d, CAP_DEBUGGER_ATTACH);

 From my understanding, before this patch, it was possible to detach the 
debugger. But now, you don't seem to allow clearing. Is it intended? If 
so, can you explain why? (The outcome would want to be written down in 
the commit message).

>               domain_unpause(d); /* causes guest to latch new status */
>           }
>           break;
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index ebfe65cd73..47eadb5008 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -474,9 +474,8 @@ struct domain
>       uint8_t          role;
>   #define CAP_CONSOLE_IO         (1U<<0)
>   #define CAP_DISABLE_CPU_FAULT  (1U<<1)
> -    uint8_t          capabilities;
> -    /* Is this guest being debugged by dom0? */
> -    bool             debugger_attached;
> +#define CAP_DEBUGGER_ATTACH    (1U<<2)
> +    uint16_t         capabilities;
>       /*
>        * Set to true at the very end of domain creation, when the domain is
>        * unpaused for the first time by the systemcontroller.
> @@ -1166,6 +1165,10 @@ static always_inline bool domain_set_cap(
>           if ( is_pv_domain(d) && is_control_domain(d) )
>               d->capabilities |= cap;
>           break;
> +    case CAP_DEBUGGER_ATTACH:
> +        if ( !is_control_domain(d) )

This seems to be a new restriction. Can you explain why?

> +            d->capabilities |= cap;
> +        break;
>       default:
>           return false;
>       }

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580830.909268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVi-0006sp-7S; Wed, 09 Aug 2023 10:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580830.909268; Wed, 09 Aug 2023 10:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVi-0006si-4i; Wed, 09 Aug 2023 10:33:50 +0000
Received: by outflank-mailman (input) for mailman id 580830;
 Wed, 09 Aug 2023 10:33: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 1qTgVg-0006oL-Is
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:33: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 1qTgVg-0005Ho-6p; Wed, 09 Aug 2023 10:33:48 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgVf-0000jc-VN; Wed, 09 Aug 2023 10:33:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=WDE+FPlIuV/hN9LV2qapinnwY81PAynIDFvx+oUY3q0=; b=2/HvtZVAIIxaq4laM3RlmqP9u/
	KlqMLwy4JjvxKWssqvOY5gbS2KIst6EDtSw8xcXVYDlPTEL/xmqKkpjEFYiny8Z6dCEANSSkIDUnr
	D4P7cDFz0lktOvORmbw1TtcPHWUg1x8y14V4Eza4I+6sgmulDoiXTQ1gbqypVd9Yg4Yo=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 1/2] tools/libs: light: Remove the variable 'domainid' do_pci_remove()
Date: Wed,  9 Aug 2023 11:33:04 +0100
Message-Id: <20230809103305.30561-2-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230809103305.30561-1-julien@xen.org>
References: <20230809103305.30561-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The function do_pci_remove() has two local variables 'domid' and
'domainid' containing the same value.

Looking at the history, until 2cf3b50dcd8b ("libxl_pci: Use
libxl__ao_device with pci_remove") the two variables may have
different value when using a stubdomain.

As this is not the case now, remove 'domainid'. This will reduce
the confusion between the two variables.

Note that there are other places in libxl_pci.c which are using
the two confusing names within the same function. They are left
unchanged for now.

No functional changes intented.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 tools/libs/light/libxl_pci.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 27d9dbff2522..7f5f170e6eb0 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1953,8 +1953,6 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
     libxl_domain_type type = libxl__domain_type(gc, domid);
     libxl_device_pci *pci = &prs->pci;
     int rc, num;
-    uint32_t domainid = domid;
-
     pcis = libxl_device_pci_list(ctx, domid, &num);
     if (!pcis) {
         rc = ERROR_FAIL;
@@ -1966,7 +1964,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
 
     rc = ERROR_INVAL;
     if (!attached) {
-        LOGD(ERROR, domainid, "PCI device not attached to this domain");
+        LOGD(ERROR, domid, "PCI device not attached to this domain");
         goto out_fail;
     }
 
@@ -2000,7 +1998,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
         int i;
 
         if (f == NULL) {
-            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
             goto skip1;
         }
         for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
@@ -2011,7 +2009,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
                 if (flags & PCI_BAR_IO) {
                     rc = xc_domain_ioport_permission(ctx->xch, domid, start, size, 0);
                     if (rc < 0)
-                        LOGED(ERROR, domainid,
+                        LOGED(ERROR, domid,
                               "xc_domain_ioport_permission error 0x%x/0x%x",
                               start,
                               size);
@@ -2019,7 +2017,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
                     rc = xc_domain_iomem_permission(ctx->xch, domid, start>>XC_PAGE_SHIFT,
                                                     (size+(XC_PAGE_SIZE-1))>>XC_PAGE_SHIFT, 0);
                     if (rc < 0)
-                        LOGED(ERROR, domainid,
+                        LOGED(ERROR, domid,
                               "xc_domain_iomem_permission error 0x%x/0x%x",
                               start,
                               size);
@@ -2034,17 +2032,17 @@ skip1:
                                pci->bus, pci->dev, pci->func);
         f = fopen(sysfs_path, "r");
         if (f == NULL) {
-            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
             goto skip_irq;
         }
         if ((fscanf(f, "%u", &irq) == 1) && irq) {
             rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
             if (rc < 0) {
-                LOGED(ERROR, domainid, "xc_physdev_unmap_pirq irq=%d", irq);
+                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, domainid, "xc_domain_irq_permission irq=%d", irq);
+                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
             }
         }
         fclose(f);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580829.909257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVg-0006dv-0q; Wed, 09 Aug 2023 10:33:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580829.909257; Wed, 09 Aug 2023 10:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVf-0006do-UL; Wed, 09 Aug 2023 10:33:47 +0000
Received: by outflank-mailman (input) for mailman id 580829;
 Wed, 09 Aug 2023 10:33:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgVe-0006di-4v
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:33:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgVd-0005GD-Rr; Wed, 09 Aug 2023 10:33:45 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgVd-0000jc-Iu; Wed, 09 Aug 2023 10:33:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=gqsPc6Dj+x+vL8iP4OcWHmHCsnEFSblX9PTtCumU6Hw=; b=Lmrh2S
	AJX525aTBZP1t4wkTfJhtb1SeoM1OvjLmrf1khQRebh3cm/e3F+pkbDebXAD8UFLvwaCNqiHy8GJm
	f5RogIeW6hzfNHq6+milDX4w/JMoxrme4xLlFqe1+Zqi/2tQsI/+vMnMECk8kDvFQwFDWMHUpICXO
	3tvmV6LPVC4=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/2]  Revoke IOMEM/IO port/IRQ permissions on PCI detach for HVM guest
Date: Wed,  9 Aug 2023 11:33:03 +0100
Message-Id: <20230809103305.30561-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This small series is looking to revoke properly IOMEM/IO port/IRQ
permissions on PCI detach for HVM guest. For more details, see
patch #2.

Cheers,

Julien Grall (2):
  tools/libs: light: Remove the variable 'domainid' do_pci_remove()
  tools/light: Revoke permissions when a PCI detach for HVM domain

 tools/libs/light/libxl_pci.c | 146 +++++++++++++++++++----------------
 1 file changed, 81 insertions(+), 65 deletions(-)

--  
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580831.909278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVj-00077v-Eg; Wed, 09 Aug 2023 10:33:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580831.909278; Wed, 09 Aug 2023 10:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgVj-00077o-Bf; Wed, 09 Aug 2023 10:33:51 +0000
Received: by outflank-mailman (input) for mailman id 580831;
 Wed, 09 Aug 2023 10:33: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 1qTgVi-0006sd-2B
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:33:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgVh-0005I9-Tn; Wed, 09 Aug 2023 10:33:49 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgVh-0000jc-Lk; Wed, 09 Aug 2023 10:33: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=MdXl/LIdvThA4/9huGT3jC+CrkA+9dM8EtHZn3fXDBQ=; b=0QjX//y0RAiMGmUeH+NGDbojgD
	frnXw4yz11KsytPMO53DMTb+n0idG8h5Neec06evTsgzcwrXm6QAIO3QRf4UYrTTc65xlmM9X63rl
	H80IQXc239uajd++L9zxnjag4puAEONZaY9ibGihVgtKumIzErBfFjGZwA6qbX64tJHg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for HVM domain
Date: Wed,  9 Aug 2023 11:33:05 +0100
Message-Id: <20230809103305.30561-3-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230809103305.30561-1-julien@xen.org>
References: <20230809103305.30561-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Currently, libxl will grant IOMEM, I/O port and IRQ permissions when
a PCI is attached (see pci_add_dm_done()) for all domain types. However,
the permissions are only revoked for non-HVM domain (see do_pci_remove()).

This means that HVM domains will be left with extra permissions. While
this look bad on the paper, the IRQ permissions should be revoked
when the Device Model call xc_physdev_unmap_pirq() and such domain
cannot directly mapped I/O port and IOMEM regions. Instead, this has to
be done by a Device Model.

The Device Model can only run in dom0 or PV stubdomain (upstream libxl
doesn't have support for HVM/PVH stubdomain).

For PV/PVH stubdomain, the permission are properly revoked, so there is
no security concern.

This leaves dom0. There are two cases:
  1) Privileged: Anyone gaining access to the Device Model would already
     have large control on the host.
  2) Deprivileged: PCI passthrough require PHYSDEV operations which
     are not accessible when the Device Model is restricted.

So overall, it is believed that the extra permissions cannot be exploited.

Rework the code so the permissions are all removed for HVM domains.
This needs to happen after the QEMU has detached the device. So
the revocation is now moved in a separate function which is called
from pci_remove_detached().

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

---

TODO: I am getting a bit confused with the async work in libxl. I am
not entirely sure whether pci_remove_detached() is the correct place
to revoke.

TODO: For HVM, we are now getting the following error on detach:
libxl: error: libxl_pci.c:2009:pci_revoke_permissions: Domain 3:xc_physdev_unmap_pirq irq=23: Invalid argument

This is because the IRQ was unmapped by QEMU. It doesn't feel
right to skip the call. So maybe we can ignore the error?
---
 tools/libs/light/libxl_pci.c | 142 ++++++++++++++++++++---------------
 1 file changed, 80 insertions(+), 62 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 7f5f170e6eb0..f5a4b88eb2c0 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1943,6 +1943,79 @@ static void pci_remove_stubdom_done(libxl__egc *egc,
 static void pci_remove_done(libxl__egc *egc,
     pci_remove_state *prs, int rc);
 
+static void pci_revoke_permissions(libxl__egc *egc, pci_remove_state *prs)
+{
+    STATE_AO_GC(prs->aodev->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    const libxl_device_pci *pci = &prs->pci;
+    const char *sysfs_path;
+    uint32_t domid = prs->domid;
+    FILE *f;
+    unsigned int start = 0, end = 0, flags = 0, size = 0;
+    int irq = 0;
+    int i, rc;
+
+    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource",
+                           pci->domain, pci->bus, pci->dev, pci->func);
+
+    f = fopen(sysfs_path, "r");
+    if (f == NULL) {
+        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
+        goto skip_bar;
+    }
+
+    for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
+        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
+            continue;
+        size = end - start + 1;
+        if (start) {
+            if (flags & PCI_BAR_IO) {
+                rc = xc_domain_ioport_permission(ctx->xch, domid, start, size, 0);
+                if (rc < 0)
+                    LOGED(ERROR, domid,
+                          "xc_domain_ioport_permission error 0x%x/0x%x",
+                          start,
+                          size);
+            } else {
+                rc = xc_domain_iomem_permission(ctx->xch, domid, start>>XC_PAGE_SHIFT,
+                                                (size+(XC_PAGE_SIZE-1))>>XC_PAGE_SHIFT, 0);
+                if (rc < 0)
+                    LOGED(ERROR, domid,
+                          "xc_domain_iomem_permission error 0x%x/0x%x",
+                          start,
+                          size);
+            }
+        }
+    }
+    fclose(f);
+
+skip_bar:
+    if (!pci_supp_legacy_irq())
+        return;
+
+    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                           pci->bus, pci->dev, pci->func);
+
+    f = fopen(sysfs_path, "r");
+    if (f == NULL) {
+        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
+        return;
+    }
+
+    if ((fscanf(f, "%u", &irq) == 1) && irq) {
+        rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
+        if (rc < 0) {
+            LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+        }
+        rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
+        if (rc < 0) {
+            LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+        }
+    }
+
+    fclose(f);
+}
+
 static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
 {
     STATE_AO_GC(prs->aodev->ao);
@@ -1968,7 +2041,6 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
         goto out_fail;
     }
 
-    rc = ERROR_FAIL;
     if (type == LIBXL_DOMAIN_TYPE_HVM) {
         prs->hvm = true;
         switch (libxl__device_model_version_running(gc, domid)) {
@@ -1980,75 +2052,19 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
             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;
-            return;
+            if (!rc) return;
+            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             pci_remove_qmp_device_del(egc, prs); /* must be last */
             return;
         default:
             rc = ERROR_INVAL;
-            goto out_fail;
+            break;
         }
     } else {
-        char *sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pci->domain,
-                                     pci->bus, pci->dev, pci->func);
-        FILE *f = fopen(sysfs_path, "r");
-        unsigned int start = 0, end = 0, flags = 0, size = 0;
-        int irq = 0;
-        int i;
-
-        if (f == NULL) {
-            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
-            goto skip1;
-        }
-        for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-            if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
-                continue;
-            size = end - start + 1;
-            if (start) {
-                if (flags & PCI_BAR_IO) {
-                    rc = xc_domain_ioport_permission(ctx->xch, domid, start, size, 0);
-                    if (rc < 0)
-                        LOGED(ERROR, domid,
-                              "xc_domain_ioport_permission error 0x%x/0x%x",
-                              start,
-                              size);
-                } else {
-                    rc = xc_domain_iomem_permission(ctx->xch, domid, start>>XC_PAGE_SHIFT,
-                                                    (size+(XC_PAGE_SIZE-1))>>XC_PAGE_SHIFT, 0);
-                    if (rc < 0)
-                        LOGED(ERROR, domid,
-                              "xc_domain_iomem_permission error 0x%x/0x%x",
-                              start,
-                              size);
-                }
-            }
-        }
-        fclose(f);
-skip1:
-        if (!pci_supp_legacy_irq())
-            goto skip_irq;
-        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                               pci->bus, pci->dev, pci->func);
-        f = fopen(sysfs_path, "r");
-        if (f == NULL) {
-            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
-            goto skip_irq;
-        }
-        if ((fscanf(f, "%u", &irq) == 1) && irq) {
-            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
-            if (rc < 0) {
-                LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
-            }
-            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
-            if (rc < 0) {
-                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
-            }
-        }
-        fclose(f);
+        rc = 0;
     }
-skip_irq:
-    rc = 0;
+
 out_fail:
     pci_remove_detached(egc, prs, rc); /* must be last */
 }
@@ -2242,6 +2258,8 @@ static void pci_remove_detached(libxl__egc *egc,
     if (rc && !prs->force)
         goto out;
 
+    pci_revoke_permissions(egc, prs);
+
     isstubdom = libxl_is_stubdom(CTX, domid, &domainid);
 
     /* don't do multiple resets while some functions are still passed through */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:44:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:44:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580847.909288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgfv-0000q6-EV; Wed, 09 Aug 2023 10:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580847.909288; Wed, 09 Aug 2023 10: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 1qTgfv-0000pz-Bj; Wed, 09 Aug 2023 10:44:23 +0000
Received: by outflank-mailman (input) for mailman id 580847;
 Wed, 09 Aug 2023 10:44:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTgft-0000pt-IK
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:44:21 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afb77466-36a1-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 12:44:17 +0200 (CEST)
Received: from mail-bn8nam12lp2176.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 06:44:14 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB5027.namprd03.prod.outlook.com (2603:10b6:408:db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 10:44:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 10:44: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: afb77466-36a1-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691577857;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=XkIoWwn3MaIHGEJIW6OGud/vIUMx5fHuhQewOctn+8E=;
  b=EsVi9boNbCGaBPENBp96stJgmMZEZvog93umWTlVwtrSrkMB1PxAZt02
   vlshItieR+Rb2vcdLgvyYkXcZLe7z3R3FMoxY/GdM8ieBGEBcR6J5xUZl
   d39wg6LG88HIDg5qhXEksdGCpparKQ6zvcvEcGdZmgIPr1TH+S/zZ+Riy
   M=;
X-IronPort-RemoteIP: 104.47.55.176
X-IronPort-MID: 118857517
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+e4jJaJ/w747KhD/FE+RxJUlxSXFcZb7ZxGr2PjKsXjdYENSgjADy
 WseXj+Cb67bMWeheNx3Pdiz9UxUupKDy9IwSAtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRvPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4uC05U2
 PggBAwCdzCJv+vqnq6ccbBV05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGMkmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHqrCN9NSeTnnhJsqHGU/2MJJDAsbEG6hvOlt2mPR8hAK
 XVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S2+Z97qShSO/P24SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMS706
 yCHqm45nbp7pcQGzbmh9FbLxTelvIHUTxUd7x/SGGmi62tRbomvbZ2l8ljf4PNJKq6WS1CAu
 D4PnM32xOkKDIqRnS2XBusXFbei5u2tLzHXx1VoGvEJ/DOr/XmhcYlO4SpWK0JgM8JCcjjsC
 GffoRhU5YNTFHKyYLVrfpmqDMA30annE8+jXffRBvJVa554bxOO5yBpTVSZx3zqikUqnqA5N
 JqBcMCjS30dDMxP0j2yQOsM1K4x8So3z2jTWJPTwgyu1PyVY3v9dFseGF6Hb+R85qXUpgzQq
 oxbL5HTlEsZV/DiaC7K94JVNUoNMXUwGZHxrYpQa/KHJQ1lXmomDpc93I8cRmCspIwN/s+gw
 513chYwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:n7aLdK1xF4PltBIio5AETAqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-Talos-CUID: =?us-ascii?q?9a23=3AJq5NuWtqW4yC7fhEWOFk5Vwu6It8eFLH4XPoD3O?=
 =?us-ascii?q?3EEZjcLTJF0O3w/pdxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AjkXS6w/T+a5K/jdpFEKaVdeQf+tv2qu0JG03qI8?=
 =?us-ascii?q?HnMOYCAtBJy2Cjg3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,159,1684814400"; 
   d="scan'208";a="118857517"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VLT+UIxaHvAnQMYtx8sI1OIKmb0jBfDI1TfG9rpkvH1NDHv3uAB42UyAvnFbqtn2M2Z1S8QI/xUd4tkaS/Ze5plyBMUGtQqfde38w0Je6m/vBoGRUrk2mvFBHelI8jyRE0QdTMSvkBy9rhHg2yL7JVOGvCZxY2uR2RgXquRP3XkDiu13cwFXqI4cLPuHsh5a741ZUDrlHJqTJEEWczG3BbuNJfeclkpO06SKOHt2CwISQR4tG+oHSV/+8irSxqon/cop9nYikSJoxL3xlYDA+yrwdyi4837JX+Q0/qD0lfWBHytORfnoqnUNuI1/Yk2AQeTHUU1TlXrbPt+V2IFR6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XkIoWwn3MaIHGEJIW6OGud/vIUMx5fHuhQewOctn+8E=;
 b=AAqsCtK7XDrJb7MFXjIkTcTqWt9+bnx7CMi1uG9n9C8CYtC2Ded+AQYxDUexfBLaLYZz+qcQal7lCdO7PKKqpeLZTngLfLvjA7YLX2I9VNxS7q4VKOLtmedfn2/4Ieg5xGmTnQKX+c6OxYa/vjwlbSLH6qz7qYJe2jwmMVzq6B/eb++T8nIUo2t7ofl5zbfMG7hdQjbNqb7P0KG87CqtBKG5pZN++wls642CjezrszfSaG/Y+e8dWTWjccNxV8mJ7uKjr27WI6oIpydAcNDRuSVSUFZTBmEAv80tEjrwgonlbs3PiLk6VJ5yRPNQoIJfJHvOGGwH+4y6Wp0MNx/71w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XkIoWwn3MaIHGEJIW6OGud/vIUMx5fHuhQewOctn+8E=;
 b=p6ZX9pKuuQ2qGDKPKTKIG9mGpZXEd13A/Vkop3SKmJsxnrspZsLwBev9Q/W1NgYxaFGEEvnPHXEmeWiYyMw0pOTFZ7w5ghvVEQ6GGtE60gkS8Fyc5nHRk/WcCi1rhTggUgqhCBLku7uUtTnbAxRW+oICWrfxuN+/1kIDAjxojSA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5c4ebc77-0a1f-0b66-7423-966e88091644@citrix.com>
Date: Wed, 9 Aug 2023 11:44:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
In-Reply-To: <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0018.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:150::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN8PR03MB5027:EE_
X-MS-Office365-Filtering-Correlation-Id: 7983e89a-d755-446f-45f8-08db98c590f0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LaSwZATaDHM1W2bOVvMKIX7SmnA6XjeS/5r/3cXIgr7B9b/GDbbUdekvO4KBtzejaRx6uqHP9yjJsyNG+IJNLch3gl/8xKdX28noQWlcDpXB0CmCvWFg1D0AILU41yI/rvx64zOdvpeLw2ItKDyrwDgFDNyroOMYSdtW93dU1s5PEYZEoI4SRJSc01cyM1MHHeRiAtrLjyZhrAhhCVSjjOPKLLRKO/d//SV9WVyYNuaLeXy9TKeqc8YlN3fXtOccwWOP0yqmxNSD5cJp/gLSRaGxGo8jwE+bwiV2b8llgqGxCkIh9dkRboNOvt6+EuKSO9Vbf4yYTmRkDX3oykODeEGBn7oxrgZnx99aOF6WCa8Dx86Mz5PV3ghFSQ8yhPlFMxMA8mI2oxZaj3y//u/dJ+NcdYwahZ7OLktwhUBx5DE97Ix4YgfTR9KxMJAlPZiljmEEYMR/O3aPqc0aiDtCcnY4YkF+v6un3f3PmXx28mE0pFeQI0ROhDtBLNZ9yiKAoNeiqKXstjvHF4RhcxiE+1oqN7jX27VFfbC67sIGETMZi5AuT1DM14TA5RaUw1DJW2wr1PCswUoEGEO9mOblgyv23Y/1Dv+zhRwkQHHFxHKt9pyd8fy+DfaK1AvVLnvuZTJkpjY9OzB/hFaYchfr/A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(136003)(39860400002)(376002)(346002)(1800799006)(451199021)(186006)(8676002)(31686004)(478600001)(8936002)(66476007)(36756003)(4326008)(66556008)(86362001)(31696002)(66946007)(5660300002)(7416002)(41300700001)(110136005)(316002)(4744005)(54906003)(2906002)(82960400001)(6666004)(6486002)(6512007)(26005)(6506007)(53546011)(2616005)(38100700002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emt5bDEvVTNoNFZyNG9KeW9tbnp5YjF0R2xxN0RaUlhBdXNOcWNwT3pqQ1cz?=
 =?utf-8?B?VUVBektoYU1Ic0ZibnRzMjAyRHdMNUljY242RmUvWEZObTRuWWdzZldoUHBn?=
 =?utf-8?B?ZkdXb3NPOWU1blBNTjFCcGFSanFHbXNDVk1vb09VQ0hpN2hKcnZSYVpESGhr?=
 =?utf-8?B?cGRxeUJWY2ZZRjlucXRkczhiMWRiWGlWdFpNOWJ4SU9QK0Y0MW1PcEQzOTRD?=
 =?utf-8?B?RENoWkx3QUtBWjBXOU1MYTRlbzIvRlBsYmZCNkdkdENxWXlwYVdWOUVzNGxK?=
 =?utf-8?B?RW1qTHppL3NIUHMzQXMrVnhteXpJSXRQaTF2TWQvOGV1cnlBVlplTUtyOTdZ?=
 =?utf-8?B?NmQreHYwaER5a1NmamxZdHhwaDZsRlJRc2FxalB5SnAwMVpSbUVrQ2tHVkd3?=
 =?utf-8?B?RGY0QzRnWUVGWkVmTDVCY2FRTUUxR3ZhTk8zSndQTDBSS29VQXMxRmo4MVlI?=
 =?utf-8?B?Q2lOZWdQbDNhWFoxc0NBcXB2MnNXcnhOeW14Um9lRkdpMCszOUNMWndJVStR?=
 =?utf-8?B?RVNmZnBxTmMwL2d5ME1lZUJSdmxhc1lROVQvNytTd2RidEUrYTNwSE55blBw?=
 =?utf-8?B?SlJLMlltQW1ldVViOGlSRFp2bWdYRmhlRkhmRU9WQWxuUHQ5dlJFSkIvL3ND?=
 =?utf-8?B?RDFzM25XTmlXOHVVTDFFT1A2SjJnUnFkOVRRcWFYNUdaSHVPekkrVkhNRUFS?=
 =?utf-8?B?dkpzcmRYVktUeTVFTTZPTnRaaVJ0a1lBeW9maFgxVnVpK0Z5Z0YxNnNTdk1P?=
 =?utf-8?B?dEdwbDB5OGV1N1RvUVNnNE5USWdwZ1E2WlZoRzAydlpRUytWMzhRNzdjc2Fh?=
 =?utf-8?B?NEg5SzkwaExGQnl5NHI4ZmszUGRaRnZyWXo1QTdVV1UveEYwM01nb3FNQU5j?=
 =?utf-8?B?c0ozZDJ4LzEvTEtDOFVyNjBpZjlEL0lycHlBQ1dNUVRyUUZsT3dHU2ZEMFJo?=
 =?utf-8?B?WWdZcFpNN1FuYWY0ZEIzNnlGMTNDcVlMQVdwOXgzOUxuUWsvVEExOHp3WjBP?=
 =?utf-8?B?V1BuejRPQklnU25CWG5Hek4zYk1scUpCNWRxLy9MREdiQXQ4a1hrdnhDM0Nq?=
 =?utf-8?B?TFRRWGRwNDI1ellESUNqVHdmZit2TU1tR0ZGaE15eHFsMEZ6cWJmd0Vya212?=
 =?utf-8?B?bFhyM2FEd2gwWUtYNHpKaWdFV0gvU0UvcVNqOFFjWXJSK2NRRmNReStGYlRh?=
 =?utf-8?B?YmRxd2xiVmdXaGdRZHE3LzAyTms1SWs3SHl0elhHeVZoazRKU0hpbndmZjBi?=
 =?utf-8?B?b3BhUWZkQkpCTUhIRkpiYkZZeFVreUxtS1BWWFdKME5ySmxUR05kdkY0bXc1?=
 =?utf-8?B?R29OM1BVbzJzZlNlWFpsRktyRXhPN0ZOTFFsRmNPcjN3TFlZUkJrMGg0bzgx?=
 =?utf-8?B?TEJOZUcrV1cyRkdQTmFPa05SbS80MHExT2ZBM1ZtaXp3T09BUFF3Wm1ENTEv?=
 =?utf-8?B?VWE0azk0ZEZvWWcwNk9peTFWUm93RGU2VXd4aE5JUS9Pei93aGgvaXMyZU42?=
 =?utf-8?B?Y3hNcTIzRWVrYVJ3VEgwamZuU0NMQmZ1Zzl5cWk4VUVIbDRUWDE4ZVRwSzZQ?=
 =?utf-8?B?eTQvU3hmRjYrbk1yT2FVZ0JLaXR5aXFaMG9YMGp2eG1jT1NnWXUwOVBocTdh?=
 =?utf-8?B?Tzl4RTRDWGFqaVM4eWlZU3VZZlNzcGhLTXlDQytKSTl4TEU2S3VBSzIySlkr?=
 =?utf-8?B?bkRoMG9qK29VN3VxZm1zY2hDMjZaaDRrUHdkMFZWTi84bkpLL3hQeFNHdW9G?=
 =?utf-8?B?SkFOM0YwdE1qU3owWUtPSDhmVUdaZGRtOS9JejBQS0VrbEQ1MHc3NGFyMm5D?=
 =?utf-8?B?Y21pSGhFTU94TTQ5ZlkvNmE0S2NrQml0OGVJS2drSE80ZnIzSU9xUGJCazdP?=
 =?utf-8?B?bHdMc25EQ3VUYy8zRUQzM0ZCTmVKSVVMZVVWeHltZFYwa2x3b0wzU3VpV0lm?=
 =?utf-8?B?WnlobDZCSzJDOHdwalo3Mm1zR05NbytXVGh2NnBrSjNDTlJjOEtlSmx1Nm9v?=
 =?utf-8?B?NUVONFpWZmhDR0w3RTgrNUlBK3cvQk1QT085Y28rUXlKUjd3ZmZnbXhUM0VF?=
 =?utf-8?B?eE1uMWJpcWx6aEFVUU1mK3FUMkFNVkIvSGxOREc5R25aRmJUZFkzNHR3Nko1?=
 =?utf-8?B?RDdtYmR0U2xNbm5ta0E5VklxN1IxeEdYbHRmR2UyRjFFV1Z2N0VXVU01ZmU4?=
 =?utf-8?B?Unc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?SFBNT0tnV1Y5R0RnWFdzaU04NzJ1Q2lpbno0aUlLVTAxRTNTbjFoQzI4WEtL?=
 =?utf-8?B?b3dKQkZKeXJmVWRRMEZicXM5ZFVRdEM5dXJ2QUNNQXV0Z2J0Wkp5V2tVNUt6?=
 =?utf-8?B?YTR6a3dWcjI5RkxNWVhBRnVUcll2ajkwbHJaMkpNY0dMMW1LMTZzVkZpZXNh?=
 =?utf-8?B?MTR1RVREWmNwbG1JN1ZRVzdkM0x6Tm5ZdDJUTExJUXVJOGJJWEFESmc1YW1k?=
 =?utf-8?B?aDZWRHJoTDVkUVNySlNYKzJLYjh2NkNNalhyZ0NLeE1pOGlqUm1ucGh1cHhm?=
 =?utf-8?B?OTRRWVdncmdlYTQ3WllqT0d5cFZMZmQzbm9iWUtwYkxDZSttODl4RHhIZ25R?=
 =?utf-8?B?aVcyMEFNbU4vK0pSbDhMVDgrUjdGMzAvSmtFNk9pNkxmbCs1RTF1eFNDR0l1?=
 =?utf-8?B?ZURqMCttT3F1VTVtUXpxOVJLWXBrRndKRG5JY3pTVThpN2VQeXBJUDJMaUR0?=
 =?utf-8?B?a0lyS2pRVGI5TStlamtSYitsZGxJOE0rdzZmdTBmY2pxNG5jdDhkUDVkNHRI?=
 =?utf-8?B?bStNZVZxN1BXWmQvZHoxa2s1cE1qN05JcFVZVG8zY3BBQ3ZMR0FZNDV3ZVNp?=
 =?utf-8?B?eHYxUzFlaXFJK1B5UlJaQ1FuT1hPZ3pWcGxoWFgvVnBLeWJQVDNtajNkSTE0?=
 =?utf-8?B?WVlyd3F2eXRuSDAzejZxS2dhbC85bVZERzEwTG5GSUxNZHJmTzVTSjU3a2Mr?=
 =?utf-8?B?OGduOU5laWhhd3RGaHA3aG9Qd1B2RTJsNVQrUThac1FWdzdpVnNubTdoRVht?=
 =?utf-8?B?WFhxQmJUQXZkMmZzc2ZGNmpoYnVqeTRsdHEyWWJ1d2tEdit0Nm5oeHNtQ3pv?=
 =?utf-8?B?dFk3dTVSdmwrSnA4OTR3czhFZUdqYllzWHZwNW53QVRHTXV6Y0pONnI3a00x?=
 =?utf-8?B?MmxlZkFYTWlhK2UzZGcyYmgzenFJQVVib1BmNnJLYTBYc25FUUZXSFFJeSt6?=
 =?utf-8?B?bnZ3ZVZxTzg1ZU4wV1J5TlNWd3ZtQmhWVExYWjY4NHF3S0taQkhFcG9UQWsx?=
 =?utf-8?B?Rk9DOFF3N3pUY2pmNXdJOXU4RGVhTEVaNElMWFJiOHE2K1d3aWRNSEhZTWVC?=
 =?utf-8?B?SGdhYmdrcTQya2VoVzU3bjA0YllUTzg3eU9ya1ZaUnhBZkRTOFZKV2Jod2pN?=
 =?utf-8?B?T2JWd0ZCMk5URUJWZFhvYWhPeWoxZVlPZnFiaVVVV3duRU4xZ3pVUnZISzlo?=
 =?utf-8?B?WVpjcjRmdFNBOGNtN2RiR3pUZ2hmMWxvTzZJSG10NE1jak1jTklpMlBvY2VF?=
 =?utf-8?B?bFUwc1I4NXh2ZWJOVjVyUTBVSHRBM1pnWWNHdThZR0NaakdrTVhHeDh2bmdl?=
 =?utf-8?B?MjVydXJQRjhxSnRMKzNjSmpEeWVyRFRvWjdwMTJGUFNySCtsUCtuVWIrTm5Y?=
 =?utf-8?B?NFRGWGFXN0xCRDZ0MjdNd3dhZkhTMDF4VndDeHduVmU5ZG4xWjhPWE0zTUZj?=
 =?utf-8?Q?E8QjB/k3?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7983e89a-d755-446f-45f8-08db98c590f0
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 10:44:11.5819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oPxF0dyqjIfu+mDmbfEmougRCiMsfz/wp0SqeLhpuUoOYvc7t4pK0vfgJA4ZQR+rgmK9iziyzyg0B6dmqaNOygF8B+2LKV8bftNHCLgk2+o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5027

On 04/08/2023 7:08 am, Jan Beulich wrote:
> Have these in one place, for all architectures to use. Also use the C99
> types as the "original" ones, and derive the Linux compatible ones
> (which we're trying to phase out). For __s<N>, seeing that no uses exist
> anymore, move them to a new Linux compatibility header (as an act of
> precaution - as said, we don't have any uses of these types right now).
>
> In some Flask sources inclusion of asm/byteorder.h needs moving later.
>
> No functional change intended.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:49:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:49:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580854.909298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgkx-0001Wh-5s; Wed, 09 Aug 2023 10:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580854.909298; Wed, 09 Aug 2023 10: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 1qTgkx-0001Wa-2i; Wed, 09 Aug 2023 10:49:35 +0000
Received: by outflank-mailman (input) for mailman id 580854;
 Wed, 09 Aug 2023 10:49:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgkw-0001WU-4p
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:49:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgku-0005jW-3X; Wed, 09 Aug 2023 10:49:32 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgkt-0001uy-Nv; Wed, 09 Aug 2023 10:49: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=T/l5dC5R+z0cxfPQVXXu9+fyUqoj8QwUNxzt6UeKQLY=; b=0E+VQmLqKceQBcVvCXHHysESZn
	5B7+z8gK4bL7suJGmyLlSzc3K7hVMeXOe6PooEJKbzos998bPw9p/Z6sxK45j/NNwiDG1hGPMcxxC
	EPCmOGr/5AMGM0Scy3BsxgculZ6N8lM5/n6nc9lKuK7SEeQTPORJMBGxcT+HGyNR/mKA=;
Message-ID: <115e080e-ecba-4117-9d43-9888f82c8d5f@xen.org>
Date: Wed, 9 Aug 2023 11:49:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 04/08/2023 07:08, Jan Beulich wrote:
> Have these in one place, for all architectures to use. Also use the C99
> types as the "original" ones, and derive the Linux compatible ones
> (which we're trying to phase out). For __s<N>, seeing that no uses exist
> anymore, move them to a new Linux compatibility header (as an act of
> precaution - as said, we don't have any uses of these types right now).
> 
> In some Flask sources inclusion of asm/byteorder.h needs moving later.
> 
> No functional change intended.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

With one remark:

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

> ---
> v2: This is the residual (extended to PPC) of an earlier larger patch
>      which was partly replaced by introducing xen/stdint.h.
> 
> --- a/xen/arch/arm/include/asm/types.h
> +++ b/xen/arch/arm/include/asm/types.h
> @@ -1,18 +1,7 @@
>   #ifndef __ARM_TYPES_H__
>   #define __ARM_TYPES_H__
>   
> -typedef signed char s8;
> -typedef unsigned char u8;
> -
> -typedef signed short s16;
> -typedef unsigned short u16;
> -
> -typedef signed int s32;
> -typedef unsigned int u32;
> -
>   #if defined(CONFIG_ARM_32)
> -typedef signed long long s64;
> -typedef unsigned long long u64;
>   typedef u32 vaddr_t;
>   #define PRIvaddr PRIx32
>   #if defined(CONFIG_PHYS_ADDR_T_32)
> @@ -34,9 +23,9 @@ typedef u64 paddr_t;
>   #endif

I find odd that you don't add a newline before/after #endif here but...

>   typedef u32 register_t;
>   #define PRIregister "08x"
> -#elif defined (CONFIG_ARM_64)
> -typedef signed long s64;
> -typedef unsigned long u64;
> +
> +#elif defined(CONFIG_ARM_64)
> +
>   typedef u64 vaddr_t;
>   #define PRIvaddr PRIx64
>   typedef u64 paddr_t;
> @@ -44,6 +33,7 @@ typedef u64 paddr_t;
>   #define PRIpaddr "016lx"
>   typedef u64 register_t;
>   #define PRIregister "016lx"
> +

.. you add one here. But this change looks a bit unrelated and IMHO of 
out context.

>   #endif
>   
>   #endif /* __ARM_TYPES_H__ */
> --- a/xen/arch/ppc/include/asm/types.h

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:51:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:51:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580859.909308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgmJ-0002uV-GJ; Wed, 09 Aug 2023 10:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580859.909308; Wed, 09 Aug 2023 10: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 1qTgmJ-0002uO-DT; Wed, 09 Aug 2023 10:50:59 +0000
Received: by outflank-mailman (input) for mailman id 580859;
 Wed, 09 Aug 2023 10: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTgmI-0002uI-0R
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:50:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9dc98129-36a2-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 12:50:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9067.eurprd04.prod.outlook.com (2603:10a6:10:2f2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 10:50:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 10: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: 9dc98129-36a2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RFe4HA4Y49KLAaP1LuMJtKAY6YGczGurCwJOeG6H0xwN5CeIqNuOIhdboQF3px3elN+vZ9eMqwNnZ3lHG6GwA7ziG22i77EYeYU2tUfHLFigCSnzAVno5LkpP2/X5VFQ/D59k1zTxYCFjjrZQO+fFuKLtTFYuq2be4+7+A0bRGZH3x3U28Ad+AR5wCX+T3ziNjFiQH+bHMaO25HBBrj+Jo5G6nsxln5ZulnOJF4OnSRDA8N/SNRnSjpkzZRc/WodtGUzLjQ3QgL1hzi3a9dqKDBmAnn5/jJa/6IMoHEi+1FgmLcqtZWsazY3fS0p9sF7PBFqSBGy9SmBQNiWUrYktg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C1GQHusw4elOucUIan9J4ndko7DdBkW3IAgTLctyzHs=;
 b=nD/Zp7rHCIbGfpbqcbsSBRB27l3c4gzq1WVMupY1pg+Wck/WSr/yjZ0aft502S+uiSJDAtb4AQxhnmZqCXsuwlsPB7gukQxU7cet/RkPGgpKZbgzEUNWV8dlet0j0KVcNEKbBeLmmYLNj7AqILV1hfXyb1waGqcV349OkXJ3FKDV1zj/7hiPqehM9GcPp5GQIAMPOtLE8W5PnifcjQfvzfWNaWOArilR9RceKzNuZ9FGTD88vyxVxwVsRT02BJDtMMPO5pbUgDHil2B/uK4X8eHiP7Ri7+XOFTwkAhA+IO2SDtq34vK4X8p8ZXJFf5cpyxbhOzMes02c4XC5gkRMoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C1GQHusw4elOucUIan9J4ndko7DdBkW3IAgTLctyzHs=;
 b=HxfG28qdVGP1y3/JAj/I/03DarTyYxsELd6RB31neVHar7Jsl4hgqBclfMqD73xHRj4Wc8Y5NBHo1x/ENMooeeLhLc8J0vl4uaFOxHtcFj7ekoZs5yVN0PA8ac3YXUSmhJj6I0ynO0fGQVFESmEWQoKmz2LqB1YxDbxiaXeiUQsoCY+QwmLMUgD+ztYl/hcBUn/IghoznksKxOBBLiJroku485xT6TQmH8somaaK0SmjNQnAh0l5NPgyzYy9SmJcfudMmkddkxaxp463+mrpi59UBuGN178+Tqolz9yPcOUhXyMYMhPNa/IkOZWU9QVbV/3tj51k/DzHj7IMMe7bSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a62ca6f0-765d-16bc-a5d4-e1ca9303de6a@suse.com>
Date: Wed, 9 Aug 2023 12:50:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] move PAGE_ALIGN() to common header
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0240.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9067:EE_
X-MS-Office365-Filtering-Correlation-Id: a574a85f-8e13-4896-0415-08db98c68039
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5PF2GSZSno/3iS/dS9BqQq4VQgnD8hjqhLqJMCsvteMs2lILGaqlcUfg7kacI0QHxZIBOZOCfpSAMcHyUuen254FwCO7sffJYLqCzebTOR4mS2xsoxORRdFtHZho1W+nkyGhE2themhM0mpRkAhDlY28QBhfgEZOr4d/gtnfBgdSoyQlAzdkM/bU1LFE1By9Z8VhvuoDnw5sOBD8kGslc/LcGg8THy970hHfJxP18tpl9mns46gLMMMZcKgBPmhfZXnE1HBUqcyaddP2eyhAdbwSDBvtX88ipU6OU4OBXmVybhWviGRD+/KhN+Ibh/rB+FeEur5qaofGZrMWy2Y0IJzYTNzL+gdsfuRE4E2xgo/zXRIPhyIFjV1SlUnnxtJ8EwLlTUDl6dZ2iapb+4Zq601Iq3xs0zirEsiT8zuwHSM4wTS/f+erwssVkJLV+z+j1Kicm9Ls2m9eXwkjRDv0Gtz6UU5+CYfuHhHoBIkKBo6wukNsKkTp//8r1W8oD1B9kHEAH+GFgKs2V0U6Lb/rGT0+2ZsoMv4uiUtFIg+Ps9h/Jq++MLUVph/6K1EjnZ0OgLx1+Saa2FsXJ3UytbXmqJsHMnPeDAbRjfWbdgBjzJRwT4B47W05PUYk+ByDJWPpLFEqGlm3V9o3Ts4uw9Tacw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(346002)(136003)(376002)(1800799006)(451199021)(186006)(7416002)(8936002)(8676002)(5660300002)(4326008)(316002)(41300700001)(86362001)(83380400001)(31696002)(6916009)(2906002)(6486002)(6512007)(6666004)(2616005)(6506007)(26005)(36756003)(66556008)(66946007)(66476007)(478600001)(31686004)(54906003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGtDVWp6R1BLNnU4ZVFud3ozK08vNnJLU2pjUUs5MlF3L1RaRTlNNm9zb3R0?=
 =?utf-8?B?Q1NJRG92azZYTUc1RnZmazRFeEpZRFI3aEhCQ0JFaC83bWh2VjloVExZbjk1?=
 =?utf-8?B?SCtxeEpPcitlTndTK2lMd0w2Mmc2OGR4TWdPbG1NRFZzMzBvZWQxTTZ5YnRt?=
 =?utf-8?B?cnhwb3JsR29iQ1BzYmdiNktGVlU5SkFhV3pwS1VGaGZmS3RlZENIQnI5SStO?=
 =?utf-8?B?RWE0VHdScUNvdm5ud0pxU1VTOUlBZk11SlpWandYcEM2OVV5SmJYaEJHeFlZ?=
 =?utf-8?B?Mi9XaXdxc2srYVRjYXQzSWlUVDRlTkYwL1J6c0Y0eVgxc2xpUENjOWdyTWhr?=
 =?utf-8?B?c0JXR3prS3hPN2VvMk5HSndxcWU3K2xHaGdrTGtrQ2xuZjFVS2c4Z2UzM0xI?=
 =?utf-8?B?bmtUVk1pL3VwdU54MlFzeS96L2dPUWsyS2ZkcURETzl4R2JqQml6UFpMUnpS?=
 =?utf-8?B?UzBSN1ExYS9vUW5zUVJhVjF5RHFNVjR4c01xVmp2QTZmdlg4R1ZXeVZhLzVM?=
 =?utf-8?B?TnVCUmJ4dVgyNVl1b0NMK3JYNDcyU2dYU0tLUUFoRE1KL1BNbUdtZ1Y5eHVm?=
 =?utf-8?B?N3phYWk0VTNpclJBL1JMaFgvdm4zOVVSeUhlNm9VYnBUOWhtWmFQWVJycEcr?=
 =?utf-8?B?RDhYQVFJay9WWVNwUXJXQlJwUHVnbndrWjU4U0dha1dkTGRHd3E4S2JSWitB?=
 =?utf-8?B?dmp4NklMN3NwMUVBaWQ2b2xpOCtHa2FYL2F5SE82QVhyZzA3czVWM1Q1dk9P?=
 =?utf-8?B?MDJPaytaU0k3MVF4cTlVdXpzUXJreHQ1QWc4NlNVcVpEK3NlclN0ckpVVG4v?=
 =?utf-8?B?MERGeEJ2TWRraGdOczlnZUFqbVRkTGozeXN0anBKcU1NMmJpT0dCMTZFNTd0?=
 =?utf-8?B?cUpxRENXZ2xNRUdlaFlnTjZnT2VNZDRKQjl6RDFSMUZ5bDg1dlV6NGdlSGhQ?=
 =?utf-8?B?OGx6eWVsNEY1SW5WZlE3Y1Nhd2VEcGNacGZzdWxVNEljYkNjTGF6Mi83dXAx?=
 =?utf-8?B?QlYrNjQ2eG52ckl6RWZ4aTJOanhuZUhuakpMWHp1RXJxRS9PbHRkSFQ5L0hR?=
 =?utf-8?B?OW1NM1ArU0VRVlJPTGdkdTFoQVdxai8yMjdjai9JV3gwMExtR2trWGV1Um9X?=
 =?utf-8?B?NDJMY01iclhqSnpoRkRSOHowMGI0eVpHWkk5cnVrck9ONHk0SEdmbjVpcWFs?=
 =?utf-8?B?TzJyb3hiZkg1UnpmdmZZcVpOdWZvemdZUDQ2aEszaG05cmdKZzZ4SktOZitu?=
 =?utf-8?B?bUVsL21ZcWxUT3hLbXREUCthVkFLWTZQL1IrTEVyVm1LWXgwWVdWay9Md2Zp?=
 =?utf-8?B?UU9XS2F3UWIzZ3Jvc3QvRkJYT1AvVldlNGNsR21ubzVtYW1XZkxObWhUSnhY?=
 =?utf-8?B?R2JGSEJlSUFDeVl1Z29UV083RzNzTCswQUJGMXFiWTlmWXJBSTVxU0VvSUJE?=
 =?utf-8?B?Wk9Ydlh0bVpYSmw1cm9sbHkxTDhIdmhYUWdsNXg1RjQvRjN6T1NoR1AyZmxz?=
 =?utf-8?B?NlNqTyszZ0JGUzh4S001Tzl3UUhJaE1Vd1lRU0dIaitoZHRVamR3Ynk5M1Fn?=
 =?utf-8?B?MzV1QnMwWENrZjUwU1d4WUNQUHpKY1FyNTBFVTZrUVVHUHpjSUMzdFgxTzk2?=
 =?utf-8?B?cFN4TVZFcXNsUUZUZWJhdkRLQlNwaitoSHhJQXhHRnZJeTh3aDZlNEMvTU1n?=
 =?utf-8?B?UFZqT0FYUkZVV3RpNHBKNUtoeEw3ZUhxVVBtU1FGVFZ1LzY5VTE5d0M0dUsw?=
 =?utf-8?B?eEZkVkc0V2dsTHA4Z1h2VEdHUmR1emxxWEw2NFB0S3VPdURVelBjL2V3Y1oy?=
 =?utf-8?B?QmtQNU0wbXJEN3VRTmY2TmpucDVxTXJsTVBiaEFETVhoMnZuTG9tTmxIWjNm?=
 =?utf-8?B?RERIYnJTRjR0UCtOSW9xeGdiZTlyNHZaSmhXV0F2TTJWOUxSeGJuTzh6YWxn?=
 =?utf-8?B?R3RzMlBuRG9GejZnM2puRlJqU3hGTGF2WmUzbTBLOGUwMzI3MGtNR0x1aFdq?=
 =?utf-8?B?VzJnRVhpN3RVMko2Z0QyemFBdFp0ZFhBM0dISUhlZnhOOE5lUFJxVEhweldY?=
 =?utf-8?B?Sk1KajFiQzBlVzdHZWFDUFRsR01oVnFaUlRKdUppa3l1dGFFQVBwOHpCTFRD?=
 =?utf-8?Q?4iFq7RPfjNrLffx98Ki32Ta1u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a574a85f-8e13-4896-0415-08db98c68039
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 10:50:52.7499
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OT+YVVvXuHxPNbkjIBXM8R8SkDOsXqnHpeFAX2hfk1j9Go6KkbJkGEKfuVjeH4p3FJCWcQQdgCqW1mIVYQlH8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9067

Much like we have PAGE_OFFSET() there already, there's also no reason
for each arch to define identical PAGE_ALIGN().

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

--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -303,8 +303,6 @@ static inline int gva_to_ipa(vaddr_t va,
 
 #endif /* __ASSEMBLY__ */
 
-#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
-
 #endif /* __ARM_PAGE_H__ */
 
 /*
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -404,8 +404,6 @@ static inline void invalidate_icache(voi
 
 #endif /* !__ASSEMBLY__ */
 
-#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
-
 #endif /* __X86_PAGE_H__ */
 
 /*
--- a/xen/include/xen/page-size.h
+++ b/xen/include/xen/page-size.h
@@ -10,7 +10,8 @@
  */
 #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
 #define PAGE_MASK           (~(PAGE_SIZE-1))
-#define PAGE_OFFSET(ptr)   ((unsigned long)(ptr) & ~PAGE_MASK)
+#define PAGE_OFFSET(ptr)    ((unsigned long)(ptr) & ~PAGE_MASK)
+#define PAGE_ALIGN(x)       (((x) + PAGE_SIZE - 1) & PAGE_MASK)
 
 #define PADDR_MASK          ((_AC(1,ULL) << PADDR_BITS) - 1)
 #define VADDR_MASK          (~_AC(0,UL) >> (BITS_PER_LONG - VADDR_BITS))


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:55:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580866.909317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgql-0003Xh-1h; Wed, 09 Aug 2023 10:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580866.909317; Wed, 09 Aug 2023 10:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgqk-0003Xa-VM; Wed, 09 Aug 2023 10:55:34 +0000
Received: by outflank-mailman (input) for mailman id 580866;
 Wed, 09 Aug 2023 10:55:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgqk-0003XU-BO
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:55:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgqi-0005qB-MK; Wed, 09 Aug 2023 10:55:32 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgqi-0002Db-FB; Wed, 09 Aug 2023 10:55:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uGxsdS7rY7GvnSEbPsH4bZeQXPNOc0MWLGxxwo9QX0k=; b=EPM+q+GPBv9NgQ9eEkX2NyBbsa
	87uI1MA958g1f2LGpU8LvXU+A3iPbipMeM1WIDYRWNhEW94H6G2WFdnGzn5TsMtIo6E4I1v89MLEp
	jp5lWQe7/aYYYcv6Z+THkq2vD/D9Z1QmvB8MK/mdj3ESmAS0cBvNiiTU0irAYAs51VvI=;
Message-ID: <c7719a71-15fa-4c55-b02b-e8cf1a828cc2@xen.org>
Date: Wed, 9 Aug 2023 11:55:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] move PAGE_ALIGN() to common header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <a62ca6f0-765d-16bc-a5d4-e1ca9303de6a@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a62ca6f0-765d-16bc-a5d4-e1ca9303de6a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 09/08/2023 11:50, Jan Beulich wrote:
> Much like we have PAGE_OFFSET() there already, there's also no reason
> for each arch to define identical PAGE_ALIGN().
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/arm/include/asm/page.h
> +++ b/xen/arch/arm/include/asm/page.h
> @@ -303,8 +303,6 @@ static inline int gva_to_ipa(vaddr_t va,
>   
>   #endif /* __ASSEMBLY__ */
>   
> -#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
> -
>   #endif /* __ARM_PAGE_H__ */
>   
>   /*
> --- a/xen/arch/x86/include/asm/page.h
> +++ b/xen/arch/x86/include/asm/page.h
> @@ -404,8 +404,6 @@ static inline void invalidate_icache(voi
>   
>   #endif /* !__ASSEMBLY__ */
>   
> -#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
> -
>   #endif /* __X86_PAGE_H__ */
>   
>   /*
> --- a/xen/include/xen/page-size.h
> +++ b/xen/include/xen/page-size.h
> @@ -10,7 +10,8 @@
>    */
>   #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>   #define PAGE_MASK           (~(PAGE_SIZE-1))
> -#define PAGE_OFFSET(ptr)   ((unsigned long)(ptr) & ~PAGE_MASK)
> +#define PAGE_OFFSET(ptr)    ((unsigned long)(ptr) & ~PAGE_MASK)

Please mention in the commit message that you took the opportunity to 
re-indent PAGE_OFFSET(). With that:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 10:58:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 10:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580873.909328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgts-00048m-H9; Wed, 09 Aug 2023 10:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580873.909328; Wed, 09 Aug 2023 10:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgts-00048f-EF; Wed, 09 Aug 2023 10:58:48 +0000
Received: by outflank-mailman (input) for mailman id 580873;
 Wed, 09 Aug 2023 10:58: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTgtr-00048Z-C8
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 10:58:47 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe02::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b63b3f72-36a3-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 12:58:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7419.eurprd04.prod.outlook.com (2603:10a6:102:80::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 10:58:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 10:58: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: b63b3f72-36a3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E1rQimP/a2kdgqF8JEpSFsu5OQgBHql+zUpHUHPbD/dfzhUgyqgi10u+KtQjDF4gOjgwKoViqPpbLQlHHnTYa1bwW/p8FWoNtl+EiPc/FrrGSy9ZzTJuYdOAkjOmwUkzm8KAus+maB3jp0H7me/JCi0HFcN5SrqxoNlT6/6wF77uDB9u6TgnEHXrQ6x6AXCVCu4IGb2z/w66yuLvj2/NOCmhaJ2luOYQHGZIAiEStAXd07roSKig18MkrwU3q4InwWwomgtgkUXPQ5t5/1rzPsGq5iEhm50xwJJVo07oWnpcEHgw1RHX88owgCGC5iJuK/cPYr0BKOGYKF/C9jf8oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AJPJp4MZfHRx9lZamo6Lxirl2WEO4pNO4Pg62Jcnd70=;
 b=S82DhUAkug0c6ceHyrm7sMnRASCjlOm4gNq7EH1rM3ViogHuPg6fsYrci6+EFOflpbf5dy1P9kvafkWY3fXk86OEfy0m0/TOytEvrvLSQrnIaKKsDzaEduJiHzMQdl832lz70GJZcsnyqs+RQ9Vcq1BPQD3bBsqmHmjsAP+lgQzC0G/NnxHGZpuCuSwhesSpKa1T2fvsLXm0sBYbrM/Dm9iFhgo454wSqojKqgzgFbcLge46AHNqFrF57QZO43o/tg15MolACQt+FmocgAiDil/2LAgfOm8M2n/d+s90iRbwcmCsVOhYcvD2GfN0jadWiqJBD8mnUGZzTiXyhPDxzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AJPJp4MZfHRx9lZamo6Lxirl2WEO4pNO4Pg62Jcnd70=;
 b=hVr/qO9zNFfQ5jokGSAnhKPQVE2NJWoNqCie8E5RFrfnlynXxZ15vv3eMf3isXLi+4DCUQQyAfLWkeuibzkkhBp7JgTYaeCdPgvKAr9R6xdcSGXjnVOBPuz91TEt4ox3V9pxm0GM8w68/3rcqObg1yyfAnh7GGu3J0qw1sykPhZ0UnXIBKzW6yIYGidUmFNa5ubahpS8LyvGW7cbowFcuvRyh08yLkVE3SR0h+8rYlGFnSmsU0Q97rn9Pd5o4eh4tbIT9fjrC12y4z6l40/ruXnWCcb7jR7067igmY9E/HR3bLMDggCLb7O37Y1izzxY3F0yMczxEObo2kE/TG+anA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ea592a24-bc29-b1ab-33ca-5ec3d59c050c@suse.com>
Date: Wed, 9 Aug 2023 12:58:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
 <115e080e-ecba-4117-9d43-9888f82c8d5f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <115e080e-ecba-4117-9d43-9888f82c8d5f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0163.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7419:EE_
X-MS-Office365-Filtering-Correlation-Id: 869b035d-cc4c-42fe-2257-08db98c79941
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CuKVdFywyxVgX6/9aTUdoDH8jm+xOMRZfsEX2b2HPnAaefEDVVkkil06zqPQgMQtfrS1tkfJFweCl1q0z7Lmg0vV1UesEi0/aBzpsu7GMQq7GFRRk8HowrOt6DcJUThkXg8qtVXpC6IPANKg0mCq3HiPShi+dQKrihUVAijHhBq5jFjqcRK9Y0XxKPlOLwgF6mi19soKtXijF3rVzcKNWjdNM1pqxrsZBlJxhMP9OU7qs2cCG/B06Lhzg9OSHjVXjFnxjfEAiyIhgCNZHSCfi+Xese1ZzDl1bmCmKqWPdDeuK/+IGdv48xYH3HO4YVrwHL0Sx7h3gSEwCEhPQE79tuPZo74r9s4zact/5WJBgJBQa4zG7eKQ93uFFYGuFvfmCDkhF9u/Awkh2EVOZFxjqEAShMFBw8JKsR+5uMMtkyNc1I1hpVZL2COjqQSIc5QHSlg3q2apKbigzuuKtgt785aQwgf2dC2HfD2Kqzkqvs0SjspBYfNBP+3Pg9nXE+XvrZzX6RtAvFA2EDXuncNGWEg7ShoFoXk+SN67xYMrAYbBXwFScxz7IEMRuecc8kxD2JMG74i+JMDuzROKtgqoZfg0/9Q6795HJEb4L7RNnqJg3K+AwBNDcu5Dm6aGWmPb4Xuza5K7IA86XhsZj6ajmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(136003)(39860400002)(346002)(366004)(186006)(451199021)(1800799006)(316002)(7416002)(8936002)(8676002)(5660300002)(2906002)(6506007)(38100700002)(53546011)(26005)(83380400001)(2616005)(41300700001)(36756003)(6512007)(86362001)(31696002)(6486002)(66476007)(66556008)(66946007)(4326008)(478600001)(54906003)(31686004)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akNjdVplNDNLSWdOeW1LVFFYK1RUVFFzTENyOEVmalNMejFuK0RCYnRJVmhw?=
 =?utf-8?B?TlZaZi9qWkJhY2JSZGtDWDl3SUlvTU13dk56V3dad0pkMk5hMVlqTGxpY3ow?=
 =?utf-8?B?TWc1OTJuYVBQR3p0UVZadW50VXVwRHhXQmRBUGJ3Wmw1ZXl6MStkZEdMYnI0?=
 =?utf-8?B?NEtqSGpHUDJ6dlo5YjJVQUJabDVFMkxndy84bXl4UVFCN1BwRU1ZclNmOWpU?=
 =?utf-8?B?WkoyVkZMVmFLK3lDZTJlZzkrMkx6SWg3SWFjNmptaGFJcFhQYmxhcFU1Z3h1?=
 =?utf-8?B?WnZJOU9ESkFramM2MnFLSXNaMTFwOHZOSU9TY2ZaYnl3VndVaFZBekdOUTF4?=
 =?utf-8?B?VkZKZlJPMDJrOW5kK2NFamVMMXJqV0UyL2FYKzBLeUQvYWs4NVBtS3J3dGZW?=
 =?utf-8?B?b0R2aTk0dm9RWGpSYnpZczFGUzRMRTlhYSsveHF4N1Y1UThxenUveElWQ0Qx?=
 =?utf-8?B?NDZZS1dGc2kzekFMbENkRzFYMGpaYXZhemkrb3puWmRqbk1hS3h3QWJmb0hM?=
 =?utf-8?B?bnZvUDMyMFhldGswd3hvQjVVKzdra3dYVGt4WlZLcUx3WHhqRFQ4YjdNaDA1?=
 =?utf-8?B?R1JTNmwwSG0zMlZhdTNJUG10N29SV0s4OUZJeGl1U3d2THpHV29NU0twRHc4?=
 =?utf-8?B?YlNJUjRzT3VvZExSb0c0N05vVHVRYzFjcFJ5cGdIWSsxbmxaNmptZ00yd1ls?=
 =?utf-8?B?bVQzbmlJOExJOU5yakVjN2o2VWtnY3JMeDh2ZDVWWUs0SS9vRTYrYWdDZXla?=
 =?utf-8?B?NWEvV3VxSjA3TUUyK2t0aFF0V3FjMmN0SzdGdWFIV25yVW0yVXpJU2Z1czV1?=
 =?utf-8?B?MHNkZDFtN0tUbElVZmFxbmR4RDNEb3BwOVlkUDU1VHJDNXFtMElLVVdITVZR?=
 =?utf-8?B?RU1TNWZOQ2dCTFhOSVgrYVFBRnY4SHQrR0l0MzlCb09WQWVrWDZaZll6RW04?=
 =?utf-8?B?czRSTHRwOWNoUkRNVnZ0Qy9mWjIrVnUxREhYOFJ1eGdIRWNvMkYrUEYwWUp1?=
 =?utf-8?B?UC96dUlxbjBicVhzK2dWdlV1dWwzUXVDc2JaZmk2RTdqUlJhdUtORXZyZURC?=
 =?utf-8?B?VWc5WGRwdXJCdnlqTDM1dWdYcWhQNTlIaTlSQjR3WE4xNVZFR25ZbkhKQm9L?=
 =?utf-8?B?RGF4aldSSi9kaHBzU2FPZFdqNVlRSGRGMWY5Wk9Mc0JHT2Y2TXp1Z2Vwdmk3?=
 =?utf-8?B?TDQ0TWZaT0VtTDNCYXMyb1pXWVNOT09Gc3NyU0ZuOEsrVnNMVmxwQVFJNnBn?=
 =?utf-8?B?VnY2alBxNUJzT05wam81Wi9DVU1Hdnl4VUpDa3IvTEt6LzVSRGFpelRXUDhs?=
 =?utf-8?B?bCtBOEM2bVM0SGJFd3lQdStKS1M0WlF3akNkNEFJb1RUN0VVRFhyVlYxOTV5?=
 =?utf-8?B?RzBuZURwZkEranJ3YnRsQWxDZFJmSy84S29BS1pnRmhVN2tUS1JaZUlLZmZK?=
 =?utf-8?B?K0lINjBPZ081RjA5L2Z2c1QxUTdEM0xhV0hLM1FCTk9xM1ZOVE11OTFFTHhC?=
 =?utf-8?B?eGNVL3hSVlhQdDNQaCtyb09NM0NDYldXazg3L1ZpWjJXdUxqdG16YXhCd2o3?=
 =?utf-8?B?T29Va2tFWFYzTDBjdUJ2U2M5VnEzd1Q3VXhrTCtEV29VSWRpTnlIUjJQS2Mv?=
 =?utf-8?B?L0F3ZXY0NnZBb3BWNGJ4ODZvbmFoODJSdXZGZ0RwM2RHZzJhS2JMV3QzUllL?=
 =?utf-8?B?MkNJL2ZJM2Y1bkw4cWJmQitpVXlndUhhSDJMUEwrS1NURWRqZDFQWGdJaDhH?=
 =?utf-8?B?QkNKekVjRHpoYkU5ekt4SXRUcncrZ053QW1PRUw5b0oyWVJXc0p2UENtOXdK?=
 =?utf-8?B?REphdTIxbW1NQXV5ZWVKTWFIWmc1NnJTME5EOE52eDNOOFJZWjdkanNFYjNP?=
 =?utf-8?B?WEJhd3BCOGRHMEZWZ0dJWmlNTkV0TERVbm9EalBkdEloSW5ocHpiVC8ycEow?=
 =?utf-8?B?VVBEYlN0YlZUS2NzOUpDcjFIeDcxQm5tSWtrcldQT3VxZElmMkY5aFVFZ0Fw?=
 =?utf-8?B?ZUFHTVMxVEF4TFNQR1pkd2tGcUlvQUdNYU1sZDNwRk45aWdhNVlwVmhNY2Qr?=
 =?utf-8?B?VGhNU1hPL0M0alRCNXRjcVEzVFZMakFBQnREUTJlME5aeUVzdUt2eGwxYTNY?=
 =?utf-8?Q?W79E9euMPeqMerTyX9yQQgISW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 869b035d-cc4c-42fe-2257-08db98c79941
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 10:58:44.1486
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nlnxrZBSXcP0Er4q568zR6BbFlJlqVLrkIqcjGcM7OYC5oXwVuOg6U+HIc7oihJvg465L7Lsakq/T3+fibHgEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7419

On 09.08.2023 12:49, Julien Grall wrote:
> On 04/08/2023 07:08, Jan Beulich wrote:
>> Have these in one place, for all architectures to use. Also use the C99
>> types as the "original" ones, and derive the Linux compatible ones
>> (which we're trying to phase out). For __s<N>, seeing that no uses exist
>> anymore, move them to a new Linux compatibility header (as an act of
>> precaution - as said, we don't have any uses of these types right now).
>>
>> In some Flask sources inclusion of asm/byteorder.h needs moving later.
>>
>> No functional change intended.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> With one remark:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

>> --- a/xen/arch/arm/include/asm/types.h
>> +++ b/xen/arch/arm/include/asm/types.h
>> @@ -1,18 +1,7 @@
>>   #ifndef __ARM_TYPES_H__
>>   #define __ARM_TYPES_H__
>>   
>> -typedef signed char s8;
>> -typedef unsigned char u8;
>> -
>> -typedef signed short s16;
>> -typedef unsigned short u16;
>> -
>> -typedef signed int s32;
>> -typedef unsigned int u32;
>> -
>>   #if defined(CONFIG_ARM_32)
>> -typedef signed long long s64;
>> -typedef unsigned long long u64;
>>   typedef u32 vaddr_t;
>>   #define PRIvaddr PRIx32
>>   #if defined(CONFIG_PHYS_ADDR_T_32)
>> @@ -34,9 +23,9 @@ typedef u64 paddr_t;
>>   #endif
> 
> I find odd that you don't add a newline before/after #endif here but...
> 
>>   typedef u32 register_t;
>>   #define PRIregister "08x"
>> -#elif defined (CONFIG_ARM_64)
>> -typedef signed long s64;
>> -typedef unsigned long u64;
>> +
>> +#elif defined(CONFIG_ARM_64)
>> +
>>   typedef u64 vaddr_t;
>>   #define PRIvaddr PRIx64
>>   typedef u64 paddr_t;
>> @@ -44,6 +33,7 @@ typedef u64 paddr_t;
>>   #define PRIpaddr "016lx"
>>   typedef u64 register_t;
>>   #define PRIregister "016lx"
>> +
> 
> .. you add one here. But this change looks a bit unrelated and IMHO of 
> out context.
> 
>>   #endif
>>   
>>   #endif /* __ARM_TYPES_H__ */

Hmm, I think I was mistaking the blank line after

#if defined(CONFIG_PHYS_ADDR_T_32)

as the matching one. Which way would you prefer me to resolve the
inconsistency: Add the missing blank line, or drop again the three ones
I'm presently adding?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:00:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:00:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580879.909337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgvE-0005cg-Vu; Wed, 09 Aug 2023 11:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580879.909337; Wed, 09 Aug 2023 11:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgvE-0005cZ-TK; Wed, 09 Aug 2023 11:00:12 +0000
Received: by outflank-mailman (input) for mailman id 580879;
 Wed, 09 Aug 2023 11:00:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgvD-0005cA-L0
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:00: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 1qTgv6-0005xS-IT; Wed, 09 Aug 2023 11:00:04 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgv6-0002MQ-7r; Wed, 09 Aug 2023 11:00:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=ZxNB12wNpny7r9ud8OtR3ATVISScB3GPuEO1v1d7kwA=; b=Uu5CxjfIy9b0jPd3h2Dpjiu9uG
	mn1x0sbFqo6JkGfJ7pYqjI+I4qNvamQbthr9NuXoAwVJ5pn6NUZXGv9TjhhgW2PLl4neRu0/2Cm+j
	Zg84lEHNaZPstxaFywlnu1VeH0eRpSVKI75lFqe03bDPOnwT6d1nPWv0cQ6ychuAfQTk=;
Message-ID: <58ea791e-5d9e-4e60-afae-602f39316cf2@xen.org>
Date: Wed, 9 Aug 2023 12:00:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] common: move Linux-inherited fixed width type
 decls to common header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <652ef09f-3654-548a-37d7-bbc46cbda177@suse.com>
 <c641b981-54b8-d3ca-26a4-28331dc79ca5@suse.com>
 <115e080e-ecba-4117-9d43-9888f82c8d5f@xen.org>
 <ea592a24-bc29-b1ab-33ca-5ec3d59c050c@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ea592a24-bc29-b1ab-33ca-5ec3d59c050c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 09/08/2023 11:58, Jan Beulich wrote:
> On 09.08.2023 12:49, Julien Grall wrote:
>> On 04/08/2023 07:08, Jan Beulich wrote:
>>> Have these in one place, for all architectures to use. Also use the C99
>>> types as the "original" ones, and derive the Linux compatible ones
>>> (which we're trying to phase out). For __s<N>, seeing that no uses exist
>>> anymore, move them to a new Linux compatibility header (as an act of
>>> precaution - as said, we don't have any uses of these types right now).
>>>
>>> In some Flask sources inclusion of asm/byteorder.h needs moving later.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> With one remark:
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Thanks.
> 
>>> --- a/xen/arch/arm/include/asm/types.h
>>> +++ b/xen/arch/arm/include/asm/types.h
>>> @@ -1,18 +1,7 @@
>>>    #ifndef __ARM_TYPES_H__
>>>    #define __ARM_TYPES_H__
>>>    
>>> -typedef signed char s8;
>>> -typedef unsigned char u8;
>>> -
>>> -typedef signed short s16;
>>> -typedef unsigned short u16;
>>> -
>>> -typedef signed int s32;
>>> -typedef unsigned int u32;
>>> -
>>>    #if defined(CONFIG_ARM_32)
>>> -typedef signed long long s64;
>>> -typedef unsigned long long u64;
>>>    typedef u32 vaddr_t;
>>>    #define PRIvaddr PRIx32
>>>    #if defined(CONFIG_PHYS_ADDR_T_32)
>>> @@ -34,9 +23,9 @@ typedef u64 paddr_t;
>>>    #endif
>>
>> I find odd that you don't add a newline before/after #endif here but...
>>
>>>    typedef u32 register_t;
>>>    #define PRIregister "08x"
>>> -#elif defined (CONFIG_ARM_64)
>>> -typedef signed long s64;
>>> -typedef unsigned long u64;
>>> +
>>> +#elif defined(CONFIG_ARM_64)
>>> +
>>>    typedef u64 vaddr_t;
>>>    #define PRIvaddr PRIx64
>>>    typedef u64 paddr_t;
>>> @@ -44,6 +33,7 @@ typedef u64 paddr_t;
>>>    #define PRIpaddr "016lx"
>>>    typedef u64 register_t;
>>>    #define PRIregister "016lx"
>>> +
>>
>> .. you add one here. But this change looks a bit unrelated and IMHO of
>> out context.
>>
>>>    #endif
>>>    
>>>    #endif /* __ARM_TYPES_H__ */
> 
> Hmm, I think I was mistaking the blank line after
> 
> #if defined(CONFIG_PHYS_ADDR_T_32)
> 
> as the matching one. Which way would you prefer me to resolve the
> inconsistency: Add the missing blank line, or drop again the three ones
> I'm presently adding?

I would be ok with adding the missing blank line.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:00:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580883.909348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgvl-00068p-9C; Wed, 09 Aug 2023 11:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580883.909348; Wed, 09 Aug 2023 11: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 1qTgvl-00068i-52; Wed, 09 Aug 2023 11:00:45 +0000
Received: by outflank-mailman (input) for mailman id 580883;
 Wed, 09 Aug 2023 11:00:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgvj-00068Y-Qd
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:00:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgvj-0005yO-A5; Wed, 09 Aug 2023 11:00:43 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgvj-0002MQ-3I; Wed, 09 Aug 2023 11:00:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=iMjVP/GQZiK3SrVoydRLINYyt3X0YfehMkN5udkQGA4=; b=gLB3b951or8PiyjoQMiqqmOUxK
	dTcMUgIoo/otkCoinJ5gAwrpg5L7waaiY8HCOigj0oEFdJPdubkNlS26j1x5txIZwJCemRwHuQAIB
	tfufF6yR5VIxhaLN+spL/Wz/RpC0k0axnHSasCvsuv8W1vAtY+N117X8zEfEFoZBbge0=;
Message-ID: <55750925-8966-47ef-ace1-712a9467876b@xen.org>
Date: Wed, 9 Aug 2023 12:00:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm64: head: Introduce a helper to flush local TLBs
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808110739.1296-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230808110739.1296-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 08/08/2023 12:07, Michal Orzel wrote:
> Instead of repeating the same sequence of instructions to flush the TLBs
> in various places, introduce a macro flush_xen_tlb_local and make use of
> it. This is similar to what was done for arm32 by the commit:
> dea9dddeceec8a1d68da24b14d5b2396effe555f

NIT: In general, we tend to refer to commit with the abbreviated ID and 
the title.

> 
> This is also making the flush sequence in enable_mmu more clear and
> consistent.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:01:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580887.909359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgw8-0006ev-HK; Wed, 09 Aug 2023 11:01:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580887.909359; Wed, 09 Aug 2023 11:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgw8-0006eo-Cu; Wed, 09 Aug 2023 11:01:08 +0000
Received: by outflank-mailman (input) for mailman id 580887;
 Wed, 09 Aug 2023 11:01:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTgw6-0006eP-BR
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:01:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgw6-0005z1-2q; Wed, 09 Aug 2023 11:01:06 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTgw5-0002MQ-T0; Wed, 09 Aug 2023 11:01:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=xOx+4Ax9tWrThOMr59/CmR+MJNDke0Rlr81gpb/QdF0=; b=BPYLpauOeaw4+ra7gYleAt/E/E
	ODNwbji6dcTkLFks8Cp1R9YG39SwFCS7rzvQivGMFclSgy7DTVzZsrJlXKTTGlQrEqhK31yY+lM2m
	ZzRIwmCgRSHXolId+1silHXz2dukjudH9hDzpfFiu7vqqnxe0a7VfKXo0sngxiz/TFJc=;
Message-ID: <42256506-2437-4f6a-849d-df8101ec6aa9@xen.org>
Date: Wed, 9 Aug 2023 12:01:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm64: head: Introduce a helper to flush local TLBs
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808110739.1296-1-michal.orzel@amd.com>
 <55750925-8966-47ef-ace1-712a9467876b@xen.org>
In-Reply-To: <55750925-8966-47ef-ace1-712a9467876b@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 09/08/2023 12:00, Julien Grall wrote:
> Hi Michal,
> 
> On 08/08/2023 12:07, Michal Orzel wrote:
>> Instead of repeating the same sequence of instructions to flush the TLBs
>> in various places, introduce a macro flush_xen_tlb_local and make use of
>> it. This is similar to what was done for arm32 by the commit:
>> dea9dddeceec8a1d68da24b14d5b2396effe555f
> 
> NIT: In general, we tend to refer to commit with the abbreviated ID and 
> the title.
> 
>>
>> This is also making the flush sequence in enable_mmu more clear and
>> consistent.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

I forgot to mention that I have committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:02:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580898.909378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxu-0007Tw-DQ; Wed, 09 Aug 2023 11:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580898.909378; Wed, 09 Aug 2023 11:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxu-0007TQ-8w; Wed, 09 Aug 2023 11:02:58 +0000
Received: by outflank-mailman (input) for mailman id 580898;
 Wed, 09 Aug 2023 11:02: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxt-0007Jy-En
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:02:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bbc57ce-36a4-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 13:02:57 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 16C204EE0743;
 Wed,  9 Aug 2023 13:02:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bbc57ce-36a4-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:36 +0200
Message-Id: <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable 'saved_cmdline' can be defined static,
as its only uses are within the same file. This in turn avoids
violating Rule 8.4 because no declaration is present.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/kernel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index fb919f3d9c..52aa287627 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -28,7 +28,7 @@ CHECK_feature_info;
 
 enum system_state system_state = SYS_STATE_early_boot;
 
-xen_commandline_t saved_cmdline;
+static xen_commandline_t saved_cmdline;
 static const char __initconst opt_builtin_cmdline[] = CONFIG_CMDLINE;
 
 static int assign_integer_param(const struct kernel_param *param, uint64_t val)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:02:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580896.909367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxt-0007KO-RU; Wed, 09 Aug 2023 11:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580896.909367; Wed, 09 Aug 2023 11:02:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxt-0007KH-Oo; Wed, 09 Aug 2023 11:02:57 +0000
Received: by outflank-mailman (input) for mailman id 580896;
 Wed, 09 Aug 2023 11:02: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxs-0007Jy-FY
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:02:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ad2802d-36a4-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 13:02:55 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A0A094EE0741;
 Wed,  9 Aug 2023 13: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: 4ad2802d-36a4-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 1/8] arm/efi: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:34 +0200
Message-Id: <4d087a54edb3f92e9271e3d01c1abebf00d3e298.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

the function 'fdt_add_uefi_nodes' can be defined static, as its
only callers are within the same file. This in turn avoids
violating Rule 8.4 because no declaration is present.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/arm/efi/efi-boot.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index f24df2abb9..1c3640bb65 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -227,7 +227,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
  * of the System table address, the address of the final EFI memory map,
  * and memory map information.
  */
-EFI_STATUS __init fdt_add_uefi_nodes(EFI_SYSTEM_TABLE *sys_table,
+static EFI_STATUS __init fdt_add_uefi_nodes(EFI_SYSTEM_TABLE *sys_table,
                                             void *fdt,
                                             EFI_MEMORY_DESCRIPTOR *memory_map,
                                             UINTN map_size,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:02:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580897.909374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxu-0007O6-4t; Wed, 09 Aug 2023 11:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580897.909374; Wed, 09 Aug 2023 11:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxu-0007N9-06; Wed, 09 Aug 2023 11:02:58 +0000
Received: by outflank-mailman (input) for mailman id 580897;
 Wed, 09 Aug 2023 11:02:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxt-0007K6-By
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:02:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a849d26-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:02:55 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id B0CED4EE073F;
 Wed,  9 Aug 2023 13:02:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a849d26-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	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>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 0/8] xen: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:33 +0200
Message-Id: <cover.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule states the following:
"A compatible declaration shall be visible when an object or function with
external linkage is defined".

This series deals with violations concerning functions and variables used by C
code (thus not used only within asm). The resolution strategies are as follows:

1. make the functions/variables static
2. include the header that contains the compatible declaration, or add one in
   the header if that's not the case.

No functional change.

Additional notes:
- other cases, such as functions/variables used only in asm code will be possibly
  dealt with in future patches.
- functions in 'gcov_base.c' are deviated, since they are called only from code
  generated by gcc in a particular non-release build configuration;
- variables in 'xen/include/acpi/acglobal.h' are deviated temporarily, since
  it's uncertain whether modifying the include pattern to be compliant with the
	rule would introduce subtle bugs.

Nicola Vetrini (8):
  arm/efi: address MISRA C:2012 Rule 8.4
  xen/memory: address MISRA C:2012 Rule 8.4
  xen: address MISRA C:2012 Rule 8.4
  xen/arm: address MISRA C:2012 Rule 8.4
  x86: address MISRA C:2012 Rule 8.4
  xen/arm: mm: address MISRA C:2012 Rule 8.4
  x86/i8259: address MISRA C:2012 Rule 8.4
  x86/nmi: address MISRA C:2012 Rule 8.4

 xen/arch/arm/efi/efi-boot.h       | 2 +-
 xen/arch/arm/include/asm/mm.h     | 3 +++
 xen/arch/arm/setup.c              | 1 +
 xen/arch/arm/time.c               | 1 +
 xen/arch/x86/cpu/mcheck/mce.c     | 2 +-
 xen/arch/x86/cpu/mcheck/mce_amd.c | 2 +-
 xen/arch/x86/cpu/microcode/core.c | 2 +-
 xen/arch/x86/i8259.c              | 1 +
 xen/arch/x86/nmi.c                | 3 ++-
 xen/arch/x86/spec_ctrl.c          | 4 ++--
 xen/common/kernel.c               | 2 +-
 xen/common/memory.c               | 2 +-
 xen/include/xen/cper.h            | 3 +--
 xen/include/xen/time.h            | 1 +
 14 files changed, 18 insertions(+), 11 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580899.909398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxv-00081N-Ob; Wed, 09 Aug 2023 11:02:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580899.909398; Wed, 09 Aug 2023 11:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxv-00080q-Ji; Wed, 09 Aug 2023 11:02:59 +0000
Received: by outflank-mailman (input) for mailman id 580899;
 Wed, 09 Aug 2023 11:02:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxu-0007K6-1h
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:02:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b441916-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:02:56 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4F6E74EE0742;
 Wed,  9 Aug 2023 13:02: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: 4b441916-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/8] xen/memory: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:35 +0200
Message-Id: <844e7bf57c2eb7b20d8b1f81a7730a7612f1b6ac.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function 'ioreq_server_max_frames' can be defined static,
as its only uses are within the same file. This in turn avoids
violating Rule 8.4 because no declaration is present.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/memory.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index c206fa4808..b1dcbaf551 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1120,7 +1120,7 @@ static long xatp_permission_check(struct domain *d, unsigned int space)
     return xsm_add_to_physmap(XSM_TARGET, current->domain, d);
 }
 
-unsigned int ioreq_server_max_frames(const struct domain *d)
+static unsigned int ioreq_server_max_frames(const struct domain *d)
 {
     unsigned int nr = 0;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580900.909403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxw-00086p-5I; Wed, 09 Aug 2023 11:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580900.909403; Wed, 09 Aug 2023 11: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 1qTgxv-00085g-TG; Wed, 09 Aug 2023 11:02:59 +0000
Received: by outflank-mailman (input) for mailman id 580900;
 Wed, 09 Aug 2023 11:02:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxu-0007Jy-AM
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:02:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c3c12b6-36a4-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 13:02:57 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D6B454EE0744;
 Wed,  9 Aug 2023 13:02:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c3c12b6-36a4-11ee-b280-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:37 +0200
Message-Id: <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
the declaration of 'arch_get_xen_caps' to be visible when
defining the function.

The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
to allow the declaration of 'udelay' to be visible.

At the same time, a declaration for 'get_sec' is added in
'xen/include/xen/time.h' to be available for every call site
(in particular cper.h).

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/arm/setup.c   | 1 +
 xen/arch/arm/time.c    | 1 +
 xen/include/xen/cper.h | 3 +--
 xen/include/xen/time.h | 1 +
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bbf72b69aa..44ccea03ca 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -32,6 +32,7 @@
 #include <xen/libfdt/libfdt-xen.h>
 #include <xen/acpi.h>
 #include <xen/warning.h>
+#include <xen/hypercall.h>
 #include <asm/alternative.h>
 #include <asm/page.h>
 #include <asm/current.h>
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 0b482d7db3..3535bd8ac7 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -17,6 +17,7 @@
 #include <xen/softirq.h>
 #include <xen/sched.h>
 #include <xen/time.h>
+#include <xen/delay.h>
 #include <xen/sched.h>
 #include <xen/event.h>
 #include <xen/acpi.h>
diff --git a/xen/include/xen/cper.h b/xen/include/xen/cper.h
index 7c6a4c45ce..de8f385bdd 100644
--- a/xen/include/xen/cper.h
+++ b/xen/include/xen/cper.h
@@ -23,8 +23,7 @@
 
 #include <xen/types.h>
 #include <xen/string.h>
-
-extern unsigned long get_sec(void);
+#include <xen/time.h>
 
 typedef struct {
 	uint8_t b[16];
diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h
index 5aafdda4f3..67c586b736 100644
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -36,6 +36,7 @@ s_time_t get_s_time_fixed(u64 at_tick);
 s_time_t get_s_time(void);
 unsigned long get_localtime(struct domain *d);
 uint64_t get_localtime_us(struct domain *d);
+unsigned long get_sec(void);
 
 struct tm {
     int     tm_sec;         /* seconds */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:03:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580901.909417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxx-00005l-CI; Wed, 09 Aug 2023 11:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580901.909417; Wed, 09 Aug 2023 11:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxx-0008Vv-64; Wed, 09 Aug 2023 11:03:01 +0000
Received: by outflank-mailman (input) for mailman id 580901;
 Wed, 09 Aug 2023 11:03: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxw-0007K6-2X
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:03:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ca83da8-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:02:58 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id B0A884EE0745;
 Wed,  9 Aug 2023 13:02:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ca83da8-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 5/8] x86: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:38 +0200
Message-Id: <4a07e7bb893f3d96e007ef6ccb645eee0d730489.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The functions and variables touched by this commit can be static,
as they are only used within the same unit. This in turn addresses
the absence of declarations that violates Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/cpu/mcheck/mce.c     | 2 +-
 xen/arch/x86/cpu/mcheck/mce_amd.c | 2 +-
 xen/arch/x86/cpu/microcode/core.c | 2 +-
 xen/arch/x86/nmi.c                | 2 +-
 xen/arch/x86/spec_ctrl.c          | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index 57e1eb221e..6141b7eb9c 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -599,7 +599,7 @@ unsigned int mce_firstbank(struct cpuinfo_x86 *c)
            c->x86_vendor == X86_VENDOR_INTEL && c->x86_model < 0x1a;
 }
 
-int show_mca_info(int inited, struct cpuinfo_x86 *c)
+static int show_mca_info(int inited, struct cpuinfo_x86 *c)
 {
     static enum mcheck_type g_type = mcheck_unset;
 
diff --git a/xen/arch/x86/cpu/mcheck/mce_amd.c b/xen/arch/x86/cpu/mcheck/mce_amd.c
index adc36522cc..72f3feeaee 100644
--- a/xen/arch/x86/cpu/mcheck/mce_amd.c
+++ b/xen/arch/x86/cpu/mcheck/mce_amd.c
@@ -87,7 +87,7 @@ enum mc_ec_type {
     MC_EC_BUS_TYPE = 0x0800,
 };
 
-enum mc_ec_type
+static enum mc_ec_type
 mc_ec2type(uint16_t errorcode)
 {
     if ( errorcode & MC_EC_BUS_TYPE )
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index bec8b55db2..9fcb9c1c3a 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -149,7 +149,7 @@ static int __init cf_check parse_ucode(const char *s)
 }
 custom_param("ucode", parse_ucode);
 
-void __init microcode_scan_module(
+static void __init microcode_scan_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index c5c28300b0..104e366bd3 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -108,7 +108,7 @@ static unsigned int lapic_nmi_owner;
  *     be enabled
  * -1: the lapic NMI watchdog is disabled, but can be enabled
  */
-int nmi_active;
+static int nmi_active;
 
 #define K7_EVNTSEL_ENABLE	(1 << 22)
 #define K7_EVNTSEL_INT		(1 << 20)
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index ebe56a96cd..9b8fdb5303 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -43,9 +43,9 @@ static enum ind_thunk {
 } opt_thunk __initdata = THUNK_DEFAULT;
 
 static int8_t __initdata opt_ibrs = -1;
-int8_t __initdata opt_stibp = -1;
+static int8_t __initdata opt_stibp = -1;
 bool __ro_after_init opt_ssbd;
-int8_t __initdata opt_psfd = -1;
+static int8_t __initdata opt_psfd = -1;
 
 int8_t __ro_after_init opt_ibpb_ctxt_switch = -1;
 int8_t __read_mostly opt_eager_fpu = -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:03:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580902.909428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxy-0000Tf-S4; Wed, 09 Aug 2023 11:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580902.909428; Wed, 09 Aug 2023 11:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxy-0000SI-ON; Wed, 09 Aug 2023 11:03:02 +0000
Received: by outflank-mailman (input) for mailman id 580902;
 Wed, 09 Aug 2023 11:03: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxw-0007K6-Q3
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:03:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d11c6ae-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:02:59 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 6A39B4EE0746;
 Wed,  9 Aug 2023 13:02: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: 4d11c6ae-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 6/8] xen/arm: mm: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:39 +0200
Message-Id: <67163dc4bc2e44d3f70f9c49295b993663d2fd5a.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a declaration for the variable 'init_ttbr' to resolve
the violation of Rule 8.4 present in the associated source file 'mm.c'.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/arm/include/asm/mm.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 5b530f0f40..698e54aff0 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -165,6 +165,9 @@ struct page_info
 #define _PGC_need_scrub   _PGC_allocated
 #define PGC_need_scrub    PGC_allocated
 
+/* Non-boot CPUs use this to find the correct pagetables. */
+extern uint64_t init_ttbr;
+
 extern mfn_t directmap_mfn_start, directmap_mfn_end;
 extern vaddr_t directmap_virt_end;
 #ifdef CONFIG_ARM_64
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:03:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580903.909433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxz-0000Xq-CA; Wed, 09 Aug 2023 11:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580903.909433; Wed, 09 Aug 2023 11:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxz-0000WY-4D; Wed, 09 Aug 2023 11:03:03 +0000
Received: by outflank-mailman (input) for mailman id 580903;
 Wed, 09 Aug 2023 11:03:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxx-0007K6-FG
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:03:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d864b60-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:03:00 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 1F8A64EE0747;
 Wed,  9 Aug 2023 13:02: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: 4d864b60-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:40 +0200
Message-Id: <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The additional header file makes the declaration for the function
'init_IRQ', defined in this file visible, thereby resolving the
violation of Rule 8.4.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/i8259.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
index 6b35be10f0..9b02a3a0ae 100644
--- 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>
 #include <io_ports.h>
 #include <irq_vectors.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:03:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580904.909437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxz-0000e8-Ri; Wed, 09 Aug 2023 11:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580904.909437; Wed, 09 Aug 2023 11:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTgxz-0000c3-IE; Wed, 09 Aug 2023 11:03:03 +0000
Received: by outflank-mailman (input) for mailman id 580904;
 Wed, 09 Aug 2023 11:03:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTgxy-0007K6-83
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:03:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4df2377e-36a4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 13:03:00 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D6AA94EE0748;
 Wed,  9 Aug 2023 13:02: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: 4df2377e-36a4-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 8/8] x86/nmi: address MISRA C:2012 Rule 8.4
Date: Wed,  9 Aug 2023 13:02:41 +0200
Message-Id: <cb600b79b3f603302a58198c1f5e84488441b736.1691575243.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691575243.git.nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Include an additional header to make the declarations for
functions 'watchdog_*' visible prior to their definition in
the file, thereby resolving the violations of Rule 8.4.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/nmi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 104e366bd3..dc79c25e3f 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -24,6 +24,7 @@
 #include <xen/console.h>
 #include <xen/smp.h>
 #include <xen/keyhandler.h>
+#include <xen/watchdog.h>
 #include <xen/cpu.h>
 #include <asm/current.h>
 #include <asm/mc146818rtc.h>
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580962.909457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTh5D-0004vv-Gb; Wed, 09 Aug 2023 11:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580962.909457; Wed, 09 Aug 2023 11:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTh5D-0004vo-Dv; Wed, 09 Aug 2023 11:10:31 +0000
Received: by outflank-mailman (input) for mailman id 580962;
 Wed, 09 Aug 2023 11:10: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 1qTh5B-0004vd-RM
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:10: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 1qTh5B-0006AR-5F; Wed, 09 Aug 2023 11:10:29 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTh5A-0002zf-Tt; Wed, 09 Aug 2023 11: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=CxnjCleyFkTE+K7wEWE78iYHYZLHMNKCnrJLJ5Tn36o=; b=W+5/hgBgCrdIDZzNGR78VmLpsG
	87TNU+EUwCXQZ4Tixg7DW/+L6PRLwMaGCBqnDRIC9xVnBlS6/umMbiaUa9AkFCoBMFwbi4PzfHPIV
	Oo0SFiKHAdS/D5UfAFnQMhze1McR5BqcR/HjCC0pJjooVNmti/AQ36p+j6BCe7m3Xwuk=;
Message-ID: <deb954e3-5eb2-4764-bce5-b20585a92111@xen.org>
Date: Wed, 9 Aug 2023 12:10:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/2] xen/delay: address MISRA C:2012 Rule 5.3.
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,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
 <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 09/08/2023 08:55, Nicola Vetrini wrote:
> The variable 'msec' declared in the macro shadows the local
> variable in 'ehci_dbgp_bios_handoff', but to prevent any
> future clashes with other functions the macro is converted to
> a static inline function.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:12:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:12:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580968.909468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTh7T-0005UM-UX; Wed, 09 Aug 2023 11:12:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580968.909468; Wed, 09 Aug 2023 11:12:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTh7T-0005UF-R4; Wed, 09 Aug 2023 11:12:51 +0000
Received: by outflank-mailman (input) for mailman id 580968;
 Wed, 09 Aug 2023 11:12: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 1qTh7S-0005U9-9S
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:12:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTh7R-0006Cc-0p; Wed, 09 Aug 2023 11:12:49 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTh7Q-0003DF-PG; Wed, 09 Aug 2023 11:12:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=CrMdiQMaLptKwzaFPdJHhC2cjSee0EqW3qV3Mp3fBNk=; b=xTXIWhYiPuLPakdF4isNEislVp
	GxF8S5N5ud2kcHkwSerPp8WLk4mqf7RGP7S4o2dNf6meiLTCSdrVGdo7RiOG4TGbbad9Dra0ZqoHj
	daZevUnTFe74B0pGerld0Sy/RgEmNtq3kEb/tTLB6LrO/FwjaPNeP30DHsHKCHcS3sjo=;
Message-ID: <adcd1cb7-76e3-43b7-8c5d-0e5759f8a6e7@xen.org>
Date: Wed, 9 Aug 2023 12:12:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] move max_page and total_pages to common code
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <f1653f8f-a2e3-5c91-0401-b5ab14415c86@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f1653f8f-a2e3-5c91-0401-b5ab14415c86@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 08/08/2023 11:47, Jan Beulich wrote:
> Common code references both, so the variables shouldn't need declaring
> and defining by every arch. While moving the definitions, add
> __read_mostly (__ro_after_init would only be appropriate when
> !mem_hotplug).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Cheers,

> 
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -198,9 +198,6 @@ extern unsigned long directmap_base_pdx;
>   /* PDX of the first page in the frame table. */
>   extern unsigned long frametable_base_pdx;
>   
> -extern unsigned long max_page;
> -extern unsigned long total_pages;
> -
>   #define PDX_GROUP_SHIFT SECOND_SHIFT
>   
>   /* Boot-time pagetable setup */
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -134,9 +134,6 @@ unsigned long directmap_base_pdx __read_
>   unsigned long frametable_base_pdx __read_mostly;
>   unsigned long frametable_virt_end __read_mostly;
>   
> -unsigned long max_page;
> -unsigned long total_pages;
> -
>   extern char __init_begin[], __init_end[];
>   
>   /* Checking VA memory layout alignment. */
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -337,8 +337,6 @@ struct page_info
>   #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
>   
>   #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
> -extern unsigned long max_page;
> -extern unsigned long total_pages;
>   void init_frametable(void);
>   
>   #define PDX_GROUP_SHIFT L2_PAGETABLE_SHIFT
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -146,10 +146,6 @@ l1_pgentry_t __section(".bss.page_aligne
>   l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
>       l1_fixmap_x[L1_PAGETABLE_ENTRIES];
>   
> -/* Frame table size in pages. */
> -unsigned long max_page;
> -unsigned long total_pages;
> -
>   bool __read_mostly machine_to_phys_mapping_valid;
>   
>   struct rangeset *__read_mostly mmio_ro_ranges;
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -162,6 +162,8 @@
>   #define PGT_TYPE_INFO_INITIALIZER 0
>   #endif
>   
> +unsigned long __read_mostly max_page;
> +unsigned long __read_mostly total_pages;
>   paddr_t __ro_after_init mem_hotplug;
>   
>   /*
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -159,6 +159,8 @@ int assign_page(
>   /* Dump info to serial console */
>   void arch_dump_shared_mem_info(void);
>   
> +extern unsigned long max_page;
> +extern unsigned long total_pages;
>   extern paddr_t mem_hotplug;
>   
>   /*

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:13:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:13:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580974.909477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTh8X-000631-77; Wed, 09 Aug 2023 11:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580974.909477; Wed, 09 Aug 2023 11: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 1qTh8X-00062u-4R; Wed, 09 Aug 2023 11:13:57 +0000
Received: by outflank-mailman (input) for mailman id 580974;
 Wed, 09 Aug 2023 11:13:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTh8W-00062o-12
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:13:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTh8U-0006FW-My; Wed, 09 Aug 2023 11:13:54 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTh8U-0003DF-Gn; Wed, 09 Aug 2023 11:13:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yciX83DpxqrFk9CyGdNw2PmMRLfLuq1v2HCUB9ydSXw=; b=kk0AfUlGwtPInjlqadg6jgkDWS
	yUWSJTVYTKU5zuAljIhbygMXUuCPQZx/Am3+/TWPQoCNgKaLhgjn48R+EQ69dyH5xDAdsDoXEh+gf
	yGvGtCzloc2LTuy37Oh8YUGyGV4sxOF2VgLsrUBj0F2lg9FVbQ8qWxQphDSYM+xAiKok=;
Message-ID: <94a5862e-d1c0-432b-9864-90a43945bc9b@xen.org>
Date: Wed, 9 Aug 2023 12:13:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] common: asm/desc.h is an x86-only header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <1ea0cd2e-1821-541d-068f-a18309d1823c@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1ea0cd2e-1821-541d-068f-a18309d1823c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 08/08/2023 10:42, Jan Beulich wrote:
>  From briefly going over 9062553a0dc1 it looks like the #include in what
> was ac_timer.c was added there for no reason. It's unneeded now in any
> event, and it is the sole reason for Arm to have that dummy header.
> Purge that, thus avoiding PPC to also gain one.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 11:20:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 11:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580981.909488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThFA-0007bg-VH; Wed, 09 Aug 2023 11:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580981.909488; Wed, 09 Aug 2023 11:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThFA-0007bZ-RX; Wed, 09 Aug 2023 11:20:48 +0000
Received: by outflank-mailman (input) for mailman id 580981;
 Wed, 09 Aug 2023 11:20: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 1qThF9-0007bP-GS; Wed, 09 Aug 2023 11:20: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 1qThF9-0006WY-7o; Wed, 09 Aug 2023 11:20: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 1qThF8-0005g2-VV; Wed, 09 Aug 2023 11:20:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qThF8-0004nh-Se; Wed, 09 Aug 2023 11:20:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=16bR4ACa46+9uZQ7/SgKau2SbNhjoov988R4IoJFMfA=; b=nqknTgkyfey8gcArpopP0c7kFF
	Q1sOShzPzLvyd8A9EYIzZSs/dj8SYOTWyibAYJzbdoH1oIpuN9TjXeNHW349q2xPV5ZIjhEf1KR2G
	SNYmZj6a+E4uiLpUOOTc/zae2v0nCVfHV5kRn8Tx+EYpYW4/dfIrgl+IQdTpHUOnyabU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182246-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182246: 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=a8a7c33e7dd684966d7df66058f2397995dbae31
X-Osstest-Versions-That:
    xen=76c243b1bc59660e3a643c17bff72fe674782564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 11:20:46 +0000

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

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                  a8a7c33e7dd684966d7df66058f2397995dbae31
baseline version:
 xen                  76c243b1bc59660e3a643c17bff72fe674782564

Last test of basis   182243  2023-08-09 02:04:34 Z    0 days
Testing same since   182246  2023-08-09 08:02:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  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
   76c243b1bc..a8a7c33e7d  a8a7c33e7dd684966d7df66058f2397995dbae31 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:00:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.580989.909497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThqu-0002w5-Nm; Wed, 09 Aug 2023 11:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 580989.909497; Wed, 09 Aug 2023 11:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThqu-0002vy-KX; Wed, 09 Aug 2023 11:59:48 +0000
Received: by outflank-mailman (input) for mailman id 580989;
 Wed, 09 Aug 2023 11:59: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 1qThqt-0002vs-FC
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 11:59: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 1qThqs-0007Hq-UG; Wed, 09 Aug 2023 11:59:46 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qThqs-0004tZ-Lt; Wed, 09 Aug 2023 11:59:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ruK1AP6TCGwvuXlVRjH6SGh3dbWYvlB5t99ppl+Ov1E=; b=L2aJJUYeeO9lsTXf8cjVA4Ujpj
	pGNrXUz4md1hyeJFJrY690BeKKqzVlyss9flT6ZcD1t1B/M3r7M+p/Vnv4iDMlOA5QX3nE1KOSVJ9
	8Vn6Bhx99qjq1LY5tT4TZe49ScI1pVsihxMlK9eeEXhdHVPBGKm2Xlwb7IVDbjoVCQG8=;
Message-ID: <d1e7a6b0-d3a6-4d85-a26c-019fc67ba463@xen.org>
Date: Wed, 9 Aug 2023 12:59:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-2-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

Title: NIT: Add () after _mm to stay consistent with the rest.

On 01/08/2023 04:44, Henry Wang wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> At the moment, on MMU system, enable_mmu() will return to an
> address in the 1:1 mapping, then each path is responsible to
> switch to virtual runtime mapping. Then remove_identity_mapping()
> is called on the boot CPU to remove all 1:1 mapping.
> 
> Since remove_identity_mapping() is not necessary on Non-MMU system,
> and we also avoid creating empty function for Non-MMU system, trying
> to keep only one codeflow in arm64/head.S, we move path switch and
> remove_identity_mapping() in enable_mmu() on MMU system.
> 
> As the remove_identity_mapping should only be called for the boot
> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
> enable_secondary_cpu_mm() for secondary CPUs in this patch.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v4:
> - Clarify remove_identity_mapping() is called on boot CPU and keep
>    the function/proc format consistent in commit msg.
> - Drop inaccurate (due to the refactor) in-code comment.
> - Rename enable_{boot,runtime}_mmu to enable_{boot,secondary}_cpu_mm.
> - Reword the in-code comment on top of enable_{boot,secondary}_cpu_mm.
> - Call "fail" for unreachable code.
> v3:
> - new patch
> ---
>   xen/arch/arm/arm64/head.S | 89 ++++++++++++++++++++++++++++++---------
>   1 file changed, 70 insertions(+), 19 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 31cdb54d74..2af9f974d5 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -313,21 +313,11 @@ real_start_efi:
>   
>           bl    check_cpu_mode
>           bl    cpu_init
> -        bl    create_page_tables
> -        load_paddr x0, boot_pgtable
> -        bl    enable_mmu
>   
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   x0, =primary_switched
> -        br    x0
> +        ldr   lr, =primary_switched
> +        b     enable_boot_cpu_mm
> +
>   primary_switched:
> -        /*
> -         * The 1:1 map may clash with other parts of the Xen virtual memory
> -         * layout. As it is not used anymore, remove it completely to
> -         * avoid having to worry about replacing existing mapping
> -         * afterwards.
> -         */
> -        bl    remove_identity_mapping
>           bl    setup_fixmap
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
> @@ -372,13 +362,10 @@ GLOBAL(init_secondary)
>   #endif
>           bl    check_cpu_mode
>           bl    cpu_init
> -        load_paddr x0, init_ttbr
> -        ldr   x0, [x0]
> -        bl    enable_mmu
>   
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   x0, =secondary_switched
> -        br    x0
> +        ldr   lr, =secondary_switched
> +        b     enable_secondary_cpu_mm
> +
>   secondary_switched:
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
> @@ -737,6 +724,70 @@ enable_mmu:
>           ret
>   ENDPROC(enable_mmu)
>   
> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_secondary_cpu_mm:
> +        mov   x5, lr
> +
> +        load_paddr x0, init_ttbr
> +        ldr   x0, [x0]
> +
> +        bl    enable_mmu
> +        mov   lr, x5
> +
> +        /* return to secondary_switched */

Technically, you will return to the virtual address set in 'lr'. This is 
'secondary_switched' today but this could change.

So it would be better to have a more generic comment like:

Return to the virtual address requested by the caller.

> +        ret
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_boot_cpu_mm:
> +        mov   x5, lr
> +
> +        bl    create_page_tables
> +        load_paddr x0, boot_pgtable
> +
> +        bl    enable_mmu
> +        mov   lr, x5
> +
> +        /*
> +         * The MMU is turned on and we are in the 1:1 mapping. Switch
> +         * to the runtime mapping.
> +         */
> +        ldr   x0, =1f
> +        br    x0
> +1:
> +        /*
> +         * The 1:1 map may clash with other parts of the Xen virtual memory
> +         * layout. As it is not used anymore, remove it completely to
> +         * avoid having to worry about replacing existing mapping
> +         * afterwards. Function will return to primary_switched.

Same remark here.

> +         */
> +        b     remove_identity_mapping
> +
> +        /*
> +         * Below is supposed to be unreachable code, as "ret" in
> +         * remove_identity_mapping will use the return address in LR in advance.
> +         */
> +        b     fail

Looking at this again, I am not entirely sure how this could reached if 
remove_identity_mapping use 'ret' and you call it with 'b'. So I would 
suggest to drop it and move 'mov lr, x5' closer to 'b 
remove_identity_mapping'. So it is clearer that it will return.

> +ENDPROC(enable_boot_cpu_mm)
> +
>   /*
>    * Remove the 1:1 map from the page-tables. It is not easy to keep track
>    * where the 1:1 map was mapped, so we will look for the top-level entry

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:05:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581014.909507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThvw-0004l9-QT; Wed, 09 Aug 2023 12:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581014.909507; Wed, 09 Aug 2023 12:05:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qThvw-0004l2-Nn; Wed, 09 Aug 2023 12:05:00 +0000
Received: by outflank-mailman (input) for mailman id 581014;
 Wed, 09 Aug 2023 12:04:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qThvv-0004kp-2C
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:04:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qThvu-0007PM-BL; Wed, 09 Aug 2023 12:04:58 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qThvu-0005Gw-1g; Wed, 09 Aug 2023 12:04:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uaoIynkU2pY3gFRMpGc6i6B4rs+Girk9h8f0BeXw+JI=; b=2t5OdSoxAeSEm6igj+c5n66RvY
	LY/pCwSJVE3OuXQ9C75iqTY2SMZ6OLLFGdJw82qQAXgDl4eaV7HeHbeRAQSJuGGmnRcJa2sokfy96
	eNNPrzjV9/gFpZpgeERUXfyGiufflFKzg2X8K7X4DGtafN9MwzYWyQij9f3FQnUJl7Wo=;
Message-ID: <429625da-ec4f-448f-a0c4-47ca0f62f395@xen.org>
Date: Wed, 9 Aug 2023 13:04:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-3-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-3-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 01/08/2023 04:44, Henry Wang wrote:
> There are two types of memory system architectures available for
> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
> and the Protected Memory System Architecture (PMSA). According to
> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
> controls address translation, access permissions, and memory attribute
> determination and checking, for memory accesses made by the PE. And
> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
> scheme where an Memory Protection Unit (MPU) manages instruction and
> data access. Currently, Xen only suuports VMSA.
> 
> As a preparation of the Xen MPU (PMSA) support. Introduce a Kconfig
> choice under the "Architecture Features" menu for user to choose the
> memory system architecture for the system. Since currently only VMSA
> is supported, only add the bool CONFIG_HAS_MMU to keep consistent with
> the default behavior. User can choose either VMSA or PMSA but not both
> in the future after PMSA/MPU is supported in Xen.

So in the long run I agree that we will want to have a choice. But this 
seems to be a bit premature to introduce it now as the user can't select 
the MPU and also can't deselect MMU.

Therefore, I think it would be best if we introduce an unselectable 
config for now. Like:

HAS_MMU
   def_bool y

This could be turned to a choice once you introduce the MPU.

Also, from my understanding, we are using the prefix HAS_ to indicate if 
an architecture support the given feature. In your case, you will want 
the user to select it, so I would just name the config MMU.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:12:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581022.909517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTi3C-0006FK-H7; Wed, 09 Aug 2023 12:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581022.909517; Wed, 09 Aug 2023 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTi3C-0006FD-E4; Wed, 09 Aug 2023 12:12:30 +0000
Received: by outflank-mailman (input) for mailman id 581022;
 Wed, 09 Aug 2023 12:12: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 1qTi3A-0006F1-WB
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:12: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 1qTi3A-0007Wf-GB; Wed, 09 Aug 2023 12:12:28 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTi3A-0005h2-9U; Wed, 09 Aug 2023 12:12: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=klAsC5S3XnRoWUoZy1fqMQRxT5h82QeX36vv+wiklAA=; b=WtArLd9HxRe2oPCrqGdb6Xc7w2
	vbBoz7hFIH/tlddA4MShKrziOUp6Nci0DfPSZeoooW+ai0bbMV49ntHfszsXuONJcURRoK5MEUwAz
	1DjgDUqOSRd06Uhn0moSYyXdDF0Jc5ZsVPv9pNOsSAJh6jJ+ubIpgfpBRTcKDVeCGJMg=;
Message-ID: <e3bae060-a78c-44ad-a79f-3faf998279b0@xen.org>
Date: Wed, 9 Aug 2023 13:12:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-4-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-4-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 01/08/2023 04:44, Henry Wang wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> We want to reuse head.S for MPU systems, but there are some
> code are implemented for MMU systems only. We will move such
> code to another MMU specific file. But before that we will
> do some indentations fix in this patch to make them be easier
> for reviewing:
> 1. Fix the indentations and incorrect style of code comments.
> 2. Fix the indentations for .text.header section.
> 3. Rename puts() to asm_puts() for global export
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

With one remark below:

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

> ---
> v4:
> - Rebase to pick the adr -> adr_l change in PRINT(_s).
> - Correct in-code comment for asm_puts() and add a note to
>    mention that asm_puts() should be only called from assembly.
> - Drop redundant puts (now asm_puts) under CONFIG_EARLY_PRINTK.
> v3:
> -  fix commit message
> -  Rename puts() to asm_puts() for global export
> v2:
> -  New patch.
> ---
>   xen/arch/arm/arm64/head.S | 46 ++++++++++++++++++++-------------------
>   1 file changed, 24 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 2af9f974d5..b29bffce5b 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -94,7 +94,7 @@
>   #define PRINT(_s)          \
>           mov   x3, lr ;     \
>           adr_l x0, 98f ;    \
> -        bl    puts    ;    \
> +        bl    asm_puts ;   \
>           mov   lr, x3 ;     \
>           RODATA_STR(98, _s)
>   
> @@ -136,21 +136,21 @@
>           add \xb, \xb, x20
>   .endm
>   
> -        .section .text.header, "ax", %progbits
> -        /*.aarch64*/
> +.section .text.header, "ax", %progbits
> +/*.aarch64*/
>   
> -        /*
> -         * Kernel startup entry point.
> -         * ---------------------------
> -         *
> -         * The requirements are:
> -         *   MMU = off, D-cache = off, I-cache = on or off,
> -         *   x0 = physical address to the FDT blob.
> -         *
> -         * This must be the very first address in the loaded image.
> -         * It should be linked at XEN_VIRT_START, and loaded at any
> -         * 4K-aligned address.
> -         */
> +/*
> + * Kernel startup entry point.
> + * ---------------------------
> + *
> + * The requirements are:
> + *   MMU = off, D-cache = off, I-cache = on or off,
> + *   x0 = physical address to the FDT blob.
> + *
> + * This must be the very first address in the loaded image.
> + * It should be linked at XEN_VIRT_START, and loaded at any
> + * 4K-aligned address.
> + */
>   
>   GLOBAL(start)
>           /*
> @@ -535,7 +535,7 @@ ENDPROC(cpu_init)
>    * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
>    * level table (i.e page granularity) is supported.
>    *
> - * ptbl:     table symbol where the entry will be created
> + * ptbl:    table symbol where the entry will be created
>    * virt:    virtual address
>    * phys:    physical address (should be page aligned)
>    * tmp1:    scratch register
> @@ -970,19 +970,22 @@ init_uart:
>           ret
>   ENDPROC(init_uart)
>   
> -/* Print early debug messages.
> +/*
> + * Print early debug messages.
> + * Note: This function is only supposed to be called from assembly.

I realize the wording is just a copy of what I wrote earlier on. But I 
would use 'must' as this is a stronger than 'is supposed to'.

This can be dealt on commit if there is nothing else to change.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:19:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:19:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581028.909528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTi9c-0006tk-8t; Wed, 09 Aug 2023 12:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581028.909528; Wed, 09 Aug 2023 12:19:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTi9c-0006td-4h; Wed, 09 Aug 2023 12:19:08 +0000
Received: by outflank-mailman (input) for mailman id 581028;
 Wed, 09 Aug 2023 12:19: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 1qTi9b-0006tX-Ai
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:19: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 1qTi9a-0007fK-S1; Wed, 09 Aug 2023 12:19:06 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTi9a-0005o5-Fj; Wed, 09 Aug 2023 12:19:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=rh+puutyKeAjoWJBiHzu9Jn5y5g+2e2Vl5kbP9d2D5g=; b=BaycMp0q/89eqdhEb1Zr9Erm31
	IK9BM2U2JUjFsDsfyrG4lRL4U5XJiNN96ED8L2cGQBYapDz4EAPuYeyuyrLbzxGX3TtFdU1jSywci
	H9qaTJBvr7dD5/8oVhLHirZjtNggjUMiSWUQxDfLagemca1jhuX71Ekx6MYcWMtpiCO4=;
Message-ID: <83022ef2-dfd1-438c-b8e8-2f1bf0866918@xen.org>
Date: Wed, 9 Aug 2023 13:19:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/13] xen/arm: Move MMU related definitions from
 config.h to mmu/layout.h
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-6-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-6-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 01/08/2023 04:44, Henry Wang wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> Xen defines some global configuration macros for Arm in config.h.
> However there are some address layout related definitions that are
> defined for MMU systems only, and these definitions could not be
> used by MPU systems. Adding ifdefs with CONFIG_HAS_MPU to gate these

You haven't yet introduced HAS_MPU. So I would suggest to write: 'Adding 
ifdefs to differentiate the MPU from MMU layout will result in a ...'.

> definitions will result in a messy and hard-to-read/maintain code.
> 
> So move MMU related definitions to a new file, i.e. mmu/layout.h to
> avoid spreading "#ifdef" everywhere.

AFAICT, you are moving all memory layout definition in a separate file. 
So I would say it explicitely rather than using "MMU related definitions".

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

With the comments addressed:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:28:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581034.909537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiIj-0008Q6-2Z; Wed, 09 Aug 2023 12:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581034.909537; Wed, 09 Aug 2023 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 1qTiIj-0008Pz-00; Wed, 09 Aug 2023 12:28:33 +0000
Received: by outflank-mailman (input) for mailman id 581034;
 Wed, 09 Aug 2023 12:28:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTiIi-0008Pt-4d
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:28:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTiIh-0007wa-HL; Wed, 09 Aug 2023 12:28:31 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTiIh-0006A2-Aa; Wed, 09 Aug 2023 12:28:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=RVSUjH3ciftGt3wM0Uv3ufgpFySL2jxRjB74OhNJa7Y=; b=tT4G2k4bUse8r8D/OJ+p68TVgX
	8AAZW5pUMJ2AcemG2LopJC+lZToa0W7mcXw/1Zh/RhDjg2xY5pFh+QYvYrlZ+WgvUXVXKmHOUK65U
	8tt3KaFqk7cDqn/pD2KOUoGHLuhuVkH/O1fjOmgoknec/vtlGfH+GyGQ2AmdAWKsDOkc=;
Message-ID: <1307da1d-5d56-4fe1-932a-c384323264ec@xen.org>
Date: Wed, 9 Aug 2023 13:28:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/13] xen/arm64: Move setup_fixmap() to
 create_page_tables()
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-7-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230801034419.2047541-7-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

Title: NIT: It is more a fold rather than move.

On 01/08/2023 04:44, Henry Wang wrote:
>  For the
> future MPU support work, the early UART mapping could then be moved
> in prepare_early_mappings().

I would drop this sentence as this is more related to the future 
implementation of MPU rather than this patch itself.

> 
> No functional change intended.
> 
> [1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed80@xen.org/
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v4:
> - Rework "[v3,12/52] xen/mmu: extract early uart mapping from setup_fixmap"
> ---
>   xen/arch/arm/arm64/head.S     |  1 -
>   xen/arch/arm/arm64/mmu/head.S | 50 ++++++++++++-----------------------
>   2 files changed, 17 insertions(+), 34 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index e4f579a48e..56f68a8e37 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -275,7 +275,6 @@ real_start_efi:
>           b     enable_boot_cpu_mm
>   
>   primary_switched:
> -        bl    setup_fixmap
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
>           ldr   x23, =EARLY_UART_VIRTUAL_ADDRESS
> diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
> index b7c3dd423a..6bd94c3a45 100644
> --- a/xen/arch/arm/arm64/mmu/head.S
> +++ b/xen/arch/arm/arm64/mmu/head.S

The second paragraph in create_page_tables() now needs to be dropped.

> @@ -231,6 +231,23 @@ link_from_second_id:
>           create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
>   link_from_third_id:
>           create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +        /* Add UART to the fixmap table */
> +        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
> +        /* x23: Early UART base physical address */
> +        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
> +#endif
> +        /* Map fixmap into boot_second */
> +        ldr   x0, =FIXMAP_ADDR(0)
> +        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
> +        /* Ensure any page table updates made above have occurred. */
> +        dsb   nshst
> +        /*
> +         * The fixmap area will be used soon after. So ensure no hardware
> +         * translation happens before the dsb completes.
> +         */
> +        isb

The DSB/ISB is not necessary anymore as you are not modifying live 
page-tables. So I would prefer if this is removed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:29:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581039.909547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiJx-0000Wk-CI; Wed, 09 Aug 2023 12:29:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581039.909547; Wed, 09 Aug 2023 12:29:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiJx-0000Wd-9b; Wed, 09 Aug 2023 12:29:49 +0000
Received: by outflank-mailman (input) for mailman id 581039;
 Wed, 09 Aug 2023 12:29: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTiJv-0000WR-PM
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:29:47 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cc5f5b0-36b0-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 14:29:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8792.eurprd04.prod.outlook.com (2603:10a6:10:2e3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Wed, 9 Aug
 2023 12:29:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 12:29:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cc5f5b0-36b0-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U7sGYmwSz5Wa0LUVrmfr0xxJ7Ngy/9ayMytBl/nykxdwou5fWxq52x8g+y94tMN+vvXvXG9v+aVQ3FwNrDhXb4YnzFS/LsDs3CaTv7Jj3I56a5iw/wSUKoiTVBt29KA7fRlIQ01gWGoZN/nIgG/TRuhtB/YjgQaWeVxJcWcpS2IaqN2iLMfXmow/XMXMt7e2TT+4C31sANGTlMkdwTd8wljSHSQZ9SAgIe0ZMv8oLRNa3Q2kZqPowCGZR1ORIDxA/mZGVYwN6wo34pG0vNBiveioj38j2H0+RYr6bBV52QHTko/wZXdRvJTXsNR3jgFTmaMR6RCp3eO5GQR3qM3MRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LELKa6p2/OKxQTGmguNp2vkQIbLmcSv+nDELPfyHX3Y=;
 b=gGJ82yNCR2LEMpVVcCFkfrGA6drxkegawsZ6Wg6HtZZpujN111RzldSRXQUTwZL5ZxXC9bAf9Nbrie79xEcRGgmf7eDWBTIUMvXnSgWY9qPVLX5xxtBG1m1U4QQmjVhZ4hpIzpmZ/m2/YefIhwEoj6d1d8wx+/M1fBmz8OG6fAEO1FmwYeV7HT3B/csq1nXTqiNMjbAJki7i2BPQd4qLiW2P2DW/UCxBALAZyJSzDfyUYd6HuSbp/sG/6Qkpch51gAMum23fjp7nqjgBq8Z/WlmbyvHCWQWjDmnE/8ZpwHKW76F+NHk9vkew9pXfBuN5USJHH9C+cjUCdcZuBHZZ7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LELKa6p2/OKxQTGmguNp2vkQIbLmcSv+nDELPfyHX3Y=;
 b=bleYAoSlVQPUrrr/NnBT18l+lb1dnHOxHPSScWhx+9Izw912Kv7o48p1+vWWsPtS1CwUcp8kCNChNXCeah42/tgB876+LTbu/NkoGSlxqaVWDLfQTl/vO82WpBzwbV0yNpq+DqUK84AMdFr8znD8R5TkVD88cO5KLADlcUUKrHsgJ6R3IYOgvBBTdxaaEqGbu4tu2Uak/wOAXJVLYmMyTeAFLPmVyFmiZtNVEf57WENpMqKfe1CP9iWYKldCMweUbszgMeXNV6UpuNWqcLSu8YVEnF1Wpu7FKaDqPcyn1VAO83A2Y51Gloiv/nIKpWkYiAxp2O/TywYCu1+rekc2yQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9c310f74-e6c3-f86e-8044-0e078ad00254@suse.com>
Date: Wed, 9 Aug 2023 14:29:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: implement cpuid() in terms of cpuid_count()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8792:EE_
X-MS-Office365-Filtering-Correlation-Id: ae78f145-0cc8-475b-8e72-08db98d44f97
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6lkCR7uR07mgRP4dtBnkED1EVZQ9/jTzt8NvNexrIrAeu4xLnmzhtCtSEvW2XNAh9FjDc+uB8jCkiza8lJZwuXBOhbv1S8psu/SSR0ejJHv/vyYzj9woCmNisMa+wWivxOoUHJuzyLyHEwHmTfLhqrF/iMO5G/J5vUR+8n74Rq2lNtF1QbMFzpiJXZaRM+hd6gGYutGv/KSYtVqzmk1YQA4q1pI/Qy1yllktP3/1AhZJvGLk8q0VlEgH49yF5V0D8tX4nZiNFXqhKb86iU8ZaxpS3WQ3wdbT1S1V0BSeCdrMQdNoFqqfcb0iAc4dswfKzFx3NZfcAETVSkgtV6GdIWoS7veXvlta9Va2C4X4aWcei8F1ADv2uCCZkVqXVnVqhamokf9NGEU/IwmBUmrCsRvll+qzj//Cr9BnCmLvTZbnfL66QGDcTvCRhLwRZatiULgWjG6OW2FugxxZ0vwgGE7v6SItpiJ/IocMYVsJHqRZ0/+W1HQcs0pKbjym6bhFxkNzmYnLTYaakF+jZgL/PkduyZl5vh7lTK2lzx2k0mpSxde6Jva1MWde0P2s31SWDPZoo21INX0brjxHI6ib+tFXlHrI1ckz6OpVm31zbRn7nvuXUBh9rTYmhWJCYF4nqHnYsdEYVGtowKc32nGbjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(396003)(39860400002)(376002)(346002)(1800799006)(186006)(451199021)(8936002)(8676002)(54906003)(478600001)(5660300002)(31686004)(41300700001)(6916009)(316002)(4326008)(38100700002)(66476007)(66946007)(66556008)(86362001)(6506007)(31696002)(26005)(2906002)(6486002)(36756003)(6512007)(83380400001)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWt2cGN0bU9nMGZBUFlHOVg3d2FtNzkrU3ZVUXFyMW0xeEg0RnRQZDJtY09a?=
 =?utf-8?B?UXBXS1VaZTQ5VmpLTWx2eituYTU4RFNrVXFJM3hRdjErMHl6NkUySjZaVjF2?=
 =?utf-8?B?bStvYS8xWjBtYkhCQ29LRG5VY3hzQUY4VzFHdjEwU3h5c1NLSWNCcmVGeTJ3?=
 =?utf-8?B?UHVHeUt2azdnWVNDWXZML2w1azVGY3NHZzRUV1hOWlhQY2U3L1lhMHZwSGtY?=
 =?utf-8?B?K0w4UGtsQWhXc3Y4c2RPQ0JhczlWNDE5Yk5BVzc4WlpFWGlTSDRkNDBwbkN4?=
 =?utf-8?B?eGorUmxKUHlhU2MwZWtLYU16dUxhY0JBSG15RzFpZ1dPRXkybitEM2pXWlVU?=
 =?utf-8?B?TUFNd0M1SEZ5WjA0NngvV3ljKzJEOW42cEdRVFBKRXdrYTl0L09EeHVySVpB?=
 =?utf-8?B?Z1VwdFJhWHZVMDNYOVVDYktTVXpyUnBBWW5ZNnB4UjdkRDdiUkh5UVBYeE5i?=
 =?utf-8?B?Y1hKdWpCYXlNZUtnODVkK0htUXM1R2dwREczSE1RU2pKcm8rT2RBSzkxSXN2?=
 =?utf-8?B?S0F6OGFVQzVnRGx3ckVsQlZtcVB5WnVuVDJZdFEzUURZMUpOb1FiYTNMcHFn?=
 =?utf-8?B?eFFqM21Ka0M4TDd0ZWZxcFNZdHQzYi9FSkdrQlVVSGROWVI1SWdEOCtkNDJj?=
 =?utf-8?B?NXFhK2lFbU5KNDFkTDZxV29IUTQ0QkVYS3k1dGl1VnNUYnA3ampvUnV3MTRV?=
 =?utf-8?B?bjFsVUdROE9FOGNzSHZpVjRxeGVGcTVaRmVZTDRFZXlQeGc0YUhXSjlleEVn?=
 =?utf-8?B?b2VYT2I0V3NVUEF3b0lsRGY1RGhGbVNmUTVMM214T3hBOHJsbnJmdWMwMGN2?=
 =?utf-8?B?RVJYem1uOG5ROURsd0ZManRLSXl2alBVc0pvNU9hZWxURW1EL1FCWXVGeHRW?=
 =?utf-8?B?VkRROTVEWkZ5R2d0cjZ3RmFBNGV2d01RQStuM0JDY2ZiYW1oUVpIV1Q4M3dk?=
 =?utf-8?B?T25KUG1tdExSdUdCMDlsUHNZd2h1bGN1eCt0WFpBbEdveTZwNnVhUmVlN2Y1?=
 =?utf-8?B?QlBLM25Da1N2TUUwMnFoTjIrMHp0RUdBZ0JmM1JxR2QrR1NtcmIwL0RKc2Rv?=
 =?utf-8?B?emt1U3dXdjY5SFZtdFAwOUhTRzNVUmNtdXQvbkZBMDFMTWZCb2pRSXYxK0lr?=
 =?utf-8?B?bERIWEhYQWszOFM4SG5XazRhMFY5OXRTZGtsSmUwV0FzZ3VkbGdxYUxRTjFz?=
 =?utf-8?B?aDA4SVpyajVBNk5kSFpmZzZRekpieVFoR0RmSXRGSWNla2VLa3ZzQmo4SFh6?=
 =?utf-8?B?aGFhWVAxaFFXS1hLRkVpK1M1eFJ2MDZ5RExwd2hXTm5Xa0R4cGxkSkN0VzND?=
 =?utf-8?B?RTEra0tVVmhhUmhYMjFiaFFvNUQ3UWIzVE5ndVIreDZpQkF4WlJtL0FWaGZo?=
 =?utf-8?B?LzRnT1MxMEpyUE9lL09lSnFYZ2MzVlNFSUk2TEUvSVRkckxsYTBSMHdWeFp2?=
 =?utf-8?B?cEUyUGd4czlsSGZ2NnBPMlhOMGRMV1c4amtQSUFlMVZOQncxQ1lwLzUyVWV3?=
 =?utf-8?B?dkhQTTNhSXUxWEh3MENVbk5STll0THd4djA4QkVBNUlESDBBVGtITnJvZE1z?=
 =?utf-8?B?MHNQRmFSUDdlcEIrZGNKNzBiR0dGRjMrQkhZeCt0SGRRRmJBZktWVXQxbWUz?=
 =?utf-8?B?MWFKaXptVVZNeXNSYnpZL3c4SitleHFHWHdjR21zSGdodVFxc2ljVE9UM211?=
 =?utf-8?B?UXpzSk56VFYwdDNFNFBsMkdnanhrbUllWTVudjliZ0orL1pINGVsVGlSd21v?=
 =?utf-8?B?RWJsdnJGWkFTdGdqRUNFbkN5Vm5PbWhKYU5YVjd2SmN6L1JOV1RIZGxyNzRH?=
 =?utf-8?B?R1hsTWpPT3kwQy8wb0xPU21NUTY5ZmJJa1ZwZmFOd0pnbSt0V3lEZzgyMlBG?=
 =?utf-8?B?WFhGZTFKa093U2RVMGZaSUplRi93V0lTNTZ3eWNxNnhCOGJxODlOcXpGVFV2?=
 =?utf-8?B?Y2VxeHZkOS9lNURJTzRteVl3eVBnQWtsSFdrbmZ3WXc0NUV4M3pHV1VlN0J0?=
 =?utf-8?B?N2dQY3VNdlVMTWlsRmg3bzJ3SnhSb1BrTlEvY2E4OVpLYjNsNE9JYWk2K0NB?=
 =?utf-8?B?TmpJbFN6V0VlZXVkSFkrcEFJVUU5ditkOGtzajVvQzAvbDZ1SU8wZjBwQzJO?=
 =?utf-8?Q?gg9uGywJpYvK7WO1YLz+7zeOU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae78f145-0cc8-475b-8e72-08db98d44f97
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:29:43.9984
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lhKpWYnX0TH78yS0snOnl5XE8xC02Qny6um8pJ51NbRAsaQCRtNxHOid/KlSXtJhRSPfugiAM63iAnLzoz+Jnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8792

Since as a bug workaround (likely inapplicable to any 64-bit CPUs, but
it probably doesn't hurt to keep this) we clear %ecx on input anyway,
we can as well fall back to cpuid_count(). This allows getting rid of
four risky casts and makes things type-safe. The latter aspect requires
two type adjustments elsewhere. While adjusting init_intel_cacheinfo(),
convert three other local variables there as well. For the struct
cpuinfo_x86 change it is relevant to note that no 64-bit CPU comes
without CPUID support, and hence cpuid_level is never set to -1; the
comment there was simply stale.

No functional change intended, yet of course generated code isn't
identical.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
It may also be interesting to see whether this addresses issues Coverity
recently spotted (in error), in spec-ctrl.c:print_details(). Andrew
considers cpuid() being (just) a macro as a possible reason.

I'm willing to switch to an inline function, but I chose the macro route
because this way it's less code (and hence less redundancy) overall,
without any loss of functionality.

--- a/xen/arch/x86/cpu/intel_cacheinfo.c
+++ b/xen/arch/x86/cpu/intel_cacheinfo.c
@@ -172,8 +172,7 @@ void init_intel_cacheinfo(struct cpuinfo
 	    c->x86_vendor != X86_VENDOR_SHANGHAI)
 	{
 		/* supports eax=2  call */
-		int i, j, n;
-		int regs[4];
+		unsigned int i, j, n, regs[4];
 		unsigned char *dp = (unsigned char *)regs;
 		int only_trace = 0;
 
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -23,7 +23,7 @@ struct cpuinfo_x86 {
     unsigned char x86_vendor;          /* CPU vendor */
     unsigned char x86_model;
     unsigned char x86_mask;
-    int cpuid_level;                   /* Maximum supported CPUID level, -1=no CPUID */
+    unsigned int cpuid_level;          /* Maximum supported CPUID level */
     unsigned int extended_cpuid_level; /* Maximum supported CPUID extended level */
     unsigned int x86_capability[NCAPINTS];
     char x86_vendor_id[16];
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -131,13 +131,8 @@ static inline int cpu_nr_siblings(unsign
  * clear %ecx since some cpus (Cyrix MII) do not set or clear %ecx
  * resulting in stale register contents being returned.
  */
-#define cpuid(_op,_eax,_ebx,_ecx,_edx)          \
-    asm volatile ( "cpuid"                      \
-          : "=a" (*(int *)(_eax)),              \
-            "=b" (*(int *)(_ebx)),              \
-            "=c" (*(int *)(_ecx)),              \
-            "=d" (*(int *)(_edx))               \
-          : "0" (_op), "2" (0) )
+#define cpuid(op, eax, ebx, ecx, edx)          \
+        cpuid_count(op, 0, eax, ebx, ecx, edx)
 
 /* Some CPUID calls want 'count' to be placed in ecx */
 static inline void cpuid_count(


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:43:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:43:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581047.909557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiXC-0002zl-NG; Wed, 09 Aug 2023 12:43:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581047.909557; Wed, 09 Aug 2023 12: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 1qTiXC-0002ze-Kg; Wed, 09 Aug 2023 12:43:30 +0000
Received: by outflank-mailman (input) for mailman id 581047;
 Wed, 09 Aug 2023 12:43: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTiXA-0002zY-UI
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:43:28 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2083.outbound.protection.outlook.com [40.107.7.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55a7a6a4-36b2-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 14:43:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8966.eurprd04.prod.outlook.com (2603:10a6:10:2e1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 12:42:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 12:42:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55a7a6a4-36b2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CMZKrwULhP1vU7HwgyLMZOEqxyHHk5PsSMSmnbOno3ZUmvomHCRMwksCIM4x7iWYCJZ+DEtAS607yxONVj4RheE9o87vzOMACPvhU6L4SXzCXnCQyh3sPvZ60H1s7BrY3Mx/gkNyJiDbnGYj5iHwec63ulA/ZBlzUW5VgXWYYEjFtWA6RCtOxf2pzyWqFaNYjFzYyyS1P12hKT2e50OYCyZkPPIpke2MjBsKAc2scygIVC70DqKIZRwoPlqdMh5fvloX5KdeftErCk8oAOi/7nTWzyWm0dRJF7ppmM4YESw+hdCiC3+BXhQY6wvoBSXq0WgSyads8XMiqe31spFxLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qDCvP9gDz4OwFGJD9WlNakVlIXibVVDA0fVaxyA6IxA=;
 b=gO4vFJqruKJjqr2ChuEHntO1f93043HMBGDADAZ2tC553AWhJxAT0M+QQvFSjENgCUNuewZWSV9jsSGPMmAJMVf7taXRDVdqTwupGmtGdl2Kz8/UALFzYAphV9sWHQDUmoXOFCrtBBXFHReLMpPEW94nPIh0UVNEvBk0V3m+zvrHxt+TZh+WWElYJsldmtno3uJOA+HVtXU4Vs4enX03cUQvlETelZ9FG/M3+6uJknK2BLzTANqgYPo2+Myncq1x8nsKcKBAqTKjTdRzCi9YndpTImSEGWWdpwFxHVFRXp4mBwSaukor+AcNx5vAiPHb0TXCV4CpNI2TPjtQPNm+jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qDCvP9gDz4OwFGJD9WlNakVlIXibVVDA0fVaxyA6IxA=;
 b=CuazNH8zkKJ1s87Sm3CABabz/adOUdgpxBnrrKNU4JiqqGDEmF8GPPCBGXhCEspBlWAq5uVtxPsYQt7TMpU8yUJKF5pqhllwS8u554YCeRBOFKjZV8PlXE7vE8tbCvcrS4UADILvam0pCF5PCL+bqU7JlaTvDVg7o60eJm6/gNDOtUBnVSC0c7eN6fO+wfazPlCniCqf+I5nOylWb6r47W3JqEOD898KF6Ms3U5lfJKGDeWES6vqidSVq/OfcCH0glsBUdQspA1rmZJZEgySmu4rk7UTnPvMoKvjpTBzMNNGsm+ru4fTpmepZjBIthzxSCc+Mmaw4HK5Gwi1EltJyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
Date: Wed, 9 Aug 2023 14:42:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
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,
 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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8966:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c858806-d82b-48aa-e3b5-08db98d628a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jmS5l2hIgTGTcCtgJbuL0ifWUQg81//9Uywe6zXykvfOTOChCJbTY2pcx1rTa3xXukEVw+8hR5YDlpIWSN0Xef1WxLfye2M4lVPkAlaLXc7/hmbxNT8AwMQpQs9KjhKFRx8RwbD8pPDNq+8+8DfnWGiDX1A87xcK+b0hyAGlOeum+Q5VD7Su8um656zV2z/tq8RTf+iyMG9Mx3tIu4Ua7eCY1zzbjzmKYVRHfDAAJb8uaf0bVsy/KbqJlVL07A296rbbhlzYYoKj+8thfFdv9DcNwHmwkxPQ8SbYpsi0PUSpsHI8gIM99uNu1NQQLT+X1WzB7TSQYEuh3cN2ZMexaSVWIkP4xPzYkOJJ2IN2FrA5XtFpGGWiQOkQ9psMuXTZdeKN+lARKX/kpj5THUHw9D+gMhcaKEClJPbsjEKCI7JhenEnbTNEWiSq51X27TexS+yXZx+Yjvsvu9fORgsD2UYisbvEW82JLqvQeJ1NBglKS2xJWWu9TLP5kbf9FjhGUNptD4+GC55HlC+usYu63gDinuX+K4iUp7IKRfJAQvxSY0ewVJXYvFwHbpKwkU90Zxi28O9fD+fzVEWwzRd1nanLTE4Tex4owtcPIKuwrc6oBmrhZZW2+0pJXOzjJBqWHjEgleDtQMG8REHp9NIFDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(136003)(396003)(366004)(39860400002)(1800799006)(186006)(451199021)(6512007)(6506007)(26005)(53546011)(66899021)(66556008)(36756003)(38100700002)(54906003)(316002)(7416002)(86362001)(5660300002)(4326008)(2906002)(66476007)(8676002)(31696002)(6916009)(8936002)(66946007)(41300700001)(6486002)(31686004)(478600001)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzg4RXBUZWdzWC9wdlhmUGFzUW9BM2JwYm92T1ZLK1FKeStPZFhkRis0Wjgr?=
 =?utf-8?B?NkRsR0RSRGIwVmZxMksvUDJUSndranpZWjZOQTNMWnRPT29lRVdTbmQ1WURi?=
 =?utf-8?B?TkJ2S0J5eWxTR3BHcUQvWmFrcEpuczAyeVByaFhhZ2t5engxOVgwZFJHa2lJ?=
 =?utf-8?B?R1M3SGtMd2Q4K2ZVNEpmMExjdlQ2K0tJK2VseHlSWEdqQlJ5QVo3MjRlWUR0?=
 =?utf-8?B?bmR3S1VSYjBic3RIWENsNWRrcFJqZmlSUzQrNzh4NUJyREFNM1RtdjRlbTVX?=
 =?utf-8?B?WHh5ckw4OS90dGNFcDhxOG1LUG5yNHoybUdJOGVIK3MwMjRHVUwvVzJRSkc4?=
 =?utf-8?B?VnBNUWRYZk1mbDNxaG1ORzdwZVdaWUhtdGIraTFFbk5wTUM3OHRPNkFiQ2tw?=
 =?utf-8?B?aGUrZDVSTS9TWVNHblRlU3VxQlZXSE9SbktlTXl0ckhXZXdLRVNkRWhHSzZG?=
 =?utf-8?B?VkdNMno1WDFHc2xmZXBBL1V0M0Jjb0UvbWlwQ1pudFR4cjkvaDV4SGNRK1l0?=
 =?utf-8?B?YThzc3UwME5CazFNSTJ4QjErWS81anpzakNkMGEyYmhyRDZ6OU5lYXdQZlZH?=
 =?utf-8?B?dmNCbjh2d3lYdnRGd29xbzgyQWFtczNpOU9GanZjM2R4OEx3Z2tnbzd4aTNu?=
 =?utf-8?B?OG5CZWZBeU1aQVdnd1NkREtUSWRCTjJ2cUJoZkpCcmRLTUtnZ3J6SlIrZzJS?=
 =?utf-8?B?N0c4b3JKNGtNY3JDMXlsdmc4L3BQdU51MGtFOTlQakV6NGFLWHBaZVVJYzNI?=
 =?utf-8?B?SjRBVDlSNmJOMUMweVlUb3VDVFh6STNtQUJHV2htd1N1YkdLVisrdW9oVHBR?=
 =?utf-8?B?dEZIaWFkS1Z3VERtWURHTncrZnJqVUJOU1lpVExQMDR4TVNyRnBBUHZsaVRG?=
 =?utf-8?B?OW5ZU1RXeDl4STkySFVNSklrMG1UTkNrYm42aW9BaExRRkk1US9ZN2owRWZE?=
 =?utf-8?B?bnJITWdyZWJBTExnK29zNzBZUWt1SWpOcTUzaUpWQW9yOTRqaXBqSW5YejBw?=
 =?utf-8?B?MGFWbklneEJIN0FBcGI5VHpRUWxUcXp6VDlRUDJjUnpyQkZrc1VHZ3NSYzRZ?=
 =?utf-8?B?Zkt5bFp4dVRCeWJKd0toOU1tNzZ6V1hTNThRSjdZeGhCV0pOajlTVmZZMHpo?=
 =?utf-8?B?TVQyUDJrNVdmaDVveSs3Z2NVODR0V1kzdzduVXlJa3JHMGVzMi91c2x5WXRI?=
 =?utf-8?B?ZDBJK0ZrOHNWeUZYaTA5R0JuMWZtUUFCUnJOcFI2WXVmeHhNK290eGVBRTc0?=
 =?utf-8?B?QTBCaEZJVXE1SmtCcUxHbWRCTWJpYm1hMlB3MVlyL05zUHJKTDFQRk1WRUdr?=
 =?utf-8?B?VmxFTnoxREJoa1dETGVBNmNLZ1pMWjBkZTFIRkxYUGdIMG0yRlc1ajh5VlZN?=
 =?utf-8?B?dktYM3U3ajZmemcvUGxMM2o5b0Q3OVZodUwyOWUzK2l0dk80dFAzd0dlQnpX?=
 =?utf-8?B?NllKWXFCRmNGa25IY1Q1QTVFcDE2U0p0Y3FXSlZkTUJONndDOFVLRzYydWFW?=
 =?utf-8?B?OU9mT0plWlJvQkpqeWVpWitwaSt5NjkwZnVjTUR0bXlKTm1lRDh6S1JTdzgv?=
 =?utf-8?B?V3BDdzQ5dW5RdHpuNVpsRVBBWGx1VGpGUkpGajBFUFBPMGRjVkxYYjB3eUFu?=
 =?utf-8?B?RUQxQnFMa0NLOVRPMVIxazA2T0ZmQTIxOXhkODJ1L0VtZFdHaHBsZ1hxZUM0?=
 =?utf-8?B?OHhJbWQ1U21vNXZwQVlFL0s3dmxMQWVFSkp6QkIvUjJXQmhCTHdUKzhKbGkz?=
 =?utf-8?B?ZDJhbjByZDZkVWpuellpcTN1U1ArR3VETC92dzZ3N0lDSnEvNGRUQ0pZSG83?=
 =?utf-8?B?TDJrVzN2Z2FrdloyeXAyaXI1azdpck5pL0ZadFlKb3pYcVJVV3h4WGhacnhX?=
 =?utf-8?B?VUhxbTNaS2lJSkYzZHo5bzhnVnplS0xUZlB1QVFpNHJVc3BPQWQyUGRGeDY2?=
 =?utf-8?B?bDBlQlI0dTVpeXZHdDNjLy91aEpMaHREbTZvM1hLSjNzd08rT05yNU1Vclpl?=
 =?utf-8?B?Y255SisxRDY3ZFVlcDVzZk96Rnh3ME5iK0gvZWp0MElFd1hmTEV1STVJd0tj?=
 =?utf-8?B?WnZxNVJweWlEdE1WZlpWQTNpSTkzTEhvenRtRzc5cDVkU0ZOcnFGRWZlYTFz?=
 =?utf-8?Q?DN7YUsObthHRfTTNKhZxRwyIE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c858806-d82b-48aa-e3b5-08db98d628a7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:42:57.6632
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jPWDeQ3bhrSMeJkrNxzt7mEjT7bXa63XRZQa5RYutvXvAdQ7UDMRGzettp52Gvzl2ni5Yo8p0Sx0JBRSf1slHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8966

On 09.08.2023 13:02, Nicola Vetrini wrote:
> 'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
> the declaration of 'arch_get_xen_caps' to be visible when
> defining the function.
> 
> The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
> to allow the declaration of 'udelay' to be visible.
> 
> At the same time, a declaration for 'get_sec' is added in
> 'xen/include/xen/time.h' to be available for every call site
> (in particular cper.h).
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/arm/setup.c   | 1 +
>  xen/arch/arm/time.c    | 1 +
>  xen/include/xen/cper.h | 3 +--
>  xen/include/xen/time.h | 1 +
>  4 files changed, 4 insertions(+), 2 deletions(-)

I would have almost put this off as Arm-only, but then saw this diffstat.
How come you consider cper.h Arm-related? This is used only by APEI source
files, which in turn are used only by x86 afaics. So I think you want to
split off the movement of the get_sec() declaration.

As to title and description (perhaps affecting more than just this patch):
Failing to have declarations in scope where definitions appear is an at
least latent bug. We fix these as we find them anyway, so Misra is
secondary here. Hence I'd like to suggest that you declare any such
change as an actual bugfix, ideally including a Fixes: tag. It is of
course fine to mention that this then also addresses Misra rule 8.4.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:46:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581052.909568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiZh-0003ZQ-6P; Wed, 09 Aug 2023 12:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581052.909568; Wed, 09 Aug 2023 12: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 1qTiZh-0003ZJ-3g; Wed, 09 Aug 2023 12:46:05 +0000
Received: by outflank-mailman (input) for mailman id 581052;
 Wed, 09 Aug 2023 12: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTiZg-0003ZD-6J
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:46:04 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2675725-36b2-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 14:46:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8533.eurprd04.prod.outlook.com (2603:10a6:10:2d4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 12:46:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 12:46:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2675725-36b2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fN9dfwLYVwcRZqwLANN+unwN4Yy2Rz35v5BaT10kHkQRD6Np7LAMvVw3WkeUK2RMQ8xlQdcrDv0mZGMIs7khRaVdTcvCu7LrC5+F0ec64CYA52AmriGCg7QCp9og9fs0R5kI6udXyctZelafz+81yuR/FEJdeeOWe8/CJkPVbogfBkkt6vZUkM28ZCvvpRNzKhG2hCW1EARd8P/b1ouI3Cf6G/ALo3ym3wvVQVe9bS/7T4tdno61TsM+UNchQgY0Jp/8Rwzvn6mHvZVupKRFPkHpObbFgc7idvhMjqDcsseCMzUQSbw65XPlJ8KksB4t80I2wkJM6OcyAVNWM1TIVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q6DHxT3FK1KX+fYL3PgU3l+FRGXVf2Q2tDn7awPp8m8=;
 b=mR08kxzCptggWHh/50b4DaHmn2rie0uKbEMDyCOoroJ0UrVKrt6H4XoH9WmdEDMbl4a+C/6NLTwFxvMVSD/Cu1fajzgHdUoDdH1gKYz048ZkXm7GHiJENR4SHl4kF4Cl48G8jSwvUK/v7iRAnkNgXpUXJ1Ud/RJxv00N3drGFJ9JdPm0yFMI9dodnmzcP4NiVRB40aMYbJx0/PI7Z3kZE1BL5L9kog0h2axgdU8nQ+dPdCxfa/XhYRTKaN4nxuuCKuWN/vx9xqiAf2JBdgqN22UdQgnvh/Frye5Qi8G73P7oDN5xW7kBjvyhtQk06s9AO+VFeJwLSZtdQ0D56aXU3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q6DHxT3FK1KX+fYL3PgU3l+FRGXVf2Q2tDn7awPp8m8=;
 b=D2vI8qTjwJdIyWbuS6pAcVvheI2aLL2Vm/3Huw40+qKv9TT4eZ31iCS6ZC0T8KKZCyM8K7U0ikxGpGqs44/7snc4L7ouVIdp15V0L3Mbkyc8MStqIDoaSJZH/IK7d50cw93d9ulb5s+pP0N1937IY9e45CShhnOK8S22clPsw0Hy4/xKtDODTyjxbZdR95JZQEOUY0G+7fcuWKIzSCv7oQBwU0dqqBNuCM6KSsianJ3Rj35azaqbm6iUsNq075l59GSOGLk26v+13Bn6KF3iAhKxJPrWQU85HITUZkx/fKRieDhsh0ehMNlAveYxqfnVHY1xYAtM8e6dzxdm73UlQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35c1a691-92a3-0fb1-04f2-f75755a3b5e9@suse.com>
Date: Wed, 9 Aug 2023 14:45:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
 <37bb5dc6f323bd2dc250c519523d05b66d17fdee.1691567429.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <37bb5dc6f323bd2dc250c519523d05b66d17fdee.1691567429.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8533:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a12c53e-84b3-41c3-e939-08db98d6954f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uJv8AIH9/8mEQ7zo15lh/AseqpTj253I6I2aAaiwsPJUN4U974puCxvzz0rpaNSGRcpFrejecZK4kXZGo9HRmRvTmK3PJ6UEk/mNGKqPL4CaBI+3OlDbUSWyJ4S/xk/mPg7WsA1rUClpElL9ansThKZz34XEpHX7pfcPKNX7cZmOxShbv6wIn7R8aKzGpYUiGUBZYQdZMvGdr4F8mTFSkKOzgu8aZwVj/ZQQGWNTJWs4DS0meUPkr1gNeqd7gaydgQAQmhZ2PMB/E6C0CQDXPsZ1tYUeESAa+qiINtRgW+a1FkJi/BqZ/P3WzjChWaZMg/XSYBgCdnH/mQh7WjQ18CA7SQd34b3ItnSQ5oOOYrEUrAmbmpE40ALsRQzvm3XPA9d9b6bDPgMKEF3g4SuKynsPP8ZCCGIWYtudCuhLhpHPG8OPRL+D6/2ZJyvSrYS/PqkjdlId5HqFlHi6xIZkqH5C4Q87isjNay7DYFam7u5SipS+xuYjPm2ijrzNzzOBLnBwzKbbqX7WL3zUQuKEIeMYsPhoCfhJhL8l6qYHpGSbdhuFyPf9T0qhVtsrk98OxYAnOMmenDRPscu3KkyXxu+tDUl9ZkCASGKwMOcZ5B8mIjVEG5IEtQel/nQBnJFD3Re/Ri8fbUoZVxIrQXTScA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(376002)(136003)(346002)(396003)(186006)(1800799006)(451199021)(31686004)(53546011)(6506007)(38100700002)(26005)(478600001)(8936002)(7416002)(5660300002)(8676002)(41300700001)(66476007)(66556008)(66946007)(6916009)(4326008)(6512007)(54906003)(31696002)(86362001)(316002)(6666004)(6486002)(2616005)(4744005)(2906002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z05rZ1c0VDZCWEs3ZTl5c1oxOHd3WTdsQzdaZU5WYmFQcVRJTHlUUEVHVW0r?=
 =?utf-8?B?ZXhkYTIwLzViNXJSR0pOVjFmNFBpMGgrSHV6RkNncUkxMWwyeDF6bVp3NFNo?=
 =?utf-8?B?VEplNFBGWHFCaFFCZGJDRG9NdGExeG9OSjBFR056bnd2Z2w1VGFlYnRod2xo?=
 =?utf-8?B?aVJVYStVMnROSnE4dFVSekFlc3ovS0poOWxvQ0hZSmkzZzE4ZlllbW1jNDF5?=
 =?utf-8?B?MXpreVgxbVlNNE5lelU5T0UweEpBYUc3eXpZMzM3TUhIZFVtWG9kS3FXVS9G?=
 =?utf-8?B?RktUcmJnaDRCNHVaazZUTmVnc2d1OXp4QmdvSWFtREdBOWJybmhEalBub0ZW?=
 =?utf-8?B?RWFOWU9YZmJlUmhJcCtJUEdTMVhWZ05QakYxMzVMRkhmaHVBNkg4dTJyM0dW?=
 =?utf-8?B?K2dWbTVZUmNBbEJ2akNiMkQ0Q2V1MTRHL0NsSm9qYWdVUGxQQzMrNmUxdnVw?=
 =?utf-8?B?Y0txczVDOElUK1RacC9wK0x6VW1EeVdhSFY3KzFlalhSNGlRMTZzVkVuekpt?=
 =?utf-8?B?WndFZ1I1cnNEd09vcmRzYU1kRi9XbDJBZUF1VEVBQWltRHVVRFBKNVlnSTJZ?=
 =?utf-8?B?RGh0RWh0Q0NEN1FEeHJ3WldRMnp4NzQ2Uy84TkdLeFVxVVl3VURQa3R2QWpV?=
 =?utf-8?B?NlRxU2d4cVlreml3QmVZN0tYdGozYktIblNiR2JQK2ZNYnN6WlFRVjlxbkNR?=
 =?utf-8?B?OEF5MGoyK0JzUU1BVHBTNGlxVno3eHA0dXBkUkRQd0ZEWjhuNnBFZm1tWWNq?=
 =?utf-8?B?NjRKb0xxdnJPMXRrZ2R5R2xIVDgvUUpLMk4yMTBQbCtpUW5pckJXaXJOZEhh?=
 =?utf-8?B?blJhMkF3WFF5d1l3bkhEd0k4NTV2ZE85dElXK1RzSlJZS3E3TUdpak15THRm?=
 =?utf-8?B?eUx5aGxnZUlXcUJjS2h1b2o4b0dGN2I4K01Za3dDV0JlakxQWFJ5RzV3QkRK?=
 =?utf-8?B?d3MrVVFUYVlRWW5lVzNaV05abWY0Zk4xMGhnNHRkV3haaTlQYitkMS8rVlJU?=
 =?utf-8?B?YkV6a1lZQU1YNFd0WGg4U0FVQUhnSmEwenp0aU90Vkl0N0VSMHNRTE9FN0Rk?=
 =?utf-8?B?ZkhTSGhZNkd4TERZWkwvdW5yT1ZVLzFSRGJESHBweFhFTjB6VVZtSDJraVVK?=
 =?utf-8?B?cmZNUUZqbVgvSU9ITHF6MmpXcVN5VVo4MCtZeFNFSm9WS1M0YWtsNDVNR2Y4?=
 =?utf-8?B?SjdQd0ViUE81NnlMYjcvd1loWU9ncFBMaEdnN05IUFM1UmM0NStJWTZzZjky?=
 =?utf-8?B?NVhDUmJUQkFJZDhvMXIwVmtSZVJmckZ5VUYxTUVjRmgvWmJHcm5oZHhpTUNQ?=
 =?utf-8?B?V2h3U25xeTRuU3BjTTZkcnh4NDBuRWFkY1U3NGt3V1AwdzdrZCtYaE1JRTE5?=
 =?utf-8?B?eXIyL1hlUFNWc1lzSjRid1V6bDFNZkxkMllSRElzUDc1aENhcFNXM3U2UWpX?=
 =?utf-8?B?VGpXdWtlWkpwUFZ5aFVTV0FabmpnVXFFT2E0dlpKeVMyWCs4em90K0ZlSHRB?=
 =?utf-8?B?QUVoRnNwVVhaWncwVzZhMWNlRHErNU0rWTV3aGdEOG9hMHh1YW5MYlROSDla?=
 =?utf-8?B?N2lEZ3lYVmc3YnlqdTkxVG9DSmJjZ1g3cmZJRmFJc1BPK3RWTnJxYmxIRXox?=
 =?utf-8?B?eHVUaGltV091MHNmQzZVbDZPcmk5V0lyMFJuUVNBdzltWitsZnJuSy9jMTdD?=
 =?utf-8?B?cDdKN1dKL3lIbXM5b1ZTSUYzMEdDOFJZSzJjR1NkUnArNGpnRVNlTWhwOWRH?=
 =?utf-8?B?NHovL1VBdkR2NDJvMmFLT1JHMjRMZVFicUFzU3JuYWlNTksxdlhvS2lxYVVG?=
 =?utf-8?B?bENyQmlyQVZEMnI2RERuZ25QUDFnTGNLdS9FK0RhTEp0SUo0MVJpVnR4aEkz?=
 =?utf-8?B?RWx4L04yRVB5NlUwbE41My9hdzZMOUUyOGZ1SWN4ZmtZMjJucUlkTTVZSUc4?=
 =?utf-8?B?UkhXaWtOZHd0ZDdFbkFGWjA4b1hTMC9wZ2ZsTVJrS2ZTOHkyTmh0SjhCWWta?=
 =?utf-8?B?N2tONy92TjBqMGhMNlNNTGlZZGtTSmFHZHZ2SUtVVEY2MG5FODJDRmZVYTRt?=
 =?utf-8?B?Tjh0VW1iOUduWFBYZmRUM2VrZVZCT2w5amlMQ3hsSXlzQXlEWkxsVENsbUQ1?=
 =?utf-8?Q?rBZSsV1EYck/kfDfjp0QRKpdv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a12c53e-84b3-41c3-e939-08db98d6954f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:46:00.0841
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mVNzu8bJGZcYwrWy0DGcFExfyueA+dDRNGpy/yj1U+YLQC+WR3Cds4tH6za+gRZP+TKbr+Kb5NevFyojQdZHhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8533

On 09.08.2023 09:55, Nicola Vetrini wrote:
> The local variables 'irq_desc' shadow the homonymous global variable,
> declared in 'xen/arch/x86/include/asm/irq.h', therefore they are renamed
> 'irqd' for consistency.

Perhaps with "for consistency" dropped (or else clarified what this
is to be consistent with) ...

> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:52:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581059.909577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTigC-00053a-SQ; Wed, 09 Aug 2023 12:52:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581059.909577; Wed, 09 Aug 2023 12:52:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTigC-00053T-Pm; Wed, 09 Aug 2023 12:52:48 +0000
Received: by outflank-mailman (input) for mailman id 581059;
 Wed, 09 Aug 2023 12:52: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTigB-00053M-Ax
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:52:47 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3396899-36b3-11ee-b280-6b7b168915f2;
 Wed, 09 Aug 2023 14:52:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9054.eurprd04.prod.outlook.com (2603:10a6:150:1d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 12:52:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 12:52: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: a3396899-36b3-11ee-b280-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kdPTyyVVS45EDDuOjEl2oODT4s7iaIdJxLfMu5F9kJi0ng12DGvq/A+iU6Wjv+7ZIUWIk3PJ9LOZBzF9v6V48KP7hHYI/TgQCKMdM8vA+GJcbDnRMxtp0eDhiHW/ief38LZIM3J4caqyvLEW3wYhpfOliB+xfKkACJqcli96fyhAezSn+PQzuAV62c8QlUbqwocckFmeoOphkGT96HxGdHa6TDXhb8PNSEs6413TGtv66SJMHI8i/nwsGNw2s673jVLuOrOqaSWfIGusw9uXObX+X1J4onFqH5hnuEpldkfeLYSp3sv76YxfMCcqcwjZ5clen2jtN9RKhWDJkIz8WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VdwjTbUbO+QqXHR55jQn/wqnb9odMkztNp0p2VMdN2U=;
 b=SPZEtrzKCeQvZpbngVd8zVahPA39sG8c0psr0Eg9P6MSh4n/0ZHsm6QOg/ysvbCmm02qPRjvojGy8FLfhEwWcuzKa9I74KSW91qT64VO06LC/zMaAXWGWkCegntdrMxvJ2MMOY0IaS849EVJNDQv6At9wY5U1pwR/HaFZpMNXFkmSm/e+2Q0Jt1jLxHr/YlEF8C6S+eHdWVrInXmOJ9YlU4k8E15UzPHOwer9HbW/sLWrzkyBO66TTnEuX+VUgLCeqdNqYZhFerSV2ZsH63lGL5Dt4r9juHLHkF9R4crrIbEffJ1ae5fqU5bNIdsvF56eN+d4flfMTotrsp2w2v9fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VdwjTbUbO+QqXHR55jQn/wqnb9odMkztNp0p2VMdN2U=;
 b=SMuK184L+TW4OooCxL95ZZbs+nUYhJcDHTzF6Y/BGJq3guAAq2Nz+eT4jgZ9P/zwqKkmYf6FQ6oh48pgF4A+KQHAwOon1B175OsZ82yhaRBwdx6Xx0XzyFdyM4DH8RQyZeV2E9s2/Pph175eZJlyjMr/OHTO+chy1/o4SjdYG6geXpe2G9zfWgXgS1j40Sw8n0FGJqiiR/NWPH7Qc8U/4N/IWvhXL2XlgEz+GaETuQ5qZvVgSfP1CvbxblMAEidZcen5bdBXASKJafxSP4q0QdaR33OLTKeBligDAhxCsuUrU/2ZOzU1jSRKwwQ3K0Lxb/oLBfagzxWwSAfC5P0Z3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com>
Date: Wed, 9 Aug 2023 14:52:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9054:EE_
X-MS-Office365-Filtering-Correlation-Id: a184170c-d869-4e50-cce5-08db98d78547
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WfwnzvesxRP/CEGpeznaTlKcpZAps1BGR1Oe2ROmBrMXlAWUnWpSl5OcybxFw6WacvseTyll/UPrej342bKVViFNAIZu7s970cXqi6FLWLtOeDQJxCCPCH/qg7AovCN+/TAmNcbsIQozwgaLEO+lhLnB4aMNLV7JKmkrypUDjHb3R1qZ38G/0yJ10WjxFTb1iTWaBUEa+czDaonjQjn7dq7Q1a7U3GB/rRPicV+mqgWRcJfAGDfA80XKUf/LOY20SVA7ykgUycH6tzaT1uVRs5F0wXJE26Iqrka6JAfZop/D+xudlIy+bvlmxlihAk6nffL86cWB4tsucOzdtoOF7XwZxVg7Q2+Hx2haWT65fITeb3+KfupVzthEj5uoz6orGW5IOTm2I04DBGIm00orcnqNjn/kevCmJQCkJSEddIuMWINhAE3V7jIuQ5SGjb1TIsF7JgV3dgHIpNRqChC5JKMBWBIm4plAMrCICv3JKGwYDSfjpjBHUMSNkwwgdtatGUYOeb5V/R9bgayTOUxTH0je83VWLifQR8UTYKZqsiSqrAmBFQsQbp0z6ed5NF29z7GA2D1d7Fi4xrdJXGKd8gONXhxJqAq7NUKtNOTg4zdiTfHhz6O1JnT6IMXMWWh7NDgvlY5VTBlsTPefx3BrhQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(136003)(366004)(39860400002)(451199021)(1800799006)(186006)(966005)(6512007)(6506007)(26005)(53546011)(36756003)(54906003)(38100700002)(5660300002)(86362001)(7416002)(31696002)(4744005)(4326008)(2906002)(6916009)(66476007)(66946007)(8676002)(8936002)(41300700001)(316002)(66556008)(6666004)(6486002)(478600001)(31686004)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3hQakFrMTc4ak9penJ0OFRLc29LM04wQkVBZEZXQ2JDTkN2NHFzMXkxbXpq?=
 =?utf-8?B?U0thV2RXc0Nxc3NDZGZ6YUJTRW5FRGJUTUZmNUEwQ1BsRTB6c3VpNzVBY2FU?=
 =?utf-8?B?UkFGTy9jVWZnd0hUYTM4dnhZTldiMEpmSGZob0lFQ3FVUVoyS0tnYk83ekpo?=
 =?utf-8?B?MnJhMU81QXEwbzZLaFpjUitqVG5iN3RBVFVLbUxFZDR5WG93anExZmJwV0NL?=
 =?utf-8?B?Nzh4aU9EU1Jwb05SYVpwUGxnM0NUdmRiWDluTWpUcEZnTTJzeWxNTDFiaVlq?=
 =?utf-8?B?NzdaNFJZMHlaNEFHMGZGYWpTa2R4SHBLU2N2eDF3VHRyR3R0Mll2TUZOSFJp?=
 =?utf-8?B?dXBpaG10RlpEZU5EVVkrOFhjMTc3OExiVzAyaDRWYUJqMEN3MUxscDdDQzY5?=
 =?utf-8?B?MzU4MFo1VFZtc28wYWRoa3I1cWpwY2xBelpWUXNtMytoRk4reUo0TDM5d0lP?=
 =?utf-8?B?NXFJaDBMR1NZcEl3bGl2TXVNWkh3M1BzeHd4MU5GR3FLZUdXZFNVTVArcnFm?=
 =?utf-8?B?L3BXeVJUelNCK250OUd6ZVEzMExpNHlydUFnVURTU3lqU2JVZWhMVGtZNjFu?=
 =?utf-8?B?SDdjZzJMUm9LZ0lBMTIwMExISVlOdGgvTk43ZkFCcDNCd0RZbnJoQTNaUjRs?=
 =?utf-8?B?MU1CZXdtT0d3NVZGL2ZMNWllL1dubGNZeUlCQ0FKUUpqR1VIcHlGT2NqQ0Vk?=
 =?utf-8?B?OEZHVXVHV0NCYzZKeXNrVXpwazRkOEhGV05ucW5ESWJJT0x6ZUNEbXM1R0c5?=
 =?utf-8?B?MEEzTnVoZkl4TVNUazdlcVRQR0xzNnQ1d3p2eWs1Y0haYndzeVpCa1BZcGVi?=
 =?utf-8?B?dHZEcmJwVUxYUHNmRFViaDFWcXc3MWtFd0FzTmwzN2xLUit5Zmg4eWtsUnA5?=
 =?utf-8?B?dXBUeEt4aUp4TlErTjdMZzhNeU9iV3RuQWdJai83Mnk5VVc2Lyt6UVZEQUNX?=
 =?utf-8?B?bGJPWC9FT005TmxkOXhUa3ZnZmRPeWplZUZEdS9JTjdjQ0RjUkxnSzNRNEN5?=
 =?utf-8?B?RERsYW9XOG93Q0F3cm9KL0NyNTRGU1JNUXhZak4zckpCSHBvdHVlcElES3ZG?=
 =?utf-8?B?NUV1Sm12OGpwbm9PZk5FVGJ3Vm9NWXRhaEhubXl4YzhsMHhFMXZSR04zNVVH?=
 =?utf-8?B?T0oxOUJTWXFra2JjdUt0cFlzZHZLZTZHY21ZSzN4djZ5V3dURzNueEZETGtr?=
 =?utf-8?B?QkZ6RmxXWEh3Tm1DVFhpRmxpWitLcmVvbG1tRzQzRVgyd2JiSUpieEp0eElk?=
 =?utf-8?B?MDRuWlEzcFpSSmgwNUp0VVBjOWpwVDF0a09nR08yOG9jRlRUbEFTcThXSGRE?=
 =?utf-8?B?RFAzdVM4ZXBHbGZ6VkVFQXQ0ZGY2aTRhQS9hNnhxNXBIK2pwM0kwdnN3Q3dj?=
 =?utf-8?B?bnZBRVBOMFZUdG1veGdlNGdGdE5RM1YrOXowM2RyeVpKR1lHZi9yRDRTNy9n?=
 =?utf-8?B?c0FMeEtxZU9tRlZLbU9XYWMyK0I1UnlqbjYyN2hIeE52cm12RzRENkRLYStv?=
 =?utf-8?B?dytHVmxNTkY2UlFQeisvcjdmMi9UY3JLT0E5Ri93ZDFVUXBMRGphYlB3Y2Er?=
 =?utf-8?B?dTBXbDhmeklrT2dvZEQ4K2tCZ1JnVXgva0NQL0tBMzFMOWxVcDFQWVFUOHZH?=
 =?utf-8?B?SFh1Wjk2ZEpzYUkyMG5FYjRoeDErdHZjM2ZQb1hmZ1hhcFZqT3RNNmZGYTdZ?=
 =?utf-8?B?U3hIVlJzdjdwRDRtNys2RTc2a0xqRHNVMVpucm5zenlFcEZVV0tkcm9DV056?=
 =?utf-8?B?RmdBdDFCM1kvTEVlakVheU5ydi82bjR2dmxQZm5WcFNoNWEwZUlzTnpVSGNw?=
 =?utf-8?B?dFRlVU5QTjhYUWk5TEFwWFhreW5RWjc0SVczSzByeDJneE5RRFNyWkd3TnNi?=
 =?utf-8?B?SHYzRG5oQWpMcnlxVHMwMEhISForUTR1bUp3dXJ1SERwUkNvaWoySWxrVExP?=
 =?utf-8?B?RmhmeVdDaG96ZlJhN1BIVGRJWjExQTAwSUNOeVM4TGNDRUhzRFB0bko2ZkZG?=
 =?utf-8?B?Q09ZaEJLSHVybnRrYTdSV0JzY0czUkZNbXB5NzlFMEpZQTFCdVh3WG1Gd3Na?=
 =?utf-8?B?TFluWjJZS1BCbXd2TllnbVhYQ3pvck8waXB2NjNlUU1wNWszaXJRbGJwWXow?=
 =?utf-8?Q?bl9YVKk7dz3bFwqdqiDX7TF9y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a184170c-d869-4e50-cce5-08db98d78547
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:52:42.5501
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EJ1rRv2Uyo0zSwBhFFAESfGnTmmbM7GO3dLJlBHUlO6T/kYW915J65QMIB+uR3QFiS7j4/eeBYY6ElD+ZLHbyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9054

On 09.08.2023 13:02, Nicola Vetrini wrote:
> The additional header file makes the declaration for the function
> 'init_IRQ', defined in this file visible, thereby resolving the
> violation of Rule 8.4.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/i8259.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
> index 6b35be10f0..9b02a3a0ae 100644
> --- 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>
>  #include <io_ports.h>
>  #include <irq_vectors.h>

A patch adding this #include has been pending for almost 3 months:
https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:56:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:56:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581065.909588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTik1-0005is-HB; Wed, 09 Aug 2023 12:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581065.909588; Wed, 09 Aug 2023 12: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 1qTik1-0005il-DX; Wed, 09 Aug 2023 12:56:45 +0000
Received: by outflank-mailman (input) for mailman id 581065;
 Wed, 09 Aug 2023 12:56:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTik0-0005id-08
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:56:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f73f832-36b4-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 14:56:41 +0200 (CEST)
Received: from AS9PR0301CA0035.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::15) by AS4PR08MB7709.eurprd08.prod.outlook.com
 (2603:10a6:20b:510::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 12:56:39 +0000
Received: from AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:469:cafe::49) by AS9PR0301CA0035.outlook.office365.com
 (2603:10a6:20b:469::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 12:56:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT026.mail.protection.outlook.com (100.127.140.154) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Wed, 9 Aug 2023 12:56:38 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Wed, 09 Aug 2023 12:56:37 +0000
Received: from 8dfa888c9974.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 484763F2-F111-458E-81F3-7B13147D0DFF.1; 
 Wed, 09 Aug 2023 12:51:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8dfa888c9974.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 12:51:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB5904.eurprd08.prod.outlook.com (2603:10a6:102:e5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 12:51:06 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 12:51:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f73f832-36b4-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K5NAvYB686LIK+svT2xjiSytdBeT8WGVqQ5/TmHumMk=;
 b=NGjg53nLrnm00TPcXWQBkSc6Vl9lLEB5y0KCezzcSzCu00TY580F1mvk7mOlPVX9+lVR8WkPoG4gdAOFZpJn6S9ipzGQiGuCwkM3SeQIZbGsahZL4KOUiqbJhZpGxa2alnNEpl0Ex0r8cQqDfjCtV1+W86E5pmlk5o3AVsoqNR4=
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: 1f7bcf09de862bc5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fAZ3hsti0/CYYuhz+v0WOMAZhMc7G1TBBIYpogwU5zrqvrG8iJ3wvEWHG1We+lXoSAhkA4I8WmIkdNJ1oOegHzg1UAGH+5S9AYuEAQkFsdkEXq5o4J/PVfoFoKd8p+KzxqWD/hSuwaxCD33RcZAGtlbPrue4Gc/hC9sNE5rUXDBc/ze1pF7ZjIOZT8ZcZ0K1+gZuVAIbeUL8NPl2FeaV5TYWSfSbUBXbEuHnG8IhOnJKBFXkEq/Ty4q/t3LNjLFF8tnJvswK7onRUPM/XlIC0jufBvNiN5Xu0lUMXAI9lqI9HyyHpME4BWO7zaQ0OeJFfcgkRMVoGWCJEXw39ugkCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K5NAvYB686LIK+svT2xjiSytdBeT8WGVqQ5/TmHumMk=;
 b=DVKMr2Y4AAmBYO6jN29yGSCdgzin2fF+9wCNVhsZ62mYepYD4SD8AvQfp7ERNz6CKTNVmu9gJGSanP6kM5l13oEEaR3GzYaXwlRyhMm1NNNHo2qhe4//kWTWCyRZpI6nFiC4d2yv0ismtiYpxwMkZVEqPBHlZL3XsAjrYA67h+GIr00W5kzz4XiCxcv+UK8qZOecj73yvLXMjRP1/MynIT/xmVxhhdCkQ7c4IiLao7vocrmZx76bQNkzyIzaCYnAJZ2zPRpH+WIyID/qx883JDHgxPwXSrQxeFRxlvvvJPx7BKXv6ftEZIJrOj/1arwWaEcHwFUfGp2dsIyQR9+vAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=K5NAvYB686LIK+svT2xjiSytdBeT8WGVqQ5/TmHumMk=;
 b=NGjg53nLrnm00TPcXWQBkSc6Vl9lLEB5y0KCezzcSzCu00TY580F1mvk7mOlPVX9+lVR8WkPoG4gdAOFZpJn6S9ipzGQiGuCwkM3SeQIZbGsahZL4KOUiqbJhZpGxa2alnNEpl0Ex0r8cQqDfjCtV1+W86E5pmlk5o3AVsoqNR4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "consulting@bugseng.com"
	<consulting@bugseng.com>, 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>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEaGXA3hK6V6kyURalgDFtEka/h6KeAgAACPIA=
Date: Wed, 9 Aug 2023 12:51:06 +0000
Message-ID: <906F3F94-49E4-46A7-8CC7-DCB44FDF494C@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
 <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
In-Reply-To: <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PA4PR08MB5904:EE_|AM7EUR03FT026:EE_|AS4PR08MB7709:EE_
X-MS-Office365-Filtering-Correlation-Id: 130402a4-decc-4dae-71fe-08db98d811df
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:
 4rDikFiFxi5uR6zF9Gw1/2Aufy8TkwREyFYNXf9PzmjInB0/oS7ALyhipXmKRknerh+smTBiVpobsitzvXmPrLLOFqwUBwcCaWBjcUD8WbefWG89kflEMcoGVV7ViOqCDgJvu1E6pHhR7hzzQygv8wdvC4gYnuJ9/YD7jnz0r8puZZwxZvymG7a1zpOuj6s1wxK7bbHxBtpA0rQuY6TVIS4Ljl3XEm2z+aIUr8CbKV9DX4LJnXukzpz/qETlNK5REKfwdJ0pGlNO9ODW2ggZukqXzs4EYdskbyJvFOiwNB1sOf+nB4GCrvK2sNFlnql9884Lu/eswCnON1l/7grO4Qg3alM36/Hk0+8cTJSWgQVrEe7uWAm5Ayc9BHco4t5YRpV/YDIqDOpOYKy57CRwuI2O8+lBRVFNiwchWE0IKIsqGJa2d81s6mqBX2z8Ka3BjpSE873mTQW+Jb7bbzh81YXlGwgWDWXvzuLyNwvAckNcUAxo9OE1JsLIGauTG7AmyoiAnF2i2/UcNUE9YW1rIwak2rFyRRK0v6uszXUv63rdbECVo+EMxcaoxBnbZrmykp/asojEYGuzppyahXY1GutWtSlWYKDDbyxW+RI4re32JBttxLrMIhVNkhZj/c5cFGDdL2AW8BmArOSSmSpojw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199021)(186006)(1800799006)(54906003)(478600001)(122000001)(38100700002)(6486002)(71200400001)(83380400001)(86362001)(2616005)(36756003)(6512007)(33656002)(6506007)(26005)(53546011)(38070700005)(5660300002)(66476007)(4326008)(6916009)(316002)(8936002)(8676002)(76116006)(66446008)(66556008)(64756008)(66946007)(41300700001)(7416002)(66899021)(91956017)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F874B91067123E4A81D3908D2CEE4E80@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5904
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:
 AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	424e5d99-278e-473b-52a0-08db98d74bff
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	urXYtDzyfuG/4a+7FEwn8g49eeNmjY6t4JWTZZ1L/wfcwi5mw/wdKo0yrlLRSQzUyLhVyrx6sePG26MbjwwQ9e9YZIbrD7EAjd0UxoOmOj6FCCSeYm92rAgGafzLuPjuqVnIfJj2aX4VIA49TkNmjQYPCX/sBuowC9BUtL9h+42w0AqqKWmp0A49Beq0ShosJGU4ZA9VvSnveCTJ83bBai/P49sOSui79hGDZnUf3VnQN2BPBG7jCjjwPVmMcq/mHUN2wq/99eHiksOKecVMO3S4pdhP0XkdqhBLE1BnkChqsn/0jLh6SUd5ntfA/7sVKUSTFFPc0GGbQKhWVzI0Zd09lBRhKzn8b8Gqvz6qzfixSfqoiU+aiCCVMy4vslWkpNpNb9PKt6BOBbJIQdgGPTfkoG/78xu242cmPNbyHmuUdq9cQEf0xdk2SXVY7YEJBEtjxqlKRJ5mSrp9fRtacMeHM5fxHlMUowe/ixkr5S0e4166NgWl2invXJT9iE00LiwURmRZOvKxuLWicGxlD8bdMoFHSMhYIJkB5Stm7fHw8QSpzX54Fnjtr+DGdN6KxqCg32bcgAH8xJvJvSNHnFJ2W9azDuo6PUCGSAAGJGgc7cQT9G4qksw5qdO0YLNrgzGB9Fyz9+1OYefB9h32zWCcBa1kYALsFHig5PrTD4QAVtLDLEDdP6p6BbE0TpckXV2Q6u2OGlbKgD5tiGnayiSNcpdIqcWUzGS5+iGACa+swX7ujk4xSdr/9LsRtTWF
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(39860400002)(376002)(346002)(82310400008)(186006)(451199021)(1800799006)(40470700004)(36840700001)(46966006)(2906002)(66899021)(5660300002)(8676002)(6862004)(36860700001)(40480700001)(33656002)(8936002)(41300700001)(70586007)(70206006)(4326008)(36756003)(6506007)(6512007)(478600001)(54906003)(26005)(316002)(86362001)(336012)(2616005)(47076005)(83380400001)(6486002)(53546011)(82740400003)(356005)(81166007)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:56:38.2646
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 130402a4-decc-4dae-71fe-08db98d811df
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7709



> On 9 Aug 2023, at 13:42, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 09.08.2023 13:02, Nicola Vetrini wrote:
>> 'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
>> the declaration of 'arch_get_xen_caps' to be visible when
>> defining the function.
>>=20
>> The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
>> to allow the declaration of 'udelay' to be visible.
>>=20
>> At the same time, a declaration for 'get_sec' is added in
>> 'xen/include/xen/time.h' to be available for every call site
>> (in particular cper.h).
>>=20
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> xen/arch/arm/setup.c   | 1 +
>> xen/arch/arm/time.c    | 1 +
>> xen/include/xen/cper.h | 3 +--
>> xen/include/xen/time.h | 1 +
>> 4 files changed, 4 insertions(+), 2 deletions(-)
>=20
> I would have almost put this off as Arm-only, but then saw this diffstat.
> How come you consider cper.h Arm-related? This is used only by APEI sourc=
e
> files, which in turn are used only by x86 afaics. So I think you want to
> split off the movement of the get_sec() declaration.
>=20
> As to title and description (perhaps affecting more than just this patch)=
:
> Failing to have declarations in scope where definitions appear is an at
> least latent bug. We fix these as we find them anyway, so Misra is
> secondary here. Hence I'd like to suggest that you declare any such
> change as an actual bugfix, ideally including a Fixes: tag.

To prevent back and forth I would suggest also to have a look in sending-pa=
tches.pandoc,
### Fixes section, on the expected syntax for the tag

> It is of
> course fine to mention that this then also addresses Misra rule 8.4.
>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 12:59:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 12:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581072.909598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTimW-0006L0-TM; Wed, 09 Aug 2023 12:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581072.909598; Wed, 09 Aug 2023 12: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 1qTimW-0006Kt-Qj; Wed, 09 Aug 2023 12:59:20 +0000
Received: by outflank-mailman (input) for mailman id 581072;
 Wed, 09 Aug 2023 12:59:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTimV-0006Kn-8t
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 12:59:19 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2084.outbound.protection.outlook.com [40.107.7.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c19a59d-36b4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 14:59:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9070.eurprd04.prod.outlook.com (2603:10a6:150:21::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 12:58:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 12:58:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c19a59d-36b4-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P1OnF6DE7Hoi1yBe1sQmmA8DzP+dzWnVxnTf3VcRXrTvBYZ4PueEv4ut+5ofbR6nNPqhKbwdDU5ZAYK4vQNKn5vukjgzmorTYpL5B+bb896fquBCwq6qUBwREo726vJfSoTW6AmIByZY9873JEUIyVLIbGUrPFLhz2NRZRIiA0Lv+gdLlsyFFs0UZHzI6OwKJruw4N64wvJiU84hufJFPsg6C+0Z8p+XP6EIGM+YJBebm3MFJFoxXnsd/2hcSKq1uk0GNhh2O7OQrXyPd4lC+Yd3R0+qi/c2JIW/TcqEB8NsZDg7LN5q0C3JtG/t6hYAj3F88Hb9HasqD1OSQdKg8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tBb2vbJvdTKzia1A1t1ysqiU/HUf11dh6j3TxeCtJPQ=;
 b=AioXwZwHqkFXityjHxMOesZkEqjSU/ARJ3csksedg9ETeBJUsbeOA4/C9FCjQM050e/T7KJ5RyktTd+3qOEJaM9ARj6a2tM0SHrk8Yd39EuJau87oEwb9h/lqKrgb2/p1ZnWM2D4fEd3ao0SYFBi2m+Zp/dQlIcqPd8eHOR+4hbd+XUJNGK2JfN+Ajt4wMLL8T5sQxS9dJJUpCz0TkOPrweaOgCEI/dp4cu6i96rCavS1J1Bhus82VPAu7lq+3u7NV4INGFeofLahuBHjcUD49MF0t9hvjyqAU0Obm9bpV25PC1xbU8o0U8tmbKTMZIAnophnA5+HxVxh2MyQcjf1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tBb2vbJvdTKzia1A1t1ysqiU/HUf11dh6j3TxeCtJPQ=;
 b=W2YIsL7itZZ1RgymwIv/QZztChAU+g+GXnxsb3itHSlB16peukc0bvofbzi4q46I6G6B8LXTKOn41nVjVprg0zkFT4sSgtw8vCb8aWx2h2LoxlrskrvN3J+R6Nt8ihrW1cHbt+saIdjVharuzvDgiEkh+1jypom8CiHtCOMgrKpRxyvbj9fcJPfmKWdaf1jn3ydxJfGMXeU2SzZgfzJF4qCbLXvFtrgiTLMdJ+YzuNS9YxhZOYvZmEYyWTNhttyP27UfaTX3lMqokBGOf/adInJbGd1acmsNs6fpmO7ARnFurCeko4s+FzkgUgJc+TmQiSkBl9QwYOWdybXhPEwgog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5c2b3ce5-2081-0894-5e47-2feaaacea830@suse.com>
Date: Wed, 9 Aug 2023 14:58:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 8/8] x86/nmi: address MISRA C:2012 Rule 8.4
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <cb600b79b3f603302a58198c1f5e84488441b736.1691575243.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cb600b79b3f603302a58198c1f5e84488441b736.1691575243.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9070:EE_
X-MS-Office365-Filtering-Correlation-Id: f4414fe0-a2ef-431d-4975-08db98d85d8f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5u0AjMjMwrION3nWk5qsSp3Z3cJpu8bMrvdL2PEiOZ/LCAha3Jxxsk4vMxzigzNzpQzSHNu21M0HTKJuq1qQPZF/DT4hDhSdMBVtm3m0CifsO3h2wwWqR5H11q275Yj30/P8d2aboLYl/wtQWWY6l9PIlHSY7YMPwVxCu+pAjtTwHEPyR1bUD3v7PWUa0XPJhaLlWS4fzsliv17lNWONXIxDfi6iZviUrYbcJsJhTmPlbt43liwBljVx22bxpbNmlJwU+Ms6XG5bYZ8JXAnRR9O9rTfA7erz0dikdVK+Rlfe2St9Qrvig7+sqXlEHHdxcMEQSLKE6nz/6QGkp1AqD18KB8ljH2yi6ZdGq1+anGctdLl33/e+YeqhYpq15agPSIH/F/Hi1eqsviiCe0Ad9aVXbq+2RXx04dwxjGVE4tNgfOtp5dqbCu+sSCxUTYKJD3JuQdT+MTNmAZfLU0aTjS21zqArIOtRE7xSMhL+XdAV4dG/aaMtFM0k1lgIHNBwNYhiu8zHL1Vf5dS2+g8kY3BeFkJyr55dvkf/WwctPgodc3hfLCxUvPBuiFIYPczWx3AJG/dEk+/IvfPVP8naKHzoqC78g+4h1LnTNNWdDywTl8g/0uAqTl+HKxdJmyJ39arBcPdl+0jdeG0at9/QnA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(346002)(39860400002)(366004)(396003)(186006)(1800799006)(451199021)(2616005)(26005)(36756003)(6506007)(53546011)(31686004)(6486002)(6512007)(478600001)(38100700002)(54906003)(66476007)(66946007)(66556008)(6916009)(4326008)(316002)(41300700001)(8936002)(5660300002)(8676002)(7416002)(4744005)(2906002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q1NGcDVYcDFHQ3Q2R2JkMiswVTcwb1gzQ250U2w1Um11V3RQampvUkROODlB?=
 =?utf-8?B?RzBwZEE5eDdOQ3lXYWI2ZmNEMEpodXdVUkRrNjdwc3VHMlBLelFVaGtTWmdN?=
 =?utf-8?B?WUtHUnF0NjEvbTRnVTRnTkNHK2huQy80WldNZExKWEVwSVNhQ0RzekFCMXBM?=
 =?utf-8?B?U0VSbkREaFBBenpwV0szb3VsWnRJRUt5LzlFdWNpRGduZXc5TE1MamQvTkJm?=
 =?utf-8?B?aE5TeTRBSEtWcURza2s3ZE1yNW1ISklTTnRqT1NtaDBRRzZjWkJEcnA0RG9N?=
 =?utf-8?B?RktVZi94MHBSSTgwUjIyM3ZsdThHMnF4Vk9VZlEzUllUTEFvM2ZZTXNSaXdP?=
 =?utf-8?B?V1FLOGRtNEhOYlZDbUJGejJTNXdFbHFiVk9yQWJkUmp4RlJaU1NDNlFzV0E3?=
 =?utf-8?B?aS9LYTA1aHplREl5RmZIUlZzNVdGd0dFVXJBckpyZ1BGUlZsay95UlRVdjNz?=
 =?utf-8?B?LzNRcGpsZjlkQVBtTEhwS3NSaDBxK04rUngyVmszWVZBWWorcUdJeFBrdWI0?=
 =?utf-8?B?RGw3VVFtZWtJVjVtNmVUQU9mbFNoODFTQjczSVNER3Bia2ZTam5YWC9KN2Ri?=
 =?utf-8?B?SWdLSGpGV05BazVLRE9sYzluQlpGZjVHTVppVTlaV2c2aHI3aGZSNHVWNXRP?=
 =?utf-8?B?U2RPaWlndGVnZC9vK3NzOW5pakZiT3RsVkdNeE9FZ2RYVG5aeHNtL0R3K0w4?=
 =?utf-8?B?RE9FQU92d09ZWmZuZ0dLQ0Rva2JhY3NrZWE0Ujk1NU9aUzJDN0NMV3I1NlI2?=
 =?utf-8?B?elhlMThPOXNrak8wZ01XcVEwMnd5SWMwUjRNdkVobE5TQjVnaFFYYjF2dE96?=
 =?utf-8?B?c0YxMVNxRnJURzFQK1k4cmc2ZCtHT3RkT3VFMTRrb2hLRFZoQzZoSHF5UWdP?=
 =?utf-8?B?RW90L0IvS0cvSVNrNFpYRzRPZkVuSHNBc0tTSis3WjhwQVZOOGNTVTlYWnRw?=
 =?utf-8?B?ZE1QSFdSV3dHd2cwejJOMW5lVUlGbi9GS1Z2cnZXam9JZzdrbm14WFhRZHMz?=
 =?utf-8?B?cXJrYWhGWTgwYkVsdWZwZHpjV1k1b0xVZXBPM3cwcWpPWGhMWUdxMmZZSE9m?=
 =?utf-8?B?V0Jmam9rdmtoNVVSNkNHV3d2cHBoblZCUG8ybWVnTGlLUGRuVTZ0SitrNHBj?=
 =?utf-8?B?b3VaYnpsbXZVdStuTXE3QS9iTEpnMEFJZ0pkemRJM1BWK3UrK0R2SGo5WS9T?=
 =?utf-8?B?Nnhic0lLM3ZZaGFmMklhNlZTRnFmR3MxSG1jbGREN3A1M3pKckRySEhUY05t?=
 =?utf-8?B?K2FreGVVUFI2SW0zT2U2L3VVbWRUeElTSFREL0RBQk9rTmJLSHh1Rnl5dGlJ?=
 =?utf-8?B?QkI4WUROdTBiSGhrbzNBZUJtRkdzbVNnV1hhMi9nRHFUVFBXMlRuVDJ2UDNK?=
 =?utf-8?B?UWtweXFlc1ZWVW5vdm9zbUg1VXVjaXlmVktwWDlLMk1DVU1od0JCR05RUHE4?=
 =?utf-8?B?enlvc1BOU2JvOGQwK2V0UjIvbjk5dUwyQTRBeDVUeVlDZW92Z3I3bGtDNlVs?=
 =?utf-8?B?eGljZytWeEgrZjBLaS92SzNRMmlLWmJTejEzQkQxcGE3RmFvK0E1YnFQcStE?=
 =?utf-8?B?STNyUDUrUjArSWpvZE54aE12Tkp3ZmZoZ2llYjA5TjU1bFhvTUFHZ0JsMkZD?=
 =?utf-8?B?UGRnV0tmS0VqTXRuYnJsWGM3bkx5Vi9FRC9WOVAweUtyYlkrRm5IN1NINTlh?=
 =?utf-8?B?K1lGakN6TUQzYXN2dUtLOFVReFpkN1NVdlVXa3M3aGw5UlNodjByQ2loQkk1?=
 =?utf-8?B?ajVrTkErS292K2F0SVNvTEI3blU2SGhyUHdoTURNSSt6bkZxQVd5WkVnNFJi?=
 =?utf-8?B?ZDFwMFg4aHNmUndaT1JtMnIySXpZSGwzcjY3VGdmUzU2ekpMZjNhNldvb1c3?=
 =?utf-8?B?QVdRaEhwT1crQVZRZzBtODlhYkZRdFVrQ29salc4MGFXRHdKbDNZNE5sdGdZ?=
 =?utf-8?B?TFNpb2lxTGlvZU5QYWtMNlRQUG5TV0c5MUdrRmhqdHpKVnEyYkVYQkNBR2V2?=
 =?utf-8?B?SGVMZ0NmM0tGc2lvckRwdjNPTFZHWit6Q0plRkJNSzdBajJ2RjQzYXNOZis4?=
 =?utf-8?B?VlFFdnF6SFNLR0ZUZmFsbktiSTNBSmhRUFl6YkljVWxydFZsblhyR2ErYU80?=
 =?utf-8?Q?O1esKU1jQE5EGnXz/KzW9XPMj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4414fe0-a2ef-431d-4975-08db98d85d8f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:58:45.4072
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WYON/srCWxvtWmE/UfEEd78TRmz960poGioiIJedsr1+dNkkUA+xfviNH6FcJdBd5XBKuGGGOAjEsN0BvpANIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9070

On 09.08.2023 13:02, Nicola Vetrini wrote:
> Include an additional header to make the declarations for
> functions 'watchdog_*' visible prior to their definition in
> the file, thereby resolving the violations of Rule 8.4.
> 
> No functional change.

Fixes: c8177e691f0f ("watchdog: Move watchdog from being x86 specific to common code")

> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581080.909607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiv6-0007sp-Nl; Wed, 09 Aug 2023 13:08:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581080.909607; Wed, 09 Aug 2023 13:08:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTiv6-0007si-Kp; Wed, 09 Aug 2023 13:08:12 +0000
Received: by outflank-mailman (input) for mailman id 581080;
 Wed, 09 Aug 2023 13:08: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTiv4-0007sc-Nh
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:08:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c790fb95-36b5-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 15:08:06 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A31644EE073F;
 Wed,  9 Aug 2023 15:08: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: c790fb95-36b5-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 15:08:05 +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, 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>, Wei
 Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
In-Reply-To: <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
 <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <744a4ae451f3751d5a6c97e5f28cdaf1@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 09/08/2023 14:42, Jan Beulich wrote:
> On 09.08.2023 13:02, Nicola Vetrini wrote:
>> 'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
>> the declaration of 'arch_get_xen_caps' to be visible when
>> defining the function.
>> 
>> The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
>> to allow the declaration of 'udelay' to be visible.
>> 
>> At the same time, a declaration for 'get_sec' is added in
>> 'xen/include/xen/time.h' to be available for every call site
>> (in particular cper.h).
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/arch/arm/setup.c   | 1 +
>>  xen/arch/arm/time.c    | 1 +
>>  xen/include/xen/cper.h | 3 +--
>>  xen/include/xen/time.h | 1 +
>>  4 files changed, 4 insertions(+), 2 deletions(-)
> 
> I would have almost put this off as Arm-only, but then saw this 
> diffstat.
> How come you consider cper.h Arm-related? This is used only by APEI 
> source
> files, which in turn are used only by x86 afaics. So I think you want 
> to
> split off the movement of the get_sec() declaration.
> 

My mistake, I squashed the arm and the cper part together to avoid 
touching the
time headers twice, but the old tag remained.

> As to title and description (perhaps affecting more than just this 
> patch):
> Failing to have declarations in scope where definitions appear is an at
> least latent bug. We fix these as we find them anyway, so Misra is
> secondary here. Hence I'd like to suggest that you declare any such
> change as an actual bugfix, ideally including a Fixes: tag. It is of
> course fine to mention that this then also addresses Misra rule 8.4.
> 
> Jan

Ok

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:25:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581087.909618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjBi-0001xq-4Y; Wed, 09 Aug 2023 13:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581087.909618; Wed, 09 Aug 2023 13: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 1qTjBi-0001xj-14; Wed, 09 Aug 2023 13:25:22 +0000
Received: by outflank-mailman (input) for mailman id 581087;
 Wed, 09 Aug 2023 13:25:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTjBh-0001xd-5Q
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:25:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f37517c-36b8-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 15:25:19 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8D2A84EE073F;
 Wed,  9 Aug 2023 15:25: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: 2f37517c-36b8-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 15:25:18 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, consulting@bugseng.com,
 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>, Wei
 Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
In-Reply-To: <906F3F94-49E4-46A7-8CC7-DCB44FDF494C@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com>
 <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
 <906F3F94-49E4-46A7-8CC7-DCB44FDF494C@arm.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <bf5b01a337989a0b2a2feebcb32922ff@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

> To prevent back and forth I would suggest also to have a look in
> sending-patches.pandoc,
> ### Fixes section, on the expected syntax for the tag
> 

Thanks

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:35:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:35:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581095.909628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjLN-0003YB-4l; Wed, 09 Aug 2023 13:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581095.909628; Wed, 09 Aug 2023 13: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 1qTjLN-0003Y4-1x; Wed, 09 Aug 2023 13:35:21 +0000
Received: by outflank-mailman (input) for mailman id 581095;
 Wed, 09 Aug 2023 13: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=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjLM-0003Xy-4W
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:35:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93820e20-36b9-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 15:35:17 +0200 (CEST)
Received: from AS8P189CA0047.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:458::27)
 by PAVPR08MB9040.eurprd08.prod.outlook.com (2603:10a6:102:32d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:35:13 +0000
Received: from AM7EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:458:cafe::a) by AS8P189CA0047.outlook.office365.com
 (2603:10a6:20b:458::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 13:35:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT052.mail.protection.outlook.com (100.127.140.214) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 13:35:13 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Wed, 09 Aug 2023 13:35:13 +0000
Received: from df7c8f155ca6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1C30309F-0116-4FE1-939F-B53627B27A08.1; 
 Wed, 09 Aug 2023 13:34:50 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id df7c8f155ca6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 13:34:50 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB7592.eurprd08.prod.outlook.com (2603:10a6:10:311::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:34:46 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 13:34: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: 93820e20-36b9-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JE+zwnNBEWcZY3KByuvoYBwueGKBwPSlNOUFMVG6wK4=;
 b=gDDrGV1uegTltK81PO9SknLNgGLGxLTecWsI3ht6zyiVoLGe9ZAwGa8QL3siHPIrNoMtpekNtKMqNEMp4zmtaiRSMzppBbc7VDeuUqDyHzlYx7y0s+RF5rLBy08F8hFa47WYglNzIA0I1GBdYWfK3MUpB+FnZsCne50qksX7hHQ=
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: 3e18648eb2eff96a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gpKaMvL0YW0ckNkAGvol/P4igcjU7HmomIgGjPDc1Y8ZTusG/6el1SEBpzA/vaLL05155Y963wMf/GUgNNsVphgpTnHuLfPx6IshKkvHXp3dcXLQf4t6/ZYvAmbOeEvViSQuddcojwiwu2gUqXcvGz5fJFDz605XZlGuhYRp1AQvBi+RbP6hLz6xbvIyyAwv4dS9MUx/DoCWorBusC14kCWIASyHeU4cVQShRAHtvytamLyKUdXSlYSfWgZ1V9qbDwrH/GxrTmoT/O7a7Jxj/g5BHkEJMVikxvfqGf8fvD/vMpFK/oKhbCVxnXNULvq/UjQVwlSYHEUvKC79zVpzuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JE+zwnNBEWcZY3KByuvoYBwueGKBwPSlNOUFMVG6wK4=;
 b=d0AUKmGi3bkUHVtFd6hkTkPolOEZMAjfkMa/fLM1OXIUMXxHa4Czkw+nsQEx8rvEnIfV8JXWIW9tyTXTnmYYkDcQSciBUCsB75aYolZ8vuTRXqtDUunaZ/3ZwWu3idY9mm6hBgVnblBT5ZSMyd1YUsNnjHzkZODIc2gpGgB43QrHxpdgZft0tMaXy/eNUY6kYVITip7QMpDfAmThIP9RfySjxe2I3obN5VO5RNImb8tGPtYIYYfoUCtexcOBUtnzgMg6VMUGiG+kPXusjdq3PCDZIChVWk7ka8ENVNHjQszCCDIOh+dvL4wONJooAzrvDW6z4agUrnJue1lsy9DOZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=JE+zwnNBEWcZY3KByuvoYBwueGKBwPSlNOUFMVG6wK4=;
 b=gDDrGV1uegTltK81PO9SknLNgGLGxLTecWsI3ht6zyiVoLGe9ZAwGa8QL3siHPIrNoMtpekNtKMqNEMp4zmtaiRSMzppBbc7VDeuUqDyHzlYx7y0s+RF5rLBy08F8hFa47WYglNzIA0I1GBdYWfK3MUpB+FnZsCne50qksX7hHQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.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>, Wei Liu
	<wl@xen.org>
Subject: Re: [XEN PATCH 2/8] xen/memory: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 2/8] xen/memory: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEh5sKZJy8ET0extcxfAe4LeK/h9xaA
Date: Wed, 9 Aug 2023 13:34:46 +0000
Message-ID: <2AD1EA83-AE7F-485C-ABFA-D285B4BAB1CC@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <844e7bf57c2eb7b20d8b1f81a7730a7612f1b6ac.1691575243.git.nicola.vetrini@bugseng.com>
In-Reply-To:
 <844e7bf57c2eb7b20d8b1f81a7730a7612f1b6ac.1691575243.git.nicola.vetrini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB7592:EE_|AM7EUR03FT052:EE_|PAVPR08MB9040:EE_
X-MS-Office365-Filtering-Correlation-Id: aa3bef2a-7f0e-43d2-a0db-08db98dd75be
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:
 ksC50CeKdPgfjcs/pXTAVW+ucQOlDLO7v6jVbngU/e404HPkCjdBXaoHX+/EKixWV0wd23RQ8BwaqYITtOPplkqE3zvE2s7uOYwQDdYRJ2c+ssgG6Hs9TIWktk1BiujWzsPob6jpA6c9NMrIpRQtXRh6+nE7KtDKAuQWTySNNOJznBjbZxvc8CTLkZSzl0isFmUOQrrCDwcoEjQ1Q+32L3vMJj6hUHuB+XjXF2x8sHHdrWCcFcWLlMNcrADs8i4WR9RwZUVE51gzWoDyPBOPyKBR0gnWiUq1z39pOBzJgR4roYlX2QqA7Cc2vzeF5SAL34yJM3iYa6Ubb4GqibwHqgFZlquz9MNInP1TnwI8gE/ZXVb8CIlBQyP3710SExkuAJ0jccXWYnKTe/EUESipQS49segaURT34NqhCvN39omuMnQi4ww5AMyjF+9oDvoEQ0NEzMSTqE+Nyn4eIBhPjgiuP9CKMWgAIq9M0AliFl5wKpHwIb0ZUOupKRAxXpOei1eaD6J0d3ynwzgIgotPQS2j9r4+k4vbzxcHjggf8tMKAKDt2XM3ldZOP8bcCe+ZHbHobV/Cs1z81kolpgtAWBj1qEmH0zVqtmEbJEC4RPVVFfaoX3hKCW3DQgkkL/6Ux4aa3ISnSMe7K7qSiLZk9Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(366004)(186006)(1800799006)(451199021)(122000001)(478600001)(2616005)(6512007)(26005)(53546011)(6506007)(8936002)(41300700001)(91956017)(76116006)(66446008)(66556008)(66476007)(66946007)(64756008)(316002)(8676002)(4744005)(4326008)(2906002)(6916009)(6486002)(71200400001)(36756003)(54906003)(38100700002)(33656002)(86362001)(38070700005)(7416002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <81BDF0E81145284F9A8CF16ECEB2CD2C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7592
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:
 AM7EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a215bdea-0e15-4f8f-69f6-08db98dd65a1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fCuvFc9aliqCcD8VTZLDHSL+RuPirwSgom9u8vlf8jW4DGd2X9Y5b0FR3Lj4+wXkOBxiiL0Q8OWrbfKLE75TPhgO49JFXOYo5Mnm5wYBkD9PnLyo46sr34AXGNgZN7mdGQdm02FLRBgbo4f7rZ0XoufpceMHkEouh6H4yYPpnu7iX97REXR9jkNDNpVPdlXp3h1YunS2GLx4Au1Ieh1XFgn3yMx8tMGMxM2ysxzdb0V7We4zZIai4Hym3QprzJ98WOFe5naROM/SUv5hGpElJzZe3oO5HewEvokoX7EsMUz11ifW+MwM2MjZvdTx7X62pICl1mX0gTzUfm9rT6ZTv9HZ2SAjvL1y7sJSTKt1z9EohQoj6rhrGX6GLvaoLqlUW2utUYN+zxHcIQtQpaQg1abG+/prcJ8tCYaSconEU8w9V7mkkFGvcjc4CdIvGys+Ebzw3WDjncQ6S65IiXRxLcSofxLDfyduAP0txIGn4R3oVwo1+uDuA0b2gXsxf2+fDbbKFkzwUqkqz+P04CPHiFXsCLkeWfBWOYNvuuvixA40IqmN2KNWnXgUwi6/yq5eLW3sxoepEh2YgU4vbh33L2n5cP3m/QSLN0f47KIxa/M1pZ5BXgX0FGKY1LW+wvYPbtaUnB9q7z7EJLP1von/O/urdUkrlHMei8hJOkQNwSxhP+k+vfWoN70IVLqPizG2s9wr5ZEBSHjG5dXSL0tbUjz1wgCWAdSQLaodI/bbpCFb7/J4B+kHgQoHzOVqRuVs
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(82310400008)(186006)(1800799006)(451199021)(40470700004)(46966006)(36840700001)(36860700001)(356005)(478600001)(82740400003)(81166007)(2616005)(47076005)(336012)(40460700003)(6512007)(26005)(53546011)(6506007)(40480700001)(8936002)(41300700001)(70206006)(70586007)(316002)(8676002)(4744005)(4326008)(2906002)(6486002)(6862004)(36756003)(54906003)(33656002)(86362001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:35:13.3210
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa3bef2a-7f0e-43d2-a0db-08db98dd75be
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9040

DQoNCj4gT24gOSBBdWcgMjAyMywgYXQgMTI6MDIsIE5pY29sYSBWZXRyaW5pIDxuaWNvbGEudmV0
cmluaUBidWdzZW5nLmNvbT4gd3JvdGU6DQo+IA0KPiBUaGUgZnVuY3Rpb24gJ2lvcmVxX3NlcnZl
cl9tYXhfZnJhbWVzJyBjYW4gYmUgZGVmaW5lZCBzdGF0aWMsDQo+IGFzIGl0cyBvbmx5IHVzZXMg
YXJlIHdpdGhpbiB0aGUgc2FtZSBmaWxlLiBUaGlzIGluIHR1cm4gYXZvaWRzDQo+IHZpb2xhdGlu
ZyBSdWxlIDguNCBiZWNhdXNlIG5vIGRlY2xhcmF0aW9uIGlzIHByZXNlbnQuDQo+IA0KPiBObyBm
dW5jdGlvbmFsIGNoYW5nZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE5pY29sYSBWZXRyaW5pIDxu
aWNvbGEudmV0cmluaUBidWdzZW5nLmNvbT4NCg0KTWFrZXMgc2Vuc2UsDQoNClJldmlld2VkLWJ5
OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQoNCk1heWJlIGl04oCZcyBh
bHNvIGJldHRlciBhZGRpbmcgdGhpczoNCkZpeGVzOiA5MjQ0NTI4OTU1ZGUgKCJ4ZW4vbWVtb3J5
OiBGaXggYWNxdWlyZV9yZXNvdXJjZSBzaXplIHNlbWFudGljc+KAnSkNCg0KSWYgdGhlIG1haW50
YWluZXJzIGFncmVlDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:41:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581101.909638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjR6-000519-PX; Wed, 09 Aug 2023 13:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581101.909638; Wed, 09 Aug 2023 13:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjR6-000512-MF; Wed, 09 Aug 2023 13:41:16 +0000
Received: by outflank-mailman (input) for mailman id 581101;
 Wed, 09 Aug 2023 13:41: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTjR5-00050w-1q
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:41:15 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 663dd44b-36ba-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 15:41:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8642.eurprd04.prod.outlook.com (2603:10a6:20b:429::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:41:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 13:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 663dd44b-36ba-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FL/jKIG07D/7FDLlDlKwU38FCdoXGzcS7emKy4s/PkxNerpnAIkvppPmdIVJRVEwt8+13t5SxmXro974cWiyZOIDzlV7nwp7jnXo7NcN3BtM0ZPyazNDiR1PpRNmXf9Z0vt0/UTuj43JUxl2ghVdydKKWaKjR+8lgciirQE1D2JcygQIcqtv3gg6pcdOOcUFpap5rGQyNUq1GFbIBLV5r0gyiN3sJJ4tqSpzIA1CqnrJebrSags8AMbl8C45GAQlduB+VKRI6FRlb8L4vEK44hNTkOhtGiupmSagQCVzWBBuYYT66QSv5j0mlm5SXuXh3ZlpRj7iQrvA8EcF778qgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IwLfT/HY8Y+KE1UDEXbyy7Wsk9vEplxTZdEr1YhPpo8=;
 b=WPSI0Px+6CS+ptK1WjRwPLaMMEaZKuAZ4mF+9OZVe4/KOM+HnWoV0QpgxTd0zjT8SjGA6sAlHH0bL1sfqueDuKnLkK0BCYPuU0eavYx70OmAEjdkUXiYHYjApKRdGKGP9L7F6Ayvnt6XWxVaqrJfxzNvRu1s52ytHkt9PQjlFOp9q9Ahgk+IKqR6vqWayCv3fTsG5TFxyM4xTbsFiWEiMTuab27qpx/Ma7WXzqWLVNnYAIDznPGN/APt4Ud3YwmJLW72dLotzB68+GAQUIIDhRn3ZqFbP2kEeaI8WuJIj+XLVHd6O8kKQpUo3Ss8BZjZK40grJa4n3XnDvq9BQxY3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IwLfT/HY8Y+KE1UDEXbyy7Wsk9vEplxTZdEr1YhPpo8=;
 b=iWsdFcsHL2AZHKTt49wMN46iAsIlFlIxvZCAkBjNWVqiHmsH1X4YwzlRNUkZ5f8DdBgt6xQwDazKuqpva5Attg5AwzUa/IWpoSQQ9Hm4nxDufR7C+4fng/Gs/SD3KlxPkh7Ht0uChE6KlEurrUGzC7SfHjrIRGypUaRORCOfktUNJWsCmiZ+KK/VcSk7xgXfrReAALLUht+R/C5zCM9h/1RTQ9Pe0RRJfHEmQVHAVpQtTS+oD6ijzI/dFDT6CmGQ7Ba0VVpkipY+PgM0Qa80PD8lWrRH+BszIOtq5vZtYUv9iUEY4usGVllMdlQKk8P+dSGmpvpztO/O9GlzTf3d3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <461a30d3-29a4-8c53-1dc3-42cdd50bdb01@suse.com>
Date: Wed, 9 Aug 2023 15:41:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 2/8] xen/memory: address MISRA C:2012 Rule 8.4
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "michal.orzel@amd.com" <michal.orzel@amd.com>,
 "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
 "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <844e7bf57c2eb7b20d8b1f81a7730a7612f1b6ac.1691575243.git.nicola.vetrini@bugseng.com>
 <2AD1EA83-AE7F-485C-ABFA-D285B4BAB1CC@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2AD1EA83-AE7F-485C-ABFA-D285B4BAB1CC@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8642:EE_
X-MS-Office365-Filtering-Correlation-Id: 73dccb94-5205-4b43-f768-08db98de4999
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z4pDWmYJSLnSEKCGF8EgY91/WtYCtFXsWo0WmtyO4h9d792RjPdh3md8UPZTcKn513BTvfkNEnFdkwZYZKOrKc8bMZ0vOlzCB/d4oAce2OwZQnY8I+dOKcQT8R9APEF+tA9sVL08187Wl/fU/4NYxSKfB3HgUyLpgr4I1fBQNP/ihJDIezF5YB5gCwUavg5GU/Hj5vkaZWXPXLqCtfl7U7/svT47QJZsORbTtzG5TJd/daKOx+T6gWzl5ss9ZqVGBrjyot777Me88bAEKWSKDj0hbQYBumw4DL3JutlFDOWdpcJagYG/bKTs9Uqd8vgUnYRIBUbIfoAAk/0rfnrKV+cfOET9riWxHdlsbRQqqUYCapSS5e/Ali6Eu501xpeA2C+gNCOPP/25bWnajvMXOCL9r6UnCU87cpZacXNZjzxZVzmJoJottMhCdGPSYt1e1aLC3Bd2iLK7uwHB2yP71TvCarUy646CQgfk9YMUUsaX+8nxh+tmyqdjVxKrqWhgXuor/SGzWTRFanUJ8z0fQWEKV7bOlBhHR/3NXogE3uKxmtDYibabhy9qnWj5ptjLc26jmsi23VKhdh5NZSZp7u5tNMLbt9Rg6FHQEX6nG+8ruR4OYLttYz4X+oQ9ez6fuTyZ6YGobQJtsoIYeS8Fmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(136003)(346002)(39860400002)(186006)(1800799006)(451199021)(4744005)(2906002)(8676002)(5660300002)(8936002)(31696002)(86362001)(36756003)(7416002)(38100700002)(31686004)(53546011)(54906003)(110136005)(6486002)(6512007)(478600001)(26005)(6506007)(2616005)(316002)(41300700001)(66946007)(66556008)(66476007)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnk4R0E1bzNTa2ZpTHJFT3NtajdFdXgzMUJXaWtwbjhkUmpLbjlSc2xIVzJo?=
 =?utf-8?B?NkdzSWtPSkJyclEzSEF6c0cwZTRnWTRDSEU0cWNIbHRiZW80WFdIbFRyVndV?=
 =?utf-8?B?UEhkbnlhK2NVUXNwZkM1OEVRREY1OE9EN2kwaFVOYUp5OS9xOHhkZ2M5Vm1T?=
 =?utf-8?B?OVdIRm1jWWRsSUxYT29XNS9lZmZ5aUVCVTNrVmt4VklKVG1IRzV1RGUrQjQ5?=
 =?utf-8?B?RVUrQkVKZ0tZRHdSZzIyUXN6c3FqZ2JqeVlObGNLaXNZNlNDa05kS21wVjE5?=
 =?utf-8?B?RWNJWHJnMnEzY0xHL3d5ZGo2T1d4Zk5idVVBZXFhY3NNWGxsZllOaW1Ta082?=
 =?utf-8?B?NUFQRWZ6MWVJVWtzUkxEUkFCbUdmYjRxdUlYVjRqdmVDSk1peENjWjBCczdM?=
 =?utf-8?B?a3BwdHgvZlArTE83Tk5GYzJWMU9VV2VWRjJnMWp5RlY3T2xFak40RDlkVXQ3?=
 =?utf-8?B?Z3NpZmNTRTFDMDdUTlRBWTZicmhranorb1huNXQzWjc2QUpDM1BhS0hiT05C?=
 =?utf-8?B?TjU2aUpieTM0U3RIZU8wWUNUSlFhVjhzbXZMd3h1QlNRWFRoQWZCbHZueTUv?=
 =?utf-8?B?Y3NsV3dEYmxKNHBNU2xOcURBVHk4OS9odmxCVnBta0VPdEE5TXU2S0hZcnJu?=
 =?utf-8?B?RnlyMldtQnYxRmJXQ21FS05nUFh4dFdEVm1vb0d3SHRkRGlKR0cwYWRlNzRT?=
 =?utf-8?B?NUdXNzJLQ0REeGM3MUxQTDg2ZkdPTnpoQXFwdENJYWhKSnhVZThBMlJXQnc1?=
 =?utf-8?B?WjVCVlNvRTRJZUFjc2ZCNDg1aEhKYUZFYVdKTGhWcnNpQ1dMSUxlZ2ZVb1lj?=
 =?utf-8?B?ZTY4cEJKdzNUZllldHladFo2MGIyMVNMY0NaeHdsMjlWTCtqSEdSRnNjSUpK?=
 =?utf-8?B?a2VYdXRTbTU5ektxV0ZEdktLaDMxRFBIaWVHNXhTa1grOEI5TmVqYlNDMXNJ?=
 =?utf-8?B?WDhVK2NqQVRaU205MmFsVkJtMzl6SFhLNmF0TVB5WEVaZ3JSbzc5R1dUbEdF?=
 =?utf-8?B?L1NyYkRBc1FoMjZHaXI4RHB3WkFudlBOZ1FQV1hHdGlKZ1hROTZMaFVHVm04?=
 =?utf-8?B?b0QycnlNZUdjOUN4Rm1WeXdWUEo5S0g0T01XTVhQalNZSzJpQlJaSnJWVkNZ?=
 =?utf-8?B?MlpVUWZiNlZiSGdweFpjM1ZBOGZkeGk4Tjh0bzB5YzJuZ3NMc24yVXZ5VlhK?=
 =?utf-8?B?b2x1TlRVSlM1TUVGZ0l1RG1WMXljRVFld1d1VVRnUUM4cENzWVMrK2VVbjl0?=
 =?utf-8?B?KzVNSy9qMG52ZVpWQ2s2R1A0alNSY0EzeVJ6QkxMQmhPUERSc1l4bW5RQXdD?=
 =?utf-8?B?aUpUZVFKL29qeVljbnNGQU1pTlJHZGlNQTZpOEJLVjFoYjdyUlpWeFh5RDds?=
 =?utf-8?B?THFFSzNwU1ZveitEeEtQeWFiWEhwbFoxWFJRTDhTUTR5c1FMVGk3cXRPMjVx?=
 =?utf-8?B?SUNKMXRjaXhlSVk1YXdtUCtoZVRvU2JFRUdMOWEyaU1PN0djUUVLWTZOQ1Nn?=
 =?utf-8?B?cWdEaWpGQVYrcXRjQ3ZxN0kxeXRSekEzSzBYTnhuL1I1Q01kd2s0ZjFqZ0VF?=
 =?utf-8?B?L01zMlpKTUFKM1JMVHd4akFhMlErNlVDMDR2WXZvT1p3bG1VMU9OWEpveDc2?=
 =?utf-8?B?dG8wa0U5TlU4U3RNSkFDMUFRREdSQ29tbGt6cXVXSEY0QlZYVDJqNEQ1RXU2?=
 =?utf-8?B?YWRBbHBiRGpLS0NyTjFxZGkxeEtuajBlRkhtaFlNS2IxSXJ6RmFuTWJ0NVR4?=
 =?utf-8?B?d1V4ME5VQ2FEK1FaUmw2NXFhM1RscTEvU2h4d2ZDSVhvVkcvVFdjVGIyMi9T?=
 =?utf-8?B?ZXgyLzVQdzB1T05udkRTS1k1VTZLODVnWEZBbUxBUFBRVC9HRzRxTnNaSjZo?=
 =?utf-8?B?SW9McW5FWEtTRHNSSU1lNXpQRlB6ay82dkVlcDU0WSt3VXR2V2RldmlBT0I5?=
 =?utf-8?B?aW5ZViswU05ML2xXWXYzc3NoRHgwanpXRUFrNFZHQ09PZElaNEFjOVhzOTd1?=
 =?utf-8?B?L2lYM2RMZ2NsekNqbWp1V1hrSWRIVTV0TzcvZENOaGFYN25sZXYvVFB2K1pi?=
 =?utf-8?B?S1JtdFJMM0MrcmFHNmNNczlFemtpUkVQWWxON0pjT0tkcVlRWStBZFdQdjV3?=
 =?utf-8?Q?xc9Vg0oPI778/eLVjRIFZXtC9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73dccb94-5205-4b43-f768-08db98de4999
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:41:08.9323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NfVOSxrTxMaITaAoX/bwuq0fHdBkIqSNMngCY9lv01/9UIRegzjgwjUJxd/Yig26Sk98JImYAfb9CIDvNhe8rA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8642

On 09.08.2023 15:34, Luca Fancellu wrote:
>> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
>>
>> The function 'ioreq_server_max_frames' can be defined static,
>> as its only uses are within the same file. This in turn avoids
>> violating Rule 8.4 because no declaration is present.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Makes sense,
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> Maybe itâ€™s also better adding this:
> Fixes: 9244528955de ("xen/memory: Fix acquire_resource size semanticsâ€)
> 
> If the maintainers agree

I for one agree; in fact I did ask for Fixes: tags throughout this series,
but in the context of another patch. As said there I also think titles and
descriptions want writing differently here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:44:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581106.909647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjTo-0005a9-5c; Wed, 09 Aug 2023 13:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581106.909647; Wed, 09 Aug 2023 13:44:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjTo-0005a2-31; Wed, 09 Aug 2023 13:44:04 +0000
Received: by outflank-mailman (input) for mailman id 581106;
 Wed, 09 Aug 2023 13:44:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjTm-0005Zw-EC
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:44:02 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc208c1f-36ba-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 15:44:01 +0200 (CEST)
Received: from DU2P251CA0022.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::20)
 by AS8PR08MB5989.eurprd08.prod.outlook.com (2603:10a6:20b:297::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:43:51 +0000
Received: from DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:230:cafe::4d) by DU2P251CA0022.outlook.office365.com
 (2603:10a6:10:230::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 13:43:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT060.mail.protection.outlook.com (100.127.142.238) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 13:43:51 +0000
Received: ("Tessian outbound e1fdbe8a48d3:v145");
 Wed, 09 Aug 2023 13:43:51 +0000
Received: from d3663516bddb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6EAC9B19-1904-4FB7-BE11-93A5909DE6E5.1; 
 Wed, 09 Aug 2023 13:43:03 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d3663516bddb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 13:43:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8116.eurprd08.prod.outlook.com (2603:10a6:10:3ec::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 13:43:02 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 13:43: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: cc208c1f-36ba-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u/Yj8Ae1uxprVYPAiU4vBf3XP8MCk4USbss9Nmn4utc=;
 b=FqUUx4rviVmhrL1sQ6ES9Qwg1s1pmx2lINCZRhj4fCoOdui22s1cCck2SsvclIQZuLRh0G/PyNvxhhECl7BQQEcSKTr0y9/d6e4cKxqffaeb9OgkxD8sh6J8GSO/s6v3E2+HCOGDfFTv0gr+73j1zTpFs1DylbDmn48Kikx4gSo=
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: cdd756b83d2ddcac
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bhspUFx4EVyOE5wl2kcyP63Fr1ycDh72ZskEqRYcSPj8exdNnXI7ebODNf2Sb7c6S9SGSNCWLnj0DXX8pSGPn7Zo7wB28r7baP/Ul39KgX04J4gf0srjbmVwQlKVcTZ0EMFCwGDRBH79slgI1hJb97dTwQ5v/xf4Z/WcCm7VGJZxTuQTG9CSL6YvjodroqII1iyL3p31j/XtgCVYRRPUHfXkx5I6bHdkIY9Ft71vYUlWbFTRoiatYoI5kw8F2K+VNQVkGP03Ap+OYa3TtK+A1lPVE3h0O3yAOwLq3muMIh180Ko2rFxOiGJSBAIzeQ9dvY2DxT3etNrlNvvUWbUPBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u/Yj8Ae1uxprVYPAiU4vBf3XP8MCk4USbss9Nmn4utc=;
 b=cdSHLd+wL5Hg9JHPpaWcL+cIfG44GK/hZ1WiylzIUNzaP3u01w37tceYBEvuYfLJs8dCVhf+XLf4MrHxej1Nv2dsj0OqosmCp08fZf6iXEZ42YK2XXlttFPyrjUIblUfjx9XO16cBY/Es/K7QnxNm7iU2mkn86qSwzUdskeq1wFzJ+XMyMDSkJIwFp//33In6l4+u61XRKYD6SVCTZTA7cASqh0GSnicggnNrmRaSKlFpGLdbTIY3ipDBOeBmOIaN0CeT0F/L+rboPG8MIs7LqDJyzGyTLtj0Gj8NlVBcCvoFLWZnHMgWdcDVbX+x/vmV8UQS0n9TkFuiH/SB5kMAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=u/Yj8Ae1uxprVYPAiU4vBf3XP8MCk4USbss9Nmn4utc=;
 b=FqUUx4rviVmhrL1sQ6ES9Qwg1s1pmx2lINCZRhj4fCoOdui22s1cCck2SsvclIQZuLRh0G/PyNvxhhECl7BQQEcSKTr0y9/d6e4cKxqffaeb9OgkxD8sh6J8GSO/s6v3E2+HCOGDfFTv0gr+73j1zTpFs1DylbDmn48Kikx4gSo=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.com" <consulting@bugseng.com>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH 6/8] xen/arm: mm: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 6/8] xen/arm: mm: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEdmNcwigzYukmEfRcETstuuK/h+WWA
Date: Wed, 9 Aug 2023 13:43:02 +0000
Message-ID: <0C30A959-AF46-484D-B44B-058A86799FE6@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <67163dc4bc2e44d3f70f9c49295b993663d2fd5a.1691575243.git.nicola.vetrini@bugseng.com>
In-Reply-To:
 <67163dc4bc2e44d3f70f9c49295b993663d2fd5a.1691575243.git.nicola.vetrini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8116:EE_|DBAEUR03FT060:EE_|AS8PR08MB5989:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ff88c4c-ea40-443b-4a3c-08db98deaa96
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:
 DkMQ3+89bXg08Z1Id1+QflRLmYwA1msT3uWtWsLkT9IJkJ61WPiMENiqBXA3NCYPSoBVEefA6Lmf19VX74OXm8HUbZ1e/tzWhePnvPw8E5jSAzIWCwueFlR46dwZnuDSM9Nv98WRkGPAEaY0HMQ916FweTn56IOaaN32bzYv7PEi7/vd9lCsGuXQFPzO+CifCJ5DwacsId3rKmsfiSRJYeCEiQTknATKyNlgGtqkTOakHKcZ5eq8WS9Pf048ASiw7+CtnS3ZtbbWAJZ45Rf9BOk8YSweIdQb7ImjMFyIr+wGbE6Of7lbIFeyjdd2pq/9UNCKZBwzciIlwxs8RpEmbF2IXLMjuQ/UbxeyZ05u13f/MwGCNsRN81CkstCgUJIML46XTrRPFpI0daa0h/KMQJMJR4lsxyvrm2g+0nt+jyZ+VGr1EZNdh3olO+wqOQPvNOvUohiRg0cTK58T3qWip1OKPawzFV2ZqZe1zRnMB32d5+fgZdePOJx4nECbs+xfBlI8MgGAi5UaH2FDjJRv4qnL1Ub/zyVDYNDy0uG6H12ixIKA8sbgT39dLe0HEn5aN1SljXJkyAkclVSpkmpXFqS8/PiW2L0yd26kzwNW2d/L3TZ6NPqRylNbirisBZWTG8trVH8+eLEtPepbHnZn8w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(186006)(1800799006)(451199021)(316002)(2616005)(2906002)(122000001)(36756003)(71200400001)(6506007)(8676002)(5660300002)(53546011)(6486002)(38100700002)(26005)(66446008)(64756008)(41300700001)(6916009)(76116006)(66476007)(4326008)(66556008)(66946007)(54906003)(33656002)(86362001)(91956017)(38070700005)(8936002)(6512007)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7EBDACD8C8EBD24B872027029807A142@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8116
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba0f673b-1880-412e-92cc-08db98de8d2c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IeFO1/2uIuWmRIe5j6mAwX5v2KHn+ypKco9khijrVrk92ZxMKRlMdIUalc1eNrNDlRwB/CP6aq/Kbekg7AdN/ionrmxh5jSLyM7cp2Zt0MSJywJigFmHDB0xx5qzZ+uEr5PKV6/DGo2zIUk0cdk/JM7CeNs/QfWbdFsDmg4oozz+R+IKYDXsRJIs/GgAqjI16N5t3LVbCGANavN8uyORluFdyToXDwqNBKNbDZdrZHnW2K5Z8tWCDUnam/39dVRUFRXwfdlWANjWkPTorR6hOC/l0e7tVKbspmnZvLAiQ1Z0xszczwRU9UxBSPiukUw5SoyW2KlS6XoKDmcwPIhCQXUxBMGHAoznswLPZxttkiQNvO6Cd0gzCxDDUO9PmrD5BbAJ7/F1uIY95YqeoxTmh/rpH0/4gWlSka2GTtG/O9XM9VPXM4sNwbnI+rpDJKH1MoFGvu+UO1MpfSPRSzvu+XWMjSqiQvELmm3aDeTQFcUFHcfgYuEVo7iAt8eEdYaUvQ3O1OY/YwfHQnC62mC/5DIZ/ToaX8BJLCE3lGiLNlQCUBdfUxl70WUDgLi9XZiptiSLr4jCL6KSohbeGvM4NhvKHWdMasc2fmNM2gpwlRz8n+YGfpPybhQVJVtdp04qhwpCo0ooFTvbiPCVxNpyxTWt8ftSNccEshVJvSYzt2lx47Jzy/4OaGmGqBzcVgGgwD3ZDhD4xokp+qFxSp/ObsTGkLUY/0hFp80U6jcQreV8H985e81MuCqw5I/VPZ1t
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(82310400008)(186006)(1800799006)(451199021)(40470700004)(46966006)(36840700001)(36860700001)(356005)(478600001)(82740400003)(81166007)(2616005)(47076005)(336012)(40460700003)(6512007)(26005)(53546011)(6506007)(107886003)(40480700001)(8936002)(41300700001)(70206006)(70586007)(316002)(8676002)(4326008)(2906002)(6486002)(6862004)(36756003)(54906003)(33656002)(86362001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:43:51.5038
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ff88c4c-ea40-443b-4a3c-08db98deaa96
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5989



> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrot=
e:
>=20
> Add a declaration for the variable 'init_ttbr' to resolve
> the violation of Rule 8.4 present in the associated source file 'mm.c'.
>=20
> No functional changes.
>=20
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

With:

Fixes: 4557c2292854 ("xen: arm: rewrite start of day page table and cpu bri=
ng up")

If maintainers are ok

> xen/arch/arm/include/asm/mm.h | 3 +++
> 1 file changed, 3 insertions(+)
>=20
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.=
h
> index 5b530f0f40..698e54aff0 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -165,6 +165,9 @@ struct page_info
> #define _PGC_need_scrub   _PGC_allocated
> #define PGC_need_scrub    PGC_allocated
>=20
> +/* Non-boot CPUs use this to find the correct pagetables. */
> +extern uint64_t init_ttbr;
> +
> extern mfn_t directmap_mfn_start, directmap_mfn_end;
> extern vaddr_t directmap_virt_end;
> #ifdef CONFIG_ARM_64
> --=20
> 2.34.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:47:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:47:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581114.909658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjWq-0006FH-OY; Wed, 09 Aug 2023 13:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581114.909658; Wed, 09 Aug 2023 13:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjWq-0006FA-Lf; Wed, 09 Aug 2023 13:47:12 +0000
Received: by outflank-mailman (input) for mailman id 581114;
 Wed, 09 Aug 2023 13:47:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjWp-0006F4-UU
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:47:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ca472a5-36bb-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 15:47:10 +0200 (CEST)
Received: from AS9PR05CA0085.eurprd05.prod.outlook.com (2603:10a6:20b:499::21)
 by AS8PR08MB8972.eurprd08.prod.outlook.com (2603:10a6:20b:5b1::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:47:03 +0000
Received: from AM7EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:499:cafe::87) by AS9PR05CA0085.outlook.office365.com
 (2603:10a6:20b:499::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 13:47:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT015.mail.protection.outlook.com (100.127.140.173) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 13:47:02 +0000
Received: ("Tessian outbound f5de790fcf89:v145");
 Wed, 09 Aug 2023 13:47:02 +0000
Received: from e50cb6b2a6fc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 13122922-4605-48AF-A6AB-39F962C47799.1; 
 Wed, 09 Aug 2023 13:46:17 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e50cb6b2a6fc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 13:46:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8116.eurprd08.prod.outlook.com (2603:10a6:10:3ec::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 13:46:15 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 13:46:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ca472a5-36bb-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VIERSjKWNtMQeI30hlttanV74S1x+tMjIBCWEsekEDE=;
 b=JS/9zyPB/Lz+pCT+egWgsbfaWN8sX+ykeMT+FRjgQUs2NTGzJnXaKBc8rSfu6ZcWXBbSqksiP24j2NXNqUAezrlBbIq0LN+XUYH8OTihDKjWaUgAKIYz1iR8yJKUmv5GpkyB5fQb3gxqnQivrEqUKfrJEC8kTBhGNxA2kzt8xtU=
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: b44125c2c1412d39
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kq67HLxrFClvX6EG2b1kHk+9kB3nrZE02/XYCwOJJEBwJbEY33YgChYeVYMfLKsAUatuOrov3pNIB3O/d+YOo58cktSQ7He1oZOkzIDmjsOLbLcYOCwFkrkZgvELH7qt4rxPfjp1u/JiuX1HLoyawMupCvqarTzZJGbRueFRy8yfP1DHm4khvuiVo6IJgl5FJrHbegOWUMvSSYXrd1mIfL+OFs5/tmIixX5bGvbfkKS22ScQAc7JWc8qXXr+4HvJV2ppKubRS8HLBUDjfqgLPEpCFiPkimslq1K8qzKmEHaxLc6d+OtgI0Oxr5whFnARrwnZA9ADXIOet6MCt8ik8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VIERSjKWNtMQeI30hlttanV74S1x+tMjIBCWEsekEDE=;
 b=MYtw+7feV3Tbt3rUSXPhZHtQgrq7xJWL5s8Ko5fvZ0aw0a8ijMhEW0/GaWymEE4DlDcZRCJcOuq0E+Y6jNw6eY2TEw0yZQNE/AZ+vT4H/piOvqjwHbDZwL8t3MPtMjW9KwZTs9v7/VCesq7r5xQLOkpE9rL1o91C/BetdYXNabpB3TEdYJFoBWB9pSOyuwWYqs6X7nz2SvoqAlEQV4b2odDc8aewQw/EoTaSzkGteCM2r1KgGM4ez+ynnaIc1IE1c5obodQwHoQ0WbWEKoujguXIgHkO+m3EcHp9AYhfEMPFuSbFSIdpb8JgID+jPSR8IG1w2L+ue6x9uNZGlLpmgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=VIERSjKWNtMQeI30hlttanV74S1x+tMjIBCWEsekEDE=;
 b=JS/9zyPB/Lz+pCT+egWgsbfaWN8sX+ykeMT+FRjgQUs2NTGzJnXaKBc8rSfu6ZcWXBbSqksiP24j2NXNqUAezrlBbIq0LN+XUYH8OTihDKjWaUgAKIYz1iR8yJKUmv5GpkyB5fQb3gxqnQivrEqUKfrJEC8kTBhGNxA2kzt8xtU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.com" <consulting@bugseng.com>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH 1/8] arm/efi: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 1/8] arm/efi: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEbxFin9q0gU0Kc4Cnx0VHQla/h+kkA
Date: Wed, 9 Aug 2023 13:46:14 +0000
Message-ID: <D4DD2E2D-85FC-4614-BB4E-D72FF3B0F58D@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <4d087a54edb3f92e9271e3d01c1abebf00d3e298.1691575243.git.nicola.vetrini@bugseng.com>
In-Reply-To:
 <4d087a54edb3f92e9271e3d01c1abebf00d3e298.1691575243.git.nicola.vetrini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8116:EE_|AM7EUR03FT015:EE_|AS8PR08MB8972:EE_
X-MS-Office365-Filtering-Correlation-Id: a3b4435f-c8b3-4806-8d9e-08db98df1c66
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:
 /Pu57sFhVnhcIBRCK1cwPqGS+Epw+/EDIT5ZOL/XK18iTSQKpiywBpc+Giyq8u5bDYISrz/x2TfX7s6kXeTHP5Dhv18R5qr8iEaXScGg3jPuXHr28TY7beiSOn1aveP4qPBefGh5w3Lvyjyvv9pawWPJFuBjf3eAQDA0xYLuG0OGK84ZBn4RH5D1fbh4bSZS/37BopxD5Gb+OQ9utgSjq3ZLBfl0wVLSRdHGgFlV9Y3x55ElP83FzpRui/dag2zOM53wg6pPc5aP+nYeF4peL7V1Lv1AmVnC9cein0sgx3Ze3Zs/z0AFVLlZsUsrHu9sEe1ewwge+6I1uxx5lzC3xZQ4NzLRIPCJ4MGtIYLetilpc5lBNpHuowuI/qc0Jge4GkyisjN9BHwjPueY51a9a070WO54/ILPyPMJOjLacChyZt8vAayX5wG1MdEwfje1e8XkeJLHQvO8fTbqtD4otcrIpdwQSmX4Iqt2/4+roS86d34a7x8bZO0F7i4UMnXw8GD0ecqplE7FDHXIvGZSS3OQULZNtngPj//fqcQQ81ckrBHFcA5aOBBpd8hvV3sdgdS7clw9ZmNlCQIsnV8q3wAnSuLhpQZGA+HCkAyYBGbYRzW+OBJg/u9AjA/zu6K4P4+tm3/ycRdqtF5xfPMFWg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(186006)(1800799006)(451199021)(316002)(2616005)(2906002)(4744005)(122000001)(36756003)(71200400001)(6506007)(8676002)(5660300002)(53546011)(6486002)(38100700002)(26005)(66446008)(64756008)(41300700001)(6916009)(76116006)(66476007)(4326008)(66556008)(66946007)(54906003)(33656002)(86362001)(91956017)(38070700005)(8936002)(6512007)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0A52F88E1D468D4D8879FC51DF280EDF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8116
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:
 AM7EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	02ad181f-192c-453c-9a72-08db98deffb5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fu/Q295nMAvQo92MlKZZJaE9yF8bSFNeyOK+4/qSmG1VEatG6rCMrfUtXhvSBfUmBNZtiOeN5rItp74oiTgEqmov11Lu5AaGmr/VfSybSmvBYRdqxuCi4IpIylO2C7zLlMe+YMblsoYXUgv4FKUIom8NwQkJCgz8A7YTP04YfL1rsVNKBLrzEB5J3sPvyEQjlzeEHbHH4k5sbuMP+rvJMSy8fO976aj5wMoJ+THJAQarJwxcXmqxkefnPqnc8/C8mo84Lwczv8UOq8nPXMJpHJW437sQ5zFzIby3V+Djyq6psfV0X8vywjddUwbnriSgdgvueb+56sKIiY+YbVGy9rMl8Pogv8C0TVZF0ajbagc9laEgu4QT8jEVZ8LribqTXlAdd626q9F1d8zjgognEem40pmkgO/Z9Ep9075m29HbXF+rPDqIXuwbHRjgb8x+rsf5UbfjBktUK2PqthH/xQhIogP+Hj8kaI371eUqu8S/oooihqK9HSml92vi+3qy3hEssLpD8wSYnYJIMVkgDR1JJh0YKkBWBs4NaKIq5UqdTNGH0/dOv2fkD288Nd7BPPFkYgMz7AQliANH7TVks+4BGhcZuVJDrXKtcF+n+kJOIFYw81TDCe+QjFTL2iSc2zX3rEOY4JWWyZQ6Nu6zol2F6YFjZcKGFzDu05cDuPOIsRPC8D22ME30aoS4/GB2PdLZSCk5bve4nUUIKqyN/q5eDjKnH44Wpkj/2Co3jHIAyhdjz6vnEMrHeAbyc8jS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(346002)(376002)(136003)(1800799006)(451199021)(82310400008)(186006)(46966006)(36840700001)(40470700004)(8676002)(6862004)(5660300002)(8936002)(81166007)(40480700001)(356005)(82740400003)(4744005)(40460700003)(2906002)(86362001)(2616005)(6486002)(336012)(54906003)(478600001)(107886003)(33656002)(26005)(6506007)(53546011)(6512007)(36756003)(4326008)(36860700001)(41300700001)(316002)(47076005)(70586007)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:47:02.4044
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a3b4435f-c8b3-4806-8d9e-08db98df1c66
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8972

DQoNCj4gT24gOSBBdWcgMjAyMywgYXQgMTI6MDIsIE5pY29sYSBWZXRyaW5pIDxuaWNvbGEudmV0
cmluaUBidWdzZW5nLmNvbT4gd3JvdGU6DQo+IA0KPiB0aGUgZnVuY3Rpb24gJ2ZkdF9hZGRfdWVm
aV9ub2RlcycgY2FuIGJlIGRlZmluZWQgc3RhdGljLCBhcyBpdHMNCj4gb25seSBjYWxsZXJzIGFy
ZSB3aXRoaW4gdGhlIHNhbWUgZmlsZS4gVGhpcyBpbiB0dXJuIGF2b2lkcw0KPiB2aW9sYXRpbmcg
UnVsZSA4LjQgYmVjYXVzZSBubyBkZWNsYXJhdGlvbiBpcyBwcmVzZW50Lg0KPiANCj4gTm8gZnVu
Y3Rpb25hbCBjaGFuZ2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGEgVmV0cmluaSA8bmlj
b2xhLnZldHJpbmlAYnVnc2VuZy5jb20+DQoNClJldmlld2VkLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQoNCldpdGgNCg0KRml4ZXM6IDZkNzBlYTEwZDQ5ZiAoIkFk
ZCBBUk0gRUZJIGJvb3Qgc3VwcG9ydOKAnSkNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:48:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581119.909668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjY5-0006pM-36; Wed, 09 Aug 2023 13:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581119.909668; Wed, 09 Aug 2023 13:48:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjY5-0006pF-07; Wed, 09 Aug 2023 13:48:29 +0000
Received: by outflank-mailman (input) for mailman id 581119;
 Wed, 09 Aug 2023 13: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTjY4-0006p9-9W
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:48:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a78b682-36bb-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 15:48:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8904.eurprd04.prod.outlook.com (2603:10a6:10:2e3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Wed, 9 Aug
 2023 13:48:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 13:48:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a78b682-36bb-11ee-b281-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qt3jCZT36OvyLyjVbuYqBu1bRoW+ETHahrim5JAfj7b7Ikt1HSVTJMD6FVzWl5zLC2SFLVIzXsngIj+y6PDloC1Hj+ZoBQHVXJk/6vfIwGbIwdxzohaAezDKOYMkgh2sQf5p8YrDgtDICxs7osVysRQWlBoI6HIepRQIS81Yv4uZQN855etPAHTFaOmZFagEMDkUUiSiPh0APZkny1dRG5jWIXH5uAFOzMFCcT9RbhKcYCbH9qtTUGkx7G0qkcHBUJv/xRAowIIOJQxwOlOXjWj2xD2/hIsA2gl4AZ1/fC/v+cHw+SbQ53y5GEEYZu5J2Yh+yDgoICsQwV+5mpZKtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aiX0nx08s7rsrGTCb7zbmS6NckAEj1pNnvMYg6Sfa+0=;
 b=WVAJv7nKRNDzSoRMp3SMt34MsnTHaG2RFsxZB0Lm1fOa/4YWwl3wwHI+Pv/4Ptc/kwPcvELc97VwjWGs3B+CPm6mHlhseeuJpAzUSg74wyChl1Tp4psf8Zp7zynaS1IuQoG3sE8+7ArpMEIXliogu8WzGJOAGC0ZSy82/ZFRUVXnZKeY3k2+X60cdx5QFXhxi5TREr/x4wH0iWbyZoc4jHcOzOF+jezy/c7T0QPMGdobnzITVlMTReT3LPQnJrEc0uqNGLwx3Cq70mvFd09ZFUQYUKqJ/Z7o9l0KjAuceHuLW+lubUnWzLuoCZ5U4e0S6xB3V8Ce9I/dd1wz6Z6fPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aiX0nx08s7rsrGTCb7zbmS6NckAEj1pNnvMYg6Sfa+0=;
 b=Kf9dXCWmmK2jjoWs420lpld5v5ej9Z3N4iVKbEI3FsegTegtT3542dbBQDOGdEUb8DVybbsi55dqZY+2xSIWU/S6hMz/aGlsuijpcAc55W/eQ/N9Vu0uWJa0X0JmhFXAIsP/V6JhLlATiTiSaXJTHkZALwx/xJWKpAaHHQScTzOlEbp7pbVWadkgx82xc1KTKcTMbDFQz3PuVDsUFU/0Kzm8IuDLsWy+xEsSpHlheUKPZeFBhbuG6NHZaFH2jBUqM0fuio0qqEvapDfoh9ClaHJJ/ePDLBj5BKx5t6BHhcwDKT08ZChIJPeB7yCRP2ZbohG822DjjVE09j5OMlJ4vw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <076d7588-8fab-51c9-f382-58350c91cce8@suse.com>
Date: Wed, 9 Aug 2023 15:48:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 5/8] x86: address MISRA C:2012 Rule 8.4
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <4a07e7bb893f3d96e007ef6ccb645eee0d730489.1691575243.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4a07e7bb893f3d96e007ef6ccb645eee0d730489.1691575243.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0241.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8904:EE_
X-MS-Office365-Filtering-Correlation-Id: b3a2ff42-93a6-4b8d-2bd9-08db98df4d67
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L6749WGXf9evcQ15JOS6gquaWWlrtTFDyQfgfzuPJ8XPPgEsXpSQPteErVr9lGY8TMKdDl7KNitrZQSErNRDNBdjfV3j1XYpWDb4tXogDIxfGF58u2YOYziP3raAjc8nD/k+ByRKprcgFkqvIw4wt8UVdTFnE9vco5BRxpU5aCY6qKGuxJ4GWwm1bmNL9zLkNpR5NcfoJskH8UV5tPaehFKCmdR2dJ2yRGqlCV/PtsVpCdcF+pdcRDe1dl1XBX9RraTzwLpVjs9z5zaxQcya8O1UKR7w+nC+gDTDcC/JtLVbWjWuutjJ5FqLgDsKlHnWD6/1KkTyloAlrbEfesl1QbaaZlfiuTqhE35WYOaH/bWG2ig6B7oabx9wpmnUU448nGKRSwfZjovW9OlWq5wu6q9E7Or3HTvuy1zrvEr4VwzWLTMLpmv96wIvS0bZ8ywA89Bi1l/ieopV5Uo2BmHE2HbAiZjKHblx4HI15vxNRU7sMzTNTYXv64O1gPg2V8k5/AIlKNCHWMeN9rKWr/6+gC0yvIOXx3E7mvJrw1JnsoQSwJiZfxSxyAcYrVZwHPbz5Jq/WLT0OpsZ75EW1aVnXRL7z38eG3XGrlCRJX7LVcF2t4Y5iVs8UghFl4pKVAEakwcNDRKiGS3dAeZeZRxtqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(136003)(346002)(376002)(366004)(1800799006)(451199021)(186006)(2616005)(6512007)(36756003)(4326008)(316002)(6916009)(38100700002)(54906003)(478600001)(6506007)(86362001)(6486002)(66946007)(66476007)(53546011)(31696002)(66556008)(41300700001)(26005)(8676002)(8936002)(4744005)(2906002)(7416002)(31686004)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0FaRW9TdFNwS1lhMWpPRWlrMlppUGRHaHp6aXBnNEpNb1FCWGVCOVRHeU5Q?=
 =?utf-8?B?TTlsbUlMM0xXRUg2M3Vkem1obDJqR3B1ZGxpdEJ4OEZZWGk2TGRBNVBXT3FY?=
 =?utf-8?B?QWhWRFJGYVVJbEw2Q1cvZmRFYkFjTTlZRGdGY0lzallJRlE0VFZ1bmVreDBw?=
 =?utf-8?B?TnhXdThsMHpKV2JSVTNOUGVQK0w3L2t2RTVPQ0NmK1N3QTZraU9RdDEwNEZa?=
 =?utf-8?B?ZnYwNHU0cDMxSGhyekpqdWE0eFZVUCtqMFdrR1NUUnhwMlB5aUVHTmxKVTBl?=
 =?utf-8?B?eFkxTE1ETEZ5NkR0MkNBazBtTzJKZEhpYkxpaWlScGZ0Y3NtQXFkU01FQlQy?=
 =?utf-8?B?OEdUaVVGRWFsL2lLUnhEYzhOZUVVTHlFMXV1QlFGcUd2RUk4SzlkMlcxeEFk?=
 =?utf-8?B?dEs5OGU4TzZJTjhaempOOWNmdHlzai80QUh3dGxmNDI1SHhVUUJjZWdrbHJp?=
 =?utf-8?B?b1lPdTJBd2VVM1FvVkVyZVhHa251c0phcUpPQjFySjRCQWRPU09KQ1RaTCtF?=
 =?utf-8?B?akkzSnlTdTl5eE5QRHFKUjFZemZMVnNDSzhtdmVSNXlOcU8vMEZVcWs5bW5y?=
 =?utf-8?B?VUxuSEpMcXcrNVlNWTBrMHZpZytRTTlWNVRDa3FFU1cvWkZPOTg3OWlwT2dW?=
 =?utf-8?B?QW9wWWtEa1k5Y2MrRU43Zm4zcmV2eVhxWFE5dHhrOUlnWFovelNoTCtnbWYy?=
 =?utf-8?B?TzN6dFJUVk5oeVhwVktiUE00STBSWXFSMGRaclNZWXF6Y3NmaVV5b0lVZE0y?=
 =?utf-8?B?OHdkWmZPU1U4NnJlWEZsYXIxQlRHRWcwbGl3Q3U0dUJQaUlQaHlhSk5tNW9C?=
 =?utf-8?B?ckhzdmNWS2o5SHB0YW9GMHBLamZNS1dNSStGV2lweVQ2bUFQTHBpZGRINUF3?=
 =?utf-8?B?ck9obFRpNDJWODBZNlZpNDJGSFdtNzU2Q2NSVTFFRXczTFJnTmhXYTlvY3Ux?=
 =?utf-8?B?MWtaWW8waWZoSWZ4YXBlanJpcWd2NXdKOENjcWIzc0piY0c3N3FHaEVBUDVJ?=
 =?utf-8?B?cmJSNnNsNVFEVTdZTjdwYmpSUkUwZTVveFJmWm9kUDNCYWhiaElROXVCbkdx?=
 =?utf-8?B?eXNDQisvTC9hMWFCc3lvRWQ1ZUNoQ2NsNy9yZzZBNkhQSkF0QzZWcXV6czM5?=
 =?utf-8?B?dFpFT1ZhTGVNTXJRcE5KQTdZQzZWcFd3WHZicXBTUnJ5ZzBnemNHTEMxdTNM?=
 =?utf-8?B?eEZrMndEclo2by9XTEtheU81Wjh0Z3dqc29KVldQWmRiSmYxSHU4RmVsWm8x?=
 =?utf-8?B?SUFZT09IcHRvUkZPYjMvYXNzYmR0Vm1lTDQ1NFQxbTE1RnpiaHN0YzF0Vmxn?=
 =?utf-8?B?M2ZwcTlzUWZtQ1RpWGkwSGNJNUpwd211QjdQb1FLRGhqaURqSnR2WFcvSi9X?=
 =?utf-8?B?U2pFNGhnTDNqTmNkK1F2RmxlT01ydXlTOFFjRi9MY1NrQlppU3R3aUM4M3ll?=
 =?utf-8?B?cUd0V0JxM1VRZC84VEgxNVNYZjVkWFNVblFkcW1WSGpKbkR6TitNQ1NCNnI0?=
 =?utf-8?B?NHhBNjAybnl2NTVXd2FlSEZpZ2REUks2dDJjZGRQVytsQzlGVGZndHRJejVa?=
 =?utf-8?B?aHBmVUFSY0RCa0E0RnhUbUtsY3M0cHY2TnFROXBIMWN1MkVZMCszZTdsYUty?=
 =?utf-8?B?RERyZldwTjFCZ3VDOE0wdzZPTTQ0WUMvSUgzcG9sKzdKVkVkVmZDcWdySmk5?=
 =?utf-8?B?Z2x5d01FcUl3bFUwaEFYZXVxZ2dsM1l4TWYxRW5NNGpJWVdJYTN4ZnNxQW9l?=
 =?utf-8?B?YnZmSUV1VmxNcnhEQisvVVI1M2ZjbWt3a1dCTDV2SkQvMTEwdUZYZktjOEd0?=
 =?utf-8?B?eDFyajJrTVE4REd2LzdtbkswY05yRkJFemVRKzAxaERRK1R6YXRwKy9US1gx?=
 =?utf-8?B?Y1l1RnlZK3ZpWHNhL1Y5SXJnM2dXNEVQNzdSdmxPN0thZEg4WXluTUcyT1Ry?=
 =?utf-8?B?T3ZQTmVwQllIWGNxa1Y2N3Q5c1RhZE5Eb1ZIWGtkMW42R09RRExnbC9ZcElE?=
 =?utf-8?B?MmtYM1JJT2Q2Q0NxRWtBZWpWdUdKeVVyYXdVT1RnUzNFd0hUU1E1MG9ZMXFu?=
 =?utf-8?B?MFRRTXV2d1JHbDZlRlJ3MTdpVk1jQzFXMTFVZlpLeDJGcVp0RUNJazNVRjJu?=
 =?utf-8?Q?Pif+sjzz/WuPZ4w+Z1SBR0wgB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3a2ff42-93a6-4b8d-2bd9-08db98df4d67
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:48:24.8015
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Y8cQBzT2dFMlSfPpWtOU2zeGR9ypAsmnaSrgFCYCgv6yHRqTCXGcBCTlBdiKSSE2bEfOER82vc9zqLQauYyZWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8904

On 09.08.2023 13:02, Nicola Vetrini wrote:
> The functions and variables touched by this commit can be static,
> as they are only used within the same unit. This in turn addresses
> the absence of declarations that violates Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

I'm happy with the code changes here and also in patch 3, but please
make the titles meaningful (in patch 3 the prefix also wants to be
more specific). As mentioned, the Misra rule is secondary here, and
hence doesn't need to be present in the titles.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:51:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:51:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581126.909678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjb4-0008Gr-G1; Wed, 09 Aug 2023 13:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581126.909678; Wed, 09 Aug 2023 13:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjb4-0008Gk-Cz; Wed, 09 Aug 2023 13:51:34 +0000
Received: by outflank-mailman (input) for mailman id 581126;
 Wed, 09 Aug 2023 13:51:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjb2-0008Ge-W6
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:51:32 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe12::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7f622a7-36bb-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 15:51:31 +0200 (CEST)
Received: from DUZP191CA0025.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::21)
 by VI1PR08MB10029.eurprd08.prod.outlook.com (2603:10a6:800:1c6::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Wed, 9 Aug
 2023 13:51:27 +0000
Received: from DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4f8:cafe::a6) by DUZP191CA0025.outlook.office365.com
 (2603:10a6:10:4f8::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 13:51:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT057.mail.protection.outlook.com (100.127.142.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 13:51:27 +0000
Received: ("Tessian outbound 95df046a2e2c:v145");
 Wed, 09 Aug 2023 13:51:27 +0000
Received: from f6a2c0602c2a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B601A46D-BB41-4652-9D43-B04EB2D1E5F4.1; 
 Wed, 09 Aug 2023 13:50:29 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f6a2c0602c2a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 13:50:29 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8116.eurprd08.prod.outlook.com (2603:10a6:10:3ec::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 13:50:28 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 13:50:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7f622a7-36bb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rQNT8PERyXuLdsuD19oU8pXPPzCvFl1yWXLc6ZmLdpY=;
 b=G2KBhp95grLb9w0jfyyjSzMOZNnAoZzU9QDROjJvF1f/7DDtRxqy5qC1h/6aFHpWesB1hHkaxT0ZCKofeDnjq0Ts+1RsUn+GJ2TwdnBWJwCEw3TLmsRvpT0nPNV89WImNzGt9hy6tRzh+RX1uIVUiZ8mEzJUXRUOT9kC5cG3CKI=
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: 1525b17b58706906
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dPtCBT5Rnpid7iK/ZcGhhlf7Qp4fxjFTGBTm3Ei970N4p1E70Tfr2/SfocY6bnAfaP7j9JBSdt7vPyohxS/eF09kF/6v0M79ztKgQV0P2IbLQ2L2mxcYOmhSmgJA6e2/30SlrBEUkpleq82uDio30MqEcFBooZ8eS414JYc9JB6iACcvyxoszoQnzZ/YoV/snL5pAiFZQPtUdnaumOm+O3IvGkJf2WXoly6ut4hffewSVMzgEe/F74fOgkwuwdtXmRIqs5b1cMoFNPMb+GVaQ+Uthn/b33Bw78b/2/F8csmHRNU7fVzjxFnkjr6fDWa0W9d3w2dxxVIzCJT58oE4PQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rQNT8PERyXuLdsuD19oU8pXPPzCvFl1yWXLc6ZmLdpY=;
 b=Yq/o8+wJpgYcicfD+VY562WIsmbgmU70RicVLYHvyGWA9pUP0t8QSJluJdi8vqZnj9ejykTPJOyNoOkGjLugwtNuQfSlA6YJYguFb3dgFyi31Dni4XETRbwzL3HTioXqwqfAnjfdQXaVeqme2UAwYYRBxKsPpU8GxXf+7pCXuk8mRAEjvwSfkMd895u1cDYm+54csqY+TqU2NEGK3C/OAvpjZty94KGmTKAGcPxoX5QbkSqewF4rLwnPKAJGvpUK6OEIedwPWShPslFEXorEefUPtKjs79aFf8xVpCch/1hVzbH0rIUpw9XPtrmiGxZSdpiZtg1IcDfciAQFwjZcsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=rQNT8PERyXuLdsuD19oU8pXPPzCvFl1yWXLc6ZmLdpY=;
 b=G2KBhp95grLb9w0jfyyjSzMOZNnAoZzU9QDROjJvF1f/7DDtRxqy5qC1h/6aFHpWesB1hHkaxT0ZCKofeDnjq0Ts+1RsUn+GJ2TwdnBWJwCEw3TLmsRvpT0nPNV89WImNzGt9hy6tRzh+RX1uIVUiZ8mEzJUXRUOT9kC5cG3CKI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.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>, Wei Liu
	<wl@xen.org>
Subject: Re: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEYmlGLQrMXXU2mT8iNskDvw6/h+3gA
Date: Wed, 9 Aug 2023 13:50:27 +0000
Message-ID: <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com>
In-Reply-To:
 <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8116:EE_|DBAEUR03FT057:EE_|VI1PR08MB10029:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b5c3c18-196b-4c73-c6c1-08db98dfba4f
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:
 Gl/bhcZALul2f0hbF3VhQybofTByrHnLoFP5kaQo2BBbAiiPZ6Qn94EQtSbNK1Foh4qq2bTtj3bej3AY2rRxJ+LZikbiVvQKLW1rFVSWAFcU5mzTU6xg3HxzHJFHUzIJET61+mKWSV8s1a7IPOeQjw1ypv9xGdBE3RpzAnFHz8vyf9G6SvY3YwOyMPPBKPY0Pl4adIVxkc32c5WioZoA/XUCoof+SvgPHpLHuBzijsliO03ipi/siWcIye9qotOcY6hE5V5WOjIGdNVC3+RAICWu6aVaed9E7CoASIRDtvN+/F4rZnK+JKVORc04IFp6cX9TLuA38ZVEMCqjtIERdUrFftUaFhG6n3vX/0rG5mheoNZsTvFVxINC7T/RyvfZkUQJLOwkzspNZwHWJdfMEA2A3+fLBWBrrmLTjGHW423A+8sWQljfQIw7l24ws39EqTPTMi4rPsuixxUcTZZJUygQDyd2gujP6p6e1yTYqupknJ2kVo+i9i1byc1j07iNGmsb8ihdnD5Yf1/A8MPMldtWI32t+a3A8rK/Og8fHSB0d231KqofzttqHZV0z07RA3K2WBiYNgjyfdkf9cUXBPd/SYHqhf/SzFsO/FrooAqkXLdMhM3M82aEJwEKNOFvNgHR5Ildiz/riRn3ajUqGA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(186006)(1800799006)(451199021)(316002)(83380400001)(2616005)(2906002)(4744005)(122000001)(36756003)(71200400001)(6506007)(8676002)(5660300002)(53546011)(6486002)(38100700002)(26005)(66446008)(64756008)(41300700001)(6916009)(76116006)(66476007)(4326008)(66556008)(66946007)(54906003)(33656002)(86362001)(91956017)(38070700005)(7416002)(8936002)(6512007)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1902852551DCDF469E7FB038272FA202@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8116
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:
 DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3f23349b-5c61-4e43-b9a8-08db98df96c4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sakAe8Pya6lKQ2I+KN+oao/3o4bhSYyvrdH/9vdcGcNfM8qkxHAjNS0Wll8yhL8Vzr49AX5Y+FwxuelhjQEfSH96wxLtdDWtORwC1SzuTVAnLnP3OhYXPQbgjTgLHSUDyXFxdtRcUL1iAgRZ160yLeR1q5+4xDAJxLP2VVriw/Jx15moUWz6UxwBsFdxcxvVyAEVEXK/6Z9vD+cjKhDNMlMQ0soOt30ZWDbfgI5RNlTi5tLnkTGzcErgY2p6ncDPk+WOZCdmBM61kYI7jkr/GMGXKloFIKDFdvbxJbIKzfDGeJswpcAvffJogZylNx3NhfnKKwTDHWRq5HJX4x25aevyBBdY2qPHx93dxaIHRPKXqDj7GDWQuwMbCkpyXpU11BCvomJtbBP0VFSpxcTteMEbKse2IRVbb7Sq4KU5efBdnVg4dXl9f19NE8oM97Mecl0GyDzcu0zLas4Z94IqrFMzwGVu7JaxLmNsdzenDxqq2mz229dgPShjL9EL9KJRn1/aYZ88lSaff+kJNAOTvgP9foYxi+je2J6A2ZpjZJZ1tX5TeI0hvUkr7q0Ai0ek4kO6YLgHXTIxIGD5kaQx647JiRnYPGjKJdOX/OlQOCnW8P2EmkhNpLl/z/efGASBCxzHqmoeFGRYt3LodO0766mlrzBr+Ddh4kES0aCcZ/P93uk7CxSFcxjK5GsNRAHIL38l8qw+By/QzV9bxBzOtvIHdCCwMNt99xQC3HPU+gJSjaAmcAloS13MlG+tmyi2
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(346002)(376002)(136003)(1800799006)(451199021)(186006)(82310400008)(36840700001)(40470700004)(46966006)(40480700001)(336012)(2616005)(40460700003)(6512007)(36756003)(4326008)(316002)(6506007)(356005)(70206006)(70586007)(478600001)(86362001)(82740400003)(6486002)(53546011)(33656002)(81166007)(54906003)(26005)(8676002)(8936002)(6862004)(47076005)(36860700001)(2906002)(83380400001)(41300700001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:51:27.3507
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b5c3c18-196b-4c73-c6c1-08db98dfba4f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10029



> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrot=
e:
>=20
> The variable 'saved_cmdline' can be defined static,
> as its only uses are within the same file. This in turn avoids
> violating Rule 8.4 because no declaration is present.
>=20
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> xen/common/kernel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index fb919f3d9c..52aa287627 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -28,7 +28,7 @@ CHECK_feature_info;
>=20
> enum system_state system_state =3D SYS_STATE_early_boot;
>=20
> -xen_commandline_t saved_cmdline;
> +static xen_commandline_t saved_cmdline;

I see this line was touched by fa97833ae18e4a42c0e5ba4e781173457b5d3397,
have you checked that making it static was not affecting anything else?


> static const char __initconst opt_builtin_cmdline[] =3D CONFIG_CMDLINE;
>=20
> static int assign_integer_param(const struct kernel_param *param, uint64_=
t val)
> --=20
> 2.34.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 13:57:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 13:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581133.909688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjgc-0000WE-6s; Wed, 09 Aug 2023 13:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581133.909688; Wed, 09 Aug 2023 13:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjgc-0000W7-2z; Wed, 09 Aug 2023 13:57:18 +0000
Received: by outflank-mailman (input) for mailman id 581133;
 Wed, 09 Aug 2023 13:57:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjga-0000W1-L4
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 13:57:16 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20609.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a514c65e-36bc-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 15:57:14 +0200 (CEST)
Received: from AS8PR05CA0011.eurprd05.prod.outlook.com (2603:10a6:20b:311::16)
 by PAWPR08MB10017.eurprd08.prod.outlook.com (2603:10a6:102:34e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 13:57:11 +0000
Received: from AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:311:cafe::ef) by AS8PR05CA0011.outlook.office365.com
 (2603:10a6:20b:311::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Wed, 9 Aug 2023 13:57:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT041.mail.protection.outlook.com (100.127.140.233) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 13:57:10 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Wed, 09 Aug 2023 13:57:10 +0000
Received: from 17dc439d95f4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 33DE6BF8-83F2-45FA-9D2A-BF84218584BF.1; 
 Wed, 09 Aug 2023 13:56:31 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 17dc439d95f4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 13:56:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8116.eurprd08.prod.outlook.com (2603:10a6:10:3ec::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 13:56:29 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 13:56:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a514c65e-36bc-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AHdWBxCSqPq2YeMQiK1OXXbKH02/DFQllBT60BSrEtA=;
 b=BU8uAtEewF5RF0svZuYYj1mAwAtNypuILG0caj6Oq8DImxPi742ChkcvsdVgfMn5+0IWEDuTxO3AHWN98r1RObQT3RzvOocufgy24UgpslYYbwPO97/oDAoOWRAuecHO1BdrdC/4hMPKKWJk9JRYKqsl/PywQOUwFxBTs0UbsA0=
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: 9af028e2086d487f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m59RVKfLoVYh6VOhBHhZEZxTXm0EubVwNX97wZXaW9+9y5Yzf9jNeSZAkZJc4IVbAr/LqI+GEYTDzGXJhooOteu1/kbSJaB+JEaobVNGSLhovjI3Z6LlV4z+bEr7axScxyteLc7Y+Lmk8BLOZ6O2/lPItdOymPs1KEYxG7dCCP/lSokv1xJ2kzJFJgkj4wfDonHwlxhZBR+UXZyVmHk7nytMaNdP+cAZUpWmWxMwb0xIO7ylaxLLylV37c4uHgGdA5eEBmqmRCM1QcrH5v1SCqh5k0CSZnEMsUwFLBjTUjn57hcrewTdrr8WhuDavSfVD47LUuuCQZr6yDOFmL/cNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AHdWBxCSqPq2YeMQiK1OXXbKH02/DFQllBT60BSrEtA=;
 b=UEU7TS3bASADIbhBvzkCXRTQhYx/Wc7XfC19i+NFYMCaqLGSEZ0sPWTEsE8UMJ0G6XjtYRyk76YOL167w5fZo9axF+qm9xrMS+Xv0DVhGP742M9hjL9uLsuDsffI4+DPOiao364WV/fWo2AFWj7pO66z/EUzH73kSaDMmvDJ39LOVLrY6TVISLaa3MBsCICaL/eKLvCTdq/S4TbsTUH09K359JhnwZIRyr/aMEDygrxIuZwkSl1iIm6J4HWZx6tuac7ATtH2PGcrYIb4mNwo//E1DkHTsI+6KamrX3KatSm9IjFgDNsdmnqVPK/Qz5RSaeDPOJWlCFUKgVDaJndDOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=AHdWBxCSqPq2YeMQiK1OXXbKH02/DFQllBT60BSrEtA=;
 b=BU8uAtEewF5RF0svZuYYj1mAwAtNypuILG0caj6Oq8DImxPi742ChkcvsdVgfMn5+0IWEDuTxO3AHWN98r1RObQT3RzvOocufgy24UgpslYYbwPO97/oDAoOWRAuecHO1BdrdC/4hMPKKWJk9JRYKqsl/PywQOUwFxBTs0UbsA0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.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>, Wei Liu
	<wl@xen.org>
Subject: Re: [XEN PATCH 2/2] xen/delay: address MISRA C:2012 Rule 5.3.
Thread-Topic: [XEN PATCH 2/2] xen/delay: address MISRA C:2012 Rule 5.3.
Thread-Index: AQHZypb0I6Psnfw1ike70N3zDUOJFa/h/VwA
Date: Wed, 9 Aug 2023 13:56:29 +0000
Message-ID: <E970F516-F626-4F8A-8A82-DF3E31ABEA20@arm.com>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
 <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@bugseng.com>
In-Reply-To:
 <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8116:EE_|AM7EUR03FT041:EE_|PAWPR08MB10017:EE_
X-MS-Office365-Filtering-Correlation-Id: 16982fb9-ebd9-42be-80d9-08db98e086cd
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:
 a8NBy3xVLczwDz24Tvmd+dQu1SlY5vGu+6qBYXMyGaPTcakznU2HEC5XLbfsUTUELLZu87znroeU59TxB2gZyDdkx68l8AZl3hLx1QZ1nAjcDgF5yow5MVgpaZOg1zwsDX0c7DhGipkan/x0c0/hNzeqNh874iXtA3WileawrBQOTEpda/2i/epFeK/NLkvlTMYcZ3Uqd0PEhHlNlZaL1HKWSuBKN1VTojlp4R+1CgkkY4buglfMpgv7Feug0bfBn/jb8u9HzMv/BKOTZwpB/GGZf2HY2ViPQZpxQKz5PUuVXeKPkFzuGaAzcNC7f0qhK7OsN3kEE8wfN3ggbU3b24iSwGSH3iiQZ/pemCNKFoAuQVdnLZd0Qpfd6O8sbo35eC3249hSfW33jshS/nxYse1X7aLGfGZnIYbi9Oqf29r/yttumjiW1wRPhvy5bqF3TV//8L440kO9sazjXdFvQ3AB/H2nys+s5n5oRtU1GdNVyZgbPBXI5An3n5xqJUJgShP+TKgnmb1GqfQNwbMQvidMHn6q0rUSTtPGe5otafIsfnwu1wn/nbUdR4/laUZfReOIEMVFSiFEzQ/BxWdrQ9H3t0jiA8gWl2WcM0Cp9aYBAob8xUFeqwtr4P+7CKu99kAQEU0Y0Vt3B6M02SuReg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(186006)(1800799006)(451199021)(316002)(83380400001)(2616005)(2906002)(4744005)(122000001)(36756003)(71200400001)(6506007)(8676002)(5660300002)(53546011)(6486002)(38100700002)(26005)(66446008)(64756008)(41300700001)(6916009)(76116006)(66476007)(4326008)(66556008)(66946007)(54906003)(33656002)(86362001)(91956017)(38070700005)(7416002)(8936002)(6512007)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <662F63AFD3C9A540A429F0C264F18699@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8116
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:
 AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f04c8d7c-c9cc-4470-87fc-08db98e06e34
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XQwpPbadcS1PVa6UYfux1C4Gg01JCt8E2dXZOW0kortazTsBUJFFCj/MLQKaNAySw7dgT1CjDJqJiv6ae0zNhWWyFviCAUvIfDAe9q7uCsCRo36+ztFiykipiPwlNpQeXrF45Gxil9yaRks7jXRvursXXWjlFJEwE9BWyYpGlxC4QxiphHWE9vNDHlLM4fHdEm8ict/Pi8k7UCldzh0lx1rnubGc4fvYkBiM+Kctt09nDOgYBEZOTK//FisR6+IVsD+ojQs/5VsRV9Paj7XaxxDY5VltHu6DP6V0xuNdKLGhyt3yc/9/6pd4gv7mDW+kradKkdWNiixY9KAu/aBktrn3PVMsnNcdcIJcLe7NMYlQOSncAbRnvbmMxZRoPTRQSoJH5TIgCaBf1xldB/CM6zXEvYWQEz5ZLWb+OGZPHJuQgSLTtGOpkFBhMVzEOYCMNhVgdbzcnd6IfE8350e7JJ02f3xt8BWrES87fOsTbjvo+NU/TG2nojIwVMQxp/HeMFf194UDJTBVxrfxry1IAKqj8idQ7fO2C/+Iz2uXO2gnVD6r+AcXkbfVwoAE1jw5wYXOvCVy01PqQxNWziNRiSxufbvzcObbvyIIv2k9KSjA6EKZvGeDdCYimdhC8FDzJEfetHFqiaYZPcWvaP4gBsksqfUOacqDkxmBr5pc+i0Hl8ShrLNgjNUMFoQXsvt0ccXYYHliW/Q1y/VXFNu5yMCwDKeYHzpssSNQ0zrBDXG8yT6rMJq6LUvCqstUqCR0
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(376002)(39860400002)(396003)(1800799006)(82310400008)(186006)(451199021)(40470700004)(36840700001)(46966006)(2906002)(8936002)(41300700001)(316002)(40460700003)(5660300002)(6862004)(8676002)(33656002)(36756003)(86362001)(40480700001)(81166007)(356005)(53546011)(478600001)(82740400003)(26005)(6506007)(54906003)(83380400001)(6512007)(2616005)(6486002)(36860700001)(336012)(70206006)(4326008)(47076005)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 13:57:10.4143
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 16982fb9-ebd9-42be-80d9-08db98e086cd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10017



> On 9 Aug 2023, at 08:55, Nicola Vetrini <nicola.vetrini@bugseng.com> wrot=
e:
>=20
> The variable 'msec' declared in the macro shadows the local
> variable in 'ehci_dbgp_bios_handoff', but to prevent any
> future clashes with other functions the macro is converted to
> a static inline function.
>=20
> No functional change.
>=20
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> xen/include/xen/delay.h | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> index 9d70ef035f..9150226271 100644
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -4,7 +4,11 @@
> /* Copyright (C) 1993 Linus Torvalds */
>=20
> #include <asm/delay.h>
> -#define mdelay(n) (\
> - {unsigned long msec=3D(n); while (msec--) udelay(1000);})
> +
> +static inline void mdelay(unsigned long msec)
> +{
> +    while ( msec-- )

Does misra allows to modify the function parameters? (Truly asking because =
IDK)

> +        udelay(1000);
> +}
>=20
> #endif /* defined(_LINUX_DELAY_H) */
> --=20
> 2.34.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:06:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581139.909698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjpa-000270-2W; Wed, 09 Aug 2023 14:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581139.909698; Wed, 09 Aug 2023 14:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjpZ-00026t-VY; Wed, 09 Aug 2023 14:06:33 +0000
Received: by outflank-mailman (input) for mailman id 581139;
 Wed, 09 Aug 2023 14: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTjpX-00026n-RT
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:06:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef90a1bb-36bd-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 16:06:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9388.eurprd04.prod.outlook.com (2603:10a6:20b:4eb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Wed, 9 Aug
 2023 14:06:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 14:06:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef90a1bb-36bd-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QKEfx+RThUtbNvHdDgsfKz/HFWDbQo41PQPxMoFy61JlVcQ7/O5qc1Mn5m9k6Up2ME64QFI20a8gbOEgG8bUM6QgaFurWJD1MUTEJr9W9Bzy1YcrJyVjQwXTUDNLn6haAk8mce9y5XpmIfBxASlBoy2Ui5MXGUVyeELcJDjfjAAFq9p7xsU52P/Ld02eRFkcykYPVgFSGCK0F+Q7phDOCEq70Io0sBkWYYpOGgxWNxtnxm3pGtlpkpdpHd7ZUp1GFz/FJpa+8vq20JVmNFWwzZK/Cvz+mx2PyOF0JWbMMecN/Uouvh6VxtFX33EUThg7EPREyXFaTrqpciW0kpGPyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FhUA5NsuWDlnopf/bqdUYEngu35mooPiQlSbCKPaHSQ=;
 b=AKGlm6msXo/CLA0RImfUQsj0xRCLr/dEGTBhUzW9Bo2Wnet3D8n6JNNlEt7pjOGqVZN3ho+45v4WqkMlg1kuKY7dCIfA2Er4DsS98cbgXYISw7r3217cjr6gIGJS5RwgEVCxSApasGZhAo9EjRsYUn8RNcHDYnXgNb82Uk/+Qf+oIkNgxaO6G5Tkulw14AHcEowYcoCUMIaWHIAsBeT1guF1fNZOeWQSeS30gD6X9Pw9YJENBDJ6SMJTPv7x7PnHlrJQ33pCFWIpD+w8VHT1b+3aG6uCYAer7X1j86ffoKOoLUUn0lfBMM1v/dvZZ6R0I6QujJ9V0PJrmtvlE3ITxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FhUA5NsuWDlnopf/bqdUYEngu35mooPiQlSbCKPaHSQ=;
 b=RYA0/PCpgW/83sjuJMrYfIaFUF+QdFeDkHUw7QFUc0kktAg5JTixrVNGP90UUrhio2Orl1u1L2FneeIv3KNbCPynptR6hd5VhuoYDXiLf50rNIsh4ko9GuDI8R4O1a2Nvqb59gpvAdUpYSuu1NtUJNmyiKGF5wTxhudNbshPNMz7isKZzRRifUlqXh4/3FBMO0KTrnWh20i1ikD3lQAQnLsEjGJp7Rz6zfCc1BG31pM8loj+UXCm5Qj4pqIxuRzVXSQYEHJVfsSXyAvHF91vlnKCdIHozy+tKTuWZ5vpciwpsYGIAOxe0Mv1BwpWvcnyu7ndo317xAUzuEnc9YVOJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <041f2137-8a90-79f6-3677-f764cb1b6656@suse.com>
Date: Wed, 9 Aug 2023 16:06:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "michal.orzel@amd.com" <michal.orzel@amd.com>,
 "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
 "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com>
 <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9388:EE_
X-MS-Office365-Filtering-Correlation-Id: 57502bc4-63d0-461c-c744-08db98e1d2de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KrIkVvsj5B91x2rTfrE5fdeENn6P1PJavRXUeo7BvHPVU+HLRNZjyglHxmg2lIUxn252mYHm/IaKYTFdFpGTH1gri2+6hKL49fZYYmUp9DDktPwTsgNshX7r4p4BTvUQmRrXc86sng588Yvzp476cneJnr1G1Nzr+p2FbeD8jnuaxEmFQO8sc2dTNs0EuYQiwRFPvXDaHnsVSjZJh+KKrrcXUG2hj4EPYuFTidMhXOONq+SUui3eGKUjwxHexP3gu3BzrX6v/nheJ3+O4KfcAgprxrWJiLDc1t3F0x13oXU8ehX3naT8gnPsSq0k85VSWCT7qmu9X2y5it3iCmLG3xhEHmR8oVwVM0lEmYTCf1x2A0EiGlCoNLBGhN9XEcUTo6zqY9AiHWO5qReTDLZyZNdhEisiSmWnt83I2qIwTnDnmj39fHfl9IPTYMC4Pk2kn1dcyaRK35RJGUASaVIzLiOWJwg4yCTms+84lrAEvqYgcz9doAMM49FAlo8Viaq8jHao3SIhRuQFZHDwzO4TEFTcSgwsG9A4I5u1V+Yqfe0q1Q5MKPAZzczx36bfZCbbvewEjO5hz3u9hSBv2/tSzDuH0Kr2yosLDdx2kYAx6IZgX/hIuO/zF4EGhH8Dq2GbX1mvTw6qhtApX8e5IXoxUA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(346002)(136003)(396003)(39860400002)(1800799006)(186006)(451199021)(26005)(83380400001)(2906002)(31686004)(5660300002)(7416002)(8676002)(41300700001)(8936002)(2616005)(86362001)(54906003)(316002)(6486002)(53546011)(31696002)(6506007)(66476007)(38100700002)(66946007)(478600001)(66556008)(6916009)(4326008)(6512007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anN1K1VCZFBNR3V2Z1hOWU5zTDRYakxUc3Y2QUZiZXhKazBvZXFBNUR2YmNq?=
 =?utf-8?B?cHdrVnNhYkZLWnY3SXVpbFVVVXp0RjNFMHUzc0lhMHNRV3VubjlNSEp2NlR5?=
 =?utf-8?B?bzdXb1o5SmVJUzI2SW5jeEJqWkYyWTlVTnM4bys5cjNVNk1SaDJ4M1J5SlV6?=
 =?utf-8?B?Z09XQm9Dc3JJVTNYOG1Jb1dZNzc4bmFBUDkyNXloWTh0ZVp5aE51N3BYQk1y?=
 =?utf-8?B?UnZBUTZSWE1mWGN1MUVkdHVCdEhhYU84b05mcGVJWndtdW1MRDVXa2M1cldM?=
 =?utf-8?B?ZFdRdmZxWVNwa1lwZWlZOWszUTlHdEtJUlRCMDlZenpTa014ZE5zeWdndUkz?=
 =?utf-8?B?VzUvR2ZjQ1YwbjYwazJNWGU0dmNXc3ZKdlphUGFQL09YK0x2UmVBVlVXSmlI?=
 =?utf-8?B?U2tvZDJkRkQyRlB4aTdGd29aMVRZVjVYNWZ4NzZRT1FXbk1rRGdCK1B3SFJx?=
 =?utf-8?B?WG52MmpaYkxyMjRwbFRBVVpENml0Qm4xWGduaVp5VVRGMUIzMG5JaXAxbUtu?=
 =?utf-8?B?RklTNm1KZlVGWnQvcUs5VUxmdXFDQUJzSE9DVXFkRG5Bd0s1dEdoSFhjNFh1?=
 =?utf-8?B?US9zRTEySnZGbFVkcElTVi9DYlBUb3FvMUVUUG5IMHBIMnkyVnQyaEF1TTB3?=
 =?utf-8?B?Q1F3Q3lzQ2JuNFhGRHJFakh5cU9FS2VMZ0hJNDNxck04cU1hOEM0VXM0QkNS?=
 =?utf-8?B?UDFQTFNFdnlpTUNmOFRLeFBMMVlFK2RMbzdJeldBR1NSQ0djTkZORS9EL1RX?=
 =?utf-8?B?c1laUlRHTk1kekNzc1k4SWlHVjdnak5rZHIyaE5IZzZvVWExdlVUQlFDQmwx?=
 =?utf-8?B?QnkwMmVXZ3NmN3pUcHdtcVN6TWEvOXo2ZDEvOTY1MmNwajJwbVBmd3pEelFE?=
 =?utf-8?B?NFNFWEljYytPTHpOVldDYWNHcEtZK1BlU1lrM1Z5Sk1JQ2RuakdGV2djVlpI?=
 =?utf-8?B?T211RThuR1huUmh4c0pCNnFhalYrbmVBKzA4WVFWbXEyT1hrUTNackxCNGY4?=
 =?utf-8?B?RTBCZEc4aUFwZ29OZEU2elM0cmlZajBSWVgyZFZUd3EwUFB6RG5kZDJWOGN0?=
 =?utf-8?B?czE1RnBlTTg2L2JvbmpQYXhZWFdDR1NBNVR0cFhqS0NpbWhralNEKzVaUTZ6?=
 =?utf-8?B?YmpJa3BnT2VhTnJPZ01UcnJ2MEV1dkw3UnNIc1JJN3paY29vWUsraVRtMFhJ?=
 =?utf-8?B?TFIvbnhyRWV6eWVQOXU1c0pFM1VnbG1Xc3Rjc2N6djZTMnFraUw4dDduL1Bz?=
 =?utf-8?B?NEJOQk0zWi9MUnpIUHRRc09sWGFBZ29tRGVRZ0pQT3c1Mnp6ODVQcmFhYkIy?=
 =?utf-8?B?Vzh0WW9CcGt2ZzNHRUZMOTFpdEFrSkpQaHNHcXU5WElNL0ZMR1RYMVJlTzMx?=
 =?utf-8?B?Nks2Y3BTOHZNOEpNdFJrREExRC9CMTFFejQ4SmhySVZ4QmJOQ1RtT0xDcXhD?=
 =?utf-8?B?UWx6ZHVVc3VrcWlGWVIvb3Rid3lSWG9uVnYzSWpZRnNkTDF1R0RJZ3d0aDhX?=
 =?utf-8?B?czBrME94bVZYTk9wcHhlUy9RK0VRbEt2RFFjNnltNVlKbmI5WU5TQVFTNU14?=
 =?utf-8?B?ZWgydVNUeDIxSHQ3UlhGckRmSzlhaHVjZ1VKZFZyQVlCZnRZVXhQTkpkdzVy?=
 =?utf-8?B?eFcyS1dxNmVtMmNOSGZFam1hd05aVEZxSHU5TGdPVHJiNTlVUU5ML0ZzeVBi?=
 =?utf-8?B?bHhOYUVYRmpveE1mb0dGZG1vVFdzd1hFZDJmSkltMGZSUC9vbnRCWEFIcVlU?=
 =?utf-8?B?blJyYjhDMmZhOXpXb0R0Rnd3TW51bWZXRUdScUV6enVuM1VMU2VWWUwrMEJX?=
 =?utf-8?B?MHVNYVFEU0paNENPV0tzVHNsYkQrOThNQXRhVlo4TVZURFdGZXRlb2daZm1j?=
 =?utf-8?B?cDdpM1NDWHZzOEtyMnhLVGJJZjNYWnJtZk5mUkxEejFNV1A1eTcwc09Ha0Rl?=
 =?utf-8?B?T0hFSHBqUmE1MG85aFZJc21mVzFUeDhrS1BEK1E0VERRYnJHWjgwZ2gxRWhm?=
 =?utf-8?B?a0drVXp0c1BmYjhGNU1vZDRxbDR1eGhpRHA5Y091OTF6dlJsaG0zWFVHRXRj?=
 =?utf-8?B?dXUrcXhsbVlHdUZCak1Day9MOENPZWVybjlIYTdNZ0NQM3V4aHkzcFNyYWZv?=
 =?utf-8?Q?JcT4kafLW0L+c4ARSZ+8h8yEJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57502bc4-63d0-461c-c744-08db98e1d2de
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 14:06:27.7298
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J+wo8ux1t5j4Ss2bUkHPRG0Z5Gj+DH4GDOP/Hdq7vmzXruFTuVZYrx5zooio8XHiEP8bgaZTihrOI+LsdLWrVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9388

On 09.08.2023 15:50, Luca Fancellu wrote:
>> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
>>
>> The variable 'saved_cmdline' can be defined static,
>> as its only uses are within the same file. This in turn avoids
>> violating Rule 8.4 because no declaration is present.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> xen/common/kernel.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
>> index fb919f3d9c..52aa287627 100644
>> --- a/xen/common/kernel.c
>> +++ b/xen/common/kernel.c
>> @@ -28,7 +28,7 @@ CHECK_feature_info;
>>
>> enum system_state system_state = SYS_STATE_early_boot;
>>
>> -xen_commandline_t saved_cmdline;
>> +static xen_commandline_t saved_cmdline;
> 
> I see this line was touched by fa97833ae18e4a42c0e5ba4e781173457b5d3397,
> have you checked that making it static was not affecting anything else?

The code requiring the symbol to be non-static went away in e6ee01ad24b6
("xen/version: Drop compat/kernel.c"). That's where the symbol would have
wanted to become static. But that was very easy to overlook.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:09:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581144.909708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjsX-0002h1-Gw; Wed, 09 Aug 2023 14:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581144.909708; Wed, 09 Aug 2023 14: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 1qTjsX-0002gu-DJ; Wed, 09 Aug 2023 14:09:37 +0000
Received: by outflank-mailman (input) for mailman id 581144;
 Wed, 09 Aug 2023 14: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTjsW-0002go-D9
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:09:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c706ae3-36be-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 16:09:32 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 64EFC4EE073F;
 Wed,  9 Aug 2023 16:09: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: 5c706ae3-36be-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 16:09:31 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <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>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 2/2] xen/delay: address MISRA C:2012 Rule 5.3.
In-Reply-To: <E970F516-F626-4F8A-8A82-DF3E31ABEA20@arm.com>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
 <47e2c8770e38ab064cbcdfaafa8467c5e733f11d.1691567429.git.nicola.vetrini@bugseng.com>
 <E970F516-F626-4F8A-8A82-DF3E31ABEA20@arm.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <dd2787dcd2c694141690fc71e5b811cb@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 09/08/2023 15:56, Luca Fancellu wrote:
>> On 9 Aug 2023, at 08:55, Nicola Vetrini <nicola.vetrini@bugseng.com> 
>> wrote:
>> 
>> The variable 'msec' declared in the macro shadows the local
>> variable in 'ehci_dbgp_bios_handoff', but to prevent any
>> future clashes with other functions the macro is converted to
>> a static inline function.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> xen/include/xen/delay.h | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>> 
>> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
>> index 9d70ef035f..9150226271 100644
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -4,7 +4,11 @@
>> /* Copyright (C) 1993 Linus Torvalds */
>> 
>> #include <asm/delay.h>
>> -#define mdelay(n) (\
>> - {unsigned long msec=(n); while (msec--) udelay(1000);})
>> +
>> +static inline void mdelay(unsigned long msec)
>> +{
>> +    while ( msec-- )
> 
> Does misra allows to modify the function parameters? (Truly asking 
> because IDK)
> 

I checked: there's an advisory (R17.8) that disallows this, but since 
advisories (apart from
a couple of selected ones) are not taken into consideration for 
compliance, so it's not a big deal.
Even less so since it's not a pointer type.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:15:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581152.909717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjxk-0004C3-2I; Wed, 09 Aug 2023 14:15:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581152.909717; Wed, 09 Aug 2023 14:15:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjxj-0004Bw-Vu; Wed, 09 Aug 2023 14:14:59 +0000
Received: by outflank-mailman (input) for mailman id 581152;
 Wed, 09 Aug 2023 14:14: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTjxi-0004B4-QN
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:14:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ed36ac9-36bf-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 16:14:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B2F574EE073F;
 Wed,  9 Aug 2023 16:14:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ed36ac9-36bf-11ee-b281-6b7b168915f2
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 16:14:57 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <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>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
In-Reply-To: <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com>
 <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f0fd8d910c0eb3d127eaa776e7819455@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 09/08/2023 15:50, Luca Fancellu wrote:
>> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> 
>> wrote:
>> 
>> The variable 'saved_cmdline' can be defined static,
>> as its only uses are within the same file. This in turn avoids
>> violating Rule 8.4 because no declaration is present.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> xen/common/kernel.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
>> index fb919f3d9c..52aa287627 100644
>> --- a/xen/common/kernel.c
>> +++ b/xen/common/kernel.c
>> @@ -28,7 +28,7 @@ CHECK_feature_info;
>> 
>> enum system_state system_state = SYS_STATE_early_boot;
>> 
>> -xen_commandline_t saved_cmdline;
>> +static xen_commandline_t saved_cmdline;
> 
> I see this line was touched by 
> fa97833ae18e4a42c0e5ba4e781173457b5d3397,
> have you checked that making it static was not affecting anything else?
> 
> 

Though Jan already replied on this, the commit(s) were tested by patchew 
and our
pipeline. This is normally our process, apart from MISRA checks.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:15:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581157.909728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjyX-0004i7-Fi; Wed, 09 Aug 2023 14:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581157.909728; Wed, 09 Aug 2023 14:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjyX-0004i0-Bo; Wed, 09 Aug 2023 14:15:49 +0000
Received: by outflank-mailman (input) for mailman id 581157;
 Wed, 09 Aug 2023 14:15:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTjyW-0004co-1P
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:15:48 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe13::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b0659eb-36bf-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 16:15:45 +0200 (CEST)
Received: from AS9PR07CA0001.eurprd07.prod.outlook.com (2603:10a6:20b:46c::11)
 by GVXPR08MB7823.eurprd08.prod.outlook.com (2603:10a6:150:2::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Wed, 9 Aug
 2023 14:15:30 +0000
Received: from AM7EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46c:cafe::be) by AS9PR07CA0001.outlook.office365.com
 (2603:10a6:20b:46c::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.16 via Frontend
 Transport; Wed, 9 Aug 2023 14:15:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT053.mail.protection.outlook.com (100.127.140.202) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 14:15:30 +0000
Received: ("Tessian outbound d7adc65d10b4:v145");
 Wed, 09 Aug 2023 14:15:30 +0000
Received: from 6173bcbeebb4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 88C104C3-4C56-4BFC-88A0-181BE510A1E7.1; 
 Wed, 09 Aug 2023 14:15:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6173bcbeebb4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 14:15:02 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VI1PR08MB10102.eurprd08.prod.outlook.com (2603:10a6:800:1cf::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 14:14:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 14:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b0659eb-36bf-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=//FkV4ksvf/p2bNa4niW0ittErPqSYgl/6jmAxuAk6A=;
 b=JLzubRAZMd+Ug2bl8NlvldvrkMSMCqwwJCdkBqoeTZsvdEgxC5eFVIzCDN0W/B7wNQOBTpHGwYWk1HaesN7LEIH4ZPvWeM37H4ioaeoN2mlTui5mynNwtXrjyUsFQcHSKFYYpMsvaFF6NnRzyUOX19ySklcLczgllIMApYqMO7I=
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: 2c5594971fdbb592
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NCEW01dodYRVRIBn19sJ9Mox7XpVE1L+z5hEGqg3PInX5N6Rq9yucnpPrxUl9wPACH/wClZM7qfLKfPJjTdqeBMwSn1OmzjNfGQXcBay1ChLBMEvhwAgGciapnNICUHWLpDhUbUqmfIMF6tgN5u05TOeANrTuOTbi5EjaZuhryMtxTGg2g3Gevb/KgjgEH3wOMOzSKDdg7Pgn7hgKUlKDcdCmEUFv2q1/Vvs2CPJuJEUQBV4qAUolzaPQ5Db7fZ/DDz5kBOYA88Unwkx8b0ui1jGlSZZDe1fMLfY/TWocSlw81XlEoFcZYOVniVbutKyYZPnScLnlL7+PEbVdX4Tsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=//FkV4ksvf/p2bNa4niW0ittErPqSYgl/6jmAxuAk6A=;
 b=DDyztEsWaZvnFX7C/iXUimseaO2iVsJn5lfXxOiwPp4ugkJYwpZzN8GTM5g/iA8Y3NO3i9ZkyoUPlzO8HRSPNZ4nXyzJ4WmpApKobghX2JlXlqAwkg4lZ9X3ZjRMBFTxwxVOval1yT4UqJhcFk+MWfM0oQfoMITCSOSmL2nXt5L2A71YKPFX3qhOU/2/gFv4K60r5vM4fJHzey8/fyKINiq4t+qCLQPGCfrJAhljwXE13oE0TZtnqYiaQVyEd5eA1K+lp99Nci3anyJOdjgMT/1SOkGgWl3AcS3CsHCQMEavwZcijxElnzGIAWIjhvaf0VVx8+6cHCYpCC2hRBeODA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=//FkV4ksvf/p2bNa4niW0ittErPqSYgl/6jmAxuAk6A=;
 b=JLzubRAZMd+Ug2bl8NlvldvrkMSMCqwwJCdkBqoeTZsvdEgxC5eFVIzCDN0W/B7wNQOBTpHGwYWk1HaesN7LEIH4ZPvWeM37H4ioaeoN2mlTui5mynNwtXrjyUsFQcHSKFYYpMsvaFF6NnRzyUOX19ySklcLczgllIMApYqMO7I=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	"xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>,
	"ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>,
	"consulting@bugseng.com" <consulting@bugseng.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Wei Liu <wl@xen.org>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Thread-Topic: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
Thread-Index: AQHZyrEYmlGLQrMXXU2mT8iNskDvw6/h+3gAgAAEg4CAAAJWgA==
Date: Wed, 9 Aug 2023 14:14:58 +0000
Message-ID: <771C6AF9-8BB8-466C-B9A4-1745016BEB1E@arm.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com>
 <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com>
 <041f2137-8a90-79f6-3677-f764cb1b6656@suse.com>
In-Reply-To: <041f2137-8a90-79f6-3677-f764cb1b6656@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VI1PR08MB10102:EE_|AM7EUR03FT053:EE_|GVXPR08MB7823:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c07b279-b456-429c-c4a2-08db98e31663
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:
 vRfJ0dRRLVXTV88UPlAnWIFLXKSq8lRD7Os4Euzm0Ul9ZV/0XET6gJXpIVmlCd74Y0SMtjXebcCifmRUjAnzBLtY464mE4bYTpVLACzmgCYMXGPmj8TGo13Y22/j9MsRINZzlXdnUyLQ+uqe0D5WjYtD5w7ruaVLm21LaHcsKM/vgfnYwLBV9B3iYKY2LLSQhfbF/bR8+tJFYrOdTP6bUH/B047FwaUw9LzEc1z/SX74x4GkMJdAPnEWeJ/VH6Iw10UMlNBgPA1fSwl2sVbxGIfE8XvFR3pC+AlYoGOQay59U2ewiWGE/4hs8G/uXVbUh/dJKb8/v4RnJBg7zthsHVSK9NF3guTWncfwKnsSmAbL62jA9pys2I7UUdDJ17sx9MV8oF5rfMyTLTsbhNTGS8zLUEM/LSIcuFYjPEACHPX5uTB0kwwqCwkzoSqOZuMIR+LCZ5PY2NQmXuoDvqk3wzXWS1cofMwJASWAGJJoyyL+bOv/Qk5DlK/gpdewKehWP6rbUYEtISOlalnczbfWrIp4v9DmLJGIQhEeMYqQ4Cl2z1i5OhQ0WY/WGTUTsR3TWqd9BfC/U8m85tabI3VldXFzCdGivgfTdo6p6DxEao2RWlCvILXm4oMD320fehcrBpXojQzoZUkbswhVDazGWg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(396003)(376002)(366004)(346002)(1800799006)(451199021)(186006)(122000001)(478600001)(6486002)(2616005)(83380400001)(6916009)(6512007)(53546011)(6506007)(26005)(76116006)(66946007)(66476007)(8676002)(8936002)(41300700001)(33656002)(64756008)(66446008)(66556008)(316002)(4326008)(2906002)(91956017)(71200400001)(36756003)(38100700002)(38070700005)(5660300002)(54906003)(86362001)(7416002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <18C13D500FBE4A4E8C803DE9B01F35FA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10102
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:
 AM7EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1deefa6b-d3c0-4560-602e-08db98e30376
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	v+x3F9RibBb6WfTe9cdsmWNoWkt16hWkWNS2GneFWniCN2Ktg23cwk5GX6at41xQjVICNLwDUHiLNCvuyTTqFHuXhWDARAvO5wR/vZHJRWlipheSPWiW7x0g7sp6abaD0WO9p+q+FbLdMhIHL25nd4ZR8EN+UbqVU+gncQDmSVFp/3SeDLzve2xN4SJpH2UlxMI6i93WmmPjATNVPpZH9/Nb61E2GdN9xfaaVz9vmw+2DLgTowYRkcYz4mMdcAv3BLe9tORzjON0Cw0AsWxvsZip+oKEVCQ5SMZkBq9G48cdOHKg6erhL2RvXqaSDr1W+peAby5GWMqYLgu/N8sye1DgyUTIZ9qi6nQt43rjO9WZHm1kq2gJgp2/u2nM3DsdIsMKco4ZfTw3ZjPq0mtUJ8ohtbpAmEX7VKVlCXUd3gsbWgVuw6q58FjKJ4/gkjYQJSGH+KkgCc8LgFq7/iDqWc+iZWwOTiB4WgSLS6Axkr8jX95fmKutAu8Bv9VyGSNEcyWo9RSHGvc9jNXEKPhjBnNjZVIQPo6uUlHNQg2coElLn4HCeNdlIaMu1xxIxRVRuPWov1pZNN8p5bqEW6UKhMnylzT2ptW79mYoHSuvzMMOM39slIF5MUE8EunQbAOouwpmKPWfJ77Y5D47TiHmXsEgyiHCIkQw/7VcL0OnIgN44ukFHseMZswyu7tqIDn2qEEGu+heSNBNVuK0k++KpnVd5ogBXczalP2zAZe0FCc/4UjuqX+5mgUO1eJGf0h5
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(396003)(346002)(1800799006)(451199021)(186006)(82310400008)(36840700001)(40470700004)(46966006)(40480700001)(2616005)(40460700003)(6486002)(478600001)(86362001)(82740400003)(33656002)(81166007)(6512007)(356005)(53546011)(26005)(36756003)(6506007)(107886003)(41300700001)(6862004)(5660300002)(8676002)(316002)(4326008)(70586007)(2906002)(54906003)(70206006)(336012)(8936002)(83380400001)(47076005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 14:15:30.3067
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c07b279-b456-429c-c4a2-08db98e31663
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7823



> On 9 Aug 2023, at 15:06, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 09.08.2023 15:50, Luca Fancellu wrote:
>>> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wr=
ote:
>>>=20
>>> The variable 'saved_cmdline' can be defined static,
>>> as its only uses are within the same file. This in turn avoids
>>> violating Rule 8.4 because no declaration is present.
>>>=20
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> xen/common/kernel.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>=20
>>> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
>>> index fb919f3d9c..52aa287627 100644
>>> --- a/xen/common/kernel.c
>>> +++ b/xen/common/kernel.c
>>> @@ -28,7 +28,7 @@ CHECK_feature_info;
>>>=20
>>> enum system_state system_state =3D SYS_STATE_early_boot;
>>>=20
>>> -xen_commandline_t saved_cmdline;
>>> +static xen_commandline_t saved_cmdline;
>>=20
>> I see this line was touched by fa97833ae18e4a42c0e5ba4e781173457b5d3397,
>> have you checked that making it static was not affecting anything else?
>=20
> The code requiring the symbol to be non-static went away in e6ee01ad24b6
> ("xen/version: Drop compat/kernel.c"). That's where the symbol would have
> wanted to become static. But that was very easy to overlook.

Yes you are right Jan,

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Possibly with the Fixes tag

Cheers,
Luca=


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:17:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:17:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581164.909737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjzx-0005MD-Qr; Wed, 09 Aug 2023 14:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581164.909737; Wed, 09 Aug 2023 14:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTjzx-0005M6-No; Wed, 09 Aug 2023 14:17:17 +0000
Received: by outflank-mailman (input) for mailman id 581164;
 Wed, 09 Aug 2023 14:17: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=hYF7=D2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qTjzw-0005Lw-1i
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:17:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ff732a7-36bf-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 16:17:14 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id DBD0D4EE073F;
 Wed,  9 Aug 2023 16:17: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: 6ff732a7-36bf-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Wed, 09 Aug 2023 16:17:13 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
In-Reply-To: <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
 <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <1cfa92d52d89b2013218cef1c518ab4d@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 09/08/2023 14:52, Jan Beulich wrote:
> On 09.08.2023 13:02, Nicola Vetrini wrote:
>> The additional header file makes the declaration for the function
>> 'init_IRQ', defined in this file visible, thereby resolving the
>> violation of Rule 8.4.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/arch/x86/i8259.c | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
>> index 6b35be10f0..9b02a3a0ae 100644
>> --- 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>
>>  #include <io_ports.h>
>>  #include <irq_vectors.h>
> 
> A patch adding this #include has been pending for almost 3 months:
> https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html
> 
> Jan

So do you prefer going forward with that patch or this one (mentioning 
it
in the additional commit context of course)?

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:22:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581173.909748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTk5C-0006ta-DP; Wed, 09 Aug 2023 14:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581173.909748; Wed, 09 Aug 2023 14:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTk5C-0006tT-Ab; Wed, 09 Aug 2023 14:22:42 +0000
Received: by outflank-mailman (input) for mailman id 581173;
 Wed, 09 Aug 2023 14: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=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTk5A-0006tN-MR
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:22:40 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 319862e4-36c0-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 16:22:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB8012.eurprd04.prod.outlook.com (2603:10a6:10:1e6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 14:22:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 14:22:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 319862e4-36c0-11ee-b281-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q5QLnH2jERA6yEMwuOCkT514wN5yq2V+N0N3v9/RFjnoHoPQk/0h59u+gU5f2nraOTFxa4b5QKIyYfQh9yNvIj8ToMuYxw6S26t/21Wf+p/FfKSrDQKM7VYWnbxMOkaTK8fZ35mweb7XZ89ysnv/A+wsNIIgQ1wFJdRJwauDxU+IwthYi2/GraKeMocCZWGck/HbUhf3d1uj9ctOJ9MSYCiC/hHPdXgVsVGprOy9Q6eK3N9GKRSZUvqakQRrDfr0dabUcWHdOY0xjxc6hBxJ/7Ec+bVDwtYcpKFxNgUizHy03H35gR+HwatoFO4BO1RYhyrgfODYKWftiT2wqzJ+qQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jgM5Mt6ivU6EM9j1oL3VKfq3p/kvqxSG+6Cr5YWWDJk=;
 b=XE99X53Np0lt/vCvvvbCT2VElFi4XSnyJS1cLrJiE0z7emc4Z0j59ULYvtNuujstKu5+PO5Cp/NScc4RqfjmGvodnri/bV9LtXb5vm8liquypSwtewBIqlFMyLLnZ1dtcXzdekWOk2SsRbig1aAHKjvNy6gyEUCwxBZlR6XjyGYLE+j4FvV2YL8rANmoyE4XG4MWY7NRDXE16vdQf0e00WQncbpUK22wDGy1OMIYwmlNwak3ePpP2oveVdW47MY5tyExgFxNSDExLNtKUqdxGtlhzUMDO5SKyDih7z00Yvu9ub21YEVMOUIo+6TFZCJYAAKOWHgWlD0zdcH25+4INw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jgM5Mt6ivU6EM9j1oL3VKfq3p/kvqxSG+6Cr5YWWDJk=;
 b=vTFolcHrBc/beWwYJqSGzSzt9+8XqgM5dFvgin9qs+6G9NPJKafJQKs/JfY41CTL55ZN627/B5DVV5+Y0l7AkmB8WqcoDvU1vw+v869EWnnD8DfhnrDVdVkaajr4DyyKN3kDbPXNrzuuUBgjShNHZT/n3hCpTAc2CPvWix48X6rczSZHX3xR29Y2MsRVllPU8fWUbnp59JtObwJgRcn5d99QUrO5cAQ4Danev/V2Rjzh4a9ppSMqqNXhUk9vtCrOSsQg1ZubhzYdc6tNmvEamnAo+1qMyLB3gFZe1UZc/F/gWezgGVNdFzdzYldYtMvWKAP/V02+BqKKwfpkuyUHDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30cd1bdb-be77-a192-eca7-6fcd60eca610@suse.com>
Date: Wed, 9 Aug 2023 16:22:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
 <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com>
 <1cfa92d52d89b2013218cef1c518ab4d@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1cfa92d52d89b2013218cef1c518ab4d@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB8012:EE_
X-MS-Office365-Filtering-Correlation-Id: 8aabeb02-852c-4fbc-7346-08db98e413f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mMz5HWvqXr6OxD4YMZmuj4/9OEHTOx4Z9gy/S7Ah6HYyqn0G0vpsKEjZ6QAn1dSOAus1qYKXDaTrrs6RB7vsycgO5jrY0PVnMsF9kjE83AYos4vLGinsRTypRy9SfF/kvDCmhMTRNpjecE+lAMSbv22M8Y1XBrFzR2DKZvW7g1kDnkrBFEfkMoEnt5bSJE1SFpYAl+SPjr7mmGZ6Ip+FeJ2PEWBNaifae6PJYwdRqd1zG21zwZeCcRtuisWM4hdXdiLTIHhV4/0Cg8tzH/itlXErDWatQWV/rX/Yh+8Njkx5w+X1cueIB6IRRd0FyETxk9gJ/i+LR7BnSaveNomkKIQ74xhorfLCCi3Gq/Op4OyvmUp+GmZLK7SmwfwpxcSADeRlvM+2IyxxJ8LuCb7cg6Mrzsy41EZwiuQG32qN/6PlIchaBmdoSi/MaurDbVKMekH6g4BBH6hhXRMG2QFrFJzGRrxpYxVni/4QL/f2HifTxQrM45drNCppkFZpqmUCorcvWJKx4ffiUb7XHeX+9f8ftqNYOMl326Autsq9DvMHyftMGT3ohbxaHxvSlH9fGxLBy///fuHkc2iYAfnJy1ATjdArqOTNT5XSx2QUxa+azPkA/WJGeeu/vtq3OEpM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(31686004)(2906002)(7416002)(5660300002)(8676002)(8936002)(41300700001)(316002)(66556008)(66946007)(66476007)(6916009)(4326008)(36756003)(6506007)(6486002)(6666004)(6512007)(54906003)(966005)(478600001)(26005)(31696002)(86362001)(2616005)(53546011)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHJ6M1hKWnEvRmk5YkVIMXJDVXRIeWNMZU1RK1QxaUFYOFRoWGtvSXBhUE4w?=
 =?utf-8?B?WEZTMWFJWFNPWGx0clhlMTU3R2JiNVVMRkNiSEtPMXRYT1dXMHJBdUtKdlVM?=
 =?utf-8?B?RlpMUWRYSXlVbXpmaVpNcjFHelpTUFZaS21BL2RMcWVpYjRJNWhSdXluWFVQ?=
 =?utf-8?B?aXhsZk1xRmNwRm9adTlZOUxXb25nQ1czOVdBdkU5ZCsrcExzNDhWQzYwRUIz?=
 =?utf-8?B?WDExb012b2MyTDBNSE1naUltVStBRkxoVEtwdkFhWkdGU0ZIT1RqMWJUSHVq?=
 =?utf-8?B?RWJqN0hDUG8reVpLUC94TzlGSHc0TVdSd2pUbTMvc0ZEQWw2QmpJajNkWXN1?=
 =?utf-8?B?UmYyOXdQK2dFOG5jajRFcW9aMVVWN1Q2Skx1cDhSY29SMHI5bTBNaHJuNFJw?=
 =?utf-8?B?alFieTBRZ0xzWXpxM0tZcFFRQ3d1dHBxQW9xUWo0WFFaY0lyeTd5WlFLanVE?=
 =?utf-8?B?NGtUd0w3YWloRGptR2dwMkU4TlBxM1I4enFVTVNsaU91b2tONUZDSUVPbU43?=
 =?utf-8?B?aUMyNXNXTTNpU003aVM3TnNzZkUxL1B1cUVTVTREdnFibmlWcGRma0hmK2VU?=
 =?utf-8?B?cTR1L1k4UVJKZEpuOVNjV2haZmVoQ21ZT3lTSktrMm9hUHdZUE85WXgyYWs3?=
 =?utf-8?B?OWIxWDVpclZsVHQxVWVEelRzM1dxRi83ZlRHUGt4c1RidHBUYjlsamlRekxj?=
 =?utf-8?B?bU8zR1hneWo1MERQUTB4MGcvc3F5a3RnQXhTWUFUaDVvQ3AyL0JQQ0gzbzh3?=
 =?utf-8?B?K2F4ZlEvTk5NTGpwc1hFRzJZbTJaZktJbFVDTjR0ZExnM043YnZOaTNDcGg3?=
 =?utf-8?B?cUJMUUJZQllLeW03RU82QnNubllhNW11VTdtcng3OVpNaEgxdEVjSlB1Y1Nx?=
 =?utf-8?B?WHFDSEhYT0ppQUhtdjdxcHkrVU9kVlBxQ2tBeU1sdkR5bmFhekszUldYMCsy?=
 =?utf-8?B?Q1I4WVdaZmg1cWZzL3RQZmtmMjRQbGh4Uk4yTFdudnNhdjNXTnRad0VKVWpo?=
 =?utf-8?B?cHI5bHozamlWQkJySkxLdWtpeVJRUTBYa2FncVc3SVJlVkxicGpHTUo3L3VZ?=
 =?utf-8?B?aWVFWjBSVUpjUUNRcy9aUUcwYkY3NnRXWWcyNEVlV3pRMThpQlhvaTRVRVV4?=
 =?utf-8?B?azUxdmIrQ2liSTlwVURzN25yclNSL1M4TEdneDlsNk5nam0zNkh1UzZTTVdS?=
 =?utf-8?B?RGs2WVJ6cXJ3a1VjalhXWExvRG9DSjFkeVJjMkJ2eXhKZjQ3V2dnUEdTaW1w?=
 =?utf-8?B?VElMU214anhwNUt0YSsyS3RxWmpueXFxd28vUU1NOGRkRlo1RVhETmdNL1Qz?=
 =?utf-8?B?UEtqUklYOCt3Mkhxb0owNnBweVZ5c28zNFVGRnp3N3VuakhSME9CNGlHMlBt?=
 =?utf-8?B?blpEWEh6eVQwa0tNc1ZMZ2NDUTF2WXpHSy91aEpTWERvQkJwOWtwQ0JielVY?=
 =?utf-8?B?RlYvaC95b1R6bW1KajBPNnNBTHB1K3NMZ2U1ZWFTdjR4dWxSek9hQzY1WlBv?=
 =?utf-8?B?cWxtZTVWQkcrajEvMWVPYjdmRjJSN3U3UXZYRGgyRFg2Vm8wUXpld1hBWS94?=
 =?utf-8?B?NGJ3VmxCVklRWlc1K2VrQWFUK3B0ckpzSXZTR3ZmdGtFMzZPS2V3SUtEN2tF?=
 =?utf-8?B?M1R5SVVwZ1hNRWF6S3Y5WGNhclJnSkcrdXlqTWRGK2hzRHZndURsdjMzL0R5?=
 =?utf-8?B?azNNcWozZmpwaGVUemJHcEZNcEhnQnNWU05qR0tEMlo1V3lzVGpZd2JLSEhJ?=
 =?utf-8?B?T0VpTFBPUFhORTBmNWpGTjFHZFNacjhTNC9temNPTjBURDBpU3R2OEhmQnFj?=
 =?utf-8?B?OHNZRk9QOGR3UVdiaWVNR1hCYy9Ha3hXOUZGb0lGaEJzaExsTEthN3ZPR3Zv?=
 =?utf-8?B?RkpJODlLeHdiNGZoKzVmaGN1dGY4UGQzU1VOSzBCRzNCcnZGZVdFMGtZUU9V?=
 =?utf-8?B?Z2RRZFFRdTNRVWhSN2hJRE1rM3dRZUZkYnhWNm5IcHBXWE5mY045UnRwZ0Zq?=
 =?utf-8?B?OE9LVXJNUUxEZ1Bkc2I4OTNzMTNYSHUrbzhrQkhVMmRDUlh5NjlraVk3NTFv?=
 =?utf-8?B?eTJaYjR0VFZROUc1Sm1yR0NkcDhvRWZHRk1HaU1mOUtGVFRHSjZQcDIrK1Bl?=
 =?utf-8?Q?fBLI2u0/j9sEdzL0sAjlsQyd4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aabeb02-852c-4fbc-7346-08db98e413f6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 14:22:35.9351
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KjoJndRK12XdcoTw1YhIHdsaLXFWbNRgrEitLzlOQK7yqaeJZ/I/YmOXVs5e3nyng/I6Ccm9ekCCMVy+pOxq8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8012

On 09.08.2023 16:17, Nicola Vetrini wrote:
> On 09/08/2023 14:52, Jan Beulich wrote:
>> On 09.08.2023 13:02, Nicola Vetrini wrote:
>>> The additional header file makes the declaration for the function
>>> 'init_IRQ', defined in this file visible, thereby resolving the
>>> violation of Rule 8.4.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>>  xen/arch/x86/i8259.c | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
>>> index 6b35be10f0..9b02a3a0ae 100644
>>> --- 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>
>>>  #include <io_ports.h>
>>>  #include <irq_vectors.h>
>>
>> A patch adding this #include has been pending for almost 3 months:
>> https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html
> 
> So do you prefer going forward with that patch or this one (mentioning 
> it
> in the additional commit context of course)?

I would prefer using the much older patch, but of course this requires
someone providing R-b or A-b.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:36:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581179.909757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkIB-0008Um-Hk; Wed, 09 Aug 2023 14:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581179.909757; Wed, 09 Aug 2023 14:36:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkIB-0008Uf-F2; Wed, 09 Aug 2023 14:36:07 +0000
Received: by outflank-mailman (input) for mailman id 581179;
 Wed, 09 Aug 2023 14: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=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTkIA-0008UZ-If
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 14:36:06 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f3b12f5-36c2-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 16:36:01 +0200 (CEST)
Received: from mail-dm6nam12lp2170.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 10:35:58 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB4919.namprd03.prod.outlook.com (2603:10b6:a03:1ef::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 14:35:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 14:35:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f3b12f5-36c2-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691591761;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=nYx+HxtKi1JS4SAOvd39cD21W4X8yr8Lg7PLyMUnq8s=;
  b=S62RG+iljrX+Y9u3zI3o85MkoJ3SU7zqPDgX5kp2irQvH/j8f3gWa6yK
   RrPXE02qBtW/fA0XZYXqssyQLWwjHOhnHZfsQgsKRWFiLUURx26xCOvNG
   lD9kXZ7AZv57Hg5qKEbsYWAV1RvScrIB1dWqB6E+uzuuWjkxxyeLpe+CS
   c=;
X-IronPort-RemoteIP: 104.47.59.170
X-IronPort-MID: 119017707
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:J3xyuqK0sWXkXfW/FE+R/JQlxSXFcZb7ZxGr2PjKsXjdYENShTMDm
 zQdXm6BOqyNNGL2LttyPN/i8U4B6J/UmN9lHgBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRvPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4pBGt+p
 dgkAwshdy2FqO2H2eriW+dF05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGMlGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHqqANtNS+XnnhJsqFif7WMXUT8caXa2pMbhmmOYfNBuD
 3VBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4J5oflqYRq1BbXFI88SOiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAsDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:pHR41av1Oe3beomZUBf1iuq/7skDSNV00zEX/kB9WHVpm62j5r
 mTdZEgvyMc5wx+ZJhRo7u90Ze7IU80iqQFhrX5UY3OYOCkghrKEGlahbGSoQEIYheOk9K1jJ
 0QF5SWa+eAa2SS8/ya3ODQKb9J/DDtys+VbInlo0tQcQ==
X-Talos-CUID: 9a23:Q0zFsG0c9BxfW9egWm3ZPbxfRMUvQi358FzrD1aFD0lmeaTNEE6e0fYx
X-Talos-MUID: =?us-ascii?q?9a23=3AgJ5cnA4o7wghZQ1WPOyug1Jcxoxt74+hDBkvm6k?=
 =?us-ascii?q?rtsy7bTxdHRCfvRCOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,159,1684814400"; 
   d="scan'208";a="119017707"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PiIqgldnA3UAn7dl31PDlEZkiHB6LhGp2ZXQTPRpTmlxRTphqyUDe/hjHDz4341E4sdldfOgkvLwWSz6kH+k9QE5uXINzlH/h21soWBvGbDmcrj3kshHniao7W8zV0T5FMO6KtjrMlluwQyw6MTK3K+PtIYklC2PFX1hNsd6p7hV16wm1Rvfu82RMyT9lDO+EiWFNFMeZcYMm+K0wgLl78ChrqUSld00py/E7t6C90xD0recnQMYs8jEIYK0dJmVPJUL1UlgH6g9NZ7OcmsP0/JZ3+rl7CSPVkXafow/m47nx2Pz+MetcY7GR4hp0vjlPa5D65E9QZDFtYe97F9GvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RpMMCxfj7BVSG4J1D4V3WsA/uJ7w6fw04YD4dnrrU2w=;
 b=jesuw7ruz2mAzS/8J0+vN6QcSaIC3laWEpO1/UHAW/gOe5HjoeyuYW9xz9/ppstUvjctN+807ikNNC55B085+U3R0rk4o4St7oDWtJPapMWZ1nSS5FFohqSBoeS1pG1XRnD2PMlHM/4IiGuo8rZ5oBSPQ/2mZiJDPfm4Bvyl72T6NmjMsv517uYPJjq0gNWWDAFB1Cpjdlr0Xft0FBVrdh2KTdn0MUv3O7nph0lRH9fwrWpDZVZh+EhNIDUot1NMeV/Lzil5SeqTvXGZqmyo9ZIlHvuDIG/G8n1uDJaP3gdPb8SnUjdrZpA8kzurX7ExPHb5HFSRrsavW/SXY6r+pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RpMMCxfj7BVSG4J1D4V3WsA/uJ7w6fw04YD4dnrrU2w=;
 b=PfUs2JjybMS3HRe72P9UIDAGfI3ChbIijpeZa4QhavGx0azCf8eckC1+EVRHRjXzGaA6Mx2ncgQCt4I33nL8sixZ2NzEyt4J81RZbS/ZJj0fKDlOSJ45+bHBkBGPWiu4kOBk4Qy5W0zqb5pNW6JBe1ToClH9HRMT+ZhtdUgLfCo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d430aa00-11b8-2d41-fcbc-d5bf4871b958@citrix.com>
Date: Wed, 9 Aug 2023 15:35:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: implement cpuid() in terms of cpuid_count()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <9c310f74-e6c3-f86e-8044-0e078ad00254@suse.com>
In-Reply-To: <9c310f74-e6c3-f86e-8044-0e078ad00254@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0560.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB4919:EE_
X-MS-Office365-Filtering-Correlation-Id: 8908885b-2e2a-48cb-4f71-08db98e5f16c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BSq+9hTXoBrhZqW5JYfHxBPa9qKJB4Jg2fE9Xi9yYjv3NLjZwwAAnIg6JWv2hJWqWgWAYcySCU2KoXbpfg5YcFREHtHsnm2xHt30h3HF1QNeYs/xI0uFkdMHSk4tX4Eo42w2iaH/FTWw/jdrmPD0YyF+I3272Xpw/dWwD1IsuDiQVzG+YdkcTe5DVfD3Upexhj2wwnTrZK0OsNBu93vWiCmbDQSHCpogirVxcbOvyqmD3PcbnZ96UwFAYqaJcC+ZXaEpzt+pFwyTfczhO2xlJyK3NTLaBQxws9M6FNsNWpTEezE9NqMTouNUAV6/9jZlXMw6tdArFeWIuKudcTXm/6+yC65CCpvQ21dzkFV+LmPaNcLng8B6trQsSwLU6uUJZHCxOz4c2BvKAeqDI23Rs9qUwhq8IFwC+aBf1C6mpcHeo8cjt9nraFdt/JYYx4ttKABXyeK9gks9RVBawtaDvY8spxd/UkLp2xgVJGDsm3N8TNmR67hhcCHSvH1pCctAatuJHlFJHd2V73bN7Ks91CZZnwWBPgwEwqn36HU6Mxb3pwI9qU2n9RfGc0J4Qzx8H0ccEvQ3ubceyxyRRHx524p7kL7Jgu8xcix1IOE5mv3bHDnwJ+aEZnX8eOLunuRxKr+g4wa15U5fHRcQNQh/aQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(366004)(186006)(1800799006)(451199021)(31686004)(83380400001)(478600001)(82960400001)(2616005)(6512007)(26005)(53546011)(6506007)(107886003)(8936002)(41300700001)(66556008)(66476007)(66946007)(316002)(8676002)(31696002)(4326008)(2906002)(6486002)(6666004)(36756003)(110136005)(54906003)(38100700002)(86362001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEpEbDlXZTNQUnBkNWdQakVXQmVnWnhvbXJ3RmZPclVQS3FLU2JNWDgyRlhh?=
 =?utf-8?B?alJSZk5tMGw0VXdiS2h3dWdQeVpQU29wZnNQWlM1T2lZYjlHWStpTkpiWGEw?=
 =?utf-8?B?Ti9Eb0lJZnh5QVpLSXRMQ1BBMFl2UDlKdWMxb2FVdStWY3NuK2VFRXdaZkdz?=
 =?utf-8?B?b21OcE1helBKaE8rS2l4WjErT0VJdkxOL3UycktVTGtTRE5iRnpGWjhYUlJ2?=
 =?utf-8?B?ZG9JbW9iN0p6emZEVVd5OWhzckdrVzFvdUVLazl3dGErUSt4SXQvaUh0NDhO?=
 =?utf-8?B?WnJMUTFONitMQXR4cjNjS241UVo5bVI3SUZYbmhpZVRBOExxNHZLTWV6NVli?=
 =?utf-8?B?WTNMdFRjakNXb0NYRzQySmdjZ1h0K09rTXR4NGlxTE5Td1lpNS8wV2ZpeXRG?=
 =?utf-8?B?bk9MbjJ4eS91eWJaTDNQdEV1bktDay9MMnpxU1VxRXd4dEswbUhVK0VSSDVC?=
 =?utf-8?B?WEtwL01PVEUxQlcybkJGTjJEWVgxbHBKRlc5K0cvYXBwNUgwSlZPcHVrUHN6?=
 =?utf-8?B?ekd6amxwRE4yRC9uclpjb2JkQ0U1SUVzV0xZbEJxSlhKOGd1NFJKTmplT1li?=
 =?utf-8?B?OTdOcVZTNkY4NE1HNjR0cEh4dWw0dGExVGNvNnRuYmIzbk1jb0drSHNuTENH?=
 =?utf-8?B?RXJCWDIzRzVNRXVPcnRxQlVLdS9rY21xTzVtUFZWMGFUSU93S09oRlZNK3NR?=
 =?utf-8?B?WGVYS3YrZWtaSERWYzh5b2RteGEzRHhIRG1WYUIzeEFMRnVNMWhNcmQ3ZGFQ?=
 =?utf-8?B?eHFQS0JzUGRObTNzczVOaXZEb3dyOGlVMkIxbG4wRGkvcGtjYjJrVGtCNzFz?=
 =?utf-8?B?b3NqSzk5UlorWjJRQmFXSGVFam1mYXI0NE5lYlBxeFB4aE9NRTBjTERiOFlh?=
 =?utf-8?B?RlllQ2xnYTE1VjJBMUhreG9qanlpT0hLN2RJNzdwcEg1OVZDMUxZYzMza2o4?=
 =?utf-8?B?aFhkbEEvbXNDTHI0VUltK1V5dUdRQ2cybmt2dFBqdndGaUVCSVZWOU80N09r?=
 =?utf-8?B?NlJGTDhpcjdxWkcyeW5Ub0U2VmpkYUU2bEhKQjltT3N0aitpQVp0RjJiT21z?=
 =?utf-8?B?TVo2TDlIU3M0bHg0Ni9FQlNMdG1FWGJHbGxPUFhKcnd1WFJoWU1EdWlyd3Jv?=
 =?utf-8?B?c091MFJCK1JhTGFCcmNWcHVjazZSbVk2dFkwVzhkWVRPa0o5eTZSYkN0ZnRk?=
 =?utf-8?B?dXdETyttWVV4MHg0c3pZVGJ2NXZzVC9Rb3VjMVl1djAyZ2FUQ203dDdTQmZO?=
 =?utf-8?B?UzlzeGNpUmYvcmJodUNnY3VVZzlDRlpEWGJkZlQwdGdKMmVKOGM2L0xNNm5o?=
 =?utf-8?B?UWFreWJ0RHUvYUIvdWhHdEJXc05Hd1NRK2pzYTdxc3ZQemlmT2RMWm9IbGdU?=
 =?utf-8?B?UXk0S0ZudGdxMjFCdWpQVmkzdW5rT2ptSEVoN3RpQXhVTjUvTDU1ckJzamVH?=
 =?utf-8?B?M2VoVWdkM0NhRlF2V1pEc1N3d0JIMHl5b1JYSUFyaVZqTGh2MFdKbVFYL3lP?=
 =?utf-8?B?RmJqa2l3T3R2UWlFMEFzdUJMWlhNREJWRGNPaUtYc1FMM2tmd2pIeFZKVFhx?=
 =?utf-8?B?M1pnZyt5ck9lSHY5QnRCc0JqSHYxL3dXa1k1M2UwQWpPNjM0a3h0OVRTQ29y?=
 =?utf-8?B?NDB1Yi80bDBkNDIvVFRTakNNRWtpdE5IdkxOV2FheW5RSjVLS1pzOXAxK1dM?=
 =?utf-8?B?NEFXd0xYODVKdG1weE1XQnRSOG1mb3BiQmYyZGhqZm1KcGcyVnBDdVNSZVY3?=
 =?utf-8?B?dlNXQ1VvTHpMN0Z5M201S1MzR3VqcXBaT3M4S0lSTkRhOVNjUUxXeGFPeE04?=
 =?utf-8?B?eDBTMy90WW16WTVIRnN0VzlUbVFmbC8zK2VUN3hMaGdyNTlqRkc5RzNMQmlm?=
 =?utf-8?B?ZjNhK3hMWWpmdWw0OE9CdWxKZzd6TmRwbE8wR0V5WVNFN2dIeGlhQjlGZXRO?=
 =?utf-8?B?Y0Q1S0NOQmZoKzZ5QWQ5VUY0MUpwWHlESXVuR2VjcFBrZlhTeTR6UkJGTm9n?=
 =?utf-8?B?QjVnejl5T0t6N0Z4TEdBWm1xbTdYSnlSR0VzYUQ5MXR2eko0WlY3bDhOaGZN?=
 =?utf-8?B?SG5aeWpWUkRLK2VDcm1IWEh1U05aczhsUjVIMzc3bmhmMXFLVVMyWE9OeFNy?=
 =?utf-8?B?UkZnVm1DeUpEcDVTT1JuS1RQNlErcEdoamhKSG1rMVBJZkF5YkY2MS9nUThx?=
 =?utf-8?B?Rnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	fBdRq232Ao49GTaXnB3SQKpP09v0ncCERDsPn7FPjmWszaVNO4/VCFChUSffvfZ+54GMQpkwx/Y3VLQA5aiO0eWygzb2PbqDXP8fDzG7FKfVfH+iRg3oPy1lyKJ4Q7RtUFhcYYojZ61pMeLa1Iq/q6Yi/KtXT7+nSuYbvulBN8mKcnTDPG3BLIl3HKwazNVfq+C0A8a/1vvj/eyjXI5nBlCecfi2jQmwMlSnFT4aMBZo5uSDR6cwde08M7xBI34gFs1QcciY3TgGgWdru2SKOVFQVddN96hHl+YZEnMMUnD1ruGVam3XfwDDckG3OIWOWfI2LbZVutCQhdB9d9iRFeVwpMqN6+zh7aYp7+O5hwbNpuEIOwAxb6zXP9c0k+4G4tpUytzXWpy3/xc9gn9bd2/xDtPUoPG42sK7N/RVO+oF1O7N7aDW2BCaERbEfezjcIkhSh3iLGh5xscFKskHLG7SBIkVisJjMbS6QGoRxtSrxU4UwDvAG+V7W/G+Amjx38UuDSIWR+OVbKhHm3xVAcwAmaz39UZLFY1xU5Zh/evpCJg/qYFUnAUeVAMDj6k2t8V+xGHRjtikMOkVdZZgpGzIDcRKbtINfiTgHpRbvvpXa4ce8zA70iQ+ndi5CNQN88h0+IU0BPSOrhyHFeFIBN1N4CtFHsWUZtJWQofhaes1pD9Up4Mi/YjlzVncvvwz0DcBTkBWVCnQhSMQmqAZLOmyPN1B9lw9QQQ+sSh7NwmeTQkEZVnSFFo1Cn/wk4SGqtwUR+OrC6EQl5FVnPsNJ77lQZNKL6U3dwEbf0lyjlzd0ggSeP/vZx3SupGhC8MQ
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8908885b-2e2a-48cb-4f71-08db98e5f16c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 14:35:57.0953
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T/I6iiiWIELGHhv6ECEKmeN/Mxl7Zz6lAlRx8kIxrHQc2Bksny6f5zBnsx2L+7h3yXtFtReG6GnKm0i7LSNzZIIyRUuKEf9lsmEonGJyBmw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4919

On 09/08/2023 1:29 pm, Jan Beulich wrote:
> Since as a bug workaround (likely inapplicable to any 64-bit CPUs, but
> it probably doesn't hurt to keep this) we clear %ecx on input anyway,
> we can as well fall back to cpuid_count(). This allows getting rid of
> four risky casts and makes things type-safe. The latter aspect requires
> two type adjustments elsewhere. While adjusting init_intel_cacheinfo(),
> convert three other local variables there as well. For the struct
> cpuinfo_x86 change it is relevant to note that no 64-bit CPU comes
> without CPUID support, and hence cpuid_level is never set to -1; the
> comment there was simply stale.
>
> No functional change intended, yet of course generated code isn't
> identical.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Hmm, far less invasive than when I last tried this, but that was years ago.

> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -131,13 +131,8 @@ static inline int cpu_nr_siblings(unsign
>   * clear %ecx since some cpus (Cyrix MII) do not set or clear %ecx
>   * resulting in stale register contents being returned.
>   */
> -#define cpuid(_op,_eax,_ebx,_ecx,_edx)          \
> -    asm volatile ( "cpuid"                      \
> -          : "=a" (*(int *)(_eax)),              \
> -            "=b" (*(int *)(_ebx)),              \
> -            "=c" (*(int *)(_ecx)),              \
> -            "=d" (*(int *)(_edx))               \
> -          : "0" (_op), "2" (0) )
> +#define cpuid(op, eax, ebx, ecx, edx)          \
> +        cpuid_count(op, 0, eax, ebx, ecx, edx)

Can we swap op for leaf seeing as both are changing?

Preferably with that changed, Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 14:55:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 14:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581186.909768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkan-0002dd-7y; Wed, 09 Aug 2023 14:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581186.909768; Wed, 09 Aug 2023 14:55:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkan-0002dW-4z; Wed, 09 Aug 2023 14:55:21 +0000
Received: by outflank-mailman (input) for mailman id 581186;
 Wed, 09 Aug 2023 14: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 1qTkam-0002dM-4y; Wed, 09 Aug 2023 14: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 1qTkal-0003Aj-W7; Wed, 09 Aug 2023 14:55: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 1qTkal-0002se-Gj; Wed, 09 Aug 2023 14:55:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTkal-0005bY-Fn; Wed, 09 Aug 2023 14: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=H5+mt77SC/et+wqVR/8ALaYxlzABOH3aj9unb6j2gdU=; b=zMr4aC9NbPjXZ7EDA+nuSaTmgq
	M5FQ0Qvay8SvJt9qnRxtDBn6AjnKqKAiA5LNRQrdWKkMytPH0ypVGA1IysxWFpVPMPxeUl8XiD0b8
	becf0nMIpGD1u/qDcvaCBKUpY0eoaHRuksCbquOosuWeDGa1Y/8+F/RslLaCtypfMx6k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182245-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182245: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=136931c4dbf532ec913b68673c91b4285e63464b
X-Osstest-Versions-That:
    ovmf=3c274c0d83d5464b336e40058bc5969bfef25f7b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 14:55:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 136931c4dbf532ec913b68673c91b4285e63464b
baseline version:
 ovmf                 3c274c0d83d5464b336e40058bc5969bfef25f7b

Last test of basis   182224  2023-08-07 23:10:49 Z    1 days
Testing same since   182245  2023-08-09 06:10:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Foster Nong <foster.nong@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   3c274c0d83..136931c4db  136931c4dbf532ec913b68673c91b4285e63464b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:09:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:09:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581194.909777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkoC-0004J3-F1; Wed, 09 Aug 2023 15:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581194.909777; Wed, 09 Aug 2023 15:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTkoC-0004Iw-CI; Wed, 09 Aug 2023 15:09:12 +0000
Received: by outflank-mailman (input) for mailman id 581194;
 Wed, 09 Aug 2023 15:09:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTkoB-0004Iq-2w
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:09:11 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afe573f5-36c6-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 17:09:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afe573f5-36c6-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691593749;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=P8fp+v/6smNsGrR1Qs3vlq1yLFmGcEtmhV0Xy/O2hIM=;
  b=DyrRwl04sBvwx2mfKIUcRFlSlBQujsXvI00e6oul0sCR3Mag0h5laTfn
   63uGF8+OutEMhmjQbrHkRwig3T4yMl9ozzw9LgwOBwtzsqIMhiX0XGMTc
   j7mPLYc5fPS6MSUW3W2QNaEYQDEDTpTwnPTMNQxy2Ybyph2S016ukm4ao
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119022402
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:ValHlaAXoq1K4BVW/zPjw5YqxClBgxIJ4kV8jS/XYbTApGh3hmZVm
 jRJWGzSOvzbazD2eYp2Ptnk8UIFvpDSztBmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNA7wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw5NlOOFNnx
 /IkDzEobxCJteW1xbGac7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4XbHZ8Pwh7Cz
 o7A1zvXDQ8XDNCQ8jGYw1iWl+HIlyrbfI1HQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6cLqScCj
 wHT2YmzXHo27ePTECjGnluJkd+sETYqFFYwTB0KcSwExtjjqrM0jRfMb+82RcZZkebJMT33x
 jmLqg03iLMSkdMH2s2HwLzXv96/jsOXF1Bov207Skrgt1okP9D9O+RE/HCBtZ59wJClok5tV
 ZTus+yX96gwAJ6Ej0Rhq81dTejyt55p3NAx6GOD/qXNFRz3oxZPnqgKulmSwXuF1O5eIVcFh
 2eN0T69HLcJYBOXgVZfOupd8fgCw6n6DsjCXfvJdNdIaZUZXFbZrXgzPB/MgD68zxJEfUQD1
 XGzK5nE4ZEyU/4P8dZLb71Fje9DKt4Wmgs/uqwXPzz4iOHDNRZ5uJ8OMUeUb/BR0U93iFy9z
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6KAnOt+K9Q5z8y4VI7gp
 xmAZ6OR83Kn7VWvFOlAQio8AF8zdf6TdU4GABE=
IronPort-HdrOrdr: A9a23:gSTAGq0wmMlRM1aWf2WIIwqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-Talos-CUID: 9a23:eeglZG7SCyKdeINnDdss6nEtI/IMQHPh63b1Ik+yO2FqTb60cArF
X-Talos-MUID: 9a23:SneQqwS1kBEUWbtIRXSzqj58Of9k7J+lFXEnq4QIvMONFQh/bmI=
X-IronPort-AV: E=Sophos;i="6.01,159,1684814400"; 
   d="scan'208";a="119022402"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/spec-ctrl: Add SRSO whitepaper URL
Date: Wed, 9 Aug 2023 16:08:54 +0100
Message-ID: <20230809150854.66849-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

... now that it exists in public.

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>

I did try to get this URL ahead of finalising the XSA-434 patches, but alas...
---
 xen/arch/x86/spec_ctrl.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index ebe56a96cdca..bafc41a2f6c4 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -898,6 +898,9 @@ static bool __init should_use_eager_fpu(void)
     }
 }
 
+/*
+ * https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf
+ */
 static void __init srso_calculations(bool hw_smt_enabled)
 {
     if ( !(boot_cpu_data.x86_vendor &

base-commit: 236fc9fdf97f4e7c64824ab793e8dca30dd54ffb
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:35:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581200.909788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlDB-0007lC-Cs; Wed, 09 Aug 2023 15:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581200.909788; Wed, 09 Aug 2023 15:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlDB-0007l5-9P; Wed, 09 Aug 2023 15:35:01 +0000
Received: by outflank-mailman (input) for mailman id 581200;
 Wed, 09 Aug 2023 15:35:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTlDA-0007kz-7U
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:35:00 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe12::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4afb8afc-36ca-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 17:34:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8594.eurprd04.prod.outlook.com (2603:10a6:20b:425::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 15:34:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 15: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>
X-Inumbo-ID: 4afb8afc-36ca-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B3/KpqNa0tUfeLLfnImUJaI4iVzB6j/65zQ3vK/LrSpl1+Frzur3/mXIRFB/QuenS0L+nQvMOlx6lnZFVORgTQsBZZLNAZK0YDxAHsVzxzGfXy7zZa8epmUgr7tcvHk8orIkH0fyemYXA2HURQhSp4kSgDRnxkVscMYRw1CVG3yq39XPw6+HtW4eKskE2xowDi9PHJvbX0LC0IU2MjaY6QOGpPpFENuLFE7M8+py7s+XQE9DaYfwFM0BIeUihBqc0As/uhILLkTPvOmLcOrK5+fn5Hh/DGPTuP6c0dGhE6Eh+5iWCcrWPWYlNLKVZtfEZ7JGFt/RKoqeL8hUrvWaBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WGfDexlnaZ5wJJzQVskvQuhXLBE07gOBI96wbwnjhd4=;
 b=P0vR5gwCysMUXFr9IwCP9dthy6Z6Shc6tcyXwlfwg3az5ivjzoiy678dP7DaUASHFn48vGBod0ItM/84wpzkcUMPilhqjEXBzxAOyIDeXBLZTCZGP09UzN8Ep76ByqRuH7DOgwSbyoeNmbwcAzzpYJqf9GlyE/SZz97eYc6DV/8Hrg5VbM9ToOiV9w4hrtYQy8XXCQq1/Ewid4qeUYMvWveV6mIqTxHhqZaEPDSaO07hD0WfyrbHOVcR1tas/lQpISynOe9yIED+8iP4QfzD48EesBY11reepBpA9ForxSZHIINKPxpbMJYu7kackJiW9gC5ZEU8xGDT8sjCMYQ79w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WGfDexlnaZ5wJJzQVskvQuhXLBE07gOBI96wbwnjhd4=;
 b=dUjQybJc28uGNKfMQgTIFP/Hfb1CMRL9MUYiMknNTmgRMtJfHqkZ3bE5UlKK1gapQSZATCK2Zd/pGnbVUfauiS730I0Tq/b64MhF1MmGq7DtRxbMRwnjoAFFwSc3bRFQ9fkQOywINu/opPAyJxuPmixfKLAlY47ToIk3OjlC9kmkXQl5bF1ehCuMiErGzeXh+Fbneejio0/5lNmovHLfL2FSWHgIMFJJpfMLklxbmxsuPj9WBOJGs5yAXHv9qqkBbExv+aM0lxh6rhnrVmSa+QdxMeI43oNsIDmrdOyxV6c8EH7zHwwp5iqz3J4buTVa6pPtN6u1pxOCh1eEx4Yz/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eaeea21b-5d83-131f-e074-b18263db8159@suse.com>
Date: Wed, 9 Aug 2023 17:34:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86/spec-ctrl: Add SRSO whitepaper URL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230809150854.66849-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230809150854.66849-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8594:EE_
X-MS-Office365-Filtering-Correlation-Id: 6796d4a1-a26b-4d49-36c8-08db98ee2e22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eIqwWREAtWCCgBZ+sQ/sXf7sQpBFeFFb7PqT7dRllTHJ/UbIdW/n7hmJ8Q8y0AniUnon8APzUCKGWU5nZ2qbEYqD604rK/TO99jrKELkZkco+32YSTiVNDCuga5oZWzVUZQ2lLiiwdlfu+3pJz7hy9iDw0A6cXUIuVlrEuf+cBYuRubjeVXQQkZ3jGQTMbF0PFfa8pviGzlWaMlWkDrSMM9nIOny86SjcKouLWJX3t1fCQimcXXILuA8Ej+3T4yn6Abns1ZZBmgrgau8ws0bEEEstWQYV0hcCreMYpKPaFBtNdIyCpmZDklhUPENf3+s3KENr3d9dzRsC3c4Uff/HkkDGqpC7QloQM2XOHKFm/VOewj/XQI8Njgkge5Bflz3ZO8RReD3+KdzZmyHXlm58pmf5+YY2aU/VQNgrBNdsk4FQbrU3UyC3hXdVoBUh3amO1TW1kIvoaqpnAugBrCuHqhjyMFWinnmZ+qaaVmM/CxPQ2f8EL/XzTi7yrg8xAo0LbLwUd7FJ25CaaTKEDiFnLzqmr0hPZVOVWGl8QrvD/mcXTB2zpmynyhmMYOErrRWbNsmDIQ1ufKbTvBaKjRcjtQYHb9m13MMp5i5+POpsGg3TIRvnjyG45NmVLjakhAxlXfczPssYVX8n3Ny2d2S6A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(346002)(366004)(136003)(451199021)(186006)(1800799006)(54906003)(26005)(6506007)(53546011)(6512007)(2616005)(6486002)(478600001)(38100700002)(2906002)(5660300002)(8676002)(8936002)(36756003)(66946007)(316002)(41300700001)(66476007)(31696002)(86362001)(4326008)(558084003)(66556008)(31686004)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWVQdWZaVVNpMEkxYTJWSkZsQTR0bkxpWmR0Y1dyVnpmeXRQd0F1RUZQdXNt?=
 =?utf-8?B?K0lscTVFdjdzbHV4Ri9aRWs2UWU0c3EyK2p2MGJpU21PbzdsdC96eUFpUGIy?=
 =?utf-8?B?SlhvcWJQSWt3bWR0LzFCQVcwRm00enFsV2x5WlovUU5WMVNiU0RyQXU4YUJD?=
 =?utf-8?B?ZXo4SEswSGJMdXhTN1dSUGR2M1crbVZuc3kwWG5FVmFWclc0T2t5Nm5idUFl?=
 =?utf-8?B?Nk5zcDNsWjMzdERxekRESWxBSWE1VDVlU3BiQVBENWVLRmlPbjBrOG5qZDN3?=
 =?utf-8?B?aU1Vb0JkU1JKTmNvVUdQZ3ZJOGxmdVo5RDlDekhxWlcrRWIrUDRacUU3blVr?=
 =?utf-8?B?bzNrK09FUzltUFByZ2MzaEJFejNSMXV2UVVFb2g2WU1ZeEs0YnI5czhoNklM?=
 =?utf-8?B?S0tSTXZlUkRtY1JwMDJ6WFJiVnFyTGVzaVJqMk03VnZQS2kwTUNmSURWVHk2?=
 =?utf-8?B?cGh2UlNBbWhyUVJFSFUwcTRiV3ROWHgzQ1piSVIzSklLQVQ2aVd1VDJKTzIw?=
 =?utf-8?B?MFJkY09IbFM1QkExNU92WlFYQU5CZmloUzFObkxCbk44VHdxa0k1YVFlZy9o?=
 =?utf-8?B?YzZ0anJES1hxVlAzTlM2N1JNdHVScXVaQWRCRXlWaHMzTk5YaC9tUGNrUkx3?=
 =?utf-8?B?VEE3Uk1kNUp5Z2ZabjhPMWRNVUxLUjFobXBPT0U5dDBsLzdPUUcxNnQvRDd4?=
 =?utf-8?B?VitieWMzazVkSldzS25IS1VZYXZxbCt5RSs3VjlKT1g1a01wRm05U0VjVFhX?=
 =?utf-8?B?MlpnQllGQ3psS29IdHl2dkdrbSs3SEdldjFoOGpWOWFLM21qRlpHZ1plZ2xu?=
 =?utf-8?B?OUo4Y3pvSjdtbC94aFhxLzRrSHFBdk5EY3l3b3p1MWs0RllIWVdia3hpZ2E3?=
 =?utf-8?B?L2VldWJpTkYrR1dVQ0NYSkw0QmJTR1F3NElkanFlTFQ3ZDNma0NoZU45MXo5?=
 =?utf-8?B?eE1JeEdORktVWm5mYjJ3Q2lTYkJIazBQZVE3TlY4dEFtbXhwWDN0Y3NnR1FC?=
 =?utf-8?B?S1drUi80K0RwTVJucWJ1TForc0RDQnBEUWpONFQ2dWxDcWtOa0d2RHRyeDFi?=
 =?utf-8?B?WVZUamRVRnA1QjZJMGltTDgvWlhYdFJhU0dBbDNpdXYyUnVKUDh0QjYwbHNs?=
 =?utf-8?B?a3FGbHUwbDNQYk51ZHFuUTMvamtIK3VMS0dFdDZIb1ovNm1jeXUxWERsQWVE?=
 =?utf-8?B?Mm8rL1dTaGg3WVBqdEZxTjZHYTRmK3M4K2M0WWdDU1owOVlsREV5RkV3UDgv?=
 =?utf-8?B?OUxjLy85Tm02cEpTYWZpdjNRWWhoOVpLSURRWTJuV082ZU5NTFN3K1dIcGti?=
 =?utf-8?B?cXBnQlIxSkRzaExzVFpBczZzcTBsaDdVWjNxQXZoTkdYQ3c4VldQbDZGSjRy?=
 =?utf-8?B?eUVRbFlKb1RWbEN1NGh4ODBxakhsOXNnUUtBQm80M0xaT0p3dHVBSE90NU1r?=
 =?utf-8?B?VklnNEhoU2R5RHVXL0o0amZwTkQ3R0NDL3JydUgvRCt3L2lwYWNJUUhheXl4?=
 =?utf-8?B?bEdzKzUxN0xkUk13UCtwSXA1TC9FV3h3VU1FQlBEMlhnTnl0TU1uMzF6YVJi?=
 =?utf-8?B?My9LaCs5bEsrdDVhQVVMemZ1MjNlVjZIYjkwWGd2WXllL2NJcmZOSGU2Z21t?=
 =?utf-8?B?WVVhVkExMm16ejV0NXNZQ1Q4dVU2b3dWb24vM0pHSEU3QkZwQmRodTBBRWx6?=
 =?utf-8?B?dVhkUWUyQjhUcXpwNXp0OTJDZ211QkxLdW1qczh0KzhQbERsTVZNM25kVWhi?=
 =?utf-8?B?VWFudmVoMTkxS3RVNmI4bFpDZExMcHRpbDlOblJqWkVqR3ZHU0J6QXVXdnRx?=
 =?utf-8?B?Yk9saEN4Q1F0Mm1NU2lLblRMUVhlbDBFbmh1cjBidWJUZVI3Z3RheFcwZE5a?=
 =?utf-8?B?aGkrZWc0MXpIUXN5dW54ZkIrZFlrYkRCNWZWMVg5MVdwUDl2YTEvOVJML0sv?=
 =?utf-8?B?OW4wMWdRMHN2Qmg4OWFFbkhZaHRhUG1QVXRwWGlTaTF0L3Z5VnJXdXN6VnNB?=
 =?utf-8?B?Rk1ibmlXTU5HS003SGg2dWJmbnNyT28rK1dJdW04ejdQZjFRMHl4RmEwWlZ0?=
 =?utf-8?B?ZlNBemxqc1Y1ZnRZWXk4Slc3ZG1DaW4zRDFIeDVYNXhVb1h6VEhlOHVFcXh5?=
 =?utf-8?Q?hmEMOxgInwJjU4ZulU8Ks/8rr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6796d4a1-a26b-4d49-36c8-08db98ee2e22
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 15:34:54.8615
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XfUcTJBhDtstV/M7eb7g3roEpOhUWBlv1TzUR8xFGmv2moQsdurDnEHm+1u9sONEVieneS7Z6P39MOJsNDQjwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8594

On 09.08.2023 17:08, Andrew Cooper wrote:
> ... now that it exists in public.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:35:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581204.909798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlE2-0008F1-Ls; Wed, 09 Aug 2023 15:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581204.909798; Wed, 09 Aug 2023 15:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlE2-0008Eu-J9; Wed, 09 Aug 2023 15:35:54 +0000
Received: by outflank-mailman (input) for mailman id 581204;
 Wed, 09 Aug 2023 15:35: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 1qTlE1-0008Ei-ON; Wed, 09 Aug 2023 15:35: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 1qTlE1-0004BH-Gj; Wed, 09 Aug 2023 15:35: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 1qTlE0-0005UL-W6; Wed, 09 Aug 2023 15:35:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTlE0-0004fh-Vc; Wed, 09 Aug 2023 15:35:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9eE0xlSztZqm9yaNhLnxkX9s2+WmsHKaq6J5u3qB0B0=; b=N392GzDThdxloBkLzRX/e0z+dj
	GJnF+mKW6AZedw0AwGtdVkDOX/GaBEA47+Zv/iXE07R5e0ZO0c5Zquo6r76a6Uc/HRuuKdnZqLL3h
	uXVdLUZ/RytU3At3IlRm0TDHkU3ri1Av4tOyOUU9JUEvJGSw/+LyaGv6jie74mIdMrLI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182248-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182248: 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=15601eed05922c0df5b59d5fb3f9ec6d85e57a00
X-Osstest-Versions-That:
    xen=a8a7c33e7dd684966d7df66058f2397995dbae31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 15:35:52 +0000

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

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                  15601eed05922c0df5b59d5fb3f9ec6d85e57a00
baseline version:
 xen                  a8a7c33e7dd684966d7df66058f2397995dbae31

Last test of basis   182246  2023-08-09 08:02:25 Z    0 days
Testing same since   182248  2023-08-09 12:04:01 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
   a8a7c33e7d..15601eed05  15601eed05922c0df5b59d5fb3f9ec6d85e57a00 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:37:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581212.909807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlG0-0000Sn-1p; Wed, 09 Aug 2023 15:37:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581212.909807; Wed, 09 Aug 2023 15:37:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlFz-0000Sg-VS; Wed, 09 Aug 2023 15:37:55 +0000
Received: by outflank-mailman (input) for mailman id 581212;
 Wed, 09 Aug 2023 15:37:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTlFy-0000SY-FA
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:37:54 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b45a2acb-36ca-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 17:37:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9446.eurprd04.prod.outlook.com (2603:10a6:102:2b3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 15:37:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 15:37:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b45a2acb-36ca-11ee-b281-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q3bNOkZ6nvEq1Q9xsJ+hrMV+tGUlsXt9CWeYh/ozE/i1qIiZXt1NiDbYx2EcTSVWDnJgku5MVO2EOlQCG9dSj8tqcputn9HgV4MeuwamBy7V+h8tBqEZ2Nv0LfsayD907gcQwyclY1kSbvDFrU+jCp6h3LttLT+Maxw6jh4geHJ0g2EmRrCkvrAaEkWfusxvnNTAexVxfyipkIpmyzbCdNoTGZbPiGjIkmogFi3JZp9jLx685ypaD7A0pHQ8fyHmQjb5N6BQ8nDwlvvvewnS2b63DfyyzsR0s5lxZeBcDlQFDbRHLTnY2BElXqvoby1uEETUvmfDsOcQPkImyOvGBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rtG9aa4De4cidOdl0bUwW5wESMhb3t/jAM6e15+TQgs=;
 b=i3pT/Tf8EWBYwNrTdJjZ4Ea7wqdfQhD7QtLrCWy2cBf5Ba6IS6iRPnemjF68r+QSym/KZzuKcpUe9173b0xOKpwN6xS/IhBYZZzdNPf1PUzFlBXxfXoYubqCyTzcm+4mF5x4AFFZKwy+UBm/9WSv32XxxvblRHYUPPQ0a1mFwcHgy71l4in3dnQzCtwwnt0bpMSxhAi3u7QPLlBwkhHbyhu/T9qG9dTWUk7G0LGFz6SEOKFxDOARyG9BiSHgNTW636E61BS1z1Vgj3DrDuvOveZIkonXtd1/Sipm8HtAMnpaqzT9d3HPPAKi8Rc3f0J803/rW9KCJ7qTmmx9EuYH/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rtG9aa4De4cidOdl0bUwW5wESMhb3t/jAM6e15+TQgs=;
 b=NOZnBJyLEmEe76Trf/3WQ4TV90Ycr/xO7BafWMvgUpbcw8vIJFHpAiPEQLEszXGI2b6UGd0m6kIh87irmLWX2EADHlTJErseYNNdUawXg0Rue3bG3C1StPYkA6c9EXaAI4HrSEL+1LuctspnSHgWAYUP6NkyAtFVawjXVwKLfiFBaFMj6msV1bIjYH84Ow12oFD1otJ5KZN7K+F7r9Yiy9V60hCpOT2ZrMxcWM3GVnwnoLrG3KYeBJ2gddt4LgG8SJr0ZMR4OV1+GDEq7PzZfKwke9CyPPGPPiPzq5jUpG6/mKpbFSbkFhXt7owgaq59CyC11twDcU67f4RcLOXSQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c51f81eb-c254-582d-929a-45faf3e279e8@suse.com>
Date: Wed, 9 Aug 2023 17:37:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC 6/6] capabilities: convert attach debugger into a capability
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.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>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230801202006.20322-1-dpsmith@apertussolutions.com>
 <20230801202006.20322-7-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230801202006.20322-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9446:EE_
X-MS-Office365-Filtering-Correlation-Id: 748093c4-55a0-4f6b-09ec-08db98ee9671
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9c0Odhe6JOKz9Rf9iqyXJ/Y6XTJtKpi5xdQ9yuWr/ZEisvfltdtAopOugyuKTwdKJUVAFADoTLf4BSzI3udeJv5vg7UQhM4Gza0euFCDCynS0+RaSjK8UCHNWDP0JDDXO3bRHntVOp2bUEQR1JPKCORkk5Wc6C0pKdxRJKKNxZNi9UjVklujIKLjGxoBW0sHB5nQ5KFTbSH8GCqidmT3z8YxNtJlT7yYMquzIudSSnvuWCxVPFZeXXUmDtuVPrf/4Dw4hYVpvgcmjJH6bWfmdRyKfN9xOGvwe+DK8fissqUqPzP5G+7KMbYG6h1D2s9BsJXDBF4nTXY05GQU+dUswJrDvw71xrEUfwOEAxeqAscdndUPD9ZWQzOvoFZ1TjF087PL/ad9LT2sCChhVgKZkcwFauHujQ6sRol3udWLbuOfHEyC5Lz/sv7IiJb2WSc51PCKD8fanY6m+0Jh59hMmGmjraPW7dWLq1yw5yh4NmjnH8k3vSkYZ+WZiEfYf39ojmlF2h8MmHcabvpDjHPLcrghPPMi+wvAFyhTMNQ+L+m4x35X907i7VH5VQDkIdAo0x36cVUc1mnasFMkQGlb2bBCbm2Xg139ObWM12l7uKbE93fcgeyZXUvlKIVQhTTfjJr+jW9iskcskUr45lZEJw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(136003)(376002)(346002)(366004)(186006)(1800799006)(451199021)(36756003)(478600001)(54906003)(6666004)(66946007)(66556008)(53546011)(6916009)(4326008)(6506007)(66476007)(26005)(6512007)(2906002)(41300700001)(316002)(8936002)(31696002)(7416002)(4744005)(8676002)(38100700002)(5660300002)(86362001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c21uRjZhYXpZS0R2bGtsak9hbUt2bUxFeWRQa09zZ3Q2ZGViVWNPSnA4bG1o?=
 =?utf-8?B?djNUYVRubFY0OTRyMjU2dkEzS3ozVjRkK1RMSFBuNjFwOHN1MHJKSTlVZ1NW?=
 =?utf-8?B?SzBNT25kY0Ird1VtTU5JL1hMdTk4UmRTdzkxVFFFMmpaR2FPekFGZ1Q3Nkkr?=
 =?utf-8?B?ekVtQ2J6WndIWTcrbGI3MmRUK3VobUJxUWluSWx6SjBkYW1QMVNOVFArUWxl?=
 =?utf-8?B?cWtZUVExSWtqL2JJdHZrZHBTcFp2QzFTWlZnZFVrQ0QwN0FnTkV3alNIT00y?=
 =?utf-8?B?OTc3QjdKbGE3S2J4VjJ3aTdvNDlRL25xUmlYY3lweldmemZtUzVkblhyeDBH?=
 =?utf-8?B?YzZsQ3h1UFJYeGt0Y1V6MG9PRjlOaFRuQ0Jhb0tPT0Nmd0NMSHFXdytVY3dN?=
 =?utf-8?B?SjNWSUxZSjVKRzZsMGJ3d25WQVFaMWM3RlFySHNIdmxqUkZRRVZNb2l6R3o3?=
 =?utf-8?B?QWxTcS9DNEhzSXlhNmp5Z3lDT2VXV0Yzb2s5NnlTK29LT1RjNm0xYTVQT3dy?=
 =?utf-8?B?aDFJZFR0UGNDN3Ivcms5a2pybEtYaXpFZ3F4QmI4NUtwaTNHMG9VY0xDNm9P?=
 =?utf-8?B?UWxMQjJHa2ZtN1BXaDZxT3U5WWx5WVpmZVUyS1ZweWw2RUx3L0xtRHpMNlls?=
 =?utf-8?B?bVFlblF3NmR2NVltWVdhMDdaOEZ4cWl0NERUbmJCVDkzdHhmQUFEbmRRZG9B?=
 =?utf-8?B?UFBPKzZLdktxNzkwWFhyR29LaXQ4d3BlUDQyUVBNMDlGRklMNnBCNkxxZk9Q?=
 =?utf-8?B?UXpreEhlbG1lMlpaUHZaUndFMzNOamo1Zk5xQkdybUR6M0hvTnE0OFlBUWNN?=
 =?utf-8?B?ekFhOTBJQTdPdWt1blJTeU9ZRTdOMzAxZ1IreEYwOXZaYUhTSi9Mc1ZpTmdX?=
 =?utf-8?B?RjlrTUtzVXI2dHBqM2NQNGJYeUZHdU9YSzZlaU90MWlYZFNqajdhRGhwZTVp?=
 =?utf-8?B?VnozdEFBeVR0anJXcCtLWXhmbjZCd2ExZ29yek1HYUVTcHF2anpHdVpCN1JV?=
 =?utf-8?B?S2lsckhZQXk5L0VkQWNCSis5T3E0K2RPTmh2bXkybnNQeThsRzNzVmw3YVQw?=
 =?utf-8?B?NXk0U0gwTUFPTFFvcDYwV28yWi9UQjV5STY5SUxpa3V0dGxXUE92ZGNhSTNw?=
 =?utf-8?B?Qk00dWc5eFJXZ0M0SEEvVTV1NE5Pc0RjWXpybEF3TUt0cUk0WVU2OUZWcVhV?=
 =?utf-8?B?aE15VWVGbFlXTm9rSkRJaEtNanRlVTZUODZoNERNdzg0S2JDa2tkZ1YrS3FI?=
 =?utf-8?B?VFp4VUZTVjdnZHpteFluVjVwQW5NZjVvb1Z1YzFNM2p3VEoyc3psMlhuOHhK?=
 =?utf-8?B?bk1GTmVuNE9UM2U2TXppUGt2eXJoZTJPVHRSRmx4YnZESVpGdlF2QXJXSkJl?=
 =?utf-8?B?Q1dxNnAzYURWWkp5S2JoT2NMWG9BMi9IMXJic1l5RFFiTU1peWQrR0dwMG9G?=
 =?utf-8?B?bTViakErU0pWMmluTUJ2Nyt6M3pwOCtDeEdKKytFT3lxTlV4cUJ5d1dheGw5?=
 =?utf-8?B?c21VeE9EQVZNcE51NzB4N2hBSENvcDByTnpmek5OWlJRbGU1N05pNk15UVRV?=
 =?utf-8?B?dnBPN2wwdkZzS2tNZE41c3NmdTQxUXVQL2tIY0Q1VFEyN3FWVWtaMFNtL2p2?=
 =?utf-8?B?VFVGSCs0NDgvU204cmZGbktBVWY2MVpTdW9JV1hpbjVoQm1CaU5KN2s1eEda?=
 =?utf-8?B?QjJDNVJianJOcy94SWZjZnRkZEhDcFJjSWp2T1l4bEtPQTdIa1dnKzRWTzRk?=
 =?utf-8?B?TkFSYUh4M1RPaFgxNGp1V01tbTY0M2xvUEFHWExyZWM2V2lJaXViVHZ0b0tz?=
 =?utf-8?B?aWtmM0VmajhhZ3A5cWxDaG1PUjhGMVFMdWVMN2h5NnI4aStJMlg2QVZzNnlm?=
 =?utf-8?B?RHI2RDJwOXo1ZUVQUnhBTmcvTWpxYlZSQjlLMENvOHR0TTA3ZEEvS25sQWVH?=
 =?utf-8?B?ZUIvNG5WQjNnYlgyT3dzY0xDVmxmU0dkUTFmWXQzRllWcTJuQndmTnRmek1t?=
 =?utf-8?B?NG9sa2dzSGgvbEJRNytubGRwcWRJWVoycEZvNzdONUt1NUQxNnI4MFFoUVNj?=
 =?utf-8?B?L3RuVlFDbjcxaWtZRm52bDJrWVBlRWtVTzJ1OEkxSDFQdkNtMWVHN3dNdk1s?=
 =?utf-8?Q?cgzXwG/yrvx9niWTn3usEgmTJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 748093c4-55a0-4f6b-09ec-08db98ee9671
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 15:37:51.6791
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3ypHwc34me0MbL56EDR2TX4iKK6N2Q5qZd9npdZJiwhETdHG2mG2GgXPhe0wXuemWCbv19s4Un3zDULbE1DVFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9446

On 01.08.2023 22:20, Daniel P. Smith wrote:
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -999,7 +999,7 @@ static void noreturn cf_check svm_do_resume(void)
>  {
>      struct vcpu *v = current;
>      struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
> -    bool debug_state = (v->domain->debugger_attached ||
> +    bool debug_state = (domain_has_cap(v->domain, CAP_DEBUGGER_ATTACH) ||
>                          v->domain->arch.monitor.software_breakpoint_enabled ||
>                          v->domain->arch.monitor.debug_exception_enabled);

Aren't you mixing capability and state here? d->debugger_attached set
means a debugger _is_ attached. The capability only says whether a
debugger may attach.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:42:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581221.909818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlK1-0001yG-Nv; Wed, 09 Aug 2023 15:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581221.909818; Wed, 09 Aug 2023 15:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlK1-0001y9-Kx; Wed, 09 Aug 2023 15:42:05 +0000
Received: by outflank-mailman (input) for mailman id 581221;
 Wed, 09 Aug 2023 15:42:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTlK0-0001y3-5b
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:42:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 487f7f38-36cb-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 17:42:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9446.eurprd04.prod.outlook.com (2603:10a6:102:2b3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 15:42:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 15:42:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 487f7f38-36cb-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hum0Fvogg6gk4P+QTUGJjJQKt1umYJkYLeOCuz9t0NyI3NTUMXstWYFbhTRdFT4SVL1GwnCscnNBGVKTj15Msa7jGirqc/4qtth+aX0uwhJN0OhQ5osIsnZsbrKaVhF0MopNoIc58E4L+8bhGajGOUjRO+sEv/5sIYTzQaEFvxb4DzcQuPe2GQM4Hj4uL6pXgrTJdtQnw2Fe3yiCgz1KZoo3xe9naFj4bCX4GK28W988N7RKiP2kK2REWiYx9szLEeztYeqS3N7bZz6CYfo6anHYwWkudP56kAlCgGzJDpqwRPjIRpJ7dzenyYns6b828Fgo9Y6Y63J0fIpOhWW4rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ik0Vxf42bfLbG418BKWRN8RzBEH+bI3LVPf5/4jUnGk=;
 b=b5Leq2PH28Jexj5mP8HBWK+PreMg/aWXiVgxSLynl7iWaE6LiWdZRG9RxkCXFlnlHKyzKQ1uLaDuWOupn70+/d39h7xQwEmFvDcF2YSOPlc37dJDsL4CL3aFqKyRWFDNJjjr4IAi+FX0hbEodzpE9WprKN8amN2iP52s5MQFDHwvYPLM5L/0uV+2urU5/h2709AR19N+i1k6lVpL3YDeZCFxi9O4CZbOsDHunvleh0jYU0p3OyC5EZGViuObdSgGZSH0bvG+gq1GpL4WLyxVbr8GyLhEDPOe/Dp+xL45tdGc3Xidz4TwgxqZTV0E2W6BHpJqIU4/WQv5B0bnwGSPog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ik0Vxf42bfLbG418BKWRN8RzBEH+bI3LVPf5/4jUnGk=;
 b=vUxjLm5tXNXKuu6at8wEroU2a46Tuf2vCzDAkNE7yWX9mVleIj8ipVALy4RYWnlpR6/ENc41sdsKLsWiz6S3kpqF3cFCwI3raAh/zSoYFWeyn3fL3zdDwfUTYSKnKTw2BI0XjFzBh9e4ER5508oKOmwpdtaopxDKQ058l9+XDGiWKMb+yh2agiFzX1KmWYxbXT2VVYDu44vRo4jMC431KTgM0vDIkrsI8DT8vwKvu5O6qhoRH9kqahH+B2jyZhafh4EKLkXSVhBmiVkrg4UEgpvpyvc13pMIZfti36KyWrw3OjqbXNyDXvn+0bFBpSicMJ1s6G1VapgmN9GsW7Hq4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <83037c3f-ca86-d2bc-d97a-8caee2e18b39@suse.com>
Date: Wed, 9 Aug 2023 17:41:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH 3/5] [WIP]xen/scripts: add codestyle.py script
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-4-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230728081144.4124309-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9446:EE_
X-MS-Office365-Filtering-Correlation-Id: feb7290d-88cb-4cb1-1569-08db98ef2b98
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AQh9ohV3OoGz38vRzlL9g1jFcbz08g2ct2h0fNvg1QT18rUAYxhQMx/JtuWF/nS+l0zR1O4E8MeQjUvMICnd2BP4Dx2DS7PUh4ZrSBwKXfHG9MF8lBBo2xKbwjDcUie4krvwWmG8/XjCkiM2oIufUP+dua2yB7CxyM2OygTfv+lvemKHox6HU+MbNjYZkhHlX/f8Gw+ML//oC8baHY9k/qnKq0HdCMDXFeO1XN5qw9E18eTGlDowkeIxq8Q2JUoGBnVHiqW5PI7SMtkZFzFh479qYJnzO9rvGm5dcBdY2Tz8W7cBjDJ9KWDmEEgMxZn16YXIvCKGPeWnmWqcV8MCSrtIlQeSmVx9j0cVventujnuM1xANN79Xk941KjxejvBlZm/ofEzQze6LM7Mwa4IMZjkNQyR8Y9IZeIcpZNElhY65kkCSekPFbjKn+CwJiUzmt5Uj//kZLEstU5GnF2ybKMGE7CG9sdNdt3BtZlfo9L7FQaw++yJv89cu5evo6sypY0sFC3SeIGmbMXDmJIm06IE6w4dFC13/IBLx8+1h2mjZF5apPfBiR8WoAxXs6YaRHblNeTooVRjhP3FBfpegCAJ1q+3icV5/EPkmVLCPLomcUnLgD/QjOhDzug4ok+maa42wG/Kk+85dwwfQwZaqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(136003)(376002)(346002)(366004)(186006)(1800799006)(451199021)(36756003)(478600001)(54906003)(6666004)(66946007)(66556008)(53546011)(6916009)(4326008)(6506007)(66476007)(26005)(6512007)(2906002)(41300700001)(316002)(8936002)(31696002)(4744005)(8676002)(38100700002)(5660300002)(86362001)(2616005)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2w0aFlFZm5JODI2V3NIdTMwazBxdFJUZDNLWitNd2FPSmRGL21nYytFRjJx?=
 =?utf-8?B?eWxrWWo2T1hFdXQrM0VPemxscVVxcTliU3FUaEVSOENHWE9kMlE5YWk3T041?=
 =?utf-8?B?U0pndE1DaFdBSGtFNkhPTzEzSGgzSzUvTVFpcTJ0Rmx6b3Bwa3padm9pRXZ0?=
 =?utf-8?B?bWxnS3dhMkNTaGFsK0UyaVh4cFNPZGJ0OTAwTFY4MWEzL21PUVB0dityVnRv?=
 =?utf-8?B?b2V1S3BIYzJBMFhOaUVPMlBYYzRBUldzSG96T3RLakNQUmhiTHp1VXpBSHlP?=
 =?utf-8?B?cUYxSzhPbTI1SW1VcSsrV3dRNmJDUFhDZ3RqdFRTUmVHY3NFUHU3U1Rya1M2?=
 =?utf-8?B?c3psZWFJTmVJWVBvV0xXdmx4WWVXYThjRjNWekdUUDdYemNDd1dkMW1PQkxV?=
 =?utf-8?B?clR0TSt6ZDk4M2MrTEU2aTVqcWVvQ2JUVzBVcFBKbzV6anNCOVRQRWFxRFh4?=
 =?utf-8?B?ZEc0TEpwb2o0dDFzcENlMGpSa1ltYUV5aHVpVUZQYnRkenV4aDRMTmdDeEk5?=
 =?utf-8?B?QTJ4MG5lV1EycHYwbTNRS0tEQmRLWVFRR2ZFTlkwNnpwS2NxeUJyYTNVeDVQ?=
 =?utf-8?B?SHVLaFdVL3BuNW5RL1lGSUo2c3RMbWlidXJaZlR1Y3NwUy9OY1poNUVBT0tl?=
 =?utf-8?B?VXhSTmNpZHpUVml0elJIWDFQb09BU01JWFgyc2lrN2ZPYmxuaERxN2grTTR3?=
 =?utf-8?B?aUxYTGVVKzVueisvNW9wNXVXZ1VaeTU2UDBXYXVjSndNK2xyYS9ob2Q2NnpF?=
 =?utf-8?B?V3Jyeko0eDZDN0JwTS82YWYvaGN3bGVtZC95VmxXdTZzcEw1QmdheHVOOUNH?=
 =?utf-8?B?OFZJVXBHQTJuY21JNTVtTXJzMkxNbndtbU9vMFBEcklsck5FUHdHQ3FBNERO?=
 =?utf-8?B?Z1dEeUlabjJLeXJRSjAyWmk4eXVudW9FL3g1WFRXVmVDa3ltZjRxZXAyQU5t?=
 =?utf-8?B?dk9nMGM0c20rbm93bW1oTDk4cnhqamJub2NDTGdsOUdVRFRMdTZ5UlA1dkl0?=
 =?utf-8?B?UTdrWkdWajE1RkpvNXR2WEJRTXV6aitNSzhtRGNpc0l0Vm5uelZ3WXc4MGhB?=
 =?utf-8?B?WSt5VHlPWU5KS3JWbTFYSXVSQXQybzM3RmdUMXl1S1RsRXBudDdGazIwd1o5?=
 =?utf-8?B?WThnWjh1ZUl2UzZvSXM4d2RONlc0QlpTa1ZERkp0V2dVK1NxdklRd1orRUxU?=
 =?utf-8?B?eGlIbUZIRGdMbUJET1hRbWYvRkJuUFBOZVdkZndOS28wcXhRYWxWTnRNeVZN?=
 =?utf-8?B?Z2VPV1VQYkNwVm1PYWRjS1RjQVZqMWZQWjV6NnI5VWhYSENzLzdpQ0ZkNG94?=
 =?utf-8?B?R1Y4M2hFRnN3MXNVUGxhbjRxaUVPTzRmWWpaR3BtYzF1S1B1ZndtRU9wd1di?=
 =?utf-8?B?bTBEUFNuQlZtV1haUTFpOFMxQXVJQlZZUHlTWDFUTW9hZmMwRmVyR0xuaVlN?=
 =?utf-8?B?VENSaGtPZFV2d2FSdHNhWmg2OGtnSHdFbGFXc25QZDZIQjAwNDFlQUhBdHc5?=
 =?utf-8?B?VzRJdDJhZkU2S3N2eTVndG11dmhuVnFtYUY4NWNReGM4dXJmL2N6UDhTbDY1?=
 =?utf-8?B?aURPSEYrY2RCRnBOTDJLdDY5bG1XNk90RkNyZjNGclZzT2drVGo5NkJMVlNr?=
 =?utf-8?B?clVDZTh4cEhvc3c2aThISXY5S3hlbWtLZ0h0M09Jd200RmlRNVY4Z0hnM0pr?=
 =?utf-8?B?U3lQOVRMQUpISTNOZWFwQTJBM3ZSNG5CbXpKZFI5ajBJU1hua2ZNTUxkQ2lM?=
 =?utf-8?B?S0FuOVNIOW9Eb2pYT0VERHJkNXdYbGZlT1ZPc2drd3RMOElyaU96aUVBLzk5?=
 =?utf-8?B?SjVtZzdoTTZoWjBzZGJyUWFsUmZNdmtTVHFNRjJuWkpHWFExNy8yaEo4bHlv?=
 =?utf-8?B?NjNkMnlHUWExTUZ1M3d1dG9JK25oK2ZuQmwwTGRLR0VKY1FxSmg0QTBGWmN2?=
 =?utf-8?B?VEZ3ZC91S2hRazQydFlKaEdTSEZuL0x4bzB1SHFDdmlhV2lsYWV0Vnpab2xl?=
 =?utf-8?B?anhYUVJabCtreWpkMjNhTkUxL29TN0JreEE5b2RKTk4vRm1yenRzWWpXaG81?=
 =?utf-8?B?b1dBMXl6N2ppaHhZTkpPZHd1SHFlallOck93aVRrQUNnNGtOR1B2KzlIbmVt?=
 =?utf-8?Q?uRAsgC+XURicMUcyDlSJwEcSe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: feb7290d-88cb-4cb1-1569-08db98ef2b98
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 15:42:00.0432
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LESpRJtOTcRXfmaziwKYH5srz2IjD5/Oz8NExV5SCmpLtXYwFSy3htAfS42P0xJHNeM+GzFaZEFJFrMupvxwKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9446

On 28.07.2023 10:11, Luca Fancellu wrote:
> This script finds every .c and .h file in the xen hypervisor
> codebase, takes the exclusion list from docs/misra, removes the
> file excluded from the list and for the remaining files is
> calling clang-format on them.

I was going to ask what the intended purpose is, but looking at the
script itself I think I see the script can also be passed a set of
file names, so it won't necessarily scan the entire code base.
That'll make it more suitable to also be used in an incremental
fashion (whether that's also useful to scan patches isn't really
clear to me, but I guess that'll require yet more work).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:48:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581227.909827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlQO-0002c5-CI; Wed, 09 Aug 2023 15:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581227.909827; Wed, 09 Aug 2023 15:48: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 1qTlQO-0002by-9W; Wed, 09 Aug 2023 15:48:40 +0000
Received: by outflank-mailman (input) for mailman id 581227;
 Wed, 09 Aug 2023 15:48:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nhcc=D2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qTlQM-0002bs-Uh
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:48:38 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 337e75f1-36cc-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 17:48:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6785.eurprd04.prod.outlook.com (2603:10a6:208:189::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 15:48:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Wed, 9 Aug 2023
 15:48:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 337e75f1-36cc-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c1nDpbAM0pF2HjZONhsNrZ/JgAZh7Vk9bv0CGWGyCQleOPbatpPPDDDPcUPipxx5qwSTKPNnI6VQLZw6LTCNaXgcsLJKSKmrgZrylfW0dEQE0YzAv1bbdzRqwBWHX64Z2y1qZsFoK0vCvuUwSzqpAdpid86ySMEYF2QKbrOwxYndU2rJCOlzo1GssNZ1N0PxVj9gjMPQ4rqNdx7HrFYnIUrBYeRDYkt5gM8Fc7iBwg9ntNCLWfeOC4Wo1KIhqpIp7dL4ITc5C7/lsL1yAj1jcT/Te9bT7ZMX/kyjmr2fm3wIgIxWeciDVkxsXQVQOZ/FKUHEw92Xv1yUg5Kd6xNTBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ymVo+NV60+65k9RHPYq16orj79qnJL1RT/G9okpDYzE=;
 b=bGhrDUT+uqZLLkRA8T+8repXx7waL9RLK+CBiUQLP7sh8hwjm8wEDIJ2NdMNtTeDjzsJCjiDxPZlEm4Suxgv3qdo8qWgjaYKKchRY2kSJvmJP2kk1aarMksSg9c+qcESCPyn6Q+oRjoa5DxuBLW7a4JGQkY6VnijERsMR2KCLyuQtfaKF4hft23BBzmEpzaZoK4dPGQq9k8JZwim16xD6ZhfLis6FNKjDVeOeeN7VmrYQ7JTJKZ/MQl8Enp4hNhRpNv+IglLZU8VtOik0A7nnJ3CXImD/RRGR09oC8bEd8JQlMKTs2FR2+B6bltP0RovSgBe0qAhuAaVK0XBcjKpJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ymVo+NV60+65k9RHPYq16orj79qnJL1RT/G9okpDYzE=;
 b=litH3ta3utPXagxim67Z7HmElxWZfZd+7GyWal4Mbezcx6wPca6gIPRcWBRplIckKQHNakqqXHCPDT3XHsGbAF+6kKEcgoQqoMm+uegGDK2CIiVsGpjF420LqYo2OEaV+rwKNiX57GmsT3RK7n+820OJ8/EGBx6PGlu/Ug066VA7XxxhZbEM6ST+XrNr6hcVl7eT1VV1+aiEyubNWitEC9xQqjY9u85gGtaN+I9eNtRF90X95hODphTsncqnQCZmNgfyolueV+PXRTU2KBHk0Svh5Tw1pAgFglCfzoLKbivEMCRq3r0RpEfoUlZL3NiXLx2nS9DvCP+3FMQr1AqtUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com>
Date: Wed, 9 Aug 2023 17:48:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH 5/5] xen: Add clang-format configuration
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-6-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230728081144.4124309-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6785:EE_
X-MS-Office365-Filtering-Correlation-Id: f5d4cede-3265-42db-f61a-08db98f0161a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GLyqG3kHqb6iFmpMiMMhPiAAvRgZ2d+4qi/LDx91Nj13dFWTYAv3TB7btunApez4XwP5FgObeHIAegbCyg4LdIC+KBo+8lqwO3vIeZHudfDxXgmKKQqdI0XkIWapIllteZYebFpVreVNv6H/J4YUvq2J2yG9/xEgy45sL7wLh3Eet1Bhv+KF2lxcY8/x0Dt3bOkYl7vGOTGaW90Ca94gllau/HnYnw04kttzxNjL9hxwq4fqfbGnarYkp1QfMUOHUQhLBG9V/kTsK/AzqoNBV++OWSuSDzcPE4GbD7Gfe/GJ+uk/Ucgg8YdY+nUej9dWKYOJr/wf3hKS2u4QzecCIP4W9N0K/d2eJHt5im6AuIZYTZp8nfz4jnZdXI0KHCtHq/PwHqjF0ZbNmp0Rl9Pk4cUhXFewvKF1pRgjqfoRhjRCqJg9bKjkWUFkMe4pATxoIHIeWDnN2Q0N6d+w88vdQBJDFBVoxFbv14bu/if2zuVBSnDBpaTkS2BCFjY8CvPa9SjarWPnxMeOtmPnM0GKI4t1UpGJKgqvtnHUOm+dxu6rm7gM71yWB2tgrnfYgcMoH69pX04M2r0zgSka2wR1qPwgkquq18EMdv9rKJ+i0765Y7BHBwlVUh1AGj5cr1nUcGlkGIG81RBPrViHs7f0lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(136003)(376002)(396003)(366004)(1800799006)(186006)(451199021)(6486002)(478600001)(83380400001)(31686004)(2616005)(966005)(6512007)(26005)(53546011)(6506007)(316002)(66556008)(8936002)(41300700001)(66476007)(8676002)(6916009)(31696002)(2906002)(66946007)(4326008)(36756003)(38100700002)(54906003)(86362001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3VFdVQ2djdOVVlpSU1VSkVRR2srVGp2V0hPejlRcUR2Y054NHhZcVBrdjhB?=
 =?utf-8?B?Z0dsZCsrZFJEK1hwNWZmQ0ZZWHBmNEQ4M0xETmNuck8reVIwN25hU2dWaG9Z?=
 =?utf-8?B?WlFxMGJtdTgvSmhXd05Ha1JBKzJ5blludG9nN01TQjhySXB4bmVHRHBBcHMz?=
 =?utf-8?B?SkNmajlRdUx4ZThUSHplRWE0U25sZE83WldMNmF4T3VCRnJ1M2NKcmVsWVJO?=
 =?utf-8?B?dDdXWWJHOEQ1Q2pueVdVamxFK0tYcFU0ak84d2Vtb3ZVeHg1eU5Cc0hSMXhN?=
 =?utf-8?B?b0VnWG9TZHg4L3dvWUFXVk00bXVXQklJV1N4c3ArU0JQYThjY2MzOGZpK1dQ?=
 =?utf-8?B?YVRMNDY0ek1xZWVyTElTTWFCYm5vTEV6WDV4UmlUSnA3QkRHRDFseGtmMjlv?=
 =?utf-8?B?dmhlZnMwelVucU11NHY3OXgxQU5uQkpmam4zd21wY3V6WXRQOUE2dEdwQVdE?=
 =?utf-8?B?R3lZZENmVS85OVByUjhYNXM0ZndRZnB1Qm8vN3EzWnVqayt5eDZaQ3lWeUI4?=
 =?utf-8?B?b1pDNTFzOWpPQ2pwY2ZoenhJMVhmTnJWRExXN3Jia0N5d3BvbEliRzJrRElR?=
 =?utf-8?B?V2JEOWtLZ0QyeDhLTlZialU2ZjIzbUxGVGNYZmRYNndwRW5WS3JaWmxZUjBm?=
 =?utf-8?B?b29Md2k4S1ZEYXlYKytxU0padnZBZXdJaTZRV2ZFbmJnekszZ1g0UU9ITm1a?=
 =?utf-8?B?N1I2QTlBNXBQOFhDb1I2RW1OL0hwa0pqVVA1aDgyWGwrNWFWODhsRWRiRm5x?=
 =?utf-8?B?OU5HZmg0UytSRE5OeWVFWDkvQ1pUTk1td25WTDhmUkJPY1Fzc2pEallvS3dz?=
 =?utf-8?B?NFgwMEd3KytwdXpxTlQ4NUtlVEVtYTVrVFFFMm44UlNsSy9iVXh5VmVRcnJY?=
 =?utf-8?B?T296ZUw2T0hNUytKWGRZVmRWVzIxek1xM0FkejI4N2R5NTdiaFJSU05PbjRa?=
 =?utf-8?B?bnBWVElhZDlQZWIxQk1HbEd6QzRhSy9mRDYySFh6bjJvMCtsTnRhL0ZBYWhR?=
 =?utf-8?B?cjV6VWhBRXk5Z1paV2dLZE9GTjFlUmdML3puUVE0TnhBTEViZjM2aThJQmlv?=
 =?utf-8?B?cmVtZ2lKOU9BYThqdEZzUUgweHhLcTdySFJtZmk3UFhKNUV1MjdPcytneTZW?=
 =?utf-8?B?VEJ0d0hGRW5yTEp6NTAxSE9PT290N0lFVFcrOWZnL0RZOWdVcmo4eGpwTytH?=
 =?utf-8?B?VTVOcmNaaG5KV3NURjBFM2s4V0RqNElSNHdDYjdPMlZzZkg1eVc3RGRsUkFh?=
 =?utf-8?B?V09vTXlVdUg3bERaV3FwbkxNSFZUdjNTb0ZzMUdWcnJzM1llazArNERaZTdT?=
 =?utf-8?B?ci9FU3piRXRuWDBDUjF0cE9aTjlOM1p4aHlHZ20reUtuZVk1THdsK3F3SXdw?=
 =?utf-8?B?UkVBK3JnejkzVDNXdzd1WU03TXV6WHZQUXRCbkI4SWduMHM2T2FHd2tOVkNG?=
 =?utf-8?B?Z21oamV3ZFpBTTFhSkorYUhhQ1B0cyttanc0VEpJditPMWFmUUpoK1JxZytR?=
 =?utf-8?B?UHQwc3lPemY2SE1RY1U5cVFjakdlY1p3VEozQnNIQVg2aGQzL3dnZ1o4ek1H?=
 =?utf-8?B?b0s0cTRMbWNMZVFnMUhGN09oTWx4NlkzdE4rM29JMGQxY3haQmNTUUxRanRC?=
 =?utf-8?B?d3FNZFNOQVBadnJ5c3lkdE9kaE5qLy9hN21uVUJZSEpVai9qcWVBNVIxeHIz?=
 =?utf-8?B?SzN0Y05yNXZKZVltckc1NjZ4M3VwMDdPZGF2SHFRRzJYRHAwTDJmOXZndXFh?=
 =?utf-8?B?VmV3bkEzeG03TWVDb1QwRGlWazgyWDF5Z3hxSStMM3o1WCtaTVdnazBNT1JL?=
 =?utf-8?B?MGJ2TUxzYnhVS0M1a3pKbUo4bmpXNHBDMmJiRHQ0anNBT0tQWk1RT3BlbGo2?=
 =?utf-8?B?V0JlZW1MT3NkS0k4b3V1VCt1RXgyaGRhYUF2YXkxRHUza1pkc3UzdmYvMTMr?=
 =?utf-8?B?VzhhNEkreVUrbWNYV28yMEtyZU8xTlp4ZVgzRlZRWklyeDMya0Y3Z1lPYkZF?=
 =?utf-8?B?NExnblppZnN5ZDkwUGVkSDQ5dWFDa2tHeUptK1JtTks3WnZZUXZJWDcyVm9r?=
 =?utf-8?B?cDNTbmEwVHRuR2d4MTFGNFg0WncxMklCdURWNmU0NWtUaS9QT0NMTTZGWEFp?=
 =?utf-8?Q?psatw7E3O2mw2tdz5/s4FXGsC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f5d4cede-3265-42db-f61a-08db98f0161a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 15:48:33.4871
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vYvqtUOPgcaNlyCqmIbWlcKhDwYJCdLcUIs8Cm3eLAhxTn2wS9F2zER7Y4yGdk6E4bY07VQLhjE0LwMzvqyZyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6785

On 28.07.2023 10:11, Luca Fancellu wrote:
> --- /dev/null
> +++ b/xen/.clang-format
> @@ -0,0 +1,693 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# clang-format configuration file. Intended for clang-format >= 15.
> +#
> +# For more information, see:
> +#
> +#   Documentation/process/clang-format.rst
> +#   https://clang.llvm.org/docs/ClangFormat.html
> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
> +#
> +---
> +
> +# [not specified]
> +# Align function parameter that goes into a new line, under the open bracket
> +# (supported in clang-format 3.8)
> +AlignAfterOpenBracket: Align

I'm not convinced this rule (assuming I'm getting it right) is
suitable in all cases, especially for functions with long names or
very many parameters.

> +# [not specified]
> +# Align array of struct's elements by column and justify
> +# struct test demo[] =
> +# {
> +#     {56, 23,    "hello"},
> +#     {-1, 93463, "world"},
> +#     {7,  5,     "!!"   }
> +# };

I'm pretty sure we want to have blanks immediately inside the braces.

> +# (supported in clang-format 13)
> +AlignArrayOfStructures: Left
> +
> +# [not specified]
> +# Align consecutive assignments (supported in clang-format 3.8)
> +AlignConsecutiveAssignments:
> +  Enabled: true
> +  AcrossEmptyLines: true
> +  AcrossComments: false

This is something we want to permit, but not demand, I think. I'm also
unconvinced we want it across empty lines.

> +# [not specified]
> +# Do not align consecutive bit fields (supported in clang-format 11)
> +AlignConsecutiveBitFields: None
> +
> +# [not specified]
> +# Do not align values of consecutive declarations
> +# (supported in clang-format 3.8)
> +AlignConsecutiveDeclarations: None
> +
> +# [not specified]
> +# Align values of consecutive macros (supported in clang-format 9)
> +AlignConsecutiveMacros:
> +  Enabled: true
> +  AcrossEmptyLines: true
> +  AcrossComments: true

This also looks to aggressive to me.

And I guess I'll stop here. What is the plan wrt discussing which
aspects we want to require and which we want to permit but not
require? Or is there alternatively a way to leave unconfigured
(and hence unaltered) anything that's not already spelled out in
./CODING_STYLE?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 15:49:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 15:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581230.909838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlQx-00035p-Kv; Wed, 09 Aug 2023 15:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581230.909838; Wed, 09 Aug 2023 15:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTlQx-00035i-IE; Wed, 09 Aug 2023 15:49:15 +0000
Received: by outflank-mailman (input) for mailman id 581230;
 Wed, 09 Aug 2023 15: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=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTlQx-00030I-1I
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 15:49:15 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 499a3d2e-36cc-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 17:49:13 +0200 (CEST)
Received: from AS9PR01CA0007.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:540::12) by AS8PR08MB7696.eurprd08.prod.outlook.com
 (2603:10a6:20b:523::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 15:49:10 +0000
Received: from AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:540:cafe::79) by AS9PR01CA0007.outlook.office365.com
 (2603:10a6:20b:540::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Wed, 9 Aug 2023 15:49:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT065.mail.protection.outlook.com (100.127.140.250) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 15:49:09 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Wed, 09 Aug 2023 15:49:09 +0000
Received: from a88308185d2d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 ADB9FFB5-D9EC-4B0D-84FB-3CB4F75619B4.1; 
 Wed, 09 Aug 2023 15:48:36 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a88308185d2d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 15:48:36 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB8703.eurprd08.prod.outlook.com (2603:10a6:150:b3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Wed, 9 Aug
 2023 15:48:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 15:48:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 499a3d2e-36cc-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zanEG82qDmobUBI5W3jSbksF1KslhpUDpD/Iplyhyls=;
 b=DdgJxPfXgW9k2JKfVMKcBMHXDxagNyFaNSijMZYLaCPCppCOUAmxApFaxepIjxWRQPT+xqCjxRzBcwZR05BdTY39bIl9vmcrictGFBRtD3jQ0TlHQmFpH3hb8J9hJe8fB4DK5RrWHRgv07ZLNZBcJWkzVk2NFkGGmUyTAEKe9Gc=
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: b1d30bafb02a4ad8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AUVH0J6Cb+dFrQTsQ2Z16ZJLiGbQjVSKcPrIUVfPH39fVHNHdM5YLtRv6pBsnxHXvFqW6eomoRQnYKTuDAFDuVTEnNqAl3yzbL8f6diczyW/hVa7gL+fQ2QTOQ6SRi/apifz7xmvQvyG0dXcpJrRee565A3QAlbQu0gZrLoBApiOn7tqUagqk1+16ym7LbG2TpEpDxGstaofw8X5oap7VTWI0rNpkrjl4SfQi7VnN7KfASmk+TCS/bFRotABlZ/s2yYYzMwWw92Go7QERPVc+pinJPbvcTBTTfyB3huyq8xa6u/qUZac6Dfi0nwsPk3b4jd9rYMobllpqn/ef1bV0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zanEG82qDmobUBI5W3jSbksF1KslhpUDpD/Iplyhyls=;
 b=VLBUSYQpmGeHg1uQT7YRk73izw3qUxbB9klhtmP05gGpwmlklzYwuDf7saB4CDnCDxqtPp62VaZjC78Ta8gu9/WbsuEI6NKkpvjoL2ZayDrv3w1hXkTWyYjAw9UZqZzUw9vn/F4zRn6okTrhRH6dizIAb7rb87tpVTZBkmNxRKPaIPj+Jsg7n6Qa9fSUK/88GOd7q4lmdobxvnGaJZc+3pseSjcU8gdHWbWi6NLsyDk6BusjxjOeE2jSp0u5/KzJ2ejElmlasz5VF2mTCK3Di86DnbYtzswH2RiRDg9vM2xWFeq5MysTNzQLuQs+qw40flM/3k5KvrGC9JIKIIjaJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=zanEG82qDmobUBI5W3jSbksF1KslhpUDpD/Iplyhyls=;
 b=DdgJxPfXgW9k2JKfVMKcBMHXDxagNyFaNSijMZYLaCPCppCOUAmxApFaxepIjxWRQPT+xqCjxRzBcwZR05BdTY39bIl9vmcrictGFBRtD3jQ0TlHQmFpH3hb8J9hJe8fB4DK5RrWHRgv07ZLNZBcJWkzVk2NFkGGmUyTAEKe9Gc=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 3/5] [WIP]xen/scripts: add codestyle.py script
Thread-Topic: [RFC PATCH 3/5] [WIP]xen/scripts: add codestyle.py script
Thread-Index: AQHZwStACZga8Y9XdUKITC8YuHP7fa/iLbiAgAABx4A=
Date: Wed, 9 Aug 2023 15:48:30 +0000
Message-ID: <DC51D8FF-5259-4F8E-83FC-A20F7330F038@arm.com>
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-4-luca.fancellu@arm.com>
 <83037c3f-ca86-d2bc-d97a-8caee2e18b39@suse.com>
In-Reply-To: <83037c3f-ca86-d2bc-d97a-8caee2e18b39@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV2PR08MB8703:EE_|AM7EUR03FT065:EE_|AS8PR08MB7696:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f99dc7b-2d26-43b4-7799-08db98f02bb1
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:
 57RENYwjndGgRECmr/EgPwUfbYVTjnUAE6FLVxmm2K9fMGw8Q41/TB5ymsE/xeKGGvR9MK6NeRZSVBJiucfLkJOxQU4Ula6YR+YoqyoG7QGDRbLuV901Ig5Up74qmTjMH120lmWllpV6LRrNj9fCL6qy4RuYVHhsykWPSNHbbwdDDL24fklzDmNAm9uN6Ik5dE10kA/w4lFvl+/vMz5B5A5lh4p3w9/0x3vXXXe3FLU4wz/hlu/KG5pTFTX3/+LvIPqg+fhETSjXDqoFrg8mfqPHStf0Djmjr6Wrn6D+m0KExR6MyWE4tsI7py8HUXG8q35ZeiHa7PPWOwx75GSwYjuiYy/eaIFrvnjMQbSEQ33xGyiVH3x6U7NY8fEGSk2xmWP7YYaYPvqo1Vu7LNmtzrtsJPTLtGz7cLPOVbBswzQ8AzX+K43Tovht5Ug62sPzwyo+0PfxpZAJ9hM7QqvmBpASVbmoUsVtqAy2nLzGod7fbDGzcO5+KtwjAQdnB6YTAHJEjPU0qW8WRXwzK4hfPbgZOmUL4vzE0zPuVf+RgfT3GmsA4uZyWRBaMo3XCNeCq1DRkS8YYAG6PJqSdzamRoY+XH7paPJFREVXprigx//M1lNMKTsJRcx/p0WzSPZiyHZ7iSRFujt0n1b0nXVOaQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(346002)(136003)(376002)(396003)(39860400002)(186006)(1800799006)(451199021)(2616005)(122000001)(478600001)(6486002)(6512007)(53546011)(6506007)(26005)(8936002)(33656002)(66476007)(66556008)(76116006)(8676002)(36756003)(4326008)(6916009)(66446008)(41300700001)(2906002)(66946007)(71200400001)(64756008)(54906003)(38100700002)(316002)(86362001)(91956017)(38070700005)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3DCA4330DFAC0642BEED840B6AF2D93B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8703
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:
 AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b5022bc0-3455-40a8-cd6f-08db98f01462
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ljwgbVW2zFqjA93zqY9+HHOxFI+V8woW6Ed2JeFwaNVk0yNKc6wTJSCvoDMrmBGvpAQpl9Im56o44IdwY3LpYprpX4KwCjqs3s85CwOTtstVkIZAGDaZQk1YugrZ3VKvhzXrmRmFSu7qSHguwDty3lnBpaUwlAfZRdUqGRnRneQPRDPMAC699omW6jzkia6R5qNYXds6XL/O/wCfxO7Veo0iMueiO4KOWzzOLFhBnlxnEEY+/9PMz6qqp+mqjSs8OvpC8xGhZMdwM5YyOVVMzZo8qmOmq+0v8bifEAqtoKmhiK/uYI2NKwFIxmkpYWkAK0ZuXnsd3Eb7SuIlHaGUo9FNb9sWT7/dc08CwU+nu/vbZk2Uo2LhdL3JMcthTNpu9qZemraXjfXqjq6AK+DTvRgVHZhue9kEOpJ1tazPn1cEFuWHnGfjd2UZzAqT/FuUbsqkKIfK7/xK1lv4GJzFjCkTSAOqw/en0Bz5zdDhW2+OCCU4Qk2L32BjB8i4ikxDcKnXtwhFyg6aE6aFSopmJUpP3ITYqbP8d+DtOTP5Pv7tIjOP35k09gAgSksZTiyiwPcCs1sNn8mJpe4dmSbkXKtyT39G4ykqoAUYBDHTSIH09gR0WhFDp/HX0OcVj802KJJY/XBxRbkOrxerpup/jH3xfHTh01GEtlRPs/5ZSHFFuwWvxW0giECi61sxNYYwJBSxI91YqTYuv4PVvoY/5CmqpTQ8vRhnhGWqXTX9VNJK1hCu2z85ffKZcJBojNDp
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(346002)(376002)(136003)(451199021)(82310400008)(1800799006)(186006)(46966006)(36840700001)(40470700004)(6862004)(40480700001)(8676002)(5660300002)(8936002)(81166007)(356005)(82740400003)(2906002)(40460700003)(2616005)(86362001)(6486002)(478600001)(54906003)(6506007)(26005)(53546011)(36756003)(336012)(6512007)(33656002)(36860700001)(4326008)(41300700001)(316002)(47076005)(70586007)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 15:49:09.5048
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f99dc7b-2d26-43b4-7799-08db98f02bb1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7696



> On 9 Aug 2023, at 16:41, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 28.07.2023 10:11, Luca Fancellu wrote:
>> This script finds every .c and .h file in the xen hypervisor
>> codebase, takes the exclusion list from docs/misra, removes the
>> file excluded from the list and for the remaining files is
>> calling clang-format on them.
>=20
> I was going to ask what the intended purpose is, but looking at the
> script itself I think I see the script can also be passed a set of
> file names, so it won't necessarily scan the entire code base.
> That'll make it more suitable to also be used in an incremental
> fashion (whether that's also useful to scan patches isn't really
> clear to me, but I guess that'll require yet more work).

Yes, when we will do some automation, it would be useful to just run the sc=
ript
against the touched files from a patch.
Indeed running it against the patch file is very difficult, since we are do=
ing some
pre-process and post-process that requires some context that might be missi=
ng
from the code inside the patch.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 16:18:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 16:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581240.909849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTltZ-0007FG-2P; Wed, 09 Aug 2023 16:18:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581240.909849; Wed, 09 Aug 2023 16:18:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTltY-0007F9-Tp; Wed, 09 Aug 2023 16:18:48 +0000
Received: by outflank-mailman (input) for mailman id 581240;
 Wed, 09 Aug 2023 16:18:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kmRr=D2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qTltX-0007F3-HH
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 16:18:47 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7d00::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a4a774f-36d0-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 18:18:46 +0200 (CEST)
Received: from AS9PR06CA0289.eurprd06.prod.outlook.com (2603:10a6:20b:45a::29)
 by AS1PR08MB7498.eurprd08.prod.outlook.com (2603:10a6:20b:4dd::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.25; Wed, 9 Aug
 2023 16:18:33 +0000
Received: from AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45a:cafe::a5) by AS9PR06CA0289.outlook.office365.com
 (2603:10a6:20b:45a::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27 via Frontend
 Transport; Wed, 9 Aug 2023 16:18:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT016.mail.protection.outlook.com (100.127.140.106) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Wed, 9 Aug 2023 16:18:33 +0000
Received: ("Tessian outbound 997ae1cc9f47:v145");
 Wed, 09 Aug 2023 16:18:33 +0000
Received: from 448e72feccd5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 17C8ED21-55F3-4C61-98AF-51110E4E3489.1; 
 Wed, 09 Aug 2023 16:18:03 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 448e72feccd5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 09 Aug 2023 16:18:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM8PR08MB6323.eurprd08.prod.outlook.com (2603:10a6:20b:354::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug
 2023 16:18:01 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 16: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>
X-Inumbo-ID: 6a4a774f-36d0-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zBKXN+jwBubVhY7AIfbvFgtfcMtXef2QqdlWUYThVzc=;
 b=dAe8H4k7TFJRnkbzkeysJ7VjxvCTGOijEjKJ4YNtqd7rWxjqCpofgtoOJsteFiiGMAWO0iqY+rjq70zA4wXWQuhElJNhNNIf4/pnG3D8jQUSP2H7wEpJ7M5qSDp1tuOcprbf7xwrRAh4g6uQA9eYfs8iQitoRmj7dsq6JfmNiCY=
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: 9aa6245a2abd8fba
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=brXqi8EaHCOVHlaj0BqHIhaGvlqs1zD25l+ZILj/aQJc7pdWI5Yzx8dHGVArvNZNm69m0Y526lz7XdLp+lBidG+ohDZr/mS5GZYdUqLNThvF0t+Tm4WBh9UFGeav1hk4LvCRZQoUo9aOJwQMrJ9KSgxErJv7OzUNrIOuF7D4bT8DpXc1zY4S+5d3jhgN2cGqf/YHJJwX9aHxu6dxkni9K3mjXSmoyTb64omzKCfs1AzxlP36335M7sKd6J9qsh5zi43bE2xoKYd4HoeIvEy/486ys6ePucpU6ROXNSMGQoJYlzk3Z4Uebo+BB3bT0HB8bK+88gyD/DjvSycT4bKMpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zBKXN+jwBubVhY7AIfbvFgtfcMtXef2QqdlWUYThVzc=;
 b=Um+4Z65No66MTWsK34U4U5s9d+1aXUmv0S885h64bbCyQOA+tLOJd8Q4mW9MOT9T1mgiJvVYVUSXE3HnYtj/+srSX9VO/7gekqTiogND/qPiiAPYGR8M/iKMJFM/xQI6Jha1GjV+wRA36MhV+9sqEuDoGFmTENjwgP1fqtyLev1NzL3O5CPWhkramO+hwMlU4VbbDMQ3ujIpJyIfLSTjvbv9fJWXiwL9Hpg6JJLmeZ5RJf2S0GXSA8OP4Rw86VifFG13cnrM/PYaKQYfEs635LTsj9BlOnV2qrnQVT8n52laO5RCFlgJN5Djh2zDrWhhQM7mGBc4vmJQueLbJZDAKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=zBKXN+jwBubVhY7AIfbvFgtfcMtXef2QqdlWUYThVzc=;
 b=dAe8H4k7TFJRnkbzkeysJ7VjxvCTGOijEjKJ4YNtqd7rWxjqCpofgtoOJsteFiiGMAWO0iqY+rjq70zA4wXWQuhElJNhNNIf4/pnG3D8jQUSP2H7wEpJ7M5qSDp1tuOcprbf7xwrRAh4g6uQA9eYfs8iQitoRmj7dsq6JfmNiCY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 5/5] xen: Add clang-format configuration
Thread-Topic: [RFC PATCH 5/5] xen: Add clang-format configuration
Thread-Index: AQHZwStJjnl5s/6RqkyuxqTMVBpDCK/iL4wAgAAIMgA=
Date: Wed, 9 Aug 2023 16:18:01 +0000
Message-ID: <394778DB-2D5E-4C52-9DA1-F23A530534A8@arm.com>
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-6-luca.fancellu@arm.com>
 <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com>
In-Reply-To: <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM8PR08MB6323:EE_|AM7EUR03FT016:EE_|AS1PR08MB7498:EE_
X-MS-Office365-Filtering-Correlation-Id: ed24b110-62b8-4d47-130f-08db98f44711
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:
 wwQoxNmZ/wsYv6swXzB2O0YhRX6CEaAaKuO0okfmtYFXKHvZEQBIIjpIDOPN/HZlpnfHSogB3wSjVpYQBTEvpcL/NKY/CPX6ue8hAxuWf0+WQi7C0WfL2j+bp9zIpHihM403eRxr2A186rSzsnAx5ArxlH70b66kcYKwJ5Fqj0YsxFQWCAZRaK9e/xkSjc9ZDec1fX/6B62BWPHcPNJSGB4hz94AYb24BpphIHPh3xg9ZDWNuLQ85ajDT1eIyUspdIT1k2F2j9bIdAza0/5o9og/+rtsorpjPepTZ+CVcH5w8cEwyRH7gRk6CfSKeGXT6Wmzs6wjXKSMJA13FYzVVrRRVYCgDZQeKNhrD9grNeDRUtpEMIqxnXCJAroIttSXTsQDLje4G/pN70BokT7OiaN5xph1dot24zZqHSdhalL19coJPipQdOXASz9325ft6T5n+lTgdWclyjWPbL9hrp4Niill5tOsfW2RukS70GQOix+7mZwnZkZ43WcomLqeU7uHg9JWmt+LF0SfGoD6CZ38KGoTWAkoQdG1ahapW2SWldBv+EzXH3BuPq6l6Fkbdi+uwmoWdI00zeEBlbKlh+Oc1MSF8sOx4IRWB9WWLQr6j8AhYQX8FLe7LanP7OEMVoZpmni265VaFSGCpQO05D8dk1YDW73NLo/ugIMvyvH0Tt99mKMcL9+6GcgVxxtD
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(186006)(1800799006)(451199021)(83380400001)(122000001)(478600001)(2616005)(966005)(6512007)(26005)(53546011)(6506007)(41300700001)(8936002)(91956017)(76116006)(66446008)(66946007)(66476007)(66556008)(64756008)(316002)(8676002)(4326008)(2906002)(6916009)(6486002)(71200400001)(36756003)(38100700002)(54906003)(33656002)(86362001)(38070700005)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5005D73431EAA045A9E6054B8F29C89B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6323
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:
 AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8958d084-61c9-4ed7-56dd-08db98f433da
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WFGDDfEMgXdeyn3ajOvrhglJWZVQmrTnsXyDdLL1TVTx4D2UW4SlBuOmVvvr6XMDo3SJl2xx7VfAjQjgIxkp8OBik3CqDT7IGtxaXl719aruX6ThQROdB3Ham/SkofByaNAH2prJw7YL7H0cYqrQJ3NkZjkcILRs9jTEy8ACuI8GMgtP0cUh9B5uUMSsr4vcvFnkYxVlP1LNxj/oKN7ftDb90ra8m5ciRnxfPAaNraAS6wb2o4ht8pj0BfEr/tjA/OVVPk0Ji/vwfF7r+fS47+xsf2b/FBJgvsH1VZCPxEz9Nb23HwN6Yv1EaGsWRM60n4KnXhIPxPOGaZieGj0BuuwM7JjSM1bc4gRmg7f8qUNSe6XC8K0jBFrG3vl0ngYCI09nJPFqmNKbYVa1oNo6JuKQ8g9B3MDt3IaPvNqqDs1y+0XvTzVP3WIQ4CeelNn5fUhSnnRtN86sbm+Zoz7APpDRUwyG/IX9kvOw2kkge28OOfJeoiQz9okdhijtnBlekHPszuMHzv/x/t2Qt878O3zDW3pVZ7xIK9TGa92cTuNP9drnqhGc0Lv63kLORL6mvH5pwJlIm2YxdDXrvd625RZT3qV5AKzFD7XUlWTGld7X+BBuecexbtDdLpRJp5egtOHAd8sx7KYFHIsNR8rrOvFxHJcshT238kgXv2gPdqrRqcfWR3Qt18u1utaZ+1Lzk+5DnENFPRf3jaKqgknGBSrw1MM1OtVU29KXCLWVn9W4f1YD2nwZbhB9T7wgv23+7Lk8QxSHHDdCIzdcl/L20Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(136003)(39860400002)(376002)(82310400008)(451199021)(186006)(1800799006)(36840700001)(40470700004)(46966006)(6512007)(966005)(6506007)(53546011)(26005)(40480700001)(40460700003)(36756003)(54906003)(86362001)(5660300002)(8676002)(2906002)(316002)(41300700001)(70586007)(33656002)(70206006)(8936002)(6862004)(4326008)(478600001)(356005)(81166007)(82740400003)(2616005)(47076005)(36860700001)(6486002)(83380400001)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 16:18:33.4175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ed24b110-62b8-4d47-130f-08db98f44711
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7498

DQoNCj4gT24gOSBBdWcgMjAyMywgYXQgMTY6NDgsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAyOC4wNy4yMDIzIDEwOjExLCBMdWNhIEZhbmNlbGx1IHdy
b3RlOg0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIveGVuLy5jbGFuZy1mb3JtYXQNCj4+IEBA
IC0wLDAgKzEsNjkzIEBADQo+PiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v
bmx5DQo+PiArIw0KPj4gKyMgY2xhbmctZm9ybWF0IGNvbmZpZ3VyYXRpb24gZmlsZS4gSW50ZW5k
ZWQgZm9yIGNsYW5nLWZvcm1hdCA+PSAxNS4NCj4+ICsjDQo+PiArIyBGb3IgbW9yZSBpbmZvcm1h
dGlvbiwgc2VlOg0KPj4gKyMNCj4+ICsjICAgRG9jdW1lbnRhdGlvbi9wcm9jZXNzL2NsYW5nLWZv
cm1hdC5yc3QNCj4+ICsjICAgaHR0cHM6Ly9jbGFuZy5sbHZtLm9yZy9kb2NzL0NsYW5nRm9ybWF0
Lmh0bWwNCj4+ICsjICAgaHR0cHM6Ly9jbGFuZy5sbHZtLm9yZy9kb2NzL0NsYW5nRm9ybWF0U3R5
bGVPcHRpb25zLmh0bWwNCj4+ICsjDQo+PiArLS0tDQo+PiArDQo+PiArIyBbbm90IHNwZWNpZmll
ZF0NCj4+ICsjIEFsaWduIGZ1bmN0aW9uIHBhcmFtZXRlciB0aGF0IGdvZXMgaW50byBhIG5ldyBs
aW5lLCB1bmRlciB0aGUgb3BlbiBicmFja2V0DQo+PiArIyAoc3VwcG9ydGVkIGluIGNsYW5nLWZv
cm1hdCAzLjgpDQo+PiArQWxpZ25BZnRlck9wZW5CcmFja2V0OiBBbGlnbg0KPiANCj4gSSdtIG5v
dCBjb252aW5jZWQgdGhpcyBydWxlIChhc3N1bWluZyBJJ20gZ2V0dGluZyBpdCByaWdodCkgaXMN
Cj4gc3VpdGFibGUgaW4gYWxsIGNhc2VzLCBlc3BlY2lhbGx5IGZvciBmdW5jdGlvbnMgd2l0aCBs
b25nIG5hbWVzIG9yDQo+IHZlcnkgbWFueSBwYXJhbWV0ZXJzLg0KDQpOb3Qgc3VyZSBJIHVuZGVy
c3RhbmQsIEkgdGhpbmsgdGhpcyBpcyB0aGUgY3VycmVudCBiZWhhdmlvdXIgaW4gdGhlIGNvZGVi
YXNlIG5vdy4NCg0KPiANCj4+ICsjIFtub3Qgc3BlY2lmaWVkXQ0KPj4gKyMgQWxpZ24gYXJyYXkg
b2Ygc3RydWN0J3MgZWxlbWVudHMgYnkgY29sdW1uIGFuZCBqdXN0aWZ5DQo+PiArIyBzdHJ1Y3Qg
dGVzdCBkZW1vW10gPQ0KPj4gKyMgew0KPj4gKyMgICAgIHs1NiwgMjMsICAgICJoZWxsbyJ9LA0K
Pj4gKyMgICAgIHstMSwgOTM0NjMsICJ3b3JsZCJ9LA0KPj4gKyMgICAgIHs3LCAgNSwgICAgICIh
ISIgICB9DQo+PiArIyB9Ow0KPiANCj4gSSdtIHByZXR0eSBzdXJlIHdlIHdhbnQgdG8gaGF2ZSBi
bGFua3MgaW1tZWRpYXRlbHkgaW5zaWRlIHRoZSBicmFjZXMuDQoNCm9rDQoNCj4gDQo+PiArIyAo
c3VwcG9ydGVkIGluIGNsYW5nLWZvcm1hdCAxMykNCj4+ICtBbGlnbkFycmF5T2ZTdHJ1Y3R1cmVz
OiBMZWZ0DQo+PiArDQo+PiArIyBbbm90IHNwZWNpZmllZF0NCj4+ICsjIEFsaWduIGNvbnNlY3V0
aXZlIGFzc2lnbm1lbnRzIChzdXBwb3J0ZWQgaW4gY2xhbmctZm9ybWF0IDMuOCkNCj4+ICtBbGln
bkNvbnNlY3V0aXZlQXNzaWdubWVudHM6DQo+PiArICBFbmFibGVkOiB0cnVlDQo+PiArICBBY3Jv
c3NFbXB0eUxpbmVzOiB0cnVlDQo+PiArICBBY3Jvc3NDb21tZW50czogZmFsc2UNCj4gDQo+IFRo
aXMgaXMgc29tZXRoaW5nIHdlIHdhbnQgdG8gcGVybWl0LCBidXQgbm90IGRlbWFuZCwgSSB0aGlu
ay4gSSdtIGFsc28NCj4gdW5jb252aW5jZWQgd2Ugd2FudCBpdCBhY3Jvc3MgZW1wdHkgbGluZXMu
DQoNClRoaXMgd2FzIHBvaW50ZWQgb3V0IGJ5IEFsZWphbmRybyBhbmQgU3RlZmFubywgd2UgY2Fu
IGRpc2FibGUgdGhpcyBieQ0KcGFzc2luZyAnTm9uZScNCg0KPiANCj4+ICsjIFtub3Qgc3BlY2lm
aWVkXQ0KPj4gKyMgRG8gbm90IGFsaWduIGNvbnNlY3V0aXZlIGJpdCBmaWVsZHMgKHN1cHBvcnRl
ZCBpbiBjbGFuZy1mb3JtYXQgMTEpDQo+PiArQWxpZ25Db25zZWN1dGl2ZUJpdEZpZWxkczogTm9u
ZQ0KPj4gKw0KPj4gKyMgW25vdCBzcGVjaWZpZWRdDQo+PiArIyBEbyBub3QgYWxpZ24gdmFsdWVz
IG9mIGNvbnNlY3V0aXZlIGRlY2xhcmF0aW9ucw0KPj4gKyMgKHN1cHBvcnRlZCBpbiBjbGFuZy1m
b3JtYXQgMy44KQ0KPj4gK0FsaWduQ29uc2VjdXRpdmVEZWNsYXJhdGlvbnM6IE5vbmUNCj4+ICsN
Cj4+ICsjIFtub3Qgc3BlY2lmaWVkXQ0KPj4gKyMgQWxpZ24gdmFsdWVzIG9mIGNvbnNlY3V0aXZl
IG1hY3JvcyAoc3VwcG9ydGVkIGluIGNsYW5nLWZvcm1hdCA5KQ0KPj4gK0FsaWduQ29uc2VjdXRp
dmVNYWNyb3M6DQo+PiArICBFbmFibGVkOiB0cnVlDQo+PiArICBBY3Jvc3NFbXB0eUxpbmVzOiB0
cnVlDQo+PiArICBBY3Jvc3NDb21tZW50czogdHJ1ZQ0KPiANCj4gVGhpcyBhbHNvIGxvb2tzIHRv
IGFnZ3Jlc3NpdmUgdG8gbWUuDQoNCkl0IGNhbiBiZSwgYnV0IGl0IGNhbiBsZWFkIHRvIGEgbmlj
ZSBmb3JtYXQuIEFueXdheSBjYW4gYmUgY3VzdG9taXNlZC4NCg0KPiANCj4gQW5kIEkgZ3Vlc3Mg
SSdsbCBzdG9wIGhlcmUuIFdoYXQgaXMgdGhlIHBsYW4gd3J0IGRpc2N1c3Npbmcgd2hpY2gNCj4g
YXNwZWN0cyB3ZSB3YW50IHRvIHJlcXVpcmUgYW5kIHdoaWNoIHdlIHdhbnQgdG8gcGVybWl0IGJ1
dCBub3QNCj4gcmVxdWlyZT8gT3IgaXMgdGhlcmUgYWx0ZXJuYXRpdmVseSBhIHdheSB0byBsZWF2
ZSB1bmNvbmZpZ3VyZWQNCj4gKGFuZCBoZW5jZSB1bmFsdGVyZWQpIGFueXRoaW5nIHRoYXQncyBu
b3QgYWxyZWFkeSBzcGVsbGVkIG91dCBpbg0KPiAuL0NPRElOR19TVFlMRT8NCg0KSSB0aGluayBJ
IGRpZCBjcmVhdGUgYSBjb25maWd1cmF0aW9uIHNwZWNpZnlpbmcgb25seSB3aGF0IHdhcyBzcGVs
bGVkIG91dA0KaW4gQ09ESU5HX1NUWUxFLCBidXQgaXQgd2FzIG5vdCByZWFsbHkgc3VjY2Vzc2Z1
bCBhbmQgbGVkIHRvIG1hbnkgY2hhbmdlcywNCm1vcmUgdGhhbiBub3cuDQoNCkkgdGhpbmsgd2Ug
bmVlZCB0byBjb2xsZWN0IG1haW50YWluZXJzIHZpZXcgb24gZXZlcnkgW25vdCBzcGVjaWZpZWRd
IGNvbmZpZ3VyYWJsZQ0KYW5kIHNlZSB3aGljaCBvbmUgYXJlIGFncmVlZCBieSB0aGUgbWFqb3Jp
dHksIGFuZCB3aGljaCBvbmUgYXJlIG1vcmUgY29udHJvdmVyc2lhbC4NCg0KSeKAmXZlIHB1c2hl
ZCB0aGlzIHNlcmllIGFsc28gdG8gbWFrZSB0aGUgY29tbXVuaXR5IGFibGUgdG8gc2VlIHRoZSBv
dXRwdXQgYW5kIHJhaXNlDQppc3N1ZXMgb3IgYmVoYXZpb3VyIHRoYXQgYXJlIG5vdCByaWdodCwg
dG8gc2VlIGlmIHdlIGNhbiBkbyBzb21ldGhpbmcgb3IgaWYgdGhlcmUgaXMgbm8NCmFncmVlbWVu
dCBhbmQgdGhlIHRvb2wgd291bGQgYmUgcHV0IG9uIGhvbGQuDQoNCkFueXdheSBJ4oCZbSBhd2Fy
ZSB0aGF0IHdlIGFyZSBnb2luZyBpbnRvIGEgcGVyaW9kIHRoYXQgd2lsbCBiZSBwcmV0dHkgYnVz
eSBiZXR3ZWVuDQphbm51YWwgbGVhdmVzIGFuZCB0aGUgcmVsZWFzZSwgc28gSeKAmW0gb2sgdG8g
cGluZyB0aGlzIGRpc2N1c3Npb24gYWZ0ZXIgdGhlIHJlbGVhc2UuDQoNCkNoZWVycywNCkx1Y2EN
Cg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 17:06:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 17:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581246.909857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTmd1-0004Jd-GK; Wed, 09 Aug 2023 17:05:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581246.909857; Wed, 09 Aug 2023 17: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 1qTmd1-0004JW-Dl; Wed, 09 Aug 2023 17:05:47 +0000
Received: by outflank-mailman (input) for mailman id 581246;
 Wed, 09 Aug 2023 17:05: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 1qTmcz-0004JM-Kx; Wed, 09 Aug 2023 17:05: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 1qTmcz-0006jG-GR; Wed, 09 Aug 2023 17:05: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 1qTmcz-0001Ar-6y; Wed, 09 Aug 2023 17:05:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTmcz-0004WL-6Z; Wed, 09 Aug 2023 17:05: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=r4DQ8tZvMHFPFVOjgBK48g9Luxe6F5vdK6bPR3Yr5N0=; b=Yt09+zCObIHEJHByZFGRlCODmb
	xLi09hSymQV6eeQAdWhGj+yVP+JMB/VmwlF26xEl+3j60ehSJG3YxGcQ6c0Y6UZGP6j4PVDNHrqEz
	nSg7OXrBUgu1Qlpxnm2ljZG1I4SVEn0zRcMYXw3djRISnR3Mfl/Q495HII58X+cXKJgE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182249-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182249: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=991515a0583f65a64b3a6fa354409c64e670a762
X-Osstest-Versions-That:
    ovmf=136931c4dbf532ec913b68673c91b4285e63464b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 17:05:45 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 991515a0583f65a64b3a6fa354409c64e670a762
baseline version:
 ovmf                 136931c4dbf532ec913b68673c91b4285e63464b

Last test of basis   182245  2023-08-09 06:10:51 Z    0 days
Testing same since   182249  2023-08-09 15:12:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Brian J. Johnson <brian.johnson@hpe.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Kenneth Lautner <klautner@microsoft.com>
  Yi Li <yi1.li@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   136931c4db..991515a058  991515a0583f65a64b3a6fa354409c64e670a762 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 17:34:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 17:34:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581267.909868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTn4e-0007ob-QG; Wed, 09 Aug 2023 17:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581267.909868; Wed, 09 Aug 2023 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 1qTn4e-0007oU-Mo; Wed, 09 Aug 2023 17:34:20 +0000
Received: by outflank-mailman (input) for mailman id 581267;
 Wed, 09 Aug 2023 17:34: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 1qTn4d-0007oO-Mq
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 17:34: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 1qTn4c-0007Mm-Uv; Wed, 09 Aug 2023 17:34:18 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.102]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTn4c-0007dh-Kh; Wed, 09 Aug 2023 17:34:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dvABPzMPqixvm+5Bz9qkLEvwpUhsKZKnJlXFqeYdjBQ=; b=Ic2u3D5/FNJZEp52KnUH8tDh91
	TF5hR62ME40gxBj6ebIPUVCJXjAWEbDlaQdDDvUhAPqQQ3mg7+AiKLQRD4GfkbtfDo+bMV7EVi8TH
	NVOa+klOzAU7XYfG3rQNMxIKiVwUL2WeW9T26nPnnDqHJ/MSFh/1v+/F+sIstcoaoC7I=;
Message-ID: <79702aee-e02e-4503-a808-288ba00b8df3@xen.org>
Date: Wed, 9 Aug 2023 18:34:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of MPU
 work
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <4f43b069-cb78-f356-628e-29b8ca8e595a@xen.org>
 <AS8PR08MB7991DDC48815259C6B857E22920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991DDC48815259C6B857E22920BA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/08/2023 04:59, Henry Wang wrote:
> Hi Julien,

Hi Henry,

-----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH v4 00/13] xen/arm: Split MMU code as the prepration of
>> MPU work
>>
>> Hi,
>>
>> On 01/08/2023 04:44, Henry Wang wrote:
>>> Based on the discussion in the Xen Summit [1], sending this series out after
>>> addressing the comments in v3 [2] as the preparation work to add MPU
>> support.
>>>
>>> Mostly code movement, with some of Kconfig and build system (mainly
>> Makefiles)
>>> adjustment. No functional change expected.
>>
>> I can't really review this series without knowing how this will
>> integrate with the rest of the MPU work.
> 
> Sorry about it, I should have asked before sending the series.
> 
>> Can you at least provide a tree
>> with all the patches applied (including the MPU one)?
> 
> See [1] for the full single core MPU implementation which I've verified
> locally about the MMU and MPU single core Linux boot on FVP, and
> looks like Gitlab is also not complaining [2].

Thanks for the link!

> 
> Note that I've addressed comments from you and Ayan in v3 about the
> MMU/MPU helpers duplication and the arm32/arm64 split work. I didn't
> address the comment in [3] about the RES0 stuff, but I think this is not
> related to the MMU split series I sent yesterday to mailing list and the
> formal v4 MPU work sent to the mailing list will contain the fix for this
> comment.

Agree, the RES0 bit is MPU specific.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 18:38:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 18:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581273.909878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTo4t-00062r-Iz; Wed, 09 Aug 2023 18:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581273.909878; Wed, 09 Aug 2023 18:38:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTo4t-00062k-Fn; Wed, 09 Aug 2023 18:38:39 +0000
Received: by outflank-mailman (input) for mailman id 581273;
 Wed, 09 Aug 2023 18:38: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 1qTo4s-00062a-3T; Wed, 09 Aug 2023 18:38: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 1qTo4r-0000M0-Uq; Wed, 09 Aug 2023 18:38: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 1qTo4r-0004Bj-G6; Wed, 09 Aug 2023 18:38:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTo4r-00024K-Ff; Wed, 09 Aug 2023 18:38: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=A4Ce1BtWmGboiX1DTClxeWZe2Gd7lCa+9I6ZZA/Pyjo=; b=BNImc1CRr//NIqFocJJMmgR+fx
	zEIAgdpru31YECgi4mdpKTKEyKMpIvWsUxKhzCP1545jsSIkisk5aKi66vatffdfdnsXSj40Nutth
	r4YhAaOUNE4KceiHiJRcKYuBjrjhRn7baF40RqvWiZJ3PJ8TZWXZgFA0hPP9VwDb8Pgk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182250-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182250: 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=236fc9fdf97f4e7c64824ab793e8dca30dd54ffb
X-Osstest-Versions-That:
    xen=15601eed05922c0df5b59d5fb3f9ec6d85e57a00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 18:38:37 +0000

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

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                  236fc9fdf97f4e7c64824ab793e8dca30dd54ffb
baseline version:
 xen                  15601eed05922c0df5b59d5fb3f9ec6d85e57a00

Last test of basis   182248  2023-08-09 12:04:01 Z    0 days
Testing same since   182250  2023-08-09 16:02:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  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
   15601eed05..236fc9fdf9  236fc9fdf97f4e7c64824ab793e8dca30dd54ffb -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 18:42:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 18:42:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581281.909888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTo8C-0007YN-7O; Wed, 09 Aug 2023 18:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581281.909888; Wed, 09 Aug 2023 18:42:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTo8C-0007YG-44; Wed, 09 Aug 2023 18:42:04 +0000
Received: by outflank-mailman (input) for mailman id 581281;
 Wed, 09 Aug 2023 18:42: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=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTo8A-0007Y8-6g
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 18:42:02 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b779173-36e4-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 20:41:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4271482854AF;
 Wed,  9 Aug 2023 13:41:57 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id i-jk6jubwgRR; Wed,  9 Aug 2023 13:41:55 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 75239828553F;
 Wed,  9 Aug 2023 13:41: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 KFN2J-Za5LsL; Wed,  9 Aug 2023 13:41: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 0A37282854AF;
 Wed,  9 Aug 2023 13:41: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: 6b779173-36e4-11ee-b281-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 75239828553F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691606515; bh=mcGoxV1b2BeXAtbsXWVL+8EprU7jc+Wwc/qEI47/3sc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=X1QZmlzQMM7v5gARlIXQKWy1MFz/43p2uwn9bm/6tF/uGhYoFJVcY5zs9Q/M1bCCb
	 WvU5JlPEDjbcQHzhhAK5VrSOUwyXjYWnTrfp1RVripE093Fmlf8ayVc1/99cTsbF5c
	 iuK9oos3wK81VSaOremfnaUZAW4Cd75h/jN82lsA=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <21365276-8338-12b9-b3b8-2a222e7eceef@raptorengineering.com>
Date: Wed, 9 Aug 2023 13:41:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 5/9] xen/ppc: Define minimal stub headers required for
 full build
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <9cd545a4a9ef55d06ea0b81044e22f64ee42823e.1691016993.git.sanastasio@raptorengineering.com>
 <aaabc5d0-aa69-5c30-8e49-635537868346@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <aaabc5d0-aa69-5c30-8e49-635537868346@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/8/23 4:12 AM, Jan Beulich wrote:
> On 03.08.2023 01:03, Shawn Anastasio wrote:
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/altp2m.h
>> @@ -0,0 +1,39 @@
>> +/*
>> + * Alternate p2m
>> + *
>> + * Copyright (c) 2014, Intel Corporation.
>> + *
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms and conditions of the GNU General Public License,
>> + * version 2, as published by the Free Software Foundation.
>> + *
>> + * This program is distributed in the hope it will be useful, but WITHOUT
>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>> + * more details.
>> + *
>> + * You should have received a copy of the GNU General Public License along with
>> + * this program; If not, see <http://www.gnu.org/licenses/>.
>> + */
> 
> Please use an SPDX header instead in new code. I also wonder about the
> Intel copyright. I realize it's that way in the Arm header that you
> apparently copied, but even there it's pretty odd. I don't think such
> a pair of stub functions is reasonably copyrightable.

Yes, I agree the copyright is a bit strange and was likely just copied
on the Arm side from the original x86 header. Since I'm not copying any
actually implemented code, I think it's safe to drop this in favor of
just a standard SPDX header. I'll make that change.

>> +#ifndef __ASM_PPC_ALTP2M_H__
>> +#define __ASM_PPC_ALTP2M_H__
>> +
>> +#include <xen/sched.h>
> 
> I don't think this is needed here (nor in Arm's original). All you
> need are forward decls of struct domain and struct vcpu. And
> xen/bug.h plus xen/types.h.
>

Fair enough -- and bug.h seems to already include types.h for us, so we
only need the one include plus the two forward declarations. I'll update
this.

>> --- a/xen/arch/ppc/include/asm/bug.h
>> +++ b/xen/arch/ppc/include/asm/bug.h
>> @@ -4,6 +4,7 @@
>>  #define _ASM_PPC_BUG_H
>>  
>>  #include <xen/stringify.h>
>> +#include <asm/processor.h>
>>  
>>  /*
>>   * Power ISA guarantees that an instruction consisting of all zeroes is
>> @@ -15,4 +16,10 @@
>>  
>>  #define BUG_FN_REG r0
>>  
>> +#define BUG() do { \
>> +    die(); \
>> +} while (0)
> 
> This looks like it's temporary. I think any construct that later needs
> updating wants marking in some common way (such that it's easy to grep
> for items left to be dealt with; you have such a comment in e.g.
> asm/event.h). Of course if an entire header consists of _only_ stubs,
> perhaps a single such comment would suffice.

Yes, agreed that this macro deserves a TODO comment.

As for the rest of the stub functions that this patch implements, are
you suggesting that each file with stubs should contain a similar
comment? Another alternative that I thought of would be to define a
BUG_UNIMPLEMENTED() macro or similar and call that inside of all the
stub functions.

>> --- a/xen/arch/ppc/include/asm/cache.h
>> +++ b/xen/arch/ppc/include/asm/cache.h
>> @@ -3,4 +3,6 @@
>>  #ifndef _ASM_PPC_CACHE_H
>>  #define _ASM_PPC_CACHE_H
>>  
>> +#define __read_mostly __section(".data.read_mostly")
> 
> Not something for you to do, but we really want to move this to
> xen/cache.h.
> 

Perfect, will drop this from my series.

>> diff --git a/xen/arch/ppc/include/asm/desc.h b/xen/arch/ppc/include/asm/desc.h
>> new file mode 100644
>> index 0000000000..e69de29bb2
> 
> Along the lines of the above - common code should not include this
> header, and Arm shouldn't need one either. I'll see if I can sort
> this.
>

Ditto.

>> --- a/xen/arch/ppc/include/asm/mm.h
>> +++ b/xen/arch/ppc/include/asm/mm.h
>> @@ -1,19 +1,270 @@
>>  #ifndef _ASM_PPC_MM_H
>>  #define _ASM_PPC_MM_H
>>  
>> +#include <public/xen.h>
>> +#include <xen/pdx.h>
>> +#include <xen/types.h>
>>  #include <asm/config.h>
>>  #include <asm/page-bits.h>
>>  
>> +void setup_initial_pagetables(void);
>> +
>> +extern unsigned long total_pages;
>> +
>>  #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))
>>  
>>  #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
>> -#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START)
>> +#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
>>  
>>  /* Convert between Xen-heap virtual addresses and machine addresses. */
>>  #define __pa(x)             (virt_to_maddr(x))
>>  #define __va(x)             (maddr_to_virt(x))
>>  
>> -void setup_initial_pagetables(void);
>> +/* Convert between Xen-heap virtual addresses and machine frame numbers. */
>> +#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
>> +#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
>> +
>> +/* Convert between Xen-heap virtual addresses and page-info structures. */
>> +static inline struct page_info *virt_to_page(const void *v)
>> +{
>> +    BUG();
>> +    return NULL;
>> +}
>> +
>> +/*
>> + * 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)
>> +
>> +#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.                 */
>> +
>> + /* 2-bit count of uses of this frame as its current type. */
>> +#define PGT_count_mask    PG_mask(3, 3)
>> +
>> +/* 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 static memory */
>> +#define PGC_static     0
> 
> You don't need this.
> 

Will drop.

>> +/* 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)
>> +/* Page is not reference counted */
>> +#define _PGC_extra        PG_shift(10)
>> +#define PGC_extra         PG_mask(1, 10)
>> +
>> +/* Count of references to this frame. */
>> +#define PGC_count_width   PG_shift(10)
>> +#define PGC_count_mask    ((1UL<<PGC_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
>> +
>> +#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(&_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 max_page ((unsigned long )0)
> 
> It's clear this is temporary, but it would still be nice if you could
> omit stray blanks.
> 

With your max_page/total_pages common patch I can drop this entirely.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/monitor.h
>> @@ -0,0 +1,48 @@
>> +/* Derived from xen/arch/arm/include/asm/monitor.h */
>> +#ifndef __ASM_PPC_MONITOR_H__
>> +#define __ASM_PPC_MONITOR_H__
>> +
>> +#include <public/domctl.h>
>> +
>> +#include <xen/sched.h>
>> +#include <public/domctl.h>
> 
> Judging from the contents of the file, you don't need either (and you
> certainly don't need public/domctl.h twice). Only xen/types.h looks to
> be needed right now.

The implementation of `arch_monitor_get_capabilities` uses XEN_DOMCTL_*
macros defined in public/domctl.h. xen/errno.h is also needed for
EOPNOTSUPP (it seemed to be getting included by sched.h). I'll drop the
sched.h include as well as the duplicate public/domctl.h include though.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/numa.h
>> @@ -0,0 +1,26 @@
>> +#ifndef __ASM_PPC_NUMA_H__
>> +#define __ASM_PPC_NUMA_H__
>> +
>> +#include <xen/types.h>
>> +#include <xen/mm.h>
>> +
>> +typedef uint8_t nodeid_t;
>> +
>> +/* Fake one node for now. See also node_online_map. */
>> +#define cpu_to_node(cpu) 0
>> +#define node_to_cpumask(node)   (cpu_online_map)
>> +
>> +/*
>> + * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
>> + * is required because the dummy helpers are using it.
>> + */
>> +extern mfn_t first_valid_mfn;
> 
> At least "Arm" wants replacing in the comment, I think.
>

Good catch.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/percpu.h
>> @@ -0,0 +1,26 @@
>> +#ifndef __PPC_PERCPU_H__
>> +#define __PPC_PERCPU_H__
>> +
>> +#ifndef __ASSEMBLY__
>> +
>> +#include <xen/types.h>
> 
> Looks like nothing in the file requires this.
> 

You are correct. I'll drop it.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/procarea.h
>> @@ -0,0 +1,38 @@
>> +/*
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> 
> SPDX again please (and there's at least one more below).
>

Will fix.

>> + * Copyright (C) IBM Corp. 2005
>> + *
>> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
>> + */
>> +
>> +#ifndef _ASM_PROCAREA_H_
>> +#define _ASM_PROCAREA_H_
>> +
>> +#include <xen/types.h>
> 
> Again nothing looks to require this.
> 

Will remove.

>> +struct vcpu;
>> +struct gdb_state;
> 
> The later of these is unused below. The former is used, but in a way
> that would require a forward decl only in C++.
>

I'll drop them both.

>> --- a/xen/arch/ppc/include/asm/processor.h
>> +++ b/xen/arch/ppc/include/asm/processor.h
>> @@ -110,6 +110,10 @@
>>  /* Macro to adjust thread priority for hardware multithreading */
>>  #define HMT_very_low()  asm volatile ( "or %r31, %r31, %r31" )
>>  
>> +/* TODO: This isn't correct */
>> +#define cpu_to_core(_cpu)   (0)
>> +#define cpu_to_socket(_cpu) (0)
> 
> As mentioned elsewhere, please try to avoid leading underscores in
> macro parameter names (or macro local variables, just to mention
> it again in this context).
> 

Will fix.

>> @@ -175,6 +179,8 @@ static inline void noreturn die(void)
>>          HMT_very_low();
>>  }
>>  
>> +#define cpu_relax() asm volatile ( "or %r1, %r1, %r1; or %r2, %r2, %r2" )
> 
> Just like HMT_very_low() this could do with a comment explaining
> the "interesting" ORs (until such time when the assembler supports
> suitable mnemonics).
> 
>> --- a/xen/arch/ppc/include/asm/regs.h
>> +++ b/xen/arch/ppc/include/asm/regs.h
>> @@ -23,6 +23,8 @@
>>  #ifndef _ASM_REG_DEFS_H_
>>  #define _ASM_REG_DEFS_H_
>>  
>> +#include <xen/types.h>
>> +
>>  /* Special Purpose Registers */
>>  #define SPRN_VRSAVE 256
>>  #define SPRN_DSISR  18
> 
> Why would this #include be needed here all of the sudden?
> 

This was a stray change I forgot to remove. Will fix.

>> --- a/xen/arch/ppc/include/asm/system.h
>> +++ b/xen/arch/ppc/include/asm/system.h
>> @@ -1,6 +1,247 @@
>> +/*
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
>> + *
>> + * Copyright (C) IBM Corp. 2005
>> + * Copyright (C) Raptor Engineering LLC
>> + *
>> + * Authors: Jimi Xenidis <jimix@watson.ibm.com>
>> + *          Shawn Anastasio <sanastasio@raptorengineering.com>
>> + */
>> +
>>  #ifndef _ASM_SYSTEM_H_
>>  #define _ASM_SYSTEM_H_
>>  
>> -#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
>> +#include <xen/config.h>
> 
> As mentioned before - any such #include you find is a leftover.

Will update.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 19:51:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 19:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581289.909900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpDL-0006We-86; Wed, 09 Aug 2023 19:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581289.909900; Wed, 09 Aug 2023 19:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpDL-0006WX-5V; Wed, 09 Aug 2023 19:51:27 +0000
Received: by outflank-mailman (input) for mailman id 581289;
 Wed, 09 Aug 2023 19: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpDK-0006WR-6P
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 19:51:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d80763a-36ee-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 21:51:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4DD3563D2A;
 Wed,  9 Aug 2023 19:51:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCD31C433C8;
 Wed,  9 Aug 2023 19:51:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d80763a-36ee-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691610680;
	bh=n7HxIyR3ae7w/kdJbvhrByOAckYn8xYNfuHb2yW74Eo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=i0DfBHWmBP1cB2JvGyBPMQY+ZroqyFkuREBbr86B2Q5O5uGqNRkOKfMxEavWN7ggC
	 itIQ6cHJaYfEzhgKDOcO9tg6sq+fqHzkJZdIH76rszvmxeKxjkEF0JwNAhnGcbTmYI
	 SCt83ImNSJuPIWHjR93NsEhlfiIyAiBQQhpxVa59g72Us+cayUPKvaBIHOAMSH/rsc
	 PxfW/EOOiHNjpj+vXZfalC7TFQSWnCGtZ+z+G++aAHBi6K0knnVgNtWnJctgXMV0ie
	 7O9JNkxwqcaRJUIXAuCVtq72sDZ+Q9NgCtZP1X8oA8lNTgHH2Rog8XVktFcQUPq/D+
	 qsXIJ/Ob41VQA==
Date: Wed, 9 Aug 2023 12:51:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, rahul.singh@arm.com, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, george.dunlap@citrix.com, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com
Subject: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
In-Reply-To: <20230808080010.3858575-1-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Adding hyperlaunch and x86 maintainers.


Hi Luca,

This patch series is very timely. You might not have realized but we
were just discussing with the hyperlaunch guys to move dom0less code to
common.

Your series is a great step in the right direction. However, we don't
want to move the dom0less code twice because it would make 'git blame'
very hard to use.

I wonder if I could ask you to move the code to xen/common/ instead. I
am not asking you to make it buildable on x86, as that would take more
work and also something along the lines of this patch series from
Christopher:
https://patchew.org/Xen/20230701071835.41599-1-christopher.w.clark@gmail.com/

The new code could be protected by CONFIG_DOM0LESS, and CONFIG_DOM0LESS
could only be selectable on ARM, not on x86.

Would you be OK with doing some extra work to move it to xen/common
instead?

Would the x86 maintainers be OK with it too? Of course further changes
will be needed to make it useable on x86, but looking at the series from
Christopher, the two sets of internal interfaces (dom0less/ARM and
hyperlaunch/x86) are very much aligned and similar already.

Cheers,

Stefano


On Tue, 8 Aug 2023, Luca Fancellu wrote:
> This serie aims to add more modularity to some feature that can be excluded
> without issues from the build.
> 
> The first patch is already reviewed.
> 
> Luca Fancellu (5):
>   arm/gicv2: make GICv2 driver and vGICv2 optional
>   xen/arm: Add asm/domain.h include to kernel.h
>   arm/dom0less: put dom0less feature code in a separate module
>   xen/arm: Move static memory build code in separate modules
>   arm/dom0less: introduce Kconfig for dom0less feature
> 
>  xen/arch/arm/Kconfig                      |   28 +
>  xen/arch/arm/Makefile                     |    7 +-
>  xen/arch/arm/bootfdt.c                    |  161 +-
>  xen/arch/arm/dom0less-build.c             | 1086 ++++++
>  xen/arch/arm/domain_build.c               | 4096 ++++++---------------
>  xen/arch/arm/efi/efi-boot.h               |    4 +
>  xen/arch/arm/gic-v3.c                     |    4 +
>  xen/arch/arm/include/asm/dom0less-build.h |   35 +
>  xen/arch/arm/include/asm/domain_build.h   |   33 +
>  xen/arch/arm/include/asm/kernel.h         |    1 +
>  xen/arch/arm/include/asm/setup.h          |    1 -
>  xen/arch/arm/include/asm/static-memory.h  |   50 +
>  xen/arch/arm/include/asm/static-shmem.h   |   72 +
>  xen/arch/arm/setup.c                      |   58 +-
>  xen/arch/arm/static-memory.c              |  294 ++
>  xen/arch/arm/static-shmem.c               |  515 +++
>  xen/arch/arm/vgic.c                       |    2 +
>  xen/arch/arm/vgic/Makefile                |    4 +-
>  18 files changed, 3357 insertions(+), 3094 deletions(-)
>  create mode 100644 xen/arch/arm/dom0less-build.c
>  create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>  create mode 100644 xen/arch/arm/include/asm/static-memory.h
>  create mode 100644 xen/arch/arm/include/asm/static-shmem.h
>  create mode 100644 xen/arch/arm/static-memory.c
>  create mode 100644 xen/arch/arm/static-shmem.c
> 
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581296.909910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpPW-0008B1-B0; Wed, 09 Aug 2023 20:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581296.909910; Wed, 09 Aug 2023 20:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpPW-0008Au-8L; Wed, 09 Aug 2023 20:04:02 +0000
Received: by outflank-mailman (input) for mailman id 581296;
 Wed, 09 Aug 2023 20:04:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpPV-0008Ao-2y
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:04:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfe62066-36ef-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:03:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D1C63647D2;
 Wed,  9 Aug 2023 20:03:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1061C433C7;
 Wed,  9 Aug 2023 20:03: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: dfe62066-36ef-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691611436;
	bh=yaf3QiM3FCmuwE0+FvxSEerQ+2mm8mVn1PCR4QVEfYs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fG7aFgxXUbiNctTP3eoqOuNI24q8lF1i9MNlEjqAPFKyAit+ApDllrhr0RpeLxmp8
	 rjZQu7BwCLMMF/Hkun2S4IUEJ+0MMBl4+TiiQynkk8tNiyQxe85s7OkyZwvm1NCvnn
	 bMI5FDRB+eaSYLhV0XDqLL+0sSuxHFH2ITzsAU8T1Qnk8t8Y9hpbwg2agRz/BsH++j
	 guG45CHu5VM6KLEuf+OAXS4NkPJTNaROxsjtxiBJlmMarBJpRKNJd4EeRspts6IFuH
	 yz7ztUvwFr5tI7E/yTCzpARl9+RS/LiOxJ2CQawHiW3kNOxwmxug4n/aDP2R2cKVto
	 pcDVeuuLXFodA==
Date: Wed, 9 Aug 2023 13:03:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>, 
    "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>, 
    "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH 1/8] arm/efi: address MISRA C:2012 Rule 8.4
In-Reply-To: <D4DD2E2D-85FC-4614-BB4E-D72FF3B0F58D@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308091303450.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <4d087a54edb3f92e9271e3d01c1abebf00d3e298.1691575243.git.nicola.vetrini@bugseng.com> <D4DD2E2D-85FC-4614-BB4E-D72FF3B0F58D@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1712112080-1691611436=:2127516"

  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-1712112080-1691611436=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 9 Aug 2023, Luca Fancellu wrote:
> > On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
> > 
> > the function 'fdt_add_uefi_nodes' can be defined static, as its
> > only callers are within the same file. This in turn avoids
> > violating Rule 8.4 because no declaration is present.
> > 
> > No functional change.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> With
> 
> Fixes: 6d70ea10d49f ("Add ARM EFI boot supportâ€)

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-1712112080-1691611436=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:05:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581300.909921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpQS-0000IZ-JV; Wed, 09 Aug 2023 20:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581300.909921; Wed, 09 Aug 2023 20:05:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpQS-0000IS-Gg; Wed, 09 Aug 2023 20:05:00 +0000
Received: by outflank-mailman (input) for mailman id 581300;
 Wed, 09 Aug 2023 20:04:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpQR-00009o-Lj
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:04: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 03ddfbb9-36f0-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:04:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B7AD1647E7;
 Wed,  9 Aug 2023 20:04:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 861B4C433C8;
 Wed,  9 Aug 2023 20:04:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03ddfbb9-36f0-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691611497;
	bh=OlA84lxKgd9t+5y59oDJoB/kbiieGIrCsjl/EpEXR5c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=P17sIxGZBrYK2FTKrCRgiHKf7D1szRcGQF/gnPtgA4mYMUjOw5H4wCtyHMcPoBPWP
	 JMs1AgyC+pVtANDeW8DppfwmH+m8DFWbmqlDR7W6k74Uew0PkQ2XBPGUUnSG4As7BM
	 H6FpNhzywMz/KN+3EI7jFL8EaGd9LHJIPUguaSPEmtzW/exRyvDLBnfW9/Hlyc5RaN
	 0fq0dgYx+6JozpkHWCeC/6y94J/8fZzcD2YctksIKA3lGUewwwGw/g1DQ7XTqPqFNI
	 fmHblEAYR5Pse02brwThki+MBq8AjTvYyPi/HJoeAx9QcydRZ0fTOe0vyfqHNk0IoM
	 wnTMSAQKeStVQ==
Date: Wed, 9 Aug 2023 13:04:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>, 
    "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>, 
    "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>, 
    "consulting@bugseng.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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 2/8] xen/memory: address MISRA C:2012 Rule 8.4
In-Reply-To: <2AD1EA83-AE7F-485C-ABFA-D285B4BAB1CC@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308091304410.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <844e7bf57c2eb7b20d8b1f81a7730a7612f1b6ac.1691575243.git.nicola.vetrini@bugseng.com> <2AD1EA83-AE7F-485C-ABFA-D285B4BAB1CC@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-51032565-1691611497=:2127516"

  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-51032565-1691611497=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 9 Aug 2023, Luca Fancellu wrote:
> > On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
> > 
> > The function 'ioreq_server_max_frames' can be defined static,
> > as its only uses are within the same file. This in turn avoids
> > violating Rule 8.4 because no declaration is present.
> > 
> > No functional change.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Makes sense,
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

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


> Maybe itâ€™s also better adding this:
> Fixes: 9244528955de ("xen/memory: Fix acquire_resource size semanticsâ€)
> 
> If the maintainers agree

Yes
--8323329-51032565-1691611497=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:06:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:06:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581304.909931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpRt-0000vd-2T; Wed, 09 Aug 2023 20:06:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581304.909931; Wed, 09 Aug 2023 20:06:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpRs-0000vW-VQ; Wed, 09 Aug 2023 20:06:28 +0000
Received: by outflank-mailman (input) for mailman id 581304;
 Wed, 09 Aug 2023 20:06:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpRq-0000vJ-Vw
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:06:26 +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 371a5271-36f0-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:06:24 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 918D7647ED;
 Wed,  9 Aug 2023 20:06:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41C54C433C7;
 Wed,  9 Aug 2023 20:06: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: 371a5271-36f0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691611583;
	bh=An2eScnbVLdGjB9nYSfhVdnbAk6Pvp4KnDnEvyDLZyc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tuk+Xz+OSmrlQe2cFnJuzR3JDey2MSTathw77vje9fYaAT+dqzBATvQkKltfHRgZj
	 JSl6DOyUebCnM1P7qhCrxVcG/Fum7GinpjdpnZxQXgcAOgK9v2BuBYoTeImzDMgW6A
	 TN6KJ2lyDEeCukqpEH1fK+SJfsjQgBTUKZva7Xp+peOxN7iRu897MGIxXXyaFdMR1J
	 uS6zqu1DFTF/ne+wh7OiaKG+EGkMYLitqY8RD+48Y0ZsoQbbZLp2Ti3OEfKkNvWvGj
	 bZ3NARxXVmItzWIjtnelsB3I2zvNJMjX3hYRKipOHHFA4YkN30tHz6sY/0z8fTcmk/
	 bIyovvv6y0mjg==
Date: Wed, 9 Aug 2023 13:06:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>, 
    "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>, 
    "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH 3/8] xen: address MISRA C:2012 Rule 8.4
In-Reply-To: <771C6AF9-8BB8-466C-B9A4-1745016BEB1E@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308091306120.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <c010bbb270ff3b546d4790487cf973413ca2af26.1691575243.git.nicola.vetrini@bugseng.com> <F44603D5-6DB1-4266-AD2A-482AD481E9C2@arm.com> <041f2137-8a90-79f6-3677-f764cb1b6656@suse.com>
 <771C6AF9-8BB8-466C-B9A4-1745016BEB1E@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 9 Aug 2023, Luca Fancellu wrote:
> > On 9 Aug 2023, at 15:06, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 09.08.2023 15:50, Luca Fancellu wrote:
> >>> On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
> >>> 
> >>> The variable 'saved_cmdline' can be defined static,
> >>> as its only uses are within the same file. This in turn avoids
> >>> violating Rule 8.4 because no declaration is present.
> >>> 
> >>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> >>> ---
> >>> xen/common/kernel.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>> 
> >>> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> >>> index fb919f3d9c..52aa287627 100644
> >>> --- a/xen/common/kernel.c
> >>> +++ b/xen/common/kernel.c
> >>> @@ -28,7 +28,7 @@ CHECK_feature_info;
> >>> 
> >>> enum system_state system_state = SYS_STATE_early_boot;
> >>> 
> >>> -xen_commandline_t saved_cmdline;
> >>> +static xen_commandline_t saved_cmdline;
> >> 
> >> I see this line was touched by fa97833ae18e4a42c0e5ba4e781173457b5d3397,
> >> have you checked that making it static was not affecting anything else?
> > 
> > The code requiring the symbol to be non-static went away in e6ee01ad24b6
> > ("xen/version: Drop compat/kernel.c"). That's where the symbol would have
> > wanted to become static. But that was very easy to overlook.
> 
> Yes you are right Jan,
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> Possibly with the Fixes tag

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:10:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581311.909941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpVU-0002PI-GX; Wed, 09 Aug 2023 20:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581311.909941; Wed, 09 Aug 2023 20: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 1qTpVU-0002PB-Df; Wed, 09 Aug 2023 20:10:12 +0000
Received: by outflank-mailman (input) for mailman id 581311;
 Wed, 09 Aug 2023 20: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpVT-0002P5-KC
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:10:11 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd0f2e16-36f0-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:10:09 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5845A6482B;
 Wed,  9 Aug 2023 20:10:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E41BCC433CA;
 Wed,  9 Aug 2023 20:10: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: bd0f2e16-36f0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691611807;
	bh=z2Nl5yr8cnBc53hLZ3OJmUrtXEiHAEXf0P6LZhDoq5g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jKYf0vQ+8kd/83X/+uEt6Dp1f0R8WXHXl2nxSd0nBiHYNkDWyDpv+vKlEglvIKvZZ
	 PTXunhxkeFWlsrB7NXIPhHKsT3ipXiNSJw2Sulhl6ex0wOgslLhLyCqZ0YwzQYMG2E
	 xD8aNfILityl50phbZsqRgAMNEsLjpk5kwMaoF6mvyr3VRynCbKvMh3oMG1AXmwuhg
	 x/SltNIL1XV7uJcZWUAwh9OYkcxdAl6TI4ny/T1QlNjIJ1eDmOwnKlRjQLklx6sjR2
	 H31O4F8yZE67wDKU/KxEDr3GTYhDf+pWTVmrQL1rZZigq54nUVkIUbE9qJ/V2gvqNz
	 h8NOIHjkJphKg==
Date: Wed, 9 Aug 2023 13:10:04 -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, 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>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 4/8] xen/arm: address MISRA C:2012 Rule 8.4
In-Reply-To: <cfbc7569-3714-2200-054c-49ba593d6903@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308091309200.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <c2b0bb92a246e5cf149b1ec81c6ed635a275f9df.1691575243.git.nicola.vetrini@bugseng.com> <cfbc7569-3714-2200-054c-49ba593d6903@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, 9 Aug 2023, Jan Beulich wrote:
> On 09.08.2023 13:02, Nicola Vetrini wrote:
> > 'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
> > the declaration of 'arch_get_xen_caps' to be visible when
> > defining the function.
> > 
> > The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
> > to allow the declaration of 'udelay' to be visible.
> > 
> > At the same time, a declaration for 'get_sec' is added in
> > 'xen/include/xen/time.h' to be available for every call site
> > (in particular cper.h).
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > ---
> >  xen/arch/arm/setup.c   | 1 +
> >  xen/arch/arm/time.c    | 1 +
> >  xen/include/xen/cper.h | 3 +--
> >  xen/include/xen/time.h | 1 +
> >  4 files changed, 4 insertions(+), 2 deletions(-)
> 
> I would have almost put this off as Arm-only, but then saw this diffstat.
> How come you consider cper.h Arm-related? This is used only by APEI source
> files, which in turn are used only by x86 afaics. So I think you want to
> split off the movement of the get_sec() declaration.
> 
> As to title and description (perhaps affecting more than just this patch):
> Failing to have declarations in scope where definitions appear is an at
> least latent bug. We fix these as we find them anyway, so Misra is
> secondary here. Hence I'd like to suggest that you declare any such
> change as an actual bugfix, ideally including a Fixes: tag. It is of
> course fine to mention that this then also addresses Misra rule 8.4.

As you split the patches moving cper.h out, and fixing the commit
message, please add my Reviewed-by for the setup.c/time.c/time.h
changes.


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:11:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581315.909951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpX5-0002xF-SL; Wed, 09 Aug 2023 20:11:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581315.909951; Wed, 09 Aug 2023 20:11: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 1qTpX5-0002x8-PG; Wed, 09 Aug 2023 20:11:51 +0000
Received: by outflank-mailman (input) for mailman id 581315;
 Wed, 09 Aug 2023 20:11:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpX4-0002x2-HN
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:11: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 f80fb126-36f0-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:11:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 497D464823;
 Wed,  9 Aug 2023 20:11:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 478B5C433C9;
 Wed,  9 Aug 2023 20:11: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: f80fb126-36f0-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691611906;
	bh=AprQhLEFd+wp1TpuyZZ6oKaapiMpY5kk9+185VXeksk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Pkafl/rRgn8UgvSziOw/RoD0cezIoL5TsuhXlKIPgzmHmd0mgZwG2bNz9e0q0zHKw
	 fQey6nBwSO9KgYYqJuiVDuIjXj7Vu7fE6SpT4b+qe4OALvlWLniLVgRfYpHj+GYqR0
	 458tVnh0EF91h1R+xo2bYyHAGm68HFde5P1r0ASz0QJLx/1rIeU2Or06ZAzOHOaDoo
	 QA1qVUXBjFgFr/4tuP9GeE/12k0mWD4e8KfgO+1yBAivsUsUQgLa5YHg7bydsrwQSt
	 BvKX7t0HjDiY0AhGy4HJoypEbK12O18rEvy2lzOhbyQAASMDIBVolzLNw4kjB5Xv4Z
	 u1sLs30CvMnfw==
Date: Wed, 9 Aug 2023 13:11:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>, 
    "xenia.ragiadakou@amd.com" <xenia.ragiadakou@amd.com>, 
    "ayan.kumar.halder@amd.com" <ayan.kumar.halder@amd.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH 6/8] xen/arm: mm: address MISRA C:2012 Rule 8.4
In-Reply-To: <0C30A959-AF46-484D-B44B-058A86799FE6@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308091311310.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <67163dc4bc2e44d3f70f9c49295b993663d2fd5a.1691575243.git.nicola.vetrini@bugseng.com> <0C30A959-AF46-484D-B44B-058A86799FE6@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 9 Aug 2023, Luca Fancellu wrote:
> > On 9 Aug 2023, at 12:02, Nicola Vetrini <nicola.vetrini@bugseng.com> wrote:
> > 
> > Add a declaration for the variable 'init_ttbr' to resolve
> > the violation of Rule 8.4 present in the associated source file 'mm.c'.
> > 
> > No functional changes.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > ---
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> With:
> 
> Fixes: 4557c2292854 ("xen: arm: rewrite start of day page table and cpu bring up")
> 
> If maintainers are ok

Yes

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:16:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581321.909961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpb0-0003Zl-Bm; Wed, 09 Aug 2023 20:15:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581321.909961; Wed, 09 Aug 2023 20:15: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 1qTpb0-0003Ze-7y; Wed, 09 Aug 2023 20:15:54 +0000
Received: by outflank-mailman (input) for mailman id 581321;
 Wed, 09 Aug 2023 20:15: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpaz-0003ZY-2E
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:15:53 +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 88f89ec7-36f1-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:15:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6363C64313;
 Wed,  9 Aug 2023 20:15:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54E8BC433C7;
 Wed,  9 Aug 2023 20:15: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: 88f89ec7-36f1-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691612149;
	bh=X5BrOmy90ngq8WhBQ+nu64KlO6VYmdkoqXU0BuO/2AU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dX2XSnhJVCUF94ijuIPAKu30vOYR3wYeJZ6kRKyymW7/T3W8zVM2seW6Tmb6pD8C8
	 DHAQYMNyAQ7jv9cnF95ikfK70ZMizQtho8tKp1sMDvOqtyKBEpj2pJ0LR4svrXor5q
	 d3XE2GQdcHGSHZugATGubfN4F7Y5m+wL6rtsftnLACnU1xKRxz435SGmWngPjRMjfF
	 luxFjUwvbDJO81+x6ALAekQOo1pt+TpwkK1jwMxhgpnd12naWsqWCxjefOU/OEarca
	 j6Z+lJh4UW8NFlWpFCoi/q47oALJtch14N7c+qQd2+jq1VJSW2FcQT88bkYWDRQpUn
	 2Z55CTirqBXsA==
Date: Wed, 9 Aug 2023 13:15:46 -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>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
In-Reply-To: <30cd1bdb-be77-a192-eca7-6fcd60eca610@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308091313270.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691575243.git.nicola.vetrini@bugseng.com> <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com> <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com> <1cfa92d52d89b2013218cef1c518ab4d@bugseng.com>
 <30cd1bdb-be77-a192-eca7-6fcd60eca610@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, 9 Aug 2023, Jan Beulich wrote:
> On 09.08.2023 16:17, Nicola Vetrini wrote:
> > On 09/08/2023 14:52, Jan Beulich wrote:
> >> On 09.08.2023 13:02, Nicola Vetrini wrote:
> >>> The additional header file makes the declaration for the function
> >>> 'init_IRQ', defined in this file visible, thereby resolving the
> >>> violation of Rule 8.4.
> >>>
> >>> No functional change.
> >>>
> >>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> >>> ---
> >>>  xen/arch/x86/i8259.c | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
> >>> index 6b35be10f0..9b02a3a0ae 100644
> >>> --- 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>
> >>>  #include <io_ports.h>
> >>>  #include <irq_vectors.h>
> >>
> >> A patch adding this #include has been pending for almost 3 months:
> >> https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html
> > 
> > So do you prefer going forward with that patch or this one (mentioning 
> > it
> > in the additional commit context of course)?
> 
> I would prefer using the much older patch, but of course this requires
> someone providing R-b or A-b.

Hi Jan, normally I'd be happy to do that but that patch makes other
changes that I don't feel confident enough to Ack.

For instance:

+    for ( offs = 0, i = pic_alias_mask & -pic_alias_mask ?: 2;
+          offs <= pic_alias_mask; offs += i )

pic_alias_mask is declared as unsigned int.


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:30:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581326.909971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpp2-00064S-JO; Wed, 09 Aug 2023 20:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581326.909971; Wed, 09 Aug 2023 20: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 1qTpp2-00064L-Fn; Wed, 09 Aug 2023 20:30:24 +0000
Received: by outflank-mailman (input) for mailman id 581326;
 Wed, 09 Aug 2023 20:30:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTpp1-00064F-CS
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:30:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e5e6409-36f3-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:30:20 +0200 (CEST)
Received: from mail-dm3nam02lp2044.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 16:30:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5006.namprd03.prod.outlook.com (2603:10b6:208:1a4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug
 2023 20:30:04 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 20:30:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e5e6409-36f3-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691613020;
  h=message-id:date:to:from:subject:cc:
   content-transfer-encoding:mime-version;
  bh=xEt8omjjwLTnL1JJwmidvyJpcJrZfGvSCisXkJKiNmE=;
  b=Pqz8bLeQ31Q766dpBlhcJdCO3wAXbc5iD9XkCLvskFTEbsR3HUMtQi+2
   ShgP7pmygRxENF50l9iTYNaVUgKudqF40ubosSWiWD6VijqsTMrt43SAO
   09Qqp4y5rpjNheFnCGfp1/zToVUfMiICSCphWfajAnSbsm49n/XnDb6HA
   c=;
X-IronPort-RemoteIP: 104.47.56.44
X-IronPort-MID: 117724301
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4kvJgqjDrj62gNOmmctihhJeX161TREKZh0ujC45NGQN5FlHY01je
 htvUDvTa/vZZmX8f9p/Poixp0JSsZWAm4JrGwI6rHhjRSkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AePzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQDFCktawGnqtvr0eydE8o1qoMlD5LSadZ3VnFIlVk1DN4AaLWbGeDmwIQd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluSxWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTeLnrKIx2AT7Kmo7BQxKX2C3r8WAjHGlA9ltK
 0ZI+yU+lP1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebT4g2
 0KNntjpLSdyq7DTQnWYnp+LqRuiNC5TKnUNDRLoViMA6tjn5Y021RTGS445FLbv1oGpXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZcO51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:Llz5QK4Zva1kCEaAnQPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-Talos-CUID: =?us-ascii?q?9a23=3AVmNTdWo0CeFlnNVnONBXFdrmUdsZa13Y3VP9GhK?=
 =?us-ascii?q?pV0Awa+S5Dlmzo5oxxg=3D=3D?=
X-Talos-MUID: 9a23:zEK7/AU6TjCLE3Pq/DL92DtZOMlU2qKRExgGo5UM58iLJRUlbg==
X-IronPort-AV: E=Sophos;i="6.01,160,1684814400"; 
   d="scan'208";a="117724301"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZ7DqKcCxMbhNuY4JOU4MRtGh0wmOz3IpHWbSPqqMbZc1DhOqK863WOkzDHoslJlQxEphHi3pwUx5DTKNreLkdawNXNqr0jhs2geUBP2ZzNikAujBaximvzTNgnK6MYJl3z80Y9xWBWMdyC0EKR3G8NZtQmnJD/4UDUZaSjDxLPbziZYo58MixPu15FHxrl9DhyQPi9ghJZ79y3nq0ckX8CgZB/vOrXNFhI+TsOmBlgqfP+b49D8dtBQVSucGBH3W4Wk47p9yC+tDNhLxFJ75tRx7vb+OAhgaCFOTavPAgCwJbuUxoroTmZL37ouH0ej8/PSDeXYOgpbqbJ19G/QxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xEt8omjjwLTnL1JJwmidvyJpcJrZfGvSCisXkJKiNmE=;
 b=JJDLNu8ch27kUEsDSePtZxMQEqpDvf35tYoYiyK3kuT8yM2B30kVOCOJVCZ2Rypbce/E50rIfn8j+GwkuWqo5PSW5fK29tTM12LHPSAvTKQknuQgQgbwfv3oV9qB8DigoHJOml+l76wJsyzzssdjWHLV0myVJpoKV7bdeqwJiBHtwKC9PkwdpVJnzgGB0Dxwo2TfqhDNAl//szDms7QeVsjg6agb+zad1X0NEyK0W5rh+/ANvUZy7Oi9pBXmjoUwiy+GnxeJdwbB9jvSeIN2ITIDNtepuQQTlIJGEowStCBIu/32kOFaRpO/mHcgg/6asfWbecpmRS3dgNDsJpkpdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xEt8omjjwLTnL1JJwmidvyJpcJrZfGvSCisXkJKiNmE=;
 b=cLSqZoHO85nZ6DD0iNTiPfQoJ24SiBg22mKtQdDFhXE6VZA64knS1+2bZRLOTwHSqD1FbDpCuJ0+UY+uDQfVFzhn4XFMOFabC+yt8abDNuBfVHrUtgsqDmmi4xch2QeH5z+84Vo6MXtMPXjKuwgyWtXlX72xGQk+5w8N6QDy+6o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9072ddad-3f79-42fa-1e6f-352c9796ea52@citrix.com>
Date: Wed, 9 Aug 2023 21:29:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: x86: AMD Zen1 Div leakage
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0536.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2c5::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5006:EE_
X-MS-Office365-Filtering-Correlation-Id: 30426746-a810-4ebf-5c64-08db9917687d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/E37xjhQwpCe70mYDzw4afaaqpjwO3RmV6fIT4zH/kou58KjfdT6B9v13HXUMCZa8LIOp7G0li3nArNEI11h3haJEdxja+L6SJSK1rvSHHP7aeRfRC+Me0nDKqiFgZ3JkEvr8gqHNwmhwoe8dWUUPcjjo/ZhK95svsz1K8PeyILuEM4jC2+p0KnHkNQyiM1lMVND6UuM3F2KW/1qhU4vOzDXuQq/eig5FtqKAaoaNORb7ncryjYyZmPqN1HV2Uast58kTFCF3fKRd/DUN9OYEoWaqqPtIuSkJn08y/9/ATs1Z0D2BTXkdH2/Os7VhuXKbA9KMHMPlLolLnSni5u6FXEzb/Jz7oTy6oCh2k19tcNj17q8+wABTj/0vRnx8WIX5WqkLBn4T7uhtO3mYL6jSkA1tobQ/m5Koiba2c7qVpFdBeaoMXJ0f+v1wfHdBLGqXrbAebjaJOZGhVjeplRZMpLZQc6rpr97Ymtg93vD0HiVWwAHjusJfuiHNANuQoJB1BtBU888W8Non8BzB9GYbAf5nNnUzwprU5jINsU3HwYIptdzwsZ0cSMVR5byusQv1TU8YQyrgdd4ww/IE4Bvpx2wYzfKy2QYk4UV0eb5BUTysGdg0BvIi87Ckm0YNmudH8NZPi2N415rN+VDXOlFbQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(39860400002)(366004)(396003)(376002)(1800799006)(451199021)(186006)(6486002)(54906003)(6666004)(31686004)(478600001)(316002)(66556008)(66946007)(66476007)(4326008)(6916009)(83380400001)(31696002)(6512007)(2906002)(966005)(38100700002)(41300700001)(5660300002)(8936002)(6506007)(2616005)(36756003)(8676002)(26005)(86362001)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rjg1U1NzbWdNem5EWHRwUXlUSDA1R3R1cHl4NlRkbncxQlBvL2czYUF3MDdR?=
 =?utf-8?B?Qm1yaTdrZGRDQm9CbVZEVVZ6Y1JLcVFBdzQrZGd5SWE3aUx5Y0p4MWlxSjFa?=
 =?utf-8?B?YXNRWDV2bi81b2tFRkNiemJJWmp6T3hscVZyZ0VMVEhTTVAraUtyZG9xbFJm?=
 =?utf-8?B?aHVKaUlSYlhRenNQMm4zL1pObFVYZU5OWks0cWoxZS9yclF0WXlHT3QxazVO?=
 =?utf-8?B?N3hhbElpanRQUmR6WW90VkE1aE41Mmt2c0RjY0RBR2tSUWRILzRORHozcXZQ?=
 =?utf-8?B?NytrOUdqMWZaRjVRZlg1cmlka1pmM1FGV2tYdGFVOVNYdlMyOFgxT3dIU2RF?=
 =?utf-8?B?WjFaRXhrSC9rTHlGeE95dVJxb0RSZHoxWnlrM25la3dxb2g3dUhUbDZYVUFQ?=
 =?utf-8?B?V01CMG5lZUZtV1JwNklsQmoyVWtaRjdkRUc3dXRTRFlJblVBZ2NKOXVuYmYx?=
 =?utf-8?B?cnZEQUI3MDlBQ2pUUUZhN3F2ZGM2VXdBVXlMa0orRGtxaS8vTS8xS3MveC9C?=
 =?utf-8?B?NWxyNHNIL3RqUVY5Ui9XcjhhUkxQeEx2UlcxWnE4WnF1NmJEbC9HelBjMWFV?=
 =?utf-8?B?MllTNUZKYjZFay8vNVZsSmIwNGsvaHJtQVQ0SUFNVFlZWVRhRk5EakgxRTd3?=
 =?utf-8?B?UkpZNUpzNFcranVudlZMWjFWQjFUY3ZGMElmNTdXZ2RpaW8yVXZFUmVJOHR0?=
 =?utf-8?B?UTNKQTlMMnJIV0hNU0FYN3l5Q0QySWVYb2hKZTh3aVA4SnpZN1kvaEE3Y2Jn?=
 =?utf-8?B?NFhiSW5CT3hwYWN3Qmdsa1JLTFJHNGcyWG9hN1RhSjRqU3hOM2cycTJKTTdC?=
 =?utf-8?B?QUZ6ajVlbTB1KzJ0NlNqaDR4V3FwUUxGUnBZSHRFb2hKYXB1ZFZONjZvREVG?=
 =?utf-8?B?ekFBc01xZ1BjWjZBRlFRMVZIVy9iUW5aRjlNa3doM0hCcXdidWtpY2ZZZ0Jj?=
 =?utf-8?B?ME9iM0k5ZVZramxoKzNZTjdEeCtrZHhhR2ZQNEgzdHdJcWhZV1ppaUlaTDlC?=
 =?utf-8?B?bDZabTdhenVqQmE3ODV6YzFVNU1LS3dMYmZTK2FkRnNKUUxQalpDaEFvWDNR?=
 =?utf-8?B?QnZGY0oxNmtVTXNhTEo1RmhPRGJFMlRENHJPN2hRU1YwVitueWxGRmhkUjhK?=
 =?utf-8?B?ZERhVExCK3dsakZoWHNXNnlNOHNzT3VSSmIwOW03b1dXRktGQ0x4Rm5ScWNQ?=
 =?utf-8?B?ZjhFU2VnOVN2UmJtTXNYTXBaVXNqVTVYV1pPV0VxSlIxTkFhekU5aDF6OGNE?=
 =?utf-8?B?NU83QXhNUEdWVVVrYURWdGpuelhLNVZIM2FvWHRwRmFHRERPQVRicC9rVVFB?=
 =?utf-8?B?SnRhMWxUUE84OW91bk5LeXdsK2xpYnIxWGlrVmlSeW9BVjFPNkFxbWpRaWxJ?=
 =?utf-8?B?NXQ5WGxPeVhGSWdGOE5mZ0p5YlFlTXgwc1V4MG85YjNRbDQyM0xGM1ZJWmFD?=
 =?utf-8?B?MHpSbnFkb2ZIeEs0Q3NJU2RKRlBGWGd5SkRLL0pIZXl5MWx2aExTeDUvQ0lm?=
 =?utf-8?B?dnZsNGljRlpoc0xmVU8zQUZ3SFMxWTl5bzlUZXJzQTJ2elpmZ1VJRlJBbXRC?=
 =?utf-8?B?MEZMbzZYNTIyZ3p3aGxFSWdJNUxYL3hZY2xGakFaZ2ExWC9mYzFHVU51V000?=
 =?utf-8?B?ZHJ2N1RRak5KUytTWFpjdkxnTkNnak8zcm01amR5WWViY0xZMjBxVU1FR2Rj?=
 =?utf-8?B?alBaa0N5NkZQNU1rUDBjY1p5ckVtUlIxNndvb01DWDcybExxMFhBS2pONXUz?=
 =?utf-8?B?VjVvVGJNTWQ2LzNQRVpyaEJUTXRHMTIyWk1Lb0VjeDg2Y2pUeEZZQ2dwKy9q?=
 =?utf-8?B?ZzU1cTFUbXNORkNjS0dUN2dwTW04eUFaS3g0WWU5R2wyTDgzZWpuS0pyV1hs?=
 =?utf-8?B?enpFUllYMExrUjNDR2l0OG90ZjZDc3JYUUM3Z2VDSUlRZWxic2pqbFRFaG1s?=
 =?utf-8?B?TWtOVkYvMWZnNXFmaWhzZVRDV0RrcFN2Q0ZrRmVSQVNqV25mdFNiQUFSMXZx?=
 =?utf-8?B?T2Z1d3EzUzZYbkp3WmdjRTFjOEVQWG5tL3h2cFo3dnpQckgrQzZ5S2VsSHVW?=
 =?utf-8?B?TkFpOXZuVXdHTDhjZTQ3WkdxZFphN09QSEdHY29BYUZsMTc5YWRBWXhwYUVz?=
 =?utf-8?B?cWRCcVJwZlFKbXBSWVZUNEhoTXFyTWNzWUwxOFpicVNLL1hZNUVoVjFxMVhS?=
 =?utf-8?B?S3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	t9NjARMlp1Hh5Od7yVmYgx2KOm7vlHyYMYG9v1loMsyz/s1/zLwIdo6ABPj+WT87cN/5TcPod5ZeLba/xk/It1n6d2p60dnHTeua2wGt6HGgZYFe8FX0rufWHypGrsEaGk6ZjFQWo1r7TzXrHnaZ+lWMgx+mvIZ7/gFCNR+5MZ9upu3Y15ODEJzRozEyT2wH/YAqJ/MtKpLZKgmYWprowqbHQ0cq8SB7r0u2dUrXYO6WhF/URmFB4rbLaZBkSfTTqLtpkswAFBtr9E4Rt3dYlWTKpO/tKC8VWyifJ/AIOCscaYk0TjP3gfpd4RZGvb+zMnnkGZeHMQE+OP0rEhyykZ5Mfy1zkU86bMM5k56G8v1rEW7056GWzxo7ABeblpxlFSrd84xbHwOlHYNwFospP6Ug9D8mQH9PBSWLc2+8kS87J0afOIrk4neYJEojYNOQZVPk0jIGXZ/kmw/muF5nbJ5CFfLq6bXYf25OcbwWrecXnuIj6CqkPs3psqsco24WOkPqlVmF2Q+7nyEg18qP4Oe47cCvkqhcav8E54+mivoR5gSAobKOA7A0e+pKn2ptZ/5ZFdBSYpj78Hh6KGivec3GwFbK0HigKd+7AarMyJyhxKozGgPqG7eVHH87a4c4WKA9VfWfQ7jn9rTkQZd/Z0xtAiFIiW2asMO4W5eNMYXoWfKoQgAW/DcrUaNbHxxl2sFYl+bS7+Hy+5qdbgzggPLfoD5XUHQ5Ou50hb8jED1XUXNmiR5OZghsct1pFvuV6g83yCA0rYesbFvGGr8A0HF0hSJRg1z2rdf3BmElVbd8hQ80quh/lRrZaecNyS43
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30426746-a810-4ebf-5c64-08db9917687d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 20:30:02.8064
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N+wnOubV/F4i/KpGEhJ6w+M9HhmF00qCl2q84wv7Di9PQxMD1wogUmtVDQfaZJ6AQtPg01wD+flahN4qQ4pc5rPorsKRpJyb1GtOd1ZwjHg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5006

This popped up with insufficient time to organise a response before the
pile of fixes yesterday.

https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7007.html

Per my current understanding:

* There is a single integer divider in a Zen1 pipeline.Â  When SMT is
active, it services uops from both threads.

* It latches the result of the last calculation performed, but forwards
said result transiently in the case of #DE (i.e. meltdown-like).

If this is accurate, then there's a nice covert channel between the two
threads, where they can communicate by issuing specific divides, without
ever leaving userspace.Â  (It's easy to hide a #DE in the shadow of some
other misprediction, and not suffer a real divide exception.)

But, div isn't a serialising uop, so the advice of "don't divide
secrets" is tantamount to useless.Â  Transient execution can pick up a
div uop from any misaligned instruction, and end up caculating on
arbitrary operands.


In SMT=0 cases, we can scrub in Xen by executing 0 / 1, and would need
to go in the same place as VERW on Intel (i.e. very late in the
return-to-guest path).

In SMT=1 cases, I can't see any fix.Â  It's very much like L1TF/MDS, and
cooperating threads can snatch data a cycle or two after it was placed
in the channel.


As yet, I haven't started any patches to this effect, but it would be
nice to have more clarity from AMD first.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:35:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581333.909980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTptk-0006jh-8P; Wed, 09 Aug 2023 20:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581333.909980; Wed, 09 Aug 2023 20: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 1qTptk-0006ja-5k; Wed, 09 Aug 2023 20:35:16 +0000
Received: by outflank-mailman (input) for mailman id 581333;
 Wed, 09 Aug 2023 20:35:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpti-0006jU-6B
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:35:14 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3cf908bb-36f4-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:35:12 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0CC2D648CA;
 Wed,  9 Aug 2023 20:35:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B551C433C7;
 Wed,  9 Aug 2023 20:35: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: 3cf908bb-36f4-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691613310;
	bh=d8m+bEzzXs7EYuIc1E122NeHbdYRXYN5o9QCFt3vJS0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EQbgfblMcF2TYFdiO3C6iuq51jWa8J2U0BkGP0QOKlVpVHj4jLBxjMYaoDTl2ZlPu
	 v5kYhxxLNOdWP4FqYCYIXkRUfPp8nWd4eSEh4k919CUr15yVScx7v0tQHrHcyFOjv3
	 GU+YiGu9OtvqTR6nheS/K9q6KRlmhHDM8h0QfmAcpNMBXyaRY6b0uQxjVj7dB2q53i
	 4KNAPeKzP9KG593s1lldePddwpBtKghlsHoJy9BRnBcm3hrpKZXoOqSKFtTfZ4lAbt
	 LG8u5Ict6gs8E68PfDRHkHnpbsq0uWqOvE+gBa1Cnh7O38xQyslGvm8BjTm1ANbZwf
	 OFI8nZFTVYw1Q==
Date: Wed, 9 Aug 2023 13:35: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>, 
    Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, julien@xen.org, 
    Bertrand.Marquis@arm.com
Subject: Re: MISRA violations in hypercall-defs
In-Reply-To: <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com> <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com> <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop> <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@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, 9 Aug 2023, Jan Beulich wrote:
> On 09.08.2023 01:22, Stefano Stabellini wrote:
> > On Tue, 8 Aug 2023, Jan Beulich wrote:
> >> On 08.08.2023 10:47, Federico Serafini wrote:
> >>> Hello everyone.
> >>>
> >>> I would like to to ask your opinion about the auto-generated file
> >>> xen/include/xen/hypercall-defs.h which contains some violations of
> >>> MISRA C:2012 Rule 8.3:
> >>> "All declarations of an object or function shall use the same names and
> >>> type qualifiers".
> >>>
> >>> Such violations can be seen at the following links
> >>> (copy and paste the link on you browser, including also the characters
> >>> after the '#'):
> >>>
> >>> - arm
> >>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/ARM64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> >>>
> >>> - x86
> >>> https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/origin/staging/X86_64-Set1/218/PROJECT.ecd;/by_service/MC3R1.R8.3.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/include/xen/hypercall-defs.h"}]}]}}}
> >>>
> >>> Some of the violations are due to mismatches on the return types
> >>> and the use of `ret_t`.
> >>
> >> We already said that ret_t will need deviating. For parameter names
> >> it ought to be possible to suitably rename, like done elsewhere. Whether
> >> that means renaming in the generator script or in the definitions likely
> >> again needs judging on a case-by-case basis.
> > 
> > Is it the case that ret_t is purposedly defined as 'long' for 64-bit x86
> > guests and 'int' for 32-bit x86 guests?
> 
> Yes.
> 
> > I am asking because it looks like we don't use ret_t at all on ARM and
> > on the public interfaces.
> 
> And I wonder how you get away with this. Aiui hypercall return values are
> 32-bit on Arm32, so I'd expect you to be at risk of truncation issues in
> a limited set of cases (see in particular the bottom of compat_memory_op(),
> where out-of-range values are saturated rather than truncated). But maybe
> in practice this can't happen?

Yes I think that must be it. Also consider that mixing 32/64
environments on ARM is rare: the arm32 version of Xen is mostly to
run on arm32 targets with only 32-bit guests. The arm64 version of Xen
is to run on arm64 targets with mostly (only?) 64-bit guests. Which is a
different situation compared to x86.

So the ret_t deviation would only affect the x86 version of the
hypervisor.


P.S.
Julien, Bertrand, do you think we should unsupport (in SUPPORT.md, today
it is not clarified) 32-bit guests on a 64-bit ARM hypervisor?


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:38:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581338.909991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpwi-0007Nw-Mv; Wed, 09 Aug 2023 20:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581338.909991; Wed, 09 Aug 2023 20:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpwi-0007Np-Jn; Wed, 09 Aug 2023 20:38:20 +0000
Received: by outflank-mailman (input) for mailman id 581338;
 Wed, 09 Aug 2023 20:38:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpwh-0007Nj-Do
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:38: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 aaf98a46-36f4-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:38:17 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1448D64882;
 Wed,  9 Aug 2023 20:38:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8DDDC433C8;
 Wed,  9 Aug 2023 20:38: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: aaf98a46-36f4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691613495;
	bh=lbkZflBp5itVPUsoazTbfLX47M0+8ic4rZjA+np+dKM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mHodPuq8Er/sBgHvQTuaHzFQ+13imLk4e1L34YKKkRyeuLCoY0Kc1qHypPI27Vrzg
	 jzL/oxWqFOYWNurydkWD5vdmdaLGz1uJKyoDiykTAcSbhCiJOV4v3av9kxVy+AQraI
	 LrymAVerXFHKM/HdbEX9JW0JQX4H/cuH62Qwhc2lfXfGe9UwL633uAmEuG6N0FOmje
	 C5YvENi4Lzx8/66cELXJFyjXuUqMQPdWtq1dELvy3uRkd7D7BeCuftM9JJwrbeI6Pu
	 Dv/T7lQ8Vc5sJDoQp6IyzzKRu2tyvuWBrdLhmqTaNrPryFq/fzPfZIZz0cVmuX6KD2
	 B2G0zcXUbw9+A==
Date: Wed, 9 Aug 2023 13:38:13 -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>
Subject: Re: [XEN PATCH 3/3] automation/eclair: update analyzed builds
In-Reply-To: <a615d13b57eb126df9f8d7acc656bc054e376caf.1691568344.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308091337120.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691568344.git.simone.ballarin@bugseng.com> <a615d13b57eb126df9f8d7acc656bc054e376caf.1691568344.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 Wed, 9 Aug 2023, Simone Ballarin wrote:
> The xen build for ARM64 now has new configuration options which
> require to be defined: this patch defines them.
> 
> In both configuration files some no longer true comments have been removed.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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

(By the way, there is a way to start a Xen default kconfig from a seed
config so that we don't necessarely need to specify all the options. The
missing options are filled with default values.)


> ---
>  automation/eclair_analysis/xen_arm_config | 14 ++++----------
>  automation/eclair_analysis/xen_x86_config |  9 ---------
>  2 files changed, 4 insertions(+), 19 deletions(-)
> 
> diff --git a/automation/eclair_analysis/xen_arm_config b/automation/eclair_analysis/xen_arm_config
> index 26f5fcca41..ef140ceb73 100644
> --- a/automation/eclair_analysis/xen_arm_config
> +++ b/automation/eclair_analysis/xen_arm_config
> @@ -1,12 +1,3 @@
> -# File provided in
> -# Re: Xen MISRA C: Source files in scope and out of scope
> -# from:	Stefano Stabellini <stefano.stabellini@amd.com>
> -# date:	6 giu 2023, 02:53
> -
> -#
> -# Automatically generated file; DO NOT EDIT.
> -# Xen/arm 4.18-unstable Configuration
> -#
>  CONFIG_CC_IS_GCC=y
>  CONFIG_GCC_VERSION=90400
>  CONFIG_CLANG_VERSION=0
> @@ -34,7 +25,9 @@ CONFIG_HVM=y
>  CONFIG_SBSA_VUART_CONSOLE=y
>  CONFIG_ARM_SSBD=y
>  CONFIG_HARDEN_BRANCH_PREDICTOR=y
> -# CONFIG_TEE is not set
> +CONFIG_TEE=n
> +CONFIG_OPTEE=n
> +CONFIG_FFA=n
>  # CONFIG_STATIC_SHM is not set
>  # end of Architecture Features
>  
> @@ -47,6 +40,7 @@ CONFIG_ARM64_ERRATUM_819472=y
>  CONFIG_ARM64_ERRATUM_843419=y
>  CONFIG_ARM64_ERRATUM_832075=y
>  CONFIG_ARM64_ERRATUM_834220=y
> +CONFIG_ARM64_ERRATUM_1508412=y
>  CONFIG_ARM_ERRATUM_858921=y
>  CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
>  CONFIG_ARM64_ERRATUM_1286807=y
> diff --git a/automation/eclair_analysis/xen_x86_config b/automation/eclair_analysis/xen_x86_config
> index d497814e01..abc44d43e1 100644
> --- a/automation/eclair_analysis/xen_x86_config
> +++ b/automation/eclair_analysis/xen_x86_config
> @@ -1,12 +1,3 @@
> -# File provided in
> -# Re: Xen MISRA C: Source files in scope and out of scope
> -# from:	Stefano Stabellini <stefano.stabellini@amd.com> 
> -# date:	6 giu 2023, 02:53
> -
> -#
> -# Automatically generated file; DO NOT EDIT.
> -# Xen/x86 4.18-unstable Configuration
> -#
>  CONFIG_CC_IS_GCC=y
>  CONFIG_GCC_VERSION=90400
>  CONFIG_CLANG_VERSION=0
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:38:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581340.910001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpx9-0007pp-17; Wed, 09 Aug 2023 20:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581340.910001; Wed, 09 Aug 2023 20:38:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTpx8-0007pi-TZ; Wed, 09 Aug 2023 20:38:46 +0000
Received: by outflank-mailman (input) for mailman id 581340;
 Wed, 09 Aug 2023 20:38:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTpx8-0007pW-7T
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:38:46 +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 bb7726e5-36f4-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:38:44 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B9EB364935;
 Wed,  9 Aug 2023 20:38:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6428BC433C7;
 Wed,  9 Aug 2023 20:38: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: bb7726e5-36f4-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691613523;
	bh=UTenjmu6K4fpcMAKpBRCNNjzOwB2Mfar1dpF5re/vTk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fEMtWfpHVGYnExTwrOddUxtPoZ5tIN/baS6kRKU8txc+Wa0TZedkeNZOg9/D/SxXY
	 rIyPIKdhi44iaMhKr77zXifNkvlf9+QQ/+vn922FDdm/7QEz/18eq6hGz4Ge9/n3vw
	 EVgdm+OMFhgNtBXcOAkTO4UjNAv+Ctk9HM0/ZUHLKcschLSG/IEcDdIOM2wRzcLFdE
	 6iFhud1fL/GARNY0tPZVECF9hxPnZKOuC9HV1kNDqL/+oXImje1HLmdwX8oF2KOTAQ
	 4BDRqAD8qJXH0EFG2Tgk16DGahAH1AlhJt2FYUWG5HfPmdmzXCLVW96ve57qjHh1I6
	 mQxVyahvSUI8A==
Date: Wed, 9 Aug 2023 13:38:41 -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>
Subject: Re: [XEN PATCH 1/3] automation/eclair: update clean guidelines
In-Reply-To: <89e4ad4c56c083391b24b9da55212e888c5f3beb.1691568344.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308091338290.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691568344.git.simone.ballarin@bugseng.com> <89e4ad4c56c083391b24b9da55212e888c5f3beb.1691568344.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 Wed, 9 Aug 2023, Simone Ballarin wrote:
> This patch splits the former list in two separate selectors
> clean_guidelines_common and additional_clean_guidelines.
> 
> clean_guidelines_common contains the guidelines that are clean
> in both the analyzed builds, instead additional_clean_guidelines
> is popolated depending on the current one.
> 
> The following clean guidelines have been added:
> - MC3R1.R1.1;
> - MC3R1.R1.3;
> - MC3R1.R3.1;
> - MC3R1.R4.1;
> - MC3R1.R17.4;
> - MC3R1.R22.6;
> - MC3R1.D4.3 (just x86_64);
> - MC3R1.R5.3 (just arm64);
> - MC3R1.R7.2 (just arm64);
> - MC3R1.R8.6 (just arm64);
> - MC3R1.R9.3 (just arm64).
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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


> ---
>  automation/eclair_analysis/ECLAIR/tagging.ecl | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
> index ef2e56e186..3f589fd716 100644
> --- a/automation/eclair_analysis/ECLAIR/tagging.ecl
> +++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
> @@ -28,7 +28,20 @@
>  ####################
>  
>  -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
> --service_selector={clean_guidelines,"^(MC3R1\\.D1\\.1|MC3R1\\.D2\\.1|MC3R1\\.D4\\.11|MC3R1\\.D4\\.14|MC3R1\\.R1\\.4|MC3R1\\.R2\\.2|MC3R1\\.R3\\.2|MC3R1\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.4|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R8\\.1|MC3R1\\.R8\\.5|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\\.6|MC3R1\\.R21\\.13|MC3R1\\.R21\\.19|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5)$"
> +
> +-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\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.4|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R8\\.1|MC3R1\\.R8\\.5|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\\.R21\\.13|MC3R1\\.R21\\.19|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5|MC3R1\\.R22\\.6)$"
>  }
> --reports+={clean:added,"service(clean_guidelines)"}
> +
> +-setq=target,getenv("XEN_TARGET_ARCH")
> +
> +if(string_equal(target,"x86_64"),
> +    service_selector({"additional_clean_guidelines","^(MC3R1\\.D4\\.3)$"})
> +)
> +
> +if(string_equal(target,"arm64"),
> +    service_selector({"additional_clean_guidelines","^(MC3R1\\.R5\\.3|MC3R1\\.R7\\.2|MC3R1\\.R8\\.6|MC3R1\\.R9\\.3)$"})
> +)
> +
> +-reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
> +
>  -doc_end
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581348.910011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTq1q-0000xW-IR; Wed, 09 Aug 2023 20:43:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581348.910011; Wed, 09 Aug 2023 20:43: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 1qTq1q-0000xP-FA; Wed, 09 Aug 2023 20:43:38 +0000
Received: by outflank-mailman (input) for mailman id 581348;
 Wed, 09 Aug 2023 20:43: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTq1p-0000xJ-IX
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:43:37 +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 691fea1b-36f5-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:43:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id ABB776494C;
 Wed,  9 Aug 2023 20:43:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5793AC433C8;
 Wed,  9 Aug 2023 20:43:33 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 691fea1b-36f5-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691613814;
	bh=GLEEEVzmf8c44IWFcXE8OXscGqPErXwfrxKkNNHH08w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JfZepUZl40TLsQ/+5TgU4Q6XYWjR60zej/WZ3ZiL2Cz/ZK384TI4fzuSPoPgWRBQ9
	 0GeT3S3SqkauvoUXmE/OAxb4y7vh3bLQEIS9uq7klCaByZWIFxZQbnX0r9lLyBQp2w
	 HramWnKjIoDLKCsVsk+KICekSPFsDbka6jaTzVHdg8D2DtCA0cGGdooM8d2v6HOpSs
	 M3h0Cfdln9MndlCmptpRztmJFGG2ae3KirGlGCEb11JaO2LLFjyuTCLR2FQpeNo2Az
	 wkxkOf0tE8/eFGUivzZBRlRurfSFUtvVqk3JjMvmKExxhXmOMrBC352Y6yhh8VkwWA
	 Rl5Y9Z8yKx39w==
Date: Wed, 9 Aug 2023 13:43:32 -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>
Subject: Re: [XEN PATCH 2/3] automation/eclair: add ECL deviations
In-Reply-To: <b2979e8cfa01369aa663434144d96bfd3f395ded.1691568344.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308091338510.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691568344.git.simone.ballarin@bugseng.com> <b2979e8cfa01369aa663434144d96bfd3f395ded.1691568344.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 Wed, 9 Aug 2023, Simone Ballarin wrote:
> This patch adds some deviations for the following guidelines:
> Rule 2.1, Rule 5.3 and Rule 8.2.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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

Looking at the below, is there anything we should add to
docs/misra/rules.rst to specify that we are adopting the MISRA rule but
in a slightly different way? 

I am happy to make any necessary changes to docs/misra/rules.rst myself,
but I would like to keep docs/misra/rules.rst consistent with
deviations.ecl.

It seems to me that maybe we should add a note about
ASSERT_UNREACHABLE() and BUG() and similar for Rule 2.1. What do you
think? Anything else that I am missing?


> ---
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 34 ++++++++-----------
>  1 file changed, 15 insertions(+), 19 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index e1a06daf2f..696618b59e 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -14,8 +14,13 @@ Constant expressions and unreachable branches of if and switch statements are ex
>  -config=MC3R1.R2.1,+reports={deliberate,"first_area(^.*is never referenced$)"}
>  -doc_end
>  
> --doc_begin="Unreachability in the following macros are expected and safe."
> --config=MC3R1.R2.1,statements+={safe,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
> +-doc_begin="Unreachability caused by calls to the following functions or macros is deliberate and there is no risk of code being unexpectedly left out."
> +-config=MC3R1.R2.1,statements+={deliberate,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
> +-config=MC3R1.R2.1,statements+={deliberate, "call(decl(name(__builtin_unreachable||panic||do_unexpected_trap||machine_halt||machine_restart||maybe_reboot)))"}
> +-doc_end
> +
> +-doc_begin="Unreachability of an ASSERT_UNREACHABLE() and analogous macro calls is deliberate and safe."
> +-config=MC3R1.R2.1,reports+={deliberate, "any_area(any_loc(any_exp(macro(name(ASSERT_UNREACHABLE||PARSE_ERR_RET||PARSE_ERR||FAIL_MSR||FAIL_CPUID)))))"}
>  -doc_end
>  
>  -doc_begin="Proving compliance with respect to Rule 2.2 is generally impossible:
> @@ -93,25 +98,11 @@ conform to the directive."
>  -doc_begin="The project adopted the rule with an exception listed in
>  'docs/misra/rules.rst'"
>  -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^READ_SYSREG$))&&any_exp(macro(^WRITE_SYSREG$))))"}
> --config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max_t$))&&any_exp(macro(^min_t$))))"}
> +-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max(_t)?$))&&any_exp(macro(^min(_t)?$))))"}
>  -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read[bwlq]$))&&any_exp(macro(^read[bwlq]_relaxed$))))"}
>  -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^per_cpu$))&&any_exp(macro(^this_cpu$))))"}
> --doc_end
> -
> --doc_begin="The identifier 'fdt' is a widely-used name, for which no suitable
> -substitute can be found. It is understood in 'xen/arch/arm/efi-boot.h' that the
> -static variable 'fdt' cannot be confused with parameter names of the function
> -declarations that are present in the file."
> --file_tag+={efi_boot_h, "^xen/arch/arm/efi/efi-boot\\.h$"}
> --config=MC3R1.R5.3,reports+={deliberate, "any_area(decl(kind(var)&&static_storage()&&^fdt$)&&any_loc(file(efi_boot_h)))"}
> --doc_end
> -
> --doc_begin="The identifier 'start' is a widely-used name, for which no suitable
> -substitute can be found. It is understood in 'xen/include/xen/kernel.h' that the
> -extern variable 'start' cannot be confused with omonymous parameter names of the
> -function declarations where that variable is visible."
> --file_tag+={kernel_h, "^xen/include/xen/kernel\\.h$"}
> --config=MC3R1.R5.3,reports+={deliberate, "any_area(decl(kind(var)&&linkage(external)&&^start$)&&any_loc(file(kernel_h)))"}
> +-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^__emulate_2op$))&&any_exp(macro(^__emulate_2op_nobyte$))))"}
> +-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
>  -doc_end
>  
>  -doc_begin="Function-like macros cannot be confused with identifiers that are
> @@ -179,6 +170,11 @@ 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 following variables are compiled in multiple translation units
>  belonging to different executables and therefore are safe."
>  -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:55:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581361.910021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqCs-0002Ym-Ih; Wed, 09 Aug 2023 20:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581361.910021; Wed, 09 Aug 2023 20:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqCs-0002Yf-FO; Wed, 09 Aug 2023 20:55:02 +0000
Received: by outflank-mailman (input) for mailman id 581361;
 Wed, 09 Aug 2023 20:55:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTqCr-0002WX-0Y
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:55:01 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0086e657-36f7-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 22:54:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3653A828538F;
 Wed,  9 Aug 2023 15:54:58 -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 usqnpS88QlFm; Wed,  9 Aug 2023 15:54:55 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D03BD82856F5;
 Wed,  9 Aug 2023 15:54: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 PnUMHGvrVBQm; Wed,  9 Aug 2023 15:54: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 22566828538F;
 Wed,  9 Aug 2023 15:54: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: 0086e657-36f7-11ee-b281-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com D03BD82856F5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691614495; bh=zHXCCnOOWO7/rMYgzVXLYuRN9Jt9vZQbfdwIISnfup4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=kiV3x0gRXnlAS9zV6imJ9vcMgD4y2zSWngAgbpziNzB7s/Tve75im7WMejaPm2jLr
	 92CxvqwTF8ae/AF4E2h5XoKfdoFvNX7jreXFEn9xGQFqonsq7qfsQ/FXCWJgKeLUSA
	 apDoWxbtigB/YDagSm35TGD6Ig+1dQlQ93WQjvQQ=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <ad54705c-62eb-7ce1-6d2e-49e60e6dc6f9@raptorengineering.com>
Date: Wed, 9 Aug 2023 15:54:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690582001.git.sanastasio@raptorengineering.com>
 <ed166c38bbcf82ad58a14353a880d1e208cb2ff1.1690582001.git.sanastasio@raptorengineering.com>
 <55e1391e-a289-72bd-f663-62276cf4b065@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <55e1391e-a289-72bd-f663-62276cf4b065@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/1/23 8:18 AM, Jan Beulich wrote:
> On 29.07.2023 00:21, Shawn Anastasio wrote:
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/bitops.h
>> @@ -0,0 +1,11 @@
>> +#ifndef _ASM_PPC_BITOPS_H
>> +#define _ASM_PPC_BITOPS_H
>> +
>> +#include <xen/compiler.h>
> 
> Not a big deal, but ...
> 
>> +/* PPC bit number conversion */
>> +#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
>> +#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
>> +#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
>> +
>> +#endif /* _ASM_PPC_BITOPS_H */
> 
> ... nothing here looks to require that #include.
>

Good point, I'll drop it.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/mm.h
>> @@ -0,0 +1,19 @@
>> +#ifndef _ASM_PPC_MM_H
>> +#define _ASM_PPC_MM_H
>> +
>> +#include <asm/config.h>
> 
> This is included by xen/config.h, which in turn is included from the
> compiler command line.
> 

Thanks for letting me know. Will drop.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/page.h
>> @@ -0,0 +1,178 @@
>> +#ifndef _ASM_PPC_PAGE_H
>> +#define _ASM_PPC_PAGE_H
>> +
>> +#include <xen/types.h>
>> +
>> +#include <asm/bitops.h>
>> +#include <asm/byteorder.h>
>> +
>> +#define PDE_VALID     PPC_BIT(0)
>> +#define PDE_NLB_MASK  0xfffffffffffffUL
>> +#define PDE_NLB_SHIFT 5UL
>> +#define PDE_NLS_MASK  0x1f
>> +
>> +#define PTE_VALID     PPC_BIT(0)
>> +#define PTE_LEAF      PPC_BIT(1)
>> +#define PTE_REFERENCE PPC_BIT(55)
>> +#define PTE_CHANGE    PPC_BIT(56)
>> +
>> +/* PTE Attributes */
>> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
>> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
>> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
>> +
>> +/* PTE Encoded Access Authority*/
>> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
>> +#define PTE_EAA_READ       PPC_BIT(61)
>> +#define PTE_EAA_WRITE      PPC_BIT(62)
>> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
>> +
>> +/* Field shifts/masks */
>> +#define PTE_RPN_MASK  0x1fffffffffffUL
>> +#define PTE_RPN_SHIFT 12UL
>> +#define PTE_ATT_MASK  0x3UL
>> +#define PTE_ATT_SHIFT 4UL
>> +#define PTE_EAA_MASK  0xfUL
> 
> Did you consider introducing just *_MASK values, utilizing MASK_INSR()
> and MASK_EXTR() instead of open-coded shifting/masking?
>

I actually wasn't aware of MASK_INSR/MASK_EXTR when writing this. I've
just looked into it though, and I don't think using them makes the code
much cleaner. Specifically I'm looking at the implementations of
`pte_to_paddr` and `pde_to_paddr` which both need to ensure that the
returned value retains its original shift.

For example, with pte_to_paddr, this change would be:
-     return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
+     return MASK_EXTR(be64_to_cpu(pte.pte), PTE_RPN_MASK) << PTE_RPN_SHIFT;

In addition to updating the definitions of the *_MASK macros to include
the right-most padding zeros.

- #define PTE_RPN_MASK  0x1fffffffffffUL
+ #define PTE_RPN_MASK  0x1fffffffffff000UL

I don't really think this is an improvement, so I'm tempted to keep the
code as-is. If you feel strongly about the usage of MASK_{INSR,EXTR},
though, I could make the change.

>> +#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
>> +#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_CHANGE)
>> +#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
>> +#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
>> +
>> +/*
>> + * Radix Tree layout for 64KB pages:
>> + *
>> + * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *            [ PAGE TABLE ENTRY ]
>> + */
>> +
>> +#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512GB = 4PB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K = 2MB */
>> +
>> +#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_LVL_2)
>> +#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_LVL_3)
>> +#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_LVL_4)
>> +#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
>> +
>> +#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
>> +#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
>> +#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl))
>> +#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
>> +#define XEN_PT_INDEX_LVL(lvl, va)    ((va >> XEN_PT_SHIFT_LVL(lvl)) & XEN_PT_MASK_LVL(lvl))
>> +
>> +/*
>> + * Calculate the index of the provided virtual address in the provided
>> + * page table struct
>> + */
>> +#define pt_index(pt, va) _Generic((pt), \
> 
> Earlier on I did ask about the minimum compiler version you require for
> building the PPC hypervisor. Iirc you said about any, but here you're
> using another feature where I'm not sure how far back it is available.
> As indicated back then, it would be nice if ./README could gain
> respective information.
> 

I'm locally building with gcc 10 (shipped with Debian 11), and the Xen
CI image for ppc64le builds uses gcc 11 I believe. _Generic and the
other features I'm using are certainly available further back, but I
haven't personally tested anything earlier. If there's no objections,
I'm tempted to just codify gcc 10 as the minimum supported compiler
version and leave it up to users if they want to try testing on earlier
versions.

>> +    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
>> +    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
>> +    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
>> +    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
>> +
>> +#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
> 
> As to style: Here (and elsewhere) you put unnecessary parentheses
> around two of the three uses of the macro arguments. If you think you
> want to keep it like that, feel free; in general we're recommending to
> omit ones not really needed, to help readability. Otoh a little higher
> up in XEN_PT_INDEX_LVL() parentheses are missing around va.
>

If possible I'd prefer to just leave it as-is. Unconditionally
parenthesizing macro arguments seems less error-prone as a general
policy, though I agree the latter two here are unnecessary.

That said, the lack of parenthesis around va in XEN_PT_INDEX_LEVEL was
definitely an oversight and I'll fix that.

>> +typedef struct
>> +{
>> +    __be64 pde;
>> +} pde_t;
>> +
>> +typedef struct
>> +{
>> +    __be64 pte;
>> +} pte_t;
>> +
>> +struct lvl1_pd
>> +{
>> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_1];
>> +};
>> +
>> +struct lvl2_pd
>> +{
>> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_2];
>> +};
>> +
>> +struct lvl3_pd
>> +{
>> +    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_3];
>> +};
>> +
>> +struct lvl4_pt
>> +{
>> +    pte_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_4];
>> +};
>> +
>> +static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
>> +{
>> +    return (pte_t){ .pte = cpu_to_be64(paddr | flags | PTE_LEAF) };
>> +}
>> +
>> +static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, unsigned long nls)
>> +{
>> +    return (pde_t){ .pde = cpu_to_be64(paddr | flags | nls) };
>> +}
> 
> In these two, are you sure you want to demand all callers to only ever
> pass in page-aligned addresses?
>

Fair point. Perhaps it would be best to mask the caller-provided
address.

>> +static inline paddr_t pte_to_paddr(pte_t pte)
>> +{
>> +    return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
>> +}
>> +
>> +static inline paddr_t pde_to_paddr(pde_t pde)
>> +{
>> +    return be64_to_cpu(pde.pde) & (PDE_NLB_MASK << PDE_NLB_SHIFT);
>> +}
>> +
>> +static inline bool pte_is_valid(pte_t pte)
>> +{
>> +    return pte.pte & be64_to_cpu(PTE_VALID);
>> +}
>> +
>> +static inline bool pde_is_valid(pde_t pde)
>> +{
>> +    return pde.pde & be64_to_cpu(PDE_VALID);
>> +}
>> +
>> +/*
>> + * ISA 3.0 partition and process table entry format
>> + */
>> +struct patb_entry {
>> +	__be64 patb0;
>> +	__be64 patb1;
>> +};
>> +#define PATB0_HR PPC_BIT(0) /* host uses radix */
>> +#define PATB1_GR PPC_BIT(0) /* guest uses radix; must match HR */
>> +
>> +struct prtb_entry {
>> +	__be64 prtb0;
>> +	__be64 reserved;
>> +};
>> +
>> +/*
>> + * We support 52 bits, hence:
>> + * bits 52 - 31 = 21, 0b10101
>> + * RTS encoding details
>> + * bits 0 - 3 of rts -> bits 6 - 8 unsigned long
>> + * bits 4 - 5 of rts -> bits 62 - 63 of unsigned long
>> + */
>> +#define RTS_FIELD ((0x2UL << 61) | (0x5UL << 5))
> 
> I'm afraid I can't bring comment and #define together. Bits 0-3 are
> 4 bits; bits 6-8 are only three. And I'd expect the lower ends of
> the ranges to appear as shift counts in the expression.
>

Yes, I agree that this is confusing. For reference, this comment was
verbatim copied from a comment in Linux[*] and I admittedly didn't pay
as much attention to it as I did to the expression itself.

As far as I can tell, the original author's intent was to use 1-indexed
non-PPC-style bit numbering and wrote 0-3 instead of 1-3 as a mistake.
Under this interpretation, the comment makes more sense as do the
shift counts in the expression being off by one.

I'll rewrite it to correct the mistake and use standard 0-indexing for
bits. Something like:

/*
 * We support 52 bits, hence:
 * bits 52 - 31 = 21, 0b10101
 * RTS encoding details
 * bits 0 - 2 of rts -> bits 5 - 7 of unsigned long
 * bits 3 - 4 of rts -> bits 61 - 62 of unsigned long
 */

[*] arch/powerpc/include/asm/book3s/64/radix.h:radix__get_tree_size

>> --- a/xen/arch/ppc/include/asm/processor.h
>> +++ b/xen/arch/ppc/include/asm/processor.h
>> @@ -133,6 +133,37 @@ struct cpu_user_regs
>>      uint32_t entry_vector;
>>  };
>>  
>> +static __inline__ void sync(void)
>> +{
>> +    asm volatile ( "sync" );
>> +}
>> +
>> +static __inline__ void isync(void)
>> +{
>> +    asm volatile ( "isync" );
>> +}
>> +
>> +static inline unsigned long mfmsr(void)
>> +{
>> +    unsigned long msr;
>> +    asm volatile ( "mfmsr %0" : "=&r"(msr) );
> 
> Why the &?

This was in the original Xen 3.2 header that this function was taken
from, but I agree that it seems strange. I'll drop it in v2.

> Also nit: Missing blank between closing double quote and opening paren.
> More instances of this below.
>

Will fix.

>> +    return msr;
>> +}
>> +
>> +static inline void mtmsrd(unsigned long msr)
>> +{
>> +    asm volatile ( "mtmsrd %0" : : "r"(msr) );
>> +}
>> +
>> +#define mtspr(reg, val) asm volatile ( "mtspr %0,%1" : : "K"(reg), "r"(val) )
>> +
>> +#define mfspr(reg)                                                             \
>> +    ({                                                                         \
>> +        unsigned long val;                                                     \
>> +        asm volatile ( "mfspr %0,%1" : "=r"(val) : "K"(reg) );                 \
>> +        val;                                                                   \
>> +    })
> 
> Why #define-s here when higher up you successfully use inline functions?
> 

This was a temporary thing that I meant to convert into a full function
before committing but seem to have overlooked. Thanks for pointing it
out.

> Also (nit) blanks would again be nice ahead of the commas.
> 

Will do.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/regs.h
>> @@ -0,0 +1,138 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> 
> You have an SPDX line first thing - why the spelled out license?
>

Leftover from importing the header from Xen 3.2. Will drop.

>> --- /dev/null
>> +++ b/xen/arch/ppc/mm-radix.c
>> @@ -0,0 +1,268 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include <xen/init.h>
>> +#include <xen/kernel.h>
>> +#include <xen/types.h>
>> +#include <xen/lib.h>
> 
> Nit: Please sort headers whenever possibly; also ...
> 
>> +#include <asm/bitops.h>
>> +#include <asm/byteorder.h>
>> +#include <asm/early_printk.h>
>> +#include <asm/mm.h>
>> +#include <asm/page.h>
>> +#include <asm/processor.h>
>> +#include <asm/regs.h>
>> +#include <asm/msr.h>
> 
> ... this group then.
>

I'll alphabetically sort both groups.

>> +void enable_mmu(void);
>> +
>> +#define INITIAL_LVL1_PD_COUNT      1
>> +#define INITIAL_LVL2_LVL3_PD_COUNT 2
>> +#define INITIAL_LVL4_PT_COUNT      256
>> +
>> +static size_t initial_lvl1_pd_pool_used;
>> +static struct lvl1_pd __aligned(sizeof(struct lvl1_pd))
>> +initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
>> +
>> +static size_t initial_lvl2_lvl3_pd_pool_used;
>> +static struct lvl2_pd __aligned(sizeof(struct lvl2_pd))
>> +initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
>> +
>> +static size_t initial_lvl4_pt_pool_used;
>> +static struct lvl4_pt __aligned(sizeof(struct lvl4_pt))
>> +initial_lvl4_pt_pool[INITIAL_LVL4_PT_COUNT];
> 
> Can instances of these structures usefully exist and be not suitably
> aligned? If not, having the types rather than the instances already
> declare the necessary alignment would seem better to me.
>

I can't think of a scenario in which we'd want instances of these
structures without alignment. I'll go ahead and apply the alignment to
the struct definitions instead.

>> +/* 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      (1UL << PRTB_SIZE_LOG2)
>> +
>> +static struct patb_entry
>> +    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_entry)];
>> +
>> +static struct prtb_entry
>> +    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_entry)];
> 
> The situation is different here, as array here aren't embedded into
> the type (being just single entries).
>

Right.

>> +_Static_assert(sizeof(initial_patb) == PATB_SIZE);
> 
> Is this really useful. And if so, why no similar check for prtb?
> Furthermore BUILD_BUG_ON() would be better, playing again into what
> the range of suitable compilers is for this to build.
>

This was a debug statement that I had inadvertently left in. I'll remove
it.

>> +static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
>> +                                         vaddr_t map_start,
>> +                                         vaddr_t map_end,
>> +                                         paddr_t phys_base)
>> +{
>> +    uint64_t page_addr;
>> +
>> +    if ( map_start & ~PAGE_MASK )
>> +    {
>> +        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\n");
>> +        die();
>> +    }
>> +
>> +    if ( (uint64_t) phys_base & ~PAGE_MASK )
> 
> Why the cast?
>

I believe in an earlier revision of this code I had phys_base's type as
void* or similar, so this is just a leftover that I forgot to clean up.
I'll remove the cast.

>> +    {
>> +        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n");
>> +        die();
>> +    }
>> +
>> +    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);
> 
> paddr_to_pde() doesn't mask off the top bits. Are you relying on
> lvl2_pd_pool_alloc() using PIC addressing to get at the value it
> then returns?
>

I'm not sure I understand the question here. The pointer returned by
lvl2_pd_pool_alloc() will indeed have the top address bits set in
accordance with the link address, even before paging is enabled because
of the relocation code and jump to XEN_VIRT_START in patch 2. This is
fine though, since I call __pa() to strip off these bits before passing
it to paddr_to_pde.

> Also this and the similar lines below look to be a little too long.
>

Yeah, I noticed this as well, but my understanding was that lines longer
than 80 columns were permitted in cases where they don't hurt
readability. In any case, I can fix this.

>> +        }
>> +        else
>> +            lvl2 = (struct lvl2_pd *) pde_to_paddr(*pde);
> 
> This casts a physical address to a pointer; normally only virtual
> addresses can be used this way. Could there be a helper added to
> have such a dangerous-looking construct in (ideally) just a single
> place?
>

Fair point. We already have __va() which will work due to the previously
mentioned relocation code in patch 2 even before the MMU is enabled. I
think it might make sense to use that.

>> +        /* Allocate LVL 3 PD if necessary */
>> +        pde = pt_entry(lvl2, page_addr);
>> +        if ( !pde_is_valid(*pde) )
>> +        {
>> +            lvl3 = lvl3_pd_pool_alloc();
>> +            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID, XEN_PT_ENTRIES_LOG2_LVL_3);
>> +        }
>> +        else
>> +            lvl3 = (struct lvl3_pd *) pde_to_paddr(*pde);
>> +
>> +        /* Allocate LVL 4 PT if necessary */
>> +        pde = pt_entry(lvl3, page_addr);
>> +        if ( !pde_is_valid(*pde) )
>> +        {
>> +            lvl4 = lvl4_pt_pool_alloc();
>> +            *pde = paddr_to_pde(__pa(lvl4), PDE_VALID, XEN_PT_ENTRIES_LOG2_LVL_4);
>> +        }
>> +        else
>> +            lvl4 = (struct lvl4_pt *) 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_dprint(paddr, "being mapped to ");
> 
> Blank line again please between declarations and statements.
>

Will fix.

>> +            radix_dprint(page_addr, "!\n");
>> +            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
>> +            {
>> +                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
>> +                flags = PTE_XEN_RX;
>> +            }
>> +            else if ( is_kernel_rodata(page_addr) )
>> +            {
>> +                radix_dprint(page_addr, "being marked as RODATA (RO)\n");
>> +                flags = PTE_XEN_RO;
>> +            }
>> +            else
>> +            {
>> +                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n");
>> +                flags = PTE_XEN_RW;
>> +            }
>> +
>> +            *pte = paddr_to_pte(paddr, flags);
>> +            radix_dprint(paddr_to_pte(paddr, flags).pte,
>> +                             "is result of PTE map!\n");
>> +        }
>> +        else
>> +        {
>> +            early_printk("BUG: Tried to create PTE for already-mapped page!");
>> +            die();
>> +        }
>> +    }
>> +}
>> +
>> +static void setup_partition_table(struct patb_entry *patb, struct lvl1_pd *root)
> 
> __init?
>

Yes, good call. Will add.

>> +{
>> +    unsigned long ptcr;
>> +
>> +    /* Configure entry for LPID 0 to enable Radix and point to root PD */
>> +    uint64_t patb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1 | PATB0_HR;
>> +    uint64_t patb1 = __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB1_GR;
>> +    patb[0].patb0 = cpu_to_be64(patb0);
>> +    patb[0].patb1 = cpu_to_be64(patb1);
>> +
>> +    ptcr = __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
>> +    mtspr(SPRN_PTCR, ptcr);
>> +}
>> +
>> +static void setup_process_table(struct prtb_entry *prtb, struct lvl1_pd *root)
> 
> __init?
>

Ditto.

>> +{
>> +    /* Configure entry for PID 0 to point to root PD */
>> +    uint64_t prtb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1;
>> +    initial_prtb[0].prtb0 = cpu_to_be64(prtb0);
>> +}
>> +
>> +void __init setup_initial_pagetables(void)
>> +{
>> +    struct lvl1_pd *root = lvl1_pd_pool_alloc();
>> +    unsigned long lpcr;
>> +
>> +    setup_initial_mapping(root,
>> +                         (vaddr_t) _start,
>> +                         (vaddr_t) _end,
>> +                          __pa(_start));
> 
>     setup_initial_mapping(root,
>                           (vaddr_t)_start,
>                           (vaddr_t)_end,
>                           __pa(_start));
> 
> (if flowing across multiple lines is needed / wanted)
>

I just checked and the line without flowing fits within exactly 80
columns, so I'll make that change.

>> --- a/xen/arch/ppc/opal.c
>> +++ b/xen/arch/ppc/opal.c
>> @@ -1,8 +1,10 @@
>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include "xen/compiler.h"
> 
> Surely <xen/compiler.h>, but then neither this nor ...
>

This was accidentally added by my editor/clangd and was not my
intention. I'll remove all change to this file in this patch.

>>  #include <asm/boot.h>
>>  #include <asm/early_printk.h>
>>  #include <asm/opal-api.h>
>>  #include <asm/processor.h>
>> +#include <asm/mm.h>
> 
> ... this addition look motivated when nothing else changes in this file.
>

See above.

> Also (I overlooked this in the earlier patch) all xen/ headers generally
> want to come ahead of all asm/ ones.
>

I'll keep that in mind going forward and for the next time I have a
valid reason to touch this file.

>> --- a/xen/arch/ppc/setup.c
>> +++ b/xen/arch/ppc/setup.c
>> @@ -7,6 +7,8 @@
>>  /* Xen stack for bringing up the first CPU. */
>>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
>>  
>> +void __init setup_initial_pagetables(void);
> 
> This needs to live in a header which is included both here and in the
> file defining the function.
>

I see I already declared the function's prototype in mm.h. This was
probably an oversight from before I added that. I'll drop the prototype
from setup.c and include asm/mm.h instead.

>> +static void tlbiel_radix_set_isa300(unsigned int set, unsigned int is,
>> +                                    unsigned int pid, unsigned int ric,
>> +                                    unsigned int prs)
>> +{
>> +    unsigned long rb;
>> +    unsigned long rs;
>> +
>> +    rb = (set << PPC_BITLSHIFT(51)) | (is << PPC_BITLSHIFT(53));
>> +    rs = ((unsigned long) pid << PPC_BITLSHIFT(31));
>> +
>> +    asm volatile ( "tlbiel %0, %1, %2, %3, 1" :
>> +                  : "r"(rb), "r"(rs), "i"(ric), "i"(prs) : "memory" );
> 
> Nit: One too few indenting blanks (besides others that are missing).
> Perhaps also better to pull the standalone : onto this second line.
> Overall perhaps (also for line length)
> 
>     asm volatile ( "tlbiel %0, %1, %2, %3, 1"
>                    :: "r" (rb), "r" (rs), "i" (ric), "i" (prs)
>                    : "memory" );
>

Will do.

>> +void radix__tlbiel_all(unsigned int action)
> 
> Is the double underscore in here intentional?
>

It matches the original Linux file from which this routine was imported
(referenced in the file's top-level comment).

As I understand it, this is meant to indicate a private function that
shouldn't be called outside of radix-specific MMU or TLB code.  As
Linux's radix support code spans multiple files, a static function
wouldn't work for that.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 20:55:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 20:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581363.910031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqD9-0002rr-1X; Wed, 09 Aug 2023 20:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581363.910031; Wed, 09 Aug 2023 20:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqD8-0002rk-Uw; Wed, 09 Aug 2023 20:55:18 +0000
Received: by outflank-mailman (input) for mailman id 581363;
 Wed, 09 Aug 2023 20:55:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTqD7-0002nd-Uk
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 20:55:18 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09bdf0a9-36f7-11ee-8613-37d641c3527e;
 Wed, 09 Aug 2023 22:55:15 +0200 (CEST)
Received: from mail-bn8nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 16:55:08 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5938.namprd03.prod.outlook.com (2603:10b6:303:9b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Wed, 9 Aug
 2023 20:55:06 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 20:55:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09bdf0a9-36f7-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691614515;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=fJuHu8NqLd2az+NUbKq47zdtoWIH/ARDT/1veQidzZs=;
  b=KZRK8zrZBvXO2IfLMnV417E90owtkUE2arXyYqHrPiyucddxEdNb8XZd
   kK4W6mxpyYtnCHWsjg2LLJELq1gfuWuRmaCDtZGGmd+imB1+oAsjPelKz
   G2Xn+yONWI7u7GK8SiMviHHDcFv3tSSgUpXOzT1sQ5P9slK1IOHNqgqfY
   o=;
X-IronPort-RemoteIP: 104.47.55.173
X-IronPort-MID: 121700303
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YLpS2a7DqB0R73jbc3VdVQxRtKnGchMFZxGqfqrLsTDasY5as4F+v
 jAbCzqAOK2MZ2PyKtBxaY639UkHsMCEy95rSABspX0xHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAT7QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 /5JIhwnMza6gM2SmJCXabc33ekMI5y+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+OF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtITeLgrqUy2zV/wEQXA0ZOc2DgpMOV1B/5fP9QB
 RAm0Qkx+P1aGEuDC4OVsweDiF6JuAQNHeVZFeIS4RuIjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+fqja3JC4UMX5EYCYCRAQI+fHzrYcrlBXNQ91/VqmvgbXdGzv93
 jSLpygWnKgIgIgA0KDT1VLahzOhoLDZQwhz4R/YNkq+9R9wboOhY42u6HDY4OxGIYLfSUOO1
 FAultKC9ukIAdeonTaUXeQWNLiz4rCONzi0vLJ0N5wo9jDo8Xjze4lVuWt6PB0wbZ1CfiL1a
 kjOvw8X/IVUIHahca5wZcS2Ftguyq/jU9/iU5g4c+ZzX3S4TyfflAkGWKJa9zmFfJQE+U3nB
 aqmTA==
IronPort-HdrOrdr: A9a23:rqpfX6tW/fQXk4Y85cCGx0UB7skDSdV00zEX/kB9WHVpmwKj5r
 mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U
 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
X-Talos-CUID: 9a23:GNtpkm2M4ZkQLzT17SVUP7xfOMJ0eFH3kVHpJGCcUURFa+POEnK/9/Yx
X-Talos-MUID: 9a23:9nRbwgZnJJwvkeBTszS33BdZb8JSz/r/T2cgnrtaieKnKnkl
X-IronPort-AV: E=Sophos;i="6.01,160,1684814400"; 
   d="scan'208";a="121700303"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B+OpxoCU97OqkkPLAQvtXbtneEcIto+H3XZZZ+GUyq6CVWjmew7YBTw5SNH5aoU2PjY6eodalcR9fNQpk5s4oxhpkzuqRGjtKX6XsDPi6Scb59vuQmypT0NPlxgCp369Sh/WFw4ZTl1rXeb4ITwXqe+8YWcexiOZAG3xMItgfItX2+gfelPTZ327WU4v8gjgJtpW2Z9Kji7TdEbvnTgcwV3RDrZq41M2Q5Y3M28HaBS3XAPnI9rEST9x6YpmxkDMnQsj4/hLni7hR6eIDeDxC4Dms/k6yWyqJRzlGe9R3AdiaokVQiFHswIm1fGr8VEz/KT7VPx88ookJ/GPiqgJUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fJuHu8NqLd2az+NUbKq47zdtoWIH/ARDT/1veQidzZs=;
 b=aEnLWOn4MkqRJhQbzEb2v01DBYO6jjruIsMlw0/Qf0Nn1vgNM946vESI6YnJN3erx0IEoLgHx4F2vnExFRJtrDI52x62skUgDOV5BRBPqSdFIJkOd0gO1G1YW6x2s01+LJQTYMDrQhCDOfTzjbMeVZJgf0uzPUu71Ia99z4yeSVopSfGsUVtfFr0gO3AvWvXTtxmdDN4gCsvwyUuc32ujgvXS8BUJOnQAC6gnX0jANxPvN3RI6Xv0vZQPjUj/Uq+OyWqyP1zVMWie6HOyZ49tVdIzgHN4nNCkMKzxCRcRASPYNCvRFPP+5RMyJDslmx7pL9XbFMMtRJ9eUQ1cgSb3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fJuHu8NqLd2az+NUbKq47zdtoWIH/ARDT/1veQidzZs=;
 b=C+yZJlmkARBWrcklJ00A718yDXf2aes+TGUtHv8+Rpz0h/dFwo4mTm26uP6a1AKIQ/AkxL3BBZhSQ/8mB+aKMajAimoQeYU3UpFT+vwHYl8zE8v+MZeAesyfSToUd72Sf7vyeeFC4TzAhdW/Nm3AP3v6kwsoowAiNkuLsSb4iMc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com>
Date: Wed, 9 Aug 2023 21:54:58 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
In-Reply-To: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0256.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::28) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5938:EE_
X-MS-Office365-Filtering-Correlation-Id: b3d9b78e-d673-4cb6-583d-08db991ae84d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kDWHdpIqZklk1ortUTwDg2l8rxGlsYqMnw8F8+J8sz7xwChzJjEkBJFBc1IbBuYNwHWRAvSGvDED3FWXR+vUdFgUid2AXI/03KL8cTMlGTgScMkcd49gLa4SQwJgIAfUjLYxww7BoyfOCpDWpIv0ejJ4GpuDbm3NsrSTjmgxs9GFUK8ToqYJ/v4NAsjYMObAAtinXKC71crXnw2MNBhGScMJ65s7FvOH9t40Zy7pd80u0i18JluIYoepUxhMgOaR6etMV7tfDtZLP6l1ww/uVTitAGXzXnas8xn3VCkNENxuZZkiMXEbCku6MbzHAU0IcitihFdq5gUrL0fs7C5li6oHoRyCcymS4G/ucbK+IhdAsFjC3i1SrCytRmMVHbYSXyaEHnBjpsL57opYfaFPi9JRfA2nNIjBV0qD7PwCIwVMUIkOnSHjGm+XLuxfqSVTN7px2O7Yff4aVmy1IA5UFvL0V28Tzbqq7B30DlwSd1ayUZugPNu7jKTiskI0hOwpGXRr4gUD49juFXCovT2TCiP6yM1/MgQaytXK0IcyZJExX1CMs7JiaWZ7iOmpHcr4xLA3LQSp/jfNKseLRhAI8tS6/zoQ8vZIU2BS8rOE1rUMdfU0em2VbxaKZjHUCYrbKR3fNYswJp/n5s711EpewA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(376002)(346002)(366004)(136003)(451199021)(186006)(1800799006)(31686004)(8676002)(8936002)(2906002)(82960400001)(4326008)(66946007)(66476007)(66556008)(478600001)(45080400002)(110136005)(54906003)(41300700001)(316002)(5660300002)(31696002)(86362001)(6666004)(6486002)(966005)(6512007)(38100700002)(53546011)(6506007)(26005)(83380400001)(2616005)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3JRSXlBSlFWZGVUcWptZmJ6YUhacEpkNjRHbUZjRkhzL2tTUUpaU1UyaUZ3?=
 =?utf-8?B?OUp5T0thR2pnTjlhM004YytRTjV5NmhjUGM3NW9MRFJOQlNSMmE2OW5PajBz?=
 =?utf-8?B?RHJIZHdWSG5aR0ZrRTN5NEVKMWRUZGFGc0gzRi9hVVRTTUNBNXdnWGxYL0lT?=
 =?utf-8?B?SjlkSFRHS3N0TU9za3V3TTdiOUlrZjhPRThDZXRVaStCKzB4Q2wzQzVrQjBZ?=
 =?utf-8?B?OVBPZVV1OU5DL0NoQWlYNkt1dGoyT09EdjY2NHJGbnRFbU52c2JmZ1lYandO?=
 =?utf-8?B?cksvZmYvMThCa0N3YUhGNFdzUDNvUzc5c0RVdEZNZXZCMStxdms3ZUpMSnBl?=
 =?utf-8?B?dFdCbXQ1VUY1UWFOKzFYdjB1YXJDSER2dTFWRnVCcU5BVXl2aytycEF4MWg1?=
 =?utf-8?B?R0RpZWtLSEczb09jcGFzWFFUcGZsUVBaVi9rRkJSQkQ3cmNYMXlBZHhIdUUv?=
 =?utf-8?B?N0h1RTYwRlFUUGdaQmlpelAwYXhwL1IwOGhsMS9JVmx6ck8rejl5NmZNMXJi?=
 =?utf-8?B?a2RrazBuYTRQNXNhSDRwU216Y0tGeEZNL29EaEJYeFczWUVIQ2VYVUlsU2ow?=
 =?utf-8?B?TXlyc280Qi9yN2NKaUx4R0R5dzV1YjNvdzJXeEwyUXlYcEg4SHAvbUJhNDZO?=
 =?utf-8?B?eUdyWlZaQ2ZrS0RSR2k5Y2Noa2xTRVo5ZmtNb3NBL3JJSmJ5eUhjUXQzbXVU?=
 =?utf-8?B?cWExZjFidnBmVUZXVStWK2R4V0VaMjFUSGEvczlaeVhqZW13S0ZQcWdVaTJm?=
 =?utf-8?B?RGxWaTFnS01JU01yY0NvTXVwNlJEYWlINUlUMUhhNDZOWG55SWJDU1dqbU5N?=
 =?utf-8?B?b1Q0Rzk2azY2Sms0KzJuYU1TNEFmM0xTSFBhYk1vaDRBOTFOQ3RUK3B5em5D?=
 =?utf-8?B?NXl2cXF5RlpldjF1OWd2S2g3dEpZNlppemtkU0hUNUl2TXFUbnVXZ0Y4aTBq?=
 =?utf-8?B?WFozZFExaVh5SW5BakR2SldvVXJOQzMzbkg5YVN6a0FUZGRxQUpsYjROREVB?=
 =?utf-8?B?ZGlJL015czNSQUQ1bFlYUFR4ZnRBVGNENW1zajFub244YlFHU0czMHEwd2p0?=
 =?utf-8?B?cENqOXJLMVYrQ0czWm5aTzBCOGJIRTZia3l5WlRoeVVSSlNYaUlZQ1V0RjZ2?=
 =?utf-8?B?Z3dpaDd1aFJDcEhRZkdybDFaWlA3RTN5UjZSa2QzUDNxN25oZGtZSE1JWjE5?=
 =?utf-8?B?aTBRSVhQbWRjTzFTWnVBQ3J3R2hYaWRWVDVvWlZSRDBHTENWbmRIelM5S2E1?=
 =?utf-8?B?QStRNzNnTTdGMjBCTFNwU0t1MXB6Y2xnQ3UrbllnejZXRlQ1ZmpOM0ZJOGFK?=
 =?utf-8?B?Q3NKdXNsbmlCOWEwTTRiNXZDNmlLRzdYOTFtY2RNSlFuMjVZU1NIL1VnWmJq?=
 =?utf-8?B?a0kxWW1RSmptbEdCd2Q3a0FNQmlqWlpPY1dMa2NpSUkxTmFObHM2WU9kckly?=
 =?utf-8?B?N1UzbytqR2J1eHlKTGM3UFhkTWlCRFJ6WVNyZGRvLzN0VE5sQ1JjdHFlcENk?=
 =?utf-8?B?enR6TnR5TEJIcU9iSWNSR205NnM3VHFUcGg5Zm5PcFRsS2txOFl1a0dGdXpj?=
 =?utf-8?B?TkVoL3QvcG9RZVQ4eFdlMlF6MHM1WmM3eDE0M3NtMnFLeTRKS2p6MTdMSUFQ?=
 =?utf-8?B?RWovTkFxai9Lc1NmNjB1ZWFUb0xJYXZRaXVzWUZMTVpGdnFXckQ3VWFwR1hN?=
 =?utf-8?B?NUVheFdCOGJNT3hOc3d4d01rdlhPYjg1N3hFWmNaNWxucFVQdFRiNExDM1gw?=
 =?utf-8?B?WjE0R1MzeTlBVUVZbDl0SDJIRGdCc3E1OUtuNHNyY0ZlcFh3NXFYb3FvZU1u?=
 =?utf-8?B?T0c3SmZWVXZiaXRzcUt2UjVGRWF2VGVxNEdNdmhWeHBtTHEzWW1nSUVXTS9o?=
 =?utf-8?B?bFJONUhxSkNZR0Z5dDB1dG9uTFEvZ3VxdWN3VDR3MHR5cko3TWFubitJQVRW?=
 =?utf-8?B?Umd3bElNQ1NQTFpacDJGeVJ2K3RtS2pnQVEvbmFYTkd3ckFQV3hKOUkweE9o?=
 =?utf-8?B?UGJxTUtQZmMzMU1MdlFQOUdEak8wQ2lVZ1NTMkRIV3dHN3VPQWloWTBzc0g5?=
 =?utf-8?B?dEVZVkQxQ2ZkUUlwMHZhcXdBT1QvRDk4ZGx0YnBxQlpzclFUMHZYREROZW1D?=
 =?utf-8?B?ejVXamVQeWdjU1p1Y0QrZ2kwQ3BrWkJIdTJnTUE0Z0hJR0FOU1dJdmg0WjVY?=
 =?utf-8?B?ekE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6L0SK6oEnNwOpTG8b9oCaFnN21p8HRRGBpb8DcP0l5bQt2+jJxpQtrUBgPcWNF1PgCX0PpuIJzFuCSZdeTlJCPjIudCExbkeNhhGy33vCT5IdOn1bV0wCBTLSPPfkZqFRcyH70MDSVn1F2cZroingNtU3f7uWINJni/7p630Fhjj0MamZWT6V/ci61+ZZATd2x179DCGkoDi6TDR1gOpjQgOOisX1Aut8PVcj8ncJt2avdHdMDIifZsCLIDPmt7jPzuB5+KN6tUv7eUKh77H1xZvFxOTY/FjUYSmZJDTmimlc3j798MpavNlt0wEdZDRAX1tyNc+K3xbVrjC2WdN83wiNWStsoKCJxD63Mi61pv44+AmVEKgDh/CMIKOv0fi2Ar0jFKePwoNIuNcO0Ut1tHh4nUMGyJRBMNz9j5MxcCNM5ZWo6KJUdZZ8j3ptQIu9E/0JX6VQ6Mwaq5a9Ak9UyNW2Xtvi0zkUt5db67dG3RHKIlpEbYR7PBszbZlggIHd279PTMDVvf5jllvM5kkV7TTtF4ay2RM+3gVfhXYI6C0OCOgUOLSlqwwR3Nlt66QVHV9rdMw2/A9Zaun84EZpNOPYqNGOhfO2D3I5y1vrmBnVAE9JMfaS03KHSkQ+opprPtd5YveGo+whT7h7nuRuxbHBonPndoVqVn5qbw+iOEIdKXHG22QPqumDRv5u914o10URIA5r3ne3t+B9xWj0zW+aLhmcL3YhphDIqsE/ikCvCRPcTmgWzb06n5ECmEbW6QaglOhpjn07NW8BU2tR2yeg/CWMh+uqgJID9w1mnXqisO9Pd4ZEwLarDOSnF7Uc2HPAB4kr3uBR9g6xnPhsFArqwdjiFp2Ih6xRjA5GZhW9GNThqswu3zUkExpUreGnSkTaCWunZojDdeyJOPj2TMBcXqVhqrWXAvMKL8TzDk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3d9b78e-d673-4cb6-583d-08db991ae84d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 20:55:05.6101
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3/kShmj3Ov0427yxnTaRWLTjHa/9v9YMARAWW1XnyHaS2wKtr7gaCHb1mhh8bPrfCSJenPHssRULD4TRKHiUn4duDfislX0ymfz0hzadaUM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5938

On 07/08/2023 2:24 am, Henry Wang wrote:
> Hi everyone,
>
> Following the release schedule discussion in in April, I am sending this email
> to remind that according to the release schedule [1], August 11 (this Friday)
> will be the last posting date, when patches adding new features are expected
> to be posted to the mailing list by this date.
>
> Also, note that we currently have 1 release blocker [2] which might need
> some attention.
>
> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
> [2] https://gitlab.com/xen-project/xen/-/issues/114

Off the top of my head.

There are still unaddressed Gitlab bugs from the Eclair integration, and
other Gitlab bugs (use of unstable containers) which I'd unwilling to
let 4.18 be released with, given the pain we've had on the stable trees
trying to keep CI working.

There's the XENVERSION_* hypercall ABI truncation fixes which is a
blocker for XenServer (I'm refusing to forward port a piece of technical
debt when it needs fixing upstream).

There's another thing on the back of Tuesday's mess which has
technically been posted years ago - the proper eIBRS support, but I want
to refresh and get sorted for 4.18.Â  I expect it to be an even bigger
perf win than the ARCH_CAPS work was.Â  But I'm not going to have time to
get that sorted this week.

At this point, I'm hoping to squeeze in before RC1, along with some
compelling perf numbers.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 21:21:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 21:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581377.910041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqbr-0006ei-2u; Wed, 09 Aug 2023 21:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581377.910041; Wed, 09 Aug 2023 21: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 1qTqbq-0006eb-W5; Wed, 09 Aug 2023 21:20:50 +0000
Received: by outflank-mailman (input) for mailman id 581377;
 Wed, 09 Aug 2023 21: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=3djk=D2=lwn.net=corbet@srs-se1.protection.inumbo.net>)
 id 1qTqbp-0006eV-CV
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 21:20:49 +0000
Received: from ms.lwn.net (ms.lwn.net [45.79.88.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a8def81-36fa-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 23:20:47 +0200 (CEST)
Received: from localhost (unknown [IPv6:2601:281:8300:73::5f6])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ms.lwn.net (Postfix) with ESMTPSA id 5DF4E218;
 Wed,  9 Aug 2023 21:20: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: 9a8def81-36fa-11ee-b281-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.11.0 ms.lwn.net 5DF4E218
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lwn.net; s=20201203;
	t=1691616044; bh=D3OCzS/TjQzlx859sDe4uhCo8ItizHSPamS05kU7M/E=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
	b=NXwT7fNZt30FAE6/rsWNAIxKfZAnHdE0QNzpPAfTcuuLXJv/8sSeNpRi/YYa5NjJC
	 JPc/pZIj2m1/iKfmCA6z6g2y88sFf4ZH/bH/4XDB2qcRK5jWAwzLmabxM5iXzuAYwc
	 gdH4oIFqQIHil75Is17wCUwIlXkrwODoldc2N5n5BFNAkaN5JRNZKvsISIklyJvP2F
	 4+b3s2bgvKX3Qdk1NsvqoUWqBFM5kFpduA+bStZQdIeCWxvmzzb6PeCz24WoTHyNsu
	 hckvkWe4mo+JyUGpbBEyCK3lFgQYmdeewhQkWR1ZSjYdvGexm2T+wCrOys5KDkkoTp
	 DAFJ4ZWqDCc4Q==
From: Jonathan Corbet <corbet@lwn.net>
To: Petr Tesarik <petrtesarik@huaweicloud.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Russell King <linux@armlinux.org.uk>, Thomas
 Bogendoerfer <tsbogend@alpha.franken.de>, Thomas Gleixner
 <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "maintainer:X86
 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>, "H. Peter Anvin"
 <hpa@zytor.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael
 J. Wysocki" <rafael@kernel.org>, Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Christoph Hellwig
 <hch@lst.de>, Marek Szyprowski <m.szyprowski@samsung.com>, Robin Murphy
 <robin.murphy@arm.com>, Christoph Lameter <cl@linux.com>, Pekka Enberg
 <penberg@kernel.org>, David Rientjes <rientjes@google.com>, Joonsoo Kim
 <iamjoonsoo.kim@lge.com>, Andrew Morton <akpm@linux-foundation.org>,
 Vlastimil Babka <vbabka@suse.cz>, Roman Gushchin
 <roman.gushchin@linux.dev>, Hyeonggon Yoo <42.hyeyoo@gmail.com>, Petr
 Tesarik <petr.tesarik.ext@huawei.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Hans de Goede <hdegoede@redhat.com>,
 James Seo <james@equiv.tech>, James Clark <james.clark@arm.com>, Kees Cook
 <keescook@chromium.org>, "moderated list:XEN HYPERVISOR ARM"
 <xen-devel@lists.xenproject.org>, "moderated list:ARM PORT"
 <linux-arm-kernel@lists.infradead.org>, open list
 <linux-kernel@vger.kernel.org>, "open list:MIPS"
 <linux-mips@vger.kernel.org>, "open list:XEN SWIOTLB SUBSYSTEM"
 <iommu@lists.linux.dev>, "open list:SLAB ALLOCATOR" <linux-mm@kvack.org>
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Subject: Re: [PATCH v7 9/9] swiotlb: search the software IO TLB only if the
 device makes use of it
In-Reply-To: <adea71bd1fa8660d4c3157a562431ad8127016d4.1690871004.git.petr.tesarik.ext@huawei.com>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
 <adea71bd1fa8660d4c3157a562431ad8127016d4.1690871004.git.petr.tesarik.ext@huawei.com>
Date: Wed, 09 Aug 2023 15:20:43 -0600
Message-ID: <87a5uz3ob8.fsf@meer.lwn.net>
MIME-Version: 1.0
Content-Type: text/plain

Petr Tesarik <petrtesarik@huaweicloud.com> writes:

> From: Petr Tesarik <petr.tesarik.ext@huawei.com>
>
> Skip searching the software IO TLB if a device has never used it, making
> sure these devices are not affected by the introduction of multiple IO TLB
> memory pools.
>
> Additional memory barrier is required to ensure that the new value of the
> flag is visible to other CPUs after mapping a new bounce buffer. For
> efficiency, the flag check should be inlined, and then the memory barrier
> must be moved to is_swiotlb_buffer(). However, it can replace the existing
> barrier in swiotlb_find_pool(), because all callers use is_swiotlb_buffer()
> first to verify that the buffer address belongs to the software IO TLB.
>
> Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
> ---

Excuse me if this is a silly question, but I'm not able to figure it out
on my own...

>  include/linux/device.h  |  2 ++
>  include/linux/swiotlb.h |  7 ++++++-
>  kernel/dma/swiotlb.c    | 14 ++++++--------
>  3 files changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 5fd89c9d005c..6fc808d22bfd 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -628,6 +628,7 @@ struct device_physical_location {
>   * @dma_io_tlb_mem: Software IO TLB allocator.  Not for driver use.
>   * @dma_io_tlb_pools:	List of transient swiotlb memory pools.
>   * @dma_io_tlb_lock:	Protects changes to the list of active pools.
> + * @dma_uses_io_tlb: %true if device has used the software IO TLB.
>   * @archdata:	For arch-specific additions.
>   * @of_node:	Associated device tree node.
>   * @fwnode:	Associated device node supplied by platform firmware.
> @@ -737,6 +738,7 @@ struct device {
>  #ifdef CONFIG_SWIOTLB_DYNAMIC
>  	struct list_head dma_io_tlb_pools;
>  	spinlock_t dma_io_tlb_lock;
> +	bool dma_uses_io_tlb;

You add this new member here, fine...

>  #endif
>  	/* arch specific additions */
>  	struct dev_archdata	archdata;
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index 8371c92a0271..b4536626f8ff 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -172,8 +172,13 @@ static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
>  	if (!mem)
>  		return false;
>  
> -	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC))
> +	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC)) {
> +		/* Pairs with smp_wmb() in swiotlb_find_slots() and
> +		 * swiotlb_dyn_alloc(), which modify the RCU lists.
> +		 */
> +		smp_rmb();
>  		return swiotlb_find_pool(dev, paddr);
> +	}
>  	return paddr >= mem->defpool.start && paddr < mem->defpool.end;
>  }
>  
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index adf80dec42d7..d7eac84f975b 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -730,7 +730,7 @@ static void swiotlb_dyn_alloc(struct work_struct *work)
>  
>  	add_mem_pool(mem, pool);
>  
> -	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
> +	/* Pairs with smp_rmb() in is_swiotlb_buffer(). */
>  	smp_wmb();
>  }
>  
> @@ -764,11 +764,6 @@ struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr)
>  	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
>  	struct io_tlb_pool *pool;
>  
> -	/* Pairs with smp_wmb() in swiotlb_find_slots() and
> -	 * swiotlb_dyn_alloc(), which modify the RCU lists.
> -	 */
> -	smp_rmb();
> -
>  	rcu_read_lock();
>  	list_for_each_entry_rcu(pool, &mem->pools, node) {
>  		if (paddr >= pool->start && paddr < pool->end)
> @@ -813,6 +808,7 @@ void swiotlb_dev_init(struct device *dev)
>  #ifdef CONFIG_SWIOTLB_DYNAMIC
>  	INIT_LIST_HEAD(&dev->dma_io_tlb_pools);
>  	spin_lock_init(&dev->dma_io_tlb_lock);
> +	dev->dma_uses_io_tlb = false;

...here you initialize it, fine...

>  #endif
>  }
>  
> @@ -1157,9 +1153,11 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
>  	list_add_rcu(&pool->node, &dev->dma_io_tlb_pools);
>  	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
>  
> -	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
> -	smp_wmb();
>  found:
> +	dev->dma_uses_io_tlb = true;
> +	/* Pairs with smp_rmb() in is_swiotlb_buffer() */
> +	smp_wmb();
> +

...and here you set it if swiotlb is used.

But, as far as I can tell, you don't actually *use* this field anywhere.
What am I missing?

Thanks,

jon


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 21:43:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 21:43:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581383.910051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTqy3-0000vu-Sw; Wed, 09 Aug 2023 21:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581383.910051; Wed, 09 Aug 2023 21: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 1qTqy3-0000vn-QO; Wed, 09 Aug 2023 21:43:47 +0000
Received: by outflank-mailman (input) for mailman id 581383;
 Wed, 09 Aug 2023 21: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTqy2-0000vh-5a
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 21:43:46 +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 cf8d7409-36fd-11ee-b281-6b7b168915f2;
 Wed, 09 Aug 2023 23:43:44 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8705D64A8A;
 Wed,  9 Aug 2023 21:43:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE0A2C433C8;
 Wed,  9 Aug 2023 21:43: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: cf8d7409-36fd-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691617422;
	bh=qy3g1xe0C13bmZblWwqNR7H1+t/fCpycJnO7iRGfc7Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=j8Dplpqah295g0lnfVn8vNMPOHMM9nlmMaSFkIFMaQYplD24Q3b2boruuVCXpSaUF
	 CAlyaV/hksOhNkpCXMrj+JAHRI5CBQFppS3m63lM3dYOPXhHQyFAoM0qYH2un2+7qJ
	 f4qVsK2EP1aW5gsXC3XmrGsOEz7Ku4/8sTs6SAQOvRlwJWAIK12/lEmXlphOA7XTRV
	 1OV5d21X/KCjt0g7dHLj38VLwnKUO53F2da5A1EB6OMOOF7EFZqCRt4enO+M1UIUb1
	 Dwe5aTE8zt5kEzpir1hSF73We9WR0OqA4W3MfDXYP8PTuGumAO0F4FdJuhFgdtj66b
	 eqzAuyPzVe4ag==
Date: Wed, 9 Aug 2023 14:43: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: Henry Wang <Henry.Wang@arm.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "community.manager@xenproject.org" <community.manager@xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, 
    "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
In-Reply-To: <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com> <ec8e75da-743b-50dc-4665-854c446c974e@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, 9 Aug 2023, Andrew Cooper wrote:
> On 07/08/2023 2:24 am, Henry Wang wrote:
> > Hi everyone,
> >
> > Following the release schedule discussion in in April, I am sending this email
> > to remind that according to the release schedule [1], August 11 (this Friday)
> > will be the last posting date, when patches adding new features are expected
> > to be posted to the mailing list by this date.
> >
> > Also, note that we currently have 1 release blocker [2] which might need
> > some attention.
> >
> > [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
> > [2] https://gitlab.com/xen-project/xen/-/issues/114
> 
> Off the top of my head.
> 
> There are still unaddressed Gitlab bugs from the Eclair integration

The bug you managed to find it is now fixed (commit e55146071de9). I am
all for fixing Gitlab bugs so let me know if you find anything else! I
am not aware of any other issue with Eclair at the moment.


> and other Gitlab bugs (use of unstable containers) which I'd unwilling
> to let 4.18 be released with, given the pain we've had on the stable
> trees trying to keep CI working.

That is fair enough. To make this more concrete and easier to track, the
following would need to be changed to using stable containers:

- .qemu-arm64
- .qemu-arm32
(I am not counting .qemu-riscv64)

Andrew, is that what you meant? Am I missing anything?


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 21:51:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 21:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581389.910061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTr5n-0002ST-LJ; Wed, 09 Aug 2023 21:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581389.910061; Wed, 09 Aug 2023 21: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 1qTr5n-0002SM-HT; Wed, 09 Aug 2023 21:51:47 +0000
Received: by outflank-mailman (input) for mailman id 581389;
 Wed, 09 Aug 2023 21:51:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTr5m-0002SG-9v
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 21:51:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTr5i-0005CF-99; Wed, 09 Aug 2023 21:51:42 +0000
Received: from [54.239.6.185] (helo=[192.168.6.56])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTr5i-0000AL-12; Wed, 09 Aug 2023 21:51:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5Rm0lE1tq8VCtXtig6KHKXIqLjZf2jl56CFbzjUNHN8=; b=qOv/KVjCb143/Xf8yvLA7kSo8T
	ATKPNXyLVWtrj7/7D6r6HqnKn1xBO+aUAgDbkle0xlRZToqFfS8iMD/NX3j9k5M0prcpJP0ih83vE
	lOMt93PBpkm1Mpcdy3v3lI7plcr5fqSVLipDEeDk/K3JkHTIaPlA57DSNNuyK5z/wlYI=;
Message-ID: <0d7cabca-e0d5-4ab6-a16d-11da35e45149@xen.org>
Date: Wed, 9 Aug 2023 22:51:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA violations in hypercall-defs
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jan Beulich <jbeulich@suse.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Bertrand.Marquis@arm.com
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
 <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
 <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop>
 <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
 <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 09/08/2023 21:35, Stefano Stabellini wrote:
> P.S.
> Julien, Bertrand, do you think we should unsupport (in SUPPORT.md, today
> it is not clarified) 32-bit guests on a 64-bit ARM hypervisor?

I read your explanation above and I don't really understand why you 
would want to de-support it. This works pretty well and I am not aware 
of any issue right now to run 32-bit guest on 64-bit HW.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:06:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581396.910071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrJQ-0004Ar-VX; Wed, 09 Aug 2023 22:05:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581396.910071; Wed, 09 Aug 2023 22:05: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 1qTrJQ-0004Ak-Re; Wed, 09 Aug 2023 22:05:52 +0000
Received: by outflank-mailman (input) for mailman id 581396;
 Wed, 09 Aug 2023 22:05: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=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTrJP-0004Ac-3r
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:05:51 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e468d388-3700-11ee-b281-6b7b168915f2;
 Thu, 10 Aug 2023 00:05:48 +0200 (CEST)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 18:05:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5580.namprd03.prod.outlook.com (2603:10b6:806:b0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Wed, 9 Aug
 2023 22:05:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 22:05:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e468d388-3700-11ee-b281-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691618748;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=4PNHQ3QIFvXym8exbv2duveRtPtQM96yFsWD7UI869o=;
  b=TZhOz3vuMQ9rXYHY8MW8Qhdelrlo/u8eOubyDqBuh8ownvS0jovzm42s
   x6j8toU89GKFLaptsyGTkxiWMzRISTQO1DNeMsnGRX7syphtQpbNEJh+7
   bizm78gWcT5/haCIHQ5dH07bFUuW+yQTZITNCC9bB75MGznTXWXcgEuNi
   4=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 118924847
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ywmgHqo+d6dk2ev3niyYAnLNlwFeBmKJZBIvgKrLsJaIsI4StFCzt
 garIBmDb6qKYjGkfNB+Po7j/B4G65fVyoNgTVFoqyg9QypEpJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzyhNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAB0pcg/ap8ub/IOQacU0p+kkCdvkB4xK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhr6472gHDmjN75Bs+SUKe4qmkoXCERZFGD
 kY/5ScLtqto6xn+JjX6d1jiyJKehTYHQMZZGeA+7ACLy4LX7hyfC2xCSSROAPQGucksVHoV3
 1mGt9rzAHpkt7j9YWKQ8PKYoC2/PQARLHQefmkUQA0d+d7hrYovyBXVQb5LG6mwi8DzGC3hh
 TWDqiExiq87ncMNz7+8/13Mn3SrvJehZgw/6xjTX2mlxhhkf4PjbIutgXDZ8PJBIYCxXlSH+
 n8elKC2xu0UEYuEkiDLZewXBayo/N6MKjiaillqd6TN7Byo8n+nOIpWvzd3IR4xNt5eIGe4J
 kjOpQlW+ZlfemOwarN6aJ6wDMJsyrX8EdPiVbbfad8mjoVNSTJrNRpGPSa4t10BWmB1+U3jE
 f93qfqRMEs=
IronPort-HdrOrdr: A9a23:oanwGq2I7vpbOdaF3CkQkgqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-Talos-CUID: 9a23:htX+D2O3eIcEru5DdQ176xc0M+0ZQ1b+4C/xDkidG2lSR+jA
X-Talos-MUID: 9a23:NmHCaAXnBQhE6+Dq/CP1oXIyKexW2brtEWUHuooLntKHbzMlbg==
X-IronPort-AV: E=Sophos;i="6.01,160,1684814400"; 
   d="scan'208";a="118924847"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GcfpDi53g7l2eThGuyl4KaTRZsGZ8lg3TyxgbLpSAVr4hZABa9nLGbY+a3gpwBj0q6Wr6+7F1EskTwx0N/vlp78gsvM06B2wwvxlCHTKjQexvRFbcFlg2u+b0KRbCsZu4ZSlB5FARD3UyrlzQuN3VqWTjHdLa4ylYnMIQfZxNHZhROuKgsZT309mG/umt8Y2O0+uBcdFR7zFwOC/Utw6ttD5Zd9HZjg6ME5pL23cuflCvNRpxKSRQsguXY/Je8cQ2Rf+ImPp9G+28kiSGG5TtQF2h+8P63vVhLfL7CRPJ1SnXyKLB+ILmjTQ7zT8jNlOYcyVLTQIgetLOm9i6rI1Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4PNHQ3QIFvXym8exbv2duveRtPtQM96yFsWD7UI869o=;
 b=kBeIJ2duSB6/Cl+WyzUiNzR4g3Ma23doJCIL1uT4Dxn55+Md7Nax/ZzYfBZ4j4L6V4qp5eHCKZILI8bmX4sCKJedKJBGHMY9eIyAdTdQsRH6XHpVsWWdsQbxSRff/UFDxz9Dpfe44NFZKMoXA2Gm1zJuPIv+65lk7VEc6cYgUd7LnUa3nk00rwNy+Bz1uzX0G4wMJqxmU9wFEDKx7zqaE4Ux7+p2MtWrK1O52NhYT1nEZxF0s46tTOu8YKXmavxE44MkOWzX39cWWztqBB7oe0gcNlwnOgEHSw6MJuWJn3kD9r8or3Jk9hGWIZQe9lViQULbbTIflVHV4oFD5sI3JA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4PNHQ3QIFvXym8exbv2duveRtPtQM96yFsWD7UI869o=;
 b=bm2xXN03NgoYqtGSsOdKlGzkCB0ONMXOJ2AHdsLJof2OmQ7FfxjuHXDEPiZtfYAl/o05M8xxAJ14d5v0p0WfUCWpuW/uYQAvCLWFjDstJobWVcsy791H+S5XLfYz6bsa1d7g0cQAPKGzDnvuO95vY4oTxHeS7ZqUo10lxujMUHc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1ac14ed0-d489-0efe-0b0c-200792a50fde@citrix.com>
Date: Wed, 9 Aug 2023 23:05:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com>
 <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0412.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA0PR03MB5580:EE_
X-MS-Office365-Filtering-Correlation-Id: b1782737-f5bf-4955-de41-08db9924c54c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/kOn0vrcUk6rBzMiIbPgxUb+jc4911v0lFnDkIuKDWz5Bm7jPzxUXSxlECf654v9ZD9eoibaz2Fez9EAMnn3xq4gX60/zPs6x0U80T/OyWOSFWoU5m9uPkU6EPBPtjxRtfsurWHUgQYHHeE0oiMGAWSamOoiDiiH9O6Wlj7n7xwT57Cpgq6EyPnKN7k/OmT6CMBkA4A/celExUlFSd4jWHjslbgvWehaY2uD++nAzf4OrGPi0twXHCsurJhrn0YLPVydInJrGfGACb6FK+2TJXYYRNS7XB3H9izFVwa0TTp620g653Krhk4afHyYkuv/QMuvK6mmXR8GwRgFTPCUl4pCJbS/jcs+AXYRjVUndD5tieNr4gkzFS3uhYWu191nuLJqrEwjc1m/jTknNV3qNaa+bAyeBq0JTYwsRxn5dGgIhaMLwRj3PBItfZ7DlTtcrRdmZCPQr7oYEnJFulE7i0h77vCyjmAN7DTDhFYOxyErGPyVablTSh7BS/KKxaeGsbePvRKyweeStO2ikGfkXFDpP0Y1DbjwAlE/pWz2smRe3lhZNPDiWZjgDdxxYMOw6/hItGZJzSsMdz77ODyp6tg9IucH+Ud8m1UkYP//AqtfxozbUzS3wpsVnWVCIOL9IFaE+0JsBUgP66RI7xpTig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(396003)(136003)(366004)(346002)(1800799006)(186006)(451199021)(31686004)(66946007)(66476007)(6916009)(54906003)(66556008)(6506007)(53546011)(26005)(45080400002)(6666004)(478600001)(36756003)(83380400001)(2616005)(41300700001)(316002)(6512007)(966005)(4326008)(6486002)(2906002)(86362001)(31696002)(8676002)(8936002)(82960400001)(5660300002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a1ZHYVFMOGZ5QVAzbFFLenJ6UTBUWk0zSElqWFNOL1JCazFHOURhTDBLUVpD?=
 =?utf-8?B?aUxzZFNGSDI4bVpOSnlGNTQrTVZhSitCOWtYNExKa2pYYzJ0YUpyVDVZSXNl?=
 =?utf-8?B?SXB2NFdlQStnQmFIRjJ3bnQvVzIvalpFdExXK0duZXFpUWV5YllsY1RKdzR1?=
 =?utf-8?B?NFJFb0ZWajREZm9FMHZRTEl2UUUxWHRGNTZ1ejlMY1RjUUsrMWNlWE0xMUFO?=
 =?utf-8?B?Z3d1WlR2VmhJTzQ3RUc4YklBQW11LzVZRkc1clg5OWpUOUJjSUoxL1U2alNz?=
 =?utf-8?B?cmRjbnhXdjFnTW5iOGJRZUphVjZnQjZFSExFK092NHpBbU1DV1JJaU9QUnJl?=
 =?utf-8?B?R3luZ3RLR3BPRkFocU9LYkJIMGhDRDlpWFgrMTh2ZGdyMVpVMUZpbkI0L2xI?=
 =?utf-8?B?bnE5QmVVTXRZNDRldytURFpOUXp0VWYzUkxMR2gxcy82eTZPK1JXRm1zNFJ6?=
 =?utf-8?B?UnVqZUU3YVl2SFpJeWZGdlhLQ0xicjJ1RERuSzdqMllQU3pZa3ZTWklJSDh3?=
 =?utf-8?B?SXR3eU1lU3JTMjh6bG9VQ1FXUlF4bXhiOFpiRVRvNFV1MDdrbmNCYW54bGZ6?=
 =?utf-8?B?WmRJQm5zeDJqK0tEK2x6bVNkWHJYSkhJTGdVRkdEeS9kZWlTMG5NdklpV1dG?=
 =?utf-8?B?dUhrV0MzTUd5UFJyNHFGbUVCVjBOTnJRNTlZSWlkM0t2MjdHay9EUkZvWDBJ?=
 =?utf-8?B?eVloa3c0SU1GSGtpZ2VYY2pQL1dQalFSaS9wUFVBS3FSSFZPUEl6a212M1Ny?=
 =?utf-8?B?R3crZDE0Q3BDZExRblJIVDZjVExSbzB1NzE2dFRKWEJRVXRtanV2Y3lPT2dX?=
 =?utf-8?B?WHlYQ245WllJU3RCWUxybmxaMmJpaXFIVTZ6MTlpdDRCR1Zxc2lBTHNVSTFW?=
 =?utf-8?B?QldRYVU4clZXYWtzaUI1TDJkR3JZV05hdDhqSUdBM0NON3J3RE9XQ0lTVE1Y?=
 =?utf-8?B?Q245NHBQRmdXekN5dmlpSjhCUEhKbHNvRU9ycjljWXNsYmI3TDFUczhBZXho?=
 =?utf-8?B?MksrQVhFVHA0cVE1aGk2cGN0VWJpTE1ubXZ5OTJoM01BRSszYWlWYjU3RWVQ?=
 =?utf-8?B?aHl3clJKVFBKWk9PeSthdUZZMDhSbUJReWp5dmxHSGZML2JEUnY1VU1jZUNu?=
 =?utf-8?B?a25VNWIrZkhpa1cxejFFS0o5V1JGbUtsOWdLWDRzYWtVeHIrblVYT0w3TEg5?=
 =?utf-8?B?MWdHZlJtK1RSVGpZVFlvOUtvL2d1TVMyOGlYdGQyV0RiaHMzS0dJdnlBQlF0?=
 =?utf-8?B?czZTNzhtTTMzMlFCNHROR3VlVjdMRmxDWWJLUklMeVZxRTAzOXY0THFhbUZi?=
 =?utf-8?B?aFpyY0JaeW9VNThjRVg1SmM1b25JOTlFbEJxb1Z5Wk1rUzVsTHFpVlUwQlJY?=
 =?utf-8?B?S1NpV0txSXZtdlZvQUdqakxQNlJ1dnlBdHBJZXZ2VW1MTTJCdjFvZXhhTUJm?=
 =?utf-8?B?NTlDVjFwU0VScEpBS2J1N05XSnMrc3JGK1pqd2l3K0wvVGlQQ0ZXQzZrejBz?=
 =?utf-8?B?dkM1a0hqck1CZld4M1dtbEJ0Skp5WlYxRFdjRVpBeVoyK2tpa0VjUGhiVElF?=
 =?utf-8?B?a20rWTFrd05pWVA4SHpIcGhKcWhQV3JvZDJUcmg0MVk3WmNEWlZMTVNzYjVr?=
 =?utf-8?B?TlhWZDcyQ1NTU2xaZWZLUHM4ZlVvbEhoRWgvdnBFZkxHZyt6Y0lGQ1FLU0FT?=
 =?utf-8?B?QzZOT2hBWWFMS1l4eWZzdy9CbElndWFyTjBSNTRCQjNFcjNuYkNFeStZVHJ5?=
 =?utf-8?B?WlBSM1FDY01ibmczcndzcTZJbFoyZ28rMHp0anJvRUk5OW44d3NnMXhoeWt2?=
 =?utf-8?B?V014VkthUWJvVis1Z3BXK0NpTlRzdDBFNnloTllMdG9KNVozQ0w2dXZGRHBF?=
 =?utf-8?B?M1ZmY09RMVprbGdpQUtobDlSd0J6UWkrZjVqcloxTFRsc2lCQ3N5T3ZGRDNw?=
 =?utf-8?B?VGYvRlRiQjZPZGNsK1Y2UkxRdWJNSlloMWJJOXVzRHdLT1I5bnhybTlPNEI1?=
 =?utf-8?B?d28wK0U3ZXlzcUQ2NVlvenRSSlFya2UzU09ha3Q0dzJHbDViNnU5d1VLMFdp?=
 =?utf-8?B?bU9rUFA4MkJrRVVIMWlGZnlFUzV1RVNPaHVxTExZcHVTdFNRS1B6T0ZoVGwv?=
 =?utf-8?B?aXJGV1NkNFF1Vm8rTEU2RnNVQUJ1aHI5V2ZkM2hYYURBOU9JanFGQm9WWE1q?=
 =?utf-8?B?NkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	XUHWlxCwKtfTPMzt3yZi+BnfcykH5th2DDa4Q9QJOArWN1/ObjyEuxnSL+agQIiSGz1sUTtV8ynTpOR10WkRlL1a2jK7H6mnfrWSX/wohz6KHqWrSMDRqphNyjOCgj/UuJH2/GpyT4tYiFVdomSH6NuSH5nCpkqKluwGfhc7cYtYoGMuWF0dZRXv8PJxPz3mnhpWLHEoj6jaHFM8hsMeXu1CEvln2M6D5XySqIo7vSbOVlx9/rBXXt9KWk+kzCzDvQ2kglbk2xszd4s8ERKN2hCbmEG1qFzFtc0htcLQv9ojSPJlB7Z1epk1I1R2HttgrBOvoQaS0Xg4cwO+7jPhJqd0hW0lKINH6SXkcXIcej2N2zfATrHzE04NoncnbtkMYGPE8OrcYG1w1Vh5winVIKaMTn6vg6xCoSMwqRSpFu9jYjFdkhR08bzpgSV4XfAGrOpa6Ds6VtB+VCzQWdkGPMJ49gdzZ5tz1+HycALa0LCVU7kbYfiFCzDlKko5+LXnncp2EJfqO7X0Clgiz+owomO62nEMQw+c/KyOfGhEV6MiwoigDnc5y38ynigLQ7i+WIWDKT4Mvv6yW8yM4rPOQT7iOQIoPcb9Y7bPbDYmG75SkkD/X0DE6xLcGwZsMR6AZZQ/9253bNKpZFF1JZcTde36l34FUCWMWCu0LklNQ0inpAtSHoaBElu0eeNALI4C4h+9JCrWX63USs92UyVBsBNXDCGXFqOQUmgAjuG+MkrDcx+MQVlPtGJJOdpLYb48+HXKQShO3+yPNlM6ukieqVPaW9ycQ3Z3CqUAHzE55b2SgQ6YkcnRZx/esVJ3AwNDiGP55+XRJlOjyp3RqknesjU2rOe7ce61jMCQ6q4Gxr0R9ZnuTScWbI6Tz5Flxchjl7NYNMcPP1yFWI2WCHKKUrf6vold+SsDYc2oV/etuVE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1782737-f5bf-4955-de41-08db9924c54c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 22:05:41.3127
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OqAprbj5GQokTOPntrsG0D2xSj9+xPGTQw54lIle8Ha0cpV1g6cGdWaD0yojqgngClfaYKZ1wBOrHs0+UY17IghYGnmNvUs/R2c2YQcDt4s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5580

On 09/08/2023 10:43 pm, Stefano Stabellini wrote:
> On Wed, 9 Aug 2023, Andrew Cooper wrote:
>> On 07/08/2023 2:24 am, Henry Wang wrote:
>>> Hi everyone,
>>>
>>> Following the release schedule discussion in in April, I am sending this email
>>> to remind that according to the release schedule [1], August 11 (this Friday)
>>> will be the last posting date, when patches adding new features are expected
>>> to be posted to the mailing list by this date.
>>>
>>> Also, note that we currently have 1 release blocker [2] which might need
>>> some attention.
>>>
>>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
>>> [2] https://gitlab.com/xen-project/xen/-/issues/114
>> Off the top of my head.
>>
>> There are still unaddressed Gitlab bugs from the Eclair integration
> The bug you managed to find it is now fixed (commit e55146071de9). I am
> all for fixing Gitlab bugs so let me know if you find anything else! I
> am not aware of any other issue with Eclair at the moment.

I meant the one where Eclair is still running on `smoke` and twiddling
its thumbs for 1h doing so each time OSSTest says yes to a push.Â  It
will be a missing 'exclude' somewhere, but I haven't hand enough time to
look.

>> and other Gitlab bugs (use of unstable containers) which I'd unwilling
>> to let 4.18 be released with, given the pain we've had on the stable
>> trees trying to keep CI working.
> That is fair enough. To make this more concrete and easier to track, the
> following would need to be changed to using stable containers:
>
> - .qemu-arm64
> - .qemu-arm32
> (I am not counting .qemu-riscv64)
>
> Andrew, is that what you meant? Am I missing anything?

Every debian unstable container, and the other containers (OpenSUSE)
which are using an non-specific upstream version.Â  Upstreams which
really are rolling distros (Arch, Tumbleweed) need to be made non-fatal.

Then the second part which is also a blocker.Â  Update the distros we
test with to be less obsolete.Â  e.g. the majority of our CI testing runs
with Alpine-3.12 when EOL more than a year ago. (2022-05-01)

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:07:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581400.910081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrKY-0004gB-8j; Wed, 09 Aug 2023 22:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581400.910081; Wed, 09 Aug 2023 22: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 1qTrKY-0004g2-5X; Wed, 09 Aug 2023 22:07:02 +0000
Received: by outflank-mailman (input) for mailman id 581400;
 Wed, 09 Aug 2023 22:07: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTrKX-0004eZ-D1
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:07:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e078489-3701-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:06:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AE258632F6;
 Wed,  9 Aug 2023 22:06:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0F12C433C8;
 Wed,  9 Aug 2023 22:06:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e078489-3701-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691618815;
	bh=qN6DogoprZBKjEiveQbJCgpWVxtxZuRS60IAgAoeTUw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=j9UVmreC0gSBeyHRtAnmk1XzYstPfldY1jjXSlsG/JL2d2AOlDxpi1OngIstqNoJu
	 PolojbBsI/l2TUSll7sMlMJKVFvbojqtWyRU+FvAwlNErflMEDy3P5bE/cxcNnbeiG
	 5wGtGVVL3XpZedeXgWROmPIy/FNsO1smMdaT/SMK2m62OPmvCx7cEGehN0jH4B5o/y
	 lDTYUBo9K58Ktqkn+MM5mrzDeJPA6qfbLOOIEyF1LhN4STP5TJ+v2qH+JUE3m3zJ99
	 PE+OGcLrrI4ZOGGSTMEf7phHPkLnULPJlZV69M8OTP2CquRkgFX2HIT02/0M76DFe/
	 LN1lQUlxr7bMA==
Date: Wed, 9 Aug 2023 15:06:52 -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>, 
    Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, Bertrand.Marquis@arm.com
Subject: Re: MISRA violations in hypercall-defs
In-Reply-To: <0d7cabca-e0d5-4ab6-a16d-11da35e45149@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308091500130.2127516@ubuntu-linux-20-04-desktop>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com> <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com> <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop> <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
 <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop> <0d7cabca-e0d5-4ab6-a16d-11da35e45149@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, 9 Aug 2023, Julien Grall wrote:
> Hi,
> 
> On 09/08/2023 21:35, Stefano Stabellini wrote:
> > P.S.
> > Julien, Bertrand, do you think we should unsupport (in SUPPORT.md, today
> > it is not clarified) 32-bit guests on a 64-bit ARM hypervisor?
> 
> I read your explanation above and I don't really understand why you would want
> to de-support it. This works pretty well and I am not aware of any issue right
> now to run 32-bit guest on 64-bit HW.

I am happy either way. The reason why I brought it up is that we don't
have a specific test for this in gitlab-ci and Jan raised concerns that
greater-than 32-bit values as possible as ret from hypercalls on a
64-bit build of Xen.


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581410.910109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVB-0006g0-WF; Wed, 09 Aug 2023 22:18:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581410.910109; Wed, 09 Aug 2023 22:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVB-0006eX-Qd; Wed, 09 Aug 2023 22:18:01 +0000
Received: by outflank-mailman (input) for mailman id 581410;
 Wed, 09 Aug 2023 22:18: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=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrVA-0006IW-Ha
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:18:00 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 974d6116-3702-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:17:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B79B08285659;
 Wed,  9 Aug 2023 17:17:55 -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 YTb4zV7X71eC; Wed,  9 Aug 2023 17:17:55 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E48B782853C6;
 Wed,  9 Aug 2023 17:17:54 -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 yzFT7O9onz5q; Wed,  9 Aug 2023 17:17:54 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 6DFC9828553F;
 Wed,  9 Aug 2023 17:17:54 -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: 974d6116-3702-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com E48B782853C6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691619474; bh=7lQu3tplviyWuv7MQo2mgYjPtzmb7VZm3OD4gwUxqiA=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=VvL9o1ClReLz/bt+qvkjSJzcGV7oM8idu5lNcfHWJOGNQd8xBtGsrOk8S1oDDk7cO
	 4aRyBGomRZZDes+y7iJLfRu7afMcgdIWwEdjKoEjuythZnD3TJI/Gj0B+MNmrxV9VT
	 1LE/JIATV39nXxFeVzQZMXPfZnNczLys0zJPeBrk=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 1/3] xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
Date: Wed,  9 Aug 2023 17:17:41 -0500
Message-Id: <85588932309900fc850be91c5fa7815463a7af7e.1691617957.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691617957.git.sanastasio@raptorengineering.com>
References: <cover.1691617957.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

In preparation for implementing ISA3+ Radix MMU support, drop ISA 2.07B
from the supported ISA list to avoid having a non-working
configuration in tree. It can be re-added at a later point when Hash
MMU support is added.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2: no changes.

 xen/arch/ppc/Kconfig | 7 +------
 xen/arch/ppc/arch.mk | 1 -
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index b32dce39b8..ab116ffb2a 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -20,15 +20,10 @@ menu "ISA Selection"

 choice
 	prompt "Base ISA"
-	default POWER_ISA_2_07B
+	default POWER_ISA_3_00
 	help
 	  This selects the base ISA version that Xen will target.

-config POWER_ISA_2_07B
-	bool "Power ISA 2.07B (POWER8)"
-	help
-	  Target version 2.07B of the Power ISA (POWER8) or later
-
 config POWER_ISA_3_00
 	bool "Power ISA 3.00 (POWER9)"
 	help
diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index 3bf79bac37..d05cbf1df5 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -1,7 +1,6 @@
 ########################################
 # Power-specific definitions

-ppc-march-$(CONFIG_POWER_ISA_2_07B) :=3D power8
 ppc-march-$(CONFIG_POWER_ISA_3_00) :=3D power9

 CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581409.910101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVB-0006Xa-Eq; Wed, 09 Aug 2023 22:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581409.910101; Wed, 09 Aug 2023 22:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVB-0006XT-BZ; Wed, 09 Aug 2023 22:18:01 +0000
Received: by outflank-mailman (input) for mailman id 581409;
 Wed, 09 Aug 2023 22:17:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrV9-0006IW-Sc
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:17:59 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9717a99b-3702-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:17:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 60DAE8285C0F;
 Wed,  9 Aug 2023 17:17:55 -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 8dNL_78n-oFE; Wed,  9 Aug 2023 17:17:54 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 75BF78285659;
 Wed,  9 Aug 2023 17:17:54 -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 JS67M3ijrk3y; Wed,  9 Aug 2023 17:17:54 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E9A8582853C6;
 Wed,  9 Aug 2023 17:17:53 -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: 9717a99b-3702-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 75BF78285659
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691619474; bh=Sq0fNuH96kE7w+0/7R97Zwh45snqYHWhdAIxpNB8X5c=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=ZVh9e0csRkxA0PZxiBHRoHW0i5aKMIL1y+Z9XhPHvodbIdBhMz/94vmsbQ3BPSzHs
	 /s8XmouIpl+dDq/jBLrpytCjqlX07IAgZJTFK/ENZtEbc+9hbB2Buc+i64VewIK365
	 RxToglF14Vw2wpcURpmd0UDX9DT8C0qM7y7/xgYs=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 0/3] xen/ppc: Add early Radix MMU support
Date: Wed,  9 Aug 2023 17:17:40 -0500
Message-Id: <cover.1691617957.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hello all,

This series adds support for bringing up the Radix MMU with basic
identity-mapped page tables.

In order to simplify the memory layout, the series changes XEN_VIRT
_START to 0xC000_0000_0000_0000, which has a couple of convenient
properties. When the MMU is off, the top 4 address bits are ignored by
the hardware, so this is equivalent to physical address 0.  When the MMU
is enabled, the top 4 address bits are used to select the memory
quadrant, and 0xC corresponds to quadrant 3 which is used for kernel
memory. Thus, by linking the kernel here and ensuring its physical load
address is 0x0, we are able to run at the correct address both before
and after the MMU is enabled.

Additionally, as the Radix MMU was only added in ISA 3.0 (POWER9), this
series also drops support for POWER8 for now, to avoid having a
non-working build configuration in-tree.

Thanks,
Shawn

Shawn Anastasio (3):
  xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
  xen/ppc: Relocate kernel to physical address 0 on boot
  xen/ppc: Implement initial Radix MMU support

 xen/arch/ppc/Kconfig                 |   7 +-
 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/arch.mk                 |   1 -
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/config.h    |   2 +-
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 178 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 138 ++++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 268 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  42 +++++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 15 files changed, 793 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581411.910121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVE-00074G-6u; Wed, 09 Aug 2023 22:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581411.910121; Wed, 09 Aug 2023 22:18:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVE-000745-30; Wed, 09 Aug 2023 22:18:04 +0000
Received: by outflank-mailman (input) for mailman id 581411;
 Wed, 09 Aug 2023 22:18:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrVC-0006IW-F1
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:18:02 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98f7872f-3702-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:17:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DE5C482853C6;
 Wed,  9 Aug 2023 17:17:58 -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 jflgPxlZXNrT; Wed,  9 Aug 2023 17:17:56 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D9345828663A;
 Wed,  9 Aug 2023 17:17: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 0CZNlI3_fxqW; Wed,  9 Aug 2023 17:17:55 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 33CE48285C34;
 Wed,  9 Aug 2023 17:17: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: 98f7872f-3702-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com D9345828663A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691619475; bh=jRQHtUUKl76Rh39J66PCy9Aw7hkCY8hDbofqLNMxf3g=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=fBL6UOKFtQ0EzZ/XjXmnVsPFUXUwVaaQ8piO9JanMI2QoJ0O/mCTCqThqdY+0MGYf
	 1A+BM1P+7/dbsP1xnfsbAdBfDpMFyOQTxD83QVLTmxVc72rEXRtYobObRTM8QCJ4qE
	 BoyzMouhbECcqzEyCk+qaNEneGUw/0PLpgGbaD44=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 3/3] xen/ppc: Implement initial Radix MMU support
Date: Wed,  9 Aug 2023 17:17:43 -0500
Message-Id: <55621be668cdd13889fbbc251b74ae8e6e0af664.1691617957.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691617957.git.sanastasio@raptorengineering.com>
References: <cover.1691617957.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Add code to construct early identity-mapped page tables as well as the
required process and partition tables to enable the MMU.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Add missing ')' to mm.h/maddr_to_virt definition
  - Add missing parens around `va` argument in XEN_PT_INDEX_LVL
  - Drop '&' asm constraint modifier in processor.h/mfmsr()
  - Fix asm constraint formatting in processor.h
  - Change mtspr,mfspr to functions in processor.h
  - Drop unnecessary _Static_assert in mm-radix.c
  - Drop unnecessary cast in setup_initial_mapping
  - Use __va() to obtain pde/pte addresses in setup_initial_mapping
  - Wrap >80col lines in mm-radix.c
  - Drop unnecessary parameters in setup_{process,partition}_table
  - Add __init to setup_{process,partition}_table
  - Drop unnecessary opal.c changes
  - Drop manual prototype of setup_initial_pagetables in setup.c in
    favor of using the one already in asm/mm.h
  - Fix formatting of tlbiel asm block in tlb-radix.c

 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 178 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 138 ++++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 268 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  15 ++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 12 files changed, 764 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 0c0a7884a1..a059ac4c0a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -2,8 +2,10 @@ obj-$(CONFIG_PPC64) +=3D ppc64/

 obj-y +=3D boot-of.init.o
 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
+obj-y +=3D mm-radix.o
 obj-y +=3D opal.o
 obj-y +=3D setup.o
+obj-y +=3D tlb-radix.o

 $(TARGET): $(TARGET)-syms
 	cp -f $< $@
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm=
/bitops.h
new file mode 100644
index 0000000000..548e97b414
--- /dev/null
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -0,0 +1,9 @@
+#ifndef _ASM_PPC_BITOPS_H
+#define _ASM_PPC_BITOPS_H
+
+/* PPC bit number conversion */
+#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
+#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
+#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+
+#endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.=
h
new file mode 100644
index 0000000000..c85a7ed686
--- /dev/null
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -0,0 +1,18 @@
+#ifndef _ASM_PPC_MM_H
+#define _ASM_PPC_MM_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 virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
+
+/* Convert between Xen-heap virtual addresses and machine addresses. */
+#define __pa(x)             (virt_to_maddr(x))
+#define __va(x)             (maddr_to_virt(x))
+
+void setup_initial_pagetables(void);
+
+#endif /* _ASM_PPC_MM_H */
diff --git a/xen/arch/ppc/include/asm/page-bits.h b/xen/arch/ppc/include/=
asm/page-bits.h
index 4c01bf9716..0286177520 100644
--- a/xen/arch/ppc/include/asm/page-bits.h
+++ b/xen/arch/ppc/include/asm/page-bits.h
@@ -2,6 +2,7 @@
 #define __PPC_PAGE_BITS_H__

 #define PAGE_SHIFT              16 /* 64 KiB Pages */
-#define PADDR_BITS              48
+#define PADDR_BITS              53
+#define VADDR_BITS              52

 #endif /* __PPC_PAGE_BITS_H__ */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/p=
age.h
new file mode 100644
index 0000000000..9b49424714
--- /dev/null
+++ b/xen/arch/ppc/include/asm/page.h
@@ -0,0 +1,178 @@
+#ifndef _ASM_PPC_PAGE_H
+#define _ASM_PPC_PAGE_H
+
+#include <xen/types.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+
+#define PDE_VALID     PPC_BIT(0)
+#define PDE_NLB_MASK  0xfffffffffffffUL
+#define PDE_NLB_SHIFT 5UL
+#define PDE_NLS_MASK  0x1f
+
+#define PTE_VALID     PPC_BIT(0)
+#define PTE_LEAF      PPC_BIT(1)
+#define PTE_REFERENCE PPC_BIT(55)
+#define PTE_CHANGE    PPC_BIT(56)
+
+/* PTE Attributes */
+#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
+#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
+#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
+
+/* PTE Encoded Access Authority*/
+#define PTE_EAA_PRIVILEGED PPC_BIT(60)
+#define PTE_EAA_READ       PPC_BIT(61)
+#define PTE_EAA_WRITE      PPC_BIT(62)
+#define PTE_EAA_EXECUTE    PPC_BIT(63)
+
+/* Field shifts/masks */
+#define PTE_RPN_MASK  0x1fffffffffffUL
+#define PTE_RPN_SHIFT 12UL
+#define PTE_ATT_MASK  0x3UL
+#define PTE_ATT_SHIFT 4UL
+#define PTE_EAA_MASK  0xfUL
+
+#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
+#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_=
CHANGE)
+#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
+#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
+
+/*
+ * Radix Tree layout for 64KB pages:
+ *
+ * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *            [ PAGE TABLE ENTRY ]
+ */
+
+#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512G=
B =3D 4PB */
+#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K =
=3D 2MB */
+
+#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_=
LVL_2)
+#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_=
LVL_3)
+#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_=
LVL_4)
+#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
+
+#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
+#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
+#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl=
))
+#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
+#define XEN_PT_INDEX_LVL(lvl, va)    (((va) >> XEN_PT_SHIFT_LVL(lvl)) & =
XEN_PT_MASK_LVL(lvl))
+
+/*
+ * Calculate the index of the provided virtual address in the provided
+ * page table struct
+ */
+#define pt_index(pt, va) _Generic((pt), \
+    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
+    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
+    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
+    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
+
+#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
+
+typedef struct
+{
+    __be64 pde;
+} pde_t;
+
+typedef struct
+{
+    __be64 pte;
+} pte_t;
+
+struct lvl1_pd
+{
+    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_1];
+};
+
+struct lvl2_pd
+{
+    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_2];
+};
+
+struct lvl3_pd
+{
+    pde_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_3];
+};
+
+struct lvl4_pt
+{
+    pte_t entries[1U << XEN_PT_ENTRIES_LOG2_LVL_4];
+};
+
+static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
+{
+    return (pte_t){ .pte =3D cpu_to_be64(paddr | flags | PTE_LEAF) };
+}
+
+static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, uns=
igned long nls)
+{
+    return (pde_t){ .pde =3D cpu_to_be64(paddr | flags | nls) };
+}
+
+static inline paddr_t pte_to_paddr(pte_t pte)
+{
+    return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
+}
+
+static inline paddr_t pde_to_paddr(pde_t pde)
+{
+    return be64_to_cpu(pde.pde) & (PDE_NLB_MASK << PDE_NLB_SHIFT);
+}
+
+static inline bool pte_is_valid(pte_t pte)
+{
+    return pte.pte & be64_to_cpu(PTE_VALID);
+}
+
+static inline bool pde_is_valid(pde_t pde)
+{
+    return pde.pde & be64_to_cpu(PDE_VALID);
+}
+
+/*
+ * ISA 3.0 partition and process table entry format
+ */
+struct patb_entry {
+	__be64 patb0;
+	__be64 patb1;
+};
+#define PATB0_HR PPC_BIT(0) /* host uses radix */
+#define PATB1_GR PPC_BIT(0) /* guest uses radix; must match HR */
+
+struct prtb_entry {
+	__be64 prtb0;
+	__be64 reserved;
+};
+
+/*
+ * We support 52 bits, hence:
+ * bits 52 - 31 =3D 21, 0b10101
+ * RTS encoding details
+ * bits 0 - 3 of rts -> bits 6 - 8 unsigned long
+ * bits 4 - 5 of rts -> bits 62 - 63 of unsigned long
+ */
+#define RTS_FIELD ((0x2UL << 61) | (0x5UL << 5))
+
+void tlbie_all(void);
+
+#endif /* _ASM_PPC_PAGE_H */
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 2300640787..6b70569eb8 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -133,6 +133,40 @@ struct cpu_user_regs
     uint32_t entry_vector;
 };

+static __inline__ void sync(void)
+{
+    asm volatile ( "sync" );
+}
+
+static __inline__ void isync(void)
+{
+    asm volatile ( "isync" );
+}
+
+static inline unsigned long mfmsr(void)
+{
+    unsigned long msr;
+    asm volatile ( "mfmsr %0" : "=3Dr" (msr) );
+    return msr;
+}
+
+static inline void mtmsrd(unsigned long msr)
+{
+    asm volatile ( "mtmsrd %0" : : "r" (msr) );
+}
+
+static inline void mtspr(uint16_t spr, unsigned long val)
+{
+    asm volatile ( "mtspr %0, %1" : : "K" (spr), "r" (val) );
+}
+
+static inline unsigned long mfspr(uint16_t spr)
+{
+    unsigned long val;
+    asm volatile ( "mfspr %0, %1" : "=3Dr" (val) : "K" (spr) );
+    return val;
+}
+
 /*
  * panic() isn't available at the moment so an infinite loop will be
  * used temporarily.
diff --git a/xen/arch/ppc/include/asm/regs.h b/xen/arch/ppc/include/asm/r=
egs.h
new file mode 100644
index 0000000000..d5f47a6ff1
--- /dev/null
+++ b/xen/arch/ppc/include/asm/regs.h
@@ -0,0 +1,138 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright IBM Corp. 2005, 2007
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ *          Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
+ */
+
+#ifndef _ASM_REG_DEFS_H_
+#define _ASM_REG_DEFS_H_
+
+/* Special Purpose Registers */
+#define SPRN_VRSAVE 256
+#define SPRN_DSISR  18
+#define SPRN_DAR    19
+#define SPRN_DEC    22
+#define SPRN_SRR0   26
+#define SPRN_SRR1   27
+#define SPRN_TBRL   268
+#define SPRN_TBRU   269
+#define SPRN_SPRG0  272
+#define SPRN_SPRG1  273
+#define SPRN_SPRG2  274
+#define SPRN_SPRG3  275
+#define SPRN_TBWL   284
+#define SPRN_TBWU   285
+
+#define SPRN_HSPRG0 304
+#define SPRN_HSPRG1 305
+#define SPRN_HDEC   310
+#define SPRN_HIOR   311
+#define SPRN_RMOR   312
+#define SPRN_HRMOR  313
+#define SPRN_HSRR0  314
+#define SPRN_HSRR1  315
+#define SPRN_LPIDR  319
+
+#define SPRN_PTCR	0x1D0	/* Partition table control Register */
+#define SPRN_PID	0x030	/* Process ID */
+
+/* Performance monitor spr encodings */
+#define SPRN_MMCRA  786
+#define   MMCRA_SAMPHV    _AC(0x10000000, UL) /* state of MSR HV when SI=
AR set */
+#define   MMCRA_SAMPPR    _AC(0x08000000, UL) /* state of MSR PR when SI=
AR set */
+#define   MMCRA_SAMPLE_ENABLE _AC(0x00000001, UL) /* enable sampling */
+#define NUM_PMCS 8
+#define SPRN_PMC1   787
+#define SPRN_PMC2   788
+#define SPRN_PMC3   789
+#define SPRN_PMC4   790
+#define SPRN_PMC5   791
+#define SPRN_PMC6   792
+#define SPRN_PMC7   793
+#define SPRN_PMC8   794
+#define SPRN_MMCR0  795
+#define   MMCR0_FC      _AC(0x80000000, UL) /* freeze counters */
+#define   MMCR0_FCS     _AC(0x40000000, UL) /* freeze in supervisor stat=
e */
+#define   MMCR0_FCP     _AC(0x20000000, UL) /* freeze in problem state *=
/
+#define   MMCR0_FCM1    _AC(0x10000000, UL) /* freeze counters while MSR=
 mark =3D 1 */
+#define   MMCR0_FCM0    _AC(0x08000000, UL) /* freeze counters while MSR=
 mark =3D 0 */
+#define   MMCR0_PMAE    _AC(0x04000000, UL) /* performance monitor alert=
 enabled */
+#define   MMCR0_PMAO    _AC(0x00000080, UL) /* performance monitor alert=
 occurred */
+#define   MMCR0_FCH     _AC(0x00000001, UL) /* freeze conditions in hype=
rvisor */
+#define SPRN_SIAR   796
+#define SPRN_SDAR   797
+#define SPRN_MMCR1  798
+
+/* As defined for PU G4 */
+#define SPRN_HID0   1008
+#define SPRN_HID1   1009
+#define SPRN_HID4   1012
+
+#define SPRN_DABR   1013
+#define SPRN_HID5   1014
+#define SPRN_DABRX  1015
+#define SPRN_HID6   1017
+#define SPRN_HID7   1018
+#define SPRN_HID8   1019
+#define SPRN_PIR    1023
+
+#define SPRN_LPCR	0x13E	/* LPAR Control Register */
+#define   LPCR_VPM0		_AC(0x8000000000000000, UL)
+#define   LPCR_VPM1		_AC(0x4000000000000000, UL)
+#define   LPCR_ISL		_AC(0x2000000000000000, UL)
+#define   LPCR_VC_SH		61
+#define   LPCR_DPFD_SH		52
+#define   LPCR_DPFD		(_AC(7, UL) << LPCR_DPFD_SH)
+#define   LPCR_VRMASD_SH	47
+#define   LPCR_VRMASD		(_AC(0x1f, UL) << LPCR_VRMASD_SH)
+#define   LPCR_VRMA_L		_AC(0x0008000000000000, UL)
+#define   LPCR_VRMA_LP0		_AC(0x0001000000000000, UL)
+#define   LPCR_VRMA_LP1		_AC(0x0000800000000000, UL)
+#define   LPCR_RMLS		0x1C000000	/* Implementation dependent RMO limit se=
l */
+#define   LPCR_RMLS_SH		26
+#define   LPCR_HAIL		_AC(0x0000000004000000, UL)   /* HV AIL (ISAv3.1) *=
/
+#define   LPCR_ILE		_AC(0x0000000002000000, UL)   /* !HV irqs set MSR:LE=
 */
+#define   LPCR_AIL		_AC(0x0000000001800000, UL)	/* Alternate interrupt l=
ocation */
+#define   LPCR_AIL_0		_AC(0x0000000000000000, UL)	/* MMU off exception o=
ffset 0x0 */
+#define   LPCR_AIL_3		_AC(0x0000000001800000, UL)   /* MMU on exception =
offset 0xc00...4xxx */
+#define   LPCR_ONL		_AC(0x0000000000040000, UL)	/* online - PURR/SPURR c=
ount */
+#define   LPCR_LD		_AC(0x0000000000020000, UL)	/* large decremeter */
+#define   LPCR_PECE		_AC(0x000000000001f000, UL)	/* powersave exit cause=
 enable */
+#define     LPCR_PECEDP	_AC(0x0000000000010000, UL)	/* directed priv dbe=
lls cause exit */
+#define     LPCR_PECEDH	_AC(0x0000000000008000, UL)	/* directed hyp dbel=
ls cause exit */
+#define     LPCR_PECE0		_AC(0x0000000000004000, UL)	/* ext. exceptions c=
an cause exit */
+#define     LPCR_PECE1		_AC(0x0000000000002000, UL)	/* decrementer can c=
ause exit */
+#define     LPCR_PECE2		_AC(0x0000000000001000, UL)	/* machine check etc=
 can cause exit */
+#define     LPCR_PECE_HVEE	_AC(0x0000400000000000, UL)	/* P9 Wakeup on H=
V interrupts */
+#define   LPCR_MER		_AC(0x0000000000000800, UL)	/* Mediated External Exc=
eption */
+#define   LPCR_MER_SH		11
+#define	  LPCR_GTSE		_AC(0x0000000000000400, UL)  	/* Guest Translation =
Shootdown Enable */
+#define   LPCR_TC		_AC(0x0000000000000200, UL)	/* Translation control */
+#define   LPCR_HEIC		_AC(0x0000000000000010, UL)   /* Hypervisor Externa=
l Interrupt Control */
+#define   LPCR_LPES		0x0000000c
+#define   LPCR_LPES0		_AC(0x0000000000000008, UL)      /* LPAR Env selec=
tor 0 */
+#define   LPCR_LPES1		_AC(0x0000000000000004, UL)      /* LPAR Env selec=
tor 1 */
+#define   LPCR_LPES_SH		2
+#define   LPCR_RMI		_AC(0x0000000000000002, UL)      /* real mode is cac=
he inhibit */
+#define   LPCR_HVICE		_AC(0x0000000000000002, UL)      /* P9: HV interru=
pt enable */
+#define   LPCR_HDICE		_AC(0x0000000000000001, UL)      /* Hyp Decr enabl=
e (HV,PR,EE) */
+#define   LPCR_UPRT		_AC(0x0000000000400000, UL)      /* Use Process Tab=
le (ISA 3) */
+#define   LPCR_HR		_AC(0x0000000000100000, UL)
+
+#endif /* _ASM_REG_DEFS_H_ */
diff --git a/xen/arch/ppc/include/asm/types.h b/xen/arch/ppc/include/asm/=
types.h
index b62ae0e7ae..ffaf378a4d 100644
--- a/xen/arch/ppc/include/asm/types.h
+++ b/xen/arch/ppc/include/asm/types.h
@@ -4,6 +4,7 @@
 #define _ASM_PPC_TYPES_H

 typedef unsigned long paddr_t;
+typedef unsigned long vaddr_t;
 #define INVALID_PADDR (~0UL)
 #define PRIpaddr "016lx"

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
new file mode 100644
index 0000000000..a86cd2f73b
--- /dev/null
+++ b/xen/arch/ppc/mm-radix.c
@@ -0,0 +1,268 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/init.h>
+#include <xen/kernel.h>
+#include <xen/types.h>
+#include <xen/lib.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+#include <asm/early_printk.h>
+#include <asm/mm.h>
+#include <asm/page.h>
+#include <asm/processor.h>
+#include <asm/regs.h>
+#include <asm/msr.h>
+
+void enable_mmu(void);
+
+#define INITIAL_LVL1_PD_COUNT      1
+#define INITIAL_LVL2_LVL3_PD_COUNT 2
+#define INITIAL_LVL4_PT_COUNT      256
+
+static size_t initial_lvl1_pd_pool_used;
+static struct lvl1_pd __aligned(sizeof(struct lvl1_pd))
+initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
+
+static size_t initial_lvl2_lvl3_pd_pool_used;
+static struct lvl2_pd __aligned(sizeof(struct lvl2_pd))
+initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
+
+static size_t initial_lvl4_pt_pool_used;
+static struct lvl4_pt __aligned(sizeof(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 POWE=
R9 */
+#define PATB_SIZE      (1UL << PATB_SIZE_LOG2)
+#define PRTB_SIZE_LOG2 12
+#define PRTB_SIZE      (1UL << PRTB_SIZE_LOG2)
+
+static struct patb_entry
+    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_ent=
ry)];
+
+static struct prtb_entry
+    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_ent=
ry)];
+
+static __init struct lvl1_pd *lvl1_pd_pool_alloc(void)
+{
+    if ( initial_lvl1_pd_pool_used >=3D INITIAL_LVL1_PD_COUNT )
+    {
+        early_printk("Ran out of space for LVL1 PD!\n");
+        die();
+    }
+
+    return &initial_lvl1_pd_pool[initial_lvl1_pd_pool_used++];
+}
+
+static __init struct lvl2_pd *lvl2_pd_pool_alloc(void)
+{
+    if ( initial_lvl2_lvl3_pd_pool_used >=3D INITIAL_LVL2_LVL3_PD_COUNT =
)
+    {
+        early_printk("Ran out of space for LVL2/3 PD!\n");
+        die();
+    }
+
+    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
+}
+
+static __init struct lvl3_pd *lvl3_pd_pool_alloc(void)
+{
+    BUILD_BUG_ON(sizeof(struct lvl3_pd) !=3D sizeof(struct lvl2_pd));
+
+    return (struct lvl3_pd *) lvl2_pd_pool_alloc();
+}
+
+static __init struct lvl4_pt *lvl4_pt_pool_alloc(void)
+{
+    if ( initial_lvl4_pt_pool_used >=3D INITIAL_LVL4_PT_COUNT )
+    {
+        early_printk("Ran out of space for LVL4 PT!\n");
+        die();
+    }
+
+    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_l=
en)
+{
+    uint64_t cur;
+    size_t i =3D buf_len - 1;
+
+    /* Null terminate buffer */
+    out_buf[i] =3D '\0';
+
+    /* Add digits in reverse */
+    cur =3D val;
+    while ( cur && i > 0 )
+    {
+        out_buf[--i] =3D "0123456789ABCDEF"[cur % 16];
+        cur /=3D 16;
+    }
+
+    /* Pad to 16 digits */
+    while ( i > 0 )
+        out_buf[--i] =3D '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 =3D 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,
+                                         paddr_t phys_base)
+{
+    uint64_t page_addr;
+
+    if ( map_start & ~PAGE_MASK )
+    {
+        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\=
n");
+        die();
+    }
+
+    if ( phys_base & ~PAGE_MASK )
+    {
+        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n=
");
+        die();
+    }
+
+    for ( page_addr =3D map_start; page_addr < map_end; page_addr +=3D P=
AGE_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 =3D pt_entry(lvl1, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl2 =3D lvl2_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl2), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_2);
+        }
+        else
+            lvl2 =3D (struct lvl2_pd *)__va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 3 PD if necessary */
+        pde =3D pt_entry(lvl2, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl3 =3D lvl3_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl3), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_3);
+        }
+        else
+            lvl3 =3D (struct lvl3_pd *)__va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 4 PT if necessary */
+        pde =3D pt_entry(lvl3, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl4 =3D lvl4_pt_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl4), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_4);
+        }
+        else
+            lvl4 =3D (struct lvl4_pt *)__va(pde_to_paddr(*pde));
+
+        /* Finally, create PTE in LVL 4 PT */
+        pte =3D pt_entry(lvl4, page_addr);
+        if ( !pte_is_valid(*pte) )
+        {
+            unsigned long paddr =3D (page_addr - map_start) + phys_base;
+            unsigned long flags;
+
+            radix_dprint(paddr, "being mapped to ");
+            radix_dprint(page_addr, "!\n");
+            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_ad=
dr) )
+            {
+                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
+                flags =3D PTE_XEN_RX;
+            }
+            else if ( is_kernel_rodata(page_addr) )
+            {
+                radix_dprint(page_addr, "being marked as RODATA (RO)\n")=
;
+                flags =3D PTE_XEN_RO;
+            }
+            else
+            {
+                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n"=
);
+                flags =3D PTE_XEN_RW;
+            }
+
+            *pte =3D paddr_to_pte(paddr, flags);
+            radix_dprint(paddr_to_pte(paddr, flags).pte,
+                             "is result of PTE map!\n");
+        }
+        else
+        {
+            early_printk("BUG: Tried to create PTE for already-mapped pa=
ge!");
+            die();
+        }
+    }
+}
+
+static void __init setup_partition_table(struct lvl1_pd *root)
+{
+    unsigned long ptcr;
+
+    /* Configure entry for LPID 0 to enable Radix and point to root PD *=
/
+    uint64_t patb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1 |
+                     PATB0_HR;
+    uint64_t patb1 =3D __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB=
1_GR;
+    initial_patb[0].patb0 =3D cpu_to_be64(patb0);
+    initial_patb[0].patb1 =3D cpu_to_be64(patb1);
+
+    ptcr =3D __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
+    mtspr(SPRN_PTCR, ptcr);
+}
+
+static void __init setup_process_table(struct lvl1_pd *root)
+{
+    /* Configure entry for PID 0 to point to root PD */
+    uint64_t prtb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1;
+    initial_prtb[0].prtb0 =3D cpu_to_be64(prtb0);
+}
+
+void __init setup_initial_pagetables(void)
+{
+    struct lvl1_pd *root =3D lvl1_pd_pool_alloc();
+    unsigned long lpcr;
+
+    setup_initial_mapping(root, (vaddr_t)_start, (vaddr_t)_end, __pa(_st=
art));
+
+    /* Enable Radix mode in LPCR */
+    lpcr =3D mfspr(SPRN_LPCR);
+    mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR);
+    early_printk("Enabled radix in LPCR\n");
+
+    /* Set up initial process table */
+    setup_process_table(root);
+
+    /* Set up initial partition table */
+    setup_partition_table(root);
+
+    /* Flush TLB */
+    tlbie_all();
+    early_printk("Flushed TLB\n");
+
+    /* Turn on the MMU */
+    enable_mmu();
+}
diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index d91bd7f92d..1352bb5850 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -2,6 +2,7 @@

 #include <asm/asm-defns.h>
 #include <asm/asm-offsets.h>
+#include <asm/msr.h>

     .section .text.header, "ax", %progbits

@@ -66,3 +67,17 @@ ENTRY(start)

     .size start, . - start
     .type start, %function
+
+ENTRY(enable_mmu)
+    mflr %r3
+    mfmsr %r4
+
+    /* enable instruction and data relocation (MMU) */
+    ori %r4, %r4, (MSR_IR | MSR_DR)
+
+    mtsrr0 %r3 /* return to caller after MMU enable */
+    mtsrr1 %r4
+    rfid
+
+    .size enable_mmu, . - enable_mmu
+    .type enable_mmu, %function
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 8ab7bc19ee..0106e9c9da 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -2,6 +2,7 @@
 #include <xen/init.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
+#include <asm/mm.h>
 #include <asm/processor.h>

 /* Xen stack for bringing up the first CPU. */
@@ -27,6 +28,8 @@ void __init noreturn start_xen(unsigned long r3, unsign=
ed long r4,
         boot_opal_init((void *)r3);
     }

+    setup_initial_pagetables();
+
     early_printk("Hello, ppc64le!\n");

     for ( ; ; )
diff --git a/xen/arch/ppc/tlb-radix.c b/xen/arch/ppc/tlb-radix.c
new file mode 100644
index 0000000000..e9115ba2db
--- /dev/null
+++ b/xen/arch/ppc/tlb-radix.c
@@ -0,0 +1,96 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on arch/powerpc/mm/book3s64/radix_tlb.c from Linux with the fol=
lowing
+ * copyright notice:
+ *
+ * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation.
+ */
+#include <xen/stringify.h>
+
+#include <asm/bitops.h>
+#include <asm/msr.h>
+#include <asm/processor.h>
+
+/* TLB flush actions. Used as argument to tlbiel_flush() */
+enum
+{
+    TLB_INVAL_SCOPE_LPID,   /* invalidate TLBs for current LPID */
+    TLB_INVAL_SCOPE_GLOBAL, /* invalidate all TLBs */
+};
+
+#define POWER9_TLB_SETS_RADIX 128 /* # sets in POWER9 TLB Radix mode */
+
+#define RIC_FLUSH_TLB 0
+#define RIC_FLUSH_PWC 1
+#define RIC_FLUSH_ALL 2
+
+static void tlbiel_radix_set_isa300(unsigned int set, unsigned int is,
+                                    unsigned int pid, unsigned int ric,
+                                    unsigned int prs)
+{
+    unsigned long rb;
+    unsigned long rs;
+
+    rb =3D (set << PPC_BITLSHIFT(51)) | (is << PPC_BITLSHIFT(53));
+    rs =3D ((unsigned long) pid << PPC_BITLSHIFT(31));
+
+    asm volatile ( "tlbiel %0, %1, %2, %3, 1"
+                   :: "r" (rb), "r" (rs), "i" (ric), "i" (prs)
+                   : "memory" );
+}
+
+static void tlbiel_all_isa300(unsigned int num_sets, unsigned int is)
+{
+    unsigned int set;
+
+    asm volatile ( "ptesync" : : : "memory" );
+
+    /*
+     * Flush the first set of the TLB, and the entire Page Walk Cache
+     * and partition table entries. Then flush the remaining sets of the
+     * TLB.
+     */
+
+    if ( mfmsr() & MSR_HV )
+    {
+        /* MSR[HV] should flush partition scope translations first. */
+        tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 0);
+
+        for ( set =3D 1; set < num_sets; set++ )
+            tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 0);
+    }
+
+    /* Flush process scoped entries. */
+    tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 1);
+
+    for ( set =3D 1; set < num_sets; set++ )
+        tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 1);
+
+    asm volatile ( "ptesync" : : : "memory" );
+}
+
+void radix__tlbiel_all(unsigned int action)
+{
+    unsigned int is;
+
+    switch ( action )
+    {
+    case TLB_INVAL_SCOPE_GLOBAL:
+        is =3D 3;
+        break;
+    case TLB_INVAL_SCOPE_LPID:
+        is =3D 2;
+        break;
+    default:
+        die();
+    }
+
+    tlbiel_all_isa300(POWER9_TLB_SETS_RADIX, is);
+
+    asm volatile ( "slbia 7; isync" : : : "memory" );
+}
+
+void tlbie_all(void)
+{
+    radix__tlbiel_all(TLB_INVAL_SCOPE_GLOBAL);
+}
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581408.910090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrVA-0006Ij-6h; Wed, 09 Aug 2023 22:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581408.910090; Wed, 09 Aug 2023 22: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 1qTrVA-0006Ic-44; Wed, 09 Aug 2023 22:18:00 +0000
Received: by outflank-mailman (input) for mailman id 581408;
 Wed, 09 Aug 2023 22: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=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrV8-0006IQ-K6
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:17:58 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9759735e-3702-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:17:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id EF8A282868E2;
 Wed,  9 Aug 2023 17:17:55 -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 YVsL932o5Hnk; Wed,  9 Aug 2023 17:17:55 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3A6FA828553F;
 Wed,  9 Aug 2023 17:17: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 O0kQthIAsvar; Wed,  9 Aug 2023 17:17:55 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id CBC2A8285C0F;
 Wed,  9 Aug 2023 17:17:54 -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: 9759735e-3702-11ee-b282-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3A6FA828553F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691619475; bh=KqI9TVA8FbZ1LWbWWdF8L7W6TWK7/HIuQJKiQybY8cE=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=LW2iBzxaHgS3r+jsNRs/39lnDpsTuoj2Z1xWqMk1IQcsrUyuU+/qsqd5SxhTkMoNC
	 tb5xl6rArrBe0VpAKat+5CvQDG0SroecokSzzIhJSTLmHKSEzOPWKGMumY7ZKRgpIQ
	 8UTF9VcgpsljK/BLTzCh6zz0Ij/6Gopl2NqGULv0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 2/3] xen/ppc: Relocate kernel to physical address 0 on boot
Date: Wed,  9 Aug 2023 17:17:42 -0500
Message-Id: <bf711c0bdc06279fbe07aea271aea17fa0c3b9b3.1691617957.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691617957.git.sanastasio@raptorengineering.com>
References: <cover.1691617957.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Introduce a small assembly loop in `start` to copy the kernel to
physical address 0 before continuing. This ensures that the physical
address lines up with XEN_VIRT_START (0xc000000000000000) and allows us
to identity map the kernel when the MMU is set up in the next patch.

We are also able to start execution at XEN_VIRT_START after the copy
since hardware will ignore the top 4 address bits when operating in Real
Mode (MMU off).

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Fix definition of XEN_VIRT_START macro which incorrectly used
    _AT instead of _AC.
  - Use _start instead of start as symbol referring to beginning of
    Xen binary

 xen/arch/ppc/include/asm/config.h |  2 +-
 xen/arch/ppc/ppc64/head.S         | 27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index d060f0dca7..b76f940431 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -39,7 +39,7 @@
     name:
 #endif

-#define XEN_VIRT_START _AT(UL, 0xc000000000000000)
+#define XEN_VIRT_START _AC(0xc000000000000000, UL)

 #define SMP_CACHE_BYTES (1 << 6)

diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index 8f1e5d3ad2..d91bd7f92d 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -17,6 +17,33 @@ ENTRY(start)
     addis   %r2, %r12, .TOC.-1b@ha
     addi    %r2, %r2, .TOC.-1b@l

+    /*
+     * Copy Xen to physical address zero and jump to XEN_VIRT_START
+     * (0xc000000000000000). This works because the hardware will ignore=
 the top
+     * four address bits when the MMU is off.
+     */
+    LOAD_REG_ADDR(%r1, _start)
+    LOAD_IMM64(%r12, XEN_VIRT_START)
+
+    /* If we're at the correct address, skip copy */
+    cmpld   %r1, %r12
+    beq     .L_correct_address
+
+    /* Copy bytes until _end */
+    LOAD_REG_ADDR(%r11, _end)
+    addi    %r1, %r1, -8
+    li      %r13, -8
+.L_copy_xen:
+    ldu     %r10, 8(%r1)
+    stdu    %r10, 8(%r13)
+    cmpld   %r1, %r11
+    blt     .L_copy_xen
+
+    /* Jump to XEN_VIRT_START */
+    mtctr   %r12
+    bctr
+.L_correct_address:
+
     /* set up the initial stack */
     LOAD_REG_ADDR(%r1, cpu0_boot_stack)
     li      %r11, 0
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:34:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581434.910130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrlG-00025D-Ox; Wed, 09 Aug 2023 22:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581434.910130; Wed, 09 Aug 2023 22:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrlG-000256-MQ; Wed, 09 Aug 2023 22:34:38 +0000
Received: by outflank-mailman (input) for mailman id 581434;
 Wed, 09 Aug 2023 22:34:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTrlF-000250-9y
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:34: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 eaa9193d-3704-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:34:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 67DF664B82;
 Wed,  9 Aug 2023 22:34:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 983DBC433C8;
 Wed,  9 Aug 2023 22:34: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: eaa9193d-3704-11ee-b282-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691620473;
	bh=ASLkJYW+aNebiQ/C5hjTpetqtLfQ6TDZsa31UZXTnYw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uttJxl7Dzd4QlTqHKvkYrJNbxYauBeEr0ODInCEMsCSIphBCSHnRlui6cVJxYjKKz
	 d2yEdY4ftkS7UaBZYxUleb2/Mqzn3nte2SsWIfR2QehbdmW8DMnkv4SfaF1j8fvE5a
	 xL1E6AQj/0FVLLCtTpboU9UV6nb+VtjKvQDGePNVi6Hwk2IExXPOpybxsaQeaKCCYg
	 ISYakji6ON1KMhpubi7gICf3P1BomBR5qUPOeUbAQRsmoobJu1Kff+xUamwgSf53Ju
	 fsrWvr/Xak2oHKPTP4rvU7sUFhAW6WjK8mxyH2fY2Fnh9hT0lJ+699evHleEo6zZ+Q
	 rXKsfUQsMD6uw==
Date: Wed, 9 Aug 2023 15:34:31 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Henry Wang <Henry.Wang@arm.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "community.manager@xenproject.org" <community.manager@xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
In-Reply-To: <1ac14ed0-d489-0efe-0b0c-200792a50fde@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308091526060.2127516@ubuntu-linux-20-04-desktop>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com> <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com> <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop>
 <1ac14ed0-d489-0efe-0b0c-200792a50fde@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-2084107488-1691620297=:2127516"
Content-ID: <alpine.DEB.2.22.394.2308091531390.2127516@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-2084107488-1691620297=:2127516
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308091531391.2127516@ubuntu-linux-20-04-desktop>

On Wed, 9 Aug 2023, Andrew Cooper wrote:
> On 09/08/2023 10:43 pm, Stefano Stabellini wrote:
> > On Wed, 9 Aug 2023, Andrew Cooper wrote:
> >> On 07/08/2023 2:24 am, Henry Wang wrote:
> >>> Hi everyone,
> >>>
> >>> Following the release schedule discussion in in April, I am sending this email
> >>> to remind that according to the release schedule [1], August 11 (this Friday)
> >>> will be the last posting date, when patches adding new features are expected
> >>> to be posted to the mailing list by this date.
> >>>
> >>> Also, note that we currently have 1 release blocker [2] which might need
> >>> some attention.
> >>>
> >>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
> >>> [2] https://gitlab.com/xen-project/xen/-/issues/114
> >> Off the top of my head.
> >>
> >> There are still unaddressed Gitlab bugs from the Eclair integration
> > The bug you managed to find it is now fixed (commit e55146071de9). I am
> > all for fixing Gitlab bugs so let me know if you find anything else! I
> > am not aware of any other issue with Eclair at the moment.
> 
> I meant the one where Eclair is still running on `smoke` and twiddling
> its thumbs for 1h doing so each time OSSTest says yes to a push.Â  It
> will be a missing 'exclude' somewhere, but I haven't hand enough time to
> look.

Ah, yes, got it. I would call it "Eclair lagging behind". I am happy for
this to be a blocker.


> >> and other Gitlab bugs (use of unstable containers) which I'd unwilling
> >> to let 4.18 be released with, given the pain we've had on the stable
> >> trees trying to keep CI working.
> > That is fair enough. To make this more concrete and easier to track, the
> > following would need to be changed to using stable containers:
> >
> > - .qemu-arm64
> > - .qemu-arm32
> > (I am not counting .qemu-riscv64)
> >
> > Andrew, is that what you meant? Am I missing anything?
> 
> Every debian unstable container, and the other containers (OpenSUSE)
> which are using an non-specific upstream version.Â  Upstreams which
> really are rolling distros (Arch, Tumbleweed) need to be made non-fatal.

I was more asking whether for 4.18 you want to fix only test.yaml or
also build.yaml. (Typically it is test.yaml that causes most issues
with rolling containers.)

.qemu-arm64 and .qemu-arm32 are the only ones using unstable/rolling
containers in automation/gitlab-ci/test.yaml (excluding .qemu-riscv64),
that's why I was asking about those two specifically.


> Then the second part which is also a blocker.Â  Update the distros we
> test with to be less obsolete.Â  e.g. the majority of our CI testing runs
> with Alpine-3.12 when EOL more than a year ago. (2022-05-01)

OK. Hopefully it will be trivial.
--8323329-2084107488-1691620297=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:44:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581440.910140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrv4-0003ay-Ie; Wed, 09 Aug 2023 22:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581440.910140; Wed, 09 Aug 2023 22: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 1qTrv4-0003ar-G6; Wed, 09 Aug 2023 22:44:46 +0000
Received: by outflank-mailman (input) for mailman id 581440;
 Wed, 09 Aug 2023 22:44: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=pkWR=D2=citrix.com=prvs=578b5fa55=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qTrv3-0003al-EX
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:44:45 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54b609e4-3706-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:44:43 +0200 (CEST)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Aug 2023 18:44:37 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB4969.namprd03.prod.outlook.com (2603:10b6:5:1e5::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Wed, 9 Aug
 2023 22:44:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::6bfe:c2d3:2c8e:d2ea%6]) with mapi id 15.20.6652.028; Wed, 9 Aug 2023
 22:44:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54b609e4-3706-11ee-b282-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691621083;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=+Nmxt6PsPoTAOqwy1lXBdfIyqlB7qE0GdGZxS716VyY=;
  b=EXKyiJXtS4Pf76RSscfz9JeqKXs80sYe9XZYYL0H/LNw2Q1Ssx+RX+LH
   E/bkoAad102VUBMxYW2Tfhs2a2YAX49aseaYu/BcYT1RCoZqPH/p35uo8
   dzlHWhoA1aR97MzT7q6aI9OEU9TrJ+tXQU3/Zfsa97FLzrUEnKcZsbysO
   g=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 121706681
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:veJujaK03ZZQfKw1FE+RQJQlxSXFcZb7ZxGr2PjKsXjdYENS32MAn
 TFKCm3XOP6JY2D9Kot3YI2z9UMD7ZPdm4dqTwVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gRvPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c56Qnhj/
 v8CJwpWfwGNrcy154uaU+Vj05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGMkGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHmiB9pMSu3hnhJsqHvNwV1MBTEWb0OQvfmginKhUooYI
 kNBr0LCqoB3riRHVOLVRAakqXSJuhodXdt4EOAg7gyJjK3O7G6xJmUCVC8HV9Ugu+c/Xzls3
 ViM9/v5CDoqvLCLRHa18raPsSj0KSUTNXUFZyIPUU0C+daLiIo0ixfSSNd/Aeiwh9v8Fjzq6
 yCHqjAkgLcehtJN0L+0lXjFiT+xopnCTiYu+x7aGGmi62tRZpOhZoGuwUjW67BHNonxZnOMp
 mQeks6SqsUHF4iQlTelSf8IWrqu4p643Cb0hFduG9wt8mqr8nv6J4RIumgheAFuL9oOfiLvb
 AnLowRN6ZRPPXysK6hqf4a2DMdsxq/lfTj4as3pghN1SsAZXGe6EOtGPCZ8A0iFfJAQrJwC
IronPort-HdrOrdr: A9a23:tmTi2qDBEbEfC4HlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: =?us-ascii?q?9a23=3AHDWEkWsNvTdG5qAI98cVgqUA6IsoMWTwx3TKLHX?=
 =?us-ascii?q?jGHdnYpOWbmax4a9rxp8=3D?=
X-Talos-MUID: 9a23:B9kMbga6Eu57M+BTkWHrtW5vGMdS+4+yCFkNrYoP446NOnkl
X-IronPort-AV: E=Sophos;i="6.01,160,1684814400"; 
   d="scan'208";a="121706681"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LH4s8XOD35NmPxZA0nJuLzX+Ws8nYp/6a8lxw/pgbgOCGU7GWOQFRV2j/+F7VgCUmcNhqYlJZeimm6RZkwddGXMiHeSXdoAjWP5xl7VMNCKXFrQaaOLcjJVWuTBynpNPehlzl8M7lksmyBsf4w2n8Xh8d3gRXzIvLlM3XEIL4VUnEFdMlTpcDkrVvZUOU6v0umVVXyRBFEmBhUPpE4zEFCVgIa6GJSLHCHYNTAKXlb+yFnokDyAY/VUMzR8mPshNsei/knhRz9fmC9KAkxco+jneIHlrA7a8rGAy+hEO22S55GN1NNTq/QtRnNoNmwMyV6Zb3SG+sdPIltzLi5E6Jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Nmxt6PsPoTAOqwy1lXBdfIyqlB7qE0GdGZxS716VyY=;
 b=exCe9xbVa6btVEDsSoQeaa6ILUlHJGQezVlN4NnF3EzYVsf1cCPWQmVJ4vtQ9ubrzlml3nv5yTkbqeLGtgwswAeO+DEgn4BTaCXWlBk6ZPKKODSxmuU937Qq1/JdxhhZzAweDmmN56qBO7/3cA1/tApS/X/Xn7kU7DUIEIkUBx+PyFf/GGyQNqVKCQwk2XWVOc7mLbrH0F2+5l4ZXWt2FfnZe0Z4N5UmouYNUz7exL74GRielpkGHt1MZKyhNXpndzejirSogEATqT6ldXIWxMUpUygYE14ay5oO74bWXO5xgut2lgRPNReDDZFFbLrXNajXBs1DOeAw2CiMg/YJ6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Nmxt6PsPoTAOqwy1lXBdfIyqlB7qE0GdGZxS716VyY=;
 b=K5p2RiiiUGR00nQFWwKdsfHqQuvYI0/TMlQ+r3mnwP9dK0lmnGKdxwd3oPyCtPDMGrEN7nGbDwk3Hbt+yqQYPRoU5bcCSB+z7onpvrApAs6OgpS0J3Zq8/fOLOgogKqhwX1Hbe6Itv2+Wfaqajfq4zcsukyfzpWAJO8ZGPBmsgk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c84814f3-93bc-a4a1-e609-cb35092f00d1@citrix.com>
Date: Wed, 9 Aug 2023 23:44:28 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Xen 4.18 release: Reminder about last posting date
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com>
 <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop>
 <1ac14ed0-d489-0efe-0b0c-200792a50fde@citrix.com>
 <alpine.DEB.2.22.394.2308091526060.2127516@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308091526060.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0093.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8::33) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB4969:EE_
X-MS-Office365-Filtering-Correlation-Id: af59176e-0ab2-4835-028b-08db992a3418
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GXSIcQeoAJdXmzJEPzcKDQ0OPQGH03JHyfN6pI3mzZF0ergu3ZPCP5Hxx63UrqFA9tKZotHKF6c0aI03pq4o32c/TJUN+F8dDtAji+zyKKEXqEfb13BsMy2UkrKfdOKc26wEGz2kI1otTYPICsW1Js2pKTuq8ikdDRhppHhDiEggwwVyoEuQ1kEvhNTKM5Azkp5glp77X2j1Xbo+7Y44jlaWDk3YX6JPGIa767+rkOWUH/qIuN4Ls4RCj0xGjE1978Qx1BYmKgwyFypFgNIX2hlc+DYZ6TBSIBXwJJW9m0EMGm1WG6JSZqjf5JcVEKHl7R8OGwFZqqHjJENW/nRe7OHfs2jr7QWrIdgo9i6og/IEgxFT8olsiwe9GwBhLSs6O/ZIihH/+CQ4850QIRZXveBkhUIrcs3vzS9r+gYs+J/VQY6L/d7SZJHJE9eLLz9831c6brStEE5B0D8XydqZ7G4N2GMutiUyRNeCtfOWynmGmg+GHsVGTnBfnxiWeEjgv+ZPq/yH7pHZZzbinPjK3Zr5maqwjEcex8Pd5CUZX6mSkU4frO7glf5bKtVZVsLtWQI7DlKuUgOi/WOt6zqxGcPKuPVfG2C169Ixa7kupfJi8Sldy1WGdySSuWH/R7XrQOB0beTRpE7kkXEHKdJ9SQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(396003)(376002)(346002)(186006)(451199021)(1800799006)(83380400001)(6506007)(2616005)(53546011)(26005)(6916009)(2906002)(41300700001)(45080400002)(66556008)(66476007)(66946007)(316002)(54906003)(478600001)(4326008)(8936002)(8676002)(5660300002)(6486002)(6512007)(6666004)(966005)(38100700002)(82960400001)(31696002)(86362001)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnBqOGUyZVBjZElWQ25tWSsvK25hZHlHc2FzQWgvMkZTMUVaWGp3NVo3b0RC?=
 =?utf-8?B?b2RwN0dqNWM1UkhPRW8rdFE0S2ZHdFZuR08vTnVYNjdrUGs3blBGRmdlOVhV?=
 =?utf-8?B?VHhTZXZCZTZDaFJxUEd3SVB3blNBL0YrWUJ3L1g2MGcxNGpLVFh0ZlhzT0Fh?=
 =?utf-8?B?WnJXNGpzaXFBd1dYRUYxZ2hDK1dNV3hNMGF6NEc0YUlXQnpNRFpmRk1WQ1ZO?=
 =?utf-8?B?dXBLblBhSUl5T2lvdzhqL3U3ZkdRaWZrYmpCUDNwaEpsNVBDVHY4REhTVWM0?=
 =?utf-8?B?OHJINVZENXpVaDVyUVZvT3pTSXhJSUdLUWUrNitmcjlLSjdYRW44eGpSMG5M?=
 =?utf-8?B?M2YwYmlPempNVnMvRTdXT3RLczVVT2RtQThTM0h4ZWNsR2lldFV1UDRFOC9X?=
 =?utf-8?B?K1BobUptWWx0WkpyYmZnWHJZTkRpZENNSVI2MVB1WnJUSk9wMmFCVkZCNTJ4?=
 =?utf-8?B?bWlPTjZYdWlGVHZ0RTh3UWZhK0YxeVdDQUtkRjBvMDhVTUp5NmpqNXNGaStk?=
 =?utf-8?B?SHF3UDZUMWc0VWhvenZ4L1dzNjRxTUM1c2o3SUxZY2gvdkt5cG5WaklNWWU5?=
 =?utf-8?B?ZkpLRXg3YlZ1U2tXSnNOYkxQb25ZY0poTUE3a29pSndpSzd5dmtWcE1xbWRj?=
 =?utf-8?B?N0hOU3lmZ0ZjeVVKUzFFMmdkTzdvTzVudVhwbmE3SkNhZmg2dHhpczRvdmhO?=
 =?utf-8?B?SmI2VWIvSnNaVXVIYmpmZnNHMHRkN1o1SmtzSU1BazQxcy80Rm5Wc1piWG1s?=
 =?utf-8?B?eXQxQUlkdDRsVHVNMGk4cGl3c2s5S0NIZnFuT2FoS05NaXg4U21MWi90RzUx?=
 =?utf-8?B?S1RJUFdXVFFvSXlOOWtXUVUybDhXUXhnajdwYzZBZFZYQXQyWjJsaDZkK0hp?=
 =?utf-8?B?d1ErQk45eHVtQ1BLcmRkUGNBU2lUellsWGRwa1Z1RDlodEJvNXNlOGVjaGZW?=
 =?utf-8?B?YnJWTHk4S1lva2Q0OFBPTHVLS2YzcXlkT3VMcUNvK3J5M0Z2d2M3MW5KVmFn?=
 =?utf-8?B?Z25QVitRZHVHdi9yNEVwM1NzUXh2UFVLcW4rOVY3TFNMaUVNcmt0QVpjY3Ur?=
 =?utf-8?B?M0FlaXc0eWZvYW52d2hyOTU1TUJ6VXFyY29vbFZSUU1nd3JRekRtUGZzU1Fp?=
 =?utf-8?B?b3lrUyszQWZZVmJlRGVKTm9HaU5iSmpHK1dFUVYrVHZJL3dxa0dLVXlraWFT?=
 =?utf-8?B?WHBSZEVobXhSY2FMOStRNnZjVENaQ1dFQVhJRkpnbjJUV0ZicEp5b291UCty?=
 =?utf-8?B?MUlZUnVvaGdhaTN3WkU5dHBiem5QMU1IaXNvRG9hVm42ckliTW9DemtFdVM5?=
 =?utf-8?B?d2N2Rjc3R3B1dEcvTzZod2RPMDdWckJ4QXdadUJuL2JqRXpJdGltbTRDWjhX?=
 =?utf-8?B?RCtWUnBPODlINnJpdmtVazdaQWpFV09pUHhKa3ZmT1ljbFNaQjNOTHlHUGQ4?=
 =?utf-8?B?RnpDRGVOVTRLZFlFbThqN05WU0tKYXY5ODNGdVc5d0NaVm5DcHZhallyWU0z?=
 =?utf-8?B?dEM1eGZJcTJOYWJXbzlvV1dwbkVKQzRnMThsSVhxQWFBUE55RnZVZHdVWkRq?=
 =?utf-8?B?QlBwVDdJVmFhVnpmNy9wM2ZCdC90RGhXS014dkxWYWpvQmtPS1MrdzNIRjB4?=
 =?utf-8?B?cElMbmorTEJBdittSzl4dllQOXBlMW9QbnNQUW1lUHpJeTJOQ2RaSURkUGE5?=
 =?utf-8?B?bzNJTENiQ3JqU2JOSEJaaFNpOEhpSmpPeFd5QUFycDJuKzFsWVB5REYrV3ZF?=
 =?utf-8?B?M3NKOXlnN1lzTzdoTno5L2ZFQTJSeUhpL1RTSGVYRENVNHdWRlBGWHExZmlP?=
 =?utf-8?B?S2ZkbDZObmFudTk0RG1XT2U2SFI4SGlsNG5GZzhGWU93RmJsQ3RiVGRJb2tS?=
 =?utf-8?B?N3FTNTIzUzBBSGQzL1ZBMVlPQ3d2b1F5Rk16K1ZjNDN1OEY2Wkt3NTUzSTVs?=
 =?utf-8?B?RWpxQ3Juckhyc0ZiSGR2eDRxT3FlSmlQOXpQd0U1YnF4a0dEM3FSeTlKQUFO?=
 =?utf-8?B?bnpRZWk0ZTZEYXFnamg2dDFvT1FBcXBSYndiUHFyM3RBS3F4OWIvZkVtSFA3?=
 =?utf-8?B?WEVMZWtJN2hPbG9mQjRtc0pHbkhSa216RE13YmVZQ0tSL2dlZ21oNHg3L01o?=
 =?utf-8?B?eUVOTW9ic0UvajEvNFdiV3BkMWJFc0ladWl5c1JIQ2VwOEpGUzNjeERhV3Np?=
 =?utf-8?B?d1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mzv/9qxPHiNVMRoFSN/5qJWNwWhsDFOvjzQWVi/e2joMkrUExulAwflGpdkKHHUiJlkvo8xdhUGdUVFP/j3lBAJ4WnH3BqJGdUS0Wh0zFfSQcH3i1mtF697xRED9Ml0hvvmUe9Irn6dfSb2WD8uYNwoh+6rSAxnGwvDTtBy6ASsA71JXXszDT+tZLqLexrUesAMJX+10n7laWpcJY90frb4AFpDgY+K33gYc7kBp0zzEFDAhz8YoRfEmhl+/IrknFmjfcZUYVTi4a5rWQ697Dube/fbK8UtGkgvTRFxmUSudhZSwfkncF8vTiiZjryeaLscDOm/JatOod/6VKA2mD6JWfPkIaYHG4DW3krulNfHAajeRaNxFNni6sCiy7GiOG+zrgot4us501gIDc/ebU3vqPcso/odoj/2Glqv6a/TarcaMw2MD5aRdNrQJTuU/CDub/SGcLjfk16Od7/RXiyMVaH1DypEdRHdFNVZ7eyxp/hnMYhNzKOSGOSkjXDJhf5EHEpXlCathtd+I7wY39TDRWHOj/yUof2an5Y7LDbtlNQLo+Z+l04s9l2IwNhuDc29OSbn8yPP+17UpeMxXj1LmmWE4WiROgCGbufKX+NpgOplLEX0oLGjGl5k/fIEfzaJUUCmj1NfqGh8rVN/XQVWNbWIm31xb03F6gUrsKedtmV+u3gyxTILaLFgF4/4xy9qOz3SoTSKWETJLqfLY2PWSpBnYhEqEzATy3Tx7nC7bHoc3sVzCl4tDWJlCHTUr1pcltHtDEoFIhIkzs0ZeTNC7T7BuXKuxRbqr+IpPdaM0HABVKDQerJ7mEa0VJxKt0+j5QNaiZ1EOVjGIn2KGmv121oqJozLixx0WV+pFWVvTjJcVU/HMTrLBEbdGGHg8CJcBxW693JWORXJEWq/Tr2Sg1NG95m0wP53DdhtrN/8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af59176e-0ab2-4835-028b-08db992a3418
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 22:44:35.4828
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HW/KzBCzOEfpM8V/3cuG9JNAOpaKvF2XS4QBT0yYMU64+ZieX2ck3/9WmEkRC+KZOTPF4JMQt0fgR90sjyDJVYHfebl4X//rLDwKJTy7//o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4969

On 09/08/2023 11:34 pm, Stefano Stabellini wrote:
> On Wed, 9 Aug 2023, Andrew Cooper wrote:
>> On 09/08/2023 10:43 pm, Stefano Stabellini wrote:
>>> On Wed, 9 Aug 2023, Andrew Cooper wrote:
>>>> On 07/08/2023 2:24 am, Henry Wang wrote:
>>>>> Hi everyone,
>>>>>
>>>>> Following the release schedule discussion in in April, I am sending this email
>>>>> to remind that according to the release schedule [1], August 11 (this Friday)
>>>>> will be the last posting date, when patches adding new features are expected
>>>>> to be posted to the mailing list by this date.
>>>>>
>>>>> Also, note that we currently have 1 release blocker [2] which might need
>>>>> some attention.
>>>>>
>>>>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
>>>>> [2] https://gitlab.com/xen-project/xen/-/issues/114
>>>> Off the top of my head.
>>>>
>>>> There are still unaddressed Gitlab bugs from the Eclair integration
>>> The bug you managed to find it is now fixed (commit e55146071de9). I am
>>> all for fixing Gitlab bugs so let me know if you find anything else! I
>>> am not aware of any other issue with Eclair at the moment.
>> I meant the one where Eclair is still running on `smoke` and twiddling
>> its thumbs for 1h doing so each time OSSTest says yes to a push.Â  It
>> will be a missing 'exclude' somewhere, but I haven't hand enough time to
>> look.
> Ah, yes, got it. I would call it "Eclair lagging behind". I am happy for
> this to be a blocker.

Something else for the list is to see about trimming down the testing
we're doing.

I had to cancel 7 pipelines (mostly patchew) in order to get a gitlab
run on a late-breaking tweak on the security content yesterday.

Take
https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/959800176
as an example.Â  Nearly 2h to run, and queued for 2h before that waiting
to start.Â  This is not a rare occurrence right now.

>>>> and other Gitlab bugs (use of unstable containers) which I'd unwilling
>>>> to let 4.18 be released with, given the pain we've had on the stable
>>>> trees trying to keep CI working.
>>> That is fair enough. To make this more concrete and easier to track, the
>>> following would need to be changed to using stable containers:
>>>
>>> - .qemu-arm64
>>> - .qemu-arm32
>>> (I am not counting .qemu-riscv64)
>>>
>>> Andrew, is that what you meant? Am I missing anything?
>> Every debian unstable container, and the other containers (OpenSUSE)
>> which are using an non-specific upstream version.Â  Upstreams which
>> really are rolling distros (Arch, Tumbleweed) need to be made non-fatal.
> I was more asking whether for 4.18 you want to fix only test.yaml or
> also build.yaml. (Typically it is test.yaml that causes most issues
> with rolling containers.)

Everything.Â  Because both bite equally hard in stable trees.

It's not hard to do - just needs some time.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:49:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581448.910166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzK-0004Vj-N6; Wed, 09 Aug 2023 22:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581448.910166; Wed, 09 Aug 2023 22:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzK-0004Uz-Gb; Wed, 09 Aug 2023 22:49:10 +0000
Received: by outflank-mailman (input) for mailman id 581448;
 Wed, 09 Aug 2023 22:49: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=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrzJ-0004Dn-BI
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:49:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1dc15dc-3706-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:49:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A57B58285C34;
 Wed,  9 Aug 2023 17:49:05 -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 s871nVlU1vyy; Wed,  9 Aug 2023 17:49:04 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CAC528285C0F;
 Wed,  9 Aug 2023 17:49:04 -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 3p-JqTwgk6O9; Wed,  9 Aug 2023 17:49:04 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 6B1438285613;
 Wed,  9 Aug 2023 17:49:04 -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: f1dc15dc-3706-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com CAC528285C0F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691621344; bh=7Z9IMg+s5CRD9k15jzJgSyuW7KZ1vrdUuV+kANxVxYA=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=nRxLrp56Inmh/eYqB4YDJg0lBIhKdskfFN7tGBYS/68AXLYW2RfPiW/I/pV1VE2MQ
	 g+VKOy7lOva1R1DifIYr+G6UupGjmLXVTdCQahTSIaVjj0jLxDmv8zd+PQs9mFZWpE
	 BboFkSUFJsTDY6qIVMBrwOInKJfpUZtKf3DdrFys=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 1/3] xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
Date: Wed,  9 Aug 2023 17:48:53 -0500
Message-Id: <7d9380f413226e4f41d1137110e2bb78980d1b1a.1691620546.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691620546.git.sanastasio@raptorengineering.com>
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

In preparation for implementing ISA3+ Radix MMU support, drop ISA 2.07B
from the supported ISA list to avoid having a non-working
configuration in tree. It can be re-added at a later point when Hash
MMU support is added.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v3: no changes.
v2: no changes.

 xen/arch/ppc/Kconfig | 7 +------
 xen/arch/ppc/arch.mk | 1 -
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index b32dce39b8..ab116ffb2a 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -20,15 +20,10 @@ menu "ISA Selection"

 choice
 	prompt "Base ISA"
-	default POWER_ISA_2_07B
+	default POWER_ISA_3_00
 	help
 	  This selects the base ISA version that Xen will target.

-config POWER_ISA_2_07B
-	bool "Power ISA 2.07B (POWER8)"
-	help
-	  Target version 2.07B of the Power ISA (POWER8) or later
-
 config POWER_ISA_3_00
 	bool "Power ISA 3.00 (POWER9)"
 	help
diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index 3bf79bac37..d05cbf1df5 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -1,7 +1,6 @@
 ########################################
 # Power-specific definitions

-ppc-march-$(CONFIG_POWER_ISA_2_07B) :=3D power8
 ppc-march-$(CONFIG_POWER_ISA_3_00) :=3D power9

 CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:49:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581446.910151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzJ-0004Dq-3k; Wed, 09 Aug 2023 22:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581446.910151; Wed, 09 Aug 2023 22: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 1qTrzJ-0004Di-0z; Wed, 09 Aug 2023 22:49:09 +0000
Received: by outflank-mailman (input) for mailman id 581446;
 Wed, 09 Aug 2023 22: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=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrzI-0004DZ-C0
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:49:08 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1df0abe-3706-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:49:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 72BEA828663A;
 Wed,  9 Aug 2023 17:49:05 -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 KJP5SenASSx8; Wed,  9 Aug 2023 17:49:04 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 65E8C8285387;
 Wed,  9 Aug 2023 17:49:04 -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 4YyV_GkeTTjy; Wed,  9 Aug 2023 17:49:04 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E59BF8285225;
 Wed,  9 Aug 2023 17:49:03 -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: f1df0abe-3706-11ee-b282-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 65E8C8285387
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691621344; bh=Azi1XUqDdDmUx2jIDtnQNFXM9Pbptush/zECpYWLo5U=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=Tud/wSlJhl7HchSQ5SvLl70ie8GlGp2LwCt+9k9oF8K/Xc8rdBmlX/t6AXjVOXfq3
	 7NKixkfgPKq0is0cSpOGUehd4+Fp4jVmUM6bD2tjvS/l5pXJPA1cybgff92zLJj07A
	 xELUtNZ6S5Hy61BMkHlA6b71gskUVKcKKqABaCOg=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 0/3] xen/ppc: Add early Radix MMU support
Date: Wed,  9 Aug 2023 17:48:52 -0500
Message-Id: <cover.1691620546.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

(v3: Apologies for the noise, but v2 was submitted in error and was
missing a few changes to patch 3 that were discussed)

Hello all,

This series adds support for bringing up the Radix MMU with basic
identity-mapped page tables.

In order to simplify the memory layout, the series changes XEN_VIRT
_START to 0xC000_0000_0000_0000, which has a couple of convenient
properties. When the MMU is off, the top 4 address bits are ignored by
the hardware, so this is equivalent to physical address 0.  When the MMU
is enabled, the top 4 address bits are used to select the memory
quadrant, and 0xC corresponds to quadrant 3 which is used for kernel
memory. Thus, by linking the kernel here and ensuring its physical load
address is 0x0, we are able to run at the correct address both before
and after the MMU is enabled.

Additionally, as the Radix MMU was only added in ISA 3.0 (POWER9), this
series also drops support for POWER8 for now, to avoid having a
non-working build configuration in-tree.

Thanks,
Shawn

Shawn Anastasio (3):
  xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
  xen/ppc: Relocate kernel to physical address 0 on boot
  xen/ppc: Implement initial Radix MMU support

 xen/arch/ppc/Kconfig                 |   7 +-
 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/arch.mk                 |   1 -
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/config.h    |   2 +-
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 179 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 138 ++++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 265 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  42 +++++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 15 files changed, 791 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:49:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581447.910161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzK-0004T1-CW; Wed, 09 Aug 2023 22:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581447.910161; Wed, 09 Aug 2023 22:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzK-0004Su-9J; Wed, 09 Aug 2023 22:49:10 +0000
Received: by outflank-mailman (input) for mailman id 581447;
 Wed, 09 Aug 2023 22:49:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrzJ-0004DZ-1j
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:49:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f22dc019-3706-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:49:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 85B318285225;
 Wed,  9 Aug 2023 17:49:06 -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 I6z8AMxnP63O; Wed,  9 Aug 2023 17:49:05 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 616A28285613;
 Wed,  9 Aug 2023 17:49:05 -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 WL2-DLOhLwdh; Wed,  9 Aug 2023 17:49:05 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id CBB798285C34;
 Wed,  9 Aug 2023 17:49:04 -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: f22dc019-3706-11ee-b282-6b7b168915f2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 616A28285613
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691621345; bh=qrDPK5kIJ0/XTMRACSx+12t+ew2IakgJ1JW1Q6vpgG0=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=oLD9Fjj9lEJ8yWi1SMp8uEhy58pEuf1kdq/qquy8p5/xaVlsp+cblyYWXEacxo86j
	 P+JO8FaU9e38NGteLGASs86DClTVp0tgfG9FeJX4iBlE72Rqti108vivuF8GDXWrrm
	 nVRIl4NJRmMhBK5wLdvkNNudvuacnuvZgAQ1lN54=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 2/3] xen/ppc: Relocate kernel to physical address 0 on boot
Date: Wed,  9 Aug 2023 17:48:54 -0500
Message-Id: <6b965917ffb2185c541f04ff18a624282ca6e211.1691620546.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691620546.git.sanastasio@raptorengineering.com>
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Introduce a small assembly loop in `start` to copy the kernel to
physical address 0 before continuing. This ensures that the physical
address lines up with XEN_VIRT_START (0xc000000000000000) and allows us
to identity map the kernel when the MMU is set up in the next patch.

We are also able to start execution at XEN_VIRT_START after the copy
since hardware will ignore the top 4 address bits when operating in Real
Mode (MMU off).

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v3: no changes.
v2:
  - Fix definition of XEN_VIRT_START macro which incorrectly used
    _AT instead of _AC.
  - Use _start instead of start as symbol referring to beginning of
    Xen binary
 xen/arch/ppc/include/asm/config.h |  2 +-
 xen/arch/ppc/ppc64/head.S         | 27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index d060f0dca7..30438d22d2 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -39,7 +39,7 @@
     name:
 #endif

-#define XEN_VIRT_START _AT(UL, 0xc000000000000000)
+#define XEN_VIRT_START _AC(0xc000000000000000, UL)

 #define SMP_CACHE_BYTES (1 << 6)

diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index 8f1e5d3ad2..149af2c472 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -17,6 +17,33 @@ ENTRY(start)
     addis   %r2, %r12, .TOC.-1b@ha
     addi    %r2, %r2, .TOC.-1b@l

+    /*
+     * Copy Xen to physical address zero and jump to XEN_VIRT_START
+     * (0xc000000000000000). This works because the hardware will ignore=
 the top
+     * four address bits when the MMU is off.
+     */
+    LOAD_REG_ADDR(%r1, _start)
+    LOAD_IMM64(%r12, XEN_VIRT_START)
+
+    /* If we're at the correct address, skip copy */
+    cmpld   %r1, %r12
+    beq     .L_correct_address
+
+    /* Copy bytes until _end */
+    LOAD_REG_ADDR(%r11, _end)
+    addi    %r1, %r1, -8
+    li      %r13, -8
+.L_copy_xen:
+    ldu     %r10, 8(%r1)
+    stdu    %r10, 8(%r13)
+    cmpld   %r1, %r11
+    blt     .L_copy_xen
+
+    /* Jump to XEN_VIRT_START */
+    mtctr   %r12
+    bctr
+.L_correct_address:
+
     /* set up the initial stack */
     LOAD_REG_ADDR(%r1, cpu0_boot_stack)
     li      %r11, 0
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:49:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581449.910181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzN-00050P-84; Wed, 09 Aug 2023 22:49:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581449.910181; Wed, 09 Aug 2023 22:49:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTrzN-000506-3F; Wed, 09 Aug 2023 22:49:13 +0000
Received: by outflank-mailman (input) for mailman id 581449;
 Wed, 09 Aug 2023 22:49:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FTx5=D2=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qTrzM-0004Dn-Fk
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:49:12 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f397e6bf-3706-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 00:49:09 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D3D088285225;
 Wed,  9 Aug 2023 17:49:08 -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 kC4o0gValSCQ; Wed,  9 Aug 2023 17:49:05 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D22A08285387;
 Wed,  9 Aug 2023 17:49:05 -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 LVlMT_cAQN4w; Wed,  9 Aug 2023 17:49:05 -0500 (CDT)
Received: from raptor-ewks-026.lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 591A48285225;
 Wed,  9 Aug 2023 17:49:05 -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: f397e6bf-3706-11ee-8613-37d641c3527e
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com D22A08285387
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1691621345; bh=ZSuXcMQdvaB1FrdlsSYRktnjkCQuYOrqO1hk6jwASk4=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=HFG8ACUcQ1NSx5ionDhm1WNRx+pWY89BDBaJIxNNTcKVY59vDmCQcWvHbdVYs/k4L
	 f6Lou05prWLwjqcLGwmuUWQBh322Qm8rRk+BxkdBdmWJpgyBfUifjaD/MEeUQTbNdW
	 nMnrG6uYUKL1FANV4k672qQa21BIa47gvcuBJIeA=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 3/3] xen/ppc: Implement initial Radix MMU support
Date: Wed,  9 Aug 2023 17:48:55 -0500
Message-Id: <6bacc1ca18273654229672e6ba2741da01a92f04.1691620546.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1691620546.git.sanastasio@raptorengineering.com>
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Add code to construct early identity-mapped page tables as well as the
required process and partition tables to enable the MMU.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v3:
  - Add XEN_PT_SIZE_LVL() macro for calculating the size in bytes
    of a page directory/page table structure.
  - Add alignment to struct lvl$N_{pd,pt} types.
  - Don't require aligned `paddr` in paddr_to_{pde,pte}
  - Fix RTS_FIELD comment bit numbering

v2:
  - Add missing ')' to mm.h/maddr_to_virt definition
  - Add missing parens around `va` argument in XEN_PT_INDEX_LVL
  - Drop '&' asm constraint modifier in processor.h/mfmsr()
  - Fix asm constraint formatting in processor.h
  - Change mtspr,mfspr to functions in processor.h
  - Drop unnecessary _Static_assert in mm-radix.c
  - Drop unnecessary cast in setup_initial_mapping
  - Use __va() to obtain pde/pte addresses in setup_initial_mapping
  - Wrap >80col lines in mm-radix.c
  - Drop unnecessary parameters in setup_{process,partition}_table
  - Add __init to setup_{process,partition}_table
  - Drop unnecessary opal.c changes
  - Drop manual prototype of setup_initial_pagetables in setup.c in
    favor of using the one already in asm/mm.h
  - Fix formatting of tlbiel asm block in tlb-radix.c

 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 179 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 138 ++++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 265 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  15 ++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 12 files changed, 762 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 0c0a7884a1..a059ac4c0a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -2,8 +2,10 @@ obj-$(CONFIG_PPC64) +=3D ppc64/

 obj-y +=3D boot-of.init.o
 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
+obj-y +=3D mm-radix.o
 obj-y +=3D opal.o
 obj-y +=3D setup.o
+obj-y +=3D tlb-radix.o

 $(TARGET): $(TARGET)-syms
 	cp -f $< $@
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm=
/bitops.h
new file mode 100644
index 0000000000..548e97b414
--- /dev/null
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -0,0 +1,9 @@
+#ifndef _ASM_PPC_BITOPS_H
+#define _ASM_PPC_BITOPS_H
+
+/* PPC bit number conversion */
+#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
+#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
+#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+
+#endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.=
h
new file mode 100644
index 0000000000..c85a7ed686
--- /dev/null
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -0,0 +1,18 @@
+#ifndef _ASM_PPC_MM_H
+#define _ASM_PPC_MM_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 virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
+
+/* Convert between Xen-heap virtual addresses and machine addresses. */
+#define __pa(x)             (virt_to_maddr(x))
+#define __va(x)             (maddr_to_virt(x))
+
+void setup_initial_pagetables(void);
+
+#endif /* _ASM_PPC_MM_H */
diff --git a/xen/arch/ppc/include/asm/page-bits.h b/xen/arch/ppc/include/=
asm/page-bits.h
index 4c01bf9716..0286177520 100644
--- a/xen/arch/ppc/include/asm/page-bits.h
+++ b/xen/arch/ppc/include/asm/page-bits.h
@@ -2,6 +2,7 @@
 #define __PPC_PAGE_BITS_H__

 #define PAGE_SHIFT              16 /* 64 KiB Pages */
-#define PADDR_BITS              48
+#define PADDR_BITS              53
+#define VADDR_BITS              52

 #endif /* __PPC_PAGE_BITS_H__ */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/p=
age.h
new file mode 100644
index 0000000000..51667a5e96
--- /dev/null
+++ b/xen/arch/ppc/include/asm/page.h
@@ -0,0 +1,181 @@
+#ifndef _ASM_PPC_PAGE_H
+#define _ASM_PPC_PAGE_H
+
+#include <xen/types.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+
+#define PDE_VALID     PPC_BIT(0)
+#define PDE_NLB_MASK  0xfffffffffffffUL
+#define PDE_NLB_SHIFT 5UL
+#define PDE_NLS_MASK  0x1f
+
+#define PTE_VALID     PPC_BIT(0)
+#define PTE_LEAF      PPC_BIT(1)
+#define PTE_REFERENCE PPC_BIT(55)
+#define PTE_CHANGE    PPC_BIT(56)
+
+/* PTE Attributes */
+#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
+#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
+#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
+
+/* PTE Encoded Access Authority*/
+#define PTE_EAA_PRIVILEGED PPC_BIT(60)
+#define PTE_EAA_READ       PPC_BIT(61)
+#define PTE_EAA_WRITE      PPC_BIT(62)
+#define PTE_EAA_EXECUTE    PPC_BIT(63)
+
+/* Field shifts/masks */
+#define PTE_RPN_MASK  0x1fffffffffffUL
+#define PTE_RPN_SHIFT 12UL
+#define PTE_ATT_MASK  0x3UL
+#define PTE_ATT_SHIFT 4UL
+#define PTE_EAA_MASK  0xfUL
+
+#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
+#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_=
CHANGE)
+#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
+#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
+
+/*
+ * Radix Tree layout for 64KB pages:
+ *
+ * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *            [ PAGE TABLE ENTRY ]
+ */
+
+#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512G=
B =3D 4PB */
+#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K =
=3D 2MB */
+
+#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_=
LVL_2)
+#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_=
LVL_3)
+#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_=
LVL_4)
+#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
+
+#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
+#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
+#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl=
))
+#define XEN_PT_SIZE_LVL(lvl)         (sizeof(uint64_t) * XEN_PT_ENTRIES_=
LVL(lvl))
+#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
+#define XEN_PT_INDEX_LVL(lvl, va)    (((va) >> XEN_PT_SHIFT_LVL(lvl)) & =
XEN_PT_MASK_LVL(lvl))
+
+/*
+ * Calculate the index of the provided virtual address in the provided
+ * page table struct
+ */
+#define pt_index(pt, va) _Generic((pt), \
+    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
+    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
+    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
+    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
+
+#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
+
+typedef struct
+{
+    __be64 pde;
+} pde_t;
+
+typedef struct
+{
+    __be64 pte;
+} pte_t;
+
+struct lvl1_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(1)];
+} __aligned(XEN_PT_SIZE_LVL(1));
+
+struct lvl2_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(2)];
+} __aligned(XEN_PT_SIZE_LVL(2));
+
+struct lvl3_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(3)];
+} __aligned(XEN_PT_SIZE_LVL(3));
+
+struct lvl4_pt
+{
+    pte_t entries[XEN_PT_ENTRIES_LVL(4)];
+} __aligned(XEN_PT_SIZE_LVL(4));
+
+static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
+{
+    paddr_t paddr_aligned =3D paddr & (PTE_RPN_MASK << PTE_RPN_SHIFT);
+    return (pte_t){ .pte =3D cpu_to_be64(paddr_aligned | flags | PTE_LEA=
F) };
+}
+
+static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, uns=
igned long nls)
+{
+    paddr_t paddr_aligned =3D paddr & (PDE_NLB_MASK << PDE_NLB_SHIFT);
+    return (pde_t){ .pde =3D cpu_to_be64(paddr_aligned | flags | nls) };
+}
+
+static inline paddr_t pte_to_paddr(pte_t pte)
+{
+    return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
+}
+
+static inline paddr_t pde_to_paddr(pde_t pde)
+{
+    return be64_to_cpu(pde.pde) & (PDE_NLB_MASK << PDE_NLB_SHIFT);
+}
+
+static inline bool pte_is_valid(pte_t pte)
+{
+    return pte.pte & be64_to_cpu(PTE_VALID);
+}
+
+static inline bool pde_is_valid(pde_t pde)
+{
+    return pde.pde & be64_to_cpu(PDE_VALID);
+}
+
+/*
+ * ISA 3.0 partition and process table entry format
+ */
+struct patb_entry {
+	__be64 patb0;
+	__be64 patb1;
+};
+#define PATB0_HR PPC_BIT(0) /* host uses radix */
+#define PATB1_GR PPC_BIT(0) /* guest uses radix; must match HR */
+
+struct prtb_entry {
+	__be64 prtb0;
+	__be64 reserved;
+};
+
+/*
+ * We support 52 bits, hence:
+ * bits 52 - 31 =3D 21, 0b10101
+ * RTS encoding details
+ * bits 0 - 2 of rts -> bits 5 - 7 of unsigned long
+ * bits 3 - 4 of rts -> bits 61 - 62 of unsigned long
+ */
+#define RTS_FIELD ((0x2UL << 61) | (0x5UL << 5))
+
+void tlbie_all(void);
+
+#endif /* _ASM_PPC_PAGE_H */
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 2300640787..6b70569eb8 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -133,6 +133,40 @@ struct cpu_user_regs
     uint32_t entry_vector;
 };

+static __inline__ void sync(void)
+{
+    asm volatile ( "sync" );
+}
+
+static __inline__ void isync(void)
+{
+    asm volatile ( "isync" );
+}
+
+static inline unsigned long mfmsr(void)
+{
+    unsigned long msr;
+    asm volatile ( "mfmsr %0" : "=3Dr" (msr) );
+    return msr;
+}
+
+static inline void mtmsrd(unsigned long msr)
+{
+    asm volatile ( "mtmsrd %0" : : "r" (msr) );
+}
+
+static inline void mtspr(uint16_t spr, unsigned long val)
+{
+    asm volatile ( "mtspr %0, %1" : : "K" (spr), "r" (val) );
+}
+
+static inline unsigned long mfspr(uint16_t spr)
+{
+    unsigned long val;
+    asm volatile ( "mfspr %0, %1" : "=3Dr" (val) : "K" (spr) );
+    return val;
+}
+
 /*
  * panic() isn't available at the moment so an infinite loop will be
  * used temporarily.
diff --git a/xen/arch/ppc/include/asm/regs.h b/xen/arch/ppc/include/asm/r=
egs.h
new file mode 100644
index 0000000000..d5f47a6ff1
--- /dev/null
+++ b/xen/arch/ppc/include/asm/regs.h
@@ -0,0 +1,138 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright IBM Corp. 2005, 2007
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ *          Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
+ */
+
+#ifndef _ASM_REG_DEFS_H_
+#define _ASM_REG_DEFS_H_
+
+/* Special Purpose Registers */
+#define SPRN_VRSAVE 256
+#define SPRN_DSISR  18
+#define SPRN_DAR    19
+#define SPRN_DEC    22
+#define SPRN_SRR0   26
+#define SPRN_SRR1   27
+#define SPRN_TBRL   268
+#define SPRN_TBRU   269
+#define SPRN_SPRG0  272
+#define SPRN_SPRG1  273
+#define SPRN_SPRG2  274
+#define SPRN_SPRG3  275
+#define SPRN_TBWL   284
+#define SPRN_TBWU   285
+
+#define SPRN_HSPRG0 304
+#define SPRN_HSPRG1 305
+#define SPRN_HDEC   310
+#define SPRN_HIOR   311
+#define SPRN_RMOR   312
+#define SPRN_HRMOR  313
+#define SPRN_HSRR0  314
+#define SPRN_HSRR1  315
+#define SPRN_LPIDR  319
+
+#define SPRN_PTCR	0x1D0	/* Partition table control Register */
+#define SPRN_PID	0x030	/* Process ID */
+
+/* Performance monitor spr encodings */
+#define SPRN_MMCRA  786
+#define   MMCRA_SAMPHV    _AC(0x10000000, UL) /* state of MSR HV when SI=
AR set */
+#define   MMCRA_SAMPPR    _AC(0x08000000, UL) /* state of MSR PR when SI=
AR set */
+#define   MMCRA_SAMPLE_ENABLE _AC(0x00000001, UL) /* enable sampling */
+#define NUM_PMCS 8
+#define SPRN_PMC1   787
+#define SPRN_PMC2   788
+#define SPRN_PMC3   789
+#define SPRN_PMC4   790
+#define SPRN_PMC5   791
+#define SPRN_PMC6   792
+#define SPRN_PMC7   793
+#define SPRN_PMC8   794
+#define SPRN_MMCR0  795
+#define   MMCR0_FC      _AC(0x80000000, UL) /* freeze counters */
+#define   MMCR0_FCS     _AC(0x40000000, UL) /* freeze in supervisor stat=
e */
+#define   MMCR0_FCP     _AC(0x20000000, UL) /* freeze in problem state *=
/
+#define   MMCR0_FCM1    _AC(0x10000000, UL) /* freeze counters while MSR=
 mark =3D 1 */
+#define   MMCR0_FCM0    _AC(0x08000000, UL) /* freeze counters while MSR=
 mark =3D 0 */
+#define   MMCR0_PMAE    _AC(0x04000000, UL) /* performance monitor alert=
 enabled */
+#define   MMCR0_PMAO    _AC(0x00000080, UL) /* performance monitor alert=
 occurred */
+#define   MMCR0_FCH     _AC(0x00000001, UL) /* freeze conditions in hype=
rvisor */
+#define SPRN_SIAR   796
+#define SPRN_SDAR   797
+#define SPRN_MMCR1  798
+
+/* As defined for PU G4 */
+#define SPRN_HID0   1008
+#define SPRN_HID1   1009
+#define SPRN_HID4   1012
+
+#define SPRN_DABR   1013
+#define SPRN_HID5   1014
+#define SPRN_DABRX  1015
+#define SPRN_HID6   1017
+#define SPRN_HID7   1018
+#define SPRN_HID8   1019
+#define SPRN_PIR    1023
+
+#define SPRN_LPCR	0x13E	/* LPAR Control Register */
+#define   LPCR_VPM0		_AC(0x8000000000000000, UL)
+#define   LPCR_VPM1		_AC(0x4000000000000000, UL)
+#define   LPCR_ISL		_AC(0x2000000000000000, UL)
+#define   LPCR_VC_SH		61
+#define   LPCR_DPFD_SH		52
+#define   LPCR_DPFD		(_AC(7, UL) << LPCR_DPFD_SH)
+#define   LPCR_VRMASD_SH	47
+#define   LPCR_VRMASD		(_AC(0x1f, UL) << LPCR_VRMASD_SH)
+#define   LPCR_VRMA_L		_AC(0x0008000000000000, UL)
+#define   LPCR_VRMA_LP0		_AC(0x0001000000000000, UL)
+#define   LPCR_VRMA_LP1		_AC(0x0000800000000000, UL)
+#define   LPCR_RMLS		0x1C000000	/* Implementation dependent RMO limit se=
l */
+#define   LPCR_RMLS_SH		26
+#define   LPCR_HAIL		_AC(0x0000000004000000, UL)   /* HV AIL (ISAv3.1) *=
/
+#define   LPCR_ILE		_AC(0x0000000002000000, UL)   /* !HV irqs set MSR:LE=
 */
+#define   LPCR_AIL		_AC(0x0000000001800000, UL)	/* Alternate interrupt l=
ocation */
+#define   LPCR_AIL_0		_AC(0x0000000000000000, UL)	/* MMU off exception o=
ffset 0x0 */
+#define   LPCR_AIL_3		_AC(0x0000000001800000, UL)   /* MMU on exception =
offset 0xc00...4xxx */
+#define   LPCR_ONL		_AC(0x0000000000040000, UL)	/* online - PURR/SPURR c=
ount */
+#define   LPCR_LD		_AC(0x0000000000020000, UL)	/* large decremeter */
+#define   LPCR_PECE		_AC(0x000000000001f000, UL)	/* powersave exit cause=
 enable */
+#define     LPCR_PECEDP	_AC(0x0000000000010000, UL)	/* directed priv dbe=
lls cause exit */
+#define     LPCR_PECEDH	_AC(0x0000000000008000, UL)	/* directed hyp dbel=
ls cause exit */
+#define     LPCR_PECE0		_AC(0x0000000000004000, UL)	/* ext. exceptions c=
an cause exit */
+#define     LPCR_PECE1		_AC(0x0000000000002000, UL)	/* decrementer can c=
ause exit */
+#define     LPCR_PECE2		_AC(0x0000000000001000, UL)	/* machine check etc=
 can cause exit */
+#define     LPCR_PECE_HVEE	_AC(0x0000400000000000, UL)	/* P9 Wakeup on H=
V interrupts */
+#define   LPCR_MER		_AC(0x0000000000000800, UL)	/* Mediated External Exc=
eption */
+#define   LPCR_MER_SH		11
+#define	  LPCR_GTSE		_AC(0x0000000000000400, UL)  	/* Guest Translation =
Shootdown Enable */
+#define   LPCR_TC		_AC(0x0000000000000200, UL)	/* Translation control */
+#define   LPCR_HEIC		_AC(0x0000000000000010, UL)   /* Hypervisor Externa=
l Interrupt Control */
+#define   LPCR_LPES		0x0000000c
+#define   LPCR_LPES0		_AC(0x0000000000000008, UL)      /* LPAR Env selec=
tor 0 */
+#define   LPCR_LPES1		_AC(0x0000000000000004, UL)      /* LPAR Env selec=
tor 1 */
+#define   LPCR_LPES_SH		2
+#define   LPCR_RMI		_AC(0x0000000000000002, UL)      /* real mode is cac=
he inhibit */
+#define   LPCR_HVICE		_AC(0x0000000000000002, UL)      /* P9: HV interru=
pt enable */
+#define   LPCR_HDICE		_AC(0x0000000000000001, UL)      /* Hyp Decr enabl=
e (HV,PR,EE) */
+#define   LPCR_UPRT		_AC(0x0000000000400000, UL)      /* Use Process Tab=
le (ISA 3) */
+#define   LPCR_HR		_AC(0x0000000000100000, UL)
+
+#endif /* _ASM_REG_DEFS_H_ */
diff --git a/xen/arch/ppc/include/asm/types.h b/xen/arch/ppc/include/asm/=
types.h
index b62ae0e7ae..ffaf378a4d 100644
--- a/xen/arch/ppc/include/asm/types.h
+++ b/xen/arch/ppc/include/asm/types.h
@@ -4,6 +4,7 @@
 #define _ASM_PPC_TYPES_H

 typedef unsigned long paddr_t;
+typedef unsigned long vaddr_t;
 #define INVALID_PADDR (~0UL)
 #define PRIpaddr "016lx"

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
new file mode 100644
index 0000000000..92cb9b6b2c
--- /dev/null
+++ b/xen/arch/ppc/mm-radix.c
@@ -0,0 +1,265 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/init.h>
+#include <xen/kernel.h>
+#include <xen/types.h>
+#include <xen/lib.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+#include <asm/early_printk.h>
+#include <asm/mm.h>
+#include <asm/page.h>
+#include <asm/processor.h>
+#include <asm/regs.h>
+#include <asm/msr.h>
+
+void enable_mmu(void);
+
+#define INITIAL_LVL1_PD_COUNT      1
+#define INITIAL_LVL2_LVL3_PD_COUNT 2
+#define INITIAL_LVL4_PT_COUNT      256
+
+static size_t initial_lvl1_pd_pool_used;
+static struct lvl1_pd initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
+
+static size_t initial_lvl2_lvl3_pd_pool_used;
+static struct lvl2_pd initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COU=
NT];
+
+static size_t 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 POWE=
R9 */
+#define PATB_SIZE      (1UL << PATB_SIZE_LOG2)
+#define PRTB_SIZE_LOG2 12
+#define PRTB_SIZE      (1UL << PRTB_SIZE_LOG2)
+
+static struct patb_entry
+    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_ent=
ry)];
+
+static struct prtb_entry
+    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_ent=
ry)];
+
+static __init struct lvl1_pd *lvl1_pd_pool_alloc(void)
+{
+    if ( initial_lvl1_pd_pool_used >=3D INITIAL_LVL1_PD_COUNT )
+    {
+        early_printk("Ran out of space for LVL1 PD!\n");
+        die();
+    }
+
+    return &initial_lvl1_pd_pool[initial_lvl1_pd_pool_used++];
+}
+
+static __init struct lvl2_pd *lvl2_pd_pool_alloc(void)
+{
+    if ( initial_lvl2_lvl3_pd_pool_used >=3D INITIAL_LVL2_LVL3_PD_COUNT =
)
+    {
+        early_printk("Ran out of space for LVL2/3 PD!\n");
+        die();
+    }
+
+    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
+}
+
+static __init struct lvl3_pd *lvl3_pd_pool_alloc(void)
+{
+    BUILD_BUG_ON(sizeof(struct lvl3_pd) !=3D sizeof(struct lvl2_pd));
+
+    return (struct lvl3_pd *) lvl2_pd_pool_alloc();
+}
+
+static __init struct lvl4_pt *lvl4_pt_pool_alloc(void)
+{
+    if ( initial_lvl4_pt_pool_used >=3D INITIAL_LVL4_PT_COUNT )
+    {
+        early_printk("Ran out of space for LVL4 PT!\n");
+        die();
+    }
+
+    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_l=
en)
+{
+    uint64_t cur;
+    size_t i =3D buf_len - 1;
+
+    /* Null terminate buffer */
+    out_buf[i] =3D '\0';
+
+    /* Add digits in reverse */
+    cur =3D val;
+    while ( cur && i > 0 )
+    {
+        out_buf[--i] =3D "0123456789ABCDEF"[cur % 16];
+        cur /=3D 16;
+    }
+
+    /* Pad to 16 digits */
+    while ( i > 0 )
+        out_buf[--i] =3D '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 =3D 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,
+                                         paddr_t phys_base)
+{
+    uint64_t page_addr;
+
+    if ( map_start & ~PAGE_MASK )
+    {
+        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\=
n");
+        die();
+    }
+
+    if ( phys_base & ~PAGE_MASK )
+    {
+        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n=
");
+        die();
+    }
+
+    for ( page_addr =3D map_start; page_addr < map_end; page_addr +=3D P=
AGE_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 =3D pt_entry(lvl1, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl2 =3D lvl2_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl2), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_2);
+        }
+        else
+            lvl2 =3D (struct lvl2_pd *)__va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 3 PD if necessary */
+        pde =3D pt_entry(lvl2, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl3 =3D lvl3_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl3), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_3);
+        }
+        else
+            lvl3 =3D (struct lvl3_pd *)__va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 4 PT if necessary */
+        pde =3D pt_entry(lvl3, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl4 =3D lvl4_pt_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl4), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_4);
+        }
+        else
+            lvl4 =3D (struct lvl4_pt *)__va(pde_to_paddr(*pde));
+
+        /* Finally, create PTE in LVL 4 PT */
+        pte =3D pt_entry(lvl4, page_addr);
+        if ( !pte_is_valid(*pte) )
+        {
+            unsigned long paddr =3D (page_addr - map_start) + phys_base;
+            unsigned long flags;
+
+            radix_dprint(paddr, "being mapped to ");
+            radix_dprint(page_addr, "!\n");
+            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_ad=
dr) )
+            {
+                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
+                flags =3D PTE_XEN_RX;
+            }
+            else if ( is_kernel_rodata(page_addr) )
+            {
+                radix_dprint(page_addr, "being marked as RODATA (RO)\n")=
;
+                flags =3D PTE_XEN_RO;
+            }
+            else
+            {
+                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n"=
);
+                flags =3D PTE_XEN_RW;
+            }
+
+            *pte =3D paddr_to_pte(paddr, flags);
+            radix_dprint(paddr_to_pte(paddr, flags).pte,
+                             "is result of PTE map!\n");
+        }
+        else
+        {
+            early_printk("BUG: Tried to create PTE for already-mapped pa=
ge!");
+            die();
+        }
+    }
+}
+
+static void __init setup_partition_table(struct lvl1_pd *root)
+{
+    unsigned long ptcr;
+
+    /* Configure entry for LPID 0 to enable Radix and point to root PD *=
/
+    uint64_t patb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1 |
+                     PATB0_HR;
+    uint64_t patb1 =3D __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB=
1_GR;
+    initial_patb[0].patb0 =3D cpu_to_be64(patb0);
+    initial_patb[0].patb1 =3D cpu_to_be64(patb1);
+
+    ptcr =3D __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
+    mtspr(SPRN_PTCR, ptcr);
+}
+
+static void __init setup_process_table(struct lvl1_pd *root)
+{
+    /* Configure entry for PID 0 to point to root PD */
+    uint64_t prtb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1;
+    initial_prtb[0].prtb0 =3D cpu_to_be64(prtb0);
+}
+
+void __init setup_initial_pagetables(void)
+{
+    struct lvl1_pd *root =3D lvl1_pd_pool_alloc();
+    unsigned long lpcr;
+
+    setup_initial_mapping(root, (vaddr_t)_start, (vaddr_t)_end, __pa(_st=
art));
+
+    /* Enable Radix mode in LPCR */
+    lpcr =3D mfspr(SPRN_LPCR);
+    mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR);
+    early_printk("Enabled radix in LPCR\n");
+
+    /* Set up initial process table */
+    setup_process_table(root);
+
+    /* Set up initial partition table */
+    setup_partition_table(root);
+
+    /* Flush TLB */
+    tlbie_all();
+    early_printk("Flushed TLB\n");
+
+    /* Turn on the MMU */
+    enable_mmu();
+}
diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index 149af2c472..dedff7650c 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -2,6 +2,7 @@

 #include <asm/asm-defns.h>
 #include <asm/asm-offsets.h>
+#include <asm/msr.h>

     .section .text.header, "ax", %progbits

@@ -66,3 +67,17 @@ ENTRY(start)

     .size start, . - start
     .type start, %function
+
+ENTRY(enable_mmu)
+    mflr %r3
+    mfmsr %r4
+
+    /* enable instruction and data relocation (MMU) */
+    ori %r4, %r4, (MSR_IR | MSR_DR)
+
+    mtsrr0 %r3 /* return to caller after MMU enable */
+    mtsrr1 %r4
+    rfid
+
+    .size enable_mmu, . - enable_mmu
+    .type enable_mmu, %function
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 8ab7bc19ee..0106e9c9da 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -2,6 +2,7 @@
 #include <xen/init.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
+#include <asm/mm.h>
 #include <asm/processor.h>

 /* Xen stack for bringing up the first CPU. */
@@ -27,6 +28,8 @@ void __init noreturn start_xen(unsigned long r3, unsign=
ed long r4,
         boot_opal_init((void *)r3);
     }

+    setup_initial_pagetables();
+
     early_printk("Hello, ppc64le!\n");

     for ( ; ; )
diff --git a/xen/arch/ppc/tlb-radix.c b/xen/arch/ppc/tlb-radix.c
new file mode 100644
index 0000000000..3dde102c62
--- /dev/null
+++ b/xen/arch/ppc/tlb-radix.c
@@ -0,0 +1,96 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on arch/powerpc/mm/book3s64/radix_tlb.c from Linux with the fol=
lowing
+ * copyright notice:
+ *
+ * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation.
+ */
+#include <xen/stringify.h>
+
+#include <asm/bitops.h>
+#include <asm/msr.h>
+#include <asm/processor.h>
+
+/* TLB flush actions. Used as argument to tlbiel_flush() */
+enum
+{
+    TLB_INVAL_SCOPE_LPID,   /* invalidate TLBs for current LPID */
+    TLB_INVAL_SCOPE_GLOBAL, /* invalidate all TLBs */
+};
+
+#define POWER9_TLB_SETS_RADIX 128 /* # sets in POWER9 TLB Radix mode */
+
+#define RIC_FLUSH_TLB 0
+#define RIC_FLUSH_PWC 1
+#define RIC_FLUSH_ALL 2
+
+static void tlbiel_radix_set_isa300(unsigned int set, unsigned int is,
+                                    unsigned int pid, unsigned int ric,
+                                    unsigned int prs)
+{
+    unsigned long rb;
+    unsigned long rs;
+
+    rb =3D (set << PPC_BITLSHIFT(51)) | (is << PPC_BITLSHIFT(53));
+    rs =3D ((unsigned long) pid << PPC_BITLSHIFT(31));
+
+    asm volatile ( "tlbiel %0, %1, %2, %3, 1"
+                   :: "r" (rb), "r" (rs), "i" (ric), "i" (prs)
+                   : "memory" );
+}
+
+static void tlbiel_all_isa300(unsigned int num_sets, unsigned int is)
+{
+    unsigned int set;
+
+    asm volatile ( "ptesync" : : : "memory" );
+
+    /*
+     * Flush the first set of the TLB, and the entire Page Walk Cache
+     * and partition table entries. Then flush the remaining sets of the
+     * TLB.
+     */
+
+    if ( mfmsr() & MSR_HV )
+    {
+        /* MSR[HV] should flush partition scope translations first. */
+        tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 0);
+
+        for ( set =3D 1; set < num_sets; set++ )
+            tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 0);
+    }
+
+    /* Flush process scoped entries. */
+    tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 1);
+
+    for ( set =3D 1; set < num_sets; set++ )
+        tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 1);
+
+    asm volatile ( "ptesync" : : : "memory" );
+}
+
+void radix__tlbiel_all(unsigned int action)
+{
+    unsigned int is;
+
+    switch ( action )
+    {
+    case TLB_INVAL_SCOPE_GLOBAL:
+        is =3D 3;
+        break;
+    case TLB_INVAL_SCOPE_LPID:
+        is =3D 2;
+        break;
+    default:
+        die();
+    }
+
+    tlbiel_all_isa300(POWER9_TLB_SETS_RADIX, is);
+
+    asm volatile ( "slbia 7; isync" : : : "memory" );
+}
+
+void tlbie_all(void)
+{
+    radix__tlbiel_all(TLB_INVAL_SCOPE_GLOBAL);
+}
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:52:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581472.910190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTs2G-0007Qj-Un; Wed, 09 Aug 2023 22:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581472.910190; Wed, 09 Aug 2023 22:52:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTs2G-0007Qc-SB; Wed, 09 Aug 2023 22:52:12 +0000
Received: by outflank-mailman (input) for mailman id 581472;
 Wed, 09 Aug 2023 22:52:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qTs2F-0007QW-Hr
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:52: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 1qTs2B-0006ka-2Z; Wed, 09 Aug 2023 22:52:07 +0000
Received: from [54.239.6.185] (helo=[192.168.6.56])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qTs2A-0002PZ-Nx; Wed, 09 Aug 2023 22:52:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=UYdnCNt4r1S81dTd3G5Gil6no3BdumaDACAQ4ib+IAw=; b=ZR3Ue5nD81JMcA7Khtarwa4L23
	qNUnbFEQTKfxnZNMfhNd8Rgf4ZVbf9N2ZawvXGi0kKWXAdXKwL1besMmFiIhDnoyBcI5Bams9mfnv
	3MQvzI64G1zwaGigR0FaRS4NwBhkCDzAi/dJF0IN3roXjkte7Q+eWv+ikY1tS/DIj84s=;
Message-ID: <9456c12e-2960-4d93-86d3-f7fa578199cf@xen.org>
Date: Wed, 9 Aug 2023 23:52:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA violations in hypercall-defs
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>,
 Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Bertrand.Marquis@arm.com
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com>
 <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com>
 <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop>
 <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
 <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop>
 <0d7cabca-e0d5-4ab6-a16d-11da35e45149@xen.org>
 <alpine.DEB.2.22.394.2308091500130.2127516@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2308091500130.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 09/08/2023 23:06, Stefano Stabellini wrote:
> On Wed, 9 Aug 2023, Julien Grall wrote:
>> Hi,
>>
>> On 09/08/2023 21:35, Stefano Stabellini wrote:
>>> P.S.
>>> Julien, Bertrand, do you think we should unsupport (in SUPPORT.md, today
>>> it is not clarified) 32-bit guests on a 64-bit ARM hypervisor?
>>
>> I read your explanation above and I don't really understand why you would want
>> to de-support it. This works pretty well and I am not aware of any issue right
>> now to run 32-bit guest on 64-bit HW.
> 
> I am happy either way. The reason why I brought it up is that we don't
> have a specific test for this in gitlab-ci

But a gitlab CI test can be added, right? I mean it would seem to be odd 
to use this as a justification because a lot of features (e.g. 
passthrough, suspend/resume...) would end up to be de-support it as 
gitlab CI is still in early stage.

> and Jan raised concerns that
> greater-than 32-bit values as possible as ret from hypercalls on a
> 64-bit build of Xen.

This is a known problem and it was discussed several times on the ML in 
the past years.

There is a theorical problem because in theory all the hypercalls could 
return a value that can't fit in 32-bit.

However, AFAIK, only the memory hypercall XENMEM_maximum_gpfn may return 
a 64-bit value on 64-bit Xen.

It is not a problem for a 32-bit domain issues the hypercall on itself 
because the guest physical maximum address should never be greater than 
40-bit (so 28-bit page frame number) and therefore could fit in 32-bit.

The only problem is if you want to use a 32-bit toolstack on 64-bit. But 
Jan sent a patch for SUPPORT.md to clarify this is not meant to always 
work (see [1]).

Please let me know if you are aware of any other truncations.

Cheers,

[1] 6d6144f6-489e-d9b0-b590-f5d65c385116@suse.com


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:54:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581477.910200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTs4C-0007zT-9R; Wed, 09 Aug 2023 22:54:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581477.910200; Wed, 09 Aug 2023 22:54: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 1qTs4C-0007zM-6m; Wed, 09 Aug 2023 22:54:12 +0000
Received: by outflank-mailman (input) for mailman id 581477;
 Wed, 09 Aug 2023 22:54: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=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTs4A-0007zC-6G
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:54:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5304ee7-3707-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:54:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B29AF64BB1;
 Wed,  9 Aug 2023 22:54:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BBE78C433C8;
 Wed,  9 Aug 2023 22:54: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: a5304ee7-3707-11ee-b282-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691621646;
	bh=I9zQGnkPlhmcGiS0698COlr9BJ6IJc8ygi0fkqyS16I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=n3X3R5/d2NUcCQGOsJEfyVbxGAFoWgAEciFk1tOkK91JJn1YQ4M5ZmR8zFtpPV8fS
	 ew+hk2AWJhyVWiT3sfbJy4xu6S/pd3+2kKGg3oN0Nz/+E28rSeGc+CUHhE06Xgq2Uz
	 9oPY38gk2z0WtdaY53fxegyCE0X+LViU0CdIKkqg/4Ru3LBfUCFbx1zjMHp0CB1XIv
	 Cuji+TBz/MXARf35PbhX7onjVvkWAAK6o7v/3au8M974Hgj1K2klKzThVFFCFLDu4/
	 yvWR3BdR6N0YwvPUJGTrDi3vWevZsCrxcx7ZHql4cuNODzmHDUKwV2WfnaIkmU4ZFl
	 9Su7vKZPT/rqQ==
Date: Wed, 9 Aug 2023 15:54:03 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Henry Wang <Henry.Wang@arm.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "community.manager@xenproject.org" <community.manager@xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    simone.ballarin@bugseng.com
Subject: Re: Xen 4.18 release: Reminder about last posting date
In-Reply-To: <c84814f3-93bc-a4a1-e609-cb35092f00d1@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308091546200.2127516@ubuntu-linux-20-04-desktop>
References: <AS8PR08MB79911746BC3D82A6341EDA6F920CA@AS8PR08MB7991.eurprd08.prod.outlook.com> <ec8e75da-743b-50dc-4665-854c446c974e@citrix.com> <alpine.DEB.2.22.394.2308091437200.2127516@ubuntu-linux-20-04-desktop> <1ac14ed0-d489-0efe-0b0c-200792a50fde@citrix.com>
 <alpine.DEB.2.22.394.2308091526060.2127516@ubuntu-linux-20-04-desktop> <c84814f3-93bc-a4a1-e609-cb35092f00d1@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1874569854-1691621349=:2127516"
Content-ID: <alpine.DEB.2.22.394.2308091549170.2127516@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-1874569854-1691621349=:2127516
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308091549171.2127516@ubuntu-linux-20-04-desktop>

On Wed, 9 Aug 2023, Andrew Cooper wrote:
> On 09/08/2023 11:34 pm, Stefano Stabellini wrote:
> > On Wed, 9 Aug 2023, Andrew Cooper wrote:
> >> On 09/08/2023 10:43 pm, Stefano Stabellini wrote:
> >>> On Wed, 9 Aug 2023, Andrew Cooper wrote:
> >>>> On 07/08/2023 2:24 am, Henry Wang wrote:
> >>>>> Hi everyone,
> >>>>>
> >>>>> Following the release schedule discussion in in April, I am sending this email
> >>>>> to remind that according to the release schedule [1], August 11 (this Friday)
> >>>>> will be the last posting date, when patches adding new features are expected
> >>>>> to be posted to the mailing list by this date.
> >>>>>
> >>>>> Also, note that we currently have 1 release blocker [2] which might need
> >>>>> some attention.
> >>>>>
> >>>>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB79919F9CE0B2BF80E7103FB592609@AS8PR08MB7991.eurprd08.prod.outlook.com/
> >>>>> [2] https://gitlab.com/xen-project/xen/-/issues/114
> >>>> Off the top of my head.
> >>>>
> >>>> There are still unaddressed Gitlab bugs from the Eclair integration
> >>> The bug you managed to find it is now fixed (commit e55146071de9). I am
> >>> all for fixing Gitlab bugs so let me know if you find anything else! I
> >>> am not aware of any other issue with Eclair at the moment.
> >> I meant the one where Eclair is still running on `smoke` and twiddling
> >> its thumbs for 1h doing so each time OSSTest says yes to a push.Â  It
> >> will be a missing 'exclude' somewhere, but I haven't hand enough time to
> >> look.
> > Ah, yes, got it. I would call it "Eclair lagging behind". I am happy for
> > this to be a blocker.
> 
> Something else for the list is to see about trimming down the testing
> we're doing.
> 
> I had to cancel 7 pipelines (mostly patchew) in order to get a gitlab
> run on a late-breaking tweak on the security content yesterday.
> 
> Take
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/959800176
> as an example.Â  Nearly 2h to run, and queued for 2h before that waiting
> to start.Â  This is not a rare occurrence right now.

Yeah...

So, an easy fix that would solve the problem for the rest of the tests
but not Eclair would be to reduce the number of tests. It is easy
because we can make them conditional on a CI/CD variable and *not*
define the variable in patchew. That way patchew gets a reduced set of
tests. I think that would be fine.

Another option we can also pursue in parallel is to throw more hardware
at the problem. I am not sure where we are on reusing Colo hardware for
this.

Eclair is a different issue because we cannot increase the hardware and
I don't think we want to reduce the set of rules to be scanned. So the
only idea I can come up with is to limit the number of Eclair jobs in
patchew to 1-2 per day. However it would be pretty random which ones are
getting executed. Or find a wat to prioritize non-patchew jobs? If you
or anyone else has better idea feel free to suggest.


> >>>> and other Gitlab bugs (use of unstable containers) which I'd unwilling
> >>>> to let 4.18 be released with, given the pain we've had on the stable
> >>>> trees trying to keep CI working.
> >>> That is fair enough. To make this more concrete and easier to track, the
> >>> following would need to be changed to using stable containers:
> >>>
> >>> - .qemu-arm64
> >>> - .qemu-arm32
> >>> (I am not counting .qemu-riscv64)
> >>>
> >>> Andrew, is that what you meant? Am I missing anything?
> >> Every debian unstable container, and the other containers (OpenSUSE)
> >> which are using an non-specific upstream version.Â  Upstreams which
> >> really are rolling distros (Arch, Tumbleweed) need to be made non-fatal.
> > I was more asking whether for 4.18 you want to fix only test.yaml or
> > also build.yaml. (Typically it is test.yaml that causes most issues
> > with rolling containers.)
> 
> Everything.Â  Because both bite equally hard in stable trees.
> 
> It's not hard to do - just needs some time.
 
OK
--8323329-1874569854-1691621349=:2127516--


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 22:55:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 22:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581483.910211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTs5W-00008L-Kp; Wed, 09 Aug 2023 22:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581483.910211; Wed, 09 Aug 2023 22: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 1qTs5W-00008D-GZ; Wed, 09 Aug 2023 22:55:34 +0000
Received: by outflank-mailman (input) for mailman id 581483;
 Wed, 09 Aug 2023 22:55:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JRC9=D2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTs5U-000087-IO
 for xen-devel@lists.xenproject.org; Wed, 09 Aug 2023 22:55:32 +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 d6f93431-3707-11ee-b282-6b7b168915f2;
 Thu, 10 Aug 2023 00:55:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 23C5B6485B;
 Wed,  9 Aug 2023 22:55:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E910C433C8;
 Wed,  9 Aug 2023 22:55:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6f93431-3707-11ee-b282-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691621729;
	bh=1lhl3ap1zWM0chou3+Rggl1wTn/zkGmZwk1xENiVgfQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=c7GfCrnS4czVxVxZqZ7zJX4dZpQS4KyLofREV4HjnEyK5ke0LcvFCoRCOgJEv9el6
	 IahTWZVituEMACQ8e3aFaankkhyJ8c02K/mSZnxFXz9hXtz4vKd2Fwn+fb/WBbrssT
	 PXVlWtlNZlAxz7yEWj9MLZ7MgHmxDpkX160UvcAMN0YQ4gi60E2nAjtnTa3pkhdyll
	 bw+m6UGoIlXSh9ZeWNAjYuCvV8zySL8UM3bwaAEHgEylOm4ahAXYonYcZmrfrep6W0
	 W2IzEtj5meSnb3W8mGG8EQYvjVQSSl5EHfmGJ4c7hFFzuCoROhrIJeb+ygjPXnCT23
	 qCWJ0AoBVCraQ==
Date: Wed, 9 Aug 2023 15:55:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, jgross@suse.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, Bertrand.Marquis@arm.com
Subject: Re: MISRA violations in hypercall-defs
In-Reply-To: <9456c12e-2960-4d93-86d3-f7fa578199cf@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308091554390.2127516@ubuntu-linux-20-04-desktop>
References: <5972799c-99a6-73f5-eff2-b24469f7428d@bugseng.com> <01fbd921-8092-aedd-33ec-ef170d8ec6fc@suse.com> <alpine.DEB.2.22.394.2308081457530.2127516@ubuntu-linux-20-04-desktop> <456d6bb5-8fa2-d47a-5d1a-b3bda20e0a5b@suse.com>
 <alpine.DEB.2.22.394.2308091320540.2127516@ubuntu-linux-20-04-desktop> <0d7cabca-e0d5-4ab6-a16d-11da35e45149@xen.org> <alpine.DEB.2.22.394.2308091500130.2127516@ubuntu-linux-20-04-desktop> <9456c12e-2960-4d93-86d3-f7fa578199cf@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, 9 Aug 2023, Julien Grall wrote:
> On 09/08/2023 23:06, Stefano Stabellini wrote:
> > On Wed, 9 Aug 2023, Julien Grall wrote:
> > > Hi,
> > > 
> > > On 09/08/2023 21:35, Stefano Stabellini wrote:
> > > > P.S.
> > > > Julien, Bertrand, do you think we should unsupport (in SUPPORT.md, today
> > > > it is not clarified) 32-bit guests on a 64-bit ARM hypervisor?
> > > 
> > > I read your explanation above and I don't really understand why you would
> > > want
> > > to de-support it. This works pretty well and I am not aware of any issue
> > > right
> > > now to run 32-bit guest on 64-bit HW.
> > 
> > I am happy either way. The reason why I brought it up is that we don't
> > have a specific test for this in gitlab-ci
> 
> But a gitlab CI test can be added, right? I mean it would seem to be odd to
> use this as a justification because a lot of features (e.g. passthrough,
> suspend/resume...) would end up to be de-support it as gitlab CI is still in
> early stage.

Yes that's fair

> > and Jan raised concerns that
> > greater-than 32-bit values as possible as ret from hypercalls on a
> > 64-bit build of Xen.
> 
> This is a known problem and it was discussed several times on the ML in the
> past years.
> 
> There is a theorical problem because in theory all the hypercalls could return
> a value that can't fit in 32-bit.
> 
> However, AFAIK, only the memory hypercall XENMEM_maximum_gpfn may return a
> 64-bit value on 64-bit Xen.
> 
> It is not a problem for a 32-bit domain issues the hypercall on itself because
> the guest physical maximum address should never be greater than 40-bit (so
> 28-bit page frame number) and therefore could fit in 32-bit.
> 
> The only problem is if you want to use a 32-bit toolstack on 64-bit. But Jan
> sent a patch for SUPPORT.md to clarify this is not meant to always work (see
> [1]).
> 
> Please let me know if you are aware of any other truncations.

No, that's fine. This is exactly what I wanted to know :-)


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 23:43:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 23:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581490.910220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTspo-0005rC-4o; Wed, 09 Aug 2023 23:43:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581490.910220; Wed, 09 Aug 2023 23:43:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTspo-0005r5-1S; Wed, 09 Aug 2023 23:43:24 +0000
Received: by outflank-mailman (input) for mailman id 581490;
 Wed, 09 Aug 2023 23:43:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTspn-0005qv-23; Wed, 09 Aug 2023 23:43:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTspm-0007r5-Q3; Wed, 09 Aug 2023 23:43:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTspm-0004Bv-C0; Wed, 09 Aug 2023 23:43:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTspm-0005ra-BZ; Wed, 09 Aug 2023 23:43:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fVhrBGQaZG66npcTZtdp9uf3kdOFxJzeLOwWf2vmJvg=; b=ODrqnXTxD8C/+DVdSNj5Mh5JRS
	SsL8HMqHW8tCvmu5YXO3cOhqHnFVhEL8wPBa7R2XgBHeb8ZVzqyGGkgkVzubW2arRCPPJg9iesggO
	Egpo5vnxlC2gw1ZeMf7yOaILg1sSikuDZ7FgUCxIWC9WxjR9RlCmknvgJYTQLsKrQuxE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182237-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182237: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl: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: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-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-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-rtds: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-rtds: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-multivcpu: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-credit2:saverestore-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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=322a20add00a4687cd46d9183616fa6fecbef81f
X-Osstest-Versions-That:
    xen=0a62b16489958715c20a2f6177a11a8ca3c4f7f3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 23:43:22 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 10 xen-install/src_host fail pass in 182252-retest

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

version targeted for testing:
 xen                  322a20add00a4687cd46d9183616fa6fecbef81f
baseline version:
 xen                  0a62b16489958715c20a2f6177a11a8ca3c4f7f3

Last test of basis   182167  2023-08-03 14:38:20 Z    6 days
Testing same since   182237  2023-08-08 17:08:09 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Olaf Hering <olaf@aepfle.de>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0a62b16489..322a20add0  322a20add00a4687cd46d9183616fa6fecbef81f -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Aug 09 23:51:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 Aug 2023 23:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581547.910411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTsxj-000123-JB; Wed, 09 Aug 2023 23:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581547.910411; Wed, 09 Aug 2023 23:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTsxj-00011w-Ej; Wed, 09 Aug 2023 23:51:35 +0000
Received: by outflank-mailman (input) for mailman id 581547;
 Wed, 09 Aug 2023 23:51:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTsxi-00011h-Hu; Wed, 09 Aug 2023 23:51:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTsxi-0008EB-Fk; Wed, 09 Aug 2023 23:51:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTsxh-0004Q1-V8; Wed, 09 Aug 2023 23:51:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTsxh-000791-Uf; Wed, 09 Aug 2023 23:51:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0Lx+ahVFpJXPuETZWBLvj//u9cKeNMeEMI6KMZ7abac=; b=eSSiuNMwZkpyoPhYfjhwe3jLUk
	axu2FAX9CeanLU6zd9X/LY5dcSTiJJmxQmw5zKHPurlf0VMFjhIKvTG8PpZGZCFC7dqQJTe8lhirD
	uGmXLWU7wugTu+peOBAnUD9QDZQnHp/lsxvWBKRhb+VOgeYsjwZfugjdvC8zeWNyuzbE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182234-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 182234: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:guest-localmigrate/x10:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:windows-install:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=297fce96e1329107f48c08f539bc3000652610cd
X-Osstest-Versions-That:
    xen=602ee4c2954ed3f9f8552e08043146bee60ec012
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 09 Aug 2023 23:51:33 +0000

flight 182234 xen-4.14-testing real [real]
flight 182251 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182234/
http://logs.test-lab.xenproject.org/osstest/logs/182251/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim 20 guest-localmigrate/x10 fail pass in 182251-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182251-retest
 test-amd64-amd64-xl-qemut-ws16-amd64 12 windows-install fail pass in 182251-retest

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

version targeted for testing:
 xen                  297fce96e1329107f48c08f539bc3000652610cd
baseline version:
 xen                  602ee4c2954ed3f9f8552e08043146bee60ec012

Last test of basis   182092  2023-07-31 13:06:48 Z    9 days
Testing same since   182234  2023-08-08 17:08:09 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   602ee4c295..297fce96e1  297fce96e1329107f48c08f539bc3000652610cd -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 00:20:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 00:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581633.910693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTtPc-0008LU-S3; Thu, 10 Aug 2023 00:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581633.910693; Thu, 10 Aug 2023 00:20:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTtPc-0008LN-NP; Thu, 10 Aug 2023 00:20:24 +0000
Received: by outflank-mailman (input) for mailman id 581633;
 Thu, 10 Aug 2023 00:20:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtPb-0008LD-2O; Thu, 10 Aug 2023 00:20:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtPa-0001CC-M2; Thu, 10 Aug 2023 00:20: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 1qTtPa-00059W-5i; Thu, 10 Aug 2023 00:20:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtPa-0007Sd-5B; Thu, 10 Aug 2023 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6vmN2cEto/K+A48cX1E3yEyBA+lmEInY99LbzCg2K5w=; b=nvax3LocVR6c9Jzc5xHPZLX+XS
	2WDG0kJjtx7jwxqm8hurrX03Si5d1G0T2s0hD3fnRhPEfdkmZFZjG44YFoLADFMQdpP/mpd9bWmOJ
	OAQaKzv57bFGIzIAdkMmQb4omFDFCRP3Vh+5cuMPRoGtUG2kmcmi49FyLd1ggOyvS5wA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182236-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 182236: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-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-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl: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: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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-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:saverestore-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b9ad687bfd0a49f36e0dd9f038e73782595fb4af
X-Osstest-Versions-That:
    xen=ff736d9f2abf9131414d72d0124b3c7739491249
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 00:20:22 +0000

flight 182236 xen-4.16-testing real [real]
flight 182253 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182236/
http://logs.test-lab.xenproject.org/osstest/logs/182253/

Failures :-/ but no regressions.

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

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

Last test of basis   182166  2023-08-03 14:38:20 Z    6 days
Testing same since   182236  2023-08-08 17:08:09 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Olaf Hering <olaf@aepfle.de>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ff736d9f2a..b9ad687bfd  b9ad687bfd0a49f36e0dd9f038e73782595fb4af -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 00:49:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 00:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581734.911043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTtr8-0006XH-Lz; Thu, 10 Aug 2023 00:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581734.911043; Thu, 10 Aug 2023 00:48:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTtr8-0006X9-I0; Thu, 10 Aug 2023 00:48:50 +0000
Received: by outflank-mailman (input) for mailman id 581734;
 Thu, 10 Aug 2023 00:48:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtr7-0006Wr-Qg; Thu, 10 Aug 2023 00:48:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtr7-0001tr-PA; Thu, 10 Aug 2023 00:48:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtr7-0005v6-Bb; Thu, 10 Aug 2023 00:48:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTtr7-0007xT-B0; Thu, 10 Aug 2023 00:48:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=haTWrYcmWoWvDR+Fz9ffwnWIgfavK4oHpJ0VzW7J12U=; b=bVhyLI2QakuC7fwMw0gEGW2aVV
	r1QrJ8kYIxm8f21EMyggOjiSURdfX8zu9sUhjpLb4IPiN9+HPqQ4/jkGY6XPYE4HzeaI+DIDMKxZk
	tZcPL2VV7BFchQlRzpBCRA215flLgl5vr+v7IkT5stVNziVHcLolInDMCUVoDDRrG64s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182235-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 182235: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-i386-qemut-rhel6hvm-amd:xen-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start: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-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=da7f151a63108db5543ca53c1e902c34ae6ee825
X-Osstest-Versions-That:
    xen=87eaa43b30f8ffb600f8e6f765d5c7e4bcb241b9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 00:48:49 +0000

flight 182235 xen-4.15-testing real [real]
flight 182254 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182235/
http://logs.test-lab.xenproject.org/osstest/logs/182254/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 182254-retest

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

version targeted for testing:
 xen                  da7f151a63108db5543ca53c1e902c34ae6ee825
baseline version:
 xen                  87eaa43b30f8ffb600f8e6f765d5c7e4bcb241b9

Last test of basis   182106  2023-08-02 00:59:52 Z    7 days
Testing same since   182235  2023-08-08 17:08:09 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   87eaa43b30..da7f151a63  da7f151a63108db5543ca53c1e902c34ae6ee825 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 01:18:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 01:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581773.911169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTuJI-0005Qy-86; Thu, 10 Aug 2023 01:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581773.911169; Thu, 10 Aug 2023 01: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 1qTuJI-0005Qr-4o; Thu, 10 Aug 2023 01:17:56 +0000
Received: by outflank-mailman (input) for mailman id 581773;
 Thu, 10 Aug 2023 01:17: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=TqLc=D3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTuJH-0005Qg-66
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 01:17:55 +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 ba1bef79-371b-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 03:17:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6DBBE63AFF;
 Thu, 10 Aug 2023 01:17:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4852FC433C7;
 Thu, 10 Aug 2023 01:17:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba1bef79-371b-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691630270;
	bh=D0FGSftZn0DqRZGQRsIFnVzrT8ifJsbvF8WcTidNFKc=;
	h=Date:From:To:cc:Subject:From;
	b=vGt1lAl3DMlGPfxPuux/bJPf/+F/u1jSSzj7faBkETvxvwfAKVUJltV0/m0xiLtKu
	 9tzNFEW3V2XaxzWEzZ+HT4SIxPMlkHePn+OZQvVU2lTdzO3gPapJjPWSPs0Reo7TIB
	 SZEp3nWyp0yNIjqpam+UfRxEIA9cVUPoj0Ax8UY3G8MQB2U03uD8K6OWLt5Pp+lYwW
	 2QJPF3KgMg7Ahm3v4kuhMBX7CzhPy837g0jriHcmINyR+x8RrzvwTdkGXM3prjX660
	 vm8GIFRBbIImASzhTx6eDayvOxX0I/rBQXh3eVTyTwLdV9IzSWhO/+RkM0tMI53E+o
	 GOE5Datt18HsQ==
Date: Wed, 9 Aug 2023 18:17:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: michal.orzel@amd.com
cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org, cardoe@cardoe.com
Subject: [PATCH 0/2] automation: upgrade Alpine to 3.18
Message-ID: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This short series introduces a painless upgrade to Alpine 3.18, given
that 3.12 is EOL.

Proof that it works:
https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/961413389

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 01:18:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 01:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581774.911179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTuJW-0005jT-G7; Thu, 10 Aug 2023 01:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581774.911179; Thu, 10 Aug 2023 01:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTuJW-0005jL-Cy; Thu, 10 Aug 2023 01:18:10 +0000
Received: by outflank-mailman (input) for mailman id 581774;
 Thu, 10 Aug 2023 01:18:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TqLc=D3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTuJV-0005Qg-5s
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 01:18:09 +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 c3239f55-371b-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 03:18:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id ECB9564D18;
 Thu, 10 Aug 2023 01:18:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9621AC433C8;
 Thu, 10 Aug 2023 01:18: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: c3239f55-371b-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691630286;
	bh=o38hDMnErido2ocHdI4zOyxzy0EWOn0IUkAUdx/QJ5g=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=NjFuEjfmX4xYuUz86XSf3p6NV88k94l5oPSF9igwU30zhAN4C9jdSkq9Mfujm+TWr
	 +pYCLHQSCXjOmKR2YExfdXpQ2c9C2ubEqQDr1KBb5qDqnmkfsZzHwJYlzXuPGhN0FN
	 kt4gHvm6d35+0qfWBT2Qo/ePS+eDus44lZmqVw3+tj7Q7JbjgPGoy8ZSAEExj3kjel
	 cifE6ui9zLiDtdWVmiVnVf9EvVb1cvQ0NY1AepZGwrT0ySMhQyFIsNB65TRJiANtkL
	 WYCjm4WMjernOfp4Hca54Exgwty/GvaO1giAddbx7XbnNMeKPQ7GGvGnBEkdl9/Gta
	 vAChxAxJhDoKA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: michal.orzel@amd.com
Cc: sstabellini@kernel.org,
	xen-devel@lists.xenproject.org,
	cardoe@cardoe.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 1/2] automation: upgrade Alpine build and test artifact containers to 3.18
Date: Wed,  9 Aug 2023 18:18:02 -0700
Message-Id: <20230810011803.311832-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

Alpine 3.12 is EOL. Also update the containerize script.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 .../{3.12-arm64v8.dockerfile => 3.18-arm64v8.dockerfile}      | 2 +-
 automation/build/alpine/{3.12.dockerfile => 3.18.dockerfile}  | 2 +-
 automation/scripts/containerize                               | 4 ++--
 .../{3.12-arm64v8.dockerfile => 3.18-arm64v8.dockerfile}      | 4 ++--
 .../alpine/{3.12.dockerfile => 3.18.dockerfile}               | 4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)
 rename automation/build/alpine/{3.12-arm64v8.dockerfile => 3.18-arm64v8.dockerfile} (96%)
 rename automation/build/alpine/{3.12.dockerfile => 3.18.dockerfile} (97%)
 rename automation/tests-artifacts/alpine/{3.12-arm64v8.dockerfile => 3.18-arm64v8.dockerfile} (97%)
 rename automation/tests-artifacts/alpine/{3.12.dockerfile => 3.18.dockerfile} (97%)

diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
similarity index 96%
rename from automation/build/alpine/3.12-arm64v8.dockerfile
rename to automation/build/alpine/3.18-arm64v8.dockerfile
index 1be3bf7805..ce198f7d04 100644
--- a/automation/build/alpine/3.12-arm64v8.dockerfile
+++ b/automation/build/alpine/3.18-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/alpine:3.12
+FROM arm64v8/alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/alpine/3.12.dockerfile b/automation/build/alpine/3.18.dockerfile
similarity index 97%
rename from automation/build/alpine/3.12.dockerfile
rename to automation/build/alpine/3.18.dockerfile
index 72ad3a07ad..ca5756955e 100644
--- a/automation/build/alpine/3.12.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.12
+FROM alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 6d46f63665..16d480ab75 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -24,8 +24,8 @@ die() {
 #
 BASE="registry.gitlab.com/xen-project/xen"
 case "_${CONTAINER}" in
-    _alpine) CONTAINER="${BASE}/alpine:3.12" ;;
-    _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.12-arm64v8" ;;
+    _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
+    _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
     _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
     _riscv64) CONTAINER="${BASE}/archlinux:current-riscv64" ;;
     _centos7) CONTAINER="${BASE}/centos:7" ;;
diff --git a/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
similarity index 97%
rename from automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile
rename to automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
index cb8e9e59bb..cbd96d9bc6 100644
--- a/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/alpine:3.12
+FROM arm64v8/alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
@@ -18,7 +18,7 @@ RUN \
   apk add sudo && \
   apk add dbus && \
   apk add bash && \
-  apk add python2 && \
+  apk add python3 && \
   apk add zlib && \
   apk add ncurses && \
   apk add texinfo && \
diff --git a/automation/tests-artifacts/alpine/3.12.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
similarity index 97%
rename from automation/tests-artifacts/alpine/3.12.dockerfile
rename to automation/tests-artifacts/alpine/3.18.dockerfile
index 073f16a0d7..32aa8e1778 100644
--- a/automation/tests-artifacts/alpine/3.12.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.12
+FROM alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
@@ -19,7 +19,7 @@ RUN \
   apk add sudo && \
   apk add dbus && \
   apk add bash && \
-  apk add python2 && \
+  apk add python3 && \
   apk add zlib && \
   apk add ncurses && \
   apk add texinfo && \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 01:18:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 01:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581775.911189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTuJa-00063c-0Z; Thu, 10 Aug 2023 01:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581775.911189; Thu, 10 Aug 2023 01:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTuJZ-00063T-SH; Thu, 10 Aug 2023 01:18:13 +0000
Received: by outflank-mailman (input) for mailman id 581775;
 Thu, 10 Aug 2023 01:18:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TqLc=D3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qTuJY-0005zH-4f
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 01:18:12 +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 c3d13540-371b-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 03:18:09 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0A76864D23;
 Thu, 10 Aug 2023 01:18:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A41C6C433CA;
 Thu, 10 Aug 2023 01:18: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: c3d13540-371b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691630287;
	bh=crHnn0Bq/eixmDIAlOgACBFKpTbRLyaaGW8boXXtf88=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=XdFxW5hfkrVceBkw56P8vvnT7f+YOeZFW1DVrKImOL5kJeH0VelYhj68qazSJzMn1
	 VHBghTz5vijJSnxDk3tXpVsyGBG98dXAIe+N+YVL0+cRFg4fr4M0rKac2qGHWYQJmC
	 4xOy2g1D6s0RkG2ioM4tlSQV76zQwug6z9/sihI2LiY/wyHKeB0XUj+NdfGCUJxlZn
	 CrY89z/5nRlX6Ule0FeFsieG0kmjhL80czmcldOzc9AHqAAZFgS0+GPytZnTwHwUUQ
	 wNB3HQAXOfKO+4G37pBrLPZb6vnx5GEOqN3fuJcvHxovkGF+RicXHLQrYwiCFaWv9R
	 B+xfEOTXGSQWA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: michal.orzel@amd.com
Cc: sstabellini@kernel.org,
	xen-devel@lists.xenproject.org,
	cardoe@cardoe.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 2/2] automation: use Alpine 3.18 instead of 3.12 for all gitlab jobs
Date: Wed,  9 Aug 2023 18:18:03 -0700
Message-Id: <20230810011803.311832-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/gitlab-ci/build.yaml | 64 ++++++++++++++++-----------------
 automation/gitlab-ci/test.yaml  | 56 ++++++++++++++---------------
 2 files changed, 60 insertions(+), 60 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index af64a53ead..173613567c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -273,9 +273,9 @@
 
 # Arm test artifacts
 
-alpine-3.12-arm64-rootfs-export:
+alpine-3.18-arm64-rootfs-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.12-arm64v8
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18-arm64v8
   script:
     - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
   artifacts:
@@ -319,9 +319,9 @@ qemu-system-aarch64-6.0.0-arm32-export:
 
 # x86_64 test artifacts
 
-alpine-3.12-rootfs-export:
+alpine-3.18-rootfs-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.12
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18
   script:
     - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
   artifacts:
@@ -345,15 +345,15 @@ kernel-6.1.19-export:
 
 # Build jobs needed for tests
 
-alpine-3.12-gcc:
+alpine-3.18-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: alpine:3.12
+    CONTAINER: alpine:3.18
 
-alpine-3.12-gcc-debug:
+alpine-3.18-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: alpine:3.12
+    CONTAINER: alpine:3.18
 
 debian-stretch-gcc-debug:
   extends: .gcc-x86-64-build-debug
@@ -437,78 +437,78 @@ debian-unstable-gcc-debug-arm64-randconfig:
     CONTAINER: debian:unstable-arm64v8
     RANDCONFIG: y
 
-alpine-3.12-gcc-arm64:
+alpine-3.18-gcc-arm64:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
 
-alpine-3.12-gcc-debug-arm64:
+alpine-3.18-gcc-debug-arm64:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
 
-alpine-3.12-gcc-arm64-randconfig:
+alpine-3.18-gcc-arm64-randconfig:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     RANDCONFIG: y
 
-alpine-3.12-gcc-debug-arm64-randconfig:
+alpine-3.18-gcc-debug-arm64-randconfig:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     RANDCONFIG: y
 
-alpine-3.12-gcc-arm64-staticmem:
+alpine-3.18-gcc-arm64-staticmem:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
-alpine-3.12-gcc-debug-arm64-staticmem:
+alpine-3.18-gcc-debug-arm64-staticmem:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
-alpine-3.12-gcc-arm64-static-shared-mem:
+alpine-3.18-gcc-arm64-static-shared-mem:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
       CONFIG_STATIC_SHM=y
 
-alpine-3.12-gcc-debug-arm64-static-shared-mem:
+alpine-3.18-gcc-debug-arm64-static-shared-mem:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
       CONFIG_STATIC_SHM=y
 
-alpine-3.12-gcc-arm64-boot-cpupools:
+alpine-3.18-gcc-arm64-boot-cpupools:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    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.12-gcc-debug-arm64-boot-cpupools:
+alpine-3.18-gcc-debug-arm64-boot-cpupools:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
@@ -622,15 +622,15 @@ debian-unstable-gcc-arm64-cppcheck:
 
 # Build jobs not needed for tests
 
-alpine-3.12-clang:
+alpine-3.18-clang:
   extends: .clang-x86-64-build
   variables:
-    CONTAINER: alpine:3.12
+    CONTAINER: alpine:3.18
 
-alpine-3.12-clang-debug:
+alpine-3.18-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
-    CONTAINER: alpine:3.12
+    CONTAINER: alpine:3.18
 
 archlinux-gcc:
   extends: .gcc-x86-64-build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 45e8ddb7a3..8ccce1fe26 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -8,7 +8,7 @@
     - /^stable-.*/
 
 .arm64-test-needs: &arm64-test-needs
-  - alpine-3.12-arm64-rootfs-export
+  - alpine-3.18-arm64-rootfs-export
   - kernel-5.19-arm64-export
   - qemu-system-aarch64-6.0.0-arm64-export
 
@@ -16,7 +16,7 @@
   - qemu-system-aarch64-6.0.0-arm32-export
 
 .x86-64-test-needs: &x86-64-test-needs
-  - alpine-3.12-rootfs-export
+  - alpine-3.18-rootfs-export
   - kernel-6.1.19-export
 
 .qemu-arm64:
@@ -105,7 +105,7 @@
   extends: .test-jobs-common
   variables:
     # the test controller runs on RPi4
-    CONTAINER: alpine:3.12-arm64v8
+    CONTAINER: alpine:3.18-arm64v8
     LOGFILE: smoke-test.log
     PCIDEV: "03:00.0"
     PCIDEV_INTR: "MSI-X"
@@ -155,7 +155,7 @@ xilinx-smoke-dom0less-arm64-gcc:
     - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64
+    - alpine-3.18-gcc-arm64
 
 xilinx-smoke-dom0less-arm64-gcc-gem-passthrough:
   extends: .xilinx-arm64
@@ -163,7 +163,7 @@ xilinx-smoke-dom0less-arm64-gcc-gem-passthrough:
     - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64
+    - alpine-3.18-gcc-arm64
 
 adl-smoke-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -171,7 +171,7 @@ adl-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 adl-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .adl-x86-64
@@ -179,7 +179,7 @@ adl-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 adl-suspend-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -187,7 +187,7 @@ adl-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 adl-pci-pv-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -195,7 +195,7 @@ adl-pci-pv-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 adl-pci-hvm-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -205,7 +205,7 @@ adl-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 zen3p-smoke-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -213,7 +213,7 @@ zen3p-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 zen3p-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .zen3p-x86-64
@@ -221,7 +221,7 @@ zen3p-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 zen3p-pci-hvm-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -229,7 +229,7 @@ zen3p-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc-debug
+    - alpine-3.18-gcc-debug
 
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
@@ -237,7 +237,7 @@ qemu-smoke-dom0-arm64-gcc:
     - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64
+    - alpine-3.18-gcc-arm64
 
 qemu-smoke-dom0-arm64-gcc-debug:
   extends: .qemu-arm64
@@ -245,7 +245,7 @@ qemu-smoke-dom0-arm64-gcc-debug:
     - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-debug-arm64
+    - alpine-3.18-gcc-debug-arm64
 
 qemu-smoke-dom0less-arm64-gcc:
   extends: .qemu-arm64
@@ -253,7 +253,7 @@ qemu-smoke-dom0less-arm64-gcc:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64
+    - alpine-3.18-gcc-arm64
 
 qemu-smoke-dom0less-arm64-gcc-debug:
   extends: .qemu-arm64
@@ -261,7 +261,7 @@ qemu-smoke-dom0less-arm64-gcc-debug:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-debug-arm64
+    - alpine-3.18-gcc-debug-arm64
 
 qemu-smoke-dom0less-arm64-gcc-staticmem:
   extends: .qemu-arm64
@@ -269,7 +269,7 @@ qemu-smoke-dom0less-arm64-gcc-staticmem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64-staticmem
+    - alpine-3.18-gcc-arm64-staticmem
 
 qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
   extends: .qemu-arm64
@@ -277,7 +277,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-debug-arm64-staticmem
+    - alpine-3.18-gcc-debug-arm64-staticmem
 
 qemu-smoke-dom0less-arm64-gcc-staticheap:
  extends: .qemu-arm64
@@ -285,7 +285,7 @@ qemu-smoke-dom0less-arm64-gcc-staticheap:
    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
  needs:
    - *arm64-test-needs
-   - alpine-3.12-gcc-arm64
+   - alpine-3.18-gcc-arm64
 
 qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
  extends: .qemu-arm64
@@ -293,7 +293,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
  needs:
    - *arm64-test-needs
-   - alpine-3.12-gcc-debug-arm64
+   - alpine-3.18-gcc-debug-arm64
 
 qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
   extends: .qemu-arm64
@@ -301,7 +301,7 @@ qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64-static-shared-mem
+    - alpine-3.18-gcc-arm64-static-shared-mem
 
 qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
   extends: .qemu-arm64
@@ -309,7 +309,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-debug-arm64-static-shared-mem
+    - alpine-3.18-gcc-debug-arm64-static-shared-mem
 
 qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
   extends: .qemu-arm64
@@ -317,7 +317,7 @@ qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-arm64-boot-cpupools
+    - alpine-3.18-gcc-arm64-boot-cpupools
 
 qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
   extends: .qemu-arm64
@@ -325,14 +325,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.12-gcc-debug-arm64-boot-cpupools
+    - alpine-3.18-gcc-debug-arm64-boot-cpupools
 
 qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
   extends: .qemu-arm64
   script:
     - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
   needs:
-    - alpine-3.12-gcc-arm64
+    - alpine-3.18-gcc-arm64
     - qemu-system-aarch64-6.0.0-arm64-export
 
 qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
@@ -340,7 +340,7 @@ qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
   script:
     - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
   needs:
-    - alpine-3.12-gcc-debug-arm64
+    - alpine-3.18-gcc-debug-arm64
     - qemu-system-aarch64-6.0.0-arm64-export
 
 qemu-smoke-dom0-arm32-gcc:
@@ -421,7 +421,7 @@ qemu-alpine-x86_64-gcc:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.12-gcc
+    - alpine-3.18-gcc
 
 qemu-smoke-x86-64-gcc:
   extends: .qemu-x86-64
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 03:33:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 03:33:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581793.911199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTwQb-0004eh-Dv; Thu, 10 Aug 2023 03:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581793.911199; Thu, 10 Aug 2023 03:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTwQb-0004eM-7h; Thu, 10 Aug 2023 03:33:37 +0000
Received: by outflank-mailman (input) for mailman id 581793;
 Thu, 10 Aug 2023 03:33: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 1qTwQZ-0004eC-AM; Thu, 10 Aug 2023 03:33: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 1qTwQZ-0008Gd-5g; Thu, 10 Aug 2023 03:33: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 1qTwQY-0001by-Ll; Thu, 10 Aug 2023 03:33:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTwQY-0003h1-LF; Thu, 10 Aug 2023 03:33: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=HL04PmGx61j6Uc2nezhiY0Wyj/o2J7gpLUcBU03N0RU=; b=obytfAjE06S8aKc0I6oqT4Ec8D
	XfDt6DKm69jHZBSMwH/XwjQQkZHga4K5nJyKnai1F96l0rafs28oeBiwf3y/lYgyUDtStE4am2cLY
	iHHqgA1NyYYi478hFLgV4OyhsWT0V+C7a41TP7+ufQzbXB5wSWN9sDO3oBrP7sm/EmQQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182255-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182255: 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=79c18114c7d71f0227abbbb75e24d114483765f7
X-Osstest-Versions-That:
    xen=236fc9fdf97f4e7c64824ab793e8dca30dd54ffb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 03:33:34 +0000

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

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                  79c18114c7d71f0227abbbb75e24d114483765f7
baseline version:
 xen                  236fc9fdf97f4e7c64824ab793e8dca30dd54ffb

Last test of basis   182250  2023-08-09 16:02:01 Z    0 days
Testing same since   182255  2023-08-10 01:02:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   236fc9fdf9..79c18114c7  79c18114c7d71f0227abbbb75e24d114483765f7 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 04:12:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 04:12:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581801.911209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTx2F-0000mI-9H; Thu, 10 Aug 2023 04:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581801.911209; Thu, 10 Aug 2023 04:12:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTx2F-0000mB-65; Thu, 10 Aug 2023 04:12:31 +0000
Received: by outflank-mailman (input) for mailman id 581801;
 Thu, 10 Aug 2023 04:12:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qTx2E-0000lw-7V
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 04:12:30 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1df0ca85-3734-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 06:12:27 +0200 (CEST)
Received: from AS9PR05CA0230.eurprd05.prod.outlook.com (2603:10a6:20b:494::17)
 by DB9PR08MB8358.eurprd08.prod.outlook.com (2603:10a6:10:3da::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 04:12:16 +0000
Received: from AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:494:cafe::83) by AS9PR05CA0230.outlook.office365.com
 (2603:10a6:20b:494::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Thu, 10 Aug 2023 04:12:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT051.mail.protection.outlook.com (100.127.140.64) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Thu, 10 Aug 2023 04:12:15 +0000
Received: ("Tessian outbound ba2f3d95109c:v145");
 Thu, 10 Aug 2023 04:12:15 +0000
Received: from 045161a4d730.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3F5C4E51-A802-4BCF-A764-5CFD7F6B0FEC.1; 
 Thu, 10 Aug 2023 04:12:09 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 045161a4d730.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 04:12:09 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com (2603:10a6:150:a9::12)
 by DB9PR08MB6617.eurprd08.prod.outlook.com (2603:10a6:10:261::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Thu, 10 Aug
 2023 04:12:07 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::19bd:f9b9:756b:f1f6]) by GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::19bd:f9b9:756b:f1f6%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 04:12: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: 1df0ca85-3734-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m0EkChZIIJCHJ/QHdflQAoITOqAY/DUvdYi0tgRVvgU=;
 b=TOa2fgZkIDfSbLyCiSMfWJXb28qod1p+hSFTN03UyapMSEggoK13onUqPetT6ZQMokuTJnOkRBHOaoUQwq6BEqaZ0OhcMqmQEvmcoQ2ngynqcRwoRzI8LifqOLH32CN4AxjjaejgLZ7MEUTnCLWOWjRID/MfmpRdnxDOcA35vd0=
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: a0c65f415ea28786
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nHSFJUAbQ8zOTPskVMiaKQii6IPs41CMOt5US17d7vXG3QuwioE7t9obZ5C8K+BBhsZT1QUr0jFdeuOZJqkPwa2WSMBQLR6CMohoLE0Wnon+b+e+UsgZQiJrII+W6U2DdCVMqodmP167RDQhH2aNyjgC4CVYvZkJeTWBGxifWcpULp6d5x+1K3q5TZqzYNMtS/8JuFst8t8+NNpjBrwBusLnc4eoqHqccwlrwAqW7bVbOuJJXPCYxj8X2FabFWzekB4ydsKnjgjd+yN8uP+vglumOFPvFHetyy8AUNoD1OjXvtcMYiu0PMBc1tMbpvMs+MlD0MMVWjlJkUJPSnXOXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m0EkChZIIJCHJ/QHdflQAoITOqAY/DUvdYi0tgRVvgU=;
 b=Y1VCXfsfJC8ooo0eW3FS6tXX7CEP9qJARAUlqbGuPHcfWmo/rG63Wcsa1DiiW5y7sK9nKU9eVGvUodLMkwiUb51Un/5Lee3z9qKThR1x1WV52XIulTNdCc6ws5KVNP50o5mzq3IjVPxJ40snyFdK+11GRTrPvdK4LxbEwWR1hhks1FB7CahYmMgjQUKr3Mfw68doxZXpHyQvdxqBlEWzIR6UTAp6XJeK1E01x/Z8maft63EySfrQXHXi2ZbWEMB9CEfKk7Euf9f96ONqTfibM5UaNV2y6S4VEO0x7Ted8w6HhRZGUT+SHzulLc4PXJ4vI/TBQtx901D6R/KugsQMBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=m0EkChZIIJCHJ/QHdflQAoITOqAY/DUvdYi0tgRVvgU=;
 b=TOa2fgZkIDfSbLyCiSMfWJXb28qod1p+hSFTN03UyapMSEggoK13onUqPetT6ZQMokuTJnOkRBHOaoUQwq6BEqaZ0OhcMqmQEvmcoQ2ngynqcRwoRzI8LifqOLH32CN4AxjjaejgLZ7MEUTnCLWOWjRID/MfmpRdnxDOcA35vd0=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Penny Zheng <Penny.Zheng@arm.com>
Subject: Re: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Topic: [PATCH v4 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm
Thread-Index: AQHZxCqBtZIUxf7FmUaIEyO8EPs3TK/h6aMAgAEPoIA=
Date: Thu, 10 Aug 2023 04:12:06 +0000
Message-ID: <9D42DF7B-B1E0-4A13-9F84-6CA2B77236D4@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-2-Henry.Wang@arm.com>
 <d1e7a6b0-d3a6-4d85-a26c-019fc67ba463@xen.org>
In-Reply-To: <d1e7a6b0-d3a6-4d85-a26c-019fc67ba463@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	GV2PR08MB8001:EE_|DB9PR08MB6617:EE_|AM7EUR03FT051:EE_|DB9PR08MB8358:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ed7b82b-a70f-4a23-8f7b-08db9957fb47
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:
 biyQVrhcwC7YKf4IVqNfNVLeLi8AHp7U8FH5PoOElQjaxT3mW5EPw2G6RtObLS5GKf/nNRg0eMMJonGBCVKZjl6u33ftWznS/5KFI+0ykI5Aj/uennAcMVKZ8cQBSWSqSLwCMAsnPXIZ0lzxaptSwsl5CNg5/Znx9Zkc1Tlr0McYdFESjspRus4ns93BmWzXRqHLGQBbCrawEoubNeehi4SD4zV29DljPrCDQAbsI/zq4/qcCXzFAqN2PrvTZkwm02I40UAKNm/efivOaua4ixdCxnBYLDlTbbF4SuwvAdO/NzQB/dFPVZp73RQggbSLEquLQAJUCr2cvuyM7+N7CYaS+Kl/1bSSznzRPHAdDlFLNR9urXcNpHT4jhqQFxxd2wGcS+WqydvYcBsOujN4TPZ4zF9olzWvKrbvU8dyUzKMVufz9QbEETc+Y6C8d38i7Wy7zBatySyfSBVlrHwohzyNPs5igaGWfoMVO46ORQNnKkTFNdccNrtEhBLrE5ggLK2jVqT7/zYUstIWu0JuL420TPvk+pLRa1f6Wm6W3PSKqebtju+B1daqXlQ8QDg8McMqettA88oM18PDUpyd/soDWiSOwepoCVs5GaQwFEwP5fjcoID+hlOCotaC1iI7p72mmC+Ihbxw2mu+auO2tw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8001.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(346002)(396003)(39860400002)(366004)(451199021)(1800799006)(186006)(26005)(38100700002)(122000001)(6916009)(6506007)(53546011)(38070700005)(2616005)(36756003)(83380400001)(2906002)(54906003)(5660300002)(478600001)(33656002)(71200400001)(6512007)(66446008)(6486002)(41300700001)(64756008)(66946007)(4326008)(66476007)(76116006)(316002)(91956017)(86362001)(8936002)(66556008)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0CF4B78AD3D2FC41A941C4B6EDCF33C8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6617
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:
 AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3623c2e8-08a3-4ee1-e19d-08db9957f5c5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w9sH8FmRT3MzihYlqE/HYDdnLESwZ3lgx3P7dIs2V/wRx/dlIUobU9+8OLkII+CBj4z1MbVq8dLQ8Nva2BhqHVoeM6dnraLAosfIcLwFcOJFigzcQBr48pfVWlnIoVmv4q060hM5/TDfohDfiDdmPwrTXtEi0bYlnXlPjRX6J7zEG6YhhcXwNoIptIhdUdxHf0W9lDDMD+taRryZodGNVJy2qebEQQrkBfAXQd57/U519hgV4/KIUqtbThEjjSzQIPc8pI4A/HMBvxdcmUBwjTJeGZqgEhljzcdS/aiMxlIMP95CgexU3ETz8Btj2dnGPKJchtK/fLIibbSfXDRve/xl2/Bq7BbIaVhI123Tt9qmjb1Jg42vaHF+WSUBx026Ww9pSERcf9HjiK2V6f6tiNLYmfof2AGSYdxtYc+47WJglvbHqrQ3fR/KjmIgQHuGiiEwfKTimhmFEyNp15bkcahgR1yZVepXKXeJtO++rxi3LdYUAYpTtdih5SfT/Yhwd8s3b/x0hheRU0WLjQYvaZFAySmS+MKlSSLWr3dxXx6KBJLg2FsS/bPRhTcNB48+UWjL0wnBZoG/d4wN4pFml+g5aWojPZSb2Yxl5OZ636WawkNqynTaPzIwP7Bk8ay1KHqrnYnbq7JxCWRzbDAy8IEoaaIQwASL6UyeTxzh/8x8HKhtepwHl5SKRtDr2zH8A4byoG5gd4NlAqSoIMtdoVwwuartIceawq+GKn6+1uyHG8qVwnb7xX9kqTs9+L7p
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(376002)(346002)(39860400002)(451199021)(1800799006)(186006)(82310400008)(36840700001)(40470700004)(46966006)(40460700003)(40480700001)(70206006)(70586007)(336012)(54906003)(6506007)(53546011)(26005)(478600001)(36756003)(33656002)(47076005)(83380400001)(2616005)(36860700001)(41300700001)(316002)(6512007)(4326008)(6486002)(2906002)(6862004)(8936002)(86362001)(8676002)(82740400003)(5660300002)(356005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 04:12:15.9407
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed7b82b-a70f-4a23-8f7b-08db9957fb47
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8358

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyA5LCAyMDIzLCBhdCAxOTo1OSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+IFRpdGxlOiBOSVQ6
IEFkZCAoKSBhZnRlciBfbW0gdG8gc3RheSBjb25zaXN0ZW50IHdpdGggdGhlIHJlc3QuDQoNClll
cyBzdXJlLCBJIHdpbGwgYWRkIOKAnCgp4oCdIGluIHY1Lg0KDQo+IA0KPiBPbiAwMS8wOC8yMDIz
IDA0OjQ0LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gRnJvbTogV2VpIENoZW4gPHdlaS5jaGVuQGFy
bS5jb20+DQo+PiANCj4+ICtlbmFibGVfc2Vjb25kYXJ5X2NwdV9tbToNCj4+ICsgICAgICAgIG1v
diAgIHg1LCBscg0KPj4gKw0KPj4gKyAgICAgICAgbG9hZF9wYWRkciB4MCwgaW5pdF90dGJyDQo+
PiArICAgICAgICBsZHIgICB4MCwgW3gwXQ0KPj4gKw0KPj4gKyAgICAgICAgYmwgICAgZW5hYmxl
X21tdQ0KPj4gKyAgICAgICAgbW92ICAgbHIsIHg1DQo+PiArDQo+PiArICAgICAgICAvKiByZXR1
cm4gdG8gc2Vjb25kYXJ5X3N3aXRjaGVkICovDQo+IA0KPiBUZWNobmljYWxseSwgeW91IHdpbGwg
cmV0dXJuIHRvIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc2V0IGluICdscicuIFRoaXMgaXMgJ3NlY29u
ZGFyeV9zd2l0Y2hlZCcgdG9kYXkgYnV0IHRoaXMgY291bGQgY2hhbmdlLg0KPiANCj4gU28gaXQg
d291bGQgYmUgYmV0dGVyIHRvIGhhdmUgYSBtb3JlIGdlbmVyaWMgY29tbWVudCBsaWtlOg0KPiAN
Cj4gUmV0dXJuIHRvIHRoZSB2aXJ0dWFsIGFkZHJlc3MgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIu
DQoNClN1cmUsIGFuZC4uLg0KDQo+IA0KPj4gKyAgICAgICAgcmV0DQo+PiArRU5EUFJPQyhlbmFi
bGVfc2Vjb25kYXJ5X2NwdV9tbSkNCj4+ICsNCj4+IA0KPj4gKzE6DQo+PiArICAgICAgICAvKg0K
Pj4gKyAgICAgICAgICogVGhlIDE6MSBtYXAgbWF5IGNsYXNoIHdpdGggb3RoZXIgcGFydHMgb2Yg
dGhlIFhlbiB2aXJ0dWFsIG1lbW9yeQ0KPj4gKyAgICAgICAgICogbGF5b3V0LiBBcyBpdCBpcyBu
b3QgdXNlZCBhbnltb3JlLCByZW1vdmUgaXQgY29tcGxldGVseSB0bw0KPj4gKyAgICAgICAgICog
YXZvaWQgaGF2aW5nIHRvIHdvcnJ5IGFib3V0IHJlcGxhY2luZyBleGlzdGluZyBtYXBwaW5nDQo+
PiArICAgICAgICAgKiBhZnRlcndhcmRzLiBGdW5jdGlvbiB3aWxsIHJldHVybiB0byBwcmltYXJ5
X3N3aXRjaGVkLg0KPiANCj4gU2FtZSByZW1hcmsgaGVyZS4NCg0K4oCmc2FtZSBoZXJlLg0KDQo+
IA0KPj4gKyAgICAgICAgICovDQo+PiArICAgICAgICBiICAgICByZW1vdmVfaWRlbnRpdHlfbWFw
cGluZw0KPj4gKw0KPj4gKyAgICAgICAgLyoNCj4+ICsgICAgICAgICAqIEJlbG93IGlzIHN1cHBv
c2VkIHRvIGJlIHVucmVhY2hhYmxlIGNvZGUsIGFzICJyZXQiIGluDQo+PiArICAgICAgICAgKiBy
ZW1vdmVfaWRlbnRpdHlfbWFwcGluZyB3aWxsIHVzZSB0aGUgcmV0dXJuIGFkZHJlc3MgaW4gTFIg
aW4gYWR2YW5jZS4NCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAgICAgYiAgICAgZmFpbA0KPiAN
Cj4gTG9va2luZyBhdCB0aGlzIGFnYWluLCBJIGFtIG5vdCBlbnRpcmVseSBzdXJlIGhvdyB0aGlz
IGNvdWxkIHJlYWNoZWQgaWYgcmVtb3ZlX2lkZW50aXR5X21hcHBpbmcgdXNlICdyZXQnIGFuZCB5
b3UgY2FsbCBpdCB3aXRoICdiJy4gU28gSSB3b3VsZCBzdWdnZXN0IHRvIGRyb3AgaXQgYW5kIG1v
dmUgJ21vdiBsciwgeDUnIGNsb3NlciB0byAnYiByZW1vdmVfaWRlbnRpdHlfbWFwcGluZycuIFNv
IGl0IGlzIGNsZWFyZXIgdGhhdCBpdCB3aWxsIHJldHVybi4NCg0KT2ssIEnigJl2ZSBhZGRyZXNz
ZWQgdGhpcyBsb2NhbGx5IGFuZCB0ZXN0ZWQgdGhlIGNoYW5nZSwgWGVuIGFuZCBEb20wIGJvb3QN
CmZpbmUgd2l0aCB0aGUgY2hhbmdlcyB0aGF0IHlvdSBzdWdnZXN0ZWQuIFdpbGwgc2VuZCB2NSBz
b29uIGFmdGVyIGZpeGluZw0KYWxsIHlvdXIgY29tbWVudHMuIFRoYW5rcyENCg0KS2luZCByZWdh
cmRzLA0KSGVucnkNCg0KPiANCj4+ICtFTkRQUk9DKGVuYWJsZV9ib290X2NwdV9tbSkNCj4+ICsN
Cj4+ICAvKg0KPj4gICAqIFJlbW92ZSB0aGUgMToxIG1hcCBmcm9tIHRoZSBwYWdlLXRhYmxlcy4g
SXQgaXMgbm90IGVhc3kgdG8ga2VlcCB0cmFjaw0KPj4gICAqIHdoZXJlIHRoZSAxOjEgbWFwIHdh
cyBtYXBwZWQsIHNvIHdlIHdpbGwgbG9vayBmb3IgdGhlIHRvcC1sZXZlbCBlbnRyeQ0KPiANCj4g
Q2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 04:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 04:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581809.911218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTxRv-0004oi-F5; Thu, 10 Aug 2023 04:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581809.911218; Thu, 10 Aug 2023 04: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 1qTxRv-0004ob-CH; Thu, 10 Aug 2023 04:39:03 +0000
Received: by outflank-mailman (input) for mailman id 581809;
 Thu, 10 Aug 2023 04:39: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=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qTxRt-0004oR-I4
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 04:39:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1782cfa-3737-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 06:38:57 +0200 (CEST)
Received: from DUZPR01CA0235.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b5::19) by PAWPR08MB8888.eurprd08.prod.outlook.com
 (2603:10a6:102:33c::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 04:38:50 +0000
Received: from DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b5:cafe::87) by DUZPR01CA0235.outlook.office365.com
 (2603:10a6:10:4b5::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 04:38:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT021.mail.protection.outlook.com (100.127.142.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.18 via Frontend Transport; Thu, 10 Aug 2023 04:38:49 +0000
Received: ("Tessian outbound f9124736ff4f:v145");
 Thu, 10 Aug 2023 04:38:49 +0000
Received: from b47b496af87b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 75B696E6-2673-4AEB-BA2D-4B58A5EFCB54.1; 
 Thu, 10 Aug 2023 04:38:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b47b496af87b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 04:38:42 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com (2603:10a6:150:a9::12)
 by AS1PR08MB7563.eurprd08.prod.outlook.com (2603:10a6:20b:472::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 04:38:41 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::19bd:f9b9:756b:f1f6]) by GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::19bd:f9b9:756b:f1f6%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 04:38:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1782cfa-3737-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yy62ScwNvi03uEzv2P7ASs/DqaoxRJuTMUvG7ja0Ffc=;
 b=Rq13kpv1m50Om3bLBby+YNIG0IAF5ZDUJr1sdAhAcw4kVY/Cj8vjyktEYyahJ2bPFUzUymiX70KqEgtwj83fClYv/8P+DPxlA/0kAK2g/1ioCn2pcUpz/DX2ndOCwp8tQoUz6FPMTv9YnrPEwu2POwUzPneMUQdlD5sJq3cGrAc=
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: 122a2afff2d65ca3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AbqQJ5JFVl12KcsWBzJiVUxh8bRlIKQ+rpHWTic8IocNU218qk8k8lE7h0HITE/G77WnKEmHBIBbzs+1dXKdI/bRgcnvZs4p2MlDNPERp7rFnG9y5GcULUTy7VK53UaEJA+1al/1WKfTWlw7NtEmyrechv/IW7CWQd+/TjKkdycZ75uJU3r2pVEoNkIxmHwdnsOoyzcxcZ7qbOjp+RBGlet8g7anCMC8Chd21blprMaqUzR9lGTbQ0w/tY/fW+oQJjv47Pyxs1Bq2uDRu852eM+nphqi7ZVtrAXR3r3Jyxtb3DN7oLlP8rrhIAjNyBYS+8lyjcK8Q+zfLzVY9mHe3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yy62ScwNvi03uEzv2P7ASs/DqaoxRJuTMUvG7ja0Ffc=;
 b=jiE9kpz8BYHlwyk0jlkVj1Icj/TtI/PqqGatNKaznB/ToY9gxiSe6S+5tWcWef8gsghyty+dGboKW1rTDyHJhR7fWxhmzTKGf9xYbpd+7CzqNvr0hatIFUgSJKzKxtwG0sTZq/rvqYGP+3HLr57zVLYP7z/D4SOp5s333iOJe374pbU1qAN/IVk67/qwy3zvMk/Yt/QFGizQspFr9vB2qe7TCQTtkY6KKrQH6fgsq9HHUIXn7+m4sJRg5mz7hLeARuKB9nfULDfpR+PKvGFlow2kH92ruNfE6EbLs8BQ12sV9FGfDmskE4/LMfz1X5jJdTWlLuOlGJQ75YNFvGp/gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=yy62ScwNvi03uEzv2P7ASs/DqaoxRJuTMUvG7ja0Ffc=;
 b=Rq13kpv1m50Om3bLBby+YNIG0IAF5ZDUJr1sdAhAcw4kVY/Cj8vjyktEYyahJ2bPFUzUymiX70KqEgtwj83fClYv/8P+DPxlA/0kAK2g/1ioCn2pcUpz/DX2ndOCwp8tQoUz6FPMTv9YnrPEwu2POwUzPneMUQdlD5sJq3cGrAc=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Julien
 Grall <jgrall@amazon.com>
Subject: Re: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
Thread-Topic: [PATCH v4 02/13] xen/arm: Introduce 'choice' for memory system
 architecture
Thread-Index: AQHZxCqJmtSfvrOVyE67LM5R2F23xa/h6xaAgAEVmgA=
Date: Thu, 10 Aug 2023 04:38:41 +0000
Message-ID: <74203F81-0FFE-4474-88AF-D0126D3022C3@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-3-Henry.Wang@arm.com>
 <429625da-ec4f-448f-a0c4-47ca0f62f395@xen.org>
In-Reply-To: <429625da-ec4f-448f-a0c4-47ca0f62f395@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	GV2PR08MB8001:EE_|AS1PR08MB7563:EE_|DBAEUR03FT021:EE_|PAWPR08MB8888:EE_
X-MS-Office365-Filtering-Correlation-Id: 59fe0b20-47bd-4a46-0d0b-08db995bb149
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:
 G6kWyb8xaMq0mSX28bwEFuO6VudZNCy/NqmrRvSo1j2ddLDYeMCqxYNo0vQknnXsYzhEloymO/CTkvo3ow3h6p10Cuzqjt2/XxTO1WQrBbX3hOJuf2MoIlY8s/dLbXE4PV3u8vBjRVEdalF8eiSv/dKDCXgwtZ/9najlsPon/xmpgfMFYeuZcl+QvAR7dyCuepF5BsPee7GmvQlP9xPqjP8sNJ4T87VPu5H3pUbI5m93twHRg2uKPpcZx2VjzR3ROqFh9cDygWgEHYYyBR1gw3t9ANp6FN81oe5Hw8dwF7weqTnYBEyQAIGt8TqcPwsPkoHV5Ce9t8FeUy/g8pe9pkcbOBHMHlfqT5wve3F2RPB2penVO4zKOJweeq5r5Dpkmv2PlD3W93FTuS7v+LabXeRSwdmXtCt5aO9lhqqB8LOfq2IMvrqOLXZBjNupOAVDbKHx1F51/8bxuxikSBisy0k6/lwtwQqswgA7i8dMx6MS2gWVpvru39HQYUF/mzhmVlkZtUf4DoO9J67QO8jD2fF+LyH3gTvOFjsE36SRt/kIw1logE/CSrT6bo9B6xEnIJe8RCr61KVvFGi1psB0aHQa19sGp5ckiHhur/xZ8ZsF4m2X59A6E6WJk3uTS+QUClfqzSHv5BSPLMJwv0UP6Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8001.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(396003)(39860400002)(136003)(346002)(451199021)(1800799006)(186006)(33656002)(2616005)(316002)(41300700001)(8936002)(83380400001)(66946007)(478600001)(6486002)(66556008)(71200400001)(53546011)(76116006)(54906003)(6506007)(91956017)(26005)(64756008)(6916009)(6512007)(4326008)(66476007)(66446008)(38100700002)(86362001)(38070700005)(36756003)(122000001)(5660300002)(2906002)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AB151EDC2E527F41A6EE1BA58F353924@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7563
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	25778f14-3221-41a0-24fa-08db995bac19
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AjqOYG5UcTA/fbc5rv1cA7yGjmDS4v5daMZXXHza+IAEpqtWktB4c+tUGoSh6rEDaDIIgaTg4N3fftMeuiIs0oA2xBTH5UDGJDSmvr8dhE+NCChZhdM/ylSP9PBbqoYzym2Afc5kEZn4Ld1NbAV/UlM2fV6yfBHYn2KsxHN3E0pGVrKBNCDUjedChoGTo79z0e7+azZ/7/4BcMZpq+9q7SFnO+g5wF6HMC4lM/u7A7TbQtoG0hVjcF24X7IBra7LJ9kb+4dCGGvQXMIOGesek25JLolfwAN/TOVpXsPUWpgKzEWKvjIbn3YuQuL3qYuiIQqahUKbS4SlYkqfSxe/T6/JaYVLqNL56ZqT+6hXFAhcPZvR7dDV5ECek6LJlHj5U6dqYlN4U1eUP5FnoZRrtJ9KjxGsN1Z0cbBFBRSm4Y7jxCUnjiqssJVAcaFSm6zCthvL6Vxqsx2dLx2yBlyHo3yEZ6tqpirERCRescjzVYcFpMm+g9iThf6+q3tdk0hT6GNsSTk40Vyp0+9d51fx9PxwZ9Hh9daTxIqQp7S+lJ/be23XNDry1BS6Y4ogv6EguXJT2FTjF5EFpkf6pckqwBII+0PCUWLK3oxQUJPmzGSw3NbAPcPTb05ovp2lmrdRpyOyi+d3cD+/T8SsYP2eTDT3Z1ZKP48w6ordiYfCzDqxAqvTCy5WUPGFxqXMHLRO1SWZM/fmzp45+XnPDBeSfEdsQG1R3+6AMQoOcUuqSlM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(396003)(346002)(376002)(186006)(82310400008)(1800799006)(451199021)(40470700004)(36840700001)(46966006)(2906002)(8676002)(83380400001)(107886003)(2616005)(41300700001)(47076005)(36756003)(336012)(5660300002)(40480700001)(36860700001)(40460700003)(6506007)(26005)(53546011)(8936002)(6862004)(86362001)(54906003)(6486002)(82740400003)(478600001)(81166007)(356005)(33656002)(316002)(4326008)(70206006)(70586007)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 04:38:49.8329
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 59fe0b20-47bd-4a46-0d0b-08db995bb149
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8888

Hi Julien,

> On Aug 9, 2023, at 20:04, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 01/08/2023 04:44, Henry Wang wrote:
>> There are two types of memory system architectures available for
>> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
>> and the Protected Memory System Architecture (PMSA). According to
>> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
>> controls address translation, access permissions, and memory attribute
>> determination and checking, for memory accesses made by the PE. And
>> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
>> scheme where an Memory Protection Unit (MPU) manages instruction and
>> data access. Currently, Xen only suuports VMSA.
>> As a preparation of the Xen MPU (PMSA) support. Introduce a Kconfig
>> choice under the "Architecture Features" menu for user to choose the
>> memory system architecture for the system. Since currently only VMSA
>> is supported, only add the bool CONFIG_HAS_MMU to keep consistent with
>> the default behavior. User can choose either VMSA or PMSA but not both
>> in the future after PMSA/MPU is supported in Xen.
>=20
> So in the long run I agree that we will want to have a choice. But this s=
eems to be a bit premature to introduce it now as the user can't select the=
 MPU and also can't deselect MMU.
>=20
> Therefore, I think it would be best if we introduce an unselectable confi=
g for now. Like:
>=20
> HAS_MMU
>  def_bool y
>=20
> This could be turned to a choice once you introduce the MPU.
>=20
> Also, from my understanding, we are using the prefix HAS_ to indicate if =
an architecture support the given feature. In your case, you will want the =
user to select it, so I would just name the config MMU.

Make sense, I will just introduce a

MMU
  def_bool y

in this patch and turn this to a choice between CONFIG_MMU and CONFIG_MPU
in the last patch of the full MPU series where MPU is expected to be functi=
onal.

Kind regards,
Henry

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




From xen-devel-bounces@lists.xenproject.org Thu Aug 10 05:44:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 05:44:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581815.911229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTyT2-0003w8-6a; Thu, 10 Aug 2023 05:44:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581815.911229; Thu, 10 Aug 2023 05:44:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTyT2-0003w1-3N; Thu, 10 Aug 2023 05:44:16 +0000
Received: by outflank-mailman (input) for mailman id 581815;
 Thu, 10 Aug 2023 05:44: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 1qTyT0-0003vr-3M; Thu, 10 Aug 2023 05:44: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 1qTySz-0004Xf-S6; Thu, 10 Aug 2023 05:44: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 1qTySz-0004px-CH; Thu, 10 Aug 2023 05:44:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qTySz-0005eC-Bk; Thu, 10 Aug 2023 05:44: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=mXyQepKXgWQizKWM32QKaQwH9twQeUdHXXoEv1gvBPI=; b=llrdfhtXuiw2GzexEOsreUHPoV
	7hwn+bCh0bVitN5JfU56I9EirytES8jC6YhJEkNR9biIVZlE10hqXPhBmr9enoO1P80G0DuPIaMxf
	QVORoMXDXfg7MaJLZGGmuii79YcTF0oDfrJstYEv4AaIh7vSVYnK/GpmILi/7MFCqJr4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182239-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182239: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start: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-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-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-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=21732fd224978ebddf4bded7cb99663d2be1e732
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 05:44:13 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 182076

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail in 182256 pass in 182239
 test-amd64-i386-xl-xsm        7 xen-install         fail pass in 182256-retest
 test-armhf-armhf-xl-credit2  19 guest-start.2       fail pass in 182256-retest

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

version targeted for testing:
 linux                21732fd224978ebddf4bded7cb99663d2be1e732
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   11 days
Testing same since   182239  2023-08-08 18:13:15 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Ben Hutchings <benh@debian.org>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Joerg Roedel <jroedel@suse.de>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kim Phillips <kim.phillips@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Richard Weinberger <richard@nod.at>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Sean Christopherson <seanjc@google.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tom Lendacky <thomas.lendacky@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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 06:46:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 06:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581825.911241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTzQj-00021F-ES; Thu, 10 Aug 2023 06:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581825.911241; Thu, 10 Aug 2023 06:45:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTzQj-000218-Bs; Thu, 10 Aug 2023 06:45:57 +0000
Received: by outflank-mailman (input) for mailman id 581825;
 Thu, 10 Aug 2023 06:45: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=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qTzQh-000212-ND
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 06:45:55 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe59::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85a72b89-3749-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 08:45:42 +0200 (CEST)
Received: from CY5PR19CA0034.namprd19.prod.outlook.com (2603:10b6:930:1a::13)
 by MW4PR12MB7165.namprd12.prod.outlook.com (2603:10b6:303:21b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 06:45:46 +0000
Received: from CY4PEPF0000E9D9.namprd05.prod.outlook.com
 (2603:10b6:930:1a:cafe::37) by CY5PR19CA0034.outlook.office365.com
 (2603:10b6:930:1a::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 06:45:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D9.mail.protection.outlook.com (10.167.241.77) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Thu, 10 Aug 2023 06:45: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.27; Thu, 10 Aug
 2023 01:45:43 -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.27; Wed, 9 Aug
 2023 23:45:34 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 01:45: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: 85a72b89-3749-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nNKGXb9/ZI4rUunDiwSpMRsrcksHNxVy3LKrT5hwGTyGt5LfxO2ldnm0pLOOX/ZZBc8kqAHFLZt5NwQyWfr9iTxirtKgdo6Yf3kXBNgoD6tLXYEC/wMib4r8fDAFkEmSdvLwmgXy6/QpS90hkWTvydguX8zOmMMCCEq7tEOftagplmB/2rDxsbTCfc95dBfribsu5xWbHpXAflG9jpWjy4TkFQzV4hE1ULs0VTfhZajlEcGTyUVRQEpnGXoe3z+37I2B1lCvtv8cV40oOIzwk9QUm1LsNQ6AdlE7lNPVGlC9PkXEdoNe5x3yaRPpGyje73ZhxSuwB1zWBlUHs3aunA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R87u6pIYt02/RYsjsUdIkzY9niQNjr9GCe7BLv+qUqg=;
 b=ZN2+9J0+qMsALOO5vQ4OiU5M1SfDjUMygrKL5yFTmB4cwfQCOZOgihmDPQITdR3uSurJS2QgU87WRasVJNcAURXb4TPbsvVw+8rpKNTWoawnYOFwU8vMwe9c2XkTZ/Cwk4M6mBCzoMPnne0o+C+u2NrMfUwI14dLgzxAdxP3oB5Yv42iY+tiaQBuejRv1PzDhqETWQmz5o+ITxHWOoKS6IEHffPLVqL3xFPU4fOGDRhlgBMRPm3pddlpNKIruPeNUelu5gh++LxndNCiYENyovvAUX8DXUEW7UdNIhJtZFkfqHX/qmge+k0j/nwiC41zshNG38EFl99n8fzgapSNzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R87u6pIYt02/RYsjsUdIkzY9niQNjr9GCe7BLv+qUqg=;
 b=YrhuCT4hy1gi5bh9wz2HUdEQghoRHw5JkGnQxjt4yur27W4BiLJcgPuzzY3ET3Uh270XTKaAqpFPDMJxBH8bAGXPkTlG/zvv7F784WJSBT7BRKj/Lk3/d6FWgrhmXEZP20vAa3iDQC+nirTYI7HwGln6+JUIaCYTVFtuDn9NtAQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e43d31f4-5349-f750-6b6e-fc08c1aa5b67@amd.com>
Date: Thu, 10 Aug 2023 08:45:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, Luca Fancellu
	<luca.fancellu@arm.com>, <jbeulich@suse.com>, <andrew.cooper3@citrix.com>,
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <wei.chen@arm.com>,
	<rahul.singh@arm.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	<george.dunlap@citrix.com>, <christopher.w.clark@gmail.com>,
	<dpsmith@apertussolutions.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D9:EE_|MW4PR12MB7165:EE_
X-MS-Office365-Filtering-Correlation-Id: a18ca832-33e4-40db-c133-08db996d6cef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mBctEQiSyqHUDLDUAPVxXceCxJ26ttum10AhKDhYAe+TiIbr9vivakWHMog8yH1sRoArFLaFgLLla0ZQU31LpG8WnpbbSpk6sLQ7cOKAcIwbCW7K5ViGBQEe0d2ace8QqTWd1GyGB9W+O+tAKzcGHtlpbDWBPUI0Eh3EYN5JrGHYFo9b7WsHLzHtr3bs/AmNoQ2LvVs2+cPGDN9YSA6MweH3JzOSYa3xkFwt+U4wKp0Oe7ogt7n4UaRCp8DUTKd2eyqOK1WQidyvb4xOy10GuqrQWtUgfKiMBLvagUzZSHeUhfTjbjZ6SgglwY9mkxClkSP/1YBCpwxuS73kwMqYSigJlh0iqfsVpwj0iHMWmFbskqz9OOtzwzo3JnrVa44ph73eo1Le1SAZqCePnaZZoymyDLXkolrR9+bfbArZAvALTPWN9/JJ9NorGXGM8v8nyReFNLjUJuMwJLZ0pnVfi3PxArKVwbajdqRjgaMnOOUGNNdUQ9NNQRAVvP5n7wFxvc2g0/Vl0SI7wZC4wh3hCP+3zDauyhdFhVCHmLcf/jXruo8bObYED4EYuR5ZH0UZhwnQW5tu0j9XCyP/9VD2puLC3hS8NeDkpMAmOib8N9L5/Gm/0Z2iEJkf+azkiuCILEuMFGLp53I3k1FIMFG8UhZxdrAggikv9PCM9FLZjGNVMx02tiiwXtbj9VeeQJV6LGOqKQsIrV15DEA7xNQPUcyV+OAbP34VdI9XKJfLZiH8gNduYBsmxpgoyJVGId+XpwIBQr8iALPFDGiFWfkYE8ufc4CiF74qxswGgkz+tqzmLG8GpLOgjQnD6x7LjI3O
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:(13230028)(4636009)(39860400002)(396003)(346002)(136003)(376002)(186006)(82310400008)(1800799006)(451199021)(36840700001)(46966006)(40470700004)(478600001)(36756003)(110136005)(54906003)(2616005)(81166007)(336012)(356005)(70586007)(70206006)(4326008)(82740400003)(316002)(16576012)(41300700001)(8676002)(8936002)(36860700001)(5660300002)(31686004)(44832011)(7416002)(26005)(40480700001)(31696002)(47076005)(966005)(2906002)(53546011)(426003)(40460700003)(86362001)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 06:45:46.0100
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a18ca832-33e4-40db-c133-08db996d6cef
X-MS-Exchange-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:
	CY4PEPF0000E9D9.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7165



On 09/08/2023 21:51, Stefano Stabellini wrote:
> 
> 
> Adding hyperlaunch and x86 maintainers.
> 
> 
> Hi Luca,
> 
> This patch series is very timely. You might not have realized but we
> were just discussing with the hyperlaunch guys to move dom0less code to
> common.
> 
> Your series is a great step in the right direction. However, we don't
> want to move the dom0less code twice because it would make 'git blame'
> very hard to use.
> 
> I wonder if I could ask you to move the code to xen/common/ instead. I
> am not asking you to make it buildable on x86, as that would take more
> work and also something along the lines of this patch series from
> Christopher:
> https://patchew.org/Xen/20230701071835.41599-1-christopher.w.clark@gmail.com/
The question is whether we want to move everything related to dom0less parse/build to common.
There are parts that make sense only for Arm. Also, a plain move might not be what
hyperlaunch wants and what Daniel described in his plans for the future. FWIU, hyperlaunch
wants to operate on flattened device tree whereas the majority of dom0less build/parse code
is done using unflattened device tree (FDT is used at the very early stage of the boot and is contained
in bootfdt.c). Maintaining two sets of parsers is not the best idea.

@Daniel,Christopher, what is the reason of using FDT and not DT on hyperlaunch?
Is is because there are parts of configuration that you want to probe early (e.g. XSM module)?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 07:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581831.911252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTziC-0004XC-U3; Thu, 10 Aug 2023 07:04:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581831.911252; Thu, 10 Aug 2023 07:04:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qTziC-0004X4-RI; Thu, 10 Aug 2023 07:04:00 +0000
Received: by outflank-mailman (input) for mailman id 581831;
 Thu, 10 Aug 2023 07:03: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=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qTziB-0004Wy-Km
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:03:59 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe12::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cd4f256-374c-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 09:03:47 +0200 (CEST)
Received: from DUZPR01CA0080.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:46a::9) by AS2PR08MB9074.eurprd08.prod.outlook.com
 (2603:10a6:20b:5fc::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 07:03:51 +0000
Received: from DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:46a:cafe::f2) by DUZPR01CA0080.outlook.office365.com
 (2603:10a6:10:46a::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 07:03:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT051.mail.protection.outlook.com (100.127.142.148) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 07:03:51 +0000
Received: ("Tessian outbound f5de790fcf89:v145");
 Thu, 10 Aug 2023 07:03:51 +0000
Received: from e2dff860498e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 616B723D-C73C-4945-AC2A-9676F1961407.1; 
 Thu, 10 Aug 2023 07:03:39 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e2dff860498e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 07:03:39 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB9PR08MB6620.eurprd08.prod.outlook.com (2603:10a6:10:256::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Thu, 10 Aug
 2023 07:03:37 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 07:03:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cd4f256-374c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cvrWNyjbDpTmZnf0vMth/aapfAQuIjJ3bnmuNzS6s7s=;
 b=ZaHwD+I2aLK/WTynV/c1W/Fr6+0C6NyUyjfbmTxA1ygr4Fv5gyCLxCO6f3YXKlEGtB4MtAW9dgfStoqNeyZnqbFONP1LlrDf30TY7ksbY7yKVXwAU6n4rKUXAxhdFCf1IB+RpOyHPqH2GbPb596ZVJf9d1QMYFWcLDixexK7tto=
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: d1dbbf9236ecb5e2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WFEoPCioU7bzNWFE7cD+VB14kUd4zNXkj3+3nyfH/Qjx2QZW26HNcCKbnp1q2KmsYM3MZCz/fMthbaOCYF1FgaDj5VVdKdHaNsVjIHP0Qjuof3CpCn55PXLDcqz9HqeXqObhvmKmk6LCMVzQWjfvREJ6E8T+7Gen8U7C02giKfASKKdiiqhO808JS/f2D9258YxHBfPpQDgKK0AzmgWtI7cj4qAhpwQMKk+p1JS+w9VMOuyZ70N/ogIvCi4j8NU4J+p+t2pjEckYa1JxIM3tt9yMjENHJrDt9d2vdTTAM4d9iIqfsAkfYmck5660lkL+JoSF0mDmILxo9oZdgMClYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cvrWNyjbDpTmZnf0vMth/aapfAQuIjJ3bnmuNzS6s7s=;
 b=CNEHI2ttBmIJW1tnpL11OeO33bdUhSisF4HMJSkaRlmO6UwHfrPCIyAvF0SbPk/bndVDcJLhzGPwcea5U/3JaS2eMjgzBlJliqoOlP6L2XHcrzaBLj/5oosRdwhmUD+/2Zftswe0C3SCB9CKPLW9SX79fGztcIDoc4kIp+Gv/tg6aQpcYdPAY4eT69yRGvcmxqKRbDUollu1IkMCUwyP/FjnE3rUcLpRM+1Dq8PdCJwJeQI5pVHntyNitOB6G8rOX6BMFGhhl0B3WMSRu5xJwjiCFNmm+s+a9Nv65CXs4olajnpWlQrv/7rq3aVA6HN5UyojDVI7aYgnoWEqNDk5ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=cvrWNyjbDpTmZnf0vMth/aapfAQuIjJ3bnmuNzS6s7s=;
 b=ZaHwD+I2aLK/WTynV/c1W/Fr6+0C6NyUyjfbmTxA1ygr4Fv5gyCLxCO6f3YXKlEGtB4MtAW9dgfStoqNeyZnqbFONP1LlrDf30TY7ksbY7yKVXwAU6n4rKUXAxhdFCf1IB+RpOyHPqH2GbPb596ZVJf9d1QMYFWcLDixexK7tto=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Penny Zheng <Penny.Zheng@arm.com>
Subject: Re: [PATCH v4 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Thread-Topic: [PATCH v4 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Thread-Index: AQHZxCqG6oYnCgdHhkmb5cGeqRWv6K/h7S6AgAE7/YA=
Date: Thu, 10 Aug 2023 07:03:36 +0000
Message-ID: <5F1FD746-ECC0-4C46-B946-E86E7DB6FAFE@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-4-Henry.Wang@arm.com>
 <e3bae060-a78c-44ad-a79f-3faf998279b0@xen.org>
In-Reply-To: <e3bae060-a78c-44ad-a79f-3faf998279b0@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB9PR08MB6620:EE_|DBAEUR03FT051:EE_|AS2PR08MB9074:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f55b1cf-2a2f-4772-55fc-08db996ff3bb
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:
 /HGGNC7KbemEG9OUuTo8xhAwFdC3/epSF4SwvCxOePgA9Ad1ozPrx0U/Gjc3ASx74gBQ8ArC0Z2eZqIBAR2XWfWoePQHBUkxP06HGlOvDkXDQVGqqN9OtwZJMMwjGfFaRKXXCV6sYA/11++qunVcvQQNY79JgNoBqZPDEWcNUqEbMIeV52LFp2lsUD5n268rIl2uqH8kEfnfTNPW4D5tBydGUwJE2DRcHfGQ+JTubkVQkabcNMZTlutyGNawhepidi9VxRkzKWt5ILucm+lb5HlC/MDTcTGJ21XrDsf+5JJbhF1M05Kxfa18YkDkxRCHZSFMIBrHFqtFmGON6YDyonaEE07rNW6yWAE56wngdMjv47iw+BOU+MgQvBn/qjdUZTcU13NSmR//KZJKqS3v7OArh4PGz4okmRnoGjY7nGvNkqkTBHrCAMiBWpy0Sa6440LLJH2V2hMd7+luyER/OIEmg/dCg+qt9iswL50Onp88hezuuieUpsI6dIFu6OaaFKOyUdAVD8GHIwjOCeLWJMt2PTzwdSIrphUJKwvCS964gnpmuNP2dTk/WIn+3iRDpm4sewM5y3FIFW/Rr1WfcMcQs2ztqk39DXAUdoi0EpD8LxHggKlvuzWhmUoCjumRXT5X5kGcAOzNmk9GEVeTXQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(1800799006)(186006)(451199021)(83380400001)(478600001)(122000001)(2616005)(66899021)(6512007)(38070700005)(6506007)(53546011)(26005)(66476007)(76116006)(91956017)(66556008)(66946007)(8676002)(66446008)(64756008)(4326008)(2906002)(316002)(6916009)(6486002)(71200400001)(38100700002)(36756003)(54906003)(41300700001)(8936002)(33656002)(86362001)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5B62A891F5FDFD4084FA4E075B610FB3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6620
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a03bd32a-7512-4b97-fbb8-08db996feb37
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kWJDWk6iVH6gpLhoBdCnztCLfcxwRo85ygXMHbumFESrcIEToC08fm8V7LeY0kE3IgvNdXxZpQ1kday7A+ouKLcDwsfiyJ43G48QHsQDZSS3Fipa6u5jyR1dFDHw7ivzdugxlW6Yc0wU/1hbKd1AHUY+MBT1UDq2yuJhbW79Vlh70A/XSLJuZ8Jm63zUxHJi1lM+TQPqalHub/cJHwvulwQkw//keme9KyJqEXs27osuzovDLaY04oJ6AltEHNI/yhOl0nIi4/Z0XEtQbkJs6dQqiNoDKenWuRnuxQTmt3EbfE4Eq67WQwqwQYPj4567jFf6TN1mza/PycAyairEDb1uZW3Cycr8JueqN3VtyEhkCkWagQwDW/ZiorHyDXoswzkGmMQJI6kX3FMvdHV6Uuo5f1CJrv6l4Exy3onOI0Txjv9mV9Sr/9b4V4RifiCZnvBltrpoVAIqWfS9rusryGX/7zYNqtSJjeaG9xnUuQzsWAROdc6wc7GK5qlnVPYk4VlVg1Es0FqS/RCxgj8meEgakEzIQwrX8HBVCGStycXGk7Vp5uOBAx7onZlxx2RhZFEt4zMng2gDXZuSzPGpH9zFwQd4GY5pd733va/iywGrod/7h7+xd5LrXbgHRM2/kzYsHjjl7u3bk6CbeCneWErJGB2sHC7H74UVrpbFZdhnIiQtoKnk2u0L4fXLh8HDXXPpN7F6pVvbxOqUPrau8tQ6tOTKi+oc3ckDAAovZso=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(136003)(346002)(39860400002)(82310400008)(451199021)(1800799006)(186006)(40470700004)(36840700001)(46966006)(86362001)(478600001)(83380400001)(2906002)(66899021)(40480700001)(2616005)(54906003)(40460700003)(36756003)(36860700001)(6862004)(8936002)(82740400003)(6506007)(26005)(53546011)(316002)(8676002)(5660300002)(33656002)(6512007)(41300700001)(81166007)(6486002)(47076005)(4326008)(356005)(70206006)(70586007)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 07:03:51.2461
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f55b1cf-2a2f-4772-55fc-08db996ff3bb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9074

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyA5LCAyMDIzLCBhdCAyMDoxMiwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+IE9uIDAxLzA4LzIw
MjMgMDQ6NDQsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+PiBGcm9tOiBXZWkgQ2hlbiA8d2VpLmNoZW5A
YXJtLmNvbT4NCj4+IFdlIHdhbnQgdG8gcmV1c2UgaGVhZC5TIGZvciBNUFUgc3lzdGVtcywgYnV0
IHRoZXJlIGFyZSBzb21lDQo+PiBjb2RlIGFyZSBpbXBsZW1lbnRlZCBmb3IgTU1VIHN5c3RlbXMg
b25seS4gV2Ugd2lsbCBtb3ZlIHN1Y2gNCj4+IGNvZGUgdG8gYW5vdGhlciBNTVUgc3BlY2lmaWMg
ZmlsZS4gQnV0IGJlZm9yZSB0aGF0IHdlIHdpbGwNCj4+IGRvIHNvbWUgaW5kZW50YXRpb25zIGZp
eCBpbiB0aGlzIHBhdGNoIHRvIG1ha2UgdGhlbSBiZSBlYXNpZXINCj4+IGZvciByZXZpZXdpbmc6
DQo+PiAxLiBGaXggdGhlIGluZGVudGF0aW9ucyBhbmQgaW5jb3JyZWN0IHN0eWxlIG9mIGNvZGUg
Y29tbWVudHMuDQo+PiAyLiBGaXggdGhlIGluZGVudGF0aW9ucyBmb3IgLnRleHQuaGVhZGVyIHNl
Y3Rpb24uDQo+PiAzLiBSZW5hbWUgcHV0cygpIHRvIGFzbV9wdXRzKCkgZm9yIGdsb2JhbCBleHBv
cnQNCj4+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPj4gU2ln
bmVkLW9mZi1ieTogUGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+DQo+PiBTaWduZWQt
b2ZmLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+IA0KPiBXaXRoIG9uZSBy
ZW1hcmsgYmVsb3c6DQo+IA0KPiBSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1h
em9uLmNvbT4NCg0KVGhhbmtzISBJIGhhdmUgdGFrZW4gdGhpcyB0YWcgd2l0aC4uLg0KDQo+IA0K
Pj4gDQo+PiAgLS8qIFByaW50IGVhcmx5IGRlYnVnIG1lc3NhZ2VzLg0KPj4gKy8qDQo+PiArICog
UHJpbnQgZWFybHkgZGVidWcgbWVzc2FnZXMuDQo+PiArICogTm90ZTogVGhpcyBmdW5jdGlvbiBp
cyBvbmx5IHN1cHBvc2VkIHRvIGJlIGNhbGxlZCBmcm9tIGFzc2VtYmx5Lg0KPiANCj4gSSByZWFs
aXplIHRoZSB3b3JkaW5nIGlzIGp1c3QgYSBjb3B5IG9mIHdoYXQgSSB3cm90ZSBlYXJsaWVyIG9u
LiBCdXQgSSB3b3VsZCB1c2UgJ211c3QnIGFzIHRoaXMgaXMgYSBzdHJvbmdlciB0aGFuICdpcyBz
dXBwb3NlZCB0bycuDQoNCuKApnRoaXMgZml4ZWQgbG9jYWxseS4NCg0KPiANCj4gVGhpcyBjYW4g
YmUgZGVhbHQgb24gY29tbWl0IGlmIHRoZXJlIGlzIG5vdGhpbmcgZWxzZSB0byBjaGFuZ2UuDQoN
CkVpdGhlciB3YXkgd29ya3MgZm9yIG1lLCBtYXliZSB5b3UgY2FuIGFkZCB0aGlzIHBhdGNoIHRv
IHlvdXIgcXVldWUNCmZvciB5b3VyIG5leHQgcm91bmQgb2YgY29tbWl0dGluZy4gSWYgSSBkb27i
gJl0IHNlZSB0aGlzIHBhdGNoIGJlaW5nIGNvbW1pdHRlZA0KYnkgdGhlIHRpbWUgd2hlbiBJIHNl
bmQgdjUsIEkgd2lsbCBrZWVwIHRoaXMgcGF0Y2ggaW4gdGhlIHY1IHNlcmllcyBhbmQgc2VuZA0K
aXQgd2l0aCB5b3VyIFJldmlld2VkLWJ5IHRhZy4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0K
PiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 07:27:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581837.911262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU04c-000758-Og; Thu, 10 Aug 2023 07:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581837.911262; Thu, 10 Aug 2023 07:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU04c-000751-Lo; Thu, 10 Aug 2023 07:27:10 +0000
Received: by outflank-mailman (input) for mailman id 581837;
 Thu, 10 Aug 2023 07:27:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0PQq=D3=linaro.org=linus.walleij@srs-se1.protection.inumbo.net>)
 id 1qU04a-00074v-TG
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:27:09 +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 49f3453a-374f-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 09:26:57 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2b9b5ee9c5aso9465701fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 10 Aug 2023 00:27:06 -0700 (PDT)
Received: from [127.0.1.1] ([85.235.12.238]) by smtp.gmail.com with ESMTPSA id
 t18-20020a2e9d12000000b002b9fec8961bsm233152lji.123.2023.08.10.00.27.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Aug 2023 00: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: 49f3453a-374f-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1691652426; x=1692257226;
        h=cc:to:message-id:content-transfer-encoding:mime-version:subject
         :date:from:from:to:cc:subject:date:message-id:reply-to;
        bh=yN9CEShf+RVQzOCyA7HLL5huGCM+loDBl/b3GyqW7cM=;
        b=hAI2zLDeYrFyA9B2O1/1J3hre6J5vK9lgwpDrJrzByfWFjSj3ECeAAiyPUFNQLE6lr
         OqEp6NrSVviNuEkXD49dy0AKhzGZxEM+9TXhkVqWLmv0Oce6NKTxQadC0D9Y6rGJUG4x
         Mnq3yHe8Sn7pGinLvaV8xRK+dgOCgpVuC3gkbDnV5nf9E1tjFh2OdhdHQDcXju1e6JYF
         +T0EgaHRZ4qbq2+0o7/3khE5izxby8zFQluqlvRjgj1Qeq/cZrB21i5+EFmXnVOxzEO5
         mMHoOYhB20nmxGXn1mnfsJvVIvTd6FbceVpHh4VzwANRpsdfTVFJPvF/DvoUmhk2FyND
         XFRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691652426; x=1692257226;
        h=cc:to:message-id:content-transfer-encoding:mime-version:subject
         :date:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=yN9CEShf+RVQzOCyA7HLL5huGCM+loDBl/b3GyqW7cM=;
        b=lld8lPwYJTzDStpXY2KSQp79TEZdqW/ziC5XkphnXRH6Ju/lNf2Ujn41bXs4RlZ3uV
         A4XbZibHztWg9hR/zfhx95EBBqJpTDY5WuCvk3Ypj5AO9C+ej9OY07ozJgRjvY6HX/ie
         5Ct2odEarnNnWibSMTYgn6fBoO/WL4Rhx8rqC9W+BDq/NXeyhebN4Ey7re/XTxbZ5bac
         FyRnw4b10JTdFxW0WaL4e954TjwcwbX9ICUqZir06DK/tnsyn2mMWgFqe2QtHFqmOKjq
         KNgVRaiZizXjpsqsKZ4DCdJzZ1zjr0giNBwBI1SnkEHOYqz4XI6yUqoxGQo/C4Ja+70I
         Sv9g==
X-Gm-Message-State: AOJu0YxUrXfTmp0Y4PA+TJ8T2/w27S4LXe0SqVIxcraHfFLwEVZkYSEE
	HYIT4wJKMTDXLYNTx78xKyUlJQ==
X-Google-Smtp-Source: AGHT+IHgd8Hjb+gMYaO0cS0m2RHlxFtCAELWefYhbMJLayBO9cdI/BMW7X3fnqTRhT0IxW6plo9f/A==
X-Received: by 2002:a2e:8559:0:b0:2b7:2db:8ea4 with SMTP id u25-20020a2e8559000000b002b702db8ea4mr1165263ljj.30.1691652425875;
        Thu, 10 Aug 2023 00:27:05 -0700 (PDT)
From: Linus Walleij <linus.walleij@linaro.org>
Date: Thu, 10 Aug 2023 09:27:04 +0200
Subject: [PATCH] x86/xen: Make virt_to_pfn() a static inline
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
X-B4-Tracking: v=1; b=H4sIAEiR1GQC/x3MQQqAIBBA0avErBswI9OuEi2sppyNhkYY0d2Tl
 m/x/wOJIlOCoXog0sWJgy9o6goWZ/1OyGsxSCFboYXGi+OJZ8DD3QmzVpjJYzP3VhnZdlYaKOk
 RaeP8b8fpfT+XKd7VZgAAAA==
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>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
 Linus Walleij <linus.walleij@linaro.org>
X-Mailer: b4 0.12.3

Making virt_to_pfn() a static inline taking a strongly typed
(const void *) makes the contract of a passing a pointer of that
type to the function explicit and exposes any misuse of the
macro virt_to_pfn() acting polymorphic and accepting many types
such as (void *), (unitptr_t) or (unsigned long) as arguments
without warnings.

Also fix all offending call sites to pass a (void *) rather
than an unsigned long. Since virt_to_mfn() is wrapping
virt_to_pfn() this function has become polymorphic as well
so the usage need to be fixed up.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/x86/include/asm/xen/page.h |  5 ++++-
 arch/x86/xen/enlighten_pv.c     |  2 +-
 arch/x86/xen/mmu_pv.c           | 12 ++++++------
 arch/x86/xen/setup.c            |  4 ++--
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
index fa9ec20783fa..85e63d58c074 100644
--- a/arch/x86/include/asm/xen/page.h
+++ b/arch/x86/include/asm/xen/page.h
@@ -295,7 +295,10 @@ static inline unsigned long bfn_to_local_pfn(unsigned long mfn)
 
 /* VIRT <-> MACHINE conversion */
 #define virt_to_machine(v)	(phys_to_machine(XPADDR(__pa(v))))
-#define virt_to_pfn(v)          (PFN_DOWN(__pa(v)))
+static inline unsigned long virt_to_pfn(const void *v)
+{
+	return PFN_DOWN(__pa(v));
+}
 #define virt_to_mfn(v)		(pfn_to_mfn(virt_to_pfn(v)))
 #define mfn_to_virt(m)		(__va(mfn_to_pfn(m) << PAGE_SHIFT))
 
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 93b658248d01..7178976c5dcf 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -523,7 +523,7 @@ static void __init xen_load_gdt_boot(const struct desc_ptr *dtr)
 	BUG_ON(size > PAGE_SIZE);
 	BUG_ON(va & ~PAGE_MASK);
 
-	pfn = virt_to_pfn(va);
+	pfn = virt_to_pfn((void *)va);
 	mfn = pfn_to_mfn(pfn);
 
 	pte = pfn_pte(pfn, PAGE_KERNEL_RO);
diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index e0a975165de7..c4f20581f6e7 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2202,13 +2202,13 @@ static void xen_zap_pfn_range(unsigned long vaddr, unsigned int order,
 		mcs = __xen_mc_entry(0);
 
 		if (in_frames)
-			in_frames[i] = virt_to_mfn(vaddr);
+			in_frames[i] = virt_to_mfn((void *)vaddr);
 
 		MULTI_update_va_mapping(mcs.mc, vaddr, VOID_PTE, 0);
-		__set_phys_to_machine(virt_to_pfn(vaddr), INVALID_P2M_ENTRY);
+		__set_phys_to_machine(virt_to_pfn((void *)vaddr), INVALID_P2M_ENTRY);
 
 		if (out_frames)
-			out_frames[i] = virt_to_pfn(vaddr);
+			out_frames[i] = virt_to_pfn((void *)vaddr);
 	}
 	xen_mc_issue(0);
 }
@@ -2250,7 +2250,7 @@ static void xen_remap_exchanged_ptes(unsigned long vaddr, int order,
 		MULTI_update_va_mapping(mcs.mc, vaddr,
 				mfn_pte(mfn, PAGE_KERNEL), flags);
 
-		set_phys_to_machine(virt_to_pfn(vaddr), mfn);
+		set_phys_to_machine(virt_to_pfn((void *)vaddr), mfn);
 	}
 
 	xen_mc_issue(0);
@@ -2327,7 +2327,7 @@ int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
 	xen_zap_pfn_range(vstart, order, in_frames, NULL);
 
 	/* 2. Get a new contiguous memory extent. */
-	out_frame = virt_to_pfn(vstart);
+	out_frame = virt_to_pfn((void *)vstart);
 	success = xen_exchange_memory(1UL << order, 0, in_frames,
 				      1, order, &out_frame,
 				      address_bits);
@@ -2360,7 +2360,7 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
 	spin_lock_irqsave(&xen_reservation_lock, flags);
 
 	/* 1. Find start MFN of contiguous extent. */
-	in_frame = virt_to_mfn(vstart);
+	in_frame = virt_to_mfn((void *)vstart);
 
 	/* 2. Zap current PTEs. */
 	xen_zap_pfn_range(vstart, order, NULL, out_frames);
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 8b5cf7bb1f47..50c998b844fb 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -340,7 +340,7 @@ static void __init xen_do_set_identity_and_remap_chunk(
 
 	WARN_ON(size == 0);
 
-	mfn_save = virt_to_mfn(buf);
+	mfn_save = virt_to_mfn((void *)buf);
 
 	for (ident_pfn_iter = start_pfn, remap_pfn_iter = remap_pfn;
 	     ident_pfn_iter < ident_end_pfn;
@@ -503,7 +503,7 @@ void __init xen_remap_memory(void)
 	unsigned long pfn_s = ~0UL;
 	unsigned long len = 0;
 
-	mfn_save = virt_to_mfn(buf);
+	mfn_save = virt_to_mfn((void *)buf);
 
 	while (xen_remap_mfn != INVALID_P2M_ENTRY) {
 		/* Map the remap information */

---
base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
change-id: 20230808-virt-to-phys-x86-xen-1b7a69235a29

Best regards,
-- 
Linus Walleij <linus.walleij@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 07:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581838.911272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU04t-0007RI-4r; Thu, 10 Aug 2023 07:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581838.911272; Thu, 10 Aug 2023 07: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 1qU04t-0007R7-23; Thu, 10 Aug 2023 07:27:27 +0000
Received: by outflank-mailman (input) for mailman id 581838;
 Thu, 10 Aug 2023 07:27:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYzL=D3=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qU04r-0007PN-TE
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:27:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 591e667e-374f-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 09:27:23 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9E8544EE073F;
 Thu, 10 Aug 2023 09:27: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: 591e667e-374f-11ee-b283-6b7b168915f2
MIME-Version: 1.0
Date: Thu, 10 Aug 2023 09:27:23 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Jun Nakajima <jun.nakajima@intel.com>, Kevin
 Tian <kevin.tian@intel.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 0/4] xen: address violations of MISRA C:2012 Rule 7.2
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <8da9b4fe-3109-3a5e-9bc6-15fccc13a8f3@suse.com>
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <CAFHJcJuSXqzHbB8P6d-YV_GgAadmxnWgETfaqDj_ge_ipWS7Pg@mail.gmail.com>
 <8da9b4fe-3109-3a5e-9bc6-15fccc13a8f3@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <a660e852cbe9c2f67904ff01f6cb3abd@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 09/08/2023 11:15, Jan Beulich wrote:
> On 09.08.2023 10:58, Simone Ballarin wrote:
>> Il giorno mer 26 lug 2023 alle ore 13:04 Simone Ballarin <
>> simone.ballarin@bugseng.com> ha scritto:
>> 
>>> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose 
>>> headline
>>> states:
>>> "A 'u' or 'U' suffix shall be applied to all integer constants that 
>>> are
>>> represented in an unsigned type".
>>> 
>>> These violations are caused by the missing "u" or "U" suffix in 
>>> unsigned
>>> integer constants, such as:
>>> 
>>> xen/arch/x86/hvm/hypercall.c:132.17-132.26
>>> if ( (eax & 0x80000000) && is_viridian_domain(currd) )
>>> 
>>> If a rule is not met, changes are needed in order to achieve 
>>> compliance.
>>> The patches in this series achieve compliance for MISRA C:2012 Rule 
>>> 7.2 by
>>> adding the 'U' suffix to integers literals with unsigned type and 
>>> also to
>>> other
>>> literals used in the same contexts or near violations, when their 
>>> positive
>>> nature is immediately clear. The latter changes are done for the sake 
>>> of
>>> uniformity.
>>> 
>>> Gianluca Luparini (4):
>>>   x86/vmx: address violations of MISRA C:2012 Rule 7.2
>>>   xen/vpci: address violations of MISRA C:2012 Rule 7.2
>>>   x86/viridian: address violations of MISRA C:2012 Rule 7.2
>>>   xen/x86: address violations of MISRA C:2012 Rule 7.2
>>> 
>>>  xen/arch/x86/apic.c                          |   2 +-
>>>  xen/arch/x86/cpu-policy.c                    |  18 +-
>>>  xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
>>>  xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
>>>  xen/arch/x86/cpuid.c                         |   8 +-
>>>  xen/arch/x86/efi/efi-boot.h                  |   6 +-
>>>  xen/arch/x86/extable.c                       |   2 +-
>>>  xen/arch/x86/hvm/hypercall.c                 |   2 +-
>>>  xen/arch/x86/hvm/pmtimer.c                   |   4 +-
>>>  xen/arch/x86/hvm/stdvga.c                    |  50 +++---
>>>  xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
>>>  xen/arch/x86/hvm/vlapic.c                    |   6 +-
>>>  xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
>>>  xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
>>>  xen/arch/x86/include/asm/apicdef.h           |   2 +-
>>>  xen/arch/x86/include/asm/config.h            |   2 +-
>>>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
>>>  xen/arch/x86/include/asm/hpet.h              |   2 +-
>>>  xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
>>>  xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
>>>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++-----
>>>  xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
>>>  xen/arch/x86/include/asm/msi.h               |   2 +-
>>>  xen/arch/x86/include/asm/msr-index.h         | 180 
>>> +++++++++----------
>>>  xen/arch/x86/include/asm/pci.h               |   8 +-
>>>  xen/arch/x86/include/asm/x86-defns.h         |  24 +--
>>>  xen/arch/x86/percpu.c                        |   2 +-
>>>  xen/arch/x86/psr.c                           |   2 +-
>>>  xen/arch/x86/spec_ctrl.c                     |   8 +-
>>>  xen/arch/x86/x86_64/pci.c                    |   2 +-
>>>  xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
>>>  xen/drivers/vpci/msi.c                       |   2 +-
>>>  xen/drivers/vpci/msix.c                      |   2 +-
>>>  xen/drivers/vpci/vpci.c                      |   6 +-
>>>  xen/lib/x86/cpuid.c                          |   8 +-
>>>  xen/lib/x86/policy.c                         |   2 +-
>>>  36 files changed, 255 insertions(+), 255 deletions(-)
>>> 
>>> --
>>> 2.34.1
>>> 
>>> 
>> Hi all,
>> the entire series has not received yet any feedback or Acked-by.
>> I would kindly ask if it is possible to have at least some feedback
> 
> I did reply to patch 4 on July 27th. For patch 2, Roger is on PTO for
> another week and a half.
> 
> Jan
Thanks for the information.
-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 07:29:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:29:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581848.911281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU078-0008GK-ID; Thu, 10 Aug 2023 07:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581848.911281; Thu, 10 Aug 2023 07:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU078-0008GD-Ej; Thu, 10 Aug 2023 07:29:46 +0000
Received: by outflank-mailman (input) for mailman id 581848;
 Thu, 10 Aug 2023 07:29: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=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qU077-0008G7-J4
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:29:45 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6768c51-374f-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 09:29:34 +0200 (CEST)
Received: from PH8PR21CA0006.namprd21.prod.outlook.com (2603:10b6:510:2ce::18)
 by MN2PR12MB4471.namprd12.prod.outlook.com (2603:10b6:208:26f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 07:29:37 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2ce:cafe::f1) by PH8PR21CA0006.outlook.office365.com
 (2603:10b6:510:2ce::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.7 via Frontend
 Transport; Thu, 10 Aug 2023 07:29:37 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Thu, 10 Aug 2023 07:29:37 +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.27; Thu, 10 Aug
 2023 02:29:36 -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.27; Thu, 10 Aug
 2023 00:29:36 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 02:29: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: a6768c51-374f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eDx50zOLApOqVCAJ/6RjYEN3Zq0BPun7ka51p9A7I6sGL/2igxxSuUK570MGb3mzRWobrJY9pcFvBJd1XGvlRILZsmZX3Grm8eWYx8hk3FGckeAi2o0KUyf/Kn0NxCj8FoHJKDEQu0hzc8DQWnYNWAovLNtKN5NMjFnICuyfBDSwVJZFcWcys7iHd1z/JDq/7jeIvDzz70C5T+5vAs/6pkGWrnUv8FIay3mTrK/HgqkqZYavIQhxQXrOeoHrwFgWkadiN3whLS7pdW6Njg9aZ+VRcealXGON/4tL6AjYl1+1JpGHuNZtZMaYqVcF8cOyHGDO023GAHoFTDgUo3axpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W45RutX8vcvxy5yxc9uJy4ve8MDtYjJCydP9pLv3qRw=;
 b=DEol5moB+F0SW6tin6tQFDEFM6Xmfst5LeX75GWWWqedNZ9806sQrCX6y2m7Y5C+A6Wq7Y+/jV6ht3kT5GDbaYK1S9uAwGDW7MgclNEn//R/lZSx4KviBRzDSkbNRITUqTRPyXL8XEVOls124Y3cREsT3355dwebH3MtFFbiElXoh0FSxBUfZMI500rYizV2gIjx96AEWm8we/ykbRU9a2ieEOKvirzNlGSVDjx3QrxMyuE3FE8LyvfKFzu5/eYSZCqUxRfuO7DmR0EL8gUAzCcCv3Z2uQIVxYAeIyHH/c+iFo6gWIfwRnT8T/+CoWWaJ+QCWo1D4HqSesLk3U4Ptw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W45RutX8vcvxy5yxc9uJy4ve8MDtYjJCydP9pLv3qRw=;
 b=t7OhO7b23TwcXqtz0UquoQadvNukJnTJORRUkThCN4ZEdFX+b4RkzeVx0gkGZEnmf1egYgEcP2vd0Du6S+MyPKq9N94gBDF+KRbtWc+UTG3k3G6sUlWAX382RGWhr6F1bXn6MZgpFj30O5srGv4/EZzrDn4axsxwVg/NtLXhAPY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e1b73e48-913e-2ffc-0318-51c460eae61c@amd.com>
Date: Thu, 10 Aug 2023 09:29:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/2] automation: upgrade Alpine build and test artifact
 containers to 3.18
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <cardoe@cardoe.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
 <20230810011803.311832-1-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230810011803.311832-1-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|MN2PR12MB4471:EE_
X-MS-Office365-Filtering-Correlation-Id: 2dde544a-fabe-442e-34dc-08db99738d40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f3XyznELnu4e1zqNKUBXVHCF2zwAAyElk5mqoaaQ7AXkf4gta0hPi+q1UMnC4Y6+qsc0PpA8CH22OsmC6g9LfUHyOzI+LC9jL3bGx/eebZB7viC0HnAbbE2/UCy1fZbJ8gJfZkt5kd9gOvJdibPxMCHztLFvqdOwRkjDLkX5VGC4Grn+AOPhZxPTkF1zTzAEtN7AvO1K52koYJ4RSY/SXJHXR5YGpXQC4B0eXpoTp/J1RX2I4lEjIC+RzojKXq71aPZAq53Q2Xq/EciHPaBPldaqc701IEeq295UuRC0qx5E3C/STqwU+49LeVSESV0rhSbe0eu4/SBcX4I8UdztKttjzib9jukijkA/n4pz+tDSgSm6UkO0p+i4bLKCZ3+a/s8yfTebHw+Ys5HTFn3XchrAwPyNt39GppXQcdFgAaFHpBqt0tvObpEznHjB+1a2SX2C44S0KHflL6uHyrWBeL4rm8Cczj0QEgbyMbin3/a7BgJ2Yfhc6DoiMpzmNhqG3nMNByigYERjZQNl1saVz18OmpA6a76k/lvF6nQYPUkyMoWnv9wCuWCVrJe7/jzskl/4UCTZ51/qhr6A9pN1iUzki844HaHbbRre/Iqjs9PKE3cDNpH2TPB3OPbvUDnSVdZUtJjyzHILshot1xO2NTliS37ODSMo87xZoIjE16V7vMrH786dxecwDWrYeQBbtBFBJJDiGCy9Uuac+8F2JCJlBz3/Y9rJ4kSPG8aTDgjinqW0lcUYTWq+dZIVavhv48R2tgDbcoAgvN+G/WDEMDFnY2l1a556cXKxJowlSPUorSwymzTMe6xyhU4iUIVM
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:(13230028)(4636009)(346002)(376002)(136003)(396003)(39860400002)(186006)(1800799006)(451199021)(82310400008)(46966006)(36840700001)(40470700004)(6666004)(5660300002)(82740400003)(26005)(44832011)(8936002)(8676002)(41300700001)(36860700001)(53546011)(316002)(36756003)(16576012)(6916009)(4326008)(70206006)(47076005)(4744005)(70586007)(31686004)(356005)(83380400001)(81166007)(2906002)(336012)(426003)(40460700003)(86362001)(478600001)(54906003)(40480700001)(2616005)(31696002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 07:29:37.2047
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2dde544a-fabe-442e-34dc-08db99738d40
X-MS-Exchange-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:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4471

Hi Stefano,

On 10/08/2023 03:18, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Alpine 3.12 is EOL. Also update the containerize script.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

You could mention the python upgrade in alpine test artifacts.

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

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 07:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581854.911291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU08E-0001FJ-Rk; Thu, 10 Aug 2023 07:30:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581854.911291; Thu, 10 Aug 2023 07:30: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 1qU08E-0001FC-Or; Thu, 10 Aug 2023 07:30:54 +0000
Received: by outflank-mailman (input) for mailman id 581854;
 Thu, 10 Aug 2023 07:30: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=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qU08D-0001Aj-07
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:30:53 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf5670fb-374f-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 09:30:42 +0200 (CEST)
Received: from SN7PR18CA0020.namprd18.prod.outlook.com (2603:10b6:806:f3::14)
 by SJ2PR12MB8010.namprd12.prod.outlook.com (2603:10b6:a03:4c7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 07:30:47 +0000
Received: from SA2PEPF000015C9.namprd03.prod.outlook.com
 (2603:10b6:806:f3:cafe::a2) by SN7PR18CA0020.outlook.office365.com
 (2603:10b6:806:f3::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 07:30:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Thu, 10 Aug 2023 07:30:46 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 02:30:46 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 00:30:46 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 02:30: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: cf5670fb-374f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BOHTWgukssOZKdxLsafHt7a5lEl7wn7YY+x1l8LiLK9SueIEstizDItriHSmRWjAhQeTKtytU1QTG85d2vGy3SR2DD3JF1uVQBjTpdyw8imj95cbkQm9HmWxdf3HKnf8XK5IIrp8qpIsk2hG17UQ8gzG8nV+c4qFO+bGWjTB6PoQ53ko445pmFfsxKK9pHnQt0R1cA3IDCF9MR26/emxkgmY/ugygGrFKrjTLzTXBCuies/NL6xN6b0J4YPZ/2NVkLjdFm9+mZY4bkanS4BRjx2PI6POxt1AFbYGxy0Nw1zfnKm6cQraz48I8sBLsdX/18UdP2E7Qcq4+j+AqiZeTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z3lETHjnRGaV00jG7rG2wl59M1yScl/L+majtfkjCbg=;
 b=nASe7Y/rES46kTQTOQ2zSfK0gnvVpbo4LORzLuK+wJUbcEaQ/G5DUJJckL8hbxF+5x2R5ODMoZpClJ+JLorWduNFakQw6L3zFz7ho8+8y6wvJojq+pwdEjIaA7NvBsKHrrypZDk3IYSaBIDMPgtt5Nb9ir2u/ESdOfp08DqOzxpUy9Iy0zVUI8SLk5jUlInVMNmtnwztlsaSL73DrKx3B/uIS7f7etMDLqDj62FlQ+LDlbkIG+nfwaZc/IzC1Uva65gJ1ovamyZhDsIP99kTdKrMXidgQ4Ank7lTY7SsODi5aBVezVCjw4VJJiZhugs2zOrczodlC14+wWMEb0PMhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z3lETHjnRGaV00jG7rG2wl59M1yScl/L+majtfkjCbg=;
 b=yhy9m6wxt4pGUBM7vnEjXzNsr/3IhzS5l894mSg/wV2V5GFgCkbeJZVzWFva4bDt0O0SUi5awMHGm0sCUxFAcNLQ6kCh+T6iMv7rP84ZKYjNfIMKgCZBnKQXxLrhEJ6IoXFvJEgZBttQcYxlMOoOIhTywlp/1FeVaWoGEp3bPec=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <da8b7081-02c6-694e-7bdf-f0bbc78fc96e@amd.com>
Date: Thu, 10 Aug 2023 09:30:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/2] automation: use Alpine 3.18 instead of 3.12 for all
 gitlab jobs
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <cardoe@cardoe.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2308091814450.2127516@ubuntu-linux-20-04-desktop>
 <20230810011803.311832-2-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230810011803.311832-2-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|SJ2PR12MB8010:EE_
X-MS-Office365-Filtering-Correlation-Id: 92788469-3f10-4e0e-4a7a-08db9973b6d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eM6fh/v7KsOdUyZj4yJsJ05yWhNtQNVNsehdPHmop/G0E+nOE8WgYHr2bsm0/oCEcYgGb8bJvWonj8Hu1ruL+MUVZBAxZIWEhgtyI7H+cR1nMEJ/tlxSq/XnCnL0e3o1lTOZ7VRN1TYITiJ8VEzcmDKS9yWft84U7JWDUC8hPavRajsicgWQ2sedYKlXN+R3wirn1s21LSZShpkyk7YATaDE7AFb8RTxrp/Pl6S0YwFjl95h9j947SsRcfL0GMvAC7LAL6Az6ggYuIjFsSplqdiUyprUADh8TFTYhiKtolMku2sIVOUDHKBJnBKoiFLWTvgSouvBLpoBwdyusUDQ+UMXRonGYpFUHDjhhT9DHwfTBfje0YrHEPzu5jgK3md4a3z19TUjEcvDcGVc0vED5OKvqeCPaxUE0JD+qSTYjp84nSesg2krbgBKtvHPtOvfL2VqPRMR4tffWpVywWANuEjnc5X58C4wgToMDMXJRT/8XVnMuMfIX0z6QgZl7/23/q59tKfjSiBKkeDfrt0eMTchpVcgAcI+SCxvhMrcVrZzcephrvwvf5O6ePbTshmJwfJiKVTsiV/9zeG9EoxWzJV3FuA7EWWhVUqpY/YKSnU00UfkScALRzTtxBL/5tytknQao1jyJ3dLTzbtOUDns9eZU+IP/w70kEEEPVSaPBpzP0LPQNJOARzD0ftzd8sjtcVbM6WffodIHP4/U0deb2Xq8woZJ03iHoqErs99COCd/aYqAkET/223xtPZg0VLLnsUn5jhNJhY3KLzGv/nLam9/ximTXp0nTbfCfUUogBIYWSK341tcw3I3b7My+Ph
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:(13230028)(4636009)(39860400002)(136003)(396003)(346002)(376002)(82310400008)(1800799006)(451199021)(186006)(46966006)(36840700001)(40470700004)(2616005)(478600001)(558084003)(44832011)(31696002)(426003)(86362001)(40480700001)(6666004)(2906002)(36756003)(336012)(40460700003)(26005)(53546011)(356005)(54906003)(316002)(81166007)(70206006)(70586007)(31686004)(6916009)(4326008)(41300700001)(47076005)(5660300002)(8936002)(8676002)(16576012)(36860700001)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 07:30:46.9824
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 92788469-3f10-4e0e-4a7a-08db9973b6d0
X-MS-Exchange-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:
	SA2PEPF000015C9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8010

Hi Stefano,

On 10/08/2023 03:18, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.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 Thu Aug 10 07:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 07:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581862.911302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0It-0002ma-Vw; Thu, 10 Aug 2023 07:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581862.911302; Thu, 10 Aug 2023 07:41:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0It-0002mT-T3; Thu, 10 Aug 2023 07:41:55 +0000
Received: by outflank-mailman (input) for mailman id 581862;
 Thu, 10 Aug 2023 07:41:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qU0Iq-0002mN-RZ
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 07:41:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5db7ab9f-3751-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 09:41:50 +0200 (CEST)
Received: from DB3PR08CA0032.eurprd08.prod.outlook.com (2603:10a6:8::45) by
 DB9PR08MB9755.eurprd08.prod.outlook.com (2603:10a6:10:460::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6652.30; Thu, 10 Aug 2023 07:41:46 +0000
Received: from DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::35) by DB3PR08CA0032.outlook.office365.com
 (2603:10a6:8::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 07:41:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT043.mail.protection.outlook.com (100.127.143.24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 07:41:45 +0000
Received: ("Tessian outbound e1fdbe8a48d3:v145");
 Thu, 10 Aug 2023 07:41:45 +0000
Received: from e508edc3f625.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7030C5B4-3F85-4FDD-A2D2-D617AF6ABE89.1; 
 Thu, 10 Aug 2023 07:41:39 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e508edc3f625.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 07:41:39 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM8PR08MB6354.eurprd08.prod.outlook.com (2603:10a6:20b:367::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 07:41:37 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 07:41:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5db7ab9f-3751-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HSmEdoGbXnWJoTpB5+MVGMuOF+COnyl27ANio2UNZn0=;
 b=y9lBCE2oEE/AMdp/axTcVIMjcroY9MG8OsyzJ/ooATxa6vBsVp0YokE3DTzsk5IVYbOuhdbKuf5ZJAYR0wMZeFqViIShlaaVkYA5so4R+9Zq9jQNwrYztHZlG/ywzpUavb9UDSMh1nQbKg8tTx6H1qo2zqV5ZVAbKVNmWc//v/c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e61c7618f1ce189a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mVWib2Zwdwu/3jC8EzdAw4b5Jdg+kE94A3w0VIPeS2P1x0pFmuUHKzKfHDCx5C8hM8xVB4qj7aqYCaXA6zLqsDGhKi37cZTyPiqKXhbDq0U35t/MeoiMklgRpEsIl1/Hsvn5PVZNBmwxrYoF2kSMjQLeLqpnuPoZmt6oVOXT+NF7ZEU7RAD4EzBKqCQ7tlnXrzwGOShWm+vQU2CDC1IzCsqc1x85TssM/E+rkOpTiiWtOtuhKTiQKyf1a58y/AymvM0vLOLUHxWJx1pPt9Iei1+WHQDB7yiy2BlyV0yqA3cl8l04iQ2ZoDxiKFFp5Hp07JhJ/MX03V7UbYF0aHZh1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HSmEdoGbXnWJoTpB5+MVGMuOF+COnyl27ANio2UNZn0=;
 b=isEH6kaHxp4fywSBXuONQufM7E5dibgbkylAaldMNx/s6sVDB5e8VJnXTGmqX+t5stJoggkm4tEQbb3hW90j/Kgn9iEhMFqln+1IORneaPw7pkG2DGOAWoRKekbjND6vTQJncVbpUgAeyKEFJb9+GXAiL0phdVUO3rwwo76XcWgFhy1yTSRXD1/3ZhAPNQUicdMbTN8sYTCCRHJnPfP0iBLRNKqbJzXxhARiBY341nMZW8xV66fsYT0MIF7SSKUS002BS2x2JiKJHhQFdaKWRYQJLMVXMyl8yoEvskcybjVsCQvvpnyIj7mhR4T1huYczmA9TEHrFlK0CvNHC+l/Ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=HSmEdoGbXnWJoTpB5+MVGMuOF+COnyl27ANio2UNZn0=;
 b=y9lBCE2oEE/AMdp/axTcVIMjcroY9MG8OsyzJ/ooATxa6vBsVp0YokE3DTzsk5IVYbOuhdbKuf5ZJAYR0wMZeFqViIShlaaVkYA5so4R+9Zq9jQNwrYztHZlG/ywzpUavb9UDSMh1nQbKg8tTx6H1qo2zqV5ZVAbKVNmWc//v/c=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Penny Zheng <Penny.Zheng@arm.com>
Subject: Re: [PATCH v4 05/13] xen/arm: Move MMU related definitions from
 config.h to mmu/layout.h
Thread-Topic: [PATCH v4 05/13] xen/arm: Move MMU related definitions from
 config.h to mmu/layout.h
Thread-Index: AQHZxCqMQIVv2nNAnUKuY4URBAgkmK/h7woAgAFEwoA=
Date: Thu, 10 Aug 2023 07:41:36 +0000
Message-ID: <228AEB4A-273E-404B-94E2-932FD8BD54B5@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-6-Henry.Wang@arm.com>
 <83022ef2-dfd1-438c-b8e8-2f1bf0866918@xen.org>
In-Reply-To: <83022ef2-dfd1-438c-b8e8-2f1bf0866918@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM8PR08MB6354:EE_|DBAEUR03FT043:EE_|DB9PR08MB9755:EE_
X-MS-Office365-Filtering-Correlation-Id: bfa319ed-bca4-442c-0202-08db99753f94
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:
 HdNuQ5r/ZoDEFmCqgsQ1qjLEs+6m4279TEAxFPBaTdFXZW7fga7VVYioW/UhEPETZtI0oqjbzepFAWEAE/5ycswgDlPd827z520FVryEuYpCR+i1CpSXAx9GvmJ6fU/m3opyaK7Bf8+Ie0fzPT7jsXWBavE0mi4cELVHqPJoy8Iu4pWK+SCJLbNsgDkB0Yylz0NoOZbfjUFUYSaPSEsYUCtGkQasC6tOFxbbmwSz3Mx/oyJgZjorv2gAMRBag6GvNyEfAKNXr2sVRpJvfX8awgB+CXhr+q+sJBHaN01hizp8boh6G7Wk/EPMKAa8zwlFWz0mrR+9EbAaFpWzrdLAOZ0f/xZrogk4dy5n1yv9QEKoqQN/ROFSsCgLS6IWmoQthIetVDOcagS+dod803OcctEF/KE7yJgWzEl9nmdKNhrjJ1L3uZPBuSSeaMneDLzjE00ayfIXpSnWHVQRXgBvMeBdzI4VC4TiByDoRnzJf3GWEI/jYEcZie0Sr1ZwwZNIjULepPLhI7/8KP+9g5A0E3WSwHlHRXCkIb+lNuBGYweiuFG+LKLT8VUKv/wuW7ObdsICzJOxa7Ov9kBVRRLg2L0a91TNSxk467FHtCJeSEJ6aYLmc5pJ5Ax5WyD9GivlskxshNfCFBlf1Q4t6+vwkQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(186006)(1800799006)(451199021)(4326008)(6486002)(86362001)(478600001)(36756003)(83380400001)(33656002)(54906003)(38100700002)(2906002)(76116006)(91956017)(66946007)(6916009)(66556008)(66476007)(2616005)(64756008)(66446008)(6512007)(122000001)(26005)(41300700001)(316002)(6506007)(53546011)(5660300002)(71200400001)(8676002)(38070700005)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <443661EA238D3E46B75F33B89EC8DB98@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6354
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b493baf8-7055-41a5-af60-08db99753a22
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GuNHlRx3lFkeKX25/tR6sTPW6IwU/bjIna0OgxEVrBbkfv+UI3BJIAfyv1GEa/3yS12oRNLCxbolDTce4Q29PakXxX9p1SuCmCdkcpOFkO5xhJpZ+3ZaRNcME652OMUviXuc4zvaz1ObT5biIvLQMSsHIp+letggmHXlwgbUWlA6bSr/YoatS/O4Yykd1R08uzTxDiMPe4tDSeLekFI7/lXDzkxQzOCOFoltWx9UsGi5eVT+sy80GNsrlhnBYwTqoEBtYkOCboM7N6A4ytWWkHYqHUqEGZfRCCCbysSB4iZ2YlB/UBz6t92cRuUBaDtLTg+lWRHLMoiSo0u7rdQiLcxSezNc1bKHPFWkbBU1rvlp9qHIUpdAWrd2sJJW/iQ3KnKccwei+7hINctTNwSLYELQGYgrzpMjnDADXxmZy5KU4dM8WKEpw/wdVxeSkk+N6FoeTHk6lYRA3e3sJV7dL3x1DkWex0MOYib9jqrMtPUsCJgWh71A1D7SGlb59ONxBxHhZPm68hs10sUFBerJIJOzpjmpGmgcj3v77sQQwONqEbEvmEyobEfX6HTgiwhFZlnrMKQAZzQ1vFhSO+TEV7pt/0smVBjFwBY5EQfYnORsXCj8RS1CPTCbqtVg7FD953skvAjF5qIec2dT950xV68pzBJCFllFtDKsbRebkQuZzoBJt7xr4MfPVRTfeYk//tGUxCkxEbmP3YgoDU1Eaw0FKQ35eSM2bLRntHqbbRWSdLtflde1ugaNiytY0Qxq
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(346002)(136003)(39860400002)(186006)(82310400008)(1800799006)(451199021)(40470700004)(46966006)(36840700001)(53546011)(6506007)(40460700003)(26005)(82740400003)(83380400001)(2906002)(36756003)(336012)(356005)(81166007)(40480700001)(54906003)(2616005)(36860700001)(6486002)(5660300002)(316002)(6512007)(478600001)(33656002)(6862004)(41300700001)(8676002)(8936002)(86362001)(4326008)(70586007)(70206006)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 07:41:45.9788
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bfa319ed-bca4-442c-0202-08db99753f94
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9755

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyA5LCAyMDIzLCBhdCAyMDoxOSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+IE9uIDAxLzA4LzIw
MjMgMDQ6NDQsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+PiBGcm9tOiBXZWkgQ2hlbiA8d2VpLmNoZW5A
YXJtLmNvbT4NCj4+IFhlbiBkZWZpbmVzIHNvbWUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gbWFjcm9z
IGZvciBBcm0gaW4gY29uZmlnLmguDQo+PiBIb3dldmVyIHRoZXJlIGFyZSBzb21lIGFkZHJlc3Mg
bGF5b3V0IHJlbGF0ZWQgZGVmaW5pdGlvbnMgdGhhdCBhcmUNCj4+IGRlZmluZWQgZm9yIE1NVSBz
eXN0ZW1zIG9ubHksIGFuZCB0aGVzZSBkZWZpbml0aW9ucyBjb3VsZCBub3QgYmUNCj4+IHVzZWQg
YnkgTVBVIHN5c3RlbXMuIEFkZGluZyBpZmRlZnMgd2l0aCBDT05GSUdfSEFTX01QVSB0byBnYXRl
IHRoZXNlDQo+IA0KPiBZb3UgaGF2ZW4ndCB5ZXQgaW50cm9kdWNlZCBIQVNfTVBVLiBTbyBJIHdv
dWxkIHN1Z2dlc3QgdG8gd3JpdGU6ICdBZGRpbmcgaWZkZWZzIHRvIGRpZmZlcmVudGlhdGUgdGhl
IE1QVSBmcm9tIE1NVSBsYXlvdXQgd2lsbCByZXN1bHQgaW4gYSAuLi4nLg0KPiANCj4+IGRlZmlu
aXRpb25zIHdpbGwgcmVzdWx0IGluIGEgbWVzc3kgYW5kIGhhcmQtdG8tcmVhZC9tYWludGFpbiBj
b2RlLg0KPj4gU28gbW92ZSBNTVUgcmVsYXRlZCBkZWZpbml0aW9ucyB0byBhIG5ldyBmaWxlLCBp
LmUuIG1tdS9sYXlvdXQuaCB0bw0KPj4gYXZvaWQgc3ByZWFkaW5nICIjaWZkZWYiIGV2ZXJ5d2hl
cmUuDQo+IA0KPiBBRkFJQ1QsIHlvdSBhcmUgbW92aW5nIGFsbCBtZW1vcnkgbGF5b3V0IGRlZmlu
aXRpb24gaW4gYSBzZXBhcmF0ZSBmaWxlLiBTbyBJIHdvdWxkIHNheSBpdCBleHBsaWNpdGVseSBy
YXRoZXIgdGhhbiB1c2luZyAiTU1VIHJlbGF0ZWQgZGVmaW5pdGlvbnMiLg0KPiANCj4+IFNpZ25l
ZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPj4gU2lnbmVkLW9mZi1ieTog
UGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBIZW5y
eSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+IA0KPiBXaXRoIHRoZSBjb21tZW50cyBhZGRy
ZXNzZWQ6DQo+IA0KPiBSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNv
bT4NCg0KVGhhbmtzLCBJ4oCZdmUgdGFrZW4gdGhpcyB0YWcgd2l0aCBhYm92ZSB0d28gY29tbWVu
dHMgZml4ZWQuDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IENoZWVycywNCj4gDQo+
IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:04:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581873.911311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0eP-0005tt-Bu; Thu, 10 Aug 2023 08:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581873.911311; Thu, 10 Aug 2023 08: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 1qU0eP-0005tm-93; Thu, 10 Aug 2023 08:04:09 +0000
Received: by outflank-mailman (input) for mailman id 581873;
 Thu, 10 Aug 2023 08:04: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU0eO-0005td-5Q
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:04:08 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 798c9ffe-3754-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:04:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7646.eurprd04.prod.outlook.com (2603:10a6:102:f3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:04:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 08:04:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 798c9ffe-3754-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YxFjPyZQG+9NrIFwpo5Y16j5VZO9FGA1CvdpfUhi6NkRhsE+1PEiDRTSBf5BaqGNcZET9Yaf0Z7cE5WMMWxb5BglwbuZgCjo4FT6yTMm5OhgU153peB2YXAm81U7SMKmvFa98bv2J/URn4X3Bl2HvIWA5xfbwv6o80v3vIdTIiKFepSjjZa1Fu2teEyQWLyTm78yXGk+/ylhiU7HH+ZPh5ANlit07OwOHk7U5+OEVXAyOimNqBN6NizoAr2U9Llu1Z5WWV0CvKQ5phX03KdjesQkZTfwfvhdIsNdpEOjTzBzlq11QL1v3h+ha+twphcMp1J0Y6+1Dv1Op+HBiMbC+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=PUc532/w6szC+JEuVUjiEnOWawjebcTbX3zIHF8+2PE=;
 b=R9SnGjegpLubivQjrK6VAewWlveoE2tbSRMkUeMYjgR+ObTgpciVBwDmg1fvwLskFVnpGATZD1tB3gnXmi9f2gR1pAe3Y8SluHBkz4fFMCm/f+ge5CZqFVGSTHgbgtHOMAt645rj1r3xNiMLbitOk5TzDdycAIi/gUJPks7ueSgrZ5gkWo19V7wZBytNzlZLwjRII4dxKj5dYhPbYw6/G9chS+j08lR5JUpyGgdvRH1d0MPPoK+eXy5JAB/4K4ym1JL1N82QBJgGWjKnrkDgrVoeRra1KnEAPqTO10IjWyWbKNxJFPaCxZaBZOb3VY3gAym9vZdSAr1XWMc0pbkvSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PUc532/w6szC+JEuVUjiEnOWawjebcTbX3zIHF8+2PE=;
 b=lqzmF2e6HYMKqUKOPZyJBDH0Shjupmor56Rm6r4SaFsGYIY4tDSo6w2GvAlvg4EYCw69LG1LxlelFprWlKryuJf+RooGUV+BjGK43KvQ5rXjbtuWm2BiZYQ7q/xkYqUNxPo9bItjmaqI3qSNy7sWtgbIMgv5ynaxWDzXjQhnk8GXzHJ4eRnAfR+2kR2H3rFlh0+kyE6qSp9SbFj2p58/jZxwcc7eVN6pDENo1xBmHX6ySZg4U7JV4sMO6mZS5A+oOwslzV5qAFnIFhUJVwxCiKE8g0AQkjlHjQk0M6Bx+BHYbzzrwXNITxpoUnjM6G583/04XIYXv2tRmXASU7H0uQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ec6b9b1f-71be-ea88-3a6d-ce3c17afeee8@suse.com>
Date: Thu, 10 Aug 2023 10:04:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 5/9] xen/ppc: Define minimal stub headers required for
 full build
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <9cd545a4a9ef55d06ea0b81044e22f64ee42823e.1691016993.git.sanastasio@raptorengineering.com>
 <aaabc5d0-aa69-5c30-8e49-635537868346@suse.com>
 <21365276-8338-12b9-b3b8-2a222e7eceef@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <21365276-8338-12b9-b3b8-2a222e7eceef@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7646:EE_
X-MS-Office365-Filtering-Correlation-Id: 39327daf-dc5a-44af-9397-08db99785c83
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uWUKMIrAGJycmAnnllomA0uLfqRtvV8DgSLMnGsY14AD4jI1tJGmP9R8Jhh0rhREksyC3GDO0bS4q3qrLFNtuh+a+hNS9u0lWjyOlxkkW15HQVzZXqm8mhmGDYhJn+UaGYx2ML9FOZwBI5O+ba6UfQ0Nlf8IRQamfUp7kLt+KLgDTWroTqxqd22pQq03qDDqzeOY157Sd96veE3cJPajXmwXZkIh1g/EOK7HQJuTwUysarKqa9cnRLA6Pb9T4+ekjLzdulpzcQOP5AgKbcLoOeaQP6eV9VlTjsIckUiNjuibjkmFwB3KkNPs283VY0Uf55xoHvDNxiGemgQu8Gltm4Fs7GZQiu6WVi9ImHQ7Mpc83jeJoHs5y/THxBpjqDLDL0VXm2IaCG4pdegBZ8wgz51kyZk/s5651vcmblMjV2UdRnM2C/s92ECrzJzyqhtH3VIe9tt1sOXO4sEDQ7Ww7sfKoZ063RM54HoCKre18DKIpfkkKqQxv8075BzD3Uxh1FTYq88ECmF2jsOfo46axMRRUNqoYd8rqxCmsCZP8uUTcjoXPY3tXkUzbOulVuXgW8Weq0xjKp3i9QRmTmgNiV3PKL3kERerWq8cCm7SkENIYv+ClnrdzbTbfueH4SoMOy47AoR0epNN165Ncfn9+w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(396003)(136003)(346002)(451199021)(186006)(1800799006)(31686004)(66899021)(86362001)(2616005)(36756003)(2906002)(66556008)(8936002)(5660300002)(8676002)(478600001)(54906003)(31696002)(6506007)(26005)(6486002)(66476007)(66946007)(6512007)(4326008)(41300700001)(316002)(6916009)(38100700002)(53546011)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXNEVEtTTzBlbGVOUlIvMDJvYjhBY1pTL3dQc1hOcGsza3g0bXZpS0l2a0U3?=
 =?utf-8?B?aDlYYXplRTNnanlCa3E3M0JlQWxWR2lEajdncHN2a0hWOHNRK09maEs1Z2Zx?=
 =?utf-8?B?NENYSkVsL0Jibnp5Y1o0b2swRGRKcVdMSTEreDVPTlVEVWdTYTVGekYvVnZs?=
 =?utf-8?B?elFuL3hLZ1MvbVl4NUxWWjRRcStEZFBkSks3NnpiblYvYkMrMndhWGQzR2tF?=
 =?utf-8?B?MkJ4OUhZSmFPQ2MyYXV3OVNQMFFGMXIvM3d5TEVUU29XeHhsZWZRZFYrU25q?=
 =?utf-8?B?YnNDWFVCOUcvanpKSjFlR1FYOVVBUFJrUmhUblhDeE5EUXJ3MldIelpaZExo?=
 =?utf-8?B?L0ZIbzZsc1hmNTZhQzZQUGt0Mi9JTWt6NHJ3dEl2aThCbVRSdUxIdEphU2JH?=
 =?utf-8?B?ZnRJZlpuZEltM3QxWGxIbEFBN3JSeTRJM3VsejlPN3U4cy9IZ0JoTnpaL2h0?=
 =?utf-8?B?Q3RJbVhIYm1BQ2tOeTB1VzlwZEJ4MEVwRGhKN2RNRnB2WXU3RUVwaHF3dVhC?=
 =?utf-8?B?NHN6ZkFvaUJDYm9NZkhFV1M5R0oxL0pxamx6cDlzUFNEZndTUzR0MnNqaVZv?=
 =?utf-8?B?OWxRbjNuSUZyZExkRktJUEVERkFGQVVmblEyZHAwdU00cUpoVEs5VWJCVlVI?=
 =?utf-8?B?dTk5eHF3WXpWNEN1dzJieGZkY0R5RkwyYXBOdHdwOVZZWVhYd0QxaEwyb0dN?=
 =?utf-8?B?c3ZiUFdadEtEaHZ5d0d4bHN6ZkVvRk1Lc1JDSTlubHBsNEM1emxGQW15cWZm?=
 =?utf-8?B?RU1ybWVWdGs0WlJPeDg1K2FwN0s3NTEyS1FQVXJXREk0d1VhcFVHS1pIUGhN?=
 =?utf-8?B?ZVlydWtiVnZVK0RDSlNUdTNndHIzTUZ4N2ZoY0Z3akx1YlRpb3ZUODVUUklQ?=
 =?utf-8?B?MytnQ2dySXVUalpaS3VHcnB5NFIxL3Z5RzZTSmtxeStwaEhCMGlBY2tBMjRm?=
 =?utf-8?B?c3NsRzFFTkRSWGRCYjZMenlQc2NJanNmV2ZOallXWVh0a0c3enJtSHBlVUZz?=
 =?utf-8?B?aDliZkJIVkNDYUY2QnBFN2xiSkprMDZBRTIwRGl6MVNLRTRFZ1J1R3Zub29S?=
 =?utf-8?B?aXZuOWFYZ0x5UGYxN1JlVk1PNDZ2aHlaK2lJVEwrVXVRVUJvTG5SaE9RL0tY?=
 =?utf-8?B?MnZkSVRoZlJJZVRPYzdqYWNvVm9Ea2s0NGtOeFdWclZVQ205RXV0RUNYUUdQ?=
 =?utf-8?B?cUFsV3A3REZvMERGMTJpV201eHhxMnh2ZmhPblJ6bDVTMmlWL09nZ1NGbmcz?=
 =?utf-8?B?ZldFa0RKNVhZc3poaEVFSERhT3hOR00xQ21DQ2FLUmVXdEFUZVVPY1BrQmFs?=
 =?utf-8?B?TzN5dVVsUVI1c2JqbDk2dXQ4WTVJNE5TSGZJTnZ1T1o5Ly9nTnRIVTFvMmd1?=
 =?utf-8?B?S1JNWFQ1bFZTZTNEQ3hDR1VEM2I2UXJLNHZsTHVwQkRQWFdpSDNTZXpTWDBh?=
 =?utf-8?B?OVZpeTArajRHbXRKQ3NPRmZqZzVUeldvY0ZnZGtVM0pvM3dCeGdVSmRJMkR6?=
 =?utf-8?B?dFpnOG83djlidnhwR3dJTzI4OGF0ZjVVQ0hJem5mMHUvRVhSOFk4NDN2UzBz?=
 =?utf-8?B?R3dlUzRkR2NjVUQ1RDNqRW45Z2NFQXVKdGxwdWdKWUJtMXI1aXpLOVpwQUk0?=
 =?utf-8?B?V2g3UmlqZ0RYaUhnRC9ZY0VmSmdCYTgvL1hucGVBUExwcy9mVzZhNDJ0d08w?=
 =?utf-8?B?eEhXalQ3dHB1c1RXNWhzSEwwZ0xROXJoRHJnS1dRQXNsVHNzUnhjdHg3THI0?=
 =?utf-8?B?QmJjVDZjR2NhcHh4U2M5THE0L21Dc0NKUDMrUWY1TWwveUxGSkJzK2pWMVky?=
 =?utf-8?B?aGtjSmlwMlpNaVJIVFl2dERnZVNTcVBLZEZpbWcyWUIydkNld3pkQURpL1pt?=
 =?utf-8?B?VU1IOVVCY0hvNFZkUkFrRkNCSllaMHJVMlZqbTh4NFdsT3ZSeTVzbDVrZWxU?=
 =?utf-8?B?UmFVUWZwWkdpSHk4M0VvZ0hNbjNROGxoSE9iem95Y28vZlFESDRkMER2M01Z?=
 =?utf-8?B?S1UzODFEdTQzcGhiZzBhSE8yZUdhbTlEWUcyN2I1VVN5TlRubWtONnhkckw3?=
 =?utf-8?B?aHE2SzZVQWF3SVIvMC94VmNUVzhvOWhVdUUzd0c2Wm91MytCYURYTE5SVjBY?=
 =?utf-8?Q?OuQiRP7t0K23r2/tfxzv16xLS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39327daf-dc5a-44af-9397-08db99785c83
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:04:03.1722
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oVRit6EkfkTFAxVs2utsI27aIJPgvFEkHDhyrBmANF7Sh0qnGK8p1HSg1oEx+CWziQ1iwrOBjySs59YpWb0Asw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7646

On 09.08.2023 20:41, Shawn Anastasio wrote:
> On 8/8/23 4:12 AM, Jan Beulich wrote:
>> On 03.08.2023 01:03, Shawn Anastasio wrote:
>>> @@ -15,4 +16,10 @@
>>>  
>>>  #define BUG_FN_REG r0
>>>  
>>> +#define BUG() do { \
>>> +    die(); \
>>> +} while (0)
>>
>> This looks like it's temporary. I think any construct that later needs
>> updating wants marking in some common way (such that it's easy to grep
>> for items left to be dealt with; you have such a comment in e.g.
>> asm/event.h). Of course if an entire header consists of _only_ stubs,
>> perhaps a single such comment would suffice.
> 
> Yes, agreed that this macro deserves a TODO comment.
> 
> As for the rest of the stub functions that this patch implements, are
> you suggesting that each file with stubs should contain a similar
> comment?

Well, each one needs to be (and remain) easily identifiable.

> Another alternative that I thought of would be to define a
> BUG_UNIMPLEMENTED() macro or similar and call that inside of all the
> stub functions.

I like this. Or maybe BUG_ON("unimplemented") could also be an option; not
sure though if the compiler wouldn't complain about the resulting
if ( unlikely("unimplemented") ).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:05:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:05:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581878.911322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0fv-0006Sb-Nx; Thu, 10 Aug 2023 08:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581878.911322; Thu, 10 Aug 2023 08:05: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 1qU0fv-0006SU-Jo; Thu, 10 Aug 2023 08:05:43 +0000
Received: by outflank-mailman (input) for mailman id 581878;
 Thu, 10 Aug 2023 08:05: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=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qU0fu-0006SM-Qf
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:05:43 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b23628a8-3754-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:05:40 +0200 (CEST)
Received: from DU2P251CA0023.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::35)
 by GV2PR08MB8656.eurprd08.prod.outlook.com (2603:10a6:150:b2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:05:37 +0000
Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:230:cafe::b) by DU2P251CA0023.outlook.office365.com
 (2603:10a6:10:230::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 08:05:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 08:05:36 +0000
Received: ("Tessian outbound ba2f3d95109c:v145");
 Thu, 10 Aug 2023 08:05:36 +0000
Received: from b37406533283.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5159D727-7F3B-4A80-B3F6-A1440D0B9B4A.1; 
 Thu, 10 Aug 2023 08:05:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b37406533283.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 08:05:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PA4PR08MB7522.eurprd08.prod.outlook.com (2603:10a6:102:26b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:05:28 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 08:05:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b23628a8-3754-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JZD7CLFAqUvED8V61Les8HdNJWRfoQwW8H68dSyjoIw=;
 b=1VF3NtHXCmHQ0fqIW8jqJxTzKH8inJ3sOxed9ECBZhW4Q0Iixb6lOkahB1Z3gHx/mILRGw1OWIWZUtL3VeSvetR1W4lzvquyDcIsSOOpB6IiWjrXRacyi+6IHhgy67oJrXo3wkHo6KPGbmO1LoAJNy/W/UxNyo5dRWRIQZvaHoc=
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: d6213792cd2192da
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C4vga6U14VwxOaE2uXhK3hPiWiLBY9bB95HI86X1jntBJXFAYhmo8lYq4LFlEQSbhLE+TecV2xkzg7n3H4rnhr/3wH49mmR+5C/nJf6Qix86xieqcySQ74Fr4ItooWLNZJCzdzmQSZTtDxfhB1ct+/BA8g83aw7woFO3lCQJDXya98y8CrMPVDhPUNqziMsiS+yHngnKtgHfT9RFzMJYQJ4hph/YlVniNO+UpYyBSsZI/kUXCqef3Pmg2/0tYN2k85vZvvMsJQwh1YCqp5dk+7NU5KB5aDXasv4EbyMX+fTigf33gcrkS4coYl9zW8FgS106ufqmyf1nISM1x5Gihg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JZD7CLFAqUvED8V61Les8HdNJWRfoQwW8H68dSyjoIw=;
 b=Y0IGfigGOvu88rI1+5BZvD9LL5jNA1WXND1BoAwQFAa8gcMeOW7pah/wr3dlfpGUgoSZNNr2Jvaesw2AY+dRArVZ+TrqgJbWRlw9W9drgPb8gdAkynwNi5T+0nyiy6rc2ATT/Zcy9yVDWdoReAI7UfGMRE28vr6JGc3ZdJLStKyUvY9nfigSM9uw5Y4ls/Vpq1YceJB8QK7U1NjFK3vW/vTAX1L/STvxFc5iNi2FG9UXGK9zeTlyXCZCtJdE3o3CneLyA2W4rQ2La8OEOEyrRrZGooECs4F+3GXsZ0jMKP7KCC0c7YmNV/UHKmV0AQIZVHWJsjtsGrAx9Kcsis45Rw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=JZD7CLFAqUvED8V61Les8HdNJWRfoQwW8H68dSyjoIw=;
 b=1VF3NtHXCmHQ0fqIW8jqJxTzKH8inJ3sOxed9ECBZhW4Q0Iixb6lOkahB1Z3gHx/mILRGw1OWIWZUtL3VeSvetR1W4lzvquyDcIsSOOpB6IiWjrXRacyi+6IHhgy67oJrXo3wkHo6KPGbmO1LoAJNy/W/UxNyo5dRWRIQZvaHoc=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v4 06/13] xen/arm64: Move setup_fixmap() to
 create_page_tables()
Thread-Topic: [PATCH v4 06/13] xen/arm64: Move setup_fixmap() to
 create_page_tables()
Thread-Index: AQHZxCqVen/+EDcaZkm/mD7lV8P3ta/h8aoAgAFIywA=
Date: Thu, 10 Aug 2023 08:05:27 +0000
Message-ID: <9222878F-E2A2-4881-A984-D76B5A3A4430@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-7-Henry.Wang@arm.com>
 <1307da1d-5d56-4fe1-932a-c384323264ec@xen.org>
In-Reply-To: <1307da1d-5d56-4fe1-932a-c384323264ec@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PA4PR08MB7522:EE_|DBAEUR03FT007:EE_|GV2PR08MB8656:EE_
X-MS-Office365-Filtering-Correlation-Id: f4237f7e-7b41-4f07-c91b-08db99789459
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:
 3wXZKfFq/yh/TXlqH48nwAkbegcKK6jedmTBPko3FhvMmv/3Z6s9346Fblvz0Q3e2YRRDnSz7AAuxfPBCxpCVYsDGh2BpcQW5RXDGZVGtrLyYz1gw30Ooy9SeWdAyNBOzHxHCtUlZmwa30j6gxhnCRwjXYIdyhnOa3Ok6ay+03vVYgRaFVUDh33Nf5XidFFR4wxnCHkYSgqhwUOL2cZ8FYWSnLRJRDwMppXbS4EgfoU70FitA0zrbNCxW8+cjaJFLlKZcLUYDkPjWnZB7LrFjbpffldtGJycrIizQqiJXE4Sz1tFOJxyOabaianZcggzDRSpkZf9JemlJTO/NASi14vONLarfgcxIoLT2xQd6AVGcgH63EBJTvsUjSLGFDBKNIRkI8BnVTMdsQenQ8HG0YmYMHytQbKTbf/fmqigOsTnxcxaMQOpIQt6p8XqHSK2WlwlxikQVxP+hPQ8aD2kwdAP/UmXVDEQ7X2cWrkfAsz0rKrL3xob7+JUdQ6PjUYuy5ex7BgbYTgtU6ux6xe0xQ3qUmkA+rXWbnJYF1aV8pzY4b9LJhT5Gym0z4dRmO98TMSxu9Is8p7H7iFOQVM4dYUIzD2QB08Tz12tF5S7p90z/yBbSGmkU1OWm9yA8QCoc7/iJBI62AlFFqkTDYvE5g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(39860400002)(396003)(136003)(346002)(451199021)(186006)(1800799006)(86362001)(76116006)(2616005)(36756003)(2906002)(33656002)(66556008)(8936002)(5660300002)(8676002)(478600001)(66446008)(38070700005)(64756008)(71200400001)(54906003)(6506007)(91956017)(26005)(6486002)(66476007)(66946007)(6512007)(4326008)(41300700001)(316002)(6916009)(966005)(38100700002)(122000001)(53546011)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <16AE7C9D69CB8548A0EADE0C881F1368@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7522
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	244360f3-4c76-4d5a-2fc7-08db99788f05
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ul4FYMx0Grqk7sHFTfoZf4Z5Qjr4c9yW5IWLN2G0ELreNFoZzPgiQ7ba2ol/6ymccdwraPTvwJ/m2ekrBAzf/cHt9JpO/uk1wxLFY5jAK5GCsgnEpCkHJO1rSk8KFv13oW7QufFzzR+FA+wVqhbydNMd/A6L4jf6vqbr+gEVfZPzXPihYxfuj4ec8DrVFoMqtGYxmZ4wLxPJCFZU9IiTqhL3yvFXXJJmtLiN6tlUN0Br9Nm/WSnsI0oqpDh/faRAnM1LxswIaggpqdvh+Z8H+d6Cft8Y75mbOu3sriUadDcNczI52TojuqK+wk94IeonlnlozT5DUCqR/rrFk64gWw6Y6ebQPOfGMjohSQsk1O0oFXCPs09jHKT5OYyTag9FPOzpMhVy2xUxUPAUMSC/v3YhYsTJ3lK5CyXMcRHkLx2Pnm/Ku625tQdDjVfhFGXdM2Zuj/6HBnZLvBbtagYEFcNv3dMg5Vwy+MKGgSsMxtPX+72CCXTN8wPUNQkZFT6NwI0FYLbrqfXitXTKiP2V8E+92ix+mGRCErj/fawcihPtVrXMnTpPiOE31Azofi0z0/+ZXaDux85b6lYUjI0QvOZQW6BulGu1MTiO7adcw+ta/Ju3MucLSvpo9aOIdoKhnztQ1+QtQYPvslEno9XZHcmkvaSYLVABQk7itD8Zt0kGrvb7HoOtfQ6+V0PRPqozwKMkF26Pwc4ZSk4YR5n85TM96YBoBvchKlNJvNtrHMM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(39860400002)(376002)(82310400008)(451199021)(1800799006)(186006)(40470700004)(46966006)(36840700001)(26005)(6862004)(53546011)(6506007)(8676002)(8936002)(41300700001)(40460700003)(107886003)(36860700001)(36756003)(33656002)(47076005)(2906002)(83380400001)(2616005)(356005)(81166007)(86362001)(82740400003)(336012)(5660300002)(40480700001)(54906003)(70586007)(4326008)(70206006)(6512007)(966005)(478600001)(6486002)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:05:36.6938
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f4237f7e-7b41-4f07-c91b-08db99789459
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8656

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyA5LCAyMDIzLCBhdCAyMDoyOCwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+IFRpdGxlOiBOSVQ6
IEl0IGlzIG1vcmUgYSBmb2xkIHJhdGhlciB0aGFuIG1vdmUuDQoNCllvdSBhcmUgY29ycmVjdCwg
dXNpbmcg4oCcZm9sZOKAnSBoZXJlIGlzIG1vcmUgYXBwcm9wcmlhdGUuDQoNCj4gDQo+IE9uIDAx
LzA4LzIwMjMgMDQ6NDQsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+PiBGb3IgdGhlDQo+PiBmdXR1cmUg
TVBVIHN1cHBvcnQgd29yaywgdGhlIGVhcmx5IFVBUlQgbWFwcGluZyBjb3VsZCB0aGVuIGJlIG1v
dmVkDQo+PiBpbiBwcmVwYXJlX2Vhcmx5X21hcHBpbmdzKCkuDQo+IA0KPiBJIHdvdWxkIGRyb3Ag
dGhpcyBzZW50ZW5jZSBhcyB0aGlzIGlzIG1vcmUgcmVsYXRlZCB0byB0aGUgZnV0dXJlIGltcGxl
bWVudGF0aW9uIG9mIE1QVSByYXRoZXIgdGhhbiB0aGlzIHBhdGNoIGl0c2VsZi4NCg0KU3VyZSwg
djUgd2lsbCBkcm9wIHRoaXMuDQoNCj4gDQo+PiBObyBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRl
ZC4NCj4+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvNzg4NjJiYjgtZmQ3
Zi01YTUxLWE3YWUtM2M1YjU5OThlZDgwQHhlbi5vcmcvDQo+PiBTaWduZWQtb2ZmLWJ5OiBIZW5y
eSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+PiAtLS0NCj4+IHY0Og0KPj4gLSBSZXdvcmsg
Ilt2MywxMi81Ml0geGVuL21tdTogZXh0cmFjdCBlYXJseSB1YXJ0IG1hcHBpbmcgZnJvbSBzZXR1
cF9maXhtYXAiDQo+PiAtLS0NCj4+ICB4ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TICAgICB8ICAx
IC0NCj4+ICB4ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUyB8IDUwICsrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25z
KCspLCAzNCBkZWxldGlvbnMoLSkNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQv
aGVhZC5TIGIveGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUw0KPj4gaW5kZXggZTRmNTc5YTQ4ZS4u
NTZmNjhhOGUzNyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9oZWFkLlMNCj4+
ICsrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9oZWFkLlMNCj4+IEBAIC0yNzUsNyArMjc1LDYgQEAg
cmVhbF9zdGFydF9lZmk6DQo+PiAgICAgICAgICBiICAgICBlbmFibGVfYm9vdF9jcHVfbW0NCj4+
ICAgIHByaW1hcnlfc3dpdGNoZWQ6DQo+PiAtICAgICAgICBibCAgICBzZXR1cF9maXhtYXANCj4+
ICAjaWZkZWYgQ09ORklHX0VBUkxZX1BSSU5USw0KPj4gICAgICAgICAgLyogVXNlIGEgdmlydHVh
bCBhZGRyZXNzIHRvIGFjY2VzcyB0aGUgVUFSVC4gKi8NCj4+ICAgICAgICAgIGxkciAgIHgyMywg
PUVBUkxZX1VBUlRfVklSVFVBTF9BRERSRVNTDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2FybTY0L21tdS9oZWFkLlMgYi94ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUw0KPj4gaW5k
ZXggYjdjM2RkNDIzYS4uNmJkOTRjM2E0NSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9h
cm02NC9tbXUvaGVhZC5TDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUw0K
PiANCj4gVGhlIHNlY29uZCBwYXJhZ3JhcGggaW4gY3JlYXRlX3BhZ2VfdGFibGVzKCkgbm93IG5l
ZWRzIHRvIGJlIGRyb3BwZWQuDQoNClRoYW5rcyBmb3IgZmluZGluZyB0aGlzISBZZXMgdGhpcyBz
aG91bGQgYmUgZHJvcHBlZC4NCg0KPiANCj4+IEBAIC0yMzEsNiArMjMxLDIzIEBAIGxpbmtfZnJv
bV9zZWNvbmRfaWQ6DQo+PiAgICAgICAgICBjcmVhdGVfdGFibGVfZW50cnkgYm9vdF9zZWNvbmRf
aWQsIGJvb3RfdGhpcmRfaWQsIHgxOSwgMiwgeDAsIHgxLCB4Mg0KPj4gIGxpbmtfZnJvbV90aGly
ZF9pZDoNCj4+ICAgICAgICAgIGNyZWF0ZV9tYXBwaW5nX2VudHJ5IGJvb3RfdGhpcmRfaWQsIHgx
OSwgeDE5LCB4MCwgeDEsIHgyDQo+PiArDQo+PiArI2lmZGVmIENPTkZJR19FQVJMWV9QUklOVEsN
Cj4+ICsgICAgICAgIC8qIEFkZCBVQVJUIHRvIHRoZSBmaXhtYXAgdGFibGUgKi8NCj4+ICsgICAg
ICAgIGxkciAgIHgwLCA9RUFSTFlfVUFSVF9WSVJUVUFMX0FERFJFU1MNCj4+ICsgICAgICAgIC8q
IHgyMzogRWFybHkgVUFSVCBiYXNlIHBoeXNpY2FsIGFkZHJlc3MgKi8NCj4+ICsgICAgICAgIGNy
ZWF0ZV9tYXBwaW5nX2VudHJ5IHhlbl9maXhtYXAsIHgwLCB4MjMsIHgxLCB4MiwgeDMsIHR5cGU9
UFRfREVWX0wzDQo+PiArI2VuZGlmDQo+PiArICAgICAgICAvKiBNYXAgZml4bWFwIGludG8gYm9v
dF9zZWNvbmQgKi8NCj4+ICsgICAgICAgIGxkciAgIHgwLCA9RklYTUFQX0FERFIoMCkNCj4+ICsg
ICAgICAgIGNyZWF0ZV90YWJsZV9lbnRyeSBib290X3NlY29uZCwgeGVuX2ZpeG1hcCwgeDAsIDIs
IHgxLCB4MiwgeDMNCj4+ICsgICAgICAgIC8qIEVuc3VyZSBhbnkgcGFnZSB0YWJsZSB1cGRhdGVz
IG1hZGUgYWJvdmUgaGF2ZSBvY2N1cnJlZC4gKi8NCj4+ICsgICAgICAgIGRzYiAgIG5zaHN0DQo+
PiArICAgICAgICAvKg0KPj4gKyAgICAgICAgICogVGhlIGZpeG1hcCBhcmVhIHdpbGwgYmUgdXNl
ZCBzb29uIGFmdGVyLiBTbyBlbnN1cmUgbm8gaGFyZHdhcmUNCj4+ICsgICAgICAgICAqIHRyYW5z
bGF0aW9uIGhhcHBlbnMgYmVmb3JlIHRoZSBkc2IgY29tcGxldGVzLg0KPj4gKyAgICAgICAgICov
DQo+PiArICAgICAgICBpc2INCj4gDQo+IFRoZSBEU0IvSVNCIGlzIG5vdCBuZWNlc3NhcnkgYW55
bW9yZSBhcyB5b3UgYXJlIG5vdCBtb2RpZnlpbmcgbGl2ZSBwYWdlLXRhYmxlcy4gU28gSSB3b3Vs
ZCBwcmVmZXIgaWYgdGhpcyBpcyByZW1vdmVkLg0KDQpTdXJlLg0KDQpLaW5kIHJlZ2FyZHMsDQpI
ZW5yeQ0KDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:08:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581885.911332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0it-00075W-57; Thu, 10 Aug 2023 08:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581885.911332; Thu, 10 Aug 2023 08: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 1qU0it-00075P-1d; Thu, 10 Aug 2023 08:08:47 +0000
Received: by outflank-mailman (input) for mailman id 581885;
 Thu, 10 Aug 2023 08:08: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=zCzd=D3=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qU0ir-00075H-TF
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:08:45 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18a39fb5-3755-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:08:32 +0200 (CEST)
Received: from AS9PR06CA0021.eurprd06.prod.outlook.com (2603:10a6:20b:462::27)
 by GVXPR08MB7751.eurprd08.prod.outlook.com (2603:10a6:150:7::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:08:39 +0000
Received: from AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:462:cafe::21) by AS9PR06CA0021.outlook.office365.com
 (2603:10a6:20b:462::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 08:08:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT023.mail.protection.outlook.com (100.127.140.73) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 08:08:39 +0000
Received: ("Tessian outbound f1e964b3a9be:v145");
 Thu, 10 Aug 2023 08:08:39 +0000
Received: from 76bc1988541f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6C664300-1F04-4199-A3BB-820C38645FE2.1; 
 Thu, 10 Aug 2023 08:07:58 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 76bc1988541f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 08:07:58 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB8158.eurprd08.prod.outlook.com (2603:10a6:20b:54f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:07:55 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 08:07:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18a39fb5-3755-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DHgmFEnPHnSNPWliSz2PwyHZIWmcUEcvkSFnMNbuE2o=;
 b=ilLL8wC6Qb6qLo9M1JhZPOZAZckOcTVrD+asL9Js6uey7HfnRE12nsSV6jdWneu0N0I1TXWn79EK46oHtTSIy3vglhjV6Fe/NI2AVd3Mboi6dMYSP1NSTuCzQDQpW2mWUEgfu2voipxCWEzdqEYuJ36qW9lwiV4mVSNSZBOGGKU=
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: a41979c26f847496
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KG0tdp4NEnRbcWmVLD5gUrsK/CcG0cXeCm0Sl/o/GUQc2WDWZzoMt+sKWfW0veZJB2qt13EbwzIEpa37oo6RCuxZIzD5WcrZ4Vn2jC0b+gd/Yw9/CcXkxAkQwKiCojV036dnLDpfIIdgMTBSg1jPimvgjMgcdeCwDkpkYrNcYlgySvxqGl5rWxBGQ2wBc6+SCWhjOUy09hAoZ2skkwXUyidepp4wIzS/1wcKvK+op8bzFhyscsXNmGUiR48TX447mfp4dcAxC3YBpSh3GrRXOicwuIDH5c6Gllw9Jhb9wWKn/eKytZlHEDuST+eoM+62DfSWBfJK+8xB/ZyrT+QUKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DHgmFEnPHnSNPWliSz2PwyHZIWmcUEcvkSFnMNbuE2o=;
 b=NEcAPw9aUkBgFIJ9gaSUM56RDdlBubXpsTBTKA9zc6JTeyacXMpjerLFBAtAlg1BkVXW7uMvCbAq/V+OMALBqVKyWaykI50PMLfCtThM2QKdGyQBifBSo0456Tlrko//qinOWlruTnh/Y5Qkc177kV2I9d/X6aFHkb7wUKljV7CPt4MrAK9FG27l7X4umUsS4myBYYY1mhh/RprWL8X2tdvWLiZgf78StKY9ZPACqtpOThMj4YZ5J36xyZMekta7q2cRV5xE+L8HNxplcusYWfJDhkcDWG7SLuwNOMc6eXeeLWGooMxPmbUxx0KbzoMJEygIQc7sonia9FX8fB8Exg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=DHgmFEnPHnSNPWliSz2PwyHZIWmcUEcvkSFnMNbuE2o=;
 b=ilLL8wC6Qb6qLo9M1JhZPOZAZckOcTVrD+asL9Js6uey7HfnRE12nsSV6jdWneu0N0I1TXWn79EK46oHtTSIy3vglhjV6Fe/NI2AVd3Mboi6dMYSP1NSTuCzQDQpW2mWUEgfu2voipxCWEzdqEYuJ36qW9lwiV4mVSNSZBOGGKU=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Chen
	<Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Topic: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Index: AQHZxCqigu1wJWpVm0KnP9vpRTw2qK/VD2mAgA4rvQA=
Date: Thu, 10 Aug 2023 08:07:55 +0000
Message-ID: <0A1CB23B-6597-402E-8420-26C908A13ED4@arm.com>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-14-Henry.Wang@arm.com>
 <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
In-Reply-To: <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB8158:EE_|AM7EUR03FT023:EE_|GVXPR08MB7751:EE_
X-MS-Office365-Filtering-Correlation-Id: a084057b-638f-4ad8-f631-08db99790139
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:
 Zp0dFhVnwHfx+oTsKSHTkJykPybbrJkYi42qUenR0599bWP1GUd1JgtPdFrpnYIuNPfRFyrJQwtyTkpJp4d0V3T3CBdt0Jg8fo+kFAq+XnoVLv2bT9aea1PEqYbtfnsKaoYJnciAngenehTQCCYg2KN8qS07Zx1SJD992AT4yXHBU/WKjSNDDKWGrthXYCiW2vskw7z/auyLa7MQ4oJWzCIR2NtlFJooicR+4YEni5Cz66Gf/ZVsCfvdQvpPyxZHKdFo4oawyqKW4oYTEPYh1llIqSpJJxjau/PthmF51dWjDQEO+SP5HZe9ZbldLMNVSqvKowmda+Rn5l9W46/B3Jq4RdsmafMPZPbRWXobnAmtSpDDDKnLeIXoqnlawH+19afuIBCTMv7ufzIIW+eW84xwX1rp+/ItJkGCQ7wXECHQzEcbIklkREtKMLFsLaVzs6Pz88nGi6JIE/IdeNaX6kwOMsxUfLpJ4/o+5Rp1xbY9V1rtpFqPqNabXJEP2SiZtSUh689a9cosSnmidSE3Uylkpx6+NHD6hJscHQQe871/wPCO3v746tTQsVp0Gv+RhaiVe7nvfUXJR676CHyRo3VDbg+hMusDcumYJNmfusaDlmbwi+pFrGYyo7ymYfAj
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(186006)(1800799006)(451199021)(6916009)(91956017)(64756008)(76116006)(66946007)(66556008)(66476007)(66446008)(4326008)(33656002)(966005)(6512007)(478600001)(41300700001)(36756003)(316002)(6506007)(53546011)(26005)(54906003)(8936002)(5660300002)(8676002)(86362001)(6486002)(38070700005)(38100700002)(4744005)(71200400001)(83380400001)(2906002)(122000001)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <2A96DB6FF701DA4E9F4F46922EFE53D9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8158
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:
 AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	77182e12-d1bf-4ebb-5bf7-08db9978e6fc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eggvb/e9z4mNfHHTEpts1idldy/T04AJDs7DlQ4ZshIoza3uotg+YDkr5/GfVMEOpSTqXvQy3eo8we1FmJHQwFMm1QiLZKWhDX7P8ugeq4Wu4n5rS2edRHLIXzY8xvZHWbxjT31zFbZukgKkiprEXeoX0XoSaUWMwdVLNGsMVUtBBCNd0EjhgC6AppLywO8Xnq78H7gnMPQoqIh5XYC40vgSXvDrIkHv+A8TTJALYTLC7XCaA1FRyf3WkAB1Svl+cCJo1d8zbKrqX9SEqFqky0YKfBwOGblnt+FFzwmZxh066KyCspunpmdwKbRB8M1PaCI+aePXYV8gkw3ePswWANlbch7DXSrE0IPVxgDPC+i9L6mRJQ5/xvymFI3UiZzWVMIGBR0lbaGvQBvx+3b03I+Y0f2YZ+AVRmtgHuYeYsXZL8VLegKcxuGtk5vre3eWS7iJmajZfQkp/OWqB6MJNYLQ0IEqGKKm1OUQZ/k0emIHmUvvRWe1Xk38d1IaPIJSqYLHWbG8uCsT3BLu/dP/jD1ZXKEWN4IPeKn8KzlVoWwgdvreAKkalEfnUww7mJuT/2AJyCOXe7H4JTgNSG6dNFhzUOeB3Mh8fKp5eY6zbjrCdLuPytM15DuQT6CgFw6ozTeE1rFZgO/KKSi31zF/i6LXUH2RS/tL4KqMPms3U6o/CI73DQlXDGRIGzL7Q84DeWyfJ8pSqpkfd8gk8owxz5g5dtWrhHjzyrH8cMtVMQk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(376002)(39860400002)(136003)(1800799006)(82310400008)(451199021)(186006)(36840700001)(46966006)(40470700004)(40460700003)(4744005)(47076005)(83380400001)(54906003)(2906002)(6512007)(53546011)(336012)(966005)(6506007)(33656002)(26005)(36756003)(6486002)(86362001)(478600001)(40480700001)(2616005)(70206006)(8676002)(8936002)(6862004)(70586007)(4326008)(316002)(81166007)(356005)(5660300002)(82740400003)(41300700001)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:08:39.3256
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a084057b-638f-4ad8-f631-08db99790139
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7751

Hi Jan,

> On Aug 1, 2023, at 15:43, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 01.08.2023 05:44, Henry Wang wrote:
>> From: Penny Zheng <Penny.Zheng@arm.com>
>>=20
>> SMMU subsystem is only supported in MMU system, so we make it dependent
>> on CONFIG_HAS_MMU.
>>=20
>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>=20
> While entirely Arm-specific, this looks to require a non-Arm ack:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Based on the discussion in [1], now CONFIG_HAS_MMU is agreed to be renamed
as CONFIG_MMU, I will do the renaming but I would like to confirm with you =
that
if I can still take your asked-by tag with such change. Thanks!

[1] https://lore.kernel.org/xen-devel/429625da-ec4f-448f-a0c4-47ca0f62f395@=
xen.org/

Kind regards,
Henry

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:09:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581890.911342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0jC-0007Tq-HN; Thu, 10 Aug 2023 08:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581890.911342; Thu, 10 Aug 2023 08: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 1qU0jC-0007Tj-EC; Thu, 10 Aug 2023 08:09:06 +0000
Received: by outflank-mailman (input) for mailman id 581890;
 Thu, 10 Aug 2023 08:09:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU0jA-00075H-FM
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:09:04 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 247d56dd-3755-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:08:52 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9078.eurprd04.prod.outlook.com (2603:10a6:20b:445::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:08:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 08:08:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 247d56dd-3755-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I5xaKSsFUzB1tHUZfRRxFQCk+LN7iskJspXw9Rn44cAXfglic5leSctAc2nHkcvtfEwU29utvv3D3gxga7BovVKNcNxQlDXqt6zVbwRP0DWfZrOXX+NIDx0ywKIoIdRab491bG6uHB/HsF+4ScB+effi4eSZazJAyN0OqdJ/Bbe+VXOicCd8ybGbpUKLJqwRQdTYkGdDbEnXQkM6I6gYQu7DALfOHiae195ODZNap+HuUuJV3xJUrUDVkgTxSni8CidCs2v+qLuu5am2MG/JiVn7UwSX6Fvgjc0i8G7sDHdBsxGFgDT5hYXzF4oUoU6b9YAMisthQ6ZhRLAzXxOoMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VeqaQGm2SvFd1mSvQd1T0j7R+k314rTD9k3Q+ZG/iqY=;
 b=nPUm5OOPLSUzBdStMBhPKjb2KvxvoKPG+ohwtgXHfc6PxZ53oFyOtB24hBO0L+HVXGrmd7QEO+nqwvuWT/oGd4ZrvaQSb9VjG0++gyRl0Xs8jTxQPFh9dSrinIVUQeUHMOaaHcdUaN+HWYjlmuwDRhXM1FGDj/F0jYT+PEdXWrRBsfTLmJZ2OFvyY57BAn+OcR6KyJv5Siytv+rxha6ortxVDCJZctKzEtItJLxjQSKsAYZONsiWOXpgfaRE9Rh7PuMfxF8nCuoiLSvG1aqcY3RTR5JvD5ECL/8ElBcpBDN8HbKjZNA0Cr4s5ZYYmDHHAfRTiL1y9GUoT9vmeCxkXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VeqaQGm2SvFd1mSvQd1T0j7R+k314rTD9k3Q+ZG/iqY=;
 b=ZLKXhLyQxBW+N5w98lgFsfPg1DX4zQ4YtTcgQlgnZs4xsTkyNEkzyuc8gxE8HsB+TDPQjUsykok6Bm5ssRAPA/bYtgx+KEFggVhEQ/DnJxKnU2is3oNq1lBblfWz7xx1OtnRQAJ6yXY06ZHlwsOk6f76uh4HfCpinvwYqYmdTfg+K/6zWlPu/fdrGt6wmUFjMLm2Oil4Jws7jKtdCmDPEti8KhKJ20e1nMtyYvNrlYFHZ7EFKpXuWJA0HPg2pblF4J4Bgzfiy/BfE0ezC+N8nizNahcI4n9uZTmyfkzEg3O+pFXPnLWAk5kiImlQKY+eUGhPEHlLeiZqbR1/O4ly6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9743391f-3b89-ddba-1c79-ddbb1d143437@suse.com>
Date: Thu, 10 Aug 2023 10:08:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH 5/5] xen: Add clang-format configuration
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-6-luca.fancellu@arm.com>
 <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com>
 <394778DB-2D5E-4C52-9DA1-F23A530534A8@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <394778DB-2D5E-4C52-9DA1-F23A530534A8@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9078:EE_
X-MS-Office365-Filtering-Correlation-Id: 7be0eaaf-ab76-4a08-c6b6-08db99790d48
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MNL/Epfttm+//OvdpbKpp51QxS4giTUdYLzdX7MyemFasLF2IKItRxTKO5wec8YDLK4gWELT/lGZEE4/j2bTctDFj4BKOilrSyC6MpbvaadrjxC2KxdEn6Heho5qYG23OANkakUseKAaGKOD24OoTBfKqbJsV147Lz8/hhgPlODNBDzboauV9snVevgbX8ercK8sxhfx7X3+5cFu343wXBrUzozpl4TBDvtCRWwFneYRTJU8ngIvU3ldDxgBe7f+xRpSqj4eC6Cz5mpR+F5fopCU/PeqTV4n0DeCQWGGn4ISX4RHVnGIQNzHFk8e/G/+YHG54qzEoXLbTJZy6GX9WWuz4GT5wA9cdUVViI/aqwjndhDgAarz5OJI4TYwXXJz71xTSGP5th/m04qjlT4/Zau9XJLH525odG/KR3d47SQdhKliYBqGcVNZOZuoyKqIPNAW9vkeEVd6QlIgjKeTZYVhizJEyhxmSmB4Ay9lO6oKty41wGxFw4fDOknlmFCPE7Clshp4fYZUTTXbJJ61Zt2N+RSluwc+GNdXwczNMU2v1F8zTPOrjs+ZRLUgkAaJ+1pdJR+LbrrxUf89itRuldpIYmBBC7WRzNI/HsbzeUjwp1ropkwLJ+GTWftuu0N2JsQaE4gAukhUKfxPkyQxUQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(346002)(136003)(39860400002)(186006)(1800799006)(451199021)(53546011)(6506007)(26005)(2906002)(36756003)(38100700002)(54906003)(2616005)(6486002)(31696002)(5660300002)(316002)(6512007)(966005)(478600001)(41300700001)(8676002)(8936002)(86362001)(31686004)(66476007)(4326008)(6916009)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWNocHRRR2VWMHErU3R4ZkdvSngwU1ZaYjdFODU1SkFQVXdJRGllZmRFTWd5?=
 =?utf-8?B?Wk4vY1g1bjJzQjdzSnpkZ2MveC80cVhqblN4V0N3SFVCMUU1Skt3NzFFRUpN?=
 =?utf-8?B?bjlqN2dPbU1JRDFUMmJOcGcwc241STVIWmRzNGxrMjNYM2hFNmc0RXFwekF2?=
 =?utf-8?B?T3VLVHRBeXNXTlQ4a0xUM2RTM2g3TU9TMlJIdnNZSjNXamhlMmtzNjh2U08r?=
 =?utf-8?B?YWpYdjlhd0hES0hGVEZ4Wnl4aS9qQUdEUzY3bEl1RDJlWGM0ZzFqczIrQ2lL?=
 =?utf-8?B?YmRkYjFnMW9GVXgwMWJPTXNPTFFnUCt2ZnNyU3J4UmhMaE00K1RsMlN1ODRr?=
 =?utf-8?B?RlRuaHlaNThlS3g0WmNHVThNeFBnWUd4aDFZVjBJSW9KYmhjbTRhM2hLS3BY?=
 =?utf-8?B?QWJIQWtqYVpLL2ZKbXV3Z3p3MzZJbUttWVhDa3RySlNxYXVqY1IzTit5aU5I?=
 =?utf-8?B?MFYyUFlOZmdzY2Mxc2FuV2Nub3gva2dTY2hXVXExVVlnWGRaSXlXdEdHMGZM?=
 =?utf-8?B?Y2hyclRLS0JMaEVEZWVPMWhoTVRXem9ic0FveTZmb1lFOTVST21IMnZMQTlQ?=
 =?utf-8?B?UzBWZ2s5b2VsdjlzVWR3SW5aRTNuWDVpT0Jzc2dBQkF2T3NIbXkxdXl2dGVZ?=
 =?utf-8?B?TnhRemlURVZNZ2I2VS9oNEV2bHJ3Y2xKbEdVdEhuSUNwQkxPMlZFdlAvdnIv?=
 =?utf-8?B?Tnc5blczTVUzWHp1NG5qdjdVeXZaaWRNN1JYWDZCQnpJSVVkaUxTQ01xRDZw?=
 =?utf-8?B?Qkt5SG1ORms1WlVWejVPZ3FBTWlEOVZ2SXdVZy9ycjNxRndaQ21WMmMvKzVL?=
 =?utf-8?B?cUN5dkNqaW9BWng2U3dGVWg4VmpsN1RiaEdONEJTNkx4N0RmQzRMOVJKWEt3?=
 =?utf-8?B?UmdqMnZTelFwNndmVGlXUk1tYnA0aDZqSWVFZ0pHb2tKOU9TK0UxY3VWSnBJ?=
 =?utf-8?B?aytTOStQa2hkN29XSGg1VDFST1VWaHJXWmg1WEFUWUswYUFIM2luZFNJSEhX?=
 =?utf-8?B?OEhqOHNwUTgweitIQTBIV2tUbkZiamczbmVyZGVFTTdBR3Z1bk85bm5yS3VQ?=
 =?utf-8?B?dWdweDQ5azBaeWp2MCtwRUdWc2YrK3N6QzRaTW85VFoxK2hKS3JRdkJ6K3lN?=
 =?utf-8?B?c3VQbGdwQloydGJ0WFcrLzR4TFVYeFhvaUtyUlJJenJGeWxhZnVJYmxoOENK?=
 =?utf-8?B?U0pPc3kxS0xZMHVHNGQzODV1bnFYUTM4T3d2YlZFZDlINTZSRFRLaWRtT3pn?=
 =?utf-8?B?QitBS2V1b2t4aEY2YjU1NVdWNE5BTjBwZENKdXdIbXZtcmtEVDFEaGtBOWd6?=
 =?utf-8?B?UXpURWxoSUc4cnhINERCditIL0ZqWGhScWZPRjJLZ3BtZkZvejdqZzY2UEow?=
 =?utf-8?B?dy9MV0NNamxUZ1BQRWJoZjRmd295VDIvcVdGYmpYZGVURHE5RFpaejlLazJF?=
 =?utf-8?B?Qkl0NXQrbGdtbnZwY1liaE82ZFVtQWxVVmJqUzhCcnRSaGc1OElJekR1dTBJ?=
 =?utf-8?B?V3paRktITFNaMmo5WHF6SDlGL1JwSHVHdkVWZXh6UDVEU3RwNXJkbDVKemlv?=
 =?utf-8?B?Ulg4VWVRLzIvU2llb2I3aW1hSkF5KzhGWEtPSS9HVWg5d1FXdWpNNHFWdGky?=
 =?utf-8?B?TVhTVUFYU2VNVVh0ZVhsWDVVVUdiakxlWWZQVTU3NUxpTFp4aUpOOUtUQ1ps?=
 =?utf-8?B?Snh6SGFNYnlndWF3em9sbk04MGhhOWk5ZmVIYVVnMUZkNFk1S2RJcmZ5cUNv?=
 =?utf-8?B?TnlBc3BrMWdWRHgwQlZsVTVmR0IrSXBqR0g5ZkxXV1JlVXVscjBLUlYvbnpG?=
 =?utf-8?B?V1g3L3lmZk9mOGtNZWpiVnZ4bXc5b2srWnl0V1hvVytkMi9pSDBTZWZYUkU4?=
 =?utf-8?B?aU9pVVQvdnpaZFQ3SlduMjF4clNFRmNTS1B6NEdUaTRLcUw4ZDlBTUtMUFhs?=
 =?utf-8?B?Q0phRGJkbkNxOVNLbVlKd1QvTnZSMUw0c1UvN3VxSW5HL3luMktWN0lxaFZ5?=
 =?utf-8?B?R1IyZm91K2szcGhjc21aeUgvcllEaWE3M29FeVlaRWtqeFczVFA4MEdqeFFF?=
 =?utf-8?B?dEJWK09mQXRpeHo1RUtQQVdxZTM5K2JnZXZQOWZqYTlMN0RTZnMxMFJGeVFQ?=
 =?utf-8?Q?+1lh8l2AyBBny0+q/pcISf+H8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7be0eaaf-ab76-4a08-c6b6-08db99790d48
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:08:59.7511
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IkKuRkyE1CzHd2asE8/WaFyDrVVrx1xA6ptsggptDdm8YNeaHF/1zBOxmkqrpyG3XWJvzDuDvDM+Zc9WHJmUHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9078

On 09.08.2023 18:18, Luca Fancellu wrote:
>> On 9 Aug 2023, at 16:48, Jan Beulich <jbeulich@suse.com> wrote:
>> On 28.07.2023 10:11, Luca Fancellu wrote:
>>> --- /dev/null
>>> +++ b/xen/.clang-format
>>> @@ -0,0 +1,693 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only
>>> +#
>>> +# clang-format configuration file. Intended for clang-format >= 15.
>>> +#
>>> +# For more information, see:
>>> +#
>>> +#   Documentation/process/clang-format.rst
>>> +#   https://clang.llvm.org/docs/ClangFormat.html
>>> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>> +#
>>> +---
>>> +
>>> +# [not specified]
>>> +# Align function parameter that goes into a new line, under the open bracket
>>> +# (supported in clang-format 3.8)
>>> +AlignAfterOpenBracket: Align
>>
>> I'm not convinced this rule (assuming I'm getting it right) is
>> suitable in all cases, especially for functions with long names or
>> very many parameters.
> 
> Not sure I understand, I think this is the current behaviour in the codebase now.

My understanding is that the above aims at (only)

unsigned long function(unsigned long first_long_argument,
                       unsigned long second_long_argument);

when we also permit

unsigned long function(
    unsigned long first_long_argument,
    unsigned long second_long_argument);

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:11:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:11:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581898.911352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU0lv-0000iy-VQ; Thu, 10 Aug 2023 08:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581898.911352; Thu, 10 Aug 2023 08: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 1qU0lv-0000ir-SI; Thu, 10 Aug 2023 08:11:55 +0000
Received: by outflank-mailman (input) for mailman id 581898;
 Thu, 10 Aug 2023 08:11:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU0lu-0000ih-PW
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:11:54 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe12::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 905210db-3755-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:11:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7235.eurprd04.prod.outlook.com (2603:10a6:20b:1d1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:11:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 08:11:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 905210db-3755-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QqsyL3uDNqmsgtCkaToTItyBDQKqGJuAvUrhfmFmRcZMSvl5UFYLLBxP0xSo49xDK2jNPTmu3aGZnHy2NCNddWO+ALOMZzDngA8D7DPRVZjYVhGg3/9QVAloBvE9LOnQRHjZF9E6ePUn7VQj4CJPO3Hwju8Y6cR0rbWvgxUcM+Jf9RxWHMu6icT7Kwv52wGo+/9nyCi8zfUbsCdvrXkAM1dgG9XQY8AokaSon1fkccwNSI3HOFVgppAAmFIVzs3nw15tltd5+g1n9dYX3LlLrpscWP2UlgML71AYfoiksqAVvmoV7SQ0Ugn+lEKR168YJz0mPYSD+Hs5Xf+FBK55vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NrEdRhPDKplCLwtRTf7LJrYIn9U9dy0ALOx2AXSyzg0=;
 b=HNYJGg8F5c3GO1gIYPsRGnO1nBfLB3wGMxWhFK9XhhuE6+UnikCX5Y8i26Q5vM8o+wwIicIl/qjj/2daPvHXBqFMQTLssjxUwSa6bqvVRRkm8rra48m1LIDL+KU5wgsW54S8mhznGlDVmgXly/6ubuNt2mbQpnUpMKbrUrTeY5eSd9L+UDF3sHicW0cRv2WoqYDKy3xGwkdcJf6OTjVCndYOZ9r+k7ihBRX/mLAUEvi8Jp4rV/UropsrYIpzvfg/zkg0F3iuCDlY4k2vV5u4z5ql5KbBrXPslRMs7eHHPpShpX9vBCP5uqTHjRU28VrovdZQMyr5fCJ7m5L+zocSJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NrEdRhPDKplCLwtRTf7LJrYIn9U9dy0ALOx2AXSyzg0=;
 b=n/p8C5CEfswzLs69+RtM+ECIN2tN5dNKZ72jOwjzm7XNiAe/P6fBTj1zD3D12PJNzXF2S51mxc78YoOH+zt6hP2AuUv0ZxDf8yfNmdb5QSm2qdFFXS8U58HwzWqOv0zJUwY4ariibS5cUjR3iiUevk7WE8esKc1csg+0kh1udeAl6+ZnNZSweIgWAbk++v3RKdkIuC+iln/868L+EO/4r9Cfxf8uS46p3iuWGoUjBjg6L2ehkzn2emEEpZCbJrNzo9Julyj6xOgHQShlVXtF83Wbj9QcvYJUIgtWPoGD96aMnlITNuS1REGSGvlKE571gAgmwHMWY/nOo68bTMdLeg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5458ff58-bbc1-9616-fa43-bd0fb67688a6@suse.com>
Date: Thu, 10 Aug 2023 10:11:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230801034419.2047541-1-Henry.Wang@arm.com>
 <20230801034419.2047541-14-Henry.Wang@arm.com>
 <6c8f904c-d7f1-343e-2208-6cf963e1e25c@suse.com>
 <0A1CB23B-6597-402E-8420-26C908A13ED4@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0A1CB23B-6597-402E-8420-26C908A13ED4@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7235:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ee4f1bb-0ede-4b7d-8553-08db997973ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CqsG9yeYyTnZ4b0O0Q1rf91V5vjYgpa2Lo4C6jP1ONwRdzCDhSEddovJRK0JWPnUV3dsO0TLAfTjeqoeUt8sLJEgdfqAV+yHkSawF0vy9wcGsPCJty/qz8R9KcaP0aZqwmgeJbrTxCyFIiIAhdAAt9Po4w0Vs+bi8AT744UaJTr2T6qg53ZG7wnE2pNDrQ9D4cW2i35RwNcHoZ5gITQDnGlLb3DOOZtSFbuuDsMWCsqYLoPAWjn9fAW/P7P/6y/kXGMHUziqOMghJunBTClHRXNlHkjnaQvOgFbQyWe8tV3HUF9co6YxyqCEsRm5DfQAbYnBlZMtWbReG/B/HrYo4av086YKWOAHOjKsVuY67EWolzkL28Eb37suiulRG57GUajvQ+u5bd9r2Efpvj/1L3PKSrTfB575wwlUkPPgYz7xN7W4meCZXu0dxg0JEiI+o+ffqwPSMIuLpOhG5wvZ6flkgGwBBbwWjO9z9pHLaggB2dAdSxdPDO3ktyeVRdr6o+3hf4r50jY3/LxJTKTavKppgmyJsYzDFR6hGmG9B5ka2013XLK2a+wcUEjP8BFz8480nl8WtLEhv46sGgh6wpxoPPk25WLcZoQRULdYxfjtwtXDFhY6pSmkNHWFwSlNVSDw/ObVc1/8BDz8TrqMPg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(376002)(346002)(366004)(1800799006)(186006)(451199021)(66476007)(66946007)(66556008)(6916009)(53546011)(4326008)(26005)(6506007)(2616005)(36756003)(38100700002)(54906003)(83380400001)(41300700001)(6512007)(4744005)(2906002)(478600001)(316002)(5660300002)(8936002)(8676002)(6666004)(6486002)(31686004)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dG5xZkJXREltUml0TVQwSEYyOWcxMHFrS01FWFZJcHk0dW1kNjJsazJOMjZx?=
 =?utf-8?B?QXBxUlZuM3N4S1NBOWhFTE1WTDRTb1E4SUp5RndHNHhVdGh4ejlKZDQycDBt?=
 =?utf-8?B?WEtBNG5zWHkrRVdCVDJQQ0dGYjd3M2xrVncvaVJxYTFXWFFBa2RVeW9tUnRv?=
 =?utf-8?B?MUVlY0tISktXZkxRQ0VBL0d4eXUzbmpmQjJJWmZDRGYzL04vekE5ZFQrTVdr?=
 =?utf-8?B?K3F2L2huMWxESHNnaGdRT3hhVlQ2cCtSbUs5ckZ3d0RLUW12WjgvZlNkZGpH?=
 =?utf-8?B?bU5EelIxVHBIYk1EdnAraExyTGJqcXFYd2dKYU5WUnpiaDBhMkFqbjRVY3Jv?=
 =?utf-8?B?S0ZadERmclJPbStBS2J4ejRjNTFQTHdqbDYvNlFoWFN1eUgxc1I0Skwzd05H?=
 =?utf-8?B?NHVZOFR3N0xzOEVjZFJGQWRBS0JLVUdDanhQWTdxc3V1eEtMeEVFcWFKTkNP?=
 =?utf-8?B?Mk9IRnJwZkFTbm4rK3BWblkvSFN1SVZKMk53TkFlQUltREV0dEQzZmRIYjcr?=
 =?utf-8?B?VDZHKzZWUTAyU0hleDhPbFppOVkxRVNRV1lLd09ISVM0ZkVDSm5UcFZDZU5U?=
 =?utf-8?B?bkhSNnN4UWRxUFVFVnNwT1B3bVBqbHJYQTlDZExCSjgwS2w1aFJCVm9aaWRt?=
 =?utf-8?B?RXpjWmV0SXI5c25TRnQvbWtTMGo5UVJCV2ZiSWRnREN3NytQNkpJN2h6Ukkv?=
 =?utf-8?B?ejE3QmVqSTJxRjVJVTcxbGJXNnQrUnUraVd5ZUFpSjY5NG1OYkhsaUlUendY?=
 =?utf-8?B?cDEwcjYvRHEvOFdyYVUxU29wVnJtK2YrQk5MTjVaV3VYVVZDR2Yyd2JBTFlZ?=
 =?utf-8?B?R3VxSlZRc1JXVERKMWZYL3dXWTRoVUhJZU1WVUE0akkrYXFDT0o0eGRFYmdu?=
 =?utf-8?B?eWJKRC9VNXI5UEhBdUVaeGlKeUVSWExCZ3BMczVTRERkc0c4NENTaHVVSGRr?=
 =?utf-8?B?YlpKemxIdy80NTBPN3daMmVvYjVHQXJzRGVrNEt5MUZhZFZ1SkF4anZhbW1N?=
 =?utf-8?B?R0s4R0phWjF1N0xQdElqcGNxR2FmdjdINzErVjY5OU9LTGpOR2M5S2lTWTRt?=
 =?utf-8?B?bEpIb2xVNVVqbVFKZUljY1VFcEdlZTdiZTNFMVJlSTVMYStRU0hVOE5tZUhh?=
 =?utf-8?B?c2lNK04xcnRWYmwxVlB1bEZ4ZGx4a3BPWVVuR2VNeFhEU3FZMzh1WnJ5VEx6?=
 =?utf-8?B?OXlnZE1yM1lxbGxBYSs5RU5oWDdSRnA4dFV1RmdRbldibEpiTlVQem44WEtU?=
 =?utf-8?B?TXphTjZQTmErTW5oN1dsUXhtbzNFWjhxcE4yV2d2RGlhbW1aeVNOTFF3eE96?=
 =?utf-8?B?UnBYVjVwaWRjK3VIUnlWVVptOFZQU0s4T214MWhHVWt3cU1PSlEyb3c0UTRp?=
 =?utf-8?B?Rzhzc09JbXRQRXZseGJkQVhWbHZ2ZmRzbFFBUXF5bUlBTTM3UGdxbDZxUk16?=
 =?utf-8?B?SHo1ZkRwR3prWWdOd3FpSmxxNW5oSDBGM2NSejZaSGpTSDRCeVVoK1F2WXQx?=
 =?utf-8?B?WE5jSUhhNi9zMUlwNnA1MlVPYmpZQ2c1TitHSHJOMmlxd3dPZWtoOGE5eERS?=
 =?utf-8?B?MDZkaEY0UStRVUFXUVFTY2NjaUZlZWx4Nko1Z3E0NWdPUXVEcjVoUVgzZlBT?=
 =?utf-8?B?bk1ZYkFvanNXOUswMWF2S24rTi83MDEvVUlEc2kxbStaSytXbkx4ZVBFSGZL?=
 =?utf-8?B?VnA3REdRbEI5aCtIMGtuK1NpN0ZKcnRyZHNaU0RwSWVBYnBVVzJ0NTI3WUkr?=
 =?utf-8?B?OERjZGUzVVRiUkpXWkJLQythRlRtTGdId002S0RLS0tlUWx0aStueEFUTW9S?=
 =?utf-8?B?SFJQdXhiTjJPWHZCMEpwMzMxcHAzNnNWZzFmZlg4L1YrU0JyMlc3YUtBcVc0?=
 =?utf-8?B?dUxyOUhEVVQ0T2FUbEIvemtVUFpGdDBxYVlSTTFydm9nTzlEU1U3Z2luQWtt?=
 =?utf-8?B?OEN3QzcvZnZZbFBGSHhyQjJ4VWM4czRQWTFMRGtGVGFHNyt5bFVkbW1adGox?=
 =?utf-8?B?QmZ3NEMvamlTcjFuZVVpTGJ1dVd5akhQQXNaZW1hQXpWSmhPOHZxbWNmRm1q?=
 =?utf-8?B?N3V3VjJDOGNkZjAyZC9pNktxYWwrRnZqbllRczFIR216YmJROEhNTDdIbjg3?=
 =?utf-8?Q?gQxohWVkECnnHLw+PvoTOIif6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ee4f1bb-0ede-4b7d-8553-08db997973ea
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:11:51.9402
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CIIsp0oAUlwb1ru0U6zrn0KZ3i/JxjBYY4NlEu8zESouplU2gWFmHnMCZWLoH+jJlA24yDxySvqeh2/IrPUOPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7235

On 10.08.2023 10:07, Henry Wang wrote:
>> On Aug 1, 2023, at 15:43, Jan Beulich <jbeulich@suse.com> wrote:
>> On 01.08.2023 05:44, Henry Wang wrote:
>>> From: Penny Zheng <Penny.Zheng@arm.com>
>>>
>>> SMMU subsystem is only supported in MMU system, so we make it dependent
>>> on CONFIG_HAS_MMU.
>>>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>
>> While entirely Arm-specific, this looks to require a non-Arm ack:
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Based on the discussion in [1], now CONFIG_HAS_MMU is agreed to be renamed
> as CONFIG_MMU, I will do the renaming but I would like to confirm with you that
> if I can still take your asked-by tag with such change. Thanks!

Yes, that's fine to retain.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:34:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:34:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581909.911368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU17H-0003Gn-R8; Thu, 10 Aug 2023 08:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581909.911368; Thu, 10 Aug 2023 08:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU17H-0003Gg-No; Thu, 10 Aug 2023 08:33:59 +0000
Received: by outflank-mailman (input) for mailman id 581909;
 Thu, 10 Aug 2023 08:33:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU17G-0003Ga-DY
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:33:58 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2075.outbound.protection.outlook.com [40.107.13.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ec5d1b2-3758-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:33:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9701.eurprd04.prod.outlook.com (2603:10a6:10:300::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:33:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 08: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>
X-Inumbo-ID: 9ec5d1b2-3758-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fN2v9kFvHdGvFINtlIDqZ0Nygd7V7MjP84snU4WXaBj+01iYBkhpfEtUV7w6M1dFf9WZqZvjN9Z+PN2i7n2gfkbLVFtplX3lMreCUiaVc9zZLPuDg+/Mo4OYU0T4Pw2PQFLvXfWwI7J8+IMkvWaV1Nk+JOl/3jbr8yGIqW9/RGC7alzqRjmu6xmsSNo2YlJGfN/gP8BikYsuo1WD3jo1YumhN0KZi1HhYqXzhFg3Hx1KAigHahlgi7MjAx89NQsG+go1e/i4L0h6tX7wRuFlH4fZXvxmnQmQ5NeEMe2CZt9HuTiGIDBx6BCapk/Gj+A6WUHZl0bKHWtPlC2CfAoa2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z3OkJbBC03VMDXwYdmp17cOWGy0bysdttfteuH7xhkg=;
 b=OnEcLM2QPCYcibQBM0f3ZfxA+v90EXNyQrQoqDnvs/VCpt7lEqQ/qVJUTXqBAyOKBmYynF8t55o7Xj5SBzLamrikNrllPxkB4ZX8SpQq6DsqjmuLoOb6xyu+ERJfSLU5MOk4QLKDsxBsXdRLbsU7GZ7kIrZX/pureb0DE9u9+ZhXLkVAQQXrt9a1QqWoJWiNdVItnGVUbYKZDHvo0Dw82h/oJXn1MdCkaFUk99WkOmcQbS5iv86cIPcmo/MuFmy68T0PceV1S43BYDDZ4FNfW8OWeVWksF00VOMOJ2VmHLkRZ8OjAHimDx2gfFm+QKYxH7UTRfD0d21OspxRdntT7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z3OkJbBC03VMDXwYdmp17cOWGy0bysdttfteuH7xhkg=;
 b=FBZV6wMIwrYqNRWUTph0SzordFgBJMSQHkeZqTVgjLe9vFCdxTsxTGQF9AMQBzTpRraOIu/gFpMNKiREjnF2nyOoPEKL3f1BytyeOznnCtXj81BtYd8pXi/ZgJqC5MXGJ6O0aUjooh0gbvwBihgKtvPpYCUXKYP2oKoZb6GgH2WiP4CYCKrLRyVSWfAJasLqby4SHrp4nld46NVipzShBzwecQwLAb9fPdAMqfB+P11Sm9YIbvSS0u6J3ZMC7o9G20LvIDsazigDAPfqn51HSFKGi39QgrL2rsZ3y6CbaOkO1id5Pk+ViYms60NF1mh2CXpjf+xY+m1bIPIuDcTu/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bbaf7e36-55db-904b-d3e8-ba782addd9b5@suse.com>
Date: Thu, 10 Aug 2023 10:33:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 7/8] x86/i8259: address MISRA C:2012 Rule 8.4
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691575243.git.nicola.vetrini@bugseng.com>
 <41edfbbbc8fae317ebee791633259d7b5c88a2c6.1691575243.git.nicola.vetrini@bugseng.com>
 <d752a7b5-4b8b-8394-8e72-bcdffce1fb82@suse.com>
 <1cfa92d52d89b2013218cef1c518ab4d@bugseng.com>
 <30cd1bdb-be77-a192-eca7-6fcd60eca610@suse.com>
 <alpine.DEB.2.22.394.2308091313270.2127516@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308091313270.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9701:EE_
X-MS-Office365-Filtering-Correlation-Id: 068b13c1-3f47-4ed4-0302-08db997c7725
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	69o1cNUiQrK6cM612r3zI1VJHClOktwO1PKG1nJwpuHo4lXl2/6ieMLjzoxfhCPQor93/miG8cDvQWTej5QP12V4F6OVvXyvkG0vYOGP+kInAVxeDVIzLi2NI1uEUsnSLLCSWRqgdN3WhK54SRi6MfQZur965+7qD8RCE+bDAQHjrj7YxPsUSW1M4FFooNG99G7XSCDaXHSYDtHzSJcCyJAz0382hDatYyTeQC2rkyq1RXBxECLHgzlmt1spSv1lGCLw4n+yv2egdhLrFtxur52q+TFv9ZrIapZ36lb4nzEBQhnOEZfxq6LyuI7CrqDd7TcJUvUReGiw7ESs9aciIIWqAwxBNb/WRPSQE2hmM5oJ1yQQLiNFEnV0uwJt9tynmlUhC3W6MaLtZuVyVq9L4EMlu2Euhfb6N9KBFuzfCy5hqmrGjmiJf0OYMzykTJzq0JYPcV6M61TGKM7+KLaesY0bQ3O+tPYuTlSiJW81duEbo9QB8+on/3/vWmuxj+/VA2vh77q//OzH0cehHcTW3AxdBkzwu7csxdhlV9XWGghEI1Yhcb3xDq7U4+qryDb8xRwqagKl1SCOiuKsiJSOQB56agr7myJWCILjl/cOTfOJkxAB2P7uQEl1a8YmNCkv
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(376002)(396003)(39860400002)(136003)(186006)(451199021)(1800799006)(54906003)(2906002)(53546011)(6512007)(36756003)(6506007)(966005)(26005)(31696002)(86362001)(6486002)(478600001)(2616005)(66946007)(6916009)(316002)(4326008)(66556008)(8676002)(66476007)(8936002)(7416002)(5660300002)(41300700001)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2ZXekJkZzY4dm1RRk9GRTZiMWttU095Y0pZUS94Rm1vVkJ0QUh1UXk1UEti?=
 =?utf-8?B?YlgvYTNJQW9uT2dsWWhnamlYVE5GMmxuTXlGb2dYcmE5Ujg0V2V0a0tody9u?=
 =?utf-8?B?MWxsMU1xUXZ1SjFxZTFWVmozdHFFZkFxa0xIcmxTdHI4VWQ5cC9GY2lhVkdG?=
 =?utf-8?B?UEY2QTNtN3JncFVKd1pWRnY3bmllbksxdSsrYmJ3U0hXQWVna2FYOUpJMXlU?=
 =?utf-8?B?WGwxNGFoV2twVUtpbjZZSUlsTmY0QjcxdEI4Qi95Uldhd3dLK21XWDBhYW9W?=
 =?utf-8?B?NHZSbFF0RE01MEw4ZSt3cWVNMVJBRkxlTE96NHF0MGR4UzBsNmIyRHQyc3I0?=
 =?utf-8?B?UnZya21mNTJiTUh6RzhrNERJNlNBRldoYUoxL0I4V2djV2paL0w5UU0vaFd0?=
 =?utf-8?B?NXFqQ1kvM0VkVTlhYUlISWlwc1o1bnVqcjJrcUxZYUdSV2xRS0xhWVlHR2dV?=
 =?utf-8?B?bWZQdHU2bG5vRjhrNW9pWWdMOE8rRTZla01VY0prd0VBbytaQVBOVldvSUV5?=
 =?utf-8?B?L1Zxc1RKaE03MHRzeWIzUTFiQ0VWZTZsYjUyM1c4UEdJTDZWVVZRZnhiUzNz?=
 =?utf-8?B?ejJaTmlWaHRuN1JmUTM4ZWwyR2tHYkRuaWFteUc3RVgraUxqMjZ1U2xIdTZa?=
 =?utf-8?B?SmhEMTQ5SklSQ2xHbVM3Ky9PVm15Ni9nWlMyQzJnMmtKTzR5VXZJaVY1Mm5l?=
 =?utf-8?B?dEZNMVAvQXpZalF6YTVuL3VoMjhUTzBwdk1Oc3Z3cXgxSTg1bG9MaEUwZmFG?=
 =?utf-8?B?NE9wUmpGc0dQVlBBMTFnUXhSaGxoK0dsUGxHcVhMeFpnUTZWaVpjR2UzdUpT?=
 =?utf-8?B?VU9uWUE5ZytnaHlCMk9ENHJMZ0d4a2xMSDcvblZCakdTR09TQVRVdWc4eVRT?=
 =?utf-8?B?allld0VYVG4zTVpLZTh6SFBCOE9JbXM4MWRlUkxKYVJNeGlBR2wyZDFFY3V6?=
 =?utf-8?B?L3dsQ0RZazBsVWJjTGZzeFFqYmFyYlZraVpObSszdnV6S1RJUWVNclRIMXdQ?=
 =?utf-8?B?cTMrdU9HaG83RktUSXR5V2Z1SGZ5NWpCRGpJTEVaZkJ4UEtEc291OEdGRTcz?=
 =?utf-8?B?OTNnYmxXeCtaYVNyR05YQVIxNTczRjFhZGdiQllhRC9GUG1TZEE3VnpmNTNS?=
 =?utf-8?B?THVnTFdKNSt2NTRlcWR1MnNlb1UwZmVBTHl3cisvUWJZZUtqeDEvMFBrV0pi?=
 =?utf-8?B?TUFoYi9GTHJlNzBSRU52WkVYZStURWVFblFSNzlhUU02bml4TnlQbjdNWjBD?=
 =?utf-8?B?MG1IdmR2c0JuQ3ErdFFYTUE3UTk5SnRSUVFhKytUSmtrd0gxVjVRQ3JwcFJj?=
 =?utf-8?B?dDNVT2QzSlF4M3kxa3c1VmZSSUtncG83MW1KV3ZQdXUyTlFONDIzR0wvL3F0?=
 =?utf-8?B?TVo3NmJodGJZM2dqMUluYk92M3M3RWxXZzU3YnVxYnkzNEptOHZyRUJqQUdL?=
 =?utf-8?B?VUtpa0hYWlpXaGozSHpScXFhYWNNcnA2SXhsamRhalJjamlDck1qMU5xd3Q4?=
 =?utf-8?B?VS93aEdMV0VucFRyeVE5RXhEVXVudnZ3UjVzZGVuaTlHMGxPNy9kNGhTdHE4?=
 =?utf-8?B?VHR4UVk5YVc0UUtIK0o0eDVDWWpSRERIUG9aZjFpbk5zVEI2ZFZ4bEZ5WG1w?=
 =?utf-8?B?UEp5eFg0QnZwM2Z5WWRjV2EyWHMyUFZwejUwd2ZTN2FzaDFMU1V1U0JEaksx?=
 =?utf-8?B?S2FxTVpmejN2cm5QSFZ2VHZiOXgxQ0hyUnllNEtZSG9zYytxVWVqUENkYSt5?=
 =?utf-8?B?ZjdMckRLbFFFNmxpNEs5a1FzUEUxK0x4bU1HZzh6ZENVc25XZGVDV3B5MWtz?=
 =?utf-8?B?ZzFUS2VQS2pGQkVKb2JnTVdSSDMyU3BwRkV5cWJobVZSWjM4UDEyWHU2eEpF?=
 =?utf-8?B?NEN1VytxeUxlMFpFbng3WVdHMXJ0TFljVlJIMG9Nc3g4VmVCdE5rSjRLbFVr?=
 =?utf-8?B?UUpFS05nMVRrVFhBek1kNDJMdU1DWFVGNCtWZDVtbW11NWRrMFQ4NGc0QmQ0?=
 =?utf-8?B?TnVTeEtxMTVab1J3RlphWCttajZ2Q3BKSDZxNXhaV05vdHgzR1QvenU4NVkw?=
 =?utf-8?B?Q3RmbVZmRzBUYlRHSytKbWM2VjJlUHE4Vlc0cmNxWkx4OXVycE41UjdhQnAw?=
 =?utf-8?Q?lM5gc15bdbz8qyR/hDcZSvL3k?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 068b13c1-3f47-4ed4-0302-08db997c7725
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:33:25.8244
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9OmF55/a+qBbiCkFcIqD/lD9QD9tI6tsJimRh/PhuGZFHB8GzkW1cEx0ummc4hxUswbx6coKMladloVoT3SGKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9701

On 09.08.2023 22:15, Stefano Stabellini wrote:
> On Wed, 9 Aug 2023, Jan Beulich wrote:
>> On 09.08.2023 16:17, Nicola Vetrini wrote:
>>> On 09/08/2023 14:52, Jan Beulich wrote:
>>>> On 09.08.2023 13:02, Nicola Vetrini wrote:
>>>>> The additional header file makes the declaration for the function
>>>>> 'init_IRQ', defined in this file visible, thereby resolving the
>>>>> violation of Rule 8.4.
>>>>>
>>>>> No functional change.
>>>>>
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> ---
>>>>>  xen/arch/x86/i8259.c | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
>>>>> index 6b35be10f0..9b02a3a0ae 100644
>>>>> --- 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>
>>>>>  #include <io_ports.h>
>>>>>  #include <irq_vectors.h>
>>>>
>>>> A patch adding this #include has been pending for almost 3 months:
>>>> https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html
>>>
>>> So do you prefer going forward with that patch or this one (mentioning 
>>> it
>>> in the additional commit context of course)?
>>
>> I would prefer using the much older patch, but of course this requires
>> someone providing R-b or A-b.
> 
> Hi Jan, normally I'd be happy to do that but that patch makes other
> changes that I don't feel confident enough to Ack.

I understand that in general, but for this specific case ...

> For instance:
> 
> +    for ( offs = 0, i = pic_alias_mask & -pic_alias_mask ?: 2;
> +          offs <= pic_alias_mask; offs += i )
> 
> pic_alias_mask is declared as unsigned int.

... you're concerned of me negating it? That's a common pattern to determine
the largest power-of-2 factor. I'm unaware of a good alternative.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:38:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:38:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581916.911377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Bo-0003xe-GV; Thu, 10 Aug 2023 08:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581916.911377; Thu, 10 Aug 2023 08:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Bo-0003xX-Dw; Thu, 10 Aug 2023 08:38:40 +0000
Received: by outflank-mailman (input) for mailman id 581916;
 Thu, 10 Aug 2023 08:38:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s5UL=D3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qU1Bm-0003xR-TM
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:38:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cc70348-3759-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:38:37 +0200 (CEST)
Received: from DU2PR04CA0031.eurprd04.prod.outlook.com (2603:10a6:10:234::6)
 by AS2PR08MB10128.eurprd08.prod.outlook.com (2603:10a6:20b:644::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:38:35 +0000
Received: from DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::7e) by DU2PR04CA0031.outlook.office365.com
 (2603:10a6:10:234::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Thu, 10 Aug 2023 08:38:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT046.mail.protection.outlook.com (100.127.142.67) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 08:38:34 +0000
Received: ("Tessian outbound d7adc65d10b4:v145");
 Thu, 10 Aug 2023 08:38:34 +0000
Received: from de9826d7aad7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DD9885AC-D492-488F-9F0A-AEF804E63272.1; 
 Thu, 10 Aug 2023 08:38:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de9826d7aad7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 08:38:06 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAVPR08MB9062.eurprd08.prod.outlook.com (2603:10a6:102:32d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 10 Aug
 2023 08:38:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 08:38:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cc70348-3759-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cO2tgQkAdBjGa/uthO+eyDrq7JXwsMYpicKrL8pKHco=;
 b=t99fSbHyJpNGBnnntSLfNlUswvGU6pu5F9vGq4lf8ULVrNx7u8o6OvnKSFECA+ismoj/kSnL0vlczJJ3A2gJWkk+hwJZbm+Y8XeZHzilGNn2Rq+iYN07vluox5eX6Ty6OohL9SWc2s8GlNMrEFyk+5l+OjH23aahDIQlciNCYuE=
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: 3f20c3922870d8ac
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AsYySa/g7NuGGbb77CoT8DD6CF4ZNSNBf1SKGOnTKfmOol8FSuU8ZAYg58AGclpv+kbN1l8bkb/wrBPT74s6EynaYlrhJn6ToxYfOulex9cknroj4+rI4qavrsS5IBbHRFHJBBx/VrJDyfOIusuWaUz8UADYS4Sf66/QhSUhHpOaQ2Qsv5mFVc/oHj7I70Mbjd6/hgY8hN5WW71BL8VjfB0LIrmvHFGpKnE+2Yo0oE4JDUDa6ZiNeYsJcUtXFJrlK9E3pLbbMcJf392K6J55zNTrXWa0AcXZLaM68TMJsU/7/tVuhHJeJCKuAy3QDPGHRmcNFBeu3HVqbY5USwj9gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cO2tgQkAdBjGa/uthO+eyDrq7JXwsMYpicKrL8pKHco=;
 b=efdxFPQ281aX4z+XXvsXlSp1Of6Tq/vLIJNCqQb17jhgTUDzmfJ5c/DFT4wC7JAYoQQlZrzJVgJRkh3tW+6I7n9ZYpgJUUt7CmZbWKH5Sz0DOhNhfbW6NDusTcgt6MyllanEqg6F0wgGRZJpmRVigSQcQXY3hXEZaLIi59ThGSbYJc2XlYvd/OqEH97oGTyUEHKYtc9GW02rjf5eA6k8Mmhdv5eNzx46DzqMlSg8EVmxnOAg35dNE1ubXD6q9eAZxQlzZEvFNzYQY7+40m2IB6vBs+BlEJaSYn4rNJrIeyqJf7DGlKQ5QsnHmCpOngVzxhpjztEO2aRNvV518lxwtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=cO2tgQkAdBjGa/uthO+eyDrq7JXwsMYpicKrL8pKHco=;
 b=t99fSbHyJpNGBnnntSLfNlUswvGU6pu5F9vGq4lf8ULVrNx7u8o6OvnKSFECA+ismoj/kSnL0vlczJJ3A2gJWkk+hwJZbm+Y8XeZHzilGNn2Rq+iYN07vluox5eX6Ty6OohL9SWc2s8GlNMrEFyk+5l+OjH23aahDIQlciNCYuE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 5/5] xen: Add clang-format configuration
Thread-Topic: [RFC PATCH 5/5] xen: Add clang-format configuration
Thread-Index: AQHZwStJjnl5s/6RqkyuxqTMVBpDCK/iL4wAgAAIMgCAAQm9gIAACB2A
Date: Thu, 10 Aug 2023 08:38:04 +0000
Message-ID: <7219AAB4-7218-405F-8B4E-D9F3E54213EA@arm.com>
References: <20230728081144.4124309-1-luca.fancellu@arm.com>
 <20230728081144.4124309-6-luca.fancellu@arm.com>
 <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com>
 <394778DB-2D5E-4C52-9DA1-F23A530534A8@arm.com>
 <9743391f-3b89-ddba-1c79-ddbb1d143437@suse.com>
In-Reply-To: <9743391f-3b89-ddba-1c79-ddbb1d143437@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAVPR08MB9062:EE_|DBAEUR03FT046:EE_|AS2PR08MB10128:EE_
X-MS-Office365-Filtering-Correlation-Id: c8bd083e-224b-40ae-b919-08db997d2f7f
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:
 8NYmK8eCNpqaaFY4os2IN4VCLdwaiw8vDPqN57fGcMbrTCmWH16Vm7JcLiJpEVPBUldYE++6qkL7u8d7ZCfYlhGzYoTFQ2Yo+013uveWg8/JTVzRS+c+bpqKzlciWaHaltaicfdAgtdaH/ml8CaTb2fb+M8xyUkvDdbWaVGIoP4r+sC+ZD7YQejWdTbmgXXfPXRoc1zOhJNbMzBuOQI0g7MSfLdc3PypE8/uquXDM4bYlzrCWtNL1W0nka2tdONRPk4zx9P3kkSxw0g3nReU5lSJWD7FPG8i6tG/asCe/6z1LVxjBpThOu7NH3lGuk3J5EvuG+KxNXQE1HZA3S/aG0qYLBqNqOsECXan9LQvcGzTmq326ZbdAsdqPg1htSGFWTZY5gMdq35QR+DEcE1zTAWzgBIqE3QjRoO4uIv8JzpElg8IgRBlg3aRWJ8INV8F3idrQOotkiPhYJDF4w3pG8biYYsQf/vWjR+HlwIpvRDU6rCD54wE8krBH05NOlEUN0dc/1nkrg1yPk72adruj67e16jcMtCqe3QCB2yv8RJmm8PoJC7zVjNm0xHbzSk82S+3rcu7R/9yLG7cdtHGliBkcD/Qv+d0NT94KYf3G24wvyRPlgHJ7XTOirFf9oGD+Fu2qwzc72kXNAOi1Aa1/DwdXCqrrl1U2tg5S3z4aApjN36ukB0ZS1OOwyROdhFJs4Bg9stotQAkpBq9gwtFVg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(346002)(376002)(136003)(39860400002)(451199021)(186006)(1800799006)(2616005)(6916009)(36756003)(6512007)(966005)(4326008)(316002)(122000001)(86362001)(54906003)(66556008)(478600001)(38100700002)(66946007)(76116006)(91956017)(66446008)(6486002)(71200400001)(33656002)(53546011)(66476007)(64756008)(6506007)(26005)(8676002)(38070700005)(8936002)(41300700001)(2906002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E7BAB73839D2F44FA3D47B2722A5D149@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9062
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:
 DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e4445f3f-6e5b-4877-002c-08db997d1d18
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wsj+svH5HxqpBTvmOPHO9LJQP4aLJMwfqVjT3BDDOJsXUwKmGOZIs+Eop0P3yhquzN2fc08uNZPeOFYNwLtiy5CD0SVmBvq5e/OKGTPFDtXVldQRFcu8pRQaWAUy/knWKWI49k9ZHEjj6ivG5+6o/EBF5pZrRsBIoZ5Wzac1MsopcmFp03x4FlQiu+iXz7hoTi+PjEXk+TPQ2N1Pee3GYFfNvUjyIqbnZBKN/XCPYnAPKuS37lEZ7gKaXRrUTsmRWScT8NrIQpfNia5XPjsthc6Z4CZD9sSTKgDqL+N7fKCQkU8+vDlMSJ1WHxFBd4NOs2TjKe2P+53FQfLjUXs5m1I82CGTf/b6TeQKrIPpZ6TopZb23OuFTbPQ2gD6bofC8uUrTK/Cr1jKJqRQRuyxj55XiEWd2m9At3UexC869qx3idDyworkXMXEyxvFi6NIjZokml5fBuSm7nH7lhgbjbbc93vU1q0t8sdkFICoC1p7fpXxqdTF+W3IitWoWnf1mjwio93/PLHXRtKBYvEL0/O8R5Aw21b4hP2noFBalR3KaQNuakBz4FPFsil5Mu6nNVLO9yVR551zLXNyHfzno/U3RAtopQmUhCsmjNTtfjVEC3/IzALsq2wsAnjNzS2PzY6E6vW3ul2pDV1QiKLRiYYiuw9XRSzvyxSlbSEnvYm9H2Xw94YIvUIiCSyLDjDGKcOEk+d+tZjeSZIa/jD8QrFeRxco2rtMEVbD33bU6Lkt3zoV9+tAUFaS8ECk/pyU
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(346002)(396003)(1800799006)(186006)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(40460700003)(40480700001)(70206006)(70586007)(336012)(54906003)(6506007)(53546011)(26005)(478600001)(36756003)(33656002)(47076005)(2616005)(36860700001)(316002)(41300700001)(6512007)(4326008)(6486002)(966005)(2906002)(8936002)(8676002)(86362001)(81166007)(82740400003)(356005)(5660300002)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:38:34.9762
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c8bd083e-224b-40ae-b919-08db997d2f7f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10128

DQoNCj4gT24gMTAgQXVnIDIwMjMsIGF0IDA5OjA4LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMDkuMDguMjAyMyAxODoxOCwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+PiBPbiA5IEF1ZyAyMDIzLCBhdCAxNjo0OCwgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPiB3cm90ZToNCj4+PiBPbiAyOC4wNy4yMDIzIDEwOjExLCBMdWNhIEZhbmNlbGx1
IHdyb3RlOg0KPj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4+ICsrKyBiL3hlbi8uY2xhbmctZm9ybWF0
DQo+Pj4+IEBAIC0wLDAgKzEsNjkzIEBADQo+Pj4+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBHUEwtMi4wLW9ubHkNCj4+Pj4gKyMNCj4+Pj4gKyMgY2xhbmctZm9ybWF0IGNvbmZpZ3VyYXRp
b24gZmlsZS4gSW50ZW5kZWQgZm9yIGNsYW5nLWZvcm1hdCA+PSAxNS4NCj4+Pj4gKyMNCj4+Pj4g
KyMgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZToNCj4+Pj4gKyMNCj4+Pj4gKyMgICBEb2N1bWVu
dGF0aW9uL3Byb2Nlc3MvY2xhbmctZm9ybWF0LnJzdA0KPj4+PiArIyAgIGh0dHBzOi8vY2xhbmcu
bGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdC5odG1sDQo+Pj4+ICsjICAgaHR0cHM6Ly9jbGFuZy5s
bHZtLm9yZy9kb2NzL0NsYW5nRm9ybWF0U3R5bGVPcHRpb25zLmh0bWwNCj4+Pj4gKyMNCj4+Pj4g
Ky0tLQ0KPj4+PiArDQo+Pj4+ICsjIFtub3Qgc3BlY2lmaWVkXQ0KPj4+PiArIyBBbGlnbiBmdW5j
dGlvbiBwYXJhbWV0ZXIgdGhhdCBnb2VzIGludG8gYSBuZXcgbGluZSwgdW5kZXIgdGhlIG9wZW4g
YnJhY2tldA0KPj4+PiArIyAoc3VwcG9ydGVkIGluIGNsYW5nLWZvcm1hdCAzLjgpDQo+Pj4+ICtB
bGlnbkFmdGVyT3BlbkJyYWNrZXQ6IEFsaWduDQo+Pj4gDQo+Pj4gSSdtIG5vdCBjb252aW5jZWQg
dGhpcyBydWxlIChhc3N1bWluZyBJJ20gZ2V0dGluZyBpdCByaWdodCkgaXMNCj4+PiBzdWl0YWJs
ZSBpbiBhbGwgY2FzZXMsIGVzcGVjaWFsbHkgZm9yIGZ1bmN0aW9ucyB3aXRoIGxvbmcgbmFtZXMg
b3INCj4+PiB2ZXJ5IG1hbnkgcGFyYW1ldGVycy4NCj4+IA0KPj4gTm90IHN1cmUgSSB1bmRlcnN0
YW5kLCBJIHRoaW5rIHRoaXMgaXMgdGhlIGN1cnJlbnQgYmVoYXZpb3VyIGluIHRoZSBjb2RlYmFz
ZSBub3cuDQo+IA0KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgdGhlIGFib3ZlIGFpbXMgYXQg
KG9ubHkpDQo+IA0KPiB1bnNpZ25lZCBsb25nIGZ1bmN0aW9uKHVuc2lnbmVkIGxvbmcgZmlyc3Rf
bG9uZ19hcmd1bWVudCwNCj4gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2Vj
b25kX2xvbmdfYXJndW1lbnQpOw0KPiANCj4gd2hlbiB3ZSBhbHNvIHBlcm1pdA0KPiANCj4gdW5z
aWduZWQgbG9uZyBmdW5jdGlvbigNCj4gICAgdW5zaWduZWQgbG9uZyBmaXJzdF9sb25nX2FyZ3Vt
ZW50LA0KPiAgICB1bnNpZ25lZCBsb25nIHNlY29uZF9sb25nX2FyZ3VtZW50KTsNCg0KT2hoIG9r
IG5vdyBJIHNlZSB3aGF0IHlvdSBtZWFudCENCg0KSSBkaWQgdHJ5IHRoaXMsIG9rIHN1cmUgaXQg
d2lsbCBmb3JtYXQgaXQgYXM6DQoNCnVuc2lnbmVkIGxvbmcgZnVuY3Rpb24odW5zaWduZWQgbG9u
ZyBmaXJzdF9sb25nX2FyZ3VtZW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgc2Vjb25kX2xvbmdfYXJndW1lbnQpOw0KDQpCZWNhdXNlIGl0IHNl
ZXMgdGhhdCBpdCB3aWxsIGZpdCB0aGUgODAgY2hhcnMuDQoNCkF0IHNvbWUgcG9pbnQgSSB0aGlu
ayB3ZSBuZWVkIHRvIG92ZXJjb21lIHRoZSB1bmNlcnRhaW50eSBhbmQgY2hvc2UgYSBzaWRlLCBv
bmx5DQpmcm9tIHRoZXJlIHdlIGNhbiBiZW5lZml0IGZyb20gYW4gYXV0b21hdGljIGNoZWNrZXIg
YW5kIHdlIGNhbiBnZXQgcmlkIG9mIHN0eWxlIGlzc3VlcyAobW9zdCBvZiB0aGVtKS4NCg0KVW5m
b3J0dW5hdGVseSBtb3N0IG9mIHRoZSB0aW1lIHdlIGNhbuKAmXQgc2F5IHRvIHRoZSB0b29sOiB3
ZSBwZXJtaXQgdGhpcyBzdHlsZSBidXQgYWxzbyB0aGlzIHN0eWxlLCANCm9ubHkgb25lIGNhbiBi
ZSBhbGxvd2VkIGFuZCBqdXN0IGZldyBkaXNjcmVwYW5jeSBtaWdodCBiZSBkZXZpYXRlZCBpZiBw
cm9wZXJseSBqdXN0aWZpZWQgKGluLWNvZGUgY29tbWVudHMpLg0KDQpJIGd1ZXNzIHRoaXMgaXMg
dGhlIG9ubHkgd2F5IHRvOg0KMSkgaGF2ZSBhIGZvcm1hbGlzZWQgY29kaW5nIHN0eWxlDQoyKSBo
YXZlIGFuIGF1dG9tYXRpYyBjaGVja2VyDQozKSB1bmlmeSB0aGUgaHlwZXJ2aXNvciBjb2RlYmFz
ZSBzdHlsZSwgdGhhdCB3aWxsIGRpdmVyZ2UgKG1vcmUgdGhhbiBub3cpIHZlcnkgcXVpY2tseSB3
aXRoIHRoZSBpbnRyb2R1Y3Rpb24NCiAgICBvZiBuZXcgYXJjaCBhbmQgZmVhdHVyZXMNCg0KQ2hl
ZXJzLA0KTHVjYQ==


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581924.911400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DI-0005Yp-Fn; Thu, 10 Aug 2023 08:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581924.911400; Thu, 10 Aug 2023 08:40: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 1qU1DI-0005XO-BK; Thu, 10 Aug 2023 08:40:12 +0000
Received: by outflank-mailman (input) for mailman id 581924;
 Thu, 10 Aug 2023 08:40:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DH-0005MW-AQ
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 844667fe-3759-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:40:10 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id B79434EE0743;
 Thu, 10 Aug 2023 10:40:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 844667fe-3759-11ee-b283-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 3/7] xen/include: make a declaration of 'get_sec' visible where needed
Date: Thu, 10 Aug 2023 10:39:43 +0200
Message-Id: <37fed394315c24e7b7419e564696a534886f0d53.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A declaration for 'get_sec' is added in 'xen/include/xen/time.h' to
be available for every call site (in particular 'cper.h').
This also resolves a violation of MISRA C:2012 Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: c8cb30cfc87a ("mce: Provide ERST interface")
---
Changes in v2:
- Revised commit message
- Split patch
---
 xen/include/xen/cper.h | 3 +--
 xen/include/xen/time.h | 1 +
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/cper.h b/xen/include/xen/cper.h
index 7c6a4c45ce32..de8f385bdd5c 100644
--- a/xen/include/xen/cper.h
+++ b/xen/include/xen/cper.h
@@ -23,8 +23,7 @@
 
 #include <xen/types.h>
 #include <xen/string.h>
-
-extern unsigned long get_sec(void);
+#include <xen/time.h>
 
 typedef struct {
 	uint8_t b[16];
diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h
index 5aafdda4f392..67c586b7369c 100644
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -36,6 +36,7 @@ s_time_t get_s_time_fixed(u64 at_tick);
 s_time_t get_s_time(void);
 unsigned long get_localtime(struct domain *d);
 uint64_t get_localtime_us(struct domain *d);
+unsigned long get_sec(void);
 
 struct tm {
     int     tm_sec;         /* seconds */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581923.911393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DI-0005QS-4p; Thu, 10 Aug 2023 08:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581923.911393; Thu, 10 Aug 2023 08:40: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 1qU1DI-0005Q1-1L; Thu, 10 Aug 2023 08:40:12 +0000
Received: by outflank-mailman (input) for mailman id 581923;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DG-0005Mc-LE
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ca5e8bd-3759-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:39:58 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 030544EE073F;
 Thu, 10 Aug 2023 10:40: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: 7ca5e8bd-3759-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2 0/7] fix missing headers and static storage duration
Date: Thu, 10 Aug 2023 10:39:40 +0200
Message-Id: <cover.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The files touched by this series contain function or variable definitions with
no prior declaration visible, because it's inside an header that is not included
or it's not present anywhere. This is a risk in itself, but also violates
MISRA C:2012 Rule 8.4, which states the following:
"A compatible declaration shall be visible when an object or function with
external linkage is defined".

The resolution strategies are as follows:

1. make the functions/variables static
2. include the header that contains the compatible declaration, or add one in
   the header if that's not the case.

No functional change.

Additional notes:
- other cases, such as functions/variables used only in asm code will be possibly
  dealt with in future patches.
- functions in 'gcov_base.c' are deviated, since they are called only from code
  generated by gcc in a particular non-release build configuration;
- variables in 'xen/include/acpi/acglobal.h' are deviated temporarily, since
  it's uncertain whether modifying the include pattern to be compliant with the
	rule would introduce subtle bugs.

---
Changes in v2:
- Modified commit messages, with additional "Fixed" tags and mention that these
  are bugfixes
- Split patch 4/8 of the previous version
- Drop patch 7/8 of the previous version, because it's already addressed by this
  patch [1]

[1] https://lists.xen.org/archives/html/xen-devel/2023-05/msg00896.html

Nicola Vetrini (7):
  xen/memory: make 'ioreq_server_max_frames' static
  xen: make 'saved_cmdline' static
  xen/include: make a declaration of 'get_sec' visible where needed
  xen/arm: make declarations visible before function definitions
  x86: make some functions and variables static rather than extern
  xen/arm: mm: add missing extern variable declaration
  x86/nmi: include missing header with declarations for 'watchdog_*'

 xen/arch/arm/include/asm/mm.h     | 3 +++
 xen/arch/arm/setup.c              | 1 +
 xen/arch/arm/time.c               | 1 +
 xen/arch/x86/cpu/mcheck/mce.c     | 2 +-
 xen/arch/x86/cpu/mcheck/mce_amd.c | 2 +-
 xen/arch/x86/cpu/microcode/core.c | 2 +-
 xen/arch/x86/nmi.c                | 3 ++-
 xen/arch/x86/spec_ctrl.c          | 4 ++--
 xen/common/kernel.c               | 2 +-
 xen/common/memory.c               | 2 +-
 xen/include/xen/cper.h            | 3 +--
 xen/include/xen/time.h            | 1 +
 12 files changed, 16 insertions(+), 10 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581925.911408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DI-0005gt-SF; Thu, 10 Aug 2023 08:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581925.911408; Thu, 10 Aug 2023 08:40: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 1qU1DI-0005gS-M5; Thu, 10 Aug 2023 08:40:12 +0000
Received: by outflank-mailman (input) for mailman id 581925;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DH-0005Mc-Aj
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d9acf43-3759-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:39:59 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D242D4EE0742;
 Thu, 10 Aug 2023 10:40: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: 7d9acf43-3759-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [XEN PATCH v2 2/7] xen: make 'saved_cmdline' static
Date: Thu, 10 Aug 2023 10:39:42 +0200
Message-Id: <3a3f56b54b7051a9a741f5b54e8bc266b451c5e4.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable 'saved_cmdline' can be defined static,
as its only uses are within the same file. This in turn avoids
violating Rule 8.4 because no declaration is present.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: e6ee01ad24b6 ("xen/version: Drop compat/kernel.c")
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Revised commit message
---
 xen/common/kernel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index fb919f3d9c38..52aa28762782 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -28,7 +28,7 @@ CHECK_feature_info;
 
 enum system_state system_state = SYS_STATE_early_boot;
 
-xen_commandline_t saved_cmdline;
+static xen_commandline_t saved_cmdline;
 static const char __initconst opt_builtin_cmdline[] = CONFIG_CMDLINE;
 
 static int assign_integer_param(const struct kernel_param *param, uint64_t val)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581922.911387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DH-0005N1-RT; Thu, 10 Aug 2023 08:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581922.911387; Thu, 10 Aug 2023 08:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DH-0005Mu-Oi; Thu, 10 Aug 2023 08:40:11 +0000
Received: by outflank-mailman (input) for mailman id 581922;
 Thu, 10 Aug 2023 08:40:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DF-0005MW-Om
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 833e8d0a-3759-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:40:09 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 03E094EE0741;
 Thu, 10 Aug 2023 10:40: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: 833e8d0a-3759-11ee-b283-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [XEN PATCH v2 1/7] xen/memory: make 'ioreq_server_max_frames' static
Date: Thu, 10 Aug 2023 10:39:41 +0200
Message-Id: <7f0d3f4330a262ec17029b3d82a7a89409215fbf.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The function 'ioreq_server_max_frames' can be defined static,
as its only uses are within the same file. This in turn avoids
violating Rule 8.4 because no declaration is present.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 9244528955de ("xen/memory: Fix acquire_resource size semanticsâ€)
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Revised commit message
---
 xen/common/memory.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index c206fa48087d..b1dcbaf551e6 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1120,7 +1120,7 @@ static long xatp_permission_check(struct domain *d, unsigned int space)
     return xsm_add_to_physmap(XSM_TARGET, current->domain, d);
 }
 
-unsigned int ioreq_server_max_frames(const struct domain *d)
+static unsigned int ioreq_server_max_frames(const struct domain *d)
 {
     unsigned int nr = 0;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581926.911428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DL-0006O6-2Y; Thu, 10 Aug 2023 08:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581926.911428; Thu, 10 Aug 2023 08:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DK-0006Nx-UF; Thu, 10 Aug 2023 08:40:14 +0000
Received: by outflank-mailman (input) for mailman id 581926;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DJ-0005Mc-0J
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e89fe20-3759-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:40:01 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 97BB84EE0744;
 Thu, 10 Aug 2023 10:40: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: 7e89fe20-3759-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2 4/7] xen/arm: make declarations visible before function definitions
Date: Thu, 10 Aug 2023 10:39:44 +0200
Message-Id: <05f4dd673312ddd52dcbc8a3b7bcf0ee84993d6e.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

'xen/hypercall.h' is included in 'xen/arch/arm/setup.c' to allow
the declaration of 'arch_get_xen_caps' to be visible when
defining the function.

The header 'xen/delay.h' is included in 'xen/arch/arm/time.c'
to allow the declaration of 'udelay' to be visible.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 7cfc339cbc2f ("arm: Implement arch_get_xen_caps")
Fixes: 335ba242c55c ("arm: implement udelay()")
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Revised commit message
- Split patch
---
 xen/arch/arm/setup.c | 1 +
 xen/arch/arm/time.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bbf72b69aae6..44ccea03ca14 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -32,6 +32,7 @@
 #include <xen/libfdt/libfdt-xen.h>
 #include <xen/acpi.h>
 #include <xen/warning.h>
+#include <xen/hypercall.h>
 #include <asm/alternative.h>
 #include <asm/page.h>
 #include <asm/current.h>
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 0b482d7db30c..3535bd8ac7c7 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -17,6 +17,7 @@
 #include <xen/softirq.h>
 #include <xen/sched.h>
 #include <xen/time.h>
+#include <xen/delay.h>
 #include <xen/sched.h>
 #include <xen/event.h>
 #include <xen/acpi.h>
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581927.911433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DL-0006Qm-Hm; Thu, 10 Aug 2023 08:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581927.911433; Thu, 10 Aug 2023 08:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DL-0006Pr-7X; Thu, 10 Aug 2023 08:40:15 +0000
Received: by outflank-mailman (input) for mailman id 581927;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DJ-0005MW-Ap
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8582d30c-3759-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 10:40:12 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 004BE4EE0746;
 Thu, 10 Aug 2023 10:40:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8582d30c-3759-11ee-b283-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [XEN PATCH v2 6/7] xen/arm: mm: add missing extern variable declaration
Date: Thu, 10 Aug 2023 10:39:46 +0200
Message-Id: <228fc4768f50ea14c38b77f9e2169b76f365617d.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a declaration for the variable 'init_ttbr' to resolve
the violation of Rule 8.4 present the relative source file 'mm.c'.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 4557c2292854 ("xen: arm: rewrite start of day page table and cpu bring up")
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Revised commit message
---
 xen/arch/arm/include/asm/mm.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 2db8535a4ca8..aaacba3f044b 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -165,6 +165,9 @@ struct page_info
 #define _PGC_need_scrub   _PGC_allocated
 #define PGC_need_scrub    PGC_allocated
 
+/* Non-boot CPUs use this to find the correct pagetables. */
+extern uint64_t init_ttbr;
+
 extern mfn_t directmap_mfn_start, directmap_mfn_end;
 extern vaddr_t directmap_virt_end;
 #ifdef CONFIG_ARM_64
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581928.911439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DM-0006Yj-0G; Thu, 10 Aug 2023 08:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581928.911439; Thu, 10 Aug 2023 08:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DL-0006W8-Nq; Thu, 10 Aug 2023 08:40:15 +0000
Received: by outflank-mailman (input) for mailman id 581928;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DJ-0005Mc-Ll
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ef50389-3759-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:40:01 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 491284EE0745;
 Thu, 10 Aug 2023 10:40:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ef50389-3759-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 5/7] x86: make some functions and variables static rather than extern
Date: Thu, 10 Aug 2023 10:39:45 +0200
Message-Id: <b9c554bfb322912d294007958339cc40c9d5a876.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The functions and variables touched by this commit can be static,
as they are only used within the same unit. This in turn addresses
the absence of declarations that violates Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 741367e77d6c ("mce: Clean-up mcheck_init handler")
Fixes: 45f57813f646 ("x86/MCE: implement recoverscan for AMD")
Fixes: 155587481e39 ("x86/microcode: Scan the initramfs payload for microcode blob")
Fixes: af50dd63cf8d ("Pull nmi/traps changes from Linux 2.6.14.")
Fixes: fef244b179c0 ("x86/spec-ctrl: Knobs for STIBP and PSFD, and follow hardware STIBP hint")
---
Changes in v2:
- Revised commit message

I'm a bit uncertain about af50dd63cf8d, because it was done long ago and
it's not clear whether the variable could have been static since then.
---
 xen/arch/x86/cpu/mcheck/mce.c     | 2 +-
 xen/arch/x86/cpu/mcheck/mce_amd.c | 2 +-
 xen/arch/x86/cpu/microcode/core.c | 2 +-
 xen/arch/x86/nmi.c                | 2 +-
 xen/arch/x86/spec_ctrl.c          | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index 57e1eb221e6b..6141b7eb9cf1 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -599,7 +599,7 @@ unsigned int mce_firstbank(struct cpuinfo_x86 *c)
            c->x86_vendor == X86_VENDOR_INTEL && c->x86_model < 0x1a;
 }
 
-int show_mca_info(int inited, struct cpuinfo_x86 *c)
+static int show_mca_info(int inited, struct cpuinfo_x86 *c)
 {
     static enum mcheck_type g_type = mcheck_unset;
 
diff --git a/xen/arch/x86/cpu/mcheck/mce_amd.c b/xen/arch/x86/cpu/mcheck/mce_amd.c
index adc36522cc27..72f3feeaeed8 100644
--- a/xen/arch/x86/cpu/mcheck/mce_amd.c
+++ b/xen/arch/x86/cpu/mcheck/mce_amd.c
@@ -87,7 +87,7 @@ enum mc_ec_type {
     MC_EC_BUS_TYPE = 0x0800,
 };
 
-enum mc_ec_type
+static enum mc_ec_type
 mc_ec2type(uint16_t errorcode)
 {
     if ( errorcode & MC_EC_BUS_TYPE )
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index bec8b55db256..9fcb9c1c3a90 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -149,7 +149,7 @@ static int __init cf_check parse_ucode(const char *s)
 }
 custom_param("ucode", parse_ucode);
 
-void __init microcode_scan_module(
+static void __init microcode_scan_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index c5c28300b04d..104e366bd310 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -108,7 +108,7 @@ static unsigned int lapic_nmi_owner;
  *     be enabled
  * -1: the lapic NMI watchdog is disabled, but can be enabled
  */
-int nmi_active;
+static int nmi_active;
 
 #define K7_EVNTSEL_ENABLE	(1 << 22)
 #define K7_EVNTSEL_INT		(1 << 20)
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index ebe56a96cdca..9b8fdb5303ad 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -43,9 +43,9 @@ static enum ind_thunk {
 } opt_thunk __initdata = THUNK_DEFAULT;
 
 static int8_t __initdata opt_ibrs = -1;
-int8_t __initdata opt_stibp = -1;
+static int8_t __initdata opt_stibp = -1;
 bool __ro_after_init opt_ssbd;
-int8_t __initdata opt_psfd = -1;
+static int8_t __initdata opt_psfd = -1;
 
 int8_t __ro_after_init opt_ibpb_ctxt_switch = -1;
 int8_t __read_mostly opt_eager_fpu = -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:40:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581929.911449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1DM-0006on-QS; Thu, 10 Aug 2023 08:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581929.911449; Thu, 10 Aug 2023 08: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 1qU1DM-0006nG-HI; Thu, 10 Aug 2023 08:40:16 +0000
Received: by outflank-mailman (input) for mailman id 581929;
 Thu, 10 Aug 2023 08:40: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1DK-0005Mc-W7
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:40:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7fc7ea8b-3759-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:40:03 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A558D4EE0740;
 Thu, 10 Aug 2023 10:40: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: 7fc7ea8b-3759-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 7/7] x86/nmi: include missing header with declarations for 'watchdog_*'
Date: Thu, 10 Aug 2023 10:39:47 +0200
Message-Id: <0665857accd8f39297f4cb77329fb1874be21302.1691655814.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691655814.git.nicola.vetrini@bugseng.com>
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Include an additional header to make the declarations for
functions 'watchdog_*' visible prior to their definition in
the file, thereby resolving the violations of Rule 8.4.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: c8177e691f0f ("watchdog: Move watchdog from being x86 specific to common code")
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v2:
- Revised commit message
---
 xen/arch/x86/nmi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 104e366bd310..dc79c25e3ffd 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -24,6 +24,7 @@
 #include <xen/console.h>
 #include <xen/smp.h>
 #include <xen/keyhandler.h>
+#include <xen/watchdog.h>
 #include <xen/cpu.h>
 #include <asm/current.h>
 #include <asm/mc146818rtc.h>
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 08:50:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 08:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581980.911467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Mi-0001bv-NO; Thu, 10 Aug 2023 08:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581980.911467; Thu, 10 Aug 2023 08:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Mi-0001bo-KC; Thu, 10 Aug 2023 08:49:56 +0000
Received: by outflank-mailman (input) for mailman id 581980;
 Thu, 10 Aug 2023 08:49:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1Mh-0001bi-4f
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 08:49:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d918dd40-375a-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 10:49:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9636.eurprd04.prod.outlook.com (2603:10a6:10:320::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 08:49:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 08:49: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: d918dd40-375a-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D5qcl4Zp6brUe31k4QkNzg4nEodpYrL7orvy/BzLzeq1Zn/8hj3eo9+hHfQsJXJWEq2O2LgFI+onazADCwacPk/fNWwlXlLNgwZ1gRL0NsWhHqUWMKEQ+qs2NBS4kMWdDqXYoB75+FxsnO5MQV0XMbK2vzh+SDT304bUkM2WOyIos7qldS4pnF06zpVoNRN9L4/Y5u2klOWKcn5foy9drWuWqTSOVQaUuxtTPf5VUbJq0RM5QvmL46aorrIEovqGmcqgUXDUIIQWpYqYhVXhTAIUJ3GJwnYqNIsClrsPt0JidD8AxddKKTJBvS/B4ZBvctCMFwo/+orgOzh9ocwpFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BFMvvRc9Smv0ZNt5mmqOUKJgjxlLMFe13IuIua4HKPE=;
 b=K0b1+TqG6WZdkfga1VQ/wLGOiG5Eyd0vwd2f9I+Bv+dwwjLL+NtLtQ4Q1slWBco1mJmQJa6US/9ircgNEI/xKpJSs5pcR9b7HBSEkZo9mkTc9FVOTz72zq6agQg2mw/a8bvKz5syNB1DqH9VcmoebKHyC6Kh1DBj0LtuBhUNGXBGEVY1D2ucFyAbFys+2DBVdGJqotDg2+MhSqzql+/Y5scUXqwgPlPeqALmYIEaJ+uuD4zCNj5FQl39GRJ7GZUss1Aw0jcixOdOxWM2TpKGqUdtNXQW20xxMexLn84y/tDz9N9p16TekSHpXPmgOIwDDc0U2bBTFm1riA2O2JNJ+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BFMvvRc9Smv0ZNt5mmqOUKJgjxlLMFe13IuIua4HKPE=;
 b=IhnfEdNU9WOKwNM8hCyVDwFTqfN/iUu2H+ZneRYXd6XV/Sni/C5QVrJZ2+wekfTJUOGXH60uCwlkvNa5Ub1i4GmU79xrYzy0nGCmDvGIBGy1ehmKcxDQKfMeCtsAVXnBkKWEVNx+I+7T5Xc/oaWZK3w8vtisXd6mWL4aksT1es4nbTwZv1scyNI7k+Uzk4iELcCQDriwqR0gKB1ipSWXuTqsKGINWOv1Gv8JuRYOrDya6VqdapwbMk6HSrozZPVDA7lwJHy6VMYQt0Q2efO4brILY6UmB/c9qsTfJLEi8yZuG9rl3FeFpYKuvl62VayRKr/fNyFWOQ6SshC5he3z/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d4b019f0-70ed-22f0-4496-47bb9c385068@suse.com>
Date: Thu, 10 Aug 2023 10:49:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1690582001.git.sanastasio@raptorengineering.com>
 <ed166c38bbcf82ad58a14353a880d1e208cb2ff1.1690582001.git.sanastasio@raptorengineering.com>
 <55e1391e-a289-72bd-f663-62276cf4b065@suse.com>
 <ad54705c-62eb-7ce1-6d2e-49e60e6dc6f9@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ad54705c-62eb-7ce1-6d2e-49e60e6dc6f9@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9636:EE_
X-MS-Office365-Filtering-Correlation-Id: 244cc519-05c0-4bc6-c034-08db997ec25b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iOe1A4yU0ds1dS71rFpTYPatF7bGCX9m4fzN9Z3Kv1NGZADnegXSzbnlv5nPuAYR4jkl5mEyqtu5txNaPynCLtUQ6K61NpSl0tc1k56Aw0DZOQlWorSTE8zz5cpZfIJz4pmVJdalOSeaSBSckmLYTYkfnsiSw4zSJgUuAProH+NND9Gt+pQfk5MZjAUeDD8zYDQu0x48Jn0oDITSUXz2MSoYv4etio4Re5cJIQ5kQk8cRuNxaKwUWLk9PtNkxdngVJMdK+Fb2GmTH2lUSH8nIM9H+3WLf3zUeytXzLQMzuC+YN3ZYaYpu3cZAPtiy6dwZMKVqylkvGiPWSoNYshwQ9mUyQtCVnQNfwND+HrigHvzsWjY0ZdvnU9cJPjzSh97ew4X/uNVhPtJ3XYGZEuSS2sdXYJJoGlQx4/3WjeQSzw+nirat67zkqkC3BCHowviQciqCjtTnUOB/wcuSZPAl+C8QUYO0djk0+VmfoUgVC7EMmKrtxIrRqDSVobI42ofkFtcGFPLhEfrPY/qr0XxvHEowmWcZWHiQ5FsdF3ogAhSRkYa1nE1iJmoLkRnmh+j0YrykNpAZyFS+Yk0/iup9IQhYZamxFFMOTCeRUydn8eVo2Rrhv7FjwDpJsXCvwGtoTamxEjWSNosVNn9nOppeA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(136003)(396003)(346002)(376002)(1800799006)(451199021)(186006)(2616005)(478600001)(31696002)(86362001)(6512007)(2906002)(36756003)(6486002)(6506007)(26005)(53546011)(83380400001)(54906003)(316002)(31686004)(6916009)(66476007)(66556008)(66946007)(4326008)(38100700002)(41300700001)(5660300002)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHZqbHhSbVVJeC82cUpqVVNhOFVBVkNOZ3E3ajU4dGpsMGxQeHA4YTQ1NG44?=
 =?utf-8?B?RHh5TVJDZGtNbTFBaUw3Tm91TEJxMGJBbVVsQW5BeHNTMlJjallSdDBUZkZX?=
 =?utf-8?B?T1ZvUGRFYzVldE5TYlJnS1o4S054VUtBNjVwSnh0Tm1ET1lmUmdBTEd6d3Rq?=
 =?utf-8?B?cUJOKzRadERuUTc0OUxmR1N3UEtyZHlFZmVIV2JrQ21NL2R5YlJiMHpCc1N4?=
 =?utf-8?B?SWZHUlFrNVdVamxSeGtLdWZFK2VzNHJMTUNtbVZxbE04TTJVdm1QRTlDSm9O?=
 =?utf-8?B?a3RveTVQdlVFSGJzR1lraFBqR0J6dmNEdU1YSXVaM0dudHFtalFvSHhBOEtt?=
 =?utf-8?B?NlZlaG1vbEFjN3FSRndxeFcvRmF0N0FjYzhqRFRwZGwvVXpVRkFyZ1dPa0pi?=
 =?utf-8?B?U2x2eWx6dldlOWN2NUFNRFF5aFRSZ0dhRmRkUG9WbEJVa1dwejNaTTE2NGRG?=
 =?utf-8?B?cUdwcVJ2TDVJN3V2QjJrRWFzaUZzRVZxdEhXSXhXWEFzNTA3aGJnWFlUVnpy?=
 =?utf-8?B?L09yeE0zZkx0VkFtSC80RjFVdUZFTDVQUHMzSXppdEQ4aUlaSktWWGlsdVdN?=
 =?utf-8?B?enFBcTltem8wOFZLeDl6NFphUHdIU1gvRlRPdiswMWNVbU1MZnhrVWNpaC9D?=
 =?utf-8?B?cU92VGNzcnhZTjJoYVExZk9kYVNiSi9PZ3VjTWFNV1Jnb1g0VVJKM2NUNy8w?=
 =?utf-8?B?aTZDQU9UN2tsT0Z2eFRBYUc1TXJZa0dNRnBKdjBpUUJBZ2Rvc2ZmcisydWQ0?=
 =?utf-8?B?YzBsRndHaGlaV0c5TjIrclNmRlREbzVWS1kxNFZJZENleVE3YzN4Ui82SHVm?=
 =?utf-8?B?US9KMkRPSHA2TG5GNjg2UzZtU1NBZTR1YjlFdFI2QnBTa2VTV3lobEVrZFFn?=
 =?utf-8?B?WDJSSmQ3eGluYTZkeUFDNmNBaXNMRy9DTDdnUnh5VjRJOEVKUy9WdWV2bElO?=
 =?utf-8?B?cG0zZ05nbXhNT0FPbGhzZCtIR21WcnhsemJmTDRRc0RYdkpEeWxzMGd6ajhm?=
 =?utf-8?B?V1A1S2pEQThLUDhpQ0wwcmQ3Y3hxTWxQeldjM3hPeVNEOGZtMExYSTh2dGNu?=
 =?utf-8?B?SFlXSUlkRGFETmQ4bmNrWlh2TTV4cy81K3JKeS8wOGR5Mm9mWXc1eWZpNXpV?=
 =?utf-8?B?aFBIa096OWlOU05NZTBXcHVjS1RIek1sc0Zsb2grcG1BZGJjc2kwMDAwT0Iw?=
 =?utf-8?B?V3BISXBmUGsxR3BXU3ZBREJjRzlnWXkxL2lZQTNxWlZDYnR6WnBjWTYwQjIy?=
 =?utf-8?B?SDJjYitzdUFKbDBVbS9uZFYrT0FoSHpoaHlSOGkzV0lhWDZOMXRHTk9kVHk1?=
 =?utf-8?B?UWtBMjZUK0MxVFYrcEp1T1dnUmJ6RHJGc3RJSzYxLzNoUkRkbmVXNCtDR3d3?=
 =?utf-8?B?UTZsYjdKSm1ZVldYcFUvblF6ZDZHWUVDTk00WExyVXRYanhPNmhRZ1Vla1BC?=
 =?utf-8?B?OVVESURqMk5KQnRob2o5OXdaK1prY3N2U3VUMjlGc3FldlY4WUNxZ3h4T3Nu?=
 =?utf-8?B?cHd0engzdEFWNFFVUmJIM0xiTmVJcmhTOFpuQ2t1d0FLMVBmc2N1TEE4bGRl?=
 =?utf-8?B?WVh3cWhlb0NIT3o1RHJ4cmVMME9FbXF0dE1qYUJlNVUxT3NjOFJFTTYzMUJN?=
 =?utf-8?B?L0RqejdSZDVUZkhmRXBPNG1rOGdYNkNZSERWUEFBYnUyZHRSSThOS2J0N3pX?=
 =?utf-8?B?WDFZUnFjV0VRUUY2cktYOGYzUWM1NmpKbGZrTXFrUE1peDBaZjg1SFBYdjd1?=
 =?utf-8?B?NSsrb0ZrYVFWOU1OWGtpZFR4eUdOdG9wWnk5Q29FTVBpOVVjaTBNZHhlRGEv?=
 =?utf-8?B?eXpwZWZQb29SRS9ZOG9jcVdkY1FYUWJpVU1WQmJZeXVuM2cwRG1vOWd0MHNY?=
 =?utf-8?B?NUlldEhseHJzWTVNSTVvYzFkTXIybncyZGpLNGh0b1IwQ0RvRGt3cXhRTFRK?=
 =?utf-8?B?cFRwOTRCMDZQU2h2bDYzeFZoMzgxcDZCQWRBVEx0VkVGcXg1Z2tDb2hDSkxI?=
 =?utf-8?B?dTFRWnFVOTBrdXNSVEVpUjZpUnRBQ2llT2RRZW5OemttVDdCc1RpdWNyRTJq?=
 =?utf-8?B?VHYyRko4eEt0dDduQkcyRVNyQ0FDc2RWUWtKS1ZMZHFKbncwVURsSnFOMndQ?=
 =?utf-8?Q?jFmGmeB8QyAsOvOqnbagXPl6n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 244cc519-05c0-4bc6-c034-08db997ec25b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 08:49:51.0104
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uiOrIWqSdSuJonoxe7rzIqKqDe0okYDdWVk2DWX/KKNWT+3wh21iziQ5hBR1aK+Uk3BWlXEyPSPOWfcDCd7DFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9636

On 09.08.2023 22:54, Shawn Anastasio wrote:
> On 8/1/23 8:18 AM, Jan Beulich wrote:
>> On 29.07.2023 00:21, Shawn Anastasio wrote:
>>> --- /dev/null
>>> +++ b/xen/arch/ppc/include/asm/page.h
>>> @@ -0,0 +1,178 @@
>>> +#ifndef _ASM_PPC_PAGE_H
>>> +#define _ASM_PPC_PAGE_H
>>> +
>>> +#include <xen/types.h>
>>> +
>>> +#include <asm/bitops.h>
>>> +#include <asm/byteorder.h>
>>> +
>>> +#define PDE_VALID     PPC_BIT(0)
>>> +#define PDE_NLB_MASK  0xfffffffffffffUL
>>> +#define PDE_NLB_SHIFT 5UL
>>> +#define PDE_NLS_MASK  0x1f
>>> +
>>> +#define PTE_VALID     PPC_BIT(0)
>>> +#define PTE_LEAF      PPC_BIT(1)
>>> +#define PTE_REFERENCE PPC_BIT(55)
>>> +#define PTE_CHANGE    PPC_BIT(56)
>>> +
>>> +/* PTE Attributes */
>>> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
>>> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
>>> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
>>> +
>>> +/* PTE Encoded Access Authority*/
>>> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
>>> +#define PTE_EAA_READ       PPC_BIT(61)
>>> +#define PTE_EAA_WRITE      PPC_BIT(62)
>>> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
>>> +
>>> +/* Field shifts/masks */
>>> +#define PTE_RPN_MASK  0x1fffffffffffUL
>>> +#define PTE_RPN_SHIFT 12UL
>>> +#define PTE_ATT_MASK  0x3UL
>>> +#define PTE_ATT_SHIFT 4UL
>>> +#define PTE_EAA_MASK  0xfUL
>>
>> Did you consider introducing just *_MASK values, utilizing MASK_INSR()
>> and MASK_EXTR() instead of open-coded shifting/masking?
>>
> 
> I actually wasn't aware of MASK_INSR/MASK_EXTR when writing this. I've
> just looked into it though, and I don't think using them makes the code
> much cleaner. Specifically I'm looking at the implementations of
> `pte_to_paddr` and `pde_to_paddr` which both need to ensure that the
> returned value retains its original shift.
> 
> For example, with pte_to_paddr, this change would be:
> -     return be64_to_cpu(pte.pte) & (PTE_RPN_MASK << PTE_RPN_SHIFT);
> +     return MASK_EXTR(be64_to_cpu(pte.pte), PTE_RPN_MASK) << PTE_RPN_SHIFT;
> 
> In addition to updating the definitions of the *_MASK macros to include
> the right-most padding zeros.
> 
> - #define PTE_RPN_MASK  0x1fffffffffffUL
> + #define PTE_RPN_MASK  0x1fffffffffff000UL

This is the important change. With that the above will be

     return be64_to_cpu(pte.pte) & PTE_RPN_MASK;

and in cases where you want the un-shifted value you'd use MASK_EXTR().

>>> +/*
>>> + * Calculate the index of the provided virtual address in the provided
>>> + * page table struct
>>> + */
>>> +#define pt_index(pt, va) _Generic((pt), \
>>
>> Earlier on I did ask about the minimum compiler version you require for
>> building the PPC hypervisor. Iirc you said about any, but here you're
>> using another feature where I'm not sure how far back it is available.
>> As indicated back then, it would be nice if ./README could gain
>> respective information.
>>
> 
> I'm locally building with gcc 10 (shipped with Debian 11), and the Xen
> CI image for ppc64le builds uses gcc 11 I believe. _Generic and the
> other features I'm using are certainly available further back, but I
> haven't personally tested anything earlier. If there's no objections,
> I'm tempted to just codify gcc 10 as the minimum supported compiler
> version and leave it up to users if they want to try testing on earlier
> versions.

Spelling out what you know works is good enough for starters. As you
say, people can propose updating when found too high.

>>> +    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);
>>
>> paddr_to_pde() doesn't mask off the top bits. Are you relying on
>> lvl2_pd_pool_alloc() using PIC addressing to get at the value it
>> then returns?
>>
> 
> I'm not sure I understand the question here. The pointer returned by
> lvl2_pd_pool_alloc() will indeed have the top address bits set in
> accordance with the link address, even before paging is enabled because
> of the relocation code and jump to XEN_VIRT_START in patch 2. This is
> fine though, since I call __pa() to strip off these bits before passing
> it to paddr_to_pde.

I'm sorry, I managed to overlook the __pa().

>> Also this and the similar lines below look to be a little too long.
> 
> Yeah, I noticed this as well, but my understanding was that lines longer
> than 80 columns were permitted in cases where they don't hurt
> readability. In any case, I can fix this.

There's only one general exception to line limit: printk() (and alike)
format strings want to live all on one line (unless there are embedded
\n), to allow reasonably grep-ing for them.

>>> +void radix__tlbiel_all(unsigned int action)
>>
>> Is the double underscore in here intentional?
>>
> 
> It matches the original Linux file from which this routine was imported
> (referenced in the file's top-level comment).
> 
> As I understand it, this is meant to indicate a private function that
> shouldn't be called outside of radix-specific MMU or TLB code.  As
> Linux's radix support code spans multiple files, a static function
> wouldn't work for that.

We haven't adopted that style yet(?), but I'm also not opposed to you
doing locally.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:00:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:00:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581987.911478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1X3-000419-O3; Thu, 10 Aug 2023 09:00:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581987.911478; Thu, 10 Aug 2023 09:00: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 1qU1X3-000412-Kj; Thu, 10 Aug 2023 09:00:37 +0000
Received: by outflank-mailman (input) for mailman id 581987;
 Thu, 10 Aug 2023 09:00: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1X2-00040w-Nn
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:00:36 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e308882-375c-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 11:00:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9189.eurprd04.prod.outlook.com (2603:10a6:20b:44c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 09:00:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 09:00:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e308882-375c-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LbHTOcpe8LJ1wO6GjPhhLHQs6iQmVfhvmIHHFum85MyMYpIRdaYAEhavL5yxNEpqbrCdxWjFzGobS5/bBud6a+cptbWG4bcVkKo+YEIMPK23A9K2goOko06Tr8r+VLJS/7tHHJg0BMOArofj2PZUIkt7HKUb4y+g1Eg4kfLU7rFZMFvu0RKV74tjuiZwTlhPoZzoCv3QXF4YUbmprGtayf5OxxMOpuQQ6gTr72j2c/ctLWAU12S6a/f8ML4j6nFwEHMFhDgsuP8d6zZnzin7jbKPZl+Uu/06YDbpgZwP/LDeNtiex7rowhgv5xCA2pksA/zVtHDj8vZ6qp52wr6ydQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=40VPJiKTJTqvfzxYnOBbm5trwHZ4BPF5zYlofLlqvnI=;
 b=c+8Gg3/diZ3B40RQOw90m+OevvRmLMCUbCfnugVyT39ixBEBHO2ZBdSGWShNVPyrtJXopawNsiHk/64tuMOoG/fMb4JkA5cbpZ7eKF8APv7PMZsaJVTpEwRxcP5JxYd5DrH+6Bk/gZIERxYTr5RbyrJWpv2kLf0necyDkfTxKZBHp9vhcPQxjzdnV8cCMCRkLxrUKMHrJwMGudVkLxFqydRqadI796PC00K16PQE44obmYt9GX9RksHa5kgK5nD4D2H4vfIFLv55sdvyGikTZBm9IW84VMnEtxa4VicK82Z7i/6y66+7RBCEE21fFkBgT8JdemtNH3ooPHJfPzeuZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=40VPJiKTJTqvfzxYnOBbm5trwHZ4BPF5zYlofLlqvnI=;
 b=ItfDMcp/uTV2gj7zUYTfESiMsTb6M2L4lbJ3xvtK6ycLjCe5bheJT/WKMIfVQlsOKChMPWRpupzY45tJZU8SslrXDR6M5JuGN+iujI1JSAVuLYpHUUhtaPFp7rLj01cAsPKCc79EuSgfzlOeW4hybMSoxXRFqxNXHCDG6qZt2CwPbCLQAKkE516oUSsCZCyE1ele8IzcuWjZVLxiJAs2Xg56AM3/Zgqlw5gZ12XP6HVgwbICw+IBUnwf7E/1Dd5wb9xOooNfCPVJDZ02hyIMit65oMS6VAYgRma5/R2cXVqdXfUfQupIjl4mYPygmzBJWve2vFwR9MBwfy20i8sqqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e62ccd1-315a-3cd6-fbfb-b86af7177e7c@suse.com>
Date: Thu, 10 Aug 2023 11:00:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 1/7] xen/memory: make 'ioreq_server_max_frames'
 static
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>,
 Wei Liu <wl@xen.org>, Luca Fancellu <luca.fancellu@arm.com>,
 xen-devel@lists.xenproject.org
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
 <7f0d3f4330a262ec17029b3d82a7a89409215fbf.1691655814.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7f0d3f4330a262ec17029b3d82a7a89409215fbf.1691655814.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0036.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9189:EE_
X-MS-Office365-Filtering-Correlation-Id: 95ea19ca-4d88-43bd-b5d7-08db99804091
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5OwFeLlF+yuguhyXDBRiMAqIX4bt6SDlSF2EtLczBk7wTWNghYQShtgjZNvGRE75EtM6l7pjgSbRLe5tyWQlg9PRjtHpOGIwIsRk60SmW2nKFcoB1MmW0h65BpCQBF5HhijVBwrb5NgVLFL0+878F0zzXwYZDO0+0Dg9aVOUemsWg4l3Wn8FESorNiAFqaCYa1X82PZPp3BiGRd1w3P1PHumel0hLF+25JDgUR0u05O5tzfa2a5AbkoFlR1ZQss3vXuL0BQJUbotcxIY9XE4Qj8nRS1ybpU1EI5j40WzFyPwYG+VXs7eGW2OoHacEkRw4MsnRVjan2KgtrQ7IL7g8Uft6EdmCSloK3snOR1b58cb8b3cSextV24JCw2aruhPOR4BojjapMVbk6P1olE683L0rEIdJDOV7x4L9yUBu+8SPp8HjRPydswAlbR21v+JsFCq7kQLMalNiTi/7BBNv7ycJO0ukbjp5WR2fFLr3KAoR2UgMBJVfY9NVRMlwYS2LXO8x/MtBMIk7vZQOBaK24KdNCPFrrNm24U8zvaSXF1sdTUSKVbFqcUwvVJ8LU248YtchFBIMrK1n8JDQ0GB6dXisXyjFJKojAiLYZgd3bRFP22MdqjIFoh+XNEF4bqFl3Ay5mF/HhJQN+zk9iYiKQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(39860400002)(376002)(366004)(186006)(1800799006)(451199021)(6512007)(316002)(8676002)(8936002)(41300700001)(53546011)(6506007)(26005)(478600001)(36756003)(6916009)(4326008)(66476007)(66556008)(66946007)(38100700002)(54906003)(6486002)(86362001)(2616005)(7416002)(31686004)(2906002)(4744005)(5660300002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0tJZ0syYVp0T21YY205Tm14cnEwaTJUT21LZHBHL0J5by9mNUswT3hMOW5J?=
 =?utf-8?B?a0FlUUtzOTZQM2EzTnBVY2Z2OUt6K0twRG5SODhWRmI3UzVpTHBCVFJHNmF5?=
 =?utf-8?B?dHR2b1dXTUZ4S1FwU003anhCamVaeFU3VGFScHg3RndLL01sZ1VOS3dSR1c0?=
 =?utf-8?B?SnR3ckRwSGtyR1p1b1ZtbWU3VEpuVUcvWnpvZDdNTGdpNnp0OXRUd3UxeVpV?=
 =?utf-8?B?bHlnMHhIbnF4UnRKRHBaUkZHYWQ3MlJkYXFPWUxVQjZicnUyNHM3bk50bnZz?=
 =?utf-8?B?cWFPRzJoQWY3WGhzVU9ud0trMlNZMHlwUStmWVdUNEtRaEQ4R0tCOEdvaUh0?=
 =?utf-8?B?UHgrVDdOTzRlUnA5c0RhdXlHZnc3WlE4emFiN3lQblV1MEhPNExVb25jWjJQ?=
 =?utf-8?B?WWxvak9lbXdxSmFtRmd6UFB0OTh6ZldZWTBKdG0xYWJKSHFSYnZLblR1Z1RR?=
 =?utf-8?B?UWMySDBkOThjNytvMmk2R1J6cmNYMWk1cGJkVDdDZDc0TVRqaS8rWXgrUlAx?=
 =?utf-8?B?MHFxd0FzMUw2WmtsSnUzbGhtT2hSeEpsZXRYMHpQU0p0L2oyY3RaNXEzMitw?=
 =?utf-8?B?M293OU1FV1NZVm0wVVY2YUVROE1LTndCMHRRQUV5VC91b2lEK1NRQzI2aGxD?=
 =?utf-8?B?cmlLbFFERzQrN0FyamtyRHBOdzlRWXFxZERKbUtERnJuUzdHbVA5Yzl6L1U5?=
 =?utf-8?B?MWhJdVdwRThOU0l6UUpqYVhwMCtseFRnbFg4UUp4K1FBRmZCOGNpVHdLV1VZ?=
 =?utf-8?B?YjNKK2YxWDZVd09zaWMzWjIwSVlnRkV0YW01Y3grUVgreG8wRlBLUzBCa1Nh?=
 =?utf-8?B?eGU2TVlRNE05SzMyeU5BNSt6ZlZaUWpaSmRVd2N5U0hHTStJbTVtV1d3OGNM?=
 =?utf-8?B?SXArMDBuL2FGdE5vWGhPbng0UU5Wd29sVVpBNEJKS0xzNU4yeFFsSU1yNVhl?=
 =?utf-8?B?d0srdzAxYVh1VitIT0k0aG1WY29PTSt1cHZobzZ0Wkxad0FRaUh5ZHpHejY2?=
 =?utf-8?B?SzZjVDZZTURRb0NKVzdHMmxSVlNoUmJSUUM0ZFh4QlhiRE1CZExKVnRwOFJC?=
 =?utf-8?B?SmdiQktqdy91dUdJbjF0VTNtMmRibTFSeHhycEdyNUVlNk5scEVSUURKS3R2?=
 =?utf-8?B?SUd0a0hibWYramJaT1hueGxSb1dtYWc2UnZxczR4RUp1VzFYSFB0ZGdCYnNP?=
 =?utf-8?B?c0hRNWZkbEpJK3hoQ0h2ODFyRktmdmZ3c1ZNVEhJY1hkOVNvMmgvdzBlRFZK?=
 =?utf-8?B?ZXBSQXl0S2E3d2FPaHI0R0xoc1RRRldjc0FmSUhxWmdBL0VCdnVnNWZ0a25N?=
 =?utf-8?B?RUFQM0p4SkhMSVlKb1hhQWJMU2N3Vmo4K1FXK3ZVYmkvcW45Vnc2Z1hGY2Qr?=
 =?utf-8?B?WktjVWFCOW9Xa1RDdzUyTW1LSldOdmdLZm92YnNiM2Voem13ZlRpUkE4dVhT?=
 =?utf-8?B?ZWJSekZHQ2xGd01sWEhlbjJYTU5hWkVrVVV0b3BBR28yUUR4MEpkRXB1UlZy?=
 =?utf-8?B?ZXpLTFNYSmtaTk1BaGdDQkRaVmR5TUxyRDlGbFZULzVTbzhEK1N1WFBRMVFk?=
 =?utf-8?B?U0ttckkraHdmVmF6TWJjRERLYnFmbUVmbEprZmd5K3RNN3RVSkcvUzJzb21l?=
 =?utf-8?B?Sm4xKyt5bjhNbE1XSVA4ZTRwUmdyWUFySlREcjkxMEx3VDNnSFRhM0pkS2U2?=
 =?utf-8?B?cDVsT01QVmxMWXBjOExHbDZ4V3BWbGhnZ3lIbk1iS0twUGZDcUFYK1o5Ymdm?=
 =?utf-8?B?Nk52dTl4MW9UdzFleXYyWllkREtWcmpaK2VkMW4vU3dCai9LcWJpa0diOUlQ?=
 =?utf-8?B?QTVHYmpBbE44Y2Zqd2J2UkZNNUxlRGFjdXptVHZOSk0rK01BRTNBcW1rVGcw?=
 =?utf-8?B?K3ZpZUgxN0IwNHdOVzVkM0p0SVhDV2NXNG9PZUxTK1orYWxVUGMrWnB5Tnc5?=
 =?utf-8?B?bTFkRktueFd1Vk9BSHprSmhLOWlvdmpoN254MkRqUFo5bU9rZG9FclFqdXlp?=
 =?utf-8?B?M0pHV3BQTHY1OXI3MXg2ajZwTXc0Nm9ObGloQ2Q5elJZNmgzNFdCNy92SnB3?=
 =?utf-8?B?OHJpMklaT2h1YTdkenlCLzdBVVFNL2xud3FuQ1psbmEyc0JtenBJbnBxWjk3?=
 =?utf-8?Q?iGQ0Oiok8mCtP7MiLH3aP7ciI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95ea19ca-4d88-43bd-b5d7-08db99804091
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 09:00:32.2593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B2RCtmZH7a2iOzbl66H04I2I/erBfZ5cUmed16TgyIk57z/Jnx3zgApSCI49bR0OBnkqXtSTV7CmHPImAtdfcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9189

On 10.08.2023 10:39, Nicola Vetrini wrote:
> The function 'ioreq_server_max_frames' can be defined static,
> as its only uses are within the same file. This in turn avoids
> violating Rule 8.4 because no declaration is present.

Here and presumably in subsequent patches (I only looked at patch 2
for now) you're now missing the word Misra (ahead of Rule). I'm
happy for that to be added while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:01:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581993.911488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1YC-0004bT-7L; Thu, 10 Aug 2023 09:01:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581993.911488; Thu, 10 Aug 2023 09: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 1qU1YC-0004bM-43; Thu, 10 Aug 2023 09:01:48 +0000
Received: by outflank-mailman (input) for mailman id 581993;
 Thu, 10 Aug 2023 09:01: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1YB-00040w-PV
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:01:47 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20619.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88ad5ce5-375c-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 11:01:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB6928.eurprd04.prod.outlook.com (2603:10a6:803:12e::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Thu, 10 Aug
 2023 09:01:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 09:01: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: 88ad5ce5-375c-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PN+FCmh+B0qhqVrz5Ord3qPAk34BwmXDk5WnRvdFRCZ74wFCRVmoy+0s5rirjvldfA80u1JQaEQ9oa3Z+QhVtia5PAfz0J6qCnlIevkR6EXeoRB7o0io4nI4RX8GeUhTtTW37/35lG4he7oMgYWMWVvY0vVswJEj51SiBI01slWXpK7xsNaaKB4i4omv23LbIkAognSnMP4tfsrlR2FWdSO4rMqMwAWUPETpXrQgfglxGk5bSjaqlhYQQgUNzLj7BzGGvGJjcfCPAS8tJaj62w2xf62teomRm8SQj7RgjysDJej/OFHcc5wQmOpAHZnda3qb966yhHRug1EYsCBvbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SwTKdAq1WQYnB+J98khSAMZBivdEeCyGK++sBSMLiPQ=;
 b=WyMBjk3UmnYC+8u7ahR1p8eTbDDlbQWSH6dwiery7JCk4FI0jhh2sVXUbvUrp41LF34whSvSfpkM6XD3VHAIIENnpTXAIn0NM4zm7RFCTn9ZWwCgcChWI6viFAvgIBzF7KS30pLhdbJwSYTOfwR7UFZ7dHrMgQZKouQyKuyq+ICVgMIFmIizG73x87hcObwpuGj4JlQ2/AVriYBivY9jcoI/THwCJXmEKbE9CM3dfkU7ctYtqo9phVndAJek+nk/7i4A2zm4GfQk4mFlEcwxFj2p/OJUZ0A+5+H66syg9HpYzexKebyPGcJrr3TC4c+vUFSGA4wVPBad15PjxnjRBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SwTKdAq1WQYnB+J98khSAMZBivdEeCyGK++sBSMLiPQ=;
 b=ZeNDsipArC0DlVW2OTV8dqnn8tKYvbYmcMNC7GARjGBRv3N/COpGG2TMnXX3wZXk1IG9WdlFEmCyf3VdxYdtHoJfZ5cXtXnLPQpaCJGfDEcTyKiyH/2H3Q4VufsVC0pYl0Bwtzv2sfUy6p0ubBV8LGhHC5X5qT5r3ue+D6D+WHJn0QH9yZI626K78YXaznk0agPwggaTNcFHjYYEK7GCiWnuvY3TeSeCWL2Oe0ibyDZKFzVM4GjNNkoEfwtPQje5SzrLAhDpxkK52L6zrHRE2tlJs1UO5js6cu46HzOY3Qt9Zuq4jecXBSLxqN81cwP9adNIQbMzfSMkF8uxC26LOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce9dab96-fc3d-dc9f-4e63-bb9e98633c4c@suse.com>
Date: Thu, 10 Aug 2023 11:01:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 3/7] xen/include: make a declaration of 'get_sec'
 visible where needed
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
 <37fed394315c24e7b7419e564696a534886f0d53.1691655814.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <37fed394315c24e7b7419e564696a534886f0d53.1691655814.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB6928:EE_
X-MS-Office365-Filtering-Correlation-Id: f8d0fa6e-6c26-42dc-0a2f-08db99806aad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/aVSmOuoKzrF9/xaOsQT3y7OEnc9EPkOGj6wUUCsoQ4ZZ8YXdEnkKFZY+eCcdRhMD+XpcaxsBovFXjAlnHf4vWU5w8MtRDD+UpJaRea5nue5Eg8DI1gXmu18M4A6RhpFmlmNYaXLCZKwn12fQ+o7HR/wigzSg+bMPBdvHhAUKEEURy623e7zRuCzRSf4gNjauJTyBNotLP2G9cDN7KI1aMCYEzqeAet2ydJ/QwzioipA/Lsgp68WEiJgWQWztBMPpKZJEpkVlzRH0z7vlnlrIyO1ELHROQrxlr2MLHDSvrbiwolFf5sSmFZaBI+pqFr/B3eK+OdrNJCWVowR6AKvNHeicdnBCDVC5WUTX1Sitd+261fwiJfRpBxvYDbLFDChC7T1Jfnnq31m/+PUWl4P38QtlNFpQuC7ie46uCvT6QwDgTr5Mwj0m3x4RoCth5Kj4tBHGoQwSoS0LvX+MMb4QYfuhm9It4TgZr5A74WS8QwQdlKRomQU4sxLiDSGZEwaByddZ7peGubRJ8Ulj0BLqlDwZuM4WT5C/ZJRJNMHMHlmN4Ua7dPpmxE7ZiwUOzob5oCdoqDdEYYfui96Kcds66NslaIdK7n6KEN/YgHw9KTcsK62Y9RGa3N+CFYNTac5ov0v47lqTlJ83eU5a1ockw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(366004)(346002)(451199021)(1800799006)(186006)(41300700001)(6486002)(6512007)(26005)(38100700002)(6506007)(2616005)(53546011)(4744005)(316002)(54906003)(86362001)(31696002)(2906002)(66946007)(66556008)(66476007)(6916009)(4326008)(36756003)(7416002)(8676002)(31686004)(5660300002)(478600001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dEZZZ1B1S042aFhUc2lnQ3VQSkU2QVRqYS9NemFENUd1MHllQ2dvUi9aRlZW?=
 =?utf-8?B?bWR2Tk9CSFNBdUNVTUxmN244NEpCSzRlcVFXVkNXNTRrZXJlL3hHcDRZSGds?=
 =?utf-8?B?cmM1TnZXd2tXZFFWaXp4aVJxK3IzMXJZOE15eTRWMFg0Q3JUdVlDV0ZnbG04?=
 =?utf-8?B?YXhGS1Z1SU1DL1E5Zlo0eTRHZmNPa2FHdEh5Rlh0RjJ0YytuNWx1YVFCNFNJ?=
 =?utf-8?B?RERlQ00yS3ZiTGxVL3drR2JyL2JZSnBQbGppZi91TWZ4Um0zN3hjVGlJa2tk?=
 =?utf-8?B?TWFZaVQ4WDlMYm5MTkgvbkVsd1kxMXJNa3kyelo0VmYzc1ZNWFZkQkRmaWhP?=
 =?utf-8?B?ckFRWGVBSWxFVVh0RHJoeHBpNU51dysxeHZ6MCtNanV1bGRsSmxHcURYbXJU?=
 =?utf-8?B?cVVUcGMwdXpaTGV0R29KTmc4OHVyWnExMS9wY1BoaUJLSmZIMGNQbTM1RmRR?=
 =?utf-8?B?aGgycis3RllnTnhoNnBNMHozOTYzY29DL1Q4OHNvcEdsOVgwb1VOY2Jpem9V?=
 =?utf-8?B?VkhPUGpKbjJhSE9JaUs2VmwyMTJlQ25aR0FCUExqKzVPdzk0SElkdnlBei9H?=
 =?utf-8?B?STBObnE2RDhwRG1VOHlyQUQwTjh4Y1dDalpjeUJDVGNCUGt2U0o3NHJ3ZUl3?=
 =?utf-8?B?SlliT0s0TEJIV3pmRHJ2U2YvZFJlUnNIT2ljLzluSUplWGdrYXMyZTBHMWp1?=
 =?utf-8?B?TFpDMDVzZHFhMGQ5RjFHMWNTMkxyUG0rekxJSUh0dWlJeU5pM0pUQ2hvRXBj?=
 =?utf-8?B?aWVYaEVDTUwrSHVnOWRUTUVCdWpXNlVDMFRzbElxQ1h1c1dBY0cyakRMRmpm?=
 =?utf-8?B?Zy9zcWNJb1RkSm5RTXRFM1hveHFqUFhIZkJwK3M5NFlvcGlPY2pLSStXUGNW?=
 =?utf-8?B?MlIrZTFuUDdwVnZJM1VCVmQ1K1lEQ2ZXelYxVDdsYmNTbUdMVU1oQXlMVllh?=
 =?utf-8?B?MHp3R2hkbHA3K1kvYnF5NElzM21xemxIMXN3YzQ1RnA1Z1FwekUxRGtEeU5M?=
 =?utf-8?B?Mk9kazZYYysvRElwSW5aUDdwYmQ2dDUrUnVVTnFvT0hOdUM0Z3dYdVk5YldS?=
 =?utf-8?B?c2FyQ1JHTGVGMDNERUpSMXEwUzljT2pBUGg1K0ZzYnZwVjd5UVlHVjZJTE1L?=
 =?utf-8?B?MUp0eDhxbHQxNFVyVU8zL1JpN3FDOUNtdmhaKzJhbDVFNFZaOHZGYkN1YUkr?=
 =?utf-8?B?U1Y5aUkvcGlTOHkwMnpIYlI3WGtRRkd0RVdRY3d0WEM2V2V6YzZMTmlwVWl5?=
 =?utf-8?B?TG00bDN0V25DamhMS0hTSElGL3IyQUVMKzBxZG9mZ0EyekNVTkx4WGMvWjFm?=
 =?utf-8?B?NzF5RnEzdWx2enphNHAwU3ZibDhoM21XUEJmR0pvZHN0bjl2WEhua21rZzc0?=
 =?utf-8?B?ejdhM3Rxa0l2WHFSU3NmaWFhalBIUmZaVEdFVlpjVHRDWGxDaEx5d3JOelpY?=
 =?utf-8?B?YXZ5Zk9DNTg1a0pJdTdBVnc0VTNmUFZVbWJkU3ZsTUMzOXBTZXdSWTNsUWxk?=
 =?utf-8?B?ZDdjUzFlRDFIemxWTUxFTUVic3VsRHkwTWEzU0xEcE9BTGdtM2xSVmlpbjFO?=
 =?utf-8?B?TXpHOFEzNHNEMDNva0ppSHpsYUcrbExwMlRMbEZSeEltWUdVTyt4ZXEraStX?=
 =?utf-8?B?UEhEZ0FvTzBUeE1UOXY0TFFZTERFblR4c2tlbmJ4cDdXSy90N0I1M21TRGNI?=
 =?utf-8?B?WDBNdHhtaTM4S1JVaW5YUlZGbmNtZ0Y0Vmp3K1dNZGFEMTZuTzFSL1RmNUJ4?=
 =?utf-8?B?S0dSb0EyUjNxZVk3UGJ2dzFCeDNZc1RORUMyVzczZTFtUUIvUmZ6SG1rZ0VT?=
 =?utf-8?B?TEI1dUVyVmREK0NCVkREY3VIdkdoNW1sQWFCOG9Tb0VES1lqYmlHZHN6MnJU?=
 =?utf-8?B?WEFYbm5JRUlic0FQd1drbFBoZU9GOFVnUEpHcDFBN3hQREpYZWVWazRKVmdi?=
 =?utf-8?B?ZWd0a0F2MlU3QnR1ZlBZZ3o1YjRKeExUSitYYnFaMXd1UzhkTkFkMVh4TnA2?=
 =?utf-8?B?OVo2bFlTNjlzYmhMYXVPTG9jVmd5TGlHNm1VUHZqY3dQWGNVWGJ0RG1zNmVh?=
 =?utf-8?B?MU1OblZVZUFhNDkrUDNpUUJvK25WTEswaHRTcTlPcC9HRFo3Zi95MTVaK2Rq?=
 =?utf-8?Q?Fl1v0byDhbJH7muWMc/q2aISy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8d0fa6e-6c26-42dc-0a2f-08db99806aad
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 09:01:42.8978
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DiQF8GKmiz5nFWGQ3PDFtJPFCzjguKaSJDsP/qTLDTp0BrGdgbzvqsq/HHgX0DV2IAyrXBxBdpT1ZLHMKL7HRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6928

On 10.08.2023 10:39, Nicola Vetrini wrote:
> A declaration for 'get_sec' is added in 'xen/include/xen/time.h' to
> be available for every call site (in particular 'cper.h').
> This also resolves a violation of MISRA C:2012 Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: c8cb30cfc87a ("mce: Provide ERST interface")

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




From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:03:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.581998.911498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Zq-0005CJ-Hp; Thu, 10 Aug 2023 09:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 581998.911498; Thu, 10 Aug 2023 09:03:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1Zq-0005CC-FA; Thu, 10 Aug 2023 09:03:30 +0000
Received: by outflank-mailman (input) for mailman id 581998;
 Thu, 10 Aug 2023 09: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1Zp-0005C6-9h
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:03:29 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c48c91d5-375c-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 11:03:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9082.eurprd04.prod.outlook.com (2603:10a6:10:2f1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 09:03:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 09:03:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c48c91d5-375c-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DBl65i9j1h4b8VjazPCcar4Cm1VEisjHAEyyscLeHOC7znseL4f3ih6s0ia8zePz+mTV2NZ/1poFeCZ7mm+udmvJgMELPnCu8IG/lQeUGUnN/JeRoamaLMiNmpVyl/k9yee3mCN9yL2qpJzqvHFLowcxpt9nHY4iBTStFieD6KMtNkoQRXCqh2uUK7t1yzRQzXG7A/tGUG2ggQweuJUV4D+iVCtgFbk6GF0lxD++mOFCsb+wEFEtQiOaOgR/xxuAbbkjjXfRn5feWsPBA7iRqxvyEwIcdF/lwbOT2t8LBPnUfVTb4GbUAODqL9ggnon1sYtB1RpVLExA1JZQtua2gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bYbPWEJQzOMw3aJzgHc0ko79hzSrUrc7ncYYQOm2RWk=;
 b=QJ20BcuJt5HUyVhWJPb18whrvJUfQ5YXmhBhDUfxgTMJG6aUYNbacwPLgHwhUQAn+gvDn2AoE03zkLWLTwFn3CWY2xFhSSYPYo5nT26oxWQmz7qycsWEFwgcXDKptS9J1dFMHe1rCijpr84ay57CaQREFOtVe10zeyFgxbY7X30Zb8/XctTHKtUhvy8VtiqSAKSMIk15M8lGdPt2mjJXmuOzk5tZHYR625NLTlQKVJIt1PDNFJ6zmxasGhJVaf1gkEby89/ywaqouxFy89+M6ujHRl1oLw1Lr9e4UBzhPdcFa6Rh2UTS6ecCRhzdJXYexQ12lJYSDnhwbB+Pz5ItZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bYbPWEJQzOMw3aJzgHc0ko79hzSrUrc7ncYYQOm2RWk=;
 b=nUTC3UXm2cap1MvAJysbdZ9ULiFdQw3ZXIVGe6ZIbxzsAAiChlStMPK4MNSGmllU9zGn/Vx2Uvd8L99lRrfLVh55wGOEbTLMFApzRD2CfczWWNILLS7WKo5ILgrEwxIObHkFVFgSfL5WcclVFYL30nNQVcwHlUksfadtFDOetb3kXeYLTThUOYp7T8xPNGF6/LGRK1QDjx33I89k1F3JldtrcPibG5mwwes7d6kNJdx7S/JFsKUQ9wI1m89F4uCZr+yVCK2NoG75tskOf2IwMv1ld2e8K2x1wI+wlNVxDWcK+GlOy0qcQxMd87GwwU3s8qsr8GsDH+97tIvY6nhRJA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b09536ee-2223-8ed9-6613-765626ac5c43@suse.com>
Date: Thu, 10 Aug 2023 11:03:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 5/7] x86: make some functions and variables static
 rather than extern
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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1691655814.git.nicola.vetrini@bugseng.com>
 <b9c554bfb322912d294007958339cc40c9d5a876.1691655814.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b9c554bfb322912d294007958339cc40c9d5a876.1691655814.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9082:EE_
X-MS-Office365-Filtering-Correlation-Id: f226e0a9-4cd7-4af2-6022-08db9980a7ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BSIPTuAD2/7XODCAVYwel0troF706ri3FQizu5jdRtLoZv3Y7qkMfXye/O5p4eLG22ivT4z+XqKKmplIoXV0r69CTCl0/e4Zd/wa671DEUcdrBQK7BO0Xudg6XAKL8KB0ENprZO5cnnVoxFN3KTnoYjyC+CjwVrlUciSDpzRHxwZjrxvH+/HwsKeMH1nxwjNC8oHQsr4SFH4IvvYWHJKD6fcRNIhP0D6NxwDX5HsufZOEevZZxkQMf9CaML8dFL0GJH7crfP6/1EB72bfwhyeh9kBbNZ9zc8osp/s2vqkx96FSKossGVvM3SRNW6RxDHUagDjfPMl1ZFhpukFAG+WxoVM7r8IGDoNH8IPlKSTsScJlG14Juue4Gu+njo1eVAiiCD59L3niFaLko2AQGFX7WY5rlEU5E2YRbHRYubCnog+mStEXvd0WzCjlA7Gs2sOPW9xxaQibfFJ/3ihJpogT9v8bt4ZVR6LxbMFjBIz/vh1uWao/sQ0MuYOxsz0sDxnvrRZnITCbyXSv+OPQo3qCxc+L2lOEKz/hO2+iU+fdZivgXuG8tOjuEOfXWL3rNAjbS+tO5K0K8NVjsdGfcHB2sIvZ+XqmVwbAr1SXRLLc5U1Tldhb1uGhNX7xGGaUGHg9Nb5WyhFRGwrrPDznnu+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(366004)(396003)(39860400002)(186006)(1800799006)(451199021)(7416002)(66476007)(66946007)(41300700001)(6512007)(6486002)(36756003)(6916009)(4326008)(66556008)(5660300002)(8676002)(8936002)(316002)(31686004)(54906003)(4744005)(478600001)(2906002)(38100700002)(26005)(6506007)(2616005)(86362001)(31696002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dm1lWW9qbTVwSkVtWDRCcEdMMnlUSlM3dEl0dWd4bXZlLzl4QUF0aVEzS1Ft?=
 =?utf-8?B?bGxsZTdLM3VyQWpWSXZ3RlpHNDVScmVaVGE5b04yUkdGNEJZeEVNdG1tV2l2?=
 =?utf-8?B?dU9ab1kxaWhXQ2V1Q2tYbktKYmRnRHlDZzFNenhjc21BQm1mb1pwMUVaa3dw?=
 =?utf-8?B?ZlIxK01NYVNYY3BjWDdhM1JTajNYN0IxTE5ZQUFUY0hZRnV3L0QwTU9DalJ0?=
 =?utf-8?B?SXgrbVFLOHdXYm1Wd3lZN01JeG4yci8yTENBdU9RcnNHYzB4aGlML2dLMHZo?=
 =?utf-8?B?aEc3VHA5U1NxRWwyemR6UmFyZUpuZlN1dllrRVliV2xBZ3YvQjN2eTlRRGFS?=
 =?utf-8?B?TldKZ3duaHRhZ0F0ckFDY1ZEbUMvbDN0ZlZFZmVpUDhHU0pES2U3eEI4dDA2?=
 =?utf-8?B?NUlXOWFkSXQrT1pwbHRsVWxyTTZ5bVZpb2VrcWN1WGpzbkpRN01SVWpocjJw?=
 =?utf-8?B?YVdVbVZmd3lYL3hxWDVDU1JEQWdYZDMrYzdMSVhXb0xlTVRIdEFFKzQ5c1Va?=
 =?utf-8?B?R0J6cVAwUHZPUzl1QzlWNDl5alhCQUFIRUdhZHREV2ZseXJoU3EweEdhckpF?=
 =?utf-8?B?WHZYU2pEOGp6S3BGZ3lkRDYwc3ljdGxNbkVwc2FKaW5EUEtjN2VNVHBxaW9D?=
 =?utf-8?B?QTgyTWE4ajVnUXZzMHMvUXZ1ZHNmYnYyNzhRMGZmTEkvRDFNZmhPbEVBVlBP?=
 =?utf-8?B?ZWdjUFZFUW9XYm1jbXBBY3lxK01oNlBOdUVBME91c1lwWXEzME56cUI2cTFW?=
 =?utf-8?B?UmFNbVM2SUpkQUNpaityVkxtdmUwaDhZaWo1MENzSERIVlBUQ1BoNWdPNExl?=
 =?utf-8?B?US9USUlFVWdkbERUajM4ZUNSSU01RFF3SGllemZpYjlUTVRuNjVRRHVTRGFa?=
 =?utf-8?B?REdwWG1UVUFXRUx2NFAwTXlqQmF0Q2pleVBxRDlnWWV6bUc3YngrZ3k3UEEr?=
 =?utf-8?B?dVJQSXp6Qkt0WDk5aFVsbCtPdHF4dHdTZXJKeWt3OU40Skl1NzVhQkNKZ08w?=
 =?utf-8?B?ZzBBdXkxMGRISXFTN2xXSElteHppSkloSE5VWEhJMzRoMElSanlXV3UyM0lD?=
 =?utf-8?B?UDlpOVQ3dWl1L0RpdkttVG1EanVPTTNjR0xVbGVIWGhvMmRRRzhuNkozc3JD?=
 =?utf-8?B?bmxPNG91YlNEYmI0b2xoYWhYRWo0bEl6Q1dkWVNneDFqa1R6blVxbWdZSTlE?=
 =?utf-8?B?UkV3YVR0bWxIMS9tVC9wcEp0WkhEYXMxdWFwbG9mdExtV1lmT25hZnIvUVJE?=
 =?utf-8?B?ODN0VHdiZ0I2T2JlK3ZJUmV0em1NN0RTK0lHM3kxYThZZWpNQ0pUdThxY1FD?=
 =?utf-8?B?ZFJyQXpwQkRFbEU5ZytpVCtCeXMxU2ZmSU9jclllYWN4NDlJYWptam1Zc21k?=
 =?utf-8?B?ZCtDNzczY2QxTXFGOXhQMHdjM1dkdVBGUFZ3RVNlZzBpSEtCbVg0ZnI4MXpo?=
 =?utf-8?B?NUJYZitTWDBHa051cG44NE1GOEZ2VlBzdGtveUp4VEVGaXFwV3kwS1ZKNXhY?=
 =?utf-8?B?SDRyOEdQUU5XeWRVZVNJTXB4d0lDTnVsTEJjbHhURHIyTkwvei9xUFJKQjZU?=
 =?utf-8?B?UlVpRmx1RnBOSmltdTNHQVZlNzVyWm9wYUtsUHhTRkJHUkcrWXArelFjTDZk?=
 =?utf-8?B?MXZhMVJUeElCRHh3NitQV01iTTVJc0lXSEo3SmdvZWUwb1E0dkhsRXc2blVB?=
 =?utf-8?B?Y2dMbTA2U2Z2U3MvRE5ia3FOeTdVNHlxMm5vNFAxb2ltaW96RGs2V3duTTVl?=
 =?utf-8?B?VVlQWWZ3V3ZDSlZEc2hVNWNNUzdhSnJGYk5KUnRhdVk0YUZKelgrMEpIaGln?=
 =?utf-8?B?d0N5aFJ5cVBDS1Vkclo2OVpSR2RuaXFzZDFlRUVUQzEzaE1GYzVNckhwQzBU?=
 =?utf-8?B?bW9vTUxqbVZyLzBrTEZCd1loZ0xHclprbnpRWUNGTS9VSjg5bVJaVTQwZWh2?=
 =?utf-8?B?cnZ1dFYxUmtpMG1BV3l2bUR1TGxYcFRFZ0R3Tk4zMFlKanhWL21QUWd2bnps?=
 =?utf-8?B?bkpOakczM0s3d3puZjRzTklHeFUyOEdwZWpaSG01bVg2dmJvbkhEVXJYYVYy?=
 =?utf-8?B?WGM3TjJ3bkxvdGFublRIZWk1cU1LenVVRGFDMHFSYld3cTdkbFovSDhVOTJa?=
 =?utf-8?Q?q4AkSeoolmNrW1SmTDxPZHjNq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f226e0a9-4cd7-4af2-6022-08db9980a7ed
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 09:03:25.6505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BoxxIgcJrSPRZzF5OsTyNubsDii2ukvoJDim39Q7PVo30nv5Ka6/mcyg3B+Z42aG0ypW90H+n+jQCJSYHaC7sQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9082

On 10.08.2023 10:39, Nicola Vetrini wrote:
> The functions and variables touched by this commit can be static,
> as they are only used within the same unit. This in turn addresses
> the absence of declarations that violates Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: 741367e77d6c ("mce: Clean-up mcheck_init handler")
> Fixes: 45f57813f646 ("x86/MCE: implement recoverscan for AMD")
> Fixes: 155587481e39 ("x86/microcode: Scan the initramfs payload for microcode blob")
> Fixes: af50dd63cf8d ("Pull nmi/traps changes from Linux 2.6.14.")
> Fixes: fef244b179c0 ("x86/spec-ctrl: Knobs for STIBP and PSFD, and follow hardware STIBP hint")

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




From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:07:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582007.911509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1dt-0005pm-6D; Thu, 10 Aug 2023 09:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582007.911509; Thu, 10 Aug 2023 09:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1dt-0005pf-0v; Thu, 10 Aug 2023 09:07:41 +0000
Received: by outflank-mailman (input) for mailman id 582007;
 Thu, 10 Aug 2023 09:07:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1dr-0005pZ-8g
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:07:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57f17162-375d-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 11:07:34 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9984.eurprd04.prod.outlook.com (2603:10a6:10:4dd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 09:07:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 09:07:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57f17162-375d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g8ylhUali3Jy9lfS2EgcC6HB8FcbpeC4Sae5+BxegvUrwuriXE2AWn8YAwQP6zgdq/0Aso4GSAgciGun5AJE7aGJJrBP1mloyQFGku2aUQtZG7Rq418mi85qqfRoINDaMoTGLRe0eDCxphq8ElypmsHZzSYcfTMpWKx7oL5Hx1qbH5Wb6Dwj9CyqC1WPEiHl7nJ4fRpjJ6wSlzxTweX/Sk0T8Py3rasRVZcYJNS90kMahckD1VMQK3chc+PYHBKTQKt6feMzqxJlYivuk2GgS7LQqkEAe7UZ0W4QmjvRrE2E/XdG6XjrrCmBEixVZniNjaA05c22/YiHbJXTtk689g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1FfYYbck8MBH1DVoDjc0/M+BwvqhqkOAj+HgnVrQoE=;
 b=UcJFgzdagWpNDwLSdnVRvOGn/ozq9gekXkbcysm4LupOuQASIuqZ9ikF7ZxXR8zhodE/4P5GaLRFB3Dw3SY9IEYtcmV4Be/BEfEGs0mzdVkczDvJWOLwDAR8lezBVfOQqC6/y4RHOY15wc8lMNNC+7C7FFsTuGEGTWKufqiMvvT0cxiZSU6pG2yQbSyNFWPB20aJECxp7X4RLae6avhcM5qUt6RgTkQZ+enjKyt6HoqXR8X9tCcXF98EyZxWn4deHqvV3yra7R49uvlpimqmyds7kiqqPSM+G94Q/RNSG27hGFWtnAS2MPoMpnjr5a2Ou9RrFLurZieQBwES1yyz9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X1FfYYbck8MBH1DVoDjc0/M+BwvqhqkOAj+HgnVrQoE=;
 b=kLXiUs9skEVjseB647z4e6FkPCSGwyC53hFDVqLTEF9pWI0iBVWttMy0RBzTd/OghKvEQGxJ9BDSYmhV2aTGFsKlmTzGp4sUeQq7GEX8d2nRsPquAb0RvN6fE73nQ0eUJsrJU2wJy6zfqslE5QePCuHm/sI4jtynOGJGgxVsgCUDK3lq47Wvf9SkkKlTeyaoRvEuesKqkWRmiDjxLGRCW5koOt/baXXyrjb+6He2h+0Z0WjaVNGGsxSvuCwch8sWk9uNJFVY9sMh+NPIPasWzP0x21s98AYEehiUeimPzT/h8hMYpTW+M4RTdeMO8owvTe9bUPX/YBVNkk2UKEEejQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d06d3304-1df0-e932-bc32-7a9939870487@suse.com>
Date: Thu, 10 Aug 2023 11:07:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, rahul.singh@arm.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, george.dunlap@citrix.com,
 christopher.w.clark@gmail.com, dpsmith@apertussolutions.com,
 Luca Fancellu <luca.fancellu@arm.com>, andrew.cooper3@citrix.com,
 roger.pau@citrix.com
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9984:EE_
X-MS-Office365-Filtering-Correlation-Id: 569fcf97-5d3a-4f9c-4604-08db99813a9a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z8g2vIuUbs9dvTOgL3xXzy2HhSboF9jA6/9j3w7p1i3mSDx+VXUB7vB3rOoZbCXyklsRUadudItCP9CV4uadHF3wx9qgk5FU6nopnQNfxPxbxrV9NAJXX3jm08ghOMwe4EdB+yItcwW3s62UK3YAjLXglypBO3CTrk5xHy1IAQq2ZMgzUgx0QBAwMOKpzFxGbe9+Ov5JmIa+ixurnVkaMrrZecUKA8UtJt09JPYMNmvyZ1AEosLdmemXfQIJQFZGTcOzYvA2ZamSJEB0OzuSp8ZQdWRh3qp0t8M7RrkeGl1iklNPcot97r1FbTqY3YVhmPVvdLJc9ExBWI6Pf7aM97NhqCS9jg+olDdvfystMoCJjpavHzMNRoa8hnnrOLY+CMnfR2iWOD13t1D0uV9VDe44qdSkoJ5A/Ve81xTxctGqZ+D+6+Dp/vZFCK+d8DYwVvx+EZOSV7kEz1mwq0YAhdxr+XkrPr0f37QY8LTnYYqnGVOb4VJEvA34snQY79Qavl2qiD52oj2tA0erijdV0QKiSmdaln2gziRKgIQIfS6DlYS+lkGyTi7lc62HKx7WG91RsoHLUzZizUXJO/WWTP830Yn59G1leyLeKxa0oXssZCrz7AsKuWzUC1xRZH6zjdtQRNdKkhihw9bpbgfIGUfQ53Bj8vy5dppobFHIJJ8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(396003)(366004)(376002)(346002)(451199021)(1800799006)(186006)(2906002)(478600001)(36756003)(4744005)(26005)(6506007)(53546011)(6512007)(6486002)(31696002)(86362001)(316002)(8936002)(8676002)(7416002)(4326008)(6916009)(66556008)(66476007)(66946007)(5660300002)(41300700001)(38100700002)(31686004)(2616005)(54906003)(32563001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzlVcVdoY1IzbWFGRVFrSkdEaDNHV3V4ckNQMFp6ZFk3eStydmFOeURrYTNE?=
 =?utf-8?B?QXRkbVUzdGYxQjFtSGVjb0lZUzY1VXpwWHhYU3FGNnV3dlVQaEhkVEFqY2RZ?=
 =?utf-8?B?VWlWbWE4NGRXTlhLb0VJZ05rSzYySFBvTHZsdkNHcWNwaWtMd2djVUlZTDZw?=
 =?utf-8?B?Q3ZjMktUSTZOdllBYjAzL0tGV1BFQktpTVlXTFVxc0xQN0dlN1FFT1hLVU5T?=
 =?utf-8?B?eVR6TXV2eTAxYmRmYTh3SmltMWtZeUJnU3NGendwQWVaZU50TmdGWml1dnFK?=
 =?utf-8?B?U1hkK3JRM0tzTmphVVo2OFlSTkpmbkM5L0V0K1A3cG1lTDVVWXpLUjAxY3ow?=
 =?utf-8?B?QzRMM2lRZjlBTk81eGMzMVRTYW9JbXlZR0xLR24yTHBTVCtjd01YQVpUQ1E0?=
 =?utf-8?B?aTZDYzM2a1k5WUNWcWhBaXVsbzE2eEZIL1pUSzhUSnFwNGFXV3hVQ21iQ0tN?=
 =?utf-8?B?aEpLbWJ3THFZcko3TU1mSVBMTXBCRFZkTlBtYS9YNUh2dEw3M08vNm92U0JH?=
 =?utf-8?B?MER2OCtpZm9HdmNCa0hWSDk5Z3A5dDFCbGFkSmxudGI5ZzhORldwSGRKRStQ?=
 =?utf-8?B?aDlJKzZNMWU4WUNaVVhiMSs3eHVJcjFvQlhmV3BNTlU5SnI1bHpCR05BYTlj?=
 =?utf-8?B?d3pPSWdKMm8xRkJTeGdCRnlHeEFOVlllSC9vRUdUQjJiWDZyd1ppVzByTmxY?=
 =?utf-8?B?T2lKTFpBb2I3Y1BhOVN1anRvRVJVeGw0VVR2SkZZOEZUblJKSlhzMm9NL2dy?=
 =?utf-8?B?Z3ZxUG1Rd3ZIc0lmajRoeVhFcVBQZlZPd1V6Vnd6Z1NyS0I3VVBRMDhGeTJL?=
 =?utf-8?B?STV2WkFISzBvMWd6THZEMVdMdTgvaDNTT3FOcW1YcjFoMEQxRmVOMllsSThj?=
 =?utf-8?B?T1VETjdjeERXcnVMV3BwL2liNjRWak9ScmlKQTd4aVRzdlUwWDhmS2lUZ0Vm?=
 =?utf-8?B?bTRMTlRtU1pHd20zWEphcE1oS0JXNnJqQmsya0pHR2prcnZnS1dxWU1oRVNH?=
 =?utf-8?B?QlVRQnN3UlUzdUFoOEJvckNkbVNmbU13cXdKKy9FclpwZ2lvV3hINlJxZ1JF?=
 =?utf-8?B?UkJLdHNrRUUrUzVYWjd3dk5WR3djZUxHM0k4Z1FwWGY5VUFmY2dVbERwMSs1?=
 =?utf-8?B?MHh5SFdYeXd3eXhPem5IakR4Y2tSRWc1dE9oZVBQSVA4d3E2TXUrSGtDYVFI?=
 =?utf-8?B?L0h0NGxObFhjeFVMSWMvdkFaYXJ2am5lbFR0YkNXZUhlZkR0Z3lJdkFkMVVX?=
 =?utf-8?B?dGV1MGVlU2gyczFvQlRJYzFxa2Rxb1FXZUt3MDlVcnBwNnhqQ2s0ZlM1WlF5?=
 =?utf-8?B?d0pEWFlYNWhqV08xVThRN0dOZGdtWXBzVCtxN1BPUHF4K2MzakFiNHVYQ014?=
 =?utf-8?B?cDdzOFQ2U1RQNXNNRGJiMEVacEhQTWw5d0NpZXNJSGw1SDZ6b3ZOaEpBc3lV?=
 =?utf-8?B?NHNIbzkzL2pXbFJtSmJXcHJSb0FDMG1HTCtkQk5SZ0NjbGtEeUZldS9oeHox?=
 =?utf-8?B?Wld6WFp0aHV6ZzhuMTlmdnc3QUZrMFRGZXRSRGpMOWs5REhGdFdLVU9mTXRv?=
 =?utf-8?B?RVZxL3FoRVROK25uRi9NcjV1ZSt4Z1l3bnZOQnRnMmxBMytjcE9aMjRYQjBS?=
 =?utf-8?B?cDh5RDd4TE53RzQvaUExalRhZ2ltTDd3UG5KbWI5Z1JqSUhUUC9nZk1NVHBv?=
 =?utf-8?B?aEtHRjRtQmRSanlmUm5qc0loajhCdDl6Q2U4WVFkcWsvR0dKK2VZWXhoR1JC?=
 =?utf-8?B?Y3IvRGpIQ2ZSd2JkbkpBZGxTc3RBQkNaZjE3d2txVm9ZTzIyNzF5cTVETmtr?=
 =?utf-8?B?Vm1HWnIvanV3L3FpNTQ1RkNBeDVLQzEycWVnR3ZVSjB6V3Ercko5cHNqaTR1?=
 =?utf-8?B?UlNBS0puQnd4SUswK24zZlRCSHIzOGM0MmJoRStPSGhKeHBoOWRwTTJuN0cy?=
 =?utf-8?B?YXRwdjlTa1dRRHpya0VIUlRwclVYaDQyL3EvZlkvR2ZBT1RuTXBWdFUvZXBx?=
 =?utf-8?B?U0xsekJYRFlHeXhOSHJqbjY0VzNYd2ttU21Od3puUnIwUGRZaGw3ZTF5TkF4?=
 =?utf-8?B?N0ttWW5LbVhFYmVxWktNaWZIb3hIUFZQaHVSbFJMNHhlS2NPc1E1V2lJUjY4?=
 =?utf-8?Q?ssUG1g96Hts5wVMFZZ9JDFoww?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 569fcf97-5d3a-4f9c-4604-08db99813a9a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 09:07:31.7383
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ocXqtzDwDl0IQsEjCjCcfa7qpmBtOz2GT6iEUmx2MashzCvf9FXCscJVQ45zzCFJ2j7t5+HMbJKkUDXMWJzAvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9984

On 09.08.2023 21:51, Stefano Stabellini wrote:
> Would the x86 maintainers be OK with it too? Of course further changes
> will be needed to make it useable on x86, but looking at the series from
> Christopher, the two sets of internal interfaces (dom0less/ARM and
> hyperlaunch/x86) are very much aligned and similar already.

Moving common code to common/ is surely okay with me. How much wants
moving is (apparently) a different question.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:25:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:25:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582014.911518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1ut-0008KW-LF; Thu, 10 Aug 2023 09:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582014.911518; Thu, 10 Aug 2023 09: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 1qU1ut-0008KP-He; Thu, 10 Aug 2023 09:25:15 +0000
Received: by outflank-mailman (input) for mailman id 582014;
 Thu, 10 Aug 2023 09:25:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU1ur-0008KJ-HC
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:25:13 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdb9703e-375f-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 11:25:11 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9649.eurprd04.prod.outlook.com (2603:10a6:20b:4cc::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 09:25:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 09:25:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdb9703e-375f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=icnt9KSl8Od1ggSs4QerhHUn5Ye76Z0Sj5qsTm8HY1XuGf0exvAq8e76h5LpwGFAWtIN6G2ld34M4InpK4wzl22BWAIC29Z7zPY5Wlfpm75cuyUcHn1Wf+t2J/NEirKc5Y7MG/05sFaYmUdNG4upm9/+sua4rpP18b+2B4n/fiPBzXHSEbrrStFKGg9YW8vhXm2ND3PKKnQbkT42vt76MCxO1/dSZjDIFe9w9uyvKY3JKzacY11MMEAqubREiSHlZ7fSXO9tQmghogdpRGWLmhjjSi3yfIUGTBToP0P5gA8GjLbwV65yPtD+Ewcq+Qhr2kRKFLUPHhs9I5WTkBWacA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nFh5j+/Ea8FtWyGUl8QN8SBTkjmEGr3KdohpylwSnao=;
 b=BkiI2hbYQPw/+MhjMCh1uPBf3QGMqthmFiL30k/dLTCBMxH9ZkjIs6pRm4dt3lYOyrQmMOoZf4G+Jy4Q/aiEExa496tmFZ8HKmKrhBqKdLBhH81driaYGc5r+1j8BKXLWXxSKsnrU+UWfvTkxLzytvxGXU8CC3o9PmxrK1ujz8APtft5PgLw41mgg8JhJrpLrVEAX9gO6yIb+0XznMO3H8JSVjysHK3eOMdEiSZvRaoV85fKYR6ZJSRrWd3tS/rhMK/ECa8ib4E4X8Yvnq+JwcobuzpEwzgRp3zaxqzQxT9HbUlDWShKXg3k8hYz7sNt1A8bfh9XjH2ujCHMdre3rw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nFh5j+/Ea8FtWyGUl8QN8SBTkjmEGr3KdohpylwSnao=;
 b=egBz+q7N76Odoa3tSBAZGxX1yzEfrxi7p8VssA6EXux8SahGyvAesdqjMi0Julex7SdLoeSO5iPVgTauUNvLTtyzS4Q7TD651zkfZMHxP0Kzb34vKyh1JALmkHSasvfQNQYTg3m2qQLiGUOMTyx2ZcIj/sq6S9CaiTIqhxWLOx99tstSEQY7arotQQb3k4bI3tkIAHv1ctgAXxN3vNcG36klufRhXOXAo2Lfnrz/G30A6cQigdh/aE+1cWn4k9NCXsv0dniSqVCO/Zfxycxnup/S2O57vlhuSKLpn8B8stUMYy3ECNXjK64IeRjl+qJn5IvLXPtAO+GhhuQJKgMchw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c707388-bfb1-1a06-edb1-8046e8c1611d@suse.com>
Date: Thu, 10 Aug 2023 11:25:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: x86: AMD Zen1 Div leakage
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, xen-devel <xen-devel@lists.xenproject.org>
References: <9072ddad-3f79-42fa-1e6f-352c9796ea52@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9072ddad-3f79-42fa-1e6f-352c9796ea52@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0190.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9649:EE_
X-MS-Office365-Filtering-Correlation-Id: d6906607-fe74-4559-0b10-08db9983b08c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uE8ee6vwAKYJdTV8MkV4yy53boHlPGlVruj0k3SXXRk/0yL/VUbJ6vv8e3SMZMjjTwbWhgI8cn3PnxWkPbVNqJnNrRIbQdxzxVXVipHSoRx6UWSkPdKdnWetargFDnuXtlh7g2vDI5C+MskvE/Fblc1paBSnPiXPA8vHZ6ENy3OrFR5oOblSOXPa0BAhxxjTXtMjTf1P2ZQQ7g2v0IMg5cco6zq/E0b5ex/dzBiUHU7lUM3NYnoUYge6dAD20Q3OVVlYYkb3oAJpl32UEFu7KqefPdi4IHLyJ3LsBoDeeNK6HxggC1Iwqih9SRhBQvc2Znuf2G2CTSXte5KQP9w+wVn6B/fYy2jnFKytUrtYH8Yax7CrbjLG7W1aBiRB0vXS6SCCZgoo32aj8sUCowfthVemQPh+4MyW+NDD802zClH+ftsSZAhSpYjzOPeXJ6aKyfPndMXB8+mpWAgrkA8d4dMw7T8y9OOOnkwmT0EfxLcr6xrrr9DNUR/+sNDPHBREzPKby11YszDYJLPln6iPBIz3y0peEpi9BgLkA7y9c9D0hz2V6zCdn2scJkewUjSnom5ygW77qyltlF65ZQJTklFJSsxEoNWnGk+yiEBz0RPkOmumOXtkXDmGa+EWky0bm5/fYZwXKlPPpXpdSj9/gA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(366004)(136003)(346002)(396003)(1800799006)(186006)(451199021)(83380400001)(38100700002)(54906003)(478600001)(26005)(6506007)(6512007)(966005)(6486002)(4326008)(6916009)(66946007)(66476007)(66556008)(53546011)(8936002)(8676002)(5660300002)(41300700001)(316002)(2616005)(31686004)(2906002)(86362001)(31696002)(36756003)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TGFUTnNtT2RrSHZKN3pPYTRHd0FrZ2VDbW8zeHBoTXZ3RE8zUWFKYkZaTHA2?=
 =?utf-8?B?MVpNdkU0Nk5EcXBRNnMydEFYcFNoYllOMTU1MXdUNFRLc3JPaGVDazNueXdF?=
 =?utf-8?B?cUhNaUlSbSsyVkdBK2dvalNGOFYrYUc2akRERXJDVkFMMDVCbE9sOFZtemNw?=
 =?utf-8?B?RmNnNVlGQVFleXE2cS9ycmE1MXlJaUM0cjNlenZPOEdldlJ3aWladjB1SjdE?=
 =?utf-8?B?M1NydW42MEh1dmdRZzV0cmFKMlVENHo4dlB6Q2RZanlvbHdiR0xlN1IrYzRs?=
 =?utf-8?B?U0JTR0piSSt3OWhZVk9LNWZGb281VE9zUkVxcVZwSDVWeWJUMENNekZRd0Z2?=
 =?utf-8?B?amkrNHBMYXEyR1VxUGwwUm1rT0RhczVhbldWZjlwc3l4VFlTZmRmdmd1dGtS?=
 =?utf-8?B?VlRTZjlRYmpOQW1IUHFmQzZOelJXK3RpR1VROXVXR1o1dDE5dHd1OHVjbm1I?=
 =?utf-8?B?dWp3TUljTUNnd0R0WlR5MFA1YkEvSDNOQWpMUVdsQU84VXloVkpNaVlGVDdF?=
 =?utf-8?B?U0RwcFBWdEJiMXJFMDlLbGIzbWxDMmxYRFBxbUorNVMzTi90UUw0Y2pDbTNX?=
 =?utf-8?B?UFJlb1RHQ2lhaW1KbDhXV1lhMytET1FUY01oYkIvdlhWOFV4Nk0zZm5BZDJm?=
 =?utf-8?B?MlV1N1R6Y3V4WWkyYVRobHFSSS9DL3VCTS9tcm5lbytRcWxuMjhXRTZyaHNm?=
 =?utf-8?B?T2JmL3Yxb2lSdml4U0FqOGhwbEFTa1VkNGNlNGVMYXdoQXBsM29vWHVrUGw4?=
 =?utf-8?B?V3VWSTJxQlBFZkxldDhXUm5EanBMRlV4cVpDbTJCTUdnb0NlMmwvY0pJS2oz?=
 =?utf-8?B?bVo2aDBlcTZjSlBuMTBweklyeEpUcTlXSURwUU1IWmYxVWlNQ3BzN2dKRisr?=
 =?utf-8?B?WExadUY1L1RSN0I1WkJLNXZYS25DWnJlK1NMZi9FU0JRRGRadkxFNC96T0F5?=
 =?utf-8?B?SHB4alZXM3dvTHlwcXQ3ZzVXdXVYUUdMTWlqZVpnSXRpYURvOTZpdmh1clpl?=
 =?utf-8?B?Z2dSYTBKV29SaGdMeWs3TWp6ei9ndVQzc3A5WloybmEvaGp2WHJHb2twZGNk?=
 =?utf-8?B?aGRqTjRacURZaFc4dlk2YzZOZWpnemZYNHNFcFk2TmRXd2ZqZHc2RkdJeXFM?=
 =?utf-8?B?cFJUcllPSHMvMmkyeG5xc1EzdDhWZlRNY2VqdWxOK1hVVko2R2FNTk5OVnpu?=
 =?utf-8?B?NlJrMks1Y0xsZVNNd1pFR1hGSWVOYmlWS01BT1lPcVlWZVpQdXRGeHBGdHdE?=
 =?utf-8?B?ZStrdWxvcFNhOVVxVEpzSHl3V252ekJaV0FrbzE4VXlmK0E5NFk2eXhOWkhD?=
 =?utf-8?B?cmRKcEFsWnJOSXB0U1hnUmlZUFdncE5oSmo4WTc2ekh2Zzh4SEx0N0pNT0hx?=
 =?utf-8?B?MUxJalp2Z1BGUGJzdTU1bGJSNDZKM243b0ZqUWEyNmNtbGI4a21uUW9lczhl?=
 =?utf-8?B?QzlCVTh2UC9yTE0zZUsvYW1vaE5IaG5zaDZRVHhVSGJ1bkE0dVZXMmxBcHQ3?=
 =?utf-8?B?SGYrcVEwY0ltOXNZbmtkY1hMYXN5ditYRGwzc0txT0pyTFNJaC9IUDJDU3B0?=
 =?utf-8?B?VkNnUitneEFORm5USWFERXpPNVBRcmtWVFFiSGpKbnJGUWo1ZGgyaU54V3Jh?=
 =?utf-8?B?UTM2QnptNnluaXREclROWHlCL2kwQ0VIZUNCSDhIUThqUlJpYytmRGRXUnFp?=
 =?utf-8?B?WmR6VVhFaWdRVFNTaWhFb01TS1ZuWUc4QThoZ2pNbXJpcGtMZGhwWGx0TFZZ?=
 =?utf-8?B?QTBQbzZwdC9IRjFvMkt4d2hVdDE3bHdTVjZqQUd5RGsvOHcxVDV5TnZRbUxY?=
 =?utf-8?B?QkxYRXZKNU84UkJiTDF2bnRkWlY0Mm14N0NwRWx3Ny9KUWZpc2lvVFMzM3A0?=
 =?utf-8?B?eHllaGVaOWF0eFhFUnZobEV6UFVnejNIcmRLbjRFSHpTbHF6ZXZQeGM5U3Fi?=
 =?utf-8?B?ZU92UldxbVVZam5DT1FaajRUY0YzYjQ4WEladTFYblJjTWg2eTg1WmFRK3g5?=
 =?utf-8?B?eEd6M2Jnd3BQVktKRWpYeExPUDVxOTVENndlMUVORFYvcFA4M3ZnYmpaNEhq?=
 =?utf-8?B?azdWdDgwMlh4ZEs1dHN2UE9nc29GUTdoUFVSd0lXMkNIc2pRNFFVWnNzNnda?=
 =?utf-8?Q?jzkmhHPOSTqoDP/GLvwLqcp6B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d6906607-fe74-4559-0b10-08db9983b08c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 09:25:08.6386
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9C9vKJ1u5L4NGBLjekkDignfd1ijYJ2QUWY+poDstBLjbCav4cCAnLTF6J/YSkK+7HdGgkjkSVLArc29U0jfRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9649

On 09.08.2023 22:29, Andrew Cooper wrote:
> This popped up with insufficient time to organise a response before the
> pile of fixes yesterday.
> 
> https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7007.html
> 
> Per my current understanding:
> 
> * There is a single integer divider in a Zen1 pipeline.Â  When SMT is
> active, it services uops from both threads.
> 
> * It latches the result of the last calculation performed, but forwards
> said result transiently in the case of #DE (i.e. meltdown-like).
> 
> If this is accurate, then there's a nice covert channel between the two
> threads, where they can communicate by issuing specific divides, without
> ever leaving userspace.Â  (It's easy to hide a #DE in the shadow of some
> other misprediction, and not suffer a real divide exception.)
> 
> But, div isn't a serialising uop, so the advice of "don't divide
> secrets" is tantamount to useless.Â  Transient execution can pick up a
> div uop from any misaligned instruction, and end up caculating on
> arbitrary operands.
> 
> 
> In SMT=0 cases, we can scrub in Xen by executing 0 / 1, and would need
> to go in the same place as VERW on Intel (i.e. very late in the
> return-to-guest path).

Executing 1 / 1 may be yet slightly cheaper, unless there's special
casing of 0 as the dividend in hardware (in which case I would wonder
whether then the result would actually be latched).

Is putting this on the exit path going to be enough? Without also
scrubbing on entry what was latched, speculation inside Xen could be
"driven" (to a limited degree) from the outside (i.e. spectre-like).

> In SMT=1 cases, I can't see any fix.Â  It's very much like L1TF/MDS, and
> cooperating threads can snatch data a cycle or two after it was placed
> in the channel.

I agree, ...

> As yet, I haven't started any patches to this effect, but it would be
> nice to have more clarity from AMD first.

... provided nothing new turns up in what exactly the issue is. The Linux
commit that attempts to address this deals with this inside the #DE
handler, apparently assuming the issue can only occur when #DE is
actually raised. Your (and my limited) understanding go in a different
direction, though.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:30:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582020.911527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1za-0001Gs-5q; Thu, 10 Aug 2023 09:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582020.911527; Thu, 10 Aug 2023 09:30:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU1za-0001GG-3H; Thu, 10 Aug 2023 09:30:06 +0000
Received: by outflank-mailman (input) for mailman id 582020;
 Thu, 10 Aug 2023 09:30:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU1zZ-00014T-Bg
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:30:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bb95a11-3760-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 11:30:03 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id BED7F4EE073F;
 Thu, 10 Aug 2023 11:30:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb95a11-3760-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <julien.grall@linaro.org>
Subject: [XEN PATCH] xen/arm: traps: remove unused function 'dump_guest_s1_walk'
Date: Thu, 10 Aug 2023 11:29:50 +0200
Message-Id: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function in question has no callers and its removal has already
been proposed (and acked) as part of this larger series [1].
There have been further bugfixes to that function [2], but they do not add
any caller, hence it can be removed.

[1] https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
[2] https://lore.kernel.org/xen-devel/20160720161017.4508-1-jtd@galois.com/

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Suggested-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/traps.c | 57 --------------------------------------------
 1 file changed, 57 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 7baddfdc57b3..46c9a4031b30 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1686,63 +1686,6 @@ void handle_ro_raz(struct cpu_user_regs *regs,
     handle_ro_read_val(regs, regidx, read, hsr, min_el, 0);
 }
 
-void dump_guest_s1_walk(struct domain *d, vaddr_t addr)
-{
-    register_t ttbcr = READ_SYSREG(TCR_EL1);
-    uint64_t ttbr0 = READ_SYSREG64(TTBR0_EL1);
-    uint32_t offset;
-    uint32_t *first = NULL, *second = NULL;
-    mfn_t mfn;
-
-    mfn = gfn_to_mfn(d, gaddr_to_gfn(ttbr0));
-
-    printk("dom%d VA 0x%08"PRIvaddr"\n", d->domain_id, addr);
-    printk("    TTBCR: 0x%"PRIregister"\n", ttbcr);
-    printk("    TTBR0: 0x%016"PRIx64" = 0x%"PRIpaddr"\n",
-           ttbr0, mfn_to_maddr(mfn));
-
-    if ( ttbcr & TTBCR_EAE )
-    {
-        printk("Cannot handle LPAE guest PT walk\n");
-        return;
-    }
-    if ( (ttbcr & TTBCR_N_MASK) != 0 )
-    {
-        printk("Cannot handle TTBR1 guest walks\n");
-        return;
-    }
-
-    if ( mfn_eq(mfn, INVALID_MFN) )
-    {
-        printk("Failed TTBR0 maddr lookup\n");
-        goto done;
-    }
-    first = map_domain_page(mfn);
-
-    offset = addr >> (12+8);
-    printk("1ST[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
-           offset, mfn_to_maddr(mfn), first[offset]);
-    if ( !(first[offset] & 0x1) ||
-          (first[offset] & 0x2) )
-        goto done;
-
-    mfn = gfn_to_mfn(d, gaddr_to_gfn(first[offset]));
-
-    if ( mfn_eq(mfn, INVALID_MFN) )
-    {
-        printk("Failed L1 entry maddr lookup\n");
-        goto done;
-    }
-    second = map_domain_page(mfn);
-    offset = (addr >> 12) & 0x3FF;
-    printk("2ND[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
-           offset, mfn_to_maddr(mfn), second[offset]);
-
-done:
-    if ( second ) unmap_domain_page(second);
-    if ( first ) unmap_domain_page(first);
-}
-
 /*
  * Return the value of the hypervisor fault address register.
  *
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 09:48:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 09:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582027.911537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU2HL-0002y5-KN; Thu, 10 Aug 2023 09:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582027.911537; Thu, 10 Aug 2023 09:48:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU2HL-0002xy-Hu; Thu, 10 Aug 2023 09:48:27 +0000
Received: by outflank-mailman (input) for mailman id 582027;
 Thu, 10 Aug 2023 09:48:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU2HK-0002xc-If
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 09:48:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c24e722-3763-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 11:48:24 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9D5554EE073F;
 Thu, 10 Aug 2023 11:48: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: 0c24e722-3763-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Thu, 10 Aug 2023 11:48:23 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Julien Grall <julien.grall@linaro.org>
Subject: Re: [XEN PATCH] xen/arm: traps: remove unused function
 'dump_guest_s1_walk'
In-Reply-To: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com>
References: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <ef847651a7de76b948377fe347405d29@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 10/08/2023 11:29, Nicola Vetrini wrote:
> The function in question has no callers and its removal has already
> been proposed (and acked) as part of this larger series [1].
> There have been further bugfixes to that function [2], but they do not 
> add
> any caller, hence it can be removed.
> 
> [1] 
> https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
> [2] 
> https://lore.kernel.org/xen-devel/20160720161017.4508-1-jtd@galois.com/
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Suggested-by: Julien Grall <julien.grall@linaro.org>
> ---

Wrong mail address for Julien, sorry

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 10:44:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 10:44:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582034.911548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU39I-00010x-NY; Thu, 10 Aug 2023 10:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582034.911548; Thu, 10 Aug 2023 10:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU39I-00010q-Kr; Thu, 10 Aug 2023 10:44:12 +0000
Received: by outflank-mailman (input) for mailman id 582034;
 Thu, 10 Aug 2023 10:44: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=s5UL=D3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qU39G-00010k-V7
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 10:44:11 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe16::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5c78f48-376a-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 12:44:09 +0200 (CEST)
Received: from AS4P192CA0050.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:658::12)
 by DB9PR08MB6620.eurprd08.prod.outlook.com (2603:10a6:10:256::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Thu, 10 Aug
 2023 10:43:55 +0000
Received: from AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:658:cafe::a9) by AS4P192CA0050.outlook.office365.com
 (2603:10a6:20b:658::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 10:43:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT039.mail.protection.outlook.com (100.127.140.224) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 10:43:54 +0000
Received: ("Tessian outbound f1e964b3a9be:v145");
 Thu, 10 Aug 2023 10:43:54 +0000
Received: from 067061d4fe19.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A0748E8B-85B9-4EFD-813D-A63B24F0D234.1; 
 Thu, 10 Aug 2023 10:43:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 067061d4fe19.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 10:43:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB8748.eurprd08.prod.outlook.com (2603:10a6:20b:544::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 10:43:15 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 10:43: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: d5c78f48-376a-11ee-b283-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BvKQEDV988SPsQdqQ0+s2cfZqy8DBe4aB2q5bJS+yMs=;
 b=hGkh8mrNMLrAUtOoQIIMuC/QS59W8GNo/K1i/cRh4wut/Bzze49GH2M2/TfSeu1+mWfYhPdAFV/07s4l15vvRzuta2h9qwEJn1DnepnxQwA14izfedb4HAj4nNp7Zniy0q4b0qeRr2FytFPMC1bTNC3YReAKlDcm2A+PVuAFdC0=
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: a07e27998903aa80
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l/k11OXR8aWXsm1aAn94tZoxwoYib6j5oTgr2ktXuHiRmuN1pVgzLuKNn6yvVhkH9vh6ZpHH2E/krLz+XzbwQDF/cwQsCKqBNCcfyP3LZi3qmD7/AEJIjgVnjKwYFAy6xI6/uTMiDC7TQR9CWBWLTJ1EW1bKtwoaQiuUCO8sSTp1Ge4zUlZjk/mfqSpsD99BMCD6eZofAyyNANwQBJYSb5jVmKtYHPmv33W7GT282L70UptePbl13JSF5TytqXc0sxXZorEWlRs6npOwdUx06bpoCitAYojw2/JRaPmWhsV86S96P5cV3sdM227P5yNXJdSZ1LcVbLKF97qetRLVIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BvKQEDV988SPsQdqQ0+s2cfZqy8DBe4aB2q5bJS+yMs=;
 b=DGP7XF/DA+vAiW5uUaJ6wPt9B931qcaOOGzwGCMT6bq5Z8mwrO+k5Viw+dxsgJU0kJSAkdHYK1KBXVEBLInd1aNJp3IFzaHDTq47+ZuqNIA2xwbE6PiLEokLgPaN8DBkS95XEOnO7dLPqEoe+d9Dw+tQW7JSmBCvLGCmXWxJas+7p5kSv8jh+nwQCeVoXG9AKSg92yZO4luoWQrYNapPJ4XmEJJP9U+VtnWDyCebxOtuDb8Hd3miZwpN4cW2yGFt3Xu42McYToMxjUBdGFXtL0YecGJF50D8niWQBBQbqDRVhoQSXti7DFaAtGB/LRCylDnbv3WBEI8CqZ689IPftQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=BvKQEDV988SPsQdqQ0+s2cfZqy8DBe4aB2q5bJS+yMs=;
 b=hGkh8mrNMLrAUtOoQIIMuC/QS59W8GNo/K1i/cRh4wut/Bzze49GH2M2/TfSeu1+mWfYhPdAFV/07s4l15vvRzuta2h9qwEJn1DnepnxQwA14izfedb4HAj4nNp7Zniy0q4b0qeRr2FytFPMC1bTNC3YReAKlDcm2A+PVuAFdC0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>, Rahul Singh
	<Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	"dpsmith@apertussolutions.com" <dpsmith@apertussolutions.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
Thread-Topic: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
Thread-Index: AQHZyc5XC9fV6H5060OwNQm6NeqPxa/iYhuAgADedgCAABq0AA==
Date: Thu, 10 Aug 2023 10:43:14 +0000
Message-ID: <18F9E2A1-1CBC-44D5-A321-D6DC72DD55F0@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
 <d06d3304-1df0-e932-bc32-7a9939870487@suse.com>
In-Reply-To: <d06d3304-1df0-e932-bc32-7a9939870487@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB8748:EE_|AM7EUR03FT039:EE_|DB9PR08MB6620:EE_
X-MS-Office365-Filtering-Correlation-Id: 0cbda5b7-d5d5-476f-3610-08db998eb1b2
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:
 mzjltq2gNjfxz/vFdfn7FN1msp5XnrHB8ujU4ZD32tPxkzWi1jgLwl6B3OU+f512OduGLK7+Ta1ZIqFOpKwVWB5QT3v6Hmgr/1KLGsoXjDAfhw+BQm9zkfapWu1MJuA/6iorFnrJZig8prNEExKloeeSpk4x3uSInVdjNeNkAYw8B+d+gOwCkSq3XJX9vVmUSUCT/GihCsE+oBGX1OBJOODYzTvADl4M6tcDXm3XPHri/IMBpgmtDIFwKzJBmnPnBl9rgMvzJrV8gmyW0+Q49ZcN1irAV9XOUY7v8f0SoBZ3wM4hzkgyKxauUoWWO+iawx1pnLf3w9Rc2G40ntk1OoamT7HO8nTFOMiDv/jnpyjcMmektB1S0ywa6r4D+N+BBzcXVsops0P7CSY9CUS4WchP/iVU1YemB2W4hJCDsfB6FgbYvr94IuUx5cG3ImsYmXemeQjSod9GktoXfXZ0xmaBYe0QmIt2IDE2ej+iaq5ELzc7JW69fl7eN67kfjvvbkMj0uQMfwXSbki97YkNMxWMjIts1XQRRQbfBEnK5CWnQ/AdqqA6mI1qoVVcTHktL2UOG5oosCAGYflW5FNOSqAtmGOVde2SRMEC+/sSixnLY4io99lSkSGDTOJ7dnhX33SRJufEXdCmsXmqMpw4DtpNJ1mNNMSKgXgv6LG4LY8=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(451199021)(186006)(1800799006)(53546011)(6506007)(71200400001)(478600001)(122000001)(86362001)(83380400001)(26005)(33656002)(6486002)(36756003)(6512007)(2616005)(4326008)(66446008)(76116006)(91956017)(4744005)(66556008)(6916009)(66946007)(66476007)(64756008)(316002)(2906002)(8936002)(8676002)(41300700001)(38070700005)(7416002)(5660300002)(38100700002)(54906003)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7CE8C9E4C8CEA049BED0AD9BDFC1AB39@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8748
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f3c5a3d6-7635-48d8-2456-08db998e99f5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h4rrQeC75ERPJDFjgFslMAJsE+sSmfpvQOgYqueyqSmH04HACxU0ZYjMYwl/iLgp0maFrzIfJce5qK4ti17AgDsFOzqkjZyvkVeSJTvpH3GO4GSOBvujgqXq4gkrTYHHJRoSpkFlM1Np8CB1m0+ZUQ2ZmlbJhnVWDxoHpecwR4vrroZB2Q7W9IBRDqdG5Pyv+/jZyRrEQ55bA2QL+S2pjgzIsgIX7bb9Xsun5+ztjrHJX6sUtNrE7MiydyGxOaggGS50VPwOzozosdxXfeV7UviG4btCpfSvkaJnOaziUY4aBBArAeQlp3YlszwtgPgMcS4jTs+/CZMcLQGP8UZkQjtP0Nv7EKVKMQEUKAYNQiQ/ZRKuOzwbz83VXKdxDDHwtOsjm9B+EcDwOmSZzaqwGYIPId0zduh3DuiwvH3m0+dMsnQBZIN1SR+i8xUFLfWjausPpUHOUr6UYIsjuRVAjOT8IZUFf7+GE6oRRbEaHZcTap11b7I0m+74mN2XImrjQOt1OIDdMYItQ0YKui27kh+FcC+bp2cs/Ha5LSp1O3euVsNz3QgvLBPhcEdClPecappsure4om37cB8lFAYtDuP/9tx01Z8Wbpg2cDvfRDkSs0TXcxTmvT6JBDwnJSuqa3O15LZdMq2aYF4Lc+nNhS0IkXv+Eh/944S3Aqtd3jfOjpcl1X6cd2cBv3kap3JiTMxFykpAfqSyl+vcUitXcWYcSY8RjViYSOhAumDOflLSA5kqTmKMO6XsyCVzqL11NnqeX4q/UJHoRMawXj2q8w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(136003)(396003)(346002)(186006)(82310400008)(1800799006)(451199021)(40470700004)(46966006)(36840700001)(83380400001)(478600001)(356005)(82740400003)(36860700001)(81166007)(2616005)(47076005)(336012)(40460700003)(6512007)(6506007)(107886003)(53546011)(26005)(40480700001)(70206006)(70586007)(8676002)(4326008)(4744005)(316002)(2906002)(6486002)(6862004)(36756003)(54906003)(8936002)(33656002)(41300700001)(86362001)(5660300002)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 10:43:54.7459
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cbda5b7-d5d5-476f-3610-08db998eb1b2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6620



> On 10 Aug 2023, at 10:07, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 09.08.2023 21:51, Stefano Stabellini wrote:
>> Would the x86 maintainers be OK with it too? Of course further changes
>> will be needed to make it useable on x86, but looking at the series from
>> Christopher, the two sets of internal interfaces (dom0less/ARM and
>> hyperlaunch/x86) are very much aligned and similar already.
>=20
> Moving common code to common/ is surely okay with me. How much wants
> moving is (apparently) a different question.

Would x86 maintainers (and who is taking care of common/) be ok for the dom=
0less
code to be part of common/ but in this first stage be protected by a depend=
ency on the
Kconfig ARM?

In a second stage the hyperlaunch people would do the proper modification t=
o use the
common boot modules to delete that dependency.

Provided that we have an answer for the question Michal raised.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 10:56:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 10:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582041.911558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3LQ-0002cd-Tq; Thu, 10 Aug 2023 10:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582041.911558; Thu, 10 Aug 2023 10: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 1qU3LQ-0002cW-Q4; Thu, 10 Aug 2023 10:56:44 +0000
Received: by outflank-mailman (input) for mailman id 582041;
 Thu, 10 Aug 2023 10:56:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qU3LP-0002cQ-GN
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 10:56:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qU3LO-0003uT-KU; Thu, 10 Aug 2023 10:56:42 +0000
Received: from [54.239.6.185] (helo=[192.168.6.56])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qU3LO-00048L-Ai; Thu, 10 Aug 2023 10:56:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M2ezHDveF6TOlzQjMq0Sq52KQsUckvbSE9oLTbswveU=; b=1M8FQCh0EnvZqtChPt6PCtrLWg
	0lyRGJo4YVTJW5Xo6AuCyMaaqwxcsleV3xrU9Na64wq+o4336eTQB2fTcjD6bzJA2Xl1+xYBXiqNb
	yIdU+6Ix1PYExZu0DyYMPxmTQ4bGffKBxr10Pr1qrNlpIMvg0tpJrO5J8Mqc9uMKft3Q=;
Message-ID: <f6593257-833f-4c6c-b6a8-d814d294ff97@xen.org>
Date: Thu, 10 Aug 2023 11:56:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] xen/arm: traps: remove unused function
 'dump_guest_s1_walk'
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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <julien.grall@linaro.org>
References: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/08/2023 10:29, Nicola Vetrini wrote:
> The function in question has no callers and its removal has already
> been proposed (and acked) as part of this larger series [1].

This is useful information after for the reviewer to know it was already 
acked, but it is not really past commit. So I would move it after ---.

> There have been further bugfixes to that function [2], but they do not add
> any caller, hence it can be removed.

If you want to mention bugfixes, then it is best to refer to a commit 
rather than the e-mail thread.

> 
> [1] https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
> [2] https://lore.kernel.org/xen-devel/20160720161017.4508-1-jtd@galois.com/
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Suggested-by: Julien Grall <julien.grall@linaro.org>

Aside the e-mail address, you want to order tag in chronogical order. 
This was suggested by me then you wrote the patch. So it Suggested-by 
should be first.

Other than that, I would like Bertrand/Stefano to confirm if they are Ok 
with the removal.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 11:08:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 11:08:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582048.911570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3WT-0004GO-UF; Thu, 10 Aug 2023 11:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582048.911570; Thu, 10 Aug 2023 11:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3WT-0004GH-RN; Thu, 10 Aug 2023 11:08:09 +0000
Received: by outflank-mailman (input) for mailman id 582048;
 Thu, 10 Aug 2023 11:08: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 1qU3WT-0004G7-2B; Thu, 10 Aug 2023 11:08: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 1qU3WS-0004CY-NR; Thu, 10 Aug 2023 11:08: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 1qU3WS-0001yn-1N; Thu, 10 Aug 2023 11:08:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qU3WS-0001rd-0y; Thu, 10 Aug 2023 11:08:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ur2J5jnzBMNBvxtPIO7hXEseXQ6HB5qBlMFJI0fgV78=; b=MZgy08rf4JPyHDfF5AKJFu4nv4
	lV7nmt5iNFhfagye0juVOr8pEa+h1IAUIU/V8JDjDO3pzTdKdSu1CVya+njG46n4quktWK2MjoZi6
	HlgrNVk24yJ9u3pihYjUSQ/uvXH8A+YHf0DdyfCTgPDx1BmONLAIJyeilqV/4H4Wdqzk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182241-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182241: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-uefi:xen-install: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=56d690efd3ca3c68e1d222f259fb3d216206e8e5
X-Osstest-Versions-That:
    xen=d3be806dae9c122fe94702cd9fa2e358a60828cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 11:08:08 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  56d690efd3ca3c68e1d222f259fb3d216206e8e5
baseline version:
 xen                  d3be806dae9c122fe94702cd9fa2e358a60828cd

Last test of basis   182227  2023-08-08 07:17:10 Z    2 days
Testing same since   182241  2023-08-08 23:10:24 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d3be806dae..56d690efd3  56d690efd3ca3c68e1d222f259fb3d216206e8e5 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 11:26:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 11:26:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582071.911643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3nz-0007Zc-FH; Thu, 10 Aug 2023 11:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582071.911643; Thu, 10 Aug 2023 11: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 1qU3nz-0007ZV-Bd; Thu, 10 Aug 2023 11:26:15 +0000
Received: by outflank-mailman (input) for mailman id 582071;
 Thu, 10 Aug 2023 11:26:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qU3nx-0007KG-NU
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 11:26:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20620.outbound.protection.outlook.com
 [2a01:111:f400:7eab::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4680bb3-3770-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 13:26:11 +0200 (CEST)
Received: from MW4PR04CA0054.namprd04.prod.outlook.com (2603:10b6:303:6a::29)
 by SJ0PR12MB6990.namprd12.prod.outlook.com (2603:10b6:a03:449::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 11:26:04 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:303:6a:cafe::95) by MW4PR04CA0054.outlook.office365.com
 (2603:10b6:303:6a::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 11:26:04 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Thu, 10 Aug 2023 11:26:03 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 06:25:54 -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.27; Thu, 10 Aug
 2023 06:25:53 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27
 via Frontend Transport; Thu, 10 Aug 2023 06:25: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: b4680bb3-3770-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b3VpmIGfTSy1rvYrj5CLIHSep8xFX9j9y4+ghrmDUI7YeLPLVi+x4JJoXYo6C4errcVakD38S2ATs9t2M2cQJyrOF7b8eElesLfCjTQ4HzBpVRvbiKe8EBgbj71l/gQcj0CtZds21uoJ7Ojj+sM+apjHm6wkdsfjeEVZOzxxZVEy0nygivIeFTgeV8uS967Dh//ts5vM0VtFUUFG1a6El9DDCX6fF/7xICTy8vKObpDXy0A81/jnR35ZWWbbptyerAYwVPUNuPjkWVpu+8T2rxMNK0nLDlNrWF6kLDqvklcxj7/k9faBVCQNcIT31AnyqAtYNpVBsWgM/Q4RJnqQrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cVa18TZKbzHxsYXSBg931qTZMb32QSREUek5+T+Po5E=;
 b=C+FkhUBvWv4YFswIcwN7sLUPwkfhjIbbApQO1EwBCIVgL7yY290kUPY2hkEkjBWQPovJiDck4oKEa9PydKZCAiiu0FuHvShpOHfKQFB8Lq4o8cugZXTFveZ/lg9J+hHsrcHUyaBE0pWXBkDcY8qHaof5ZPnN0b4MnJgcUHMyRPRP5ipBgEBoUozK6ZohR1Gk6HcqF3zTyQryNkfmnU9yPb4ZrRGgoAFbDbjn5ulm9l3pYLuTZD8uiEWZ3z4ToD8+1ROVsqhpdVuUCgCxqMA50Qy64tnZxIi5Tup3wiRyMj0c8x3TUacm2pK5mqEtjrfYrrNh9p/z4vPfSC39/rVUOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cVa18TZKbzHxsYXSBg931qTZMb32QSREUek5+T+Po5E=;
 b=Ytva1UujfSmgKij1ACBfgfGWrxyhLsb3EKNA2eghn6TgV1r4QGSFh7qya7i4nReiwio9TqGYEPk6AB57TvnBFwHEBBOmLjxTYI7kMCT58cSUNmP5RvOI6BP4d7MLsfSxtfn/Zqz0xo0oCmIRTRPB5eeXVt+Hfe0tslL/tMqUFGY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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 0/2] xen/arm: fixes around device tree generation
Date: Thu, 10 Aug 2023 13:25:42 +0200
Message-ID: <20230810112544.17365-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: CO1PEPF000042A9:EE_|SJ0PR12MB6990:EE_
X-MS-Office365-Filtering-Correlation-Id: d421d8db-b058-4469-9735-08db999494f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xnx0Gul/z+H7njLBwJ98W3hSOS0+r/cNXGwS0jN4gy7CYywZJvpWsbcSTjgxZpvm3c8Ap6r6c3cUpNigMkDbwzc3HUvkpqYe3ZTLiMv1Ks4fqgIvSYvm1EXadcDP8tX1Oc+mRRXFjhhWYxC47RqcYAeiwVDJ4wUC4d9dCUJiW1hawDFshL0UvtksN64KpjlkGFzes9knu3YSTmoCGlwtpi8I3XlTQelDdmc7wFe1EmI4Z30NqxvibEQsbjHOq5JSqmIZJti/BqwekYNRXERA5qZ7m2uZ/TZCwZ13goRCyQaqfxAV/ojip2m18Ck6v8U5vtwTHn1rTL5ikNkrkVal+rCoXOEbaAXrIwoH3IhBxApfjKFNv4RbOEc7yudL1CS5EdXZqx+a1Guz/D5wUhgKdbR16ZSlTFnEWPw2uWN7Om0QVdwFkwrne/6FYcAQBVbE1rRe+MRc6egDJ2x2MlNVuYh/I/KBv7ulleeCTRTms8r/Aemiqee5goIG/506kcb/enp6bD5WgCVsV++ErN/PJF4uSFib5B3dMIVk/DsorQgTrzIWeEDzr/ePTJv2qUMJwdOWNDSKwEFlA0sZjs6oEvMLvHqaUzgF6aLb4YjZg/9CoDFe2G4aMPRbU0BLo09Fdnhj7mMJeYouXfxhSJMLyh3sO01142eRkYn7/ba1ssRiKV18+c1e+ZFLYQe+djEjI7PBmxDLlzwXPJhUvYyZjlhwcTZ6YeX10baDOaxLrE4r3TX3NdWdhiQg4Uuwz7mzMBCu3vthaEvzct7f5T1ehw==
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:(13230028)(4636009)(39860400002)(396003)(376002)(136003)(346002)(82310400008)(1800799006)(451199021)(186006)(36840700001)(40470700004)(46966006)(26005)(1076003)(8676002)(8936002)(41300700001)(40460700003)(36860700001)(36756003)(558084003)(47076005)(2906002)(426003)(2616005)(83380400001)(356005)(81166007)(86362001)(82740400003)(336012)(40480700001)(44832011)(70206006)(6916009)(70586007)(4326008)(478600001)(6666004)(5660300002)(54906003)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 11:26:03.5180
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d421d8db-b058-4469-9735-08db999494f8
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6990


Michal Orzel (2):
  xen/arm: Fix initrd placeholders generation in make_chosen_node()
  xen/arm: Skip inclusion of domU nodes into hwdom dt /chosen node

 xen/arch/arm/domain_build.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 11:26:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 11:26:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582072.911650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3nz-0007d5-QS; Thu, 10 Aug 2023 11:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582072.911650; Thu, 10 Aug 2023 11: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 1qU3nz-0007cB-JA; Thu, 10 Aug 2023 11:26:15 +0000
Received: by outflank-mailman (input) for mailman id 582072;
 Thu, 10 Aug 2023 11: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=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qU3ny-0007LL-Fk
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 11:26:14 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4b66cda-3770-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 13:26:11 +0200 (CEST)
Received: from MW4PR03CA0262.namprd03.prod.outlook.com (2603:10b6:303:b4::27)
 by CH2PR12MB4136.namprd12.prod.outlook.com (2603:10b6:610:a4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 11:26:06 +0000
Received: from CO1PEPF000042A7.namprd03.prod.outlook.com
 (2603:10b6:303:b4:cafe::85) by MW4PR03CA0262.outlook.office365.com
 (2603:10b6:303:b4::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 11:26:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Thu, 10 Aug 2023 11:26: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.27; Thu, 10 Aug
 2023 06:26:02 -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.27; Thu, 10 Aug
 2023 06:25:55 -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.27
 via Frontend Transport; Thu, 10 Aug 2023 06:25: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: b4b66cda-3770-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PKp0N4KbQrOEtlgL4PD8o14PHKvZt2JlxB801L+XxBuY8V+ZdHIBdQr5d59CMIpb9AA37NlEOre3hZp5AsVJqWtxFVWECUXwDTTJE9bB3Litylw22DUe4mfdGpBn8nEfbz70n6UFQBemjKes9A2xBjRW5s2jMONlkpibuGvzeqyO6mZ7e0PXPclYCtvv39L701ZbVIiO2Wfa7RtdooTjPn08I4NOm8YrEyvhkd32+Hy8mNgc8B6SdEBvJ8P9KmpKApuAwi2E4JOScl3dEWAyLF124TmdPwbeFcwYoSILk6e2Y/HsxBxYFpYMqD3y9rcE5i7VSvvbJWTn/ThMQRsCWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JuleepvHl9watBMb8Yr2FhoB77ZcoX5n+rVEP21MO5Q=;
 b=alJ8EOZMSn5PWrV6MrHkRx6IDqSBCx2urwD9tKGpwRTnZOWo67XIjgckIT0k+EeAq+Yge28IWFWwoqEf8nQrBRQhfARF7VkBt9A3HPbHsyYswVXKQ6qO9Rty5E5cYg50M64mn4serMtr5f3aRcE2vpkCbRli2vASP04Q3e1WypEuANNxFqEHh4WttPSoDyDXP6VGKM6regp+EbS4FjP19vnT0rdIm1uQQoWt2BsixPvqWvdQBw9YI11/doBDn8QXni8zKGnWCKJ6M1FE1f8mS6JDJaIcYohdtKJKFoElZuxV8TtRX2bnSqywa8UtiM6arxgXz2iy4lbnXZa56/Q8vA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JuleepvHl9watBMb8Yr2FhoB77ZcoX5n+rVEP21MO5Q=;
 b=w45ye4cRZ0Eyk6FiAx08c0HCOr4d2N5Brn2H9eZFtbYCtAzsU0IFfvgFGHtx8FPl3xJTUk2OJ7O7SHqPM12f2yRbj3e5zESiT6CDJcYrgGTN0RVPdLPU+YWkhei7q/IvxEqXdd65xW+yBNPPjEw1ICTQZglNtluoaL04LqAfxe0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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 1/2] xen/arm: Fix initrd placeholders generation in make_chosen_node()
Date: Thu, 10 Aug 2023 13:25:43 +0200
Message-ID: <20230810112544.17365-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230810112544.17365-1-michal.orzel@amd.com>
References: <20230810112544.17365-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: CO1PEPF000042A7:EE_|CH2PR12MB4136:EE_
X-MS-Office365-Filtering-Correlation-Id: 957aaee4-7783-4d80-7454-08db999495cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ngULf1tCXWnr0u7vrSTOCAEp5OgiazJK3vCXUqk+qlcdmLI38OWde0DlMtIuuZx3/EUL1DndyQsTHmDroncp4kKUCRrQsBiYfKiS4P8D4ztV3Oj9sdjJCwdsQeto6AA1DXtBA51/Lw4B/UDfjhnRkeScMF6ZhcO2gty/GjjNMmuF97LNWnIOyPfz9KthydvnqrgUJ8xb61zBNKCFHduYIad4gPisYh+1sBdEkW8mukzB7A1PXXa4epfNmXZWKFLCY+4XOeuGs06ZNN4v9CjSIAhrhJDLdQTHwxWkYMGDVoJCuh4iBcgwkXrUHzkc0oI6COoEpFydTu4fyctvygz/KLeLO04ZJ0JQUEalmjElQrxOqF1omNoi5bin5QBJsK71m0NUSwVvtx5dbYPfbpbxWmwo77yTHlj13jyobnkqF7w38nTmrNZ/WQ5P05+zb4/iSbwLZFvaxG9HDV/u35vqw9YbsGQXTrE7fw4pWhNNyWHElxplpYCAlsuUaXxDxSLzX7qIvoWm++uUjr7RLb/282ph1M+eZTZV4wU1xhWEduMtH0PGoY5oc7j3rEEa/Oe1bUjTwujrWiEu2Vh8Um9LTp7X2KnaAdBzeDQTpCqKakH/lx8dWGnMnxeF6Nu2/fMDeK5XuIya08rvHEsY8AcJdy1aI9Lr+pn/LtzBhWQV4MWUD6seKn5VzBalxW6PIPElk2ka/iu0yTARi9NZPgH0OzPnaV8pHjomNUOen/QJNGFLFS1mkQUyTWPgw3OddA9IClJw3EyQXpLf7c0U9NqjHg==
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:(13230028)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799006)(186006)(451199021)(82310400008)(36840700001)(40470700004)(46966006)(40460700003)(40480700001)(70586007)(6916009)(336012)(70206006)(1076003)(26005)(6666004)(478600001)(36756003)(54906003)(83380400001)(47076005)(2616005)(426003)(36860700001)(41300700001)(44832011)(316002)(4326008)(2906002)(86362001)(8936002)(81166007)(8676002)(82740400003)(5660300002)(356005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 11:26:04.9105
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 957aaee4-7783-4d80-7454-08db999495cf
X-MS-Exchange-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:
	CO1PEPF000042A7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4136

When booting a dom0less domU without initial ramdisk, it was observed
that Xen still creates empty linux,initrd-{start,end} properties under
/chosen node. This is because in make_chosen_node(), generation of initrd
placeholders (later on filled with the real values) is protected with
a check for presence of kernel bootmodule (always present) instead of
initrd bootmodule. Fix it along with renaming the variable from "mod" to
"initrd" to prevent similar mistakes in the future.

Fixes: 48f4bf6bdeb4 ("arm/acpi: Create min DT stub for Dom0")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a505..c6881de8bd85 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2256,7 +2256,7 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
 {
     int res;
     const char *bootargs = NULL;
-    const struct bootmodule *mod = kinfo->kernel_bootmodule;
+    const struct bootmodule *initrd = kinfo->initrd_bootmodule;
     void *fdt = kinfo->fdt;
 
     dt_dprintk("Create chosen node\n");
@@ -2276,7 +2276,7 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
      * If the bootloader provides an initrd, we must create a placeholder
      * for the initrd properties. The values will be replaced later.
      */
-    if ( mod && mod->size )
+    if ( initrd && initrd->size )
     {
         u64 a = 0;
         res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 11:26:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 11:26:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582070.911632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU3ny-0007KY-3z; Thu, 10 Aug 2023 11:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582070.911632; Thu, 10 Aug 2023 11: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 1qU3ny-0007KR-1G; Thu, 10 Aug 2023 11:26:14 +0000
Received: by outflank-mailman (input) for mailman id 582070;
 Thu, 10 Aug 2023 11:26:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8LQy=D3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qU3nx-0007KG-34
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 11:26:13 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e88::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b50cd0c8-3770-11ee-b283-6b7b168915f2;
 Thu, 10 Aug 2023 13:26:11 +0200 (CEST)
Received: from CY8PR19CA0046.namprd19.prod.outlook.com (2603:10b6:930:6::10)
 by PH7PR12MB5877.namprd12.prod.outlook.com (2603:10b6:510:1d5::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 11:26:05 +0000
Received: from CY4PEPF0000E9D4.namprd03.prod.outlook.com
 (2603:10b6:930:6:cafe::29) by CY8PR19CA0046.outlook.office365.com
 (2603:10b6:930:6::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 11:26:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D4.mail.protection.outlook.com (10.167.241.147) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Thu, 10 Aug 2023 11:26:04 +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.27; Thu, 10 Aug
 2023 06:26:03 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 06:26:03 -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.27
 via Frontend Transport; Thu, 10 Aug 2023 06:26: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: b50cd0c8-3770-11ee-b283-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J16ttXIWv6tekdYUf+IHpfMOtHcYf6N4i8Pc/0loM4yV17fYzn2J9Zk+Fd79Q/+FkP+HT4HnkgOqn1pV9lSReRNkFmKHiCL3n9DXSq5BBGM07XxMGwDQbVI1NKa68hLXNpOfbPSToY5OrM8rGoE1wKXGHAQ4gCythwntaXc6kBrAJtkFW3K43s8eaFqvE1Dy6KM+ZrYoj9v6XtSKyNqft6SpwKCYtIXQcJARJ0xW+xDXZYb/KyMFACTAGABCY+qF96bSw2kEjjFaJce+XtGT2Yv4LU1Og6yvRH0+Qzi7CTDX6UlS4Jpy7pl8O8hrw0YRUkDhffXhcGxxZcvrR92U0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tIq6mkZCycPFXQBXidjf4QJt8gnrX6XXIW7vDCATUws=;
 b=jvG3vT4nAUMCQJMRzhb7UH9xWCbN/GQ11zzG3Ca9Bm9oZlwhZ1zAAXlEApD41qbWSSkxle4s2vJWeyx17683y3S75EBVwXM8YLrlxGHvYNPfRKGyUMyWAjq+W9i9HsLIDcMTuFlFwM22nCX8+MTdTrjB/mm/9wmZVK794F1KuTDMODBYob+TbrVf3E2RZb/mmhL/epraMfScFTvrRD66AlrKB9iG0HVFatNxjKAw7kLsOYLimrYxFFi5WSjxs37/krlq6ZWw9No++F7cpImyQRc6zznrbIRwYvM9tGAyNPBFx3NgnUErqkGFs7wxy0ixX0S5P+RFz1NeJkzbKmMHxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tIq6mkZCycPFXQBXidjf4QJt8gnrX6XXIW7vDCATUws=;
 b=LHo0Qd84wp28X4W9Qsfr5qVIC8IHf2hhk+7cqCnvAw+AGUKfhzfoWcEdUbqLIpwAqJXPeiF1p682iv59XmxGO1lXxgf3wVXn0d3rQpJQ340YvShoCGr+nYm+CAKGiLCjh0cM0K8FQnBNQcox5BOHRBZqLsR8esrlTp+MUn69ai4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/2] xen/arm: Skip inclusion of domU nodes into hwdom dt /chosen node
Date: Thu, 10 Aug 2023 13:25:44 +0200
Message-ID: <20230810112544.17365-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230810112544.17365-1-michal.orzel@amd.com>
References: <20230810112544.17365-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: CY4PEPF0000E9D4:EE_|PH7PR12MB5877:EE_
X-MS-Office365-Filtering-Correlation-Id: 0210e78c-724e-4be6-b7da-08db9994956a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gMqXbG59qU/5PTE+3hUsiZLNAf17sIcb6tv7bc/9QhEBdxmj1Fqttuumxf2A0hrFKSoRFJyYxMRDpS1mxr3rc2ezNElT46bWLJzaLZNBXGYNtxywqlwsgryxo40gNXy7xWmmotheu0SgeWt9at3Ws+F1WMAPqo3CdYzWl90VC+kbGKk0U7d7wdTijFdLcxNLNP+pXc8F1EjOC4IHdgUMWlJH6Qbvj89QK1wWFZXXsnKtkeVvK7QSkP5c6zmWsQXnA7Mh9GoOas9dF5ZAhNFxgjVSL45jSoILfObKQA0YwZxsz5J61mSCgKZUZ3klS8DkUrl9fxJzgivHEpDSIiJOcLRgPnOFCsGeYDDIhaNGK99C3d4MJVBM8j1GRSsytYBedB4kly5PtAga0es4Ip4MNRPUaAvb2dAGw635h6ULEmpULxOhR3vcJJDUTTCRX3CZEIIT1i8zFaxM3Clv92DngQXlg6XA+gzeW0l1f2VflXe7dEAEIl8l/grJY+EmD48loVy4b3hePvYSbTy4dsu3PGl8QAxHwFRLLJWVVKhpo7lxcVj+fvFkrHpQj/sFSq5wtqyO5zHRtUdJlXgoGI25J8LqTgkRVVQP/KnP4tLhe3gHbSP/zBzMi4DHhapgrvMpjqcd5xpTkCW6xka4XPoj6aQRfR1kEaarSRsL/ANn+OK5Xj7H+eUVqYs2khptJLu7CzQE6JAOtFzlFI57MRJz9pUp12iookGU8wzyTCNs61vIK9I3QYBySGnBmMz4cdRNomsaa8bVY4wk6HdGMneJLw==
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:(13230028)(4636009)(39860400002)(346002)(136003)(376002)(396003)(1800799006)(186006)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(40460700003)(40480700001)(70206006)(6916009)(70586007)(336012)(1076003)(26005)(478600001)(6666004)(54906003)(36756003)(47076005)(426003)(36860700001)(2616005)(41300700001)(44832011)(316002)(4326008)(2906002)(86362001)(356005)(81166007)(8936002)(5660300002)(82740400003)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 11:26:04.2971
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0210e78c-724e-4be6-b7da-08db9994956a
X-MS-Exchange-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:
	CY4PEPF0000E9D4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5877

Configuration for dom0less domUs is stored under /chosen/<domu> nodes
present in the host device tree provided to Xen. All the properties and
sub nodes there are meant only for Xen. However, at the moment we still
copy them (except for modules that we skip) into hardware domain /chosen
node. Fix it by adding "xen,domain" compatible into the list of nodes to
skip in handle_node().

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c6881de8bd85..54bf5623c889 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2592,6 +2592,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
 {
     static const struct dt_device_match skip_matches[] __initconst =
     {
+        DT_MATCH_COMPATIBLE("xen,domain"),
         DT_MATCH_COMPATIBLE("xen,xen"),
         DT_MATCH_COMPATIBLE("xen,multiboot-module"),
         DT_MATCH_COMPATIBLE("multiboot,module"),
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 12:58:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 12:58:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582090.911663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU5FK-0000za-AZ; Thu, 10 Aug 2023 12:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582090.911663; Thu, 10 Aug 2023 12:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU5FK-0000zT-7g; Thu, 10 Aug 2023 12:58:34 +0000
Received: by outflank-mailman (input) for mailman id 582090;
 Thu, 10 Aug 2023 12:58:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU5FI-0000zN-KD
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 12:58:32 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a0ba263-377d-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 14:58:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6795.eurprd04.prod.outlook.com (2603:10a6:10:fa::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 12:58:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 12:58: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: 9a0ba263-377d-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P+etWnIFRtdiz8/7iNY08G3owg7hIF9wtU/awVBz9veq0HlESYp4EfVxHqZm98f75F3QvacnNgIsu1v7lB3/Oz4x88tmjtJN3vfloxl5lVKa1zjggPHoqcaTpR3UUGHJX1xxhUysoPqKJDWOMb5W35DzEeSw5IES3Sa2ndLcwXj8849Cb6UlA0XXG2xu46140wZdkHYFn9G1vOB0/hNHVRF3hhNSdibBq5+qGAScxpaknmLRlqEdb/fJOBGQoqUelcltChhYge+8SCyjUb4xFi0Utxns3/jEA7Q0/UI17HdE8ppiT2yaSf0PbqUFjHSCHXtvsslMSo4m4IfmM0u7WA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N/oikjZblIu2K5b55makPuKDvXK8KeamNCJisBLMO0A=;
 b=N6QNCHxQgnllVQWBAPK/gBG/KJpu7CLUT+1kVQXWEJRGmwR8x8N0o+ieGsnSiD4cdPi9LZ1droec4DYImXBmsR0g5Z1QLnNUiRCF8mYx7pjdu9gNYmidlSKAdUkpaMmrI0aJ8UsvrA5zBg8hVcJDG0K/RPgt4uOuwZyOOZkeg1zWI9UGOvEBgy08M0dCUWGDwVR10+DsxVxV6liN/md5hgOcsW2nHQwp2+4IMIc9J/uu/VSI3HqKSGeTFduiUmXO/E00kJuNMTmfRUCYhl4ahETNNadURsrSKNukzDNqGK7RXXa7fVdvpUgEZWw60bqsdkep+hczrpVUD+aIRb4RcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N/oikjZblIu2K5b55makPuKDvXK8KeamNCJisBLMO0A=;
 b=FdYHOHf6bZfMU5lMxQpmc7PVR0YNH4Is//doum2fvUwluq2i1rrYkEZ0lunUHFkJI52krPBjQMQiIHTu+rIsYgkkI2L12i4hvMNVa8xNG4csW3HjtnyazQzDnc9Z92LCE55Az+/E2bSSk1GSbN3/xbn3HZKLh5LXXMoMskK9+oRjlBYyys6QhqitfN5g95ecChnSfiwk4q7D5BvSK9R5MDKsDRXfJgPsJgjVbDrxK8k58apO8aMcgiuW2kxcWZ3TPvCpPmdM6sDa1ArCTGff7aiAUhNzE/mxk2hqEOBDn2tkR16RiEuW1WKZvvNyhmE2wZJChPk5W/8zETn0lJxynw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bf76f720-9273-617e-7187-0f1894120f04@suse.com>
Date: Thu, 10 Aug 2023 14:58:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Moving Dom0less to common, Was: [PATCH 0/5] Fine granular
 configuration
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
 "dpsmith@apertussolutions.com" <dpsmith@apertussolutions.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "roger.pau@citrix.com" <roger.pau@citrix.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2308091243280.2127516@ubuntu-linux-20-04-desktop>
 <d06d3304-1df0-e932-bc32-7a9939870487@suse.com>
 <18F9E2A1-1CBC-44D5-A321-D6DC72DD55F0@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <18F9E2A1-1CBC-44D5-A321-D6DC72DD55F0@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6795:EE_
X-MS-Office365-Filtering-Correlation-Id: e2718808-cad1-4de1-05a5-08db99a17d5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iwWpPax6mInXGjmLXDrruDE8JQoy/3zJ5VOLZdUNvHqVcgpkBBXMZ9mRuL3Ok4aQ7wWnGDSwKRt2Z20qJkATd7gZe4vmDKnYPlonUJiaOn4fc3OsDX7/iOdoZ9AfYKGanRqC1NGqAYXjLxqztPrnpILjH9jhsof9ys4fJ67ItKID1OFYD6v0WIMaGLQDA3/vklv+nsiNwCnSpu+ljrkBQW+2jWmPMiOa0yFN21VW4U3Q8w+CvAj1TcBzj5LAV8KjuMm7aJLJRxn3rawjgX0jHPN1G8oDd4L5pIVwEeKm493D+G+J+k6RODC8Jd5PHaK6DtI/+BhfdJN5XN6pX2WPV4683dwPbJI5VZBio1PNxEIQ44b5zccLa1jm6tx98vHml9i1f1NkGHnD3ifDpvSr7nN9mbrdKMJHSJKBYp3AwsRkpVAWEHmflP2T2cnsp/QWjyTklcQJO3X7Xa8U58UVumjUbLaLuNXrrTTWglYuAPsq/GLF3JUCAEVreeZwOdPjg8QJ96rkmxGVhZ7vj30twwO1NXXlG8VXcTNlrxVMD1YJmcQpDDKHvjHsYg2Vo7m4lTms/MalEWcBv4IkYNRjVwkGbeByb9R8llaDTRaDfYV2XbbkWF0KCPsixlpR31qlHXpDSkw6b7cMTBraxljFh1rXsGQ0tYs2ktSxPYF5dlo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199021)(186006)(1800799006)(2906002)(38100700002)(54906003)(478600001)(86362001)(2616005)(31696002)(7416002)(5660300002)(6506007)(316002)(36756003)(6512007)(6486002)(8676002)(26005)(8936002)(41300700001)(31686004)(66476007)(66946007)(66556008)(4744005)(4326008)(6916009)(53546011)(32563001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmlkcUViQkthVE41c0MvN2V1YzhwZlh0SVZrUSs0R2h6M05FLzJqaFgyaHQ5?=
 =?utf-8?B?dlRXNk9VRDFYUVlYZm1rZ3VKb1JnSzNlQytxUnlEeFowaXJIMk1tc1YzTmVz?=
 =?utf-8?B?b1M1Y3drMXZWU2RPV2NuT2ZzeW5tY2FVMndZWE9oN2xuWFZDdzRFVFpTSzZo?=
 =?utf-8?B?cTcyYmg2SjBxWnhRczdXZTZPaGtVSkFSS0lFWVd3V0pvMUVIUE5iU1dkRk5m?=
 =?utf-8?B?TTFQM2lESzRUUDE1NW9Sc0JMa291bUNMb05rbGJmOHFydERSY3MrM1Z0b0lE?=
 =?utf-8?B?dEdhaU56eVVBRWxFZ2pUWjBKZnBwRmxMUk5YbVl6OXh1NSswbkh6L1RGY21x?=
 =?utf-8?B?WThSQjJYdW5abUZvV1h5a1h4eFpGZ0FQaGxtRXhydVFIVXo4WjdXamxMVktZ?=
 =?utf-8?B?bTQ3S09vUzhVNm92OE02OUtqKzNBVXF4Z0FyK2dHU2FYWWdPZnlLQW1FdENU?=
 =?utf-8?B?MmVmL0JhOC90YStlcWh0a1B1Q1A3UzgwUVdDVTVPV054K3FWQm9PS2tpYkx5?=
 =?utf-8?B?SGY3MXFweldLSDUreXkzR0lETWgydWRmblN3aWhaaDZIUWlXK0RMTEZkZlha?=
 =?utf-8?B?c2VUU0ptL1p2TWFMT1VxZU9reExMSExFOWJmZHZLdkV6VGdCOXg2bm5lNkVZ?=
 =?utf-8?B?SlpVUllrRXR1MlVLZjVNdlNXWGlzSUw0L0NGU2ljb2hlYVNwNDJqOHVmMU54?=
 =?utf-8?B?V0lNRVBQUDI1cmU5ajA2VVlaZUZmeGl6di9yVDlScFJMQXI0VVl2QTZwa0Vm?=
 =?utf-8?B?QzZGbjdMTmdRMS9jSDBrVmx3VXdNTmg1WlpEUTkzeEZQV0RRa2ZLSThMeFdU?=
 =?utf-8?B?eUtmcDBaUjJRUTNmelo4Sk9oMldYd0J1ckIzZCt5ejFuMnJqSjBWSk40UjNG?=
 =?utf-8?B?UmJtUWd0VzZudmY3STA0QjhGeGR4cFhibllYajV4bTFBZEJzQk9MbGpyMWEy?=
 =?utf-8?B?MWVuZlJURGhFY3NlSEZKTTNkZUd6cnVsUjBGbmZ2L0VET08wbWs1a3ZKNkhF?=
 =?utf-8?B?UmVMclRqWXZJZHEzTmZJd014TWRxUnloYndLdUhEWVUwdnB5OGl0b25Jc2RM?=
 =?utf-8?B?VjBuSFpZSHp1YUs4bmt6ekVGd1h6UjRjcUJHWVZscjBZNTZGT0pBY2dZN2lt?=
 =?utf-8?B?VTFRbkxncTlBNjcrZUZIRDh5bC83MlNFU3I5Z0E2TVBsTW9IdVZVNWxKWmxY?=
 =?utf-8?B?azNlLzNEMWE5WVR2T1FXM2N1K0JCTUs1S2RsVThvOEc3MFhoR0ZqNjZkM3c2?=
 =?utf-8?B?Zkc4bVJIWkwzTjB4UXBCTW54bGtacFpZL1JBbkMrK0dNeEtWa2dtS2tTbG4x?=
 =?utf-8?B?eFlnNFRIRmVsODZ6YjJMWlV6a3JiamxZR3FqYWR3MGtkOTZtZnNhZ0hxUkdh?=
 =?utf-8?B?Sy9XWnRBUFp0Z1pTZ2ZhZGZQeU54QlFlaFZjdzVHcjB6WGFCMkFvVDB4Wkxl?=
 =?utf-8?B?UWhxbk9vK0czL1hmWUtBakREUzI3OWVCYjBUYS9nMHN0RTN0Q3V1OHVVaVdV?=
 =?utf-8?B?Ym5ZMVEwYlNCSkpPNzJZNlYxQUNLc3VIKys2SHlPS0U3ano0OEZDWC9ORnFC?=
 =?utf-8?B?bU9zM0JlSlVFWVVxSUUzNXNPWlcyT1l0U2FUTXdMWUhJNzBENlRkUVYya1dP?=
 =?utf-8?B?OFQ2M3NIVUdqUzgrSzNBM2c0SjBYRGRwTkM3aVZLeVdPcGlvNDFtODdKRHVl?=
 =?utf-8?B?OXZ4aHJFY0JiVmFXWmdZNDZpZXBCdDNFcFdvWU4xVENSeWJEU3JMMGtSZ09W?=
 =?utf-8?B?Vm5scEx3MDU4NkdDeUVVRStTNVpRWHBHdG0zbjYzT1YzclNTeEJVQS9iZTB0?=
 =?utf-8?B?c0Q5Yys0MEpYcUIvcTNabDBPOGNDbnRXK2NRaEJHL3I1QU53ZEM4QnhDY1px?=
 =?utf-8?B?RG1XNGs1cE41M2dSNlZtbCtQb2FKcEdoOWI2aWU2M3hVYWptNzYxV2JnaXJN?=
 =?utf-8?B?ekx4NEpLdkhmeVZRcXF1NkxlZHczUUl4cTRxWmZxMzUwQVlLV1EybjlPN2hC?=
 =?utf-8?B?OGNMb01PcEJWSGppRmtwVXVjVys4NFlnNnNPZ3dBZ1IwbTB3d1kvN2djUkov?=
 =?utf-8?B?RGdyR1pLVEprdk1ic2xqNE5aVEZuVWpjMHZTcXNSSlhLaVZ5cDhtclJaVEJo?=
 =?utf-8?Q?KRfEbCOZpekjzeUUaFHpDoyW8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2718808-cad1-4de1-05a5-08db99a17d5e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 12:58:27.6130
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: akiDAI69M9Oiu4md3BzChhPc5xA5hTxUqIlwWC1el63vu09YrLuL7YB0lMnhmwrHz9xPptx37ECrss6FeiyVwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6795

On 10.08.2023 12:43, Luca Fancellu wrote:
>> On 10 Aug 2023, at 10:07, Jan Beulich <jbeulich@suse.com> wrote:
>> On 09.08.2023 21:51, Stefano Stabellini wrote:
>>> Would the x86 maintainers be OK with it too? Of course further changes
>>> will be needed to make it useable on x86, but looking at the series from
>>> Christopher, the two sets of internal interfaces (dom0less/ARM and
>>> hyperlaunch/x86) are very much aligned and similar already.
>>
>> Moving common code to common/ is surely okay with me. How much wants
>> moving is (apparently) a different question.
> 
> Would x86 maintainers (and who is taking care of common/) be ok for the dom0less
> code to be part of common/ but in this first stage be protected by a dependency on the
> Kconfig ARM?

It's actually more than just being okay with this: I wouldn't be okay with
there not being such a guard, as then x86 binaries would carry dead code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 13:31:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 13:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582096.911673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU5lH-0005MI-Qa; Thu, 10 Aug 2023 13:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582096.911673; Thu, 10 Aug 2023 13: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 1qU5lH-0005MB-NZ; Thu, 10 Aug 2023 13:31:35 +0000
Received: by outflank-mailman (input) for mailman id 582096;
 Thu, 10 Aug 2023 13: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=s5UL=D3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qU5lF-0005M5-Kz
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 13:31:33 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe16::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36a9dc1d-3782-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 15:31:30 +0200 (CEST)
Received: from AM6P191CA0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::29)
 by DU0PR08MB7639.eurprd08.prod.outlook.com (2603:10a6:10:320::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 13:31:23 +0000
Received: from AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8b:cafe::45) by AM6P191CA0016.outlook.office365.com
 (2603:10a6:209:8b::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 13:31:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT007.mail.protection.outlook.com (100.127.140.242) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 13:31:22 +0000
Received: ("Tessian outbound 169aaa6bf2b7:v175");
 Thu, 10 Aug 2023 13:31:22 +0000
Received: from 2833df892b3b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 46F743B2-AEEC-4948-BD68-020C8B50136C.1; 
 Thu, 10 Aug 2023 13:31:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2833df892b3b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 13:31:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM7PR08MB5510.eurprd08.prod.outlook.com (2603:10a6:20b:109::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 13:31:09 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 13:31:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36a9dc1d-3782-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JOxKVzseZD3tX21APUomyo7znpD9dTbWKiHyQZa8zOE=;
 b=LaArES63r1iOE/WY2NJkK4XX7kLWCjEZjuAaymn7/jec1lEBiMCaf/5SwJqorm3j3RKrbLW/KoeNHEcu20XbeURlq81EQ+4wKImZVmgaSWk2JgE1SAcZo1FPRpwLUJS4RvDVk47dnpYpcq/BelOtd0j1ycqLUrylfIJb8cd+NHw=
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: 283012adc2e54b15
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ol0rNu1CRltDLnqFUhTx3PDKYsnRLeuA3UQzTZHu4jzCsF1NdG9jJMFvh3DgycrcqT208kVZFVxvTFDcMzSChIZu/EL7RaFmbSn+sp1AdFjK+8wm2w7N1tGSLb2wpGQ8Ak4j2z3pUJmW/NZq5u/oevmbIB1fXIjLyszzfvbus0b+sKKapAnM641xGhqamnQRre2mE3tTwIX3vpATG7d11wYInBJ2GwHSLO8Dgq5gQyONzz49UmiAfqeAX7fSRL59SbgJXCzi5UFnLXLxxan7IwZyIYBlc0AaqrxyymfM+bHflfvq8P6uNpDSMMx/ZKLCb+Uq2SQY0tbOw7gXg+8WpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JOxKVzseZD3tX21APUomyo7znpD9dTbWKiHyQZa8zOE=;
 b=TExzh8xf6+GDYRY/ONvXUcIvnnyJ8DPI4ry5OJiWFbbHbikwB1dATlmkYLMUnjEtEGlbEr6X7BRQgITYKhErf9GPwolBqX79OmVtMw1wZ22WUGNK3Ktrp4+iD8tUHCdVFZ29uNX3AE1Ydk2wsve/JqatjaY0HDXMZKCYS4PWzf6VkiZx6etxLM/6vIeC74EXxTgsY/GTic2jiRNLkp0O2KCrETLvKZrVHTYJRp+2aoXG+Caboh8SaucvQleIYRBZnDlD3sBAq3Rg5MQI2mBHKgucmEOOx7FV7gw77CGhf8m3LVSQjyQ6wzS5ze+JhloHJ8JoNsv7mY133sRCd1qqtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=JOxKVzseZD3tX21APUomyo7znpD9dTbWKiHyQZa8zOE=;
 b=LaArES63r1iOE/WY2NJkK4XX7kLWCjEZjuAaymn7/jec1lEBiMCaf/5SwJqorm3j3RKrbLW/KoeNHEcu20XbeURlq81EQ+4wKImZVmgaSWk2JgE1SAcZo1FPRpwLUJS4RvDVk47dnpYpcq/BelOtd0j1ycqLUrylfIJb8cd+NHw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Fix initrd placeholders generation in
 make_chosen_node()
Thread-Topic: [PATCH 1/2] xen/arm: Fix initrd placeholders generation in
 make_chosen_node()
Thread-Index: AQHZy32D8bvJWFq2S02jfFulAD0k7K/jhs8A
Date: Thu, 10 Aug 2023 13:31:09 +0000
Message-ID: <C64B8D3B-24CD-4312-97B4-1B1621EDBDDD@arm.com>
References: <20230810112544.17365-1-michal.orzel@amd.com>
 <20230810112544.17365-2-michal.orzel@amd.com>
In-Reply-To: <20230810112544.17365-2-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM7PR08MB5510:EE_|AM7EUR03FT007:EE_|DU0PR08MB7639:EE_
X-MS-Office365-Filtering-Correlation-Id: b7af7000-120b-43d3-41d0-08db99a6168b
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:
 8Tkh+9EsaVrkaGiHpvbH0wRhXFZLfNrGVJBZTo88IGck78Sq91ozIha3MpRNwXxRhlMkDeXXiEIlgjUgXYq5jxhzGMrekE03SkQ41bPdZDGfwej+2BzTT5evgC7DNSr4umyZ1qikRN9uZhusoVPSakCidLF7G6m7a1TdP0pbbitgw2tXrPhaLUDD34xAaN+YtdDpVFO8GUlVfET2iWMIz/u9QUsN5OuY8PW6kM7vlwOuf8k0Hz1htUn4GGhUB+uDH2bJ01u1hJDVOjYNhPaZWW+V22dTVazmo9/2lKOJvyXcWzYdzwig/D7577sWYsKxNAyknwCo8wRbKPPuuwOLUHO6vb5v4dNRmKd/+ia0eR04tFNV3ZgLrawN9piMCvcPRYCZ1YZZxSaDHLqmFADJ8VnM5KkAO9zU95dgdtjhaH3pWzLSlhb4YCVAy5q48HCAfFCgEV4+2/xoHMfw6tJmQwJXX8M1mqvRUKSRYwWA31PaeGFNADD7qbEJ6u2k025OU9Z4HOgilJdDc2PcYafAlZQDUjf9Jsa3760zCsLMByUPEyw4ICTgSvtcebBlAiVqXXho8fbpBnpW0GTcGPUih7iLyEyyrlOPzKXje6EZ2ffg+7DGKLFXmZUWVfztLMs3owWECah9WCAnnPhxDHkyuQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(33656002)(36756003)(71200400001)(478600001)(91956017)(54906003)(76116006)(66946007)(6916009)(66476007)(26005)(66446008)(64756008)(6506007)(66556008)(53546011)(6486002)(4326008)(4744005)(6512007)(2906002)(41300700001)(316002)(5660300002)(122000001)(38070700005)(8936002)(8676002)(86362001)(38100700002)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CF05BA96EA0F31468C65D70F1AB37445@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5510
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:
 AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b22d5100-1886-4f06-42b6-08db99a60e8a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pqIDaWPdr4N1hsutO2RurTwEztxlrgjwlON3DO8wykEigWo6ATO0jciSP+ap3255kvrKWFjTWx1GzHu6Yw8P/fNPQDahcGulg/wPPPH8jOnukSjjZ/sZgzPTKbRL0DomnC7jCtpx9b7WBT1JptgmmfwHlUqbU5ygGSRZsv3gTywAdp+le0Oh7kHILM6l2NNUpJm0JozzkrByARbXt58TAhgL6N3UbXgCh19h5ZKiRybgNiWsoMWBJckkBRaCnc2LWTaAuZO8NZTFmRBsDc/lM6JeHlRRpEnkNEmRcS+omF0t7IbOXYoCZMwhUGFzQrQ/pHb+CjvliFwEhd09bE87R2NCbuKAYCdk1HUO1DIOr5dDp8BVdrZhEWb7S55mg6WsLu0Si+/KpZD/csZ+HNaLB9eBPZaiQq/w9o7e8A6OTk4eqdfnDPO9izu6R6dx1VUAtu7QlRW56noEfMh5/lAjXlIf8Nq/lY7IgwHASSsLA+JRQc9kaq2nXEcRJmMlIb3lWOxY/Gu5FL1wwvaoCOdiaeai0CMtLnMUGjIEd7ZuUmxHEYRGmyJRCOTWM2jCHIGZPLWAy0JdoDU/Jy2Upma57FXXiZO/Ez8ism6bNHbznfEgTA5GvfWy9ZIDgR2oBtISoH4JYcmvqCjqZyHQWIASwbNg8bwF16KS+LuO21C7iCZeL1pXnzBFujWm7+FNZOzdurxY1q2018VLC1vctjrQefHP6PEl/kzQZMk9KJWBnro6G/KgBwDT2LpryIK3m8qi
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(376002)(346002)(39860400002)(82310400008)(1800799006)(186006)(451199021)(36840700001)(46966006)(40470700004)(4744005)(107886003)(33656002)(82740400003)(356005)(6512007)(81166007)(2906002)(6486002)(478600001)(2616005)(336012)(36756003)(5660300002)(8676002)(8936002)(6862004)(54906003)(26005)(47076005)(40460700003)(40480700001)(53546011)(41300700001)(6506007)(70206006)(70586007)(86362001)(4326008)(36860700001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 13:31:22.4434
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b7af7000-120b-43d3-41d0-08db99a6168b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7639



> On 10 Aug 2023, at 12:25, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> When booting a dom0less domU without initial ramdisk, it was observed
> that Xen still creates empty linux,initrd-{start,end} properties under
> /chosen node. This is because in make_chosen_node(), generation of initrd
> placeholders (later on filled with the real values) is protected with
> a check for presence of kernel bootmodule (always present) instead of
> initrd bootmodule. Fix it along with renaming the variable from "mod" to
> "initrd" to prevent similar mistakes in the future.
>=20
> Fixes: 48f4bf6bdeb4 ("arm/acpi: Create min DT stub for Dom0")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Hi Michal, good catch!

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Cheers,
Luca


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 13:34:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 13:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582101.911683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU5oA-0005vn-8q; Thu, 10 Aug 2023 13:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582101.911683; Thu, 10 Aug 2023 13:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU5oA-0005vg-5J; Thu, 10 Aug 2023 13:34:34 +0000
Received: by outflank-mailman (input) for mailman id 582101;
 Thu, 10 Aug 2023 13:34:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s5UL=D3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qU5o9-0005va-Ew
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 13:34:33 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20610.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a367724d-3782-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 15:34:32 +0200 (CEST)
Received: from AS8PR04CA0064.eurprd04.prod.outlook.com (2603:10a6:20b:313::9)
 by DB9PR08MB7748.eurprd08.prod.outlook.com (2603:10a6:10:397::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 13:34:26 +0000
Received: from AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:313:cafe::95) by AS8PR04CA0064.outlook.office365.com
 (2603:10a6:20b:313::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28 via Frontend
 Transport; Thu, 10 Aug 2023 13:34:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT058.mail.protection.outlook.com (100.127.140.247) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Thu, 10 Aug 2023 13:34:25 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Thu, 10 Aug 2023 13:34:25 +0000
Received: from ef9790401739.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0BE6CAE2-DFC0-4773-BB13-DC66ACEBF4FD.1; 
 Thu, 10 Aug 2023 13:34:18 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ef9790401739.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 10 Aug 2023 13:34:18 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM7PR08MB5510.eurprd08.prod.outlook.com (2603:10a6:20b:109::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 13:34:16 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023
 13:34:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a367724d-3782-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LzWXUAgdO7tbgtV/Z6I+0otW08vyX7V7DfacQSegU+w=;
 b=QqmIWMccn4UjWZwY+PKbZD3MryqGIYWMlwmdt0g1rDEjRxBzNe/t7EvJ9jUOVf3KhqmEZ1T7qxyEyYVsM1zzqx58XeVe0/+1OvtgkvbbsuI+2erQm5JOYd5nhSa85pa8a69jpulLLt+dPXVm92daSfiAU2wnSYC3ayjphp5vXe4=
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: f51938f3e7633da3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NlT3eMvjNdoSbsdNWViOf9+rOSVD8DKsLAL4S4ya02h3xpZrleLJY5/Yb1CgD8ezyMymlzBVbwp1mrrsboHONbRIrf3m6mjdmkxTG66JEAiZ/aHoc0rNLf+SQzwQs57AWtow5nU8OkkO4+ihm51u+f624rD27mTuPuEYByf1zAmU6HB1w85SbvoB4c4ecWLpxeHltREeBGxNoSpHTeMEe3bsO5ffWqCZmA1KJa2rDQcmPYN+vB15nNqc3ymonBReFJWa7fKQyxASA7Z1vmyQN7OMJ7acQ7pth3KCr+sSdJ2jBcT2dHxNlFCgy3W8zf6jx8CURvt4jYBf0bwDrqJf8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LzWXUAgdO7tbgtV/Z6I+0otW08vyX7V7DfacQSegU+w=;
 b=nzEiZyAVqXU5TLijc8nbtQwmJufTBT1YCF8eA090NhipNzTse5U4wMRw7cik68GXqnJ8is2S1bFTseEmSn6RJS98NVQyHtmPni6Q3J9cgLiUQEg+uBHSIevwm71+FhRU2heF7SSxrMCrPbqtTYsUtn2ZBNZEtULMTVToMhPcbKo7YatT5mSnKYjLPzA6cVEKIZYgBnyk8grtHnz3fdhcmoWZHTN6Agg2595BX0pi+sT392mgmb1YL3tzr+ybfHWNzHltzrkNY6rwT8HzKn07Xafnpa0TR3+5a62EVlzdOiBOE6VV7if30M9kZq30LvdREBtwsqcQteSwIyipMQMn4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=LzWXUAgdO7tbgtV/Z6I+0otW08vyX7V7DfacQSegU+w=;
 b=QqmIWMccn4UjWZwY+PKbZD3MryqGIYWMlwmdt0g1rDEjRxBzNe/t7EvJ9jUOVf3KhqmEZ1T7qxyEyYVsM1zzqx58XeVe0/+1OvtgkvbbsuI+2erQm5JOYd5nhSa85pa8a69jpulLLt+dPXVm92daSfiAU2wnSYC3ayjphp5vXe4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/2] xen/arm: Skip inclusion of domU nodes into hwdom dt
 /chosen node
Thread-Topic: [PATCH 2/2] xen/arm: Skip inclusion of domU nodes into hwdom dt
 /chosen node
Thread-Index: AQHZy32N62CgBrAksUCXC1bl6i56jK/jh68A
Date: Thu, 10 Aug 2023 13:34:16 +0000
Message-ID: <E3D0146D-9E5B-4CC6-A864-A6F51C9B599A@arm.com>
References: <20230810112544.17365-1-michal.orzel@amd.com>
 <20230810112544.17365-3-michal.orzel@amd.com>
In-Reply-To: <20230810112544.17365-3-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM7PR08MB5510:EE_|AM7EUR03FT058:EE_|DB9PR08MB7748:EE_
X-MS-Office365-Filtering-Correlation-Id: 2bcb0e1d-0f1a-46af-0a7d-08db99a68397
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:
 cw7NIjP42+xiBZPKT8BY0c1/+BOxFE8xQvwVzb7TavwZGzzKgBpw45reX+nqqTel03v1wnFR7GqUmuEUCidaSL4ygEkiCPmt96SrZuQm0fpOzzIuyGM7gqqZuW4jjqObT2ot9Q3fTN5FSEGjlUhPUqDEdsYvAOhZ24I8NDcrJgjiho6Hgh7XDgFlr4F3mhwBep/2WDZDifAqNE0ztwGcMW5jZ8i2WTMjv5nR2JKlJOnoGv1+bxdPK8HyoxZ8LCqZwdolUCAGs4ac+kT7wNDJhQ9Zw9pxGiITCXXS0/iqoIf7jra+rfZXF0/jt+2VSKHLshRzUZ2P0Mm2uHUObwLHnBDI0O94bgNyRlpZwblKk6GvVQbbDO1KYouopCFcqPd1s+xLFW9aVs1G5/rnuPFRQ4KfGYgiTnnXzWQbyTC/tS7BG5ZvUrX7mvks+ON+wVBu0eLl0HCerSpc8Nc2Uxec7K4ZCk8yWd2ge0n86U6ZZbH2lU2XuRsmkWTF6+dCC0CYZkg5H9iVxsxRL2xfYgRjfa71QPDpeHF3/jLCjGInrhZ0lUEqXIPPW4OrhuSYDpRh5GefFNkTTBHIVnJBoc5DHQmsPkYbPrm07/KvW9HxEOsPeqLY4BuBTDJXYF2x4c2iVRH4XDjgZF5K+XsVAXygeA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(33656002)(36756003)(71200400001)(478600001)(91956017)(54906003)(76116006)(66946007)(6916009)(66476007)(26005)(66446008)(64756008)(6506007)(66556008)(53546011)(6486002)(4326008)(4744005)(6512007)(2906002)(41300700001)(316002)(5660300002)(122000001)(38070700005)(8936002)(8676002)(86362001)(38100700002)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5FF0E397A2207840B7E5A58C8B708D9E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5510
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:
 AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	98fc1e28-e9b6-4f2e-37d5-08db99a67e4f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	64QfW413/hS1x4wZ1sMU4pUktlWtd2REcq08IEfjCe9Prg2DS9mkaQzZr7EZu8cdA5h0ysq4M+N9igR/MAXkq9ppY8QDnvgccKkm9hSoekR7AceC0Gy64WXA2DstWEZLcwG6/yQWyVN5fck0P9fFRFcTv1tsB9fLmMRUwszydE9t9VUtUAFdGXeW4e1r7P997TTyIpfsPBrEuT/NR7ArteCyuQciIfaUIiM8Tc9jewtxS3X7WITiiKv10yhoi3eFNarlmxDXZDt0f0RlgH7PNAdQO++EHTW1IYJ/yam9fkNgWNqsEC87gJ0vs8S73BgTI7+zW9UtzZZltndkY3meZJgLpMUF4bIGvjNKIrgVUeblx2oVbbF3zbVUDqqSlbw/m4snxXVz4cHSQ7Vw1fX/0xLrhFPPYjSEWJRHQQ2dB05A6fKBRDTiPefAW0i8w5agVThIf0xZ5fOLHFMYs+dP5hNGnN2hGoRbtC1y9wcUz4UftyHVuyGe56a1udnHDOHwnZBTGbMoziYFdNCuwK11zCXQ94phl/qcgiHaw62trXjjljM8Yco6kgXCMRCs0JpxZZ8tTdLOxPHxAkp0GG9r36zIBlmqzHgLUhPBL6ZutkzX1If8g7RSqlCkRc7SmgYZxudl/SP1qVbWVcn5a3GeWGwm98ywPQ+5vtcwi+jsUSOYhueegUObGHCJf8vRigw/EM8fgAKZncHSrHGL4K9jsOJ3V13Stoc1erFfqRszBKy0fQ2Wple/CX4oCHN6ucK3
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(346002)(396003)(136003)(82310400008)(1800799006)(451199021)(186006)(46966006)(36840700001)(40470700004)(41300700001)(5660300002)(82740400003)(6862004)(70586007)(8676002)(70206006)(316002)(4326008)(81166007)(356005)(8936002)(36860700001)(54906003)(40460700003)(4744005)(47076005)(478600001)(86362001)(6486002)(40480700001)(2616005)(2906002)(26005)(107886003)(6512007)(336012)(53546011)(36756003)(33656002)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 13:34:25.3766
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bcb0e1d-0f1a-46af-0a7d-08db99a68397
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7748



> On 10 Aug 2023, at 12:25, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Configuration for dom0less domUs is stored under /chosen/<domu> nodes
> present in the host device tree provided to Xen. All the properties and
> sub nodes there are meant only for Xen. However, at the moment we still
> copy them (except for modules that we skip) into hardware domain /chosen
> node. Fix it by adding "xen,domain" compatible into the list of nodes to
> skip in handle_node().
>=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 Thu Aug 10 15:00:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 15:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582109.911694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU78W-0006Bj-5v; Thu, 10 Aug 2023 14:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582109.911694; Thu, 10 Aug 2023 14: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 1qU78W-0006Bc-0k; Thu, 10 Aug 2023 14:59:40 +0000
Received: by outflank-mailman (input) for mailman id 582109;
 Thu, 10 Aug 2023 14: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU78V-0006BW-5s
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 14:59:39 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85480f6c-378e-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 16:59:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7345.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Thu, 10 Aug
 2023 14:59:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 14:59:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85480f6c-378e-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aMiA8hn2N1gF4hQnf8EoQYqomciQf7SEwDwC0/mS7Ht7SHufH3ZE32tgMgXJMzE7yfskRv3VVjZ4qwJMphnAKsWTvLmezqywM/lGLSA+z6iIUiNZR1G3T0JNHJxgX2IeBAQQX+cNurN5kZBHetfYldrmb/VfsZ5OC3SWOxQw46Og1aOIrZHeH9sd2yGaTOKhmV0fZt+O9uqpUEJAf5YO1jB3Vu2cUYflDrmfxAMtgZUSObL5f2IsDOxCrIPbeGh4KlQ6FUC4YV8MQo66hZORwABbohjlGp4xnd+tH0JnfOdvUdT2HdvkypNro0aob8XVhp/8NhPaBEp4UzDgdqrCdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+rYYKw0tV9x7V2m5N+9V7884IoTi9TEJZdeF+fwU9UE=;
 b=fLt+kA/HKLYGnp7prdqwPmpdISmFoPM7uurP+ocxBGGUpB4oH9MVeCII3FhSaHP2Gt6X2+Owds82wIj9l4hNaK/AvWF2teXySxOEl2S1PNsSM8Vnm3phFBjZcauX7lzGg9sdBN/MIFc9/OdEEKjjmvP2UBuFyti7E5q2zdyZu10WtmFI+Bv4lMfCjAr142ZsMgFk94fNrnKujYayN+EalKbPIcAqiDndu1exwWwgQRDd35Xhx7ZJA6/Zsf7E/ZKhzVkY/ORPNVqV6tgVK5kUCj88Bi0yqn/HNBmzavd9vnfDAz7G6tYjV1j/HVtDOsIYBMCK5yjNMnZugDxx/fmkmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+rYYKw0tV9x7V2m5N+9V7884IoTi9TEJZdeF+fwU9UE=;
 b=Y321hFQdcEsxCYqsELDJM2zptoAl49jhHSq5eu+3c+jDid1RHlgT+nguOkdQQk67m/fiL89SJg37qlPQDrscdiXY1X4fkRwqKHjsM+LwUP9tQDlrgmTDKLexNtj9vZerG6gHaTBKouGIqjysAhCDtkv6fZKgqs7fEDuCBxbNhIU0N+AEAq6c77D6tdiITDVXlanlC4JDQw1APiEaRn2UA6HJ/Xq4TJh52b/9Vk19aMVqqshiNqRpZFg0pXwBgQnwOgDI1oRMQuIOqV7nCFU3i/4g/WgmU3GBwuBbs1Nr7hUKvo/y45m0tReEBj/npbn75zs1LswzeB8Mhz5iaegWAg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e3d3de6d-2406-0655-ea3d-49a50570256b@suse.com>
Date: Thu, 10 Aug 2023 16:59:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: adjust comparison for earlier signedness change
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7345:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f635905-d1ce-43f8-e4ab-08db99b25810
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p4IxJVVA6eiarLIxGXs1pXcleKg73lzsxcIvrL78LQy8tqSU5YTaV9MCn3Y2gLJlJm2Bm/6a8j2CbPcChhMAk+6ZDTNLANyMEToC/+3Ql5ncLBJo2oulY6zKnHKxOMIqu9tVGqPgzEitSdgLL4ZAsgHe9fwqYdjc2ShCsepRU5XNiJH1CZhtRMK2onYjOIHYNDqHnAe9KREVo1UjOhAxJixm/4xYRX788Jh7JAj92UfCcFLPXIYmbYjomnlJyzbOmSOwQKIFVT7zgxopt/bbk+BNkw2kp2N4m9QA7dBXT0r5V/R4UyFFzW717HXsS81Eur6KfE5paP6J+/Xm6cO89G+QWLbzEyudt4wDCIWxiOHMdq461li/tkmM41LxuLIABSp9d3EzdfhZI6t1G0TYAwSV5lWKL5zqMITmjg6z/FUCulqBaDwqnzeeujakIebQ9tP2qecWlHT0RSug7DDIDdZVMpPe67z9CUu6ZdQzIpKOYSJa9Gt5dy9n2GbGyaHunD/399qT7Ojs6nvzS3vBLh18q2kEkzWkV4+Erkf2UgA/nYKgAQBC9yIKwJS93jfVzIXa9qovV8oH4IkmC/yGfWIgvr7RaaVrpXSU0os2DFzfZa2ABYXJLrskxSxzXY61FuoQ6Gzxd+Mnhn2fm2Xu6Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(396003)(136003)(346002)(376002)(451199021)(186006)(1800799006)(478600001)(31686004)(6486002)(2616005)(66946007)(6512007)(4744005)(6506007)(26005)(8936002)(316002)(41300700001)(66476007)(6916009)(31696002)(2906002)(4326008)(8676002)(36756003)(38100700002)(54906003)(66556008)(86362001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXlFVytQQ1FaeVRPNERoZHpHVHpwMCtucndoU3k3TkRiSFRXczVQNHZvYzRh?=
 =?utf-8?B?OTNzWlg3bDBGeDkyNHR2Qk03UFJmT2VNQ0VjSFlMRVEyQXZqNTBMcU03MFNP?=
 =?utf-8?B?TUdlTEE4UUJBYjdWRStLRlNlNUNOQWtsVVdrejd0bXlOUi8vNHNocHB5WnFJ?=
 =?utf-8?B?V1g0WnRxMzNSOTNXSDd1QlM1Ni9OUTdiUTVXMDVpZGUzWFQ4QTNuMkdEQldr?=
 =?utf-8?B?ditKWUpwTTFtR2Q2MjFVWWFXdmtRTXJIVGZRblIrNFZlRGpQUGU3VVVkREdY?=
 =?utf-8?B?MmhQSjV6emhnWDkzMnRDNzgwSmhsc2g0OFErTTl5UUphSjUvV3h5MDE0WVBW?=
 =?utf-8?B?ZHEvOGpSUXRVRzFCb1FKNnpoMEF3amkvN0FqVjJRdzl1THRKcHlsQUFlS2ds?=
 =?utf-8?B?RFhtemV1VlZkL2RtTTk5NkJqQnFoK05sanFYSDMvK0FWaThEdnJmRSt6RkJP?=
 =?utf-8?B?OTV1ekNjdXp4UEV3K2oxV1F3TGllRnRLZHlPczVMV3NtbFAxNlEwaUJoQkdS?=
 =?utf-8?B?aWlFV1QzYm9scXhJWHpzVHArMCtVVXVacCtwR3NRY1BPREpJODFvTzhHQXh4?=
 =?utf-8?B?NGZFajM3UHZScWNqcjhRV1RLRys5U003Z0lBcVlzemRxbGFha0dBMmFLMmM0?=
 =?utf-8?B?KzZPd1E3MWhkNlF1cXlIOXpWb2RUMVpVTDZPZ2ZUcCtIN003THVDSTI0OUZZ?=
 =?utf-8?B?WDVPUHQvNS92QjhiUWc0VS8vbFZhcWs3YVNGRzBxTDFLNTJ3dUM1ZWlUclBj?=
 =?utf-8?B?S0J5NlVLbVR3d3hCQjNFMGFxY2hUTVYxWDFYV3FZNVVPSm9OSStMbXpHTW1o?=
 =?utf-8?B?VDlPdGJDaFhvU3RHY3RLNzBiOXFDcU5Da0JicWFwV0RxakRtMzdPc21RUEhz?=
 =?utf-8?B?c2lQMzBtaWMzRWo3N0tKaDZXMWp0bEZ4bGJMR0IwWUNXRUliUEtoU1ZiZDgr?=
 =?utf-8?B?d3VYbXpIRlA2YjBMQ0JPeHNqSHZqN1lVb3Ewd25YWHphKy92b3h0UUdGQlgz?=
 =?utf-8?B?cEs5ZU5UWDZpWVQ2bXVkU0RpSU5wb2ExaVhWY1lzVkE2NmYwTWlZRmcwVFJu?=
 =?utf-8?B?Z2YwODl1WHUwWlAyMEVENUZWTEU4Z0I3Ui9Qc2JvWXpCOVdCOGplb0YzNEx2?=
 =?utf-8?B?UUJXWUoyYzVkUTZCWWMvL2htVWIxeU1iN3dkSGFCYUlzUGpPR3dyNlVlTk96?=
 =?utf-8?B?d2R3OEg3a1c0SEVyRGNTYWVQcmRGNEpkL1RQSFd1UVJuUGtuelhkTy9yQ2FP?=
 =?utf-8?B?VkNnak1BbHZzQVlZUDJBeCt2cDlLdkQyMFRJZFVnTnNBT21SOVBkWGhwcDNz?=
 =?utf-8?B?V2xKQnFpQUdsc1pRRVQrUVc2dHU5YnVHUlBtaVJTUmgvUWRIZ2pLRDh2Nncr?=
 =?utf-8?B?dXpjQVhpY3lBWW1aWHVPMFVabmQwQ2pqcjJwY2NWdmJWWUYzZVJ1TVhULzAv?=
 =?utf-8?B?cHpWeCtEY3Flc1krTS9ZU01rYlFmblM1TS82WW0xUHVtRFJzUDhyZ3ZCNGlS?=
 =?utf-8?B?MTBITjlUYUkxTjU4bE9BRk5VR2dxeUk4SWtweU51ZUFtV21aVWYrK2V0ZWlS?=
 =?utf-8?B?TVRmT1RMRmpNdm52eHNOb2RjNEtXcmcwSmtlSFZMOWdhQUpTZzhZTzY0R1li?=
 =?utf-8?B?L1Q3Z0tRaGFQM1l0cWlvUFgwWmJjTW1YOVFEVmdmUkZRbkk3Sk1mYnJzeFBB?=
 =?utf-8?B?eWExWkhUeFVJT1JRbzhaZnZvZDVWUHNTWXpFNEgySlhlWmxteWtmVEZlRGY5?=
 =?utf-8?B?aFQraTgvZysvampBY256Y3RBbmM0T2dWOW5yMjlrTmtWb0VBdS8wVEJwbDds?=
 =?utf-8?B?WlhnZytWSnp2Y2J6bUpzb3N1MVdOem1Xdk1NTWdJcjZJYjdaZDc1aGFrYlBQ?=
 =?utf-8?B?K2poc1NRSy9Oc1JPNGMzV2dVUVFMQmlQdE82NzNXdE5ra1RQT1BMeWQrTVNx?=
 =?utf-8?B?Z0tIdFQ3bXBmMmdSQnNKam0yRWs2U0xJTVdhOUl4SlI2VmNvM2YrcE56TFN1?=
 =?utf-8?B?ZzJIZ3lhd29pZ25RYlkxODlENE5SaWhIeTlnQ0wrWktncGFGcGV3YnZMbXMw?=
 =?utf-8?B?bWNmVi9CUk5DMFFaZ0Fxa0dMdW9QU2VhdXZ6SU9MT0YrajVBRUV0Y0hYU21C?=
 =?utf-8?Q?+Rv7exulmtdesTGlk1vpFdveB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f635905-d1ce-43f8-e4ab-08db99b25810
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 14:59:06.6133
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6ljHh2pUN2zGJnNIh1tRdXIhpWnXjg43RmnmzsnBmHEPfztKd+Gf+4ftitmXBJ/f6OXItZISSOqtWAi2AOrM2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7345

Interestingly only Clang warns about the now bogus less-than-zero
comparison. Convert it to something that's more explicitly doing what
the comment says.

Fixes: 4086857cc159 ("x86: implement cpuid() in terms of cpuid_count()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/intel_cacheinfo.c
+++ b/xen/arch/x86/cpu/intel_cacheinfo.c
@@ -187,7 +187,8 @@ void init_intel_cacheinfo(struct cpuinfo
 
 			/* If bit 31 is set, this is an unknown format */
 			for ( j = 0 ; j < 3 ; j++ ) {
-				if ( regs[j] < 0 ) regs[j] = 0;
+				if ( regs[j] >> 31 )
+					regs[j] = 0;
 			}
 
 			/* Byte 0 is level count, not a descriptor */


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 15:22:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 15:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582115.911703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7Us-00017m-Vf; Thu, 10 Aug 2023 15:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582115.911703; Thu, 10 Aug 2023 15:22:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7Us-00017f-SF; Thu, 10 Aug 2023 15:22:46 +0000
Received: by outflank-mailman (input) for mailman id 582115;
 Thu, 10 Aug 2023 15:22: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU7Us-00017Z-1J
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 15:22:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0a495e4-3791-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 17:22:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9951.eurprd04.prod.outlook.com (2603:10a6:150:118::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 15:22:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 15:22:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0a495e4-3791-11ee-b284-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kyeEuT31jGRyVdkO3PyM2bOhSJPGZM2+UHF3Xao9ph176PQHZ+9Bmf5ETCae5dKQz+/6QDoALS+Lsb5yz06gnIP7aS8U3DfV3ADHlXUonD8nLYXAUcNNGqtQDGPAMaEmKcTjMHm6r2HpylEAYg3OReBkIdQAo9/x4OCVaWmFwAHjOA1SAKD5XN/NYXguTYdFBeY71oPmppmtYWHBcfw2ylp+UamDpdTnWOKXj+3Wr9IEG8eqTrmQjHhSU8wWsrd18ZE0lrI8xO7w1BIVKUmjQP7J6b8eRKzqHYWi25lXULg3j4pgt7UPutiMhlG0FU5PiHPvh8yYpe6rdVNWnnvhVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9yXHXhGgAaZBvGO/HRjNHzgKfun6sR+8AGqHAx4aN+w=;
 b=gH7WVrFcXRVPCIS0jTLd1EW4jCWsfxghw/TBT/q8DEvUgSVbyHHS9WKiwR+/1IATyHeyd2jLHXUBFeEAfjK7o84uv4G4+gwacRzx8aii1fMzNxeMk8fvrrTDW8oqLVbUMdRLXK05VjaZ5hmVqIOgcZjNKXr0nra2Apxwj5HlTq+GUSKFN1e5ZKz8bVY8XRmpKTPhrjIpnp9HVovLLi6X0/WcFrBEEsP0wA2Mqd+g6decVKUApneP5lYR2w24t8HrQLuNNNPDZwitgAZlspYLr5KivVG36jnFA7Zx9GWEkTR7xDZVO4mln7qtZgQ+jb6XYAjvJzLZIRiRtWM3zeWMPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9yXHXhGgAaZBvGO/HRjNHzgKfun6sR+8AGqHAx4aN+w=;
 b=q9MYga5Svovm/LzMEtJiB6IZNilME6MTqq5/BSLaj1+9mNeauB03002YYPbH755jYoe/squoIYTFGG9GSsiTdZumDUxF0gBXT8EQq/bNqHT0pgDA81Hs27oMjb4GlCmJ2+Yu/t0Km1++9NSmGhAHfCc/smcaVAO40fKS05g4etrcygRKvf8EKkLhd0oNr0vqB7/UjJScnDIKTXvEb5+XWRb6xg4sOomah8tVy8mIRG9PGQauz8wHSzh9ARE+/kHXN2tHobpZZxXIgeKWyg7QasFQG8eY63DFsFhyqIRvUG5oVqUeQADax8V+r1jfFOQ688MkCUunQ+RO3ENbcwKBmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3f700da2-e5a0-2a58-e147-6d4ad3ab544e@suse.com>
Date: Thu, 10 Aug 2023 17:22:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/cpuid: enumerate and expose PREFETCHIT{0,1}
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9951:EE_
X-MS-Office365-Filtering-Correlation-Id: 6425e173-c97a-46ae-8374-08db99b5a295
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s6PHsXJ7VST1HS9Zv/ay0TOQm/7X7DX5DIJC4iZ1y0n2+nQ0nZdQEw5HkVL4dGzIoD5YUE3gaCvfBqc7QOxsPZXq6r7X/sVYAgFCkFa3p78GD5rUzpLqL4mZ2V6oRFA/xkuj2v8dDJz5kLRPyISf9OI0ONX2SoWZM2JxDgDNJwHS6BZBh9EEH8zmk0L6rWJNXkyAwMoOflOJwdv0feZGeiSZgEZxANBUnsZMhqXmSesdb78/rMo8HceegwTOzwN8CFAe+cW04wk/J01UVj1ppXDcGFGP1sbYbGRIDM08C5Ad5FnSezgIa2gWhMZ1UjGsynBaVWmz3TUSTe/NOsdZvdAvj5ty2ixHjxGHW+wWO5Zbc1p2vEwyo+ACVmUWEQDBMnesvJtVKw9kz0Xt48xaPU+pNW4q4Qf36ftNurQqupQY6NLgYs0Df7asQSGPV5TmSytTWH0d3N410aT8cyEXW7nRcgO8ZOJIE2u/BULP3WHY97cjNX/4NRBzF3o0ul355HAj6JJJ6UnpqauF2zvvVxX9efgcml51VoNd7Ov7TTIsX6uQ9lQemmdgraqQE1LLfLU7ATJmC0+Rc7jS3GrMJBX7xVhZ2gf2++NTygzyOMXVsTd2X7DzlpaFV50+GEMXbWEzbJmSyVUglFi6FNxIqw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(136003)(376002)(346002)(366004)(1800799006)(186006)(451199021)(2616005)(478600001)(6486002)(6506007)(26005)(31686004)(38100700002)(54906003)(66946007)(66476007)(66556008)(83380400001)(6512007)(6916009)(4326008)(316002)(8936002)(8676002)(5660300002)(4744005)(41300700001)(2906002)(31696002)(86362001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmNDTXk4UnB5Z0VubjRqMExWaHdxU2FSVFZPYU5lcURmWFEzVUx1SXFHeUJ4?=
 =?utf-8?B?WVhNSE9USlE3RHNVdGN3NjNneFdjOGNhbXpwa2VpUTdDMjY3RmVTQldnVlRw?=
 =?utf-8?B?VFpkQUJUMXlnZWZncldRR0N6WmxBdlhDSHRjaDdEYThQbm5SdWk5d21GQU9k?=
 =?utf-8?B?TjBoc0JBK1Zhd1VzazFVZ1BvSXJKRmFUTEJXTDNONTFyMGtMcW9wNkxvaXN1?=
 =?utf-8?B?QytXMWJpRU1KdFBZQ01mZ2JLVytycHcvQmNtUmcxd1V1ME9qOGt1OUtJQW5k?=
 =?utf-8?B?QTM2aVYrRmMzZzNhaHBNUDl4bHlvQkQyVFVCbU5pNE5udEFueVA3dGQzVUhv?=
 =?utf-8?B?S3hZbHd2aUNGZEVmZG9hUk5kK2U5WWxibkI3Mk83VklDM2VkSUNTWU90Wlds?=
 =?utf-8?B?NkNhNFpKZDFyT0tYZ3BZUGhSZ0FYRHRwcGQvd2phcExkakhoVWU2VlFVeSto?=
 =?utf-8?B?N1J4bWh5cERCOEZra3dUK2dWUSt1aTREbitCeklMbzF5b0JZa3dRWEN2ZnpG?=
 =?utf-8?B?NncwZWR3OTk0SXlrTmlzaTZzZVdvejFPSk5lVXVZVHpJTks2UVpOZStERVJH?=
 =?utf-8?B?Yk4rMGxJNUIvV21zQVlBbzhGOVdGYWppVU5SdTFsTkZ4MmdDOUF3QWs5QVBC?=
 =?utf-8?B?VXNSRjA2RVEyOUdFRGlVZmtYZ0M4ZTZKUlFPbG1vMHRWRk9jTW5yeVB4Qlpa?=
 =?utf-8?B?YWt0M25mM29KUklycWVDT2xpeTVlRGJEWGhKcE9Zam9yNUViZjZoNForanVV?=
 =?utf-8?B?WDdNS1MwSlZnNUoyZVdqUHZST2orTDJkQnFUTFo4VjZwd3pod0g1MzgwdGhm?=
 =?utf-8?B?VGtiUjNLWVMzYzdzaUt1ME5lYTVGQmJMSVNjZlNvUS94bGQ4TzJXbjlEa0ZV?=
 =?utf-8?B?Mm16bmdkeUwwb3pPdzFZeE0zTVlub2JsWC9GeDU5aDZoUWpnc2REbWdWdldn?=
 =?utf-8?B?NFFtekF2WFhiazJSekxnT3VFaW9pSlF4Rkw2Mkhma3JDZnNpS25sSjMvbTV6?=
 =?utf-8?B?NGNpdW9qTnZRV2oyU2d1ZnBoay9jU0U0NnEra2k0QmdCTUZWdEVIZzRQRHVw?=
 =?utf-8?B?NUErR204UGloMDFkR3VUTWtUazBSYzFubTdNeGs0UnZrendFRmd3eVR0MmVr?=
 =?utf-8?B?MHYwK0xldDMzem9jdVI2MktlOFBLKzh1WExnR2ZVZEdHK1M1K2VianhTZTA4?=
 =?utf-8?B?c0FtOXQzUHVubjdPK0RXQlhGRTZyY0MzN2pVS1VBZkVtVFU2QUx1cXcvRmw3?=
 =?utf-8?B?WlJGV25HUmtXR3VSbmZrY3kyS3d0Z01vREpocExLY1lpdUlURDZCSElvRWdX?=
 =?utf-8?B?SGtVMEg0NzAyZHV0NzZsT3NRS29NeDFVUys5NnY5WGwxandIL1ZnWmU4OHR0?=
 =?utf-8?B?ei82Y2p1VlBMa0lWUFdEM0xVd0QzYTdTV1BveEhvRTQzOXhSV0dWOHRUakhT?=
 =?utf-8?B?SW1WQ1diSUJzM09nbnV4WEk4UEpXTG9YOW5hZm0xa0VmaGMrNU1haTFHTGNr?=
 =?utf-8?B?aHZkbHNkNUdtd1NEbjVvVGdQNlZBTE4yWlFud1oyWHBiMllaZnNyeUw0emln?=
 =?utf-8?B?ZGJPNkRPNUoxZ3pkRTRKZlZoYnVnV1JYR0IzaU85T2tYVDdGOWdCejhDejJS?=
 =?utf-8?B?VFcvSUtueDZmWnNVSy8vTjR0N1dpUjhyVFFMWFdCcXZ3aFpsTDdzTVFpU1Zp?=
 =?utf-8?B?aHJCZ0E1MWhzQml5TFN2a0dvR0dSNFV5L25LSjVHUWlRRkQ5U01JcExEQUdi?=
 =?utf-8?B?TXV6Z05zc1dTdUY0elUxMnBtOERMWncrREhDZ3o0ZHY0Ly9QVWNKUUcyaHBi?=
 =?utf-8?B?OW5yd250alRIbTNENjRodGlENS9ocE1ydnUrd3VmRVpXUTUweTl2RDRHMEN6?=
 =?utf-8?B?WWdqdEtJWnhVczZyd2ZCM2kzN21MbWp3aEhlODFvSVdQbENLb2pWdE54cWpa?=
 =?utf-8?B?UkZESnJSTWhRRDlhUFZ6SG5qN1VxTlh1QVlKS0Jia21zYkdrQS8xVFZOOVJx?=
 =?utf-8?B?UkNVVFVFbGFkdm9JZUtNOE5YeUpOVFBVNkkxcWJ0cnU4NHdxcXlBSWhIRUIz?=
 =?utf-8?B?L0FNN0d1M3pNQk9iNk1oejNQdzZHMHRWbG1TTkd6MDZZbU9CbW1pWU5maitk?=
 =?utf-8?Q?bNoC3+TYuvWD5BYl9UkUHM0HB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6425e173-c97a-46ae-8374-08db99b5a295
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 15:22:40.0184
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mpu0K0h06OLYnnkmHznClKjLmvIUlKCtD0aD6WFqnseKt9kBx5+E0MWvzBVswjDvGCfRQmxcDh6vSdEfKg/44g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9951

There's nothing else that should need doing in order for guests to be
able to use these insns.

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

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -220,6 +220,8 @@ static const char *const str_7d1[32] =
 {
     [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
 
+    [14] = "prefetchi",
+
     [18] = "cet-sss",
 };
 
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -309,6 +309,7 @@ XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32
 /* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
 XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32+ 4) /*A  AVX-VNNI-INT8 Instructions */
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
+XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 15:27:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 15:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582121.911714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7Z6-0001jF-HA; Thu, 10 Aug 2023 15:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582121.911714; Thu, 10 Aug 2023 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 1qU7Z6-0001j8-CU; Thu, 10 Aug 2023 15:27:08 +0000
Received: by outflank-mailman (input) for mailman id 582121;
 Thu, 10 Aug 2023 15:27:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU7Z5-0001j0-6j
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 15:27:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c1f2147-3792-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 17:27:04 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 651614EE073F;
 Thu, 10 Aug 2023 17:27: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: 5c1f2147-3792-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Thu, 10 Aug 2023 17:27:04 +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>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/2] x86/vmsi: rename variables to address MISRA
 C:2012 Rule 5.3
In-Reply-To: <35c1a691-92a3-0fb1-04f2-f75755a3b5e9@suse.com>
References: <cover.1691567429.git.nicola.vetrini@bugseng.com>
 <37bb5dc6f323bd2dc250c519523d05b66d17fdee.1691567429.git.nicola.vetrini@bugseng.com>
 <35c1a691-92a3-0fb1-04f2-f75755a3b5e9@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <d89e3a4ecd6187326f5d0d55d5c8a7f6@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 09/08/2023 14:45, Jan Beulich wrote:
> On 09.08.2023 09:55, Nicola Vetrini wrote:
>> The local variables 'irq_desc' shadow the homonymous global variable,
>> declared in 'xen/arch/x86/include/asm/irq.h', therefore they are 
>> renamed
>> 'irqd' for consistency.
> 
> Perhaps with "for consistency" dropped (or else clarified what this
> is to be consistent with) ...
> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Jan

Good point.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 15:41:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 15:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582128.911723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7md-0004DG-LJ; Thu, 10 Aug 2023 15:41:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582128.911723; Thu, 10 Aug 2023 15:41:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7md-0004D9-Hh; Thu, 10 Aug 2023 15:41:07 +0000
Received: by outflank-mailman (input) for mailman id 582128;
 Thu, 10 Aug 2023 15:41: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=MZIv=D3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qU7mc-0004D1-1n
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 15:41:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50778b4c-3794-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 17:41:04 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0B21C4EE073F;
 Thu, 10 Aug 2023 17:41:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50778b4c-3794-11ee-b284-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH] x86: address MISRA C:2012 Rule 5.3
Date: Thu, 10 Aug 2023 17:40:35 +0200
Message-Id: <bb162480acf030d31cff63f07d576967189ca2a9.1691681734.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address some occurrences of shadowing between the global
variable 'e820' in 'xen/arch/x86/e820.c' and the function
parameter name of 'e820_add_range'.

Since the function is only ever called with the global variable
as the actual parameter, so there is no need to have it as a parameter
because both are defined in the same file (mentioned above).
This in turn causes several other functions to lose their parameter
'e820' because they are involved in the call chain that leads to
'e820_add_range'.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Other occurrences of shadowing on the same global in
'e820_change_range_type' and 'reserve_e820_ram' are not addressed in
this patch and will be the subject of a future one, as the parameter
needs to be renamed instead, and could potentially be part of a general
name refactoring for consistency around e820.

The following threads are useful to have more context about this patch, which
was previously part of a series of changes related to the same MISRA Rule.
- https://lore.kernel.org/xen-devel/3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com/
- https://lore.kernel.org/xen-devel/896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com/
---
 xen/arch/x86/e820.c                         | 38 ++++++++++-----------
 xen/arch/x86/guest/hyperv/hyperv.c          |  4 +--
 xen/arch/x86/guest/hypervisor.c             |  4 +--
 xen/arch/x86/guest/xen/xen.c                |  4 +--
 xen/arch/x86/include/asm/e820.h             |  3 +-
 xen/arch/x86/include/asm/guest/hypervisor.h |  6 ++--
 xen/arch/x86/include/asm/pv/shim.h          |  4 +--
 xen/arch/x86/pv/shim.c                      | 10 +++---
 xen/arch/x86/setup.c                        |  8 ++---
 xen/arch/x86/x86_64/mmconf-fam10h.c         |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c    |  2 +-
 11 files changed, 42 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index 4911e64b8cf4..6a3ce7e0a07f 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -543,27 +543,27 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
         clip_to_limit(top_of_ram, "MTRRs do not cover all of memory.");
 }

-/* This function relies on the passed in e820->map[] being sorted. */
-int __init e820_add_range(
-    struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
+/* This function relies on the global e820->map[] being sorted. */
+int __init e820_add_range(uint64_t s, uint64_t e, uint32_t type)
 {
     unsigned int i;
+    struct e820entry *ei = e820.map;

-    for ( i = 0; i < e820->nr_map; ++i )
+    for ( i = 0; i < e820.nr_map; ++i )
     {
-        uint64_t rs = e820->map[i].addr;
-        uint64_t re = rs + e820->map[i].size;
+        uint64_t rs = ei[i].addr;
+        uint64_t re = rs + ei[i].size;

-        if ( rs == e && e820->map[i].type == type )
+        if ( rs == e && ei[i].type == type )
         {
-            e820->map[i].addr = s;
+            ei[i].addr = s;
             return 1;
         }

-        if ( re == s && e820->map[i].type == type &&
-             (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) )
+        if ( re == s && ei[i].type == type &&
+             (i + 1 == e820.nr_map || ei[i + 1].addr >= e) )
         {
-            e820->map[i].size += e - s;
+            ei[i].size += e - s;
             return 1;
         }

@@ -574,20 +574,20 @@ int __init e820_add_range(
             return 0;
     }

-    if ( e820->nr_map >= ARRAY_SIZE(e820->map) )
+    if ( e820.nr_map >= ARRAY_SIZE(e820.map) )
     {
         printk(XENLOG_WARNING "E820: overflow while adding region"
                " %"PRIx64"-%"PRIx64"\n", s, e);
         return 0;
     }

-    memmove(e820->map + i + 1, e820->map + i,
-            (e820->nr_map - i) * sizeof(*e820->map));
+    memmove(ei + i + 1, ei + i,
+            (e820.nr_map - i) * sizeof(*e820.map));

-    e820->nr_map++;
-    e820->map[i].addr = s;
-    e820->map[i].size = e - s;
-    e820->map[i].type = type;
+    e820.nr_map++;
+    ei[i].addr = s;
+    ei[i].size = e - s;
+    ei[i].type = type;

     return 1;
 }
@@ -694,7 +694,7 @@ unsigned long __init init_e820(const char *str, struct e820map *raw)
     machine_specific_memory_setup(raw);

     if ( cpu_has_hypervisor )
-        hypervisor_e820_fixup(&e820);
+        hypervisor_e820_fixup();

     printk("%s RAM map:\n", str);
     print_e820_memory_map(e820.map, e820.nr_map);
diff --git a/xen/arch/x86/guest/hyperv/hyperv.c b/xen/arch/x86/guest/hyperv/hyperv.c
index aacc7a61670b..912099564ec4 100644
--- a/xen/arch/x86/guest/hyperv/hyperv.c
+++ b/xen/arch/x86/guest/hyperv/hyperv.c
@@ -187,11 +187,11 @@ static int cf_check ap_setup(void)
     return setup_vp_assist();
 }

-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup(void)
 {
     uint64_t s = HV_HCALL_MFN << PAGE_SHIFT;

-    if ( !e820_add_range(e820, s, s + PAGE_SIZE, E820_RESERVED) )
+    if ( !e820_add_range(s, s + PAGE_SIZE, E820_RESERVED) )
         panic("Unable to reserve Hyper-V hypercall range\n");
 }

diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
index b8549a131a5a..e0b046cc6c89 100644
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -60,10 +60,10 @@ void hypervisor_resume(void)
         ops.resume();
 }

-void __init hypervisor_e820_fixup(struct e820map *e820)
+void __init hypervisor_e820_fixup(void)
 {
     if ( ops.e820_fixup )
-        ops.e820_fixup(e820);
+        ops.e820_fixup();
 }

 int hypervisor_flush_tlb(const cpumask_t *mask, const void *va,
diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index f93dfc89f724..2eed32fe46c7 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -306,10 +306,10 @@ static void cf_check resume(void)
         pv_console_init();
 }

-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup(void)
 {
     if ( pv_shim )
-        pv_shim_fixup_e820(e820);
+        pv_shim_fixup_e820();
 }

 static int cf_check flush_tlb(
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 213d5b5dd227..af90085d65d1 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -29,8 +29,7 @@ extern int reserve_e820_ram(struct e820map *e820, uint64_t s, uint64_t e);
 extern int e820_change_range_type(
     struct e820map *e820, uint64_t s, uint64_t e,
     uint32_t orig_type, uint32_t new_type);
-extern int e820_add_range(
-    struct e820map *, uint64_t s, uint64_t e, uint32_t type);
+extern int e820_add_range(uint64_t s, uint64_t e, uint32_t type);
 extern unsigned long init_e820(const char *str, struct e820map *raw);
 extern void print_e820_memory_map(const struct e820entry *map,
     unsigned int entries);
diff --git a/xen/arch/x86/include/asm/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
index 4cffea386609..c8f18a035ee6 100644
--- a/xen/arch/x86/include/asm/guest/hypervisor.h
+++ b/xen/arch/x86/include/asm/guest/hypervisor.h
@@ -22,7 +22,7 @@ struct hypervisor_ops {
     /* Resume from suspension */
     void (*resume)(void);
     /* Fix up e820 map */
-    void (*e820_fixup)(struct e820map *e820);
+    void (*e820_fixup)(void);
     /* L0 assisted TLB flush */
     int (*flush_tlb)(const cpumask_t *mask, const void *va, unsigned int flags);
 };
@@ -33,7 +33,7 @@ const char *hypervisor_probe(void);
 void hypervisor_setup(void);
 int hypervisor_ap_setup(void);
 void hypervisor_resume(void);
-void hypervisor_e820_fixup(struct e820map *e820);
+void hypervisor_e820_fixup(void);
 /*
  * L0 assisted TLB flush.
  * mask: cpumask of the dirty vCPUs that should be flushed.
@@ -52,7 +52,7 @@ static inline const char *hypervisor_probe(void) { return NULL; }
 static inline void hypervisor_setup(void) { ASSERT_UNREACHABLE(); }
 static inline int hypervisor_ap_setup(void) { return 0; }
 static inline void hypervisor_resume(void) { ASSERT_UNREACHABLE(); }
-static inline void hypervisor_e820_fixup(struct e820map *e820) {}
+static inline void hypervisor_e820_fixup(void) {}
 static inline int hypervisor_flush_tlb(const cpumask_t *mask, const void *va,
                                        unsigned int flags)
 {
diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
index 5625b90b72bd..6153e2700598 100644
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -33,7 +33,7 @@ void pv_shim_online_memory(unsigned int nr, unsigned int order);
 void pv_shim_offline_memory(unsigned int nr, unsigned int order);
 domid_t get_initial_domain_id(void);
 uint64_t pv_shim_mem(uint64_t avail);
-void pv_shim_fixup_e820(struct e820map *e820);
+void pv_shim_fixup_e820(void);
 const struct platform_bad_page *pv_shim_reserved_pages(unsigned int *size);
 typeof(do_event_channel_op) pv_shim_event_channel_op;
 typeof(do_grant_table_op) pv_shim_grant_table_op;
@@ -85,7 +85,7 @@ static inline uint64_t pv_shim_mem(uint64_t avail)
     ASSERT_UNREACHABLE();
     return 0;
 }
-static inline void pv_shim_fixup_e820(struct e820map *e820)
+static inline void pv_shim_fixup_e820(void)
 {
     ASSERT_UNREACHABLE();
 }
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index 404408711972..ca0e639db323 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -98,17 +98,17 @@ uint64_t pv_shim_mem(uint64_t avail)
     return shim_nrpages;
 }

-static void __init mark_pfn_as_ram(struct e820map *e820, uint64_t pfn)
+static void __init mark_pfn_as_ram(uint64_t pfn)
 {
-    if ( !e820_add_range(e820, pfn << PAGE_SHIFT,
+    if ( !e820_add_range(pfn << PAGE_SHIFT,
                          (pfn << PAGE_SHIFT) + PAGE_SIZE, E820_RAM) &&
-         !e820_change_range_type(e820, pfn << PAGE_SHIFT,
+         !e820_change_range_type(&e820, pfn << PAGE_SHIFT,
                                  (pfn << PAGE_SHIFT) + PAGE_SIZE,
                                  E820_RESERVED, E820_RAM) )
         panic("Unable to add/change memory type of pfn %#lx to RAM\n", pfn);
 }

-void __init pv_shim_fixup_e820(struct e820map *e820)
+void __init pv_shim_fixup_e820(void)
 {
     uint64_t pfn = 0;
     unsigned int i = 0;
@@ -120,7 +120,7 @@ void __init pv_shim_fixup_e820(struct e820map *e820)
     rc = xen_hypercall_hvm_get_param(p, &pfn);  \
     if ( rc )                                   \
         panic("Unable to get " #p "\n");        \
-    mark_pfn_as_ram(e820, pfn);                 \
+    mark_pfn_as_ram(pfn);                       \
     ASSERT(i < ARRAY_SIZE(reserved_pages));     \
     reserved_pages[i++].mfn = pfn;              \
 })
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 80ae973d64e4..03f9a0318058 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -686,7 +686,7 @@ static void __init parse_video_info(void)
 #endif
 }

-static void __init kexec_reserve_area(struct e820map *e820)
+static void __init kexec_reserve_area(void)
 {
 #ifdef CONFIG_KEXEC
     unsigned long kdump_start = kexec_crash_area.start;
@@ -700,7 +700,7 @@ static void __init kexec_reserve_area(struct e820map *e820)

     is_reserved = true;

-    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + kdump_size) )
+    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + kdump_size) )
     {
         printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at %#lx)"
                "\n", kdump_size >> 20, kdump_size >> 10, kdump_start);
@@ -1308,7 +1308,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         if ( e820.map[i].type == E820_RAM )
             nr_pages += e820.map[i].size >> PAGE_SHIFT;
     set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();

     initial_images = mod;
     nr_initial_images = mbi->mods_count;
@@ -1495,7 +1495,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         reserve_e820_ram(&boot_e820, __pa(_stext), __pa(__2M_rwdata_end));

     /* Late kexec reservation (dynamic start address). */
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();

     setup_max_pdx(raw_max_page);
     if ( highmem_start )
diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
index a834ab3149be..36b32eb769e1 100644
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -135,7 +135,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
 	return;

 out:
-	if (e820_add_range(&e820, start, start + SIZE, E820_RESERVED))
+	if (e820_add_range(start, start + SIZE, E820_RESERVED))
 		fam10h_pci_mmconf_base = start;
 }

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 3b577c9b390c..db993d6df275 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -418,7 +418,7 @@ static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)

             if ( type == RAM_TYPE_UNKNOWN )
             {
-                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
+                if ( e820_add_range(addr, addr + PAGE_SIZE,
                                     E820_RESERVED) )
                     continue;
                 AMD_IOMMU_ERROR("IVMD: page at %lx couldn't be reserved\n",
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 15:53:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 15:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582136.911733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7yF-0005sp-Rj; Thu, 10 Aug 2023 15:53:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582136.911733; Thu, 10 Aug 2023 15:53:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU7yF-0005si-Nn; Thu, 10 Aug 2023 15:53:07 +0000
Received: by outflank-mailman (input) for mailman id 582136;
 Thu, 10 Aug 2023 15:53: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=oMcx=D3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qU7yE-0005sZ-9d
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 15:53:06 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2053.outbound.protection.outlook.com [40.107.13.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd8c59b4-3795-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 17:53:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8413.eurprd04.prod.outlook.com (2603:10a6:20b:3ec::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 15:52:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6652.025; Thu, 10 Aug 2023
 15:52:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd8c59b4-3795-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fy1yztWJnftEHBxbd++hiCIHnNmE/TNxQVuVWTliGY9pSe03gVIrdpKJ0ISIbSZ9fLnQKkOpaq55576jr2iDKCVIN5uP/9pNJeWjGhKB6omAvHgVVgpeB22QxBabwZc+IDsjvYM4W4eK/Lra8X1w8xsvWg7J0Wzj3kH1vmtSJy5ZgQYSGRkBEt0redIHIO5falcpJKHvekaAsjWJ8R6WSONffD1gdhq4bg9qBG2OuiG3xTKKEbICiPZdq4ccezi+3kBbVrGTdq3+1QS9U1/CT06+zKuAOF2OAv3ZIvY/U8jHkfYiQghrnZwiNLxtTcg2PswxbAxT55HJoMjOJLP3uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z60Ti2fMSVeqHGDewhZxhZipQmInqV1YQBGZbZPUA8Q=;
 b=IuLn4xS5zooENP/UkYm2aVSArWR5dqVfjxYNk2OWq88uxLFvLzIXKdbCtpeJPZM5o+/ecQU+N1XqpdSUuJXrfRERAC92YuCb+9PgSEKtRmZXZ0OOjR+B5jmEGdKCBVRZn4WydsLPfpIBq7Qmzl1KMQVx0qLllS45QYU+apqcpfaOcY7TEXuqgCFD+7cfcUuqyxwCGBqOwipvbrwmwdL0yJ1IBRaYW/HKXazc+sHjZy4o7g7ESQYPC59kWMAAdY0pBXf2S+EtYeDsy2OZynWFc9s9BRkcO8n13McSCRR3Inc3+31ji8RslxG840ewS3+aWywUYrPvwfnH8Mo6UpM52w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z60Ti2fMSVeqHGDewhZxhZipQmInqV1YQBGZbZPUA8Q=;
 b=PGuNas/Ppk6s00uVKvFp42BFp6nlTlKEDw7cKL7ZXacS1bJV5EwL4FQ82uTPBfcC9XEg9nPzPjE2GL7oFYZEfMbjn0nyLXq/4twfwmk8A5fNqas4astbWksaTXJdVk0c/oeT2lMKl0fWeOd64DZ6AtDQ3TDXGPnSmTJ0ch7fnpTXijmKQZ33TQUAoRY8DKJj/Lo+0meGEgPvXHRducpWYPaolp/84O7N11Ts+Vb3V4HqMhLc5u64XReaG5DIWTGKs+Tx6gqJrJAHSTK9M2qGX/uSYmP2r5kcICv8WT42r1I5KlXG3MYAxSRe9CleGoIg3r0XF70gpYGDH2M40I//Hg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b8f28fc2-df77-96a4-a3b7-11cfaceff596@suse.com>
Date: Thu, 10 Aug 2023 17:52:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <bb162480acf030d31cff63f07d576967189ca2a9.1691681734.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bb162480acf030d31cff63f07d576967189ca2a9.1691681734.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8413:EE_
X-MS-Office365-Filtering-Correlation-Id: 0035d7a7-ed07-41dc-4415-08db99b9d025
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uFHWzIMDcigwwM3YDYvbZ0tlUIRql7fHG/UJIiPG1vkE83FRuF1B1n+FUzgVaob5exaClqXu0k0S7MJGXeU3R38dDzkApZlJNaRtUm30aQgrYY7JqmaNfFIm5luSe/fbdppTUtJ6pcKKDOUDMJPo1mQd5lhVn0kUGDgAEpt5KDUaenktxjRziZzjMtiE3x2pf/aoq6UcwcnKm50r0ZKQKrwhgACSV1RPJMxVkvPQSbctLZ3f3mBdWqk1h17z4aX5NFUZbAjUjfY0Jpyxpg/DxQoqKBjSmQ3jY0J8Gsc8CqOBnA+eb/DYQHy4irXmtiK3bBfXTr39fH1Yn1w6l+r4Tj0heTYdhgBPZDxLCNI/F2bpbebN68o7na6mxW4g2P6+B7e0GjTiIrSTpKX14CN3RTKzWDrVvgzTocdZUj+zO70/gYTvSxI3ohcxx3jDR9GMzleHBeP2gY08shttUA+IggRfHnkSKDzhqp/knNSxt1VsVfrREvFry83F6ajnTqYQFgqJ4ne2rr2SlhxsV8I2gV3hKlgiChAgb42pyk+YaqufoyzMyESjKuVU7gwFbcVPKPPIz/A2A/BCrj56w0XckXMZxsygu4CmnwOj/FjixjH637RjANjqp4Ga0mNpohmu68lW1I9bhfkmY54qEAEzsQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(346002)(136003)(376002)(396003)(186006)(1800799006)(451199021)(36756003)(86362001)(66946007)(478600001)(53546011)(66556008)(66476007)(6916009)(54906003)(26005)(6486002)(6506007)(6512007)(2906002)(41300700001)(7416002)(316002)(4326008)(8936002)(5660300002)(31696002)(8676002)(38100700002)(83380400001)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NlJ6Ynh6UmZvUDZRRVlXY3phTS9OMmQ4RHhmTnZGenBxU3Z5TWdKREFNS3Ja?=
 =?utf-8?B?RlNTcGt5SDNQMks4N3VjbkU3cGNiQnhoZXVNdjUrancyWSswc3RLSUl6RmFm?=
 =?utf-8?B?MVhXVzdPdWk1MUNpZGNYd3grbjUvcEFRaTBpNThDOEhPeFJtbncrWVhZdU9i?=
 =?utf-8?B?aUZNejYxMkhEMndYOVVpV2l4MHo5RVl4cUgvb3RKZEVBTW53R21Ic0NiSG5q?=
 =?utf-8?B?RmpCV3VRUG5NWnZXUml6dXY1SUdSajRYYUpVM0phTVJhcXNkOGpqZk11cVJV?=
 =?utf-8?B?ZXNBcmdsd0NYc09tWmo3SGg3OERUWm1ka1NJNTVmaU5jM1FvYmh4bE5lQ2x2?=
 =?utf-8?B?TVF6T25vZG01ZzRxMndLSU41Ky9mQWFtRmEvUW1UNTl3d3lYVFd2RmV3cHow?=
 =?utf-8?B?aktNdVZFNDZ5WkRBU24zSWhrRDZuaS9JaWhqSCtHZHBFMzdUa216STZqaTBZ?=
 =?utf-8?B?QS9mTkZHOHhnaGI0RjFzRUc1ZU5vVHN2cGNOeHhsOWRaa1NYS0hJZGpsdlQ4?=
 =?utf-8?B?ZEF3czVXRHozUkJXSDlZQnVsSnRQVXdzRmNRaUM5c05hNHBuQU9qTzRCVFVl?=
 =?utf-8?B?VnNGZEUrcDVybEEwMTEvNVdkSFRIVlJUOXpXL2ZyblNaTHFjd2tqUjlhWFhs?=
 =?utf-8?B?enU2TkFmTE9PM0hTbXNiaHM3ZkRiK3dEWCtudVJ4YTl2WHBlV1VjTGRUOVJq?=
 =?utf-8?B?TW5BbEJLNEdiNXZOdElzSGpyMnBhSldFU0VjVnlETmR0clVkU29reWFOQnZo?=
 =?utf-8?B?bm5uMGxuT1dIWGRGUVRoYm5ENHdvcE9yOWxQVFgwU0M2WXpsTVp0QVVFTmQ5?=
 =?utf-8?B?VXVNSTZORHl4cjlPbUdpYUlLYzBHdVE0c2xiSDk1RjdxWWJTSXE3TmJZWjMv?=
 =?utf-8?B?bUlYb3JXY1E3MnpzbTVxNHhXanR5WGFHekVJUjUyUm40NUlEeW1FZ3JPSEhT?=
 =?utf-8?B?Yk9YRy94SDNRRklEdEFYUzJzVEw3Y0NRd1AxTU5XWU54LzdpUG1MOVcvcVR3?=
 =?utf-8?B?WFdMbnNFU1R3eTI2Y3ZrZ29sV1AvNjByWGtiOGdhRmh0SWZrdXVBR0QybkVT?=
 =?utf-8?B?bHhLT1ZudUJpVXlDNVYrNVowazljTDE3WS9RS0REYUV4VWRBWXhoN29qbllW?=
 =?utf-8?B?S0JRVGN4SlZXTVFtemwzSUtnekJ0ZXk2NkZOaFM3ZEZCMnR1bFlGb2VRUlh2?=
 =?utf-8?B?THFtVWswckV2L205UjFPc3ErcjdHWUpnR3NxYUd4dU5wdG1mWkZsRTJKVHdM?=
 =?utf-8?B?NG5ZWGNna0xiRk4wdHNNK3JTS3p0aGVUNzlramw5VE1vUEs1aitVQkRFRXNT?=
 =?utf-8?B?dUhDNk1LSHVvZ01aT3k2T2hjeVluYy9KbDh5WmRqK0tBbkdlOGFCK3ZRc2tE?=
 =?utf-8?B?bklkc1A1TG5ZUlMwN0c3dTVHRmd2dmJVL1NJQ0w1NklZbUIxbXZ4MC9JeUFM?=
 =?utf-8?B?MUJlRTNTT29GcmNwN082TUw4dWkrc1U1R0Z0T3BhTWpad3pEWTlRYlowTytR?=
 =?utf-8?B?cUIweFV6ZTFKdmQzQStqeGtHMEsxVzNhclhsekpmMVNIaGNBbTdaOUhZUm94?=
 =?utf-8?B?aWxibXU5Q3FkQnJEclZqV3NJanVvNkVhdWdQQjM2L1BjelNEejI2bmxiTUxy?=
 =?utf-8?B?cGFCMXY4RHM0cFlleEtwQnNYRlMrUnUrWG9yOWNsZ3lwTGpWSXRPSDV0VlZH?=
 =?utf-8?B?bjVVRW92b0taUXZmVHhPRzZkR2hCbkM0c2ZGd2pRZTJiTVphWW5DTVZ6SW1I?=
 =?utf-8?B?Zys4dzhid1FTMFVPYlcxWm1LSmJiSytyc3F0ZHYyVWlnTGFYYjVHaWhnM0h3?=
 =?utf-8?B?RlJYVUhXd3ZJWEF1QmNXWmRQZVNQQm1QWW1kTDdUTnVXcE84M2ZwYXlCekFh?=
 =?utf-8?B?c09SN3RCa1ZKSU8zWDRlN3ljbUFMUisvS3lGVWxjNXJXbjZQd1FTRTBKYmN1?=
 =?utf-8?B?TFJrOGhoTUFITkRYZUp1MlJacUFnY1BhdWxFYTh3eTAwTFVMVmdIYnhIVDRo?=
 =?utf-8?B?bjc5OHJEUWx1bkxIejYraGFRa2dWTWxoN0tvc3ljZnB6NFdrVWs3d1hrTGJO?=
 =?utf-8?B?WlJMN2kvTWxhYUFXV0Y1bzEwa2dwK0tMUGJFMC9jY296M1ljUzVHSFFEcVdG?=
 =?utf-8?Q?k4ivFy9aiuTAOYYCRJAhbP7s5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0035d7a7-ed07-41dc-4415-08db99b9d025
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 15:52:34.4868
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ICy40V4m9TYSClGd+bgGVrLIRB7ouwX+7leZvPrBLUqKlSjcQKK50JChYYuswErEvX7VP47koN9h1OaWGwOX+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8413

On 10.08.2023 17:40, Nicola Vetrini wrote:
> Address some occurrences of shadowing between the global
> variable 'e820' in 'xen/arch/x86/e820.c' and the function
> parameter name of 'e820_add_range'.
> 
> Since the function is only ever called with the global variable
> as the actual parameter, so there is no need to have it as a parameter
> because both are defined in the same file (mentioned above).
> This in turn causes several other functions to lose their parameter
> 'e820' because they are involved in the call chain that leads to
> 'e820_add_range'.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

The changes look okay to me now, but ...

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -686,7 +686,7 @@ static void __init parse_video_info(void)
>  #endif
>  }
> 
> -static void __init kexec_reserve_area(struct e820map *e820)
> +static void __init kexec_reserve_area(void)
>  {
>  #ifdef CONFIG_KEXEC
>      unsigned long kdump_start = kexec_crash_area.start;
> @@ -700,7 +700,7 @@ static void __init kexec_reserve_area(struct e820map *e820)
> 
>      is_reserved = true;
> 
> -    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + kdump_size) )
> +    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + kdump_size) )
>      {
>          printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at %#lx)"
>                 "\n", kdump_size >> 20, kdump_size >> 10, kdump_start);
> @@ -1308,7 +1308,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          if ( e820.map[i].type == E820_RAM )
>              nr_pages += e820.map[i].size >> PAGE_SHIFT;
>      set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
> -    kexec_reserve_area(&boot_e820);
> +    kexec_reserve_area();
> 
>      initial_images = mod;
>      nr_initial_images = mbi->mods_count;
> @@ -1495,7 +1495,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>          reserve_e820_ram(&boot_e820, __pa(_stext), __pa(__2M_rwdata_end));
> 
>      /* Late kexec reservation (dynamic start address). */
> -    kexec_reserve_area(&boot_e820);
> +    kexec_reserve_area();
> 
>      setup_max_pdx(raw_max_page);
>      if ( highmem_start )

... this isolated set of changes wants either breaking out into a separate
patch (as suggested before) or at least needs mentioning in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 16:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 16:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582142.911743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU8Xj-0001aV-KT; Thu, 10 Aug 2023 16:29:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582142.911743; Thu, 10 Aug 2023 16: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 1qU8Xj-0001aO-HW; Thu, 10 Aug 2023 16:29:47 +0000
Received: by outflank-mailman (input) for mailman id 582142;
 Thu, 10 Aug 2023 16:29: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 1qU8Xi-0001aE-DV; Thu, 10 Aug 2023 16:29: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 1qU8Xi-00043X-1P; Thu, 10 Aug 2023 16:29: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 1qU8Xh-0008O9-FV; Thu, 10 Aug 2023 16:29:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qU8Xh-0007dM-Ec; Thu, 10 Aug 2023 16:29:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=svFquUfXO39BkKc92Fd/LjjErHlBzprRofMwNowCO/o=; b=09WVenpPDk5IerB6rvRc7pLdhm
	kV3Hsx5j4yIzf9fh1GeTWZf3x395GhWB3J8qy/GVXwHn2GgtYYbrP/ycnCTjNUM8PEEDU/RRgIK6c
	tzJalgtdSQzrQir9THm9gGIsA1rS5HA4eXBvNvk2IxcfCfSs4Ru3ftrrdPlCc19/SWVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182242-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182242: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=32e07fddc6d989dc5fdff4f9c9e47cb1f3911904
X-Osstest-Versions-That:
    qemuu=0450cf08976f9036feaded438031b4cba94f6452
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 16:29:45 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                32e07fddc6d989dc5fdff4f9c9e47cb1f3911904
baseline version:
 qemuu                0450cf08976f9036feaded438031b4cba94f6452

Last test of basis   182231  2023-08-08 08:51:50 Z    2 days
Testing same since   182242  2023-08-09 00:10:47 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennĂ©e <alex.bennee@linaro.org>
  Helge Deller <deller@gmx.de>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   0450cf0897..32e07fddc6  32e07fddc6d989dc5fdff4f9c9e47cb1f3911904 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 16:30:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 16:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582147.911753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU8YH-0002rc-3H; Thu, 10 Aug 2023 16:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582147.911753; Thu, 10 Aug 2023 16: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 1qU8YG-0002rV-V2; Thu, 10 Aug 2023 16:30:20 +0000
Received: by outflank-mailman (input) for mailman id 582147;
 Thu, 10 Aug 2023 16:30: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 1qU8YF-0002q6-Qo; Thu, 10 Aug 2023 16:30: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 1qU8YF-00044a-Pw; Thu, 10 Aug 2023 16:30: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 1qU8YF-0008Oo-EY; Thu, 10 Aug 2023 16:30:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qU8YF-00088d-E7; Thu, 10 Aug 2023 16:30:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Aoqh9SWCTBCIcPX0TeGf/olYa545k/cKAHF2sgjpEGY=; b=VLd1EMPMMigGEUg7YUw/9SevwO
	nr/nhN6bU+tLZ0waWF6g660ytoaiCSvYlYijpk+8zHN6zAVjlhWdZ2/ATLJQ58LzSeljsf1YLOT1+
	knldnE7BCRfWaLcAkOXnQ3FDagxa0KL/3crIrgtlvDyRMZG5DcDCBkCJf28XrnadbZ+c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182261-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182261: 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=b70ffd23865e6c320fe2e8931f0d0366d7e03cac
X-Osstest-Versions-That:
    xen=79c18114c7d71f0227abbbb75e24d114483765f7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 16:30:19 +0000

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

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                  b70ffd23865e6c320fe2e8931f0d0366d7e03cac
baseline version:
 xen                  79c18114c7d71f0227abbbb75e24d114483765f7

Last test of basis   182255  2023-08-10 01:02:13 Z    0 days
Testing same since   182261  2023-08-10 14:02:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   79c18114c7..b70ffd2386  b70ffd23865e6c320fe2e8931f0d0366d7e03cac -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 17:12:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 17:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582159.911763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU9D4-0007Zy-2X; Thu, 10 Aug 2023 17:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582159.911763; Thu, 10 Aug 2023 17:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qU9D3-0007Zr-Uy; Thu, 10 Aug 2023 17:12:29 +0000
Received: by outflank-mailman (input) for mailman id 582159;
 Thu, 10 Aug 2023 17:12: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 1qU9D2-0007Zh-Kf; Thu, 10 Aug 2023 17:12: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 1qU9D2-0004vr-8c; Thu, 10 Aug 2023 17:12: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 1qU9D1-000151-SC; Thu, 10 Aug 2023 17:12:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qU9D1-0007c8-Rj; Thu, 10 Aug 2023 17:12: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=XX70+WW5YXvCCpm88vl1+mDL5R9Cz5vqHVPJTNZfTDI=; b=UbmK/wp1brmnS7XUTW1z3Xu7/W
	EW7IgrNbumkltaHr0CaIbTC0CPUk3vZCU0Hy1zU9Xe83DpKrHgjhrleqR669/2dyVDnwMpf0TLafg
	BLvGEElwKFZQpWpczo62SECnGpazhIKGtemz0UpjvlFmmh3V8hsbJq9TtRl5QAY0Ib6A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182244-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182244: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=831b5a6bd6d72d58494018b7051894ccc1310c49
X-Osstest-Versions-That:
    libvirt=3d2f3fb72b4c1d636822606ef8b1df29ae4a2be6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 17:12:27 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182192
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182192
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182192
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              831b5a6bd6d72d58494018b7051894ccc1310c49
baseline version:
 libvirt              3d2f3fb72b4c1d636822606ef8b1df29ae4a2be6

Last test of basis   182192  2023-08-05 04:27:27 Z    5 days
Testing same since   182244  2023-08-09 04:20:35 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anastasia Belova <abelova@astralinux.ru>
  Michal Privoznik <mprivozn@redhat.com>
  ĐĐ½Đ°ÑÑ‚Đ°ÑĐ¸Ñ Đ‘ĐµĐ»Đ¾Đ²Đ° <abelova@astralinux.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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   3d2f3fb72b..831b5a6bd6  831b5a6bd6d72d58494018b7051894ccc1310c49 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 18:56:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 18:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582167.911773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUApF-00017G-6M; Thu, 10 Aug 2023 18:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582167.911773; Thu, 10 Aug 2023 18: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 1qUApF-000179-2r; Thu, 10 Aug 2023 18:56:01 +0000
Received: by outflank-mailman (input) for mailman id 582167;
 Thu, 10 Aug 2023 18: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=TqLc=D3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUApD-000173-Kf
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 18:55: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 89e5f34a-37af-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 20:55:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2DEA56671A;
 Thu, 10 Aug 2023 18:55:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91681C433C9;
 Thu, 10 Aug 2023 18:55: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: 89e5f34a-37af-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691693756;
	bh=1qtEapxNGDH8skkuiQdfvCd0U3w8aOvV4LLqp7mfI74=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=N5LW9thZgqRZlGbETyYJMk90Ougk+zkmkk5nJYFqj1fOXKIz1BlPpTdl1rUjfcTEt
	 kfe1zFD1IzuJbYkfZ/ZHsjhMqVbWL7vDczXKVNEJnTvSbm25cZPxvQLPFqhYgipotd
	 LUFFFGkhiX6qBu5qUdkLV/wh9liJuuRMBN0dVR884VKsOhbjrd/vGH0U3hZ1u96gFg
	 dM7fg7pxXSG9xo8ZJ4/hK/a8ZQy2zebHjzTE5pxcnoP+yxEVCdmEsn4Me/azxkC2Fh
	 C/lgRg1EY8B6R7BJnRTl8+VS4hPp5N812vdlIaT3FDhvA6gevyXs4sHy7wo4uWi2IY
	 ISlIZmpcaoUcw==
Date: Thu, 10 Aug 2023 11:55:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    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 <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Julien Grall <julien.grall@linaro.org>
Subject: Re: [XEN PATCH] xen/arm: traps: remove unused function
 'dump_guest_s1_walk'
In-Reply-To: <f6593257-833f-4c6c-b6a8-d814d294ff97@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308101155310.2127516@ubuntu-linux-20-04-desktop>
References: <23c5b1a1ffc755b5db17d699a08fc86e1f0cc788.1691659744.git.nicola.vetrini@bugseng.com> <f6593257-833f-4c6c-b6a8-d814d294ff97@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, 10 Aug 2023, Julien Grall wrote:
> Hi,
> 
> On 10/08/2023 10:29, Nicola Vetrini wrote:
> > The function in question has no callers and its removal has already
> > been proposed (and acked) as part of this larger series [1].
> 
> This is useful information after for the reviewer to know it was already
> acked, but it is not really past commit. So I would move it after ---.
> 
> > There have been further bugfixes to that function [2], but they do not add
> > any caller, hence it can be removed.
> 
> If you want to mention bugfixes, then it is best to refer to a commit rather
> than the e-mail thread.
> 
> > 
> > [1]
> > https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
> > [2] https://lore.kernel.org/xen-devel/20160720161017.4508-1-jtd@galois.com/
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > Suggested-by: Julien Grall <julien.grall@linaro.org>
> 
> Aside the e-mail address, you want to order tag in chronogical order. This was
> suggested by me then you wrote the patch. So it Suggested-by should be first.
> 
> Other than that, I would like Bertrand/Stefano to confirm if they are Ok with
> the removal.

Fine by me


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 19:13:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 19:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582173.911783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6F-0003Zv-JH; Thu, 10 Aug 2023 19:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582173.911783; Thu, 10 Aug 2023 19:13:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6F-0003Zo-GL; Thu, 10 Aug 2023 19:13:35 +0000
Received: by outflank-mailman (input) for mailman id 582173;
 Thu, 10 Aug 2023 19:13: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=PFdC=D3=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qUB6E-0003Ze-30
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 19:13:34 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcfebe1d-37b1-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 21:13:30 +0200 (CEST)
Received: from CY5PR15CA0219.namprd15.prod.outlook.com (2603:10b6:930:88::18)
 by BL1PR12MB5286.namprd12.prod.outlook.com (2603:10b6:208:31d::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 19:13:26 +0000
Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com
 (2603:10b6:930:88:cafe::a) by CY5PR15CA0219.outlook.office365.com
 (2603:10b6:930:88::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 19:13:26 +0000
Received: from SATLEXMB04.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.6652.19 via Frontend Transport; Thu, 10 Aug 2023 19:13:25 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 14:13:25 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 12:13:24 -0700
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 14:13: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: fcfebe1d-37b1-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y08H5BOauLvq7pBlXvMs0+bChBLa2sexR/kI4Xx27Jo68wxoud+bL9MEtDdPGm18l7+rwlog9it5cLAYJc+gWIVXRGzCSzdrQqNoXU3xQKDojBIpQNSto3lD3ndVoXE598sOSRIv5ULC6SjBq/dByCKELOilyG7tdkZcZ4xZVYSHHZ55KETyGyPDsBfPrvrqBHhUi/Rtv+uKkISRXrQV4s6PooPyv+hlZJR+rcx+2QqDdR1bJ4+Cfz3Tek6MoZWc04ae/mEzc2UyUbii2UlJdV3N7z2CJyPVr9HtrNsXyZUTaBGOTAI/g7ogyCaF42EjWGivBMKpMj8VYU94rnYfwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vRNrOjRzH+p+vR5qGxvK+DfrbcxqF7sGm8KJMpyIBfM=;
 b=XCkv/7gIz46NiFAIM+btP5A+A/LD/O56mafsEHJqfFjh8jk3zQURb2oeWTf5iBT6H7dOcAlaozNLXU9PtvSuu1Plga2KHfCgvs8CPHuXRYvXs69VV+dZ8dO/B65Cgt9w9k9t8anZLXRyRx59LsQuleUOfPKoZ7CWrWr3qco7pxGU8ncKdEB4HnDVJyrRkTNGYVzoX3dsfqq66hXkNbZISp1SfDPY9diL9iOnkF0DlI9xbkJ0GO1q6YD2VUdiYKjZQcWvXZ7UicJCW5cUDzji3XNkA2szIyGklVLeYh39Lm4ROTMYRVZ0vee19Tf3KQvo9G8z0zb7ImnDfidD5xtiag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vRNrOjRzH+p+vR5qGxvK+DfrbcxqF7sGm8KJMpyIBfM=;
 b=JxtiPr8rDPZPOL+Ke+DSqQ+IC1U4oQIdodxIRPcIGyzWfE4rqQm89X9eRj4vn/FpGMhQKcKkY3gJcS1fFufnZBBvD2fLJq+d/wfdks1ei1i+sj2n2sne2Xgv8h25F/HA4Y9ISunbwn+HxS9a9BP0uws9vFBdjhgew3q/tFGgSQY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 0/3] vPCI capabilities filtering
Date: Thu, 10 Aug 2023 15:12:56 -0400
Message-ID: <20230810191312.644235-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|BL1PR12MB5286:EE_
X-MS-Office365-Filtering-Correlation-Id: 9829e620-2ad0-482b-cbd6-08db99d5df6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RYw01VGg91O9AVltpsTgXafe/iNMRnV/tz9nKuMR0ul4nMqzOobfHBKO/2JCD/Sgx027wLjTq2ecZlrq9aUcNZ7Rh/PUw2VCGKBYwjWAUAfjMUu/fTkcn2y8sEBmvONKpuCzuhRQLPxsnLDeAWU+72TyxvzAyXtPJxn/sZRg8cNtW4zgOgiKL4VdFa1yX1/sbClPsDh59DCZ4QVTuWU76LVI4L4jRb4sOhd79eK9MerA//oGyLg/2BB2vqhVXbkZxTMWmrUikkIdFDvbxlsn0yJKItYBcGmx43Xsg18a6vdpouTspbYyE/rzA+K+xmpJUnCQhlksrrtFC0f7o1CotQe9QAygwE763FKWxXx/LdTGWJn3VuiI/E/Ou4JXx87R7Uut8FizGuw2ZtKV7594GgFXFDzls7vb9U2cDcRXm0Rz6Sqh5KkCL9gmhItBMhZrNbEiZYIWtxNVq1ystBM6Ghzj7WGnsfo+hVK1lyAHMjAokQkBkOzLeJmbBXA4aFrwH1Z40H5TDs8CYP2RgxEOcGFGbRaGl6msbO3ippYo8fv9bB79HOeduZ2Isus/YdB9CClAG78b3T51scHAUeaot2OlFrkb/7JkSIpSF0iC2s32WvdlofqvpWEfLIP5SN1R7DK4pbzr2kDd10uyjxCz9wA4R/xdMtkVGz4LTUmubaAqqddscIVON6CuRL/fK0VU4Yby8Y7fOQpSFxgLPP4OlRao8wCIEhW+DyOmCD2BF6nq1So4I4srZFEpQwZ2XhQ47mo8hhrLqrwYFn0Inzgcfw==
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:(13230028)(4636009)(346002)(136003)(39860400002)(396003)(376002)(82310400008)(1800799006)(186006)(451199021)(36840700001)(40470700004)(46966006)(478600001)(54906003)(81166007)(356005)(2616005)(70586007)(70206006)(336012)(6916009)(82740400003)(316002)(41300700001)(36756003)(6666004)(8936002)(8676002)(36860700001)(44832011)(4326008)(5660300002)(66899021)(40480700001)(83380400001)(1076003)(26005)(2906002)(966005)(47076005)(40460700003)(426003)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 19:13:25.7561
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9829e620-2ad0-482b-cbd6-08db99d5df6d
X-MS-Exchange-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:
	CY4PEPF0000EDD2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5286

This small series enables vPCI to filter which PCI capabilites we expose to a
domU. This series adds vPCI register handlers within
xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.

Note there are minor rebase conflicts with the in-progress vPCI series [1].
These conflicts fall into the category of functions and code being added
adjacent to one another, so are easily resolved. I did not identify any
dependency on the vPCI locking work, and the two series deal with different
aspects of emulating the PCI header.

Future work may involve adding handlers for more registers in the vPCI header,
such as STATUS, VID/DID, etc.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html

Stewart Hildebrand (3):
  xen/vpci: add vpci_hw_read8 helper
  xen/vpci: add vpci_read_val helper
  xen/vpci: header: filter PCI capabilities

 xen/drivers/vpci/header.c | 78 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 12 ++++++
 xen/include/xen/vpci.h    |  5 +++
 3 files changed, 95 insertions(+)


base-commit: b70ffd23865e6c320fe2e8931f0d0366d7e03cac
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 19:13:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 19:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582174.911794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6Z-0003vI-V8; Thu, 10 Aug 2023 19:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582174.911794; Thu, 10 Aug 2023 19:13:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6Z-0003vB-QG; Thu, 10 Aug 2023 19:13:55 +0000
Received: by outflank-mailman (input) for mailman id 582174;
 Thu, 10 Aug 2023 19:13: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=PFdC=D3=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qUB6Y-0003Ze-Ey
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 19:13:54 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a50274b-37b2-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 21:13:52 +0200 (CEST)
Received: from MWH0EPF00056D05.namprd21.prod.outlook.com
 (2603:10b6:30f:fff2:0:1:0:e) by PH7PR12MB6933.namprd12.prod.outlook.com
 (2603:10b6:510:1b7::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Thu, 10 Aug
 2023 19:13:47 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2a01:111:f403:c903::) by MWH0EPF00056D05.outlook.office365.com
 (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.7 via Frontend
 Transport; Thu, 10 Aug 2023 19:13:46 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.20 via Frontend Transport; Thu, 10 Aug 2023 19:13:45 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 14:13:45 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug
 2023 12:13:44 -0700
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 14:13: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: 0a50274b-37b2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IZuR4tI8Nijs/tOE+ybOzOjq2TcLMt5dFyufMIaVDsqT+vhoFl9FOUy5rOXmgOmnqMmmBb7QHEIujizcWaLkUaSKRLy48WaV7O9XpoO9W4+zCvtQrWLovql/igKbBzlnjpwZbwt24D9ccnctd7FAbz2TzlcSh+IaP//H+hxJAs3gy3m7fDK8ZWbiyTym1ljBgOee6C+Axv2FQkqIPMG5vAUThzD5yT76B1mqU2bVMWzWm9kPEBFiP6Ok4VEBfxsJaHwCK1otCWttOvqh6HUnr3SdJnGHoCVh10vd6HqirdVgnOrge2oLdGZZB6OS4rP6d3aHBO81FLa1xEaCnbNxag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J4yLLAlz56YDsP4hB+WtRJV0qGSq8/4CwsqKhUFrp3Q=;
 b=YNGAuAnQrULH4FTTRGU61MilkXcsE04SQ6Gn4xeeftIWWDvTgSJZdshV+VdQKnJzfWtT+r6cxGNVkDYeyXFAiu1Zss5GcDUl4rc56+E41MxbL65KJ/sgcDBO+YMzr2qsK6YawM9gTqXiDkTbXoCPPSUvWgRD37ESvJhWE1r2jmqbGyKtIABpbwrfc7/eZldLn9cQuzmo1sT1mabAeSjgnuRy5o2ONOwzzohfMjRxtDw0aHaZ4NRP/QWUFj58J2TKW5iMmTbzeUquW8bG0GsEZ+xgSuz/sICq3b19Hj2ZWYd/oZzoYhjgd6WXGN13/Kriw6IAuCikgj7lUeI42F+C/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J4yLLAlz56YDsP4hB+WtRJV0qGSq8/4CwsqKhUFrp3Q=;
 b=NCZSOCDOT/dBQme0CHOfIY+P/+e/SQbKYbJUA76uG72KOLDguMt4/BlkXu5cmflp9iX+OUi6YZJ3RyJzb13G6b9Hp5DnE7wLz4jYKq1D8QD1z9n3EZRAriIYnlzsWSIrQvuC3nX0jR5TYYNYEm1M0GL/Xfq5Tl4259YSvF77AXA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 1/3] xen/vpci: add vpci_hw_read8 helper
Date: Thu, 10 Aug 2023 15:12:57 -0400
Message-ID: <20230810191312.644235-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230810191312.644235-1-stewart.hildebrand@amd.com>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|PH7PR12MB6933:EE_
X-MS-Office365-Filtering-Correlation-Id: c7c12e43-9aae-4bfa-61f6-08db99d5eb82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L+oMc+vEZQZaVHMNCp8Ql0UGWG4HGD5K/l47rqOXiiJbDRlbolOIiHVJwpPyPMS+1jtk2kjiwvJnW/GYGkCAxrg7cDTe/dhH9LrgGmO4RPat04bY61lJtDfGdEoG9Ss7OWUL0fJfkphve9WfBPv/LBLpNAy3w3N9sl2Q1ZyZ9VazSSvSuBUU44nJqBQoz0ChS83L31HRQubQt2tq+qN16ZUfQj4LrtSrPJOwXgYhX6rEeyV9HGT/zYwTJVTc+lVrFJnTl5aDyEXLWaB6bfsOvqtnQG+VqodV0GlSvxlXXwiyQsPPD5ZoqqvAJd91ATx3PjNalCH1OEXfHAd2CFTe0sruBi2ocO1i1GIVDIZPWwbkuJQEKsMb0hKVx6RJEQ5Yz6pFE27eGabHE72nruln8GKQDwRMLzHcl9BZWFXGTqYylcAStnnblbnBHBHqFTQmyJ23OxOGjJ2Kl6T5M7DPZlF+/sLTOXg/7a3Lb7eaI2LSc0fdq1E2MWSzHE7i7tMg4lIO/z6ed7hz+tkfPjD1vF4zdVxwkBKo3S6qALsJnHjq9j8Dw9Yn5bLZRCcArQzFiA2MaMuoLCvvk0pCvQogqglDcVwlqsyo7b993CVsS/qPtRsP52omN8/j2Kt9nS4CVaNjKijwFYjajDrXjtUrGIRUjsHrbY43um44EbR56SQpYkkexVMwgIdWBu/fb/TbfNg1Y+p5F88op3wPJ5ak1ZzU/7eedp6nO9NQUuIGanuchxcIcJt70fouYssgRAsWIBVNB3s+xKdi+QzqFmilvQ==
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:(13230028)(4636009)(136003)(39860400002)(396003)(376002)(346002)(186006)(82310400008)(451199021)(1800799006)(40470700004)(36840700001)(46966006)(1076003)(36756003)(2616005)(336012)(26005)(6666004)(81166007)(82740400003)(478600001)(356005)(70206006)(70586007)(4326008)(316002)(41300700001)(54906003)(86362001)(8676002)(8936002)(5660300002)(44832011)(426003)(40460700003)(2906002)(6916009)(36860700001)(47076005)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 19:13:45.9769
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c7c12e43-9aae-4bfa-61f6-08db99d5eb82
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6933

This will be used in a subsequent patch.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 xen/drivers/vpci/vpci.c | 6 ++++++
 xen/include/xen/vpci.h  | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index d73fa7630237..acadba1fd6c5 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -133,6 +133,12 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return pci_conf_read8(pdev->sbdf, reg);
+}
+
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 0b8a2a3c745b..ee7a8fcdee83 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -46,6 +46,8 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
 /* Passthrough handlers. */
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 19:14:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 19:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582175.911803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6k-0004K7-9w; Thu, 10 Aug 2023 19:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582175.911803; Thu, 10 Aug 2023 19: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 1qUB6k-0004Jv-6x; Thu, 10 Aug 2023 19:14:06 +0000
Received: by outflank-mailman (input) for mailman id 582175;
 Thu, 10 Aug 2023 19:14: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=PFdC=D3=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qUB6i-0003Ze-Rx
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 19:14:04 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10c000ca-37b2-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 21:14:03 +0200 (CEST)
Received: from CY5PR14CA0014.namprd14.prod.outlook.com (2603:10b6:930:2::27)
 by SJ0PR12MB6829.namprd12.prod.outlook.com (2603:10b6:a03:47b::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 19:13:59 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:930:2:cafe::72) by CY5PR14CA0014.outlook.office365.com
 (2603:10b6:930:2::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 19:13:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6652.19 via Frontend Transport; Thu, 10 Aug 2023 19:13: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.27; Thu, 10 Aug
 2023 14:13: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.27; Thu, 10 Aug
 2023 14:13:57 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 14:13: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: 10c000ca-37b2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Frt7eqpDRVjpO63Xw4tuM2/DRqg33XW+xaMuVkGL4wIGH0FwxTqK2DpEA8ezB+PABXWn6LxcrO9WGOxUXIOgEVt7Vo5MkdS8lSM+XLtrBKCOWAGIo3iyN5eM0NrV3LmG/TYYceXrK+qCXOXPfggcozy5uWWnB8uM+m8dO5+XiPCyWyfCgNjl3upVBOuk9kKkTn0/wA/VmmnkouMfu4aF2c3H0n8gAsBage2pHJmQRBqMDfxmpeF/WEkufuZ/QDlnO+Azu0s6l23QRa2o+YM8+2B8gxvOyQzjb1HcPDGf1ogY8THYfgl3/3+tWkrF/xlIXzQdDtDDBh1LSYCAQHEcAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PlSGpBPqcY633oL1I0uwX+30drJWk9gY6gx+J9uhOBw=;
 b=j0m5y0FLl5ctbfLv1bfq8Wz/6DONkZNTmlQe1QdIoSPvv+0Mg0lfAjayXo6XZc0JVGGwUSXRnw9qKVekI2I0/cuViQgx4YnAOhSAG2/uIxs+kDZvtTIxOUgKF68aR+c/BZ4uJKWx3vN/CYAQ2837ox+36eg4Y3ism95RK7ahJsIeQ3M2vkag8NMlJi93q1YUKfKuNZTrBPb4MA/raadasyEbu/vlYhByOuig58+Q3VS2Pr1mXQnmc9Ws2GZbUt1q2ZsQbr3Qao1NT7ubkfkhaYdoiHUkSryFlLe/STO7pXJjyy/+Td8e4l2nf8G4m17STlgFUczBIy0GBOZX8Rq+Iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PlSGpBPqcY633oL1I0uwX+30drJWk9gY6gx+J9uhOBw=;
 b=IWW7Yh/Qe+/0zo5VxuQER+eBriR0XXoqvVgS39BwI3uqmAPP/AIDYR0p376mK8zCPSzcrpMPRq+Vx9nEeuX91CWsQCYJSWZbAyMANCQujgoeQkxxz5chnvjRsiIN61M+mnxyl6CP0p+SwmWOGBIIMMGKysqTOEOLBUJW/wsYEpg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 2/3] xen/vpci: add vpci_read_val helper
Date: Thu, 10 Aug 2023 15:12:58 -0400
Message-ID: <20230810191312.644235-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230810191312.644235-1-stewart.hildebrand@amd.com>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|SJ0PR12MB6829:EE_
X-MS-Office365-Filtering-Correlation-Id: e91fbfb2-1328-4f37-134a-08db99d5f323
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UX7+T/dui+uch7n0WnTb5dxfauOWobY1HESlu+E6usctLE2fSkOqh2t1YbSyUkhfx9EdITwo2OwsbqJ11a1i8RJMAkTIv15ywTEwtICxioCKY1/6aDm2T79MSi6SvzfjDu1ATlMF0XTzkj4T3h2kI4z3MukUX2Mft0UrK7MjVlY+iOKl47UJ7DK0lcQotU/38nZR2Cr+d60IgIaXE8thxtQf/IHua3nk95qzTHOdeG3jowR+3azzH5XAzpxboBC3WcqBqYXO2XKLJ8lpUKnphzefHsgC4zdzfcb30buY1MK41VOeRhEPDODw1psPIWRs7LAwwcuoO6jZjvjnlI6ekCIZ6v6YE/ZjFYtDWqaq0BIQujrq1jteFkcGbNZdDVfUeuOb0NAb3rfHJUrfAGEzNdzCN2X3oZGwaYUbVqso9ZbEcgokSlesZTFDIh0F9/OfzGb0mRWbw0JESsIVcG6IOnhHAvRk2TYyWZI6yfcT5lHsTV/OzZO106VW7L0AqSSDFARbR9zE1MtcCyrNUa993kgsfE9cuJ4AtaDC/MUF8f/Ra9Ae6vIagE4taISxkTsBrlENE2oEOB9EdylQt/U6tKBhFLuIi8UUDy/kMWGNfzQQ4n/fL/ANlxlqFbRt0Tm/KkVlPUVJGgTmaPUhIf1X5n0/c8AcLpu2i2TrtqKe/I2p+KOeO9D3llc5jpFFJKBkLwJxFAzIFFGJJ8H/4UEBbSFqurYj5mU8hNiif3Au70Txrqcr2oUNY7Vd3iujWecsyUBvd8gWOpu8UGfW5EFSpA==
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:(13230028)(4636009)(346002)(39860400002)(136003)(376002)(396003)(186006)(82310400008)(1800799006)(451199021)(36840700001)(46966006)(40470700004)(478600001)(70206006)(70586007)(4326008)(6916009)(5660300002)(316002)(54906003)(41300700001)(40460700003)(8936002)(8676002)(26005)(1076003)(86362001)(82740400003)(336012)(40480700001)(44832011)(36756003)(47076005)(36860700001)(81166007)(356005)(2906002)(2616005)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 19:13:58.8209
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e91fbfb2-1328-4f37-134a-08db99d5f323
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6829

Introduce a vPCI read helper function that returns a fixed value. This may be
used for RAZ registers, or registers whose value doesn't change. This helper
will be used in a subsequent patch.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
RFC: I'm not a fan of the (uintptr_t) cast, but without it I wasn't sure how to
     pass a value without allocating more memory (either with an xalloc function
     of sorts, or by adding a new element in struct vpci_register and changing
     the interface). Plus, in the current state, to pass a value to
     vpci_add_register(), it may be necessary to cast twice:
     (void *)(uintptr_t)myval. See next patch. Perhaps a new allocation is worth
     it to avoid the casts? Or maybe I'm being overly pedantic and the casts are
     okay?
---
 xen/drivers/vpci/vpci.c | 6 ++++++
 xen/include/xen/vpci.h  | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index acadba1fd6c5..4a96aa50494d 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -133,6 +133,12 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return (uintptr_t)data;
+}
+
 uint32_t cf_check vpci_hw_read8(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index ee7a8fcdee83..17fd252746ec 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -45,6 +45,9 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
+
 /* Passthrough handlers. */
 uint32_t cf_check vpci_hw_read8(
     const struct pci_dev *pdev, unsigned int reg, void *data);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 19:14:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 19:14:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582180.911813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6y-0004v4-JA; Thu, 10 Aug 2023 19:14:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582180.911813; Thu, 10 Aug 2023 19:14:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUB6y-0004ux-G7; Thu, 10 Aug 2023 19:14:20 +0000
Received: by outflank-mailman (input) for mailman id 582180;
 Thu, 10 Aug 2023 19:14: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=PFdC=D3=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qUB6x-0004qN-5X
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 19:14:19 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1987dcad-37b2-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 21:14:17 +0200 (CEST)
Received: from CH0PR03CA0209.namprd03.prod.outlook.com (2603:10b6:610:e4::34)
 by CH3PR12MB9021.namprd12.prod.outlook.com (2603:10b6:610:173::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug
 2023 19:14:10 +0000
Received: from CO1PEPF000042AB.namprd03.prod.outlook.com
 (2603:10b6:610:e4:cafe::79) by CH0PR03CA0209.outlook.office365.com
 (2603:10b6:610:e4::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30 via Frontend
 Transport; Thu, 10 Aug 2023 19:14:10 +0000
Received: from SATLEXMB03.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.6652.20 via Frontend Transport; Thu, 10 Aug 2023 19:14:09 +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.27; Thu, 10 Aug
 2023 14:14:09 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 10 Aug 2023 14:14: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: 1987dcad-37b2-11ee-b284-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EuvnqIb/Lo+1HHUQsz+GLNW7b3fYKuThTtzLoi6MSmleFvcriK5cc769dD2rY+Q563RvdXO6tjpeU1A7pdwWnzCiSNtGxJnSqGO0I5lMJpA3JV/0lNYxIVQ2yFZ147s8wb/t4rhFs9SdoaYG64+ddPoUZeTb71IuAZtLzpTtkroWGXi31ygJkB3YqP3YJaIpF2XJ/G8YqrDk2yZdrtsrIJlq0S3piPu+mO6NxyDf/J70tAu5lrxxVM8nQy8jkZ5TUbMxMjE/NlLlcaygtTZSkxCnocoQ+tCgS2Nx5fFCLF5hneINw49KPReBus1k4UL0b9avK2GX86+CcST2b0TCHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lytXEfn42x+yZhPe84LRwE9cDWxa0qd6RBGQUU59Ly0=;
 b=g4dRTSGvgsMDqTRw0FGBQGlxzce8Gje880i5DUj/oLLOH64+LurECP3u6ebezPzuKcHur5jeRYV7+HF7qrtqa6fB4dyzO2Iiz+W2U8l5C14iQN1bBP57rqrWBbqTWShoGtuUJ40eCWT02xUFrIiTQZKcxSREDuuR7FzqhjGaa/P0yMwvX5xA0rwJcJGGSTG8PRYB4cIl82d3YmVC3/PvbK0Tr5mKludxyTjUVxpT+HTuF5nb7QfmXzghxqq9/NTCGvPD2dejm22AHynmPPeUVdKHG1A7q+8nYLIg9cnHpJvgwKUGRHooTH4jJsd0mH05/3N5LZqOUGelgWCHcF7aVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lytXEfn42x+yZhPe84LRwE9cDWxa0qd6RBGQUU59Ly0=;
 b=zCkQI4fKYKW9VVsFhh/GW4nMeSgOjMrP28lZArTepRyxoYYT4vE0rWunevw8vwlLesMuLdY7PmdADbNAUd6viT9PAwyMk3fbDTjDX1vo05wTaIWOYZvzkqNFhzCXynwKScvuvvWXAys3Y08zxbP8cbTfU8o1/Oco2l9XuaRkueM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 3/3] xen/vpci: header: filter PCI capabilities
Date: Thu, 10 Aug 2023 15:12:59 -0400
Message-ID: <20230810191312.644235-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230810191312.644235-1-stewart.hildebrand@amd.com>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AB:EE_|CH3PR12MB9021:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e943005-87f0-423d-d03a-08db99d5f9cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EwROm0Lbzsr56+VaUvR7rQPESxbMiOqRULxVl7GoRBE2pD61dGhhYSAeUNKWjN7WH7qDndzcU0Sm/RakmAYVW4ox3rndqLs39STuYsxwT4BpIAkaHPqNaVY8wjEgS7RK/vWzEBBuETb/HZAVMayeE/M0VsnC/GX7+j/xXf0m6BxkGHWb+iLgOzdBDx2uFSzBevvA6PbMuBDteOkrzecANCs4z7eOdWgvtjSfPcHFds9yRK59oRjga8EowIwlWU/Gz+HU/IEtwAitjuWLXaTuh4t1vsrZndSQeYRRKXmqSE9LmHOgMQkZ8on/b6xLX5kHEiIvgIAdRm0ic6FCvDHlOz2005D0Lyx/exP0qnlSQI7LhBUPYlkAwuWpLAvmSK/C/TjbqlsXgYpLK0/JgO6/oA18C3rbzJtkZfE+NG9n1bcnP8jwnWUODJfvqwplaCd2cBXaJHFBvAppW/9XsU2Y/ACD4q8r5pyRlaOcAOSWGxvfuiih/141XXsTvUemFM/ZLpaFpcOHM+yoXWLPKF89wJ5INJtyfJ5IVhYPplMdvPrkiUAa+YERi/wces660K4GYNy9VB5Pd0aL6KR6GBtt0biqiTQLtm6HFQ1ZlQnRJzpwMBireaV+SZbj6DObeDguBSG9RZisHy2iMbbgmzUW9PyLdS+qf/FqFsIfvee+TSqh3j2l34gmDTM17Gy16jYpClLsxHfswcvmxShyvX1ud0H2Kf+dxv/zR5e0lLZvCmOesSbb7X3XvJSVv1AFluHpovcmwfajrMMTX/33XJQXow==
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:(13230028)(4636009)(376002)(39860400002)(346002)(136003)(396003)(1800799006)(451199021)(82310400008)(186006)(36840700001)(40470700004)(46966006)(8676002)(8936002)(1076003)(26005)(41300700001)(40460700003)(36860700001)(36756003)(47076005)(426003)(2906002)(356005)(2616005)(81166007)(86362001)(82740400003)(44832011)(336012)(6916009)(70206006)(70586007)(4326008)(54906003)(478600001)(5660300002)(40480700001)(6666004)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2023 19:14:09.9684
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e943005-87f0-423d-d03a-08db99d5f9cc
X-MS-Exchange-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:
	CO1PEPF000042AB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9021

Xen vPCI only supports virtualizing the MSI and MSI-X capabilities, so all other
PCI capabilities should be hidden from a domU for now. We parse the physical PCI
capabilities linked list and add vPCI register handlers for the next elements,
inserting our own next value, thus presenting a modified linked list to the
domU.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---

If there are no capabilities to be exposed to the guest, a future status
register handler likely would want to mask the PCI_STATUS_CAP_LIST bit. I'm
thinking we could track this in struct vpci_header as follows:

vpci.h:
     struct vpci_header {
         ...
+        bool mask_cap_list : 1;
     } header;

header.c:init_bars():
         rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
                                PCI_CAPABILITY_LIST, 1,
                                (void *)(uintptr_t)next);
         if ( rc )
             return rc;

+        if ( !next )
+            header->mask_cap_list = true;
+
         for ( ttl = 48; ttl > 0; ttl-- )
         {
             uint8_t pos;
---
 xen/drivers/vpci/header.c | 78 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 60f7049e3498..cb1304fa1eed 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -513,6 +513,36 @@ static void cf_check rom_write(
         rom->addr = val & PCI_ROM_ADDRESS_MASK;
 }
 
+static uint8_t vpci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos)
+{
+    uint8_t id;
+    int ttl;
+
+    if ( pos < 0x40 )
+        pos = pci_conf_read8(sbdf, PCI_CAPABILITY_LIST);
+    else
+        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
+
+    for ( ttl = 48; ttl > 0; ttl-- )
+    {
+        if ( pos < 0x40 )
+            break;
+
+        pos &= ~3;
+        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
+
+        if ( id == 0xff )
+            break;
+
+        if ( id == PCI_CAP_ID_MSI ||
+             id == PCI_CAP_ID_MSIX )
+            return pos;
+
+        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
+    }
+    return 0;
+}
+
 static int cf_check init_bars(struct pci_dev *pdev)
 {
     uint16_t cmd;
@@ -544,6 +574,54 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
+             == 0 )
+        {
+            /* RAZ/WI */
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1, NULL);
+            if ( rc )
+                return rc;
+        }
+        else
+        {
+            /* Only expose capabilities to the guest that vPCI can handle. */
+            uint8_t next, ttl;
+
+            next = vpci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST);
+
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1,
+                                   (void *)(uintptr_t)next);
+            if ( rc )
+                return rc;
+
+            for ( ttl = 48; ttl > 0; ttl-- )
+            {
+                uint8_t pos;
+
+                if ( !next )
+                    break;
+
+                pos = next;
+                next = vpci_find_next_cap(pdev->sbdf, pos);
+
+                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
+                                       pos + PCI_CAP_LIST_ID, 1, NULL);
+                if ( rc )
+                    return rc;
+
+                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                       pos + PCI_CAP_LIST_NEXT, 1,
+                                       (void *)(uintptr_t)next);
+                if ( rc )
+                    return rc;
+            }
+        }
+    }
+
     if ( pdev->ignore_bars )
         return 0;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 10 20:03:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 20:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582200.911823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUBrn-0002KT-9d; Thu, 10 Aug 2023 20:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582200.911823; Thu, 10 Aug 2023 20:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUBrn-0002KM-6D; Thu, 10 Aug 2023 20:02:43 +0000
Received: by outflank-mailman (input) for mailman id 582200;
 Thu, 10 Aug 2023 20:02:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eGPc=D3=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qUBrl-0002KG-6C
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 20:02:41 +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 db350e38-37b8-11ee-8613-37d641c3527e;
 Thu, 10 Aug 2023 22:02:38 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5231410ab27so1615439a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 10 Aug 2023 13:02:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db350e38-37b8-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691697758; x=1692302558;
        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=+rf/JiRgTxAKa0argPmibUk4LC5slrYRdDGlyKPWfyM=;
        b=RfcJMnLGNXCgeuU/RIOYkruNpkC9cCf7Ggs74g0LI/34ffLGGNw0TfIeCkodzY5KRt
         il0NHS7wiqt7dINLgpdPycj9hHNd1poEBKtbLAnzBPefO5S6xr+lhTvu2QHOmZtDPsrY
         LhTI8HO8ahHKZPxbfHWJgscwBGK2ZUNgU3ujkbhTh9s2aoGYlltqSPlhY3xcX1IAu/ke
         lgu5ZilAlSIKqtmJ4u0IwiEzU8+LF6m6mvvecgMoFZG3MdzC9Vizh+Cl/gbE+InShdIa
         PBZ80Wm/gMlZxakEc/1xxq6D+av8i1ZS4q+P2DDJp///HZFn109elqua5vLyDYeJQfDC
         jv5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691697758; x=1692302558;
        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=+rf/JiRgTxAKa0argPmibUk4LC5slrYRdDGlyKPWfyM=;
        b=degovSdjlZ+JshbA4DB7ciktvY6TQYeUApyACfYMhNwFkToEDWcrOQB35OCOi7GDkQ
         mQf04JTzib3+dKLRENpLUqYdxPII6skGeU6b32Nds5htnlfrwk8qMFGt9/81xbwZTPsg
         OF0YBGAndz9ZWlKQnrB4OvLNPORqZy1fGnqJRP+7l56MzpOvp/FUZkM68FuPz/FudfVi
         XGzfdkLj3Fpbmmok0xw+zgtnhuneAYabpEdJT92WXNQHzZwNbydwPLV0RlS3lARyjeCm
         XeLVW/RNPStR6nTWdt7SK2QyOuI7unrLcbLJVPIU6rjrRcbfHMStuO63i6tsxkZPeYG4
         1axg==
X-Gm-Message-State: AOJu0YxqZlk+9qIN8cUXpKTcVsjVYH3MtVvRduK136yaRqYTCLpfQq1C
	C/o/Wv/LEEaztHchKI3LB1YymrsYtFQB/Do48Ao=
X-Google-Smtp-Source: AGHT+IGxDAgS9ADpWY5Il8UlXPbJEJjVg9k5fap6/vNBtIeu1wqFr0BE5YNviKjm6yQVQsSk0HTZeXRol17NgbYtheQ=
X-Received: by 2002:aa7:d7d5:0:b0:522:bca7:2a20 with SMTP id
 e21-20020aa7d7d5000000b00522bca72a20mr16309eds.17.1691697757906; Thu, 10 Aug
 2023 13:02:37 -0700 (PDT)
MIME-Version: 1.0
References: <20230809103305.30561-1-julien@xen.org> <20230809103305.30561-3-julien@xen.org>
In-Reply-To: <20230809103305.30561-3-julien@xen.org>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 10 Aug 2023 16:02:26 -0400
Message-ID: <CAKf6xpvLtOTH-WVz8B6df=WF5M=Cng8BBWTvOOJ3C1N8QbqWWA@mail.gmail.com>
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for
 HVM domain
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 9, 2023 at 6:34=E2=80=AFAM Julien Grall <julien@xen.org> wrote:
>
> From: Julien Grall <jgrall@amazon.com>
>
> Currently, libxl will grant IOMEM, I/O port and IRQ permissions when
> a PCI is attached (see pci_add_dm_done()) for all domain types. However,
> the permissions are only revoked for non-HVM domain (see do_pci_remove())=
.
>
> This means that HVM domains will be left with extra permissions. While
> this look bad on the paper, the IRQ permissions should be revoked
> when the Device Model call xc_physdev_unmap_pirq() and such domain
> cannot directly mapped I/O port and IOMEM regions. Instead, this has to
> be done by a Device Model.
>
> The Device Model can only run in dom0 or PV stubdomain (upstream libxl
> doesn't have support for HVM/PVH stubdomain).
>
> For PV/PVH stubdomain, the permission are properly revoked, so there is
> no security concern.
>
> This leaves dom0. There are two cases:
>   1) Privileged: Anyone gaining access to the Device Model would already
>      have large control on the host.
>   2) Deprivileged: PCI passthrough require PHYSDEV operations which
>      are not accessible when the Device Model is restricted.
>
> So overall, it is believed that the extra permissions cannot be exploited=
.
>
> Rework the code so the permissions are all removed for HVM domains.
> This needs to happen after the QEMU has detached the device. So
> the revocation is now moved in a separate function which is called
> from pci_remove_detached().
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

With one suggestion below

> ---
>
> TODO: I am getting a bit confused with the async work in libxl. I am
> not entirely sure whether pci_remove_detached() is the correct place
> to revoke.

I think the location is fine.

> TODO: For HVM, we are now getting the following error on detach:
> libxl: error: libxl_pci.c:2009:pci_revoke_permissions: Domain 3:xc_physde=
v_unmap_pirq irq=3D23: Invalid argument
>
> This is because the IRQ was unmapped by QEMU. It doesn't feel
> right to skip the call. So maybe we can ignore the error?

Sounds reasonable.  Would be better if we could clearly differentiate
between QEMU already unmapped and some other EINVAL error.

> ---
>  tools/libs/light/libxl_pci.c | 142 ++++++++++++++++++++---------------
>  1 file changed, 80 insertions(+), 62 deletions(-)
>
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 7f5f170e6eb0..f5a4b88eb2c0 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -1943,6 +1943,79 @@ static void pci_remove_stubdom_done(libxl__egc *eg=
c,
>  static void pci_remove_done(libxl__egc *egc,
>      pci_remove_state *prs, int rc);
>
> +static void pci_revoke_permissions(libxl__egc *egc, pci_remove_state *pr=
s)
> +{
> +    STATE_AO_GC(prs->aodev->ao);
> +    libxl_ctx *ctx =3D libxl__gc_owner(gc);
> +    const libxl_device_pci *pci =3D &prs->pci;
> +    const char *sysfs_path;
> +    uint32_t domid =3D prs->domid;
> +    FILE *f;
> +    unsigned int start =3D 0, end =3D 0, flags =3D 0, size =3D 0;

These variables ...

> +    int irq =3D 0;
> +    int i, rc;
> +
> +    sysfs_path =3D GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource",
> +                           pci->domain, pci->bus, pci->dev, pci->func);
> +
> +    f =3D fopen(sysfs_path, "r");
> +    if (f =3D=3D NULL) {
> +        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
> +        goto skip_bar;
> +    }
> +
> +    for (i =3D 0; i < PROC_PCI_NUM_RESOURCES; i++) {

... could move into the loop here.

> +        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) !=3D 3)
> +            continue;
> +        size =3D end - start + 1;

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 20:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 20:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582201.911832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUBsK-0002ir-I8; Thu, 10 Aug 2023 20:03:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582201.911832; Thu, 10 Aug 2023 20:03:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUBsK-0002ik-FJ; Thu, 10 Aug 2023 20:03:16 +0000
Received: by outflank-mailman (input) for mailman id 582201;
 Thu, 10 Aug 2023 20:03:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eGPc=D3=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qUBsI-0002fI-JM
 for xen-devel@lists.xenproject.org; Thu, 10 Aug 2023 20:03:14 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed687588-37b8-11ee-b284-6b7b168915f2;
 Thu, 10 Aug 2023 22:03:09 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-523ba00a62aso675597a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 10 Aug 2023 13:03:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed687588-37b8-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691697789; x=1692302589;
        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=czNDBwm2jJDIh7l7tzB+aDs6zI8rnPbTT69UXuSdg70=;
        b=DsjuaQgtHv/sbA0A5k3q0NLUiPCiGfoNRRcDxNRjzdBQR4G5HzQnR+s1ny84vDDr0k
         XD7HQaOYMvhokuLhqDexs5UYamZ+N/PTYYLPg155BWN+YyXYxKD3yecG7VVtRUCh6Tja
         2m7z/qMnN5zA/liXwYKsT01QfayfKQZ1qIJi4Hd0mkIB0fTnwA/ehltopubrV+ojffaU
         jD+C/bjEFnQMPlPAY4edJ4ZET87LavMNz61q+USUD/20SP59qICWzofDYpCnxA56rFUe
         AJkYgDedE6kEBbLuu9qXmm7vW0NdJuUgPn6tUpgUoZfvX91N8oE4tV/AeIkFtiiEonfY
         hS+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691697789; x=1692302589;
        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=czNDBwm2jJDIh7l7tzB+aDs6zI8rnPbTT69UXuSdg70=;
        b=kB3mLSN1bTuuG/ktiF7I9YjAR1XNSCTAa7uhAVoMj2+i/b270GM+9c+/OMWfRpiFwf
         wCDgsYnWOzzkK9+04VJgHyZxPxP+zVsb3ZEofbVOsN2eiPlRcxXmrAkajsGxnD08ZR9y
         U/l+3313M3uiicY3FR924W8AmYJ8N/2dGUOVGp5Xq7tba8GC60Ciq1X3yq4NPm5YY4CK
         vRJjNKeTni43qhHY18LZesHjb70oBRc+7k9FhLWRU+rDE8hWD/v9MrJ3M0fyFa3CgXZ1
         kaaSzdvt50G2rY2tf1wlKg51RD31Y1LF8Ct67xRt43p7n2V/+E2trQAwF0uyLZ2HlJtQ
         kyTw==
X-Gm-Message-State: AOJu0YxUjZQ3TFPUyWANaGveBvElMFbsc8Fag0mQomvEyChLjjtEC6O4
	NZjC93SaFsbG/MmyYvJ+V2D3dIwYfhZO7wbzEwCn4hLI
X-Google-Smtp-Source: AGHT+IHAhDpGUyha751ei6f8OAsLRHOQyrAzD3Vn6WJyC1O3FGwSx3cINEewdvYVyVYAoXlA1gCwFexQqkYzwJ6mwFs=
X-Received: by 2002:aa7:cf0f:0:b0:523:1400:2d7c with SMTP id
 a15-20020aa7cf0f000000b0052314002d7cmr6090edy.35.1691697788645; Thu, 10 Aug
 2023 13:03:08 -0700 (PDT)
MIME-Version: 1.0
References: <20230809103305.30561-1-julien@xen.org> <20230809103305.30561-2-julien@xen.org>
In-Reply-To: <20230809103305.30561-2-julien@xen.org>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 10 Aug 2023 16:02:56 -0400
Message-ID: <CAKf6xpsVMjuVYhbJ3B7Ja76fn4cjix=Q9F-PxmOZscTAhEn2FA@mail.gmail.com>
Subject: Re: [PATCH 1/2] tools/libs: light: Remove the variable 'domainid' do_pci_remove()
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 9, 2023 at 6:34=E2=80=AFAM Julien Grall <julien@xen.org> wrote:
>
> From: Julien Grall <jgrall@amazon.com>
>
> The function do_pci_remove() has two local variables 'domid' and
> 'domainid' containing the same value.
>
> Looking at the history, until 2cf3b50dcd8b ("libxl_pci: Use
> libxl__ao_device with pci_remove") the two variables may have
> different value when using a stubdomain.
>
> As this is not the case now, remove 'domainid'. This will reduce
> the confusion between the two variables.
>
> Note that there are other places in libxl_pci.c which are using
> the two confusing names within the same function. They are left
> unchanged for now.
>
> No functional changes intented.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 10 23:13:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 Aug 2023 23:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582215.911842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUEqA-0005SG-5P; Thu, 10 Aug 2023 23:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582215.911842; Thu, 10 Aug 2023 23: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 1qUEqA-0005S9-2r; Thu, 10 Aug 2023 23:13:14 +0000
Received: by outflank-mailman (input) for mailman id 582215;
 Thu, 10 Aug 2023 23:13: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 1qUEq8-0005Rz-Vv; Thu, 10 Aug 2023 23:13: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 1qUEq8-0004u0-Mz; Thu, 10 Aug 2023 23:13: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 1qUEq8-0007K9-8V; Thu, 10 Aug 2023 23:13:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUEq8-0002Nz-81; Thu, 10 Aug 2023 23:13: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=sgrqMzr3VgHAvTLfxEe2H0mBaFJ9OpT4Bfy7CYKUP5Y=; b=CwriW0muebXfxE7ktwIAXVzfz0
	alt+LV8T6niFXiiRFJdbMFRGjiFWcIeMlCpOFgR0VEMksFST3gMxd7KnpKcN3TgBMBDhbiPQ31lkg
	q19fIhxfcw87pv89hg/ASJHdD8mPeP57jW5A1fPqD8LgWOG1GVae8UhLkleZKbv6e6yQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182247-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182247: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=13b9372068660fe4f7023f43081067376582ef3c
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 10 Aug 2023 23:13:12 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 180278
 test-arm64-arm64-xl-vhd      13 guest-start              fail REGR. vs. 180278

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow 20 guest-localmigrate/x10 fail pass in 182265-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 182265-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182265-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 180278

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

version targeted for testing:
 linux                13b9372068660fe4f7023f43081067376582ef3c
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  116 days
Failing since        180281  2023-04-17 06:24:36 Z  115 days  207 attempts
Testing same since   182247  2023-08-09 08:11:17 Z    1 days    1 attempts

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

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 01:54:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 01:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582223.911853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUHLc-0007fc-JF; Fri, 11 Aug 2023 01:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582223.911853; Fri, 11 Aug 2023 01:53: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 1qUHLc-0007fG-D3; Fri, 11 Aug 2023 01:53:52 +0000
Received: by outflank-mailman (input) for mailman id 582223;
 Fri, 11 Aug 2023 01:53:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUHLa-0007fA-UC
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 01:53:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8a4e5af-37e9-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 03:53:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4AF76651F7;
 Fri, 11 Aug 2023 01:53:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C25EC433C8;
 Fri, 11 Aug 2023 01:53:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8a4e5af-37e9-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691718825;
	bh=YRwtfgrELPlaPCQn8xHZDThKAaQOutw3UZTsU/0hUM0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=o/YVEjsWmFHbrUmi2lLmStduFykH76s51lFGh8kKtdoZnRx4F1DeJLPCEwra3m56N
	 bO1WGOvbmCRUhwHxno07wOBjlM+YWtI/8nAa7IKYgfK0OT8Nj3oy/KdbVfCHiV5QUg
	 2+v8asv4CKsSWVM5LAVHGWONTHvi1dHJZoAV5Im/CgLZEYYn/jiW+UNOdgITGH3jw4
	 40hcUqf4yBo+sCXzSHFVHD8wzpv/0YSFNvN7SQCoSRTuDN7GQpRDjl0nY3xbD5c5B0
	 eWVcbg5QHJw/4R96K+sVF+I4yM2U8YM6sW9mB3WfHhqrjVH67xc67gPMZjHSvd4uXC
	 rbVm2lvIHk8uQ==
Date: Thu, 10 Aug 2023 18:53:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 5/5] xen: Add clang-format configuration
In-Reply-To: <7219AAB4-7218-405F-8B4E-D9F3E54213EA@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308101852050.2127516@ubuntu-linux-20-04-desktop>
References: <20230728081144.4124309-1-luca.fancellu@arm.com> <20230728081144.4124309-6-luca.fancellu@arm.com> <3c5ae070-d6c2-070c-e482-e5135e2acef1@suse.com> <394778DB-2D5E-4C52-9DA1-F23A530534A8@arm.com> <9743391f-3b89-ddba-1c79-ddbb1d143437@suse.com>
 <7219AAB4-7218-405F-8B4E-D9F3E54213EA@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1322985965-1691718826=:2127516"

  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-1322985965-1691718826=:2127516
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 10 Aug 2023, Luca Fancellu wrote:
> > On 10 Aug 2023, at 09:08, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 09.08.2023 18:18, Luca Fancellu wrote:
> >>> On 9 Aug 2023, at 16:48, Jan Beulich <jbeulich@suse.com> wrote:
> >>> On 28.07.2023 10:11, Luca Fancellu wrote:
> >>>> --- /dev/null
> >>>> +++ b/xen/.clang-format
> >>>> @@ -0,0 +1,693 @@
> >>>> +# SPDX-License-Identifier: GPL-2.0-only
> >>>> +#
> >>>> +# clang-format configuration file. Intended for clang-format >= 15.
> >>>> +#
> >>>> +# For more information, see:
> >>>> +#
> >>>> +#   Documentation/process/clang-format.rst
> >>>> +#   https://clang.llvm.org/docs/ClangFormat.html
> >>>> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
> >>>> +#
> >>>> +---
> >>>> +
> >>>> +# [not specified]
> >>>> +# Align function parameter that goes into a new line, under the open bracket
> >>>> +# (supported in clang-format 3.8)
> >>>> +AlignAfterOpenBracket: Align
> >>> 
> >>> I'm not convinced this rule (assuming I'm getting it right) is
> >>> suitable in all cases, especially for functions with long names or
> >>> very many parameters.
> >> 
> >> Not sure I understand, I think this is the current behaviour in the codebase now.
> > 
> > My understanding is that the above aims at (only)
> > 
> > unsigned long function(unsigned long first_long_argument,
> >                       unsigned long second_long_argument);
> > 
> > when we also permit
> > 
> > unsigned long function(
> >    unsigned long first_long_argument,
> >    unsigned long second_long_argument);
> 
> Ohh ok now I see what you meant!
> 
> I did try this, ok sure it will format it as:
> 
> unsigned long function(unsigned long first_long_argument,
>                                      unsigned long second_long_argument);
> 
> Because it sees that it will fit the 80 chars.
> 
> At some point I think we need to overcome the uncertainty and chose a side, only
> from there we can benefit from an automatic checker and we can get rid of style issues (most of them).
> 
> Unfortunately most of the time we canâ€™t say to the tool: we permit this style but also this style, 
> only one can be allowed and just few discrepancy might be deviated if properly justified (in-code comments).
> 
> I guess this is the only way to:
> 1) have a formalised coding style
> 2) have an automatic checker
> 3) unify the hypervisor codebase style, that will diverge (more than now) very quickly with the introduction
>     of new arch and features

I think it is understood that we'll have to make some style choices that
today are left open and also that we might have to introduce some style
conversions. The question is exactly which choices and which
conversions. We need to come up with a list, hopefully a short one.
--8323329-1322985965-1691718826=:2127516--


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 01:55:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 01:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582227.911863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUHNF-0008DP-RS; Fri, 11 Aug 2023 01:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582227.911863; Fri, 11 Aug 2023 01: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 1qUHNF-0008DI-O7; Fri, 11 Aug 2023 01:55:33 +0000
Received: by outflank-mailman (input) for mailman id 582227;
 Fri, 11 Aug 2023 01:55:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUHNE-0008D8-LD
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 01:55: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 25f243fc-37ea-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 03:55:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7923860EAD;
 Fri, 11 Aug 2023 01:55:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0E6AC433C8;
 Fri, 11 Aug 2023 01:55: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: 25f243fc-37ea-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691718928;
	bh=sXJr4lVOJAdZnyi1KV+v/DU3uqu1sSSHS1WOYnDS/7Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lxj8MtsGOqBODsPmOo8aXpzc4eVnO1d2q3Ba5EmLilZL5flGexZxZSqU0+wrJAWwM
	 jqxhNotbdh+dKs4L1jl6lKYR9pNnMvpCSMWDTkUdlVGdwpzSR+Z+LkADSgQDyFMSX9
	 Cqbq5DrK6ujPz8ilhEjjmBqM7UvcqfmY2X1kQ//aPbuwhw6JXaW+2VU97C43gPDUmT
	 ruRv6Sy+zjlihscLnjfF0t7eaYUvnoaMo/4mW7e2c8Abb9K3oyCaNlvdDR8od8ftyj
	 RHq7DFt0Ho2ZbMgUPIJ7QIpJmxjlmc7Z9CRkAZTKIs8POQXWWNCIVGGPDJHGpORw8j
	 sBgPTkVszzOTA==
Date: Thu, 10 Aug 2023 18:55:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Fix initrd placeholders generation in
 make_chosen_node()
In-Reply-To: <C64B8D3B-24CD-4312-97B4-1B1621EDBDDD@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308101855190.2127516@ubuntu-linux-20-04-desktop>
References: <20230810112544.17365-1-michal.orzel@amd.com> <20230810112544.17365-2-michal.orzel@amd.com> <C64B8D3B-24CD-4312-97B4-1B1621EDBDDD@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, 10 Aug 2023, Luca Fancellu wrote:
> > On 10 Aug 2023, at 12:25, Michal Orzel <michal.orzel@amd.com> wrote:
> > 
> > When booting a dom0less domU without initial ramdisk, it was observed
> > that Xen still creates empty linux,initrd-{start,end} properties under
> > /chosen node. This is because in make_chosen_node(), generation of initrd
> > placeholders (later on filled with the real values) is protected with
> > a check for presence of kernel bootmodule (always present) instead of
> > initrd bootmodule. Fix it along with renaming the variable from "mod" to
> > "initrd" to prevent similar mistakes in the future.
> > 
> > Fixes: 48f4bf6bdeb4 ("arm/acpi: Create min DT stub for Dom0")
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Hi Michal, good catch!
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 01:56:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 01:56:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582233.911873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUHNq-0000JM-2B; Fri, 11 Aug 2023 01:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582233.911873; Fri, 11 Aug 2023 01: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 1qUHNp-0000JF-Vn; Fri, 11 Aug 2023 01:56:09 +0000
Received: by outflank-mailman (input) for mailman id 582233;
 Fri, 11 Aug 2023 01:56: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=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUHNo-0008T2-TR
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 01:56:08 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c91920d-37ea-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 03:56:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 09CF5666DE;
 Fri, 11 Aug 2023 01:56:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93768C433CD;
 Fri, 11 Aug 2023 01:56: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: 3c91920d-37ea-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691718966;
	bh=i8IPE+UjAwW58njxwkt29XTvoehoyO84GQsyplLavZE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=icoPaQXj3Pqe36cXHo5OiTH71XtEy0t1eXhviBIls+8XQzNvRZiV15BFlc8ElDyGr
	 tD4FvfYrbYcrE7h7FUm9vcDxvb9kHhqKelWlT1vAMUfbzmp89OocBm6PqFaIbHq5AU
	 X9D4VBH+jTw4w0UgXqov+L3oTs6+fEGKUZFRS4HDzK2YdK7GwMQAE6Idz5Y1jFTkea
	 WhJcduYeNCq0PuJaLUbwMa4uGkAHRtImOzg2bqVt1Diw1VX6mJxf/4e4yBw7epLqe6
	 L93xkuAx6PZU0DUyseSqcP+NGXFwyS0FW40eqaUq3oO2Wy3jz1dYaQbzDfpY4+Zb2g
	 dq6PSn9m2l/GQ==
Date: Thu, 10 Aug 2023 18:56:04 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/2] xen/arm: Skip inclusion of domU nodes into hwdom dt
 /chosen node
In-Reply-To: <E3D0146D-9E5B-4CC6-A864-A6F51C9B599A@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308101855570.2127516@ubuntu-linux-20-04-desktop>
References: <20230810112544.17365-1-michal.orzel@amd.com> <20230810112544.17365-3-michal.orzel@amd.com> <E3D0146D-9E5B-4CC6-A864-A6F51C9B599A@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, 10 Aug 2023, Luca Fancellu wrote:
> > On 10 Aug 2023, at 12:25, Michal Orzel <michal.orzel@amd.com> wrote:
> > 
> > Configuration for dom0less domUs is stored under /chosen/<domu> nodes
> > present in the host device tree provided to Xen. All the properties and
> > sub nodes there are meant only for Xen. However, at the moment we still
> > copy them (except for modules that we skip) into hardware domain /chosen
> > node. Fix it by adding "xen,domain" compatible into the list of nodes to
> > skip in handle_node().
> > 
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 03:58:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 03:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582242.911883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUJIS-00052G-KE; Fri, 11 Aug 2023 03:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582242.911883; Fri, 11 Aug 2023 03:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUJIS-000529-GM; Fri, 11 Aug 2023 03:58:44 +0000
Received: by outflank-mailman (input) for mailman id 582242;
 Fri, 11 Aug 2023 03:58:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUJIQ-00051y-US; Fri, 11 Aug 2023 03:58:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUJIQ-0005zb-Mp; Fri, 11 Aug 2023 03:58:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUJIQ-0000kQ-87; Fri, 11 Aug 2023 03:58:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUJIQ-00059q-7Q; Fri, 11 Aug 2023 03:58:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dVIhCAHa5SozWamb1JJizhDtHywEK2szWQXXk90vMhU=; b=Ya7icKSYS2tBsGXWY9aofNDQDG
	7LxSv4R9flDE62TUW1nsfdyuQuH/PV6k6AwzGmhB/YM59tb8PSJeXjkeYPqW9EmNjIDmPcthNdlYf
	6xQh8kF97//AFxs21EPIuZZysxtANqB36pPCH9QFPdiFR3pv1hey5BwyjTKUtspMHzyU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182258-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182258: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:regression
    linux-5.4:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start: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-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-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-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=21732fd224978ebddf4bded7cb99663d2be1e732
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 03:58:42 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2  19 guest-start.2  fail in 182239 REGR. vs. 182076

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm        7 xen-install      fail in 182239 pass in 182258
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail in 182239 pass in 182267-retest
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 182267 pass in 182239
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail pass in 182239
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 182239

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

version targeted for testing:
 linux                21732fd224978ebddf4bded7cb99663d2be1e732
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   12 days
Testing same since   182239  2023-08-08 18:13:15 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Ben Hutchings <benh@debian.org>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Joerg Roedel <jroedel@suse.de>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kim Phillips <kim.phillips@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Richard Weinberger <richard@nod.at>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Sean Christopherson <seanjc@google.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tom Lendacky <thomas.lendacky@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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 05:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 05:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582251.911895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUKcE-0006c3-Ix; Fri, 11 Aug 2023 05:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582251.911895; Fri, 11 Aug 2023 05: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 1qUKcE-0006bw-G2; Fri, 11 Aug 2023 05:23:14 +0000
Received: by outflank-mailman (input) for mailman id 582251;
 Fri, 11 Aug 2023 05:23:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUKcC-0006bm-Ta; Fri, 11 Aug 2023 05:23:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUKcC-0008Q7-Kg; Fri, 11 Aug 2023 05:23:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUKcC-0003hj-91; Fri, 11 Aug 2023 05:23:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUKcC-0001Hf-8U; Fri, 11 Aug 2023 05:23:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NItVQZ7wr9pMEPESudV9RQ9ZkW6kk/r97jppjR5K/Aw=; b=UvngqkwsMd0JEz7PswGBjdZD0W
	N1gl5NhQJ2Ud9idgboCmsYTixAtdeSKyY3PMh/QVE/3TNXusifXD7058jCBzekgqcK3dzYOOKzE3P
	LgfuxB1IZbJVcYTBnXhK0XSMt4SDv+XzqVpNxEeeuA8m3bypTmfoQZG/Kbu+A2T8ys6s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182268-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182268: 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=c6bda36af0b992d5d2042efd6cc36592fb037a1d
X-Osstest-Versions-That:
    xen=b70ffd23865e6c320fe2e8931f0d0366d7e03cac
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 05:23:12 +0000

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

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                  c6bda36af0b992d5d2042efd6cc36592fb037a1d
baseline version:
 xen                  b70ffd23865e6c320fe2e8931f0d0366d7e03cac

Last test of basis   182261  2023-08-10 14:02:08 Z    0 days
Testing same since   182268  2023-08-11 03:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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
   b70ffd2386..c6bda36af0  c6bda36af0b992d5d2042efd6cc36592fb037a1d -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 06:50:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 06:50:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582260.911908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qULyk-0008I8-L6; Fri, 11 Aug 2023 06:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582260.911908; Fri, 11 Aug 2023 06: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 1qULyk-0008I1-I8; Fri, 11 Aug 2023 06:50:34 +0000
Received: by outflank-mailman (input) for mailman id 582260;
 Fri, 11 Aug 2023 06:50:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ud7f=D4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qULyk-0008Hv-5c
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 06:50:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c73e9a3-3813-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 08:50:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 6832F1F889;
 Fri, 11 Aug 2023 06:50:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3CFA113592;
 Fri, 11 Aug 2023 06:50:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xddjDTba1WR0VwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 11 Aug 2023 06:50:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c73e9a3-3813-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691736630; 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=UlVjIFpsCGIZ6kFCwZDuLa4Rp2Ngcyb4pxO2PbFm6dQ=;
	b=czvG3J4m2Ehjkx0methcbeNN6+T9vGqIAVBaPV828QaPUM2yowELrKpHmPQfvOcUfBb2GG
	Tz+PfqtFD/T8D6X1XscT4GVeKhWCnmMEZAwm3/8ub2pPZ1++2h/hc/BDu+heWLQzQwMQUZ
	s+eTXTUtqX7MzUAGBIfSbDhz4Fho0D8=
Message-ID: <fb241263-d70b-4385-bf05-183341074b8b@suse.com>
Date: Fri, 11 Aug 2023 08:50:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: adjust comparison for earlier signedness change
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <e3d3de6d-2406-0655-ea3d-49a50570256b@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: <e3d3de6d-2406-0655-ea3d-49a50570256b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------WAGvVswbNVQ6yySB0eYmhDvP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------WAGvVswbNVQ6yySB0eYmhDvP
Content-Type: multipart/mixed; boundary="------------TTeej60yVfTNODtu0gq5jILR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <fb241263-d70b-4385-bf05-183341074b8b@suse.com>
Subject: Re: [PATCH] x86: adjust comparison for earlier signedness change
References: <e3d3de6d-2406-0655-ea3d-49a50570256b@suse.com>
In-Reply-To: <e3d3de6d-2406-0655-ea3d-49a50570256b@suse.com>

--------------TTeej60yVfTNODtu0gq5jILR
Content-Type: multipart/mixed; boundary="------------j9CPQKlf5M10N5bR7aLFfUr7"

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

T24gMTAuMDguMjMgMTY6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBJbnRlcmVzdGluZ2x5
IG9ubHkgQ2xhbmcgd2FybnMgYWJvdXQgdGhlIG5vdyBib2d1cyBsZXNzLXRoYW4temVybw0K
PiBjb21wYXJpc29uLiBDb252ZXJ0IGl0IHRvIHNvbWV0aGluZyB0aGF0J3MgbW9yZSBleHBs
aWNpdGx5IGRvaW5nIHdoYXQNCj4gdGhlIGNvbW1lbnQgc2F5cy4NCj4gDQo+IEZpeGVzOiA0
MDg2ODU3Y2MxNTkgKCJ4ODY6IGltcGxlbWVudCBjcHVpZCgpIGluIHRlcm1zIG9mIGNwdWlk
X2NvdW50KCkiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
DQoNCg0KSnVlcmdlbg0KDQo=
--------------j9CPQKlf5M10N5bR7aLFfUr7
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------j9CPQKlf5M10N5bR7aLFfUr7--

--------------TTeej60yVfTNODtu0gq5jILR--

--------------WAGvVswbNVQ6yySB0eYmhDvP
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/Ey8FAmTV2jUFAwAAAAAACgkQsN6d1ii/Ey+z
pQf/Q9Tw+KhMPRmhj6mmMtiLtJkzTO249jhVSTdtO9V7FaBv0NQdT/HbQBSG+ZwNUVnSYbn7O71f
ScRhoePCVJEkNnyi59inth/fsGR3IjXdaEqeX1ZhwPYJwIV7HtGs0ga+3xa2D5E1g17OrV0BVYWG
wAM2rsJatwGJs4/mcpi9G1AYk7xVIhXTmr6/g+e7IUM3hDy4P467zoYGkpdO/TUsIlC9GVHcfZl0
DeLW8jwO9r2WkOmQup6BAOEtDl183AT0FOC9aUuCKa45p2jLgdmbQzjk9iu61X0H9Wc6oikLOjxq
p7NIKcndJ3b7xCh/o/F7kXOIeqghVr4oz9CUPePrWA==
=29zQ
-----END PGP SIGNATURE-----

--------------WAGvVswbNVQ6yySB0eYmhDvP--


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582268.911922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMEe-0001bH-6J; Fri, 11 Aug 2023 07:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582268.911922; Fri, 11 Aug 2023 07: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 1qUMEe-0001bA-2z; Fri, 11 Aug 2023 07:07:00 +0000
Received: by outflank-mailman (input) for mailman id 582268;
 Fri, 11 Aug 2023 07:06:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ntus=D4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qUMEc-0001b4-W5
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:06:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8200aee-3815-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 09:06:56 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 6A98A4EE073F;
 Fri, 11 Aug 2023 09:06: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: a8200aee-3815-11ee-8613-37d641c3527e
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] xen/hypercalls: address violations of MISRA C:2012 Rule 8.3
Date: Fri, 11 Aug 2023 09:06:48 +0200
Message-Id: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Uniform the auto-generated hypercall-decls with the corresponding
definitions to address violations of MISRA C:2012 Rule 8.3:
"All declarations of an object or function shall use the same names and
type qualifiers".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/hypercall-defs.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 6d361ddfce..4feddce571 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -107,11 +107,16 @@ defhandle: physdev_op_compat_t
 prefix: do PREFIX_hvm PREFIX_compat PREFIX_do_arm
 physdev_op(int cmd, void *arg)
 
-prefix: do PREFIX_hvm PREFIX_compat
+prefix: do PREFIX_hvm
 #if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
 grant_table_op(unsigned int cmd, void *uop, unsigned int count)
 #endif
 
+prefix: PREFIX_compat
+#if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
+grant_table_op(unsigned int cmd, void *cmp_uop, unsigned int count)
+#endif
+
 prefix: do PREFIX_hvm
 memory_op(unsigned long cmd, void *arg)
 
@@ -136,7 +141,7 @@ xenoprof_op(int op, void *arg)
 prefix: compat
 set_timer_op(uint32_t lo, int32_t hi)
 multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
-memory_op(unsigned int cmd, void *arg)
+memory_op(unsigned int cmd, void *compat)
 #ifdef CONFIG_IOREQ_SERVER
 dm_op(domid_t domid, unsigned int nr_bufs, void *bufs)
 #endif
@@ -172,7 +177,7 @@ console_io(unsigned int cmd, unsigned int count, char *buffer)
 vm_assist(unsigned int cmd, unsigned int type)
 event_channel_op(int cmd, void *arg)
 mmuext_op(mmuext_op_t *uops, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
-multicall(multicall_entry_t *call_list, unsigned int nr_calls)
+multicall(multicall_entry_t *call_list, uint32_t nr_calls)
 #ifdef CONFIG_PV
 mmu_update(mmu_update_t *ureqs, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
 stack_switch(unsigned long ss, unsigned long esp)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582275.911932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMQN-0003A6-8d; Fri, 11 Aug 2023 07:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582275.911932; Fri, 11 Aug 2023 07:19:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMQN-00039z-4A; Fri, 11 Aug 2023 07:19:07 +0000
Received: by outflank-mailman (input) for mailman id 582275;
 Fri, 11 Aug 2023 07:19: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=DKPh=D4=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1qUMQL-00039t-L1
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:05 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 589d9e6d-3817-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 09:19:02 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by BN9PR12MB5275.namprd12.prod.outlook.com (2603:10b6:408:100::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.20; Fri, 11 Aug
 2023 07:18:59 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::c838:299:8697:dd70]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::c838:299:8697:dd70%5]) with mapi id 15.20.6678.019; Fri, 11 Aug 2023
 07:18: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: 589d9e6d-3817-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bKoVuY5xjgBEkcEz98reS+T0cRz5opLteF2+gkqYAHXTqW58pv/kwWjWAGsYi0MWUVLEdqT6M3MhqY+P68KjFJE9cr4LXTf0Wj32wV5LkOzaXk2VtNBlDomgu6wZ+f/bwSJ+KvzUIGJ6pfeE7ITycZYG6YTsa1ODQPv5QC7EoiUlnloN0vutcPzzfDrnpMap2VzTVGfwbIJyJhVjcu49loVaWPZa++zT2FrirSng8KoUp6x24Jw1JuTvAaLIYfhP786J7P+jYFT9wlPF9DZOHxx2nesHyUtwW4S8zj1xBEg6ap0EpFppGoNjw19pWUnBPKsoRyJ2LOoYVUFTpzbUPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6LQih2CHe0SY021lo2qYbsq9fAdP21DDwWynDZMOtY4=;
 b=FoIVQZZdqCDUXavnPvY4SQaEsOFbF/rEmr6vl1Eb/dvKDg85X8yA516zIAeMvJlGi5v+3To6irBA+EWD7ZMdj+Piv4lR+xGEKYNEyFP+DX+abcSYzUKVN/Gf83qhbO5w5w2Z7q1/bJXclzA34o64SXMzhlVY59reMeMKO90vk1gAukZ0sDq9mkcm5EP1oYXWjqkaDCfCaOXkXzbqyZY95yvIJ55Gpky2I6O+uSl+ken46GAOlt1qfysfOvLLf6YUHJjvbETDIJtd5xV2pyQW749+THk5k/ToHcdJoZSKcr6h97bsi5L4RQf+qXrCyFk14ALVKD0MlyI4iZ7hjCiyuA==
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=6LQih2CHe0SY021lo2qYbsq9fAdP21DDwWynDZMOtY4=;
 b=Z8ypf4lHxhPcupn6qpMpJr1bjJTAD3hh0H8Cm3a3dzDJUFK9+hTr5iaCtP8DAVWeigXy3nSw2DGvSNOPDnNBW7ltzrC+diUFEn5m9rOH0GlDlErjiUho2uW4cdbQSwg9yFZFX41io8Mfve77j1pb6Z+BSW0sXmM2qbNC+adAxmo=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
	=?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@gmail.com>, "Michael S
 . Tsirkin" <mst@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>, "Koenig, Christian"
	<Christian.Koenig@amd.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang, Julia"
	<Julia.Zhang@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [QEMU PATCH v4 0/1] S3 support
Thread-Topic: [QEMU PATCH v4 0/1] S3 support
Thread-Index: AQHZuwLsbW42un3+5UCTG4JhRKUU2a/lVBMA
Date: Fri, 11 Aug 2023 07:18:58 +0000
Message-ID:
 <BL1PR12MB5849DDF4A6734E5FEB4FB9B1E710A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20230720120816.8751-1-Jiqian.Chen@amd.com>
In-Reply-To: <20230720120816.8751-1-Jiqian.Chen@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.6678.019)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|BN9PR12MB5275:EE_
x-ms-office365-filtering-correlation-id: 81742234-6698-4259-5e2e-08db9a3b3ae8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 N9OeuV3Mf4KlK2+up39/ejMu0AkUVxQiKplm7kQS7b1njM+HHtrW5P2qYKIbCo4HCZGku7HpEI3Obx8DF0D5L3A03Tig8RMdMSSK6W2YcCrCXv/NUNu7E6Mag0TNIah7Mcs8beWBt8Sa/KQRpTzhewvHEOhcT/GYv2bc4KlNmEeRhohiYuu/RVFAht/j1KvVzGPgUaU1VFLjYT3g5nzOhqXz4PxArLcl4GrWv9ZjtVdM/DprV96Kvekb1OkckJmeZ0Jp22nr6RV43vU7NzEvQLXuYMLvY1xiCcw4it2PBr2KmDKF08Cz/+4mDuNvm8ojGs1DKbC47q9+TnWrKdYNL1t8+P0auxZYcukZ730HdP2acwZ/u37Nrn3Z95ItODvKa0BVM940TTODeUjqq8H0OvFYtyb3oUOG7uohfx5lemPJUZfB3R6w9SFxs22i7GXcrwmFmB+R+Q7SE+pQUJ6nzSQQj3Uc9g5/IprapnVw4oeAfq25ZCk4VJ3HtTw5NAiaKEpfY32mce8KwTEIXmLUyWLaE5NpX50VeudV1p+DRlliSlwhKaGTd2DROpy5sYH9Fbyi8gagJE8BRLY+kZWixEq0KrwDanLNSh5pd9DDDj/eX8lAfEbyq5uqMxKUC0NltfnFLdnTdsGJg9Q18a0Mng==
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:(13230028)(136003)(366004)(39860400002)(346002)(376002)(396003)(186006)(1800799006)(451199021)(9686003)(966005)(33656002)(55016003)(38070700005)(122000001)(38100700002)(6506007)(53546011)(26005)(83380400001)(478600001)(110136005)(54906003)(71200400001)(7696005)(4326008)(316002)(41300700001)(8936002)(8676002)(76116006)(2906002)(7416002)(52536014)(64756008)(66446008)(5660300002)(66476007)(66556008)(66946007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dTJic25qVTUzT01tNmE2VlY1UlRXTWl4VE9rbUhsaGE3Z1dNazAzVGZVdGFP?=
 =?utf-8?B?L01Fb1NiblU1VGJ5bmN3bkI3YmVBTG9VZWZobGlHeFdMMlk4Qk1MUEY3Ukky?=
 =?utf-8?B?QUlHU1YrSjBYMzVXaTNxMkdkajlwZHFoRU84L2pDVGRRcCtxSk1RdWlabkdG?=
 =?utf-8?B?OUR3S3hMOVB4Z2xNZUFVTFJGUks2djZxMUJaS1ZuZEV2U3lML2oyY2h1TnJl?=
 =?utf-8?B?dUVZVGtYTXQvTWRDaEcxVnhWQ1hRYlIrL0xzUTRFeW1kOWdSMThtZmpqYnJw?=
 =?utf-8?B?TlZ0QWhpWUlma2IyU1U1bGZsVXROQzlxQlJSL2hVSVl1eHlIZFpjcml2TzRZ?=
 =?utf-8?B?REZscEVqbkZ4YnVSdTRzWGVON3Bra0EvWmpKMVlPbkQxMGw5OFdlalJiSEU4?=
 =?utf-8?B?RTFCS3diRmNkdFJLUGNjMUhYT05xTTc2TnArMnRSeXhWSXpwMHpHS3lsbUdU?=
 =?utf-8?B?RVhSQTdJL3lDTzQwUlNSTVY2Z0pkaXJWRDFSbStyR1pwdHFyZWhVSXlBYzUv?=
 =?utf-8?B?R1hUbkl5QkN4b0JJMmdtMUhjZC9DcStVMWY4eXNjK202UW5NUWFNcGhpcTdH?=
 =?utf-8?B?UnptamJlSFh6dHl3U3FUenpSUFliMTI4N2xkRHpBeUliNE5YRktEd3JLcDR4?=
 =?utf-8?B?UDhuSFRSWEZyVCthU1NBOVFNKzB3SG1RcVRiaC85WDRLREl6Vkd6YWpPUnVP?=
 =?utf-8?B?THRPbXlObHpGcU1VeWpvVFhNS0g1MEF1L2Uyd2R2RDlkMzNnWkFhMFNSK1RG?=
 =?utf-8?B?dEdhZGo1RVJ6K2lhaGw5SmhWempNSkpWbHNaSHZ2WTJnVDJJN1NXbUZ1Y2Y2?=
 =?utf-8?B?T0tBVUg5T1JyQklXUXphZkZmbEtXVHgyY29JeDdjRjdpMkJtdzBDL2grcDlz?=
 =?utf-8?B?d1FhQVpOanB1T2pHKytEWW9vK0pOa1lPdzZFdnZ2dGd1MGxkU3gyQWliRGFG?=
 =?utf-8?B?VEc2WWN1dWljZXZvN2xmd0svcDdGVU1XK2xLNzlxVWFiZC9CeEdQVXkyRncx?=
 =?utf-8?B?WC9nYUNSQXp6K3RxUDZ0SUNPZlRReEVTeFVkTmFsM3Q0UElLMURiNVVBVFRo?=
 =?utf-8?B?Zmlud1RsalZqQkQySHdibkdtL0VPSG41WjQ3a1VuN1BPdGtZMVFTblZXVERp?=
 =?utf-8?B?WDU2anlOZzFRZ2l0R3V3NC81MG9PQlN1angvWUFwQUw0RG5zSkRPN2pmZUk0?=
 =?utf-8?B?OFFQN3BmcFVLaTd0YkhzU0UvTFJIcVFmNXpYaGZNeHhkeCtnelhLbDh2d08v?=
 =?utf-8?B?U2sxY2M3amZ4Q3IyRlFCU0pqNUVNMWpiSkY2cnZsVytSUE1nQmt0enFuTzRI?=
 =?utf-8?B?QVBWYjRjMjRWZlpNdXpRVHJRQ0E5dGJ2S0o3aHo3ZjRoaHUzZE9oK29tZDlp?=
 =?utf-8?B?UW9LZnFhTVNLWjU5UGRlb2o2TDRsSEJnVVF2TkRnelpHamhJeHIxQnVSZnVU?=
 =?utf-8?B?MnVpdm9KNWdOZHd1ek1mSlBmMDJYbGRmMFhyMlE5bW42ZmtIUXo3cTE5aklM?=
 =?utf-8?B?OHdYSnVEM2R0cWJ4SWdvSWlpeGVXdC9XMENhVndtMDB6SmFuWllHSHYrTU9p?=
 =?utf-8?B?dTBCVjNiR2NqR1VEQ1VmcW9ONzVLOUNBVFlFdU1YVVhHbndNTEJJTXZNa1Fi?=
 =?utf-8?B?NEx4Q0N1UGt3MXV3TTFWV0hTZHN0RHYrc2pzRzFqd0JKenFyQkIxZjJ5WWNY?=
 =?utf-8?B?MDlJYTNSQkZidTRSMXplaDZUL3IxUUk3eG8wNERtVDVEK1AwNk4yQ29USlBV?=
 =?utf-8?B?T0YwV2o1K2wwZHkvZXFaVHJPSm5kcjFrbFRLa0NXcEZyYWxkejVzK2J5bU0z?=
 =?utf-8?B?bzNyTHlXTHZIbUhrZ3JHa1dnVHBBTzV2dzcvaVRndm5BODd6Umw3WFRtODVn?=
 =?utf-8?B?VlFGcGZ6RGtXbmdiVThJdzZzZHMyOGxiZDZUeXBlQ29Hak1ucEhqTkYwa1Zy?=
 =?utf-8?B?VnBWOHA1TUtIc0dwUkU2WjFrckxnT3NJanU0ZWVOMDZ0ME9naUFJY2VyeThX?=
 =?utf-8?B?aVN2RkNoSUxKRU9jcVlBU09JWkJwK1BnNXpRRjZGcTBKOEFCQUlvMU5Mdk1y?=
 =?utf-8?B?K3l4TGlDZzVXWTFJN2ZsRHV0VlMyY0g0cHBwdHpyZGhCblV4dmRFd1ZYOExn?=
 =?utf-8?Q?+dqU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7AF8FD31EDE7924F81136788368059D2@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: 81742234-6698-4259-5e2e-08db9a3b3ae8
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2023 07:18:58.4880
 (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: eJDnZ36h02beMSJttSLOJtDR7kIEGOzJlXfr+h+LbCLdwegYJgO3PuI8irZiOYx0/SxQyI56eWLAJdPLqPfzjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5275

SGkgYWxsLA0KUGxlYXNlIGZvcmdpdmUgbWUgZm9yIGFza2luZy4gRG8geW91IGhhdmUgYW55IG90
aGVyIGNvbW1lbnRzIG9uIG15IGxhdGVzdCB2ZXJzaW9uIHBhdGNoZXMgYWJvdXQgdmlydGlvLWdw
dSBTMyBvbiBYZW4/IExvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHJlcGx5Lg0KDQoNCk9uIDIwMjMv
Ny8yMCAyMDowOCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+IHY0Og0KPiANCj4gSGkgYWxsLA0KPiBU
aGFua3MgZm9yIEdlcmQgSG9mZm1hbm4ncyBhZHZpY2UuIFY0IG1ha2VzIGJlbG93IGNoYW5nZXM6
DQo+ICogVXNlIGVudW0gZm9yIGZyZWV6ZSBtb2RlLCBzbyB0aGlzIGNhbiBiZSBleHRlbmRlZCB3
aXRoIG1vcmUNCj4gICBtb2RlcyBpbiB0aGUgZnV0dXJlLg0KPiAqIFJlbmFtZSBmdW5jdGlvbnMg
YW5kIHBhcmF0ZW1lcnMgd2l0aCAiX1MzIiBwb3N0Zml4Lg0KPiBBbmQgbm8gZnVuY3Rpb25hbCBj
aGFuZ2VzLg0KPiANCj4gbGF0ZXN0IHZlcnNpb24gb24ga2VybmVsIHNpZGU6DQo+IGh0dHBzOi8v
bG9yZS5rZXJuZWwub3JnL2xrbWwvMjAyMzA3MjAxMTU4MDUuODIwNi0xLUppcWlhbi5DaGVuQGFt
ZC5jb20vVC8jdA0KPiANCj4gQmVzdCByZWdhcmRzLA0KPiBKaXFpYW4gQ2hlbi4NCj4gDQo+IA0K
PiB2MzoNCj4gbGluaywNCj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDIz
MDcxOTA3NDcyNi4xNjEzMDg4LTEtSmlxaWFuLkNoZW5AYW1kLmNvbS9ULyN0DQo+IA0KPiBIaSBh
bGwsDQo+IFRoYW5rcyBmb3IgTWljaGFlbCBTLiBUc2lya2luJ3MgYWR2aWNlLiBWMyBtYWtlcyBi
ZWxvdyBjaGFuZ2VzOg0KPiAqIFJlbW92ZSBjaGFuZ2VzIGluIGZpbGUgaW5jbHVkZS9zdGFuZGFy
ZC1oZWFkZXJzL2xpbnV4L3ZpcnRpb19ncHUuaA0KPiAgIEkgYW0gbm90IHN1cHBvc2VkIHRvIGVk
aXQgdGhpcyBmaWxlIGFuZCBpdCB3aWxsIGJlIGltcG9ydGVkIGFmdGVyDQo+ICAgdGhlIHBhdGNo
ZXMgb2YgbGludXgga2VybmVsIHdhcyBtZXJnZWQuDQo+IA0KPiANCj4gdjI6DQo+IGxpbmssDQo+
IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyMzA2MzAwNzAwMTYuODQxNDU5
LTEtSmlxaWFuLkNoZW5AYW1kLmNvbS9ULyN0DQo+IA0KPiBIaSBhbGwsDQo+IFRoYW5rcyB0byBN
YXJjLUFuZHLDqSBMdXJlYXUsIFJvYmVydCBCZWNrZXR0IGFuZCBHZXJkIEhvZmZtYW5uIGZvcg0K
PiB0aGVpciBhZHZpY2UgYW5kIGd1aWRhbmNlLiBWMiBtYWtlcyBiZWxvdyBjaGFuZ2VzOg0KPiAN
Cj4gKiBDaGFuZ2UgVklSVElPX0NQVV9DTURfU1RBVFVTX0ZSRUVaSU5HIHRvIDB4MDQwMCAoPDB4
MTAwMCkNCj4gKiBBZGQgdmlydGlvX2dwdV9kZXZpY2VfdW5yZWFsaXplIHRvIGRlc3Ryb3kgcmVz
b3VyY2VzIHRvIHNvbHZlDQo+ICAgcG90ZW50aWFsIG1lbW9yeSBsZWFrIHByb2JsZW0uIFRoaXMg
YWxzbyBuZWVkcyBob3QtcGx1ZyBzdXBwb3J0Lg0KPiAqIEFkZCBhIG5ldyBmZWF0dXJlIGZsYWcg
VklSVElPX0dQVV9GX0ZSRUVaSU5HLCBzbyB0aGF0IGd1ZXN0IGFuZA0KPiAgIGhvc3QgY2FuIG5l
Z290aWF0ZSB3aGVuZXZlciBmcmVlemluZyBpcyBzdXBwb3J0ZWQgb3Igbm90Lg0KPiANCj4gdjE6
DQo+IGxpbmssDQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyMzA2MDgw
MjU2NTUuMTY3NDM1Ny0xLUppcWlhbi5DaGVuQGFtZC5jb20vDQo+IA0KPiBIaSBhbGwsDQo+IEkg
YW0gd29ya2luZyB0byBpbXBsZW1lbnQgdmlydGdwdSBTMyBmdW5jdGlvbiBvbiBYZW4uDQo+IA0K
PiBDdXJyZW50bHkgb24gWGVuLCBpZiB3ZSBzdGFydCBhIGd1ZXN0IHdobyBlbmFibGVzIHZpcnRn
cHUsIGFuZCB0aGVuDQo+IHJ1biAiZWNobyBtZW0gPiAvc3lzL3Bvd2VyL3N0YXRlIiB0byBzdXNw
ZW5kIGd1ZXN0LiBBbmQgcnVuDQo+ICJzdWRvIHhsIHRyaWdnZXIgPGd1ZXN0IGlkPiBzM3Jlc3Vt
ZSIgdG8gcmVzdW1lIGd1ZXN0LiBXZSBjYW4gZmluZCB0aGF0DQo+IHRoZSBndWVzdCBrZXJuZWwg
Y29tZXMgYmFjaywgYnV0IHRoZSBkaXNwbGF5IGRvZXNuJ3QuIEl0IGp1c3Qgc2hvd24gYQ0KPiBi
bGFjayBzY3JlZW4uDQo+IA0KPiBUaHJvdWdoIHJlYWRpbmcgY29kZXMsIEkgZm91bmRlZCB0aGF0
IHdoZW4gZ3Vlc3Qgd2FzIGR1cmluZyBzdXNwZW5kaW5nLA0KPiBpdCBjYWxsZWQgaW50byBRZW11
IHRvIGNhbGwgdmlydGlvX2dwdV9nbF9yZXNldC4gSW4gdmlydGlvX2dwdV9nbF9yZXNldCwNCj4g
aXQgZGVzdHJveWVkIGFsbCByZXNvdXJjZXMgYW5kIHJlc2V0IHJlbmRlcmVyLiBUaGlzIG1hZGUg
dGhlIGRpc3BsYXkNCj4gZ29uZSBhZnRlciBndWVzdCByZXN1bWVkLg0KPiANCj4gSSB0aGluayB3
ZSBzaG91bGQga2VlcCByZXNvdXJjZXMgb3IgcHJldmVudCB0aGV5IGJlaW5nIGRlc3Ryb3llZCB3
aGVuDQo+IGd1ZXN0IGlzIHN1c3BlbmRpbmcuIFNvLCBJIGFkZCBhIG5ldyBzdGF0dXMgbmFtZWQg
ZnJlZXppbmcgdG8gdmlydGdwdSwNCj4gYW5kIGFkZCBhIG5ldyBjdHJsIG1lc3NhZ2UgVklSVElP
X0dQVV9DTURfU1RBVFVTX0ZSRUVaSU5HIHRvIGdldA0KPiBub3RpZmljYXRpb24gZnJvbSBndWVz
dC4gSWYgZnJlZXppbmcgaXMgc2V0IHRvIHRydWUsIGFuZCB0aGVuIFFlbXUgd2lsbA0KPiByZWFs
aXplIHRoYXQgZ3Vlc3QgaXMgc3VzcGVuZGluZywgaXQgd2lsbCBub3QgZGVzdHJveSByZXNvdXJj
ZXMgYW5kIHdpbGwNCj4gbm90IHJlc2V0IHJlbmRlcmVyLiBJZiBmcmVlemluZyBpcyBzZXQgdG8g
ZmFsc2UsIFFlbXUgd2lsbCBkbyBpdHMgb3JpZ2luDQo+IGFjdGlvbnMsIGFuZCBoYXMgbm8gb3Ro
ZXIgaW1wYWN0aW9uLg0KPiANCj4gQW5kIG5vdywgZGlzcGxheSBjYW4gY29tZSBiYWNrIGFuZCBh
cHBsaWNhdGlvbnMgY2FuIGNvbnRpbnVlIHRoZWlyDQo+IHN0YXR1cyBhZnRlciBndWVzdCByZXN1
bWVzLg0KPiANCj4gSmlxaWFuIENoZW4gKDEpOg0KPiAgIHZpcnRncHU6IGRvIG5vdCBkZXN0cm95
IHJlc291cmNlcyB3aGVuIGd1ZXN0IHN1c3BlbmQNCj4gDQo+ICBody9kaXNwbGF5L3ZpcnRpby1n
cHUtYmFzZS5jICAgfCAgMyArKw0KPiAgaHcvZGlzcGxheS92aXJ0aW8tZ3B1LWdsLmMgICAgIHwg
MTAgKysrKysrLQ0KPiAgaHcvZGlzcGxheS92aXJ0aW8tZ3B1LXZpcmdsLmMgIHwgIDcgKysrKysN
Cj4gIGh3L2Rpc3BsYXkvdmlydGlvLWdwdS5jICAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrLS0NCj4gIGh3L3ZpcnRpby92aXJ0aW8uYyAgICAgICAgICAgICB8ICAz
ICsrDQo+ICBpbmNsdWRlL2h3L3ZpcnRpby92aXJ0aW8tZ3B1LmggfCAgNiArKysrDQo+ICA2IGZp
bGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KDQotLSAN
CkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582278.911942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMR9-0003fa-HE; Fri, 11 Aug 2023 07:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582278.911942; Fri, 11 Aug 2023 07:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMR9-0003fT-DU; Fri, 11 Aug 2023 07:19:55 +0000
Received: by outflank-mailman (input) for mailman id 582278;
 Fri, 11 Aug 2023 07:19:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMR7-0003ey-Gq
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7705ac4a-3817-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 09:19:52 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 100034EE073F;
 Fri, 11 Aug 2023 09:19: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: 7705ac4a-3817-11ee-b284-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 0/6] xen: fix missing headers and static storage duration
Date: Fri, 11 Aug 2023 09:19:25 +0200
Message-Id: <cover.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The files touched by this series contain function or variable definitions with
no prior declaration visible, because it's inside an header that is not included
or it's not present anywhere. This is a risk in itself, but also violates
MISRA C:2012 Rule 8.4, which states the following:
"A compatible declaration shall be visible when an object or function with
external linkage is defined".

The resolution strategies are as follows:

1. make the functions/variables static
2. include the header that contains the compatible declaration, or add one in
   the header if that's not the case.

No functional change.

Additional notes:
- This series is a continuation of the work done here [1], so the same additional
  notes apply.

[1] https://lore.kernel.org/xen-devel/cover.1691655814.git.nicola.vetrini@bugseng.com/T/#m28da1b5ef8d9a7683937bfc345765e3438b89977

Nicola Vetrini (6):
  x86/hpet: make variable 'per_cpu__cpu_bc_channel' static
  x86/setup: add missing headers
  x86/vm_event: add missing include
  cpufreq: add missing include of header 'pmstat.h'
  vpic/msix: make 'get_slot' static
  drivers/video: make declarations of defined functions available

 xen/arch/x86/hpet.c              |  2 +-
 xen/arch/x86/include/asm/setup.h |  6 ------
 xen/arch/x86/setup.c             |  4 +++-
 xen/arch/x86/vm_event.c          |  1 +
 xen/drivers/cpufreq/cpufreq.c    |  1 +
 xen/drivers/video/vga.c          |  9 +--------
 xen/drivers/vpci/msix.c          |  2 +-
 xen/include/xen/cpuidle.h        |  2 +-
 xen/include/xen/vga.h            | 14 ++++++++++++++
 9 files changed, 23 insertions(+), 18 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582279.911946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMR9-0003ic-Qj; Fri, 11 Aug 2023 07:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582279.911946; Fri, 11 Aug 2023 07:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMR9-0003hx-L7; Fri, 11 Aug 2023 07:19:55 +0000
Received: by outflank-mailman (input) for mailman id 582279;
 Fri, 11 Aug 2023 07:19:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMR7-0003ey-Ot
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77448417-3817-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 09:19:53 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 985C04EE0742;
 Fri, 11 Aug 2023 09:19: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: 77448417-3817-11ee-b284-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 1/6] x86/hpet: make variable 'per_cpu__cpu_bc_channel' static
Date: Fri, 11 Aug 2023 09:19:26 +0200
Message-Id: <5e13888db7b69cee21e5367ce8750fbdc1e22d5c.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable is only ever used inside the file where it's
defined, therefore it can have static storage. This also
resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
of a declaration prior to the definition.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
---
 xen/arch/x86/hpet.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index a2df1c7df401..79c07f6a9e09 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -49,7 +49,7 @@ static struct hpet_event_channel *__read_mostly hpet_events;
 /* msi hpet channels used for broadcast */
 static unsigned int __read_mostly num_hpets_used;
 
-DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
+static DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
 
 unsigned long __initdata hpet_address;
 int8_t __initdata opt_hpet_legacy_replacement = -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582280.911954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRA-0003mb-6J; Fri, 11 Aug 2023 07:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582280.911954; Fri, 11 Aug 2023 07: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 1qUMR9-0003lV-TG; Fri, 11 Aug 2023 07:19:55 +0000
Received: by outflank-mailman (input) for mailman id 582280;
 Fri, 11 Aug 2023 07:19:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMR8-0003ey-H9
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77998ba3-3817-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 09:19:53 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 2F49E4EE0741;
 Fri, 11 Aug 2023 09:19:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77998ba3-3817-11ee-b284-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 2/6] x86/setup: add missing headers
Date: Fri, 11 Aug 2023 09:19:27 +0200
Message-Id: <c4fbf7b2a763f1b8e700e2ed36628c047231cb46.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The missing headers declare variables 'xen_cpuidle' and 'use_invpcid'
that are then defined inside the file.
This is undesirable and also violates MISRA C:2012 Rule 8.4.
Adding suitable "#include"s resolves the issue.

The type of the variable 'xen_cpuidle' also changes according to
s/s8/int8_t/.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 3eab82196b02 ("x86: PIT broadcast to fix local APIC timer stop issue for Deep C state")
Fixes: 63dc135aeaf9 ("x86: invpcid support")
---
 xen/arch/x86/setup.c      | 4 +++-
 xen/include/xen/cpuidle.h | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 80ae973d64e4..2bfc1fd00f8c 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -47,10 +47,12 @@
 #include <asm/mach-generic/mach_apic.h> /* for generic_apic_probe */
 #include <asm/setup.h>
 #include <xen/cpu.h>
+#include <xen/cpuidle.h>
 #include <asm/nmi.h>
 #include <asm/alternative.h>
 #include <asm/mc146818rtc.h>
 #include <asm/cpu-policy.h>
+#include <asm/invpcid.h>
 #include <asm/spec_ctrl.h>
 #include <asm/guest.h>
 #include <asm/microcode.h>
@@ -88,7 +90,7 @@ boolean_param("noapic", skip_ioapic_setup);
 
 /* **** Linux config option: propagated to domain0. */
 /* xen_cpuidle: xen control cstate. */
-s8 __read_mostly xen_cpuidle = -1;
+int8_t __read_mostly xen_cpuidle = -1;
 boolean_param("cpuidle", xen_cpuidle);
 
 #ifndef NDEBUG
diff --git a/xen/include/xen/cpuidle.h b/xen/include/xen/cpuidle.h
index 521a8deb04c2..705d0c1135f0 100644
--- a/xen/include/xen/cpuidle.h
+++ b/xen/include/xen/cpuidle.h
@@ -86,7 +86,7 @@ struct cpuidle_governor
     void (*reflect)         (struct acpi_processor_power *dev);
 };
 
-extern s8 xen_cpuidle;
+extern int8_t xen_cpuidle;
 extern struct cpuidle_governor *cpuidle_current_governor;
 
 bool cpuidle_using_deep_cstate(void);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582282.911969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRB-0004JM-AI; Fri, 11 Aug 2023 07:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582282.911969; Fri, 11 Aug 2023 07: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 1qUMRB-0004Gy-4t; Fri, 11 Aug 2023 07:19:57 +0000
Received: by outflank-mailman (input) for mailman id 582282;
 Fri, 11 Aug 2023 07: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=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMRA-00039t-08
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77ea5903-3817-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 09:19:54 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id B9CCF4EE0744;
 Fri, 11 Aug 2023 09:19:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77ea5903-3817-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 3/6] x86/vm_event: add missing include
Date: Fri, 11 Aug 2023 09:19:28 +0200
Message-Id: <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The missing header included by this patch provides declarations for
the functions 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
that are defined in the source file. This also resolves violations
of MISRA C:2012 Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs and p2m_vm_event_fill_regs")
Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
Fixes: 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
---
 xen/arch/x86/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index 7027c08a926b..499b6b349d79 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -20,6 +20,7 @@
 
 #include <xen/sched.h>
 #include <xen/mem_access.h>
+#include <xen/vm_event.h>
 #include <asm/vm_event.h>
 
 /* Implicitly serialized by the domctl lock. */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582283.911977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRB-0004Rd-UK; Fri, 11 Aug 2023 07:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582283.911977; Fri, 11 Aug 2023 07: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 1qUMRB-0004Ot-JZ; Fri, 11 Aug 2023 07:19:57 +0000
Received: by outflank-mailman (input) for mailman id 582283;
 Fri, 11 Aug 2023 07:19: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=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMRA-0003ey-J0
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78e422eb-3817-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 09:19:56 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 5DBD54EE0745;
 Fri, 11 Aug 2023 09:19: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: 78e422eb-3817-11ee-b284-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 6/6] drivers/video: make declarations of defined functions available
Date: Fri, 11 Aug 2023 09:19:31 +0200
Message-Id: <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The declarations for 'vesa_{init,early_init,endboot}' needed by
'xen/drivers/video/vesa.c' and 'fill_console_start_info' in 'vga.c'
are now available by moving the relative code inside 'vga.h' and
including "<xen/console.h>" respectively.
This also resolves violations of MISRA C:2012 Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: ebb26b509f1a ("xen/x86: make VGA support selectable")
Fixes: 6d9199bd0f22 ("x86-64: enable hypervisor output on VESA frame buffer")
---
 xen/arch/x86/include/asm/setup.h |  6 ------
 xen/drivers/video/vga.c          |  9 +--------
 xen/include/xen/vga.h            | 14 ++++++++++++++
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index b0e6a39e2365..dfdd9e555149 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -25,12 +25,6 @@ void subarch_init_memory(void);
 
 void init_IRQ(void);
 
-#ifdef CONFIG_VIDEO
-void vesa_init(void);
-#else
-static inline void vesa_init(void) {};
-#endif
-
 int construct_dom0(
     struct domain *d,
     const module_t *image, unsigned long image_headroom,
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 0a03508bee60..b62a47e000e7 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -9,6 +9,7 @@
 #include <xen/mm.h>
 #include <xen/param.h>
 #include <xen/vga.h>
+#include <xen/console.h>
 #include <xen/pci.h>
 #include <asm/io.h>
 
@@ -54,14 +55,6 @@ string_param("vga", opt_vga);
 static unsigned int columns, lines;
 #define ATTRIBUTE   7
 
-#ifdef CONFIG_X86
-void vesa_early_init(void);
-void vesa_endboot(bool_t keep);
-#else
-#define vesa_early_init() ((void)0)
-#define vesa_endboot(x)   ((void)0)
-#endif
-
 void __init video_init(void)
 {
     char *p;
diff --git a/xen/include/xen/vga.h b/xen/include/xen/vga.h
index f72b63d446b1..ffd73c9db135 100644
--- a/xen/include/xen/vga.h
+++ b/xen/include/xen/vga.h
@@ -15,4 +15,18 @@
 extern struct xen_vga_console_info vga_console_info;
 #endif
 
+#ifdef CONFIG_X86
+void vesa_early_init(void);
+void vesa_endboot(bool_t keep);
+#else
+#define vesa_early_init() ((void)0)
+#define vesa_endboot(x)   ((void)0)
+#endif
+
+#ifdef CONFIG_VIDEO
+void vesa_init(void);
+#else
+static inline void vesa_init(void) {};
+#endif
+
 #endif /* _XEN_VGA_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:19:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:19:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582284.911984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRC-0004gG-Hx; Fri, 11 Aug 2023 07:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582284.911984; Fri, 11 Aug 2023 07:19: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 1qUMRC-0004cy-A5; Fri, 11 Aug 2023 07:19:58 +0000
Received: by outflank-mailman (input) for mailman id 582284;
 Fri, 11 Aug 2023 07:19:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMRB-00039t-0F
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7842eadc-3817-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 09:19:55 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 47C104EE0743;
 Fri, 11 Aug 2023 09:19: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: 7842eadc-3817-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 4/6] cpufreq: add missing include of header 'pmstat.h'
Date: Fri, 11 Aug 2023 09:19:29 +0200
Message-Id: <424e0523b9ec68eda5cf5b41a7bb6c980df2a52d.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The missing header included by this patch provides a declaration for
'set_px_pminfo' that is visible prior to the definition in this file.
This also resolves a violation of MISRA C:2012 Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: 452119c09420 ("x86 and ia64: move cpufreq notify code to commone place")
---
 xen/drivers/cpufreq/cpufreq.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 2321c7dd07b1..4482bbe53a1e 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -39,6 +39,7 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
+#include <xen/pmstat.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:20:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:20:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582285.911998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRD-00056H-Qt; Fri, 11 Aug 2023 07:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582285.911998; Fri, 11 Aug 2023 07:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRD-000541-K7; Fri, 11 Aug 2023 07:19:59 +0000
Received: by outflank-mailman (input) for mailman id 582285;
 Fri, 11 Aug 2023 07:19: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=9r9U=D4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUMRC-00039t-0I
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 07:19:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78aef6c2-3817-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 09:19:55 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D4EA64EE0746;
 Fri, 11 Aug 2023 09:19: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: 78aef6c2-3817-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH 5/6] vpic/msix: make 'get_slot' static
Date: Fri, 11 Aug 2023 09:19:30 +0200
Message-Id: <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function can become static since it's used only within this file.
This also resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
of a declaration before the function definition.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X table")
---
 xen/drivers/vpci/msix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 25bde77586a4..f9df506f29bf 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -223,7 +223,7 @@ static void __iomem *get_table(const struct vpci *vpci, unsigned int slot)
     return msix->table[slot];
 }
 
-unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
+static unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
 {
     unsigned long pfn = PFN_DOWN(addr);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 07:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 07:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582287.912012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUMRM-0006cq-8L; Fri, 11 Aug 2023 07:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582287.912012; Fri, 11 Aug 2023 07: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 1qUMRM-0006bv-2P; Fri, 11 Aug 2023 07:20:08 +0000
Received: by outflank-mailman (input) for mailman id 582287;
 Fri, 11 Aug 2023 07:20:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUMRK-0006JH-5W; Fri, 11 Aug 2023 07:20:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUMRJ-0003EI-UC; Fri, 11 Aug 2023 07:20:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUMRJ-0002I9-J1; Fri, 11 Aug 2023 07:20:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUMRJ-0006NG-IW; Fri, 11 Aug 2023 07:20:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LTw8ch5s5sfDZNsDaAfHP1nLsWnJV2VGIiKifVOZLEI=; b=viFd8uoTdArpVrbWTtZA1tVE3r
	7UQZJMl9ni2A0hO6OapQcABqeFPsjGthOmGReX5ETIW3UANmaa075LjdldtbwIjtR1jM0jA43BqEu
	9c+urKr6en1M7hI2Dp2VbhAi/twe17sElUsTKP94SV1HhkOJBuuaxKXNilT1tFpsRRBk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182260-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182260: 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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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: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: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-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=79c18114c7d71f0227abbbb75e24d114483765f7
X-Osstest-Versions-That:
    xen=56d690efd3ca3c68e1d222f259fb3d216206e8e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 07:20:05 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  79c18114c7d71f0227abbbb75e24d114483765f7
baseline version:
 xen                  56d690efd3ca3c68e1d222f259fb3d216206e8e5

Last test of basis   182241  2023-08-08 23:10:24 Z    2 days
Testing same since   182260  2023-08-10 11:12:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   56d690efd3..79c18114c7  79c18114c7d71f0227abbbb75e24d114483765f7 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 10:24:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 10:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582369.912104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUPJ7-000306-Q9; Fri, 11 Aug 2023 10:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582369.912104; Fri, 11 Aug 2023 10: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 1qUPJ7-0002zz-MV; Fri, 11 Aug 2023 10:23:49 +0000
Received: by outflank-mailman (input) for mailman id 582369;
 Fri, 11 Aug 2023 10:23:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUPJ5-0002zt-GJ
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 10:23:47 +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 24d4bc02-3831-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 12:23:41 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2b9f48b6796so27713271fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 03:23:41 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 k22-20020a2e2416000000b002b9e0aeff68sm800873ljk.95.2023.08.11.03.23.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 03: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: 24d4bc02-3831-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691749421; x=1692354221;
        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=7iuEY2UnDa0+QqdwZhx+2gFy5aRcIMESe8OuaPJrHSo=;
        b=IDMSI63tV65pDf3dtRgNNG8BM6Z5hwiYJTRQPRsCr88H8CIl684K64iMOkANC9NSkO
         kfRP0btMi5V0OGYsH0RB16fnVDArvs5DgEi34t4aDfsgtoJJPGM1wNhWexsByQmrJCww
         GnhdqZNFmZWiTkHwVwbqpiOH0XvnAv5LDjY0Dg3Cd8K0ZRtOgssemWffZVdsVwDTuCjF
         rsBB+ajWgW+dPfn6NTJIfJ0ACZUyBo+JhVQUGNIrtc/mNu9ipR4rTRrZO72ihljvs4eJ
         adrxDiOwiO+ioxn8WOxt4V/tg2yj/Xy7Fi/wTcAPjVMLga0lSQCQPw5zRbAj+5mlOWAf
         BLdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691749421; x=1692354221;
        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=7iuEY2UnDa0+QqdwZhx+2gFy5aRcIMESe8OuaPJrHSo=;
        b=JoPMWntqqBslwA6sQ0jVghv/JLU71mBVIdhz7H2VN/O0L4ZWjnStA1qzr0QpHwVx9Y
         AH8bI84oJ+Co9TAMTMQOQBOeQucWMML5TSD2fsHr9+8CVtApQDuaReS7VEZvxPYLn7Dr
         igbfA8oY1RoakiboM65on2KVCpZWaciV1HuiXcyDbFY4Log/9oQAHaZe0IdkVuWfJPAf
         n5Nosh39SjfLPXwkzwaTzLDTvEnRQxNYZeIrzny2t+PrDxeL77+Q6FMHTZXFeji9foUG
         bOpdmarJ0dBpwx/9Vp0L98w8fKeZVgKqUmoJ0v7wzGMEf65uVMMlq0ZawngXbvdGhEBR
         1eeg==
X-Gm-Message-State: AOJu0Yxs267J3QKuUY0sgWewhm0NlPZYu3zfF4w8PQ0C3J174TF9GG/D
	/rV+h2ETNcLxfwzbGcLgcYg=
X-Google-Smtp-Source: AGHT+IFzbb1poenr1s4QcsvohzII4Wq13Gd1Bxpl7pkcQ/JdxgurSBPlGmG0LiO8v+mmV1A/pqciwg==
X-Received: by 2002:a2e:b60a:0:b0:2b8:3a1e:eec9 with SMTP id r10-20020a2eb60a000000b002b83a1eeec9mr1189876ljn.36.1691749420957;
        Fri, 11 Aug 2023 03:23:40 -0700 (PDT)
Message-ID: <daa4d4f73e3fb67dd8ce51eff81f38167e8a5397.camel@gmail.com>
Subject: Re: [PATCH v7 2/6] xen/riscv: introduce dummy <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Fri, 11 Aug 2023 13:23:39 +0300
In-Reply-To: <b2d4db80-6719-1e8b-94ef-d839e4d6486e@suse.com>
References: <cover.1691063432.git.oleksii.kurochko@gmail.com>
	 <dfb1c50881a7bb21a1b32083f447e31995004f35.1691063432.git.oleksii.kurochko@gmail.com>
	 <b2d4db80-6719-1e8b-94ef-d839e4d6486e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-08-07 at 11:01 +0200, Jan Beulich wrote:
> On 03.08.2023 14:05, Oleksii Kurochko wrote:
> > <xen/lib.h> will be used in the patch "xen/riscv: introduce
> > decode_cause() stuff" and requires <asm/bug.h>
>=20
> While as it stands the description is accurate, I don't think that
> later
> patch has a need to include xen/lib.h anymore. xen/macros.h will do,
> I
> think.
It looks like xen/lib.h should be still included as the code in traps.c
uses printk().

>=20
> Also please don't write descriptions in terms of "patches" or more
> generally future "commits". Their titles may change, they may
> disappear
> altogether, etc. Finding such a description later will end up
> confusing.
>=20

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 10:32:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 10:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582375.912114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUPRJ-0004W0-IC; Fri, 11 Aug 2023 10:32:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582375.912114; Fri, 11 Aug 2023 10: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 1qUPRJ-0004Vt-FX; Fri, 11 Aug 2023 10:32:17 +0000
Received: by outflank-mailman (input) for mailman id 582375;
 Fri, 11 Aug 2023 10:32: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 1qUPRI-0004Vn-Nc
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 10:32: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 1qUPRH-00084u-Ie; Fri, 11 Aug 2023 10:32:15 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUPRH-0002MW-Bn; Fri, 11 Aug 2023 10:32:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ktTYnxaJliQmP6svwaLVJ0Ml4z0+NKivmbjfpX2UNjg=; b=wS0bj8eDd1I8kpL3ndrziL62KM
	fiQmnYd7K8Yy7bc979XbOiQlYTjA7IguhY9Rq/b1fXWhvOs7imx8xUBgY1B6pGru29WjXIQBrdBBk
	gKvNdaADgUCROotrzLY00gOwmbo63wKImfL+ThxcjWiCkNNPUGdvE76TAxLVbb1Q2Zcw=;
Message-ID: <63f1ba1f-05ec-4400-9804-43948989d550@xen.org>
Date: Fri, 11 Aug 2023 11:32:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for
 HVM domain
Content-Language: en-GB
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <CAKf6xpvLtOTH-WVz8B6df=WF5M=Cng8BBWTvOOJ3C1N8QbqWWA@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAKf6xpvLtOTH-WVz8B6df=WF5M=Cng8BBWTvOOJ3C1N8QbqWWA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jason,

On 10/08/2023 21:02, Jason Andryuk wrote:
> On Wed, Aug 9, 2023 at 6:34â€¯AM Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Currently, libxl will grant IOMEM, I/O port and IRQ permissions when
>> a PCI is attached (see pci_add_dm_done()) for all domain types. However,
>> the permissions are only revoked for non-HVM domain (see do_pci_remove()).
>>
>> This means that HVM domains will be left with extra permissions. While
>> this look bad on the paper, the IRQ permissions should be revoked
>> when the Device Model call xc_physdev_unmap_pirq() and such domain
>> cannot directly mapped I/O port and IOMEM regions. Instead, this has to
>> be done by a Device Model.
>>
>> The Device Model can only run in dom0 or PV stubdomain (upstream libxl
>> doesn't have support for HVM/PVH stubdomain).
>>
>> For PV/PVH stubdomain, the permission are properly revoked, so there is
>> no security concern.
>>
>> This leaves dom0. There are two cases:
>>    1) Privileged: Anyone gaining access to the Device Model would already
>>       have large control on the host.
>>    2) Deprivileged: PCI passthrough require PHYSDEV operations which
>>       are not accessible when the Device Model is restricted.
>>
>> So overall, it is believed that the extra permissions cannot be exploited.
>>
>> Rework the code so the permissions are all removed for HVM domains.
>> This needs to happen after the QEMU has detached the device. So
>> the revocation is now moved in a separate function which is called
>> from pci_remove_detached().
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks for the review!

> 
> With one suggestion below
> 
>> ---
>>
>> TODO: I am getting a bit confused with the async work in libxl. I am
>> not entirely sure whether pci_remove_detached() is the correct place
>> to revoke.
> 
> I think the location is fine.
> 
>> TODO: For HVM, we are now getting the following error on detach:
>> libxl: error: libxl_pci.c:2009:pci_revoke_permissions: Domain 3:xc_physdev_unmap_pirq irq=23: Invalid argument
>>
>> This is because the IRQ was unmapped by QEMU. It doesn't feel
>> right to skip the call. So maybe we can ignore the error?
> 
> Sounds reasonable.  Would be better if we could clearly differentiate
> between QEMU already unmapped and some other EINVAL error.

The only way I could think is to have a distinct errno in Xen to 
indicate the PIRQ is not mapped. CCing the x86 maintainers to check if 
they would be ok with that.

> 
>> ---
>>   tools/libs/light/libxl_pci.c | 142 ++++++++++++++++++++---------------
>>   1 file changed, 80 insertions(+), 62 deletions(-)
>>
>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
>> index 7f5f170e6eb0..f5a4b88eb2c0 100644
>> --- a/tools/libs/light/libxl_pci.c
>> +++ b/tools/libs/light/libxl_pci.c
>> @@ -1943,6 +1943,79 @@ static void pci_remove_stubdom_done(libxl__egc *egc,
>>   static void pci_remove_done(libxl__egc *egc,
>>       pci_remove_state *prs, int rc);
>>
>> +static void pci_revoke_permissions(libxl__egc *egc, pci_remove_state *prs)
>> +{
>> +    STATE_AO_GC(prs->aodev->ao);
>> +    libxl_ctx *ctx = libxl__gc_owner(gc);
>> +    const libxl_device_pci *pci = &prs->pci;
>> +    const char *sysfs_path;
>> +    uint32_t domid = prs->domid;
>> +    FILE *f;
>> +    unsigned int start = 0, end = 0, flags = 0, size = 0;
> 
> These variables ...
> 
>> +    int irq = 0;
>> +    int i, rc;
>> +
>> +    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource",
>> +                           pci->domain, pci->bus, pci->dev, pci->func);
>> +
>> +    f = fopen(sysfs_path, "r");
>> +    if (f == NULL) {
>> +        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
>> +        goto skip_bar;
>> +    }
>> +
>> +    for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
> 
> ... could move into the loop here.

You are right. I will respin the patch with this change and whatever we 
decide for the unmap error.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 11:05:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 11:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582382.912133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUPx8-00007V-8v; Fri, 11 Aug 2023 11:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582382.912133; Fri, 11 Aug 2023 11: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 1qUPx8-00007N-6K; Fri, 11 Aug 2023 11:05:10 +0000
Received: by outflank-mailman (input) for mailman id 582382;
 Fri, 11 Aug 2023 11:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fQ3J=D4=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qUPx6-0008Js-Hv
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 11:05:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed8acbc8-3836-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 13:05:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 554E921867;
 Fri, 11 Aug 2023 11:05:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 40B5313592;
 Fri, 11 Aug 2023 11:05:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kdy/D+EV1mQuRQAAMHmgww
 (envelope-from <jack@suse.cz>); Fri, 11 Aug 2023 11:05:05 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id B94BAA076F; Fri, 11 Aug 2023 13:05: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: ed8acbc8-3836-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1691751905; 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=5tRGa7YNpy5azfO2DILJGaxnHQqIrHRIuX4HPJpenrQ=;
	b=nS0o04Ko2eofWDhOvWx6o3T36EV25HqbUFvkN9WMKumyZo3DU5IiWgMskXfjyH4OXEiKYl
	IITYxvL5Q8pMKkFc8O6biwC3K3TxmcmnzVR3W1NQhsfgztirbY49kzZoor0HytOQKCBlyL
	GV3cB78+BIPaD5P0M4y2xB0Q495MkAo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1691751905;
	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=5tRGa7YNpy5azfO2DILJGaxnHQqIrHRIuX4HPJpenrQ=;
	b=PRu3LFGsOROMaty7jNH51X1wMClD6ZMlY5AdbxYnc0QwtMHxNWZ8s/wVfL1uImLDOQT/Rl
	cDHfO/YvLXNV1tAw==
From: Jan Kara <jack@suse.cz>
To: <linux-fsdevel@vger.kernel.org>
Cc: <linux-block@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jan Kara <jack@suse.cz>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>,
	Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>,
	David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com,
	drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>,
	Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-mm@kvack.org,
	linux-mtd@lists.infradead.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org,
	linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>,
	Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com,
	reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>,
	Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org,
	Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Date: Fri, 11 Aug 2023 13:04:31 +0200
Message-Id: <20230810171429.31759-1-jack@suse.cz>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=3218; i=jack@suse.cz; h=from:subject:message-id; bh=8um6o7br1koHMcykRc7ml18Y2BSCm69vwpPmgjRXxkk=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBk1hW86qklK68Z0G139b8b61UzO/oV2Y6qvJg1uvDC +JKlEZuJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCZNYVvAAKCRCcnaoHP2RA2epoB/ 9Sgdf//aomv8tBKGEg1kRzItWS+CXbN/cjy5B6uL3IUWhEY6vxFg7DsN+znMmPFPOp7X1w/e2PExiA dGNvKiX2BNUyl6ZLFstCZUiXyzlig8pnDHrmrN4lbx3SIS3BHdNJ8igPArMWVDYXlZuosexzFn3fIW ELsTpVpNLZdp6BAxZg4925E1qscyN11eFDJecvW+IrpMA1nHR12Y/AX4zqXWcBT8MPUEiJD1Cnfxfa Leji+h3vOG0k2IQAyfN6R1cj/0POs0zJWvSVK9bZM8IYFIOHr+jpYHi0KEVh62q6NLoQxbMBVEzn9K JsmkBplP7UobjvtEWvfH0EwVENii9z
X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C
Content-Transfer-Encoding: 8bit

Hello,

this is a v2 of the patch series which implements the idea of blkdev_get_by_*()
calls returning bdev_handle which is then passed to blkdev_put() [1]. This
makes the get and put calls for bdevs more obviously matching and allows us to
propagate context from get to put without having to modify all the users
(again!).  In particular I need to propagate used open flags to blkdev_put() to
be able count writeable opens and add support for blocking writes to mounted
block devices. I'll send that series separately.

The series is based on Christian's vfs tree as of yesterday as there is quite
some overlap. Patches have passed some reasonable testing - I've tested block
changes, md, dm, bcache, xfs, btrfs, ext4, swap. This obviously doesn't cover
everything so I'd like to ask respective maintainers to review / test their
changes. Thanks! I've pushed out the full branch to:

git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle

to ease review / testing.

Changes since v1:
* Rebased on top of current vfs tree
* Renamed final functions to bdev_open_by_*() and bdev_release()
* Fixed detection of exclusive open in blkdev_ioctl() and blkdev_fallocate()
* Fixed swap conversion to properly reinitialize swap_info->bdev_handle
* Fixed xfs conversion to not oops with rtdev without logdev
* Couple other minor fixups

								Honza

[1] https://lore.kernel.org/all/ZJGNsVDhZx0Xgs2H@infradead.org

CC: Alasdair Kergon <agk@redhat.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Anna Schumaker <anna@kernel.org>
CC: Chao Yu <chao@kernel.org>
CC: Christian Borntraeger <borntraeger@linux.ibm.com>
CC: Coly Li <colyli@suse.de
CC: "Darrick J. Wong" <djwong@kernel.org>
CC: Dave Kleikamp <shaggy@kernel.org>
CC: David Sterba <dsterba@suse.com>
CC: dm-devel@redhat.com
CC: drbd-dev@lists.linbit.com
CC: Gao Xiang <xiang@kernel.org>
CC: Jack Wang <jinpu.wang@ionos.com>
CC: Jaegeuk Kim <jaegeuk@kernel.org>
CC: jfs-discussion@lists.sourceforge.net
CC: Joern Engel <joern@lazybastard.org>
CC: Joseph Qi <joseph.qi@linux.alibaba.com>
CC: Kent Overstreet <kent.overstreet@gmail.com>
CC: linux-bcache@vger.kernel.org
CC: linux-btrfs@vger.kernel.org
CC: linux-erofs@lists.ozlabs.org
CC: <linux-ext4@vger.kernel.org>
CC: linux-f2fs-devel@lists.sourceforge.net
CC: linux-mm@kvack.org
CC: linux-mtd@lists.infradead.org
CC: linux-nfs@vger.kernel.org
CC: linux-nilfs@vger.kernel.org
CC: linux-nvme@lists.infradead.org
CC: linux-pm@vger.kernel.org
CC: linux-raid@vger.kernel.org
CC: linux-s390@vger.kernel.org
CC: linux-scsi@vger.kernel.org
CC: linux-xfs@vger.kernel.org
CC: "Md. Haris Iqbal" <haris.iqbal@ionos.com>
CC: Mike Snitzer <snitzer@kernel.org>
CC: Minchan Kim <minchan@kernel.org>
CC: ocfs2-devel@oss.oracle.com
CC: reiserfs-devel@vger.kernel.org
CC: Sergey Senozhatsky <senozhatsky@chromium.org>
CC: Song Liu <song@kernel.org>
CC: Sven Schnelle <svens@linux.ibm.com>
CC: target-devel@vger.kernel.org
CC: Ted Tso <tytso@mit.edu>
CC: Trond Myklebust <trond.myklebust@hammerspace.com>
CC: xen-devel@lists.xenproject.org

Previous versions:
Link: http://lore.kernel.org/r/20230629165206.383-1-jack@suse.cz # v1


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 11:05:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 11:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582381.912124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUPx7-0008KA-2O; Fri, 11 Aug 2023 11:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582381.912124; Fri, 11 Aug 2023 11: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 1qUPx6-0008K3-W0; Fri, 11 Aug 2023 11:05:08 +0000
Received: by outflank-mailman (input) for mailman id 582381;
 Fri, 11 Aug 2023 11:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fQ3J=D4=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qUPx5-0008Js-UF
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 11:05:08 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed8acbd5-3836-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 13:05:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BD1191F891;
 Fri, 11 Aug 2023 11:05:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B031C139FD;
 Fri, 11 Aug 2023 11:05:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id P7n/KuEV1mRGRQAAMHmgww
 (envelope-from <jack@suse.cz>); Fri, 11 Aug 2023 11:05:05 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id E0560A077F; Fri, 11 Aug 2023 13:05: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: ed8acbd5-3836-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1691751905; 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=o4+jKqQ1x0Ey1yIHBqwsn99vq9xGiNmltJzcj4Snsx4=;
	b=NymZwWCmDVPf+oAdkRp6Fd3W33uCeIVi+mDXP+gMel/Ag9XuCoE75HkGLq87VAtzoY82Pm
	NRBGYqUSqo7VuWbrTkTzLCA0urGSKJ/5ochKyN1G0WVh4j4TjzEhOXMakth4zvXTMyjtXs
	phXifH8SKsqXtabIeHdhAQ6M8qKgMH4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1691751905;
	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=o4+jKqQ1x0Ey1yIHBqwsn99vq9xGiNmltJzcj4Snsx4=;
	b=GsSZk6dIGu7xkC6a1rGWdt52tNx1adZtbaEtcaKG74D2xlinnFSyKWvF4DBqQnfyI5MBxR
	hwouiESDYmn+fWDw==
From: Jan Kara <jack@suse.cz>
To: <linux-fsdevel@vger.kernel.org>
Cc: <linux-block@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jan Kara <jack@suse.cz>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 07/29] xen/blkback: Convert to bdev_open_by_dev()
Date: Fri, 11 Aug 2023 13:04:38 +0200
Message-Id: <20230811110504.27514-7-jack@suse.cz>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230810171429.31759-1-jack@suse.cz>
References: <20230810171429.31759-1-jack@suse.cz>
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=6152; i=jack@suse.cz; h=from:subject; bh=BtKISSNjUPlIJ2mx01CaoHxKal+UUOpgJzDPeV+Tjng=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBk1hXJTAApujvhW+MJCl3UP6VxhTukhoQX0oarVPIN qZbOtKeJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCZNYVyQAKCRCcnaoHP2RA2YTBCA CGxviiVkdtcZrheoDeTPAHsM7pySrLUYJzmmOtb66fig1K8eNsZaga/HYJbzFzqEARVS6BHDnBMlS3 O6ZPWXyrpodgPwsFXMfYq75Qm4aYI/emJOyrnM3Eg5TRgBaYBgBwKimM3309HZVfpmKEXA+l2JqpnN N1GFvI9ldoBqGQfiATVauUfxihdiK0b7Ci5P6Q6B/FABpjHt+kD2mOftlwneWhBtpWzPbo77dCeIq6 U5qLYZLH8KswL1ZMes46IO8lZ6pC8GnmqswRKSRwsLfsX3pCaY5rhmakO5hIhf6L3AcqUD519hed5z L1KRtGnxJ+LiyTUMYbQ1H0ZIb4KQeO
X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C
Content-Transfer-Encoding: 8bit

Convert xen/blkback to use bdev_open_by_dev() and pass the
handle around.

CC: xen-devel@lists.xenproject.org
Signed-off-by: Jan Kara <jack@suse.cz>
---
 drivers/block/xen-blkback/blkback.c |  4 +--
 drivers/block/xen-blkback/common.h  |  4 +--
 drivers/block/xen-blkback/xenbus.c  | 40 +++++++++++++++--------------
 3 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index c362f4ad80ab..4defd7f387c7 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -465,7 +465,7 @@ static int xen_vbd_translate(struct phys_req *req, struct xen_blkif *blkif,
 	}
 
 	req->dev  = vbd->pdevice;
-	req->bdev = vbd->bdev;
+	req->bdev = vbd->bdev_handle->bdev;
 	rc = 0;
 
  out:
@@ -969,7 +969,7 @@ static int dispatch_discard_io(struct xen_blkif_ring *ring,
 	int err = 0;
 	int status = BLKIF_RSP_OKAY;
 	struct xen_blkif *blkif = ring->blkif;
-	struct block_device *bdev = blkif->vbd.bdev;
+	struct block_device *bdev = blkif->vbd.bdev_handle->bdev;
 	struct phys_req preq;
 
 	xen_blkif_get(blkif);
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 40f67bfc052d..5ff50e76cee5 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -221,7 +221,7 @@ struct xen_vbd {
 	unsigned char		type;
 	/* phys device that this vbd maps to. */
 	u32			pdevice;
-	struct block_device	*bdev;
+	struct bdev_handle	*bdev_handle;
 	/* Cached size parameter. */
 	sector_t		size;
 	unsigned int		flush_support:1;
@@ -360,7 +360,7 @@ struct pending_req {
 };
 
 
-#define vbd_sz(_v)	bdev_nr_sectors((_v)->bdev)
+#define vbd_sz(_v)	bdev_nr_sectors((_v)->bdev_handle->bdev)
 
 #define xen_blkif_get(_b) (atomic_inc(&(_b)->refcnt))
 #define xen_blkif_put(_b)				\
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index bb66178c432b..e34219ea2b05 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -81,7 +81,7 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 	int i;
 
 	/* Not ready to connect? */
-	if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev)
+	if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev_handle)
 		return;
 
 	/* Already connected? */
@@ -99,12 +99,13 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 		return;
 	}
 
-	err = sync_blockdev(blkif->vbd.bdev);
+	err = sync_blockdev(blkif->vbd.bdev_handle->bdev);
 	if (err) {
 		xenbus_dev_error(blkif->be->dev, err, "block flush");
 		return;
 	}
-	invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping);
+	invalidate_inode_pages2(
+			blkif->vbd.bdev_handle->bdev->bd_inode->i_mapping);
 
 	for (i = 0; i < blkif->nr_rings; i++) {
 		ring = &blkif->rings[i];
@@ -472,9 +473,9 @@ static void xenvbd_sysfs_delif(struct xenbus_device *dev)
 
 static void xen_vbd_free(struct xen_vbd *vbd)
 {
-	if (vbd->bdev)
-		blkdev_put(vbd->bdev, NULL);
-	vbd->bdev = NULL;
+	if (vbd->bdev_handle)
+		bdev_release(vbd->bdev_handle);
+	vbd->bdev_handle = NULL;
 }
 
 static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
@@ -482,7 +483,7 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 			  int cdrom)
 {
 	struct xen_vbd *vbd;
-	struct block_device *bdev;
+	struct bdev_handle *bdev_handle;
 
 	vbd = &blkif->vbd;
 	vbd->handle   = handle;
@@ -491,17 +492,17 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 
 	vbd->pdevice  = MKDEV(major, minor);
 
-	bdev = blkdev_get_by_dev(vbd->pdevice, vbd->readonly ?
+	bdev_handle = bdev_open_by_dev(vbd->pdevice, vbd->readonly ?
 				 BLK_OPEN_READ : BLK_OPEN_WRITE, NULL, NULL);
 
-	if (IS_ERR(bdev)) {
+	if (IS_ERR(bdev_handle)) {
 		pr_warn("xen_vbd_create: device %08x could not be opened\n",
 			vbd->pdevice);
 		return -ENOENT;
 	}
 
-	vbd->bdev = bdev;
-	if (vbd->bdev->bd_disk == NULL) {
+	vbd->bdev_handle = bdev_handle;
+	if (vbd->bdev_handle->bdev->bd_disk == NULL) {
 		pr_warn("xen_vbd_create: device %08x doesn't exist\n",
 			vbd->pdevice);
 		xen_vbd_free(vbd);
@@ -509,14 +510,14 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 	}
 	vbd->size = vbd_sz(vbd);
 
-	if (cdrom || disk_to_cdi(vbd->bdev->bd_disk))
+	if (cdrom || disk_to_cdi(vbd->bdev_handle->bdev->bd_disk))
 		vbd->type |= VDISK_CDROM;
-	if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
+	if (vbd->bdev_handle->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
 		vbd->type |= VDISK_REMOVABLE;
 
-	if (bdev_write_cache(bdev))
+	if (bdev_write_cache(bdev_handle->bdev))
 		vbd->flush_support = true;
-	if (bdev_max_secure_erase_sectors(bdev))
+	if (bdev_max_secure_erase_sectors(bdev_handle->bdev))
 		vbd->discard_secure = true;
 
 	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
@@ -569,7 +570,7 @@ static void xen_blkbk_discard(struct xenbus_transaction xbt, struct backend_info
 	struct xen_blkif *blkif = be->blkif;
 	int err;
 	int state = 0;
-	struct block_device *bdev = be->blkif->vbd.bdev;
+	struct block_device *bdev = be->blkif->vbd.bdev_handle->bdev;
 
 	if (!xenbus_read_unsigned(dev->nodename, "discard-enable", 1))
 		return;
@@ -930,15 +931,16 @@ static void connect(struct backend_info *be)
 		goto abort;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "sector-size", "%lu",
-			    (unsigned long)
-			    bdev_logical_block_size(be->blkif->vbd.bdev));
+			    (unsigned long)bdev_logical_block_size(
+					be->blkif->vbd.bdev_handle->bdev));
 	if (err) {
 		xenbus_dev_fatal(dev, err, "writing %s/sector-size",
 				 dev->nodename);
 		goto abort;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "physical-sector-size", "%u",
-			    bdev_physical_block_size(be->blkif->vbd.bdev));
+			    bdev_physical_block_size(
+					be->blkif->vbd.bdev_handle->bdev));
 	if (err)
 		xenbus_dev_error(dev, err, "writing %s/physical-sector-size",
 				 dev->nodename);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 11:54:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 11:54:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582394.912144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUQiU-0005wD-Qp; Fri, 11 Aug 2023 11:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582394.912144; Fri, 11 Aug 2023 11:54:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUQiU-0005w6-Mk; Fri, 11 Aug 2023 11:54:06 +0000
Received: by outflank-mailman (input) for mailman id 582394;
 Fri, 11 Aug 2023 11:54: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 1qUQiS-0005vw-W2; Fri, 11 Aug 2023 11:54: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 1qUQiS-0001Wv-OO; Fri, 11 Aug 2023 11:54: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 1qUQiS-0007eG-Cy; Fri, 11 Aug 2023 11:54:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUQiS-0002yv-CQ; Fri, 11 Aug 2023 11:54: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=Ic68M7yjbs/1Z+smCsSzmQkwWNW+zZ4uXWIbDcSc3x4=; b=hC7BSnue2bC0ISFe+hVyHnfn2P
	+HylgtVyxn2doqoGFz+Ma3mBWDsU6ujXsxhcKC1WsEwyy+5cp5gpAikOxqOcxwuur+kQ8rW7/QuKv
	ZV8JBucJq3hQ6L7MzRkEMBVf1lpUhRglyZE28Yxk7S2XRJgEpF2tylyi4IPTUktrl/bo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182273-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182273: 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=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
X-Osstest-Versions-That:
    xen=c6bda36af0b992d5d2042efd6cc36592fb037a1d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 11:54:04 +0000

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

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                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
baseline version:
 xen                  c6bda36af0b992d5d2042efd6cc36592fb037a1d

Last test of basis   182268  2023-08-11 03:00:28 Z    0 days
Testing same since   182273  2023-08-11 09:02:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.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
   c6bda36af0..a9a3b432a8  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 12:28:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 12:28:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582405.912160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qURFY-00018F-DZ; Fri, 11 Aug 2023 12:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582405.912160; Fri, 11 Aug 2023 12:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qURFY-000188-9j; Fri, 11 Aug 2023 12:28:16 +0000
Received: by outflank-mailman (input) for mailman id 582405;
 Fri, 11 Aug 2023 12:28:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yrYi=D4=bombadil.srs.infradead.org=BATV+10530082ca17b6f7899b+7292+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1qURFU-000182-2V
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 12:28:15 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87ccd938-3842-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 14:28:10 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1qUREm-00Abyw-17; Fri, 11 Aug 2023 12:27: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: 87ccd938-3842-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=96Jyxa0hgrG24aZgu2ilDmsPaDJbIFT8CvAcqFGq7ak=; b=Lt8QMt/qiwPklQXJKNxAAayl50
	ejm5z3TauQQgWXDYeiy6ev7CoxuktCUjLml+tQTXB0FrmwYo9bGjhm2G8bwiVtr2qWkYfM3c8FNl1
	cPDaz7ayPa6vktH3ev1ZeHUse0hr9sV3dSKzn62142iTuA8TTM4tDaiYAHOFhJAm7nP3aQxRbODoe
	cl8s2GHmVFeXScu6jrXcZHGDTmN2udO8XZ0pPwfpsd5QoOiRLOiFHXD6KYR9f2MEyvA/KeT9RzHmF
	DIvDgADu/AxqynsuMYC3hcwdLyXOsBeZQBLnrFNVOoRqDCMnS+8kcWICKZ1ml8I/4TT3bYAOcmKWy
	N15IsxAA==;
Date: Fri, 11 Aug 2023 05:27:28 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <ZNYpMPM5o4q1xcIt@infradead.org>
References: <20230810171429.31759-1-jack@suse.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230810171429.31759-1-jack@suse.cz>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Except for a mostly cosmetic nitpick this looks good to me:

Acked-by: Christoph Hellwig <hch@lst.de>

That's not eactly the deep review I'd like to do, but as I'm about to
head out for vacation that's probably as good as it gets.


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 12:57:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 12:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582411.912170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qURhA-0004Yv-IX; Fri, 11 Aug 2023 12:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582411.912170; Fri, 11 Aug 2023 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 1qURhA-0004Yo-Fx; Fri, 11 Aug 2023 12:56:48 +0000
Received: by outflank-mailman (input) for mailman id 582411;
 Fri, 11 Aug 2023 12:56:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qURh8-0004Yi-T5
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 12:56:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qURh8-0002sY-Gi; Fri, 11 Aug 2023 12:56:46 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qURh8-0007rc-8t; Fri, 11 Aug 2023 12:56:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=VmQAQAWH4nWRtdIo8DizpFUyoelXvU2eEqiSTFWHJYM=; b=RcWBvXDQuJ7TnFR/gimuJEqNXy
	d9aF/i8cgoWaUD4fuJwAFtfrFqBSOxjtsT/nddAvRr0Hiz1Ws9UCt2+O0ptphKIzu90XJZD+QSD1Z
	YjgV685AJ4xm9oc4TkN5jko2v0eODLyy3+7+bTbLNVUCl9I93khaejJULTFmffpLMCGk=;
Message-ID: <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
Date: Fri, 11 Aug 2023 13:56:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, rahul.singh@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-3-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230808080010.3858575-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 08/08/2023 09:00, Luca Fancellu wrote:
> Add asm/domain.h that is defining the type 'enum domain_type', it
> is needed on arm64 build where this type is used for a member of
> the structure kernel_info.

I read "needed" as in it Xen build is broken. But AFAIK, this is more a 
latent issue if someone else want to include the header. Is that correct?

If so, how about:

The 'enum domain_type' is defined by 'asm/domain.h' which is not 
included (directly or indirectly) by 'asm/kernel.h'.

This currently doesn't break the compilation because asm/domain.h will 
included by the user of 'kernel.h'. But it would be better to avoid 
relying on it. So add the include in 'asm/domain.h'.

> Fixes: 66e994a5e74f ("xen: arm64: add guest type to domain field.")

While we aim to have header self-contained, this has never been a 
guarantee in Xen. So I would argue this is not a fix in the sense it 
someone would want to ingest it in there tree.

Cheers,

> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/kernel.h | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 4617cdc83bac..0a23e86c2d37 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -7,6 +7,7 @@
>   #define __ARCH_ARM_KERNEL_H__
>   
>   #include <xen/device_tree.h>
> +#include <asm/domain.h>
>   #include <asm/setup.h>
>   
>   /*

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:03:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582417.912180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qURnx-000662-AG; Fri, 11 Aug 2023 13:03:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582417.912180; Fri, 11 Aug 2023 13:03: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 1qURnx-00065v-6l; Fri, 11 Aug 2023 13:03:49 +0000
Received: by outflank-mailman (input) for mailman id 582417;
 Fri, 11 Aug 2023 13:03:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qURnw-00065l-Ls; Fri, 11 Aug 2023 13:03:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qURnw-000329-Dm; Fri, 11 Aug 2023 13:03:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qURnv-0001tp-UZ; Fri, 11 Aug 2023 13:03:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qURnv-0006HD-U9; Fri, 11 Aug 2023 13:03:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KmwnWzKr/Lf+f4sdO6At9MuZtvjbCE1mXLJlQJthVMY=; b=0B0mYqKbZsUge4keO/gJKdI2jx
	vdc/Dr2ulSHVT5Cah/aaN7UxwvqlCiQJVjUn/H40QdrViBp9zQcHkkIt5OflM2RM367TKxUXg6lHm
	XxiFSyg6FOa/dgChq+m0l55RXdzF/Ua0g3Zqacf296TM9WRd13aklKuUaL3FbtaKbVlQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182263-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182263: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=64d3be986f9e2379bc688bf1d0aca0557e0035ca
X-Osstest-Versions-That:
    qemuu=32e07fddc6d989dc5fdff4f9c9e47cb1f3911904
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 13:03:47 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                64d3be986f9e2379bc688bf1d0aca0557e0035ca
baseline version:
 qemuu                32e07fddc6d989dc5fdff4f9c9e47cb1f3911904

Last test of basis   182242  2023-08-09 00:10:47 Z    2 days
Testing same since   182263  2023-08-10 16:32:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ankit Kumar <ankit.kumar@samsung.com>
  Helge Deller <deller@gmx.de>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Klaus Jensen <k.jensen@samsung.com>
  Richard Henderson <richard.henderson@linaro.org>
  Stafford Horne <shorne@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   32e07fddc6..64d3be986f  64d3be986f9e2379bc688bf1d0aca0557e0035ca -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:41:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:41:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582426.912192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSO8-00023h-4M; Fri, 11 Aug 2023 13:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582426.912192; Fri, 11 Aug 2023 13:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSO8-00023a-1g; Fri, 11 Aug 2023 13:41:12 +0000
Received: by outflank-mailman (input) for mailman id 582426;
 Fri, 11 Aug 2023 13:41: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=Wg3T=D4=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qUSO7-00023U-4w
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 13:41:11 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5be010a-384c-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 15:41:01 +0200 (CEST)
Received: from DUZPR01CA0317.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4ba::27) by AM9PR08MB6178.eurprd08.prod.outlook.com
 (2603:10a6:20b:2db::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.19; Fri, 11 Aug
 2023 13:40:53 +0000
Received: from DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4ba:cafe::2c) by DUZPR01CA0317.outlook.office365.com
 (2603:10a6:10:4ba::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend
 Transport; Fri, 11 Aug 2023 13:40:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT015.mail.protection.outlook.com (100.127.142.112) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.19 via Frontend Transport; Fri, 11 Aug 2023 13:40:52 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
 Fri, 11 Aug 2023 13:40:52 +0000
Received: from 39db14bd1755.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 14EEAE9E-1CA2-495B-904A-EEE56D2FEB9F.1; 
 Fri, 11 Aug 2023 13:40:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 39db14bd1755.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 11 Aug 2023 13:40:41 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB9PR08MB9755.eurprd08.prod.outlook.com (2603:10a6:10:460::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug
 2023 13:40:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Fri, 11 Aug 2023
 13:40: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: b5be010a-384c-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KQfkcMShEh69JqDG4f+QFUhttAHBQxbmuASOiHoiTqY=;
 b=aBJHnaKgI/Yahpu4tQ6K+Cxjen4fEpFDkVqh7F/J5aDohepbNlw3b/0oRY6AVst3XmQrzjsxdt+dky34HFLQ0hFJ5ajfd3puN5j5sU49HgfzlkYsgEUsoTVsy8Jd3TgwfRR9bVIZmQBT7ntT5vWWwBO32n5HBtTG7aA9Ehpzo8c=
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: 3afc0bbbbf87df7a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fzMvbIlWFKobRRwNlTG7iDmURJ1lrxNm9RwVnO8CMliITZuwHrGesU1jsR0LxVgMsX2QgdtaWtNfYcqptOnHxZSFCxFOCW0eFvxq1eTWYRaNAZmMcOBNTXjbRagr/zn7r7nNZrOQu1QXlwabs92q33vgLcfrYqU+6o1FyUU2A9AT/nC4CU1J0Gig/Cp8eHqO3cdqY+ilek+qol2uYWOlqJpbn4DHpZ9PepkLIJUuZV2jXAzWu8K+GmAyc8Qu8FgwlvmIXwUuvdEHl4j2EHo0tsw6LNjJZTOy2mpDSBzjc2YNY1gfCJ6ay8XQiG9oSu5f8DwkHfkVSgwr6Zw5A3hBuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KQfkcMShEh69JqDG4f+QFUhttAHBQxbmuASOiHoiTqY=;
 b=Fp0hbRSx8LORZgVCgBw5AFFwwmt5Fk041JiskCkSTWAVqizPlyGLKcFsCgRkZJwuwSCeESJmdqd8krvN1kbIlDDTwYk+q8b+QDGltakGdSQcM93Rt4L0VxsZkvQc3Xq4qHMw26L5/0EL63ExmcZwoPbOKz7xr4+O12e/nH3oZFjwdHY5ZunZ1CrPsE1gulz8WqQoD70h8oXUs7Iw8R0inYL3D3MftZPb0efGzv5mWY4D6gzCFYer3vonH1Ni+G2z2CRuKNXxBgJolCL8D9XErZynHYmkuec8yvOjr6Qm+1XQcvEGMK121PG9tmrr8dKLFu/5toZLES/ZYIqYYl7WCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=KQfkcMShEh69JqDG4f+QFUhttAHBQxbmuASOiHoiTqY=;
 b=aBJHnaKgI/Yahpu4tQ6K+Cxjen4fEpFDkVqh7F/J5aDohepbNlw3b/0oRY6AVst3XmQrzjsxdt+dky34HFLQ0hFJ5ajfd3puN5j5sU49HgfzlkYsgEUsoTVsy8Jd3TgwfRR9bVIZmQBT7ntT5vWWwBO32n5HBtTG7aA9Ehpzo8c=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Thread-Topic: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Thread-Index: AQHZyc51AtDCvMz7Yk+h8v6wea9TNK/lEvIAgAAMOAA=
Date: Fri, 11 Aug 2023 13:40:39 +0000
Message-ID: <3C46ADAD-477D-46BB-BCCB-81C3198517E5@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-3-luca.fancellu@arm.com>
 <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
In-Reply-To: <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB9PR08MB9755:EE_|DBAEUR03FT015:EE_|AM9PR08MB6178:EE_
X-MS-Office365-Filtering-Correlation-Id: 6da6726b-ab14-4233-7b87-08db9a7094ff
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:
 DhWzsPFQhEcvlm2sRbB6oOerGVSvxOFY4tr/z5aMI6cSQRzZSdeBLDpJUXKFs1u/6PVkPeQSroKIiuTSZuTMk39HW2emvhadZUJ0LCl7o8CrnyyOQBJ1pRXsxjXKqOztsTXf+PbbHDSjwvqn+gKthZWYISrvA4tNcr8b+dXlqgoVG50DIbJj9CcUFIzGlVR5oHdRHWeJWziEd5qZo2Gp89Sk29xVDt06IUWfxpvk4ucNOhapKWb9bGg03astCAIPZb3lq75NmntiHAIdzLU/M+6BEVYsiAPWV+JJlyjza5vNaZIL9gQS+9WbW10UHCNMWHk06/XkoCRSf7uWiJllwPlY7tJOlZHktA8ElOvY+YHKHS13NF7zlSk19FIt3ijvqLh5Dxc7V/FU4+PwIb9VdgMJPNihJLXAkL3UWWHKp17aDv6rHmcprMVq3QY22frOtJOQ3FFc9CgwlkaGSRSGr3RlU8fbvn4tclHZ3bz2EjfgStAEyMABMcA7S8yBDVtXeollO4XBPxBdeJMkGqFYwTlLx2k33IwLAozg8arhhEV3ArATS1z3h9zrAbfeSFY8ssOokmrMBU8urkv0g/eePkhVK+4EdAbSZmZ1Jugeg77076wb23I8d1r4kZWvZzcyETaA/zgWzBgS+k8nTAiIJQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(136003)(376002)(366004)(39860400002)(451199021)(1800799006)(186006)(316002)(6512007)(478600001)(2616005)(38070700005)(5660300002)(6486002)(76116006)(64756008)(66556008)(66946007)(66446008)(66476007)(86362001)(8936002)(33656002)(41300700001)(8676002)(6916009)(71200400001)(91956017)(4326008)(122000001)(36756003)(2906002)(53546011)(6506007)(26005)(54906003)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B3E1A05098506A42853EB5D291BF9A4E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9755
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	df77153c-9988-4d95-dc50-08db9a708d11
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uoiSakOLJu4PYbbnPQV9yvrdAKVyPsofAYU69EsKsHiVyZy4wgGVXGJ2B9XDa3vTeigvzM0EGpRufG8mfUjYM/wA1srzG2JoqESuDph48ZT+Z/zpWYGBl8htjhlQ4Zr5egSOkWyuv503crDsme5nFVJ49tWyUT02h5Ns+KSzD0jORb03JdbRlpyFYhXR9FWYmreXCUazJUQBio1znNQ2R+14ilgJYnfuKny3dE3GBdLWzPJW55bAGN64C72axS/JUVk3WjtXdd+KESoLaOIN89d4YyMUZS+dV/NefOEXzd6Ju6kjKxLehep9hSqfl/M0kt7q3r7X2q0M8SoLjC3ojiBBddNZZZK3ej9029luoADIUEW4CNoe6eNwGk9LgN45pyOFsr6VmlLY1Znt1WLlBDzzo7QswJMXo7C0y9ZtIKWlmaef7eCL4t2XZkzWE06Xymcrkt1u4hRKPu63ZlfLj2LtH4ZesL7b2Gacy7KP2FuEG9/QosxjOhBcT8p77sjtaBIYgyveHrmDIB9cVB8G2zNC4zbOGT6+2CUJLmpJeuXr7MfJsZayDCIrSacq+Uun2Rg+q4UOOuCZcd+F7eZ/Lt5sVfmb3V3FGr+h6xUfGgy3IJn1o4SWImSvKtuW1Wkm1y6OzPVdu4LcCF4AM1zLgtTROzDZ/5mICYRH1JTrAclxQK+YwqMzJ3dqaPYXsDZK1fH7oHroMXnMk+diTZZJJk9EsuKDgMj1WUV9T+VXq8UlHGHP7gRbi3kju1MuomcC
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(346002)(396003)(136003)(82310400008)(1800799006)(186006)(451199021)(40470700004)(36840700001)(46966006)(356005)(53546011)(81166007)(82740400003)(336012)(6512007)(6506007)(107886003)(26005)(36860700001)(47076005)(2616005)(41300700001)(40460700003)(36756003)(2906002)(478600001)(54906003)(8676002)(86362001)(5660300002)(33656002)(8936002)(6486002)(6862004)(4326008)(70206006)(40480700001)(316002)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 13:40:52.9686
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6da6726b-ab14-4233-7b87-08db9a7094ff
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6178

DQoNCj4gT24gMTEgQXVnIDIwMjMsIGF0IDEzOjU2LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBPbiAwOC8wOC8yMDIzIDA5OjAwLCBM
dWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gQWRkIGFzbS9kb21haW4uaCB0aGF0IGlzIGRlZmluaW5n
IHRoZSB0eXBlICdlbnVtIGRvbWFpbl90eXBlJywgaXQNCj4+IGlzIG5lZWRlZCBvbiBhcm02NCBi
dWlsZCB3aGVyZSB0aGlzIHR5cGUgaXMgdXNlZCBmb3IgYSBtZW1iZXIgb2YNCj4+IHRoZSBzdHJ1
Y3R1cmUga2VybmVsX2luZm8uDQo+IA0KPiBJIHJlYWQgIm5lZWRlZCIgYXMgaW4gaXQgWGVuIGJ1
aWxkIGlzIGJyb2tlbi4gQnV0IEFGQUlLLCB0aGlzIGlzIG1vcmUgYSBsYXRlbnQgaXNzdWUgaWYg
c29tZW9uZSBlbHNlIHdhbnQgdG8gaW5jbHVkZSB0aGUgaGVhZGVyLiBJcyB0aGF0IGNvcnJlY3Q/
DQoNClllcyBjb3JyZWN0DQoNCj4gDQo+IElmIHNvLCBob3cgYWJvdXQ6DQo+IA0KPiBUaGUgJ2Vu
dW0gZG9tYWluX3R5cGUnIGlzIGRlZmluZWQgYnkgJ2FzbS9kb21haW4uaCcgd2hpY2ggaXMgbm90
IGluY2x1ZGVkIChkaXJlY3RseSBvciBpbmRpcmVjdGx5KSBieSAnYXNtL2tlcm5lbC5oJy4NCj4g
DQo+IFRoaXMgY3VycmVudGx5IGRvZXNuJ3QgYnJlYWsgdGhlIGNvbXBpbGF0aW9uIGJlY2F1c2Ug
YXNtL2RvbWFpbi5oIHdpbGwgaW5jbHVkZWQgYnkgdGhlIHVzZXIgb2YgJ2tlcm5lbC5oJy4gQnV0
IGl0IHdvdWxkIGJlIGJldHRlciB0byBhdm9pZCByZWx5aW5nIG9uIGl0LiBTbyBhZGQgdGhlIGlu
Y2x1ZGUgaW4gJ2FzbS9kb21haW4uaCcuDQoNClllYWggbXVjaCBiZXR0ZXIsIHNob3VsZCBJIHB1
c2ggYSB2Mj8NCg0KPiANCj4+IEZpeGVzOiA2NmU5OTRhNWU3NGYgKCJ4ZW46IGFybTY0OiBhZGQg
Z3Vlc3QgdHlwZSB0byBkb21haW4gZmllbGQuIikNCj4gDQo+IFdoaWxlIHdlIGFpbSB0byBoYXZl
IGhlYWRlciBzZWxmLWNvbnRhaW5lZCwgdGhpcyBoYXMgbmV2ZXIgYmVlbiBhIGd1YXJhbnRlZSBp
biBYZW4uIFNvIEkgd291bGQgYXJndWUgdGhpcyBpcyBub3QgYSBmaXggaW4gdGhlIHNlbnNlIGl0
IHNvbWVvbmUgd291bGQgd2FudCB0byBpbmdlc3QgaXQgaW4gdGhlcmUgdHJlZS4NCg0KT2sgSSBz
ZWUsIEkgdGhvdWdodCBpdCBjb3VsZCBiZSBsaW5rZWQgdG8gdGhlIGlzc3VlIGFib3V0IHNvcnRp
bmcgaGVhZGVycyB0aGF0IGxlZCB0byBidWlsZCBicmVha2FnZSwgYnV0IEnigJl2ZQ0Kbm90IGlu
dmVzdGlnYXRlZCBmdXJ0aGVyIHNvIEkgd291bGQgYmUgb2sgdG8gZHJvcCB0aGUgRml4ZXM6DQoN
Cj4gDQo+IENoZWVycywNCj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNh
LmZhbmNlbGx1QGFybS5jb20+DQo+PiAtLS0NCj4+ICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
a2VybmVsLmggfCAxICsNCj4+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykNCj4+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20va2VybmVsLmggYi94ZW4vYXJjaC9h
cm0vaW5jbHVkZS9hc20va2VybmVsLmgNCj4+IGluZGV4IDQ2MTdjZGM4M2JhYy4uMGEyM2U4NmMy
ZDM3IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2tlcm5lbC5oDQo+
PiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20va2VybmVsLmgNCj4+IEBAIC03LDYgKzcs
NyBAQA0KPj4gICNkZWZpbmUgX19BUkNIX0FSTV9LRVJORUxfSF9fDQo+PiAgICAjaW5jbHVkZSA8
eGVuL2RldmljZV90cmVlLmg+DQo+PiArI2luY2x1ZGUgPGFzbS9kb21haW4uaD4NCj4+ICAjaW5j
bHVkZSA8YXNtL3NldHVwLmg+DQo+PiAgICAvKg0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0K
DQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:48:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582434.912206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSVF-0002mm-11; Fri, 11 Aug 2023 13:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582434.912206; Fri, 11 Aug 2023 13:48:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSVE-0002mf-Sz; Fri, 11 Aug 2023 13:48:32 +0000
Received: by outflank-mailman (input) for mailman id 582434;
 Fri, 11 Aug 2023 13:48: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=hSUX=D4=citrix.com=prvs=58088f632=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qUSVD-0002mZ-KR
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 13:48:31 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf5cc135-384d-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 15:48: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: bf5cc135-384d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691761709;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=VcAlDHWjEj39BbRxxve0Ky/5ytlZc4/cWq9eYds5w08=;
  b=Jkp8zpgFmhrDI5oeyw8YpkOJEAfW0gnwL+oAQFaL5mSyOE1R8BK9Ysrh
   hI1TjGCnau2/rNRZc9gTRbMsatzwmu9Frn8ZC7w7g3vcMJbX83SHi4JCB
   tdHejq9HpiPMdVpLLjlNtB+X+VEsOXlrmfOzPYp4Pn6QIQS+nvH/1HdI6
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119249411
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:BDpqiKo94Q0cPrzj1gqHG24VHm5eBmLJZRIvgKrLsJaIsI4StFCzt
 garIBmGO/+MZWGhfop0Pdm39R9QuZGEyoRqHFZspX83FnlHpJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOziBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACwqagmugsDt/LGYRLVRusk7Nc/kYpxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 jufrj6lU01DbbRzzxKe8Vu+jKzPuRjqc5keHeyfr9pIrGWMkzl75Bo+CgLg/KjRZlSFc9BVJ
 lEQ+yEuhbMv70HtRd74NzWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnM0rQT0n0
 HeZktWvAiZg2JWOUm6U/LqQqTK0OAAWIHUEaCtCShEKi/H8pKkjgxSJScxseIa8ltDvECv86
 yyLpiM5wb4UiKY2O76TpA6dxWj2/96QE1Bzv1+MNo640u9nTJKCY5WF7HqA0fVjItqkclSZp
 X4LxdfLuYjiEqqxvCCKRewMGpSg6PCELCDQjDZTInUxy9i+0yX9JN4NuVmSMG8sa59ZImGxP
 Cc/rCsLvPdu0G2Wgbibim5bI+Aj1uDeGNvsTZg4hfIeM8EqJGdrEMyDDHN8PlwBcmB2zcnT2
 r/BK65A6Er27ow2pAdav89HjdcWKtkWnAs/v6zTwRW9yqa5b3WIU7oDO1bmRrlnvfra8V+Pr
 IcBapDiJ/BjvAvWOHa/HWk7dwpiEJTGLcqu95w/mhCrfWKK513N+9eOmOh8KuSJboxel/vS/
 2HVZ6Or4AOXuJEzEi3TMioLQOq2Df5CQYcTYXRE0aCAhyJyPu5CLc43K/MKQFXQ3LA6laElF
 aVVIJno7zYmYm2vxgnxpKLV9ORKHClHTyrUV8Z5SFDTp6JdejE=
IronPort-HdrOrdr: A9a23:fvHIwK7/zkLzpo1KVQPXwFfXdLJyesId70hD6qkRc20uTiX8ra
 qTdZsgtSMc9wxhOk3I9erwQJVoIkmzyXcW2/h2AZ6YUAHtuW21Mbx45YHhzyaIIVyaygc178
 4JGJSWY+eAdGSS4/yKmzWQIpIJytOA7Ke0wcDZ0ndjTQtjdqFn6ENFGh+We3cGJzWuxqBUKH
 Nf3Kd6TvabFkg/X4CdAGQEUOjIr8DKkpX9CCR2YyIP2U2oiy6p577xGwWZ2BAFFxhI3bAp/S
 zklAP+j5/T1M1TAyW861Pu
X-Talos-CUID: 9a23:R50XjWGOSqY6LwfwqmJ700oNN8UHKUHe73mMHnO1EX9vR+OKHAo=
X-Talos-MUID: =?us-ascii?q?9a23=3A34PGsA2svp0QNDBT7w8hIoaeZjUj+KeHGkpOkbE?=
 =?us-ascii?q?9quKfOSUhHG65rhiPXdpy?=
X-IronPort-AV: E=Sophos;i="6.01,165,1684814400"; 
   d="scan'208";a="119249411"
Date: Fri, 11 Aug 2023 14:48:21 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v3 1/5] build: make cc-option properly deal with
 unrecognized sub-options
Message-ID: <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>

On Wed, Jul 26, 2023 at 12:33:07PM +0200, Jan Beulich wrote:
> In options like -march=, it may be only the sub-option which is
> unrecognized by the compiler. In such an event the error message often
> splits option and argument, typically saying something like "bad value
> '<argument>' for '<option>'. Extend the grep invocation accordingly,
> also accounting for Clang to not mention e.g. -march at all when an
> incorrect argument was given for it.
> 
> To keep things halfway readable, re-wrap and re-indent the entire
> construct.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> In principle -e "$$pat" could now be omitted from the grep invocation,
> since if that matches, both $$opt and $$arg will, too. But I thought I'd
> leave it for completeness.
> ---
> v3: Fix build with make 4.3 and newer, where the treatment of \# has
>     changed.
> v2: Further relax grep patterns for clang, which doesn't mention -march
>     when complaining about an invalid argument to it.
> 
> --- a/Config.mk
> +++ b/Config.mk
> @@ -8,6 +8,7 @@ endif
>  comma   := ,
>  open    := (
>  close   := )
> +sharp   := \#
>  squote  := '
>  #' Balancing squote, to help syntax highlighting
>  empty   :=
> @@ -90,9 +91,14 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
>  # of which would indicate an "unrecognized command-line option" warning/error.
>  #
>  # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
> -cc-option = $(shell if test -z "`echo 'void*p=1;' | \
> -              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
> -              then echo "$(2)"; else echo "$(3)"; fi ;)
> +cc-option = $(shell pat='$(2:-Wa$(comma)%=%)'; \
> +                    opt="$${pat%%=*}" arg="$${pat$(sharp)*=}"; \
> +                    if test -z "`echo 'void*p=1;' | \
> +                                 $(1) $(2) -c -o /dev/null -x c - 2>&1 | \
> +                                 grep -e "$$pat" -e "$$opt" -e "$$arg" -`"; \
> +                    then echo "$(2)"; \
> +                    else echo "$(3)"; \
> +                    fi;)

This patch looks fine. Shouldn't the comment been updated as well? At
the moment, it only discuss about -Wno-*, which it seems is why `grep`
was introduced in the first place.

But isn't it doing doing pattern matching on an error message going to
lead sometime to false positive? Linux's build system seems to works
fine by just using the exit value. They've got a few trick to deal with
-Wno-* and with clang.

For -Wno-$(warning), they test -W$(warning) instead. For clang, they've
enable additional warnings:
    -Werror=unknown-warning-option
    -Werror=ignored-optimization-argument
    -Werror=option-ignored
    -Werror=unused-command-line-argument


In any case, the patch is fine.
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:53:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582441.912215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSa7-0004JS-IB; Fri, 11 Aug 2023 13:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582441.912215; Fri, 11 Aug 2023 13: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 1qUSa7-0004JL-FX; Fri, 11 Aug 2023 13:53:35 +0000
Received: by outflank-mailman (input) for mailman id 582441;
 Fri, 11 Aug 2023 13:53: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=Ho8F=D4=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qUSa5-0004Iw-Mh
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 13:53:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7521f211-384e-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 15:53:32 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 4361C4EE0738;
 Fri, 11 Aug 2023 15:53: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: 7521f211-384e-11ee-b284-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 0/2] automation: avoid unnecessary analyses
Date: Fri, 11 Aug 2023 15:52:53 +0200
Message-Id: <cover.1691760935.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to reduce the analyses performed by the ECLAIR
runner by avoiding some branches already excluded by other jobs
and requiring analyses on people/.* to be manually triggered.

Simone Ballarin (2):
  automation: avoid pipelines on specific branches
  automation/eclair: avoid unintentional ECLAIR analysis

 .gitlab-ci.yml                    |  6 ++++++
 automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
 automation/gitlab-ci/build.yaml   |  6 ------
 automation/gitlab-ci/test.yaml    |  5 -----
 4 files changed, 16 insertions(+), 15 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:53:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582442.912226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSaB-0004ZL-QK; Fri, 11 Aug 2023 13:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582442.912226; Fri, 11 Aug 2023 13: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 1qUSaB-0004ZA-MT; Fri, 11 Aug 2023 13:53:39 +0000
Received: by outflank-mailman (input) for mailman id 582442;
 Fri, 11 Aug 2023 13:53:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ho8F=D4=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qUSaA-0004Iw-7o
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 13:53:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 788e9bf4-384e-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 15:53:37 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 382E54EE0739;
 Fri, 11 Aug 2023 15:53: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: 788e9bf4-384e-11ee-b284-6b7b168915f2
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 1/2] automation: avoid pipelines on specific branches
Date: Fri, 11 Aug 2023 15:52:54 +0200
Message-Id: <c88fc56a8985acbdb2630a81c930ef12c0743c1b.1691760935.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691760935.git.simone.ballarin@bugseng.com>
References: <cover.1691760935.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch avoids the execution of pipelines in the
following branches:
- master
- smoke
- coverirty-tested/.*
- stable-.*

The job-level exclusions have been removed as they are
pointless with this new workspace-level exclusion.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .gitlab-ci.yml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ee5430b8b7..ef4484e09a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,9 @@
+workflow:
+  rules:
+    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
+      when: never
+    - when: always
+
 stages:
   - analyze
   - build
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 13:53:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 13:53:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582443.912235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSaG-0004rC-09; Fri, 11 Aug 2023 13:53:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582443.912235; Fri, 11 Aug 2023 13:53:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSaF-0004r3-Tl; Fri, 11 Aug 2023 13:53:43 +0000
Received: by outflank-mailman (input) for mailman id 582443;
 Fri, 11 Aug 2023 13:53: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=Ho8F=D4=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qUSaF-0004qD-8c
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 13:53:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a4f24a5-384e-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 15:53:40 +0200 (CEST)
Received: from beta.station (net-188-218-251-179.cust.vodafonedsl.it
 [188.218.251.179])
 by support.bugseng.com (Postfix) with ESMTPSA id 25D474EE073A;
 Fri, 11 Aug 2023 15:53: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: 7a4f24a5-384e-11ee-8613-37d641c3527e
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR analysis
Date: Fri, 11 Aug 2023 15:52:55 +0200
Message-Id: <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1691760935.git.simone.ballarin@bugseng.com>
References: <cover.1691760935.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With this patch, ECLAIR jobs will need to be manually
started for "people/.*" pipelines.

This avoids occupying the runner on analyzes that might
not be used by developers.

If developers want to analyze their own repositories
they need to launch them from GitLab.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
 automation/gitlab-ci/build.yaml   |  6 ------
 automation/gitlab-ci/test.yaml    |  5 -----
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 4aa4abe2ee..f04ff99093 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -20,21 +20,27 @@
       codequality: gl-code-quality-report.json
   needs: []
 
-eclair-x86_64:
+.eclair-analysis:triggered:
   extends: .eclair-analysis
+  allow_failure: true
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
+      when: manual
+    - when: always
+
+eclair-x86_64:
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "Set1"
-  allow_failure: true
 
 eclair-ARM64:
-  extends: .eclair-analysis
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "Set1"
-  allow_failure: true
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 173613567c..e4b601943c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -12,11 +12,6 @@
       - '*/*.log'
     when: always
   needs: []
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .gcc-tmpl:
   variables: &gcc
@@ -269,7 +264,6 @@
 .test-jobs-artifact-common:
   stage: build
   needs: []
-  except: !reference [.test-jobs-common, except]
 
 # Arm test artifacts
 
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8ccce1fe26..11cb97ea4b 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -1,11 +1,6 @@
 .test-jobs-common:
   stage: test
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .arm64-test-needs: &arm64-test-needs
   - alpine-3.18-arm64-rootfs-export
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:13:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582462.912245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSt2-0008ST-Iu; Fri, 11 Aug 2023 14:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582462.912245; Fri, 11 Aug 2023 14:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUSt2-0008SM-GK; Fri, 11 Aug 2023 14:13:08 +0000
Received: by outflank-mailman (input) for mailman id 582462;
 Fri, 11 Aug 2023 14:13: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 1qUSt0-0008SF-Sv
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:13: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 1qUSt0-0004Y6-1k; Fri, 11 Aug 2023 14:13:06 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUSsz-0003BX-SO; Fri, 11 Aug 2023 14:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=iv5/JRLPzEYNBJqB0oFUqOb1iJF/oBEMbvWX73DBqdo=; b=6hnrnWW0eWmo9nyJhRVlZM34x/
	BJQe+j4Hsst75XsERXANbs+Kx/uVqKs01mXjp31EAMRGYgO7zo2bCvzP56fV3hGN1maj9FQwsOwQm
	H+VFv9jbYDMi8FAb+fa2w7BCd6i6Rn0r6GRkMojv1wTnxQPeubGgxMTUZOSi1FaZqBL4=;
Message-ID: <10ba4d0b-d5c1-4d86-bed3-9628203e3dac@xen.org>
Date: Fri, 11 Aug 2023 15:13:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-3-luca.fancellu@arm.com>
 <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
 <3C46ADAD-477D-46BB-BCCB-81C3198517E5@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3C46ADAD-477D-46BB-BCCB-81C3198517E5@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 11/08/2023 14:40, Luca Fancellu wrote:
> 
> 
>> On 11 Aug 2023, at 13:56, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 08/08/2023 09:00, Luca Fancellu wrote:
>>> Add asm/domain.h that is defining the type 'enum domain_type', it
>>> is needed on arm64 build where this type is used for a member of
>>> the structure kernel_info.
>>
>> I read "needed" as in it Xen build is broken. But AFAIK, this is more a latent issue if someone else want to include the header. Is that correct?
> 
> Yes correct
> 
>>
>> If so, how about:
>>
>> The 'enum domain_type' is defined by 'asm/domain.h' which is not included (directly or indirectly) by 'asm/kernel.h'.
>>
>> This currently doesn't break the compilation because asm/domain.h will included by the user of 'kernel.h'. But it would be better to avoid relying on it. So add the include in 'asm/domain.h'.
> 
> Yeah much better, should I push a v2?

No. I can deal with it on commit.

> 
>>
>>> Fixes: 66e994a5e74f ("xen: arm64: add guest type to domain field.")
>>
>> While we aim to have header self-contained, this has never been a guarantee in Xen. So I would argue this is not a fix in the sense it someone would want to ingest it in there tree.
> 
> Ok I see, I thought it could be linked to the issue about sorting headers that led to build breakage, but Iâ€™ve

I am probably missing something here. Which issue are you referring to? 
Is it a follow-up patch that will sort headers?

> not investigated further so I would be ok to drop the Fixes:

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:23:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582468.912255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUT38-0001YC-F0; Fri, 11 Aug 2023 14:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582468.912255; Fri, 11 Aug 2023 14: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 1qUT38-0001Y5-Bt; Fri, 11 Aug 2023 14:23:34 +0000
Received: by outflank-mailman (input) for mailman id 582468;
 Fri, 11 Aug 2023 14:23: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=Wg3T=D4=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qUT36-0001Xz-K5
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:23:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2085.outbound.protection.outlook.com [40.107.7.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a46bac6a-3852-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 16:23:30 +0200 (CEST)
Received: from DUZPR01CA0126.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bc::20) by AS4PR08MB7530.eurprd08.prod.outlook.com
 (2603:10a6:20b:4f9::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.20; Fri, 11 Aug
 2023 14:23:00 +0000
Received: from DBAEUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4bc:cafe::1c) by DUZPR01CA0126.outlook.office365.com
 (2603:10a6:10:4bc::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend
 Transport; Fri, 11 Aug 2023 14:23:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT023.mail.protection.outlook.com (100.127.142.253) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.9 via Frontend Transport; Fri, 11 Aug 2023 14:22:59 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Fri, 11 Aug 2023 14:22:59 +0000
Received: from 2fa2c439fd49.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5F94BC22-B63D-44DA-B065-BD322D4E4388.1; 
 Fri, 11 Aug 2023 14:22:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2fa2c439fd49.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 11 Aug 2023 14:22:49 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB10090.eurprd08.prod.outlook.com (2603:10a6:102:367::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug
 2023 14:22:47 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6652.029; Fri, 11 Aug 2023
 14:22:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a46bac6a-3852-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wLmDCRpf5blIZrxi08KRUsg1dZk5p+yh6h9M79fnbUY=;
 b=reELl9G6GmWcoWetDP3BwhmqFKYbg/+PzpQGlDellel2fE2dYQdeKyZR6fhdeV7DmhcWAD2ihzC7f+j5MYilDkqEjBtz5Wl673fN0otNXhOrAJVIG3ar1ufwou5sBhSq6P3ZyNbpQdSz5RT6FdCv9BMRZwY7Pu5503foRZ0OXdU=
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: ef48009e62737c3d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mveqlEgOgPyYwNXsw5l7yS8w61x6QhDiliUlcoj9uJm7s4sTKTBHDjt2yL3zwPgl48fVsr3M/gNuiSW9/IuSJrCAtEcNl9jMWjDQrpVm7WnbgSVoOeXAAtsdbhznUV50ZtZABLda1ufq6S9UhRj3TvX/ygbC4pnKB0wyt6zsEquDPTUPnK/NEOqPboWfkypsa70i4AWvZbehip2f4Qbg09p2q4wFujFHKOcLdwkHh7DtPvg+j9b0CYIhO5TrrGurVPXVB0uH6iD5RO9si1byaj1dYCEpnhKxLiZxj/JMcJ1DOTs4aqcfIJKkFzbVHyGHg5oB/YhtGGXCFUJMahNyxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wLmDCRpf5blIZrxi08KRUsg1dZk5p+yh6h9M79fnbUY=;
 b=MyZDAMjkyKbjDp7+tXEfi2fQDU5PjQ5VaOx+WDbNZw5PQyxB2hv1LdPAjJ1CL85UHp28XhiJijKG/9RKDS97NkDBXsrme8O2VeO5GxwNtoQowJgSOTbNUO+a0JI2JRNuwRVazPNHYQUrc6Ffosxd9TYU7qWiVBgKlReCecBI44CSgeGin8bb23kxK+Hd2fvb7ZQIF5Xdc3v+m3XTco0B5d/G/WZNdXk/GK/DohBHdmmxxE3P1pEZIgexH95HLeOx4WOnq1YUYgJkBP/NL18C/mpTsGj5qBlwuvX/JgFjsVBcbFT27619LdaBe5FC0+p0MrXY2D1DKaR9tI2rvaS4sQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=wLmDCRpf5blIZrxi08KRUsg1dZk5p+yh6h9M79fnbUY=;
 b=reELl9G6GmWcoWetDP3BwhmqFKYbg/+PzpQGlDellel2fE2dYQdeKyZR6fhdeV7DmhcWAD2ihzC7f+j5MYilDkqEjBtz5Wl673fN0otNXhOrAJVIG3ar1ufwou5sBhSq6P3ZyNbpQdSz5RT6FdCv9BMRZwY7Pu5503foRZ0OXdU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Thread-Topic: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Thread-Index: AQHZyc51AtDCvMz7Yk+h8v6wea9TNK/lEvIAgAAMOACAAAkagIAAAqsA
Date: Fri, 11 Aug 2023 14:22:46 +0000
Message-ID: <019B593E-D59A-4C45-8C7C-BD9F19C8B2A6@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-3-luca.fancellu@arm.com>
 <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
 <3C46ADAD-477D-46BB-BCCB-81C3198517E5@arm.com>
 <10ba4d0b-d5c1-4d86-bed3-9628203e3dac@xen.org>
In-Reply-To: <10ba4d0b-d5c1-4d86-bed3-9628203e3dac@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB10090:EE_|DBAEUR03FT023:EE_|AS4PR08MB7530:EE_
X-MS-Office365-Filtering-Correlation-Id: 12baaddd-3c2e-491b-dac3-08db9a76770d
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:
 WXxYl/Y4JLhBLYAJHbbRuEDGq90vspZtQ/hdbjmwkgCq55GstJc1KJH8AamfYCf4MamehCS/fyqluDrtvfhdB1/seU3HRy+sE6IJfhJxfJhKN+LK2beNrLmCgMqJWFcyOwTbj5SUAPz652K0+lfF4zh+RGsvzCQNdSk/a6pIpDc7Hs6VA0yHvN2t4QjWrcbjmD6Lr/tR7+xm+eyOkrivimgmcQr7rCVFnTiNKCXznB0GhlYW/prVK5G7kkEqBsEYDs/miCpPh6l65nu0v5KaX1PIqjnxyqc4dVPijMmvMnzWsQwd9qXubSib6Zv+LMjp8k5IgXwyasFXl8891oXycFameSiWViATshm8pE/aN+gtbFV3htFXcFN37diJOK/yoxRbsR22b+BrG7DBSSI+H9HOgRaksV73jwbwKCczTW6dq5zQ4YKnYt3PeO/lAxOLHBOmOngl0Qa256GaUvRgat20B6GzbmtkRcagPKaYmrfGic2BOKR/QK2lV3QDG1++VNhrnBMhy3mbbDaOr+WZectM1QTt/C8zeEBYP3en9HfA7p5LMsUCiqyHm2qIZUXT764f+ixecacDeQVgifMHeKiU7hKdTCdJ6x5z7t91lwxldIIKamwjqDoXyCuqaFKEYZPkjZ3OSFsQcg65+CqVSw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(136003)(346002)(39860400002)(376002)(186006)(1800799006)(451199021)(86362001)(38070700005)(36756003)(2906002)(33656002)(66899021)(26005)(6916009)(2616005)(6506007)(53546011)(4326008)(122000001)(54906003)(38100700002)(478600001)(8936002)(91956017)(66556008)(64756008)(66946007)(5660300002)(66476007)(76116006)(66446008)(6512007)(71200400001)(41300700001)(316002)(6486002)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <50B5CB115D85C1419C684555D62B1E18@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10090
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:
 DBAEUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6ead7136-7a0b-44f1-95fd-08db9a766f7d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dZy5BZWNbCgVBwgR/JMDMOERqQhVnHNRnXlaOyWc0atTPbKMxtn/D+BfPJZAOBs1qPio+OF2VFzTpkwIX/3w/Kps41IvB2FPjPuePrnuJKH6irKfcJB4VG6fJtbTtI568nsaQMIv0AOxOd1a4X69FVJKwc/ndSGhKqAx2qFbX+Da4Tu2nUAYtbAPnC+swsefYXbP1SSwW1jA7Vgx3zdXnomhgfvCwF1Dk8oGOv8llpGMZ7ZDDy3KDnQvUEob7Uye/0lDSbQ6QDY6xFok5HU3Jjw5xR73Ih9zwOdhF3xdcpneOdFeReKIVI8SsOMn8/NHCz+CPbWYrdu7VpY/6l9bjhHR6n96j8e2Vh+2OWcDbo6I3e2Ca3o6ZVESKFLG3WLW2CL1gjFJvvkhW7Hhb4p9Qgb0D0FUDkoIFlELvLCeIwia+k2KkjWu4bbEtRgRuao8tmw5CLY+WF9tuJ7u/iLpgEA7WFF8fwhC5wUutRKn0rh7f0QVinWiN8+kY5iGYzaWooemrIBYG0aXljbHQiwrEbwZBdj7Ik7keA9RMmbKAE7aTrsAjhjs7VKOS7Ku5TRMWxiyX/pIozlBRBXqSkR7VP9XnuuAMbQOf7J60oYZBj6snJ0XmuUsGeRHNIJdlEL/b6ormr2zi8OvECdQEk5XbfhwI2Sk4AL31vM6mTgWGZ/SWlNKA8QQ6oEsZGzI383xuYAn6XJLiUq+sO5WFrbKmqp7H4AQrKWynNgh6aeyECE=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(136003)(39860400002)(346002)(1800799006)(82310400008)(451199021)(186006)(46966006)(36840700001)(40470700004)(8936002)(8676002)(6862004)(70206006)(70586007)(6486002)(41300700001)(47076005)(33656002)(4326008)(316002)(478600001)(107886003)(36860700001)(5660300002)(81166007)(356005)(6512007)(82740400003)(54906003)(2906002)(66899021)(26005)(40460700003)(336012)(86362001)(40480700001)(53546011)(6506007)(2616005)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 14:22:59.6803
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 12baaddd-3c2e-491b-dac3-08db9a76770d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7530

DQoNCj4gT24gMTEgQXVnIDIwMjMsIGF0IDE1OjEzLCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBPbiAxMS8wOC8yMDIzIDE0OjQwLCBM
dWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+IE9uIDExIEF1ZyAyMDIzLCBhdCAxMzo1NiwgSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gSGkgTHVjYSwNCj4+PiAN
Cj4+PiBPbiAwOC8wOC8yMDIzIDA5OjAwLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+PiBBZGQg
YXNtL2RvbWFpbi5oIHRoYXQgaXMgZGVmaW5pbmcgdGhlIHR5cGUgJ2VudW0gZG9tYWluX3R5cGUn
LCBpdA0KPj4+PiBpcyBuZWVkZWQgb24gYXJtNjQgYnVpbGQgd2hlcmUgdGhpcyB0eXBlIGlzIHVz
ZWQgZm9yIGEgbWVtYmVyIG9mDQo+Pj4+IHRoZSBzdHJ1Y3R1cmUga2VybmVsX2luZm8uDQo+Pj4g
DQo+Pj4gSSByZWFkICJuZWVkZWQiIGFzIGluIGl0IFhlbiBidWlsZCBpcyBicm9rZW4uIEJ1dCBB
RkFJSywgdGhpcyBpcyBtb3JlIGEgbGF0ZW50IGlzc3VlIGlmIHNvbWVvbmUgZWxzZSB3YW50IHRv
IGluY2x1ZGUgdGhlIGhlYWRlci4gSXMgdGhhdCBjb3JyZWN0Pw0KPj4gWWVzIGNvcnJlY3QNCj4+
PiANCj4+PiBJZiBzbywgaG93IGFib3V0Og0KPj4+IA0KPj4+IFRoZSAnZW51bSBkb21haW5fdHlw
ZScgaXMgZGVmaW5lZCBieSAnYXNtL2RvbWFpbi5oJyB3aGljaCBpcyBub3QgaW5jbHVkZWQgKGRp
cmVjdGx5IG9yIGluZGlyZWN0bHkpIGJ5ICdhc20va2VybmVsLmgnLg0KPj4+IA0KPj4+IFRoaXMg
Y3VycmVudGx5IGRvZXNuJ3QgYnJlYWsgdGhlIGNvbXBpbGF0aW9uIGJlY2F1c2UgYXNtL2RvbWFp
bi5oIHdpbGwgaW5jbHVkZWQgYnkgdGhlIHVzZXIgb2YgJ2tlcm5lbC5oJy4gQnV0IGl0IHdvdWxk
IGJlIGJldHRlciB0byBhdm9pZCByZWx5aW5nIG9uIGl0LiBTbyBhZGQgdGhlIGluY2x1ZGUgaW4g
J2FzbS9kb21haW4uaCcuDQo+PiBZZWFoIG11Y2ggYmV0dGVyLCBzaG91bGQgSSBwdXNoIGEgdjI/
DQo+IA0KPiBOby4gSSBjYW4gZGVhbCB3aXRoIGl0IG9uIGNvbW1pdC4NCg0KT2sgdGhhbmsgeW91
IGZvciBkb2luZyB0aGF0DQoNCj4gDQo+Pj4gDQo+Pj4+IEZpeGVzOiA2NmU5OTRhNWU3NGYgKCJ4
ZW46IGFybTY0OiBhZGQgZ3Vlc3QgdHlwZSB0byBkb21haW4gZmllbGQuIikNCj4+PiANCj4+PiBX
aGlsZSB3ZSBhaW0gdG8gaGF2ZSBoZWFkZXIgc2VsZi1jb250YWluZWQsIHRoaXMgaGFzIG5ldmVy
IGJlZW4gYSBndWFyYW50ZWUgaW4gWGVuLiBTbyBJIHdvdWxkIGFyZ3VlIHRoaXMgaXMgbm90IGEg
Zml4IGluIHRoZSBzZW5zZSBpdCBzb21lb25lIHdvdWxkIHdhbnQgdG8gaW5nZXN0IGl0IGluIHRo
ZXJlIHRyZWUuDQo+PiBPayBJIHNlZSwgSSB0aG91Z2h0IGl0IGNvdWxkIGJlIGxpbmtlZCB0byB0
aGUgaXNzdWUgYWJvdXQgc29ydGluZyBoZWFkZXJzIHRoYXQgbGVkIHRvIGJ1aWxkIGJyZWFrYWdl
LCBidXQgSeKAmXZlDQo+IA0KPiBJIGFtIHByb2JhYmx5IG1pc3Npbmcgc29tZXRoaW5nIGhlcmUu
IFdoaWNoIGlzc3VlIGFyZSB5b3UgcmVmZXJyaW5nIHRvPyBJcyBpdCBhIGZvbGxvdy11cCBwYXRj
aCB0aGF0IHdpbGwgc29ydCBoZWFkZXJzPw0KDQpJdOKAmXMgYW4gaXNzdWUgSeKAmXZlIGZhY2Vk
IHdoZW4gdHJ5aW5nIHRvIHNvcnQgYXV0b21hdGljYWxseSB0aGUgaW5jbHVkZSB1c2luZyBjbGFu
Zy1mb3JtYXQsIEnigJl2ZSBzZWVuIGlzc3VlcyBidWlsZGluZyBkb21haW5fYnVpbGQuYyBhZnRl
ciBzb3J0aW5nIHRoZSBoZWFkZXJzIGluIHRoZSB3YXkgd2UgZXhwZWN0IGZyb20gY29kaW5nIHN0
eWxlLCBJIHRob3VnaHQgd2FzIHJlbGF0ZWQgdG8gc29tZSBoZWFkZXJzIG5vdCBiZWluZyBzZWxm
LWNvbnRhaW5lZC4NCg0KPiANCj4+IG5vdCBpbnZlc3RpZ2F0ZWQgZnVydGhlciBzbyBJIHdvdWxk
IGJlIG9rIHRvIGRyb3AgdGhlIEZpeGVzOg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1
bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:25:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582474.912265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUT5J-0002CS-V7; Fri, 11 Aug 2023 14:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582474.912265; Fri, 11 Aug 2023 14: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 1qUT5J-0002CL-Sb; Fri, 11 Aug 2023 14:25:49 +0000
Received: by outflank-mailman (input) for mailman id 582474;
 Fri, 11 Aug 2023 14: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 1qUT5I-0002CF-5W
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14: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 1qUT5H-0004vG-GE; Fri, 11 Aug 2023 14:25:47 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUT5H-0003iG-Ai; Fri, 11 Aug 2023 14:25:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SPsgltvDA8z/JJONlXDL9LYdMxxYlziR+D6/oBYEwgA=; b=ei7vSTzUJ9ZFk7a6TE8uIUfz8C
	viWv2V/mXaIR4o3SG1KsOmku2+Uiwa82azMS7tIigrv8sJvxdrkcK+Hlu2NVeXePU5DwODLRMJLcT
	8M6rEHywWBtE6WJRADlY0Or0AXUSU/T+jgVWjZhqCcwCPoMPCzChB/5b6MqyYr0o0m+Q=;
Message-ID: <50bfd7e1-2e5b-468e-aa25-6f9fae302ba2@xen.org>
Date: Fri, 11 Aug 2023 15:25:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] xen/arm: Add asm/domain.h include to kernel.h
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-3-luca.fancellu@arm.com>
 <b9d88e5a-91d1-43b7-becd-8a742698e1c8@xen.org>
 <3C46ADAD-477D-46BB-BCCB-81C3198517E5@arm.com>
 <10ba4d0b-d5c1-4d86-bed3-9628203e3dac@xen.org>
 <019B593E-D59A-4C45-8C7C-BD9F19C8B2A6@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <019B593E-D59A-4C45-8C7C-BD9F19C8B2A6@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 11/08/2023 15:22, Luca Fancellu wrote:
>> On 11 Aug 2023, at 15:13, Julien Grall <julien@xen.org> wrote:
>> On 11/08/2023 14:40, Luca Fancellu wrote:
>>>> On 11 Aug 2023, at 13:56, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> Hi Luca,
>>>>
>>>> On 08/08/2023 09:00, Luca Fancellu wrote:
>>>>> Add asm/domain.h that is defining the type 'enum domain_type', it
>>>>> is needed on arm64 build where this type is used for a member of
>>>>> the structure kernel_info.
>>>>
>>>> I read "needed" as in it Xen build is broken. But AFAIK, this is more a latent issue if someone else want to include the header. Is that correct?
>>> Yes correct
>>>>
>>>> If so, how about:
>>>>
>>>> The 'enum domain_type' is defined by 'asm/domain.h' which is not included (directly or indirectly) by 'asm/kernel.h'.
>>>>
>>>> This currently doesn't break the compilation because asm/domain.h will included by the user of 'kernel.h'. But it would be better to avoid relying on it. So add the include in 'asm/domain.h'.
>>> Yeah much better, should I push a v2?
>>
>> No. I can deal with it on commit.
> 
> Ok thank you for doing that
> 
>>
>>>>
>>>>> Fixes: 66e994a5e74f ("xen: arm64: add guest type to domain field.")
>>>>
>>>> While we aim to have header self-contained, this has never been a guarantee in Xen. So I would argue this is not a fix in the sense it someone would want to ingest it in there tree.
>>> Ok I see, I thought it could be linked to the issue about sorting headers that led to build breakage, but Iâ€™ve
>>
>> I am probably missing something here. Which issue are you referring to? Is it a follow-up patch that will sort headers?
> 
> Itâ€™s an issue Iâ€™ve faced when trying to sort automatically the include using clang-format, Iâ€™ve seen issues building domain_build.c after sorting the headers in the way we expect from coding style, I thought was related to some headers not being self-contained.

Ah I understand now. Usually, we would batch the re-ordering and the 
additional include in the same patch because they are tightly coupled 
together and it is easier to confirm it is necessary.

Anyway, this one is easy, so I am happy to commit this one in advance.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:32:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582499.912293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTBc-0004TG-0F; Fri, 11 Aug 2023 14:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582499.912293; Fri, 11 Aug 2023 14: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 1qUTBb-0004T9-TE; Fri, 11 Aug 2023 14:32:19 +0000
Received: by outflank-mailman (input) for mailman id 582499;
 Fri, 11 Aug 2023 14:32: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=hSUX=D4=citrix.com=prvs=58088f632=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qUTBa-00049h-IO
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:32:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de3e8300-3853-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:32: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: de3e8300-3853-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691764337;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=QSD97pX4rIQFsdB9WrmfNuasn0tkdiTxkR97JAfxjbA=;
  b=cTYLzgDZfY8/5VtNDc2RbcapHhPZrh65Wdan+g2YGmkdz/q7jzyx6LXO
   LI5WBtYW4maVVwn2npwgcw0RsglvT8CFSU8iwjFwlVUlVHvxLyLsJio5G
   OdIvmTxKLlysJk59jfLPeu4T/kRj2FpwlFROHn87B3XHXjZdWZfnUUFAw
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 117921539
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:CSxFn6gz7kTBmiZVRPtkpF4GX161sBAKZh0ujC45NGQN5FlHY01je
 htvXmGAPK7fMDP2fN5/Po/joRgOscOEzNNkQFNk+Hg0Engb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AaHzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQFdm8iXDCEm9iP3a28YeQxtOExHdPkadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27B/
 z2XpT2kWUBy2Nq31QSqyniOl+P1thjbB7s+Hpme5qcxqQjGroAUIEJPDgbqyRWjsWa8Ud9CL
 00f+gI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQkqcs3SDoCx
 lKP2dTzClRHq6aJQHiQ8rOVqzKaOiUPK2IGIygeQmMt/N3LsIw1yBXVQb5LGba4lNTvFRnsw
 jqBq241gLB7sCIQ//zlpxad2Wvq/8WXCFdvvW07Q15J8CtkOtGKVayv9WLi8OlHB4vEfHyTj
 WILzp32AP81MbmBkymEQeMoFb6v5uqYPDC0vWODD6XN5Bz2pSf9INk4DCVWYR4wb51aIWOBj
 Fr741s52XNFAJe9gUabiaqVAt9i86XvHM+Nuhv8PosXOcgZmONqEUhTia+sM4LFyhREfUIXY
 83znSOQ4ZEyWMxaIMKeHbt17FPS7nlWKZnvbZ761Q+79rGVeWSYT7wIWHPXMLFgsvLe+lqEr
 YsEXydv9/m5eLehCsUw2dRJRW3m0FBhXcymwyCpXrHrzvVa9JEJVKaKnOJJl31NlKVJjObYl
 kxRqWcBoGcTcUbvcF3QAlg6MeOHYHqKhS5jVcDaFQryiidLjEfGxPt3SqbbipF7rbQ8nKQoH
 6JZEyhCa9wWIgn6F/0mRcGVhORfmN6D31nm0/aNCNTnQ6Ndeg==
IronPort-HdrOrdr: A9a23:pLkEaK74nPGkI6W+mwPXwMjXdLJyesId70hD6qhwISY6TiW9rb
 HLoB17726QtN9/YhwdcLy7VJVoBEmskqKdgrNhX4tKPjOHhILAFugLhuHfKn/bak7DH4ZmpM
 FdmsNFaeEYY2IUsfrH
X-Talos-CUID: 9a23:NAw1YG8AjX9LGI26TBiVv1NKRe8XUnrB9k7NPEiTBDtbba+kU1DFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3AWIopSg0GcWaokUxif+76HUdYpTUj/5qBMEovgJk?=
 =?us-ascii?q?8kPKkahVcMRO7nG3sa9py?=
X-IronPort-AV: E=Sophos;i="6.01,165,1684814400"; 
   d="scan'208";a="117921539"
Date: Fri, 11 Aug 2023 15:31:58 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] build: correct gas --noexecstack check
Message-ID: <ad590b68-ba27-412e-ae9d-e6104c104cf4@perard>
References: <e5b54663-77c3-5be1-ea54-3f18246bf77f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e5b54663-77c3-5be1-ea54-3f18246bf77f@suse.com>

On Wed, Jul 12, 2023 at 04:23:22PM +0200, Jan Beulich wrote:
> The check was missing an escape for the inner $, thus breaking things
> in the unlikely event that the underlying assembler doesn't support this
> option.
> 
> Fixes: 62d22296a95d ("build: silence GNU ld warning about executable stacks")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:33:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582503.912303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCH-00050n-8U; Fri, 11 Aug 2023 14:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582503.912303; Fri, 11 Aug 2023 14: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 1qUTCH-00050g-5t; Fri, 11 Aug 2023 14:33:01 +0000
Received: by outflank-mailman (input) for mailman id 582503;
 Fri, 11 Aug 2023 14:33: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=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCF-00049h-V0
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:00 +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 f8364630-3853-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:32:59 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-4fe28e4671dso3281410e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:32:59 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.32.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:32:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8364630-3853-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764379; x=1692369179;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m8jHaMKqz0HfbXk2J9EkqrL9mGdPZo33L8RyKFfrtek=;
        b=fdlqZrbaH0gKi00KzPG9s/IrK3X7nR8PjPZvg2UWwNEUsT70z2RhysrSdXrWXwHzw+
         zLVxLb9JY6UBPReG8thCEa7lNhoAy1cwBsWda5bT2ggPkTcttMeAY0bUfmxhdU70kMnt
         Y96CV9RZeCjJbjbbWxI96Oh5RYi5Z8kITenQUWJkWhnqTUZefiZ6C4InM/3plcDSns8H
         VkJzkTAW/k0PTT4hul0ACb3wmmAVQd9O6E8rF/w4JkrxOy+B9Y/jgUQyEg6gY9eO7SvH
         RniFpvyyR2p9g3jBiur901Woy5Vpm7YiomceKi3cCa3PvmjQKwGzrPQWl/vAd8WbBygc
         iprg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764379; x=1692369179;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=m8jHaMKqz0HfbXk2J9EkqrL9mGdPZo33L8RyKFfrtek=;
        b=W/Lt7dxdGCHvdjra5erdt07ycBdwHJZj3kQSDltbluWXH/Nbut6zgG+BGAwgx8M0I0
         ZJdCxQfaSq4qRfgzpYLiEQc+0xMCt7mNcnbaAPrgOKdbbd4LKv1FfVBYkUDz4FIm/WpA
         KjEDf55hfrlmEjoWdiXrgNw+XRlEeU1Jslx7DLpfMY0V29bGzhLsmkA1QmrfEznHdNbN
         FWUsTcS5cGIIQ1tCv4iPQD7BfmH1OyOdxFAiZ+naEr2BPxO6vSf9+F5fuvNQNFw96ct8
         63foEpPSaXSXOfhd6AujIJH7E2+dX3ThOOIA0AKwuNglyinkMrFnyTycWY0zKyACQlUd
         +pKg==
X-Gm-Message-State: AOJu0YxTRPnVxaWv11B7V7NlOdJfW7kZclmNpxZwMn04PHLOuY7jRl5c
	sSqtBv08cHk4shmb2cwaZzifIsafKnU=
X-Google-Smtp-Source: AGHT+IF1Q8q72UIc0xVO9V0e4F5v7jMaTT86mWd5rfbSM2zcPNlU9v2BoTXjhKKgMx9lbGjS/2wKeA==
X-Received: by 2002:a19:9148:0:b0:4fb:978e:95b8 with SMTP id y8-20020a199148000000b004fb978e95b8mr1523531lfj.59.1691764378388;
        Fri, 11 Aug 2023 07:32:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 1/6] xen/riscv: introduce temporary printk stuff
Date: Fri, 11 Aug 2023 17:32:50 +0300
Message-ID: <4d986a1083f35ab66eba6ffde964af3b4453b216.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introdcuces printk related stuff which should be deleted
after Xen common code will be available.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - only rebase was done.
---
Changes in V7:
 - only rebase was done.
---
Changes in V6:
 - the patch was introduced in the current patch series (V6)
---
 xen/arch/riscv/early_printk.c | 168 ++++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)

diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 610c814f54..60742a042d 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -40,3 +40,171 @@ 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
+
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:33:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582504.912313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCI-0005GD-Gi; Fri, 11 Aug 2023 14:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582504.912313; Fri, 11 Aug 2023 14:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCI-0005G4-Dn; Fri, 11 Aug 2023 14:33:02 +0000
Received: by outflank-mailman (input) for mailman id 582504;
 Fri, 11 Aug 2023 14:33: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=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCG-0004v5-Pp
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:00 +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 f7aaac3b-3853-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 16:32:58 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-4fe8c16c1b4so3195038e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:32:58 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.32.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:32: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: f7aaac3b-3853-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764378; x=1692369178;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=aacNJ6QtriuxwdXzM+/0t03ybhzMxQngoCVolX6LNSA=;
        b=Yu0KW4L1hQ3TfGkegJmGr/7dQfdrOUlawoRZ4gPZDCp1MPWhPG+pFSo/FgH2sUce0e
         dIalBSpRJ3kUY5srS4IoD3h89juqzR97bmQ5UM3HBJCs98vsBmbp95czBwDK5GjFCb/x
         lISEZ28vY+4bR53v8tm8CEWLcHuiFaVlediT/XDNRnQwW6rZjJmlNphKbAoYLKpllHSe
         L8JuW/DEOtraEab3SS22zxp2rP+wutRjW8rWlmZIe+uPkWON3L5bY8vQlyd4qNF+RNBN
         JgdHfWaCk7qKL5ImsYXNJ5pqBjZ0U9XBKWpnkz6LTWZyvyEoaUFAd+/n6eW8Q7vOd1zG
         4Qng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764378; x=1692369178;
        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=aacNJ6QtriuxwdXzM+/0t03ybhzMxQngoCVolX6LNSA=;
        b=h/MVoTfdJNneARgsv+l1IFENq2fuBHEt6tk6O399kZ992r6Y54DqeGdynY6Dj6XDXx
         vBeb05ZjWc+x5Be2T1K1CCaeUOHRxupXjgRVUp2taxOGou9HnvwIrxjCODUijoh1qCBP
         4Jt92wqTSmyVZR1UwatKEE/f5drV+DlA/mhQ0C32iW4qALhtaxBxt83cyVWLsqK7cNnZ
         ELj5yKLPVgBp7LD1rQAFFTt/K9H5A0HKZ74N8JAhSRcAYV8+TtqGa/kCr1+fuaMf9rew
         2s6bLqinaO8ooCKZ3k1HIf0ntY5QhodZRWWuA2i+LHkkuszJYY+DetcucWD5dABGqmxa
         NOow==
X-Gm-Message-State: AOJu0YyjSKblK73Lo2uFiS3v4SH+v2cLLG/hXvtTNIAH8eeaeW4etbxR
	cgzG6ac2O7oYH2+RbLQMcW9r8XbE68k=
X-Google-Smtp-Source: AGHT+IExVO3YOwdsAAv+agMnSY3/pWPLjmtjFKCDNPHQEh/4u2oz/HoLDtTG9SK3LQdfwbVszoPrtQ==
X-Received: by 2002:ac2:489b:0:b0:4fd:c0dd:d54b with SMTP id x27-20020ac2489b000000b004fdc0ddd54bmr1322772lfc.65.1691764377798;
        Fri, 11 Aug 2023 07:32:57 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 0/6] RISCV basic exception handling implementation
Date: Fri, 11 Aug 2023 17:32:49 +0300
Message-ID: <cover.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on:
    xen/riscv: introduce identity mapping [1]
which haven't been merged yet.

The patch series provides a basic implementation of exception handling.
It can do only basic things such as decode a cause of an exception,
save/restore registers and execute "wfi" instruction if an exception
can not be handled.

To verify that exception handling works well it was implemented macros
from <asm/bug.h> such as BUG/WARN/run_in_exception/assert_failed.
The implementation of macros is used "ebreak" instruction and set up bug
frame tables for each type of macros.
Also it was implemented register save/restore to return and continue work
after WARN/run_in_exception.
Not all functionality of the macros was implemented as some of them
require hard-panic the system which is not available now. Instead of
hard-panic 'wfi' instruction is used but it should be definitely changed
in the neareset future.
It wasn't implemented show_execution_state() and stack trace discovering
as it's not necessary now.

[1] https://lore.kernel.org/xen-devel/177ad805a6508cf4adc9f54c20333ebcf12c333b.1691507564.git.oleksii.kurochko@gmail.com/

---
Changes in V8:
 - Update the commit message of the cover letter.
 - Remove the patch with an introduction of dummy asm/bug.h and introduce
   normal asm/bug.h
 - Fix typo in return string from decode_reserved_interrupt_cause
 - Add "Acked-by: Alistair Francis <alistair.francis@wdc.com>" for the patch
   "xen/riscv: introduce decode_cause() stuff"
 - Remove Pointless initializer of id in do_bug_frame().
 - Make bug_frames[] array constant in do_bug_frame().
 - Remove cast_to_bug_frame(addr).
 - Rename is_valig_bugaddr to is_valid_bug_insn().
 - Add check that read_instr is used only on Xen code
 - Update the commit message.
---
Changes in V7:
 - Update the depenency ( mentioned in the cover letter message ) of the current
   patch series.
 - clean up comments.
 - code style fixes.
 - move definition of cast_to_bug_frame() from patch 4 to 5.
---
Changes in V6:
 - Update the cover letter message: the patch set is based on MMU patch series.
 - Introduce new patch with temporary printk functionality. ( it will be
   removed when Xen common code will be ready )
 - Change early_printk() to printk().
 - Remove usage of LINK_TO_LOAD() due to the MMU being enabled first.
 - Add additional explanatory comments.
 - Remove patch "xen/riscv: initialize boot_info structure" from the patch
   series.
---
Changes in V5:
 - Rebase on top of [1] and [2]
 - Add new patch which introduces stub for <asm/bug.h> to keep Xen compilable
   as in the patch [xen/riscv: introduce decode_cause() stuff] is used
   header <xen/lib.h> which requires <asm/bug.h>.
 - Remove <xen/error.h> from riscv/traps/c as nothing would require
   inclusion.
 - decode_reserved_interrupt_cause(), decode_interrupt_cause(),
   decode_cause, do_unexpected_trap() were made as static they are expected
   to be used only in traps.c
 - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
 - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
 - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
   the patch
 - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce 
   read_instr() to read instruction properly as the length of qinstruction can be
   either 32 or 16 bits.
 - Code style fixes
 - update the comments before do_bug_frame() in riscv/trap.c
 - [[PATCH v4 5/5] automation: modify RISC-V smoke test ] was dropped as it was provided
   more simple solution by Andrew.  CI: Simplify RISCV smoke testing
 - Refactor is_valid_bugaddr() function.
 - 2 new patches ([PATCH v5 {1-2}/7]) were introduced, the goal of which is to recalculate
   addresses used in traps.c, which can be linker time relative. It is needed as we don't
   have enabled MMU yet.
---
Changes in V4:
  - Rebase the patch series on top of new version of [introduce generic
    implementation of macros from bug.h] patch series.
  - Update the cover letter message as 'Early printk' was merged and
    the current one patch series is based only on [introduce generic
    implementation of macros from bug.h] which hasn't been commited yet.
  - The following patches of the patch series were merged to staging:
      [PATCH v3 01/14] xen/riscv: change ISA to r64G
      [PATCH v3 02/14] xen/riscv: add <asm/asm.h> header
      [PATCH v3 03/14] xen/riscv: add <asm/riscv_encoding.h header
      [PATCH v3 04/14] xen/riscv: add <asm/csr.h> header
      [PATCH v3 05/14] xen/riscv: introduce empty <asm/string.h>
      [PATCH v3 06/14] xen/riscv: introduce empty <asm/cache.h>
      [PATCH v3 07/14] xen/riscv: introduce exception context
      [PATCH v3 08/14] xen/riscv: introduce exception handlers implementation
      [PATCH v3 10/14] xen/riscv: mask all interrupts
  - Fix addressed comments in xen-devel mailing list.

---
Changes in V3:
  - Change the name of config RISCV_ISA_RV64IMA to RISCV_ISA_RV64G
    as instructions from Zicsr and Zifencei extensions aren't part of
    I extension any more.
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
  - Update commit messages
---
Changes in V2:
  - take the latest riscv_encoding.h from OpenSBI, update it with Xen
    related changes, and update the commit message with "Origin:"
    tag and the commit message itself.
  - add "Origin:" tag to the commit messag of the patch
    [xen/riscv: add <asm/csr.h> header].
  - Remove the patch [xen/riscv: add early_printk_hnum() function] as the
    functionality provided by the patch isn't used now.
  - Refactor prcoess.h: move structure offset defines to asm-offsets.c,
    change register_t to unsigned long.
  - Refactor entry.S to use offsets defined in asm-offsets.C
  - Rename {__,}handle_exception to handle_trap() and do_trap() to be more
    consistent with RISC-V spec.
  - Merge the pathc which introduces do_unexpected_trap() with the patch
    [xen/riscv: introduce exception handlers implementation].
  - Rename setup_trap_handler() to trap_init() and update correspondingly
    the patches in the patch series.
  - Refactor bug.h, remove bug_instr_t type from it.
  - Refactor decode_trap_cause() function to be more optimization-friendly.
  - Add two new empty headers: <cache.h> and <string.h> as they are needed to
    include <xen/lib.h> which provides ARRAY_SIZE and other macros.
  - Code style fixes.
---

Oleksii Kurochko (6):
  xen/riscv: introduce temporary printk stuff
  xen/riscv: introduce <asm/bug.h>
  xen/riscv: introduce decode_cause() stuff
  xen/riscv: introduce trap_init()
  xen/riscv: implement do_bug_frame()
  xen/riscv: test basic handling stuff

 xen/arch/riscv/early_printk.c      | 168 +++++++++++++++++++++
 xen/arch/riscv/include/asm/bug.h   |  37 +++++
 xen/arch/riscv/include/asm/traps.h |   1 +
 xen/arch/riscv/setup.c             |  20 +++
 xen/arch/riscv/traps.c             | 234 ++++++++++++++++++++++++++++-
 xen/arch/riscv/xen.lds.S           |  10 ++
 6 files changed, 469 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/bug.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:33:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582505.912318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCI-0005J9-Qk; Fri, 11 Aug 2023 14:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582505.912318; Fri, 11 Aug 2023 14:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCI-0005IA-Lq; Fri, 11 Aug 2023 14:33:02 +0000
Received: by outflank-mailman (input) for mailman id 582505;
 Fri, 11 Aug 2023 14:33:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCG-00049h-VG
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:00 +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 f884fb49-3853-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:32:59 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-4fe11652b64so3245174e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:32:59 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.32.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:32:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f884fb49-3853-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764379; x=1692369179;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2/OtmtgHs6hiIE3b0R04W2tm1wiLCCAEvdGukHjFIgw=;
        b=qlkroSIbIq8LkBTjrCWeTTE5BVIoP3g6BRTkQnk9Td3MXWG4pZGJTohu074BaP2cRT
         ybYxGeoiTBMQpnSGWZvoUS15M3TvKOoE47GQQbhu0QKrpsyGMie3c/lVZJNltAXrxRN/
         xUfpm3RKgEEy5ggyTRu1FsEO6V+8ulen6DS0bWh11GOoKz0h7um9t9bJVSakxDybJhvH
         ws/rcXdTZb3wgro0mBX8h/jCIj9tFBLSoC4SJaqkCD8MXRQQ/jkwWnVeMuRim/enL2/y
         yXcxUeC5MVblYy+D8xEs8SXugGss18wdnBq9yIT5iE33BUi0onS7AAgbD+6Ei80hiC0O
         LseQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764379; x=1692369179;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2/OtmtgHs6hiIE3b0R04W2tm1wiLCCAEvdGukHjFIgw=;
        b=TBoLXpnEIsPLpGWzG/kPJAh1EIpITErqA/cuksWMM8VknDKD6PYtDNJ3IvDNPtVuVM
         Dz+nBiIa1+GRLkBsu5V2QneKx6OV6Lkk6QyYsXlAQGO1U/s96hzuQdckgtHOzavb7sW+
         nHdT/fkvom879vcMQXuFjtc2eXnyKpR9bXHejN7pGziTeAi8yp3nNBeQaZ49N/Sj5jkN
         sfdCGMtWENfLyeV2JlR+WNamn+nGqvy0GB6l1PIpoyUp82NkmEJ58n1anHNRjfa8Wagg
         RyByGoHy87o6fSaVq7nCBqmpDk5TiYUwm38JrJIeVSJPLiwxgberFthIYioP0xi9nrjU
         651w==
X-Gm-Message-State: AOJu0Yz2Po+wKeLh3FiYFOwSYmRNo1wwiJHxKUyHrsoGRa1a98MNzb2f
	4aXnDXxViN9GhSBMR7jxDvQeeNCka3A=
X-Google-Smtp-Source: AGHT+IHduLYw9QGKUkNhITZuwy+eFdqGXS19EtKxUmx23upKJLTfpHuFHdlLRkXfdeY3zs5nMz5wCA==
X-Received: by 2002:a05:6512:695:b0:4fe:711:2931 with SMTP id t21-20020a056512069500b004fe07112931mr2288829lfe.22.1691764378985;
        Fri, 11 Aug 2023 07:32:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 2/6] xen/riscv: introduce <asm/bug.h>
Date: Fri, 11 Aug 2023 17:32:51 +0300
Message-ID: <ae77b6ad3542d2c2ff2700f82212ec35662d7d15.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - new patch. It was introduced instead of dummy asm/bug.h introduction.
---
 xen/arch/riscv/include/asm/bug.h | 37 ++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bug.h

diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
new file mode 100644
index 0000000000..f5ff96140f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2021-2023 Vates
+ *
+ */
+#ifndef _ASM_RISCV_BUG_H
+#define _ASM_RISCV_BUG_H
+
+#ifndef __ASSEMBLY__
+
+#define BUG_INSTR "ebreak"
+
+/*
+ * The base instruction set has a fixed length of 32-bit naturally aligned
+ * instructions.
+ *
+ * There are extensions of variable length ( where each instruction can be
+ * any number of 16-bit parcels in length ).
+ *
+ * Compressed ISA is used now where the instruction length is 16 bit  and
+ * 'ebreak' instruction, in this case, can be either 16 or 32 bit (
+ * depending on if compressed ISA is used or not )
+ */
+#define INSN_LENGTH_MASK        _UL(0x3)
+#define INSN_LENGTH_32          _UL(0x3)
+
+#define BUG_INSN_32             _UL(0x00100073) /* ebreak */
+#define BUG_INSN_16             _UL(0x9002)     /* c.ebreak */
+#define COMPRESSED_INSN_MASK    _UL(0xffff)
+
+#define GET_INSN_LENGTH(insn)                               \
+    (((insn) & INSN_LENGTH_MASK) == INSN_LENGTH_32 ? 4 : 2) \
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* _ASM_RISCV_BUG_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:33:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582506.912325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCJ-0005WI-CQ; Fri, 11 Aug 2023 14:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582506.912325; Fri, 11 Aug 2023 14:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCJ-0005Sz-5f; Fri, 11 Aug 2023 14:33:03 +0000
Received: by outflank-mailman (input) for mailman id 582506;
 Fri, 11 Aug 2023 14:33:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCI-0004v5-5k
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33: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 f88d3af2-3853-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 16:32:59 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-4fe27849e6aso3261494e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:33:00 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.32.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:32:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f88d3af2-3853-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764380; x=1692369180;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yUcu2qxnQUPl60o9J+2YFJhCdL460tY2JEgoa99A+hs=;
        b=kpmGNC0rGdvqjEnckQmthWRufVqIFbkXrlV1X8NxCthx0hq5FHxZabpthDdNBYljYB
         BE2b4op30+CS9s6+msN5L4Qs85H43tMFlRvdX5UQLrX3ABo9B8bKQJczO1phoEw+gH1G
         yupgxEROaEzYvhy84SMLfwOT9EBlu84M11LSFqq3c6sUDMqUOv+faXSXcHhrAcxMpftL
         CVdPVTdvKjIflbyCY2LRVGueomS7UjvHGpZdY+IS7k36s1fwqEY0h3XL1QKkkwkJ0b7Z
         YzMI8FBjed9DITZiNZ1wzFJI9dKDC20mlpAYoY9GenR0TzTuOymF+DF/vMRd9QJ0MdbU
         9D0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764380; x=1692369180;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yUcu2qxnQUPl60o9J+2YFJhCdL460tY2JEgoa99A+hs=;
        b=P24XaqRIDpVqe70esv2MgjtJQjkvl8joO3NUpVJQ/ihXF/CFWpQmDNCYiH/BBvjWXC
         KEAc4DPdoadtKHgPEjOBzRKhhLjLNFfFZjPd6/yxJ8BtnlIiIUSnVgMfNE87FVI3aZvz
         XoGdhU8Ml+2irn6IHcpz8qa2X7VUqvjSYx0qcdUNPvBT1bDbSn5bY5JyCuYVEYfce0mD
         BlDroRY6eI/FXrI/kbMTWS8hb493bp7M/Zq3w/FqAhlYr19XJQ5uHMSe9fO22xwdgYwu
         wOJSKuZC9bNQpJbk2jQTUQ4cTMJdJe0DLQ0a5swew5BWsCechGI/1jQo7MLIUpglneA8
         chDw==
X-Gm-Message-State: AOJu0YyV7qUVluFU13ezcSQCXWdL1UfDuLBu8JpP/w+eFjU2IL/LMgrb
	7RiISImK2Ffte92fUNaQ/ZVJOnY6Q+o=
X-Google-Smtp-Source: AGHT+IG3DDqQ/ltjvGgtw/Whl2OwvjMojKAXkZMmzPqYsbf0lTo9FGVz+/HNzm7xePWRhZRr93Tuig==
X-Received: by 2002:ac2:5205:0:b0:4fe:e8f:e216 with SMTP id a5-20020ac25205000000b004fe0e8fe216mr1486152lfl.39.1691764379572;
        Fri, 11 Aug 2023 07:32:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 3/6] xen/riscv: introduce decode_cause() stuff
Date: Fri, 11 Aug 2023 17:32:52 +0300
Message-ID: <c181786ff264f07e13068dde239ef65e220a41b3.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces stuff needed to decode a reason of an
exception.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V8:
  - fix typo in return string from decode_reserved_interrupt_cause
  - add Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V7:
 - Nothing changed. Only rebase.
---
Changes in V6:
 - Remove usage of LINK_TO_LOAD() due to the MMU being enabled first.
 - Change early_printk() to printk()
---
Changes in V5:
  - Remove <xen/error.h> from riscv/traps/c as nothing would require
    inclusion.
  - decode_reserved_interrupt_cause(), decode_interrupt_cause(), decode_cause, do_unexpected_trap()
    were made as static they are expected to be used only in traps.c
  - use LINK_TO_LOAD() for addresses which can be linker time relative.
---
Changes in V4:
  - fix string in decode_reserved_interrupt_cause()
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Make decode_trap_cause() more optimization friendly.
  - Merge the pathc which introduces do_unexpected_trap() to the current one.
---
 xen/arch/riscv/traps.c | 84 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 83 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..a2b63d579b 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,10 +4,92 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+
+#include <asm/csr.h>
+#include <asm/early_printk.h>
 #include <asm/processor.h>
 #include <asm/traps.h>
 
-void do_trap(struct cpu_user_regs *cpu_regs)
+static const char *decode_trap_cause(unsigned long cause)
+{
+    static const char *const trap_causes[] = {
+        [CAUSE_MISALIGNED_FETCH] = "Instruction Address Misaligned",
+        [CAUSE_FETCH_ACCESS] = "Instruction Access Fault",
+        [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction",
+        [CAUSE_BREAKPOINT] = "Breakpoint",
+        [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned",
+        [CAUSE_LOAD_ACCESS] = "Load Access Fault",
+        [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned",
+        [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault",
+        [CAUSE_USER_ECALL] = "Environment Call from U-Mode",
+        [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode",
+        [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode",
+        [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault",
+        [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault",
+        [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault",
+        [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page Fault",
+        [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault",
+        [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction Fault",
+        [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page Fault",
+    };
+
+    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
+        return trap_causes[cause];
+    return "UNKNOWN";
+}
+
+static const char *decode_reserved_interrupt_cause(unsigned long irq_cause)
+{
+    switch ( irq_cause )
+    {
+    case IRQ_M_SOFT:
+        return "M-mode Software Interrupt";
+    case IRQ_M_TIMER:
+        return "M-mode Timer Interrupt";
+    case IRQ_M_EXT:
+        return "M-mode External Interrupt";
+    default:
+        return "UNKNOWN IRQ type";
+    }
+}
+
+static const char *decode_interrupt_cause(unsigned long cause)
+{
+    unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG;
+
+    switch ( irq_cause )
+    {
+    case IRQ_S_SOFT:
+        return "Supervisor Software Interrupt";
+    case IRQ_S_TIMER:
+        return "Supervisor Timer Interrupt";
+    case IRQ_S_EXT:
+        return "Supervisor External Interrupt";
+    default:
+        return decode_reserved_interrupt_cause(irq_cause);
+    }
+}
+
+static const char *decode_cause(unsigned long cause)
+{
+    if ( cause & CAUSE_IRQ_FLAG )
+        return decode_interrupt_cause(cause);
+
+    return decode_trap_cause(cause);
+}
+
+static void do_unexpected_trap(const struct cpu_user_regs *regs)
 {
+    unsigned long cause = csr_read(CSR_SCAUSE);
+
+    printk("Unhandled exception: %s\n", decode_cause(cause));
+
     die();
 }
+
+void do_trap(struct cpu_user_regs *cpu_regs)
+{
+    do_unexpected_trap(cpu_regs);
+}
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:33:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582507.912343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCL-000646-HI; Fri, 11 Aug 2023 14:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582507.912343; Fri, 11 Aug 2023 14:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTCL-00063x-EN; Fri, 11 Aug 2023 14:33:05 +0000
Received: by outflank-mailman (input) for mailman id 582507;
 Fri, 11 Aug 2023 14:33:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCJ-0004v5-Us
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:03 +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 f9bcacf7-3853-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 16:33:01 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-4fe4f5290daso3197740e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:33:02 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.33.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:33:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9bcacf7-3853-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764382; x=1692369182;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jFpMwQTvtWnzo8KwJdfRA9hSdfLNtSc3JC0W+s/e69Y=;
        b=P5p5421NCrEG8Ee6OjVvEtTzJqh/gZr4I11F/MVRGw8mylTa77oLnjMUivSurxOrm8
         kT0ZVuSdvBJwvF2rlVH5af9eQ6yYJqSeBkz+3Icxk9m3BjRV7TtlfpwK0UDA9dxw5yIc
         e1tFzdOx1oHhkmGSKU82xA1qfYNZxO+Tl0zsLAEI1sPphlXMout0wEXYInSp9p+T8Z27
         7WyStY3dW05+tRPeHp4HOB4YHsrb+OKa8n0GE2Gjwx7Gt2q10l6FBruaSaX+lv7RYyZe
         wUOZ6Zo2VUI/yD2PjkmRGLiTxVw7D48tdFcNLX/tYSQmKSC/vmK6s8gCJdtEqI2bXW2y
         4eXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764382; x=1692369182;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jFpMwQTvtWnzo8KwJdfRA9hSdfLNtSc3JC0W+s/e69Y=;
        b=DcB+yDbDSF5/7i012olUijniCxstOR83N6qLsGp4/0ZAXykwRSsY4jopPfRvZPYOJS
         E6KYX99MKW83jm5ynfASoaizA7tJR7hmthRMQ4Yt2A32mQCa3dQRtlxet1IEnVF7RW6X
         BRm9uIz/N7saEZwIaSdP59Q2eic2ihFA1aTsVWnCRRQe/xqd1SbEVOI+37Sri57XHwyy
         he40WxapkySc/PQ+oBCE6buQyPmHB6M4kGYJvw9O/vjBcRd7Mg1iDqqqchxeMmVO2yWq
         RU4e9qodURbrs57Sc8O/5x5ZE8g6zB1FwJHfhw52VbzAhKgXuKKHaA5fZxe+zQY1EqWj
         jQQg==
X-Gm-Message-State: AOJu0YwRwZTjdaELR0clmiZed3dXjOS86yrWXOROCxBYia/ydVWmLaNE
	7/06096xX6g5RJlftUX7lmNJD6VkT/Q=
X-Google-Smtp-Source: AGHT+IG6Q6Ixn2L8rvE0G3xiM07jPib5otv7nMk8wxhac8f6YUd0iuw91E+NK5WgQy510PAzqLGYqw==
X-Received: by 2002:a05:6512:3d1d:b0:4f9:607a:6508 with SMTP id d29-20020a0565123d1d00b004f9607a6508mr1707605lfv.50.1691764381583;
        Fri, 11 Aug 2023 07:33:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 6/6] xen/riscv: test basic handling stuff
Date: Fri, 11 Aug 2023 17:32:55 +0300
Message-ID: <557ee932891edcfd189dfee006317094a9144f10.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V8:
  - Nothing changed. Only rebase.
---
Changes in V6:
  - Nothing changed. Only rebase.
---
Changes in V6:
  - Nothing changed
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Add Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Nothing changed
---
 xen/arch/riscv/setup.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index abdd1669c6..ab83f84e67 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 
@@ -11,6 +12,20 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
+static void test_run_in_exception(struct cpu_user_regs *regs)
+{
+    early_printk("If you see this message, ");
+    early_printk("run_in_exception_handler is most likely working\n");
+}
+
+static void test_macros_from_bug_h(void)
+{
+    run_in_exception_handler(test_run_in_exception);
+    WARN();
+    early_printk("If you see this message, ");
+    early_printk("WARN is most likely working\n");
+}
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
@@ -18,6 +33,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    test_macros_from_bug_h();
+
     early_printk("Hello from C env\n");
 
     early_printk("All set up\n");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:37:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582539.912358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTGY-00089U-CS; Fri, 11 Aug 2023 14:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582539.912358; Fri, 11 Aug 2023 14: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 1qUTGY-00088x-7G; Fri, 11 Aug 2023 14:37:26 +0000
Received: by outflank-mailman (input) for mailman id 582539;
 Fri, 11 Aug 2023 14:37: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=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCJ-00049h-WA
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:04 +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 f9ca3bd4-3853-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:33:02 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-4fe216edaf7so3719472e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:33:01 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.33.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:33:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9ca3bd4-3853-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764381; x=1692369181;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WxemZPSrKphIU1DOnZWltN7srrgDFj6wafS5aBn4TaY=;
        b=RledqS7a4a44XsG7EKTMY24d/SDPhktwyck2xu6KGzJ7wyApw2dfUkQd7Kryd3TO1/
         a5TgrjPSpWXNbIEhgiP1MnemhYvo/Lr102dhbYyr9A6jTFWPOHyuRdA584aSCTQeEO1S
         1MQiQeqq0GFpRj/dpFRe7uVBzXr0aVrIQYwmpfMTu/quwxag+61u6TDRZXrmLEhLJ/4I
         n4hVXqoug9eVGd6w20vIrfK4eroSNCicM04l5OCxpWrUD+EamEGvlA0JrpZaTFHCcUc7
         C9Kfnct8VHop8wCVc69ObTkBuNfHeafbAXIxFe6eFzyLKYAj3i5DaE399QspFyDppNnq
         qCfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764381; x=1692369181;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WxemZPSrKphIU1DOnZWltN7srrgDFj6wafS5aBn4TaY=;
        b=ft+g4b0aH+l074sNllTs/DVG/2admK8Pt3eGu3PhEIsAblkj/wP5AWaZwFs3TI7xX0
         RMxMeelta3TfHaU01FiRlTp34ZuB6DSTdOL6EQqXjRhwlFUI8YrVjAOHR+Y/hdlE5bLF
         uuuHUz5XCFqifj1crin61aviR04x/xEDkN6jKyACQOsRIz4rhGF4v/9MMKFEcuu3/3U4
         shE2+8MMUip7Sv2ySkxAny2UGKgLlD92djRXA7/uVHLx9U7oDwXl/xvAs10m9s6ApRTy
         GX3KhcqlfTE2d/tWieNlb/mxz6E7CWZs+WR07AS6hT9LSse33EoGDmMgFmVBX47+ccT3
         m7wg==
X-Gm-Message-State: AOJu0Yy4GMyHxyPDIVPOt+uBiv9qJ8A1Q8LQVysvunc9dN50Csy4YVX9
	oVKCEDa9k1zB7Bk1QlIr/rTq98zotSw=
X-Google-Smtp-Source: AGHT+IFdYvM9CDX0s6tuokZtE3ADXkxDijqkkbycTjKUe2GpoqCgYMO++xnf4wBPtEU2jr/fZOk7aA==
X-Received: by 2002:a05:6512:3d8b:b0:4fd:d226:adcc with SMTP id k11-20020a0565123d8b00b004fdd226adccmr2129948lfv.21.1691764380992;
        Fri, 11 Aug 2023 07:33:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 5/6] xen/riscv: implement do_bug_frame()
Date: Fri, 11 Aug 2023 17:32:54 +0300
Message-ID: <bb1ebda319fc6f74456306a4051dd6da721bb797.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces the temporary implementation of do_bug_frame().
When common code is merged, CONFIG_GENERIC_BUG_FRAME should
be used instead.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
  - remove Pointless initializer of id.
  - make bug_frames[] array constant.
  - remove cast_to_bug_frame(addr).
  - rename is_valig_bugaddr to is_valid_bug_insn().
  - add check that read_instr is used only on xen code
  - update the commit message.
---
Changes in V7:
 - move to this patch the definition of cast_to_bug_frame() from the previous patch.
 - update the comment in bug.h.
 - update the comment above do_bug_frame().
 - fix code style.
 - add comment to read_instr func.
 - add space for bug_frames in lds.S. 
---
Changes in V6:
  - Avoid LINK_TO_LOAD() as bug.h functionality expected to be used
    after MMU is enabled.
  - Change early_printk() to printk()
---
Changes in V5:
  - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
  - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
  - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
    the patch
  - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce read_instr() to
    read instruction properly as the length of qinstruction can be either 32 or 16 bits.
  - Code style fixes
  - update the comments before do_bug_frame() in riscv/trap.c
  - Refactor is_valid_bugaddr() function.
  - introduce macros cast_to_bug_frame(addr) to hide casts.
  - use LINK_TO_LOAD() for addresses which are linker time relative.
---
Changes in V4:
  - Updates in RISC-V's <asm/bug.h>:
    * Add explanatory comment about why there is only defined for 32-bits length
      instructions and 16/32-bits BUG_INSN_{16,32}.
    * Change 'unsigned long' to 'unsigned int' inside GET_INSN_LENGTH().
    * Update declaration of is_valid_bugaddr(): switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'.
  - Updates in RISC-V's traps.c:
    * replace /xen and /asm includes 
    * update definition of is_valid_bugaddr():switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'. Code style inside function
      was updated too.
    * do_bug_frame() refactoring:
      * local variables start and bug became 'const struct bug_frame'
      * bug_frames[] array became 'static const struct bug_frame[] = ...'
      * remove all casts
      * remove unneeded comments and add an explanatory comment that the do_bug_frame()
        will be switched to a generic one.
    * do_trap() refactoring:
      * read 16-bits value instead of 32-bits as compressed instruction can
        be used and it might happen than only 16-bits may be accessible.
      * code style updates
      * re-use instr variable instead of re-reading instruction.
  - Updates in setup.c:
    * add blank line between xen/ and asm/ includes.
---
Changes in V3:
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
---
Changes in V2:
  - Remove __ in define namings
  - Update run_in_exception_handler() with
    register void *fn_ asm(__stringify(BUG_FN_REG)) = (fn);
  - Remove bug_instr_t type and change it's usage to uint32_t
---
 xen/arch/riscv/traps.c   | 138 +++++++++++++++++++++++++++++++++++++++
 xen/arch/riscv/xen.lds.S |  10 +++
 2 files changed, 148 insertions(+)

diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index c1175668b6..b096dce6c7 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -5,6 +5,8 @@
  * RISC-V Trap handlers
  */
 
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
 
 #include <asm/csr.h>
@@ -101,7 +103,143 @@ static void do_unexpected_trap(const struct cpu_user_regs *regs)
     die();
 }
 
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    printk("implement show_execution_state(regs)\n");
+}
+
+/*
+ * TODO: generic do_bug_frame() should be used instead of current
+ * implementation panic(), printk() and find_text_region()
+ * (virtual memory?) will be ready/merged
+ */
+int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
+{
+    const struct bug_frame *start, *end;
+    const struct bug_frame *bug = NULL;
+    unsigned int id;
+    const char *filename, *predicate;
+    int lineno;
+
+    static const struct bug_frame * const bug_frames[] = {
+        &__start_bug_frames[0],
+        &__stop_bug_frames_0[0],
+        &__stop_bug_frames_1[0],
+        &__stop_bug_frames_2[0],
+        &__stop_bug_frames_3[0],
+    };
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        start = bug_frames[id];
+        end   = bug_frames[id + 1];
+
+        while ( start != end )
+        {
+            if ( (vaddr_t)bug_loc(start) == pc )
+            {
+                bug = start;
+                goto found;
+            }
+
+            start++;
+        }
+    }
+
+ found:
+    if ( bug == NULL )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        goto end;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s:%d\n", filename, lineno);
+
+        show_execution_state(regs);
+
+        goto end;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s:%d\n", filename, lineno);
+
+        show_execution_state(regs);
+
+        printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+
+        printk("Assertion %s failed at %s:%d\n", predicate, filename, lineno);
+
+        show_execution_state(regs);
+
+        printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+    }
+
+    return -EINVAL;
+
+ end:
+    return 0;
+}
+
+static bool is_valid_bug_insn(uint32_t insn)
+{
+    return insn == BUG_INSN_32 ||
+           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;
+}
+
+/* There are no guests for now so  the func has to return alwasys false */
+static inline bool guest_mode(void)
+{
+    return false;
+}
+
+/* Should be used only on Xen code */
+static uint32_t read_instr(unsigned long pc)
+{
+    uint16_t instr16 = *(uint16_t *)pc;
+
+    if ( guest_mode() )
+    {
+        printk("%s should be called only on Xen code\n", __func__);
+        die();
+    }
+
+    if ( GET_INSN_LENGTH(instr16) == 2 )
+        return instr16;
+    else
+        return *(uint32_t *)pc;
+}
+
 void do_trap(struct cpu_user_regs *cpu_regs)
 {
+    register_t pc = cpu_regs->sepc;
+    uint32_t instr = read_instr(pc);
+
+    if ( is_valid_bug_insn(instr) )
+    {
+        if ( !do_bug_frame(cpu_regs, pc) )
+        {
+            cpu_regs->sepc += GET_INSN_LENGTH(instr);
+            return;
+        }
+    }
+
     do_unexpected_trap(cpu_regs);
 }
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 3fa7db3bf9..a10e0ad87c 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -45,6 +45,16 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata = .;          /* Read-only data */
+        /* Bug frames table */
+        __start_bug_frames = .;
+        *(.bug_frames.0)
+        __stop_bug_frames_0 = .;
+        *(.bug_frames.1)
+        __stop_bug_frames_1 = .;
+        *(.bug_frames.2)
+        __stop_bug_frames_2 = .;
+        *(.bug_frames.3)
+        __stop_bug_frames_3 = .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:37:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:37:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582538.912353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTGY-00086z-3Q; Fri, 11 Aug 2023 14:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582538.912353; Fri, 11 Aug 2023 14: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 1qUTGY-00086s-0j; Fri, 11 Aug 2023 14:37:26 +0000
Received: by outflank-mailman (input) for mailman id 582538;
 Fri, 11 Aug 2023 14:37:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUTCH-00049h-VT
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:33:01 +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 f9208269-3853-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:33:00 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-4fe1489ced6so3309330e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 07:33:00 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 q2-20020ac25a02000000b004fe07f06337sm753453lfn.53.2023.08.11.07.32.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 07:32:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9208269-3853-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691764380; x=1692369180;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nt7soPoblldHqrs8iwJbMnbI3th3kHrjMiBeC6m3Zr4=;
        b=cMPfu9KZPOhHwuYJe5Ic3ZCC/qBC+8k5RNGZzZ0LNtY1oFu0pi7gqF/m7Mfrt6UpOk
         7rPXfc2BpnF7lwRF7OdnspLelDtF4YkDNBPRUY8zL78BhIjKNK1GHGg0B2zuesgCSojb
         EUEfWmlES0cKFY/W7HZU++baBk4b/PzDepRR/zTHVBQe6xicajFLpu/ZEUZhV6UY5vKT
         DbJP8BTX3k/Uti5DFwg432RKO+4CsBtiNQZaWNO5TN1nuj3hekiGB5jHn/ooXH2SWyUd
         48IH54Ds7M1IZH/5MqsQdjDB79qhl/1lZntlgoYsxe8yB1kv8AnWRk/TpEPhpznadYpo
         G5jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691764380; x=1692369180;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nt7soPoblldHqrs8iwJbMnbI3th3kHrjMiBeC6m3Zr4=;
        b=FZ/Y6Xs1jUoiZzI+EDymXfKQceLg5Y+meAW+IpTONUAap6G8g2VE8IFSEwUS56JHZ2
         hsmUNfFpw3Z69yFaKXyDlnt+27JGSr4jrdSzculmAP1XJLESY54TGrUuwni48vnJNjsM
         +cOWS7BSAyiVOOENzK2MXBvmPWKrdUAkNGuzuRLWOshe1XMS18ntDTIDXulZBMFSSSlT
         2nnf3jt2o4j1RZKDps499ZsJV/qiLJddgc8qBp/ynIItrw2J3dqZ5tbSR7b1MBYtfEiw
         gRIChDtovIBNNTnXtyw8RT8bN7s9Bn2QZcCDKqFSbD5tHKs7JL2RTfIqK3kF49V3kHBM
         oS4Q==
X-Gm-Message-State: AOJu0Yw5QjeKnMVlIv8C2cr/0KfC6tDvma2UfjhryG1LO2F31u+fIF+P
	xMEfOTVCfKvOnF+nWUlUca2hrVt0sb0=
X-Google-Smtp-Source: AGHT+IFLritZVFHFNIyx1qPpf3U57eldQaFfs/SVN+5U80NMv5bcu2V+pM3HV3sGy1NKrD/z2JjUyw==
X-Received: by 2002:a05:6512:2249:b0:4fb:8eec:ce49 with SMTP id i9-20020a056512224900b004fb8eecce49mr1870456lfu.31.1691764380132;
        Fri, 11 Aug 2023 07:33:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 4/6] xen/riscv: introduce trap_init()
Date: Fri, 11 Aug 2023 17:32:53 +0300
Message-ID: <e7e267e4d0032d45e03870c9778e68943d2e0edd.1691763757.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V8:
 - nothing changed. only rebase was done.
---
Changes in V7:
 - #define cast_to_bug_frame(addr) ((const struct bug_frame *)(addr)).
 - remove unnecessary comments in trap_init() function.
---
Changes in V6:
 - trap_init() is now called after enabling the MMU.
 - Add additional explanatory comments.
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Nothing changed
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Rename setup_trap_handler() to trap_init().
  - Add Reviewed-by to the commit message.
---
 xen/arch/riscv/include/asm/traps.h |  1 +
 xen/arch/riscv/setup.c             |  3 +++
 xen/arch/riscv/traps.c             | 12 ++++++++++++
 3 files changed, 16 insertions(+)

diff --git a/xen/arch/riscv/include/asm/traps.h b/xen/arch/riscv/include/asm/traps.h
index 3fef318478..c30118e095 100644
--- a/xen/arch/riscv/include/asm/traps.h
+++ b/xen/arch/riscv/include/asm/traps.h
@@ -9,6 +9,7 @@
 
 void do_trap(struct cpu_user_regs *cpu_regs);
 void handle_trap(void);
+void trap_init(void);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6593f601c1..abdd1669c6 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -5,6 +5,7 @@
 
 #include <asm/early_printk.h>
 #include <asm/mm.h>
+#include <asm/traps.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
@@ -15,6 +16,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     remove_identity_mapping();
 
+    trap_init();
+
     early_printk("Hello from C env\n");
 
     early_printk("All set up\n");
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index a2b63d579b..c1175668b6 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -12,6 +12,18 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+/*
+ * Initialize the trap handling.
+ *
+ * The function is called after MMU is enabled.
+ */
+void trap_init(void)
+{
+    unsigned long addr = (unsigned long)&handle_trap;
+
+    csr_write(CSR_STVEC, addr);
+}
+
 static const char *decode_trap_cause(unsigned long cause)
 {
     static const char *const trap_causes[] = {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:48:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582553.912372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTRZ-0001qz-Di; Fri, 11 Aug 2023 14:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582553.912372; Fri, 11 Aug 2023 14:48:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTRZ-0001qs-BA; Fri, 11 Aug 2023 14:48:49 +0000
Received: by outflank-mailman (input) for mailman id 582553;
 Fri, 11 Aug 2023 14:48:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ud7f=D4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qUTRY-0001qm-BJ
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:48:48 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d0f511a-3856-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:48:47 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B55A81F890;
 Fri, 11 Aug 2023 14:48:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5CA0D138E2;
 Fri, 11 Aug 2023 14:48:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Ct4VFU5K1mTfIwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 11 Aug 2023 14:48:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d0f511a-3856-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691765326; 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=Gw52YPmnJbwbBui3jMLpskbzPI80Nh14yVsnnlONxsk=;
	b=FCCNBvqHru32bhc8TbaxBFcFU0nAAL5mMdjW1sCrAc2Y1lUMUvAXDq/BTAxR3gXQNoiDoQ
	wGxSqlpsR01QwTqKHY3Ph5QjnxDvqiEWPNijQyKtrC2sn3tLa3v9xg4Eg2ix0Acy4MZADt
	IU/ILViVUL0gNz39+KovsZLT4eVD2Oo=
Message-ID: <90fea352-28f1-44b3-af68-4164923e0415@suse.com>
Date: Fri, 11 Aug 2023 16:48:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/xen: Make virt_to_pfn() a static inline
Content-Language: en-US
To: Linus Walleij <linus.walleij@linaro.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
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: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LyyBIubDDvwubRKKekZ0lyPg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LyyBIubDDvwubRKKekZ0lyPg
Content-Type: multipart/mixed; boundary="------------0mo6g77IQFk0gt5SdmlFBb8L";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Linus Walleij <linus.walleij@linaro.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <90fea352-28f1-44b3-af68-4164923e0415@suse.com>
Subject: Re: [PATCH] x86/xen: Make virt_to_pfn() a static inline
References: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
In-Reply-To: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>

--------------0mo6g77IQFk0gt5SdmlFBb8L
Content-Type: multipart/mixed; boundary="------------GkKNuK07sT0oo4ArMpofhz2w"

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

T24gMTAuMDguMjMgMDk6MjcsIExpbnVzIFdhbGxlaWogd3JvdGU6DQo+IE1ha2luZyB2aXJ0
X3RvX3BmbigpIGEgc3RhdGljIGlubGluZSB0YWtpbmcgYSBzdHJvbmdseSB0eXBlZA0KPiAo
Y29uc3Qgdm9pZCAqKSBtYWtlcyB0aGUgY29udHJhY3Qgb2YgYSBwYXNzaW5nIGEgcG9pbnRl
ciBvZiB0aGF0DQo+IHR5cGUgdG8gdGhlIGZ1bmN0aW9uIGV4cGxpY2l0IGFuZCBleHBvc2Vz
IGFueSBtaXN1c2Ugb2YgdGhlDQo+IG1hY3JvIHZpcnRfdG9fcGZuKCkgYWN0aW5nIHBvbHlt
b3JwaGljIGFuZCBhY2NlcHRpbmcgbWFueSB0eXBlcw0KPiBzdWNoIGFzICh2b2lkICopLCAo
dW5pdHB0cl90KSBvciAodW5zaWduZWQgbG9uZykgYXMgYXJndW1lbnRzDQo+IHdpdGhvdXQg
d2FybmluZ3MuDQo+IA0KPiBBbHNvIGZpeCBhbGwgb2ZmZW5kaW5nIGNhbGwgc2l0ZXMgdG8g
cGFzcyBhICh2b2lkICopIHJhdGhlcg0KPiB0aGFuIGFuIHVuc2lnbmVkIGxvbmcuIFNpbmNl
IHZpcnRfdG9fbWZuKCkgaXMgd3JhcHBpbmcNCj4gdmlydF90b19wZm4oKSB0aGlzIGZ1bmN0
aW9uIGhhcyBiZWNvbWUgcG9seW1vcnBoaWMgYXMgd2VsbA0KPiBzbyB0aGUgdXNhZ2UgbmVl
ZCB0byBiZSBmaXhlZCB1cC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IExpbnVzIFdhbGxlaWog
PGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4NCg0KQWNrZWQtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------GkKNuK07sT0oo4ArMpofhz2w
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------GkKNuK07sT0oo4ArMpofhz2w--

--------------0mo6g77IQFk0gt5SdmlFBb8L--

--------------LyyBIubDDvwubRKKekZ0lyPg
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/Ey8FAmTWSk0FAwAAAAAACgkQsN6d1ii/Ey/X
5Qf8C7GqyT2mz7CEqG2ZUTnQuF47cxJK++r2KNPIZ1RoC+/FnHzCR1zL7khkuIffxJqktzwxX7QW
nfFKAqvrCvrOPFebjzewdwkwkI0coeKgDgDMu8eH9ognbZi/2cIm4G+sqjdfC55hxcNP2IbN7pr6
KiAoswuhEv2i3DslqzQ/8CZvkMLhVItOvqcWAlF0A0cJ7aF7duJV34THQJSU8+789x0OL6s4LYue
sY3tCVRr50mtjX5B36/AQ6xA/a1WLdTDtzGfz+7u6XgrUD65uEIFkBzvvw7iy1YN3ymna3/XlaiE
YgJgUnXA76LzJq/TAIIGA5G8NOYMTo0Jfc/wRCphDQ==
=u8Kt
-----END PGP SIGNATURE-----

--------------LyyBIubDDvwubRKKekZ0lyPg--


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:49:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582557.912383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTSe-0002O5-PM; Fri, 11 Aug 2023 14:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582557.912383; Fri, 11 Aug 2023 14:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTSe-0002Ny-Lt; Fri, 11 Aug 2023 14:49:56 +0000
Received: by outflank-mailman (input) for mailman id 582557;
 Fri, 11 Aug 2023 14:49:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ud7f=D4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qUTSd-0002Ke-BW
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:49:55 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5500d862-3856-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 16:49:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C87411F889;
 Fri, 11 Aug 2023 14:49:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9FB11138E2;
 Fri, 11 Aug 2023 14:49:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oGVhJZFK1mTfIwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 11 Aug 2023 14:49: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: 5500d862-3856-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691765393; 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=6WurM74KXhaYR1qs1kYjwI3DimW6fjk3sdl7QgBWM2w=;
	b=Tg+Sae6w2nU87huYdxwhYuysXVDJ4aAg+mmZ/BYCQ4kEErKImsPibkFamyssRe7FgoSaq2
	25Ae1bhxdrnS2k0fN9DzNUO9bX1NvnspJF86nStCff0XrnDBkBtOoMAEWQ/7XDWmUbL8BY
	8zxTuSsrJUWxsqwu61uUx/uqvyNpTRY=
Message-ID: <15581a3a-d68f-4217-81cf-faccaf40c10d@suse.com>
Date: Fri, 11 Aug 2023 16:49:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen-pciback: Remove unused function declarations
Content-Language: en-US
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org
References: <20230808150912.43416-1-yuehaibing@huawei.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: <20230808150912.43416-1-yuehaibing@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EA0hHr25sfto1AEuBxnbOg4X"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EA0hHr25sfto1AEuBxnbOg4X
Content-Type: multipart/mixed; boundary="------------dWIAPv4QqsFrFKqG80hCwTTr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org
Message-ID: <15581a3a-d68f-4217-81cf-faccaf40c10d@suse.com>
Subject: Re: [PATCH -next] xen-pciback: Remove unused function declarations
References: <20230808150912.43416-1-yuehaibing@huawei.com>
In-Reply-To: <20230808150912.43416-1-yuehaibing@huawei.com>

--------------dWIAPv4QqsFrFKqG80hCwTTr
Content-Type: multipart/mixed; boundary="------------2bz8e48wvJeAh7YPJocEpVIB"

--------------2bz8e48wvJeAh7YPJocEpVIB
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMDguMjMgMTc6MDksIFl1ZSBIYWliaW5nIHdyb3RlOg0KPiBDb21taXQgYTkyMzM2
YTExNzZiICgieGVuL3BjaWJhY2s6IERyb3AgdHdvIGJhY2tlbmRzLCBzcXVhc2ggYW5kIGNs
ZWFudXAgc29tZSBjb2RlLiIpDQo+IGRlY2xhcmVkIGJ1dCBuZXZlciBpbXBsZW1lbnRlZCB0
aGVzZSBmdW5jdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBZdWUgSGFpYmluZyA8eXVl
aGFpYmluZ0BodWF3ZWkuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------2bz8e48wvJeAh7YPJocEpVIB
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2bz8e48wvJeAh7YPJocEpVIB--

--------------dWIAPv4QqsFrFKqG80hCwTTr--

--------------EA0hHr25sfto1AEuBxnbOg4X
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/Ey8FAmTWSpEFAwAAAAAACgkQsN6d1ii/Ey9C
zAgAiIrnvrQQa9K9YJIH2RlHu5ZHjLZUf5H1PEcrSKB4qtVT0sLMKvzmfpeMnb9IUApKm/yfW/ER
vNf9ZDH1kKmnwo3r7FdkumZamohs794Ymt4aq9oflLASCZLjzj7X3UZX7DjRCcOylvpYF+xOmYA1
gJxy6chfLfGevkEC8Kn78/PgewzAc75mhp6u/OCS95g7r5GXEZdR2VD1lVQNU+n6XKPcZJtOLuKL
TNk4cf6U5OcOWrB4GVyjR+xAgRI90JXm0xutppyvi1uxT5AUupMQX5rxnbrtScM/MKIuaW0mW0XU
ET9+AtHJPwVPHSOUztFq5HFcf7x+cTABBCMBmNEKUw==
=NOQf
-----END PGP SIGNATURE-----

--------------EA0hHr25sfto1AEuBxnbOg4X--


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:52:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:52:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582562.912393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTV2-0003q6-4l; Fri, 11 Aug 2023 14:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582562.912393; Fri, 11 Aug 2023 14: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 1qUTV2-0003pz-21; Fri, 11 Aug 2023 14:52:24 +0000
Received: by outflank-mailman (input) for mailman id 582562;
 Fri, 11 Aug 2023 14:52: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 1qUTV0-0003pn-JU; Fri, 11 Aug 2023 14:52: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 1qUTV0-0005Yg-75; Fri, 11 Aug 2023 14:52: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 1qUTUz-0005um-OW; Fri, 11 Aug 2023 14:52:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUTUz-0006cA-Nm; Fri, 11 Aug 2023 14:52: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=rGWINyHEYLtjL8xGhPTN7wCtEFOJ0Z/2ghdRxncWhCs=; b=6v1cdcKt5hQQEd39nIKO1ni9NA
	vbnSrDLf/j0COHd5JPH5il/VQey+NOFKuobEsdwm+omG54hh8/uIQLOis3UKbRSoRDrzwcF+8KTFA
	RfePc/FO3YGmi6GkI38UlPHaiVQjh+e4OX8HvQrvabnzt2Y3yIaXPFV9MR5gWov0aRR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182264-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182264: trouble: broken/pass
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:<job status>:broken:regression
    libvirt:test-amd64-amd64-libvirt-vhd:host-install(5):broken:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=85688f475f949eb08074343ca936bf513210f505
X-Osstest-Versions-That:
    libvirt=831b5a6bd6d72d58494018b7051894ccc1310c49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 14:52:21 +0000

flight 182264 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182264/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd    <job status>                 broken
 test-amd64-amd64-libvirt-vhd  5 host-install(5)        broken REGR. vs. 182244

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182244
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182244
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182244
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              85688f475f949eb08074343ca936bf513210f505
baseline version:
 libvirt              831b5a6bd6d72d58494018b7051894ccc1310c49

Last test of basis   182244  2023-08-09 04:20:35 Z    2 days
Testing same since   182264  2023-08-10 17:14:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-libvirt-vhd broken
broken-step test-amd64-amd64-libvirt-vhd host-install(5)

Not pushing.

------------------------------------------------------------
commit 85688f475f949eb08074343ca936bf513210f505
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Wed Aug 9 15:14:35 2023 +0200

    virsh: doMigrate: Require --copy-storage-(all|inc) with --migrate-disks
    
    Users need to enable non-shared-storage migration, otherwise the disks
    specified via '--migrate-disks' will be ignored.
    
    Add an error message to inform the users of their wrong config.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: JĂ¡n Tomko <jtomko@redhat.com>

commit 1c2bd205eddecc26245123117af19576ecc82c9e
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Wed Aug 9 15:02:04 2023 +0200

    virsh: doMigrate: Rework virsh option to migration flag conversion
    
    Convert the flags declaratively as in the vast majority of cases it's a
    simple binary addition if the flag exists.
    
    In one instance there was also an additional check, which was moved up
    after the new code, and the error message was fixed.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: JĂ¡n Tomko <jtomko@redhat.com>

commit ba8ae0532b3039ed308320f733aa1618fbe5758b
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Wed Aug 9 14:18:58 2023 +0200

    qemuMigrationSrcBeginPhase: Require storage migration when 'migrate_disks' parameter is specified
    
    If a user passes a list of disks to migrate but don't actually use
    'VIR_MIGRATE_NON_SHARED_DISK' or 'VIR_MIGRATE_NON_SHARED_INC' flags the
    parameter would be simply ignored without informing the user of the
    error.
    
    Add a proper error in such case.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: JĂ¡n Tomko <jtomko@redhat.com>

commit deac6f017e9ffaae4060d461b87e0d61ddbb1e3a
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Wed Aug 9 14:10:14 2023 +0200

    qemuMigrationSrcBeginPhase: Properly report error when non-shared storage migration is requested over tunnel
    
    When VIR_MIGRATE_TUNNELLED is used without
    VIR_MIGRATE_NON_SHARED_DISK/VIR_MIGRATE_NON_SHARED_INC
    an error was reported without actually returning failure.
    
    This was caused by a refactor which dropped many error paths.
    
    Fixes: 6111b235224
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: JĂ¡n Tomko <jtomko@redhat.com>

commit fa1a54baa59d244289ce666f9dc52d9eabca47f1
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Tue Aug 8 15:53:53 2023 +0200

    virStorageBackendLogicalCheckPool: Properly mark empty logical pools as active
    
    The '/dev' filesystem convenience directory for a LVM volume group is
    not created when the volume group is empty.
    
    The logic in 'virStorageBackendLogicalCheckPool' which is used to see
    whether a pool is active was first checking presence of the directory,
    which failed for an empty VG.
    
    Since the second step is virStorageBackendLogicalMatchPoolSource which
    is checking mapping between configured PVs and the VG, we can simply
    rely on the function to also check presence of the pool.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2228223
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: JĂ¡n Tomko <jtomko@redhat.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 14:59:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 14:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582576.912403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUTbx-0004am-W0; Fri, 11 Aug 2023 14:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582576.912403; Fri, 11 Aug 2023 14: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 1qUTbx-0004af-T8; Fri, 11 Aug 2023 14:59:33 +0000
Received: by outflank-mailman (input) for mailman id 582576;
 Fri, 11 Aug 2023 14:59: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=hSUX=D4=citrix.com=prvs=58088f632=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qUTbw-0004aZ-3x
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 14:59:32 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e2edecc-3857-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 16:59: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: 9e2edecc-3857-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1691765948;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=eV+onJLZ42IXAZhMR42At7JQvu6sYpBJQneOG7gwK3s=;
  b=bB6hMbEO7CgyjTBfs4YXLoYQRBV+z3BXmQ0QBvJPpM01U6f0b+jRa30K
   l2L4giLgB4hltnejK70A27ZoUPwbbemX+i8F3aOUu/4pTVjdN1rbACu7g
   r57kqJv0ZgRQqbib2Kfk7Di1x+1ARmw0wis3ggGyILjo9FkCm8dsCdnIz
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119257033
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:LF/PbKIRzhNLeQXqFE+R+JUlxSXFcZb7ZxGr2PjKsXjdYENSgWQEn
 WVJCm3Xb/zZazGgKNwlPoXl80pSvMPWn9U3T1dlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gVnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4tUXxW0
 r84AQxcZxmaxMWt+6ChePtj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHJQPwxnA/
 TmuE2LRXg9Lc+XAkBy8/GPwpLPSzT32fJ5OG+jtnhJtqALKnTFCYPEMbnO5q/Skjk+1W/pEN
 lcZvCEpqMAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAbShZRZdpgs9U5LRQjz
 lKTlsnlLSBuuraSD3ma89+pQSiaYHZPazVYPGldEFVDuoO4yG0usv7RZowzDbaSzf3cJWD5y
 inJizMFla8hn8Fegs1X4mv7qz6ro5HISCs86QPWQn+p42tFWWK1W2C7wQOFtKgdde51WnHE5
 SFZwJbGsIjiGLnXzESwrPMx8KZFDhpvGBnVmhZREpYo7FxBEFbzLNkLsFmSyKqEW/vomAMFg
 meJ5Wu9B7cJZhNGiJObhKrgY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhha
 M7FIJz2UidEVP8PIN+KqwE1i+BDKscWnzm7eHwG507/jer2iIC9Ft/pz2dinshmtfjZ8W05A
 v5UNteQygU3bQENSnC/zGLnFnhTdSJTLcmv+6RqmhurflIO9JcJV6WAntvMuuVNw8xoqws/1
 i3kAhAJkgav3iGvxMfjQikLVY4DlK1X9RoTVRHA937xs5T/Se5DNJsiSqY=
IronPort-HdrOrdr: A9a23:3M1NbatleHRYQ/yRgMoKAiBB7skDUNV00zEX/kB9WHVpm5Sj5q
 eTdYcgpHnJYVcqKQsdcL+7Scq9qB/nmaKdpLNhWYtKPzOWxVdATrsSj7cKqgeIc0aVm9K1l5
 0QFpSWYOeAcWSS5vyV3ODMKbYdKa68kZxA692w85+wJTsaFJ2IpD0JczpzWncGPDWuK6BJb6
 ah2g==
X-Talos-CUID: =?us-ascii?q?9a23=3APWQ0mWjU2l6XzL89YCId00nTIDJuKC3A1FCTA2a?=
 =?us-ascii?q?EWG9gUf6yUmSC4pF2nJ87?=
X-Talos-MUID: 9a23:CKeTHQooZrTNkK2aUZMez218ZYBRvP2IMU4czbdappmaOAhsZzjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,165,1684814400"; 
   d="scan'208";a="119257033"
Date: Fri, 11 Aug 2023 15:59:02 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v3 3/5] x86: allow Kconfig control over psABI level
Message-ID: <810a0e2b-0cb4-4b48-ad3f-dff323efd20c@perard>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <3c819879-d113-facd-b025-b062e68bb6a1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <3c819879-d113-facd-b025-b062e68bb6a1@suse.com>

On Wed, Jul 26, 2023 at 12:34:15PM +0200, Jan Beulich wrote:
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -118,6 +118,36 @@ config HVM
>  
>  	  If unsure, say Y.
>  
> +choice
> +	prompt "base psABI level"
> +	default X86_64_BASELINE
> +	help
> +	  The psABI defines 4 levels of ISA extension sets as a coarse granular
> +	  way of identifying advanced functionality that would be uniformly
> +	  available in respectively newer hardware.  While v4 is not really of
> +	  interest for Xen, the others can be selected here, making the
> +	  resulting Xen no longer work on older hardware.  This option won't
> +	  have any effect if the toolchain doesn't support the distinction.
> +
> +	  If unsure, stick to the default.
> +
> +config X86_64_BASELINE
> +	bool "baseline"
> +
> +config X86_64_V2
> +	bool "v2"
> +	help
> +	  This enables POPCNT and CX16, besides other extensions which are of
> +	  no interest here.
> +
> +config X86_64_V3
> +	bool "v3"
> +	help
> +	  This enables BMI, BMI2, LZCNT, MOVBE, and XSAVE, besides other
> +	  extensions which are of no interest here.
> +
> +endchoice
> +
>  config XEN_SHSTK
>  	bool "Supervisor Shadow Stacks"
>  	depends on HAS_AS_CET_SS
> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -36,6 +36,29 @@ CFLAGS += -mno-red-zone -fpic
>  # the SSE setup for variadic function calls.
>  CFLAGS += -mno-mmx -mno-sse $(call cc-option,$(CC),-mskip-rax-setup)
>  
> +# Enable the selected baseline ABI, if supported by the compiler.
> +x86-64-$(CONFIG_X86_64_BASELINE) :=
> +x86-64-$(CONFIG_X86_64_V2) := x86-64-v2
> +x86-64-$(CONFIG_X86_64_V3) := x86-64-v3
> +
> +ifneq ($(x86-64-y),)
> +CFLAGS-psabi := $(call cc-option,$(CC),-march=$(x86-64-y))
> +
> +ifeq ($(CFLAGS-psabi),)
> +# Fall back to using the subset of -m... options that are of interest.
> +x86-64-v2 := -mpopcnt -mcx16
> +x86-64-v3 := $(x86-64-v2) -mbmi -mbmi2 -mlzcnt -mmovbe -mxsave
> +$(call cc-options-add,CFLAGS-psabi,CC,$($(x86-64-y)))
> +
> +ifneq ($(strip $(CFLAGS-psabi)),$($(x86-64-y)))
> +$(warning Options not recognized by $(CC): $(filter-out $(CFLAGS-psabi),$($(x86-64-y))))
> +XEN_CONFIG_UNSATISFIED += X86_64_Vn

I think I understand Andrew's point on the previous version of this
patch. Here, we barely just print a warning if the compiler isn't
capable to do what we ask, then do the build and maybe print something
after the fact. So we can end up with a build of Xen with an embedded
.config which says X86_64_V3 where in fact it's only a build with the
baseline ABI.

Can't we just fail the build right here instead?

I don't see any need to let Kconfig know if the compiler can do
x86-64-vX or not, beside only presenting actual available options in
`make *config`, and it would override options selected by editing
.config directly.

> +endif
> +endif # CFLAGS-psabi
> +
> +CFLAGS += $(CFLAGS-psabi)
> +endif # x86-64-y

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 15:30:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 15:30:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582587.912418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUU5z-0000lv-Cg; Fri, 11 Aug 2023 15:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582587.912418; Fri, 11 Aug 2023 15:30:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUU5z-0000lo-A4; Fri, 11 Aug 2023 15:30:35 +0000
Received: by outflank-mailman (input) for mailman id 582587;
 Fri, 11 Aug 2023 15:30:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zNma=D4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qUU5y-0000lg-NL
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 15:30:34 +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 01b0cecc-385c-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 17:30:31 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2b703a0453fso32312851fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 08:30:31 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 s10-20020a2e2c0a000000b002b70a64d4desm912846ljs.46.2023.08.11.08.30.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Aug 2023 08:30: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: 01b0cecc-385c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691767830; x=1692372630;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=fI2ZVaMDrZpSyLwoDOVGG7fcDBhoygERsDrcPH8BubI=;
        b=stoH+GNigL6REBlzbEEp65g+2vfqIAY6MED6LGambanWDO2LbEb/w6YRO9ev6OqD29
         HVfK12F/V3CT5+V23rUzveUdM6gFCBrraz1bhyiEYQpBvvCoP937YS4NkGMuc7Js/USz
         yhSgxprlWaqF7hh9wf/kSzfit2uLman7Grxj36LmBitiKwwifsU4pv0oVnP/cSyh/rsu
         Ypz7ZcHc2jeVyvJVRC3pVV6sPJIPWbtkDSZIYHVxNylrhoaYue0tRnDhB7pkv/blNdfT
         4uogYOFlSVrU5CUwZezSrYcGICWWLRZOMhjoT+jL9gy+thO228tQoqtmGQTroiulTiHF
         ryLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691767830; x=1692372630;
        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=fI2ZVaMDrZpSyLwoDOVGG7fcDBhoygERsDrcPH8BubI=;
        b=Qtntrpwuh6WDy8QlXYYY/zx6OPEMMt1y2hJgSCbuPT2N5liOVQlFa6c1FtU/evv3qQ
         L7v+3zUQW9ClEkBkkHL25iM88U9j5TM2GM7nszvQzbJua8anfoB5DR9+EzQ74rHD6ZN5
         MFl3JlPNuaTWVEu7thAUBiPK1x4PPm671ll3yp5YTLNM7FJ6iJOEVrxbd4lEB0HWFIAu
         J2LiRmbAQJlZ0/1qjeNWRK90WurAYM0yc0OaYslWoHGXVSfuykR2vaULEvwbVl/2+cAg
         nAcfJ1plEdDf4JHkqRBkLTACaU01STnZ1llUljrQkWKK3xqK0qJz51ImOtfUv10Ld6AU
         s3Dg==
X-Gm-Message-State: AOJu0YxtpZcFISJbNz+DlLjTxBR6AaQw9gyN75mM5pmZrYz4tbVqaRGc
	G1PTgr9xX/bbOZHHFL0rhIcZEvbY45k=
X-Google-Smtp-Source: AGHT+IESiU2Ql+sIRa/B2v/frnFoa91tdeDLibsC9cgtfMLrIjQgxt8/GqomXHDzQ9c424c2XCHrwQ==
X-Received: by 2002:a2e:7412:0:b0:2b6:c2e4:a57a with SMTP id p18-20020a2e7412000000b002b6c2e4a57amr1811158ljc.38.1691767830163;
        Fri, 11 Aug 2023 08:30:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] ns16550: add support for polling mode when device tree is used
Date: Fri, 11 Aug 2023 18:30:27 +0300
Message-ID: <88bd54876c745ef45eb740274fd36d747c7db471.1691767729.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

RISC-V doesn't support interrupts for the time being, so it would be nice to
have polling mode.

To force poll mode it was added parsing of new 'poll' property under "com1="

If there is no interrupt property in UART node, then polling will be used.
According to 4.2.2 National Semiconductor 16450/16550 Compatible UART
Requirements from The Devicetree Specification v0.4
( https://www.devicetree.org/specifications/ ) the interrupt property is
optional.

Also, it is possible that interrupt '0' can be used for some architectures as
an legal UART interrupt number ( according to dts files in Linux kernel ), so
the check of the return value of platform_get_irq() was updated in case of when
device tree is used for UART initialization.
For example:
https://github.com/torvalds/linux/blob/master/arch/powerpc/boot/dts/ebony.dts#L197

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Update xen-command-line.pandoc.
 - move poll check to ns16550_uart_dt_init as in case of device tree
   initialization it is needed only to check if 'poll' is present in com1.
 - Don't init uart->irq in case when platform_get_irq() return negative value.
---
Changes in V4:
 - fix code style for ns16550_irq().
 - partially revert changes in pci_uart_config().
 - add check of "poll" property under "com<N>=" instead of "console=".
 - remove seting of polling mode in parsing of msi in parse_positional().
 - update comment above opt_com1 about Configuration string of serial port.
---
 docs/misc/xen-command-line.pandoc |  7 +++-
 xen/drivers/char/ns16550.c        | 67 ++++++++++++++++++++-----------
 2 files changed, 49 insertions(+), 25 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 4060ebdc5d..67e355dab8 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -331,9 +331,12 @@ Interrupts.  Specifying zero disables CMCI handling.
 Flag to indicate whether to probe for a CMOS Real Time Clock irrespective of
 ACPI indicating none to be there.
 
+### com1 (device tree based initialization)
+> `= [poll]`
+
 ### com1 (x86)
 ### com2 (x86)
-> `= <baud>[/<base-baud>][,[DPS][,[<io-base>|pci|amt][,[<irq>|msi][,[<port-bdf>][,[<bridge-bdf>]]]]]]`
+> `= <baud>[/<base-baud>][,[DPS][,[<io-base>|pci|amt][,[<irq>|msi|poll][,[<port-bdf>][,[<bridge-bdf>]]]]]]`
 
 Both option `com1` and `com2` follow the same format.
 
@@ -353,7 +356,7 @@ Both option `com1` and `com2` follow the same format.
   * `S` is an integer 1 or 2 for the number of stop bits.
 * `<io-base>` is an integer which specifies the IO base port for UART
   registers.
-* `<irq>` is the IRQ number to use, or `0` to use the UART in poll
+* `<irq>` is the IRQ number to use, or `poll` to use the UART in poll
   mode only, or `msi` to set up a Message Signaled Interrupt.
 * `<port-bdf>` is the PCI location of the UART, in
   `<bus>:<device>.<function>` notation.
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 2aed6ec707..d8cfbbfae4 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -58,7 +58,11 @@ static struct ns16550 {
     struct timer timer;
     struct timer resume_timer;
     unsigned int timeout_ms;
-    bool_t intr_works;
+    enum {
+        intr_off,
+        intr_on,
+        polling,
+    } intr_works;
     bool_t dw_usr_bsy;
 #ifdef NS16550_PCI
     /* PCI card parameters. */
@@ -112,6 +116,19 @@ struct ns16550_config_param {
 static void enable_exar_enhanced_bits(const struct ns16550 *uart);
 #endif
 
+/*
+ * Configure serial port with a string:
+ *   <baud>[/<base_baud>][,DPS[,<io-base>[,<irq>|msi|poll[,<port-bdf>[,<bridge-bdf>]]]]].
+ * The tail of the string can be omitted if platform defaults are sufficient.
+ * If the baud rate is pre-configured, perhaps by a bootloader, then 'auto'
+ * can be specified in place of a numeric baud rate. Polled mode is specified
+ * by poll property.
+ */
+static char __initdata opt_com1[128] = "";
+static char __initdata opt_com2[128] = "";
+string_param("com1", opt_com1);
+string_param("com2", opt_com2);
+
 static void cf_check ns16550_delayed_resume(void *data);
 
 static u8 ns_read_reg(const struct ns16550 *uart, unsigned int reg)
@@ -181,7 +198,7 @@ static void cf_check ns16550_interrupt(
     struct serial_port *port = dev_id;
     struct ns16550 *uart = port->uart;
 
-    uart->intr_works = 1;
+    uart->intr_works = intr_on;
 
     while ( !(ns_read_reg(uart, UART_IIR) & UART_IIR_NOINT) )
     {
@@ -212,7 +229,7 @@ static void cf_check __ns16550_poll(struct cpu_user_regs *regs)
     struct serial_port *port = this_cpu(poll_port);
     struct ns16550 *uart = port->uart;
 
-    if ( uart->intr_works )
+    if ( uart->intr_works == intr_on )
         return; /* Interrupts work - no more polling */
 
     while ( ns_read_reg(uart, UART_LSR) & UART_LSR_DR )
@@ -305,7 +322,8 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     unsigned char lcr;
     unsigned int  divisor;
 
-    uart->intr_works = 0;
+    if ( uart->intr_works != polling )
+        uart->intr_works = intr_off;
 
     pci_serial_early_init(uart);
 
@@ -394,7 +412,7 @@ static void __init cf_check ns16550_init_irq(struct serial_port *port)
 
 static void ns16550_setup_postirq(struct ns16550 *uart)
 {
-    if ( uart->irq > 0 )
+    if ( uart->intr_works != polling )
     {
         /* Master interrupt enable; also keep DTR/RTS asserted. */
         ns_write_reg(uart,
@@ -473,6 +491,7 @@ static void __init cf_check ns16550_init_postirq(struct serial_port *port)
                 if ( rc )
                 {
                     uart->irq = 0;
+                    uart->intr_works = polling;
                     if ( msi_desc )
                         msi_free_irq(msi_desc);
                     else
@@ -488,7 +507,7 @@ static void __init cf_check ns16550_init_postirq(struct serial_port *port)
     }
 #endif
 
-    if ( uart->irq > 0 )
+    if ( uart->intr_works != polling )
     {
         uart->irqaction.handler = ns16550_interrupt;
         uart->irqaction.name    = "ns16550";
@@ -595,7 +614,8 @@ static void __init cf_check ns16550_endboot(struct serial_port *port)
 static int __init cf_check ns16550_irq(struct serial_port *port)
 {
     struct ns16550 *uart = port->uart;
-    return ((uart->irq > 0) ? uart->irq : -1);
+
+    return ((uart->intr_works != polling) ? uart->irq : -1);
 }
 
 static void cf_check ns16550_start_tx(struct serial_port *port)
@@ -1333,9 +1353,13 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
                     uart->irq = 0;
 #endif
                 if ( !uart->irq )
+                {
+                    uart->intr_works = polling;
+
                     printk(XENLOG_INFO
                            "ns16550: %pp: no legacy IRQ, using poll mode\n",
                            &PCI_SBDF(0, b, d, f));
+                }
 
                 return 0;
             }
@@ -1374,19 +1398,6 @@ static void enable_exar_enhanced_bits(const struct ns16550 *uart)
 
 #endif /* CONFIG_HAS_PCI */
 
-/*
- * Configure serial port with a string:
- *   <baud>[/<base_baud>][,DPS[,<io-base>[,<irq>[,<port-bdf>[,<bridge-bdf>]]]]].
- * The tail of the string can be omitted if platform defaults are sufficient.
- * If the baud rate is pre-configured, perhaps by a bootloader, then 'auto'
- * can be specified in place of a numeric baud rate. Polled mode is specified
- * by requesting irq 0.
- */
-static char __initdata opt_com1[128] = "";
-static char __initdata opt_com2[128] = "";
-string_param("com1", opt_com1);
-string_param("com2", opt_com2);
-
 enum serial_param_type {
     baud,
     clock_hz,
@@ -1555,6 +1566,9 @@ static bool __init parse_positional(struct ns16550 *uart, char **str)
         }
         else
 #endif
+        if ( strncmp(conf, "poll", 4) == 0 )
+            uart->intr_works = polling;
+        else
             uart->irq = simple_strtol(conf, &conf, 10);
     }
 
@@ -1760,6 +1774,9 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
 
     ns16550_init_common(uart);
 
+    if ( strstr(opt_com1, "poll") )
+        uart->intr_works = polling;
+
     uart->baud      = BAUD_AUTO;
     uart->data_bits = 8;
     uart->parity    = UART_PARITY_NONE;
@@ -1791,9 +1808,13 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     }
 
     res = platform_get_irq(dev, 0);
-    if ( ! res )
-        return -EINVAL;
-    uart->irq = res;
+    if ( res < 0 )
+    {
+        printk("there is no interrupt property, polling will be used\n");
+        uart->intr_works = polling;
+    }
+    else
+        uart->irq = res;
 
     uart->dw_usr_bsy = dt_device_is_compatible(dev, "snps,dw-apb-uart");
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 15:38:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 15:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582593.912429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUUDa-0001RV-4w; Fri, 11 Aug 2023 15:38:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582593.912429; Fri, 11 Aug 2023 15: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 1qUUDa-0001RO-1w; Fri, 11 Aug 2023 15:38:26 +0000
Received: by outflank-mailman (input) for mailman id 582593;
 Fri, 11 Aug 2023 15:38: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=uWpM=D4=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1qUUDY-0001RI-Lj
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 15:38:24 +0000
Received: from mail-ua1-x92d.google.com (mail-ua1-x92d.google.com
 [2607:f8b0:4864:20::92d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 197f9380-385d-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 17:38:22 +0200 (CEST)
Received: by mail-ua1-x92d.google.com with SMTP id
 a1e0cc1a2514c-79a2216a2d1so671046241.2
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 08:38: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: 197f9380-385d-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691768300; x=1692373100;
        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=9XGamp700wXZqjrGNGxGsuhukXPjOXx3yqeJ++UGSjs=;
        b=gV4ANlNq4ThfTY9nco4/TtowpxN6zn926/pMGu/SzLX4dc+Cd3k82JSntXrVPf+P4I
         eZrATFqQPkZl30q/iIfaiJjjw+kCz3HVpEdQL5F78NYEXR9p+ggc7Qhxq/TXVDyD4rHg
         N1+63ZO857GAaoHcT/uIYTsE6oLi5NvYPFwA40UdyCd5cyj7qhBM5glYuqNYs+oce+o6
         f5REzpO6BEboaePLwTukWkqJ1Chq9lk0BTuyhBriUBkbzGAOZ0Af+UUL0fZTwcM0o4PB
         uSVeBa/0JoKzGjzY+pkfIY8NklteQXSlkyCfLYexWgv3i418g+Qqa1JIa35tlZdX/Zsx
         mrUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691768300; x=1692373100;
        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=9XGamp700wXZqjrGNGxGsuhukXPjOXx3yqeJ++UGSjs=;
        b=WagJTscjAxJ3BW/+xYP4UQWGpCPOLqHwvGOFphYn/3hn2EWHRazNWEAFTURKhr8CPh
         R1rLQ4ZJWauGOYwFA04TgZM/N7S/u3btJq2xAePDI+HnuMp9qMsWq+Aq9LftUSQJAtbL
         A6DgYETQQBoxF+6vzg5BuLhPZO1xBlCLhxzQtKPWHp2Jjm3sMBI/8Sl10uEZHU9tMNlm
         KdZScL8ni4jDT19Y23HcFmkJZsbgg9eR/h6EVWxDcAx1BeQYJ2tPj6LhviZ4IN2UX/LD
         0t/JWrEg0f5gi/Bravc6ejWAFRK+GZTyt0+8phk4N5bNq+OWiz/oADU595c8HxKQ2G4T
         jzAg==
X-Gm-Message-State: AOJu0YwgEmOuPEokHwLNvAvE8OqeFOv0OTZXaK/jFhRcF9kP2rZCH9f4
	px0j1hEDIVWLC8Jolz0Pe5Yqw/HWomM7y6ppKqU=
X-Google-Smtp-Source: AGHT+IGDkDmwvbrD5+ctQu7jfktng6tRxd7Nn40CNdO7YVLNpobIbaSHPQmFwe++AcR02VyIk2gu8P/+BkPSP4MBM2Q=
X-Received: by 2002:a05:6102:3014:b0:440:c4fb:f257 with SMTP id
 s20-20020a056102301400b00440c4fbf257mr1889703vsa.0.1691768300256; Fri, 11 Aug
 2023 08:38:20 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1691763757.git.oleksii.kurochko@gmail.com> <4d986a1083f35ab66eba6ffde964af3b4453b216.1691763757.git.oleksii.kurochko@gmail.com>
In-Reply-To: <4d986a1083f35ab66eba6ffde964af3b4453b216.1691763757.git.oleksii.kurochko@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Fri, 11 Aug 2023 11:37:54 -0400
Message-ID: <CAKmqyKOOX2Yxj9pJabiZfQ9=FduuW9QWCOH0nwv00swyJO-UBQ@mail.gmail.com>
Subject: Re: [PATCH v8 1/6] xen/riscv: introduce temporary printk stuff
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 11, 2023 at 10:33=E2=80=AFAM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> The patch introdcuces printk related stuff which should be deleted
> after Xen common code will be available.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
> Changes in V8:
>  - only rebase was done.
> ---
> Changes in V7:
>  - only rebase was done.
> ---
> Changes in V6:
>  - the patch was introduced in the current patch series (V6)
> ---
>  xen/arch/riscv/early_printk.c | 168 ++++++++++++++++++++++++++++++++++
>  1 file changed, 168 insertions(+)
>
> diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.=
c
> index 610c814f54..60742a042d 100644
> --- a/xen/arch/riscv/early_printk.c
> +++ b/xen/arch/riscv/early_printk.c
> @@ -40,3 +40,171 @@ 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 =3D s; *sc !=3D '\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 =3D (char *) dest, *s =3D (char *) src;
> +
> +    while (count--)
> +        *tmp++ =3D *s++;
> +
> +    return dest;
> +}
> +
> +int vsnprintf(char* str, size_t size, const char* format, va_list args)
> +{
> +    size_t i =3D 0; /* Current position in the output string */
> +    size_t written =3D 0; /* Total number of characters written */
> +    char* dest =3D str;
> +
> +    while ( format[i] !=3D '\0' && written < size - 1 )
> +    {
> +        if ( format[i] =3D=3D '%' )
> +        {
> +            i++;
> +
> +            if ( format[i] =3D=3D '\0' )
> +                break;
> +
> +            if ( format[i] =3D=3D '%' )
> +            {
> +                if ( written < size - 1 )
> +                {
> +                    dest[written] =3D '%';
> +                    written++;
> +                }
> +                i++;
> +                continue;
> +            }
> +
> +            /*
> +             * Handle format specifiers.
> +             * For simplicity, only %s and %d are implemented here.
> +             */
> +
> +            if ( format[i] =3D=3D 's' )
> +            {
> +                char* arg =3D va_arg(args, char*);
> +                size_t arglen =3D strlen(arg);
> +
> +                size_t remaining =3D size - written - 1;
> +
> +                if ( arglen > remaining )
> +                    arglen =3D remaining;
> +
> +                memcpy(dest + written, arg, arglen);
> +
> +                written +=3D arglen;
> +                i++;
> +            }
> +            else if ( format[i] =3D=3D 'd' )
> +            {
> +                int arg =3D va_arg(args, int);
> +
> +                /* Convert the integer to string representation */
> +                char numstr[32]; /* Assumes a maximum of 32 digits */
> +                int numlen =3D 0;
> +                int num =3D arg;
> +                size_t remaining;
> +
> +                if ( arg < 0 )
> +                {
> +                    if ( written < size - 1 )
> +                    {
> +                        dest[written] =3D '-';
> +                        written++;
> +                    }
> +
> +                    num =3D -arg;
> +                }
> +
> +                do
> +                {
> +                    numstr[numlen] =3D '0' + num % 10;
> +                    num =3D num / 10;
> +                    numlen++;
> +                } while ( num > 0 );
> +
> +                /* Reverse the string */
> +                for (int j =3D 0; j < numlen / 2; j++)
> +                {
> +                    char tmp =3D numstr[j];
> +                    numstr[j] =3D numstr[numlen - 1 - j];
> +                    numstr[numlen - 1 - j] =3D tmp;
> +                }
> +
> +                remaining =3D size - written - 1;
> +
> +                if ( numlen > remaining )
> +                    numlen =3D remaining;
> +
> +                memcpy(dest + written, numstr, numlen);
> +
> +                written +=3D numlen;
> +                i++;
> +            }
> +        }
> +        else
> +        {
> +            if ( written < size - 1 )
> +            {
> +                dest[written] =3D format[i];
> +                written++;
> +            }
> +            i++;
> +        }
> +    }
> +
> +    if ( size > 0 )
> +        dest[written] =3D '\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
> +
> --
> 2.41.0
>
>


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 15:38:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 15:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582596.912439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUUE5-0001vG-BZ; Fri, 11 Aug 2023 15:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582596.912439; Fri, 11 Aug 2023 15:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUUE5-0001v9-8l; Fri, 11 Aug 2023 15:38:57 +0000
Received: by outflank-mailman (input) for mailman id 582596;
 Fri, 11 Aug 2023 15:38:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uWpM=D4=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1qUUE4-0001RI-5b
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 15:38:56 +0000
Received: from mail-vk1-xa34.google.com (mail-vk1-xa34.google.com
 [2607:f8b0:4864:20::a34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2de73de7-385d-11ee-b284-6b7b168915f2;
 Fri, 11 Aug 2023 17:38:55 +0200 (CEST)
Received: by mail-vk1-xa34.google.com with SMTP id
 71dfb90a1353d-4871beff078so585356e0c.0
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 08:38: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: 2de73de7-385d-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1691768334; x=1692373134;
        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=U06yb8bbDfJnHFyCcqi0409iChPA7rpP5sU8ZyAkNJU=;
        b=N/OusIvR+uEywfkArbOqLyaDUKOaeL8m0E5uzClNbR9lbdwLtDeNhiBPKOIhab2QKb
         HJw0Tf9yQd1oZa5s1R8CIAD8s8Bab8wFZvzr7SonB9KB81l5xgwjSpAaVNvOAWpzSZ+9
         17ZssMgmMPQ7qfYYeHgR9IoV7aAUaos4wLOeuqLCSUqNGlY2QWU+EEV/miZOAijyzHLG
         4grZfZRQ8a02AObE0QgM6eauuPZVBQrg6Vmv6ejaGxEO+AKaGXbVf2T03B6R3EGaDHJD
         +e8H/r3K5SIvq/HUjaSml/48OulEaopy2r9evRq2bS2oWBGKEeNBrb6W/oTpOPax1GPm
         Mexg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691768334; x=1692373134;
        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=U06yb8bbDfJnHFyCcqi0409iChPA7rpP5sU8ZyAkNJU=;
        b=AiAqVmdDSDAMIyG/ERauFemXUv1pbyoSjUqOr5GsD0h1ps5JdeifBIV6tIxDcfKRJq
         c7NKqlP4nH2D8SbBxTWhfxPRl6DVwb0D6yI3OEAzQOE2dqFtTYnNZI4VuYmv5z8T6tFQ
         J8M55Pp3hhk8X5SpJXBvKCBKxdDFJcEhXKEkP8gr6jeT6VRlwFqje+ok5ZfV4xn4lQry
         gG1in7nSmqvYpmljfmOFh7plSCsHAst4kFZ6rsJP+8Ej2AoRSmhGCxSLkgdJXI4gOSvy
         AauPLTvKHg1W31xgXsodHIFspB6xvXK+8qGRtaI+4vA5SWHw0KegG7+tSVrKwiAWncoa
         jdBg==
X-Gm-Message-State: AOJu0YwSZNKplCjhbG408MT0GK81cSH5weKbTzwiyEypDpOdk6NhtnnE
	Xx+oLll4cDvNuiBk8O9OHfbtM/UQtK8SnL2W3Y9DGZAQtnlXtQ==
X-Google-Smtp-Source: AGHT+IF2Czg4esN8kKyikv56s7kW35fvRxcLewWId73dG32DHAla4wFwaBX9XO4X1F07B3vZ2xQ2CFCJmOOLpQL+gMI=
X-Received: by 2002:a67:e2ce:0:b0:443:7eba:e22c with SMTP id
 i14-20020a67e2ce000000b004437ebae22cmr928485vsm.8.1691768334467; Fri, 11 Aug
 2023 08:38:54 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1691763757.git.oleksii.kurochko@gmail.com> <ae77b6ad3542d2c2ff2700f82212ec35662d7d15.1691763757.git.oleksii.kurochko@gmail.com>
In-Reply-To: <ae77b6ad3542d2c2ff2700f82212ec35662d7d15.1691763757.git.oleksii.kurochko@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Fri, 11 Aug 2023 11:38:28 -0400
Message-ID: <CAKmqyKMGYEs_ZnBzCte9PHZ=H_FG5qeds3NwfxMJZ+k0Y_nSbA@mail.gmail.com>
Subject: Re: [PATCH v8 2/6] xen/riscv: introduce <asm/bug.h>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 11, 2023 at 10:33=E2=80=AFAM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
> Changes in V8:
>  - new patch. It was introduced instead of dummy asm/bug.h introduction.
> ---
>  xen/arch/riscv/include/asm/bug.h | 37 ++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 xen/arch/riscv/include/asm/bug.h
>
> diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/as=
m/bug.h
> new file mode 100644
> index 0000000000..f5ff96140f
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/bug.h
> @@ -0,0 +1,37 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright (C) 2012 Regents of the University of California
> + * Copyright (C) 2021-2023 Vates
> + *
> + */
> +#ifndef _ASM_RISCV_BUG_H
> +#define _ASM_RISCV_BUG_H
> +
> +#ifndef __ASSEMBLY__
> +
> +#define BUG_INSTR "ebreak"
> +
> +/*
> + * The base instruction set has a fixed length of 32-bit naturally align=
ed
> + * instructions.
> + *
> + * There are extensions of variable length ( where each instruction can =
be
> + * any number of 16-bit parcels in length ).
> + *
> + * Compressed ISA is used now where the instruction length is 16 bit  an=
d
> + * 'ebreak' instruction, in this case, can be either 16 or 32 bit (
> + * depending on if compressed ISA is used or not )
> + */
> +#define INSN_LENGTH_MASK        _UL(0x3)
> +#define INSN_LENGTH_32          _UL(0x3)
> +
> +#define BUG_INSN_32             _UL(0x00100073) /* ebreak */
> +#define BUG_INSN_16             _UL(0x9002)     /* c.ebreak */
> +#define COMPRESSED_INSN_MASK    _UL(0xffff)
> +
> +#define GET_INSN_LENGTH(insn)                               \
> +    (((insn) & INSN_LENGTH_MASK) =3D=3D INSN_LENGTH_32 ? 4 : 2) \
> +
> +#endif /* !__ASSEMBLY__ */
> +
> +#endif /* _ASM_RISCV_BUG_H */
> --
> 2.41.0
>
>


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 18:14:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 18:14:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582608.912455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUWeW-0001y3-EK; Fri, 11 Aug 2023 18:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582608.912455; Fri, 11 Aug 2023 18:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUWeW-0001xw-Am; Fri, 11 Aug 2023 18:14:24 +0000
Received: by outflank-mailman (input) for mailman id 582608;
 Fri, 11 Aug 2023 18:14:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qUWeV-0001xq-Ig
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 18:14:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUWeV-00023h-2x; Fri, 11 Aug 2023 18:14:23 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUWeU-00024h-SQ; Fri, 11 Aug 2023 18:14:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=THcUlor1x4efb0tQrsXF3FRMU2twhbO/VW7ysnKjILk=; b=jokulA/GFMpxjYd01FhldTUETm
	V7kHYtTaSeyoQu2K9mdYap56AgQIE8Kq5w9MsIRdCjfPOumYVajVIuJIMz6QElwp6KI+3lak1Nm39
	Gnon0tX9gdVTHkFD6cR7cWegbWogRHVVepy3ceUP/PmXWYABbbf6GxwhTR9LDsGsUneY=;
Message-ID: <27ef6978-ce23-45ba-b136-4ad9c8913751@xen.org>
Date: Fri, 11 Aug 2023 19:14:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] xen/arm: Move static memory build code in separate
 modules
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, rahul.singh@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-5-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230808080010.3858575-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On IRC, you suggest to skip the review for the patches moving out some 
code. However, I still have one remark.

On 08/08/2023 09:00, Luca Fancellu wrote:
> Move static memory and static shared memory code in separate modules
> so that they are included only when the corresponding feature is
> enabled, doing that we modularise the features and we remove some
> ifdefs from the code to improve readability.
> 
> Move process_shm_node function from bootfdt module and make it
> externally visible.
> 
> The visibility of the functions allocate_static_memory and
> assign_static_memory_11 is changed during the move from the
> dom0less-build module to the static-memory module, now they are
> externally visible.
> 
> A static inline helper called process_shm_chosen is introduced, it
> will call the process_shm function for the '/chosen' node, and will
> be used by the funciton construct_dom0 instead of using directly
> process_shm, allowing some #ifdef to be removed.
> 
> No functional changes are intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/Makefile                     |   2 +
>   xen/arch/arm/bootfdt.c                    | 161 +-----
>   xen/arch/arm/dom0less-build.c             | 646 +---------------------

This file was created in the previous patch but now you are moving out 
the code again. Please try to move the code only once within the series 
to ease the review.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 18:25:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 18:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582614.912465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUWol-0003Wa-Cj; Fri, 11 Aug 2023 18:24:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582614.912465; Fri, 11 Aug 2023 18: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 1qUWol-0003WT-8z; Fri, 11 Aug 2023 18:24:59 +0000
Received: by outflank-mailman (input) for mailman id 582614;
 Fri, 11 Aug 2023 18:24: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 1qUWoj-0003Uz-UF
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 18:24:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUWoj-0002Ng-8g; Fri, 11 Aug 2023 18:24:57 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUWoj-0002OI-2g; Fri, 11 Aug 2023 18:24:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=9Qd1ZLpmaSPx5tv+iRzbeLvFG6svWuVkCWVYXM3rroI=; b=eZhYyTS+ml0C0/nudbGygQXuXJ
	x0d8MUy56kR5NS8VEm1rwhpJo6uQUDLMHu1WZDVG0lQEpS/YpOnIO8cFn9X8jmZCc9VrN7SeUe3qX
	DSN1LE8UtJ0z1YkfS1JpGWI4E6/llFEkGTRXcpxCkpd4yCX40auNCzfRwrmFi51Q5CYM=;
Message-ID: <12e1067d-8050-4610-8c3b-c3d56a1b026f@xen.org>
Date: Fri, 11 Aug 2023 19:24:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Fix initrd placeholders generation in
 make_chosen_node()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230810112544.17365-1-michal.orzel@amd.com>
 <20230810112544.17365-2-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230810112544.17365-2-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 10/08/2023 12:25, Michal Orzel wrote:
> When booting a dom0less domU without initial ramdisk, it was observed
> that Xen still creates empty linux,initrd-{start,end} properties under
> /chosen node. This is because in make_chosen_node(), generation of initrd
> placeholders (later on filled with the real values) is protected with
> a check for presence of kernel bootmodule (always present) instead of
> initrd bootmodule. Fix it along with renaming the variable from "mod" to
> "initrd" to prevent similar mistakes in the future.
> 
> Fixes: 48f4bf6bdeb4 ("arm/acpi: Create min DT stub for Dom0")

(No change required, just a remark about the tag)

Someone wanting to backport this would need to be cautious. The fix 
would not apply as-is for Xen older than ~4.11 because 'mod' is used to 
fetch the command line as well.

This also means that it would not be correct to simply replace 'mod' 
with 'initrd'. Anyway, for upstream, this would only be backported up to 
4.17 as the other release are either only security supported or not 
supported at all. So this is not a concern for us.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 18:42:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 18:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582621.912477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUX5M-0005zq-OO; Fri, 11 Aug 2023 18:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582621.912477; Fri, 11 Aug 2023 18: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 1qUX5M-0005zj-Lc; Fri, 11 Aug 2023 18:42:08 +0000
Received: by outflank-mailman (input) for mailman id 582621;
 Fri, 11 Aug 2023 18:42: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 1qUX5L-0005zd-FA
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 18:42: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 1qUX5F-0002fn-OF; Fri, 11 Aug 2023 18:42:01 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.207.66]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUX5F-0002zO-G0; Fri, 11 Aug 2023 18:42:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kdQaYnEum4p7jEr0WZXY0shFRjePUR5maVA/N7BPryw=; b=I0ukBYz6aZb0xaZCvQjGiAkQmV
	yPrZOZIDQPCQAvqTlj1GmNgKDp6Ih/7864zcEwiVuVaG7F0UShmC2XSMJXusXCMhab8IFpjWj6pPk
	JI20pHcRbozLNu6W0J+a4+LHsNoKrzd6U5IKmTsWyUIV3ZS3V/pifFXj9APP7nO4fsEw=;
Message-ID: <3c6964b5-e31e-49e3-ad05-c19853fdbf4a@xen.org>
Date: Fri, 11 Aug 2023 19:41:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/11] xen/sched: add ASSERT_UNREACHABLE() to address
 MISRA C:2012 Rule 2.1
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli
 <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <3f1385f2ddb151a53ca092ea1caeac5d12fd80f5.1690985045.git.nicola.vetrini@bugseng.com>
 <db2ac35e-b371-4537-9d56-8703e3648abe@xen.org>
 <5135e7ac-1025-3a45-7cf6-d049a15b8df5@suse.com>
 <be588477-cafd-4875-aeef-9b17206a5cc5@xen.org>
 <cde2ae86db8ba9a86ce5afdb9f47a4e4@bugseng.com>
 <6aac7add-544b-4c8a-b397-2a6b6c6b766c@xen.org>
 <alpine.DEB.2.22.394.2308081401400.2127516@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2308081401400.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 08/08/2023 22:14, Stefano Stabellini wrote:
> On Tue, 8 Aug 2023, Julien Grall wrote:
>> On 08/08/2023 16:53, Nicola Vetrini wrote:
>>>>> ... "return" alone already tells the compiler that "break" is
>>>>> unreachable. You don't need unreachable() for that. As said before,
>>>>> "break" like this simply want purging (and Misra is wrong to demand
>>>>> "break" everywhere - it should instead demand no [unannotated]
>>>>> fall-through, which can also be achieved by return, continue, and
>>>>> goto).
>>>>
>>>> My suggestion was in the context of this series where we add
>>>> ASSERT_UNREACHABLE() before break. From my understanding, we don't
>>>> have a lot of leeway here because, from what Nicola wrote, rule 16.3
>>>> is mandatory.
>>>>
>>>> So I think using unreachable is better if we every decide to use break
>>>> after return.
>>>>
>>>> Cheers,
>>>
>>> 16.3 is not Mandatory, just Required.
>>
>> Ah I misread what you wrote. In that case...
>>
>>> I was just reluctant to knowingly add one more violation
>>> while fixing another before submitting the patch. If indeed 16.3 won't
>>> likely be adopted by Xen,
>>> then that break should indeed go away.
>>>
>>> However, the main thing that's holding me back from doing a slimmed-down v2
>>> here is that
>>> evidently there's no consensus even on the ASSERT_UNREACHABLE() patches.
>>
>> ... I agree with the following statement from Jan:
>>
>> "it should instead demand no [unannotated] fall-through, which can also be
>> achieved by return, continue, and goto"
> 
> I also think it is a better idea to have no unannotated fall-through in
> switch statements (unless we have a "case" with nothing underneath, so
> two cases next to each other). In other words the following are all OK
> in my view:
> 
>    case A:
>      do();
>      break;
>    case B:
>      do();
>      return true;
>    case Ca:
>    case Cb:
>      goto fail;
>    case D:
>      i++;
>      continue;
>    case E:
>      do();
>      /* fall-through */
>    case F:
>      do();
>      break;
> 
> While the following is not OK:
> 
>    case A:
>      do();
>    case B:
>      do();
> 
> This should be what we already do in Xen, although it is not documented
> properly. Jan, Julien do you agree?

I agree.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 21:57:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 21:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582658.912514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUa8S-0005kg-GN; Fri, 11 Aug 2023 21:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582658.912514; Fri, 11 Aug 2023 21:57:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUa8S-0005kZ-DH; Fri, 11 Aug 2023 21:57:32 +0000
Received: by outflank-mailman (input) for mailman id 582658;
 Fri, 11 Aug 2023 21:57: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=Wg3T=D4=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qUa8R-0005kM-I6
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 21:57:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f2b9a59-3892-11ee-8613-37d641c3527e;
 Fri, 11 Aug 2023 23:57:27 +0200 (CEST)
Received: from AS9PR05CA0143.eurprd05.prod.outlook.com (2603:10a6:20b:497::27)
 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.6652.30; Fri, 11 Aug
 2023 21:57:21 +0000
Received: from AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:497:cafe::3a) by AS9PR05CA0143.outlook.office365.com
 (2603:10a6:20b:497::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend
 Transport; Fri, 11 Aug 2023 21:57:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT016.mail.protection.outlook.com (100.127.140.106) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.10 via Frontend Transport; Fri, 11 Aug 2023 21:57:19 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Fri, 11 Aug 2023 21:57:19 +0000
Received: from de4377cdc3a7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 482FFFBE-B529-4533-A286-9095368E74EE.1; 
 Fri, 11 Aug 2023 21:57:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de4377cdc3a7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 11 Aug 2023 21:57:13 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB9799.eurprd08.prod.outlook.com (2603:10a6:10:444::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug
 2023 21:57:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::4c7d:6a1:e742:3b1a%4]) with mapi id 15.20.6678.022; Fri, 11 Aug 2023
 21:57:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f2b9a59-3892-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bEGS0wRdx8UI0U7Kbc3vxJthrwcG88bohMK6eHHTDQo=;
 b=HhN2zorEYadotpKQS1swl2kL6EWafYc6dLqXsz31wUWasN9/suY+7BcxMP4FGUk0gQrRFymhm3VUpPabexHKM33KI+kcif39eq6AgJ2ErM3Wt658tUT7NB5wiT0B6N7LaeTyzUS3o0zs00vefr1g5PCkihyB3m3igx5Awuc2M/k=
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: a5bc18ca2b006142
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i/CW5TIzt0KP7bR6Y4VOeBd1IYJcF99FN1TQfcYbgYWhI1/oPwaTh+CR0VIBQTX20aH6U90LyCC6Ej/FnnldHaEdzeOEQxEEpwXkdlSdcONRIQNKfNQhYhN6xJOpowRxAxgY4UnBi1oez3ekyKqjWhh8BVoora0Xh+ETaopnrO/9mrkpvhYfhxJixccnc/LWFEW553j7qI4rSETG/LjovJruzu01Lno5XmCsK+Jxq3jz1pdUsGDBThMVqhx2XPpbxmDGomsu4XNLIhDuyRDwVF4POicmK0w3Tv89wxZ8GRcAGMzU+S4OzuE9GdI9WhqC9LS5U4oLHLYqDq00UFT9cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bEGS0wRdx8UI0U7Kbc3vxJthrwcG88bohMK6eHHTDQo=;
 b=nDOyTkzyhi/gGiN7+aURlPlHH6BQ5iUjEvCjUH24HkItP9GJGI4O4svUgASukdscx3DoUEQ6tZteYsstrganwj9yiL2dBkGlJtSHFs2S1G3GuNGacNWzoi2MBw5U3VvX5pHjXONRZOCdbQ8q86c40R7a1hzLbDM+JBpZx8m52okF6wKld/WJKGRYOywlhZT1gr+gt0oBMtn+J5wJfkmKx4uL37sUBVEdSvNL9l6pcfOVPxM9sBnGSb9FPU3cPunpbzbGng8eQxyd0Cdxpoh5xkWYe/kjVOGH9nMy9LJwaJAy07cmvyuygQwpw/sVEGknPhugkoqzUh7ngzsyWMTFxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=bEGS0wRdx8UI0U7Kbc3vxJthrwcG88bohMK6eHHTDQo=;
 b=HhN2zorEYadotpKQS1swl2kL6EWafYc6dLqXsz31wUWasN9/suY+7BcxMP4FGUk0gQrRFymhm3VUpPabexHKM33KI+kcif39eq6AgJ2ErM3Wt658tUT7NB5wiT0B6N7LaeTyzUS3o0zs00vefr1g5PCkihyB3m3igx5Awuc2M/k=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 4/5] xen/arm: Move static memory build code in separate
 modules
Thread-Topic: [PATCH 4/5] xen/arm: Move static memory build code in separate
 modules
Thread-Index: AQHZyc55L9ICjabsSUqgCKAf+BkgTa/la64AgAA+NwA=
Date: Fri, 11 Aug 2023 21:57:10 +0000
Message-ID: <41482347-A5C2-4CFC-A473-8425716A25CD@arm.com>
References: <20230808080010.3858575-1-luca.fancellu@arm.com>
 <20230808080010.3858575-5-luca.fancellu@arm.com>
 <27ef6978-ce23-45ba-b136-4ad9c8913751@xen.org>
In-Reply-To: <27ef6978-ce23-45ba-b136-4ad9c8913751@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB9799:EE_|AM7EUR03FT016:EE_|GV1PR08MB8129:EE_
X-MS-Office365-Filtering-Correlation-Id: c08d67d0-dc09-4f76-6a16-08db9ab5ef3a
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:
 CBERLl00HoyBJ+xUzl10GxEdlh1lksIpWs/OTl16fYHC8IrQKhna6YqIzVixniQaSNVsCvfKOgcc/bAFIg+ixBdKSKjn8zXjfH43D14yRNTw802mfhDTu2sesoxSZ7glrItS/22whYpJ9zG89LiDszBJfmJN9mDwuZo9x977iKSiROqjuE/gnJ0cKFP1h9qijtn3eUan8irLLv7pn+DFAmmZBj8CnzeZuPvGCS/MnIqpdmz8DyXmDPSJD+tLRmtCpfEDWIehkYmxYROEe0gRWnw2AcTNIRCS7Uyoae6RMtGyisMEfkROBoa2LuvN7hwjiNMZfNBCPmx+qIm94luUZJXR4fQf66jrd2MKCHETrj08lWxSxoxm8PMcX865yW5+92zgeuia9h73nKtx/UaIu7N/hYtB4uTPx/Qb3hCRDvav2vBnHkX9wIr2hzbfyhkxBoP+Sft/NDxVsaPfXSUWbADTs08FRpPfHE4M4KDyeq0tS2FhVZnzqspH4yNJwp0yoDQNGJC47BqsEC/wcAuo16mojQ/V4ZFW9jRLspxO+vkQWZRHHomaAqk3oAegOqyUk1WcqTWGousd2q4GydALLUZ91vdNUqTp2OOHt3JFHiqyJz+XqvL/sA0jQycMz2Q57EM54Kb3deQPSiWhFfvN1g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(376002)(346002)(39860400002)(186006)(1800799006)(451199021)(86362001)(33656002)(38070700005)(2906002)(36756003)(6916009)(26005)(53546011)(2616005)(6506007)(4326008)(54906003)(122000001)(38100700002)(478600001)(8936002)(91956017)(5660300002)(66446008)(66556008)(64756008)(66476007)(76116006)(66946007)(41300700001)(71200400001)(6486002)(316002)(8676002)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6EB611BB432AA143A6653A6D0F0C24A4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9799
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:
 AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a7695303-6911-4382-87f7-08db9ab5e9f3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iiCZ7PBn69U0QCT1rByrv+lSwnJh0W0IJYI5OEQqkZcfGonrBrnmohq2nw3JQC8kceoGbjSFbqiuPmkGIWOoVbwhd98ncOXRZ4khIJfh5k89W/Nuq4mY0CjOecDdOXTsBONs621zhYIHCdEj4klip2hrN0c7IoahgqaCDm+THmHmrOflHnbVr0LBtMdbOOt5F2xADZoXUrkhCnlUSyvimhLiZDOJdAtWNAzoHbWuoYV2x7hBXKsNQwSaBSRl0XCKjHoskRWZT3/tjhrnolQSNmNHq7giigeRvsb7spybUUD2H9voA/0wLG2uxA+IIzER0UXHpZ0VXRtZodsZr6Gl638koTgwRHXDjXibhEa0H7r3WztNfxNtMApMSCgOfHvzHdn/o+A6AJO31l2n6WwSGbhJa9QMYmjW1oMDEdADnfft4thMQj5hPtaZzfRGrsSqXSAsfWbtIf8ODfIL+JG8IeoJ4G22HEegO1COQhX566y192DxOOuieXSaWTkM0/tzxFLR+kXly3dLXxD4anHF0MyY3eSBdocaX20LJZXfSkC4Dwt43mArwuxHBrS1HLTss1IKeXN4VM6+tdtOlRqGg+E4NxSeDFrIZVlxdjJKraFfFEwVFmYgUijXsi/0mTHArwamRqomIxgiuo9TLBVB5Iu8fYj18La//LVnW7m+SM62oRgxdmHccK7PRQR+ARKBQ+AnSictJpC66WjdbMLhwos/UC8E6PgCU+QDxkTXTBkt3XdnAe8rhlDuquuWTcut
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(346002)(396003)(136003)(82310400008)(186006)(451199021)(1800799006)(46966006)(40470700004)(36840700001)(6506007)(53546011)(82740400003)(26005)(40460700003)(2906002)(36756003)(336012)(356005)(81166007)(40480700001)(54906003)(2616005)(36860700001)(6486002)(5660300002)(316002)(6512007)(478600001)(8936002)(41300700001)(33656002)(8676002)(86362001)(4326008)(70206006)(70586007)(6862004)(47076005)(107886003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 21:57:19.5929
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c08d67d0-dc09-4f76-6a16-08db9ab5ef3a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8129

Hi Julien,

> On 11 Aug 2023, at 19:14, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Luca,
>=20
> On IRC, you suggest to skip the review for the patches moving out some co=
de. However, I still have one remark.
>=20
> On 08/08/2023 09:00, Luca Fancellu wrote:
>> Move static memory and static shared memory code in separate modules
>> so that they are included only when the corresponding feature is
>> enabled, doing that we modularise the features and we remove some
>> ifdefs from the code to improve readability.
>> Move process_shm_node function from bootfdt module and make it
>> externally visible.
>> The visibility of the functions allocate_static_memory and
>> assign_static_memory_11 is changed during the move from the
>> dom0less-build module to the static-memory module, now they are
>> externally visible.
>> A static inline helper called process_shm_chosen is introduced, it
>> will call the process_shm function for the '/chosen' node, and will
>> be used by the funciton construct_dom0 instead of using directly
>> process_shm, allowing some #ifdef to be removed.
>> No functional changes are intended.
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>>  xen/arch/arm/Makefile                     |   2 +
>>  xen/arch/arm/bootfdt.c                    | 161 +-----
>>  xen/arch/arm/dom0less-build.c             | 646 +---------------------
>=20
> This file was created in the previous patch but now you are moving out th=
e code again. Please try to move the code only once within the series to ea=
se the review.

Sure, in the next push I will do the moving to different modules in one pat=
ch.


>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:04:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582664.912523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaFV-0007Ss-7G; Fri, 11 Aug 2023 22:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582664.912523; Fri, 11 Aug 2023 22:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaFV-0007Sl-4g; Fri, 11 Aug 2023 22:04:49 +0000
Received: by outflank-mailman (input) for mailman id 582664;
 Fri, 11 Aug 2023 22:04:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUaFU-0007Sc-0Q
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:04:48 +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 14e1f4ae-3893-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 00:04:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DD0F1631D0;
 Fri, 11 Aug 2023 22:04:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69A98C433C7;
 Fri, 11 Aug 2023 22:04:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14e1f4ae-3893-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691791484;
	bh=aU1dN6H5/hp5SzeKFRB9VQjrrzA+QX8wskRhX1OoOmU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WoW3xs6ft36kEwR3l3IHIxmhF/m0ScoW8ciCcrU1QF9QhYyTI4qVYrZGFrYxqzucC
	 NzFe3miYScrp6CntFPS0v52Vf+rP3kaOL78n4xuY8xPpNv6trcydKZ3cKz0YQjxjwH
	 FKjTFt4caKNNuiedjbLEGLErjpLP3qU/2GgCBdGjSTDTzN/iYZPuWE5GbSK/ICTGrW
	 gnzHJd9UhmhgwEPu9+l4BxAMm9dRzuLfDVX3Sn14HlQ/ppgmZh8Z4GeCk1feGmhbl4
	 o01E7j0cuITemG/Oc3ORYSRza85cUIBSRMibQn72ha/ca9aFCKt8riVuSYCTJCDtuI
	 H1M4kD/kdchkg==
Date: Fri, 11 Aug 2023 15:04:42 -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.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 1/2] automation: avoid pipelines on specific
 branches
In-Reply-To: <c88fc56a8985acbdb2630a81c930ef12c0743c1b.1691760935.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111501220.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com> <c88fc56a8985acbdb2630a81c930ef12c0743c1b.1691760935.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 Fri, 11 Aug 2023, Simone Ballarin wrote:
> This patch avoids the execution of pipelines in the
> following branches:
> - master
> - smoke
> - coverirty-tested/.*
> - stable-.*
> 
> The job-level exclusions have been removed as they are
> pointless with this new workspace-level exclusion.
> 

Very good thanks!

One question on the commit message: what did you mean by "the job-level
exclusions have been removed as they are pointless with this new
workspace-level exclusion"

It doesn't look like any job-level exclusion has been removed by this
patch?



> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>
> ---
>  .gitlab-ci.yml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index ee5430b8b7..ef4484e09a 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -1,3 +1,9 @@
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> +
>  stages:
>    - analyze
>    - build
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:04:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582665.912534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaFa-0007k1-HN; Fri, 11 Aug 2023 22:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582665.912534; Fri, 11 Aug 2023 22:04:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaFa-0007js-Ej; Fri, 11 Aug 2023 22:04:54 +0000
Received: by outflank-mailman (input) for mailman id 582665;
 Fri, 11 Aug 2023 22:04: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=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUaFY-0007Sc-VF
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:04:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1846b6be-3893-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 00:04:52 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 12F8A64C8A;
 Fri, 11 Aug 2023 22:04:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABA7DC433C8;
 Fri, 11 Aug 2023 22:04: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: 1846b6be-3893-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691791490;
	bh=bLCAfJvP9mbQIvGa6SU8Jr2lfBt1FeAFsoePBpGC25Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OnsvrYQoEnzfUld5GLRR0j2uxoHCft2wUQ0IOFkXj7YsJ5rVMZR6ED2VGlMsG9Snu
	 p0j4piVP94ismYKmaqZlvboXXvp939Lwj2LMi4k0EIFfX2cz9lshx5w855S5N2Y1L5
	 kw35wKQTsp/mS8Mst0QYMxQBzMRH8a3t/rEbWYksy+Ly6QYnEjlzQyA/OXuJVu2C/0
	 jRDF/57i+9vh9SFuUpUjQ8dVkkpQQYDTOSG8dcvkbTddMgNMYGERMtbYplHeYWmlNX
	 p8VXvyq8ggnBT/oWpxCXG92bzTPUJCoamXP4VA9ln2iPn2TGwZhKolpAld1maeh3+8
	 f2AP+Uo+oN61w==
Date: Fri, 11 Aug 2023 15:04:49 -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.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
In-Reply-To: <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com> <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.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 Fri, 11 Aug 2023, Simone Ballarin wrote:
> With this patch, ECLAIR jobs will need to be manually
> started for "people/.*" pipelines.
> 
> This avoids occupying the runner on analyzes that might
> not be used by developers.
> 
> If developers want to analyze their own repositories
> they need to launch them from GitLab.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>  automation/gitlab-ci/build.yaml   |  6 ------
>  automation/gitlab-ci/test.yaml    |  5 -----
>  3 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 4aa4abe2ee..f04ff99093 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -20,21 +20,27 @@
>        codequality: gl-code-quality-report.json
>    needs: []
>  
> -eclair-x86_64:
> +.eclair-analysis:triggered:
>    extends: .eclair-analysis
> +  allow_failure: true
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> +      when: manual
> +    - when: always
> +
> +eclair-x86_64:
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  eclair-ARM64:
> -  extends: .eclair-analysis
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis

Everything so far looks great and I am ready to Ack.


> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 173613567c..e4b601943c 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -12,11 +12,6 @@
>        - '*/*.log'
>      when: always
>    needs: []
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .gcc-tmpl:
>    variables: &gcc
> @@ -269,7 +264,6 @@
>  .test-jobs-artifact-common:
>    stage: build
>    needs: []
> -  except: !reference [.test-jobs-common, except]
>  
>  # Arm test artifacts
>  
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 8ccce1fe26..11cb97ea4b 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -1,11 +1,6 @@
>  .test-jobs-common:
>    stage: test
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .arm64-test-needs: &arm64-test-needs
>    - alpine-3.18-arm64-rootfs-export

These changes instead belongs to the first patch, right?


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:08:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:08:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582677.912544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaJ7-0000Oz-10; Fri, 11 Aug 2023 22:08:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582677.912544; Fri, 11 Aug 2023 22: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 1qUaJ6-0000Os-Ty; Fri, 11 Aug 2023 22:08:32 +0000
Received: by outflank-mailman (input) for mailman id 582677;
 Fri, 11 Aug 2023 22:08: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 1qUaJ5-0000Oe-6p; Fri, 11 Aug 2023 22:08: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 1qUaJ4-0007S9-UX; Fri, 11 Aug 2023 22:08: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 1qUaJ4-0003i7-F8; Fri, 11 Aug 2023 22:08:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUaJ4-00067L-Eh; Fri, 11 Aug 2023 22:08:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jjzzfVQlU5IjhcOXSsL2UTu84DlLD8zFbTfLEg2k/LI=; b=3IMwRtl8E/mtYtNWtiddPgZtV8
	qb3zScxSUN3kow3VddW37S3FOQaOCrVGe3X1EDrwEvuWG8JtLcDFN86TLoUBXd3t/D56txOCmV8/I
	Hy2U3M42FL/Hivaq+SstobEksH8IQoDfAseb9/fGQCALJ/N7jLbuGIfl6dWx0U7TCi8M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182266-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182266: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=25aa0bebba72b318e71fe205bfd1236550cc9534
X-Osstest-Versions-That:
    linux=6c538e1adbfc696ac4747fb10d63e704344f763d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 11 Aug 2023 22:08:30 +0000

flight 182266 linux-linus real [real]
flight 182285 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182266/
http://logs.test-lab.xenproject.org/osstest/logs/182285/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvhv2-amd 22 guest-start/debian.repeat fail pass in 182285-retest
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 15 guest-start.2 fail pass in 182285-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182285-retest
 test-amd64-amd64-xl-qemuu-ovmf-amd64 20 guest-start/debianhvm.repeat fail pass in 182285-retest
 test-amd64-amd64-xl-qemut-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 182285-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 180278

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 180278
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 180278
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 180278
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180278
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180278
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180278
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180278
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180278
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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          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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                25aa0bebba72b318e71fe205bfd1236550cc9534
baseline version:
 linux                6c538e1adbfc696ac4747fb10d63e704344f763d

Last test of basis   180278  2023-04-16 19:41:46 Z  117 days
Failing since        180281  2023-04-17 06:24:36 Z  116 days  208 attempts
Testing same since   182266  2023-08-10 23:16:26 Z    0 days    1 attempts

------------------------------------------------------------
3930 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   6c538e1adbfc..25aa0bebba72  25aa0bebba72b318e71fe205bfd1236550cc9534 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:30:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582685.912553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUaeQ-0004Tl-N8; Fri, 11 Aug 2023 22:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582685.912553; Fri, 11 Aug 2023 22: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 1qUaeQ-0004Te-KI; Fri, 11 Aug 2023 22:30:34 +0000
Received: by outflank-mailman (input) for mailman id 582685;
 Fri, 11 Aug 2023 22:30: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=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUaeP-0004TW-Do
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:30: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 adedd064-3896-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 00:30:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 65AAF6534C;
 Fri, 11 Aug 2023 22:30:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7EEFC433C7;
 Fri, 11 Aug 2023 22:30:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adedd064-3896-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691793029;
	bh=gJh/BRJQN4ktdky2+xR1SdegEWPljAkFhdN+Qjj1Fgg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TrNuKeqRIUK9IEzU7bl0Oj5EvEgXKkPQrQuR8WF37wJtM1g3Fj7lJbsEqfEoG6/IH
	 rFnVa+xLHXPpKADyDqpOLf/kJMezdn+ihOrGZGoPR/sLoOPd1qcArhQX/O511h5yzE
	 ZwIDihUCNynPVWAtrLwILXKiabGokUvUg070PsNnHXZBnpPoebuxCc/1VfWQeMQ0FF
	 3dFvTWlAKHGJEjP6J7hBVe+v+Eg6Wwzs+PmZYjfv/fbQDEVXZU6gt5RMY9wrXSdWVg
	 dnuKcAHEe1insMQtiP2u5PiNg9CKnMuimhOhhPD6/jPy0ncpLtfGPfQ9c1UKaXjvA+
	 6F3YkCQou9IKg==
Date: Fri, 11 Aug 2023 15:30:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
In-Reply-To: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111528510.2127516@ubuntu-linux-20-04-desktop>
References: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.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 Fri, 11 Aug 2023, Federico Serafini wrote:
> Uniform the auto-generated hypercall-decls with the corresponding
> definitions to address violations of MISRA C:2012 Rule 8.3:
> "All declarations of an object or function shall use the same names and
> type qualifiers".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  xen/include/hypercall-defs.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
> index 6d361ddfce..4feddce571 100644
> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -107,11 +107,16 @@ defhandle: physdev_op_compat_t
>  prefix: do PREFIX_hvm PREFIX_compat PREFIX_do_arm
>  physdev_op(int cmd, void *arg)
>  
> -prefix: do PREFIX_hvm PREFIX_compat
> +prefix: do PREFIX_hvm
>  #if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
>  grant_table_op(unsigned int cmd, void *uop, unsigned int count)
>  #endif
>  
> +prefix: PREFIX_compat
> +#if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
> +grant_table_op(unsigned int cmd, void *cmp_uop, unsigned int count)
> +#endif

Everything checks out, so:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

The other changes are uncontroversial. This one about splitting out the
compat version of grant_table_op is not great. I wonder if it would be
better to rename cmp_uop to uop in xen/common/compat/grant_table.c. I'll
let Jan and the others decide I am OK either way.


>  prefix: do PREFIX_hvm
>  memory_op(unsigned long cmd, void *arg)
>  
> @@ -136,7 +141,7 @@ xenoprof_op(int op, void *arg)
>  prefix: compat
>  set_timer_op(uint32_t lo, int32_t hi)
>  multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
> -memory_op(unsigned int cmd, void *arg)
> +memory_op(unsigned int cmd, void *compat)
>  #ifdef CONFIG_IOREQ_SERVER
>  dm_op(domid_t domid, unsigned int nr_bufs, void *bufs)
>  #endif
> @@ -172,7 +177,7 @@ console_io(unsigned int cmd, unsigned int count, char *buffer)
>  vm_assist(unsigned int cmd, unsigned int type)
>  event_channel_op(int cmd, void *arg)
>  mmuext_op(mmuext_op_t *uops, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
> -multicall(multicall_entry_t *call_list, unsigned int nr_calls)
> +multicall(multicall_entry_t *call_list, uint32_t nr_calls)
>  #ifdef CONFIG_PV
>  mmu_update(mmu_update_t *ureqs, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
>  stack_switch(unsigned long ss, unsigned long esp)
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:54:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:54:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582693.912570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb1t-0007mD-Jk; Fri, 11 Aug 2023 22:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582693.912570; Fri, 11 Aug 2023 22: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 1qUb1t-0007m6-GA; Fri, 11 Aug 2023 22:54:49 +0000
Received: by outflank-mailman (input) for mailman id 582693;
 Fri, 11 Aug 2023 22:54:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUb1s-0007ly-Ra
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:54:48 +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 1187682e-389a-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 00:54:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F1B566619A;
 Fri, 11 Aug 2023 22:54:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 75BA0C433C7;
 Fri, 11 Aug 2023 22:54: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: 1187682e-389a-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691794485;
	bh=UzJbn4F/KDGS52lo2tBuaLjR+yLOj+a6Zmt2OmfsBJw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=X39qUv8bXWgrj4se6LE9flJtfwGe32mYMlxxnN3Xg+xFWCOLHwgReWFBJDU6Ya553
	 4f8A2I+3KSWhodhKBaDEYbb+SpoF/GVf5cYPXVpSR7Ii876IRTH1MoiDqO52bNjGkU
	 Im/+Uc9yn9/wYm/kfaNtKUpI0SWMZCkelMbOtZQ/cb976HmZb045qpoy0QzuWFv6JN
	 52traZACAbP/NbpVCDa7yDO+IyiWf0mU/UArFor7BGCn0PMSWr8w9n8ZzHsp+dcYwx
	 dq4C7BKjd6KlHAbBGvVCKlDkZydvIN+lOrhMEuHwXF/1ymDZyxVuDOOoBG3dclE7Mp
	 FFuqXXkJsv6nA==
Date: Fri, 11 Aug 2023 15:54: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
Subject: Re: [XEN PATCH 1/6] x86/hpet: make variable 'per_cpu__cpu_bc_channel'
 static
In-Reply-To: <5e13888db7b69cee21e5367ce8750fbdc1e22d5c.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111554360.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <5e13888db7b69cee21e5367ce8750fbdc1e22d5c.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The variable is only ever used inside the file where it's
> defined, therefore it can have static storage. This also
> resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
> of a declaration prior to the definition.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/hpet.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
> index a2df1c7df401..79c07f6a9e09 100644
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -49,7 +49,7 @@ static struct hpet_event_channel *__read_mostly hpet_events;
>  /* msi hpet channels used for broadcast */
>  static unsigned int __read_mostly num_hpets_used;
>  
> -DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
> +static DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
>  
>  unsigned long __initdata hpet_address;
>  int8_t __initdata opt_hpet_legacy_replacement = -1;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:56:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582699.912580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb3A-0008Oz-1w; Fri, 11 Aug 2023 22:56:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582699.912580; Fri, 11 Aug 2023 22:56:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb39-0008Os-U7; Fri, 11 Aug 2023 22:56:07 +0000
Received: by outflank-mailman (input) for mailman id 582699;
 Fri, 11 Aug 2023 22:56:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUb39-0008Oi-0b
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:56:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e4e5115-389a-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 00:56:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 698A464B3B;
 Fri, 11 Aug 2023 22:56:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C0EFC433C8;
 Fri, 11 Aug 2023 22:55: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: 3e4e5115-389a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691794560;
	bh=yaA1XgRbB9ffSfcZ2snMlBLvfLeO1nvTAgSfJUKVNbU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MB0wnBt+ajgEcNA6qkzg4BD5OnGkV5YSom8wTkVDRf+/LWt+mVyxUlDAK9Jk7fx6x
	 dl69qYOh1ydHk9YlQZQpyogMwJWPb91ZRvavRRjr7w94eCWMD8Pc+FjkV5Mhc7l2YN
	 rj8xcI3AVqhgQ+jTzPXGnAI+O0QR6C8mfLvowVovsg8xnLFdAfzPU8UDV3v1WyB02i
	 bEaeO9ppUZJpfvzGgwkPB9q5qzkGQcnfEJFvYoiGVixcss0fQ4o5owSDWxGCWBvde0
	 LXy2rembOkvH43OD4kHan5cgyRFshsrO2hdP2pTNmeLms6GhIZZoZDDa81eNFAGuiM
	 NdcIk3wRNflgg==
Date: Fri, 11 Aug 2023 15:55:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH 1/6] x86/hpet: make variable 'per_cpu__cpu_bc_channel'
 static
In-Reply-To: <alpine.DEB.2.22.394.2308111554360.2127516@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308111555370.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <5e13888db7b69cee21e5367ce8750fbdc1e22d5c.1691676251.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2308111554360.2127516@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

Adding x86 maintainers

On Fri, 11 Aug 2023, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Nicola Vetrini wrote:
> > The variable is only ever used inside the file where it's
> > defined, therefore it can have static storage. This also
> > resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
> > of a declaration prior to the definition.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> 
> > ---
> >  xen/arch/x86/hpet.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
> > index a2df1c7df401..79c07f6a9e09 100644
> > --- a/xen/arch/x86/hpet.c
> > +++ b/xen/arch/x86/hpet.c
> > @@ -49,7 +49,7 @@ static struct hpet_event_channel *__read_mostly hpet_events;
> >  /* msi hpet channels used for broadcast */
> >  static unsigned int __read_mostly num_hpets_used;
> >  
> > -DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
> > +static DEFINE_PER_CPU(struct hpet_event_channel *, cpu_bc_channel);
> >  
> >  unsigned long __initdata hpet_address;
> >  int8_t __initdata opt_hpet_legacy_replacement = -1;
> > -- 
> > 2.34.1
> > 
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 22:59:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 22:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582706.912589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb5v-0000b8-Dy; Fri, 11 Aug 2023 22:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582706.912589; Fri, 11 Aug 2023 22:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb5v-0000b1-BQ; Fri, 11 Aug 2023 22:58:59 +0000
Received: by outflank-mailman (input) for mailman id 582706;
 Fri, 11 Aug 2023 22:58:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUb5u-0000av-9p
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 22:58:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6034469-389a-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 00:58:56 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 53818678E6;
 Fri, 11 Aug 2023 22:58:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CEB22C433C9;
 Fri, 11 Aug 2023 22:58:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6034469-389a-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691794735;
	bh=JasgnPdJcTd25O3geVYlpoWFEpIF0XO4p7lMbN6mCEc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Wr/AWNKdEKZu71zbNooAjNcr020uFsi6uX1OpDo9rB92gOoVzxE5d5dr7i9gZ4SFc
	 Zyxt5m+hneu71x/UaGz3L+uzMgwakmDaYjeR+83mkJi6K0JC613tfaSyO6j99KlfBd
	 WdEmKz88PuVDWNXEuMmV+MU7cNldiiM9jUfbrbABizbtmFc8oFqkJ/sr4i2KJLDiBe
	 DPsLgAs2pa+vMFuGo/00xnXxW9T2HkHsHedl94JM6mA95uLk/thDHhOMexgKqFIoCC
	 2zhQRVDV/6CBL7yM8L1POdG42c9hxIKBcMMv5D7sGbtdwxLa7mPHOQNPJFwak3tlv7
	 NxlnbdmHCAMEA==
Date: Fri, 11 Aug 2023 15:58:52 -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, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH 2/6] x86/setup: add missing headers
In-Reply-To: <c4fbf7b2a763f1b8e700e2ed36628c047231cb46.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111557590.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <c4fbf7b2a763f1b8e700e2ed36628c047231cb46.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The missing headers declare variables 'xen_cpuidle' and 'use_invpcid'
> that are then defined inside the file.
> This is undesirable and also violates MISRA C:2012 Rule 8.4.
> Adding suitable "#include"s resolves the issue.
> 
> The type of the variable 'xen_cpuidle' also changes according to
> s/s8/int8_t/.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: 3eab82196b02 ("x86: PIT broadcast to fix local APIC timer stop issue for Deep C state")
> Fixes: 63dc135aeaf9 ("x86: invpcid support")

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/setup.c      | 4 +++-
>  xen/include/xen/cpuidle.h | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 80ae973d64e4..2bfc1fd00f8c 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -47,10 +47,12 @@
>  #include <asm/mach-generic/mach_apic.h> /* for generic_apic_probe */
>  #include <asm/setup.h>
>  #include <xen/cpu.h>
> +#include <xen/cpuidle.h>
>  #include <asm/nmi.h>
>  #include <asm/alternative.h>
>  #include <asm/mc146818rtc.h>
>  #include <asm/cpu-policy.h>
> +#include <asm/invpcid.h>
>  #include <asm/spec_ctrl.h>
>  #include <asm/guest.h>
>  #include <asm/microcode.h>
> @@ -88,7 +90,7 @@ boolean_param("noapic", skip_ioapic_setup);
>  
>  /* **** Linux config option: propagated to domain0. */
>  /* xen_cpuidle: xen control cstate. */
> -s8 __read_mostly xen_cpuidle = -1;
> +int8_t __read_mostly xen_cpuidle = -1;
>  boolean_param("cpuidle", xen_cpuidle);
>  
>  #ifndef NDEBUG
> diff --git a/xen/include/xen/cpuidle.h b/xen/include/xen/cpuidle.h
> index 521a8deb04c2..705d0c1135f0 100644
> --- a/xen/include/xen/cpuidle.h
> +++ b/xen/include/xen/cpuidle.h
> @@ -86,7 +86,7 @@ struct cpuidle_governor
>      void (*reflect)         (struct acpi_processor_power *dev);
>  };
>  
> -extern s8 xen_cpuidle;
> +extern int8_t xen_cpuidle;
>  extern struct cpuidle_governor *cpuidle_current_governor;
>  
>  bool cpuidle_using_deep_cstate(void);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 23:02:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 23:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582711.912599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb8u-00022v-ST; Fri, 11 Aug 2023 23:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582711.912599; Fri, 11 Aug 2023 23:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUb8u-00022o-Pi; Fri, 11 Aug 2023 23:02:04 +0000
Received: by outflank-mailman (input) for mailman id 582711;
 Fri, 11 Aug 2023 23:02: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=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUb8t-00022g-8D
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 23:02:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1404a534-389b-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 01:02:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B7A50678E6;
 Fri, 11 Aug 2023 23:01:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0EF7C433C7;
 Fri, 11 Aug 2023 23:01: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: 1404a534-389b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691794919;
	bh=afg1u8bQZ6oSHyW5B/s7ALCDc90VAJUBG4PsSAip2AQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PsKU7WKIdWR/6aygSm8dxN19CmL0Q91omXe7wAKWKtwdmjWeMe8mwfSXZyI2csTC8
	 pXKTRzTfoEK3gONvKjX27wnl1PlixfwEbpc7I9upp/a5azYoPlPEu+BvoDqzmLXk+W
	 bX5MLTAqn18UoTz8dQJtKJ7AterqTuamHuTHdVrFrMk9uxHkCrjUhoa76A6gIMyhNq
	 GeU0ENTJHDvRBiqr9/vJpHoPPXzdfvYHX2NvXHsqr9Binikc/o1lTXMy17BYCY0EBb
	 uORzfdomJhsZAp4ZqJzx+O9lEFvjlAP8EKmm+zpxgI8ss6ujSz5FFd55jXX9WZnnCH
	 l/mrmq5xE6MrQ==
Date: Fri, 11 Aug 2023 16:01:56 -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, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, tamas@tklengyel.com
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
In-Reply-To: <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111600190.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The missing header included by this patch provides declarations for
> the functions 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
> that are defined in the source file. This also resolves violations
> of MISRA C:2012 Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs and p2m_vm_event_fill_regs")
> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
> Fixes: 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
> ---
>  xen/arch/x86/vm_event.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
> index 7027c08a926b..499b6b349d79 100644
> --- a/xen/arch/x86/vm_event.c
> +++ b/xen/arch/x86/vm_event.c
> @@ -20,6 +20,7 @@
>  
>  #include <xen/sched.h>
>  #include <xen/mem_access.h>
> +#include <xen/vm_event.h>
>  #include <asm/vm_event.h>
>  
>  /* Implicitly serialized by the domctl lock. */

I think the problem here is that ./arch/x86/include/asm/vm_event.h,
differently from ./arch/arm/include/asm/vm_event.h, doesn't #include
<xen/vm_event.h>


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 23:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 23:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582717.912610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUbA3-0002bD-6L; Fri, 11 Aug 2023 23:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582717.912610; Fri, 11 Aug 2023 23:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUbA3-0002b6-2P; Fri, 11 Aug 2023 23:03:15 +0000
Received: by outflank-mailman (input) for mailman id 582717;
 Fri, 11 Aug 2023 23:03:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUbA1-0002Xm-Cs
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 23:03:13 +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 3e166c8d-389b-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 01:03:11 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8749E67AD3;
 Fri, 11 Aug 2023 23:03:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B4286C433C7;
 Fri, 11 Aug 2023 23:03: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: 3e166c8d-389b-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691794990;
	bh=1jrbn+HRrqWYHuhY7ptjVuAIPibZEZD5Ng88PQVXtnU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Pj+51xtmsXIP70vF2oT403rzRXktQIWbZGdX9XVwf2wzGHq/zs+hnmU3ORmoX20y9
	 jflX5AvlczO90k5QcowzAASM75Pm6SiBdSKof84Hwhi3xp+sBUx0bCGS0X0f7hSYyJ
	 ia4eeRVcUOCm3XMniiY84rsYoSOTmsd4PWLOOwjTzAiw4DjTwj8mR8bGE2s7RLvTni
	 ZwygCwVtel9wBe+vTQB3ZV0tRBlnnro0IoPRZ6ydt5KbJIs+x7Pbweta4pKWeqgNAJ
	 ew1irvgqOHydgn3TNm94SjYTV8uLjDzqb23hA18JdZQAkY9gIX6SpN6A7EZyW1P+77
	 Cq8cxmDwRtHfg==
Date: Fri, 11 Aug 2023 16:03:07 -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, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH 4/6] cpufreq: add missing include of header
 'pmstat.h'
In-Reply-To: <424e0523b9ec68eda5cf5b41a7bb6c980df2a52d.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111602400.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <424e0523b9ec68eda5cf5b41a7bb6c980df2a52d.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The missing header included by this patch provides a declaration for
> 'set_px_pminfo' that is visible prior to the definition in this file.
> This also resolves a violation of MISRA C:2012 Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: 452119c09420 ("x86 and ia64: move cpufreq notify code to commone place")

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/drivers/cpufreq/cpufreq.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
> index 2321c7dd07b1..4482bbe53a1e 100644
> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -39,6 +39,7 @@
>  #include <xen/guest_access.h>
>  #include <xen/domain.h>
>  #include <xen/cpu.h>
> +#include <xen/pmstat.h>
>  #include <asm/io.h>
>  #include <asm/processor.h>
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 23:04:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 23:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582722.912620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUbAn-00039q-E4; Fri, 11 Aug 2023 23:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582722.912620; Fri, 11 Aug 2023 23: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 1qUbAn-00039j-As; Fri, 11 Aug 2023 23:04:01 +0000
Received: by outflank-mailman (input) for mailman id 582722;
 Fri, 11 Aug 2023 23:04:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUbAm-00036x-PS
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 23:04:00 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5adc84d6-389b-11ee-b284-6b7b168915f2;
 Sat, 12 Aug 2023 01:04:00 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B6F8B66B5A;
 Fri, 11 Aug 2023 23:03:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6306C433C8;
 Fri, 11 Aug 2023 23:03: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: 5adc84d6-389b-11ee-b284-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691795038;
	bh=D9ltO18j6sy6Tn8K6qxsj07MdUcbctefYGAt7s2+ojI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NplaOdHgnnxI00rhhfZS1CH/19M0PhTz1E7a3cnrCCw7BUuOIxCgarMVIfdRzb43l
	 bzg4BmxNnLMuOEY+pSFOdPX8r/f9N9NuiEq6t3mHqX0O0205nrxe9bNwiBcc9DCdIv
	 9IBEhq7JEhOrhOPbIp/0kC0PqjzuBWzUC9oY3zvqRk6KWWy322h3TYDuq5QI7sEFBR
	 dj6VBHqyXKcIIVnOAHEnRfGQcBA68TfHZAh/90tFCSwUqPPDMSRfITvybjQbVJxtRl
	 19XCrDL0qu0YaxRO753UyHDLWgHs5adVZIcQo0/IlIZs1/BwT6ygbGR+rqkcWdUCXR
	 ANgOgRUcKF09w==
Date: Fri, 11 Aug 2023 16:03:55 -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, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH 5/6] vpic/msix: make 'get_slot' static
In-Reply-To: <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111603430.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The function can become static since it's used only within this file.
> This also resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
> of a declaration before the function definition.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X table")

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/drivers/vpci/msix.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 25bde77586a4..f9df506f29bf 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -223,7 +223,7 @@ static void __iomem *get_table(const struct vpci *vpci, unsigned int slot)
>      return msix->table[slot];
>  }
>  
> -unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
> +static unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
>  {
>      unsigned long pfn = PFN_DOWN(addr);
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 11 23:09:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 Aug 2023 23:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582730.912629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUbGD-0003q4-0f; Fri, 11 Aug 2023 23:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582730.912629; Fri, 11 Aug 2023 23: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 1qUbGC-0003px-UD; Fri, 11 Aug 2023 23:09:36 +0000
Received: by outflank-mailman (input) for mailman id 582730;
 Fri, 11 Aug 2023 23: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=01QD=D4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUbGB-0003pr-Pt
 for xen-devel@lists.xenproject.org; Fri, 11 Aug 2023 23:09:35 +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 21674790-389c-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 01:09:33 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7D35167B73;
 Fri, 11 Aug 2023 23:09:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8FF7C433C8;
 Fri, 11 Aug 2023 23:09: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: 21674790-389c-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691795370;
	bh=z2011711AMPRnF6YX7ylWEkL2djZCNqe/f2nnnReMMs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jGd2itPuUFBVq9576nu+lHpPebCezIeUnaEdsun+1YTueZjeXKVaWYu1PEideS8Le
	 i73umClzb0TkVkJf3CnEhwAsZtqtGt30lxfq5qY7GnTFLF82hh5Hk0W/Qvbb3UlEt3
	 qTbbdf0ivqijJg5KEBMSRwfme83qfagZU9ykabCTqeObQlqujQfmA0oU2Yr1L8/cQM
	 KuimioUmSIGK7yzMA1NX80zkwG9fJZheXEmtEBvbazJZIWMAO+Y2ve6BZc8QlgLQoR
	 ausf04fyq8xG/3ro6+J8nXK8EZiNxkt0f4mAPka88AYs3ikRIVGrmKxXEfvi95yr6w
	 ADO9MyZ5c55Lg==
Date: Fri, 11 Aug 2023 16:09:28 -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, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH 6/6] drivers/video: make declarations of defined
 functions available
In-Reply-To: <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308111609160.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com> <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.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, 11 Aug 2023, Nicola Vetrini wrote:
> The declarations for 'vesa_{init,early_init,endboot}' needed by
> 'xen/drivers/video/vesa.c' and 'fill_console_start_info' in 'vga.c'
> are now available by moving the relative code inside 'vga.h' and
> including "<xen/console.h>" respectively.
> This also resolves violations of MISRA C:2012 Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: ebb26b509f1a ("xen/x86: make VGA support selectable")
> Fixes: 6d9199bd0f22 ("x86-64: enable hypervisor output on VESA frame buffer")

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/include/asm/setup.h |  6 ------
>  xen/drivers/video/vga.c          |  9 +--------
>  xen/include/xen/vga.h            | 14 ++++++++++++++
>  3 files changed, 15 insertions(+), 14 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
> index b0e6a39e2365..dfdd9e555149 100644
> --- a/xen/arch/x86/include/asm/setup.h
> +++ b/xen/arch/x86/include/asm/setup.h
> @@ -25,12 +25,6 @@ void subarch_init_memory(void);
>  
>  void init_IRQ(void);
>  
> -#ifdef CONFIG_VIDEO
> -void vesa_init(void);
> -#else
> -static inline void vesa_init(void) {};
> -#endif
> -
>  int construct_dom0(
>      struct domain *d,
>      const module_t *image, unsigned long image_headroom,
> diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
> index 0a03508bee60..b62a47e000e7 100644
> --- a/xen/drivers/video/vga.c
> +++ b/xen/drivers/video/vga.c
> @@ -9,6 +9,7 @@
>  #include <xen/mm.h>
>  #include <xen/param.h>
>  #include <xen/vga.h>
> +#include <xen/console.h>
>  #include <xen/pci.h>
>  #include <asm/io.h>
>  
> @@ -54,14 +55,6 @@ string_param("vga", opt_vga);
>  static unsigned int columns, lines;
>  #define ATTRIBUTE   7
>  
> -#ifdef CONFIG_X86
> -void vesa_early_init(void);
> -void vesa_endboot(bool_t keep);
> -#else
> -#define vesa_early_init() ((void)0)
> -#define vesa_endboot(x)   ((void)0)
> -#endif
> -
>  void __init video_init(void)
>  {
>      char *p;
> diff --git a/xen/include/xen/vga.h b/xen/include/xen/vga.h
> index f72b63d446b1..ffd73c9db135 100644
> --- a/xen/include/xen/vga.h
> +++ b/xen/include/xen/vga.h
> @@ -15,4 +15,18 @@
>  extern struct xen_vga_console_info vga_console_info;
>  #endif
>  
> +#ifdef CONFIG_X86
> +void vesa_early_init(void);
> +void vesa_endboot(bool_t keep);
> +#else
> +#define vesa_early_init() ((void)0)
> +#define vesa_endboot(x)   ((void)0)
> +#endif
> +
> +#ifdef CONFIG_VIDEO
> +void vesa_init(void);
> +#else
> +static inline void vesa_init(void) {};
> +#endif
> +
>  #endif /* _XEN_VGA_H */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:05:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:05:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582747.912652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe0O-0001Na-BM; Sat, 12 Aug 2023 02:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582747.912652; Sat, 12 Aug 2023 02:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe0O-0001NE-4N; Sat, 12 Aug 2023 02:05:28 +0000
Received: by outflank-mailman (input) for mailman id 582747;
 Sat, 12 Aug 2023 02:05: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 1qUe0M-0001N3-ID; Sat, 12 Aug 2023 02:05: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 1qUe0M-0007fQ-5h; Sat, 12 Aug 2023 02:05: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 1qUe0L-0004Yq-OA; Sat, 12 Aug 2023 02:05:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUe0L-0001jJ-Nf; Sat, 12 Aug 2023 02:05: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=73C7RI0bCI9l77qOoeI02Q/D38MkZ95l96TfaZSuPvA=; b=huqZiS7rc6JM6pvyjS8jH56DKo
	b8BTCnG+rikwbiQCQdaI8LURqbK8WV3FvGeR6y0l1n0V8v5ovufonT+GrX1M7vL+QWYRbT4nkUSJb
	DSOEfYBdqZVWGEatoqge10ZVDbHsoLBsPXOiakxaWoyfgx9/wbPyRzqZlqwq4t/Cxp6Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182270-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182270: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:regression
    linux-5.4:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat: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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-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-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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: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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=21732fd224978ebddf4bded7cb99663d2be1e732
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 02:05:25 +0000

flight 182270 linux-5.4 real [real]
flight 182289 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182270/
http://logs.test-lab.xenproject.org/osstest/logs/182289/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2  19 guest-start.2  fail in 182239 REGR. vs. 182076

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm        7 xen-install      fail in 182239 pass in 182270
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail in 182239 pass in 182289-retest
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 182258 pass in 182270
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 182289 pass in 182239
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail pass in 182239
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 182258
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 182258

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 182239 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 182239 never pass
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 182258 like 182076
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 182258 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 182258 never pass
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 182031
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 182065
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                21732fd224978ebddf4bded7cb99663d2be1e732
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   13 days
Testing same since   182239  2023-08-08 18:13:15 Z    3 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Ben Hutchings <benh@debian.org>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Joerg Roedel <jroedel@suse.de>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kim Phillips <kim.phillips@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Richard Weinberger <richard@nod.at>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Sean Christopherson <seanjc@google.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tom Lendacky <thomas.lendacky@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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       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                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 738 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:06:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:06:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582755.912664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1b-0001x4-Oo; Sat, 12 Aug 2023 02:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582755.912664; Sat, 12 Aug 2023 02:06:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1b-0001wx-M8; Sat, 12 Aug 2023 02:06:43 +0000
Received: by outflank-mailman (input) for mailman id 582755;
 Sat, 12 Aug 2023 02:06:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WvX7=D5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUe1a-0001ue-Ks
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 02:06:42 +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 e04d1de8-38b4-11ee-b286-6b7b168915f2;
 Sat, 12 Aug 2023 04:06:41 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BE48A64CB2;
 Sat, 12 Aug 2023 02:06:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96C14C433C7;
 Sat, 12 Aug 2023 02:06: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: e04d1de8-38b4-11ee-b286-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691805999;
	bh=v03ioEWWe/WG/8/dGTeAMaVff7IsbQbiAAyZnr2UnVM=;
	h=Date:From:To:cc:Subject:From;
	b=IyqvKs3AnA3tBXKcQiQ8L9+m6mmbKXjSOe6c0YrUOPY5VwSgoxD35hziA1Fm43HhT
	 Uzc4IU2ghtuN5uJ3h9ffxN3aKRnXPJ9i+vPUgOyLCmhRFsXQ4dIrlFUzFkRcWMH8wP
	 I3+CgJIy05mSFBtoxlgc3KVAf99Q30H/TGxVPwrBHLXQQVF8TnrhyvQzc3IiH6bVV1
	 uAKjNARh9uuk3BFzcX3veWOXNLSqbEcKcQvDkUV7J5yllq/CubRmmroMsWEIMBR1GF
	 dpf7r2SkKbS61mnEiIt8107iARqPOhp02oPqjWdWyF9HnRsSNo6NBn8oIPkzMiltW0
	 j28hiZI/Z0+fg==
Date: Fri, 11 Aug 2023 19:06:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, cardoe@cardoe.com, michal.orzel@amd.com
Subject: [PATCH 0/3] automation: switch Debian unstable to Bookworm
Message-ID: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

Debian unstable has been released as Bookworm, so let's change our
containers to use Bookworm which is a stable release.

Here is proof everything still works:
https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/964051324

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:06:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582756.912675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1r-0002HZ-06; Sat, 12 Aug 2023 02:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582756.912675; Sat, 12 Aug 2023 02:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1q-0002HR-TL; Sat, 12 Aug 2023 02:06:58 +0000
Received: by outflank-mailman (input) for mailman id 582756;
 Sat, 12 Aug 2023 02:06:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WvX7=D5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUe1p-0001ue-Vt
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 02:06: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 e9dc5912-38b4-11ee-b286-6b7b168915f2;
 Sat, 12 Aug 2023 04:06:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1E608650DE;
 Sat, 12 Aug 2023 02:06:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DC15BC433C9;
 Sat, 12 Aug 2023 02:06: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: e9dc5912-38b4-11ee-b286-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691806015;
	bh=G9CGB4WjL6b1fUK05672SR0exlr7l5QtL28sknt/JmY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=gE8E6xEIMab81FlM5nPwQ9WABCBg9sCUoJpN0wVf3UTBvLPYeBAncEeoAgTnuJceG
	 dPQlFtsQOEzZy+mAyCdgdxuSXxhtv5aEe/PwWoYsnVJTictH9mGy6D2YO7T/kNo4a3
	 gzcdGVLOKtXQTMXIyxm4wQczssFZV3ilS+E0IQdrZALfZU+n1+N7TmsV/VFIjV3jPf
	 Ww6KboAgJskpO0OC4C4oYSMdBVKXSGPUPZistL3TxdfA6CGebX1hYaSG6+tNs2vIEc
	 SG1VjnWiQEm2NCq99atnIO43LtvTyzUlrVuwY2IzcXz7vyZnREDmoJEy3XGuunWkkX
	 eu+1mzYbud/vA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 2/3] automation: update test-artifacts to use Debian Bookworm instead of unstable
Date: Fri, 11 Aug 2023 19:06:50 -0700
Message-Id: <20230812020651.11608-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile       | 2 +-
 automation/tests-artifacts/kernel/6.1.19.dockerfile             | 2 +-
 .../qemu-system-aarch64/6.0.0-arm64v8.dockerfile                | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
index e445c1f03a..a53a97d727 100644
--- a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
+++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:unstable
+FROM arm64v8/debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
index c2171555a0..d5b787c1cb 100644
--- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:unstable
+FROM debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
index 793432d40b..e277e13b60 100644
--- a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
+++ b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:unstable
+FROM arm64v8/debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:07:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582757.912685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1s-0002XJ-6H; Sat, 12 Aug 2023 02:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582757.912685; Sat, 12 Aug 2023 02: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 1qUe1s-0002XA-3U; Sat, 12 Aug 2023 02:07:00 +0000
Received: by outflank-mailman (input) for mailman id 582757;
 Sat, 12 Aug 2023 02:06:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WvX7=D5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUe1r-0002HO-59
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 02:06:59 +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 e94e9f63-38b4-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 04:06:56 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2E62364BA0;
 Sat, 12 Aug 2023 02:06:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF803C433C7;
 Sat, 12 Aug 2023 02:06:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e94e9f63-38b4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691806014;
	bh=rgFvj7KHf0sLL1nBh8WzdlxT1VThhWRqV5y19fnRlwQ=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=WaEx2Gr5j8t5Yna/SUm3xrJnSW4atrWaSR5xIOC28aUoZMSFR4uk8LJ6zZrhZaWbp
	 jphHEYrKutRe7XYHaICC2mlWAJ7RmLZ3Iqzun1sueNO+Xm42AUtAzw5bY/nS1s1XpZ
	 IFyKWx30DWrm5lncl53F02CD0Oa7i52TLX6ae4nNLnkG1FW0CbNUmufz3e6KEBSwc3
	 XIEy6RX8i8iOgyeoCB/RV8aAOmNNb3xW+9Xp+jo55aMwgzktMLLyjr/E3Gad23Otx9
	 ngf8pBQi2v989VQmSyV3ulp/D6te9aMWlfx3WyjHizEeJtl2zZXukTp/NvdmUqWXcQ
	 jzpR+dg0WEKJg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 1/3] automation: switch from Debian unstable to bookworm
Date: Fri, 11 Aug 2023 19:06:49 -0700
Message-Id: <20230812020651.11608-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Debian unstable used in the Xen containers is actually bookworm.
Switching to bookworm which is now stable means we are not basing our
containers on a moving target anymore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 ...2-gcc.dockerfile => bookworm-arm64v8-arm32-gcc.dockerfile} | 2 +-
 ...nstable-arm64v8.dockerfile => bookworm-arm64v8.dockerfile} | 2 +-
 ...table-cppcheck.dockerfile => bookworm-cppcheck.dockerfile} | 4 ++--
 .../{unstable-i386.dockerfile => bookworm-i386.dockerfile}    | 2 +-
 .../build/debian/{unstable.dockerfile => bookworm.dockerfile} | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)
 rename automation/build/debian/{unstable-arm64v8-arm32-gcc.dockerfile => bookworm-arm64v8-arm32-gcc.dockerfile} (94%)
 rename automation/build/debian/{unstable-arm64v8.dockerfile => bookworm-arm64v8.dockerfile} (97%)
 rename automation/build/debian/{unstable-cppcheck.dockerfile => bookworm-cppcheck.dockerfile} (95%)
 rename automation/build/debian/{unstable-i386.dockerfile => bookworm-i386.dockerfile} (97%)
 rename automation/build/debian/{unstable.dockerfile => bookworm.dockerfile} (98%)

diff --git a/automation/build/debian/unstable-arm64v8-arm32-gcc.dockerfile b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
similarity index 94%
rename from automation/build/debian/unstable-arm64v8-arm32-gcc.dockerfile
rename to automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
index 11860425a6..b3295c435e 100644
--- a/automation/build/debian/unstable-arm64v8-arm32-gcc.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:unstable
+FROM arm64v8/debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/unstable-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
similarity index 97%
rename from automation/build/debian/unstable-arm64v8.dockerfile
rename to automation/build/debian/bookworm-arm64v8.dockerfile
index b9b1587f88..a6d4246d96 100644
--- a/automation/build/debian/unstable-arm64v8.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:unstable
+FROM arm64v8/debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/unstable-cppcheck.dockerfile b/automation/build/debian/bookworm-cppcheck.dockerfile
similarity index 95%
rename from automation/build/debian/unstable-cppcheck.dockerfile
rename to automation/build/debian/bookworm-cppcheck.dockerfile
index adc192cea6..d64fb7b18c 100644
--- a/automation/build/debian/unstable-cppcheck.dockerfile
+++ b/automation/build/debian/bookworm-cppcheck.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:unstable AS builder
+FROM arm64v8/debian:bookworm AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV CPPCHECK_VERSION=2.7
@@ -24,7 +24,7 @@ RUN curl -fsSLO https://github.com/danmar/cppcheck/archive/"$CPPCHECK_VERSION".t
         FILESDIR=/usr/share/cppcheck \
         HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
 
-FROM arm64v8/debian:unstable
+FROM arm64v8/debian:bookworm
 COPY --from=builder /usr/bin/cppcheck /usr/bin/cppcheck
 COPY --from=builder /usr/share/cppcheck /usr/share/cppcheck
 
diff --git a/automation/build/debian/unstable-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
similarity index 97%
rename from automation/build/debian/unstable-i386.dockerfile
rename to automation/build/debian/bookworm-i386.dockerfile
index 1c4928b09e..eb1c732f53 100644
--- a/automation/build/debian/unstable-i386.dockerfile
+++ b/automation/build/debian/bookworm-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:unstable
+FROM i386/debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/unstable.dockerfile b/automation/build/debian/bookworm.dockerfile
similarity index 98%
rename from automation/build/debian/unstable.dockerfile
rename to automation/build/debian/bookworm.dockerfile
index 6ef2878200..f8415425e6 100644
--- a/automation/build/debian/unstable.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:unstable
+FROM debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:07:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582758.912695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUe1u-0002sa-E7; Sat, 12 Aug 2023 02:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582758.912695; Sat, 12 Aug 2023 02: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 1qUe1u-0002sR-AT; Sat, 12 Aug 2023 02:07:02 +0000
Received: by outflank-mailman (input) for mailman id 582758;
 Sat, 12 Aug 2023 02:07:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WvX7=D5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qUe1s-0002HO-Kl
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 02:07: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 ea740d58-38b4-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 04:06:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1C25E64EB2;
 Sat, 12 Aug 2023 02:06:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF0D4C433CA;
 Sat, 12 Aug 2023 02:06: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: ea740d58-38b4-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1691806016;
	bh=CCQJr8YPRsIBmLk4v5yHXJHCKxH1mNXEgoMdUng+hAY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=i/213FIHImTBHOW8advmnFsCuX7O1gUszjqBIQSUgjdCrIZCN43Hvgx20baoaM4Ry
	 NIEFxAiYZvY7FHJsYj/vOD/T002TxZqhUSVGkITpAP19p4zdhvQj0OXbruDglxNv+u
	 tAaPf9XXyE1+RqMlmGilH/y4SsPy/J24okagaA+QiwXvarh4vYvbP8iI+Q5KkzCbIh
	 fIcHtw796fpiN3aVePYM9beocTCikNU1WtaV9txJBlJ5yoipHBXXRl8y2WY2YspLty
	 SYy1Tp1YkxrJh2mfM42dW4HbQjcPEgVSjojV0UW2fuuozUh0hwomAgTqJEflud2YD0
	 V4R6aXDslIRRw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 3/3] automation: update jobs to use Debian Bookworm instead of unstable
Date: Fri, 11 Aug 2023 19:06:51 -0700
Message-Id: <20230812020651.11608-3-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/gitlab-ci/build.yaml | 84 ++++++++++++++++-----------------
 automation/gitlab-ci/test.yaml  | 24 +++++-----
 2 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 173613567c..1a4a5e490d 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -360,53 +360,53 @@ debian-stretch-gcc-debug:
   variables:
     CONTAINER: debian:stretch
 
-debian-unstable-clang-debug:
+debian-bookworm-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
 
 # Arm32 cross-build
 
-debian-unstable-gcc-arm32:
+debian-bookworm-gcc-arm32:
   extends: .gcc-arm32-cross-build
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
 
-debian-unstable-gcc-arm32-debug:
+debian-bookworm-gcc-arm32-debug:
   extends: .gcc-arm32-cross-build-debug
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
 
-debian-unstable-gcc-arm32-randconfig:
+debian-bookworm-gcc-arm32-randconfig:
   extends: .gcc-arm32-cross-build
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
     RANDCONFIG: y
 
-debian-unstable-gcc-arm32-debug-randconfig:
+debian-bookworm-gcc-arm32-debug-randconfig:
   extends: .gcc-arm32-cross-build-debug
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
     RANDCONFIG: y
 
-debian-unstable-gcc-arm32-staticmem:
+debian-bookworm-gcc-arm32-staticmem:
   extends: .gcc-arm32-cross-build
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
-debian-unstable-gcc-arm32-debug-staticmem:
+debian-bookworm-gcc-arm32-debug-staticmem:
   extends: .gcc-arm32-cross-build-debug
   variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
@@ -415,26 +415,26 @@ debian-unstable-gcc-arm32-debug-staticmem:
 
 # Arm builds
 
-debian-unstable-gcc-arm64:
+debian-bookworm-gcc-arm64:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
 
-debian-unstable-gcc-debug-arm64:
+debian-bookworm-gcc-debug-arm64:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
 
-debian-unstable-gcc-arm64-randconfig:
+debian-bookworm-gcc-arm64-randconfig:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
     RANDCONFIG: y
 
-debian-unstable-gcc-debug-arm64-randconfig:
+debian-bookworm-gcc-debug-arm64-randconfig:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
     RANDCONFIG: y
 
 alpine-3.18-gcc-arm64:
@@ -597,26 +597,26 @@ yocto-qemux86-64:
 
 # Cppcheck analysis jobs
 
-debian-unstable-gcc-cppcheck:
+debian-bookworm-gcc-cppcheck:
   extends: .gcc-x86-64-cross-build
   variables:
-    CONTAINER: debian:unstable-cppcheck
+    CONTAINER: debian:bookworm-cppcheck
     CROSS_COMPILE: /usr/bin/x86_64-linux-gnu-
     CPPCHECK: y
     HYPERVISOR_ONLY: y
 
-debian-unstable-gcc-arm32-cppcheck:
+debian-bookworm-gcc-arm32-cppcheck:
   extends: .gcc-arm32-cross-build
   variables:
-    CONTAINER: debian:unstable-cppcheck
+    CONTAINER: debian:bookworm-cppcheck
     CROSS_COMPILE: /usr/bin/arm-linux-gnueabihf-
     CPPCHECK: y
     HYPERVISOR_ONLY: y
 
-debian-unstable-gcc-arm64-cppcheck:
+debian-bookworm-gcc-arm64-cppcheck:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: debian:unstable-cppcheck
+    CONTAINER: debian:bookworm-cppcheck
     CPPCHECK: y
     HYPERVISOR_ONLY: y
 
@@ -685,42 +685,42 @@ debian-buster-gcc-ibt:
     EXTRA_FIXED_RANDCONFIG: |
       CONFIG_XEN_IBT=y
 
-debian-unstable-clang:
+debian-bookworm-clang:
   extends: .clang-x86-64-build
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
 
-debian-unstable-gcc:
+debian-bookworm-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
 
-debian-unstable-gcc-debug:
+debian-bookworm-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
 
-debian-unstable-gcc-randconfig:
+debian-bookworm-gcc-randconfig:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
     RANDCONFIG: y
 
-debian-unstable-gcc-debug-randconfig:
+debian-bookworm-gcc-debug-randconfig:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: debian:unstable
+    CONTAINER: debian:bookworm
     RANDCONFIG: y
 
-debian-unstable-32-clang-debug:
+debian-bookworm-32-clang-debug:
   extends: .clang-x86-32-build-debug
   variables:
-    CONTAINER: debian:unstable-i386
+    CONTAINER: debian:bookworm-i386
 
-debian-unstable-32-gcc-debug:
+debian-bookworm-32-gcc-debug:
   extends: .gcc-x86-32-build-debug
   variables:
-    CONTAINER: debian:unstable-i386
+    CONTAINER: debian:bookworm-i386
 
 fedora-gcc:
   extends: .gcc-x86-64-build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8ccce1fe26..810631bc46 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -22,7 +22,7 @@
 .qemu-arm64:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
     LOGFILE: qemu-smoke-arm64.log
   artifacts:
     paths:
@@ -35,7 +35,7 @@
 .qemu-arm32:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:unstable-arm64v8
+    CONTAINER: debian:bookworm-arm64v8
     LOGFILE: qemu-smoke-arm32.log
   artifacts:
     paths:
@@ -357,7 +357,7 @@ qemu-smoke-dom0less-arm32-gcc:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32
+    - debian-bookworm-gcc-arm32
 
 qemu-smoke-dom0less-arm32-gcc-debug:
   extends: .qemu-arm32
@@ -365,7 +365,7 @@ qemu-smoke-dom0less-arm32-gcc-debug:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug
+    - debian-bookworm-gcc-arm32-debug
 
 qemu-smoke-dom0less-arm32-gcc-staticmem:
   extends: .qemu-arm32
@@ -373,7 +373,7 @@ qemu-smoke-dom0less-arm32-gcc-staticmem:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32-staticmem
+    - debian-bookworm-gcc-arm32-staticmem
 
 qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
   extends: .qemu-arm32
@@ -381,7 +381,7 @@ qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug-staticmem
+    - debian-bookworm-gcc-arm32-debug-staticmem
 
 qemu-smoke-dom0less-arm32-gcc-gzip:
   extends: .qemu-arm32
@@ -389,7 +389,7 @@ qemu-smoke-dom0less-arm32-gcc-gzip:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32
+    - debian-bookworm-gcc-arm32
 
 qemu-smoke-dom0less-arm32-gcc-debug-gzip:
   extends: .qemu-arm32
@@ -397,7 +397,7 @@ qemu-smoke-dom0less-arm32-gcc-debug-gzip:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug
+    - debian-bookworm-gcc-arm32-debug
 
 qemu-smoke-dom0less-arm32-gcc-without-dom0:
   extends: .qemu-arm32
@@ -405,7 +405,7 @@ qemu-smoke-dom0less-arm32-gcc-without-dom0:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32
+    - debian-bookworm-gcc-arm32
 
 qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
   extends: .qemu-arm32
@@ -413,7 +413,7 @@ qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
     - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
   needs:
     - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug
+    - debian-bookworm-gcc-arm32-debug
 
 qemu-alpine-x86_64-gcc:
   extends: .qemu-x86-64
@@ -435,7 +435,7 @@ qemu-smoke-x86-64-clang:
   script:
     - ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE}
   needs:
-    - debian-unstable-clang-debug
+    - debian-bookworm-clang-debug
 
 qemu-smoke-x86-64-gcc-pvh:
   extends: .qemu-x86-64
@@ -449,7 +449,7 @@ qemu-smoke-x86-64-clang-pvh:
   script:
     - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - debian-unstable-clang-debug
+    - debian-bookworm-clang-debug
 
 qemu-smoke-riscv64-gcc:
   extends: .qemu-riscv64
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 12 02:32:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 02:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582782.912708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUeQd-00077s-CX; Sat, 12 Aug 2023 02:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582782.912708; Sat, 12 Aug 2023 02: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 1qUeQd-00077l-9H; Sat, 12 Aug 2023 02:32:35 +0000
Received: by outflank-mailman (input) for mailman id 582782;
 Sat, 12 Aug 2023 02:32: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=gpgP=D5=exostellar.io=kevin@srs-se1.protection.inumbo.net>)
 id 1qUeQb-00077f-Q7
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 02:32:33 +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 7bff9df0-38b8-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 04:32:30 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-4fe7e1ef45dso4103135e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 11 Aug 2023 19:32: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: 7bff9df0-38b8-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=exostellar.io; s=google; t=1691807549; x=1692412349;
        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=5lNbxMdL21sQVZT8xQtmgPQyhZiPQ29lf+o7Q+xUGHE=;
        b=Lxb93fjSyHkwBsCFLfcFCjay/23B9mSx5zvkH+DTbxMDCrcffBPRJlmBFfdhOe2RvR
         D89hJDSq5lxVyikq+NTf71RvyTLqRYP+/OSdMNiCtXw4V9VQu/usjC2zGiFd17yqnEjQ
         pvk1ibVhIqUYswjcH0D87qt47r8899lQfWQIecFHrSVFOOtF0LU+Q+0fkBisCuibxFMH
         7r7oUU9CB07LF0Chfr9RVeONwRD2LEoqn4+4xnE5grLCgGBC6j9LJyOT9hmrCe3HZFjU
         pG/DrSSRBlwkmZscXWggzVdez4L5eqyKktlH1h4h5RZIVvEoPXSBRc8+xSBD4Y5/O2S4
         uHCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1691807549; x=1692412349;
        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=5lNbxMdL21sQVZT8xQtmgPQyhZiPQ29lf+o7Q+xUGHE=;
        b=i9djcHI2ec1si9Xv/aLmL25NnpsIsv05oOWiL4lI7IF4eUPmiwwK/e+qwYZFNjX+Oy
         xF0DWXqyCehxHmbCEV0TE7AzD4izitbkkyP92JvHAhLTBuWepheVExxTwKXaTLDekG8L
         l8AzyABMKShuZGEsQHJHqed3WkMpQifHNOK9slH4Aa9SueNQ672FsanOPWcq2ZfIQLmM
         gsF8/tHxY9YwVITtCoXIURvQoQgc6EHQCNusXXWralSXzb/4wJZHDm+z39taGBnCp2Gn
         TS1tCcmyIGXxcqYZQsGBSqCY4a631v35I6rY1qRxsso+Ke0o+wCJ5Nw1Pcks5cqLsw/Q
         9GGg==
X-Gm-Message-State: AOJu0YwuoLNqcFlQ5B7QVKptrZgVYngnsI9T8byUyjkNPH9I+sgaWnBc
	UG42f/yg6jspEv20fp8G3GqhMWr6uJX/kiLFjAlaAQ==
X-Google-Smtp-Source: AGHT+IGiGpGBT6Ma5ct8ptF3AZThJVGsppBJCASATyRWQ6mKckQTa8tbynTev5IB82pdTOvM+rcvcOqFZpYci9/EvVw=
X-Received: by 2002:a05:6512:400c:b0:4f8:7781:9870 with SMTP id
 br12-20020a056512400c00b004f877819870mr2977002lfb.60.1691807549332; Fri, 11
 Aug 2023 19:32:29 -0700 (PDT)
MIME-Version: 1.0
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
 <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
In-Reply-To: <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
From: Kevin Alarcon Negy <kevin@exostellar.io>
Date: Fri, 11 Aug 2023 22:32:18 -0400
Message-ID: <CAGP=kr5U3C4hKmFZ6Odnqs-1EtZ-Lc=4Q3F0Na5j0HOTGYEwXw@mail.gmail.com>
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Apologies if I misused the "RESEND" subject line. The xen patch guide
[1] seemed to suggest using it as a way to ping.

Thanks for the feedback. I realize now that my misunderstanding in how
the original code should work is because of my confusion between
"maxmem" the config variable vs. "xl mem-max" command. I thought that
both should act exactly the same way. As in, "xl mem-max" calls
xc_domain_setmaxmem() and also sets the static-max variable [2]. I
know that maxmem (config variable) starts out as just the static-max
variable and does not result in an xc_domain_setmaxmem(maxmem) call
upon bootup, but it wasn't clear to me that this was intended. My
patch was intended to make both the config variable and the xl command
act in the same way.

Perhaps this distinction is better resolved with different naming? For
instance, instead of "maxmem" for the config variable, call it
"static-max" to match its internal meaning?

I appreciate your thoughts.
Kevin

[1] https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches#Resendi=
ng_Patches
[2] https://github.com/xen-project/xen/blob/master/tools/libs/light/libxl_m=
em.c#L76

On Tue, Aug 8, 2023 at 3:14=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> On 08.08.23 00:16, Kevin Alarcon Negy wrote:
> > When building a domain, xc_domain_setmaxmem() is called with target_mem=
kb (memory in domain config file).
> > If a config specifies maxmem > memory, any attempts to increase the dom=
ain memory size to its max,
> > outside of xl mem-set or xl mem-max, which already call xc_domain_setma=
xmem() properly, will fail.
>
> But this is how it should work, no?
>
> With your change the guest could easily balloon itself up to maxmem witho=
ut it
> having been allowed to do so.
>
> The maxmem config option is meant to tell the domain how much memory it s=
hould
> be prepared to use some time in the future. It isn't meant to allow the d=
omain
> to use right now.
>
>
> Juergen
>
> > Changed xc_domain_setmaxmem() call inside libxl__build_pre() to use max=
_memkb.
> >
> > Signed-off-by: Kevin Alarcon Negy <kevin@exostellar.io>
> > ---
> >   tools/libs/light/libxl_dom.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.=
c
> > index 94fef37401..16aa255aad 100644
> > --- a/tools/libs/light/libxl_dom.c
> > +++ b/tools/libs/light/libxl_dom.c
> > @@ -355,7 +355,7 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
> >           return ERROR_FAIL;
> >       }
> >
> > -    if (xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + size=
) < 0) {
> > +    if (xc_domain_setmaxmem(ctx->xch, domid, info->max_memkb + size) <=
 0) {
> >           LOGE(ERROR, "Couldn't set max memory");
> >           return ERROR_FAIL;
> >       }
>


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 04:00:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 04:00:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582809.912774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUfn9-0007li-C8; Sat, 12 Aug 2023 03:59:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582809.912774; Sat, 12 Aug 2023 03:59: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 1qUfn9-0007lb-9V; Sat, 12 Aug 2023 03:59:55 +0000
Received: by outflank-mailman (input) for mailman id 582809;
 Sat, 12 Aug 2023 03:59: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 1qUfn8-0007l8-8a; Sat, 12 Aug 2023 03:59: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 1qUfn8-0001o1-6H; Sat, 12 Aug 2023 03:59: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 1qUfn7-0000Fl-SQ; Sat, 12 Aug 2023 03:59:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUfn7-0004fW-Nw; Sat, 12 Aug 2023 03:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VaHIqjc33DwXsBqHT3OW+7tn4visO6+/aEWLQwn3f2c=; b=V6QR75flCOanlw6LcnvJuypJnA
	w0yfaig5b89d8cITS3Lhlieyh3W7GnpQysh4iJPcfSbzVgAP+vFvY40duaaxwav6cE616uD3j+VmP
	BWQRAEjaKW5jtfVZNPE6plbsKaFkq4MxE7YZj2KACzb50k71p/Sy2OCFUXCVycmymHTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182272-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182272: 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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c6bda36af0b992d5d2042efd6cc36592fb037a1d
X-Osstest-Versions-That:
    xen=79c18114c7d71f0227abbbb75e24d114483765f7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 03:59:53 +0000

flight 182272 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182272/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182260
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182260
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182260
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182260
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182260
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182260
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182260
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182260
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182260
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182260
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182260
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182260
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  c6bda36af0b992d5d2042efd6cc36592fb037a1d
baseline version:
 xen                  79c18114c7d71f0227abbbb75e24d114483765f7

Last test of basis   182260  2023-08-10 11:12:27 Z    1 days
Testing same since   182272  2023-08-11 07:22:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   79c18114c7..c6bda36af0  c6bda36af0b992d5d2042efd6cc36592fb037a1d -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 05:28:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 05:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582820.912790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUhA7-00014p-Ph; Sat, 12 Aug 2023 05:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582820.912790; Sat, 12 Aug 2023 05:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUhA7-00014i-ME; Sat, 12 Aug 2023 05:27:43 +0000
Received: by outflank-mailman (input) for mailman id 582820;
 Sat, 12 Aug 2023 05:27:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JUr7=D5=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qUhA6-00014b-OF
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 05:27:42 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1eedf90-38d0-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 07:27:37 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 37C5RL9m032320
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Sat, 12 Aug 2023 01:27:26 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 37C5RJVd032319;
 Fri, 11 Aug 2023 22:27:19 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1eedf90-38d0-11ee-8613-37d641c3527e
Date: Fri, 11 Aug 2023 22:27:19 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 00/22] Cleanup and splitting of xl.cfg parsing
Message-ID: <ZNcYN12yW6c4l4ZH@mattapan.m5p.com>
References: <cover.1690990427.git.ehem+xen@m5p.com>
 <673c6ba4-6d1e-6e51-0da4-fb8996cde4a2@suse.com>
 <ZMvSHuEQzGYyVJ49@mattapan.m5p.com>
 <8074634d-fd76-43fc-8e0f-4c3a70ea5360@xen.org>
 <ZMvnqAJuBQSVbKYc@mattapan.m5p.com>
 <82914e71-fa96-490c-b584-a90045a71567@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <82914e71-fa96-490c-b584-a90045a71567@xen.org>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Aug 03, 2023 at 06:48:33PM +0100, Julien Grall wrote:
> Hi,
> 
> On 03/08/2023 18:45, Elliott Mitchell wrote:
> > On Thu, Aug 03, 2023 at 05:34:31PM +0100, Julien Grall wrote:
> >>
> >> Not sure if this is related to the lack of answer. But I didn't receive
> >> any of your patches via xen-devel (I received your replies). Skimming
> >> through the bounce for the xenproject mail server, I noticed a lot of
> >> the following:
> >>
> >>       host gmail-smtp-in.l.google.com [142.250.123.26]
> >>       SMTP error from remote mail server after pipelined end of data:
> >>       550-5.7.1 This message is not RFC 5322 compliant. There are
> >> multiple Cc headers.
> >>       550-5.7.1 To reduce the amount of spam sent to Gmail, this message
> >> has been
> >>       550-5.7.1 blocked. Please visit
> >>       550 5.7.1
> >> https://support.google.com/mail/?p=RfcMessageNonCompliant
> >> t7-20020a81e447000000b005839e8b595dsi12027284ywl.554 - gsmtp
> > 
> > That seems to be repotting a bug in `scripts/add_maintainers.pl`.
> 
> I am curious to know why you think so?
> 
> I have been using scripts/add_maintainers.pl for quite a while and so 
> far never seen any of my e-mail blocked.
> 
> My usual runes are:
> 
> 42sh> scripts/add_maintainers.pl -d .
> 42sh> git-send-email *.patch
> 
> What's yours?

Final steps are:

scp -r snd mailserver:
for f in snd/0*.patch
do sendmail -t < "$f"
	sleep 45
done

Issue with `git send-email` is it really needs all the setup of a MUA,
and I prefer to keep `git` on a distinct host.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Sat Aug 12 06:37:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 06:37:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582829.912806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUiFb-0000Dr-Nt; Sat, 12 Aug 2023 06:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582829.912806; Sat, 12 Aug 2023 06: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 1qUiFb-0000Dk-Kk; Sat, 12 Aug 2023 06:37:27 +0000
Received: by outflank-mailman (input) for mailman id 582829;
 Sat, 12 Aug 2023 06:37: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=CHDW=D5=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qUiFa-0000De-VY
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 06:37:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2905576-38da-11ee-b287-6b7b168915f2;
 Sat, 12 Aug 2023 08:37:24 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 2F05E4EE0738;
 Sat, 12 Aug 2023 08:37: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: b2905576-38da-11ee-b287-6b7b168915f2
MIME-Version: 1.0
Date: Sat, 12 Aug 2023 08:37:24 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 andrew.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com>
 <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 12/08/2023 00:04, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> With this patch, ECLAIR jobs will need to be manually
>> started for "people/.*" pipelines.
>> 
>> This avoids occupying the runner on analyzes that might
>> not be used by developers.
>> 
>> If developers want to analyze their own repositories
>> they need to launch them from GitLab.
>> 
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>>  automation/gitlab-ci/build.yaml   |  6 ------
>>  automation/gitlab-ci/test.yaml    |  5 -----
>>  3 files changed, 10 insertions(+), 15 deletions(-)
>> 
>> diff --git a/automation/gitlab-ci/analyze.yaml 
>> b/automation/gitlab-ci/analyze.yaml
>> index 4aa4abe2ee..f04ff99093 100644
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -20,21 +20,27 @@
>>        codequality: gl-code-quality-report.json
>>    needs: []
>> 
>> -eclair-x86_64:
>> +.eclair-analysis:triggered:
>>    extends: .eclair-analysis
>> +  allow_failure: true
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> +      when: manual
>> +    - when: always
>> +
>> +eclair-x86_64:
>> +  extends: .eclair-analysis:triggered
>>    variables:
>>      LOGFILE: "eclair-x86_64.log"
>>      VARIANT: "X86_64"
>>      RULESET: "Set1"
>> -  allow_failure: true
>> 
>>  eclair-ARM64:
>> -  extends: .eclair-analysis
>> +  extends: .eclair-analysis:triggered
>>    variables:
>>      LOGFILE: "eclair-ARM64.log"
>>      VARIANT: "ARM64"
>>      RULESET: "Set1"
>> -  allow_failure: true
>> 
>>  .eclair-analysis:on-schedule:
>>    extends: .eclair-analysis
> 
> Everything so far looks great and I am ready to Ack.
> 
> 
>> diff --git a/automation/gitlab-ci/build.yaml 
>> b/automation/gitlab-ci/build.yaml
>> index 173613567c..e4b601943c 100644
>> --- a/automation/gitlab-ci/build.yaml
>> +++ b/automation/gitlab-ci/build.yaml
>> @@ -12,11 +12,6 @@
>>        - '*/*.log'
>>      when: always
>>    needs: []
>> -  except:
>> -    - master
>> -    - smoke
>> -    - /^coverity-tested\/.*/
>> -    - /^stable-.*/
>> 
>>  .gcc-tmpl:
>>    variables: &gcc
>> @@ -269,7 +264,6 @@
>>  .test-jobs-artifact-common:
>>    stage: build
>>    needs: []
>> -  except: !reference [.test-jobs-common, except]
>> 
>>  # Arm test artifacts
>> 
>> diff --git a/automation/gitlab-ci/test.yaml 
>> b/automation/gitlab-ci/test.yaml
>> index 8ccce1fe26..11cb97ea4b 100644
>> --- a/automation/gitlab-ci/test.yaml
>> +++ b/automation/gitlab-ci/test.yaml
>> @@ -1,11 +1,6 @@
>>  .test-jobs-common:
>>    stage: test
>>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> -  except:
>> -    - master
>> -    - smoke
>> -    - /^coverity-tested\/.*/
>> -    - /^stable-.*/
>> 
>>  .arm64-test-needs: &arm64-test-needs
>>    - alpine-3.18-arm64-rootfs-export
> 
> These changes instead belongs to the first patch, right?

Yes, sorry. Moreover, it is the answer to your question on
the other patch.
-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 09:54:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 09:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582847.912828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUlJe-00041Z-L9; Sat, 12 Aug 2023 09:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582847.912828; Sat, 12 Aug 2023 09:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUlJe-00041S-Gx; Sat, 12 Aug 2023 09:53:50 +0000
Received: by outflank-mailman (input) for mailman id 582847;
 Sat, 12 Aug 2023 09:53: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=NgeL=D5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qUlJd-00041M-Tx
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 09:53:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2016565f-38f6-11ee-8613-37d641c3527e;
 Sat, 12 Aug 2023 11:53:47 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 4271D4EE0738;
 Sat, 12 Aug 2023 11:53: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: 2016565f-38f6-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Sat, 12 Aug 2023 11:53:44 +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,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 tamas@tklengyel.com
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
In-Reply-To: <alpine.DEB.2.22.394.2308111600190.2127516@ubuntu-linux-20-04-desktop>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111600190.2127516@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <449fa348676e754b7eae9b8acc00fb86@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


>> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
>> index 7027c08a926b..499b6b349d79 100644
>> --- a/xen/arch/x86/vm_event.c
>> +++ b/xen/arch/x86/vm_event.c
>> @@ -20,6 +20,7 @@
>> 
>>  #include <xen/sched.h>
>>  #include <xen/mem_access.h>
>> +#include <xen/vm_event.h>
>>  #include <asm/vm_event.h>
>> 
>>  /* Implicitly serialized by the domctl lock. */
> 
> I think the problem here is that ./arch/x86/include/asm/vm_event.h,
> differently from ./arch/arm/include/asm/vm_event.h, doesn't #include
> <xen/vm_event.h>

I see your point. Do you think it would be better to include 
xen/vm_event.h
in asm/vm_event.h for x86 or move the inclusion of xen/vm_event.h for 
arm to
the source file, as done in the patch?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 10:16:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 10:16:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582854.912838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUlfa-0006fF-8G; Sat, 12 Aug 2023 10:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582854.912838; Sat, 12 Aug 2023 10: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 1qUlfa-0006f8-5Z; Sat, 12 Aug 2023 10:16:30 +0000
Received: by outflank-mailman (input) for mailman id 582854;
 Sat, 12 Aug 2023 10:16: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 1qUlfY-0006ey-Od; Sat, 12 Aug 2023 10:16: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 1qUlfY-0002l8-6K; Sat, 12 Aug 2023 10:16: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 1qUlfX-0004UB-SC; Sat, 12 Aug 2023 10:16:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUlfX-0003MT-Rc; Sat, 12 Aug 2023 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pbggmc2qzAF2Forg77F4na4ntd5IFiVfe94+Spke3X4=; b=YU3GMavuVMF5BdhsY4NrpiGA+t
	0OdXpae0tLTbkzTwCdRrwsly23qYd6bn+Uf1d5ESA1I9FVJIApMSlriqcJgLvcN2ZqshareCBYjdP
	YuPSQ6pIRGE5dtiZaXB95Umyg93dE7lEeYp0tcxqhAm/166h2p5iDKa161neQI5ZuJCs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182276-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182276: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3944e93af06f06eb07316e0bef46b007573e0309
X-Osstest-Versions-That:
    qemuu=64d3be986f9e2379bc688bf1d0aca0557e0035ca
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 10:16:27 +0000

flight 182276 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182276/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182263
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182263
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182263
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182263
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182263
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182263
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182263
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182263
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                3944e93af06f06eb07316e0bef46b007573e0309
baseline version:
 qemuu                64d3be986f9e2379bc688bf1d0aca0557e0035ca

Last test of basis   182263  2023-08-10 16:32:07 Z    1 days
Testing same since   182276  2023-08-11 13:06:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennĂ©e <alex.bennee@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   64d3be986f..3944e93af0  3944e93af06f06eb07316e0bef46b007573e0309 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 11:37:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 11:37:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582863.912850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUmvu-0006hC-W1; Sat, 12 Aug 2023 11:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582863.912850; Sat, 12 Aug 2023 11:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUmvu-0006h5-TO; Sat, 12 Aug 2023 11:37:26 +0000
Received: by outflank-mailman (input) for mailman id 582863;
 Sat, 12 Aug 2023 11:37: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 1qUmvu-0006gz-C8
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 11:37: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 1qUmvt-0004Wp-Aa; Sat, 12 Aug 2023 11:37:25 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUmvs-0002pY-Vg; Sat, 12 Aug 2023 11:37:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=O5RnqtMFkLL0EemsOF5G9SOWdDVwu8Ei7mAqvUtDR8M=; b=Qlzs727TI3B9fOaUIJzWwGz1P2
	zMhpQyiVSGsHDmeGjOZxtmeLSnQQ4503nPCOj7FLVA07d+Q6XlaRF6IL1NXOurar4Ce2GaOR0oBBg
	4Sex5+WuegWR2IV2cyc5kV7x0EGVH9qvXc3iyhK3vzdoBl3iwR/D/KYsc4Q55W9sWjkY=;
Message-ID: <2319b8b3-a6cc-7e04-0f2a-ad73a87deb22@xen.org>
Date: Sat, 12 Aug 2023 12:37:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 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,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 tamas@tklengyel.com
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111600190.2127516@ubuntu-linux-20-04-desktop>
 <449fa348676e754b7eae9b8acc00fb86@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <449fa348676e754b7eae9b8acc00fb86@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 12/08/2023 10:53, Nicola Vetrini wrote:
> 
>>> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
>>> index 7027c08a926b..499b6b349d79 100644
>>> --- a/xen/arch/x86/vm_event.c
>>> +++ b/xen/arch/x86/vm_event.c
>>> @@ -20,6 +20,7 @@
>>>
>>> Â #include <xen/sched.h>
>>> Â #include <xen/mem_access.h>
>>> +#include <xen/vm_event.h>
>>> Â #include <asm/vm_event.h>
>>>
>>> Â /* Implicitly serialized by the domctl lock. */
>>
>> I think the problem here is that ./arch/x86/include/asm/vm_event.h,
>> differently from ./arch/arm/include/asm/vm_event.h, doesn't #include
>> <xen/vm_event.h>
> 
> I see your point. Do you think it would be better to include xen/vm_event.h
> in asm/vm_event.h for x86 or move the inclusion of xen/vm_event.h for 
> arm to
> the source file, as done in the patch?

I think it is a bit odd require the C file to include the arch-specific 
header and the common one. It would be better to include only one.

My preference would be to include <asm/...> from <xen/...> and then only 
include the latter in the C file.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 11:56:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 11:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582869.912861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnEV-0000jp-IW; Sat, 12 Aug 2023 11:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582869.912861; Sat, 12 Aug 2023 11:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnEV-0000ji-FY; Sat, 12 Aug 2023 11:56:39 +0000
Received: by outflank-mailman (input) for mailman id 582869;
 Sat, 12 Aug 2023 11:56:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qUnET-0000ja-WC
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 11:56:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnES-00053A-W6; Sat, 12 Aug 2023 11:56:36 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnES-0003V4-O4; Sat, 12 Aug 2023 11:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=3h5FOuYvaFnZ5IBRBqjiVpoEsNyN9kIDAstxCoirOLY=; b=CcKqDD1290jYOnZA8xFKsYRoCn
	9NKB/JBQwNEfJn0/NBy+ESQhqjBDET3/W2It1uyLwEPtGInu6rRwiSOewr1UvhbPD7pCWljnBtV5B
	bZ8uFATjfXP8xh+UqnIDhqDt5kLwlUkXRu5Rc2hq7euJY1Ck2YbrXVJKj1jfCQ2zZRTA=;
Message-ID: <2b73a5f6-0fd1-bf58-569e-f53cabfa7987@xen.org>
Date: Sat, 12 Aug 2023 12:56:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
In-Reply-To: <20230724110247.10520-25-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 24/07/2023 12:02, Juergen Gross wrote:
> Today get_node_canonicalized() is the only caller of get_node().
> 
> In order to prepare introducing a get_node() variant returning a
> pointer to const struct node, do the following restructuring:
> 
> - move the call of read_node() from get_node() into
>    get_node_canonicalized()
> 
> - rename get_node() to get_node_chk_perm()
> 
> - rename get_node_canonicalized() to get_node()
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - new patch
> ---
>   tools/xenstore/xenstored_core.c | 57 +++++++++++++++------------------
>   1 file changed, 25 insertions(+), 32 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index ec20bc042d..fa07bc0c31 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -996,27 +996,26 @@ static int errno_from_parents(struct connection *conn, const void *ctx,
>    * If it fails, returns NULL and sets errno.
>    * Temporary memory allocations are done with ctx.
>    */
> -static struct node *get_node(struct connection *conn,
> -			     const void *ctx,
> -			     const char *name,
> -			     unsigned int perm)
> +static bool get_node_chk_perm(struct connection *conn, const void *ctx,
> +			      const struct node *node, const char *name,
> +			      unsigned int perm)
>   {
> -	struct node *node;
>   	struct node_perms perms;
> +	bool err = false;
>   
> -	node = read_node(conn, ctx, name);
>   	/* If we don't have permission, we don't have node. */
>   	if (node) {
>   		node_to_node_perms(node, &perms);
>   		if ((perm_for_conn(conn, &perms) & perm) != perm) {
>   			errno = EACCES;
> -			node = NULL;
> +			err = true;
>   		}
>   	}
>   	/* Clean up errno if they weren't supposed to know. */
> -	if (!node && !read_node_can_propagate_errno())
> +	if (err && !read_node_can_propagate_errno())

Looking at the caller for get_node_chk_perm(), node could be NULL. In 
this case, err would be false. So there is a change of behavior here.

It is not entirely clear why it is fine. But it might be better to have 
err equals to true when node is NULL.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 12:03:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 12:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582883.912870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnL4-0002SW-Jf; Sat, 12 Aug 2023 12:03:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582883.912870; Sat, 12 Aug 2023 12: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 1qUnL4-0002SP-H2; Sat, 12 Aug 2023 12:03:26 +0000
Received: by outflank-mailman (input) for mailman id 582883;
 Sat, 12 Aug 2023 12:03:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qUnL2-0002SJ-A5
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 12:03:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnL1-0005Cv-2R; Sat, 12 Aug 2023 12:03:23 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnL0-0003r4-Qy; Sat, 12 Aug 2023 12: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=j+6o5VnTDkDx/22/siLMXan3FAAtn/Kp2tXtThKU2ds=; b=v19gQyMtL3bdwdiHzJxdVDsuAV
	mX5LCZNHC4bowvVnFL3gmtSULF8ZMHIoCeap7YNafeJzEygF7e6kHxeuTBtdKeb0wb+9Fu/XjKDG4
	QikfHIayZFcykRJLs3VlvGvRajJ0oBPeK9bl6IMO6ipcBD1XdSt98gxKM25POHJdhOIM=;
Message-ID: <389197ab-92fa-b3ad-969f-29dcda402b21@xen.org>
Date: Sat, 12 Aug 2023 13:03:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230724110247.10520-25-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

One more remark.

On 24/07/2023 12:02, Juergen Gross wrote:
> Today get_node_canonicalized() is the only caller of get_node().
> 
> In order to prepare introducing a get_node() variant returning a
> pointer to const struct node, do the following restructuring:
> 
> - move the call of read_node() from get_node() into
>    get_node_canonicalized()
> 
> - rename get_node() to get_node_chk_perm()
> 
> - rename get_node_canonicalized() to get_node()
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - new patch
> ---
>   tools/xenstore/xenstored_core.c | 57 +++++++++++++++------------------
>   1 file changed, 25 insertions(+), 32 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index ec20bc042d..fa07bc0c31 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -996,27 +996,26 @@ static int errno_from_parents(struct connection *conn, const void *ctx,
>    * If it fails, returns NULL and sets errno.
>    * Temporary memory allocations are done with ctx.
>    */
> -static struct node *get_node(struct connection *conn,
> -			     const void *ctx,
> -			     const char *name,
> -			     unsigned int perm)
> +static bool get_node_chk_perm(struct connection *conn, const void *ctx,
> +			      const struct node *node, const char *name,
> +			      unsigned int perm)

As you use bool, I find a bit confusing that 'true' would be returned on 
error while 'false' indicate it is ok. I feel the inverse is more intuitive.

I can understand this is a matter of taste. So the only thing I would 
ask is documenting this oddity as I can foresee someone that 
misinterpreting the return.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 12:03:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 12:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582884.912881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnLQ-0002uu-UM; Sat, 12 Aug 2023 12:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582884.912881; Sat, 12 Aug 2023 12: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 1qUnLQ-0002ul-P4; Sat, 12 Aug 2023 12:03:48 +0000
Received: by outflank-mailman (input) for mailman id 582884;
 Sat, 12 Aug 2023 12:03:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUnLQ-0002uX-2T; Sat, 12 Aug 2023 12:03:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUnLQ-0005Ee-0p; Sat, 12 Aug 2023 12:03:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qUnLP-00005I-JR; Sat, 12 Aug 2023 12:03:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUnLP-00012C-Iw; Sat, 12 Aug 2023 12:03:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XRSYF0ITRPuyg3HTzoBUNdi+JmuAY3QGL4OrKswUZOg=; b=iFteO9xoQJaRMsnq/0MjoCY/kT
	IiNBU9tf41FWh6HjSobJ+XYbUifspQZjD0DcYYEZr2lwh3wCzbZTcr1mfliAY4vkPoyAKvXmoP5tO
	/xOKN1fRDcJBqK7I2VtWtdOI8a+SFeLXAkOFAiyq+X6Cgk5wkBRvPMOLJHNlDOtrmAEk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182278-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182278: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=9c9848f955fd2b42e7f258b945cd90aacd2c114e
X-Osstest-Versions-That:
    libvirt=831b5a6bd6d72d58494018b7051894ccc1310c49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 12:03:47 +0000

flight 182278 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182278/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182244
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182244
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182244
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              9c9848f955fd2b42e7f258b945cd90aacd2c114e
baseline version:
 libvirt              831b5a6bd6d72d58494018b7051894ccc1310c49

Last test of basis   182244  2023-08-09 04:20:35 Z    3 days
Failing since        182264  2023-08-10 17:14:40 Z    1 days    2 attempts
Testing same since   182278  2023-08-11 14:56:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Erik Skultety <eskultet@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   831b5a6bd6..9c9848f955  9c9848f955fd2b42e7f258b945cd90aacd2c114e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 12:05:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 12:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582897.912890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnNV-0003c9-8d; Sat, 12 Aug 2023 12:05:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582897.912890; Sat, 12 Aug 2023 12:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUnNV-0003c2-5b; Sat, 12 Aug 2023 12:05:57 +0000
Received: by outflank-mailman (input) for mailman id 582897;
 Sat, 12 Aug 2023 12:05:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qUnNT-0003bp-NQ
 for xen-devel@lists.xenproject.org; Sat, 12 Aug 2023 12:05:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnNS-0005Gv-R5; Sat, 12 Aug 2023 12:05:54 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qUnNS-0003wl-KQ; Sat, 12 Aug 2023 12:05:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Yo0IajWwJLUlkoZx5Sm1zRdo0JkfoQoQbH8bsA6yot4=; b=P3ZuL8ztIyA43NgO8jqOjYe3me
	dNmSXmXnpUHE0SY3WYe6JX2aSjSeixV4yon80JW+PVRR/iL6ZweiVPWjHfq8k7z5ex7vCgTL/1Y8o
	ZBiZtvFPEsE8WPmOHWAIbf7QEVDh9pZYbJ7j/maKEBbtUsR7Apx75qQmRA4KGuKHhwdI=;
Message-ID: <b642ccda-a111-b8bf-0e3a-95ff575235a0@xen.org>
Date: Sat, 12 Aug 2023 13:05:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v3 25/25] tools/xenstore: introduce get_node_const()
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-26-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230724110247.10520-26-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/07/2023 12:02, Juergen Gross wrote:
> Add a variant of get_node() returning a const struct node pointer.
> 
> Note that all callers of this new variant don't supply a pointer where
> to store the canonical node name, while all callers needing a non-const
> node do supply this pointer. This results in an asymmetric
> simplification of the two variants.

And I am guessing there are no near term plan to use get_node() with 
canonical_name = NULL or the caller of get_node_const() expecting the name?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 17:44:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 17:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582910.912900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUsem-0003uv-Sm; Sat, 12 Aug 2023 17:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582910.912900; Sat, 12 Aug 2023 17:44:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUsem-0003ul-Q9; Sat, 12 Aug 2023 17:44:08 +0000
Received: by outflank-mailman (input) for mailman id 582910;
 Sat, 12 Aug 2023 17:44: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 1qUsel-0003ub-B3; Sat, 12 Aug 2023 17:44: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 1qUsel-0004hB-2c; Sat, 12 Aug 2023 17:44: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 1qUsek-0004eX-N9; Sat, 12 Aug 2023 17:44:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUsek-0007kZ-Ma; Sat, 12 Aug 2023 17:44:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vEMw1pVja6Aa4Gm5D8FP9k1GV1x5Y4rqKRAKMuXZZLo=; b=dAJ8iV03h5DVeQtyh2TYFKhE2g
	jLLIuJZFmK9PLQwkmfLUOR5TXmGbDr4z3x4paikic3+uNSh3tZwoNK+fjVx7hlbl2ES3am7qvAq+O
	nGg+MFD/Y9ZVEy0/Sz1xOdu8CgyqZHsnEQI32Acu1YgwRsVpU9yO/Vk00a/aX/3NP1no=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182286-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182286: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=190bf7b14b0cf3df19c059061be032bd8994a597
X-Osstest-Versions-That:
    linux=25aa0bebba72b318e71fe205bfd1236550cc9534
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 17:44:06 +0000

flight 182286 linux-linus real [real]
flight 182300 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182286/
http://logs.test-lab.xenproject.org/osstest/logs/182300/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 8 xen-boot fail pass in 182300-retest
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 182300-retest
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail pass in 182300-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 182300 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 182300 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182266
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182266
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182266
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182266
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182266
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182266
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182266
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182266
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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          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-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-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                190bf7b14b0cf3df19c059061be032bd8994a597
baseline version:
 linux                25aa0bebba72b318e71fe205bfd1236550cc9534

Last test of basis   182266  2023-08-10 23:16:26 Z    1 days
Testing same since   182286  2023-08-11 22:14:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksa Sarai <cyphar@cyphar.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrea Parri <parri.andrea@gmail.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Yang <andrew.yang@mediatek.com>
  Arnd Bergmann <arnd@arndb.de>
  August Wikerfors <git@augustwikerfors.se>
  Ayush Jain <ayush.jain3@amd.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Daniel Stone <daniels@collabora.com>
  Dave Airlie <airlied@redhat.com>
  David Howells <dhowells@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org> #fix db845c
  Evan Quan <evan.quan@amd.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guangwu Zhang <guazhang@redhat.com>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jiri Olsa <jolsa@kernel.org>
  Johan Hovold <johan+linaro@kernel.org>
  Johannes Weiner <hannes@cmpxchg.org>
  John David Anglin <dave.anglin@bell.net>
  Karol Herbst <kherbst@redhat.com>
  Karol Wachowski <karol.wachowski@linux.intel.com>
  Keith Busch <kbusch@kernel.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof WilczyÅ„ski <kwilczynski@kernel.org>
  Liam R. Howlett <Liam.Howlett@oracle.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Stoakes <lstoakes@gmail.com>
  Lyude Paul <lyude@redhat.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Maulik Shah <quic_mkshah@quicinc.com>
  Maxime Ripard <mripard@redhat.com>
  Mel Gorman <mgorman@techsingularity.net>
  Melissa Wen <mwen@igalia.com>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal KoutnĂ½ <mkoutny@suse.com>
  Mike Kravetz <mike.kravetz@oracle.com>
  Mike Lothian <mike@fireburn.co.uk>
  Ming Lei <ming.lei@redhat.com>
  Naoya Horiguchi <naoya.horiguchi@nec.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nick Desaulniers <ndesaulniers@google.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paul E. McKenney <paulmck@kernel.org>
  Petr Tesarik <petr.tesarik.ext@huawei.com>
  Pin-yen Lin <treapking@chromium.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Roman Stratiienko <r.stratiienko@gmail.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Song Shuai <suagrfillet@gmail.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Steve French <stfrench@microsoft.com>
  Tejun Heo <tj@kernel.org>
  Thomas WeiĂŸschuh <linux@weissschuh.net>
  Tim Huang <Tim.Huang@amd.com>
  Torsten Duwe <duwe@suse.de>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vlastimil Babka <vbabka@suse.cz>
  Will Deacon <will@kernel.org>
  Woody Suwalski <terraluna977@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yi Zhang <yi.zhang@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   25aa0bebba72..190bf7b14b0c  190bf7b14b0cf3df19c059061be032bd8994a597 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 18:20:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 18:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582919.912911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUtEG-0008P9-Iy; Sat, 12 Aug 2023 18:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582919.912911; Sat, 12 Aug 2023 18:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUtEG-0008P2-G2; Sat, 12 Aug 2023 18:20:48 +0000
Received: by outflank-mailman (input) for mailman id 582919;
 Sat, 12 Aug 2023 18:20: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 1qUtEF-0008Os-3w; Sat, 12 Aug 2023 18:20: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 1qUtEE-0005gg-RG; Sat, 12 Aug 2023 18:20: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 1qUtEE-0005YE-Ex; Sat, 12 Aug 2023 18:20:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUtEE-0000BP-EK; Sat, 12 Aug 2023 18:20:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yUVb94pBIxFVmlZa0fY8OJGZZsx67dZ4JisHp0YnFFM=; b=fzBHQaoItE20BkOHAOnvm7RvVv
	gGPXKctSQmBkO5jV/yoJ2UASutgyioRtwTCsh+omOOPTxaTzx+yFC2jV5F+sEyEt9TQgw/MaWuNOx
	ywQutXvTpDiNTdspcpWQid5bxg1xl4X7yhEX0Mxil5uY6cMpXild56an6bx2bArCSeQk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182292-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182292: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:redhat-install:fail:regression
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt: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-credit1:guest-start/debian.repeat: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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 18:20:46 +0000

flight 182292 linux-5.4 real [real]
flight 182299 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182292/
http://logs.test-lab.xenproject.org/osstest/logs/182299/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 12 redhat-install     fail REGR. vs. 182076
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 182076

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 182299 pass in 182292
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail pass in 182299-retest
 test-armhf-armhf-xl-multivcpu 19 guest-start.2      fail pass in 182299-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 182299-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 182299 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 182299 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat    fail  like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   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:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   14 days
Failing since        182239  2023-08-08 18:13:15 Z    4 days    4 attempts
Testing same since   182292  2023-08-12 02:13:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Aring <aahringo@redhat.com>
  Alexander Steffen <Alexander.Steffen@infineon.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrzej Hajda <a.hajda@samsung.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunguang Xu <brookxu@tencent.com>
  Cixi Geng <cixi.geng1@unisoc.com>
  Colin Ian King <colin.king@canonical.com>
  Coly Li <colyli@suse.de>
  D Scott Phillips <scott@os.amperecomputing.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Esben Haabendal <esben@geanix.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg MĂ¼ller <georgmueller@gmx.net>
  Gilles Buloz <gilles.buloz@kontron.com>
  Gratian Crisan <gratian.crisan@ni.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guiting Shen <aarongt.shen@gmail.com>
  Hagar Hemdan <hagarhem@amazon.de>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ian Rogers <irogers@google.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Vanek <linuxtardis@gmail.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Benc <jbenc@redhat.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Thornber <ejt@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jonas Gorski <jonas.gorski@gmail.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kaufmann Automotive GmbH <info@kaufmann-automotive.ch>
  Kim Phillips <kim.phillips@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Laszlo Ersek <lersek@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Å»enczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Marcos Paulo de Souza <mpdesouza@suse.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael S. Tsirkin <mst@redhat.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Mohsen Tahmasebi <moh53n@moh53n.ir>
  Mostafa Ghofrani <mostafaghrr@gmail.com>
  ndesaulniers@google.com <ndesaulniers@google.com>
  Nick Desaulniers <ndesaulniers@google.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Maignial <olivier.maignial@hotmail.fr>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pedro Tammela <pctammela@mojatatu.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratyush Yadav <ptyadav@amazon.de>
  Prince Kumar Maurya <princekumarmaurya06@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Roger Quadros <rogerq@kernel.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Ross Maynard <bids.7405@bigpond.com>
  Ruihong Luo <colorsu1922@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Shaoying Xu <shaoyi@amazon.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Stewart Smith <trawets@amazon.com>
  Sungwoo Kim <iam@sung-woo.kim>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  valis <sec@valis.email>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Ming <machel@vivo.com>
  Xianting Tian <xianting_tian@126.com>
  Xiubo Li <xiubli@redhat.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zubin Mithra <zsm@chromium.org>
  Åukasz Bartosik <lb@semihalf.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                                          starved 
 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         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5380 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 12 22:29:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 Aug 2023 22:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582937.912936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qUx6d-0007BE-HI; Sat, 12 Aug 2023 22:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582937.912936; Sat, 12 Aug 2023 22: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 1qUx6d-0007B7-EL; Sat, 12 Aug 2023 22:29:11 +0000
Received: by outflank-mailman (input) for mailman id 582937;
 Sat, 12 Aug 2023 22:29: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 1qUx6b-0007Av-EB; Sat, 12 Aug 2023 22:29: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 1qUx6b-0002ty-3u; Sat, 12 Aug 2023 22:29: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 1qUx6a-0003mu-Ot; Sat, 12 Aug 2023 22:29:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qUx6a-00064Y-OO; Sat, 12 Aug 2023 22:29: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=A614kjzuCqA06r+MqYUUm0pat9jVrSAkvuBRZ90SQM0=; b=4l2jX127jBJerIq0AG3bHkHnQu
	pjz0GdUYfZfoJU+YT7KJp0B1bYaddF0GUKNe/pDWw1djsd5/VQ/sV6goO+TBt/Xv1Hgvk93ORt3zV
	SDYQsqQRO596yTYn+KacwLrITLG0ZO8xT+ObeldfNmpeQ3lEcDIbq15REiowitE9WVcM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182293-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182293: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:guest-start/debian:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
X-Osstest-Versions-That:
    xen=c6bda36af0b992d5d2042efd6cc36592fb037a1d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 12 Aug 2023 22:29:08 +0000

flight 182293 xen-unstable real [real]
flight 182305 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182293/
http://logs.test-lab.xenproject.org/osstest/logs/182305/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade  25 guest-start/debian  fail pass in 182305-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182305-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182305 like 182272
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182272
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182272
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182272
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182272
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182272
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182272
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182272
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182272
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182272
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182272
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182272
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-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-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-arm64-arm64-xl-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-amd64-i386-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-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     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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
baseline version:
 xen                  c6bda36af0b992d5d2042efd6cc36592fb037a1d

Last test of basis   182272  2023-08-11 07:22:35 Z    1 days
Testing same since   182293  2023-08-12 04:03:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c6bda36af0..a9a3b432a8  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c -> master


From xen-devel-bounces@lists.xenproject.org Sun Aug 13 02:39:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 Aug 2023 02:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582952.912954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV10e-0001Tu-Bi; Sun, 13 Aug 2023 02:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582952.912954; Sun, 13 Aug 2023 02:39:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV10e-0001TY-5y; Sun, 13 Aug 2023 02:39:16 +0000
Received: by outflank-mailman (input) for mailman id 582952;
 Sun, 13 Aug 2023 02:39: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 1qV10c-0001TO-Ss; Sun, 13 Aug 2023 02:39: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 1qV10c-0003Ac-JH; Sun, 13 Aug 2023 02:39: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 1qV10c-0003AT-16; Sun, 13 Aug 2023 02:39:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qV10b-0003zf-Vf; Sun, 13 Aug 2023 02:39: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=zFfubH8WT4LxNBvnPRdr/fqsnfFy5tgNJ6M6El4Hj40=; b=3TzelDIdSF15E68YwuvbdW8hGx
	0ghXyb/Kra/qpDh6nHK0LxkwL/tawcdKy1tgQLy83y8c8mJjQQHE3jY94Q7bIrvWlfDYp4wDrXxyr
	eqyC4pzP6gPtVVt5qGAvQ9OPkjl9McdFnuzNkXoL2kMI4lKz1SRZKiKP/k0lw7pAiVK0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182298-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182298: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:guest-start:fail:regression
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bb5f142cb320d45d3d8dee2c82dae003cad39da8
X-Osstest-Versions-That:
    qemuu=3944e93af06f06eb07316e0bef46b007573e0309
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 13 Aug 2023 02:39:13 +0000

flight 182298 qemu-mainline real [real]
flight 182307 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182298/
http://logs.test-lab.xenproject.org/osstest/logs/182307/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-qcow2 13 guest-start            fail REGR. vs. 182276

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182276
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182276
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182276
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182276
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182276
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182276
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182276
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                bb5f142cb320d45d3d8dee2c82dae003cad39da8
baseline version:
 qemuu                3944e93af06f06eb07316e0bef46b007573e0309

Last test of basis   182276  2023-08-11 13:06:05 Z    1 days
Testing same since   182298  2023-08-12 10:18:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Daniel Henrique Barboza <dbarboza@ventanamicro.com>
  Guoyi Tu <tugy@chinatelecom.cn>
  Jason Chien &lt;<a href="mailto:jason.chien@sifive.com" target="_blank">jason.chien@sifive.com</a>&gt;<br>
  Jason Chien <jason.chien@sifive.com>
  Michael S. Tsirkin <mst@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  yuanminghao <yuanmh12@chinatelecom.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit bb5f142cb320d45d3d8dee2c82dae003cad39da8
Merge: 44e13cb441 b274c2388e
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Fri Aug 11 14:47:23 2023 -0700

    Merge tag 'pull-riscv-to-apply-20230811-3' of https://github.com/alistair23/qemu into staging
    
    Sixth RISC-V PR for 8.1
    
    This is a last minute PR for RISC-V.
    
    The main goal is to fix
    https://gitlab.com/qemu-project/qemu/-/issues/1823
    which is a regression that means the aclint option
    cannot be enabled.
    
    While we are here we also fixup KVM issue.
    
     * KVM: fix mvendorid size
     * Fixup aclint check
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQIzBAABCAAdFiEEaukCtqfKh31tZZKWr3yVEwxTgBMFAmTWfK0ACgkQr3yVEwxT
    # gBNDTw/9EnIjXKBCwSejcL3xYpwTDbUbwou3dkkSjnEkhmxvPPM3H0pWet+xYlPg
    # Lgt9b9clHZAjqGoHFxEdU8fS0MY4Jq5jDAinsS2TK6czLPBe5EEhyVjoDH5iRhTX
    # AymK1XgwQ2kAuw2lhcb74GDboajkC7hNhr2Km1hLtpYV7bCW/efAUSO7adG4KBlB
    # SCu06s9VdFtINW0mVN249JvRVQ1408HCQ5gwA0lLVdXhfHluVidwOjc//ELtdnQn
    # SeHdX1V+e+3fiYuqmr2UHaJXp9s0ZInOyLIDBPA97SOUdaO/oy+siZYRk25yV99h
    # Ec7tpNnYJjzppmc++GlzTNpUWVEBM6j+QyD7ioEj4yAGkMEjUlgLcImyGng1TT4i
    # uvABg91uzJyBoUga3GhZYt/sPW00Jft4VYH3QvGOOwjarIor8K0J7sox8eIOfEs4
    # JqCIYX4kas+DwK4+i8WyjMeuihWFJ5ipKR7Gwhbe5uQ5szTXFYIT4TZH/78BWozI
    # dMu5HOyu5+l9yCy39NP7FjNJ6VQKBYGvlkUr5rLRS0yQWGThaK8wIBMXcuZCW96p
    # hSy/pratHQYaIRr0ZiqRcNyFNsTMua/C2DMPcjQR1ci8xdj010DoriyS0Vsh88xq
    # pVgC6gYn59gDUdBx0gB/ZSMu4O+F/+Z5htnucoTxvwpKxUU48Lg=
    # =x8Fl
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 11 Aug 2023 11:23:41 AM PDT
    # gpg:                using RSA key 6AE902B6A7CA877D6D659296AF7C95130C538013
    # gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 6AE9 02B6 A7CA 877D 6D65  9296 AF7C 9513 0C53 8013
    
    * tag 'pull-riscv-to-apply-20230811-3' of https://github.com/alistair23/qemu:
      hw/riscv/virt.c: change 'aclint' TCG check
      target/riscv/kvm.c: fix mvendorid size in vcpu_set_machine_ids()
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit b274c2388e9fcde75d60c6e7c7d8f888874b61b7
Author: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Date:   Fri Aug 11 13:02:24 2023 -0300

    hw/riscv/virt.c: change 'aclint' TCG check
    
    The 'aclint' property is being conditioned with tcg acceleration in
    virt_machine_class_init(). But acceleration code starts later than the
    class init of the board, meaning that tcg_enabled() will be always be
    false during class_init(), and the option is never being declared even
    when declaring TCG accel:
    
    $ ./build/qemu-system-riscv64 -M virt,accel=tcg,aclint=on
    qemu-system-riscv64: Property 'virt-machine.aclint' not found
    
    Fix it by moving the check from class_init() to machine_init(). Tune the
    description to mention that the option is TCG only.
    
    Cc: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
    Fixes: c0716c81b ("hw/riscv/virt: Restrict ACLINT to TCG")
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1823
    Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
    Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
    Reviewed-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
    Message-ID: <20230811160224.440697-2-dbarboza@ventanamicro.com>
    Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

commit 136cb9cc03154615609d454db40e0b3dfbb4bbf3
Author: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Date:   Wed Aug 2 15:00:58 2023 -0300

    target/riscv/kvm.c: fix mvendorid size in vcpu_set_machine_ids()
    
    cpu->cfg.mvendorid is a 32 bit field and kvm_set_one_reg() always write
    a target_ulong val, i.e. a 64 bit field in a 64 bit host.
    
    Given that we're passing a pointer to the mvendorid field, the reg is
    reading 64 bits starting from mvendorid and going 32 bits in the next
    field, marchid. Here's an example:
    
    $ ./qemu-system-riscv64 -machine virt,accel=kvm -m 2G -smp 1 \$
       -cpu rv64,marchid=0xab,mvendorid=0xcd,mimpid=0xef(...)
    
    (inside the guest)
     # cat /proc/cpuinfo
    processor       : 0
    hart            : 0
    isa             : rv64imafdc_zicbom_zicboz_zihintpause_zbb_sstc
    mmu             : sv57
    mvendorid       : 0xab000000cd
    marchid         : 0xab
    mimpid          : 0xef
    
    'mvendorid' was written as a combination of 0xab (the value from the
    adjacent field, marchid) and its intended value 0xcd.
    
    Fix it by assigning cpu->cfg.mvendorid to a target_ulong var 'reg' and
    use it as input for kvm_set_one_reg(). Here's the result with this patch
    applied and using the same QEMU command line:
    
     # cat /proc/cpuinfo
    processor       : 0
    hart            : 0
    isa             : rv64imafdc_zicbom_zicboz_zihintpause_zbb_sstc
    mmu             : sv57
    mvendorid       : 0xcd
    marchid         : 0xab
    mimpid          : 0xef
    
    This bug affects only the generic (rv64) CPUs when running with KVM in a
    64 bit env since the 'host' CPU does not allow the machine IDs to be
    changed via command line.
    
    Fixes: 1fb5a622f7 ("target/riscv: handle mvendorid/marchid/mimpid for KVM CPUs")
    Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
    Acked-by: Alistair Francis <alistair.francis@wdc.com>
    Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
    Message-ID: <20230802180058.281385-1-dbarboza@ventanamicro.com>
    Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

commit 44e13cb441e08cb4635914ca03d95a282fb70e5c
Merge: 3944e93af0 0f936247e8
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Fri Aug 11 10:28:23 2023 -0700

    Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging
    
    pci: last minute bugfixes
    
    two fixes that seem very safe and important enough to sneak
    in before the release.
    
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmTWXvIPHG1zdEByZWRo
    # YXQuY29tAAoJECgfDbjSjVRpe7sH/0KteOBt324LUYZ+4NR6EQE5KDsCANGiySBK
    # r0B6lhcFHvNd2ej0g2hW7lL6nVVCQBkJLLzfNIR/aHkeCmOttfbhv4eF4S6Ho27d
    # DpkXCPZRT6F11gY7G1swFapNS/f0P7F5LGRjq4sbuw3FpyHBz0DqCQ0GOab2Qorq
    # VfuOfA01nYGNzHOKrEL7k9Io55oqPVcAe+5TaipNCQ4nW82i32ItTyFjQFdLIAay
    # qY4HEwP9vPuVwWNdQjXJNfirLMO5GQfEbyKDAjap2sL25zAV2w+mgn7xg/xkTfM6
    # iMX2m14lKRMy2hr8dEVh/XdLf7loAN1jSE8/Wdt+PEaexolqxCM=
    # =1GLE
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 11 Aug 2023 09:16:50 AM PDT
    # gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
    # gpg:                issuer "mst@redhat.com"
    # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [undefined]
    # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [undefined]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
    #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
    
    * tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu:
      pci: Fix the update of interrupt disable bit in PCI_COMMAND register
      hw/pci-host: Allow extended config space access for Designware PCIe host
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit 0f936247e8ed0ab5fb7e75827dd8c8f73d5ef4b5
Author: Guoyi Tu <tugy@chinatelecom.cn>
Date:   Fri Aug 11 22:46:51 2023 +0800

    pci: Fix the update of interrupt disable bit in PCI_COMMAND register
    
    The PCI_COMMAND register is located at offset 4 within
    the PCI configuration space and occupies 2 bytes. The
    interrupt disable bit is at the 10th bit, which corresponds
    to the byte at offset 5 in the PCI configuration space.
    
    In our testing environment, the guest driver may directly
    updates the byte at offset 5 in the PCI configuration space.
    The backtrace looks like as following:
        at hw/pci/pci.c:1442
        at hw/virtio/virtio-pci.c:605
        val=5, len=1) at hw/pci/pci_host.c:81
    
    In this situation, the range_covers_byte function called
    by the pci_default_write_config function will return false,
    resulting in the inability to handle the interrupt disable
    update event.
    
    To fix this issue, we can use the ranges_overlap function
    instead of range_covers_byte to determine whether the interrupt
    bit has been updated.
    
    Signed-off-by: Guoyi Tu <tugy@chinatelecom.cn>
    Signed-off-by: yuanminghao <yuanmh12@chinatelecom.cn>
    Message-Id: <ce2d0437-8faa-4d61-b536-4668f645a959@chinatelecom.cn>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Fixes: b6981cb57be5 ("pci: interrupt disable bit support")

commit 3d449bc6030904ead784a4e4644c9640c2152796
Author: Jason Chien <jason.chien@sifive.com>
Date:   Wed Aug 9 10:22:50 2023 +0000

    hw/pci-host: Allow extended config space access for Designware PCIe host
    
    In pcie_bus_realize(), a root bus is realized as a PCIe bus and a non-root
    bus is realized as a PCIe bus if its parent bus is a PCIe bus. However,
    the child bus "dw-pcie" is realized before the parent bus "pcie" which is
    the root PCIe bus. Thus, the extended configuration space is not accessible
    on "dw-pcie". The issue can be resolved by adding the
    PCI_BUS_EXTENDED_CONFIG_SPACE flag to "pcie" before "dw-pcie" is realized.
    
    Signed-off-by: Jason Chien <jason.chien@sifive.com>
    Message-Id: <20230809102257.25121-1-jason.chien@sifive.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Reviewed-by: Frank Chang <frank.chang@sifive.com>
    Signed-off-by: Jason Chien &lt;<a href="mailto:jason.chien@sifive.com" target="_blank">jason.chien@sifive.com</a>&gt;<br>


From xen-devel-bounces@lists.xenproject.org Sun Aug 13 07:53:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 Aug 2023 07:53:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582963.912972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV5uH-00087w-Je; Sun, 13 Aug 2023 07:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582963.912972; Sun, 13 Aug 2023 07:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV5uH-00087p-H3; Sun, 13 Aug 2023 07:53:01 +0000
Received: by outflank-mailman (input) for mailman id 582963;
 Sun, 13 Aug 2023 07: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 1qV5uG-00087f-2T; Sun, 13 Aug 2023 07: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 1qV5uF-0002c8-P7; Sun, 13 Aug 2023 07:52: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 1qV5uF-0004PJ-9n; Sun, 13 Aug 2023 07:52:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qV5uF-0007y9-9P; Sun, 13 Aug 2023 07:52:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oGOCEyvKH6Mp3yz7+FNr2No2rf9BVZXI0RSqN0JgLOg=; b=Lck77c4W0APRAvTDXi2Kmlcgnj
	qaNzyzZpqt2aPdX/XzERQFzWCSvdCKg6qU+dNYx/vpPfqdIAaRSSgKJQmhW2FfSzDzxPmppvJqmmc
	to0k2FmyCP3VWPR4bu6Dc1hL+t7+5301zNOdJJTMJMg4MCxBUGmJmmC9TtMA+J38CJh4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182301-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182301: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3
X-Osstest-Versions-That:
    linux=190bf7b14b0cf3df19c059061be032bd8994a597
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 13 Aug 2023 07:52:59 +0000

flight 182301 linux-linus real [real]
flight 182311 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182301/
http://logs.test-lab.xenproject.org/osstest/logs/182311/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-saverestore.2 fail pass in 182311-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 18 guest-localmigrate/x10 fail pass in 182311-retest
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 182311-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop  fail in 182311 like 182286
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182311 like 182286
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182286
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182286
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182286
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182286
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182286
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182286
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3
baseline version:
 linux                190bf7b14b0cf3df19c059061be032bd8994a597

Last test of basis   182286  2023-08-11 22:14:05 Z    1 days
Testing same since   182301  2023-08-12 17:47:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alejandro Tafalla <atafalla@dnyon.com>
  Aleksa Savic <savicaleksa83@gmail.com>
  Alisa Roman <alisa.roman@analog.com>
  Alvin Å ipraga <alsi@bang-olufsen.dk>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Arnd Bergmann <arnd@arndb.de>
  Artemy Kovalyov <artemyko@nvidia.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carlos Llamas <cmllamas@google.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Douglas Miller <doug.miller@cornelisnetworks.com>
  Elson Roy Serrao <quic_eserrao@quicinc.com>
  Esteban Blanc <eblanc@baylibre.com>
  George Stark <gnstark@sberdevices.ru>
  Georgi Djakov <djakov@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Gunthorpe <jgg@nvidia.com>
  Jinghao Jia <jinghao@linux.ibm.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Julien Panis <jpanis@baylibre.com>
  Junxian Huang <huangjunxian6@hisilicon.com>
  Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
  Kashyap Desai <kashyap.desai@broadcom.com>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Leon Romanovsky <leon@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Mateusz Guzik <mjguzik@gmail.com>
  Matti Vaittinen <mazziesaccount@gmail.com>
  Michael Guralnik <michaelgur@nvidia.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <mdtipton@codeaurora.org>
  Milan Zamazal <mzamazal@redhat.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nick Desaulniers <ndesaulniers@google.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Prashanth K <quic_prashk@quicinc.com>
  Qi Zheng <zhengqi.arch@bytedance.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  RD Babiera <rdbabiera@google.com>
  Ricky Wu <ricky_wu@realtek.com>
  Rob Herring <robh@kernel.org>
  Sanath S <Sanath.S@amd.com>
  Sanjay R Mehta <sanju.mehta@amd.com>
  Selvin Xavier <selvin.xavier@broadcom.com>
  Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
  Tao Liu <ltao@redhat.com>
  Tao Ren <rentao.bupt@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tom Lendacky <thomas.lendacky@amd.com>
  William Breathitt Gray <william.gray@linaro.org>
  Xin Li <xin3.li@intel.com>
  Yiyuan Guo <yguoaz@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   190bf7b14b0c..c8afaa1b0f8b  c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Aug 13 12:12:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 Aug 2023 12:12:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582979.912983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV9xT-00018F-RY; Sun, 13 Aug 2023 12:12:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582979.912983; Sun, 13 Aug 2023 12:12:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qV9xT-000188-OG; Sun, 13 Aug 2023 12:12:35 +0000
Received: by outflank-mailman (input) for mailman id 582979;
 Sun, 13 Aug 2023 12:12: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 1qV9xS-00017y-7o; Sun, 13 Aug 2023 12:12: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 1qV9xR-0000uA-Sn; Sun, 13 Aug 2023 12:12:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qV9xR-00089n-EF; Sun, 13 Aug 2023 12:12:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qV9xR-0006Uc-Dh; Sun, 13 Aug 2023 12:12:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CWJN9rTV0NAq5o7dChfgL5I2lIehwceA//dY058RAgE=; b=aisOhdCGsQ45dhG77zAz9B8tH3
	VCjip/Mm+vzZl3Rit8kswJTkIGe0MyxbvHD6GRKqkFcigxZOkUb8Cb6JmrL0uA/Y1xAXOiX/0dwU5
	T2s4v7bsVBARzjNZYR/QEHRXsD8gKHIoDF8BpX5En1TEf8fMKAK8lM1u9xWQsq5Agld0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182303-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182303: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start.2:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start: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-credit1:guest-start/debian.repeat: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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 13 Aug 2023 12:12:33 +0000

flight 182303 linux-5.4 real [real]
flight 182314 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182303/
http://logs.test-lab.xenproject.org/osstest/logs/182314/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 19 guest-start.2           fail REGR. vs. 182065

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail pass in 182314-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 182314 like 182076
 test-armhf-armhf-xl-credit2  14 guest-start                  fail  like 182031
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat    fail  like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   14 days
Failing since        182239  2023-08-08 18:13:15 Z    4 days    5 attempts
Testing same since   182292  2023-08-12 02:13:40 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Aring <aahringo@redhat.com>
  Alexander Steffen <Alexander.Steffen@infineon.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrzej Hajda <a.hajda@samsung.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunguang Xu <brookxu@tencent.com>
  Cixi Geng <cixi.geng1@unisoc.com>
  Colin Ian King <colin.king@canonical.com>
  Coly Li <colyli@suse.de>
  D Scott Phillips <scott@os.amperecomputing.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Esben Haabendal <esben@geanix.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg MĂ¼ller <georgmueller@gmx.net>
  Gilles Buloz <gilles.buloz@kontron.com>
  Gratian Crisan <gratian.crisan@ni.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guiting Shen <aarongt.shen@gmail.com>
  Hagar Hemdan <hagarhem@amazon.de>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ian Rogers <irogers@google.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Vanek <linuxtardis@gmail.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Benc <jbenc@redhat.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Thornber <ejt@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jonas Gorski <jonas.gorski@gmail.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kaufmann Automotive GmbH <info@kaufmann-automotive.ch>
  Kim Phillips <kim.phillips@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Laszlo Ersek <lersek@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Å»enczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Marcos Paulo de Souza <mpdesouza@suse.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael S. Tsirkin <mst@redhat.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Mohsen Tahmasebi <moh53n@moh53n.ir>
  Mostafa Ghofrani <mostafaghrr@gmail.com>
  ndesaulniers@google.com <ndesaulniers@google.com>
  Nick Desaulniers <ndesaulniers@google.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Maignial <olivier.maignial@hotmail.fr>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pedro Tammela <pctammela@mojatatu.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratyush Yadav <ptyadav@amazon.de>
  Prince Kumar Maurya <princekumarmaurya06@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Roger Quadros <rogerq@kernel.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Ross Maynard <bids.7405@bigpond.com>
  Ruihong Luo <colorsu1922@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Shaoying Xu <shaoyi@amazon.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Stewart Smith <trawets@amazon.com>
  Sungwoo Kim <iam@sung-woo.kim>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  valis <sec@valis.email>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Ming <machel@vivo.com>
  Xianting Tian <xianting_tian@126.com>
  Xiubo Li <xiubli@redhat.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zubin Mithra <zsm@chromium.org>
  Åukasz Bartosik <lb@semihalf.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5380 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 13 16:29:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 Aug 2023 16:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.582990.912999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVDxy-0001hh-Be; Sun, 13 Aug 2023 16:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 582990.912999; Sun, 13 Aug 2023 16: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 1qVDxy-0001ha-8t; Sun, 13 Aug 2023 16:29:22 +0000
Received: by outflank-mailman (input) for mailman id 582990;
 Sun, 13 Aug 2023 16:29:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVDxw-0001hO-BT; Sun, 13 Aug 2023 16:29:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVDxw-00077o-4t; Sun, 13 Aug 2023 16:29:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVDxv-0002cQ-NK; Sun, 13 Aug 2023 16:29:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVDxv-00047w-EH; Sun, 13 Aug 2023 16:29:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EwzjqDjedM2G3+ziwZNTO8A8LzVXvYJRYT82rSNpLDw=; b=yyXqZZVx4rWoCqukgqh+GYwzh8
	J+pjvbWmWGJkkgvJCDn5WEzQL1BwBAi8QURrH9qaJ6bc3cSi1GsmofI51v7EIozuio0FV2VA7UzLL
	Lv4d01olKSfJLm1OdXvjc8RHcWKzXIH58SSTXy0ZEiNaYFILR6oSf9uicyBnvF2tIpd4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182308-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182308: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
X-Osstest-Versions-That:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 13 Aug 2023 16:29:19 +0000

flight 182308 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182308/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182293
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182293
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182293
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182293
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182293
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182293
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182293
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182293
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182293
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182293
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182293
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182293
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-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-amd64-amd64-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
baseline version:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c

Last test of basis   182308  2023-08-13 01:51:56 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 13 19:33:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 Aug 2023 19:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583033.913032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVGq5-00054D-W4; Sun, 13 Aug 2023 19:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583033.913032; Sun, 13 Aug 2023 19:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVGq5-000546-S5; Sun, 13 Aug 2023 19:33:25 +0000
Received: by outflank-mailman (input) for mailman id 583033;
 Sun, 13 Aug 2023 19:33: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 1qVGq4-00053w-SZ; Sun, 13 Aug 2023 19:33: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 1qVGq4-0002nL-M7; Sun, 13 Aug 2023 19:33: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 1qVGq4-0008R6-AQ; Sun, 13 Aug 2023 19:33:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVGq4-0006Wd-9x; Sun, 13 Aug 2023 19:33:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TwtJlsgicpUuwjmbkRuOL/X6Ick5K7yjh1qCdW1N+1Y=; b=aS2IbHtlYTachkAt8qpg+U1HXi
	b+cvq/nVczY0pz3T6igQQTWYyXlQSt2qYSYMegfY2KtNogfuiflIHNogBEW87vZRIWSbCYGueKAik
	ELFBFR/3rsOWJNXX/GflMN7QgFdg8deJE/vzkEZgtmxTKQuPlguMQ7Qy82UK9faDeATc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182310-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182310: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-shadow:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bb5f142cb320d45d3d8dee2c82dae003cad39da8
X-Osstest-Versions-That:
    qemuu=3944e93af06f06eb07316e0bef46b007573e0309
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 13 Aug 2023 19:33:24 +0000

flight 182310 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182310/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 182298 pass in 182310
 test-amd64-i386-xl-shadow    20 guest-localmigrate/x10     fail pass in 182298

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182276
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182276
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182276
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182276
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182276
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182276
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182276
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182276
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                bb5f142cb320d45d3d8dee2c82dae003cad39da8
baseline version:
 qemuu                3944e93af06f06eb07316e0bef46b007573e0309

Last test of basis   182276  2023-08-11 13:06:05 Z    2 days
Testing same since   182298  2023-08-12 10:18:51 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Daniel Henrique Barboza <dbarboza@ventanamicro.com>
  Guoyi Tu <tugy@chinatelecom.cn>
  Jason Chien &lt;<a href="mailto:jason.chien@sifive.com" target="_blank">jason.chien@sifive.com</a>&gt;<br>
  Jason Chien <jason.chien@sifive.com>
  Michael S. Tsirkin <mst@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  yuanminghao <yuanmh12@chinatelecom.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   3944e93af0..bb5f142cb3  bb5f142cb320d45d3d8dee2c82dae003cad39da8 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 00:56:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 00:56:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583046.913057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVLss-0003jX-0n; Mon, 14 Aug 2023 00:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583046.913057; Mon, 14 Aug 2023 00: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 1qVLsr-0003jQ-Ss; Mon, 14 Aug 2023 00:56:37 +0000
Received: by outflank-mailman (input) for mailman id 583046;
 Mon, 14 Aug 2023 00:56: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 1qVLsq-0003jF-2u; Mon, 14 Aug 2023 00:56: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 1qVLsp-0002hL-LY; Mon, 14 Aug 2023 00:56:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVLsp-0007lV-D0; Mon, 14 Aug 2023 00:56:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVLsp-00056X-CX; Mon, 14 Aug 2023 00:56:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2YnNHgWAY34hN1GVnmPnSEIwfO1sjy5sH44PL2EK2Vs=; b=SywfcLYBrW3lXaZpB5c7/DZ7jE
	IoWv+MoV5VYcG1ZJFrHZXLJ85+hNk3VKNHRqaZBwpS/ECRyjMsEXqTvkRzO0Rva9a5AMxvDiUXKZT
	a3idx8iAXHizpO8lrdHM41J19kga8/Edi2e9zy1kHIw5jrHNPChskxjruAVsoprJgKL0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182313-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182313: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a785fd28d31f76d50004712b6e0b409d5a8239d8
X-Osstest-Versions-That:
    linux=c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 00:56:35 +0000

flight 182313 linux-linus real [real]
flight 182320 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182313/
http://logs.test-lab.xenproject.org/osstest/logs/182320/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 182301

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 182320-retest
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail pass in 182320-retest
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 182320-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182320-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop      fail blocked in 182301
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182301
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182301
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182301
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                a785fd28d31f76d50004712b6e0b409d5a8239d8
baseline version:
 linux                c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3

Last test of basis   182301  2023-08-12 17:47:06 Z    1 days
Testing same since   182313  2023-08-13 07:56:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Christoph Hellwig <hch@lst.de>
  David Sterba <dsterba@suse.com>
  Josef Bacik <josef@toxicpanda.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Qu Wenruo <wqu@suse.com>
  William Breathitt Gray <william.gray@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 406 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583058.913097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9f-00033s-8c; Mon, 14 Aug 2023 04:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583058.913097; Mon, 14 Aug 2023 04:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9f-00033j-4t; Mon, 14 Aug 2023 04:26:11 +0000
Received: by outflank-mailman (input) for mailman id 583058;
 Mon, 14 Aug 2023 04:26:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9d-0002UD-LO
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id b05ad455-3a5a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 06:26: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 848DD2F4;
 Sun, 13 Aug 2023 21:26:49 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B8E2B3F64C;
 Sun, 13 Aug 2023 21: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: b05ad455-3a5a-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 03/13] xen/arm64: prepare for moving MMU related code from head.S
Date: Mon, 14 Aug 2023 12:25:26 +0800
Message-Id: <20230814042536.878720-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

We want to reuse head.S for MPU systems, but there are some
code are implemented for MMU systems only. We will move such
code to another MMU specific file. But before that we will
do some indentations fix in this patch to make them be easier
for reviewing:
1. Fix the indentations and incorrect style of code comments.
2. Fix the indentations for .text.header section.
3. Rename puts() to asm_puts() for global export

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v5:
- Use "must" in the code comment for asm_puts() to note that
  this function must be called from assembly.
- Add the Reviewed-by tags from Ayan and Julien.
v4:
- Rebase to pick the adr -> adr_l change in PRINT(_s).
- Correct in-code comment for asm_puts() and add a note to
  mention that asm_puts() should be only called from assembly.
- Drop redundant puts (now asm_puts) under CONFIG_EARLY_PRINTK.
v3:
-  fix commit message
-  Rename puts() to asm_puts() for global export
v2:
-  New patch.
---
 xen/arch/arm/arm64/head.S | 46 ++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 2bc2a03565..f25a41d36c 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -94,7 +94,7 @@
 #define PRINT(_s)          \
         mov   x3, lr ;     \
         adr_l x0, 98f ;    \
-        bl    puts    ;    \
+        bl    asm_puts ;   \
         mov   lr, x3 ;     \
         RODATA_STR(98, _s)
 
@@ -148,21 +148,21 @@
         isb
 .endm
 
-        .section .text.header, "ax", %progbits
-        /*.aarch64*/
+.section .text.header, "ax", %progbits
+/*.aarch64*/
 
-        /*
-         * Kernel startup entry point.
-         * ---------------------------
-         *
-         * The requirements are:
-         *   MMU = off, D-cache = off, I-cache = on or off,
-         *   x0 = physical address to the FDT blob.
-         *
-         * This must be the very first address in the loaded image.
-         * It should be linked at XEN_VIRT_START, and loaded at any
-         * 4K-aligned address.
-         */
+/*
+ * Kernel startup entry point.
+ * ---------------------------
+ *
+ * The requirements are:
+ *   MMU = off, D-cache = off, I-cache = on or off,
+ *   x0 = physical address to the FDT blob.
+ *
+ * This must be the very first address in the loaded image.
+ * It should be linked at XEN_VIRT_START, and loaded at any
+ * 4K-aligned address.
+ */
 
 GLOBAL(start)
         /*
@@ -547,7 +547,7 @@ ENDPROC(cpu_init)
  * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
  * level table (i.e page granularity) is supported.
  *
- * ptbl:     table symbol where the entry will be created
+ * ptbl:    table symbol where the entry will be created
  * virt:    virtual address
  * phys:    physical address (should be page aligned)
  * tmp1:    scratch register
@@ -965,19 +965,22 @@ init_uart:
         ret
 ENDPROC(init_uart)
 
-/* Print early debug messages.
+/*
+ * Print early debug messages.
+ * Note: This function must be called from assembly.
  * x0: Nul-terminated string to print.
  * x23: Early UART base address
- * Clobbers x0-x1 */
-puts:
+ * Clobbers x0-x1
+ */
+ENTRY(asm_puts)
         early_uart_ready x23, 1
         ldrb  w1, [x0], #1           /* Load next char */
         cbz   w1, 1f                 /* Exit on nul */
         early_uart_transmit x23, w1
-        b     puts
+        b     asm_puts
 1:
         ret
-ENDPROC(puts)
+ENDPROC(asm_puts)
 
 /*
  * Print a 64-bit number in hex.
@@ -1007,7 +1010,6 @@ hex:    .ascii "0123456789abcdef"
 
 ENTRY(early_puts)
 init_uart:
-puts:
 putn:   ret
 
 #endif /* !CONFIG_EARLY_PRINTK */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583057.913081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9Z-0002Xn-W7; Mon, 14 Aug 2023 04:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583057.913081; Mon, 14 Aug 2023 04:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9Z-0002X4-Sf; Mon, 14 Aug 2023 04:26:05 +0000
Received: by outflank-mailman (input) for mailman id 583057;
 Mon, 14 Aug 2023 04:26: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9Y-0002FE-Ak
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id adb528c3-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26: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 2F9F2106F;
 Sun, 13 Aug 2023 21:26:45 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A71CA3F64C;
 Sun, 13 Aug 2023 21:25: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: adb528c3-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 02/13] xen/arm: Introduce CONFIG_MMU Kconfig option
Date: Mon, 14 Aug 2023 12:25:25 +0800
Message-Id: <20230814042536.878720-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are two types of memory system architectures available for
Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
and the Protected Memory System Architecture (PMSA). According to
ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
controls address translation, access permissions, and memory attribute
determination and checking, for memory accesses made by the PE. And
refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
scheme where an Memory Protection Unit (MPU) manages instruction and
data access. Currently, Xen only suuports VMSA.

Introduce a Kconfig option CONFIG_MMU, which is currently default
set to y and unselectable because currently only VMSA is supported.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- Only introduce the unselectable CONFIG_MMU, add the 'choice' in
  future commits.
v4:
- Completely rework "[v3,06/52] xen/arm: introduce CONFIG_HAS_MMU"
---
 xen/arch/arm/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 57bd1d01d7..eb0413336b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -59,6 +59,9 @@ config PADDR_BITS
 	default 40 if ARM_PA_BITS_40
 	default 48 if ARM_64
 
+config MMU
+	def_bool y
+
 source "arch/Kconfig"
 
 config ACPI
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583056.913077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9Z-0002VO-O7; Mon, 14 Aug 2023 04:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583056.913077; Mon, 14 Aug 2023 04:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9Z-0002VH-LH; Mon, 14 Aug 2023 04:26:05 +0000
Received: by outflank-mailman (input) for mailman id 583056;
 Mon, 14 Aug 2023 04:26: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9Y-0002UD-6L
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ab42aa46-3a5a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 06:25: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 0CC331063;
 Sun, 13 Aug 2023 21:26:41 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C85653F64C;
 Sun, 13 Aug 2023 21:25: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: ab42aa46-3a5a-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 01/13] xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()
Date: Mon, 14 Aug 2023 12:25:24 +0800
Message-Id: <20230814042536.878720-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

At the moment, on MMU system, enable_mmu() will return to an
address in the 1:1 mapping, then each path is responsible to
switch to virtual runtime mapping. Then remove_identity_mapping()
is called on the boot CPU to remove all 1:1 mapping.

Since remove_identity_mapping() is not necessary on Non-MMU system,
and we also avoid creating empty function for Non-MMU system, trying
to keep only one codeflow in arm64/head.S, we move path switch and
remove_identity_mapping() in enable_mmu() on MMU system.

As the remove_identity_mapping should only be called for the boot
CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
enable_secondary_cpu_mm() for secondary CPUs in this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- Add missing "()" in title.
- Use more generic comment in enable_{boot,secondary}_cpu_mm() to
  mention function will return to the vaddr requested by the caller.
- Move 'mov lr, x5' closer to 'b remove_identity_mapping'.
- Drop the 'b fail' for unreachable code in enable_boot_cpu_mm().
v4:
- Clarify remove_identity_mapping() is called on boot CPU and keep
  the function/proc format consistent in commit msg.
- Drop inaccurate (due to the refactor) in-code comment.
- Rename enable_{boot,runtime}_mmu to enable_{boot,secondary}_cpu_mm.
- Reword the in-code comment on top of enable_{boot,secondary}_cpu_mm.
- Call "fail" for unreachable code.
v3:
- new patch
---
 xen/arch/arm/arm64/head.S | 83 ++++++++++++++++++++++++++++++---------
 1 file changed, 64 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 8bca9afa27..2bc2a03565 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -325,21 +325,11 @@ real_start_efi:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =primary_switched
-        br    x0
+        ldr   lr, =primary_switched
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
-         */
-        bl    remove_identity_mapping
         bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -384,13 +374,10 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =secondary_switched
-        br    x0
+        ldr   lr, =secondary_switched
+        b     enable_secondary_cpu_mm
+
 secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -748,6 +735,64 @@ enable_mmu:
         ret
 ENDPROC(enable_mmu)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_secondary_cpu_mm:
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* Return to the virtual address requested by the caller. */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_boot_cpu_mm:
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        mov   lr, x5
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to avoid
+         * having to worry about replacing existing mapping afterwards.
+         * Function will return to the virtual address requested by the caller.
+         */
+        b     remove_identity_mapping
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583055.913067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9S-0002Fg-JS; Mon, 14 Aug 2023 04:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583055.913067; Mon, 14 Aug 2023 04:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9S-0002FK-E8; Mon, 14 Aug 2023 04:25:58 +0000
Received: by outflank-mailman (input) for mailman id 583055;
 Mon, 14 Aug 2023 04:25:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9R-0002FE-GS
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:25:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a86cf4e4-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:25:54 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3A2D52F4;
 Sun, 13 Aug 2023 21:26:36 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 251F53F64C;
 Sun, 13 Aug 2023 21:25: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: a86cf4e4-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 00/13] xen/arm: Split MMU code as the prepration of MPU work
Date: Mon, 14 Aug 2023 12:25:23 +0800
Message-Id: <20230814042536.878720-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v4 [2] as the preparation work to add MPU support.
Full series of single core MPU support to boot Linux guest can be found
in [3], which passed the GitLab CI check in [4].

Mostly code movement, with some of Kconfig and build system (mainly Makefiles)
adjustment. No functional change expected.

This series is based on:
a9a3b432a8 x86: adjust comparison for earlier signedness change

[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20230801034419.2047541-1-Henry.Wang@arm.com/
[3] https://gitlab.com/xen-project/people/henryw/xen/-/commits/mpu_v5/
[4] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/966450933

Henry Wang (4):
  xen/arm: Introduce CONFIG_MMU Kconfig option
  xen/arm64: Split and move MMU-specific head.S to mmu/head.S
  xen/arm64: Fold setup_fixmap() to create_page_tables()
  xen/arm: Extract MMU-specific code

Penny Zheng (6):
  xen/arm: Fold pmap and fixmap into MMU system
  xen/arm: mm: Use generic variable/function names for extendability
  xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
  xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
  xen/arm: mmu: relocate copy_from_paddr() to setup.c
  xen/arm: mmu: enable SMMU subsystem only in MMU

Wei Chen (3):
  xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm64: prepare for moving MMU related code from head.S
  xen/arm: Move MMU related definitions from config.h to mmu/layout.h

 xen/arch/arm/Kconfig                    |    5 +-
 xen/arch/arm/Makefile                   |    1 +
 xen/arch/arm/arm32/head.S               |    4 +-
 xen/arch/arm/arm64/Makefile             |    2 +-
 xen/arch/arm/arm64/head.S               |  496 +------
 xen/arch/arm/arm64/mmu/Makefile         |    2 +
 xen/arch/arm/arm64/mmu/head.S           |  460 ++++++
 xen/arch/arm/arm64/{ => mmu}/mm.c       |   11 +-
 xen/arch/arm/arm64/smpboot.c            |    6 +-
 xen/arch/arm/include/asm/arm64/macros.h |   36 +
 xen/arch/arm/include/asm/arm64/mm.h     |    7 +-
 xen/arch/arm/include/asm/config.h       |  132 +-
 xen/arch/arm/include/asm/fixmap.h       |    7 +-
 xen/arch/arm/include/asm/mm.h           |   30 +-
 xen/arch/arm/include/asm/mmu/layout.h   |  146 ++
 xen/arch/arm/include/asm/mmu/mm.h       |   55 +
 xen/arch/arm/include/asm/mmu/p2m.h      |   18 +
 xen/arch/arm/include/asm/p2m.h          |   33 +-
 xen/arch/arm/include/asm/page.h         |   15 -
 xen/arch/arm/include/asm/setup.h        |    8 +-
 xen/arch/arm/kernel.c                   |   27 -
 xen/arch/arm/mm.c                       | 1119 --------------
 xen/arch/arm/mmu/Makefile               |    3 +
 xen/arch/arm/mmu/mm.c                   | 1153 +++++++++++++++
 xen/arch/arm/mmu/p2m.c                  | 1610 ++++++++++++++++++++
 xen/arch/arm/mmu/setup.c                |  366 +++++
 xen/arch/arm/p2m.c                      | 1772 ++---------------------
 xen/arch/arm/setup.c                    |  326 +----
 xen/arch/arm/smpboot.c                  |    4 +-
 xen/arch/arm/xen.lds.S                  |    1 +
 xen/drivers/passthrough/Kconfig         |    3 +-
 31 files changed, 4042 insertions(+), 3816 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (95%)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/mm.c
 create mode 100644 xen/arch/arm/mmu/p2m.c
 create mode 100644 xen/arch/arm/mmu/setup.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583059.913107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9i-0003Mz-Hr; Mon, 14 Aug 2023 04:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583059.913107; Mon, 14 Aug 2023 04: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 1qVP9i-0003Mk-E4; Mon, 14 Aug 2023 04:26:14 +0000
Received: by outflank-mailman (input) for mailman id 583059;
 Mon, 14 Aug 2023 04: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9h-0002FE-Q3
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b2ecd30d-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26: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 D92542F4;
 Sun, 13 Aug 2023 21:26:53 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 178E53F64C;
 Sun, 13 Aug 2023 21:26: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: b2ecd30d-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S to mmu/head.S
Date: Mon, 14 Aug 2023 12:25:27 +0800
Message-Id: <20230814042536.878720-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
- As "fail" in original head.S is very simple and this name is too
  easy to be conflicted, duplicate it in mmu/head.S instead of
  exporting it.
- Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
  setup_fixmap to please the compiler after the code movement.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

Note that, only the first 4KB of Xen image will be mapped as
identity (PA == VA). At the moment, Xen guarantees this by having
everything that needs to be used in the identity mapping in
.text.header section of head.S, and the size will be checked by
_idmap_start and _idmap_end at link time if this fits in 4KB.
Since we are introducing a new head.S in this patch, although
we can add .text.header to the new file to guarantee all identity
map code still in the first 4KB. However, the order of these two
files on this 4KB depends on the build toolchains. Hence, introduce
a new section named .text.idmap in the region between _idmap_start
and _idmap_end. And in Xen linker script, we force the .text.idmap
contents to linked after .text.header. This will ensure code of
head.S always be at the top of Xen binary.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v5:
- Rebase on top of commit
  "xen/arm64: head: Introduce a helper to flush local TLBs".
v4:
- Rework "[v3,08/52] xen/arm64: move MMU related code from
  head.S to mmu/head.S"
- Don't move the "yet to shared" macro such as print_reg.
- Fold "[v3,04/52] xen/arm: add .text.idmap in ld script for Xen
  identity map sections" to this patch. Rework commit msg.
---
 xen/arch/arm/arm64/Makefile             |   1 +
 xen/arch/arm/arm64/head.S               | 492 +-----------------------
 xen/arch/arm/arm64/mmu/Makefile         |   1 +
 xen/arch/arm/arm64/mmu/head.S           | 488 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/macros.h |  36 ++
 xen/arch/arm/xen.lds.S                  |   1 +
 6 files changed, 528 insertions(+), 491 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 54ad55c75c..f89d5fb4fb 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -1,4 +1,5 @@
 obj-y += lib/
+obj-$(CONFIG_MMU) += mmu/
 
 obj-y += cache.o
 obj-y += cpufeature.o
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index f25a41d36c..3c8a12eda7 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -28,17 +28,6 @@
 #include <asm/arm64/efibind.h>
 #endif
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
 #define __HEAD_FLAG_PAGE_SIZE   ((PAGE_SHIFT - 10) / 2)
 
 #define __HEAD_FLAG_PHYS_BASE   1
@@ -85,19 +74,7 @@
  *  x30 - lr
  */
 
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers x0 - x3
- */
-#define PRINT(_s)          \
-        mov   x3, lr ;     \
-        adr_l x0, 98f ;    \
-        bl    asm_puts ;   \
-        mov   lr, x3 ;     \
-        RODATA_STR(98, _s)
-
+ #ifdef CONFIG_EARLY_PRINTK
 /*
  * Macro to print the value of register \xb
  *
@@ -111,43 +88,11 @@
 .endm
 
 #else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
 .macro print_reg xb
 .endm
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register (64 bit wide)
- * @sym: name of the symbol
- */
-.macro  adr_l, dst, sym
-        adrp \dst, \sym
-        add  \dst, \dst, :lo12:\sym
-.endm
-
-/* Load the physical address of a symbol into xb */
-.macro load_paddr xb, sym
-        ldr \xb, =\sym
-        add \xb, \xb, x20
-.endm
-
-/*
- * Flush local TLBs
- *
- * See asm/arm64/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
-.endm
-
 .section .text.header, "ax", %progbits
 /*.aarch64*/
 
@@ -484,402 +429,6 @@ cpu_init:
         ret
 ENDPROC(cpu_init)
 
-/*
- * Macro to find the slot number at a given page-table level
- *
- * slot:     slot computed
- * virt:     virtual address
- * lvl:      page-table level
- */
-.macro get_table_slot, slot, virt, lvl
-        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- *
- * Preserves \virt
- * Clobbers \tbl, \tmp1, \tmp2
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
-        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
-
-        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
-        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
-
-        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
-
-        str   \tmp2, [\tbl, \tmp1, lsl #3]
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- *
- * Preserves \virt
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Also use x20 for the phys offset.
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
-        load_paddr \tmp1, \tbl
-        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
-.endm
-
-/*
- * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:    table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address (should be page aligned)
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
-        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
-
-        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
-
-        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
-        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
-
-        adr_l \tmp3, \ptbl
-
-        str   \tmp2, [\tmp3, \tmp1, lsl #3]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   x19: paddr(start)
- *   x20: phys offset
- *
- * Clobbers x0 - x4
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        ldr   x0, =XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
-        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        load_paddr x4, boot_third
-        ldr   x1, =XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   x0, x4                            /* x0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
-        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
-        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        ldr   x0, =_start            /* x0 := vaddr(_start) */
-        ldr   x1, =_end              /* x1 := vaddr(_end) */
-        sub   x0, x1, x0             /* x0 := effective size of Xen */
-        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
-        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
-
-        /* Map Xen */
-        adr_l x4, boot_third
-
-        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   x2, x2, #THIRD_SHIFT
-        mov   x3, #PT_MEM_L3         /* x2 := Section map */
-        orr   x2, x2, x3
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   x1, xzr
-1:      str   x2, [x4, x1]           /* Map vaddr(start) */
-        add   x2, x2, #PAGE_SIZE     /* Next page */
-        add   x1, x1, #8             /* Next slot */
-        cmp   x1, x0                 /* Loop until we map all of Xen */
-        b.lt  1b
-
-        /*
-         * If Xen is loaded at exactly XEN_VIRT_START then we don't
-         * need an additional 1:1 mapping, the virtual mapping will
-         * suffice.
-         */
-        ldr   x0, =XEN_VIRT_START
-        cmp   x19, x0
-        bne   1f
-        ret
-1:
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-
-        /*
-         * Find the zeroeth slot used. If the slot is not
-         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
-         * page-tables from the first level.
-         */
-        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
-        cmp   x0, #XEN_ZEROETH_SLOT
-        beq   1f
-        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
-        b     link_from_first_id
-
-1:
-        /*
-         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
-         * then the 1:1 mapping will use its own set of page-tables from
-         * the second level.
-         */
-        get_table_slot x0, x19, 1      /* x0 := first slot */
-        cmp   x0, #XEN_FIRST_SLOT
-        beq   1f
-        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
-        b     link_from_second_id
-
-1:
-        /*
-         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
-         * 1:1 mapping will use its own set of page-tables from the
-         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
-         * it.
-         */
-        get_table_slot x0, x19, 2     /* x0 := second slot */
-        cmp   x0, #XEN_SECOND_SLOT
-        beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
-        b     link_from_third_id
-
-link_from_first_id:
-        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
-link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
-link_from_third_id:
-        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
-        ret
-
-virtphys_clash:
-        /* Identity map clashes with boot_third, which we cannot handle yet */
-        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
-        b     fail
-ENDPROC(create_page_tables)
-
-/*
- * Turn on the Data Cache and the MMU. The function will return on the 1:1
- * mapping. In other word, the caller is responsible to switch to the runtime
- * mapping.
- *
- * Inputs:
- *   x0 : Physical address of the page tables.
- *
- * Clobbers x0 - x4
- */
-enable_mmu:
-        mov   x4, x0
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local
-
-        /* Write Xen's PT's paddr into TTBR0_EL2 */
-        msr   TTBR0_EL2, x4
-        isb
-
-        mrs   x0, SCTLR_EL2
-        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
-        dsb   sy                     /* Flush PTE writes and finish reads */
-        msr   SCTLR_EL2, x0          /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-        ret
-ENDPROC(enable_mmu)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_secondary_cpu_mm:
-        mov   x5, lr
-
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-
-        bl    enable_mmu
-        mov   lr, x5
-
-        /* Return to the virtual address requested by the caller. */
-        ret
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_boot_cpu_mm:
-        mov   x5, lr
-
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-
-        bl    enable_mmu
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        ldr   x0, =1f
-        br    x0
-1:
-        mov   lr, x5
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to avoid
-         * having to worry about replacing existing mapping afterwards.
-         * Function will return to the virtual address requested by the caller.
-         */
-        b     remove_identity_mapping
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   x19: paddr(start)
- *
- * Clobbers x0 - x1
- */
-remove_identity_mapping:
-        /*
-         * Find the zeroeth slot used. Remove the entry from zeroeth
-         * table if the slot is not XEN_ZEROETH_SLOT.
-         */
-        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
-        cmp   x1, #XEN_ZEROETH_SLOT
-        beq   1f
-        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
-        ldr   x0, =boot_pgtable         /* x0 := root table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the first slot used. Remove the entry for the first
-         * table if the slot is not XEN_FIRST_SLOT.
-         */
-        get_table_slot x1, x19, 1       /* x1 := first slot */
-        cmp   x1, #XEN_FIRST_SLOT
-        beq   1f
-        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
-        ldr   x0, =boot_first           /* x0 := first table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the second slot used. Remove the entry for the first
-         * table if the slot is not XEN_SECOND_SLOT.
-         */
-        get_table_slot x1, x19, 2       /* x1 := second slot */
-        cmp   x1, #XEN_SECOND_SLOT
-        beq   identity_mapping_removed
-        /* It is not in slot 1, remove the entry */
-        ldr   x0, =boot_second          /* x0 := second table */
-        str   xzr, [x0, x1, lsl #3]
-
-identity_mapping_removed:
-        flush_xen_tlb_local
-
-        ret
-ENDPROC(remove_identity_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-setup_fixmap:
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -908,45 +457,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- *
- * x0    ttbr
- */
-ENTRY(switch_ttbr_id)
-        /* 1) Ensure any previous read/write have completed */
-        dsb    ish
-        isb
-
-        /* 2) Turn off MMU */
-        mrs    x1, SCTLR_EL2
-        bic    x1, x1, #SCTLR_Axx_ELx_M
-        msr    SCTLR_EL2, x1
-        isb
-
-        /* 3) Flush the TLBs */
-        flush_xen_tlb_local
-
-        /* 4) Update the TTBR */
-        msr   TTBR0_EL2, x0
-        isb
-
-        /*
-         * 5) Flush I-cache
-         * This should not be necessary but it is kept for safety.
-         */
-        ic     iallu
-        isb
-
-        /* 6) Turn on the MMU */
-        mrs   x1, SCTLR_EL2
-        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        msr   SCTLR_EL2, x1
-        isb
-
-        ret
-ENDPROC(switch_ttbr_id)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
new file mode 100644
index 0000000000..97d872c3cb
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -0,0 +1,488 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm64/mmu/head.S
+ *
+ * Arm64 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/*
+ * Flush local TLBs
+ *
+ * See asm/arm64/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Macro to find the slot number at a given page-table level
+ *
+ * slot:     slot computed
+ * virt:     virtual address
+ * lvl:      page-table level
+ */
+.macro get_table_slot, slot, virt, lvl
+        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tbl, \tmp1, \tmp2
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
+        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
+
+        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
+        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
+
+        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
+
+        str   \tmp2, [\tbl, \tmp1, lsl #3]
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Also use x20 for the phys offset.
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
+        load_paddr \tmp1, \tbl
+        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
+.endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:    table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address (should be page aligned)
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
+        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
+
+        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
+
+        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
+        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
+
+        adr_l \tmp3, \ptbl
+
+        str   \tmp2, [\tmp3, \tmp1, lsl #3]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *   x20: phys offset
+ *
+ * Clobbers x0 - x4
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        ldr   x0, =XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
+        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        load_paddr x4, boot_third
+        ldr   x1, =XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   x0, x4                            /* x0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
+        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
+        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        ldr   x0, =_start            /* x0 := vaddr(_start) */
+        ldr   x1, =_end              /* x1 := vaddr(_end) */
+        sub   x0, x1, x0             /* x0 := effective size of Xen */
+        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
+        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
+
+        /* Map Xen */
+        adr_l x4, boot_third
+
+        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   x2, x2, #THIRD_SHIFT
+        mov   x3, #PT_MEM_L3         /* x2 := Section map */
+        orr   x2, x2, x3
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   x1, xzr
+1:      str   x2, [x4, x1]           /* Map vaddr(start) */
+        add   x2, x2, #PAGE_SIZE     /* Next page */
+        add   x1, x1, #8             /* Next slot */
+        cmp   x1, x0                 /* Loop until we map all of Xen */
+        b.lt  1b
+
+        /*
+         * If Xen is loaded at exactly XEN_VIRT_START then we don't
+         * need an additional 1:1 mapping, the virtual mapping will
+         * suffice.
+         */
+        ldr   x0, =XEN_VIRT_START
+        cmp   x19, x0
+        bne   1f
+        ret
+1:
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+
+        /*
+         * Find the zeroeth slot used. If the slot is not
+         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
+         * page-tables from the first level.
+         */
+        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
+        cmp   x0, #XEN_ZEROETH_SLOT
+        beq   1f
+        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
+        b     link_from_first_id
+
+1:
+        /*
+         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
+         * then the 1:1 mapping will use its own set of page-tables from
+         * the second level.
+         */
+        get_table_slot x0, x19, 1      /* x0 := first slot */
+        cmp   x0, #XEN_FIRST_SLOT
+        beq   1f
+        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
+        b     link_from_second_id
+
+1:
+        /*
+         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
+         * 1:1 mapping will use its own set of page-tables from the
+         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
+         * it.
+         */
+        get_table_slot x0, x19, 2     /* x0 := second slot */
+        cmp   x0, #XEN_SECOND_SLOT
+        beq   virtphys_clash
+        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
+        b     link_from_third_id
+
+link_from_first_id:
+        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
+link_from_second_id:
+        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
+link_from_third_id:
+        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+        ret
+
+virtphys_clash:
+        /* Identity map clashes with boot_third, which we cannot handle yet */
+        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
+        b     fail
+ENDPROC(create_page_tables)
+
+/*
+ * Turn on the Data Cache and the MMU. The function will return on the 1:1
+ * mapping. In other word, the caller is responsible to switch to the runtime
+ * mapping.
+ *
+ * Inputs:
+ *   x0 : Physical address of the page tables.
+ *
+ * Clobbers x0 - x4
+ */
+enable_mmu:
+        mov   x4, x0
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local
+
+        /* Write Xen's PT's paddr into TTBR0_EL2 */
+        msr   TTBR0_EL2, x4
+        isb
+
+        mrs   x0, SCTLR_EL2
+        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
+        dsb   sy                     /* Flush PTE writes and finish reads */
+        msr   SCTLR_EL2, x0          /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+        ret
+ENDPROC(enable_mmu)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* return to secondary_switched */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards. Function will return to primary_switched.
+         */
+        b     remove_identity_mapping
+
+        /*
+         * Below is supposed to be unreachable code, as "ret" in
+         * remove_identity_mapping will use the return address in LR in advance.
+         */
+        b     fail
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *
+ * Clobbers x0 - x1
+ */
+remove_identity_mapping:
+        /*
+         * Find the zeroeth slot used. Remove the entry from zeroeth
+         * table if the slot is not XEN_ZEROETH_SLOT.
+         */
+        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
+        cmp   x1, #XEN_ZEROETH_SLOT
+        beq   1f
+        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
+        ldr   x0, =boot_pgtable         /* x0 := root table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the first slot used. Remove the entry for the first
+         * table if the slot is not XEN_FIRST_SLOT.
+         */
+        get_table_slot x1, x19, 1       /* x1 := first slot */
+        cmp   x1, #XEN_FIRST_SLOT
+        beq   1f
+        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
+        ldr   x0, =boot_first           /* x0 := first table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the second slot used. Remove the entry for the first
+         * table if the slot is not XEN_SECOND_SLOT.
+         */
+        get_table_slot x1, x19, 2       /* x1 := second slot */
+        cmp   x1, #XEN_SECOND_SLOT
+        beq   identity_mapping_removed
+        /* It is not in slot 1, remove the entry */
+        ldr   x0, =boot_second          /* x0 := second table */
+        str   xzr, [x0, x1, lsl #3]
+
+identity_mapping_removed:
+        flush_xen_tlb_local
+
+        ret
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   x20: Physical offset
+ *   x23: Early UART base physical address
+ *
+ * Clobbers x0 - x3
+ */
+ENTRY(setup_fixmap)
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        ret
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ *
+ * x0    ttbr
+ */
+ENTRY(switch_ttbr_id)
+        /* 1) Ensure any previous read/write have completed */
+        dsb    ish
+        isb
+
+        /* 2) Turn off MMU */
+        mrs    x1, SCTLR_EL2
+        bic    x1, x1, #SCTLR_Axx_ELx_M
+        msr    SCTLR_EL2, x1
+        isb
+
+        /* 3) Flush the TLBs */
+        flush_xen_tlb_local
+
+        /* 4) Update the TTBR */
+        msr   TTBR0_EL2, x0
+        isb
+
+        /*
+         * 5) Flush I-cache
+         * This should not be necessary but it is kept for safety.
+         */
+        ic     iallu
+        isb
+
+        /* 6) Turn on the MMU */
+        mrs   x1, SCTLR_EL2
+        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        msr   SCTLR_EL2, x1
+        isb
+
+        ret
+ENDPROC(switch_ttbr_id)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
index 140e223b4c..99c401fcaf 100644
--- a/xen/arch/arm/include/asm/arm64/macros.h
+++ b/xen/arch/arm/include/asm/arm64/macros.h
@@ -32,6 +32,42 @@
         hint    #22
     .endm
 
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers x0 - x3
+ */
+#define PRINT(_s)          \
+        mov   x3, lr ;     \
+        adr_l x0, 98f ;    \
+        bl    asm_puts ;   \
+        mov   lr, x3 ;     \
+        RODATA_STR(98, _s)
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+#endif /* !CONFIG_EARLY_PRINTK */
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register (64 bit wide)
+ * @sym: name of the symbol
+ */
+.macro  adr_l, dst, sym
+        adrp \dst, \sym
+        add  \dst, \dst, :lo12:\sym
+.endm
+
+/* Load the physical address of a symbol into xb */
+.macro load_paddr xb, sym
+        ldr \xb, =\sym
+        add \xb, \xb, x20
+.endm
+
 /*
  * Register aliases.
  */
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index a3c90ca823..59b80d122f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -34,6 +34,7 @@ SECTIONS
        _stext = .;             /* Text section */
        _idmap_start = .;
        *(.text.header)
+       *(.text.idmap)
        _idmap_end = .;
 
        *(.text.cold)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583062.913116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9n-0003oB-1Y; Mon, 14 Aug 2023 04:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583062.913116; Mon, 14 Aug 2023 04:26: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 1qVP9m-0003ny-Tm; Mon, 14 Aug 2023 04:26:18 +0000
Received: by outflank-mailman (input) for mailman id 583062;
 Mon, 14 Aug 2023 04:26:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9m-0002UD-21
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id b53bf133-3a5a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 06:26: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 DAEE02F4;
 Sun, 13 Aug 2023 21:26:57 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5EEDF3F64C;
 Sun, 13 Aug 2023 21:26: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: b53bf133-3a5a-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 05/13] xen/arm: Move MMU related definitions from config.h to mmu/layout.h
Date: Mon, 14 Aug 2023 12:25:28 +0800
Message-Id: <20230814042536.878720-6-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Xen defines some global configuration macros for Arm in config.h.
However there are some address layout related definitions that are
defined for MMU systems only, and these definitions could not be
used by MPU systems. Adding ifdefs to differentiate the MPU from MMU
layout will result in a messy and hard-to-read/maintain code.

So move all memory layout definitions to a new file, i.e. mmu/layout.h
to avoid spreading "#ifdef" everywhere.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v5:
- Rework commit message.
- Add Reviewed-by tag from Julien
v4:
- Rebase on top of latest staging to pick the recent UBSAN change
  to the layout.
- Use #ifdef CONFIG_HAS_MMU instead of #ifndef CONFIG_HAS_MPU, add
  a #else case.
- Rework commit message.
v3:
- name the new header layout.h
v2:
- Remove duplicated FIXMAP definitions from config_mmu.h
---
 xen/arch/arm/include/asm/config.h     | 132 +----------------------
 xen/arch/arm/include/asm/mmu/layout.h | 146 ++++++++++++++++++++++++++
 2 files changed, 149 insertions(+), 129 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 83cbf6b0cb..e1dcec4dd7 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -71,136 +71,10 @@
 #include <xen/const.h>
 #include <xen/page-size.h>
 
-/*
- * ARM32 layout:
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
- * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
- *                    space
- *
- *   1G -   2G   Xenheap: always-mapped memory
- *   2G -   4G   Domheap: on-demand-mapped
- *
- * ARM64 layout:
- * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
- *
- *  Reserved to identity map Xen
- *
- * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
- *  (Relative offsets)
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *   1G -   2G   VMAP: ioremap and early_ioremap
- *
- *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
- *
- * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
- *  Unused
- *
- * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
- *  1:1 mapping of RAM
- *
- * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
- *  Unused
- */
-
-#ifdef CONFIG_ARM_32
-#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#ifdef CONFIG_MMU
+#include <asm/mmu/layout.h>
 #else
-
-#define SLOT0_ENTRY_BITS  39
-#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
-#define SLOT0_ENTRY_SIZE  SLOT0(1)
-
-#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
-#endif
-
-/*
- * Reserve enough space so both UBSAN and GCOV can be enabled together
- * plus some slack for future growth.
- */
-#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
-#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
-
-#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
-#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
-
-#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
-
-#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
-#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
-
-#ifdef CONFIG_LIVEPATCH
-#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
-#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
-#endif
-
-#define HYPERVISOR_VIRT_START  XEN_VIRT_START
-
-#ifdef CONFIG_ARM_32
-
-#define CONFIG_SEPARATE_XENHEAP 1
-
-#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
-#define FRAMETABLE_SIZE        MB(128-32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
-#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
-
-#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
-#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
-
-#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
-#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
-
-#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
-
-/* Number of domheap pagetable pages required at the second level (2MB mappings) */
-#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
-
-/*
- * The temporary area is overlapping with the domheap area. This may
- * be used to create an alias of the first slot containing Xen mappings
- * when turning on/off the MMU.
- */
-#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
-
-/* Calculate the address in the temporary area */
-#define TEMPORARY_AREA_ADDR(addr)                           \
-     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
-      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
-
-#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
-
-#else /* ARM_64 */
-
-#define IDENTITY_MAPPING_AREA_NR_L0  4
-
-#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
-#define VMAP_VIRT_SIZE   GB(1)
-
-#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
-#define FRAMETABLE_SIZE        GB(32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define DIRECTMAP_VIRT_START   SLOT0(256)
-#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
-#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
-
-#define XENHEAP_VIRT_START     directmap_virt_start
-
-#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
-
+# error "Unknown memory management layout"
 #endif
 
 #define NR_hypercalls 64
diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
new file mode 100644
index 0000000000..da6be276ac
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/layout.h
@@ -0,0 +1,146 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MMU_LAYOUT_H__
+#define __ARM_MMU_LAYOUT_H__
+
+/*
+ * ARM32 layout:
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
+ * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
+ *                    space
+ *
+ *   1G -   2G   Xenheap: always-mapped memory
+ *   2G -   4G   Domheap: on-demand-mapped
+ *
+ * ARM64 layout:
+ * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ *
+ *  Reserved to identity map Xen
+ *
+ * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
+ *  (Relative offsets)
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *   1G -   2G   VMAP: ioremap and early_ioremap
+ *
+ *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
+ *
+ * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
+ *  Unused
+ *
+ * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
+ *  1:1 mapping of RAM
+ *
+ * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
+ *  Unused
+ */
+
+#ifdef CONFIG_ARM_32
+#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#else
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+
+#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
+#endif
+
+/*
+ * Reserve enough space so both UBSAN and GCOV can be enabled together
+ * plus some slack for future growth.
+ */
+#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
+#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
+
+#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
+#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
+
+#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
+
+#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
+#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
+
+#ifdef CONFIG_LIVEPATCH
+#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
+#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
+#endif
+
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
+#ifdef CONFIG_ARM_32
+
+#define CONFIG_SEPARATE_XENHEAP 1
+
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
+#define FRAMETABLE_SIZE        MB(128-32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
+#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
+
+#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
+#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
+
+#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
+#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
+
+#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
+
+/* Number of domheap pagetable pages required at the second level (2MB mappings) */
+#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
+
+/*
+ * The temporary area is overlapping with the domheap area. This may
+ * be used to create an alias of the first slot containing Xen mappings
+ * when turning on/off the MMU.
+ */
+#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
+
+/* Calculate the address in the temporary area */
+#define TEMPORARY_AREA_ADDR(addr)                           \
+     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
+      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
+
+#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
+
+#else /* ARM_64 */
+
+#define IDENTITY_MAPPING_AREA_NR_L0  4
+
+#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
+#define VMAP_VIRT_SIZE   GB(1)
+
+#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
+#define FRAMETABLE_SIZE        GB(32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define DIRECTMAP_VIRT_START   SLOT0(256)
+#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
+#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
+
+#define XENHEAP_VIRT_START     directmap_virt_start
+
+#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
+
+#endif
+
+#endif /* __ARM_MMU_LAYOUT_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583065.913127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9q-0004F7-91; Mon, 14 Aug 2023 04:26:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583065.913127; Mon, 14 Aug 2023 04:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9q-0004En-5V; Mon, 14 Aug 2023 04:26:22 +0000
Received: by outflank-mailman (input) for mailman id 583065;
 Mon, 14 Aug 2023 04:26: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9o-0002FE-Km
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b784e6c6-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26:19 +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 A09262F4;
 Sun, 13 Aug 2023 21:27:01 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 680A23F64C;
 Sun, 13 Aug 2023 21: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: b784e6c6-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 06/13] xen/arm64: Fold setup_fixmap() to create_page_tables()
Date: Mon, 14 Aug 2023 12:25:29 +0800
Message-Id: <20230814042536.878720-7-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The original assembly setup_fixmap() is actually doing two seperate
tasks, one is enabling the early UART when earlyprintk on, and the
other is to set up the fixmap (even when earlyprintk is off).

Per discussion in [1], since commit
9d267c049d92 ("xen/arm64: Rework the memory layout"), there is no
chance that the fixmap and the mapping of early UART will clash with
the 1:1 mapping. Therefore the mapping of both the fixmap and the
early UART can be moved to the end of create_pagetables().

No functional change intended.

[1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed80@xen.org/

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- Refine the title and commit message.
- Drop the "not applied" in-code comment about the 1:1 mapping clash on
  top of create_page_tables().
- Drop the unnecessary dsb and isb from the original setup_fixmap().
v4:
- Rework "[v3,12/52] xen/mmu: extract early uart mapping from setup_fixmap"
---
 xen/arch/arm/arm64/head.S     |  1 -
 xen/arch/arm/arm64/mmu/head.S | 48 ++++++++---------------------------
 2 files changed, 10 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 3c8a12eda7..4ad85dcf58 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -275,7 +275,6 @@ real_start_efi:
         b     enable_boot_cpu_mm
 
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         ldr   x23, =EARLY_UART_VIRTUAL_ADDRESS
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index 97d872c3cb..ba2ddd7e67 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -126,11 +126,6 @@
  * Rebuild the boot pagetable's first-level entries. The structure
  * is described in mm.c.
  *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
  * Inputs:
  *   x19: paddr(start)
  *   x20: phys offset
@@ -243,6 +238,16 @@ link_from_second_id:
         create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
 link_from_third_id:
         create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        /* x23: Early UART base physical address */
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
         ret
 
 virtphys_clash:
@@ -402,39 +407,6 @@ identity_mapping_removed:
         ret
 ENDPROC(remove_identity_mapping)
 
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-ENTRY(setup_fixmap)
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /* Fail-stop */
 fail:   PRINT("- Boot failed -\r\n")
 1:      wfe
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583071.913137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9w-0004x8-J9; Mon, 14 Aug 2023 04:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583071.913137; Mon, 14 Aug 2023 04: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 1qVP9w-0004w2-Ex; Mon, 14 Aug 2023 04:26:28 +0000
Received: by outflank-mailman (input) for mailman id 583071;
 Mon, 14 Aug 2023 04:26: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9u-0002FE-L4
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ba5b1476-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26:24 +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 538F52F4;
 Sun, 13 Aug 2023 21:27:06 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 43C703F64C;
 Sun, 13 Aug 2023 21:26: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: ba5b1476-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 07/13] xen/arm: Extract MMU-specific code
Date: Mon, 14 Aug 2023 12:25:30 +0800
Message-Id: <20230814042536.878720-8-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, most of the MMU-specific code is in mm.{c,h}. To make the
mm extendable, this commit extract the MMU-specific code by firstly:
- Create a arch/arm/include/asm/mmu/ subdir.
- Create a arch/arm/mmu/ subdir.

Then move the MMU-specific code to above mmu subdir, which includes
below changes:
- Move arch/arm/arm64/mm.c to arch/arm/arm64/mmu/mm.c
- Move MMU-related declaration in arch/arm/include/asm/mm.h to
  arch/arm/include/asm/mmu/mm.h
- Move the MMU-related declaration dump_pt_walk() in asm/page.h
  and pte_of_xenaddr() in asm/setup.h to the new asm/mmu/mm.h.
- Move MMU-related code in arch/arm/mm.c to arch/arm/mmu/mm.c.

Also modify the build system (Makefiles in this case) to pick above
mentioned code changes.

This patch is a pure code movement, no functional change intended.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
With the code movement of this patch, the descriptions on top of
xen/arch/arm/mm.c and xen/arch/arm/mmu/mm.c might need some changes,
suggestions?
v5:
- Rebase on top of xen/arm: Introduce CONFIG_MMU Kconfig option and
  xen/arm: mm: add missing extern variable declaration
v4:
- Rework "[v3,13/52] xen/mmu: extract mmu-specific codes from
  mm.c/mm.h" with the lastest staging branch, only do the code movement
  in this patch to ease the review.
---
 xen/arch/arm/Makefile             |    1 +
 xen/arch/arm/arm64/Makefile       |    1 -
 xen/arch/arm/arm64/mmu/Makefile   |    1 +
 xen/arch/arm/arm64/{ => mmu}/mm.c |    0
 xen/arch/arm/include/asm/mm.h     |   20 +-
 xen/arch/arm/include/asm/mmu/mm.h |   55 ++
 xen/arch/arm/include/asm/page.h   |   15 -
 xen/arch/arm/include/asm/setup.h  |    3 -
 xen/arch/arm/mm.c                 | 1119 ----------------------------
 xen/arch/arm/mmu/Makefile         |    1 +
 xen/arch/arm/mmu/mm.c             | 1146 +++++++++++++++++++++++++++++
 11 files changed, 1208 insertions(+), 1154 deletions(-)
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (100%)
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/mm.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e9920..548917097c 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
 obj-$(CONFIG_ACPI) += acpi/
+obj-$(CONFIG_MMU) += mmu/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
 obj-y += platforms/
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index f89d5fb4fb..72161ff22e 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -11,7 +11,6 @@ obj-y += entry.o
 obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
-obj-y += mm.o
 obj-y += smc.o
 obj-y += smpboot.o
 obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
index 3340058c08..a8a750a3d0 100644
--- a/xen/arch/arm/arm64/mmu/Makefile
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += head.o
+obj-y += mm.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mmu/mm.c
similarity index 100%
rename from xen/arch/arm/arm64/mm.c
rename to xen/arch/arm/arm64/mmu/mm.c
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index aaacba3f04..dc1458b047 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,6 +14,10 @@
 # error "unknown ARM variant"
 #endif
 
+#ifdef CONFIG_MMU
+#include <asm/mmu/mm.h>
+#endif
+
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -168,13 +172,6 @@ struct page_info
 /* Non-boot CPUs use this to find the correct pagetables. */
 extern uint64_t init_ttbr;
 
-extern mfn_t directmap_mfn_start, directmap_mfn_end;
-extern vaddr_t directmap_virt_end;
-#ifdef CONFIG_ARM_64
-extern vaddr_t directmap_virt_start;
-extern unsigned long directmap_base_pdx;
-#endif
-
 #ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
@@ -197,7 +194,6 @@ extern unsigned long directmap_base_pdx;
 
 #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
 
-#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 /* PDX of the first page in the frame table. */
 extern unsigned long frametable_base_pdx;
 
@@ -207,8 +203,6 @@ extern unsigned long frametable_base_pdx;
 extern void setup_pagetables(unsigned long boot_phys_offset);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
-/* Switch to a new root page-tables */
-extern void switch_ttbr(uint64_t ttbr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
@@ -216,12 +210,6 @@ extern void remove_early_mappings(void);
 extern int init_secondary_pagetables(int cpu);
 /* Switch secondary CPUS to its own pagetables and finalise MMU setup */
 extern void mmu_init_secondary_cpu(void);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
new file mode 100644
index 0000000000..3d9755b7b4
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_MM_H__
+#define __ARM_MMU_MM_H__
+
+extern mfn_t directmap_mfn_start, directmap_mfn_end;
+extern vaddr_t directmap_virt_end;
+#ifdef CONFIG_ARM_64
+extern vaddr_t directmap_virt_start;
+extern unsigned long directmap_base_pdx;
+#endif
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/*
+ * Print a walk of a page table or p2m
+ *
+ * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
+ * addr is the PA or IPA to translate
+ * root_level is the starting level of the page table
+ *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
+ * nr_root_tables is the number of concatenated tables at the root.
+ *   this can only be != 1 for P2M walks starting at the first or
+ *   subsequent level.
+ */
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables);
+
+/* Find where Xen will be residing at runtime and return a PT entry */
+lpae_t pte_of_xenaddr(vaddr_t);
+
+/* Switch to a new root page-tables */
+extern void switch_ttbr(uint64_t ttbr);
+/*
+ * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
+ * For Arm64, map the region in the directmap area.
+ */
+extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
+extern int xen_pt_update(unsigned long virt,
+                         mfn_t mfn,
+                         /* const on purpose as it is used for TLB flush */
+                         const unsigned long nr_mfns,
+                         unsigned int flags);
+
+#endif /* __ARM_MMU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
index 657c4b33db..ac65f0277a 100644
--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -257,21 +257,6 @@ static inline void write_pte(lpae_t *p, lpae_t pte)
 /* Flush the dcache for an entire page. */
 void flush_page_to_ram(unsigned long mfn, bool sync_icache);
 
-/*
- * Print a walk of a page table or p2m
- *
- * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
- * addr is the PA or IPA to translate
- * root_level is the starting level of the page table
- *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
- * nr_root_tables is the number of concatenated tables at the root.
- *   this can only be != 1 for P2M walks starting at the first or
- *   subsequent level.
- */
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables);
-
 /* Print a walk of the hypervisor's page tables for a virtual addr. */
 extern void dump_hyp_walk(vaddr_t addr);
 /* Print a walk of the p2m for a domain for a physical address. */
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..f0f64d228c 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -176,9 +176,6 @@ extern lpae_t boot_first_id[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_second_id[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_third_id[XEN_PT_LPAE_ENTRIES];
 
-/* Find where Xen will be residing at runtime and return a PT entry */
-lpae_t pte_of_xenaddr(vaddr_t);
-
 extern const char __ro_after_init_start[], __ro_after_init_end[];
 
 struct init_info
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index d1e1bc72bd..487c64db0f 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -15,16 +15,12 @@
 #include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/pfn.h>
-#include <xen/pmap.h>
-#include <xen/sched.h>
 #include <xen/sizes.h>
 #include <xen/types.h>
 #include <xen/vmap.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/fixmap.h>
 #include <asm/setup.h>
 
 #include <public/memory.h>
@@ -32,347 +28,12 @@
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
-#undef mfn_to_virt
-#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
-
-#ifdef NDEBUG
-static inline void
-__attribute__ ((__format__ (__printf__, 1, 2)))
-mm_printk(const char *fmt, ...) {}
-#else
-#define mm_printk(fmt, args...)             \
-    do                                      \
-    {                                       \
-        dprintk(XENLOG_ERR, fmt, ## args);  \
-        WARN();                             \
-    } while (0)
-#endif
-
-/* Static start-of-day pagetables that we use before the allocators
- * are up. These are used by all CPUs during bringup before switching
- * to the CPUs own pagetables.
- *
- * These pagetables have a very simple structure. They include:
- *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
- *    and boot_second are used to populate the tables down to boot_third
- *    which contains the actual mapping.
- *  - a 1:1 mapping of xen at its current physical address. This uses a
- *    section mapping at whichever of boot_{pgtable,first,second}
- *    covers that physical address.
- *
- * For the boot CPU these mappings point to the address where Xen was
- * loaded by the bootloader. For secondary CPUs they point to the
- * relocated copy of Xen for the benefit of secondary CPUs.
- *
- * In addition to the above for the boot CPU the device-tree is
- * initially mapped in the boot misc slot. This mapping is not present
- * for secondary CPUs.
- *
- * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
- * by the CPU once it has moved off the 1:1 mapping.
- */
-DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
-#ifdef CONFIG_ARM_64
-DEFINE_BOOT_PAGE_TABLE(boot_first);
-DEFINE_BOOT_PAGE_TABLE(boot_first_id);
-#endif
-DEFINE_BOOT_PAGE_TABLE(boot_second_id);
-DEFINE_BOOT_PAGE_TABLE(boot_third_id);
-DEFINE_BOOT_PAGE_TABLE(boot_second);
-DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
-
-/* Main runtime page tables */
-
-/*
- * For arm32 xen_pgtable are per-PCPU and are allocated before
- * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
- *
- * xen_second, xen_fixmap and xen_xenmap are always shared between all
- * PCPUs.
- */
-
-#ifdef CONFIG_ARM_64
-#define HYP_PT_ROOT_LEVEL 0
-DEFINE_PAGE_TABLE(xen_pgtable);
-static DEFINE_PAGE_TABLE(xen_first);
-#define THIS_CPU_PGTABLE xen_pgtable
-#else
-#define HYP_PT_ROOT_LEVEL 1
-/* Per-CPU pagetable pages */
-/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
-DEFINE_PER_CPU(lpae_t *, xen_pgtable);
-#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
-/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-static DEFINE_PAGE_TABLE(cpu0_pgtable);
-#endif
-
-/* Common pagetable leaves */
-/* Second level page table used to cover Xen virtual address space */
-static DEFINE_PAGE_TABLE(xen_second);
-/* Third level page table used for fixmap */
-DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
-/*
- * Third level page table used to map Xen itself with the XN bit set
- * as appropriate.
- */
-static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
-
-/* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
-
-static paddr_t phys_offset;
-
-/* Limits of the Xen heap */
-mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
-mfn_t directmap_mfn_end __read_mostly;
-vaddr_t directmap_virt_end __read_mostly;
-#ifdef CONFIG_ARM_64
-vaddr_t directmap_virt_start __read_mostly;
-unsigned long directmap_base_pdx __read_mostly;
-#endif
 
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
 
 extern char __init_begin[], __init_end[];
 
-/* Checking VA memory layout alignment. */
-static void __init __maybe_unused build_assertions(void)
-{
-    /* 2MB aligned regions */
-    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
-    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
-    /* 1GB aligned regions */
-#ifdef CONFIG_ARM_32
-    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
-#else
-    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /* Page table structure constraints */
-#ifdef CONFIG_ARM_64
-    /*
-     * The first few slots of the L0 table is reserved for the identity
-     * mapping. Check that none of the other regions are overlapping
-     * with it.
-     */
-#define CHECK_OVERLAP_WITH_IDMAP(virt) \
-    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
-
-    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
-#undef CHECK_OVERLAP_WITH_IDMAP
-#endif
-    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
-#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
-    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /*
-     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
-     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
-     * slot in the page tables.
-     */
-#define CHECK_SAME_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
-
-#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
-
-#ifdef CONFIG_ARM_64
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-#endif
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-
-    /*
-     * For arm32, the temporary mapping will re-use the domheap
-     * first slot and the second slots will match.
-     */
-#ifdef CONFIG_ARM_32
-    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
-    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-#endif
-
-#undef CHECK_SAME_SLOT
-#undef CHECK_DIFFERENT_SLOT
-}
-
-static lpae_t *xen_map_table(mfn_t mfn)
-{
-    /*
-     * During early boot, map_domain_page() may be unusable. Use the
-     * PMAP to map temporarily a page-table.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        return pmap_map(mfn);
-
-    return map_domain_page(mfn);
-}
-
-static void xen_unmap_table(const lpae_t *table)
-{
-    /*
-     * During early boot, xen_map_table() will not use map_domain_page()
-     * but the PMAP.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        pmap_unmap(table);
-    else
-        unmap_domain_page(table);
-}
-
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables)
-{
-    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
-    const mfn_t root_mfn = maddr_to_mfn(ttbr);
-    DECLARE_OFFSETS(offsets, addr);
-    lpae_t pte, *mapping;
-    unsigned int level, root_table;
-
-#ifdef CONFIG_ARM_32
-    BUG_ON(root_level < 1);
-#endif
-    BUG_ON(root_level > 3);
-
-    if ( nr_root_tables > 1 )
-    {
-        /*
-         * Concatenated root-level tables. The table number will be
-         * the offset at the previous level. It is not possible to
-         * concatenate a level-0 root.
-         */
-        BUG_ON(root_level == 0);
-        root_table = offsets[root_level - 1];
-        printk("Using concatenated root table %u\n", root_table);
-        if ( root_table >= nr_root_tables )
-        {
-            printk("Invalid root table offset\n");
-            return;
-        }
-    }
-    else
-        root_table = 0;
-
-    mapping = xen_map_table(mfn_add(root_mfn, root_table));
-
-    for ( level = root_level; ; level++ )
-    {
-        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
-            break;
-
-        pte = mapping[offsets[level]];
-
-        printk("%s[0x%03x] = 0x%"PRIx64"\n",
-               level_strs[level], offsets[level], pte.bits);
-
-        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-            break;
-
-        /* For next iteration */
-        xen_unmap_table(mapping);
-        mapping = xen_map_table(lpae_get_mfn(pte));
-    }
-
-    xen_unmap_table(mapping);
-}
-
-void dump_hyp_walk(vaddr_t addr)
-{
-    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-
-    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
-           "on CPU%d via TTBR 0x%016"PRIx64"\n",
-           addr, smp_processor_id(), ttbr);
-
-    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
-}
-
-lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
-{
-    lpae_t e = (lpae_t) {
-        .pt = {
-            .valid = 1,           /* Mappings are present */
-            .table = 0,           /* Set to 1 for links and 4k maps */
-            .ai = attr,
-            .ns = 1,              /* Hyp mode is in the non-secure world */
-            .up = 1,              /* See below */
-            .ro = 0,              /* Assume read-write */
-            .af = 1,              /* No need for access tracking */
-            .ng = 1,              /* Makes TLB flushes easier */
-            .contig = 0,          /* Assume non-contiguous */
-            .xn = 1,              /* No need to execute outside .text */
-            .avail = 0,           /* Reference count for domheap mapping */
-        }};
-    /*
-     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
-     * regime applies to only one exception level (see D4.4.4 and G4.6.1
-     * in ARM DDI 0487B.a). If this changes, remember to update the
-     * hard-coded values in head.S too.
-     */
-
-    switch ( attr )
-    {
-    case MT_NORMAL_NC:
-        /*
-         * ARM ARM: Overlaying the shareability attribute (DDI
-         * 0406C.b B3-1376 to 1377)
-         *
-         * A memory region with a resultant memory type attribute of Normal,
-         * and a resultant cacheability attribute of Inner Non-cacheable,
-         * Outer Non-cacheable, must have a resultant shareability attribute
-         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    case MT_DEVICE_nGnRnE:
-    case MT_DEVICE_nGnRE:
-        /*
-         * Shareability is ignored for non-Normal memory, Outer is as
-         * good as anything.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for any device memory type.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    default:
-        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
-        break;
-    }
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Map a 4k page in a fixmap entry */
-void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
-{
-    int res;
-
-    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
-    BUG_ON(res != 0);
-}
-
-/* Remove a mapping from a fixmap entry */
-void clear_fixmap(unsigned int map)
-{
-    int res;
-
-    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
-    BUG_ON(res != 0);
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -392,13 +53,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-lpae_t pte_of_xenaddr(vaddr_t va)
-{
-    paddr_t ma = va + phys_offset;
-
-    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
-}
-
 void * __init early_fdt_map(paddr_t fdt_paddr)
 {
     /* We are using 2MB superpage for mapping the FDT */
@@ -452,779 +106,11 @@ void * __init early_fdt_map(paddr_t fdt_paddr)
     return fdt_virt;
 }
 
-void __init remove_early_mappings(void)
-{
-    int rc;
-
-    /* destroy the _PAGE_BLOCK mapping */
-    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
-                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
-                             _PAGE_BLOCK);
-    BUG_ON(rc);
-}
-
-/*
- * After boot, Xen page-tables should not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each CPU to enforce the policy.
- */
-static void xen_pt_enforce_wnx(void)
-{
-    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
-    /*
-     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-     * before flushing the TLBs.
-     */
-    isb();
-    flush_xen_tlb_local();
-}
-
-/* Clear a translation table and clean & invalidate the cache */
-static void clear_table(void *table)
-{
-    clear_page(table);
-    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
-}
-
-/* Boot-time pagetable setup.
- * Changes here may need matching changes in head.S */
-void __init setup_pagetables(unsigned long boot_phys_offset)
-{
-    uint64_t ttbr;
-    lpae_t pte, *p;
-    int i;
-
-    phys_offset = boot_phys_offset;
-
-    arch_setup_page_tables();
-
-#ifdef CONFIG_ARM_64
-    pte = pte_of_xenaddr((uintptr_t)xen_first);
-    pte.pt.table = 1;
-    pte.pt.xn = 0;
-    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
-
-    p = (void *) xen_first;
-#else
-    p = (void *) cpu0_pgtable;
-#endif
-
-    /* Map xen second level page-table */
-    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
-
-    /* Break up the Xen mapping into pages and protect them separately. */
-    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
-
-        if ( !is_kernel(va) )
-            break;
-        pte = pte_of_xenaddr(va);
-        pte.pt.table = 1; /* third level mappings always have this bit set */
-        if ( is_kernel_text(va) || is_kernel_inittext(va) )
-        {
-            pte.pt.xn = 0;
-            pte.pt.ro = 1;
-        }
-        if ( is_kernel_rodata(va) )
-            pte.pt.ro = 1;
-        xen_xenmap[i] = pte;
-    }
-
-    /* Initialise xen second level entries ... */
-    /* ... Xen's text etc */
-    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
-
-        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
-        pte.pt.table = 1;
-        xen_second[second_table_offset(va)] = pte;
-    }
-
-    /* ... Fixmap */
-    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
-    pte.pt.table = 1;
-    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
-
-#ifdef CONFIG_ARM_64
-    ttbr = (uintptr_t) xen_pgtable + phys_offset;
-#else
-    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
-#endif
-
-    switch_ttbr(ttbr);
-
-    xen_pt_enforce_wnx();
-
-#ifdef CONFIG_ARM_32
-    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
-#endif
-}
-
-static void clear_boot_pagetables(void)
-{
-    /*
-     * Clear the copy of the boot pagetables. Each secondary CPU
-     * rebuilds these itself (see head.S).
-     */
-    clear_table(boot_pgtable);
-#ifdef CONFIG_ARM_64
-    clear_table(boot_first);
-    clear_table(boot_first_id);
-#endif
-    clear_table(boot_second);
-    clear_table(boot_third);
-}
-
-#ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
-{
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
-     * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
-    return 0;
-}
-#else
-int init_secondary_pagetables(int cpu)
-{
-    lpae_t *first;
-
-    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
-
-    if ( !first )
-    {
-        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
-        return -ENOMEM;
-    }
-
-    /* Initialise root pagetable from root of boot tables */
-    memcpy(first, cpu0_pgtable, PAGE_SIZE);
-    per_cpu(xen_pgtable, cpu) = first;
-
-    if ( !init_domheap_mappings(cpu) )
-    {
-        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
-        per_cpu(xen_pgtable, cpu) = NULL;
-        free_xenheap_page(first);
-        return -ENOMEM;
-    }
-
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
-
-    return 0;
-}
-#endif
-
-/* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
-{
-    xen_pt_enforce_wnx();
-}
-
-#ifdef CONFIG_ARM_32
-/*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
- */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-
-    /* Record where the directmap is, for translation routines. */
-    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
-}
-#else /* CONFIG_ARM_64 */
-/* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    /* First call sets the directmap physical and virtual offset. */
-    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
-    {
-        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
-
-        directmap_mfn_start = _mfn(base_mfn);
-        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
-        /*
-         * The base address may not be aligned to the first level
-         * size (e.g. 1GB when using 4KB pages). This would prevent
-         * superpage mappings for all the regions because the virtual
-         * address and machine address should both be suitably aligned.
-         *
-         * Prevent that by offsetting the start of the directmap virtual
-         * address.
-         */
-        directmap_virt_start = DIRECTMAP_VIRT_START +
-            (base_mfn - mfn_gb) * PAGE_SIZE;
-    }
-
-    if ( base_mfn < mfn_x(directmap_mfn_start) )
-        panic("cannot add directmap mapping at %lx below heap start %lx\n",
-              base_mfn, mfn_x(directmap_mfn_start));
-
-    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
-                          _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-}
-#endif
-
-/* Map a frame table to cover physical addresses ps through pe */
-void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
-{
-    unsigned long nr_pdxs = mfn_to_pdx(mfn_add(maddr_to_mfn(pe), -1)) -
-                            mfn_to_pdx(maddr_to_mfn(ps)) + 1;
-    unsigned long frametable_size = nr_pdxs * sizeof(struct page_info);
-    mfn_t base_mfn;
-    const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
-    int rc;
-
-    /*
-     * The size of paddr_t should be sufficient for the complete range of
-     * physical address.
-     */
-    BUILD_BUG_ON((sizeof(paddr_t) * BITS_PER_BYTE) < PADDR_BITS);
-    BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
-
-    if ( frametable_size > FRAMETABLE_SIZE )
-        panic("The frametable cannot cover the physical region %#"PRIpaddr" - %#"PRIpaddr"\n",
-              ps, pe);
-
-    frametable_base_pdx = mfn_to_pdx(maddr_to_mfn(ps));
-    /* Round up to 2M or 32M boundary, as appropriate. */
-    frametable_size = ROUNDUP(frametable_size, mapping_size);
-    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
-
-    rc = map_pages_to_xen(FRAMETABLE_VIRT_START, base_mfn,
-                          frametable_size >> PAGE_SHIFT,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the frametable mappings.\n");
-
-    memset(&frame_table[0], 0, nr_pdxs * sizeof(struct page_info));
-    memset(&frame_table[nr_pdxs], -1,
-           frametable_size - (nr_pdxs * sizeof(struct page_info)));
-
-    frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
-}
-
-void *__init arch_vmap_virt_end(void)
-{
-    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
-}
-
-/*
- * This function should only be used to remap device address ranges
- * TODO: add a check to verify this assumption
- */
-void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
-{
-    mfn_t mfn = _mfn(PFN_DOWN(start));
-    unsigned int offs = start & (PAGE_SIZE - 1);
-    unsigned int nr = PFN_UP(offs + len);
-    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
-
-    if ( ptr == NULL )
-        return NULL;
-
-    return ptr + offs;
-}
-
 void *ioremap(paddr_t pa, size_t len)
 {
     return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
 }
 
-static int create_xen_table(lpae_t *entry)
-{
-    mfn_t mfn;
-    void *p;
-    lpae_t pte;
-
-    if ( system_state != SYS_STATE_early_boot )
-    {
-        struct page_info *pg = alloc_domheap_page(NULL, 0);
-
-        if ( pg == NULL )
-            return -ENOMEM;
-
-        mfn = page_to_mfn(pg);
-    }
-    else
-        mfn = alloc_boot_pages(1, 1);
-
-    p = xen_map_table(mfn);
-    clear_page(p);
-    xen_unmap_table(p);
-
-    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
-    pte.pt.table = 1;
-    write_pte(entry, pte);
-    /*
-     * No ISB here. It is deferred to xen_pt_update() as the new table
-     * will not be used for hardware translation table access as part of
-     * the mapping update.
-     */
-
-    return 0;
-}
-
-#define XEN_TABLE_MAP_FAILED 0
-#define XEN_TABLE_SUPER_PAGE 1
-#define XEN_TABLE_NORMAL_PAGE 2
-
-/*
- * Take the currently mapped table, find the corresponding entry,
- * and map the next table, if available.
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
- *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int xen_pt_next_level(bool read_only, unsigned int level,
-                             lpae_t **table, unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !lpae_is_valid(*entry) )
-    {
-        if ( read_only )
-            return XEN_TABLE_MAP_FAILED;
-
-        ret = create_xen_table(entry);
-        if ( ret )
-            return XEN_TABLE_MAP_FAILED;
-    }
-
-    /* The function xen_pt_next_level is never called at the 3rd level */
-    if ( lpae_is_mapping(*entry, level) )
-        return XEN_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    xen_unmap_table(*table);
-    *table = xen_map_table(mfn);
-
-    return XEN_TABLE_NORMAL_PAGE;
-}
-
-/* Sanity check of the entry */
-static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
-                               unsigned int flags)
-{
-    /* Sanity check when modifying an entry. */
-    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
-    {
-        /* We don't allow modifying an invalid entry. */
-        if ( !lpae_is_valid(entry) )
-        {
-            mm_printk("Modifying invalid entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow modifying a table entry */
-        if ( !lpae_is_mapping(entry, level) )
-        {
-            mm_printk("Modifying a table entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow changing memory attributes. */
-        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
-        {
-            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
-                      entry.pt.ai, PAGE_AI_MASK(flags));
-            return false;
-        }
-
-        /* We don't allow modifying entry with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when inserting a mapping */
-    else if ( flags & _PAGE_PRESENT )
-    {
-        /* We should be here with a valid MFN. */
-        ASSERT(!mfn_eq(mfn, INVALID_MFN));
-
-        /*
-         * We don't allow replacing any valid entry.
-         *
-         * Note that the function xen_pt_update() relies on this
-         * assumption and will skip the TLB flush. The function will need
-         * to be updated if the check is relaxed.
-         */
-        if ( lpae_is_valid(entry) )
-        {
-            if ( lpae_is_mapping(entry, level) )
-                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
-                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
-            else
-                mm_printk("Trying to replace a table with a mapping.\n");
-            return false;
-        }
-    }
-    /* Sanity check when removing a mapping. */
-    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
-    {
-        /* We should be here with an invalid MFN. */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-
-        /* We don't allow removing a table */
-        if ( lpae_is_table(entry, level) )
-        {
-            mm_printk("Removing a table is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow removing a mapping with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when populating the page-table. No check so far. */
-    else
-    {
-        ASSERT(flags & _PAGE_POPULATE);
-        /* We should be here with an invalid MFN */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-    }
-
-    return true;
-}
-
-/* Update an entry at the level @target. */
-static int xen_pt_update_entry(mfn_t root, unsigned long virt,
-                               mfn_t mfn, unsigned int target,
-                               unsigned int flags)
-{
-    int rc;
-    unsigned int level;
-    lpae_t *table;
-    /*
-     * The intermediate page tables are read-only when the MFN is not valid
-     * and we are not populating page table.
-     * This means we either modify permissions or remove an entry.
-     */
-    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
-    lpae_t pte, *entry;
-
-    /* convenience aliases */
-    DECLARE_OFFSETS(offsets, (paddr_t)virt);
-
-    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
-    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
-
-    table = xen_map_table(root);
-    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
-    {
-        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
-        if ( rc == XEN_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because xen_pt_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and the pt is read-only). It is a valid case when
-             * removing a mapping as it may not exist in the page table.
-             * In this case, just ignore it.
-             */
-            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
-            {
-                mm_printk("%s: Unable to map level %u\n", __func__, level);
-                rc = -ENOENT;
-                goto out;
-            }
-            else
-            {
-                rc = 0;
-                goto out;
-            }
-        }
-        else if ( rc != XEN_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    if ( level != target )
-    {
-        mm_printk("%s: Shattering superpage is not supported\n", __func__);
-        rc = -EOPNOTSUPP;
-        goto out;
-    }
-
-    entry = table + offsets[level];
-
-    rc = -EINVAL;
-    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
-        goto out;
-
-    /* If we are only populating page-table, then we are done. */
-    rc = 0;
-    if ( flags & _PAGE_POPULATE )
-        goto out;
-
-    /* We are removing the page */
-    if ( !(flags & _PAGE_PRESENT) )
-        memset(&pte, 0x00, sizeof(pte));
-    else
-    {
-        /* We are inserting a mapping => Create new pte. */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
-
-            /*
-             * First and second level pages set pte.pt.table = 0, but
-             * third level entries set pte.pt.table = 1.
-             */
-            pte.pt.table = (level == 3);
-        }
-        else /* We are updating the permission => Copy the current pte. */
-            pte = *entry;
-
-        /* Set permission */
-        pte.pt.ro = PAGE_RO_MASK(flags);
-        pte.pt.xn = PAGE_XN_MASK(flags);
-        /* Set contiguous bit */
-        pte.pt.contig = !!(flags & _PAGE_CONTIG);
-    }
-
-    write_pte(entry, pte);
-    /*
-     * No ISB or TLB flush here. They are deferred to xen_pt_update()
-     * as the entry will not be used as part of the mapping update.
-     */
-
-    rc = 0;
-
-out:
-    xen_unmap_table(table);
-
-    return rc;
-}
-
-/* Return the level where mapping should be done */
-static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
-                                unsigned int flags)
-{
-    unsigned int level;
-    unsigned long mask;
-
-    /*
-      * Don't take into account the MFN when removing mapping (i.e
-      * MFN_INVALID) to calculate the correct target order.
-      *
-      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
-      * They are or-ed together and then checked against the size of
-      * each level.
-      *
-      * `left` is not included and checked separately to allow
-      * superpage mapping even if it is not properly aligned (the
-      * user may have asked to map 2MB + 4k).
-      */
-     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
-     mask |= vfn;
-
-     /*
-      * Always use level 3 mapping unless the caller request block
-      * mapping.
-      */
-     if ( likely(!(flags & _PAGE_BLOCK)) )
-         level = 3;
-     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
-               (nr >= BIT(FIRST_ORDER, UL)) )
-         level = 1;
-     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
-               (nr >= BIT(SECOND_ORDER, UL)) )
-         level = 2;
-     else
-         level = 3;
-
-     return level;
-}
-
-#define XEN_PT_4K_NR_CONTIG 16
-
-/*
- * Check whether the contiguous bit can be set. Return the number of
- * contiguous entry allowed. If not allowed, return 1.
- */
-static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
-                                        unsigned int level, unsigned long left,
-                                        unsigned int flags)
-{
-    unsigned long nr_contig;
-
-    /*
-     * Allow the contiguous bit to set when the caller requests block
-     * mapping.
-     */
-    if ( !(flags & _PAGE_BLOCK) )
-        return 1;
-
-    /*
-     * We don't allow to remove mapping with the contiguous bit set.
-     * So shortcut the logic and directly return 1.
-     */
-    if ( mfn_eq(mfn, INVALID_MFN) )
-        return 1;
-
-    /*
-     * The number of contiguous entries varies depending on the page
-     * granularity used. The logic below assumes 4KB.
-     */
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    /*
-     * In order to enable the contiguous bit, we should have enough entries
-     * to map left and both the virtual and physical address should be
-     * aligned to the size of 16 translation tables entries.
-     */
-    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
-
-    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
-        return 1;
-
-    return XEN_PT_4K_NR_CONTIG;
-}
-
-static DEFINE_SPINLOCK(xen_pt_lock);
-
-static int xen_pt_update(unsigned long virt,
-                         mfn_t mfn,
-                         /* const on purpose as it is used for TLB flush */
-                         const unsigned long nr_mfns,
-                         unsigned int flags)
-{
-    int rc = 0;
-    unsigned long vfn = virt >> PAGE_SHIFT;
-    unsigned long left = nr_mfns;
-
-    /*
-     * For arm32, page-tables are different on each CPUs. Yet, they share
-     * some common mappings. It is assumed that only common mappings
-     * will be modified with this function.
-     *
-     * XXX: Add a check.
-     */
-    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
-
-    /*
-     * The hardware was configured to forbid mapping both writeable and
-     * executable.
-     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
-     * prevent any update if this happen.
-     */
-    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
-         !PAGE_XN_MASK(flags) )
-    {
-        mm_printk("Mappings should not be both Writeable and Executable.\n");
-        return -EINVAL;
-    }
-
-    if ( flags & _PAGE_CONTIG )
-    {
-        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
-        return -EINVAL;
-    }
-
-    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
-    {
-        mm_printk("The virtual address is not aligned to the page-size.\n");
-        return -EINVAL;
-    }
-
-    spin_lock(&xen_pt_lock);
-
-    while ( left )
-    {
-        unsigned int order, level, nr_contig, new_flags;
-
-        level = xen_pt_mapping_level(vfn, mfn, left, flags);
-        order = XEN_PT_LEVEL_ORDER(level);
-
-        ASSERT(left >= BIT(order, UL));
-
-        /*
-         * Check if we can set the contiguous mapping and update the
-         * flags accordingly.
-         */
-        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
-        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
-
-        for ( ; nr_contig > 0; nr_contig-- )
-        {
-            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
-                                     new_flags);
-            if ( rc )
-                break;
-
-            vfn += 1U << order;
-            if ( !mfn_eq(mfn, INVALID_MFN) )
-                mfn = mfn_add(mfn, 1U << order);
-
-            left -= (1U << order);
-        }
-
-        if ( rc )
-            break;
-    }
-
-    /*
-     * The TLBs flush can be safely skipped when a mapping is inserted
-     * as we don't allow mapping replacement (see xen_pt_check_entry()).
-     * Although we still need an ISB to ensure any DSB in
-     * write_pte() will complete because the mapping may be used soon
-     * after.
-     *
-     * For all the other cases, the TLBs will be flushed unconditionally
-     * even if the mapping has failed. This is because we may have
-     * partially modified the PT. This will prevent any unexpected
-     * behavior afterwards.
-     */
-    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
-        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
-    else
-        isb();
-
-    spin_unlock(&xen_pt_lock);
-
-    return rc;
-}
-
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
@@ -1233,11 +119,6 @@ int map_pages_to_xen(unsigned long virt,
     return xen_pt_update(virt, mfn, nr_mfns, flags);
 }
 
-int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
-{
-    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
-}
-
 int destroy_xen_mappings(unsigned long s, unsigned long e)
 {
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
new file mode 100644
index 0000000000..b18cec4836
--- /dev/null
+++ b/xen/arch/arm/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
new file mode 100644
index 0000000000..b70982e9d6
--- /dev/null
+++ b/xen/arch/arm/mmu/mm.c
@@ -0,0 +1,1146 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/mm.c
+ *
+ * MMU code for an ARMv7-A with virt extensions.
+ *
+ */
+
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/pmap.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
+#include <xen/types.h>
+#include <xen/vmap.h>
+
+#include <asm/fixmap.h>
+#include <asm/setup.h>
+
+/* Override macros from asm/page.h to make them work with mfn_t */
+#undef mfn_to_virt
+#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
+
+#ifdef NDEBUG
+static inline void
+__attribute__ ((__format__ (__printf__, 1, 2)))
+mm_printk(const char *fmt, ...) {}
+#else
+#define mm_printk(fmt, args...)             \
+    do                                      \
+    {                                       \
+        dprintk(XENLOG_ERR, fmt, ## args);  \
+        WARN();                             \
+    } while (0)
+#endif
+
+/* Static start-of-day pagetables that we use before the allocators
+ * are up. These are used by all CPUs during bringup before switching
+ * to the CPUs own pagetables.
+ *
+ * These pagetables have a very simple structure. They include:
+ *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
+ *    and boot_second are used to populate the tables down to boot_third
+ *    which contains the actual mapping.
+ *  - a 1:1 mapping of xen at its current physical address. This uses a
+ *    section mapping at whichever of boot_{pgtable,first,second}
+ *    covers that physical address.
+ *
+ * For the boot CPU these mappings point to the address where Xen was
+ * loaded by the bootloader. For secondary CPUs they point to the
+ * relocated copy of Xen for the benefit of secondary CPUs.
+ *
+ * In addition to the above for the boot CPU the device-tree is
+ * initially mapped in the boot misc slot. This mapping is not present
+ * for secondary CPUs.
+ *
+ * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
+ * by the CPU once it has moved off the 1:1 mapping.
+ */
+DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+#ifdef CONFIG_ARM_64
+DEFINE_BOOT_PAGE_TABLE(boot_first);
+DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+DEFINE_BOOT_PAGE_TABLE(boot_second);
+DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
+
+/* Main runtime page tables */
+
+/*
+ * For arm32 xen_pgtable are per-PCPU and are allocated before
+ * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
+ *
+ * xen_second, xen_fixmap and xen_xenmap are always shared between all
+ * PCPUs.
+ */
+
+#ifdef CONFIG_ARM_64
+#define HYP_PT_ROOT_LEVEL 0
+DEFINE_PAGE_TABLE(xen_pgtable);
+static DEFINE_PAGE_TABLE(xen_first);
+#define THIS_CPU_PGTABLE xen_pgtable
+#else
+#define HYP_PT_ROOT_LEVEL 1
+/* Per-CPU pagetable pages */
+/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
+DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
+/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
+static DEFINE_PAGE_TABLE(cpu0_pgtable);
+#endif
+
+/* Common pagetable leaves */
+/* Second level page table used to cover Xen virtual address space */
+static DEFINE_PAGE_TABLE(xen_second);
+/* Third level page table used for fixmap */
+DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
+/*
+ * Third level page table used to map Xen itself with the XN bit set
+ * as appropriate.
+ */
+static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
+
+/* Non-boot CPUs use this to find the correct pagetables. */
+uint64_t init_ttbr;
+
+static paddr_t phys_offset;
+
+/* Limits of the Xen heap */
+mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
+mfn_t directmap_mfn_end __read_mostly;
+vaddr_t directmap_virt_end __read_mostly;
+#ifdef CONFIG_ARM_64
+vaddr_t directmap_virt_start __read_mostly;
+unsigned long directmap_base_pdx __read_mostly;
+#endif
+
+/* Checking VA memory layout alignment. */
+static void __init __maybe_unused build_assertions(void)
+{
+    /* 2MB aligned regions */
+    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
+    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
+    /* 1GB aligned regions */
+#ifdef CONFIG_ARM_32
+    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#else
+    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /* Page table structure constraints */
+#ifdef CONFIG_ARM_64
+    /*
+     * The first few slots of the L0 table is reserved for the identity
+     * mapping. Check that none of the other regions are overlapping
+     * with it.
+     */
+#define CHECK_OVERLAP_WITH_IDMAP(virt) \
+    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
+
+    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
+#undef CHECK_OVERLAP_WITH_IDMAP
+#endif
+    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
+    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /*
+     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
+     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
+     * slot in the page tables.
+     */
+#define CHECK_SAME_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
+
+#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
+
+#ifdef CONFIG_ARM_64
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+#endif
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+
+    /*
+     * For arm32, the temporary mapping will re-use the domheap
+     * first slot and the second slots will match.
+     */
+#ifdef CONFIG_ARM_32
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
+    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+#endif
+
+#undef CHECK_SAME_SLOT
+#undef CHECK_DIFFERENT_SLOT
+}
+
+static lpae_t *xen_map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void xen_unmap_table(const lpae_t *table)
+{
+    /*
+     * During early boot, xen_map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables)
+{
+    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
+    const mfn_t root_mfn = maddr_to_mfn(ttbr);
+    DECLARE_OFFSETS(offsets, addr);
+    lpae_t pte, *mapping;
+    unsigned int level, root_table;
+
+#ifdef CONFIG_ARM_32
+    BUG_ON(root_level < 1);
+#endif
+    BUG_ON(root_level > 3);
+
+    if ( nr_root_tables > 1 )
+    {
+        /*
+         * Concatenated root-level tables. The table number will be
+         * the offset at the previous level. It is not possible to
+         * concatenate a level-0 root.
+         */
+        BUG_ON(root_level == 0);
+        root_table = offsets[root_level - 1];
+        printk("Using concatenated root table %u\n", root_table);
+        if ( root_table >= nr_root_tables )
+        {
+            printk("Invalid root table offset\n");
+            return;
+        }
+    }
+    else
+        root_table = 0;
+
+    mapping = xen_map_table(mfn_add(root_mfn, root_table));
+
+    for ( level = root_level; ; level++ )
+    {
+        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
+            break;
+
+        pte = mapping[offsets[level]];
+
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
+               level_strs[level], offsets[level], pte.bits);
+
+        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
+            break;
+
+        /* For next iteration */
+        xen_unmap_table(mapping);
+        mapping = xen_map_table(lpae_get_mfn(pte));
+    }
+
+    xen_unmap_table(mapping);
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
+
+    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
+           "on CPU%d via TTBR 0x%016"PRIx64"\n",
+           addr, smp_processor_id(), ttbr);
+
+    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
+}
+
+lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
+{
+    lpae_t e = (lpae_t) {
+        .pt = {
+            .valid = 1,           /* Mappings are present */
+            .table = 0,           /* Set to 1 for links and 4k maps */
+            .ai = attr,
+            .ns = 1,              /* Hyp mode is in the non-secure world */
+            .up = 1,              /* See below */
+            .ro = 0,              /* Assume read-write */
+            .af = 1,              /* No need for access tracking */
+            .ng = 1,              /* Makes TLB flushes easier */
+            .contig = 0,          /* Assume non-contiguous */
+            .xn = 1,              /* No need to execute outside .text */
+            .avail = 0,           /* Reference count for domheap mapping */
+        }};
+    /*
+     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
+     * regime applies to only one exception level (see D4.4.4 and G4.6.1
+     * in ARM DDI 0487B.a). If this changes, remember to update the
+     * hard-coded values in head.S too.
+     */
+
+    switch ( attr )
+    {
+    case MT_NORMAL_NC:
+        /*
+         * ARM ARM: Overlaying the shareability attribute (DDI
+         * 0406C.b B3-1376 to 1377)
+         *
+         * A memory region with a resultant memory type attribute of Normal,
+         * and a resultant cacheability attribute of Inner Non-cacheable,
+         * Outer Non-cacheable, must have a resultant shareability attribute
+         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    case MT_DEVICE_nGnRnE:
+    case MT_DEVICE_nGnRE:
+        /*
+         * Shareability is ignored for non-Normal memory, Outer is as
+         * good as anything.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for any device memory type.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    default:
+        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
+        break;
+    }
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Map a 4k page in a fixmap entry */
+void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
+{
+    int res;
+
+    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
+    BUG_ON(res != 0);
+}
+
+/* Remove a mapping from a fixmap entry */
+void clear_fixmap(unsigned int map)
+{
+    int res;
+
+    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
+    BUG_ON(res != 0);
+}
+
+lpae_t pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+
+    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
+}
+
+void __init remove_early_mappings(void)
+{
+    int rc;
+
+    /* destroy the _PAGE_BLOCK mapping */
+    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
+                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
+                             _PAGE_BLOCK);
+    BUG_ON(rc);
+}
+
+/*
+ * After boot, Xen page-tables should not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each CPU to enforce the policy.
+ */
+static void xen_pt_enforce_wnx(void)
+{
+    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
+    /*
+     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+     * before flushing the TLBs.
+     */
+    isb();
+    flush_xen_tlb_local();
+}
+
+/* Clear a translation table and clean & invalidate the cache */
+static void clear_table(void *table)
+{
+    clear_page(table);
+    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
+}
+
+/* Boot-time pagetable setup.
+ * Changes here may need matching changes in head.S */
+void __init setup_pagetables(unsigned long boot_phys_offset)
+{
+    uint64_t ttbr;
+    lpae_t pte, *p;
+    int i;
+
+    phys_offset = boot_phys_offset;
+
+    arch_setup_page_tables();
+
+#ifdef CONFIG_ARM_64
+    pte = pte_of_xenaddr((uintptr_t)xen_first);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
+
+    p = (void *) xen_first;
+#else
+    p = (void *) cpu0_pgtable;
+#endif
+
+    /* Map xen second level page-table */
+    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
+    p[0].pt.table = 1;
+    p[0].pt.xn = 0;
+
+    /* Break up the Xen mapping into pages and protect them separately. */
+    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
+
+        if ( !is_kernel(va) )
+            break;
+        pte = pte_of_xenaddr(va);
+        pte.pt.table = 1; /* third level mappings always have this bit set */
+        if ( is_kernel_text(va) || is_kernel_inittext(va) )
+        {
+            pte.pt.xn = 0;
+            pte.pt.ro = 1;
+        }
+        if ( is_kernel_rodata(va) )
+            pte.pt.ro = 1;
+        xen_xenmap[i] = pte;
+    }
+
+    /* Initialise xen second level entries ... */
+    /* ... Xen's text etc */
+    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
+
+        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
+        pte.pt.table = 1;
+        xen_second[second_table_offset(va)] = pte;
+    }
+
+    /* ... Fixmap */
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
+    pte.pt.table = 1;
+    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
+
+#ifdef CONFIG_ARM_64
+    ttbr = (uintptr_t) xen_pgtable + phys_offset;
+#else
+    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
+#endif
+
+    switch_ttbr(ttbr);
+
+    xen_pt_enforce_wnx();
+
+#ifdef CONFIG_ARM_32
+    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
+#endif
+}
+
+static void clear_boot_pagetables(void)
+{
+    /*
+     * Clear the copy of the boot pagetables. Each secondary CPU
+     * rebuilds these itself (see head.S).
+     */
+    clear_table(boot_pgtable);
+#ifdef CONFIG_ARM_64
+    clear_table(boot_first);
+    clear_table(boot_first_id);
+#endif
+    clear_table(boot_second);
+    clear_table(boot_third);
+}
+
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
+     * pagetables, but rewrite it each time for consistency with 32 bit. */
+    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
+    clean_dcache(init_ttbr);
+    return 0;
+}
+#else
+int init_secondary_pagetables(int cpu)
+{
+    lpae_t *first;
+
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
+
+    if ( !first )
+    {
+        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
+        return -ENOMEM;
+    }
+
+    /* Initialise root pagetable from root of boot tables */
+    memcpy(first, cpu0_pgtable, PAGE_SIZE);
+    per_cpu(xen_pgtable, cpu) = first;
+
+    if ( !init_domheap_mappings(cpu) )
+    {
+        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
+        per_cpu(xen_pgtable, cpu) = NULL;
+        free_xenheap_page(first);
+        return -ENOMEM;
+    }
+
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up */
+    init_ttbr = __pa(first);
+    clean_dcache(init_ttbr);
+
+    return 0;
+}
+#endif
+
+/* MMU setup for secondary CPUS (which already have paging enabled) */
+void mmu_init_secondary_cpu(void)
+{
+    xen_pt_enforce_wnx();
+}
+
+#ifdef CONFIG_ARM_32
+/*
+ * Set up the direct-mapped xenheap:
+ * up to 1GB of contiguous, always-mapped memory.
+ */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+
+    /* Record where the directmap is, for translation routines. */
+    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
+}
+#else /* CONFIG_ARM_64 */
+/* Map the region in the directmap area. */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    /* First call sets the directmap physical and virtual offset. */
+    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
+    {
+        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
+
+        directmap_mfn_start = _mfn(base_mfn);
+        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
+        /*
+         * The base address may not be aligned to the first level
+         * size (e.g. 1GB when using 4KB pages). This would prevent
+         * superpage mappings for all the regions because the virtual
+         * address and machine address should both be suitably aligned.
+         *
+         * Prevent that by offsetting the start of the directmap virtual
+         * address.
+         */
+        directmap_virt_start = DIRECTMAP_VIRT_START +
+            (base_mfn - mfn_gb) * PAGE_SIZE;
+    }
+
+    if ( base_mfn < mfn_x(directmap_mfn_start) )
+        panic("cannot add directmap mapping at %lx below heap start %lx\n",
+              base_mfn, mfn_x(directmap_mfn_start));
+
+    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
+                          _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+}
+#endif
+
+/* Map a frame table to cover physical addresses ps through pe */
+void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
+{
+    unsigned long nr_pdxs = mfn_to_pdx(mfn_add(maddr_to_mfn(pe), -1)) -
+                            mfn_to_pdx(maddr_to_mfn(ps)) + 1;
+    unsigned long frametable_size = nr_pdxs * sizeof(struct page_info);
+    mfn_t base_mfn;
+    const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
+    int rc;
+
+    /*
+     * The size of paddr_t should be sufficient for the complete range of
+     * physical address.
+     */
+    BUILD_BUG_ON((sizeof(paddr_t) * BITS_PER_BYTE) < PADDR_BITS);
+    BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
+
+    if ( frametable_size > FRAMETABLE_SIZE )
+        panic("The frametable cannot cover the physical region %#"PRIpaddr" - %#"PRIpaddr"\n",
+              ps, pe);
+
+    frametable_base_pdx = mfn_to_pdx(maddr_to_mfn(ps));
+    /* Round up to 2M or 32M boundary, as appropriate. */
+    frametable_size = ROUNDUP(frametable_size, mapping_size);
+    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
+
+    rc = map_pages_to_xen(FRAMETABLE_VIRT_START, base_mfn,
+                          frametable_size >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the frametable mappings.\n");
+
+    memset(&frame_table[0], 0, nr_pdxs * sizeof(struct page_info));
+    memset(&frame_table[nr_pdxs], -1,
+           frametable_size - (nr_pdxs * sizeof(struct page_info)));
+
+    frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
+}
+
+void *__init arch_vmap_virt_end(void)
+{
+    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
+}
+
+/*
+ * This function should only be used to remap device address ranges
+ * TODO: add a check to verify this assumption
+ */
+void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
+{
+    mfn_t mfn = _mfn(PFN_DOWN(start));
+    unsigned int offs = start & (PAGE_SIZE - 1);
+    unsigned int nr = PFN_UP(offs + len);
+    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
+
+    if ( ptr == NULL )
+        return NULL;
+
+    return ptr + offs;
+}
+
+static int create_xen_table(lpae_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    lpae_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = xen_map_table(mfn);
+    clear_page(p);
+    xen_unmap_table(p);
+
+    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
+    pte.pt.table = 1;
+    write_pte(entry, pte);
+    /*
+     * No ISB here. It is deferred to xen_pt_update() as the new table
+     * will not be used for hardware translation table access as part of
+     * the mapping update.
+     */
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL_PAGE 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int xen_pt_next_level(bool read_only, unsigned int level,
+                             lpae_t **table, unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !lpae_is_valid(*entry) )
+    {
+        if ( read_only )
+            return XEN_TABLE_MAP_FAILED;
+
+        ret = create_xen_table(entry);
+        if ( ret )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    /* The function xen_pt_next_level is never called at the 3rd level */
+    if ( lpae_is_mapping(*entry, level) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    xen_unmap_table(*table);
+    *table = xen_map_table(mfn);
+
+    return XEN_TABLE_NORMAL_PAGE;
+}
+
+/* Sanity check of the entry */
+static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
+                               unsigned int flags)
+{
+    /* Sanity check when modifying an entry. */
+    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !lpae_is_valid(entry) )
+        {
+            mm_printk("Modifying invalid entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( !lpae_is_mapping(entry, level) )
+        {
+            mm_printk("Modifying a table entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow changing memory attributes. */
+        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
+        {
+            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
+                      entry.pt.ai, PAGE_AI_MASK(flags));
+            return false;
+        }
+
+        /* We don't allow modifying entry with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & _PAGE_PRESENT )
+    {
+        /* We should be here with a valid MFN. */
+        ASSERT(!mfn_eq(mfn, INVALID_MFN));
+
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function xen_pt_update() relies on this
+         * assumption and will skip the TLB flush. The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( lpae_is_valid(entry) )
+        {
+            if ( lpae_is_mapping(entry, level) )
+                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
+                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
+            else
+                mm_printk("Trying to replace a table with a mapping.\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( lpae_is_table(entry, level) )
+        {
+            mm_printk("Removing a table is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow removing a mapping with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        ASSERT(flags & _PAGE_POPULATE);
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+/* Update an entry at the level @target. */
+static int xen_pt_update_entry(mfn_t root, unsigned long virt,
+                               mfn_t mfn, unsigned int target,
+                               unsigned int flags)
+{
+    int rc;
+    unsigned int level;
+    lpae_t *table;
+    /*
+     * The intermediate page tables are read-only when the MFN is not valid
+     * and we are not populating page table.
+     * This means we either modify permissions or remove an entry.
+     */
+    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
+    lpae_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, (paddr_t)virt);
+
+    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
+    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
+
+    table = xen_map_table(root);
+    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
+    {
+        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because xen_pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt is read-only). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
+            {
+                mm_printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOENT;
+                goto out;
+            }
+            else
+            {
+                rc = 0;
+                goto out;
+            }
+        }
+        else if ( rc != XEN_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    if ( level != target )
+    {
+        mm_printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
+        goto out;
+
+    /* If we are only populating page-table, then we are done. */
+    rc = 0;
+    if ( flags & _PAGE_POPULATE )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & _PAGE_PRESENT) )
+        memset(&pte, 0x00, sizeof(pte));
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
+
+            /*
+             * First and second level pages set pte.pt.table = 0, but
+             * third level entries set pte.pt.table = 1.
+             */
+            pte.pt.table = (level == 3);
+        }
+        else /* We are updating the permission => Copy the current pte. */
+            pte = *entry;
+
+        /* Set permission */
+        pte.pt.ro = PAGE_RO_MASK(flags);
+        pte.pt.xn = PAGE_XN_MASK(flags);
+        /* Set contiguous bit */
+        pte.pt.contig = !!(flags & _PAGE_CONTIG);
+    }
+
+    write_pte(entry, pte);
+    /*
+     * No ISB or TLB flush here. They are deferred to xen_pt_update()
+     * as the entry will not be used as part of the mapping update.
+     */
+
+    rc = 0;
+
+out:
+    xen_unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                                unsigned int flags)
+{
+    unsigned int level;
+    unsigned long mask;
+
+    /*
+      * Don't take into account the MFN when removing mapping (i.e
+      * MFN_INVALID) to calculate the correct target order.
+      *
+      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
+      * They are or-ed together and then checked against the size of
+      * each level.
+      *
+      * `left` is not included and checked separately to allow
+      * superpage mapping even if it is not properly aligned (the
+      * user may have asked to map 2MB + 4k).
+      */
+     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+     mask |= vfn;
+
+     /*
+      * Always use level 3 mapping unless the caller request block
+      * mapping.
+      */
+     if ( likely(!(flags & _PAGE_BLOCK)) )
+         level = 3;
+     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
+               (nr >= BIT(FIRST_ORDER, UL)) )
+         level = 1;
+     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
+               (nr >= BIT(SECOND_ORDER, UL)) )
+         level = 2;
+     else
+         level = 3;
+
+     return level;
+}
+
+#define XEN_PT_4K_NR_CONTIG 16
+
+/*
+ * Check whether the contiguous bit can be set. Return the number of
+ * contiguous entry allowed. If not allowed, return 1.
+ */
+static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
+                                        unsigned int level, unsigned long left,
+                                        unsigned int flags)
+{
+    unsigned long nr_contig;
+
+    /*
+     * Allow the contiguous bit to set when the caller requests block
+     * mapping.
+     */
+    if ( !(flags & _PAGE_BLOCK) )
+        return 1;
+
+    /*
+     * We don't allow to remove mapping with the contiguous bit set.
+     * So shortcut the logic and directly return 1.
+     */
+    if ( mfn_eq(mfn, INVALID_MFN) )
+        return 1;
+
+    /*
+     * The number of contiguous entries varies depending on the page
+     * granularity used. The logic below assumes 4KB.
+     */
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    /*
+     * In order to enable the contiguous bit, we should have enough entries
+     * to map left and both the virtual and physical address should be
+     * aligned to the size of 16 translation tables entries.
+     */
+    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
+
+    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
+        return 1;
+
+    return XEN_PT_4K_NR_CONTIG;
+}
+
+static DEFINE_SPINLOCK(xen_pt_lock);
+
+int xen_pt_update(unsigned long virt,
+                  mfn_t mfn,
+                  /* const on purpose as it is used for TLB flush */
+                  const unsigned long nr_mfns,
+                  unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = virt >> PAGE_SHIFT;
+    unsigned long left = nr_mfns;
+
+    /*
+     * For arm32, page-tables are different on each CPUs. Yet, they share
+     * some common mappings. It is assumed that only common mappings
+     * will be modified with this function.
+     *
+     * XXX: Add a check.
+     */
+    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
+
+    /*
+     * The hardware was configured to forbid mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
+         !PAGE_XN_MASK(flags) )
+    {
+        mm_printk("Mappings should not be both Writeable and Executable.\n");
+        return -EINVAL;
+    }
+
+    if ( flags & _PAGE_CONTIG )
+    {
+        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        mm_printk("The virtual address is not aligned to the page-size.\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&xen_pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level, nr_contig, new_flags;
+
+        level = xen_pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        /*
+         * Check if we can set the contiguous mapping and update the
+         * flags accordingly.
+         */
+        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
+        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
+
+        for ( ; nr_contig > 0; nr_contig-- )
+        {
+            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
+                                     new_flags);
+            if ( rc )
+                break;
+
+            vfn += 1U << order;
+            if ( !mfn_eq(mfn, INVALID_MFN) )
+                mfn = mfn_add(mfn, 1U << order);
+
+            left -= (1U << order);
+        }
+
+        if ( rc )
+            break;
+    }
+
+    /*
+     * The TLBs flush can be safely skipped when a mapping is inserted
+     * as we don't allow mapping replacement (see xen_pt_check_entry()).
+     * Although we still need an ISB to ensure any DSB in
+     * write_pte() will complete because the mapping may be used soon
+     * after.
+     *
+     * For all the other cases, the TLBs will be flushed unconditionally
+     * even if the mapping has failed. This is because we may have
+     * partially modified the PT. This will prevent any unexpected
+     * behavior afterwards.
+     */
+    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
+        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
+    else
+        isb();
+
+    spin_unlock(&xen_pt_lock);
+
+    return rc;
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:26:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583073.913147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9y-0005FZ-5p; Mon, 14 Aug 2023 04:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583073.913147; Mon, 14 Aug 2023 04:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVP9y-0005FL-2C; Mon, 14 Aug 2023 04:26:30 +0000
Received: by outflank-mailman (input) for mailman id 583073;
 Mon, 14 Aug 2023 04:26: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVP9w-0002FE-Oh
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id bc838aec-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26: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 1A7B41063;
 Sun, 13 Aug 2023 21:27:10 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D5F703F64C;
 Sun, 13 Aug 2023 21:26:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc838aec-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Date: Mon, 14 Aug 2023 12:25:31 +0800
Message-Id: <20230814042536.878720-9-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

fixmap and pmap are MMU-specific features, so fold them to MMU system.
Do the folding for pmap by moving the HAS_PMAP Kconfig selection under
HAS_MMU. Do the folding for fixmap by moving the implementation of
virt_to_fix() to mmu/mm.c, so that unnecessary stubs can be avoided.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- Rebase on top of xen/arm: Introduce CONFIG_MMU Kconfig option
v4:
- Rework "[v3,11/52] xen/arm: mmu: fold FIXMAP into MMU system",
  change the order of this patch and avoid introducing stubs.
---
 xen/arch/arm/Kconfig              | 2 +-
 xen/arch/arm/include/asm/fixmap.h | 7 +------
 xen/arch/arm/mmu/mm.c             | 7 +++++++
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index eb0413336b..8a7b79b4b5 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -15,7 +15,6 @@ config ARM
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
 	select HAS_PDX
-	select HAS_PMAP
 	select HAS_UBSAN
 	select IOMMU_FORCE_PT_SHARE
 
@@ -61,6 +60,7 @@ config PADDR_BITS
 
 config MMU
 	def_bool y
+	select HAS_PMAP
 
 source "arch/Kconfig"
 
diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
index 734eb9b1d4..5d5de6995a 100644
--- a/xen/arch/arm/include/asm/fixmap.h
+++ b/xen/arch/arm/include/asm/fixmap.h
@@ -36,12 +36,7 @@ extern void clear_fixmap(unsigned int map);
 
 #define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
 
-static inline unsigned int virt_to_fix(vaddr_t vaddr)
-{
-    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
-
-    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
-}
+extern unsigned int virt_to_fix(vaddr_t vaddr);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
index b70982e9d6..1d6267e6c5 100644
--- a/xen/arch/arm/mmu/mm.c
+++ b/xen/arch/arm/mmu/mm.c
@@ -1136,6 +1136,13 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
     return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
 }
 
+unsigned int virt_to_fix(vaddr_t vaddr)
+{
+    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
+
+    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:27:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583084.913157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAp-00070W-Gw; Mon, 14 Aug 2023 04:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583084.913157; Mon, 14 Aug 2023 04:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAp-00070P-DC; Mon, 14 Aug 2023 04:27:23 +0000
Received: by outflank-mailman (input) for mailman id 583084;
 Mon, 14 Aug 2023 04:27:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVPAI-0002FE-4u
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c87a8b20-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26: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 33C042F4;
 Sun, 13 Aug 2023 21:27:30 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1BB4C3F64C;
 Sun, 13 Aug 2023 21: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: c87a8b20-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Date: Mon, 14 Aug 2023 12:25:36 +0800
Message-Id: <20230814042536.878720-14-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

SMMU subsystem is only supported in MMU system, so we make it dependent
on CONFIG_HAS_MMU.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v5:
- Add Acked-by tag from Jan.
v4:
- No change
v3:
- new patch
---
 xen/drivers/passthrough/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 864fcf3b0c..ebb350bc37 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -5,6 +5,7 @@ config HAS_PASSTHROUGH
 if ARM
 config ARM_SMMU
 	bool "ARM SMMUv1 and v2 driver"
+	depends on MMU
 	default y
 	---help---
 	  Support for implementations of the ARM System MMU architecture
@@ -15,7 +16,7 @@ config ARM_SMMU
 
 config ARM_SMMU_V3
 	bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" if EXPERT
-	depends on ARM_64 && (!ACPI || BROKEN)
+	depends on ARM_64 && (!ACPI || BROKEN) && MMU
 	---help---
 	 Support for implementations of the ARM System MMU architecture
 	 version 3. Driver is in experimental stage and should not be used in
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:27:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583093.913167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAs-0007Iz-Ov; Mon, 14 Aug 2023 04:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583093.913167; Mon, 14 Aug 2023 04:27:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAs-0007Io-Ld; Mon, 14 Aug 2023 04:27:26 +0000
Received: by outflank-mailman (input) for mailman id 583093;
 Mon, 14 Aug 2023 04:27:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVPA6-0002UD-9J
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c10563fe-3a5a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 06:26: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 8D9232F4;
 Sun, 13 Aug 2023 21:27:17 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 51C0C3F64C;
 Sun, 13 Aug 2023 21:26: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: c10563fe-3a5a-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 10/13] xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
Date: Mon, 14 Aug 2023 12:25:33 +0800
Message-Id: <20230814042536.878720-11-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

setup_mm is used for Xen to setup memory management subsystem at boot
time, like boot allocator, direct-mapping, xenheap initialization,
frametable and static memory pages.

We could inherit some components seamlessly in later MPU system like
boot allocator, whilst we need to implement some components differently
in MPU, like xenheap, etc. There are some components that is specific
to MMU only, like direct-mapping.

In the commit, we move MMU-specific components into mmu/setup.c, in
preparation of implementing MPU version of setup_mm later in future
commit. Also, make init_pdx(), init_staticmem_pages(), setup_mm(), and
populate_boot_allocator() public for future MPU inplementation.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- No change
v4:
- No change
---
 xen/arch/arm/include/asm/setup.h |   5 +
 xen/arch/arm/mmu/Makefile        |   1 +
 xen/arch/arm/mmu/setup.c         | 339 +++++++++++++++++++++++++++++++
 xen/arch/arm/setup.c             | 326 +----------------------------
 4 files changed, 349 insertions(+), 322 deletions(-)
 create mode 100644 xen/arch/arm/mmu/setup.c

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index f0f64d228c..0922549631 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -156,6 +156,11 @@ 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);
 
+extern void init_pdx(void);
+extern void init_staticmem_pages(void);
+extern void populate_boot_allocator(void);
+extern void setup_mm(void);
+
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index b18cec4836..4aa1fb466d 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += mm.o
+obj-y += setup.o
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
new file mode 100644
index 0000000000..e05cca3f86
--- /dev/null
+++ b/xen/arch/arm/mmu/setup.c
@@ -0,0 +1,339 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/arch/arm/mmu/setup.c
+ *
+ * MMU-specific early bringup code for an ARMv7-A with virt extensions.
+ */
+
+#include <xen/init.h>
+#include <xen/serial.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/mm.h>
+#include <xen/param.h>
+#include <xen/pfn.h>
+#include <asm/fixmap.h>
+#include <asm/page.h>
+#include <asm/setup.h>
+
+#ifdef CONFIG_ARM_32
+static unsigned long opt_xenheap_megabytes __initdata;
+integer_param("xenheap_megabytes", opt_xenheap_megabytes);
+
+/*
+ * Returns the end address of the highest region in the range s..e
+ * with required size and alignment that does not conflict with the
+ * modules from first_mod to nr_modules.
+ *
+ * For non-recursive callers first_mod should normally be 0 (all
+ * modules and Xen itself) or 1 (all modules but not Xen).
+ */
+static paddr_t __init consider_modules(paddr_t s, paddr_t e,
+                                       uint32_t size, paddr_t align,
+                                       int first_mod)
+{
+    const struct bootmodules *mi = &bootinfo.modules;
+    int i;
+    int nr;
+
+    s = (s+align-1) & ~(align-1);
+    e = e & ~(align-1);
+
+    if ( s > e ||  e - s < size )
+        return 0;
+
+    /* First check the boot modules */
+    for ( i = first_mod; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        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);
+        }
+    }
+
+    /* 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.
+     *
+     * 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.
+     */
+    nr += mi->nr_mods;
+    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 )
+        {
+            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);
+        }
+    }
+    return e;
+}
+
+/*
+ * Find a contiguous region that fits in the static heap region with
+ * required size and alignment, and return the end address of the region
+ * if found otherwise 0.
+ */
+static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
+{
+    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++ )
+    {
+        if ( bootinfo.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_end = bank_start + bank_size;
+
+        if ( bank_size < size )
+            continue;
+
+        aligned_end = bank_end & ~(align - 1);
+        aligned_start = (aligned_end - size) & ~(align - 1);
+
+        if ( aligned_start > bank_start )
+            /*
+             * Allocate the xenheap as high as possible to keep low-memory
+             * available (assuming the admin supplied region below 4GB)
+             * for other use (e.g. domain memory allocation).
+             */
+            end = max(end, aligned_end);
+    }
+
+    return end;
+}
+
+void __init setup_mm(void)
+{
+    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 )
+        panic("No memory bank\n");
+
+    /* We only supports instruction caches implementing the IVIPT extension. */
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
+        panic("AIVIVT instruction cache not supported\n");
+
+    init_pdx();
+
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+
+    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    {
+        bank_start = bootinfo.mem.bank[i].start;
+        bank_size = bootinfo.mem.bank[i].size;
+        bank_end = bank_start + bank_size;
+
+        ram_size  = ram_size + bank_size;
+        ram_start = min(ram_start,bank_start);
+        ram_end   = max(ram_end,bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    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;
+
+            bank_start = bootinfo.reserved_mem.bank[i].start;
+            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_end = bank_start + bank_size;
+
+            static_heap_size += bank_size;
+            static_heap_end = max(static_heap_end, bank_end);
+        }
+
+        heap_pages = static_heap_size >> PAGE_SHIFT;
+    }
+    else
+        heap_pages = total_pages;
+
+    /*
+     * If the user has not requested otherwise via the command line
+     * then locate the xenheap using these constraints:
+     *
+     *  - must be contiguous
+     *  - must be 32 MiB aligned
+     *  - must not include Xen itself or the boot modules
+     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
+          heap if enabled) if less
+     *  - must be at least 32M
+     *
+     * We try to allocate the largest xenheap possible within these
+     * constraints.
+     */
+    if ( opt_xenheap_megabytes )
+        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
+    else
+    {
+        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
+        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
+        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
+    }
+
+    do
+    {
+        e = bootinfo.static_heap ?
+            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
+            consider_modules(ram_start, ram_end,
+                             pfn_to_paddr(xenheap_pages),
+                             32<<20, 0);
+        if ( e )
+            break;
+
+        xenheap_pages >>= 1;
+    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
+
+    if ( ! e )
+        panic("Not enough space for xenheap\n");
+
+    domheap_pages = heap_pages - xenheap_pages;
+
+    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
+           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
+           opt_xenheap_megabytes ? ", from command-line" : "");
+    printk("Dom heap: %lu pages\n", domheap_pages);
+
+    /*
+     * We need some memory to allocate the page-tables used for the
+     * directmap mappings. So populate the boot allocator first.
+     *
+     * This requires us to set directmap_mfn_{start, end} first so the
+     * direct-mapped Xenheap region can be avoided.
+     */
+    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
+    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
+
+    populate_boot_allocator();
+
+    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
+
+    /* Frame table covers all of RAM region, including holes */
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    /*
+     * The allocators may need to use map_domain_page() (such as for
+     * scrubbing pages). So we need to prepare the domheap area first.
+     */
+    if ( !init_domheap_mappings(smp_processor_id()) )
+        panic("CPU%u: Unable to prepare the domheap page-tables\n",
+              smp_processor_id());
+
+    /* Add xenheap memory that was not already added to the boot allocator. */
+    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
+                       mfn_to_maddr(directmap_mfn_end));
+
+    init_staticmem_pages();
+}
+#else /* CONFIG_ARM_64 */
+void __init setup_mm(void)
+{
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    /*
+     * We need some memory to allocate the page-tables used for the directmap
+     * mappings. But some regions may contain memory already allocated
+     * for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    total_pages = 0;
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+
+        setup_directmap_mappings(PFN_DOWN(bank->start),
+                                 PFN_DOWN(bank->size));
+    }
+
+    total_pages += ram_size >> PAGE_SHIFT;
+
+    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    directmap_mfn_start = maddr_to_mfn(ram_start);
+    directmap_mfn_end = maddr_to_mfn(ram_end);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    init_staticmem_pages();
+}
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 44ccea03ca..b3dea41099 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -2,7 +2,7 @@
 /*
  * xen/arch/arm/setup.c
  *
- * Early bringup code for an ARMv7-A with virt extensions.
+ * Early bringup code for an ARMv7-A/ARM64v8R with virt extensions.
  *
  * Tim Deegan <tim@xen.org>
  * Copyright (c) 2011 Citrix Systems.
@@ -58,11 +58,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
 
-#ifdef CONFIG_ARM_32
-static unsigned long opt_xenheap_megabytes __initdata;
-integer_param("xenheap_megabytes", opt_xenheap_megabytes);
-#endif
-
 domid_t __read_mostly max_init_domid;
 
 static __used void init_done(void)
@@ -547,138 +542,6 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }
 
-#ifdef CONFIG_ARM_32
-/*
- * Returns the end address of the highest region in the range s..e
- * with required size and alignment that does not conflict with the
- * modules from first_mod to nr_modules.
- *
- * For non-recursive callers first_mod should normally be 0 (all
- * modules and Xen itself) or 1 (all modules but not Xen).
- */
-static paddr_t __init consider_modules(paddr_t s, paddr_t e,
-                                       uint32_t size, paddr_t align,
-                                       int first_mod)
-{
-    const struct bootmodules *mi = &bootinfo.modules;
-    int i;
-    int nr;
-
-    s = (s+align-1) & ~(align-1);
-    e = e & ~(align-1);
-
-    if ( s > e ||  e - s < size )
-        return 0;
-
-    /* First check the boot modules */
-    for ( i = first_mod; i < mi->nr_mods; i++ )
-    {
-        paddr_t mod_s = mi->module[i].start;
-        paddr_t mod_e = mod_s + mi->module[i].size;
-
-        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);
-        }
-    }
-
-    /* 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.
-     *
-     * 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.
-     */
-    nr += mi->nr_mods;
-    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 )
-        {
-            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);
-        }
-    }
-    return e;
-}
-
-/*
- * Find a contiguous region that fits in the static heap region with
- * required size and alignment, and return the end address of the region
- * if found otherwise 0.
- */
-static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
-{
-    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++ )
-    {
-        if ( bootinfo.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_end = bank_start + bank_size;
-
-        if ( bank_size < size )
-            continue;
-
-        aligned_end = bank_end & ~(align - 1);
-        aligned_start = (aligned_end - size) & ~(align - 1);
-
-        if ( aligned_start > bank_start )
-            /*
-             * Allocate the xenheap as high as possible to keep low-memory
-             * available (assuming the admin supplied region below 4GB)
-             * for other use (e.g. domain memory allocation).
-             */
-            end = max(end, aligned_end);
-    }
-
-    return end;
-}
-#endif
-
 /*
  * Return the end of the non-module region starting at s. In other
  * words return s the start of the next modules after s.
@@ -713,7 +576,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
     return lowest;
 }
 
-static void __init init_pdx(void)
+void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
 
@@ -758,7 +621,7 @@ static void __init init_pdx(void)
 }
 
 /* Static memory initialization */
-static void __init init_staticmem_pages(void)
+void __init init_staticmem_pages(void)
 {
 #ifdef CONFIG_STATIC_MEMORY
     unsigned int bank;
@@ -792,7 +655,7 @@ static void __init init_staticmem_pages(void)
  * allocator with the corresponding regions only, but with Xenheap excluded
  * on arm32.
  */
-static void __init populate_boot_allocator(void)
+void __init populate_boot_allocator(void)
 {
     unsigned int i;
     const struct meminfo *banks = &bootinfo.mem;
@@ -861,187 +724,6 @@ static void __init populate_boot_allocator(void)
     }
 }
 
-#ifdef CONFIG_ARM_32
-static void __init setup_mm(void)
-{
-    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 )
-        panic("No memory bank\n");
-
-    /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
-        panic("AIVIVT instruction cache not supported\n");
-
-    init_pdx();
-
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
-    ram_end   = ram_start + ram_size;
-
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
-    {
-        bank_start = bootinfo.mem.bank[i].start;
-        bank_size = bootinfo.mem.bank[i].size;
-        bank_end = bank_start + bank_size;
-
-        ram_size  = ram_size + bank_size;
-        ram_start = min(ram_start,bank_start);
-        ram_end   = max(ram_end,bank_end);
-    }
-
-    total_pages = ram_size >> PAGE_SHIFT;
-
-    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;
-
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
-            bank_end = bank_start + bank_size;
-
-            static_heap_size += bank_size;
-            static_heap_end = max(static_heap_end, bank_end);
-        }
-
-        heap_pages = static_heap_size >> PAGE_SHIFT;
-    }
-    else
-        heap_pages = total_pages;
-
-    /*
-     * If the user has not requested otherwise via the command line
-     * then locate the xenheap using these constraints:
-     *
-     *  - must be contiguous
-     *  - must be 32 MiB aligned
-     *  - must not include Xen itself or the boot modules
-     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
-          heap if enabled) if less
-     *  - must be at least 32M
-     *
-     * We try to allocate the largest xenheap possible within these
-     * constraints.
-     */
-    if ( opt_xenheap_megabytes )
-        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
-    else
-    {
-        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
-        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
-        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
-    }
-
-    do
-    {
-        e = bootinfo.static_heap ?
-            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
-            consider_modules(ram_start, ram_end,
-                             pfn_to_paddr(xenheap_pages),
-                             32<<20, 0);
-        if ( e )
-            break;
-
-        xenheap_pages >>= 1;
-    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
-
-    if ( ! e )
-        panic("Not enough space for xenheap\n");
-
-    domheap_pages = heap_pages - xenheap_pages;
-
-    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
-           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
-           opt_xenheap_megabytes ? ", from command-line" : "");
-    printk("Dom heap: %lu pages\n", domheap_pages);
-
-    /*
-     * We need some memory to allocate the page-tables used for the
-     * directmap mappings. So populate the boot allocator first.
-     *
-     * This requires us to set directmap_mfn_{start, end} first so the
-     * direct-mapped Xenheap region can be avoided.
-     */
-    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
-    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
-
-    populate_boot_allocator();
-
-    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
-
-    /* Frame table covers all of RAM region, including holes */
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    /*
-     * The allocators may need to use map_domain_page() (such as for
-     * scrubbing pages). So we need to prepare the domheap area first.
-     */
-    if ( !init_domheap_mappings(smp_processor_id()) )
-        panic("CPU%u: Unable to prepare the domheap page-tables\n",
-              smp_processor_id());
-
-    /* Add xenheap memory that was not already added to the boot allocator. */
-    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
-                       mfn_to_maddr(directmap_mfn_end));
-
-    init_staticmem_pages();
-}
-#else /* CONFIG_ARM_64 */
-static void __init setup_mm(void)
-{
-    const struct meminfo *banks = &bootinfo.mem;
-    paddr_t ram_start = INVALID_PADDR;
-    paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
-    unsigned int i;
-
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
-    for ( i = 0; i < banks->nr_banks; i++ )
-    {
-        const struct membank *bank = &banks->bank[i];
-        paddr_t bank_end = bank->start + bank->size;
-
-        ram_size = ram_size + bank->size;
-        ram_start = min(ram_start, bank->start);
-        ram_end = max(ram_end, bank_end);
-
-        setup_directmap_mappings(PFN_DOWN(bank->start),
-                                 PFN_DOWN(bank->size));
-    }
-
-    total_pages += ram_size >> PAGE_SHIFT;
-
-    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
-    directmap_mfn_start = maddr_to_mfn(ram_start);
-    directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    init_staticmem_pages();
-}
-#endif
-
 static bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583095.913172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAt-0007Nm-9k; Mon, 14 Aug 2023 04:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583095.913172; Mon, 14 Aug 2023 04: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 1qVPAt-0007NB-4W; Mon, 14 Aug 2023 04:27:27 +0000
Received: by outflank-mailman (input) for mailman id 583095;
 Mon, 14 Aug 2023 04:27:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVPAA-0002FE-3I
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c356b013-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26:39 +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 889791063;
 Sun, 13 Aug 2023 21:27:21 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 0A0693F64C;
 Sun, 13 Aug 2023 21:26: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: c356b013-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
Date: Mon, 14 Aug 2023 12:25:34 +0800
Message-Id: <20230814042536.878720-12-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

Current P2M implementation is designed for MMU system only.
We move the MMU-specific codes into mmu/p2m.c, and only keep generic
codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
Also expose previously static functions p2m_vmid_allocator_init(),
p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()
for futher MPU usage.

With the code movement, global variable max_vmid is used in multiple
files instead of a single file (and will be used in MPU P2M
implementation), declare it in the header and remove the "static" of
this variable.

Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
work does not need p2m_tlb_flush_sync().

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- No change
v4:
- Rework the patch to drop the unnecessary changes.
- Rework the commit msg a bit.
v3:
- remove MPU stubs
- adapt to the introduction of new directories: mmu/
v2:
- new commit
---
 xen/arch/arm/include/asm/mmu/p2m.h |   18 +
 xen/arch/arm/include/asm/p2m.h     |   33 +-
 xen/arch/arm/mmu/Makefile          |    1 +
 xen/arch/arm/mmu/p2m.c             | 1610 +++++++++++++++++++++++++
 xen/arch/arm/p2m.c                 | 1772 ++--------------------------
 5 files changed, 1745 insertions(+), 1689 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/p2m.c

diff --git a/xen/arch/arm/include/asm/mmu/p2m.h b/xen/arch/arm/include/asm/mmu/p2m.h
new file mode 100644
index 0000000000..f829e325ce
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/p2m.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_P2M_H__
+#define __ARM_MMU_P2M_H__
+
+struct p2m_domain;
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m);
+void p2m_tlb_flush_sync(struct p2m_domain *p2m);
+
+#endif /* __ARM_MMU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 940495d42b..d3419bdfe1 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -19,6 +19,22 @@ extern unsigned int p2m_root_level;
 #define P2M_ROOT_ORDER    p2m_root_order
 #define P2M_ROOT_LEVEL p2m_root_level
 
+#define MAX_VMID_8_BIT  (1UL << 8)
+#define MAX_VMID_16_BIT (1UL << 16)
+
+#define INVALID_VMID 0 /* VMID 0 is reserved */
+
+#ifdef CONFIG_ARM_64
+extern unsigned int max_vmid;
+/* VMID is by default 8 bit width on AArch64 */
+#define MAX_VMID       max_vmid
+#else
+/* VMID is always 8 bit width on AArch32 */
+#define MAX_VMID        MAX_VMID_8_BIT
+#endif
+
+#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
+
 struct domain;
 
 extern void memory_type_changed(struct domain *);
@@ -156,6 +172,10 @@ typedef enum {
 #endif
 #include <xen/p2m-common.h>
 
+#ifdef CONFIG_MMU
+#include <asm/mmu/p2m.h>
+#endif
+
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
@@ -180,7 +200,11 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
  */
 void p2m_restrict_ipa_bits(unsigned int ipa_bits);
 
+void p2m_vmid_allocator_init(void);
+int p2m_alloc_vmid(struct domain *d);
+
 /* Second stage paging setup, to be called on all CPUs */
+void setup_virt_paging_one(void *data);
 void setup_virt_paging(void);
 
 /* Init the datastructures for later use by the p2m code */
@@ -242,8 +266,6 @@ static inline int p2m_is_write_locked(struct p2m_domain *p2m)
     return rw_is_write_locked(&p2m->lock);
 }
 
-void p2m_tlb_flush_sync(struct p2m_domain *p2m);
-
 /* Look up the MFN corresponding to a domain's GFN. */
 mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t);
 
@@ -269,6 +291,13 @@ int p2m_set_entry(struct p2m_domain *p2m,
                   p2m_type_t t,
                   p2m_access_t a);
 
+int __p2m_set_entry(struct p2m_domain *p2m,
+                    gfn_t sgfn,
+                    unsigned int page_order,
+                    mfn_t smfn,
+                    p2m_type_t t,
+                    p2m_access_t a);
+
 bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
 
 void p2m_clear_root_pages(struct p2m_domain *p2m);
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 4aa1fb466d..a4f07ab90a 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,2 +1,3 @@
 obj-y += mm.o
+obj-y += p2m.o
 obj-y += setup.o
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
new file mode 100644
index 0000000000..a916e2318c
--- /dev/null
+++ b/xen/arch/arm/mmu/p2m.c
@@ -0,0 +1,1610 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/domain_page.h>
+#include <xen/ioreq.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+
+#include <asm/alternative.h>
+#include <asm/event.h>
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+unsigned int __read_mostly p2m_root_order;
+unsigned int __read_mostly p2m_root_level;
+
+static mfn_t __read_mostly empty_root_mfn;
+
+static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
+{
+    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
+}
+
+static struct page_info *p2m_alloc_page(struct domain *d)
+{
+    struct page_info *pg;
+
+    /*
+     * For hardware domain, there should be no limit in the number of pages that
+     * can be allocated, so that the kernel may take advantage of the extended
+     * regions. Hence, allocate p2m pages for hardware domains from heap.
+     */
+    if ( is_hardware_domain(d) )
+    {
+        pg = alloc_domheap_page(NULL, 0);
+        if ( pg == NULL )
+            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
+    }
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+
+    return pg;
+}
+
+static void p2m_free_page(struct domain *d, struct page_info *pg)
+{
+    if ( is_hardware_domain(d) )
+        free_domheap_page(pg);
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
+    return 0;
+}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d->arch.paging.lock held.
+ */
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+{
+    struct page_info *pg;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( ; ; )
+    {
+        if ( d->arch.paging.p2m_total_pages < pages )
+        {
+            /* Need to allocate more memory from domheap */
+            pg = alloc_domheap_page(NULL, 0);
+            if ( pg == NULL )
+            {
+                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
+                return -ENOMEM;
+            }
+            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                d->arch.paging.p2m_total_pages + 1;
+            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        }
+        else if ( d->arch.paging.p2m_total_pages > pages )
+        {
+            /* Need to return memory to domheap */
+            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+            if( pg )
+            {
+                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                    d->arch.paging.p2m_total_pages - 1;
+                free_domheap_page(pg);
+            }
+            else
+            {
+                printk(XENLOG_ERR
+                       "Failed to free P2M pages, P2M freelist is empty.\n");
+                return -ENOMEM;
+            }
+        }
+        else
+            break;
+
+        /* Check to see if we need to yield and try again */
+        if ( preempted && general_preempt_check() )
+        {
+            *preempted = true;
+            return -ERESTART;
+        }
+    }
+
+    return 0;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = size >> PAGE_SHIFT;
+    bool preempted = false;
+    int rc;
+
+    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
+         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, &preempted);
+    spin_unlock(&d->arch.paging.lock);
+
+    ASSERT(preempted == (rc == -ERESTART));
+
+    return rc;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    int ret = 0;
+    bool preempted = false;
+
+    spin_lock(&d->arch.paging.lock);
+    if ( d->arch.paging.p2m_total_pages != 0 )
+    {
+        ret = p2m_set_allocation(d, 0, &preempted);
+        if ( preempted )
+        {
+            spin_unlock(&d->arch.paging.lock);
+            return -ERESTART;
+        }
+        ASSERT(d->arch.paging.p2m_total_pages == 0);
+    }
+    spin_unlock(&d->arch.paging.lock);
+
+    return ret;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m_read_lock(p2m);
+    printk("p2m mappings for domain %d (vmid %d):\n",
+           d->domain_id, p2m->vmid);
+    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
+    printk("  1G mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[1], p2m->stats.shattered[1]);
+    printk("  2M mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[2], p2m->stats.shattered[2]);
+    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
+    p2m_read_unlock(p2m);
+}
+
+/*
+ * p2m_save_state and p2m_restore_state work in pair to workaround
+ * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
+ * point to the empty page-tables to stop allocating TLB entries.
+ */
+void p2m_save_state(struct vcpu *p)
+{
+    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
+
+    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        /*
+         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
+         * the next vCPU context without worrying about AT instruction
+         * speculation.
+         */
+        isb();
+    }
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
+    uint8_t *last_vcpu_ran;
+
+    if ( is_idle_vcpu(n) )
+        return;
+
+    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
+    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
+     * registers associated to EL1/EL0 translations regime have been
+     * synchronized.
+     */
+    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
+    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
+
+    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
+
+    /*
+     * While we are restoring an out-of-context translation regime
+     * we still need to ensure:
+     *  - VTTBR_EL2 is synchronized before flushing the TLBs
+     *  - All registers for EL1 are synchronized before executing an AT
+     *  instructions targeting S1/S2.
+     */
+    isb();
+
+    /*
+     * Flush local TLB for the domain to prevent wrong TLB translation
+     * when running multiple vCPU of the same domain on a single pCPU.
+     */
+    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
+        flush_guest_tlb_local();
+
+    *last_vcpu_ran = n->vcpu_id;
+}
+
+/*
+ * Force a synchronous P2M TLB flush.
+ *
+ * Must be called with the p2m lock held.
+ */
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    unsigned long flags = 0;
+    uint64_t ovttbr;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * ARM only provides an instruction to flush TLBs for the current
+     * VMID. So switch to the VTTBR of a given P2M if different.
+     */
+    ovttbr = READ_SYSREG64(VTTBR_EL2);
+    if ( ovttbr != p2m->vttbr )
+    {
+        uint64_t vttbr;
+
+        local_irq_save(flags);
+
+        /*
+         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
+         * TLBs entries because the context is partially modified. We
+         * only need the VMID for flushing the TLBs, so we can generate
+         * a new VTTBR with the VMID to flush and the empty root table.
+         */
+        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+            vttbr = p2m->vttbr;
+        else
+            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
+
+        WRITE_SYSREG64(vttbr, VTTBR_EL2);
+
+        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
+        isb();
+    }
+
+    flush_guest_tlb();
+
+    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
+    {
+        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
+        /* Ensure VTTBR_EL2 is back in place before continuing. */
+        isb();
+        local_irq_restore(flags);
+    }
+
+    p2m->need_flush = false;
+}
+
+void p2m_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    if ( p2m->need_flush )
+        p2m_force_tlb_flush_sync(p2m);
+}
+
+/*
+ * Find and map the root page table. The caller is responsible for
+ * unmapping the table.
+ *
+ * The function will return NULL if the offset of the root table is
+ * invalid.
+ */
+static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
+                                    gfn_t gfn)
+{
+    unsigned long root_table;
+
+    /*
+     * While the root table index is the offset from the previous level,
+     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
+     * 0. Yet we still want to check if all the unused bits are zeroed.
+     */
+    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
+                                XEN_PT_LPAE_SHIFT);
+    if ( root_table >= P2M_ROOT_PAGES )
+        return NULL;
+
+    return __map_domain_page(p2m->root + root_table);
+}
+
+/*
+ * Lookup the MFN corresponding to a domain's GFN.
+ * Lookup mem access in the ratrix tree.
+ * The entries associated to the GFN is considered valid.
+ */
+static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
+{
+    void *ptr;
+
+    if ( !p2m->mem_access_enabled )
+        return p2m->default_access;
+
+    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
+    if ( !ptr )
+        return p2m_access_rwx;
+    else
+        return radix_tree_ptr_to_int(ptr);
+}
+
+/*
+ * In the case of the P2M, the valid bit is used for other purpose. Use
+ * the type to check whether an entry is valid.
+ */
+static inline bool p2m_is_valid(lpae_t pte)
+{
+    return pte.p2m.type != p2m_invalid;
+}
+
+/*
+ * lpae_is_* helpers don't check whether the valid bit is set in the
+ * PTE. Provide our own overlay to check the valid bit.
+ */
+static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
+}
+
+static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
+}
+
+#define GUEST_TABLE_MAP_FAILED 0
+#define GUEST_TABLE_SUPER_PAGE 1
+#define GUEST_TABLE_NORMAL_PAGE 2
+
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
+
+/*
+ * Take the currently mapped table, find the corresponding GFN entry,
+ * and map the next table, if available. The previous table will be
+ * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
+ * returned).
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
+ *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
+                          unsigned int level, lpae_t **table,
+                          unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !p2m_is_valid(*entry) )
+    {
+        if ( read_only )
+            return GUEST_TABLE_MAP_FAILED;
+
+        ret = p2m_create_table(p2m, entry);
+        if ( ret )
+            return GUEST_TABLE_MAP_FAILED;
+    }
+
+    /* The function p2m_next_level is never called at the 3rd level */
+    ASSERT(level < 3);
+    if ( p2m_is_mapping(*entry, level) )
+        return GUEST_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    unmap_domain_page(*table);
+    *table = map_domain_page(mfn);
+
+    return GUEST_TABLE_NORMAL_PAGE;
+}
+
+/*
+ * Get the details of a given gfn.
+ *
+ * If the entry is present, the associated MFN will be returned and the
+ * access and type filled up. The page_order will correspond to the
+ * order of the mapping in the page table (i.e it could be a superpage).
+ *
+ * If the entry is not present, INVALID_MFN will be returned and the
+ * page_order will be set according to the order of the invalid range.
+ *
+ * valid will contain the value of bit[0] (e.g valid bit) of the
+ * entry.
+ */
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
+                    p2m_type_t *t, p2m_access_t *a,
+                    unsigned int *page_order,
+                    bool *valid)
+{
+    paddr_t addr = gfn_to_gaddr(gfn);
+    unsigned int level = 0;
+    lpae_t entry, *table;
+    int rc;
+    mfn_t mfn = INVALID_MFN;
+    p2m_type_t _t;
+    DECLARE_OFFSETS(offsets, addr);
+
+    ASSERT(p2m_is_locked(p2m));
+    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
+
+    /* Allow t to be NULL */
+    t = t ?: &_t;
+
+    *t = p2m_invalid;
+
+    if ( valid )
+        *valid = false;
+
+    /* XXX: Check if the mapping is lower than the mapped gfn */
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+    {
+        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
+                 gfn_x(p2m->max_mapped_gfn) )
+                break;
+
+        goto out;
+    }
+
+    table = p2m_get_root_pointer(p2m, gfn);
+
+    /*
+     * the table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        level = P2M_ROOT_LEVEL;
+        goto out;
+    }
+
+    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+    {
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table[offsets[level]];
+
+    if ( p2m_is_valid(entry) )
+    {
+        *t = entry.p2m.type;
+
+        if ( a )
+            *a = p2m_mem_access_radix_get(p2m, gfn);
+
+        mfn = lpae_get_mfn(entry);
+        /*
+         * The entry may point to a superpage. Find the MFN associated
+         * to the GFN.
+         */
+        mfn = mfn_add(mfn,
+                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
+
+        if ( valid )
+            *valid = lpae_is_valid(entry);
+    }
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    if ( page_order )
+        *page_order = XEN_PT_LEVEL_ORDER(level);
+
+    return mfn;
+}
+
+static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
+{
+    /* First apply type permissions */
+    switch ( t )
+    {
+    case p2m_ram_rw:
+        e->p2m.xn = 0;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_ram_ro:
+        e->p2m.xn = 0;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_iommu_map_rw:
+    case p2m_map_foreign_rw:
+    case p2m_grant_map_rw:
+    case p2m_mmio_direct_dev:
+    case p2m_mmio_direct_nc:
+    case p2m_mmio_direct_c:
+        e->p2m.xn = 1;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_iommu_map_ro:
+    case p2m_map_foreign_ro:
+    case p2m_grant_map_ro:
+    case p2m_invalid:
+        e->p2m.xn = 1;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_max_real_type:
+        BUG();
+        break;
+    }
+
+    /* Then restrict with access permissions */
+    switch ( a )
+    {
+    case p2m_access_rwx:
+        break;
+    case p2m_access_wx:
+        e->p2m.read = 0;
+        break;
+    case p2m_access_rw:
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_w:
+        e->p2m.read = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_rx:
+    case p2m_access_rx2rw:
+        e->p2m.write = 0;
+        break;
+    case p2m_access_x:
+        e->p2m.write = 0;
+        e->p2m.read = 0;
+        break;
+    case p2m_access_r:
+        e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_n:
+    case p2m_access_n2rwx:
+        e->p2m.read = e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    }
+}
+
+static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
+{
+    /*
+     * sh, xn and write bit will be defined in the following switches
+     * based on mattr and t.
+     */
+    lpae_t e = (lpae_t) {
+        .p2m.af = 1,
+        .p2m.read = 1,
+        .p2m.table = 1,
+        .p2m.valid = 1,
+        .p2m.type = t,
+    };
+
+    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
+
+    switch ( t )
+    {
+    case p2m_mmio_direct_dev:
+        e.p2m.mattr = MATTR_DEV;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    case p2m_mmio_direct_c:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    /*
+     * ARM ARM: Overlaying the shareability attribute (DDI
+     * 0406C.b B3-1376 to 1377)
+     *
+     * A memory region with a resultant memory type attribute of Normal,
+     * and a resultant cacheability attribute of Inner Non-cacheable,
+     * Outer Non-cacheable, must have a resultant shareability attribute
+     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+     *
+     * On ARMv8 shareability is ignored and explicitly treated as Outer
+     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
+     */
+    case p2m_mmio_direct_nc:
+        e.p2m.mattr = MATTR_MEM_NC;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    default:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_INNER;
+    }
+
+    p2m_set_permission(&e, t, a);
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Generate table entry with correct attributes. */
+static lpae_t page_to_p2m_table(struct page_info *page)
+{
+    /*
+     * The access value does not matter because the hardware will ignore
+     * the permission fields for table entry.
+     *
+     * We use p2m_ram_rw so the entry has a valid type. This is important
+     * for p2m_is_valid() to return valid on table entries.
+     */
+    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
+}
+
+static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
+{
+    write_pte(p, pte);
+    if ( clean_pte )
+        clean_dcache(*p);
+}
+
+static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
+{
+    lpae_t pte;
+
+    memset(&pte, 0x00, sizeof(pte));
+    p2m_write_pte(p, pte, clean_pte);
+}
+
+/* Allocate a new page table page and hook it in via the given entry. */
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
+{
+    struct page_info *page;
+    lpae_t *p;
+
+    ASSERT(!p2m_is_valid(*entry));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( page == NULL )
+        return -ENOMEM;
+
+    page_list_add(page, &p2m->pages);
+
+    p = __map_domain_page(page);
+    clear_page(p);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(p, PAGE_SIZE);
+
+    unmap_domain_page(p);
+
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return 0;
+}
+
+static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
+                                    p2m_access_t a)
+{
+    int rc;
+
+    if ( !p2m->mem_access_enabled )
+        return 0;
+
+    if ( p2m_access_rwx == a )
+    {
+        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
+        return 0;
+    }
+
+    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
+                           radix_tree_int_to_ptr(a));
+    if ( rc == -EEXIST )
+    {
+        /* If a setting already exists, change it to the new one */
+        radix_tree_replace_slot(
+            radix_tree_lookup_slot(
+                &p2m->mem_access_settings, gfn_x(gfn)),
+            radix_tree_int_to_ptr(a));
+        rc = 0;
+    }
+
+    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)
+{
+    mfn_t mfn = lpae_get_mfn(pte);
+
+    ASSERT(p2m_is_valid(pte));
+
+    /*
+     * TODO: Handle other p2m types
+     *
+     * It's safe to do the put_page here because page_alloc will
+     * flush the TLBs if the page is reallocated before the end of
+     * this loop.
+     */
+    if ( p2m_is_foreign(pte.p2m.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) )
+        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
+}
+
+/* Free lpae sub-tree behind an entry */
+static void p2m_free_entry(struct p2m_domain *p2m,
+                           lpae_t entry, unsigned int level)
+{
+    unsigned int i;
+    lpae_t *table;
+    mfn_t mfn;
+    struct page_info *pg;
+
+    /* Nothing to do if the entry is invalid. */
+    if ( !p2m_is_valid(entry) )
+        return;
+
+    if ( p2m_is_superpage(entry, level) || (level == 3) )
+    {
+#ifdef CONFIG_IOREQ_SERVER
+        /*
+         * If this gets called then either the entry was replaced by an entry
+         * with a different base (valid case) or the shattering of a superpage
+         * has failed (error case).
+         * So, at worst, the spurious mapcache invalidation might be sent.
+         */
+        if ( p2m_is_ram(entry.p2m.type) &&
+             domain_has_ioreq_server(p2m->domain) )
+            ioreq_request_mapcache_invalidate(p2m->domain);
+#endif
+
+        p2m->stats.mappings[level]--;
+        /* Nothing to do if the entry is a super-page. */
+        if ( level == 3 )
+            p2m_put_l3_page(entry);
+        return;
+    }
+
+    table = map_domain_page(lpae_get_mfn(entry));
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+        p2m_free_entry(p2m, *(table + i), level + 1);
+
+    unmap_domain_page(table);
+
+    /*
+     * Make sure all the references in the TLB have been removed before
+     * freing the intermediate page table.
+     * XXX: Should we defer the free of the page table to avoid the
+     * flush?
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    mfn = lpae_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    page_list_del(pg, &p2m->pages);
+    p2m_free_page(p2m->domain, pg);
+}
+
+static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
+                                unsigned int level, unsigned int target,
+                                const unsigned int *offsets)
+{
+    struct page_info *page;
+    unsigned int i;
+    lpae_t pte, *table;
+    bool rv = true;
+
+    /* Convenience aliases */
+    mfn_t mfn = lpae_get_mfn(*entry);
+    unsigned int next_level = level + 1;
+    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
+
+    /*
+     * This should only be called with target != level and the entry is
+     * a superpage.
+     */
+    ASSERT(level < target);
+    ASSERT(p2m_is_superpage(*entry, level));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( !page )
+        return false;
+
+    page_list_add(page, &p2m->pages);
+    table = __map_domain_page(page);
+
+    /*
+     * We are either splitting a first level 1G page into 512 second level
+     * 2M pages, or a second level 2M page into 512 third level 4K pages.
+     */
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t *new_entry = table + i;
+
+        /*
+         * Use the content of the superpage entry and override
+         * the necessary fields. So the correct permission are kept.
+         */
+        pte = *entry;
+        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
+
+        /*
+         * First and second level pages set p2m.table = 0, but third
+         * level entries set p2m.table = 1.
+         */
+        pte.p2m.table = (next_level == 3);
+
+        write_pte(new_entry, pte);
+    }
+
+    /* Update stats */
+    p2m->stats.shattered[level]++;
+    p2m->stats.mappings[level]--;
+    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
+
+    /*
+     * Shatter superpage in the page to the level we want to make the
+     * changes.
+     * This is done outside the loop to avoid checking the offset to
+     * know whether the entry should be shattered for every entry.
+     */
+    if ( next_level != target )
+        rv = p2m_split_superpage(p2m, table + offsets[next_level],
+                                 level + 1, target, offsets);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(table, PAGE_SIZE);
+
+    unmap_domain_page(table);
+
+    /*
+     * Even if we failed, we should install the newly allocated LPAE
+     * entry. The caller will be in charge to free the sub-tree.
+     */
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return rv;
+}
+
+/*
+ * Insert an entry in the p2m. This should be called with a mapping
+ * equal to a page/superpage (4K, 2M, 1G).
+ */
+int __p2m_set_entry(struct p2m_domain *p2m,
+                    gfn_t sgfn,
+                    unsigned int page_order,
+                    mfn_t smfn,
+                    p2m_type_t t,
+                    p2m_access_t a)
+{
+    unsigned int level = 0;
+    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
+    lpae_t *entry, *table, orig_pte;
+    int rc;
+    /* A mapping is removed if the MFN is invalid. */
+    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * Check if the level target is valid: we only support
+     * 4K - 2M - 1G mapping.
+     */
+    ASSERT(target > 0 && target <= 3);
+
+    table = p2m_get_root_pointer(p2m, sgfn);
+    if ( !table )
+        return -EINVAL;
+
+    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
+    {
+        /*
+         * Don't try to allocate intermediate page table if the mapping
+         * is about to be removed.
+         */
+        rc = p2m_next_level(p2m, removing_mapping,
+                            level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because p2m_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and they p2m tree is read-only). It is a valid case
+             * when removing a mapping as it may not exist in the
+             * page table. In this case, just ignore it.
+             */
+            rc = removing_mapping ?  0 : -ENOENT;
+            goto out;
+        }
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table + offsets[level];
+
+    /*
+     * If we are here with level < target, we must be at a leaf node,
+     * and we need to break up the superpage.
+     */
+    if ( level < target )
+    {
+        /* We need to split the original page. */
+        lpae_t split_pte = *entry;
+
+        ASSERT(p2m_is_superpage(*entry, level));
+
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        {
+            /*
+             * The current super-page is still in-place, so re-increment
+             * the stats.
+             */
+            p2m->stats.mappings[level]++;
+
+            /* Free the allocated sub-tree */
+            p2m_free_entry(p2m, split_pte, level);
+
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        /*
+         * Follow the break-before-sequence to update the entry.
+         * For more details see (D4.7.1 in ARM DDI 0487A.j).
+         */
+        p2m_remove_pte(entry, p2m->clean_pte);
+        p2m_force_tlb_flush_sync(p2m);
+
+        p2m_write_pte(entry, split_pte, p2m->clean_pte);
+
+        /* then move to the level we want to make real changes */
+        for ( ; level < target; level++ )
+        {
+            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+
+            /*
+             * The entry should be found and either be a table
+             * or a superpage if level 3 is not targeted
+             */
+            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
+                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
+        }
+
+        entry = table + offsets[level];
+    }
+
+    /*
+     * We should always be there with the correct level because
+     * all the intermediate tables have been installed if necessary.
+     */
+    ASSERT(level == target);
+
+    orig_pte = *entry;
+
+    /*
+     * The radix-tree can only work on 4KB. This is only used when
+     * memaccess is enabled and during shutdown.
+     */
+    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
+           p2m->domain->is_dying);
+    /*
+     * The access type should always be p2m_access_rwx when the mapping
+     * is removed.
+     */
+    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
+    /*
+     * Update the mem access permission before update the P2M. So we
+     * don't have to revert the mapping if it has failed.
+     */
+    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
+    if ( rc )
+        goto out;
+
+    /*
+     * Always remove the entry in order to follow the break-before-make
+     * sequence when updating the translation table (D4.7.1 in ARM DDI
+     * 0487A.j).
+     */
+    if ( lpae_is_valid(orig_pte) || removing_mapping )
+        p2m_remove_pte(entry, p2m->clean_pte);
+
+    if ( removing_mapping )
+        /* Flush can be deferred if the entry is removed */
+        p2m->need_flush |= !!lpae_is_valid(orig_pte);
+    else
+    {
+        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
+
+        if ( level < 3 )
+            pte.p2m.table = 0; /* Superpage entry */
+
+        /*
+         * It is necessary to flush the TLB before writing the new entry
+         * to keep coherency when the previous entry was valid.
+         *
+         * Although, it could be defered when only the permissions are
+         * changed (e.g in case of memaccess).
+         */
+        if ( lpae_is_valid(orig_pte) )
+        {
+            if ( likely(!p2m->mem_access_enabled) ||
+                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
+                p2m_force_tlb_flush_sync(p2m);
+            else
+                p2m->need_flush = true;
+        }
+        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
+            p2m->stats.mappings[level]++;
+
+        p2m_write_pte(entry, pte, p2m->clean_pte);
+
+        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
+                                      gfn_add(sgfn, (1UL << page_order) - 1));
+        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
+    }
+
+    if ( is_iommu_enabled(p2m->domain) &&
+         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
+    {
+        unsigned int flush_flags = 0;
+
+        if ( lpae_is_valid(orig_pte) )
+            flush_flags |= IOMMU_FLUSHF_modified;
+        if ( lpae_is_valid(*entry) )
+            flush_flags |= IOMMU_FLUSHF_added;
+
+        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
+                               1UL << page_order, flush_flags);
+    }
+    else
+        rc = 0;
+
+    /*
+     * Free the entry only if the original pte was valid and the base
+     * is different (to avoid freeing when permission is changed).
+     */
+    if ( p2m_is_valid(orig_pte) &&
+         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
+        p2m_free_entry(p2m, orig_pte, level);
+
+out:
+    unmap_domain_page(table);
+
+    return rc;
+}
+
+int p2m_set_entry(struct p2m_domain *p2m,
+                  gfn_t sgfn,
+                  unsigned long nr,
+                  mfn_t smfn,
+                  p2m_type_t t,
+                  p2m_access_t a)
+{
+    int rc = 0;
+
+    /*
+     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
+     * be dropped in relinquish_p2m_mapping(). As the P2M will still
+     * be accessible after, we need to prevent mapping to be added when the
+     * domain is dying.
+     */
+    if ( unlikely(p2m->domain->is_dying) )
+        return -ENOMEM;
+
+    while ( nr )
+    {
+        unsigned long mask;
+        unsigned long order;
+
+        /*
+         * Don't take into account the MFN when removing mapping (i.e
+         * MFN_INVALID) to calculate the correct target order.
+         *
+         * XXX: Support superpage mappings if nr is not aligned to a
+         * superpage size.
+         */
+        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
+        mask |= gfn_x(sgfn) | nr;
+
+        /* Always map 4k by 4k when memaccess is enabled */
+        if ( unlikely(p2m->mem_access_enabled) )
+            order = THIRD_ORDER;
+        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
+            order = FIRST_ORDER;
+        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
+            order = SECOND_ORDER;
+        else
+            order = THIRD_ORDER;
+
+        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
+        if ( rc )
+            break;
+
+        sgfn = gfn_add(sgfn, (1 << order));
+        if ( !mfn_eq(smfn, INVALID_MFN) )
+           smfn = mfn_add(smfn, (1 << order));
+
+        nr -= (1 << order);
+    }
+
+    return rc;
+}
+
+/* Invalidate all entries in the table. The p2m should be write locked. */
+static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
+{
+    lpae_t *table;
+    unsigned int i;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    table = map_domain_page(mfn);
+
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t pte = table[i];
+
+        /*
+         * Writing an entry can be expensive because it may involve
+         * cleaning the cache. So avoid updating the entry if the valid
+         * bit is already cleared.
+         */
+        if ( !pte.p2m.valid )
+            continue;
+
+        pte.p2m.valid = 0;
+
+        p2m_write_pte(&table[i], pte, p2m->clean_pte);
+    }
+
+    unmap_domain_page(table);
+
+    p2m->need_flush = true;
+}
+
+/*
+ * Invalidate all entries in the root page-tables. This is
+ * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
+ */
+void p2m_invalidate_root(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
+        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+
+    p2m_write_unlock(p2m);
+}
+
+/*
+ * Resolve any translation fault due to change in the p2m. This
+ * includes break-before-make and valid bit cleared.
+ */
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned int level = 0;
+    bool resolved = false;
+    lpae_t entry, *table;
+
+    /* Convenience aliases */
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    p2m_write_lock(p2m);
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+        goto out;
+
+    table = p2m_get_root_pointer(p2m, gfn);
+    /*
+     * The table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        goto out;
+    }
+
+    /*
+     * Go down the page-tables until an entry has the valid bit unset or
+     * a block/page entry has been hit.
+     */
+    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
+    {
+        int rc;
+
+        entry = table[offsets[level]];
+
+        if ( level == 3 )
+            break;
+
+        /* Stop as soon as we hit an entry with the valid bit unset. */
+        if ( !lpae_is_valid(entry) )
+            break;
+
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    /*
+     * If the valid bit of the entry is set, it means someone was playing with
+     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     */
+    if ( lpae_is_valid(entry) )
+    {
+        resolved = true;
+        goto out_unmap;
+    }
+
+    /*
+     * The valid bit is unset. If the entry is still not valid then the fault
+     * cannot be resolved, exit and report it.
+     */
+    if ( !p2m_is_valid(entry) )
+        goto out_unmap;
+
+    /*
+     * Now we have an entry with valid bit unset, but still valid from
+     * the P2M point of view.
+     *
+     * If an entry is pointing to a table, each entry of the table will
+     * have there valid bit cleared. This allows a function to clear the
+     * full p2m with just a couple of write. The valid bit will then be
+     * propagated on the fault.
+     * If an entry is pointing to a block/page, no work to do for now.
+     */
+    if ( lpae_is_table(entry, level) )
+        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+
+    /*
+     * Now that the work on the entry is done, set the valid bit to prevent
+     * another fault on that entry.
+     */
+    resolved = true;
+    entry.p2m.valid = 1;
+
+    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+
+    /*
+     * No need to flush the TLBs as the modified entry had the valid bit
+     * unset.
+     */
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    p2m_write_unlock(p2m);
+
+    return resolved;
+}
+
+static struct page_info *p2m_allocate_root(void)
+{
+    struct page_info *page;
+    unsigned int i;
+
+    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
+    if ( page == NULL )
+        return NULL;
+
+    /* Clear both first level pages */
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(page + i);
+
+    return page;
+}
+
+static int p2m_alloc_table(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m->root = p2m_allocate_root();
+    if ( !p2m->root )
+        return -ENOMEM;
+
+    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
+
+    /*
+     * Make sure that all TLBs corresponding to the new VMID are flushed
+     * before using it
+     */
+    p2m_write_lock(p2m);
+    p2m_force_tlb_flush_sync(p2m);
+    p2m_write_unlock(p2m);
+
+    return 0;
+}
+
+int p2m_teardown(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    struct page_info *pg;
+    int rc = 0;
+
+    p2m_write_lock(p2m);
+
+    while ( (pg = page_list_remove_head(&p2m->pages)) )
+    {
+        p2m_free_page(p2m->domain, pg);
+        count++;
+        /* Arbitrarily preempt every 512 iterations */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+    }
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+int p2m_init(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    int rc;
+    unsigned int cpu;
+
+    rwlock_init(&p2m->lock);
+    spin_lock_init(&d->arch.paging.lock);
+    INIT_PAGE_LIST_HEAD(&p2m->pages);
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
+
+    p2m->vmid = INVALID_VMID;
+    p2m->max_mapped_gfn = _gfn(0);
+    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
+
+    p2m->default_access = p2m_access_rwx;
+    p2m->mem_access_enabled = false;
+    radix_tree_init(&p2m->mem_access_settings);
+
+    /*
+     * Some IOMMUs don't support coherent PT walk. When the p2m is
+     * shared with the CPU, Xen has to make sure that the PT changes have
+     * reached the memory
+     */
+    p2m->clean_pte = is_iommu_enabled(d) &&
+        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
+
+    /*
+     * Make sure that the type chosen to is able to store the an vCPU ID
+     * between 0 and the maximum of virtual CPUS supported as long as
+     * the INVALID_VCPU_ID.
+     */
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
+
+    for_each_possible_cpu(cpu)
+       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
+
+    /*
+     * "Trivial" initialisation is now complete.  Set the backpointer so
+     * p2m_teardown() and friends know to do something.
+     */
+    p2m->domain = d;
+
+    rc = p2m_alloc_vmid(d);
+    if ( rc )
+        return rc;
+
+    rc = p2m_alloc_table(d);
+    if ( rc )
+        return rc;
+
+    return 0;
+}
+
+/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
+static register_t __read_mostly vtcr;
+
+void setup_virt_paging_one(void *data)
+{
+    WRITE_SYSREG(vtcr, VTCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
+     * entries related to EL1/EL0 translation regime until a guest vCPU
+     * is running. For that, we need to set-up VTTBR to point to an empty
+     * page-table and turn on stage-2 translation. The TLB entries
+     * associated with EL1/EL0 translation regime will also be flushed in case
+     * an AT instruction was speculated before hand.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
+        isb();
+
+        flush_all_guests_tlb_local();
+    }
+}
+
+void __init setup_virt_paging(void)
+{
+    /* Setup Stage 2 address translation */
+    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
+
+    static const struct {
+        unsigned int pabits; /* Physical Address Size */
+        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
+        unsigned int root_order; /* Page order of the root of the p2m */
+        unsigned int sl0;    /* Desired SL0, maximum in comment */
+    } pa_range_info[] __initconst = {
+        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
+        /*      PA size, t0sz(min), root-order, sl0(max) */
+#ifdef CONFIG_ARM_64
+        [0] = { 32,      32/*32*/,  0,          1 },
+        [1] = { 36,      28/*28*/,  0,          1 },
+        [2] = { 40,      24/*24*/,  1,          1 },
+        [3] = { 42,      22/*22*/,  3,          1 },
+        [4] = { 44,      20/*20*/,  0,          2 },
+        [5] = { 48,      16/*16*/,  0,          2 },
+        [6] = { 52,      12/*12*/,  4,          2 },
+        [7] = { 0 }  /* Invalid */
+#else
+        { 32,      0/*0*/,    0,          1 },
+        { 40,      24/*24*/,  1,          1 }
+#endif
+    };
+
+    unsigned int i;
+    unsigned int pa_range = 0x10; /* Larger than any possible value */
+
+#ifdef CONFIG_ARM_32
+    /*
+     * Typecast pa_range_info[].t0sz into arm32 bit variant.
+     *
+     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
+     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
+     * struct bitfields.
+     */
+    struct
+    {
+        signed int val:5;
+    } t0sz_32;
+#else
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
+
+    /*
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
+     */
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
+        max_vmid = MAX_VMID_16_BIT;
+#endif
+
+    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
+    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
+    {
+        if ( p2m_ipa_bits == pa_range_info[i].pabits )
+        {
+            pa_range = i;
+            break;
+        }
+    }
+
+    /* Check if we found the associated entry in the array */
+    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
+        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
+
+#ifdef CONFIG_ARM_64
+    val |= VTCR_PS(pa_range);
+    val |= VTCR_TG0_4K;
+
+    /* Set the VS bit only if 16 bit VMID is supported. */
+    if ( MAX_VMID == MAX_VMID_16_BIT )
+        val |= VTCR_VS;
+#endif
+
+    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
+    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
+
+    p2m_root_order = pa_range_info[pa_range].root_order;
+    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
+
+#ifdef CONFIG_ARM_64
+    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
+#else
+    t0sz_32.val = pa_range_info[pa_range].t0sz;
+    p2m_ipa_bits = 32 - t0sz_32.val;
+#endif
+
+    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
+           p2m_ipa_bits,
+           pa_range_info[pa_range].pabits,
+           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
+
+    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
+           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
+
+    p2m_vmid_allocator_init();
+
+    /* It is not allowed to concatenate a level zero root */
+    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
+    vtcr = val;
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
+     * with all entries zeroed.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        struct page_info *root;
+
+        root = p2m_allocate_root();
+        if ( !root )
+            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
+
+        empty_root_mfn = page_to_mfn(root);
+    }
+
+    setup_virt_paging_one(NULL);
+    smp_call_function(setup_virt_paging_one, NULL, 1);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..64dcfcb05b 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,1466 +1,136 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/cpu.h>
-#include <xen/domain_page.h>
 #include <xen/iocap.h>
-#include <xen/ioreq.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
-#include <asm/alternative.h>
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
-#define MAX_VMID_8_BIT  (1UL << 8)
-#define MAX_VMID_16_BIT (1UL << 16)
-
-#define INVALID_VMID 0 /* VMID 0 is reserved */
-
-unsigned int __read_mostly p2m_root_order;
-unsigned int __read_mostly p2m_root_level;
 #ifdef CONFIG_ARM_64
-static unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
-/* VMID is by default 8 bit width on AArch64 */
-#define MAX_VMID       max_vmid
-#else
-/* VMID is always 8 bit width on AArch32 */
-#define MAX_VMID        MAX_VMID_8_BIT
-#endif
-
-#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
-
-/*
- * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
- * restricted by external entity (e.g. IOMMU).
- */
-unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
-
-static mfn_t __read_mostly empty_root_mfn;
-
-static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
-{
-    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
-}
-
-static struct page_info *p2m_alloc_page(struct domain *d)
-{
-    struct page_info *pg;
-
-    /*
-     * For hardware domain, there should be no limit in the number of pages that
-     * can be allocated, so that the kernel may take advantage of the extended
-     * regions. Hence, allocate p2m pages for hardware domains from heap.
-     */
-    if ( is_hardware_domain(d) )
-    {
-        pg = alloc_domheap_page(NULL, 0);
-        if ( pg == NULL )
-            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
-    }
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-
-    return pg;
-}
-
-static void p2m_free_page(struct domain *d, struct page_info *pg)
-{
-    if ( is_hardware_domain(d) )
-        free_domheap_page(pg);
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-}
-
-/* Return the size of the pool, in bytes. */
-int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
-{
-    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
-    return 0;
-}
-
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
-{
-    struct page_info *pg;
-
-    ASSERT(spin_is_locked(&d->arch.paging.lock));
-
-    for ( ; ; )
-    {
-        if ( d->arch.paging.p2m_total_pages < pages )
-        {
-            /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(NULL, 0);
-            if ( pg == NULL )
-            {
-                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
-                return -ENOMEM;
-            }
-            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                d->arch.paging.p2m_total_pages + 1;
-            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        }
-        else if ( d->arch.paging.p2m_total_pages > pages )
-        {
-            /* Need to return memory to domheap */
-            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-            if( pg )
-            {
-                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                    d->arch.paging.p2m_total_pages - 1;
-                free_domheap_page(pg);
-            }
-            else
-            {
-                printk(XENLOG_ERR
-                       "Failed to free P2M pages, P2M freelist is empty.\n");
-                return -ENOMEM;
-            }
-        }
-        else
-            break;
-
-        /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
-            return -ERESTART;
-        }
-    }
-
-    return 0;
-}
-
-int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
-{
-    unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
-    int rc;
-
-    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
-         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
-        return -EINVAL;
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
-    spin_unlock(&d->arch.paging.lock);
-
-    ASSERT(preempted == (rc == -ERESTART));
-
-    return rc;
-}
-
-int p2m_teardown_allocation(struct domain *d)
-{
-    int ret = 0;
-    bool preempted = false;
-
-    spin_lock(&d->arch.paging.lock);
-    if ( d->arch.paging.p2m_total_pages != 0 )
-    {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
-        {
-            spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
-        }
-        ASSERT(d->arch.paging.p2m_total_pages == 0);
-    }
-    spin_unlock(&d->arch.paging.lock);
-
-    return ret;
-}
-
-/* Unlock the flush and do a P2M TLB flush if necessary */
-void p2m_write_unlock(struct p2m_domain *p2m)
-{
-    /*
-     * The final flush is done with the P2M write lock taken to avoid
-     * someone else modifying the P2M wbefore the TLB invalidation has
-     * completed.
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    write_unlock(&p2m->lock);
-}
-
-void p2m_dump_info(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    printk("p2m mappings for domain %d (vmid %d):\n",
-           d->domain_id, p2m->vmid);
-    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
-    printk("  1G mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[1], p2m->stats.shattered[1]);
-    printk("  2M mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[2], p2m->stats.shattered[2]);
-    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
-    p2m_read_unlock(p2m);
-}
-
-void memory_type_changed(struct domain *d)
-{
-}
-
-void dump_p2m_lookup(struct domain *d, paddr_t addr)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
-
-    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
-           p2m->root, mfn_x(page_to_mfn(p2m->root)));
-
-    dump_pt_walk(page_to_maddr(p2m->root), addr,
-                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
-}
-
-/*
- * p2m_save_state and p2m_restore_state work in pair to workaround
- * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
- * point to the empty page-tables to stop allocating TLB entries.
- */
-void p2m_save_state(struct vcpu *p)
-{
-    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
-
-    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        /*
-         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
-         * the next vCPU context without worrying about AT instruction
-         * speculation.
-         */
-        isb();
-    }
-}
-
-void p2m_restore_state(struct vcpu *n)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
-    uint8_t *last_vcpu_ran;
-
-    if ( is_idle_vcpu(n) )
-        return;
-
-    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
-    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
-     * registers associated to EL1/EL0 translations regime have been
-     * synchronized.
-     */
-    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
-    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
-
-    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
-
-    /*
-     * While we are restoring an out-of-context translation regime
-     * we still need to ensure:
-     *  - VTTBR_EL2 is synchronized before flushing the TLBs
-     *  - All registers for EL1 are synchronized before executing an AT
-     *  instructions targeting S1/S2.
-     */
-    isb();
-
-    /*
-     * Flush local TLB for the domain to prevent wrong TLB translation
-     * when running multiple vCPU of the same domain on a single pCPU.
-     */
-    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
-        flush_guest_tlb_local();
-
-    *last_vcpu_ran = n->vcpu_id;
-}
-
-/*
- * Force a synchronous P2M TLB flush.
- *
- * Must be called with the p2m lock held.
- */
-static void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    unsigned long flags = 0;
-    uint64_t ovttbr;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * ARM only provides an instruction to flush TLBs for the current
-     * VMID. So switch to the VTTBR of a given P2M if different.
-     */
-    ovttbr = READ_SYSREG64(VTTBR_EL2);
-    if ( ovttbr != p2m->vttbr )
-    {
-        uint64_t vttbr;
-
-        local_irq_save(flags);
-
-        /*
-         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
-         * TLBs entries because the context is partially modified. We
-         * only need the VMID for flushing the TLBs, so we can generate
-         * a new VTTBR with the VMID to flush and the empty root table.
-         */
-        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-            vttbr = p2m->vttbr;
-        else
-            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
-
-        WRITE_SYSREG64(vttbr, VTTBR_EL2);
-
-        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
-        isb();
-    }
-
-    flush_guest_tlb();
-
-    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
-    {
-        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
-        /* Ensure VTTBR_EL2 is back in place before continuing. */
-        isb();
-        local_irq_restore(flags);
-    }
-
-    p2m->need_flush = false;
-}
-
-void p2m_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    if ( p2m->need_flush )
-        p2m_force_tlb_flush_sync(p2m);
-}
-
-/*
- * Find and map the root page table. The caller is responsible for
- * unmapping the table.
- *
- * The function will return NULL if the offset of the root table is
- * invalid.
- */
-static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
-                                    gfn_t gfn)
-{
-    unsigned long root_table;
-
-    /*
-     * While the root table index is the offset from the previous level,
-     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
-     * 0. Yet we still want to check if all the unused bits are zeroed.
-     */
-    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
-                                XEN_PT_LPAE_SHIFT);
-    if ( root_table >= P2M_ROOT_PAGES )
-        return NULL;
-
-    return __map_domain_page(p2m->root + root_table);
-}
-
-/*
- * Lookup the MFN corresponding to a domain's GFN.
- * Lookup mem access in the ratrix tree.
- * The entries associated to the GFN is considered valid.
- */
-static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
-{
-    void *ptr;
-
-    if ( !p2m->mem_access_enabled )
-        return p2m->default_access;
-
-    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
-    if ( !ptr )
-        return p2m_access_rwx;
-    else
-        return radix_tree_ptr_to_int(ptr);
-}
-
-/*
- * In the case of the P2M, the valid bit is used for other purpose. Use
- * the type to check whether an entry is valid.
- */
-static inline bool p2m_is_valid(lpae_t pte)
-{
-    return pte.p2m.type != p2m_invalid;
-}
-
-/*
- * lpae_is_* helpers don't check whether the valid bit is set in the
- * PTE. Provide our own overlay to check the valid bit.
- */
-static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
-}
-
-static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
-}
-
-#define GUEST_TABLE_MAP_FAILED 0
-#define GUEST_TABLE_SUPER_PAGE 1
-#define GUEST_TABLE_NORMAL_PAGE 2
-
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
-
-/*
- * Take the currently mapped table, find the corresponding GFN entry,
- * and map the next table, if available. The previous table will be
- * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
- * returned).
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
- *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
-                          unsigned int level, lpae_t **table,
-                          unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !p2m_is_valid(*entry) )
-    {
-        if ( read_only )
-            return GUEST_TABLE_MAP_FAILED;
-
-        ret = p2m_create_table(p2m, entry);
-        if ( ret )
-            return GUEST_TABLE_MAP_FAILED;
-    }
-
-    /* The function p2m_next_level is never called at the 3rd level */
-    ASSERT(level < 3);
-    if ( p2m_is_mapping(*entry, level) )
-        return GUEST_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    unmap_domain_page(*table);
-    *table = map_domain_page(mfn);
-
-    return GUEST_TABLE_NORMAL_PAGE;
-}
-
-/*
- * Get the details of a given gfn.
- *
- * If the entry is present, the associated MFN will be returned and the
- * access and type filled up. The page_order will correspond to the
- * order of the mapping in the page table (i.e it could be a superpage).
- *
- * If the entry is not present, INVALID_MFN will be returned and the
- * page_order will be set according to the order of the invalid range.
- *
- * valid will contain the value of bit[0] (e.g valid bit) of the
- * entry.
- */
-mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
-                    p2m_type_t *t, p2m_access_t *a,
-                    unsigned int *page_order,
-                    bool *valid)
-{
-    paddr_t addr = gfn_to_gaddr(gfn);
-    unsigned int level = 0;
-    lpae_t entry, *table;
-    int rc;
-    mfn_t mfn = INVALID_MFN;
-    p2m_type_t _t;
-    DECLARE_OFFSETS(offsets, addr);
-
-    ASSERT(p2m_is_locked(p2m));
-    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
-
-    /* Allow t to be NULL */
-    t = t ?: &_t;
-
-    *t = p2m_invalid;
-
-    if ( valid )
-        *valid = false;
-
-    /* XXX: Check if the mapping is lower than the mapped gfn */
-
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-    {
-        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
-                 gfn_x(p2m->max_mapped_gfn) )
-                break;
-
-        goto out;
-    }
-
-    table = p2m_get_root_pointer(p2m, gfn);
-
-    /*
-     * the table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        level = P2M_ROOT_LEVEL;
-        goto out;
-    }
-
-    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-    {
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table[offsets[level]];
-
-    if ( p2m_is_valid(entry) )
-    {
-        *t = entry.p2m.type;
-
-        if ( a )
-            *a = p2m_mem_access_radix_get(p2m, gfn);
-
-        mfn = lpae_get_mfn(entry);
-        /*
-         * The entry may point to a superpage. Find the MFN associated
-         * to the GFN.
-         */
-        mfn = mfn_add(mfn,
-                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
-
-        if ( valid )
-            *valid = lpae_is_valid(entry);
-    }
-
-out_unmap:
-    unmap_domain_page(table);
-
-out:
-    if ( page_order )
-        *page_order = XEN_PT_LEVEL_ORDER(level);
-
-    return mfn;
-}
-
-mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
-{
-    mfn_t mfn;
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
-    p2m_read_unlock(p2m);
-
-    return mfn;
-}
-
-struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
-                                        p2m_type_t *t)
-{
-    struct page_info *page;
-    p2m_type_t p2mt;
-    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
-
-    if ( t )
-        *t = p2mt;
-
-    if ( !p2m_is_any_ram(p2mt) )
-        return NULL;
-
-    if ( !mfn_valid(mfn) )
-        return NULL;
-
-    page = mfn_to_page(mfn);
-
-    /*
-     * get_page won't work on foreign mapping because the page doesn't
-     * belong to the current domain.
-     */
-    if ( p2m_is_foreign(p2mt) )
-    {
-        struct domain *fdom = page_get_owner_and_reference(page);
-        ASSERT(fdom != NULL);
-        ASSERT(fdom != d);
-        return page;
-    }
-
-    return get_page(page, d) ? page : NULL;
-}
-
-int guest_physmap_mark_populate_on_demand(struct domain *d,
-                                          unsigned long gfn,
-                                          unsigned int order)
-{
-    return -ENOSYS;
-}
-
-unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
-                                           unsigned int order)
-{
-    return 0;
-}
-
-static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
-{
-    /* First apply type permissions */
-    switch ( t )
-    {
-    case p2m_ram_rw:
-        e->p2m.xn = 0;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_ram_ro:
-        e->p2m.xn = 0;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_iommu_map_rw:
-    case p2m_map_foreign_rw:
-    case p2m_grant_map_rw:
-    case p2m_mmio_direct_dev:
-    case p2m_mmio_direct_nc:
-    case p2m_mmio_direct_c:
-        e->p2m.xn = 1;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_iommu_map_ro:
-    case p2m_map_foreign_ro:
-    case p2m_grant_map_ro:
-    case p2m_invalid:
-        e->p2m.xn = 1;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_max_real_type:
-        BUG();
-        break;
-    }
-
-    /* Then restrict with access permissions */
-    switch ( a )
-    {
-    case p2m_access_rwx:
-        break;
-    case p2m_access_wx:
-        e->p2m.read = 0;
-        break;
-    case p2m_access_rw:
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_w:
-        e->p2m.read = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_rx:
-    case p2m_access_rx2rw:
-        e->p2m.write = 0;
-        break;
-    case p2m_access_x:
-        e->p2m.write = 0;
-        e->p2m.read = 0;
-        break;
-    case p2m_access_r:
-        e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_n:
-    case p2m_access_n2rwx:
-        e->p2m.read = e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    }
-}
-
-static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
-{
-    /*
-     * sh, xn and write bit will be defined in the following switches
-     * based on mattr and t.
-     */
-    lpae_t e = (lpae_t) {
-        .p2m.af = 1,
-        .p2m.read = 1,
-        .p2m.table = 1,
-        .p2m.valid = 1,
-        .p2m.type = t,
-    };
-
-    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
-
-    switch ( t )
-    {
-    case p2m_mmio_direct_dev:
-        e.p2m.mattr = MATTR_DEV;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    case p2m_mmio_direct_c:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    /*
-     * ARM ARM: Overlaying the shareability attribute (DDI
-     * 0406C.b B3-1376 to 1377)
-     *
-     * A memory region with a resultant memory type attribute of Normal,
-     * and a resultant cacheability attribute of Inner Non-cacheable,
-     * Outer Non-cacheable, must have a resultant shareability attribute
-     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-     *
-     * On ARMv8 shareability is ignored and explicitly treated as Outer
-     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
-     */
-    case p2m_mmio_direct_nc:
-        e.p2m.mattr = MATTR_MEM_NC;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    default:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_INNER;
-    }
-
-    p2m_set_permission(&e, t, a);
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Generate table entry with correct attributes. */
-static lpae_t page_to_p2m_table(struct page_info *page)
-{
-    /*
-     * The access value does not matter because the hardware will ignore
-     * the permission fields for table entry.
-     *
-     * We use p2m_ram_rw so the entry has a valid type. This is important
-     * for p2m_is_valid() to return valid on table entries.
-     */
-    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
-}
-
-static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
-{
-    write_pte(p, pte);
-    if ( clean_pte )
-        clean_dcache(*p);
-}
-
-static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
-{
-    lpae_t pte;
-
-    memset(&pte, 0x00, sizeof(pte));
-    p2m_write_pte(p, pte, clean_pte);
-}
-
-/* Allocate a new page table page and hook it in via the given entry. */
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
-{
-    struct page_info *page;
-    lpae_t *p;
-
-    ASSERT(!p2m_is_valid(*entry));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( page == NULL )
-        return -ENOMEM;
-
-    page_list_add(page, &p2m->pages);
-
-    p = __map_domain_page(page);
-    clear_page(p);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(p, PAGE_SIZE);
-
-    unmap_domain_page(p);
-
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return 0;
-}
-
-static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
-                                    p2m_access_t a)
-{
-    int rc;
-
-    if ( !p2m->mem_access_enabled )
-        return 0;
-
-    if ( p2m_access_rwx == a )
-    {
-        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
-        return 0;
-    }
-
-    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
-                           radix_tree_int_to_ptr(a));
-    if ( rc == -EEXIST )
-    {
-        /* If a setting already exists, change it to the new one */
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(
-                &p2m->mem_access_settings, gfn_x(gfn)),
-            radix_tree_int_to_ptr(a));
-        rc = 0;
-    }
-
-    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)
-{
-    mfn_t mfn = lpae_get_mfn(pte);
-
-    ASSERT(p2m_is_valid(pte));
-
-    /*
-     * TODO: Handle other p2m types
-     *
-     * It's safe to do the put_page here because page_alloc will
-     * flush the TLBs if the page is reallocated before the end of
-     * this loop.
-     */
-    if ( p2m_is_foreign(pte.p2m.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) )
-        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
-}
-
-/* Free lpae sub-tree behind an entry */
-static void p2m_free_entry(struct p2m_domain *p2m,
-                           lpae_t entry, unsigned int level)
-{
-    unsigned int i;
-    lpae_t *table;
-    mfn_t mfn;
-    struct page_info *pg;
-
-    /* Nothing to do if the entry is invalid. */
-    if ( !p2m_is_valid(entry) )
-        return;
-
-    if ( p2m_is_superpage(entry, level) || (level == 3) )
-    {
-#ifdef CONFIG_IOREQ_SERVER
-        /*
-         * If this gets called then either the entry was replaced by an entry
-         * with a different base (valid case) or the shattering of a superpage
-         * has failed (error case).
-         * So, at worst, the spurious mapcache invalidation might be sent.
-         */
-        if ( p2m_is_ram(entry.p2m.type) &&
-             domain_has_ioreq_server(p2m->domain) )
-            ioreq_request_mapcache_invalidate(p2m->domain);
-#endif
-
-        p2m->stats.mappings[level]--;
-        /* Nothing to do if the entry is a super-page. */
-        if ( level == 3 )
-            p2m_put_l3_page(entry);
-        return;
-    }
-
-    table = map_domain_page(lpae_get_mfn(entry));
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-        p2m_free_entry(p2m, *(table + i), level + 1);
-
-    unmap_domain_page(table);
-
-    /*
-     * Make sure all the references in the TLB have been removed before
-     * freing the intermediate page table.
-     * XXX: Should we defer the free of the page table to avoid the
-     * flush?
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    mfn = lpae_get_mfn(entry);
-    ASSERT(mfn_valid(mfn));
-
-    pg = mfn_to_page(mfn);
-
-    page_list_del(pg, &p2m->pages);
-    p2m_free_page(p2m->domain, pg);
-}
-
-static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
-                                unsigned int level, unsigned int target,
-                                const unsigned int *offsets)
-{
-    struct page_info *page;
-    unsigned int i;
-    lpae_t pte, *table;
-    bool rv = true;
-
-    /* Convenience aliases */
-    mfn_t mfn = lpae_get_mfn(*entry);
-    unsigned int next_level = level + 1;
-    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
-
-    /*
-     * This should only be called with target != level and the entry is
-     * a superpage.
-     */
-    ASSERT(level < target);
-    ASSERT(p2m_is_superpage(*entry, level));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( !page )
-        return false;
-
-    page_list_add(page, &p2m->pages);
-    table = __map_domain_page(page);
-
-    /*
-     * We are either splitting a first level 1G page into 512 second level
-     * 2M pages, or a second level 2M page into 512 third level 4K pages.
-     */
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t *new_entry = table + i;
-
-        /*
-         * Use the content of the superpage entry and override
-         * the necessary fields. So the correct permission are kept.
-         */
-        pte = *entry;
-        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
-
-        /*
-         * First and second level pages set p2m.table = 0, but third
-         * level entries set p2m.table = 1.
-         */
-        pte.p2m.table = (next_level == 3);
-
-        write_pte(new_entry, pte);
-    }
-
-    /* Update stats */
-    p2m->stats.shattered[level]++;
-    p2m->stats.mappings[level]--;
-    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
-
-    /*
-     * Shatter superpage in the page to the level we want to make the
-     * changes.
-     * This is done outside the loop to avoid checking the offset to
-     * know whether the entry should be shattered for every entry.
-     */
-    if ( next_level != target )
-        rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 level + 1, target, offsets);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(table, PAGE_SIZE);
-
-    unmap_domain_page(table);
-
-    /*
-     * Even if we failed, we should install the newly allocated LPAE
-     * entry. The caller will be in charge to free the sub-tree.
-     */
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return rv;
-}
-
-/*
- * Insert an entry in the p2m. This should be called with a mapping
- * equal to a page/superpage (4K, 2M, 1G).
- */
-static int __p2m_set_entry(struct p2m_domain *p2m,
-                           gfn_t sgfn,
-                           unsigned int page_order,
-                           mfn_t smfn,
-                           p2m_type_t t,
-                           p2m_access_t a)
-{
-    unsigned int level = 0;
-    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
-    lpae_t *entry, *table, orig_pte;
-    int rc;
-    /* A mapping is removed if the MFN is invalid. */
-    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * Check if the level target is valid: we only support
-     * 4K - 2M - 1G mapping.
-     */
-    ASSERT(target > 0 && target <= 3);
-
-    table = p2m_get_root_pointer(p2m, sgfn);
-    if ( !table )
-        return -EINVAL;
-
-    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
-    {
-        /*
-         * Don't try to allocate intermediate page table if the mapping
-         * is about to be removed.
-         */
-        rc = p2m_next_level(p2m, removing_mapping,
-                            level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because p2m_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and they p2m tree is read-only). It is a valid case
-             * when removing a mapping as it may not exist in the
-             * page table. In this case, just ignore it.
-             */
-            rc = removing_mapping ?  0 : -ENOENT;
-            goto out;
-        }
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table + offsets[level];
-
-    /*
-     * If we are here with level < target, we must be at a leaf node,
-     * and we need to break up the superpage.
-     */
-    if ( level < target )
-    {
-        /* We need to split the original page. */
-        lpae_t split_pte = *entry;
-
-        ASSERT(p2m_is_superpage(*entry, level));
-
-        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
-        {
-            /*
-             * The current super-page is still in-place, so re-increment
-             * the stats.
-             */
-            p2m->stats.mappings[level]++;
-
-            /* Free the allocated sub-tree */
-            p2m_free_entry(p2m, split_pte, level);
-
-            rc = -ENOMEM;
-            goto out;
-        }
-
-        /*
-         * Follow the break-before-sequence to update the entry.
-         * For more details see (D4.7.1 in ARM DDI 0487A.j).
-         */
-        p2m_remove_pte(entry, p2m->clean_pte);
-        p2m_force_tlb_flush_sync(p2m);
-
-        p2m_write_pte(entry, split_pte, p2m->clean_pte);
-
-        /* then move to the level we want to make real changes */
-        for ( ; level < target; level++ )
-        {
-            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-
-            /*
-             * The entry should be found and either be a table
-             * or a superpage if level 3 is not targeted
-             */
-            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
-                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
-        }
-
-        entry = table + offsets[level];
-    }
-
-    /*
-     * We should always be there with the correct level because
-     * all the intermediate tables have been installed if necessary.
-     */
-    ASSERT(level == target);
-
-    orig_pte = *entry;
-
-    /*
-     * The radix-tree can only work on 4KB. This is only used when
-     * memaccess is enabled and during shutdown.
-     */
-    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
-           p2m->domain->is_dying);
-    /*
-     * The access type should always be p2m_access_rwx when the mapping
-     * is removed.
-     */
-    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
-    /*
-     * Update the mem access permission before update the P2M. So we
-     * don't have to revert the mapping if it has failed.
-     */
-    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
-    if ( rc )
-        goto out;
-
-    /*
-     * Always remove the entry in order to follow the break-before-make
-     * sequence when updating the translation table (D4.7.1 in ARM DDI
-     * 0487A.j).
-     */
-    if ( lpae_is_valid(orig_pte) || removing_mapping )
-        p2m_remove_pte(entry, p2m->clean_pte);
-
-    if ( removing_mapping )
-        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |= !!lpae_is_valid(orig_pte);
-    else
-    {
-        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
-
-        if ( level < 3 )
-            pte.p2m.table = 0; /* Superpage entry */
-
-        /*
-         * It is necessary to flush the TLB before writing the new entry
-         * to keep coherency when the previous entry was valid.
-         *
-         * Although, it could be defered when only the permissions are
-         * changed (e.g in case of memaccess).
-         */
-        if ( lpae_is_valid(orig_pte) )
-        {
-            if ( likely(!p2m->mem_access_enabled) ||
-                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
-                p2m_force_tlb_flush_sync(p2m);
-            else
-                p2m->need_flush = true;
-        }
-        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
-            p2m->stats.mappings[level]++;
-
-        p2m_write_pte(entry, pte, p2m->clean_pte);
-
-        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
-                                      gfn_add(sgfn, (1UL << page_order) - 1));
-        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
-    }
-
-    if ( is_iommu_enabled(p2m->domain) &&
-         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
-    {
-        unsigned int flush_flags = 0;
-
-        if ( lpae_is_valid(orig_pte) )
-            flush_flags |= IOMMU_FLUSHF_modified;
-        if ( lpae_is_valid(*entry) )
-            flush_flags |= IOMMU_FLUSHF_added;
-
-        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
-                               1UL << page_order, flush_flags);
-    }
-    else
-        rc = 0;
-
-    /*
-     * Free the entry only if the original pte was valid and the base
-     * is different (to avoid freeing when permission is changed).
-     */
-    if ( p2m_is_valid(orig_pte) &&
-         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
-        p2m_free_entry(p2m, orig_pte, level);
-
-out:
-    unmap_domain_page(table);
-
-    return rc;
-}
-
-int p2m_set_entry(struct p2m_domain *p2m,
-                  gfn_t sgfn,
-                  unsigned long nr,
-                  mfn_t smfn,
-                  p2m_type_t t,
-                  p2m_access_t a)
-{
-    int rc = 0;
-
-    /*
-     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
-     * be dropped in relinquish_p2m_mapping(). As the P2M will still
-     * be accessible after, we need to prevent mapping to be added when the
-     * domain is dying.
-     */
-    if ( unlikely(p2m->domain->is_dying) )
-        return -ENOMEM;
-
-    while ( nr )
-    {
-        unsigned long mask;
-        unsigned long order;
-
-        /*
-         * Don't take into account the MFN when removing mapping (i.e
-         * MFN_INVALID) to calculate the correct target order.
-         *
-         * XXX: Support superpage mappings if nr is not aligned to a
-         * superpage size.
-         */
-        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
-        mask |= gfn_x(sgfn) | nr;
-
-        /* Always map 4k by 4k when memaccess is enabled */
-        if ( unlikely(p2m->mem_access_enabled) )
-            order = THIRD_ORDER;
-        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
-            order = FIRST_ORDER;
-        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
-            order = SECOND_ORDER;
-        else
-            order = THIRD_ORDER;
-
-        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
-        if ( rc )
-            break;
-
-        sgfn = gfn_add(sgfn, (1 << order));
-        if ( !mfn_eq(smfn, INVALID_MFN) )
-           smfn = mfn_add(smfn, (1 << order));
-
-        nr -= (1 << order);
-    }
-
-    return rc;
-}
-
-/* Invalidate all entries in the table. The p2m should be write locked. */
-static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
-{
-    lpae_t *table;
-    unsigned int i;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    table = map_domain_page(mfn);
-
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t pte = table[i];
-
-        /*
-         * Writing an entry can be expensive because it may involve
-         * cleaning the cache. So avoid updating the entry if the valid
-         * bit is already cleared.
-         */
-        if ( !pte.p2m.valid )
-            continue;
-
-        pte.p2m.valid = 0;
-
-        p2m_write_pte(&table[i], pte, p2m->clean_pte);
-    }
-
-    unmap_domain_page(table);
-
-    p2m->need_flush = true;
-}
+unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
+#endif
 
 /*
- * The domain will not be scheduled anymore, so in theory we should
- * not need to flush the TLBs. Do it for safety purpose.
- * Note that all the devices have already been de-assigned. So we don't
- * need to flush the IOMMU TLB here.
+ * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
+ * restricted by external entity (e.g. IOMMU).
  */
-void p2m_clear_root_pages(struct p2m_domain *p2m)
-{
-    unsigned int i;
-
-    p2m_write_lock(p2m);
-
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
+unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
 
-    p2m_force_tlb_flush_sync(p2m);
+/* Unlock the flush and do a P2M TLB flush if necessary */
+void p2m_write_unlock(struct p2m_domain *p2m)
+{
+#ifdef CONFIG_MMU
+    /*
+     * The final flush is done with the P2M write lock taken to avoid
+     * someone else modifying the P2M wbefore the TLB invalidation has
+     * completed.
+     */
+    p2m_tlb_flush_sync(p2m);
+#endif
 
-    p2m_write_unlock(p2m);
+    write_unlock(&p2m->lock);
 }
 
-/*
- * Invalidate all entries in the root page-tables. This is
- * useful to get fault on entry and do an action.
- *
- * p2m_invalid_root() should not be called when the P2M is shared with
- * the IOMMU because it will cause IOMMU fault.
- */
-void p2m_invalidate_root(struct p2m_domain *p2m)
+void memory_type_changed(struct domain *d)
 {
-    unsigned int i;
+}
 
-    ASSERT(!iommu_use_hap_pt(p2m->domain));
+void dump_p2m_lookup(struct domain *d, paddr_t addr)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
-    p2m_write_lock(p2m);
+    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
 
-    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
-        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
+           p2m->root, mfn_x(page_to_mfn(p2m->root)));
 
-    p2m_write_unlock(p2m);
+    dump_pt_walk(page_to_maddr(p2m->root), addr,
+                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
 }
 
-/*
- * Resolve any translation fault due to change in the p2m. This
- * includes break-before-make and valid bit cleared.
- */
-bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
 {
+    mfn_t mfn;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned int level = 0;
-    bool resolved = false;
-    lpae_t entry, *table;
-
-    /* Convenience aliases */
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
-
-    p2m_write_lock(p2m);
 
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-        goto out;
+    p2m_read_lock(p2m);
+    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
+    p2m_read_unlock(p2m);
 
-    table = p2m_get_root_pointer(p2m, gfn);
-    /*
-     * The table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        goto out;
-    }
+    return mfn;
+}
 
-    /*
-     * Go down the page-tables until an entry has the valid bit unset or
-     * a block/page entry has been hit.
-     */
-    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
-    {
-        int rc;
+struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
+                                        p2m_type_t *t)
+{
+    struct page_info *page;
+    p2m_type_t p2mt;
+    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
 
-        entry = table[offsets[level]];
+    if ( t )
+        *t = p2mt;
 
-        if ( level == 3 )
-            break;
+    if ( !p2m_is_any_ram(p2mt) )
+        return NULL;
 
-        /* Stop as soon as we hit an entry with the valid bit unset. */
-        if ( !lpae_is_valid(entry) )
-            break;
+    if ( !mfn_valid(mfn) )
+        return NULL;
 
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
+    page = mfn_to_page(mfn);
 
     /*
-     * If the valid bit of the entry is set, it means someone was playing with
-     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     * get_page won't work on foreign mapping because the page doesn't
+     * belong to the current domain.
      */
-    if ( lpae_is_valid(entry) )
+    if ( p2m_is_foreign(p2mt) )
     {
-        resolved = true;
-        goto out_unmap;
+        struct domain *fdom = page_get_owner_and_reference(page);
+        ASSERT(fdom != NULL);
+        ASSERT(fdom != d);
+        return page;
     }
 
-    /*
-     * The valid bit is unset. If the entry is still not valid then the fault
-     * cannot be resolved, exit and report it.
-     */
-    if ( !p2m_is_valid(entry) )
-        goto out_unmap;
+    return get_page(page, d) ? page : NULL;
+}
 
-    /*
-     * Now we have an entry with valid bit unset, but still valid from
-     * the P2M point of view.
-     *
-     * If an entry is pointing to a table, each entry of the table will
-     * have there valid bit cleared. This allows a function to clear the
-     * full p2m with just a couple of write. The valid bit will then be
-     * propagated on the fault.
-     * If an entry is pointing to a block/page, no work to do for now.
-     */
-    if ( lpae_is_table(entry, level) )
-        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+int guest_physmap_mark_populate_on_demand(struct domain *d,
+                                          unsigned long gfn,
+                                          unsigned int order)
+{
+    return -ENOSYS;
+}
 
-    /*
-     * Now that the work on the entry is done, set the valid bit to prevent
-     * another fault on that entry.
-     */
-    resolved = true;
-    entry.p2m.valid = 1;
+unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
+                                           unsigned int order)
+{
+    return 0;
+}
 
-    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+/*
+ * The domain will not be scheduled anymore, so in theory we should
+ * not need to flush the TLBs. Do it for safety purpose.
+ * Note that all the devices have already been de-assigned. So we don't
+ * need to flush the IOMMU TLB here.
+ */
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
 
-    /*
-     * No need to flush the TLBs as the modified entry had the valid bit
-     * unset.
-     */
+    p2m_write_lock(p2m);
 
-out_unmap:
-    unmap_domain_page(table);
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
 
-out:
-    p2m_write_unlock(p2m);
+#ifdef CONFIG_MMU
+    p2m_force_tlb_flush_sync(p2m);
+#endif
 
-    return resolved;
+    p2m_write_unlock(p2m);
 }
 
 int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
@@ -1612,44 +282,6 @@ int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
     return rc;
 }
 
-static struct page_info *p2m_allocate_root(void)
-{
-    struct page_info *page;
-    unsigned int i;
-
-    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
-    if ( page == NULL )
-        return NULL;
-
-    /* Clear both first level pages */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(page + i);
-
-    return page;
-}
-
-static int p2m_alloc_table(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m->root = p2m_allocate_root();
-    if ( !p2m->root )
-        return -ENOMEM;
-
-    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
-
-    /*
-     * Make sure that all TLBs corresponding to the new VMID are flushed
-     * before using it
-     */
-    p2m_write_lock(p2m);
-    p2m_force_tlb_flush_sync(p2m);
-    p2m_write_unlock(p2m);
-
-    return 0;
-}
-
-
 static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
 
 /*
@@ -1660,7 +292,7 @@ static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
  */
 static unsigned long *vmid_mask;
 
-static void p2m_vmid_allocator_init(void)
+void p2m_vmid_allocator_init(void)
 {
     /*
      * allocate space for vmid_mask based on MAX_VMID
@@ -1673,7 +305,7 @@ static void p2m_vmid_allocator_init(void)
     set_bit(INVALID_VMID, vmid_mask);
 }
 
-static int p2m_alloc_vmid(struct domain *d)
+int p2m_alloc_vmid(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
@@ -1713,32 +345,6 @@ static void p2m_free_vmid(struct domain *d)
     spin_unlock(&vmid_alloc_lock);
 }
 
-int p2m_teardown(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    struct page_info *pg;
-    int rc = 0;
-
-    p2m_write_lock(p2m);
-
-    while ( (pg = page_list_remove_head(&p2m->pages)) )
-    {
-        p2m_free_page(p2m->domain, pg);
-        count++;
-        /* Arbitrarily preempt every 512 iterations */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-    }
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
 void p2m_final_teardown(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1771,61 +377,6 @@ void p2m_final_teardown(struct domain *d)
     p2m->domain = NULL;
 }
 
-int p2m_init(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    int rc;
-    unsigned int cpu;
-
-    rwlock_init(&p2m->lock);
-    spin_lock_init(&d->arch.paging.lock);
-    INIT_PAGE_LIST_HEAD(&p2m->pages);
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
-
-    p2m->vmid = INVALID_VMID;
-    p2m->max_mapped_gfn = _gfn(0);
-    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
-
-    p2m->default_access = p2m_access_rwx;
-    p2m->mem_access_enabled = false;
-    radix_tree_init(&p2m->mem_access_settings);
-
-    /*
-     * Some IOMMUs don't support coherent PT walk. When the p2m is
-     * shared with the CPU, Xen has to make sure that the PT changes have
-     * reached the memory
-     */
-    p2m->clean_pte = is_iommu_enabled(d) &&
-        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
-
-    /*
-     * Make sure that the type chosen to is able to store the an vCPU ID
-     * between 0 and the maximum of virtual CPUS supported as long as
-     * the INVALID_VCPU_ID.
-     */
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
-
-    for_each_possible_cpu(cpu)
-       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
-
-    /*
-     * "Trivial" initialisation is now complete.  Set the backpointer so
-     * p2m_teardown() and friends know to do something.
-     */
-    p2m->domain = d;
-
-    rc = p2m_alloc_vmid(d);
-    if ( rc )
-        return rc;
-
-    rc = p2m_alloc_table(d);
-    if ( rc )
-        return rc;
-
-    return 0;
-}
-
 /*
  * The function will go through the p2m and remove page reference when it
  * is required. The mapping will be removed from the p2m.
@@ -2217,159 +768,6 @@ void __init p2m_restrict_ipa_bits(unsigned int ipa_bits)
         p2m_ipa_bits = ipa_bits;
 }
 
-/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
-static register_t __read_mostly vtcr;
-
-static void setup_virt_paging_one(void *data)
-{
-    WRITE_SYSREG(vtcr, VTCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
-     * entries related to EL1/EL0 translation regime until a guest vCPU
-     * is running. For that, we need to set-up VTTBR to point to an empty
-     * page-table and turn on stage-2 translation. The TLB entries
-     * associated with EL1/EL0 translation regime will also be flushed in case
-     * an AT instruction was speculated before hand.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
-        isb();
-
-        flush_all_guests_tlb_local();
-    }
-}
-
-void __init setup_virt_paging(void)
-{
-    /* Setup Stage 2 address translation */
-    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
-
-    static const struct {
-        unsigned int pabits; /* Physical Address Size */
-        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
-        unsigned int root_order; /* Page order of the root of the p2m */
-        unsigned int sl0;    /* Desired SL0, maximum in comment */
-    } pa_range_info[] __initconst = {
-        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
-        /*      PA size, t0sz(min), root-order, sl0(max) */
-#ifdef CONFIG_ARM_64
-        [0] = { 32,      32/*32*/,  0,          1 },
-        [1] = { 36,      28/*28*/,  0,          1 },
-        [2] = { 40,      24/*24*/,  1,          1 },
-        [3] = { 42,      22/*22*/,  3,          1 },
-        [4] = { 44,      20/*20*/,  0,          2 },
-        [5] = { 48,      16/*16*/,  0,          2 },
-        [6] = { 52,      12/*12*/,  4,          2 },
-        [7] = { 0 }  /* Invalid */
-#else
-        { 32,      0/*0*/,    0,          1 },
-        { 40,      24/*24*/,  1,          1 }
-#endif
-    };
-
-    unsigned int i;
-    unsigned int pa_range = 0x10; /* Larger than any possible value */
-
-#ifdef CONFIG_ARM_32
-    /*
-     * Typecast pa_range_info[].t0sz into arm32 bit variant.
-     *
-     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
-     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
-     * struct bitfields.
-     */
-    struct
-    {
-        signed int val:5;
-    } t0sz_32;
-#else
-    /*
-     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-     * with IPA bits == PA bits, compare against "pabits".
-     */
-    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
-        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
-
-    /*
-     * cpu info sanitization made sure we support 16bits VMID only if all
-     * cores are supporting it.
-     */
-    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
-        max_vmid = MAX_VMID_16_BIT;
-#endif
-
-    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
-    {
-        if ( p2m_ipa_bits == pa_range_info[i].pabits )
-        {
-            pa_range = i;
-            break;
-        }
-    }
-
-    /* Check if we found the associated entry in the array */
-    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
-        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
-
-#ifdef CONFIG_ARM_64
-    val |= VTCR_PS(pa_range);
-    val |= VTCR_TG0_4K;
-
-    /* Set the VS bit only if 16 bit VMID is supported. */
-    if ( MAX_VMID == MAX_VMID_16_BIT )
-        val |= VTCR_VS;
-#endif
-
-    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
-    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
-
-    p2m_root_order = pa_range_info[pa_range].root_order;
-    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
-
-#ifdef CONFIG_ARM_64
-    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
-#else
-    t0sz_32.val = pa_range_info[pa_range].t0sz;
-    p2m_ipa_bits = 32 - t0sz_32.val;
-#endif
-
-    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
-           p2m_ipa_bits,
-           pa_range_info[pa_range].pabits,
-           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
-
-    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
-           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
-
-    p2m_vmid_allocator_init();
-
-    /* It is not allowed to concatenate a level zero root */
-    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
-    vtcr = val;
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
-     * with all entries zeroed.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        struct page_info *root;
-
-        root = p2m_allocate_root();
-        if ( !root )
-            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
-
-        empty_root_mfn = page_to_mfn(root);
-    }
-
-    setup_virt_paging_one(NULL);
-    smp_call_function(setup_virt_paging_one, NULL, 1);
-}
-
 static int cpu_virt_paging_callback(struct notifier_block *nfb,
                                     unsigned long action,
                                     void *hcpu)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583097.913178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAt-0007Wg-PK; Mon, 14 Aug 2023 04:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583097.913178; Mon, 14 Aug 2023 04: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 1qVPAt-0007UU-K7; Mon, 14 Aug 2023 04:27:27 +0000
Received: by outflank-mailman (input) for mailman id 583097;
 Mon, 14 Aug 2023 04:27:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVPA2-0002FE-7S
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:34 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id beca3769-3a5a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 06:26:32 +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 D13F92F4;
 Sun, 13 Aug 2023 21:27:13 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 989773F64C;
 Sun, 13 Aug 2023 21: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: beca3769-3a5a-11ee-b288-6b7b168915f2
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function names for extendability
Date: Mon, 14 Aug 2023 12:25:32 +0800
Message-Id: <20230814042536.878720-10-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

As preparation for MPU support, which will use some variables/functions
for both MMU and MPU system, We rename the affected variable/function
to more generic names:
- init_ttbr -> init_mm,
- mmu_init_secondary_cpu() -> mm_init_secondary_cpu()
- init_secondary_pagetables() -> init_secondary_mm()
- Add a wrapper update_mm_mapping() for MMU system's
  update_identity_mapping()

Modify the related in-code comment to reflect above changes, take the
opportunity to fix the incorrect coding style of the in-code comments.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- Rebase on top of xen/arm: mm: add missing extern variable declaration
v4:
- Extract the renaming part from the original patch:
  "[v3,13/52] xen/mmu: extract mmu-specific codes from mm.c/mm.h"
---
 xen/arch/arm/arm32/head.S           |  4 ++--
 xen/arch/arm/arm64/mmu/head.S       |  2 +-
 xen/arch/arm/arm64/mmu/mm.c         | 11 ++++++++---
 xen/arch/arm/arm64/smpboot.c        |  6 +++---
 xen/arch/arm/include/asm/arm64/mm.h |  7 ++++---
 xen/arch/arm/include/asm/mm.h       | 12 +++++++-----
 xen/arch/arm/mmu/mm.c               | 20 ++++++++++----------
 xen/arch/arm/smpboot.c              |  4 ++--
 8 files changed, 37 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 33b038e7e0..03ab68578a 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -238,11 +238,11 @@ GLOBAL(init_secondary)
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in init_secondary_pagetables.
+         * setup in init_secondary_mm.
          *
          * XXX: This is not compliant with the Arm Arm.
          */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        mov_w r4, init_mm            /* VA of HTTBR value stashed by CPU 0 */
         ldrd  r4, r5, [r4]           /* Actual value */
         dsb
         mcrr  CP64(r4, r5, HTTBR)
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index ba2ddd7e67..58d91c9088 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -302,7 +302,7 @@ ENDPROC(enable_mmu)
 ENTRY(enable_secondary_cpu_mm)
         mov   x5, lr
 
-        load_paddr x0, init_ttbr
+        load_paddr x0, init_mm
         ldr   x0, [x0]
 
         bl    enable_mmu
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 78b7c7eb00..ed0fc5ff7b 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -106,7 +106,7 @@ void __init arch_setup_page_tables(void)
     prepare_runtime_identity_mapping();
 }
 
-void update_identity_mapping(bool enable)
+static void update_identity_mapping(bool enable)
 {
     paddr_t id_addr = virt_to_maddr(_start);
     int rc;
@@ -120,6 +120,11 @@ void update_identity_mapping(bool enable)
     BUG_ON(rc);
 }
 
+void update_mm_mapping(bool enable)
+{
+    update_identity_mapping(enable);
+}
+
 extern void switch_ttbr_id(uint64_t ttbr);
 
 typedef void (switch_ttbr_fn)(uint64_t ttbr);
@@ -131,7 +136,7 @@ void __init switch_ttbr(uint64_t ttbr)
     lpae_t pte;
 
     /* Enable the identity mapping in the boot page tables */
-    update_identity_mapping(true);
+    update_mm_mapping(true);
 
     /* Enable the identity mapping in the runtime page tables */
     pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
@@ -148,7 +153,7 @@ void __init switch_ttbr(uint64_t ttbr)
      * Note it is not necessary to disable it in the boot page tables
      * because they are not going to be used by this CPU anymore.
      */
-    update_identity_mapping(false);
+    update_mm_mapping(false);
 }
 
 /*
diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 9637f42469..2b1d086a1e 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -111,18 +111,18 @@ int arch_cpu_up(int cpu)
     if ( !smp_enable_ops[cpu].prepare_cpu )
         return -ENODEV;
 
-    update_identity_mapping(true);
+    update_mm_mapping(true);
 
     rc = smp_enable_ops[cpu].prepare_cpu(cpu);
     if ( rc )
-        update_identity_mapping(false);
+        update_mm_mapping(false);
 
     return rc;
 }
 
 void arch_cpu_up_finish(void)
 {
-    update_identity_mapping(false);
+    update_mm_mapping(false);
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index e0bd23a6ed..7a389c4b21 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -15,13 +15,14 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 void arch_setup_page_tables(void);
 
 /*
- * Enable/disable the identity mapping in the live page-tables (i.e.
- * the one pointed by TTBR_EL2).
+ * In MMU system, enable/disable the identity mapping in the live
+ * page-tables (i.e. the one pointed by TTBR_EL2) through
+ * update_identity_mapping().
  *
  * Note that nested call (e.g. enable=true, enable=true) is not
  * supported.
  */
-void update_identity_mapping(bool enable);
+void update_mm_mapping(bool enable);
 
 #endif /* __ARM_ARM64_MM_H__ */
 
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index dc1458b047..8084c62c01 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -170,7 +170,7 @@ struct page_info
 #define PGC_need_scrub    PGC_allocated
 
 /* Non-boot CPUs use this to find the correct pagetables. */
-extern uint64_t init_ttbr;
+extern uint64_t init_mm;
 
 #ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
@@ -205,11 +205,13 @@ extern void setup_pagetables(unsigned long boot_phys_offset);
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
-/* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
- * new page table */
-extern int init_secondary_pagetables(int cpu);
+/*
+ * Allocate and initialise pagetables for a secondary CPU. Sets init_mm to the
+ * new page table
+ */
+extern int init_secondary_mm(int cpu);
 /* Switch secondary CPUS to its own pagetables and finalise MMU setup */
-extern void mmu_init_secondary_cpu(void);
+extern void mm_init_secondary_cpu(void);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c
index 1d6267e6c5..7486c35ec0 100644
--- a/xen/arch/arm/mmu/mm.c
+++ b/xen/arch/arm/mmu/mm.c
@@ -106,7 +106,7 @@ DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
 static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
 
 /* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
+uint64_t init_mm;
 
 static paddr_t phys_offset;
 
@@ -492,18 +492,18 @@ static void clear_boot_pagetables(void)
 }
 
 #ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
+int init_secondary_mm(int cpu)
 {
     clear_boot_pagetables();
 
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
+    /* Set init_mm for this CPU coming up. All CPus share a single setof
      * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
+    init_mm = (uintptr_t) xen_pgtable + phys_offset;
+    clean_dcache(init_mm);
     return 0;
 }
 #else
-int init_secondary_pagetables(int cpu)
+int init_secondary_mm(int cpu)
 {
     lpae_t *first;
 
@@ -529,16 +529,16 @@ int init_secondary_pagetables(int cpu)
 
     clear_boot_pagetables();
 
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
+    /* Set init_mm for this CPU coming up */
+    init_mm = __pa(first);
+    clean_dcache(init_mm);
 
     return 0;
 }
 #endif
 
 /* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
+void mm_init_secondary_cpu(void)
 {
     xen_pt_enforce_wnx();
 }
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..8bcdbea66c 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -359,7 +359,7 @@ void start_secondary(void)
      */
     update_system_features(&current_cpu_data);
 
-    mmu_init_secondary_cpu();
+    mm_init_secondary_cpu();
 
     gic_init_secondary_cpu();
 
@@ -448,7 +448,7 @@ int __cpu_up(unsigned int cpu)
 
     printk("Bringing up CPU%d\n", cpu);
 
-    rc = init_secondary_pagetables(cpu);
+    rc = init_secondary_mm(cpu);
     if ( rc < 0 )
         return rc;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 04:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 04:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583102.913187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAu-0007j8-NP; Mon, 14 Aug 2023 04:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583102.913187; Mon, 14 Aug 2023 04:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVPAu-0007gD-Dt; Mon, 14 Aug 2023 04:27:28 +0000
Received: by outflank-mailman (input) for mailman id 583102;
 Mon, 14 Aug 2023 04: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=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVPAD-0002UD-Fl
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 04:26:45 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c5ce37fc-3a5a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 06:26:43 +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 8D93F2F4;
 Sun, 13 Aug 2023 21:27:25 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 10D223F64C;
 Sun, 13 Aug 2023 21: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: c5ce37fc-3a5a-11ee-8613-37d641c3527e
From: Henry Wang <Henry.Wang@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to setup.c
Date: Mon, 14 Aug 2023 12:25:35 +0800
Message-Id: <20230814042536.878720-13-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230814042536.878720-1-Henry.Wang@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Function copy_from_paddr() is defined in asm/setup.h, so it is better
to be implemented in setup.c.

Current copy_from_paddr() implementation is mmu-specific, so this
commit moves copy_from_paddr() into mmu/setup.c, and it is also
benefical for us to implement MPU version of copy_from_paddr() in
later commit.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5:
- No change
v4:
- No change
v3:
- new commit
---
 xen/arch/arm/kernel.c    | 27 ---------------------------
 xen/arch/arm/mmu/setup.c | 27 +++++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 508c54824d..0d433a32e7 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -41,33 +41,6 @@ struct minimal_dtb_header {
 
 #define DTB_MAGIC 0xd00dfeedU
 
-/**
- * copy_from_paddr - copy data from a physical address
- * @dst: destination virtual address
- * @paddr: source physical address
- * @len: length to copy
- */
-void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
-{
-    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
-
-    while (len) {
-        unsigned long l, s;
-
-        s = paddr & (PAGE_SIZE-1);
-        l = min(PAGE_SIZE - s, len);
-
-        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
-        memcpy(dst, src + s, l);
-        clean_dcache_va_range(dst, l);
-        clear_fixmap(FIXMAP_MISC);
-
-        paddr += l;
-        dst += l;
-        len -= l;
-    }
-}
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index e05cca3f86..889ada6b87 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -329,6 +329,33 @@ void __init setup_mm(void)
 }
 #endif
 
+/*
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
+
+    while (len) {
+        unsigned long l, s;
+
+        s = paddr & (PAGE_SIZE-1);
+        l = min(PAGE_SIZE - s, len);
+
+        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
+        memcpy(dst, src + s, l);
+        clean_dcache_va_range(dst, l);
+        clear_fixmap(FIXMAP_MISC);
+
+        paddr += l;
+        dst += l;
+        len -= l;
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 05:42:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 05:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583157.913207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQLc-0001df-7f; Mon, 14 Aug 2023 05:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583157.913207; Mon, 14 Aug 2023 05: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 1qVQLc-0001dY-44; Mon, 14 Aug 2023 05:42:36 +0000
Received: by outflank-mailman (input) for mailman id 583157;
 Mon, 14 Aug 2023 05:42:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVQLa-0001dK-S3
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 05:42:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bddc72c-3a65-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 07:42:30 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 115AF21996;
 Mon, 14 Aug 2023 05:42:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DA37213357;
 Mon, 14 Aug 2023 05:42:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1YHFM8W+2WR+EgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 05:42:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bddc72c-3a65-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691991750; 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=K1zGDBnJSZTTfvc1uP/sNsHKFV/lwgtjcpwZuX/KOTs=;
	b=a0M/uaSkOZ0Br+E0DLjem+XHJy+khik2ycy/Xc/gN1VpVDy7Bx2JCUpEe7IC0H5dooQav+
	/noPOE7zOetJPVczNupgkW7iKggvCHNoKGj2OaFn0XJ5hS3vnkf8FJywuJrPRenERG3vIA
	mMMM3BJ/qNgt+7SvYQYd7wnD+ivmEOA=
Message-ID: <7ac310ef-06a6-43a5-93fb-34cbc91bcc06@suse.com>
Date: Mon, 14 Aug 2023 07:42:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
 <2b73a5f6-0fd1-bf58-569e-f53cabfa7987@xen.org>
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: <2b73a5f6-0fd1-bf58-569e-f53cabfa7987@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------kBhEmNu0qRSnBKsSPlsPAnTi"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------kBhEmNu0qRSnBKsSPlsPAnTi
Content-Type: multipart/mixed; boundary="------------KiU31cn6aFI9ER6Zm6LEyh0H";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <7ac310ef-06a6-43a5-93fb-34cbc91bcc06@suse.com>
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
 <2b73a5f6-0fd1-bf58-569e-f53cabfa7987@xen.org>
In-Reply-To: <2b73a5f6-0fd1-bf58-569e-f53cabfa7987@xen.org>

--------------KiU31cn6aFI9ER6Zm6LEyh0H
Content-Type: multipart/mixed; boundary="------------mbOjIE0gc094VL5iwcOR4tQV"

--------------mbOjIE0gc094VL5iwcOR4tQV
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMDguMjMgMTM6NTYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBU
b2RheSBnZXRfbm9kZV9jYW5vbmljYWxpemVkKCkgaXMgdGhlIG9ubHkgY2FsbGVyIG9mIGdl
dF9ub2RlKCkuDQo+Pg0KPj4gSW4gb3JkZXIgdG8gcHJlcGFyZSBpbnRyb2R1Y2luZyBhIGdl
dF9ub2RlKCkgdmFyaWFudCByZXR1cm5pbmcgYQ0KPj4gcG9pbnRlciB0byBjb25zdCBzdHJ1
Y3Qgbm9kZSwgZG8gdGhlIGZvbGxvd2luZyByZXN0cnVjdHVyaW5nOg0KPj4NCj4+IC0gbW92
ZSB0aGUgY2FsbCBvZiByZWFkX25vZGUoKSBmcm9tIGdldF9ub2RlKCkgaW50bw0KPj4gwqDC
oCBnZXRfbm9kZV9jYW5vbmljYWxpemVkKCkNCj4+DQo+PiAtIHJlbmFtZSBnZXRfbm9kZSgp
IHRvIGdldF9ub2RlX2Noa19wZXJtKCkNCj4+DQo+PiAtIHJlbmFtZSBnZXRfbm9kZV9jYW5v
bmljYWxpemVkKCkgdG8gZ2V0X25vZGUoKQ0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gVjM6DQo+PiAtIG5ldyBw
YXRjaA0KPj4gLS0tDQo+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jIHwg
NTcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiDCoCAxIGZpbGUgY2hh
bmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMgYi90b29scy94ZW5zdG9y
ZS94ZW5zdG9yZWRfY29yZS5jDQo+PiBpbmRleCBlYzIwYmMwNDJkLi5mYTA3YmMwYzMxIDEw
MDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYw0KPj4gKysr
IGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYw0KPj4gQEAgLTk5NiwyNyArOTk2
LDI2IEBAIHN0YXRpYyBpbnQgZXJybm9fZnJvbV9wYXJlbnRzKHN0cnVjdCBjb25uZWN0aW9u
ICpjb25uLCANCj4+IGNvbnN0IHZvaWQgKmN0eCwNCj4+IMKgwqAgKiBJZiBpdCBmYWlscywg
cmV0dXJucyBOVUxMIGFuZCBzZXRzIGVycm5vLg0KPj4gwqDCoCAqIFRlbXBvcmFyeSBtZW1v
cnkgYWxsb2NhdGlvbnMgYXJlIGRvbmUgd2l0aCBjdHguDQo+PiDCoMKgICovDQo+PiAtc3Rh
dGljIHN0cnVjdCBub2RlICpnZXRfbm9kZShzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwNCj4+
IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCB2b2lkICpjdHgsDQo+
PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZSwN
Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgcGVy
bSkNCj4+ICtzdGF0aWMgYm9vbCBnZXRfbm9kZV9jaGtfcGVybShzdHJ1Y3QgY29ubmVjdGlv
biAqY29ubiwgY29uc3Qgdm9pZCAqY3R4LA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKm5hbWUs
DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQg
cGVybSkNCj4+IMKgIHsNCj4+IC3CoMKgwqAgc3RydWN0IG5vZGUgKm5vZGU7DQo+PiDCoMKg
wqDCoMKgIHN0cnVjdCBub2RlX3Blcm1zIHBlcm1zOw0KPj4gK8KgwqDCoCBib29sIGVyciA9
IGZhbHNlOw0KPj4gLcKgwqDCoCBub2RlID0gcmVhZF9ub2RlKGNvbm4sIGN0eCwgbmFtZSk7
DQo+PiDCoMKgwqDCoMKgIC8qIElmIHdlIGRvbid0IGhhdmUgcGVybWlzc2lvbiwgd2UgZG9u
J3QgaGF2ZSBub2RlLiAqLw0KPj4gwqDCoMKgwqDCoCBpZiAobm9kZSkgew0KPj4gwqDCoMKg
wqDCoMKgwqDCoMKgIG5vZGVfdG9fbm9kZV9wZXJtcyhub2RlLCAmcGVybXMpOw0KPj4gwqDC
oMKgwqDCoMKgwqDCoMKgIGlmICgocGVybV9mb3JfY29ubihjb25uLCAmcGVybXMpICYgcGVy
bSkgIT0gcGVybSkgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXJybm8gPSBF
QUNDRVM7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBub2RlID0gTlVMTDsNCj4+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVyciA9IHRydWU7DQo+PiDCoMKgwqDCoMKgwqDCoMKg
wqAgfQ0KPj4gwqDCoMKgwqDCoCB9DQo+PiDCoMKgwqDCoMKgIC8qIENsZWFuIHVwIGVycm5v
IGlmIHRoZXkgd2VyZW4ndCBzdXBwb3NlZCB0byBrbm93LiAqLw0KPj4gLcKgwqDCoCBpZiAo
IW5vZGUgJiYgIXJlYWRfbm9kZV9jYW5fcHJvcGFnYXRlX2Vycm5vKCkpDQo+PiArwqDCoMKg
IGlmIChlcnIgJiYgIXJlYWRfbm9kZV9jYW5fcHJvcGFnYXRlX2Vycm5vKCkpDQo+IA0KPiBM
b29raW5nIGF0IHRoZSBjYWxsZXIgZm9yIGdldF9ub2RlX2Noa19wZXJtKCksIG5vZGUgY291
bGQgYmUgTlVMTC4gSW4gdGhpcyBjYXNlLCANCj4gZXJyIHdvdWxkIGJlIGZhbHNlLiBTbyB0
aGVyZSBpcyBhIGNoYW5nZSBvZiBiZWhhdmlvciBoZXJlLg0KPiANCj4gSXQgaXMgbm90IGVu
dGlyZWx5IGNsZWFyIHdoeSBpdCBpcyBmaW5lLiBCdXQgaXQgbWlnaHQgYmUgYmV0dGVyIHRv
IGhhdmUgZXJyIA0KPiBlcXVhbHMgdG8gdHJ1ZSB3aGVuIG5vZGUgaXMgTlVMTC4NCg0KWWVz
LCB5b3UgYXJlIHJpZ2h0LiBJJ2xsIHN3aXRjaCB0bzoNCg0KKwlib29sIGVyciA9ICFub2Rl
Ow0KDQoNCkp1ZXJnZW4NCg0K
--------------mbOjIE0gc094VL5iwcOR4tQV
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mbOjIE0gc094VL5iwcOR4tQV--

--------------KiU31cn6aFI9ER6Zm6LEyh0H--

--------------kBhEmNu0qRSnBKsSPlsPAnTi
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/Ey8FAmTZvsUFAwAAAAAACgkQsN6d1ii/Ey9H
Jwf/cE1ZPSaALZSfo0J4zIdTMlyHPb22t+izOhQ9muavnl8eX+MOhYkuZusPXHRpQ2VJUxaJcmeL
7DPZgDBYT6syAHMI+4Cd0tDiCfSv0/XlqQkGhGtN4YJB4+pTRCOGUNScNcGKUqSpg6PmFJ0zTv1r
5kAEnW7oDsfXXwdODd76NllpgSgtu9otZCnLApcGpIrJuOkRFY7HtLTF/M/ysUB8IDAQhtMWvD1G
r0YSQQsGso90BzBCUXr/PuEl8ZFq9/lgtyQwNTLSTlZbqgZ5ZTvm9jfPhIwmtLR7fIuTipYjM/3K
SCbBPZ23maLllGiyMJaaJudtnM/nnVTUl37l4pmsgw==
=eKlv
-----END PGP SIGNATURE-----

--------------kBhEmNu0qRSnBKsSPlsPAnTi--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 05:48:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 05:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583163.913217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQRF-0002Hp-Rv; Mon, 14 Aug 2023 05:48:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583163.913217; Mon, 14 Aug 2023 05:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQRF-0002Hi-Om; Mon, 14 Aug 2023 05:48:25 +0000
Received: by outflank-mailman (input) for mailman id 583163;
 Mon, 14 Aug 2023 05:48:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVQRF-0002Hc-0C
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 05:48:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e2c67b6-3a66-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 07:48:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E30AB21996;
 Mon, 14 Aug 2023 05:48:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B449E13357;
 Mon, 14 Aug 2023 05:48:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id z4InKibA2WQ6FAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 05:48: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: 2e2c67b6-3a66-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691992102; 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=I0vapKqRXQ37MjK8Q9xHiGe0FOpELOjBDXxmd8FN0CA=;
	b=Qi+n5xPLMcgfVEdbIYSXtDCuu4CNr8J/G2zzQDt4QncMJSseSkk37Hh77E/R7HD4jtnLlK
	eksxU3PukF+CieUM3x7Gl1/xC6rACEtPW1iFXp5R1Oa3Q4NPponTwvIBAScsB8l6UPP+SF
	UtmahjYJ8cbStil//oWEIozgN0W1pWw=
Message-ID: <78c8132e-ee13-47da-8ca7-684f5ede5c74@suse.com>
Date: Mon, 14 Aug 2023 07:48:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
 <389197ab-92fa-b3ad-969f-29dcda402b21@xen.org>
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: <389197ab-92fa-b3ad-969f-29dcda402b21@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------407cAlYM55HK0IyqqFlPv12Y"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------407cAlYM55HK0IyqqFlPv12Y
Content-Type: multipart/mixed; boundary="------------t2DUuHy9uBrmJnZzE1voT670";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <78c8132e-ee13-47da-8ca7-684f5ede5c74@suse.com>
Subject: Re: [PATCH v3 24/25] tools/xenstore: rework get_node()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-25-jgross@suse.com>
 <389197ab-92fa-b3ad-969f-29dcda402b21@xen.org>
In-Reply-To: <389197ab-92fa-b3ad-969f-29dcda402b21@xen.org>

--------------t2DUuHy9uBrmJnZzE1voT670
Content-Type: multipart/mixed; boundary="------------AAMNeWIOMwOd0my257dVhvFR"

--------------AAMNeWIOMwOd0my257dVhvFR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMDguMjMgMTQ6MDMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uZSBtb3JlIHJlbWFyay4NCj4gDQo+IE9uIDI0LzA3LzIwMjMgMTI6MDIsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBUb2RheSBnZXRfbm9kZV9jYW5vbmljYWxpemVkKCkg
aXMgdGhlIG9ubHkgY2FsbGVyIG9mIGdldF9ub2RlKCkuDQo+Pg0KPj4gSW4gb3JkZXIgdG8g
cHJlcGFyZSBpbnRyb2R1Y2luZyBhIGdldF9ub2RlKCkgdmFyaWFudCByZXR1cm5pbmcgYQ0K
Pj4gcG9pbnRlciB0byBjb25zdCBzdHJ1Y3Qgbm9kZSwgZG8gdGhlIGZvbGxvd2luZyByZXN0
cnVjdHVyaW5nOg0KPj4NCj4+IC0gbW92ZSB0aGUgY2FsbCBvZiByZWFkX25vZGUoKSBmcm9t
IGdldF9ub2RlKCkgaW50bw0KPj4gwqDCoCBnZXRfbm9kZV9jYW5vbmljYWxpemVkKCkNCj4+
DQo+PiAtIHJlbmFtZSBnZXRfbm9kZSgpIHRvIGdldF9ub2RlX2Noa19wZXJtKCkNCj4+DQo+
PiAtIHJlbmFtZSBnZXRfbm9kZV9jYW5vbmljYWxpemVkKCkgdG8gZ2V0X25vZGUoKQ0KPj4N
Cj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+
IC0tLQ0KPj4gVjM6DQo+PiAtIG5ldyBwYXRjaA0KPj4gLS0tDQo+PiDCoCB0b29scy94ZW5z
dG9yZS94ZW5zdG9yZWRfY29yZS5jIHwgNTcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t
LS0tLS0tDQo+PiDCoCAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMzIgZGVs
ZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3Jl
ZF9jb3JlLmMgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+PiBpbmRleCBl
YzIwYmMwNDJkLi5mYTA3YmMwYzMxIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUv
eGVuc3RvcmVkX2NvcmUuYw0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2Nv
cmUuYw0KPj4gQEAgLTk5NiwyNyArOTk2LDI2IEBAIHN0YXRpYyBpbnQgZXJybm9fZnJvbV9w
YXJlbnRzKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCANCj4+IGNvbnN0IHZvaWQgKmN0eCwN
Cj4+IMKgwqAgKiBJZiBpdCBmYWlscywgcmV0dXJucyBOVUxMIGFuZCBzZXRzIGVycm5vLg0K
Pj4gwqDCoCAqIFRlbXBvcmFyeSBtZW1vcnkgYWxsb2NhdGlvbnMgYXJlIGRvbmUgd2l0aCBj
dHguDQo+PiDCoMKgICovDQo+PiAtc3RhdGljIHN0cnVjdCBub2RlICpnZXRfbm9kZShzdHJ1
Y3QgY29ubmVjdGlvbiAqY29ubiwNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBjb25zdCB2b2lkICpjdHgsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgY29uc3QgY2hhciAqbmFtZSwNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB1bnNpZ25lZCBpbnQgcGVybSkNCj4+ICtzdGF0aWMgYm9vbCBnZXRfbm9kZV9j
aGtfcGVybShzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgY29uc3Qgdm9pZCAqY3R4LA0KPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IG5vZGUg
Km5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgcGVybSkNCj4gDQo+IEFzIHlvdSB1c2UgYm9vbCwg
SSBmaW5kIGEgYml0IGNvbmZ1c2luZyB0aGF0ICd0cnVlJyB3b3VsZCBiZSByZXR1cm5lZCBv
biBlcnJvciANCj4gd2hpbGUgJ2ZhbHNlJyBpbmRpY2F0ZSBpdCBpcyBvay4gSSBmZWVsIHRo
ZSBpbnZlcnNlIGlzIG1vcmUgaW50dWl0aXZlLg0KDQpEZXBlbmRzIGhvdyB5b3UgYXJlIGxv
b2tpbmcgYXQgaXQuIE9uIHRoZSBjYWxsZXIgc2lkZSBpdCBpcyBJTU8gbW9yZQ0KaW50dWl0
aXZlIHRoZSBvdGhlciB3YXkgcm91bmQgKGl0IGlzIGEgY29tbW9uIHBhdHRlcm4gZm9yIGZ1
bmN0aW9uIHJldHVybmluZw0KYW4gaW50IHRvIHJldHVybiAwIGluIHRoZSBuby1lcnJvciBj
YXNlKS4NCg0KT1RPSCByZXR1cm5pbmcgInRydWUiIGZvciB0aGUgbm8tZXJyb3IgY2FzZSBz
ZWVtcyB0byBiZSB0aGUgc3RhbmRhcmQgaW4NClhlbnN0b3JlIGZvciByZXR1cm4gdHlwZSBi
b29sLg0KDQo+IEkgY2FuIHVuZGVyc3RhbmQgdGhpcyBpcyBhIG1hdHRlciBvZiB0YXN0ZS4g
U28gdGhlIG9ubHkgdGhpbmcgSSB3b3VsZCBhc2sgaXMgDQo+IGRvY3VtZW50aW5nIHRoaXMg
b2RkaXR5IGFzIEkgY2FuIGZvcmVzZWUgc29tZW9uZSB0aGF0IG1pc2ludGVycHJldGluZyB0
aGUgcmV0dXJuLg0KDQpJJ2xsIHN3aXRjaCBlcnIgdG8gc3VjY2Vzcy4NCg0KDQpKdWVyZ2Vu
DQo=
--------------AAMNeWIOMwOd0my257dVhvFR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------AAMNeWIOMwOd0my257dVhvFR--

--------------t2DUuHy9uBrmJnZzE1voT670--

--------------407cAlYM55HK0IyqqFlPv12Y
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/Ey8FAmTZwCYFAwAAAAAACgkQsN6d1ii/Ey+x
jgf/ZlqPxPt+JHapL9jurYZcE15NqwHehTLnsoeS2sam0KRHbYhTl3nraLudTaJAq4U1POOcOS/a
MNCbmykY3l6lDF0LM87Np89NG4Sllu5938+e87HJYVQ8GONrRK1bzc6rbm2JA8LXFgi4nnIOWdCs
cEsMj3Ls4YBdfruP9DKQ5lmRiCVj2vuEttYxadN3aFca8mPvdHcA0Ocg+lGVuCsDoccXZlHxRQ2c
9D76CItutNnrub2il75ynx0J5jktdUSjgRTd70GVgracWtJwJp4KJb+8fzXJyK3sgYKRZElOTMEM
u022ACZHP7XV9iWsHvNnwp912ZD5/ScifwNLQ8l0qQ==
=wLUL
-----END PGP SIGNATURE-----

--------------407cAlYM55HK0IyqqFlPv12Y--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 05:54:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 05:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583170.913227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQX0-0003oJ-JA; Mon, 14 Aug 2023 05:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583170.913227; Mon, 14 Aug 2023 05:54:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQX0-0003oC-GR; Mon, 14 Aug 2023 05:54:22 +0000
Received: by outflank-mailman (input) for mailman id 583170;
 Mon, 14 Aug 2023 05:54:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVQWz-0003o6-7z
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 05:54:21 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02311ba4-3a67-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 07:54:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9199F1FD5F;
 Mon, 14 Aug 2023 05:54:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 69D1513357;
 Mon, 14 Aug 2023 05:54:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id s00bGIrB2WReFgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 05:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02311ba4-3a67-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691992458; 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=qk1ymqrrBqBlJ6TwomJ8SE+lxjC1sXhjD3Eb6wth3rg=;
	b=eksZXw9c6213B0xwUkJS0epgnj1aMiFQc0dCmNVU/eks7gcyNzF5Lxr2oVZO9zwJEPSgAm
	N8pWEUTklmEG1+0MjNpTzNlr8ZIFcxbsHPFUV4su/NgNZFqQvtqDjfCbWqPmXp2oB/bv60
	cXHqhd/wnLLgjIjSt/b7OxVgF93zUHw=
Message-ID: <6325116c-780e-4b4e-815c-798fe19d3137@suse.com>
Date: Mon, 14 Aug 2023 07:54:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 25/25] tools/xenstore: introduce get_node_const()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-26-jgross@suse.com>
 <b642ccda-a111-b8bf-0e3a-95ff575235a0@xen.org>
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: <b642ccda-a111-b8bf-0e3a-95ff575235a0@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------b0ighNdNk78PptUFqgflSQug"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------b0ighNdNk78PptUFqgflSQug
Content-Type: multipart/mixed; boundary="------------brfrG48f3sRLBfLdB7HsyMzv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <6325116c-780e-4b4e-815c-798fe19d3137@suse.com>
Subject: Re: [PATCH v3 25/25] tools/xenstore: introduce get_node_const()
References: <20230724110247.10520-1-jgross@suse.com>
 <20230724110247.10520-26-jgross@suse.com>
 <b642ccda-a111-b8bf-0e3a-95ff575235a0@xen.org>
In-Reply-To: <b642ccda-a111-b8bf-0e3a-95ff575235a0@xen.org>

--------------brfrG48f3sRLBfLdB7HsyMzv
Content-Type: multipart/mixed; boundary="------------hKIXFVJwtnL7L1taSXyIAnwq"

--------------hKIXFVJwtnL7L1taSXyIAnwq
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMDguMjMgMTQ6MDUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAyNC8wNy8yMDIzIDEyOjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQWRkIGEgdmFy
aWFudCBvZiBnZXRfbm9kZSgpIHJldHVybmluZyBhIGNvbnN0IHN0cnVjdCBub2RlIHBvaW50
ZXIuDQo+Pg0KPj4gTm90ZSB0aGF0IGFsbCBjYWxsZXJzIG9mIHRoaXMgbmV3IHZhcmlhbnQg
ZG9uJ3Qgc3VwcGx5IGEgcG9pbnRlciB3aGVyZQ0KPj4gdG8gc3RvcmUgdGhlIGNhbm9uaWNh
bCBub2RlIG5hbWUsIHdoaWxlIGFsbCBjYWxsZXJzIG5lZWRpbmcgYSBub24tY29uc3QNCj4+
IG5vZGUgZG8gc3VwcGx5IHRoaXMgcG9pbnRlci4gVGhpcyByZXN1bHRzIGluIGFuIGFzeW1t
ZXRyaWMNCj4+IHNpbXBsaWZpY2F0aW9uIG9mIHRoZSB0d28gdmFyaWFudHMuDQo+IA0KPiBB
bmQgSSBhbSBndWVzc2luZyB0aGVyZSBhcmUgbm8gbmVhciB0ZXJtIHBsYW4gdG8gdXNlIGdl
dF9ub2RlKCkgd2l0aCANCj4gY2Fub25pY2FsX25hbWUgPSBOVUxMIG9yIHRoZSBjYWxsZXIg
b2YgZ2V0X25vZGVfY29uc3QoKSBleHBlY3RpbmcgdGhlIG5hbWU/DQoNCkNvcnJlY3QuDQoN
ClRoZSBjYW5vbmljYWwgbmFtZSBpcyBuZWVkZWQgYnkgdGhlIGNhbGxlciBvbmx5IGluIGNh
c2UgaGUgd2FudHMgdG8gc3RvcmUNCnRoZSBub2RlIGFmdGVyd2FyZHMuIEFuZCB0aGlzIHdp
bGwgYmUgZG9uZSBvbmx5IGFmdGVyIGEgbW9kaWZpY2F0aW9uIG9mDQp0aGUgbm9kZSwgaW1w
bHlpbmcgdGhhdCB1c2luZyB0aGUgImNvbnN0IiB2YXJpYW50IHdvdWxkIGJlIHdyb25nLg0K
DQoNCkp1ZXJnZW4NCg==
--------------hKIXFVJwtnL7L1taSXyIAnwq
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------hKIXFVJwtnL7L1taSXyIAnwq--

--------------brfrG48f3sRLBfLdB7HsyMzv--

--------------b0ighNdNk78PptUFqgflSQug
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/Ey8FAmTZwYoFAwAAAAAACgkQsN6d1ii/Ey+V
tQf+Igx5Mr+04EibAaw75/FQ44YcvwEkA+msasCN5CSVNT6XsthvwUTDU1ehntTrylsUpdAYHpMG
oxHoZ1n01PyfeSRq5OjqC9FmAXh07YBAFqOm5f7n7Yzs1DQgeKjARzw0QtTaPwDW1X3czNRCD/8e
NbpaEFvDSFkeuPBFe0LwjlRS+w+SzrVr7r2MhLOB4OTQpaY8PAr4b9xvQWn5xqb7rcoHrrtwbxby
OSCNUboy4Ucru20GlJToobKOMhSV3uBpk1onaJJJ5TXmj9aeKCjYE6olWjVTAmsLAFZOQzAJvvmy
2OQzM2wPMvHBlkfpWMupDr9s4F6XjNtOz9roUpWDBA==
=gjcY
-----END PGP SIGNATURE-----

--------------b0ighNdNk78PptUFqgflSQug--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 06:14:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 06:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583176.913237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQq9-0006T0-86; Mon, 14 Aug 2023 06:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583176.913237; Mon, 14 Aug 2023 06:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQq9-0006St-4P; Mon, 14 Aug 2023 06:14:09 +0000
Received: by outflank-mailman (input) for mailman id 583176;
 Mon, 14 Aug 2023 06:07: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=MedN=D7=marvell.com=prvs=359094bc80=rkannoth@srs-se1.protection.inumbo.net>)
 id 1qVQjF-0005UE-7k
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 06:07:01 +0000
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c624175b-3a68-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 08:06:58 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37DMhSts019431; Sun, 13 Aug 2023 23:04:52 -0700
Received: from dc5-exch01.marvell.com ([199.233.59.181])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3se7en58mr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Sun, 13 Aug 2023 23:04:52 -0700
Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com
 (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48;
 Sun, 13 Aug 2023 23:04:50 -0700
Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com
 (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend
 Transport; Sun, 13 Aug 2023 23:04:50 -0700
Received: from marvell-OptiPlex-7090.marvell.com (unknown [10.28.36.165])
 by maili.marvell.com (Postfix) with ESMTP id A95D13F707E;
 Sun, 13 Aug 2023 23:04: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: c624175b-3a68-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc :
 subject : date : message-id : mime-version : content-transfer-encoding :
 content-type; s=pfpt0220; bh=2e/DgbPH5Z735BTpVc79AFms8kX4Gp8CjDRy+gF54Og=;
 b=E/8P5/+jNOFDXnIeAK6eLktq00L60xiKYdb2qKHYNE+xCpg5uzwBma5HNeeDm5+xDr/z
 PtUPN2CVxipoL7xIRglPjHM0nr73ebcCfiBNHKO+ejsrYpyGT1z5owXlVZBvcqnjQTMi
 xVpi7MTLbBxFyMgVXN2gotRa8b8ZGbhZzCnaie9FgVwAx0KVLDEe3Z0Hs/va3cj30eI3
 bQep63FV2AJCT9K2ToAglpvTN/WgrwwX8gb7FG8I4boMHs0BV/6m7+XurB6k5AN7oOOW
 iqus7BoMwgqKR+ia384IF8M69kir+dL0CX57DDgO8auPhc0KzwAXvTjo5NFnI/q/asdB kQ== 
From: Ratheesh Kannoth <rkannoth@marvell.com>
To: <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
CC: <davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
        <pabeni@redhat.com>, <ast@kernel.org>, <daniel@iogearbox.net>,
        <hawk@kernel.org>, <john.fastabend@gmail.com>,
        <jiawenwu@trustnetic.com>, <mengyuanlou@net-swift.com>,
        <yang.lee@linux.alibaba.com>, <error27@gmail.com>,
        <linyunsheng@huawei.com>, <linux-hyperv@vger.kernel.org>,
        <kys@microsoft.com>, <haiyangz@microsoft.com>, <wei.liu@kernel.org>,
        <decui@microsoft.com>, <longli@microsoft.com>,
        <shradhagupta@linux.microsoft.com>, <linux-hwmon@vger.kernel.org>,
        <michael.chan@broadcom.com>, <richardcochran@gmail.com>,
        <jdelvare@suse.com>, <linux@roeck-us.net>, <yisen.zhuang@huawei.com>,
        <salil.mehta@huawei.com>, <linux-arm-kernel@lists.infradead.org>,
        <linux-mediatek@lists.infradead.org>, <nbd@nbd.name>,
        <john@phrozen.org>, <sean.wang@mediatek.com>,
        <Mark-MC.Lee@mediatek.com>, <lorenzo@kernel.org>,
        <matthias.bgg@gmail.com>, <angelogioacchino.delregno@collabora.com>,
        <linux@armlinux.org.uk>, <linux-rdma@vger.kernel.org>,
        <saeedm@nvidia.com>, <leon@kernel.org>,
        <gerhard@engleder-embedded.com>, <maciej.fijalkowski@intel.com>,
        <alexanderduyck@fb.com>, <wei.fang@nxp.com>, <shenwei.wang@nxp.com>,
        <xiaoning.wang@nxp.com>, <linux-imx@nxp.com>, <lgirdwood@gmail.com>,
        <broonie@kernel.org>, <jaswinder.singh@linaro.org>,
        <ilias.apalodimas@linaro.org>, <UNGLinuxDriver@microchip.com>,
        <horatiu.vultur@microchip.com>, <linux-omap@vger.kernel.org>,
        <grygorii.strashko@ti.com>, <simon.horman@corigine.com>,
        <vladimir.oltean@nxp.com>, <rkannoth@marvell.com>,
        <aleksander.lobakin@intel.com>,
        <linux-stm32@st-md-mailman.stormreply.com>,
        <alexandre.torgue@foss.st.com>, <joabreu@synopsys.com>,
        <mcoquelin.stm32@gmail.com>, <p.zabel@pengutronix.de>,
        <thomas.petazzoni@bootlin.com>, <mw@semihalf.com>,
        <sgoutham@marvell.com>, <gakula@marvell.com>, <sbhatta@marvell.com>,
        <hkelam@marvell.com>, <xen-devel@lists.xenproject.org>,
        <jgross@suse.com>, <sstabellini@kernel.org>,
        <oleksandr_tyshchenko@epam.com>, <linux-wireless@vger.kernel.org>,
        <ryder.lee@mediatek.com>, <shayne.chen@mediatek.com>,
        <kvalo@kernel.org>, <andrii@kernel.org>, <martin.lau@linux.dev>,
        <song@kernel.org>, <yonghong.song@linux.dev>, <kpsingh@kernel.org>,
        <sdf@google.com>, <haoluo@google.com>, <jolsa@kernel.org>
Subject: [PATCH v1 net] page_pool: Cap queue size to 32k.
Date: Mon, 14 Aug 2023 11:34:11 +0530
Message-ID: <20230814060411.2401817-1-rkannoth@marvell.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Proofpoint-GUID: bGx5XTdUaNF0Cpw7RYZXO72Xq3CLGQ2Y
X-Proofpoint-ORIG-GUID: bGx5XTdUaNF0Cpw7RYZXO72Xq3CLGQ2Y
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26
 definitions=2023-08-13_24,2023-08-10_01,2023-05-22_02

Clamp to 32k instead of returning error.

Please find discussion at
https://lore.kernel.org/lkml/
CY4PR1801MB1911E15D518A77535F6E51E2D308A@CY4PR1801MB1911.
namprd18.prod.outlook.com/T/

Fixes: ff7d6b27f894 ("page_pool: refurbish version of page_pool code")
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>

---
ChangeLog:
v0 -> v1: Rebase && commit message changes
---
 net/core/page_pool.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/core/page_pool.c b/net/core/page_pool.c
index a3e12a61d456..e9dc8d8966ad 100644
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
@@ -171,9 +171,10 @@ static int page_pool_init(struct page_pool *pool,
 	if (pool->p.pool_size)
 		ring_qsize = pool->p.pool_size;
 
-	/* Sanity limit mem that can be pinned down */
+	/* Cap queue size to 32k */
 	if (ring_qsize > 32768)
-		return -E2BIG;
+		ring_qsize = 32768;
+
 
 	/* DMA direction is either DMA_FROM_DEVICE or DMA_BIDIRECTIONAL.
 	 * DMA_BIDIRECTIONAL is for allowing page used for DMA sending,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 06:18:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 06:18:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583183.913247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQum-00078d-Q4; Mon, 14 Aug 2023 06:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583183.913247; Mon, 14 Aug 2023 06:18:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVQum-00078W-Mk; Mon, 14 Aug 2023 06:18:56 +0000
Received: by outflank-mailman (input) for mailman id 583183;
 Mon, 14 Aug 2023 06:18:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVQum-00078O-6y
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 06:18:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7112bae4-3a6a-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 08:18:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B470F2197D;
 Mon, 14 Aug 2023 06:18:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7A260138E2;
 Mon, 14 Aug 2023 06:18:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TH5aHE3H2WSYHwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 06:18:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7112bae4-3a6a-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691993933; 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=H7cOJe9OPNRO8It0PdLEvFDf762fBVgQKem/aOAA0K4=;
	b=CPD1v5x4GFvV1w6drb4/7dR1epVCIzMQpbXwKcnv/hSfuPm7fIft5wn52ctEtYUWVOLiJJ
	6O/pvT0CgVrIPsTm5otam2DSrkAx9gD8DkPxS+TtZoDNddZza0Bfj5j9aKbm7QVckvL3Hq
	5LneAq8C7+iQvjhOVBinPIE7HOjvo08=
Message-ID: <fee8a01a-72e4-4e74-87f1-637807e8db06@suse.com>
Date: Mon, 14 Aug 2023 08:18:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
Content-Language: en-US
To: Kevin Alarcon Negy <kevin@exostellar.io>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
 <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
 <CAGP=kr5U3C4hKmFZ6Odnqs-1EtZ-Lc=4Q3F0Na5j0HOTGYEwXw@mail.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: <CAGP=kr5U3C4hKmFZ6Odnqs-1EtZ-Lc=4Q3F0Na5j0HOTGYEwXw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zDz6O7tiS5N90GgswYal0J0u"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zDz6O7tiS5N90GgswYal0J0u
Content-Type: multipart/mixed; boundary="------------AXuxQX9HT0XAANrE0SVMxLbk";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Kevin Alarcon Negy <kevin@exostellar.io>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
Message-ID: <fee8a01a-72e4-4e74-87f1-637807e8db06@suse.com>
Subject: Re: [PATCH RESEND] libxl: Make domain build xc_domain_setmaxmem()
 call use max_memkb
References: <e7ab0b64b8dce1ca5b71b3f75f7bce6d4824d2ed.1691446380.git.kevin@exostellar.io>
 <226469c1-c291-3756-88c8-24b51fecc6a2@suse.com>
 <CAGP=kr5U3C4hKmFZ6Odnqs-1EtZ-Lc=4Q3F0Na5j0HOTGYEwXw@mail.gmail.com>
In-Reply-To: <CAGP=kr5U3C4hKmFZ6Odnqs-1EtZ-Lc=4Q3F0Na5j0HOTGYEwXw@mail.gmail.com>

--------------AXuxQX9HT0XAANrE0SVMxLbk
Content-Type: multipart/mixed; boundary="------------j8mkDayV8106MWaE0msLl0nJ"

--------------j8mkDayV8106MWaE0msLl0nJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMDguMjMgMDQ6MzIsIEtldmluIEFsYXJjb24gTmVneSB3cm90ZToNCj4gQXBvbG9n
aWVzIGlmIEkgbWlzdXNlZCB0aGUgIlJFU0VORCIgc3ViamVjdCBsaW5lLiBUaGUgeGVuIHBh
dGNoIGd1aWRlDQo+IFsxXSBzZWVtZWQgdG8gc3VnZ2VzdCB1c2luZyBpdCBhcyBhIHdheSB0
byBwaW5nLg0KPiANCj4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suIEkgcmVhbGl6ZSBub3cg
dGhhdCBteSBtaXN1bmRlcnN0YW5kaW5nIGluIGhvdw0KPiB0aGUgb3JpZ2luYWwgY29kZSBz
aG91bGQgd29yayBpcyBiZWNhdXNlIG9mIG15IGNvbmZ1c2lvbiBiZXR3ZWVuDQo+ICJtYXht
ZW0iIHRoZSBjb25maWcgdmFyaWFibGUgdnMuICJ4bCBtZW0tbWF4IiBjb21tYW5kLiBJIHRo
b3VnaHQgdGhhdA0KPiBib3RoIHNob3VsZCBhY3QgZXhhY3RseSB0aGUgc2FtZSB3YXkuIEFz
IGluLCAieGwgbWVtLW1heCIgY2FsbHMNCj4geGNfZG9tYWluX3NldG1heG1lbSgpIGFuZCBh
bHNvIHNldHMgdGhlIHN0YXRpYy1tYXggdmFyaWFibGUgWzJdLiBJDQo+IGtub3cgdGhhdCBt
YXhtZW0gKGNvbmZpZyB2YXJpYWJsZSkgc3RhcnRzIG91dCBhcyBqdXN0IHRoZSBzdGF0aWMt
bWF4DQo+IHZhcmlhYmxlIGFuZCBkb2VzIG5vdCByZXN1bHQgaW4gYW4geGNfZG9tYWluX3Nl
dG1heG1lbShtYXhtZW0pIGNhbGwNCj4gdXBvbiBib290dXAsIGJ1dCBpdCB3YXNuJ3QgY2xl
YXIgdG8gbWUgdGhhdCB0aGlzIHdhcyBpbnRlbmRlZC4gTXkNCj4gcGF0Y2ggd2FzIGludGVu
ZGVkIHRvIG1ha2UgYm90aCB0aGUgY29uZmlnIHZhcmlhYmxlIGFuZCB0aGUgeGwgY29tbWFu
ZA0KPiBhY3QgaW4gdGhlIHNhbWUgd2F5Lg0KPiANCj4gUGVyaGFwcyB0aGlzIGRpc3RpbmN0
aW9uIGlzIGJldHRlciByZXNvbHZlZCB3aXRoIGRpZmZlcmVudCBuYW1pbmc/IEZvcg0KPiBp
bnN0YW5jZSwgaW5zdGVhZCBvZiAibWF4bWVtIiBmb3IgdGhlIGNvbmZpZyB2YXJpYWJsZSwg
Y2FsbCBpdA0KPiAic3RhdGljLW1heCIgdG8gbWF0Y2ggaXRzIGludGVybmFsIG1lYW5pbmc/
DQoNCldoaWxlIHlvdSBhcmUgcmlnaHQgd2l0aCAic3RhdGljLW1heCIgZXhwbGFpbmluZyB0
aGUgc2VtYW50aWNzIGZvcg0Kc29tZW9uZSBmYW1pbGlhciB3aXRoIHRoZSBpbnRlcm5hbHMg
YmV0dGVyLCBJJ20gbm90IHN1cmUgdGhpcyBhcHBsaWVzDQp0byBYZW4gdXNlcnMsIHRvby4N
Cg0KQWRkaXRpb25hbGx5IHdlIHdvdWxkIG5lZWQgdG8gc3VwcG9ydCBib3RoIG5hbWVzIGFm
dGVyIGRvaW5nIHRoZSBzd2l0Y2gsDQphcyB3ZSBkb24ndCB3YW50IHRvIGJyZWFrIGV4aXN0
aW5nIGNvbmZpZyBmaWxlcyB1c2luZyAibWF4bWVtIi4NCg0KU28gY2hhbmdpbmcgdGhlIHBh
cmFtZXRlciBuYW1lIHdvdWxkIG5vdCByZWFsbHkgaGVscCBJTUhPLg0KDQoNCkp1ZXJnZW4N
Cg==
--------------j8mkDayV8106MWaE0msLl0nJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------j8mkDayV8106MWaE0msLl0nJ--

--------------AXuxQX9HT0XAANrE0SVMxLbk--

--------------zDz6O7tiS5N90GgswYal0J0u
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/Ey8FAmTZx00FAwAAAAAACgkQsN6d1ii/Ey9h
vgf/VZCObUiumvQa9Na9P+8WFb2lalmdfIAo2Sjqy5CN+xRc8EBfe3wwKNomGInSwJaMoEAeE/fj
fPisHYaGEMsvGrFjlrGuEeqFKV8ZtSfuXvxCjMIcrocJ73xrbTXmqacizFkgeHhSx5AmtR/C9Q4e
Zuqy2kcUEEsaiIfWQHGeCspGK/D1XD7422mhg2+BsW5HfZFnuPmm80Aoj2NQzp7NdYwGrkcf09n7
4oh8Xv9vBWgN+5UJd9CDoeAQ+Q1ymIMBgSrKFrRenYnbHtheKECtlLWgGUL0Izd+fhj7FpkZ56KO
Enkl8JbT5d7gxuLi2s0BjvLl7mhakP3rdXvbCNKiwg==
=FRkA
-----END PGP SIGNATURE-----

--------------zDz6O7tiS5N90GgswYal0J0u--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 06:44:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 06:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583191.913256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRJe-0002Hu-U4; Mon, 14 Aug 2023 06:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583191.913256; Mon, 14 Aug 2023 06: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 1qVRJe-0002Hn-R6; Mon, 14 Aug 2023 06:44:38 +0000
Received: by outflank-mailman (input) for mailman id 583191;
 Mon, 14 Aug 2023 06:44: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRJd-0002Hf-2l
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 06:44:37 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe02::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 081a893d-3a6e-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 08:44:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9178.eurprd04.prod.outlook.com (2603:10a6:10:2f5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 06:44:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 06:44:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 081a893d-3a6e-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D5Eo8G/fl/B4uwCKYEwkF+H5IjSn22zTaF24hICrp8jzNk3Fw4kMTu/BwpHPuWTJp/hrC347OGLT7qoZ4bhoB1zIbbRyPVKnXMsntaqIwZ6EK2EDmwWkGqNpR1uNaeWuRF9bW+A7hvOfb4GAsbsfbVk1Is52XzS+BM3DXuDW9vVWCK4cB2N1uACGK3KZSIcWU62v2rYY7KXaZuIzur2kyDKwqXogOf/ZU/gaotDSTqEtgh03ihNPim7fLhx8UQSolFNX2CM38XifD+O8Z20YqNbdR0fqfwqLsbgDOIOSNsgPkckmBb7pwRJAR5MhiB/rj7DhxYZQIWjj6H6eU/Zzdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JmztOBmdaISWMnJO/1SPl2bcLligfuvd0lOQEiLCnHM=;
 b=DnCwsXH+amwka50Rzn8Hw35b6hPN15jldcivCKtI85fxgcvNiHHjRJF3lCefHbslY2sAIzJH/qWr/uRobuaT7FlYy9JWJjSvi+GFjTqqIE6avH4eyCEJ6PZ6xD+jo7eX5b16QCVwOJw/ifl9pttRibJgHwDwJ+iamsEhNzlrojI5tpTNFBUMuYFKFksaZH97nmASuZV+qhSYoUbSYzfaPrAMw3ZS1d5CFmXov7+z42Ct927spoqp1lIGcCA1SfC4A+8tPMPyndnLcii2DO9fR+qfWyiOuI/WeNP8hsq+ZBGPRy7fmsqHfna9/h4R9Mtx1892MECn6na22VUJFoi42g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JmztOBmdaISWMnJO/1SPl2bcLligfuvd0lOQEiLCnHM=;
 b=FsO/r1Q5tv3guh2cwPF5k319YADdbGyUol7E88ybCxxWFd/TlszxpurioiByp8ohPfS18SGjyLyc2NnTviTzWi2KPiZJD+AMaVqd+BpYnJbq9AfQiKpx9EZu8uKwOk7UIYntC3qVa4uWyBRhkxP1bwzRxwpEc/tsdRtgQV8xTxzM2wN2C19thA9mem4syPcDf55XQxC5wgfBpvdMtBQ9keGwtQMDiUNPndzSnQyDvC2iidpWmjaB9VWSoKQqObzOM1Y6Xi6tfX7uWiX0gv+aasslk1fgem/zJWno4qRLGvPsNKK3XUhY18mtdE/INU2b/nxskWdRiBLFV8izajWIHQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d86f0fa-fece-fccd-aafc-9d14008b146c@suse.com>
Date: Mon, 14 Aug 2023 08:44:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 3/5] x86: allow Kconfig control over psABI level
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <3c819879-d113-facd-b025-b062e68bb6a1@suse.com>
 <810a0e2b-0cb4-4b48-ad3f-dff323efd20c@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <810a0e2b-0cb4-4b48-ad3f-dff323efd20c@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9178:EE_
X-MS-Office365-Filtering-Correlation-Id: b607e4ba-6201-4343-93e1-08db9c91eaeb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Dz3G+2Wss6NG0FImCx9oaiPV5eHUYyS8tBtcSydrqB5va+BhRhNQImwHcvA7Tcciunc7yFl7+3UWI+KUaINJ6Or+9ciEiMQT29YXfWlw4sWZkr5usQE1dwAtWtL0ZjhR+Ta0pSoGVyxYpaiMmgKekYye+J5ORF0X+RVZOPhjEMzy+fIPGdblsmMoDwHjgAFWBd863dioAWz+wk4Q3GSMglOXQmUEs31xSmtZgS0+f8x0HPdBaCWwJb+YkoGd+EFh6L86buSQTeNIR7uaShvzWuxnH3IsVtF2Dr9HDF7tyo3xw/GoA/9JdA1Tk71eirft4eLSZPWc0rlI59FPut++Rp9FbPE7goFyO7zmZ8NoecTAcvc+2enBMD/WBWfCCLlum6nlbO6v7JcwyS5orBzCe3+b8F8oyM3CnAOtjGMRw1NY1bFYG6AhZrW1UDUbbu40zuNFF9h7ECfq4sR8MHNBMwvEADZjW/9mCHDzX2Vyiz7P2wWLvz8cWhQv/1PmCwcCI6zj+FM7mBq2Ii3XIitdXFDKVN5wBIzmxC/xswGHV5R4bFFhD4LzlewcQ23V66+5whvDCaMdmlXENVNdPQuw3Ek8/ACnd0aJ2oKiPxnHkQJrJrQP/5qkGKd/7RQpmbiQqHkEOxjsnhEIJkXB4VqY+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(376002)(346002)(366004)(396003)(136003)(451199021)(186006)(1800799006)(31686004)(53546011)(6486002)(6506007)(6512007)(36756003)(31696002)(38100700002)(86362001)(83380400001)(2616005)(26005)(2906002)(478600001)(5660300002)(66946007)(66476007)(8936002)(8676002)(4326008)(54906003)(41300700001)(66556008)(316002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3c4bFVpUzF0THhSMjExM1B2eDV1MXhHTmhZWm1FK0o3SFFvamRGVzZSQk15?=
 =?utf-8?B?UXlXWUxiRTlVbEMyV1hYaHkxM1dwVUdnQkpXYmV1TWRrMDk4NmtZZmdGdzUv?=
 =?utf-8?B?enp1M2ZoV1VrcUpSY2hNdTR5RkJjaXVXQk9MN01LODFKaDBHZm1UZ3hVWC9P?=
 =?utf-8?B?MWRlL3Q1bWgxQkFhaUJkSGZ6eFVUeVAxTDhYczlHMWtqQVJQYUhqZjF5QXlk?=
 =?utf-8?B?WUNmeUlad2QyZmlKOWR5bHVPdzFGSnd1b2VQbTlNeTlqNDZtYVR3dE5RMEw0?=
 =?utf-8?B?SWh6djQ2aWRvUHRYc0VNNTJsWUVkVDdoN3ROdVNIRjNWZ3JmYnk1aVlmbVIr?=
 =?utf-8?B?dWZoMC9EUHNLSjUzVGpCTzlrUTgxTHdFYTNwRVQwQWxwR2tZZlBXRXJ6TFgr?=
 =?utf-8?B?UEJ2eW90eWpjS2Z5MUs4UHN0UW1vU0dRRFhtem4yc3oyZXl2WEdjTjlRayt3?=
 =?utf-8?B?STJnVGlnQXFLNkxiMnB2eGpWK29sSU9kZjRWMHhDdmcyUU84UmRBTjh3MElo?=
 =?utf-8?B?OU5VajJoalFJeXB5SG84MXJZdHhTaHNmNlNTTFV2UlFFRzBWRkQ1NEw5VzRL?=
 =?utf-8?B?U2IrTTRXbllKYThTRGpxbEpHMjllV3FzZVZPcHJtTGN3bWYzUVZBMmRsRjh3?=
 =?utf-8?B?dEEzZGhwenhUQ3cxbi96TzlTU0dsK0wzNk4yb3dIbEtueC9DdGxZM1NyQ2dw?=
 =?utf-8?B?bVdDVUt1Tko2dU9YeVR5NnNuV0dxUFI5VENRQkRTeVpEQVhYcGo2bmIwSm8v?=
 =?utf-8?B?QWlzSWtMZDB1eS8rYm9zUU9SenpxY1g4RXJoWlkwZktqM2I5Qk1kSS9rOVc2?=
 =?utf-8?B?UWhlR2QycE9oa09xTUc3VThXVW9KT2pvSHdCSWV5VnVXSnordVdzcHJvU3o4?=
 =?utf-8?B?cUZCVGRQdTA5MGJkSHp0OEV2blFHWXVxN2JGTDNFR0cvK2c3Zjg5b29oWU5T?=
 =?utf-8?B?bDdYOUJjZXRrQjdMOURHejNDdU1qNEZuVlUrTlNrRHhlNW14dUdDWnErSVpI?=
 =?utf-8?B?bklqQWRWdmNmSWRvWXVQQlgwM3ZpV1ZZenF3Wms2YmluemZqcmRsTDFNb2xy?=
 =?utf-8?B?TDhpYnBlQmhNQVJ0WDlxREVvVUhUQzltNUtvaHp6MFBNVFdNY1dXK0JZWUNH?=
 =?utf-8?B?Sm5nOGxuTVBJd1pTVHVYMDhjRG1OT1NUOFY1OGMyZjZVc004RTR4cTVwSmZG?=
 =?utf-8?B?OHBIeHo1SXlPSlB3WW9pUzB6MDlVWko0K2o2TU5yTGtNMWVrdmFzdnFuVTAv?=
 =?utf-8?B?MTA1UFdHQkxmbWQzM2I3MHRYWUxpS3BCUUs5SnNheGNrSEFISkJEeTFmbGlP?=
 =?utf-8?B?TmRoTzZERWkyTFN6QXRZc25SSUpmKzZQUU1ZZ2FMdkhVOWtIV1ZWVGNlZUZ4?=
 =?utf-8?B?UUNIa2pLSUVBYjJDME9tMTZJMEJpNlhseTluRnZISEVNL3hxNTZnVklxdFgy?=
 =?utf-8?B?bXQxWHg4R3pqSU5BeHVReklTWTZ5R2JiVDBIQkRXZUdTQXYvdjBua1NkbW9w?=
 =?utf-8?B?UWtpc2tZc1NFV0RKRnBuRXUvQ2FMaVNVa0dIUC9RU0pobnBPeitzNkl6bU9a?=
 =?utf-8?B?emk3OUVBVTFoakVPVEVsdjkzMmlwdjJEMkZVSWZORCt6U0lId3RYUTNMTHBi?=
 =?utf-8?B?NldNdWVjYTdMb1loOXhRQVhWeXN5L0J1Vmd4c1ZWelY0bzRJc2FjclY2YjZu?=
 =?utf-8?B?S0R1L3prZ0p0czA3T2o5WUN2TVBDd0RSWHVac3ZmWUxEaVltVU5ndkx1TUtp?=
 =?utf-8?B?dmxHbkJITHR0ZTc4VHV2aFdvSlJ4K3I3OFhUL0oxaU93UGY2VHl2ZW1IWGNC?=
 =?utf-8?B?a1dLakltUVNSS2hLVHRYUGRNV21iZllMOFI1dS83TEpLWGNOSnRhNWllc0NB?=
 =?utf-8?B?WUdpYm0yUEtCYzMzY0VBSlJORlJjS0VreWNqTVdoSWVlSHI3Y0NadzBVWUls?=
 =?utf-8?B?Ni9jK0Y1UWhaZXFkS3BDV041bnc3ZHJYbE03em4vU3BqUVFJa1hOZ0FwS2Fv?=
 =?utf-8?B?M2pwWG1ZSVBWWmdlSXJUVXE2VGdQYVMwbnIzUkFiRlprR1M3UzIyL0R0c2VS?=
 =?utf-8?B?djRDUkVLMXZnK25wa2dsdnF5eS9OVHhPMkkrd0d1ZDFrSUpHaVRUNTJDQUxY?=
 =?utf-8?Q?otv2yu11Ao8oVf3SZBk3jlBps?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b607e4ba-6201-4343-93e1-08db9c91eaeb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 06:44:32.9805
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z4fIDRR64zo7YlLa8Sc+hM4lkUMhMyL6KrBG5xHiXfus4m94FmThwgw0pXeEwQnh7U/YBDS0fuYGnXCJl+0wRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9178

On 11.08.2023 16:59, Anthony PERARD wrote:
> On Wed, Jul 26, 2023 at 12:34:15PM +0200, Jan Beulich wrote:
>> --- a/xen/arch/x86/arch.mk
>> +++ b/xen/arch/x86/arch.mk
>> @@ -36,6 +36,29 @@ CFLAGS += -mno-red-zone -fpic
>>  # the SSE setup for variadic function calls.
>>  CFLAGS += -mno-mmx -mno-sse $(call cc-option,$(CC),-mskip-rax-setup)
>>  
>> +# Enable the selected baseline ABI, if supported by the compiler.
>> +x86-64-$(CONFIG_X86_64_BASELINE) :=
>> +x86-64-$(CONFIG_X86_64_V2) := x86-64-v2
>> +x86-64-$(CONFIG_X86_64_V3) := x86-64-v3
>> +
>> +ifneq ($(x86-64-y),)
>> +CFLAGS-psabi := $(call cc-option,$(CC),-march=$(x86-64-y))
>> +
>> +ifeq ($(CFLAGS-psabi),)
>> +# Fall back to using the subset of -m... options that are of interest.
>> +x86-64-v2 := -mpopcnt -mcx16
>> +x86-64-v3 := $(x86-64-v2) -mbmi -mbmi2 -mlzcnt -mmovbe -mxsave
>> +$(call cc-options-add,CFLAGS-psabi,CC,$($(x86-64-y)))
>> +
>> +ifneq ($(strip $(CFLAGS-psabi)),$($(x86-64-y)))
>> +$(warning Options not recognized by $(CC): $(filter-out $(CFLAGS-psabi),$($(x86-64-y))))
>> +XEN_CONFIG_UNSATISFIED += X86_64_Vn
> 
> I think I understand Andrew's point on the previous version of this
> patch. Here, we barely just print a warning if the compiler isn't
> capable to do what we ask, then do the build and maybe print something
> after the fact. So we can end up with a build of Xen with an embedded
> .config which says X86_64_V3 where in fact it's only a build with the
> baseline ABI.

Which isn't really a problem, is it? Even if passed the respective
option, the compiler may equally choose to use none of the thus
available insns. (It won't typically, but it still could.)

> Can't we just fail the build right here instead?

Whether to do so is not the user's choice (see patch 2). See also
both post-commit-message remarks there.

> I don't see any need to let Kconfig know if the compiler can do
> x86-64-vX or not, beside only presenting actual available options in
> `make *config`, and it would override options selected by editing
> .config directly.

I'm afraid I don't understand what you're suggesting here that I do
differently.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:01:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583197.913267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRa3-0004mr-An; Mon, 14 Aug 2023 07:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583197.913267; Mon, 14 Aug 2023 07:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRa3-0004mk-87; Mon, 14 Aug 2023 07:01:35 +0000
Received: by outflank-mailman (input) for mailman id 583197;
 Mon, 14 Aug 2023 07:01: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRa1-0004me-Cd
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:01:33 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20628.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 646a205f-3a70-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:01:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8273.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:01:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:01: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: 646a205f-3a70-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nxn/pvCh6+SCTCK/Gx5Ot7y9kV61HXdFEcHMwPvTJSJWsCoyD7pQdeHiIvnt9pMkS1mfmIedDSxUP8vJzAy4GsfXjIZ/Bh4XoGkjrwk52bg1yjllVrsgEREBqycXT6/RBekyHy9k9rUZbypRxd+4+8U2+dJy6AVaCzCcpNE+w0BE2kRVeUQ6Dm/MnToa6sj9bvP0Iy5BcUxtq4oaidiqsSlBeEbEhPkx6H1Sy+9wY+Y1IzCOK520ma6N/ROu3UYhP5LlvKytDSWMOhLG019vXEhzK2bJoZiASPElrY9GYS2jLWXTvTM4pW5G2s6TSDrqwglGykOJ82qGN2QlBS1pFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y1TaWfAK8zPMzI0vkcj0Mhw7WAm+eTG8m7gmeGKT4rM=;
 b=bo2ZqeEi6WVKpXpW7fm32yX3lAVcQXXE7ifhbs2TzxIDq0ENChKDV4ZGMrPssARssoA2GuX7/HaJT8OcG1o29PwRmnCoOW3DCF2PjnNXCYjvDk4trDs3Nz6/AgD04Cj83rnDmySOKe9cQt579LxX+eFZt3GxXuWM39Y0VJPPesJsLPC+K07w5waMsISH2+p+XnjJ9q/U5SLdu/bfFIseafMjuHBvRyCz9yLsw7ihpoyK3JjWgT5jYp33GEvZBK6SOIW+WDx3LWa756l9K5Kdv2Tmahwq2Bj4nm4lZQfbWar/NT35j7Z/dtwpracQSaV1uI7R1VJ6fltKUeoxwX7AVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y1TaWfAK8zPMzI0vkcj0Mhw7WAm+eTG8m7gmeGKT4rM=;
 b=TvMlWvlcgJbBTVCYXnr0Um8tBH+fAkfMkcP00Djdlet4B+UulS7/q/qsUKo7mPz6l9LKQwN8WnjxqACfwj/tdRYRBcx1/qCYqKynsOphw+5u2g0ruh4PDtH5oMJ8pbUL79T1pStnKxjUzEdMzuUswWYYdRd0UMdWk8/yoXQnCARlievhiRwpHrUxyYpkagVtH3T3kggCl1ybIE+5Lzin4+vLpMp5g0lMrTmA5Xr9TVMoH4biblDGq0wFduIPWQLMRzv3rca5vwl62YGsnko7XelF46icf2YEygtiOE8XjP7X9n0icBQJgeEL9DE0Mmy2r2qligsMyUFiXOcHQ6qy5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41f5ab35-504d-4310-db72-8a9e3ff0a890@suse.com>
Date: Mon, 14 Aug 2023 09:01:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 1/5] build: make cc-option properly deal with
 unrecognized sub-options
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>
 <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8273:EE_
X-MS-Office365-Filtering-Correlation-Id: a4cdc3b9-c3c4-49a7-2b5c-08db9c94472a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ak+Dw/m62VFBJVv5SlmAyDZSug9SMnwypdb6LS3gr6+qDP0A2p+SnsRLPJQMVhvUo6QXU0mhhIpwZg1csLkLcM4wva0IeZ2GhpNOuyLQP6ioDPgssa5png2g32thiPditNqodcbCFMMA+Ws2HwUyXwUWE/Gn2ruLqJ+iqNttJYxDwP3JiVxHQYoL/o2onbDCwQnG2CRaA0CYC95tVQMZWJIJIQd4y0Px3nlSWf64OFoKVI4wnjNhyZu8kqtcr0niDchoDWuWa/bQRt0hdexN2flBpg9hLZgb1m4Z0OCZL2kF2AkKiKleSaKX99WcweDcVkIKJWImw3oM5LH42nwDWyFouB4xp4byms/kR5a07++4hQaq42VjoutRuGrnYNtyGs3HnyHAzUPCLNu1vFV5HmrfnFIs2rZFm6raU5B3jg33/T0zhB3Nn0NPUzPVzXPHa7ZdlAW1wOTLdgCj5sLPhJxzhJTDaNzKWmT4TCsJgM2XK2mQxUOM9y35eLrA0s5jjHtZlpAFX/KH45eGBVT0vr9M4sbaVVvCKMJwS+yFIeOlnycdwGHC0O6pCGyooRNFzohtSMyDr0pTCED+khF3QRSSuiDqrZFHRFirM17Ni/kUWPbPMvN3/GhL5O0QT3PDl0WcWeSMzebve4mSLSrMqw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(366004)(396003)(39860400002)(136003)(1800799006)(186006)(451199021)(83380400001)(41300700001)(8936002)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(31686004)(2616005)(26005)(53546011)(6506007)(66899021)(6486002)(54906003)(478600001)(38100700002)(31696002)(36756003)(86362001)(6916009)(4326008)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWhyb3lQUVBkSGt2V3VoVkprTjVzOTllaGJTak5xQjcyd3A5dmhEQjFMcGNV?=
 =?utf-8?B?VmJJTjB0MlhQemNOSHJhMXhJdjUya0NQQVZraklwV1NoQUtPSkhieTZMTldG?=
 =?utf-8?B?Vk11cElGOEtOSld1WFg2Z3pkcE9ZNkRxeG1jZ092bXVoMzBkZ2pOT2pBMW9P?=
 =?utf-8?B?b3dyWWQxZE9iNVc2a01IdDVneDdpbHBWZ1N6Szkrd2dYR2krQzJWQmovcHFa?=
 =?utf-8?B?cFVySlF0cEV2bWM2QkFRNGgzRkw5eEFnTGtJL1g1MTRMK1dRTS9hd05DNGhh?=
 =?utf-8?B?cys3bWpFVTVsaEpRNHFFcFdBYW42SWxzM3g0ank2a3FLUU9ZUXY5TDVReEVi?=
 =?utf-8?B?NjVQVkh3MjB1cy9RSzA4Y21JKzhLSnJmMVhoWjhQNjFDaklpU29qTUxBQkxN?=
 =?utf-8?B?TTVsUEdMMldVemlOQ3RhL0JUMzhzL1hFYittM2RWT3V2WldiTVZSMExzdTha?=
 =?utf-8?B?Nng2N2N6dkFuaG9lQzdYTGZmMzB0ZXdPUEpEc3pDOUxZNEZOcmdrVWRJRjkz?=
 =?utf-8?B?VFk1Z0piWGlDYmt3MllST3R1WkdZeGtmNmZVdXZvdXJXVERJRFA5bCtBckFj?=
 =?utf-8?B?M3l4WEVPSjQ1ZjZ5ZkdKbjNDMVNTdTdZc2o4WU1idXdoMzNKUmp0aEJTREtR?=
 =?utf-8?B?cy9xallVbDhDMDE4YnoyOGtTcnhiM2JhMnNHcmt1T0J1amZ2bFJucnBGS3gy?=
 =?utf-8?B?SUlpUmNrT0ptMzdxMGJWb3B2N1laTWF1UWQ1bGFLRGtnYWE3VWZKZ0dralc0?=
 =?utf-8?B?aVBMMVJFZWh5U3BleDlnZ0xWTUV1eWpSbGltcVNZckZmcUR3bElKQ3ZyVDVF?=
 =?utf-8?B?ZGs2MzZ3Vy9PTkxCYm1zRCtxSlExNlNCK3UzRUtzK1oydlZaKzBPTTlVTSs5?=
 =?utf-8?B?aFhGTWlrams0ZCtkZ05aNzhabVBWS1k1bW5rbU45YjlVclVxUzNEYTYwMjkw?=
 =?utf-8?B?c0I0eGYwS3daVUxQOGJYUVFGTTdKNjAwekNUKzFJRjl0NnNpazI2aU92dDBs?=
 =?utf-8?B?SnRYU2pWamlFQ3kzUlFSTE16ZDZIRlhHbW9JSE1FdllUaWhTMGplWm9vcjQz?=
 =?utf-8?B?eHBVdUVGMng4NHlyaVY0VVhFdUxFMXJEbzV3NmxVYndaa0hja0NqNjJaRCts?=
 =?utf-8?B?azdhajArTGNzRndqUHFIemEvVXZrN2NVcE5QeTVvUXkwR0ZkcFI2eHFEQlRP?=
 =?utf-8?B?Nm9LTm0xUlQ0aUsxVlVsWi9zMERvSWsvV0xWL2V5Y25QZnd2VlEzRzNyT2Ni?=
 =?utf-8?B?VmRTVU9ZWE4wbDFFQ0RoclYwNlozQXlOczU4R0YrNlh1KzJxend2dy9jL0ov?=
 =?utf-8?B?bDdsc0tSMC9XRXltNFNOcGc5cHMrTkF1b0JHTkFKVUFqc01ESGlUN2VMSVZl?=
 =?utf-8?B?MktWaUpDdDg2U0dNNDFaNkpOWEhoRm5KV0NxTkJ1THdJVVI4VnhLU2F2TFpJ?=
 =?utf-8?B?UHcyOHNMTSsvVVBNcTlxa0xsd2VSWU1xUGlVMUxFT0NzSk1FekFZZlM0a0Ev?=
 =?utf-8?B?VmdyVDU5cVQ4c2htemJDYWN4aW9LQUcxTUFFcmJ0MDJ6ZEY4SnUvTFJ2NjlH?=
 =?utf-8?B?enJBaWVTbFpjR2Q1d2RBbHJrY1h2MzNTNmE1V0d3VWpKYWxuR3hjR0FIVDV2?=
 =?utf-8?B?NlVLL1VVWVlONU9NWVRxalZhYk5HU0liZmhSQlJ3cHBnS1FFV3h4TnVQR3N1?=
 =?utf-8?B?ZGlOUmVVaXA4T2h5dXZqV0hHdlJEcTFxSUJUUkROYzFoVjlsTTNsenhOc0VL?=
 =?utf-8?B?Mk9JYm5wM1dKSWNRNVoxelVXU1FKbEYvZUlHS0w3eSswUlZ6cmpBbTZHUElj?=
 =?utf-8?B?Y1VwSTVsRTYyV2U5MnlVU0lVRVVsOGZwTmZneE9LYWxmS3d0SkFpN0JZaVFD?=
 =?utf-8?B?YUVGUHRieExZc1dEZGo5cVJTZXlVUE1mdHlQQ05KSVhPeFptVXRmS252V2V5?=
 =?utf-8?B?aUtxRW9XOG1DWjZqWEZRUmpEY2VmTUJpanpkNXEzYXlrd214TURoZWdzd0xs?=
 =?utf-8?B?MFh6dVZTdWFmODRhU080M0UvRTk1SWpEU3BHeFF6M0xyVXROV2RRVjhia1Bt?=
 =?utf-8?B?Z1l0WTM2bEJHTUZ2ZFZGOWprRTM5enRFTHREanFqbDhWcldyNFRwR0ZWUW00?=
 =?utf-8?Q?/g9GxiPDqd7HTV16Cb5YSHF2k?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4cdc3b9-c3c4-49a7-2b5c-08db9c94472a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:01:26.7553
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nhyYMatQbsVCK7XteIJKA8qR++L4DI5rrvPRcV4puiRpeRhHg+8lPX2oen+xVnpQ1uv14EYxbxfIcGSrEJy0lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8273

On 11.08.2023 15:48, Anthony PERARD wrote:
> On Wed, Jul 26, 2023 at 12:33:07PM +0200, Jan Beulich wrote:
>> In options like -march=, it may be only the sub-option which is
>> unrecognized by the compiler. In such an event the error message often
>> splits option and argument, typically saying something like "bad value
>> '<argument>' for '<option>'. Extend the grep invocation accordingly,
>> also accounting for Clang to not mention e.g. -march at all when an
>> incorrect argument was given for it.
>>
>> To keep things halfway readable, re-wrap and re-indent the entire
>> construct.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> In principle -e "$$pat" could now be omitted from the grep invocation,
>> since if that matches, both $$opt and $$arg will, too. But I thought I'd
>> leave it for completeness.
>> ---
>> v3: Fix build with make 4.3 and newer, where the treatment of \# has
>>     changed.
>> v2: Further relax grep patterns for clang, which doesn't mention -march
>>     when complaining about an invalid argument to it.
>>
>> --- a/Config.mk
>> +++ b/Config.mk
>> @@ -8,6 +8,7 @@ endif
>>  comma   := ,
>>  open    := (
>>  close   := )
>> +sharp   := \#
>>  squote  := '
>>  #' Balancing squote, to help syntax highlighting
>>  empty   :=
>> @@ -90,9 +91,14 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
>>  # of which would indicate an "unrecognized command-line option" warning/error.
>>  #
>>  # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
>> -cc-option = $(shell if test -z "`echo 'void*p=1;' | \
>> -              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
>> -              then echo "$(2)"; else echo "$(3)"; fi ;)
>> +cc-option = $(shell pat='$(2:-Wa$(comma)%=%)'; \
>> +                    opt="$${pat%%=*}" arg="$${pat$(sharp)*=}"; \
>> +                    if test -z "`echo 'void*p=1;' | \
>> +                                 $(1) $(2) -c -o /dev/null -x c - 2>&1 | \
>> +                                 grep -e "$$pat" -e "$$opt" -e "$$arg" -`"; \
>> +                    then echo "$(2)"; \
>> +                    else echo "$(3)"; \
>> +                    fi;)
> 
> This patch looks fine. Shouldn't the comment been updated as well? At
> the moment, it only discuss about -Wno-*, which it seems is why `grep`
> was introduced in the first place.

Right, but that has been an issue already before.

> But isn't it doing doing pattern matching on an error message going to
> lead sometime to false positive?

There's a certain risk, of course.

> Linux's build system seems to works
> fine by just using the exit value. They've got a few trick to deal with
> -Wno-* and with clang.
> 
> For -Wno-$(warning), they test -W$(warning) instead. For clang, they've
> enable additional warnings:
>     -Werror=unknown-warning-option
>     -Werror=ignored-optimization-argument
>     -Werror=option-ignored
>     -Werror=unused-command-line-argument

Ah, yes, this would likely be a better way to test things. Time to redo
what was done 12 years ago. I guess for the purpose of this series I'll
keep what I have, but take note to rework things afterwards (which now
would likely mean post-4.18, as the new-submissions deadline has passed).

> In any case, the patch is fine.
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:05:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583203.913277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRdX-0005Nw-R9; Mon, 14 Aug 2023 07:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583203.913277; Mon, 14 Aug 2023 07:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRdX-0005Np-NM; Mon, 14 Aug 2023 07:05:11 +0000
Received: by outflank-mailman (input) for mailman id 583203;
 Mon, 14 Aug 2023 07:05:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVRdV-0005Nf-Si; Mon, 14 Aug 2023 07:05:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVRdV-0006H5-G0; Mon, 14 Aug 2023 07:05:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVRdV-0001pI-6E; Mon, 14 Aug 2023 07:05:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVRdV-0001Ps-5i; Mon, 14 Aug 2023 07:05:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=COvsiGEzheDM/clCLMp1Pr0nLth/IVj80cgRvlJDEMQ=; b=rAqbeE6exufA99fgGSaqIECD3b
	4m4JeSuOYJupyG3FO852O6OryTAvmVBQet0JThsZGzXcejcjKfNIue6ZjqcltnWvx6rEBSch/ot/t
	lO0Jxv41JIxul1yaHXjxnb+Yy9Gbg6M+czFSJCdSpRqzaP6zOIzPcrVasxjuspAI6AY8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182316-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182316: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start.2:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-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-arndale: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-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-credit1:guest-start/debian.repeat: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-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 07:05:09 +0000

flight 182316 linux-5.4 real [real]
flight 182323 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182316/
http://logs.test-lab.xenproject.org/osstest/logs/182323/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 19 guest-start.2 fail in 182303 REGR. vs. 182065

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 182303 pass in 182316
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 182303
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 182303
 test-armhf-armhf-libvirt-qcow2 13 guest-start              fail pass in 182303
 test-armhf-armhf-xl-vhd      17 guest-start/debian.repeat  fail pass in 182303
 test-armhf-armhf-xl-credit2  19 guest-start.2       fail pass in 182323-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2  14 guest-start         fail in 182303 like 182031
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 182303 like 182076
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 182303 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 182303 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 182303 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 182323 like 182076
 test-armhf-armhf-xl-arndale  18 guest-start/debian.repeat    fail  like 182055
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat    fail  like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   15 days
Failing since        182239  2023-08-08 18:13:15 Z    5 days    6 attempts
Testing same since   182292  2023-08-12 02:13:40 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Aring <aahringo@redhat.com>
  Alexander Steffen <Alexander.Steffen@infineon.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrzej Hajda <a.hajda@samsung.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunguang Xu <brookxu@tencent.com>
  Cixi Geng <cixi.geng1@unisoc.com>
  Colin Ian King <colin.king@canonical.com>
  Coly Li <colyli@suse.de>
  D Scott Phillips <scott@os.amperecomputing.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Esben Haabendal <esben@geanix.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg MĂ¼ller <georgmueller@gmx.net>
  Gilles Buloz <gilles.buloz@kontron.com>
  Gratian Crisan <gratian.crisan@ni.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guiting Shen <aarongt.shen@gmail.com>
  Hagar Hemdan <hagarhem@amazon.de>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ian Rogers <irogers@google.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Vanek <linuxtardis@gmail.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Benc <jbenc@redhat.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Thornber <ejt@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jonas Gorski <jonas.gorski@gmail.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kaufmann Automotive GmbH <info@kaufmann-automotive.ch>
  Kim Phillips <kim.phillips@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Laszlo Ersek <lersek@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Å»enczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Marcos Paulo de Souza <mpdesouza@suse.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael S. Tsirkin <mst@redhat.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Mohsen Tahmasebi <moh53n@moh53n.ir>
  Mostafa Ghofrani <mostafaghrr@gmail.com>
  ndesaulniers@google.com <ndesaulniers@google.com>
  Nick Desaulniers <ndesaulniers@google.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Maignial <olivier.maignial@hotmail.fr>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pedro Tammela <pctammela@mojatatu.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratyush Yadav <ptyadav@amazon.de>
  Prince Kumar Maurya <princekumarmaurya06@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Roger Quadros <rogerq@kernel.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Ross Maynard <bids.7405@bigpond.com>
  Ruihong Luo <colorsu1922@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Shaoying Xu <shaoyi@amazon.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Stewart Smith <trawets@amazon.com>
  Sungwoo Kim <iam@sung-woo.kim>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  valis <sec@valis.email>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Ming <machel@vivo.com>
  Xianting Tian <xianting_tian@126.com>
  Xiubo Li <xiubli@redhat.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zubin Mithra <zsm@chromium.org>
  Åukasz Bartosik <lb@semihalf.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                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-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-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5380 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:06:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:06:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583211.913287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRf7-0005zZ-9A; Mon, 14 Aug 2023 07:06:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583211.913287; Mon, 14 Aug 2023 07:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRf7-0005zS-5d; Mon, 14 Aug 2023 07:06:49 +0000
Received: by outflank-mailman (input) for mailman id 583211;
 Mon, 14 Aug 2023 07:06: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRf5-0005zK-2I
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:06:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 207ec5a2-3a71-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:06:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8966.eurprd04.prod.outlook.com (2603:10a6:10:2e1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:06:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:06:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 207ec5a2-3a71-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HR7ex3eM4ppj1CkOWSezEQQHw8uMp//zHXHI61f9FwysJawTrRXG2zUJ7LPWxGcVqIJQH0jUi6Rt68NMNNlmDwRER7EEO4NHA7ae4LiTwJw2e2wR0dFpV/lQBp8DTnqgenr5/FhrjfWeUV93p7UpvLfd3ivwzanM/6QX+9nQH28ZdfRjmk51Cn7ysnK4M0NqKBaiCQcaF3bu/hMAR0Ydnt/1zB5Gfhl01nOUwZFsVSSDDwSi2argqynJIvQIX+JBYRsGustvZbwBSBxjzle6zntbLDmLxUC4IuYRzkAN2yOwkr5CW6Ioupk2X4Yf13XgrvPlJL/dAsT8VXxc6W5tDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z2woV/ng/nyzy+lSTOkMPdiFfI4fnGFigN9WwfghKkc=;
 b=DqmlozNJpYGqJy0ZeP22kc3TkFQajm+Mna8ChhrFGLnse1i+vdXt8br8zltsqXx42+9ij2CoRzg0n7MJP80JnhN0/UrKT96bXmD/BQvUvX3IZBvcGp+RfKBH3YoX3vpANFY9oEtzR2jEkl9z4GpwcxVX3E11heNll2mXfncC6WIvePQQ+RyaHqhfcbvDHUS/UVed6pOuMO8SaTtp82MZKLB/BnCdDXHHQGL6ouBqL+S03EwpsYmvbBw9D49dAf9UJUM3Iw304leB6Z6uxNvoBAHEhmcm7EHEASz7hlsMjhvUFwiVLnUWuuV6Oim46PzB9STwv+AuJ++IilQeADYg5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z2woV/ng/nyzy+lSTOkMPdiFfI4fnGFigN9WwfghKkc=;
 b=yx1CvbYoBK4ax8iYta+Rbavn6ZADcgTpZUTvFWMZo97lrqKN9gs9o97f1aCifgNAo7MSWU0jcv/TWCV8+LSf+pS7B46m51lWLpeYLcFVe+eRpBU4FkuD2J6F0fCDKGQb7L938pu0e5GyQxP92nYLMGk+xo3WC4aEhOCIeqNMFJr3gjmKekfS5R+vryRTyV7TvYzcpRtvIzCmRJ8YULOcY1CR+xUC0o80Qo8MrPcA6qsgtNyCGcXLRP67j3Qc/wnrtZZcJd4cXvn3Fk7wgEyLBw1GYy+r2LApmeI4Ro+rmAZ9wuc2RshF9UP87d5Et5fdq3yZD7JxikhwXFdyGw1ePg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72128571-2898-64ef-e11f-3cffa85236f2@suse.com>
Date: Mon, 14 Aug 2023 09:06:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 1/5] build: make cc-option properly deal with
 unrecognized sub-options
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>
 <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
 <41f5ab35-504d-4310-db72-8a9e3ff0a890@suse.com>
In-Reply-To: <41f5ab35-504d-4310-db72-8a9e3ff0a890@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8966:EE_
X-MS-Office365-Filtering-Correlation-Id: 6609086b-cc37-4682-8ff7-08db9c95034b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ucGbZJuzFTLJzTJPsDu4auz/arvVwyIwEom4FD+JSX7ktjR8h0h2SHh8F62px//DAVbvvWuXTr9bLoyO/xbh7Q1nd2aKKnW7CAoqGIqQPXo7gYPXAog23q9Co9KcaQ56LTErmIiogHRvm6T/hvSbMXladUUcXmRkDVG06FYQV6PA3f86B8gt80bYgO0c2qEGvU77MhH7ZBAcWXnd64OzKUrON4lUzzGpTVH4JhCQcHCH0EVp3t5lkgFKtj3RsIoC93yxyBgPTNPjhD97A57fWfPtY+l9CCmGRTFPkw+WD4HzfjtdRp/t6SSAUTdzoWzAUYpx+qmQida52yJDmuOrw1Y7anaUlTINretjNZWQNX7W+P80RrZ7rFlBMqyetDhqIxU82FYCvPa2nkJMopZJw3Zs2Q8SiQzTDOLJXbu/hvGADNqwWkfl0Dv9PFMSXxiZJCxHxD9BVMhNZXvbjavgHs7u+/LIWgXBYyrS099QHhYwCcDuyVKp7w1OeBDqd72zTr76hebC2gCDp9+l7Kmpru8oQ8NjEdTRGdroVSQLdwACclmUwPjibmFuuoOWGE8F33Z5R+1hvZSCvcG4zTUWhxno3ydFsCJVgl3dCPnZzGKj8tL/LHTL2W4Pb/jyMgM7GIrCi94fYACpx0G0yEgUdw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39850400004)(376002)(366004)(136003)(396003)(1800799006)(186006)(451199021)(53546011)(26005)(6506007)(41300700001)(8936002)(66476007)(66556008)(66946007)(316002)(8676002)(6512007)(31686004)(2616005)(83380400001)(66899021)(6486002)(478600001)(38100700002)(54906003)(31696002)(36756003)(86362001)(4326008)(6916009)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3RNNXkvbE15WkRmbWZWTnRaUkl4VEw0MFg1MTI3akE4REk2RExhaVk0VEZi?=
 =?utf-8?B?NG1kcnZrWCtwWElQOTZjbUJIYzdDa3pzcDdlc2Z2aHRuL3JFSWlQRXdCVVdp?=
 =?utf-8?B?eitZODlxUnlpY1dNamx3ak00cFhKSzVyUnJZVTRPeEpXS1pVYVlwZUl3a2kw?=
 =?utf-8?B?Y3lPb2xlUGxMSW9TeTB4M3dIdUF0K0QrdDZnb25rYmF5VDZQbW5FNzVUQ1V0?=
 =?utf-8?B?U2RjKzZXbUxFL1hERldpeXYydFQrcEN4SzNiQ2NVZHR1ODNHU0NYYzZoaVhi?=
 =?utf-8?B?aElKeVliK2Q3eFBiN1VDRzdpQ3dtQzh1d1BINkhrV1pDVVRiWnJMZXNxTUNP?=
 =?utf-8?B?MlQzQmtkdFAxNkw2TTNTb2NHVCtYSlJHVU1jMmdEQkE4dEFBRzVkdTZQRjU4?=
 =?utf-8?B?QmU4cUQ2NEgrSHIzdkNhcWNxVFFWVGZNd3JyVFMyemtCRnNxbXNBM0FWRmdh?=
 =?utf-8?B?NVU1ejQzZE8zOWFFeDhlK1BtNmZSMkFiL3BQOHRFRXF1NVNSb0NUWUhDVldv?=
 =?utf-8?B?MjhmM3JpMmh4emIwV1FjbnVLSmZ6ZkIxM3BjWUFOTlNtRVY4NWtzQ2g1Uk9J?=
 =?utf-8?B?a3RVUnJURWRyVUJRZmVwRkZNSEswQ050R2F1RjNXelYzdERHS05rRTVseUpE?=
 =?utf-8?B?RTZPaG5RTFFSa3l0ckZFMUpxVVdXNmtiamhMc2l2OFBGSkZXb3dIbTRkaml1?=
 =?utf-8?B?UStVR2pDa3UrVW1QYmRvTlZTMXRURGdCQU1mN2pVanJHajNvWFlJY1JWS29K?=
 =?utf-8?B?cGE1THVqSmJ6NVBBOWhhZG84d3BBQ1RCRWdCMzdSTmdaL3dmQlRkYkFhQ21X?=
 =?utf-8?B?d2JjMWd1Y1J5ZjV6OG5EUjREa3dwYzBSYkhpN2w1NkpmRzJJZS93Szc5a0Rl?=
 =?utf-8?B?b3hlWUw2bkE5ZE5Td0VUSFExTjhmOVFEUnFCcy9LZktuRTJJRitQelZaMXRO?=
 =?utf-8?B?MHJJbjR4TnZVa21TeFY3dVloWGQzRW5RdlRWQUJjYnNsOHg4c0Ixcnk4VUEy?=
 =?utf-8?B?eFkxaDdxM05xSkw0OW8vSEFQYm1ieis0VnQxN0FXemsrTStBV0Q0cUhzV0ty?=
 =?utf-8?B?MzdqUW5TQ0YvOHFZRnR3U2xoS0RONHJyUnNxUDMrMjUxVmlyYWc0VnhxK29J?=
 =?utf-8?B?QmlmV21vaVY3VVZ2V1JMaUFHeFZ0MEVXUGpsUjNkakJMU1hGbWlxeU4wMXc0?=
 =?utf-8?B?L2RDVUMxalFFWXVHTXJYMVYzYzBBSzdCaGRMWXNPUytaMFpxR1RFMGxDOVRl?=
 =?utf-8?B?OTlkQUIrQTlybUsvZEtLWVloSHUwLzZ5ZUVuSW1pa01SUGNVYi9YMTlkOEty?=
 =?utf-8?B?dWk4ak1qM3VxNHc0NForRTA1THpoU1RXTElSaWU2SW90YkFpYlg0QlhJcFVp?=
 =?utf-8?B?L0pOclNHSU15dW92cG54UlY2NlhxTXRBT0xpcUFHemRickZqYldCVjZlekJm?=
 =?utf-8?B?Tk1HUm55UUJ5cFZzZlVqRE1DcE0xcGVZU1pBcUJvNjQydVZjZHhFdktpNlRY?=
 =?utf-8?B?SlhuTkZCNG9zY3JhSUJWNTRndTdjMlhBWTRFSFhUV2p5a004b1R6ak9Ycm1j?=
 =?utf-8?B?TXZHbWJEZFI4S3lwejl0b3JZa0xQWGdyOXcrWjFVR3RlUE9xWTBVOU5nZ2Qr?=
 =?utf-8?B?dVl2c2l2UGFaTUhyaEd5N2ZINWtNVzlSb0FJQWtVWFU3ME1aTHNCa2pPR1JG?=
 =?utf-8?B?V2JKOXFtRkhqc2Z3TjBCbU5KTzN4RWJNUlRHb3F0SVJOdmNKVTlJV2RDbEpk?=
 =?utf-8?B?cWxsMDhTNmEyQzVndEdTTXBhNU5Oc0NnNjNNOTAzMDdzWXNEdU9NT1F5T01n?=
 =?utf-8?B?MU9KSEx3Sk5iNUNMcWtGZXhFS3BITzN1N1VjQVVwTVJJTm8wYUs2cHY5WUln?=
 =?utf-8?B?L2M0TjB2YU1FMDQ2ZWFJSzhYTzZ4YUxsSkRKdXprV3RYT1hGNmtYM0Y4OGU1?=
 =?utf-8?B?ZWRYclZrcnZpS2U5QzFRcWRtZkN4ZEJZTFZiek9jd09mSHJUK0hyUU9NKzRD?=
 =?utf-8?B?TUdscmVTL0dYdW90OTYzL3VwTjJ6YndPUUNTNHp1UkRKUnByOUl5ZDl2K2Zy?=
 =?utf-8?B?N3NBbWtON0pLck1GSmgwNkpTVU1BYlhjd2h3c0YrL0tXNlF3KzhrdVg0dE5G?=
 =?utf-8?Q?VZnSOAtFvCN8BE5qDg+ARykDH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6609086b-cc37-4682-8ff7-08db9c95034b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:06:42.3596
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L9hCIYDnvhnqGBn21c3wDkFWCw+fQ51Nek8Oe7bkwPOcA6jGmg5eWlvAo6VZilHG9430pnQj49fdVmoDqhDokw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8966

On 14.08.2023 09:01, Jan Beulich wrote:
> On 11.08.2023 15:48, Anthony PERARD wrote:
>> On Wed, Jul 26, 2023 at 12:33:07PM +0200, Jan Beulich wrote:
>>> In options like -march=, it may be only the sub-option which is
>>> unrecognized by the compiler. In such an event the error message often
>>> splits option and argument, typically saying something like "bad value
>>> '<argument>' for '<option>'. Extend the grep invocation accordingly,
>>> also accounting for Clang to not mention e.g. -march at all when an
>>> incorrect argument was given for it.
>>>
>>> To keep things halfway readable, re-wrap and re-indent the entire
>>> construct.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> In principle -e "$$pat" could now be omitted from the grep invocation,
>>> since if that matches, both $$opt and $$arg will, too. But I thought I'd
>>> leave it for completeness.
>>> ---
>>> v3: Fix build with make 4.3 and newer, where the treatment of \# has
>>>     changed.
>>> v2: Further relax grep patterns for clang, which doesn't mention -march
>>>     when complaining about an invalid argument to it.
>>>
>>> --- a/Config.mk
>>> +++ b/Config.mk
>>> @@ -8,6 +8,7 @@ endif
>>>  comma   := ,
>>>  open    := (
>>>  close   := )
>>> +sharp   := \#
>>>  squote  := '
>>>  #' Balancing squote, to help syntax highlighting
>>>  empty   :=
>>> @@ -90,9 +91,14 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
>>>  # of which would indicate an "unrecognized command-line option" warning/error.
>>>  #
>>>  # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
>>> -cc-option = $(shell if test -z "`echo 'void*p=1;' | \
>>> -              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
>>> -              then echo "$(2)"; else echo "$(3)"; fi ;)
>>> +cc-option = $(shell pat='$(2:-Wa$(comma)%=%)'; \
>>> +                    opt="$${pat%%=*}" arg="$${pat$(sharp)*=}"; \
>>> +                    if test -z "`echo 'void*p=1;' | \
>>> +                                 $(1) $(2) -c -o /dev/null -x c - 2>&1 | \
>>> +                                 grep -e "$$pat" -e "$$opt" -e "$$arg" -`"; \
>>> +                    then echo "$(2)"; \
>>> +                    else echo "$(3)"; \
>>> +                    fi;)
>>
>> This patch looks fine. Shouldn't the comment been updated as well? At
>> the moment, it only discuss about -Wno-*, which it seems is why `grep`
>> was introduced in the first place.
> 
> Right, but that has been an issue already before.
> 
>> But isn't it doing doing pattern matching on an error message going to
>> lead sometime to false positive?
> 
> There's a certain risk, of course.
> 
>> Linux's build system seems to works
>> fine by just using the exit value. They've got a few trick to deal with
>> -Wno-* and with clang.
>>
>> For -Wno-$(warning), they test -W$(warning) instead. For clang, they've
>> enable additional warnings:
>>     -Werror=unknown-warning-option
>>     -Werror=ignored-optimization-argument
>>     -Werror=option-ignored
>>     -Werror=unused-command-line-argument
> 
> Ah, yes, this would likely be a better way to test things. Time to redo
> what was done 12 years ago. I guess for the purpose of this series I'll
> keep what I have, but take note to rework things afterwards (which now
> would likely mean post-4.18, as the new-submissions deadline has passed).

Hmm, or maybe I could simply call this v4 then, especially when directly
integrating -Wno-* handling right here (by suitably using $(patsubst ...).
The extra Clang aspects (if indeed needed; didn't check yet) may not
easily be coverable that way, though.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:08:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583216.913298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRgU-0006YN-KV; Mon, 14 Aug 2023 07:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583216.913298; Mon, 14 Aug 2023 07:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRgU-0006YG-Fu; Mon, 14 Aug 2023 07:08:14 +0000
Received: by outflank-mailman (input) for mailman id 583216;
 Mon, 14 Aug 2023 07:08:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRgT-0006Y8-F3
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:08:13 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54164f52-3a71-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:08:11 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8966.eurprd04.prod.outlook.com (2603:10a6:10:2e1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:08:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:08:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54164f52-3a71-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ay5htbgV/oXxoM01WF9qu2/JXrIV/xI5rHuz3ScLS8TwT7BM+WZzdF0jAoade+Z4l5dD0Z9f4iZ2LWDGX6dWQ3zDm7rsvAZ+4dHUAzuV+1TlIAk+8mTR0TyX9AEqgvTgfaWm9iQ/g0G820QK8fQwiCENscLIqHnUEIJnXUw+IeXUeJqsFJcZ5VaZF06mGw8XN1+xwcinME+V4mqfstoPZqSLHMtd2o+R2ebCLpVpz1qBO0WRtxGc6+6zptJX1jrDOWeJHPRf74SvNsiehOsRq8rm+sSaTQOQukwWCLGf03JKe60bqQJbz12rd/KJY5d08teEJzeTvZbp7Mryx3XdaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i4MT8U04pUVILJ+is/obhh2uqWpJo7Cvs7MTCjEqp0Y=;
 b=jYZ3aZCP7zqiem3k7ftcflY5fwHE8QpMYdlYjewh5FbHrGw4BMGQi49wMiuUpNDcviEG3C5CEKlLkLpvJE1+YWGAWzIu5TfBrzHQQGz2YSZE4IcE9+Kc+tQG0aVWXIaMjPO2V80lSRtxwYrzy7Ik00tYOr4grF/kkfRnNEkMPfnFziizSTU0KDFA22HpK8pGkmuz0iLcFTv2caY6WP2izdSm8uAQiVr7E/1Z0sKEQkyti7wdhgpy05cDjS3qE7JIMnCGVW3vAF/Dv/V2B2UTpv6Negg2qb//KVJ2Nx/d2Px7bUVkrKz2XEQs3VJAR+ftFIyqNjMB1EdOXhbA8JSw8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i4MT8U04pUVILJ+is/obhh2uqWpJo7Cvs7MTCjEqp0Y=;
 b=rgdRX/++hm1kBZqL0NcAdgHk/J915iWxZ5E/NjntgPu0+kCyXIsTcRVZRSDs7veCMfCQyJlnDVw9avY092XzkPcq48Sl9tBP6bKPCQUCn1qmdjeAJCQAThf7AuIf4+ii4THd/T7wMECHFhxdeSb72JCeUL10q5aMg35cfv+J2smT7CEjHQyTHY7OgZYHSpTGdB3j9fsAC+LruRvMD1lBc048R0tUjuIN1rasvl7WLMZfrLCJy+dkX/mNNPcoj8oqTH9kKAU509h+Qr8IZNprdTNW9strMOYWdd67+wcre8UUBNaUy6ouhXr6KsfYnWE1Y7RnD0POkdr9PoTqt95ZhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <59478354-6805-8a91-776e-93a4cbdb4efb@suse.com>
Date: Mon, 14 Aug 2023 09:08:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230814042536.878720-14-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8966:EE_
X-MS-Office365-Filtering-Correlation-Id: 8941006e-b9ad-4b90-df1e-08db9c95377e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V4tnhDKIaLuPdycVZVsXus4PFFtFIQ8syOgsyt7z+EyJoY3jbIlljhwa360apM3RrVOLPgTKdXD1ES1MTXbZFqvryA8zetV2ls8UBOHSUfMl0swhgsZ1UGzfQZR7PUz9AW2R/5hWCxz45hVYzVjWMHkb/twGQvdL+EftLDyeQAxarV22EaZtuiFl8G+Lap/BQOJoXu+Bmp508crQTuTWHUGTQpJ+FbPtfDYcKM+lhC0PR2vUsX3ZHNaps6B1+kkHQGbQaecRsraXupHxXFudmdT16P+aR5ILGf+RTbaO1Alx8uYbuDKVwuLxvrCGak1QWfsel9b4lH6N0fFiRm6CjAzPdmaD8XXFTM1bQwuY8vilgHofhT8edo0OKiKC4FJbBqOqdDGwCDrOqF4BhQKYRzBARlUvPPKMiluujYK9gKzknGMK5MVR/3atIfBnfg9pX7dYroikVXrvnGD3BM5EGhZz5I1BxegsM/+q7XVxDjEulZkaMpaUMZsxzx2v1eX9EjoC2XiX+KlGHp3UlAJcqXrwyQiW9pmLu24s3vv1Hw6HDpYOtCCQyi82b9/eYsgwhDQIksUefVWWHBonvkkwu55hI0/NACO22LgMc6xrAtMfcxHRka5tg7+SMuu4BEuB0cV12HokErqa0RMF1RcqbA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39850400004)(376002)(366004)(136003)(396003)(1800799006)(186006)(451199021)(53546011)(26005)(6506007)(41300700001)(8936002)(66476007)(66556008)(66946007)(316002)(8676002)(6512007)(31686004)(2616005)(83380400001)(6666004)(6486002)(478600001)(38100700002)(54906003)(31696002)(36756003)(86362001)(4326008)(6916009)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUx4SklYeHA3OVkxQ1BFc2FoazNFUHNLL1VnZ2VRMG12MDRITGY0d3diaHdh?=
 =?utf-8?B?VGpwSEp6cVpMR1JRMEkxSEw0Tk5UdlNaZW1pa2lkTzV3ZmpYL0dMN0Q5N2ZN?=
 =?utf-8?B?SkdKREQyNnlKOHBoMmhZTkJuYUE4eWVsQjg5WGlGRkFsK0VrR2pwMk1sVjk2?=
 =?utf-8?B?NE1PeTdROGxIS245Z2VlSFpMaS9XdVdMdHZxU0UwOFphT1ZNYW1CMHZTOURV?=
 =?utf-8?B?UFQvYm5KMlc0RWVNUlAxOFMwY3FNblFXWmpxYXlpTHQwYlhFY2toczlHNHph?=
 =?utf-8?B?ZE5lby9BUHRnckk5cmNqZG9vOVpjWlBERVQxYlJLMGFMdFIxRjdnRFlaQTNL?=
 =?utf-8?B?eksvelFSVzB3alhjN09RTlQrR2RoNW9DWTFTN0ttL25NamlHV1RHNGxOUkUx?=
 =?utf-8?B?NFJGVGg3bkNJYmFjUXltY1VJb1NoNUJKTFdRYTFFeGFrU1JUZE1IOHc4MEhN?=
 =?utf-8?B?cHM2aGJTZ1M2Rmtpa2lCejZNQXhYbnNETElpMmtWakJweG1CSXBYSnJqdERC?=
 =?utf-8?B?WnF2SUtDaG8zUEFDN1NPd0hVU3gzQzBwREpkZ3hPQTlLSytFSE9QTEV2aHA1?=
 =?utf-8?B?WUVOa3MrSFJnS3E2bFMwbTM1ejdKN290YWFVRlVaZHVySTRVYUk3UnY5OUsz?=
 =?utf-8?B?OXJyVGFERlQ0WGNxWVNKWS8vMFovWmYzbFpjNXRyL1B0NllyQ2hCN0NJcmc0?=
 =?utf-8?B?NVdQZzhNTk9mdW9iRnM1TXdnbkEvR3dDODFFRmZ0ZVZLczR2MGxKak5BbHlD?=
 =?utf-8?B?SGljejBTZnVQVVA3cHl2NGp0V2RmQ1BnT1lyR05lLzdHWm1SSGMvUHVISnAv?=
 =?utf-8?B?dTBScnFJQlBUQ0h2Y1BzSXFxbURXRmoyQnBQOFJQK0FhZjFMN2x6elRzMDRI?=
 =?utf-8?B?WTRVRU5JRmc2aUtWZ0FHMjJ2bmR4enY5cHlteURQSmVLNmhXRzFFaUpjU3Bw?=
 =?utf-8?B?RndvU2JwRW5tK25jRE1XVCtROG16VXlHTzJEaFpCWHdVNCtuYWRpU0FCTUpq?=
 =?utf-8?B?bWdldmJLNEkwaDl1NC9Yam5pWWhkdGkvS2Z3T1A0T2V1b0JSU29LenlEK3d3?=
 =?utf-8?B?RnZJa1lJQ0xiem1ldDFPTDVibklGYWMzSG03ZkJmSHppd2ZiRnU2Qytoc0hv?=
 =?utf-8?B?NDltakZXSzVaQkRDVTU2ZE9SaVFqS0VQaTFkNzVqRzFFNE9PUW1rR0wrZld3?=
 =?utf-8?B?aTZFSXowR21TTXJvRjYrRWd1MERiSmJieHpvU3NHV0N5WHJ6MEU1SE5nSXln?=
 =?utf-8?B?QzJQVnNNSWJ5VStEc0tCaThKeUppRzlUSVFtL20yQTdjYTl5VW1wa3dHR0R4?=
 =?utf-8?B?WFV2YkRRUmhpSFp3ZXpXaUNubjZlaHNhcHVZUGVYbyt5WkFwMTZnekJjZEpI?=
 =?utf-8?B?dUFocnJzNlBtTEpCeWJYR3ozWjEzZGI4REN6VGJIcm81cVJ1V0VoTGxZWVpV?=
 =?utf-8?B?cXZOM09pTzBlQ1RjM3Q3QnNYTFcreWZGTGlsQkNxQnRFd3d5RGt1SjlEZXFK?=
 =?utf-8?B?R0lEVjJXcDVXem5JenVQREV6U1E5VUViY2NHVFltTDBxdFpqSHQrdDlWOXpo?=
 =?utf-8?B?Qm94S3huMWFtQ3JBRzdmQ3ljVTZDL2lhMjNrc1N1cFl2dklzWmNoMlhvSExh?=
 =?utf-8?B?c3dtbWFlOGhMbUFnZHZxOXkyYTNoME9oTndEaTFObzVqS25lUzRYQlFmNUMw?=
 =?utf-8?B?VWNFeitMOTBNcU9rS2RQSk1DUVpieFZKdlNXT1BqU3hzdStHbHVWLzNHYlNJ?=
 =?utf-8?B?ZVBRdmZGUlZqc3V6NXRhSWovYS9LU0dBU3N5Y29oQ2dPU2VWK0ZhQXBWY1BT?=
 =?utf-8?B?VkRLamxZTmpNQXI4QW9BWFFYUGVqZEMrelEzZHlyTFZHRXE2azBIZ2dmQVMy?=
 =?utf-8?B?MVM1aUd3dVR1aFB2RjZLc2poZWgyNEdLeEJqZDQzY0pXS2h4RktzUDE5b21F?=
 =?utf-8?B?dmlTN3I4SkxPWUJwTUNPcldIUGpPanhSNWwzNDNGbTJnU3N3Y2hEc0k4WUZv?=
 =?utf-8?B?RTRUNFVTazhvTjdJYjNEWWdwcFdWUWNLa1RvaUlZNERZbjREcWNwWEs5QXMy?=
 =?utf-8?B?RjlyOWREMmNERElMY1VuU3ZXNVdSKzZHdE1BZVBJN1ViZ1Y4MkZFck5GaDZz?=
 =?utf-8?Q?pkKJ5mkYh3v/4vAhVPeoLU1z/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8941006e-b9ad-4b90-df1e-08db9c95377e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:08:09.9292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YbH9IcFsI1swV18gXNmRYgPWTOdN/KaECmNQ8EHnAVloUqKSmt8/PUZuSXZwo/DmnxFEocDhKS3o5MER5swmWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8966

On 14.08.2023 06:25, Henry Wang wrote:
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> SMMU subsystem is only supported in MMU system, so we make it dependent
> on CONFIG_HAS_MMU.

Nit: Stale "HAS" infix?

Jan

> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> v5:
> - Add Acked-by tag from Jan.
> v4:
> - No change
> v3:
> - new patch
> ---
>  xen/drivers/passthrough/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 864fcf3b0c..ebb350bc37 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -5,6 +5,7 @@ config HAS_PASSTHROUGH
>  if ARM
>  config ARM_SMMU
>  	bool "ARM SMMUv1 and v2 driver"
> +	depends on MMU
>  	default y
>  	---help---
>  	  Support for implementations of the ARM System MMU architecture
> @@ -15,7 +16,7 @@ config ARM_SMMU
>  
>  config ARM_SMMU_V3
>  	bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" if EXPERT
> -	depends on ARM_64 && (!ACPI || BROKEN)
> +	depends on ARM_64 && (!ACPI || BROKEN) && MMU
>  	---help---
>  	 Support for implementations of the ARM System MMU architecture
>  	 version 3. Driver is in experimental stage and should not be used in



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:11:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583224.913307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRjk-00081p-2I; Mon, 14 Aug 2023 07:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583224.913307; Mon, 14 Aug 2023 07: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 1qVRjj-00081i-UR; Mon, 14 Aug 2023 07:11:35 +0000
Received: by outflank-mailman (input) for mailman id 583224;
 Mon, 14 Aug 2023 07:11:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8M3t=D7=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qVRji-00081c-OC
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:11:34 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb6102d6-3a71-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:11:31 +0200 (CEST)
Received: from AS9PR05CA0130.eurprd05.prod.outlook.com (2603:10a6:20b:497::10)
 by AS8PR08MB7305.eurprd08.prod.outlook.com (2603:10a6:20b:440::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:11:29 +0000
Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:497:cafe::56) by AS9PR05CA0130.outlook.office365.com
 (2603:10a6:20b:497::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 07:11:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.14 via Frontend Transport; Mon, 14 Aug 2023 07:11:28 +0000
Received: ("Tessian outbound 169aaa6bf2b7:v175");
 Mon, 14 Aug 2023 07:11:28 +0000
Received: from 727a02f8e251.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 018E80E7-9860-42BB-9D00-FE5C1D53A8B1.1; 
 Mon, 14 Aug 2023 07:10:58 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 727a02f8e251.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 14 Aug 2023 07:10:58 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB9956.eurprd08.prod.outlook.com (2603:10a6:20b:637::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:10:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:10:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb6102d6-3a71-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2+Nhf/sUMjd9AAr8fIq1mo4pDvH5OutbGZPqs+yjS9Q=;
 b=60s2+GElvw3sQ2acWngNZfaWUj5W/EP2DFzzvr92+y+F9EjDAiYJnVBjwcw86VT3DX90H2+31OzL1WNeJEvYakOXShBU7EEI53d772jC3U+xPJ350E2CNTCQiDFoF7h1DTsRqb5KDDXiYcjoFoKsSLaM0fMKurNqVjJ/OhrBXqw=
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: 06ce60e18af6e604
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J68I5m5hWGMTDncq35kb5OYpL1D+xQK6F1fnnrF9DgzOhL2TnC2O6emCfxRVfxy3+5FGXebrek3LzHDJYTeWski14M0BCXdC16PjxvAqRFORfiXZA5m8AfGmbk0Y5kHPQSk+ApfMezkF2N9iAFIxP970TPVfmpVgjNeQ2TawUidF1DvnVeOR7+oGD3X4U52unDgJ7iahXqbSQZTbD7HUmUInNprNYhF7uTZzkjWI+mirRVDFCNLaIGVdaMpwNkOzlzFIS6ivYH/U3hgA3S7fFqiIUbAV/h+niXZBH3/oRmsQE7IDKJMhaEyAZ05dp6fM96Rf3pxkvUV9MbOjQ8qXeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2+Nhf/sUMjd9AAr8fIq1mo4pDvH5OutbGZPqs+yjS9Q=;
 b=lD2njhso6DsAdkXP4qjjgx7u/Ev8EtmRUgLjkpdRmIwvlz+fo7ywOU0LxE6XqtPKBagcYYXsrOsOK0SW6jnN6GF85JZPeozP7nb/lZXyTRsagwQpl0WAkdkYeeX69puNx4yPKjT8L1UJXPzkPtA+O3U0fy6v4m4Jd0HqlxHMYAgAxW+iFFcpmORFYpPHkiw8h67IwyvtUEGDu+IhSokB3zcxMvX0EP9M1nxR0i3aHZRgt98rfuyRaUmx7roBdi/Z2ibCmoHJf3jskOMXfXW9RvKy4kFdlXE/KLKr+4C4DcHSW/T63BrOTHA7phDI89vb6c2YTA3gCTBYqMtLJ5hqJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=2+Nhf/sUMjd9AAr8fIq1mo4pDvH5OutbGZPqs+yjS9Q=;
 b=60s2+GElvw3sQ2acWngNZfaWUj5W/EP2DFzzvr92+y+F9EjDAiYJnVBjwcw86VT3DX90H2+31OzL1WNeJEvYakOXShBU7EEI53d772jC3U+xPJ350E2CNTCQiDFoF7h1DTsRqb5KDDXiYcjoFoKsSLaM0fMKurNqVjJ/OhrBXqw=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Penny Zheng <Penny.Zheng@arm.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Topic: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Index: AQHZzmeUay8NQ4kvrE+CkZdRGQuMz6/pX10AgAAAtIA=
Date: Mon, 14 Aug 2023 07:10:54 +0000
Message-ID: <3926864F-135F-4A6A-889B-767DE9DA7502@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
 <59478354-6805-8a91-776e-93a4cbdb4efb@suse.com>
In-Reply-To: <59478354-6805-8a91-776e-93a4cbdb4efb@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9956:EE_|AM7EUR03FT017:EE_|AS8PR08MB7305:EE_
X-MS-Office365-Filtering-Correlation-Id: cea2be8c-151d-4aac-cd71-08db9c95ae33
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:
 rVU+mUiwtdpzd7k8znnHzRmLOIJudDKx/39o7zO7N9aElbaMv585bCNx6pf420/FCCfAuX61rV1MDoQeP+8OCpg9yiF/igvLqxsl1Rv4NkaN1cgeNPh3sgtO3I7VZ8UmOOUVbxRQRJKk++0QzoKtj63uEQNkvQ+9rHU5jdBib7R80ClPGXxh4YdNj+ziecdWFg6fOWjVotq2AYYfQQiwrHKwuJ0L6LAjyDO+ly/LOByrioM6Nr4cVsK//lAzcrfL3b+XopagQkutLuynV/2O3Ul3VxaGoxiYysywXlhCOnMcix/Xmo4TTbmY2dRzKBBTHc4OT/FEbRE0brB54slbTBDGVMCdRTIGKtMSCFh8EJdLGCjqHEHSrfsMgArHP/jh5JhxFf3uOEBpq8XSgulOSlXyDQt7thlu/rolbS5aGsl6ztyAm38KaSXfpj/unMV3FDrUs3+xVtjb12yVc/vaj+PzA1EoKM71jLQWCcdBj+IXQY4GT57ue9z08T5uIhZVFdUlxXl5vEiMFI/S3QKlW9f4SyFRMyD9ED4rFd7vr/O8mKnKj/pQteN+g1+6XzYEppdVbQi6S2alZQ9QNGQDAmDmOwByJfz720VhKwq8oNolGFTrq0s1+TbW3y4/pcdJNlQ917ny7tPksd045+jEXA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(39860400002)(396003)(136003)(376002)(1800799006)(186006)(451199021)(83380400001)(8936002)(41300700001)(91956017)(76116006)(66446008)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(2616005)(26005)(53546011)(6506007)(71200400001)(6486002)(54906003)(122000001)(478600001)(38100700002)(36756003)(33656002)(86362001)(64756008)(6916009)(4326008)(5660300002)(2906002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8228812B4A4A27439B35D15C11DF3066@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9956
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	830e86b7-4bfe-4b76-5c8a-08db9c9599b1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0ii3tm8AyW8MFnOo7cwZ1pjvDIzbuNJuDMDx33U1qNHMzctfElrdemfPZ88+MqZDhZz+hqRDIjMDZvYakrJ4hKU6HWpfnIa+YUCqkxM7mRzfPGE4U8oXdulEr5R3zZtBQnlZJGgB0/9slD4XGouy3eIUuGkhhBIwRtKUS0ZaEKH3vhajucb10qfQ433ye3vJtsAENDEFyf4Qi7NEUvLEsCEzL0hClUAoNQgAaRj9mISCDQGfSWdYRPk5cpaGN0lpaYK/emHFxauKWqfX4PXXlPVJH4eGRiNUttA7eVEXZrTWe447uJ/22K+ljlurbCHyKkwXd7hZf6XpH09/w6YaNzjC5J88XPbhIBGo2Q8KYLe7ANnqcXdCtT26Bso/Id9CNf3+ZFERrf/OnsWymutG7crY7rmSu4UVgHopQNAJsuQoFXjboisqE1TFYEyXwliB3Ip9AoOmC5rhiVxqZWZi3L6lHFu2qozIgZo/j97n19vTpEIxjUzpx1K44CrHmpqux86FHp+oOK0Rn7vklYt53YVabscAdSvv5S+nK5LCn2EgnCUuxhklpn9M7XjSDeOSJ1o+lfsdvGyLqq7f24eAP2WeG49eeUI+bqRwYPncxYiztG1669sMc3ig3bRpOWCEeNAe5dVUCQsAOITfhmGQLAJB2JbDkP6tgW3Qe5o9DQpiaNAhV53XgaYwkjOWHKtaBH+AjOa3KtesaYJexNMspl6mjDBr1R1rYOWTkRgnERlfF7FuqGDAMt5Dk2a9bb8u
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(39860400002)(376002)(396003)(82310400008)(186006)(1800799006)(451199021)(46966006)(36840700001)(40470700004)(356005)(81166007)(36860700001)(82740400003)(40460700003)(316002)(4326008)(478600001)(54906003)(41300700001)(70206006)(70586007)(6862004)(2906002)(8676002)(33656002)(40480700001)(86362001)(36756003)(6486002)(8936002)(6512007)(336012)(53546011)(26005)(6506007)(5660300002)(2616005)(83380400001)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:11:28.9279
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cea2be8c-151d-4aac-cd71-08db9c95ae33
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7305

SGkgSmFuLA0KDQo+IE9uIEF1ZyAxNCwgMjAyMywgYXQgMTU6MDgsIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAxNC4wOC4yMDIzIDA2OjI1LCBIZW5yeSBX
YW5nIHdyb3RlOg0KPj4gRnJvbTogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+DQo+
PiANCj4+IFNNTVUgc3Vic3lzdGVtIGlzIG9ubHkgc3VwcG9ydGVkIGluIE1NVSBzeXN0ZW0sIHNv
IHdlIG1ha2UgaXQgZGVwZW5kZW50DQo+PiBvbiBDT05GSUdfSEFTX01NVS4NCj4gDQo+IE5pdDog
U3RhbGUgIkhBUyIgaW5maXg/DQoNCkFo4oCmTmljZSBjYXRjaCwgc29ycnkgYWJvdXQgdGhhdCwg
d2lsbCBmaXggdGhhdCBpbiB2NiBpZiB0aGUgc2VyaWVzIG5lZWRzIGNoYW5nZXMNCmluIG90aGVy
IHBhdGNoZXMuDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IEphbg0KPiANCj4+IFNp
Z25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPj4gU2lnbmVk
LW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBI
ZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+PiBBY2tlZC1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPg0KPj4gLS0tDQo+PiB2NToNCj4+IC0gQWRkIEFja2VkLWJ5IHRh
ZyBmcm9tIEphbi4NCj4+IHY0Og0KPj4gLSBObyBjaGFuZ2UNCj4+IHYzOg0KPj4gLSBuZXcgcGF0
Y2gNCj4+IC0tLQ0KPj4geGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvS2NvbmZpZyB8IDMgKystDQo+
PiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+PiANCj4+
IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9LY29uZmlnIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvS2NvbmZpZw0KPj4gaW5kZXggODY0ZmNmM2IwYy4uZWJiMzUwYmMzNyAx
MDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL0tjb25maWcNCj4+ICsrKyBi
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL0tjb25maWcNCj4+IEBAIC01LDYgKzUsNyBAQCBjb25m
aWcgSEFTX1BBU1NUSFJPVUdIDQo+PiBpZiBBUk0NCj4+IGNvbmZpZyBBUk1fU01NVQ0KPj4gYm9v
bCAiQVJNIFNNTVV2MSBhbmQgdjIgZHJpdmVyIg0KPj4gKyBkZXBlbmRzIG9uIE1NVQ0KPj4gZGVm
YXVsdCB5DQo+PiAtLS1oZWxwLS0tDQo+PiAgU3VwcG9ydCBmb3IgaW1wbGVtZW50YXRpb25zIG9m
IHRoZSBBUk0gU3lzdGVtIE1NVSBhcmNoaXRlY3R1cmUNCj4+IEBAIC0xNSw3ICsxNiw3IEBAIGNv
bmZpZyBBUk1fU01NVQ0KPj4gDQo+PiBjb25maWcgQVJNX1NNTVVfVjMNCj4+IGJvb2wgIkFSTSBM
dGQuIFN5c3RlbSBNTVUgVmVyc2lvbiAzIChTTU1VdjMpIFN1cHBvcnQiIGlmIEVYUEVSVA0KPj4g
LSBkZXBlbmRzIG9uIEFSTV82NCAmJiAoIUFDUEkgfHwgQlJPS0VOKQ0KPj4gKyBkZXBlbmRzIG9u
IEFSTV82NCAmJiAoIUFDUEkgfHwgQlJPS0VOKSAmJiBNTVUNCj4+IC0tLWhlbHAtLS0NCj4+IFN1
cHBvcnQgZm9yIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQVJNIFN5c3RlbSBNTVUgYXJjaGl0ZWN0
dXJlDQo+PiB2ZXJzaW9uIDMuIERyaXZlciBpcyBpbiBleHBlcmltZW50YWwgc3RhZ2UgYW5kIHNo
b3VsZCBub3QgYmUgdXNlZCBpbg0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:14:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583231.913317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRml-0000Dv-Ka; Mon, 14 Aug 2023 07:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583231.913317; Mon, 14 Aug 2023 07: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 1qVRml-0000Do-I0; Mon, 14 Aug 2023 07:14:43 +0000
Received: by outflank-mailman (input) for mailman id 583231;
 Mon, 14 Aug 2023 07: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRmj-0000Di-Qb
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:14:41 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b7ea424-3a72-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:14:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6977.eurprd04.prod.outlook.com (2603:10a6:208:189::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:14:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:14:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b7ea424-3a72-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HYsyWGyIUgHDX8C3WVkMvNlYawIg3+VKa6YO82MC99vC5AgVGjrOoj0c4ehKLlkA/fkveLApb48XjDJ6clnX0Gnmta3k2x3P/Q+G+Q0bIUrKXbPxzVFTcTul2qsT/j2wBw8UZmCRuLBZcK7misyWrrxcuAA0sNDL23qcGhqldMWAD2HH1yZNEz+c0Z76z4oyoT6vU5QXRLbbYpyrkreoiTYNV/y9eQkpMK2tI0v66fLlGyC3rZyJLnAlIq1y8jSveKygHkGhgtzkWOQTGx9KW7e2Mi/RYQ5o9xt7NqPolxRglrJsf0wkVSCgMyMy8HH9n97tstORfdXgcn/gY2swJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sjyqSozBctvTcsRbGw1xoNDhu+P+lKR13bT9lLYOJ2I=;
 b=YkhtpaTwTRzc7OgWJ/DPwbfqSHAFpROetCglTmn2xnL5+btz0pNyB/go0kNf26K8HJ8riLIvharHO1dJms5qht89/rCXgCBSDDGOJhToPJgrHXClW+DtQqsURIY3QZ7drI9u5EEfCcEb7U4c3lJujv/2nsl7hUE5Vn7nznczeT44bxx64EwgHA0CaNNmhqPTDDJM7GEaLgfuTREaevfvVfPqEdAKUDcIaUoQxZ3Ng+qvdazOKM7+ChiFMzsfeUtGRirKZWlpOuRtsc75gLZ9Quzr3kjQQlVRFOWjqTVFTHWmzRR1hg6FLaRdYwC9vzm+aMWiVIwrxTiFmAMOjLLa4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sjyqSozBctvTcsRbGw1xoNDhu+P+lKR13bT9lLYOJ2I=;
 b=ZjYgkPENxOk8FYcTEyXMTyeARfxQFOwr9TW8iwCpF10kaAqVtvorkEr2L5bc4ZLBriw+C+UoSAgHvAjMSRJ16kb4z1icfkxIM4jeSibmWl/kD62i+OBtC87fkIqzXFcwfmacnxMHFFLO4IcQP0sMu4QhjT5RyyrIBadSasabbKSxBtSPpH71+8+SWwVcOGXX4gkIYHJledjW5ArGZi+vAEKzIHkkCpSwFM/sRGJXy7aPBjbeUS0WJblLa/YeFJO4v5PQSaq8I9c3ZG9zGaQte/Lg1dXTnPXL/KhdbnwwGKRZuiLZtwshnACLFy5XHRY2nfgh6Q3ho+NxbiQxxx4FGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6fd6cc67-3ec2-d811-17c4-02845f62042b@suse.com>
Date: Mon, 14 Aug 2023 09:14:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Federico Serafini <federico.serafini@bugseng.com>
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>,
 Wei Liu <wl@xen.org>
References: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2308111528510.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308111528510.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6977:EE_
X-MS-Office365-Filtering-Correlation-Id: 7107173b-8dc5-4b5f-7818-08db9c961e56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CN/Q38uHseJdwkIk/HyzdjeNit8Vc9R0vrNJNik5HSwlNvsZsmAOwnykrLMdDwa//sqsQoSdQ64CLsPZrFOxyqin2J7TZG4BGx0CB09+iWpR+YfxUFXf7qRDGgRdXmtuD+RoVV54j1EAnfpp15KriqqXgi4j8rGwCImqLsBzCsmPBq9VbKrNxWv04oLzAnrimNdpERBx8BtleEHkuagnvPDbbJunqscxcTVlMm6tHiSXq0kSlB4TYEIPMTmhmv40ZHBZM/rs10IdQibgdnX68PtfciC2EwImpsmMNdNduGPqJj2ULU83HbRKP1D6A71l80t81BS7aYMXETsGRYPqmXSZxHU+GkiRU0kuThuuKCU4EJNkG7JVi2SvHjXgulsPEVINuVgx3MtGROPzsk49kPbN9k17zH2yhQv86gqtFiKkh2IwhZij9WmvjTJ4QwAATMFNM6IOWLuImozzIAM2DCq5ndOP6ArwCwfGvuBO/9AVjVtNAVpL8gKocL8OrR3+eblXSOUw8JaKg48Zu3pSl4wnGrwc08zFh116rWh6jNlmw8+vomH2GOtFkTYWjct5HcN+80Kq7HrQTgB4jMXiYoUNLYxoMHhoQsjlXhsslKuemCJaQRXCcjnWvC6Qg28KNzW6KKKDTOG7kLnoGVTIOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(366004)(396003)(39860400002)(136003)(1800799006)(186006)(451199021)(41300700001)(8936002)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(31686004)(2616005)(26005)(53546011)(6506007)(6486002)(54906003)(478600001)(38100700002)(110136005)(31696002)(36756003)(86362001)(4326008)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFVOLzRtU0JRWGNIc0VMV01lRnp2WXgvZmRCczJYdWJHbndxdlEyd0NSaU5t?=
 =?utf-8?B?T3R3SVZ2YjU4bkVGZUUrVGJ6TU1uSUh4N3hnZThRdUJoaG9QTHk2VGMweW9H?=
 =?utf-8?B?K1hzbkx0TjJkeE0vT1hDbjR6THR2S2dCNjZaNWc5NDFUMTRKNCtEdnZoY3p6?=
 =?utf-8?B?NUx0UXRuRit2S2FzM2pIVGR3aENWblN1QUVrRXBmWVc0eHJxd2hYdDZuTTVa?=
 =?utf-8?B?MHA3cFY3ZGN1aXlRaW1STUZ0a1hiNWV6WVFBVmlZK2UzVEx0L0ptWGxzUXlU?=
 =?utf-8?B?VlB3eVhrL0trR3J4NGVMZmVubFlQYnpHSEM4bXdGR1NEU1MvdWpoRmlpS3Yz?=
 =?utf-8?B?SXpUdUx0R0hHMzdYZHREREFjN1NtWTVIL3ltTTNjRVdDcG00QWVUZmNhdHUx?=
 =?utf-8?B?SUZuRWM1c1ZNakF0eU9IdTZHZGdEWnByamV4Qlh0ODEzajNldVhtVmR2OTJZ?=
 =?utf-8?B?cTZaMlBJK01IR1NpaWhmRFdsS3ltb0FYa2ZqQnVQQW5uM0RzaENtcTlRa0tt?=
 =?utf-8?B?QlJvbVVUdzYyQis4anFpZVlhRkZxeWNJZVFxVlZyUGRsUU42ZDN3UWdHK0tL?=
 =?utf-8?B?RmNiSEFBTjFUY0YyUHJMc2dZcWpHci9rR0RaSFhDWDIwVUphaDZFMGF0ZzMz?=
 =?utf-8?B?d1AzNmw5bWdXdXhReHNrejZPUHdNOVowY2pYaWl0anVWc0Y2OS9tSFpybi9R?=
 =?utf-8?B?YlkzOW5iTEVwSFdPNmVta3pnaVNRSmxON0s5NjBYR2x1R3R1Y2NLSGlFMnhv?=
 =?utf-8?B?M01NUTVZYU9LNk1PYThSenkzNXp3OHprVnlPbnpoV2JHWDI5dDJtSUE4L0Mw?=
 =?utf-8?B?L09lUTl6U1FEVzBPYjZ5MHNPYUMrSWRmNFVrQzlzamhlUStFVWJpd25leFZu?=
 =?utf-8?B?VnREUDlIdVc4aHZnZmc5QmxCNFhjOE5xTmJXVUZhaHJ0NEhCQUl3dzFHMHZD?=
 =?utf-8?B?UnVmdFVXUTBhM0srVldkYUNkVEtKaDJOdy9yLzRPcnJoSThxd3kzUVRMUUs1?=
 =?utf-8?B?NkhVOHZmazUvMkZ2R1pRcVBPVWZ0cXMzRjdyckVzQmM0THZ2bUowYTFkY0xS?=
 =?utf-8?B?VlBDejdiVklGVFZZcGpvU0VlM2FBNkVkNHlzdGZpUnNxdlAvcHNZZnZuNk43?=
 =?utf-8?B?OHhITk91SldDVUFOV3FjOGcrWGNONVQ0NHBVNmJ3TWt6YTUzUFR2NVRIdWRM?=
 =?utf-8?B?WUlPN0JWaDZvempnS2o1cjgwcmlDVlhoS2R6b2FGeTFUNUJSa1VZZjBCS0Vk?=
 =?utf-8?B?c0dYR2lCSmtrM1RYTDQvOHVXU1ZqUGtmZnMxcXZ6eXJ1dzRoOXl0WjNFbnRH?=
 =?utf-8?B?ZGFHS2c4UEFnWG1mUWdIMXcxSlJPWUI3emgzaWpGNHBkdFg1aUhGa3B5bzRX?=
 =?utf-8?B?OXVYQmFjbjVIazFOVVRxYnJOVW1wdU1iS0RuYUI3YkUxeFh5eU5YcEZmSVhv?=
 =?utf-8?B?emg5SCtnUmJJZC90SDVYOGlKYkEvNTYrK0Y0cHJaWEJ5Nk9GaDFCZnNGOFRZ?=
 =?utf-8?B?U01CS2JRVUNIc1lRZGRidnA1WXVUL3l3aElER0pTTWlYcUZFVG9FWHo3SDd2?=
 =?utf-8?B?R0ZVUGFTUXBNdkk0djM4aGI3dFUrRWczSm1yUXpWWHA0dk9jN2E4aXFRSm45?=
 =?utf-8?B?Sk1hRzIvajVvcDQxL2JHSVJYekZSVEVTM0JtWmtOdk5tOG95QTlobExWdS9V?=
 =?utf-8?B?ZlEveFpwenc0TW5LWS9RdktOdXdZOW52NWZkcVJOQ1hISzE5cXNJN2J2RVJE?=
 =?utf-8?B?V0QzZ2c4b0RXUkFFbVFjb2llWnc2S0NBdEtDYm1jaUgxMXpKOE5DWGZNN0Zk?=
 =?utf-8?B?L1NPR2FJdFlCRUI1SG9YTUhhNnpCMGkyY2I0YnZKdlduWHB5RzlBQnFhZ1FD?=
 =?utf-8?B?d0FPdHM3UnVIR3Y2aTJHRms5N09LTEZRL0xyb1RJNFdGV2NrNVk1cGdDRWsv?=
 =?utf-8?B?bm9NckpRUDFVMFhyUEtKZXFXRFNoczAzVEJRQ0MzdEhQM3Z2MVBuZWF6Uk1Q?=
 =?utf-8?B?U3cyT1NoOHhjeWNCMGFKUmh0S3R3b1NrOC9KVmJkNEZyR0FEb2w0NTVFZEgw?=
 =?utf-8?B?NkpVd3YzSGR1a09OaWM5Q3dpZTJ0UzdjQ3QvdFdYNzBrRHV0OHBmQ1FZYzNv?=
 =?utf-8?Q?x+2I6tlLU1sHrMEBtZoPzrt8P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7107173b-8dc5-4b5f-7818-08db9c961e56
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:14:37.2304
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C8ReNOSWhCdGP1jN8KXlRlyebxsTwtOlMKtIOz64QwFQq4Qyj4P/dOfb2yv/hrIvG7XfzRU3TOz2zK/gnjRd5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6977

On 12.08.2023 00:30, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Federico Serafini wrote:
>> --- a/xen/include/hypercall-defs.c
>> +++ b/xen/include/hypercall-defs.c
>> @@ -107,11 +107,16 @@ defhandle: physdev_op_compat_t
>>  prefix: do PREFIX_hvm PREFIX_compat PREFIX_do_arm
>>  physdev_op(int cmd, void *arg)
>>  
>> -prefix: do PREFIX_hvm PREFIX_compat
>> +prefix: do PREFIX_hvm
>>  #if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
>>  grant_table_op(unsigned int cmd, void *uop, unsigned int count)
>>  #endif
>>  
>> +prefix: PREFIX_compat
>> +#if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
>> +grant_table_op(unsigned int cmd, void *cmp_uop, unsigned int count)
>> +#endif
> 
> Everything checks out, so:
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> The other changes are uncontroversial. This one about splitting out the
> compat version of grant_table_op is not great. I wonder if it would be
> better to rename cmp_uop to uop in xen/common/compat/grant_table.c. I'll
> let Jan and the others decide I am OK either way.

Would there be anything wrong with instead renaming compat_grant_table_op()'s
respective parameter?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:16:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583236.913327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVRon-0000oM-0n; Mon, 14 Aug 2023 07:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583236.913327; Mon, 14 Aug 2023 07: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 1qVRom-0000oF-Tn; Mon, 14 Aug 2023 07:16:48 +0000
Received: by outflank-mailman (input) for mailman id 583236;
 Mon, 14 Aug 2023 07: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVRol-0000o5-Ec
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:16:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 871c6dfa-3a72-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:16:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8547.eurprd04.prod.outlook.com (2603:10a6:20b:422::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:16:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:16: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: 871c6dfa-3a72-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HoRDwZrpmiEtsJMliq8Q0vdEpKxByJvodeSPj5QjTTh24K0XjKLjmK93IPCCHYPRNUz1Y4A3AhuoAUGngyw1pgM1SRdV9jKojNRnBVMFIaNy1kuGTuLgm5KrWWFiPx+y/YNTsMHDDt6eRnuWne/QrN3lNLok4Xxj6LEJhCFjrGZnDRaUJgRua72QxfcS6Kg6yT2cXQKG4/H1pYOkTaFuD64mCfEHoX5SW/F/pt0wlwXpw7mR0ixL3RNzOdPhZcRL60P+U71bSi/cp0kws8L0CDwfDty4KhWjpDB3VX48YG/5MtfPr0o3ChMF7JhcdLPZEyHK/i/yC1cvlQ8+0MbaMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BwRS2+dFdMXNaE+6d8LOg6DOaiWWw1h97YGxv09qc6w=;
 b=PpKsTTCcWK/S8ZHeoycjuJ9qS0VMo1SDnBcH5O7qy5PlDsiuve9XYymu79o5/HrdLmc5+O1atFLoLPIxhPeEgEZt8D6mO068elva7QyocOV4lrgKpmg55saNNlTkKWt7qf/ZaFVC2SGQzkGa3Hdq/GzubsRcwteDoBcuvQB+Lp+b9Yl8ab6p9XNib+3pJiJ+YlaJxVhOAflA23ppy/EpUtVOTLG6Y+Gmy1xCcdd+6U/mHZCDmqalZay+JhM4XJRSyKS3KJvb4gC9AyZDTKbwmBZnKCTw+lAdyYYSMNQwFnxOB/6ZuCRtCGs+XYTB64Gwl9l20jDB2Z/hULYwKaP1MQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BwRS2+dFdMXNaE+6d8LOg6DOaiWWw1h97YGxv09qc6w=;
 b=pHGGiWRaqSwTXz9PWBTzYWMVQAwmTRhsFrhEXclqCpsn1CtnWNe89MI58dj4Z1haKXt3fR10muOXaHyoUqkf+RrjM6GxZigNIm0P1F2GV8Z7QMfALzPevXGK93S7VfsfF9duwXsOSEa/acjWUQ6DcSSI6dms7h5zkSb4ZQj37/iEp3cNVSnM52V+DO4qq1K0WPqGN5bme4SQcExLCQkbJwogwaN5A0DP/OzYNEGr0aivAqGDELXbEbSZlBiFEAoqk0TJASEUwpMbmIdK8ZRhk0ugzmh4gPURmJVJmcVpSA0uhkA/EUL+/DPWIyk0cMGcOYDOavtqluHPzUf9daH85A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4546cf22-b1b4-673e-4fae-1a4d48f77ae2@suse.com>
Date: Mon, 14 Aug 2023 09:16:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, tamas@tklengyel.com,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111600190.2127516@ubuntu-linux-20-04-desktop>
 <449fa348676e754b7eae9b8acc00fb86@bugseng.com>
 <2319b8b3-a6cc-7e04-0f2a-ad73a87deb22@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2319b8b3-a6cc-7e04-0f2a-ad73a87deb22@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0213.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8547:EE_
X-MS-Office365-Filtering-Correlation-Id: 27d28d52-c93d-48e5-f204-08db9c966a51
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IlM8lxmaC09WnsgImz82D/C/B2RwOaArjZvrVc8+oR4eGL552P+q94/nJpEI78KPqRNwXjtVOcefU26DCsYKIrkUbR385UH6acrQd0HMCKvZOF3NzhMZYykzsGkVZ3/p1CS0uOm0nZ4tAVmMYwyxvVXs1LIFYSVoLFDLRvM7v3bk1DqbFfHoqyuWiADIhT+Rw6RooHQcecRexf2yEdSSs7JKG8zj92iTKSZ0F4vVv/U0M5nwU/V5wCg8b0v+ORkwlsavLw6MPjwfrGR3B+i1AIyLGUzyBqTZM4iqgyAMGZwnLC1g9LlRkH+nRHvR8TC0c6P2c7jGV6kgZjDmbo9XofnxFPA/vzK07/GL5gMtAPDrMGS+n5ziSqq35uQ5TPeuT32M8mt7TMbLl6bkUdOjXjxErerA9u7biOMYHnyxwaV4IkTdRdF4I/UPWK6RI+958d7jEpAuYBBDjIMO21BElIgsTXyDH7ez5tXh+NE13O4rLMXWV7zRUZclkUQYwTSbwmXxQ3vash42e7EkHmI3SRvhPKiUIbV3Q5H1KLbQ1tOZGiHq3VcnFi+M55FXQY1BjekyPoC7PVt0RkyTnl7f4H88maWJegXQDrLOqQKqnxtsM5yxuUdujehnzFCRr0yAAbVTb1Dd6yWinLOiaU8coQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(346002)(366004)(376002)(39860400002)(1800799006)(186006)(451199021)(31686004)(6512007)(6486002)(8936002)(31696002)(36756003)(86362001)(38100700002)(83380400001)(6506007)(2906002)(478600001)(110136005)(2616005)(26005)(53546011)(7416002)(66946007)(41300700001)(66556008)(8676002)(5660300002)(66476007)(316002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MzhIVHNEOHMwT01MUjNodTdNY3pQRjg3cGR4NFhiazJKZjE1QncxWHdudCtT?=
 =?utf-8?B?RnZVVyt2RlRTZUhQUHprZVVpTnJ0UEVMd3FrQ2dadERkSnB2ZjNvbkNlV0F1?=
 =?utf-8?B?MDdlSzdVelhzU1VYRW51dFdSVHRFdjZuc05nYVRxRFA0UmIwYVFEc2FVYWdN?=
 =?utf-8?B?RXUwL2NyeGJLZXVTcjZnYWNsK1I3UFphMkloRjdJSm1HV0c0SElVcHY4bFNi?=
 =?utf-8?B?dlZiNi9XaFJOb0VJRFp3bkF0NjgvVzNKQUtBc2tjUjRHVHJFMzI1RVFBZUZ2?=
 =?utf-8?B?Vmg5OFpFYWtNT090UmJnOFExR3ZTZi9CK2J1WnBSQVJKaENtcGtySTgzcFdE?=
 =?utf-8?B?RHhyL0MvLytLV3ZRUWI1YTUxaWg4Wnh2Z1ZESWZVVE1IWmlGeGg2TFViWmov?=
 =?utf-8?B?NGI2VFZpbm5hMlY1ejA0citZbzM1K1gxTEpERGp0R2RScnV6MS9wbVZVTFZz?=
 =?utf-8?B?b3hzT0tlT3dDVW1MV0VRcWQyd3ZUZ1JvQ0NkUEFvdkcydERjU21sVkN3dnJY?=
 =?utf-8?B?QlF0OTVCMExjWXJMcTllaGNBdXNnbEczUExXbW83ak1qRzhBRkhJTUJGendE?=
 =?utf-8?B?V0l2bFEveHRxYVhESmRaU1dyZkZQSkNudkdtT2QyOUNmSWpWRWZ4WmN2WVJi?=
 =?utf-8?B?RVp4dml6U0RJSzhqMzY5eXdRV0VFOHBBWnhTNmlDWTI1Z0lhT0trekFlS2kx?=
 =?utf-8?B?OFc4c0t1VUlRNElKRk5DbS9ZQThNWnVUWkowWEt1WGdVa1V4TWk5emdGaU1C?=
 =?utf-8?B?VmJwdzZ5eE1KcVlMUlY4V2xIaUkzUmsvdjdFdk1Ea3lLTlhrdWplV3R2NEwr?=
 =?utf-8?B?bjNrRlpyQmgzRFlwTVNvVFZCOGdoTDU3ckdsZ3hUN25wU2pPNUhVQkZkWmZW?=
 =?utf-8?B?SGcvYXB0NGNWdEg3ZGhDamppRWlIVkpRcmZYNUVqYnJKVGZLbDJ6bWZ4LzZM?=
 =?utf-8?B?RGpUMG94TTZMQWp4OXJ0dDREVEN3SFkzRkFtTzFVTkJ2YTlDZ0MzOXluMnlz?=
 =?utf-8?B?TkNFbzdVbWhzUEtBNGk5VXczUVpFVkV1dzRmc0VYa0c1MDhSSnlkdjB6Y2Fz?=
 =?utf-8?B?dGE4Q3kzMHYwUEEvMmhCdy8vZC8rSWhCMThwUzY0M1BDdEVlUlVwb0UxQjBF?=
 =?utf-8?B?bkY1S0txTVUrU0ZseVhKMVpsNldWUzdwL2kwR2lDMW14UmU1R0xOVXJNeXgz?=
 =?utf-8?B?UU8zWUdPaThOSm11enIwckpqNFRoRU1IenhSeVN3YnFsMFBXZHoyTERiemgx?=
 =?utf-8?B?ZXFYZGNtOGIyRFFITG1wdzZKalEycEgzaE8xR3VVNTNSUVZaNitJaFNYTmhu?=
 =?utf-8?B?Q2YrTlBQODl5Zk00aXI4TUIyaHgvcm1zeTVnV1daRmNaSVRPNTRpU3RaYm1S?=
 =?utf-8?B?RVk3TWRjaFZQWVBSekwyM0RyWDRLTGRHbHFzdHhCVGtNNjl1T1N1dkRXWkxR?=
 =?utf-8?B?WWVFNFRCaGhvYW0rcXRDTkRjVXV1VlpMeXcxQXBmb00wR1hoWkxlUTRwTmYw?=
 =?utf-8?B?bEhoN2lsK3Z2dWs1bW42bHdtL2RZUmJGak12UWpRVU00OXVDQUpBVjRvMVcy?=
 =?utf-8?B?OE4zT3NxanlheWovcnV3aklwdHRib2ZpUWNNcS80anZjbjRCWVA3YWhRV1pZ?=
 =?utf-8?B?MDhia2Q4RVRtT3NwWEdYVU5jY29pVXFXaE9PdUNCdkRKZGRXN2JueTI2b3Ay?=
 =?utf-8?B?djZieEVVcWxEVnFZcGt0eG1INCsyK2xpWEl6ZCtDTXBkZlpHNDlkeExWbHFy?=
 =?utf-8?B?Kzh6T2xEcVJHS253ZytybFY1am8wTlE5RjVoTzlUekpQZ0FhNGo0WktLeXBt?=
 =?utf-8?B?UlBaQ0pUNW5oWnJ3WUZpcFQzc2FNSTRGVFdYV3Qvclh0S1hpL3VSYmdWZHNt?=
 =?utf-8?B?eGF1Q1RmWlk3aXJHTkZFZVdUQS9ydXU2K25LQVorZUdqRTNSbFVxMHlWM0Nm?=
 =?utf-8?B?UUVkY3dESnBUdDk3eldkNkdURjFuMzAxaWt6TUxFam5oWFZkeWQzRG8yb2lK?=
 =?utf-8?B?aHExY3E3eUpYYml0OExjb0pseDl6MDV1YTRkMnNmYzNGa1RreGRaVmlMZDZj?=
 =?utf-8?B?Wk1SYXRxUWpCRmxCZHUwNGQ1a2x3YkZmUEtDY1d2amhSVXNVK2UvdmNwLzdG?=
 =?utf-8?Q?Tt81lE7iv0lPoBMc8UNanoA71?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 27d28d52-c93d-48e5-f204-08db9c966a51
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:16:44.7043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: feJcP8K+S3F8IGuEelIKB7ELmP4/J5iYjpZiBEJWK2E8HIJTJRqty/G7j/8qO4gfY9e6micXamEkE9KKOjgk0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8547

On 12.08.2023 13:37, Julien Grall wrote:
> On 12/08/2023 10:53, Nicola Vetrini wrote:
>>>> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
>>>> index 7027c08a926b..499b6b349d79 100644
>>>> --- a/xen/arch/x86/vm_event.c
>>>> +++ b/xen/arch/x86/vm_event.c
>>>> @@ -20,6 +20,7 @@
>>>>
>>>> Â #include <xen/sched.h>
>>>> Â #include <xen/mem_access.h>
>>>> +#include <xen/vm_event.h>
>>>> Â #include <asm/vm_event.h>
>>>>
>>>> Â /* Implicitly serialized by the domctl lock. */
>>>
>>> I think the problem here is that ./arch/x86/include/asm/vm_event.h,
>>> differently from ./arch/arm/include/asm/vm_event.h, doesn't #include
>>> <xen/vm_event.h>
>>
>> I see your point. Do you think it would be better to include xen/vm_event.h
>> in asm/vm_event.h for x86 or move the inclusion of xen/vm_event.h for 
>> arm to
>> the source file, as done in the patch?
> 
> I think it is a bit odd require the C file to include the arch-specific 
> header and the common one. It would be better to include only one.
> 
> My preference would be to include <asm/...> from <xen/...> and then only 
> include the latter in the C file.

+1

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:31:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583244.913337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS2l-0003Fh-7Z; Mon, 14 Aug 2023 07:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583244.913337; Mon, 14 Aug 2023 07:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS2l-0003Fa-4K; Mon, 14 Aug 2023 07:31:15 +0000
Received: by outflank-mailman (input) for mailman id 583244;
 Mon, 14 Aug 2023 07:31:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVS2k-0003FU-5Q
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:31:14 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a233b3e-3a74-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:31:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7721.eurprd04.prod.outlook.com (2603:10a6:10:1f6::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:31:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:31:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a233b3e-3a74-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S6qujWPfP5rt5rkNKsTyoP088zQgvszSimeA2FbFkhNE33wmzk7ov8/SID1z7ThyNotgfwx+PgHWyeaNRd9ax2RLN3OO523wQdmn2xL+cm91bBImPwLX4LXyBkg78DmZ9Lb3N9MpvhinTrVHIqUYh2ykJUYFuuPSsG8Z4Q9xU7+1GgOJkBrlaH+k6ESwoc8/VFRxUgddtle1n3I1DX/znSo2CpBomMLNcB9Q6TEVn48GlNjubnz2ify/JIJVhdgX8CJPabh7kff8li7O4Uko36mVa2TenmCl3gVzvAtwWmNoloapnLjlpxoiJaKq8o/92zRojhHfUC3J4Ii50m6o+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=ctGjyzypQwlG7z4iGwD5ysbIzEATCF1OUOhumqn+pDM=;
 b=GCCvYdzpiyJVCu/5DrV62Qw8aUIbGxHtN7yHVzRyYnlhZKZwE5F8ewwEzoG637QVi6DeX8gEipIHt0aT0/TAUQq3XGpcvg25Uye6d/lWOoI9uv44Tye1UO9ZMxL+ttZj0gyEtQrJt9ItT1u5KOqMqf/HS0o6Pyq9k/hSblNTEQC3JQFKKfvH6cvDLY+798+OtEdli1HVofGC9rkAsWsLiMHVowBbSqareGDGgVOq7bwittlWWuhdehBWTy5zdHuAax9QWgRT+Lu7vHGzp7q+Km/P8q3xfOHvE3KopP94ltD2nsLb4OfGUq78pmWyP6al8vYaKnrtOxdEKWk5QodpFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ctGjyzypQwlG7z4iGwD5ysbIzEATCF1OUOhumqn+pDM=;
 b=zDJn5cPB/tmE2XsqHsPZptmYr0t0up+xd09DaUrHOzaD/oUHIEWSAQole9C9xpnMefxO3XR1/6scCRy3qtqpqmAd52Btsw4YSmfbUPGpUf1tTIB6xXn91/iXmcB4lbmorRUo7HkbS7zFoBe4hiaco2p0BmJsV1t0vFpvF5RudzTfjozlwoUxmcrWhFb8RDy8WRVqmz4c/z1YE9p/iQJI92wF8vMYr0KmsRnVmDOkRvODSGoC/3V7anKXDDHfGTDvKJSzwhy5VhTBhRdguaLpkmNrr3gTnYlDfLCvh3N+S1M3YFSD+T/VKQ5zgRJUptG5FkEm9R/1qhxZt8552CTlvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bf476fbf-ad91-341d-5194-53be5f71ece5@suse.com>
Date: Mon, 14 Aug 2023 09:31:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::27) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7721:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e48869d-ebef-402c-7865-08db9c986d2c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G1GYLoHQ3f9ZLFzSjMFpTF4ojf8JPxEd/Ye4yjZxaTvJwLvlGkKJLzU5IzT8tDivqZEtkhRcsjbI1oXdtBDAsETSoHXnM4KRGR9FpadWmRClWgHzRHNanoObPHzYWdfPU0aSDFGrmSYuEnZSjIS2UAo+uX1Ok+DjRmYH3UDv8NvVXE8s5yJ84fEMybOAfW1sM/CrFgwzg4bUhdr7dlOZCqspoUiDlreYTQRtLJjOmLsQ6Z6nMbvFy2ATWizWLUbvy/3JQuZHN6s7wQwCcZDGVlK810lEMwZ00EXupTaWZcM/Tiv5CZFtvwk/mwo+Ph0zl2bDux9O3eFZlZC1SybcnSmri5idHMYLI+9pFKR567hUxggF8fA4qGNFUS/ocmJUMJZ+Tzoo+2gfWne0v3SQaCqUM3QCizM1a9NnX/Cu45pZ61YmXpu4GNoTR+tizvEdf3rVonjj/OTp0mVt+P/KNQ0wZ1a6LjNgu/MF227YRv5vXFvKaJWVy3+AKwHGUYxI58kArCz3n6vGsdO5nxMnIGxw6+gtAT+Ny5EEeGOVevzmUE+B71htoXcMJivZAPJ8gcfFEaXZc2oZ/bQXgyjSUwr85RilWRou1czgRcbQyMooxYYfFDHq6hNTiF61qwUB0slbqJGzbwVjo9l/YpQyxA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(39860400002)(136003)(366004)(186006)(1800799006)(451199021)(53546011)(26005)(6506007)(41300700001)(8936002)(66476007)(66556008)(66946007)(316002)(8676002)(6512007)(31686004)(2616005)(6666004)(6486002)(478600001)(38100700002)(110136005)(54906003)(31696002)(36756003)(4744005)(86362001)(4326008)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnJva3QxZzdheUZzeEpDZGc0N1A0ejNBNWJPRnFGb2lrOGk3cHgyMTY4QnZR?=
 =?utf-8?B?eHVwQ0JBSlRQMVZ0K2tQeSswR3BDWEQ3RjlNb0p0T3N5TTdMbXJaVjF6aWtW?=
 =?utf-8?B?YXl0VzJrU0JQRUFEOTZVdTVPRVZIeU5LUCtkcGFDWnl3QVVEbmluc2NUTFRm?=
 =?utf-8?B?cUZYS3JkbTM3Q0pRWW5tSEhOWEo2azUwcW5WdDlld2tkVitIeW1qOU9yVzBP?=
 =?utf-8?B?dmhSV0FxZ3JjcndvLzBTWlZwU2l0UFlmZUsxUDFEbW1KY2pzMjQ2TE10aEZI?=
 =?utf-8?B?QXJrR2xnWjdjSWUyaGxZdlZKdXdVdk45TEF6MHFCaUJud2VGazlkQW8vQ0d6?=
 =?utf-8?B?aE44V05zNVRSV1g4cE93a2F5VHBHQ3VycVVocnEzVGNaZ1l3TGo5SWFnVnhK?=
 =?utf-8?B?d25zSE5WRW90eG54ZEtCMVlDTmsyMmFEQjZmdTYxbG9VQ0lhQnpaUUo3Y0lw?=
 =?utf-8?B?emhYQ1VoY2pTUWFUOUFlUlY0RkxzUGdacEJrbjJwTGxqNzU5TlhSeUhLVmMw?=
 =?utf-8?B?bzB2YmZldXJFMEpnL0plZTZzaWhUbDF5NEJZYktMWk1YVW15UlF6NVZBdUlr?=
 =?utf-8?B?SDJ2SkliaEJUQXU3SmtMSGc4TklqL01zMk9KVXlzWTBxOHNnNTRBVVY0T3Zw?=
 =?utf-8?B?WkIxd3gxZ09idmdoOVRsQmFGM0xXTnFBZE1oVWJiMGt1NXhlMFVTWXRrK0Jh?=
 =?utf-8?B?elJ5MjBmakhuSFl5TGtMdmJ1RWJBUW1reDJQbndOOGtONTRBc1kvcU45K0Qz?=
 =?utf-8?B?bTVXYTg0cC9xVmgrQS9ZQVp3REpZcmVyMHI5aW5IMC9zQzBOc29uRHlIalMy?=
 =?utf-8?B?RXVSNm95bXd0NisrQWhOdk5GVGcvMGRvdTFyTFJoR2xnUXRBNWViVnF2NGNx?=
 =?utf-8?B?aW9UNkE5dGloUlk3TGxIMmNqUFZubTdhVUFiVkNhb0ZuaFp1UFJQK25ib2ZF?=
 =?utf-8?B?SWVxcmt3NEtyS1AxenExdU9hNi9weVZrVVF2QmZZZHJjbVFQL3RQdWlpQ3B4?=
 =?utf-8?B?UkFNQ0JlQW5BTG5uZmFBcDVNb3I1aWp5bStKUDVKTDdlQkdQeXlkZnZxQjRK?=
 =?utf-8?B?aVNNdGRENHA4L3NaelBkRWlWL2VJd2g4RjFFV3dvd2NRYnlrMjNXZG5jYnFJ?=
 =?utf-8?B?RG13cDBSc2M4S1pTWnJrbmpvQS9kNTFiRlh5dlUzZXhIK3lsYUVlZUxzMDQ3?=
 =?utf-8?B?QjdDTDRTby9pZTI0aGhVM2RRREJ2andJd0I3ZVBlY0haY2o2KzRwYXM5MW81?=
 =?utf-8?B?cXMrK01pNzZ3aUVXVGFxVFJtcG9DcmFXVnE2U1ovY3JDVCtWakhuSldXajRw?=
 =?utf-8?B?eWlxc0xzWFNnVVNzRUVwdEY0T2FGbGVucGhZMVJhSjBicENUdnBGSzdtSlBO?=
 =?utf-8?B?YTRYcXUwUU1iRml3Q21ZWWpldzBrR3hmVjJHNHEvZWlXSmJSb3hodkM1dEpo?=
 =?utf-8?B?VXlhdW80NnphdGt6YkFXSHliVnlJN1VKNWxIQ2xrWmhZS0N2Q3hXem1Pa3Zu?=
 =?utf-8?B?TTg4UDVMMmF5STdNcUtrRllWQStqZVdnQXVLVnVaSWlybTZLVmhLY3VFclpM?=
 =?utf-8?B?NmNCQWh3TUI5UmdlT0d5Ung3Zk1Tb2hEY3luODBpNXVoR0tiTUExMVZJdzlB?=
 =?utf-8?B?ZmxDblg4aG1JTG9BaFMwSGYwK2NGVm1jQTNKdEF3VGV4UUdGSEJ3T29nMzF6?=
 =?utf-8?B?THJ5aFR2cHZaUzlFKzhXaTl1YTFrQzFpSndwRlNLV2tWdHJudDFTcm9lek85?=
 =?utf-8?B?WWtoOWlOWlVkcHZ5UzhOU3pDK1ZUVi9lUHFZUkhaVldpWEZKK3dWSCtBeFQv?=
 =?utf-8?B?TnF5Nm5kL21DN1hWWEZoVjljZUtPSlVJSUE0VkdLNUZTa2puNWxWeG50Q3ZV?=
 =?utf-8?B?SGoyaVhMb0p6dGVBeFNBak55MWRHOVFHM2xCTUJ5YnJvN1lYbnNMSHRKc2Vv?=
 =?utf-8?B?Y0FqMVYrR0FYLzZGOXRLL1pOcEllR05aUWFqQnF3V3EzTDNyek8yeVhYZ1RI?=
 =?utf-8?B?ZjVyUHpDTkdUOXNreUhNNjc2TWpSRXcvMW8xUDZ1L2V0K2JTZ21tVVF4U2JW?=
 =?utf-8?B?T29IMC9YNFppS0swQ2ZhU2hnTmlPNEIxOVZGRWtJZmpJbkdsQnhqNW1sUEFJ?=
 =?utf-8?Q?58qEXOkAYtQ7mVZGPRFCPP4t0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e48869d-ebef-402c-7865-08db9c986d2c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:31:08.5050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NV3qGWLO0EXzbkt1zYpMzyZLlqJn345S1AAbKSSpxLd8MB32cWKBAgxSjGOoy3yZPVH2qqdXScKMkO02UULPEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7721

On 11.08.2023 09:06, Federico Serafini wrote:
> @@ -172,7 +177,7 @@ console_io(unsigned int cmd, unsigned int count, char *buffer)
>  vm_assist(unsigned int cmd, unsigned int type)
>  event_channel_op(int cmd, void *arg)
>  mmuext_op(mmuext_op_t *uops, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
> -multicall(multicall_entry_t *call_list, unsigned int nr_calls)
> +multicall(multicall_entry_t *call_list, uint32_t nr_calls)

To be honest I'd say the change wants doing in the definition, to respect
what ./CODING_STYLE has to say in this regard.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583251.913347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS6I-0003tJ-Qf; Mon, 14 Aug 2023 07:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583251.913347; Mon, 14 Aug 2023 07:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS6I-0003tC-Nr; Mon, 14 Aug 2023 07:34:54 +0000
Received: by outflank-mailman (input) for mailman id 583251;
 Mon, 14 Aug 2023 07:34:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVS6H-0003t6-4g
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:34:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d9cd083-3a75-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:34:51 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8967.eurprd04.prod.outlook.com (2603:10a6:10:2e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:34:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:34:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d9cd083-3a75-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OFk7TZrZLGswX4kw/90dKwzHlcn3LZ0ZYe58sCfM5wQCeEQ4CciILMS+479d/+a0mBzCtu1x6Autmm/xOnbrb+RqE3M1W0hKvbQAifbNYC5gvInl6Lz1TYNnLuKi1S9yOjkb9L+GqMtYCzqWPrsQxXuHTGMKrZVD5+cmKGR1yvmel9fQ0XwLSQ4PyKyjGFy0KDvVC2PLSczUNVoEFBLvsUFTN9+/vvriSxx0CibWVacEBtloGCf75O/no2eHn7jQyPK7Nr5vfTOGX8dYXRyQHBwWLXiWFpoeDqHQ3+IbaLpv6vzgo/x7Dg2fyjvzY/xpjQYWHx+ZjPLtJkYekGJkwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Z6P//UiTBhtwDUnc5TffLPCjQMKeAqWHF8qvDO3eTg=;
 b=k73ukvwAJvU2FXtC3/fIlFwdQ7dDbagh4ujs/77TBTxo6efnKlsYh/r9KbscpM90radOO5pW8+wuj3iZna+TDY/ydyHYlKRC81xKaOkzRtDHfOxfQc8JCW7TOu6CVERghZF3xFOMLlVpH98RI6NxC3bZY0Js1kmTp6FLPDDd3vrd8whxkkmm1H62IDhbLQQ2M2Q9gv5uckozsRKMOtH2i85TNu65zGV8GuG4BC9VC6+4QmkWhGCAGG9b9DpFQBaagm5qGmTbPGnwStSJuih7qac6PCH/VlDMDsLvS309qwk6epR4iBBkewaTE2V8Cko1D7FWrejGwDjPUG+ZOow8jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2Z6P//UiTBhtwDUnc5TffLPCjQMKeAqWHF8qvDO3eTg=;
 b=5V29A5rs29s+Nrz+3Ca0pdWTKYbd3znLTHXY/IAftAP3KIk+bJTZ2C+/nu+WZV3bjjAL4z9OgEt2Z7QsUI3DrTCCqealxmrMuuU7MrJ8eiA+CvsnYPLAvhqwWwlefQAAb16KUlY2C+sdlUTA6iabC+aboYZnfbW7ytZGrekhI/AKMkxWt6StcbFrRGjZUKEr+MRExQ57/gwT41GGcwXeF0BaTcwwb2tAFFE5aK8JWxae47LDXeT1oQ3tI/JBfkgI2Ocu++Fqq98SuaGIED4fDn17DXK7qA4nW7Pmb4GInTUhaJw4243iafHEfWcaP0l+cW6oI2v0EGwiv3TRr5ycNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <90e71c00-befb-7821-a392-711903dd9e9d@suse.com>
Date: Mon, 14 Aug 2023 09:34:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 1/6] x86/hpet: make variable 'per_cpu__cpu_bc_channel'
 static
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <5e13888db7b69cee21e5367ce8750fbdc1e22d5c.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111554360.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308111554360.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8967:EE_
X-MS-Office365-Filtering-Correlation-Id: 119d3233-f57d-4884-96ad-08db9c98f0db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mVsT1iOogpbcmrJ3E9YZpg09uBvOuJ6Fpuy5a89GvlnRSryC+H5QUCIQGMHCq11LdfTmkfs5tipukLJPd+DG0+4Scb+uSGdY7zRhJxQ3rPUKTkQFx+dStGsDdfv9CUFhGP1E6ggF3QYsrnsHTYXMXIgFNjOFwmunbsBDjDiv7QO5c4WImvKli9gd+j4RB0pcu8XesSOYrA1yF4CmcZvVMhONkRttmRaYSgzGCMNi3HVm7bUUj5exJ9wsu+SDgqBouKMRdJ+fDt38obYeDdxki+jX0OoXHzl6bMU8Px+zfd9vXbEqufTDeAw+harTkqminohF3lU/pLrRWUJ0XNgZeECOz00JH5XnZltThuyAyK6oZOErOSJT/Cvg0V+2jAXCOxLuxOXPuD+JwVY6jJuXHxaGMXkSZy1n6UOa6fwiRFaYkDpLT6fOzlay4J6BDEq24v/jq6qTsKlPcCN0fFTFhN++lG5BZb6JHZAijrKbG+rwcr0KO2t96tCYdt0gxEweQ7hOuS198RN4oo0MtYHawimsa5WpZoUGntR6NmHwZvsN1zoab8w/0IFdmveUc08FAyeLN72BW/t9+cAquFGNommWp2SSQcYnQqbPxR80h/7bCsR/CRJVuQONu90U4walxCrxao51q7dhxctW9f/0ZxFyqUGuS8ewXCcE7K3TXhRUs9KAq1t6fgBunza4SnuO
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(346002)(396003)(376002)(366004)(136003)(451199021)(186006)(1800799006)(36756003)(5660300002)(2906002)(31696002)(86362001)(4744005)(31686004)(66556008)(6916009)(4326008)(316002)(66946007)(66476007)(38100700002)(41300700001)(26005)(2616005)(6512007)(53546011)(6486002)(6506007)(8676002)(8936002)(6666004)(478600001)(101420200003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzdKTmQvZHBUdWVRZTBiMlVDOU5wWi93RVJEMzJTQ1djMlZWZkRPRmlIaU1x?=
 =?utf-8?B?K2VNQU51eE5qRmE1bk1jTHlZOGgwNGxYcDRHRmllcmc2NUExNHdvMlZnVCty?=
 =?utf-8?B?ckVkV0ZLdkFGVkQrNUdDUW1sVVl5MGNlRm4vbEF3Z2Y0Z0VoZjA4RUVvSzl5?=
 =?utf-8?B?cEtzaE1YVDllTXY4anJIRE04YU1LYXUxV0N4a2pNMUZIMWNaQUNtdkJBdzNF?=
 =?utf-8?B?QVFiUkFCVDlBeFF1ODhZdjV6dEpNdzNaUG1mNVRBcWF3TExnV0UwTEp1SUV5?=
 =?utf-8?B?YUZqWnYwR3hHR0JaY0RtMzBiNVRDemhTM09ZK24xY1UybUxDT1h3UGhwZ1Vk?=
 =?utf-8?B?MWJ0K2xsTGxvYk5oUHB3ZDZHdGVGVmgyRnh5akxldWsrbko0UEcwTitaMHRB?=
 =?utf-8?B?eUZyb1loL1czb1N4dHpzUEk0dUtFSER1enpEL0xFOUo0by9ZNDhqTFZndVI3?=
 =?utf-8?B?SHNhM3RXZFJtN09uTEhtcnVaSTlVNzZNSkhZd1B5UlMxY1ZvQm5hcnNRWDFD?=
 =?utf-8?B?VXVqVVJMalc3T0hibVhYeDJ4eHV0SUVoRDBKZGovK0Q3alJLc2RIRDFnbW1R?=
 =?utf-8?B?UXNLVlhNRmxCYXlVMkxQWFRlUm5MbkNBNTZ3bDJJMXVlWmlybzVldTllQlZ2?=
 =?utf-8?B?OXUrWkYyUDlJUXhOYUJ5V0V0Zm5qemRNY3FFQ0s1NG5iMFNwS2xyRFhxRTRy?=
 =?utf-8?B?N0ZwT0VCc2EzSVgwYXpWN21UaFZhR2dibVdRcUw1blkzTThNWWJxU1dQM0lm?=
 =?utf-8?B?RlBQajBpTVhpa3hpYzM0NDNZMDh2MFJYOGJFUDBxMkxkRFVPOTh6QnN0Nkhj?=
 =?utf-8?B?WVFZM3JlTmNtb293UVFyYkdvd2RVWEgwUUF6MVlXRnRBVjZOdnlwcTk3aHF1?=
 =?utf-8?B?OHo4WE15alJBUnlRWjlQZ0ZKOHY1RzhYNUZ1RVZ0SmJzbWRlUXlwOTYzeVVE?=
 =?utf-8?B?em9sREpHMTBZTkl5d09XY2hybzBXdmFwNkd2MTNLamNBbkxOOFhTSklEWlcw?=
 =?utf-8?B?TC9EeXc4YnczbGFuNXZHSzlXbWVyMExDbUtVWnFKaTVSQ3lla1VrQTJOMWNw?=
 =?utf-8?B?Vy9rcmUwZDdBUFl4RndKdkZTN1ZuWkoyRW42bW1ZdFF2eHVIUnpFSi9xUXYv?=
 =?utf-8?B?bGdXRThNSmdLMFRDL1Zud3NyK2prY1doVDVhQW1RdWtwVlBSMS9YYTJkM0tx?=
 =?utf-8?B?NmJCcFRIa1JWWThQUU9iV3hHOXV4bzEvYjBrdURFSllOOW1OeHhqVDFPdnBV?=
 =?utf-8?B?MmxnaXJkTFZ6WHREM0ZNamJsZEw3REc2VFo1VDMvcmZ5b3NlTUlrNVdFbjNN?=
 =?utf-8?B?eGJER2RyczB3Q3pmSHZ6RXc2bmhOQzNvM3lRTUI2WlZOTmhjK2ZLMEdVSHBz?=
 =?utf-8?B?YU9Wb2pHNEMyQTdkNSsrNjJZNmVUSW9mSG9JM2Z0NS9EZ21sOFkzZDVCSUsx?=
 =?utf-8?B?TEhTVWdWa3A5d3lqdnVjMXVEa1RTNXdVOTdpdmU2THdzR0Jma25CQzF3dE55?=
 =?utf-8?B?R3ppaFJSQ1l3ZmlVdVFac1prd2lNWjRIWFNLVVVtRG4waFl5YmdQb2d4NHhx?=
 =?utf-8?B?Ym1IVXdqUkxyd3ZENjY1ZDhhTXMxeWpDNC92dU9abTRoNDJBdmlKMGorK3I2?=
 =?utf-8?B?MHQ5ajNFRXZIQm0yckdNcjhaNTlkTE9VSUxUQVNpUWRkMUd0eVMzOVZzcW5m?=
 =?utf-8?B?RzIzeUdQbXNaM05lRHlDTmZZT09hY0l1UnJJTWVFOHJPa0FSdXFhVS8vNGNI?=
 =?utf-8?B?SUhId3NINDRKL2hxU25ScVVzdHppSU43cTZXMCtIS1R2ZXJzWjJIYjdIMmQ0?=
 =?utf-8?B?Wms2QW5OeGpHdTVHRUxQbjErTUk4R3JTOUtNSThMdXFRQzVNZzRkSmRYNWpa?=
 =?utf-8?B?WjVkZmVyVFhBTUFxd2dxZ1ZLb0VXbWVsYm94MG9iL1BCaHNUb1FGZjZHZXk2?=
 =?utf-8?B?V2llRWZGTDNtb2lqM1IxdGxuZVlvSFlNTUpydWw5UlVzcWV4eEZubWYzSStV?=
 =?utf-8?B?bVNDcnZseXVTbVVKWGRYcTVxa0pDY0JITTNSdXZydDhvd1A2Nms4NDBKbVI4?=
 =?utf-8?B?VjZQSDI3TFZibE9vMTZnRzVndGUvNnIxWkFvT3VIOWJZbk9sMzdPLzB2M1h6?=
 =?utf-8?Q?+uxh++lw4FVHBf+2CGMmmNSEq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 119d3233-f57d-4884-96ad-08db9c98f0db
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:34:49.4446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YMOkcFjg4nXoL2KQl/gY25LnoZR8k36jomhZfKdnW6+WVSp1xEp77KJgTw+VuSBHewT/it/SWBIUGXS2LliHSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8967

On 12.08.2023 00:54, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Nicola Vetrini wrote:
>> The variable is only ever used inside the file where it's
>> defined, therefore it can have static storage. This also
>> resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
>> of a declaration prior to the definition.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:38:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583257.913357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS9M-0004W4-9L; Mon, 14 Aug 2023 07:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583257.913357; Mon, 14 Aug 2023 07:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS9M-0004Vx-5f; Mon, 14 Aug 2023 07:38:04 +0000
Received: by outflank-mailman (input) for mailman id 583257;
 Mon, 14 Aug 2023 07:38: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=/ZCf=D7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qVS9K-0004Vo-8O
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:38:02 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e88::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d5f9d5c-3a75-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:37:58 +0200 (CEST)
Received: from SN7P220CA0005.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::10)
 by CH0PR12MB5388.namprd12.prod.outlook.com (2603:10b6:610:d7::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:37:55 +0000
Received: from SN1PEPF00026368.namprd02.prod.outlook.com
 (2603:10b6:806:123:cafe::d7) by SN7P220CA0005.outlook.office365.com
 (2603:10b6:806:123::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 07:37:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF00026368.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.6699.12 via Frontend Transport; Mon, 14 Aug 2023 07:37:54 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 14 Aug
 2023 02:37:53 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 14 Aug
 2023 00:37:53 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 14 Aug 2023 02:37: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: 7d5f9d5c-3a75-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DMbesJp9NhoQLbCueZkCgKo9bp3AzeM+X6ykvsw9DhMRjkRp/CBNnVnHs4sn0EMMUW9wh9LXIH7zBWSahOrKGlgUVA/JkhVd3xVa9AMnQP6fIA8bmkCKldlblXN+jbqFMDRENsWGTbrOBg/3K+/YpRX+QazJFqi9IPBMW4BBblI4Kf4dzO2PA34QzTCx/fA+dRi3vMyLraaMcKChy1RIzjrkaCmHcGUJ0pIyGYErZr7TGF+Ll4OMG4WHTwx/boX780G5r1Pqu75uQ5E9Zq2rIQagI6LEvjhCmDvYGLEsvxV497rY9sSRSFkcEkOIA4rZ6rxwtHNk3NoyDXAQevO1rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6hLt7EYgTCmOcFJHhepMvtfSDUNli3omXmqEhW1+r0I=;
 b=lN8ZXwmgUMFCepM8JZVPakfnQwRjHtlBngAu59KzZVBItD2kCGona/rgHUN0PLhhN2Hinoe2thVgHLd4fT9ZiSwSLp46KmycmyITNWvq0H4LzPAiilG/tIysfya5bH7gSfjpNLvgxjABI4KRI9OHUwjGIhlroxP5MjjAl+egUhlzZijcNFhtfSjx6rwtFCd6TUAiRBT44cBtIeMDKZAVzkDODgIHhKmV78BMjqrkbNWExUgVXOfQsR55kFvrlCVfk2P4WpnTwUXu7s4aLikrcy01RWq+3E4/eP2rC//zGAy59eBjY4Pksta7vz53yHzsRafIMUM2xLmASdFRcLsdZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6hLt7EYgTCmOcFJHhepMvtfSDUNli3omXmqEhW1+r0I=;
 b=oYcyCaMKWrPWpLp9XQZqXNGqkTPa/eEpy25oP/IK5VNtT1fuZ/hzneE3LwnnPjWJw4kqkd16LhdLRFVDzJGnY9T4MrLRfC96GCDrQewJfSL/XxHD3u7pmnn+OCJ3jbL++cfy4E+yo20wcm90AMbjBD0RxWaz/5w0QyVsXnSqskk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <ec14c448-2165-9f59-a47a-2a9556a6d615@amd.com>
Date: Mon, 14 Aug 2023 09:37:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] automation: switch from Debian unstable to bookworm
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
 <20230812020651.11608-1-sstabellini@kernel.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230812020651.11608-1-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00026368:EE_|CH0PR12MB5388:EE_
X-MS-Office365-Filtering-Correlation-Id: a81f34ff-ac59-47c4-a6fc-08db9c995f63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ru4d88NLfSai3YOspWQkShL7v7ybVdhNGqla2eFzib2jgxwzqPMFZEi8sOfoK2vpAVLDvO+6Yif53/guWQbhbuc3cFN0pGzIyXxFHvmgslqqeA7vjIekikpdNnBeqT8q7zTxVfuGFfhmpn9aKCu2Rl8E3pVETZtpykX0tPU2vnhkOjWVrhw8nUqZyeiZ4PXOEWlvo5lNxphs/uUx77QUv/LDqS8ntkypLxuAlUqxv/ckj2pvkl3YiFv5KbpIuK6hTxBcp3ikxYER+vovK1hnB2Y0j26zpDewwRlM6AKYkY3FyQu8rfUfOPYVDfeYFGRzV6Sg3pTMUp2nisjqfvopunI4ZodPqY1VWp2P64W6dhw0shXAlxqF/mY5cHDSZ4P2F4CcRccfNWt8cuJlI4fcSaSlO1ofDlFjTS4khj2GKJaRJG/qZ6FdkDWt+8IhJRuXe48sU63RxNUL0VcJ9c+hgkPwKUTmtgPIH4nWMZSTNoyvxyg2ayoeIDCj9RM1D/y9ZmNHsFjkC/OK8/OotnaK2ArYr9WoFs+a3pSFLqFCh9gcQatnsjaDOz7DZ2t2G3IuXkNY9XMeKZ31sX5xOAWC9fHblYyGqV7ymxSeNLya8XHzoLniw6DrvR1+KkEd1M7GTD7AVjXdql7RbhdmWsjRQAKOsKJ3llZjRqeEz7smSkQar9eNucdA8JIMhOW7vdvNh9eOsKabd0c/15k1+Iomgl5HOHhKUL3Atp8iWQJxf+v/DDsmL+wRTeZQNI3mmMz6bpiuYIl7CvxBe38D/Ak1jh+aea7ru5aoOQjULH0/MlUxdzjMfmZ1OOLV6CX8krSO
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:(13230028)(4636009)(346002)(376002)(136003)(396003)(39860400002)(186006)(1800799006)(82310400008)(451199021)(40470700004)(46966006)(36840700001)(31686004)(86362001)(31696002)(36756003)(81166007)(356005)(82740400003)(83380400001)(47076005)(36860700001)(26005)(2906002)(4744005)(336012)(110136005)(54906003)(478600001)(40480700001)(53546011)(426003)(2616005)(8676002)(8936002)(70586007)(5660300002)(40460700003)(41300700001)(316002)(44832011)(4326008)(70206006)(16576012)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:37:54.6727
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a81f34ff-ac59-47c4-a6fc-08db9c995f63
X-MS-Exchange-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:
	SN1PEPF00026368.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5388

Hi Stefano,

On 12/08/2023 04:06, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Debian unstable used in the Xen containers is actually bookworm.
> Switching to bookworm which is now stable means we are not basing our
> containers on a moving target anymore.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
You should also update "containerize" script to keep it up-to-date to allow
making use of the newly created containers. With that fixed (no need for respin):
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:38:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:38:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583258.913367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVS9e-0004sx-HX; Mon, 14 Aug 2023 07:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583258.913367; Mon, 14 Aug 2023 07: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 1qVS9e-0004sq-Dh; Mon, 14 Aug 2023 07:38:22 +0000
Received: by outflank-mailman (input) for mailman id 583258;
 Mon, 14 Aug 2023 07:38: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVS9c-0004Vo-I3
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:38:20 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7d00::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 896c7c81-3a75-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:38:19 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8967.eurprd04.prod.outlook.com (2603:10a6:10:2e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:38:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:38:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 896c7c81-3a75-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mV5Kdz5XhF3u17MnVDGfnF7HnpwfjPzET7DaWChmpBhxi/7Li3wC3gPfnmLCYjBJGKZQrM6teq3JP9DbK+QUGPVyt/S3ljPb87XXfJvHPTnmf+JvmAnxI4ymu2KVxKsT0BKJUn9FaZd6gZpf/pIH1iHs2J2OyvBBSMfyws3DGQ7A+imMXk+QeZFWFevSM6jRZ4bDg/qVur5S7yKNh4+So2ulYxN6ruG7nKEkUstSEFlv/URwurCwUjTmqnKxuX27vm8cmXBj0XO3VoDU0jC+B7mVoO1bfYdYHfU3cWtCczJvHa+iWLiFNZiN7cJWW50tNSh9vnEtBD2V/kEu5YJaTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zwuEGgs4k31BocMir/ftFDsWnxydLEP34wxuBjdVGPM=;
 b=OAxgCk3g1nSQNpF1hn2S5dAd3SUxB7P0V1BuTwCS0ejDO0rhBLC51drIi89ytfVLq5Z3O+Ew98H10AJ3hteh6hz/SMehR/T1Jj+Dc28QEBX9tdhsh+qBumFgGnDfnpH1SyhSNpdlkNs+LpxcvslL8u27l2VjiSSnIcmaAN332ZGhqA+NFpUrLf10hbuoU0lKTZM/5aCMCVZKU68NLLnSvhiC0OIi4lwrEpiE0nVgDIism+8UPmm6kors3KENgC0p1SJKKEeEL9YJlEybbMdaqPh2XGtl0apV/UKYxT5p0AjACR5Mg41hk0xfQThfTNI6DCwz0LlYHEeDZPNLzYNTtw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zwuEGgs4k31BocMir/ftFDsWnxydLEP34wxuBjdVGPM=;
 b=3fmyEgIA9ajB3T5tIqgX6fo2Q/zbhwzwR8mudWzbzA6/yirTVqrGx1MQU4p0NAUELY1HBpqEk2TLibIvmmtCzfhUgxjyWR9m4YvBP5IBDV/fM+8UVm7HTZ7Fsu6E69fxOmdM247+w0s5E5yLnmxcTgmz0zBOwUfmaz2mUe6Ntzu66TWfuIg7LOaNep3JZMTiKEpVIDueqdXhcENUNWYuqsw6nfq+ThhIp7G82nWk8v4jBOAztyVDH7IR8E5y3+IDBXGw7/QvTsS5VTPkV45WsySpa2vgPLOfBtEuicMKLZ+6jC0UTIkLxpii3wc7H8McLAr9LcfR0hTmzMjFYtThVA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e621f307-f83c-044a-cd9b-6592f452454f@suse.com>
Date: Mon, 14 Aug 2023 09:38:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 2/6] x86/setup: add missing headers
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <c4fbf7b2a763f1b8e700e2ed36628c047231cb46.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111557590.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308111557590.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8967:EE_
X-MS-Office365-Filtering-Correlation-Id: 16fdc25d-b6ab-4b44-3fe6-08db9c996ca5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cz2gYtqrJeZtZkRv/Pm+1e8L42rFt0Qc8VhzwjLjd0s7ooiHGBzuEG37AZ71fy27YK4lB8HXIiQVtzInIrgfbL6pb3lM6ZkydFR0sd6EAFKAXjrFERnS3hrUMTaL+TnKl9ckPASsUbL58eaFkfb+MtmJZqG3C+tM5rTOcWdSV0l/MtV9bqch4G8zg4tMFeuqMu+w1dRSN5C9DM3a05WgC3rGGzWjEDvVw0Fc6RPvk51RizJ+or0AOG38QxfYsGC0K60SAHH0L6VyytrEc66YZvK/7SS0NiPr7DJO6EiWmDfQ7MpU5OHowbX3uu7w1XfEMMDk5Aas+S1a+/vHZF925UsHoWqiC5gEHJQmHmzbZaLLAx5d0CCXTeECK0/0jWADWXscEdPJo21H9/qqIL+x2/JBamrKX2uhhZBjMz1pDAbtyyAFWcQ9fqYz3JD0bWlcKoLv4YZfHeYqm1lw28gNwE1nLPL9BVK278kCADq913CbBwNPAmIfXz0OqQm3LgssFgpUmIO9c2GiZwzjNJwn5CGlt/d6X2W8LdEvaZgnkHnCLdtWzdWmdrXixgmU/VpN79k8L2iM6Sc3aC5Mo0kGfyD+qDgusuLIfc5HhPvTQjfvipav4cKaVVSUlza3YrvvlwWrxa/42WDqM0YhoLfoAQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(346002)(396003)(376002)(366004)(136003)(451199021)(186006)(1800799006)(36756003)(5660300002)(2906002)(31696002)(86362001)(4744005)(31686004)(83380400001)(66556008)(6916009)(4326008)(316002)(66946007)(66476007)(38100700002)(41300700001)(26005)(2616005)(6512007)(53546011)(6486002)(6506007)(8676002)(8936002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0Z5RkN1eGZIeHk3WmNzdWxscDhCU1ljc0F2L3RSdVNMQ1VhRnhVd2pqb3pz?=
 =?utf-8?B?bzFvZUNkNlZaZXA0Kzl2NkNQY3BwOExPczZ3dkd3eUpKZVFUTmZGclcycWtQ?=
 =?utf-8?B?Q3ZMM28rYU1xcGFPQ1JJMjFrZnUzVFk2UGVQamN1U2ZHMWZBc0xzTHc0dnFQ?=
 =?utf-8?B?Mml2c3hyUFc4UDF5NFg3TVFZdlM0UlRwS3doM2toaElseEhGMnk5d1dyd0oy?=
 =?utf-8?B?dldwSEtoQmVYNzZCOVNJeVVXL2hFNVY1QWpJY1FSK3ZzYnpRdnVOSVRVN2Jw?=
 =?utf-8?B?NzhHcGtNM0pVOGdkWUpLbFlwMGhNblVKWXQxOW0wTXdSOWZXWWxmUGlseGcr?=
 =?utf-8?B?SFM2dGQzeGUzQzNNeUNLYUloaXFwTTVIMEQ2SGllM3NpcENRR2VxekZPWEdJ?=
 =?utf-8?B?eis0NFZpbis0OHEvQU1qTjlvK2N2VEFDbjVsNklyQldUNkYxVHV3SGgxRGo4?=
 =?utf-8?B?WWk0NGhIWFdOajFTSmZrSE8vcFNEZkFvcFM3ZDNpOWdNaXRUMWN2QWVsbWdR?=
 =?utf-8?B?MmNQYXgyR1FkdEYzV3NkSVRwclJzVFZjSHRWQm9zNG16QWo4ZWRVeEhuZ3JM?=
 =?utf-8?B?QmJidmZNaFFvbjE0QUdPaGdIWGhWVVIwcDcxZ1NTNW9QMkxrSkV2ZXNBUno0?=
 =?utf-8?B?cUtHMWNyeHF4bml2amxPQVFKd2V3NWFucTQvZWVBZlJTMjFncFZsU0RoS1VG?=
 =?utf-8?B?QmR2bnhZSW83aGUreHJ3SldRdURpY3l5dGZ1NTJzRkFkVjMyYkpCbVFiK3FI?=
 =?utf-8?B?OVpGejdjL285aTVWK3paRGIzZElyWU05MzNIWWFXKzRjbmhhL1c0T2QyaGlO?=
 =?utf-8?B?d1FGcUFVd2VEeXFxS2gyVnFuZFp4K29rVURXWUpNakxQVzkyVm5ueHZKcXhU?=
 =?utf-8?B?QmI5YXZBRGNJazlRQm1yN29GVXBCZURPY1ZaUnlhbTBnaXhCcjN5UnE1V0N1?=
 =?utf-8?B?TGZRNEdtQUtDcVA2ZWlXUEZZZnNXQ1FzTkJrVktqNjdoU3FVT3NrZTdiTXQx?=
 =?utf-8?B?LzdsT1lIem9NYnIxdWhHVTYxZjhFTlZWc2pYdjd2L2I1bXlUTmI1ckY3eFJE?=
 =?utf-8?B?dzRIeFNtcGkvcnNsTldHNG1SQkhWVUgvZFppZVh5bElETGoyRzNYamlGTGwy?=
 =?utf-8?B?Z1ozd1JSNEduYzZUeEtuKzMrbXUzbm9CaG9YYTMrMnZrMDAzQjk4NVlGUEt2?=
 =?utf-8?B?b2ZYcEZNRFJ1UnVwbEtsdUVUNUp1NlYzYVc1N1c2aXRKcm9heDFsRnlkcW12?=
 =?utf-8?B?Nm1RNmRUL1JNZTVleEFYR1kvM2lBL3Fmd3BZTVdJbm1EWkpJT3RUTk0wQ09v?=
 =?utf-8?B?eUdXaVJueDVmVXhYRVdBS2pINVFLUjgzdStkRFlFbW5YMmNaZzBJcEc3OENr?=
 =?utf-8?B?b09nZ3NnV3Q5UU5MeHBLNERrSHNYcHVPQXkxbGdueW1YNnQwM3oxNFJ3YTNB?=
 =?utf-8?B?S1AwRjF2am9pbDliWGttSUJXL0RVSFVKdXQ0VlFjNHlvdVhabktrdkJwTzNi?=
 =?utf-8?B?TkJyS2J1ci9yTHF5U0d2RFozOW1BSE1STnFZd3VrQ2cwdmhGYXNyVkVoNyt5?=
 =?utf-8?B?U1ozVTd4b29JOEpyWHBtU1dmWGkxdCs3elBFeVhmNFRXbnptYUJKZ1g1T1N5?=
 =?utf-8?B?bjJiVDNweG5nUUZwWUMyNE5tUE9wblAybERYQXBSdEtyQkppODFQakdqTWpZ?=
 =?utf-8?B?TGRsdlNOdjNPS3dSWmdkU3lPQTdTaWl0ODJsU3dhTlhiU0tZSnhDUUh1bWlo?=
 =?utf-8?B?OXRPOVk5Q3VjZHF6K0JZTDNqRzhIZnp4RExBTFR6d1lzdGRQZ0RkZEVBNkcy?=
 =?utf-8?B?SGlId2FtaWpmTkJidjIwMkFTVERWMEYxUWNlejNOcmE2OXZTb1l3cVNnWGxI?=
 =?utf-8?B?WUNlQ1U0clR1VVpIK21kbXh0U1gvc1BUd0hoUjg0VFppSjdTUkhhWDBkVHNw?=
 =?utf-8?B?WmpPNk1ZejVSOEhtRjIwTUR6ckcrc1FtSkdNUFJjOTR0eVErMUNLUmpWZ2xX?=
 =?utf-8?B?TVlWTHFtcGhIYytETnlPWVRydEVwUmFZY1lHdDMxTUxwcmRhV0VhY2Q3YVBa?=
 =?utf-8?B?MGtyQ3Z6SkM4ckZ0V0gyZkRqd2krOGkzMEJJVzYxQk83cDVCYTUrTXp2NW9H?=
 =?utf-8?Q?dl4IuW8LNQDzBx2RZB4HL4IU/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 16fdc25d-b6ab-4b44-3fe6-08db9c996ca5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:38:17.1088
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uxMGb2WMZUp61svVumybdblt2JwcHE9M4ITNiQBy7SHO2812x165L4zvrQxm9B7BJl8TULoviVeDATM+AhbENQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8967

On 12.08.2023 00:58, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Nicola Vetrini wrote:
>> The missing headers declare variables 'xen_cpuidle' and 'use_invpcid'
>> that are then defined inside the file.
>> This is undesirable and also violates MISRA C:2012 Rule 8.4.
>> Adding suitable "#include"s resolves the issue.
>>
>> The type of the variable 'xen_cpuidle' also changes according to
>> s/s8/int8_t/.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Fixes: 3eab82196b02 ("x86: PIT broadcast to fix local APIC timer stop issue for Deep C state")
>> Fixes: 63dc135aeaf9 ("x86: invpcid support")

One request: Please can you get used to putting the Fixes: tags first,
so one doesn't need to (try to) remember to move them in the course of
committing?

> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:39:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:39:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583267.913377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSAQ-0005ZE-Pb; Mon, 14 Aug 2023 07:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583267.913377; Mon, 14 Aug 2023 07:39:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSAQ-0005Z7-MX; Mon, 14 Aug 2023 07:39:10 +0000
Received: by outflank-mailman (input) for mailman id 583267;
 Mon, 14 Aug 2023 07:39:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/ZCf=D7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qVSAP-0005XG-Dx
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:39:09 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e88::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a60ef709-3a75-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:39:08 +0200 (CEST)
Received: from DM6PR10CA0006.namprd10.prod.outlook.com (2603:10b6:5:60::19) by
 MW3PR12MB4556.namprd12.prod.outlook.com (2603:10b6:303:52::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.24; Mon, 14 Aug 2023 07:39:04 +0000
Received: from CY4PEPF0000EE35.namprd05.prod.outlook.com
 (2603:10b6:5:60:cafe::8d) by DM6PR10CA0006.outlook.office365.com
 (2603:10b6:5:60::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 07:39:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE35.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.12 via Frontend Transport; Mon, 14 Aug 2023 07:39:04 +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.27; Mon, 14 Aug
 2023 02:39:03 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 14 Aug
 2023 02:38:48 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 14 Aug 2023 02:38: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: a60ef709-3a75-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gin+fhQr1g5vLTDvFZsPNVf8iADNNJllI3kipDha2nfdisqPDKY5S5RKGRX69fTxMJlGw4iNo0Uwy3tnMGI73mLZmKfdusHb2zjx9EDfZCcUX3LG4m/17ijWndK9hrMz6kZ5o1kwCB0tiyliqLZyVht3IYwBcaNA8V1+VvonaW6GYrR3bH9A7iAajdnIhz0qp9jSxtBqmqbxzJx7vRkAmKsBIc+pVOE8faw/ABME4vbo1Lfko3KszfGTrTf9pFVezvrAtYZfILMqjQER9vArzlKgF7oAAnYEMBTtXMX62lUDGxfwjt9gm5J9sfRCaTazwwqTsp+nIy8SaatgrqPUoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uPz3H2axURI9tiwg5czBfIt98I6FRLeTYL0ldg1EJvI=;
 b=fn1hUAFG8tDcVH2lIng2tPLxvEsQCW+HDcj1Rvp+FoJsDkuAQywcDKS/aM7L0zv6AUJrJ1AR32UYkzoVpxJQohPyoVWIdQ/CXy/DxLenuGCVv9XgaZ9kU16NLhclys4ZEC/ub4wpZi18rF01RDIrls0bXdqShq3+O0F1/Ht4HMaIOCLQfabpfpkYcUat8gGhFTtEdOeehR33Bw2t17ig96v1vpYPIU/kafAgBg6XsYcgpUsLk+hDkYgDl/Ft/bvmTAj4ZlSJ4WZ80HXFf2klc4vlq8JZ/6Kruxmi+yLU+6sjMmkTpZ6ewFPnZLL8//NIHmQrpYZ9S/As85ozS2y89g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uPz3H2axURI9tiwg5czBfIt98I6FRLeTYL0ldg1EJvI=;
 b=ngVlY58nHl8wVdCmHQwUZDvEoexCqQMHDbYEA8GtNl09FjoxKzKfp+vXoEjnm+3L5rs0hgvW0+730AbAZVm1QCuMrV45Q2O+5cK643A25kLAqXmH0j7RTQST9XjcCKW5Pea/F4oSyN1eGbmXs2QQpiKWEUjDpsPXhNCRvsv4VnE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <c3b4e459-289d-6418-85a7-4835fe644167@amd.com>
Date: Mon, 14 Aug 2023 09:38:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/3] automation: update test-artifacts to use Debian
 Bookworm instead of unstable
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
 <20230812020651.11608-2-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230812020651.11608-2-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE35:EE_|MW3PR12MB4556:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c5d5666-d322-457f-f1cb-08db9c9988fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xdLMU1f5fnGRoI4xB/nxRlBL+CebsVapUaMkP4h6LNLYhGSdOqCr6Dph4s4eJcGzCH1Q45ZgejXzuGh+YPwN4Ge3+wjhhGw5mjmYLBzKyBucDMkXWtteAUrCX4tT41craoLs5XnCRTkZwoDna4UzgfqP2BsYWjDzd1jCZYHcW4bpQXBVwyr/Lzu2qPWlfxCPPvCATeKJ2tV81qID42jnJJujizMBRO5SZzEjwyYZYjDT23BoFup0HqWa3gqH6pzOrE3oKj5YWFakmnYk+4C5SdEMXUwdIxkjG7Em3AEKHiAQX09jfIL8VgPyvLHvmC7jw1D5UHjSCVJG27sR3rdzdot/7Lkigujh6OdPCz4+qOHKsVWBnVcQxmanCcoBKo0LlrC3xVSYOZE3vpbjUe9TMmomchbKEn/HyQANJW1TMgbv0NIYLwMwloNGqZboNP88ZWor7KGrbuKGOf/+dmXtizBJt8hixP5ECFpGT0nPep/J6QhbMnVpZinbkzB+med8H3i7A+/WkUjB8FJk3MUMwGFTavb9lE7chPuY6ANhXOUeyCWDUxmG97OsUj8poLDf3Y0tNko7XuJatFGASeTUqPNLqnkK8nnBnt/GWw+QKLHvkw7HfVkqSXixoWfBZaLKhBJp6eBl/fsc7Z8nY2ZsDBJ90tUNgy9Q0LTDoDDirGdqGu+ceX04IOiaV5nT3AMExjYB6kiAREWED6v/EbUjqWsON1ywTTnjne+RUbX2esRXgHOEOdVwlCT7QDK/SsldRbo4mgdmBgKFji55i60wnJ6nCYi6TdHJCZnEDL/T3jSALFIhJxM6VhwHIZChjJhG
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:(13230028)(4636009)(376002)(396003)(136003)(346002)(39860400002)(186006)(1800799006)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(31686004)(2906002)(356005)(36756003)(5660300002)(558084003)(40460700003)(44832011)(86362001)(31696002)(82740400003)(81166007)(8936002)(4326008)(8676002)(40480700001)(41300700001)(36860700001)(316002)(47076005)(16576012)(54906003)(70206006)(70586007)(110136005)(26005)(336012)(2616005)(426003)(53546011)(478600001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:39:04.4302
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c5d5666-d322-457f-f1cb-08db9c9988fe
X-MS-Exchange-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:
	CY4PEPF0000EE35.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4556


On 12/08/2023 04:06, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.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 Mon Aug 14 07:39:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583271.913387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSAk-00065s-4R; Mon, 14 Aug 2023 07:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583271.913387; Mon, 14 Aug 2023 07: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 1qVSAk-00065l-0x; Mon, 14 Aug 2023 07:39:30 +0000
Received: by outflank-mailman (input) for mailman id 583271;
 Mon, 14 Aug 2023 07: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=/ZCf=D7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qVSAi-0005XG-Pz
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:39:28 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20613.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1e3bfc1-3a75-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:39:27 +0200 (CEST)
Received: from CY8PR11CA0045.namprd11.prod.outlook.com (2603:10b6:930:4a::28)
 by CY8PR12MB8340.namprd12.prod.outlook.com (2603:10b6:930:7a::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:39:24 +0000
Received: from CY4PEPF0000EE33.namprd05.prod.outlook.com
 (2603:10b6:930:4a:cafe::13) by CY8PR11CA0045.outlook.office365.com
 (2603:10b6:930:4a::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 07:39:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE33.mail.protection.outlook.com (10.167.242.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.12 via Frontend Transport; Mon, 14 Aug 2023 07:39:24 +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.27; Mon, 14 Aug
 2023 02:39:24 -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.27; Mon, 14 Aug
 2023 00:39:23 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 14 Aug 2023 02:39: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: b1e3bfc1-3a75-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z+i5W1zppJxwLzUEdCcg/z+ILzTYpGPrXxbG1cwes6/k9LZY0Yh94pZ1V8B0R3Eq5oddzJqY5h111llSDRICis70UUqu2Tie50QjrZ1d60bcl68gvPMtLSH6EHPqp+WZCxFueNZIB21/Jku1SO4NQapwARwWlBGTZkJT6jrzSahOcith+63t045GFGsAzaoa+xJZzDXji0msv/4yBLysUrbyVponCNgtdL0zz4wrJrIQ6nXTb8di2um3ulDxR8wkRaZRo5Pa8vQHRfQg4vvUzhXF7afhye3ljdR1Jy1OTL43Y1CbSCLAU3UqmZ6RGne26wD9JyDg1C7ks1at3YpzNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/6A32jYUGtatRb6O6Wzf8V1PLTria3E+8SIVNe2AkE=;
 b=R36iLizYtRPMl1OCmZq2w508RoNq6CAB64Y3e1OfXSErQs9jtEmH8OgSUNTqjR/TuOyYZxOS51mt1TcNGA8+yBlZbSlw5fzQMz/6JcM3d3uilkdtBc5ngdfTlQUVuoZikeDjfrO8CWAhW67gPfEh1Pgeeoct+Yl7GGKEszYwReqG3RKK0IbOn9rnmdzPDAHoTjujT3cXx06Fow5NFS4ugf/77cG3j6VFF6n2MECJ8GqMCMF7rzSBVbACb/fsa/ysGNwkZzA6roApX2S1hsp8IPDm/spmJMcJL/KAD5tWFBozZSIPkhutzbrooHB8GfuP9B6NsBvfpzBM+JKMaRnAHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B/6A32jYUGtatRb6O6Wzf8V1PLTria3E+8SIVNe2AkE=;
 b=yGwJN5ovsQVmigK6YQQGuu0HJ4g/oc0UX4sehny26Di0QO80Cc7pNdLigOVovRW0HLMYk/Y6zA6Tzcru9rfH/itPkcAzVRUdKTx46UOTjcsnr4AW2UsQOn/JBAgrr+F68yC3CAi01IOd70eYrTfDnOXPVxx9VkFRp/gU5IAOXJs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <51cc5a2a-579f-b2ac-45a4-ff334c490993@amd.com>
Date: Mon, 14 Aug 2023 09:39:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] automation: update jobs to use Debian Bookworm
 instead of unstable
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2308111842430.6458@ubuntu-linux-20-04-desktopa>
 <20230812020651.11608-3-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230812020651.11608-3-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE33:EE_|CY8PR12MB8340:EE_
X-MS-Office365-Filtering-Correlation-Id: 33cf05d5-42c7-435d-9d5f-08db9c999524
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Idcw9FbH4c5OR5td+4fv66JxE8z71G0FNFX+9ZPhZqs5yUe2/Npoe73ArfLvFwvXbozcd63rnA7uP/Gi8rMHULs2nZ9wdafAMtfe97fSLlk0MwGSH++ARiO7aiJQxVlOExxCwi9LaCk0bZmlBWGuB53k1x1ft6+B9zAQJnZd3hr/GjjbHqob4UW/SApN2+ZZKWGDcAqZOz+6oFAit7pDmHFqhMOByW0Nj5eep4uoGl0+/eHIgnbX8sh5I9UWRRVbNDManqq9A4bKhElxqPXPT2dIbCarrqU0TGp84w9WCaoWv8pRCQ+Q26quCEFOGQsjIyiscwAd7bJ9RPz8dGY0Xr4sfKC2Nv8Fxkim3H1uVhudMa2QfqPhV8uAI3pyLp+ZM9YkGfIQ5A03ByZlPn/QOoJj4ZRhXLJihcTq5ebWxWzkK4Gy2Vr+BYhvRCq58G8mNLSoc9UEsw8UyybEiYfD14vMumJkaLTovGeSxgdUTJLm8iVHNHgGRFmPGKAHbNjwhyIpsVE/AkSgbtI1tLi0+GCJccgr99vnYjC1MFx/kQ5mo9BqKJZ77ca1sNeOHn2oarGvxEZyeMp1gMQ1DQYXGEwRtQmg0LdtWwRqlS+h+LrWl2B+aeGzKpjxDKZQQatwxj51V59wsnmb0oXzkA/rGTY0pnUJ0i921nPvxyB7oF31LV0H0cgFwoui0aSn4IdJYajMKfc4LkPx1FvdM210Hy2fjMLY5RpbIQ/v17C+O1CYoIJG4w7KOW094Tw46omQcRdB5rXnyQQMdTEUd1s08A8Z4nYzTQt/gi3yhePvzp757LEwo0i+0W6n4UlkbFO/
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:(13230028)(4636009)(376002)(396003)(346002)(39860400002)(136003)(186006)(1800799006)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(53546011)(26005)(41300700001)(336012)(8936002)(70206006)(70586007)(316002)(8676002)(16576012)(36860700001)(31686004)(2616005)(47076005)(426003)(6666004)(81166007)(40460700003)(478600001)(40480700001)(110136005)(54906003)(44832011)(31696002)(36756003)(558084003)(86362001)(4326008)(82740400003)(356005)(5660300002)(2906002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:39:24.8097
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 33cf05d5-42c7-435d-9d5f-08db9c999524
X-MS-Exchange-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:
	CY4PEPF0000EE33.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8340



On 12/08/2023 04:06, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.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 Mon Aug 14 07:39:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:39:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583272.913397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSAt-0006Rn-Bg; Mon, 14 Aug 2023 07:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583272.913397; Mon, 14 Aug 2023 07:39:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSAt-0006Re-8J; Mon, 14 Aug 2023 07:39:39 +0000
Received: by outflank-mailman (input) for mailman id 583272;
 Mon, 14 Aug 2023 07:39:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSAs-0005XG-BF
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:39:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7d00::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7fe17c3-3a75-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:39:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8967.eurprd04.prod.outlook.com (2603:10a6:10:2e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:39:35 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:39:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7fe17c3-3a75-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bJ0xV2O0NUjL51cvUAdElafw8lsbKYFm+lbdceLon3qdh2hDGwlyYmdNmKfkEtkmBrJKXcfBj8awxREB7QLa0hjYcl9YLdt3235XTxsWW+GG1w/TBa4rrSKXzFHqZNKsYGi9oNVdf/3JClU0rZRTJRwpgfx+u4BOjGsPzxGzFEir7UpNoomWFh46qZjp8Cw4wRFLVh0OEoEgca0aTqtTOqi9pcziUhmQzhBKAHJ9A4ETUnQOZChQvzw9IXTOXn+9cmvrsY/hSyyR2u3rHgnEBIM8FvzxNMkbaJcnsV4tBWjyMZP1X8Xg17QMot/K5VctjC+26LQ4w1IbWHwQs4KTXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SHMmXQiXK3VPcqOHK5IUv7i4D+GNTUfg4/6TvJQGonQ=;
 b=TEvI99gufexC/5SubJ+/MQ6hqKUMvXKbuKAwkerTXL9yxCf686bLyAvHysqd7/krGMWJXw8d+TUh6Y6egihAdUtDdZvZC+vfP5yNkMAa5n7i9u20P9DKgc+/WvP1uxePhfKLyOn+Pj2kZww7QU9D4BMGzAnAeOjO1eMUdtXrA9tR7DHjUwFBl5DZD674EuuNbL5wISTnpVMzHBU9TOhKC6ggYBvbWtjw5br/uOxyhYYh8/Pzv6XXAToAh7vX0Esp1kWv0TY12Sp1GvB7sRiPXC/y6xjizHhF3hFO5BzIQHRS8U5oVgektmLpMEeSKmkedbUhhGK3X7SZ6y5n0Y81uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SHMmXQiXK3VPcqOHK5IUv7i4D+GNTUfg4/6TvJQGonQ=;
 b=HrcXVWMHSbeyJKpHnWsQC8Z+xPU5OJwZaL5msObfO1dF3W5DptT6J232TkSkhpDMo8aXrnPsGWXViD+hvdvCGNxohT1xPPp+PXpd3dtc9XxnyWfLHXfPY+7yDnq+b4jPo4DgUEJxnG8vnWhjzU9Ob/te918sRZPup2OrmyU6TJagkmBHSuAgvcc1ZvtImUzKGvhCzKyRl5XEKNZ0E69ZWvA9AFlYQn0XEX6XhoD9zazSa6cCJgNR6J/UgzHgcYthXsvLIzeshXEV5io/etSJRFc9EkcQDcSPlHH7EA64UShQv69w7FAKsW7uKA17/aax6kKn0FjMFKcq+Q2IlbD04w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
Date: Mon, 14 Aug 2023 09:39:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
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,
 xen-devel@lists.xenproject.org
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8967:EE_
X-MS-Office365-Filtering-Correlation-Id: 86688577-4d89-41b7-c4ab-08db9c999b95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EghHSwCSAR9/nNunWCAL042+/JDDFC5xA0R2i/pTrFIJ2SIbm/ruUupf1Dv71v1DgKZAVrfnVi7o9ONqAoedwQ7QH3gJ/0YmxohBVLnVRpK7Zt0SwS84EG4sFW81ne+M8VR43i0P4uIaar/af+I/pA89NN8Ctp9712SgqFP7VwSo/XWssLsb0gdrgTJhzvg9dLGCNVlFicddaxqW6ciAxFZRIdvk+7+/R6wnt4k7Sbm/fFBSsuDLnxzRX4LX5ex0VhR7d6iL+iIvUY0YVjalKcHA7I5MKqrNXnmU2rmlnsaR7ZtO7IaXKl0fdatUbToAO6GxHcYAefzKmHAFq8twX3BEVDYKWI54TeJ06QSwwshVZr3HE4ohGQMifVCcgnbM9ea2qP34lxN9bKfjhaDOxhLB7p7/9MJbuTIoRYbyk7XriRhEtDmXIBrnnmw5cIXsklNcX4BB2NWkA0lSWcu6qpSNJZ7nWciS/z6aoxisk+cq1EuwYXdZDs1SmK3Dd2zMxz8Cur3V2fV7eTZzdyFsGCYzsFlEROBFJPJMXtwyCgrLEVZUrR2kAQBhTl81xw7RTUxZgQJpVfR/qdTZMoCxjhAV56Aj3+f76coPcY7AD1we4tAbnKzMxaE4e2yxV0UH/Ttm+26iYGh0W7xngT1b5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(346002)(396003)(376002)(366004)(136003)(451199021)(186006)(1800799006)(36756003)(5660300002)(2906002)(31696002)(86362001)(4744005)(31686004)(83380400001)(66556008)(6916009)(4326008)(316002)(66946007)(66476007)(38100700002)(41300700001)(26005)(2616005)(6512007)(53546011)(6486002)(6506007)(8676002)(8936002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmlJQVEyWFJsRW5sbFFuRkNucUFOMjVvT3h2RUZaSlpLd2haVUdQc0h4ZzU2?=
 =?utf-8?B?OGJWeTFMNFlNWVNZYmxvRzlNeE52bXBNdG16VWgvczB1OW9DLzBubXlVQ1dl?=
 =?utf-8?B?YzE2a3FXWHVuM3pnRjhrOFVXV1ZwNU8rbmZnSlFVQ1dKbHQ5eld3UjROOW1Z?=
 =?utf-8?B?YzdlSHlxQlVTbENKaThYOVlBZW52RGh4VGxnNmdNUDJ3YnBQUXJDUjE2ZnBW?=
 =?utf-8?B?T1didnNvNTlzd2dWU29TekErdUY0d0dLMWVKTzhOM0hWdHE4Q2lJMEh2TnUr?=
 =?utf-8?B?MnMwOFdiek0xL3g4bXZsQlVvV01xZUIyVVg3eDNwYW5tRG9oYklqVXBMRWph?=
 =?utf-8?B?REt0ZFA3MGJ6b21icnBWNU83WmhVQW9yQzRETDQ2UDhwc3lwRXNtUER6aU9l?=
 =?utf-8?B?bFdmWkVxWVVyNWwxVVZqeWZKTExhdXFpZkdVcnd1RURNbjc4bG8xZWVIMnJC?=
 =?utf-8?B?T1pIQnRTMFlpckdwMG1qdGVtREV3c1kya0ZJL3UxWFR5eGRxcklkMnU5ejhm?=
 =?utf-8?B?d0hPMnc0SEVwZUZtMzBsRG11VEhLcm1FRjVYa2poaENYVUFjQTRGMnd1Nzlr?=
 =?utf-8?B?NUxVSE1FcHYvSHFYU2lVdTM3bVpwSFVjbnhUNXBBdXppc1hpNlNaWkdsazN1?=
 =?utf-8?B?WjZPZjZnREthOVpmVFlpUjExcmp1Y2hCeHh2cytwcmlGbWY5WDZFUEFXamF2?=
 =?utf-8?B?bGVNd3BnMFh1S2UvZ1ExaXFxUTkzc0NxbGxsbTNtaG8vMjliZzZlTUxJbno1?=
 =?utf-8?B?VWxVM2kvM211eG5hOFJmOXdUYTJIV2JTVGZWanRSN1JEaVNtRXZZVThyNXVB?=
 =?utf-8?B?bmwxL0pCb0J1RFZ3NnRVd1JoMHZvSUNzaEREZW02OXFFZ3dXUyt0bUU4OGNl?=
 =?utf-8?B?bW1TZTdmMnVGYXIrdDNJSDFES3hQK2dTRXBnUU1BVFNvQ05PYmZZNy8zKzZX?=
 =?utf-8?B?S2hXeDRkQUQrVjNudEQwUWpsRktTU201L1hlT0tlL0QyWlQxckhhS1k5M2ha?=
 =?utf-8?B?c2FqV3JpOUNTbXREemR5VlkxVFd4OGg5QjEwOUhSaUUxc2FEM0w2Tlh5dDFr?=
 =?utf-8?B?R2pCemFjNmo5ZU1lTnFWUzFvZ2FraEFzWTRoektpYUt6R28wb2ZjdW5PWHov?=
 =?utf-8?B?aHExK2V2cTdESkJTWnYvc1N2QmFrL25tOUcvb2pYNDA4bjNMVjVlZlRoRUhl?=
 =?utf-8?B?N1RwSGt4Z1ArR2dEUDVNQjQvNlVLS1Zxa1g5T2xuT0tmUDlleHBtdHhIY1VY?=
 =?utf-8?B?QVZ2V3YvVUV1aHhwYitxNWJ2L2J3RktrZzQxaW1SNnNWeitIeTR2bmExNFhk?=
 =?utf-8?B?a1Raam9HQWhqM01zMEx6Y1dyQ0lmQTVpQVMwcVdHdUZPaG9vb1ZId3l1T1E0?=
 =?utf-8?B?VGJ1em93UnVqaldSU1p3VnNMZkx1NThjZ0JUV0FyN1J4d2tVTzlFSWsrdldI?=
 =?utf-8?B?anRLOFZKcTErY1Jkc0k4YWxsdGxHRldSeUJDdEU5cTYzb1JEWEdhbVA5ZkU3?=
 =?utf-8?B?bGk4Skw3cWUzS0k4OVFwWUY1b0VnMlcyM2kyalhvRVlRYzg2eEkvSmMvZEY5?=
 =?utf-8?B?YlVkU3R3czB0RmhJMEdVejZDY2JCMTlLMlJUcFBQWlZMeWFSZWt1SElBclBs?=
 =?utf-8?B?d0c1Zm5xYWpPNDNKdXpSTDNiZXNZekNrVjRRRXFhdkhNTE96dyt4MGc5WDRK?=
 =?utf-8?B?WFVQdEZzc2lTRTdPcm9VK093eDQyd1l6MFdqdkZEcXQ0eER1RTg0b2FJVGNE?=
 =?utf-8?B?UFlIdllTRVN5R082bnlJNEZ5MFlzMTF6V3J1MktFS2JqSS9sYm9zcmtURDJX?=
 =?utf-8?B?MGpUdHFTRENEVFp3N2ZWWFpMZzNEeCtoaVJkQnVweG9TWlVuWmdpSDFFZnho?=
 =?utf-8?B?d0VQUjA4K3VlRkZNcTloMXhUbmZ3aFdnZVJmMXd3SmNmZ2huQk5zRXZkYXlz?=
 =?utf-8?B?VXMrSm1SYTJ3bHFXbXpJYzJ2OExCN21LTUk3ODQyR2d3cGMrcmI5d0R0YXJ5?=
 =?utf-8?B?Y01EVXhXaE8vZzYxdUVyQk9YcVo0RDB4OGpTS2dmNm82V3BqOVRDSU1NKzlw?=
 =?utf-8?B?YkF1ZXJKeUk2SHZnT3l0SStLVHRNZjQ0K201UFFDcmtOTnQxWEhOS3VIUWtp?=
 =?utf-8?Q?MT6Kf9DrEhusXJ9JVX+a0l5Pk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86688577-4d89-41b7-c4ab-08db9c999b95
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:39:35.8360
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dKAkJt/De7xTYQS9emEdwecA+NAmkEB6cBJuLCu0pCysrmWPH/IptE118HWQVRxlAzkoVhYP197L2OuaMzP30A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8967

On 11.08.2023 09:19, Nicola Vetrini wrote:
> The missing header included by this patch provides declarations for
> the functions 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
> that are defined in the source file. This also resolves violations
> of MISRA C:2012 Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs and p2m_vm_event_fill_regs")
> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
> Fixes: 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")

It's hard to see how it can be three commit here. The oldest one is at
fault, I would say.

Also please remember to Cc maintainers.

Jan

> --- a/xen/arch/x86/vm_event.c
> +++ b/xen/arch/x86/vm_event.c
> @@ -20,6 +20,7 @@
>  
>  #include <xen/sched.h>
>  #include <xen/mem_access.h>
> +#include <xen/vm_event.h>
>  #include <asm/vm_event.h>
>  
>  /* Implicitly serialized by the domctl lock. */



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583284.913406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSD0-0008DH-PK; Mon, 14 Aug 2023 07:41:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583284.913406; Mon, 14 Aug 2023 07: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 1qVSD0-0008DA-MC; Mon, 14 Aug 2023 07:41:50 +0000
Received: by outflank-mailman (input) for mailman id 583284;
 Mon, 14 Aug 2023 07:41: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSCz-0008D2-20
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:41:49 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 059ee6c3-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:41:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7279.eurprd04.prod.outlook.com (2603:10a6:800:1a5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:41:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:41:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 059ee6c3-3a76-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QTL68sGs5bC7AJgh4mbYlj2zsUv8URoJhKUfE7pK+auGbO3iQvubjMyBxUpRpYLRD58KPpMsaHeHFtUH1OGoiTYiJ0ERlKTcegydwNjbgaw974GJnVo4Bn0ZwS6p/GQvRtnm1FpUcjStWP8LUxILGDwKM/LNE2Fax35vVdNeYRgiRcycRevohZQmoTB8RvziCnR9zpZAvOFcmWbqJlH0w+eQGqRR1THuRY3KMk7GpEd72dtRTP/35H+hNmmn25rm8atu732gLSmy5zzOdv33Vk4mFBx0ArsgCO312Ef+r5FXBiwWGXgJtNXCW1eBwTtLdc1K+kpMrqfo4+5qY1nzGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bEIbLk52DMyLMV0EpYgbsv38TzyjRN/gcRiLvJSY7P4=;
 b=C0Rco2vF3d0eJcOXdzNsen7+BSnpvJkqEKmJYWvwOetNN82DwpTSLgkYDdkDe+SnK8XSkF2eVcZiARSCbzx9n/4NbPQT8rNe/F9slhU1d6W67tA970FadLo3WJGqqel+LtWw00qChPifI1vQk7nApK+ii1hNcN6rYLK95/9swXXHUy7ozhHTAtJdTyRKWIi7pIAAfaXV75VVcG+/rfHx4BjNe8RMvRPa9W6GMFCIkI1xK6e0J7H1b5sMbpNyFBgLqNSmINqjJnjfeHed5pCpfQbg3UlCfxuAHo05a4jQ8s/ZiKBDrsKeD3mc8RBe8uk3+cr3h1W36ANEgQDOZR0XjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bEIbLk52DMyLMV0EpYgbsv38TzyjRN/gcRiLvJSY7P4=;
 b=AgtnY34LfK7SfujtM7nYQGbBrR0ndHaQTSE3MfQTHSelBjND4l8RqGBjOLbSMS1dZ2vrsRztUeA+QXcHP9LDJ//Px6ar44UxIQkp1YIUZBdBwr5G0ejBKx3zcJwqaE169RGqlhlb5ajFM5sW8y9dsIBwbAu8jFgnSPxZOF/6ah43Nsgw1ErUHrYzbbjhkPvdSoZyvMqbltkBZZBysaN2u4C+2PcRNwEnc2M34BSnxST/21PHVEVQte9v0KVdMR4X2LLZ21iLkksu6xoTvpR5iR0ozu4rUuCqRTg05QpWKqXUDLxb1U6VWM0Xq1xRoGNt8cB6V5ToA8LOwosW03zi2Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <380241d4-df77-b9c4-8491-5893cbce383c@suse.com>
Date: Mon, 14 Aug 2023 09:41:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 4/6] cpufreq: add missing include of header 'pmstat.h'
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <424e0523b9ec68eda5cf5b41a7bb6c980df2a52d.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111602400.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308111602400.2127516@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7279:EE_
X-MS-Office365-Filtering-Correlation-Id: 31cf84e5-0276-48e6-0c8d-08db9c99e905
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Xsycnm0MvHUQCuGA/S1h0iqgI6rKyPCWOtDijt4VkZz60B2nKqTqaymIOocJdlZLU9jBJT/POw1BPSAZzEKPeoYvUtqlXlM4kegQ7lywU6m/HDPD+in5SZNw9zc0NG19iW4KzIS6K+jApZG7YxU3ubaSgWqiTLofv2D44X2M0ZkU3s8v8/wCJ+bNu5Wm4vKTHVApS1tSyvHn/bzjypwI/6YnKzHSwBxuJpIvn5QIxjTGZwj47eAtM1K32421Hdxa4Ch7lnVoDoNjAnB56SY3HLgwCy3+fHe7/Xz1d900/rUpCoYMRzcvAlV9iQyQeGVwQ6zQZVqZgLfZk0WShJXrVmjqyrwnrxTuhrqCFTwzzfKRjxdyJdwHyH89mafOQNQwq+8umsd+LBitAr2aKrZGp/GjI02MV4rqrc/D1hWxBCZviMtCu7bcxAR9aXpKe6Dh1vczCg432DMUeK3SuXEzCw62Nc7NvdD8igaCEugJ7luR3bQi5JgjWi2rViGZM2KOaVWXicaqbFquFvafsDtPCq6KAJb5yBmTp/Dj+egXbbIHtojYbREfm2lnW/LQ80JLbEjwmCiP0pwGvdFhhFBk1TUcVemDGDTW1TeDnXuJgLEzKREToLn3Xs0Uby59W5dw3K3gaWWxukcG0sMX18zUHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(396003)(346002)(376002)(366004)(136003)(451199021)(186006)(1800799006)(31686004)(6486002)(6506007)(478600001)(36756003)(86362001)(31696002)(2906002)(6512007)(26005)(66946007)(53546011)(4744005)(2616005)(38100700002)(316002)(4326008)(8676002)(66476007)(6916009)(66556008)(5660300002)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU5qZUlWSCsrM2l2M3lvcy9LUk9ITkh2ZWZ4N1Y2d0Y3d21Fb0YwamMwWGRI?=
 =?utf-8?B?MHppRXd0eHlKVmcyelhZR2xEYkp1Nzgyb1Ria3FjRnpHOVh3cHp2eXZjQlZG?=
 =?utf-8?B?djd2WEwzczZ3d0Fod2haalA2Mll1K3poZTV2cmU3NkVRdzMweHB0WGkwUUpH?=
 =?utf-8?B?cFh3UzdGdkp2WTM0aFdMV29mUVpYSWJQanhNSVlLNStoY3lHdytSMEhRRUE4?=
 =?utf-8?B?K01WR3JJZnhoSmlneDdhSHhQSFlvU1FjV3hveGVWSmwvMVRnQm5lNFR0dFYv?=
 =?utf-8?B?czRNazMrdEZEZzJQMDhzMDloMmdnZjlBdnptWVV0MFZmYWY0SHF3bjBzOWV2?=
 =?utf-8?B?SlA3R0kzTVRyVjFHM3ppdWRFSVNSNXJMc1FnMXd4Y0dJeDJNWU5hc0ROcjc5?=
 =?utf-8?B?QUZ1WVBaUEZCbWpHRXJuTEx3SWtzYnJRQUY3em5LV1NkZk9CMjlsOGk5S3Ba?=
 =?utf-8?B?d2VuOVNxeXlxWmxMT3NKSDFLeWdZSDYvVExXU1BqSFFzek0xWXIzWFpZTXhN?=
 =?utf-8?B?eHpWbU05VWVaSGFITUJKUUJtV203YXAzTU0vZDRNWHBma2xsRC94Wm5NQkY0?=
 =?utf-8?B?UFlPM2VpYXIybUFlcTFiUFIvOVpsNFBSdXFTam10VmFJWWNTNWxkR3ZYYnBB?=
 =?utf-8?B?aUJjU2RHdGtkeW9tUE9RRnZ2RDBRc1VlN1oybUdvS0gyVksrWWE4YnBlS2t3?=
 =?utf-8?B?RjFpTnVISlJMbWtaZjBGSHJtZEtGYXM1enVGM1YvNUwvenFHMUwvUFdaT203?=
 =?utf-8?B?M3RsaVlzT29DUTRxTlE4UGxiaHE5aURUUUYrcVV0aVdUc1hnSVMrZFdOWkdz?=
 =?utf-8?B?aENYU2xVV09oUkk0OWd3d2oyMUFEaTFGWnBxNG1renM4WHFmQks2amg0RVJh?=
 =?utf-8?B?bWMwaGN5SU1sRm9oUDhzdTlVZXZ0MStIdnJqN1RGS1RhUDVZRnpaYnlla1d4?=
 =?utf-8?B?ZlJkUURPSVRiRzFVWDFpd1RTK21MZGZqMzN6Vi9CUzhSekpSTTRzWDh5UFE4?=
 =?utf-8?B?OXRUd0VEM3JnbkhxUTZMTEZtdy93MnNsZWU3Z0hHYmlJYnMvd3dvUGl4WVpk?=
 =?utf-8?B?c2xhT08vODVIbmFXUXdXL1kzbzVYNlgwUzZBVG5uYUZQbDZPcktVZW82UG9W?=
 =?utf-8?B?U245akdhOS95WGhTMUFvSmdoUE8rY1AzUVcxRUFTZ0ErczlTMTNYRlhtTE9X?=
 =?utf-8?B?bDVXR3FuaHJxRUFVTENnblhsZjlTbGlraEwzUDBjWWxmWk1lVkd6SjZESXll?=
 =?utf-8?B?M2N2VE9BQkhIS3dqMkdtSDZkYWh3RThQdTZqdUxJdm91Q0VvaDV5T0dRbm50?=
 =?utf-8?B?VnBDMlJ3UFN4cDVpMFRwb3c5dXp1c1BKYWhrb0w4Nkx5TVlTYjZ3MVhGNlVQ?=
 =?utf-8?B?WjBwZ1p3MEYyQ0xrR2I0T2NJUUVEUWs5N2VWMHkxQmk3KzZHSHZHc3pKakVk?=
 =?utf-8?B?cENKWXNCQnR6OTMrRW1PVTMxam9FdjBPd292TWJWWGZmZ1E5SzZGN2dzelp5?=
 =?utf-8?B?YVNzajBKRnJvWXFyeUsydDhhdncwcGNDZzI1TzZJaWdZMEhmNVZKeWt5azVW?=
 =?utf-8?B?SEN6c0RyQkd4RHNWcGNlcWhFaWh5SXlyd3JCYmVRVXlRYnVwQ21SN2ZrNW01?=
 =?utf-8?B?VXNZZGNDeU5rdHA5SlBoMHJ5UWEydlE2MjREVUVhT2d1OS9ia2IvVjV0RGlR?=
 =?utf-8?B?dmFodzljZHVvQWxpbFcxZUxIUldmQndKSHJMWC9sSisydHY3RzRkNnh5WC9K?=
 =?utf-8?B?RUEzbHovY1ZUQjBlSHk4cGN4b1BMdkx4WGdqK3p1cWhWQmY1VnJ3cjFTdmoy?=
 =?utf-8?B?RW9BQ0ZrRnZPQ0xLSENUbDlYK0c0cHBFbVY0czRzUDhPWlk0Q3VwTXVwTGg2?=
 =?utf-8?B?N1BlamllSldCdXA2TFY4WDQ3Q0FIUWpMRVdzZi9VWHdmUWxJMkVBM3pGZU0r?=
 =?utf-8?B?SkFkS2Z4ZUhDYXVObWVPbTc2Znc5bTRqdGRHaSs4OVIxa2htNXI4M0U0S1Jh?=
 =?utf-8?B?UWxuMzZLWVZ5YXZWQUlrT0lPMjFLTlJ2VzFKcTRTRG1ST2pZU1Y0ZjRJd0Rq?=
 =?utf-8?B?RzE4eHdCVnBzQjNrOVp5aWJOUUxvYlQ3UTJJSFRXTXdlRUhIWXlxYkxPQmRZ?=
 =?utf-8?Q?Rg7/mVcXWJa9hL3SuAn+20RVB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31cf84e5-0276-48e6-0c8d-08db9c99e905
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:41:45.7328
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r33w3JYeGOaPkNj7u8Yh3Z0LYjYNUunmpW3KDtb0oXqNKCS/qeV3weZj920ey4RvpSOcZcjBWCB8CqrDwTyrxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7279

On 12.08.2023 01:03, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Nicola Vetrini wrote:
>> The missing header included by this patch provides a declaration for
>> 'set_px_pminfo' that is visible prior to the definition in this file.
>> This also resolves a violation of MISRA C:2012 Rule 8.4.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Fixes: 452119c09420 ("x86 and ia64: move cpufreq notify code to commone place")
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:44:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583292.913417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSF3-0000MD-4A; Mon, 14 Aug 2023 07:43:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583292.913417; Mon, 14 Aug 2023 07: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 1qVSF3-0000M4-1G; Mon, 14 Aug 2023 07:43:57 +0000
Received: by outflank-mailman (input) for mailman id 583292;
 Mon, 14 Aug 2023 07: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=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVSF1-0000Lw-OE
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:43:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50d58270-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:43:53 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1326F4EE0737;
 Mon, 14 Aug 2023 09:43:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50d58270-3a76-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 09:43:53 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Stefano Stabellini
 <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 2/6] x86/setup: add missing headers
In-Reply-To: <e621f307-f83c-044a-cd9b-6592f452454f@suse.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <c4fbf7b2a763f1b8e700e2ed36628c047231cb46.1691676251.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2308111557590.2127516@ubuntu-linux-20-04-desktop>
 <e621f307-f83c-044a-cd9b-6592f452454f@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <a881f91d78befa8ee8b61101eeb65913@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


>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> Fixes: 3eab82196b02 ("x86: PIT broadcast to fix local APIC timer stop 
>>> issue for Deep C state")
>>> Fixes: 63dc135aeaf9 ("x86: invpcid support")
> 
> One request: Please can you get used to putting the Fixes: tags first,
> so one doesn't need to (try to) remember to move them in the course of
> committing?
> 

Sure. Sorry, I didn't notice the ordering in other commits.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:44:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583299.913426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSFd-0000vl-Fz; Mon, 14 Aug 2023 07:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583299.913426; Mon, 14 Aug 2023 07:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSFd-0000ve-DJ; Mon, 14 Aug 2023 07:44:33 +0000
Received: by outflank-mailman (input) for mailman id 583299;
 Mon, 14 Aug 2023 07:44:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSFc-0000vG-Ix
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:44:32 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20622.outbound.protection.outlook.com
 [2a01:111:f400:7d00::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67800dc6-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:44:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7503.eurprd04.prod.outlook.com (2603:10a6:102:f2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:44:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:44:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67800dc6-3a76-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hP7a7PMmwPvTQEGM/4IUciC3KKw32E0jmQlLybJM7juoI+RklEnqneBICtAXH+b0CnvlKKbPKMxk1JV+/oZZsmH7n4kbbhYlgO8smgKszoy2QXISWt1i2L2ny9UGE4f5LPQ2uPY6+c8XCgNBIMnUMJXdptREHG9FlPbzdu0RPRB+G3vHb1fkHwGB1+FJ6237l2HcmIRSFgYFWtV6UooKGL27uXyvCEt4svrz3gUyGugfs+oh3RDpGcO7tBuXOgf80JpZ8RKMj5WRfVE5HGQINNGt+qaETDSdjvf+dhZrqoSu02/4iuuK9vl+RxGF46CHA4fTKNyobp6EpM4JXwTpNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NF3yDXWHWAGHT+GvF2W+LhwfIbkiLWgnI7p4uqY9icM=;
 b=ISecvMVQnDVa1idd+CuCuHdmbEqreDU5mpNRTtrt3+HZsux45s7as65BhI5IaIXF3hEH2ri0SltIgufZ6+7isvCIaITXskc7yq+WnJIOe0ce91gGrekAoa6aklsI9fwi/9e5Z2HTnVP5BYEl8GcD/rl+2Lbw8TIYS55ZiJrt8o/DoYQfqWK1p/ATZ7JmauWUBgXMUBud8AU+NolhPXdcEPec27vOkh5npGpwDsjHVPOwhZTLNt6aaNQLg/Xfi2DbmYM/wD4vFgib2Q1H6gQxGmskeA+J9NowQjVB7XlW8e9Sj0WKkeWtfwY4cyAeLGdBKDM8/P+p8I1CZtxooHP1zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NF3yDXWHWAGHT+GvF2W+LhwfIbkiLWgnI7p4uqY9icM=;
 b=vCBCqSchJbePbNGqEUgQ5abQvBE8zpkaCMW1FkbHQM0rupTyfi2LW8f88nJP0eqRfRoD/EPK1T+sykjlPNwkJbpEMCRP88tT960WZBIzDRrRexeyNrhsO4v0+uGCCxa6x+8/luh5nlgdEcaAlofb0eMprpa+rHuKme8XBSLJF+2uasEOZcb8wwTnFd6eMPFxehTKhmKNOtlSY9l8J64bq3+racuX4vT/wXA8Ssfj8GMom1DsY3DNXdH6dXYdOEdaF6Lng1J3PqyYQBS6xubDKYohokKPu7MM23QEUe4w25lv/vipd2Qkrsx+iXIK7kv8bP47W1Y/SraEfs/b23QGmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fde117b3-f9e2-f98d-4301-04683d99635e@suse.com>
Date: Mon, 14 Aug 2023 09:44:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 5/6] vpic/msix: make 'get_slot' static
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,
 xen-devel@lists.xenproject.org
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7503:EE_
X-MS-Office365-Filtering-Correlation-Id: 338b6cad-f88c-43d9-ff68-08db9c9a4ab4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	02apZmc0orwk1BVq9ZcAII4ULIZUDRE4JiGvVUzv5AP8zf5h2HlUbJYwgEw81sv3EnmVJQqHxUQTUQNXrxxcedleczJUk4TEsrLRKXQl4NdXxCLfYwCYy2cox9q/nOH6CCn9SlxPK9GIs1QrdA4Wj1mf/4hkDnSPUW4cflS4OJd0k09LhPsj5bcnyrUNu1B1DJARwFU8aWJm3HISJtoELGinmfH+6FscgJtEnKOI6nwZDgrc3X6Krzc6DONK4gLpih5kBvkXGczUWWwjz9oI5/B24B1Z5ICG/o5NzqRuUWN0fja/hQRtAHVRNFtNP3Pp3SOod/g6G46PJjOSzaFh1/AR8ncR5yRSYxGMg/rk6rKeJROqXK9dp+R0Y0xdnEg+pLYb9738PX3fVTuE1IC1r72xE0cZHh5kGjNaoINZlVv9KWdN2EdbacIroM2EqvzC9iaX0PsgDAEqV9LBikHqERl7zikeWaji6Ng30fkz+tmR8B/rKiXlGifvI4FaQb9iQrmtvT1vQ7gCMe1OiPjCPXDNy1w0V1A4KL9f24AHuCEO8L+XdQZ4vLBH/xrIgK8Y2XNnQyMeNef7P6GGNuATrR/LnxDW746dQgHeGZ4VE+QgN/99p+cDh2tZ8cCc82KWvcnVC1F57v0wP3Q9PXVAqQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199021)(186006)(1800799006)(31686004)(6666004)(6486002)(6506007)(478600001)(83380400001)(36756003)(86362001)(31696002)(2906002)(6512007)(26005)(66946007)(4744005)(2616005)(53546011)(38100700002)(316002)(8676002)(66476007)(6916009)(66556008)(4326008)(5660300002)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzEwbHV1Q1IrbzlRazBQUTh0V0xrR2ZuQUZwZVIyajk4T2hwSUpFVE9CZzVY?=
 =?utf-8?B?SUlUaDljU3hWR3ZqL1I0RlBGYlg0NUI1TG5RbmJtYzhZVm12eXRla01uNFRw?=
 =?utf-8?B?eTcrTEJiWXdPc3ZkYXNxTk1aS1d1MlNVU2tXcTNDcGkxWTJtUWRVdUNycXhO?=
 =?utf-8?B?cXZFbWhabWh5dkV3Z1dIL1R1bjA4OWZ0c3Q1SnAxWXlWdHFyYVFHUHM3dlJx?=
 =?utf-8?B?MjExQmNDT3BEU2tmemhYNmFzK2cwK1dHYkxoTm1sT2swN3luZDRLOUFVamww?=
 =?utf-8?B?RkFTZjFnWm5LNGdSblU4Smw0RVIrSjMwdEZWbXlWTDRlekxUSzFhTzBPd01k?=
 =?utf-8?B?VjZxUzhFVlo1TUM0bnpReVR4RnFnY0xZNStOdEpPUUNmWjAzbGMzZUVlTitE?=
 =?utf-8?B?OE1tSnhjS2hrczNxVHZmeVhLSDdCNXZIWmFiMWRxZk02aUQzL25JVkU3QkEx?=
 =?utf-8?B?aThNcVplUmZ5cnE0M2JYV3FyZHJCa2hOUjFJNW9XMEFPU2NTNTUzM1VieFZv?=
 =?utf-8?B?UGxYL1ErNkxSdzg3aVNKQU93T3dhbVJhY2orcE1YN1V1NUZ3ZmwwZG04RzUz?=
 =?utf-8?B?TUpwNVVDZkZMbmsxRjF0QjlNTDd6OEQrcHZKL2VCRkhaZmdldW9udVBGNWdm?=
 =?utf-8?B?RzZNeUNyZzJJdlFtc2FCQ3BZYk52Y2NPZVJ6M2lOR3hWM296OVkvbklBNEox?=
 =?utf-8?B?V3RvSk54ZWxaSHBybUR1aG50K1lFLzBSckhMOUFtaEVOc20zNThySEhrTFlI?=
 =?utf-8?B?UzBGYlhybWV2Y3FKbnpnakFlZ0NKU1pFUWs0QUszeU5IeUJpY3YvNjhzQmFM?=
 =?utf-8?B?OGM0UlNkalNPWS9uQVh1OGN3M0lsRHhoZWpOZm5ObjVxWWs2VENpUTlvbzl2?=
 =?utf-8?B?clJkaWdidGg2SkNaeWtJcE5GUDVDUGxjL1E5Wi82K1Z6eHNIeURQQ1BWbDl4?=
 =?utf-8?B?cGc1eWxtTXEydmkwTjF0QitoU2F2QkVqYkV3dWZvQ1RwKzhZYXRTbWF3VTEw?=
 =?utf-8?B?NGF0cjZnZHA0K0hOZzhtQzF3cWM0WnJmdm8rZFNBVHlxaVI2UHA5aThrZXA2?=
 =?utf-8?B?MVJTdCtIMW51dHlPTzRuYWQydnBWYmlQNklYQjBkMlpJM3B6eGg0WlRkcW03?=
 =?utf-8?B?QVNGa3YyM09jNXBlQkZnRDY5VmFqZ0tSeGRiSzVsREl3aytjUXZ0ekFqUEd3?=
 =?utf-8?B?VlhvMmFzbnE3YzRlRU9MZzU4K09YTDhONjRFU3MzSmlZQ0ZlaEp3MHhoZDIr?=
 =?utf-8?B?blpaTjJiMTJoU2kya0pzSC93Q2dBd1gyWFBIRXRzTjRpeHQreHcvb09mMjJz?=
 =?utf-8?B?MTJMdWN4ZFlWdkt6a3FPanI4SWFwRHplTkNzZVZWaWNiSktEVThFSHpGMlZ0?=
 =?utf-8?B?NTlyeHFXUjR3STlGUE1YZXYzZzJFbVVGTUx1MFVlMkdHV3VXdFFPMjdTVDRm?=
 =?utf-8?B?VGRJd1pEZEdMSHR5bTdSNE9ZLzBTbElNUThPc1Z4Y2tMTFNTMFRFS2kzV1Rk?=
 =?utf-8?B?WExwbmptR25aeFRKRmM2cmlKRmtOQ2JscFFlMjQ2U2ZheHQrWEJOOVFOOWRy?=
 =?utf-8?B?bERVOGk5NExweC9YTmgrWHkzcFNUR01WckVzZjBoK2VhSW8wRzRYVmpQeWM4?=
 =?utf-8?B?bTI4dnFpS1k1RURybks2RE9jYXYxMlpJcDJOakkvVlNZRnQwaTV1cTlBYXBV?=
 =?utf-8?B?YysrVXMrSHd1R2JIUGVaOWdWc3lxU2dhbXJiQVZlQzZqVGVJNzhvZDdNYWtj?=
 =?utf-8?B?YnRSYVI4NVJCei9LMndYRjY5YlBxMUxTMnVsODJUUEoyY2lMSzJ4Yy9sOEtY?=
 =?utf-8?B?ZG9VZzFpZnhCN2JBbGlvSGJybDBmZGROenFjVFhkdmZPcFFWT0dVSDhxVHEz?=
 =?utf-8?B?RXZTYVhvZi8xbmxUalpScG4wK2F0RkdnZDYxV0x4MTMvUTdjd1B6N3lRd2Za?=
 =?utf-8?B?dGh2Q1haVU5NL2RZRm80OTd2WGplTzU0czZTaDBPRktMRzN6NHZrdEp6SkFy?=
 =?utf-8?B?QWxBVjJmM0YzYzlNU1hzZzNjb0pVeXo2NHpwaXVvYmVvK2tBNGM2S0JJVnRM?=
 =?utf-8?B?Q1lrVDEvazZXMmdPSzg1S29ZTjZvYkdVb3JHN1FiQ0drQ3VuV2JKL21ZTTUv?=
 =?utf-8?Q?FM5AjPIkcipypc3yyAXashaWx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 338b6cad-f88c-43d9-ff68-08db9c9a4ab4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:44:29.6320
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yHTH2dkgzmm4XnkqOkq00mG5Aujl+aV8S7QeH/efV8eg6ZBY3kz9UjjrD1TkVoFuA+ophKfjguroWuXW1ckl+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7503

On 11.08.2023 09:19, Nicola Vetrini wrote:
> The function can become static since it's used only within this file.
> This also resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
> of a declaration before the function definition.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X table")

Nit (typo): In the title you mean "vpci/msix", just like this quoted
commit has it. This is important-ish because we also have "vpic"
elsewhere in the tree. (Can certainly be adjusted while committing.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583307.913436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSI9-0001ZP-SP; Mon, 14 Aug 2023 07:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583307.913436; Mon, 14 Aug 2023 07:47: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 1qVSI9-0001ZI-Pl; Mon, 14 Aug 2023 07:47:09 +0000
Received: by outflank-mailman (input) for mailman id 583307;
 Mon, 14 Aug 2023 07:47: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSI8-0001Z5-N7
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7d00::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c401486b-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:47:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7503.eurprd04.prod.outlook.com (2603:10a6:102:f2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 07:47:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 07:47:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c401486b-3a76-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oRWNntG5/P9CuyYdptZUzan6QVnPEez8nMIQ6mvoDhSSkBNNefS28b5O96X1CN4X2ngnqZA+CRnIeI3i9PZ/JaLCBPB+Xg6D86zVet+oIAKyz8ADzhIMpVoD4cUh/hTELxIv/EEkHx4lzZI/jqDzfhz6dmGURdHaWUUY++09kJtTEwi2yahcpEZgSNESY67Ay6OY/YQhqqVAZvPgTmp0VUyRdJrlrR9XbP41fou+38Zr/fiebVYZvC0UuWDabJtoCwYfYYyj6xXSbp9v2TS25RKk3mb4v77JruvEIqWB787gtIpOgPTOYXCYn/kE4ra7uuPnNL/ya0tXrufb9WIzgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Kzc73uKuSH5JXOpxI9il3tZEXdtHLPQsJnaErBBvaI=;
 b=BhsqpGl6qQ9Hf5kUZ/X7Q1Rlv3aQh7J/LBtVK8Nng7bTlMGcEoyvXUMfBQaP8UTRezlJ98Awb6+Bzj6HVkciJXTad+LrRt06fVidYNBKYJ08rK3GYGZTe/AFwfR6UU+A2mqjo0s4I8YeodrW1LRiOIoS3tSClItYuUVPCiIZP5vA2RbVjarFyYsMr9Gwl/NtIlRIxUbQULIn6KnJ8gnEtaMW4lcJS2E/9oj3fAUWFQV1d059rNXYChalNAWaNAnqT7bLZ2qsnZC1hIio6xZk7Lg/1T4mgEgW2pqjuUaWrqJtmJn0wUhavcRlS6X7+GZh/jvAEqPnRxi1ntDSm1f+8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8Kzc73uKuSH5JXOpxI9il3tZEXdtHLPQsJnaErBBvaI=;
 b=4JsqLbPy6QbybRFTltQCJyKOZY8S9EWDzIRc5F1c43mAnfDApfln1IbhxOeogtTYsmfKEeL1ev6DhbBBwpEPs/5O2ezpSEFoj8aQLDgNtzVu/5JOOVnmNtUTRlPPUyLcX1lvd6NQGnylNhtBL1wu5+yj8MPO2EHOHAn1GHoNB575ePF4jRTBbBblMli+TwqpYhH/b63EbSs7KXKTda9knT8BVt/6XuDjRUt/glyLVE1ow7MXyeDGBHzYa05r9iLT3G7Ix3tZxi1gEHGdwlLV88j/XEevPdzzCT3pz/PksBFP7PKbkMcTwz7rZNcgY9XQFOiOUs1qmq9QSp30r1mJng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d021c6a0-6826-351b-1613-82ec9ad85868@suse.com>
Date: Mon, 14 Aug 2023 09:47:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 6/6] drivers/video: make declarations of defined
 functions available
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,
 xen-devel@lists.xenproject.org
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7503:EE_
X-MS-Office365-Filtering-Correlation-Id: 5bfcea1a-8a13-462d-d3da-08db9c9aa713
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f0E9LVKfkEdta4TE1YpUc5RvPOQvsMmKBibTQDuTG34Ss0liHK9HPxxBY4NuBhBgI9xxU1tCja8Z5hCLpGZ/utfs1YTH3MHzCgNLggcUQJBYHWpmW4qdqt0vdf/tMPVH0jxIzOh77DhD6aKh4I8TVUtgkrGnlv8x/dnieffPYMsylIIY0zSLidKrVoVVUl0gEK/3g51Oh8BBGrWvBquC7fZlmv1I8L4eoFhG10NSHgJeS46sSqP8EUns6Vxh3vDmKd5wu4rYoUCOxHs0ipevfevcqqPyOnzIr/bZCn+LSwovPq8b4uxsPp25bDjzr1tWvotFLd4/4hO+gHFapDKVn70eru6ruUE29CdMA/9wBBJVElsaBIAdUIhwtPbB2cKlfWraXnuA/7RDkaYWYFayiX5QbyaJutpIYIj0BoH3CR8fEJKykj5ekh6LUIH2rz15Q3ii85apPi7ptf0SO34hgXPN6Tf7xeLsNxlNcy5ckE+Pnsoiu+ZmWcbnsOT89hDxXoGjuwj0XfyZnBccrmaY+EDvCCcFXpUBMYtzS95kVrz8KgbJ8iUF0UWd8YmRFWw62iXgxTRPKbnXOV031+J4VrhM245Xr36LOFfG0l+0YmaZiPeKnX9R6m0wa0sqGwvLJWC3P601JvEVX67+bjdOTg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199021)(186006)(1800799006)(31686004)(6486002)(6506007)(478600001)(36756003)(86362001)(31696002)(2906002)(6512007)(26005)(66946007)(4744005)(2616005)(53546011)(38100700002)(316002)(8676002)(66476007)(6916009)(66556008)(4326008)(5660300002)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmhKcXBmaHpvR1VieFRLeWhzNTNlNk10NXNKWHN0MzFCbVlScG4rQ0h2V3JV?=
 =?utf-8?B?MTcwOHg4T3pSSEpqc0xodFB4eVNJenJpKzJyVU9FczdvZEE5dk1YSDV3b3g5?=
 =?utf-8?B?WE1ROEV5eFNyclVobTlBc29MZmFLclhkck1KLzdMd3J1QUpSVEdDREh0N29a?=
 =?utf-8?B?Zlk3TncrcGZGaDN5MlRrTDhxdDFCYjhHTkhlRU1NSm1vTXpSY3czMFBMZ1lC?=
 =?utf-8?B?RFVROXVNVk1QZ1NzWVhHaTV5RmNLWkM2aDlKUHJ1OWYzTjIyelhzcWdvVnNp?=
 =?utf-8?B?TlNJeG9Oc0VNWE9oY1p5c0haMDNFT1plb294VUZlS1Ard0FVOFRrR1k0Qjdl?=
 =?utf-8?B?NitzSEdwRUZKbHNEZFVPMnVOQjBrVkpVeXo4QjU1eC9DbzBVcFpGWTlXVVFR?=
 =?utf-8?B?QlRlb29teU1RZkt6aVd0Q2IrM2UvMVE1VjNWUFlPNGJ1N1JEWCt6OUY5NUkz?=
 =?utf-8?B?anBUbVQ5SS9zUEhuM3VGbXJMZTB4RkJCZlNzZi9RZjBCOW5PQ2dPc1o4V1BG?=
 =?utf-8?B?ZGpOZEcrTXlsK01XV0NNQ21YN1pvU0JVaHM1Tm1vRkFxRmYvU0p4ZnBsaysy?=
 =?utf-8?B?aC9LMTNlamYrUFFBazhkS2FoSHlDaGpkdGRRa2Mzd0N6MEpEUzU4RUxzOXVp?=
 =?utf-8?B?SjhmUEY1WWh5UVA5RnY4SDJyVG01Nys2S21SSVhzcFl4a3FSU29HVUhsa0p3?=
 =?utf-8?B?N09Ta3VjWHRVTitjdE9hdDlIS25PamNwdWw0a0N0TXVadVBXV09wd215Zitl?=
 =?utf-8?B?L2JzN2h4RVFDWkxINFRsNkNCQndBbXZoNmFFcnNyOEZEamFPTWJlSzJueEN3?=
 =?utf-8?B?cE9vMDNnVkVxZHY2QmJZNDhvckxKTzRCMzFESmxUVWE0dHdNR1NaWDRRSXdE?=
 =?utf-8?B?dFlENFkwWU43YkEva0RLVC83TUVWMm5WZzNzdW40SlV0dUJEVCtLVUl3UVJs?=
 =?utf-8?B?cUl1enhLRXZDSjczN09Ob0xjandPQ29ZQ3RDY2M5MlR1SzlnbUhtTHBIYlFN?=
 =?utf-8?B?UUs0T2lWRkxNN0VKNy8rQkxvKzVKTThlTGU5dFNJK2hoSjFQVTdzQlJrQzVZ?=
 =?utf-8?B?OGdwK1Ardm5tODZRYllLSVlxM2J0WEdVVWNhYzFrTnNldS9ablQ2SFRKT3Zu?=
 =?utf-8?B?Uzd0eTdXVExvS1lDL29ZclEzMThoQWFYalkrb29SY0JIcUsyaW5VVDZpZmpO?=
 =?utf-8?B?R2dOZHR6SEl1T2FkKzN5Tm1lS1dNTDhmZkhtdE5RVHpoc1pRMEhpWGpxcGhL?=
 =?utf-8?B?eGhEZHBya2g0NytWdEYrNjhkUGN2WGJHcGxubXlheERocnRYUks1Szdnb3VV?=
 =?utf-8?B?emdySlJ4VUFBY21tU0wrYmJpUmxNYmduWU4rcFFHaVN4aFJtRzNxYVNqUWJi?=
 =?utf-8?B?T1EvUGJkUFAxR3VXVUVVUjI0WUtpVmdZcVplSU5iOHFPeWVwMHBzdXpuVXZM?=
 =?utf-8?B?UXNPYWJWL2VybEZIVkNWSCt4bkM0WGlVUzNkV3R6WmJnRWN6dW85WEZXUmZq?=
 =?utf-8?B?eGJjeUdKWG9ibEk4WEZ2V1hKcUVFdmQ4SDIrcmpNUk9yK2RiUTFsMUdFeTcv?=
 =?utf-8?B?WWF4TlVCUUlHM1dnSVVGRlgrc3BvZGJXSkRPNUNnSkFuOWZiMzRhUmJkQzc0?=
 =?utf-8?B?dThnMVFTKzZjaFZnOUcwRWlRa1JUbTNTV2EweU81Z1JiZWl0VFZGdFpQcTZO?=
 =?utf-8?B?Vy9lM0JJOVE5T2RaWWlZa1BVSFRpemg4b3dGREhxUWJMdHdhZnFqOHF3VTJH?=
 =?utf-8?B?cmZtSE92UDhkZE9DMzdtU0hzOVBWeDNvdi9NY2t2SjhnbmI4Q3JSb0dNOXhn?=
 =?utf-8?B?Y2NWRTI0UUUzRi9mZjUyYm90UFFYY0hDKzR0WDJxeTRLV0VBZUVQMFJoUmth?=
 =?utf-8?B?YzJrYlUyNW1LelQxVytlSjNqam5kTElYK1F3NXEwYjkyMkN6WGFFZVM0MUw5?=
 =?utf-8?B?R3NwUytZSFVwSXJCU1BsV0piQThKVHVud0lldXBnTzVVQ1hmOCszOEhrdFdj?=
 =?utf-8?B?QmFGR3N0SDlDSHFtdGVJVWxKVlpJMEtQQzBwb2tSSjlsd1BxT2d5cnpkRE1y?=
 =?utf-8?B?TWxVV0pkZWdXc09HVXpvNHlSdDBHdTBaWE9NWmJqUzRyL3lwZUdVZGpuOUpT?=
 =?utf-8?Q?qf4WtBX03lZY/1H5+eD6WXtm6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bfcea1a-8a13-462d-d3da-08db9c9aa713
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 07:47:04.6862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zSmmMRSgFZ4Z5IixO6s1DeYZZFmu1LQlVaJO6eOmOH/3Hc9SaxuqSQ3LcfroCMZDbbNnFiM4oIqI+grA5DAbtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7503

On 11.08.2023 09:19, Nicola Vetrini wrote:
> --- a/xen/drivers/video/vga.c
> +++ b/xen/drivers/video/vga.c
> @@ -9,6 +9,7 @@
>  #include <xen/mm.h>
>  #include <xen/param.h>
>  #include <xen/vga.h>
> +#include <xen/console.h>

xen/vga.h, which you move the declarations to, is already included here.
Why the need for xen/console.h?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583308.913447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIE-0001ow-3E; Mon, 14 Aug 2023 07:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583308.913447; Mon, 14 Aug 2023 07: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 1qVSIE-0001op-0L; Mon, 14 Aug 2023 07:47:14 +0000
Received: by outflank-mailman (input) for mailman id 583308;
 Mon, 14 Aug 2023 07:47: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIC-0001Z5-Vc
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:12 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6822fa9-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:47:11 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 45FFB21985;
 Mon, 14 Aug 2023 07:47:10 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id ED650138EE;
 Mon, 14 Aug 2023 07:47:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Kt2FOP3b2WSbQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47: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: c6822fa9-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999230; 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=3RsN8HoNcUzlEfb0weiWS8CSZC021emYD0YUNvn1dus=;
	b=QWHgKOBH7lOLmMIS/QlK7i61UJ53fL097cMFG5UMIDW8D+Mw3P5ApJdq0NIhX9qa4rWrUt
	x3cpthDzoNfrft2R3qZJNVJsVGmXDUd0jJGAxkwOwFS6mKHo1TRkdICxZD9JoknVBQ14fm
	qzk0w6sPOCcs02TdfRqwFht3T/Rh7K8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH v4 00/19] tools/xenstore: drop TDB
Date: Mon, 14 Aug 2023 09:46:48 +0200
Message-Id: <20230814074707.27696-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Using TDB for storing the Xenstore nodes is adding more complexity
instead of removing it. With keeping the data in memory only, the main
reason for using TDB has disappeared.

This series is replacing TDB with a hashlist referencing directly
individually allocated Xenstore nodes.

This in turn allows to use references of the stored nodes instead of
copying them in case only read access is needed. Some simple tests
using the test-xenstore utility have shown no single test being slower
with this series applied, but some tests experienced up to 10% better
performance.

Changes in V4:
- addressed comments
- patches 1-7 already applied
- dropped patch 15 of v3
- add patches 18+19

Changes in V3:
- addressed comments
- add patches 14+15
- replace patch 18 of v2 with patches 20-25

Changes in V2:
- addressed comments
- split former patch 9 into 2 patches
- added patches 13-18

Juergen Gross (19):
  tools/xenstore: make hashtable key parameter const
  tools/xenstore: let hashtable_add() fail in case of existing entry
  tools/xenstore: add hashtable_replace() function
  tools/xenstore: drop use of tdb
  tools/xenstore: remove tdb code
  tools/xenstore: let db_delete() return void
  tools/xenstore: change talloc_free() to take a const pointer
  tools/xenstore: move copying of node data out of db_fetch()
  tools/xenstore: rework struct xs_tdb_record_hdr
  tools/xenstore: don't use struct node_perms in struct node
  tools/xenstore: use struct node_hdr in struct node
  tools/xenstore: alloc new memory in domain_adjust_node_perms()
  tools/xenstore: introduce read_node_const()
  tools/xenstore: merge get_spec_node() into get_node_canonicalized()
  tools/xenstore: merge is_valid_nodename() into canonicalize()
  tools/xenstore: rework get_node()
  tools/xenstore: introduce get_node_const()
  tools/config: add XEN_RUN_STORED to config.h
  tools/xenstore: move xenstored sources into dedicated directory

 .gitignore                                    |    2 +-
 MAINTAINERS                                   |    1 +
 configure                                     |    5 +
 m4/paths.m4                                   |    1 +
 stubdom/Makefile                              |    4 +-
 tools/Makefile                                |    1 +
 tools/config.h.in                             |    3 +
 tools/configure                               |    5 +
 tools/libs/store/Makefile                     |    1 -
 tools/xenstore/Makefile                       |   30 +-
 tools/xenstore/Makefile.common                |   31 -
 tools/xenstore/tdb.c                          | 1748 -----------------
 tools/xenstore/tdb.h                          |  132 --
 tools/xenstored/Makefile                      |   48 +
 tools/xenstored/Makefile.common               |   29 +
 tools/{xenstore => xenstored}/README          |    0
 .../control.c}                                |    8 +-
 .../control.h}                                |    0
 .../xenstored_core.c => xenstored/core.c}     |  643 +++---
 .../xenstored_core.h => xenstored/core.h}     |   77 +-
 .../xenstored_domain.c => xenstored/domain.c} |   44 +-
 .../xenstored_domain.h => xenstored/domain.h} |    8 +-
 tools/{xenstore => xenstored}/hashtable.c     |   60 +-
 tools/{xenstore => xenstored}/hashtable.h     |   24 +-
 tools/{xenstore => xenstored}/list.h          |    0
 .../xenstored_lu.c => xenstored/lu.c}         |    8 +-
 .../xenstored_lu.h => xenstored/lu.h}         |    0
 .../lu_daemon.c}                              |    4 +-
 .../lu_minios.c}                              |    2 +-
 .../xenstored_minios.c => xenstored/minios.c} |    2 +-
 .../xenstored_osdep.h => xenstored/osdep.h}   |    0
 .../xenstored_posix.c => xenstored/posix.c}   |    4 +-
 tools/{xenstore => xenstored}/talloc.c        |   10 +-
 tools/{xenstore => xenstored}/talloc.h        |    4 +-
 .../{xenstore => xenstored}/talloc_guide.txt  |    0
 .../transaction.c}                            |   57 +-
 .../transaction.h}                            |    2 +-
 tools/{xenstore => xenstored}/utils.c         |    0
 tools/{xenstore => xenstored}/utils.h         |    9 -
 .../xenstored_watch.c => xenstored/watch.c}   |   45 +-
 .../xenstored_watch.h => xenstored/watch.h}   |    5 +-
 .../include => xenstored}/xenstore_state.h    |    0
 42 files changed, 666 insertions(+), 2391 deletions(-)
 delete mode 100644 tools/xenstore/Makefile.common
 delete mode 100644 tools/xenstore/tdb.c
 delete mode 100644 tools/xenstore/tdb.h
 create mode 100644 tools/xenstored/Makefile
 create mode 100644 tools/xenstored/Makefile.common
 rename tools/{xenstore => xenstored}/README (100%)
 rename tools/{xenstore/xenstored_control.c => xenstored/control.c} (98%)
 rename tools/{xenstore/xenstored_control.h => xenstored/control.h} (100%)
 rename tools/{xenstore/xenstored_core.c => xenstored/core.c} (88%)
 rename tools/{xenstore/xenstored_core.h => xenstored/core.h} (88%)
 rename tools/{xenstore/xenstored_domain.c => xenstored/domain.c} (98%)
 rename tools/{xenstore/xenstored_domain.h => xenstored/domain.h} (95%)
 rename tools/{xenstore => xenstored}/hashtable.c (89%)
 rename tools/{xenstore => xenstored}/hashtable.h (89%)
 rename tools/{xenstore => xenstored}/list.h (100%)
 rename tools/{xenstore/xenstored_lu.c => xenstored/lu.c} (98%)
 rename tools/{xenstore/xenstored_lu.h => xenstored/lu.h} (100%)
 rename tools/{xenstore/xenstored_lu_daemon.c => xenstored/lu_daemon.c} (97%)
 rename tools/{xenstore/xenstored_lu_minios.c => xenstored/lu_minios.c} (98%)
 rename tools/{xenstore/xenstored_minios.c => xenstored/minios.c} (97%)
 rename tools/{xenstore/xenstored_osdep.h => xenstored/osdep.h} (100%)
 rename tools/{xenstore/xenstored_posix.c => xenstored/posix.c} (98%)
 rename tools/{xenstore => xenstored}/talloc.c (99%)
 rename tools/{xenstore => xenstored}/talloc.h (98%)
 rename tools/{xenstore => xenstored}/talloc_guide.txt (100%)
 rename tools/{xenstore/xenstored_transaction.c => xenstored/transaction.c} (93%)
 rename tools/{xenstore/xenstored_transaction.h => xenstored/transaction.h} (98%)
 rename tools/{xenstore => xenstored}/utils.c (100%)
 rename tools/{xenstore => xenstored}/utils.h (89%)
 rename tools/{xenstore/xenstored_watch.c => xenstored/watch.c} (90%)
 rename tools/{xenstore/xenstored_watch.h => xenstored/watch.h} (93%)
 rename tools/{xenstore/include => xenstored}/xenstore_state.h (100%)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583309.913457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIJ-00027n-A8; Mon, 14 Aug 2023 07:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583309.913457; Mon, 14 Aug 2023 07: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 1qVSIJ-00027c-7Z; Mon, 14 Aug 2023 07:47:19 +0000
Received: by outflank-mailman (input) for mailman id 583309;
 Mon, 14 Aug 2023 07:47: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIH-0001Z5-Sf
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9b63dc8-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:47:16 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E11821FD5F;
 Mon, 14 Aug 2023 07:47:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AE949138EE;
 Mon, 14 Aug 2023 07:47:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dYRaKQPc2WSsQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9b63dc8-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999235; 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=b8MyYs+d/vodapG3SQQVXtJwukWs6Vue7w+HaAcL98U=;
	b=UcuJSnElVBp5KhY7S2J2I8H4Blv76OjxSAHI72PwPbt9uDhUPc8jgR0Q/IUqSmGDN88u5s
	3wr6ZbZcP56VTsx0g6kSKiNHsjKTyDK83p2qaoUF4oX8TVPChPTe2uV/HiBjy5swiJD0Du
	TqZG0BeB8/u09H2ez1QRD5QEkTWkkoM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 01/19] tools/xenstore: make hashtable key parameter const
Date: Mon, 14 Aug 2023 09:46:49 +0200
Message-Id: <20230814074707.27696-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The key is never modified by hashtable code, so it should be marked as
const.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- make value const, too.
V4:
- undo V3 change again (Julien Grall)
---
 tools/xenstore/hashtable.c | 5 +++--
 tools/xenstore/hashtable.h | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 11f6bf8f15..9daddd9782 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -11,7 +11,8 @@
 
 struct entry
 {
-    void *k, *v;
+    const void *k;
+    void *v;
     unsigned int h;
     struct entry *next;
 };
@@ -140,7 +141,7 @@ static int hashtable_expand(struct hashtable *h)
     return 0;
 }
 
-int hashtable_add(struct hashtable *h, void *k, void *v)
+int hashtable_add(struct hashtable *h, const void *k, void *v)
 {
     /* This method allows duplicate keys - but they shouldn't be used */
     unsigned int index;
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 5a2cc4a4be..792f6cda7b 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -48,8 +48,8 @@ create_hashtable(const void *ctx, const char *name,
  * If in doubt, remove before insert.
  */
 
-int 
-hashtable_add(struct hashtable *h, void *k, void *v);
+int
+hashtable_add(struct hashtable *h, const void *k, void *v);
 
 /*****************************************************************************
  * hashtable_search
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583311.913467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIN-0002VT-Oh; Mon, 14 Aug 2023 07:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583311.913467; Mon, 14 Aug 2023 07: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 1qVSIN-0002UJ-Kt; Mon, 14 Aug 2023 07:47:23 +0000
Received: by outflank-mailman (input) for mailman id 583311;
 Mon, 14 Aug 2023 07: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIM-0002SK-LY
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd134ec0-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:47:21 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 82B5A21995;
 Mon, 14 Aug 2023 07:47:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4D53F138EE;
 Mon, 14 Aug 2023 07:47:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PKx8EQnc2WSzQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd134ec0-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999241; 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=RQKqAGHpQVtxl80T0GmDl1V7RbEdq0qAK+T/rjrYAOw=;
	b=jGQ9jRTuoUMdJx1K3Nrkk9atNtABz6+43mSPmFBKdIhepZ7+gIVEANJfNdv4ay6Amwwp1E
	4ymuXfl6+uQCwLAoxRgbm5LFtGK32RN9i9yZwEJhNEVSZaRhfaDqNcY68HMbmVMn+CQazc
	lk0+X8aJvjVBIL54tHG2i3n4rvp8wKw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 02/19] tools/xenstore: let hashtable_add() fail in case of existing entry
Date: Mon, 14 Aug 2023 09:46:50 +0200
Message-Id: <20230814074707.27696-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Silently adding another entry with the same key to a hashtable is a
perfect receipt for later failure with hard to diagnose symptoms.

Let hashtable_add() fail in case another entry with the same key is
already existing.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- split off from next patch (Julien Grall)
- fix coding style (Julien Grall)
- use for () loop (Julien Grall)
---
 tools/xenstore/hashtable.c | 40 ++++++++++++++++++++++++++------------
 tools/xenstore/hashtable.h |  6 ------
 2 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 9daddd9782..88e14c4c57 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -141,11 +141,34 @@ static int hashtable_expand(struct hashtable *h)
     return 0;
 }
 
+static struct entry *hashtable_search_entry(const struct hashtable *h,
+                                            const void *k)
+{
+    struct entry *e;
+    unsigned int hashvalue, index;
+
+    hashvalue = hash(h, k);
+    index = indexFor(h->tablelength, hashvalue);
+    e = h->table[index];
+
+    for (e = h->table[index]; e; e = e->next)
+    {
+        /* Check hash value to short circuit heavier comparison */
+        if ((hashvalue == e->h) && (h->eqfn(k, e->k)))
+            return e;
+    }
+
+    return NULL;
+}
+
 int hashtable_add(struct hashtable *h, const void *k, void *v)
 {
-    /* This method allows duplicate keys - but they shouldn't be used */
     unsigned int index;
     struct entry *e;
+
+    if (hashtable_search_entry(h, k))
+        return EEXIST;
+
     if (++(h->entrycount) > h->loadlimit)
     {
         /* Ignore the return value. If expand fails, we should
@@ -176,17 +199,10 @@ int hashtable_add(struct hashtable *h, const void *k, void *v)
 void *hashtable_search(const struct hashtable *h, const void *k)
 {
     struct entry *e;
-    unsigned int hashvalue, index;
-    hashvalue = hash(h,k);
-    index = indexFor(h->tablelength,hashvalue);
-    e = h->table[index];
-    while (NULL != e)
-    {
-        /* Check hash value to short circuit heavier comparison */
-        if ((hashvalue == e->h) && (h->eqfn(k, e->k))) return e->v;
-        e = e->next;
-    }
-    return NULL;
+
+    e = hashtable_search_entry(h, k);
+
+    return e ? e->v : NULL;
 }
 
 void
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 792f6cda7b..e208d439a2 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -40,12 +40,6 @@ create_hashtable(const void *ctx, const char *name,
  *
  * This function will cause the table to expand if the insertion would take
  * the ratio of entries to table size over the maximum load factor.
- *
- * This function does not check for repeated insertions with a duplicate key.
- * The value returned when using a duplicate key is undefined -- when
- * the hashtable changes size, the order of retrieval of duplicate key
- * entries is reversed.
- * If in doubt, remove before insert.
  */
 
 int
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583314.913477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIT-00030R-0h; Mon, 14 Aug 2023 07:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583314.913477; Mon, 14 Aug 2023 07: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 1qVSIS-00030G-Tt; Mon, 14 Aug 2023 07:47:28 +0000
Received: by outflank-mailman (input) for mailman id 583314;
 Mon, 14 Aug 2023 07: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIR-0002SK-Uo
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:27 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d07436ff-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:47:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 31F7E1FD5F;
 Mon, 14 Aug 2023 07:47:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E5714138EE;
 Mon, 14 Aug 2023 07:47:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xRe8Ng7c2WTEQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47: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: d07436ff-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999247; 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=Jynfyk/N8MF4X9UXMkTFs2AGYCP64owVs2VGCLcYIC8=;
	b=BBgyYmbsUP+physe2mR7grb9tcxGeJCgw8nFlo+WhbSIyih5CVOHsuyNZ5PXvH5BKHpE/U
	FZ4TUcIL+fRGr8h4Ryuj4+KYpGgK4kLk8evg2OjJZq9/gLOYfGoMpoUEGQmccGSImIhyGr
	20PMtyS0UlPomcMb7xPhOmGtiq1zZdA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 03/19] tools/xenstore: add hashtable_replace() function
Date: Mon, 14 Aug 2023 09:46:51 +0200
Message-Id: <20230814074707.27696-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For an effective way to replace a hashtable entry add a new function
hashtable_replace().

This is in preparation to replace TDB with a more simple data storage.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
V3:
- fix commit message (Julien Grall)
- move unrelated change to previous patch (Julien Grall)
- make value parameter const
V4:
- remove "const" from value parameter again (Julien Grall)
---
 tools/xenstore/hashtable.c | 19 +++++++++++++++++++
 tools/xenstore/hashtable.h | 16 ++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 88e14c4c57..0c26a09567 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -205,6 +205,25 @@ void *hashtable_search(const struct hashtable *h, const void *k)
     return e ? e->v : NULL;
 }
 
+int hashtable_replace(struct hashtable *h, const void *k, void *v)
+{
+    struct entry *e;
+
+    e = hashtable_search_entry(h, k);
+    if (!e)
+        return ENOENT;
+
+    if (h->flags & HASHTABLE_FREE_VALUE)
+    {
+        talloc_free(e->v);
+        talloc_steal(e, v);
+    }
+
+    e->v = v;
+
+    return 0;
+}
+
 void
 hashtable_remove(struct hashtable *h, const void *k)
 {
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index e208d439a2..336540413b 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -45,6 +45,22 @@ create_hashtable(const void *ctx, const char *name,
 int
 hashtable_add(struct hashtable *h, const void *k, void *v);
 
+/*****************************************************************************
+ * hashtable_replace
+
+ * @name        hashtable_nsert
+ * @param   h   the hashtable to insert into
+ * @param   k   the key - hashtable claims ownership and will free on removal
+ * @param   v   the value - does not claim ownership
+ * @return      zero for successful insertion
+ *
+ * This function does check for an entry being present before replacing it
+ * with a new value.
+ */
+
+int
+hashtable_replace(struct hashtable *h, const void *k, void *v);
+
 /*****************************************************************************
  * hashtable_search
    
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583317.913487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIZ-0003WN-8k; Mon, 14 Aug 2023 07:47:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583317.913487; Mon, 14 Aug 2023 07:47:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIZ-0003WG-5n; Mon, 14 Aug 2023 07:47:35 +0000
Received: by outflank-mailman (input) for mailman id 583317;
 Mon, 14 Aug 2023 07:47: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIX-0002SK-N0
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:33 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3ca2622-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:47:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C3CB91FD64;
 Mon, 14 Aug 2023 07:47:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8A6E0138EE;
 Mon, 14 Aug 2023 07:47:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yvNtIBTc2WTMQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3ca2622-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999252; 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=iJPj6fxVX/1ANrpKiTC2fYwQt+nnWmZwBs+AnRAKC+w=;
	b=l5ft4FIrnBZuqpbsdLtuhPR8US0G8hO9c3xGl00FoEdSGUUDH6zH+bmoRZ7g+I4KIsCazh
	ZCLZPpiDIAn3mdVcD7FRFMXMiLf2rR4oB9pCo4VMvckSaxiBjnawKuuC72eaXfGTDIgxBs
	QJX0uwmfcJ8Z/zSVzX5iIN8jbdil+mY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 04/19] tools/xenstore: drop use of tdb
Date: Mon, 14 Aug 2023 09:46:52 +0200
Message-Id: <20230814074707.27696-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today all Xenstore nodes are stored in a TDB data base. This data base
has several disadvantages:

- It is using a fixed sized hash table, resulting in high memory
  overhead for small installations with only very few VMs, and a rather
  large performance hit for systems with lots of VMs due to many
  collisions.
  The hash table size today is 7919 entries. This means that e.g. in
  case of a simple desktop use case with 2 or 3 VMs probably far less
  than 10% of the entries will be used (assuming roughly 100 nodes per
  VM). OTOH a setup on a large server with 500 VMs would result in
  heavy conflicts in the hash list with 5-10 nodes per hash table entry.

- TDB is using a single large memory area for storing the nodes. It
  only ever increases this area and will never shrink it afterwards.
  This will result in more memory usage than necessary after a peak of
  Xenstore usage.

- Xenstore is only single-threaded, while TDB is designed to be fit
  for multi-threaded use cases, resulting in much higher code
  complexity than needed.

- Special use cases of Xenstore are not possible to implement with TDB
  in an effective way, while an implementation of a data base tailored
  for Xenstore could simplify some handling (e.g. transactions) a lot.

So drop using TDB and store the nodes directly in memory making them
easily accessible. Use a hash-based lookup mechanism for fast lookup
of nodes by their full path.

For now only replace TDB keeping the current access functions.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- add const (Julien Grall)
- use specific pointer type instead of void * (Julien Grall)
- add comment to db_fetch() (Julien Grall)
V3:
- use talloc_memdup() (Julien Grall)
---
 tools/xenstore/xenstored_core.c        | 156 ++++++++++---------------
 tools/xenstore/xenstored_core.h        |   5 +-
 tools/xenstore/xenstored_transaction.c |   1 -
 3 files changed, 62 insertions(+), 100 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index a12ede147c..2b94392fd4 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -53,7 +53,6 @@
 #include "xenstored_domain.h"
 #include "xenstored_control.h"
 #include "xenstored_lu.h"
-#include "tdb.h"
 
 #ifndef NO_SOCKETS
 #if defined(HAVE_SYSTEMD)
@@ -85,7 +84,7 @@ bool keep_orphans = false;
 static int reopen_log_pipe[2];
 static int reopen_log_pipe0_pollfd_idx = -1;
 char *tracefile = NULL;
-static TDB_CONTEXT *tdb_ctx = NULL;
+static struct hashtable *nodes;
 unsigned int trace_flags = TRACE_OBJ | TRACE_IO;
 
 static const char *sockmsg_string(enum xsd_sockmsg_type type);
@@ -556,32 +555,30 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 	}
 }
 
-static void set_tdb_key(const char *name, TDB_DATA *key)
-{
-	/*
-	 * Dropping const is fine here, as the key will never be modified
-	 * by TDB.
-	 */
-	key->dptr = (char *)name;
-	key->dsize = strlen(name);
-}
-
 struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
 {
-	TDB_DATA key, data;
+	const struct xs_tdb_record_hdr *hdr;
+	struct xs_tdb_record_hdr *p;
 
-	set_tdb_key(db_name, &key);
-	data = tdb_fetch(tdb_ctx, key);
-	if (!data.dptr) {
-		errno = (tdb_error(tdb_ctx) == TDB_ERR_NOEXIST) ? ENOENT : EIO;
-		*size = 0;
-	} else {
-		*size = data.dsize;
-		trace_tdb("read %s size %zu\n", db_name,
-			  *size + strlen(db_name));
+	hdr = hashtable_search(nodes, db_name);
+	if (!hdr) {
+		errno = ENOENT;
+		return NULL;
 	}
 
-	return (struct xs_tdb_record_hdr *)data.dptr;
+	*size = sizeof(*hdr) + hdr->num_perms * sizeof(hdr->perms[0]) +
+		hdr->datalen + hdr->childlen;
+
+	/* Return a copy, avoiding a potential modification in the DB. */
+	p = talloc_memdup(NULL, hdr, *size);
+	if (!p) {
+		errno = ENOMEM;
+		return NULL;
+	}
+
+	trace_tdb("read %s size %zu\n", db_name, *size + strlen(db_name));
+
+	return p;
 }
 
 static void get_acc_data(const char *name, struct node_account_data *acc)
@@ -621,12 +618,10 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 	struct xs_tdb_record_hdr *hdr = data;
 	struct node_account_data old_acc = {};
 	unsigned int old_domid, new_domid;
+	size_t name_len = strlen(db_name);
+	const char *name;
 	int ret;
-	TDB_DATA key, dat;
 
-	set_tdb_key(db_name, &key);
-	dat.dptr = data;
-	dat.dsize = size;
 	if (!acc)
 		old_acc.memory = -1;
 	else
@@ -642,29 +637,36 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 	 */
 	if (old_acc.memory)
 		domain_memory_add_nochk(conn, old_domid,
-					-old_acc.memory - key.dsize);
-	ret = domain_memory_add(conn, new_domid, size + key.dsize,
+					-old_acc.memory - name_len);
+	ret = domain_memory_add(conn, new_domid, size + name_len,
 				no_quota_check);
 	if (ret) {
 		/* Error path, so no quota check. */
 		if (old_acc.memory)
 			domain_memory_add_nochk(conn, old_domid,
-						old_acc.memory + key.dsize);
+						old_acc.memory + name_len);
 		return ret;
 	}
 
-	/* TDB should set errno, but doesn't even set ecode AFAICT. */
-	if (tdb_store(tdb_ctx, key, dat,
-		      (mode == NODE_CREATE) ? TDB_INSERT : TDB_MODIFY) != 0) {
-		domain_memory_add_nochk(conn, new_domid, -size - key.dsize);
+	if (mode == NODE_CREATE) {
+		/* db_name could be modified later, so allocate a copy. */
+		name = talloc_strdup(data, db_name);
+		ret = name ? hashtable_add(nodes, name, data) : ENOMEM;
+	} else
+		ret = hashtable_replace(nodes, db_name, data);
+
+	if (ret) {
+		/* Free data, as it isn't owned by hashtable now. */
+		talloc_free(data);
+		domain_memory_add_nochk(conn, new_domid, -size - name_len);
 		/* Error path, so no quota check. */
 		if (old_acc.memory)
 			domain_memory_add_nochk(conn, old_domid,
-						old_acc.memory + key.dsize);
-		errno = EIO;
+						old_acc.memory + name_len);
+		errno = ret;
 		return errno;
 	}
-	trace_tdb("store %s size %zu\n", db_name, size + key.dsize);
+	trace_tdb("store %s size %zu\n", db_name, size + name_len);
 
 	if (acc) {
 		/* Don't use new_domid, as it might be a transaction node. */
@@ -680,9 +682,6 @@ int db_delete(struct connection *conn, const char *name,
 {
 	struct node_account_data tmp_acc;
 	unsigned int domid;
-	TDB_DATA key;
-
-	set_tdb_key(name, &key);
 
 	if (!acc) {
 		acc = &tmp_acc;
@@ -691,15 +690,13 @@ int db_delete(struct connection *conn, const char *name,
 
 	get_acc_data(name, acc);
 
-	if (tdb_delete(tdb_ctx, key)) {
-		errno = EIO;
-		return errno;
-	}
+	hashtable_remove(nodes, name);
 	trace_tdb("delete %s\n", name);
 
 	if (acc->memory) {
 		domid = get_acc_domid(conn, name, acc->domid);
-		domain_memory_add_nochk(conn, domid, -acc->memory - key.dsize);
+		domain_memory_add_nochk(conn, domid,
+					-acc->memory - strlen(name));
 	}
 
 	return 0;
@@ -2354,43 +2351,29 @@ static void manual_node(const char *name, const char *child)
 	talloc_free(node);
 }
 
-static void tdb_logger(TDB_CONTEXT *tdb, int level, const char * fmt, ...)
+static unsigned int hash_from_key_fn(const void *k)
 {
-	va_list ap;
-	char *s;
-	int saved_errno = errno;
+	const char *str = k;
+	unsigned int hash = 5381;
+	char c;
 
-	va_start(ap, fmt);
-	s = talloc_vasprintf(NULL, fmt, ap);
-	va_end(ap);
+	while ((c = *str++))
+		hash = ((hash << 5) + hash) + (unsigned int)c;
 
-	if (s) {
-		trace("TDB: %s\n", s);
-		syslog(LOG_ERR, "TDB: %s",  s);
-		if (verbose)
-			xprintf("TDB: %s", s);
-		talloc_free(s);
-	} else {
-		trace("talloc failure during logging\n");
-		syslog(LOG_ERR, "talloc failure during logging\n");
-	}
+	return hash;
+}
 
-	errno = saved_errno;
+static int keys_equal_fn(const void *key1, const void *key2)
+{
+	return 0 == strcmp(key1, key2);
 }
 
 void setup_structure(bool live_update)
 {
-	char *tdbname;
-
-	tdbname = talloc_strdup(talloc_autofree_context(), "/dev/mem");
-	if (!tdbname)
-		barf_perror("Could not create tdbname");
-
-	tdb_ctx = tdb_open_ex(tdbname, 7919, TDB_INTERNAL | TDB_NOLOCK,
-			      O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC,
-			      0640, &tdb_logger, NULL);
-	if (!tdb_ctx)
-		barf_perror("Could not create tdb file %s", tdbname);
+	nodes = create_hashtable(NULL, "nodes", hash_from_key_fn, keys_equal_fn,
+				 HASHTABLE_FREE_KEY | HASHTABLE_FREE_VALUE);
+	if (!nodes)
+		barf_perror("Could not create nodes hashtable");
 
 	if (live_update)
 		manual_node("/", NULL);
@@ -2404,24 +2387,6 @@ void setup_structure(bool live_update)
 	}
 }
 
-static unsigned int hash_from_key_fn(const void *k)
-{
-	const char *str = k;
-	unsigned int hash = 5381;
-	char c;
-
-	while ((c = *str++))
-		hash = ((hash << 5) + hash) + (unsigned int)c;
-
-	return hash;
-}
-
-
-static int keys_equal_fn(const void *key1, const void *key2)
-{
-	return 0 == strcmp(key1, key2);
-}
-
 int remember_string(struct hashtable *hash, const char *str)
 {
 	char *k = talloc_strdup(NULL, str);
@@ -2481,12 +2446,11 @@ static int check_store_enoent(const void *ctx, struct connection *conn,
 /**
  * Helper to clean_store below.
  */
-static int clean_store_(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA val,
-			void *private)
+static int clean_store_(const void *key, void *val, void *private)
 {
 	struct hashtable *reachable = private;
 	char *slash;
-	char * name = talloc_strndup(NULL, key.dptr, key.dsize);
+	char *name = talloc_strdup(NULL, key);
 
 	if (!name) {
 		log("clean_store: ENOMEM");
@@ -2516,7 +2480,7 @@ static int clean_store_(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA val,
  */
 static void clean_store(struct check_store_data *data)
 {
-	tdb_traverse(tdb_ctx, &clean_store_, data->reachable);
+	hashtable_iterate(nodes, clean_store_, data->reachable);
 	domain_check_acc(data->domains);
 }
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index f5aa8d51a0..ce40c61f44 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -33,7 +33,6 @@
 #include "xenstore_lib.h"
 #include "xenstore_state.h"
 #include "list.h"
-#include "tdb.h"
 #include "hashtable.h"
 
 #ifndef O_CLOEXEC
@@ -237,7 +236,7 @@ static inline unsigned int get_node_owner(const struct node *node)
 	return node->perms.p[0].id;
 }
 
-/* Write a node to the tdb data base. */
+/* Write a node to the data base. */
 enum write_node_mode {
 	NODE_CREATE,
 	NODE_MODIFY
@@ -247,7 +246,7 @@ int write_node_raw(struct connection *conn, const char *db_name,
 		   struct node *node, enum write_node_mode mode,
 		   bool no_quota_check);
 
-/* Get a node from the tdb data base. */
+/* Get a node from the data base. */
 struct node *read_node(struct connection *conn, const void *ctx,
 		       const char *name);
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 1981d1d55d..378fe79763 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -397,7 +397,6 @@ static int finalize_transaction(struct connection *conn,
 				       ? NODE_CREATE : NODE_MODIFY;
 				*is_corrupt |= db_write(conn, i->node, hdr,
 							size, NULL, mode, true);
-				talloc_free(hdr);
 				if (db_delete(conn, i->trans_name, NULL))
 					*is_corrupt = true;
 			} else {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583323.913497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIi-0004FN-ID; Mon, 14 Aug 2023 07:47:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583323.913497; Mon, 14 Aug 2023 07:47:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIi-0004FD-EA; Mon, 14 Aug 2023 07:47:44 +0000
Received: by outflank-mailman (input) for mailman id 583323;
 Mon, 14 Aug 2023 07:47:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIg-0001Z5-QP
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d728b014-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:47:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 73B9A2195D;
 Mon, 14 Aug 2023 07:47:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 34675138EE;
 Mon, 14 Aug 2023 07:47:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bI5gCxrc2WTZQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d728b014-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999258; 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=f8c0WZkiA2sRwo/5ZKpm9mv0MPjHkD48eHCwmRexE5o=;
	b=gfjHWrBip8yvLzWE5HzIxnlA1DlGeXloD0DDhio23+NoUgDtqj/uHFlONeSR6w4HjJeWHQ
	LS8ZzYdFwre5vSvK+8wHRSn4nlvmRumsnHmpfpVsh2w7Vh2pI58Fd8hTh4pME9hhftR6cv
	X3fQCcYf3c3UKlGOUVSHKPsKB1/n4kU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 05/19] tools/xenstore: remove tdb code
Date: Mon, 14 Aug 2023 09:46:53 +0200
Message-Id: <20230814074707.27696-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now that TDB isn't used anymore, remove it.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/Makefile.common |    2 +-
 tools/xenstore/tdb.c           | 1748 --------------------------------
 tools/xenstore/tdb.h           |  132 ---
 3 files changed, 1 insertion(+), 1881 deletions(-)
 delete mode 100644 tools/xenstore/tdb.c
 delete mode 100644 tools/xenstore/tdb.h

diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index 657a16849e..3259ab51e6 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -2,7 +2,7 @@
 
 XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
 XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
-XENSTORED_OBJS-y += talloc.o utils.o tdb.o hashtable.o
+XENSTORED_OBJS-y += talloc.o utils.o hashtable.o
 
 XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
 XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
diff --git a/tools/xenstore/tdb.c b/tools/xenstore/tdb.c
deleted file mode 100644
index 29593b76c3..0000000000
--- a/tools/xenstore/tdb.c
+++ /dev/null
@@ -1,1748 +0,0 @@
- /* 
-   Unix SMB/CIFS implementation.
-
-   trivial database library
-
-   Copyright (C) Andrew Tridgell              1999-2004
-   Copyright (C) Paul `Rusty' Russell		   2000
-   Copyright (C) Jeremy Allison			   2000-2003
-   
-     ** NOTE! The following LGPL license applies to the tdb
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#ifndef _SAMBA_BUILD_
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include "tdb.h"
-#include <stdarg.h>
-#include "talloc.h"
-#undef HAVE_MMAP
-#else
-#include "includes.h"
-#include "lib/tdb/include/tdb.h"
-#include "system/time.h"
-#include "system/shmem.h"
-#include "system/filesys.h"
-#endif
-
-#define TDB_MAGIC_FOOD "TDB file\n"
-#define TDB_VERSION (0x26011967 + 7)
-#define TDB_MAGIC (0x26011999U)
-#define TDB_FREE_MAGIC (~TDB_MAGIC)
-#define TDB_DEAD_MAGIC (0xFEE1DEAD)
-#define TDB_ALIGNMENT 4
-#define MIN_REC_SIZE (2*sizeof(struct list_struct) + TDB_ALIGNMENT)
-#define DEFAULT_HASH_SIZE 131
-#define TDB_PAGE_SIZE 0x2000
-#define FREELIST_TOP (sizeof(struct tdb_header))
-#define TDB_ALIGN(x,a) (((x) + (a)-1) & ~((a)-1))
-#define TDB_BYTEREV(x) (((((x)&0xff)<<24)|((x)&0xFF00)<<8)|(((x)>>8)&0xFF00)|((x)>>24))
-#define TDB_DEAD(r) ((r)->magic == TDB_DEAD_MAGIC)
-#define TDB_BAD_MAGIC(r) ((r)->magic != TDB_MAGIC && !TDB_DEAD(r))
-#define TDB_HASH_TOP(hash) (FREELIST_TOP + (BUCKET(hash)+1)*sizeof(tdb_off))
-#define TDB_DATA_START(hash_size) (TDB_HASH_TOP(hash_size-1))
-
-
-/* NB assumes there is a local variable called "tdb" that is the
- * current context, also takes doubly-parenthesized print-style
- * argument. */
-#define TDB_LOG(x) tdb->log_fn x
-
-/* lock offsets */
-#define GLOBAL_LOCK 0
-#define ACTIVE_LOCK 4
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-
-#ifndef discard_const_p
-# if defined(__intptr_t_defined) || defined(HAVE_INTPTR_T)
-#  define discard_const(ptr) ((void *)((intptr_t)(ptr)))
-# else
-#  define discard_const(ptr) ((void *)(ptr))
-# endif
-# define discard_const_p(type, ptr) ((type *)discard_const(ptr))
-#endif
-
-/* free memory if the pointer is valid and zero the pointer */
-#ifndef SAFE_FREE
-#define SAFE_FREE(x) do { if ((x) != NULL) {talloc_free(discard_const_p(void *, (x))); (x)=NULL;} } while(0)
-#endif
-
-#define BUCKET(hash) ((hash) % tdb->header.hash_size)
-static TDB_DATA tdb_null;
-
-/* all contexts, to ensure no double-opens (fcntl locks don't nest!) */
-static TDB_CONTEXT *tdbs = NULL;
-
-static int tdb_munmap(TDB_CONTEXT *tdb)
-{
-	if (tdb->flags & TDB_INTERNAL)
-		return 0;
-
-#ifdef HAVE_MMAP
-	if (tdb->map_ptr) {
-		int ret = munmap(tdb->map_ptr, tdb->map_size);
-		if (ret != 0)
-			return ret;
-	}
-#endif
-	tdb->map_ptr = NULL;
-	return 0;
-}
-
-static void tdb_mmap(TDB_CONTEXT *tdb)
-{
-	if (tdb->flags & TDB_INTERNAL)
-		return;
-
-#ifdef HAVE_MMAP
-	if (!(tdb->flags & TDB_NOMMAP)) {
-		tdb->map_ptr = mmap(NULL, tdb->map_size, 
-				    PROT_READ|(tdb->read_only? 0:PROT_WRITE), 
-				    MAP_SHARED|MAP_FILE, tdb->fd, 0);
-
-		/*
-		 * NB. When mmap fails it returns MAP_FAILED *NOT* NULL !!!!
-		 */
-
-		if (tdb->map_ptr == MAP_FAILED) {
-			tdb->map_ptr = NULL;
-			TDB_LOG((tdb, 2, "tdb_mmap failed for size %d (%s)\n", 
-				 tdb->map_size, strerror(errno)));
-		}
-	} else {
-		tdb->map_ptr = NULL;
-	}
-#else
-	tdb->map_ptr = NULL;
-#endif
-}
-
-/* Endian conversion: we only ever deal with 4 byte quantities */
-static void *convert(void *buf, uint32_t size)
-{
-	uint32_t i, *p = buf;
-	for (i = 0; i < size / 4; i++)
-		p[i] = TDB_BYTEREV(p[i]);
-	return buf;
-}
-#define DOCONV() (tdb->flags & TDB_CONVERT)
-#define CONVERT(x) (DOCONV() ? convert(&x, sizeof(x)) : &x)
-
-/* the body of the database is made of one list_struct for the free space
-   plus a separate data list for each hash value */
-struct list_struct {
-	tdb_off next; /* offset of the next record in the list */
-	tdb_len rec_len; /* total byte length of record */
-	tdb_len key_len; /* byte length of key */
-	tdb_len data_len; /* byte length of data */
-	uint32_t full_hash; /* the full 32 bit hash of the key */
-	uint32_t magic;   /* try to catch errors */
-	/* the following union is implied:
-		union {
-			char record[rec_len];
-			struct {
-				char key[key_len];
-				char data[data_len];
-			}
-			uint32_t totalsize; (tailer)
-		}
-	*/
-};
-
-/* a byte range locking function - return 0 on success
-   this functions locks/unlocks 1 byte at the specified offset.
-
-   On error, errno is also set so that errors are passed back properly
-   through tdb_open(). */
-static int tdb_brlock(TDB_CONTEXT *tdb, tdb_off offset, 
-		      int rw_type, int lck_type, int probe)
-{
-	struct flock fl;
-	int ret;
-
-	if (tdb->flags & TDB_NOLOCK)
-		return 0;
-	if ((rw_type == F_WRLCK) && (tdb->read_only)) {
-		errno = EACCES;
-		return -1;
-	}
-
-	fl.l_type = rw_type;
-	fl.l_whence = SEEK_SET;
-	fl.l_start = offset;
-	fl.l_len = 1;
-	fl.l_pid = 0;
-
-	do {
-		ret = fcntl(tdb->fd,lck_type,&fl);
-	} while (ret == -1 && errno == EINTR);
-
-	if (ret == -1) {
-		if (!probe && lck_type != F_SETLK) {
-			/* Ensure error code is set for log fun to examine. */
-			tdb->ecode = TDB_ERR_LOCK;
-			TDB_LOG((tdb, 5,"tdb_brlock failed (fd=%d) at offset %d rw_type=%d lck_type=%d\n", 
-				 tdb->fd, offset, rw_type, lck_type));
-		}
-		/* Generic lock error. errno set by fcntl.
-		 * EAGAIN is an expected return from non-blocking
-		 * locks. */
-		if (errno != EAGAIN) {
-		TDB_LOG((tdb, 5, "tdb_brlock failed (fd=%d) at offset %d rw_type=%d lck_type=%d: %s\n", 
-				 tdb->fd, offset, rw_type, lck_type, 
-				 strerror(errno)));
-		}
-		return TDB_ERRCODE(TDB_ERR_LOCK, -1);
-	}
-	return 0;
-}
-
-/* lock a list in the database. list -1 is the alloc list */
-static int tdb_lock(TDB_CONTEXT *tdb, int list, int ltype)
-{
-	if (list < -1 || list >= (int)tdb->header.hash_size) {
-		TDB_LOG((tdb, 0,"tdb_lock: invalid list %d for ltype=%d\n", 
-			   list, ltype));
-		return -1;
-	}
-	if (tdb->flags & TDB_NOLOCK)
-		return 0;
-
-	/* Since fcntl locks don't nest, we do a lock for the first one,
-	   and simply bump the count for future ones */
-	if (tdb->locked[list+1].count == 0) {
-		if (tdb_brlock(tdb,FREELIST_TOP+4*list,ltype,F_SETLKW, 0)) {
-			TDB_LOG((tdb, 0,"tdb_lock failed on list %d ltype=%d (%s)\n", 
-					   list, ltype, strerror(errno)));
-			return -1;
-		}
-		tdb->locked[list+1].ltype = ltype;
-	}
-	tdb->locked[list+1].count++;
-	return 0;
-}
-
-/* unlock the database: returns void because it's too late for errors. */
-	/* changed to return int it may be interesting to know there
-	   has been an error  --simo */
-static int tdb_unlock(TDB_CONTEXT *tdb, int list,
-		      int ltype __attribute__((unused)))
-{
-	int ret = -1;
-
-	if (tdb->flags & TDB_NOLOCK)
-		return 0;
-
-	/* Sanity checks */
-	if (list < -1 || list >= (int)tdb->header.hash_size) {
-		TDB_LOG((tdb, 0, "tdb_unlock: list %d invalid (%d)\n", list, tdb->header.hash_size));
-		return ret;
-	}
-
-	if (tdb->locked[list+1].count==0) {
-		TDB_LOG((tdb, 0, "tdb_unlock: count is 0\n"));
-		return ret;
-	}
-
-	if (tdb->locked[list+1].count == 1) {
-		/* Down to last nested lock: unlock underneath */
-		ret = tdb_brlock(tdb, FREELIST_TOP+4*list, F_UNLCK, F_SETLKW, 0);
-	} else {
-		ret = 0;
-	}
-	tdb->locked[list+1].count--;
-
-	if (ret)
-		TDB_LOG((tdb, 0,"tdb_unlock: An error occurred unlocking!\n")); 
-	return ret;
-}
-
-/* This is based on the hash algorithm from gdbm */
-static uint32_t default_tdb_hash(TDB_DATA *key)
-{
-	uint32_t value;	/* Used to compute the hash value.  */
-	uint32_t   i;	/* Used to cycle through random values. */
-
-	/* Set the initial value from the key size. */
-	for (value = 0x238F13AF * key->dsize, i=0; i < key->dsize; i++)
-		value = (value + (key->dptr[i] << (i*5 % 24)));
-
-	return (1103515243 * value + 12345);  
-}
-
-/* check for an out of bounds access - if it is out of bounds then
-   see if the database has been expanded by someone else and expand
-   if necessary 
-   note that "len" is the minimum length needed for the db
-*/
-static int tdb_oob(TDB_CONTEXT *tdb, tdb_off len, int probe)
-{
-	struct stat st;
-	if (len <= tdb->map_size)
-		return 0;
-	if (tdb->flags & TDB_INTERNAL) {
-		if (!probe) {
-			/* Ensure ecode is set for log fn. */
-			tdb->ecode = TDB_ERR_IO;
-			TDB_LOG((tdb, 0,"tdb_oob len %d beyond internal malloc size %d\n",
-				 (int)len, (int)tdb->map_size));
-		}
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-	}
-
-	if (fstat(tdb->fd, &st) == -1)
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-
-	if (st.st_size < (off_t)len) {
-		if (!probe) {
-			/* Ensure ecode is set for log fn. */
-			tdb->ecode = TDB_ERR_IO;
-			TDB_LOG((tdb, 0,"tdb_oob len %d beyond eof at %d\n",
-				 (int)len, (int)st.st_size));
-		}
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-	}
-
-	/* Unmap, update size, remap */
-	if (tdb_munmap(tdb) == -1)
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-	tdb->map_size = st.st_size;
-	tdb_mmap(tdb);
-	return 0;
-}
-
-/* write a lump of data at a specified offset */
-static int tdb_write(TDB_CONTEXT *tdb, tdb_off off, void *buf, tdb_len len)
-{
-	if (tdb_oob(tdb, off + len, 0) != 0)
-		return -1;
-
-	if (tdb->map_ptr)
-		memcpy(off + (char *)tdb->map_ptr, buf, len);
-#ifdef HAVE_PWRITE
-	else if (pwrite(tdb->fd, buf, len, off) != (ssize_t)len) {
-#else
-	else if (lseek(tdb->fd, off, SEEK_SET) != (off_t)off
-		 || write(tdb->fd, buf, len) != (off_t)len) {
-#endif
-		/* Ensure ecode is set for log fn. */
-		tdb->ecode = TDB_ERR_IO;
-		TDB_LOG((tdb, 0,"tdb_write failed at %d len=%d (%s)\n",
-			   off, len, strerror(errno)));
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-	}
-	return 0;
-}
-
-/* read a lump of data at a specified offset, maybe convert */
-static int tdb_read(TDB_CONTEXT *tdb,tdb_off off,void *buf,tdb_len len,int cv)
-{
-	if (tdb_oob(tdb, off + len, 0) != 0)
-		return -1;
-
-	if (tdb->map_ptr)
-		memcpy(buf, off + (char *)tdb->map_ptr, len);
-#ifdef HAVE_PREAD
-	else if (pread(tdb->fd, buf, len, off) != (off_t)len) {
-#else
-	else if (lseek(tdb->fd, off, SEEK_SET) != (off_t)off
-		 || read(tdb->fd, buf, len) != (off_t)len) {
-#endif
-		/* Ensure ecode is set for log fn. */
-		tdb->ecode = TDB_ERR_IO;
-		TDB_LOG((tdb, 0,"tdb_read failed at %d len=%d (%s)\n",
-			   off, len, strerror(errno)));
-		return TDB_ERRCODE(TDB_ERR_IO, -1);
-	}
-	if (cv)
-		convert(buf, len);
-	return 0;
-}
-
-/* don't allocate memory: used in tdb_delete path. */
-static int tdb_key_eq(TDB_CONTEXT *tdb, tdb_off off, TDB_DATA key)
-{
-	char buf[64];
-	uint32_t len;
-
-	if (tdb_oob(tdb, off + key.dsize, 0) != 0)
-		return -1;
-
-	if (tdb->map_ptr)
-		return !memcmp(off + (char*)tdb->map_ptr, key.dptr, key.dsize);
-
-	while (key.dsize) {
-		len = key.dsize;
-		if (len > sizeof(buf))
-			len = sizeof(buf);
-		if (tdb_read(tdb, off, buf, len, 0) != 0)
-			return -1;
-		if (memcmp(buf, key.dptr, len) != 0)
-			return 0;
-		key.dptr += len;
-		key.dsize -= len;
-		off += len;
-	}
-	return 1;
-}
-
-/* read a lump of data, allocating the space for it */
-static char *tdb_alloc_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_len len)
-{
-	char *buf;
-
-	if (!(buf = talloc_size(tdb, len))) {
-		/* Ensure ecode is set for log fn. */
-		tdb->ecode = TDB_ERR_OOM;
-		TDB_LOG((tdb, 0,"tdb_alloc_read malloc failed len=%d (%s)\n",
-			   len, strerror(errno)));
-		return TDB_ERRCODE(TDB_ERR_OOM, buf);
-	}
-	if (tdb_read(tdb, offset, buf, len, 0) == -1) {
-		SAFE_FREE(buf);
-		return NULL;
-	}
-	return buf;
-}
-
-/* read/write a tdb_off */
-static int ofs_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
-	return tdb_read(tdb, offset, (char*)d, sizeof(*d), DOCONV());
-}
-static int ofs_write(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
-	tdb_off off = *d;
-	return tdb_write(tdb, offset, CONVERT(off), sizeof(*d));
-}
-
-/* read/write a record */
-static int rec_read(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
-	if (tdb_read(tdb, offset, rec, sizeof(*rec),DOCONV()) == -1)
-		return -1;
-	if (TDB_BAD_MAGIC(rec)) {
-		/* Ensure ecode is set for log fn. */
-		tdb->ecode = TDB_ERR_CORRUPT;
-		TDB_LOG((tdb, 0,"rec_read bad magic 0x%x at offset=%d\n", rec->magic, offset));
-		return TDB_ERRCODE(TDB_ERR_CORRUPT, -1);
-	}
-	return tdb_oob(tdb, rec->next+sizeof(*rec), 0);
-}
-static int rec_write(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
-	struct list_struct r = *rec;
-	return tdb_write(tdb, offset, CONVERT(r), sizeof(r));
-}
-
-/* read a freelist record and check for simple errors */
-static int rec_free_read(TDB_CONTEXT *tdb, tdb_off off, struct list_struct *rec)
-{
-	if (tdb_read(tdb, off, rec, sizeof(*rec),DOCONV()) == -1)
-		return -1;
-
-	if (rec->magic == TDB_MAGIC) {
-		/* this happens when a app is showdown while deleting a record - we should
-		   not completely fail when this happens */
-		TDB_LOG((tdb, 0,"rec_free_read non-free magic 0x%x at offset=%d - fixing\n", 
-			 rec->magic, off));
-		rec->magic = TDB_FREE_MAGIC;
-		if (tdb_write(tdb, off, rec, sizeof(*rec)) == -1)
-			return -1;
-	}
-
-	if (rec->magic != TDB_FREE_MAGIC) {
-		/* Ensure ecode is set for log fn. */
-		tdb->ecode = TDB_ERR_CORRUPT;
-		TDB_LOG((tdb, 0,"rec_free_read bad magic 0x%x at offset=%d\n", 
-			   rec->magic, off));
-		return TDB_ERRCODE(TDB_ERR_CORRUPT, -1);
-	}
-	if (tdb_oob(tdb, rec->next+sizeof(*rec), 0) != 0)
-		return -1;
-	return 0;
-}
-
-/* update a record tailer (must hold allocation lock) */
-static int update_tailer(TDB_CONTEXT *tdb, tdb_off offset,
-			 const struct list_struct *rec)
-{
-	tdb_off totalsize;
-
-	/* Offset of tailer from record header */
-	totalsize = sizeof(*rec) + rec->rec_len;
-	return ofs_write(tdb, offset + totalsize - sizeof(tdb_off),
-			 &totalsize);
-}
-
-/* Remove an element from the freelist.  Must have alloc lock. */
-static int remove_from_freelist(TDB_CONTEXT *tdb, tdb_off off, tdb_off next)
-{
-	tdb_off last_ptr, i;
-
-	/* read in the freelist top */
-	last_ptr = FREELIST_TOP;
-	while (ofs_read(tdb, last_ptr, &i) != -1 && i != 0) {
-		if (i == off) {
-			/* We've found it! */
-			return ofs_write(tdb, last_ptr, &next);
-		}
-		/* Follow chain (next offset is at start of record) */
-		last_ptr = i;
-	}
-	TDB_LOG((tdb, 0,"remove_from_freelist: not on list at off=%d\n", off));
-	return TDB_ERRCODE(TDB_ERR_CORRUPT, -1);
-}
-
-/* Add an element into the freelist. Merge adjacent records if
-   neccessary. */
-static int tdb_free(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
-	tdb_off right, left;
-
-	/* Allocation and tailer lock */
-	if (tdb_lock(tdb, -1, F_WRLCK) != 0)
-		return -1;
-
-	/* set an initial tailer, so if we fail we don't leave a bogus record */
-	if (update_tailer(tdb, offset, rec) != 0) {
-		TDB_LOG((tdb, 0, "tdb_free: upfate_tailer failed!\n"));
-		goto fail;
-	}
-
-	/* Look right first (I'm an Australian, dammit) */
-	right = offset + sizeof(*rec) + rec->rec_len;
-	if (right + sizeof(*rec) <= tdb->map_size) {
-		struct list_struct r;
-
-		if (tdb_read(tdb, right, &r, sizeof(r), DOCONV()) == -1) {
-			TDB_LOG((tdb, 0, "tdb_free: right read failed at %u\n", right));
-			goto left;
-		}
-
-		/* If it's free, expand to include it. */
-		if (r.magic == TDB_FREE_MAGIC) {
-			if (remove_from_freelist(tdb, right, r.next) == -1) {
-				TDB_LOG((tdb, 0, "tdb_free: right free failed at %u\n", right));
-				goto left;
-			}
-			rec->rec_len += sizeof(r) + r.rec_len;
-		}
-	}
-
-left:
-	/* Look left */
-	left = offset - sizeof(tdb_off);
-	if (left > TDB_DATA_START(tdb->header.hash_size)) {
-		struct list_struct l;
-		tdb_off leftsize;
-		
-		/* Read in tailer and jump back to header */
-		if (ofs_read(tdb, left, &leftsize) == -1) {
-			TDB_LOG((tdb, 0, "tdb_free: left offset read failed at %u\n", left));
-			goto update;
-		}
-		left = offset - leftsize;
-
-		/* Now read in record */
-		if (tdb_read(tdb, left, &l, sizeof(l), DOCONV()) == -1) {
-			TDB_LOG((tdb, 0, "tdb_free: left read failed at %u (%u)\n", left, leftsize));
-			goto update;
-		}
-
-		/* If it's free, expand to include it. */
-		if (l.magic == TDB_FREE_MAGIC) {
-			if (remove_from_freelist(tdb, left, l.next) == -1) {
-				TDB_LOG((tdb, 0, "tdb_free: left free failed at %u\n", left));
-				goto update;
-			} else {
-				offset = left;
-				rec->rec_len += leftsize;
-			}
-		}
-	}
-
-update:
-	if (update_tailer(tdb, offset, rec) == -1) {
-		TDB_LOG((tdb, 0, "tdb_free: update_tailer failed at %u\n", offset));
-		goto fail;
-	}
-
-	/* Now, prepend to free list */
-	rec->magic = TDB_FREE_MAGIC;
-
-	if (ofs_read(tdb, FREELIST_TOP, &rec->next) == -1 ||
-	    rec_write(tdb, offset, rec) == -1 ||
-	    ofs_write(tdb, FREELIST_TOP, &offset) == -1) {
-		TDB_LOG((tdb, 0, "tdb_free record write failed at offset=%d\n", offset));
-		goto fail;
-	}
-
-	/* And we're done. */
-	tdb_unlock(tdb, -1, F_WRLCK);
-	return 0;
-
- fail:
-	tdb_unlock(tdb, -1, F_WRLCK);
-	return -1;
-}
-
-
-/* expand a file.  we prefer to use ftruncate, as that is what posix
-  says to use for mmap expansion */
-static int expand_file(TDB_CONTEXT *tdb, tdb_off size, tdb_off addition)
-{
-	char buf[1024];
-#ifdef HAVE_FTRUNCATE_EXTEND
-	if (ftruncate(tdb->fd, size+addition) != 0) {
-		TDB_LOG((tdb, 0, "expand_file ftruncate to %d failed (%s)\n", 
-			   size+addition, strerror(errno)));
-		return -1;
-	}
-#else
-	char b = 0;
-
-#ifdef HAVE_PWRITE
-	if (pwrite(tdb->fd,  &b, 1, (size+addition) - 1) != 1) {
-#else
-	if (lseek(tdb->fd, (size+addition) - 1, SEEK_SET) != (off_t)(size+addition) - 1 || 
-	    write(tdb->fd, &b, 1) != 1) {
-#endif
-		TDB_LOG((tdb, 0, "expand_file to %d failed (%s)\n", 
-			   size+addition, strerror(errno)));
-		return -1;
-	}
-#endif
-
-	/* now fill the file with something. This ensures that the file isn't sparse, which would be
-	   very bad if we ran out of disk. This must be done with write, not via mmap */
-	memset(buf, 0x42, sizeof(buf));
-	while (addition) {
-		int n = addition>sizeof(buf)?sizeof(buf):addition;
-#ifdef HAVE_PWRITE
-		int ret = pwrite(tdb->fd, buf, n, size);
-#else
-		int ret;
-		if (lseek(tdb->fd, size, SEEK_SET) != (off_t)size)
-			return -1;
-		ret = write(tdb->fd, buf, n);
-#endif
-		if (ret != n) {
-			TDB_LOG((tdb, 0, "expand_file write of %d failed (%s)\n", 
-				   n, strerror(errno)));
-			return -1;
-		}
-		addition -= n;
-		size += n;
-	}
-	return 0;
-}
-
-
-/* expand the database at least size bytes by expanding the underlying
-   file and doing the mmap again if necessary */
-static int tdb_expand(TDB_CONTEXT *tdb, tdb_off size)
-{
-	struct list_struct rec;
-	tdb_off offset;
-
-	if (tdb_lock(tdb, -1, F_WRLCK) == -1) {
-		TDB_LOG((tdb, 0, "lock failed in tdb_expand\n"));
-		return -1;
-	}
-
-	/* must know about any previous expansions by another process */
-	tdb_oob(tdb, tdb->map_size + 1, 1);
-
-	/* always make room for at least 10 more records, and round
-           the database up to a multiple of TDB_PAGE_SIZE */
-	size = TDB_ALIGN(tdb->map_size + size*10, TDB_PAGE_SIZE) - tdb->map_size;
-
-	if (!(tdb->flags & TDB_INTERNAL))
-		tdb_munmap(tdb);
-
-	/*
-	 * We must ensure the file is unmapped before doing this
-	 * to ensure consistency with systems like OpenBSD where
-	 * writes and mmaps are not consistent.
-	 */
-
-	/* expand the file itself */
-	if (!(tdb->flags & TDB_INTERNAL)) {
-		if (expand_file(tdb, tdb->map_size, size) != 0)
-			goto fail;
-	}
-
-	tdb->map_size += size;
-
-	if (tdb->flags & TDB_INTERNAL) {
-		char *new_map_ptr = talloc_realloc_size(tdb, tdb->map_ptr,
-							tdb->map_size);
-		if (!new_map_ptr) {
-			tdb->map_size -= size;
-			goto fail;
-		}
-		tdb->map_ptr = new_map_ptr;
-	} else {
-		/*
-		 * We must ensure the file is remapped before adding the space
-		 * to ensure consistency with systems like OpenBSD where
-		 * writes and mmaps are not consistent.
-		 */
-
-		/* We're ok if the mmap fails as we'll fallback to read/write */
-		tdb_mmap(tdb);
-	}
-
-	/* form a new freelist record */
-	memset(&rec,'\0',sizeof(rec));
-	rec.rec_len = size - sizeof(rec);
-
-	/* link it into the free list */
-	offset = tdb->map_size - size;
-	if (tdb_free(tdb, offset, &rec) == -1)
-		goto fail;
-
-	tdb_unlock(tdb, -1, F_WRLCK);
-	return 0;
- fail:
-	tdb_unlock(tdb, -1, F_WRLCK);
-	return -1;
-}
-
-
-/* 
-   the core of tdb_allocate - called when we have decided which
-   free list entry to use
- */
-static tdb_off tdb_allocate_ofs(TDB_CONTEXT *tdb, tdb_len length, tdb_off rec_ptr,
-				struct list_struct *rec, tdb_off last_ptr)
-{
-	struct list_struct newrec;
-	tdb_off newrec_ptr;
-
-	memset(&newrec, '\0', sizeof(newrec));
-
-	/* found it - now possibly split it up  */
-	if (rec->rec_len > length + MIN_REC_SIZE) {
-		/* Length of left piece */
-		length = TDB_ALIGN(length, TDB_ALIGNMENT);
-		
-		/* Right piece to go on free list */
-		newrec.rec_len = rec->rec_len - (sizeof(*rec) + length);
-		newrec_ptr = rec_ptr + sizeof(*rec) + length;
-		
-		/* And left record is shortened */
-		rec->rec_len = length;
-	} else {
-		newrec_ptr = 0;
-	}
-	
-	/* Remove allocated record from the free list */
-	if (ofs_write(tdb, last_ptr, &rec->next) == -1) {
-		return 0;
-	}
-	
-	/* Update header: do this before we drop alloc
-	   lock, otherwise tdb_free() might try to
-	   merge with us, thinking we're free.
-	   (Thanks Jeremy Allison). */
-	rec->magic = TDB_MAGIC;
-	if (rec_write(tdb, rec_ptr, rec) == -1) {
-		return 0;
-	}
-	
-	/* Did we create new block? */
-	if (newrec_ptr) {
-		/* Update allocated record tailer (we
-		   shortened it). */
-		if (update_tailer(tdb, rec_ptr, rec) == -1) {
-			return 0;
-		}
-		
-		/* Free new record */
-		if (tdb_free(tdb, newrec_ptr, &newrec) == -1) {
-			return 0;
-		}
-	}
-	
-	/* all done - return the new record offset */
-	return rec_ptr;
-}
-
-/* allocate some space from the free list. The offset returned points
-   to a unconnected list_struct within the database with room for at
-   least length bytes of total data
-
-   0 is returned if the space could not be allocated
- */
-static tdb_off tdb_allocate(TDB_CONTEXT *tdb, tdb_len length,
-			    struct list_struct *rec)
-{
-	tdb_off rec_ptr, last_ptr, newrec_ptr;
-	struct {
-		tdb_off rec_ptr, last_ptr;
-		tdb_len rec_len;
-	} bestfit = { 0, 0, 0 };
-
-	if (tdb_lock(tdb, -1, F_WRLCK) == -1)
-		return 0;
-
-	/* Extra bytes required for tailer */
-	length += sizeof(tdb_off);
-
- again:
-	last_ptr = FREELIST_TOP;
-
-	/* read in the freelist top */
-	if (ofs_read(tdb, FREELIST_TOP, &rec_ptr) == -1)
-		goto fail;
-
-	bestfit.rec_ptr = 0;
-
-	/* 
-	   this is a best fit allocation strategy. Originally we used
-	   a first fit strategy, but it suffered from massive fragmentation
-	   issues when faced with a slowly increasing record size.
-	 */
-	while (rec_ptr) {
-		if (rec_free_read(tdb, rec_ptr, rec) == -1) {
-			goto fail;
-		}
-
-		if (rec->rec_len >= length) {
-			if (bestfit.rec_ptr == 0 ||
-			    rec->rec_len < bestfit.rec_len) {
-				bestfit.rec_len = rec->rec_len;
-				bestfit.rec_ptr = rec_ptr;
-				bestfit.last_ptr = last_ptr;
-				/* consider a fit to be good enough if we aren't wasting more than half the space */
-				if (bestfit.rec_len < 2*length) {
-					break;
-				}
-			}
-		}
-
-		/* move to the next record */
-		last_ptr = rec_ptr;
-		rec_ptr = rec->next;
-	}
-
-	if (bestfit.rec_ptr != 0) {
-		if (rec_free_read(tdb, bestfit.rec_ptr, rec) == -1) {
-			goto fail;
-		}
-
-		newrec_ptr = tdb_allocate_ofs(tdb, length, bestfit.rec_ptr, rec, bestfit.last_ptr);
-		tdb_unlock(tdb, -1, F_WRLCK);
-		return newrec_ptr;
-	}
-
-	/* we didn't find enough space. See if we can expand the
-	   database and if we can then try again */
-	if (tdb_expand(tdb, length + sizeof(*rec)) == 0)
-		goto again;
- fail:
-	tdb_unlock(tdb, -1, F_WRLCK);
-	return 0;
-}
-
-/* initialise a new database with a specified hash size */
-static int tdb_new_database(TDB_CONTEXT *tdb, int hash_size)
-{
-	struct tdb_header *newdb;
-	int size, ret = -1;
-
-	/* We make it up in memory, then write it out if not internal */
-	size = sizeof(struct tdb_header) + (hash_size+1)*sizeof(tdb_off);
-	if (!(newdb = talloc_zero_size(tdb, size)))
-		return TDB_ERRCODE(TDB_ERR_OOM, -1);
-
-	/* Fill in the header */
-	newdb->version = TDB_VERSION;
-	newdb->hash_size = hash_size;
-	if (tdb->flags & TDB_INTERNAL) {
-		tdb->map_size = size;
-		tdb->map_ptr = (char *)newdb;
-		memcpy(&tdb->header, newdb, sizeof(tdb->header));
-		/* Convert the `ondisk' version if asked. */
-		CONVERT(*newdb);
-		return 0;
-	}
-	if (lseek(tdb->fd, 0, SEEK_SET) == -1)
-		goto fail;
-
-	if (ftruncate(tdb->fd, 0) == -1)
-		goto fail;
-
-	/* This creates an endian-converted header, as if read from disk */
-	CONVERT(*newdb);
-	memcpy(&tdb->header, newdb, sizeof(tdb->header));
-	/* Don't endian-convert the magic food! */
-	memcpy(newdb->magic_food, TDB_MAGIC_FOOD, strlen(TDB_MAGIC_FOOD)+1);
-	if (write(tdb->fd, newdb, size) != size)
-		ret = -1;
-	else
-		ret = 0;
-
-  fail:
-	SAFE_FREE(newdb);
-	return ret;
-}
-
-/* Returns 0 on fail.  On success, return offset of record, and fills
-   in rec */
-static tdb_off tdb_find(TDB_CONTEXT *tdb, TDB_DATA key, uint32_t hash,
-			struct list_struct *r)
-{
-	tdb_off rec_ptr;
-	
-	/* read in the hash top */
-	if (ofs_read(tdb, TDB_HASH_TOP(hash), &rec_ptr) == -1)
-		return 0;
-
-	/* keep looking until we find the right record */
-	while (rec_ptr) {
-		if (rec_read(tdb, rec_ptr, r) == -1)
-			return 0;
-
-		if (!TDB_DEAD(r) && hash==r->full_hash && key.dsize==r->key_len) {
-			/* a very likely hit - read the key */
-			int cmp = tdb_key_eq(tdb, rec_ptr + sizeof(*r), key);
-			if (cmp < 0)
-				return 0;
-			else if (cmp > 0)
-				return rec_ptr;
-		}
-		rec_ptr = r->next;
-	}
-	return TDB_ERRCODE(TDB_ERR_NOEXIST, 0);
-}
-
-/* As tdb_find, but if you succeed, keep the lock */
-static tdb_off tdb_find_lock_hash(TDB_CONTEXT *tdb, TDB_DATA key, uint32_t hash, int locktype,
-			     struct list_struct *rec)
-{
-	uint32_t rec_ptr;
-
-	if (tdb_lock(tdb, BUCKET(hash), locktype) == -1)
-		return 0;
-	if (!(rec_ptr = tdb_find(tdb, key, hash, rec)))
-		tdb_unlock(tdb, BUCKET(hash), locktype);
-	return rec_ptr;
-}
-
-enum TDB_ERROR tdb_error(TDB_CONTEXT *tdb)
-{
-	return tdb->ecode;
-}
-
-static struct tdb_errname {
-	enum TDB_ERROR ecode; const char *estring;
-} emap[] = { {TDB_SUCCESS, "Success"},
-	     {TDB_ERR_CORRUPT, "Corrupt database"},
-	     {TDB_ERR_IO, "IO Error"},
-	     {TDB_ERR_LOCK, "Locking error"},
-	     {TDB_ERR_OOM, "Out of memory"},
-	     {TDB_ERR_EXISTS, "Record exists"},
-	     {TDB_ERR_NOLOCK, "Lock exists on other keys"},
-	     {TDB_ERR_NOEXIST, "Record does not exist"} };
-
-/* Error string for the last tdb error */
-const char *tdb_errorstr(TDB_CONTEXT *tdb)
-{
-	uint32_t i;
-	for (i = 0; i < sizeof(emap) / sizeof(struct tdb_errname); i++)
-		if (tdb->ecode == emap[i].ecode)
-			return emap[i].estring;
-	return "Invalid error code";
-}
-
-/* update an entry in place - this only works if the new data size
-   is <= the old data size and the key exists.
-   on failure return -1.
-*/
-
-static int tdb_update_hash(TDB_CONTEXT *tdb, TDB_DATA key, uint32_t hash, TDB_DATA dbuf)
-{
-	struct list_struct rec;
-	tdb_off rec_ptr;
-
-	/* find entry */
-	if (!(rec_ptr = tdb_find(tdb, key, hash, &rec)))
-		return -1;
-
-	/* must be long enough key, data and tailer */
-	if (rec.rec_len < key.dsize + dbuf.dsize + sizeof(tdb_off)) {
-		tdb->ecode = TDB_SUCCESS; /* Not really an error */
-		return -1;
-	}
-
-	if (tdb_write(tdb, rec_ptr + sizeof(rec) + rec.key_len,
-		      dbuf.dptr, dbuf.dsize) == -1)
-		return -1;
-
-	if (dbuf.dsize != rec.data_len) {
-		/* update size */
-		rec.data_len = dbuf.dsize;
-		return rec_write(tdb, rec_ptr, &rec);
-	}
- 
-	return 0;
-}
-
-/* find an entry in the database given a key */
-/* If an entry doesn't exist tdb_err will be set to
- * TDB_ERR_NOEXIST. If a key has no data attached
- * then the TDB_DATA will have zero length but
- * a non-zero pointer
- */
-
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key)
-{
-	tdb_off rec_ptr;
-	struct list_struct rec;
-	TDB_DATA ret;
-	uint32_t hash;
-
-	/* find which hash bucket it is in */
-	hash = tdb->hash_fn(&key);
-	if (!(rec_ptr = tdb_find_lock_hash(tdb,key,hash,F_RDLCK,&rec)))
-		return tdb_null;
-
-	ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec) + rec.key_len,
-				  rec.data_len);
-	ret.dsize = rec.data_len;
-	tdb_unlock(tdb, BUCKET(rec.full_hash), F_RDLCK);
-	return ret;
-}
-
-/* check if an entry in the database exists 
-
-   note that 1 is returned if the key is found and 0 is returned if not found
-   this doesn't match the conventions in the rest of this module, but is
-   compatible with gdbm
-*/
-static int tdb_exists_hash(TDB_CONTEXT *tdb, TDB_DATA key, uint32_t hash)
-{
-	struct list_struct rec;
-	
-	if (tdb_find_lock_hash(tdb, key, hash, F_RDLCK, &rec) == 0)
-		return 0;
-	tdb_unlock(tdb, BUCKET(rec.full_hash), F_RDLCK);
-	return 1;
-}
-
-/* record lock stops delete underneath */
-static int lock_record(TDB_CONTEXT *tdb, tdb_off off)
-{
-	return off ? tdb_brlock(tdb, off, F_RDLCK, F_SETLKW, 0) : 0;
-}
-/*
-  Write locks override our own fcntl readlocks, so check it here.
-  Note this is meant to be F_SETLK, *not* F_SETLKW, as it's not
-  an error to fail to get the lock here.
-*/
- 
-static int write_lock_record(TDB_CONTEXT *tdb, tdb_off off)
-{
-	struct tdb_traverse_lock *i;
-	for (i = &tdb->travlocks; i; i = i->next)
-		if (i->off == off)
-			return -1;
-	return tdb_brlock(tdb, off, F_WRLCK, F_SETLK, 1);
-}
-
-/*
-  Note this is meant to be F_SETLK, *not* F_SETLKW, as it's not
-  an error to fail to get the lock here.
-*/
-
-static int write_unlock_record(TDB_CONTEXT *tdb, tdb_off off)
-{
-	return tdb_brlock(tdb, off, F_UNLCK, F_SETLK, 0);
-}
-/* fcntl locks don't stack: avoid unlocking someone else's */
-static int unlock_record(TDB_CONTEXT *tdb, tdb_off off)
-{
-	struct tdb_traverse_lock *i;
-	uint32_t count = 0;
-
-	if (off == 0)
-		return 0;
-	for (i = &tdb->travlocks; i; i = i->next)
-		if (i->off == off)
-			count++;
-	return (count == 1 ? tdb_brlock(tdb, off, F_UNLCK, F_SETLKW, 0) : 0);
-}
-
-/* actually delete an entry in the database given the offset */
-static int do_delete(TDB_CONTEXT *tdb, tdb_off rec_ptr, struct list_struct*rec)
-{
-	tdb_off last_ptr, i;
-	struct list_struct lastrec;
-
-	if (tdb->read_only) return -1;
-
-	if (write_lock_record(tdb, rec_ptr) == -1) {
-		/* Someone traversing here: mark it as dead */
-		rec->magic = TDB_DEAD_MAGIC;
-		return rec_write(tdb, rec_ptr, rec);
-	}
-	if (write_unlock_record(tdb, rec_ptr) != 0)
-		return -1;
-
-	/* find previous record in hash chain */
-	if (ofs_read(tdb, TDB_HASH_TOP(rec->full_hash), &i) == -1)
-		return -1;
-	for (last_ptr = 0; i != rec_ptr; last_ptr = i, i = lastrec.next)
-		if (rec_read(tdb, i, &lastrec) == -1)
-			return -1;
-
-	/* unlink it: next ptr is at start of record. */
-	if (last_ptr == 0)
-		last_ptr = TDB_HASH_TOP(rec->full_hash);
-	if (ofs_write(tdb, last_ptr, &rec->next) == -1)
-		return -1;
-
-	/* recover the space */
-	if (tdb_free(tdb, rec_ptr, rec) == -1)
-		return -1;
-	return 0;
-}
-
-/* Uses traverse lock: 0 = finish, -1 = error, other = record offset */
-static int tdb_next_lock(TDB_CONTEXT *tdb, struct tdb_traverse_lock *tlock,
-			 struct list_struct *rec)
-{
-	int want_next = (tlock->off != 0);
-
-	/* Lock each chain from the start one. */
-	for (; tlock->hash < tdb->header.hash_size; tlock->hash++) {
-
-		/* this is an optimisation for the common case where
-		   the hash chain is empty, which is particularly
-		   common for the use of tdb with ldb, where large
-		   hashes are used. In that case we spend most of our
-		   time in tdb_brlock(), locking empty hash chains.
-
-		   To avoid this, we do an unlocked pre-check to see
-		   if the hash chain is empty before starting to look
-		   inside it. If it is empty then we can avoid that
-		   hash chain. If it isn't empty then we can't believe
-		   the value we get back, as we read it without a
-		   lock, so instead we get the lock and re-fetch the
-		   value below.
-
-		   Notice that not doing this optimisation on the
-		   first hash chain is critical. We must guarantee
-		   that we have done at least one fcntl lock at the
-		   start of a search to guarantee that memory is
-		   coherent on SMP systems. If records are added by
-		   others during the search then thats OK, and we
-		   could possibly miss those with this trick, but we
-		   could miss them anyway without this trick, so the
-		   semantics don't change.
-
-		   With a non-indexed ldb search this trick gains us a
-		   factor of around 80 in speed on a linux 2.6.x
-		   system (testing using ldbtest).
-		 */
-		if (!tlock->off && tlock->hash != 0) {
-			uint32_t off;
-			if (tdb->map_ptr) {
-				for (;tlock->hash < tdb->header.hash_size;tlock->hash++) {
-					if (0 != *(uint32_t *)(TDB_HASH_TOP(tlock->hash) + (unsigned char *)tdb->map_ptr)) {
-						break;
-					}
-				}
-				if (tlock->hash == tdb->header.hash_size) {
-					continue;
-				}
-			} else {
-				if (ofs_read(tdb, TDB_HASH_TOP(tlock->hash), &off) == 0 &&
-				    off == 0) {
-					continue;
-				}
-			}
-		}
-
-		if (tdb_lock(tdb, tlock->hash, F_WRLCK) == -1)
-			return -1;
-
-		/* No previous record?  Start at top of chain. */
-		if (!tlock->off) {
-			if (ofs_read(tdb, TDB_HASH_TOP(tlock->hash),
-				     &tlock->off) == -1)
-				goto fail;
-		} else {
-			/* Otherwise unlock the previous record. */
-			if (unlock_record(tdb, tlock->off) != 0)
-				goto fail;
-		}
-
-		if (want_next) {
-			/* We have offset of old record: grab next */
-			if (rec_read(tdb, tlock->off, rec) == -1)
-				goto fail;
-			tlock->off = rec->next;
-		}
-
-		/* Iterate through chain */
-		while( tlock->off) {
-			tdb_off current;
-			if (rec_read(tdb, tlock->off, rec) == -1)
-				goto fail;
-
-			/* Detect infinite loops. From "Shlomi Yaakobovich" <Shlomi@exanet.com>. */
-			if (tlock->off == rec->next) {
-				TDB_LOG((tdb, 0, "tdb_next_lock: loop detected.\n"));
-				goto fail;
-			}
-
-			if (!TDB_DEAD(rec)) {
-				/* Woohoo: we found one! */
-				if (lock_record(tdb, tlock->off) != 0)
-					goto fail;
-				return tlock->off;
-			}
-
-			/* Try to clean dead ones from old traverses */
-			current = tlock->off;
-			tlock->off = rec->next;
-			if (!tdb->read_only && 
-			    do_delete(tdb, current, rec) != 0)
-				goto fail;
-		}
-		tdb_unlock(tdb, tlock->hash, F_WRLCK);
-		want_next = 0;
-	}
-	/* We finished iteration without finding anything */
-	return TDB_ERRCODE(TDB_SUCCESS, 0);
-
- fail:
-	tlock->off = 0;
-	if (tdb_unlock(tdb, tlock->hash, F_WRLCK) != 0)
-		TDB_LOG((tdb, 0, "tdb_next_lock: On error unlock failed!\n"));
-	return -1;
-}
-
-/* traverse the entire database - calling fn(tdb, key, data) on each element.
-   return -1 on error or the record count traversed
-   if fn is NULL then it is not called
-   a non-zero return value from fn() indicates that the traversal should stop
-  */
-int tdb_traverse(TDB_CONTEXT *tdb, tdb_traverse_func fn, void *private)
-{
-	TDB_DATA key, dbuf;
-	struct list_struct rec;
-	struct tdb_traverse_lock tl = { NULL, 0, 0 };
-	int ret, count = 0;
-
-	/* This was in the initializaton, above, but the IRIX compiler
-	 * did not like it.  crh
-	 */
-	tl.next = tdb->travlocks.next;
-
-	/* fcntl locks don't stack: beware traverse inside traverse */
-	tdb->travlocks.next = &tl;
-
-	/* tdb_next_lock places locks on the record returned, and its chain */
-	while ((ret = tdb_next_lock(tdb, &tl, &rec)) > 0) {
-		count++;
-		/* now read the full record */
-		key.dptr = tdb_alloc_read(tdb, tl.off + sizeof(rec), 
-					  rec.key_len + rec.data_len);
-		if (!key.dptr) {
-			ret = -1;
-			if (tdb_unlock(tdb, tl.hash, F_WRLCK) != 0)
-				goto out;
-			if (unlock_record(tdb, tl.off) != 0)
-				TDB_LOG((tdb, 0, "tdb_traverse: key.dptr == NULL and unlock_record failed!\n"));
-			goto out;
-		}
-		key.dsize = rec.key_len;
-		dbuf.dptr = key.dptr + rec.key_len;
-		dbuf.dsize = rec.data_len;
-
-		/* Drop chain lock, call out */
-		if (tdb_unlock(tdb, tl.hash, F_WRLCK) != 0) {
-			ret = -1;
-			goto out;
-		}
-		if (fn && fn(tdb, key, dbuf, private)) {
-			/* They want us to terminate traversal */
-			ret = count;
-			if (unlock_record(tdb, tl.off) != 0) {
-				TDB_LOG((tdb, 0, "tdb_traverse: unlock_record failed!\n"));
-				ret = -1;
-			}
-			tdb->travlocks.next = tl.next;
-			SAFE_FREE(key.dptr);
-			return count;
-		}
-		SAFE_FREE(key.dptr);
-	}
-out:
-	tdb->travlocks.next = tl.next;
-	if (ret < 0)
-		return -1;
-	else
-		return count;
-}
-
-/* find the first entry in the database and return its key */
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb)
-{
-	TDB_DATA key;
-	struct list_struct rec;
-
-	/* release any old lock */
-	if (unlock_record(tdb, tdb->travlocks.off) != 0)
-		return tdb_null;
-	tdb->travlocks.off = tdb->travlocks.hash = 0;
-
-	if (tdb_next_lock(tdb, &tdb->travlocks, &rec) <= 0)
-		return tdb_null;
-	/* now read the key */
-	key.dsize = rec.key_len;
-	key.dptr =tdb_alloc_read(tdb,tdb->travlocks.off+sizeof(rec),key.dsize);
-	if (tdb_unlock(tdb, BUCKET(tdb->travlocks.hash), F_WRLCK) != 0)
-		TDB_LOG((tdb, 0, "tdb_firstkey: error occurred while tdb_unlocking!\n"));
-	return key;
-}
-
-/* find the next entry in the database, returning its key */
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA oldkey)
-{
-	uint32_t oldhash;
-	TDB_DATA key = tdb_null;
-	struct list_struct rec;
-	char *k = NULL;
-
-	/* Is locked key the old key?  If so, traverse will be reliable. */
-	if (tdb->travlocks.off) {
-		if (tdb_lock(tdb,tdb->travlocks.hash,F_WRLCK))
-			return tdb_null;
-		if (rec_read(tdb, tdb->travlocks.off, &rec) == -1
-		    || !(k = tdb_alloc_read(tdb,tdb->travlocks.off+sizeof(rec),
-					    rec.key_len))
-		    || memcmp(k, oldkey.dptr, oldkey.dsize) != 0) {
-			/* No, it wasn't: unlock it and start from scratch */
-			if (unlock_record(tdb, tdb->travlocks.off) != 0)
-				return tdb_null;
-			if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0)
-				return tdb_null;
-			tdb->travlocks.off = 0;
-		}
-
-		SAFE_FREE(k);
-	}
-
-	if (!tdb->travlocks.off) {
-		/* No previous element: do normal find, and lock record */
-		tdb->travlocks.off = tdb_find_lock_hash(tdb, oldkey, tdb->hash_fn(&oldkey), F_WRLCK, &rec);
-		if (!tdb->travlocks.off)
-			return tdb_null;
-		tdb->travlocks.hash = BUCKET(rec.full_hash);
-		if (lock_record(tdb, tdb->travlocks.off) != 0) {
-			TDB_LOG((tdb, 0, "tdb_nextkey: lock_record failed (%s)!\n", strerror(errno)));
-			return tdb_null;
-		}
-	}
-	oldhash = tdb->travlocks.hash;
-
-	/* Grab next record: locks chain and returned record,
-	   unlocks old record */
-	if (tdb_next_lock(tdb, &tdb->travlocks, &rec) > 0) {
-		key.dsize = rec.key_len;
-		key.dptr = tdb_alloc_read(tdb, tdb->travlocks.off+sizeof(rec),
-					  key.dsize);
-		/* Unlock the chain of this new record */
-		if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0)
-			TDB_LOG((tdb, 0, "tdb_nextkey: WARNING tdb_unlock failed!\n"));
-	}
-	/* Unlock the chain of old record */
-	if (tdb_unlock(tdb, BUCKET(oldhash), F_WRLCK) != 0)
-		TDB_LOG((tdb, 0, "tdb_nextkey: WARNING tdb_unlock failed!\n"));
-	return key;
-}
-
-/* delete an entry in the database given a key */
-static int tdb_delete_hash(TDB_CONTEXT *tdb, TDB_DATA key, uint32_t hash)
-{
-	tdb_off rec_ptr;
-	struct list_struct rec;
-	int ret;
-
-	if (!(rec_ptr = tdb_find_lock_hash(tdb, key, hash, F_WRLCK, &rec)))
-		return -1;
-	ret = do_delete(tdb, rec_ptr, &rec);
-	if (tdb_unlock(tdb, BUCKET(rec.full_hash), F_WRLCK) != 0)
-		TDB_LOG((tdb, 0, "tdb_delete: WARNING tdb_unlock failed!\n"));
-	return ret;
-}
-
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key)
-{
-	uint32_t hash = tdb->hash_fn(&key);
-	return tdb_delete_hash(tdb, key, hash);
-}
-
-/* store an element in the database, replacing any existing element
-   with the same key 
-
-   return 0 on success, -1 on failure
-*/
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
-{
-	struct list_struct rec;
-	uint32_t hash;
-	tdb_off rec_ptr;
-	char *p = NULL;
-	int ret = 0;
-
-	/* find which hash bucket it is in */
-	hash = tdb->hash_fn(&key);
-	if (tdb_lock(tdb, BUCKET(hash), F_WRLCK) == -1)
-		return -1;
-
-	/* check for it existing, on insert. */
-	if (flag == TDB_INSERT) {
-		if (tdb_exists_hash(tdb, key, hash)) {
-			tdb->ecode = TDB_ERR_EXISTS;
-			goto fail;
-		}
-	} else {
-		/* first try in-place update, on modify or replace. */
-		if (tdb_update_hash(tdb, key, hash, dbuf) == 0)
-			goto out;
-		if (tdb->ecode == TDB_ERR_NOEXIST &&
-		    flag == TDB_MODIFY) {
-			/* if the record doesn't exist and we are in TDB_MODIFY mode then
-			 we should fail the store */
-			goto fail;
-		}
-	}
-	/* reset the error code potentially set by the tdb_update() */
-	tdb->ecode = TDB_SUCCESS;
-
-	/* delete any existing record - if it doesn't exist we don't
-           care.  Doing this first reduces fragmentation, and avoids
-           coalescing with `allocated' block before it's updated. */
-	if (flag != TDB_INSERT)
-		tdb_delete_hash(tdb, key, hash);
-
-	/* Copy key+value *before* allocating free space in case malloc
-	   fails and we are left with a dead spot in the tdb. */
-
-	if (!(p = (char *)talloc_size(tdb, key.dsize + dbuf.dsize))) {
-		tdb->ecode = TDB_ERR_OOM;
-		goto fail;
-	}
-
-	memcpy(p, key.dptr, key.dsize);
-	if (dbuf.dsize)
-		memcpy(p+key.dsize, dbuf.dptr, dbuf.dsize);
-
-	/* we have to allocate some space */
-	if (!(rec_ptr = tdb_allocate(tdb, key.dsize + dbuf.dsize, &rec)))
-		goto fail;
-
-	/* Read hash top into next ptr */
-	if (ofs_read(tdb, TDB_HASH_TOP(hash), &rec.next) == -1)
-		goto fail;
-
-	rec.key_len = key.dsize;
-	rec.data_len = dbuf.dsize;
-	rec.full_hash = hash;
-	rec.magic = TDB_MAGIC;
-
-	/* write out and point the top of the hash chain at it */
-	if (rec_write(tdb, rec_ptr, &rec) == -1
-	    || tdb_write(tdb, rec_ptr+sizeof(rec), p, key.dsize+dbuf.dsize)==-1
-	    || ofs_write(tdb, TDB_HASH_TOP(hash), &rec_ptr) == -1) {
-		/* Need to tdb_unallocate() here */
-		goto fail;
-	}
- out:
-	SAFE_FREE(p); 
-	tdb_unlock(tdb, BUCKET(hash), F_WRLCK);
-	return ret;
-fail:
-	ret = -1;
-	goto out;
-}
-
-static int tdb_already_open(dev_t device,
-			    ino_t ino)
-{
-	TDB_CONTEXT *i;
-	
-	for (i = tdbs; i; i = i->next) {
-		if (i->device == device && i->inode == ino) {
-			return 1;
-		}
-	}
-
-	return 0;
-}
-
-/* a default logging function */
-static void null_log_fn(TDB_CONTEXT *tdb __attribute__((unused)),
-			int level __attribute__((unused)),
-			const char *fmt __attribute__((unused)), ...)
-{
-}
-
-
-TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
-			 int open_flags, mode_t mode,
-			 tdb_log_func log_fn,
-			 tdb_hash_func hash_fn)
-{
-	TDB_CONTEXT *tdb;
-	struct stat st;
-	int rev = 0, locked = 0;
-	uint8_t *vp;
-	uint32_t vertest;
-
-	if (!(tdb = talloc_zero(name, TDB_CONTEXT))) {
-		/* Can't log this */
-		errno = ENOMEM;
-		goto fail;
-	}
-	tdb->fd = -1;
-	tdb->name = NULL;
-	tdb->map_ptr = NULL;
-	tdb->flags = tdb_flags;
-	tdb->open_flags = open_flags;
-	tdb->log_fn = log_fn?log_fn:null_log_fn;
-	tdb->hash_fn = hash_fn ? hash_fn : default_tdb_hash;
-
-	if ((open_flags & O_ACCMODE) == O_WRONLY) {
-		TDB_LOG((tdb, 0, "tdb_open_ex: can't open tdb %s write-only\n",
-			 name));
-		errno = EINVAL;
-		goto fail;
-	}
-	
-	if (hash_size == 0)
-		hash_size = DEFAULT_HASH_SIZE;
-	if ((open_flags & O_ACCMODE) == O_RDONLY) {
-		tdb->read_only = 1;
-		/* read only databases don't do locking or clear if first */
-		tdb->flags |= TDB_NOLOCK;
-		tdb->flags &= ~TDB_CLEAR_IF_FIRST;
-	}
-
-	/* internal databases don't mmap or lock, and start off cleared */
-	if (tdb->flags & TDB_INTERNAL) {
-		tdb->flags |= (TDB_NOLOCK | TDB_NOMMAP);
-		tdb->flags &= ~TDB_CLEAR_IF_FIRST;
-		if (tdb_new_database(tdb, hash_size) != 0) {
-			TDB_LOG((tdb, 0, "tdb_open_ex: tdb_new_database failed!"));
-			goto fail;
-		}
-		goto internal;
-	}
-
-	if ((tdb->fd = open(name, open_flags, mode)) == -1) {
-		TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n",
-			 name, strerror(errno)));
-		goto fail;	/* errno set by open(2) */
-	}
-
-	/* ensure there is only one process initialising at once */
-	if (tdb_brlock(tdb, GLOBAL_LOCK, F_WRLCK, F_SETLKW, 0) == -1) {
-		TDB_LOG((tdb, 0, "tdb_open_ex: failed to get global lock on %s: %s\n",
-			 name, strerror(errno)));
-		goto fail;	/* errno set by tdb_brlock */
-	}
-
-	/* we need to zero database if we are the only one with it open */
-	if ((tdb_flags & TDB_CLEAR_IF_FIRST) &&
-		(locked = (tdb_brlock(tdb, ACTIVE_LOCK, F_WRLCK, F_SETLK, 0) == 0))) {
-		open_flags |= O_CREAT;
-		if (ftruncate(tdb->fd, 0) == -1) {
-			TDB_LOG((tdb, 0, "tdb_open_ex: "
-				 "failed to truncate %s: %s\n",
-				 name, strerror(errno)));
-			goto fail; /* errno set by ftruncate */
-		}
-	}
-
-	if (read(tdb->fd, &tdb->header, sizeof(tdb->header)) != sizeof(tdb->header)
-	    || strcmp(tdb->header.magic_food, TDB_MAGIC_FOOD) != 0
-	    || (tdb->header.version != TDB_VERSION
-		&& !(rev = (tdb->header.version==TDB_BYTEREV(TDB_VERSION))))) {
-		/* its not a valid database - possibly initialise it */
-		if (!(open_flags & O_CREAT) || tdb_new_database(tdb, hash_size) == -1) {
-			errno = EIO; /* ie bad format or something */
-			goto fail;
-		}
-		rev = (tdb->flags & TDB_CONVERT);
-	}
-	vp = (uint8_t *)&tdb->header.version;
-	vertest = (((uint32_t)vp[0]) << 24) | (((uint32_t)vp[1]) << 16) |
-		  (((uint32_t)vp[2]) << 8) | (uint32_t)vp[3];
-	tdb->flags |= (vertest==TDB_VERSION) ? TDB_BIGENDIAN : 0;
-	if (!rev)
-		tdb->flags &= ~TDB_CONVERT;
-	else {
-		tdb->flags |= TDB_CONVERT;
-		convert(&tdb->header, sizeof(tdb->header));
-	}
-	if (fstat(tdb->fd, &st) == -1)
-		goto fail;
-
-	/* Is it already in the open list?  If so, fail. */
-	if (tdb_already_open(st.st_dev, st.st_ino)) {
-		TDB_LOG((tdb, 2, "tdb_open_ex: "
-			 "%s (%d,%d) is already open in this process\n",
-			 name, (int)st.st_dev, (int)st.st_ino));
-		errno = EBUSY;
-		goto fail;
-	}
-
-	if (!(tdb->name = (char *)talloc_strdup(tdb, name))) {
-		errno = ENOMEM;
-		goto fail;
-	}
-
-	tdb->map_size = st.st_size;
-	tdb->device = st.st_dev;
-	tdb->inode = st.st_ino;
-	tdb->locked = talloc_zero_array(tdb, struct tdb_lock_type,
-					tdb->header.hash_size+1);
-	if (!tdb->locked) {
-		TDB_LOG((tdb, 2, "tdb_open_ex: "
-			 "failed to allocate lock structure for %s\n",
-			 name));
-		errno = ENOMEM;
-		goto fail;
-	}
-	tdb_mmap(tdb);
-	if (locked) {
-		if (tdb_brlock(tdb, ACTIVE_LOCK, F_UNLCK, F_SETLK, 0) == -1) {
-			TDB_LOG((tdb, 0, "tdb_open_ex: "
-				 "failed to take ACTIVE_LOCK on %s: %s\n",
-				 name, strerror(errno)));
-			goto fail;
-		}
-
-	}
-
-	/* We always need to do this if the CLEAR_IF_FIRST flag is set, even if
-	   we didn't get the initial exclusive lock as we need to let all other
-	   users know we're using it. */
-
-	if (tdb_flags & TDB_CLEAR_IF_FIRST) {
-	/* leave this lock in place to indicate it's in use */
-	if (tdb_brlock(tdb, ACTIVE_LOCK, F_RDLCK, F_SETLKW, 0) == -1)
-		goto fail;
-	}
-
-
- internal:
-	/* Internal (memory-only) databases skip all the code above to
-	 * do with disk files, and resume here by releasing their
-	 * global lock and hooking into the active list. */
-	if (tdb_brlock(tdb, GLOBAL_LOCK, F_UNLCK, F_SETLKW, 0) == -1)
-		goto fail;
-	tdb->next = tdbs;
-	tdbs = tdb;
-	return tdb;
-
- fail:
-	{ int save_errno = errno;
-
-	if (!tdb)
-		return NULL;
-	
-	if (tdb->map_ptr) {
-		if (tdb->flags & TDB_INTERNAL)
-			SAFE_FREE(tdb->map_ptr);
-		else
-			tdb_munmap(tdb);
-	}
-	SAFE_FREE(tdb->name);
-	if (tdb->fd != -1)
-		if (close(tdb->fd) != 0)
-			TDB_LOG((tdb, 5, "tdb_open_ex: failed to close tdb->fd on error!\n"));
-	SAFE_FREE(tdb->locked);
-	SAFE_FREE(tdb);
-	errno = save_errno;
-	return NULL;
-	}
-}
-
-/**
- * Close a database.
- *
- * @returns -1 for error; 0 for success.
- **/
-int tdb_close(TDB_CONTEXT *tdb)
-{
-	TDB_CONTEXT **i;
-	int ret = 0;
-
-	if (tdb->map_ptr) {
-		if (tdb->flags & TDB_INTERNAL)
-			SAFE_FREE(tdb->map_ptr);
-		else
-			tdb_munmap(tdb);
-	}
-	SAFE_FREE(tdb->name);
-	if (tdb->fd != -1)
-		ret = close(tdb->fd);
-	SAFE_FREE(tdb->locked);
-
-	/* Remove from contexts list */
-	for (i = &tdbs; *i; i = &(*i)->next) {
-		if (*i == tdb) {
-			*i = tdb->next;
-			break;
-		}
-	}
-
-	memset(tdb, 0, sizeof(*tdb));
-	SAFE_FREE(tdb);
-
-	return ret;
-}
diff --git a/tools/xenstore/tdb.h b/tools/xenstore/tdb.h
deleted file mode 100644
index ce3c7339f8..0000000000
--- a/tools/xenstore/tdb.h
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef __TDB_H__
-#define __TDB_H__
-
-#include "utils.h"
-
-/* 
-   Unix SMB/CIFS implementation.
-
-   trivial database library
-
-   Copyright (C) Andrew Tridgell 1999-2004
-   
-     ** NOTE! The following LGPL license applies to the tdb
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-
-/* flags to tdb_store() */
-#define TDB_REPLACE 1
-#define TDB_INSERT 2
-#define TDB_MODIFY 3
-
-/* flags for tdb_open() */
-#define TDB_DEFAULT 0 /* just a readability place holder */
-#define TDB_CLEAR_IF_FIRST 1
-#define TDB_INTERNAL 2 /* don't store on disk */
-#define TDB_NOLOCK   4 /* don't do any locking */
-#define TDB_NOMMAP   8 /* don't use mmap */
-#define TDB_CONVERT 16 /* convert endian (internal use) */
-#define TDB_BIGENDIAN 32 /* header is big-endian (internal use) */
-
-#define TDB_ERRCODE(code, ret) ((tdb->ecode = (code)), ret)
-
-/* error codes */
-enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK, 
-		TDB_ERR_OOM, TDB_ERR_EXISTS, TDB_ERR_NOLOCK, TDB_ERR_LOCK_TIMEOUT,
-		TDB_ERR_NOEXIST};
-
-#ifndef uint32_t
-#define uint32_t unsigned
-#endif
-
-typedef struct TDB_DATA {
-	char *dptr;
-	size_t dsize;
-} TDB_DATA;
-
-typedef uint32_t tdb_len;
-typedef uint32_t tdb_off;
-
-/* this is stored at the front of every database */
-struct tdb_header {
-	char magic_food[32]; /* for /etc/magic */
-	uint32_t version; /* version of the code */
-	uint32_t hash_size; /* number of hash entries */
-	tdb_off rwlocks;
-	tdb_off reserved[31];
-};
-
-struct tdb_lock_type {
-	uint32_t count;
-	uint32_t ltype;
-};
-
-struct tdb_traverse_lock {
-	struct tdb_traverse_lock *next;
-	uint32_t off;
-	uint32_t hash;
-};
-
-/* this is the context structure that is returned from a db open */
-typedef struct tdb_context {
-	char *name; /* the name of the database */
-	void *map_ptr; /* where it is currently mapped */
-	int fd; /* open file descriptor for the database */
-	tdb_len map_size; /* how much space has been mapped */
-	int read_only; /* opened read-only */
-	struct tdb_lock_type *locked; /* array of chain locks */
-	enum TDB_ERROR ecode; /* error code for last tdb error */
-	struct tdb_header header; /* a cached copy of the header */
-	uint32_t flags; /* the flags passed to tdb_open */
-	struct tdb_traverse_lock travlocks; /* current traversal locks */
-	struct tdb_context *next; /* all tdbs to avoid multiple opens */
-	dev_t device;	/* uniquely identifies this tdb */
-	ino_t inode;	/* uniquely identifies this tdb */
-	void (*log_fn)(struct tdb_context *tdb, int level, const char *, ...) PRINTF_ATTRIBUTE(3,4); /* logging function */
-	uint32_t (*hash_fn)(TDB_DATA *key);
-	int open_flags; /* flags used in the open - needed by reopen */
-} TDB_CONTEXT;
-
-typedef int (*tdb_traverse_func)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *);
-typedef void (*tdb_log_func)(TDB_CONTEXT *, int , const char *, ...);
-typedef uint32_t (*tdb_hash_func)(TDB_DATA *key);
-
-TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
-			 int open_flags, mode_t mode,
-			 tdb_log_func log_fn,
-			 tdb_hash_func hash_fn);
-
-enum TDB_ERROR tdb_error(TDB_CONTEXT *tdb);
-const char *tdb_errorstr(TDB_CONTEXT *tdb);
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag);
-int tdb_close(TDB_CONTEXT *tdb);
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb);
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_traverse(TDB_CONTEXT *tdb, tdb_traverse_func fn, void *);
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif /* tdb.h */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583325.913506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIj-0004XZ-VL; Mon, 14 Aug 2023 07:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583325.913506; Mon, 14 Aug 2023 07:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIj-0004XQ-SE; Mon, 14 Aug 2023 07:47:45 +0000
Received: by outflank-mailman (input) for mailman id 583325;
 Mon, 14 Aug 2023 07:47:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIi-0002SK-PE
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:44 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da82ddac-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:47:44 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 12F881FD60;
 Mon, 14 Aug 2023 07:47:44 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D4574138EE;
 Mon, 14 Aug 2023 07:47:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id T/+PMh/c2WTiQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07: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>
X-Inumbo-ID: da82ddac-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999264; 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=BG6qvkTJomUkTWnj+OlsG8s/EdIwcHngnOtZ7JpxP6M=;
	b=dToHoiLXuAix5YyO8lKnbdWE4Jd2JYRLWh79ZyMjzSTiUP12YZ3x//MMfL5c0lK2au+RdH
	8Wz1CvYlgC8thJb7onpGoEmboATAIS6E56tPE4O8VwtfTEUDaTR4u4dZ8BKqqzD1m5PZm4
	1N518dXE6J2m8YqR3qE2JXMDz6Az2IM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 06/19] tools/xenstore: let db_delete() return void
Date: Mon, 14 Aug 2023 09:46:54 +0200
Message-Id: <20230814074707.27696-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

db_delete() only ever is returning 0. Switch it to return void and
remove all the error handling dealing wit a non-zero return value.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- new patch
---
 tools/xenstore/xenstored_core.c        | 11 ++++-------
 tools/xenstore/xenstored_core.h        |  4 ++--
 tools/xenstore/xenstored_transaction.c | 14 +++++---------
 3 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 2b94392fd4..a08962c3ea 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -677,8 +677,8 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 	return 0;
 }
 
-int db_delete(struct connection *conn, const char *name,
-	      struct node_account_data *acc)
+void db_delete(struct connection *conn, const char *name,
+	       struct node_account_data *acc)
 {
 	struct node_account_data tmp_acc;
 	unsigned int domid;
@@ -698,8 +698,6 @@ int db_delete(struct connection *conn, const char *name,
 		domain_memory_add_nochk(conn, domid,
 					-acc->memory - strlen(name));
 	}
-
-	return 0;
 }
 
 /*
@@ -1670,9 +1668,8 @@ static int delnode_sub(const void *ctx, struct connection *conn,
 	if (domain_nbentry_dec(conn, get_node_owner(node)))
 		return WALK_TREE_ERROR_STOP;
 
-	/* In case of error stop the walk. */
-	if (!ret && db_delete(conn, db_name, &node->acc))
-		return WALK_TREE_ERROR_STOP;
+	if (!ret)
+		db_delete(conn, db_name, &node->acc);
 
 	/*
 	 * Fire the watches now, when we can still see the node permissions.
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index ce40c61f44..e1aeb4aecd 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -366,8 +366,8 @@ struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size);
 int db_write(struct connection *conn, const char *db_name, void *data,
 	     size_t size, struct node_account_data *acc,
 	     enum write_node_mode mode, bool no_quota_check);
-int db_delete(struct connection *conn, const char *name,
-	      struct node_account_data *acc);
+void db_delete(struct connection *conn, const char *name,
+	       struct node_account_data *acc);
 
 void conn_free_buffered_data(struct connection *conn);
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 378fe79763..fbcea3663e 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -377,10 +377,8 @@ static int finalize_transaction(struct connection *conn,
 
 		/* Entries for unmodified nodes can be removed early. */
 		if (!i->modified) {
-			if (i->ta_node) {
-				if (db_delete(conn, i->trans_name, NULL))
-					return EIO;
-			}
+			if (i->ta_node)
+				db_delete(conn, i->trans_name, NULL);
 			list_del(&i->list);
 			talloc_free(i);
 		}
@@ -397,8 +395,7 @@ static int finalize_transaction(struct connection *conn,
 				       ? NODE_CREATE : NODE_MODIFY;
 				*is_corrupt |= db_write(conn, i->node, hdr,
 							size, NULL, mode, true);
-				if (db_delete(conn, i->trans_name, NULL))
-					*is_corrupt = true;
+				db_delete(conn, i->trans_name, NULL);
 			} else {
 				*is_corrupt = true;
 			}
@@ -408,9 +405,8 @@ static int finalize_transaction(struct connection *conn,
 			 * in this transaction will have no generation
 			 * information stored.
 			 */
-			*is_corrupt |= (i->generation == NO_GENERATION)
-				       ? false
-				       : db_delete(conn, i->node, NULL);
+			if (i->generation != NO_GENERATION)
+				db_delete(conn, i->node, NULL);
 		}
 		if (i->fire_watch)
 			fire_watches(conn, trans, i->node, NULL, i->watch_exact,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583329.913517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIq-00057x-89; Mon, 14 Aug 2023 07:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583329.913517; Mon, 14 Aug 2023 07:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIq-00057o-4s; Mon, 14 Aug 2023 07:47:52 +0000
Received: by outflank-mailman (input) for mailman id 583329;
 Mon, 14 Aug 2023 07:47:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIo-0002SK-Pk
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddd89b19-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:47:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A5C442195D;
 Mon, 14 Aug 2023 07:47:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7976F138EE;
 Mon, 14 Aug 2023 07:47:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OYhOHCXc2WTnQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddd89b19-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999269; 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=7fhN47uhVKwt7gKu3+NNZ/ZsErsC4Q4pzFPHtw7oHuU=;
	b=Y9dISKFO+RNFWPY0Ark9I6RXWHrDFVwAcwB9L6ZNKx6cjUfa0W97gpolwN360SW1+mCtxE
	/xRhPuwmjT6JYM28+mX7aWa9ZRxtgf0bsoYN10lfiE5ppkABAeUkmQwxPr6aTXaXLYxrzm
	awF3gDcXF20YlGpPONd+npnq7UO9DKk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 07/19] tools/xenstore: change talloc_free() to take a const pointer
Date: Mon, 14 Aug 2023 09:46:55 +0200
Message-Id: <20230814074707.27696-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With talloc_free() and related functions not taking a pointer to const
it is tedious to use the const attribute for talloc()-ed memory in
many cases.

Change the related prototypes to use "const void *" instead of
"void *".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
V4:
- add comment (Julien Grall)
---
 tools/xenstore/talloc.c | 10 ++++++----
 tools/xenstore/talloc.h |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/tools/xenstore/talloc.c b/tools/xenstore/talloc.c
index 23c3a23b19..e42c7d4471 100644
--- a/tools/xenstore/talloc.c
+++ b/tools/xenstore/talloc.c
@@ -319,7 +319,7 @@ static int talloc_unreference(const void *context, const void *ptr)
   remove a specific parent context from a pointer. This is a more
   controlled varient of talloc_free()
 */
-int talloc_unlink(const void *context, void *ptr)
+int talloc_unlink(const void *context, const void *ptr)
 {
 	struct talloc_chunk *tc_p, *new_p;
 	void *new_parent;
@@ -499,7 +499,7 @@ void *talloc_init(const char *fmt, ...)
   should probably not be used in new code. It's in here to keep the talloc
   code consistent across Samba 3 and 4.
 */
-static void talloc_free_children(void *ptr)
+static void talloc_free_children(const void *ptr)
 {
 	struct talloc_chunk *tc;
 
@@ -539,7 +539,7 @@ static void talloc_free_children(void *ptr)
    will not be freed if the ref_count is > 1 or the destructor (if
    any) returns non-zero
 */
-int talloc_free(void *ptr)
+int talloc_free(const void *ptr)
 {
 	int saved_errno = errno;
 	struct talloc_chunk *tc;
@@ -571,7 +571,9 @@ int talloc_free(void *ptr)
 			goto err;
 		}
 		tc->destructor = (talloc_destructor_t)-1;
-		if (d(ptr) == -1) {
+
+		/* The destructor needs to be able to change the object! */
+		if (d((void *)ptr) == -1) {
 			tc->destructor = d;
 			goto err;
 		}
diff --git a/tools/xenstore/talloc.h b/tools/xenstore/talloc.h
index 518fcac151..32cee63d4d 100644
--- a/tools/xenstore/talloc.h
+++ b/tools/xenstore/talloc.h
@@ -92,7 +92,7 @@ void *_talloc(const void *context, size_t size);
 void talloc_set_destructor(const void *ptr, int (*destructor)(void *));
 void talloc_increase_ref_count(const void *ptr);
 void *talloc_reference(const void *context, const void *ptr);
-int talloc_unlink(const void *context, void *ptr);
+int talloc_unlink(const void *context, const void *ptr);
 void talloc_set_name(const void *ptr, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
 void talloc_set_name_const(const void *ptr, const char *name);
 void *talloc_named(const void *context, size_t size, 
@@ -103,7 +103,7 @@ void *talloc_check_name(const void *ptr, const char *name);
 void talloc_report_depth(const void *ptr, FILE *f, int depth);
 void *talloc_parent(const void *ptr);
 void *talloc_init(const char *fmt, ...) PRINTF_ATTRIBUTE(1,2);
-int talloc_free(void *ptr);
+int talloc_free(const void *ptr);
 void *_talloc_realloc(const void *context, void *ptr, size_t size, const char *name);
 void *talloc_steal(const void *new_ctx, const void *ptr);
 off_t talloc_total_size(const void *ptr);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:47:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583330.913527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIw-0005by-Gm; Mon, 14 Aug 2023 07:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583330.913527; Mon, 14 Aug 2023 07:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSIw-0005bQ-Df; Mon, 14 Aug 2023 07:47:58 +0000
Received: by outflank-mailman (input) for mailman id 583330;
 Mon, 14 Aug 2023 07:47: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSIv-0001Z5-8A
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:47:57 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1294d9b-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:47:55 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 424161FD60;
 Mon, 14 Aug 2023 07:47:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 14AC4138EE;
 Mon, 14 Aug 2023 07:47:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dZygAyvc2WTsQQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1294d9b-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999275; 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=dH1h2NgsanT/KSOLBiOeGPIqJ6MvlgxSpBNMRTKunaQ=;
	b=E+KDO0j5VOyQTerByqDkQUs2sCsuKI2511MGY/lrNjJCoUTkA80lcsVK0FK+ZFaNDSs1Ea
	9X8NOSRKIQs0yU95v0SWh4VzClsZodBBNs7ExF7R1lxkUK0YRCEcBfcJKInntCG8JtTFzC
	EDpCQvvihpTWD8j0qL/0ebVtT2LLBRg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 08/19] tools/xenstore: move copying of node data out of db_fetch()
Date: Mon, 14 Aug 2023 09:46:56 +0200
Message-Id: <20230814074707.27696-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the node data is copied in db_fetch() on each data base read in
order to avoid accidental data base modifications when working on a
node.

read_node() is the only caller of db_fetch() which isn't freeing the
returned data area immediately after using it. The other callers don't
modify the returned data, so they don't need the data to be copied.

Move copying of the data into read_node(), resulting in a speedup of
the other callers due to no memory allocation and no copying being
needed anymore.

This allows to let db_fetch() return a pointer to const data.

As db_fetch() can't return any error other than ENOENT now, error
handling for the callers can be simplified.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- modify return type of db_fetch() to return a pointer to const
  (Julien Grall)
- drop stale comment (Julien Grall)
- fix transaction handling
V4:
- don't drop const attribute for hdr (Julien Grall)
---
 tools/xenstore/xenstored_core.c        | 43 ++++++++++----------------
 tools/xenstore/xenstored_core.h        |  2 +-
 tools/xenstore/xenstored_transaction.c | 23 +++++++++-----
 3 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index a08962c3ea..53e29aeb9a 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -555,10 +555,9 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 	}
 }
 
-struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
+const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
 {
 	const struct xs_tdb_record_hdr *hdr;
-	struct xs_tdb_record_hdr *p;
 
 	hdr = hashtable_search(nodes, db_name);
 	if (!hdr) {
@@ -569,22 +568,15 @@ struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
 	*size = sizeof(*hdr) + hdr->num_perms * sizeof(hdr->perms[0]) +
 		hdr->datalen + hdr->childlen;
 
-	/* Return a copy, avoiding a potential modification in the DB. */
-	p = talloc_memdup(NULL, hdr, *size);
-	if (!p) {
-		errno = ENOMEM;
-		return NULL;
-	}
-
 	trace_tdb("read %s size %zu\n", db_name, *size + strlen(db_name));
 
-	return p;
+	return hdr;
 }
 
 static void get_acc_data(const char *name, struct node_account_data *acc)
 {
 	size_t size;
-	struct xs_tdb_record_hdr *hdr;
+	const struct xs_tdb_record_hdr *hdr;
 
 	if (acc->memory < 0) {
 		hdr = db_fetch(name, &size);
@@ -595,7 +587,6 @@ static void get_acc_data(const char *name, struct node_account_data *acc)
 			acc->memory = size;
 			acc->domid = hdr->perms[0].id;
 		}
-		talloc_free(hdr);
 	}
 }
 
@@ -708,7 +699,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		       const char *name)
 {
 	size_t size;
-	struct xs_tdb_record_hdr *hdr;
+	const struct xs_tdb_record_hdr *hdr;
 	struct node *node;
 	const char *db_name;
 	int err;
@@ -729,30 +720,30 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	hdr = db_fetch(db_name, &size);
 
 	if (hdr == NULL) {
-		if (errno == ENOENT) {
-			node->generation = NO_GENERATION;
-			err = access_node(conn, node, NODE_ACCESS_READ, NULL);
-			errno = err ? : ENOENT;
-		} else {
-			log("DB error on read: %s", strerror(errno));
-			errno = EIO;
-		}
+		node->generation = NO_GENERATION;
+		err = access_node(conn, node, NODE_ACCESS_READ, NULL);
+		errno = err ? : ENOENT;
 		goto error;
 	}
 
 	node->parent = NULL;
-	talloc_steal(node, hdr);
 
 	/* Datalen, childlen, number of permissions */
 	node->generation = hdr->generation;
 	node->perms.num = hdr->num_perms;
 	node->datalen = hdr->datalen;
 	node->childlen = hdr->childlen;
-
-	/* Permissions are struct xs_permissions. */
-	node->perms.p = hdr->perms;
-	node->acc.domid = get_node_owner(node);
+	node->acc.domid = hdr->perms[0].id;
 	node->acc.memory = size;
+
+	/* Copy node data to new memory area, starting with permissions. */
+	size -= sizeof(*hdr);
+	node->perms.p = talloc_memdup(node, hdr->perms, size);
+	if (node->perms.p == NULL) {
+		errno = ENOMEM;
+		goto error;
+	}
+
 	if (domain_adjust_node_perms(node))
 		goto error;
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index e1aeb4aecd..4a370f766f 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -362,7 +362,7 @@ extern xengnttab_handle **xgt_handle;
 int remember_string(struct hashtable *hash, const char *str);
 
 /* Data base access functions. */
-struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size);
+const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size);
 int db_write(struct connection *conn, const char *db_name, void *data,
 	     size_t size, struct node_account_data *acc,
 	     enum write_node_mode mode, bool no_quota_check);
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index fbcea3663e..a90283dcc5 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -357,20 +357,17 @@ static int finalize_transaction(struct connection *conn,
 {
 	struct accessed_node *i, *n;
 	size_t size;
-	struct xs_tdb_record_hdr *hdr;
+	const struct xs_tdb_record_hdr *hdr;
 	uint64_t gen;
 
 	list_for_each_entry_safe(i, n, &trans->accessed, list) {
 		if (i->check_gen) {
 			hdr = db_fetch(i->node, &size);
 			if (!hdr) {
-				if (errno != ENOENT)
-					return errno;
 				gen = NO_GENERATION;
 			} else {
 				gen = hdr->generation;
 			}
-			talloc_free(hdr);
 			if (i->generation != gen)
 				return EAGAIN;
 		}
@@ -388,14 +385,26 @@ static int finalize_transaction(struct connection *conn,
 		if (i->ta_node) {
 			hdr = db_fetch(i->trans_name, &size);
 			if (hdr) {
+				/*
+				 * Delete transaction entry and write it as
+				 * no-TA entry. As we only hold a reference
+				 * to the data, increment its ref count, then
+				 * delete it from the DB. Now we own it and can
+				 * drop the const attribute for changing the
+				 * generation count.
+				 */
 				enum write_node_mode mode;
+				struct xs_tdb_record_hdr *own;
 
-				hdr->generation = ++generation;
+				talloc_increase_ref_count(hdr);
+				db_delete(conn, i->trans_name, NULL);
+
+				own = (struct xs_tdb_record_hdr *)hdr;
+				own->generation = ++generation;
 				mode = (i->generation == NO_GENERATION)
 				       ? NODE_CREATE : NODE_MODIFY;
-				*is_corrupt |= db_write(conn, i->node, hdr,
+				*is_corrupt |= db_write(conn, i->node, own,
 							size, NULL, mode, true);
-				db_delete(conn, i->trans_name, NULL);
 			} else {
 				*is_corrupt = true;
 			}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:48:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:48:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583335.913537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSJ2-0006IO-RB; Mon, 14 Aug 2023 07:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583335.913537; Mon, 14 Aug 2023 07: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 1qVSJ2-0006IC-Mw; Mon, 14 Aug 2023 07:48:04 +0000
Received: by outflank-mailman (input) for mailman id 583335;
 Mon, 14 Aug 2023 07:48: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJ0-0001Z5-Td
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:02 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e47d1c19-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:01 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CF46E1FD60;
 Mon, 14 Aug 2023 07:48:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9F554138EE;
 Mon, 14 Aug 2023 07:48:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8MSKJTDc2WT5QQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e47d1c19-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999280; 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=DXnY62UcfwxZ/m4aPb0lB0BRBEjpoUfmdIGw7MWD1T8=;
	b=koVykkY2qgmUNyV2xBbRfR7JwHmxXgRndB192sfgLbrCYz/bGwH1QFp018MeH92KEJckjq
	pNIuNWsldoJ3wSkGSY2RB5qRBP/iHa0cbWeMobW0li0dbMeNTBl922/uD5sjuI4daJQgHJ
	giTzAvVF/0YQrXjndnUDnDFok+GfSzU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 09/19] tools/xenstore: rework struct xs_tdb_record_hdr
Date: Mon, 14 Aug 2023 09:46:57 +0200
Message-Id: <20230814074707.27696-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Struct xs_tdb_record_hdr is used for nodes stored in the data base.
When working on a node, struct node is being used, which is including
the same information as struct xs_tdb_record_hdr, but in a different
format. Rework struct xs_tdb_record_hdr in order to prepare including
it in struct node.

Do the following modifications:

- move its definition to xenstored_core.h, as the reason to put it into
  utils.h are no longer existing

- rename it to struct node_hdr, as the "tdb" in its name has only
  historical reasons

- replace the empty permission array at the end with a comment about
  the layout of data in the data base (concatenation of header,
  permissions, node contents, and children list)

- use narrower types for num_perms and datalen, as those are naturally
  limited to XENSTORE_PAYLOAD_MAX (childlen is different here, as it is
  in theory basically unlimited)

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V4:
- add BUILD_BUG_ON() for verifying datalen can hold large enough value
  for XENSTORE_PAYLOAD_MAX (Julien Grall)
- let perms_from_node_hdr() return const (Julien Grall)
- open code perms_from_node_hdr() for the non-const case (Julien Grall)
---
 tools/xenstore/utils.h                 |  9 -----
 tools/xenstore/xenstored_core.c        | 46 +++++++++++++++++---------
 tools/xenstore/xenstored_core.h        | 20 ++++++++++-
 tools/xenstore/xenstored_transaction.c |  6 ++--
 4 files changed, 53 insertions(+), 28 deletions(-)

diff --git a/tools/xenstore/utils.h b/tools/xenstore/utils.h
index 028ecb9d7a..405d662ea2 100644
--- a/tools/xenstore/utils.h
+++ b/tools/xenstore/utils.h
@@ -9,15 +9,6 @@
 
 #include "xenstore_lib.h"
 
-/* Header of the node record in tdb. */
-struct xs_tdb_record_hdr {
-	uint64_t generation;
-	uint32_t num_perms;
-	uint32_t datalen;
-	uint32_t childlen;
-	struct xs_permissions perms[0];
-};
-
 /* Is A == B ? */
 #define streq(a,b) (strcmp((a),(b)) == 0)
 
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 53e29aeb9a..9fc17a9efc 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -555,9 +555,9 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 	}
 }
 
-const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
+const struct node_hdr *db_fetch(const char *db_name, size_t *size)
 {
-	const struct xs_tdb_record_hdr *hdr;
+	const struct node_hdr *hdr;
 
 	hdr = hashtable_search(nodes, db_name);
 	if (!hdr) {
@@ -565,7 +565,7 @@ const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
 		return NULL;
 	}
 
-	*size = sizeof(*hdr) + hdr->num_perms * sizeof(hdr->perms[0]) +
+	*size = sizeof(*hdr) + hdr->num_perms * sizeof(struct xs_permissions) +
 		hdr->datalen + hdr->childlen;
 
 	trace_tdb("read %s size %zu\n", db_name, *size + strlen(db_name));
@@ -573,10 +573,16 @@ const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size)
 	return hdr;
 }
 
+static const struct xs_permissions *perms_from_node_hdr(
+	const struct node_hdr *hdr)
+{
+	return (const struct xs_permissions *)(hdr + 1);
+}
+
 static void get_acc_data(const char *name, struct node_account_data *acc)
 {
 	size_t size;
-	const struct xs_tdb_record_hdr *hdr;
+	const struct node_hdr *hdr;
 
 	if (acc->memory < 0) {
 		hdr = db_fetch(name, &size);
@@ -585,7 +591,7 @@ static void get_acc_data(const char *name, struct node_account_data *acc)
 			acc->memory = 0;
 		} else {
 			acc->memory = size;
-			acc->domid = hdr->perms[0].id;
+			acc->domid = perms_from_node_hdr(hdr)->id;
 		}
 	}
 }
@@ -606,7 +612,7 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 	     size_t size, struct node_account_data *acc,
 	     enum write_node_mode mode, bool no_quota_check)
 {
-	struct xs_tdb_record_hdr *hdr = data;
+	const struct node_hdr *hdr = data;
 	struct node_account_data old_acc = {};
 	unsigned int old_domid, new_domid;
 	size_t name_len = strlen(db_name);
@@ -620,7 +626,7 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 
 	get_acc_data(db_name, &old_acc);
 	old_domid = get_acc_domid(conn, db_name, old_acc.domid);
-	new_domid = get_acc_domid(conn, db_name, hdr->perms[0].id);
+	new_domid = get_acc_domid(conn, db_name, perms_from_node_hdr(hdr)->id);
 
 	/*
 	 * Don't check for ENOENT, as we want to be able to switch orphaned
@@ -661,7 +667,7 @@ int db_write(struct connection *conn, const char *db_name, void *data,
 
 	if (acc) {
 		/* Don't use new_domid, as it might be a transaction node. */
-		acc->domid = hdr->perms[0].id;
+		acc->domid = perms_from_node_hdr(hdr)->id;
 		acc->memory = size;
 	}
 
@@ -699,7 +705,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		       const char *name)
 {
 	size_t size;
-	const struct xs_tdb_record_hdr *hdr;
+	const struct node_hdr *hdr;
 	struct node *node;
 	const char *db_name;
 	int err;
@@ -733,12 +739,12 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	node->perms.num = hdr->num_perms;
 	node->datalen = hdr->datalen;
 	node->childlen = hdr->childlen;
-	node->acc.domid = hdr->perms[0].id;
+	node->acc.domid = perms_from_node_hdr(hdr)->id;
 	node->acc.memory = size;
 
 	/* Copy node data to new memory area, starting with permissions. */
 	size -= sizeof(*hdr);
-	node->perms.p = talloc_memdup(node, hdr->perms, size);
+	node->perms.p = talloc_memdup(node, perms_from_node_hdr(hdr), size);
 	if (node->perms.p == NULL) {
 		errno = ENOMEM;
 		goto error;
@@ -785,7 +791,7 @@ int write_node_raw(struct connection *conn, const char *db_name,
 	void *data;
 	size_t size;
 	void *p;
-	struct xs_tdb_record_hdr *hdr;
+	struct node_hdr *hdr;
 
 	if (domain_adjust_node_perms(node))
 		return errno;
@@ -806,15 +812,18 @@ int write_node_raw(struct connection *conn, const char *db_name,
 		return errno;
 	}
 
+	BUILD_BUG_ON(XENSTORE_PAYLOAD_MAX >= (typeof(hdr->datalen))(-1));
+
 	hdr = data;
 	hdr->generation = node->generation;
 	hdr->num_perms = node->perms.num;
 	hdr->datalen = node->datalen;
 	hdr->childlen = node->childlen;
 
-	memcpy(hdr->perms, node->perms.p,
-	       node->perms.num * sizeof(*node->perms.p));
-	p = hdr->perms + node->perms.num;
+	/* Open code perms_from_node_hdr() for the non-const case. */
+	p = hdr + 1;
+	memcpy(p, node->perms.p, node->perms.num * sizeof(*node->perms.p));
+	p += node->perms.num * sizeof(*node->perms.p);
 	memcpy(p, node->data, node->datalen);
 	p += node->datalen;
 	memcpy(p, node->children, node->childlen);
@@ -2144,6 +2153,13 @@ static void handle_input(struct connection *conn)
 			if (in->used != sizeof(in->hdr))
 				return;
 
+			/*
+			 * The payload size is not only currently restricted by
+			 * the protocol but also the internal implementation
+			 * (see various BUILD_BUG_ON()).
+			 * Any potential change of the maximum payload size
+			 * needs to be negotiated between the involved parties.
+			 */
 			if (in->hdr.msg.len > XENSTORE_PAYLOAD_MAX) {
 				syslog(LOG_ERR, "Client tried to feed us %i",
 				       in->hdr.msg.len);
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 4a370f766f..1a933892e3 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -168,6 +168,24 @@ struct connection
 };
 extern struct list_head connections;
 
+/*
+ * Header of the node record in the data base.
+ * In the data base the memory of the node is a single memory chunk with the
+ * following format:
+ * struct {
+ *     node_hdr hdr;
+ *     struct xs_permissions perms[hdr.num_perms];
+ *     char data[hdr.datalen];
+ *     char children[hdr.childlen];
+ * };
+ */
+struct node_hdr {
+	uint64_t generation;
+	uint16_t num_perms;
+	uint16_t datalen;
+	uint32_t childlen;
+};
+
 struct node_perms {
 	unsigned int num;
 	struct xs_permissions *p;
@@ -362,7 +380,7 @@ extern xengnttab_handle **xgt_handle;
 int remember_string(struct hashtable *hash, const char *str);
 
 /* Data base access functions. */
-const struct xs_tdb_record_hdr *db_fetch(const char *db_name, size_t *size);
+const struct node_hdr *db_fetch(const char *db_name, size_t *size);
 int db_write(struct connection *conn, const char *db_name, void *data,
 	     size_t size, struct node_account_data *acc,
 	     enum write_node_mode mode, bool no_quota_check);
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index a90283dcc5..9ca73b9874 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -357,7 +357,7 @@ static int finalize_transaction(struct connection *conn,
 {
 	struct accessed_node *i, *n;
 	size_t size;
-	const struct xs_tdb_record_hdr *hdr;
+	const struct node_hdr *hdr;
 	uint64_t gen;
 
 	list_for_each_entry_safe(i, n, &trans->accessed, list) {
@@ -394,12 +394,12 @@ static int finalize_transaction(struct connection *conn,
 				 * generation count.
 				 */
 				enum write_node_mode mode;
-				struct xs_tdb_record_hdr *own;
+				struct node_hdr *own;
 
 				talloc_increase_ref_count(hdr);
 				db_delete(conn, i->trans_name, NULL);
 
-				own = (struct xs_tdb_record_hdr *)hdr;
+				own = (struct node_hdr *)hdr;
 				own->generation = ++generation;
 				mode = (i->generation == NO_GENERATION)
 				       ? NODE_CREATE : NODE_MODIFY;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:54:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583350.913546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSPQ-0000Ji-NV; Mon, 14 Aug 2023 07:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583350.913546; Mon, 14 Aug 2023 07:54:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSPQ-0000Jb-Ku; Mon, 14 Aug 2023 07:54:40 +0000
Received: by outflank-mailman (input) for mailman id 583350;
 Mon, 14 Aug 2023 07:54:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVSPP-0000JT-Qn
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:54:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d11f4249-3a77-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:54:38 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A97274EE0737;
 Mon, 14 Aug 2023 09:54: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: d11f4249-3a77-11ee-b288-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 09:54:37 +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,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 5/6] vpic/msix: make 'get_slot' static
In-Reply-To: <fde117b3-f9e2-f98d-4301-04683d99635e@suse.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <6ff95436f704c852e6397a584eef65f9d1713999.1691676251.git.nicola.vetrini@bugseng.com>
 <fde117b3-f9e2-f98d-4301-04683d99635e@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <2c0f387f1a4f875f844e497f61f9fcc4@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 14/08/2023 09:44, Jan Beulich wrote:
> On 11.08.2023 09:19, Nicola Vetrini wrote:
>> The function can become static since it's used only within this file.
>> This also resolves a violation of MISRA C:2012 Rule 8.4 due to the 
>> absence
>> of a declaration before the function definition.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X 
>> table")
> 
> Nit (typo): In the title you mean "vpci/msix", just like this quoted
> commit has it. This is important-ish because we also have "vpic"
> elsewhere in the tree. (Can certainly be adjusted while committing.)
> 
> Jan

Yes, I meant to write 'vpci/msix'.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:56:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583356.913556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSRR-0000tN-2V; Mon, 14 Aug 2023 07:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583356.913556; Mon, 14 Aug 2023 07: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 1qVSRQ-0000tG-W0; Mon, 14 Aug 2023 07:56:44 +0000
Received: by outflank-mailman (input) for mailman id 583356;
 Mon, 14 Aug 2023 07:56:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVSRQ-0000t7-12
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:56:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bc2a17c-3a78-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:56:43 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id F0F1A4EE0737;
 Mon, 14 Aug 2023 09:56: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: 1bc2a17c-3a78-11ee-b288-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 09:56:42 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 6/6] drivers/video: make declarations of defined
 functions available
In-Reply-To: <d021c6a0-6826-351b-1613-82ec9ad85868@suse.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
 <d021c6a0-6826-351b-1613-82ec9ad85868@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <fe1c5eeeb01cb2690d80acec2bfdf721@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 14/08/2023 09:47, Jan Beulich wrote:
> On 11.08.2023 09:19, Nicola Vetrini wrote:
>> --- a/xen/drivers/video/vga.c
>> +++ b/xen/drivers/video/vga.c
>> @@ -9,6 +9,7 @@
>>  #include <xen/mm.h>
>>  #include <xen/param.h>
>>  #include <xen/vga.h>
>> +#include <xen/console.h>
> 
> xen/vga.h, which you move the declarations to, is already included 
> here.
> Why the need for xen/console.h?
> 
> Jan

vga.c needs a declaration for fill_console_start_info, which is declared 
in console.h, as
stated in the commit message (it could be clarified perhaps).

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:56:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583357.913568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSRT-00018x-AZ; Mon, 14 Aug 2023 07:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583357.913568; Mon, 14 Aug 2023 07: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 1qVSRT-00018q-66; Mon, 14 Aug 2023 07:56:47 +0000
Received: by outflank-mailman (input) for mailman id 583357;
 Mon, 14 Aug 2023 07:56: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=WLPj=D7=sipsolutions.net=johannes@srs-se1.protection.inumbo.net>)
 id 1qVSRR-0000tF-4K
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:56:46 +0000
Received: from sipsolutions.net (s3.sipsolutions.net [2a01:4f8:242:246e::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b6ec8aa-3a78-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:56:43 +0200 (CEST)
Received: by sipsolutions.net with esmtpsa
 (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from <johannes@sipsolutions.net>)
 id 1qVSQ8-006VTj-1d; Mon, 14 Aug 2023 09:55:24 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b6ec8aa-3a78-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=sipsolutions.net; s=mail; h=MIME-Version:Content-Transfer-Encoding:
	Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To:
	Resent-Cc:Resent-Message-ID; bh=2P1CtK0EpHYNB0bkUEbNbkfg4BjOcYJ3BMKesAvDyvc=;
	t=1691999803; x=1693209403; b=WKNykBHqv/J0FfY04pWh1bZQ0pnJYL70gG91iyZM4huSCGx
	aVhEeCd3d+yUEUQvhqQ+zEp9jfMhZcX4+kY6EkGuAtKIWJg0G6ufSMcisVY9fXV/kwjPLIbCdOMg+
	ebimUe+Vv3ZT5cbPbVfKpqB+1JOElzS+/Gfy7MJGg68Vj4prjKKHDXnWgLPTPdTy0aMj2oVtwLSrr
	N1arGzClyg0SqnwDYt1t+1ciiM1+LgA/xa86z2VXAnK9PLVikw9ou60+ZruT/LFTQHsQu2d1ntFwy
	VHSAf3nYw4s+yOZwLB5hG0CrvAfp9SoC5QmMEx/g/T4V42Bt22cqxgXzW4X0Ks1Q==;
Message-ID: <8c6d19da5c4c38062b7a4e500de1d5dc1280fbc8.camel@sipsolutions.net>
Subject: Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
From: Johannes Berg <johannes@sipsolutions.net>
To: Ratheesh Kannoth <rkannoth@marvell.com>, netdev@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
 pabeni@redhat.com,  ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org,
 john.fastabend@gmail.com,  jiawenwu@trustnetic.com,
 mengyuanlou@net-swift.com, yang.lee@linux.alibaba.com,  error27@gmail.com,
 linyunsheng@huawei.com, linux-hyperv@vger.kernel.org,  kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, 
 longli@microsoft.com, shradhagupta@linux.microsoft.com, 
 linux-hwmon@vger.kernel.org, michael.chan@broadcom.com,
 richardcochran@gmail.com,  jdelvare@suse.com, linux@roeck-us.net,
 yisen.zhuang@huawei.com,  salil.mehta@huawei.com,
 linux-arm-kernel@lists.infradead.org,  linux-mediatek@lists.infradead.org,
 nbd@nbd.name, john@phrozen.org,  sean.wang@mediatek.com,
 Mark-MC.Lee@mediatek.com, lorenzo@kernel.org,  matthias.bgg@gmail.com,
 angelogioacchino.delregno@collabora.com,  linux@armlinux.org.uk,
 linux-rdma@vger.kernel.org, saeedm@nvidia.com,  leon@kernel.org,
 gerhard@engleder-embedded.com, maciej.fijalkowski@intel.com, 
 alexanderduyck@fb.com, wei.fang@nxp.com, shenwei.wang@nxp.com, 
 xiaoning.wang@nxp.com, linux-imx@nxp.com, lgirdwood@gmail.com,
 broonie@kernel.org,  jaswinder.singh@linaro.org,
 ilias.apalodimas@linaro.org,  UNGLinuxDriver@microchip.com,
 horatiu.vultur@microchip.com,  linux-omap@vger.kernel.org,
 grygorii.strashko@ti.com, simon.horman@corigine.com, 
 vladimir.oltean@nxp.com, aleksander.lobakin@intel.com, 
 linux-stm32@st-md-mailman.stormreply.com, alexandre.torgue@foss.st.com, 
 joabreu@synopsys.com, mcoquelin.stm32@gmail.com, p.zabel@pengutronix.de, 
 thomas.petazzoni@bootlin.com, mw@semihalf.com, sgoutham@marvell.com, 
 gakula@marvell.com, sbhatta@marvell.com, hkelam@marvell.com, 
 xen-devel@lists.xenproject.org, jgross@suse.com, sstabellini@kernel.org, 
 oleksandr_tyshchenko@epam.com, linux-wireless@vger.kernel.org, 
 ryder.lee@mediatek.com, shayne.chen@mediatek.com, kvalo@kernel.org, 
 andrii@kernel.org, martin.lau@linux.dev, song@kernel.org,
 yonghong.song@linux.dev,  kpsingh@kernel.org, sdf@google.com,
 haoluo@google.com, jolsa@kernel.org
Date: Mon, 14 Aug 2023 09:54:56 +0200
In-Reply-To: <20230814060411.2401817-1-rkannoth@marvell.com>
References: <20230814060411.2401817-1-rkannoth@marvell.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0
X-malware-bazaar: not-scanned

On Mon, 2023-08-14 at 11:34 +0530, Ratheesh Kannoth wrote:
> Clamp to 32k instead of returning error.
>=20
> Please find discussion at
> https://lore.kernel.org/lkml/
> CY4PR1801MB1911E15D518A77535F6E51E2D308A@CY4PR1801MB1911.
> namprd18.prod.outlook.com/T/
>=20

I'm not the one who's going to apply this, but honestly, I don't think
that will work as a commit message for such a change ...

Sure, link to it by all means, but also summarize it and make sense of
it for the commit message?

johannes


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:57:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583367.913577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSS2-0001vq-Ht; Mon, 14 Aug 2023 07:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583367.913577; Mon, 14 Aug 2023 07:57:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSS2-0001vj-EE; Mon, 14 Aug 2023 07:57:22 +0000
Received: by outflank-mailman (input) for mailman id 583367;
 Mon, 14 Aug 2023 07:57:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJ7-0001Z5-0z
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7d8b8c9-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 77C571FD60;
 Mon, 14 Aug 2023 07:48:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 472E8138EE;
 Mon, 14 Aug 2023 07:48:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OBziDzbc2WQKQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48: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: e7d8b8c9-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999286; 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=pS7n5aNF6W6byOZyyz9BPRD9ydqUfPbZuBEl5+J7NGQ=;
	b=FpFWhctUZcHHH75AJDzgvLoiHJUQwIBdte94uEgcWk46sCxZEAxwfTOLEY1eGqRcvG1Yrj
	Sm4o5I6JYsNn/S8c9PpZ6HsSrZh8Q9zaj1BUjZQ6kSDdNhzJOQcQGajeYKDexDwzxvvCfc
	LYeO7v4UG8SXKjwhOKuJCB0MW7boa4A=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 10/19] tools/xenstore: don't use struct node_perms in struct node
Date: Mon, 14 Aug 2023 09:46:58 +0200
Message-Id: <20230814074707.27696-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Open code struct node_perms in struct node in order to prepare using
struct node_hdr in struct node.

Add two helpers to transfer permissions between struct node and struct
node_perms and a helper to directly get connection base permissions
from a node.

Let perms_to_strings() take a struct node as parameter and rename it
to node_perms_to_strings().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V4:
- add perm_for_conn_from_node() helper (Julien Grall)
- let perms_to_strings() take the node as parameter (Julien Grall)
- rename perms_to_strings()
---
 tools/xenstore/xenstored_core.c        | 86 +++++++++++++-------------
 tools/xenstore/xenstored_core.h        | 31 +++++++++-
 tools/xenstore/xenstored_domain.c      | 13 ++--
 tools/xenstore/xenstored_transaction.c |  8 +--
 tools/xenstore/xenstored_watch.c       |  4 +-
 5 files changed, 83 insertions(+), 59 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 9fc17a9efc..d7a4f0f1cb 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -736,7 +736,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 
 	/* Datalen, childlen, number of permissions */
 	node->generation = hdr->generation;
-	node->perms.num = hdr->num_perms;
+	node->num_perms = hdr->num_perms;
 	node->datalen = hdr->datalen;
 	node->childlen = hdr->childlen;
 	node->acc.domid = perms_from_node_hdr(hdr)->id;
@@ -744,8 +744,8 @@ struct node *read_node(struct connection *conn, const void *ctx,
 
 	/* Copy node data to new memory area, starting with permissions. */
 	size -= sizeof(*hdr);
-	node->perms.p = talloc_memdup(node, perms_from_node_hdr(hdr), size);
-	if (node->perms.p == NULL) {
+	node->perms = talloc_memdup(node, perms_from_node_hdr(hdr), size);
+	if (node->perms == NULL) {
 		errno = ENOMEM;
 		goto error;
 	}
@@ -758,7 +758,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		node->acc.memory = 0;
 
 	/* Data is binary blob (usually ascii, no nul). */
-	node->data = node->perms.p + hdr->num_perms;
+	node->data = node->perms + hdr->num_perms;
 	/* Children is strings, nul separated. */
 	node->children = node->data + node->datalen;
 
@@ -797,7 +797,7 @@ int write_node_raw(struct connection *conn, const char *db_name,
 		return errno;
 
 	size = sizeof(*hdr)
-		+ node->perms.num * sizeof(node->perms.p[0])
+		+ node->num_perms * sizeof(node->perms[0])
 		+ node->datalen + node->childlen;
 
 	/* Call domain_max_chk() in any case in order to record max values. */
@@ -816,14 +816,14 @@ int write_node_raw(struct connection *conn, const char *db_name,
 
 	hdr = data;
 	hdr->generation = node->generation;
-	hdr->num_perms = node->perms.num;
+	hdr->num_perms = node->num_perms;
 	hdr->datalen = node->datalen;
 	hdr->childlen = node->childlen;
 
 	/* Open code perms_from_node_hdr() for the non-const case. */
 	p = hdr + 1;
-	memcpy(p, node->perms.p, node->perms.num * sizeof(*node->perms.p));
-	p += node->perms.num * sizeof(*node->perms.p);
+	memcpy(p, node->perms, node->num_perms * sizeof(*node->perms));
+	p += node->num_perms * sizeof(*node->perms);
 	memcpy(p, node->data, node->datalen);
 	p += node->datalen;
 	memcpy(p, node->children, node->childlen);
@@ -923,7 +923,8 @@ static int ask_parents(struct connection *conn, const void *ctx,
 		return 0;
 	}
 
-	*perm = perm_for_conn(conn, &node->perms);
+	*perm = perm_for_conn_from_node(conn, node);
+
 	return 0;
 }
 
@@ -963,11 +964,9 @@ static struct node *get_node(struct connection *conn,
 
 	node = read_node(conn, ctx, name);
 	/* If we don't have permission, we don't have node. */
-	if (node) {
-		if ((perm_for_conn(conn, &node->perms) & perm) != perm) {
-			errno = EACCES;
-			node = NULL;
-		}
+	if (node && (perm_for_conn_from_node(conn, node) & perm) != perm) {
+		errno = EACCES;
+		node = NULL;
 	}
 	/* Clean up errno if they weren't supposed to know. */
 	if (!node && !read_node_can_propagate_errno())
@@ -1211,19 +1210,18 @@ const char *onearg(struct buffered_data *in)
 	return in->buffer;
 }
 
-static char *perms_to_strings(const void *ctx, const struct node_perms *perms,
-			      unsigned int *len)
+static char *node_perms_to_strings(const struct node *node, unsigned int *len)
 {
 	unsigned int i;
 	char *strings = NULL;
 	char buffer[MAX_STRLEN(unsigned int) + 1];
 
-	for (*len = 0, i = 0; i < perms->num; i++) {
-		if (!xenstore_perm_to_string(&perms->p[i], buffer,
+	for (*len = 0, i = 0; i < node->num_perms; i++) {
+		if (!xenstore_perm_to_string(&node->perms[i], buffer,
 					     sizeof(buffer)))
 			return NULL;
 
-		strings = talloc_realloc(ctx, strings, char,
+		strings = talloc_realloc(node, strings, char,
 					 *len + strlen(buffer) + 1);
 		if (!strings)
 			return NULL;
@@ -1438,14 +1436,14 @@ static struct node *construct_node(struct connection *conn, const void *ctx,
 		node->name = talloc_steal(node, names[levels - 1]);
 
 		/* Inherit permissions, unpriv domains own what they create. */
-		node->perms.num = parent->perms.num;
-		node->perms.p = talloc_memdup(node, parent->perms.p,
-					      node->perms.num *
-					      sizeof(*node->perms.p));
-		if (!node->perms.p)
+		node->num_perms = parent->num_perms;
+		node->perms = talloc_memdup(node, parent->perms,
+					    node->num_perms *
+					    sizeof(*node->perms));
+		if (!node->perms)
 			goto nomem;
 		if (domain_is_unprivileged(conn))
-			node->perms.p[0].id = conn->id;
+			node->perms[0].id = conn->id;
 
 		/* No children, no data */
 		node->children = node->data = NULL;
@@ -1773,7 +1771,7 @@ static int do_get_perms(const void *ctx, struct connection *conn,
 	if (!node)
 		return errno;
 
-	strings = perms_to_strings(node, &node->perms, &len);
+	strings = node_perms_to_strings(node, &len);
 	if (!strings)
 		return errno;
 
@@ -1822,10 +1820,10 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 	    perms.p[0].id != get_node_owner(node))
 		return EPERM;
 
-	old_perms = node->perms;
+	node_to_node_perms(node, &old_perms);
 	if (domain_nbentry_dec(conn, get_node_owner(node)))
 		return ENOMEM;
-	node->perms = perms;
+	node_perms_to_node(&perms, node);
 	if (domain_nbentry_inc(conn, get_node_owner(node)))
 		return ENOMEM;
 
@@ -2344,8 +2342,8 @@ static void manual_node(const char *name, const char *child)
 		barf_perror("Could not allocate initial node %s", name);
 
 	node->name = name;
-	node->perms.p = &perms;
-	node->perms.num = 1;
+	node->perms = &perms;
+	node->num_perms = 1;
 	node->children = (char *)child;
 	if (child)
 		node->childlen = strlen(child) + 1;
@@ -3216,10 +3214,10 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	sn.conn_id = 0;
 	sn.ta_id = 0;
 	sn.ta_access = 0;
-	sn.perm_n = node->perms.num;
+	sn.perm_n = node->num_perms;
 	sn.path_len = pathlen;
 	sn.data_len = node->datalen;
-	head.length += node->perms.num * sizeof(*sn.perms);
+	head.length += node->num_perms * sizeof(*sn.perms);
 	head.length += pathlen;
 	head.length += node->datalen;
 	head.length = ROUNDUP(head.length, 3);
@@ -3229,7 +3227,7 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	if (fwrite(&sn, sizeof(sn), 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node state error");
 
-	ret = dump_state_node_perms(fp, node->perms.p, node->perms.num);
+	ret = dump_state_node_perms(fp, node->perms, node->num_perms);
 	if (ret)
 		return dump_state_node_err(data, ret);
 
@@ -3426,29 +3424,29 @@ void read_state_node(const void *ctx, const void *state)
 	node->data = name + sn->path_len;
 	node->childlen = 0;
 	node->children = NULL;
-	node->perms.num = sn->perm_n;
-	node->perms.p = talloc_array(node, struct xs_permissions,
-				     node->perms.num);
-	if (!node->perms.p)
+	node->num_perms = sn->perm_n;
+	node->perms = talloc_array(node, struct xs_permissions,
+				   node->num_perms);
+	if (!node->perms)
 		barf("allocation error restoring node");
-	for (i = 0; i < node->perms.num; i++) {
+	for (i = 0; i < node->num_perms; i++) {
 		switch (sn->perms[i].access) {
 		case 'r':
-			node->perms.p[i].perms = XS_PERM_READ;
+			node->perms[i].perms = XS_PERM_READ;
 			break;
 		case 'w':
-			node->perms.p[i].perms = XS_PERM_WRITE;
+			node->perms[i].perms = XS_PERM_WRITE;
 			break;
 		case 'b':
-			node->perms.p[i].perms = XS_PERM_READ | XS_PERM_WRITE;
+			node->perms[i].perms = XS_PERM_READ | XS_PERM_WRITE;
 			break;
 		default:
-			node->perms.p[i].perms = XS_PERM_NONE;
+			node->perms[i].perms = XS_PERM_NONE;
 			break;
 		}
 		if (sn->perms[i].flags & XS_STATE_NODE_PERM_IGNORE)
-			node->perms.p[i].perms |= XS_PERM_IGNORE;
-		node->perms.p[i].id = sn->perms[i].domid;
+			node->perms[i].perms |= XS_PERM_IGNORE;
+		node->perms[i].id = sn->perms[i].domid;
 	}
 
 	if (!strstarts(name, "@")) {
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 1a933892e3..4bed462dda 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -209,7 +209,8 @@ struct node {
 #define NO_GENERATION ~((uint64_t)0)
 
 	/* Permissions. */
-	struct node_perms perms;
+	unsigned int num_perms;
+	struct xs_permissions *perms;
 
 	/* Contents. */
 	unsigned int datalen;
@@ -251,7 +252,33 @@ unsigned int perm_for_conn(struct connection *conn,
 /* Get owner of a node. */
 static inline unsigned int get_node_owner(const struct node *node)
 {
-	return node->perms.p[0].id;
+	return node->perms[0].id;
+}
+
+/* Transfer permissions from node to struct node_perms. */
+static inline void node_to_node_perms(const struct node *node,
+				      struct node_perms *perms)
+{
+	perms->num = node->num_perms;
+	perms->p = node->perms;
+}
+
+static inline unsigned int perm_for_conn_from_node(struct connection *conn,
+						   const struct node *node)
+{
+	struct node_perms perms;
+
+	node_to_node_perms(node, &perms);
+
+	return perm_for_conn(conn, &perms);
+}
+
+/* Transfer permissions from struct node_perms to node. */
+static inline void node_perms_to_node(const struct node_perms *perms,
+				      struct node *node)
+{
+	node->num_perms = perms->num;
+	node->perms = perms->p;
 }
 
 /* Write a node to the data base. */
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 10d2280f84..1ba73d9db2 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -513,12 +513,12 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 	struct domain *domain = arg;
 	int ret = WALK_TREE_OK;
 
-	if (node->perms.p[0].id != domain->domid)
+	if (node->perms[0].id != domain->domid)
 		return WALK_TREE_OK;
 
 	if (keep_orphans) {
 		domain_nbentry_dec(NULL, domain->domid);
-		node->perms.p[0].id = priv_domid;
+		node->perms[0].id = priv_domid;
 		node->acc.memory = 0;
 		domain_nbentry_inc(NULL, priv_domid);
 		if (write_node_raw(NULL, node->name, node, NODE_MODIFY, true)) {
@@ -1335,12 +1335,11 @@ int domain_adjust_node_perms(struct node *node)
 {
 	unsigned int i;
 
-	for (i = 1; i < node->perms.num; i++) {
-		if (node->perms.p[i].perms & XS_PERM_IGNORE)
+	for (i = 1; i < node->num_perms; i++) {
+		if (node->perms[i].perms & XS_PERM_IGNORE)
 			continue;
-		if (!chk_domain_generation(node->perms.p[i].id,
-					   node->generation))
-			node->perms.p[i].perms |= XS_PERM_IGNORE;
+		if (!chk_domain_generation(node->perms[i].id, node->generation))
+			node->perms[i].perms |= XS_PERM_IGNORE;
 	}
 
 	return 0;
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 9ca73b9874..213a2c436c 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -259,13 +259,13 @@ int access_node(struct connection *conn, struct node *node,
 		if (!i->trans_name)
 			goto nomem;
 		i->node = strchr(i->trans_name, '/') + 1;
-		if (node->generation != NO_GENERATION && node->perms.num) {
+		if (node->generation != NO_GENERATION && node->num_perms) {
 			i->perms.p = talloc_array(i, struct xs_permissions,
-						  node->perms.num);
+						  node->num_perms);
 			if (!i->perms.p)
 				goto nomem;
-			i->perms.num = node->perms.num;
-			memcpy(i->perms.p, node->perms.p,
+			i->perms.num = node->num_perms;
+			memcpy(i->perms.p, node->perms,
 			       i->perms.num * sizeof(*i->perms.p));
 		}
 
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index fefbf56ab2..5767675e04 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -92,7 +92,7 @@ static bool watch_permitted(struct connection *conn, const void *ctx,
 			return false;
 	}
 
-	perm = perm_for_conn(conn, &node->perms);
+	perm = perm_for_conn_from_node(conn, node);
 	if (perm & XS_PERM_READ)
 		return true;
 
@@ -106,7 +106,7 @@ static bool watch_permitted(struct connection *conn, const void *ctx,
 			return false;
 	}
 
-	perm = perm_for_conn(conn, &parent->perms);
+	perm = perm_for_conn_from_node(conn, parent);
 
 	return perm & XS_PERM_READ;
 }
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:57:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583369.913587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSS3-0002Be-QN; Mon, 14 Aug 2023 07:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583369.913587; Mon, 14 Aug 2023 07: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 1qVSS3-0002BT-M7; Mon, 14 Aug 2023 07:57:23 +0000
Received: by outflank-mailman (input) for mailman id 583369;
 Mon, 14 Aug 2023 07:57:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJv-0001Z5-87
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05eed599-3a77-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:57 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E9C3B2195D;
 Mon, 14 Aug 2023 07:48:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9C48D138EE;
 Mon, 14 Aug 2023 07:48:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GahuJGjc2WRoQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48: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: 05eed599-3a77-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999336; 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=RTtG4ZlTmw+FGZA+n4pbgSw5qea+sCms8f633blDRdM=;
	b=UNgp0Jl8vR6cYpKb+z9eTQ7yVetYvgmEBAxPeA09LVbdznTYg5mcrqjGgUCs8rmVh+vwc+
	QVpyxxWWR6AIQkZrSlp7wHDcwD2oeGQLAktcvrIU2MMZHf2tp+zLaxnB7/CD1gQeE7kYEP
	9NjTEh3hXkks/BND66mvS7wSe7wKE2o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH v4 19/19] tools/xenstore: move xenstored sources into dedicated directory
Date: Mon, 14 Aug 2023 09:47:07 +0200
Message-Id: <20230814074707.27696-20-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In tools/xenstore there are living xenstored and xenstore clients.
They are no longer sharing anything apart from the "xenstore" in their
names.

Move the xenstored sources into a new directory tools/xenstored while
dropping the "xenstored_" prefix from their names. This will make it
clearer that xenstore clients and xenstored are independent from each
other.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
After the large overhaul of xenstored I think such a reorg would make
sense to go into the same Xen version. Delaying it until the next
version would make potential backports for 4.18 harder.
V4:
- new patch
---
 .gitignore                                    |  2 +-
 MAINTAINERS                                   |  1 +
 stubdom/Makefile                              |  4 +-
 tools/Makefile                                |  1 +
 tools/xenstore/Makefile                       | 30 ++----------
 tools/xenstored/Makefile                      | 48 +++++++++++++++++++
 tools/{xenstore => xenstored}/Makefile.common | 13 +++--
 tools/{xenstore => xenstored}/README          |  0
 .../control.c}                                |  8 ++--
 .../control.h}                                |  0
 .../xenstored_core.c => xenstored/core.c}     | 14 +++---
 .../xenstored_core.h => xenstored/core.h}     |  0
 .../xenstored_domain.c => xenstored/domain.c} | 10 ++--
 .../xenstored_domain.h => xenstored/domain.h} |  0
 tools/{xenstore => xenstored}/hashtable.c     |  0
 tools/{xenstore => xenstored}/hashtable.h     |  0
 tools/{xenstore => xenstored}/list.h          |  0
 .../xenstored_lu.c => xenstored/lu.c}         |  8 ++--
 .../xenstored_lu.h => xenstored/lu.h}         |  0
 .../lu_daemon.c}                              |  4 +-
 .../lu_minios.c}                              |  2 +-
 .../xenstored_minios.c => xenstored/minios.c} |  2 +-
 .../xenstored_osdep.h => xenstored/osdep.h}   |  0
 .../xenstored_posix.c => xenstored/posix.c}   |  4 +-
 tools/{xenstore => xenstored}/talloc.c        |  0
 tools/{xenstore => xenstored}/talloc.h        |  0
 .../{xenstore => xenstored}/talloc_guide.txt  |  0
 .../transaction.c}                            |  6 +--
 .../transaction.h}                            |  2 +-
 tools/{xenstore => xenstored}/utils.c         |  0
 tools/{xenstore => xenstored}/utils.h         |  0
 .../xenstored_watch.c => xenstored/watch.c}   |  6 +--
 .../xenstored_watch.h => xenstored/watch.h}   |  2 +-
 .../include => xenstored}/xenstore_state.h    |  0
 34 files changed, 98 insertions(+), 69 deletions(-)
 create mode 100644 tools/xenstored/Makefile
 rename tools/{xenstore => xenstored}/Makefile.common (50%)
 rename tools/{xenstore => xenstored}/README (100%)
 rename tools/{xenstore/xenstored_control.c => xenstored/control.c} (98%)
 rename tools/{xenstore/xenstored_control.h => xenstored/control.h} (100%)
 rename tools/{xenstore/xenstored_core.c => xenstored/core.c} (99%)
 rename tools/{xenstore/xenstored_core.h => xenstored/core.h} (100%)
 rename tools/{xenstore/xenstored_domain.c => xenstored/domain.c} (99%)
 rename tools/{xenstore/xenstored_domain.h => xenstored/domain.h} (100%)
 rename tools/{xenstore => xenstored}/hashtable.c (100%)
 rename tools/{xenstore => xenstored}/hashtable.h (100%)
 rename tools/{xenstore => xenstored}/list.h (100%)
 rename tools/{xenstore/xenstored_lu.c => xenstored/lu.c} (98%)
 rename tools/{xenstore/xenstored_lu.h => xenstored/lu.h} (100%)
 rename tools/{xenstore/xenstored_lu_daemon.c => xenstored/lu_daemon.c} (97%)
 rename tools/{xenstore/xenstored_lu_minios.c => xenstored/lu_minios.c} (98%)
 rename tools/{xenstore/xenstored_minios.c => xenstored/minios.c} (97%)
 rename tools/{xenstore/xenstored_osdep.h => xenstored/osdep.h} (100%)
 rename tools/{xenstore/xenstored_posix.c => xenstored/posix.c} (98%)
 rename tools/{xenstore => xenstored}/talloc.c (100%)
 rename tools/{xenstore => xenstored}/talloc.h (100%)
 rename tools/{xenstore => xenstored}/talloc_guide.txt (100%)
 rename tools/{xenstore/xenstored_transaction.c => xenstored/transaction.c} (99%)
 rename tools/{xenstore/xenstored_transaction.h => xenstored/transaction.h} (98%)
 rename tools/{xenstore => xenstored}/utils.c (100%)
 rename tools/{xenstore => xenstored}/utils.h (100%)
 rename tools/{xenstore/xenstored_watch.c => xenstored/watch.c} (98%)
 rename tools/{xenstore/xenstored_watch.h => xenstored/watch.h} (98%)
 rename tools/{xenstore/include => xenstored}/xenstore_state.h (100%)

diff --git a/.gitignore b/.gitignore
index c1b73b0968..4314e4e7e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -247,7 +247,7 @@ tools/xenstore/xenstore-read
 tools/xenstore/xenstore-rm
 tools/xenstore/xenstore-watch
 tools/xenstore/xenstore-write
-tools/xenstore/xenstored
+tools/xenstored/xenstored
 tools/xentop/xentop
 tools/xentrace/xentrace_setsize
 tools/xentrace/tbctl
diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..25493999ff 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -670,6 +670,7 @@ F:	tools/include/xenstore_lib.h
 F:	tools/include/xen-tools/xenstore-common.h
 F:	tools/libs/store/
 F:	tools/xenstore/
+F:	tools/xenstored/
 
 XENTRACE
 M:	George Dunlap <george.dunlap@citrix.com>
diff --git a/stubdom/Makefile b/stubdom/Makefile
index d5fb354e7e..52bf7f0e21 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -371,10 +371,10 @@ endef
 
 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
 
-xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
-xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
 LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
diff --git a/tools/Makefile b/tools/Makefile
index 1ff90ddfa0..1b12b2ce78 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -9,6 +9,7 @@ SUBDIRS-y += libs
 SUBDIRS-y += flask
 SUBDIRS-y += fuzz
 SUBDIRS-y += xenstore
+SUBDIRS-$(XENSTORE_XENSTORED) += xenstored
 SUBDIRS-y += misc
 SUBDIRS-y += examples
 SUBDIRS-y += hotplug
diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
index dc39b6cb31..1c5740450a 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -1,18 +1,11 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-include Makefile.common
-
-xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
-xenstored: LDLIBS += $(LDLIBS_libxengnttab)
-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
+CFLAGS += -include $(XEN_ROOT)/tools/config.h
+CFLAGS += $(CFLAGS_libxenctrl)
+CFLAGS += $(CFLAGS_libxenguest)
+CFLAGS += $(CFLAGS_libxentoolcore)
+CFLAGS += $(CFLAGS_libxenstore)
 
 xenstore: LDLIBS += $(LDLIBS_libxenstore)
 xenstore: LDLIBS += $(LDLIBS_libxentoolcore)
@@ -28,9 +21,6 @@ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmo
 CLIENTS += xenstore-write xenstore-ls xenstore-watch
 
 TARGETS := xenstore $(CLIENTS) xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-TARGETS += xenstored
-endif
 
 .PHONY: all
 all: $(TARGETS)
@@ -38,9 +28,6 @@ all: $(TARGETS)
 .PHONY: clients
 clients: xenstore $(CLIENTS) xenstore-control
 
-xenstored: $(XENSTORED_OBJS-y)
-	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
-
 $(CLIENTS): xenstore
 	ln -f xenstore $@
 
@@ -64,10 +51,6 @@ TAGS:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
-ifeq ($(XENSTORE_XENSTORED),y)
-	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
-endif
 	$(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
 	set -e ; for c in $(CLIENTS) ; do \
@@ -79,9 +62,6 @@ uninstall:
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS))
 	rm -f $(DESTDIR)$(bindir)/xenstore
 	rm -f $(DESTDIR)$(bindir)/xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-	rm -f $(DESTDIR)$(sbindir)/xenstored
-endif
 	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
 		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
 	fi
diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
new file mode 100644
index 0000000000..f3bd3d43c4
--- /dev/null
+++ b/tools/xenstored/Makefile
@@ -0,0 +1,48 @@
+XEN_ROOT=$(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+include Makefile.common
+
+xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
+xenstored: LDLIBS += $(LDLIBS_libxengnttab)
+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
+all: $(TARGETS)
+
+xenstored: $(XENSTORED_OBJS-y)
+	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
+
+.PHONY: clean
+clean::
+	$(RM) $(TARGETS) $(DEPS_RM)
+
+.PHONY: distclean
+distclean: clean
+
+.PHONY: TAGS
+TAGS:
+	etags `find . -name '*.[ch]'`
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
+	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)$(sbindir)/xenstored
+	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
+		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
+	fi
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstored/Makefile.common
similarity index 50%
rename from tools/xenstore/Makefile.common
rename to tools/xenstored/Makefile.common
index 41973a8a5e..189ab81b8d 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstored/Makefile.common
@@ -1,17 +1,16 @@
 # Makefile shared with stubdom
 
-XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
-XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
+XENSTORED_OBJS-y := core.o watch.o domain.o
+XENSTORED_OBJS-y += transaction.o control.o lu.o
 XENSTORED_OBJS-y += talloc.o utils.o hashtable.o
 
-XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o
+XENSTORED_OBJS-$(CONFIG_Linux) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_NetBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_FreeBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_MiniOS) += minios.o lu_minios.o
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-CFLAGS += -I./include
 CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
diff --git a/tools/xenstore/README b/tools/xenstored/README
similarity index 100%
rename from tools/xenstore/README
rename to tools/xenstored/README
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstored/control.c
similarity index 98%
rename from tools/xenstore/xenstored_control.c
rename to tools/xenstored/control.c
index 3bdf2edc34..b2f64d674f 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstored/control.c
@@ -27,10 +27,10 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_control.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "control.h"
+#include "domain.h"
+#include "lu.h"
 
 struct cmd_s {
 	char *cmd;
diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstored/control.h
similarity index 100%
rename from tools/xenstore/xenstored_control.h
rename to tools/xenstored/control.h
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstored/core.c
similarity index 99%
rename from tools/xenstore/xenstored_core.c
rename to tools/xenstored/core.c
index 7de4df2f28..092de76a2e 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstored/core.c
@@ -47,12 +47,12 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_watch.h"
-#include "xenstored_transaction.h"
-#include "xenstored_domain.h"
-#include "xenstored_control.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "watch.h"
+#include "transaction.h"
+#include "domain.h"
+#include "control.h"
+#include "lu.h"
 
 #ifndef NO_SOCKETS
 #if defined(HAVE_SYSTEMD)
@@ -64,7 +64,7 @@
 #include <systemd/sd-daemon.h>
 #endif
 
-extern xenevtchn_handle *xce_handle; /* in xenstored_domain.c */
+extern xenevtchn_handle *xce_handle; /* in domain.c */
 static int xce_pollfd_idx = -1;
 static struct pollfd *fds;
 static unsigned int current_array_size;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstored/core.h
similarity index 100%
rename from tools/xenstore/xenstored_core.h
rename to tools/xenstored/core.h
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstored/domain.c
similarity index 99%
rename from tools/xenstore/xenstored_domain.c
rename to tools/xenstored/domain.c
index 1bf138c8b1..a6cd199fdc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstored/domain.c
@@ -27,11 +27,11 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_control.h"
+#include "core.h"
+#include "domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "control.h"
 
 #include <xenevtchn.h>
 #include <xenctrl.h>
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstored/domain.h
similarity index 100%
rename from tools/xenstore/xenstored_domain.h
rename to tools/xenstored/domain.h
diff --git a/tools/xenstore/hashtable.c b/tools/xenstored/hashtable.c
similarity index 100%
rename from tools/xenstore/hashtable.c
rename to tools/xenstored/hashtable.c
diff --git a/tools/xenstore/hashtable.h b/tools/xenstored/hashtable.h
similarity index 100%
rename from tools/xenstore/hashtable.h
rename to tools/xenstored/hashtable.h
diff --git a/tools/xenstore/list.h b/tools/xenstored/list.h
similarity index 100%
rename from tools/xenstore/list.h
rename to tools/xenstored/list.h
diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstored/lu.c
similarity index 98%
rename from tools/xenstore/xenstored_lu.c
rename to tools/xenstored/lu.c
index f7f76acbf9..2f41d10c95 100644
--- a/tools/xenstore/xenstored_lu.c
+++ b/tools/xenstored/lu.c
@@ -13,10 +13,10 @@
 #include <time.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
-#include "xenstored_watch.h"
+#include "core.h"
+#include "domain.h"
+#include "lu.h"
+#include "watch.h"
 
 #ifndef NO_LIVE_UPDATE
 struct live_update *lu_status;
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstored/lu.h
similarity index 100%
rename from tools/xenstore/xenstored_lu.h
rename to tools/xenstored/lu.h
diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstored/lu_daemon.c
similarity index 97%
rename from tools/xenstore/xenstored_lu_daemon.c
rename to tools/xenstored/lu_daemon.c
index 8c7522b0e1..71bcabadd3 100644
--- a/tools/xenstore/xenstored_lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -13,8 +13,8 @@
 #include <xen-tools/xenstore-common.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "lu.h"
 
 #ifndef NO_LIVE_UPDATE
 void lu_get_dump_state(struct lu_dump_state *state)
diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstored/lu_minios.c
similarity index 98%
rename from tools/xenstore/xenstored_lu_minios.c
rename to tools/xenstored/lu_minios.c
index ae0483575e..ede8b4dd47 100644
--- a/tools/xenstore/xenstored_lu_minios.c
+++ b/tools/xenstored/lu_minios.c
@@ -14,7 +14,7 @@
 #include <xen-tools/common-macros.h>
 
 #include "talloc.h"
-#include "xenstored_lu.h"
+#include "lu.h"
 
 /* Mini-OS only knows about MAP_ANON. */
 #ifndef MAP_ANONYMOUS
diff --git a/tools/xenstore/xenstored_minios.c b/tools/xenstored/minios.c
similarity index 97%
rename from tools/xenstore/xenstored_minios.c
rename to tools/xenstored/minios.c
index aa384e50c8..b5c3a205e6 100644
--- a/tools/xenstore/xenstored_minios.c
+++ b/tools/xenstored/minios.c
@@ -17,7 +17,7 @@
 */
 #include <sys/types.h>
 #include <sys/mman.h>
-#include "xenstored_core.h"
+#include "core.h"
 #include <xen/grant_table.h>
 
 void write_pidfile(const char *pidfile)
diff --git a/tools/xenstore/xenstored_osdep.h b/tools/xenstored/osdep.h
similarity index 100%
rename from tools/xenstore/xenstored_osdep.h
rename to tools/xenstored/osdep.h
diff --git a/tools/xenstore/xenstored_posix.c b/tools/xenstored/posix.c
similarity index 98%
rename from tools/xenstore/xenstored_posix.c
rename to tools/xenstored/posix.c
index b20504d1b6..6ac45fdb45 100644
--- a/tools/xenstore/xenstored_posix.c
+++ b/tools/xenstored/posix.c
@@ -24,8 +24,8 @@
 #include <sys/mman.h>
 
 #include "utils.h"
-#include "xenstored_core.h"
-#include "xenstored_osdep.h"
+#include "core.h"
+#include "osdep.h"
 
 void write_pidfile(const char *pidfile)
 {
diff --git a/tools/xenstore/talloc.c b/tools/xenstored/talloc.c
similarity index 100%
rename from tools/xenstore/talloc.c
rename to tools/xenstored/talloc.c
diff --git a/tools/xenstore/talloc.h b/tools/xenstored/talloc.h
similarity index 100%
rename from tools/xenstore/talloc.h
rename to tools/xenstored/talloc.h
diff --git a/tools/xenstore/talloc_guide.txt b/tools/xenstored/talloc_guide.txt
similarity index 100%
rename from tools/xenstore/talloc_guide.txt
rename to tools/xenstored/talloc_guide.txt
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstored/transaction.c
similarity index 99%
rename from tools/xenstore/xenstored_transaction.c
rename to tools/xenstored/transaction.c
index 1f892b002d..167cd597fd 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstored/transaction.c
@@ -30,9 +30,9 @@
 #include <unistd.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "domain.h"
 #include "xenstore_lib.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstored/transaction.h
similarity index 98%
rename from tools/xenstore/xenstored_transaction.h
rename to tools/xenstored/transaction.h
index b196b1ab07..90435b4fc9 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstored/transaction.h
@@ -17,7 +17,7 @@
 */
 #ifndef _XENSTORED_TRANSACTION_H
 #define _XENSTORED_TRANSACTION_H
-#include "xenstored_core.h"
+#include "core.h"
 
 enum node_access_type {
     NODE_ACCESS_READ,
diff --git a/tools/xenstore/utils.c b/tools/xenstored/utils.c
similarity index 100%
rename from tools/xenstore/utils.c
rename to tools/xenstored/utils.c
diff --git a/tools/xenstore/utils.h b/tools/xenstored/utils.h
similarity index 100%
rename from tools/xenstore/utils.h
rename to tools/xenstored/utils.h
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstored/watch.c
similarity index 98%
rename from tools/xenstore/xenstored_watch.c
rename to tools/xenstored/watch.c
index 7d4d097cf9..b66a9f1a39 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstored/watch.c
@@ -25,11 +25,11 @@
 #include <assert.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_watch.h"
+#include "watch.h"
 #include "xenstore_lib.h"
 #include "utils.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
+#include "domain.h"
+#include "transaction.h"
 
 struct watch
 {
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstored/watch.h
similarity index 98%
rename from tools/xenstore/xenstored_watch.h
rename to tools/xenstored/watch.h
index ea247997ad..d9ac6a334a 100644
--- a/tools/xenstore/xenstored_watch.h
+++ b/tools/xenstored/watch.h
@@ -19,7 +19,7 @@
 #ifndef _XENSTORED_WATCH_H
 #define _XENSTORED_WATCH_H
 
-#include "xenstored_core.h"
+#include "core.h"
 
 int do_watch(const void *ctx, struct connection *conn,
 	     struct buffered_data *in);
diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstored/xenstore_state.h
similarity index 100%
rename from tools/xenstore/include/xenstore_state.h
rename to tools/xenstored/xenstore_state.h
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:57:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583372.913593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSS4-0002FH-3w; Mon, 14 Aug 2023 07:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583372.913593; Mon, 14 Aug 2023 07: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 1qVSS3-0002Eh-V8; Mon, 14 Aug 2023 07:57:23 +0000
Received: by outflank-mailman (input) for mailman id 583372;
 Mon, 14 Aug 2023 07:57:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJX-0002SK-5Y
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8815513-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:48:34 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 622541FD5F;
 Mon, 14 Aug 2023 07:48:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 355B6138EE;
 Mon, 14 Aug 2023 07:48:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ZwO4C1Lc2WQ6QgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8815513-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999314; 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=67GuzleUBnIFGrFUii49tc7ebqaTcMaYS5ADc4ipvx4=;
	b=MTN04PxQKkPNKbFaPehj6eoFGjLw+8TRWcTB3j6RmH1NdmoUAiv6/xvfpoLBJgBH8JXtAJ
	+dJngazQPPm8MzaYawPkNbZRl1h2TYwAc+HT310/+IfXrf7dU8/+Javy4CaASLiXHAK6k+
	H/vpR4ThsO6sJY7OrkZJSMBZwaGa91Q=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 15/19] tools/xenstore: merge is_valid_nodename() into canonicalize()
Date: Mon, 14 Aug 2023 09:47:03 +0200
Message-Id: <20230814074707.27696-16-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today is_valid_nodename() is always called directly after calling
canonicalize(), with the exception of do_unwatch(), where the call
is missing (which is not correct, but results just in a wrong error
reason being returned).

Merge is_valid_nodename() into canonicalize(). While at it merge
valid_chars() into it, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
V4:
- make name const in canonicalize()
- don't merge valid_chars() (Julien Grall)
- free full path string in case of error (Julien Grall)
---
 tools/xenstore/xenstored_core.c  | 85 +++++++++++++++++---------------
 tools/xenstore/xenstored_core.h  |  6 +--
 tools/xenstore/xenstored_watch.c | 16 ++----
 3 files changed, 50 insertions(+), 57 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 0ebe4bb7d2..69e147df2c 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1219,33 +1219,6 @@ static bool valid_chars(const char *node)
 		       "0123456789-/_@") == strlen(node));
 }
 
-bool is_valid_nodename(const struct connection *conn, const char *node,
-		       bool allow_special)
-{
-	int local_off = 0;
-	unsigned int domid;
-
-	/* Must start in / or - if special nodes are allowed - in @. */
-	if (!strstarts(node, "/") && (!allow_special || !strstarts(node, "@")))
-		return false;
-
-	/* Cannot end in / (unless it's just "/"). */
-	if (strends(node, "/") && !streq(node, "/"))
-		return false;
-
-	/* No double //. */
-	if (strstr(node, "//"))
-		return false;
-
-	if (sscanf(node, "/local/domain/%5u/%n", &domid, &local_off) != 1)
-		local_off = 0;
-
-	if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off))
-		return false;
-
-	return valid_chars(node);
-}
-
 /* We expect one arg in the input: return NULL otherwise.
  * The payload must contain exactly one nul, at the end.
  */
@@ -1278,16 +1251,51 @@ static char *node_perms_to_strings(const struct node *node, unsigned int *len)
 }
 
 const char *canonicalize(struct connection *conn, const void *ctx,
-			 const char *node)
+			 const char *node, bool allow_special)
 {
-	const char *prefix;
+	const char *name;
+	int local_off = 0;
+	unsigned int domid;
 
-	if (!node || (node[0] == '/') || (node[0] == '@'))
-		return node;
-	prefix = get_implicit_path(conn);
-	if (prefix)
-		return talloc_asprintf(ctx, "%s/%s", prefix, node);
-	return node;
+	/*
+	 * Invalid if any of:
+	 * - no node at all
+	 * - illegal character in node
+	 * - starts with '@' but no special node allowed
+	 */
+	errno = EINVAL;
+	if (!node ||
+	    !valid_chars(node) ||
+	    (node[0] == '@' && !allow_special))
+		return NULL;
+
+	if (node[0] != '/' && node[0] != '@') {
+		name = talloc_asprintf(ctx, "%s/%s", get_implicit_path(conn),
+				       node);
+		if (!name)
+			return NULL;
+	} else
+		name = node;
+
+	if (sscanf(name, "/local/domain/%5u/%n", &domid, &local_off) != 1)
+		local_off = 0;
+
+	/*
+	 * Only valid if:
+	 * - doesn't end in / (unless it's just "/")
+	 * - no double //
+	 * - not violating max allowed path length
+	 */
+	if (!(strends(name, "/") && !streq(name, "/")) &&
+	    !strstr(name, "//") &&
+	    !domain_max_chk(conn, ACC_PATHLEN, strlen(name) - local_off))
+		return name;
+
+	/* Release the memory if 'name' was allocated by us. */
+	if (name != node)
+		talloc_free(name);
+
+	return NULL;
 }
 
 static struct node *get_node_canonicalized(struct connection *conn,
@@ -1301,13 +1309,10 @@ static struct node *get_node_canonicalized(struct connection *conn,
 
 	if (!canonical_name)
 		canonical_name = &tmp_name;
-	*canonical_name = canonicalize(conn, ctx, name);
+	*canonical_name = canonicalize(conn, ctx, name, allow_special);
 	if (!*canonical_name)
 		return NULL;
-	if (!is_valid_nodename(conn, *canonical_name, allow_special)) {
-		errno = EINVAL;
-		return NULL;
-	}
+
 	return get_node(conn, ctx, *canonical_name, perm);
 }
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 5575cc0689..ad87199042 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -241,7 +241,7 @@ void send_ack(struct connection *conn, enum xsd_sockmsg_type type);
 
 /* Canonicalize this path if possible. */
 const char *canonicalize(struct connection *conn, const void *ctx,
-			 const char *node);
+			 const char *node, bool allow_special);
 
 /* Get access permissions. */
 unsigned int perm_for_conn(struct connection *conn,
@@ -304,10 +304,6 @@ struct connection *get_connection_by_id(unsigned int conn_id);
 void check_store(void);
 void corrupt(struct connection *conn, const char *fmt, ...);
 
-/* Is this a valid node name? */
-bool is_valid_nodename(const struct connection *conn, const char *node,
-		       bool allow_special);
-
 /* Get name of parent node. */
 char *get_parent(const void *ctx, const char *node);
 
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index e695762c64..7d4d097cf9 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -164,17 +164,9 @@ static int check_watch_path(struct connection *conn, const void *ctx,
 			    const char **path, bool *relative)
 {
 	*relative = !strstarts(*path, "/") && !strstarts(*path, "@");
-	*path = canonicalize(conn, ctx, *path);
-	if (!*path)
-		return errno;
-	if (!is_valid_nodename(conn, *path, true))
-		goto inval;
-
-	return 0;
+	*path = canonicalize(conn, ctx, *path, true);
 
- inval:
-	errno = EINVAL;
-	return errno;
+	return *path ? 0 : errno;
 }
 
 static struct watch *add_watch(struct connection *conn, const char *path,
@@ -258,9 +250,9 @@ int do_unwatch(const void *ctx, struct connection *conn,
 	if (get_strings(in, vec, ARRAY_SIZE(vec)) != ARRAY_SIZE(vec))
 		return EINVAL;
 
-	node = canonicalize(conn, ctx, vec[0]);
+	node = canonicalize(conn, ctx, vec[0], true);
 	if (!node)
-		return ENOMEM;
+		return errno;
 	list_for_each_entry(watch, &conn->watches, list) {
 		if (streq(watch->node, node) && streq(watch->token, vec[1])) {
 			list_del(&watch->list);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 07:57:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 07:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583376.913600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSS4-0002Qe-M7; Mon, 14 Aug 2023 07:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583376.913600; Mon, 14 Aug 2023 07: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 1qVSS4-0002Og-GE; Mon, 14 Aug 2023 07:57:24 +0000
Received: by outflank-mailman (input) for mailman id 583376;
 Mon, 14 Aug 2023 07: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJG-0002SK-AM
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:18 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee7c408f-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:48:17 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9242B1FD61;
 Mon, 14 Aug 2023 07:48:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 66FE2138EE;
 Mon, 14 Aug 2023 07:48:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mMGdF0Hc2WQfQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee7c408f-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999297; 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=h0Nt9UPkcon/NwHzO5qyumeiHS9xzg9BSL5xWIBNL+c=;
	b=JKeKCc7N2K6XhnvSICmIyAnQg3boLpwiHG0/Oft4mtfCh7Vvwjnf0otEgvTJ9LYA1XF86E
	LGAi7LW48iltY2V2N6UMn7yLDuYuyf0cai6n8zYCA29LigmmdLzH2fLRGesLv/gGtrJwGQ
	E8BxmqOQZ/FIDnV/4XEGTAlGqyxWbNo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 12/19] tools/xenstore: alloc new memory in domain_adjust_node_perms()
Date: Mon, 14 Aug 2023 09:47:00 +0200
Message-Id: <20230814074707.27696-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to avoid modifying the node data in the data base in case a
domain is gone, let domain_adjust_node_perms() allocate new memory for
the permissions in case they need to be modified. As this should
happen only in very rare cases, it is fine to do this even when having
copied the node data already.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
V4:
- add comments (Julien Grall)
---
 tools/xenstore/xenstored_core.c   | 10 +++++-----
 tools/xenstore/xenstored_domain.c | 24 ++++++++++++++++++++----
 tools/xenstore/xenstored_domain.h |  8 +++++++-
 3 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index ab4714263d..c8c8c4b8f4 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -752,6 +752,11 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		goto error;
 	}
 
+	/* Data is binary blob (usually ascii, no nul). */
+	node->data = node->perms + hdr->num_perms;
+	/* Children is strings, nul separated. */
+	node->children = node->data + node->hdr.datalen;
+
 	if (domain_adjust_node_perms(node))
 		goto error;
 
@@ -759,11 +764,6 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	if (node->acc.domid != get_node_owner(node))
 		node->acc.memory = 0;
 
-	/* Data is binary blob (usually ascii, no nul). */
-	node->data = node->perms + hdr->num_perms;
-	/* Children is strings, nul separated. */
-	node->children = node->data + node->hdr.datalen;
-
 	if (access_node(conn, node, NODE_ACCESS_READ, NULL))
 		goto error;
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index fdf1095acb..c00ea397cf 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1334,13 +1334,29 @@ int domain_alloc_permrefs(struct node_perms *perms)
 int domain_adjust_node_perms(struct node *node)
 {
 	unsigned int i;
+	struct xs_permissions *perms = node->perms;
+	bool copied = false;
 
 	for (i = 1; i < node->hdr.num_perms; i++) {
-		if (node->perms[i].perms & XS_PERM_IGNORE)
+		if ((perms[i].perms & XS_PERM_IGNORE) ||
+		    chk_domain_generation(perms[i].id, node->hdr.generation))
 			continue;
-		if (!chk_domain_generation(node->perms[i].id,
-					   node->hdr.generation))
-			node->perms[i].perms |= XS_PERM_IGNORE;
+
+		/*
+		 * Don't do a in-place modification, as the node might
+		 * reference data directly in the data base, which we don't
+		 * want to modify.
+		 */
+		if (!copied) {
+			perms = talloc_memdup(node, node->perms,
+					node->hdr.num_perms * sizeof(*perms));
+			if (!perms)
+				return ENOMEM;
+			node->perms = perms;
+			copied = true;
+		}
+
+		perms[i].perms |= XS_PERM_IGNORE;
 	}
 
 	return 0;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 4950b00aee..7625dca8cd 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -90,8 +90,14 @@ void ignore_connection(struct connection *conn, unsigned int err);
 /* Returns the implicit path of a connection (only domains have this) */
 const char *get_implicit_path(const struct connection *conn);
 
-/* Remove node permissions for no longer existing domains. */
+/*
+ * Remove node permissions for no longer existing domains.
+ * In case of a change of permissions the related array is reallocated in
+ * order to avoid a data base change when operating on a node directly
+ * referencing the data base contents.
+ */
 int domain_adjust_node_perms(struct node *node);
+
 int domain_alloc_permrefs(struct node_perms *perms);
 
 /* Quota manipulation */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583420.913642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWy-0006Jw-PH; Mon, 14 Aug 2023 08:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583420.913642; Mon, 14 Aug 2023 08:02:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWy-0006Ia-Ge; Mon, 14 Aug 2023 08:02:28 +0000
Received: by outflank-mailman (input) for mailman id 583420;
 Mon, 14 Aug 2023 08:02: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJc-0002SK-VY
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbd60376-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:48:40 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F10341FD5F;
 Mon, 14 Aug 2023 07:48:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C38CD138EE;
 Mon, 14 Aug 2023 07:48:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bFR7Llfc2WRHQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbd60376-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999319; 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=vR6L6H6efwHPSa+wEHZeKnGKtJHpPSF4Edb+3QFr94Q=;
	b=eBMWEAW4hb/K1Tw1DQPUyK8vheUTGGd2lk/cyvbKOfRSyjjhhpvTYR7WAe/h+SXbJ9mcO4
	Ba/kX2u9CnQdNvBwV19nkeFbw5f6LiS4/8swBUvwYacMf9mry2bFaAmaXTpEPK/sj4SiQ1
	1vQpZmnTLzjmWQbsC64V2aBdVLgZXVA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 16/19] tools/xenstore: rework get_node()
Date: Mon, 14 Aug 2023 09:47:04 +0200
Message-Id: <20230814074707.27696-17-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today get_node_canonicalized() is the only caller of get_node().

In order to prepare introducing a get_node() variant returning a
pointer to const struct node, do the following restructuring:

- move the call of read_node() from get_node() into
  get_node_canonicalized()

- rename get_node() to get_node_chk_perm()

- rename get_node_canonicalized() to get_node()

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
V4:
- change initial value of err in get_node_chk_perm() (Julien Grall)
- rename err to success in get_node_chk_perm() (Julien Grall)
---
 tools/xenstore/xenstored_core.c | 57 +++++++++++++++------------------
 1 file changed, 25 insertions(+), 32 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 69e147df2c..9098b7eee2 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1000,23 +1000,22 @@ static int errno_from_parents(struct connection *conn, const void *ctx,
  * If it fails, returns NULL and sets errno.
  * Temporary memory allocations are done with ctx.
  */
-static struct node *get_node(struct connection *conn,
-			     const void *ctx,
-			     const char *name,
-			     unsigned int perm)
+static bool get_node_chk_perm(struct connection *conn, const void *ctx,
+			      const struct node *node, const char *name,
+			      unsigned int perm)
 {
-	struct node *node;
+	bool success = node;
 
-	node = read_node(conn, ctx, name);
 	/* If we don't have permission, we don't have node. */
 	if (node && (perm_for_conn_from_node(conn, node) & perm) != perm) {
 		errno = EACCES;
-		node = NULL;
+		success = false;
 	}
 	/* Clean up errno if they weren't supposed to know. */
-	if (!node && !read_node_can_propagate_errno())
+	if (!success && !read_node_can_propagate_errno())
 		errno = errno_from_parents(conn, ctx, name, errno, perm);
-	return node;
+
+	return success;
 }
 
 static struct buffered_data *new_buffer(void *ctx)
@@ -1298,14 +1297,12 @@ const char *canonicalize(struct connection *conn, const void *ctx,
 	return NULL;
 }
 
-static struct node *get_node_canonicalized(struct connection *conn,
-					   const void *ctx,
-					   const char *name,
-					   const char **canonical_name,
-					   unsigned int perm,
-					   bool allow_special)
+static struct node *get_node(struct connection *conn, const void *ctx,
+			     const char *name, const char **canonical_name,
+			     unsigned int perm, bool allow_special)
 {
 	const char *tmp_name;
+	struct node *node;
 
 	if (!canonical_name)
 		canonical_name = &tmp_name;
@@ -1313,7 +1310,10 @@ static struct node *get_node_canonicalized(struct connection *conn,
 	if (!*canonical_name)
 		return NULL;
 
-	return get_node(conn, ctx, *canonical_name, perm);
+	node = read_node(conn, ctx, *canonical_name);
+
+	return get_node_chk_perm(conn, ctx, node, *canonical_name, perm)
+	       ? node : NULL;
 }
 
 static int send_directory(const void *ctx, struct connection *conn,
@@ -1321,8 +1321,7 @@ static int send_directory(const void *ctx, struct connection *conn,
 {
 	struct node *node;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), NULL,
-				      XS_PERM_READ, false);
+	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1343,8 +1342,7 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 		return EINVAL;
 
 	/* First arg is node name. */
-	node = get_node_canonicalized(conn, ctx, in->buffer, NULL,
-				      XS_PERM_READ, false);
+	node = get_node(conn, ctx, in->buffer, NULL, XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1393,8 +1391,7 @@ static int do_read(const void *ctx, struct connection *conn,
 {
 	struct node *node;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), NULL,
-				      XS_PERM_READ, false);
+	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1608,8 +1605,7 @@ static int do_write(const void *ctx, struct connection *conn,
 	offset = strlen(vec[0]) + 1;
 	datalen = in->used - offset;
 
-	node = get_node_canonicalized(conn, ctx, vec[0], &name, XS_PERM_WRITE,
-				      false);
+	node = get_node(conn, ctx, vec[0], &name, XS_PERM_WRITE, false);
 	if (!node) {
 		/* No permissions, invalid input? */
 		if (errno != ENOENT)
@@ -1637,8 +1633,7 @@ static int do_mkdir(const void *ctx, struct connection *conn,
 	struct node *node;
 	const char *name;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), &name,
-				      XS_PERM_WRITE, false);
+	node = get_node(conn, ctx, onearg(in), &name, XS_PERM_WRITE, false);
 
 	/* If it already exists, fine. */
 	if (!node) {
@@ -1767,8 +1762,7 @@ static int do_rm(const void *ctx, struct connection *conn,
 	const char *name;
 	char *parentname;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), &name,
-				      XS_PERM_WRITE, false);
+	node = get_node(conn, ctx, onearg(in), &name, XS_PERM_WRITE, false);
 	if (!node) {
 		/* Didn't exist already?  Fine, if parent exists. */
 		if (errno == ENOENT) {
@@ -1809,8 +1803,7 @@ static int do_get_perms(const void *ctx, struct connection *conn,
 	char *strings;
 	unsigned int len;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), NULL, XS_PERM_READ,
-				      true);
+	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, true);
 	if (!node)
 		return errno;
 
@@ -1853,8 +1846,8 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 		return ENOENT;
 
 	/* We must own node to do this (tools can do this too). */
-	node = get_node_canonicalized(conn, ctx, in->buffer, &name,
-				      XS_PERM_WRITE | XS_PERM_OWNER, true);
+	node = get_node(conn, ctx, in->buffer, &name,
+			XS_PERM_WRITE | XS_PERM_OWNER, true);
 	if (!node)
 		return errno;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583427.913658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWz-0006jK-Rp; Mon, 14 Aug 2023 08:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583427.913658; Mon, 14 Aug 2023 08: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 1qVSWz-0006fq-Kl; Mon, 14 Aug 2023 08:02:29 +0000
Received: by outflank-mailman (input) for mailman id 583427;
 Mon, 14 Aug 2023 08: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJi-0002SK-GQ
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:46 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff2a92bc-3a76-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 09:48:45 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8D85C21984;
 Mon, 14 Aug 2023 07:48:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 616BE138EE;
 Mon, 14 Aug 2023 07:48:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TH6NFl3c2WRRQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff2a92bc-3a76-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999325; 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=TKsSCupJgCOy14CkP0dNJUmpxlUXvXGKgcCx2Ay0CRA=;
	b=oR81TxzpJQCiV64A1w0J54wH4uOELCDJMrJl8x3+xsqvN8oMwrqrKeP00IbGPTAH+M6Pnc
	j5a7f1qpIbENbuULGu5hiYljUNjP5/wALJpe051M8hwEukBAGP1e5+aUGiiMVWf1S+dl3q
	W8Hyl967DMV25sk+7egIae1TRYg7E9E=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 17/19] tools/xenstore: introduce get_node_const()
Date: Mon, 14 Aug 2023 09:47:05 +0200
Message-Id: <20230814074707.27696-18-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a variant of get_node() returning a const struct node pointer.

Note that all callers of this new variant don't supply a pointer where
to store the canonical node name, while all callers needing a non-const
node do supply this pointer. This results in an asymmetric
simplification of the two variants.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new approach (Julien Grall)
---
 tools/xenstore/xenstored_core.c | 35 ++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 9098b7eee2..7de4df2f28 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1301,11 +1301,8 @@ static struct node *get_node(struct connection *conn, const void *ctx,
 			     const char *name, const char **canonical_name,
 			     unsigned int perm, bool allow_special)
 {
-	const char *tmp_name;
 	struct node *node;
 
-	if (!canonical_name)
-		canonical_name = &tmp_name;
 	*canonical_name = canonicalize(conn, ctx, name, allow_special);
 	if (!*canonical_name)
 		return NULL;
@@ -1316,12 +1313,28 @@ static struct node *get_node(struct connection *conn, const void *ctx,
 	       ? node : NULL;
 }
 
+static const struct node *get_node_const(struct connection *conn,
+					 const void *ctx, const char *name,
+					 unsigned int perm, bool allow_special)
+{
+	const char *tmp_name;
+	const struct node *node;
+
+	tmp_name = canonicalize(conn, ctx, name, allow_special);
+	if (!tmp_name)
+		return NULL;
+
+	node = read_node_const(conn, ctx, tmp_name);
+
+	return get_node_chk_perm(conn, ctx, node, tmp_name, perm) ? node : NULL;
+}
+
 static int send_directory(const void *ctx, struct connection *conn,
 			  struct buffered_data *in)
 {
-	struct node *node;
+	const struct node *node;
 
-	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, false);
+	node = get_node_const(conn, ctx, onearg(in), XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1335,14 +1348,14 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 {
 	unsigned int off, len, maxlen, genlen;
 	char *child, *data;
-	struct node *node;
+	const struct node *node;
 	char gen[24];
 
 	if (xenstore_count_strings(in->buffer, in->used) != 2)
 		return EINVAL;
 
 	/* First arg is node name. */
-	node = get_node(conn, ctx, in->buffer, NULL, XS_PERM_READ, false);
+	node = get_node_const(conn, ctx, in->buffer, XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1389,9 +1402,9 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 static int do_read(const void *ctx, struct connection *conn,
 		   struct buffered_data *in)
 {
-	struct node *node;
+	const struct node *node;
 
-	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, false);
+	node = get_node_const(conn, ctx, onearg(in), XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1799,11 +1812,11 @@ static int do_rm(const void *ctx, struct connection *conn,
 static int do_get_perms(const void *ctx, struct connection *conn,
 			struct buffered_data *in)
 {
-	struct node *node;
+	const struct node *node;
 	char *strings;
 	unsigned int len;
 
-	node = get_node(conn, ctx, onearg(in), NULL, XS_PERM_READ, true);
+	node = get_node_const(conn, ctx, onearg(in), XS_PERM_READ, true);
 	if (!node)
 		return errno;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583426.913650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWz-0006RU-6R; Mon, 14 Aug 2023 08:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583426.913650; Mon, 14 Aug 2023 08: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 1qVSWy-0006Or-U2; Mon, 14 Aug 2023 08:02:28 +0000
Received: by outflank-mailman (input) for mailman id 583426;
 Mon, 14 Aug 2023 08:02: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJS-0001Z5-PN
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:30 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f527da99-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C7D8021984;
 Mon, 14 Aug 2023 07:48:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 98504138EE;
 Mon, 14 Aug 2023 07:48:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KWffI0zc2WQyQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f527da99-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999308; 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=5bnEnKl2k584I2gogO8qpBBRAlYy26bn85d9fhzAf9E=;
	b=PfvT02qon9pJ7zdNI9Ne6QjLaveWPp2svjDZf0r2F+ZoPQ7Xme2Ro5SfDZBiXjxkiUkyQ/
	HpJk1ZlAqVIUQ4hSg53QwykIVCxI4RQZ9DTAxHPhcOLq/1XZwhN2iI4XXz2rMGK9mN3xbY
	s5964k/2sLZsU17iFHX3/9/yACORJRY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 14/19] tools/xenstore: merge get_spec_node() into get_node_canonicalized()
Date: Mon, 14 Aug 2023 09:47:02 +0200
Message-Id: <20230814074707.27696-15-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a "allow_special" parameter to get_node_canonicalized() allowing
to merge get_spec_node() into get_node_canonicalized().

Add the same parameter to is_valid_nodename(), as this will simplify
check_watch_path().

This is done in preparation to introducing a get_node() variant
returning a pointer to const struct node.

Note that this will change how special node names are going to be
validated, as now the normal restrictions for node names will be
applied:

- they can't end with "/"
- they can't contain "//"
- they can't contain characters other than the ones allowed for normal
  nodes
- the length of the node name is restricted by the max path length
  quota

For defined special node names this isn't any real restriction, though.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
V4:
- expand commit message (Julien Grall)
---
 tools/xenstore/xenstored_core.c  | 45 +++++++++++++-------------------
 tools/xenstore/xenstored_core.h  |  3 ++-
 tools/xenstore/xenstored_watch.c | 19 +++++---------
 3 files changed, 26 insertions(+), 41 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index f8e5e7b697..0ebe4bb7d2 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1219,13 +1219,14 @@ static bool valid_chars(const char *node)
 		       "0123456789-/_@") == strlen(node));
 }
 
-bool is_valid_nodename(const struct connection *conn, const char *node)
+bool is_valid_nodename(const struct connection *conn, const char *node,
+		       bool allow_special)
 {
 	int local_off = 0;
 	unsigned int domid;
 
-	/* Must start in /. */
-	if (!strstarts(node, "/"))
+	/* Must start in / or - if special nodes are allowed - in @. */
+	if (!strstarts(node, "/") && (!allow_special || !strstarts(node, "@")))
 		return false;
 
 	/* Cannot end in / (unless it's just "/"). */
@@ -1293,7 +1294,8 @@ static struct node *get_node_canonicalized(struct connection *conn,
 					   const void *ctx,
 					   const char *name,
 					   const char **canonical_name,
-					   unsigned int perm)
+					   unsigned int perm,
+					   bool allow_special)
 {
 	const char *tmp_name;
 
@@ -1302,33 +1304,20 @@ static struct node *get_node_canonicalized(struct connection *conn,
 	*canonical_name = canonicalize(conn, ctx, name);
 	if (!*canonical_name)
 		return NULL;
-	if (!is_valid_nodename(conn, *canonical_name)) {
+	if (!is_valid_nodename(conn, *canonical_name, allow_special)) {
 		errno = EINVAL;
 		return NULL;
 	}
 	return get_node(conn, ctx, *canonical_name, perm);
 }
 
-static struct node *get_spec_node(struct connection *conn, const void *ctx,
-				  const char *name, const char **canonical_name,
-				  unsigned int perm)
-{
-	if (name[0] == '@') {
-		if (canonical_name)
-			*canonical_name = name;
-		return get_node(conn, ctx, name, perm);
-	}
-
-	return get_node_canonicalized(conn, ctx, name, canonical_name, perm);
-}
-
 static int send_directory(const void *ctx, struct connection *conn,
 			  struct buffered_data *in)
 {
 	struct node *node;
 
 	node = get_node_canonicalized(conn, ctx, onearg(in), NULL,
-				      XS_PERM_READ);
+				      XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1350,7 +1339,7 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 
 	/* First arg is node name. */
 	node = get_node_canonicalized(conn, ctx, in->buffer, NULL,
-				      XS_PERM_READ);
+				      XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1400,7 +1389,7 @@ static int do_read(const void *ctx, struct connection *conn,
 	struct node *node;
 
 	node = get_node_canonicalized(conn, ctx, onearg(in), NULL,
-				      XS_PERM_READ);
+				      XS_PERM_READ, false);
 	if (!node)
 		return errno;
 
@@ -1614,7 +1603,8 @@ static int do_write(const void *ctx, struct connection *conn,
 	offset = strlen(vec[0]) + 1;
 	datalen = in->used - offset;
 
-	node = get_node_canonicalized(conn, ctx, vec[0], &name, XS_PERM_WRITE);
+	node = get_node_canonicalized(conn, ctx, vec[0], &name, XS_PERM_WRITE,
+				      false);
 	if (!node) {
 		/* No permissions, invalid input? */
 		if (errno != ENOENT)
@@ -1643,7 +1633,7 @@ static int do_mkdir(const void *ctx, struct connection *conn,
 	const char *name;
 
 	node = get_node_canonicalized(conn, ctx, onearg(in), &name,
-				      XS_PERM_WRITE);
+				      XS_PERM_WRITE, false);
 
 	/* If it already exists, fine. */
 	if (!node) {
@@ -1773,7 +1763,7 @@ static int do_rm(const void *ctx, struct connection *conn,
 	char *parentname;
 
 	node = get_node_canonicalized(conn, ctx, onearg(in), &name,
-				      XS_PERM_WRITE);
+				      XS_PERM_WRITE, false);
 	if (!node) {
 		/* Didn't exist already?  Fine, if parent exists. */
 		if (errno == ENOENT) {
@@ -1814,7 +1804,8 @@ static int do_get_perms(const void *ctx, struct connection *conn,
 	char *strings;
 	unsigned int len;
 
-	node = get_spec_node(conn, ctx, onearg(in), NULL, XS_PERM_READ);
+	node = get_node_canonicalized(conn, ctx, onearg(in), NULL, XS_PERM_READ,
+				      true);
 	if (!node)
 		return errno;
 
@@ -1857,8 +1848,8 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 		return ENOENT;
 
 	/* We must own node to do this (tools can do this too). */
-	node = get_spec_node(conn, ctx, in->buffer, &name,
-			     XS_PERM_WRITE | XS_PERM_OWNER);
+	node = get_node_canonicalized(conn, ctx, in->buffer, &name,
+				      XS_PERM_WRITE | XS_PERM_OWNER, true);
 	if (!node)
 		return errno;
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 07c59c07b7..5575cc0689 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -305,7 +305,8 @@ void check_store(void);
 void corrupt(struct connection *conn, const char *fmt, ...);
 
 /* Is this a valid node name? */
-bool is_valid_nodename(const struct connection *conn, const char *node);
+bool is_valid_nodename(const struct connection *conn, const char *node,
+		       bool allow_special);
 
 /* Get name of parent node. */
 char *get_parent(const void *ctx, const char *node);
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index d6e5a4be1e..e695762c64 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -163,19 +163,12 @@ static int destroy_watch(void *_watch)
 static int check_watch_path(struct connection *conn, const void *ctx,
 			    const char **path, bool *relative)
 {
-	/* Check if valid event. */
-	if (strstarts(*path, "@")) {
-		*relative = false;
-		if (strlen(*path) > XENSTORE_REL_PATH_MAX)
-			goto inval;
-	} else {
-		*relative = !strstarts(*path, "/");
-		*path = canonicalize(conn, ctx, *path);
-		if (!*path)
-			return errno;
-		if (!is_valid_nodename(conn, *path))
-			goto inval;
-	}
+	*relative = !strstarts(*path, "/") && !strstarts(*path, "@");
+	*path = canonicalize(conn, ctx, *path);
+	if (!*path)
+		return errno;
+	if (!is_valid_nodename(conn, *path, true))
+		goto inval;
 
 	return 0;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583417.913637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWy-0006Ge-BR; Mon, 14 Aug 2023 08:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583417.913637; Mon, 14 Aug 2023 08:02:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWy-0006GX-6x; Mon, 14 Aug 2023 08:02:28 +0000
Received: by outflank-mailman (input) for mailman id 583417;
 Mon, 14 Aug 2023 08:02:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJN-0001Z5-7k
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1d04b79-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:23 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 33DE621984;
 Mon, 14 Aug 2023 07:48:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 01D83138EE;
 Mon, 14 Aug 2023 07:48:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WUJBOkbc2WQqQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48: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: f1d04b79-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999303; 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=HtyyKA0W3H9KXqmdyPCi1zHxsPuz4ujFGNiMpwH4XHk=;
	b=udqbhJGcYU/4PU1AGped1+Knd7oMy+OudhePXwtDKNsHulDPmqHi/vWS2NeuSYfe6Phce0
	vms42M2PjWmUI5gVYtmnUzSAiqSdNEdmmW4HWG2Kp0iErSB9S0CAS1biMDQzYUGiboWCTv
	Y+l/Q3LHxgOWovbD8wqMY7fScBkHFOA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 13/19] tools/xenstore: introduce read_node_const()
Date: Mon, 14 Aug 2023 09:47:01 +0200
Message-Id: <20230814074707.27696-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a read_node() variant returning a pointer to const struct
node, which doesn't do a copy of the node data after retrieval from
the data base.

Call this variant where appropriate.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new approach (Julien Grall)
V4:
- fix patch subject (Julien Grall)
- let read_node_helper() return a bool (Julien Grall)
---
 tools/xenstore/xenstored_core.c   | 105 ++++++++++++++++++++++--------
 tools/xenstore/xenstored_core.h   |   2 +
 tools/xenstore/xenstored_domain.c |   4 +-
 tools/xenstore/xenstored_watch.c  |  10 +--
 tools/xenstore/xenstored_watch.h  |   3 +-
 5 files changed, 90 insertions(+), 34 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index c8c8c4b8f4..f8e5e7b697 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -706,11 +706,11 @@ void db_delete(struct connection *conn, const char *name,
  * If it fails, returns NULL and sets errno.
  * Temporary memory allocations will be done with ctx.
  */
-struct node *read_node(struct connection *conn, const void *ctx,
-		       const char *name)
+static struct node *read_node_alloc(struct connection *conn, const void *ctx,
+				    const char *name,
+				    const struct node_hdr **hdr)
 {
 	size_t size;
-	const struct node_hdr *hdr;
 	struct node *node;
 	const char *db_name;
 	int err;
@@ -720,17 +720,16 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		errno = ENOMEM;
 		return NULL;
 	}
+
 	node->name = talloc_strdup(node, name);
 	if (!node->name) {
-		talloc_free(node);
 		errno = ENOMEM;
-		return NULL;
+		goto error;
 	}
 
 	db_name = transaction_prepend(conn, name);
-	hdr = db_fetch(db_name, &size);
-
-	if (hdr == NULL) {
+	*hdr = db_fetch(db_name, &size);
+	if (*hdr == NULL) {
 		node->hdr.generation = NO_GENERATION;
 		err = access_node(conn, node, NODE_ACCESS_READ, NULL);
 		errno = err ? : ENOENT;
@@ -740,31 +739,80 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	node->parent = NULL;
 
 	/* Datalen, childlen, number of permissions */
-	node->hdr = *hdr;
-	node->acc.domid = perms_from_node_hdr(hdr)->id;
+	node->hdr = **hdr;
+	node->acc.domid = perms_from_node_hdr(*hdr)->id;
 	node->acc.memory = size;
 
-	/* Copy node data to new memory area, starting with permissions. */
-	size -= sizeof(*hdr);
-	node->perms = talloc_memdup(node, perms_from_node_hdr(hdr), size);
-	if (node->perms == NULL) {
-		errno = ENOMEM;
-		goto error;
-	}
+	return node;
+
+ error:
+	talloc_free(node);
+	return NULL;
+}
 
+static bool read_node_helper(struct connection *conn, struct node *node)
+{
 	/* Data is binary blob (usually ascii, no nul). */
-	node->data = node->perms + hdr->num_perms;
+	node->data = node->perms + node->hdr.num_perms;
 	/* Children is strings, nul separated. */
 	node->children = node->data + node->hdr.datalen;
 
 	if (domain_adjust_node_perms(node))
-		goto error;
+		return false;
 
 	/* If owner is gone reset currently accounted memory size. */
 	if (node->acc.domid != get_node_owner(node))
 		node->acc.memory = 0;
 
 	if (access_node(conn, node, NODE_ACCESS_READ, NULL))
+		return false;
+
+	return true;
+}
+
+struct node *read_node(struct connection *conn, const void *ctx,
+		       const char *name)
+{
+	size_t size;
+	const struct node_hdr *hdr;
+	struct node *node;
+
+	node = read_node_alloc(conn, ctx, name, &hdr);
+	if (!node)
+		return NULL;
+
+	/* Copy node data to new memory area, starting with permissions. */
+	size = node->acc.memory - sizeof(*hdr);
+	node->perms = talloc_memdup(node, perms_from_node_hdr(hdr), size);
+	if (node->perms == NULL) {
+		errno = ENOMEM;
+		goto error;
+	}
+
+	if (!read_node_helper(conn, node))
+		goto error;
+
+	return node;
+
+ error:
+	talloc_free(node);
+	return NULL;
+}
+
+const struct node *read_node_const(struct connection *conn, const void *ctx,
+				   const char *name)
+{
+	const struct node_hdr *hdr;
+	struct node *node;
+
+	node = read_node_alloc(conn, ctx, name, &hdr);
+	if (!node)
+		return NULL;
+
+	/* Unfortunately node->perms isn't const. */
+	node->perms = (void *)perms_from_node_hdr(hdr);
+
+	if (!read_node_helper(conn, node))
 		goto error;
 
 	return node;
@@ -900,13 +948,13 @@ char *get_parent(const void *ctx, const char *node)
 static int ask_parents(struct connection *conn, const void *ctx,
 		       const char *name, unsigned int *perm)
 {
-	struct node *node;
+	const struct node *node;
 
 	do {
 		name = get_parent(ctx, name);
 		if (!name)
 			return errno;
-		node = read_node(conn, ctx, name);
+		node = read_node_const(conn, ctx, name);
 		if (node)
 			break;
 		if (read_node_can_propagate_errno())
@@ -3197,9 +3245,8 @@ static int dump_state_node_err(struct dump_node_data *data, const char *err)
 }
 
 static int dump_state_node(const void *ctx, struct connection *conn,
-			   struct node *node, void *arg)
+			   const struct node *node, struct dump_node_data *data)
 {
-	struct dump_node_data *data = arg;
 	FILE *fp = data->fp;
 	unsigned int pathlen;
 	struct xs_state_record_header head;
@@ -3244,14 +3291,20 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	return WALK_TREE_OK;
 }
 
+static int dump_state_node_enter(const void *ctx, struct connection *conn,
+				 struct node *node, void *arg)
+{
+	return dump_state_node(ctx, conn, node, arg);
+}
+
 static int dump_state_special_node(FILE *fp, const void *ctx,
 				   struct dump_node_data *data,
 				   const char *name)
 {
-	struct node *node;
+	const struct node *node;
 	int ret;
 
-	node = read_node(NULL, ctx, name);
+	node = read_node_const(NULL, ctx, name);
 	if (!node)
 		return dump_state_node_err(data, "Dump node read node error");
 
@@ -3267,7 +3320,7 @@ const char *dump_state_nodes(FILE *fp, const void *ctx)
 		.fp = fp,
 		.err = "Dump node walk error"
 	};
-	struct walk_funcs walkfuncs = { .enter = dump_state_node };
+	struct walk_funcs walkfuncs = { .enter = dump_state_node_enter };
 
 	if (walk_node_tree(ctx, NULL, "/", &walkfuncs, &data))
 		return data.err;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index cbed412a86..07c59c07b7 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -292,6 +292,8 @@ int write_node_raw(struct connection *conn, const char *db_name,
 /* Get a node from the data base. */
 struct node *read_node(struct connection *conn, const void *ctx,
 		       const char *name);
+const struct node *read_node_const(struct connection *conn, const void *ctx,
+				   const char *name);
 
 /* Remove a node and its children. */
 int rm_node(struct connection *conn, const void *ctx, const char *name);
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index c00ea397cf..1bf138c8b1 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -563,12 +563,12 @@ static void domain_tree_remove(struct domain *domain)
 static void fire_special_watches(const char *name)
 {
 	void *ctx = talloc_new(NULL);
-	struct node *node;
+	const struct node *node;
 
 	if (!ctx)
 		return;
 
-	node = read_node(NULL, ctx, name);
+	node = read_node_const(NULL, ctx, name);
 
 	if (node)
 		fire_watches(NULL, ctx, name, node, true, NULL);
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index 5767675e04..d6e5a4be1e 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -73,11 +73,11 @@ static const char *get_watch_path(const struct watch *watch, const char *name)
  * changed permissions we need to take the old permissions into account, too.
  */
 static bool watch_permitted(struct connection *conn, const void *ctx,
-			    const char *name, struct node *node,
+			    const char *name, const struct node *node,
 			    struct node_perms *perms)
 {
 	unsigned int perm;
-	struct node *parent;
+	const struct node *parent;
 	char *parent_name;
 
 	if (perms) {
@@ -87,7 +87,7 @@ static bool watch_permitted(struct connection *conn, const void *ctx,
 	}
 
 	if (!node) {
-		node = read_node(conn, ctx, name);
+		node = read_node_const(conn, ctx, name);
 		if (!node)
 			return false;
 	}
@@ -101,7 +101,7 @@ static bool watch_permitted(struct connection *conn, const void *ctx,
 		parent_name = get_parent(ctx, node->name);
 		if (!parent_name)
 			return false;
-		parent = read_node(conn, ctx, parent_name);
+		parent = read_node_const(conn, ctx, parent_name);
 		if (!parent)
 			return false;
 	}
@@ -119,7 +119,7 @@ static bool watch_permitted(struct connection *conn, const void *ctx,
  * watch event, too.
  */
 void fire_watches(struct connection *conn, const void *ctx, const char *name,
-		  struct node *node, bool exact, struct node_perms *perms)
+		  const struct node *node, bool exact, struct node_perms *perms)
 {
 	struct connection *i;
 	struct buffered_data *req;
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstore/xenstored_watch.h
index 091890edca..ea247997ad 100644
--- a/tools/xenstore/xenstored_watch.h
+++ b/tools/xenstore/xenstored_watch.h
@@ -28,7 +28,8 @@ int do_unwatch(const void *ctx, struct connection *conn,
 
 /* Fire all watches: !exact means all the children are affected (ie. rm). */
 void fire_watches(struct connection *conn, const void *tmp, const char *name,
-		  struct node *node, bool exact, struct node_perms *perms);
+		  const struct node *node, bool exact,
+		  struct node_perms *perms);
 
 void conn_delete_all_watches(struct connection *conn);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583412.913626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWw-0005zs-Te; Mon, 14 Aug 2023 08:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583412.913626; Mon, 14 Aug 2023 08:02:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWw-0005zl-QX; Mon, 14 Aug 2023 08:02:26 +0000
Received: by outflank-mailman (input) for mailman id 583412;
 Mon, 14 Aug 2023 08:02:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJD-0001Z5-1l
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:15 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb29dbcf-3a76-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:12 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0C55121984;
 Mon, 14 Aug 2023 07:48:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D3439138EE;
 Mon, 14 Aug 2023 07:48:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5QFAMjvc2WQSQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 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: eb29dbcf-3a76-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999292; 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=W98ylWtNgR6nteCJmPJxXBK8+FslKIVZJVh4Y7sxD14=;
	b=Qs6QF8BwE/7tfKznAj5kb5vL/qdyVBZscP7MMh+m8MMb0ntKIi5cLY54VjJVW4g73JOYvw
	ipTZo9skpxu5aJBo9+9gnOg8MEyw4lLHRoj/+2FwvBkagDXsv70QxZ4My/k6bMLYZoB363
	74bEIAzgJn0MZZkND91sfzb4g6srdRw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 11/19] tools/xenstore: use struct node_hdr in struct node
Date: Mon, 14 Aug 2023 09:46:59 +0200
Message-Id: <20230814074707.27696-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace some individual fields in struct node with struct node_hdr.

This allows to add a helper for calculating the accounted memory size
of a node.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V4:
- add const to parameter of calc_node_acc_size()
- modify comment (Julien Grall)
---
 tools/xenstore/xenstored_core.c        | 110 ++++++++++++-------------
 tools/xenstore/xenstored_core.h        |  16 ++--
 tools/xenstore/xenstored_domain.c      |   5 +-
 tools/xenstore/xenstored_transaction.c |  13 +--
 4 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index d7a4f0f1cb..ab4714263d 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -555,6 +555,12 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 	}
 }
 
+static size_t calc_node_acc_size(const struct node_hdr *hdr)
+{
+	return sizeof(*hdr) + hdr->num_perms * sizeof(struct xs_permissions) +
+	       hdr->datalen + hdr->childlen;
+}
+
 const struct node_hdr *db_fetch(const char *db_name, size_t *size)
 {
 	const struct node_hdr *hdr;
@@ -565,8 +571,7 @@ const struct node_hdr *db_fetch(const char *db_name, size_t *size)
 		return NULL;
 	}
 
-	*size = sizeof(*hdr) + hdr->num_perms * sizeof(struct xs_permissions) +
-		hdr->datalen + hdr->childlen;
+	*size = calc_node_acc_size(hdr);
 
 	trace_tdb("read %s size %zu\n", db_name, *size + strlen(db_name));
 
@@ -726,7 +731,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	hdr = db_fetch(db_name, &size);
 
 	if (hdr == NULL) {
-		node->generation = NO_GENERATION;
+		node->hdr.generation = NO_GENERATION;
 		err = access_node(conn, node, NODE_ACCESS_READ, NULL);
 		errno = err ? : ENOENT;
 		goto error;
@@ -735,10 +740,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	node->parent = NULL;
 
 	/* Datalen, childlen, number of permissions */
-	node->generation = hdr->generation;
-	node->num_perms = hdr->num_perms;
-	node->datalen = hdr->datalen;
-	node->childlen = hdr->childlen;
+	node->hdr = *hdr;
 	node->acc.domid = perms_from_node_hdr(hdr)->id;
 	node->acc.memory = size;
 
@@ -760,7 +762,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	/* Data is binary blob (usually ascii, no nul). */
 	node->data = node->perms + hdr->num_perms;
 	/* Children is strings, nul separated. */
-	node->children = node->data + node->datalen;
+	node->children = node->data + node->hdr.datalen;
 
 	if (access_node(conn, node, NODE_ACCESS_READ, NULL))
 		goto error;
@@ -796,9 +798,7 @@ int write_node_raw(struct connection *conn, const char *db_name,
 	if (domain_adjust_node_perms(node))
 		return errno;
 
-	size = sizeof(*hdr)
-		+ node->num_perms * sizeof(node->perms[0])
-		+ node->datalen + node->childlen;
+	size = calc_node_acc_size(&node->hdr);
 
 	/* Call domain_max_chk() in any case in order to record max values. */
 	if (domain_max_chk(conn, ACC_NODESZ, size) && !no_quota_check) {
@@ -815,18 +815,15 @@ int write_node_raw(struct connection *conn, const char *db_name,
 	BUILD_BUG_ON(XENSTORE_PAYLOAD_MAX >= (typeof(hdr->datalen))(-1));
 
 	hdr = data;
-	hdr->generation = node->generation;
-	hdr->num_perms = node->num_perms;
-	hdr->datalen = node->datalen;
-	hdr->childlen = node->childlen;
+	*hdr = node->hdr;
 
 	/* Open code perms_from_node_hdr() for the non-const case. */
 	p = hdr + 1;
-	memcpy(p, node->perms, node->num_perms * sizeof(*node->perms));
-	p += node->num_perms * sizeof(*node->perms);
-	memcpy(p, node->data, node->datalen);
-	p += node->datalen;
-	memcpy(p, node->children, node->childlen);
+	memcpy(p, node->perms, node->hdr.num_perms * sizeof(*node->perms));
+	p += node->hdr.num_perms * sizeof(*node->perms);
+	memcpy(p, node->data, node->hdr.datalen);
+	p += node->hdr.datalen;
+	memcpy(p, node->children, node->hdr.childlen);
 
 	if (db_write(conn, db_name, data, size, &node->acc, mode,
 		     no_quota_check))
@@ -1216,7 +1213,7 @@ static char *node_perms_to_strings(const struct node *node, unsigned int *len)
 	char *strings = NULL;
 	char buffer[MAX_STRLEN(unsigned int) + 1];
 
-	for (*len = 0, i = 0; i < node->num_perms; i++) {
+	for (*len = 0, i = 0; i < node->hdr.num_perms; i++) {
 		if (!xenstore_perm_to_string(&node->perms[i], buffer,
 					     sizeof(buffer)))
 			return NULL;
@@ -1287,7 +1284,7 @@ static int send_directory(const void *ctx, struct connection *conn,
 	if (!node)
 		return errno;
 
-	send_reply(conn, XS_DIRECTORY, node->children, node->childlen);
+	send_reply(conn, XS_DIRECTORY, node->children, node->hdr.childlen);
 
 	return 0;
 }
@@ -1312,10 +1309,11 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 	/* Second arg is childlist offset. */
 	off = atoi(in->buffer + strlen(in->buffer) + 1);
 
-	genlen = snprintf(gen, sizeof(gen), "%"PRIu64, node->generation) + 1;
+	genlen = snprintf(gen, sizeof(gen), "%"PRIu64, node->hdr.generation) +
+		 1;
 
 	/* Offset behind list: just return a list with an empty string. */
-	if (off >= node->childlen) {
+	if (off >= node->hdr.childlen) {
 		gen[genlen] = 0;
 		send_reply(conn, XS_DIRECTORY_PART, gen, genlen + 1);
 		return 0;
@@ -1328,7 +1326,7 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 	while (len + strlen(child) < maxlen) {
 		len += strlen(child) + 1;
 		child += strlen(child) + 1;
-		if (off + len == node->childlen)
+		if (off + len == node->hdr.childlen)
 			break;
 	}
 
@@ -1338,7 +1336,7 @@ static int send_directory_part(const void *ctx, struct connection *conn,
 
 	memcpy(data, gen, genlen);
 	memcpy(data + genlen, node->children + off, len);
-	if (off + len == node->childlen) {
+	if (off + len == node->hdr.childlen) {
 		data[genlen + len] = 0;
 		len++;
 	}
@@ -1358,7 +1356,7 @@ static int do_read(const void *ctx, struct connection *conn,
 	if (!node)
 		return errno;
 
-	send_reply(conn, XS_READ, node->data, node->datalen);
+	send_reply(conn, XS_READ, node->data, node->hdr.datalen);
 
 	return 0;
 }
@@ -1377,13 +1375,13 @@ static int add_child(const void *ctx, struct node *parent, const char *name)
 
 	base = basename(name);
 	baselen = strlen(base) + 1;
-	children = talloc_array(ctx, char, parent->childlen + baselen);
+	children = talloc_array(ctx, char, parent->hdr.childlen + baselen);
 	if (!children)
 		return ENOMEM;
-	memcpy(children, parent->children, parent->childlen);
-	memcpy(children + parent->childlen, base, baselen);
+	memcpy(children, parent->children, parent->hdr.childlen);
+	memcpy(children + parent->hdr.childlen, base, baselen);
 	parent->children = children;
-	parent->childlen += baselen;
+	parent->hdr.childlen += baselen;
 
 	return 0;
 }
@@ -1436,9 +1434,9 @@ static struct node *construct_node(struct connection *conn, const void *ctx,
 		node->name = talloc_steal(node, names[levels - 1]);
 
 		/* Inherit permissions, unpriv domains own what they create. */
-		node->num_perms = parent->num_perms;
+		node->hdr.num_perms = parent->hdr.num_perms;
 		node->perms = talloc_memdup(node, parent->perms,
-					    node->num_perms *
+					    node->hdr.num_perms *
 					    sizeof(*node->perms));
 		if (!node->perms)
 			goto nomem;
@@ -1447,7 +1445,7 @@ static struct node *construct_node(struct connection *conn, const void *ctx,
 
 		/* No children, no data */
 		node->children = node->data = NULL;
-		node->childlen = node->datalen = 0;
+		node->hdr.childlen = node->hdr.datalen = 0;
 		node->acc.memory = 0;
 		node->parent = parent;
 
@@ -1499,7 +1497,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 		ta_node_created(conn->transaction);
 
 	node->data = data;
-	node->datalen = datalen;
+	node->hdr.datalen = datalen;
 
 	/*
 	 * We write out the nodes bottom up.
@@ -1579,7 +1577,7 @@ static int do_write(const void *ctx, struct connection *conn,
 			return errno;
 	} else {
 		node->data = in->buffer + offset;
-		node->datalen = datalen;
+		node->hdr.datalen = datalen;
 		if (write_node(conn, node, NODE_MODIFY, false))
 			return errno;
 	}
@@ -1627,8 +1625,8 @@ static int remove_child_entry(struct connection *conn, struct node *node,
 {
 	size_t childlen = strlen(node->children + offset);
 
-	memdel(node->children, offset, childlen + 1, node->childlen);
-	node->childlen -= childlen + 1;
+	memdel(node->children, offset, childlen + 1, node->hdr.childlen);
+	node->hdr.childlen -= childlen + 1;
 
 	return write_node(conn, node, NODE_MODIFY, true);
 }
@@ -1638,8 +1636,9 @@ static int delete_child(struct connection *conn,
 {
 	unsigned int i;
 
-	for (i = 0; i < node->childlen; i += strlen(node->children+i) + 1) {
-		if (streq(node->children+i, childname)) {
+	for (i = 0; i < node->hdr.childlen;
+	     i += strlen(node->children + i) + 1) {
+		if (streq(node->children + i, childname)) {
 			errno = remove_child_entry(conn, node, i) ? EIO : 0;
 			return errno;
 		}
@@ -1906,7 +1905,7 @@ int walk_node_tree(const void *ctx, struct connection *conn, const char *root,
 		/* node == NULL possible only for the initial loop iteration. */
 		if (node) {
 			/* Go one step up if ret or if last child finished. */
-			if (ret || node->childoff >= node->childlen) {
+			if (ret || node->childoff >= node->hdr.childlen) {
 				parent = node->parent;
 				/* Call function AFTER processing a node. */
 				ret = walk_call_func(ctx, conn, node, parent,
@@ -2343,10 +2342,10 @@ static void manual_node(const char *name, const char *child)
 
 	node->name = name;
 	node->perms = &perms;
-	node->num_perms = 1;
+	node->hdr.num_perms = 1;
 	node->children = (char *)child;
 	if (child)
-		node->childlen = strlen(child) + 1;
+		node->hdr.childlen = strlen(child) + 1;
 
 	if (write_node(NULL, node, NODE_CREATE, false))
 		barf_perror("Could not create initial node %s", name);
@@ -3214,12 +3213,12 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	sn.conn_id = 0;
 	sn.ta_id = 0;
 	sn.ta_access = 0;
-	sn.perm_n = node->num_perms;
+	sn.perm_n = node->hdr.num_perms;
 	sn.path_len = pathlen;
-	sn.data_len = node->datalen;
-	head.length += node->num_perms * sizeof(*sn.perms);
+	sn.data_len = node->hdr.datalen;
+	head.length += node->hdr.num_perms * sizeof(*sn.perms);
 	head.length += pathlen;
-	head.length += node->datalen;
+	head.length += node->hdr.datalen;
 	head.length = ROUNDUP(head.length, 3);
 
 	if (fwrite(&head, sizeof(head), 1, fp) != 1)
@@ -3227,14 +3226,15 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	if (fwrite(&sn, sizeof(sn), 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node state error");
 
-	ret = dump_state_node_perms(fp, node->perms, node->num_perms);
+	ret = dump_state_node_perms(fp, node->perms, node->hdr.num_perms);
 	if (ret)
 		return dump_state_node_err(data, ret);
 
 	if (fwrite(node->name, pathlen, 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node path error");
 
-	if (node->datalen && fwrite(node->data, node->datalen, 1, fp) != 1)
+	if (node->hdr.datalen &&
+	    fwrite(node->data, node->hdr.datalen, 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node data error");
 
 	ret = dump_state_align(fp);
@@ -3419,17 +3419,17 @@ void read_state_node(const void *ctx, const void *state)
 
 	node->acc.memory = 0;
 	node->name = name;
-	node->generation = ++generation;
-	node->datalen = sn->data_len;
+	node->hdr.generation = ++generation;
+	node->hdr.datalen = sn->data_len;
 	node->data = name + sn->path_len;
-	node->childlen = 0;
+	node->hdr.childlen = 0;
 	node->children = NULL;
-	node->num_perms = sn->perm_n;
+	node->hdr.num_perms = sn->perm_n;
 	node->perms = talloc_array(node, struct xs_permissions,
-				   node->num_perms);
+				   node->hdr.num_perms);
 	if (!node->perms)
 		barf("allocation error restoring node");
-	for (i = 0; i < node->num_perms; i++) {
+	for (i = 0; i < node->hdr.num_perms; i++) {
 		switch (sn->perms[i].access) {
 		case 'r':
 			node->perms[i].perms = XS_PERM_READ;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 4bed462dda..cbed412a86 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -181,6 +181,7 @@ extern struct list_head connections;
  */
 struct node_hdr {
 	uint64_t generation;
+#define NO_GENERATION ~((uint64_t)0)
 	uint16_t num_perms;
 	uint16_t datalen;
 	uint32_t childlen;
@@ -197,6 +198,10 @@ struct node_account_data {
 };
 
 struct node {
+	/* Copied to/from data base. */
+	struct node_hdr hdr;
+
+	/* Xenstore path. */
 	const char *name;
 	/* Name used to access data base. */
 	const char *db_name;
@@ -204,20 +209,13 @@ struct node {
 	/* Parent (optional) */
 	struct node *parent;
 
-	/* Generation count. */
-	uint64_t generation;
-#define NO_GENERATION ~((uint64_t)0)
-
 	/* Permissions. */
-	unsigned int num_perms;
 	struct xs_permissions *perms;
 
 	/* Contents. */
-	unsigned int datalen;
 	void *data;
 
 	/* Children, each nul-terminated. */
-	unsigned int childlen;
 	unsigned int childoff;	/* Used by walk_node_tree() internally. */
 	char *children;
 
@@ -259,7 +257,7 @@ static inline unsigned int get_node_owner(const struct node *node)
 static inline void node_to_node_perms(const struct node *node,
 				      struct node_perms *perms)
 {
-	perms->num = node->num_perms;
+	perms->num = node->hdr.num_perms;
 	perms->p = node->perms;
 }
 
@@ -277,7 +275,7 @@ static inline unsigned int perm_for_conn_from_node(struct connection *conn,
 static inline void node_perms_to_node(const struct node_perms *perms,
 				      struct node *node)
 {
-	node->num_perms = perms->num;
+	node->hdr.num_perms = perms->num;
 	node->perms = perms->p;
 }
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 1ba73d9db2..fdf1095acb 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1335,10 +1335,11 @@ int domain_adjust_node_perms(struct node *node)
 {
 	unsigned int i;
 
-	for (i = 1; i < node->num_perms; i++) {
+	for (i = 1; i < node->hdr.num_perms; i++) {
 		if (node->perms[i].perms & XS_PERM_IGNORE)
 			continue;
-		if (!chk_domain_generation(node->perms[i].id, node->generation))
+		if (!chk_domain_generation(node->perms[i].id,
+					   node->hdr.generation))
 			node->perms[i].perms |= XS_PERM_IGNORE;
 	}
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 213a2c436c..1f892b002d 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -232,7 +232,7 @@ int access_node(struct connection *conn, struct node *node,
 	bool introduce = false;
 
 	if (type != NODE_ACCESS_READ) {
-		node->generation = ++generation;
+		node->hdr.generation = ++generation;
 		if (conn && !conn->transaction)
 			wrl_apply_debit_direct(conn);
 	}
@@ -259,12 +259,13 @@ int access_node(struct connection *conn, struct node *node,
 		if (!i->trans_name)
 			goto nomem;
 		i->node = strchr(i->trans_name, '/') + 1;
-		if (node->generation != NO_GENERATION && node->num_perms) {
+		if (node->hdr.generation != NO_GENERATION &&
+		    node->hdr.num_perms) {
 			i->perms.p = talloc_array(i, struct xs_permissions,
-						  node->num_perms);
+						  node->hdr.num_perms);
 			if (!i->perms.p)
 				goto nomem;
-			i->perms.num = node->num_perms;
+			i->perms.num = node->hdr.num_perms;
 			memcpy(i->perms.p, node->perms,
 			       i->perms.num * sizeof(*i->perms.p));
 		}
@@ -282,9 +283,9 @@ int access_node(struct connection *conn, struct node *node,
 		 * from the write types.
 		 */
 		if (type == NODE_ACCESS_READ) {
-			i->generation = node->generation;
+			i->generation = node->hdr.generation;
 			i->check_gen = true;
-			if (node->generation != NO_GENERATION) {
+			if (node->hdr.generation != NO_GENERATION) {
 				ret = write_node_raw(conn, i->trans_name, node,
 						     NODE_CREATE, true);
 				if (ret)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:02:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:02:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583404.913617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWv-0005kU-N1; Mon, 14 Aug 2023 08:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583404.913617; Mon, 14 Aug 2023 08:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSWv-0005kI-Iv; Mon, 14 Aug 2023 08:02:25 +0000
Received: by outflank-mailman (input) for mailman id 583404;
 Mon, 14 Aug 2023 08:02:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVSJo-0001Z5-Va
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 07:48:52 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 027ad53b-3a77-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 09:48:51 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2AB4721984;
 Mon, 14 Aug 2023 07:48:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EFBB6138EE;
 Mon, 14 Aug 2023 07:48:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HV0kOWLc2WRdQgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 07:48:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 027ad53b-3a77-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1691999331; 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=nsYs26vkPO/sybh641FmkDI4sYFmKW+moaPaFj0VfVw=;
	b=j1FPrPFQpmB4/jCgVVXKc1Yfas9SBXdhBSb9oakOV0eN/fP515l+cGsEQmt1YJXsvVl2kk
	Q7vkV9D0k9RNT6xJFogEssx4LWs9F70KA2sGTp1fU8WVmrQZa87EHu/F5k6otjUx4odPET
	Vfce0j615awjQmrrE1PAtH9i5zMGWEc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v4 18/19] tools/config: add XEN_RUN_STORED to config.h
Date: Mon, 14 Aug 2023 09:47:06 +0200
Message-Id: <20230814074707.27696-19-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
References: <20230814074707.27696-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of adding the definition of XEN_RUN_STORED to CFLAGS in
multiple Makefiles, let configure add it to tools/config.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 configure                      | 5 +++++
 m4/paths.m4                    | 1 +
 tools/config.h.in              | 3 +++
 tools/configure                | 5 +++++
 tools/libs/store/Makefile      | 1 -
 tools/xenstore/Makefile.common | 1 -
 6 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 99f8434cbf..dd05f314f6 100755
--- a/configure
+++ b/configure
@@ -2079,6 +2079,11 @@ _ACEOF
 XEN_RUN_STORED=$rundir_path/xenstored
 
 
+cat >>confdefs.h <<_ACEOF
+#define XEN_RUN_STORED "$XEN_RUN_STORED"
+_ACEOF
+
+
 XEN_LIB_DIR=$localstatedir/lib/xen
 
 
diff --git a/m4/paths.m4 b/m4/paths.m4
index e4104bcce0..3f94c62efb 100644
--- a/m4/paths.m4
+++ b/m4/paths.m4
@@ -138,6 +138,7 @@ AC_DEFINE_UNQUOTED([XEN_LOG_DIR], ["$XEN_LOG_DIR"], [Xen's log dir])
 
 XEN_RUN_STORED=$rundir_path/xenstored
 AC_SUBST(XEN_RUN_STORED)
+AC_DEFINE_UNQUOTED([XEN_RUN_STORED], ["$XEN_RUN_STORED"], [Xenstore's runstate path])
 
 XEN_LIB_DIR=$localstatedir/lib/xen
 AC_SUBST(XEN_LIB_DIR)
diff --git a/tools/config.h.in b/tools/config.h.in
index 3071cb3998..41014a65ed 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -153,6 +153,9 @@
 /* Xen's script dir */
 #undef XEN_SCRIPT_DIR
 
+/* Xenstore's runstate path */
+#undef XEN_RUN_STORED
+
 /* Enable large inode numbers on Mac OS X 10.5.  */
 #ifndef _DARWIN_USE_64_BIT_INODE
 # define _DARWIN_USE_64_BIT_INODE 1
diff --git a/tools/configure b/tools/configure
index 52b4717d01..5c05fa5ea1 100755
--- a/tools/configure
+++ b/tools/configure
@@ -4060,6 +4060,11 @@ _ACEOF
 XEN_RUN_STORED=$rundir_path/xenstored
 
 
+cat >>confdefs.h <<_ACEOF
+#define XEN_RUN_STORED "$XEN_RUN_STORED"
+_ACEOF
+
+
 XEN_LIB_DIR=$localstatedir/lib/xen
 
 
diff --git a/tools/libs/store/Makefile b/tools/libs/store/Makefile
index c1a1508713..0649cf8307 100644
--- a/tools/libs/store/Makefile
+++ b/tools/libs/store/Makefile
@@ -18,7 +18,6 @@ include ../libs.mk
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 CFLAGS += $(CFLAGS_libxentoolcore)
-CFLAGS += -DXEN_RUN_STORED="\"$(XEN_RUN_STORED)\""
 
 xs.opic: CFLAGS += -DUSE_PTHREAD
 ifeq ($(CONFIG_Linux),y)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index 3259ab51e6..41973a8a5e 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -16,7 +16,6 @@ CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
 CFLAGS += $(CFLAGS_libxentoolcore)
-CFLAGS += -DXEN_RUN_STORED="\"$(XEN_RUN_STORED)\""
 
 ifdef CONFIG_STUBDOM
 CFLAGS += -DNO_SOCKETS=1
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:06:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583458.913677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSb3-0000ph-D0; Mon, 14 Aug 2023 08:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583458.913677; Mon, 14 Aug 2023 08:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSb3-0000pa-A0; Mon, 14 Aug 2023 08:06:41 +0000
Received: by outflank-mailman (input) for mailman id 583458;
 Mon, 14 Aug 2023 08:06: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSb2-0000pU-KK
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:06:40 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ef4b15f-3a79-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 10:06:39 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9000.eurprd04.prod.outlook.com (2603:10a6:10:2e3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 08:06:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 08:06: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: 7ef4b15f-3a79-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ieicUKKZZ13GM5lT+fvHdr+5kh5GAiKgEx64Xue3xcwcoSXqTRp9skTq/xLjznqGJbUs0qyYRpZdq9XTbADYfxDA+PJZLBGvEasv+i/iFzJkqcrbJsGp/LessmvmHiILlMJ17YQC5Od49Fa9HE1NZ0LmekXgdggVJvlNCPGk/SJgQmsxEICzESDjxKHF9ceWlhnq3z+0qDcNYz3ctUT2rMXEV3G+dxKE1Oy2Ty6G1G99EUmbaojwgkkWj+iEUReEOBmjSfhI/7+22FtVRi9ERCK+oEuht74mcIl7Ibnc3L7hdBQV6eGmDOnA42VioU7FyG0kg8uqFTKcrcRrSlNB6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KCwvwuT3wlrhxit9Xdr3KOG65LXlXF1FX8oqnTj4SCo=;
 b=n+UhEmGlf7Ya6xB/ZfTj+09krnEKD5nTFUtNAeYeJZRVWHe3XiBk+KpduflIYSHqvL5dC4whbthlNW0nmQ7p9TlNd02i+mKWC83nowYh7Bc5X+TlNWQ4hmnLgFAYcheModZidOo/KITbYyZnDW0I0CbZmpyia0xUk+qHLIJpF8MClQBTacbk4aeuoJGG7IX0XDNHnm5jTaSVzE3X8d+qVpc24em+7habm3qCK/T25MB9qZ3XrTHIUzvcLbK8JaUcF9BoOB0o8uw3WlmqD+EtoJdc/32HwCy/Uq6raHfQ9G5db5AJf16YlzMfE0cJd5Ydy8FKDkZ9yGWUNTaIY+461Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KCwvwuT3wlrhxit9Xdr3KOG65LXlXF1FX8oqnTj4SCo=;
 b=lJ6gxx8qTKtYQJOLVLS0ggqpyf8qHvrI+/Kswzk1WQIvTCyGvDAmULGhdGUtKBrDqxFimmN22Wsc5oTHhyEPn6d9ig7B9IriLsGHbKMpCYid5j1CoPp0oge3BiCN9A7Zen9U1tdFzJ6+gW/FkRYuVxbRcwhvwLCz7KRCxDwt3Khb4fq2O1On15E2bOsSTxsGD6x/J0OMDSO5NKqemvmFAo/6Y36rD+VsNuYpdnQxNay2nqv6Stz8dv6oYIjzq4lLgAGpz6PrmkSXOEg+RUqHVZhG9xImnSE6oWzRWxpggqOHX87s2b/8szQmJhSihWtfOXHDJ+N386lR/me+k44sUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd02352e-ac98-0c70-e9c4-7fb5dac01211@suse.com>
Date: Mon, 14 Aug 2023 10:06:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v8 0/6] RISCV basic exception handling implementation
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1691763757.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9000:EE_
X-MS-Office365-Filtering-Correlation-Id: bdde7fb1-b998-4d2c-71e7-08db9c9d61c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dB7B4nRnsBHyk8CwC1IdLUN7GdpvuoGJyJsogv7yvSefLmyUUvvWs356vgEd9b3W/A3hJe4RBwWZVvrvJvg4zLsBW6JFkAuBRpgkQA07xxInqY8UZPuERXsgQ+1yCAto0ttDtlnMq3L+IHAPQa+ClL3XMAQKfoWikFADKHzlRs9/bjOFsYnktLr/tDoasOvh0Tn4bNRy20lne97tdByFclB7hZ+yNwrX11xk3BXzJMVkiOeC0ddW2wGAQlbYssvgErKL6BRATMMxfYgcgJpPMfmFiCKhx5rIpqHZIKw333dRItfcdA2amp0K1bbHT/TJiEmQW1C3xw+Ipg2/NqrrWsBpTukXjLS/MWn9gLKoGZ2ffq4Ea7VX4KK7+P9lPCIBhj2YcNNOFf+mNB0X5QmkLHuzbVaHVg9Od73G5INneWjRbinRCENXn424PGBaXCn8XhLLflbxXNZqXiiFOePZ+xtcueGdvD8lIICY2aBJy3VpXbkj1MqgV67/8PCxgmuVyNr6keDrxuRR7d+P2KkhCprMaUMWgcpDWLwL9uQmobp1g87OZqEU25QqYJQ5umXxA/r/h6RYs5yopTxzudcKCkKn/g4hxtZo8h7AtI7zPGKdxyJeeOcIgkJ3yEo3lXzYXIb/XFPfBh5hqGgM4HfltA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(396003)(346002)(39850400004)(136003)(186006)(1800799006)(451199021)(478600001)(8676002)(8936002)(4326008)(316002)(66556008)(6916009)(41300700001)(66946007)(66476007)(54906003)(38100700002)(53546011)(6486002)(6506007)(26005)(2616005)(6512007)(86362001)(31696002)(2906002)(5660300002)(558084003)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eFRDS2s1ZnF0N09Ed0JiVTNLSTJHdk5DY0hsVUdZUEtpNjB1QVhoNGg5Ukxi?=
 =?utf-8?B?alcrcmhSM2FDZ1dlKzJnUHRhT1M4UnNxRC82U1A5cCtNbFEvSU8wNE52NjlS?=
 =?utf-8?B?RVNwajc1YWd6bGo0TDF6clhWazgvejE0SlgycnVjKzJoNEtQeUdLdk9PSURM?=
 =?utf-8?B?L3RFRC8zY3JHYkVZU0tCeHp3ZStuNkZpRFNPazg3d05zdGpQbWl2NThibUN3?=
 =?utf-8?B?ZEpCOTQ2N3FXakMwZEpxdm1EUjZBWENDZVM3WkkzYTVqM05LNVlUc3ZOS3RV?=
 =?utf-8?B?QTBqcEV5V3hXZEVGY3hIRkZzRHdDUmVWbGQ2UytoQVdnK0dDamRadEJVWWhO?=
 =?utf-8?B?TG9tQW9vT3B0UHMrMC9mbHM0TmJHa3FMTkY5aVNybkZwKzBUWnV4S3R4dmJG?=
 =?utf-8?B?RHZoc1JEeStkOHRHcll3TFlpV0xuWC9VdkFLbkhBbXJCL2FpdjdiZlZIQlRr?=
 =?utf-8?B?WDJ3bEhWd25KbXFvRzBrUkh3SUhENzQ0TjJIQ3VDbGlVczRKWXFNcFhQYXVv?=
 =?utf-8?B?OGdsQzNWUVA1dkxZVWl1STNEUVpoKy85WW8vR25Qa2lNbFhnU1RWejNPa1dD?=
 =?utf-8?B?V3FCQ1hkeHFzYmc2dTZ4NVlIbTRLR2lOZlhMM0pKRVZETkZEWEo5Q0w5RUpT?=
 =?utf-8?B?U2hpRHlCRTFXdmlKeE5tZk1iSWFQazdkT3hDSVk3QnJDSzFsQnNjaGNmTnZn?=
 =?utf-8?B?NVRhTWZlUFF3TUI4VkZyS2hxM00zeHJHTUlmVGVrbEJScTRGcUxiUTlweDdW?=
 =?utf-8?B?SnFNeVhXSEJrWlI1TmV1cWVveGFpTGlCdmpQWVBYenNGTC9YU3I4S1dWaEhj?=
 =?utf-8?B?ZnJ1ZmRaUTQvSy9RYXRQcE9xUnhjRlY4OVh2MUtydGZBY2dlVGp2MkYzOFBX?=
 =?utf-8?B?VUtseWpYN3U1MkxrRTJqMDVVejUwamdnSFpmWXp0TnRUeVZUeGxhNTZmYzFU?=
 =?utf-8?B?US8xN2lzRVREbXBDbnV0RHU2S1ExNWx2ZVZRcU9UZWFlSHF4eitsTFh2WnNZ?=
 =?utf-8?B?MnNhUG9xTkt0TmdPcEhsZzEyekwrY29ycXZzcTZjcFFyWk9TTlBxSzZmQWdp?=
 =?utf-8?B?eGx3ZHk2WWQvc1grQ2I1Wk9HTEUrYVNpMm8yeFMreEtCZVYrU0FZYVVxMk1V?=
 =?utf-8?B?ZlhRd2hHa0RBdFVSRVBWRHNuTW1IOEVoSWVieGNzUjh3Syt1VW9pOE1DNkRV?=
 =?utf-8?B?S2I2eHJLV0RWbEExZjlvaUR4NUlNYTF4RFQ0YUw3b2FhMnZHMm5aOGpORTVC?=
 =?utf-8?B?ZzVKT0gyR3NBTHdiYVNObmJZOWk5OWxhVFUyNjdmYkdTK3YzWSttZFdnZTBK?=
 =?utf-8?B?c0c0MEpVTzIwVTd2eHhaQy9Dc0JsOE1LdWpHNWhhcXVJZ08vRE8vcHhHZ1Uv?=
 =?utf-8?B?bXhkQnNyQ3UyNUJOTGV6aXd0dDhxTFZncTBEYkp1Qy9kQndJUHdlOVRwZXYy?=
 =?utf-8?B?WnVvWFU4bXNrZWtxZWQ1NXJlaUh0bDByRXB0bVJselIvNnVCQVVzN1FMLzJE?=
 =?utf-8?B?bDVOdWV3QTRFUHdGN05UbTkyWnNUdjFWcHgyL3FPRU9NNjNlYmdDbGlzWHl4?=
 =?utf-8?B?bXY5eUo3QWpPZGR5NHVnVUhZR2NPVFhSVWRnT0ZDOVJxVDgrM3lDdDhmTlM2?=
 =?utf-8?B?WmRUKytSekY1VFNsN0U2V2pkejBROUNhWUY1bUhuRU9CZlk4SVU1cThvS2dQ?=
 =?utf-8?B?c2lnQ3doM1ZjWGxobnJQaCszZ1pnZ1lTVjc2YXE1QkN5MWJEbWNFWWRET3R2?=
 =?utf-8?B?S1pmL29VRmRPZit1UW1LaGE1eTQxTDUvd3JGOXhZVXZNZE11WWRqUzdnUWty?=
 =?utf-8?B?K2ZJOU54MzQ5Tkl0bThJY1lSajFhVlJtWTJYdytiOCtDeGxLL1k4Ry90ejNt?=
 =?utf-8?B?MVVaTDJsMEg2YStxKzdDU3hobURQaHBtOUx6T2xTRnJuN3hlMEpwdE5NM1pu?=
 =?utf-8?B?akh1aUFKWDdXRklzanpCZGhiSG9XY2xUU1diSVpWWURXS0dYOHRqK2hieXVQ?=
 =?utf-8?B?TXR6RmV5dGkvUzBKVGV6N1FKUG5IdkhKYXlCQ3k5Ykt4K1dEakhNZVo0cG1R?=
 =?utf-8?B?T0lzTFoyYTFwUTViZW9zbjk2TFNpTkpBZzJkenFTeWFQMW40MWF3MTQ5R0U0?=
 =?utf-8?Q?U17GFRbtYVzFxyjXzinZUAUno?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bdde7fb1-b998-4d2c-71e7-08db9c9d61c2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 08:06:36.8393
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MeB9E28nNVDOe5jq8V2bv3qbZ7b1VcjGcWEnLn5ipgrUJBaZrfGDjHytcWCssOTmvH/bz3VcN8IxGxvWyf0Lsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9000

On 11.08.2023 16:32, Oleksii Kurochko wrote:
> The patch series is based on:
>     xen/riscv: introduce identity mapping [1]
> which haven't been merged yet.

I've applied the series here up to patch 3, which looks to be the
independent part. Patch 4 "conflicts" with the missing bits.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583461.913687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVSbW-0001J1-M7; Mon, 14 Aug 2023 08:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583461.913687; Mon, 14 Aug 2023 08: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 1qVSbW-0001Iu-I2; Mon, 14 Aug 2023 08:07:10 +0000
Received: by outflank-mailman (input) for mailman id 583461;
 Mon, 14 Aug 2023 08:07: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=h9nZ=D7=marvell.com=rkannoth@srs-se1.protection.inumbo.net>)
 id 1qVSbU-0001FI-Sm
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:07:09 +0000
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ea0975b-3a79-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 10:07:06 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37E7jqPn003829; Mon, 14 Aug 2023 01:05:52 -0700
Received: from nam02-sn1-obe.outbound.protection.outlook.com
 (mail-sn1nam02lp2048.outbound.protection.outlook.com [104.47.57.48])
 by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3se9kj59d8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 14 Aug 2023 01:05:52 -0700
Received: from MWHPR1801MB1918.namprd18.prod.outlook.com
 (2603:10b6:301:68::33) by DM6PR18MB3507.namprd18.prod.outlook.com
 (2603:10b6:5:2a4::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Mon, 14 Aug
 2023 08:05:47 +0000
Received: from MWHPR1801MB1918.namprd18.prod.outlook.com
 ([fe80::9ee9:35fc:cabe:11a1]) by MWHPR1801MB1918.namprd18.prod.outlook.com
 ([fe80::9ee9:35fc:cabe:11a1%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 08:05: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: 8ea0975b-3a79-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FA27O2NGHAlo++iIO7u9u0PFGAs2nHTxnXyElxAK1k76QgNlHTnzlZnh2izPe3mYwCUstWPQY6Jt/nYouGiGpC3xx+t92/rww4K75+0cEuwLTCCJIvtAHuHXvnTjfjn3OxS+BwZqZaNf4RV+/uew2JBFdJqd24z45KBjuPTiU4+CVlaKI9XNyMW+5ink2Zwungabn43aL4+xjU4yyBTa7RcBrPXfH4hEywZOP/3R+DgzAJg6dpiR5TUYixB5BVBgGJTi8LyR18z1njLdo0FArSm6RUjFdNKSD6xt5c9YjuknEhcuoqIWVXAeXGTL/VCQR0ZlcPh0D4ImdaNZZ70j4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SLST6jG+mopecdBolQXESTSj7sSZ22hpvp5nmgIt1vI=;
 b=S9wLTs/lHp6u0/b6E/VamHaXwp6jOIn2wJL4g1fyQkXwUaGb6TBY6EOYMP7tKbDBt4vzk4sYdhJZeyIdbGPJtezkjor/T1Xf/+XCucgJq3ZXw/lP33E6BSbUTYy93TNUOScFuCWnE5GW59pBBPOOiegOgP3dZwzLqyeEqNO/CSaiikb1/9C+h0fteBq6FqIdRC7jgrWogfYB3J6KcetytPH6uhTg7mieIBYPo1A709bRqvJwb2JPsBnqMuLKxKNdyx7JlkaEAiMFUMw8WnRSEtOTwZ95uMxHDRdHuWLiIbvEJrSdmuO4zPbNev5D0MPnqdbVNZDe0PAcJIi5BxO1ZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SLST6jG+mopecdBolQXESTSj7sSZ22hpvp5nmgIt1vI=;
 b=X/Tum8TP1ptwUGZWUD8+RDOFyv1Qg3mtaik+qjLlKlrWu62MtA/NmWwX6pr4EpBU8uSXc8hS/3SmY0n7wjwWt84+aWurKuVfDyW/LHJQKkD1cVNcbz2SRr2cAbJj80DWSopbTyBLs5Qs81sMOo3D8rbDDFIAqwyxZoVlFWptqa8=
From: Ratheesh Kannoth <rkannoth@marvell.com>
To: Johannes Berg <johannes@sipsolutions.net>,
        "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: "davem@davemloft.net" <davem@davemloft.net>,
        "edumazet@google.com"
	<edumazet@google.com>,
        "kuba@kernel.org" <kuba@kernel.org>,
        "pabeni@redhat.com" <pabeni@redhat.com>,
        "ast@kernel.org" <ast@kernel.org>,
        "daniel@iogearbox.net" <daniel@iogearbox.net>,
        "hawk@kernel.org"
	<hawk@kernel.org>,
        "john.fastabend@gmail.com" <john.fastabend@gmail.com>,
        "jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
        "mengyuanlou@net-swift.com" <mengyuanlou@net-swift.com>,
        "yang.lee@linux.alibaba.com" <yang.lee@linux.alibaba.com>,
        "error27@gmail.com" <error27@gmail.com>,
        "linyunsheng@huawei.com"
	<linyunsheng@huawei.com>,
        "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>,
        "kys@microsoft.com" <kys@microsoft.com>,
        "haiyangz@microsoft.com" <haiyangz@microsoft.com>,
        "wei.liu@kernel.org"
	<wei.liu@kernel.org>,
        "decui@microsoft.com" <decui@microsoft.com>,
        "longli@microsoft.com" <longli@microsoft.com>,
        "shradhagupta@linux.microsoft.com" <shradhagupta@linux.microsoft.com>,
        "linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
        "michael.chan@broadcom.com" <michael.chan@broadcom.com>,
        "richardcochran@gmail.com" <richardcochran@gmail.com>,
        "jdelvare@suse.com"
	<jdelvare@suse.com>,
        "linux@roeck-us.net" <linux@roeck-us.net>,
        "yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
        "salil.mehta@huawei.com"
	<salil.mehta@huawei.com>,
        "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
        "linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
        "nbd@nbd.name" <nbd@nbd.name>, "john@phrozen.org" <john@phrozen.org>,
        "sean.wang@mediatek.com"
	<sean.wang@mediatek.com>,
        "Mark-MC.Lee@mediatek.com"
	<Mark-MC.Lee@mediatek.com>,
        "lorenzo@kernel.org" <lorenzo@kernel.org>,
        "matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
        "angelogioacchino.delregno@collabora.com"
	<angelogioacchino.delregno@collabora.com>,
        "linux@armlinux.org.uk"
	<linux@armlinux.org.uk>,
        "linux-rdma@vger.kernel.org"
	<linux-rdma@vger.kernel.org>,
        "saeedm@nvidia.com" <saeedm@nvidia.com>,
        "leon@kernel.org" <leon@kernel.org>,
        "gerhard@engleder-embedded.com"
	<gerhard@engleder-embedded.com>,
        "maciej.fijalkowski@intel.com"
	<maciej.fijalkowski@intel.com>,
        "alexanderduyck@fb.com"
	<alexanderduyck@fb.com>,
        "wei.fang@nxp.com" <wei.fang@nxp.com>,
        "shenwei.wang@nxp.com" <shenwei.wang@nxp.com>,
        "xiaoning.wang@nxp.com"
	<xiaoning.wang@nxp.com>,
        "linux-imx@nxp.com" <linux-imx@nxp.com>,
        "lgirdwood@gmail.com" <lgirdwood@gmail.com>,
        "broonie@kernel.org"
	<broonie@kernel.org>,
        "jaswinder.singh@linaro.org"
	<jaswinder.singh@linaro.org>,
        "ilias.apalodimas@linaro.org"
	<ilias.apalodimas@linaro.org>,
        "UNGLinuxDriver@microchip.com"
	<UNGLinuxDriver@microchip.com>,
        "horatiu.vultur@microchip.com"
	<horatiu.vultur@microchip.com>,
        "linux-omap@vger.kernel.org"
	<linux-omap@vger.kernel.org>,
        "grygorii.strashko@ti.com"
	<grygorii.strashko@ti.com>,
        "simon.horman@corigine.com"
	<simon.horman@corigine.com>,
        "vladimir.oltean@nxp.com"
	<vladimir.oltean@nxp.com>,
        "aleksander.lobakin@intel.com"
	<aleksander.lobakin@intel.com>,
        "linux-stm32@st-md-mailman.stormreply.com"
	<linux-stm32@st-md-mailman.stormreply.com>,
        "alexandre.torgue@foss.st.com"
	<alexandre.torgue@foss.st.com>,
        "joabreu@synopsys.com"
	<joabreu@synopsys.com>,
        "mcoquelin.stm32@gmail.com"
	<mcoquelin.stm32@gmail.com>,
        "p.zabel@pengutronix.de"
	<p.zabel@pengutronix.de>,
        "thomas.petazzoni@bootlin.com"
	<thomas.petazzoni@bootlin.com>,
        "mw@semihalf.com" <mw@semihalf.com>,
        Sunil
 Kovvuri Goutham <sgoutham@marvell.com>,
        Geethasowjanya Akula
	<gakula@marvell.com>,
        Subbaraya Sundeep Bhatta <sbhatta@marvell.com>,
        Hariprasad Kelam <hkelam@marvell.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "jgross@suse.com" <jgross@suse.com>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        "oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
        "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
        "ryder.lee@mediatek.com" <ryder.lee@mediatek.com>,
        "shayne.chen@mediatek.com"
	<shayne.chen@mediatek.com>,
        "kvalo@kernel.org" <kvalo@kernel.org>,
        "andrii@kernel.org" <andrii@kernel.org>,
        "martin.lau@linux.dev"
	<martin.lau@linux.dev>,
        "song@kernel.org" <song@kernel.org>,
        "yonghong.song@linux.dev" <yonghong.song@linux.dev>,
        "kpsingh@kernel.org"
	<kpsingh@kernel.org>,
        "sdf@google.com" <sdf@google.com>,
        "haoluo@google.com"
	<haoluo@google.com>,
        "jolsa@kernel.org" <jolsa@kernel.org>
Subject: RE: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
Thread-Topic: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
Thread-Index: AQHZznU+ZcDNaqRkgEScX+JwHjZ6da/pbFAAgAAB4aA=
Date: Mon, 14 Aug 2023 08:05:46 +0000
Message-ID: 
 <MWHPR1801MB1918230E007D7B2C5A768B37D317A@MWHPR1801MB1918.namprd18.prod.outlook.com>
References: <20230814060411.2401817-1-rkannoth@marvell.com>
 <8c6d19da5c4c38062b7a4e500de1d5dc1280fbc8.camel@sipsolutions.net>
In-Reply-To: <8c6d19da5c4c38062b7a4e500de1d5dc1280fbc8.camel@sipsolutions.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-dg-rorf: true
x-dg-ref: 
 =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?=
 =?utf-8?B?bk5jY210aGJtNXZkR2hjWVhCd1pHRjBZVnh5YjJGdGFXNW5YREE1WkRnME9X?=
 =?utf-8?B?STJMVE15WkRNdE5HRTBNQzA0TldWbExUWmlPRFJpWVRJNVpUTTFZbHh0YzJk?=
 =?utf-8?B?elhHMXpaeTAxWkRkbFl6ZGpPUzB6WVRjNUxURXhaV1V0WWpabU55MDRNRE00?=
 =?utf-8?B?Wm1KbU1tTTJNakpjWVcxbExYUmxjM1JjTldRM1pXTTNZMkl0TTJFM09TMHhN?=
 =?utf-8?B?V1ZsTFdJMlpqY3RPREF6T0daaVpqSmpOakl5WW05a2VTNTBlSFFpSUhONlBT?=
 =?utf-8?B?STROVElpSUhROUlqRXpNek0yTkRjek9UUXpPVEUzT0RBM09TSWdhRDBpVkRK?=
 =?utf-8?B?cllYRlNUWE15U0M5Q2EzWnhWSGx6ZUVGbWFrdHJWbnBSUFNJZ2FXUTlJaUln?=
 =?utf-8?B?WW13OUlqQWlJR0p2UFNJeElpQmphVDBpWTBGQlFVRkZVa2hWTVZKVFVsVkdU?=
 =?utf-8?B?a05uVlVGQlRqUlFRVUZDWm5Oa1ZXWm9jemRhUVZoeU1HUTNiRkkyZDFCb1pY?=
 =?utf-8?B?WlNNM1ZXU0hKQkswVmFRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVaEJRVUZCUW5WRWQwRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVWQlFWRkZRa0ZCUVVGSk4zRlVjRUZEUVVGUlFVRkJRVUZCUVVGQlFVRktO?=
 =?utf-8?B?RUZCUVVKb1FVZFJRVnBCUW5sQlIxVkJZM2RDZWtGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?blFVRkJRVUZCYm1kQlFVRkhUVUZrVVVKNlFVaFJRV0ozUW5SQlJqaEJZMEZD?=
 =?utf-8?B?YkVGSVNVRmpkMEoyUVVjMFFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkRRVUZCUVVGQlEyVkJRVUZCV1hkQ01VRklUVUZrUVVKMlFV?=
 =?utf-8?B?Y3dRVmgzUW5kQlIyZEJZbmRDZFVGSFZVRmlaMEl4UVVjd1FWbG5RbXhCU0Vs?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUpCUVVGQlFVRkJRVUZCU1VGQlFVRkJRVW8wUVVGQlFtcEJTRlZC?=
 =?utf-8?B?WTNkQ01FRkhPRUZpVVVKbVFVaE5RV04zUW5WQlJqaEJXa0ZDYUVGSVRVRmhR?=
 =?utf-8?B?VUptUVVoWlFVMUJRWGxCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-refone: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGRlFVRkJRVUZCUVVGQlFXZEJRVUZCUVVGdVowRkJRVWRO?=
 =?utf-8?B?UVdSUlFucEJTRkZCWW5kQ2RFRkdPRUZqZDBKNlFVYzBRVmgzUW5KQlIxVkJa?=
 =?utf-8?B?VkZDTTBGSE9FRmpaMEpyUVVoTlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJVVUZCUVVGQlFVRkJRVU5CUVVGQlFV?=
 =?utf-8?B?RkRaVUZCUVVGWmQwSXhRVWhOUVdSQlFuWkJSekJCV0hkQ2VrRklUVUZpWjBK?=
 =?utf-8?B?bVFVYzBRV0ozUW10QlIxVkJZa0ZDY0VGSE1FRmhVVUl3UVVkVlFXTm5RbVpC?=
 =?utf-8?B?U0ZsQlRVRkJlVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGSlFVRkJRVUZCU2pSQlFVRkNha0ZJVlVGamQwSXdRVWM0UVdKUlFtWkJT?=
 =?utf-8?B?RTFCWTNkQ2RVRkdPRUZqZDBKM1FVZEZRVmwzUW14QlJqaEJaR2RCZDBGRVNV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?VkJRVUZCUVVGQlFVRkJaMEZCUVVGQlFXNW5RVUZCUjFGQllrRkNkMEZHT0VG?=
 =?utf-8?B?amQwSnlRVWhyUVdOQlFteEJSamhCV1hkQ2IwRkhSVUZrUVVKbVFVY3dRVnBS?=
 =?utf-8?B?UW5wQlNFMUJXVkZDYmtGSFZVRllkMEl5UVVSQlFVMW5RVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZSUVVGQlFVRkJRVUZCUTBGQlFVRkJRVU5sUVVGQlFWcEJR?=
 =?utf-8?B?bk5CU0VGQldIZENla0ZIZDBGWlVVSnFRVWR6UVZoM1FtcEJSMmRCV1ZGQ01F?=
 =?utf-8?B?RkdPRUZpVVVKc1FVaE5RV04zUW1oQlIyTkJXbEZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-reftwo: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQ1FVRkJRVUZCUVVGQlFVbEJRVUZCUVVGS05FRkJR?=
 =?utf-8?B?VUpyUVVkM1FXTkJRbVpCU0ZGQldsRkNhRUZITUVGamQwSm1RVWM0UVdKblFt?=
 =?utf-8?B?eEJSMUZCWTJkQ2NFRklXVUZhVVVKbVFVZFpRV0ZSUW5OQlIxVkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJSVUZCUVVGQlFVRkJRVUZuUVVG?=
 =?utf-8?B?QlFVRkJibWRCUVVGSFZVRmlVVUpvUVVkclFXSkJRbVpCUjBWQldrRkNhMEZJ?=
 =?utf-8?B?U1VGYVVVSjZRVWhOUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlVVRkJRVUZCUVVGQlFVRkJRVUZCUVZGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGRFFVRkJRVUZCUTJWQlFVRkJZbEZDYUVGSVNVRmtaMEpzUVVkM1FW?=
 =?utf-8?B?aDNRbmRCU0VsQlluZENjVUZIVlVGWmQwSXdRVVk0UVdKblFtaEJSekJCV2xG?=
 =?utf-8?B?Q2VrRkdPRUZaZDBKMlFVYzBRVnBuUW5CQlIxRkJXbEZDZFVGSVVVRmhVVUpv?=
 =?utf-8?B?UVVkM1FWaDNRbWhCUjNkQlluZENkVUZIVlVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVSkJRVUZCUVVGQlFVRkJTVUZCUVVGQlFVbzBRVUZCUW5SQlIwVkJZMmRD?=
 =?utf-8?B?TWtGSFZVRmlRVUptUVVoQlFXTm5RblpCUjI5QldsRkNha0ZJVVVGWWQwSjFR?=
 =?utf-8?B?VWRGUVdKUlFteEJTRTFCV0hkQ2VVRkhWVUZqZDBJd1FVaEpRV0ZSUW1wQlNG?=
 =?utf-8?B?RkJXbEZDYTBGR09FRlpVVUp6UVVjNFFXSm5RbXhCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZGUVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZ1WjBGQlFV?=
 =?utf-8?B?Y3dRVmxSUW5sQlNGbEJXbEZDYzBGR09FRmpRVUo1UVVjNFFXRm5RbXhCUjAx?=
 =?utf-8?B?QlpFRkNaa0ZITkVGWlVVSjBRVWRWUVdOM1FtWkJTRWxCV2xGQ2VrRklVVUZq?=
 =?utf-8?B?WjBKd1FVZE5RV1JCUW14QlIxRkJXSGRDYjBGSFZVRmxRVUpxUVVjNFFWcEJR?=
 =?utf-8?B?bXhCU0UxQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlVVRkJRVUZCUVVGQlFVTkJRVUZC?=
 =?utf-8?B?UVVGRFpVRkJRVUZpVVVKb1FVaEpRV1JuUW14QlIzZEJZa0ZDWmtGSFJVRmpa?=
 =?utf-8?B?MEowUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-refthree: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRa0ZCUVVGQlFVRkJRVUZK?=
 =?utf-8?B?UVVGQlFVRkJTalJCUVVGQ2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJX?=
 =?utf-8?B?bmRDZGtGSE9FRmFkMEp6UVVkVlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlowRkJRVUZCUVc1blFVRkJSekJCV1ZGQ2VVRklXVUZhVVVK?=
 =?utf-8?B?elFVZDNRVmgzUW5kQlNFbEJZbmRDY1VGSFZVRlpkMEl3UVVZNFFWbDNRblpC?=
 =?utf-8?B?UjFGQldsRkNla0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRlJRVUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxRVUZCUVdKUlFtaEJT?=
 =?utf-8?B?RWxCWkdkQ2JFRkhkMEZpUVVKbVFVaEJRV05uUW5aQlIyOUJXbEZDYWtGSVVV?=
 =?utf-8?B?RllkMEpxUVVjNFFWcEJRbXhCU0UxQldIZENhMEZIYTBGWmQwSXdRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZDUVVGQlFVRkJRVUZCUVVsQlFVRkJRVUZLTkVG?=
 =?utf-8?B?QlFVSjBRVWRGUVdOblFqSkJSMVZCWWtGQ2MwRkdPRUZqUVVKNVFVYzRRV0Zu?=
 =?utf-8?B?UW14QlIwMUJaRUZDWmtGSE5FRlpVVUowUVVkVlFXTjNRbVpCUjAxQlluZENk?=
 =?utf-8?B?VUZIV1VGaFVVSnJRVWRWUVdKblFqQkJSMnRCV1ZGQ2MwRkdPRUZpVVVKb1FV?=
 =?utf-8?B?aEpRV1JuUW14QlIzZEJZa0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlJVRkJRVUZCUVVGQlFVRm5R?=
 =?utf-8?B?VUZCUVVGQmJtZEJRVUZITUVGWlVVSjVRVWhaUVZwUlFuTkJSM2RCV0hkQ2Qw?=
 =?utf-8?B?RklTVUZpZDBKeFFVZFZRVmwzUWpCQlJqaEJZbWRDYUVGSE1FRmFVVUo2UVVZ?=
 =?utf-8?B?NFFWbDNRblpCUnpSQldtZENjRUZIVVVGYVVVSjFRVWhSUVdGUlFtaEJSM2RC?=
 =?utf-8?B?V0hkQ2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJZbmRDZVVGR09FRlpV?=
 =?utf-8?B?VUo1UVVjd1FVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-reffour: 
 =?utf-8?B?UVVGQlFVRkJRVUZCWjBGQlFVRkJRVUZCUVVGQlFVRkJRVkZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZEUVVGQlFVRkJRMlZCUVVGQllsRkNhRUZJU1VGa1owSnNRVWQzUVdKQlFt?=
 =?utf-8?B?WkJTRUZCWTJkQ2RrRkhiMEZhVVVKcVFVaFJRVmgzUW5WQlIwVkJZbEZDYkVG?=
 =?utf-8?B?SVRVRllkMEpxUVVjNFFXSm5RbTFCUjJ0QldrRkNiRUZITkVGa1FVSndRVWRG?=
 =?utf-8?B?UVdKQlFtWkJSekJCV1ZGQ2VVRklXVUZhVVVKelFVZDNRVmgzUW5aQlNFbEJX?=
 =?utf-8?B?SGRDYmtGSE9FRmlkMEp1UVVkM1FWcFJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVK?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlNVRkJRVUZCUVVvMFFVRkJRblJCUjBWQlkyZENNa0ZI?=
 =?utf-8?B?VlVGaVFVSnpRVVk0UVdOQlFubEJSemhCWVdkQ2JFRkhUVUZrUVVKbVFVYzBR?=
 =?utf-8?B?VmxSUW5SQlIxVkJZM2RDWmtGSVNVRmFVVUo2UVVoUlFXTm5RbkJCUjAxQlpF?=
 =?utf-8?B?RkNiRUZIVVVGWWQwSjBRVWRGUVdOblFqSkJSMVZCWWtGQ2MwRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkZRVUZCUVVGQlFVRkJRV2RCUVVGQlFVRnVaMEZCUVVjd1FW?=
 =?utf-8?B?bFJRbmxCU0ZsQldsRkNjMEZIZDBGWWQwSjNRVWhKUVdKM1FuRkJSMVZCV1hk?=
 =?utf-8?B?Q01FRkdPRUZpWjBKb1FVY3dRVnBSUW5wQlJqaEJZMmRDYkVGSVRVRmtRVUo1?=
 =?utf-8?B?UVVkclFWbDNRakJCUjFWQldrRkNaa0ZITUVGWlVVSjVRVWhaUVZwUlFuTkJS?=
 =?utf-8?B?M2RCV0hkQ2RrRklTVUZZZDBKb1FVaEpRV0pSUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCVVVGQlFVRkJRVUZCUVVOQlFVRkJRVUZE?=
 =?utf-8?B?WlVGQlFVRmlVVUpvUVVoSlFXUm5RbXhCUjNkQllrRkNaa0ZJVVVGYVVVSjVR?=
 =?utf-8?B?VWN3UVdGUlFuVkJTRlZCWTNkQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFrRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkpRVUZCUVVGQlNqUkJRVUZDZEVGSFJVRmpaMEl5UVVkVlFXSkJRbk5CUmpo?=
 =?utf-8?B?QlpIZENka0ZJU1VGYVFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVVZC?=
 =?utf-8?Q?QUFBQUFBQUFBZ0FBQUFBQSIvPjwvbWV0YT4=3D?=
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MWHPR1801MB1918:EE_|DM6PR18MB3507:EE_
x-ms-office365-filtering-correlation-id: 740a624f-56cf-47db-3d03-08db9c9d440a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 Ujz2OCrOR0QQC844CXQ9lMPkKEVKm0EmcPtTox7sQtDmxXWppSV0x6zJj3dx0B82wFAkS977Jvtjgsy0gdiKmhQvVuWLNZtjM/8w5cxwSNJgjZGplNv414PH9VRxhHfhq5oPFR6gxd1W+wnNNZRDKp3pL1KbCBypTBfEhcbFWEHFHSbQ0RoizWZm7SwETYqMOHcFzQ0FLoWeiBEa2ViOhY4O3kPLN2aKkN069G5nmZU0qtgZeW0VcBpRUBQ4Ug3MxIURxstzJOuNMI2D+/KVAbLTyjrCJhVLpmmO62B8dSEjYcLfgdqEcZAg7fgNSc/3T73t/5OIsFtPvnIZxUGT/yAMlFVf7lVPM4WAo4t15Z6dvoz5mu8dxXlOmjK5NRi1SqlFPgbV5N/9ROIBAXxQmPton3CP4GnTHBL+VqvvXl/cLgYAot8QjdCPO+NDPlYRkBVPHARWeasLjQPa5e0Yx9ZhBV4ho7am2ZEXfFHFABFN1V/5tQRPr/dBDWQLK0V8TvkZL0vpnKKQ9z+o//hjjc+VL5DETr8Goqc62lWuD2Nc3wdv/JiuS7Quj5OjfWb1b8nzWvCAqfCb7ZCL7KC9IMKY5e6Qtc/mL8ivMWIul1k=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1801MB1918.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(366004)(39850400004)(396003)(186006)(451199021)(1800799006)(66946007)(66556008)(64756008)(66476007)(66446008)(76116006)(316002)(41300700001)(110136005)(54906003)(8936002)(8676002)(52536014)(5660300002)(478600001)(2906002)(71200400001)(7406005)(7416002)(966005)(6506007)(55236004)(7336002)(4744005)(9686003)(7366002)(83380400001)(26005)(7696005)(4326008)(55016003)(38070700005)(38100700002)(122000001)(86362001)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ak1yT3JQNmJFTVRpSVZUM1puRlFzVndjbUpmQnVyemJEM2xWYWFmQzU1c0Vw?=
 =?utf-8?B?ZGcvNmFGYjRSUmZSZlRyZkJySzNRUlJDV3JsU2JxMjVFQjg3MGxSU1YyWXpq?=
 =?utf-8?B?RmdqZWFRdmVnQnVpK29EajFMVXRzZGVZcnM4YU5qSkF5MHV6cTgzWGtpVGZi?=
 =?utf-8?B?MHRvb014bXd5bURTRnF4cU1UbGRGWHlKVk9kZktuUjdqZ2NpUUFNdXZaUW5u?=
 =?utf-8?B?OVdocWoyUUEzank4Rk9zTHU4Zm0zanBVTnJrenh4b0NLdWlKV2hqcnpEcmNm?=
 =?utf-8?B?ZDdYQkFneWJkMGhIZEpXTC9FeDlpdlZGVllBcFlCSVhBNW9QcGRnM3BNc1Vh?=
 =?utf-8?B?SUhHVzJCVWdwTzRIeVFpRDJXR1BXTlFkTlZsT2lEZXM0ZTNuR25NYUJIczZS?=
 =?utf-8?B?U2VPWjc0NS9GQzA1TXVQTHIwMGdwRldXZ2Rob0JaOE1sQmFhL0loOWFsN2h1?=
 =?utf-8?B?b3JNbUZFY1lFV2NrN3oyWjI5VDlOQy9sUEk3VmphRlRHK2h2YTA0L3l0RlRO?=
 =?utf-8?B?bGY4TGZCM0RsVE9UL3NWUUx5S2lQU0hLSUE3RCtDdDNNYThQYkNoa2ZRUEJv?=
 =?utf-8?B?ZlNxemp3dzBYcWs1ano3YnhxR0ZiTTFJN0x5ZGNYVTg1L0pZUmllN0xFK3VL?=
 =?utf-8?B?Z0ZrOTVGeFJ1aTgwMVN5eWNydVhjVWR1ckE3ZEFJbCtqVDdCMTB3SU1yamRZ?=
 =?utf-8?B?Y1VPUW5RSlorbDYyYjZtY2tGN0NtRjRqbER2Ni9NTjZ0KzRRQTN6WEYwRjZP?=
 =?utf-8?B?MW1RbUhrSDZ2N2lWR2t0eW9ydXpvTkZtcDRnb0gvSHZpV0o3Y20waFFmL2xk?=
 =?utf-8?B?NitxRURxSkQrTm13WWhSOTQ1TXJRUkpROUtxcG5uSkF2bWNYQ0F4UVgvUC9X?=
 =?utf-8?B?RnpiYVhJYkxFK2ZDdnpQY29LMXlJcHRuTFJlaVpuT3kyTUdnMC9XYVl4VFho?=
 =?utf-8?B?cWhYVlcwekNsR245Vk5xL0ZYN1AxUmt1WVdUc0VkYnVnQ1NQL2hhVmh1MVBW?=
 =?utf-8?B?aXJYTTlWcjA2aHIvN01HVDlwSDJ5UWVjQ2dBelBYZG5UYW00UG1GcVdBLzh2?=
 =?utf-8?B?cTVEVVN5OStudTBXU2czU212ZDVLcDFEMDhOZmI4U0k5OUM3MENZbEkvVzkr?=
 =?utf-8?B?K2J6SzY2azJGWFQvcDI3dHBVenAvSVJEQXdmbzNkRFNhNDFxREhNUXFMVFVm?=
 =?utf-8?B?RE5LdUtBSUtGOFgwK1RVYm9GVUxxVGZDcWdZbXJmU3JWT1pENTF0aDNlZXcw?=
 =?utf-8?B?ajRuWDRaOU44bG9wSTd2VHVNK20vbkJQakQ5cGFzbjNNV0owaUdWalZzb0Zo?=
 =?utf-8?B?TXg5RmJ2SXlVYnlmd05wN2N3dFhlMzFJZnBUZnhodEtLZWtwV0RKMUZuaGEw?=
 =?utf-8?B?NWM3TjVRMTNhRXVMa09IV2hpTDZjeUdzYkVkdWREQnhoYTlndnB4Ym5sQWZv?=
 =?utf-8?B?dVdITDVtVEd4cUtUeVZLTDdvZ0FyY2p0amwvazFxRmZuaWpuK1hKSDl0OUVu?=
 =?utf-8?B?ZHdtNVBtTzFETzk4UmhOdDJQdzNna1gySlB1SDkxb3lEd0JHbkRDTUF2MlJQ?=
 =?utf-8?B?WlJlY0psWWdlZnh1bENYSmVSUnV3Sm4xaDQvQnRzMmJxa2JNUEhMUi9EYzlF?=
 =?utf-8?B?SW1MSXB2Z2gzZGZoZUZtLzVvV2x2bDh2elBtaTFDTUFmeDR2aElGYThZN3ps?=
 =?utf-8?B?L0c1bVpOWVlNbm1YVEpUNm5NUXdmZWdSaGM3SWtkR1dRNEtoWDljT3J2bktL?=
 =?utf-8?B?SVVEc3VCeUVKbVZycmlhSi9Va1FyWHFhc0JDemFERDJDKzRXbGw3NGd0amor?=
 =?utf-8?B?QXZpSlVuenovUU1SaHpvVFp4RG5Ub09VOFo4bERQVE9VT1VTRE5hb0FoNXN3?=
 =?utf-8?B?N2UxUDgvK0drYWUzbXRiRHVHRUlRUzRxVVJCM0h5YkVadGlzM2ZLVm0yZW50?=
 =?utf-8?B?bUxRSGZRNnRGN0ltd0E2UHZGd3hsT0RORkkxSXAxMUcwL3k3Rys1d29YbjND?=
 =?utf-8?B?Q0J0TWN1QnNlYzJQWHBDZEcxTnlWRzZtdkxuRm5qaEtTWmxuTVB2UVB4SEFI?=
 =?utf-8?B?amVlanZVRHkwOFVqNDF6cUIzczlvTG53aEJSbldxVVEvYTZreGJ3czZDWnBC?=
 =?utf-8?Q?gA6A5vGoTgksJG/1/TOP3Vr1y?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MWHPR1801MB1918.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 740a624f-56cf-47db-3d03-08db9c9d440a
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2023 08:05:46.7992
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cPMmaPOfIX+xHnwbaVneNMpzPAc0yne+QKUTRzXlrjlzZYMqDb/s7w6evGac8HC8uA/V/pgkkts5Oa/n9XzoQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3507
X-Proofpoint-GUID: FiRs9-tZjKzgFawgfa5AMoirY-v23In5
X-Proofpoint-ORIG-GUID: FiRs9-tZjKzgFawgfa5AMoirY-v23In5
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26
 definitions=2023-08-14_03,2023-08-10_01,2023-05-22_02

PiBGcm9tOiBKb2hhbm5lcyBCZXJnIDxqb2hhbm5lc0BzaXBzb2x1dGlvbnMubmV0Pg0KPiBTdWJq
ZWN0OiBbRVhUXSBSZTogW1BBVENIIHYxIG5ldF0gcGFnZV9wb29sOiBDYXAgcXVldWUgc2l6ZSB0
byAzMmsuDQo+ID4gUGxlYXNlIGZpbmQgZGlzY3Vzc2lvbiBhdA0KPiA+IGh0dHBzOi8vdXJsZGVm
ZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbG9yZS5rZXJuZWwub3JnX2wN
Cj4gPg0KPiBJJ20gbm90IHRoZSBvbmUgd2hvJ3MgZ29pbmcgdG8gYXBwbHkgdGhpcywgYnV0IGhv
bmVzdGx5LCBJIGRvbid0IHRoaW5rIHRoYXQgd2lsbA0KPiB3b3JrIGFzIGEgY29tbWl0IG1lc3Nh
Z2UgZm9yIHN1Y2ggYSBjaGFuZ2UgLi4uDQo+IFN1cmUsIGxpbmsgdG8gaXQgYnkgYWxsIG1lYW5z
LCBidXQgYWxzbyBzdW1tYXJpemUgaXQgYW5kIG1ha2Ugc2Vuc2Ugb2YgaXQgZm9yDQo+IHRoZSBj
b21taXQgbWVzc2FnZT8NCg0KV2h5IGRvIHlvdSB0aGluayBpdCB3aWxsIG5vdCB3b3JrID8uIFRo
ZXJlIGlzIGEgbG9uZyBkaXNjdXNzaW9uIGFib3V0IHByb3MgYW5kIGNvbnMgb2YgZGlmZmVyZW50
IGFwcHJvYWNoZXMgYnkgDQpQYWdlIHBvb2wgbWFpbnRhaW5lcnMgaW4gdGhlIGRpc2N1c3Npb24g
bGluay4gIEhvd2V2ZXIgSSAgc3VtbWFyaXplIGl0IGhlcmUsIGFzIGNvbW1pdCBtZXNzYWdlLCBp
dCB3aWxsIA0KTGVhZCB0byBzb21lIG1vcmUgcXVlc3Rpb25zIGJ5IHJldmlld2Vycy4gDQoNCi1S
YXRoZWVzaA0KDQogDQogDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:13:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583479.913697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVShA-0000N0-KB; Mon, 14 Aug 2023 08:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583479.913697; Mon, 14 Aug 2023 08:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVShA-0000Me-Er; Mon, 14 Aug 2023 08:13:00 +0000
Received: by outflank-mailman (input) for mailman id 583479;
 Mon, 14 Aug 2023 08: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVSh8-0000MY-7A
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:12:58 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2078.outbound.protection.outlook.com [40.107.13.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5fabef3d-3a7a-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 10:12:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9000.eurprd04.prod.outlook.com (2603:10a6:10:2e3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 08:12:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 08:12: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: 5fabef3d-3a7a-11ee-b288-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R0HUthNGrPKj/0sv9V5I941dR4dNaDMbqqtGj7mOSEyG+n7e28Vyk+y0GvRseg0zVYJDqkNVJ0GwUMwshgAXGxLB767lqysG49k25E6PWbAzPjaAxBEItOT5eR7XspgRteVruPTi63mHjzrCEiPT2bvyFIrMvnbB54HAJ8dshcsqxe7Kr/yaTZCUwOb0sAwduIUbSWkNdhcDX/wyzlotLs1mxFpQFR4e/TtlsZ4hBQwabcd7kjJ9mjeUxC92Jt8fkNvhUPQj/xLxyBdqfuoLlCAMJwg1XtsC5vueubJSIuFJj7fBuDjC9cWed1j/9AyK9c0dbRoLeqAqns+K5lrFLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i+lz7iz1mLjgFVXCKycP+9u0HBGICLNhuwosAPgaU5g=;
 b=aLry7Yfpu8y+Bfgs5MVKRQnvhLHqZnmVF1PWs2pnb/4OHEJINjOEef6nl9WH9Oi4G1OjjBaNlRFMoGYMHt6YwgQQCDQP82e3i+5uouxBFpOIA3cAocoIkvyphgwWaBrq1JjvmrkgIRaRyQfy8ILdG6C1WYgo2eI7zXtst82ijC0WXSdb8rJJRaMRyqE/A9l3/CJjbwnq+dqgrKfyRwQdU6WQg7gb4r3sS+3LMttMtcZkgkMPYOAfpAge3ucIiW4/w+U4LEGNbsUPkNbxmx+e23LSEkGwUmkMd/VH8+CPRn+WBtNIpWdhM9ywq7b2Ijb/tm1DWRLPzQPZqInEIRhNOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i+lz7iz1mLjgFVXCKycP+9u0HBGICLNhuwosAPgaU5g=;
 b=uqSZ8nUSsBka23TK4agz8WXbEhHKLd6G7WA3e9ezvSoGH3QNdmFfUftU4cx9ldXmJM704Oe89tu36IWadzggJ7ypmMkoNq2D+jegjcex9FvLsiACS3v1t8g2pUuAHv1iuDQf6a5KET9f3COvezQMEdo6M0zwDJhZapX5WnrLhS+vT1HnBT5CqB2ganvAI82PlsHsSyZTT05IwcL0icGVeJIoGCTvSA/nVfQSVyUTCkPAPFNewOoof4fzDX+pMzNFVPvtHRvxATsVSF51mnA4iGpVfLpzF2OVLt4mYjIa1nUD4YLsQJcrQQkA8UPJvNgb2ozmN1nju81+04/qL6rOyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <71a796d3-6808-460f-7abf-10adc07f4329@suse.com>
Date: Mon, 14 Aug 2023 10:12:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 6/6] drivers/video: make declarations of defined
 functions available
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,
 xen-devel@lists.xenproject.org
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
 <d021c6a0-6826-351b-1613-82ec9ad85868@suse.com>
 <fe1c5eeeb01cb2690d80acec2bfdf721@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fe1c5eeeb01cb2690d80acec2bfdf721@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9000:EE_
X-MS-Office365-Filtering-Correlation-Id: d62bae7c-1a60-4a70-6d77-08db9c9e32cb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hmv90O7pfj9p3PnMbYoVhBIPTRAsj2lHa9R1RYz+Yepa0hsN2sAQnTItmEQspIWWgDxprNypofCKLk0lfDz0NF3YdlAN8zM+XieBaRfPfRQyDTrd72ymZDRL2JhlaDFyHSchLfzJsJmThbsODKOVRLZ8kJ1BDTjvg3Mx/ccmcZMFI5Ccz4nnrsTh7WRQHgXmQRpikLgEK8avWDYI4KSoMPC0PtgyxVFnh4kE85MBvMbvBijQnz/C5F7gb+ZzYyFthdriQr9oDQWHSdnAmZ6V6fvAo31NNhw/oZea5aqiY3LRD0MXoh6OukqAej1Fdi/KvLciAB9EErbHC9FToA/lZ61PNz7HDw1a7QEgwfYvT48NGfSjzFl/mrzV2NSgXOJFGUEKIz2+EhpAoz+PTEjvapypbX2Y1cvwtQJ6Al5nvKvFGawhjx2A9CeRPUZEf++vVa8VKBV4aCeEZ3AMNEpGTRucqL5Pi4rdT76uzGMOkIDAGxBma8IieoPk8sd7vhRyldpMCHOLDQl2780b5gPm4z3wMu4LRvfQVJB7iuWhlP4XvNFseXaq9nGJqouwNHhIJ+gYmdltIq29IJNJ1K8w0WlOdfq4LGGPLYpViRZ/XU5vRy5S346PR0Ycr8XnMIn7xdyEZDyo96j0YsV0LEU9iw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(396003)(346002)(39850400004)(136003)(186006)(1800799006)(451199021)(478600001)(8676002)(8936002)(4326008)(316002)(66556008)(6916009)(41300700001)(66946007)(66476007)(38100700002)(83380400001)(53546011)(6486002)(6506007)(26005)(2616005)(6512007)(86362001)(4744005)(31696002)(2906002)(5660300002)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?di9EblpzVGxqakNtR0poNm1HY3NwaCtvOTNpQ0tablJkMjUvWVBXV0lReE5M?=
 =?utf-8?B?dXhGSHZ1ZFdGcmpuS2J1UkdKMXRHU0ljU2N5aEJZVTBKclZSZVhMYVgwRXpJ?=
 =?utf-8?B?Nmw2V2JPeEFPRXg0Skl6Sm42OHFsc2RVRUhybUxYNmNlemJXanppcDdjaW9N?=
 =?utf-8?B?QW5DWFJnTTFkYjhPK2d6ek51MStadEtRYjZscHAxbVpHcjFuYlArNXk5Mm9I?=
 =?utf-8?B?dFVPU1o3RldyMGs4MU1qZURUV3dYaXA4K2Fsc0VCa0ZiNGU0c3NOc1hBamk1?=
 =?utf-8?B?OExCYWlSM3l3RlVDM1REbFpyMWkrWWYzelVkNC9ZOThDM2VTZzg4eHA1S3px?=
 =?utf-8?B?bUtQK3dUWXVHN216OVE3bGd5K2FPL3JBVitid0d2VTE2b0hOSStmZitud014?=
 =?utf-8?B?YmZMeFgzWFVMNi9GbllScDRLTzJKSU9Nb1QyVjQ1MWJnRGx2em9Dc0FVUERB?=
 =?utf-8?B?NDJGdXA5M1lVQmh3bmpaOGNRaTZWRDNtOFpLT0dHeW9VSkh1ekNhc3pNRkRr?=
 =?utf-8?B?WjBxTEtJQVp4cHB6OUdmQjZkWXhhSjN5Ulk4VEVVWUpzaUdlVk1VaGJ5dG1M?=
 =?utf-8?B?anBxMUlHN3E1Q2FmR3RENDZFYkEybFl5bFo4RkdzZUUrVXpiS1hMYjlRVEt6?=
 =?utf-8?B?OVpLVWg0QnBjNHV5MHFwcHZnNEN4NjFGNGZkUmNhejdYL0FuclJ5TklvSllB?=
 =?utf-8?B?Znd3ai8zbGpkSTBSbVZQS0ovL2htUy9vYXpMSHlHOGJXaUN5NTB0MmYxc1Zx?=
 =?utf-8?B?bXdML1k4ZkhkZzFsU0lvRDE2QnRFa3N4Mk5RNjJVRHo1emxQbVMzSkFXby9a?=
 =?utf-8?B?RHdMMFFTL2U1VWRzRWErRjRMdkN1aHc4Y25iUlNUbDRoQm15UER2cEgwUURk?=
 =?utf-8?B?UXFFR2tsQ0RmeEdSa3ZlRTNqa2tXbkVkVFlyZzBUS25YeFJCcm5RcFdqQ3k5?=
 =?utf-8?B?YmVSYm1taEhCWFpwVFFra21RNmhxSnVwUFFwQnBuRDg5d2psdnNNeDVzWGE4?=
 =?utf-8?B?YXZTTjc5bG4wK3ZaN3E5WWVHRUo2bkU5RkRiZW82bkp0SzMwWTMvaU51Mllu?=
 =?utf-8?B?UU5JN2lHR2NkNVpHU3RKOVorMWp2Z2MwUVJ5SG1pQ1JMb3JCeUtaM0crb2Jo?=
 =?utf-8?B?SjJXVkMwY1liaHVVc3NnNCtXR281SndWdExJYXp6dHY3OGZUUGJleEpYREJi?=
 =?utf-8?B?anFCSWtFQXlvSEIvcVFqS0lNYmxOUGhmZ3NsM3J5d1AzR3lCK3RYTW1CTDBO?=
 =?utf-8?B?M3NtY2xmQmZhK0ltRmVUcmorSmFSZ1ljb0tka3NhQXpTWUVhN1NkUkNORytT?=
 =?utf-8?B?Wk9EQ2tOL3o2V3I5aWt0RTc1ZGs4QVFUMWJGL0lXZG9NbEp0cnFUZ0s2SXZi?=
 =?utf-8?B?UGhxbEQ3V09NVHVxYXpiajNnWkZQN3ZoUjV1aUV4dUl5Smo1NjNEdXZLYXcv?=
 =?utf-8?B?WHdvbktKVUpqU2JvUUNJUUdLekVFUTQ3MDlWQ3JyR2R1aEcrMG9DV0ZwU21M?=
 =?utf-8?B?RVRLNDBXcjByMjZsU1FjcDU4ckU1cC9uQTB2bmo5V2NuV24rNnZmMkxRWURM?=
 =?utf-8?B?aGtVMjhPRlNpTjZtSUhObkZWM1FzZnVENVRDYnFjK3JVbXB6Y1pLYjdZVFZs?=
 =?utf-8?B?bllpZTkyWVVQVzE3cWQrN0l1VGVFZWVWV1NjK3NDR2JlK0Z6Z3NKNkYrVFNE?=
 =?utf-8?B?U0ovbUxGR2IvaHdpZmkyUmk0N3VVdXdNR1d5VzE2R294NVRwSjlXOUZ1VkFR?=
 =?utf-8?B?bDFZZlpuUUN5TGgzU01PZE83bGlvajZUOXlOdnQ0L2ZjS3VTVjlIWlQzaDFF?=
 =?utf-8?B?dVhoNS9TNzdKeXhGZzZUNXl1UVkzVTYrT0NxTFRDajF3dGJlNGJka1NzWUlU?=
 =?utf-8?B?azg1SEN3ZUtkR3FkVUtxYldjL0tYWHNwbHliNjNBSU5ZYzFKZ1AwQUxXbFll?=
 =?utf-8?B?dmRPZnRYUWpkaDJ6L2l4clFuMFZOaU1yRnFzeW1kdFBzd095em1aTVJrZHBv?=
 =?utf-8?B?RE1UNmI0VmJqK2tiYnlhaVU3QmREZGdtUkpMbVNVUktjeXlBa2EveHhaUTFG?=
 =?utf-8?B?Z3BrYlBidW94ZmljcWl6TnptcHBPOHZjckg2MmI5dUNOYnQvcmhzdldkbi96?=
 =?utf-8?Q?mGu5S7PkT7DDhAy9ZscFn6Mk0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d62bae7c-1a60-4a70-6d77-08db9c9e32cb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 08:12:27.5039
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rprGlap4+NIzyXcN4FTkdHuKiP7kbbB5TG9/YpKgUeqj9mPNabEN1eF8zrGx1vksVe70gsFkxA5sIqRrYWUZlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9000

On 14.08.2023 09:56, Nicola Vetrini wrote:
> On 14/08/2023 09:47, Jan Beulich wrote:
>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>> --- a/xen/drivers/video/vga.c
>>> +++ b/xen/drivers/video/vga.c
>>> @@ -9,6 +9,7 @@
>>>  #include <xen/mm.h>
>>>  #include <xen/param.h>
>>>  #include <xen/vga.h>
>>> +#include <xen/console.h>
>>
>> xen/vga.h, which you move the declarations to, is already included 
>> here.
>> Why the need for xen/console.h?
> 
> vga.c needs a declaration for fill_console_start_info, which is declared 
> in console.h, as
> stated in the commit message (it could be clarified perhaps).

Ah, I see. It's not very fortunate mixing of two separate adjustments.
But then I'm inclined to ask: When fill_console_start_info() is
defined in vga.c, wouldn't it make sense to move its declaration to
vga.h? The more considering the type of its parameter?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:53:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583488.913707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTKZ-0004nk-Dy; Mon, 14 Aug 2023 08:53:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583488.913707; Mon, 14 Aug 2023 08:53:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTKZ-0004nd-Ac; Mon, 14 Aug 2023 08:53:43 +0000
Received: by outflank-mailman (input) for mailman id 583488;
 Mon, 14 Aug 2023 08:53: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=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVTKY-0004nX-3Z
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:53:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10e42706-3a80-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 10:53:41 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id DE8FB4EE0737;
 Mon, 14 Aug 2023 10:53:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10e42706-3a80-11ee-b288-6b7b168915f2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2] xen/arm: traps: remove unused function 'dump_guest_s1_walk'
Date: Mon, 14 Aug 2023 10:53:06 +0200
Message-Id: <771478833d2f5f0d0c7ee706fcc7e57637b5068b.1692003039.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function has no uses in the codebase, and can be removed.
This also avoids the violation of MISRA C:2012 Rule 8.4 and Rule 2.1
because it has no declaration and the function's code is unreachable.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Modified commit message according to review suggestions.

The function in question has no callers and its removal has already
been proposed (and acked) as part of this larger series [1].
There have been further bugfixes to that function (commits
a43cc8fc0827 and 60e06f2b1b2b) but they do not add any caller,
hence it can be removed.

[1] https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
---
 xen/arch/arm/traps.c | 57 --------------------------------------------
 1 file changed, 57 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 7baddfdc57b3..46c9a4031b30 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1686,63 +1686,6 @@ void handle_ro_raz(struct cpu_user_regs *regs,
     handle_ro_read_val(regs, regidx, read, hsr, min_el, 0);
 }

-void dump_guest_s1_walk(struct domain *d, vaddr_t addr)
-{
-    register_t ttbcr = READ_SYSREG(TCR_EL1);
-    uint64_t ttbr0 = READ_SYSREG64(TTBR0_EL1);
-    uint32_t offset;
-    uint32_t *first = NULL, *second = NULL;
-    mfn_t mfn;
-
-    mfn = gfn_to_mfn(d, gaddr_to_gfn(ttbr0));
-
-    printk("dom%d VA 0x%08"PRIvaddr"\n", d->domain_id, addr);
-    printk("    TTBCR: 0x%"PRIregister"\n", ttbcr);
-    printk("    TTBR0: 0x%016"PRIx64" = 0x%"PRIpaddr"\n",
-           ttbr0, mfn_to_maddr(mfn));
-
-    if ( ttbcr & TTBCR_EAE )
-    {
-        printk("Cannot handle LPAE guest PT walk\n");
-        return;
-    }
-    if ( (ttbcr & TTBCR_N_MASK) != 0 )
-    {
-        printk("Cannot handle TTBR1 guest walks\n");
-        return;
-    }
-
-    if ( mfn_eq(mfn, INVALID_MFN) )
-    {
-        printk("Failed TTBR0 maddr lookup\n");
-        goto done;
-    }
-    first = map_domain_page(mfn);
-
-    offset = addr >> (12+8);
-    printk("1ST[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
-           offset, mfn_to_maddr(mfn), first[offset]);
-    if ( !(first[offset] & 0x1) ||
-          (first[offset] & 0x2) )
-        goto done;
-
-    mfn = gfn_to_mfn(d, gaddr_to_gfn(first[offset]));
-
-    if ( mfn_eq(mfn, INVALID_MFN) )
-    {
-        printk("Failed L1 entry maddr lookup\n");
-        goto done;
-    }
-    second = map_domain_page(mfn);
-    offset = (addr >> 12) & 0x3FF;
-    printk("2ND[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
-           offset, mfn_to_maddr(mfn), second[offset]);
-
-done:
-    if ( second ) unmap_domain_page(second);
-    if ( first ) unmap_domain_page(first);
-}
-
 /*
  * Return the value of the hypervisor fault address register.
  *
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 08:56:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 08:56:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583494.913717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTNe-0005PI-T1; Mon, 14 Aug 2023 08:56:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583494.913717; Mon, 14 Aug 2023 08:56: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 1qVTNe-0005PB-Oq; Mon, 14 Aug 2023 08:56:54 +0000
Received: by outflank-mailman (input) for mailman id 583494;
 Mon, 14 Aug 2023 08:56:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h9nZ=D7=marvell.com=rkannoth@srs-se1.protection.inumbo.net>)
 id 1qVTNd-0005P2-SW
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:56:54 +0000
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80bf141c-3a80-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 10:56:50 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37E7juZ7011729; Mon, 14 Aug 2023 01:55:20 -0700
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2102.outbound.protection.outlook.com [104.47.70.102])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3sfg1pr6ff-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 14 Aug 2023 01:55:18 -0700
Received: from MWHPR1801MB1918.namprd18.prod.outlook.com
 (2603:10b6:301:68::33) by BN9PR18MB4218.namprd18.prod.outlook.com
 (2603:10b6:408:137::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Mon, 14 Aug
 2023 08:55:15 +0000
Received: from MWHPR1801MB1918.namprd18.prod.outlook.com
 ([fe80::9ee9:35fc:cabe:11a1]) by MWHPR1801MB1918.namprd18.prod.outlook.com
 ([fe80::9ee9:35fc:cabe:11a1%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 08:55:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80bf141c-3a80-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bkAZ+W/lcO2EAbCs+P1+p0m2cT6KHZyIW9nZUfVtZj/yaS9kX9fSSriJKG/5O/QOcVUMf2bvp3SbKWdDKsqeXozU3PVl+IfSV8M97QmAtTrGW6SHpoNM4B8c17OkUp7+yvNpY2Z0XXTwGgOu8eha4AEwLW9cYQQgm53GOwaEgPRNENBpvkE1+NydQ//wGFXSaogGO1jyBAyphFRsPVRZZE0M2dEtBs7tyZmNK37WZr92CMAzQi6u/jmIAKCook2OxirPB06tMDUA4HcAi/Eu/Nj9BwwD3FPS9A7HXHIu3zY4RItWtE9v798pRFGlhSAx8rvAry+L7LHKy7p/o+g/9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pKlbzCrY1DtBhUGV1M+DO81GolN0fk0rkI9WgvE6w74=;
 b=JfejF8wIyOlLVvzz3JYixBaVKCVBDmLM5W7mwwcVGxCrZcGAVbI4CLhmamy1KHljPqgL2M/wG4H14D4G51vNmjWYx4/yNq2DtcHSQ+T/g1YU6y7q52Z+EZnDwEjRlIxNVEDTuTBFevSKsdD9Rj16Y8yXgGwL9cKw7XogRZplbfpYvTQbj01/wMAWiKvGHucuyLIZQnpyAeO7cpV/pJm4BysfbcJ7wcbk7RPPgDPVdpqLktWQodPltG1ympFoEBD+NOwB/vKSTlqN0fqxhQLFITKYdVTB6qFhG8StD5xMGiNB2w6Z7F/01pbUa0v6f7ogDoQLYwOdRnuTHggJyLzFRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pKlbzCrY1DtBhUGV1M+DO81GolN0fk0rkI9WgvE6w74=;
 b=cEN1Mlb9YziNR8pu0Zx5zNgYERC4KvFlvhFb2F07Bz7dfoZ8a8WdcjvTGpp8ZALUYiK4pqvlEci5MfmAvJyM9ToQV1MFCXSBOg4C/p+9YiMhNJbYHbSujI1R5DdMFGZ7wPP7crr/5Cft6HseQPdxL/6Wk6qMklhX/he+1pdKmtY=
From: Ratheesh Kannoth <rkannoth@marvell.com>
To: Jesper Dangaard Brouer <hawk@kernel.org>,
        Johannes Berg
	<johannes@sipsolutions.net>,
        "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: "davem@davemloft.net" <davem@davemloft.net>,
        "edumazet@google.com"
	<edumazet@google.com>,
        "kuba@kernel.org" <kuba@kernel.org>,
        "pabeni@redhat.com" <pabeni@redhat.com>,
        "ast@kernel.org" <ast@kernel.org>,
        "daniel@iogearbox.net" <daniel@iogearbox.net>,
        "john.fastabend@gmail.com"
	<john.fastabend@gmail.com>,
        "jiawenwu@trustnetic.com"
	<jiawenwu@trustnetic.com>,
        "mengyuanlou@net-swift.com"
	<mengyuanlou@net-swift.com>,
        "yang.lee@linux.alibaba.com"
	<yang.lee@linux.alibaba.com>,
        "error27@gmail.com" <error27@gmail.com>,
        "linyunsheng@huawei.com" <linyunsheng@huawei.com>,
        "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
        "kys@microsoft.com" <kys@microsoft.com>,
        "haiyangz@microsoft.com"
	<haiyangz@microsoft.com>,
        "wei.liu@kernel.org" <wei.liu@kernel.org>,
        "decui@microsoft.com" <decui@microsoft.com>,
        "longli@microsoft.com"
	<longli@microsoft.com>,
        "shradhagupta@linux.microsoft.com"
	<shradhagupta@linux.microsoft.com>,
        "linux-hwmon@vger.kernel.org"
	<linux-hwmon@vger.kernel.org>,
        "michael.chan@broadcom.com"
	<michael.chan@broadcom.com>,
        "richardcochran@gmail.com"
	<richardcochran@gmail.com>,
        "jdelvare@suse.com" <jdelvare@suse.com>,
        "linux@roeck-us.net" <linux@roeck-us.net>,
        "salil.mehta@huawei.com"
	<salil.mehta@huawei.com>,
        "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
        "linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
        "nbd@nbd.name" <nbd@nbd.name>, "john@phrozen.org" <john@phrozen.org>,
        "sean.wang@mediatek.com"
	<sean.wang@mediatek.com>,
        "Mark-MC.Lee@mediatek.com"
	<Mark-MC.Lee@mediatek.com>,
        "lorenzo@kernel.org" <lorenzo@kernel.org>,
        "matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
        "angelogioacchino.delregno@collabora.com"
	<angelogioacchino.delregno@collabora.com>,
        "linux@armlinux.org.uk"
	<linux@armlinux.org.uk>,
        "linux-rdma@vger.kernel.org"
	<linux-rdma@vger.kernel.org>,
        "saeedm@nvidia.com" <saeedm@nvidia.com>,
        "leon@kernel.org" <leon@kernel.org>,
        "gerhard@engleder-embedded.com"
	<gerhard@engleder-embedded.com>,
        "maciej.fijalkowski@intel.com"
	<maciej.fijalkowski@intel.com>,
        "alexanderduyck@fb.com"
	<alexanderduyck@fb.com>,
        "wei.fang@nxp.com" <wei.fang@nxp.com>,
        "shenwei.wang@nxp.com" <shenwei.wang@nxp.com>,
        "xiaoning.wang@nxp.com"
	<xiaoning.wang@nxp.com>,
        "linux-imx@nxp.com" <linux-imx@nxp.com>,
        "yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
        "lgirdwood@gmail.com"
	<lgirdwood@gmail.com>,
        "broonie@kernel.org" <broonie@kernel.org>,
        "jaswinder.singh@linaro.org" <jaswinder.singh@linaro.org>,
        "ilias.apalodimas@linaro.org" <ilias.apalodimas@linaro.org>,
        "UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
        "horatiu.vultur@microchip.com" <horatiu.vultur@microchip.com>,
        "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
        "grygorii.strashko@ti.com" <grygorii.strashko@ti.com>,
        "simon.horman@corigine.com" <simon.horman@corigine.com>,
        "vladimir.oltean@nxp.com" <vladimir.oltean@nxp.com>,
        "aleksander.lobakin@intel.com" <aleksander.lobakin@intel.com>,
        "linux-stm32@st-md-mailman.stormreply.com"
	<linux-stm32@st-md-mailman.stormreply.com>,
        "alexandre.torgue@foss.st.com"
	<alexandre.torgue@foss.st.com>,
        "joabreu@synopsys.com"
	<joabreu@synopsys.com>,
        "mcoquelin.stm32@gmail.com"
	<mcoquelin.stm32@gmail.com>,
        "p.zabel@pengutronix.de"
	<p.zabel@pengutronix.de>,
        "thomas.petazzoni@bootlin.com"
	<thomas.petazzoni@bootlin.com>,
        "mw@semihalf.com" <mw@semihalf.com>,
        Sunil
 Kovvuri Goutham <sgoutham@marvell.com>,
        Geethasowjanya Akula
	<gakula@marvell.com>,
        Subbaraya Sundeep Bhatta <sbhatta@marvell.com>,
        Hariprasad Kelam <hkelam@marvell.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "jgross@suse.com" <jgross@suse.com>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        "oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
        "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
        "ryder.lee@mediatek.com" <ryder.lee@mediatek.com>,
        "shayne.chen@mediatek.com"
	<shayne.chen@mediatek.com>,
        "kvalo@kernel.org" <kvalo@kernel.org>,
        "andrii@kernel.org" <andrii@kernel.org>,
        "martin.lau@linux.dev"
	<martin.lau@linux.dev>,
        "song@kernel.org" <song@kernel.org>,
        "yonghong.song@linux.dev" <yonghong.song@linux.dev>,
        "kpsingh@kernel.org"
	<kpsingh@kernel.org>,
        "sdf@google.com" <sdf@google.com>,
        "haoluo@google.com"
	<haoluo@google.com>,
        "jolsa@kernel.org" <jolsa@kernel.org>
Subject: RE: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
Thread-Topic: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
Thread-Index: AQHZznU+ZcDNaqRkgEScX+JwHjZ6da/pbFAAgAAB4aCAAAxOAIAAARQQ
Date: Mon, 14 Aug 2023 08:55:14 +0000
Message-ID: 
 <MWHPR1801MB19182915C64A7C7611F326F7D317A@MWHPR1801MB1918.namprd18.prod.outlook.com>
References: <20230814060411.2401817-1-rkannoth@marvell.com>
 <8c6d19da5c4c38062b7a4e500de1d5dc1280fbc8.camel@sipsolutions.net>
 <MWHPR1801MB1918230E007D7B2C5A768B37D317A@MWHPR1801MB1918.namprd18.prod.outlook.com>
 <cceef8a4-6f38-bfd4-4f77-5dffa558b287@kernel.org>
In-Reply-To: <cceef8a4-6f38-bfd4-4f77-5dffa558b287@kernel.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-dg-rorf: true
x-dg-ref: 
 =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?=
 =?utf-8?B?bk5jY210aGJtNXZkR2hjWVhCd1pHRjBZVnh5YjJGdGFXNW5YREE1WkRnME9X?=
 =?utf-8?B?STJMVE15WkRNdE5HRTBNQzA0TldWbExUWmlPRFJpWVRJNVpUTTFZbHh0YzJk?=
 =?utf-8?B?elhHMXpaeTAwTmpjd05XUTRPQzB6WVRnd0xURXhaV1V0WWpabU55MDRNRE00?=
 =?utf-8?B?Wm1KbU1tTTJNakpjWVcxbExYUmxjM1JjTkRZM01EVmtPR0V0TTJFNE1DMHhN?=
 =?utf-8?B?V1ZsTFdJMlpqY3RPREF6T0daaVpqSmpOakl5WW05a2VTNTBlSFFpSUhONlBT?=
 =?utf-8?B?SXhNek13SWlCMFBTSXhNek16TmpRM05qa3hNVGN4T1RnNE1qY2lJR2c5SW1w?=
 =?utf-8?B?d1pWZFBaR3RRWjBWd1QwTk9lRUUyY1ZjcmNqZEZjRU5QTUQwaUlHbGtQU0lp?=
 =?utf-8?B?SUdKc1BTSXdJaUJpYnowaU1TSWdZMms5SW1OQlFVRkJSVkpJVlRGU1UxSlZS?=
 =?utf-8?B?azVEWjFWQlFVZEpWMEZCUkhKWFkyZEphbU0zV2tGWGQwNHdjMkZWUTI5VFNt?=
 =?utf-8?B?SkJNMU40Y0ZGTGFFbHJXa0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRklRVUZCUVVKMVJIZEJRVE5uT0VGQlNWRkhRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGRlFVRlJSVUpCUVVGQlNUZHhWSEJCUTBGQlVVRkJRVUZCUVVGQlFVRkJT?=
 =?utf-8?B?alJCUVVGQ2FFRkhVVUZhUVVKNVFVZFZRV04zUW5wQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlowRkJRVUZCUVc1blFVRkJSMDFCWkZGQ2VrRklVVUZpZDBKMFFVWTRRV05C?=
 =?utf-8?B?UW14QlNFbEJZM2RDZGtGSE5FRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRlJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxRVUZCUVZsM1FqRkJTRTFCWkVGQ2Rr?=
 =?utf-8?B?RkhNRUZZZDBKM1FVZG5RV0ozUW5WQlIxVkJZbWRDTVVGSE1FRlpaMEpzUVVo?=
 =?utf-8?B?SlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZDUVVGQlFVRkJRVUZCUVVsQlFVRkJRVUZLTkVGQlFVSnFRVWhW?=
 =?utf-8?B?UVdOM1FqQkJSemhCWWxGQ1prRklUVUZqZDBKMVFVWTRRVnBCUW1oQlNFMUJZ?=
 =?utf-8?B?VUZDWmtGSVdVRk5RVUY1UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-refone: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlJVRkJRVUZCUVVGQlFVRm5RVUZCUVVGQmJtZEJRVUZI?=
 =?utf-8?B?VFVGa1VVSjZRVWhSUVdKM1FuUkJSamhCWTNkQ2VrRkhORUZZZDBKeVFVZFZR?=
 =?utf-8?B?V1ZSUWpOQlJ6aEJZMmRDYTBGSVRVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVkZCUVVGQlFVRkJRVUZEUVVGQlFV?=
 =?utf-8?B?RkJRMlZCUVVGQldYZENNVUZJVFVGa1FVSjJRVWN3UVZoM1FucEJTRTFCWW1k?=
 =?utf-8?B?Q1prRkhORUZpZDBKclFVZFZRV0pCUW5CQlJ6QkJZVkZDTUVGSFZVRmpaMEpt?=
 =?utf-8?B?UVVoWlFVMUJRWGxCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVKQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlNVRkJRVUZCUVVvMFFVRkJRbXBCU0ZWQlkzZENNRUZIT0VGaVVVSm1R?=
 =?utf-8?B?VWhOUVdOM1FuVkJSamhCWTNkQ2QwRkhSVUZaZDBKc1FVWTRRV1JuUVhkQlJF?=
 =?utf-8?B?bEJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkZRVUZCUVVGQlFVRkJRV2RCUVVGQlFVRnVaMEZCUVVkUlFXSkJRbmRCUmpo?=
 =?utf-8?B?QlkzZENja0ZJYTBGalFVSnNRVVk0UVZsM1FtOUJSMFZCWkVGQ1prRkhNRUZh?=
 =?utf-8?B?VVVKNlFVaE5RVmxSUW01QlIxVkJXSGRDTWtGRVFVRk5aMEZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCVVVGQlFVRkJRVUZCUVVOQlFVRkJRVUZEWlVGQlFVRmFR?=
 =?utf-8?B?VUp6UVVoQlFWaDNRbnBCUjNkQldWRkNha0ZIYzBGWWQwSnFRVWRuUVZsUlFq?=
 =?utf-8?B?QkJSamhCWWxGQ2JFRklUVUZqZDBKb1FVZGpRVnBSUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-reftwo: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFrRkJRVUZCUVVGQlFVRkpRVUZCUVVGQlNqUkJR?=
 =?utf-8?B?VUZDYTBGSGQwRmpRVUptUVVoUlFWcFJRbWhCUnpCQlkzZENaa0ZIT0VGaVow?=
 =?utf-8?B?SnNRVWRSUVdOblFuQkJTRmxCV2xGQ1prRkhXVUZoVVVKelFVZFZRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVVZCUVVGQlFVRkJRVUZCWjBG?=
 =?utf-8?B?QlFVRkJRVzVuUVVGQlIxVkJZbEZDYUVGSGEwRmlRVUptUVVkRlFWcEJRbXRC?=
 =?utf-8?B?U0VsQldsRkNla0ZJVFVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFXZEJRVUZCUVVGQlFVRkJRVUZCUVVGUlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlEwRkJRVUZCUVVObFFVRkJRV0pSUW1oQlNFbEJaR2RDYkVGSGQw?=
 =?utf-8?B?RllkMEozUVVoSlFXSjNRbkZCUjFWQldYZENNRUZHT0VGaVowSm9RVWN3UVZw?=
 =?utf-8?B?UlFucEJSamhCV1hkQ2RrRkhORUZhWjBKd1FVZFJRVnBSUW5WQlNGRkJZVkZD?=
 =?utf-8?B?YUVGSGQwRllkMEpvUVVkM1FXSjNRblZCUjFWQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkNRVUZCUVVGQlFVRkJRVWxCUVVGQlFVRktORUZCUVVKMFFVZEZRV05u?=
 =?utf-8?B?UWpKQlIxVkJZa0ZDWmtGSVFVRmpaMEoyUVVkdlFWcFJRbXBCU0ZGQldIZENk?=
 =?utf-8?B?VUZIUlVGaVVVSnNRVWhOUVZoM1FubEJSMVZCWTNkQ01FRklTVUZoVVVKcVFV?=
 =?utf-8?B?aFJRVnBSUW10QlJqaEJXVkZDYzBGSE9FRmlaMEpzUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVGblFVRkJRVUZCYm1kQlFV?=
 =?utf-8?B?RkhNRUZaVVVKNVFVaFpRVnBSUW5OQlJqaEJZMEZDZVVGSE9FRmhaMEpzUVVk?=
 =?utf-8?B?TlFXUkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1RVWhKUVZwUlFucEJTRkZC?=
 =?utf-8?B?WTJkQ2NFRkhUVUZrUVVKc1FVZFJRVmgzUW05QlIxVkJaVUZDYWtGSE9FRmFR?=
 =?utf-8?B?VUpzUVVoTlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJRVUZCUVVGQlFVRkRRVUZC?=
 =?utf-8?B?UVVGQlEyVkJRVUZCWWxGQ2FFRklTVUZrWjBKc1FVZDNRV0pCUW1aQlIwVkJZ?=
 =?utf-8?B?MmRDZEVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-refthree: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUpCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?U1VGQlFVRkJRVW8wUVVGQlFuUkJSMFZCWTJkQ01rRkhWVUZpUVVKelFVWTRR?=
 =?utf-8?B?VnAzUW5aQlJ6aEJXbmRDYzBGSFZVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGRlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFXZEJRVUZCUVVGdVowRkJRVWN3UVZsUlFubEJTRmxCV2xG?=
 =?utf-8?B?Q2MwRkhkMEZZZDBKM1FVaEpRV0ozUW5GQlIxVkJXWGRDTUVGR09FRlpkMEoy?=
 =?utf-8?B?UVVkUlFWcFJRbnBCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJVVUZCUVVGQlFVRkJRVU5CUVVGQlFVRkRaVUZCUVVGaVVVSm9R?=
 =?utf-8?B?VWhKUVdSblFteEJSM2RCWWtGQ1prRklRVUZqWjBKMlFVZHZRVnBSUW1wQlNG?=
 =?utf-8?B?RkJXSGRDYWtGSE9FRmFRVUpzUVVoTlFWaDNRbXRCUjJ0QldYZENNRUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFVRkJRVUZCUVVGSlFVRkJRVUZCU2pS?=
 =?utf-8?B?QlFVRkNkRUZIUlVGalowSXlRVWRWUVdKQlFuTkJSamhCWTBGQ2VVRkhPRUZo?=
 =?utf-8?B?WjBKc1FVZE5RV1JCUW1aQlJ6UkJXVkZDZEVGSFZVRmpkMEptUVVkTlFXSjNR?=
 =?utf-8?B?blZCUjFsQllWRkNhMEZIVlVGaVowSXdRVWRyUVZsUlFuTkJSamhCWWxGQ2FF?=
 =?utf-8?B?RklTVUZrWjBKc1FVZDNRV0pCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVVkJRVUZCUVVGQlFVRkJa?=
 =?utf-8?B?MEZCUVVGQlFXNW5RVUZCUnpCQldWRkNlVUZJV1VGYVVVSnpRVWQzUVZoM1Fu?=
 =?utf-8?B?ZEJTRWxCWW5kQ2NVRkhWVUZaZDBJd1FVWTRRV0puUW1oQlJ6QkJXbEZDZWtG?=
 =?utf-8?B?R09FRlpkMEoyUVVjMFFWcG5RbkJCUjFGQldsRkNkVUZJVVVGaFVVSm9RVWQz?=
 =?utf-8?B?UVZoM1FuUkJSMFZCWTJkQ01rRkhWVUZpUVVKelFVWTRRV0ozUW5sQlJqaEJX?=
 =?utf-8?B?VkZDZVVGSE1FRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-reffour: 
 =?utf-8?B?UVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZCUVVGQlFVRkJRVUZSUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUTBGQlFVRkJRVU5sUVVGQlFXSlJRbWhCU0VsQlpHZENiRUZIZDBGaVFV?=
 =?utf-8?B?Sm1RVWhCUVdOblFuWkJSMjlCV2xGQ2FrRklVVUZZZDBKMVFVZEZRV0pSUW14?=
 =?utf-8?B?QlNFMUJXSGRDYWtGSE9FRmlaMEp0UVVkclFWcEJRbXhCUnpSQlpFRkNjRUZI?=
 =?utf-8?B?UlVGaVFVSm1RVWN3UVZsUlFubEJTRmxCV2xGQ2MwRkhkMEZZZDBKMlFVaEpR?=
 =?utf-8?B?VmgzUW01QlJ6aEJZbmRDYmtGSGQwRmFVVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?Q1FVRkJRVUZCUVVGQlFVbEJRVUZCUVVGS05FRkJRVUowUVVkRlFXTm5RakpC?=
 =?utf-8?B?UjFWQllrRkNjMEZHT0VGalFVSjVRVWM0UVdGblFteEJSMDFCWkVGQ1prRkhO?=
 =?utf-8?B?RUZaVVVKMFFVZFZRV04zUW1aQlNFbEJXbEZDZWtGSVVVRmpaMEp3UVVkTlFX?=
 =?utf-8?B?UkJRbXhCUjFGQldIZENkRUZIUlVGalowSXlRVWRWUVdKQlFuTkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJSVUZCUVVGQlFVRkJRVUZuUVVGQlFVRkJibWRCUVVGSE1F?=
 =?utf-8?B?RlpVVUo1UVVoWlFWcFJRbk5CUjNkQldIZENkMEZJU1VGaWQwSnhRVWRWUVZs?=
 =?utf-8?B?M1FqQkJSamhCWW1kQ2FFRkhNRUZhVVVKNlFVWTRRV05uUW14QlNFMUJaRUZD?=
 =?utf-8?B?ZVVGSGEwRlpkMEl3UVVkVlFWcEJRbVpCUnpCQldWRkNlVUZJV1VGYVVVSnpR?=
 =?utf-8?B?VWQzUVZoM1FuWkJTRWxCV0hkQ2FFRklTVUZpVVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVZGQlFVRkJRVUZCUVVGRFFVRkJRVUZC?=
 =?utf-8?B?UTJWQlFVRkJZbEZDYUVGSVNVRmtaMEpzUVVkM1FXSkJRbVpCU0ZGQldsRkNl?=
 =?utf-8?B?VUZITUVGaFVVSjFRVWhWUVdOM1FVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVSkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJTVUZCUVVGQlFVbzBRVUZCUW5SQlIwVkJZMmRDTWtGSFZVRmlRVUp6UVVZ?=
 =?utf-8?B?NFFXUjNRblpCU0VsQldrRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?=
 =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?=
 =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFVRkJRVUZCUVVGQlFVRkJRVUZG?=
 =?utf-8?B?UVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZvUVZsQlFVRkJRVUZCUVdOQlFVRkJR?=
 =?utf-8?B?VkZCUVVGQlFVRkJRVU5zVGtaRGRUZDBkRk5UY1hWR2JuVkJTazlsTlVSSVFV?=
 =?utf-8?Q?FBQUFF?=
x-dg-reffive: 
 =?utf-8?B?UVVGQlFVRkJRVUZCTVRCblptTmlNVXh6YTJWUVQzSTFTSFpRUlRGeGVXOUJR?=
 =?utf-8?B?VUZCUWtGQlFVRkpaMEZCUVVGQlFVRkJRbXBCUnpoQlltZENiVUZIYTBGYVFV?=
 =?utf-8?B?SnNRVWMwUVdSQlFuQkJSMFZCWWtGQlFVRkNiMGRCUVVGYVFVRkJRVWRCUVVG?=
 =?utf-8?B?QlFVRkJRVUZDYUVGSFVVRmFRVUo1UVVkVlFXTjNRbnBCUVVGQlNrRkJRVUZC?=
 =?utf-8?B?UVVGQlFVSnFRVWhWUVdOM1FqQkJSemhCWWxGQ1prRklRVUZhVVVKNVFVaE5R?=
 =?utf-8?B?V0ozUW5WQlFVRkJUR2RCUVVGQlFVRkJRVUpxUVVoVlFXTjNRakJCUnpoQlls?=
 =?utf-8?B?RkNaa0ZJUVVGaFFVSjJRVWMwUVZwUlFuVkJTRlZCWWxGQ2FVRkhWVUZqWjBG?=
 =?utf-8?B?QlFVUkJRVUZCUVVGQlFVRkJXWGRDTVVGSVRVRmtRVUoyUVVjd1FWaDNRbnBC?=
 =?utf-8?B?U0UxQlltZENaa0ZIVVVGWlVVSjZRVWRuUVZoM1FqSkJSRUZCVFdkQlFVRkVR?=
 =?utf-8?B?VUZCUVVGQlFVRkJRVmwzUWpGQlNFMUJaRUZDZGtGSE1FRllkMEo2UVVoTlFX?=
 =?utf-8?B?Sm5RbVpCUjNOQldsRkNOVUZJWTBGaWQwSjVRVWRSUVdOM1FVRkJSRFJCUVVG?=
 =?utf-8?B?QlFVRkJRVUZaZDBJeFFVaE5RV1JCUW5aQlJ6QkJXSGRDZWtGSVRVRmlaMEpt?=
 =?utf-8?B?UVVjMFFXSjNRbXRCUjFWQllrRkNjRUZITUVGaFVVSXdRVWRWUVdOblFtWkJT?=
 =?utf-8?B?RmxCVFVGQmVVRkJRVUZOWjBGQlFVRkJRVUZCUW1wQlNGVkJZM2RDTUVGSE9F?=
 =?utf-8?B?RmlVVUptUVVoTlFXTjNRblZCUmpoQlkzZENkMEZIUlVGWmQwSnNRVVk0UVdS?=
 =?utf-8?B?blFYZEJSRWxCUVVGQkswRkJRVUZCUVVGQlFVZFJRV0pCUW5kQlJqaEJZM2RD?=
 =?utf-8?B?Y2tGSWEwRmpRVUpzUVVZNFFWbDNRbTlCUjBWQlpFRkNaa0ZITUVGYVVVSjZR?=
 =?utf-8?B?VWhOUVZsUlFtNUJSMVZCV0hkQ01rRkVRVUZOWjBGQlFVUlpRVUZCUVVGQlFV?=
 =?utf-8?B?RkJXa0ZDYzBGSVFVRllkMEo2UVVkM1FWbFJRbXBCUjNOQldIZENha0ZIWjBG?=
 =?utf-8?B?WlVVSXdRVVk0UVdKUlFteEJTRTFCWTNkQ2FFRkhZMEZhVVVGQlFVUm5RVUZC?=
 =?utf-8?B?UVVGQlFVRkJXa0ZDYzBGSVFVRllkMEl3UVVkVlFWbFJRblJCU0UxQldIZENk?=
 =?utf-8?B?a0ZITkVGYVVVSnJRVWhKUVdGUlFqSkJSMVZCV0hkQ2JVRkhhMEZpUVVKc1FV?=
 =?utf-8?B?RkJRVXBCUVVGQlFVbEJRVUZDYkVGSE1FRlpVVUp3UVVkM1FWaDNRbWhCUjFG?=
 =?utf-8?B?QldrRkNlVUZIVlVGamQwSjZRVUZCUVZkQlFVRkJRVUZCUVVGQ2RFRkhSVUZq?=
 =?utf-8?B?WjBJeVFVZFZRV0pCUW1aQlNFRkJZMmRDZGtGSGIwRmFVVUpxUVVoUlFWaDNR?=
 =?utf-8?B?blZCUjBWQllsRkNiRUZJVFVGWWQwSnFRVWM0UVdKblFtMUJSMnRCV2tGQ2JF?=
 =?utf-8?B?RkhORUZrUVVKd1FVZEZRV0pCUW1aQlIwVkJZa0ZDZGtGSE5FRmFVVUZCUVVa?=
 =?utf-8?B?UlFVRkJRVUZCUVVGQllsRkNhRUZJU1VGa1owSnNRVWQzUVZoM1FuZEJTRWxC?=
 =?utf-8?B?WW5kQ2NVRkhWVUZaZDBJd1FVWTRRV0puUW1oQlJ6QkJXbEZDZWtGR09FRmpa?=
 =?utf-8?B?MEpzUVVoTlFXUkJRbmxCUjJ0QldYZENNRUZIVlVGYVFVSm1RVWRGUVdKQlFu?=
 =?utf-8?B?WkJSelJCV2xGQlFVRkdiMEZCUVVGQlFVRkJRV0pSUW1oQlNFbEJaR2RDYkVG?=
 =?utf-8?B?SGQwRllkMEozUVVoSlFXSjNRbkZCUjFWQldYZENNRUZHT0VGaVowSm9RVWN3?=
 =?utf-8?B?UVZwUlFucEJSamhCWTJkQ2JFRklUVUZrUVVKNVFVZHJRVmwzUWpCQlIxVkJX?=
 =?utf-8?B?a0ZDWmtGSFowRmFVVUkwUVVkTlFXSjNRbXRCUjFWQlkzZEJRVUZEUVVGQlFV?=
 =?utf-8?Q?FBQUFB?=
x-dg-tag-bcast: {BB38C8B4-BBDA-40C5-8168-0013E523D1A2}
x-dg-refsix: 
 =?utf-8?B?UVdKUlFtaEJTRWxCWkdkQ2JFRkhkMEZpUVVKbVFVZEZRV05uUW5SQlFVRkJT?=
 =?utf-8?B?bWRCUVVGQlFVRkJRVUowUVVkRlFXTm5RakpCUjFWQllrRkNjMEZHT0VGYWQw?=
 =?utf-8?B?SjJRVWM0UVZwM1FuTkJSMVZCUVVGQk1FRkJRVUZCUVVGQlFVY3dRVmxSUW5s?=
 =?utf-8?B?QlNGbEJXbEZDYzBGSGQwRllkMEozUVVoSlFXSjNRbkZCUjFWQldYZENNRUZH?=
 =?utf-8?B?T0VGWmQwSjJRVWRSUVZwUlFucEJRVUZCVUdkQlFVRkJRVUZCUVVKMFFVZEZR?=
 =?utf-8?B?V05uUWpKQlIxVkJZa0ZDYzBGR09FRmpRVUo1UVVjNFFXRm5RbXhCUjAxQlpF?=
 =?utf-8?B?RkNaa0ZIVFVGaWQwSnJRVWRWUVdOM1FtWkJSMUZCWVZGQ2FrRklVVUZCUVVK?=
 =?utf-8?B?bFFVRkJRVUZCUVVGQlJ6QkJXVkZDZVVGSVdVRmFVVUp6UVVkM1FWaDNRbmRC?=
 =?utf-8?B?U0VsQlluZENjVUZIVlVGWmQwSXdRVVk0UVdKblFtaEJSekJCV2xGQ2VrRkdP?=
 =?utf-8?B?RUZaZDBKMlFVYzBRVnBuUW5CQlIxRkJXbEZDZFVGSVVVRmhVVUpvUVVkM1FW?=
 =?utf-8?B?aDNRblJCUjBWQlkyZENNa0ZIVlVGaVFVSnpRVUZCUVdKQlFVRkJRVWxCUVVG?=
 =?utf-8?B?Q2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJZMEZDZVVGSE9FRmhaMEpz?=
 =?utf-8?B?UVVkTlFXUkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1RVWROUVdKM1FuVkJS?=
 =?utf-8?B?MWxCWVZGQ2EwRkhWVUZpWjBJd1FVZHJRVmxSUW5OQlJqaEJZbEZDYUVGSVNV?=
 =?utf-8?B?RmtaMEpzUVVkM1FXSkJRbVpCUnpoQlkyZENaa0ZIUlVGalowSjBRVUZCUVdO?=
 =?utf-8?B?blFVRkJRVUZCUVVGQ2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJZMEZD?=
 =?utf-8?B?ZVVGSE9FRmhaMEpzUVVkTlFXUkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1R?=
 =?utf-8?B?VWROUVdKM1FuVkJSMWxCWVZGQ2EwRkhWVUZpWjBJd1FVZHJRVmxSUW5OQlJq?=
 =?utf-8?B?aEJZbEZDYUVGSVNVRmtaMEpzUVVkM1FXSkJRbVpCUnpoQlkyZENaa0ZIWTBG?=
 =?utf-8?B?aWQwSjJRVWRqUVdKQlFteEJRVUZCVjJkQlFVRkJRVUZCUVVKMFFVZEZRV05u?=
 =?utf-8?B?UWpKQlIxVkJZa0ZDYzBGR09FRmpRVUo1UVVjNFFXRm5RbXhCUjAxQlpFRkNa?=
 =?utf-8?B?a0ZITkVGWlVVSjBRVWRWUVdOM1FtWkJTRWxCV2xGQ2VrRklVVUZqWjBKd1FV?=
 =?utf-8?B?ZE5RV1JCUW14QlIxRkJXSGRDZEVGSFJVRmpaMEl5UVVkVlFXSkJRbk5CUVVG?=
 =?utf-8?B?QllVRkJRVUZCUVVGQlFVSjBRVWRGUVdOblFqSkJSMVZCWWtGQ2MwRkdPRUZq?=
 =?utf-8?B?UVVKNVFVYzRRV0ZuUW14QlIwMUJaRUZDWmtGSE5FRlpVVUowUVVkVlFXTjNR?=
 =?utf-8?B?bVpCU0VsQldsRkNla0ZJVVVGalowSndRVWROUVdSQlFteEJSMUZCV0hkQ2RF?=
 =?utf-8?B?RkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJZbmRDZVVGR09FRlpVVUo1UVVj?=
 =?utf-8?B?d1FVRkJRWEZCUVVGQlFVRkJRVUZITUVGWlVVSjVRVWhaUVZwUlFuTkJSM2RC?=
 =?utf-8?B?V0hkQ01FRkhWVUZqWjBKMFFVZHJRV0puUWpGQlNFMUJRVUZCYVVGQlFVRkJV?=
 =?utf-8?B?VUZCUVVjd1FWbFJRbmxCU0ZsQldsRkNjMEZIZDBGWWQwSXpRVWM0UVdOblFt?=
 =?utf-8?B?dEJRVUZCSWk4K1BDOXRaWFJoUGc9PQ==?=
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MWHPR1801MB1918:EE_|BN9PR18MB4218:EE_
x-ms-office365-filtering-correlation-id: 1403d4c5-3f1d-4d7b-3036-08db9ca42d32
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 ervs2b5XDRxVhM7rIo7ZxE2daA9hNUTaNJQjc7UkVWiF/WzwK+Hw8NiyGsmq2AcxA5VkdR2m2qroXF144gzIiAdBmZWoVKg1uJo3sJg8Y78AUa1oYdEZkfCRszMt/RCupYzBDfl9QEkOrzJoHOxbq4FXe8jNUmhzU15ofcyf13uUm7qdtKIGigQEoYOfhOs3zSLhbnUL0i3d5IPfQ5AFBRf0jE498Z9D/kS3o4s84k2jwJWbbADgwgNWXJNVqsxWROIPSUPTmT1uyR2z5fAUI3H1MV3fwQnp+NRwB2TMgqV4/7AAYRt3olew/QDtypB6H1tg21LqiVnGBIumvbJiNWLOgE3CT9KBnYDB2RqkZAlqG2n+IS9l0kuDC3bGD41cHBI18gCtNYc38rakl4SX1cmlDP8cJBc1rVJrQL6Z4SGGpo9nlqxWFK/43TB2MG36JaWxEYrMNPjJCW0lgO3pSrlCOYgcji3niSDDU3JUKt4C/Rj64jeVYL7vofrc4DQhqaDa1jB5rTNzatjbyC43hSWPZCUsXuNCyPvHoYzHQSvOqCe+xkCbP8loFt/BYmUx3RxtqJ9yUPCeyLf6r8r9QR72xDRQMF2LwuXOWjeHe6JDDV8DRbs6tJ4adL+06j0jDPHZpe+RpgZucHwxZDaQUA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1801MB1918.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(136003)(376002)(346002)(39860400002)(451199021)(1800799006)(186006)(38100700002)(55016003)(54906003)(110136005)(19627235002)(7696005)(71200400001)(478600001)(122000001)(7336002)(7416002)(7366002)(7406005)(52536014)(38070700005)(5660300002)(2906002)(33656002)(86362001)(4326008)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(41300700001)(8936002)(8676002)(316002)(55236004)(6506007)(26005)(83380400001)(9686003)(966005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?eElUNFE3M2lTanJEcExZWStKZitJVTFZMDQ5NGN2aXBHSUk3ZExZVmZ6RDNH?=
 =?utf-8?B?NGxjS0F6YjhmNm5HNGszWlcydlZ5RUtGWTlVbDFzdG1DS1NLaEVyWmFvN1Fk?=
 =?utf-8?B?QmVxa3pKWGtodEZZZHAxMktFeVk0djBsNlBNSEM5M0QrdnNJNUdpQzVEWjhK?=
 =?utf-8?B?UVgwaDhKWk5CRDdMT0ZsV3VoNklsVHp4RWRpRGFuZlY1ajA3MGNXcUM1T044?=
 =?utf-8?B?eis5WkU1dHJDT3FEb04wQ2J6RVNKY1RTTGlRUW9TamFvWFlQMExDditVcEhL?=
 =?utf-8?B?K0R4NDlFWVBEMHhDY3VKeG8zOXJzclRVK1E3KzRsbDBydStvUmpjdlNDM0t3?=
 =?utf-8?B?N2RndTlKTTIrdXNJdXJFNUZZWE5LNEx5amVpbTJTT01iMFJSYzY1ODdQdkJz?=
 =?utf-8?B?YlZZS2YrUXpNdGtuNWdKUDNHaDQ4QWsza3lLMW1ReXJsbm5ZOU55YWpqVU8y?=
 =?utf-8?B?QzdKVm5qU2lndlA3TXh0bUkvNHJXSWttWGZTMEFPSzdvdXZlZjBXUVZvSTZs?=
 =?utf-8?B?a1RXcjRaVlg4MzhjNmNUbTVEV3BnTnVScjhOUFQ4OHZicVd4c2Jzd3YwWHF0?=
 =?utf-8?B?Slp0dHZmczB1VXYvS0tSSlNTd1Y2anZwbUNkMWNLV0dsenNxSGNaVURsY2oz?=
 =?utf-8?B?Z2xmMmExTC9iNUxpSm8yM3NQa2Vua0VTUnkzeGZBVm8wd0xVZmhPNGZ5c3Zv?=
 =?utf-8?B?MjhQKzQwMzRHUDJUMlVaUGRSZEU4NU0yUXJZek8weXNMeTQ0bHR3UG9OSUxo?=
 =?utf-8?B?Y1A4Q0VPUjRLektUT01FazZzejBmVjRLbzVkdzhVSjZQVklJbjBNSURHbFRn?=
 =?utf-8?B?dzBXWVhiaTg5SHVnSWI3WUs4RHRsY1I3dG5xY2Q3ajFFbFRNK3NFdUFiV1hZ?=
 =?utf-8?B?UVRLR3pHVTRCUmJ6Zmg0R0t1d2J6d3N1ZGFLd29jWDBnODE5N2pIc0hpUmxU?=
 =?utf-8?B?d2kyNzRzdTg4d25wblZjT2hKeW05b3N1cmJaejZIaW9BUHBYeDlhV0VZemRZ?=
 =?utf-8?B?RFBiRFJUdExmOG50Tys1eXRNOW4xbjQ2Z3hXT2VocVdCU3BzMWQ5WmVQZEtv?=
 =?utf-8?B?QVhIM3U2TUNWNllzZURVa3RtS2gwV3JUVFVHaUh3RzhrYVZpTzlCRHA4a21U?=
 =?utf-8?B?YUUxbGRyRUFPZ3Q2SXZkemYwUUNkcElZOXc3SytuTFR1MkdxQ09ISDY4NTBl?=
 =?utf-8?B?TmVyTXVEK0QwRTJoY1pXQzNYNUNFd0VmdlRpWW9vNko3cTBnTXhiaU9NOUNs?=
 =?utf-8?B?eTVLZHZJRzQ5VldtaWJZcFR6RFQxV1MwVzlvdFVtNmllWnYyQWZUREdFRG1n?=
 =?utf-8?B?UldOM2pNS0hMR0NlNnQ4aWVEMEU5RDlNVktMQlE1QUV2VnFGMG1NNEZXRHU5?=
 =?utf-8?B?dVR2NFNlZFJCdTcxd05nNCs0UTd3aURST1B2LzgxdDNYZEJEZG5NSktYUW94?=
 =?utf-8?B?NWtrMWhldEM0WEcxc3E4Y0hLR05CcXlGSlA1b3hZM0dmelArckRyTTNVeVlV?=
 =?utf-8?B?VFBtSlZHSE5aYjA5TmhvdmFLOXBBZjdQOWs3RmJici8zd1V5MzlBaGZ5K2pC?=
 =?utf-8?B?TXk5YXdrUDNlNS95MGcxTWlMUmhXeEVXenJjQmxGZHkzSzRBSGxsUVF0c08v?=
 =?utf-8?B?Y1dFS0dsbzFySW1SUDNBNDF2MFFBbThOZ08xWFN6UVlzd1FQYUp6aFNNL051?=
 =?utf-8?B?SVNPLzhRZmIrdjUrT1JNcjMyWFpTWmVtT05ERldaRi8yRGlUZHRFZVp5T0ZV?=
 =?utf-8?B?YUR3Yktham84cjdFbFY4REk5R3FvbE41NEdHbkoyaldBTUhDckZTVWg2MjJo?=
 =?utf-8?B?TUlHUTN5TGhrWTRkcmR3Q0V3RFNmN0ZVZUZiV0Jrd1dXOXdyMDlRdFpaeW9k?=
 =?utf-8?B?dWJYMFhOV1UxZzNLNUtGVTc1bERraEJVdmpUcldSQ25vaStzL2FIdzVUVXJ2?=
 =?utf-8?B?b3Fzd2o2cEt0dElkT2dDQkdmRUUxdFVrb1M0VjJKNGdLeVV3YWp3ZGZQRHQ0?=
 =?utf-8?B?Q0lhM0JYNi9peUc4QUZNTTlQMzVXNEpQSUdBVW1uT0V3cVErVnc3cjQ2QnlE?=
 =?utf-8?B?a3J6cEJvbXhOdFVFc3pHNjNuN2RoMzB4Y0Vsc1pPTWlSV096U0RPdjIxeEoz?=
 =?utf-8?Q?tuKvMuDdvGt9m09ftYBhIGbKV?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MWHPR1801MB1918.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1403d4c5-3f1d-4d7b-3036-08db9ca42d32
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2023 08:55:14.9683
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tEQ2Lj2R5COsWOyoJVNnUSmF9cho/4qEBN2oS9h/PIyBPLfwWDhz0C1//gKEciGE2Rla/akpatL/YvZhr5ZNwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR18MB4218
X-Proofpoint-ORIG-GUID: VKSPZR_T51MpOOi_5HyduhDxSjK4c4Ug
X-Proofpoint-GUID: VKSPZR_T51MpOOi_5HyduhDxSjK4c4Ug
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26
 definitions=2023-08-14_03,2023-08-10_01,2023-05-22_02

PiBGcm9tOiBKZXNwZXIgRGFuZ2FhcmQgQnJvdWVyIDxoYXdrQGtlcm5lbC5vcmc+DQo+IFN1Ympl
Y3Q6IFJlOiBbRVhUXSBSZTogW1BBVENIIHYxIG5ldF0gcGFnZV9wb29sOiBDYXAgcXVldWUgc2l6
ZSB0byAzMmsuDQoNCg0KPiBJIGFncmVlIHdpdGggSm9oYW5uZXMsIHRoaXMgY29tbWl0IG1lc3Nh
Z2UgaXMgdG9vIHRoaW4uDQpBQ0suDQoNCiANCj4gSXQgbWFrZXMgc2Vuc2UgdG8gZ2l2ZSBhIHN1
bW1hcnkgb2YgdGhlIGRpc2N1c3Npb24sIGJlY2F1c2UgaXQgc2hvdyB1cw0KPiAocGFnZV9wb29s
IG1haW50YWluZXJzKSB3aGF0IHlvdSBjb25jbHVkZWQgZm9yIHRoZSBkaXNjdXNzaW9uLg0KR290
IGl0LiBUaGFua3MuIA0KDQo+IEZ1cnRoZXIgbW9yZSwgeW91IGFsc28gc2VuZCBhbm90aGVyIHBh
dGNoOg0KPiAgIC0gIltQQVRDSCBuZXQtbmV4dF0gcGFnZV9wb29sOiBTZXQgcGFnZSBwb29sIHNp
emUiDQpPa2F5LiANCg0KPiAgIC0NCj4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29t
L3YyL3VybD91PWh0dHBzLQ0KPiAzQV9fbG9yZS5rZXJuZWwub3JnX2FsbF8yMDIzMDgwOTAyMTky
MC45MTMzMjQtMkQxLTJEcmthbm5vdGgtDQo+IDQwbWFydmVsbC5jb21fJmQ9RHdJQ2FRJmM9bktq
V2VjMmI2UjBtT3lQYXo3eHRmUSZyPWFla2NzeUJDSDAwDQo+IF9MZXdyRURjUUJ6c1J3OEtDcFVS
MHZaYl9hdVRIazRNJm09dXZWX3Z0X2NOeVFJdFREOTBqRjFMZEtvdlANCj4gN2o3Rll0bnI3STM4
X19uWVk2d0h0RkhTb3pZb1JTU3ZDSTE0bmgmcz12R2d0MmNjR2RpUlRFaGozTW9HVngtDQo+IEVY
SG1CMDN2NkkzVUlJWTFmRWIyNCZlPQ0KPiANCj4gVGhhdCBwYXRjaCBzb2x2ZXMgdGhlIGlzc3Vl
IGZvciB5b3VyIGRyaXZlciBtYXJ2ZWxsL29jdGVvbnR4MiBhbmQgSSBsaWtlIHRoYW4NCj4gY2hh
bmdlLg0KT2theS4gDQoNCj4gV2h5IGRpZCB5b3UgY29uY2x1ZGUgdGhhdCBQUCBjb3JlIHNob3Vs
ZCBhbHNvIGNoYW5nZT8NCkkgY291bGQgbm90ICBhbnN3ZXIgSmFjdWIncyBxdWVzdGlvbiBhdCBo
dHRwczovL2xvcmUua2VybmVsLm9yZy9uZXRkZXYvMjAyMzA4MTAwMjQ0MjIuMTc4MTMxMi0xLXJr
YW5ub3RoQG1hcnZlbGwuY29tL1QvIA0KDQo+IChwLnMuIENjL1RvIGxpc3QgaGF2ZSBnb3R0ZW4g
ZXhjZXNzaXZlIHdpdGggODkgcmVjaXBpZW50cykNCkkgYWRkZWQgbWFpbnRhaW50ZXJzIG9mIGFs
bCBmaWxlcyB3aGljaCB1c2VkIHBhZ2VfcG9vbF9pbml0KCkuIA0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 09:06:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 09:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583511.913726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTWZ-00071U-RR; Mon, 14 Aug 2023 09:06:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583511.913726; Mon, 14 Aug 2023 09:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTWZ-00071N-Oc; Mon, 14 Aug 2023 09:06:07 +0000
Received: by outflank-mailman (input) for mailman id 583511;
 Mon, 14 Aug 2023 09: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=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVTWY-00071H-5z
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 09:06:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb2d292a-3a81-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 11:06:03 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8E66F4EE0737;
 Mon, 14 Aug 2023 11:06:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb2d292a-3a81-11ee-8613-37d641c3527e
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH v2] x86: address MISRA C:2012 Rule 5.3
Date: Mon, 14 Aug 2023 11:05:30 +0200
Message-Id: <c0bb67b18e1ad158a8af059abd1436c36eb8edf6.1692003656.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address some occurrences of shadowing between the global
variable 'e820' in 'xen/arch/x86/e820.c' and the function
parameter name of 'e820_add_range'.

Since the function is only ever called with the global variable
as the actual parameter, so there is no need to have it as a parameter
because both are defined in the same file (mentioned above).
This in turn causes several other functions to lose their parameter
'e820' because they are involved in the call chain that leads to
'e820_add_range'.

Similarly, 'kexec_reserve_area' is only ever called with the static
variable 'boot_e820' as a parameter, which is defined in the same file
as the function, thus it does not need that parameter, which is a cause
of shadowing, as explained above.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Mention 'kexec_reserve_area' in the commit message.

Other occurrences of shadowing on the same global in
'e820_change_range_type' and 'reserve_e820_ram' are not addressed in
this patch and will be the subject of a future one, as the parameter
needs to be renamed instead, and could potentially be part of a general
name refactoring for consistency around e820.

The following threads are useful to have more context about this patch, which
was previously part of a series of changes related to the same MISRA Rule.
- https://lore.kernel.org/xen-devel/3a9db416c6f8b2d5a549d49ff02238eb408cc905.1691492441.git.nicola.vetrini@bugseng.com/
- https://lore.kernel.org/xen-devel/896a2235560fd348f79eded33731609c5d2e74ab.1691162261.git.nicola.vetrini@bugseng.com/
---
 xen/arch/x86/e820.c                         | 38 ++++++++++-----------
 xen/arch/x86/guest/hyperv/hyperv.c          |  4 +--
 xen/arch/x86/guest/hypervisor.c             |  4 +--
 xen/arch/x86/guest/xen/xen.c                |  4 +--
 xen/arch/x86/include/asm/e820.h             |  3 +-
 xen/arch/x86/include/asm/guest/hypervisor.h |  6 ++--
 xen/arch/x86/include/asm/pv/shim.h          |  4 +--
 xen/arch/x86/pv/shim.c                      | 10 +++---
 xen/arch/x86/setup.c                        |  8 ++---
 xen/arch/x86/x86_64/mmconf-fam10h.c         |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c    |  2 +-
 11 files changed, 42 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index 4911e64b8cf4..6a3ce7e0a07f 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -543,27 +543,27 @@ static void __init machine_specific_memory_setup(struct e820map *raw)
         clip_to_limit(top_of_ram, "MTRRs do not cover all of memory.");
 }

-/* This function relies on the passed in e820->map[] being sorted. */
-int __init e820_add_range(
-    struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
+/* This function relies on the global e820->map[] being sorted. */
+int __init e820_add_range(uint64_t s, uint64_t e, uint32_t type)
 {
     unsigned int i;
+    struct e820entry *ei = e820.map;

-    for ( i = 0; i < e820->nr_map; ++i )
+    for ( i = 0; i < e820.nr_map; ++i )
     {
-        uint64_t rs = e820->map[i].addr;
-        uint64_t re = rs + e820->map[i].size;
+        uint64_t rs = ei[i].addr;
+        uint64_t re = rs + ei[i].size;

-        if ( rs == e && e820->map[i].type == type )
+        if ( rs == e && ei[i].type == type )
         {
-            e820->map[i].addr = s;
+            ei[i].addr = s;
             return 1;
         }

-        if ( re == s && e820->map[i].type == type &&
-             (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) )
+        if ( re == s && ei[i].type == type &&
+             (i + 1 == e820.nr_map || ei[i + 1].addr >= e) )
         {
-            e820->map[i].size += e - s;
+            ei[i].size += e - s;
             return 1;
         }

@@ -574,20 +574,20 @@ int __init e820_add_range(
             return 0;
     }

-    if ( e820->nr_map >= ARRAY_SIZE(e820->map) )
+    if ( e820.nr_map >= ARRAY_SIZE(e820.map) )
     {
         printk(XENLOG_WARNING "E820: overflow while adding region"
                " %"PRIx64"-%"PRIx64"\n", s, e);
         return 0;
     }

-    memmove(e820->map + i + 1, e820->map + i,
-            (e820->nr_map - i) * sizeof(*e820->map));
+    memmove(ei + i + 1, ei + i,
+            (e820.nr_map - i) * sizeof(*e820.map));

-    e820->nr_map++;
-    e820->map[i].addr = s;
-    e820->map[i].size = e - s;
-    e820->map[i].type = type;
+    e820.nr_map++;
+    ei[i].addr = s;
+    ei[i].size = e - s;
+    ei[i].type = type;

     return 1;
 }
@@ -694,7 +694,7 @@ unsigned long __init init_e820(const char *str, struct e820map *raw)
     machine_specific_memory_setup(raw);

     if ( cpu_has_hypervisor )
-        hypervisor_e820_fixup(&e820);
+        hypervisor_e820_fixup();

     printk("%s RAM map:\n", str);
     print_e820_memory_map(e820.map, e820.nr_map);
diff --git a/xen/arch/x86/guest/hyperv/hyperv.c b/xen/arch/x86/guest/hyperv/hyperv.c
index aacc7a61670b..912099564ec4 100644
--- a/xen/arch/x86/guest/hyperv/hyperv.c
+++ b/xen/arch/x86/guest/hyperv/hyperv.c
@@ -187,11 +187,11 @@ static int cf_check ap_setup(void)
     return setup_vp_assist();
 }

-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup(void)
 {
     uint64_t s = HV_HCALL_MFN << PAGE_SHIFT;

-    if ( !e820_add_range(e820, s, s + PAGE_SIZE, E820_RESERVED) )
+    if ( !e820_add_range(s, s + PAGE_SIZE, E820_RESERVED) )
         panic("Unable to reserve Hyper-V hypercall range\n");
 }

diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
index b8549a131a5a..e0b046cc6c89 100644
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -60,10 +60,10 @@ void hypervisor_resume(void)
         ops.resume();
 }

-void __init hypervisor_e820_fixup(struct e820map *e820)
+void __init hypervisor_e820_fixup(void)
 {
     if ( ops.e820_fixup )
-        ops.e820_fixup(e820);
+        ops.e820_fixup();
 }

 int hypervisor_flush_tlb(const cpumask_t *mask, const void *va,
diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index f93dfc89f724..2eed32fe46c7 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -306,10 +306,10 @@ static void cf_check resume(void)
         pv_console_init();
 }

-static void __init cf_check e820_fixup(struct e820map *e820)
+static void __init cf_check e820_fixup(void)
 {
     if ( pv_shim )
-        pv_shim_fixup_e820(e820);
+        pv_shim_fixup_e820();
 }

 static int cf_check flush_tlb(
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 213d5b5dd227..af90085d65d1 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -29,8 +29,7 @@ extern int reserve_e820_ram(struct e820map *e820, uint64_t s, uint64_t e);
 extern int e820_change_range_type(
     struct e820map *e820, uint64_t s, uint64_t e,
     uint32_t orig_type, uint32_t new_type);
-extern int e820_add_range(
-    struct e820map *, uint64_t s, uint64_t e, uint32_t type);
+extern int e820_add_range(uint64_t s, uint64_t e, uint32_t type);
 extern unsigned long init_e820(const char *str, struct e820map *raw);
 extern void print_e820_memory_map(const struct e820entry *map,
     unsigned int entries);
diff --git a/xen/arch/x86/include/asm/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
index 4cffea386609..c8f18a035ee6 100644
--- a/xen/arch/x86/include/asm/guest/hypervisor.h
+++ b/xen/arch/x86/include/asm/guest/hypervisor.h
@@ -22,7 +22,7 @@ struct hypervisor_ops {
     /* Resume from suspension */
     void (*resume)(void);
     /* Fix up e820 map */
-    void (*e820_fixup)(struct e820map *e820);
+    void (*e820_fixup)(void);
     /* L0 assisted TLB flush */
     int (*flush_tlb)(const cpumask_t *mask, const void *va, unsigned int flags);
 };
@@ -33,7 +33,7 @@ const char *hypervisor_probe(void);
 void hypervisor_setup(void);
 int hypervisor_ap_setup(void);
 void hypervisor_resume(void);
-void hypervisor_e820_fixup(struct e820map *e820);
+void hypervisor_e820_fixup(void);
 /*
  * L0 assisted TLB flush.
  * mask: cpumask of the dirty vCPUs that should be flushed.
@@ -52,7 +52,7 @@ static inline const char *hypervisor_probe(void) { return NULL; }
 static inline void hypervisor_setup(void) { ASSERT_UNREACHABLE(); }
 static inline int hypervisor_ap_setup(void) { return 0; }
 static inline void hypervisor_resume(void) { ASSERT_UNREACHABLE(); }
-static inline void hypervisor_e820_fixup(struct e820map *e820) {}
+static inline void hypervisor_e820_fixup(void) {}
 static inline int hypervisor_flush_tlb(const cpumask_t *mask, const void *va,
                                        unsigned int flags)
 {
diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
index 5625b90b72bd..6153e2700598 100644
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -33,7 +33,7 @@ void pv_shim_online_memory(unsigned int nr, unsigned int order);
 void pv_shim_offline_memory(unsigned int nr, unsigned int order);
 domid_t get_initial_domain_id(void);
 uint64_t pv_shim_mem(uint64_t avail);
-void pv_shim_fixup_e820(struct e820map *e820);
+void pv_shim_fixup_e820(void);
 const struct platform_bad_page *pv_shim_reserved_pages(unsigned int *size);
 typeof(do_event_channel_op) pv_shim_event_channel_op;
 typeof(do_grant_table_op) pv_shim_grant_table_op;
@@ -85,7 +85,7 @@ static inline uint64_t pv_shim_mem(uint64_t avail)
     ASSERT_UNREACHABLE();
     return 0;
 }
-static inline void pv_shim_fixup_e820(struct e820map *e820)
+static inline void pv_shim_fixup_e820(void)
 {
     ASSERT_UNREACHABLE();
 }
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index 404408711972..ca0e639db323 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -98,17 +98,17 @@ uint64_t pv_shim_mem(uint64_t avail)
     return shim_nrpages;
 }

-static void __init mark_pfn_as_ram(struct e820map *e820, uint64_t pfn)
+static void __init mark_pfn_as_ram(uint64_t pfn)
 {
-    if ( !e820_add_range(e820, pfn << PAGE_SHIFT,
+    if ( !e820_add_range(pfn << PAGE_SHIFT,
                          (pfn << PAGE_SHIFT) + PAGE_SIZE, E820_RAM) &&
-         !e820_change_range_type(e820, pfn << PAGE_SHIFT,
+         !e820_change_range_type(&e820, pfn << PAGE_SHIFT,
                                  (pfn << PAGE_SHIFT) + PAGE_SIZE,
                                  E820_RESERVED, E820_RAM) )
         panic("Unable to add/change memory type of pfn %#lx to RAM\n", pfn);
 }

-void __init pv_shim_fixup_e820(struct e820map *e820)
+void __init pv_shim_fixup_e820(void)
 {
     uint64_t pfn = 0;
     unsigned int i = 0;
@@ -120,7 +120,7 @@ void __init pv_shim_fixup_e820(struct e820map *e820)
     rc = xen_hypercall_hvm_get_param(p, &pfn);  \
     if ( rc )                                   \
         panic("Unable to get " #p "\n");        \
-    mark_pfn_as_ram(e820, pfn);                 \
+    mark_pfn_as_ram(pfn);                       \
     ASSERT(i < ARRAY_SIZE(reserved_pages));     \
     reserved_pages[i++].mfn = pfn;              \
 })
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2bfc1fd00f8c..3358d9a0ff63 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -688,7 +688,7 @@ static void __init parse_video_info(void)
 #endif
 }

-static void __init kexec_reserve_area(struct e820map *e820)
+static void __init kexec_reserve_area(void)
 {
 #ifdef CONFIG_KEXEC
     unsigned long kdump_start = kexec_crash_area.start;
@@ -702,7 +702,7 @@ static void __init kexec_reserve_area(struct e820map *e820)

     is_reserved = true;

-    if ( !reserve_e820_ram(e820, kdump_start, kdump_start + kdump_size) )
+    if ( !reserve_e820_ram(&boot_e820, kdump_start, kdump_start + kdump_size) )
     {
         printk("Kdump: DISABLED (failed to reserve %luMB (%lukB) at %#lx)"
                "\n", kdump_size >> 20, kdump_size >> 10, kdump_start);
@@ -1310,7 +1310,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         if ( e820.map[i].type == E820_RAM )
             nr_pages += e820.map[i].size >> PAGE_SHIFT;
     set_kexec_crash_area_size((u64)nr_pages << PAGE_SHIFT);
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();

     initial_images = mod;
     nr_initial_images = mbi->mods_count;
@@ -1497,7 +1497,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         reserve_e820_ram(&boot_e820, __pa(_stext), __pa(__2M_rwdata_end));

     /* Late kexec reservation (dynamic start address). */
-    kexec_reserve_area(&boot_e820);
+    kexec_reserve_area();

     setup_max_pdx(raw_max_page);
     if ( highmem_start )
diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
index a834ab3149be..36b32eb769e1 100644
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -135,7 +135,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
 	return;

 out:
-	if (e820_add_range(&e820, start, start + SIZE, E820_RESERVED))
+	if (e820_add_range(start, start + SIZE, E820_RESERVED))
 		fam10h_pci_mmconf_base = start;
 }

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 3b577c9b390c..db993d6df275 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -418,7 +418,7 @@ static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)

             if ( type == RAM_TYPE_UNKNOWN )
             {
-                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
+                if ( e820_add_range(addr, addr + PAGE_SIZE,
                                     E820_RESERVED) )
                     continue;
                 AMD_IOMMU_ERROR("IVMD: page at %lx couldn't be reserved\n",
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 09:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 09:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583486.913737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTWx-0007Q7-3d; Mon, 14 Aug 2023 09:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583486.913737; Mon, 14 Aug 2023 09: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 1qVTWw-0007Q0-W3; Mon, 14 Aug 2023 09:06:30 +0000
Received: by outflank-mailman (input) for mailman id 583486;
 Mon, 14 Aug 2023 08:46:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=bJaN=D7=kernel.org=hawk@srs-se1.protection.inumbo.net>)
 id 1qVTDF-0003rl-IJ
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 08:46:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff0f225a-3a7e-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 10:46:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 55A6763064;
 Mon, 14 Aug 2023 08:46:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9824C433C7;
 Mon, 14 Aug 2023 08:45: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: ff0f225a-3a7e-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692002760;
	bh=B3y8EHsDG3ckVBJqhMu+4wNcutKVET22OPIzB3BHlZ0=;
	h=Date:Cc:Subject:To:References:From:In-Reply-To:From;
	b=IAwz4csbyfvh6Sc60rY3F4KQBQhcpuI6oJ+2qyYb1X2EbPWPD3nk515LAGsCCsdua
	 /RrfgQ8LZe60yxmHXmLqV2iNhQXTZt2yJNHTUAdt5j2LnL1x91+2f5crAXVuXr7I+M
	 4yclnHX6puLJ4n3dhyx6fFlKoAJrUyCEJEOmcFpwYcb5oz6hDBAECRGUtxHoU2pTIO
	 MFGXP339tDE3ExQFau5AQwyOMqlNhNAVCuVXJbJGJti/5BtYxFL5HOtTmPoxvb3ZI5
	 /6NUgd6v072+ZFgYjyLs9xp0kxcFYsd108Ld5M+KyiFrmZ+S1cmRAt8Vy6EnHsgF6C
	 14tNDLeY82NTw==
Message-ID: <cceef8a4-6f38-bfd4-4f77-5dffa558b287@kernel.org>
Date: Mon, 14 Aug 2023 10:45:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Cc: hawk@kernel.org, "davem@davemloft.net" <davem@davemloft.net>,
 "edumazet@google.com" <edumazet@google.com>,
 "kuba@kernel.org" <kuba@kernel.org>, "pabeni@redhat.com"
 <pabeni@redhat.com>, "ast@kernel.org" <ast@kernel.org>,
 "daniel@iogearbox.net" <daniel@iogearbox.net>,
 "john.fastabend@gmail.com" <john.fastabend@gmail.com>,
 "jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
 "mengyuanlou@net-swift.com" <mengyuanlou@net-swift.com>,
 "yang.lee@linux.alibaba.com" <yang.lee@linux.alibaba.com>,
 "error27@gmail.com" <error27@gmail.com>,
 "linyunsheng@huawei.com" <linyunsheng@huawei.com>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "kys@microsoft.com" <kys@microsoft.com>,
 "haiyangz@microsoft.com" <haiyangz@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>,
 "decui@microsoft.com" <decui@microsoft.com>,
 "longli@microsoft.com" <longli@microsoft.com>,
 "shradhagupta@linux.microsoft.com" <shradhagupta@linux.microsoft.com>,
 "linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
 "michael.chan@broadcom.com" <michael.chan@broadcom.com>,
 "richardcochran@gmail.com" <richardcochran@gmail.com>,
 "jdelvare@suse.com" <jdelvare@suse.com>,
 "linux@roeck-us.net" <linux@roeck-us.net>,
 "yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
 "salil.mehta@huawei.com" <salil.mehta@huawei.com>,
 "linux-arm-kernel@lists.infradead.org"
 <linux-arm-kernel@lists.infradead.org>,
 "linux-mediatek@lists.infradead.org" <linux-mediatek@lists.infradead.org>,
 "nbd@nbd.name" <nbd@nbd.name>, "john@phrozen.org" <john@phrozen.org>,
 "sean.wang@mediatek.com" <sean.wang@mediatek.com>,
 "Mark-MC.Lee@mediatek.com" <Mark-MC.Lee@mediatek.com>,
 "lorenzo@kernel.org" <lorenzo@kernel.org>,
 "matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
 "angelogioacchino.delregno@collabora.com"
 <angelogioacchino.delregno@collabora.com>,
 "linux@armlinux.org.uk" <linux@armlinux.org.uk>,
 "linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
 "saeedm@nvidia.com" <saeedm@nvidia.com>, "leon@kernel.org"
 <leon@kernel.org>,
 "gerhard@engleder-embedded.com" <gerhard@engleder-embedded.com>,
 "maciej.fijalkowski@intel.com" <maciej.fijalkowski@intel.com>,
 "alexanderduyck@fb.com" <alexanderduyck@fb.com>,
 "wei.fang@nxp.com" <wei.fang@nxp.com>,
 "shenwei.wang@nxp.com" <shenwei.wang@nxp.com>,
 "xiaoning.wang@nxp.com" <xiaoning.wang@nxp.com>,
 "linux-imx@nxp.com" <linux-imx@nxp.com>,
 "lgirdwood@gmail.com" <lgirdwood@gmail.com>,
 "broonie@kernel.org" <broonie@kernel.org>,
 "jaswinder.singh@linaro.org" <jaswinder.singh@linaro.org>,
 "ilias.apalodimas@linaro.org" <ilias.apalodimas@linaro.org>,
 "UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
 "horatiu.vultur@microchip.com" <horatiu.vultur@microchip.com>,
 "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
 "grygorii.strashko@ti.com" <grygorii.strashko@ti.com>,
 "simon.horman@corigine.com" <simon.horman@corigine.com>,
 "vladimir.oltean@nxp.com" <vladimir.oltean@nxp.com>,
 "aleksander.lobakin@intel.com" <aleksander.lobakin@intel.com>,
 "linux-stm32@st-md-mailman.stormreply.com"
 <linux-stm32@st-md-mailman.stormreply.com>,
 "alexandre.torgue@foss.st.com" <alexandre.torgue@foss.st.com>,
 "joabreu@synopsys.com" <joabreu@synopsys.com>,
 "mcoquelin.stm32@gmail.com" <mcoquelin.stm32@gmail.com>,
 "p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
 "thomas.petazzoni@bootlin.com" <thomas.petazzoni@bootlin.com>,
 "mw@semihalf.com" <mw@semihalf.com>,
 Sunil Kovvuri Goutham <sgoutham@marvell.com>,
 Geethasowjanya Akula <gakula@marvell.com>,
 Subbaraya Sundeep Bhatta <sbhatta@marvell.com>,
 Hariprasad Kelam <hkelam@marvell.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
 "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
 "ryder.lee@mediatek.com" <ryder.lee@mediatek.com>,
 "shayne.chen@mediatek.com" <shayne.chen@mediatek.com>,
 "kvalo@kernel.org" <kvalo@kernel.org>, "andrii@kernel.org"
 <andrii@kernel.org>, "martin.lau@linux.dev" <martin.lau@linux.dev>,
 "song@kernel.org" <song@kernel.org>,
 "yonghong.song@linux.dev" <yonghong.song@linux.dev>,
 "kpsingh@kernel.org" <kpsingh@kernel.org>, "sdf@google.com"
 <sdf@google.com>, "haoluo@google.com" <haoluo@google.com>,
 "jolsa@kernel.org" <jolsa@kernel.org>
Subject: Re: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
Content-Language: en-US
To: Ratheesh Kannoth <rkannoth@marvell.com>,
 Johannes Berg <johannes@sipsolutions.net>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
References: <20230814060411.2401817-1-rkannoth@marvell.com>
 <8c6d19da5c4c38062b7a4e500de1d5dc1280fbc8.camel@sipsolutions.net>
 <MWHPR1801MB1918230E007D7B2C5A768B37D317A@MWHPR1801MB1918.namprd18.prod.outlook.com>
From: Jesper Dangaard Brouer <hawk@kernel.org>
In-Reply-To: <MWHPR1801MB1918230E007D7B2C5A768B37D317A@MWHPR1801MB1918.namprd18.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 14/08/2023 10.05, Ratheesh Kannoth wrote:
>> From: Johannes Berg <johannes@sipsolutions.net>
>> Subject: [EXT] Re: [PATCH v1 net] page_pool: Cap queue size to 32k.
>>> Please find discussion at
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_l
>>>
>> I'm not the one who's going to apply this, but honestly, I don't think that will
>> work as a commit message for such a change ...
>> Sure, link to it by all means, but also summarize it and make sense of it for
>> the commit message?
> 
> Why do you think it will not work ?. There is a long discussion about pros and cons of different approaches by
> Page pool maintainers in the discussion link.  However I  summarize it here, as commit message, it will
> Lead to some more questions by reviewers.
> 

I agree with Johannes, this commit message is too thin.

It makes sense to give a summary of the discussion, because it show us
(page_pool maintainers) what you concluded for the discussion.

Further more, you also send another patch:
  - "[PATCH net-next] page_pool: Set page pool size"
  - 
https://lore.kernel.org/all/20230809021920.913324-1-rkannoth@marvell.com/

That patch solves the issue for your driver marvell/octeontx2 and I like
than change.

Why did you conclude that PP core should also change?

--Jesper
(p.s. Cc/To list have gotten excessive with 89 recipients)





From xen-devel-bounces@lists.xenproject.org Mon Aug 14 09:28:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 09:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583523.913746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVTsE-0001iq-PN; Mon, 14 Aug 2023 09:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583523.913746; Mon, 14 Aug 2023 09: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 1qVTsE-0001ij-Me; Mon, 14 Aug 2023 09:28:30 +0000
Received: by outflank-mailman (input) for mailman id 583523;
 Mon, 14 Aug 2023 09: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=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVTsD-0001id-55
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 09:28:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea71d9a0-3a84-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 11:28:24 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 7E20C4EE0737;
 Mon, 14 Aug 2023 11: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: ea71d9a0-3a84-11ee-8613-37d641c3527e
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 11:28:23 +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,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 6/6] drivers/video: make declarations of defined
 functions available
In-Reply-To: <71a796d3-6808-460f-7abf-10adc07f4329@suse.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <a50cc0f60c536554591834da660c540fcb77faf8.1691676251.git.nicola.vetrini@bugseng.com>
 <d021c6a0-6826-351b-1613-82ec9ad85868@suse.com>
 <fe1c5eeeb01cb2690d80acec2bfdf721@bugseng.com>
 <71a796d3-6808-460f-7abf-10adc07f4329@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <37c94d1d61242c1a9ec1743323e491ed@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 14/08/2023 10:12, Jan Beulich wrote:
> On 14.08.2023 09:56, Nicola Vetrini wrote:
>> On 14/08/2023 09:47, Jan Beulich wrote:
>>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>>> --- a/xen/drivers/video/vga.c
>>>> +++ b/xen/drivers/video/vga.c
>>>> @@ -9,6 +9,7 @@
>>>>  #include <xen/mm.h>
>>>>  #include <xen/param.h>
>>>>  #include <xen/vga.h>
>>>> +#include <xen/console.h>
>>> 
>>> xen/vga.h, which you move the declarations to, is already included
>>> here.
>>> Why the need for xen/console.h?
>> 
>> vga.c needs a declaration for fill_console_start_info, which is 
>> declared
>> in console.h, as
>> stated in the commit message (it could be clarified perhaps).
> 
> Ah, I see. It's not very fortunate mixing of two separate adjustments.

Well, they are not so separate, because they both deal with what the 
functions in vga.c need
to be compliant with Rule 8.4.

> But then I'm inclined to ask: When fill_console_start_info() is
> defined in vga.c, wouldn't it make sense to move its declaration to
> vga.h? The more considering the type of its parameter?
> 
> Jan

I see no downside. This change would imply having to include <xen/vga.h> 
in both
- x86/platform_hypercall.c
- x86/pv/dom0_build.c
which seems okay.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 10:34:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 10:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583530.913756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVUtW-0000mF-GU; Mon, 14 Aug 2023 10:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583530.913756; Mon, 14 Aug 2023 10:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVUtW-0000m8-E2; Mon, 14 Aug 2023 10:33:54 +0000
Received: by outflank-mailman (input) for mailman id 583530;
 Mon, 14 Aug 2023 10:33:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVUtV-0000m2-LD
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 10:33:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f867d50-3a8e-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 12:33:51 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3EF4B4EE0737;
 Mon, 14 Aug 2023 12:33: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: 0f867d50-3a8e-11ee-b288-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 12:33:51 +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,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
In-Reply-To: <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <808999f0142825bebfdbe16a309d529f@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 14/08/2023 09:39, Jan Beulich wrote:
> On 11.08.2023 09:19, Nicola Vetrini wrote:
>> The missing header included by this patch provides declarations for
>> the functions 
>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>> that are defined in the source file. This also resolves violations
>> of MISRA C:2012 Rule 8.4.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs 
>> and p2m_vm_event_fill_regs")
>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>> Fixes: 9864841914c2 ("x86/vm_event: add support for 
>> VM_EVENT_REASON_INTERRUPT")
> 
> It's hard to see how it can be three commit here. The oldest one is at
> fault, I would say.

Since the patch is concerned with more than one function then in a sense 
I agree
with you (the headers should have been included in the proper way the 
first time around), but
then more definitions have been added by adc75eba8b15 and 9864841914c2, 
and these should have
triggered a refactoring too. I can leave just 975efd3baa8d in the Fixes 
if the preferred way is to list just the first problematic commit 
(perhaps with a little explanation after --- ).

> 
> Also please remember to Cc maintainers.

Yes, sorry. I must have forgotten to run add_maintainers.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 10:34:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 10:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583535.913766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVUuF-0001KY-SN; Mon, 14 Aug 2023 10:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583535.913766; Mon, 14 Aug 2023 10:34:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVUuF-0001KR-Pt; Mon, 14 Aug 2023 10:34:39 +0000
Received: by outflank-mailman (input) for mailman id 583535;
 Mon, 14 Aug 2023 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=QmUR=D7=citrix.com=prvs=5834829d3=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qVUuE-00014s-MM
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 10:34:38 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 290e6ed7-3a8e-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 12:34:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 290e6ed7-3a8e-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692009276;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=54eVl5tp67GYsQNN8HVOxtzzG1ohJSsMGo7h1IcTFXk=;
  b=ItYqVeoGw9WozqaOkztnK+i55pb2pBMh4k8A+LyQi2aJQuruUVO2unKi
   yt/EP5ZBbMlpGgm+4pnuMgrEzu3nMU1P2vAp8Rnn3c6zPRJ2ZdWellnrm
   KTYA/octbaxKDyPII8skFvFIU2xV66ufsf75ZV/rb3qrZ7pVPVNm1yIbP
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119294902
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:v65L9KlXE8wAdtS2BBNTs2fo5gyxJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIdWmmEPKmLNGWgLtp2PYSx/BsEvJWDxtQ1TAA6/C0zQiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5QOGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 e0eKGAKaD/ZvMuRxOO3U7FHquAoMfC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQth/B9
 ziXozWhWHn2MvSy9gqMyjGeiNXRgA3kdq8KF7243/V11Qj7Kms7V0RNCArTTeOCokyxQdVEM
 GQP5zEj66M18SSDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZebPQ2uclwQiYlv
 neLgtfoCDpHoLCTD3WH+d+8pCu/IyEPIUceZCUPSk0O5NyLnW0opkuRFJA5Svfz14CrX2iqm
 FhmsRTSmZ0Ci85b0KOUp2vupDb9qoGRZSIR7RjuCzfNAhxCWKapYImh6F7+5PlGLZqEQlTpg
 EXoi/Ry/8hVU8jTyXXlrPElWejwuq3baGG0bUtHRcFJyti7x5K0kWm8ChlaLVwhDMsLcCSBj
 KT76VIIv8870JdHgMZKj2ON5yYCl/iI+TfNDKq8gj9yjn9ZLVbvwc2WTRTMt10BaWB1+U3FB
 b+VcNy3EVERArl9wTy9So81iOF6n3FjnD2PGcyik3xLNIZyg1bPFd843KamNLhlvMtoXi2Em
 zqgCyd640oGC7CvCsUm2YUSMUoLPRAG6WPe8qRqmhq4ClM+QgkJUqaBqY7NjqQ5x8y5YM+Up
 CDiMqKZoXKj7UD6xfKiMCA8Oe2zAc8i9RrW/0UEZD6V5pTqWq73hI93Snf9VeBPGDBLpRKsc
 8Q4Rg==
IronPort-HdrOrdr: A9a23:0arLCqvdww3m1N+k+/5hRVzW7skDpNV00zEX/kB9WHVpm5qj5r
 yTddAgpGTJYVEqKQkdcLG7SdC9qBbnn6KdjrNhXotKMDOHhILsFvAG0WKA+UyHJ8SdzJ8+6U
 46SdkFNDSYNzET5voSojPId+rIq+P3l5xA692+815dCSl3dqd64x59Gm+gYzBLrcp9aabR1q
 Dw2iOKnVWdkL0sAPiGOg==
X-Talos-CUID: =?us-ascii?q?9a23=3AMrn5FGuM7hMyT/iV09gCoI1C6Is0dH2Ny3H/eXS?=
 =?us-ascii?q?RLmI4RKTNYnO0875dxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AzVjfhQzU9DdnLmoGrZBOQTwAyZeaqImROEk10qc?=
 =?us-ascii?q?IgdeZGzNeFi+ejDSeSZByfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,172,1684814400"; 
   d="scan'208";a="119294902"
Date: Mon, 14 Aug 2023 11:34:30 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH v4 18/19] tools/config: add XEN_RUN_STORED to config.h
Message-ID: <afcc7e49-1e7b-4b62-9b2c-97f3b7784ad3@perard>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-19-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230814074707.27696-19-jgross@suse.com>

On Mon, Aug 14, 2023 at 09:47:06AM +0200, Juergen Gross wrote:
> Instead of adding the definition of XEN_RUN_STORED to CFLAGS in
> multiple Makefiles, let configure add it to tools/config.h instead.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

I think with this change, you could probably remove XEN_RUN_STORED from
"config/Paths.mk.in".

In any case, patch looks fine:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:01:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:01:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583544.913777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVVKU-0004rd-00; Mon, 14 Aug 2023 11:01:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583544.913777; Mon, 14 Aug 2023 11:01:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVVKT-0004rW-TH; Mon, 14 Aug 2023 11:01:45 +0000
Received: by outflank-mailman (input) for mailman id 583544;
 Mon, 14 Aug 2023 11:01: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 1qVVKT-0004rQ-1N
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:01: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 1qVVKP-0004BB-Jt; Mon, 14 Aug 2023 11:01:41 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVVKP-0007rP-EH; Mon, 14 Aug 2023 11:01:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=np1smFiQUqiwl3wpzguDn2GPK8DNcvLvotZAk03PP5M=; b=PJehCxmq45XmmKVunKkHE1PFh0
	Ugz3Zm9pflcBo3KZ1/R6fjRl1DHvqMUPTx5cyFaEOAcpjqT2ja2iJlDYWm85H1oVWtOnBFGGkEvbi
	x0qxnYqcMdBUZJ8w/bEFYv6mEnyOgcbr5O3uip1MCpgVlf4+S5WORNcTPENbzwq0vgeA=;
Message-ID: <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
Date: Mon, 14 Aug 2023 12:01:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
Content-Language: en-GB
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,
 xen-devel@lists.xenproject.org
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
 <808999f0142825bebfdbe16a309d529f@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <808999f0142825bebfdbe16a309d529f@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/08/2023 11:33, Nicola Vetrini wrote:
> On 14/08/2023 09:39, Jan Beulich wrote:
>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>> The missing header included by this patch provides declarations for
>>> the functions 
>>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>>> that are defined in the source file. This also resolves violations
>>> of MISRA C:2012 Rule 8.4.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs 
>>> and p2m_vm_event_fill_regs")
>>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>>> Fixes: 9864841914c2 ("x86/vm_event: add support for 
>>> VM_EVENT_REASON_INTERRUPT")
>>
>> It's hard to see how it can be three commit here. The oldest one is at
>> fault, I would say.
> 
> Since the patch is concerned with more than one function then in a sense 
> I agree
> with you (the headers should have been included in the proper way the 
> first time around), but
> then more definitions have been added by adc75eba8b15 and 9864841914c2, 
> and these should have
> triggered a refactoring too. I can leave just 975efd3baa8d in the Fixes 
> if the preferred way is to list just the first problematic commit 
> (perhaps with a little explanation after --- ).

To be honest, I don't exactly see the value of using Fixes tag for those 
patches. I agree they are technically issues, but they are unlikely 
going to be backported.

So if it were me, I would just drop all the Fixes tags for missing 
includes unless there is an actual bug associated
with them (e.g. a caller was miscalling the function because the
prototype was incorrect).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:07:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583550.913787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVVQE-0005US-Jy; Mon, 14 Aug 2023 11:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583550.913787; Mon, 14 Aug 2023 11: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 1qVVQE-0005UL-Ge; Mon, 14 Aug 2023 11:07:42 +0000
Received: by outflank-mailman (input) for mailman id 583550;
 Mon, 14 Aug 2023 11:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVVQC-0005UF-OB
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:07:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7860e2a-3a92-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 13:07:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E286921992;
 Mon, 14 Aug 2023 11:07:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B85BB138E2;
 Mon, 14 Aug 2023 11:07:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 36SoK/kK2mTzGgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 11:07:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7860e2a-3a92-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692011257; 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=+e6NJV8c/LBHh7J8ISQko0qkIreqCKvxCU1dzISpicQ=;
	b=Suspf/lufKpGg7XvIpLsrOKSxV8wc+kD9US6gmC7fadZOCQy/zAGtPMsYbE8beL47yrhh6
	AD7Ta1veDgj+2gpAEDBxIf8IbqTAwmZwd1FQ1IpnCJFYBZTEtveba9ZnYCg3z2HFrd87Di
	nTRmf+N9xcJ8DFpuxLvJGeGdUNXAibw=
Message-ID: <7def701e-98f5-4dd2-a5d6-18fd3ad78ff1@suse.com>
Date: Mon, 14 Aug 2023 13:07:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/19] tools/config: add XEN_RUN_STORED to config.h
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-19-jgross@suse.com>
 <afcc7e49-1e7b-4b62-9b2c-97f3b7784ad3@perard>
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: <afcc7e49-1e7b-4b62-9b2c-97f3b7784ad3@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------pUTTuIJiYQ3J5dwdwAUiNO12"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------pUTTuIJiYQ3J5dwdwAUiNO12
Content-Type: multipart/mixed; boundary="------------HS5T7nHhvQAPOJCVTL0phRS1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>
Message-ID: <7def701e-98f5-4dd2-a5d6-18fd3ad78ff1@suse.com>
Subject: Re: [PATCH v4 18/19] tools/config: add XEN_RUN_STORED to config.h
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-19-jgross@suse.com>
 <afcc7e49-1e7b-4b62-9b2c-97f3b7784ad3@perard>
In-Reply-To: <afcc7e49-1e7b-4b62-9b2c-97f3b7784ad3@perard>

--------------HS5T7nHhvQAPOJCVTL0phRS1
Content-Type: multipart/mixed; boundary="------------iIA5mUbuPvGNOpp9r63NuJPG"

--------------iIA5mUbuPvGNOpp9r63NuJPG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDguMjMgMTI6MzQsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBNb24sIEF1
ZyAxNCwgMjAyMyBhdCAwOTo0NzowNkFNICswMjAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gSW5zdGVhZCBvZiBhZGRpbmcgdGhlIGRlZmluaXRpb24gb2YgWEVOX1JVTl9TVE9SRUQg
dG8gQ0ZMQUdTIGluDQo+PiBtdWx0aXBsZSBNYWtlZmlsZXMsIGxldCBjb25maWd1cmUgYWRk
IGl0IHRvIHRvb2xzL2NvbmZpZy5oIGluc3RlYWQuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4gSSB0aGluayB3aXRoIHRo
aXMgY2hhbmdlLCB5b3UgY291bGQgcHJvYmFibHkgcmVtb3ZlIFhFTl9SVU5fU1RPUkVEIGZy
b20NCj4gImNvbmZpZy9QYXRocy5tay5pbiIuDQoNCkFoLCBpbmRlZWQuIEknbGwgc2VuZCBh
biB1cGRhdGVkIHBhdGNoIChWNC4xKS4NCg0KPiANCj4gSW4gYW55IGNhc2UsIHBhdGNoIGxv
b2tzIGZpbmU6DQo+IFJldmlld2VkLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAY2l0cml4LmNvbT4NCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4NCg0K
--------------iIA5mUbuPvGNOpp9r63NuJPG
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------iIA5mUbuPvGNOpp9r63NuJPG--

--------------HS5T7nHhvQAPOJCVTL0phRS1--

--------------pUTTuIJiYQ3J5dwdwAUiNO12
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/Ey8FAmTaCvkFAwAAAAAACgkQsN6d1ii/Ey9/
fAf+MllHNn1Ami4RmeBOd6oqNc2sZ0HBIeDFKE2+Jk/YrM9UWWNqSjO2ApzMm4t8zAIxJbz178hD
oxxEqOC7XtTCPOxRIOnHrwSbU6j5U0KLGv7Q8Kr3J7uLpMXdgqOvlLNRU5O0SS+sgibXaVacRQnu
KkoVz+003AWvw7+4CUU7SS/NHBrVlPkSDAtoZT2ZCAB6S+clHvjbAjvpbaUIlzZMUmeLjJk1LK7+
dXe3AJ0f0X4josZxLq/7ctAUP9bGEYE0D9Cuiwv9wk8sPHBatci/fwodeYfvizz63g2HNI49Mlul
j8BnyZM8h+wUJ5bUP4hXNdaBj/fpTmvKZebvyfx0Bg==
=XJr+
-----END PGP SIGNATURE-----

--------------pUTTuIJiYQ3J5dwdwAUiNO12--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:26:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583556.913796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVVi5-0007xi-35; Mon, 14 Aug 2023 11:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583556.913796; Mon, 14 Aug 2023 11: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 1qVVi5-0007xb-0T; Mon, 14 Aug 2023 11:26:09 +0000
Received: by outflank-mailman (input) for mailman id 583556;
 Mon, 14 Aug 2023 11:26: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=80nZ=D7=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qVVi2-0007xV-Qq
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:26:06 +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 5955f45f-3a95-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 13:26:01 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-4fe457ec6e7so6647488e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 14 Aug 2023 04:26: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: 5955f45f-3a95-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692012361; x=1692617161;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=UBfGjado5ykuU8PXg/caM32XsiigilSzYP0189TZzXM=;
        b=ERo8QqU/EMZEIi50tIyNUCQw5W6aVa0wVTjNj/ipICDEgzowQMOZn7mfX4Bp6fCWDs
         u8wjF4w8A5EbfsPSxvs6MOPTbOz5f4kxq+jxiMzj22MZJHugfeD3GdeSrE9A5ti313V3
         wDadsjbc4fDXYo8MFW7sHP0SvhEDZrsTAx55o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692012361; x=1692617161;
        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=UBfGjado5ykuU8PXg/caM32XsiigilSzYP0189TZzXM=;
        b=k0kRkh5cR0EMr/Fl/3yHs+hHMn7uvL6etXs+ESzG+uRAXBQBC73LvlMwaI+wj4CSQK
         dB25OCaG4KXtSriQClOEB3SnyhG9r2Y9kMH2DnTc5E5c/B6AvCWQSfEGyNhOfjG4gMqz
         ejxvMpGcYmf6ItjUg/SnPIAfS4U2QhgOURKOICFBeqe8W1/FojsGznBt5j2J32zyxd3X
         b61mMlsLq+TA4En2YyhNJzXnkS6SOTLPWIB2csv7ChOFOEHUPZ7/WQWLP2rvMOcUH1MH
         CmNWRfZjUf6ZQ3MsUJkKpFoZb/+xj83Gq9djjw1WHhAn591XJsENJy0vQjxPag3dVyqC
         uqUg==
X-Gm-Message-State: AOJu0YzVMsT+33QtUMlnJ67oKtQqDPmTPKXMYoD3vwmbe+npX6xKksTD
	7+6tYTHCuFZbbJDsIVx7yyCh/eCZ84w8OCruO+lKsA==
X-Google-Smtp-Source: AGHT+IFib+4JFmUGDCbfvnwkOBX5hSF6w0OjopvFFLXYcEDL3KVAz8Txh3zjtnvRf0rTHY5hn0YGiJSFTIHpWYcLWiY=
X-Received: by 2002:a05:6512:39d1:b0:4fe:7e64:3c1a with SMTP id
 k17-20020a05651239d100b004fe7e643c1amr7030761lfu.2.1692012361092; Mon, 14 Aug
 2023 04:26:01 -0700 (PDT)
MIME-Version: 1.0
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com> <a6348a98-30bb-8a03-7ed7-9e965be119eb@apertussolutions.com>
In-Reply-To: <a6348a98-30bb-8a03-7ed7-9e965be119eb@apertussolutions.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 14 Aug 2023 12:25:50 +0100
Message-ID: <CA+zSX=ZajaUSD=AcqwjNL_HHeZm6kf1pHVDKU9nyZtsxS2N8qw@mail.gmail.com>
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>, 
	George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, 
	Juergen Gross <jgross@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jason Andryuk <jandryuk@gmail.com>, Christopher Clark <christopher.w.clark@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000bd2b050602e053be"

--000000000000bd2b050602e053be
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 8, 2023 at 10:27=E2=80=AFPM Daniel P. Smith <
dpsmith@apertussolutions.com> wrote:

> On 8/3/23 16:36, Andrew Cooper wrote:
> > The opensuse-tumbleweed build jobs currently fail with:
> >
> >    /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In
> function 'rsa_private':
> >
> /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7:
> error: the comparison will always evaluate as 'true' for the address of '=
p'
> will never be NULL [-Werror=3Daddress]
> >       56 |   if (!key->p || !key->q || !key->u) {
> >          |       ^
> >    In file included from
> /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
> >
> /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12:
> note: 'p' declared here
> >       28 |   tpm_bn_t p;
> >          |            ^
> >
> > This is because all tpm_bn_t's are 1-element arrays (of either a GMP or
> > OpenSSL BIGNUM flavour).  The author was probably meaning to do value
> checks,
> > but that's not what the code does.
> >
> > Adjust it to compile.  No functional change.
> >
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > ---
> > CC: George Dunlap <George.Dunlap@eu.citrix.com>
> > CC: Jan Beulich <JBeulich@suse.com>
> > CC: Stefano Stabellini <sstabellini@kernel.org>
> > CC: Wei Liu <wl@xen.org>
> > CC: Julien Grall <julien@xen.org>
> > CC: Juergen Gross <jgross@suse.com>
> > CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> > CC: Jason Andryuk <jandryuk@gmail.com>
> > CC: Daniel Smith <dpsmith@apertussolutions.com>
> > CC: Christopher Clark <christopher.w.clark@gmail.com>
> >
> > While I've confirmed this to fix the build issue:
> >
> >
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430
> >
> > I'm -1 overall to the change, and would prefer to disable vtpm-stubdom
> > entirely.
> >
> > It's TPM 1.2 only, using decades-old libs, and some stuff in the upstre=
am
> > https://github.com/PeterHuewe/tpm-emulator (which is still abandaonded
> as of
> > 2018) is just as concerning as the basic error here in rsa_private().
>
> For semantics sake, the Guest PV interface is 1.2 compliant but the PV
> backend, vtpmmgr, is capable of using TPM2.0.
>
> > vtpm-stubdom isn't credibly component of a Xen system, and we're wastin=
g
> loads
> > of CI cycles testing it...
>
> Unfortunately, I cannot disagree here. This is the only proper vTPM,
> from a trustworthy architecture perspective, that I know of existing
> today. Until I can find someone willing to fund updating the
> implementation and moving it to being an emulated vTPM and not a PV
> interface, it is likely to stay in this state for some time.
>

Did you mean "I cannot *agree* here"?  "Cannot disagree" means you agree
that we're "wasting loads of CI cycles testing it", but the second sentence
seems to imply that it's (currently) irreplacable.

 -George

--000000000000bd2b050602e053be
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Tue, Aug 8, 2023 at 10:27=E2=80=AF=
PM Daniel P. Smith &lt;<a href=3D"mailto:dpsmith@apertussolutions.com">dpsm=
ith@apertussolutions.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">On 8/3/23 16:36, Andrew Cooper wrote:<br>
&gt; The opensuse-tumbleweed build jobs currently fail with:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypt=
o/rsa.c: In function &#39;rsa_private&#39;:<br>
&gt;=C2=A0 =C2=A0 /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypt=
o/rsa.c:56:7: error: the comparison will always evaluate as &#39;true&#39; =
for the address of &#39;p&#39; will never be NULL [-Werror=3Daddress]<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A056 |=C2=A0 =C2=A0if (!key-&gt;p || !key-&gt;=
q || !key-&gt;u) {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt;=C2=A0 =C2=A0 In file included from /builds/xen-project/xen/stubdom/tpm=
_emulator-x86_64/crypto/rsa.c:17:<br>
&gt;=C2=A0 =C2=A0 /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypt=
o/rsa.h:28:12: note: &#39;p&#39; declared here<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A028 |=C2=A0 =C2=A0tpm_bn_t p;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 ^<br>
&gt; <br>
&gt; This is because all tpm_bn_t&#39;s are 1-element arrays (of either a G=
MP or<br>
&gt; OpenSSL BIGNUM flavour).=C2=A0 The author was probably meaning to do v=
alue checks,<br>
&gt; but that&#39;s not what the code does.<br>
&gt; <br>
&gt; Adjust it to compile.=C2=A0 No functional change.<br>
&gt; <br>
&gt; Signed-off-by: Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citr=
ix.com" target=3D"_blank">andrew.cooper3@citrix.com</a>&gt;<br>
&gt; ---<br>
&gt; CC: George Dunlap &lt;<a href=3D"mailto:George.Dunlap@eu.citrix.com" t=
arget=3D"_blank">George.Dunlap@eu.citrix.com</a>&gt;<br>
&gt; CC: Jan Beulich &lt;<a href=3D"mailto:JBeulich@suse.com" target=3D"_bl=
ank">JBeulich@suse.com</a>&gt;<br>
&gt; CC: Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org" t=
arget=3D"_blank">sstabellini@kernel.org</a>&gt;<br>
&gt; CC: Wei Liu &lt;<a href=3D"mailto:wl@xen.org" target=3D"_blank">wl@xen=
.org</a>&gt;<br>
&gt; CC: Julien Grall &lt;<a href=3D"mailto:julien@xen.org" target=3D"_blan=
k">julien@xen.org</a>&gt;<br>
&gt; CC: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=3D"_bl=
ank">jgross@suse.com</a>&gt;<br>
&gt; CC: Marek Marczykowski-G=C3=B3recki &lt;<a href=3D"mailto:marmarek@inv=
isiblethingslab.com" target=3D"_blank">marmarek@invisiblethingslab.com</a>&=
gt;<br>
&gt; CC: Jason Andryuk &lt;<a href=3D"mailto:jandryuk@gmail.com" target=3D"=
_blank">jandryuk@gmail.com</a>&gt;<br>
&gt; CC: Daniel Smith &lt;<a href=3D"mailto:dpsmith@apertussolutions.com" t=
arget=3D"_blank">dpsmith@apertussolutions.com</a>&gt;<br>
&gt; CC: Christopher Clark &lt;<a href=3D"mailto:christopher.w.clark@gmail.=
com" target=3D"_blank">christopher.w.clark@gmail.com</a>&gt;<br>
&gt; <br>
&gt; While I&#39;ve confirmed this to fix the build issue:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 <a href=3D"https://gitlab.com/xen-project/people/andyhhp/=
xen/-/pipelines/955160430" rel=3D"noreferrer" target=3D"_blank">https://git=
lab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430</a><br>
&gt; <br>
&gt; I&#39;m -1 overall to the change, and would prefer to disable vtpm-stu=
bdom<br>
&gt; entirely.<br>
&gt; <br>
&gt; It&#39;s TPM 1.2 only, using decades-old libs, and some stuff in the u=
pstream<br>
&gt; <a href=3D"https://github.com/PeterHuewe/tpm-emulator" rel=3D"noreferr=
er" target=3D"_blank">https://github.com/PeterHuewe/tpm-emulator</a> (which=
 is still abandaonded as of<br>
&gt; 2018) is just as concerning as the basic error here in rsa_private().<=
br>
<br>
For semantics sake, the Guest PV interface is 1.2 compliant but the PV <br>
backend, vtpmmgr, is capable of using TPM2.0.<br>
<br>
&gt; vtpm-stubdom isn&#39;t credibly component of a Xen system, and we&#39;=
re wasting loads<br>
&gt; of CI cycles testing it...<br>
<br>
Unfortunately, I cannot disagree here. This is the only proper vTPM, <br>
from a trustworthy architecture perspective, that I know of existing <br>
today. Until I can find someone willing to fund updating the <br>
implementation and moving it to being an emulated vTPM and not a PV <br>
interface, it is likely to stay in this state for some time.<br></blockquot=
e><div><br></div><div>Did you mean &quot;I cannot *agree* here&quot;?=C2=A0=
 &quot;Cannot disagree&quot; means you agree that we&#39;re &quot;wasting l=
oads of CI cycles testing it&quot;, but the second sentence seems to imply =
that it&#39;s (currently) irreplacable.</div><div><br></div><div>=C2=A0-Geo=
rge=C2=A0</div></div></div>

--000000000000bd2b050602e053be--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583563.913807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVVml-00012y-MX; Mon, 14 Aug 2023 11:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583563.913807; Mon, 14 Aug 2023 11: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 1qVVml-00012r-Je; Mon, 14 Aug 2023 11:30:59 +0000
Received: by outflank-mailman (input) for mailman id 583563;
 Mon, 14 Aug 2023 11: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=NzbS=D7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVVmk-00012l-RC
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:30:58 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08f13517-3a96-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 13:30:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2FFF51F7AB;
 Mon, 14 Aug 2023 11:30:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F3FC3138E2;
 Mon, 14 Aug 2023 11:30:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vQAtOm8Q2mQMJQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 14 Aug 2023 11:30:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08f13517-3a96-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692012656; 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=CeqcVN8Fulyk9Z+PcpxTuSckE3rwYokVuOESWA+GRNI=;
	b=KR1TTPJF3KJjOA4xo+o05/F1sS1mI7FXCXjTfUkMBlfKZLj4PYuWE6DaG8u4D91fZhAisq
	qO0J/IgllTs8Owdsv9cufXWqGbFFXMW38rWqdSkBKXd5UwP9OVXvZ/upV0lIT0xwmxhx3N
	BZ4ULeS5E2dZeC5vQnW0QrwfSSRIoNE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v4.1 18/19] tools/config: add XEN_RUN_STORED to config.h
Date: Mon, 14 Aug 2023 13:30:54 +0200
Message-Id: <20230814113054.5515-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814074707.27696-19-jgross@suse.com>
References: <20230814074707.27696-19-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of adding the definition of XEN_RUN_STORED to CFLAGS in
multiple Makefiles, let configure add it to tools/config.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
V4:
- new patch
V4.1:
- drop XEN_RUN_STORED from config/Paths.mk.in (Anthony PERARD)
---
 config/Paths.mk.in             | 1 -
 configure                      | 5 +++++
 m4/paths.m4                    | 1 +
 tools/config.h.in              | 3 +++
 tools/configure                | 5 +++++
 tools/libs/store/Makefile      | 1 -
 tools/xenstore/Makefile.common | 1 -
 7 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/config/Paths.mk.in b/config/Paths.mk.in
index 44bab1d748..38b1bb6b1f 100644
--- a/config/Paths.mk.in
+++ b/config/Paths.mk.in
@@ -41,7 +41,6 @@ MAN8DIR                  := $(mandir)/man8
 XEN_RUN_DIR              := @XEN_RUN_DIR@
 XEN_LOG_DIR              := @XEN_LOG_DIR@
 XEN_LIB_DIR              := @XEN_LIB_DIR@
-XEN_RUN_STORED           := @XEN_RUN_STORED@
 
 CONFIG_DIR               := @CONFIG_DIR@
 INITD_DIR                := @INITD_DIR@
diff --git a/configure b/configure
index 99f8434cbf..dd05f314f6 100755
--- a/configure
+++ b/configure
@@ -2079,6 +2079,11 @@ _ACEOF
 XEN_RUN_STORED=$rundir_path/xenstored
 
 
+cat >>confdefs.h <<_ACEOF
+#define XEN_RUN_STORED "$XEN_RUN_STORED"
+_ACEOF
+
+
 XEN_LIB_DIR=$localstatedir/lib/xen
 
 
diff --git a/m4/paths.m4 b/m4/paths.m4
index e4104bcce0..3f94c62efb 100644
--- a/m4/paths.m4
+++ b/m4/paths.m4
@@ -138,6 +138,7 @@ AC_DEFINE_UNQUOTED([XEN_LOG_DIR], ["$XEN_LOG_DIR"], [Xen's log dir])
 
 XEN_RUN_STORED=$rundir_path/xenstored
 AC_SUBST(XEN_RUN_STORED)
+AC_DEFINE_UNQUOTED([XEN_RUN_STORED], ["$XEN_RUN_STORED"], [Xenstore's runstate path])
 
 XEN_LIB_DIR=$localstatedir/lib/xen
 AC_SUBST(XEN_LIB_DIR)
diff --git a/tools/config.h.in b/tools/config.h.in
index 3071cb3998..41014a65ed 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -153,6 +153,9 @@
 /* Xen's script dir */
 #undef XEN_SCRIPT_DIR
 
+/* Xenstore's runstate path */
+#undef XEN_RUN_STORED
+
 /* Enable large inode numbers on Mac OS X 10.5.  */
 #ifndef _DARWIN_USE_64_BIT_INODE
 # define _DARWIN_USE_64_BIT_INODE 1
diff --git a/tools/configure b/tools/configure
index 52b4717d01..5c05fa5ea1 100755
--- a/tools/configure
+++ b/tools/configure
@@ -4060,6 +4060,11 @@ _ACEOF
 XEN_RUN_STORED=$rundir_path/xenstored
 
 
+cat >>confdefs.h <<_ACEOF
+#define XEN_RUN_STORED "$XEN_RUN_STORED"
+_ACEOF
+
+
 XEN_LIB_DIR=$localstatedir/lib/xen
 
 
diff --git a/tools/libs/store/Makefile b/tools/libs/store/Makefile
index c1a1508713..0649cf8307 100644
--- a/tools/libs/store/Makefile
+++ b/tools/libs/store/Makefile
@@ -18,7 +18,6 @@ include ../libs.mk
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
 CFLAGS += $(CFLAGS_libxentoolcore)
-CFLAGS += -DXEN_RUN_STORED="\"$(XEN_RUN_STORED)\""
 
 xs.opic: CFLAGS += -DUSE_PTHREAD
 ifeq ($(CONFIG_Linux),y)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index 3259ab51e6..41973a8a5e 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -16,7 +16,6 @@ CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
 CFLAGS += $(CFLAGS_libxentoolcore)
-CFLAGS += -DXEN_RUN_STORED="\"$(XEN_RUN_STORED)\""
 
 ifdef CONFIG_STUBDOM
 CFLAGS += -DNO_SOCKETS=1
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:56:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583570.913826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWAs-0003qo-OP; Mon, 14 Aug 2023 11:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583570.913826; Mon, 14 Aug 2023 11:55:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWAs-0003qf-Lc; Mon, 14 Aug 2023 11:55:54 +0000
Received: by outflank-mailman (input) for mailman id 583570;
 Mon, 14 Aug 2023 11:55: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=f6hq=D7=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qVWAr-0003q6-Ty
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:55:53 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 844ed475-3a99-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 13:55:52 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D7937219A1;
 Mon, 14 Aug 2023 11:55:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AAF42138EE;
 Mon, 14 Aug 2023 11:55:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qC3jKEcW2mRnMAAAMHmgww
 (envelope-from <tiwai@suse.de>); Mon, 14 Aug 2023 11:55:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 844ed475-3a99-11ee-b288-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1692014151; 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=qzlxAU1XSkzR3XPjbJVOWpV2hz5S7Z3vbPhCeirTcv4=;
	b=quiF4tq/eE5i+5CxgUSEBXtEQkYHSLt2QDgJPiFJpiau4p1G2BsMfcBFSHBTY9fTHYmo73
	U6alWrXa3GIQej/g1COubPoXKecXeFaOGkpFDLdjuv/3Y9kQSbx/hDlFAhi7HlK2brgzq1
	2PtNesfj+OeWGqgZl4h4vhPOQuvOwJ0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1692014151;
	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=qzlxAU1XSkzR3XPjbJVOWpV2hz5S7Z3vbPhCeirTcv4=;
	b=4cxNHhcBpU4rDaUthyZ/Fc6HCW2HJ78Nzov/mMICTpF1A0gqlWDJgi9VOgn89ABwPnzPRi
	hyIYNuAUp2PBZZAQ==
From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 15/25] ALSA: xen: Convert to generic PCM copy ops
Date: Mon, 14 Aug 2023 13:55:13 +0200
Message-Id: <20230814115523.15279-16-tiwai@suse.de>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230814115523.15279-1-tiwai@suse.de>
References: <20230814115523.15279-1-tiwai@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch converts the xen frontend driver code to use the new
unified PCM copy callback.  It's a straightforward conversion from
*_user() to *_iter() variants.

Note that copy_from/to_iter() returns the copied bytes, hence the
error condition is inverted from copy_from/to_user().

Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/xen/xen_snd_front_alsa.c | 55 +++++++---------------------------
 1 file changed, 10 insertions(+), 45 deletions(-)

diff --git a/sound/xen/xen_snd_front_alsa.c b/sound/xen/xen_snd_front_alsa.c
index db917453a473..363351bff264 100644
--- a/sound/xen/xen_snd_front_alsa.c
+++ b/sound/xen/xen_snd_front_alsa.c
@@ -602,38 +602,24 @@ static snd_pcm_uframes_t alsa_pointer(struct snd_pcm_substream *substream)
 	return (snd_pcm_uframes_t)atomic_read(&stream->hw_ptr);
 }
 
-static int alsa_pb_copy_user(struct snd_pcm_substream *substream,
-			     int channel, unsigned long pos, void __user *src,
-			     unsigned long count)
+static int alsa_pb_copy(struct snd_pcm_substream *substream,
+			int channel, unsigned long pos, struct iov_iter *src,
+			unsigned long count)
 {
 	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
 
 	if (unlikely(pos + count > stream->buffer_sz))
 		return -EINVAL;
 
-	if (copy_from_user(stream->buffer + pos, src, count))
+	if (!copy_from_iter(stream->buffer + pos, count, src))
 		return -EFAULT;
 
 	return xen_snd_front_stream_write(&stream->evt_pair->req, pos, count);
 }
 
-static int alsa_pb_copy_kernel(struct snd_pcm_substream *substream,
-			       int channel, unsigned long pos, void *src,
-			       unsigned long count)
-{
-	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
-
-	if (unlikely(pos + count > stream->buffer_sz))
-		return -EINVAL;
-
-	memcpy(stream->buffer + pos, src, count);
-
-	return xen_snd_front_stream_write(&stream->evt_pair->req, pos, count);
-}
-
-static int alsa_cap_copy_user(struct snd_pcm_substream *substream,
-			      int channel, unsigned long pos, void __user *dst,
-			      unsigned long count)
+static int alsa_cap_copy(struct snd_pcm_substream *substream,
+			 int channel, unsigned long pos, struct iov_iter *dst,
+			 unsigned long count)
 {
 	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
 	int ret;
@@ -645,29 +631,10 @@ static int alsa_cap_copy_user(struct snd_pcm_substream *substream,
 	if (ret < 0)
 		return ret;
 
-	return copy_to_user(dst, stream->buffer + pos, count) ?
+	return !copy_to_iter(stream->buffer + pos, count, dst) ?
 		-EFAULT : 0;
 }
 
-static int alsa_cap_copy_kernel(struct snd_pcm_substream *substream,
-				int channel, unsigned long pos, void *dst,
-				unsigned long count)
-{
-	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
-	int ret;
-
-	if (unlikely(pos + count > stream->buffer_sz))
-		return -EINVAL;
-
-	ret = xen_snd_front_stream_read(&stream->evt_pair->req, pos, count);
-	if (ret < 0)
-		return ret;
-
-	memcpy(dst, stream->buffer + pos, count);
-
-	return 0;
-}
-
 static int alsa_pb_fill_silence(struct snd_pcm_substream *substream,
 				int channel, unsigned long pos,
 				unsigned long count)
@@ -697,8 +664,7 @@ static const struct snd_pcm_ops snd_drv_alsa_playback_ops = {
 	.prepare	= alsa_prepare,
 	.trigger	= alsa_trigger,
 	.pointer	= alsa_pointer,
-	.copy_user	= alsa_pb_copy_user,
-	.copy_kernel	= alsa_pb_copy_kernel,
+	.copy		= alsa_pb_copy,
 	.fill_silence	= alsa_pb_fill_silence,
 };
 
@@ -710,8 +676,7 @@ static const struct snd_pcm_ops snd_drv_alsa_capture_ops = {
 	.prepare	= alsa_prepare,
 	.trigger	= alsa_trigger,
 	.pointer	= alsa_pointer,
-	.copy_user	= alsa_cap_copy_user,
-	.copy_kernel	= alsa_cap_copy_kernel,
+	.copy		= alsa_cap_copy,
 };
 
 static int new_pcm_instance(struct xen_snd_front_card_info *card_info,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 11:56:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 11:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583569.913816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWAl-0003as-Gt; Mon, 14 Aug 2023 11:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583569.913816; Mon, 14 Aug 2023 11:55:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWAl-0003al-EF; Mon, 14 Aug 2023 11:55:47 +0000
Received: by outflank-mailman (input) for mailman id 583569;
 Mon, 14 Aug 2023 11:55:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=f6hq=D7=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qVWAj-0003af-Px
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 11:55:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e0a2445-3a99-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 13:55:41 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 17ED721995;
 Mon, 14 Aug 2023 11:55:41 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A12A1138EE;
 Mon, 14 Aug 2023 11:55:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id POobJjwW2mRnMAAAMHmgww
 (envelope-from <tiwai@suse.de>); Mon, 14 Aug 2023 11:55: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: 7e0a2445-3a99-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1692014141; 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=XQeGJoZiwS+WxYkVBoqLRdA0cljITB4QdfMyE6lbFFs=;
	b=kFp/+CRCPGtee7m/HHJG6RlkE9iBkGLiItLiaZXJaSHCOFJVefxmV49Io8esHULi2dSTmx
	dkZvny408ZbpCYDNUxDK9iduT8PasgOnmWZQrRNzDBf6v/T2EKwgDtULSDfIPCePUN7veC
	W7/6+AabVtw/UyAbvOPTJ0Q5KJVfFP0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1692014141;
	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=XQeGJoZiwS+WxYkVBoqLRdA0cljITB4QdfMyE6lbFFs=;
	b=J0FDoDKgkoTfK6W8B1m8B3Sq8+mKHrYih3FmIaCWeumyUMJoNkdmZeZPdu1jqCS3GM1WoU
	/fQKa10s4LX6IjCQ==
From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mark Brown <broonie@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH 00/25] ALSA: Generic PCM copy ops using iov_iter
Date: Mon, 14 Aug 2023 13:54:58 +0200
Message-Id: <20230814115523.15279-1-tiwai@suse.de>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

this is a revised patch set for cleaning up the PCM copy ops using
iov_iter to deal with kernel / user-space pointers consistently.

The previous patch set was based on sockptr_t:
  https://lore.kernel.org/r/20230731154718.31048-1-tiwai@suse.de
But this approach was NAK'ed as iov_iter is a preferred way for
achieving the purpose:
  https://lore.kernel.org/r/87edkce118.wl-tiwai@suse.de

The patch set starts with the missing export of import_ubuf()
function, followed by the new copy_ops using iov_iter, extensions of
some helpers and replacements of the existing code.  It resulted in a
good amount of code reduction.


Takashi

===

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: Anton Sviridenko <anton@corp.bluecherry.net>
Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Cc: Banajit Goswami <bgoswami@quicinc.com>
Cc: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: Ismael Luceno <ismael@iodev.co.uk>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Olivier Moysan <olivier.moysan@foss.st.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: linux-media@vger.kernel.org
Cc: xen-devel@lists.xenproject.org

===

Takashi Iwai (25):
  iov_iter: Export import_ubuf()
  ALSA: pcm: Add copy ops with iov_iter
  ALSA: core: Add memory copy helpers between iov_iter and iomem
  ALSA: dummy: Convert to generic PCM copy ops
  ALSA: gus: Convert to generic PCM copy ops
  ALSA: emu8000: Convert to generic PCM copy ops
  ALSA: es1938: Convert to generic PCM copy ops
  ALSA: korg1212: Convert to generic PCM copy ops
  ALSA: nm256: Convert to generic PCM copy ops
  ALSA: rme32: Convert to generic PCM copy ops
  ALSA: rme96: Convert to generic PCM copy ops
  ALSA: hdsp: Convert to generic PCM copy ops
  ALSA: rme9652: Convert to generic PCM copy ops
  ALSA: sh: Convert to generic PCM copy ops
  ALSA: xen: Convert to generic PCM copy ops
  ALSA: pcmtest: Update comment about PCM copy ops
  media: solo6x10: Convert to generic PCM copy ops
  ASoC: component: Add generic PCM copy ops
  ASoC: mediatek: Convert to generic PCM copy ops
  ASoC: qcom: Convert to generic PCM copy ops
  ASoC: dmaengine: Convert to generic PCM copy ops
  ASoC: dmaengine: Use iov_iter for process callback, too
  ALSA: doc: Update description for the new PCM copy ops
  ASoC: pcm: Drop obsoleted PCM copy_user ops
  ALSA: pcm: Drop obsoleted PCM copy_user and copy_kernel ops

 .../kernel-api/writing-an-alsa-driver.rst     | 58 ++++-------
 drivers/media/pci/solo6x10/solo6x10-g723.c    | 38 +-------
 include/sound/dmaengine_pcm.h                 |  2 +-
 include/sound/pcm.h                           | 13 ++-
 include/sound/soc-component.h                 | 14 +--
 lib/iov_iter.c                                |  1 +
 sound/core/memory.c                           | 56 +++++++++--
 sound/core/pcm_lib.c                          | 95 ++++++++++---------
 sound/core/pcm_native.c                       |  2 +-
 sound/drivers/dummy.c                         | 12 +--
 sound/drivers/pcmtest.c                       |  2 +-
 sound/isa/gus/gus_pcm.c                       | 23 +----
 sound/isa/sb/emu8000_pcm.c                    | 74 ++++-----------
 sound/pci/es1938.c                            | 30 +-----
 sound/pci/korg1212/korg1212.c                 | 50 +++-------
 sound/pci/nm256/nm256.c                       | 42 ++------
 sound/pci/rme32.c                             | 50 +++-------
 sound/pci/rme96.c                             | 42 ++------
 sound/pci/rme9652/hdsp.c                      | 42 ++------
 sound/pci/rme9652/rme9652.c                   | 46 ++-------
 sound/sh/sh_dac_audio.c                       | 25 +----
 sound/soc/atmel/mchp-pdmc.c                   |  2 +-
 sound/soc/mediatek/common/mtk-btcvsd.c        | 23 ++---
 sound/soc/qcom/lpass-platform.c               | 13 +--
 sound/soc/soc-component.c                     | 10 +-
 sound/soc/soc-generic-dmaengine-pcm.c         | 18 ++--
 sound/soc/soc-pcm.c                           |  4 +-
 sound/soc/stm/stm32_sai_sub.c                 |  2 +-
 sound/xen/xen_snd_front_alsa.c                | 55 ++---------
 29 files changed, 263 insertions(+), 581 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:07:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583591.913837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWLd-0005v6-1P; Mon, 14 Aug 2023 12:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583591.913837; Mon, 14 Aug 2023 12:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWLc-0005uz-UY; Mon, 14 Aug 2023 12:07:00 +0000
Received: by outflank-mailman (input) for mailman id 583591;
 Mon, 14 Aug 2023 12:06:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dnfx=D7=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qVWLb-0005ut-CW
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 12:06:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11316576-3a9b-11ee-b288-6b7b168915f2;
 Mon, 14 Aug 2023 14:06:58 +0200 (CEST)
Received: from [192.168.1.15] (host-79-55-201-67.retail.telecomitalia.it
 [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 34CE04EE0737;
 Mon, 14 Aug 2023 14:06:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11316576-3a9b-11ee-b288-6b7b168915f2
Message-ID: <3c7728ea-f0b4-604b-db4e-5c983e8b776e@bugseng.com>
Date: Mon, 14 Aug 2023 14:06:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
To: Jan Beulich <jbeulich@suse.com>,
 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>,
 Wei Liu <wl@xen.org>
References: <5500643d99b315aa4344e5e3a833e6efa9a0413f.1691737296.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2308111528510.2127516@ubuntu-linux-20-04-desktop>
 <6fd6cc67-3ec2-d811-17c4-02845f62042b@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <6fd6cc67-3ec2-d811-17c4-02845f62042b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 14/08/23 09:14, Jan Beulich wrote:
> On 12.08.2023 00:30, Stefano Stabellini wrote:
>> On Fri, 11 Aug 2023, Federico Serafini wrote:
>>> --- a/xen/include/hypercall-defs.c
>>> +++ b/xen/include/hypercall-defs.c
>>> @@ -107,11 +107,16 @@ defhandle: physdev_op_compat_t
>>>   prefix: do PREFIX_hvm PREFIX_compat PREFIX_do_arm
>>>   physdev_op(int cmd, void *arg)
>>>   
>>> -prefix: do PREFIX_hvm PREFIX_compat
>>> +prefix: do PREFIX_hvm
>>>   #if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
>>>   grant_table_op(unsigned int cmd, void *uop, unsigned int count)
>>>   #endif
>>>   
>>> +prefix: PREFIX_compat
>>> +#if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
>>> +grant_table_op(unsigned int cmd, void *cmp_uop, unsigned int count)
>>> +#endif
>>
>> Everything checks out, so:
>>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>
>> The other changes are uncontroversial. This one about splitting out the
>> compat version of grant_table_op is not great. I wonder if it would be
>> better to rename cmp_uop to uop in xen/common/compat/grant_table.c. I'll
>> let Jan and the others decide I am OK either way.
> 
> Would there be anything wrong with instead renaming compat_grant_table_op()'s
> respective parameter?
> 
> Jan

As far as I know, there would be nothing wrong with MISRA.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:34:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583598.913848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWlu-0000t5-VA; Mon, 14 Aug 2023 12:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583598.913848; Mon, 14 Aug 2023 12:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWlu-0000sy-Qi; Mon, 14 Aug 2023 12:34:10 +0000
Received: by outflank-mailman (input) for mailman id 583598;
 Mon, 14 Aug 2023 12:34: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 1qVWlt-0000so-Go; Mon, 14 Aug 2023 12:34: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 1qVWlt-00069G-Db; Mon, 14 Aug 2023 12:34: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 1qVWlt-0000Xh-0S; Mon, 14 Aug 2023 12:34:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVWlt-0005CO-01; Mon, 14 Aug 2023 12:34:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7/rK6oTPqNePc8ZsKVgwG8vrIWmF6XfX9KiU6tHxuJ8=; b=0xueiAmu1Gu+fEKKv/8FO1bldQ
	TBK0Rg0F4NXdUBKQwjYjcFIZYkAQGyGAEWg3wD8wbfUagsXJALMqowfx27Don5PSreB+FtvKPmmvY
	7j4sB17FCWzaJDLhth2FvfyGX1JECfzJZyuJsgmmnmyxDi+8DVJkpnznx5NphGnWdmIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182325-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182325: 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=22e71609ad49797b2da141394d07ab5b1c326d54
X-Osstest-Versions-That:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 12:34:09 +0000

flight 182325 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182325/

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                  22e71609ad49797b2da141394d07ab5b1c326d54
baseline version:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c

Last test of basis   182273  2023-08-11 09:02:02 Z    3 days
Testing same since   182325  2023-08-14 09:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a9a3b432a8..22e71609ad  22e71609ad49797b2da141394d07ab5b1c326d54 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583610.913861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWtS-0002Rf-Oe; Mon, 14 Aug 2023 12:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583610.913861; Mon, 14 Aug 2023 12:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVWtS-0002RY-Kk; Mon, 14 Aug 2023 12:41:58 +0000
Received: by outflank-mailman (input) for mailman id 583610;
 Mon, 14 Aug 2023 12:41: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVWtR-0002RO-AC
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 12:41:57 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f32e2344-3a9f-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 14:41:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9309.eurprd04.prod.outlook.com (2603:10a6:20b:4df::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Mon, 14 Aug
 2023 12:41:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 12: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>
X-Inumbo-ID: f32e2344-3a9f-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lZZJspEQFigoBgQNidwX5Ls+XAwhmVne99H4v0r7KmPw37fyWxORCNT/5ySUWRMM+4U0p4P19f93oS4c3f9Fy5+0jQb5CBlkVQ6VJRCYnYi6lfytwiJoEQvUdcnl0Iutr2VZogdbB3rBka4z89+DWboP3aXpMMRi86qH8U/gx4UuLLBbP2htlBJAKSVBNNMiDf5uXR/GzcL92W4utIxNJWG+IwAsKyS1ZAFdoHFyHLRx69Xdd0Ol+J33nDepY4k/PO4aQb5HqDzHlZTekPW4ZV7WLHHSzXYsY8YlZbrHRqyBPrPUSea6MsGzHYEE9q15DqkYmOH9eDXPlgRKPUgsvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bSmIZuwRTHlQCdkyyuXqjuxfjFrKEd5LDowPqnYjKPk=;
 b=GiJnAY5RqD6SvIizxbmZxr0ZM6I6CMxLJ/nqaUbFzxKUSLmbZ5tH1Yqyi3xLuO3hkAoRJt/iqGeff25fmoFbJQN+eoIs6G4rDgU2GRAPCXou2WEgvpREoxkwsjHtmmAdvI9wn1yjQOMKL88yOXOWNEwiHiqMXBXD37Jo650xVYTOH0nfthQNVy/wcAQ59yLHR76bKrogyT0c3BeHBwxOiOPT0U6yCVQq05IGew8MR0c74Njg56NpA7ECnTuHE5/6N0z/820I+Tf5VQLWBT6DBYYMsVACeKFMABbuz+RAmS+5wVGTW5qprKa1GOys83Tl+gxe/X+2T8ERatjPW0iB5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bSmIZuwRTHlQCdkyyuXqjuxfjFrKEd5LDowPqnYjKPk=;
 b=0+hgk0cK8kGhnWx+rPBlfxoMOGwbCBPlE4YpYtidIq0mpnSfvBk6jCxii2nR//7PB/koUMsw4TuzKGAaZXU9VYCNJi6btit+ZxZH9CjjdUjfyWiYskuxAlyi4HFM1mcDYNk/HuMs83hSPApIj7ozazn2sAthwK5do8UU+O69u9jmIfRfFAq8H6iFW9STjjfNq8p5tK09sr53q/3JVAbK70kNtiYmHZv3asGFXbsm9S2Zpvj/eiFrLbW7HDLYvz1vCN6/nzt1bULsCNSghcGC/ptJIydZ3XDhny4cwKYch65HurBniCOXF+bfpu7kP9VGI/pgus7PoWaGqY2kV5OubQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d57a2812-154b-bb60-efd5-313eb2048d11@suse.com>
Date: Mon, 14 Aug 2023 14:41:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] x86: address MISRA C:2012 Rule 5.3
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>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <c0bb67b18e1ad158a8af059abd1436c36eb8edf6.1692003656.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c0bb67b18e1ad158a8af059abd1436c36eb8edf6.1692003656.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9309:EE_
X-MS-Office365-Filtering-Correlation-Id: 7489f321-c146-45d2-3a95-08db9cc3c5e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z8bl/B+ysczpHHGUhWuYFgWVHlXqhIILVk9vG0CvnJVFC5+LqNkEfRevGjJL9g7eQYxSOAMkZ0inyxfxr/qAG8GfCkksBfrXvght16Ok63mD7VazQvaLp7kXG1BexzabRNqA1WS8z+APm0RoOvmENWwFXh6Zz9ntEnNXnlBoKfizGIfTLK5Uw55igAsPLhVGst7fQb4hudK9SWbHWLaE0CrE5tebdBsq4nSzVfkjoPyFa+xoOv25JYHLfp7gY+6Q3eBlHG/2h0gRg6kX0oBUVVijmRThSQojS2FCR55RW32+jcY9jRN0OU5GTzUmG+shs+bCTXAhe8MvQ8P3yx/73mV+jXM5+VsRjMU2othKlEBb/GbK3Gn6OcVxIjQiPosf7u9VMhzCxE23ji0UmDbsRwS44E4dRLFxSC833ZYsRRjoHkBGQ72XGyUarvEJv5aNvAWwrZaqtitOJdcwbqkR/rALP2L98a7qnqGxtTvo1v87PQNwDQChdHR8JDNNGeRWxuGKV8k/754ZtCLJod4I8BsrVF9rGA3NLzSQmCrznUC7tKxwj5vhzHn2RpXIVJ7usVQsiSJd3SkSFVZzjytsaYAZqmxxTbfXdnrjR1vAbUe8ztnyMJSkYu+dfPfGfjQUULgVhritcZ6ggidRgbkxzQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(396003)(39860400002)(136003)(346002)(451199021)(1800799006)(186006)(38100700002)(54906003)(6486002)(478600001)(7416002)(5660300002)(2906002)(36756003)(4744005)(86362001)(31696002)(6916009)(4326008)(66476007)(66556008)(66946007)(41300700001)(8936002)(8676002)(316002)(6506007)(53546011)(26005)(2616005)(31686004)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHV4UThPNXd0YmVUVVZzTVJXelk0dThkVWlvTUE2RGVUc3Y2M0I0ai9yVFR2?=
 =?utf-8?B?S3N1U2VlOXNaTlhBbnE3aFRIUWovS3pjZGd4OHQyRnRpOUJtVksrUkpDRTI2?=
 =?utf-8?B?bm1WSm9tTDhRSEdrbzhoWUVmVHNPUmIzZ1hJamRXMG9TSzVuak1ZTExoblhq?=
 =?utf-8?B?TVMyWHhoeFV5WHErbHh1V1NRclI0S2RoWjU4RnNFQUZFUFhmbWl3cC9KUWw3?=
 =?utf-8?B?K1dVTXlxZlRsVzBNWlJFV2ZKWUZxbENqaGF6SlZHcENkWVNNWTRKUUgyT0V2?=
 =?utf-8?B?NmJlYWd6OGhLVmdyZGlkVkNjL3Z2VDI5bUI1ZzdjcG9pV2tzRVlKWTdSeVg3?=
 =?utf-8?B?SDVjNGF2c29MNUJWWE5vNnQ3TU41dm1HU0daSXpiZjVBMGVpVGo0NXE5dXVR?=
 =?utf-8?B?bXNIT3ZVOWtvckxyeUJDd2NnSlpHekVSQlphdzh1QUEydzYxMzJaME9Ka1h3?=
 =?utf-8?B?UXovaWhpTFBXSmx4OU5vaTVka1B3ZWVxd3kxRXFJWUFaUXBNYTNERFRTTG10?=
 =?utf-8?B?UXlmZUVGSUd6K25QcWZBRGZuWERyRnFrLzVLZjFWZERXNzEvdkRtcGN4UEtn?=
 =?utf-8?B?cHFPdHh0OE95Y3dNb3FMWXIyVHlkbE92dkVkaG50Z3EyeXZEK2xKaDlXbTh4?=
 =?utf-8?B?T3dUd1hyVFQvUFh4QVcvZG9EUUtxdDA2VkIxQXZ2bm9nNUtJWGxjWStBekRh?=
 =?utf-8?B?Zjg0MTg3OC9QMjlKVk5yaVdQSnN3UFpsRy9LcFdqN1Q3M2FMOCtSL3RFVGlF?=
 =?utf-8?B?U0s4MFhscmk0bGQ5NC8xc1BsUXQ1di9QaE9Gcmg5Mmo4ejRlVUtXYnlMRXBJ?=
 =?utf-8?B?ck9oUkNjUE95K3NacFJKOUlOM0w5bmxzT2hHWXlaenk5a1hwWG8xUDI2OTU1?=
 =?utf-8?B?SnUxSUJRSHlzbmtOVlVyTjEyM1NtNy9ScWJOL2FrQ3hLb1NET0lSUCt5WEN1?=
 =?utf-8?B?UWh2NGU2bkNVS0JzbTdsNGxKdHFPaGFpRS9CWlY1VnZ3SXlQSjh6TlVPelRN?=
 =?utf-8?B?SjhRQlE1bmxDaWF3SWpqNzF2bFVwaFNINU5OQVhsWGZEeTk3dE1aVWVKSXRW?=
 =?utf-8?B?MGNKZWJIeEVBbmoxckd4dHpYYjBXek04VUluem02WDhrTDNFZXhxeWYwRFpj?=
 =?utf-8?B?SHZwU09nbGlZVEljUWEzSEdUV3YyaFl3MkFuNy9kOWxYQ1BPbUxsdEMydkVt?=
 =?utf-8?B?elpDV3hKY0VUai9JMjNJS3FkMXRnbmR1T1VjaGtvUzZpUnhROXdLS3RTanlS?=
 =?utf-8?B?STdXVXZ6cTc2TndSLzRiYzN0OE9aK2h1cWRBM01GZ2ZOaFY2Zi9OSWJNZkJy?=
 =?utf-8?B?UGp4ZHBGQm9yOFlZSS9wbWNkenMxcU56RXZ5c3VjMjBqNEdWQXVqZ0JYb1Qz?=
 =?utf-8?B?RDkvekZvem5PaUZBMFFocFQ2eTAwc2o0ei9SSTFFMzdBK2pLcEZhYk9seWFD?=
 =?utf-8?B?QTdrUGRiT0w0cVdSL0dPVmlvYWF4L2Zxa2RkOHVRVWsvS05Vekk0NktwZ2tC?=
 =?utf-8?B?TW9PbTMzNFZLU2d3cmVmcEdNb1k0Zm1CbVlMVU55aVdXR0Q3dXUrTkF4MTFQ?=
 =?utf-8?B?ZmRpa1U2Ums5U2JtbFVzTmJsSG9wTjljUEVQbksvaVlCUmhMT0NERHBEd2JT?=
 =?utf-8?B?L1E0R01rNExjN1IreCs1akhCQ1R5b2VDc0FvZHdJRWNkVjYvVU5RWGNNdE83?=
 =?utf-8?B?bVRpaHI1Z0djU01McmE2ejhYa1Radi81dEQ2cXBkeW5jUVJMS2hBTVlzYUJq?=
 =?utf-8?B?aTk0VGhNQUNPWE5sZnF1cUV2NDM3WG1aaGtQWWZaOUZGNVlEZzVXR0JwL25i?=
 =?utf-8?B?R0xuMm9WNE9sT0FWeE9jeGp0S24yYWd0SWhiNWM3RC9sTXlQRHh5N21ja2VE?=
 =?utf-8?B?eFZrRmFCNUFyU3N5S2RSOUFzWXJzK0NEU3lrZDl4RlJJWGhteUpETkRJU05D?=
 =?utf-8?B?RWVXdzFZeVRhc1R4ekhwYUNSNW44UjQxTHF2SGw2di9vWWxrRFNteVZ4NFQw?=
 =?utf-8?B?SXVBeERHZjNJUEY5aUI4OE1CZG5FV1dKYzg4ZDROYlplNVowanBmOGhiT29D?=
 =?utf-8?B?Rm0vMEM2L2xYT2FOV0piQ2laNDVQck1mcXBCZ0RxSmJLRHVPT2tiTHl1Y0lq?=
 =?utf-8?Q?XpYkbplGulKeelvXAQl7RG3lK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7489f321-c146-45d2-3a95-08db9cc3c5e9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 12:41:25.7674
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uUn2hZpqg5MKeWpt1njPKQ2MVZbFpA3Li53QrTXnhlyK6AghVmz1NYDz+5VK1ZEETDDJ17G+ZERGL6pXWWzxEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9309

On 14.08.2023 11:05, Nicola Vetrini wrote:
> Address some occurrences of shadowing between the global
> variable 'e820' in 'xen/arch/x86/e820.c' and the function
> parameter name of 'e820_add_range'.
> 
> Since the function is only ever called with the global variable
> as the actual parameter, so there is no need to have it as a parameter
> because both are defined in the same file (mentioned above).
> This in turn causes several other functions to lose their parameter
> 'e820' because they are involved in the call chain that leads to
> 'e820_add_range'.
> 
> Similarly, 'kexec_reserve_area' is only ever called with the static
> variable 'boot_e820' as a parameter, which is defined in the same file
> as the function, thus it does not need that parameter, which is a cause
> of shadowing, as explained above.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:53:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583628.913875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVX4O-00042i-QF; Mon, 14 Aug 2023 12:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583628.913875; Mon, 14 Aug 2023 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 1qVX4O-00042Z-Mf; Mon, 14 Aug 2023 12:53:16 +0000
Received: by outflank-mailman (input) for mailman id 583628;
 Mon, 14 Aug 2023 12:53:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVX4N-00042T-NM
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 12:53:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88342dc0-3aa1-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 14:53:14 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 30F1A4EE0737;
 Mon, 14 Aug 2023 14:53: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: 88342dc0-3aa1-11ee-b289-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 14:53:14 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
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, xen-devel@lists.xenproject.org, tamas@tklengyel.com,
 aisaila@bitdefender.com, ppircalabu@bitdefender.com
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
In-Reply-To: <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
 <808999f0142825bebfdbe16a309d529f@bugseng.com>
 <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <87c7a0fa02066c65e5e80830d6868014@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

Hi,

On 14/08/2023 13:01, Julien Grall wrote:
> Hi,
> 
> On 14/08/2023 11:33, Nicola Vetrini wrote:
>> On 14/08/2023 09:39, Jan Beulich wrote:
>>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>>> The missing header included by this patch provides declarations for
>>>> the functions 
>>>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>>>> that are defined in the source file. This also resolves violations
>>>> of MISRA C:2012 Rule 8.4.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs 
>>>> and p2m_vm_event_fill_regs")
>>>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>>>> Fixes: 9864841914c2 ("x86/vm_event: add support for 
>>>> VM_EVENT_REASON_INTERRUPT")
>>> 
>>> It's hard to see how it can be three commit here. The oldest one is 
>>> at
>>> fault, I would say.
>> 
>> Since the patch is concerned with more than one function then in a 
>> sense I agree
>> with you (the headers should have been included in the proper way the 
>> first time around), but
>> then more definitions have been added by adc75eba8b15 and 
>> 9864841914c2, and these should have
>> triggered a refactoring too. I can leave just 975efd3baa8d in the 
>> Fixes if the preferred way is to list just the first problematic 
>> commit (perhaps with a little explanation after --- ).
> 
> To be honest, I don't exactly see the value of using Fixes tag for
> those patches. I agree they are technically issues, but they are
> unlikely going to be backported.
> 
> So if it were me, I would just drop all the Fixes tags for missing
> includes unless there is an actual bug associated
> with them (e.g. a caller was miscalling the function because the
> prototype was incorrect).
> 
> Cheers,

Adding those tags for this kind of situation was requested on the 
previous discussion [1],
so in this series I kept the same strategy (though probably here I put 
too many of them).

[1] 
https://lore.kernel.org/xen-devel/cfbc7569-3714-2200-054c-49ba593d6903@suse.com/


-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:58:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583635.913884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVX8w-0004eL-80; Mon, 14 Aug 2023 12:57:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583635.913884; Mon, 14 Aug 2023 12:57:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVX8w-0004eE-5S; Mon, 14 Aug 2023 12:57:58 +0000
Received: by outflank-mailman (input) for mailman id 583635;
 Mon, 14 Aug 2023 12:57:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DK7P=D7=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qVX8v-0004e8-FA
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 12:57:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 300ec1ec-3aa2-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 14:57:56 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EC0FA4EE0738;
 Mon, 14 Aug 2023 14:57: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: 300ec1ec-3aa2-11ee-b289-6b7b168915f2
MIME-Version: 1.0
Date: Mon, 14 Aug 2023 14:57:55 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, tamas@tklengyel.com,
 aisaila@bitdefender.com, ppircalabu@bitdefender.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, wl@xen.org
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
In-Reply-To: <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <4fd618ea926226d721056bf172b71a2f@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

CC-ing the missing maintainers here, both from x86 and vm_event

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 12:59:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 12:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583641.913895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXAG-0005Bv-I7; Mon, 14 Aug 2023 12:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583641.913895; Mon, 14 Aug 2023 12: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 1qVXAG-0005Bo-Eb; Mon, 14 Aug 2023 12:59:20 +0000
Received: by outflank-mailman (input) for mailman id 583641;
 Mon, 14 Aug 2023 12:59:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVXAE-00055k-Qw
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 12:59:18 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 604e14e1-3aa2-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 14:59:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8761.eurprd04.prod.outlook.com (2603:10a6:20b:408::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 12:59:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 12:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 604e14e1-3aa2-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HgWPFEoalhEfdTZpN6iFvYQsX+gbp4rMGa+HXy7KUyfzvXZLzVZ+mgW64SBjqxg57NKtiyG01iWW6Izj6HvIMwwGPF/ddT7IcW3u8M+tvJsoNb7bqyK80io99nO3Ae0gl8G0TH3YwajX54F66ZfJNghYbOpUExJF/T/XT0d+UjQh9Jrd7RizzzXfnvMdpOZPn28jh8dO8DMZkgnAIEEPhH0TiJPSwIU1FvPOLi+j2HfkC3dJHEA1d0YzdaBv94hZIhJDQDjcQS/DiYSwjM6SVjb8Lw/PcfG92lRv+I4o2miIAyvNLnRAA6eZ45w5urD3qy6+U7cjbU3pyhQbqe7Cgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GL5M+67szkAI50psuf7sHfXI6Vjlas0Sktn2Wb5LWqo=;
 b=UpvLM/KCHRPFtK9t1bY9UJWHYekqphbertpEd5HPTp0hzKm7lVg0vETvTZH3DpHSPpI8tKaLa6gwQcWAx9ycA5KxJONerbPTy8x727F4Nac98xA2hTx9AfBuKDp7SWdfH1/o88fiUhf1N+4GDPfvhNVQlH1zS0V1ONPmAiFECVr6/NctAM514EKB/h8PKEnR4va8OOPea/qVWfnrW+Y6QZ4kV+NyrW4ZGiZMdRNF7FYF/VKDzrkHfGZUNRM3+IcKc0T1QPmgkvLZRmD+OoTQq9f9Z1WtNKJcD1JEf8GIeJCONm1lGMfyS9DaTvmZ5Thmpy2mRebruHOh/W+gHUjzMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GL5M+67szkAI50psuf7sHfXI6Vjlas0Sktn2Wb5LWqo=;
 b=QQn9xaO3Fgbsk0nGAU0o5JFma0CSDE03sGLhfwY8QMjG13CRHXM2Qb977RLypN+sziNvD2h5Usj9ce15M8nTtVClJn07fxDC6fKmscK3elc5IbTs5j4eNIJn6c0PZFB379mmqO+CPCbj1oZzQJ/eJ/8FhBQOKj7yiB1tYoIUXfgTla39G4VFMXREsF4p2pAfw4AN37tGvO0KPu2QKvERodQR7+w+ZHAjHsel1pVaJqBC29C2I6CY0P4+pYuFwmcmcFE5BFFrSgpAKWAwqMpE5r81EAXl7nThJu39twY2K92D2nfWEkdVcVe+WXeQN9QgR/EMbfjevDSeCzmB4EcLbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3888e6c1-6e8e-59ca-eaa5-13032a2d3644@suse.com>
Date: Mon, 14 Aug 2023 14:59:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v8 5/6] xen/riscv: implement do_bug_frame()
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1691763757.git.oleksii.kurochko@gmail.com>
 <bb1ebda319fc6f74456306a4051dd6da721bb797.1691763757.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bb1ebda319fc6f74456306a4051dd6da721bb797.1691763757.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0036.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8761:EE_
X-MS-Office365-Filtering-Correlation-Id: f13f2ab8-1749-418c-fd3b-08db9cc642b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qTist/cf+OVUmIvqLKKypyG6xRLK+KlN3Rw7Thd3UdkwA5mPkDz9In+9mxfjAowznf7WspqC7kXJF5heDtSL4HV4ztAuQTKlNVJED7dcYbPjKh2OBx+toUxSbqQSgnbuUR4hS1toSI5di8XSE5t/mtPuertdxyrsXIXzeP1ebQ1V7rO5yAPAph0sjfZdnE2N8LKsS075s/WPNgCoD1zZlVPFNGrkNEQvkp0e1VXKsQ/+blVi+2f2WvdURluJbQOPg0sWn9lQFcnG1fHDmUKtj5dIqw4OibqAq7JAi4/tutKiqIMec5rdu/iMMuAhGzdZ79IiXwIhQA0UYF1remq4r+viDDgSo6ZW32KM7guzs1rW/dCzY/nTXvqOp4cFxKOYT5XS8rCdsQVFiblRG+F8vmRtMtN5esBzi38I6Ugpz3ZmoCBFaxzIb3/trOZZx6JBpT7HwEbOGW0jM0y/0XxIazfuTml0Ul9zeFikQREFiW/EmlTp4cEiNeBdvJ07X7XG4t6BlsD8sIhozsS86UsEfwCGQ3Ehj1wBGXWhPjRsrRSWGcZ4p/VxgHr1EUkfHp/Upd160EgX0FOtLYjDr50+9itVJKEsxjGOWVqiovOzTVT/mTFvCz+VuSoxaeKAQL/qqv8ET6lDx2skyq3uMyydMg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(366004)(136003)(346002)(396003)(451199021)(186006)(1800799006)(36756003)(5660300002)(86362001)(2906002)(31696002)(31686004)(83380400001)(66556008)(6916009)(4326008)(316002)(66946007)(66476007)(54906003)(38100700002)(41300700001)(26005)(6512007)(2616005)(53546011)(6486002)(6506007)(8936002)(8676002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTk2NFdPbko1VEd1MDBqQTUyUkMxYXhwbEUzN2FOSW12ZFhmeTFQYS9Ca3F0?=
 =?utf-8?B?azcvU1loajBLVTh6Njdjd2F3dkQ5YitNNVM5Umk0a2VZaE5JV0svT1h5cG1s?=
 =?utf-8?B?akZXZGNoNTdTNFBiMjJFSWl6SENtOEZpMCtYa245L3hCSjZxaVdlVU9FVnpF?=
 =?utf-8?B?enhweHVDbW12Zlh4REs0VTAzR3lHbVhaNFg0OG9zNjFtZklsd3h5OWZqcENE?=
 =?utf-8?B?c1VOMlA2em1JNVZRYytwUlJQbjhpRk05TmpkREI5Q1ZsZ3BleHZOMXJuSktK?=
 =?utf-8?B?a1NiRWIwL2lhT20waDU0eVdlaHhnQkQrKyswL0llRlpUbTM4NnFYRjFwQzlh?=
 =?utf-8?B?Z0RabTdsb0hOdU5WRDNCTnpDN0tkN2VZVVdLUlpsdEJOQTdvRlJNQVNiTUhp?=
 =?utf-8?B?dWJNcS9ST3R3T1Z1WkxGUHpxZXZpRStwTlY5cUc4N1ZnZC9iRW5TZVlVWkpU?=
 =?utf-8?B?aUZ6c0dONnh5NnJCaThiVnpDaHhIWVVOcHAwMndqbWhlOThuZ1A0OHprUWZZ?=
 =?utf-8?B?aC9MMGgzbTlWZVRyMVh5WFlkMUlKTUxIMUxjanJ0alIrSzZxOEVFSTVUQ244?=
 =?utf-8?B?ZFUrT3lxMEVSbEtldjV0L0ZPOURzYklObjdRQlY2enZ6Zjd4c1dvY3FteEVH?=
 =?utf-8?B?cy9FNEN0Qks2STlhTTEzZ2dYZlJpMGFpZUh2Y2cxMS82QS9HNU9Pa2E5UUpQ?=
 =?utf-8?B?aTFoVnF2VUlncU4ranU2dEhnSDc0T3F1NWlqVDBZdTFQWlplQndHYzg2c1hC?=
 =?utf-8?B?VWdRNHZZR1F4V3cwS3FnOS9NOEFvdDI1RVdJVVgyYVYxbG01QURheEg2MGE2?=
 =?utf-8?B?QVIxcUpCQ3B3K1hiTjhHYWtQQ2VLa2sxWnBMdWQ5VVNXbjBtakxmd1A2ZlA2?=
 =?utf-8?B?d3N1bjlsb2Rrd0I0RnhZWVI2NS9SVFVYa2VPQ1lHYnQzNFFoZnc3WEZjUmdj?=
 =?utf-8?B?SG9oV2RkOEIxNkdoWGpQZnlCNE1yMURRWU1kMG0wdUVETlJpaWJuME5qUFJl?=
 =?utf-8?B?OTU3TnlyUy9yZnJTQ3UzTGZMTDFjYStkK3NKZnZpS2J6a1RhYzFXdDZXMnR0?=
 =?utf-8?B?d09VWmNWbE1CbDMzL0ZQdURYelp2Y1VMYnp6aFRrT0Fkd0JJYmtsUWxoMjM0?=
 =?utf-8?B?ZzRQU0JXTmxxUVFMZXBHL1Q5ejFwZXdEUW1WOGpkVlMvUXR3UjNsSUJBRnI3?=
 =?utf-8?B?Wm5DTklZVFhpeldwKzdxajh0WHJuaTJJQ2xnMS80bHlVcnhhUG9yQWxBV2Nu?=
 =?utf-8?B?TFIyeFpTN21hTU1sYjg4UEdBclBqd0R0UGVvUjVlVHdqRVVUMmFjdVhOZElU?=
 =?utf-8?B?ZWI5T2U5TXRlOFBCT2x0MFRST0I4NkxRdW02VXpoTXZTb05HeGpSaGhOempV?=
 =?utf-8?B?eEgvdlMzNHFKTGYvSnhnYVBtcWZpTkxOeVp2bzBTemp0UDJIRUVLSWk4OGNv?=
 =?utf-8?B?c0FyOE5hOThpRnVjWGFLT3VQbEZPS1BrRE90QStabUlmNnlEdFRJenU0Z2VW?=
 =?utf-8?B?bHJPZjVKWnlUWlNNMTNTQXNFeGJ0aHY1alhvZ0UvY1hWUmxYY1VrMmVnSElV?=
 =?utf-8?B?M2ZCcWhncmw2RTd1TFRwbXVUSWpTMTc2OWRaZTRENUFNSWNLZVNiVTA2aVR3?=
 =?utf-8?B?ZzJYVjJvYlBIUDljMEl2ZG1PRXZlcWhyaktEZWE4R2kxV3RlL0lKV2xaaHBs?=
 =?utf-8?B?bEl1QUo4MitEZUQrT3ZJNGQ5QUxSNXpxZ0xyYTE2QzgwMzdrTDlNUEZkczZO?=
 =?utf-8?B?ejN0eXFDZmZ2VWpidTcxL3k1dStQc01NOGZMSXl1THZIUG1rNlVGdlZzTWRw?=
 =?utf-8?B?WFBOZTViK083TWFZUHo3VytCbzBuWWtsWDhzUmtndWZrS0kvWFVpZWh6akRx?=
 =?utf-8?B?OGFtUjQ4MlgvZXhNUkxGcVE3TGQxOHNaR1pYZWhuVmkrS2RPTEI4YnlMRENw?=
 =?utf-8?B?d1Zza3ZUMkJDYVNhNXg3UnA4YWRvVVdKM1ArdHZ2MEFMMWZ4em9QaWplY0dK?=
 =?utf-8?B?cXIrRjliWnRGQ2dPd1JTUlh6ZXoxMDBuNUNTNy93UkVzYldMdU5XWlZ1K21K?=
 =?utf-8?B?TmRSU3lpMkFBbHRvZDBxSWpPbXEvREdobmdGMGdVZmIreEN2L01ySXhZWi8w?=
 =?utf-8?Q?XrMJKJ/1icwQOdVdcKtMRgdlF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f13f2ab8-1749-418c-fd3b-08db9cc642b2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 12:59:14.0684
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vxZkrZ3yPA2zP2Sc6LnI5brKoHJAQKXZ2Wvez87LEJm4qrcQgo9SJgLvAoRjFWSU1hW1P7pfKBfxVx94IJHPbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8761

On 11.08.2023 16:32, Oleksii Kurochko wrote:
> The patch introduces the temporary implementation of do_bug_frame().
> When common code is merged, CONFIG_GENERIC_BUG_FRAME should
> be used instead.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V8:
>   - remove Pointless initializer of id.
>   - make bug_frames[] array constant.
>   - remove cast_to_bug_frame(addr).
>   - rename is_valig_bugaddr to is_valid_bug_insn().
>   - add check that read_instr is used only on xen code
>   - update the commit message.

Looks largely okay to me now, yet still a couple of remarks / suggestions:

> +int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
> +{
> +    const struct bug_frame *start, *end;
> +    const struct bug_frame *bug = NULL;
> +    unsigned int id;
> +    const char *filename, *predicate;
> +    int lineno;
> +
> +    static const struct bug_frame * const bug_frames[] = {
> +        &__start_bug_frames[0],
> +        &__stop_bug_frames_0[0],
> +        &__stop_bug_frames_1[0],
> +        &__stop_bug_frames_2[0],
> +        &__stop_bug_frames_3[0],
> +    };
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )
> +    {
> +        start = bug_frames[id];
> +        end   = bug_frames[id + 1];
> +
> +        while ( start != end )
> +        {
> +            if ( (vaddr_t)bug_loc(start) == pc )
> +            {
> +                bug = start;
> +                goto found;
> +            }
> +
> +            start++;
> +        }
> +    }
> +
> + found:
> +    if ( bug == NULL )
> +        return -ENOENT;
> +
> +    if ( id == BUGFRAME_run_fn )
> +    {
> +        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
> +
> +        fn(regs);
> +
> +        goto end;

I'd like to suggest that you avoid "goto" when at the label there's just
a single, simple statement (like return in the case here).

> +    }
> +
> +    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> +    filename = bug_ptr(bug);
> +    lineno = bug_line(bug);
> +
> +    switch ( id )
> +    {
> +    case BUGFRAME_warn:
> +        printk("Xen WARN at %s:%d\n", filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        goto end;
> +
> +    case BUGFRAME_bug:
> +        printk("Xen BUG at %s:%d\n", filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        printk("change wait_for_interrupt to panic() when common is available\n");
> +        die();

The log message here ...

> +    case BUGFRAME_assert:
> +        /* ASSERT: decode the predicate string pointer. */
> +        predicate = bug_msg(bug);
> +
> +        printk("Assertion %s failed at %s:%d\n", predicate, filename, lineno);
> +
> +        show_execution_state(regs);
> +
> +        printk("change wait_for_interrupt to panic() when common is available\n");
> +        die();

... and here doesn't really fit with the following code. There's no
wait_for_interrupt() in sight.

> +    }
> +
> +    return -EINVAL;
> +
> + end:
> +    return 0;
> +}
> +
> +static bool is_valid_bug_insn(uint32_t insn)
> +{
> +    return insn == BUG_INSN_32 ||
> +           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;
> +}
> +
> +/* There are no guests for now so  the func has to return alwasys false */
> +static inline bool guest_mode(void)
> +{
> +    return false;
> +}

I think this makes little sense to have, and ...

> +/* Should be used only on Xen code */

... just the comment is good enough. First and foremost I don't think
a function with name and purpose of the above can get away without
any parameters. Furthermore, as said before, ...

> +static uint32_t read_instr(unsigned long pc)
> +{
> +    uint16_t instr16 = *(uint16_t *)pc;

... such casting can't be legitimate for guest addresses anyway; you
would need to map guest memory instead. What you might do ...

> +    if ( guest_mode() )
> +    {
> +        printk("%s should be called only on Xen code\n", __func__);
> +        die();
> +    }

... instead of this, as some minimalistic checking, is

    ASSERT(is_kernel_text(pc + 1) || is_kernel_inittext(pc + 1));

> +    if ( GET_INSN_LENGTH(instr16) == 2 )
> +        return instr16;
> +    else
> +        return *(uint32_t *)pc;

and then

    if ( GET_INSN_LENGTH(instr16) == 2 )
        return instr16;

    ASSERT(is_kernel_text(pc + 3) || is_kernel_inittext(pc + 3));

    return *(uint32_t *)pc;

Yet then again asserting in exception handlers is of limited use
only, as then you risk recursive exceptions.

>  void do_trap(struct cpu_user_regs *cpu_regs)
>  {
> +    register_t pc = cpu_regs->sepc;
> +    uint32_t instr = read_instr(pc);
> +
> +    if ( is_valid_bug_insn(instr) )
> +    {
> +        if ( !do_bug_frame(cpu_regs, pc) )

Two if()-s like these typically want folding into one.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 13:07:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 13:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583650.913905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXHi-0006nN-Ca; Mon, 14 Aug 2023 13:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583650.913905; Mon, 14 Aug 2023 13: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 1qVXHi-0006nG-8v; Mon, 14 Aug 2023 13:07:02 +0000
Received: by outflank-mailman (input) for mailman id 583650;
 Mon, 14 Aug 2023 13:07:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVXHg-0006nA-Fi
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:07: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 1qVXHc-0006sl-PL; Mon, 14 Aug 2023 13:06:56 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVXHc-0005mU-JM; Mon, 14 Aug 2023 13:06:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=iudrZDcRTLb8GksDCyxvXM3UamKwZ3PoCeLl6JOvrtk=; b=6zyAQppEbZsoRR3/Y14emESwIM
	VC7G5QdmhhHi/CA148mjqUeimBGHBzGjsNheerqNXF6Coyu5VzHhlC0wN6o2y4tOZA3C+CKorz6yS
	TTCpcKzka0/BSkSfhQGMTh1ffilANow7040wFB1tsPqevP2EmA1PBItiqI/AEQX0oVoc=;
Message-ID: <5dda39e3-14f8-487d-a2df-0bf6734bd192@xen.org>
Date: Mon, 14 Aug 2023 14:06:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.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, xen-devel@lists.xenproject.org, tamas@tklengyel.com,
 aisaila@bitdefender.com, ppircalabu@bitdefender.com
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
 <808999f0142825bebfdbe16a309d529f@bugseng.com>
 <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
 <87c7a0fa02066c65e5e80830d6868014@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <87c7a0fa02066c65e5e80830d6868014@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 14/08/2023 13:53, Nicola Vetrini wrote:
> On 14/08/2023 13:01, Julien Grall wrote:
>> Hi,
>>
>> On 14/08/2023 11:33, Nicola Vetrini wrote:
>>> On 14/08/2023 09:39, Jan Beulich wrote:
>>>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>>>> The missing header included by this patch provides declarations for
>>>>> the functions 
>>>>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>>>>> that are defined in the source file. This also resolves violations
>>>>> of MISRA C:2012 Rule 8.4.
>>>>>
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs 
>>>>> and p2m_vm_event_fill_regs")
>>>>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>>>>> Fixes: 9864841914c2 ("x86/vm_event: add support for 
>>>>> VM_EVENT_REASON_INTERRUPT")
>>>>
>>>> It's hard to see how it can be three commit here. The oldest one is at
>>>> fault, I would say.
>>>
>>> Since the patch is concerned with more than one function then in a 
>>> sense I agree
>>> with you (the headers should have been included in the proper way the 
>>> first time around), but
>>> then more definitions have been added by adc75eba8b15 and 
>>> 9864841914c2, and these should have
>>> triggered a refactoring too. I can leave just 975efd3baa8d in the 
>>> Fixes if the preferred way is to list just the first problematic 
>>> commit (perhaps with a little explanation after --- ).
>>
>> To be honest, I don't exactly see the value of using Fixes tag for
>> those patches. I agree they are technically issues, but they are
>> unlikely going to be backported.
>>
>> So if it were me, I would just drop all the Fixes tags for missing
>> includes unless there is an actual bug associated
>> with them (e.g. a caller was miscalling the function because the
>> prototype was incorrect).
>>
>> Cheers,
> 
> Adding those tags for this kind of situation was requested on the 
> previous discussion [1],
> so in this series I kept the same strategy (though probably here I put 
> too many of them).

I disagree with the suggestion made. They are just noise for this sort 
of patch and require extra digging (I assume you spent 10-15min to 
figure out the multiple fixes) for a limited benefits (I don't expect 
anyone to backport the patches).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 13:10:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 13:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583655.913915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXKe-0007yC-OW; Mon, 14 Aug 2023 13:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583655.913915; Mon, 14 Aug 2023 13:10:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXKe-0007xl-K6; Mon, 14 Aug 2023 13:10:04 +0000
Received: by outflank-mailman (input) for mailman id 583655;
 Mon, 14 Aug 2023 13:10: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVXKd-0007g2-7F
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:10:03 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e077086b-3aa3-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 15:10:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9935.eurprd04.prod.outlook.com (2603:10a6:102:387::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 13:09:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 13:09:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e077086b-3aa3-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dbKQoP7wWMKIcmPcex34DwquSY5pprVW8CWjQjqFBMrTQ8xD6UOX+7JY9y8WjvRaSXHHsMrTP3FWAg5BtRFJ/VMstvvU7cAlDQXW1Hvwd8YAdaIgzGk6q2bL8z79Uso3r2qHI6mlOIFb5h9UvQ1AqeUKAm0n4WS0wFe8DKFc/7jYqKWQtJkqUgd7cDCVD2qwJSdoEVW+5makPc7WTTO9dddqvhZUKRoSLS+5Gpgpw6sJGFB6K5RcPHX89KFd3SkIQNWqe8NJ1oCDx0uN1y+BlvdJAiYG5b7G2Ph7D60NW9iJ4cWOwzoKXc6YIj/nwjzj60AfO0MuVzNDnhHdwF8C9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OhUGqhbsvQurwhVSpHDXzEe2AfP4y+OtWovnAEhmgEs=;
 b=TSBivBJUh7GcVXRP7Draw4ZJkxfKDrZ01Kq0VeFzxayfrcZ6HGy6W1COkz6sFZ6tQgf9cwvC0rrCLu/fFT+C00aIs0b338WmQ5CQty2KyFa7oBN2nY3v7mMf2t3qTorrrzRapemQdIHFfUdeCjLXc5NMs17rgqxEcN67SfqjWayfsS5GjxkOq9cQY2oT7uLxFmwrfC5Y0p7ZBFAMj/kkhMCsIHoKDPhvH/mGF2OGwIfl5m3nqWg08FfPUcCZ/X+VdQrK0BXQlfbUuaJXwu5L2aB/cqK3/xLnwbL5uBBQDR0TUo9qIJxQsQq4hIT/Y7qc11zOsTBKAJVXhtmOCFZ2EQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OhUGqhbsvQurwhVSpHDXzEe2AfP4y+OtWovnAEhmgEs=;
 b=ama5yTMwUqmZaVMwJO4XRwmtnyT1UjrGHG75ykWFIRBX6JJVWiWnkeNhIXHpm86dQPVD4WRzwTlOe4a6TnUy5KlbyEB25uZrjs2obOh/wV1+QNirMs80u+GrxSO8zEcaZ739ltPyoyL7YD+3lOTovgQ+xo3Gng2HaOwthpzhkl0oEpYP+1wR5n3kuFmdo7pUxON0ztIOwvBkON5cxCw/pI09UiJBlqxwHoBjHEU6E0tGfYhkSN99izjFLvtpfZYqLqosuiHz8/ymTBgJ60AZUS6Wmr/yGq0cGNYuUTl9ttUz9QMc5Txxb/0ZWH6eoHcXS/6ZJ9WfqXIcdLNVfpufSg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c59ef4ea-f6a9-fee5-282b-76a4533e04fc@suse.com>
Date: Mon, 14 Aug 2023 15:09:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/3] xen/ppc: Relocate kernel to physical address 0 on
 boot
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
 <6b965917ffb2185c541f04ff18a624282ca6e211.1691620546.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6b965917ffb2185c541f04ff18a624282ca6e211.1691620546.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9935:EE_
X-MS-Office365-Filtering-Correlation-Id: 996b1a7e-38fc-49f3-d82e-08db9cc7c33c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3y2Tsv/NqyTjctDMtff0Nv+nUOF5MZLMyxLiFJ38p4T+qNBLdXuWWjn+5aLtrqqFN2BUUs5Zg/AdhS87FArBIL89Getmivn/ED/mpoEJuZhtB8pLYCQH9EGp8BeaSq8hKGEPsN4UHyDZ3DgSNSz0l8IqJ131ku3YxmmTRjcTD4GtwOuVmWhIMTqEZ1d+nz8KRFS5gYdrDdFNWVDFZEcp2L/TpDWd6SxvG3ClDVzhNb85fe2Q7sIrwjudFtKStq+DkB/IY1J4wl2GY2xS1Un6cVgxMU9UW2Tgxm/6cHo0f9IuA11R1Jc14zSL3kcndhFNA97XX4WCS7sUykyPQALOHBe2xJxc4cMdzDFOI59Zm1ruSQncC12vw9Tw0tQC5YF0sH1ffdriWvR50MjLcV58RDcYkCOH6nBMFNkQV9Ql4rWnaP8wQfEEtjSpnqEEUqQDgE8IkH2mUY2Nkxd/Oz52kB4wncmXXuB5oUSXciYOkfxSBc47fDFnNMedVnk6TVMuY+gOy/epnUipHgBos7CFJpSLPZ//tU1Rx7eoYXZBpx8cOrMw1LXbsnervXKI8pgh71gnxqL27HycSdGu8ZPvTAWNw+F7l9YCjwqDDzlGE4ZDhk0NK8m2xRRdr9VD16UdnTb+GUp8PcDVr+WB9erY3A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(376002)(346002)(39860400002)(136003)(186006)(451199021)(1800799006)(4326008)(8936002)(6512007)(86362001)(478600001)(6506007)(6486002)(316002)(8676002)(66946007)(54906003)(41300700001)(66556008)(66476007)(53546011)(6916009)(5660300002)(26005)(2616005)(31686004)(31696002)(36756003)(83380400001)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHczN0kzV3ViMzhqZE9ZN3FZdjRKaENpZUg5Qm01QWkvRmw5N3RLTDdkeXEv?=
 =?utf-8?B?NHFqNXRSRC9taUllZlA5Uk1TWS9HRUtZL09xZkhnZUZadnhkRmhyMkNvRWRh?=
 =?utf-8?B?d2sveDF0ZU9IZG9qTFRIT3UrcUJ6enYvSjNqL0dsSVVWTnhDZjVvUCtNUnVB?=
 =?utf-8?B?QSs4ZkZ0YzlHMjBqUG9lMG5qUkZrcFRLUUNpRTZiVEpUY1lvMXM0endpbnBC?=
 =?utf-8?B?Z1N5aVNDV2djMnlGT1Vvd3NIak8vVVlSOHBiNE1pWkZNazhuZFQwQVZQdWJ4?=
 =?utf-8?B?eWNOMW5IQnhkblExbmRnMHNiQzRYVUpmVjFLcmxTUmcxU2JMNmQrNDJNd09j?=
 =?utf-8?B?M2RYQkt5akltb1Y1a1VwOThSc2xCSzhHVEpMTlJXQm90cE1aVTg4ZlIyN21E?=
 =?utf-8?B?VGJtWWF4aTEwTkxrWDRLZ00wVHdZTnBKREdRNUJ2b05PRHBMdDJLOFFaSHV6?=
 =?utf-8?B?OXlVd2JGQXpkNTZLT0cxWHozVlRQMEU1VmlEbm94WmlpWXZmNktVK05qV2xp?=
 =?utf-8?B?T1FacExaOGplQ2ZZOFROaWNhZ0RyMHZZOG9EdnVsS1Y4RTlyTk1VRytLT2VY?=
 =?utf-8?B?Z3JLNlFlYzZSY2ExTExTVGtWVDNhYWFZNVNaMWRBWmR5QnFUVi9GZ0hXdHlF?=
 =?utf-8?B?SlJDem5zQVhibVpuRXFVM08yWWhpQ0pSNmoyNDZFbHFpcWZTcFgwK2pDcStV?=
 =?utf-8?B?SGhoZXJONk1wK0l4N3RUdk5GMzQrRkxmcGc4YmRnSHMwTWhXNzlUb2VzMjll?=
 =?utf-8?B?RC9RcHpQb1JGSng1NkxtQW5jazBmbFhjemJ2UktVcHpGTDZIVFJuUlljWW4z?=
 =?utf-8?B?TVA1T2UwQUdqVEtXMzlZSThzVDBUNHMwR29YM2lVR0xHeGdEOGE3YnJEMnUy?=
 =?utf-8?B?T3IwOS9NeXpYNDNadWM4R0RKaFZOWTcrNHZmclJFamZ3MndsRlIxYnhHUTJF?=
 =?utf-8?B?MW16Wk9wR05qOWhyWXgrOGRKMzlyUGdEZHlKdlRObDFMUjRZdFFzNnBHTmNJ?=
 =?utf-8?B?QzE0RXN2SVVrUVpBZ3RtMDdhUGlpa2ZxdUk2MTlqN1MrRlhMUndKVVlRZ1pB?=
 =?utf-8?B?VXlHdUhtMzZkdkc1TmMzNHNWVFpTZ2srMFFDVW91eEFpTW9Jd3FuLzNMb2Ns?=
 =?utf-8?B?czdFZUhCYXhmY1kxTmJLRXZHdkllenkxTTlFaDF0bnZ1UGN0VHoybG9vd25P?=
 =?utf-8?B?QzRqdWRWMGJyNnVlR0M3YU4zaCtuQkQ1dEF2UGsyelQyRnk2NXp0Zk9teHJL?=
 =?utf-8?B?K1A3aUxKNUNpVkxWdzZ6Zk5wMFRodDE3MzlFNmM3cXFncEtNYXFvOXEzbHN1?=
 =?utf-8?B?cDJGYzZBTGg4RlJxNXJoLzlPYkJFblY0RS84QVpsd0RSK201dXMvc01LbDlu?=
 =?utf-8?B?U3A2UXZjTE1WQkd4K0JFSm5GRkt2TVAwcy9VQlJ0SzVxanprSzlzN01HREcx?=
 =?utf-8?B?MnVueFY1aGJTbnZwMDJJS0xNRTMzUHRqTzIwc2tPZjdzQjJvVWR6bzgzd2Rx?=
 =?utf-8?B?T3E3MDZjWG5Jdi9HdThlL0FWdkltQm9jd2xMdkY0UTlQUUFETVZla0tkZ1Jp?=
 =?utf-8?B?ZFNvVEExa0JqaXN0elFjcFo1VnBWZ21rb0thd0txTFRqVmcvZlpJaUtBSm9U?=
 =?utf-8?B?U1pkTjZ3czhpckF3V2VFOEkzTmNlWG8weHFiVVFwMExTclR1QWM4bXhnK1Bw?=
 =?utf-8?B?OFNMMnoxZHN0T21qVURLVXdpNE05UER1c0IrY2dITnozcCtsZ1c1ZXV6WHcv?=
 =?utf-8?B?TnIvWncrMkVDTkkxd3ovT2dRNmlVNjd6YzRZRVpwTUk5UGxxSWFiSGw3Y2hB?=
 =?utf-8?B?bGYxT2doL2pqTy8zWTZzWEFXVHNRcDNObi95MElMK0l6djFtL2U1Si82dnRj?=
 =?utf-8?B?eTQzMkhVSUo3RHdHRi9xQkpMODJtZWgyd0o4TnRDZ29IR0M3KzJFUVlMY1ZT?=
 =?utf-8?B?VFVRQ2U4bW56UHRISHJSME9NRmtCL0xSeGhObmUyT21PMnNLZ3ZKdmJkZ1VV?=
 =?utf-8?B?cDlWckJwK3FTendvNytBRVhacmhQZVEvWDVQT3BzaWg5MWNjNDd6NndveEUz?=
 =?utf-8?B?aDQ5WXlNQjZuYlB3NC9ueFJqcFpPOVFEd1ZidzlydlYzczl5emdHVjdFbHZl?=
 =?utf-8?Q?FLlgYdfGZ9ZllULVAR6t6MwST?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 996b1a7e-38fc-49f3-d82e-08db9cc7c33c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 13:09:59.1912
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZpykPQOt8rinqyNALPsF3yh2AXVRl9hebITN+k3pMkRWAp3aKyuMtwM1WywIB7ziaGHxcZSq3YlpPEVMOd6X/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9935

On 10.08.2023 00:48, Shawn Anastasio wrote:
> --- a/xen/arch/ppc/ppc64/head.S
> +++ b/xen/arch/ppc/ppc64/head.S
> @@ -17,6 +17,33 @@ ENTRY(start)
>      addis   %r2, %r12, .TOC.-1b@ha
>      addi    %r2, %r2, .TOC.-1b@l
> 
> +    /*
> +     * Copy Xen to physical address zero and jump to XEN_VIRT_START
> +     * (0xc000000000000000). This works because the hardware will ignore the top
> +     * four address bits when the MMU is off.
> +     */
> +    LOAD_REG_ADDR(%r1, _start)
> +    LOAD_IMM64(%r12, XEN_VIRT_START)
> +
> +    /* If we're at the correct address, skip copy */
> +    cmpld   %r1, %r12
> +    beq     .L_correct_address
> +
> +    /* Copy bytes until _end */
> +    LOAD_REG_ADDR(%r11, _end)
> +    addi    %r1, %r1, -8
> +    li      %r13, -8
> +.L_copy_xen:
> +    ldu     %r10, 8(%r1)
> +    stdu    %r10, 8(%r13)
> +    cmpld   %r1, %r11
> +    blt     .L_copy_xen
> +
> +    /* Jump to XEN_VIRT_START */
> +    mtctr   %r12
> +    bctr
> +.L_correct_address:

Somewhat related to my earlier remark towards using %sp instead of
%r1: Are you intentionally fiddling with the stack pointer here,
corrupting any earlier stack that the boot loader might have set?
This ...

>      /* set up the initial stack */
>      LOAD_REG_ADDR(%r1, cpu0_boot_stack)
>      li      %r11, 0

... is where you actually switch stacks. Using the stack pointer
here is likely okay, albeit a bit unusual, the more that you have
ample registers available for use.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 13:27:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 13:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583662.913924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXbf-0001Qu-3J; Mon, 14 Aug 2023 13:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583662.913924; Mon, 14 Aug 2023 13: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 1qVXbf-0001Qn-0S; Mon, 14 Aug 2023 13:27:39 +0000
Received: by outflank-mailman (input) for mailman id 583662;
 Mon, 14 Aug 2023 13:27:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVXbe-0001Qh-Dx
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:27:38 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54d3ae6f-3aa6-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 15:27:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8229.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 13:27:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 13:27:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54d3ae6f-3aa6-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W3agTEp6bxOWc47mnw3fkbytKT4l26hgAD/+4Mv6EfwmCQwEpR6U3TGNj3aCNzhfvI76JU+xVtK0yxLddGlIE0nc4KdJCf3Cv2Y8bOsarCCZQwajWBzphhb1ldQ3nFfK2W3Kvh4GTvTxE4O8oziD32xhNRJg/EN2squd8NUywd0LYviwetBdsJXSTOF2/ZIN29aXKxadIIY1DhhIuCIEotAEZd0dCzfgdWxqLiryNcrwsDuaGcSiAj9Rorz2WzlOzZFx/Zs8QBKFba4lSXHkc6N3SHhz7CXI8/xkFyVuoTkawzA/W4y1uj1lMc4+ygat21hldUjdLTNwTrBSgq8+qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h2s1uzlrUOOEKWEJ4o5QDhG6Bt+D4nsxBb/iawqlZfU=;
 b=dN5Ol153MbWDo21hMoihGhxedst2ZwpYztz23P1UwSJR7xyKjiYeU26pTE+kWUwUCqPI/BeW5gvr/qRwpisgOJB2OlHD5bhV0Wtg1zO59LJFGea9qPPGU7fxWTM/eXUaP6nDYUxZ2DCDoFHgGMigcpGIjMPxQPDYkDqVtY3slsMtntj8BxZ4tHaRu5GSmfOH5s8b9yvxHX8vINO6PAntvtBof6sotV0so3r2UkmvZE6LLr5igK0GiD8T4WANOWFg20/H4lbK+YCnoK2nvdeIaYsdNV/+xu8S8Gih1X+6Wf6v7D2DUJFTgO3/iboVg2bDLGhW9fwhCYwmZvqfumDsuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h2s1uzlrUOOEKWEJ4o5QDhG6Bt+D4nsxBb/iawqlZfU=;
 b=H3PEfy22Wep4qXATwJYXh1xJOFy7y6Z1MWR0X2AyJXicSgoN1hBGoRWWOfbofRV26BInGkHOjpA6hiM9eBvHk8nrowwVN8qjSeeqkuxCYgEeDY18QzHxki3j4Jq3OBz1kELJhmElmHyqbYhIuBMzn6/jkKFCZ9FY0924jACs/EuBaPVivuJL6ZXPanEqYWFntqwfyKlyeazoQsAh4MkNQS2lSTwFsOCoNd7R9eyH1ct9oQBNfyaMcANhBMaN+RAVMcJLiipZDbT39EPTK8gSDHjNLDqIgMpW2FdTiGg+lD4YPQ9e9H4zN/dl8eJq/PyHQscq6FBgHe7McuvcYVymxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17a21607-1c41-c073-94bd-6d2cc1eea2b7@suse.com>
Date: Mon, 14 Aug 2023 15:27:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
 <6bacc1ca18273654229672e6ba2741da01a92f04.1691620546.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6bacc1ca18273654229672e6ba2741da01a92f04.1691620546.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8229:EE_
X-MS-Office365-Filtering-Correlation-Id: 25ee3013-e016-4b70-ebe7-08db9cca37b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EbHptyxRuI+EV93FwYg5a7dohBKZkL8OPptMLwK6S5wieuLsaL4TmUXTgbJDylYoXBJNhRdTKz90REgVn+f0DM0APBGkqWOq0voCkbApd/jDqGnXjdh81XtlI4KWx7oaA8tTxRH2hlll2Lf7fOiHOlOKD56U404LVX35P6zRUQ8yauAT50wNaGdy8PsJWBXGyVgGeujRBJ8AuR2Yj53xlY6bq/UWQJLSNb6pE9ZiEj+cVe9ObWIZm1uqJbZPiSGovozbQRJEQe+YW8qbTNbpAopwi7gBCvNzQhAM2a5gYHO371DIfu9YHEQPI7DDz00IyjvYPm+AcRibwASeF3Q1Kyyu3lrE8h8k442ThkAofWqYEFTYzS9rawUcMIYCFBajsbHCMyYCu6LkmUn5jtSjqACk0JwtlHrgvZDXJIgHRNql7KPQ4Ja9hj+DHVoGlFHQJmKfn/SZ+E+rwcAjHfg+zDN7CB8dmZxkNKRJwWHFz0zNq746y2+mv3LbAVRx80E7ubGW0xgvwnpHCDv3Yj3VOj1l6eS9b1L0MagHYbKFryP5YB8NiE93LyUa4ch7dwClQqNOtX+qT/TC+5hRyUVhKo0xM7K3u2WSH491O3BAkaZVm5OIqPP7KmgE9vNDE1GAkSzI2AFaeHOzgFHGg5k4CP6m+mBiZhqI/WK54F8cZKY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(376002)(366004)(39860400002)(1800799006)(186006)(451199021)(53546011)(26005)(6506007)(41300700001)(8936002)(66476007)(66556008)(66946007)(316002)(8676002)(6512007)(31686004)(2616005)(83380400001)(6486002)(478600001)(38100700002)(54906003)(31696002)(36756003)(86362001)(4326008)(6916009)(5660300002)(2906002)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlRWQnZPRTQxQnRKOWltZjdFTTIwbnBLWURCQVkrOTFUb1AveVpYUFVmVHZk?=
 =?utf-8?B?Y1h0a1VRaU15UTAzYWR2dnpOaXVQakVWYm9nZU8yelhnM3dsMnJVNXd1bXJa?=
 =?utf-8?B?dkt2cERPcXpKT0JrY1pKaWhPYXFtV0dpM3hTOG1ZUERIQmJ3TWNKdlVVMjZj?=
 =?utf-8?B?azZpMkFrMFlFcTRkK0I0MjVuQnBMdi9zUjBMM25ydUVWdDVaNFVXd0JHVUZo?=
 =?utf-8?B?Si8wY2ZBdHZCUG40bDNkaDQ4T25DVGxJQkwvRkFDSncrNEZmbm0vRWJSRC95?=
 =?utf-8?B?SkxHMXVrVGRhUENaUUt3ektzV0hsSVY5NVFtT2xoQU5zMm1VQU1ud0UrRHlE?=
 =?utf-8?B?ZkgvUThFL0pBTW9zYURTM2tQV1JRYTY3ZEx4cjNHZUZ4a3U2WlAvdWd3Sjcx?=
 =?utf-8?B?RnRhQTJCQWRMVWJIbmp1VjdoeTA3c1ExQlJESzhrbmFIRWFmejRFZ1RmTkRt?=
 =?utf-8?B?cmFPcXpZaTRpanBsdE9UbkxXNi8zejMzTlB3RVdtZ2NYdFRCNVdabWhtWFpY?=
 =?utf-8?B?R3M4QVRTVHVXOXVVdlRpUDRMbnc3OUxRYzhBWnczQXU0WXg5QWZMTTRyT1ZR?=
 =?utf-8?B?L1dIMmpuc01RTnpPeTk4NzZ6aHJYVUo3bmsrTVZvN0p3TTdQbEtzL1UvRDBu?=
 =?utf-8?B?RWIrZzBXaklBN3MvMkZVb1VaUVFESUk2OVYvdE1XcC81NWhwVisyWUNmOEZ6?=
 =?utf-8?B?VUlBM1hnM2lZRXM5NjZNZkFNa0xwc28vKzBhUjFBc0NUWm96MUpubGc4YlRw?=
 =?utf-8?B?eUZFMXdWY1JKWlFUcjJLS3ljQzhvZkhJdFNSWk9idVVKZUY4eWZmaEdJajVV?=
 =?utf-8?B?K1NuZXZCM3RGRWp2aDZBYTJxNHRJYmhjY0VJdWIrT0JETUVQTzFtOU9RQllv?=
 =?utf-8?B?VHRSN3IrcTNUSHVUcWdzc0hrTTkvam4rdnFWUGZzYnJBbWFYZmZmOHVlbldz?=
 =?utf-8?B?VjM4YjhmQlN6Ti9KMzh1WjJldGwxWXFZcWNFdlNLYjNWRVkrNkoyMVJOR0dY?=
 =?utf-8?B?bFJvTG1WaU5TK2xDS04xNUMwaGJOUkp3YWhWZXBNOHQzVkFuUy9sdkZKbHhy?=
 =?utf-8?B?UWRvcnJNcDNHTTM5eTJvYzZLajNmRm1YbFVRWERoTlljNlVId3o0YWpZZHdu?=
 =?utf-8?B?TFp6LzBkY01xZDVtbUcxQ3FYRUU5T3NrMVloTlVmdkVpTi9rTXdmVzBIRG1W?=
 =?utf-8?B?Z043MmFyc1pYNXI5TVQ1aXV6aVo1cldOWlRFSCtrMjBrSEJFVjUydVhyRlVj?=
 =?utf-8?B?aHd6RmsyV0xvbDJuR3dSTkxmU2ZLS0ErRE8rdHFZb2tab3BvY0E4REhIdS93?=
 =?utf-8?B?RndVdFhNNU1QcDNJVmphOW9nQ292RVlpaVVaZmo3RVdIWWNpd3pTclc3Z295?=
 =?utf-8?B?R2F1a3J2YnV5dkJkMHBPcXQ0dFRhV0xKeFAwbVM5akFlRndxK093NkU4cVJv?=
 =?utf-8?B?aWpIcHVVS0JKR0g3U29EOXFFOS9zSlpXRUduNmdFZXFJcEltUkxmdTB1eVpM?=
 =?utf-8?B?SzluR1h6Sk5rK3p6OXF2QkZxZ1NsZk4yYmp3QUlJVEljcWFKbGdoMnZwL045?=
 =?utf-8?B?UGVERC92SlMvbEFFc0UxNzdUZ2VNNHNtZ1RIMzhvRTUza1Z2dys1ZFljLzBV?=
 =?utf-8?B?OUxPZkR4YlJEMDlDZ0p6QW1BcXRmMGU4MzJiSFBBRktLSDkycFB4ZTlpR29V?=
 =?utf-8?B?ZGxmeFFZV3E3Yzc4UFQ5cmN5TVZjdmNVNmM2QnBjdWhGNkFEM2Z2eW1TdnZv?=
 =?utf-8?B?c3ZkU1NtRFZsRUNiWVh3VzJtUDN5UnVacml3NzZDR3k3R1R1RWhXSVZhMUdX?=
 =?utf-8?B?TDhiTS9tTmt1WEprczR6UEg3aDY1bzZ1YTk2ZDFXa0lROWhrSWZ2cjhZQkMw?=
 =?utf-8?B?cFB6UXNVc0U4V0xBUXNXUVhFNVFxMTlENU1qVnhRVm03dmNWMUFUR2JxeWVO?=
 =?utf-8?B?YnNFd1lSZmxrSnBZbDhod202eTRtWjVxRjdjb1ovVitFN1E0SkJiYVZTRndU?=
 =?utf-8?B?bzZiYnkrbW4rSEVxa3VUS2ZlWkw0TkVJUG5xcmF6NEcwdE8xaGFsOTU3R1lm?=
 =?utf-8?B?OGRhdEYxb2VtR21qb0FMVkJJUjl3UVZleG5uTkZGUXN5VVoxQnRyLzljRUY1?=
 =?utf-8?Q?Yn7yumTxQ8kWDN6xXobFjNUxd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25ee3013-e016-4b70-ebe7-08db9cca37b5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 13:27:33.6073
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G5Q1UjOMJTbBJFe3uC8N8B6ZEXAdxHhv5R3VwasAXtEE/kCP8aXI341xV8jaYUqqIaHQbh74Uj7c5nZWiGF0iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8229

On 10.08.2023 00:48, Shawn Anastasio wrote:
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/page.h
> @@ -0,0 +1,181 @@
> +#ifndef _ASM_PPC_PAGE_H
> +#define _ASM_PPC_PAGE_H
> +
> +#include <xen/types.h>
> +
> +#include <asm/bitops.h>
> +#include <asm/byteorder.h>
> +
> +#define PDE_VALID     PPC_BIT(0)
> +#define PDE_NLB_MASK  0xfffffffffffffUL
> +#define PDE_NLB_SHIFT 5UL
> +#define PDE_NLS_MASK  0x1f
> +
> +#define PTE_VALID     PPC_BIT(0)
> +#define PTE_LEAF      PPC_BIT(1)
> +#define PTE_REFERENCE PPC_BIT(55)
> +#define PTE_CHANGE    PPC_BIT(56)
> +
> +/* PTE Attributes */
> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
> +
> +/* PTE Encoded Access Authority*/
> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
> +#define PTE_EAA_READ       PPC_BIT(61)
> +#define PTE_EAA_WRITE      PPC_BIT(62)
> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
> +
> +/* Field shifts/masks */
> +#define PTE_RPN_MASK  0x1fffffffffffUL
> +#define PTE_RPN_SHIFT 12UL

I still don't understand why you need two constants here. Even more so that
now all their uses are as (PTE_RPN_MASK << PTE_RPN_SHIFT). With (only)

#define PTE_RPN_MASK  0x1fffffffffff000UL

instead, as indicated before, you would then (should the need arise) have
this usable with MASK_EXTR() / MASK_INSR(). The again you likely know much
better than me what further uses are going to appear.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/regs.h
> @@ -0,0 +1,138 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

There's still an SPDX header and a full license here.

> --- /dev/null
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -0,0 +1,265 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <xen/types.h>
> +#include <xen/lib.h>
> +
> +#include <asm/bitops.h>
> +#include <asm/byteorder.h>
> +#include <asm/early_printk.h>
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +#include <asm/processor.h>
> +#include <asm/regs.h>
> +#include <asm/msr.h>
> +
> +void enable_mmu(void);
> +
> +#define INITIAL_LVL1_PD_COUNT      1
> +#define INITIAL_LVL2_LVL3_PD_COUNT 2
> +#define INITIAL_LVL4_PT_COUNT      256
> +
> +static size_t initial_lvl1_pd_pool_used;
> +static struct lvl1_pd initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
> +
> +static size_t initial_lvl2_lvl3_pd_pool_used;
> +static struct lvl2_pd initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
> +
> +static size_t initial_lvl4_pt_pool_used;
> +static struct lvl4_pt initial_lvl4_pt_pool[INITIAL_LVL4_PT_COUNT];

The initial_lvl..._pool_used variables can likely all be __initdata?

> +static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
> +                                         vaddr_t map_start,
> +                                         vaddr_t map_end,
> +                                         paddr_t phys_base)
> +{
> +    uint64_t page_addr;
> +
> +    if ( map_start & ~PAGE_MASK )
> +    {
> +        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\n");
> +        die();
> +    }
> +
> +    if ( phys_base & ~PAGE_MASK )
> +    {
> +        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n");
> +        die();
> +    }
> +
> +    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 = (struct lvl2_pd *)__va(pde_to_paddr(*pde));

I don't think the cast here (and similar ones below) is needed.

> +static void __init setup_partition_table(struct lvl1_pd *root)
> +{
> +    unsigned long ptcr;
> +
> +    /* Configure entry for LPID 0 to enable Radix and point to root PD */
> +    uint64_t patb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1 |
> +                     PATB0_HR;
> +    uint64_t patb1 = __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB1_GR;
> +    initial_patb[0].patb0 = cpu_to_be64(patb0);
> +    initial_patb[0].patb1 = cpu_to_be64(patb1);

Nit: Blank line please between declaration(s) and statement(s).

> +    ptcr = __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
> +    mtspr(SPRN_PTCR, ptcr);
> +}
> +
> +static void __init setup_process_table(struct lvl1_pd *root)
> +{
> +    /* Configure entry for PID 0 to point to root PD */
> +    uint64_t prtb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1;
> +    initial_prtb[0].prtb0 = cpu_to_be64(prtb0);

Same here then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 13:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 13:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583669.913934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXf0-0002vO-KE; Mon, 14 Aug 2023 13:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583669.913934; Mon, 14 Aug 2023 13:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXf0-0002vH-Hi; Mon, 14 Aug 2023 13:31:06 +0000
Received: by outflank-mailman (input) for mailman id 583669;
 Mon, 14 Aug 2023 13:31:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVXez-0002vB-TI
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:31:05 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe02::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d155fdc9-3aa6-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 15:31:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8229.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 13:31:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 13:31:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d155fdc9-3aa6-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Spvu4NxQ7BlvFNyNIcdSjVqrtOg0Mq4UZ+h9rkcoGxoDOvNjrBaUNfWFO4sjuO8MzPDwOnM1qvnImh12lypXhUZnOydmAPsK4ykkz5ZBBUwxSdR3EVxdNiZSKcm5rn2vT4ZFn/SVyp2E3L+hg0QMoILzOdrubIaUz9WnUhcxhACO4m6ZZlgbU7pHHcUfpejpy5iQO1fV2WdWzd+lqByuRjZGYgtGMAOqscNf4NfYkGP7ts/ZIvnhRxfXFCKcpNoDdE/8alsufWRB3lSyOyXD3qYYUethzKuDDUdrwtLPHbc4d2aOtNe5NrgYLLYsHRTfxCfAp8UTnOtuuQrYkikoRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s4N21x2PYQBwplhFwLAZMxdH8I8szlzyEDAroh9bO8M=;
 b=I0zeIp+3YD51ZolndJDXK3j2PgizkSkLjpJisDXVpPd0bRAJXCJsRtyKo2Ttoxl/vXDoYGQWbTzdzHoXZpdNNxusJOvoy98EItUN4WSbuLHF0ma+GaxuaSciwZlqGhvFu8YqPBjKIafRPQKWmVGDua9mYoaeg7TmUuqsNSToF3yPKC6BYTCf0HoDD7CwWxDyRD+8o6vhMH/D+WQFebkyYpYVe762w/dDjAvrJMzsXh2UIILRiqyy1dfXghVYv7dwClKSZDw08f/ZLiuHWR+pgaClhm56+6xZMTFeA4RXIXB0jJv2N89w8vDvoXD8tvDyWcQdZ7B5EZQtwUFtoKe/IA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s4N21x2PYQBwplhFwLAZMxdH8I8szlzyEDAroh9bO8M=;
 b=MAQ93MBjmXA4vTQNtkz7TR3+9GiaoCoTDA7Y+Uguq5IY6KJtwxynjNk5c5x7VCZaMiNGCE6JaINqZ9uFeGj3b9bBctHJbvpIA8AMxk/FixIit0j+5lyqQuilgdThM2dMAjRSeQQeYPxzetwxhW7BDd7bWbFGS6dcR71kn0bTyH/z4ZQ8+/vJrtjILsJ42j8pqEmPaS8Htb1agc6oUhIvn/MnULaKUCm1NORkRjn9T/ShoUyHeLWzXv5RQTFXFeda3tv01NzmY8xH6ycyVmwC49FucnU6VRNiVkpzrDS6oAU9uU2MYn6054C679cXF3z4oxoIDiQwMG3X2kaMjHgTcQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ae77fda-379a-09ef-0aa5-83568b9eff6f@suse.com>
Date: Mon, 14 Aug 2023 15:31:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org, tamas@tklengyel.com,
 aisaila@bitdefender.com, ppircalabu@bitdefender.com,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
 <808999f0142825bebfdbe16a309d529f@bugseng.com>
 <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
 <87c7a0fa02066c65e5e80830d6868014@bugseng.com>
 <5dda39e3-14f8-487d-a2df-0bf6734bd192@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5dda39e3-14f8-487d-a2df-0bf6734bd192@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8229:EE_
X-MS-Office365-Filtering-Correlation-Id: 05d20dc9-c2fb-49be-8742-08db9ccab46b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	by8e+rLTNbd1jKPoAI6H+b8VVx4PNyA1fqqGzN6TcqRRQokieVIyNn1m3sJwzwrBXV4mekUEPQnvX960w+iSLhGuJydEzrnYkyvbwxpa9v5N4maEDi0ynSaDGIm0e/k6/nGa7zINnaTs+kfAWCrgutm1oR06eKSxxGJyYy6/SFHtlRYOP9dPRN6ltqbzIaKReYBysbSWq8Xr7LRHyDJ6sjtW0BsHGBD/SMudc3dPlgyHFkoxDm/1MeXGsQg3zAUSKuDcLTUzBBUgGllrFx+X+RTkQlTBZwSSU3y5QHNJq0uGIDvWi8TIJAZnd1YxzLmzx2k7RNcqTWio3ZZtoz8Fpv3PEaXFYvYgCQdiXMsz6rrNqAYVBVjOWE/FzK52+WoXYWnIK+4yoRUkcuV5RJl2ri/GxSJ76zWdnjrD2aF30iH/kT3MPChdlTIGeRwJekqP4rTvE038fOyfDTRRiOPLmnEUtJpCPhiZrYSpB6yTEwZL8m2azUJ0BVjHBvfSMz9X3FTDwGVtUiAvpbHTqmAHDRAv0wiILoL6EMgIG1YoVIU1eDjsXwYWyvJeXsx/kTGSF5rl9AoF9ZnHRwcYcZz6xy31DIakZ0JdFNdZ44BeE/WrpGTKd+YMl0JaFYkRbrLtWFCe8oFgopRZQ67pT3mnIA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(376002)(366004)(39860400002)(1800799006)(186006)(451199021)(53546011)(26005)(6506007)(41300700001)(8936002)(66476007)(66556008)(66946007)(316002)(8676002)(6512007)(31686004)(2616005)(83380400001)(6486002)(478600001)(38100700002)(31696002)(36756003)(86362001)(4326008)(6916009)(5660300002)(2906002)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTZKbmxqVDJBWkNiaFpQRGpsTnEwV0xOYTZNTzZ0dlZJeDdsQXFocUlHMmRR?=
 =?utf-8?B?cG1tOXpvMHlmQ3ZHZExaa0IwUjkzRGJvdjhjdmJ0RXYvNlduWXBNMndaWHNW?=
 =?utf-8?B?WlZ2RE9iS3Q0aXpaekNHOWhwcHI2akVyQXFsc3U2UWk0bEp5L05YYld0NlYw?=
 =?utf-8?B?ejRIdWI3TmNJQzdVNkszQ1V5eWtqcHNmNzNEQ0dhdzh6R2ovUTkwdklkTVFP?=
 =?utf-8?B?cTV0SFZDaEdpSVowdW9zYnZuVWwvblhlbnZPVWxuVDJkc0FhOTd2N3RDT0dP?=
 =?utf-8?B?Ymt0TDVOV1hSbTZYeWYrSE4vQ1BCdEJEVkkzazVmbjhKVUNMOUxIbDNXMWM0?=
 =?utf-8?B?Vlhic2Z0b0lHSWMyamdNdm84RjdXUnU5RU5aaEFxU0ZsMXhjK1pveDVzRDZL?=
 =?utf-8?B?WmF0SGN5RTV1aUVLK3dDeElURDVEclNXQ1hsS3dWYjN5cHlLQjhlWGxRYW9P?=
 =?utf-8?B?WEhiR0JDWk9COGNGeVlPYTZMdmhyVzl5SkI3OGZJMkwrR2ZQT1B5by9kWHdo?=
 =?utf-8?B?WTZlMzlXWWUvMEZqMkRnQ1RQd3F2ZEU3UTBDUHNSQ2FZcU1KcDA4OEd0bXI1?=
 =?utf-8?B?Z2ZoTnpvOE92Q0IxWGluWSthM2FHL0VuTnN3YTBIa2RQRkNIQnVKNlVGQkhF?=
 =?utf-8?B?UW9SNDBTMVZ5aDc4RWhXV0ZXL0kyM3hxNWJuL1U5QW0vWnFZMkJlU0hmYmFs?=
 =?utf-8?B?c1JpbG9pSnZTZDhnMEI0Y1BteDlodDJtTmxxRFl0NEZxcldxUUFudll6NVVl?=
 =?utf-8?B?ZktuZjdnMUR6WlRsWFNWZUJQdDFaeFdPcVJxb0FOVzVqSXdtbk9YOFF5SVdE?=
 =?utf-8?B?V01hSUdubHA1VVFZM0hVQ3RrN09KSHZOZmtlWkdUN0ZRc1VtR0Q2NUlPN3lB?=
 =?utf-8?B?L09GeGNCL281M0xvOWFmZXlGWU1vS3FiVkhveUVWbVh5OXh3STM5TDJ6WmVK?=
 =?utf-8?B?R29VSDRiZGZGelFtd2xJam9uV0ZOc204Y2oxRGZ2NUdQZkRvUUdPZVhNWkEv?=
 =?utf-8?B?aHBScGRZTngvbnM0MzM1NXY0YWhmSzlQVG01RzRPK0w1Vk5jR0VtZkZDcmdK?=
 =?utf-8?B?SzBBWHFJVFAxQk42RFY5Y1dHWTlLb0x5c01udHpZVTlYK2JJdThzRi9haEdT?=
 =?utf-8?B?Zk8zSE15QlFURjVJUGtSNTRyVXMya283TnpMWkNEQTFGaXR5aFlBY0RleEs0?=
 =?utf-8?B?Z1U5RHlaeXdleXYrRlVEaEw2Q3BTK2dMYnNTeGdHQ3N3NzRzbVd4dUM0OVNo?=
 =?utf-8?B?d01TTmRya1ZIWU1iWWhvVnhBc002dnF5Slo3Z1BuVEozbmFyUjB1aHNHNW16?=
 =?utf-8?B?UGFGZUJSK2x0VHpEeDN6eUtFWUIwMGtqSkVRbm8xbDh3TEp0dEpmL2N4Wi9m?=
 =?utf-8?B?cEJLdzMzd0gxYWFGVHRZSU5VOUV0ZjVmVy85UnJ0a1gwVHphQVpGQWgyRnVn?=
 =?utf-8?B?YWE5Ri8wZzVKQ2JmNWFLVGNPeTFIdnBHaTlQREtnL0Mrdm91akkvM0RhUy9z?=
 =?utf-8?B?Qk9zOVdDbms5dkZtU1VUUXdOVVV2ZWdGb25HeWVZM1dja0I2RDlVM1ZNVFJZ?=
 =?utf-8?B?bWd1RGFVRUtEb0ErL3J5Qzg1TnJNS3JKMDR2alNlT2xnZzN1K0JxV3ZMVWg4?=
 =?utf-8?B?M0xqSVFkM1drSzExa0pQNWxpVE8yeStEa281OHlMckdtdnlqQzh6bzZuOGg4?=
 =?utf-8?B?Z000WVdPM2t6RzF1LzVxaUczeGR5WXJ4WC9zT05GTE5XTXRlRUh4MFgvU0dK?=
 =?utf-8?B?WktBOGRMUlBSOUdQdnZlL1ppcWJUVitiVzlQSmpiWmdBdVVkQXJGMG9IbFlK?=
 =?utf-8?B?eG9tU0ViekgyNDQ4bFFyNlM2THNlM0ptRHRlcWJjVjJFRGlpS0VIZEhxY05V?=
 =?utf-8?B?clBUaDNYMmM3OHhEWVFOR1dOSDlGcFh5Nklsd0FtUFZwYURad1hHMkhDMzcw?=
 =?utf-8?B?bjlxUWxHSGlxTWtqa0tMbWN6dC9LWE0xL2RsNSthMXppdVBpQm53N1ZjMGJh?=
 =?utf-8?B?L1NLZ2NXZXkwQUN6RzBPL1I4cDBqMWppTnNaaDFwdUx2cVVQOUJoZ0N4Ym9m?=
 =?utf-8?B?ajVPbytHSysyL1k1ZW5ZcHBpdTBiVm1LOVBRZjJmOHNySlNYQk9XSTRZcnRC?=
 =?utf-8?Q?TU9KekqvTdqGj8+6LPRbdOpOy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05d20dc9-c2fb-49be-8742-08db9ccab46b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 13:31:02.8221
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8u20yvgIisNUbo611aebFMbaJez1xhSQ7QAwQbizQHO9olVBeoBJiw/An0qgiRxvpZj9B4uZkzxPWVXLDxRkDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8229

On 14.08.2023 15:06, Julien Grall wrote:
> Hi Nicola,
> 
> On 14/08/2023 13:53, Nicola Vetrini wrote:
>> On 14/08/2023 13:01, Julien Grall wrote:
>>> Hi,
>>>
>>> On 14/08/2023 11:33, Nicola Vetrini wrote:
>>>> On 14/08/2023 09:39, Jan Beulich wrote:
>>>>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>>>>> The missing header included by this patch provides declarations for
>>>>>> the functions 
>>>>>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>>>>>> that are defined in the source file. This also resolves violations
>>>>>> of MISRA C:2012 Rule 8.4.
>>>>>>
>>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs 
>>>>>> and p2m_vm_event_fill_regs")
>>>>>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>>>>>> Fixes: 9864841914c2 ("x86/vm_event: add support for 
>>>>>> VM_EVENT_REASON_INTERRUPT")
>>>>>
>>>>> It's hard to see how it can be three commit here. The oldest one is at
>>>>> fault, I would say.
>>>>
>>>> Since the patch is concerned with more than one function then in a 
>>>> sense I agree
>>>> with you (the headers should have been included in the proper way the 
>>>> first time around), but
>>>> then more definitions have been added by adc75eba8b15 and 
>>>> 9864841914c2, and these should have
>>>> triggered a refactoring too. I can leave just 975efd3baa8d in the 
>>>> Fixes if the preferred way is to list just the first problematic 
>>>> commit (perhaps with a little explanation after --- ).
>>>
>>> To be honest, I don't exactly see the value of using Fixes tag for
>>> those patches. I agree they are technically issues, but they are
>>> unlikely going to be backported.
>>>
>>> So if it were me, I would just drop all the Fixes tags for missing
>>> includes unless there is an actual bug associated
>>> with them (e.g. a caller was miscalling the function because the
>>> prototype was incorrect).
>>>
>>> Cheers,
>>
>> Adding those tags for this kind of situation was requested on the 
>> previous discussion [1],
>> so in this series I kept the same strategy (though probably here I put 
>> too many of them).
> 
> I disagree with the suggestion made. They are just noise for this sort 
> of patch and require extra digging (I assume you spent 10-15min to 
> figure out the multiple fixes) for a limited benefits (I don't expect 
> anyone to backport the patches).

While I agree that Fixes: is primarily for marking of backporting
candidates, I don't think this is its exclusive purpose. As far as I'm
concerned, it also aids review in the specific cases here (this isn't
a commonly occurring aspect, though, I agree). Yet the primary reason
I asked for them to be added is because each of the omissions is an
at least latent bug.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 13:47:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 13:47:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583675.913944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVXuw-0004Wn-US; Mon, 14 Aug 2023 13:47:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583675.913944; Mon, 14 Aug 2023 13: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 1qVXuw-0004Wg-Rs; Mon, 14 Aug 2023 13:47:34 +0000
Received: by outflank-mailman (input) for mailman id 583675;
 Mon, 14 Aug 2023 13:47:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVXuv-0004WX-5u
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:47:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVXus-0007sD-64; Mon, 14 Aug 2023 13:47:30 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVXur-0007XP-VO; Mon, 14 Aug 2023 13:47:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=zjdb59kUcV36lCaLzJvsjPdpRcwFKCMLakxSOQb8Y4A=; b=OJkjI8n0pFRDOLpMvfGbQj2nlo
	DxoAhKQruNnNmQ5ZKAMmnfAnoaSk8uBQw1cYYjoTKzQS2/2lUqxFq2TCZg1Vn6WRbkbYsf2txaW1K
	/Q/1aZJF3muI2yuOaxqsg8CFg3u34fqyI8JyJSVFirG6PIUbOQ3CoyffSEoMMxkuj1io=;
Message-ID: <29adc671-0706-46f6-9949-2107ef41257b@xen.org>
Date: Mon, 14 Aug 2023 14:47:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/6] x86/vm_event: add missing include
Content-Language: en-GB
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,
 xen-devel@lists.xenproject.org, tamas@tklengyel.com,
 aisaila@bitdefender.com, ppircalabu@bitdefender.com,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1691676251.git.nicola.vetrini@bugseng.com>
 <f303a1782aeb67186c3181e01a51153fdce70cfb.1691676251.git.nicola.vetrini@bugseng.com>
 <30d1ef98-d847-b0ca-6771-4bc0abcdb214@suse.com>
 <808999f0142825bebfdbe16a309d529f@bugseng.com>
 <935367a1-7fc1-4df6-901a-e25e983aeed6@xen.org>
 <87c7a0fa02066c65e5e80830d6868014@bugseng.com>
 <5dda39e3-14f8-487d-a2df-0bf6734bd192@xen.org>
 <0ae77fda-379a-09ef-0aa5-83568b9eff6f@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0ae77fda-379a-09ef-0aa5-83568b9eff6f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 14/08/2023 14:31, Jan Beulich wrote:
> On 14.08.2023 15:06, Julien Grall wrote:
>> Hi Nicola,
>>
>> On 14/08/2023 13:53, Nicola Vetrini wrote:
>>> On 14/08/2023 13:01, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 14/08/2023 11:33, Nicola Vetrini wrote:
>>>>> On 14/08/2023 09:39, Jan Beulich wrote:
>>>>>> On 11.08.2023 09:19, Nicola Vetrini wrote:
>>>>>>> The missing header included by this patch provides declarations for
>>>>>>> the functions
>>>>>>> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
>>>>>>> that are defined in the source file. This also resolves violations
>>>>>>> of MISRA C:2012 Rule 8.4.
>>>>>>>
>>>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>>>> Fixes: adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs
>>>>>>> and p2m_vm_event_fill_regs")
>>>>>>> Fixes: 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
>>>>>>> Fixes: 9864841914c2 ("x86/vm_event: add support for
>>>>>>> VM_EVENT_REASON_INTERRUPT")
>>>>>>
>>>>>> It's hard to see how it can be three commit here. The oldest one is at
>>>>>> fault, I would say.
>>>>>
>>>>> Since the patch is concerned with more than one function then in a
>>>>> sense I agree
>>>>> with you (the headers should have been included in the proper way the
>>>>> first time around), but
>>>>> then more definitions have been added by adc75eba8b15 and
>>>>> 9864841914c2, and these should have
>>>>> triggered a refactoring too. I can leave just 975efd3baa8d in the
>>>>> Fixes if the preferred way is to list just the first problematic
>>>>> commit (perhaps with a little explanation after --- ).
>>>>
>>>> To be honest, I don't exactly see the value of using Fixes tag for
>>>> those patches. I agree they are technically issues, but they are
>>>> unlikely going to be backported.
>>>>
>>>> So if it were me, I would just drop all the Fixes tags for missing
>>>> includes unless there is an actual bug associated
>>>> with them (e.g. a caller was miscalling the function because the
>>>> prototype was incorrect).
>>>>
>>>> Cheers,
>>>
>>> Adding those tags for this kind of situation was requested on the
>>> previous discussion [1],
>>> so in this series I kept the same strategy (though probably here I put
>>> too many of them).
>>
>> I disagree with the suggestion made. They are just noise for this sort
>> of patch and require extra digging (I assume you spent 10-15min to
>> figure out the multiple fixes) for a limited benefits (I don't expect
>> anyone to backport the patches).
> 
> While I agree that Fixes: is primarily for marking of backporting
> candidates, I don't think this is its exclusive purpose. As far as I'm
> concerned, it also aids review in the specific cases here (this isn't
> a commonly occurring aspect, though, I agree). Yet the primary reason
> I asked for them to be added is because each of the omissions is an
> at least latent bug.

I agree they are latent bugs. But the question is whether the time 
looking up the histoy is well spent?

In this situation, we have a lot of of similar patches where we need to 
add Fixes. So there is quite a bit of time sinked into finding the 
original commit message. Is it valuable? I don't believe so.

A least for Arm, I would not require the tag to be added for any missing 
prototypes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 14:00:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 14:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583681.913954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVY6r-00064S-13; Mon, 14 Aug 2023 13:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583681.913954; Mon, 14 Aug 2023 13: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 1qVY6q-00064K-UP; Mon, 14 Aug 2023 13:59:52 +0000
Received: by outflank-mailman (input) for mailman id 583681;
 Mon, 14 Aug 2023 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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVY6p-00062w-CS
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 13:59:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d55ec303-3aaa-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 15:59:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7136.eurprd04.prod.outlook.com (2603:10a6:800:122::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 13:59:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 13:59: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: d55ec303-3aaa-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CTAo2mVr2SM7rQfB7CcNUqSMD9HDPVOst6y85GYhx91Y5aZDX31jmuJFbnwzkvgySskQR8/Lu2Bjfhck1j13nwcrLUlOE6OJZ+mr9xoh1p7hQUOq0WlsLN6CXT+kLxjT54FiREzAmDLvmfWGWgL+cv7LFIi6CiojQ2aJIx2XSr0Hjbq3KSOpm/MjEFVNYY+wDZPb3aCGgGAOzqggwiY/Gd39KkM9zNu6oTLop0twufTqSvz9Sc8E+zIMd2ZCDO1Jg5CVW8ToVg2L6d0SAIqEJSLiinojmKciy/Fw4/2i8C9cVPHREsajM5Fzu+jy0g2MCGRAlNPMM6IqZUCYI3Uflg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q2arC9uBf7LBsN05ErzvbRb1QlLiqzJWuznii/OFnPs=;
 b=EF6O8huGjl1PUFbVJLxkOUH7o+E3yErpNhM0FnuTlReFBa4svF3tOxif+rMiDj3yhtk3TuL0BDE2iv9Fo8AdHmR86U5u7toa9euC/sZ8hWOxonk9qLPefavGTnm2x5E2KYk54nrFpeKBptm/AZajRlx9kT1tSZt9GFr2Ko9meabFeR1kv+EdH8cCGSBOOm8FR8kRDPZrCUC/DZHm/05gj1NKF2wPJMECa975WMWsLyVZ/MyWE2hZvzuaH1kTzjAz4XP8OZtkVnbHdwA4msZ73TpbTdPSTIeg9vTJQVITkpFqihuLmiOuStqu0saXb3h/wSDjQqvnNY1GjNNjM3vkJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q2arC9uBf7LBsN05ErzvbRb1QlLiqzJWuznii/OFnPs=;
 b=sBJefi18IHu0VaSKEjZJlpv4NzcHkcaerKg0EKVp55GEagW4BAQhXrzL5cESQsfg8ZuQJnsBkXHYQ+wF11vFIC8oBK1rGseXhJOufhaQgoiwqAMQDrAeMR6KaC6B3TjIRpBFb9p1H3o397cCxIqJkbH9cwXoNbr5+HIJTnBnP5q2agBavCl1axhg2cveIVUqK7WC7bWHLkm6MqtWI0YJ9ot6DD44vrDRFuyZEAFFO/jcWKaQseb4PLyLKdM5G8rIX4LjY6YAiqxjTUzsUAFiQq/+T6rrprGLUebjKgKnowQuhftmyr4Psck5ZtgHibyovW9ZmFxApQ3FQPDqkwsgXg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <98616195-71ef-23ce-e6ed-0dfb6e10020c@suse.com>
Date: Mon, 14 Aug 2023 15:59:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 0/3] vPCI capabilities filtering
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230810191312.644235-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0269.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7136:EE_
X-MS-Office365-Filtering-Correlation-Id: 03f938e4-7df4-450b-ece8-08db9cceb79c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V5YVmdejjRoS03lkN9b1gYllj6roGnA8nEgEbGF+2uiT9q2VxoiNKBFr+OLuBJCrP1q844oqWPNy3LKESDaA+V6rRHyDr8R9mRyvVy7brL+VTG+AcnoraTvEx/Vw0gGOMcZnWh9TXPSsF5EZwtY461gIznT46yE7mfwqpU+nI4Dylm7psg0nkUImrApDDioLJXR3QJr4bxwKsSrOfP/c+VGHpdEGXYZCy92g6lC06lQtpvEEPfK1MeeHX6u+/CcEZTdJTSkXr4j+FzX3rettlVNMe3CqNxbIiYdEpw5VSu9WzUB/yx6Q4Tfr71wLYBMGtsEKNAEiMl5DlARxOwphe7+ibFnIeZNN+aqySkL97UD70CHt9zyvMOUQij2kQ7rhCmRBRb51t8qGwwjaJKHO/xMhxaOKTiADk+bAV1fWi3mhBX3djqxnuDQgw+Y0rBNpqFUEn+1caCABY7mEwRFPGgO+0w4ho1afoK525TVT/OIErbIjPw61O/jHZw3+Dm7o6CCBV5AbdTOvfczEc1KpGCP7HN6+YEt+S7M9UEudcZufsNi0e+3ktQtsv3fnEiaiJ3LT2froxsAwBHUVYL5wPuDrKdzIjHPue6sJrPCwX1ftsW/zahwGs45AW3f/nHakdS8YddPAxDrBVcowOCoqtw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(136003)(39860400002)(376002)(366004)(451199021)(186006)(1800799006)(66899021)(31686004)(6486002)(966005)(6506007)(478600001)(83380400001)(36756003)(86362001)(31696002)(2906002)(6512007)(26005)(66946007)(53546011)(2616005)(38100700002)(4326008)(316002)(8676002)(66476007)(66556008)(5660300002)(41300700001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWordG4xeUd2ZVpOamJaeS93L1I0aGUvclpOUi85MzhUZUROcVZ3KzBzcFNH?=
 =?utf-8?B?eHhQb2laWEJLL2ljTVpETHNERjRjOEc1aVFXc1p2VUdUdDlpU1pCSmtLcUdw?=
 =?utf-8?B?Z1lrRXVJbkluYituN1Y0SVhXM3J5S25EUWFKd2NSRWVxQS9aS1A0RmNHUTZn?=
 =?utf-8?B?emhpblVFV2lxSk5sRXVjaUFockR0bS9sYkE5a1ZqTjd4VGViRFBIdWs3RUtx?=
 =?utf-8?B?TzJVeDhZZ0dvODNPL3BRRjRJanJ5Tm1ZOTVJbzhKQTd5ekpPK2wvT0dMLzJJ?=
 =?utf-8?B?QVJLeWQzQ3I5dElpRURmZ1JoWUFYdzlIUXJpVFdObjU3U0hHZWZ5Z2xONEM2?=
 =?utf-8?B?M0pqc3ZjcjIwQzZQcE9vMWdNTVdZN2VHcWo2ME1EVE1nNWhsWUQvWm5FRS9V?=
 =?utf-8?B?b0ttTEJPS3h3QmIzblp2UkJmYjZ4MWxpeDJhVDVDbW5VK3RUeTlVMXErN1gx?=
 =?utf-8?B?bHMzdGtWZDAvdkg0cXNNY1htVE5SZnNYRzRzSXRMRTZrVklqdG9hZDZFeWVx?=
 =?utf-8?B?cEl4M2ZnNzVMR1NQU2p1bms4OTNZUU90UFRMcWJvZE1DSzNrS2MvWW51dFlC?=
 =?utf-8?B?SGNvZGRONDlVVTBaSzJBS3NValI0WXg5K1lVRXVNemRpY3U4T20rYjExdmdl?=
 =?utf-8?B?a2VsUXovM3hsTmlPaUhGQXcxaFdSWEhIUlJSc3d3NGtwV3VwZTJ4MEFLWk5r?=
 =?utf-8?B?Z0taZlllMEQ5RmpJV3REOGtaMTA1ODNCMWRwSDc2TytkS0dyQU1qN2FJT2RZ?=
 =?utf-8?B?SHB0NHl1bXJKc3JGMVVkNjBBV0FZL2lSMVFqak1mV0w5Y1pCOWt1ckRMb1JZ?=
 =?utf-8?B?UXhHanJ2R2R6ZWZHcWplemxCRW1wVEVTV1RCVHJ3QmFORUhIcUlDWUJ5U1Y3?=
 =?utf-8?B?OHpEYThXQ3N4QVVMWjRXNTR5ZFJwV0dYbENEOTRXcnRabHBaRkt6em42VVV3?=
 =?utf-8?B?cGN4K2tVUXV1RjVnNExScms3eDZCSDluSjFhZEQ2b3F6MFlkNUR4YktFS1hm?=
 =?utf-8?B?cXAzZDd2Sy8zbzA3c1ZiQWRVN2xtZnc0TkFUOHFkSHhacEkzbUxRemZvbTNx?=
 =?utf-8?B?Zm9KbjFkTDIvSy91NCtmeGpNRmRNZ2V1c2hsa0J3aS9vY2FOeWhjaWFMeFBm?=
 =?utf-8?B?bHhTcnVVa3BzN2lqSkNIOStIS3NJZW9XeExLdUlaNDQ0V1Z6QVRXaDY5WVlK?=
 =?utf-8?B?bGw2RnJpcVpnU25ha29oaTRTa0NIZytKbnpDY1VtRUEyQTNNSklIRldKTHZP?=
 =?utf-8?B?clFTNWlZbTVpZ3Qrc1BPUXh6VFNhSFljajdJeTRaeUVoQmxqTjVaRTA2UDNm?=
 =?utf-8?B?eEZxcm10RjFsL2haSjU1T3FKWVZtSXd4SlJMZ2JzTWJGUzZCL0h2NU9vWWRE?=
 =?utf-8?B?c3J2bTVkRTgvK1BFQWNKRVlRUnBJUW1nWlF3Z0xNTjNwN3lIM2JHUTdVVHhB?=
 =?utf-8?B?NHg2Rzh4WHBYQmZLVjVwR2cvTDU0MzVLUEhVTWdwd3ByMTFacC9xWGJteEZZ?=
 =?utf-8?B?Ri90WFJyQlZxV2hTYXl2Q1kwdGQ4VW8rVnB4bzUwb2MvTkd0MEZhWS8yMVZk?=
 =?utf-8?B?VDhaWE1MTWVIZWk0MVNXeGtBTmJnN2QwV0xBNVJUR2doY0k5VDdBbDI2ekRQ?=
 =?utf-8?B?YnJtdFl4dXdnMU1GUGhzTlNUVUgxUk1tUEJOM2RCUlRmTEh4cXZtZW8rdEZq?=
 =?utf-8?B?aWhXbXJXcm1ORVBudExjNXZyeXFYUkgrQlNUMVY2eGU3Nmg5Kzd3a3dwMlFG?=
 =?utf-8?B?N0hRb3ZjSklMOGh6Y1VPUFFOUDVkK3YxcEdLeTBTV2JXR3hzbjByK09aS002?=
 =?utf-8?B?TDFPZG16YmpDRy83anVNUGI3VlY0RFpYd0d6OCtwbTRDdjMzeUNsdTc3d3ho?=
 =?utf-8?B?SE1TVFQxRkxnS05hMzRrckdPeGFFTHFkTEk1UFlyVXcwR21iRVoybks3UWgx?=
 =?utf-8?B?TlJodXpnSmh1dzVpZXdHWFMrRGFrUVozbkJTdU9EdVVDUStFdlVsNkpvdkwz?=
 =?utf-8?B?MncyQ2JUNjNsN3VxZHJZVE9MUW55cTZQQXRjZ1ZUQ0R2WTFPQjZKaGVWMkRt?=
 =?utf-8?B?Z0pINHQzVVhBd0l3YVlVMVJQWEJCMHZSeng0SFg2MmZlVlJaSGErNlpUZmNl?=
 =?utf-8?Q?G4mMjqjYOH4lBFWPoMBQFP1Fl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03f938e4-7df4-450b-ece8-08db9cceb79c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 13:59:46.1977
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UO2HZGKUGx2FDp6AlMn+nyLgY+wWIyXsqqBbNkVWzUBbTZoiwjTzYAE3uZIuDwVHl7eCY9gH+jDG5opSRPKtEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7136

On 10.08.2023 21:12, Stewart Hildebrand wrote:
> This small series enables vPCI to filter which PCI capabilites we expose to a
> domU. This series adds vPCI register handlers within
> xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.
> 
> Note there are minor rebase conflicts with the in-progress vPCI series [1].
> These conflicts fall into the category of functions and code being added
> adjacent to one another, so are easily resolved. I did not identify any
> dependency on the vPCI locking work, and the two series deal with different
> aspects of emulating the PCI header.
> 
> Future work may involve adding handlers for more registers in the vPCI header,
> such as STATUS, VID/DID, etc.
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html
> 
> Stewart Hildebrand (3):
>   xen/vpci: add vpci_hw_read8 helper
>   xen/vpci: add vpci_read_val helper
>   xen/vpci: header: filter PCI capabilities

I'm not convinced of the split here: Seeing the new helpers in isolation
leaves entirely open what they're to be used for. Plus besides introducing
dead code (even if only transiently), you also introduce cf_check marked
code which isn't really called indirectly from anywhere. Yet we'd like to
keep the amount of these markings down (in the final binary, not so much
in source code).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 14:52:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 14:52:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583687.913965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVYve-0003xx-Pz; Mon, 14 Aug 2023 14:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583687.913965; Mon, 14 Aug 2023 14:52:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVYve-0003xq-Ly; Mon, 14 Aug 2023 14:52:22 +0000
Received: by outflank-mailman (input) for mailman id 583687;
 Mon, 14 Aug 2023 14:52:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4tgG=D7=citrix.com=prvs=583eff3b4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVYvd-0003xk-7F
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 14:52:21 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 295fa10f-3ab2-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 16:52:18 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Aug 2023 10:52:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5636.namprd03.prod.outlook.com (2603:10b6:208:297::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 14:52:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 14:52: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: 295fa10f-3ab2-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692024738;
  h=message-id:date:to:from:subject:mime-version;
  bh=h3r8VfZzQv1nlbZXaNy+XstpNnDPjhYt0XOpBlcOWKs=;
  b=ImAM09Kg0IXk6e1yCh+EiGiKXzzFtkS10PJB3pqEp8hbVJ+J5Wk9eUeP
   xgsXxwNhcJht1zqozuUr26cWShDB7Qwz5Ah4T48HHxRIF16Wb6Xbyje/a
   oA75Oq3ceu7LRLSyUPnBhMCa5j6PNW1kzygCmsGfg0SUZIyISqZqH9M9U
   M=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 118121877
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SuogTK+a5yu9ZIxARbPRDrUDHH+TJUtcMsCJ2f8bNWPdYAtSk2BPi
 n1XRDXZbc8+UBK9c98ZMdP1qyVT5NOJ0Io8HzLYnlk8Q3xDo8OfWozAJUr9YS7NIpHIFkg5t
 stENNeYdZ5rFyHQrUv2Y+C79iMgjviBH+GhUbebN3t9HQE5FCwog0ho8wJVbvaEpPDga+/ak
 Y6q+pS31CaZ5gNJ3kIoB4Or9k9l7aip5TlCtQRia69HsgSHmnRJBpwRe/rqJirzG9MFQuLiS
 +j9l7zopWmxEzXBqD+Guu2iLhBVGO660Sym0Cc+t32K20AazsAK+v9ncqFaMQEP0G/hc+lZk
 L1lrYa3RRoiIprCkeEcVwgwOyxlNOhN9aSvzUKX6KR/9GWYNSO1qxlSJBtuZ9ZAqr8rWTgmG
 cEwc1jhUDjS34pa/5rjIgVcrpxLBNXmOooZpkZhwVnxZRrxacmeK0lizYYwMAYY3qiiL96HD
 yYqQWMHgCD7Sw9OIj8q5KcWx49EsJVdnwpw8zp5rYJvi4TaIZcYPLLFaLI5cfTSLSlZc9rxS
 ssrMA0VDzlDXOFzxwZp/VqHoMXqoQnwcbsABZaz8fA3pXyoxGAcXUh+uVuT+ZFVi2aYcvcGc
 QkxxXBrqqI/sku2UtP6Qhu05maeuQIRUMZRFOt87xyRzq3T4ECSAW1sojxpMYR68pNpA2J0k
 APV9z/qLWUHXLm9YHSR7LqL6xi1PjAYNzQqbi4YVwoVpdLkpenfizqWF4Y6Svfl0YKd9TfYn
 DeDvAMUgZUvjsMFkKSA52v3gBCzn82cJuIyzkCNNo6/1StpaYjga4G25Fzz6fdbMJ3fXlSHp
 GIDmcWV8KYJF57lvC6HTfgJHbqpz+2YKzCaillqd6TN7Byo8n+nOIVPujd3IR4zNt5eIWO1J
 kjOpQlW+ZlfemOwarN6aJ6wDMJsyrX8EdPiVbbfad8mjoVNSTJrNRpGPSa4t10BWmB1+U3jE
 f93qfqRMEs=
IronPort-HdrOrdr: A9a23:BcbkEK3clTKppO56lMz+dgqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-Talos-CUID: =?us-ascii?q?9a23=3AdocEHWuqjDf2K7Oij1nmfPdS6IsOVFf48F3bCna?=
 =?us-ascii?q?qGE1iT7PIbH6r+q9rxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3A66auAw7wdZ9m5Z4U2655EbPaxow35K2+I2oLsak?=
 =?us-ascii?q?FtsfDNBdqAAeeriuOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,172,1684814400"; 
   d="log'?scan'208";a="118121877"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l9dsW5LQ84C0RFMjZr9nFKW4UfRw9lDZpK4KlMMqBb0WeyOaTisaHRqHOFslt+GHwG5g74dBLpsiGjwAjyGRDtRRe2T/aNS1gkz0Mp7WN8KuHZfryg23q80inm7T+4XQ5RAYQ/Mo3/1sK63K9w7NGlV+sGJvdbLRDB/BQJihdF2W4NK7/825Ei+oW6lVw0ghK832tJF72rklFz63REO7Q02JKjveZ+yyTjo/g0kVNUm3QaWV9XNcUkaoQq7rS/qr95qsRzRqN7jzVpPxabk2YpEKx0f2zrWKnrvvU1933yN+XBbkNclwsZjme7MgKESCP27SKddjyStAEIbgAWR3+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=h3r8VfZzQv1nlbZXaNy+XstpNnDPjhYt0XOpBlcOWKs=;
 b=aYzJzSHcyHfFGK2Y58KRS7xHaLxj5vfGPgSwPwMeg1fdvGBVIqPH5+OLCEBiWug5NymhzToyVrDIcWjbIYFvCJIvZvXYdqj3i/0PW0n4d0dtN+72iDHUi4oAq3/uOILXYqOH9MQZYPlDVgVziU32y+pk4SP1o8vqFyM7adSBmcxQU4XyrNwEmU/RUbwX5CYc6lQM2Z+NqzUxNjYMhOcj8+59Y3HoxCJrvfJlBrKmsKHPDUKJmSLkTUEYyfzSus+hBos8DQOsd7PNArd8uBfTSqOdQsrOvuAILFJi/0wjeyMilY9BF1RroqttHSYfDrxKc90A3yrZ8yQIoCKadObktw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h3r8VfZzQv1nlbZXaNy+XstpNnDPjhYt0XOpBlcOWKs=;
 b=kL7RAHfFyUfzC99NRZAOjYALwV5FQv4I+Acg7B7fdOxjhHCnH2fj+Qe+xnKtgtAutH8izVauRfQUbJ89k3UcUCRjjG4J8EqUo7bgnk2/yPjBevfJao6Qe0YJC/66yIpwx0uqH6Iw83UpqwRmkgolz5vVnJ6OoQire1gARO4wgKk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Content-Type: multipart/mixed; boundary="------------55FxDnBiyeOeQ5RkyTtwUSqa"
Message-ID: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
Date: Mon, 14 Aug 2023 15:52:01 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Build errors with fuzz/x86_instruction_emulator harness
X-ClientProxiedBy: LO2P265CA0204.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::24) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5636:EE_
X-MS-Office365-Filtering-Correlation-Id: 19346b1f-b85c-4ffe-a568-08db9cd60787
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SIHskmsI8whHo48AvuvgTTHEVPnaLXebbN/c+XH5LmWsjS5KF0fGjxXtdLhBKQtuTwJVUaewbJ9u+b47htFU9s69RGy+nohCrtgM6MRry9O7QbZMmqP9pUlm1Zx7BteLPEIPzFby2S0mIZklyu1mVm1UV5/R3Ma1TKgHBlgQiN52tH72S4jqBqF5ColofylKnTmsMZszB2Fno/NDkPADz4NII69CeXy6mR1SgtEc77GjdyrRlSSqs/ihHTPRpKsNNlHsLfXDKlvg4uuD20jrC0k54tZctYpibLMOnBrZEAfS4dMRn5+NEQWU1CJyqi7X5Wezvik3JgVYs4FpZ1yyPG30BD3gOq/Th+3zGE6w2wQpMkIs4VXFuEFUyTYYQrvUuTgf8eLj/lCrSZd0Q4gMqEjlXa+r8MwDNKi0tTQ/EYkWv9kz+hVS1JsqQNOz55m2HFHG4/AfIdTS2SY2lmwAAZ7u/sF3p6W7c1400xz6uSByl8N6q2wswD3nWfCv+AYwj2frpHylR/5cJJd12W6zZWbE79uX2BxTT9JLGHCDVQoMUyz5lkddMMOyS1TWAUoxT/8IYke+3dxq96MlBWz/6LllecntKc6hxv7KPGFgUJjKkBv1Okv5COnng8VrLPJpuJkLu/0K4ZmEhXQZb0haig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(83380400001)(21480400003)(41300700001)(8936002)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(31686004)(2616005)(26005)(6506007)(6666004)(6486002)(33964004)(478600001)(38100700002)(110136005)(31696002)(36756003)(86362001)(6636002)(82960400001)(5660300002)(2906002)(235185007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFhsRDZaT1paTmJ2UTU3RXN5NlB5a3dwcE1wb1NmQXB4REhJQnJmQ05HSFVG?=
 =?utf-8?B?L0VnOGdKQ2ZoQnY1RG5UOU1XbzRPeE9COUtZbUlubUxvZ0ZHRXVuNnUrdTlo?=
 =?utf-8?B?M2t2cXJ6QkJ0QXBWZU8xKyttdFhiZGgwa2RUUUJnT3dDcW1sM1B6czlMUjBJ?=
 =?utf-8?B?L1Q2cC9EMXNGZmdwdWhrVFlyTnlBK3F6eWhJTHp4MXRZV3lDQWVBKzk2blAr?=
 =?utf-8?B?RmlPeUxQYXphUWpuanhZVTRPZHBtTXdXZmw5Tm92TUcwenpaN3ZiQlp3MXk5?=
 =?utf-8?B?MkthTVJESTRPOTVEUjRNYlZobGtFMyt1M2FaQXpaczBYam9lc21FNUhRVlI3?=
 =?utf-8?B?bURZZW04NzAzc3M0YXZLaG16dDV4TXB3a0tlMnhMaTBPeDFCRGxES093N05V?=
 =?utf-8?B?bmVvSjUvUGU1Y0dWNFpGM2Q0ZEFvMVZrSkF2UDF2eklWOTRyWHRhQjJONUxh?=
 =?utf-8?B?MTBSem8vUjZLck5acGRVcFJiL0dHVnBTZ1FKY09TUER1VHYvM21pTG1keG9J?=
 =?utf-8?B?M0NYSGZjNTRrZEdKNlNTTkNobmt5MXl5NHRSendlOFJDYU84QmVycWJuWlAx?=
 =?utf-8?B?RmJKbEQra1pGM09NcDRCeUloMmVNSThiRnZLV2U3VTdOUXZnYnZkc2xEQ0t1?=
 =?utf-8?B?SGlPclNEUVVUdC8xbElOMVBpSEZkd3gwZ3Q0WjNGbEZyNmhtL2xlRjdQb2xY?=
 =?utf-8?B?TVBtNGQxR2gzbXg1eldPdFltbVVFRG51VUo5OGF6NmxxU2lyVnhVWDhmTEFI?=
 =?utf-8?B?RzY5Umx5bCtOM3c2RjRRVkxwTGdXc3ZpTXlVV1lhZDVVeUhoeWNJaHFkYTJD?=
 =?utf-8?B?MEc2SnpnUTVwbXJuTjZMNnUxYkloTHdPV09PSjBveU5WMlAzd0JOTHo1cnNW?=
 =?utf-8?B?akhGS0JSNDBTTjFtVFNsSXVYcm55VFJUb1ZkUkJqbTZaZ2wyN2xaYlI1MEZj?=
 =?utf-8?B?TVZheWtua1hpbE1RWmd6U3NZV1hVMzE4VjBwZkd5OVVaQ0t1VXkwbDFuaWZR?=
 =?utf-8?B?Q2tmUVRELzZuYm41cGtTQVl0S1JJU0hLT1o5VkVEUXcrM0RGUWJMMXIvL3Bu?=
 =?utf-8?B?a3hqZTYzQnNoN3JTb3ozUFN4UUFSNTdwZE9FRVFiTCtUTFJONlgzWFFxbEp2?=
 =?utf-8?B?WktzbUNmeG5VK3psQTQ3aWJkUEl2QUowZ3ZOd3RzWGNxVTk4NndIbHJSVXhr?=
 =?utf-8?B?QTlsQVEzWVFLbk5IMDhSTEVKQXBINjVWZXpmWUt3L3hTSzZadVFiZE5tdmM4?=
 =?utf-8?B?YXNBZTgycG1yYzhpaDFkbll4VXNuaUFJenhKbFpZYWp0NFQ1Y1o0M05wcmFI?=
 =?utf-8?B?Q1dVR1piOG9teFZlVnlVd0NWNGhRUzFTNGRyVS9zZCtuckZnQVZxMFBIQ0wx?=
 =?utf-8?B?NlhITHV2Vi9ka3I3QnRPblZYdHVDU1NBakZYZUtzbDJtMjJRSld4YWdWeTB5?=
 =?utf-8?B?WGNWNmdUWUxWMWFKSW04WEdhOGVaQS9ZTVlIcCt1RHdVVFVyeGF3UDBTeDdP?=
 =?utf-8?B?Z0dSekxQcFRPQjNKTittZ0w3d3RPbGN3bWJjR1BHbWNHSTcybnJ5RFNjUXFF?=
 =?utf-8?B?clJRSmttZlJoUVhrYlNBUnE5SlpydTRPYllhUC9BZ0dyTGx2NXR0MUZBQ2xV?=
 =?utf-8?B?WHR0cFExT3ZROUtwWTdYRVAyYW53MGVpMUVDa09jZHRUcGI0MkxZeDdTdGNS?=
 =?utf-8?B?Z0NzOU54WkxxdUQxKzBxb1E5V0VrTDZFRktrekNTVVl4VDRVV1lwK3VZMDQz?=
 =?utf-8?B?dmE4QjJTbmhDWHpOZUxTMSs1N1FJbVhoRGl3b2xYMmsrQWFFWHJkZWFnb1h0?=
 =?utf-8?B?aloybWNjMkorUWd6all3a1l3WDlUa1ZlRjlkTjFvdzZQdmRWQjhmQURNQmZz?=
 =?utf-8?B?S1F4UFRvdTQxelJoVHRtMjdvN2xTa29SN1ZlR0lJTFM3a2pwUmdXdHdiU0hG?=
 =?utf-8?B?UVBRdGFxdmVIUVFBT1JhNDR1M1JMa21vZmQwSWR4bEtuYW0zMlFSNExSeEdK?=
 =?utf-8?B?Vk5QMXd3aXczRDZ1dktHNWxTWVZucHVQTnRyRUMzS0tabE1mTHVMQlBFc0s1?=
 =?utf-8?B?N0cxV0QzNytNdlFLYlBUd1JaaXpmNkdUNUV0Sjl1Z3NzS080MnNDUis3R2ZJ?=
 =?utf-8?B?bXJ5a0hpdUJ3ZVZCT1ZMeWE2M2xRYVp5VkxXd1dudzVFbWtMdXU1MEY3bmFT?=
 =?utf-8?B?a2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vUqPb6YuBpi5d1HxlCg1Y4aYnksm/t52bK8+AUkkT7K2LHOon0T0RB+2ax+zBJ9QY0MwiHejCMi2KNQTWGl92WB4CUhsLtSEpUtK6d6ZDnR43VE+A4jPvC5+ROkOpzbUm08+kkeG4SBuZDBYqNaTHd30AD6s03g28h7VNVeePlv96bXRzaUICxiz/gaovSlACszDGRfFY5C2rcGemFwXwKcsLtxxX2yQIADLw1EEJHK8VpnvJlvHXmUP7pOa1IAu2ZLVIcLGm1AhmFDCkE1rH1EfjWlkLjipAwvNLo9GY5FGe2AIwITEm9KTBuGz2XH9etZe2m/sPI1s5yJbveJLWKdvXYzkQPIvFIaJmjkfAfBDc+CPN0x5tJh0yioe7D14qMvHjA9JX+C0fRla+A0evD4mt6GS/GpkaeZb+u6O+NZinb/WtY7CqcOCONYkIvQwOLOyUMif+cMvg0uLJx6L94yfbA3NUmtTBPohrMLYL6zPeJnI9WsWuUWG4Ls7KG1bXNJ7Jp0JtCDD8FgDCVyMA9lVSZROVtCzwnHQm9WHgGGmlH1luT9qFV254+SbSY/nhkgQTvz8TmzQgF+xU1mGeHATAtMxRMWJu4JdLQFY3fDzJ7SI+KMTCRZQ34uGdEhMA9w9udunEcN0EQe/ntj+eu1NCmsD2qmcLJ1gOimPIX4aAYL/oHVf0xQXBb8pMfDENTsv3U/AjV+EyvEYTZCNWXeOZHowN6zS86q+vRlmX6M09qZm+49FDb9GrIMDp4uWaqHnkRnQZay3nPUfWN1ULFl1G2rWcgoa6LowvTGo+Qc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19346b1f-b85c-4ffe-a568-08db9cd60787
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 14:52:07.3159
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ccNlMjLh8ogkCyjgNda6emiXlE75m3ugxpW0FxDChTxAFSUnrD7OYw7m0VznoxB7aK2cTjhIl1l1pwBiVA1dEeaw0x6dI9zGy5eULuUp4BQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5636

--------------55FxDnBiyeOeQ5RkyTtwUSqa
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

See the attached log snippet.Â  This is current staging, with a GCC 13
toolchain.

First of all, a minor issue.Â  Counting the number of
`-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__`'s, we
have included CFLAGS on the CC line 4 times.Â  This is something that
appears to be in common with all of tools/ and is probably the primary
contributor to exceeding the Gitlab CI 4M log limit...

Next the error.Â  This doesn't build when CFLAGS coming in from the
packaging environment include `-flto=auto`.

Clearly our wrapping trick doesn't work with LTO, but it's not obvious why.

readelf -Wa tools/fuzz/x86_instruction_emulator/wrappers.o | grep emul_
Â  [223] .gnu.lto_emul_fwrite.38.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01c2ec 000194 00Â Â  EÂ  0Â Â  0Â  1
Â  [224] .gnu.lto_emul_memcmp.39.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01c480 0001a7 00Â Â  EÂ  0Â Â  0Â  1
Â  [225] .gnu.lto_emul_memcpy.40.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01c627 000175 00Â Â  EÂ  0Â Â  0Â  1
Â  [226] .gnu.lto_emul_memset.41.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01c79c 000186 00Â Â  EÂ  0Â Â  0Â  1
Â  [227] .gnu.lto_emul_printf.42.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01c922 0002cd 00Â Â  EÂ  0Â Â  0Â  1
Â  [228] .gnu.lto_emul_putchar.43.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01cbef 000216 00Â Â  EÂ  0Â Â  0Â  1
Â  [229] .gnu.lto_emul_puts.44.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
0000000000000000 01ce05 000180 00Â Â  EÂ  0Â Â  0Â  1

shows that there's something relevant in the object file.

Manual poking about in the build environment indicates that
tools/tests/x86_instruction_emulator is similarly impacted.

Any ideas?

Obviously we can inhibit LTO for the x86_emul userspace, but that ought
to be a last resort.

~Andrew
--------------55FxDnBiyeOeQ5RkyTtwUSqa
Content-Type: text/x-log; charset=UTF-8; name="x86_insn_emul.log"
Content-Disposition: attachment; filename="x86_insn_emul.log"
Content-Transfer-Encoding: base64

bWFrZVs1XTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvYnVpbGRkaXIvYnVpbGQvQlVJTEQveGVuLTQu
MTguMC90b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvcicKZ2NjIC1PMiAtZmx0bz1h
dXRvIC1mZmF0LWx0by1vYmplY3RzIC1mZXhjZXB0aW9ucyAtZyAtZ3JlY29yZC1nY2Mtc3dpdGNo
ZXMgLXBpcGUgLVdhbGwgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdwLC1EX0ZPUlRJRllfU09V
UkNFPTIgLVdwLC1EX0dMSUJDWFhfQVNTRVJUSU9OUyAtc3BlY3M9L3Vzci9saWIvcnBtL3hlbnNl
cnZlci94ZW5zZXJ2ZXItaGFyZGVuZWQtY2MxIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAgLW02
NCAgLW10dW5lPWdlbmVyaWMgLWZhc3luY2hyb25vdXMtdW53aW5kLXRhYmxlcyAtZnN0YWNrLWNs
YXNoLXByb3RlY3Rpb24gLWZjZi1wcm90ZWN0aW9uIC1tNjQgLURCVUlMRF9JRCAtZm5vLXN0cmlj
dC1hbGlhc2luZyAtc3RkPWdudTk5IC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdkZWNsYXJh
dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtV25vLXVu
dXNlZC1sb2NhbC10eXBlZGVmcyAgIC1tNjQgLURCVUlMRF9JRCAtZm5vLXN0cmljdC1hbGlhc2lu
ZyAtc3RkPWdudTk5IC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRl
ci1zdGF0ZW1lbnQgLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtV25vLXVudXNlZC1sb2Nh
bC10eXBlZGVmcyAgIC1nMyAtV2Vycm9yIC1PZyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtRF9f
WEVOX0lOVEVSRkFDRV9WRVJTSU9OX189X19YRU5fTEFURVNUX0lOVEVSRkFDRV9WRVJTSU9OX18g
LU1NRCAtTVAgLU1GIC5zdWJkaXJzLWFsbC5kIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFSR0VG
SUxFNjRfU09VUkNFICAgLW02NCAtREJVSUxEX0lEIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9
Z251OTkgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl
bWVudCAtV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIC1Xbm8tdW51c2VkLWxvY2FsLXR5cGVk
ZWZzICAgLWczIC1XZXJyb3IgLU9nIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1EX19YRU5fSU5U
RVJGQUNFX1ZFUlNJT05fXz1fX1hFTl9MQVRFU1RfSU5URVJGQUNFX1ZFUlNJT05fXyAtTU1EIC1N
UCAtTUYgLnN1YmRpci1hbGwtZnV6ei5kIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFSR0VGSUxF
NjRfU09VUkNFICAgLW02NCAtREJVSUxEX0lEIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251
OTkgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu
dCAtV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIC1Xbm8tdW51c2VkLWxvY2FsLXR5cGVkZWZz
ICAgLWczIC1XZXJyb3IgLU9nIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1EX19YRU5fSU5URVJG
QUNFX1ZFUlNJT05fXz1fX1hFTl9MQVRFU1RfSU5URVJGQUNFX1ZFUlNJT05fXyAtTU1EIC1NUCAt
TUYgLnN1YmRpcnMtYWxsLmQgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VS
Q0UgICAtbTY0IC1EQlVJTERfSUQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtV2Fs
bCAtV3N0cmljdC1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1Xbm8t
dW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgLVduby11bnVzZWQtbG9jYWwtdHlwZWRlZnMgICAtZzMg
LVdlcnJvciAtT2cgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgLURfX1hFTl9JTlRFUkZBQ0VfVkVS
U0lPTl9fPV9fWEVOX0xBVEVTVF9JTlRFUkZBQ0VfVkVSU0lPTl9fIC1NTUQgLU1QIC1NRiAuc3Vi
ZGlyLWFsbC14ODZfaW5zdHJ1Y3Rpb25fZW11bGF0b3IuZCAtRF9MQVJHRUZJTEVfU09VUkNFIC1E
X0xBUkdFRklMRTY0X1NPVVJDRSAgIC1tNjQgLURCVUlMRF9JRCAtZm5vLXN0cmljdC1hbGlhc2lu
ZyAtc3RkPWdudTk5IC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRl
ci1zdGF0ZW1lbnQgLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtV25vLXVudXNlZC1sb2Nh
bC10eXBlZGVmcyAgIC1nMyAtV2Vycm9yIC1PZyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtRF9f
WEVOX0lOVEVSRkFDRV9WRVJTSU9OX189X19YRU5fTEFURVNUX0lOVEVSRkFDRV9WRVJTSU9OX18g
LU1NRCAtTVAgLU1GIC5hZmwtaGFybmVzcy5kIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFSR0VG
SUxFNjRfU09VUkNFICAgLUkvYnVpbGRkaXIvYnVpbGQvQlVJTEQveGVuLTQuMTguMC90b29scy9m
dXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci8uLi8uLi8uLi90b29scy9pbmNsdWRlIC1EX19Y
RU5fVE9PTFNfXyAtaXF1b3RlIC4gYWZsLWhhcm5lc3MubyBmdXp6LWVtdWwubyB4ODYtZW11bGF0
ZS5vIHg4Nl9lbXVsYXRlLzBmMDEubyB4ODZfZW11bGF0ZS8wZmFlLm8geDg2X2VtdWxhdGUvMGZj
Ny5vIHg4Nl9lbXVsYXRlL2RlY29kZS5vIHg4Nl9lbXVsYXRlL2ZwdS5vIGNwdWlkLm8gd3JhcHBl
cnMubyAtbyBhZmwtaGFybmVzcwptYWtlWzVdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL2J1aWxkZGly
L2J1aWxkL0JVSUxEL3hlbi00LjE4LjAvdG9vbHMvZnV6ei94ODZfaW5zdHJ1Y3Rpb25fZW11bGF0
b3InCi91c3IvYmluL2xkOiAvdG1wL2NjcGhTUWNTLmx0cmFuczAubHRyYW5zLm86IGluIGZ1bmN0
aW9uIGBkaXNhYmxlX2hvb2tzJzoKL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8yLmg6ODY6IHVuZGVm
aW5lZCByZWZlcmVuY2UgdG8gYGVtdWxfcHV0cycKL3Vzci9iaW4vbGQ6IC91c3IvaW5jbHVkZS9i
aXRzL3N0ZGlvMi5oOjg2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBlbXVsX3B1dHMnCi91c3Iv
YmluL2xkOiAvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo4NjogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgZW11bF9wdXRzJwovdXNyL2Jpbi9sZDogL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8yLmg6
ODY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGVtdWxfcHV0cycKL3Vzci9iaW4vbGQ6IC91c3Iv
aW5jbHVkZS9iaXRzL3N0ZGlvMi5oOjg2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBlbXVsX3B1
dHMnCi91c3IvYmluL2xkOiAvdG1wL2NjcGhTUWNTLmx0cmFuczAubHRyYW5zLm86L3Vzci9pbmNs
dWRlL2JpdHMvc3RkaW8yLmg6ODY6IG1vcmUgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gYGVtdWxf
cHV0cycgZm9sbG93Ci91c3IvYmluL2xkOiAvdG1wL2NjcGhTUWNTLmx0cmFuczAubHRyYW5zLm86
IGluIGZ1bmN0aW9uIGBpbnB1dF9yZWFkJzoKL3Vzci9pbmNsdWRlL2JpdHMvc3RyaW5nX2ZvcnRp
ZmllZC5oOjI5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBlbXVsX21lbWNweScKL3Vzci9iaW4v
bGQ6IC90bXAvY2NwaFNRY1MubHRyYW5zMC5sdHJhbnMubzogaW4gZnVuY3Rpb24gYGRhdGFfcmVh
ZCc6Ci91c3IvaW5jbHVkZS9iaXRzL3N0ZGlvMi5oOjg2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv
IGBlbXVsX3B1dGNoYXInCi91c3IvYmluL2xkOiAvdG1wL2NjcGhTUWNTLmx0cmFuczAubHRyYW5z
Lm86IGluIGZ1bmN0aW9uIGBmdXp6X3JlYWRfbXNyJzoKL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8y
Lmg6ODY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGVtdWxfcHV0cycKL3Vzci9iaW4vbGQ6IC90
bXAvY2NwaFNRY1MubHRyYW5zMC5sdHJhbnMubzogaW4gZnVuY3Rpb24gYGR1bXBfc3RhdGUnOgov
dXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo4NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZW11
bF9wdXRzJwovdXNyL2Jpbi9sZDogL3RtcC9jY3BoU1FjUy5sdHJhbnMwLmx0cmFucy5vOiBpbiBm
dW5jdGlvbiBgTExWTUZ1enplclRlc3RPbmVJbnB1dCc6Ci91c3IvaW5jbHVkZS9iaXRzL3N0ZGlv
Mi5oOjg2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBlbXVsX3B1dHMnCi91c3IvYmluL2xkOiAv
dXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo4NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZW11
bF9wdXRzJwovdXNyL2Jpbi9sZDogL3RtcC9jY3BoU1FjUy5sdHJhbnMwLmx0cmFucy5vOiBpbiBm
dW5jdGlvbiBgbWFpbic6Ci91c3IvaW5jbHVkZS9iaXRzL3N0ZGlvMi5oOjg2OiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBlbXVsX3B1dHMnCi91c3IvYmluL2xkOiAvdG1wL2NjcGhTUWNTLmx0cmFu
czAubHRyYW5zLm86IGluIGZ1bmN0aW9uIGB4ODZfZW11bGF0ZSc6Ci91c3IvaW5jbHVkZS9iaXRz
L3N0cmluZ19mb3J0aWZpZWQuaDoyOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZW11bF9tZW1j
cHknCi91c3IvYmluL2xkOiAvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmdfZm9ydGlmaWVkLmg6NTk6
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGVtdWxfbWVtc2V0JwovdXNyL2Jpbi9sZDogL3Vzci9p
bmNsdWRlL2JpdHMvc3RyaW5nX2ZvcnRpZmllZC5oOjU5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv
IGBlbXVsX21lbXNldCcKL3Vzci9iaW4vbGQ6IC91c3IvaW5jbHVkZS9iaXRzL3N0cmluZ19mb3J0
aWZpZWQuaDo1OTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZW11bF9tZW1zZXQnCi91c3IvYmlu
L2xkOiAvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmdfZm9ydGlmaWVkLmg6Mjk6IHVuZGVmaW5lZCBy
ZWZlcmVuY2UgdG8gYGVtdWxfbWVtY3B5JwovdXNyL2Jpbi9sZDogL3Vzci9pbmNsdWRlL2JpdHMv
c3RyaW5nX2ZvcnRpZmllZC5oOjI5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBlbXVsX21lbWNw
eScKY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCm1ha2VbNV06ICoq
KiBbTWFrZWZpbGU6NTQ6IGFmbC1oYXJuZXNzXSBFcnJvciAxCm1ha2VbNF06ICoqKiBbL2J1aWxk
ZGlyL2J1aWxkL0JVSUxEL3hlbi00LjE4LjAvdG9vbHMvZnV6ei8uLi8uLi90b29scy9SdWxlcy5t
azoyMDQ6IHN1YmRpci1hbGwteDg2X2luc3RydWN0aW9uX2VtdWxhdG9yXSBFcnJvciAyCg==

--------------55FxDnBiyeOeQ5RkyTtwUSqa--


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 14:58:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 14:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583694.913974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZ1H-0004do-G5; Mon, 14 Aug 2023 14:58:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583694.913974; Mon, 14 Aug 2023 14:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZ1H-0004dh-DF; Mon, 14 Aug 2023 14:58:11 +0000
Received: by outflank-mailman (input) for mailman id 583694;
 Mon, 14 Aug 2023 14:58: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVZ1G-0004db-0Y
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 14:58:10 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7d00::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb03b864-3ab2-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 16:58:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9782.eurprd04.prod.outlook.com (2603:10a6:10:4b1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 14:58:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 14: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>
X-Inumbo-ID: fb03b864-3ab2-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xy9mgw/OnG42oGMyOPEr4qE1dNbTpSsNuSTHOCmpDj10ytRORHKXj3raGm9Sc8PkG79idoYwnj9xrxKJAwuhgfu3o/ceegwAKlULDvT1wBb01AKcVWdWBl/w5Z9CgUPHwJfxvzGpXG3PCyW6aOV8H2FO0HlouEVBFIkk1QJtMMI9KmIprkvJJAnE0lTAJ8CwQoBXwse0fzsE+Vpqx4RMKP3xWlCTJ0cPdmH+uO27XPD/OgK7jjyOPffw8KSNow9VTnwyRaNClX6LWMur839aEmPYJTCdXCGHqexOhML+ca1fcewO5qb0KiTZsbuWPwskt+H8dD4LNmajNKa1+/gJfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IxTTRlsxaVj3fTFIAi7otFLprYSJ2Iniq0rD1iMefOc=;
 b=Akjs4ERdJZqoJymSeIV3OfXeN5mP35Nq4xTyHcdB1O5+Bccdui4TmHAQx7REhhascJRgspHKIj86qq/cgdsmdNoQySALufG1iVDvOph+zl5Ec8khqi9yGkSQ0PoEdaarl4qxUa7GhcAMvzSwLJvvTsKRqjzTc7k35JIia53x/b8AF/V5JaPFYG0BrGRuUHQAXhDnp4TFQSgrR1bY7v5OPqXNnGdJFAFFXkcEfBrUg8OsO08cUU5XNEkv4q1N9EhxVHpeEp92WT9Xh/SbKoSB9pvHXuR0tvfal7s0E+1j6LssGooF6UPBB1KD8W73VkSzOTin+nUo9HcYN7zdsxxnlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IxTTRlsxaVj3fTFIAi7otFLprYSJ2Iniq0rD1iMefOc=;
 b=YJ0E34sUWFL683lzPn9NPJlQP0n3XjNV3+Y7qO1yukYUMcbsJBjKsnyzQWO4y5Hmt5OJDhLVeie71O+r3IGbBFDQkcv4eRlJMSL1CmMXq0/gPRvqx+gJ0zdHky71zuhlhbQ7D0xfQmujkN0/YsfoKJd4IAcTkRav3ShnowryM2I0DA14U8EeM9cwWsfREUo9JH5plaN3WJGaSpSQe5uc5d39F9nYpd3ovG3nQUVyHU4c5iDcoteLbt4IOO+dCegvaQM2l9ysEqQXAjNSWCclfdplyLx79x5UUV4+zju7iEoFOEae2KI4LTFDQTQGotb67r5OZ4CNos0aoPQEjQXLFg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29d82586-550b-6e9f-f967-a2855d1c81a2@suse.com>
Date: Mon, 14 Aug 2023 16:58:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 3/3] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
 <20230810191312.644235-4-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230810191312.644235-4-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9782:EE_
X-MS-Office365-Filtering-Correlation-Id: a5f8f858-24b9-489b-2dc2-08db9cd6dcff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	80FbvIzNvs7EGO636jkghFelMrONMkQRfQh4leqMlolqYDZxX2Qzo56gpZdep/2mk2Vf1y5Zas6e0wYKoRz1GOv/tPkNT03Sjf8fnMDofRAPXJPlnJBLwXs/b/SghGf9lziHgsvxt+TkkNdmxD3QPSrmEKAF9snSuWjuN3Se3JLi/0RWDiduDjXdvnMd3GoWgw496kbYo0DOmTp98pDbFn+qYEoARfyWTanWYQjJCnXDhyE/XmS70QvTh28uWlHizdr7OO4vltLt3FSc/9vn5k5nciUkjcyXrnlJcQ/pacXOQq/x0hwAfrI6TFzm80iwVYilx+v2njsnWygpYT0M5fqYQRYbiYN2gROlZRBk3MAVaE7zrTFsF+rGmP8ryZyLvSlwDPQA/2Un1hp8l2eeDHzHR6fSETjjKeO+XuKhLph4SbcP+wMzFCB60ht5lAgFnn+coQPm35X1FlO/IzEgPgbUfeky35ULmPMHBhBSsDkYP5HfA3K50YYxPVhpFEUveJiaH5YQa7OXafysiAZjbRwsZQFy25M2MkLmoSxx21AKZ7aayR5wLqEQHR89da9B+mayk0IP852HEHVFrrq38wZuKc8uVATKEZg9p4IhTJc9h+NccMUk3UmlKlQl4KaHifyV1LLZzD/eE0+wNkfIaQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(346002)(39860400002)(396003)(1800799006)(186006)(451199021)(478600001)(6486002)(6506007)(26005)(6512007)(2616005)(53546011)(66946007)(2906002)(8676002)(66476007)(6916009)(66556008)(316002)(4326008)(8936002)(41300700001)(5660300002)(38100700002)(36756003)(31696002)(86362001)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yjk3SkVRc3NlVm9rYVpCZGVsNjdUOTh2UWtnRzR1cUpTNHlReHBiZUpRbmEv?=
 =?utf-8?B?WEYyYXFOUmFzY1c1RzQ2RVhtZUtseFZndDdSUzlIdkRRYllmU0dVRzJMenZv?=
 =?utf-8?B?MUdRUDdLbnNiNStONmo0S1JPbVdlV3lEelV1bEJrNURTNTVBVm5QVVR3Z3RP?=
 =?utf-8?B?OHlqeDRZKzZ0RjJuSWdhNnhLUkk5YzhyTC9oWlJ4bXNCV3VsU1dvK3A5UnRR?=
 =?utf-8?B?SGVaZUhvMW1UTjBFd3EyYjJjREt4ZHEzcFZpUEdaQzVTS3VKUTFDUER3WWk2?=
 =?utf-8?B?dWYzUFplT0hMUjdQZGdSZ3I0ODRtRmFQZGF6amo0WEFrUXlCTm5uVUs4cnJY?=
 =?utf-8?B?OEtqMlg3M0pSenNmalBaeWRXRFZHUUl2WFEyRHV5RVpNVWJuTWliSjM3MHFk?=
 =?utf-8?B?Y1dGRUttVHVOWityZHFqSzI3N0hFdkVXRVA1dDZNSEhFekFmeWd5Z0NSQit6?=
 =?utf-8?B?aHpQQzZiVFZiOFlDblZudkZvWDJVVnpxQ0dndzhMMjl4L1U3NDdoWlRaZGlR?=
 =?utf-8?B?MXdHRDU5Vm5nTTZ2RzV3OVlvcGZ0b05vL2I3SExhWnA0WGRqSGp5VTJUWXRw?=
 =?utf-8?B?WFQ2cFpWaXlaMUJPS3UrUnQybTg2V1pVa1QveTc2RjVWSC9HbkFQanZCSDJH?=
 =?utf-8?B?VlY1TlRYdXhMRjRvd05DVTJWR09LRFJDaU5WZ0hKUXFhQmd5RW80M2xROFZS?=
 =?utf-8?B?YWhhNFJvRVB1bHAwRG1MdTRHbWcvTC9MMXZLQklqbU1aNFJwK3hQRU91d1Ja?=
 =?utf-8?B?N0VXbi9SMVdjV2FXZEFQQ1JuWlpoQ0k0ai8yeW1KTFE4RUlOOGpEOG0wQUxM?=
 =?utf-8?B?bVhzam5RSmFDVGFZRVFpWkN4cHVFQmtwQ0lFK3VBQW9yKzluU1MzV2J3M0Jh?=
 =?utf-8?B?QjgvaWVtVFdReGxOVVA3elhVbElNaW1GS2EydlBXQitkM3dHYWpaUFI2L1VK?=
 =?utf-8?B?OFBlbFBHenltRlhZSzVkdjFKZU1TRUpCazlZWnlaRXNmZThNdTVFbjIvTnNa?=
 =?utf-8?B?ZzNOK0psZjNEOUVhYzBaajJoS1dzc0Y0OEpiUTBzVVFtT0JOS1lxaFZRZTBY?=
 =?utf-8?B?b0tKdmx1QlVlTjh6bEFUcEtaOCtPOCszZWUrWVQrZ3BlOFgvcEFGSGxGcWl1?=
 =?utf-8?B?SUNNamdlZyswbFdYL2V3WWp4OUhFUDQ5dy9PSmFHWlA5T1NpRXNRM2t5bXRL?=
 =?utf-8?B?eGVIU0FOaGJJdVBZN2sxWFNXT0YrdHd3Y25GNldTOUVnS0ZpZys5SnFUK3JK?=
 =?utf-8?B?a2wzUjdYeDZIK0lqZGh0MVcyU1h0N1IvNi8rZFlxQlRkNXFlKzZRbDV3MGdt?=
 =?utf-8?B?OGdBaFBIUVVTYThFeHZhUFlML2d2NmR1TzdYNE1jN1pmSk1FbmNpZm1tQ1V3?=
 =?utf-8?B?ZDN4cGRXUGV0SzgyR3RSNlNMdk5sdUlWaVNxTzFVc3FVOEw1dWx1RFNIRGJy?=
 =?utf-8?B?YUFYUmZEWWxYR254SDVBeUpVV3B2aWlLOG9KUitzV0g3RzNreWhhbnhNc1lM?=
 =?utf-8?B?cENWTGZzVnVDa0ozb2QyT3VlWWdoQWhtdnc2L0hwcXg1QmJKSDNRM0ZMb0hO?=
 =?utf-8?B?WnZvV2RlK2t1YUR5alI1UExoZ2ZPZDZpUlNoZHJUOE5HRUVyd09nREpQY1pK?=
 =?utf-8?B?K2p3anZCYmZSMVdka2NPWkZqN2RIb1dWTnZOVy9mWUZUNzdGVGZjOWl6UmVn?=
 =?utf-8?B?V2JVS1M1c3hSYzl1NXdTMEc5am9OK0ZuZm43N3hxaWdaNDdWZ1NrYk1CNVAz?=
 =?utf-8?B?RGswWWdsekllR2JQZVJ0dWl4bzVMcTk1VVNEeUxhNGdaREdveWJ0T3JlNDdE?=
 =?utf-8?B?RGVySnZpMmZMQXY1aUZtOE5TK3ovQUppTUNkOTJ2bkVSN2g1czMwMU8ycDI1?=
 =?utf-8?B?MDRVVmlKZTNBUmV1SDdDVWoyN2pWbHhrZ1dFeFpJYWZJbnlqYTJLNnZCMkF3?=
 =?utf-8?B?am1uRXA5OGgrdjcxbFZ0N3ZIcXdVSFNwWW5tek9LSlVpbkxjUjdrTlVlZzNQ?=
 =?utf-8?B?cldwQlRLcCtCZHd0Y1RvMUxCWlBic2VIR2hkUmE3TFgyZkt4RTIxWFpOcjJV?=
 =?utf-8?B?RXpaUHVVQkJUUUo3cnM2UWxnc1lJcWtuRmJxQVlKQUhYV0l3bXpNWUtUREsr?=
 =?utf-8?Q?Dqu+FIFrsrxG5DOv942KPOQ6r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5f8f858-24b9-489b-2dc2-08db9cd6dcff
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 14:58:04.9530
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KpKxZ9AzByoC/ciz5/2VZXlgoJ6evAp6cDlUipY7EP8VX2jnKZ0KZIo1OQWagWi0bi+KND/r2HywJZVynmpZ/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9782

On 10.08.2023 21:12, Stewart Hildebrand wrote:
> Xen vPCI only supports virtualizing the MSI and MSI-X capabilities, so all other
> PCI capabilities should be hidden from a domU for now.

I'm not sure about "should"; imo this would need evaluating for every cap
type separately. I'm okay though to take this as a starting point. What
needs considering (and mentioning here) is that there may be (iirc: are)
drivers which depend on being able to find/access certain capabilities.

Also - what about extended capabilities? Don't we want to hide them all
then as well (by returning 0 for the 32-bit value at 0x100)?

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -513,6 +513,36 @@ static void cf_check rom_write(
>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>  }
>  
> +static uint8_t vpci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos)
> +{
> +    uint8_t id;
> +    int ttl;
> +
> +    if ( pos < 0x40 )
> +        pos = pci_conf_read8(sbdf, PCI_CAPABILITY_LIST);
> +    else
> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);

How about avoiding the if/else by having the caller pass in a useful
value, rather than PCI_CAPABILITY_LIST? I.e.

#define PCI_CAP_LIST_FIRST (PCI_CAPABILITY_LIST - PCI_CAP_LIST_NEXT)

> +    for ( ttl = 48; ttl > 0; ttl-- )
> +    {
> +        if ( pos < 0x40 )
> +            break;
> +
> +        pos &= ~3;
> +        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
> +
> +        if ( id == 0xff )
> +            break;
> +
> +        if ( id == PCI_CAP_ID_MSI ||
> +             id == PCI_CAP_ID_MSIX )
> +            return pos;

Can this please start out as switch() right away?

> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
> +    }
> +    return 0;
> +}

Nit: Blank line please ahead of main function return point.

I also notice that the function isn't really vPCI-specific in any way
(except for the specific PCI_CAP_ID_* compared against). Would it
perhaps make sense to have it be a general utility function, living in
xen/drivers/pci/pci.c next to its relatives?

> @@ -544,6 +574,54 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
> +             == 0 )
> +        {
> +            /* RAZ/WI */
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1, NULL);
> +            if ( rc )
> +                return rc;
> +        }
> +        else
> +        {
> +            /* Only expose capabilities to the guest that vPCI can handle. */
> +            uint8_t next, ttl;
> +
> +            next = vpci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST);
> +
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1,
> +                                   (void *)(uintptr_t)next);

In vpci_find_next_cap() the low 2 bits were masked off. While reserved
at present, I wonder whether we wouldn't be better off passing them
"through".

> +            if ( rc )
> +                return rc;
> +
> +            for ( ttl = 48; ttl > 0; ttl-- )

vpci_find_next_cap() already bounds its loops; you effectively allow for
48*48 iterations here. It would seem better if the ttl applied globally,
and would hence want to be an in/out for vpci_find_next_cap().

Also note that according to ./CODING_STYLE ttl shouldn't be uint<N>_t
(this likely extends to other uses of such types here), and plain int
also isn't really appropriate for a value which can't go negative.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 15:22:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 15:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583701.913994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZOQ-0008Id-Dp; Mon, 14 Aug 2023 15:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583701.913994; Mon, 14 Aug 2023 15:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZOQ-0008IW-Aq; Mon, 14 Aug 2023 15:22:06 +0000
Received: by outflank-mailman (input) for mailman id 583701;
 Mon, 14 Aug 2023 15:22: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 1qVZOP-0008IA-II; Mon, 14 Aug 2023 15:22: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 1qVZOP-0001mX-F4; Mon, 14 Aug 2023 15:22: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 1qVZOP-0004xN-0l; Mon, 14 Aug 2023 15:22:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVZOP-0005RC-0F; Mon, 14 Aug 2023 15: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=Esf+aDbPdRMiXS/p4dQUA/qzpybkSTE9KhxYEbVZiWs=; b=zc7ym3VnzK/makgCAKVggWRN8c
	65RHIlpt9+iraAR61k8SJAA5UjXqDHEg+1UjvwpJAvyqOgEPqHfF5OXSOpV5ar46yHhx+JYmpDPoL
	U8PIzA3MEExOKrIpq2T0aWHXTLPVJ9pNnrAb9FrZAbUoewogzkdF/lKulFThCExipvfQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182330-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182330: 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=290959692726bed9a9404fbb151767dba9928c5b
X-Osstest-Versions-That:
    xen=22e71609ad49797b2da141394d07ab5b1c326d54
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 15:22:05 +0000

flight 182330 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182330/

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                  290959692726bed9a9404fbb151767dba9928c5b
baseline version:
 xen                  22e71609ad49797b2da141394d07ab5b1c326d54

Last test of basis   182325  2023-08-14 09:00:27 Z    0 days
Testing same since   182330  2023-08-14 13:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   22e71609ad..2909596927  290959692726bed9a9404fbb151767dba9928c5b -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 15:22:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 15:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583700.913985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZOF-00081J-5t; Mon, 14 Aug 2023 15:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583700.913985; Mon, 14 Aug 2023 15:21:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZOF-00081C-3G; Mon, 14 Aug 2023 15:21:55 +0000
Received: by outflank-mailman (input) for mailman id 583700;
 Mon, 14 Aug 2023 15:21: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVZOD-000813-Mr
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 15:21:53 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2050.outbound.protection.outlook.com [40.107.7.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b7912db-3ab6-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 17:21:52 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8348.eurprd04.prod.outlook.com (2603:10a6:10:25c::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 15:21:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 15:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b7912db-3ab6-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2n9i/CIPa6pmBYhqOAAX69nPHhxKRmxQslOEtfW8RwjgZVYccoL6srnmOFhBX0htT5bjWogURNvmDSCUUOuiJTPfhN4ah3v1SKM8usGXBjHInqHa+cjBuooJM9UUSVTyJh8HHsFJC9LPBh4i8gbkK5C6+MtIcxVta/F9J2tXoR87lZEvOLh3VHXk6RUpwTg+6j2deo0sdtwAEOx2WYQzX3nXDkgfwbtwQGRTDUkbeu62pNGueqo25W3nHz+/FNL8Ja2vrBSQD/HITS2h6EBzAj/QHHncz73IFVg7AtavbhXmLlif6SsC/W65Mx0sun/W/ZNC5Q1OU8+KuEBPZwC5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qMuCYPjsq/uoaxkV5cQCo+ZFI//TVApCj/i8xWKO1bg=;
 b=Ve/pGRqxRoISxlMex4q/7o+IQaQ22Fsj64c0PcORWvK0E/lPPRi5SHCIOllJjf1ipJP+Xr0de46DSzzPZvKwAFeJp3ga+r5kfnxtCed/HlFTleoXYy266kcun3U9Gy9MA9SpdO67pT1xUcSq+TJ1nRWITFASdC/uTlZW07isbZLNCCV8KaMZa7g0ddF3Ciq8N5iUwrAcxJIVTwdp/v8wtrKUxdfODe3wxjDD26LdKW5uOnAsmryNoMrnjju7ZYXFQFWp+crpwZ/qHWvFcZOMzpOmmlq9gsDaoOOmFBbMheyc8D8htPdJ0w0yj7KqtZwbdHfx6UmmDUXwJQv+OxC5gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qMuCYPjsq/uoaxkV5cQCo+ZFI//TVApCj/i8xWKO1bg=;
 b=sXQJY2/xAniuf5cm5hzPKkcy6X2eR/56q3AI0s7T7TpbX/UIZeLrArcYW3zrc22LqAonjSX6eC4TMlJr/FAiYPqyOZxvQ2tN7nfJsMMjsinPP622qVQc1yrHh9KWXKD2jqqnNbIUbcMbj/0xewoSHuu9JAemSvlSb8HHikqKLSzGT/slIKuk9N+Uf1PW2VC8Sqp0rleMAiJ8/8rXKotKKW2kaLDBlRzOKdhwbQ6bFyDKrUBQYrrmpyEwt41+mGuIh5x0nDbnR0H18N/0lSNfWfRIbW9jzgtbV1EhGmNz5NGieq1W1fCx7m/9KCS+qRp5Re8ooY30UsXUtaEeRQ5LHQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c99ef09-cde3-e35c-f9f0-00c06b754786@suse.com>
Date: Mon, 14 Aug 2023 17:21:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Build errors with fuzz/x86_instruction_emulator harness
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8348:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d99e63e-fb3d-45c4-e36e-08db9cda1e46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	olc8WzMp0kijkCg9mHSi4e9vPS4hJ6YypUS75kFjqsTdrQ6BXOlVNdVk1bnWru4dG3l1HYUH+e8OQPI9stWuadzT3beSaWyUIFyeRwt+rnaPRSLg9Y3w4ATPkZj8zewRnjD13RgQnlqwRexyxPUybVuPDk3N3Ooo9uN6AkIPL3OvJ0OpOMGPVcdd4Y7ok9xCXKDNRcV6KHPIt1JuC1c6Mpi2rydmF+RcrSQaED8k/Yi0np6GB4mH9sX9IY7HVfjqNDXkC6XNReSmG0uMnAEsJY1vvZkbIQCUBHojsVX5d4sxdznzAcpr3C/OT4onMSnCvjqZeWnFf/m3sudTlt5nrIQTcYFCp38RI7/4w4OnwuXfLI1gzX9xWt1aJcofPoSvxQ0PVmw/e7oUuP5780Z8N2ZEAFFE34RnOOBmJYl+x+BqejUYDq1eBrIZ7m1qyewKHMR1KoXqfLQXGec3m7Tnqq2Sb3j1RsqwjBr8zkXax3iMnOE0ZYeS8Zd8HDf4jMZ74QaPf8+xjaj4cA1/OKnDnnylkEMANh/auFoQCtvg8C1eUvw3eyDQ9lOTXowXE8mcnkUu+6T7hfZJCNaKAs3vm+I2GcK8LJiyEybR+CcXdP6hQHYRSPIeTHuFCXzwp+/RHILVJ1ZwWYFZ8GXpiucUsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(83380400001)(41300700001)(8936002)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(31686004)(2616005)(53546011)(26005)(6506007)(6486002)(54906003)(478600001)(38100700002)(31696002)(36756003)(86362001)(6916009)(4326008)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tld0aGl5NjN5RFhmcVcvaDZRQTB0dG1QVGdTakMySHdXTkFxU0RPQ3ZDLzhX?=
 =?utf-8?B?QXc1TDRxTnJuWWk1K2NIS2FvNnVuQjd0bDZhR0ZrZXByMFR1SmFoT1B1RG52?=
 =?utf-8?B?Q3p0MnZqbGFMZUl3SjJYODNtQWNFZnlBUDhOZmhpNkxDK3p3VVRFczVmRGJQ?=
 =?utf-8?B?UnM2MDZiNUlyZ2pBdGhKRGtHSFdUWEhGaVNmdXlRQXExcjkyK2xNU0hkQlhT?=
 =?utf-8?B?ZFR0cS95eTZjMUExY0ZBQUtwZlhpdTRpekpDQ0RsMmJxYzl4TnFZTVZqQmpU?=
 =?utf-8?B?YS9sQk1BWUZNc2FtOFRUZ3ZZM3BvRStISDFxT0hwOElpS0E3Zk1wQmpHcE1G?=
 =?utf-8?B?bHgzR1pYY3FEYTFCOHFHMTBmVHZ6d0IwTWFxRFhCMHJrV1dNNDk1TWNZS25u?=
 =?utf-8?B?YUpDRmpyVU5hdGxyNjlTZG84d0R6ZmkvT1dLL3BaMHI5WkRUWmx6YUwreVlL?=
 =?utf-8?B?OXhydnBValFUaTZlcXltcy8xQnhIQm96Ykt3ZGJoOEZMK1JhTTcvUEd1VFY0?=
 =?utf-8?B?Sll1U1pWckhzbFdkQTZPNXNacTdvWG9CZmhER3BkSHBDTWN3NGtUVGk0NDRK?=
 =?utf-8?B?aUdOZ2pJbTNiU1haaUpsVWxaakxTY3FHRHRDQlFRS1RVazk3cHFld1VjWTgr?=
 =?utf-8?B?MjV4RkpTSjBtUTlZUUh3NVh0ZDh0Y2N4Rzh1OHdnbGFHY1BtU2htbWZNVTlK?=
 =?utf-8?B?TnFMRzRtY1RnK3BHb1BYSEw0akxvb1RtT2lHUVdxcERnYWF1QzR1Y3JUYnQ3?=
 =?utf-8?B?WDdna25UTmtESG1naUJpVWNRcWxNNEk1dC9CUW44NXFxTUt2MDAvUGVRZzBI?=
 =?utf-8?B?Q2xWdXNldGFSb3ZXSDBSSW4zZy9icEZqZzRTY0ZlTDdrbTNqcEdHNURrNXNi?=
 =?utf-8?B?WmtDRm92TEd1a0h6Z3NHRFd3enFvVzdiRGlCVWNBbDF3UDdWdHhqRDFRK3A3?=
 =?utf-8?B?dXNZOG5TK1lVMTVZcTBUUU9OWUVOc2xSdkMzMUtGVXVmaGQ3OFlrb0VBQkl2?=
 =?utf-8?B?MTh4dGoxRndBVHBzL0h0dkQyUElqVWlDM3JxMGx2eFVMblNqbXRVQVRYNUky?=
 =?utf-8?B?amlaWHdpTDdVNUNFWDNDdkhtME9ydFBSS081K0FQMUJNWDBodXdvZ3kxSzh6?=
 =?utf-8?B?MDRjbzJuWUVJRDFTTGtPVkxSZFFxUkFqcXduR1R4ejNucmYzem9UaVJ6OXoy?=
 =?utf-8?B?dEpsNWRKTjBwampHUDhZRVFrdGJ4VWo3SXJBZS9wNlhNalFTZWVWdkdCMlVS?=
 =?utf-8?B?M0x2NmdIVCs0MTB5UmxSOUhwNTdlSkdYSjhBcjgwYzBnODNyMm9DYWZLYTNx?=
 =?utf-8?B?WkxCdFEzSnAwcHU2U2psR2JmSG5KQ0ErYjAvWk1iNjIyaDV0Q0tuU2xwcFVG?=
 =?utf-8?B?YW9PN1NHNktQTHpCajVudmZKbGNjNXdqanlFRmpjNWhyeWZnRXNidVNmRVJU?=
 =?utf-8?B?bDJrbk5ERGwyc09uY25jL0I3blFNTmd0WnVkVCsyS3JTRWVqWG5UQUVhRW9u?=
 =?utf-8?B?eE1uQWQ2MWg2RnhiYklnU1YzZ2tKR05idTRYeWFzamFMbVJXWDJyQndubmtZ?=
 =?utf-8?B?ZDlPZEovR2RCc3BNc1NNL3JmdTF1bXNhNE5hK0xhZHloRUw2U0pzOWVnL3BE?=
 =?utf-8?B?aGpEQWlCNnBSZmlKUjlGRmc2R3ZRbTJCcWR5KzVmN0NxbFJFa1V6TXUxaytm?=
 =?utf-8?B?N0FOeVBxaU80UFlINU1VbjdMWldZTGlGb2IzWU9RVW1VV0QrZldlWk02Lytm?=
 =?utf-8?B?ZmlJZm5zV2pzb0QyOFl0ZUIyZDJjdElTRFJwUTFxb3JXZFBBb2Nydng2MXlu?=
 =?utf-8?B?MWNFY2IzYUdXdUdCUUlGRW1IWE5kTkFZL29LTmlWSlpEZnF0ZDk3VWdwMmZS?=
 =?utf-8?B?UG1ieVFvZ3c5ajlDZjJSUjV0di9XZ3ZJRnQ0NklvQitzM2xOMkt3QnV4L0tZ?=
 =?utf-8?B?NXVoZWtDL0hRMGUzM3J6M1FqRlhsbzdkNG1Ub0syelR6U1R3eXJzQjNTMlM5?=
 =?utf-8?B?NEI0akdySEdEV3crUWg4UVp3eVcwVGtJVkpCV3YxN2pRT0NxV05CV0srQWFn?=
 =?utf-8?B?WDY3TEx2ZE56QXNCTVk1emVYVVZnM0NYdmdYMSs4TEJCRGtFd3FqZFluOUtl?=
 =?utf-8?Q?USzAjk55tt1EAH0o+QlN5MdWI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d99e63e-fb3d-45c4-e36e-08db9cda1e46
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 15:21:22.9023
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OliZ1JA8TJdxG3W42N/Bq9xo5GkM9oVWXULpu5crJnx/YwKJUKC+GO09OOqcs6b/k9tIHK0xQawDf1JbhQh2dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8348

On 14.08.2023 16:52, Andrew Cooper wrote:
> See the attached log snippet.Â  This is current staging, with a GCC 13
> toolchain.
> 
> First of all, a minor issue.Â  Counting the number of
> `-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__`'s, we
> have included CFLAGS on the CC line 4 times.Â  This is something that
> appears to be in common with all of tools/ and is probably the primary
> contributor to exceeding the Gitlab CI 4M log limit...
> 
> Next the error.Â  This doesn't build when CFLAGS coming in from the
> packaging environment include `-flto=auto`.
> 
> Clearly our wrapping trick doesn't work with LTO, but it's not obvious why.
> 
> readelf -Wa tools/fuzz/x86_instruction_emulator/wrappers.o | grep emul_
> Â  [223] .gnu.lto_emul_fwrite.38.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01c2ec 000194 00Â Â  EÂ  0Â Â  0Â  1
> Â  [224] .gnu.lto_emul_memcmp.39.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01c480 0001a7 00Â Â  EÂ  0Â Â  0Â  1
> Â  [225] .gnu.lto_emul_memcpy.40.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01c627 000175 00Â Â  EÂ  0Â Â  0Â  1
> Â  [226] .gnu.lto_emul_memset.41.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01c79c 000186 00Â Â  EÂ  0Â Â  0Â  1
> Â  [227] .gnu.lto_emul_printf.42.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01c922 0002cd 00Â Â  EÂ  0Â Â  0Â  1
> Â  [228] .gnu.lto_emul_putchar.43.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01cbef 000216 00Â Â  EÂ  0Â Â  0Â  1
> Â  [229] .gnu.lto_emul_puts.44.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
> 0000000000000000 01ce05 000180 00Â Â  EÂ  0Â Â  0Â  1
> 
> shows that there's something relevant in the object file.

But only sections, no symbols. Doing a simple test with a trivial source
file, I observe that no actual code is emitted at all, and hence also no
symbols. Which means our trick - working entirely behind the back of the
compiler by inserting .equ in the assembly output - takes no effect on
our own sources. And really the errors in the log fragment you provided
all point back to standard library headers, where (just a guess)
something may be done that cause _some_ code to be emitted, for which
our overrides then take effect.

> Manual poking about in the build environment indicates that
> tools/tests/x86_instruction_emulator is similarly impacted.
> 
> Any ideas?
> 
> Obviously we can inhibit LTO for the x86_emul userspace, but that ought
> to be a last resort.

To get the build issue addressed, merely suppressing LTO for wrappers.o
may suffice (provided such mixing is permitted in the first place).
However, due to our overrides not taking effect (as per above) I can't
see how the resulting binaries then would work correctly.

Question therefore is whether we can find a way of effecting the needed
overrides (including for compiler generated calls) without resorting to
emitting .equ (or alike), and hence without doing it fully behind the
compiler's back.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 15:35:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 15:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583717.914005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZao-0001nc-Lv; Mon, 14 Aug 2023 15:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583717.914005; Mon, 14 Aug 2023 15:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZao-0001nV-Ho; Mon, 14 Aug 2023 15:34:54 +0000
Received: by outflank-mailman (input) for mailman id 583717;
 Mon, 14 Aug 2023 15:34:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4tgG=D7=citrix.com=prvs=583eff3b4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVZan-0001nP-LU
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 15:34:53 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1abfd44f-3ab8-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 17:34:51 +0200 (CEST)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Aug 2023 11:34:46 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6697.namprd03.prod.outlook.com (2603:10b6:a03:400::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 15:34:44 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 15: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: 1abfd44f-3ab8-11ee-b289-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692027291;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=sTHPQv2CsGuGXE2CEzb8nMBug0A8CGzXYyLjD63Ozhg=;
  b=bR+yPHEQXBvqoBbSXRMAn05MJ4Z9gqLanZ5JTQG6Uu8rKNQLIsmoS0h4
   +Q+SRWKwnWg40JXc1ytd5FqN6hOzLYxiggmoDcqHEXnkWSvOCzBIp7yu6
   dQHNL/rNH+ncXNRaFh9SPRKPj4uBddjz6QD7a/o/UUsc10rX42A92+TTD
   A=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 118722708
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:kkjU364bwpwQomQjf/7aegxRtCHGchMFZxGqfqrLsTDasY5as4F+v
 mEfXm2Aaf2LNDemedAlao2z80xTupaDydVgS1M5qiwzHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS4AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 +VbLRsGdhK4ns3n/I+EQclXg+QoM5y+VG8fkikIITDxK98DGMqGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnUooj+SF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtLROLirKEy0DV/wEQpCQJJVgCCj8DppXalX/YcB
 0Yloigx+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU331y1uPhTa7OCxQIWpcYyYBFFEB+4O6/911iQ/TRNF+FqLzlsfyBTz73
 zGNqm45mqkXiskIka68+Dgrng6Rm3QAdSZtji2/Y45vxlkRiFKND2Bw1WXm0A==
IronPort-HdrOrdr: A9a23:+B3PqqqSLA9HcT4ZMCy7YYwaV5rdeYIsimQD101hICG9Evb0qy
 lhppQmPH7P+VAssRQb8+xoV5PufZqxz/BICMwqTNWftWrdyQyVxeNZnOjfKlTbckWTygce79
 YET0EXMrbN5DNB/KLHCWeDcurJwLO8gd+VbeW19QYScem9AZsQnjuQCWygYz1LrBEtP+tBKH
 IFjPA32gZJfx4sH7yGL0hAZcfvjfvRmqnrZBYXbiRXlDVn3VuTmcXH+wHz5GZlbw9y
X-Talos-CUID: =?us-ascii?q?9a23=3AMyFrOGmkvTbTsTGKZt+85kBjX0HXOUPEj3L7KFe?=
 =?us-ascii?q?6Mn9GGYGodlSww6ZEmNU7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AUXvF/w4ssGsWynkcGhfwKsDuxoxS4rvxCxs0v6x?=
 =?us-ascii?q?WlPGfMQgzFz2s1DaoF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,173,1684814400"; 
   d="scan'208";a="118722708"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JkWioMcZ6HQ8q3gbkm4hOQQm3wu3sdu6AZKT2JKM64uASP7isf4+/WZmAf9+vhJf94uX/ORtrhRtXPAMEZuIrlITZ3ZH81csE91StIwXo7NjG/GPlWVj1Lc+Iy0o8qkplmhu3RJsyTFF6SqV8babZN/WbLB1LAVvSsffocXcaE3GNmXwPzvSpa1f1oaMuRBUwZ/0CGcs6xFMFgSWC2j8ersyL3Av3hjLbDWlhqMLAERa5vHY2ERDsqkoGRBVz84goRwu7zvfNfuv1g6glbT/r4hHn5tZj/AZR3EFPmjvQ0ndDN0+XPm6X8oo4p+KsK6LW8qpmEVcYSkAoHi/wiufnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sTHPQv2CsGuGXE2CEzb8nMBug0A8CGzXYyLjD63Ozhg=;
 b=h5V/ihsblTGU4ZmD0BmkjuKfoQcKyPmCTMLJXu4ZN+0fr+beb4sYYwHk6HO8Bkvt6mjJ582IUyDNyeMGOBdusIvq2mtgloOS/Ij3XcJeSd3EJr6lr3drwthgOzXJh92vTv07wPD0a6EzHMScgV/Frw7LMC6wO5mT3sWoD1RYL9lVBanOzhzSvsPdswlbzJOEUJ7acuVh1ooFU8VUILWN3AoX2uViU1p6dd1rDfaDzKfcaWs9EMKFCxWgVrCzYErNPjwKEMl3QlVvOe7/OZMV5v+4e7y/YE46PPUx8rpiKkCPFHQLTl9ckz3gXcYi+vVAG6ch6xBI9Zoa4L9g1oO2gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sTHPQv2CsGuGXE2CEzb8nMBug0A8CGzXYyLjD63Ozhg=;
 b=VF1d7+Ls5hruv/6b1MybaKmP45/LYsOxXE6jvGdK/KozZZ/MygFN8GYC74tXAodhRToGvzS1pjGjATnWDNVo47pS+FpoAPNOOPW1d2xdYmaOHixWNRn+R8uAaIXGUOrtUndpYMyENrGyyoS/ukucvc9nUxdYc6cCD+KD5mNIlCs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <13be7a9c-0619-b691-a364-b5aa7a110fb0@citrix.com>
Date: Mon, 14 Aug 2023 16:34:37 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Build errors with fuzz/x86_instruction_emulator harness
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
 <7c99ef09-cde3-e35c-f9f0-00c06b754786@suse.com>
In-Reply-To: <7c99ef09-cde3-e35c-f9f0-00c06b754786@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0003.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6697:EE_
X-MS-Office365-Filtering-Correlation-Id: 30503978-4b12-4ba8-dd9d-08db9cdbfb82
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e6Z9cjkUdaexjaTOIE0t2Lrfd0xWTToMDpl60Om4tEOF21CcdTMIvVtI4Qf1aACYFhM6Gx5+Kmwm+rkH83Xp0Yfj2+80Vzs2N4Y/lawakzobp/REm5IbeUAdCcpBKEDru7DOCSBKra4JOE3GgaIbgdvxyCSAjZEpJ2hIyAHcSF5bYZsG2QyPnFSnb4AjnE/E5PmRZIrBGdUEC7tZWiRujQk5Sg6c0iIhVqyAmUw9GinygqXypKSeG40SnmuFOyn8Tg7C15ZcA8PoQZqM/buCgt4FVWSrTiIA2KRxMdccexoeAYxnWTeiwGptGR1bUJTyd76hdOcS8v6VmWHuboRy06ajbN7WI8qG3hYW9Y+s08xH3QMNR/sj9McOaM37sWQ+KFSQ5M6iqATCOrRhq0LW2lIy695j+/GxaHq77s7Rqgh/4XwXE1IiFQtexPJYvPs3AmIMtUtoz1UqTFxXlyARWGg4/z8TUlEMIsq4vQXAswPRHbVt7AEDR/x4G7Hk8w+xEOBZ53faT/8GtKwDhoH0Rnwostm4DHckyIDP/b6CJZSsi/+Lu0WBUF0/n4skFOfZD/Muu4Wfai5zKNxoJ32Q4px3AbuXzjGbIVT7zz8Oi3LX5RnfU6hoHFQBwe/phdqI9siFw9N+xvA2Kx04pNgxBA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799006)(186006)(451199021)(82960400001)(478600001)(6486002)(6666004)(6506007)(107886003)(26005)(6512007)(53546011)(2616005)(66946007)(6916009)(66556008)(54906003)(66476007)(8676002)(316002)(4326008)(8936002)(41300700001)(5660300002)(38100700002)(36756003)(86362001)(31696002)(83380400001)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHFBazViMzB0QUkvR2JuMElpN1o5ekZEUXp6dTAyRnZ2UDRMamNjaWY5Q2tT?=
 =?utf-8?B?TGova2FQU0JNbC9ZMGJzS2RZOE1UMnJndzhBREp0aWlsL0lZSkRSbEFMMmtk?=
 =?utf-8?B?R29iN04xVlZ5eWxTRXR1L040dkxpUDJiV1RGeVBUR29vYks5eXpmWko2U2kv?=
 =?utf-8?B?bnhpaXZ5a3FHaFpobXozbUlmVHE2aTJsYitrVmwrV2RjaFV0YkZsSU4wdHZx?=
 =?utf-8?B?UzkwZ3l2aFptS1RmWkJaN1JudThkZGxwK0xDVTNMZHM1Z2NZQ3N6M3U5NkZ1?=
 =?utf-8?B?clJES00xOHVaK3JPcWJHM3JFeitPZE9zRFdJVXdaUkpwMXpLSE1HVUQxdXZ3?=
 =?utf-8?B?WlBCeEZmcDFLWU9sZGR6N2dLRVNjVUt3ZjI4bnE1MDFxQ2hLS2paUDhDWElC?=
 =?utf-8?B?cjRoeEl5enorc2RndHh0SkxWUjQxZDh5a0NGR1F3c1FXRTVlZFB0SFRsT1lU?=
 =?utf-8?B?ZXFXS2d1L0RjTldrTG1TVXFaNjlMRVI3SDBLRG1BRkd2RURIa1pvYXdiRHBx?=
 =?utf-8?B?cFhmNEFPSCt0eENMSThrS1FWZWdQYVh6RXNUeGM0RTlFaWM2VXNJZFpaVjlH?=
 =?utf-8?B?b2l1cXdmMUFXa2JnelZCaG1hOXFWOXloR0QzK0twRXNLK2R2c2hES0V2UnVa?=
 =?utf-8?B?c1FEdTlnZStXc0J3ZHMzb1pBcHVsaDhqN3djR1RnbkQ2WTF6eGIwbHBINHFF?=
 =?utf-8?B?VS9RZ2Z4eGxTVkVBSjNaWWlmVnBMOTVLWWlqREF1bFBnZFdkODZpeEh3V0ZY?=
 =?utf-8?B?bDcwWWFQSWhBREFRZnFvUVYraTJ2OS9VQ0l5UytRUnpkQjF3S1RESEluL2hw?=
 =?utf-8?B?c21TVDhjTEpjUXE3V1VpRG43NG9JMDVXczBaemZUR3ZwbFVJeHJWcEc5cEdX?=
 =?utf-8?B?NXVwbW9jVGR2N2VKYTJwQ09sdmxKWnhWaE00cks4WEZXdkx2bFZIQVVQZjI4?=
 =?utf-8?B?NEhyRm1pWVQrYTRCOGpwMHBSQ29SUERQYUMwVHN1RlpwS3dZb25TTStTSklm?=
 =?utf-8?B?bXRQR0grQ2N4T2hJWGxoUTFlQzhTaXkzZFNOdENGUUJ0cVhyakJWSko5OHRw?=
 =?utf-8?B?cU80RGd5NjlmWDc5d1FEMkNFN1pPdlVXWkhqTGdDQTZpeXljNEpVRHNkcDBm?=
 =?utf-8?B?bHdJd0NKZGhaMGdyVjJVdm9GS21qMjMrODQ3S1RyNHFuQ3FSREFqdkI3RGZr?=
 =?utf-8?B?Nnpld3oyTFlQUVFGMXEzZjFTTDBDSVhtMHdHaGEvYjA3a0ZvTlJ2d2RRODBq?=
 =?utf-8?B?UVhGWWJUWEpsQk5tSFpRS1NVLytyL2xkRGtUeEtZa3FkM1JRbUJaK1dRLzFU?=
 =?utf-8?B?blM4ZEpRRFh2REVBdjJkSVVOZExUSTZXQ01nT012eDZzeWplblVKRkNtMkgr?=
 =?utf-8?B?c3JFY0ZrRFVWS0ZiNnJLRGRZNjY1ejRXZGVyU1pKdjgyd25sWXFhRmFHS1Q2?=
 =?utf-8?B?eVNMYmMxNmRiVXVpWkYzeDB0TzJSSTB3eTZsY1M2elhoY1MzZ3dicUJ3R2Uv?=
 =?utf-8?B?bk9FbVVHRm9EdjM5Y2dSeXFHbWVqbTN2dk9NNGZxSVZSbXBKcUw4aXQyTzQ2?=
 =?utf-8?B?cEFqRUl1UFBsOWtFVmVtUHdJbUtQR1RSTmlXYnU2cENydll4QjdaWVRDZEZn?=
 =?utf-8?B?TnJLeFFXaCttV1BubTlFR0tZTGttOFJUM3hTRU0zL2V3TDRZTVVNTVVGMm5Y?=
 =?utf-8?B?SXN6YlpJaXZFSXlqTUVVbkJacHc3ODF1ZDNRbS9uTGI1aVJaSXJqVDhKK3Zr?=
 =?utf-8?B?dWlrQ3poU3Z0SlBkelZvZWh0c1hOdHJiVGJQZGNhdXdoTGpycklWNUhtUENN?=
 =?utf-8?B?Rzg3RGtBNk1KeUFpdGZUYkNMWlRKQ3pHeG41V0FqVWNNT1UyYkxRd3AzRFQv?=
 =?utf-8?B?YndrSlZWOEhUUUVkcldLNEYrT0ZVTEwxY3V6UURUSDBDb0I4ZHFWaVkxR2dN?=
 =?utf-8?B?M1VLWFZ0akJWZk0xNHUxMURVNVJjK3BjNWJxMmxacmc5cStyY3lqYmFoSTlp?=
 =?utf-8?B?dkZqVFdJci9KWEk5b3JGM3dzVTlTM2RhZnBkZ0p5UVpTNjV1dmhUcnA0aWlq?=
 =?utf-8?B?WGMweTlyZ0d5SHE0RVAzKzVXWFpXMGQ1Y3lBcEd3ZjZnZHN6TWtXQ20yTFls?=
 =?utf-8?B?NVhrQ2FpOWpMQ0tGdFloRnZsU1IxTU9ERmlNWHVWeGlqL2NZekJyZW5sZTU3?=
 =?utf-8?B?WFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vYm/CefnFOsDA3h6Yw4swN9MAoHOckqy2ixnYm4Xhp7/4JDTK0bhcEhz2oHF573ob4pMkRjYqBCTSLJWf/X2DsUShCCeTiyHkZLzwwqvkXlexUwEI+sdUHjhrA3YrJerbL0agX+kGkK/AffC+fdniwWVHwmf76fgzrsPkLUq32V0CQph+F7w7nrxe9t6YYdeD08f5co7axMwXPeFeAb1oBWG5U21IHqdtdPoLGGonhB4XaBEUUqqOlcbzw70HjYsHU0EcZB4UFkMX5XkM3xb4Hq+QyTTydtqsXlyYwtHvT1p0ZtHIqS9qGsFf/B2IwSvvvhhNrH249JopN2XasCrZGjvCr5cc+J7GAmeEnFg6oaXVgLOiZuN38VOcY4g18x7YCwX6ZKENODc0PBjk5OWXMw9utSlLhyo2DvUA0p5S51Dqgl1hoBNAEN/xRKDvT1XwH8XZJ2dYSAS8xgFYiB+020CYI7YAf46p+7raUMq3icjPLnGXzh+TrSvi1N5bvBL8bB0wRaIY8+EEbF0+CaXEX4Zef2M9C/EZAY4RJJgtvGeXURomWuZJsq7wtX+t/73cqF0N9cV9WY8fzxhgeXHymKJGJDS9ER4beOIsh+mQr7ma/u8WdtHygzajd7/xSBICZRpUHIYLgRV0WADFMmOvw4YyOrrcwMcMZlFUATQiq+Ce35lQK86242/YepqokxA9jiuR9TWnE9EI5xWhsAsKAFqXunIe8OpPTognu87UByWkaj23/AR/ISTLuvMfSdGhJSZWnERJe5R/gMR9ZITxIl/QE+1IQMq7s2CTZEl9Ok=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30503978-4b12-4ba8-dd9d-08db9cdbfb82
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 15:34:43.7820
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: avQpi8ZJbW3va4vIu2QwbdazfCOEeAwijbMfOQNHqjtFxawaxrLPqhaFqeoSN6NPXB5ifmP5wxjgqk7Mtz3dq8QUdtPLkB1VIbIpPUmax1A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6697

On 14/08/2023 4:21 pm, Jan Beulich wrote:
> On 14.08.2023 16:52, Andrew Cooper wrote:
>> See the attached log snippet.Â  This is current staging, with a GCC 13
>> toolchain.
>>
>> First of all, a minor issue.Â  Counting the number of
>> `-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__`'s, we
>> have included CFLAGS on the CC line 4 times.Â  This is something that
>> appears to be in common with all of tools/ and is probably the primary
>> contributor to exceeding the Gitlab CI 4M log limit...
>>
>> Next the error.Â  This doesn't build when CFLAGS coming in from the
>> packaging environment include `-flto=auto`.
>>
>> Clearly our wrapping trick doesn't work with LTO, but it's not obvious why.
>>
>> readelf -Wa tools/fuzz/x86_instruction_emulator/wrappers.o | grep emul_
>> Â  [223] .gnu.lto_emul_fwrite.38.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01c2ec 000194 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [224] .gnu.lto_emul_memcmp.39.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01c480 0001a7 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [225] .gnu.lto_emul_memcpy.40.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01c627 000175 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [226] .gnu.lto_emul_memset.41.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01c79c 000186 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [227] .gnu.lto_emul_printf.42.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01c922 0002cd 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [228] .gnu.lto_emul_putchar.43.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01cbef 000216 00Â Â  EÂ  0Â Â  0Â  1
>> Â  [229] .gnu.lto_emul_puts.44.43da3a7fd30cc0a1 PROGBITSÂ Â Â Â Â Â Â 
>> 0000000000000000 01ce05 000180 00Â Â  EÂ  0Â Â  0Â  1
>>
>> shows that there's something relevant in the object file.
> But only sections, no symbols. Doing a simple test with a trivial source
> file, I observe that no actual code is emitted at all, and hence also no
> symbols. Which means our trick - working entirely behind the back of the
> compiler by inserting .equ in the assembly output - takes no effect on
> our own sources. And really the errors in the log fragment you provided
> all point back to standard library headers, where (just a guess)
> something may be done that cause _some_ code to be emitted, for which
> our overrides then take effect.

It turns out it was GCC 12 not GCC 13.Â  Things build cleanly with no LTO.

>> Manual poking about in the build environment indicates that
>> tools/tests/x86_instruction_emulator is similarly impacted.
>>
>> Any ideas?
>>
>> Obviously we can inhibit LTO for the x86_emul userspace, but that ought
>> to be a last resort.
> To get the build issue addressed, merely suppressing LTO for wrappers.o
> may suffice (provided such mixing is permitted in the first place).
> However, due to our overrides not taking effect (as per above) I can't
> see how the resulting binaries then would work correctly.

Indeed.Â  While I don't particularly care for the fuzzing harness (It's a
little dubious that it builds by default but doesn't install anything),
the main emulator harness does need to function properly.Â  That gets
widespred use in testing.

> Question therefore is whether we can find a way of effecting the needed
> overrides (including for compiler generated calls) without resorting to
> emitting .equ (or alike), and hence without doing it fully behind the
> compiler's back.

--wrap= each symbol, except when compiling wrappers.c ?

This seems to be the normal way to mock out functions including malloc()
and friends.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583718.914015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZav-00023u-SR; Mon, 14 Aug 2023 15:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583718.914015; Mon, 14 Aug 2023 15:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVZav-00023n-PI; Mon, 14 Aug 2023 15:35:01 +0000
Received: by outflank-mailman (input) for mailman id 583718;
 Mon, 14 Aug 2023 15:35: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 1qVZau-00023V-TQ; Mon, 14 Aug 2023 15:35: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 1qVZau-000229-Os; Mon, 14 Aug 2023 15:35: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 1qVZau-0005Jf-GL; Mon, 14 Aug 2023 15:35:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVZau-0002qz-Fs; Mon, 14 Aug 2023 15:35: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=XiEQxK9xVevEpm111j1dH8nSIH/hQRckn1dJ8FvmQ7w=; b=tBIwau6JCpd6AhJ3xOnPnzKlp8
	wfPZJQxfhlIOigUtZ4uIc/pvFMlhZbXvYNzd8GRfkn4iA3DrhmstFgkUQn/gsWCVFslvxn4/Hq90x
	xNB/oiRN2MxfWn9pd+tJ+3pppCxQSbdkgwcfXJuR5SAP4/egg+mbC/v9Nnc3S5YINxu4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182321-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182321: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2ccdd1b13c591d306f0401d98dedc4bdcd02b421
X-Osstest-Versions-That:
    linux=c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 15:35:00 +0000

flight 182321 linux-linus real [real]
flight 182329 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182321/
http://logs.test-lab.xenproject.org/osstest/logs/182329/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 182301

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 14 guest-start     fail in 182329 pass in 182321
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail pass in 182329-retest
 test-amd64-amd64-xl-shadow   23 guest-start.2       fail pass in 182329-retest
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail pass in 182329-retest
 test-amd64-amd64-pygrub   19 guest-localmigrate/x10 fail pass in 182329-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182329-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop      fail blocked in 182301
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182301
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182301
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182301
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                2ccdd1b13c591d306f0401d98dedc4bdcd02b421
baseline version:
 linux                c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3

Last test of basis   182301  2023-08-12 17:47:06 Z    1 days
Failing since        182313  2023-08-13 07:56:11 Z    1 days    2 attempts
Testing same since   182321  2023-08-14 01:10:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandra Diupina <adiupina@astralinux.ru>
  Andrew Kallmeyer <kallmeyeras@gmail.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Chengfeng Ye <dg573847474@gmail.com>
  Christoph Hellwig <hch@lst.de>
  David Sterba <dsterba@suse.com>
  GergÅ‘ KĂ¶teles <soyer@irl.hu>
  Hans de Goede <hdegoede@redhat.com>
  James Clark <james.clark@arm.com>
  Jean Delvare <jdelvare@suse.de>
  Josef Bacik <josef@toxicpanda.com>
  Justin Tee <justin.tee@broadcom.com>
  Karan Tilak Kumar <kartilak@cisco.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manish Rangankar <mrangankar@marvell.com>
  Martin K Petersen <martin.petersen@oracle.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Michael Kelley <mikelley@microsoft.com>
  Narsimhulu Musini <nmusini@cisco.com>
  Nilesh Javali <njavali@marvell.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Saurav Kashyap <skashyap@marvell.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Tony Battersby <tonyb@cybernetics.com>
  Vadim Pasternak <vadimp@nvidia.com>
  Vladimir Telezhnikov <vtelezhnikov@astralinux.ru>
  William Breathitt Gray <william.gray@linaro.org>
  Yang Li <yang.lee@linux.alibaba.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Zhu Wang <wangzhu9@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                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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                                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                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 996 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 16:04:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 16:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583734.914025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVa36-0006Nc-4j; Mon, 14 Aug 2023 16:04:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583734.914025; Mon, 14 Aug 2023 16:04: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 1qVa36-0006NV-1Z; Mon, 14 Aug 2023 16:04:08 +0000
Received: by outflank-mailman (input) for mailman id 583734;
 Mon, 14 Aug 2023 16:04: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=Q53I=D7=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVa34-0006NN-BN
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 16:04:06 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7d00::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30faf24e-3abc-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 18:04:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6977.eurprd04.prod.outlook.com (2603:10a6:208:189::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 16:04:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 16:04:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30faf24e-3abc-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RndI78nORcTtcFA8hEXu2XJlAoaMSRdzpweLh1er5zSBUZS9vwnI3mb33VQG8aRBvff6fitH92C3SmXaNPz7cTrVJP1PY/05ydjwGRM4twCRBKyY8wz1lyuvPQ21xtRstI4SzAxZPqHC7V9My5IV3Q1xVaeES4Uhj2Bgx68cscV0imLsvcQbghoLyCfuQGckJDyNvKsqwDfDVq7N9boUKbASKqR2L527q65ES1K3kpyS28wQQVHZEJDwABwuavp+/WnCkg7Ig/NkQbdVhZ6Oi81jwOo1dcUsHaLvou5JKFyt0/VZ+se5avJPFO1XPvbOPBZmR9GgSlv4KlaFLDGaGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8BBVelKimRRMdQ8LroyMFV401PUeug8LMS7ukMvyyqw=;
 b=b9Xqxgilw8kh/qbpPY/KXsNOHAAvlThY3xjMYmenGPgficwFr1OiBjGUZIGp4lShJSHzIvQuCwc3vQS6QoPNUfLmeeEZar3OGN6qqUTKRbPMhOs5j8w9dn4jRSlWk15p03uaVjekbv1wWjFgDKiM3aopLnGtThCK3J9+ddisCEx6tlkis7ylZt6PSMwaUyNvTduaAww4xy2gftpuHtGoI/kqZNmzpZazdkWHgseti1emF2KNxXDPisdsKwMIFQlfWXvgStHJ4kL9WIPAvEQI3Q/mkG8yBwmTz2YXHUng25JbGvGAChLOA7NnslGJErB/EL2u8u8o7ykC1ZMtrPsEqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8BBVelKimRRMdQ8LroyMFV401PUeug8LMS7ukMvyyqw=;
 b=dCtH3uIt/eoJU2Am2Q7cAXEG8wS+EIxVrb4uDVVRicf72FN69wUZaaParuYSw4dkR2y0z6KwDC9k7OMgSDZ77hWhccqKtdd0Ajcoj05iynoi6qfIfwKyzct8YK23Fqzzk55RJMUqPpszHy67tXXjf5KSYDH4+D120CQT11LpoInfIpe/g3PwuKN1LZ1hLuO3bPRjG/ct3WrB1AmedlOZYHG6Fkok3AZMmopgh5j5Z4jbKccmrLhXfFvtGT8dem2nSJbVvIZ1kkoD3wWBp89Hq+BDzuVdJVcLNoR7hlee7ftn+h7RUTqaUB1asqfy8PY24SYhiQLsima7bopzDfpSNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fa3faf14-84e8-5fdf-8cf9-a5960a16beab@suse.com>
Date: Mon, 14 Aug 2023 18:04:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Build errors with fuzz/x86_instruction_emulator harness
Content-Language: en-US
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>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
 <7c99ef09-cde3-e35c-f9f0-00c06b754786@suse.com>
 <13be7a9c-0619-b691-a364-b5aa7a110fb0@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <13be7a9c-0619-b691-a364-b5aa7a110fb0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0177.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6977:EE_
X-MS-Office365-Filtering-Correlation-Id: ccd4ec2f-baaa-46b1-d7ba-08db9ce01404
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O5R3f7kNAwRepZBQD3Sk5Z8CnOElgMeYD+OwubDTAHX2VZ6A6aaonqr181/Pl8xUOnArwPlvj9sthomfJucdEUr09JhES++FT5oFRPzf+lblqXa37MKgVtsQv+satv8IF2obwmOC0X30vNMkNAFKjFPbN8LCd4zZC807Wg51tJGi9hlnnpsrjYHP9fwnsyLYaiOdj5Gl9LA7WlmdQ8ZSCuhEb2qx+4sRmdNfLpmuru6uS/PABCvQrWwm5e93I8s+sKfisxE/UfpLVTPrPPhlWJ5p8RL1zSYwuJw0J4LrXrXHJGf2+gcEHBOkYBaMfjcCk58XpmGxjW1c4xP/h2nXbTcxIjXq547WLnkhlCHBY9GedV0nSxs0KhW8nHy7APfMhgKoujCg8LkbCciMSD/fluD2B+GojlkyuEE3iGWpsB/BQRIL9OaZHx+R/+BOTfmYsbGSvVGYasDxKEo0kaDgpY+Mxl4Itlh6VV42699UfTAJpljIiToGFI1qeJeQgpjTrOSJ+hQ4ElkAvTry0XGam+CK5+MuOZWnJt+lGt1CCQoaoiNVADYhhPRFaby9UxKhJaC1NmHkhCvqTQ+PDw5ph9orYs14AgFn2cX9gjD7o5pjDgBGOlFDO1JsssE6EvSgFqst3iEqHXv2BKSwbQ0AWw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(376002)(136003)(396003)(1800799006)(186006)(451199021)(41300700001)(8936002)(66476007)(66556008)(66946007)(8676002)(316002)(6512007)(31686004)(2616005)(53546011)(26005)(6506007)(6486002)(54906003)(478600001)(38100700002)(31696002)(36756003)(86362001)(6916009)(4326008)(5660300002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDlYNFV0MnhjY3JBMENkSGtYWVZ5b0ZIK05HdzM0UW11Zmt1T1NUQjFKcG1G?=
 =?utf-8?B?OWtoTFJVSjhuYUxZSUZ5TzhEejlPclNsT1ZCcVprMTdoVGt1U3A4NnZHUTF6?=
 =?utf-8?B?RWtob0s2TEQ2UXFnd1NnYUdOSWdHTlJORHpsVGFDblM2MjJEUW9wYnluZ1dV?=
 =?utf-8?B?VHY1ZCtUbnBydnNka1YzeEVkS3hFbGljZllaZWlxRmFFdDhrVEIwSHdOaWJi?=
 =?utf-8?B?WEVMK1VyUkxSeDE0M1RkSXEzTXNqMmZvN2pUc3Z3S3I2V3UxbDBPczRBMEpl?=
 =?utf-8?B?M29hbkE5Q0dFVjUxNzhoTGllOHdnU1NBVldyeHR1R2MrSWg2MzhPRVcydGZw?=
 =?utf-8?B?U2NucERtVlFibHNzZ3JhelRJTVpOWFpKWmhHZzVZL2YxNWJVa3lweUJ4UlFR?=
 =?utf-8?B?OUdaNWtJR1JpdE1RMUxwTUpIc1FDMldWUWkxOGd5RmdmZy85UGF0Q21nTkxw?=
 =?utf-8?B?eU1aWW51TGoyVW0wZUo2WmJkNy9LWENlbFRWaXR3a0MrTnhBbVpiM1RJMHJo?=
 =?utf-8?B?K1hqaG4xMHlIdzVPK0lkRWdVRlF3NHVPQmcwZmlUQ2svTWxMbVV2V3E3dEV2?=
 =?utf-8?B?R25ZZTVvSkcyaHFXZUxyZ2hocE1CeWhPMm11WW1oeEZ3RE5GZDVpU0drTjhI?=
 =?utf-8?B?Zkc5Y2R4ODdUUXhQZmdYenMyL0xkclZPNFRSS3NHRnNaTnBIcEhaWi9sTlhB?=
 =?utf-8?B?Y1hKZzhjeDlPUnJjcFZiWXNGanp0M2pNWTNaR0tMQTlXVWdPRFFwalBudW5U?=
 =?utf-8?B?dzc0emQ5NFplTWZRbW5VUXhKTGcrMnhXbWl0SzRHeSsxTzA0RzhyWE9hTm4x?=
 =?utf-8?B?a2swVzRqMVlSWlNMbXd6Wm1oVkpESXpKSWR5RmtPZUlDb1pvSFpwYmI3VkNs?=
 =?utf-8?B?S095ZmRXV09lelVZT0dxZDBZaUFwZFJ6VmlDLzN4TVQwUFlYeFkxSTdMT212?=
 =?utf-8?B?UlVRbXU3eW8yTHRDRGJxaG54OG5ocW5iL1JXREdqZ20xREc3Njh1OURmbnYy?=
 =?utf-8?B?dnpjQ0JLSERZNGg1WmZLMDJ4R3lENnloVzZLUy90SWMrWDVmclNuenBnMG5l?=
 =?utf-8?B?Z3dDaWJya29NUDd5WFlGY3JDek41NWxPVFpEL0RXNWFXaVo4aFRBMDhyVGdR?=
 =?utf-8?B?ZkVXbERUZTFiZE1KVndlSHNUTE9SOFU5TGZuMllKWmh5eDk5QmNvbnpoMjRi?=
 =?utf-8?B?NmRaTkRHQlRNWE9ycGxtQjN6VEZEa1JnR2RobjRYZUthTU4xd2tlSGJOcTNk?=
 =?utf-8?B?ZzkzNmx5T2N0c0ZZUU5lU2tvejNQYkNRWmNSQXRxU2ZkREUzWmRxb2RTMHJH?=
 =?utf-8?B?eVFGZEh5U2RGQ2ZVU2ZXRmtOa1g3Lzk5ejVtQzY3NnhESXd1ajhuWU9PWERw?=
 =?utf-8?B?V0lkWHJjZ1ErWlc3SnF6d3Q3bmI0Z3pubVdaMC9KSWh4ZFRyVXpvSDRVakZm?=
 =?utf-8?B?VzFzVEpCUDdKVzlud2M2M0tZSHpuVDZ3djl6TGdOOXZVbERDVDhtWUdZcURB?=
 =?utf-8?B?ZVlzUHEwR2JKekoxUU85UGQ0K3F6OXcwR0hVZzd5WllNQitON2hmdTU3U0cz?=
 =?utf-8?B?SGFBWWZkSHlFdGdYOUVVK256VkttYTNRMkZhTElCdndYczN2VGpKbXN5M2wy?=
 =?utf-8?B?byt3N1BOcXZ0UWZwV2RkNDRXOGN3SWs5ZklNbWFCNjBGYWt6Z3JTbFpwTzJi?=
 =?utf-8?B?U1YzN3pWb05TS2htc3RLTHpaVWtRcndzWTM0SmpQZENRaGR1dEdZa3FhRmFT?=
 =?utf-8?B?bzhLaE1IdmhzVlJjVDJoNUM5aER6RUw4WUVhTk41Z2JKWE9sajdNbWdOWFJT?=
 =?utf-8?B?TVF2T29rVytxRlo1eEdORWhwWVZkTmMyMy9ZTnlpRHVodkZWbWxNR0FqMjVs?=
 =?utf-8?B?N3ZnZ2tsc21qbW55ZUcxSUN0QkZjSzFta1pTS0h5MHgzOWVTWGwyNDJJQjJa?=
 =?utf-8?B?QkdDWFpudVlZOXJUUlY0Z3IwWnRSbFpsUHh6dWZCN2NHNlRLZCtGcXJObHY1?=
 =?utf-8?B?NDZScnF4STlhcGhnM1ZaUCsxRmFyd0tmYUNKQ2pPbktzNFJhVUR5NldBYWsw?=
 =?utf-8?B?NXFVWXg3YmxsSm1veFhBWEh5WW05OUgyS1VtbmVVLzVqeTQvbFlLZHAyUHQ0?=
 =?utf-8?Q?SRlnN11oVpO8+F/5QFHOPYvT3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccd4ec2f-baaa-46b1-d7ba-08db9ce01404
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 16:04:02.6866
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g7oR3cehCv+m3Jl7tGW6P8Zr04lkTXc4WJC4jCVf425pNZjJMw7ncJVP9a6LV7uo7sWqmLsyw0hAFUbaDU0lBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6977

On 14.08.2023 17:34, Andrew Cooper wrote:
> On 14/08/2023 4:21 pm, Jan Beulich wrote:
>> Question therefore is whether we can find a way of effecting the needed
>> overrides (including for compiler generated calls) without resorting to
>> emitting .equ (or alike), and hence without doing it fully behind the
>> compiler's back.
> 
> --wrap= each symbol, except when compiling wrappers.c ?
> 
> This seems to be the normal way to mock out functions including malloc()
> and friends.

What is --wrap= ?

I was thinking along the lines of

void*memcpy(void*, const void*, size_t) __asm__("emul_memcpy");
void*memset(void*, int, size_t) __asm__("emul_memset");

This looks to work at least for explicit __builtin_mem*() invocations,
without LTO. Inspecting the LTO object, though, doesn't show any sign
of "memcpy" in any of the strings it embeds (custom functions are
recorded with strings one can recognize), so I fear this wouldn't work
there either. (But if indeed so, I'd wonder if this wasn't a compiler
bug, as then we don't do things behind the compiler's back anymore.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 16:10:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 16:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583741.914035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVa93-0007rf-Q9; Mon, 14 Aug 2023 16:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583741.914035; Mon, 14 Aug 2023 16:10:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVa93-0007rY-Mm; Mon, 14 Aug 2023 16:10:17 +0000
Received: by outflank-mailman (input) for mailman id 583741;
 Mon, 14 Aug 2023 16:10:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4tgG=D7=citrix.com=prvs=583eff3b4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVa91-0007rS-R6
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 16:10:16 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0bd61372-3abd-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 18:10:13 +0200 (CEST)
Received: from mail-bn7nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Aug 2023 12:10:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN7PR03MB7230.namprd03.prod.outlook.com (2603:10b6:806:2e6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.20; Mon, 14 Aug
 2023 16:10:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.022; Mon, 14 Aug 2023
 16:10: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: 0bd61372-3abd-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692029413;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=yoiOotd2DUkhYSX8dKlclJZ8qgieJZ+JBUUNmKMEblk=;
  b=ZZDcZWreBVE912MYtfy7MJwQzs+1gogM3c8eSAPRFcB7MVE3g2XeLuK5
   Mc2QgSv2yEXAgD3d7gtjNeZJhb91TATsPh7ZrbeHCpb1whW1jaynTfjo4
   MCWC6gP6Qyg6CfDm9X52v5V29tE+75Gx+Juc8uuMHrFiZg6kvv9f8A+FT
   c=;
X-IronPort-RemoteIP: 104.47.70.107
X-IronPort-MID: 119465445
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:/6QKQaxyWwM0yFgxKh56t+cuxyrEfRIJ4+MujC+fZmUNrF6WrkUBz
 GJMDTqEaP+PN2ugf490OYTl8EME6pPUyddmTlZsriAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPKwT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KX5A1
 aMxdwpUVwugpOa6+o2+dMlUif12eaEHPKtH0p1h5RfwKK9+BLrlHODN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDCVlVQuuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAdNOSuDkqqMCbFu7yUo6NQwtXmSAhvy6jVSzQNd0B
 XUr0397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIU9x7Z+RpDK2fCITcmkLYHZcSRNfuoG85oYukhjIU9BvVravicH4Ei3xx
 DbMqzUig7IUjogA0KDTEU37vg9Ab6PhFmYdjjg7lEr8hu+lTOZJv7CV1GU=
IronPort-HdrOrdr: A9a23:/1jhYaC0DF54OC3lHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: 9a23:dRWoO25uWbjj7/AkmNss60A0Rel6SCTk11TzJ0OCNmNXaIWacArF
X-Talos-MUID: 9a23:Jwlq8gkcP8wqGB/o1RsMdnptEu5V8p+lN3sqlJYBocSfMAdeAgi02WE=
X-IronPort-AV: E=Sophos;i="6.01,173,1684814400"; 
   d="scan'208";a="119465445"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PjGgEggIRHqrmmljuHi1fjpzfb4W3IebkQgtHskX7ngHqPCurdggoRaP1wrlaGJ3YuhuFfLTo647t745tw147FfZPTlQbFtqq9h8QqDZUHp2xQRsMplQfXhwS6ljG2lZeasHZXhG8BnfD3+uftJ1+Ak6LEW2ULmUy/2bHdL9goOf5lGDhWCot3EAMatBNMx7fkyZ+a1VTj0SQsIOTRvePm8GM9maPlQpyDuomnROq5ABfq6A2qg0YXoPFrPCK6vM6jPc2BshINA1uj+hoSHleH3vWQaGGXNs4rWRauiwNOzQNYMtZQEO6WIRN26Q7bcd16Qh1F+cO7axGhk2AHcm8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yoiOotd2DUkhYSX8dKlclJZ8qgieJZ+JBUUNmKMEblk=;
 b=TJDMQ2cpkZqou0TZaM94z86uYNSVMggEgVO0bbm3T7vihaXmF+WTDAx7pDCKm0lq3tRw4WMj+PpOsAWOyNgrZR2PXVtgymjFbX9OWEp4uo4acxLsBh4IJLeE3ReKw0cr0WRXOWDR8JfFijp1Cp0Gd3ICRO/eSOynLVPN5BjIE8PteU1CSqhJ+BwJAh1CIAdAhQwXym6U+oCoclZWH2bqSE0sOUwC+nmH/quR5YSIfnyxVSB81ewVr9CB5S992jMwst3kwxIrxCzlwu/1ObUIOc+UeA6oCUNGMpw7VeP2dMYO9Js9eYtJcFO/r+RaiTH1gx5vE346tgYwuDaVmTIn6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yoiOotd2DUkhYSX8dKlclJZ8qgieJZ+JBUUNmKMEblk=;
 b=YgfDdn2BEpF6pYbT+/qPVMyh+/x6V13Q9in63p7paAylkwhkzTdbsFDW33tNdQcuOmIXmKZPYlyml9wX7S4PZgfP9nFinHDuDKCPILWii+UCgtH2iZJT8Ql+CME3NivgDij5Vqm9dHQwpCqQXd6RMsITtwZAKOFF77M6Q4PBJpM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <24e3ffa0-12fc-1cea-c937-76a64c97d236@citrix.com>
Date: Mon, 14 Aug 2023 17:10:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Build errors with fuzz/x86_instruction_emulator harness
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <d4826ecd-fabc-03e9-2ec3-788877a560b1@citrix.com>
 <7c99ef09-cde3-e35c-f9f0-00c06b754786@suse.com>
 <13be7a9c-0619-b691-a364-b5aa7a110fb0@citrix.com>
 <fa3faf14-84e8-5fdf-8cf9-a5960a16beab@suse.com>
In-Reply-To: <fa3faf14-84e8-5fdf-8cf9-a5960a16beab@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0466.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN7PR03MB7230:EE_
X-MS-Office365-Filtering-Correlation-Id: 12cf225c-5983-44bf-a0c9-08db9ce0ed86
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	73oSHR8R4maNJF/EKtsViU/hG7Ll2o9WeMnf42+9k4C3i+KBrRLhmjUagoYRNrUujbsD6fGFY6Sw+TLEAtjI4VqYsZxRzrEl7JbfLHLmAvZgwU/oKJlm8A54Ju/1ZL7kwnu3VRzrM20kJp+jznu6p8PVuuyWdoM1+rQRoOD0rXddNuthm1KbUWxL5in9eF7B5mhUqG/+WCo1/pr5VD/+9LTMb+gSgBmqI6srx8KMd+dUpQo1qXNmhfxKglwDMPzcVnqwb3+oPSc4pux6/dpSWYYylWGO8sNEFofSTz/WP4O18S6mcSd3uv82AgIGTlSyQ8KIA1sZ2IYBd7S+OsxDoZulpvrvreLgLvAFNoMCX0WUnnysNSpQGhxvBLlZ2mHRqWyPXEEQrgKGN3Hklyflvb60cbB/y2siCzl4UDL1IaCNf3I3riK0QbsCBVjx56PhRgqwLVa8SYsMtXKJsIwdRWQlGiC2ddU9y+EhxTAinodxrHBO1z2tK6wNbJsHd3fFT8ruo50b9blQN9lyDX9bg2NeszgEdm1Ia5OPjrevXmYx9r1PG4/vo99IPG71EDN00piOsBKk1MAL15AjBdctB1pEC/v0ER5VUk4JVZzj8AxWblLDxdIyt7GFodv4jD/JcanQA1uIMrzan3uFKXhOIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(346002)(396003)(39860400002)(376002)(186006)(1800799006)(451199021)(66476007)(2906002)(4744005)(5660300002)(66946007)(41300700001)(8936002)(4326008)(8676002)(6916009)(478600001)(6666004)(6486002)(2616005)(53546011)(6506007)(107886003)(6512007)(26005)(54906003)(31686004)(316002)(66556008)(38100700002)(36756003)(31696002)(86362001)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGJ0RmRtUkcxYWtPZ2djeWNBVnlONzdsdEhCRW5IcWFrSWJRenRQVnZyQmlS?=
 =?utf-8?B?Q0tSN2s1VnpYZ3lVYVBlL0NnVGYyUWJBSWo3aGNHa0cxb1hBeE1kS1ZSejdJ?=
 =?utf-8?B?czgzMElsSk0zcDluSWkzQnU0eFhsSmlTU3FHR3JLME4ybGc2MXpiOTR1ME5K?=
 =?utf-8?B?dk5HdmNhQytWUndqdGd1UWgrenpsNXFYOXEwSzNpZFAvNzVEZFpBL0pTRWda?=
 =?utf-8?B?YlF4QndEY3FEamVRTVZSdGRVZFNEVlFrbHh4VmJDaDlGT3pET3FjeHlJcWs4?=
 =?utf-8?B?ZVBPZmF5NnU0UURkNDM5WEZRZU52aDllNVlVWFd6M3NjSGhQaGtyY1RPeGxV?=
 =?utf-8?B?VHlJV3o1TG5vRXoveVVQcTJ6VWcxTUNnVDFHNXMzYzBCNEZIeEM0U0dzN1U4?=
 =?utf-8?B?UmZRVmpId09UZFBIOVdZUXZhRk8zVDlpd25vOXBFeGxmQngvNGY3MTU5aVQw?=
 =?utf-8?B?RVd1TElheEUyZmRQcTdwNzlBb1dueDRyWExVL2FtdmJhRHFnUEdPTCtycG05?=
 =?utf-8?B?b3Q1M1o2L0NEcnA0dFJYTHYrdkRSNkk2L01DUXJQWmxNUVQxZWhFS3RDdnpy?=
 =?utf-8?B?M2ZwTUN2TEdHSHkzQU4yQTJBaGhzYVkyNkExM3oxTlZmbEY2UVU0U3I3MWhN?=
 =?utf-8?B?WDRaSVJkR0w3UWVUSXZFVW5ZMEE4YmRCZ2xKNmhlTTVMTWladG54T2NnY29D?=
 =?utf-8?B?eDJEMDh3ZStVRTdkZmx1TUhKdHovZ0ZUZHRaWlVYOURqdHFsbjVjWHlaRnhi?=
 =?utf-8?B?bGIrMnZOOEhUSklKNHRkM0RyOFVaNEZlcUNxOHY0bUR5VUFUVEFxQW5TdEx3?=
 =?utf-8?B?WnRzNnJJdWU4YkZ4NjVLSVMrVVpRdTJxY0Q4RDZ1WitQOXpPRjY4U2lneGFL?=
 =?utf-8?B?S2c1a3dtRlp4Qy9DU2JSZmVsRGhlWVp2OC9adG1aNGFjejJBQVpkN1VISUs0?=
 =?utf-8?B?Z282S25qeU9YaTVEWTliUE9rYWJVenRMTkt2RzJ0UERtVnFRaFZyRDBsK1dI?=
 =?utf-8?B?WVQ1VlorN00xWTRWNy9jcXdhZStCaFlGeEpRMnl3OXo0Tlh4dm8rVmJBeHRs?=
 =?utf-8?B?ZGo3aENqcVNtSTlqTkU3dHVjMnloV0V3VVQrUWdiR2tzVWI2NnlrN0gxNlFx?=
 =?utf-8?B?WGhYZHRSNm9UZ1hMMjlpaFduenZQZU1rRk9PMWtuOWVuTExNUFFiaXZYd2pj?=
 =?utf-8?B?VEc0cnNyaTR1WW9IaTB4SGJsbkNQaG1ncVdpUlc3RGFUUi95T2tpTlp5WG5p?=
 =?utf-8?B?d2ExTzdDUTNTRWJwV205d0ozZDI3a3JWaGNRUjIzazd2bk9zTHV6NndSRkx6?=
 =?utf-8?B?NUlvUWhJOWlwSFVUOWUrZEt0cEFVeEsyMTE1V01jRkl0MmZnYWtndGtreGlB?=
 =?utf-8?B?ejdWQ2lvZlJZRkwyN2NmTW9IV2diVDZxSk9MRmpDMmpGYm5hSERRb1pUVlVa?=
 =?utf-8?B?L0lRMzJHT2JlQ1Q2eDA2ZXhDamxxMU9hd0F0OWhYY0V3SmVZa2FSSG5vMnRK?=
 =?utf-8?B?Qkp3NFJRR3NBMncyWUFlanExblEwK2FuRmhQQ2tPNGYrazNGNUQ2L21JVnlU?=
 =?utf-8?B?R0t1Umtjc0hmTExEb1BVblNaYUdlQ0dnU3N2bll3MktXbE1lTXk5QmdmTG02?=
 =?utf-8?B?cXhhM3I1aG1FeDBJUTBSRmJNOHhYZW4rTWFvS3E4Lzk5THFhQU42SG5waXFF?=
 =?utf-8?B?ME9vdE04eHdodVNpa1BTL1FPSnlaVUhqSjlIZy81KzB5eEZDTjkrM2tieEVk?=
 =?utf-8?B?bThlVGdhUUpESmQ4NmNIYXhPOGxrR0Q2dURBaEk1dS9MTU83dzZ1bzhaMVVU?=
 =?utf-8?B?U0UvRGtEUjVxVGREcmFSdFUxZm9ubE92Yk5zODNiZEFYYVpEd2JVSlMzRG5v?=
 =?utf-8?B?VGdHYzJ5b09FYkVxNnBEeUdmU2Y5ZXlyN2JCY1UwRzg4VUlPQjBRVlp1L3d5?=
 =?utf-8?B?d1JPRThzOXhtTmx6VXJPMDZySXZyemdrWFp6ZWNmVXpPcERlSGNYalVBOFU4?=
 =?utf-8?B?L2FwL2kwcW9MbXVQa0RhU3VQaUNOYnlma0pZWkx6dmswUXdTN2NxamJ0THNL?=
 =?utf-8?B?Zkl5Ykphd29sVS9LS0QwVG9iOXdFZ0lRVUJwSXc4T3NxcUk4OE16b2ZTTVpq?=
 =?utf-8?B?RXZHbmRSQmgwNW16Q3pNM3FlQ2VVWHo3c2VpQ09laWlwNCtZellMNUZWWmlU?=
 =?utf-8?B?Q3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mm2ubRoH9bxwPfFAdVpnCZBdY7YVlu+VfbcxvV94o51m+GlSGBzCsjScyRgz0TeLnRoclwCDO+DwbSF4mZtd69rbMJjW8TM+t+n6Q33zdb0f/e13xXcsZZLFmMRvfzZf9wx1hcvkVBEoP5scMh+6fAxoM5NhSnt9RWffy40k48F5rx3eF06Ar09ksgD20MrjV9aLsUACIkeDV7pKYewu1ajJo7//VeR8eIuQbbIxS6yeQu0DqUnMoPZ398PM8zQ5vOBV/ATvdESZVsqs6mWJVVVgvfdFA0P5gWvn4+Zify0BZL0qWY9SfM0ivx7loR458Q0hymPQq3nmh8pBE8QQSbXLVObuoZzCKuCMbhsGAMSIGCAe2JtT05a8tfsAJ1JrtLfJihdOq/CjmEgWjRHtcILC5aT3+Av9Ol8/ZBbt8uyh7QSPce2dCnCcUlZzKk2LbMVlgNUMGveIMRYItcpUvoPzC2oCY/sCJgrhyITCB3K/fivBn1o3ml0AL89WSYsBLBBbQ6ETvARpgg8cos7E8C5HmCyXBfENJ789zpKHpqJ71IeLfp3DQCgyLvGJtXgU8j4WX7f7nVYuuxXZ0Qr/1Xh0/6lpGK0ndzghy6tFgCf5cGCVhOlZmDmVd8uDf16sNhXPtE6mqsNULj4W2V9aJJS9Dz27EaTKKKRaAFP/U1H8Ki3yyVaT+TALefAr0Ql09UqAHSqHGf6O7walnR2vbVWq9LMc8wOsQeCv/llWZrHLHWUkMBb9Z1+JcQYFNIebr6pW+hoYO2BFTpaUhiDTik3ksAFiRl48A4wH35bjmqE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12cf225c-5983-44bf-a0c9-08db9ce0ed86
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 16:10:07.8607
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SPeDZVU+N03y05uqbRNxiqi1KUn2HGT4UuuefYg+QEIDvENt8SY83NkyZOEoqnmoXBR75OdiKUJqk0DwwZk9mMLdfvupymJtafS5PgxPFH8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7230

On 14/08/2023 5:04 pm, Jan Beulich wrote:
> On 14.08.2023 17:34, Andrew Cooper wrote:
>> On 14/08/2023 4:21 pm, Jan Beulich wrote:
>>> Question therefore is whether we can find a way of effecting the needed
>>> overrides (including for compiler generated calls) without resorting to
>>> emitting .equ (or alike), and hence without doing it fully behind the
>>> compiler's back.
>> --wrap= each symbol, except when compiling wrappers.c ?
>>
>> This seems to be the normal way to mock out functions including malloc()
>> and friends.
> What is --wrap= ?

-Wl,--wrap=foo

It's a staple of C unit-testing frameworks.

>From the LD manual,

--wrap=symbol
Â Â Â  Use a wrapper function for symbol.Â  Any undefined reference
Â Â Â  to symbol will be resolved to "__wrap_symbol".Â  Any undefined
Â Â Â  reference to "__real_symbol" will be resolved to symbol.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 16:15:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 16:15:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583748.914044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVaDy-0008UA-Ap; Mon, 14 Aug 2023 16:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583748.914044; Mon, 14 Aug 2023 16:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVaDy-0008U3-8J; Mon, 14 Aug 2023 16:15:22 +0000
Received: by outflank-mailman (input) for mailman id 583748;
 Mon, 14 Aug 2023 16:15:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/QH=D7=amazon.co.uk=prvs=583beea50=hakor@srs-se1.protection.inumbo.net>)
 id 1qVaDw-0008Tx-Tb
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 16:15:20 +0000
Received: from smtp-fw-52003.amazon.com (smtp-fw-52003.amazon.com
 [52.119.213.152]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c206824e-3abd-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 18:15:18 +0200 (CEST)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1a-m6i4x-bbc6e425.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-52003.iad7.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2023 16:15:16 +0000
Received: from EX19D017EUA002.ant.amazon.com
 (iad12-ws-svc-p26-lb9-vlan3.iad.amazon.com [10.40.163.38])
 by email-inbound-relay-iad-1a-m6i4x-bbc6e425.us-east-1.amazon.com (Postfix)
 with ESMTPS id 3D3748048C; Mon, 14 Aug 2023 16:15:14 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19D017EUA002.ant.amazon.com (10.252.50.137) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.30; Mon, 14 Aug 2023 16:15:13 +0000
Received: from dev-dsk-hakor-1a-9589d7a9.eu-west-1.amazon.com (172.19.124.154)
 by mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server
 id
 15.2.1118.30 via Frontend Transport; Mon, 14 Aug 2023 16:15:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c206824e-3abd-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209;
  t=1692029719; x=1723565719;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=2SdF+oaPyEI3IdiS2ivOLJcGT7YZznHgotV+6Qx3WJg=;
  b=psv494HE/d8aBX2VPmHD0f2S0DTbpM+eLMy3Lqf22vU2GtQ3YZT4GdmH
   JBy4Er71tIc+F1LvmvUj3uArtDSqEJ49dOHxlwS2iJUmjXAURPUKDT8UT
   9i7OAfH9G6qpF0jXZixUPUqpPb/AaTfWUowx7rbFAxfiwFnp57KRlbhIg
   M=;
X-IronPort-AV: E=Sophos;i="6.01,173,1684800000"; 
   d="scan'208";a="601888521"
From: Ruben Hakobyan <hakor@amazon.com>
To: <xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Ruben Hakobyan <hakor@amazon.com>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v2] x86/msi: dynamically map pages for MSI-X tables
Date: Mon, 14 Aug 2023 16:15:02 +0000
Message-ID: <20230814161502.88394-1-hakor@amazon.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

Xen reserves a constant number of pages that can be used for mapping
MSI-X tables. This limit is defined by FIX_MSIX_MAX_PAGES in fixmap.h.

Reserving a fixed number of pages could result in an -ENOMEM if a
device requests a new page when the fixmap limit is exhausted and will
necessitate manually adjusting the limit before compilation.

To avoid the issues with the current fixmap implementation, we modify
the MSI-X page mapping logic to instead dynamically map new pages when
they are needed by making use of ioremap().

Note that this approach is not suitable for 32-bit architectures, where
the virtual address space is considerably smaller.

Signed-off-by: Ruben Hakobyan <hakor@amazon.com>
---
Changelog:
 * v2:
  - Updated the commit message to talk about the potential use on 32-bit architectures
  - Addressed the various comments for improving the code
---
 xen/arch/x86/include/asm/fixmap.h |  2 -
 xen/arch/x86/include/asm/msi.h    |  5 +--
 xen/arch/x86/msi.c                | 69 ++++++++-----------------------
 3 files changed, 18 insertions(+), 58 deletions(-)

diff --git a/xen/arch/x86/include/asm/fixmap.h b/xen/arch/x86/include/asm/fixmap.h
index 516ec3fa6c..139c3e2dcc 100644
--- a/xen/arch/x86/include/asm/fixmap.h
+++ b/xen/arch/x86/include/asm/fixmap.h
@@ -61,8 +61,6 @@ enum fixed_addresses {
     FIX_ACPI_END = FIX_ACPI_BEGIN + NUM_FIXMAP_ACPI_PAGES - 1,
     FIX_HPET_BASE,
     FIX_TBOOT_SHARED_BASE,
-    FIX_MSIX_IO_RESERV_BASE,
-    FIX_MSIX_IO_RESERV_END = FIX_MSIX_IO_RESERV_BASE + FIX_MSIX_MAX_PAGES -1,
     FIX_TBOOT_MAP_ADDRESS,
     FIX_APEI_RANGE_BASE,
     FIX_APEI_RANGE_END = FIX_APEI_RANGE_BASE + FIX_APEI_RANGE_MAX -1,
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index a53ade95c9..16c80c9883 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -55,9 +55,6 @@
 #define	 MSI_ADDR_DEST_ID_MASK		0x00ff000
 #define  MSI_ADDR_DEST_ID(dest)		(((dest) << MSI_ADDR_DEST_ID_SHIFT) & MSI_ADDR_DEST_ID_MASK)
 
-/* MAX fixed pages reserved for mapping MSIX tables. */
-#define FIX_MSIX_MAX_PAGES              512
-
 struct msi_info {
     pci_sbdf_t sbdf;
     int irq;
@@ -213,7 +210,7 @@ struct arch_msix {
         unsigned long first, last;
     } table, pba;
     int table_refcnt[MAX_MSIX_TABLE_PAGES];
-    int table_idx[MAX_MSIX_TABLE_PAGES];
+    void __iomem *table_va[MAX_MSIX_TABLE_PAGES];
     spinlock_t table_lock;
     bool host_maskall, guest_maskall;
     domid_t warned;
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1d..57a84b394a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -24,7 +24,6 @@
 #include <asm/smp.h>
 #include <asm/desc.h>
 #include <asm/msi.h>
-#include <asm/fixmap.h>
 #include <asm/p2m.h>
 #include <mach_apic.h>
 #include <io_ports.h>
@@ -39,75 +38,45 @@ boolean_param("msi", use_msi);
 
 static void __pci_disable_msix(struct msi_desc *);
 
-/* bitmap indicate which fixed map is free */
-static DEFINE_SPINLOCK(msix_fixmap_lock);
-static DECLARE_BITMAP(msix_fixmap_pages, FIX_MSIX_MAX_PAGES);
-
-static int msix_fixmap_alloc(void)
-{
-    int i, rc = -ENOMEM;
-
-    spin_lock(&msix_fixmap_lock);
-    for ( i = 0; i < FIX_MSIX_MAX_PAGES; i++ )
-        if ( !test_bit(i, &msix_fixmap_pages) )
-            break;
-    if ( i == FIX_MSIX_MAX_PAGES )
-        goto out;
-    rc = FIX_MSIX_IO_RESERV_BASE + i;
-    set_bit(i, &msix_fixmap_pages);
-
- out:
-    spin_unlock(&msix_fixmap_lock);
-    return rc;
-}
-
-static void msix_fixmap_free(int idx)
-{
-    spin_lock(&msix_fixmap_lock);
-    if ( idx >= FIX_MSIX_IO_RESERV_BASE )
-        clear_bit(idx - FIX_MSIX_IO_RESERV_BASE, &msix_fixmap_pages);
-    spin_unlock(&msix_fixmap_lock);
-}
-
-static int msix_get_fixmap(struct arch_msix *msix, u64 table_paddr,
+static void __iomem *msix_get_entry(struct arch_msix *msix, u64 table_paddr,
                            u64 entry_paddr)
 {
     long nr_page;
-    int idx;
+    void __iomem *va = NULL;
 
     nr_page = (entry_paddr >> PAGE_SHIFT) - (table_paddr >> PAGE_SHIFT);
 
     if ( nr_page < 0 || nr_page >= MAX_MSIX_TABLE_PAGES )
-        return -EINVAL;
+        return NULL;
 
     spin_lock(&msix->table_lock);
     if ( msix->table_refcnt[nr_page]++ == 0 )
     {
-        idx = msix_fixmap_alloc();
-        if ( idx < 0 )
+        va = ioremap(round_pgdown(entry_paddr), PAGE_SIZE);
+        if ( va == NULL )
         {
             msix->table_refcnt[nr_page]--;
             goto out;
         }
-        set_fixmap_nocache(idx, entry_paddr);
-        msix->table_idx[nr_page] = idx;
+        msix->table_va[nr_page] = va;
     }
     else
-        idx = msix->table_idx[nr_page];
+        va = msix->table_va[nr_page];
 
  out:
     spin_unlock(&msix->table_lock);
-    return idx;
+    return va + (entry_paddr & ~PAGE_MASK);
 }
 
-static void msix_put_fixmap(struct arch_msix *msix, int idx)
+static void msix_put_entry(struct arch_msix *msix, const void __iomem *entry_va)
 {
     int i;
+    void __iomem *va = (void*)round_pgdown((unsigned long)entry_va);
 
     spin_lock(&msix->table_lock);
     for ( i = 0; i < MAX_MSIX_TABLE_PAGES; i++ )
     {
-        if ( msix->table_idx[i] == idx )
+        if ( msix->table_va[i] == va )
             break;
     }
     if ( i == MAX_MSIX_TABLE_PAGES )
@@ -115,9 +84,8 @@ static void msix_put_fixmap(struct arch_msix *msix, int idx)
 
     if ( --msix->table_refcnt[i] == 0 )
     {
-        clear_fixmap(idx);
-        msix_fixmap_free(idx);
-        msix->table_idx[i] = 0;
+        iounmap(va);
+        msix->table_va[i] = NULL;
     }
 
  out:
@@ -568,8 +536,7 @@ int msi_free_irq(struct msi_desc *entry)
     }
 
     if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
-        msix_put_fixmap(entry->dev->msix,
-                        virt_to_fix((unsigned long)entry->mask_base));
+        msix_put_entry(entry->dev->msix, entry->mask_base);
 
     list_del(&entry->list);
     xfree(entry);
@@ -892,10 +859,9 @@ static int msix_capability_init(struct pci_dev *dev,
     {
         /* Map MSI-X table region */
         u64 entry_paddr = table_paddr + msi->entry_nr * PCI_MSIX_ENTRY_SIZE;
-        int idx = msix_get_fixmap(msix, table_paddr, entry_paddr);
-        void __iomem *base;
+        void __iomem *base = msix_get_entry(msix, table_paddr, entry_paddr);
 
-        if ( idx < 0 )
+        if ( base == NULL )
         {
             if ( zap_on_error )
             {
@@ -907,9 +873,8 @@ static int msix_capability_init(struct pci_dev *dev,
 
             pci_conf_write16(dev->sbdf, msix_control_reg(pos), control);
             xfree(entry);
-            return idx;
+            return -ENOMEM;
         }
-        base = fix_to_virt(idx) + (entry_paddr & (PAGE_SIZE - 1));
 
         /* Mask interrupt here */
         writel(1, base + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 16:40:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 16:40:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583756.914055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVabe-0002gk-9r; Mon, 14 Aug 2023 16:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583756.914055; Mon, 14 Aug 2023 16: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 1qVabe-0002gd-6z; Mon, 14 Aug 2023 16:39:50 +0000
Received: by outflank-mailman (input) for mailman id 583756;
 Mon, 14 Aug 2023 16:39: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 1qVabc-0002gT-Tt; Mon, 14 Aug 2023 16:39: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 1qVabc-0004B4-Mt; Mon, 14 Aug 2023 16:39: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 1qVabc-0007Ir-9X; Mon, 14 Aug 2023 16:39:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVabc-0003JF-96; Mon, 14 Aug 2023 16:39: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=X+fnQHWWTIKVLSpAYd5ATZ8I2deJQ1jbVMyb8FgPIS8=; b=nNNZimadvqMXijocnoeGXeJrbX
	+KVqRHop664LI8HlzhaGRO34RtuQgcA3fx9Jehn3ilgQgjvdmRw6n9VKF4H+e9kcjL8sinTWcVkoP
	CHBqfJhiAYj7lrN0pCs1mVKOERkRrJ0/ClBsgMBRJB++RWGFzFOsg1wlFrtKvj2W/oJ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182322-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182322: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
X-Osstest-Versions-That:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 16:39:48 +0000

flight 182322 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182322/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 182308

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail in 182308 blocked in 182322
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182293
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182308
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182308
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182308
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182308
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182308
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182308
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182308
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182308
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182308
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182308
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182308
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
baseline version:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c

Last test of basis   182322  2023-08-14 01:52:39 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 14 17:01:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 17:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583764.914066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVawb-00066J-1p; Mon, 14 Aug 2023 17:01:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583764.914066; Mon, 14 Aug 2023 17:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVawa-00066C-TW; Mon, 14 Aug 2023 17:01:28 +0000
Received: by outflank-mailman (input) for mailman id 583764;
 Mon, 14 Aug 2023 17:01: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 1qVawZ-000662-IT; Mon, 14 Aug 2023 17:01: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 1qVawZ-0004jI-Gi; Mon, 14 Aug 2023 17:01: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 1qVawZ-0000Ge-4j; Mon, 14 Aug 2023 17:01:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVawZ-0007TD-4N; Mon, 14 Aug 2023 17: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ot7dwBiU7yvkyYZvIxbGOSrJafv/9EupBAVBWlXUbGA=; b=NeNpMw805mLfUXnrT42iIppzYE
	bzuFNOpxQ8SwGQmO0uarcXTsavnzL4LCvBXKaHUColn/QOjloTLm1NGsW2mWp5zM9i5wR31oFZr94
	AAvFrtGkRjY6BWuFIALHpiq1c/65GHhjg7VhkbUEb1Uaf582jL/ukMsKF1oLVfN5q2DI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182331-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182331: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=eaffa1d7ff915d5af484e5e230a4dde41e4b9a00
X-Osstest-Versions-That:
    ovmf=991515a0583f65a64b3a6fa354409c64e670a762
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 17:01:27 +0000

flight 182331 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182331/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 eaffa1d7ff915d5af484e5e230a4dde41e4b9a00
baseline version:
 ovmf                 991515a0583f65a64b3a6fa354409c64e670a762

Last test of basis   182249  2023-08-09 15:12:45 Z    5 days
Testing same since   182331  2023-08-14 15:12:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ray Ni <ray.ni@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  YuanhaoXie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   991515a058..eaffa1d7ff  eaffa1d7ff915d5af484e5e230a4dde41e4b9a00 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 17:51:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 17:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583772.914075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVbip-000333-J4; Mon, 14 Aug 2023 17:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583772.914075; Mon, 14 Aug 2023 17: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 1qVbip-00032w-FN; Mon, 14 Aug 2023 17:51:19 +0000
Received: by outflank-mailman (input) for mailman id 583772;
 Mon, 14 Aug 2023 17:51:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVbin-00032q-Rm
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 17:51:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbim-0005p1-Pl; Mon, 14 Aug 2023 17:51:16 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbim-0006M0-KD; Mon, 14 Aug 2023 17:51:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=CRGAGYatorhwvkAlu+sWUOSzngHI4gWRqvJZ9TEv+QQ=; b=c/LLYToYW9hjJIyxxDupoVovo+
	pQdALomP7gjG2lN5pe+z74jiMfM789sCD5/2KyiY6VYW7sc1pzFxLuOx3SKqLtWhcOHJYsOzZrKsc
	H8PVDA1n48C1x4tDV37UDm2e9sb8V5hbjDGEJh8fUykF+SJvzUIzCSbheKNFjRTPApoM=;
Message-ID: <1b5c0fdb-8ff4-4a75-9271-c016b9a4f617@xen.org>
Date: Mon, 14 Aug 2023 18:51:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/19] tools/xenstore: make hashtable key parameter
 const
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-2-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> The key is never modified by hashtable code, so it should be marked as
> const.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 17:53:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 17:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583777.914085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVbl1-0003bm-UP; Mon, 14 Aug 2023 17:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583777.914085; Mon, 14 Aug 2023 17: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 1qVbl1-0003bf-Rd; Mon, 14 Aug 2023 17:53:35 +0000
Received: by outflank-mailman (input) for mailman id 583777;
 Mon, 14 Aug 2023 17:53:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVbkz-0003bV-Vo
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 17:53:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbkz-0005qp-Bd; Mon, 14 Aug 2023 17:53:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbkz-0006N5-6p; Mon, 14 Aug 2023 17:53:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=W2ToNMbKAxupQltJ//2V7QwvLnOoy8fq3/QJQDtVB6w=; b=jFKhmn297AdROgOTz3nMCByIAo
	PCHAeMTAd3LTBzy5Juq0ZSIuipEz/rTAE5wMLOUto38jnje4yyFqMcZqxbvjUvVJ8jTXbpFyzNPee
	OMUVbFYLdSANexh91nDs8cU8VjauJAOFgUhP8tQJgx6yCGekE0AdfMFhUF58vuXK8ATA=;
Message-ID: <7d28ad4d-5be3-4454-913f-0ab71f757fff@xen.org>
Date: Mon, 14 Aug 2023 18:53:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/19] tools/xenstore: change talloc_free() to take a
 const pointer
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-8-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> With talloc_free() and related functions not taking a pointer to const
> it is tedious to use the const attribute for talloc()-ed memory in
> many cases.
> 
> Change the related prototypes to use "const void *" instead of
> "void *".
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 17:55:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 17:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583784.914094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVbn4-0004Hw-Bu; Mon, 14 Aug 2023 17:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583784.914094; Mon, 14 Aug 2023 17:55:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVbn4-0004Hp-9T; Mon, 14 Aug 2023 17:55:42 +0000
Received: by outflank-mailman (input) for mailman id 583784;
 Mon, 14 Aug 2023 17:55:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVbn2-0004Hj-5B
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 17:55:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbn1-0005u8-Fq; Mon, 14 Aug 2023 17:55:39 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbn1-0006ZG-9O; Mon, 14 Aug 2023 17:55:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=wCOoZTnegoVSQQsBGlBP+woe/MuBy9c7y49RW2e6pew=; b=qd4ZpSbJhZ84snOAWQ/ljklM5b
	cMOVOxnKoom1VgtNDmC42uWgzZkb78VQ0fYBZZHGTi9yMA3WE42s3rRwTbuol1+E5WwlM8wxQZwj6
	OJuXH/l5purtwmVbn3zhuMHvBiG6yH0l4wQkyIDB2HTHQuSWL5Y9luTbvtZHWC20eqLs=;
Message-ID: <8d738d04-9c3d-4374-b511-26df3c6861cb@xen.org>
Date: Mon, 14 Aug 2023 18:55:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/19] tools/xenstore: move copying of node data out of
 db_fetch()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-9-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-9-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> Today the node data is copied in db_fetch() on each data base read in
> order to avoid accidental data base modifications when working on a
> node.
> 
> read_node() is the only caller of db_fetch() which isn't freeing the
> returned data area immediately after using it. The other callers don't
> modify the returned data, so they don't need the data to be copied.
> 
> Move copying of the data into read_node(), resulting in a speedup of
> the other callers due to no memory allocation and no copying being
> needed anymore.
> 
> This allows to let db_fetch() return a pointer to const data.
> 
> As db_fetch() can't return any error other than ENOENT now, error
> handling for the callers can be simplified.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 18:04:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 18:04:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583791.914104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVbvB-0005xJ-5H; Mon, 14 Aug 2023 18:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583791.914104; Mon, 14 Aug 2023 18: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 1qVbvB-0005xC-2I; Mon, 14 Aug 2023 18:04:05 +0000
Received: by outflank-mailman (input) for mailman id 583791;
 Mon, 14 Aug 2023 18:04: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 1qVbvA-0005x6-Iz
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 18:04: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 1qVbv9-000681-RG; Mon, 14 Aug 2023 18:04:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVbv9-0006vR-I9; Mon, 14 Aug 2023 18:04:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xlFFlRa8B7TpOjz2NjhWBmQaaLHPwgSIgrzbE41K0OQ=; b=6rQZLjnqNxlnpghZPgpx5BJqj9
	hNmiQB5j10/5/1AjxEHrVmHghCvIFA9qHjx2hgsyYtHvqzj9BnvHTZFIOft3yBXelhMHemdVX6ERW
	b6BAd9A9bWstZAOmKrkUyXvLrJhc0wYuLzdKR+/RroZeufJ1vYh90y1lgi1uYBs1afr4=;
Message-ID: <a2dbbe42-b13d-4339-8943-b9fefa76ea7b@xen.org>
Date: Mon, 14 Aug 2023 19:04:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/19] tools/xenstore: rework struct xs_tdb_record_hdr
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-10-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-10-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> Struct xs_tdb_record_hdr is used for nodes stored in the data base.
> When working on a node, struct node is being used, which is including
> the same information as struct xs_tdb_record_hdr, but in a different
> format. Rework struct xs_tdb_record_hdr in order to prepare including
> it in struct node.
> 
> Do the following modifications:
> 
> - move its definition to xenstored_core.h, as the reason to put it into
>    utils.h are no longer existing
> 
> - rename it to struct node_hdr, as the "tdb" in its name has only
>    historical reasons
> 
> - replace the empty permission array at the end with a comment about
>    the layout of data in the data base (concatenation of header,
>    permissions, node contents, and children list)
> 
> - use narrower types for num_perms and datalen, as those are naturally
>    limited to XENSTORE_PAYLOAD_MAX (childlen is different here, as it is
>    in theory basically unlimited)
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 18:09:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 18:09:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583797.914115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVc0E-0006ZT-O5; Mon, 14 Aug 2023 18:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583797.914115; Mon, 14 Aug 2023 18:09:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVc0E-0006ZM-KU; Mon, 14 Aug 2023 18:09:18 +0000
Received: by outflank-mailman (input) for mailman id 583797;
 Mon, 14 Aug 2023 18:09:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qVc0D-0006ZB-7w
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 18:09:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVc0B-0006Et-NT; Mon, 14 Aug 2023 18:09:15 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qVc0B-0007AP-IS; Mon, 14 Aug 2023 18:09:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=B8aXXC9a+qTGzQ6BWiCa1w5Xd6KfTTfpVot+q2S3yX0=; b=CS9QTEUiNVO3n+rmOuhPuwmITg
	OpcaEVthvni3sO7MyZ+oHD5y0dG2WoOM5YyMUWDH/Hb1Uk77O56u8yeZI0HrLoAO0be0VQ0mqcv9O
	J7Mi2eILNOKVmB7wFqeZwkxj73vocetuQcIMk4uFZJ7pJUGuPv9lAx0+kw/x/lNv6XcU=;
Message-ID: <62417026-c365-4a84-b7d7-ef7909628d4f@xen.org>
Date: Mon, 14 Aug 2023 19:09:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/19] tools/xenstore: don't use struct node_perms in
 struct node
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-11-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-11-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> Open code struct node_perms in struct node in order to prepare using
> struct node_hdr in struct node.
> 
> Add two helpers to transfer permissions between struct node and struct
> node_perms and a helper to directly get connection base permissions
> from a node.
> 
> Let perms_to_strings() take a struct node as parameter and rename it
> to node_perms_to_strings().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 21:11:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 21:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583803.914125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVeqf-0000RD-Fb; Mon, 14 Aug 2023 21:11:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583803.914125; Mon, 14 Aug 2023 21: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 1qVeqf-0000R6-Cf; Mon, 14 Aug 2023 21:11:37 +0000
Received: by outflank-mailman (input) for mailman id 583803;
 Mon, 14 Aug 2023 21: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=D2Ba=D7=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qVeqd-0000R0-Qz
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 21:11:36 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21d8ae08-3ae7-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 23:11:30 +0200 (CEST)
Received: from DM6PR10CA0026.namprd10.prod.outlook.com (2603:10b6:5:60::39) by
 PH8PR12MB8607.namprd12.prod.outlook.com (2603:10b6:510:1cf::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Mon, 14 Aug
 2023 21:11:24 +0000
Received: from DM6NAM11FT005.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:60:cafe::ad) by DM6PR10CA0026.outlook.office365.com
 (2603:10b6:5:60::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 21:11:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT005.mail.protection.outlook.com (10.13.172.238) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6631.42 via Frontend Transport; Mon, 14 Aug 2023 21:11:23 +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.27; Mon, 14 Aug
 2023 16:11:22 -0500
Received: from [172.22.191.126] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 14 Aug 2023 16: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: 21d8ae08-3ae7-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UgDucqR0qctKHUy2s2yVHp30V3eyu2Qkhkg+yYmg9XPhqRz8lXOmeodY3u8nzGcJ0jzNWiDwq9y0SeC6SVk6Lg3xjm29RA9YxxeNatQi4w6PKCPPj5W/AoA2JNLj7HAubK9BemQo+PT2lnJgPumggN18Md6KX6a2sMsiAPENmvMlwAHVY4Sk5GqWnFlqzD8NNbPie7c3WPoCJqKzJfFJszUF+48Jb3KGWQHULqizJfDHhWjhths6ibTlQARVmP5DLFZgKncl7M5EzjKhLeEEZp+tr//h6vk2gQFZ+aGfpnEutbxNg5LORr09f5SdNc8EDXQm6Vj/D3E5GBbdc4AqUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ao/5dtiNUpxNevILOmbsQh1BCZjALSkqiUEmLmDrYTc=;
 b=FsZ8SDiDrJF/1dnbfxJBWZX5kubPPlgpVxeamajt1mb5q+wYa6e1cD3l/xZRHPruiSrsEffOr7YBYMFLLn4b4lDWExSaO4yNgRdq7hlzWIsCPUtNM8sYwo/nL88bChvINBBKGur9mztUxn/13kslBliOy+ObAqYW9IsHQr6GG3fSapkm2c3IjL9ujN+RqSrPX+mxOaW3KLPIcKsIuU02r/q+ZNuS/WXQ6JoJKX0k20hIl4kNW5r5afxHo7JrDItyJdi00MbO3J8OINaOe3vnxZEINPLGLq7cW6PWL11fLdd0k7/Oz5J+cTXMWHR9/UOftmS+stwtfZAE9CSvHcujmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ao/5dtiNUpxNevILOmbsQh1BCZjALSkqiUEmLmDrYTc=;
 b=o20G2hwJvrjryhMXFzJquWyjnALFXROOMBAYh8Bm38aVGDW5xUxjicAIknW/t6Fay+Kj3GRrpc33CSQnyke/BuKJVdV1oE0edf7BgMeva5FM7Rw6alTO7go6ayWgqJK3w+ol3pjP508S1JbwE/A0EbDf7lt4kWn1bxDX1sKXfWk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <0dfbf498-affb-133d-08bb-69a96d629d1e@amd.com>
Date: Mon, 14 Aug 2023 17:11:21 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v1 0/3] vPCI capabilities filtering
To: Jan Beulich <jbeulich@suse.com>, <xen-devel@lists.xenproject.org>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
 <98616195-71ef-23ce-e6ed-0dfb6e10020c@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <98616195-71ef-23ce-e6ed-0dfb6e10020c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT005:EE_|PH8PR12MB8607:EE_
X-MS-Office365-Filtering-Correlation-Id: 96863bf8-9905-40cc-b668-08db9d0b03c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3IppG4X8Bp4QgY3YD6rQ3ELNyzkwpvC3iOvHhlCyEB01psmnFE/5NyLniGu8IrWp4f7fyCJGY7oq3zF8vLRnaV3uUMuNHJ51MhBb9iV0qj146fivJA6OkjccvbqUY6Po0HooA1hK0BuYUegTwj/io6uHje1BA/dw0xaCqeklwKxPJBCD0spfeDI8j/aeiO/6+JQqGT1vh9E9jNgtBU7cHcjmm27uHPKufYVlZxhJooCu5DCCQFNVtY7ydjKg+uUKUUzVMbwYgI3ozK46ETHde/wGxYMUlnuo3qUFGC9Ly7j7TXsHmuK1P6OEA4m2dbtzcBTjybN905eym7BmNmUJscD2NfV5dltSUzX8mF3Ndm9bSlDKjl0EBajIqqBcqvWYPhnCJdDvo2WrkUgTGxj2JDN2QKhSEr9EUqq3CsvbbO/5tbtq2XSwtWZc/GZ/61ycciwk12kDBmUC5pmlZUObHMb5C24NnpM+K1+vFZKtTMAhkcapMKRYEexu00WAtRScqYeqP62GyQYttF95aNKHAwgwtavWReNGH6Z8YwQ/t6IcQKIm17WehPPqIFz3H7/Kb7bGJ+s6/vFbd9JO5UmlbQcvYhltc03CinZDhT4wS+3mGjgRh7L+be/XspgPKgH+umwxSkxG1YbzPq20XpWE/ZxUStPErBdYLSgm80sNixTUvmZoROHFq0WgLbtoGcL8Kvqpf+1nGLn0jDLLz+vh8tZDZoqI1IJCA3elsj0oUNWK7NEcZF3QO+mRZywGhkNcVbn4J7dop014yAaTWbV2+As59LvGIvA2eWT/M1CUY5s=
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:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(82310400008)(186006)(451199021)(1800799006)(46966006)(40470700004)(36840700001)(4326008)(8936002)(86362001)(478600001)(966005)(8676002)(316002)(36860700001)(82740400003)(70586007)(70206006)(110136005)(41300700001)(53546011)(16576012)(5660300002)(44832011)(26005)(31686004)(31696002)(2616005)(36756003)(426003)(336012)(66899021)(81166007)(83380400001)(2906002)(40460700003)(356005)(47076005)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 21:11:23.5634
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96863bf8-9905-40cc-b668-08db9d0b03c3
X-MS-Exchange-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:
	DM6NAM11FT005.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB8607

On 8/14/23 09:59, Jan Beulich wrote:
> On 10.08.2023 21:12, Stewart Hildebrand wrote:
>> This small series enables vPCI to filter which PCI capabilites we expose to a
>> domU. This series adds vPCI register handlers within
>> xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.
>>
>> Note there are minor rebase conflicts with the in-progress vPCI series [1].
>> These conflicts fall into the category of functions and code being added
>> adjacent to one another, so are easily resolved. I did not identify any
>> dependency on the vPCI locking work, and the two series deal with different
>> aspects of emulating the PCI header.
>>
>> Future work may involve adding handlers for more registers in the vPCI header,
>> such as STATUS, VID/DID, etc.
>>
>> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html
>>
>> Stewart Hildebrand (3):
>>   xen/vpci: add vpci_hw_read8 helper
>>   xen/vpci: add vpci_read_val helper
>>   xen/vpci: header: filter PCI capabilities
> 
> I'm not convinced of the split here: Seeing the new helpers in isolation
> leaves entirely open what they're to be used for.

Our code review guide [2] (section "General Patterns") explicitly suggests separating independent helper functions into (a) separate patch(es). Whether it is one patch per helper, or all helpers in a single patch appears ambiguous.
That said, I'd still be happy to squash all these into a single patch to avoid the transient dead code situation - please confirm.

> Plus besides introducing
> dead code (even if only transiently), you also introduce cf_check marked
> code which isn't really called indirectly from anywhere. Yet we'd like to
> keep the amount of these markings down (in the final binary, not so much
> in source code).

The helper functions will be added to struct vpci_register objects, where they will be called from vpci.c:vpci_read():

    val = r->read(pdev, r->offset, r->private);

Does this justify the cf_check attribute?
If so, should the cf_check attributes rather be added once the helpers are actually used in the patch "xen/vpci: header: filter PCI capabilities"?

[2] http://xenbits.xenproject.org/governance/code-review-guide.html


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 21:11:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 21:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583804.914135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVeqx-0000kC-QP; Mon, 14 Aug 2023 21:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583804.914135; Mon, 14 Aug 2023 21: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 1qVeqx-0000k4-NB; Mon, 14 Aug 2023 21:11:55 +0000
Received: by outflank-mailman (input) for mailman id 583804;
 Mon, 14 Aug 2023 21:11:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D2Ba=D7=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qVeqw-0000jL-FF
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 21:11:54 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e89::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f6565d8-3ae7-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 23:11:52 +0200 (CEST)
Received: from DS7PR03CA0065.namprd03.prod.outlook.com (2603:10b6:5:3bb::10)
 by DM4PR12MB6230.namprd12.prod.outlook.com (2603:10b6:8:a7::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Mon, 14 Aug
 2023 21:11:47 +0000
Received: from DM6NAM11FT052.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3bb:cafe::6c) by DS7PR03CA0065.outlook.office365.com
 (2603:10b6:5:3bb::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Mon, 14 Aug 2023 21:11:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT052.mail.protection.outlook.com (10.13.172.111) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Mon, 14 Aug 2023 21:11:47 +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.27; Mon, 14 Aug
 2023 16:11:46 -0500
Received: from [172.22.191.126] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 14 Aug 2023 16:11: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: 2f6565d8-3ae7-11ee-b289-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E6+BJ84f+gmBTIxX3aWsgnTXJ+ifzr6zt7iHq8vUwrNQmjGI42SgyBozLVQOf+ZPw/uqWxHWfeGam0pmoBl9kSotthNHXC6ubcUwGXful+Qvj6MbI/tYKaITVje07/37MwJAQIQaFS30uGWWhDfXlL7am8JymJyzXJqozUwtFCq1VP01PfUBrP0fORZHE3KQVuaGr9vAA3S9pNOrTJfPsd4sXJWEw7ex/JL64MvF5Lbms/6dWwwKs84a6aeUAH8mRcFShedlZCb1H4tASZUx0Gx1Uyke3AvmDbcJkJfLxT1go1LBxkQwitClKxgPH2cuuNpOhltX/8PV+c3M3zLD8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s4JTDyEEsHa2kNkN+UNYtZOqWvRBgg/+PPDSmb9TdD4=;
 b=RJUvrVRjxl7LjSkLiK3BNo55qR8dqvAHtnmT6SYtfNSRwRjXKuxG32Q1x9u8AswDSZiM0ImBzi3FMVvx0E4eU7uldp+1N6iffY66jdNN3QkNX+MOuLVPRuaTP69I+TPs+QTVgN5CMWQGB7068J/cAxUljzaXMC3ofcM2Eu/M5OU1hfOb//ncNk23fcqZhVw4J72jNDu5Qgakl7U87fEZzjNuk4uxKwehd91/ZBQYE1e//yfw3cVQw/5avlw6FT2X39mfRR2vb+4PIpiciMaBn6o53mAinwxdwfriBUE+vHmX0d2n8JUteMTweAC2QvzUkTLaw0XDxTHnzFSzVhuOQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s4JTDyEEsHa2kNkN+UNYtZOqWvRBgg/+PPDSmb9TdD4=;
 b=SjtHConK8+8xOcLrZs6iqBnQ82SV5wDpyuTJBcvg1R4jHnpjT2U9i2gnEzfu5V/lPI5ett1NLmUgvxeje0wEuXrXkRbwfr5p8hEKnPvSfycdBbRMeVatyc0l9B/XuMuXrxaM3P1RMT+88pHsNK9ujdJKh7BsjAIRW7klRMl0eHc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <44c214e3-2e0c-0270-c318-c3992610ab1a@amd.com>
Date: Mon, 14 Aug 2023 17:11:44 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v1 3/3] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
 <20230810191312.644235-4-stewart.hildebrand@amd.com>
 <29d82586-550b-6e9f-f967-a2855d1c81a2@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <29d82586-550b-6e9f-f967-a2855d1c81a2@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT052:EE_|DM4PR12MB6230:EE_
X-MS-Office365-Filtering-Correlation-Id: aa979bd3-db49-4ca5-1fe1-08db9d0b11c6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wIAgpEziR/weJWGRkAEoSEBgjh7/m7772cAuX01REHeOUaBNE8cmEY4Ehiprz3tZj8WKbvHFg5PkCGkXQ4T8JZ3h5z0wsIzPhhZIMyQEjFyUNJqtPnIvXrSGRc+O5rND0dOoKALZf4RHhu73xMpP2NXntraZ4ApiBuZoovaeynaWd9r/xTNYZg3+qgn8x901WRcc5qE3DrdVHfVOGxDlG1vUvLDa/LCug8AXm6BAd1UB7uZUlOQXEfvgM7scv9n9qCwZxLb2GC4Jp42ne2W+XfJ6/Rt6IfZvEGC14ahQeHOfD/itaUh/KQvaYtKO+BVFRCm1bWa8j+rVcOC0p47xkGN/UKIgyC5yp6QzcxiHh4R4HutBvVAt0xPF8cUdt8NgYVM/132wVuhbDk8k3pt7TLYm4kmDlADZa0JW0dDqoaRJnWLqu1yvEApNzRN43FvUEqqR00uZHp+V748y9S+ArCrs1K8z5clzBn1MSy6nVPuImGQg8oGGSSZx9FuXhDjtXxlWuGLEpGZomlLPUDOMnoGBk0C5HgGo1YIqfZvJt023p/GHGb5tD5ujnaQMvGCSS0a1sIv9m3nX1Nu4ONdqljOAe8I5W47VPwPCEprxq62CmDib8uO84LQXtrqNQ0ocTLMeOs6P+2jSb4QL0dOz3gWekKccWqQUhJlnQclhFNOV+MlAovP09tta/z33Wn2Ue8wJ1MiZIbToNt4rqrQZ1ZP1bNqq9d+BB5r0nfpdetuYfocYRZR3Xx/4bfGZqeewR8BfTmkjB+w17dnsdiCPQvupLbpR0/laHEdDt552CudOl/LObuY3CduF9BuDeJRC
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:(13230028)(4636009)(396003)(346002)(376002)(39860400002)(136003)(186006)(1800799006)(82310400008)(451199021)(46966006)(36840700001)(40470700004)(53546011)(478600001)(2616005)(426003)(336012)(83380400001)(2906002)(26005)(54906003)(41300700001)(16576012)(6916009)(316002)(70206006)(70586007)(44832011)(5660300002)(8936002)(8676002)(4326008)(31696002)(36756003)(40460700003)(47076005)(36860700001)(40480700001)(81166007)(82740400003)(356005)(86362001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2023 21:11:47.0674
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa979bd3-db49-4ca5-1fe1-08db9d0b11c6
X-MS-Exchange-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:
	DM6NAM11FT052.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6230

On 8/14/23 10:58, Jan Beulich wrote:
> On 10.08.2023 21:12, Stewart Hildebrand wrote:
>> Xen vPCI only supports virtualizing the MSI and MSI-X capabilities, so all other
>> PCI capabilities should be hidden from a domU for now.
> 
> I'm not sure about "should"; imo this would need evaluating for every cap
> type separately. I'm okay though to take this as a starting point. What
> needs considering (and mentioning here) is that there may be (iirc: are)
> drivers which depend on being able to find/access certain capabilities.

OK, I will re-word the commit message.

> Also - what about extended capabilities? Don't we want to hide them all
> then as well (by returning 0 for the 32-bit value at 0x100)?

Yes, it certainly couldn't hurt to add a RAZ/WI handler at 0x100, so I'll do that.

>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -513,6 +513,36 @@ static void cf_check rom_write(
>>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>>  }
>>
>> +static uint8_t vpci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos)
>> +{
>> +    uint8_t id;
>> +    int ttl;
>> +
>> +    if ( pos < 0x40 )
>> +        pos = pci_conf_read8(sbdf, PCI_CAPABILITY_LIST);
>> +    else
>> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
> 
> How about avoiding the if/else by having the caller pass in a useful
> value, rather than PCI_CAPABILITY_LIST? I.e.
> 
> #define PCI_CAP_LIST_FIRST (PCI_CAPABILITY_LIST - PCI_CAP_LIST_NEXT)

OK, yes, I will eliminate the if/else.

> 
>> +    for ( ttl = 48; ttl > 0; ttl-- )
>> +    {
>> +        if ( pos < 0x40 )
>> +            break;
>> +
>> +        pos &= ~3;
>> +        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
>> +
>> +        if ( id == 0xff )
>> +            break;
>> +
>> +        if ( id == PCI_CAP_ID_MSI ||
>> +             id == PCI_CAP_ID_MSIX )
>> +            return pos;
> 
> Can this please start out as switch() right away?

Yes, certainly.

>> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
>> +    }
>> +    return 0;
>> +}
> 
> Nit: Blank line please ahead of main function return point.
> 
> I also notice that the function isn't really vPCI-specific in any way
> (except for the specific PCI_CAP_ID_* compared against). Would it
> perhaps make sense to have it be a general utility function, living in
> xen/drivers/pci/pci.c next to its relatives?

Yes. The the PCI_CAP_ID_* comparisons were the only reason I initially decided not to use the existing pci_find_next_cap() function, which performs an almost identical task. I just noticed that the existing pci_find_next_cap() doesn't appear to have any callers. Given this, I'd prefer to modify the existing pci_find_next_cap() to suit our needs.

>> @@ -544,6 +574,54 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>
>> +    if ( !is_hardware_domain(pdev->domain) )
>> +    {
>> +        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
>> +             == 0 )
>> +        {
>> +            /* RAZ/WI */
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   PCI_CAPABILITY_LIST, 1, NULL);
>> +            if ( rc )
>> +                return rc;
>> +        }
>> +        else
>> +        {
>> +            /* Only expose capabilities to the guest that vPCI can handle. */
>> +            uint8_t next, ttl;
>> +
>> +            next = vpci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST);
>> +
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   PCI_CAPABILITY_LIST, 1,
>> +                                   (void *)(uintptr_t)next);
> 
> In vpci_find_next_cap() the low 2 bits were masked off. While reserved
> at present, I wonder whether we wouldn't be better off passing them
> "through".

Agreed

>> +            if ( rc )
>> +                return rc;
>> +
>> +            for ( ttl = 48; ttl > 0; ttl-- )
> 
> vpci_find_next_cap() already bounds its loops; you effectively allow for
> 48*48 iterations here. It would seem better if the ttl applied globally,
> and would hence want to be an in/out for vpci_find_next_cap().

OK

> Also note that according to ./CODING_STYLE ttl shouldn't be uint<N>_t
> (this likely extends to other uses of such types here), and plain int
> also isn't really appropriate for a value which can't go negative.

Good catch, this was an oversight on my behalf. I will fix it.


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 21:46:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 21:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583818.914145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfNx-0004gV-Go; Mon, 14 Aug 2023 21:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583818.914145; Mon, 14 Aug 2023 21:46:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfNx-0004gO-Dm; Mon, 14 Aug 2023 21:46:01 +0000
Received: by outflank-mailman (input) for mailman id 583818;
 Mon, 14 Aug 2023 21: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=BKCc=D7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qVfNw-0004gI-Oh
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 21:46:00 +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 f32275a6-3aeb-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 23:45:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AB7426167D;
 Mon, 14 Aug 2023 21:45:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41A5BC433C7;
 Mon, 14 Aug 2023 21:45:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f32275a6-3aeb-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692049555;
	bh=Y1Zxt6wB2EhTD4rLQUMaqiFbXtof1DhMYsirq0VwDVA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=twEq12WmK5+CebT58fMvEbp/U2/AV36x2lusFXAgGNjIwaqYpuU4bKqjOt678xNwb
	 nHfjwYhkutLi/tFWRDjXlFgwIscOcU4CW3gyTn4EhSuIzUpT1KaWhK70LJPAcNyU29
	 m0NTuX5wZC54y0pgTjiz4EMco3V5BdypDnSxvnugN75KE3Tj2kVCmmtV0zxSWKNv25
	 +MxTm/PmHkni5+xNCe5lNBJ/Jo2/GQcttSK4Z/AjuCY22o9TH1S1UOlgcOH5DOkKHZ
	 giVnCpyMfaaY9Rbocg/eWIQvmAF9i8qKciyzeDuRTXum7SCfIFsOcJ8XBApvpF0RtZ
	 8WZF9jWk4s8cw==
Date: Mon, 14 Aug 2023 14:45:52 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    andrew.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
In-Reply-To: <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com> <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
 <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 12 Aug 2023, Simone Ballarin wrote:
> On 12/08/2023 00:04, Stefano Stabellini wrote:
> > On Fri, 11 Aug 2023, Simone Ballarin wrote:
> > > With this patch, ECLAIR jobs will need to be manually
> > > started for "people/.*" pipelines.
> > > 
> > > This avoids occupying the runner on analyzes that might
> > > not be used by developers.
> > > 
> > > If developers want to analyze their own repositories
> > > they need to launch them from GitLab.
> > > 
> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > ---
> > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
> > >  automation/gitlab-ci/build.yaml   |  6 ------
> > >  automation/gitlab-ci/test.yaml    |  5 -----
> > >  3 files changed, 10 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > b/automation/gitlab-ci/analyze.yaml
> > > index 4aa4abe2ee..f04ff99093 100644
> > > --- a/automation/gitlab-ci/analyze.yaml
> > > +++ b/automation/gitlab-ci/analyze.yaml
> > > @@ -20,21 +20,27 @@
> > >        codequality: gl-code-quality-report.json
> > >    needs: []
> > > 
> > > -eclair-x86_64:
> > > +.eclair-analysis:triggered:
> > >    extends: .eclair-analysis
> > > +  allow_failure: true
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> > > +      when: manual
> > > +    - when: always
> > > +
> > > +eclair-x86_64:
> > > +  extends: .eclair-analysis:triggered
> > >    variables:
> > >      LOGFILE: "eclair-x86_64.log"
> > >      VARIANT: "X86_64"
> > >      RULESET: "Set1"
> > > -  allow_failure: true
> > > 
> > >  eclair-ARM64:
> > > -  extends: .eclair-analysis
> > > +  extends: .eclair-analysis:triggered
> > >    variables:
> > >      LOGFILE: "eclair-ARM64.log"
> > >      VARIANT: "ARM64"
> > >      RULESET: "Set1"
> > > -  allow_failure: true
> > > 
> > >  .eclair-analysis:on-schedule:
> > >    extends: .eclair-analysis
> > 
> > Everything so far looks great and I am ready to Ack.
> > 
> > 
> > > diff --git a/automation/gitlab-ci/build.yaml
> > > b/automation/gitlab-ci/build.yaml
> > > index 173613567c..e4b601943c 100644
> > > --- a/automation/gitlab-ci/build.yaml
> > > +++ b/automation/gitlab-ci/build.yaml
> > > @@ -12,11 +12,6 @@
> > >        - '*/*.log'
> > >      when: always
> > >    needs: []
> > > -  except:
> > > -    - master
> > > -    - smoke
> > > -    - /^coverity-tested\/.*/
> > > -    - /^stable-.*/
> > > 
> > >  .gcc-tmpl:
> > >    variables: &gcc
> > > @@ -269,7 +264,6 @@
> > >  .test-jobs-artifact-common:
> > >    stage: build
> > >    needs: []
> > > -  except: !reference [.test-jobs-common, except]
> > > 
> > >  # Arm test artifacts
> > > 
> > > diff --git a/automation/gitlab-ci/test.yaml
> > > b/automation/gitlab-ci/test.yaml
> > > index 8ccce1fe26..11cb97ea4b 100644
> > > --- a/automation/gitlab-ci/test.yaml
> > > +++ b/automation/gitlab-ci/test.yaml
> > > @@ -1,11 +1,6 @@
> > >  .test-jobs-common:
> > >    stage: test
> > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > -  except:
> > > -    - master
> > > -    - smoke
> > > -    - /^coverity-tested\/.*/
> > > -    - /^stable-.*/
> > > 
> > >  .arm64-test-needs: &arm64-test-needs
> > >    - alpine-3.18-arm64-rootfs-export
> > 
> > These changes instead belongs to the first patch, right?
> 
> Yes, sorry. Moreover, it is the answer to your question on
> the other patch.

No problem. Please re-send. One more comment. In the first patch we
have:

+workflow:
+  rules:
+    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
+      when: never
+    - when: always

I think it is an excellent idea to skip "master" as well as the others,
but maybe we could make them "manual" instead of "never" just in case
someone wants to see the results on master. It might happen on special
occasions.


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 21:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 21:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583824.914154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfSJ-0006C3-0Y; Mon, 14 Aug 2023 21:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583824.914154; Mon, 14 Aug 2023 21:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfSI-0006Bw-UJ; Mon, 14 Aug 2023 21:50:30 +0000
Received: by outflank-mailman (input) for mailman id 583824;
 Mon, 14 Aug 2023 21:50:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BKCc=D7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qVfSH-0006Bq-Mh
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 21:50:29 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 947ba45a-3aec-11ee-b289-6b7b168915f2;
 Mon, 14 Aug 2023 23:50:28 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 03289611B0;
 Mon, 14 Aug 2023 21:50:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0B9BBC433C7;
 Mon, 14 Aug 2023 21:50: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: 947ba45a-3aec-11ee-b289-6b7b168915f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692049826;
	bh=BbkPiy9vhk+CnVt+c3/OqzfDT0gOe87yqh26ziHMQ68=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WanGi3w5bFAJf/OIfqob9wsrxHJx+6OU5nfDubN5fp7bTR2PxSOIVqdnlsvHvk/QA
	 I1Ek+lh6nx2RY/8j+oiuJK+5yAc+FVK3NMYDFstKxYOCOcTxFP9RIsurUrIShAF1CV
	 joelLpLdzeypLMD29tjy9hA+mgGsGrLW4nFNCEE5YMYqG19k71RahfFpiikrEwFORM
	 y+6eJZYjywBsoyUiFx/QF0YKFBaG5X7SAuGsRpkhaoHcT1dM8pYhdNsX2aEIdmsX2Z
	 ZcJKYSrSrgWKFLkuBeRLKmsk8BKcgujyWJMvXC3XwqIs9F7tksVbvb2Upcmz8M1fT2
	 X8p1zTZZslBGQ==
Date: Mon, 14 Aug 2023 14:50:23 -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, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v2] xen/arm: traps: remove unused function
 'dump_guest_s1_walk'
In-Reply-To: <771478833d2f5f0d0c7ee706fcc7e57637b5068b.1692003039.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308141450070.6458@ubuntu-linux-20-04-desktop>
References: <771478833d2f5f0d0c7ee706fcc7e57637b5068b.1692003039.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 Mon, 14 Aug 2023, Nicola Vetrini wrote:
> The function has no uses in the codebase, and can be removed.
> This also avoids the violation of MISRA C:2012 Rule 8.4 and Rule 2.1
> because it has no declaration and the function's code is unreachable.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
> Changes in v2:
> - Modified commit message according to review suggestions.
> 
> The function in question has no callers and its removal has already
> been proposed (and acked) as part of this larger series [1].
> There have been further bugfixes to that function (commits
> a43cc8fc0827 and 60e06f2b1b2b) but they do not add any caller,
> hence it can be removed.
> 
> [1] https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@linaro.org/
> ---
>  xen/arch/arm/traps.c | 57 --------------------------------------------
>  1 file changed, 57 deletions(-)
> 
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 7baddfdc57b3..46c9a4031b30 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1686,63 +1686,6 @@ void handle_ro_raz(struct cpu_user_regs *regs,
>      handle_ro_read_val(regs, regidx, read, hsr, min_el, 0);
>  }
> 
> -void dump_guest_s1_walk(struct domain *d, vaddr_t addr)
> -{
> -    register_t ttbcr = READ_SYSREG(TCR_EL1);
> -    uint64_t ttbr0 = READ_SYSREG64(TTBR0_EL1);
> -    uint32_t offset;
> -    uint32_t *first = NULL, *second = NULL;
> -    mfn_t mfn;
> -
> -    mfn = gfn_to_mfn(d, gaddr_to_gfn(ttbr0));
> -
> -    printk("dom%d VA 0x%08"PRIvaddr"\n", d->domain_id, addr);
> -    printk("    TTBCR: 0x%"PRIregister"\n", ttbcr);
> -    printk("    TTBR0: 0x%016"PRIx64" = 0x%"PRIpaddr"\n",
> -           ttbr0, mfn_to_maddr(mfn));
> -
> -    if ( ttbcr & TTBCR_EAE )
> -    {
> -        printk("Cannot handle LPAE guest PT walk\n");
> -        return;
> -    }
> -    if ( (ttbcr & TTBCR_N_MASK) != 0 )
> -    {
> -        printk("Cannot handle TTBR1 guest walks\n");
> -        return;
> -    }
> -
> -    if ( mfn_eq(mfn, INVALID_MFN) )
> -    {
> -        printk("Failed TTBR0 maddr lookup\n");
> -        goto done;
> -    }
> -    first = map_domain_page(mfn);
> -
> -    offset = addr >> (12+8);
> -    printk("1ST[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
> -           offset, mfn_to_maddr(mfn), first[offset]);
> -    if ( !(first[offset] & 0x1) ||
> -          (first[offset] & 0x2) )
> -        goto done;
> -
> -    mfn = gfn_to_mfn(d, gaddr_to_gfn(first[offset]));
> -
> -    if ( mfn_eq(mfn, INVALID_MFN) )
> -    {
> -        printk("Failed L1 entry maddr lookup\n");
> -        goto done;
> -    }
> -    second = map_domain_page(mfn);
> -    offset = (addr >> 12) & 0x3FF;
> -    printk("2ND[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
> -           offset, mfn_to_maddr(mfn), second[offset]);
> -
> -done:
> -    if ( second ) unmap_domain_page(second);
> -    if ( first ) unmap_domain_page(first);
> -}
> -
>  /*
>   * Return the value of the hypervisor fault address register.
>   *
> --
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 21:53:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 21:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583829.914165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfUg-0006kx-EO; Mon, 14 Aug 2023 21:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583829.914165; Mon, 14 Aug 2023 21:52:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVfUg-0006kq-Ax; Mon, 14 Aug 2023 21:52:58 +0000
Received: by outflank-mailman (input) for mailman id 583829;
 Mon, 14 Aug 2023 21: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=BKCc=D7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qVfUe-0006kk-Ti
 for xen-devel@lists.xenproject.org; Mon, 14 Aug 2023 21:52:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebc0964a-3aec-11ee-8613-37d641c3527e;
 Mon, 14 Aug 2023 23:52:54 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 245C1624B3;
 Mon, 14 Aug 2023 21:52:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6991C433C8;
 Mon, 14 Aug 2023 21:52:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebc0964a-3aec-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692049972;
	bh=9SzIFgmYfF0rfvBc328qz8rTkFPAsEnW6omA1zzXxZ8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FAMzsslalGoRvm59r40jA7ez4gLSjejEGSeXSECHpBRqkZbFCoFDlwCrbVvCO2a+H
	 lQKCefJMLbcSU0JDc/D1eIYsa5RRxDrJ6GOP/YszQUalFx06H2AOY85sN3GtaQpAWm
	 +Btum6IKFLfdtNAz1LO1luIexOlz6Mxei66ZOqW26BByrskD8iiCgRhFvcaWghIoPJ
	 mb8rJwX47v0YSpGlSdrGHFisfjvR8YXS4y6xOCHO8X2cWcsi1XI+bmJfw9x0BAWNGo
	 JAeLND66bXvCPo/QcM8LOIKvKpnGjbF9MAXrjp5OA+7Eibz4b2KVfme8ARM9Y9BA+2
	 OUD/0Pk0y3n9g==
Date: Mon, 14 Aug 2023 14:52:50 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    andrew.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
In-Reply-To: <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308141451360.6458@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com> <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop> <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
 <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 14 Aug 2023, Stefano Stabellini wrote:
> On Sat, 12 Aug 2023, Simone Ballarin wrote:
> > On 12/08/2023 00:04, Stefano Stabellini wrote:
> > > On Fri, 11 Aug 2023, Simone Ballarin wrote:
> > > > With this patch, ECLAIR jobs will need to be manually
> > > > started for "people/.*" pipelines.
> > > > 
> > > > This avoids occupying the runner on analyzes that might
> > > > not be used by developers.
> > > > 
> > > > If developers want to analyze their own repositories
> > > > they need to launch them from GitLab.
> > > > 
> > > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > > ---
> > > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
> > > >  automation/gitlab-ci/build.yaml   |  6 ------
> > > >  automation/gitlab-ci/test.yaml    |  5 -----
> > > >  3 files changed, 10 insertions(+), 15 deletions(-)
> > > > 
> > > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > > b/automation/gitlab-ci/analyze.yaml
> > > > index 4aa4abe2ee..f04ff99093 100644
> > > > --- a/automation/gitlab-ci/analyze.yaml
> > > > +++ b/automation/gitlab-ci/analyze.yaml
> > > > @@ -20,21 +20,27 @@
> > > >        codequality: gl-code-quality-report.json
> > > >    needs: []
> > > > 
> > > > -eclair-x86_64:
> > > > +.eclair-analysis:triggered:
> > > >    extends: .eclair-analysis
> > > > +  allow_failure: true
> > > > +  rules:
> > > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> > > > +      when: manual
> > > > +    - when: always
> > > > +
> > > > +eclair-x86_64:
> > > > +  extends: .eclair-analysis:triggered
> > > >    variables:
> > > >      LOGFILE: "eclair-x86_64.log"
> > > >      VARIANT: "X86_64"
> > > >      RULESET: "Set1"
> > > > -  allow_failure: true
> > > > 
> > > >  eclair-ARM64:
> > > > -  extends: .eclair-analysis
> > > > +  extends: .eclair-analysis:triggered
> > > >    variables:
> > > >      LOGFILE: "eclair-ARM64.log"
> > > >      VARIANT: "ARM64"
> > > >      RULESET: "Set1"
> > > > -  allow_failure: true
> > > > 
> > > >  .eclair-analysis:on-schedule:
> > > >    extends: .eclair-analysis
> > > 
> > > Everything so far looks great and I am ready to Ack.
> > > 
> > > 
> > > > diff --git a/automation/gitlab-ci/build.yaml
> > > > b/automation/gitlab-ci/build.yaml
> > > > index 173613567c..e4b601943c 100644
> > > > --- a/automation/gitlab-ci/build.yaml
> > > > +++ b/automation/gitlab-ci/build.yaml
> > > > @@ -12,11 +12,6 @@
> > > >        - '*/*.log'
> > > >      when: always
> > > >    needs: []
> > > > -  except:
> > > > -    - master
> > > > -    - smoke
> > > > -    - /^coverity-tested\/.*/
> > > > -    - /^stable-.*/
> > > > 
> > > >  .gcc-tmpl:
> > > >    variables: &gcc
> > > > @@ -269,7 +264,6 @@
> > > >  .test-jobs-artifact-common:
> > > >    stage: build
> > > >    needs: []
> > > > -  except: !reference [.test-jobs-common, except]
> > > > 
> > > >  # Arm test artifacts
> > > > 
> > > > diff --git a/automation/gitlab-ci/test.yaml
> > > > b/automation/gitlab-ci/test.yaml
> > > > index 8ccce1fe26..11cb97ea4b 100644
> > > > --- a/automation/gitlab-ci/test.yaml
> > > > +++ b/automation/gitlab-ci/test.yaml
> > > > @@ -1,11 +1,6 @@
> > > >  .test-jobs-common:
> > > >    stage: test
> > > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > > -  except:
> > > > -    - master
> > > > -    - smoke
> > > > -    - /^coverity-tested\/.*/
> > > > -    - /^stable-.*/
> > > > 
> > > >  .arm64-test-needs: &arm64-test-needs
> > > >    - alpine-3.18-arm64-rootfs-export
> > > 
> > > These changes instead belongs to the first patch, right?
> > 
> > Yes, sorry. Moreover, it is the answer to your question on
> > the other patch.
> 
> No problem. Please re-send. One more comment. In the first patch we
> have:
> 
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> 
> I think it is an excellent idea to skip "master" as well as the others,
> but maybe we could make them "manual" instead of "never" just in case
> someone wants to see the results on master. It might happen on special
> occasions.

One more thing: today the Eclair jobs always start even if WTOKEN is not
defined (hence the jobs cannot actually succeed). Would it make sense to
also add a check on the existence of WTOKEN? If WTOKEN exists, start the
Eclair jobs, otherwise do not ?


From xen-devel-bounces@lists.xenproject.org Mon Aug 14 22:58:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 Aug 2023 22:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583836.914174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVgW4-0004yu-0J; Mon, 14 Aug 2023 22:58:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583836.914174; Mon, 14 Aug 2023 22:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVgW3-0004yn-Tx; Mon, 14 Aug 2023 22:58:27 +0000
Received: by outflank-mailman (input) for mailman id 583836;
 Mon, 14 Aug 2023 22:58: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 1qVgW1-0004yd-P4; Mon, 14 Aug 2023 22:58: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 1qVgW1-0004RN-JF; Mon, 14 Aug 2023 22:58: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 1qVgW1-0001MD-3O; Mon, 14 Aug 2023 22:58:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVgW1-0002s6-2s; Mon, 14 Aug 2023 22:58: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=a5vcYRLT0Vg5V1UbXZb3IzUECIrArF35lXOjAGmoYaM=; b=14T1OB5zRgixphHbCcfupnx5gX
	Z31HASSlpOvURDT1hlXuL08QVJtTpZXxbIAGXq0WD2ZmXvBkYEs97SWcPEBtSo/o9tDbaenbLSKPa
	+PlRgcYOtZwOj3JfVw9qQVZtQVnVZGioCm4QunYePL4Ma0JGAslZxrUa99CH8tM2clRk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182324-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182324: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw: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-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat: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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 14 Aug 2023 22:58:25 +0000

flight 182324 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182324/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2  19 guest-start.2            fail REGR. vs. 182076

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 182316 pass in 182324
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 182316 pass in 182324
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 182316 pass in 182324
 test-armhf-armhf-xl-vhd 17 guest-start/debian.repeat fail in 182316 pass in 182324
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 182316

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 182316 like 182055
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 182316 like 182076
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 182316 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 182316 never pass
 test-arm64-arm64-libvirt-raw 18 guest-start.2                fail  like 182065
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat    fail  like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   16 days
Failing since        182239  2023-08-08 18:13:15 Z    6 days    7 attempts
Testing same since   182292  2023-08-12 02:13:40 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Aring <aahringo@redhat.com>
  Alexander Steffen <Alexander.Steffen@infineon.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrzej Hajda <a.hajda@samsung.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunguang Xu <brookxu@tencent.com>
  Cixi Geng <cixi.geng1@unisoc.com>
  Colin Ian King <colin.king@canonical.com>
  Coly Li <colyli@suse.de>
  D Scott Phillips <scott@os.amperecomputing.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Esben Haabendal <esben@geanix.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg MĂ¼ller <georgmueller@gmx.net>
  Gilles Buloz <gilles.buloz@kontron.com>
  Gratian Crisan <gratian.crisan@ni.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guiting Shen <aarongt.shen@gmail.com>
  Hagar Hemdan <hagarhem@amazon.de>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ian Rogers <irogers@google.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Vanek <linuxtardis@gmail.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Benc <jbenc@redhat.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Thornber <ejt@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jonas Gorski <jonas.gorski@gmail.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kaufmann Automotive GmbH <info@kaufmann-automotive.ch>
  Kim Phillips <kim.phillips@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Laszlo Ersek <lersek@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Å»enczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Marcos Paulo de Souza <mpdesouza@suse.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael S. Tsirkin <mst@redhat.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Mohsen Tahmasebi <moh53n@moh53n.ir>
  Mostafa Ghofrani <mostafaghrr@gmail.com>
  ndesaulniers@google.com <ndesaulniers@google.com>
  Nick Desaulniers <ndesaulniers@google.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Maignial <olivier.maignial@hotmail.fr>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pedro Tammela <pctammela@mojatatu.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratyush Yadav <ptyadav@amazon.de>
  Prince Kumar Maurya <princekumarmaurya06@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Roger Quadros <rogerq@kernel.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Ross Maynard <bids.7405@bigpond.com>
  Ruihong Luo <colorsu1922@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Shaoying Xu <shaoyi@amazon.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Stewart Smith <trawets@amazon.com>
  Sungwoo Kim <iam@sung-woo.kim>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  valis <sec@valis.email>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Ming <machel@vivo.com>
  Xianting Tian <xianting_tian@126.com>
  Xiubo Li <xiubli@redhat.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zubin Mithra <zsm@chromium.org>
  Åukasz Bartosik <lb@semihalf.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5380 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 00:55:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 00:55:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583845.914184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qViKd-0000sC-HG; Tue, 15 Aug 2023 00:54:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583845.914184; Tue, 15 Aug 2023 00: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 1qViKd-0000s5-EO; Tue, 15 Aug 2023 00:54:47 +0000
Received: by outflank-mailman (input) for mailman id 583845;
 Tue, 15 Aug 2023 00:54: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 1qViKc-0000rv-Dr; Tue, 15 Aug 2023 00:54: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 1qViKc-0007hJ-BI; Tue, 15 Aug 2023 00:54: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 1qViKb-00066A-Og; Tue, 15 Aug 2023 00:54:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qViKb-0008BW-O8; Tue, 15 Aug 2023 00:54:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=skvAWzlp1ikBnWP3tUWn7RyTdl6xRX30/47Z4AjGp9Y=; b=WNR2Dc65K1NKLdRyT7Ks1g6eNs
	I/ON09+6Byz11soz3/mDI7tLH8OnMLwV7kQ9LLWnHVt+sh9FY57HuJHTpswzSnrpd403UHvsJNEgP
	Xg2YUfm9bpI+O57MswfjHI8wN55eyTRzn5B9cJTZK3ZgiV9GtFVNi11jg1ILbkOWfq3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182334-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182334: 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=2763c33c6e52583f4f599d0e195bf5b1b859df22
X-Osstest-Versions-That:
    xen=290959692726bed9a9404fbb151767dba9928c5b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 00:54:45 +0000

flight 182334 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182334/

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                  2763c33c6e52583f4f599d0e195bf5b1b859df22
baseline version:
 xen                  290959692726bed9a9404fbb151767dba9928c5b

Last test of basis   182330  2023-08-14 13:00:25 Z    0 days
Testing same since   182334  2023-08-14 22:02:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   2909596927..2763c33c6e  2763c33c6e52583f4f599d0e195bf5b1b859df22 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 04:45:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 04:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583853.914195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVlw1-0001HU-GT; Tue, 15 Aug 2023 04:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583853.914195; Tue, 15 Aug 2023 04: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 1qVlw1-0001HM-BZ; Tue, 15 Aug 2023 04:45:37 +0000
Received: by outflank-mailman (input) for mailman id 583853;
 Tue, 15 Aug 2023 04:45: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 1qVlw0-0001HC-5B; Tue, 15 Aug 2023 04:45: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 1qVlw0-0007DC-2r; Tue, 15 Aug 2023 04:45: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 1qVlvz-0000wL-JD; Tue, 15 Aug 2023 04:45:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVlvz-0001nu-Ik; Tue, 15 Aug 2023 04: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tfDAAkOk7+CJtuz+9ikBXCivF+VbbTJ3Acu7LPrMjZM=; b=dEQoIVmZqfLt/xrX+nskIk8uXy
	vQzqlgiVEAm4mHvvW8V2Q3SAWBW/O4L6QJVJp6xtpfEynwaNCpJv2BkPychh0/dpU7EdxySwZSz07
	Sa6x7oShOk1vy8152FDSlWUg4vwcsASLkpyIF18OsR4iUGQGM99bTCFUEIcs1UO+Bq6I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182332-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182332: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2ccdd1b13c591d306f0401d98dedc4bdcd02b421
X-Osstest-Versions-That:
    linux=c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 04:45:35 +0000

flight 182332 linux-linus real [real]
flight 182336 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182332/
http://logs.test-lab.xenproject.org/osstest/logs/182336/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail in 182321 pass in 182332
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 182321 pass in 182332
 test-amd64-amd64-xl-shadow   23 guest-start.2    fail in 182321 pass in 182332
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail in 182321 pass in 182332
 test-amd64-amd64-pygrub 19 guest-localmigrate/x10 fail in 182321 pass in 182332
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 182321 pass in 182336-retest
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot           fail pass in 182321
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182321

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182301
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop fail in 182321 blocked in 182301
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182301
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182301
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182301
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182301
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                2ccdd1b13c591d306f0401d98dedc4bdcd02b421
baseline version:
 linux                c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3

Last test of basis   182301  2023-08-12 17:47:06 Z    2 days
Failing since        182313  2023-08-13 07:56:11 Z    1 days    3 attempts
Testing same since   182321  2023-08-14 01:10:12 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandra Diupina <adiupina@astralinux.ru>
  Andrew Kallmeyer <kallmeyeras@gmail.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Chengfeng Ye <dg573847474@gmail.com>
  Christoph Hellwig <hch@lst.de>
  David Sterba <dsterba@suse.com>
  GergÅ‘ KĂ¶teles <soyer@irl.hu>
  Hans de Goede <hdegoede@redhat.com>
  James Clark <james.clark@arm.com>
  Jean Delvare <jdelvare@suse.de>
  Josef Bacik <josef@toxicpanda.com>
  Justin Tee <justin.tee@broadcom.com>
  Karan Tilak Kumar <kartilak@cisco.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manish Rangankar <mrangankar@marvell.com>
  Martin K Petersen <martin.petersen@oracle.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Michael Kelley <mikelley@microsoft.com>
  Narsimhulu Musini <nmusini@cisco.com>
  Nilesh Javali <njavali@marvell.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Saurav Kashyap <skashyap@marvell.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Tony Battersby <tonyb@cybernetics.com>
  Vadim Pasternak <vadimp@nvidia.com>
  Vladimir Telezhnikov <vtelezhnikov@astralinux.ru>
  William Breathitt Gray <william.gray@linaro.org>
  Yang Li <yang.lee@linux.alibaba.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Zhu Wang <wangzhu9@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                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   c8afaa1b0f8b..2ccdd1b13c59  2ccdd1b13c591d306f0401d98dedc4bdcd02b421 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 05:59:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 05:59:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583861.914204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVn5Z-0000Sb-Ps; Tue, 15 Aug 2023 05:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583861.914204; Tue, 15 Aug 2023 05: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 1qVn5Z-0000SU-NM; Tue, 15 Aug 2023 05:59:33 +0000
Received: by outflank-mailman (input) for mailman id 583861;
 Tue, 15 Aug 2023 05:59:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVak=EA=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVn5Y-0000SO-67
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 05:59:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5c71925-3b30-11ee-b28b-6b7b168915f2;
 Tue, 15 Aug 2023 07:59:30 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6905.eurprd04.prod.outlook.com (2603:10a6:10:113::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug
 2023 05:59:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 05:59:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5c71925-3b30-11ee-b28b-6b7b168915f2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OZkZWF+aWoe4Ffa/VpZm0kPCzkRVmiKBhFGqV7OcYp3tlhXJrg2NnfEyK/aMvAbWsBfANNMR2J5C7iepVpkWZOD6AKpTFKTwcUem/ct3PeW2Sz0N5Bcy9vrwOCtXh+l8whxU1ZxnnDn42prkzWynih/WK8HSN18DR4QTyT1ahfbtxIkSahcVBJ9k0gytbVVDkKVDkDlM228SW5uFzEfPD6TfisHbgXRLRjTM5u5+Wp3MP3afLHtMoshaf+5BnVl1/NHJJRnFgVIsJe8L5S9vMJ9JoGQn4Ikr0c+Xsk/aPHoH+ddnYHpAnKpOfJCMRnsmGUKbSGTRLPmofCOvgZZ2fg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wtW5c5IFqRJ6t9+Wlp7QzAZc5xG3DbDYvu2/vusObE8=;
 b=TC+kE12tuHY2wBOonaiXITGghk9hA2MN+ZgLaEx8JuOZJ62t7odUcC3+BJ4YIKgP037uWYyZVGWBlDNUon1fbTYTPTybFSiPwA2TLjQ53n+hiF1P42ojZu0mDGgnj37Lp2gFtH2pDh476lBtP1zqL59fETJos0JTC74o3ZRCRouHnYCW8VjVns8tKRtuUoYU+lDdQe+ERJ8cqkAAdubjKne6EtApaGc1PAhZqDzixNiV3M/XYqwZouAPCOkhLyzMWdxL8Ct6Uh0AZ10AJ0UU6Sv5AMXjS1eUvQY6YxIPX4tfr9J1W9rXjZ7PLHEqS+uFFw4T2zoIx9hs3pPUqW/Gcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wtW5c5IFqRJ6t9+Wlp7QzAZc5xG3DbDYvu2/vusObE8=;
 b=fCY16qp7T0uqZAUle8wMf29Z8xQsTItdGvBLuNy5Jj0/d3QhcIKEI55SNnJLpeggJ92/iXKTPx8jerTWOskkraR60UK7FvJWQb810wYYgh7DCwLZRUz8DUvKXmjbZhl6w4zdJNVi5E2TBu+IepK3+myp9MbzeEUWKRhfd1TcIdfHC4qgjXokkjomOSHrjfqMHqMPhN6cgQUwepYGRE1RR2eUrrqUQk36bzD57OrIdjgFNIx9KL2qF8ikmjXxbBSXCG5rTtx8iz/tBMQxEdPyVeRJUFFuEdHMovueOe+0E1PORYFlcs8A+u/k8TY4iTSRw/Q/AHx4EKcz/EG+wrQlgA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b86c7256-22ba-28de-7279-d1d257cfa669@suse.com>
Date: Tue, 15 Aug 2023 07:59:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 0/3] vPCI capabilities filtering
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
 <98616195-71ef-23ce-e6ed-0dfb6e10020c@suse.com>
 <0dfbf498-affb-133d-08bb-69a96d629d1e@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0dfbf498-affb-133d-08bb-69a96d629d1e@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6905:EE_
X-MS-Office365-Filtering-Correlation-Id: be0cd929-fbb1-4933-5a5f-08db9d54c8a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V3+kWGp62De1ofgWstxw4NTpl2WO7KGw4pIOpctbEU8nLgJuV1tVVP6OnyQatVkashBbC4EMevhS+eI8EZVPAfSsd+gQDVUDy0C5+6H0bE5PrBM6TYrE7CbGy3ghEhp0HqWB800cSKocIa6/mfBjzTcbVFqjB3DomwMCUoSyeaAZ+7V5UkioI3L30pxvVFjyXcnAAXXiWd13UOUYOihzNipoHPKN1t6jRKMQakkcWq66sSSkHk42UOJpqXP2Sp9ZPE+2rzg+dWiIl5SiUKN6gpjOaif5kWhr+B1mPyqRiJT7Zrbo00rxqH9APZlJMYtVhET2z4cQgSIV/GdGzK2pIh9Sf8gwqXTFYJBmjBDzJAcVYvD2avx/21sMKtlEDta+5czNLhNQVf2lJ8tH72pUasjB9MJli//0BOF23asu+5ejpGYzBuIFztVSSMu4jDRO3R2/ZiHNOOi6HiC2txA+2TVPdAME+zfsWQUo6WivXGByw6oa2tszX+d/5FWbL7QBoh4mehzf6jkmzSQIxfviDrVZ2X3a/Q2p3F1CHxlOPKVkkXBGEQVHKR1+rveX7ohol1WS2WYoqCkjRA0ki7rzYMxz0xcxHlTTrHaxE3giWMJPWYZjEIcdvohErB0RMCFbUeivjTP4KvPpvU+rOP0naA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(346002)(396003)(39860400002)(451199021)(186006)(1800799006)(26005)(6506007)(53546011)(966005)(6512007)(6486002)(2616005)(83380400001)(5660300002)(8676002)(8936002)(2906002)(478600001)(316002)(41300700001)(6916009)(66476007)(66556008)(66946007)(4326008)(31696002)(86362001)(36756003)(38100700002)(31686004)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZllHYU1BNDF1N3lLa29yeXY0RmF0QTA0eGgrYTFpUE5HUldJY3BBeW83NkMr?=
 =?utf-8?B?V3M4QjM5TURZWlY4eXpVaThjajJUVUpINStvNmtNZWVIUmpIb2RtUlhWQXl6?=
 =?utf-8?B?RkZQaG5hMkNzVStncmZ0SlRjbmx2Yk1FWjJQY3UreFVtbDFvYVQ1dU5GR3U3?=
 =?utf-8?B?NGdwUkQyUkV4TnVrU2UwVG52cDR3dlB3K2lJMkNsV3VqbCtBZ1h3UW5YbUg0?=
 =?utf-8?B?MDJQam13WS9EVEdBOCtPSEdETnMrSlJjVVg1QVd5SGZjNFBGYS9ac2hKQm9Z?=
 =?utf-8?B?cHJhN0ZtTWtwQU9KVFRPMjdlZ1IyamQwV1FoRzNDcERpLzNtQnc5SUxYZHRz?=
 =?utf-8?B?bHNLZm1Oc2M5Z1dqTmVoWThaaWJ3QzFEaENQOWs5eTAvOWdTSEg0NTFINGMv?=
 =?utf-8?B?Z1RJc3BDOFNtdjVaanFjMC90NDZvL1JpTTJiTFd5b3pENUZOZlR1Tm5vVlM4?=
 =?utf-8?B?ZlkvM2hJZjZtbWlZYlZGdEhGS1d0aDlNUXFXNXhIWEp5ZjkxQzF5QjcrMjVu?=
 =?utf-8?B?YjMxek04Uy84ZTNMcW91TFRyQnpTbzRJUy9NUXdiVG1EOXh3Q0pwWjgwYVN4?=
 =?utf-8?B?ZDZtcVZSdXgzN1hLelBVOXlIcTZGSTdsZ3Q5ZmFsVHU0emFEazRZblNtMW9M?=
 =?utf-8?B?eEdyZjBxczRYOTNna1lFUVE3VVFnSG1PZlJTRHJTRDRDR293bjNmM1hVb01J?=
 =?utf-8?B?UHNENjJub1R1ZytGK0MySzJvdEhaTi9HSFlWcS9xUDAybVB4UU5CNm01MkVK?=
 =?utf-8?B?TkQyM3o5T2k4RG5lM2xpaEI5K3VKcktQdVM3a2Z1RHhiRjNFMDZhRlhaQkU1?=
 =?utf-8?B?KzNYRUx5eEpSSUxYdktjMHE1YW5RTUJPVHdsQU95SWw4ZnY1N2JTYmM4Si9H?=
 =?utf-8?B?R0plWWxnMnEyWmt4bGJpY3k1VysrekZwdG5lM3JxanVCMjc5KzJZOWZMSkxa?=
 =?utf-8?B?WFFwYmsyblBrUlR6VjNmcTRxYjhxMGorVjdnM1lzZS93MElMaHNac1FaN0Jp?=
 =?utf-8?B?S25La3NyRk04YWpuY1p1U0ZSZ1lkTFlUU2pNSmxJNFlRd1NOYkZNOGRXUHpr?=
 =?utf-8?B?ZHgyTkgvdTRLSlpGYThSZ3FBaGZINzQzaVhXUGxMK1VZZTNWdE04Z0ZCT2V2?=
 =?utf-8?B?Mmx2ZnpzQ1lZb3d4MmVwV0E1WG1pZUxBY0RHdDBPWXlqSFRCbnR6amtBNzVN?=
 =?utf-8?B?dDVHa0kyVXFPN3lKSkRXczZsbGNvUldXUUVmMGF3YXdhVHdKbFI2M3dhMFdh?=
 =?utf-8?B?OUNvWSt4NjBrMFdvT1U1UGs2akg4SDJFc0UzcGhhb2NiZkhSOVBIRXRvU3NN?=
 =?utf-8?B?dDNlQWYyZDVpajk5VWdHdnN5T2Z2QUNVVzhlRTRPa05TYlNqVTNUMHNOZEY4?=
 =?utf-8?B?WHM1dkV6cmx2THYzVEFxWkVqN0lXdW5VYmVUaW85bTFBaWxvVzRZTEF0SVho?=
 =?utf-8?B?RnpQYzdGa0hKOExwTFZRS0xxemhxYmN5SDg4YlpteG5IdGNQSmh5bTFmY1hw?=
 =?utf-8?B?Uy8rc3hOQWdIdzFWWEdnanlvM0liSmk2ZGlJVElMdmxjRGNKWXVaSUgweW9F?=
 =?utf-8?B?NHVHRU00c2N5bTRYQUx6eGI5Y3llSVVxUnRrTk8vNkJnaWdXRFJIb0liVWdF?=
 =?utf-8?B?cGtEM05QUEtQZU9IL2o2TU52ODhhTW1QcnkzU2lHL3hPc2QyeDY2aHU2N2U2?=
 =?utf-8?B?aGNaY3dsSjdoakJKSXZtcjdoMU5nalEzUkFiZnFZemZNNldVUDJEY3FYOWR5?=
 =?utf-8?B?TXhuUFUvYWF0N2Z2TnpRekc0eDl4SEV2bnZrVkhHUHR5bWlnQ1lEUmMvZEhL?=
 =?utf-8?B?VVBCVlBNVzlLNDZ4RUZIZzZwSEU4WFgzcjhpc2RtZ3RSdmQzNjFnZUZ3MzZw?=
 =?utf-8?B?U2pQaHhNNzFVWmFQZ3JiQXhHd2oyRnZuWUxSZjMwTlhQZUFVRm1WSWhaT2M5?=
 =?utf-8?B?RDBZZVRRRUZwN0R0cFUrVTVmNXB0Tmw5NDhKcnZxVG9jSFBuZUhYQlk2VXc0?=
 =?utf-8?B?MEN4K3BqTzJtYzNTZG1jYU1VeHZCOVZRS3VSb3F2T2tGMGxIbTQyK2U4aWVZ?=
 =?utf-8?B?RFlxWHhVa1V6Tkk5Q2hBcjZudmlic2NQYzN4S2U4RmxKcWNyclBwdFBkUWF0?=
 =?utf-8?Q?5ju7f8RKyR84FL5qKgRoG17Tf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be0cd929-fbb1-4933-5a5f-08db9d54c8a6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 05:59:27.4574
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /qzqMxH9rMQfN1FEAwhdbJd3VWlmwSLEyjQx8Vy6tf4uoitPpv/coysI0wlqBCPrC8pwE4mDoHxb9uPymE7yHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6905

On 14.08.2023 23:11, Stewart Hildebrand wrote:
> On 8/14/23 09:59, Jan Beulich wrote:
>> On 10.08.2023 21:12, Stewart Hildebrand wrote:
>>> This small series enables vPCI to filter which PCI capabilites we expose to a
>>> domU. This series adds vPCI register handlers within
>>> xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.
>>>
>>> Note there are minor rebase conflicts with the in-progress vPCI series [1].
>>> These conflicts fall into the category of functions and code being added
>>> adjacent to one another, so are easily resolved. I did not identify any
>>> dependency on the vPCI locking work, and the two series deal with different
>>> aspects of emulating the PCI header.
>>>
>>> Future work may involve adding handlers for more registers in the vPCI header,
>>> such as STATUS, VID/DID, etc.
>>>
>>> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html
>>>
>>> Stewart Hildebrand (3):
>>>   xen/vpci: add vpci_hw_read8 helper
>>>   xen/vpci: add vpci_read_val helper
>>>   xen/vpci: header: filter PCI capabilities
>>
>> I'm not convinced of the split here: Seeing the new helpers in isolation
>> leaves entirely open what they're to be used for.
> 
> Our code review guide [2] (section "General Patterns") explicitly suggests separating independent helper functions into (a) separate patch(es). Whether it is one patch per helper, or all helpers in a single patch appears ambiguous.
> That said, I'd still be happy to squash all these into a single patch to avoid the transient dead code situation - please confirm.

I'm not the maintainer of this code, so my confirmation is of limited
value, but yes, in the case here I'm of the clear opinion that
separating out the helper functions is not helpful. Not doing so will
then also ...

>> Plus besides introducing
>> dead code (even if only transiently), you also introduce cf_check marked
>> code which isn't really called indirectly from anywhere. Yet we'd like to
>> keep the amount of these markings down (in the final binary, not so much
>> in source code).
> 
> The helper functions will be added to struct vpci_register objects, where they will be called from vpci.c:vpci_read():
> 
>     val = r->read(pdev, r->offset, r->private);
> 
> Does this justify the cf_check attribute?

It not only justifies the attribute, it actually demands it, yes. By
the time these use sites appear.

> If so, should the cf_check attributes rather be added once the helpers are actually used in the patch "xen/vpci: header: filter PCI capabilities"?

... deal with this, by rendering remark and question void.

> [2] http://xenbits.xenproject.org/governance/code-review-guide.html

I'll try to remember to add a topic to the next Community Call's
agenda. Actively suggesting to (even if just transiently) introduce
dead code is in direct conflict with the Misra work. Plus, if such
helpers were static, it also suggests actively breaking the build,
again just transiently of course.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 06:03:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 06:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583867.914215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVn9Z-00022F-DN; Tue, 15 Aug 2023 06:03:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583867.914215; Tue, 15 Aug 2023 06:03:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVn9Z-000228-AS; Tue, 15 Aug 2023 06:03:41 +0000
Received: by outflank-mailman (input) for mailman id 583867;
 Tue, 15 Aug 2023 06:03:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVak=EA=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVn9Y-000222-22
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 06:03:40 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79ac6814-3b31-11ee-8613-37d641c3527e;
 Tue, 15 Aug 2023 08:03:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9924.eurprd04.prod.outlook.com (2603:10a6:20b:67e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug
 2023 06:03:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 06:03:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79ac6814-3b31-11ee-8613-37d641c3527e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jBVrIs/LnpcoKd1IEpP7pZ+oUgmH3rmChfBl0+Aq2OrH+Cl02vjKIIBxqNUcdMYj8POqXWWr5i9LTFSzxu00V67/3eg3XdUANukDXs2SEnW5Dq0EUunDFmfrTa2w9JGuIJADgYJsJr9U4Q5xek2Nu84U1D00zlXKjgEGhjirOX3FjbF41y8BTH50ncMg9mpfd0AxCIfTdhNu3BqpQB6b9NzAH9kUL6insVKSXLA11p+SkX2tL2kXegLJVMHkRUqS8QHTeTByDx1kopyRkX3S/j4mnzjlmHaBzdghcqnduqlXsFjw0l3jncZTVJHQT2+KkXnl8juEKbwCKZhCPKxzBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/GRX0qUU4uTsh392m0DTImSMXbkGdK6Xq9xTe8sb/fo=;
 b=M8wihcxzSqW1PJo9u6vqLKJJgOIItMVl1P0mzXvtzf+uXE6BE68mOPyuy0w/YQQ5kaYujyk4tpZmgvITuvHNhhsuP9zbIVBTXK7m4g/ZeZgzfqDOUV5nFX2ABgLf9IqavT1Zu4rCDHHOHFERM1PPkmAyh8EqasvG4m8lsNUFGtlah8e4NgpHTpW8k7VNUApv7+jH5gInRuaN1kXY3gtFsGb7dPfgcaCpNRjN8oYkZkFeSFXGmOMRAciaIx+TuO0qj7Su0rvnceLAfYMd+peazvgO+gu/vXNes29ydRibnOE7RHf11hB4dJRE/qZLO3JJ2JQqN8Py/9fVxy7g6zSMFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/GRX0qUU4uTsh392m0DTImSMXbkGdK6Xq9xTe8sb/fo=;
 b=1DYTpin+QJImn0NHN5H2OPk29HyzY31lj+ySFVjgdnq0z1clvyrAuz4UkvFb4KkDEaGF+DHxBuzJ5k/0MgOMtJWf/eJ1XYb8hiUPMhyY8CF037RD7BG61elsN809BrZELCbMkBGmJ41FdD2eTroPq+6ESw6NSdvwD4OKCXZJkeWr3czBgKrj+kRWrdgcZU/lS12bK6/UyleJFc4bfOy6fdphpf2xQKDMSVfXzKq0qVFAdyF1IW3luCOq4toXhMLAxvk2d9XUbQoTQRa1RpYQC/sKpWiIBPmwVrlYMdKAcb0apNcJx+arxbgZm+QnGNJ4DVE8eea6NqgfrRzmFnzMww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb9e1a6c-bfe3-7a91-1ef7-2906dfa26469@suse.com>
Date: Tue, 15 Aug 2023 08:03:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 3/3] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230810191312.644235-1-stewart.hildebrand@amd.com>
 <20230810191312.644235-4-stewart.hildebrand@amd.com>
 <29d82586-550b-6e9f-f967-a2855d1c81a2@suse.com>
 <44c214e3-2e0c-0270-c318-c3992610ab1a@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <44c214e3-2e0c-0270-c318-c3992610ab1a@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9924:EE_
X-MS-Office365-Filtering-Correlation-Id: 0d5920c7-c86c-4680-131e-08db9d554c66
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nzBxvG3VaU6db5kWg1kWi12cSUdIVI/ypy+89Uq707jMadhYQiHos9X9esEnR6aNR7+uN+8lqYs3IvO8XpqgfR4PGyx8HVoDBM3C2a914+ijk2udRgUtC7nLNFzoLbbftU14QSFwsrslaW9ehgEzJibwPUJuEryhtTPyWHz6AqgvpV1G8QISViDyVnryR2ef8EtGcIH24zEUySkn9zvjwTUA8IpGPEjyNllDV1aH2O1HmWM7YTqEBYG1lWUkUhL8sQLBtjspArAwQFddVyeXUz76+QLso5BV0cDY7Oz6pgiOed8NxVbRwawbevRpLAGHSqQysGA9cH6AQIe+i3gqlbOkQVjGytgPJBKw/+GjP2Yyv9WYYtjAw9mDK59c+b82TebVyI97MqdRm5u3Ewpgv5roqdFEcVJ2Lrv9PZVuhp7+gdCjzvXlyzEdzEfRdKlVnvxYb2Ys8oXzt0g42LVhh/WTLYrv4kHk2blxSNQP+RIofHzz97C7TCr3XTswkxzQiLePdodh5oBHxylvZeIvWbk0hY6uylJ7WBKEY2TLJbshZnQRdhG1Q3iU4lonrLvlgPlb/1juL+2R1x0cFJt6K0zC2pBMeUZg98LgvpIDN7zO9XdMPeEG1e2eMUuvNnAe+4DJcncyE2bK8sZOJHnB2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(376002)(366004)(346002)(39860400002)(186006)(1800799006)(451199021)(31686004)(66899021)(6486002)(6512007)(86362001)(31696002)(36756003)(38100700002)(83380400001)(53546011)(6506007)(26005)(2906002)(478600001)(2616005)(41300700001)(8936002)(66946007)(5660300002)(66476007)(8676002)(66556008)(6916009)(4326008)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QUhrODRkRnZUVCtFdGFRZGZRaU93YkxNakhxdlZiR0JVOUZHaEZ6aHJhZnpT?=
 =?utf-8?B?V2hwSXBqWW1mUmNteUM4ZTE3OU9YVnZsQ0hyL2lVbmtFdFJRdGZKQ0ppUnJJ?=
 =?utf-8?B?Q0VGMjZGY0F1YUhmdEU4ZmFOVHk2bk5YTlFuZ2FpZzhjWEg2ZCszRCtPeWJ5?=
 =?utf-8?B?ZmpuOGsyejNwWFlrbElYU3JGR1dqcEtLSXBsUy82d2pZaFh1NXV5cnB3dlZi?=
 =?utf-8?B?T3c0WjVDR09pK28zaXplQkd5aWJaRjZpOVFpR1A0SlY2eGhRZlJIS2YzREpm?=
 =?utf-8?B?MTZjbUpFejZvaHU1Z2xNenJhT2hod0VBcm5DM3lpVFh6WUVCNWlsQUh2bk9r?=
 =?utf-8?B?dElGYkY4TXpTcGJXSkIzZ2Q4QU5leGd3Y2hRbzJySmFtdjhBT29NWXNXSkR5?=
 =?utf-8?B?THk1Q3dnTU13M3RCcFVPbzNtZnIvSlBuMFRGazRNMlpZQnl6enNNVWc1MWVD?=
 =?utf-8?B?NEpwZEE4eGlJUncrYnN1RDZpMEpTRWtrVlY3bTZuRFFKaXNWbEwrQ2hDZ25k?=
 =?utf-8?B?Z09lRmNVUDdvK3EyRHJLd1dIWFJTMVp6VHBPN1RsQzh6VVNKb2RzVkhQZ0RL?=
 =?utf-8?B?TTZYem9vZ1lOUXZad1ZoMU9SSXF2ZUpKV0lYRDdPOEFqcnV4T3NnTFBFeHJ1?=
 =?utf-8?B?cEFoVDhxcjV3T2Y2UkZWeHAwMitYdm9tM0JvV3NtZjJUdUxkb1N3RTdDKzVX?=
 =?utf-8?B?UFdrOVU2QWpXdXorVEt0OXlCaVFUSWoySDhQcjZhTmJtVjdNeFpvdEhFN3FU?=
 =?utf-8?B?WXhOYWsvTVN4RTdoSjEvNmUzSHhTMVZCbVNvOUNPTWtIbW5XVlpZQlU5dHc1?=
 =?utf-8?B?SGcvMUt0ZHgxbDkzOW8yWVlEZVkzQUpiUnVzRVN0T1grMHcyclhiMkEvUHZQ?=
 =?utf-8?B?dDB0SHU1UVhBZWtKNG1PVTl2TlpERlg5UGFCRzVQK01hQ1ZDNWdqSXVSOERO?=
 =?utf-8?B?ajJFeTF3N0tFWVhVK3pOY1Z0ZWIxYjR2REUzemEwWEtZSXdEaHF1MVBGYmtV?=
 =?utf-8?B?THVaUEJXazc0ZlJEZE1iOXY3NUZETmtucjBPSHpWWW9hc1JoQ1pCMllLa1hh?=
 =?utf-8?B?d0VhaTdYdThnSFNJbzRGVldxVHAvR0d5LysvSmx0dXB4djNxN0pVQ3g5Uk41?=
 =?utf-8?B?bnlxY3BVVnJxb2dabmg3Y2o5d1VNQmpwK0JMR3NHRWZLN2I3WURuMUQvQXRZ?=
 =?utf-8?B?UWsxYVE2R2hZNTY3M1gxaFB3UitESElVcUhMV0xGcGx5d3U0YzlWL3lqNTUz?=
 =?utf-8?B?SU1kaTZNb1BRckdKK1o1TFJWZUtmMXd0WFRUWUFqem81N1FJZytSem5NR2dj?=
 =?utf-8?B?anNGMzV3WGUvczRLWU5sSG0vR2hZNEFPck9iVHV2dHFOTlQzZXlGUlRSYjhy?=
 =?utf-8?B?cE1LTU9kYVZOODFTSTZpTGJHTnBzV3lveTQ3anV4NDR2RlBVRjBNSGpNU21H?=
 =?utf-8?B?NXdFSklMR3FUWGZ3TmQxSzc1RFdzRk8vc0g2ZlRlak5WS0o0TzZTakFoTmNp?=
 =?utf-8?B?RnBhOXhVYSt4dU55blBkRU9Gc3BBakMwSHZrQldjODFrNzhyYXBtdjk3VytZ?=
 =?utf-8?B?WnQvWXlPc0N0UktCbDNUR3hVQVFNa003cDNNN2VUaHdCRkdxUjJUMnRZZVJu?=
 =?utf-8?B?OGZVK1NTemhWYmI5TldITnV1RzcrK2paZWFlaXpsQWhUdnBvWXp1STRJTTZ5?=
 =?utf-8?B?aWR5b3lIaXg3SWxPU3Q2aDNjNXRSMEhteW9naDhEakFpRU8wYnVwOFhMWGVi?=
 =?utf-8?B?R29CTWFpYkwwZ2podHJkWkF6ZVorMlJDMjU4R2ZsS2Q5c052SzFuUXZTVGlK?=
 =?utf-8?B?WmdtQ05ZemRYaTI5aVhUQkQvY1pSNjRRK1VSNEdCSVd5ZStweTl2NlhhNXlV?=
 =?utf-8?B?Wm1URDMycmZPcjEvaTlEaG4ydFNvaVZUSHM0eTZncGs4VGMzYS9QSDdWZ1Br?=
 =?utf-8?B?ekQ1MTE2ZkdlRW5oUkhkYk5kQzAvQnFnbWt3Z25yTXFFeGlWYVptbU5nYmJY?=
 =?utf-8?B?RUpGd2Z0UWwwNEJXZWIwUDdRc3NZWGMwbFpldTJwbGlpakZXT0tyelA4QXlz?=
 =?utf-8?B?L0srV2pDTzdsRTRvSThObFprcWdXTGJpMVBURnE5S0dFMWFTcURYMDhRSWxp?=
 =?utf-8?Q?dR0fjgv+wAD+lAoqJTBY7jUST?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d5920c7-c86c-4680-131e-08db9d554c66
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 06:03:08.3956
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gnro2hUmW++SAjPoeVY7zxHSMhJ5QSEYVb9AurAvDts3Vpr4kpfdJpD9txx6YG+dNhu3nhYKTzWzbqblXXW8Aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9924

On 14.08.2023 23:11, Stewart Hildebrand wrote:
> On 8/14/23 10:58, Jan Beulich wrote:
>> On 10.08.2023 21:12, Stewart Hildebrand wrote:
>>> --- a/xen/drivers/vpci/header.c
>>> +++ b/xen/drivers/vpci/header.c
>>> @@ -513,6 +513,36 @@ static void cf_check rom_write(
>>>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>>>  }
>>>
>>> +static uint8_t vpci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos)
>>> +{
>>> +    uint8_t id;
>>> +    int ttl;
>>> +
>>> +    if ( pos < 0x40 )
>>> +        pos = pci_conf_read8(sbdf, PCI_CAPABILITY_LIST);
>>> +    else
>>> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
>>
>> How about avoiding the if/else by having the caller pass in a useful
>> value, rather than PCI_CAPABILITY_LIST? I.e.
>>
>> #define PCI_CAP_LIST_FIRST (PCI_CAPABILITY_LIST - PCI_CAP_LIST_NEXT)
> 
> OK, yes, I will eliminate the if/else.
> 
>>
>>> +    for ( ttl = 48; ttl > 0; ttl-- )
>>> +    {
>>> +        if ( pos < 0x40 )
>>> +            break;
>>> +
>>> +        pos &= ~3;
>>> +        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
>>> +
>>> +        if ( id == 0xff )
>>> +            break;
>>> +
>>> +        if ( id == PCI_CAP_ID_MSI ||
>>> +             id == PCI_CAP_ID_MSIX )
>>> +            return pos;
>>
>> Can this please start out as switch() right away?
> 
> Yes, certainly.
> 
>>> +        pos = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_NEXT);
>>> +    }
>>> +    return 0;
>>> +}
>>
>> Nit: Blank line please ahead of main function return point.
>>
>> I also notice that the function isn't really vPCI-specific in any way
>> (except for the specific PCI_CAP_ID_* compared against). Would it
>> perhaps make sense to have it be a general utility function, living in
>> xen/drivers/pci/pci.c next to its relatives?
> 
> Yes. The the PCI_CAP_ID_* comparisons were the only reason I initially decided not to use the existing pci_find_next_cap() function, which performs an almost identical task. I just noticed that the existing pci_find_next_cap() doesn't appear to have any callers. Given this, I'd prefer to modify the existing pci_find_next_cap() to suit our needs.

Please modify the function only if it then remains (easily) usable for
its original purpose. Even if right now without callers, it exists for
a reason. (How to deal with the Misra unreachable code aspect in such
cases remains to be decided.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 07:27:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 07:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583874.914225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVoSC-00026U-9X; Tue, 15 Aug 2023 07:27:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583874.914225; Tue, 15 Aug 2023 07: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 1qVoSC-00026N-6x; Tue, 15 Aug 2023 07:27:00 +0000
Received: by outflank-mailman (input) for mailman id 583874;
 Tue, 15 Aug 2023 07:26: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=hByA=EA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVoSB-00026H-EY
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 07:26:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cbdfc83-3b3d-11ee-8613-37d641c3527e;
 Tue, 15 Aug 2023 09:26:55 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0ADE821986;
 Tue, 15 Aug 2023 07:26:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C437713909;
 Tue, 15 Aug 2023 07:26:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YHJ1Lr8o22QYBwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 15 Aug 2023 07:26: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: 1cbdfc83-3b3d-11ee-8613-37d641c3527e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692084416; 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=1d8p6LSBYvfx6m5+KCyOytVwIyb23YiSy74u7gud+y4=;
	b=XL5CMDmp2XVU/BbVCsTumtFhoDbyj2NleiXkuGGMQ+CVWDP4rJX0o3LbKFZZqew1GCzW3K
	ZARuxmC2+odRJ3Tf225gWBKzP0IoE621u1NZnayrpkNKL+a4/thSSlVjbZtfnuP5qHlChy
	TRNk1/YCI8Oe3sZTYgeTtlFmWEgG6xk=
Message-ID: <5abd6c5f-b9fe-4fd1-95d7-f92fa763eb10@suse.com>
Date: Tue, 15 Aug 2023 09:26:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen: Illustrate the transition to sync_try_cmpxchg
Content-Language: en-US
To: Uros Bizjak <ubizjak@gmail.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
Cc: Peter Zijlstra <peterz@infradead.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230710192440.47140-1-ubizjak@gmail.com>
 <20230710192440.47140-3-ubizjak@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: <20230710192440.47140-3-ubizjak@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------H0X8H9rUDW0PJBMy8EwtcgMS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------H0X8H9rUDW0PJBMy8EwtcgMS
Content-Type: multipart/mixed; boundary="------------9INa0Hf6BXMQPEVZrbWvFYeO";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Uros Bizjak <ubizjak@gmail.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
Cc: Peter Zijlstra <peterz@infradead.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Message-ID: <5abd6c5f-b9fe-4fd1-95d7-f92fa763eb10@suse.com>
Subject: Re: [PATCH 3/3] xen: Illustrate the transition to sync_try_cmpxchg
References: <20230710192440.47140-1-ubizjak@gmail.com>
 <20230710192440.47140-3-ubizjak@gmail.com>
In-Reply-To: <20230710192440.47140-3-ubizjak@gmail.com>

--------------9INa0Hf6BXMQPEVZrbWvFYeO
Content-Type: multipart/mixed; boundary="------------ENw9nYNqNn7D9oSXkACrK1AY"

--------------ENw9nYNqNn7D9oSXkACrK1AY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDcuMjMgMjE6MjEsIFVyb3MgQml6amFrIHdyb3RlOg0KPiBUaGlzIHBhdGNoIGls
bHVzdHJhdGVzIHRoZSB0cmFuc2l0aW9uIHRvIHN5bmNfdHJ5X2NtcHhjaGcuDQo+IEl0IGlz
IG5vdCBpbnRlbmRlZCB0byBiZSBtZXJnZWQgYXMtaXMuDQo+IA0KPiBDYzogUGV0ZXIgWmlq
bHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPg0KPiBDYzogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPg0KPiBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBr
ZXJuZWwub3JnPg0KPiBDYzogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNo
Y2hlbmtvQGVwYW0uY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBVcm9zIEJpemphayA8dWJpemph
a0BnbWFpbC5jb20+DQoNCkFja2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------ENw9nYNqNn7D9oSXkACrK1AY
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ENw9nYNqNn7D9oSXkACrK1AY--

--------------9INa0Hf6BXMQPEVZrbWvFYeO--

--------------H0X8H9rUDW0PJBMy8EwtcgMS
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/Ey8FAmTbKL8FAwAAAAAACgkQsN6d1ii/Ey9u
mAf5AZKGPPIczGL+OsNSU+/ryKAKVE+Gj3Sn5LVOhZJHyjfEMVPIaAPfkgUdb2r5LTkGfLKC+cet
cyGtu1MGWfCp1NLqKeOVlWEW0obRsvxEnmbqf1qCzwJKgLXmOIIiX5mwCr8xsCfGdtxAzHs+MRSv
9IGzUP37mvNHhXAjvZwLuikBO1adOzr4NifffKYbYccty5DkYYA003FDipQcFjsJQaL/HrA55xlJ
WkH9kwiUgPM3MqIHYUdVu1WGHEwquk85+9p9oDEeliyyGo3iXOVT4FC1WDwCsMO6y63IA1f2skxU
kGt2plBzE7yXlIt8d/Jmd6DPDpJ/YX29KTWghbCGDA==
=9wrQ
-----END PGP SIGNATURE-----

--------------H0X8H9rUDW0PJBMy8EwtcgMS--


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 07:53:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 07:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583880.914234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVorP-0005d7-68; Tue, 15 Aug 2023 07:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583880.914234; Tue, 15 Aug 2023 07:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVorP-0005d0-3N; Tue, 15 Aug 2023 07:53:03 +0000
Received: by outflank-mailman (input) for mailman id 583880;
 Tue, 15 Aug 2023 07:53: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 1qVorN-0005cq-Gu; Tue, 15 Aug 2023 07:53: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 1qVorN-0003cR-D3; Tue, 15 Aug 2023 07:53:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qVorM-0007qw-VF; Tue, 15 Aug 2023 07:53:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVorM-0001AG-Uj; Tue, 15 Aug 2023 07: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=cqoLqlDDDccOJzS/aRBHEJ6bu2HOZkF8aQnIEH6OzmE=; b=GJqRA1O+0OrBIeqWprr377pUk4
	X0WxkztjHXNsYZ0rhDcEmRUjkSIk94g4/XDRUopeXNl5IA/usIxgNIARKepQBcuyQq3K/uBXFUeBR
	VeJkgis/yWJfaRJ/YL8e/86OGRYbPKOZOP4anuiiO2zfkUNKvVqe/tcGKjebrhDRmBuk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182333-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182333: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=290959692726bed9a9404fbb151767dba9928c5b
X-Osstest-Versions-That:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 07:53:00 +0000

flight 182333 xen-unstable real [real]
flight 182340 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182333/
http://logs.test-lab.xenproject.org/osstest/logs/182340/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 182322

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182322
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182322
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182322
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182322
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182322
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182322
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182322
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182322
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182322
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  290959692726bed9a9404fbb151767dba9928c5b
baseline version:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c

Last test of basis   182322  2023-08-14 01:52:39 Z    1 days
Testing same since   182333  2023-08-14 17:09:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 290959692726bed9a9404fbb151767dba9928c5b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Aug 14 12:27:43 2023 +0200

    Revert "xen/riscv: introduce decode_cause() stuff"
    
    This reverts commit 22e71609ad49797b2da141394d07ab5b1c326d54,
    which breaks both release and randconfig builds.

commit 22e71609ad49797b2da141394d07ab5b1c326d54
Author: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Date:   Mon Aug 14 10:02:15 2023 +0200

    xen/riscv: introduce decode_cause() stuff
    
    The patch introduces stuff needed to decode a reason of an
    exception.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Acked-by: Alistair Francis <alistair.francis@wdc.com>

commit 86bd2484f36eba5d99883b7945b26bbbd2db6abe
Author: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Date:   Mon Aug 14 10:01:52 2023 +0200

    xen/riscv: introduce <asm/bug.h>
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

commit 603a24573a4eb23cbc7f0485199aa10a64a5c2aa
Author: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Date:   Mon Aug 14 10:00:53 2023 +0200

    xen/riscv: introduce temporary printk stuff
    
    The patch introdcuces printk related stuff which should be deleted
    after Xen common code will be available.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Acked-by: Alistair Francis <alistair.francis@wdc.com>

commit 1f44323271d20493580ef7d5dde8da9d67f6521d
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Mon Aug 14 10:00:12 2023 +0200

    cpufreq: add missing include of header 'pmstat.h'
    
    The missing header included by this patch provides a declaration for
    'set_px_pminfo' that is visible prior to the definition in this file.
    This also resolves a violation of MISRA C:2012 Rule 8.4.
    
    Fixes: 452119c09420 ("x86 and ia64: move cpufreq notify code to commone place")
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 7a0eb50170f428b1dd8f255fb4a3dc5a281d0c03
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Mon Aug 14 09:59:30 2023 +0200

    x86/setup: add missing headers
    
    The missing headers declare variables 'xen_cpuidle' and 'use_invpcid'
    that are then defined inside the file.
    This is undesirable and also violates MISRA C:2012 Rule 8.4.
    Adding suitable "#include"s resolves the issue.
    
    The type of the variable 'xen_cpuidle' also changes according to
    s/s8/int8_t/.
    
    Fixes: 3eab82196b02 ("x86: PIT broadcast to fix local APIC timer stop issue for Deep C state")
    Fixes: 63dc135aeaf9 ("x86: invpcid support")
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6bccbb1794eae796e211d2e9e3a7de4aae86de68
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Mon Aug 14 09:58:37 2023 +0200

    x86/hpet: make variable 'per_cpu__cpu_bc_channel' static
    
    The variable is only ever used inside the file where it's
    defined, therefore it can have static storage. This also
    resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
    of a declaration prior to the definition.
    
    Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit d1f6a58dfdc508c43a51c1865c826d519bf16493
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Aug 14 09:58:19 2023 +0200

    build: correct gas --noexecstack check
    
    The check was missing an escape for the inner $, thus breaking things
    in the unlikely event that the underlying assembler doesn't support this
    option.
    
    Fixes: 62d22296a95d ("build: silence GNU ld warning about executable stacks")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 08:37:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 08:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583893.914248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVpY9-0002NF-P5; Tue, 15 Aug 2023 08:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583893.914248; Tue, 15 Aug 2023 08:37:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVpY9-0002N8-LJ; Tue, 15 Aug 2023 08:37:13 +0000
Received: by outflank-mailman (input) for mailman id 583893;
 Tue, 15 Aug 2023 08:37: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=JJNO=EA=linux.dev=muchun.song@srs-se1.protection.inumbo.net>)
 id 1qVpY7-0002Mo-Oj
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 08:37:12 +0000
Received: from out-40.mta0.migadu.com (out-40.mta0.migadu.com [91.218.175.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eae3fa63-3b46-11ee-b28c-6b7b168915f2;
 Tue, 15 Aug 2023 10:37: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: eae3fa63-3b46-11ee-b28c-6b7b168915f2
Content-Type: text/plain;
	charset=us-ascii
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1692088626;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uBmn5bY96EnmwKJFlv+WltFrhGvpjIbZEKIiYirKvRY=;
	b=vz0KHcPQmyiJWfmlN0KqRtShPV8OO94S7Ve+8NAyKaJzlfD3l3Gwdcs50vzwkyJwFeNk42
	wWmdUe83i5yu+zc+P73iwMyGZC6f36VMufdeZyZpMS2xcjecgpOeJWBucmjek3/RmzHbqM
	Esg+z/IvqlGN9dYsqiRnMi0+1ICkj/k=
MIME-Version: 1.0
Subject: Re: [PATCH v4 01/48] mm: move some shrinker-related function
 declarations to mm/internal.h
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Muchun Song <muchun.song@linux.dev>
In-Reply-To: <20230807110936.21819-2-zhengqi.arch@bytedance.com>
Date: Tue, 15 Aug 2023 16:36:31 +0800
Cc: Andrew Morton <akpm@linux-foundation.org>,
 david@fromorbit.com,
 tkhai@ya.ru,
 Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>,
 "Paul E. McKenney" <paulmck@kernel.org>,
 tytso@mit.edu,
 steven.price@arm.com,
 cel@kernel.org,
 Sergey Senozhatsky <senozhatsky@chromium.org>,
 yujie.liu@intel.com,
 Greg KH <gregkh@linuxfoundation.org>,
 simon.horman@corigine.com,
 dlemoal@kernel.org,
 LKML <linux-kernel@vger.kernel.org>,
 Linux-MM <linux-mm@kvack.org>,
 x86@kernel.org,
 kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org,
 netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org,
 linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com,
 linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org,
 virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org,
 linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org,
 linux-btrfs@vger.kernel.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <FC3AE898-443D-4ACB-BCB4-0F8F2F48CDD0@linux.dev>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-2-zhengqi.arch@bytedance.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
X-Migadu-Flow: FLOW_OUT



> On Aug 7, 2023, at 19:08, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
>=20
> The following functions are only used inside the mm subsystem, so it's
> better to move their declarations to the mm/internal.h file.
>=20
> 1. shrinker_debugfs_add()
> 2. shrinker_debugfs_detach()
> 3. shrinker_debugfs_remove()
>=20
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>

One nit bellow.

[...]

> +
> +/*
> + * shrinker related functions
> + */

This is a multi-comment format. "/* shrinker related functions. */" is
the right one-line format of comment.

> +
> +#ifdef CONFIG_SHRINKER_DEBUG
> +extern int shrinker_debugfs_add(struct shrinker *shrinker);
> +extern struct dentry *shrinker_debugfs_detach(struct shrinker =
*shrinker,
> +      int *debugfs_id);
> +extern void shrinker_debugfs_remove(struct dentry *debugfs_entry,
> +    int debugfs_id);
> +#else /* CONFIG_SHRINKER_DEBUG */
> +static inline int shrinker_debugfs_add(struct shrinker *shrinker)
> +{
> +	return 0;
> +}
> +static inline struct dentry *shrinker_debugfs_detach(struct shrinker =
*shrinker,
> +     int *debugfs_id)
> +{
> +	*debugfs_id =3D -1;
> +	return NULL;
> +}
> +static inline void shrinker_debugfs_remove(struct dentry =
*debugfs_entry,
> +	int debugfs_id)
> +{
> +}
> +#endif /* CONFIG_SHRINKER_DEBUG */
> +
> #endif /* __MM_INTERNAL_H */
> --=20
> 2.30.2
>=20



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 08:45:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 08:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583899.914258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVpfr-0003t0-FR; Tue, 15 Aug 2023 08:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583899.914258; Tue, 15 Aug 2023 08: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 1qVpfr-0003st-Br; Tue, 15 Aug 2023 08:45:11 +0000
Received: by outflank-mailman (input) for mailman id 583899;
 Tue, 15 Aug 2023 08:45: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=JJNO=EA=linux.dev=muchun.song@srs-se1.protection.inumbo.net>)
 id 1qVpfp-0003sl-SA
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 08:45:09 +0000
Received: from out-60.mta1.migadu.com (out-60.mta1.migadu.com [95.215.58.60])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09f8d568-3b48-11ee-b28c-6b7b168915f2;
 Tue, 15 Aug 2023 10:45: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: 09f8d568-3b48-11ee-b28c-6b7b168915f2
Content-Type: text/plain;
	charset=us-ascii
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1692089107;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=d2GQT27JBORMGN4q7RKbUYlAoigLeQM193KWTjK1+1c=;
	b=FRL/ltyDk6h6CRg5cbkY9bVyLglBaTn6TN1AqP0hvLYmbCo7IPQK7K10OejYDI/exkfKch
	6u6X9SpuAcMC1xJitcw9cZ/1rhmfJ5U48AMYSFpK2Bsy4fCi0AC+IGqXx9ZTbYi9bkVata
	zUMcVl/PuRM8qvEN8trILpirtVGTVQA=
MIME-Version: 1.0
Subject: Re: [PATCH v4 02/48] mm: vmscan: move shrinker-related code into a
 separate file
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Muchun Song <muchun.song@linux.dev>
In-Reply-To: <20230807110936.21819-3-zhengqi.arch@bytedance.com>
Date: Tue, 15 Aug 2023 16:44:21 +0800
Cc: Andrew Morton <akpm@linux-foundation.org>,
 david@fromorbit.com,
 tkhai@ya.ru,
 Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>,
 "Paul E. McKenney" <paulmck@kernel.org>,
 tytso@mit.edu,
 steven.price@arm.com,
 cel@kernel.org,
 senozhatsky@chromium.org,
 yujie.liu@intel.com,
 gregkh@linuxfoundation.org,
 simon.horman@corigine.com,
 dlemoal@kernel.org,
 linux-kernel@vger.kernel.org,
 linux-mm@kvack.org,
 x86@kernel.org,
 kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org,
 netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org,
 linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com,
 linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org,
 virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org,
 linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org,
 linux-btrfs@vger.kernel.org
Content-Transfer-Encoding: 7bit
Message-Id: <BEE5622B-8E74-405C-9A5B-0CF410F8344E@linux.dev>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-3-zhengqi.arch@bytedance.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
X-Migadu-Flow: FLOW_OUT



> On Aug 7, 2023, at 19:08, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
> 
> The mm/vmscan.c file is too large, so separate the shrinker-related
> code from it into a separate file. No functional changes.
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 08:57:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 08:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583905.914267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVprI-0005YF-FA; Tue, 15 Aug 2023 08:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583905.914267; Tue, 15 Aug 2023 08:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVprI-0005Y8-Ca; Tue, 15 Aug 2023 08:57:00 +0000
Received: by outflank-mailman (input) for mailman id 583905;
 Tue, 15 Aug 2023 08:56:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JJNO=EA=linux.dev=muchun.song@srs-se1.protection.inumbo.net>)
 id 1qVprG-0005Y2-Rd
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 08:56:58 +0000
Received: from out-60.mta1.migadu.com (out-60.mta1.migadu.com [95.215.58.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aedfa690-3b49-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 10:56:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aedfa690-3b49-11ee-9b0c-b553b5be7939
Content-Type: text/plain;
	charset=us-ascii
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1692089813;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=P6bHve1nYg/bJoXU/AFGmk5Zl6IycrFBw1mdd3eghAw=;
	b=ZboKTnDNrg6vIJPIGhqfQcqeDe/jt4ERjlf13Tk6VPjXBVQvvsAtANiKpbjOjVSgRfY40A
	qV1OgTNlJhRtArT95ncotHyqj7m2j8VDwj2zwa0fIqDGhtCIIoQOUE7bkXfa+YKA3QuuoE
	8EIeURUh5iYzv41wHSUftY3Kgi5uKPM=
MIME-Version: 1.0
Subject: Re: [PATCH v4 12/48] gfs2: dynamically allocate the gfs2-qd shrinker
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Muchun Song <muchun.song@linux.dev>
In-Reply-To: <20230807110936.21819-13-zhengqi.arch@bytedance.com>
Date: Tue, 15 Aug 2023 16:56:06 +0800
Cc: Andrew Morton <akpm@linux-foundation.org>,
 david@fromorbit.com,
 tkhai@ya.ru,
 Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>,
 djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>,
 "Paul E. McKenney" <paulmck@kernel.org>,
 tytso@mit.edu,
 steven.price@arm.com,
 cel@kernel.org,
 senozhatsky@chromium.org,
 yujie.liu@intel.com,
 gregkh@linuxfoundation.org,
 simon.horman@corigine.com,
 dlemoal@kernel.org,
 linux-kernel@vger.kernel.org,
 linux-mm@kvack.org,
 x86@kernel.org,
 kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net,
 cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org,
 linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org,
 netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org,
 linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com,
 linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org,
 virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org,
 linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org,
 linux-btrfs@vger.kernel.org
Content-Transfer-Encoding: 7bit
Message-Id: <D38951C4-3BC6-409C-90C4-C72E772ECFF0@linux.dev>
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-13-zhengqi.arch@bytedance.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>
X-Migadu-Flow: FLOW_OUT



> On Aug 7, 2023, at 19:09, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
> 
> Use new APIs to dynamically allocate the gfs2-qd shrinker.
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 15 09:15:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 09:15:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583935.914277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVq8q-0008Nn-0q; Tue, 15 Aug 2023 09:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583935.914277; Tue, 15 Aug 2023 09:15: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 1qVq8p-0008Ng-UO; Tue, 15 Aug 2023 09:15:07 +0000
Received: by outflank-mailman (input) for mailman id 583935;
 Tue, 15 Aug 2023 09:15:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vtqw=EA=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qVq8o-0008Na-25
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 09:15:06 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3711391e-3b4c-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 11:15:03 +0200 (CEST)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-1bb91c20602so9096645ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 15 Aug 2023 02:15:03 -0700 (PDT)
Received: from ?IPV6:fdbd:ff1:ce00:1c25:884:3ed:e1db:b610?
 ([240e:694:e21:b::2]) by smtp.gmail.com with ESMTPSA id
 io13-20020a17090312cd00b001b39ffff838sm10630843plb.25.2023.08.15.02.14.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 15 Aug 2023 02:15: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: 3711391e-3b4c-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1692090901; x=1692695701;
        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=N6UPah3rxy6GE+IW6hhaEXFukV19/RQgo9PDGSDaxjc=;
        b=B4NWnukFtWBpBFBooLjjX+4xRi6cYrfaI8iegReeVzLQWKPXXt1CxHdKL4/tZ0fNPM
         0UExtQR6YZe58qkKHpbXtHQV0uPapic2RYOUTB+6Pi7LdOE1C7GEcaF7+zgpTtYtD/de
         UlP+/TDXrfMVghqI9OT3wDmB4f+60Ecld4ptmi3g4OGE44+/xTS+dFaCetp2KrysicqF
         +aYy3xTBT6yAIsFwZB/EdPqMFUGo82MatiM8ko8K8L/pW/bDYDRzwOeVlfM6AvdWPq+b
         HcGAAnq5GXzxPWbDmjMNdTVLUEtTfSjxZmvfFI4JrMMNezs7y6COdvHcs3klmaxHW6vC
         FHlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692090901; x=1692695701;
        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=N6UPah3rxy6GE+IW6hhaEXFukV19/RQgo9PDGSDaxjc=;
        b=WRpC7emADzGxGir9vE/6Ln3oRWmHV7cAEV3tzXLHLflqxbCDCHRDKdlHwK+IC+G2Td
         d5vsntvArbSZLr4IzEv7/ck4kGRVHXhwt2ODttlw9d84+REORS77sgNMQLghliqVzJZD
         xf5doM90vItC3BwdSRilHrT5exgHNh/cjsDM7jSDq2aCL7OruvQwNm15wgMr4uQZOR1N
         id4QZk4EIgOSb5111PahZwTsRcI4/uX1MvDgblMB9sYphul6y4FvGtBFceBK3HO5cW2Q
         9sEBCn/6pWDWa5qouvPw0ui6YAR1FKpsCEs4f+pOo1UX+BkpU+qjLU7Z4mgQgYMliIqf
         QqBg==
X-Gm-Message-State: AOJu0YwMR6QwvymPFUhBFo5K1lH5g2zBriUQqjvpmrJI+PYIf74wxzaS
	rKjutgHoP+gIW7TJ4CF3kfPZ2w==
X-Google-Smtp-Source: AGHT+IGKaQyK0d17VyjHV7p/Fr8yAF+2JMAJsl65uoihXD9UcmAUSi1eF134pFnOBdZUKl9ThFMr5Q==
X-Received: by 2002:a17:902:e5c8:b0:1bb:83ec:832 with SMTP id u8-20020a170902e5c800b001bb83ec0832mr13866844plf.2.1692090901535;
        Tue, 15 Aug 2023 02:15:01 -0700 (PDT)
Message-ID: <4f64cd2d-90e8-7902-7ef7-1ac58d51b2a8@bytedance.com>
Date: Tue, 15 Aug 2023 17:14:40 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v4 01/48] mm: move some shrinker-related function
 declarations to mm/internal.h
Content-Language: en-US
To: Muchun Song <muchun.song@linux.dev>
Cc: Andrew Morton <akpm@linux-foundation.org>, david@fromorbit.com,
 tkhai@ya.ru, Vlastimil Babka <vbabka@suse.cz>,
 Roman Gushchin <roman.gushchin@linux.dev>, djwong@kernel.org,
 Christian Brauner <brauner@kernel.org>, "Paul E. McKenney"
 <paulmck@kernel.org>, tytso@mit.edu, steven.price@arm.com, cel@kernel.org,
 Sergey Senozhatsky <senozhatsky@chromium.org>, yujie.liu@intel.com,
 Greg KH <gregkh@linuxfoundation.org>, simon.horman@corigine.com,
 dlemoal@kernel.org, LKML <linux-kernel@vger.kernel.org>,
 Linux-MM <linux-mm@kvack.org>, x86@kernel.org, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-erofs@lists.ozlabs.org,
 linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com,
 linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org,
 rcu@vger.kernel.org, netdev@vger.kernel.org,
 dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
 dm-devel@redhat.com, linux-raid@vger.kernel.org,
 linux-bcache@vger.kernel.org, virtualization@lists.linux-foundation.org,
 linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
 linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-2-zhengqi.arch@bytedance.com>
 <FC3AE898-443D-4ACB-BCB4-0F8F2F48CDD0@linux.dev>
From: Qi Zheng <zhengqi.arch@bytedance.com>
In-Reply-To: <FC3AE898-443D-4ACB-BCB4-0F8F2F48CDD0@linux.dev>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 2023/8/15 16:36, Muchun Song wrote:
> 
> 
>> On Aug 7, 2023, at 19:08, Qi Zheng <zhengqi.arch@bytedance.com> wrote:
>>
>> The following functions are only used inside the mm subsystem, so it's
>> better to move their declarations to the mm/internal.h file.
>>
>> 1. shrinker_debugfs_add()
>> 2. shrinker_debugfs_detach()
>> 3. shrinker_debugfs_remove()
>>
>> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
> 
> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
> 
> One nit bellow.
> 
> [...]
> 
>> +
>> +/*
>> + * shrinker related functions
>> + */
> 
> This is a multi-comment format. "/* shrinker related functions. */" is
> the right one-line format of comment.

Will do.

Thanks,
Qi

> 
>> +
>> +#ifdef CONFIG_SHRINKER_DEBUG
>> +extern int shrinker_debugfs_add(struct shrinker *shrinker);
>> +extern struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
>> +      int *debugfs_id);
>> +extern void shrinker_debugfs_remove(struct dentry *debugfs_entry,
>> +    int debugfs_id);
>> +#else /* CONFIG_SHRINKER_DEBUG */
>> +static inline int shrinker_debugfs_add(struct shrinker *shrinker)
>> +{
>> +	return 0;
>> +}
>> +static inline struct dentry *shrinker_debugfs_detach(struct shrinker *shrinker,
>> +     int *debugfs_id)
>> +{
>> +	*debugfs_id = -1;
>> +	return NULL;
>> +}
>> +static inline void shrinker_debugfs_remove(struct dentry *debugfs_entry,
>> +	int debugfs_id)
>> +{
>> +}
>> +#endif /* CONFIG_SHRINKER_DEBUG */
>> +
>> #endif /* __MM_INTERNAL_H */
>> -- 
>> 2.30.2
>>
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 09:25:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 09:25:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583941.914288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVqIh-0001cR-TW; Tue, 15 Aug 2023 09:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583941.914288; Tue, 15 Aug 2023 09: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 1qVqIh-0001cK-Qn; Tue, 15 Aug 2023 09:25:19 +0000
Received: by outflank-mailman (input) for mailman id 583941;
 Tue, 15 Aug 2023 09: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=guGw=EA=huawei.com=ruanjinjie@srs-se1.protection.inumbo.net>)
 id 1qVqIg-0001cE-AU
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 09:25:18 +0000
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a21d561f-3b4d-11ee-8774-cb3800f73035;
 Tue, 15 Aug 2023 11:25:15 +0200 (CEST)
Received: from kwepemi500008.china.huawei.com (unknown [172.30.72.55])
 by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4RQ5Rj3PmRzrSWM;
 Tue, 15 Aug 2023 17:23:45 +0800 (CST)
Received: from huawei.com (10.90.53.73) by kwepemi500008.china.huawei.com
 (7.221.188.139) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Tue, 15 Aug
 2023 17:25:04 +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: a21d561f-3b4d-11ee-8774-cb3800f73035
From: Ruan Jinjie <ruanjinjie@huawei.com>
To: <xen-devel@lists.xenproject.org>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: <ruanjinjie@huawei.com>
Subject: [PATCH -next] xen: Switch to use kmemdup() helper
Date: Tue, 15 Aug 2023 17:24:34 +0800
Message-ID: <20230815092434.1206386-1-ruanjinjie@huawei.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.90.53.73]
X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To
 kwepemi500008.china.huawei.com (7.221.188.139)
X-CFilter-Loop: Reflected

Use kmemdup() helper instead of open-coding to
simplify the code.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
---
 drivers/xen/xen-acpi-processor.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 9cb61db67efd..e4be543987a5 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -473,11 +473,8 @@ static int xen_upload_processor_pm_data(void)
 		if (!_pr)
 			continue;
 
-		if (!pr_backup) {
-			pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL);
-			if (pr_backup)
-				memcpy(pr_backup, _pr, sizeof(struct acpi_processor));
-		}
+		if (!pr_backup)
+			pr_backup = kmemdup(_pr, sizeof(struct acpi_processor), GFP_KERNEL);
 		(void)upload_pm_data(_pr);
 	}
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 11:19:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 11:19:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583950.914307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVs5N-0004v9-Oq; Tue, 15 Aug 2023 11:19:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583950.914307; Tue, 15 Aug 2023 11:19: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 1qVs5N-0004v2-M9; Tue, 15 Aug 2023 11:19:41 +0000
Received: by outflank-mailman (input) for mailman id 583950;
 Tue, 15 Aug 2023 11:19: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=hByA=EA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qVs5M-0004uw-Dp
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 11:19:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e8df2da-3b5d-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 13:19:37 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E7E4421986;
 Tue, 15 Aug 2023 11:19:36 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C677C1353E;
 Tue, 15 Aug 2023 11:19:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lLsbL0hf22RncwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 15 Aug 2023 11:19: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: 9e8df2da-3b5d-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692098376; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ZwXy/MNpO0M/TSvC0uX1KB07jF465ILzNjVvDBwKOYg=;
	b=mKKiXCAq15uNNtNk7yFG9a8e2M/EEEM2kOfPVcu8ykJXXA+OQbrFd1XgWAfofS2mHSvavh
	8OldU8QF67y4zpISznj9wfSM2ucdlMxDLabQA7NoE0H6+NBVdEqevqqdwQsdab8bA+bKoW
	RkcyBCQM1dtU3iEGDcnBdih/PofcNZE=
Message-ID: <a5938c21-19f8-4e8d-b95c-04f2ec44c4c7@suse.com>
Date: Tue, 15 Aug 2023 13:19:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: Switch to use kmemdup() helper
Content-Language: en-US
To: Ruan Jinjie <ruanjinjie@huawei.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230815092434.1206386-1-ruanjinjie@huawei.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: <20230815092434.1206386-1-ruanjinjie@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------4TB3Kxlq1tzbgCoLak1miZyG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------4TB3Kxlq1tzbgCoLak1miZyG
Content-Type: multipart/mixed; boundary="------------Km77kY0PFiN7uMgh83CSrd1M";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ruan Jinjie <ruanjinjie@huawei.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Message-ID: <a5938c21-19f8-4e8d-b95c-04f2ec44c4c7@suse.com>
Subject: Re: [PATCH -next] xen: Switch to use kmemdup() helper
References: <20230815092434.1206386-1-ruanjinjie@huawei.com>
In-Reply-To: <20230815092434.1206386-1-ruanjinjie@huawei.com>

--------------Km77kY0PFiN7uMgh83CSrd1M
Content-Type: multipart/mixed; boundary="------------F2jVhHuNhpUiFB0Nyx3I6Rnw"

--------------F2jVhHuNhpUiFB0Nyx3I6Rnw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjMgMTE6MjQsIFJ1YW4gSmluamllIHdyb3RlOg0KPiBVc2Uga21lbWR1cCgp
IGhlbHBlciBpbnN0ZWFkIG9mIG9wZW4tY29kaW5nIHRvDQo+IHNpbXBsaWZ5IHRoZSBjb2Rl
Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogUnVhbiBKaW5qaWUgPHJ1YW5qaW5qaWVAaHVhd2Vp
LmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cg0Kd2l0aCBvbmUgbml0IC4uLg0KDQo+IC0tLQ0KPiAgIGRyaXZlcnMveGVuL3hlbi1hY3Bp
LXByb2Nlc3Nvci5jIHwgNyArKy0tLS0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0
aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hl
bi94ZW4tYWNwaS1wcm9jZXNzb3IuYyBiL2RyaXZlcnMveGVuL3hlbi1hY3BpLXByb2Nlc3Nv
ci5jDQo+IGluZGV4IDljYjYxZGI2N2VmZC4uZTRiZTU0Mzk4N2E1IDEwMDY0NA0KPiAtLS0g
YS9kcml2ZXJzL3hlbi94ZW4tYWNwaS1wcm9jZXNzb3IuYw0KPiArKysgYi9kcml2ZXJzL3hl
bi94ZW4tYWNwaS1wcm9jZXNzb3IuYw0KPiBAQCAtNDczLDExICs0NzMsOCBAQCBzdGF0aWMg
aW50IHhlbl91cGxvYWRfcHJvY2Vzc29yX3BtX2RhdGEodm9pZCkNCj4gICAJCWlmICghX3By
KQ0KPiAgIAkJCWNvbnRpbnVlOw0KPiAgIA0KPiAtCQlpZiAoIXByX2JhY2t1cCkgew0KPiAt
CQkJcHJfYmFja3VwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfcHJvY2Vzc29yKSwg
R0ZQX0tFUk5FTCk7DQo+IC0JCQlpZiAocHJfYmFja3VwKQ0KPiAtCQkJCW1lbWNweShwcl9i
YWNrdXAsIF9wciwgc2l6ZW9mKHN0cnVjdCBhY3BpX3Byb2Nlc3NvcikpOw0KPiAtCQl9DQo+
ICsJCWlmICghcHJfYmFja3VwKQ0KPiArCQkJcHJfYmFja3VwID0ga21lbWR1cChfcHIsIHNp
emVvZihzdHJ1Y3QgYWNwaV9wcm9jZXNzb3IpLCBHRlBfS0VSTkVMKTsNCg0KQXMgeW91IGFy
ZSB0b3VjaGluZyBpdCwgSSdkIHByZWZlciBzaXplb2YoKl9wcikgaW5zdGVhZCBvZg0Kc2l6
ZW9mKHN0cnVjdCBhY3BpX3Byb2Nlc3NvcikuDQoNCkkgY2FuIGRvIHRoYXQgY2hhbmdlIHdo
aWxlIGNvbW1pdHRpbmcsIGlmIHlvdSBhcmUgZmluZSB3aXRoIGl0Lg0KDQoNCkp1ZXJnZW4N
Cg==
--------------F2jVhHuNhpUiFB0Nyx3I6Rnw
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F2jVhHuNhpUiFB0Nyx3I6Rnw--

--------------Km77kY0PFiN7uMgh83CSrd1M--

--------------4TB3Kxlq1tzbgCoLak1miZyG
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/Ey8FAmTbX0gFAwAAAAAACgkQsN6d1ii/Ey8W
mggAjuNAlkt9AclPY15zmTnrbsF0YJKQK6dPAsKVgolgK+U4nB4uRFYyMTqFZ9Iy5iKtz820RvJ6
z09O/f8crwjaCyD1fCtlpSzba3vVREgbl1nUen37EhEcU/tJWRxJj7uX20XjQ+KqamrTkvHzCp7X
MDcb6MCHWwkLPTqkogzK5UJopvaXevCKn9zb2c7nE/AEToJ/hiiRp5dTljyrqFjSZBbJeUhPJqpC
wJ6cnbRorLFbJCXzLahCT4m3iuBINE86iqTUTRTTybXJk3U5I6xAktUbZ8yf/XG9dpFy7VUpJflm
DLavqJFQQU16I6jLRBbZTZm2FV7xx4r863vNMFa4xQ==
=kr9u
-----END PGP SIGNATURE-----

--------------4TB3Kxlq1tzbgCoLak1miZyG--


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 12:36:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 12:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583959.914317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVtHK-00054p-5z; Tue, 15 Aug 2023 12:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583959.914317; Tue, 15 Aug 2023 12:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVtHK-00054i-3J; Tue, 15 Aug 2023 12:36:06 +0000
Received: by outflank-mailman (input) for mailman id 583959;
 Tue, 15 Aug 2023 12:36:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iVak=EA=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVtHJ-00054c-8N
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 12:36:05 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a8cc588-3b68-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 14:36:01 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9916.eurprd04.prod.outlook.com (2603:10a6:10:4ee::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug
 2023 12:35:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 12:35:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a8cc588-3b68-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yc3sf5TxckrURwNOt392nqn9QKzWw+TwVbD5C7mjJgZG0tV3tXN6BtiooX/dp9ATYbLWdolFMspUWc5Rlf94xCW9BYdJO6vucujoaG03/UUnrO8kd7vdCZB+7FDnZUat0K9YTtOyYBO2mUv1Fx6xtrbor+8BymrSd5ZXRMg9eAQvM/CM9rYQ9klTiaPyYUXOFvAFjARqCm0TxTgS99DbqFZ0b9Jnmcn1KLaPGBBbI2/1lkKvZTMeBgS/+Zz3izTLZ11VjXEVvrmotE0Xhgij2nnlrWsbzjJy7p1PfuOZdu4AmjRcJixklHvIrfeegAYs5EiHL7ZQrrsxmzhrLoJjlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RaWln2defixNwk0FmjkU/RDv/F03c2eCwBL94Q2gTkY=;
 b=RaTlEiApAweekQbpASDymSpCfihRgJhkXSHBejnbemAu4fPOMu19aSYUWGPzPw9wVNz8xSxZBiSSZTuLUHz1XvyUV8PHMaMhcZI8/g13omD/PU83YDFVogugDn5bLAqk9TX0MOstRO2xZ3UaLbE2Pf0K4lg4ZpyNAY0e05yBkeNKYuAtjaRSNYn5wOvbxzT9WhHefyGO6yteCC0kJNEEYVeoCrkAIZ5lttmdCG2c2QYMBdLgNQHlAyUsLtS5h2n4cG9Vc4NDoMrAciLYuymQx9VYQvVxD4D/m17xtVrpNluXEXQesaxnMNAtjxTy/h1iT0tRt0IzR3V9iM0aejoq+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RaWln2defixNwk0FmjkU/RDv/F03c2eCwBL94Q2gTkY=;
 b=ujBy0sx/EwU9nDUJjj7jjlA66w+42rMBzS7fbSMDCKZteGb/VCS/79z1/897cDBbtZ0PLgbIkDp766aEePKK+MG3VzS1TJMX5XTMpTY1NdYEljXpVsaw6/WtAmQSjLuwIz9ogEIk2ouXIS6RUklnlVWzQJAdySDRfU9IWO/lr5ev9Vy5fH0COZB/OpqERkxjkKRHRtCZEMg0uOlILh+VDJ/n/DypBtTsAvniI1XG7Lb1n6meOP01ZZx3n0Q2uKg4NE1zvAtAT7K4Cf/y1QyGEDnnfAwCLQ2J5UwJUQyO6Y3Xt1wv0jJcROlcAHraxiTWWtSl62MCjY29MgnbKYayLg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>
Date: Tue, 15 Aug 2023 14:35:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] libxl: slightly correct JSON generation of CPU policy
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9916:EE_
X-MS-Office365-Filtering-Correlation-Id: d880586e-b7cf-492a-506d-08db9d8c2cda
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ybzsty9qZb5xmQRJ0vbibJMD30g0S5ejJPZ7yf80DdhZRzrKJOE/Tc5Tgrf5taGYg2H3u6vKDQRVsmokVq81WCwWcdVfhHKTY4z88zzvEScpUv25Mccm0ARU0SzRgB4Mc7UUkGw7COQlJ9k+sawYLC7uhH4NQbYNTKZpJnMiV5TH3RX23PxJpszX0eqWITMDDpa0OEyW0DMUlAdj58kikuY09KMmhUb3oFEVkViod4ZaFcKbVcrQxwL4x/F89x9A82DfaID4GOcQ4G0f4/3o08OQ84kWlHPjCuPB5XRSiNVX9ompQvwF+AWzDpeeKH29E+G49mrgWDxSazx78/OfxZaydday6wE70N4/fHLGzHVgSo6F3vi3Dqz4a9UY4s1EGEJ8m5hcGxeYzyrOHKu3XTZAZbybARyJ/AU5wd/kqpDWb5BbyCyq7/TM2r7kQLU8q0eUFZTUkXMG6zdwgKrDGqqSvzshUKlpy96/NbLqRQcI2GP+CaVFNQbu4A20beMrh+ZCtduFQdZBiQ6jTidO+XpexmmHajZczGRBggYWMDGK3lg29u5lktfDHWE5KUTqWoX/ol2rL6d0Bu5zd4c5WCVS4vEOji+BY2H0vXseZHwHjze2UDiGWvjUkqM0ljmstdv4K/UGLj7hJmlpoPK0Kw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(396003)(136003)(376002)(39850400004)(451199024)(1800799009)(186009)(36756003)(31686004)(6506007)(4744005)(26005)(4326008)(316002)(8676002)(8936002)(66946007)(41300700001)(2616005)(2906002)(6486002)(6512007)(478600001)(54906003)(5660300002)(66476007)(66556008)(31696002)(86362001)(6916009)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFFDdjgxSTZhWUlQWVdJUjA2ZXJlYUZGYnJjUE9SRVUrekpWSW1Fby93RTlY?=
 =?utf-8?B?ODJGSHlhbUVMRjJXSTRyVE9qYUxPWmI2ZCsxMERvWFNpa0RxdTZCVXBYN3RR?=
 =?utf-8?B?WXRnSGcrV1NiQU9FMmU0cHZ6Ym80OWdVNHk5NEFEMVZqTjMyRUFvWWZxTzdr?=
 =?utf-8?B?elBHOW4yS2Z2aER2QVZtU0dtZ1FzdXFSTHBhNXBHemxUb0xpZXZDdFNmR0NQ?=
 =?utf-8?B?S2NzcElybVBZWHh1czVKK0UvUkZqTnU1UlY2NUVnMUtiQnhpZHVPOXpkTngz?=
 =?utf-8?B?QXMrZnk0TlNNNzZQTys2SDhiNTAvazNPbnFEbVlrdTBEN3RnQmVEUU1PWThw?=
 =?utf-8?B?VDZ1ZmJhMWd1MGd6VUMvZ3cwWFlyRkhHTUhqbjBIQ2dOSlZRazRINGd4Y3Bs?=
 =?utf-8?B?TUJ6U2s5Zi9zbEsrYS9FeUdxYmR0UGtSRlNSSXVnYWxGZ2FEdHczL0VBOUc0?=
 =?utf-8?B?Q0ZWSklUU0ljU01jalowVFpQaDNQZFdRRGg0OUF1NVpxK1JhVEgwOVpOVWtD?=
 =?utf-8?B?K0owaW4wVWl4dlUvWHhVSXRVNTNwTCtNeTl4Y0xITW1RcnZEbm9BVHVvMVNG?=
 =?utf-8?B?VDhvRDZtZVVlNHhJUXpFUE0vQTB1UE1DSmE2RS9wdmxlNWxySlMzMDFOeFBM?=
 =?utf-8?B?SUJ3cUdObGxOeUk3dndFdjlsU1NaK043R2xnb3RrMWkxN3hwblVLbHB4a1RL?=
 =?utf-8?B?djBJZGFpNFZyek5EdDZOV0JUdEZtN1hTVklDQm4zNU1hZk00OTN2eGY4ZUVP?=
 =?utf-8?B?dTJpS2FBU3NCcVJkdmN3UmtpV0I2YTc1S0FmSFk1OWw5QVVwSExKOXQ4NEhs?=
 =?utf-8?B?RlR4Y2xNbTkyY0tVWUVDSjNHc3NGSm9vZ0Vna2tpcnIweEkvbHhzWE1yRjhM?=
 =?utf-8?B?UFpZOGZESHVZWXpQVFpRZDV6RG16aGN4M003bEVyV1pqWU9GVG5sc0ZpQjFT?=
 =?utf-8?B?Z2xzanowc2xkaXNwbE5McWdiNUdqY21BZ2hhMThseDYrN1pDbXh0Q2lnak1Y?=
 =?utf-8?B?ZytkaHFxYnY5U09jY0ZyRUJoalpTRFAzR291aXRyVjN3L0YxWlFRcm40bVRz?=
 =?utf-8?B?RjVOYU1uaDBWbmJCaGpqbXBEVFZoRmozTXNlQytqZ2FQMnFoN3B1d3R4ZXgv?=
 =?utf-8?B?VnYrNFFqd0hnT0RFUHNLOVc2U1hYZzdsTGRIU1dkZUlQVWY5ckMxZGl4MjVh?=
 =?utf-8?B?MEVnTW9idVhzUWUrV2hPTGo5eUdzMGtZbEhTdlNTRFRtTGJDcEcvTlFlVktE?=
 =?utf-8?B?RXpZbWZ3czQxUXp3WmRKaXFqTUF4YWFvMm5JVUcyZnd2b2srYnBNc2FMb1JS?=
 =?utf-8?B?RlRNWjU4aXR0dld0SEhKOTJNYWRONXAwTDI5Y2plZmxFMDJ1T1JwbW5pT0Ew?=
 =?utf-8?B?Z05yYis3N2NXbHdLQVhRNFBwOE9RYWlZTU10R2hCQjZvdDdodW54VHVlT0E5?=
 =?utf-8?B?MzE2ajFXTGFnZDRoNTRuQW14MzdSK2NHcHN6WVQxaXBOend6Snl0WDNkQkV6?=
 =?utf-8?B?VkwyL1Fia21aMzFqTTdVMGhBcnVjNWZLMSswUjlhZlh1RWQ4WEpmZzh5VmFW?=
 =?utf-8?B?d084d3lPdkhWS0xOTXBWQVdFbzNxbUlhV2JxSW5PMmJ4ZGhudWttdnN6S1Rr?=
 =?utf-8?B?aVNmLzFRcUd1USsrb1c0MDRUd2RTcjUwQkgwaUErM2RaMzRNOU15a2FHVloy?=
 =?utf-8?B?QThsU21TSktYb1V1VW9EamszNEVFa284Mm00bEhNdWJ0TmhKQWhaNWk4NUZ1?=
 =?utf-8?B?MEhsUklHMmhHS1JqdU9JcTdiM0NSbkVvZVBmT2NaK1VScU5MZ0NxckhHRlN3?=
 =?utf-8?B?WUYwWUVvMlh5Y2hDL09IQlh6UXorQjlkL2tpdnRzU0FpZytqc2RqRUlKaVRY?=
 =?utf-8?B?SVIrM2ZhRCs3TldnRUVYbnFOd2V4MHlxdnNiL2VVNjlCb29MRGprQ2dtNE16?=
 =?utf-8?B?c3dnVWpDMEk4a0RHSitiK1g5cVhIZVRxZkFDN3d6cm92SEE5Vy9kV3JqcE0z?=
 =?utf-8?B?Z0NhMTdFZW45Q2J0M3o2T0R3L1JTTlVrMFNyUFNYMlRoRXI1QWF3bkQ1c3k1?=
 =?utf-8?B?NS9IdS9CbHhVY2pGQThhcEtQMlNHdnhMTlNpdmRMRC9hV1N5OVQvYUhzd1FS?=
 =?utf-8?Q?p+wKujwXnT08Lb3vyoAxJAV1a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d880586e-b7cf-492a-506d-08db9d8c2cda
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 12:35:57.8432
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 56uDGwIsekVHuhLN7V5N6iajl8ulEMSmglLDYT/cAjVnMtysk0A9ZKFYD6MnXR7aXDMzdSCNL9KbsSllMHJDJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9916

The "cpuid_empty" label is also (in principle; maybe only for rubbish
input) reachable in the "cpuid_only" case. Hence the label needs to live
ahead of the check of the variable.

Fixes: 5b80cecb747b ("libxl: introduce MSR data in libxl_cpuid_policy")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -710,10 +710,11 @@ parse_cpuid:
                     libxl__strdup(NOGC, libxl__json_object_get_string(r));
         }
     }
+
+cpuid_empty:
     if (cpuid_only)
         return 0;
 
-cpuid_empty:
     co = libxl__json_map_get("msr", o, JSON_ARRAY);
     if (!libxl__json_object_is_array(co))
         return ERROR_FAIL;


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 14:26:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 14:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583966.914327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVv02-00084q-Py; Tue, 15 Aug 2023 14:26:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583966.914327; Tue, 15 Aug 2023 14:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVv02-00084j-N9; Tue, 15 Aug 2023 14:26:22 +0000
Received: by outflank-mailman (input) for mailman id 583966;
 Tue, 15 Aug 2023 14: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=SQSb=EA=citrix.com=prvs=584405d4c=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qVv01-00084d-Fl
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 14:26:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b22f6a5d-3b77-11ee-8775-cb3800f73035;
 Tue, 15 Aug 2023 16:26: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: b22f6a5d-3b77-11ee-8775-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692109578;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=cpDbKbV3QYB/k+PY8GYGfqM/Ti0mS3BvGjqZDjNvud4=;
  b=OyD0ZcpqnPrxL0Hfa6ZTI0UyYZQ1k0bUJUhuv+yKy9OYIcVu7h6le8La
   jLy0YmzDneEs/auQqi0EyBRxEhoyJse9gm589gamRXXfSFQ+Eu0791ERl
   ZDC5EXEYzojODhEVp1dDCwub6S+R2toLWnuLZWw1rhLTY298UIvFFCVNg
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 122207508
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:IHLJmKgdLzjyrt7ECnRYl0vDX161XRAKZh0ujC45NGQN5FlHY01je
 htvDDjSa6yCNDOjL48iPt6w9EwG7cTVzYJiSlA4rCo2RHgb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AaDzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQCMW8gVyDcl96t++uBG+U8msU9Hu70adZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27B/
 DicpzukWkFy2Nq38TSszDX0gOr2xD70eIZJLOWFrdFMqQjGroAUIEJPDgbqyRWjsWa8Ud9CL
 00f+gI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQ5sOcmSDps0
 UWG9/vrCiZoq6a9Um+G+/GfqjbaESENIHULfyMsUQoP6N6lq4Y25i8jVf46TvTz1IesX2itn
 XbT9nNWa6gvYdAjzbzk0Gn33CKQvaOQdF85thnWQFCC8VYsDGK6XLCA5V/e5PdGCY+WSFido
 XQJ8/SjAPAy4YKlz3LUHrhUdF29z7PcaWCH3wYzd3U03271k0NPa7y8992XyK1BFs8fMQHkb
 0bI0e+6zM8CZSD6BUObjm/YNijL8UQCPY64Phw3RoAUCnSUSONg1Hg3DXN8J0i3zCARfVgXY
 P93i/qEA3cAErhAxzGrXeob2rJD7nlglDmLHsCjnk3+iOH2iJuppVAtagfmUwzExPnc/FW9H
 yh3ZqNmNCmzoMWhO3KKoOb/3HgBLGQhBICeliCkXrfrH+aSI0l4U6W56ep4K+RYc1F9yr+gE
 oeVBhUJlzISRBTvdW23V5yUQOq2Askg8yxqZn1E0JTB8yFLXLtDJZw3L/MfFYTLPsQ6pRKoZ
 5Hpo/m9P8k=
IronPort-HdrOrdr: A9a23:riXpBqzVe1m8G8R+t0+5KrPw1r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726RtN91YhsdcL+7V5VoLUmzyXcX2/h1AV7BZniEhILAFugLgbcKqweKJ8SUzJ8+6U
 4PSclD4N2bNykGsS75ijPIb+rJFrO8gd+VbeS19QYScelzAZsQiDuQkmygYzZLrA8tP+teKL
 OsovBpihCHYnotYsGyFhA+LpL+T42iruOeXfYebSRXkDWzsQ==
X-Talos-CUID: 9a23:r+/C32MLC9mJ8e5DQjA42XckRdAZaUaE9ibcc1O5F1ROV+jA
X-Talos-MUID: 9a23:MQSgXQkUzK9PsYYuVVLodnpaOu5WpPyoDXlUjJomv5K8bRErFBG02WE=
X-IronPort-AV: E=Sophos;i="6.01,174,1684814400"; 
   d="scan'208";a="122207508"
Date: Tue, 15 Aug 2023 15:26:02 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] libxl: slightly correct JSON generation of CPU policy
Message-ID: <ec211f2b-7952-4944-89b5-302d9775cb4c@perard>
References: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>

On Tue, Aug 15, 2023 at 02:35:55PM +0200, Jan Beulich wrote:
> The "cpuid_empty" label is also (in principle; maybe only for rubbish
> input) reachable in the "cpuid_only" case. Hence the label needs to live
> ahead of the check of the variable.
> 
> Fixes: 5b80cecb747b ("libxl: introduce MSR data in libxl_cpuid_policy")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 14:28:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 14:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583971.914337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVv27-0000Bf-4S; Tue, 15 Aug 2023 14:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583971.914337; Tue, 15 Aug 2023 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 1qVv27-0000BY-1k; Tue, 15 Aug 2023 14:28:31 +0000
Received: by outflank-mailman (input) for mailman id 583971;
 Tue, 15 Aug 2023 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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVv25-0000AJ-L7
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 14:28:29 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff866a88-3b77-11ee-8775-cb3800f73035;
 Tue, 15 Aug 2023 16:28:28 +0200 (CEST)
Received: from mail-mw2nam12lp2046.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2023 10:28:22 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ2PR03MB7500.namprd03.prod.outlook.com (2603:10b6:a03:559::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Tue, 15 Aug
 2023 14:28:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 14:28:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff866a88-3b77-11ee-8775-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692109708;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=op7fmsKIY4P+WA7qkSZjCTP8AaRLx3zFQv6rLJXz8uQ=;
  b=Mqyi86NejDSZ4iBymbopdRZ2+fIiL0Z+Z5VFfTqM1im9fibVSfMRI8kg
   GbNYxL9WDdOpE+nD/GE/S3sDnr/UjacPsBwrzG2M2mLMg6O/XxdbvYVXG
   qd4SL7PO1MllnIb9fgczT7kxP2wKcURndRwyhpI46Co6jjIV30Z9yRlYJ
   Y=;
X-IronPort-RemoteIP: 104.47.66.46
X-IronPort-MID: 118218342
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5otITakCMgT42K4FhZSLl07o5gy8J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeW2HUb/3eZGGgeop0b9i1pBkF6sSDndNkGlE6pSE2EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5QKGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dZBNSAwfiGNvOf14r66TuUrvf84Dta+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOaF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtLROfhpqU22jV/wEQ2US8NTmCEj8Kymw2Sau8EJ
 H0U6nEx+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qiQhSO/P24SN2BqTS0LVwwe+PH4vZo+yBnIS75e/LWdi9T0HXT13
 GqMpS1n3bEL15ZXieO84EzNhC+qqt7RVAkp6w7LX2WjqARkeIqiYI/u4l/ehRpdELukopC6l
 CBss6CjAComVPlhSATlrD0xIYyU
IronPort-HdrOrdr: A9a23:BWiSXq3lNzo3NYFsU8uBngqjBJkkLtp133Aq2lEZdPU1SL38qy
 nKpp536faaslossR0b9uxoQZPwOE80lqQFg7X5X43DYOCOggLBEGgF1+XfKlbbak7DH4BmtJ
 uIRJIObOEYXWIQsS8j2njCLz/7+qjgzEl0v5a4856wd3ATV0i/1XYCNjqm
X-Talos-CUID: 9a23:mofFHWHB28N1b4tlqmJNrVMEJ9AUfEbYj1XcIku0Tl1SU5+KHAo=
X-Talos-MUID: 9a23:zCOJxAqFZ2kLDzWDokQezxQ7Btxz2JuAM0sc0rk3hpKLBCxgYCjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,174,1684814400"; 
   d="scan'208";a="118218342"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MLrPrEa+TdJUD4CqT5LZaL4vTGvJARzUe4EcoLrA1L8aPI3vQKuRO5b2/ugXPMTkGTPNH48PmPR/rYyOJYhnbgmDFJWPnCPbXSHqJjJEQ5dOgVxTrt9ssOeydtBkZFuEAlKUshZWd/FItmp+MANvSEGPCOSCEJk2AtGlASbhQnIb8xHOIJJMWNfLcsMmDLGO8WezjIf3ZIjrVKoQbrA9fmLUlsG5jKV0cxMoY6VME+qoRY7th27g0IQc+LbmZGSViolml4+WlJ6lDIktI+kB8h0Pac4e5y7IaqGPqpt6lbP48pq5Z7vhcOuuICpx7z4zHDtz+o+XVxUOJu++ld4isA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=op7fmsKIY4P+WA7qkSZjCTP8AaRLx3zFQv6rLJXz8uQ=;
 b=YS45AawA7T4TdrwZI3KK/63h9RzdULXOgU88rOsq/N8R9lKqYZ4tsjWzg1Xm7aX8/ISKainnro3X9nO3zx5HDtCeL0K1BXmeYWXeC4br73EvL7CLUu4d+qdbXeDcU+HMNfJD7Q4FdL71rTvZQyb4Um6nXn4W9O0aZ1LkZJSPXpyKACF0Dk+C8W2/tS2BBn6WSkPSjo9JNXwUZtRxiwkfWUZ5tyqOFKD0Hf60pMHl0YRqfLuTfav7/fJvkftsDtrxtMLOw3jCNhtvNe6LvYWbC5w3GEPvuwizTZrkc5mcEq8MmxsTKjj6JfoMUQnaV58Dvp5kNIXNpGh5mUSUHVUYCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=op7fmsKIY4P+WA7qkSZjCTP8AaRLx3zFQv6rLJXz8uQ=;
 b=PlvR48o+33J/Zhwnv5nLAz/27ZPZjRWUCo0Qm3p/bMWq7nb1+dRz5c4VqukH0lNaQxNdwz9Kz8+ZcI6uxzSPB32Od1Jq5A9LG3NYDvcCftRKp8bfUV/JrhNUStMT0Bk9/73B6VsHwH/30vmTb2EeyOEecZBgmYZnxHQWar91uGI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8400abdc-83bf-81b8-b2de-b80329afc629@citrix.com>
Date: Tue, 15 Aug 2023 15:28:11 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH] libxl: slightly correct JSON generation of CPU policy
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>
 <ec211f2b-7952-4944-89b5-302d9775cb4c@perard>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <ec211f2b-7952-4944-89b5-302d9775cb4c@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0473.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ2PR03MB7500:EE_
X-MS-Office365-Filtering-Correlation-Id: c60fad27-eb3c-4cb0-c3ef-08db9d9bdd8e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+nRebXXh3/Hmjuofi+SV2nPm/D9v8GW4tCBZhq/zhcrmWmm2SbzFO5yb+MRH+U6cpmMEHfVl5dBYisPFPqiTzDJ/LRMVvYiYp5LBTd1ieqCZLPLK9/p+/XmJ5KsKt5vV0GEMUTAXtoYwPjsQi60dSASNV3+9Dtjy0i7lofFEwkM9MiBL518k03MA6TdXX/dN0Ag0BA7nVHMefMDoFQkyCHExp5VCLMbDl1QNnAxsEwKrUWO/W4XIo+BLUAYGZjI1K6gT9xHzN7/L3gkhbZIQFJ8WSMirBd8qX+bwU9DobjkRuxy2N/mYuUddDrcM5DuhO7CccldgclZ3cNFWcRN8rLo6ke6yaWBhV3I9W4fj9O+9m+m6HFWmffWIjl6BQD8YjKWe695J7VN/PBPH51HoICJOnlTP7QJGFKvSLHZkxHKtAj+A/grEE/8452NWgr0r6bacG62L7l/zL5/B1QtyMEl3xmJGBuozcJnevZZZjaH28ZqMjoahIaHdEEbAPzj+w/79BhrEXubvBmfqrEsQSM+U+uspgUKu/L5oltCFv/a9F4jKrBi6IHTw85jUFp9hRbQVOQHx67KYKxZgquX3n02ZwaS8fDk5ZC6Q3BN4RdCbO/L4sXfHAQ0r7X8sO0azOudFBvG4Z+/tMEocdVU1yA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(376002)(39860400002)(346002)(451199024)(1800799009)(186009)(5660300002)(53546011)(4744005)(2906002)(66476007)(8676002)(110136005)(478600001)(38100700002)(86362001)(6512007)(54906003)(31696002)(31686004)(36756003)(2616005)(6666004)(41300700001)(26005)(6506007)(316002)(107886003)(6486002)(82960400001)(4326008)(83380400001)(66946007)(66556008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0ttd2xLS1hSY1ZMamhkc0JnR1dOdmgrUkEwN0lHVmFJUUg1WHZKakJzcG5B?=
 =?utf-8?B?cVAwL20zbnM1U2lQNGFnQXdnT3R6ZHh6Mlg3VStrR1BkdS82c3JGMlU1NS9u?=
 =?utf-8?B?UG50YlpYT1U2NHJabE1kRkJEWTBWYVVIblhZdmZGT0JNU2RxdWNFTEJiS1dJ?=
 =?utf-8?B?SitYcytoanRJVENtLzFybGZscnpabExNSFVqUkhDNnBlVENDTzhURm1OZlAr?=
 =?utf-8?B?SENudXQxdGlDMVhLaVJzclZMSXY2YTE5bGxuY1hzcHY2VmNkcFNsQTZxa25x?=
 =?utf-8?B?dkJibWVHZXJjanB4ODBKLzBtdlIyVkthdkZHaE5aeGpMTUxHeWlXcUxzRis3?=
 =?utf-8?B?TW1DNHpRTHgxZDcxcWxtbnZUR0dMNGVmcjN6SmNSSjJXR2FJS1dZY1dTcUtJ?=
 =?utf-8?B?dXVVU1pNUVRvM2lYYTI1clRlcno4cUJpTXV0T0dWT3k1R3J5azVqRmd1Nnh0?=
 =?utf-8?B?VEhudHJERnBVNWkzOG9rcnBSMUMwc04wQU1ZMWFiMnhNQUYwK0FDeUhkTjZl?=
 =?utf-8?B?NFBsY3dSSUZUb0RiOXFHcnVJdTBYdGg5OTBVaFJPSUNsdHBXcUY2b0lYLzlz?=
 =?utf-8?B?OE5DOXZReTJGdkt4Z0MvQlhDRXRCUVA3VVowL2c0VndZZkRIUU90TlI2UTFi?=
 =?utf-8?B?aGZsWng3eFNpNnhieTQ3WTdJb3BRZUZVQ0VwM09qb09UamtIdytSc1pUZyt5?=
 =?utf-8?B?WjJWSk9hZDRMdG5WYlV3N3luYUFmZ1FWcHpxT3lzeGtPaUdvSEhtb3BpT3NN?=
 =?utf-8?B?akZKcis3WS80WHhRZUd3MG1SUjRSeEJsWjYvQXRwMHptc0plODlzTEF6aENZ?=
 =?utf-8?B?WmU2aUZlZHNVblQxaWJrNHAvYTVOd2FESGlNQlFmM29HbnRqbllyZnl0UUp4?=
 =?utf-8?B?OSs3RWovTDRPQW52elR5SW5MU01HeisvSGdjWno1Nm5wQi9lNU9vMEtDbVBJ?=
 =?utf-8?B?NURmRnJYdU0xWGhMV2lUQXU1OENKM1dnenFJY1F3aUorRFd4eHRXeS8rVzlY?=
 =?utf-8?B?TGZyMW1SdUdKQk9lNDBBdGYxS2MxSGR6ZGFtZmJqSHVRemd2UWJxK0xZVU42?=
 =?utf-8?B?KzV2RTBWV0JCQ3RRYnZvcm5Bc3FUdysxU3JDWXJQaVNHeEZ0QW90blVsSEUv?=
 =?utf-8?B?MVZRL0llVGFUSG9jbVFvOENnTi8rNkxzRFFseVVYRWVBTFZhZE5GTFNWdyti?=
 =?utf-8?B?cTRSRDgwOWNBeE8wWm1VaUsyd2VTU2dYTFlsbERmNm5rT2luVzY0eUV2ZEVm?=
 =?utf-8?B?NjhTWVlIQVVreC83VEZMV2JjbjBSRU8xQXUvWkxoUkhPQURza0pudDBJcjBC?=
 =?utf-8?B?NDFTWUJoNHZQc0pQSGd3OVhWWjl6NDNQY3JlWlFjR0xjRFk5Y3lCeHQ5andZ?=
 =?utf-8?B?MC81eEhPWGZMV01ocjhscWpWWi94eHdwWVhINTJqR1kyZDR1UU5ZUVVpWHla?=
 =?utf-8?B?aWMydWYzRmNRQzMzR01qVi84a0YzRUJSeWt4VUEzMkJseVI0NVczYWJDNjFo?=
 =?utf-8?B?VjQwVDZUK2JxaTdYbmowVCtzQkdEQUxpK0xZQzhYYzgyRlFCVTcwU3FEbDZr?=
 =?utf-8?B?Rkxvd3hyaTdxL2pORGE5ckhwbVRXVzk0THlhZkUvU05LaGJTNDRDM2h2NHM1?=
 =?utf-8?B?M2FSMTBjbWIxSTVkOThudDMwM0VEM3B6cGVDdHBITnRWdXVKdGZoaStKWlI5?=
 =?utf-8?B?ZFA4OGpsZEtXd2dCY2hqcitWckUrckJsR3k4WXJUalI1Z2xPRjRzV1BxSkJ5?=
 =?utf-8?B?VHlTbWk3eE1GSERJSWV3VjZ2MUVhZ1I0WFR4RDBDTExlRFQzdiszT1N4STJ2?=
 =?utf-8?B?RGdJTjdGRlcyTTIvTWFJd1RNR3N6NHVpcGN4a0tWQWdHeHNLYU1HSGJqdFdC?=
 =?utf-8?B?WWozR0s5SkcyTDRRRWk5bmR1TFFnYXVmcjZqaGJqcEcweFVOaDh5STlHc2ZW?=
 =?utf-8?B?VHBHMlZSTTVCUzJiUzN3YndRUnF0SDQxeVRNU1NaV0JoZHArZEx4WjNPV0lm?=
 =?utf-8?B?c1RMeHFVSHJvaHlEaTVCbEs1Ympid08xZnprMW01S1JRNVo4Wlp4dmZwdUVD?=
 =?utf-8?B?K3pOcklkY2UwcVJIZXdqLzRKTmErVEpiK3hHL3A0REtEc04wVUh6akdqY1Q1?=
 =?utf-8?B?REJaWWFnSnY3RUhZdTNXMFRwVHp4TmJ4Qkszd0NSbGY0ZEorODFyWERrZEVh?=
 =?utf-8?B?MkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	b6FiF7Am42Wexuaw79ltJRWm5xAiHwL9RRjLU6bdw6f62tVr4fmJHl0QyUDWG8e8ALopHzmFEtV+dUBbDcOGXs33RoTmfV0KC4l2r8IDSXvd6b2esbuabXHtQ7Q6Z+p6uPIC85RmzSpgs2w6o0QnnpABZf1gSZH8egbb8WSnBwjBu1ubXiSG78OMgT5F36by4GrM0bLA3wzMFeflBiutGSrCk6u0tgGfsdo1QxRLbWGdWekw1hR4faVs/Yo/XxMmIEynK84H88+Wc02v14CtH/QxhkppAk9AO1Bz0Q204XAfwKhnLKm1klXWPYmVayZfBYN3cv0/YlnCTxGxuf8abhsIP8HMSqATUjOvCf3fari0nyh5uVHSOYUMa8erB0dc0zkXMvqr6Td0Fwmhv6067pLe1peypOinEucqJonoOKAtp+PTm2P0/0XjLliWck+PqG4R9rO90BJNprGFLVeFPMEQruQHGxldTS6obIRUskPf1IGGnkcLyT3jXES95cFKWWql6iV63fX6IpNb16fi0Vi2KDbIo3nBkjAWbg1rOZU8XdXxPwbXy8QK9QQto5Ju85pzwl/ZsMBbjqMmq337BMrhMkKwrJKjIHlgqSgtUz7jtRjJ1yZ3FDTe8ZpDklD+TSBNzAlM2ZyHxRzJBSwOQfCS7Vl2rYUKwSItFVRMj6D/eWrqI48BOJuylQgnHL59Uth4gfsdRZOMyqAlrOvCO7eHQe5yzV9/w73IWOewgDlhOhH/Yc4qZB8npOFlEzdQGKaKY9kRHv2JQJy5nFsDea3eZQ8olanimpO2WyRyxyuurUniyi+mzyG4mftn0zsm
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c60fad27-eb3c-4cb0-c3ef-08db9d9bdd8e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 14:28:16.9267
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5FogyE5rGfOblfIdJfMZd13UXNgpgTotSmOC0h215ty64tSGBPkbk3nCufxoVAvTMiFDpBwtYM4rIpjvKDwtnPcSh+yvYqh6ZjH0gT7WbVI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7500

On 15/08/2023 3:26 pm, Anthony PERARD wrote:
> On Tue, Aug 15, 2023 at 02:35:55PM +0200, Jan Beulich wrote:
>> The "cpuid_empty" label is also (in principle; maybe only for rubbish
>> input) reachable in the "cpuid_only" case. Hence the label needs to live
>> ahead of the check of the variable.
>>
>> Fixes: 5b80cecb747b ("libxl: introduce MSR data in libxl_cpuid_policy")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Hmm - this was included in the security backports.Â  I guess it ought to
go back to 4.15 (now that 4.14 is properly dead).

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 14:45:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 14:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583980.914346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVvIa-0002lO-FG; Tue, 15 Aug 2023 14:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583980.914346; Tue, 15 Aug 2023 14:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVvIa-0002lH-CY; Tue, 15 Aug 2023 14:45:32 +0000
Received: by outflank-mailman (input) for mailman id 583980;
 Tue, 15 Aug 2023 14:45: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=iVak=EA=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qVvIZ-0002lB-A0
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 14:45:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60f46e6c-3b7a-11ee-8775-cb3800f73035;
 Tue, 15 Aug 2023 16:45:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7313.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug
 2023 14:44:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 14:44:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60f46e6c-3b7a-11ee-8775-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FMzSDX5RieEjJ57fzEc+g/a8i+82vEoCabH8V4q9nxDC9CtYcHp8F/y3khCqbL44kW5gjja+n9yyjW/3+jAxIloIziXUsQmyqRz76XoeuaNdBxr6HBNmffapEE5Px4/kzOQ6d9qVSqR74krJytQvu+0YBOXTtkBpcMjU9IgdG2uzK1T+Aq7i0caFIaZD+ik2rhD2AyCLS7ebSY21OtznukOHYdRZ4mkqoQ5on9EZFTwLGF3g0YZ7EDYqVVryqE9P6jizoTyHoNaxiu9RvGAzy8kGsaNXuS/o1+6j8Bj5eNlwja3LipEoRRPgCXohgq+CmuCBws40+d3+74w6AynzsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+a+aak4G/OLfOQu1+EdiSV8E4LhINIRm+POauAxF5iY=;
 b=dbuCB6UMbu1ncCiHZy07ZXsL2MBVyoGTR9K3MH5nnx7uDa1S8OKUzlGjpakPlVX8BBqElMrE34ut/VAWrbEHJ/yPLVERw4oXosKu84+6szUGuEWdUyxcHL8MSlctPuvhxIdksToQjowUGUGRphFd4rZwr5Zvvr8Q2eLvgcETkwKEgLKFMGjKfL/w3eI6hZ/8InQMrFhWbAcZIkyt0uRI8Xkbiol0f0pz4IFK+s02YmSnuCjIrm4B9jW/oC8MjY9xREBw5bHWvdfBBQpl1dgd0A41++6pvKQSPpBtzQZORcHRcAuWxziDvFPncv4R2NerRl98S0htOpIYQ9WeHFQ5/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+a+aak4G/OLfOQu1+EdiSV8E4LhINIRm+POauAxF5iY=;
 b=Mh/O4CN7TMM99IJHRsnLwvLVGYyI9Oy0g58S69VsjtP99Y9QojeXsGPUcxGITmlLbViYgEjkLImVGnlFB4UcnidbEzLX2RxXX6SCUXF1WGJrTTpCTEW2XQ82Er4qDCGToWXW0CPhlDIXxBX9U9xIBGMuX1NChnPj4KUkSHnnbeQmB1cUj5SJnU4D9Z26J2wBbvBWF3oHGA4z5pP9CR3VfkFcG4CL86iuOeUfLy2CumP5mM7WTOYXv61zWXzruWQgbgX9pNnvxZGYiIYp/lMLdatuHP1sxjkzgNkls5BHN26UhlvaahcXiRwePbv7Z6v6okn1/2eP8iSd53hiSw/48A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a3d488a6-514c-c3bf-890e-472cfb63be1d@suse.com>
Date: Tue, 15 Aug 2023 16:44:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] libxl: slightly correct JSON generation of CPU policy
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>
 <ec211f2b-7952-4944-89b5-302d9775cb4c@perard>
 <8400abdc-83bf-81b8-b2de-b80329afc629@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8400abdc-83bf-81b8-b2de-b80329afc629@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7313:EE_
X-MS-Office365-Filtering-Correlation-Id: ced3dff2-dde4-483c-5314-08db9d9e3347
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MHp4++97caESWye+R9YEzDTJIXRLYUNN9mCOb1oejU06UVSmWxVXDSLPyOyKeX4C3eckd6RbWwPE5RIrPVJf2h5q/vglmbYwHTkdgE2hgGzNIbFEwbMBph7Y98CG8y3L1r1Pl+uvFaINjYF6n2YtGBNS05BTIUp3I42ByoRte15WS5KdWvCstsFSeJVCAZjY7hq30wVZVyo0A8fKu8YPNGlLJy1StMiR62fH3G7DHyYd8og4Cm1L/MK8IXyyWjHo7nJJQzmeTLKEH013rThmAi5V3eALjBwq0iZotPX01QKc26D56juwI7IM9tLctnoKefZnXBTQpCC5iQEhZtTGnigaax3f3cWvSt094XhBNJQemNgJHP3Urn9fPgDmxSbxOKTkY5K6bNu4klaWa4JpcYmjRgbuicdpjiZ/EkJDRf6kUAQqBaUij+UcpVnC4wTw0w2O+/N29iD7Vf4a0ZdtPjyuR7bBtuVmxPaNz78rxw2h95nd83KY4bhzLz4CMStPJgWEWilRBnrlov63El878x9+lQ8v4r0Nrg3clnwgC4wzpsfQj60A5FLIMfhdtqYVf8Sq3fiGejXg1UfK3ReOaVk/dmhVd6BMywTjsgtzHmaA5Gocb6rKj1vKtvBuvfhTZ2OMcFRPgANlyT2ljeSKmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(136003)(366004)(396003)(451199024)(1800799009)(186009)(478600001)(4326008)(6916009)(66946007)(8936002)(316002)(31686004)(83380400001)(6506007)(26005)(53546011)(41300700001)(66476007)(66556008)(2906002)(36756003)(5660300002)(8676002)(2616005)(38100700002)(6512007)(6486002)(86362001)(31696002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGppb3habWFTTWNyalpjSDRKTkJJb04ya2hiWkxWdDE5dDgyckoyWHFGbHFw?=
 =?utf-8?B?VTJRaWEvTjNFK0JnYXdXN3BJbnZGODIzMTRlRTJiZkMvSTNPTEZianNqL1Q0?=
 =?utf-8?B?NzNNV2l3YjA3Nm5RTkt2Y0RzRFNMTStyZmNBam4xNzVFMFVsTXNvdStmbXRY?=
 =?utf-8?B?UHAyWmRNTWlZczBRUVVVWGVwckFiaHVGT3pPTjZQNlI3SndJa2hGLzg0WC81?=
 =?utf-8?B?dHFDZFNsL0dPNk9pc0JITjNLQVQyV01EdFBJYmZPeFhJUlRucC91L1BNK1hL?=
 =?utf-8?B?aXVURUZMRmFSdkZ2L2h5TVdEQUdEQ1NkTTJrdU0wbDltaEFSdWQwd2NSOFpU?=
 =?utf-8?B?WGR5TWhGZmJVNTNBeXlHSXJzZlR1VWw4S3FCR1FjM0hUV2R2cW9iaHdlc21T?=
 =?utf-8?B?OVJHalVzUlF5QStCMDV4U1V2eS9ycjJsdnFjdzM2bDF0ckhQTUl0NFFVT2NZ?=
 =?utf-8?B?R095TnJuYWxxcUxOYTFpZjVka0xwSE5DZVZMSUFsNUNPTXhKQWFLNWlhMW5B?=
 =?utf-8?B?MmsxYzVVOHRTSWtad0J3NFZtS2RLSlAzNkRiSGlJMGo3MVB5a0pxR3RWMW00?=
 =?utf-8?B?QmJpbFhFWFlJYVl2SWVHOEZxdy9OMS9hVEUzQ2lmWnEvVXFUVCtxZnhlajZh?=
 =?utf-8?B?TTRqVTEvVHBTcGVNRTBPM3JuNTVyMnFtbER5ZFptNXFFdnZwZXVxWm56OHFF?=
 =?utf-8?B?Z2FNbnN3M1E3SWY2TVlyNUlwM2pNdm1HZllvd2FOZWcramRpT2gzSDluVzRw?=
 =?utf-8?B?RHFMc05kNFQ0S3lFbTJqMnk0WWtOSHY3OTFBWE9Cc2NnZTRDcFYwakhXUE9X?=
 =?utf-8?B?Qi83VktZY1djSSsyUUJwUWRhUUFpNGtMdjhBelNheUQzWlJ6TkNCVW9rL2NR?=
 =?utf-8?B?Rk5EMkNwZ3A5UHJoSmJDTmY1Vlp0Z0twT3U3YWV6Y09SSHNwNFdXajlIZE5S?=
 =?utf-8?B?YXphcnNWK2syd3ZLZGJ6M3lXS1hIdTZETGxJNnY5aFZxSEY2aFVkV0ZWcE1K?=
 =?utf-8?B?NWwzOVlLVWVkM29pVHQvZXdzTC8vYzRtc1lOSkorSk0zR3NyZExTZzJnRzk2?=
 =?utf-8?B?UGJiN1BzdFlzVjhmQmcyRWI1KzMvVlBNd3RpcFJBZjllMGVKQW56RmVycUxE?=
 =?utf-8?B?Q1QvWHNaMUVRZVpxTzR3N0U4NytWbDFKZDNwZi9IcnFUQlpWOGtndW9tcHg4?=
 =?utf-8?B?elNHVzVoQlRQMWhoSW9LazFqUy9ndnBudUpKRFJmc1Y1RUpqRTMvbDZPODVX?=
 =?utf-8?B?RmdEb1R4UGlTOCtlZllHRjhuTkpHbXBYWnJuem9LNDdhcUlTcVV3OFRZUWV0?=
 =?utf-8?B?d3FwV2UxMjk4cnl0MWZZOUlnait5UVlROXZ0b1lKaU1YdDRld3VDVjE1WE1N?=
 =?utf-8?B?UjZkZ1lQWjBWQ1E2Z2xoVlRVYnVjNlEyY2VzUVF5K0NWcWlsVlpsSzlTOGZO?=
 =?utf-8?B?ZEd2OEpKMWo4MmpUZUluZitKRjRFUUU4ZU5VYlZrV2RKblNPbVYvWHpRN3NY?=
 =?utf-8?B?ZXFlUUF1OStXdm93SGZZRmVZSEtDZCtUNEd0eEVoZWZDVEVoSHFvTFJWVWQr?=
 =?utf-8?B?VTFhNjFGTTMrUmpTVW1ydE5CS3RIN0liUnhKdHVObjNSSjE3djYrV1dJZXBQ?=
 =?utf-8?B?Skg2SHBKZHlmMk40dkZheXlFdHlIZXR4ZkxBMktZeU1EOFVPamV3elN3ODJw?=
 =?utf-8?B?Szd4ekxFMmVJU1pUNGZ5dXRCaVBRSDBpcnlxTDVsbGR2M0pTYUtBRmtCT29Y?=
 =?utf-8?B?eXhWQVZGVFg2L0pkYWIwWU1EbzBZd0dWTHZwamhJRFlwVDc5WEgzUGhqcG1F?=
 =?utf-8?B?L0hYd2FnV25taTE5N0doSXhoSm9kNzkwQ0xPOWw4WWoyMktVbzJIc1ZqVklR?=
 =?utf-8?B?RnR5djhRR2l4TU8wSzJQYUs0ak9lQ3FIUkk5M3VoNkxCcHAza0JpOEJBRGlK?=
 =?utf-8?B?dTUwK295bHRnb0Zxa3JyZ0UyQVFWcHlRd0J0aDhscytpbW1QMVEyZVA0U3lB?=
 =?utf-8?B?TFZqeklVdkxxTmZkWStBRlhkVUJCeGVpY2g4cTJaT01WNTN0NzlEcC9XVGNZ?=
 =?utf-8?B?aUg2eWFtcG0xUTZ4U2p2SmZxR09ETHZaTGd2ZEE0ZitoRE5ZYU9PVS8vVy84?=
 =?utf-8?Q?qUJshVtW8KH5yn6h0Cb2kuSlP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ced3dff2-dde4-483c-5314-08db9d9e3347
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 14:44:59.4793
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MJSISZtGAMwA688eOuvFGCaoyV4st79uQVVPoo12bUezx2v/LPA+vcf8311NaInNzCnYxAqB736wJJymdKtikg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7313

On 15.08.2023 16:28, Andrew Cooper wrote:
> On 15/08/2023 3:26 pm, Anthony PERARD wrote:
>> On Tue, Aug 15, 2023 at 02:35:55PM +0200, Jan Beulich wrote:
>>> The "cpuid_empty" label is also (in principle; maybe only for rubbish
>>> input) reachable in the "cpuid_only" case. Hence the label needs to live
>>> ahead of the check of the variable.
>>>
>>> Fixes: 5b80cecb747b ("libxl: introduce MSR data in libxl_cpuid_policy")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Hmm - this was included in the security backports.Â  I guess it ought to
> go back to 4.15 (now that 4.14 is properly dead).

Depends on whether this is just a theoretical issue, I would say. Can
legacy format input legitimately be empty? If not, I wouldn't bother
putting this onto the security-only branches. (Guess how I found it.
For the 4.13 backport much of this needed quite a bit of adjustment.
Pulling in more stuff from 4.14 isn't really an option, not the least
since I will need to [at least try to] go further back.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 15:01:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 15:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583987.914357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVvXv-0005Lv-SD; Tue, 15 Aug 2023 15:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583987.914357; Tue, 15 Aug 2023 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 1qVvXv-0005Lo-PZ; Tue, 15 Aug 2023 15:01:23 +0000
Received: by outflank-mailman (input) for mailman id 583987;
 Tue, 15 Aug 2023 15:01: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=SQSb=EA=citrix.com=prvs=584405d4c=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qVvXu-0005Li-HA
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 15:01:22 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 972ed4ac-3b7c-11ee-8775-cb3800f73035;
 Tue, 15 Aug 2023 17:01: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: 972ed4ac-3b7c-11ee-8775-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692111680;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=9S/ljwSEV8WxK5gXeZtfhXWl/XZVmVEI0zODAot+4VQ=;
  b=e0XBMXY0C8xzPHUUD8abSZawuynzp6YtJwqmZUhUkpeVbh+I7QFSKlGB
   VwlxYp7GRaRT7gS4wEONB6rutkGk/rvHW3RS0N86QRljYBsNu4Cov4EkL
   O60z8XDOHs6PLSefL8gAZLZM26QRaWxhxIBPptazdhhad5X+8at6U6wnY
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118816890
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:OaXLk6Poxv3D8lLvrR2Yl8FynXyQoLVcMsEvi/4bfWQNrUol32BUz
 mpNUT3Ta/qIYmH9KNFwOti/8RgBuZWByYRhGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5wFmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ttSA39A2
 dMIFG0uLSughO2y0ryQVvY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUoXTFZUMwBbJ/
 goq+UzeLQAjbM7D+AOurG6W2+jBmBulYrkdQejQGvlC3wTImz175ActfVmxrOS9i0W+c8lCM
 EFS8S0rxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLncAZi5MbpohrsBebT4lz
 FiShPvyGCdi9raSTBq1/6+ZtzqoNQAJLGUJYmkPSg5t3jX4iNht1FSVFI8lSfPryISvQlkc3
 gxmsgADorcNg+Ikx5nm3hP8oDGjoorHZRIqs1C/sn2e0it1Y4usZoqN4Ffd7OpdIIvxcmRtr
 EToiODFsrlQUMjleDilBbxUQer3v6rt3Cj02wYHInU3y9i6F5dPl6h06So2GkpmO91sldTBM
 B6K4lM5CHO+0RKXgU5Lj2CZUZlCIUvIT46NuhXogj1mO8EZSeN/1HsyDXN8Jki0+KTWrYkxO
 I2AbeGnBmsABKJswVKeHrlMi+dwlnhvnDqKHvgXKihLNpLEOBaopUotagPSPojVEovVyOkqz
 zqvH5TTkEgOOAEPSiLW7ZQSPTg3wYsTXPjLRzhsXrfbeGJOQThxY8I9NJt9I+SJaYwJzLaXl
 px8M2cEoGfCaYrvcFzVNS89NuK0DP6SbxsTZEQRALph4FB7Ca7H0UvVX8FfkWUPnAC78cNJc
 g==
IronPort-HdrOrdr: A9a23:gAYnCqMlMffnscBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-Talos-CUID: 9a23:tUzdC2xxAFfCrGRhXmzcBgUpP8I7fFHy3EuNAAyDKmVmTK+bYkOPrfY=
X-Talos-MUID: 9a23:XcapUwY8Cb1F+eBTkBD9vWlwaPZRyPqyMh0Kn5A+5fO/Onkl
X-IronPort-AV: E=Sophos;i="6.01,174,1684814400"; 
   d="scan'208";a="118816890"
Date: Tue, 15 Aug 2023 16:01:04 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] libxl: slightly correct JSON generation of CPU policy
Message-ID: <3c17bad8-758f-4a09-a6e6-8859adb1448c@perard>
References: <c3fee3c8-c808-e2ae-b885-d24e785989f6@suse.com>
 <ec211f2b-7952-4944-89b5-302d9775cb4c@perard>
 <8400abdc-83bf-81b8-b2de-b80329afc629@citrix.com>
 <a3d488a6-514c-c3bf-890e-472cfb63be1d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a3d488a6-514c-c3bf-890e-472cfb63be1d@suse.com>

On Tue, Aug 15, 2023 at 04:44:57PM +0200, Jan Beulich wrote:
> On 15.08.2023 16:28, Andrew Cooper wrote:
> > On 15/08/2023 3:26 pm, Anthony PERARD wrote:
> >> On Tue, Aug 15, 2023 at 02:35:55PM +0200, Jan Beulich wrote:
> >>> The "cpuid_empty" label is also (in principle; maybe only for rubbish
> >>> input) reachable in the "cpuid_only" case. Hence the label needs to live
> >>> ahead of the check of the variable.
> >>>
> >>> Fixes: 5b80cecb747b ("libxl: introduce MSR data in libxl_cpuid_policy")
> >>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> > 
> > Hmm - this was included in the security backports.  I guess it ought to
> > go back to 4.15 (now that 4.14 is properly dead).
> 
> Depends on whether this is just a theoretical issue, I would say. Can
> legacy format input legitimately be empty? If not, I wouldn't bother
> putting this onto the security-only branches.

I don't think libxl would generate an empty array.
libxl calls libxl__cpuid_policy_is_empty() before calling
libxl_cpuid_policy_list_gen_json(), so no empty array.

Then, without this fix, I think it would just mean that libxl would
return an error on something that was ok to do before. So backporting
the patch would be a nice to have.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 15:58:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 15:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.583993.914367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwRQ-0002ZW-Q5; Tue, 15 Aug 2023 15:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 583993.914367; Tue, 15 Aug 2023 15:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwRQ-0002ZP-Mt; Tue, 15 Aug 2023 15:58:44 +0000
Received: by outflank-mailman (input) for mailman id 583993;
 Tue, 15 Aug 2023 15:58: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 1qVwRP-0002ZF-7y; Tue, 15 Aug 2023 15:58: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 1qVwRP-0006Wy-4L; Tue, 15 Aug 2023 15:58: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 1qVwRO-0001JF-QW; Tue, 15 Aug 2023 15:58:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVwRO-0002U0-Q5; Tue, 15 Aug 2023 15:58:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FnwrBkE0BoA9aYFyTaq78aDW0VA3Z+JF1fm/JbAgyXY=; b=YkUzpB1BGj0nqiaLFf/9H40KjH
	c62FHC8QLks8KUPg8YSYwuHjZZJWeiI3rcS6VxDjT9vKwF3Q/YEAF13FuVyubCXK4NlDKE+vtaZMq
	hZHCquuQvCh1+AI9B1E5Xr26FMCXgrOlLAfBtCA1jnSq8++712qSHNrBXbqtUQuPXL+A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182335-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182335: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl: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-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-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
X-Osstest-Versions-That:
    linux=887433e4bc9394676d22c038dba33a27405f94e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 15:58:42 +0000

flight 182335 linux-5.4 real [real]
flight 182346 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182335/
http://logs.test-lab.xenproject.org/osstest/logs/182346/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 182324 pass in 182335
 test-armhf-armhf-xl-credit2 19 guest-start.2 fail in 182324 pass in 182346-retest
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install    fail pass in 182324
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat  fail pass in 182324

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 18 guest-start.2       fail in 182324 like 182065
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 182324 like 182076
 test-armhf-armhf-xl          18 guest-start/debian.repeat    fail  like 182065
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182076
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182076
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 182076
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182076
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182076
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182076
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182076
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 182076
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182076
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182076
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a
baseline version:
 linux                887433e4bc9394676d22c038dba33a27405f94e8

Last test of basis   182076  2023-07-29 17:15:26 Z   16 days
Failing since        182239  2023-08-08 18:13:15 Z    6 days    8 attempts
Testing same since   182292  2023-08-12 02:13:40 Z    3 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Aring <aahringo@redhat.com>
  Alexander Steffen <Alexander.Steffen@infineon.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrzej Hajda <a.hajda@samsung.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunguang Xu <brookxu@tencent.com>
  Cixi Geng <cixi.geng1@unisoc.com>
  Colin Ian King <colin.king@canonical.com>
  Coly Li <colyli@suse.de>
  D Scott Phillips <scott@os.amperecomputing.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Esben Haabendal <esben@geanix.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg MĂ¼ller <georgmueller@gmx.net>
  Gilles Buloz <gilles.buloz@kontron.com>
  Gratian Crisan <gratian.crisan@ni.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guiting Shen <aarongt.shen@gmail.com>
  Hagar Hemdan <hagarhem@amazon.de>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ian Rogers <irogers@google.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Vanek <linuxtardis@gmail.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Benc <jbenc@redhat.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Thornber <ejt@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jonas Gorski <jonas.gorski@gmail.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kaufmann Automotive GmbH <info@kaufmann-automotive.ch>
  Kim Phillips <kim.phillips@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Laszlo Ersek <lersek@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej Å»enczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Marcos Paulo de Souza <mpdesouza@suse.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael S. Tsirkin <mst@redhat.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Mohsen Tahmasebi <moh53n@moh53n.ir>
  Mostafa Ghofrani <mostafaghrr@gmail.com>
  ndesaulniers@google.com <ndesaulniers@google.com>
  Nick Desaulniers <ndesaulniers@google.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Maignial <olivier.maignial@hotmail.fr>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pedro Tammela <pctammela@mojatatu.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratyush Yadav <ptyadav@amazon.de>
  Prince Kumar Maurya <princekumarmaurya06@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Roger Quadros <rogerq@kernel.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Ross Maynard <bids.7405@bigpond.com>
  Ruihong Luo <colorsu1922@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Shaoying Xu <shaoyi@amazon.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Stewart Smith <trawets@amazon.com>
  Sungwoo Kim <iam@sung-woo.kim>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  valis <sec@valis.email>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Ming <machel@vivo.com>
  Xianting Tian <xianting_tian@126.com>
  Xiubo Li <xiubli@redhat.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zubin Mithra <zsm@chromium.org>
  Åukasz Bartosik <lb@semihalf.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  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-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   887433e4bc93..4b4223f7d26d  4b4223f7d26d90087de52c8649e42ad8fff2e90a -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 16:11:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 16:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584002.914377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwds-0005Zn-0g; Tue, 15 Aug 2023 16:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584002.914377; Tue, 15 Aug 2023 16: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 1qVwdr-0005Zg-Tv; Tue, 15 Aug 2023 16:11:35 +0000
Received: by outflank-mailman (input) for mailman id 584002;
 Tue, 15 Aug 2023 16:11:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xxNk=EA=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qVwdp-0005Za-Sw
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 16:11:33 +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 662c5a77-3b86-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 18:11:32 +0200 (CEST)
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-76af2cb7404so374538185a.0
 for <xen-devel@lists.xenproject.org>; Tue, 15 Aug 2023 09:11:32 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (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
 c10-20020a05620a164a00b0076d25b11b62sm3834875qko.38.2023.08.15.09.11.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 15 Aug 2023 09: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: 662c5a77-3b86-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692115891; x=1692720691;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5tEpQliJuw0E8dCl8jhTgd7+K12lgTffQuz0uRWbEvo=;
        b=g+X3AnqUDYfqDhZlplx/9OmTIi7Bf/SP+niv+mb5wixcEX4pZtDRW68Nzi+1Yju0YW
         4lvkrf5kaBzNe+9FjiU/AM4QoRJYoiuYlu7eaWsU2ucwKGOLOCGk56lfSSBfgts2K3+T
         oMw+rIhQpcrWTs0PKEazicFBisRfEj6l+zywvIBdKi4ZpSIbgJLBHRaf03for+lwkgFm
         JA3bmzOxuETNXSjA/g22Ns7l93QGufFHGrtYNJZc9q7eZvNXfLw/THJcQ7mWeuf6nMSc
         HfdMytZHGYGmXmQmqer8gaC6bpU3/+nZoasrn1T7eaX278txrQg7LTfmgEfcWBS4axcW
         zWNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692115891; x=1692720691;
        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=5tEpQliJuw0E8dCl8jhTgd7+K12lgTffQuz0uRWbEvo=;
        b=BL3BEsd68VmeO16KgwgGR7eHPHCGt/nyPzLHW57i3TOchabOVSzFwDXVdWeczEXK6w
         K6lLGfmnhJ290vZzgfnCGrHUpqr93n+3t6cbiYCa3wPJXhiYN+ym4iM0QJ/CicVHOwz6
         T3iCdbsdywZSjzWdtufY46LJPWbJ7AU43n5zbPaaZp5g1HNRy0tcgkMx/OM6d/YegTbY
         jjFl2w+obkS2rC5Dko0gJnl+WmiZu0MFIoTIRcEWo1zOjzNJlk8h2Tk695X0Ib/OEdNS
         wHPzYEiwHGkgH6pRDJFBVIdo68p7KwuxYBDaRsk5R5ZbAT3V6GPGvj78lm3lNSoie1ij
         S2Iw==
X-Gm-Message-State: AOJu0Ywg/6wj+Ow8juFgyRYWClAdzhqV7Y/fxAu10r44TbqYdwaghCS8
	jRN99QKuE2F8cgEpBsp/5qfjTBwnicg=
X-Google-Smtp-Source: AGHT+IFI1vEhu7YfpeecBpfuaMuXRYD3llet8jJ7Kt0j0roJfW9zm7B2We7G3dINKoKXxs7RNEr7Ew==
X-Received: by 2002:a05:620a:bc8:b0:769:89c8:4fae with SMTP id s8-20020a05620a0bc800b0076989c84faemr15450752qki.52.1692115890947;
        Tue, 15 Aug 2023 09:11:30 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Lukasz Hawrylko <lukasz@hawrylko.pl>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Mateusz=20M=C3=B3wka?= <mateusz.mowka@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] tboot: Disable CET at shutdown
Date: Tue, 15 Aug 2023 12:11:20 -0400
Message-ID: <20230815161120.33007-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

tboot_shutdown() calls into tboot to perform the actual system shutdown.
tboot isn't built with endbr annotations, and Xen has CET-IBT enabled on
newer hardware.  shutdown_entry isn't annotated with endbr and Xen
faults:

Panic on CPU 0:
CONTROL-FLOW PROTECTION FAULT: #CP[0003] endbranch

And Xen hangs at this point.

Disabling CET-IBT let Xen and tboot power off, but reboot was
perfoming a poweroff instead of a warm reboot.  Disabling all of CET,
i.e. shadow stacks as well, lets tboot reboot properly.

Fixes: cdbe2b0a1aec ("x86: Enable CET Indirect Branch Tracking")
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
Without this fix, Xen subsequently hangs:

Reboot in five seconds...
[VT-D] IOMMU1: QI wait descriptor taking too long
 IQA = 484897000
 IQH = 0
 IQT = 820

with no futher output.
---
 xen/arch/x86/tboot.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index 90f6e805a9..86c4c22cac 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -353,6 +353,16 @@ void tboot_shutdown(uint32_t shutdown_type)
         tboot_gen_xenheap_integrity(g_tboot_shared->s3_key, &xenheap_mac);
     }
 
+    /*
+     * Disable CET - tboot may not be built with endbr, and it doesn't support
+     * shadow stacks.
+     */
+    if ( read_cr4() & X86_CR4_CET )
+    {
+        wrmsrl(MSR_S_CET, 0);
+        write_cr4(read_cr4() & ~X86_CR4_CET);
+    }
+
     /*
      * During early boot, we can be called by panic before idle_vcpu[0] is
      * setup, but in that case we don't need to change page tables.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 16:15:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 16:15:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584008.914387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwhB-0006B3-Gm; Tue, 15 Aug 2023 16:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584008.914387; Tue, 15 Aug 2023 16:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwhB-0006Aw-Cx; Tue, 15 Aug 2023 16:15:01 +0000
Received: by outflank-mailman (input) for mailman id 584008;
 Tue, 15 Aug 2023 16:15: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVwhA-0006Aq-39
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 16:15:00 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e02e48c3-3b86-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 18:14: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: e02e48c3-3b86-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692116098;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=JMM+IzKUa/xdhtEWNcNAqrBAMIu8EImwTLztjHn8RQ0=;
  b=FVRko+eRp+o+1/yEHS7WC2QmYP2YUk5NRFiwme7a8lz61LB+JEqNW/LN
   tSZzIv5sm/Q0g4B1ahW9DVhaEl14+fw6iJ/oEvlaHGjI9SPibNaVS0YwT
   3x5IbmQNNRcsM5qWab6XtAfvXMbCyZ1++xgTN5xyqc9+hjSE671z4pFxB
   s=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118230468
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:e2AbmazRodoccx1eiIR6t+cOxirEfRIJ4+MujC+fZmUNrF6WrkUEy
 2EaWm6EO6rcNGb8coxya47j9BwO7JSDnYMwGQs9riAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPK0T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXxpz
 KQELiosVE6avNKWzru3TOtjxf12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwMzhzD/
 j6YrwwVBDkFE8zA7DeZr07wreD3m3LGWqkJT5qRo6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sZiVadNUsucsyRDor/
 lyEhdXkAXpoqrL9YW2Z3qeZq3W1Iyd9BW0fYS4JSyMV7t+lp5s85i8jVf46TvTz1IesX2itn
 XbT9nNWa6gvYdAjyoKCpUzBmROW+IHyfi477wnRXG3m11YsDGK6XLCA5V/e5PdGCY+WSFido
 XQJ8/SjAPAy4YKlz3LUHrhUdF29z7PcaWCH3wYzd3U03271k0NPa7y8992XyK1BFs8fMQHkb
 0bI0e+6zM8CZSD6BUObjm/YNijL8UQCPY64Phw3RoAUCnSUSONg1Hg3DXN8J0i3zCARfVgXY
 P93i/qEA3cAErhAxzGrXeob2rJD7nlglDmLHsCjnk3+iOH2iJuppVAtagfmUwzExPnc/FW9H
 yh3ZqNmNCmzoMWhO3KKoOb/3HgBLGQhBICeliCkXrfrH+aSI0l4U6W56ep4K+RYc1F9yr+gE
 oeVBhUJlzISRBTvdW23V5yUQOq2Askg8yxqZn1E0JTB8yFLXLtDJZw3L/MfFYTLPsQ6pRKoZ
 5Hpo/m9P8k=
IronPort-HdrOrdr: A9a23:rSn68aicUAJ+cxMZNKseD4OYCHBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-Talos-CUID: 9a23:W23jm2Fx1ZVf3iIOqmJ603dMBsY/U0eD1UzgA0GxBWBrR/6sHAo=
X-Talos-MUID: 9a23:MXdCAwlPaZ0iKhxMqQwddnp9E9c3xqmyVXxRupo+vZi5NwdrYBC02WE=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118230468"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: [PATCH] docs: Drop warning about 2M limit for ARM
Date: Tue, 15 Aug 2023 17:14:25 +0100
Message-ID: <20230815161425.2202782-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This issue has been addressed in the 4.18 timeframe.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
---
 docs/hypervisor-guide/code-coverage.rst | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/docs/hypervisor-guide/code-coverage.rst b/docs/hypervisor-guide/code-coverage.rst
index 49c4a8ad3bda..a0b787b379b5 100644
--- a/docs/hypervisor-guide/code-coverage.rst
+++ b/docs/hypervisor-guide/code-coverage.rst
@@ -8,11 +8,6 @@ the coverage of its own basic blocks.  Being a piece of system software rather
 than a userspace, it can't automatically write coverage out to the filesystem,
 so some extra steps are required to collect and process the data.
 
-.. warning::
-
-   ARM doesn't currently boot when the final binary exceeds 2MB in size,
-   and the coverage build tends to exceed this limit.
-
 
 Compiling Xen
 -------------

base-commit: 2763c33c6e52583f4f599d0e195bf5b1b859df22
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 16:24:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 16:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584014.914397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVwqH-0007k3-Cl; Tue, 15 Aug 2023 16:24:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584014.914397; Tue, 15 Aug 2023 16: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 1qVwqH-0007jw-9O; Tue, 15 Aug 2023 16:24:25 +0000
Received: by outflank-mailman (input) for mailman id 584014;
 Tue, 15 Aug 2023 16: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qVwqG-0007jX-1U
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 16:24:24 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30c7b3d6-3b88-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 18:24:22 +0200 (CEST)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2023 12:24:15 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5449.namprd03.prod.outlook.com (2603:10b6:806:bd::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug
 2023 16:24:11 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023
 16:24:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30c7b3d6-3b88-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692116662;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=YtXT+zHkkTDfGW6dkFYSxTk5sUiY/e1LuyMyjgjIiRE=;
  b=JisWk2Jnmm4BifqMrDSPQrZjQZu+yjpVM9LTvMPaJVFjrpWlwGDURraX
   citxu8Fw51Xiv9OfsbVbUgKChTbxlQr/tzgqHShmaApCk01cDvBkxfFUF
   WPXARmyU2b5wqLqy3lvbyv01woQbXmOkULLeiGG5P8fyk8nAuQ4ZCoP7T
   8=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 118828224
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:S6nREqsTG2/IGnJ381+3ERwVi+fnVNRfMUV32f8akzHdYApBsoF/q
 tZmKT/Xb/ePYDfzLtF/bIrlp0IGsJXUmtFiTgE4+yg3FykT+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+HyiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwGDECUwqlwMaKkfGlSshcuMoaHND1I9ZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIu9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOThpq4w0AfJmgT/DjUrbAuer+O/q3KHUuxPK
 2c+wDIiv6ILoRnDot7VGkfQTGS/lhwVXdZKAvA5wA6Iw6vQpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu2JCscNn0qZSYbVxoB4N6luIVbph7XVdNiDK6dh8X4Ay3t2
 CuNqDUihrIVlogA0KDT1VXOnz+xvYqPSwkq5Qz/X2S54wc/b4mgD6Sq41XG6fdLLK6CU0KM+
 nMDnqC28+QmHZyL0iuXT40w8KqB4v+ENHjWhwFpFpx4rzC1oSf7LMZX/S10I1pvPoAcYzj1b
 UTPuARXophOIH+taqwxaIW0Yyg38ZXd+R3efqi8RrJzjlJZLWdrIAkGiZas4l3Q
IronPort-HdrOrdr: A9a23:uLnh5aqPKxSU7iNsyP/FKx0aV5oCeYIsimQD101hICG9E/bo9f
 xG+c5w6faaslsssR0b9exoQZPwJ080lqQFgrX5X43CYOCOggLBEGgF1+TfKlbbexEWmNQy6U
 5WSdkaNDShNzNHZB7BkXGF+gwbsb66GX2T9IPjJqtWPHhXgn9bnnxENjo=
X-Talos-CUID: 9a23:OX8pM217LrboW330fl0ZpbxfKsEqT2f7i1PscgymCUdZdrOseUaO5/Yx
X-Talos-MUID: 9a23:Sd80ggmEU7TYY5R2f0lVdnpfDZdN7b6oKXw0mKsWu+KuDzR8KT2k2WE=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118828224"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PREP67LCP3R19+89Zj0Na9vCo1SEAEckDkd+xWpRJoER9SC0OSzhAJZ938tSlBZ+ALleZcNjOP6PNSUrx9jdNJUeVGYD8xYv1I+nUhSrdiYH86dr/yYtLfiAdRJbj3T8m5m5KfMJi0AZbOcYwX8MjebQoBhaMVC5QkhsVx9nKe+DMIkzOL9wpefTCRS/W5n4cs1Ln2ZpWJQ84fL+0yO52FrzTrI43+D7R4V8kKIxsyOeoTQH0YNkLXLV+oz8E95TuX06Tle5pHN1+4MfYwbujcuTloICUITC7jJHbIY5N6VJH3bXKTx725+htTP80T3105leAVujNlJB2qcLuQN2WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dn+xj7b0Q1Bd8AmbdnUntun8VRaZs0xVnCmRmJe1gZo=;
 b=FTVdU/9eyxMuhDJbCKKNs3wEfoW7PRIC4bhP/JKXxvzJ2085ILrW6MNKwlNuDtAWZom/yh8YczPz4tBPm0/mhWgq9ifrqxmMNpPSWtMxOBhkpOSoMR81QrTmrrGlmdTs9ctJIPV5W8+SclicELB/0rW+n99xck4bI7JalIrB713UQgEjXprg0wdhgem6cFvUlstdOCouHopTtHlXx6pWMH4iUQdBnP5eZJgUGKXQ7rzO29b0lu+EOUfoqrHbdNoo7h8Nab78rbVg7I1hkxSUIeMXRJQvytmh39/+2dpKBbaZF5GCcz6DKluZCnaBGxQlUMozfl+0GUDvzw6/Qiciyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dn+xj7b0Q1Bd8AmbdnUntun8VRaZs0xVnCmRmJe1gZo=;
 b=BubfQ7ttGE8oS2/UyJqMDa4Zcd6TfIc0HPEj+ySFvJemW+FoK4g91Ds2PTvuThyfD8HkiMjWkQoN2Q1iGbivQxDdnI9FgAYwTG2yVITvJydzPmCsoMZe/IP8sVczFObHLngTYKL05iR9lo38qeThK1n+1NXq17mVpMQPJSba6v0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <39aa7f6b-f80d-786c-f91e-49e9cd87c13f@citrix.com>
Date: Tue, 15 Aug 2023 17:24:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] tboot: Disable CET at shutdown
Content-Language: en-GB
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20230815161120.33007-1-jandryuk@gmail.com>
In-Reply-To: <20230815161120.33007-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0217.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA0PR03MB5449:EE_
X-MS-Office365-Filtering-Correlation-Id: e408df4d-ff6d-476a-7cd1-08db9dac0e9d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xNx/rJ+YD7X+JIRYQJHl4+buO/NxWuuAQmGAm37iBSUj2+IXPlkdsT7Wr8wuqltdGaQ3/TYAUhWyxbsGTdxCw+r7VMAYZzdFWJkNpNer6ds0MZjxoa9NC5QuKO2gM18LP/Q3m/MW8DIaQytAtZKMRYizaDINKrbirZLuyHSa8tjZJ7BdPdubz94CWP0lstRHsmb4vxzm01y01CabFhTIf/AMQ7xoBCprsywYTgCiHKem3smDPLzHw9s1pvax62T1ETi8bmUtPpV344eYuf3iA7RHcgEY6iqhwDNPn5Ef0flqzXFOg79F44a+FZlcJBxrzjb07GXHWrmtEkhxJJDkyAiE7yGQjM4f/UNx/GczeFf7hRPSFunlU8q2e5H+5+NS3VAsyTOTA1zfMM+Lgm14hXmPL/6AL+G1u9B5YDm5Cxo3fut51K/4ITs5JoYu5gtPVcY3ImutjerjVUGwiiVNP+ZgbvoVwaDvXA2NxMhlgPzIm3HzmlgHVQUECyqRYQ7YN4SCdBCJebb7m5Z8JlGJ+kGKLT0RZNGdjgukN8hdeC3QjOU/YCCqLzex7bgP45rvff/G2GL1PiqU/m89ZViSpai2TCqT2Hb08dongVetcQG9kAR93Q+LObVjUjJ8BoDj2Zm9/rSAq1T3X6tGsv+L/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(376002)(396003)(346002)(39860400002)(1800799009)(186009)(451199024)(36756003)(54906003)(4744005)(66476007)(31696002)(66946007)(41300700001)(4326008)(86362001)(66556008)(8676002)(6512007)(6486002)(53546011)(26005)(8936002)(6666004)(6506007)(5660300002)(2616005)(2906002)(31686004)(316002)(478600001)(38100700002)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXcvbko0VDBGQkVWQWNEelZDdGVMdklBY09LODBIc3EvVzdRNURlWWt1Umho?=
 =?utf-8?B?ZCszL210M3JQdm4waVZWNDY0QlZhQ3p5UFh0bGNYdHFyS1FmaWJEZzA0WTBI?=
 =?utf-8?B?M21aWDAxaW1iNlhUd3JTL1o0SWg4eExMR25iL294Rmd0ZS9aYkd1cUFZcjZl?=
 =?utf-8?B?bFIvWHk5WDVCNitvUEorL21TT1VCNzZYSzNjREhEN1d3RHRoejRJQWRya1hI?=
 =?utf-8?B?bm5kUW1zdDZDTHFGVi9TaVV3U2ZOdmI3Y0FSS0JMMVJMRld1ZC9SdVNYaWxl?=
 =?utf-8?B?YXdGVzJudkFWYkJPWkFzUi9wWXJIeWFoNkdnUS9DRk5IVlUrbk9WNzlHTDU5?=
 =?utf-8?B?SEhNQzk2bjdyMWlXOWF6aFZBekw0cEZrUGFxcGloYWZLSGRScjhFY3R6RXMz?=
 =?utf-8?B?R3NnMnNGc1hXTlRKbFVtbnhxOCtYOGFCRnlDdGhBZkI4T0FTeHVVRFhFSGI5?=
 =?utf-8?B?a0FxR0l1a0lCWGJVMjJQZmFZY1FnL0doUjJscGVpVGJvZFJ5NEZtVEtOYVlr?=
 =?utf-8?B?NXlZQjNTcDR0Ykl6U25MMEFnSFBReE5YQjRNUzRiVTQvK1VRZ1hVenpsbzQ0?=
 =?utf-8?B?WUNjRTd6cm0vZWgxSndFK2xrRVBIdzZGME1jWXdnOUhMYkQ0aTVhQmVhZ2h6?=
 =?utf-8?B?LzJGM3BSOTlpZDA1eXZzd0JVVTlhV1U1clcrK0ZGb3dlSWUvYzU0Z2x5ZzYx?=
 =?utf-8?B?aVlQQXB1cTgzL2NDWDRBRUdtQlpLNTI0b0JxYnlRNnIvVkIwYWd3NTlyZDBh?=
 =?utf-8?B?K0hUa0NyeW90TWpYMHlzTG1mUHBJVllsckhNSHd0L2JLS3VOY3dwVXhqL2ZL?=
 =?utf-8?B?c3lVWHVZMUFncU93bDRsMnNzQit2Y1BCcDZhaEdvc3VHcUVFUFRrenhkRXpH?=
 =?utf-8?B?QnowTlRtaXJiSzduVEUxUlJ0UzVWK2poUzVNWlA4dHAxUEtlTkxnMFRwZG9t?=
 =?utf-8?B?MnV0S3BjREphbndtT21xTklYbEdMeDRxcHhucG9BQWxLd2dNZlBYaDRnV3FE?=
 =?utf-8?B?d292UDdkNXhuMmVid1J4dFBFSmRBOEg5VVJtaVZBTEhwbXZTbkdFc0VQSFNN?=
 =?utf-8?B?SnNmcW9qQ01RVklKVXM0eGZSNFZsV1V6VnhnOGMzS1pMT2JBWDF3Ync4OUE1?=
 =?utf-8?B?QXA5Z2xvNDFDMGltVytEUjU5ei80TFNHYWY0M1NUREQ2aFI2M2tWNHEwVjYy?=
 =?utf-8?B?Ym1QMVBQRDhNV2ZkYlpBbDBOSzN2TlBCMjRXSUZoaFRMeHR3QlpiRXZ2SC8y?=
 =?utf-8?B?cU00WlRqU204b3VSaWFkNER1V3VwN0QyTm12dC92eEZQVDI2Q3hxaUlMdWxs?=
 =?utf-8?B?d3VvRmF5dXVudkJHMEw5L09Dc09PL3dtMmhCd3IrV2RVMDFDR2NTdllqcjNH?=
 =?utf-8?B?dmdRRzMrZmRod0htcWREMERmeXBucks5RExiQm4yZFY1YXRkeitOSDBjSVZK?=
 =?utf-8?B?V0twUjdqM1o0ZWJqZjU5Y01uV1MwcWxOV21Sc3F1WjBRODU3M3F2M2ZOdytI?=
 =?utf-8?B?MEZsRzNGeWJ5OUFKZDBCbFVFUUx6M1lQaWlFNmdPQXg4dmdSbSsxbEM5Z2dn?=
 =?utf-8?B?NnBIck8zVE9WZC93N3ZYcFZUMDdZak5nYVplOVFPRmxEU0xwOGU3cTlQK29w?=
 =?utf-8?B?SlFpeUJuTDR4OS8vYmJzNGNGczlwQkJOVGNFRU9tMzZXUnZXRkNxZTdXWTdL?=
 =?utf-8?B?ei9hN3F6NDNERksrZXlxRGtBa2hCenFzangzOG5adDJ5MytTMWN1NlV2VWJh?=
 =?utf-8?B?d1RHN2xhaTdQRHBQVXFZZFFKMnJRQXFFc0FnTkVncDZxNWJ2MjlPUEU4WUli?=
 =?utf-8?B?QkI1NXlNOWZwYVE5emdhTVpKK2ZZYStSWHpSVjl6NWNyTkw1YWxEa1dqVmVu?=
 =?utf-8?B?dVNEdVBmQkVjQTg2UjhJTVpCQTFNUEhOY05HMTduVGIwTXlURGJLTXpvaW54?=
 =?utf-8?B?Y24zOVhXazllSTlBMlVHcTJUM005NjhmRWNRVDR4VHhjNHJaSGZ5UWxkMTFy?=
 =?utf-8?B?TXJkVXVpUVRyOEEvLzA3a1VUeUpRcjhMb1BGdktLM2Z1cjVYQ3dJWTE1OGFq?=
 =?utf-8?B?VFFUK1NRQ01wcVMyM21ya2RKRmN6TzRsOS9jOHFqVnR2N1ZXTk1VakFvcmd5?=
 =?utf-8?B?Z1M0NWh2eG93T1BmMUVtUzBJSEdUOHpWWEVHNUorUVZwWW1rem1QeENySVhW?=
 =?utf-8?B?Wmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?NjF3NTlrZDB1dmdQeDNjWk5aaVoyby9uWDNoMnRPaUVGVldLSml0NFQ4YS84?=
 =?utf-8?B?RlVXa0V2TVAyNEJmVmp1SndpRENvTExPRFdrOXY0T3ZsNk0zak56d0VYZVM2?=
 =?utf-8?B?VFRhSjY5V3J3bmRiMlZGQmthN3dKK2srZDJ4YjQxK25IRDZjVzhWenRNYi8w?=
 =?utf-8?B?Z2t2WlpFbHYvOFdpcFMrdGw0VEtMU2Q3d21kSWcwY1VyU1BQTnJERTNwVzZ1?=
 =?utf-8?B?bGxESEYyOUNYRWhxQllMWnZwZW1GVFNWc2tCT2dNMVBoNlRpMjZKZldBclFL?=
 =?utf-8?B?ZlVqK2pjWGFXMitZd2NHcDdrTnNrWlI3Q2RiR0I4dytJSk1ORjNvN0RTalZt?=
 =?utf-8?B?QU5McWlxcmd3aTBzOThlc0ZCbHFZN0xqOTdYY2lNdE9MdWl0WUFwcTFXZEt3?=
 =?utf-8?B?ZC82cno0K3BrY3ZlaHhFL2x6ODVqREU4eXQ1TTJMNzlYUmZMWWtZZTR5SHhm?=
 =?utf-8?B?WTE2T3kwMHR2NTlMa2MzQWgwN0gyc0tBbjhNYnV4bTNSNStQcjI2eXR4R3lr?=
 =?utf-8?B?TGNFNFdMOWVHUVhjWmtQQjYyeG9zSkdPVVlMbWRzWmpaZWkxeEVQQm12emdv?=
 =?utf-8?B?ZGR1WGlBaGVxY2p5TmJJbHREMHFtMkd4Rkt2dEs4bHlwNU1uUzZJNXRsWVUr?=
 =?utf-8?B?RGg3V1JicHJORkZyTWpZbW81MGR2TmtzOXQ2dFB4N0kyN3FxZWR3eXNJOHBB?=
 =?utf-8?B?ZFl3WStBQWF4MkZ6Z3RueEVqcFhVRmxiUCtFZlRjUWF0Q0g2ZXBCK0plY0RZ?=
 =?utf-8?B?UTRnanlTdEc2ZXlFdGZ5ZENlQVNPa0ZOc3poZExjZWhkRUQ0dTdNY3Z1VTU5?=
 =?utf-8?B?L0M2RmVUWklSSU9zYmJUMnhSUmowcnhCb0FrOFBlM3hHanh5S2hhRi9vWVRZ?=
 =?utf-8?B?ZEs0TkZaT01tNklSMGl4RWcxVnlJT1JCNU1YakRKQmx0bjAwandWR0xvVnVw?=
 =?utf-8?B?NXpsVWwxT2hRN1FHSWo4aU9NWERMM0tramtMai9mZUVCVlhUZkFKbENDS3VM?=
 =?utf-8?B?SWgyL2pkSnpzOThpZVRDRHpLa2ova3V5SWl3Um45VTRXbkFaVVRPd3lWRVJv?=
 =?utf-8?B?K0pJYVVzVGhwT3ZLazVFdXdQbUJ6eUxYVzVvYXZOeXFVbm1GOW1LMkZEeC9L?=
 =?utf-8?B?cFVZKzV0bjlCdmN5a3dBSEMvZTliaGZWUy9zeHVFRnlKeDEyVlNIS3h3RTVL?=
 =?utf-8?B?T0xYeHY1TUNQcWpkWTVXZE1XOWQvTk9NQnFLd25QRFZyUjE1R2UybkZLOENL?=
 =?utf-8?B?V2JMeTZJL2pZSFFnZGpobU51U1Jjd2F6VDJVMGk4V05GV3R1Zz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e408df4d-ff6d-476a-7cd1-08db9dac0e9d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 16:24:11.2025
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +UyibJFnwEieIkVSTO5Ysmbq5wRyjDvm24a5i5GDkt0VJmaUlU9mGxLNQBDKz7dPOYu6q+HsvKgPLNcOFJTLh+p3b7iSRjVxt1bQGJRwKEk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5449

On 15/08/2023 5:11 pm, Jason Andryuk wrote:
> tboot_shutdown() calls into tboot to perform the actual system shutdown.
> tboot isn't built with endbr annotations, and Xen has CET-IBT enabled on
> newer hardware.  shutdown_entry isn't annotated with endbr and Xen
> faults:
>
> Panic on CPU 0:
> CONTROL-FLOW PROTECTION FAULT: #CP[0003] endbranch
>
> And Xen hangs at this point.
>
> Disabling CET-IBT let Xen and tboot power off, but reboot was
> perfoming a poweroff instead of a warm reboot.  Disabling all of CET,
> i.e. shadow stacks as well, lets tboot reboot properly.
>
> Fixes: cdbe2b0a1aec ("x86: Enable CET Indirect Branch Tracking")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

:sadpanda:

I guess this is the least bad option going.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 18:27:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 18:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584020.914407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVylL-0003Lh-5N; Tue, 15 Aug 2023 18:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584020.914407; Tue, 15 Aug 2023 18:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVylL-0003La-1G; Tue, 15 Aug 2023 18:27:27 +0000
Received: by outflank-mailman (input) for mailman id 584020;
 Tue, 15 Aug 2023 18:27: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 1qVylJ-0003LA-FN; Tue, 15 Aug 2023 18:27: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 1qVylJ-0002Td-Ct; Tue, 15 Aug 2023 18:27: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 1qVylI-0007yQ-SL; Tue, 15 Aug 2023 18:27:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qVylI-0006Kz-S2; Tue, 15 Aug 2023 18:27: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=1gM3bn+sbAL403UaXw/JnP8XnU9l8piDFkH8gq2+Nik=; b=v4RH0AXuv36bYXb+UAHUbLk/6n
	pH0iGSfQvuHfPGY1VveM+MHFa+weDJ8U88H5Fi+9QLp15kWRJMiiS1gzGVdJ4YSJm5KFwtrQziG+T
	iYALaidnAUbxhXAkj0wDRkuwilNihhg66s+bw24O+BmaduFcM3jvZXgowUyc7+2k8mGE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182337-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182337: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-arm64-arm64-libvirt-qcow2:guest-start.2:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=ca083a49aa0946e590167628611fd3c5b2f224da
X-Osstest-Versions-That:
    libvirt=9c9848f955fd2b42e7f258b945cd90aacd2c114e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 18:27:24 +0000

flight 182337 libvirt real [real]
flight 182349 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182337/
http://logs.test-lab.xenproject.org/osstest/logs/182349/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-qcow2 18 guest-start.2     fail pass in 182349-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182278
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182278
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182278
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              ca083a49aa0946e590167628611fd3c5b2f224da
baseline version:
 libvirt              9c9848f955fd2b42e7f258b945cd90aacd2c114e

Last test of basis   182278  2023-08-11 14:56:18 Z    4 days
Testing same since   182337  2023-08-15 04:20:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  ê¹€́¸́ˆ˜ <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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   9c9848f955..ca083a49aa  ca083a49aa0946e590167628611fd3c5b2f224da -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 19:01:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 19:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584030.914427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVzIe-00082N-4W; Tue, 15 Aug 2023 19:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584030.914427; Tue, 15 Aug 2023 19:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVzIe-00082G-1l; Tue, 15 Aug 2023 19:01:52 +0000
Received: by outflank-mailman (input) for mailman id 584030;
 Tue, 15 Aug 2023 19:01: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=4Gn6=EA=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qVzIc-0007nM-C7
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 19:01:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 303d9e29-3b9e-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 21:01:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 736141FD6A;
 Tue, 15 Aug 2023 19:01:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4B7221390C;
 Tue, 15 Aug 2023 19:01:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wFeVEZ3L22QTVAAAMHmgww
 (envelope-from <tiwai@suse.de>); Tue, 15 Aug 2023 19:01:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 303d9e29-3b9e-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1692126109; 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=K/BgMI8FuOi/5pmBMZAtt3gp913bmnjYvQcbxzOHfHE=;
	b=nhabCSKsWkx41NfRqAxKgh8FQUXjbeOAtxOYCVMoXsAyxByAjesTZHGSNbtuRbYe9rWpob
	l/pgaU9eAKtGUJ+w5zfo5Qky1TpOVwKv1YoiTfvx4KZQwdlLea7GH114OMQV9Gjib9bFB0
	9JbVbJgcn5fjiqGxhu56qkfvsNm1M/w=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1692126109;
	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=K/BgMI8FuOi/5pmBMZAtt3gp913bmnjYvQcbxzOHfHE=;
	b=+XKBo0gra+U9kLyDt5tVYGNJHRwve2LRNG7LL5QlEl7517QnhuahhelIchrFC0AdbhSepj
	n3JcgCWw5rBcIkAQ==
From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 15/25] ALSA: xen: Convert to generic PCM copy ops
Date: Tue, 15 Aug 2023 21:01:26 +0200
Message-Id: <20230815190136.8987-16-tiwai@suse.de>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230815190136.8987-1-tiwai@suse.de>
References: <20230815190136.8987-1-tiwai@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch converts the xen frontend driver code to use the new
unified PCM copy callback.  It's a straightforward conversion from
*_user() to *_iter() variants.

Note that copy_from/to_iter() returns the copied bytes, hence the
error condition is adjusted accordingly.

Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/xen/xen_snd_front_alsa.c | 56 +++++++---------------------------
 1 file changed, 11 insertions(+), 45 deletions(-)

diff --git a/sound/xen/xen_snd_front_alsa.c b/sound/xen/xen_snd_front_alsa.c
index db917453a473..bfae303633ef 100644
--- a/sound/xen/xen_snd_front_alsa.c
+++ b/sound/xen/xen_snd_front_alsa.c
@@ -602,38 +602,24 @@ static snd_pcm_uframes_t alsa_pointer(struct snd_pcm_substream *substream)
 	return (snd_pcm_uframes_t)atomic_read(&stream->hw_ptr);
 }
 
-static int alsa_pb_copy_user(struct snd_pcm_substream *substream,
-			     int channel, unsigned long pos, void __user *src,
-			     unsigned long count)
+static int alsa_pb_copy(struct snd_pcm_substream *substream,
+			int channel, unsigned long pos, struct iov_iter *src,
+			unsigned long count)
 {
 	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
 
 	if (unlikely(pos + count > stream->buffer_sz))
 		return -EINVAL;
 
-	if (copy_from_user(stream->buffer + pos, src, count))
+	if (copy_from_iter(stream->buffer + pos, count, src) != count)
 		return -EFAULT;
 
 	return xen_snd_front_stream_write(&stream->evt_pair->req, pos, count);
 }
 
-static int alsa_pb_copy_kernel(struct snd_pcm_substream *substream,
-			       int channel, unsigned long pos, void *src,
-			       unsigned long count)
-{
-	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
-
-	if (unlikely(pos + count > stream->buffer_sz))
-		return -EINVAL;
-
-	memcpy(stream->buffer + pos, src, count);
-
-	return xen_snd_front_stream_write(&stream->evt_pair->req, pos, count);
-}
-
-static int alsa_cap_copy_user(struct snd_pcm_substream *substream,
-			      int channel, unsigned long pos, void __user *dst,
-			      unsigned long count)
+static int alsa_cap_copy(struct snd_pcm_substream *substream,
+			 int channel, unsigned long pos, struct iov_iter *dst,
+			 unsigned long count)
 {
 	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
 	int ret;
@@ -645,26 +631,8 @@ static int alsa_cap_copy_user(struct snd_pcm_substream *substream,
 	if (ret < 0)
 		return ret;
 
-	return copy_to_user(dst, stream->buffer + pos, count) ?
-		-EFAULT : 0;
-}
-
-static int alsa_cap_copy_kernel(struct snd_pcm_substream *substream,
-				int channel, unsigned long pos, void *dst,
-				unsigned long count)
-{
-	struct xen_snd_front_pcm_stream_info *stream = stream_get(substream);
-	int ret;
-
-	if (unlikely(pos + count > stream->buffer_sz))
-		return -EINVAL;
-
-	ret = xen_snd_front_stream_read(&stream->evt_pair->req, pos, count);
-	if (ret < 0)
-		return ret;
-
-	memcpy(dst, stream->buffer + pos, count);
-
+	if (copy_to_iter(stream->buffer + pos, count, dst) != count)
+		return -EFAULT;
 	return 0;
 }
 
@@ -697,8 +665,7 @@ static const struct snd_pcm_ops snd_drv_alsa_playback_ops = {
 	.prepare	= alsa_prepare,
 	.trigger	= alsa_trigger,
 	.pointer	= alsa_pointer,
-	.copy_user	= alsa_pb_copy_user,
-	.copy_kernel	= alsa_pb_copy_kernel,
+	.copy		= alsa_pb_copy,
 	.fill_silence	= alsa_pb_fill_silence,
 };
 
@@ -710,8 +677,7 @@ static const struct snd_pcm_ops snd_drv_alsa_capture_ops = {
 	.prepare	= alsa_prepare,
 	.trigger	= alsa_trigger,
 	.pointer	= alsa_pointer,
-	.copy_user	= alsa_cap_copy_user,
-	.copy_kernel	= alsa_cap_copy_kernel,
+	.copy		= alsa_cap_copy,
 };
 
 static int new_pcm_instance(struct xen_snd_front_card_info *card_info,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 19:01:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 19:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584029.914416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVzIc-0007ne-TT; Tue, 15 Aug 2023 19:01:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584029.914416; Tue, 15 Aug 2023 19: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 1qVzIc-0007nX-QN; Tue, 15 Aug 2023 19:01:50 +0000
Received: by outflank-mailman (input) for mailman id 584029;
 Tue, 15 Aug 2023 19: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=4Gn6=EA=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1qVzIb-0007nM-1V
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 19:01:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f06fa33-3b9e-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 21:01:47 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 353B5211B8;
 Tue, 15 Aug 2023 19:01:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C9CCC1353E;
 Tue, 15 Aug 2023 19:01:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XZIxL5rL22QTVAAAMHmgww
 (envelope-from <tiwai@suse.de>); Tue, 15 Aug 2023 19:01: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: 2f06fa33-3b9e-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1692126107; 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=//6lpnW6sCl4feNuAFbqi6XUsXoCWMdVSeRR25UImmk=;
	b=lKC4tZf7WG38nR/+S7P0hfukLxRpFMGV/R/rtIcnNlUGsWOO0WmwaXvEWgThkvB1ihsRXm
	HWmdV0Mo0Bwu13DaVDZt15C+28SU66ST57i/9JfQIAcomGTW0DEn3qM/Z7mh70VWRyUI0a
	tvIAUJZX0m1q1PB+9pcimyQjlw5iWL8=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1692126107;
	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=//6lpnW6sCl4feNuAFbqi6XUsXoCWMdVSeRR25UImmk=;
	b=7bAEkFaYSkQrYTqFUCvdJZuyzgiU44+C+bBhhQFbDIcKL7WJ0SParPiABaClmft1Gfd6Kg
	2o7jLFBIu41otZBQ==
From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrey Utkin <andrey_utkin@fastmail.com>,
	Anton Sviridenko <anton@corp.bluecherry.net>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Bluecherry Maintainers <maintainers@bluecherrydvr.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Ismael Luceno <ismael@iodev.co.uk>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Mark Brown <broonie@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linux-media@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 00/25] ALSA: Generic PCM copy ops using iov_iter
Date: Tue, 15 Aug 2023 21:01:11 +0200
Message-Id: <20230815190136.8987-1-tiwai@suse.de>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

this is a v2 patch set for cleaning up the PCM copy ops using
iov_iter to deal with kernel / user-space pointers consistently.

v1->v2:
* The error condition checks of copy_to/from_iter() are changed to
  be more strictly
* Put Acked and Reviewed tags
* The indents in the patch in dmaengine was slightly changed

v1:
  https://lore.kernel.org/r/20230814115523.15279-1-tiwai@suse.de


Takashi

===

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: Anton Sviridenko <anton@corp.bluecherry.net>
Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Cc: Banajit Goswami <bgoswami@quicinc.com>
Cc: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: Ismael Luceno <ismael@iodev.co.uk>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: Olivier Moysan <olivier.moysan@foss.st.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: linux-media@vger.kernel.org
Cc: xen-devel@lists.xenproject.org

===

Takashi Iwai (25):
  iov_iter: Export import_ubuf()
  ALSA: pcm: Add copy ops with iov_iter
  ALSA: core: Add memory copy helpers between iov_iter and iomem
  ALSA: dummy: Convert to generic PCM copy ops
  ALSA: gus: Convert to generic PCM copy ops
  ALSA: emu8000: Convert to generic PCM copy ops
  ALSA: es1938: Convert to generic PCM copy ops
  ALSA: korg1212: Convert to generic PCM copy ops
  ALSA: nm256: Convert to generic PCM copy ops
  ALSA: rme32: Convert to generic PCM copy ops
  ALSA: rme96: Convert to generic PCM copy ops
  ALSA: hdsp: Convert to generic PCM copy ops
  ALSA: rme9652: Convert to generic PCM copy ops
  ALSA: sh: Convert to generic PCM copy ops
  ALSA: xen: Convert to generic PCM copy ops
  ALSA: pcmtest: Update comment about PCM copy ops
  media: solo6x10: Convert to generic PCM copy ops
  ASoC: component: Add generic PCM copy ops
  ASoC: mediatek: Convert to generic PCM copy ops
  ASoC: qcom: Convert to generic PCM copy ops
  ASoC: dmaengine: Convert to generic PCM copy ops
  ASoC: dmaengine: Use iov_iter for process callback, too
  ALSA: doc: Update description for the new PCM copy ops
  ASoC: pcm: Drop obsoleted PCM copy_user ops
  ALSA: pcm: Drop obsoleted PCM copy_user and copy_kernel ops

 .../kernel-api/writing-an-alsa-driver.rst     | 58 ++++-------
 drivers/media/pci/solo6x10/solo6x10-g723.c    | 39 ++------
 include/sound/dmaengine_pcm.h                 |  2 +-
 include/sound/pcm.h                           | 13 ++-
 include/sound/soc-component.h                 | 14 +--
 lib/iov_iter.c                                |  1 +
 sound/core/memory.c                           | 56 +++++++++--
 sound/core/pcm_lib.c                          | 95 ++++++++++---------
 sound/core/pcm_native.c                       |  2 +-
 sound/drivers/dummy.c                         | 12 +--
 sound/drivers/pcmtest.c                       |  2 +-
 sound/isa/gus/gus_pcm.c                       | 23 +----
 sound/isa/sb/emu8000_pcm.c                    | 74 ++++-----------
 sound/pci/es1938.c                            | 30 +-----
 sound/pci/korg1212/korg1212.c                 | 50 +++-------
 sound/pci/nm256/nm256.c                       | 42 ++------
 sound/pci/rme32.c                             | 50 +++-------
 sound/pci/rme96.c                             | 42 ++------
 sound/pci/rme9652/hdsp.c                      | 42 ++------
 sound/pci/rme9652/rme9652.c                   | 46 ++-------
 sound/sh/sh_dac_audio.c                       | 25 +----
 sound/soc/atmel/mchp-pdmc.c                   |  2 +-
 sound/soc/mediatek/common/mtk-btcvsd.c        | 27 ++----
 sound/soc/qcom/lpass-platform.c               | 13 +--
 sound/soc/soc-component.c                     | 16 ++--
 sound/soc/soc-generic-dmaengine-pcm.c         | 18 ++--
 sound/soc/soc-pcm.c                           |  4 +-
 sound/soc/stm/stm32_sai_sub.c                 |  2 +-
 sound/xen/xen_snd_front_alsa.c                | 56 +++--------
 29 files changed, 269 insertions(+), 587 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 19:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 19:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584042.914437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVzaB-0001ei-JE; Tue, 15 Aug 2023 19:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584042.914437; Tue, 15 Aug 2023 19:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qVzaB-0001eb-GH; Tue, 15 Aug 2023 19:19:59 +0000
Received: by outflank-mailman (input) for mailman id 584042;
 Tue, 15 Aug 2023 19:19: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=BVlh=EA=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qVzaA-0001eV-2e
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 19:19:58 +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 b6b321b1-3ba0-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 21:19:55 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 169212719094347.38102617187451;
 Tue, 15 Aug 2023 12:19:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6b321b1-3ba0-11ee-8776-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692127193; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=mSnMzPq7+sdaxlojyTmhiSKToReqbOKU3hGCAevbOjcLL8Wjf05VimrM+C4FZNZrS5uKbMFyG29UIMcVgoN6eFUfkqadZmvA7hzy54bBldgdTH4S+OGew5On7JEmqtJdtYSAC7RdWWVVyJcBWPTgPhiPzgcTJRFtAC3AzIYJOYQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692127193; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=rwzP4TaIwcHatVRrjDzhTH0GjGPudFzkLSV2NYiflIY=; 
	b=D1WJXz+EkURLfFS4NBOrSMwaK53z00i9z3yzxJKNvtYKsuUtmSIHYC8ik+afQ0ardZ9rHDVVmtaAfVLPMcySMC4c9ZMKv5AK6bylG6AgEacUSbz+gXn8XN/IL9J7/2O7tBZ2/55lsCk/gwYQBN1ShBpHIKd0PYSYqqXouXuIYXo=
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=1692127193;
	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=rwzP4TaIwcHatVRrjDzhTH0GjGPudFzkLSV2NYiflIY=;
	b=iI/z7rX9wyKdHO76Yv5+88XmiDQnI3RieeV4MWk5cl/D6TW3wXpmBT5ImYXGzgGw
	V8jvq3w6rNVfu+FsC1lwGokdq32QO1CGCci2NM9cl9H0PjoxEgCI+DgnnRbjJUz5Mab
	4Y4kv7UvYt2LrCpDzVR+MBoxQsIiRUupLbz/3Rqk=
Message-ID: <c3a2059d-4601-f881-cafb-1bd4c4f74e42@apertussolutions.com>
Date: Tue, 15 Aug 2023 15:19:48 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] tboot: Disable CET at shutdown
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Lukasz Hawrylko <lukasz@hawrylko.pl>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20230815161120.33007-1-jandryuk@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20230815161120.33007-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/15/23 12:11, Jason Andryuk wrote:
> tboot_shutdown() calls into tboot to perform the actual system shutdown.
> tboot isn't built with endbr annotations, and Xen has CET-IBT enabled on
> newer hardware.  shutdown_entry isn't annotated with endbr and Xen
> faults:
> 
> Panic on CPU 0:
> CONTROL-FLOW PROTECTION FAULT: #CP[0003] endbranch
> 
> And Xen hangs at this point.
> 
> Disabling CET-IBT let Xen and tboot power off, but reboot was
> perfoming a poweroff instead of a warm reboot.  Disabling all of CET,
> i.e. shadow stacks as well, lets tboot reboot properly.
> 
> Fixes: cdbe2b0a1aec ("x86: Enable CET Indirect Branch Tracking")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> Without this fix, Xen subsequently hangs:
> 
> Reboot in five seconds...
> [VT-D] IOMMU1: QI wait descriptor taking too long
>   IQA = 484897000
>   IQH = 0
>   IQT = 820
> 
> with no futher output.
> ---
>   xen/arch/x86/tboot.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
> index 90f6e805a9..86c4c22cac 100644
> --- a/xen/arch/x86/tboot.c
> +++ b/xen/arch/x86/tboot.c
> @@ -353,6 +353,16 @@ void tboot_shutdown(uint32_t shutdown_type)
>           tboot_gen_xenheap_integrity(g_tboot_shared->s3_key, &xenheap_mac);
>       }
>   
> +    /*
> +     * Disable CET - tboot may not be built with endbr, and it doesn't support
> +     * shadow stacks.
> +     */
> +    if ( read_cr4() & X86_CR4_CET )
> +    {
> +        wrmsrl(MSR_S_CET, 0);
> +        write_cr4(read_cr4() & ~X86_CR4_CET);
> +    }
> +
>       /*
>        * During early boot, we can be called by panic before idle_vcpu[0] is
>        * setup, but in that case we don't need to change page tables.

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584049.914447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fq-0004gr-4d; Tue, 15 Aug 2023 21:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584049.914447; Tue, 15 Aug 2023 21:07:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fq-0004gk-0R; Tue, 15 Aug 2023 21:07:06 +0000
Received: by outflank-mailman (input) for mailman id 584049;
 Tue, 15 Aug 2023 21: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fp-0004ge-3X
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:05 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac71ad15-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac71ad15-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133620;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=P9ncB1v6j5aDBItocB4oPyuTy7Lm3WylBJuWoQzKWS8=;
  b=e7ZXPq477sspb1lpBr2Jt3ajwXjbU8QbI6A229VcnV0Rv34tIZ0Q5dSG
   bkdDXQ/FObi9LDfF41tu1GWymRq0J1xEY17chDPbgVJh+38wkZr39J/lM
   dWwVWzweXiMJOy6WXDSx4KDsSRF48/KfT5r7rTlpA4KwfPLbiJf8QxB8I
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119453627
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Q3f6pKr+6otI6kBKMuoTbArxgXFeBmKEZRIvgKrLsJaIsI4StFCzt
 garIBmHbv+JazCjedx3Pd+/8h9X6pKDmt81TgZo+S4xF3hD85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOziRNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAHMNSRWxg7O7+ZvhdLdD3dwCAZn7OoxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVxrl6PqLVxyG/U1AFri5DmMcbPe8zMTsJQ9qqdj
 jufrjikWU9Aa7RzzxKE6mi2l+bM2hjiWYQ1TIHl0P1Lh3Ockzl75Bo+CgLg/KjRZlSFc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUS6giLxrDF/gWxCW0NTzoHY9sj3OcUbzE30
 l6Cn/vyGCdi9raSTBq17ayIpDm/PSwUK24qZiIeSwYBpd75r+kbkRbnXttlVqmvgbXdGyz0w
 j2MhDgzgfMUl8Fj/6m08V3ImTuEuonCTglz4B7eGG2i8GtRaJa+Yo206XDS9ftaMJuCVV6Fo
 WQFnM6FqusJCPmltCGLWvRLI7iv6N6MKjiaillqd6TN7Bz0pSTlJ9oJpmgjegEwaJ1slSLVj
 FH7+gN24a1XbXaTRPVJPa3qE+UHnbjmGoGwPhzLVeZmbp90fQ6B2ShhY0+Mwmzg+HQRfbED1
 YSzKpj1UytDYUhz5H/vHrpGj+d3rswr7TmLLa0X2ShLxlZ3iJS9bb4eeGWDYekihE9viFWEq
 o0PXydmJvg2bQEfXsU12dRORbzpBSJhbXwTlyCwXrfaSjeK4El7V5fsLUoJIuSJZZh9mObS5
 W2aUURF0lf5jnCvAVzUOyo6Mu+zDMkv9CJT0ckQ0bGAgSRLXGpSxP1HK8tfkUcPpYSPMsKYv
 9FaIp7dU5yjuxzM+igHbImVkWCRXE3DuO56BAL8OGJXV8c5F2T0FirMIlOHGN8mUnDm6qPTY
 tSIimvmfHb0b18/UZuKMKjxkAvZULp0sLsaYnYk6+J7IC3EmLWG4QSo5hPrC6ng8Sn++wY=
IronPort-HdrOrdr: A9a23:gIaeYq5NvEtfbXWBZwPXwPfXdLJyesId70hD6qm+c20tTiX4rb
 HXoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp
 uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
X-Talos-CUID: 9a23:r9KSeW52AH9LUz3+mdsst04zH/IhI3Dk5S3ufWDjEUdEGK2TRgrF
X-Talos-MUID: 9a23:h7scbQg0+Fn+NjYm/aAjAMMpNd9y+bWnCwc2iJQAnJG4aApzGjCzg2Hi
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119453627"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jason Andryuk
	<jandryuk@gmail.com>, George Dunlap <George.Dunlap@eu.citrix.com>, "Jan
 Beulich" <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"Wei Liu" <wl@xen.org>, Julien Grall <julien@xen.org>, Daniel De Graaf
	<dgdegra@tycho.nsa.gov>, Daniel Smith <dpsmith@apertussolutions.com>, "Henry
 Wang" <Henry.Wang@arm.com>
Subject: [PATCH v3 02/10] xen/version: Introduce non-truncating deterministically-signed XENVER_* subops
Date: Tue, 15 Aug 2023 22:06:42 +0100
Message-ID: <20230815210650.2735671-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Recently in XenServer, we have encountered problems caused by both
XENVER_extraversion and XENVER_commandline having fixed bounds.

More than just the invariant size, the APIs/ABIs also broken by typedef-ing an
array, and using an unqualified 'char' which has implementation-specific
signed-ness.

Provide brand new ops, which are capable of expressing variable length
strings, and mark the older ops as broken.

This fixes all issues around XENVER_extraversion being longer than 15 chars.
Further work beyond just this API is needed to remove other assumptions about
XENVER_commandline being 1023 chars long.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Daniel De Graaf <dgdegra@tycho.nsa.gov>
CC: Daniel Smith <dpsmith@apertussolutions.com>
CC: Jason Andryuk <jandryuk@gmail.com>
CC: Henry Wang <Henry.Wang@arm.com>

v3:
 * Modify dummy.h's xsm_xen_version() in the same way as flask.
v2:
 * Remove xen_capabilities_info_t from the stack now that arch_get_xen_caps()
   has gone.
 * Use an arbitrary limit check much lower than INT_MAX.
 * Use "buf" rather than "string" terminology.
 * Expand the API comment.

Tested by forcing XENVER_extraversion to be 20 chars long, and confirming that
an untruncated version can be obtained.
---
 xen/common/kernel.c          | 62 +++++++++++++++++++++++++++++++++++
 xen/include/public/version.h | 63 ++++++++++++++++++++++++++++++++++--
 xen/include/xlat.lst         |  1 +
 xen/include/xsm/dummy.h      |  3 ++
 xen/xsm/flask/hooks.c        |  4 +++
 5 files changed, 131 insertions(+), 2 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index f822480a8ef3..79c008c7ee5f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -24,6 +24,7 @@
 CHECK_build_id;
 CHECK_compile_info;
 CHECK_feature_info;
+CHECK_varbuf;
 #endif
 
 enum system_state system_state = SYS_STATE_early_boot;
@@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
 __initcall(param_init);
 #endif
 
+static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    struct xen_varbuf user_str;
+    const char *str = NULL;
+    size_t sz;
+
+    switch ( cmd )
+    {
+    case XENVER_extraversion2:
+        str = xen_extra_version();
+        break;
+
+    case XENVER_changeset2:
+        str = xen_changeset();
+        break;
+
+    case XENVER_commandline2:
+        str = saved_cmdline;
+        break;
+
+    case XENVER_capabilities2:
+        str = xen_cap_info;
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        return -ENODATA;
+    }
+
+    sz = strlen(str);
+
+    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
+        return -E2BIG;
+
+    if ( guest_handle_is_null(arg) ) /* Length request */
+        return sz;
+
+    if ( copy_from_guest(&user_str, arg, 1) )
+        return -EFAULT;
+
+    if ( user_str.len == 0 )
+        return -EINVAL;
+
+    if ( sz > user_str.len )
+        return -ENOBUFS;
+
+    if ( copy_to_guest_offset(arg, offsetof(struct xen_varbuf, buf),
+                              str, sz) )
+        return -EFAULT;
+
+    return sz;
+}
+
 long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     bool_t deny = !!xsm_xen_version(XSM_OTHER, cmd);
@@ -711,6 +765,14 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
         return sz;
     }
+
+    case XENVER_extraversion2:
+    case XENVER_capabilities2:
+    case XENVER_changeset2:
+    case XENVER_commandline2:
+        if ( deny )
+            return -EPERM;
+        return xenver_varbuf_op(cmd, arg);
     }
 
     return -ENOSYS;
diff --git a/xen/include/public/version.h b/xen/include/public/version.h
index cbc4ef7a46e6..0dd6bbcb43cc 100644
--- a/xen/include/public/version.h
+++ b/xen/include/public/version.h
@@ -19,12 +19,20 @@
 /* arg == NULL; returns major:minor (16:16). */
 #define XENVER_version      0
 
-/* arg == xen_extraversion_t. */
+/*
+ * arg == xen_extraversion_t.
+ *
+ * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
+ */
 #define XENVER_extraversion 1
 typedef char xen_extraversion_t[16];
 #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
 
-/* arg == xen_compile_info_t. */
+/*
+ * arg == xen_compile_info_t.
+ *
+ * This API/ABI is broken and truncates data.
+ */
 #define XENVER_compile_info 2
 struct xen_compile_info {
     char compiler[64];
@@ -34,10 +42,20 @@ struct xen_compile_info {
 };
 typedef struct xen_compile_info xen_compile_info_t;
 
+/*
+ * arg == xen_capabilities_info_t.
+ *
+ * This API/ABI is broken.  Use XENVER_capabilities2 where possible.
+ */
 #define XENVER_capabilities 3
 typedef char xen_capabilities_info_t[1024];
 #define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
 
+/*
+ * arg == xen_changeset_info_t.
+ *
+ * This API/ABI is broken.  Use XENVER_changeset2 where possible.
+ */
 #define XENVER_changeset 4
 typedef char xen_changeset_info_t[64];
 #define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
@@ -95,6 +113,11 @@ typedef struct xen_feature_info xen_feature_info_t;
  */
 #define XENVER_guest_handle 8
 
+/*
+ * arg == xen_commandline_t.
+ *
+ * This API/ABI is broken.  Use XENVER_commandline2 where possible.
+ */
 #define XENVER_commandline 9
 typedef char xen_commandline_t[1024];
 
@@ -110,6 +133,42 @@ struct xen_build_id {
 };
 typedef struct xen_build_id xen_build_id_t;
 
+/*
+ * Container for an arbitrary variable length buffer.
+ */
+struct xen_varbuf {
+    uint32_t len;                          /* IN:  size of buf[] in bytes. */
+    unsigned char buf[XEN_FLEX_ARRAY_DIM]; /* OUT: requested data.         */
+};
+typedef struct xen_varbuf xen_varbuf_t;
+
+/*
+ * arg == xen_varbuf_t
+ *
+ * Equivalent to the original ops, but with a non-truncating API/ABI.
+ *
+ * These hypercalls can fail for a number of reasons.  All callers must handle
+ * -XEN_xxx return values appropriately.
+ *
+ * Passing arg == NULL is a request for size, which will be signalled with a
+ * non-negative return value.  Note: a return size of 0 may be legitimate for
+ * the requested subop.
+ *
+ * Otherwise, the input xen_varbuf_t provides the size of the following
+ * buffer.  Xen will fill the buffer, and return the number of bytes written
+ * (e.g. if the input buffer was longer than necessary).
+ *
+ * Some subops may return binary data.  Some subops may be expected to return
+ * textural data.  These are returned without a NUL terminator, and while the
+ * contents is expected to be ASCII/UTF-8, Xen makes no guarentees to this
+ * effect.  e.g. Xen has no control over the formatting used for the command
+ * line.
+ */
+#define XENVER_extraversion2 11
+#define XENVER_capabilities2 12
+#define XENVER_changeset2    13
+#define XENVER_commandline2  14
+
 #endif /* __XEN_PUBLIC_VERSION_H__ */
 
 /*
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 9c41948514bf..a61ba85ed0ca 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -173,6 +173,7 @@
 ?	build_id                        version.h
 ?	compile_info                    version.h
 ?	feature_info                    version.h
+?	varbuf                          version.h
 ?	xenoprof_init			xenoprof.h
 ?	xenoprof_passive		xenoprof.h
 ?	flask_access			xsm/flask_op.h
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 8671af1ba4d3..a4a920f74e6e 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -828,9 +828,12 @@ static XSM_INLINE int cf_check xsm_xen_version(XSM_DEFAULT_ARG uint32_t op)
         block_speculation();
         return 0;
     case XENVER_extraversion:
+    case XENVER_extraversion2:
     case XENVER_compile_info:
     case XENVER_capabilities:
+    case XENVER_capabilities2:
     case XENVER_changeset:
+    case XENVER_changeset2:
     case XENVER_pagesize:
     case XENVER_guest_handle:
         /* These MUST always be accessible to any guest by default. */
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 78225f68c15c..a671dcd0322e 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1777,15 +1777,18 @@ static int cf_check flask_xen_version(uint32_t op)
         /* These sub-ops ignore the permission checks and return data. */
         return 0;
     case XENVER_extraversion:
+    case XENVER_extraversion2:
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_EXTRAVERSION, NULL);
     case XENVER_compile_info:
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_COMPILE_INFO, NULL);
     case XENVER_capabilities:
+    case XENVER_capabilities2:
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_CAPABILITIES, NULL);
     case XENVER_changeset:
+    case XENVER_changeset2:
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_CHANGESET, NULL);
     case XENVER_pagesize:
@@ -1795,6 +1798,7 @@ static int cf_check flask_xen_version(uint32_t op)
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_GUEST_HANDLE, NULL);
     case XENVER_commandline:
+    case XENVER_commandline2:
         return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
                             VERSION__XEN_COMMANDLINE, NULL);
     case XENVER_build_id:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584056.914512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fw-0006Cc-QS; Tue, 15 Aug 2023 21:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584056.914512; Tue, 15 Aug 2023 21:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fw-0006Bo-FT; Tue, 15 Aug 2023 21:07:12 +0000
Received: by outflank-mailman (input) for mailman id 584056;
 Tue, 15 Aug 2023 21:07: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fu-0004qk-LA
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:10 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b094ce54-3baf-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 23:07: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: b094ce54-3baf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133627;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=pvCFpUc1O5soqHuUC/SvS++8o+N6bC9fqekuul4E2RI=;
  b=JMn/SVA5PuSUjdewXO2mLE+RiIegbHMtYmxy4C0k1JCFdi6vf8XBHL4B
   VUqzfFzsctw9rjB4uqqdOag5RwX0he1Fx8YkEIW5RbFfc8dK+vK9tysRL
   fIx7FNOktEDzeLwXGtc1XCoS0iNRCVgRA49sJEvyKn/BGrcYwu7a/bbUb
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118850005
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:xvg/FKDNpFKUchVW/z7jw5YqxClBgxIJ4kV8jS/XYbTApDkh0TYHn
 2RKWD+DP6rZM2X0f49xOYTl8EsPu8WDyoIxQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNB4wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwp/Z5LV1qy
 vciBgtcPhu9ve+a3qC/Vbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4XaFZgNxh7Fz
 o7A1zm6WhNFD+O28hSY+3yTgODskgjxYqtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFabujYMVtwWFPc1gCmPxbDT+B2xHXUfQ3hKb9lOiSMtbWV0j
 BnTxYqvXGEx9uTPEhpx64t4sxvvKSY5EUs9bhUqdlpV6OfZra0tnBbQG4ML/LGOsvX5HjT5w
 javpSc4hqkOgcNj65hX7WwrkBr3+MGXE1ddChH/Gzv8s1gnPNLNi5mAswCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83sJrWnFF52LJ9o4DNRCyKBBa59sRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QfOMErKFPWo3E3NSZ8OlwBd2B2zckC1
 WqzK57wXR7294w2pNZJewvt+eBynX1vrY8ibZv60w6mwdKjiI29EN843K+1Rrlhtsus+VyFm
 +uzwuPWk32zpsWiOHiImWPSRHhWRUUG6Wfe8JEKK7LbeFQ5QAnMyZb5mNscRmCspIwN/s+gw
 513chUwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:U805/K1+pLGA5+nhizu9lQqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-Talos-CUID: 9a23:gQU59Wygnj7WDSPzZpkjBgVJCs4JTlnix03+GB7oAlhTRZGLW1uPrfY=
X-Talos-MUID: =?us-ascii?q?9a23=3AhVBQaQ8V6/dY/r0uRVz4uY2Qf5oru6bxM38kqrs?=
 =?us-ascii?q?bsse7MyNTNByXth3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118850005"
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>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [PATCH v3 05/10] tools/libxc: Move xc_version() out of xc_private.c into its own file
Date: Tue, 15 Aug 2023 22:06:45 +0100
Message-ID: <20230815210650.2735671-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

kexec-tools uses xc_version(), meaning that it is not a private API.  As we're
going to extend the functionality substantially, move it to its own file.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
 tools/libs/ctrl/Makefile.common |  1 +
 tools/libs/ctrl/xc_private.c    | 66 --------------------------
 tools/libs/ctrl/xc_private.h    |  7 ---
 tools/libs/ctrl/xc_version.c    | 83 +++++++++++++++++++++++++++++++++
 4 files changed, 84 insertions(+), 73 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_version.c

diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
index 0a09c28fd369..4e3680c123f6 100644
--- a/tools/libs/ctrl/Makefile.common
+++ b/tools/libs/ctrl/Makefile.common
@@ -16,6 +16,7 @@ OBJS-y       += xc_pm.o
 OBJS-y       += xc_cpu_hotplug.o
 OBJS-y       += xc_vm_event.o
 OBJS-y       += xc_vmtrace.o
+OBJS-y       += xc_version.o
 OBJS-y       += xc_monitor.o
 OBJS-y       += xc_mem_paging.o
 OBJS-y       += xc_mem_access.o
diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index 6293a45531d8..fd4a13a57a9d 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -490,72 +490,6 @@ int xc_sysctl(xc_interface *xch, struct xen_sysctl *sysctl)
     return do_sysctl(xch, sysctl);
 }
 
-int xc_version(xc_interface *xch, int cmd, void *arg)
-{
-    DECLARE_HYPERCALL_BOUNCE(arg, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT); /* Size unknown until cmd decoded */
-    size_t sz;
-    int rc;
-
-    switch ( cmd )
-    {
-    case XENVER_version:
-        sz = 0;
-        break;
-    case XENVER_extraversion:
-        sz = sizeof(xen_extraversion_t);
-        break;
-    case XENVER_compile_info:
-        sz = sizeof(xen_compile_info_t);
-        break;
-    case XENVER_capabilities:
-        sz = sizeof(xen_capabilities_info_t);
-        break;
-    case XENVER_changeset:
-        sz = sizeof(xen_changeset_info_t);
-        break;
-    case XENVER_platform_parameters:
-        sz = sizeof(xen_platform_parameters_t);
-        break;
-    case XENVER_get_features:
-        sz = sizeof(xen_feature_info_t);
-        break;
-    case XENVER_pagesize:
-        sz = 0;
-        break;
-    case XENVER_guest_handle:
-        sz = sizeof(xen_domain_handle_t);
-        break;
-    case XENVER_commandline:
-        sz = sizeof(xen_commandline_t);
-        break;
-    case XENVER_build_id:
-        {
-            xen_build_id_t *build_id = (xen_build_id_t *)arg;
-            sz = sizeof(*build_id) + build_id->len;
-            HYPERCALL_BOUNCE_SET_DIR(arg, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
-            break;
-        }
-    default:
-        ERROR("xc_version: unknown command %d\n", cmd);
-        return -EINVAL;
-    }
-
-    HYPERCALL_BOUNCE_SET_SIZE(arg, sz);
-
-    if ( (sz != 0) && xc_hypercall_bounce_pre(xch, arg) )
-    {
-        PERROR("Could not bounce buffer for version hypercall");
-        return -ENOMEM;
-    }
-
-    rc = do_xen_version(xch, cmd, HYPERCALL_BUFFER(arg));
-
-    if ( sz != 0 )
-        xc_hypercall_bounce_post(xch, arg);
-
-    return rc;
-}
-
 unsigned long xc_make_page_below_4G(
     xc_interface *xch, uint32_t domid, unsigned long mfn)
 {
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index 8faabaea67f3..754da8840979 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -216,13 +216,6 @@ void xc__hypercall_buffer_cache_release(xc_interface *xch);
  * Hypercall interfaces.
  */
 
-static inline int do_xen_version(xc_interface *xch, int cmd, xc_hypercall_buffer_t *dest)
-{
-    DECLARE_HYPERCALL_BUFFER_ARGUMENT(dest);
-    return xencall2(xch->xcall, __HYPERVISOR_xen_version,
-                    cmd, HYPERCALL_BUFFER_AS_ARG(dest));
-}
-
 static inline int do_physdev_op(xc_interface *xch, int cmd, void *op, size_t len)
 {
     int ret = -1;
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
new file mode 100644
index 000000000000..60e107dcee0b
--- /dev/null
+++ b/tools/libs/ctrl/xc_version.c
@@ -0,0 +1,83 @@
+/* SPDX-License-Identifier: LGPL-2.1 */
+/*
+ * xc_version.c
+ *
+ * Wrappers aound XENVER_* hypercalls
+ */
+
+#include "xc_private.h"
+#include <assert.h>
+
+static int do_xen_version(xc_interface *xch, int cmd,
+                          xc_hypercall_buffer_t *dest)
+{
+    DECLARE_HYPERCALL_BUFFER_ARGUMENT(dest);
+    return xencall2(xch->xcall, __HYPERVISOR_xen_version,
+                    cmd, HYPERCALL_BUFFER_AS_ARG(dest));
+}
+
+int xc_version(xc_interface *xch, int cmd, void *arg)
+{
+    DECLARE_HYPERCALL_BOUNCE(arg, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT); /* Size unknown until cmd decoded */
+    size_t sz;
+    int rc;
+
+    switch ( cmd )
+    {
+    case XENVER_version:
+        sz = 0;
+        break;
+    case XENVER_extraversion:
+        sz = sizeof(xen_extraversion_t);
+        break;
+    case XENVER_compile_info:
+        sz = sizeof(xen_compile_info_t);
+        break;
+    case XENVER_capabilities:
+        sz = sizeof(xen_capabilities_info_t);
+        break;
+    case XENVER_changeset:
+        sz = sizeof(xen_changeset_info_t);
+        break;
+    case XENVER_platform_parameters:
+        sz = sizeof(xen_platform_parameters_t);
+        break;
+    case XENVER_get_features:
+        sz = sizeof(xen_feature_info_t);
+        break;
+    case XENVER_pagesize:
+        sz = 0;
+        break;
+    case XENVER_guest_handle:
+        sz = sizeof(xen_domain_handle_t);
+        break;
+    case XENVER_commandline:
+        sz = sizeof(xen_commandline_t);
+        break;
+    case XENVER_build_id:
+        {
+            xen_build_id_t *build_id = (xen_build_id_t *)arg;
+            sz = sizeof(*build_id) + build_id->len;
+            HYPERCALL_BOUNCE_SET_DIR(arg, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
+            break;
+        }
+    default:
+        ERROR("xc_version: unknown command %d\n", cmd);
+        return -EINVAL;
+    }
+
+    HYPERCALL_BOUNCE_SET_SIZE(arg, sz);
+
+    if ( (sz != 0) && xc_hypercall_bounce_pre(xch, arg) )
+    {
+        PERROR("Could not bounce buffer for version hypercall");
+        return -ENOMEM;
+    }
+
+    rc = do_xen_version(xch, cmd, HYPERCALL_BUFFER(arg));
+
+    if ( sz != 0 )
+        xc_hypercall_bounce_post(xch, arg);
+
+    return rc;
+}
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584055.914491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fv-0005dC-AU; Tue, 15 Aug 2023 21:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584055.914491; Tue, 15 Aug 2023 21:07:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fv-0005av-3S; Tue, 15 Aug 2023 21:07:11 +0000
Received: by outflank-mailman (input) for mailman id 584055;
 Tue, 15 Aug 2023 21:07: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Ft-0004qk-Kq
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:09 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0d4e002-3baf-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 23:07: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: b0d4e002-3baf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133626;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qzXigZ6hXPFsDOHOuxIekBwLTryZ1iaTCSKXT6kUlnI=;
  b=LOAthxilyAE/ata8/q8UqQ02quS/uUyvPCQP/wOLxZKNaJEnJc+uH0Fd
   sX+FxojshNljcR56wB/muu3gBh4MPYUWf17mhZNzVruekIh6ZdPO5TghS
   1RmA1T5YlR6DI7QnlHn6ay0ON+HquTAOPCEiZLb4msBv9P0FpiD+TiPVQ
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119588440
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:8jSiAqJ4shr4rEbhFE+RTZUlxSXFcZb7ZxGr2PjKsXjdYENS1jMPz
 TBOXGjUaayLNGCge9x2bIS/8hkPv8LSytMyQAJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gVjPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5UG1lQy
 OIoCwkHRQqaquSv8KudEuJj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJQIzhbE+
 jquE2LRBj1FGe2x5zm5zVGGiMrFwQDWVokLPejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslhwWVsdUEuY6wBqQ0aeS6AGcbkAfVSJIYtEisM4wRBQp2
 0WPktevAiZg2JWKTVqN+7HSqim9UQAXMGsDaCksXQYDpd75r+kbgh3DQ9l5GYapn9b1Hnf22
 DnMoy8g750fldUO1rm71Vnfjiiwu4PSSQoo+gTQWHnj5QR8DKanboqk80nG7t5PKY+YSh+Ku
 31ss+iT6vofS66EkiOlSf8IWrqu4p643Cb02AA1WcN7rnL0piDlJNoLiN1jGKt3GuUeQSHUf
 n/wgAl6/oZ+OmKadIkvaI3kXqzG0pPcPdjiU/nVaP9HbZ5waBKL8UlSWKKA44z+uBNyyP9iY
 P93Ze7pVC9HUvo/kFJaUs9HidcWKjYCKXQ/rHwR5zCuyvKgaXGcUt/p23PeP7livMtoTOg4m
 uuz1vdmKT0FDYUSgQGNq+b/yGzmylBiXPjLRzR/LLLrH+afMDhJ5wXt6b0gYZd5uK9ei/3F+
 HqwMmcBlgul3CebdVTVOikzAF8KYXqYhShnVRHAwH7ygyRzCWpRxPZ3m2QLkUkPq7U4kK8co
 wgtcMScGPVfIgkrCBxEBaQRWLdKLUzx7SrXZnrNXdTKV8I4L+A/0oO+L1SHGehnJnbfiPbSV
 JX7i16GHcJZGVs6ZCsUAdr2p26MUbEmsLoadyP1zhN7IS0ALKACx/TNs8IK
IronPort-HdrOrdr: A9a23:Wm07g6xZ8HR7p8MaK0beKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZImPH7P+U4ssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkGNDSaNzlHZKjBjzVQa+xQouW6zA==
X-Talos-CUID: 9a23:Ny2t0G43/rFL4S2LZ9ss11QsBP07Ql7kxlzKOmK+EFZwbuWeRgrF
X-Talos-MUID: 9a23:7q7u5AUW1BcUaY7q/DvA2xxTGulr35uNIk4om8kllsePLAUlbg==
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119588440"
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>, George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
	<JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Julien Grall <julien@xen.org>, Daniel De Graaf
	<dgdegra@tycho.nsa.gov>, Daniel Smith <dpsmith@apertussolutions.com>, "Jason
 Andryuk" <jandryuk@gmail.com>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v3 04/10] xen/version: Misc style fixes
Date: Tue, 15 Aug 2023 22:06:44 +0100
Message-ID: <20230815210650.2735671-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Daniel De Graaf <dgdegra@tycho.nsa.gov>
CC: Daniel Smith <dpsmith@apertussolutions.com>
CC: Jason Andryuk <jandryuk@gmail.com>
CC: Henry Wang <Henry.Wang@arm.com>
---
 xen/common/kernel.c  | 11 +++++------
 xen/common/version.c |  4 ++--
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 4a051be1cbe0..24e778a44f7b 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -1,6 +1,6 @@
 /******************************************************************************
  * kernel.c
- * 
+ *
  * Copyright (c) 2002-2005 K A Fraser
  */
 
@@ -568,7 +568,7 @@ static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
 long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
-    bool_t deny = !!xsm_xen_version(XSM_OTHER, cmd);
+    bool deny = xsm_xen_version(XSM_OTHER, cmd);
 
     switch ( cmd )
     {
@@ -612,7 +612,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             return -EFAULT;
         return 0;
     }
-    
+
     case XENVER_platform_parameters:
     {
         const struct vcpu *curr = current;
@@ -651,9 +651,8 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         }
 
         return 0;
-        
     }
-    
+
     case XENVER_changeset:
     {
         xen_changeset_info_t chgset;
@@ -680,7 +679,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             if ( VM_ASSIST(d, pae_extended_cr3) )
                 fi.submap |= (1U << XENFEAT_pae_pgdir_above_4gb);
             if ( paging_mode_translate(d) )
-                fi.submap |= 
+                fi.submap |=
                     (1U << XENFEAT_writable_page_tables) |
                     (1U << XENFEAT_auto_translated_physmap);
             if ( is_hardware_domain(d) )
diff --git a/xen/common/version.c b/xen/common/version.c
index d32013520863..8e738672debe 100644
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -209,11 +209,11 @@ void __init xen_build_init(void)
             }
         }
     }
-#endif
+#endif /* CONFIG_X86 */
     if ( !rc )
         printk(XENLOG_INFO "build-id: %*phN\n", build_id_len, build_id_p);
 }
-#endif
+#endif /* BUILD_ID */
 /*
  * Local variables:
  * mode: C
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584053.914479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fu-0005Mk-Fu; Tue, 15 Aug 2023 21:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584053.914479; Tue, 15 Aug 2023 21: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 1qW1Fu-0005KS-6k; Tue, 15 Aug 2023 21:07:10 +0000
Received: by outflank-mailman (input) for mailman id 584053;
 Tue, 15 Aug 2023 21:07: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fs-0004ge-DC
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:08 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b087b55d-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07: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: b087b55d-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133626;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=hU8HFMYeVIQ0k7mr1+LByODOt5SbiNcRsTDvsxssU9Q=;
  b=XU5OWBGuMqL93RvpwGAXyUpdNVjrTzFSFu+Z9Silyg8Bh2pYOVvBsBwA
   M/dmYW7EN1Zi8X7sAqeCGEc007AWsX1Fjj1gSWmGYC/Jg8wm0I+I3pXV+
   Nf6O5/oBERQM5Z+kQbz3g8b2uejxQrkL1eZSAG7xQJ8sNWlQKlH4resSa
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119453630
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:69iqWq8nIenRqyUK5pURDrUDpn6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 WQfXG7TafeKZmfxftt0O46x8UICsMLRz4M3SQQ4pSE8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNakW5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkN9
 dsdGjRcYymq3dzo7+mja8Q8lsIseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxxfE+
 zmYpDyR7hcyBuWF2CSUsXCXicyfxTP5Y64bJLaxz6s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c8VUO/037keK0KW8ywSWHG8fVRZadccr8sQxQFQC2
 laXkvvzCDdosbnTTmiSnop4thvrZ3JTdzVbI3ZZE01cuYKLTJwPYgznDdZEFZyx39DMMGvOn
 R/RtAkT16UVgptev0mkxmzvjzWpr5nPawc64ATLQ26ohj9EiJ6Zi5+AsgaCs6sZRGqNZhzY5
 SVfxZDChAwbJcvV/BFhVtnhC11ACxytFDTHyWBiEJA6n9hG0y7yJNsAiN2SyaoADyrlRdMLS
 BWO0e+yzMUJVJdPUUOQS9voY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhha
 M3CK5rwXClKUPQPIN+KqwA1i+ND+8zD7TmLGcCTI+qPgNJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3Cid540w3bQEKWQGOqdR7BQlTfRAG6WXe95Q/mhirflA3RwnMypb5ndscRmCSt/8Iy7qUp
 ivjBRcwJZiWrSSvFDhmo0tLMNvHNauTZ1piVcDwFT5EA0QeXLs=
IronPort-HdrOrdr: A9a23:8zzviK5Xk5OeMwUwTgPXwPfXdLJyesId70hD6qm+c20tTiX4rb
 HXoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp
 uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
X-Talos-CUID: 9a23:BgvHsm1aIEQnRj6B+2wU6rxfWcACd0/ZnXrpChWGV0kyUJy4GU+W9/Yx
X-Talos-MUID: 9a23:0qnWiQm8x5G/5/tBbmPadnpQDd15/bXtCnsCssVeq8u/GSVAMD6k2WE=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119453630"
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>, Christian Lindig <christian.lindig@citrix.com>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>, David Scott
	<dave@recoil.org>, Edwin Torok <edvin.torok@citrix.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH v3 08/10] tools: Introduce a non-truncating xc_xenver_changeset()
Date: Tue, 15 Aug 2023 22:06:48 +0100
Message-ID: <20230815210650.2735671-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Update libxl and the ocaml stubs to match.  No API/ABI change in either.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Torok <edvin.torok@citrix.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>
---
 tools/include/xenctrl.h             |  1 +
 tools/libs/ctrl/xc_version.c        |  5 +++++
 tools/libs/light/libxl.c            |  5 +----
 tools/ocaml/libs/xc/xenctrl_stubs.c | 19 ++++++++-----------
 4 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 9bd5eed7397a..0400d65acaed 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1599,6 +1599,7 @@ int xc_version(xc_interface *xch, int cmd, void *arg);
  */
 char *xc_xenver_extraversion(xc_interface *xch);
 char *xc_xenver_capabilities(xc_interface *xch);
+char *xc_xenver_changeset(xc_interface *xch);
 
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);
 
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
index 512302a393ea..9f2cae03dba8 100644
--- a/tools/libs/ctrl/xc_version.c
+++ b/tools/libs/ctrl/xc_version.c
@@ -161,3 +161,8 @@ char *xc_xenver_capabilities(xc_interface *xch)
 {
     return varbuf_simple_string(xch, XENVER_capabilities2);
 }
+
+char *xc_xenver_changeset(xc_interface *xch)
+{
+    return varbuf_simple_string(xch, XENVER_changeset2);
+}
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index ae6c5e04cd59..9a3532ce139a 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -583,7 +583,6 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     GC_INIT(ctx);
     union {
         xen_compile_info_t xen_cc;
-        xen_changeset_info_t xen_chgset;
         xen_platform_parameters_t p_parms;
         xen_commandline_t xen_commandline;
         xen_build_id_t build_id;
@@ -608,9 +607,7 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->compile_date = libxl__strdup(NOGC, u.xen_cc.compile_date);
 
     info->capabilities = xc_xenver_capabilities(ctx->xch);
-
-    xc_version(ctx->xch, XENVER_changeset, &u.xen_chgset);
-    info->changeset = libxl__strdup(NOGC, u.xen_chgset);
+    info->changeset = xc_xenver_changeset(ctx->xch);
 
     xc_version(ctx->xch, XENVER_platform_parameters, &u.p_parms);
     info->virt_start = u.p_parms.virt_start;
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index e8da7d18d29d..8495d5bd9892 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -1035,28 +1035,25 @@ CAMLprim value stub_xc_version_compile_info(value xch_val)
 }
 
 
-static value xc_version_single_string(value xch_val, int code, void *info)
+CAMLprim value stub_xc_version_changeset(value xch_val)
 {
 	CAMLparam1(xch_val);
+	CAMLlocal1(result);
 	xc_interface *xch = xch_of_val(xch_val);
-	int retval;
+	char *changeset;
 
 	caml_enter_blocking_section();
-	retval = xc_version(xch, code, info);
+	changeset = xc_xenver_changeset(xch);
 	caml_leave_blocking_section();
 
-	if (retval)
+	if (!changeset)
 		failwith_xc(xch);
 
-	CAMLreturn(caml_copy_string((char *)info));
-}
+	result = caml_copy_string(changeset);
 
+	free(changeset);
 
-CAMLprim value stub_xc_version_changeset(value xch_val)
-{
-	xen_changeset_info_t ci;
-
-	return xc_version_single_string(xch_val, XENVER_changeset, &ci);
+	CAMLreturn(result);
 }
 
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584054.914488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fv-0005ZE-4f; Tue, 15 Aug 2023 21:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584054.914488; Tue, 15 Aug 2023 21:07:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fu-0005Ts-O2; Tue, 15 Aug 2023 21:07:10 +0000
Received: by outflank-mailman (input) for mailman id 584054;
 Tue, 15 Aug 2023 21: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fs-0004qk-Ko
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:08 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0b6284e-3baf-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 23:07: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: b0b6284e-3baf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133626;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dRvwwNb8arl9aVga2t5ciWeg5th+ph8XwiUFmV/rbr4=;
  b=c2mXirnT7wS3v93MUQUCojRHB+eWnY8BVvFiblvC0AvdxwvMRfcNn3h/
   AlaCa1XbyTIoIDzB//IfFvDKsXbBVgze4kdITBQ76vbh1NRnx7J18YORG
   LWUCSmL1BO5Ogld3vb8MIWtIODTZLj0btFr4wHyCoW34zQuJSCa87XkHw
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119453631
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:vUCRTayYtdJSHQzhxgV6t+cgxirEfRIJ4+MujC+fZmUNrF6WrkUAy
 WAaXmmGO/aLNmf0eIogbt/jpEtXv5TTzN9kHgJt/CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPK0T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KSJO0
 vkqLGEAVznZubyZm6qaZ7l8gMt2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwMzxrF/
 TydpgwVBDkLc9DE0jGPq0mNm+rKsx3nX7tJEKOno6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0RN54A+A8rgaXxcL84QmDAXMfZiVcc9Fgv8gzLQHGz
 XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9bm8lYB0AHAY8yoPd/q5oljPiHsZlH/vg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yT+FWyzyGskTKuMDirjUWawC
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvJVXepn0yNBHAhjCFfK0QfUYXY
 8vzTCpRJSxCVfQPIMSeFo/xLoPHNghhnDiOFPgXPjys0KaEZW79dFv2GALmUwzN14vd+F+92
 48GZ6O3J+B3DLWWjt//rdRCcjjn7BETWfjLliCgXrXef1c6QDt/VKe5LHFIU9UNopm5X9zgp
 hmVMnK0AnKm7ZEbAW1mskxeVY4=
IronPort-HdrOrdr: A9a23:M/qVTqnTOGIf9KV4PNn0UvBAmGHpDfIT3DAbv31ZSRFFG/FwWf
 re5cjztCWE8Ar5PUtLpTnuAtjkfZqxz+8W3WBVB8bAYOCEggqVxeNZnO/fKlTbckWUygce78
 ddmsNFebrN5DZB/KDHCcqDf+rIAuPrzEllv4jjJr5WIz1XVw==
X-Talos-CUID: 9a23:wAYWDmApH8Ma4qj6E2pn00smHpEoS1SH8in/eFeZJDZ5TrLAHA==
X-Talos-MUID: 9a23:6GBvnguAF02CcPc2gM2nlXZub9xj6f2VKV0IlLs4p869bihuJGLI
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119453631"
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>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [PATCH v3 09/10] tools: Introduce a non-truncating xc_xenver_cmdline()
Date: Tue, 15 Aug 2023 22:06:49 +0100
Message-ID: <20230815210650.2735671-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Update libxl to match.  No API/ABI change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
 tools/include/xenctrl.h      | 1 +
 tools/libs/ctrl/xc_version.c | 5 +++++
 tools/libs/light/libxl.c     | 4 +---
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 0400d65acaed..1b6f2ac508e0 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1600,6 +1600,7 @@ int xc_version(xc_interface *xch, int cmd, void *arg);
 char *xc_xenver_extraversion(xc_interface *xch);
 char *xc_xenver_capabilities(xc_interface *xch);
 char *xc_xenver_changeset(xc_interface *xch);
+char *xc_xenver_commandline(xc_interface *xch);
 
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);
 
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
index 9f2cae03dba8..02f6e9551b57 100644
--- a/tools/libs/ctrl/xc_version.c
+++ b/tools/libs/ctrl/xc_version.c
@@ -166,3 +166,8 @@ char *xc_xenver_changeset(xc_interface *xch)
 {
     return varbuf_simple_string(xch, XENVER_changeset2);
 }
+
+char *xc_xenver_commandline(xc_interface *xch)
+{
+    return varbuf_simple_string(xch, XENVER_commandline2);
+}
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 9a3532ce139a..04f037f3c199 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -584,7 +584,6 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     union {
         xen_compile_info_t xen_cc;
         xen_platform_parameters_t p_parms;
-        xen_commandline_t xen_commandline;
         xen_build_id_t build_id;
     } u;
     long xen_version;
@@ -614,8 +613,7 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 
     info->pagesize = xc_version(ctx->xch, XENVER_pagesize, NULL);
 
-    xc_version(ctx->xch, XENVER_commandline, &u.xen_commandline);
-    info->commandline = libxl__strdup(NOGC, u.xen_commandline);
+    info->commandline = xc_xenver_commandline(ctx->xch);
 
     u.build_id.len = sizeof(u) - sizeof(u.build_id);
     r = libxl__xc_version_wrap(gc, info, &u.build_id);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584050.914457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fr-0004vt-Gt; Tue, 15 Aug 2023 21:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584050.914457; Tue, 15 Aug 2023 21:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fr-0004vm-E0; Tue, 15 Aug 2023 21:07:07 +0000
Received: by outflank-mailman (input) for mailman id 584050;
 Tue, 15 Aug 2023 21:07:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fq-0004ge-6g
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:06 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af2461fc-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07: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: af2461fc-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133623;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UfkZMvSTOydVLRxmNKDfbvQp7DAjMWPXLA54Fw2pmto=;
  b=ijKlaDeGUs13HcRyMUVCGSOtvCd+A6K8N2Ev563mfVWFvgGSFmuIt0wL
   cukszLs9/vBBThz+WUoFauWvjOIABGqX6GsEC2IbqE0X7JnSrUUox9eVM
   V3T4P+oVlMnYOB+s8BD7BCqRFKttySQruuqo01aL8yGyz3+o5Jeu1y0xb
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119453628
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:H1Vrx6IVD80HczSpFE+R95UlxSXFcZb7ZxGr2PjKsXjdYENS0jEAm
 zFOXzvUM6qLZDT9f9F+YIy2/EgH7ZfQzNdgQQplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gVjPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c40AUZLx
 /hJJQkkNC7dqLmu4Z/rWu9j05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJQJwx3G/
 DKuE2LRXxU8ZIydzhO/0iy11ubtpzzpeY8OPejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslgEYc8pdFas98g7l4qjb+QGCHUAfUyVMLtchsaceSTU02
 3eTktjuBDgpt6eaIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8bzRLoS+RnQaOMp4fLRx6r2
 xGn/Dg4iOBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWW0C
 KMwkVkLjHO2AJdNRfYuC79d8+xwkcDd+S3ND5g4lOZmbJlrbxOg9ypzf0OW1G2FuBFywPtmY
 8vHIJn8VCZy5UFbIN2eHbt17FPW7npmmTO7qW7TnnxLLoZylFbKEOxYYTNin8gy7b+eoRW9z
 jqsH5Li9vmra8WnOnO/2ddKfTg3wY0TWcieRzp/KrTSfWKL2QgJV5fs/F/WU9c4wvkJzr2Wo
 SnVt40x4AOXuEAr4D6iMhhLAI4Dl74mxZ7nFUTA5WqV5kU=
IronPort-HdrOrdr: A9a23:AqPREaCW22JhPBblHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/
 xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM
 lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ==
X-Talos-CUID: 9a23:3/37WWH4VcIZJng7qmIk9GkRKMR0f0T0lkmODBSgKEs5WLuaHAo=
X-Talos-MUID: 9a23:EI/1GQrolkXybKTE5Xsez2xmEpc44aOHMmBTiMUPmfObJw19Jx7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119453628"
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>, Christian Lindig <christian.lindig@citrix.com>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>, David Scott
	<dave@recoil.org>, Edwin Torok <edvin.torok@citrix.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH v3 06/10] tools: Introduce a non-truncating xc_xenver_extraversion()
Date: Tue, 15 Aug 2023 22:06:46 +0100
Message-ID: <20230815210650.2735671-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

... which uses XENVER_extraversion2.

In order to do sensibly, use manual hypercall buffer handling.  Not only does
this avoid an extra bounce buffer (we need to strip the xen_varbuf_t header
anyway), it's also shorter and easlier to follow.

Update libxl and the ocaml stubs to match.  No API/ABI change in either.

With this change made, `xl info` can now correctly access a >15 char
extraversion:

  # xl info xen_version
  4.18-unstable+REALLY LONG EXTRAVERSION

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Torok <edvin.torok@citrix.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>

Note: There is a marginal risk for a memory leak in the ocaml bindings, but
it turns out we have the same bug elsewhere and fixing that is going to be
rather complicated.
---
 tools/include/xenctrl.h             |  6 +++
 tools/libs/ctrl/xc_version.c        | 75 +++++++++++++++++++++++++++++
 tools/libs/light/libxl.c            |  4 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c |  9 ++--
 4 files changed, 87 insertions(+), 7 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index faec1dd82453..b839196bf4c4 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1593,6 +1593,12 @@ long xc_memory_op(xc_interface *xch, unsigned int cmd, void *arg, size_t len);
 
 int xc_version(xc_interface *xch, int cmd, void *arg);
 
+/*
+ * Wrappers around XENVER_* subops.  Callers must pass the returned pointer to
+ * free().
+ */
+char *xc_xenver_extraversion(xc_interface *xch);
+
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);
 
 /*
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
index 60e107dcee0b..2c14474feec5 100644
--- a/tools/libs/ctrl/xc_version.c
+++ b/tools/libs/ctrl/xc_version.c
@@ -81,3 +81,78 @@ int xc_version(xc_interface *xch, int cmd, void *arg)
 
     return rc;
 }
+
+/*
+ * Raw hypercall wrapper, letting us pass NULL and things which aren't of
+ * xc_hypercall_buffer_t *.
+ */
+static int do_xen_version_raw(xc_interface *xch, int cmd, void *hbuf)
+{
+    return xencall2(xch->xcall, __HYPERVISOR_xen_version,
+                    cmd, (unsigned long)hbuf);
+}
+
+/*
+ * Issues a xen_varbuf_t subop, using manual hypercall buffer handling to
+ * avoid unnecessary buffering.
+ *
+ * On failure, returns NULL.  errno probably useful.
+ * On success, returns a pointer which must be freed with xencall_free_buffer().
+ */
+static xen_varbuf_t *varbuf_op(xc_interface *xch, unsigned int subop)
+{
+    xen_varbuf_t *hbuf = NULL;
+    ssize_t sz;
+
+    sz = do_xen_version_raw(xch, subop, NULL);
+    if ( sz < 0 )
+        return NULL;
+
+    hbuf = xencall_alloc_buffer(xch->xcall, sizeof(*hbuf) + sz);
+    if ( !hbuf )
+        return NULL;
+
+    hbuf->len = sz;
+
+    sz = do_xen_version_raw(xch, subop, hbuf);
+    if ( sz < 0 )
+    {
+        xencall_free_buffer(xch->xcall, hbuf);
+        return NULL;
+    }
+
+    hbuf->len = sz;
+    return hbuf;
+}
+
+/*
+ * Wrap varbuf_op() to obtain a simple string.  Copy out of the hypercall
+ * buffer, stripping the xen_varbuf_t header and appending a NUL terminator.
+ *
+ * On failure, returns NULL, errno probably useful.
+ * On success, returns a pointer which must be free()'d.
+ */
+static char *varbuf_simple_string(xc_interface *xch, unsigned int subop)
+{
+    xen_varbuf_t *hbuf = varbuf_op(xch, subop);
+    char *res;
+
+    if ( !hbuf )
+        return NULL;
+
+    res = malloc(hbuf->len + 1);
+    if ( res )
+    {
+        memcpy(res, hbuf->buf, hbuf->len);
+        res[hbuf->len] = '\0';
+    }
+
+    xencall_free_buffer(xch->xcall, hbuf);
+
+    return res;
+}
+
+char *xc_xenver_extraversion(xc_interface *xch)
+{
+    return varbuf_simple_string(xch, XENVER_extraversion2);
+}
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 175d6dde0b80..f91f7271d5bf 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -582,7 +582,6 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
     GC_INIT(ctx);
     union {
-        xen_extraversion_t xen_extra;
         xen_compile_info_t xen_cc;
         xen_changeset_info_t xen_chgset;
         xen_capabilities_info_t xen_caps;
@@ -601,8 +600,7 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->xen_version_major = xen_version >> 16;
     info->xen_version_minor = xen_version & 0xFF;
 
-    xc_version(ctx->xch, XENVER_extraversion, &u.xen_extra);
-    info->xen_version_extra = libxl__strdup(NOGC, u.xen_extra);
+    info->xen_version_extra = xc_xenver_extraversion(ctx->xch);
 
     xc_version(ctx->xch, XENVER_compile_info, &u.xen_cc);
     info->compiler = libxl__strdup(NOGC, u.xen_cc.compiler);
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 3703f48c74d1..379a7935a145 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -980,9 +980,8 @@ CAMLprim value stub_xc_version_version(value xch_val)
 	CAMLparam1(xch_val);
 	CAMLlocal1(result);
 	xc_interface *xch = xch_of_val(xch_val);
-	xen_extraversion_t extra;
+	char *extra;
 	long packed;
-	int retval;
 
 	caml_enter_blocking_section();
 	packed = xc_version(xch, XENVER_version, NULL);
@@ -992,10 +991,10 @@ CAMLprim value stub_xc_version_version(value xch_val)
 		failwith_xc(xch);
 
 	caml_enter_blocking_section();
-	retval = xc_version(xch, XENVER_extraversion, &extra);
+	extra = xc_xenver_extraversion(xch);
 	caml_leave_blocking_section();
 
-	if (retval)
+	if (!extra)
 		failwith_xc(xch);
 
 	result = caml_alloc_tuple(3);
@@ -1004,6 +1003,8 @@ CAMLprim value stub_xc_version_version(value xch_val)
 	Store_field(result, 1, Val_int(packed & 0xffff));
 	Store_field(result, 2, caml_copy_string(extra));
 
+	free(extra);
+
 	CAMLreturn(result);
 }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584058.914536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fz-0006xI-4a; Tue, 15 Aug 2023 21:07:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584058.914536; Tue, 15 Aug 2023 21:07:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fy-0006wV-RZ; Tue, 15 Aug 2023 21:07:14 +0000
Received: by outflank-mailman (input) for mailman id 584058;
 Tue, 15 Aug 2023 21:07: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fx-0004ge-OZ
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:13 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3a99d6a-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3a99d6a-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133631;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=T+zneU/ODd9BEL6CProAShU+q6Ysw7Qx5ZvQuObYDv8=;
  b=fL+kq3irB6oK5cXs86k341plqlccLVufi5zKnRxd/N+Q/YlQ8Lc0jaOf
   6ro+ZXsW0kXr97ht/RvEHSoxvCalu/Y4pZd1xwHkOLIsyb0WRMce1/8Kf
   rk2dlPCiA3ncDnbHEsRZw1RYqKL8aQQ8BuSyxtRNH5axK+A+/H96WVf+9
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118253079
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:FoW9dqAbQG759xVW/2jkw5YqxClBgxIJ4kV8jS/XYbTApG4l1jVRx
 mZND2qCPanYYWPxLd92bdyy9E0DvceEzNIxQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNB4wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw8OFXQmVw/
 LsiazUGdg2+ieXtm46eY7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4XaH5gOxhnJz
 o7A1zTDU0krHdrP8AS+0imi2sifvXLBWo1HQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xHXMYRzRMbNgnss4eRjEw0
 FKN2dTzClRHr7m9WX+bsLCOoluaOzURLGIETT8JS00C+daLiL80ihXDX9NyCpmfh9f+GSzz6
 z2SpS14jLIW5eYM06i45lHGxTGxvJ/CTg0yzgrSV2OhqAh+YeaNfIWu4EPH5O1BK66DR0Gdu
 2IJncef6u0DF5CLm2qGR+BlNLuk/eqfOTvQx1tmBYA89i+F8mSmO4tX5VlWBEpvKNdCRjbvb
 2faowYX75hWVEZGdocuPdj3UZ5zi/G9S5K8DKu8gsdyjoZZfginvyVQbAmqnGXmiFURn6ZkY
 qu+WJP5ZZoFMphPwD2zTuYb9LYkwCEi2G/eLazGIwSbPam2PyDMF+pcWLeaRqVgtf7f/l2Jm
 zpKH5HSoyizRtESdcU+HWQ7CVkRZUY2CpntwyC8Xr7Se1E2cI3N5hK4/F/AR2CHt/4I/gsr1
 ivnMqO99LYYrSSeQThmklg5NNvSsW9X9BrXxxAEM1eywGQEao2y9qoZfJZfVeB5pbY6l6IoH
 qZVIpXo7hFzptPvoWh1UHUAhNY6KETDafymbkJJnwTTj7Y/HleUq7cIjyPk9TUUDzrfiCfNi
 +TI6+8verJaH14KJJ+POJqSI6aZ4SB1dBRaAxGZfbG+uSzErOBXFsAGpqRqfpxQcU+dmWPyO
 sT/KU5wmNQharQdqLHh7Z1oZa/yeweiNiK2x1Xm0Is=
IronPort-HdrOrdr: A9a23:AUFtM6gLq5abiX9dJqlp8Do1lHBQX5913DAbv31ZSRFFG/Fw9v
 re6cjzsCWe5gr5N0tBpTn+Atj9fZqxz/9ICOoqTMSftXfdyQmVxehZhOOJ/9SKIVycygcy79
 YET0B0YOeAcmST5azBjDVReLwbr+VuP8qT6Nv2/jNVaUVPVokl1gF+D2+gYz9LrMstP+tGKH
 JZjPA31wZJvB4sH7WG7wI+Loz+juyOrovifRkFQzY/8WC1/EqVwY+/KQGcwhAdFxhSwbIumF
 K17jDR1+GYqvSmzR2Z8GfW4/1t6bzc4+oGPtWIls8WbhPzjQqyDb4RPYGqjXQOueSy71Rvqv
 ngyi1QR/hb2jfqZ2Sophmo4QX6zzo0zHfnxTaj8ADeiP28fis+F81Cwb1UaQHY7U1IhqAH7J
 52
X-Talos-CUID: =?us-ascii?q?9a23=3AJv/u5mjvJT4nqUfBge6LarJIrjJueHr9j3PuKgi?=
 =?us-ascii?q?CSmNiUKCoR1jLo59Bup87?=
X-Talos-MUID: 9a23:X+/gTgYKHLx0kOBT5wW93ABLMpdR3Z+OU05RtsUm6vOGOnkl
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118253079"
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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v3 01/10] xen/version: Calculate xen_capabilities_info once at boot
Date: Tue, 15 Aug 2023 22:06:41 +0100
Message-ID: <20230815210650.2735671-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The arch_get_xen_caps() infrastructure is horribly inefficient for something
that is constant after features have been resolved on boot.

Every instance used snprintf() to format constants into a string (which gets
shorter when %d gets resolved!), and which get double buffered on the stack.

Switch to using string literals with the "3.0" inserted - these numbers
haven't changed in 18 years (The Xen 3.0 release was Dec 5th 2005).

Use initcalls to format the data into xen_cap_info, which is deliberately not
of type xen_capabilities_info_t because a 1k array is a silly overhead for
storing a maximum of 77 chars (the x86 version) and isn't liable to need any
more space in the forseeable future.

This speeds up the the XENVER_capabilities hypercall, but the purpose of the
change is to allow us to introduce a better XENVER_* API that doesn't force
the use of a 1k buffer on the stack.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: 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: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Henry Wang <Henry.Wang@arm.com>

v3:
 * CC new-arch folks so they're aware
v2:
 * New

Moving to __initcall() also allows new architectures to not implement this
API, and I'm going to recommend strongly that they dont.  Its a very dubious
way of signalling about 3 bits of info to the toolstack, and inefficient to
use (the toolstack has to do string parsing on the result figure out if
PV64/PV32/HVM is available).
---
 xen/arch/arm/setup.c        | 20 +++++++-------------
 xen/arch/x86/setup.c        | 31 ++++++++++---------------------
 xen/common/kernel.c         |  3 ++-
 xen/include/xen/hypercall.h |  2 --
 xen/include/xen/version.h   |  2 ++
 5 files changed, 21 insertions(+), 37 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 44ccea03ca14..3592c9ebc1cd 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -27,6 +27,7 @@
 #include <xen/cpu.h>
 #include <xen/pfn.h>
 #include <xen/virtual_region.h>
+#include <xen/version.h>
 #include <xen/vmap.h>
 #include <xen/trace.h>
 #include <xen/libfdt/libfdt-xen.h>
@@ -1286,24 +1287,17 @@ void __init start_xen(unsigned long boot_phys_offset,
     switch_stack_and_jump(idle_vcpu[0]->arch.cpu_info, init_done);
 }
 
-void arch_get_xen_caps(xen_capabilities_info_t *info)
+static int __init init_xen_cap_info(void)
 {
-    /* Interface name is always xen-3.0-* for Xen-3.x. */
-    int major = 3, minor = 0;
-    char s[32];
-
-    (*info)[0] = '\0';
-
 #ifdef CONFIG_ARM_64
-    snprintf(s, sizeof(s), "xen-%d.%d-aarch64 ", major, minor);
-    safe_strcat(*info, s);
+    safe_strcat(xen_cap_info, "xen-3.0-aarch64 ");
 #endif
     if ( cpu_has_aarch32 )
-    {
-        snprintf(s, sizeof(s), "xen-%d.%d-armv7l ", major, minor);
-        safe_strcat(*info, s);
-    }
+        safe_strcat(xen_cap_info, "xen-3.0-armv7l ");
+
+    return 0;
 }
+__initcall(init_xen_cap_info);
 
 /*
  * Local variables:
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2bfc1fd00f8c..206f0c50a136 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2049,35 +2049,24 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     unreachable();
 }
 
-void arch_get_xen_caps(xen_capabilities_info_t *info)
+static int __init cf_check init_xen_cap_info(void)
 {
-    /* Interface name is always xen-3.0-* for Xen-3.x. */
-    int major = 3, minor = 0;
-    char s[32];
-
-    (*info)[0] = '\0';
-
     if ( IS_ENABLED(CONFIG_PV) )
     {
-        snprintf(s, sizeof(s), "xen-%d.%d-x86_64 ", major, minor);
-        safe_strcat(*info, s);
+        safe_strcat(xen_cap_info, "xen-3.0-x86_64 ");
 
         if ( opt_pv32 )
-        {
-            snprintf(s, sizeof(s), "xen-%d.%d-x86_32p ", major, minor);
-            safe_strcat(*info, s);
-        }
+            safe_strcat(xen_cap_info, "xen-3.0-x86_32p ");
     }
     if ( hvm_enabled )
-    {
-        snprintf(s, sizeof(s), "hvm-%d.%d-x86_32 ", major, minor);
-        safe_strcat(*info, s);
-        snprintf(s, sizeof(s), "hvm-%d.%d-x86_32p ", major, minor);
-        safe_strcat(*info, s);
-        snprintf(s, sizeof(s), "hvm-%d.%d-x86_64 ", major, minor);
-        safe_strcat(*info, s);
-    }
+        safe_strcat(xen_cap_info,
+                    "hvm-3.0-x86_32 "
+                    "hvm-3.0-x86_32p "
+                    "hvm-3.0-x86_64 ");
+
+    return 0;
 }
+__initcall(init_xen_cap_info);
 
 int __hwdom_init xen_in_range(unsigned long mfn)
 {
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 52aa28762782..f822480a8ef3 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -30,6 +30,7 @@ enum system_state system_state = SYS_STATE_early_boot;
 
 static xen_commandline_t saved_cmdline;
 static const char __initconst opt_builtin_cmdline[] = CONFIG_CMDLINE;
+char __ro_after_init xen_cap_info[128];
 
 static int assign_integer_param(const struct kernel_param *param, uint64_t val)
 {
@@ -537,7 +538,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
         memset(info, 0, sizeof(info));
         if ( !deny )
-            arch_get_xen_caps(&info);
+            safe_strcpy(info, xen_cap_info);
 
         if ( copy_to_guest(arg, info, ARRAY_SIZE(info)) )
             return -EFAULT;
diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h
index f307dfb59760..15b6be6ec818 100644
--- a/xen/include/xen/hypercall.h
+++ b/xen/include/xen/hypercall.h
@@ -56,6 +56,4 @@ common_vcpu_op(int cmd,
     struct vcpu *v,
     XEN_GUEST_HANDLE_PARAM(void) arg);
 
-void arch_get_xen_caps(xen_capabilities_info_t *info);
-
 #endif /* __XEN_HYPERCALL_H__ */
diff --git a/xen/include/xen/version.h b/xen/include/xen/version.h
index 93c58773630c..4856ad1b446d 100644
--- a/xen/include/xen/version.h
+++ b/xen/include/xen/version.h
@@ -19,6 +19,8 @@ const char *xen_deny(void);
 const char *xen_build_info(void);
 int xen_build_id(const void **p, unsigned int *len);
 
+extern char xen_cap_info[128];
+
 #ifdef BUILD_ID
 void xen_build_init(void);
 int xen_build_id_check(const Elf_Note *n, unsigned int n_sz,
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584052.914472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fu-0005Eg-2N; Tue, 15 Aug 2023 21:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584052.914472; Tue, 15 Aug 2023 21: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 1qW1Ft-0005Cu-U2; Tue, 15 Aug 2023 21:07:09 +0000
Received: by outflank-mailman (input) for mailman id 584052;
 Tue, 15 Aug 2023 21:07:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fr-0004qk-QH
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:07 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af357fec-3baf-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 23:07: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: af357fec-3baf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133625;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=//kMpvC6KAHT9QpCz/eo4st7+6bf1i4Hc4JRmfZsfK8=;
  b=bXyRPppo2A8AEjfZClnkZxytzLhjTFRVQVWmQycXYUmngiittifPdf4V
   IEAGMg/SWYRuNfs54TVwpvc/Te8hhdssYSu6Oi4G1drrJfbzaDLPiPajw
   mpTEC8jDIEb2QQfNC2MGsQNYfvBvZUlEXwrdUqcP8A8NEIICmWgebjLdO
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119588439
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:gw76Ya4ugpWQLihruQL+mgxRtO3HchMFZxGqfqrLsTDasY5as4F+v
 jYfUGmDOv7fNzD9KdgjOYu0oRlSuJDVxtZqTws6+y9kHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 uYgNg0TXjO6jcms2Z+9U9l1oJwoI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx/J+
 zKWoz+oav0cHM3GwxSe1mi0v7/SvjL5AdtCOLnn9uE/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JSGeAn7ACGyoLP/h2UQGMDS1Zpc8c6vcU7QTgr0
 F6hnN7zAzFr9rqPRhq16bO8vT60fy8PIgcqZzIATAYDy8nupsc0lB2nZvZuFrSkyOL8Hz7Yy
 iqP6iM5gt0uYdUjjvvhuwqd2nT1+8aPF1RujunKYo67xiBjXJCYebyL0FLw9+9tKp+pV3/Zt
 3dRzqBy89syJZ2KkSWMRsAEE7eo++uJPVXgvLJ/I3Uy32/zoiD+JOi89Bk7fR40aZhcJVcFd
 WeJ4WtsCIlv0GxGhEOdS6a4EIwUwKfpDrwJvdiEP4MVMvCdmOJqlRyChHJ8PUi3zSDAcollY
 /93lPpA6l5DUMxaIMKeHbt17FPS7nlWKZnvbZ761Q+79rGVeWSYT7wIWHPXMLFjtfnY/FSKo
 48PXydv9/m4eLeiChQ7DKZJdQxaRZTFLcGeRzNrmh6rfVM9RTBJ5w75yrI9YY1195m5Zc+Rl
 kxRrnRwkQKl7VWecFXiV5yWQO+3NXqJhS5hbHNE0JfB8yRLXLtDG49EKsZqIeF9qrM7pRO2J
 tFcE/i97j10Ymyv01wggVPV9eSOqDzDadqyAheY
IronPort-HdrOrdr: A9a23:oMoVKKlFYxSjL0FPr4YlXLzQX6/pDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-Talos-CUID: =?us-ascii?q?9a23=3Am01ujWoXx3qaaqPFbS/eFW7mUeM/SmPg0kfzGkW?=
 =?us-ascii?q?TE39ETqSlUHnI86wxxg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3ArtA+UQ9v1Yjl3h1VV7Sd1uiQf9Yx6Yq1LFoVqMU?=
 =?us-ascii?q?bmNiGbHUgFzPCjCviFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119588439"
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>, George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
	<JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v3 03/10] xen/version: Fold build_id handling into xenver_varbuf_op()
Date: Tue, 15 Aug 2023 22:06:43 +0100
Message-ID: <20230815210650.2735671-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

struct xen_build_id and struct xen_varbuf are identical from an ABI point of
view, so XENVER_build_id can reuse xenver_varbuf_op() rather than having it's
own almost identical copy of the logic.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Henry Wang <Henry.Wang@arm.com>

v2:
 * New
---
 xen/common/kernel.c          | 49 +++++++++++-------------------------
 xen/include/public/version.h |  5 +++-
 2 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 79c008c7ee5f..4a051be1cbe0 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -504,9 +504,22 @@ static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     struct xen_varbuf user_str;
     const char *str = NULL;
     size_t sz;
+    int rc;
 
     switch ( cmd )
     {
+    case XENVER_build_id:
+    {
+        unsigned int local_sz;
+
+        rc = xen_build_id((const void **)&str, &local_sz);
+        if ( rc )
+            return rc;
+
+        sz = local_sz;
+        goto have_len;
+    }
+
     case XENVER_extraversion2:
         str = xen_extra_version();
         break;
@@ -530,6 +543,7 @@ static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     sz = strlen(str);
 
+ have_len:
     if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
         return -E2BIG;
 
@@ -731,41 +745,6 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     }
 
     case XENVER_build_id:
-    {
-        xen_build_id_t build_id;
-        unsigned int sz;
-        int rc;
-        const void *p;
-
-        if ( deny )
-            return -EPERM;
-
-        /* Only return size. */
-        if ( !guest_handle_is_null(arg) )
-        {
-            if ( copy_from_guest(&build_id, arg, 1) )
-                return -EFAULT;
-
-            if ( build_id.len == 0 )
-                return -EINVAL;
-        }
-
-        rc = xen_build_id(&p, &sz);
-        if ( rc )
-            return rc;
-
-        if ( guest_handle_is_null(arg) )
-            return sz;
-
-        if ( sz > build_id.len )
-            return -ENOBUFS;
-
-        if ( copy_to_guest_offset(arg, offsetof(xen_build_id_t, buf), p, sz) )
-            return -EFAULT;
-
-        return sz;
-    }
-
     case XENVER_extraversion2:
     case XENVER_capabilities2:
     case XENVER_changeset2:
diff --git a/xen/include/public/version.h b/xen/include/public/version.h
index 0dd6bbcb43cc..1022604daa41 100644
--- a/xen/include/public/version.h
+++ b/xen/include/public/version.h
@@ -124,8 +124,10 @@ typedef char xen_commandline_t[1024];
 /*
  * Return value is the number of bytes written, or XEN_Exx on error.
  * Calling with empty parameter returns the size of build_id.
+ *
+ * Note: structure only kept for backwards compatibility.  Xen operates in
+ * terms of xen_varbuf_t.
  */
-#define XENVER_build_id 10
 struct xen_build_id {
         uint32_t        len; /* IN: size of buf[]. */
         unsigned char   buf[XEN_FLEX_ARRAY_DIM];
@@ -164,6 +166,7 @@ typedef struct xen_varbuf xen_varbuf_t;
  * effect.  e.g. Xen has no control over the formatting used for the command
  * line.
  */
+#define XENVER_build_id      10
 #define XENVER_extraversion2 11
 #define XENVER_capabilities2 12
 #define XENVER_changeset2    13
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584057.914520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Fx-0006OD-EZ; Tue, 15 Aug 2023 21:07:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584057.914520; Tue, 15 Aug 2023 21: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 1qW1Fx-0006MY-1k; Tue, 15 Aug 2023 21:07:13 +0000
Received: by outflank-mailman (input) for mailman id 584057;
 Tue, 15 Aug 2023 21:07:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fv-0004ge-FK
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:11 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b19ffeec-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b19ffeec-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133629;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=t9pwPtJaxOY2AoSDfaabseyGopwlTK4SCWzM4uvG2Xw=;
  b=OUBYpU7tW0Dr92jGcMvG3AFGUlYufGLAb0AfINwVp8CCHA0rnYifqfMM
   Ki2sj62I1ChtXWMp0kyXqAyRgJGHze86qGkMZbyp5KFyF/CQ8Crm/cm6p
   abGazJxqdtd1mlRsIv/cEGpP3pRoJmJdlxtsLGeW/LJ4yAnWd9M6WYCOw
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118253077
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:zbibmqwLDi3/72PY/wZ6t+cdwSrEfRIJ4+MujC+fZmUNrF6WrkVSx
 2ceWT+FPKmDNmD0fd11atu38xsCvJPXyt41HFA9/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuPK0T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWtJ1
 b8cFjlKVFOGjPqr/by8EbJQo+12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwMzhzF/
 TqZoAwVBDkTENi+4CSJ8E6wl9CRlAzUWr0DOuaRo6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0QMFMGuc37AWMzKv84AuDAGUACDlbZ7QOq8seVTEsk
 FiTkLvBByFrsbCTYWKQ8PGTtzzaERYSKWgOdCoVVzwv6tPooJwwph/XR9MlG6mw5vXuEDf52
 CyDtyk5r68aldIMzai98lHBjj+2p57GCAUy423/VG+/8hlwYoLjYoWy8EXa9t5JNoPfRV6E1
 FAkls6E/aYxBJeCvCWXRaMGG7TBz/qKPDDTm1dHA4gq9zPr/WWqO49X/llWKF9yN8cYeRfge
 ELJpR5K/5hXIWeraqlsJYm2DqwCyqztFs/kV7bXc8BJaZhycyeI+ShvYQib2GWFuEoll60lK
 IqYWcmpBHceT69gyVKeZc0QzLsqzSAW3n7ISNbwyBHP+biRfnmOUp8eLUCDKOs+6cusrAzL/
 v5FOsCNyhEZV/fxChQ76qZKcwpMdyJiQ8mr9YoOLLXrzhda9H8JAfjxgrcfcstf3KFejvr18
 HbmAXN94Q+q7ZHYEjmiZndmYbLpeJ9wq3MnICAhVWqVN2gfjZWHt/lGKcZuFVUz3Kk6lKMvE
 aFZEymVKq4XIgkr7QjxenUUQGZKUB2wzTyDMCO+CNTUV84xHleZkjMIk+aGycXvMsZVnZFjy
 1FD/lmBKXbme+iFJJ+PAM9DN3vr4RAgdBtaBiMk2OV7dkT265RNICfslPIxKMxkAUydl2HDj
 VrKUEhI/LmlT2oJHD7h3/zskmtUO7EmQhoy85fzvN5ayhU2DkL8mNQdAY5kjBjWVX/u+bXKW
 Amm56iUDRHzp34T69AUO+8yncoDCy7H++cyIvJMQC+aMDxGy9pIfhG74CW4nvYQm+IF4VHoB
 RrnFxszEezhBf4J2WU5fGINBtlvH9lO8tUOxZzZ+HnH2RI=
IronPort-HdrOrdr: A9a23:tvTdDqzCsY2jS9Cp5H+OKrPxaeskLtp133Aq2lEZdPU1SL3sqy
 nKpp906faaslYssQ4b6Ky90cW7IE80lqQFkrX5Q43SPjUO0VHAROtfBODZsl7d8kPFh4tgPa
 wJSdkANDWZZ2IXsS6QijPWLz7uquPrzImYwd77i1NRZUVSbadkhj0JeDpy0CdNNXd77V5SLu
 vt2iKDzQDQCEj/Ff7LYkUtbqz4vtjWk5CjSQcebiRXkTWmvHeT8bvnFBrd9QsfVj4n+8ZezU
 H11zbh47mlsbWdwhvRvlWjiKh+qZ/a095eA87JrNYTJi6EsHfPWK1RH4eauSwzoqWUyHtCqq
 i1nz4Qe/5r7m/XfCWOrQDz1xLG2DIjgkWSsmOwsD/YuMnkQzB/NMZbn4JedXLimjAdgO0=
X-Talos-CUID: 9a23:ktlbiG2PrzOnP4l0sFAFsLxfEMcFMXnjxTDqYEqzEXtURrrOEmO10fYx
X-Talos-MUID: =?us-ascii?q?9a23=3AZsr5ZAxs3poDoR7asFzGXr9RmY+aqK2KDGEkj5k?=
 =?us-ascii?q?Eh9WVCnJ5FBifsyWZGaZyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118253077"
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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Henry Wang <Henry.Wang@arm.com>, "Daniel
 De Graaf" <dgdegra@tycho.nsa.gov>, Daniel Smith
	<dpsmith@apertussolutions.com>, Jason Andryuk <jandryuk@gmail.com>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Edwin Torok <edvin.torok@citrix.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH v3 for-4.18 00/10] Non-truncating XENVER_* subops
Date: Tue, 15 Aug 2023 22:06:40 +0100
Message-ID: <20230815210650.2735671-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

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/968728976
https://cirrus-ci.com/build/6741556116324352

Posting both parts, as there has been minor rebasing in all of them.

Andrew Cooper (10):
  xen/version: Calculate xen_capabilities_info once at boot
  xen/version: Introduce non-truncating deterministically-signed XENVER_* subops
  xen/version: Fold build_id handling into xenver_varbuf_op()
  xen/version: Misc style fixes
  tools/libxc: Move xc_version() out of xc_private.c into its own file
  tools: Introduce a non-truncating xc_xenver_extraversion()
  tools: Introduce a non-truncating xc_xenver_capabilities()
  tools: Introduce a non-truncating xc_xenver_changeset()
  tools: Introduce a non-truncating xc_xenver_cmdline()
  tools: Introduce a xc_xenver_buildid() wrapper

 tools/include/xenctrl.h             |  10 ++
 tools/libs/ctrl/Makefile.common     |   1 +
 tools/libs/ctrl/xc_private.c        |  66 ---------
 tools/libs/ctrl/xc_private.h        |   7 -
 tools/libs/ctrl/xc_version.c        | 206 ++++++++++++++++++++++++++++
 tools/libs/light/libxl.c            |  61 +-------
 tools/ocaml/libs/xc/xenctrl_stubs.c |  46 ++++---
 xen/arch/arm/setup.c                |  20 +--
 xen/arch/x86/setup.c                |  31 ++---
 xen/common/kernel.c                 | 119 ++++++++++------
 xen/common/version.c                |   4 +-
 xen/include/public/version.h        |  68 ++++++++-
 xen/include/xen/hypercall.h         |   2 -
 xen/include/xen/version.h           |   2 +
 xen/include/xlat.lst                |   1 +
 xen/include/xsm/dummy.h             |   3 +
 xen/xsm/flask/hooks.c               |   4 +
 17 files changed, 425 insertions(+), 226 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_version.c

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:07:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584051.914467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Ft-0005C2-RZ; Tue, 15 Aug 2023 21:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584051.914467; Tue, 15 Aug 2023 21:07:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1Ft-0005Br-LO; Tue, 15 Aug 2023 21:07:09 +0000
Received: by outflank-mailman (input) for mailman id 584051;
 Tue, 15 Aug 2023 21:07:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Fr-0004qk-JA
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:07:07 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af3c3bee-3baf-11ee-8776-cb3800f73035;
 Tue, 15 Aug 2023 23:07: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: af3c3bee-3baf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133625;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1+RMVJk98RwcyuWOiYVPUBLbonGeMd8JnyJIvIqHGro=;
  b=S3/R/G1Po3//CVpx8g9s7VLojD+YPUo1k1yP+GGqcXRPFv/OwF2Czxz3
   YUByPRy+OfFaGsvsTwiECYlGyH1/UX9uxUyTmdYxtkE33xhksXp2KETvX
   Senm3BfyJ8ZhVylZQnwouVYsS3yln5jhwOUhw39W3eGlpn1nIxwAfyq24
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119453629
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Yp1nC6LsQhehCEG1FE+R95UlxSXFcZb7ZxGr2PjKsXjdYENShjcEz
 mJOXm6DaKmPNzCje95+Od6+808B6pTXn9NlSAtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gVjPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c40AUZLx
 /hJJQkkNC7dqLmu4Z/rWu9j05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJQJwx3G/
 DOuE2LRPAk7CoHEySi5wmupnsaSsBGhc6kTC+jtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslgEYc8pdFas98g7l4qjb+QGCHUAfUyVMLtchsaceSTU02
 3eTktjuBDgpt6eaIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8bzRLoS+RnQaOMp4fLRx6r2
 xGn/Dg4iOBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWW0C
 KMwkVkLjHO2AJdNRfYuC79d8+xwkcDd+S3ND5g4lOZmbJlrbxOg9ypzf0OW1G2FuBFywPtmY
 8vHIJn8VCZy5UFbIN2eHbt17FPW7npmmTO7qW7TnnxLLoZylFbKEOxYYTNin8gy7b+eoRW9z
 jqsH5Li9vmra8WnOnO/2ddKfTg3wY0TWcieRzp/KrTSfWKL2QgJV5fs/F/WU9c4wvkJzr2Wo
 SnVt40x4AOXuEAr4D6iMhhLAI4Dl74mxZ7nFUTA5WqV5kU=
IronPort-HdrOrdr: A9a23:OALUVa9HnoR3ZZNbVzZuk+DnI+orL9Y04lQ7vn2ZhyYlC/Bw9v
 re5MjzsCWftN9/YgBEpTntAtjjfZqYz+8X3WBzB9aftWvdyQ+VxehZhOOI/9SjIU3DH4VmpM
 BdmsZFebvN5JtB4foSIjPULz/t+ra6GWmT69vj8w==
X-Talos-CUID: 9a23:Jxop8WHLqDOw1J6pqmIk9GkRKMR0f0T0lkmODBSgKEs5WLuaHAo=
X-Talos-MUID: 9a23:u9DCXARXky+Iq4HuRXTSnBBcaZxo8ZieEUUVuMgriZOvHi1vbmI=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="119453629"
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>, Christian Lindig <christian.lindig@citrix.com>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>, David Scott
	<dave@recoil.org>, Edwin Torok <edvin.torok@citrix.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH v3 07/10] tools: Introduce a non-truncating xc_xenver_capabilities()
Date: Tue, 15 Aug 2023 22:06:47 +0100
Message-ID: <20230815210650.2735671-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Update libxl and the ocaml stubs to match.  No API/ABI change in either.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Torok <edvin.torok@citrix.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>
---
 tools/include/xenctrl.h             |  1 +
 tools/libs/ctrl/xc_version.c        |  5 +++++
 tools/libs/light/libxl.c            |  4 +---
 tools/ocaml/libs/xc/xenctrl_stubs.c | 18 ++++++++++++++++--
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index b839196bf4c4..9bd5eed7397a 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1598,6 +1598,7 @@ int xc_version(xc_interface *xch, int cmd, void *arg);
  * free().
  */
 char *xc_xenver_extraversion(xc_interface *xch);
+char *xc_xenver_capabilities(xc_interface *xch);
 
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);
 
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
index 2c14474feec5..512302a393ea 100644
--- a/tools/libs/ctrl/xc_version.c
+++ b/tools/libs/ctrl/xc_version.c
@@ -156,3 +156,8 @@ char *xc_xenver_extraversion(xc_interface *xch)
 {
     return varbuf_simple_string(xch, XENVER_extraversion2);
 }
+
+char *xc_xenver_capabilities(xc_interface *xch)
+{
+    return varbuf_simple_string(xch, XENVER_capabilities2);
+}
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index f91f7271d5bf..ae6c5e04cd59 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -584,7 +584,6 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     union {
         xen_compile_info_t xen_cc;
         xen_changeset_info_t xen_chgset;
-        xen_capabilities_info_t xen_caps;
         xen_platform_parameters_t p_parms;
         xen_commandline_t xen_commandline;
         xen_build_id_t build_id;
@@ -608,8 +607,7 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->compile_domain = libxl__strdup(NOGC, u.xen_cc.compile_domain);
     info->compile_date = libxl__strdup(NOGC, u.xen_cc.compile_date);
 
-    xc_version(ctx->xch, XENVER_capabilities, &u.xen_caps);
-    info->capabilities = libxl__strdup(NOGC, u.xen_caps);
+    info->capabilities = xc_xenver_capabilities(ctx->xch);
 
     xc_version(ctx->xch, XENVER_changeset, &u.xen_chgset);
     info->changeset = libxl__strdup(NOGC, u.xen_chgset);
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 379a7935a145..e8da7d18d29d 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -1062,9 +1062,23 @@ CAMLprim value stub_xc_version_changeset(value xch_val)
 
 CAMLprim value stub_xc_version_capabilities(value xch_val)
 {
-	xen_capabilities_info_t ci;
+	CAMLparam1(xch_val);
+	CAMLlocal1(result);
+	xc_interface *xch = xch_of_val(xch_val);
+	char *capabilities;
+
+	caml_enter_blocking_section();
+	capabilities = xc_xenver_capabilities(xch);
+	caml_leave_blocking_section();
 
-	return xc_version_single_string(xch_val, XENVER_capabilities, &ci);
+	if (!capabilities)
+		failwith_xc(xch);
+
+	result = caml_copy_string(capabilities);
+
+	free(capabilities);
+
+	CAMLreturn(result);
 }
 
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:10:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584082.914546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1In-0002x6-JW; Tue, 15 Aug 2023 21:10:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584082.914546; Tue, 15 Aug 2023 21:10:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1In-0002wx-GQ; Tue, 15 Aug 2023 21:10:09 +0000
Received: by outflank-mailman (input) for mailman id 584082;
 Tue, 15 Aug 2023 21:10: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=nTNg=EA=citrix.com=prvs=584bb2eab=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW1Gi-0004ge-8l
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 21:08:00 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce7e1033-3baf-11ee-9b0c-b553b5be7939;
 Tue, 15 Aug 2023 23:07:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce7e1033-3baf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692133677;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=H8yVo7cfHcdVvMYigQJV38THfj5k/BX4q6OsZV/UvUY=;
  b=XB2llFITgSdQlfp5mIjmtHOW/Ty+aHCCq/f6JXWkpFoFEROr4uR2W7oO
   rA0axXRyLl8k59gPxRPj4BHcTEp3QaZxeElhP+U+16rKlJm2pLHJc2UdT
   6sFB+KIBTdSfP17WUCzxhD4jgAf1z/p/jn0NsXd49if4ucUnRwngXnBIH
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118253182
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:xrwR667zc0g9Rv6rPjDUEwxRtC/HchMFZxGqfqrLsTDasY5as4F+v
 jYYWzyAM/bcYjfyed5+a4Tgo09UvMXTydIyTlE6+389Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 KUiBilRTBe6jOeR+u6mY7cxot04I5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx/I/
 D+dpjSjav0cHOK+2wCgyVmivPberwXKXb82C6Xl3Mc/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JPF8Uq5QfLzbDbiy6bCXIDVSVpc8E9uYk9QjlC6
 7OSt4q3X3o16uTTEC/DsO7O9lteJBT5M0c/PBUqVFcn5ODopaYJ0g/mEItHCbW624id9S7L/
 xiGqy03hrM2hMEN1rmm8V2vvw9AtqQlXSZuuFyJAzvNAhdRIdf8Otf2sQSzAeNodt7xc7WXg
 JQTdyFyBsgqBIrFqiGCSf5l8FqBt6fca220bbKC8vAcG9WRF5yLJ904DNJWfh0B3iM4ldjBO
 Ra7hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHWpng0ORLBgDC0wCDAdJ3T3
 r/BLa6R4YsyU/w7nFJauc9MuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimN4gEAFe/iFyNq
 b53bpLaoyizpcWiOkE7B6ZPdwFVRZX6bLiqw/FqmhmreVc7RT15UaGOmdvMueVNxsxoqwsBx
 VnlMmcw9bY1rSavxdmiApy7VI7SYA==
IronPort-HdrOrdr: A9a23:oUZGOawzCm2LTCNUiixzKrPwE71zdoMgy1knxilNoNJuA7Wlfq
 GV7YwmPHrP4gr5N0tQ/OxoVJPwI080sKQFgrX5Xo3CYOCFghrNEGgK1+KLqAEIWRefygc379
 YGT0ERMqyXMbG4t6rHCcuDfurIDOPpzElgv4nj80s=
X-Talos-CUID: =?us-ascii?q?9a23=3AvtrZw2ofIYAw7USazpSy4njmUf18SFPEkFXXGkS?=
 =?us-ascii?q?9Llw1VZTLFHuJ46wxxg=3D=3D?=
X-Talos-MUID: 9a23:SWw4HQYyQ/3xMuBTiR7+vhRZH8lS+rWcLnEIrLEZo5SuDHkl
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="118253182"
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>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: [PATCH v3 10/10] tools: Introduce a xc_xenver_buildid() wrapper
Date: Tue, 15 Aug 2023 22:06:50 +0100
Message-ID: <20230815210650.2735671-11-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

... which converts binary content to hex automatically.

Update libxl to match.  No API/ABI change.

This removes a latent libxl bug for cases when the buildid is longer than 4092
bytes.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
 tools/include/xenctrl.h      |  1 +
 tools/libs/ctrl/xc_version.c | 33 +++++++++++++++++++++++++++
 tools/libs/light/libxl.c     | 44 +-----------------------------------
 3 files changed, 35 insertions(+), 43 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 1b6f2ac508e0..7f51cb43b931 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1601,6 +1601,7 @@ char *xc_xenver_extraversion(xc_interface *xch);
 char *xc_xenver_capabilities(xc_interface *xch);
 char *xc_xenver_changeset(xc_interface *xch);
 char *xc_xenver_commandline(xc_interface *xch);
+char *xc_xenver_buildid(xc_interface *xch);
 
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);
 
diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c
index 02f6e9551b57..54d1b9296696 100644
--- a/tools/libs/ctrl/xc_version.c
+++ b/tools/libs/ctrl/xc_version.c
@@ -171,3 +171,36 @@ char *xc_xenver_commandline(xc_interface *xch)
 {
     return varbuf_simple_string(xch, XENVER_commandline2);
 }
+
+static void str2hex(char *dst, const unsigned char *src, size_t n)
+{
+    static const unsigned char hex[] = "0123456789abcdef";
+
+    for ( ; n; n-- )
+    {
+        unsigned char c = *src++;
+
+        *dst++ = hex[c >> 4];
+        *dst++ = hex[c & 0xf];
+    }
+}
+
+char *xc_xenver_buildid(xc_interface *xch)
+{
+    xen_varbuf_t *hbuf = varbuf_op(xch, XENVER_build_id);
+    char *res;
+
+    if ( !hbuf )
+        return NULL;
+
+    res = malloc((hbuf->len * 2) + 1);
+    if ( res )
+    {
+        str2hex(res, hbuf->buf, hbuf->len);
+        res[hbuf->len * 2] = '\0';
+    }
+
+    xencall_free_buffer(xch->xcall, hbuf);
+
+    return res;
+}
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 04f037f3c199..a1fe16274d86 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -546,38 +546,6 @@ libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
     return ret;
 }
 
-static int libxl__xc_version_wrap(libxl__gc *gc, libxl_version_info *info,
-                                  xen_build_id_t *build)
-{
-    int r;
-
-    r = xc_version(CTX->xch, XENVER_build_id, build);
-    switch (r) {
-    case -EPERM:
-    case -ENODATA:
-    case 0:
-        info->build_id = libxl__strdup(NOGC, "");
-        break;
-
-    case -ENOBUFS:
-        break;
-
-    default:
-        if (r > 0) {
-            unsigned int i;
-
-            info->build_id = libxl__zalloc(NOGC, (r * 2) + 1);
-
-            for (i = 0; i < r ; i++)
-                snprintf(&info->build_id[i * 2], 3, "%02hhx", build->buf[i]);
-
-            r = 0;
-        }
-        break;
-    }
-    return r;
-}
-
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
     GC_INIT(ctx);
@@ -587,7 +555,6 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
         xen_build_id_t build_id;
     } u;
     long xen_version;
-    int r;
     libxl_version_info *info = &ctx->version_info;
 
     if (info->xen_version_extra != NULL)
@@ -614,17 +581,8 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->pagesize = xc_version(ctx->xch, XENVER_pagesize, NULL);
 
     info->commandline = xc_xenver_commandline(ctx->xch);
+    info->build_id = xc_xenver_buildid(ctx->xch);
 
-    u.build_id.len = sizeof(u) - sizeof(u.build_id);
-    r = libxl__xc_version_wrap(gc, info, &u.build_id);
-    if (r == -ENOBUFS) {
-            xen_build_id_t *build_id;
-
-            build_id = libxl__zalloc(gc, info->pagesize);
-            build_id->len = info->pagesize - sizeof(*build_id);
-            r = libxl__xc_version_wrap(gc, info, build_id);
-            if (r) LOGEV(ERROR, r, "getting build_id");
-    }
  out:
     GC_FREE;
     return info;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 15 21:32:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 21:32:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584120.914557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1eR-0006Lf-DB; Tue, 15 Aug 2023 21:32:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584120.914557; Tue, 15 Aug 2023 21:32:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW1eR-0006LY-AJ; Tue, 15 Aug 2023 21:32:31 +0000
Received: by outflank-mailman (input) for mailman id 584120;
 Tue, 15 Aug 2023 21:32: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 1qW1eQ-0006LO-53; Tue, 15 Aug 2023 21:32: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 1qW1eQ-0007YS-2S; Tue, 15 Aug 2023 21:32:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qW1eP-0005c2-Ow; Tue, 15 Aug 2023 21:32:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qW1eP-0007xJ-OU; Tue, 15 Aug 2023 21:32: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=djE0VFKH/GOAS97MdnvQ1bm4/T3ULLzRVvlBC/V2TTQ=; b=2SCxjEf1kIsKfwQ2342Q51ynmG
	XXQXgSiT/ZOAbcWn0E+8MWDvnqE7z1eepOSufQp8J2de8hcTJek5kbb2YJIvG7FdC7wsxLHZgTmf6
	O2LL4r6yWGUKjWgIJu742R5pfuS0bTf/z30pTCp8kjhoYHs3g1v7pxnFWbtOTYJLpr4g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182353-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182353: 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=d0eabe3eaf0db5b78843095a2918d50961e99e96
X-Osstest-Versions-That:
    xen=2763c33c6e52583f4f599d0e195bf5b1b859df22
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 15 Aug 2023 21:32:29 +0000

flight 182353 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182353/

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                  d0eabe3eaf0db5b78843095a2918d50961e99e96
baseline version:
 xen                  2763c33c6e52583f4f599d0e195bf5b1b859df22

Last test of basis   182334  2023-08-14 22:02:00 Z    0 days
Testing same since   182353  2023-08-15 19:03:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.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
   2763c33c6e..d0eabe3eaf  d0eabe3eaf0db5b78843095a2918d50961e99e96 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 22:32:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 22:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584128.914566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW2aa-0004Rn-GX; Tue, 15 Aug 2023 22:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584128.914566; Tue, 15 Aug 2023 22: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 1qW2aa-0004Rg-Dw; Tue, 15 Aug 2023 22:32:36 +0000
Received: by outflank-mailman (input) for mailman id 584128;
 Tue, 15 Aug 2023 22:32:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BVlh=EA=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qW2aZ-0004Ra-Q2
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 22:32:35 +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 9f0bc530-3bbb-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 00:32:32 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1692138739772690.6358820972288;
 Tue, 15 Aug 2023 15:32: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: 9f0bc530-3bbb-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1692138742; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=jueAxcKrv7wdEua03zqLTvKcsh1cye/MeWF6Ow500sFiDLxSIE56FJJuRd5U8c80li8fzVNQw+1+7+nBM+xLzXFDZBbFA+oQKnEDcgQJIIbCaEjBG9mKuDpmsf9D0vH2lWPMvsg4NXFqYDB4vqrZcevv3shk6O5OcChrDz7LcE4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692138742; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=GX6tOIvF2bCJ1RYYPrwz+vomp1Lb9M1jZE9uMZjXNSw=; 
	b=YdA+hgKkkj3U6rew+mETffwuDqItrp1I9Da4LOK4o/a8WNmcvUl233LSIzPICIXql8MvmQMz0YM6jsTX/6M1x48vrTIUV9ScvYau9LrvrMzqy5K+nA80AV+cy1Evo6O/3xMpA8SREOSTNaPmJPB3r8GihWQn1kcJxZmoEPER50I=
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=1692138742;
	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=GX6tOIvF2bCJ1RYYPrwz+vomp1Lb9M1jZE9uMZjXNSw=;
	b=EtJ54Sny8m18aEWfqx8/uVTsDtgB2F7vOQwZS/w6CD3vFotxWbDXJxVtmxa5U76D
	13zvb72fnqJ2ULrnqHdrQSELKx0Bcf9joqGayMXi1N7oufq0ZjzEMy6rxidS8p9cVjY
	RUpyz+U4PKmmaZQY442rPY7qrLarhnfm0PRMCLwI=
Message-ID: <98ba4015-d27d-afda-1b6a-2e0f5d9091a9@apertussolutions.com>
Date: Tue, 15 Aug 2023 18:32:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jason Andryuk <jandryuk@gmail.com>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Henry Wang <Henry.Wang@arm.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20230815210650.2735671-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/15/23 17:06, Andrew Cooper wrote:
> Recently in XenServer, we have encountered problems caused by both
> XENVER_extraversion and XENVER_commandline having fixed bounds.
> 
> More than just the invariant size, the APIs/ABIs also broken by typedef-ing an
> array, and using an unqualified 'char' which has implementation-specific
> signed-ness.
> 
> Provide brand new ops, which are capable of expressing variable length
> strings, and mark the older ops as broken.
> 
> This fixes all issues around XENVER_extraversion being longer than 15 chars.
> Further work beyond just this API is needed to remove other assumptions about
> XENVER_commandline being 1023 chars long.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 22:33:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 22:33:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584132.914577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW2bP-0004up-RM; Tue, 15 Aug 2023 22:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584132.914577; Tue, 15 Aug 2023 22:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW2bP-0004ui-N9; Tue, 15 Aug 2023 22:33:27 +0000
Received: by outflank-mailman (input) for mailman id 584132;
 Tue, 15 Aug 2023 22: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=BVlh=EA=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qW2bO-0004uc-Gl
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 22:33:26 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd88e7ac-3bbb-11ee-8776-cb3800f73035;
 Wed, 16 Aug 2023 00:33:24 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1692138795951979.2977584258178;
 Tue, 15 Aug 2023 15:33:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd88e7ac-3bbb-11ee-8776-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692138797; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=RcvOepF6WnO8b/YQwZZ/vC65kMhsn/utoB7mqf6/1T0gpIxxE0Fdo6IYVwOVH647fU4Z9N9YRSO0YscjkcuOEkHAWrWQdtLIC8SkGuIUr2QUmKBYdJOFSg964dR7L2RKNp0qzHZjYcDW81kVlWbCnTIlE+ChLTuLyfgjiYyCHrk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692138797; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=4xald0xPMGPETqWp1nQJL/Gvd9PW6x/W6zZzCVPaYT4=; 
	b=A95z30PZAeW6KHxRn92eTV4X8ghsAFTm+jk8/NHuUQHfw4Ls4xnqX7yniv0BQlx+ghLIlllNKjyygMAo+UAMquNGtggfDElT3BNQCN9nX3JuwBmjxVzfggboTOA9LjdwKQ1sDzVLnvPzeVR7rc4JCH81gxov7jRncHJqu8qr4yg=
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=1692138797;
	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=4xald0xPMGPETqWp1nQJL/Gvd9PW6x/W6zZzCVPaYT4=;
	b=vCHD2QKmcbJN674y+Hy1jB7nKZyR7F6q2stK3v/S32ekaPJBr1qfE9VeAwi+F337
	Ymb9h8R/rdNkOyDpc6rmRFuWnwNkBUWR2CQHDjYFNud/IpayhtG2Is6u9R/6QWifVcS
	8i4PmC8BMzV5NjibwZXX+Xx9Rj/KEiTM+jwsW3cw=
Message-ID: <ac0488ca-2cab-b9f9-0e93-6fd22176c3ce@apertussolutions.com>
Date: Tue, 15 Aug 2023 18:33:13 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 04/10] xen/version: Misc style fixes
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>,
 George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 Jason Andryuk <jandryuk@gmail.com>, Henry Wang <Henry.Wang@arm.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-5-andrew.cooper3@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20230815210650.2735671-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/15/23 17:06, Andrew Cooper wrote:
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Tue Aug 15 23:03:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 Aug 2023 23:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584141.914586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW34A-0000JT-6w; Tue, 15 Aug 2023 23:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584141.914586; Tue, 15 Aug 2023 23:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW34A-0000JM-4S; Tue, 15 Aug 2023 23:03:10 +0000
Received: by outflank-mailman (input) for mailman id 584141;
 Tue, 15 Aug 2023 23:03: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=/irL=EA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qW349-0000JE-3o
 for xen-devel@lists.xenproject.org; Tue, 15 Aug 2023 23:03:09 +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 e4f1ec9e-3bbf-11ee-8776-cb3800f73035;
 Wed, 16 Aug 2023 01:03:07 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A536663B84;
 Tue, 15 Aug 2023 23:03:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F4BEC433C7;
 Tue, 15 Aug 2023 23:03: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: e4f1ec9e-3bbf-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692140585;
	bh=kbr0ixalSJ0oezzINnR/KcWpxxzNnj5a7iZHvu7zlWs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=A6U0szv9JDCe0LvhVHiNZGXHiwsOkFc37LYrjl7G/2iGFhdJE1BJ0tjewK7P4uXkB
	 gmAV6V1yUkY4xNuf1uw0kfMupmb7waZfNjEHmT0p6R/olHOQ1M0riFoGdG/Ghr1D/m
	 9QzZubVFDsn8UuRPFATQuFu9ocugzULxUfAyzbYmyjs7fu2MD/5hZWZLQPSzn++Cpj
	 73OCcrHP+pzo3xBz9wwF+K1PFOt8+6H75dDF6FwZBuMDiwLrRjRd/QT8jjECJDbfFG
	 ur2g7H07bK9jQNUtvCuIPfrk2gHOHmnddtMpCGjzEm0bj27A/9Z/YobyEkaBhPvhhB
	 VllcOo6ar6Y8w==
Date: Tue, 15 Aug 2023 16:03:02 -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>, 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>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 01/10] xen/version: Calculate xen_capabilities_info
 once at boot
In-Reply-To: <20230815210650.2735671-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308151602500.6458@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1301399219-1692140585=:6458"

  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-1301399219-1692140585=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 15 Aug 2023, Andrew Cooper wrote:
> The arch_get_xen_caps() infrastructure is horribly inefficient for something
> that is constant after features have been resolved on boot.
> 
> Every instance used snprintf() to format constants into a string (which gets
> shorter when %d gets resolved!), and which get double buffered on the stack.
> 
> Switch to using string literals with the "3.0" inserted - these numbers
> haven't changed in 18 years (The Xen 3.0 release was Dec 5th 2005).
> 
> Use initcalls to format the data into xen_cap_info, which is deliberately not
> of type xen_capabilities_info_t because a 1k array is a silly overhead for
> storing a maximum of 77 chars (the x86 version) and isn't liable to need any
> more space in the forseeable future.
> 
> This speeds up the the XENVER_capabilities hypercall, but the purpose of the
> change is to allow us to introduce a better XENVER_* API that doesn't force
> the use of a 1k buffer on the stack.
> 
> 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: 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: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> CC: Henry Wang <Henry.Wang@arm.com>
> 
> v3:
>  * CC new-arch folks so they're aware
> v2:
>  * New
> 
> Moving to __initcall() also allows new architectures to not implement this
> API, and I'm going to recommend strongly that they dont.  Its a very dubious
> way of signalling about 3 bits of info to the toolstack, and inefficient to
> use (the toolstack has to do string parsing on the result figure out if
> PV64/PV32/HVM is available).
> ---
>  xen/arch/arm/setup.c        | 20 +++++++-------------
>  xen/arch/x86/setup.c        | 31 ++++++++++---------------------
>  xen/common/kernel.c         |  3 ++-
>  xen/include/xen/hypercall.h |  2 --
>  xen/include/xen/version.h   |  2 ++
>  5 files changed, 21 insertions(+), 37 deletions(-)
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 44ccea03ca14..3592c9ebc1cd 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -27,6 +27,7 @@
>  #include <xen/cpu.h>
>  #include <xen/pfn.h>
>  #include <xen/virtual_region.h>
> +#include <xen/version.h>
>  #include <xen/vmap.h>
>  #include <xen/trace.h>
>  #include <xen/libfdt/libfdt-xen.h>
> @@ -1286,24 +1287,17 @@ void __init start_xen(unsigned long boot_phys_offset,
>      switch_stack_and_jump(idle_vcpu[0]->arch.cpu_info, init_done);
>  }
>  
> -void arch_get_xen_caps(xen_capabilities_info_t *info)
> +static int __init init_xen_cap_info(void)
>  {
> -    /* Interface name is always xen-3.0-* for Xen-3.x. */
> -    int major = 3, minor = 0;
> -    char s[32];
> -
> -    (*info)[0] = '\0';
> -
>  #ifdef CONFIG_ARM_64
> -    snprintf(s, sizeof(s), "xen-%d.%d-aarch64 ", major, minor);
> -    safe_strcat(*info, s);
> +    safe_strcat(xen_cap_info, "xen-3.0-aarch64 ");
>  #endif
>      if ( cpu_has_aarch32 )
> -    {
> -        snprintf(s, sizeof(s), "xen-%d.%d-armv7l ", major, minor);
> -        safe_strcat(*info, s);
> -    }
> +        safe_strcat(xen_cap_info, "xen-3.0-armv7l ");
> +
> +    return 0;
>  }
> +__initcall(init_xen_cap_info);
>  
>  /*
>   * Local variables:
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 2bfc1fd00f8c..206f0c50a136 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2049,35 +2049,24 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      unreachable();
>  }
>  
> -void arch_get_xen_caps(xen_capabilities_info_t *info)
> +static int __init cf_check init_xen_cap_info(void)
>  {
> -    /* Interface name is always xen-3.0-* for Xen-3.x. */
> -    int major = 3, minor = 0;
> -    char s[32];
> -
> -    (*info)[0] = '\0';
> -
>      if ( IS_ENABLED(CONFIG_PV) )
>      {
> -        snprintf(s, sizeof(s), "xen-%d.%d-x86_64 ", major, minor);
> -        safe_strcat(*info, s);
> +        safe_strcat(xen_cap_info, "xen-3.0-x86_64 ");
>  
>          if ( opt_pv32 )
> -        {
> -            snprintf(s, sizeof(s), "xen-%d.%d-x86_32p ", major, minor);
> -            safe_strcat(*info, s);
> -        }
> +            safe_strcat(xen_cap_info, "xen-3.0-x86_32p ");
>      }
>      if ( hvm_enabled )
> -    {
> -        snprintf(s, sizeof(s), "hvm-%d.%d-x86_32 ", major, minor);
> -        safe_strcat(*info, s);
> -        snprintf(s, sizeof(s), "hvm-%d.%d-x86_32p ", major, minor);
> -        safe_strcat(*info, s);
> -        snprintf(s, sizeof(s), "hvm-%d.%d-x86_64 ", major, minor);
> -        safe_strcat(*info, s);
> -    }
> +        safe_strcat(xen_cap_info,
> +                    "hvm-3.0-x86_32 "
> +                    "hvm-3.0-x86_32p "
> +                    "hvm-3.0-x86_64 ");
> +
> +    return 0;
>  }
> +__initcall(init_xen_cap_info);
>  
>  int __hwdom_init xen_in_range(unsigned long mfn)
>  {
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index 52aa28762782..f822480a8ef3 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -30,6 +30,7 @@ enum system_state system_state = SYS_STATE_early_boot;
>  
>  static xen_commandline_t saved_cmdline;
>  static const char __initconst opt_builtin_cmdline[] = CONFIG_CMDLINE;
> +char __ro_after_init xen_cap_info[128];
>  
>  static int assign_integer_param(const struct kernel_param *param, uint64_t val)
>  {
> @@ -537,7 +538,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          memset(info, 0, sizeof(info));
>          if ( !deny )
> -            arch_get_xen_caps(&info);
> +            safe_strcpy(info, xen_cap_info);
>  
>          if ( copy_to_guest(arg, info, ARRAY_SIZE(info)) )
>              return -EFAULT;
> diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h
> index f307dfb59760..15b6be6ec818 100644
> --- a/xen/include/xen/hypercall.h
> +++ b/xen/include/xen/hypercall.h
> @@ -56,6 +56,4 @@ common_vcpu_op(int cmd,
>      struct vcpu *v,
>      XEN_GUEST_HANDLE_PARAM(void) arg);
>  
> -void arch_get_xen_caps(xen_capabilities_info_t *info);
> -
>  #endif /* __XEN_HYPERCALL_H__ */
> diff --git a/xen/include/xen/version.h b/xen/include/xen/version.h
> index 93c58773630c..4856ad1b446d 100644
> --- a/xen/include/xen/version.h
> +++ b/xen/include/xen/version.h
> @@ -19,6 +19,8 @@ const char *xen_deny(void);
>  const char *xen_build_info(void);
>  int xen_build_id(const void **p, unsigned int *len);
>  
> +extern char xen_cap_info[128];
> +
>  #ifdef BUILD_ID
>  void xen_build_init(void);
>  int xen_build_id_check(const Elf_Note *n, unsigned int n_sz,
> -- 
> 2.30.2
> 
--8323329-1301399219-1692140585=:6458--


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 00:19:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 00:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584147.914596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW4Fl-00008H-8q; Wed, 16 Aug 2023 00:19:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584147.914596; Wed, 16 Aug 2023 00:19:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW4Fl-00008A-6C; Wed, 16 Aug 2023 00:19:13 +0000
Received: by outflank-mailman (input) for mailman id 584147;
 Wed, 16 Aug 2023 00:19:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qW4Fj-000084-5S
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 00:19:11 +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 83ae5799-3bca-11ee-8776-cb3800f73035;
 Wed, 16 Aug 2023 02:19:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B5B626370A;
 Wed, 16 Aug 2023 00:19:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A21AEC433C8;
 Wed, 16 Aug 2023 00:19: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: 83ae5799-3bca-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692145146;
	bh=DfOFoL0liQgxTIxrGZTx4i3Hf4t1wTeXEA/ZgN5hlyM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Zq4NNwz2/i6QhAJb7Dx69xXWhSAnwHINyI+ZCH0YVYW629n8RA8kAEZKGgAI4cd96
	 wX7TA0UTA6qS0VaPwy+T2zBHMgBfDCkVnk/tmgojJ/HWs6+Zw2x096if3LsWwDd782
	 ubX0rJGpj05JiQ4o28JgHwsS4DGdPvGvdTD+bUUwIySmn0AVxnEf2E39/jDi6I1/kq
	 W+XS3IbsmWli7vIYGzaqffbqf/Lz04yY0N/HyWsFBoS0NJKh6asMyx3dMDFHfhHIFb
	 ZztMaPxoLkleCfO1KRYyH/pCLYnRao71sZp9cegN1ZjwaP3XdTX1WNdEnwu1Mz/HXu
	 tIHhUTI7CqHlQ==
Date: Tue, 15 Aug 2023 17:19:03 -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>, 
    Jason Andryuk <jandryuk@gmail.com>, 
    George Dunlap <George.Dunlap@eu.citrix.com>, 
    Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    Daniel Smith <dpsmith@apertussolutions.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
In-Reply-To: <20230815210650.2735671-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-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 Tue, 15 Aug 2023, Andrew Cooper wrote:
> Recently in XenServer, we have encountered problems caused by both
> XENVER_extraversion and XENVER_commandline having fixed bounds.
> 
> More than just the invariant size, the APIs/ABIs also broken by typedef-ing an
> array, and using an unqualified 'char' which has implementation-specific
> signed-ness.
> 
> Provide brand new ops, which are capable of expressing variable length
> strings, and mark the older ops as broken.
> 
> This fixes all issues around XENVER_extraversion being longer than 15 chars.
> Further work beyond just this API is needed to remove other assumptions about
> XENVER_commandline being 1023 chars long.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> CC: George Dunlap <George.Dunlap@eu.citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Daniel De Graaf <dgdegra@tycho.nsa.gov>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Jason Andryuk <jandryuk@gmail.com>
> CC: Henry Wang <Henry.Wang@arm.com>
> 
> v3:
>  * Modify dummy.h's xsm_xen_version() in the same way as flask.
> v2:
>  * Remove xen_capabilities_info_t from the stack now that arch_get_xen_caps()
>    has gone.
>  * Use an arbitrary limit check much lower than INT_MAX.
>  * Use "buf" rather than "string" terminology.
>  * Expand the API comment.
> 
> Tested by forcing XENVER_extraversion to be 20 chars long, and confirming that
> an untruncated version can be obtained.
> ---
>  xen/common/kernel.c          | 62 +++++++++++++++++++++++++++++++++++
>  xen/include/public/version.h | 63 ++++++++++++++++++++++++++++++++++--
>  xen/include/xlat.lst         |  1 +
>  xen/include/xsm/dummy.h      |  3 ++
>  xen/xsm/flask/hooks.c        |  4 +++
>  5 files changed, 131 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index f822480a8ef3..79c008c7ee5f 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -24,6 +24,7 @@
>  CHECK_build_id;
>  CHECK_compile_info;
>  CHECK_feature_info;
> +CHECK_varbuf;
>  #endif
>  
>  enum system_state system_state = SYS_STATE_early_boot;
> @@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
>  __initcall(param_init);
>  #endif
>  
> +static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> +{
> +    struct xen_varbuf user_str;
> +    const char *str = NULL;
> +    size_t sz;
> +
> +    switch ( cmd )
> +    {
> +    case XENVER_extraversion2:
> +        str = xen_extra_version();
> +        break;
> +
> +    case XENVER_changeset2:
> +        str = xen_changeset();
> +        break;
> +
> +    case XENVER_commandline2:
> +        str = saved_cmdline;
> +        break;
> +
> +    case XENVER_capabilities2:
> +        str = xen_cap_info;
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();
> +        return -ENODATA;
> +    }
> +
> +    sz = strlen(str);
> +
> +    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
> +        return -E2BIG;

Realistically do we want this buffer to cross page boundaries? We could
use KB(4) here or even KB(4)-4 (size of len).



> +    if ( guest_handle_is_null(arg) ) /* Length request */
> +        return sz;
> +
> +    if ( copy_from_guest(&user_str, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( user_str.len == 0 )
> +        return -EINVAL;
> +
> +    if ( sz > user_str.len )
> +        return -ENOBUFS;
> +
> +    if ( copy_to_guest_offset(arg, offsetof(struct xen_varbuf, buf),
> +                              str, sz) )
> +        return -EFAULT;
> +
> +    return sz;
> +}
> +
>  long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  {
>      bool_t deny = !!xsm_xen_version(XSM_OTHER, cmd);
> @@ -711,6 +765,14 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          return sz;
>      }
> +
> +    case XENVER_extraversion2:
> +    case XENVER_capabilities2:
> +    case XENVER_changeset2:
> +    case XENVER_commandline2:
> +        if ( deny )
> +            return -EPERM;
> +        return xenver_varbuf_op(cmd, arg);
>      }
>  
>      return -ENOSYS;
> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
> index cbc4ef7a46e6..0dd6bbcb43cc 100644
> --- a/xen/include/public/version.h
> +++ b/xen/include/public/version.h
> @@ -19,12 +19,20 @@
>  /* arg == NULL; returns major:minor (16:16). */
>  #define XENVER_version      0
>  
> -/* arg == xen_extraversion_t. */
> +/*
> + * arg == xen_extraversion_t.
> + *
> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.

Like Jan and Julien I also don't like the word "broken" especially
without explanation of why it is broken next to it.

Instead, I would say:

"XENVER_extraversion is deprecated. Please use XENVER_extraversion2."

If you want to convey the message that the API has problems, then I would
say:

"XENVER_extraversion might cause truncation. Please use XENVER_extraversion2."

Or even:

"XENVER_extraversion has problems. Please use XENVER_extraversion2."



> + */
>  #define XENVER_extraversion 1
>  typedef char xen_extraversion_t[16];
>  #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
>  
> -/* arg == xen_compile_info_t. */
> +/*
> + * arg == xen_compile_info_t.
> + *
> + * This API/ABI is broken and truncates data.

"XENVER_compile_info is deprecated and can truncate data."


> + */
>  #define XENVER_compile_info 2
>  struct xen_compile_info {
>      char compiler[64];
> @@ -34,10 +42,20 @@ struct xen_compile_info {
>  };
>  typedef struct xen_compile_info xen_compile_info_t;
>  
> +/*
> + * arg == xen_capabilities_info_t.
> + *
> + * This API/ABI is broken.  Use XENVER_capabilities2 where possible.

"XENVER_capabilities is deprecated. Please use XENVER_capabilities2."


> + */
>  #define XENVER_capabilities 3
>  typedef char xen_capabilities_info_t[1024];
>  #define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
>  
> +/*
> + * arg == xen_changeset_info_t.
> + *
> + * This API/ABI is broken.  Use XENVER_changeset2 where possible.

"XENVER_changeset is deprecated. Please use XENVER_changeset2."


> + */
>  #define XENVER_changeset 4
>  typedef char xen_changeset_info_t[64];
>  #define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
> @@ -95,6 +113,11 @@ typedef struct xen_feature_info xen_feature_info_t;
>   */
>  #define XENVER_guest_handle 8
>  
> +/*
> + * arg == xen_commandline_t.
> + *
> + * This API/ABI is broken.  Use XENVER_commandline2 where possible.

"XENVER_commandline is deprecated. Please use XENVER_commandline2."


> + */
>  #define XENVER_commandline 9
>  typedef char xen_commandline_t[1024];
>  
> @@ -110,6 +133,42 @@ struct xen_build_id {
>  };
>  typedef struct xen_build_id xen_build_id_t;
>  
> +/*
> + * Container for an arbitrary variable length buffer.
> + */
> +struct xen_varbuf {
> +    uint32_t len;                          /* IN:  size of buf[] in bytes. */
> +    unsigned char buf[XEN_FLEX_ARRAY_DIM]; /* OUT: requested data.         */

I realize that you just copied struct xen_build_id but I recall from
MISRA C training that we should use plain "char" for strings for good
reasons, not "unsigned char"?

If this is meant to be generic data, I think we should use uint8_t
instead.


> +};
> +typedef struct xen_varbuf xen_varbuf_t;
> +
> +/*
> + * arg == xen_varbuf_t
> + *
> + * Equivalent to the original ops, but with a non-truncating API/ABI.
> + *
> + * These hypercalls can fail for a number of reasons.  All callers must handle
> + * -XEN_xxx return values appropriately.
> + *
> + * Passing arg == NULL is a request for size, which will be signalled with a
> + * non-negative return value.  Note: a return size of 0 may be legitimate for
> + * the requested subop.
> + *
> + * Otherwise, the input xen_varbuf_t provides the size of the following
> + * buffer.  Xen will fill the buffer, and return the number of bytes written
> + * (e.g. if the input buffer was longer than necessary).
> + *
> + * Some subops may return binary data.  Some subops may be expected to return
> + * textural data.  These are returned without a NUL terminator, and while the
> + * contents is expected to be ASCII/UTF-8, Xen makes no guarentees to this
> + * effect.  e.g. Xen has no control over the formatting used for the command
> + * line.
> + */
> +#define XENVER_extraversion2 11
> +#define XENVER_capabilities2 12
> +#define XENVER_changeset2    13
> +#define XENVER_commandline2  14
> +
>  #endif /* __XEN_PUBLIC_VERSION_H__ */
>  
>  /*


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 00:58:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 00:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584154.914607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW4rd-0004lF-V7; Wed, 16 Aug 2023 00:58:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584154.914607; Wed, 16 Aug 2023 00:58: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 1qW4rd-0004l8-ST; Wed, 16 Aug 2023 00:58:21 +0000
Received: by outflank-mailman (input) for mailman id 584154;
 Wed, 16 Aug 2023 00:58: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=vkqM=EB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qW4rc-0004l2-BO
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 00:58:20 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbd759d5-3bcf-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 02:58:17 +0200 (CEST)
Received: from AS9PR06CA0685.eurprd06.prod.outlook.com (2603:10a6:20b:49c::33)
 by DU0PR08MB9934.eurprd08.prod.outlook.com (2603:10a6:10:402::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.19; Wed, 16 Aug
 2023 00:58:13 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49c:cafe::6f) by AS9PR06CA0685.outlook.office365.com
 (2603:10a6:20b:49c::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 00:58:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 00:58:11 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Wed, 16 Aug 2023 00:58:11 +0000
Received: from fa0c28a5558a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 708FC8DC-AAE4-4E36-86F7-2C4A622B3988.1; 
 Wed, 16 Aug 2023 00:57:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fa0c28a5558a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 00:57:44 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB10111.eurprd08.prod.outlook.com (2603:10a6:20b:62d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 00:57:42 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.025; Wed, 16 Aug 2023
 00:57:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbd759d5-3bcf-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QSI45SNvnP3HvoyGKGqZ0gBT0ZWUDBLe3XlpjiZhIfQ=;
 b=me6JKm76k4X8WwKsBbNJOgZCuWSXhdoS+aJ9EQQzAEW9AxPDLeMaAHUW86/YH33MA3MqIddK76bc2nOA6rT/mNVvzs0aFpsC7SEImBMPtzklb4bO49tWbVQchgK7ktMwD9AG8t61BdO+qGxOIapvngbpZFHUWIfmrk2GwbQhgLM=
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: d76b5464bc56474f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M3qM4SMRKH2d7DFfkzi/ho8DlHorT6Ff3zy+HGXwo4SoGR02i56HNhV8LGwXL57xgPBZZTb71mzPZ7seEKZYHfcgD00O4Cf5LFqbJxU8CRQUlTOT6aPxT2TYSU0WE2rEuxsFU+SiXfw/A0YCwG6LmwBtW/b/NmP0mCA8+3dY0CCMyUCNZl14v3olcrlVKdeWlf8g4EOwXg/RT33D/bm2KdT6r1X/yrO9fmWtsbJhmuP3zVEzeCm2JrR+/DP9fI6DMQ/LIYGBdCrIPAdi6J+rkKBQmd3fjoUc0iDn7+Lr8/55saYBvZ5QhYr9dnLNRlmtqla1FOloMEgAj7Iq9DDraQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QSI45SNvnP3HvoyGKGqZ0gBT0ZWUDBLe3XlpjiZhIfQ=;
 b=mSBPjEAnPjcl2MyhrV55z8wUMNnPkqHyEYEsmuC6Db05KeojuqtsAmPFONTib45Ya2Uaa5orSNz2AxWNKB4iT3qg4CeMLdapLyrPfyPZjMTOmV8XOrVzUYcvw4YZZP3jd7mwWbcp0z8KWgxRLftfxFGnCv8yewMn19wLWHoFQpVqytQwPshx+B+RByaWw3E3vrM7zKkrAjqDTNF83j0ULA2TpZ5e2zByvyTOScinwbA04C8aqJeJVTXqg4kOkI2a+/5BfG9q5DplN7AoT/ZtGK+7Hi3oQGJi7EfS3XFx8lkm4odwkDyvp4PMTIQLAY5B5bGPwzsezSGA+YhrCgE2bQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=QSI45SNvnP3HvoyGKGqZ0gBT0ZWUDBLe3XlpjiZhIfQ=;
 b=me6JKm76k4X8WwKsBbNJOgZCuWSXhdoS+aJ9EQQzAEW9AxPDLeMaAHUW86/YH33MA3MqIddK76bc2nOA6rT/mNVvzs0aFpsC7SEImBMPtzklb4bO49tWbVQchgK7ktMwD9AG8t61BdO+qGxOIapvngbpZFHUWIfmrk2GwbQhgLM=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH] docs: Drop warning about 2M limit for ARM
Thread-Topic: [PATCH] docs: Drop warning about 2M limit for ARM
Thread-Index: AQHZz5OxHT8OQs1H9kWyKs1vVdMBdK/sGhuA
Date: Wed, 16 Aug 2023 00:57:41 +0000
Message-ID: <F246E5B1-CDDA-4E2B-860A-F966E3096F7D@arm.com>
References: <20230815161425.2202782-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230815161425.2202782-1-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS2PR08MB10111:EE_|AM7EUR03FT036:EE_|DU0PR08MB9934:EE_
X-MS-Office365-Filtering-Correlation-Id: 26c74b2a-e109-4778-9c8e-08db9df3dd1a
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:
 EVb2CO0+eCfAaef/Ky0jScnscau/jkqQm/UMYVEgqvMpiI+xnKBII2FhGNIqoss9wbcwoEJvKV2UL6sGbyMM5MBJ7z6V/nLC3Vx6DVhs3yCIf33yl9NnzjicuKvAaV0nY1P54mmGxYqJBDrkxSarsFDT0+tB3HH6dNw6Tn0L5FLrnN3YBk8v5JBaS8wQT37sEoPamgLfoJv5SIr7tSfyrOanO7LEfB+cSwpBM8TCJMG/R6/MuKPBBkcnuOIbeTyzs+RQh3J9q38VrI7RbtU8yxPnA2sT+o8d8WDCZjNbcX49Aouq6qP23z9xkkxyFVkG+tXeY7GMvi/UAUXdUm+cetUMcTzFh+GjCbz7ib3EhlhXAmQqre77NiWNjQYsEgZWO/0XANRFFsesYQ+wM/Fug7t1UG357n0cgIeKGdxzTEmc3KkgSL5J+SK/Y+odUOuiKJ+AXQtZEyp/dO+cNx05Qh/dB8fEwFNwq3kFAFpvmAesO7uks1ZJy+oVpFWqdxjv7v67/vjJrJFoNsT6TNx2/dN8Skm0zyvCH0oXIjl4OLbbyF1JWgnyjTIIFKCn/n49pXctJ0m/X3hvb96gyS0hrMeAXWQYNkcLFYq24YEmh6kMnCG1tTZfH8oZC3SSWOesAsW+9B9+GuEhJjrQJrBmIQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(39860400002)(366004)(136003)(451199024)(186009)(1800799009)(122000001)(66476007)(478600001)(5660300002)(6512007)(76116006)(26005)(38070700005)(8936002)(6486002)(66556008)(558084003)(53546011)(38100700002)(6506007)(2616005)(316002)(71200400001)(91956017)(66946007)(54906003)(6916009)(64756008)(66446008)(8676002)(86362001)(2906002)(41300700001)(4326008)(36756003)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7A0A87CA125995438A70E3D2806305E7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10111
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8df8b7a8-86b7-471c-b011-08db9df3cb3a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SqGa3owv2qRZHWSwQRGguC+9DiTuvn7KSac1466fi5z578lyufF/ePUDFRaAqhv2qIJkXUcwOJZGJFVBeIeH70uhfRSP22RFhcbFBGGCM/T7vAesmVYYBosWo814tfdMhmAiX/q8eMLnXjiYrC3OGzFnjUh7lFx2klRJFdgR+BLIujvoe4aRwrvgBOPhftPaeFFa80rquYjFiho4G5zI/0L1agjjjm/dKmUujxzH3vodKrDiaR8X5AHksLBx6qCcgxE7A+kA9QLYR+vc4dwm9uhEuDVUy8P/Kmt1Xm3UuaSCAqgX8J61CDCkPpOtkIi5jxb7fcCT2MySJhtR7EIr1g5SLrMN/BWybrQWpCzr825xYocaKWKq5DhpyBQdhSG6SWAqfRfqD2ZhexJmqbQiZH5SkT+t7auUEfvAZv0jPlgVDwtAaBerIWBQV/rRTWB2i9clhfn5LO/gw5PRrbITUvdUg8wr0RJ3wqIuaunBraxekiaWUjh5T+qQgqAsn3KLXOdDNsU/eiVOXp7iVLM/wK15/O87ZnmkiXKjYIPNpGukHMK8F8AbvC8kxVOjGSpHzh96DZPEwElxMTbJYr8ZLiidBkg25tbQHQ2GU21B/4DqLtdptrrnnblwXx978blQrq5hSbNKBKFgtvCO1x8dahdoRWea4EnBvLyn0j8CfGqH1nkkJ8e3txlQZBai8k4rlBln3rCy+U39dSLNslOe5Lm5bJVpOKlh0SjpKIpjduQJHMGtIQ4fZcre6jIq3bgG
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199024)(186009)(1800799009)(82310400011)(46966006)(40470700004)(36840700001)(33656002)(5660300002)(54906003)(41300700001)(8676002)(81166007)(2906002)(47076005)(70586007)(40480700001)(82740400003)(6862004)(36860700001)(26005)(316002)(36756003)(70206006)(4326008)(558084003)(8936002)(6486002)(6506007)(356005)(53546011)(86362001)(478600001)(40460700003)(336012)(6512007)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 00:58:11.4554
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 26c74b2a-e109-4778-9c8e-08db9df3dd1a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9934

Hi Andrew,

> On Aug 16, 2023, at 00:14, Andrew Cooper <andrew.cooper3@citrix.com> wrot=
e:
>=20
> This issue has been addressed in the 4.18 timeframe.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 01:29:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 01:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584161.914616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW5LB-0001wq-D3; Wed, 16 Aug 2023 01:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584161.914616; Wed, 16 Aug 2023 01: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 1qW5LB-0001wj-AD; Wed, 16 Aug 2023 01:28:53 +0000
Received: by outflank-mailman (input) for mailman id 584161;
 Wed, 16 Aug 2023 01:28:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vkqM=EB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qW5LA-0001wd-3P
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 01:28:52 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40b8784a-3bd4-11ee-8776-cb3800f73035;
 Wed, 16 Aug 2023 03:28:50 +0200 (CEST)
Received: from AS8P250CA0029.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::34)
 by AS8PR08MB8875.eurprd08.prod.outlook.com (2603:10a6:20b:5b7::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 01:28:45 +0000
Received: from AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::e2) by AS8P250CA0029.outlook.office365.com
 (2603:10a6:20b:330::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 01:28:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT004.mail.protection.outlook.com (100.127.140.210) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 01:28:44 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Wed, 16 Aug 2023 01:28:43 +0000
Received: from 358d3427b9b7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C7E71223-501D-43DE-A410-7BFDD63AA9F1.1; 
 Wed, 16 Aug 2023 01:28:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 358d3427b9b7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 01:28:01 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAVPR08MB9508.eurprd08.prod.outlook.com (2603:10a6:102:312::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Wed, 16 Aug
 2023 01:27:59 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.025; Wed, 16 Aug 2023
 01:27:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40b8784a-3bd4-11ee-8776-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7NL2aG1q3F3x9xcOyZD8o/B+s2DhSAUNDUgEjnxCSkQ=;
 b=AHAd71LjoE7mOTFZTL5txFgke8CrUTYQOx+HRt2uqzkZp7LdYavpMKO5uqgEBthxQFVlTRgdvBaJZSS906bQeSKSFNgSK1856Yk/26Xm1IXMoycTLCG2U6a/sR3xh/3uPcN+S6aWUPstuvuswia5FQKEETQRYx0edWd2FD1Sy/M=
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: 2958f7cab5455f16
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ffxuhvZXdAesr6DRSQpEU0NJ8f0VbA3BxvSNlbtGLTVLBejALWNeIyCm8vOBNE+F3l6fD7Lh9s/LyZi8niZ2D3bYUFUG2S2mjtNGJ3EyF44zc9tFvqbI2Z9PRArKvdckN+SAQy90c325RNmTFRyfqPjWcBQSpo7Z5DnGTGNYtC/VklwDXsmgThFF4EtRNLUyxWEZL/xKiHJH6YmLGrLfB8Wdgj1Px+4tqjjVruRTLPB71jv3sd4gQRB3PU9H2kdrNoml8vTB00BYZs8RnVKfSUoTTQ/TDEcbjXrmiskCL+7/JjPBm4KyA+QC1hn7nmNzmNuxzHgGUubz0CZmfJFF7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7NL2aG1q3F3x9xcOyZD8o/B+s2DhSAUNDUgEjnxCSkQ=;
 b=ByPeHPnJOy1Z20c7rDgRNqzVxgpu29ig5i9A/dQ/2B6FNaExF8AsXsvMZlorYKGaH4WaBRAgRtDfhbeMh4x8tkxt/WgzOtx127e91/RHwgsr+SIg3puYveNncOC4m3F2oDVwiseGRG3VOKqmVJ9nGm+NsIOwxghlKwJUp18TMXd0g9QfnwWOzypUB+ri4jZJHo03istCvuTcV3p0vsnk1I1t/3eZ3BgKAOiFXwkzUJFsCoglSJPrbVvoNXUDSpAZpwj57xTU8frA8LHwfklHoDmvJ3q082DirKjLorouRhD3nuqcGbzx4Z6fVpMMA7FUrQAOHI4RhQNEVbnoAua9tw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=7NL2aG1q3F3x9xcOyZD8o/B+s2DhSAUNDUgEjnxCSkQ=;
 b=AHAd71LjoE7mOTFZTL5txFgke8CrUTYQOx+HRt2uqzkZp7LdYavpMKO5uqgEBthxQFVlTRgdvBaJZSS906bQeSKSFNgSK1856Yk/26Xm1IXMoycTLCG2U6a/sR3xh/3uPcN+S6aWUPstuvuswia5FQKEETQRYx0edWd2FD1Sy/M=
From: Henry Wang <Henry.Wang@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: Re: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Topic: [PATCH v2 2/2] fdt: make fdt handling reusable across arch
Thread-Index: AQHZxfe0sdxLBCk0m0eqfbJm59//E6/ZhneQgAdlrQCAC0mnAA==
Date: Wed, 16 Aug 2023 01:27:58 +0000
Message-ID: <966AB2DE-450B-4A7B-95B1-74D68BEC2B84@arm.com>
References: <20230803104438.24720-1-dpsmith@apertussolutions.com>
 <20230803104438.24720-3-dpsmith@apertussolutions.com>
 <AS8PR08MB79912C0FD1E3B1AA5988175B9209A@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <90656f0f-0597-31ed-190e-d697e081d4b5@apertussolutions.com>
In-Reply-To: <90656f0f-0597-31ed-190e-d697e081d4b5@apertussolutions.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAVPR08MB9508:EE_|AM7EUR03FT004:EE_|AS8PR08MB8875:EE_
X-MS-Office365-Filtering-Correlation-Id: eb8b2252-b6cc-42ec-4bb1-08db9df8216d
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:
 t5dJ709JggCmzti4DzhAkIBQWGBYanC/IEy6Dir+dqKrQKfFI90nYEHy34FqqQMLM5413xgPOtRo78y1aljG1Lb0YI4csStqQBErP7eFn2NVfCGxqoKnpda4JkiO3UqIEoTe2tlA5ay5rVeTQkS53wFtzU2LrtKeMMjWrcifcOhQYq7woJe3nAoNrf9J3EkWxTOILoS/ciEz6PzeQFtk49Y5nc3nrEwBK5SKwGSDAQohYMmlE+N7S7INadEi6YabnSAylnaSH/rHX+4AVMTXxhL3KtcnKTjki12uCKQ6nITSllgOgK/bWmayxakhSFxHTSVN+Ivi0vvgw0qf/9vRMlWDH4zU8Acrv2Q69IpGprCHAEJD+XFL1rkPeVsnK8YpQNZ02tC+ALYooZabGpaT3cswNH6rCD9fRYEv1DpUoS9I0vOd6+UMqV/qChivB+dKl886o/Jd64turTgfnQmN5MUFSs6fJ17qw0N9pQv1t+fGtm3j446OS2CmUk7m191R0G4PM8QyZvCLlb7xNdSuLFPGj15ioFus3vM4YDRQh6jotDCv6B1LHpeebztpJZbY6BmQIbY9zp8m9YREOmUNFWASKXWrt6qMDyZMIfn+JwOEnZSdb9GPmNCAlfaZIKY1NmXwMzJuo6wcL+vYuIZ8Mg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(346002)(39860400002)(376002)(451199024)(186009)(1800799009)(5660300002)(66446008)(71200400001)(66556008)(66476007)(122000001)(6506007)(6512007)(2906002)(53546011)(38100700002)(54906003)(38070700005)(41300700001)(86362001)(478600001)(2616005)(316002)(26005)(8676002)(6486002)(33656002)(83380400001)(66946007)(36756003)(91956017)(76116006)(64756008)(6916009)(8936002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <7905D5B131396446BB0CE464C8886589@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9508
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:
 AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	37a16e75-c3b7-438a-73c2-08db9df8066c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i4YttZ9TkGAQJHKWSqGJN3zVqGL42o7BTgtvTtuoYgMa9zDkKXCDKOiP4xmzofmLq3Pj2oczyxeQso/g2ClwojpcHw47akL5NTirjTezl5fZ0xJYSSkoYBijz3TH/0K5/c8LH2RL0XQIZWCZebhU5wxxQSi579L1L+frbv0rSjWg4iKZR6dDWpyqwoWJrK9/0oeyWFYMOxQCoKpnUoEjrGu1R4nMQaof5L1mj9y7oHRT9P4bBsPJY/1VcdawKcu1FFpxuDaVbkqYHrxAFCDbOGj2dsP2hA99mhrP1AHhYUFHlVcDAmJwSkhrLuBZJvo1x1zeub86XZtHvb1dM38QaqXUy5GYNyTMOqXUlqASJgSeczWAOcHCZFMl3h1UkCuV4iMtTELhL3Nxgz0TVlSBMOQLdpbv51sdnErBEMR9FMm8bO625up1Kf84FOboVI/tzzEHBxmVSgKjYRCjXpM8XQPDmZkoifPQ53dRRtGSNg7obMrY2EnLq0jtpWYTJwZgWFeFdc2sQi8MTe7I+phNfTPmRxaKHZhHjvRoHn+uH8OIjGcZdmpOatTAkjAxIShOkedEp8AkAkKW9vPsnj2mf1DJjwtOFJgz6NCVqGlevkGkGhoUt7lTaDvmnX5eZT3z5my4xZ/Mhen1+g8h2qtWONTRNFbY2UW20o4TjGXT82bs57LYnVNrWkJ+kQGE+pqdM81uuwLY/xK9Vhi9CXbXb1DMnPh30KZOimFMrzKokeg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199024)(186009)(1800799009)(82310400011)(36840700001)(40470700004)(46966006)(478600001)(86362001)(6486002)(2616005)(36756003)(70586007)(356005)(6506007)(5660300002)(47076005)(70206006)(40460700003)(316002)(41300700001)(53546011)(36860700001)(26005)(81166007)(82740400003)(40480700001)(33656002)(83380400001)(336012)(54906003)(4326008)(6862004)(2906002)(8936002)(8676002)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 01:28:44.0849
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb8b2252-b6cc-42ec-4bb1-08db9df8216d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8875

SGkgRGFuaWVsLA0KDQo+IE9uIEF1ZyA5LCAyMDIzLCBhdCAwNTowNSwgRGFuaWVsIFAuIFNtaXRo
IDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPiB3cm90ZToNCj4gDQo+IE9uIDgvNC8yMyAw
MDoxMCwgSGVucnkgV2FuZyB3cm90ZToNCj4+IEhpIERhbmllbCwNCj4gDQo+IEhleSBIZW5yeSEN
Cj4gDQo+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+PiBTdWJqZWN0OiBbUEFUQ0gg
djIgMi8yXSBmZHQ6IG1ha2UgZmR0IGhhbmRsaW5nIHJldXNhYmxlIGFjcm9zcyBhcmNoDQo+Pj4g
DQo+Pj4gVGhpcyByZWZhY3RvcnMgcmV1c2FibGUgY29kZSBmcm9tIEFybSdzIGJvb3RmZHQuYyBh
bmQgZGV2aWNlLXRyZWUuaCB0aGF0IGlzDQo+Pj4gZ2VuZXJhbCBmZHQgaGFuZGxpbmcgY29kZS4g
IFRoZSBLY29uZmlnIHBhcmFtZXRlciBDT1JFX0RFVklDRV9UUkVFIGlzDQo+Pj4gaW50cm9kdWNl
ZCBmb3Igd2hlbiB0aGUgYWJpbGl0eSBvZiBwYXJzaW5nIERUQiBmaWxlcyBpcyBuZWVkZWQgYnkg
YSBjYXBhYmlsaXR5DQo+Pj4gc3VjaCBhcyBoeXBlcmxhdW5jaC4NCj4+PiANCj4+PiBTaWduZWQt
b2ZmLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+DQo+
PiBBcyBzYWlkIHllc3RlcmRheSwgSSB0ZXN0ZWQgdGhpcyBwYXRjaCBhbmQgY2FuIGNvbmZpcm0g
dGhpcyBwYXRjaCB3aWxsIG5vdA0KPj4gYnJlYWsgYW55IG9mIHRoZSBib2FyZHMgd2UgdXNlZCBm
b3Igb3VyIHRlc3RpbmcuIFNvDQo+PiBUZXN0ZWQtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdA
YXJtLmNvbT4NCj4gDQo+IFRoYW5rIHlvdXIgZm9yIHJ1bm5pbmcgaXQgdGhyb3VnaCB5b3VyIHRl
c3RzLg0KDQpNeSBwbGVhc3VyZS4NCg0KPiANCj4+IChCdXQgSSBzYXcgdGhlcmUgYXJlIHNvbWUg
Y29tbWVudHMgZnJvbSBNaWNoYWwgYW5kIEx1Y2EgYWJvdXQgdGhpcw0KPj4gcGF0Y2ggc28gSSB0
aGluayB0aGVzZSBjb21tZW50cyBuZWVkIHRvIGJlIGFkZHJlc3NlZCkNCj4gDQo+IFNvIGZhciB0
aGUgY2hhbmdlcyBhcmUgc3R5bGUgYW5kIGEgZmV3IG1lY2hhbmljYWwuIFdoaWxlIHVubGlrZWx5
IHRvIGNhdXNlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBjb3VsZCBicmVhaywgcHJvYmFibHkg
YmVzdCB0byBob2xkIG9mZiBhZGRpbmcgeW91ciBUYiBmb3Igbm93Lg0KDQpTb3JyeSBmb3IgdGhl
IGxhdGUgcmVzcG9uc2UsIHRoaXMgZW1haWwgc29tZWhvdyBmYWxsIHRocm91Z2ggdGhlIGNyYWNr
c+KApg0KSSBhbSBvayB0byByZXRhaW4gbXkgVC1ieSB0YWcgYXMgdGhlIGNvbW1lbnRzIGFyZSBv
bmx5IGFib3V0IHN0eWxlcyBhbmQgbWVjaGFuaWNhbA0KY2hhbmdlcy4NCg0KS2luZCByZWdhcmRz
LA0KSGVucnkNCg0KPiANCj4gdi9yDQo+IGRwcw0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 02:53:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 02:53:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584167.914628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW6fD-0003NW-H1; Wed, 16 Aug 2023 02:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584167.914628; Wed, 16 Aug 2023 02: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 1qW6fD-0003NP-BO; Wed, 16 Aug 2023 02:53:39 +0000
Received: by outflank-mailman (input) for mailman id 584167;
 Wed, 16 Aug 2023 02:53: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 1qW6fB-0003NF-Gi; Wed, 16 Aug 2023 02:53: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 1qW6fB-0001DN-BJ; Wed, 16 Aug 2023 02:53: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 1qW6fA-0004rf-Tw; Wed, 16 Aug 2023 02:53:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qW6fA-00009L-TV; Wed, 16 Aug 2023 02:53: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=fZSztP8utLDQolhR5oM73XaG9DDb0OcgKeAUEBDkPds=; b=BUiQxK2Jbyth9HPNn42aFpFtEV
	59IJ1ePCWKl/JEaiRg3uhRllLXwMbJqsapRjCR/+crNcLOiSVK+xYnMPgbYqXppgMizV4WCBfhoRP
	pipl+LqiZ49xTb5rJf1XKyHyxRSa2iaNFMAduA5c30aVVHRlqRGifg58w2fD9ns2aSgA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182338-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182338: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:xen-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=408af44d04476c633065bfb1eca6865ea93f2984
X-Osstest-Versions-That:
    qemuu=bb5f142cb320d45d3d8dee2c82dae003cad39da8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 02:53:36 +0000

flight 182338 qemu-mainline real [real]
flight 182354 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182338/
http://logs.test-lab.xenproject.org/osstest/logs/182354/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt       7 xen-install         fail pass in 182354-retest
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail pass in 182354-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt     15 migrate-support-check fail in 182354 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182310
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182310
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182310
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182310
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182310
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182310
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182310
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182310
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                408af44d04476c633065bfb1eca6865ea93f2984
baseline version:
 qemuu                bb5f142cb320d45d3d8dee2c82dae003cad39da8

Last test of basis   182310  2023-08-13 02:48:06 Z    3 days
Testing same since   182338  2023-08-15 05:38:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   bb5f142cb3..408af44d04  408af44d04476c633065bfb1eca6865ea93f2984 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 02:58:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 02:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584176.914637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW6kI-00043O-4m; Wed, 16 Aug 2023 02:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584176.914637; Wed, 16 Aug 2023 02: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 1qW6kI-00043H-1o; Wed, 16 Aug 2023 02:58:54 +0000
Received: by outflank-mailman (input) for mailman id 584176;
 Wed, 16 Aug 2023 02:58:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wzLC=EB=citrix.com=prvs=585ac1913=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qW6kG-00043B-9W
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 02:58:52 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d215f1b6-3be0-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 04:58:49 +0200 (CEST)
Received: from mail-mw2nam12lp2043.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Aug 2023 22:58:46 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA3PR03MB7468.namprd03.prod.outlook.com (2603:10b6:806:39b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 02:58:43 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.025; Wed, 16 Aug 2023
 02:58:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d215f1b6-3be0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692154729;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=JOvtGOEQL5h2CIDs3DAForDG5q5woemTGKoZokM0LhM=;
  b=GK6WNSQx2ppfYnFZC5o6lZMfHdsLOiYCXFUUW4kuX88OAsyThXDvB2Jk
   x6TOnne6e9hXxK3rb6sAzQTypPRZarlXrsj4vaf9XoKLy/7pVjBM3jhuS
   gXEdQTFzRhFY3N2tyO8caL519bqm8vdLcCei/LsoBhqxqygt81A+EVTFf
   8=;
X-IronPort-RemoteIP: 104.47.66.43
X-IronPort-MID: 120028302
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bwCDh6iYQ8lXRhLPNxKJRHL+X161yREKZh0ujC45NGQN5FlHY01je
 htvXWGCa6qPYWrxfo9wOYS/9kIA65bVnIRrQFRory8xQnkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AaDzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQqFz1WMAGfvtutybGVa7crqJ8xC5PkadZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluS2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuXgrK4x2Af7Kmo7BT9OWwGkmsmFi3WGRPJmG
 U4/+Qo+hP1nnKCsZpynN/Gim1afpQIVUddUF+w86SmOx7DS7gLfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaESocK2MYdDIHZQQA6tjn5oo0i3rnbPxuDaq0hd3dAizrz
 naBqy1Wr6oXpd4G0eO851+vqzCxopnESCYl6wORWXiqhit1a4KoaJahwUTK5vZHaoCCRx+Ou
 2Zss8SG9+UPEZGlnTSAWvkQB6qu4+uZMTramhhkGJxJ3xSg/WSyO79Z5j5WLV1sdM0DfFfUj
 FT7vApQ4NpWIyGsZKouOYapUZx2lu7nCMjvUe3SYpxWeJ9teQSb/SZoI0mNw2Tql0tqmqY6U
 XuGTfuR4b8hIfwP5FKLqy01iNfHGghWKbvveK3G
IronPort-HdrOrdr: A9a23:v/uzW6sNc0dh6Cs4TvuJrANR7skDYdV00zEX/kB9WHVpm6uj9/
 xG/c576faQsl16ZJhOo6HjBED+ewK4yXcY2+Qs1NSZMjUO2lHYT72KhLGKqwEIcBeQygcy78
 tdmqFFebnNMWQ=
X-Talos-CUID: 9a23:zVIcs2FqNvgYg1HjqmJVy0NPRNE5S0TGxXT+AhH/Jz17b+eaHAo=
X-Talos-MUID: =?us-ascii?q?9a23=3Az93I0Q9L2cWNaPQnnBYPFyeQf8pKu6r0F3s9rZQ?=
 =?us-ascii?q?9g9akDB5yEDS9nB3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,175,1684814400"; 
   d="scan'208";a="120028302"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eiro0QjK9kfA+b3kL+nJSHtZCIfoIthJGqcX+69f3PMNe26ArSA2Qm1+iSapNAHHehEz1L1G/hVT2zCtQ3mo0qKKh/IHzE6FFIn9TFgJHuNAnXI2ecfs8IhUxxIFvqMy4xCeZ21DC9b2oCAPA3iDpOUgl0bTNXWgDNnSAHlyIqtrH1mporQdXXZ0vzP50bYer2/XdleabowVA+eNKhQ4KeWPtpgnRZxxH5bqTyw3PwqP5kiS+WJl45ZExQaba5jfYGhjPfmOAl5d3snOFKOQA86CNPfda7hVNOEFUYLT4/FcajDEiKYZWEqtqs66iTmW3LEZ/HOnuLyYssdDRPp6+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QLN4c064N+ZTpBoU7886QaD5i8emmbyeKhiOTfG7/gg=;
 b=MSPEW26Qv/fCHk6H56UxmIIEKTwjqfbMb/L0gcqOrHLu4ePe2YQddcUAocyuGw5+8tjzC+7kKViy5e+6QRuadVnA5jxCQjaTA/0/lJrp6cnziZwtZv9NnMVfD1ETIOSDDfJPODqpXVuIO8fBR5ndVHqKyXQTXshi4hKXD4+Edx+g44eBtNNSqhy8XcZ6bx6XzSMQ/j4lZXjIOgz13hdGlqbQf4/XfUNZ4upbgD5vgYYnCG5A0xkwO2AEEGuDY0/dHn+ckRYvfEA2z1jlfYzgUsKxyfLZO/HlT9X04Jbrqq3ivmncKu7ZvFYdsh+XB7olp9XRI3b3gFjzYLgYf3j3lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QLN4c064N+ZTpBoU7886QaD5i8emmbyeKhiOTfG7/gg=;
 b=K1DrHbg7Yth7FxFODqcjWN1QuENQFGHvOsRAVdiRguGl3ZKA8S2dbd1pNKGTHo0ZodVA2VZOLE6ZsU4EUuU2QugVMkfsSCnTOfCkYjjpNBvghn/p2PkwCjzFEu9PZHVlN+R9GIRp/9o6KqGr9nA4XmlMRpolagSiSfCVMQB7//Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
Date: Wed, 16 Aug 2023 03:58:35 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jason Andryuk <jandryuk@gmail.com>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 Daniel Smith <dpsmith@apertussolutions.com>, Henry Wang <Henry.Wang@arm.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0024.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA3PR03MB7468:EE_
X-MS-Office365-Filtering-Correlation-Id: 45d35c73-6a31-42bd-aef0-08db9e04b2e3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9ZcoJjE+VorSAGlH4j1+B1Xc9oOJfEZLbBO6Czvpc0VVDuYX6XlWOpVMmOoUPv61eA6wt/3xCIC5yNdQ33CDxcstVzXpBJeV6GeqZehtJ+L1vIYReNJ9Kf0lmV1onExIQ1hIvpIJufd0CdYwnfEs2nkuOFrz8sGKJbjNJQfus+xZshagtPkjwOXOnwSwdliqExjtJFhj2fgIPgEz2osY2eJ+ncqQtO+WHhqV9znJN6YJ0KYczwUpK7CoyS/aggIrwAUmMH712c+XuaoyFkkOOiq1mQ2mJ1sah0mafzLCenGRleTSfkABJrWmqUg4JscuLeI6hZRRJbSRv6SRgL2TdE9BsEOtJ3FFVA/NpFHZRXutZXnCHlJ3ztoLnhCjnc9twnOSM9iJi3e9JF08Xdyax3JWEdioL4/eOxWfe3F2AqT+EMVzC3QiOStyLL8WcJHsx5hu+IliHO+x+G2eg7AAUNb+8ABWowudApe9oXVKyiA8GxqsQr+rQ7VXSLG8GDyth5WKykL6WaTtldAc57KB/WPKTfhWPnQhmR5BwrTcEBXQyXajWIuDkHPO4/i6hkFwunR3PE4MtzweNFQ4DW7PBrTAQVyuxz9NkVDxOBtKosCF+4qeoTup7oiZY9kVTIyJXSjtRg82d1X675P0VGflpA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(6666004)(54906003)(31686004)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(26005)(6916009)(7416002)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(38100700002)(82960400001)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZjNLYVJROC8vRWFxTVZvcXRHSUtDeENnc2tDaWJ6cEtNMzdDQUk4ZThQWmtV?=
 =?utf-8?B?cGk2dmpPQmZaYVpTU045N1h2VmtVVlZ6QlVmK3dpUUFPa3JhODdxeEJYS3Rx?=
 =?utf-8?B?S1lWY2g3SE8vTzJhbWJoOVM0VmtIN3ZVb2MrMHdtdzVpcXJnc1BkNXhoRGpp?=
 =?utf-8?B?SlByMWQwdXkraHI0Z1BLRHo5MkdENDA4QkRRQmFVTHF5dFRIM3lXRnhqZmQ1?=
 =?utf-8?B?VFhON25FdVE0Y2srcDZhZDVGSFZDT003Ym5iUFN6V08zWUFVd1BqNXZETGFr?=
 =?utf-8?B?QnI1NG5XdEZLcTdhT2o0SjlSR2pLVlYwdVB5dTlRRWFvTWowZTZmVXJrMnB3?=
 =?utf-8?B?RisxR3phS20vd1dMa3NVdzZSTDUrRGdoNGliNjB5NnJtTncwYmFhdEc2WGVx?=
 =?utf-8?B?djd1b0FvODU5ZWl1SDhiRVNwV3pDQVVhVWdaVGVYZlVES0JxWFRQdVNVTXBR?=
 =?utf-8?B?c0ZEVXJFdmxScTRHOThSR1dSRFo1amJ2diszelRLcldzVHVHN0FibVYzYjlN?=
 =?utf-8?B?K0w5cmthci9EMWtSdlpkMW9kZ1M1OVArekYyUDROcFpUelMydTdzMFoxMTQ1?=
 =?utf-8?B?M0tlWTNpQW9hMm9KRFcwbE1vb0Q5U0hjL1AyUmJRbUNlQTR6UE5pNmFTMkE4?=
 =?utf-8?B?YTg3bzNzdEJZempqZWNrcUhHZjBiRFFDbEpsV3RVUCtPL3kraXV0UGRkN0tz?=
 =?utf-8?B?Z1BUdmRkckozRjdtWjNOejFiTDltbFpiR1VSZG96UlhObHpIdWxYR1QxWkdG?=
 =?utf-8?B?cWFaa0pCeHRSdEZuUEYwR2pNZHZqY254dTk0T1NuSGxLbFUzb1NsV1JCNDh1?=
 =?utf-8?B?VWZrQ2s2QXIrZmkxR213L2xBWHJaTjBIVkJxcmxNZ3RxY1MxbElkcmtSbWYy?=
 =?utf-8?B?RWZyWTAxejh4N0FOdHMzMkQ1a2tZY2VSLyt0SFYzTmxwWk4vTWZ1YzdsRi94?=
 =?utf-8?B?WnlzNDBnTDhHblVQODI2bTlKa2RWMWlmaW04NlFFdU4wcndTMEwvK1JBUldh?=
 =?utf-8?B?Vi96VXQrNGllbXprWDdHZjNDQkREaGlGNXc0WVZIMHNWQ29tcGMzNy96dWxy?=
 =?utf-8?B?VkV4WEZ2RitxN3M1UExjWmJHNUZHM0FjcTA0Z0pjN0ZMR0N0bWgvaXJHKytM?=
 =?utf-8?B?Zjd2K09wR01SSXhTcHpSVTBKZUkzc2FMV0VLMENXSWZ1Tk5ndEdHNTBhQWQ2?=
 =?utf-8?B?OWRwNUJzRFFweG1tK0FMcjVISXZyRHc2K3V3S2E2WWZXdkVRSVRMeVVCZzN5?=
 =?utf-8?B?cTAvNXc1M1d6cmY4Y3dsWWJjQ3padFNvS0xrRDhCR01BbkVHMWcxUTZ3bFc4?=
 =?utf-8?B?aFhnR2UrUDhFcVZMVXRCMkMrYytHRkkrTkQrNU9QVElHYlcrbEVRZ281NWFt?=
 =?utf-8?B?cy9INE1PQ2dWKy9uTHR5aldubHo0VTV1UGsyUlNFZWZ3Q1kza0VLSkZ4V3N6?=
 =?utf-8?B?WGVUa2V4TkJwZDd2SjMyVzRnQlZQRkNaaWxCSWQwcXhCemNUWml4TGlQNjVk?=
 =?utf-8?B?QWJKQlJ1a2ZXRERhTVMrSExmWVhJUk5xbVVHdVIwN3RxOS83dWw0Unh2M0VS?=
 =?utf-8?B?eXlBVnBDVUx1SkxYaThzb2o1UGk1eUdEU3NxSFFMdUhDc0NhWVJtWTgzQ0hR?=
 =?utf-8?B?MzFEbUZvaGMwOVVCanlLVWo1WnJQdWpCeWdWQU5paXc3SmFTWDg3U0NqOE1l?=
 =?utf-8?B?QmVaY1lNVnRINVdNVTcxOWdLcVJ2TW8wUkFySS9kQVY0UjFadkZEQzZzYzhr?=
 =?utf-8?B?TzlDS0M0S2FQajdIa2xtYkJ4b3NZeW9obWpCa2ZxZ0RKYytCS1lZMWN0L29q?=
 =?utf-8?B?VmFtekluNGY4ZHBZNTBMNWdzbTlhOHBxVjZMcWQzcm5VeFFyYTlCV0I2aVA1?=
 =?utf-8?B?NUdONkpVcmtpeGxZNmsrYmY0ODJvSHN3RnRRUGlreXF5b1hZU090UE51Yndt?=
 =?utf-8?B?dGJ1cnVGWHZjSTg5SFhIYi9aSjdTL1hYZ3N1TVgzdEYzOFRzazArNU5kajd4?=
 =?utf-8?B?TVRnYmM3dVZrbU5TRmRJNGorRlZ4Tyt3d1ZjaDVJR3VmQm5lc0xQalo5eUZI?=
 =?utf-8?B?L1FpSHhFZXpQNDhyYWtlSmx1SkFPRjNWckw4UFFRMVIrQmh3Vmw3a1BpSU50?=
 =?utf-8?B?d00xVk1YREcrTS9xRGZsZ21RU2lXMk1uUHgrYWV6ZC9vZ21rdmpYalhYSGZV?=
 =?utf-8?B?WWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?dmwwVGdLSGdncjJaNFNlNVlzMGNjYWRaNnhDeUNIYlVleGxrWWN3bUZOYTdk?=
 =?utf-8?B?VDA3SE9ZVkdxajVId2NNT29aZmR1Q1RjSDRJdGRvWEdYVFFqMWxXUHNUK0ZV?=
 =?utf-8?B?ME1maC9xVkU2anFxYTR5L200cjJHZWZBV2g0K1E4SmpSODJ4THlRejgxUUpk?=
 =?utf-8?B?V0M1Yy96WVdxeEtlRzB3UHhSRXJZTXQvWndOTHU2ZVl5NGFpTy9rTGRuSDkw?=
 =?utf-8?B?TmUzc2tiMU9YVUFOb1E3QlhlQjF4SDBpRnMwbWVXNEJEeHhiOFZudm1xWFdN?=
 =?utf-8?B?SkN3K2Ezam02b0dCZUYrQURwQzR1d2FGZ1RDbTMrYlpyYWJFaldubit0anhH?=
 =?utf-8?B?WGZKMzFuQVZiZG5oaGpac2cybmlWSTZETXlhOHZmcFFMTHRKRHByS0dwYnNm?=
 =?utf-8?B?cGZNVStiUVVSaWdJSVpzck9QQ2J4c0VBdDMwSE1kL1Q3YkNGSUZKamZ3eXFJ?=
 =?utf-8?B?SUJMK3hlRnptU3VyZFo5RUdjSCtIZ3Zza293MjBzbTRMRWJpSFgyYUJTRVVq?=
 =?utf-8?B?bDBqN0FKTk9JNlNiR1Y1bU1ObjdsU0tlNk9xam45dlNHRFljUEhDVGxjVGl6?=
 =?utf-8?B?QkJFV29ISm1rZW9hZVNuS1pLZGR0aVlnUEp6dzBpT3JickR5L20xU0RsZGMz?=
 =?utf-8?B?N250ZHloNEVPY09FK0N5UTY0b3hSS1lLUmNJTFlzaFpTK29JV1U2a244ZDVp?=
 =?utf-8?B?Qm9kYzdkcm9qM0VoY0R3RW16SnE0MnB1SjArSmlvMlFINzllNlZoVU1CeGJh?=
 =?utf-8?B?ZC9SNFB1aWpYcG13WmZXV2RUSGxvNHFzMUdvT2tIWUFRTHQrY0VJRjlrTHo4?=
 =?utf-8?B?WlFjWDMxS0w3ZTlqVW82eDh3YzNDTmFsZStTcXFPR2FLbWdUNGszS0tPLzVL?=
 =?utf-8?B?WFlLOC92SXFuL1FYcnF3OUczYitOankwL01Ec0RJTWxYclhDOFFRUkY2RzdR?=
 =?utf-8?B?SmdLUFJhck5IV3ZnQVZ4U2dsT1U3cm9Zd3dRTGcxbW9QVjNEaW5HMCtobngx?=
 =?utf-8?B?Zm55WTlocTVCVXVTM2doamx3eFRMUXNEM0E4V3NmQ2hWMHpTV3BOcVp6SVFK?=
 =?utf-8?B?ZGFud2RNOWNjL2NRVEpMVmQ5WDhQYUx1ZWhBY01EYjVpd3F6a2Mrb1pUM3dE?=
 =?utf-8?B?SUh6b3VsTjZuWGw1S0NTR0Z4UXFCS1MrN2RjdnZxaFdOZFZtT0FWbS95K0M0?=
 =?utf-8?B?TUIyK3VSYW1CaDlSUzIxcEhDTHAzRmN1dEgvTjVUYnZVVFAwRlFzU1labnBy?=
 =?utf-8?B?TkN5YkxoM1FZVEg4L1VtUXJlcGdiMlBIazJkV1ZScTBTMUF0bk94M21XMlZT?=
 =?utf-8?Q?IWnDL3g2gQgzA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45d35c73-6a31-42bd-aef0-08db9e04b2e3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 02:58:42.4655
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Qypu9pEXPU02501GGeX/z21WW2V3+l416kTqMJgsZM5SDyK30HWxZeQPZcMq8afem3odTVuvg9no1Tybuh1pW1gAzlUWpJE9nFm48RgaTlE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7468

On 16/08/2023 1:19 am, Stefano Stabellini wrote:
> On Tue, 15 Aug 2023, Andrew Cooper wrote:
>> @@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
>>
>> +    sz = strlen(str);
>> +
>> +    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
>> +        return -E2BIG;
> Realistically do we want this buffer to cross page boundaries?

A 1-byte answer can cross a page boundary, even if the hypercall
argument is correctly aligned (and even that is unspecified in the Xen ABI).

But importantly, this series is also prep work to fixing the cmdline
limit.Â  1k is already causing problems, and 64k is a whole lot less bad
than 4k when we enter such corner cases.

>> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
>> index cbc4ef7a46e6..0dd6bbcb43cc 100644
>> --- a/xen/include/public/version.h
>> +++ b/xen/include/public/version.h
>> @@ -19,12 +19,20 @@
>>  /* arg == NULL; returns major:minor (16:16). */
>>  #define XENVER_version      0
>>  
>> -/* arg == xen_extraversion_t. */
>> +/*
>> + * arg == xen_extraversion_t.
>> + *
>> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
> Like Jan and Julien I also don't like the word "broken" especially
> without explanation of why it is broken next to it.

The word "broken" is an accurate and appropriate word in the English
language to describe the situation.Â  I'm sorry you don't like it, but
unless any of you can articulate why you think it is inappropriate
phraseology, the complaint is unactionable.

Specifically ...

> Instead, I would say:
>
> "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."

... depreciated is misleading.

It would be acceptable for a case where we'd introduced a foo2 to add a
new feature to the interface, but we're being forced to make the new
interface to fix two bugs and a mis-feature in existing interface.

> If you want to convey the message that the API has problems, then I would
> say:
>
> "XENVER_extraversion might cause truncation. Please use XENVER_extraversion2."
>
> Or even:
>
> "XENVER_extraversion has problems. Please use XENVER_extraversion2."

If "broken" is too nondescript, then "might" is bad too and "has
problems" is out of the question.


There is a partial description of the ABI problems in the comment block
beside the new ops.Â  I could be persuaded to extend it to be a full list
of the ABI breakages.

These header files are a succinct technical reference for proficient
programmers to interact with Xen.Â  They are not a tutorial on writing C,
nor are they appropriate places to sentences of no useful value.

Through this series, I have done the hard work of updating the
commonly-used interfaces such that downstreams can stop working around
real problems caused by real errors in these APIs.Â  For everyone else
re-syncing the headers, it is important that the message come across as
an instruction and not a suggestion ...

... People will probably ignore it irrespective, but that's then firmly
on them, and not on Xen trying to downplay problems in the public interface.

>> + */
>>  #define XENVER_commandline 9
>>  typedef char xen_commandline_t[1024];
>>  
>> @@ -110,6 +133,42 @@ struct xen_build_id {
>>  };
>>  typedef struct xen_build_id xen_build_id_t;
>>  
>> +/*
>> + * Container for an arbitrary variable length buffer.
>> + */
>> +struct xen_varbuf {
>> +    uint32_t len;                          /* IN:  size of buf[] in bytes. */
>> +    unsigned char buf[XEN_FLEX_ARRAY_DIM]; /* OUT: requested data.         */
> I realize that you just copied struct xen_build_id

No - it was originally an ambiguously-signed char in v1.Â  It became
unsigned through review.

But being unsigned char is relevant to the non-ABI-changingness of later
patches in the series.

> but I recall from
> MISRA C training that we should use plain "char" for strings for good
> reasons, not "unsigned char"?

I don't recall anything to that effect, nor can I see anything obvious
when scanning through the standard.

MISRA can't plausibly prohibit the use of char for arbitrary data.Â  It's
the one and only thing the C spec states is safe for the task.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 06:07:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 06:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584182.914647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW9gL-0007iQ-Cc; Wed, 16 Aug 2023 06:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584182.914647; Wed, 16 Aug 2023 06:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qW9gL-0007iJ-9F; Wed, 16 Aug 2023 06:07:01 +0000
Received: by outflank-mailman (input) for mailman id 584182;
 Wed, 16 Aug 2023 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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qW9gK-0007iD-0x
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 06:07:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b241ed5-3bfb-11ee-8778-cb3800f73035;
 Wed, 16 Aug 2023 08:06:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8395.eurprd04.prod.outlook.com (2603:10a6:10:247::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 06:06:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 06:06:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b241ed5-3bfb-11ee-8778-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NTh+lNk8cojYj+F978QlQarmT7IQVx6t+M/HbC/yyoql6I6AxcjBiEzpYA7SgaoMI1gBUONZTa/lNRFNG6zWDjTeKt2Kol8ofUzeg2wjprhRHj+RVIXx4fZrXvMjTltXDNfu15oI/z57Z9mGJlcHVYGGdyjP++oIMdCAdSD6PKkTTp6oNwaZ1jCShcezLsN/EAtCJvwe1aO9XqqcJFmOp6DYZxqritRwaLgbt0muR9AnBNx3MGp7QuhQlDJCznj9C6YnMpNv9yKAocwgg8mYWh3NAJIk2PC8V1QPFExhieXxe1VL6QqPPpU1MvY3rTvrQy2C+DSvkajQ4tSeBOOeag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wlY9HNhnAINtEJGA0+Ym9REMOZIUc2xSG/Doca9ch/M=;
 b=P8R9ngbI9xkud6xDGNUEt4I5GmYfYDr9dtBlZPWyYDJmoE2ycPUhntbW2HDxsPZU51iK3mxBMa28Nrxe3C02xZ3eP2dV+8J8Flf4UIHsizk3QzvhxAu67nMeNtpy3Ub8OmNJw231bEqonOvL8QlTheTBziVCAgEzUP3gEkeJ74RaEFCywwiLOv+1gHyazYyoYvQA/vDEkpO5qrtW//7PSLb1hy4MXRbHUcQnyiFz5cS36nUo3tCutoKwm3HgNwIs53GsJOg9r7sw4pRyJtOvXVeuauX791cAGRvR+J0dnYhRFjyxtVVab6Kb0ct9UQ3sOzD2PgGnS3RPX6/LXNnYqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wlY9HNhnAINtEJGA0+Ym9REMOZIUc2xSG/Doca9ch/M=;
 b=fO/4z485jikZUaNxNi9jARMEy8j2+8obzhXj8LIY6geUQceWHemnaW/X9pYbhNdGPKIYObAlZwutK4plun5RPbgbTeZxBNrGYGQlaobfXW8AKpm7515LRCwJDQRMarSJB/ozToe6wEl+q5oYcvXhcegJOxzNg1JQjERCk+th4ZvXiUgLwdRynR6F89lk6KY22RB90to+XFKszHt6MPHqurR5Ep4rDSALUVVeImTjhL+bG7BODpCQJ7J7ytqqpGVQ6ptSIUMKHGMRCPRBkamgAPTTC985gVTjfvPMs/zXgdQaDbNyOSkZd0DiqqSSku8YiXr6ps9ZxOi8oH9Wvc0MxA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7aa1ecac-6978-ef52-ccad-a71ff878e42a@suse.com>
Date: Wed, 16 Aug 2023 08:06:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 1/5] build: make cc-option properly deal with
 unrecognized sub-options
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>
 <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8395:EE_
X-MS-Office365-Filtering-Correlation-Id: 888aac91-19bf-4229-7531-08db9e1efda9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nLFrRANUnrGNZzywtZ7KRCyK7AlHkDEA5U8a2L7Zw8lP1y2lFGzmAXj/GG21WvTzla/3QIB6ulEKz9EZNzF32zmipwXaIjvnTwyLze0WhMGRC9M37XyQ13wgRfknuB5lccSe0EFGvHYthRU64W4V2gB+hxEQOaO68aC5W6XZx78MjgXJUC0FI/vTA+A2HO0OZUzJkhQtwtxeXVFu+rUvQB6AoT6FuQI5Ipu0nPfx6UWeEGbciKKglZi/zejxozGxK11Xaz3lrDsF+OSs3UsGQe40cdOlOiJsXYWdw30Se6Et8yrxo8TSpRkUgiHDYzV3QgLzkdHorAEDO4T/FGrIxm4i8ljl1crGTU7SQ8d3YDw1ZDgy8vkdadfnx93MtevDSMQCeuarSZ/ds0oC0YJikFcPV5bK7FtNeX5LPSv8zZ6f7BqzY7nPp0loucu8xtYX08u1PKy2olYx4YPF4Y5R2DBYRX+Ht/gV0LGBrnhUC9q0s9j1Cax4AbLR7KAHLUhZ60GF36hhQOJJ9+SiECyPH6V0y3Ni0nhbvp36uOrPs04X9n3S6efZCuzslzi3KKsmeu7VAsF2GeUkeeV13aYUaO00czrmNnR0oKBMnAmHqUxH5XaJxL9K4y5AXZuV69TwwW5Lp202W0cD+GAcTz8BZw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(54906003)(31686004)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(26005)(6916009)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(66899024)(38100700002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejNLWElTRG15QWJTSnhaK3ZlVFpadVNDVTMyVzBVUENyZG1DYmNIck94RFJl?=
 =?utf-8?B?ajdxN0ZWdVk4aHU4aVBuN1Z0VmpOUllpWXVXRElMRnF5ZEoydXc1RVdUeGdW?=
 =?utf-8?B?dWtaa05PTE5Pd0FoNFBEd0ErS2pvaUt3NmE2eDJXUmNpcWNPQ0h2aTdmYmE1?=
 =?utf-8?B?RGxSenpQdmlScUUvYUtwWVVmbVRpZGpqTjRCUmp6cXZJY25tZDJ2SDBlR3Z3?=
 =?utf-8?B?ZkJRU2FmMDFsK29LTXFIWjg4Z0kwYUZLNzQwQVE1a3RoZnE4cXFaYzBFUUg3?=
 =?utf-8?B?L1QxTkZTUG1vZU13ZElBaEZSaEN4aEN4UjBUV2JjYjZodVNIUEFvZ3FJS2E4?=
 =?utf-8?B?SmdmUExnNTBHNmRtQUYrMFJJMWR3Y0FxK3JhaFJKWG41eUMxNE1WVEcvVnBt?=
 =?utf-8?B?VzZ1OG1ENEpUNmV0cXRSbktjSURRME1QUDdWakRpYjBsN21MenFrSzZ5YWRo?=
 =?utf-8?B?L3R4MW1Vb2lKSUhCcGw4dzRFcXExNmpZV1QxVW1CaVNsMTlRV3dxc295NFNW?=
 =?utf-8?B?QjMxRUo4M3VyN1lyMi9nS21kd0M4MWNmaEtDcEVYT0NXbndhTFlhSGRyeklW?=
 =?utf-8?B?bmxmWVJGaFhnQ3lxSEVwZkRWQWpXbjkrWHlCMlZzbWtkUW9YcUVIaHhjK2tX?=
 =?utf-8?B?VW1KcmQwVmJqcjQvbDNKbEZvT3lIekVJMk5KRHdpNWlHeU9MK0M4Q0tPelVl?=
 =?utf-8?B?OE1Hb2tFQWpnOXQ4K044L3NhS05McXV1Mmx4RkJjMG84QUxrVTVOS2M5K1RR?=
 =?utf-8?B?eE1MeUE5bDhnUU0vYnZKTklpRHEwWU5CeTl5Z1UvUGJQQ21zY09BeEJYVno2?=
 =?utf-8?B?OXpvVDhJYWVYM0E4S3c2QW8rb0ZqRkdwTnhnN1k4WkpGTjNEWkpJd0ZvUm9s?=
 =?utf-8?B?cnFkdHBYTjA5bU5PMEp2VTBzYTNPZmhIc1lHR2JWdURBMi9oR0lzTEx0S3BS?=
 =?utf-8?B?K3ZtdlVkWTQ0UGRqR1JsNUtXSDRuVjUrbnRRWEpCQTdobkhmOXhkcHJnS1FX?=
 =?utf-8?B?MUU2VTZUZEQ5UmcxRG51ak15b0UyVmNwSmUrU01ITDgxd3lpTDh4bG5acG5Z?=
 =?utf-8?B?bkhsVVZtalYvY0NDVDRKaXBDZWR1T0QzY3lPYzZ5WUpiT2lVNWZRK0lCTlpW?=
 =?utf-8?B?YkFGS1RsNmdweDF6Rkk1UFpKdGx5bW9uaCt2V0dLdEN0Q0FjOGpENHViTmF5?=
 =?utf-8?B?SkVsWC9JVkhkUTdnMi9FLzE3VlpHYXdKcjYwNGgzcVJ3YnI1L1FDSWxSME4x?=
 =?utf-8?B?Z3hqWmxvMXRLZnZBVy8zanRKOHI2ZU8wU3NyR2JKa0FpOVB2NE9qRXVKeitD?=
 =?utf-8?B?RDhnOHBiem1IdDJlTTVrSkkvS2JDTGVzYS9hYkRsQnVQb21vUFJ3UVQ3bk4v?=
 =?utf-8?B?MGk5VjJYNnF3dU01UW9DVkZhSVZqN2xUM3VnSU5KYnJRQmtYNlhGU2RndlhY?=
 =?utf-8?B?Y21PUzVFZmQyb0c3czc4a1p5dGhLQU0xTk9kb2dBZHBSalczMlNVa3BTNG5Z?=
 =?utf-8?B?ODdqTi9vMy9DQ3plS0NGZWgySXQzMnhQclNsbnE1MkJNUVRYZGZOZG1DRGw4?=
 =?utf-8?B?cXZ3Wk1UYnp5ekdtamxtdUlLVFMrM0tQR1JzNmczMHRIaG9TZnZCVVZCR1pY?=
 =?utf-8?B?bVhkYmsvL1F0dEdwUzU5VjFJREgyaHNSamhoNlNoWEQ5N3l0TFRIZFVZNDh4?=
 =?utf-8?B?WUgvTEk1YkZ4QWU4YVhScEZON1BBNUt4em1YRDZaOU1EalVpOW5sRFMvbjV0?=
 =?utf-8?B?TjhBZStCTFJPYURhcWFZV0RudDFDc2tkNm0rNmxrSGJQU1RpZTUxYkRnblZy?=
 =?utf-8?B?MElINll2ZlUzUDZzaUorb2lNd1FCQllMVjFuL1dKdjVLWXhHYlJrTW5BVHp6?=
 =?utf-8?B?d2lOa1lvU0ZhamhLbi9hbU0rLzdnNDlxb2pnYzZSYnEzaUVDZmNhYkpzV2Rm?=
 =?utf-8?B?Tjd4bVAyaHhkSndTVHF1aGlMNXZTeGhGZFQzRDlZMFpYWS9GM1V4aTFMZXpl?=
 =?utf-8?B?ZG95UXUyUS9kcFM2dEQvS21mU0xwRXorb3ppc0J4STVoa1Z4M0hJYUgvQ2I3?=
 =?utf-8?B?TUtjalFjSUl5SGJhNU01Y1V3c042QWdXRjhaazFZUEtQVUhqTDA0WGhPOXJk?=
 =?utf-8?Q?YwFVeOTnQTcaa8rzi2FJVt8U/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 888aac91-19bf-4229-7531-08db9e1efda9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 06:06:54.7167
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wG5jfZbnY5V1mbWAyF6bEpP9WNplNM7S0nJfme75FC+3NKcOXBKS32fliuYTp0pQs4b3UhMrQSOSqNYMGreH/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8395

On 11.08.2023 15:48, Anthony PERARD wrote:
> On Wed, Jul 26, 2023 at 12:33:07PM +0200, Jan Beulich wrote:
>> In options like -march=, it may be only the sub-option which is
>> unrecognized by the compiler. In such an event the error message often
>> splits option and argument, typically saying something like "bad value
>> '<argument>' for '<option>'. Extend the grep invocation accordingly,
>> also accounting for Clang to not mention e.g. -march at all when an
>> incorrect argument was given for it.
>>
>> To keep things halfway readable, re-wrap and re-indent the entire
>> construct.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> In principle -e "$$pat" could now be omitted from the grep invocation,
>> since if that matches, both $$opt and $$arg will, too. But I thought I'd
>> leave it for completeness.
>> ---
>> v3: Fix build with make 4.3 and newer, where the treatment of \# has
>>     changed.
>> v2: Further relax grep patterns for clang, which doesn't mention -march
>>     when complaining about an invalid argument to it.
>>
>> --- a/Config.mk
>> +++ b/Config.mk
>> @@ -8,6 +8,7 @@ endif
>>  comma   := ,
>>  open    := (
>>  close   := )
>> +sharp   := \#
>>  squote  := '
>>  #' Balancing squote, to help syntax highlighting
>>  empty   :=
>> @@ -90,9 +91,14 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
>>  # of which would indicate an "unrecognized command-line option" warning/error.
>>  #
>>  # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
>> -cc-option = $(shell if test -z "`echo 'void*p=1;' | \
>> -              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
>> -              then echo "$(2)"; else echo "$(3)"; fi ;)
>> +cc-option = $(shell pat='$(2:-Wa$(comma)%=%)'; \
>> +                    opt="$${pat%%=*}" arg="$${pat$(sharp)*=}"; \
>> +                    if test -z "`echo 'void*p=1;' | \
>> +                                 $(1) $(2) -c -o /dev/null -x c - 2>&1 | \
>> +                                 grep -e "$$pat" -e "$$opt" -e "$$arg" -`"; \
>> +                    then echo "$(2)"; \
>> +                    else echo "$(3)"; \
>> +                    fi;)
> 
> This patch looks fine. Shouldn't the comment been updated as well? At
> the moment, it only discuss about -Wno-*, which it seems is why `grep`
> was introduced in the first place.
> 
> But isn't it doing doing pattern matching on an error message going to
> lead sometime to false positive? Linux's build system seems to works
> fine by just using the exit value. They've got a few trick to deal with
> -Wno-* and with clang.
> 
> For -Wno-$(warning), they test -W$(warning) instead. For clang, they've
> enable additional warnings:
>     -Werror=unknown-warning-option
>     -Werror=ignored-optimization-argument
>     -Werror=option-ignored
>     -Werror=unused-command-line-argument

I think using just -Werror is going to be enough. The completely changed
patch below appears to be doing fine, but of course requires me to drop
...

> In any case, the patch is fine.
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

... this.

Jan

--- a/Config.mk
+++ b/Config.mk
@@ -81,17 +81,17 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
 
 # cc-option: Check if compiler supports first option, else fall back to second.
 #
-# This is complicated by the fact that unrecognised -Wno-* options:
+# This is complicated by the fact that with most gcc versions unrecognised
+# -Wno-* options:
 #   (a) are ignored unless the compilation emits a warning; and
 #   (b) even then produce a warning rather than an error
-# To handle this we do a test compile, passing the option-under-test, on a code
-# fragment that will always produce a warning (integer assigned to pointer).
-# We then grep for the option-under-test in the compiler's output, the presence
-# of which would indicate an "unrecognized command-line option" warning/error.
+# Further Clang also only warns for unrecognised -W* options.  To handle this
+# we do a test compile, substituting -Wno-* by -W* and adding -Werror.  This
+# way all unrecognised options are diagnosed uniformly, allowing us to merely
+# check exit status.
 #
 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
-cc-option = $(shell if test -z "`echo 'void*p=1;' | \
-              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
+cc-option = $(shell if $(1) $(2:-Wno-%=-W%) -Werror -c -o /dev/null -x c /dev/null >/dev/null 2>&1; \
               then echo "$(2)"; else echo "$(3)"; fi ;)
 
 # cc-option-add: Add an option to compilation flags, but only if supported.




From xen-devel-bounces@lists.xenproject.org Wed Aug 16 06:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 06:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584189.914657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWA1m-00020A-9N; Wed, 16 Aug 2023 06:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584189.914657; Wed, 16 Aug 2023 06: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 1qWA1m-000203-6L; Wed, 16 Aug 2023 06:29:10 +0000
Received: by outflank-mailman (input) for mailman id 584189;
 Wed, 16 Aug 2023 06:29:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WOWB=EB=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1qWA1k-0001zx-PM
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 06:29:08 +0000
Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com
 [2607:f8b0:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 325262ad-3bfe-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 08:29:05 +0200 (CEST)
Received: by mail-pf1-x436.google.com with SMTP id
 d2e1a72fcca58-6887b3613e4so489007b3a.3
 for <xen-devel@lists.xenproject.org>; Tue, 15 Aug 2023 23:29:05 -0700 (PDT)
Received: from localhost ([122.172.87.195]) by smtp.gmail.com with ESMTPSA id
 z24-20020aa785d8000000b0068844ee18dfsm2349640pfn.83.2023.08.15.23.29.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 15 Aug 2023 23:29:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 325262ad-3bfe-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692167344; x=1692772144;
        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=3/d+a+jmbHHXQIy1O4h/TrwUyediDeflM5J1gxycWe4=;
        b=bDQp7Xc8BerDlBHrdX+UJx91CzYphcHSg8BRRrhCao349U2swHK+DX4jRJnNO56il5
         9Vgx91zulM+Dfvt+QTd2Z3gEKEC1Dbe+tAQ564janlWKiinRElShOgS95i42PepmbUIy
         WY252H2RgJzSEjSi+Rjzg8u1sl3LEHQ1WcCbd/mCJ+AZCM0fsvp0RlIUg2wAGjbtsio+
         g83FMo46jTadq0qtDTjd2Wdz6hioj1HpvtRKY6AJZ7ho3MgrE2UcOk3RJAkkSBi5/18A
         KWdLYbvIuvcUll7/dkWvFKGLNfgZBHz75hJTdLZvs67PMfb/NPTnHH66xYpy2WP3pBAc
         Q4XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692167344; x=1692772144;
        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=3/d+a+jmbHHXQIy1O4h/TrwUyediDeflM5J1gxycWe4=;
        b=Iv6nB/O7Cnf13xPwAn1Uv73zXTJwAgQ6SmNBzM73U5XQzVWKd2TeszBaqQ4y0RPjM6
         tCL9ybOspLjHSlIAkIqxrnIQt/29qy620YWDgyaS45UejSACajLvhWpSGcJZFPgmndtU
         7TbNcMcb5WnQ8JSS7jwSUhdMQVLmRcrczWcB3dy4Dw+gwhxW9L5oJInA9aSemxpHfxPu
         eSdHH4+UcIRpfRIG9OYVVYvLBI7kPgLicHXCsnMLUQdzKnbnRtMBlPuEPctr2T4cKYjJ
         orciSmztu7UeWrsgn0X6zGQSa4rYqxI/YiAR+tTdwnKTJyXnjAecoZgXon093dsjoPlV
         VcfA==
X-Gm-Message-State: AOJu0Yy1e4aWgtlFBTROt1ZsghTqN8/0hHG3qqh3qbF+gCTFaDCRURsC
	UfGRM/FjHZ8d1VDgZdGtri6Rhg==
X-Google-Smtp-Source: AGHT+IGv9NNha9nyyZ7UHMl67x37JKLaJ76BxEG6CMLPFU+FcqmItbkoPsoYbxcEreJmf873wu5aXw==
X-Received: by 2002:a05:6a20:4310:b0:131:c760:2a0b with SMTP id h16-20020a056a20431000b00131c7602a0bmr1666192pzk.52.1692167344016;
        Tue, 15 Aug 2023 23:29:04 -0700 (PDT)
Date: Wed, 16 Aug 2023 11:59:01 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Erik Schilling <erik.schilling@linaro.org>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V4] xen: privcmd: Add support for irqfd
Message-ID: <20230816062901.dkpzhhimnjf35jqy@vireshk-i7>
References: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>

On 25-07-23, 16:27, Viresh Kumar wrote:
> Xen provides support for injecting interrupts to the guests via the
> HYPERVISOR_dm_op() hypercall. The same is used by the Virtio based
> device backend implementations, in an inefficient manner currently.
> 
> Generally, the Virtio backends are implemented to work with the Eventfd
> based mechanism. In order to make such backends work with Xen, another
> software layer needs to poll the Eventfds and raise an interrupt to the
> guest using the Xen based mechanism. This results in an extra context
> switch.
> 
> This is not a new problem in Linux though. It is present with other
> hypervisors like KVM, etc. as well. The generic solution implemented in
> the kernel for them is to provide an IOCTL call to pass the interrupt
> details and eventfd, which lets the kernel take care of polling the
> eventfd and raising of the interrupt, instead of handling this in user
> space (which involves an extra context switch).
> 
> This patch adds support to inject a specific interrupt to guest using
> the eventfd mechanism, by preventing the extra context switch.
> 
> Inspired by existing implementations for KVM, etc..
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> V3->V4
> - Drop the imported definitions to hvm/dm_op.h.
> - Make the caller pass a pointer to pre-filled "struct xen_dm_op" instance and
>   get rid of irq and level fields.
> - Enable the irqfd feature under a new Kconfig entry.

Ping.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 06:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 06:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584195.914667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWABQ-0003ad-6P; Wed, 16 Aug 2023 06:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584195.914667; Wed, 16 Aug 2023 06: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 1qWABQ-0003aW-3d; Wed, 16 Aug 2023 06:39:08 +0000
Received: by outflank-mailman (input) for mailman id 584195;
 Wed, 16 Aug 2023 06:39: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWABO-0003aQ-CB
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 06:39:06 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe02::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 981c6af1-3bff-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 08:39:05 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8876.eurprd04.prod.outlook.com (2603:10a6:20b:40b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 06:39:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 06:39: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: 981c6af1-3bff-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fL6wx3I1u4gjfhqI8q8yrMgppOI7THoUh6H/YANcW0xsrM+/bUZd9rskQ7HFVZo2GufTIde/v6KK/bACSEl5tg7gWHucbOxlq2bEJUuRZJs3gga7oezS8khrGuffZtdbSip43FDuZTwboyyZgPBlX7euZFG4cP/tWLRJFtjQwKkWoKKkMrsPNlv48tRerf2dtd2MTzjwwBxierTMOUpgFcKjX1ZH/VYwtgETzS3HBh/P3ClIpgQbdI0z6MDYREFaVtqdjNWU9QBvIEBulbzsJg5Zu43EpnEczHkmHSZTZGBgg97U0h2sc2PA+X5Kdtt49t4DdLh89fCJ4pXIdTzoRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N+Q26JWcz0Rxo8UrbTj4RCkkhHuPqyO2hFS38KTVuKU=;
 b=RSpebgNcYyZPiidR4FB0h1bKvQVGnVpxFvSQeFnL9OrOZHQ0sX4rZQE1bi/23DvhFlRG2jDpVFklpksqfVWxcoA7oAhAcgQCzFU59gK+lpwDeiOiDnZWnt4W1YVw7afb4y3J2VJiCuEwBcJ9GURLLbb5Ce8mPSZN+fb28qqVrpzs+MdEi8pyLYafXsdAT/vOb/Xm56qzyuD5vgUs7AMGWoOyhvXGO5avCHY4DYC86XjQEPH8q0E1/lNKohjvlOPrtUZfZPd2TmzbGDUiolFS7mM+nGYRvPdQGsJFs/auNIMco2SIVnpjd+4Y8xXsWjDxCzimgKReWwdlNShOD8drtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N+Q26JWcz0Rxo8UrbTj4RCkkhHuPqyO2hFS38KTVuKU=;
 b=l/rFEFI4FssM36JT6lbgEEX9JlsIAr7p1tOcZViNns41EulST/sFLnCoWImnLDpzWnHgJk3Gw6kFI+qhWkkWHzAD7JuZJvZrOPp938k4GHyZmwgwJeF8J+t87/+jFCJDcdfcQygIius2EmxTewtRIsBVMoEDk/R7Yv9OtjUDe4N5Rgbkg+RTv5DJ2cmc+u38l835t8A8qC9DA2r17ceu9cSNSjFZJxQMtI4MwGliw2qsfXTmlliGdRZr6FroztteNEbsizBM96S3H8VbwaDGp5CQLCe6qWMxC7DMUljwEY6RCFqZEWZODXq8c4ue+WOfypQ/f9AJzR3tXEUKNXATvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41137c9b-d4b4-0891-19b8-0f7d0045506d@suse.com>
Date: Wed, 16 Aug 2023 08:39:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jason Andryuk <jandryuk@gmail.com>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 Daniel Smith <dpsmith@apertussolutions.com>, Henry Wang
 <Henry.Wang@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
 <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8876:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b186556-127b-4afd-219e-08db9e237b3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	13FhZSjOpXdJbnCTCLlioJ20p1HTztSQ8JUP1MCo0uefF+3B9tD+KSgtvwG/TDqZpOgrMcYVRJo9sldwFdJhgH81mTl3TMUxLMzOiEl0OHhbZ0hJHg4ubWa0GqaEyZr8rZ+3vF5nIc/r52jzqs9e46WmyvqWfTVkfd1EhmAP8VJpTh7gnwa6yd9GfbIXEMSR07E1x5UJC5dSFGQkrrruo6hV+t8nGrSeGw5Sya9+gjxKLLRiws0cu2JQKOwqSdsT//ukdtEG97H7FhqnpCM0R8VSwaHoM7yumNXZtDCbfbGllzwIHqmdEVO0nIjFXvnGdzrcDXeQDgnKG1g7AQbdfVwnNmxu0CNG2c5hLMceQo6A2xRY+Q1FS5qQXB6FbzO9OY00hyoCYRMfAWiCm6AgPePtNngtW6eJ2RNRfmy6VgPz4RwJz50RX2pEHp3Ad+Qj8TsVo25dw7WpUwqaV5zMHLhCLc5od1Qyxz137kqtDpBBD4Gj2oHcDQZHECQ+JPC3415Y+wxX3cas4sxpTDB9aqrBLWTjUfgYzkVlQ40NFKooVwCLc665moNDdudApZfg8euxHo/sdWrwfb7rh5yTM9IAJd1bLympcc/02eoifJUX4QxaNT6D/2JmjFiLw9VYNkQKXMnBj2Pfvo2qPP+XOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(54906003)(31686004)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(26005)(6916009)(7416002)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(38100700002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmlzUzRPejZHYmtOVmI0V1FlcnByN2FoOXRNTDNHaTNDSkhhK3c4cmcrNUkw?=
 =?utf-8?B?eWVQOWFYb3hPZVIzQ2RkU3FyTHRmdnpPSkNKeENEY3AwMEk1MWJUZC9HOFEr?=
 =?utf-8?B?M0tEQVFVbUVIcXhtU21wK2dzZTdqdEIxWDdEdWVOMmNZdXNtN082c1NWUWdX?=
 =?utf-8?B?ampPbEg3dEZ5QUtlSWJEeFZnWkFwalhpd1lBYVZWejA4S1plWVozWElJUFMw?=
 =?utf-8?B?Smp1cDJpRW4vYjlEUVI4ZXRtZGFvZXE1ZHJtNTVTN25UOGpHVXBqTCtOLzNC?=
 =?utf-8?B?c2pHN1pINnozQ0VKK0k0OU55cytWMjAwYmg3OSt3bFBnZGFvRzdDVWZsT1da?=
 =?utf-8?B?L2FiSzlqcXlVVGF0WkY2dFJGZmpTNi9Vc3E5SDd0aEJ2SUlndU9oTUplZVVS?=
 =?utf-8?B?bXdXSkUybnBXcFhCSTlGdStOUWJueCt5dG01dW5CeCtQMTFpamNtMDhaSENH?=
 =?utf-8?B?UGZ6NTRzVE1QY2JTSExyL3hKYUYyVFczNDd6MHdBUEdhdCs4b29TNEFLSCsw?=
 =?utf-8?B?dW56Y1R5K2FNZU1yQVZubGN4WUJkZ2VVcnV2V09rYXVrcnJrVG5WcTRlTkVj?=
 =?utf-8?B?TlkrYnp4Mlhjdmp0alh0cmM4NCs1RnJCZHFNdTRtaFNWWDlyRjBjWjZvc3VB?=
 =?utf-8?B?bklwRGNvaHg2eXBHczdHT3J1SVVCbE03NXYwWkNPODIwdGJpMDlvLzFrZEwr?=
 =?utf-8?B?S1hzQzAxWjVIcVdXc3A3bmpzQk9yQzZ5am1OYUE4YnRjQXFmSXBuS3pYYzBK?=
 =?utf-8?B?cDJTSlZLZFdBUndvSVVvT2JuKy93ang0VWtjZlFBYTZlbVhxUldjRUpoT29v?=
 =?utf-8?B?dnlCdjllaVJVeU1MOEx4cU5VczFSREd1UDJYN1orSS9jRlVTUTRFV1ZIVHRt?=
 =?utf-8?B?b3lvNElsbjNqZWN5NGZLYm43WkxFVzYxNm10NE44MDlIZlJibHQxRmJ2U1di?=
 =?utf-8?B?NEdmend1MTRoTzh5UHpFdWlJblN0TVU3eVNYRnFkU0xMR3N6VlJSYXd4Q2Qy?=
 =?utf-8?B?WGZQNGd4OGZtWGhnMWg1MXIvMFljaWRXZ3l3QVF1cmxsSisxT2V3dkp0WUcy?=
 =?utf-8?B?TXJ0WjBZa25sd2ViMFRUZDNpdlUvbUwxNXVuamRTS3IrTGRmYWdLYll0eFhh?=
 =?utf-8?B?QVdhTll2TG9mc0xnbHFxNjQxUE5nYkZ5cGZ4Y1pmaE1FMVFhY0tYZEsvMC96?=
 =?utf-8?B?bGdTNHBZY3pqaFZ1YkxaUHduR1M4VWRsMmhrcWlBbVkyUFQvYzRhRUhndm1l?=
 =?utf-8?B?VW90N3lvUHZpemQ2MWgyYXUxZjN6LzdSUXliN2htTytnU01hUE5oM0d0SUk0?=
 =?utf-8?B?WDVGMzE3bk9mUXlmaW5XMFYyOGNENWl1RTBUZ1dybVNMTzV3QUF4YkdOb0Ja?=
 =?utf-8?B?NHc5U0VMcGRXN3FzM3Q5QzFFUHdOQ3NTbkVGV3pTUjgxcElaWS91bjV0M3p5?=
 =?utf-8?B?YnluS3NCNjdPTHFXUjhnckpRZVZhcy9TU2wrMVVra3JYL1dQSm85ajNKTXFm?=
 =?utf-8?B?N2Z5eW54bEREejhqMUs4bEFFdlZnSXc1eW5nMDFCUFBQQzdZMmZNakFPU1Vp?=
 =?utf-8?B?RlZWcS8wckplTWwwaEhtelkyWkgvVGVFVUo1VVZFRmp5WXJIOFh6b2hJN2lM?=
 =?utf-8?B?YzZOcXNUZWVWdG5jVW5BTEJHSThKRlRrV3p1NUdhY3Q0RCtIZ2JnTjNFdkc1?=
 =?utf-8?B?dVZ0RDBkaFVaaVk3TnQ2WFhlK3BYOWc4bm44VUgwSThvamt0cU1xTUFZNGNj?=
 =?utf-8?B?NlFXSXVoQU9POHpxb08yUUUwN2luSmpaSjZkNzZvWlA4UmIrQlhOVEN0TWti?=
 =?utf-8?B?YU9Ja3lxZ09hbkxMNnE4amtENDBTM0ZaZ25rc25UaUgrS1hCdlU1WTltZDU2?=
 =?utf-8?B?b08xbzFkQzNwd2kvQytyOGpocTE3U3JhVGk4S0tZM3NBcXkrRnF5N0N5L3Iy?=
 =?utf-8?B?R2tXMTFJbzBnYjg0a2g3bWovTEFVWlMvTjNMWXQ2L1psRFdZU1VLMzlza3c0?=
 =?utf-8?B?Ty95ZGZNVlRQR3oyY3RlMVlVWGg2M1ZNN3VLTE12WjdqMDhVbFQwb3gxT3dw?=
 =?utf-8?B?TkVKSFRFak9EaDlJa2xUVkJBVVVxbnhWNHFxTThqVzdZRURqNDQ5SWo1M1BT?=
 =?utf-8?Q?30oSqG2tDjIoaKQxIDA5S8lpC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b186556-127b-4afd-219e-08db9e237b3a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 06:39:03.2926
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D+q4LCqdJcdLzxrDcv4OucV7M3Gj0Q0oJqJCpyuJVB5uJhJgDW8y1rmHB0zSENrHIf2/3ZEi1mGEF/xd5a2bXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8876

On 16.08.2023 04:58, Andrew Cooper wrote:
> On 16/08/2023 1:19 am, Stefano Stabellini wrote:
>> On Tue, 15 Aug 2023, Andrew Cooper wrote:
>>> --- a/xen/include/public/version.h
>>> +++ b/xen/include/public/version.h
>>> @@ -19,12 +19,20 @@
>>>  /* arg == NULL; returns major:minor (16:16). */
>>>  #define XENVER_version      0
>>>  
>>> -/* arg == xen_extraversion_t. */
>>> +/*
>>> + * arg == xen_extraversion_t.
>>> + *
>>> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
>> Like Jan and Julien I also don't like the word "broken" especially
>> without explanation of why it is broken next to it.
> 
> The word "broken" is an accurate and appropriate word in the English
> language to describe the situation.Â  I'm sorry you don't like it, but
> unless any of you can articulate why you think it is inappropriate
> phraseology, the complaint is unactionable.

That's simply not true. A wording change is very well possible, and
what you regard as "broken" may not be viewed as such by others. IOW
while "broken" may be "an accurate and appropriate word in the English
language to describe" your perspective of the situation, it may not be
for others. Take the extraversion case: It was clear from the
beginning that it means to limit what to use as XEN_EXTRAVERSION. No
bug, just a limitation. Similarly for the command line: Besides the
full command line (supposedly) being of use for informational purposes
only anyway (and the full one can be taken from the log), no-one could
ever predict at that time that we'd accumulate such a massive amount
of command line options. Again a limitation (and yes, I understand
that the information may disappear from the ring buffer, so "xl dmesg"
after the system was up for a while may not have that data anymore,
yet of course an agent in the system could make the boot messaged
persistent), but not really a bug.

> Specifically ...
> 
>> Instead, I would say:
>>
>> "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
> 
> ... depreciated is misleading.
> 
> It would be acceptable for a case where we'd introduced a foo2 to add a
> new feature to the interface, but we're being forced to make the new
> interface to fix two bugs and a mis-feature in existing interface.

See above. The existing interfaces are sufficient for the common case.
The extended versions therefore are an enhancement, allowing to call
the original ones deprecated, but not really anything more.

>> If you want to convey the message that the API has problems, then I would
>> say:
>>
>> "XENVER_extraversion might cause truncation. Please use XENVER_extraversion2."
>>
>> Or even:
>>
>> "XENVER_extraversion has problems. Please use XENVER_extraversion2."
> 
> If "broken" is too nondescript, then "might" is bad too and "has
> problems" is out of the question.
> 
> 
> There is a partial description of the ABI problems in the comment block
> beside the new ops.Â  I could be persuaded to extend it to be a full list
> of the ABI breakages.
> 
> These header files are a succinct technical reference for proficient
> programmers to interact with Xen.Â  They are not a tutorial on writing C,
> nor are they appropriate places to sentences of no useful value.
> 
> Through this series, I have done the hard work of updating the
> commonly-used interfaces such that downstreams can stop working around
> real problems caused by real errors in these APIs.

Or, as I view it, working around limitations of the original ABI. Hence
a new feature, not so much a bug fix.

I'm afraid the main reason why this series hasn't made it in yet is your
apparent unwillingness to accept that other people may look at things
differently than you do, resulting in you not being willing to make a
compromise on the chosen wording. While you may view this as others
blocking your work, I don't think it realistically can be called this
way.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 06:48:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 06:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584201.914677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWAKH-0005Bn-1T; Wed, 16 Aug 2023 06:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584201.914677; Wed, 16 Aug 2023 06:48:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWAKG-0005Bg-Uz; Wed, 16 Aug 2023 06:48:16 +0000
Received: by outflank-mailman (input) for mailman id 584201;
 Wed, 16 Aug 2023 06:48:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWAKF-0005Ba-8W
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 06:48:15 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dec71cb1-3c00-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 08:48:13 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7472.eurprd04.prod.outlook.com (2603:10a6:800:1b2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 06:48:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 06: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: dec71cb1-3c00-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=chkwCtzDKJcCEsREc730T4iPZRqiXmyNR9KJ6M8FoCfDc3UHNzPGji/CBH7PYcT1SOqkCNSoI/t+htt6pNMljfZQXfWy4U6vwZzEv5xH6b4KBztRxtSEIObg7zl/I2W5iLm0siKLXZ0ZMLrl0gBNexcSR7/J2xuVMQaBQ3cQh+2zWcgRK1crr3Oqlh6zdwwQEiFK2u26/09XeqxWPShZEFLJuQRElllXfsZ3O2kATTVS6G+5HW4vJF7BJDkSXUamSf+NeLV/CdkKjU5fllOE+e5wpkni+x/6X4FUED2CMdSEZfzmz18+R90l7yqLf5BJAPmaeEYxnR6SJasRtbhFGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dGHNMfFy1kDIWbXKm/Mw83ZPFgVnV1dUZNtPWMS6o1w=;
 b=a+uzSGFD/FlD6kkWGFkwuWznyaBSNwqvq0dy3yppK8jYG5rXq+dkexyyKbN4mxgic1Apgy1eRIHOtUK3A3BThWL9siYACDR7mvOr5hqx4v5gXjwJvYxziLS2T682N6CqbevSq/yFQPjlIRtlwyO8AjjogBJVWqZ32cZI4VNNY9ByDqsrfMnKruuZmdRUHdmBgoS5til4sBxjIkQPk/JBLKjgN9KR5ex+CQ02ER8sw5E7GV6V30aj40JTgxoGJZ3euMGQYCV4iGISU2MxCh+6l5S/WvwbNvWavVOzA5O04Piq4C62ehhRZkcExMZvLxz2LyTYJ9wpdd4B2qrUWuFpqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dGHNMfFy1kDIWbXKm/Mw83ZPFgVnV1dUZNtPWMS6o1w=;
 b=Jb2oN7220UtVZ5JK6DW9lTG/uv6CByhFRHGptWwviNsmaLaMS75QgwWlcIh8MCEZZsjGVoZs3IOzxaJyVJc2+10fzW4LJTDOjxBk98y037pb1zoj24klWlth1CeqwwYvPcElf4bvvb5z87c2jxkNOrXX1Xp4s+IFr/8Ai0qpUe69fx/QrS8/LZq+fXvoRfmapRcNOsYDKRh/CW9UlX8qhMknz9T857tEeLqePiO8sXgttrB0Pd1Xf0thbj3bfOOcb9vUD+s8qGrbAWrn8H+HLFYkmRHc+5UHyeWWuYb/1chFIl4Meebhu4FxIVSoY5vtl8y2rppCqVu8jz4R/WbkKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b77f69ab-5ab0-8743-6ab7-ef8f7ac44288@suse.com>
Date: Wed, 16 Aug 2023 08:48:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 01/10] xen/version: Calculate xen_capabilities_info
 once at boot
Content-Language: en-US
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>, Wei Liu
 <wl@xen.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>,
 Henry Wang <Henry.Wang@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-2-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2308151602500.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308151602500.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7472:EE_
X-MS-Office365-Filtering-Correlation-Id: cd5b5717-3a93-4966-0d58-08db9e24c1d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mX/QaI1HQZJ8398oHOwzUfyqsWOqvUgaKRx2h5wXaGBHwDqM7Z1SVwIaChaTfUNQqEQR+5TU1au/MOeGvEEROowGDgIodqxehLotcjC0y9qar0Kr4o2+KtcuKw0tlp5GFkSatY/Gs3lzL8fAPm+UtnJCAUJIObUkV3h6tN4U+N7NoPxXfnUVuuG8KHThEP+qU4h35wKC/V3AokvtUv5iGepW79+f83xdxi+GM/6k0Uv0DdRIIComWyvov5dtUznICAPns2kjGaow/G2cukXuIcwLn4OyhTAzTkzW+5NYkTRqS6FLLlMICVrQ7xURo/VvfPWJ0knu7IBFCIcsx5mC9uHSARM1mIE5Hue1cas44rDzQo5sWRMpA+g1JyyQwTbJuWAv/XE9sQTlGBP9Ywiw55r7Kvx1kBNGaH+7c08FL+bHJa/raOWc/0wgIWbtCvMJnoNXKw2Tvq+SL0UvLsY4mIwmdyatLT4qbIYBPpeNomsbI1NQipLyJzVxMFgxsIj1/IiVDmXei9+NUfaFPUT0EX8hfqcfSMVdu6IBSXh+O7cZjsHoQLRyKHPkVL87HhQcIx3AbExfB/fmWUxcoJu9WAfnonOvtxRhamzZ2GSsJCA3vqVYTRKCy69IeDLscNqpye53g0onoo5IKDuEABnM9w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39850400004)(346002)(136003)(1800799009)(451199024)(186009)(6666004)(54906003)(31686004)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(26005)(6916009)(7416002)(5660300002)(2616005)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(38100700002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3UxVm1uanBQbEV0WDhSMHc5WU1IT1cxa0YxWDIwZ2ZkWkFoS29TRFFsTEd1?=
 =?utf-8?B?dXNYQXhPRFFJOWFyS3Y1bVNRbnBLNmpMS1NaZ3ZLV0RseFFjNWE1T0ZJY0RX?=
 =?utf-8?B?QXdoa2UvUGdmRkZiSUZFc2ozam45bVhxSkNpZ0QwbEJXcHpNNzdvRStST2hy?=
 =?utf-8?B?WjMyVlZvUUpETlk2S0tSVU52STNpb3QvdU9rQy9JbXpPTnZqTTNMM1NaMU1w?=
 =?utf-8?B?akVEd0YyWTRhaFlLZ1BvSlhDcDN6UWpZcE51WFR4VmZSQlZmbEhhM1QzVytY?=
 =?utf-8?B?VzBkanoxL3lwelkvcFRSS2ZEdFFubU0xNzY4b2lWdXAveEY5TDVMYTJlS3Jx?=
 =?utf-8?B?c2E5NG9UYjFmY2ZnaXFQY2R1QUdyY2hUVmpYZGZGNlExNWZMZjlSMkY4aDN3?=
 =?utf-8?B?M29oblVnZzd6TG5Yb2Rua3Q1Q0laaVdVVFJPSll6UTFVTHMwcHVXbjQwSWM4?=
 =?utf-8?B?aS9KcS80ZTA1Ui9PZ2psMnFOeURKQjdYczlsVzNieEtNakQ4c21wYkJ2aFBX?=
 =?utf-8?B?WnJEMXFxWjBuVy9TMWlJKzY5VXhSaVBoVU44YzVrdXVWTVJWVnQrOWNTYXdB?=
 =?utf-8?B?ME11eUp3TitPUENBcnpEbUlCazlGazRoM0hqRThlcEpRdUErRjZkRTIxVnFr?=
 =?utf-8?B?aENtaThpU0hQMW9oN2xoRkMreUQ5a2VYVTI4TmpsWVNFaE1xcXZKb0JhRjh5?=
 =?utf-8?B?Y05WK05IWlhOdlhXMm9tUUFSOFM1VWJLRS8wa3hTdkhhWDYvcHIxdWJkc2RO?=
 =?utf-8?B?dUx1blF4NEVuTGtWT3lMaHBWc1ZFemlmdXhmM1VPZjVJSktoNUs4cytiek81?=
 =?utf-8?B?U2VFRHdiK1pBUXFYTHY1S2UwL0xaS3NONHc1Vm9zY2VhWFh5WEZjdzM5bGtY?=
 =?utf-8?B?c281RzFiQ2R3S003NG9nRmMwRWR4VUZTbGhmT0ZXeGtKbytWeGRBbXdKcnBB?=
 =?utf-8?B?d2JTZEtZK200akJWTzVNU2JwbXlUNDRaMHVNSDYwRFc2N3BZVFNzY2QyRmg3?=
 =?utf-8?B?NkVnaURSMFFMU1FFVzRDbWh0ejY5RUdoRG1DcUwyOFVDamRlNzdnS243Q3Nn?=
 =?utf-8?B?a3dLaGsrSnJVd3dZZG1KZ0hCTWRuTVJ5SEFTMkhtRnFWeW5ybG4xSHpGKytO?=
 =?utf-8?B?bjZtZXNwQVBCNHR1MGJoRldSSXZ0Vk9QSXRzeC9QWnBCb3BteXJEcEpjbXBy?=
 =?utf-8?B?aXJYQU1WTmFvWis3b0dMU09mbERCWWtuVU9tWUVMREdQZm5SWHphc1lXN1dH?=
 =?utf-8?B?Z2dKMGlVS0VHOUxmYnF1VFo3SXN6dTc2bWlDYXRFdDl1eHY3ZXlWYTBvRlpZ?=
 =?utf-8?B?MmV0QVU2TEpFRTBjbWZoR25HSnowSEVtOVNvRWxIU2dUU2lOcUwrQmk5b3hy?=
 =?utf-8?B?VjNRZzV1VjZORFNlQ2h4alNoanVQRWcrVnZURFVudldkeUtGR0tqUXRtMlhB?=
 =?utf-8?B?Qm94RlluaWNONnRZdVd1cURIVzRLelNjUHJmbk4rd2RWUFFRN0tFbnQvb1Nt?=
 =?utf-8?B?anNqT3I1VDRJd3lVd2hwVXdNOVRCUEg1Q0RSOXloSFNyUTJLNFAwQitWdk54?=
 =?utf-8?B?S2VNMWlzdlA1aUFidHZFamZ3VEx4emc4ME54TnhMeTNpenFnYVcyMEdUbnRF?=
 =?utf-8?B?blNDY0ZsV2pYZVFXMXhnYW41T3RvKzZXTmRxS00vcHZ5OVVCVEVicGpxTTZ5?=
 =?utf-8?B?ejFINlJkU2NOMitibjFCcnNMaWtOdnJxWjc4dEppVTJ0N3N5b3ZONGp5Ykdl?=
 =?utf-8?B?U0pJWUpHc2p5bDIxYVY1YWR0cTl6NklMQ1B1TmZ2bzhwZXhFMm1IMXpKZ1Nx?=
 =?utf-8?B?ZXhRR0dUdUJOeFhvb2NYQXFpNGZnREdhZnp3dkk3TUJ4UWE2OExKNHo0UTVu?=
 =?utf-8?B?ZCtJYnl1YURUdDg4VTZxNkVPUncxWVQ2b0hlOUZTdWZhU0lYQU9CMit2aERK?=
 =?utf-8?B?SEduaW5hejRVc21vdDNSMDR5dzZFbnp3NTMvU2dOcHZPUFhjL3dxYmJBVkl0?=
 =?utf-8?B?NTlkUHU4QnZ6cWhjTFYrdlZmb2dja1YvTk9hMXdjd0t0UkVGVExYWHRGMjdP?=
 =?utf-8?B?ZmVHNW9oSG00QTZsQ0RvREkxNDJ6Z0RUUGhkVlY0Ri8vUlV4RVhXODBMcHB4?=
 =?utf-8?Q?zJjspRX0H7MrrhRGo6T9u4O9x?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd5b5717-3a93-4966-0d58-08db9e24c1d9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 06:48:11.2759
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b8mnjh1riYWtePMMfGQLoRsTIXk/wfCYZTajGotcRkcMxwABkqciXH+CHVX0bn6MOJu4jVOHFNYaqBkQd0t1GA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7472

On 16.08.2023 01:03, Stefano Stabellini wrote:
> On Tue, 15 Aug 2023, Andrew Cooper wrote:
>> The arch_get_xen_caps() infrastructure is horribly inefficient for something
>> that is constant after features have been resolved on boot.
>>
>> Every instance used snprintf() to format constants into a string (which gets
>> shorter when %d gets resolved!), and which get double buffered on the stack.
>>
>> Switch to using string literals with the "3.0" inserted - these numbers
>> haven't changed in 18 years (The Xen 3.0 release was Dec 5th 2005).
>>
>> Use initcalls to format the data into xen_cap_info, which is deliberately not
>> of type xen_capabilities_info_t because a 1k array is a silly overhead for
>> storing a maximum of 77 chars (the x86 version) and isn't liable to need any
>> more space in the forseeable future.
>>
>> This speeds up the the XENVER_capabilities hypercall, but the purpose of the
>> change is to allow us to introduce a better XENVER_* API that doesn't force
>> the use of a 1k buffer on the stack.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>
albeit I still think your original concern regarding ...

>> @@ -537,7 +538,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>  
>>          memset(info, 0, sizeof(info));
>>          if ( !deny )
>> -            arch_get_xen_caps(&info);
>> +            safe_strcpy(info, xen_cap_info);
>>  
>>          if ( copy_to_guest(arg, info, ARRAY_SIZE(info)) )
>>              return -EFAULT;

... the unhelpful use of a stack variable here could do with addressing.
But of course that can equally be done in a subsequent patch.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 07:39:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 07:39:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584208.914687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWB7i-0002Vz-TQ; Wed, 16 Aug 2023 07:39:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584208.914687; Wed, 16 Aug 2023 07:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWB7i-0002Vs-Ot; Wed, 16 Aug 2023 07:39:22 +0000
Received: by outflank-mailman (input) for mailman id 584208;
 Wed, 16 Aug 2023 07:39: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 1qWB7h-0002Vi-EJ; Wed, 16 Aug 2023 07:39: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 1qWB7h-0008I4-Az; Wed, 16 Aug 2023 07:39: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 1qWB7g-0007YC-US; Wed, 16 Aug 2023 07:39:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWB7g-0006v3-U4; Wed, 16 Aug 2023 07:39: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=5Lxxep4kwHqfTjwpOySIQ3grSoaD4kFxzqdTwAQSRXc=; b=DhbtH/bndD+9nKpcqceqVCSDoL
	rmk7dKJFsyPJW/A9rE/NPE4bS0l4GC22BtcSnYeou+ZJza0Nr5Po0wSD2iaQqn2vgZ6JKxZ273jHR
	FdNhC9bjjYiML83LmJqdHl9YywJ2eNCMbE22W868Bt4ogdD9OlCNNBA0J48NjPGyIDTQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182339-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182339: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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
X-Osstest-Versions-This:
    linux=91aa6c412d7f85e48aead7b00a7d9e91f5cf5863
X-Osstest-Versions-That:
    linux=2ccdd1b13c591d306f0401d98dedc4bdcd02b421
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 07:39:20 +0000

flight 182339 linux-linus real [real]
flight 182356 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182339/
http://logs.test-lab.xenproject.org/osstest/logs/182356/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail in 182356 REGR. vs. 182332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail pass in 182356-retest
 test-amd64-amd64-xl    22 guest-start/debian.repeat fail pass in 182356-retest
 test-amd64-amd64-pygrub 21 guest-start/debian.repeat fail pass in 182356-retest
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 182356-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182321
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182332
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182332
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                91aa6c412d7f85e48aead7b00a7d9e91f5cf5863
baseline version:
 linux                2ccdd1b13c591d306f0401d98dedc4bdcd02b421

Last test of basis   182332  2023-08-14 15:39:46 Z    1 days
Testing same since   182339  2023-08-15 06:40:27 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Allen Hubbe <allen.hubbe@amd.com>
  David Hildenbrand <david@redhat.com>
  Dragos Tatulea <dtatulea@nvidia.com>
  Eugenio PĂ©rez <eperezma@redhat.com>
  Feng Liu <feliu@nvidia.com>
  Gal Pressman <gal@nvidia.com>
  Hawkins Jiawei <yin31149@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Maxime Coquelin <maxime.coquelin@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Shannon Nelson <shannon.nelson@amd.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  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                                          fail    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-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-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 643 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:35:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:35:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584221.914699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWCvp-0006nW-9S; Wed, 16 Aug 2023 09:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584221.914699; Wed, 16 Aug 2023 09: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 1qWCvp-0006nP-5v; Wed, 16 Aug 2023 09:35:13 +0000
Received: by outflank-mailman (input) for mailman id 584221;
 Wed, 16 Aug 2023 09:35: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=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWCvn-0006nH-9G
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:35:11 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fa4fb90-3c18-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:35:08 +0200 (CEST)
Received: from AS9PR06CA0757.eurprd06.prod.outlook.com (2603:10a6:20b:484::10)
 by PAXPR08MB6334.eurprd08.prod.outlook.com (2603:10a6:102:dc::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:34:59 +0000
Received: from AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:484:cafe::c7) by AS9PR06CA0757.outlook.office365.com
 (2603:10a6:20b:484::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Wed, 16 Aug 2023 09:34:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT010.mail.protection.outlook.com (100.127.141.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:34:59 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Wed, 16 Aug 2023 09:34:58 +0000
Received: from 325fca70a136.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB0A31BD-B78C-4E28-8DDE-436833DA8C13.1; 
 Wed, 16 Aug 2023 09:34:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 325fca70a136.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:34:52 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8349.eurprd08.prod.outlook.com (2603:10a6:20b:56d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:34:49 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:34:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fa4fb90-3c18-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PzuT38+yuIW3x27SI+HFVXSTAs35+ba5y8jc7qsKL8Y=;
 b=Lqz6Ra9OhtFh4DwXy0e0GhHYBOgxtLXjRC3irVLULOtrKeRX3utkkZ7EsEMShBE0tqk4e7kAtOafSYRE6xFBWcts+oBb4DJGbyR+peHB+Yy19QEF02USMRBcJpLHIcRe3tedLs9hY/JyyEc3TkzQelh/OTA8bMhGblFDy+nOyXM=
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: 60ddcd3194079d6b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g2yI9iQpluYJU63aM46URgdhZ6KuCN0mHO7LaPWfNqC1NkY0XH4LJx+/QsmYJwXiQe8A9bj6b5tecojW8Z3/lW56TJT4Nw+VgplnelN1Pmefkl022lTIqCt9qvPK1MMeLInenHRTcivJfcfCBK+kzvOh9kL7EJJ9+9tLxEC+SzMmXp7F9ks4OWAdcSMcB/WqHHNXsBUHvRY13uucM0jUx9QbokYUilRbvUMKU0zKOG6BqPTlgovNsJuAtSiiRmGrI4QxKnNQptsp+NwKR/nnvYY6R+Go+Jzrb5LOjluW3VOFm62u0sSEXMCTFC2VuKvI4EJpnjpexdN/nCA+yUbYBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PzuT38+yuIW3x27SI+HFVXSTAs35+ba5y8jc7qsKL8Y=;
 b=PHoChnfYprnDvLYwkx13rBNQZDn9zSaDndWaWE0TJ9LSx9YQ8bN3Nhan412DJUyI9PoposDgofjjkYqa5AX0uSObeQnyiNZFr17ZbTmPkVqT0neTt7agdUc1Q4SzVRK23dx8Ns6T/a8uNjAwdGA9UHihE/99jkXwhP9jKmwSaknn9ZNeyxqP5xCPQKAJwhRufPsknGxDgTInIaD+PnyGfnMZ//IHz5oRheFmWEFwlgUOCmcmAkVhYs8ZIPfOfw4UyLkrGWlEVuoYufl2qz/sY50tjKUxqPhuZPJVgEFpsWc7SZJqVf22nnpD2v+A41yp97K90NPuals8XdKO2rb0lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=PzuT38+yuIW3x27SI+HFVXSTAs35+ba5y8jc7qsKL8Y=;
 b=Lqz6Ra9OhtFh4DwXy0e0GhHYBOgxtLXjRC3irVLULOtrKeRX3utkkZ7EsEMShBE0tqk4e7kAtOafSYRE6xFBWcts+oBb4DJGbyR+peHB+Yy19QEF02USMRBcJpLHIcRe3tedLs9hY/JyyEc3TkzQelh/OTA8bMhGblFDy+nOyXM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [XEN PATCH v11 01/14] xen/arm: ffa: add direct request support
Thread-Topic: [XEN PATCH v11 01/14] xen/arm: ffa: add direct request support
Thread-Index: AQHZw6i+Dio5bTi0dkerq65BnI+x2K/swm2A
Date: Wed, 16 Aug 2023 09:34:49 +0000
Message-ID: <A141EDA2-1526-4F6F-9FD7-5BD4507051A1@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-2-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB8349:EE_|AM7EUR03FT010:EE_|PAXPR08MB6334:EE_
X-MS-Office365-Filtering-Correlation-Id: e584d5f6-1b95-4250-14cd-08db9e3c0f0d
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:
 LEMwBZZGKBk6/YuamoQJThDK/aEK+JbKxRDAkN1a7sEeBDLDayNgfKFFGWxBs8EYy6lcoQX7MfQr2+JMNv+0bSOHZSsuyjFkIAMK5g6tIXdoIs+oc18ibcn8J0ApuWmPDWHI+95o/WGXzeAkCAI8heCJ/Wl5ZJNu3AQi6ytE9mVAJMdsI+XVyajcnUJIyMVNEcuE2e5Rjr0GEIo0Y27lK3ma8uY4BHokrRF811nor79T6aTB/7l/mgAH1bns+2X/9fNSn83fiIwT9ztdmEZtCPJUehLnYRenBia5UTMtnbRUb3vFXjkgOWU4ibptTk+/gg+k3X/6lHrEg9mwwU31CHm9w9k7JTf8BM7hidBWyknKOXc8GuocY0PBa8XnuP7RNrJGeL/NuSwnvtGIglOmVCsVXjcHWDZ+EhTZGFOtbNR6z4RaEb6RN6ce8fYT+2LseijBMJ2q7AdXUwVH+DWpM20HSQn3sCs9eeIRAG0n3MeoyxptpeoAMA0J2N5KFBUjx2Eia+JyHCfLcGLx1qHwnq5MRCzy0S6nsYVs7KRlHkZA0IBxJTu01yKVUPQChSYgpC8iOdQ2/AZzL9uTvqp+/W2bL8QAX30nF7lrPmSuudm2A3F3a2J5PJJgxwE77xAbG6tsOsn6ndfx7ciWgNRypg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(86362001)(478600001)(36756003)(2616005)(6486002)(6506007)(71200400001)(33656002)(6512007)(53546011)(5660300002)(41300700001)(122000001)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(91956017)(76116006)(4326008)(8676002)(8936002)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9637F20A6E5F6A458D6F79ED1E9B1AA0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8349
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:
 AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9d0cbdec-e821-43c9-c4eb-08db9e3c0932
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Kam2x/oVK/tlssIoW6IW++7qx4AooLDoxfBaupBcRTMS00D+7+rkEMMiUAAW6ERN+LFUV43qBT/lVTqunfRyYKwIBKXT4ZaoHGZobP349hEXlA6R1dlJB8DGb5Vi9TMwO/b3fZPp6/NdLLJVL871jCmVGu7LJUcRzAla6Wt0QSGDdBhFUZQTh8bkY+Ngcw8yv0+XRyhCWh3gEonjSKgXkG4VaMgaDheLV7+yaleka+F1rJmf2CA1NDFDHur4hsfcWUi5CA5IFrdtJTi3bzDZeyGs65VMV5hlIZvqdKeT+tq8RLrLj+9ZUwLZm0TRkhCyDbJ4ZGonyyKvPikIKwhBabiYY9C+dIl/gmQ9uI94v6NRGTrSywlrDtOA4peRqzE2gkOJ7i+KWTVLBYr5mEdHU3gpsWrJNfll0NSMad6uhDEX2fGc45CF4qhQSKzY2dFmPzwvAmLyLXefhcZYCj77xqNy3A8a1xQpreIhgAQFjVBEDehkjFDxGig9hw4FgjhrmSOc3ygEXs2RnqH6NFD9P1xywbqJ31boApO2P9Jgm5bMX8t9aNq+cJc2nsV4AUj2Kiz1VmOrtfdgzPTTff8VcnHwFjHnBEO9prrcyKiMrlf3iKt/+kwg7h5+bzSqzgQW53ojtA2L/t3qhfwtep+Eeg5BLuVJjqjyeVuIm7jtfvlESmAOkV5B9xHGi8ic65R2GJXa3qjktDtjPfh6Bgafky5gBlo2vvpYqtIL6n0wkAL9kFHyrG2L7SuSATPNQYbd
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(82310400011)(186009)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(83380400001)(86362001)(478600001)(40480700001)(336012)(36756003)(2616005)(6486002)(6506007)(33656002)(6512007)(53546011)(26005)(5660300002)(41300700001)(36860700001)(82740400003)(316002)(54906003)(356005)(81166007)(70206006)(70586007)(4326008)(6862004)(8676002)(8936002)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:34:59.0017
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e584d5f6-1b95-4250-14cd-08db9e3c0f0d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6334

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support for sending a FF-A direct request. Checks that the SP also
> supports handling a 32-bit direct request. 64-bit direct requests are
> not used by the mediator itself so there is not need to check for that.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - In handle_msg_send_direct_req(), replaced the "arg" with "resp" at the
>  default: label in the switch statement.
> ---
> xen/arch/arm/tee/ffa.c | 113 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 113 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index e157ed20ad8b..961a8c052f59 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -181,6 +181,56 @@ static bool ffa_get_version(uint32_t *vers)
>     return true;
> }
>=20
> +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
> +{
> +    switch ( resp->a0 )
> +    {
> +    case FFA_ERROR:
> +        if ( resp->a2 )
> +            return resp->a2;
> +        else
> +            return FFA_RET_NOT_SUPPORTED;
> +    case FFA_SUCCESS_32:
> +    case FFA_SUCCESS_64:
> +        return FFA_RET_OK;
> +    default:
> +        return FFA_RET_NOT_SUPPORTED;
> +    }
> +}
> +
> +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t a=
2,
> +                               register_t a3, register_t a4)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D fid,
> +        .a1 =3D a1,
> +        .a2 =3D a2,
> +        .a3 =3D a3,
> +        .a4 =3D a4,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +
> +    return get_ffa_ret_code(&resp);
> +}
> +
> +static int32_t ffa_features(uint32_t id)
> +{
> +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
> +}
> +
> +static bool check_mandatory_feature(uint32_t id)
> +{
> +    int32_t ret =3D ffa_features(id);
> +
> +    if ( ret )
> +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing: error =
%d\n",
> +               id, ret);
> +
> +    return !ret;
> +}
> +
> static uint16_t get_vm_id(const struct domain *d)
> {
>     /* +1 since 0 is reserved for the hypervisor in FF-A */
> @@ -222,6 +272,57 @@ static void handle_version(struct cpu_user_regs *reg=
s)
>     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> }
>=20
> +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint3=
2_t fid)
> +{
> +    struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> +    struct arm_smccc_1_2_regs resp =3D { };
> +    struct domain *d =3D current->domain;
> +    uint32_t src_dst;
> +    uint64_t mask;
> +
> +    if ( smccc_is_conv_64(fid) )
> +        mask =3D GENMASK_ULL(63, 0);
> +    else
> +        mask =3D GENMASK_ULL(31, 0);
> +
> +    src_dst =3D get_user_reg(regs, 1);
> +    if ( (src_dst >> 16) !=3D get_vm_id(d) )
> +    {
> +        resp.a0 =3D FFA_ERROR;
> +        resp.a2 =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out;
> +    }
> +
> +    arg.a1 =3D src_dst;
> +    arg.a2 =3D get_user_reg(regs, 2) & mask;
> +    arg.a3 =3D get_user_reg(regs, 3) & mask;
> +    arg.a4 =3D get_user_reg(regs, 4) & mask;
> +    arg.a5 =3D get_user_reg(regs, 5) & mask;
> +    arg.a6 =3D get_user_reg(regs, 6) & mask;
> +    arg.a7 =3D get_user_reg(regs, 7) & mask;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    switch ( resp.a0 )
> +    {
> +    case FFA_ERROR:
> +    case FFA_SUCCESS_32:
> +    case FFA_SUCCESS_64:
> +    case FFA_MSG_SEND_DIRECT_RESP_32:
> +    case FFA_MSG_SEND_DIRECT_RESP_64:
> +        break;
> +    default:
> +        /* Bad fid, report back to the caller. */
> +        memset(&resp, 0, sizeof(resp));
> +        resp.a0 =3D FFA_ERROR;
> +        resp.a1 =3D src_dst;
> +        resp.a2 =3D FFA_RET_ABORTED;
> +    }
> +
> +out:
> +    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & ma=
sk,
> +             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & m=
ask);
> +}
> +
> static bool ffa_handle_call(struct cpu_user_regs *regs)
> {
>     uint32_t fid =3D get_user_reg(regs, 0);
> @@ -239,6 +340,10 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>     case FFA_ID_GET:
>         set_regs_success(regs, get_vm_id(d), 0);
>         return true;
> +    case FFA_MSG_SEND_DIRECT_REQ_32:
> +    case FFA_MSG_SEND_DIRECT_REQ_64:
> +        handle_msg_send_direct_req(regs, fid);
> +        return true;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -331,6 +436,14 @@ static bool ffa_probe(void)
>     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>            major_vers, minor_vers);
>=20
> +    /*
> +     * At the moment domains must support the same features used by Xen.
> +     * TODO: Rework the code to allow domain to use a subset of the
> +     * features supported.
> +     */
> +    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> +        return false;
> +
>     ffa_version =3D vers;
>=20
>     return true;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584226.914710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWCwo-0007Md-LD; Wed, 16 Aug 2023 09:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584226.914710; Wed, 16 Aug 2023 09:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWCwo-0007MW-Ht; Wed, 16 Aug 2023 09:36:14 +0000
Received: by outflank-mailman (input) for mailman id 584226;
 Wed, 16 Aug 2023 09:36: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=Hz6+=EB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qWCwm-0007EU-Um
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:36:12 +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 566fb63d-3c18-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:36:12 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-317b31203c7so5788148f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 02:36:12 -0700 (PDT)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e4-20020adfef04000000b003196dba130asm13710767wro.106.2023.08.16.02.36.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 02:36:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 566fb63d-3c18-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692178571; x=1692783371;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=85acf0tv8If4NzPXTcNTNX4BUZ85h9wocFZzaqY6RxU=;
        b=N1kxQESRfW2otpudCNa1jK2DI14AWjkryy49y5Sk7e4D71n1X1z79MFzhw7PFzda/U
         WJCTvwStCEotT56F435xsSbbXLyzEDBDxaJt/mDQN62RV7vvgBIFS0tds9SDDCPa1yPk
         5sf3jXdl/oUEK26HLwbNBQvsH+MWEBLs4UmOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692178571; x=1692783371;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=85acf0tv8If4NzPXTcNTNX4BUZ85h9wocFZzaqY6RxU=;
        b=Lp+Sl8v3r4RrAoztXbI7Ko3vx8JFGfLpMvYl1hOmi+PDECLysFUMH2wi+pg3elhM+x
         PM2Nqwx1jYVL3+2BfQx6QJEkf6gL46FYKbYsPn8lfltIt90WWzN9Bp9rUHwUU8qtdCYZ
         qmO5DflFJV1KCkw+7P2T8wQsEO6arTD+kaCgIb54oomrn8l7tbPHzT69AwB5MfEtYfji
         FH5RGD0boi8ywRz6FGWQAkXSwka0QDoSAr/d8eFbdXEKxEZcANgZ8gE0N3koM73XphkQ
         ZURxzm6W4SyLUNQmaDAdJESzJa8klg0gbxFnax8MAB8fVKyD/VEMeRNF+gPv/dN9qh2R
         8raw==
X-Gm-Message-State: AOJu0YxhOYa0P9RuZ0k6onDS8PLstsIWCEsZpouQQfjL13k0ssIPCwPS
	y8KAdZPXM86I0sijZSskm2LrrdMeua+uYUJDCCk=
X-Google-Smtp-Source: AGHT+IFzT7wFccTylEQt//fB/1f5U4l2Q0xffiDlP9kM5ENuQbpSxbud9nGE31xBubCSp/W2IwZMcw==
X-Received: by 2002:a5d:456c:0:b0:313:f235:cd17 with SMTP id a12-20020a5d456c000000b00313f235cd17mr1040511wrc.40.1692178571648;
        Wed, 16 Aug 2023 02:36:11 -0700 (PDT)
Message-ID: <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
X-Google-Original-Message-ID: <ZNyYiXAlWkqoKDRR@EMEAENGAAD19049.>
Date: Wed, 16 Aug 2023 10:36:09 +0100
From: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v3 0/4]  Make PDX compression optional
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230808130220.27891-1-alejandro.vallejo@cloud.com>

On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
> disable it because the whole codebase performs unconditional
> compression/decompression operations on addresses. This has the
> unfortunate side effect that systems without a need for compression still
> have to pay the performance impact of juggling bits on every pfn<->pdx
> conversion (this requires reading several global variables). This series
> attempts to:
> 
>   * Leave the state of pdx and pdx compression documented
>   * Factor out compression so it _can_ be removed through Kconfig
>   * Make it so compression is disabled on x86 and enabled on both Aarch32
>     and Aarch64 by default.
> 
> Series summary:
> 
> Patch 1 Moves hard-coded compression-related logic to helper functions
> Patch 2 Refactors all instances of regions being validated for pdx
>         compression conformance so it's done through a helper
> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>         the old CONFIG_HAS_PDX, as it was non removable
> 
> Already committed:
> 
> v1/patch 1 documents the current general understanding of the pdx concept and
>            pdx compression in particular
> v1/patch 3 Marks the pdx compression globals as ro_after_init
> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
> 
> Alejandro Vallejo (4):
>   mm: Factor out the pdx compression logic in ma/va converters
>   mm/pdx: Standardize region validation wrt pdx compression
>   pdx: Reorder pdx.[ch]
>   pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option

@Jan: Just making sure, are you generally ok with this series as-is?

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:40:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584234.914720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD1K-0000Wl-5t; Wed, 16 Aug 2023 09:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584234.914720; Wed, 16 Aug 2023 09:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD1K-0000We-2k; Wed, 16 Aug 2023 09:40:54 +0000
Received: by outflank-mailman (input) for mailman id 584234;
 Wed, 16 Aug 2023 09:40:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWD1I-0000WY-Oy
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:40:52 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcf136dc-3c18-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:40:52 +0200 (CEST)
Received: from AS9PR06CA0704.eurprd06.prod.outlook.com (2603:10a6:20b:49f::14)
 by AM9PR08MB6740.eurprd08.prod.outlook.com (2603:10a6:20b:305::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:40:40 +0000
Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:49f:cafe::95) by AS9PR06CA0704.outlook.office365.com
 (2603:10a6:20b:49f::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 09:40:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:40:39 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Wed, 16 Aug 2023 09:40:39 +0000
Received: from b8f675348c29.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EB34E375-6D3A-44CE-8AE7-FDAAFF1BB2AB.1; 
 Wed, 16 Aug 2023 09:40:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b8f675348c29.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:40:32 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB7995.eurprd08.prod.outlook.com (2603:10a6:10:3e2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:40:29 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:40:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcf136dc-3c18-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SJjPQZ/kdxPeAestgRDsL/B1D5bOcRzwwJCMpHGrxCk=;
 b=WluaGG3xYOR/8Ys5BO8NT7FaHb95uGeIBl5np+AdrLIYdIK3mzcl2wnyR09qJXC2FYDOeQ6r7y1QbP6KgTuFV+cJBvPVeDBj1cRwOU1hJr7kFRqJh9OUt/Dkrd6VDptiYrJdcqRrmoiuWZb1ePinCwuTWP7L712OrUx0tH2QwPs=
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: 0c70050ea396b8d8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hLWSjzHlFBB5viPk5hdbffg7OXP7h6hthtKEd1TaWk9RjvLIqoCEOzmjeJ4eSf+kV5RkWW0GEkh/+jys1ZwHV0A3My9bfpqANH7CLqMYfwntRPhjWt1YStBJ/m+890CLoVvqZaxUEXplXhtWj+cKJUwmlhqrMuZ4LxVhcBRs+eEW5isp/xj6cQZxUPLg1NVenT0F1UGY2RvOjuYP8wZwOJgq77afiTyT97lfMcMUtGZ/OQWmGG01HxSDr/OokmSE/BcnMD+cjEdRC/+09IHEtXjCVDxziOHxCeSqoED5J6g7OQdsZD8bD1yybMpvdoou9aDRny3bnbKAheU5nCQAxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SJjPQZ/kdxPeAestgRDsL/B1D5bOcRzwwJCMpHGrxCk=;
 b=a/TR07fgqA8HnIpvdunaPHc05jh0dvAGzln7KTGfAqTrASS1RDdsU75f7M9ArNG8Oq8C5a28iGSjttULSbzkB6kbTteK8AfwSXE6WASrJyZeGZF/R7GsLjmW0M4XQ9FLkvBeL4CIMlCNqTpbOsiadljDLRM89nVu4Iueyn22iaqMSSMOtGcUCM1Cn420yDey2e6fysAeoJ8biBHhX6SoWBERIrxzdMdDEOVzM1YTzUqv3HPxybeZ3UJgZieHFCrUtOBBmI0tfcuwToV4O2T3axJeUIhDSCaE5lBlBoo1a8PEi4Wtwn5x3eC7vWwT5xp+ROkI86flyywgumqBpQqEdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=SJjPQZ/kdxPeAestgRDsL/B1D5bOcRzwwJCMpHGrxCk=;
 b=WluaGG3xYOR/8Ys5BO8NT7FaHb95uGeIBl5np+AdrLIYdIK3mzcl2wnyR09qJXC2FYDOeQ6r7y1QbP6KgTuFV+cJBvPVeDBj1cRwOU1hJr7kFRqJh9OUt/Dkrd6VDptiYrJdcqRrmoiuWZb1ePinCwuTWP7L712OrUx0tH2QwPs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v11 03/14] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Topic: [XEN PATCH v11 03/14] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Index: AQHZw6jAfJC6fhyqoUCRDBGcOE/+m6/sxAWA
Date: Wed, 16 Aug 2023 09:40:29 +0000
Message-ID: <EF204A13-A736-4C20-BF4F-94B609F488F8@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-4-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|DU0PR08MB7995:EE_|AM7EUR03FT006:EE_|AM9PR08MB6740:EE_
X-MS-Office365-Filtering-Correlation-Id: 9557bc27-b77b-47b5-71b0-08db9e3cda3e
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:
 4a4bUFmwDKAC+3AqK8RvxoqrWC4yHhtttwy1jFdWVxoVSrlWC3iqSeak9Al4g9WxLe12kGDmjhzmS5zDkl4CFfgRKAQPCNit8tZjm9Pm5W30F+KKWQjwr9C8fwWt5r52KwJMQOgIZ4Pn3g2jEZp8rWL7pmdq1b0OtlLTz3wefoBxDySHmiILZWbc7MJALdQ6MyKs5tUx+8RQSfiNXGJM6zzz15UWqfGHaf+aN24O6To1YBQZtrIzI1Tu3i+CROu2xAOXqPWWgBjnqBIDjCkTH+zpq96C6xDtUDt6/Aj7NTCwQHTQTSuapViC7cxFWuDMFwU68IgXh5h0LERtcJW5qB2T5xk17Wsn1XPPiay+KPVNEaWty276hMu1FdOpDswTsWFCkcLEV6TwLnMEU/3jAKrJ5KBjUI+lqJ8gIVHDhYePJJC2t37TqAXpAUWFtwzBLBVvF8a8xfKpwAfXWRmg7dmpqmYx9PJxyI0IrXOD6fG3IPgKgRC+weTHgZZ6vJOTALGHDCVt7xyWoQziK5mTx8D2k7hhFUvtiXFgiAVbjs8/AX3vLm0zUi/6IYvMwTldAOli9zSQanip0BoVTYp5n2CS2P58+J3xVHBWslKSx0ZEnxq1y+6UnTjw+oZ+XhcIoQZiEfSOf+wRep8gYBiLCA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(66899024)(86362001)(478600001)(36756003)(2616005)(6486002)(6506007)(71200400001)(33656002)(6512007)(53546011)(5660300002)(41300700001)(122000001)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(91956017)(76116006)(4326008)(8676002)(8936002)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <08773C338A57B34DBC9CFC8BC2C3BBB0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7995
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:
 AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a1bc484c-7099-4465-4a4a-08db9e3cd3f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dYOXlJvtSakcXaIzXRoQ+S5Ak7yNa9A8F+cmiFC8rlxW5kk2W25h1XyMp36iBe8LfVCcX+tjsajTFhJehdyDXCtYQt2Uu6qlbuF2KYVqZvZnBUxwxOhMUZ6CH4xIXiLiCZGSBRfLtzl6fSK2IeYm+yR9vuLe5s+HpjHNL2Znq5ZND0CMWhS+sMt/GO2pWYYCvohps1A/hXkX2k9SA8lxK1vQf2cyeT3xZBjzGC2zGkIX2a1MCljZ0qcAwpS0oi6xMpLEShy7OGSvNY0nsK7Nj2DBEgTO1k2iS8sTbx4RsSw2lxYoMDZ6McYGPFzRhmeSUAaWClcaw6d8quMRp45eyJK9uR+kgo6rtSBjU+fOfjUL33ZeCCgUrP4UK+pBbnP0C/BQxuhfjan/cM0peyqUsiuLLxi08gfJzJhOwi2qK81qXDL4Hss0vK5WcVl3+TZhKaM3TYsruKsKqZEOe6+nW0X6P7UudLwaM+2nNhUWtnz+VquxHDFgo2IWfoFwX6XJeHk6f23a0Hc47nom5QTa1ICt4HV6RFnCvnK4qOQ0R4Yxe+oemC/khJhscvyS2NRl8waXD0Dsh6X/CzTaUfsSevnXf868Sm51mGczrLxsMAJJ5Ck+wg63sAjYtCQPPnEuUItiiWogmtD1WmFGHZ2ka6H8Fwxg6733G9mkLCWWAcMRL5y6N7sgC2I8ZsSvGzSK0UiCEg72MfB9ex9aqSAaRZIXRCag2PU17sBEg2K9PSpf0SSfCCs1TSiNQFb/wmGI
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(82310400011)(186009)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(83380400001)(66899024)(86362001)(478600001)(40480700001)(336012)(36756003)(2616005)(6486002)(6506007)(33656002)(6512007)(53546011)(26005)(5660300002)(41300700001)(36860700001)(82740400003)(316002)(54906003)(356005)(81166007)(70206006)(70586007)(4326008)(6862004)(8676002)(8936002)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:40:39.9027
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9557bc27-b77b-47b5-71b0-08db9e3cda3e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6740

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> The FF-A specification defines framework messages sent as direct
> requests when certain events occurs. For instance when a VM (guest) is
> created or destroyed. Only SPs which have subscribed to these events
> will receive them. An SP can subscribe to these messages in its
> partition properties.
>=20
> Adds a check that the SP supports the needed FF-A features
> FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
>=20
> The partition properties of each SP is retrieved with
> FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> caller (us), so once we're done with the buffer it must be released
> using FFA_RX_RELEASE before another call can be made.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

One NIT after which might be fixed on commit.

With that fixed:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

> ---
> v10->v11:
> - Addressing comments and fixing a few style issues
> - Fixing how is_in_subscr_list() is used, it's supposed to take an
>  sp_id, not a vm_id.
> ---
> xen/arch/arm/tee/ffa.c | 234 ++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 233 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 072198a1326d..5af3e5eedc88 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -160,14 +160,33 @@
> #define FFA_MSG_SEND                    0x8400006EU
> #define FFA_MSG_POLL                    0x8400006AU
>=20
> +/* Partition information descriptor */
> +struct ffa_partition_info_1_1 {
> +    uint16_t id;
> +    uint16_t execution_context;
> +    uint32_t partition_properties;
> +    uint8_t uuid[16];
> +};
> +
> struct ffa_ctx {
>     /* FF-A version used by the guest */
>     uint32_t guest_vers;
> +    /*
> +     * Number of SPs that we have sent a VM created signal to, used in
> +     * ffa_domain_teardown() to know which SPs need to be signalled.
> +     */
> +    uint16_t create_signal_count;
> };
>=20
> /* Negotiated FF-A version to use with the SPMC */
> static uint32_t __ro_after_init ffa_version;
>=20
> +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
> +static uint16_t *subscr_vm_created __read_mostly;
> +static uint16_t subscr_vm_created_count __read_mostly;
> +static uint16_t *subscr_vm_destroyed __read_mostly;
> +static uint16_t subscr_vm_destroyed_count __read_mostly;
> +
> /*
>  * Our rx/tx buffers shared with the SPMC. FFA_RXTX_PAGE_COUNT is the
>  * number of pages used in each of these buffers.
> @@ -251,6 +270,87 @@ static int32_t ffa_rxtx_map(paddr_t tx_addr, paddr_t=
 rx_addr,
>     return ffa_simple_call(FFA_RXTX_MAP_64, tx_addr, rx_addr, page_count,=
 0);
> }
>=20
> +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t=
 w3,
> +                                      uint32_t w4, uint32_t w5,
> +                                      uint32_t *count)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_PARTITION_INFO_GET,
> +        .a1 =3D w1,
> +        .a2 =3D w2,
> +        .a3 =3D w3,
> +        .a4 =3D w4,
> +        .a5 =3D w5,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    uint32_t ret;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +
> +    ret =3D get_ffa_ret_code(&resp);
> +    if ( !ret )
> +        *count =3D resp.a2;
> +
> +    return ret;
> +}
> +
> +static int32_t ffa_rx_release(void)
> +{
> +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> +}
> +
> +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> +                                      uint8_t msg)
> +{
> +    uint32_t exp_resp =3D FFA_MSG_FLAG_FRAMEWORK;
> +    unsigned int retry_count =3D 0;
> +    int32_t res;
> +
> +    if ( msg =3D=3D FFA_MSG_SEND_VM_CREATED )
> +        exp_resp |=3D FFA_MSG_RESP_VM_CREATED;
> +    else if ( msg =3D=3D FFA_MSG_SEND_VM_DESTROYED )
> +        exp_resp |=3D FFA_MSG_RESP_VM_DESTROYED;
> +    else
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    do {
> +        const struct arm_smccc_1_2_regs arg =3D {
> +            .a0 =3D FFA_MSG_SEND_DIRECT_REQ_32,
> +            .a1 =3D sp_id,
> +            .a2 =3D FFA_MSG_FLAG_FRAMEWORK | msg,
> +            .a5 =3D vm_id,
> +        };
> +        struct arm_smccc_1_2_regs resp;
> +
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        if ( resp.a0 !=3D FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 !=3D ex=
p_resp )
> +        {
> +            /*
> +             * This is an invalid response, likely due to some error in =
the
> +             * implementation of the ABI.
> +             */
> +            return FFA_RET_INVALID_PARAMETERS;
> +        }
> +        res =3D resp.a3;
> +        if ( ++retry_count > 10 )
> +        {
> +            /*
> +             * TODO
> +             * FFA_RET_INTERRUPTED means that the SPMC has a pending
> +             * non-secure interrupt, we need a way of delivering that
> +             * non-secure interrupt.
> +             * FFA_RET_RETRY is the SP telling us that it's temporarily
> +             * blocked from handling the direct request, we need a gener=
ic
> +             * way to deal with this.
> +             * For now in both cases, give up after a few retries.
> +             */
> +            return res;
> +        }
> +    } while ( res =3D=3D FFA_RET_INTERRUPTED || res =3D=3D FFA_RET_RETRY=
 );
> +
> +    return res;
> +}
> +
> static uint16_t get_vm_id(const struct domain *d)
> {
>     /* +1 since 0 is reserved for the hypervisor in FF-A */
> @@ -374,6 +474,8 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
> static int ffa_domain_init(struct domain *d)
> {
>     struct ffa_ctx *ctx;
> +    unsigned int n;
> +    int32_t res;
>=20
>     if ( !ffa_version )
>         return -ENODEV;
> @@ -390,17 +492,68 @@ static int ffa_domain_init(struct domain *d)
>=20
>     d->arch.tee =3D ctx;
>=20
> +    for ( n =3D 0; n < subscr_vm_created_count; n++ )
> +    {
> +        res =3D ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id(d=
),
> +                                     FFA_MSG_SEND_VM_CREATED);
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id %=
u to  %u: res %d\n",
> +                   get_vm_id(d), subscr_vm_created[n], res);
> +            ctx->create_signal_count =3D n;
> +            return -EIO;
> +        }
> +    }
> +    ctx->create_signal_count =3D subscr_vm_created_count;
> +
>     return 0;
> }
>=20
> +static bool is_in_subscr_list(const uint16_t *subscr, uint16_t start,
> +                              uint16_t end, uint16_t sp_id)
> +{
> +    unsigned int n;
> +
> +    for ( n =3D start; n < end; n++ )
> +    {
> +        if ( subscr[n] =3D=3D sp_id )
> +            return true;
> +    }
> +
> +    return false;
> +}
> +
> /* This function is supposed to undo what ffa_domain_init() has done */
> static int ffa_domain_teardown(struct domain *d)
> {
>     struct ffa_ctx *ctx =3D d->arch.tee;
> +    unsigned int n;
> +    int32_t res;
>=20
>     if ( !ctx )
>         return 0;
>=20
> +

NIT: this extra line should be removed.

@Julien: are you ok to fix that one on commit ?

> +    for ( n =3D 0; n < subscr_vm_destroyed_count; n++ )
> +    {
> +        /*
> +         * Skip SPs subscribed to the VM created event that never was
> +         * notified of the VM creation due to an error during
> +         * ffa_domain_init().
> +         */
> +        if ( is_in_subscr_list(subscr_vm_created, ctx->create_signal_cou=
nt,
> +                               subscr_vm_created_count,
> +                               subscr_vm_destroyed[n]) )
> +            continue;
> +
> +        res =3D ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id=
(d),
> +                                     FFA_MSG_SEND_VM_DESTROYED);
> +
> +        if ( res )
> +            printk(XENLOG_ERR "ffa: Failed to report destruction of vm_i=
d %u to  %u: res %d\n",
> +                   get_vm_id(d), subscr_vm_destroyed[n], res);
> +    }
> +
>     XFREE(d->arch.tee);
>=20
>     return 0;
> @@ -411,6 +564,81 @@ static int ffa_relinquish_resources(struct domain *d=
)
>     return 0;
> }
>=20
> +static void uninit_subscribers(void)
> +{
> +        subscr_vm_created_count =3D 0;
> +        subscr_vm_destroyed_count =3D 0;
> +        XFREE(subscr_vm_created);
> +        XFREE(subscr_vm_destroyed);
> +}
> +
> +static bool init_subscribers(struct ffa_partition_info_1_1 *fpi, uint16_=
t count)
> +{
> +    uint16_t n;
> +    uint16_t c_pos;
> +    uint16_t d_pos;
> +
> +    subscr_vm_created_count =3D 0;
> +    subscr_vm_destroyed_count =3D 0;
> +    for ( n =3D 0; n < count; n++ )
> +    {
> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
> +            subscr_vm_created_count++;
> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED=
 )
> +            subscr_vm_destroyed_count++;
> +    }
> +
> +    if ( subscr_vm_created_count )
> +        subscr_vm_created =3D xzalloc_array(uint16_t, subscr_vm_created_=
count);
> +    if ( subscr_vm_destroyed_count )
> +        subscr_vm_destroyed =3D xzalloc_array(uint16_t,
> +                                            subscr_vm_destroyed_count);
> +    if ( (subscr_vm_created_count && !subscr_vm_created) ||
> +         (subscr_vm_destroyed_count && !subscr_vm_destroyed) )
> +    {
> +        printk(XENLOG_ERR "ffa: Failed to allocate subscription lists\n"=
);
> +        uninit_subscribers();
> +        return false;
> +    }
> +
> +    for ( c_pos =3D 0, d_pos =3D 0, n =3D 0; n < count; n++ )
> +    {
> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
> +            subscr_vm_created[c_pos++] =3D fpi[n].id;
> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED=
 )
> +            subscr_vm_destroyed[d_pos++] =3D fpi[n].id;
> +    }
> +
> +    return true;
> +}
> +
> +static bool init_sps(void)
> +{
> +    bool ret =3D false;
> +    uint32_t count;
> +    int e;
> +
> +    e =3D ffa_partition_info_get(0, 0, 0, 0, 0, &count);
> +    if ( e )
> +    {
> +        printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
> +        goto out;
> +    }
> +
> +    if ( count >=3D UINT16_MAX )
> +    {
> +        printk(XENLOG_ERR "ffa: Impossible number of SPs: %u\n", count);
> +        goto out;
> +    }
> +
> +    ret =3D init_subscribers(ffa_rx, count);
> +
> +out:
> +    ffa_rx_release();
> +
> +    return ret;
> +}
> +
> static bool ffa_probe(void)
> {
>     uint32_t vers;
> @@ -462,7 +690,8 @@ static bool ffa_probe(void)
>      * TODO: Rework the code to allow domain to use a subset of the
>      * features supported.
>      */
> -    if (
> +    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
> +         !check_mandatory_feature(FFA_RX_RELEASE) ||
>          !check_mandatory_feature(FFA_RXTX_MAP_64) ||
>          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
>          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> @@ -484,6 +713,9 @@ static bool ffa_probe(void)
>     }
>     ffa_version =3D vers;
>=20
> +    if ( !init_sps() )
> +        goto err_free_ffa_tx;
> +
>     return true;
>=20
> err_free_ffa_tx:
> --=20
> 2.34.1
>=20

Cheers
Bertrand




From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:41:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584239.914729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD2J-00013U-Fo; Wed, 16 Aug 2023 09:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584239.914729; Wed, 16 Aug 2023 09:41:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD2J-00013N-Cw; Wed, 16 Aug 2023 09:41:55 +0000
Received: by outflank-mailman (input) for mailman id 584239;
 Wed, 16 Aug 2023 09:41:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWD2I-00010t-6F
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:41:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2087.outbound.protection.outlook.com [40.107.7.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21d61a83-3c19-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:41:53 +0200 (CEST)
Received: from AM6P194CA0082.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::23)
 by DBBPR08MB5977.eurprd08.prod.outlook.com (2603:10a6:10:209::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:41:24 +0000
Received: from AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8f:cafe::72) by AM6P194CA0082.outlook.office365.com
 (2603:10a6:209:8f::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 09:41:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT012.mail.protection.outlook.com (100.127.141.26) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:41:23 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
 Wed, 16 Aug 2023 09:41:23 +0000
Received: from 64db4f4af024.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 85B87396-7163-4491-981C-805A6B0B80D2.1; 
 Wed, 16 Aug 2023 09:41:17 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 64db4f4af024.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:41:17 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB7995.eurprd08.prod.outlook.com (2603:10a6:10:3e2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:41:15 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09: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>
X-Inumbo-ID: 21d61a83-3c19-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4j0g0IowZ4J7KUXx1r6AOoJh+hcDKpXkfMXO2xK+c4c=;
 b=7CLIEo0HLaZ4HNiixHdG8R3hdjGz6kCAfefFTEDQsxHdve9XSoCi7EYSMaf8y2XxPgmGucriPV3AIZUkOATrf+ZM2LBglSlZiIj00RCcy6NXUw0ere6BChAI7SFNGVRkm3Ig/h1sxLYMl2v//+pxdnG8w1zFUGTCEOzYKMIvVpg=
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: 54b6cd1f0e32f34d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G+5E30K+o4jC0AY8NvCYYBTUY3iOTpy3JYsW00nglEJ0diGMOdqFBB6JZEyQH3AfYsEB8+sX/AgsS27o0L+WUcnO9S2SKpnfO0fwCTuL2s6NG6qKNksSRP08SgoB+xz6zP2i5HeaEgNHLWEq2sr239gVCkQZ+QduVp1fYPLFUq8nhnsL1b07hZIQ1NzNykbtTOnVuS/Es4MuxGft7JOnZlqWJm5oxMFsF6wF2Xeazspk9HLJNxJ2mXH0bBck2Gjbtuj0lNn+IwfkqNLvwYL116M7VY6VuBimeBGe+OmprTerLRe+zi29AyTaoS2ur1Aw3nNhDnBYmD3lRL+uN6ZRJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4j0g0IowZ4J7KUXx1r6AOoJh+hcDKpXkfMXO2xK+c4c=;
 b=arOZeB2lnjcseBU0j4+2pb4tqC5V7QXZKps2QXcJBnCIQWlNzJsV1agLjXnVLFJLAHng9B1e/brA4VhfmyQ9VPHUlC7vh7aIpZZzJBy832CRIfbHke2FkeZEMiXDuPv4e6FtAtd8ZXz2KUSxpLylAnK/9Xs9V47bXnjENFysiMjiX8t/EdNKsSxLLqsrpLPm2QMvcEf9YXb+tAEPs96QWSGDX+hJwp4x20Nv02tlDspzrax5zQzXYy5zL/VoETeDQWgd/QWT7DIGLvWtcY05wRiDQso4fCgiQ/fRMwAyDAC89T2KmeWro8zjYFhnl8m2UxSWISr/DdJdP5dP8eE9ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=4j0g0IowZ4J7KUXx1r6AOoJh+hcDKpXkfMXO2xK+c4c=;
 b=7CLIEo0HLaZ4HNiixHdG8R3hdjGz6kCAfefFTEDQsxHdve9XSoCi7EYSMaf8y2XxPgmGucriPV3AIZUkOATrf+ZM2LBglSlZiIj00RCcy6NXUw0ere6BChAI7SFNGVRkm3Ig/h1sxLYMl2v//+pxdnG8w1zFUGTCEOzYKMIvVpg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v11 04/14] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Topic: [XEN PATCH v11 04/14] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Index: AQHZw6jBvWO4bv1JEESRRODWI5Tu8K/sxDoA
Date: Wed, 16 Aug 2023 09:41:15 +0000
Message-ID: <CA631EB2-3087-4627-8A4B-FE056C5FC63B@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-5-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-5-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|DU0PR08MB7995:EE_|AM7EUR03FT012:EE_|DBBPR08MB5977:EE_
X-MS-Office365-Filtering-Correlation-Id: caad3190-e0a9-41bc-f65a-08db9e3cf454
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:
 MxCg921k1IwpnH6UmoYy86BijzB0XhS+4qPf1085Igr4GactDbBs0NQlF3h0hYJmusxt9BRzlInIVOKVnTQ10WF0mdL32ylX8+5H7yghPwjDPM7IKf1xCU7PV0RhSyKXZBCoSqjaDhGYpoPhT3DJwzseaoBuXOE2U3heWvMHsKBzg3AIQaSmoIwUtsI6SeTqP47UbIwqDujis7onWnyEgRuW0arxfdgd9R4Lcp+j1bQd54NEuSy9uF6uFK8TyiiWTmthCVNHO3vS5zxkRt8peAbKcWFWaCxU4zedcJV9CCZWSbzHEuJ3VnDF68FZ9x/1teKyN2A0lnRmLMgl/QBc2mKg2cDSU0mkSx7276gkyIEIZXnybJPftCth1JPhhxdaIP6DkWhH6veqjxIkrkz+I1BuOXhFrF3JcHYYk3cUQfc1SQPzgsQuJm+JgHqpXbNdz4Co/j0RRw8lY6NUdUc1fqBz2MjSwYAtrfBH9nCOyIMTutNtBsfnmotdtZFGJ1MlM1CDQIUVLVQHFrRAZaYVPbUpDSwwqLsIZISDvBAIKfRQsPf5zR/0bHw2dkClEpWAo/bdCTWAQMSG0slB/TW1nmQH6csD4S7s5h9uzMxdnv4CFSwQrpjrnwyWCXQITzmNeyW873+zhBrBZwXJMkLWgg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(86362001)(478600001)(36756003)(2616005)(6486002)(6506007)(71200400001)(33656002)(6512007)(53546011)(5660300002)(41300700001)(122000001)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(91956017)(76116006)(4326008)(8676002)(8936002)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F14DA121BC5C694D8C33FAA4F44ABC43@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7995
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:
 AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb49783b-3bba-4109-5838-08db9e3cef4a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q4vk5DCyOe7QsOq+CPAlt//9oz2w6WjfgdS0GDpW3cD69NXkU3AriljnNSTZupsprxly0DY2t9pbNWN8BZwOoZqkeialF5JjoMWP6S3q+WPJhhEmeEMsfteF2ocQDv3QeFpdKG49R44akLjGwdTFBS6E2YSpQfhcdST1zdxr+nXdiUjSMHdNmYG8s94vMbl9jsFUKBLiJlwsKi86CQLJc98xOAjLojYraBAM0xIEpGy3JTiJ0Jj+m5t2t25ng8sMJ1lZPIFIUwc4WD5+FC4NUMoMryEDj/LQ7mltTe/imcAnRjNeZbQAjXdt2+nrjVE5akyeevf+KRacWaodo0Eb+hZF0t1ZnehEUQ/2FklBraZ3gWEezl8YD7epe/4RUa3rJ7agobyhMNqPz5Go9CTCeSReHgQ1nmPcmoc+i1lHJNVFrFJYXy+ckSNRU6zPf3IaOTH93GBkJ4wHS6T+oxymBdj4IIPvJdo+rIR67v7uAHe9/SpJHc0xMbUFhp5T3UlOunoAh/rPaeFCKqL7GgDSDLHwIQQg20ttlerqgJ/rCUXZ5cswgdhCPHljDeluEjyN5WvbUVMvE540aDkHM+UI3ePbsa5UBcOdX3WmjXBi6lgNp8JlBZ3eC+Rmc/Jsip23GKKntQaVZGQP7381oSgHAtMGg/E33dPkhx4Wr0Jwt6k23XOMtktsyKbncWyNpW6rl5aVaMXJfqzEGBy2li/lhYc3nB2CFXXczTbHdAFgz4rZ5p1g1GIP+wQwNfpKw0a9
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(39860400002)(396003)(346002)(136003)(1800799009)(82310400011)(451199024)(186009)(46966006)(36840700001)(40470700004)(54906003)(70586007)(70206006)(6512007)(6486002)(6506007)(2906002)(478600001)(336012)(26005)(5660300002)(2616005)(83380400001)(41300700001)(316002)(47076005)(53546011)(36860700001)(8936002)(4326008)(82740400003)(6862004)(8676002)(81166007)(356005)(40460700003)(33656002)(36756003)(86362001)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:41:23.6711
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: caad3190-e0a9-41bc-f65a-08db9e3cf454
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5977

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support in the mediator to map and unmap the RX and TX buffers
> provided by the guest using the two FF-A functions FFA_RXTX_MAP and
> FFA_RXTX_UNMAP.
>=20
> These buffer are later used to transmit data that cannot be passed in
> registers only.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - Fixing a typo in a comment and adding a couple of newlines as requested
> ---
> xen/arch/arm/tee/ffa.c | 140 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 140 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 5af3e5eedc88..6c76c9885774 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -74,6 +74,12 @@
>  */
> #define FFA_RXTX_PAGE_COUNT             1
>=20
> +/*
> + * Limit the number of pages RX/TX buffers guests can map.
> + * TODO support a larger number.
> + */
> +#define FFA_MAX_RXTX_PAGE_COUNT         1
> +
> /*
>  * Flags and field values used for the MSG_SEND_DIRECT_REQ/RESP:
>  * BIT(31): Framework or partition message
> @@ -169,6 +175,12 @@ struct ffa_partition_info_1_1 {
> };
>=20
> struct ffa_ctx {
> +    void *rx;
> +    const void *tx;
> +    struct page_info *rx_pg;
> +    struct page_info *tx_pg;
> +    /* Number of 4kB pages in each of rx/rx_pg and tx/tx_pg */
> +    unsigned int page_count;
>     /* FF-A version used by the guest */
>     uint32_t guest_vers;
>     /*
> @@ -176,6 +188,7 @@ struct ffa_ctx {
>      * ffa_domain_teardown() to know which SPs need to be signalled.
>      */
>     uint16_t create_signal_count;
> +    bool rx_is_free;
> };
>=20
> /* Negotiated FF-A version to use with the SPMC */
> @@ -371,6 +384,11 @@ static void set_regs(struct cpu_user_regs *regs, reg=
ister_t v0, register_t v1,
>         set_user_reg(regs, 7, v7);
> }
>=20
> +static void set_regs_error(struct cpu_user_regs *regs, uint32_t error_co=
de)
> +{
> +    set_regs(regs, FFA_ERROR, 0, error_code, 0, 0, 0, 0, 0);
> +}
> +
> static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
>                              uint32_t w3)
> {
> @@ -392,6 +410,108 @@ static void handle_version(struct cpu_user_regs *re=
gs)
>     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> }
>=20
> +static uint32_t handle_rxtx_map(uint32_t fid, register_t tx_addr,
> +                                register_t rx_addr, uint32_t page_count)
> +{
> +    uint32_t ret =3D FFA_RET_INVALID_PARAMETERS;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    struct page_info *tx_pg;
> +    struct page_info *rx_pg;
> +    p2m_type_t t;
> +    void *rx;
> +    void *tx;
> +
> +    if ( !smccc_is_conv_64(fid) )
> +    {
> +        /*
> +         * Calls using the 32-bit calling convention must ignore the upp=
er
> +         * 32 bits in the argument registers.
> +         */
> +        tx_addr &=3D UINT32_MAX;
> +        rx_addr &=3D UINT32_MAX;
> +    }
> +
> +    if ( page_count > FFA_MAX_RXTX_PAGE_COUNT )
> +    {
> +        printk(XENLOG_ERR "ffa: RXTX_MAP: error: %u pages requested (lim=
it %u)\n",
> +               page_count, FFA_MAX_RXTX_PAGE_COUNT);
> +        return FFA_RET_NOT_SUPPORTED;
> +    }
> +
> +    /* Already mapped */
> +    if ( ctx->rx )
> +        return FFA_RET_DENIED;
> +
> +    tx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(tx_addr)), &t, P2M=
_ALLOC);
> +    if ( !tx_pg )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* Only normal RW RAM for now */
> +    if ( t !=3D p2m_ram_rw )
> +        goto err_put_tx_pg;
> +
> +    rx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(rx_addr)), &t, P2M=
_ALLOC);
> +    if ( !tx_pg )
> +        goto err_put_tx_pg;
> +
> +    /* Only normal RW RAM for now */
> +    if ( t !=3D p2m_ram_rw )
> +        goto err_put_rx_pg;
> +
> +    tx =3D __map_domain_page_global(tx_pg);
> +    if ( !tx )
> +        goto err_put_rx_pg;
> +
> +    rx =3D __map_domain_page_global(rx_pg);
> +    if ( !rx )
> +        goto err_unmap_tx;
> +
> +    ctx->rx =3D rx;
> +    ctx->tx =3D tx;
> +    ctx->rx_pg =3D rx_pg;
> +    ctx->tx_pg =3D tx_pg;
> +    ctx->page_count =3D page_count;
> +    ctx->rx_is_free =3D true;
> +    return FFA_RET_OK;
> +
> +err_unmap_tx:
> +    unmap_domain_page_global(tx);
> +err_put_rx_pg:
> +    put_page(rx_pg);
> +err_put_tx_pg:
> +    put_page(tx_pg);
> +
> +    return ret;
> +}
> +
> +static void rxtx_unmap(struct ffa_ctx *ctx)
> +{
> +    unmap_domain_page_global(ctx->rx);
> +    unmap_domain_page_global(ctx->tx);
> +    put_page(ctx->rx_pg);
> +    put_page(ctx->tx_pg);
> +    ctx->rx =3D NULL;
> +    ctx->tx =3D NULL;
> +    ctx->rx_pg =3D NULL;
> +    ctx->tx_pg =3D NULL;
> +    ctx->page_count =3D 0;
> +    ctx->rx_is_free =3D false;
> +}
> +
> +static uint32_t handle_rxtx_unmap(void)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( !ctx->rx )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    rxtx_unmap(ctx);
> +
> +    return FFA_RET_OK;
> +}
> +
> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32=
_t fid)
> {
>     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> @@ -448,6 +568,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
>     uint32_t fid =3D get_user_reg(regs, 0);
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
> +    int e;
>=20
>     if ( !ctx )
>         return false;
> @@ -460,6 +581,22 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>     case FFA_ID_GET:
>         set_regs_success(regs, get_vm_id(d), 0);
>         return true;
> +    case FFA_RXTX_MAP_32:
> +    case FFA_RXTX_MAP_64:
> +        e =3D handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_reg(r=
egs, 2),
> +                            get_user_reg(regs, 3));
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
> +    case FFA_RXTX_UNMAP:
> +        e =3D handle_rxtx_unmap();
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
>     case FFA_MSG_SEND_DIRECT_REQ_32:
>     case FFA_MSG_SEND_DIRECT_REQ_64:
>         handle_msg_send_direct_req(regs, fid);
> @@ -554,6 +691,9 @@ static int ffa_domain_teardown(struct domain *d)
>                    get_vm_id(d), subscr_vm_destroyed[n], res);
>     }
>=20
> +    if ( ctx->rx )
> +        rxtx_unmap(ctx);
> +
>     XFREE(d->arch.tee);
>=20
>     return 0;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:42:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:42:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584245.914739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD3D-0001fa-Rp; Wed, 16 Aug 2023 09:42:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584245.914739; Wed, 16 Aug 2023 09: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 1qWD3D-0001fT-P2; Wed, 16 Aug 2023 09:42:51 +0000
Received: by outflank-mailman (input) for mailman id 584245;
 Wed, 16 Aug 2023 09:42: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=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWD3C-0001bp-2j
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:42:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 433ad24b-3c19-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:42:49 +0200 (CEST)
Received: from AS9PR05CA0162.eurprd05.prod.outlook.com (2603:10a6:20b:496::11)
 by DU0PR08MB7415.eurprd08.prod.outlook.com (2603:10a6:10:353::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:42:19 +0000
Received: from AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:496:cafe::bd) by AS9PR05CA0162.outlook.office365.com
 (2603:10a6:20b:496::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 09:42:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT020.mail.protection.outlook.com (100.127.140.196) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:42:19 +0000
Received: ("Tessian outbound 30c9f5e988c5:v175");
 Wed, 16 Aug 2023 09:42:19 +0000
Received: from 408c78ffa2da.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DA346EA8-73BC-4270-A637-FB6F33D81D81.1; 
 Wed, 16 Aug 2023 09:42:12 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 408c78ffa2da.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:42:12 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB7995.eurprd08.prod.outlook.com (2603:10a6:10:3e2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:42:10 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:42:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 433ad24b-3c19-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yyc5k0f3wuC+i2n7CFbAc9WmyIlwAhkTyIiR9LtlzpQ=;
 b=ocU8nwZ0LjgeuKr43Nc1sZhz0nWkNB5G5lRkDm/u/dA95ZUDAs/6tqL9La2wGCIq4GPFwOzEFt45hnCV/zjj+Uo5GvUOw2ob5saCHV6F7IZXZ8syRCmYr3byGKbAgGVJR4tVvGqcnPWf+yik8+phxHs2NS7b1WcwtwPc/5+cTOk=
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: 340ccf021bb13d36
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k8NE3T9wYzy0Zl4bMUblNUaS/BMz39T6j+NKPE5ebEFVINex4Ym6OwWu54q+t1JA60HEWs2LbYNnx+QLtvbIkZbztY9MDJYRVYqY15jkd06LTYPKlQCIjU/8wDFwitGpqAmDVEyOeGooqo6SioOpBHe0X5hlg5N0w2OrI9LK4yCU1i8pmApyBtVVElVpFY9/DRmf1JrCiTz22iyQnH3X6AgH+r0aJUC7P2QxpXYd/EBieNFtz1OHV2hcP2k5iwSjz4KA/lEfNZDHaQQI4v8yTLtVo19zx2EEtZRh0bS1mzcgoW6uWAwHYQLwvgR7Bv9HqciaDwIzVvkcutIqHusVWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yyc5k0f3wuC+i2n7CFbAc9WmyIlwAhkTyIiR9LtlzpQ=;
 b=IYvFcHS1y2Wk6njLc7kwJSLAPh8HcnX83ALveT9soTBGc6Hxd5WGoBtGSZmC47yje95u+B8i288Xe2DVcqG1Zbp0ho8e6PSsJEoP6hxMYjE1QORPduanul8PrDAC0ikPssh8uHWzEuVmBpNm6opRwzcO1dZk/cstEaMzeiK9k2q5H7DKcnEFZf7OuJP/cyO+Z32zwz4SxyJzuP8agernz3Ul7VNFmVRWYhChcUtIQ39KdH0PGz3vqv1x75zN/CJtnYTd+X3jg2lseXWsfHenooBjdMwZJfXmhxbTLo03y9XDLmvERKgVYJHTGWABUQAP6ct5jepkF26ABS7Ju6GmdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=Yyc5k0f3wuC+i2n7CFbAc9WmyIlwAhkTyIiR9LtlzpQ=;
 b=ocU8nwZ0LjgeuKr43Nc1sZhz0nWkNB5G5lRkDm/u/dA95ZUDAs/6tqL9La2wGCIq4GPFwOzEFt45hnCV/zjj+Uo5GvUOw2ob5saCHV6F7IZXZ8syRCmYr3byGKbAgGVJR4tVvGqcnPWf+yik8+phxHs2NS7b1WcwtwPc/5+cTOk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v11 05/14] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Topic: [XEN PATCH v11 05/14] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Index: AQHZw6jC4h4BaZ+kAkGxoWym/HzFj6/sxH0A
Date: Wed, 16 Aug 2023 09:42:10 +0000
Message-ID: <88FFE10A-73C6-43BB-B0A2-2A1AB1D9320A@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-6-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-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.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|DU0PR08MB7995:EE_|AM7EUR03FT020:EE_|DU0PR08MB7415:EE_
X-MS-Office365-Filtering-Correlation-Id: 15d942a3-f495-4778-51ad-08db9e3d1577
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:
 I6o43J9ELTKxJLvL5A+6Hwm+tNCCZdCA3G8HlpnBEdsQcGHSWNOYDeIiFUcdIKNG1cA+twmUEjMyHE6XU7Z3kC9bXMHm/f939h9mMdAE0gnaqMAlwzkn3JXJQHipWXtZQ5KOSUpq49Bhdeg17fsMwhuLxEaU6TUXrpmTxoweZDvnhOMwfifyyv9AljiQ4meLAU/lSEYeWvxM/zRlJiZPT+pyZJFk19psKnPLMRIZiuCrlozSf0Ylh7wr7rzvqoTbs0kZED7w8b8pDPlHOftSO3XXOnsqUO040wGfwxVw4BomkiJ3bfSJ1p/qpMngK9BS9ntGxcDVbZ2JtExsofUFvWqWwXmuSgckuLA244UXsQ9GPeG8GkM+UyjDik/mxKf/Svmb1KtOkNn5TNPop4pTEUFavHh5Tc1Scz0CVJrFejJh8qg0crdat0K/AOeLotrAu5cxXqwRPiBdTe9F0XvKJEEghs7c3Bl2l5TVDy/9BHJGKuk8FesV5lzOx49pCovDi/NxA9TBYN2AwDvsrRSzi+89AV4zqx0echkktyUM6qV8hFlC/oI43pdJhz7GTLpDZJ7a3qU5IieSh8Fr+kQIFIgH+LkgiRg/7qea62yirKANkAwPlJHNOzU88AQOMrFCbNx11h0W2Iy1tELDUwxV4g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(86362001)(478600001)(36756003)(2616005)(6486002)(6506007)(71200400001)(33656002)(6512007)(53546011)(5660300002)(41300700001)(122000001)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(91956017)(76116006)(4326008)(8676002)(8936002)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <329820456DE16F4DAC16F2061688E1CB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7995
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:
 AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d312227d-354e-4358-2730-08db9e3d1049
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y9THdGjHWbnoipN/Yd7JB4ZeHPzDqu7BeK4uOqwLm1mG3qH9C/qlvCHPg85LXoj9nr6cUMKiNCRsoL1JLd9n4dKOJ6Ehh44+QQs9m+NKtDvtwfgLiJ6CbTuEGOjRGD9ZowleOzJafHFCnTy4BArFYrl/MPCDh3dn7vZpEPJbj3tb/mXUlCI1pYySluy5tODaCgPgih+g9e2sz4EF5dW2pt+II8Q9IhHEOxtBSVb+4wKCVILAj4D8wuRR9eBP4or6Cj2SP6dZE2ayHr5/hbcFliDDcJ6jwqTH5ta3ewtigbw9IjhcuJxyE95m44fgcf9xxy56N1uBmyJ42WeFrBynGwdPWMi0QBPIgMbZLQhnCEiNSXeIMuBjkyXPVRh5e2LOz1x9rHrDA9NZIkUUjbHLaNg3WqJk75740XaLKfazgnMK88xJryBrWhEVdMqCMKvQtPqz+b4puXUsiGDGKl50lsGogfN5/DeytQUagz3x07uGbGez+ksqizb2FJu/j3NzuDleKWWnzz+9qlY44DS96piGwLN8gitXcNfmpVeJY16/7si8qPg5ELn0sORzQpMVKw8ssbMqkRKReQxifhBv7cd7tUZjb6WX9jDaZG0h0eL2WuQNJfviehgQWb1x0o9uCfce+VXzqjs8gL2c5YjKSrcWAC+edHmpPD0zehE3EOIP4pMRqUnY71TJJwSkZcLnDgSuI9NKAdwfdVWDzX79HQvZ+EGYsGG/w+TsnCmWUTWUr1tRx356IGZE1JfzW6nZ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(82310400011)(186009)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(83380400001)(86362001)(478600001)(40480700001)(336012)(36756003)(2616005)(6486002)(6506007)(33656002)(6512007)(53546011)(26005)(5660300002)(41300700001)(36860700001)(82740400003)(316002)(54906003)(356005)(81166007)(70206006)(70586007)(4326008)(6862004)(8676002)(8936002)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:42:19.2767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15d942a3-f495-4778-51ad-08db9e3d1577
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7415

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support in the mediator to handle FFA_PARTITION_INFO_GET requests
> from a guest. The requests are forwarded to the SPMC and the response is
> translated according to the FF-A version in use by the guest.
>=20
> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> caller (the guest in this case), so once it is done with the buffer it
> must be released using FFA_RX_RELEASE before another call can be made.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - Fixing a typo in a comment and adding another comment as requested
> ---
> xen/arch/arm/tee/ffa.c | 134 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 134 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 6c76c9885774..6c889bf97002 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -166,7 +166,18 @@
> #define FFA_MSG_SEND                    0x8400006EU
> #define FFA_MSG_POLL                    0x8400006AU
>=20
> +/*
> + * Structs below ending with _1_0 are defined in FF-A-1.0-REL and
> + * structs ending with _1_1 are defined in FF-A-1.1-REL0.
> + */
> +
> /* Partition information descriptor */
> +struct ffa_partition_info_1_0 {
> +    uint16_t id;
> +    uint16_t execution_context;
> +    uint32_t partition_properties;
> +};
> +
> struct ffa_partition_info_1_1 {
>     uint16_t id;
>     uint16_t execution_context;
> @@ -189,6 +200,7 @@ struct ffa_ctx {
>      */
>     uint16_t create_signal_count;
>     bool rx_is_free;
> +    spinlock_t lock;
> };
>=20
> /* Negotiated FF-A version to use with the SPMC */
> @@ -203,9 +215,15 @@ static uint16_t subscr_vm_destroyed_count __read_mos=
tly;
> /*
>  * Our rx/tx buffers shared with the SPMC. FFA_RXTX_PAGE_COUNT is the
>  * number of pages used in each of these buffers.
> + *
> + * The RX buffer is protected from concurrent usage with ffa_rx_buffer_l=
ock.
> + * Note that the SPMC is also tracking the ownership of our RX buffer so
> + * for calls which uses our RX buffer to deliver a result we must call
> + * ffa_rx_release() to let the SPMC know that we're done with the buffer=
.
>  */
> static void *ffa_rx __read_mostly;
> static void *ffa_tx __read_mostly;
> +static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
>=20
> static bool ffa_get_version(uint32_t *vers)
> {
> @@ -512,6 +530,103 @@ static uint32_t handle_rxtx_unmap(void)
>     return FFA_RET_OK;
> }
>=20
> +static int32_t handle_partition_info_get(uint32_t w1, uint32_t w2, uint3=
2_t w3,
> +                                         uint32_t w4, uint32_t w5,
> +                                         uint32_t *count)
> +{
> +    int32_t ret =3D FFA_RET_DENIED;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    /*
> +     * FF-A v1.0 has w5 MBZ while v1.1 allows
> +     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> +     *
> +     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
> +     * rxtx buffer so do the partition_info_get directly.
> +     */
> +    if ( w5 =3D=3D FFA_PARTITION_INFO_GET_COUNT_FLAG &&
> +         ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> +        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> +    if ( w5 )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( !ffa_rx )
> +        return FFA_RET_DENIED;
> +
> +    spin_lock(&ctx->lock);
> +    if ( !ctx->page_count || !ctx->rx_is_free )
> +        goto out;
> +    spin_lock(&ffa_rx_buffer_lock);
> +    ret =3D ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> +    if ( ret )
> +        goto out_rx_buf_unlock;
> +    /*
> +     * ffa_partition_info_get() succeeded so we now own the RX buffer we
> +     * share with the SPMC. We must give it back using ffa_rx_release()
> +     * once we've copied the content.
> +     */
> +
> +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
> +    {
> +        size_t n;
> +        struct ffa_partition_info_1_1 *src =3D ffa_rx;
> +        struct ffa_partition_info_1_0 *dst =3D ctx->rx;
> +
> +        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst) )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            goto out_rx_release;
> +        }
> +
> +        for ( n =3D 0; n < *count; n++ )
> +        {
> +            dst[n].id =3D src[n].id;
> +            dst[n].execution_context =3D src[n].execution_context;
> +            dst[n].partition_properties =3D src[n].partition_properties;
> +        }
> +    }
> +    else
> +    {
> +        size_t sz =3D *count * sizeof(struct ffa_partition_info_1_1);
> +
> +        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            goto out_rx_release;
> +        }
> +
> +
> +        memcpy(ctx->rx, ffa_rx, sz);
> +    }
> +    ctx->rx_is_free =3D false;
> +out_rx_release:
> +    ffa_rx_release();
> +out_rx_buf_unlock:
> +    spin_unlock(&ffa_rx_buffer_lock);
> +out:
> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> +static int32_t handle_rx_release(void)
> +{
> +    int32_t ret =3D FFA_RET_DENIED;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    spin_lock(&ctx->lock);
> +    if ( !ctx->page_count || ctx->rx_is_free )
> +        goto out;
> +    ret =3D FFA_RET_OK;
> +    ctx->rx_is_free =3D true;
> +out:
> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32=
_t fid)
> {
>     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> @@ -568,6 +683,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
>     uint32_t fid =3D get_user_reg(regs, 0);
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
> +    uint32_t count;
>     int e;
>=20
>     if ( !ctx )
> @@ -597,6 +713,24 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>         else
>             set_regs_success(regs, 0, 0);
>         return true;
> +    case FFA_PARTITION_INFO_GET:
> +        e =3D handle_partition_info_get(get_user_reg(regs, 1),
> +                                      get_user_reg(regs, 2),
> +                                      get_user_reg(regs, 3),
> +                                      get_user_reg(regs, 4),
> +                                      get_user_reg(regs, 5), &count);
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, count, 0);
> +        return true;
> +    case FFA_RX_RELEASE:
> +        e =3D handle_rx_release();
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
>     case FFA_MSG_SEND_DIRECT_REQ_32:
>     case FFA_MSG_SEND_DIRECT_REQ_64:
>         handle_msg_send_direct_req(regs, fid);
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:43:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584251.914750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD4H-0002EX-48; Wed, 16 Aug 2023 09:43:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584251.914750; Wed, 16 Aug 2023 09: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 1qWD4H-0002EQ-1Q; Wed, 16 Aug 2023 09:43:57 +0000
Received: by outflank-mailman (input) for mailman id 584251;
 Wed, 16 Aug 2023 09: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWD4F-00022r-HV
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:43:55 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 691759f6-3c19-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 11:43:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9490.eurprd04.prod.outlook.com (2603:10a6:102:2c2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:43:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:43:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 691759f6-3c19-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AZhKK8I1MTME1KEQhIYYsQOoYT3m69BtFOtZuBztWNqH79GaTvsAX2SdxPtQFH/iJGRj6uU9CtTPJ0ua+Pbl3hLgQq8nind0zTMV4BzM48I3QP6XXulCgpWtWcDlx1ChGySAgafiSK4TxiMveBR7v3orD1WUp0LJDqg8Fch/cLn5c+nPJv5niIFzrSpyYs9NRcWXuHXgjtdCt/rIXCdR6IbNok6SVN+NxAHBPhrNzvvQyf8AW1uOi0x96KUpF9mSRT3BFpXN3rWhFAoKWrRzjFrwbsgqNBq6eqrTo9OMJ//ODUUP/DlTl4C6KPGHbDdCDQy8tFg4rfNfLn3hMi194Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gz3o66yl8RDUKGn9Fa6/Tsve9mzBz8tlnUmY4mSO8P0=;
 b=cIqTT3zR4Awe+Y/X4QeV/eXXtVYIFmctBh9M3GmpaSmcYE8Xm9CpZuhde9HaS08ePTKav8AxZm08OZDwL486s0xas3N9yqxwKxeQBTtnMbPShxHQsOPLl62trZ6YqAOs3zWbfZvtf8RmMcxcDzJZ2wXx4QHhjr5vIo8uf5be7bsJ5hxhHZAy8ZGczGzVJCXqjDmJ1RY75NaaiNSair75eDk7NUsPZqePptSpVhPek/6sfooUVKZRLROo2Y8bJqd/yfcSv+2ORKHJXUbj6An9tjpTZHo1BA2frEAlnokt+21WtvZ531jVC0HHldHECwHLVAa0tfQQlhd6XcB7kmTLfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gz3o66yl8RDUKGn9Fa6/Tsve9mzBz8tlnUmY4mSO8P0=;
 b=WGmuVqSN3gSIDsEtcIuwDYjc3n31fQCrfyi4YWA5AnsCef8+lWO+rtpFWRi+KIJCM/zvngzGdamQ06zIuJm2Ccj4KklfATpNR/UhV0HthCH78hDcHk4iIoSfRKgwnKOMCQUL4QoQegnmVOdk5VXXG1PNZnq7XcOWcwmaQ2/78uKycDSq+qSF+zb8gJhYPM4xOA6PxkwpO5QkHWZdZ3QB7egO60bWVMJIhmLLmsKTkUcSOp+iyxD6ZQJt5e6GOsgasEJlUvVv/or6ZpvctLSgoIkwHJjnm8TENBs+LivEBHUcg1ar48S0cJ0V7IARiuA9b/m/b11KG7oP4KXOFrMeLw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
Date: Wed, 16 Aug 2023 11:43:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0188.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9490:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b0d166f-1ded-41c3-ef57-08db9e3d4b87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4Vjb00B2U1XVXstPZAPhjxVNRMfE4vR39przIMDzHrdb1N0s3inlSaDRMc+Ny7yDY/1/AWS8NDz1xh4H85g3HuppKGWmz8ubCllPjDdr8H7sr0z59SnOXT2v1fi6HZwIM8gts+EsJCfrMZ55+bQJAUUhun3oJIAIILUPztmenMSfaE0/9kzh/WmN3FcFMgSLNyK+wPIWHODJwlmHsqpYlrug7UbnW0ctTpHoFLqfMMRFEIeOSuN56Nc9We2icxkYsudZhXSremt/cYIgecC3PB0fH5+69Otxm+EK/3bNF2uDWNzF64RZdiN4PF70r8eSv66rUsrEwaSdOWbWMcvpxegmutMlKVwfeCy1ulCPCY1E2toLknYB2recpo+JbEiYkiGaJe1EICjr8QN8utCplbkvP3xFRrW/TllTOGNNYRu0zIsbLtq9ibqDuH8rUsmZyxkc23QNnNRVpaaS7FtNaOAbFLJpZrOreKnrws/yASnMAvUaMfQvWGApCjV2dfquIBTsvjbsvDcEIKtNS34e9PIHfYIxh8u6JQoumS5D7aQmTDRG5TOzJbLBjyXcsHR2/VBUrKQo9jSJiInFb7iFs/T609rlZit9Sdi6IY3Qj17xp8JJlUu7w1BJlzg5h0Zwlm2qGlAatkLlqUKBuKV09Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(7416002)(86362001)(478600001)(31696002)(36756003)(2616005)(6486002)(6506007)(6666004)(6512007)(53546011)(26005)(5660300002)(41300700001)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(4326008)(8676002)(8936002)(31686004)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnQwU0JOL05VTkpZc1dhamZSV2l6bUZxSkg2OHVaVmZzcHlYZjZFRENZN1NN?=
 =?utf-8?B?TWFrbzR4SXU4UXBVSmVmWTNGVm1aL2pGcFJmL1NmdEZRMUVhUXVwZVFLUzhv?=
 =?utf-8?B?UzV6WmpFVFFJMEZOMWhtaUNiRjV4RWUxWlJMRitsWjBFUDBlR0JuWHM4QTVl?=
 =?utf-8?B?T1hyYVN5MWdXY3RBM01NSlg5QWs1N1dPTjRXT2RzUFJ3UzZ6VGxQckZmS2pP?=
 =?utf-8?B?MTN3b01VT0JmZ2g4YWE3WWdmWDVZRXNDUnF5WjNFWThYYWNxWm1aaWpnZHFE?=
 =?utf-8?B?MFdnc05rMkNvYW5XcVcxVE5pZHEwS3Zvd1hsUnR0d1c0VXA4Z1dueUVLZkNj?=
 =?utf-8?B?TXpwanVRK0xxeFpucThnVlVtWTNJWHl3emlTczVJUHE3Nzl4ZXBnUURhQVg3?=
 =?utf-8?B?RXpzNnBBWUc0VlVxMGZxOWphWE1LU3RxbFByYVBMVmExQUhBTVdYVEtCMHJ4?=
 =?utf-8?B?ci9GL0hlTjRkRzFXSSt6Y2pEVnk0N1ZCeGdFcFcvSmN6d3k4dkxEQ2FNcEFI?=
 =?utf-8?B?QTVaRHlxbng1Y08xYkh2bXYrSTVvZnBYbmJHTGpHdHZEQnVTdm53QnFCcnZC?=
 =?utf-8?B?UDlYRGJ3TGtoNFl6WnJuelJVVi8vMlp6YzRROS9KZC9yeStiMkIrWXJUYzJF?=
 =?utf-8?B?S2RXYmRLcTljSU5aTURyWGJNelF1V1hVdkdrZVZTc281ZnBtZk5HVnVmd2Vk?=
 =?utf-8?B?c2pzNUphS0hNQmpibHdWSTBYSm8yTWVWT2tiSWU4YzJBMTB1NEg0WG5zTTJM?=
 =?utf-8?B?R2M1NWgrRzE2M1hCYWVrTk1jZnFhcE5VTUVaQVBMUlo4ZkszOGp3YU5uUDlu?=
 =?utf-8?B?UjBWN0wrRzE1c3FmVHlmc0lWSGtWa1QwZE9tZ1hKZjEweVZVOFBvckd1YnVt?=
 =?utf-8?B?cnNxZzhlNmoyTWZqZ1JWcEdlUUxGdVlPdkM1NzRDOXVqVjI3UEtqSFFMNjhH?=
 =?utf-8?B?WThKOVhEbTdSU1dwdXQ1SkdaUTl3MGJQVGdLVUY4bjlnTzR5R2RqUmpqSFR0?=
 =?utf-8?B?N200SlZaRWYwSzBLMkFtRk9rekZrdkJmRTlra09pQjJZUmZpOC9hOHpMSzlU?=
 =?utf-8?B?K0xYRlpta2ROaUVObEFZYWdSRWVzeGduR0VxWDF5ckJnbW0zUU1ETE13ME9N?=
 =?utf-8?B?TkdrWEdWcEsvVFkxUWJ5bnNacEhTQnd5RUYzNnl4Ri9rOHM2b252UUJUeHUx?=
 =?utf-8?B?Z1pkWWYwVHJNa29Lc0xiSWRMM3NvNGc0NzFJUk1WVWlDa2FGM2RqOXFBeSto?=
 =?utf-8?B?UFBiek9Fak81NlIvU1pHYXdyeGdRNWxJQVg0a21WYUhEbmJVQi9BbGlhaFlk?=
 =?utf-8?B?V1NnUWRPV1NOazRtSkd4Y1N1WGhYTkMyRnkxeW53UHpOQnNNcXRpTW5rOXp4?=
 =?utf-8?B?ZDRMVHExTC9qRmpmMngxUXljYVlVQmt4MHJtNjdzcHpBblMwZXBiRjQzYk5U?=
 =?utf-8?B?NnlRL051a0gxcDhPZFpxMUtjN2VGLzlpVk9nNjNyblVlbmliaTd2V0ZjVFlp?=
 =?utf-8?B?VTNnTlpjajVlRDN5WFdMV3JlU0FoWDF6ZW9wRWRvWS8rMVZEZHB1VnFwZkwz?=
 =?utf-8?B?eVRzZDR1bVRxbkRkV2dxc2NkUmlhcTZTbXY2MUNHcThacDBVWWUxby9YcEJt?=
 =?utf-8?B?S1ZnL0NHc3ZCd1FZYUE1TDhVVFJrT3R5cTRnL1l4dFhRM1h2UStOVHNPeHJa?=
 =?utf-8?B?TkZ5NUhrdm9tYnVUN1owWjNVdnI3SndpaHk1eGxQc2x0U2d5SExET2xXNXdQ?=
 =?utf-8?B?Y2tSZk1XcUZ0OGowMEpGTCtnbWcvN3ZhSmV0VFlkeER0VFNEWkFNZERnQ2tE?=
 =?utf-8?B?bTRLOWh2MGlOMXQ4VGY5ajl5UEhTRzFDanIyazNqVklHb2JMRWVwb1g1T0dt?=
 =?utf-8?B?WnQyWENXSUxtd1E2TW14U25rdEE2Nk9JTFdzbGhtKzRLY3dDRU8xanhLSWxP?=
 =?utf-8?B?cEpPRlp6bDZqbGI0b1dvOFFMd2tJTVlHcVIwZnpqTXIySmhpbE9pT0h6Wkhm?=
 =?utf-8?B?UktkT1ZNSWJMYnU0TlZmYzVaZDE2WTNnMTJCLzlXcFV0bmFmaEZzV3Ewai9m?=
 =?utf-8?B?d2pldWIyK3FmS3BNOUpRN0VMeTduUlMxa0lWSWZxWnVXSkduRFBiOG1VZklv?=
 =?utf-8?Q?Ea+zbMa7H5kHVwrujHfrOIyyW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b0d166f-1ded-41c3-ef57-08db9e3d4b87
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:43:50.1958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tRC1qlXGL2CJ76q2imMekXpewn4TaoxvSJJkpb2B9np2PQRNJlpIKEOau9XMRhRgJK+WJibelv+KvV+0wEJnng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9490

On 16.08.2023 11:36, Alejandro Vallejo wrote:
> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>> disable it because the whole codebase performs unconditional
>> compression/decompression operations on addresses. This has the
>> unfortunate side effect that systems without a need for compression still
>> have to pay the performance impact of juggling bits on every pfn<->pdx
>> conversion (this requires reading several global variables). This series
>> attempts to:
>>
>>   * Leave the state of pdx and pdx compression documented
>>   * Factor out compression so it _can_ be removed through Kconfig
>>   * Make it so compression is disabled on x86 and enabled on both Aarch32
>>     and Aarch64 by default.
>>
>> Series summary:
>>
>> Patch 1 Moves hard-coded compression-related logic to helper functions
>> Patch 2 Refactors all instances of regions being validated for pdx
>>         compression conformance so it's done through a helper
>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>         the old CONFIG_HAS_PDX, as it was non removable
>>
>> Already committed:
>>
>> v1/patch 1 documents the current general understanding of the pdx concept and
>>            pdx compression in particular
>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>
>> Alejandro Vallejo (4):
>>   mm: Factor out the pdx compression logic in ma/va converters
>>   mm/pdx: Standardize region validation wrt pdx compression
>>   pdx: Reorder pdx.[ch]
>>   pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
> 
> @Jan: Just making sure, are you generally ok with this series as-is?

Well, okay would be too strong; I still don't see why my runtime patching
series isn't re-considered. But I don't mind it going in the way it is now.
I won't ack any part of it, though (in case that wasn't obvious), so it'll
be up to Andrew or Roger to supply the necessary x86 acks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:47:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584259.914760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD7E-0002rp-HW; Wed, 16 Aug 2023 09:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584259.914760; Wed, 16 Aug 2023 09: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 1qWD7E-0002ri-Eb; Wed, 16 Aug 2023 09:47:00 +0000
Received: by outflank-mailman (input) for mailman id 584259;
 Wed, 16 Aug 2023 09:46: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=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWD7C-0002rY-Kq
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:46:58 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6ff0289-3c19-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:46:57 +0200 (CEST)
Received: from DB3PR06CA0012.eurprd06.prod.outlook.com (2603:10a6:8:1::25) by
 DB5PR08MB9998.eurprd08.prod.outlook.com (2603:10a6:10:489::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6652.30; Wed, 16 Aug 2023 09:46:51 +0000
Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:1:cafe::77) by DB3PR06CA0012.outlook.office365.com
 (2603:10a6:8:1::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 09:46:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:46:51 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Wed, 16 Aug 2023 09:46:51 +0000
Received: from a8a20b6ae07d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F284E36A-5C8A-436E-A733-0BF62CC34B1A.1; 
 Wed, 16 Aug 2023 09:46:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a8a20b6ae07d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:46:40 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB5976.eurprd08.prod.outlook.com (2603:10a6:20b:299::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:46:38 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:46:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6ff0289-3c19-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QhjLLh8DeNoSK9bn27tkjmHk1yX+GGaww8XXEY0YHyQ=;
 b=62bZ8UrhIPKxnU4zxPqA9Zs3fSpdpgoLrBlEWT4zq89mzfaQUYzZCB49Xd41i1Hd42K4R0uEi28GQbXMabwPNiFKR3hfNUtk2E8IpK3FaikXYW7V3YVBVASfKa8qKUENK54uJCVtn30l2bWmtgROnGPuTxoPT1XSIHP9aRoiHwU=
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: 1c120f91d5e5c215
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FGp1U+yCtVf7kdyEYCEYw+WvvtFzgWpMM+lJxhLX1Jq3bKsLyXSbk4EL//x70MrPp7it9Ir3+l9ODh0eWPVblWWw9x4LBwEBb0lmqUTLc2dT8RB4IZBBQLr/8ouxeWYlxjnTK3vBGdXRQTzF/ogRSBrSxa/wcp3EL/oQvMmT3c+0j++FEHj34Wisxgl6OIymbXYPTO6qr18P7VtRwO7Dal42yEA6J07B7HroeEGs6Fjper2ppTX8oqV70h6dMh2j03BrL5T7t9qozyVNjZn1KIwmprRhNHGfIUlv8QBNajQT8h3npbNfnj1QzA8ZcBlsJvHstylLfmPORiw9eKbYeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QhjLLh8DeNoSK9bn27tkjmHk1yX+GGaww8XXEY0YHyQ=;
 b=YeApfhHJppKpqFURSoitV5MJm3esNGBY6l8VwQ8hYEaOpFKL94TPAmlmLOn3fp/Ny/nmzkHG7hof8leZDMx14MtsnQ17frlUWAXlCfUhbCQUQmxwy/wMpZE6E8f51aqc+kTzSBei3zdPC0WVH4sm9TL98ibF8Re0DVTF55gYRM5pMoSrOwrfbZWLLNVyiIMnVYR6IXZMwltKI6gS3k2YRnpKM3Hfo2Z+Jc/2G2K9eievfpTK/JZXs48/rg416m0OyewuU/GrhbZIaFJ/HWgllTZ9x+vLgajqHRQbyhXckEbGv//t4nD0J+tcameUBGRJLuzZzo6OcyYa4ISBj7DhCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=QhjLLh8DeNoSK9bn27tkjmHk1yX+GGaww8XXEY0YHyQ=;
 b=62bZ8UrhIPKxnU4zxPqA9Zs3fSpdpgoLrBlEWT4zq89mzfaQUYzZCB49Xd41i1Hd42K4R0uEi28GQbXMabwPNiFKR3hfNUtk2E8IpK3FaikXYW7V3YVBVASfKa8qKUENK54uJCVtn30l2bWmtgROnGPuTxoPT1XSIHP9aRoiHwU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v11 11/14] xen/arm: ffa: improve lock granularity
Thread-Topic: [XEN PATCH v11 11/14] xen/arm: ffa: improve lock granularity
Thread-Index: AQHZw6jF7Y91X1Up20iaWTQaErEA8K/sxbuA
Date: Wed, 16 Aug 2023 09:46:37 +0000
Message-ID: <048D866B-183D-4D19-BFC6-049150AD60DC@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-12-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-12-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB5976:EE_|DBAEUR03FT003:EE_|DB5PR08MB9998:EE_
X-MS-Office365-Filtering-Correlation-Id: e20e3c6d-be3d-4793-85f6-08db9e3db772
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:
 gCt4zThxPPqiZJTgydDWIloNol4LijiWDgrfeNiSpVGo1JsT7pLUqI9G+mhGtJ2AL6FTD62NU/w0LtWAGXy4tR6EtnW59g1YP+w/2g/bXo+VeEXc2mBdVHLjpx9M7qkGT7NhXrIL4OUNgBLKkTaS4b25enD6U7GKoUrYkPnQXKN7HR1HRLwH6CuiqoAUPmS3SZT0XY7VQhKL7cyUMsEfv937ZqrntXBPHGJLBzL4+Z7RbAV/ekpIooJCCB92mUkMS8OfzP4VjmZJatn/PqN8+dIWasg8mvNd7ehbVi/QqNorFWJWdX2d+XLrXWNzB7ToWX+Ipmy9Pwm/a6Zd/BVyCHn2HHDlKmjIFDmYkqNsYx3R4gyySXacZZ5L4pRBrhkWV3xsbWIwKSHD1KUKCX5mwnyBuU5iDtQJxwHrbk7G3U26CG/FnlMMhcx5vIKoBSC3imZdR42STvMN00KHSRN9kEpH9jbX1zWGg3hQtAnk5QgxHJneq+xfyjWuwJoM15fgUSdrd5HaNq77Budg3WNSpx8LBbAI4Ysp5sR1asJ2Wx/BOjRxWeAlJDRf7P4GlGN8xzUJshm7SE3l8ga0ngR+7QpaM8asMBoV2mKjfFJbZFSyAzXRV9n1lSABeF9yyb8VqcojAupW871d2mR2Y0HTsg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(71200400001)(64756008)(54906003)(66446008)(76116006)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(91956017)(6916009)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(122000001)(38100700002)(38070700005)(33656002)(36756003)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <694C52AE7114314D95C6F04640E8B033@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5976
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6d09e7bc-6dbc-4653-6fe9-08db9e3daf9e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	anOe7ntRm/e4FuofVTnVbly3b6a6wVU7RpyVqYgIkczOGHP2womG2HXn56+qvH9ZMah16HbwKR8JemowUP/XsAuTNVjUKZKdkNRPD5mLOfdU69CIcRss0aYrMMc79dCQTHbg6icptKhwdFwilCsXfBZf1+ijvQKQtjagW4DZbYBNDfXeBByh9/18wna6p6vFT8kYPOOBvTouLanXnNGvTc/5R5j1gxEUUx6ufMLDbRtSYxc2Aek9o7aV1ene32qwLRaYQ/TNkgYz1vnpzeqUybqbrgf848cZb+A6mkSA8au/F59uBV4lsSrK48Nbi8lFFTtxbsSadLy8kRWc95oX4ENlHdNAHbmCoGn2tZxj2zysKVDENIXzesVsbHSRgEeruC6qe6CPWy87sNkVJD3N3/Y/K7jSocBdYwqTat2kzZvvvSBHVHlHbjU/BNMMh1eW5zT+edfhmW6spGmQlzp02VWX+h5Sm2sehXDrqwDlWrMteZ6ecfyq1mmHtsTXZYc71rKQILIuENOxt3tizSbKVA0onbcx7nh7KzPLTUbftJA4CUSe0FbXXkHdFfJvsQNLIumWZO1YrILV6gY8nU0iKiYfwGomYesF2B9i/uoG8wZ0IerlDNcf8EzQUo0s9rzJaQ+3Fn1JdadX4Szki3jZS8gFfj8IKcvRyKgAHrrs6qMx+Jp74FlOXcxkvWjTQ4GwU0/SE/L9obm6ndVq68DX7yfnQSvXUuZtghQxIcNwx6CiEoB35nUGUo/N6VNF4Cax
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(136003)(396003)(346002)(376002)(1800799009)(451199024)(186009)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(316002)(356005)(82740400003)(81166007)(70586007)(70206006)(36860700001)(41300700001)(5660300002)(47076005)(8936002)(6862004)(4326008)(8676002)(2906002)(40460700003)(83380400001)(26005)(40480700001)(478600001)(336012)(86362001)(6512007)(53546011)(33656002)(6506007)(36756003)(6486002)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:46:51.0986
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e20e3c6d-be3d-4793-85f6-08db9e3db772
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB9998

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> The single lock in struct ffa_ctx is complemented with rx_lock and tx_loc=
k.
>=20
> The old lock is used for small critical sections, like increasing
> shm_count or adding another shm to shm_list.
>=20
> rx_lock and tx_lock are only acquired using spin_trylock() which for
> well-behaving guests should always succeed. Guests using the RX and TX
> buffers are expected to serialize accesses before doing the FF-A
> request.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - No changes except resolving conflicts since "xen/arm: ffa: support
>  sharing large memory ranges" was dropped.
> ---
> xen/arch/arm/tee/ffa.c | 107 +++++++++++++++++++++++++++++------------
> 1 file changed, 77 insertions(+), 30 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 75700938c444..eb4a58fec470 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -363,6 +363,13 @@ struct ffa_ctx {
>     struct list_head shm_list;
>     /* Number of allocated shared memory object */
>     unsigned int shm_count;
> +    /*
> +     * tx_lock is used to serialize access to tx
> +     * rx_lock is used to serialize access to rx
> +     * lock is used for the rest in this struct
> +     */
> +    spinlock_t tx_lock;
> +    spinlock_t rx_lock;
>     spinlock_t lock;
> };
>=20
> @@ -768,7 +775,9 @@ static int32_t handle_partition_info_get(uint32_t w1,=
 uint32_t w2, uint32_t w3,
>     if ( !ffa_rx )
>         return FFA_RET_DENIED;
>=20
> -    spin_lock(&ctx->lock);
> +    if ( !spin_trylock(&ctx->rx_lock) )
> +        return FFA_RET_BUSY;
> +
>     if ( !ctx->page_count || !ctx->rx_is_free )
>         goto out;
>     spin_lock(&ffa_rx_buffer_lock);
> @@ -819,7 +828,7 @@ out_rx_release:
> out_rx_buf_unlock:
>     spin_unlock(&ffa_rx_buffer_lock);
> out:
> -    spin_unlock(&ctx->lock);
> +    spin_unlock(&ctx->rx_lock);
>=20
>     return ret;
> }
> @@ -830,13 +839,15 @@ static int32_t handle_rx_release(void)
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
>=20
> -    spin_lock(&ctx->lock);
> +    if ( !spin_trylock(&ctx->rx_lock) )
> +        return FFA_RET_BUSY;
> +
>     if ( !ctx->page_count || ctx->rx_is_free )
>         goto out;
>     ret =3D FFA_RET_OK;
>     ctx->rx_is_free =3D true;
> out:
> -    spin_unlock(&ctx->lock);
> +    spin_unlock(&ctx->rx_lock);
>=20
>     return ret;
> }
> @@ -947,21 +958,43 @@ static void put_shm_pages(struct ffa_shm_mem *shm)
>     }
> }
>=20
> +static bool inc_ctx_shm_count(struct ffa_ctx *ctx)
> +{
> +    bool ret =3D true;
> +
> +    spin_lock(&ctx->lock);
> +    if (ctx->shm_count >=3D FFA_MAX_SHM_COUNT)
> +        ret =3D false;
> +    else
> +        ctx->shm_count++;
> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> +static void dec_ctx_shm_count(struct ffa_ctx *ctx)
> +{
> +    spin_lock(&ctx->lock);
> +    ASSERT(ctx->shm_count > 0);
> +    ctx->shm_count--;
> +    spin_unlock(&ctx->lock);
> +}
> +
> static struct ffa_shm_mem *alloc_ffa_shm_mem(struct ffa_ctx *ctx,
>                                              unsigned int page_count)
> {
>     struct ffa_shm_mem *shm;
>=20
> -    if ( page_count >=3D FFA_MAX_SHM_PAGE_COUNT ||
> -         ctx->shm_count >=3D FFA_MAX_SHM_COUNT )
> +    if ( page_count >=3D FFA_MAX_SHM_PAGE_COUNT )
> +        return NULL;
> +    if ( !inc_ctx_shm_count(ctx) )
>         return NULL;
>=20
>     shm =3D xzalloc_flex_struct(struct ffa_shm_mem, pages, page_count);
>     if ( shm )
> -    {
> -        ctx->shm_count++;
>         shm->page_count =3D page_count;
> -    }
> +    else
> +        dec_ctx_shm_count(ctx);
>=20
>     return shm;
> }
> @@ -971,8 +1004,7 @@ static void free_ffa_shm_mem(struct ffa_ctx *ctx, st=
ruct ffa_shm_mem *shm)
>     if ( !shm )
>         return;
>=20
> -    ASSERT(ctx->shm_count > 0);
> -    ctx->shm_count--;
> +    dec_ctx_shm_count(ctx);
>     put_shm_pages(shm);
>     xfree(shm);
> }
> @@ -1180,7 +1212,11 @@ static void handle_mem_share(struct cpu_user_regs =
*regs)
>         goto out_set_ret;
>     }
>=20
> -    spin_lock(&ctx->lock);
> +    if ( !spin_trylock(&ctx->tx_lock) )
> +    {
> +        ret =3D FFA_RET_BUSY;
> +        goto out_set_ret;
> +    }
>=20
>     if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
>         goto out_unlock;
> @@ -1272,7 +1308,9 @@ static void handle_mem_share(struct cpu_user_regs *=
regs)
>     if ( ret )
>         goto out;
>=20
> +    spin_lock(&ctx->lock);
>     list_add_tail(&shm->list, &ctx->shm_list);
> +    spin_unlock(&ctx->lock);
>=20
>     uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
>=20
> @@ -1280,7 +1318,7 @@ out:
>     if ( ret )
>         free_ffa_shm_mem(ctx, shm);
> out_unlock:
> -    spin_unlock(&ctx->lock);
> +    spin_unlock(&ctx->tx_lock);
>=20
> out_set_ret:
>     if ( ret =3D=3D 0)
> @@ -1289,6 +1327,18 @@ out_set_ret:
>             set_regs_error(regs, ret);
> }
>=20
> +/* Must only be called with ctx->lock held */
> +static struct ffa_shm_mem *find_shm_mem(struct ffa_ctx *ctx, uint64_t ha=
ndle)
> +{
> +    struct ffa_shm_mem *shm;
> +
> +    list_for_each_entry(shm, &ctx->shm_list, list)
> +        if ( shm->handle =3D=3D handle )
> +            return shm;
> +
> +    return NULL;
> +}
> +
> static int handle_mem_reclaim(uint64_t handle, uint32_t flags)
> {
>     struct domain *d =3D current->domain;
> @@ -1299,29 +1349,26 @@ static int handle_mem_reclaim(uint64_t handle, ui=
nt32_t flags)
>     int ret;
>=20
>     spin_lock(&ctx->lock);
> -    list_for_each_entry(shm, &ctx->shm_list, list)
> -    {
> -        if ( shm->handle =3D=3D handle )
> -            goto found_it;
> -    }
> -    shm =3D NULL;
> -    ret =3D FFA_RET_INVALID_PARAMETERS;
> -    goto out;
> -found_it:
> +    shm =3D find_shm_mem(ctx, handle);
> +    if ( shm )
> +        list_del(&shm->list);
> +    spin_unlock(&ctx->lock);
> +    if ( !shm )
> +        return FFA_RET_INVALID_PARAMETERS;
>=20
>     uint64_to_regpair(&handle_hi, &handle_lo, handle);
>     ret =3D ffa_mem_reclaim(handle_lo, handle_hi, flags);
> +
>     if ( ret )
>     {
> -        shm =3D NULL;
> -        goto out;
> +        spin_lock(&ctx->lock);
> +        list_add_tail(&shm->list, &ctx->shm_list);
> +        spin_unlock(&ctx->lock);
> +    }
> +    else
> +    {
> +        free_ffa_shm_mem(ctx, shm);
>     }
> -
> -    list_del(&shm->list);
> -
> -out:
> -    free_ffa_shm_mem(ctx, shm);
> -    spin_unlock(&ctx->lock);
>=20
>     return ret;
> }
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:49:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584265.914770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD9q-0003Ub-3w; Wed, 16 Aug 2023 09:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584265.914770; Wed, 16 Aug 2023 09:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWD9p-0003UU-Vy; Wed, 16 Aug 2023 09:49:41 +0000
Received: by outflank-mailman (input) for mailman id 584265;
 Wed, 16 Aug 2023 09: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=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWD9o-0003UM-Rq
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:49:40 +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 371d1242-3c1a-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 11:49:38 +0200 (CEST)
Received: from DU2PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:10:234::28)
 by AS2PR08MB10012.eurprd08.prod.outlook.com (2603:10a6:20b:64f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:49:09 +0000
Received: from DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::43) by DU2PR04CA0053.outlook.office365.com
 (2603:10a6:10:234::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Wed, 16 Aug 2023 09:49:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT040.mail.protection.outlook.com (100.127.142.157) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:49:09 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Wed, 16 Aug 2023 09:49:08 +0000
Received: from f6ef817e9f6e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3004EC43-2F1F-4B82-84FC-744B2D653C1A.1; 
 Wed, 16 Aug 2023 09:49:02 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f6ef817e9f6e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:49:02 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB5976.eurprd08.prod.outlook.com (2603:10a6:20b:299::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:49:00 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:49:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 371d1242-3c1a-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QaXkKphKU9/8OL0KUl8QhLizANHJfvy2X5/gVs5CEK0=;
 b=e0DVw4pN0l/MnJunVcsOyAeJliDZgm3cdLeZaOipS+9Y3r/zh2NeE6J1YfERZDigr3ujDHPukR+vipIINQE3WLlvLo9YERK5F7hxsYDenvH5D/0l5ZL2V/mX4z0tZoC9sj5qW2vGs4xwZfPitaiyL+hC9fqpact8So9K879o/Io=
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: 380899ca6fc7bc0a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jnOaM3HuXUK83JOoQR5thnwXQK60sAUsr1V+085L+PlWOq7Q0w8Wa6rfCRErU1y6lStMAEHEF+ZoXIL2pB3s6pxBQ7F9BM5WpfWn+mJ19VhrzkYUpKmlI/dPxVMQ8YciOmBmBxUXpBCF+tM/fhg0F6xHb168GJskiVM7FdbV7UMvatOiP8zrIYE1usCIJ0zDwiKL06E9NMTyYos/BnvPAskBAwqKyVE15qtKaxhYLWcUoPieTujExY8ivuMTDp91J6b1wnTBtuqq/xb55pLpPdV/sMO4i6c1imx9rMaFQISIcTnlhMJOSruEg7DRlqe24utWrCJ8/GxTM1C+YMIxmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QaXkKphKU9/8OL0KUl8QhLizANHJfvy2X5/gVs5CEK0=;
 b=B6PwQXmtgO8ow6EOy6VWtWSQUTmuib2A4cETuCwQOLOs14ZkOfUmMSvJU6vhdGQGBxF8nTCqoWfINGuGRw61IIxzIH2cyGDqjNeXAotZdmE8uD/sOv46qnabswulASeDOkcMBc/zx2tprCg3NAmMporzR6waQzuZPJRSj9UBWZQ6NeXnf7n8tXU4dVu7c4IryeIC4bI0BVJBgruU0/DJBgWgA7Iafh3vo1/1qUV2GJoXL4J/37BwqT3/oKGA0R/7lF9YY9Scm2T1ivx3N+uGBLWGHIWP8lyMpgE0tB3kwua1mnV2oo0zGz3Vn5ZVhqDV4wtvbzOviko79WV0S9gjIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=QaXkKphKU9/8OL0KUl8QhLizANHJfvy2X5/gVs5CEK0=;
 b=e0DVw4pN0l/MnJunVcsOyAeJliDZgm3cdLeZaOipS+9Y3r/zh2NeE6J1YfERZDigr3ujDHPukR+vipIINQE3WLlvLo9YERK5F7hxsYDenvH5D/0l5ZL2V/mX4z0tZoC9sj5qW2vGs4xwZfPitaiyL+hC9fqpact8So9K879o/Io=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [XEN PATCH v11 12/14] xen/arm: ffa: list current limitations
Thread-Topic: [XEN PATCH v11 12/14] xen/arm: ffa: list current limitations
Thread-Index: AQHZw6jH5M+sc3fVMUebNCU8zLjNxq/sxmSA
Date: Wed, 16 Aug 2023 09:49:00 +0000
Message-ID: <08874731-544D-4893-B93D-5F478DE195C1@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-13-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-13-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB5976:EE_|DBAEUR03FT040:EE_|AS2PR08MB10012:EE_
X-MS-Office365-Filtering-Correlation-Id: f05b4c50-d6ec-4d5b-f238-08db9e3e09b7
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:
 XVHXyEA/YAKQoqs2Fph3n5WYVqkBP0nh6yxerH+pK3dg5uSHo0l7DYesZ/WsiydEiKhqbv0MxKmL/W2/L3pF3eUOJEn/E3zjSXAoHLOD7H67M5NZ8C67Us/pQIu0r6C/BzIcTWqk9OxB0/h+k1/W7oLTC1E+PsFNi1TEaRDLi2PGhSZHcM1UYWiMMv9kiAbSFJXzgQQ1Nm7tJ1mayTzKg2t1aU17UiEK36OieQo20Bbty7V00dKZ9BExd7wdA5yzk6FPqliNp+9OfSADV23fl3b4cuZj5f2B5tXGKV3IJIV7ha0twigr64ApT17oc0XjdPwNSQgBkTAENMXkJXMZNrFxcgFxVRWJJV9acq2al4dUqSLnOFvhvXiL/Lkf0ZT9Fv0rn9es1WiaGQc3CALDqaVnOfJpRVDJMt8m+T+0yCFdlzajiIj9KyFANhCnLh4412vCekm9FP6+Q9v5pPJgFrMcSahiRnLFXiq1z1VFHW1+s+U2Z7ggJu8U//C/Zec72oSMq2BZqydPi46HtCQsr3ntyjmIug1m4cyrfXHyJsnanzXL6CS/I5zyETMNW7CGNObymv+1aqAIRoU9Cma7RE4scWQ5uCpbAByWZ3Xq1vE2q7PzrVsFgPqQqgXgXaLlaxYl4p1aIQUyFgVXFNvG9g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(71200400001)(64756008)(54906003)(66446008)(76116006)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(966005)(91956017)(6916009)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(122000001)(38100700002)(38070700005)(33656002)(36756003)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D87B94664253E1499D80ADA13ABF33A2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5976
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	58a97235-9778-451a-e94d-08db9e3e044c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JUQhyw/IIC1mKDGCuH+du8kHZJuSXFxU3Z+3KOUqwRodvvg5/Ve/0b6g/RE6QsrvHNumraA96jxHfkvQM01+qX3KQCDR3KZxxbvcgWxaKla9xF5nuMt5gL9kInd9f9CMND8D1ujz9Gp8UEd8JjuMHoGdtm64+H1wJmOY4SLzlE5A0bV1lR0wR/HTmcY/WWjp1vXoRjsn0w2sce4hse1HsvmTHh7ma5tBi7vX4CiykXWuVHDZAB/aq2IeB2IVL6XJMP+aBIEhiXArwjEk4x8FZa7tCnTajowLXW09NcO9mC4BoW7jk51Rd5ucgGZpi8yBPjUIlhSXqrE2ARAgvPXN808/xBUSovbu/F/8LhSIg+YL1sqZ90YpVE6o4wxntYYYhr6JpeB3NZfJICdss6O/o+34S3XzCDVr5QgwAjXvdyW0ozThk6DpqWsCLtsNABJ7tmOtGrjR+TzpeEZpBgus33SB6jwZOQkTBYGywZxTo5hjsAZk2U1gKYcb1brzhJxdU82S85kYEUXK2855FeKkEPRJLlGQ843zGcLQG1nwPZIk2a+oiL4M3q603YF027z1XhBsjko4103VgC/H5z/TvqghsLiw9wMw6+RO1nRQKl5lXaP4WrUzWvmrz9PwAWwIdK8HDu4Ad0GpKjjyzjxQxOQkcf58HXm026EacnwpnYYREOM7mphNX3e2Q1QUfdRhCSGnSVBdQiw6hp3LWazI9lfvFKR4GFtCk81+jyAl4RU=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(136003)(396003)(346002)(376002)(1800799009)(451199024)(186009)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(316002)(356005)(82740400003)(81166007)(70586007)(70206006)(966005)(36860700001)(41300700001)(5660300002)(47076005)(8936002)(6862004)(4326008)(8676002)(2906002)(40460700003)(83380400001)(26005)(40480700001)(478600001)(336012)(86362001)(6512007)(53546011)(33656002)(6506007)(36756003)(6486002)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:49:09.0955
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f05b4c50-d6ec-4d5b-f238-08db9e3e09b7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10012

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds comments with a list of unsupported FF-A interfaces and limitations
> in the implemented FF-A interfaces.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - No changes
> ---
> xen/arch/arm/tee/ffa.c | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index eb4a58fec470..cfbabec81dd2 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -13,6 +13,37 @@
>  *                https://developer.arm.com/documentation/den0077/e
>  * TEEC-1.0C: TEE Client API Specification version 1.0c available at
>  *            https://globalplatform.org/specs-library/tee-client-api-spe=
cification/
> + *
> + * Notes on the the current implementation.
> + *
> + * Unsupported FF-A interfaces:
> + * o FFA_MSG_POLL and FFA_MSG_SEND - deprecated in FF-A-1.1-REL0
> + * o FFA_MEM_RETRIEVE_* - Used when sharing memory from an SP to a VM
> + * o FFA_MEM_DONATE_* and FFA_MEM_LEND_* - Used when tranferring ownersh=
ip
> + *   or access of a memory region
> + * o FFA_MSG_SEND2 and FFA_MSG_WAIT - Used for indirect messaging
> + * o FFA_MSG_YIELD
> + * o FFA_INTERRUPT - Used to report preemption
> + * o FFA_RUN
> + *
> + * Limitations in the implemented FF-A interfaces:
> + * o FFA_RXTX_MAP_*:
> + *   - Maps only one 4k page as RX and TX buffers
> + *   - Doesn't support forwarding this call on behalf of an endpoint
> + * o FFA_MEM_SHARE_*: only supports sharing
> + *   - from a VM to an SP
> + *   - with one borrower
> + *   - with the memory transaction descriptor in the RX/TX buffer
> + *   - normal memory
> + *   - at most 512 kB large memory regions
> + *   - at most 32 shared memory regions per guest
> + * o FFA_MSG_SEND_DIRECT_REQ:
> + *   - only supported from a VM to an SP
> + *
> + * There are some large locked sections with ffa_tx_buffer_lock and
> + * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> + * around share_shm() is a very large locked section which can let one V=
M
> + * affect another VM.
>  */
>=20
> #include <xen/bitops.h>
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:50:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584271.914780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDAg-0004vR-CT; Wed, 16 Aug 2023 09:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584271.914780; Wed, 16 Aug 2023 09: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 1qWDAg-0004vI-9h; Wed, 16 Aug 2023 09:50:34 +0000
Received: by outflank-mailman (input) for mailman id 584271;
 Wed, 16 Aug 2023 09:50:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ht1Y=EB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWDAf-0004v6-HU
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:50:33 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe16::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 564739d7-3c1a-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 11:50:31 +0200 (CEST)
Received: from AM7PR02CA0025.eurprd02.prod.outlook.com (2603:10a6:20b:100::35)
 by DB9PR08MB7398.eurprd08.prod.outlook.com (2603:10a6:10:372::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 09:50:23 +0000
Received: from AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:100:cafe::7b) by AM7PR02CA0025.outlook.office365.com
 (2603:10a6:20b:100::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Wed, 16 Aug 2023 09:50:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT064.mail.protection.outlook.com (100.127.140.127) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 09:50:22 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Wed, 16 Aug 2023 09:50:22 +0000
Received: from 72afadd706bd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 857EC7A1-6BEC-4395-9E40-FCE9E46BF5AE.1; 
 Wed, 16 Aug 2023 09:50:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 72afadd706bd.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 16 Aug 2023 09:50:15 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB5976.eurprd08.prod.outlook.com (2603:10a6:20b:299::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:50:14 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:50:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 564739d7-3c1a-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UQny8tB5PIGhne1t/0CgKYj0/KVXcFOW/28/fDS5u/M=;
 b=rTwJvDvuFVqipvuHCk2zadFDKj1g12lH9lnrzoO7BO2gieprIsKu8QIu7aTG6CpLzsoN0Wu+5ngPlWY97yQR1VBMV53lbkQwkiG0tAarCgovixPLKMfXYsoqIl31r81A3SIU9QZJqw+8GJGLW+TjQ137ub0vfeW1oY4nvgPHfZ4=
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: f6f9f2d06e8a56c0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V3xXEUhSgq9nriyXVbh7zWWDVzNG+Eh7Ul02IKC667ma9Aa+xw6P2uoODE0u0Cz2ZLgVwIsijKhOC3k5HOyb+oB5qmXB37rBPk6StX1hz3kLQJblMaQALKXdVw5PeUC36MRX+D04XjS6mtrAjjnpZ9EcOE27QUwiSDJbsthkilvz9uRPA7b+koFd6HA+cqHabAgUCkrFts78AITVrkwpHdCmZ0ArH24eVJdxy0fscDTKQ5qtPnhAhJYhpVNb1rUyJOZDeUfH6CXZqTk0I22YWqlx2jdsnqDxXycaQYygeGZ1P69imvWxtuN+SGMoO1cYoc9wJAasSRY34dbHLcLSDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UQny8tB5PIGhne1t/0CgKYj0/KVXcFOW/28/fDS5u/M=;
 b=QX7v7KF4ar76DRrHwA73v4z4/9sCUOWJbYyb/Ua7l/B6etRyJHm4OwcnMehtnSkh1BZeHbf09jGpDkQhWqt8bQAlX5qHrc5gNmA1xshQ3Bdehe3tFt28RRPgPG4TXVXuoW+prGbhZIBUIKuFb9A4gcKFzIwddSlkgfE8GeRbUfSVg8w0fq6fAaQhPXwq/VuYr+3IFhgcZZkvoanv2psWcjpRbzgZ57czwRrrTpO/DLrJo4ax8FZqA/P11KIxeU2qJkgB68LhQjx4dQ+HbFIoOKf7Ybzj5hphF5q7Gn2QfHyWLj2eQ/StNZKrd6uu9Hl23vC7Jijrgi571jpkxdYUNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=UQny8tB5PIGhne1t/0CgKYj0/KVXcFOW/28/fDS5u/M=;
 b=rTwJvDvuFVqipvuHCk2zadFDKj1g12lH9lnrzoO7BO2gieprIsKu8QIu7aTG6CpLzsoN0Wu+5ngPlWY97yQR1VBMV53lbkQwkiG0tAarCgovixPLKMfXYsoqIl31r81A3SIU9QZJqw+8GJGLW+TjQ137ub0vfeW1oY4nvgPHfZ4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Henry Wang
	<Henry.Wang@arm.com>, Community Manager <community.manager@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>, Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [XEN PATCH v11 14/14] docs: add Arm FF-A mediator
Thread-Topic: [XEN PATCH v11 14/14] docs: add Arm FF-A mediator
Thread-Index: AQHZw6jHuO4c5RkQA0KRnx2SIvUV5q/sxr2A
Date: Wed, 16 Aug 2023 09:50:13 +0000
Message-ID: <1BF4C467-B053-4CA6-8988-119A0D9DFE82@arm.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-15-jens.wiklander@linaro.org>
In-Reply-To: <20230731121536.934239-15-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB5976:EE_|AM7EUR03FT064:EE_|DB9PR08MB7398:EE_
X-MS-Office365-Filtering-Correlation-Id: 082009e3-ef62-4479-5cdf-08db9e3e3585
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:
 OGjjRMXidc+mRZqfcrrVK4RbNrmnoCdMqlofmRVOmQV7WNJvRkXciiyKhy7IPS0Fl/Y4dRCGasxK0NUdtjEHdjgvOBVTZGJIycXVwrUC9YspDdXPIFdsIIF77B6EA6Gr2RaGHvOgfsXePGpxYuzkwu3xl16XSDhQBEC3Vmr1JhguJF74GHOJKC9AzoQ05TQXP9yhvyjtnjvoNEBaH+GN0tr+TsMw/i6wbkDoUm6+RkCqeA+86wvXbAqbjhQJVdfyC6QQFuJ3tSuaOLrRAGCNK/Dr+f1U2vNTuRTvtE5XXuoM0E2+2sXosnonIAOZuLehoxOJ8Vc0oQm9Fok9b3/z2aJ7GGvVrQOVRxZVrUfEUdf7Jxb99QCPAhxXZn8VCxr4IOM8AB9kiZ+q6dY0XpSyfnomXcALnHJmu2c+YeotyInyLdSnlE6/MmUfugWDMJgp3l2uH0x0xX6sRRCghIOjgj06ER15uFqglA/miSgYWC5KBON8bReVZ/K2Hlcs+VoGCX81N9lx0BQJ6D/KdzuXpbI8hJm5giYsq12WSln1lNdJaEO5wwopgsC1wrU1CYKF9qVGDv0FGOumVhzZNleKw7xvZmCQ6i4g1stChx+zlJkcr85yNehnqkYBWHa99w6dNLTK5tXVsHrf4BaODENQcLD5vYId8zR3E/EXgZsE+AzqM4pnZ99ed4ezGdQH5Se7
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799009)(451199024)(186009)(71200400001)(64756008)(54906003)(66446008)(76116006)(66476007)(66556008)(66946007)(6512007)(6486002)(6506007)(2906002)(478600001)(4001150100001)(966005)(91956017)(6916009)(7416002)(5660300002)(2616005)(83380400001)(41300700001)(316002)(53546011)(8936002)(4326008)(8676002)(122000001)(38100700002)(38070700005)(33656002)(36756003)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EA7D0353AA00F747B43AD7A2AA4A7BEA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5976
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	761710ad-9246-4f2f-8dac-08db9e3e3046
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0+i/7WjJ+GKsPLZ3fWB4Y2Iu72l83SsorGnYIO0SLWnwcPTEUFA5GuzPkyFeta7NBZ/KA6wiPNhj5srHKj06qNRaRkzf/bYlVZrq12WKAy2ffNWFpVPvC9FSU2l/wEi1OCI4L5MrSJwLpWjnI6gVUsx3zI5JuDBFNc1/WCtQ5IqVXNUwrYGd4ueKnrppNXygV0ketPKoWXgRmPcT0DYgIn3WxBsYAwEGtkEpNYiOM1JID8EOaui3zN34MXc32K3qGKE7rcqK6QKT6Zu/9Uc8+SV1Yo+r6aCtSVICTqTlS1GZ1VrH8hZKHr2xiqTX3NXqaIot9GwXOlgqzHWgxMjBBiMqpfBBwkujbqdjPuiun3H0B2bcL8786+sJtqhduirkfeHBBBCaTIEuWa82/GjeDd25VeOD7Pkw+MubCO7OnfCkTa1g31ZhxlgyqoVe4XMC/UmYScjsSdXPrhecS1KQ28wOC56CwVpj7aq+8f77IKNAOVCGKVTdE9/p3VLtlU6PMWmFcpjuH8Pje55+AA4XdSyy4N6BlM2io/Tu8xHYgMz1v5uZxh4CakHtsQJoPCgsIiBhoi/LmnhCPpdzECZxOVV/ywiXuFOzo8Gfyus46uIdC0LN85lmbSa5NvgWVWqvPxwR/DxdiHedr0jLxb+bbMEn7hwQIzq7RfDI6KYAnWvxAfwRR9Ix4iWsGfrRGzk4WodBgyt/Ne5oSc5el064A6aMklMltc7uWfrM0TALRU1B1jv1lH3oTc5lTmlkTZvALeDU9QHfvPx21Qj+JtpHlg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(136003)(396003)(346002)(376002)(1800799009)(451199024)(186009)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(316002)(356005)(82740400003)(81166007)(70586007)(70206006)(966005)(36860700001)(41300700001)(5660300002)(47076005)(8936002)(6862004)(4326008)(8676002)(2906002)(40460700003)(83380400001)(26005)(40480700001)(478600001)(336012)(4001150100001)(86362001)(6512007)(53546011)(107886003)(33656002)(6506007)(36756003)(6486002)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:50:22.5681
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 082009e3-ef62-4479-5cdf-08db9e3e3585
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7398

Hi Jens,

> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Describes a FF-A version 1.1 [1] mediator to communicate with a Secure
> Partition in secure world.
>=20
> [1] https://developer.arm.com/documentation/den0077/latest
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v10->v11
> - Add a CHANGELOG.md entry as requested
> ---
> CHANGELOG.md             |  3 ++-
> SUPPORT.md               |  9 +++++++++
> docs/man/xl.cfg.5.pod.in | 15 +++++++++++++++
> 3 files changed, 26 insertions(+), 1 deletion(-)
>=20
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 7d7e0590f8c6..f24c8c4b8011 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepa=
changelog.com/en/1.0.0/)
>  - xl/libxl can customize SMBIOS strings for HVM guests.
>  - Add support for AVX512-FP16 on x86.
>  - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Previ=
ew)
> -
> + - On Arm, add suport for Firmware Framework for Arm A-profile (FF-A) Me=
diator
> +   (Tech Preview)
>=20
> ## [4.17.0](https://xenbits.xen.org/gitweb/?p=3Dxen.git;a=3Dshortlog;h=3D=
RELEASE-4.17.0) - 2022-12-12
>=20
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 35a6249e03b2..fe512762cee7 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -840,6 +840,15 @@ that covers the DMA of the device to be passed throu=
gh.
>=20
> No support for QEMU backends in a 16K or 64K domain.
>=20
> +### ARM: Firmware Framework for Arm A-profile (FF-A) Mediator
> +
> +    Status, Arm64: Tech Preview
> +
> +There are still some code paths where a vCPU may hog a pCPU longer than
> +necessary. The FF-A mediator is not yet implemented for Arm32. Part of t=
he
> +FF-A specification is not supported, see the top comment in
> +xen/arch/arm/tee/ffa.c for limitations.
> +
> ### ARM: Guest Device Tree support
>=20
>     Status: Supported
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index a2bccd5b48a1..ec4864958e0e 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -1656,6 +1656,21 @@ in OP-TEE.
>=20
> This feature is a B<technology preview>.
>=20
> +=3Ditem B<ffa>
> +
> +B<Arm only.> Allow a guest to communicate via FF-A with Secure Partition=
s
> +(SP), default false.
> +
> +Currently only a small subset of the FF-A specification is supported. Ju=
st
> +enough to communicate with OP-TEE. In general only direct messaging and
> +sharing memory with one SP. More advanced use cases where memory might b=
e
> +shared or donated to multiple SPs are not supported.
> +
> +See L<https://developer.arm.com/documentation/den0077/latest> for more
> +information about FF-A.
> +
> +This feature is a B<technology preview>.
> +
> =3Dback
>=20
> =3Dback
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:51:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584276.914790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDBs-0005ja-ON; Wed, 16 Aug 2023 09:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584276.914790; Wed, 16 Aug 2023 09:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDBs-0005jT-LR; Wed, 16 Aug 2023 09:51:48 +0000
Received: by outflank-mailman (input) for mailman id 584276;
 Wed, 16 Aug 2023 09:51: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWDBr-0005jI-5P
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:51:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82aad512-3c1a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:51:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8393.eurprd04.prod.outlook.com (2603:10a6:10:25f::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 09:51:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 09:51:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82aad512-3c1a-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mSdAW+HbWQtYEH7JU6CNBs6mItdDFTtQSLd7cchZm9djtfVgxbHUGqOdJzgxSZ9ryaUIBrdtuyE9/WCgYuEyzb5VAgpH4yMEwOVpW0m7fHQVe/TQsB2OBQzpR2XntvfMrFLn9QymF5LIIl5hfMuKEzfHmU4kLQyYsnT6vgnA+vhJAzRvg5FxQ+sPtZzAmypqxOwU9UrvqsYqVJkd68BoCN6TCrqiFMublJvkVQfd27c30LJhEbuMuGz9V0TaNl/IcuZFCKUg4nCDCxjGZvkt0ZlPkq+v21EVSV95B6yzPNHh3pU1xU+ikyTNGjWbro7JFOdwcCXTFbLPi6QD5KsAGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6H3/85fsNAFw/guO2vvs++wKfCZQ297B6+Y0exOgXnU=;
 b=L8mwN05r3/Wty17XhiEtxlhHLkeRHUaRnmDeeWzbcQIY5HDNzL/a+GlcwDwAV7AQrfFmKHf206rq33qA9qW7bvs0kTBZJkVWOzBVKELOqXuTZ2Gv+GS9FfHccDQSxpL7T8YtDBa66QVxHfbz+1qIanD6Xv1qrf43YyQj4Xq1SZyGp7A2WzEUulS1KlFyZnqSW6cNtjOVkoGOku7BzVG152jFenqpAvdKBXE3muyEmtD4lfYQU/j6vRQl02fjRFaC3YQShmkEkKBuqXg+nrgEVembGAmNGp54DkZ3e/qda0CntbhBLnoipTTWsOcz5+1he03QFOe1q9kuf/KEV12vnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6H3/85fsNAFw/guO2vvs++wKfCZQ297B6+Y0exOgXnU=;
 b=40QKk7kbznnjvZc+ZJWZuB6SBpxfw55LhsojEsJElrWp+AzFdDg9NaVAXr8C6ETtrmXC/y3muSmdcwmSWJagRmwIzfnxHgAxZqRff2sknaNgryksXALjDdoKNY3FchPr6yc/y0TYV9Q+OOmAKUCWzq6UJuTpye23dsndqJpfeffv94nJLS/qprBGABPD3AGF08L0QX12KiJh4MvsUjHedmxpAARFDEkHmA2bc5vNwVNk4j1s940KjgoKJ33YESRolAS81MHz0MU9Kde+5d2jj6JQOv0VBdllbNQlzvjMnbl4OZp+UovUWnlMZJMO6R7YqWyxsh93d2EfHjyd9NukJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Date: Wed, 16 Aug 2023 11:51:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE changes
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8393:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a8edc36-a247-493e-ffc1-08db9e3e655c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7geuVOxQZYLljxA1k12SLqhkb49y0pJZrrMbG3w5tqJUppehMbzqkKLZaqwMZdg68BfP9GSkvFKun7qC/ydQPIiht830gxXDvUpSP3h5hE7xCtOtEvRtI21bY4cflZE+YjebyM6KfqP10hrFKRWKUYPYLMM7ZXYvYOsIyIimkBSwLTHWyyGHQn313MusTPS3lMaWzOojUoWtYYm8qUEbzByAb7T2dPaGEgdMlnrHcdOg0VMKZnyl3OP0ZA80/YDaYd2FAg7Gh2rSv3460k3FyiKR6ABj8OxRrU8whqYRZ+e5VLd9PMjk6lip4HaZ8XlfgVvq7pnc0kHkJD4vRGvla+6o0cXX7XhsJ1qoj0DygOou0C6q+bLZW2ReVixCYDPl0bgRKschftJSK798BM8WBCXrcCLtDP1eQ21xXm1F6GfesqVWvmFUVK+MDSWvIAplCXZGpOgS3zr1EH34kPaRhcSolcMxM2O/WykUCBLlaWM+Bhxk/Gc6edPdWM/tDRYHg8MJsBWxdObYLiiGU+/797I506RGwyFEEJlWVmSSYCYnsXB18KgkaBAgz8DILtA8oGbNLpGxx7OaHs8zKMgNV2qaja5eTgArLZ5yUocbEKO0+0YEPLZc18JqAhPlqivPQLZDAe5i66A63A7GONVlUA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(396003)(366004)(346002)(376002)(1800799009)(451199024)(186009)(54906003)(316002)(6916009)(66946007)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(8936002)(4326008)(8676002)(31686004)(2906002)(83380400001)(26005)(478600001)(86362001)(6512007)(31696002)(6506007)(36756003)(6486002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzhaaXJhV09qT0JmSnRlbmRWWkdJRmhRMnRUWUFXL0dENTRyNFY3RU93QTIv?=
 =?utf-8?B?UFkvNFM2ZFgvZXk2ekJXQWh6bm14OE8ydFVYeUx4Zkhjazh3YmQ2UzR3UUZI?=
 =?utf-8?B?Y2ZnTlRHVUtvVDUxODN0R0FjUHdCQlJVY0pxMS9DL0FkNldiYlBoWEpGY2d6?=
 =?utf-8?B?d25oTDRWYmVwRGpzUXhDUTVIcnhuRjV4YTZBUVROd3kxQWJyRWZIYmZLRTNu?=
 =?utf-8?B?Y3VndmVtOCtXMlo4a2NrQ3Bma2ZmN0JPTGdjeEFkMFQxanFydXUvYU9qYW5R?=
 =?utf-8?B?czE2Wm9FT2V0VGFTbVVsSDJsVm9WWnRlcEREaVlDdW5RRDNFQUxNTXN3S29s?=
 =?utf-8?B?M0xYbEMwOFc4aFJqSnJvN05DckdzVUl2RFV4WEZSNE9RV0wrbCtXc002amFZ?=
 =?utf-8?B?c1pLZE5LQ3FqNTlxZ3Y3Vm1oNzZrSWIwc051WWpCclVVbG9hZ01YTkRSbDN6?=
 =?utf-8?B?emdwRmtkZk44RkV6a0oxK2w3a29rbkFuL3k3ZUVwSC90YUlrSXE4czFNZG1Z?=
 =?utf-8?B?M3M2Uy9salc4WW1RWktkVXBEbWpwbHJ1U2pqb2tEcEl1L0VYYWxsUWJvOWJh?=
 =?utf-8?B?TVZ4WmhyVlZ1a1NmbjZWb1JWelp5TW43WHpvQ3pKbFVXMW1EbmwxbE9YZDRR?=
 =?utf-8?B?dTR3L3VxZ3R0NDAzVW55OUZ1YVdIdFo1V21Na1pzeDhGUEVhN2NJQ2pXMFBV?=
 =?utf-8?B?TXlDalh4alpvZnh4dEY5eGRmbU5uQ0srVjBaSnNhWHBjVitOa3gzLzZVZnhw?=
 =?utf-8?B?SEJpUzFtRmIrdS8vRjJIVWlXSDhJekVRTkZUUGRKZXZuVmlzdDFHK2xsSnZY?=
 =?utf-8?B?Q0hYY3VGQ1dlMUtkUHZmWk5qYzl6Z3NMcGtTYmJtTWJyZmRuS0RWVUd3VWZS?=
 =?utf-8?B?RnBpU1pCVDNvNHV1cUNEYlhOZCtJZDIvYy9hbXVOcnlVVGNWaEdEYTNnMTJt?=
 =?utf-8?B?VUNkM3hFcFdBRzhqOEdRR2VGVS9sMC9Tek9YdFVUYU14czFPYTJSNHU2aVFN?=
 =?utf-8?B?ZWduWG5LcXZjSEcxL2hOSjJBc250K29YTGYyN1RBQ25mOUZhemhucTdMUUtP?=
 =?utf-8?B?citRb2RzWUhsSU1tcW10TEV3ZGpWWVhaZEoyOG5QQk80TkVTSVkvNmYyYnNh?=
 =?utf-8?B?VW5JODJYM2pkOGE4TVBYVnp6SC8rUlFkT1Fob0NvcndtVzRxQ2VPK0tuRkw5?=
 =?utf-8?B?ZEcrKzNna3FaaEZ4QVlFcHE5RmpZbjZEdi9VM2J1d1JneGZpSnNIK2VubXRl?=
 =?utf-8?B?QWhBZjNvZnBFdlJ2OXB1NEtDTFZRTis4d3lBYzhPZ3ZYbEIvSWo5UG9qbHc1?=
 =?utf-8?B?NVpPR050SFdoRERvM3l2emRGNGE4VkhRanRjNnA2UE9GSUJNQTlkTFo3c3Fy?=
 =?utf-8?B?NFZmNzRlSDQ2ZTRnb3dqV3EvS29ZWGtyL2p1c3Q4OENwQ1NDTjJxdHZtWDRq?=
 =?utf-8?B?a0E0VlhoVzR4eHNRUmxOc24zc2xtd1JzSnpFZVdXdS9QNmk1b0VsZElRR1lm?=
 =?utf-8?B?TXJDbzBkR1BnaVVlT1RBMS9DbmJiMWhqVWhRakdVTkdocFU0Ri93V3NXNGY3?=
 =?utf-8?B?SmRHODJTbW9Ka2w4S2YxbzdSZzZVZ1NDNm9EVmRUekFTbEUxQUJwSWxPelRi?=
 =?utf-8?B?T1lXTjlmL2hLTEFCeVhncjRFeVhDeVJzRWVYZHFXUFhSNzNFWFlBakUwTSts?=
 =?utf-8?B?ZmFrY2x4cjAzVElaY1VsU29jOEszaUlJeEY1T0ZtWU5NNHo3VGdYRjZ6RUxY?=
 =?utf-8?B?YllZbmJyUWRxUWo3andMckwzQWRWQnV3eTVqWmt5VGp2cFZldVlSNlhCQUVZ?=
 =?utf-8?B?YnQxVDNkRFVuTGYrWVJlR1dLbkVyZEVWWjZlMGJPTVBrMHMwL1VhTzdwaG5i?=
 =?utf-8?B?UGZObmViVTZGanlvRFJPd3RENlhQQ1VvWWRZVGhnbXN2eFE1ZnFRNEVBNm9h?=
 =?utf-8?B?MXZPRlJYZ3ZmNjhUdlNZY0JINVNNU25BR0RhOStUTk01cmRtaFZCd2ZndnVz?=
 =?utf-8?B?ZG5IUFR0K09QMmVBSUhRZGx0SlF5d3p0ZmxHV2NjeFVGczVWUHFjU2JNVHp1?=
 =?utf-8?B?QU1pU1dQQlkxQVBIMFhENDFLMS9USGR4alVlOUdQZk9Scyt0dVh4Ui9zTG9S?=
 =?utf-8?Q?mEQJf9Ew8yO9jwC4f5weilZpd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a8edc36-a247-493e-ffc1-08db9e3e655c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 09:51:43.0293
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rOlMKP4wXOa/g7mYXZHE84UcdC4hazdqXj1sAoPiHsmRfcnt2MDzKzDPIsFzKZ5mtRZpCiJMTC+9X8hgIo2QFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8393

Old gcc won't cope with initializers involving unnamed struct/union
fields.

Fixes: 3e033172b025 ("x86/iommu: pass full IO-APIC RTE for remapping table update")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -321,8 +321,7 @@ static int update_intremap_entry_from_io
 void cf_check amd_iommu_ioapic_update_ire(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_APIC_route_entry old_rte;
-    struct IO_APIC_route_entry new_rte = { .raw = rte };
+    struct IO_APIC_route_entry old_rte, new_rte;
     int seg, bdf, rc;
     struct amd_iommu *iommu;
     unsigned int idx;
@@ -331,6 +330,9 @@ void cf_check amd_iommu_ioapic_update_ir
     if ( idx == MAX_IO_APICS )
         return;
 
+    /* Not the initializer, for old gcc to cope. */
+    new_rte.raw = rte;
+
     /* get device id of ioapic devices */
     bdf = ioapic_sbdf[idx].bdf;
     seg = ioapic_sbdf[idx].seg;
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -432,8 +432,7 @@ unsigned int cf_check io_apic_read_remap
 void cf_check io_apic_write_remap_rte(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_xAPIC_route_entry new_rte = { .raw = rte };
-    struct IO_xAPIC_route_entry old_rte = { };
+    struct IO_xAPIC_route_entry old_rte = { }, new_rte;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     bool masked = true;
     int rc;
@@ -453,6 +452,9 @@ void cf_check io_apic_write_remap_rte(
         }
     }
 
+    /* Not the initializer, for old gcc to cope. */
+    new_rte.raw = rte;
+
     rc = ioapic_rte_to_remap_entry(iommu, apic, pin, &old_rte, new_rte);
     if ( rc )
     {


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 09:55:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 09:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584285.914800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDFJ-0006QA-BJ; Wed, 16 Aug 2023 09:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584285.914800; Wed, 16 Aug 2023 09:55:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDFJ-0006Q3-7P; Wed, 16 Aug 2023 09:55:21 +0000
Received: by outflank-mailman (input) for mailman id 584285;
 Wed, 16 Aug 2023 09:55:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhFo=EB=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qWDFH-0006Px-T2
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 09:55:19 +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 01d1a9ac-3c1b-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 11:55:18 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2b9aa1d3029so98539741fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 02:55: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: 01d1a9ac-3c1b-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692179718; x=1692784518;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Y3wDfk1UAARu4sJ5rRUTJT8xAi43A6dyOE97N2rN+Cs=;
        b=iodLATAkmegDv1zPBoNZ7ho5f3TNeKOgZfRJAsDOtDcZPa2J3RCD19aWMwi2PaaVvn
         9zAHXJJn5p5UsB++xEJLw9M4TIalQKzVEVfPC2YpnrYawN6On7xG/f9tkfUbz3SIgBqF
         UJu91+I9eQ0tzp8u/EWSpXe1hkaiTK1uhO7+w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692179718; x=1692784518;
        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=Y3wDfk1UAARu4sJ5rRUTJT8xAi43A6dyOE97N2rN+Cs=;
        b=EVGzk+Dz6OdnO/xUT+88EuKMJKMmIcm/5MtHNbBIkl3bi84DLqe+49rP4Znz9JEW7Q
         P0puTiuCxHm9N9IqPoR8O7MW9ExwBmvdiTVYSw2g/YzeucE/82abMRkMTck/bf+QN3LE
         iU5HFMc1seKvyZFNBYYrxYbuQeJzM/RWPyeL0S9rIzzVPvctuIV99D069qNcolnnr8SA
         mL7l//lo/PMxzEC9imEqQ4KB/RQwpxkmYfkWBVCrhyVMP20awgOFPNTxayLQLxc8h3cU
         l6aD0AyQxU2QSvhtMKtmi9zi0wxj8FN1UWf5tNu90SRIV+YabNDaC6hdTvynqbGRGqrp
         qU/w==
X-Gm-Message-State: AOJu0YzaR95CdtoamC4wJ8BdDlrxOcQPlocapvg2SRgibOnc79nXznEm
	GVioRC4lOQ0Rlnq9FzsxW9u8NXxVRDJBkPh+I6sdRw==
X-Google-Smtp-Source: AGHT+IF5prWtdj3wayp4JBOXKlerjBRmHWL6yGnLnYizQS5s7CjZa5jl6AO+IEjJkBIZWL7kT5RvmcoHBGem5ivlyY8=
X-Received: by 2002:a2e:94c2:0:b0:2b5:8a21:5627 with SMTP id
 r2-20020a2e94c2000000b002b58a215627mr1076799ljh.51.1692179718203; Wed, 16 Aug
 2023 02:55:18 -0700 (PDT)
MIME-Version: 1.0
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
 <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
In-Reply-To: <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 16 Aug 2023 10:55:07 +0100
Message-ID: <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Jason Andryuk <jandryuk@gmail.com>, George Dunlap <George.Dunlap@eu.citrix.com>, 
	Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, 
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, Daniel Smith <dpsmith@apertussolutions.com>, 
	Henry Wang <Henry.Wang@arm.com>
Content-Type: multipart/alternative; boundary="000000000000fffb060603074a0d"

--000000000000fffb060603074a0d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 16, 2023 at 3:58=E2=80=AFAM Andrew Cooper <andrew.cooper3@citri=
x.com>
wrote:

> On 16/08/2023 1:19 am, Stefano Stabellini wrote:
> > On Tue, 15 Aug 2023, Andrew Cooper wrote:
>
> >> diff --git a/xen/include/public/version.h b/xen/include/public/version=
.h
> >> index cbc4ef7a46e6..0dd6bbcb43cc 100644
> >> --- a/xen/include/public/version.h
> >> +++ b/xen/include/public/version.h
> >> @@ -19,12 +19,20 @@
> >>  /* arg =3D=3D NULL; returns major:minor (16:16). */
> >>  #define XENVER_version      0
> >>
> >> -/* arg =3D=3D xen_extraversion_t. */
> >> +/*
> >> + * arg =3D=3D xen_extraversion_t.
> >> + *
> >> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
> > Like Jan and Julien I also don't like the word "broken" especially
> > without explanation of why it is broken next to it.
>
> The word "broken" is an accurate and appropriate word in the English
> language to describe the situation.  I'm sorry you don't like it, but
> unless any of you can articulate why you think it is inappropriate
> phraseology, the complaint is unactionable.
>
> Specifically ...
>
> > Instead, I would say:
> >
> > "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
>
> ... depreciated is misleading.
>

Deprecated means, "It is the official position of the developers of the
project that for the moment, you *can* use it, but you *shouldn't*"; it
also implies that support for it might go away at some point.  The fact
that we're saying "you shouldn't use it" by itself implies that it is
lacking somehow.  It's a factual statement that gives you useful
information.

Neither "broken" nor "has problems" actually tell you anything above
"deprecated", other than the opinion of the developer writing the
documentation; and they are both (to different levels) emotionally
charged.  You don't deprecate things unless there's something wrong with
them.  In this particular case, I don't think anyone has an emotional
attachment to the existing hypercall, so nobody is going to be insulted;
but it's a good habit to avoid it.  (See [1] for more about this.)

[1] http://xenbits.xenproject.org/governance/communication-practice.html ,
the "Avoid inflammatory and negatively charged language" section

If I have a backlog of a million things to do, how do I prioritize
switching to and testing extraversion2?  The situation as I understand it
is: "If it works for you now with the current value you're fine, but it may
break later when you change it, in a way that's obvious".  In that
situation, you can safely put off fixing it until your build breaks.  If,
on the other hand, the situation is "It may randomly work or not work with
any given build", or "It may seem to work for you now but is actually
failing in a not-very-obvious way", then you probably need to prioritize
fixing it.

Saying "May cause truncation" gives you some the information you need to
know. "Will silently truncate past N characters" gives you even more.

We should at very least say it's deprecated.  If we can summarize the
issues briefly, then that would be helpful.

 -George

--000000000000fffb060603074a0d
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, Aug 16, 2023 at 3:58=E2=80=AF=
AM Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.co=
oper3@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa=
dding-left:1ex">On 16/08/2023 1:19 am, Stefano Stabellini wrote:<br>
&gt; On Tue, 15 Aug 2023, Andrew Cooper wrote:<br><br>
&gt;&gt; diff --git a/xen/include/public/version.h b/xen/include/public/ver=
sion.h<br>
&gt;&gt; index cbc4ef7a46e6..0dd6bbcb43cc 100644<br>
&gt;&gt; --- a/xen/include/public/version.h<br>
&gt;&gt; +++ b/xen/include/public/version.h<br>
&gt;&gt; @@ -19,12 +19,20 @@<br>
&gt;&gt;=C2=A0 /* arg =3D=3D NULL; returns major:minor (16:16). */<br>
&gt;&gt;=C2=A0 #define XENVER_version=C2=A0 =C2=A0 =C2=A0 0<br>
&gt;&gt;=C2=A0 <br>
&gt;&gt; -/* arg =3D=3D xen_extraversion_t. */<br>
&gt;&gt; +/*<br>
&gt;&gt; + * arg =3D=3D xen_extraversion_t.<br>
&gt;&gt; + *<br>
&gt;&gt; + * This API/ABI is broken.=C2=A0 Use XENVER_extraversion2 where p=
ossible.<br>
&gt; Like Jan and Julien I also don&#39;t like the word &quot;broken&quot; =
especially<br>
&gt; without explanation of why it is broken next to it.<br>
<br>
The word &quot;broken&quot; is an accurate and appropriate word in the Engl=
ish<br>
language to describe the situation.=C2=A0 I&#39;m sorry you don&#39;t like =
it, but<br>
unless any of you can articulate why you think it is inappropriate<br>
phraseology, the complaint is unactionable.<br>
<br>
Specifically ...<br>
<br>
&gt; Instead, I would say:<br>
&gt;<br>
&gt; &quot;XENVER_extraversion is deprecated. Please use XENVER_extraversio=
n2.&quot;<br>
<br>
... depreciated is misleading.<br></blockquote><div><br></div><div>Deprecat=
ed means, &quot;It is the official position of the developers of the projec=
t that for the moment, you *can* use it, but you *shouldn&#39;t*&quot;; it =
also implies that support for it might go away at some point.=C2=A0 The fac=
t that we&#39;re saying &quot;you shouldn&#39;t use it&quot; by itself impl=
ies that it is lacking somehow.=C2=A0 It&#39;s a factual statement that giv=
es you useful information.</div><div><br></div><div>Neither &quot;broken&qu=
ot; nor &quot;has problems&quot; actually tell you anything above &quot;dep=
recated&quot;, other than the opinion of the developer writing the document=
ation; and they are both (to different=C2=A0levels) emotionally charged.=C2=
=A0 You don&#39;t deprecate things unless there&#39;s something wrong with =
them.=C2=A0 In this particular case, I don&#39;t think anyone has an emotio=
nal attachment to the existing hypercall, so nobody is going to be insulted=
; but it&#39;s a good habit to avoid it.=C2=A0 (See [1] for more about this=
.)</div><div><br></div><div>[1]=C2=A0<a href=3D"http://xenbits.xenproject.o=
rg/governance/communication-practice.html">http://xenbits.xenproject.org/go=
vernance/communication-practice.html</a> , the &quot;Avoid inflammatory and=
 negatively charged language&quot; section</div><div><br></div><div>If I ha=
ve a backlog of a million things to do, how do I prioritize switching to an=
d testing extraversion2?=C2=A0 The situation as I understand it is: &quot;I=
f it works for you now with the current value you&#39;re fine, but it may b=
reak later when you change it, in a way that&#39;s obvious&quot;.=C2=A0 In =
that situation, you can safely put off fixing it until your build breaks.=
=C2=A0 If, on the other hand, the situation is &quot;It may randomly work o=
r not work with any given build&quot;, or &quot;It may seem to work for you=
 now but is actually failing in a not-very-obvious way&quot;, then you prob=
ably need to prioritize fixing it.</div><div><br></div><div>Saying &quot;Ma=
y cause truncation&quot; gives you some the information you need to know. &=
quot;Will silently truncate past N characters&quot; gives you even more.=C2=
=A0=C2=A0</div><div>=C2=A0</div><div>We should at very least say it&#39;s d=
eprecated.=C2=A0 If we can summarize the issues briefly, then that would be=
 helpful.</div><div><br></div><div>=C2=A0-George</div></div></div>

--000000000000fffb060603074a0d--


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:01:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584298.914838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDKx-0008U2-8h; Wed, 16 Aug 2023 10:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584298.914838; Wed, 16 Aug 2023 10:01:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDKx-0008Tv-4Q; Wed, 16 Aug 2023 10:01:11 +0000
Received: by outflank-mailman (input) for mailman id 584298;
 Wed, 16 Aug 2023 10:01: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=hDLr=EB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWDKw-0008Te-Kd
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:01:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d028ad4f-3c1b-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:01:05 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9FC654EE0737;
 Wed, 16 Aug 2023 12:01: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: d028ad4f-3c1b-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Wed, 16 Aug 2023 12:01:04 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <6e1dbf093687e5fa66295621ce67e4dc@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

Hi,

On 08/08/2023 11:03, Nicola Vetrini wrote:
> On 04/08/2023 08:42, Jan Beulich wrote:
>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>>> 
>>>>> The functions
>>>>> - machine_halt
>>>>> - maybe_reboot
>>>>> - machine_restart
>>>>> are not supposed to return, hence the following break statement
>>>>> is marked as intentionally unreachable with the 
>>>>> ASSERT_UNREACHABLE()
>>>>> macro to justify the violation of the rule.
>>>> 
>>>> During the discussion it was mentioned that this won't help with
>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>> effectively nothing. You want to clarify here how release builds
>>>> are to be taken care of, as those are what eventual certification
>>>> will be run against.
>>> 
>>> Something along these lines:
>>> 
>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to 
>>> actually
>>> assert and detect errors, but it is also used as a marker to tag
>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't 
>>> resolve
>>> into an assert, but retains its role of a code marker.
>>> 
>>> Does it work?
>> 
>> Well, it states what is happening, but I'm not convinced it satisfies
>> rule 2.1. There's then still code there which isn't reachable, and
>> which a scanner will spot and report.
>> 
>> Jan
> 
> It's not clear to me whether you dislike the patch itself or the commit
> message. If it's the latter, how about:
> "ASSERT_UNREACHABLE() is used as a marker for intentionally
> unreachable code, which
> constitutes a motivated deviation from Rule 2.1. Additionally, in 
> non-release
> builds, this macro performs a failing assertion to detect errors."

Any feedback on this (with one edit: s/a failing assertion/an 
assertion/)

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:04:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584309.914864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDNq-0000oY-SW; Wed, 16 Aug 2023 10:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584309.914864; Wed, 16 Aug 2023 10:04: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 1qWDNq-0000oR-PM; Wed, 16 Aug 2023 10:04:10 +0000
Received: by outflank-mailman (input) for mailman id 584309;
 Wed, 16 Aug 2023 10: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 1qWDNp-0000oH-H1; Wed, 16 Aug 2023 10: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 1qWDNp-0003hu-Ea; Wed, 16 Aug 2023 10: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 1qWDNo-0006Ea-US; Wed, 16 Aug 2023 10:04:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWDNo-0003lu-Ra; Wed, 16 Aug 2023 10: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=5uNNjKzUYPt0rY0/nuTqvLLRFKosgh1uITgCFrQ/bQ8=; b=tDIY8zKDgFAP7DlboxTY1pgNKr
	xt/YwQ/ATGlnhtuB8QSu9ivvYroojB8ZZYfYibwXNtpSvGq/RYCXDyo6P/uVIM0DJY2/oVKAiGVg8
	Z8yS89mYnKlg7VKVyKFvvhrNDehM1RmrUEGuwTYP92X4hzqBgn+Iu0NDfHHNvvabOpQc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182342-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182342: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2763c33c6e52583f4f599d0e195bf5b1b859df22
X-Osstest-Versions-That:
    xen=a9a3b432a87b27e4debd6f80f14e2cfc9f52218c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 10:04:08 +0000

flight 182342 xen-unstable real [real]
flight 182358 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182342/
http://logs.test-lab.xenproject.org/osstest/logs/182358/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install         fail pass in 182358-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182308
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182322
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182322
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182322
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182322
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182322
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182322
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182322
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182322
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182322
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  2763c33c6e52583f4f599d0e195bf5b1b859df22
baseline version:
 xen                  a9a3b432a87b27e4debd6f80f14e2cfc9f52218c

Last test of basis   182322  2023-08-14 01:52:39 Z    2 days
Failing since        182333  2023-08-14 17:09:08 Z    1 days    2 attempts
Testing same since   182342  2023-08-15 07:59:08 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a9a3b432a8..2763c33c6e  2763c33c6e52583f4f599d0e195bf5b1b859df22 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584321.914896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdU-0003lb-5R; Wed, 16 Aug 2023 10:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584321.914896; Wed, 16 Aug 2023 10:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdT-0003kC-TB; Wed, 16 Aug 2023 10:20:19 +0000
Received: by outflank-mailman (input) for mailman id 584321;
 Wed, 16 Aug 2023 10:20:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdS-0003R9-P4
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:18 +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 7f835c75-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:18 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3159d5e409dso4427433f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:18 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 7f835c75-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181217; x=1692786017;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GmQE7YbBE/xqXjDY6ZyEVZBjOafIVKQhC8sYEHDqZtY=;
        b=fREV2q3U2eUUsvOYwV3L0MIz8kJLaom/+XdQX7SrRPpUJSnTYwIGpicA3dmvZq8tWa
         p/hvkJVzquvz1sMD3G5DEnly7WmZe5r6mykH5gT29Smpb6io/2T/LiTiIBLbeBfOMOCh
         Bgh3w5JRWYLAokEn+B79RK/vALiXPd4+smCRkLYhr/imPEtlva9xqGNuLMF1Ib1a+f7M
         O3dNSJ6eSqmSFJsymgSuq1NvzQ1fk4Siw54DD04QqHTfbeUMk9J7vUdJQFvcDveTlWzA
         WwfL8pDhuRbg39nRgsRouukrbmLoHtetOQzHagl/iVhJJRN82e/WxdDpeDvYymxKB6r5
         /dNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181217; x=1692786017;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GmQE7YbBE/xqXjDY6ZyEVZBjOafIVKQhC8sYEHDqZtY=;
        b=lm40YGhPPT6G1uOw3uDy/Nacu+JM9IdNEmSDtzgRi3VxMuT//aBsR4sYnEOcQ9LvLY
         QLMKiegaYpYgbHzbBRK1L1JzrgbuhF4WeqFMglR1aXF2xPFAEBANDP+qsBcXPKW8xeHT
         wBDEDxTmCNq3S3naXBVhfOva0JvW0OBGT1jt5/2uUBFaxct1r+FT3dNNm3JidtRFPjbl
         jZW7j6Kg6nPXzG+3bXJY5GaCkByXOpj7If6MxIzT9uEn1EEmQaPIYLKxeji+0cDwMvZ9
         5Jst10BDxOb4Thaf9BNXU9QC0F+FriVXIts6yUXK5oUiCc676NAsS2UJVflCJidkIFOA
         kd6w==
X-Gm-Message-State: AOJu0YwMGeGNNW3BN6mXi11N1/uELlDeg+fzSmXdJDODo2gZQN6P2lw2
	hD/xy8eU5XxroCjcUKdzwTUubVjvHzffG7D5
X-Google-Smtp-Source: AGHT+IG3fwXVhTit235aHwBB+bduktkRGZhk3brGQEIX0aB6uLyd73Tk/uOFU6uaj/8yogUwvz4OaA==
X-Received: by 2002:a5d:67c9:0:b0:314:475:bc6b with SMTP id n9-20020a5d67c9000000b003140475bc6bmr1234111wrw.18.1692181217491;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 04/57] xen/riscv: introduce fence.h
Date: Wed, 16 Aug 2023 13:19:14 +0300
Message-ID: <3e3a0893da26eb534975c8c60f4cb3e0f2721610.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/fence.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/fence.h

diff --git a/xen/arch/riscv/include/asm/fence.h b/xen/arch/riscv/include/asm/fence.h
new file mode 100644
index 0000000000..2b443a3a48
--- /dev/null
+++ b/xen/arch/riscv/include/asm/fence.h
@@ -0,0 +1,12 @@
+#ifndef _ASM_RISCV_FENCE_H
+#define _ASM_RISCV_FENCE_H
+
+#ifdef CONFIG_SMP
+#define RISCV_ACQUIRE_BARRIER		"\tfence r , rw\n"
+#define RISCV_RELEASE_BARRIER		"\tfence rw,  w\n"
+#else
+#define RISCV_ACQUIRE_BARRIER
+#define RISCV_RELEASE_BARRIER
+#endif
+
+#endif	/* _ASM_RISCV_FENCE_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584325.914933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdX-0004n2-OD; Wed, 16 Aug 2023 10:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584325.914933; Wed, 16 Aug 2023 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 1qWDdX-0004lf-Dk; Wed, 16 Aug 2023 10:20:23 +0000
Received: by outflank-mailman (input) for mailman id 584325;
 Wed, 16 Aug 2023 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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdV-0003RA-HU
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20: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 80899475-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:20 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-3fe4cdb727cso64582635e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:20 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 80899475-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181219; x=1692786019;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HR6OIRhc5EhJVw5OZ829cmd3qnltfojYEhQK5nZTlyw=;
        b=cyhe7FnRv5KOh16WBBKXEtIVARtsHGYYpwOc/0zBP/z4TERbKLNNNXSA1I1x0VPiiS
         5dw1OCA67QWAL20IoY1jhOMHonDAyjHQ1OGfeuWrLaJEg327r7g11OIN17mmBJDhqweG
         GWHmSl5eb+gk/v9YNfh9sAiHKED+KAvTzI+Ke23oW83E0lr/zoXB+I3RA/EWkjy38iD8
         TCXWD3SOV4+secw6GThyzL8OlABhvR/37sRPEYuwi5ob/V8SdVSXD5uvTpGKbFUNbxID
         rJqn8HMkl3cHiHJg+uEeXN5U4oAOQl7jG2oXMBn3Hp76b8eeH+nnoFZidHAIcPN0jebF
         vxIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181219; x=1692786019;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HR6OIRhc5EhJVw5OZ829cmd3qnltfojYEhQK5nZTlyw=;
        b=f3Vm0pTbR60mnlqY38+FXyv+lvJh9GDgM0QO/HQYdbBiwE+y/VA77BDkWQ+/mSFxzg
         m7imZiMg1iIzluxiQFa5GX4+BbItVHHlp7cPwdsr4NyJaG0paMVtB1WJ3I3XkiPB6f0I
         gZGnWrGBXVk/+mFxN3ga3Q9oHTQQXPAs+oAqkokWmjCVwrlyz0nsCWGRm1SrhmkopwiK
         xYGr8Oz6iEVQyUcm9T98ZXkribMa16ISo5HANluitSPoi4Ilst6k89w2kI7D2M74VyNX
         9gHtUOVKKJLyCmywptJZuIOPajNmSlh/PmDW0223jDzE7HRKKfc7oa7Bc1ULjFYZddSQ
         zgGg==
X-Gm-Message-State: AOJu0YwTYoO5tHwOzLhn3KmH+BSJ8oqhwm2kfhOS/Ivxp1uJC4XNOyG4
	2h711+wEUgCitm3GoWYpDPx/P4/8cB1fw/Gc
X-Google-Smtp-Source: AGHT+IG6CvmyHqRfmhR/vvA8dlfLODgvtiEuLgjuLGB60jb2bSzer07bo7lzn0bWt+NsO1oCVYF4Hg==
X-Received: by 2002:adf:ce8b:0:b0:313:f61c:42ab with SMTP id r11-20020adfce8b000000b00313f61c42abmr1271693wrn.56.1692181219109;
        Wed, 16 Aug 2023 03:20:19 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 06/57] xen/riscv: introduce paging.h
Date: Wed, 16 Aug 2023 13:19:16 +0300
Message-ID: <e8b968da5adb53da684b9ca21246463d1925c9b1.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/paging.h | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/paging.h

diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
new file mode 100644
index 0000000000..73810e83d4
--- /dev/null
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_RISCV_PAGING_H__
+#define __ASM_RISCV_PAGING_H__
+
+#define paging_mode_translate(d)              (1)
+#define paging_mode_external(d)               (1)
+
+#endif /* __ASM_RISCV_PAGING_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584320.914890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdT-0003jn-T7; Wed, 16 Aug 2023 10:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584320.914890; Wed, 16 Aug 2023 10:20:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdT-0003is-Mc; Wed, 16 Aug 2023 10:20:19 +0000
Received: by outflank-mailman (input) for mailman id 584320;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdS-0003RA-EG
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:18 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e9c0269-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:16 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3197b461bb5so2202889f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:16 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 7e9c0269-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181216; x=1692786016;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NysU7SmZrC+vazQd+jdKnaJN8KaQN9ypnVKlA+c/VV0=;
        b=U8EpPegJCcVGR4gXJjwPRsFx63iXBYCEuAyZeNU8rYrSLHoesWTM4JL/8Ui4BtdlpA
         IR8sIQuMXT9SdEGOfAuy1XVvwhZwRaVrBh7GMVi33U5axDsj+eFo5vmPlGIWu6ouDj1X
         cTZf6wzijh+z0KnENEDNaeg4IgQwCKGyaYnX9zdMdGkQfEgy3sS5wQcSGXOZaZQ1UqR7
         dC+kULcmYFunNCdjVK4IiFRFwgf3yluKiDvQo9Ja8EgBc5O4cI7HN3fOQieBNACfdOQ+
         xJqurbm6VMc90ITlKaippXbva0o2qFCTNbhZN+NgMKNks6p+pra/6ThbGUMtlbXFkrvB
         fJGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181216; x=1692786016;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NysU7SmZrC+vazQd+jdKnaJN8KaQN9ypnVKlA+c/VV0=;
        b=WDQOMWzo4co4JGAxXlATtY02z19kj4ngJNjBYwFH6FSS3n2BeT4PB/x7XEfqPsjzSV
         ybX2Qh8WG87VjD0zAl7brtEJWZVTZzn2J6e8lKDUBOeuhDE3MpVk4JAPPc8wviwfigni
         knSGQigS4Y92QqPigNvFQsK7p14Uv4x+Og+L5lY9s5uh6arszhlxv5su1vvxTGykHgzo
         JN9pUTtp4MHsSYatecTmcGS9Hn9oZvBFMbwFHOw3Z0S8lGPYEum1la7GOLbGN/CxfIfb
         yq12JwObCSrxg/yBPZRahVolokJOomw8TFezyZfachAXcGnj+TRzBhhI+kQeHT94+aQ/
         P7oA==
X-Gm-Message-State: AOJu0YwLkdQO0/OR+aYRnJ/vLy5aDMu/o0R9pgq13SVE9ffimT2uRfTv
	DuYDrDT8+uSYil+WJcCo/hU02lSvM4yxNB2m
X-Google-Smtp-Source: AGHT+IGJlA93jd2q7npNEAlGI7KhkAPGvjmV+GWSnUAisGSQsL/8q19IE52XthKfaGWSAAKnR5MENw==
X-Received: by 2002:adf:f18a:0:b0:319:6ce2:cbcb with SMTP id h10-20020adff18a000000b003196ce2cbcbmr1036769wro.29.1692181215936;
        Wed, 16 Aug 2023 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>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 02/57] xen/riscv: add public arch-riscv.h
Date: Wed, 16 Aug 2023 13:19:12 +0300
Message-ID: <d9721f72f4a51b1240ba180e33193c551b987251.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/include/public/arch-riscv.h | 90 +++++++++++++++++++++++++++++++++
 xen/include/public/xen.h        |  2 +
 2 files changed, 92 insertions(+)
 create mode 100644 xen/include/public/arch-riscv.h

diff --git a/xen/include/public/arch-riscv.h b/xen/include/public/arch-riscv.h
new file mode 100644
index 0000000000..05f2c67f49
--- /dev/null
+++ b/xen/include/public/arch-riscv.h
@@ -0,0 +1,90 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Guest OS interface to RISC-V Xen.
+ * Initially based on the ARM implementation.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_RISCV_H__
+#define __XEN_PUBLIC_ARCH_RISCV_H__
+
+#define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
+#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
+
+#ifndef __ASSEMBLY__
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
+    typedef union { type *p; unsigned long q; }                 \
+        __guest_handle_ ## name;                                \
+    typedef union { type *p; uint64_aligned_t q; }              \
+        __guest_handle_64_ ## name
+
+/*
+ * XEN_GUEST_HANDLE represents a guest pointer, when passed as a field
+ * in a struct in memory. On RISCV is always 8 bytes sizes and 8 bytes
+ * aligned.
+ * XEN_GUEST_HANDLE_PARAM represents a guest pointer, when passed as an
+ * hypercall argument. It is 4 bytes on aarch32 and 8 bytes on aarch64.
+ */
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
+#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
+#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
+#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
+#define set_xen_guest_handle_raw(hnd, val)                  \
+    do {                                                    \
+        typeof(&(hnd)) _sxghr_tmp = &(hnd);                 \
+        _sxghr_tmp->q = 0;                                  \
+        _sxghr_tmp->p = (val);                              \
+    } while ( 0 )
+#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
+
+typedef uint64_t xen_pfn_t;
+#define PRI_xen_pfn PRIx64
+#define PRIu_xen_pfn PRIu64
+
+typedef uint64_t xen_ulong_t;
+#define PRI_xen_ulong PRIx64
+
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+
+struct vcpu_guest_context {
+};
+typedef struct vcpu_guest_context vcpu_guest_context_t;
+DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
+
+struct xen_arch_domainconfig {
+};
+
+#endif
+
+struct arch_vcpu_info {
+};
+typedef struct arch_vcpu_info arch_vcpu_info_t;
+
+struct arch_shared_info {
+};
+typedef struct arch_shared_info arch_shared_info_t;
+
+/* Maximum number of virtual CPUs in legacy multi-processor guests. */
+/* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */
+#define XEN_LEGACY_MAX_VCPUS 1
+
+#endif /* __ASSEMBLY__ */
+
+#ifndef __ASSEMBLY__
+/* Stub definition of PMU structure */
+typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
+#endif
+
+#endif /*  __XEN_PUBLIC_ARCH_RISCV_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 920567e006..8a07032796 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -16,6 +16,8 @@
 #include "arch-x86/xen.h"
 #elif defined(__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined(__riscv)
+#include "arch-riscv.h"
 #else
 #error "Unsupported architecture"
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584323.914924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdW-0004h1-Si; Wed, 16 Aug 2023 10:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584323.914924; Wed, 16 Aug 2023 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 1qWDdW-0004gj-PX; Wed, 16 Aug 2023 10:20:22 +0000
Received: by outflank-mailman (input) for mailman id 584323;
 Wed, 16 Aug 2023 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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdU-0003RA-P0
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:20 +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 8003af44-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:19 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-3fe8a1591c8so48355225e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:19 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8003af44-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181218; x=1692786018;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DJWipG2iwiDc8bNF9LYa2CYYI/tM24ga7r7eHnwSobI=;
        b=OfrAagmikytP/ddpMG4A4fpfpMYWxVBqOOHVzXgJwDnVdKnzyiZoNLjGm8jhFw24f6
         H794XPgjGCTXcdobtT3CySlTr+xYPV9XZCujlaX/r56kN10tnP4oGMTyCvE7hU1fmILk
         RKycIUzEFA7WvBwWED2AuF1QVq0PAwA0p5N2eM71ODP1sYiwJMAdK20jxTvIuMEQKi8L
         YWuLi1s5vZ94hizMDlHAo06OrtC9jHUwZZthaJzeOGPNitWBfmQu1xCH19Juvr3zIUhQ
         osnsGjAYok2wpBkaX1qkmZQi0OPTlO/h6uoJJdu2EMjIXXGdxT1iHfbSNc1JHpN+lR8p
         LWmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181218; x=1692786018;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DJWipG2iwiDc8bNF9LYa2CYYI/tM24ga7r7eHnwSobI=;
        b=b/SlzohIZ7tZ9/7FyOwKFgVUi46xPYQEqqbHEkmErOBDQIdI/kmlvXh2oJcgdSBenw
         rjKTngPx6KL+/y0YMu2+uhHswGTuvSFoHMEnohphKzyoCWm8ybYpKG22uT6aCAhhlybG
         AQ/vTUeDD67NcV+XajIKIqQfZHhFu+CqatvhmCyQIBPc3rBpjsJTDiW9M0LBSBXDskzK
         jtyz14DFVXhRxUzItLgX7mCA410sEJqswukkD0eY6WUp0sLPwIbWhRGyJPZGZmPQRDk6
         huDPVjuZRkglvv301q7CGf07E5DYznjv2C4oywRMATeW33gLd4UrGzlY9TY+D6PG3VvY
         g4zQ==
X-Gm-Message-State: AOJu0YyyXxqLBtT56CSkhK1Nw8OpAxBmLETjQTiSxxN1zjjf9dwGC+U3
	it9EOz0zoqe3TfZGo30Xc/HTQhnuLp27Edxp
X-Google-Smtp-Source: AGHT+IGs9YfgB5tlmvxnnT2tew4+CB/4cQvJKR35QnsO/k8l+npci/LU4LXdbspRf6bTNoNKHfTASw==
X-Received: by 2002:adf:fb44:0:b0:319:7421:fde with SMTP id c4-20020adffb44000000b0031974210fdemr1205356wrs.32.1692181218306;
        Wed, 16 Aug 2023 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>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 05/57] xen/riscv: introduce arch-riscv/hvm/save.h
Date: Wed, 16 Aug 2023 13:19:15 +0300
Message-ID: <0f590ab9f08e4c5515cc93067f626f30e5f43172.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/include/public/arch-riscv/hvm/save.h | 22 ++++++++++++++++++++++
 xen/include/public/hvm/save.h            |  2 ++
 2 files changed, 24 insertions(+)
 create mode 100644 xen/include/public/arch-riscv/hvm/save.h

diff --git a/xen/include/public/arch-riscv/hvm/save.h b/xen/include/public/arch-riscv/hvm/save.h
new file mode 100644
index 0000000000..b81e323848
--- /dev/null
+++ b/xen/include/public/arch-riscv/hvm/save.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Structure definitions for HVM state that is held by Xen and must
+ * be saved along with the domain's memory and device-model state.
+ *
+ * Copyright (c) 2012 Citrix Systems Ltd.
+ */
+
+#ifndef __XEN_PUBLIC_HVM_SAVE_RISCV_H__
+#define __XEN_PUBLIC_HVM_SAVE_RISCV_H__
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.h
index 464ebdb0da..902320abe8 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -89,6 +89,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
 #include "../arch-x86/hvm/save.h"
 #elif defined(__arm__) || defined(__aarch64__)
 #include "../arch-arm/hvm/save.h"
+#elif defined(__riscv)
+#include "../arch-riscv/hvm/save.h"
 #else
 #error "unsupported architecture"
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584322.914899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdU-0003w8-CY; Wed, 16 Aug 2023 10:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584322.914899; Wed, 16 Aug 2023 10:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdU-0003qz-6U; Wed, 16 Aug 2023 10:20:20 +0000
Received: by outflank-mailman (input) for mailman id 584322;
 Wed, 16 Aug 2023 10:20:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdT-0003RA-Bn
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:19 +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 7f0de9d3-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:17 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-313e742a787so3760742f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:17 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 7f0de9d3-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181217; x=1692786017;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6dvEBe8pm2VhEijyo4mSmzVNCZv6JhRB1IoL9HAmCNk=;
        b=UcpL44T20AfuhMw72jhN3hF+yjT/YqUzs3qo21XlXcOKaEavFRronlAiugi9RMVDWT
         TmPqOdPvJVNQ51OiIp/2F1W7FrDVFbOSLfAy+pkGapmpUBhDNwyyxr/Fz3NAU/2LgbnY
         9kEAgvtK1KrEeu8rZ1Fvps3Tf5D2W6w1lsbBB2mtfWsPF3Veb5jCX5dEk4X3FUGWgF1G
         X+z3KUgl9PvO95yB5hgTVzZdR46r8PDELM66jttH5B9PpbKlFnYPk4yoCg1RUcB1GgEB
         KpBDyxz1oSYgqlGBC8ambMjWAS/e9wcxi0UE7ZjTMlkViHzhAyibv313/xtRInPDqA+A
         PYBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181217; x=1692786017;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6dvEBe8pm2VhEijyo4mSmzVNCZv6JhRB1IoL9HAmCNk=;
        b=ANDoWL0af6WUVUHzK230FeX3JDN3tTs9CnUF8q9cG+ma9ArbXvOY4Elhc+54YAIfqu
         OwCtqnpC9jEiHsVRmrO7peTiK1ZU3fDhwX49NxaAZFlR+dxNXqLOjrv02QRG+HeVEwOZ
         esMBYRinSmoX2+1yCnQjmFUQj04HiUd4OH+b3+BvqZyhJnNqzpTGnF1SCGLokskXleJO
         pPzT6VXmAwidG2Vt8X2XTLiWggSpfLOXcDNHe00wZFPsLWsZb7FRctsAHULoK5uc+HcA
         U6G0jzY1WSOixPimMss4VW71X7HDPzJE2XWeqXx1byzhKmGIr8OU6Tidoy47+bn3V4ks
         kbcA==
X-Gm-Message-State: AOJu0Yx95c2CMWMlksWHlpcxlm05YCGnXQssJrqTuiieO94F8EMLrc9N
	m2Db3zx7oKv89/ZdGTxdg9j4BIsCMDOto7Bj
X-Google-Smtp-Source: AGHT+IGFZ8hw5juKIB3lffNbUlK0keTaa2SaMsTAiN6vHptjJuMfPQsFfjPe2woJTEw7VaTUlz0GtA==
X-Received: by 2002:adf:ff82:0:b0:313:e391:e492 with SMTP id j2-20020adfff82000000b00313e391e492mr1184501wrr.17.1692181216761;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 03/57] xen/riscv: introduce spinlock.h
Date: Wed, 16 Aug 2023 13:19:13 +0300
Message-ID: <c0c4e1a2ad67da4995905472bae61d74e32f7631.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/spinlock.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/spinlock.h

diff --git a/xen/arch/riscv/include/asm/spinlock.h b/xen/arch/riscv/include/asm/spinlock.h
new file mode 100644
index 0000000000..8e61a88c3d
--- /dev/null
+++ b/xen/arch/riscv/include/asm/spinlock.h
@@ -0,0 +1,13 @@
+#ifndef __ASM_RISCV_SPINLOCK_H
+#define __ASM_RISCV_SPINLOCK_H
+
+#define arch_lock_acquire_barrier() smp_mb()
+#define arch_lock_release_barrier() smp_mb()
+
+#define arch_lock_relax() cpu_relax()
+#define arch_lock_signal() do { \
+} while(0)
+
+#define arch_lock_signal_wmb()  arch_lock_signal()
+
+#endif /* __ASM_RISCV_SPINLOCK_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584324.914929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdX-0004ka-Bz; Wed, 16 Aug 2023 10:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584324.914929; Wed, 16 Aug 2023 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 1qWDdX-0004jj-2n; Wed, 16 Aug 2023 10:20:23 +0000
Received: by outflank-mailman (input) for mailman id 584324;
 Wed, 16 Aug 2023 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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdV-0003R9-An
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:21 +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 810ce2ca-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:20 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-307d20548adso5631468f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:20 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 810ce2ca-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181220; x=1692786020;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bL3WYgMaZMxc8HxTRNu8OB5FSzMnAq4vyPbvWFHbIzM=;
        b=qe4G0IZGIZqvXBZFYoIScOAbTh8Ek65dcQDBTkwURNgOWOGjPlTHyZRXV15jh1bfCS
         u3dW9/9yX+13lrjNqLUpinIV4tgJuRr11ALs6/K/qHI4rJ1te5HSkwbmmoEKIIKEL1YA
         twv9MC+u+cald4ob7It/Be3fjWIv+nbVeDCBw6gVVdobuG41ZToVOsF1v2XrxtY0cYUq
         Uh6D3qlXyHW657SDeSPT9clo2Tl4Qv6Pmuu9/Q0qbgfMCQG9ZzV8wrKFYbEY7brBdR5x
         ZnewFs52/sST8sg0Q0EsVs2Sb8YOqZiTMYbVR5HZXtQcbbFg9cVoiEn+8VCxFMTktI3S
         9Xfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181220; x=1692786020;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bL3WYgMaZMxc8HxTRNu8OB5FSzMnAq4vyPbvWFHbIzM=;
        b=ToOanxA8NuL6gmkd+7yohmf1HAg1D21oV+c2xcj9PgOHNa70P3q6HjbYRLyjB2oJt6
         acVnB3kdrZobR+SMrS4TUrU2PtpcY5N1G3ZMcoReNoTD3DGPcczsG5ZJjp1CbsJJce54
         t9lkG0WCOsKUmFtBJSDO/GjQKWzS+OsvwtlpIKBvbvf+YxpMtehsBdErNe8PtD5hCuKk
         qIBnLmC5TGA2UAvUbE59DEuVw8PInJ6mV5gI36++fuzsevtfddqeO4UKT/tFGeiVz8SB
         dQ+SIpIhSVK7+7QCDB/GHdT2OMNTt67KvlSrtfqswzpzZmsjsau0EYiJGLeAHvEPNMmI
         bA/g==
X-Gm-Message-State: AOJu0YxndJ23N5UBPZx0E+KvsHUGzlKu4+t/R1y5B+ve+mLCxNuVCYeC
	Cb9oaoRYxP4b9A3pWB3cf+SKV9ydunO3xleO
X-Google-Smtp-Source: AGHT+IFQw+bAIQepx0MDYZvcSR3LA4cpJby1Ndik78K+tb6WAYOrLwL7jrM7+MoWxgvUWOATg0eh/A==
X-Received: by 2002:a05:6000:14b:b0:319:867e:97cb with SMTP id r11-20020a056000014b00b00319867e97cbmr1073490wrx.42.1692181219986;
        Wed, 16 Aug 2023 03:20:19 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 07/57] xen/riscv: introduce asm/cpufeature.h
Date: Wed, 16 Aug 2023 13:19:17 +0300
Message-ID: <eecb01b229bcc72e02eb9f8805aab4c20f27852c.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/cpufeature.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/cpufeature.h

diff --git a/xen/arch/riscv/include/asm/cpufeature.h b/xen/arch/riscv/include/asm/cpufeature.h
new file mode 100644
index 0000000000..211827f816
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cpufeature.h
@@ -0,0 +1,22 @@
+#ifndef __ASM_RISCV_CPUFEATURE_H
+#define __ASM_RISCV_CPUFEATURE_H
+
+#ifndef __ASSEMBLY__
+
+static inline int cpu_nr_siblings(unsigned int cpu)
+{
+    return 1;
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
+
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584318.914874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdS-0003RS-CF; Wed, 16 Aug 2023 10:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584318.914874; Wed, 16 Aug 2023 10:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdS-0003RL-8X; Wed, 16 Aug 2023 10:20:18 +0000
Received: by outflank-mailman (input) for mailman id 584318;
 Wed, 16 Aug 2023 10:20:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdR-0003R9-Av
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:17 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e27f481-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:16 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-3fe4ad22e36so59441705e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:15 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e27f481-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181215; x=1692786015;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SNlUMCXZM8wTGBwDcTnzqCZP1USsnbTigMBS5QryLYg=;
        b=UaOfgeDVVCcHDO/Fbj4JlNrbwEsdEHx/qD1+6YghyDMqErv1gCUoX1bf3bp+V1DZHy
         WjnN25fTa3e1bEOA3+Qy7f5gEiMgswka58geOJnFCXO5rQqrwXXOrWpoPQLpxUuHVlSZ
         Snxe/AZcPC6TlOe9n+1Ii/4FRA3PRDyRw32riGRX2ZnkwZlRaQoiTb22XtmSYBbIV+8/
         LEXDsDcbTyfWZb/o5kVoCqwIitrUjFJLLwfORFHqYCGl4aY3S7+dOLghMKeXgotdNktU
         5yJcyR1DxTi7BJ4/eZfZR1GLbyTeNJrYKZLmfvtE7CbGVJe/vdfs71aU9+cP6XX4mtCx
         kj/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181215; x=1692786015;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SNlUMCXZM8wTGBwDcTnzqCZP1USsnbTigMBS5QryLYg=;
        b=DEMXbb8D3NzO11eo35FzEsFXCXkW8tRluqbn9fOsG3pZsKjcGbvSW0Lsrvd7Gp6SWt
         jVwjn/t7gvkAuh1Teg8qJef2H53RcPzw3TtPs+vcUPDx2b7twFGl4jAMc0PZB7gTwkks
         G4BshjMW3YIic7VV45JvdY0usHxYeyUiccKWCrRkNW8mIDRv8QjBSVSCAtF9N5JzPrmu
         +sOzAVeRsX2VI9LnruHNLp3pyqBSt55whzgE0DWVpkD0VFh6D4PmYik8gfa+hWDHmS+3
         zgoZ2lx1nMVXL7bf5M8Jbz6HtSZXY7SeBLRV2NCAvm5KDK6QGR0gH1d0bVHQLZoxavkj
         cfVQ==
X-Gm-Message-State: AOJu0YzNvSt84aZDHRfSOx/pV2q1h2skNdaNnhWwAwgWcciGPHLYxOWJ
	q5Pw/2APu0uHhXJZKC2G3FjOufasD7vfRXGS
X-Google-Smtp-Source: AGHT+IGbWxAWynQJC1Q4f3JCBiOM0CoXQgf3J/Hz3numhj0Zto9ZEjPXoU+Cnxy5z6jJZMVxb0m3vw==
X-Received: by 2002:a5d:61cb:0:b0:314:39d0:26f6 with SMTP id q11-20020a5d61cb000000b0031439d026f6mr1194118wrv.18.1692181215008;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 01/57] xen/riscv:introduce asm/byteorder.h
Date: Wed, 16 Aug 2023 13:19:11 +0300
Message-ID: <026edfc051aafb87ed23d68cf757f9513ad78d91.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/byteorder.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/byteorder.h

diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
new file mode 100644
index 0000000000..320a03c88f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/byteorder.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RISCV_BYTEORDER_H__
+#define __ASM_RISCV_BYTEORDER_H__
+
+#define __BYTEORDER_HAS_U64__
+
+#include <xen/byteorder/little_endian.h>
+
+#endif /* __ASM_RISCV_BYTEORDER_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584326.914940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdY-0004tE-8p; Wed, 16 Aug 2023 10:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584326.914940; Wed, 16 Aug 2023 10:20:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdX-0004r5-Th; Wed, 16 Aug 2023 10:20:23 +0000
Received: by outflank-mailman (input) for mailman id 584326;
 Wed, 16 Aug 2023 10:20:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdW-0003R9-DX
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:22 +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 81b7817a-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:21 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31427ddd3fbso5587202f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:21 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81b7817a-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181221; x=1692786021;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2SAv1/nVAEvC2eUP+A+JJrfLibXfd0eUAwY7nUEYbBk=;
        b=S79awHNCAcJstJrlgbvuJemfvHPBefJbtszclqjWwn56f5eLYgRVSYVjvWrHIwgzqI
         txeMs8p2B7bmTUuPOPE+ITdRoYJU7SqM+ud0iDyILY9sE9cVTAPP3Q+vy0+MT87WFY1X
         nLHy3QmaJlhp9naRdBGysXUaiSzDlNcoxSG5803284YXZY5qrM+yXgIbMfwp2YY7gStv
         7LjwUCHNKh9H0OBPERmaxXy4A3d8oBtZXOFoK1qShQXezVZLc6N7n6W0G1qPyJdbuANZ
         tud1/cdVgQ4WHmOTKKX/jOuzqX7+HGvtk2bAyhSK937wN3SCBt/biczj+7cqgWgnIKGN
         li1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181221; x=1692786021;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2SAv1/nVAEvC2eUP+A+JJrfLibXfd0eUAwY7nUEYbBk=;
        b=VYkxwdo8scAU7tcN1KGEdqTJBFzRKgMTccmOTjKYsTFXsj3m17dtnW+FY9dWFeLceY
         dMQWKFiGovIuly10PzG0Bw2zn1itLl7Pu5X8fl4b5xfZi8ZjVbBoIgsKoZ2/WNf1akTP
         gtJAmux60dNFk6sT9aUPZFG05u+JjjgXxS2o3QZjo5jLNDQwuNticadSsaWXCA56DMYy
         CBtlZVL+LQCd3d5EmwQHupl4LrdMfZg9aD/hf5odvgN5GiKv3EggNLyPB3pAmQVBWhQ0
         tKSlnJbKkAD3Twjif4rG6JPwdkW/GMvHmjczV/+476TF5m4K8c5ut+5lm4CH6pj2ko90
         LNwQ==
X-Gm-Message-State: AOJu0Yw3vZ+yMWv6QOCOeRpCh/qOIv82pgmnEyoyaqfI3y4jikrBJlLJ
	sR8XHS8s0V9Ypjng4XGgBTNkDx370zIkXEa7
X-Google-Smtp-Source: AGHT+IGvYv3B7sJqKLRG/GSmInwttmH0aBZVLOI7ZrwlPi8jlwctErMSTp7TPqm2OL7JPvCnMg6ZRg==
X-Received: by 2002:a5d:6552:0:b0:316:efb9:ffa with SMTP id z18-20020a5d6552000000b00316efb90ffamr1091651wrv.35.1692181220817;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 08/57] xen/riscv: introduce asm/device.h
Date: Wed, 16 Aug 2023 13:19:18 +0300
Message-ID: <34988d4e9820b4b84a16f7cf72dbc4a908a3a304.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/device.h | 55 +++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/device.h

diff --git a/xen/arch/riscv/include/asm/device.h b/xen/arch/riscv/include/asm/device.h
new file mode 100644
index 0000000000..e58178517a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/device.h
@@ -0,0 +1,55 @@
+#ifndef __ASM_RISCV_DEVICE_H__
+#define __ASM_RISCV_DEVICE_H__
+
+struct dt_device_node;
+
+enum device_type
+{
+    DEV_DT,
+    DEV_PCI,
+};
+
+struct device {
+    enum device_type type;
+#ifdef CONFIG_HAS_DEVICE_TREE
+    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
+#endif
+};
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_GIC,
+    DEVICE_PCI_HOSTBRIDGE,
+    /* Use for error */
+    DEVICE_UNKNOWN,
+};
+
+struct device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* List of devices supported by this driver */
+    const struct dt_device_match *dt_match;
+    /*
+     * Device initialization.
+     *
+     * -EAGAIN is used to indicate that device probing is deferred.
+     */
+    int (*init)(struct dt_device_node *dev, const void *data);
+};
+
+typedef struct device device_t;
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") = {                                          \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define DT_DEVICE_END                                               \
+};
+
+#endif /* __ASM_RISCV_DEVICE_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584319.914884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdT-0003gP-Iw; Wed, 16 Aug 2023 10:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584319.914884; Wed, 16 Aug 2023 10:20:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdT-0003gI-Fk; Wed, 16 Aug 2023 10:20:19 +0000
Received: by outflank-mailman (input) for mailman id 584319;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdR-0003RA-Ls
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:17 +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 7ddbb7b7-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:15 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3196fdb3238so3156072f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:15 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 7ddbb7b7-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181214; x=1692786014;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=g4nKKQayWyt1+rz2Ke2EYH6htOpAqTZN8PNzyXl6YM8=;
        b=IxZ6vQQ9R9K7ysXvD3HEX3oq5+BFcDo4RBDlp4B0uiT2OAqTm7friW01l2FxHOf9zD
         /1ZhfOZ2RcLoBQC+VnDc8YwAz8S/VE7ZZAen6UNJpUUQ36Mhj5H60LMlNGGGfuUCQ8FX
         8BgGFIHWhrNTdP6RHM9ZZoICoSYSr5k2hi0qszmKNBuIw0XGFRF64c22tBeyh//D0jOB
         YMejnguW+GylNeX+pyX/RW95sRsq9XQERC8usUTp7AEBy8v7ZfAZxMh+dPwla1RbAViW
         +VYU3QqM5eLIKmgC+CvOyPbtvRS9HwFa6xl3TJLEY13gOP/6ohKJFkHhNx7HlU0r3VHL
         EQ/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181214; x=1692786014;
        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=g4nKKQayWyt1+rz2Ke2EYH6htOpAqTZN8PNzyXl6YM8=;
        b=aU9aqrholDUsN/zclI049bK3S24qit8mnwTSdMpc7jI4L0zJH9fAu0k4bxB31tG+PF
         otwYqngCbdEBz8D9YKkaaZGO0E8oAPJFO9wDJtUDcRvly5DhEVLSx7pi/pdyPdTUi5Wa
         XO7Ti8yOhDdFC/K63GTg2g829W/itf54FB2tJICI6a6GPq9PNt2oS5XNMXh7sp0xWz83
         6ByS/1kzl+Lw7PIhL1Gv1slt9AaoPce5ucWF3wwvd16m7t3g57jsgqyvQyS/pxWjgJAr
         UZ6muurf8s4dbtH/lxL2gqUgHpLQoqOBDabmxgffzEN6jedyjXcvFEcefQKLow3e0Bmp
         fl+A==
X-Gm-Message-State: AOJu0Yz5cnnFX7PRvo+Vt3wZ/EfKoHdBAJ/VPrYM9Pvo11U5XBe4XajK
	vaBAhqqo/2iE1VUKdxJ5TT5KOC760yS8fnfh
X-Google-Smtp-Source: AGHT+IGFvG1jDFRGsq2Wpu9zIhy85VTXBj/nh1C+/b0fkdBo3hHAwl06Nu+pH66HbjqxcSkG/ZX3hQ==
X-Received: by 2002:a5d:674d:0:b0:315:a34f:b520 with SMTP id l13-20020a5d674d000000b00315a34fb520mr1133536wrw.71.1692181214294;
        Wed, 16 Aug 2023 03:20:14 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v1 00/57] Enable build of full Xen for RISC-V
Date: Wed, 16 Aug 2023 13:19:10 +0300
Message-ID: <cover.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.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.

Also the patch series has open question described in the patch 57

Patch 56 is only needed for test purposes and will be removed.

Oleksii Kurochko (57):
  xen/riscv:introduce asm/byteorder.h
  xen/riscv: add public arch-riscv.h
  xen/riscv: introduce spinlock.h
  xen/riscv: introduce fence.h
  xen/riscv: introduce arch-riscv/hvm/save.h
  xen/riscv: introduce paging.h
  xen/riscv: introduce asm/cpufeature.h
  xen/riscv: introduce asm/device.h
  xen/riscv: introduce asm/event.h
  xen/riscv: introduce asm/grant_table.h
  xen/riscv: introduce asm/guest_atomics.h
  xen/riscv: introduce asm/hypercall.h
  xen/riscv: introduce asm/iocap.h
  xen/riscv: introduce asm/iommu.h
  xen/riscv: introduce asm/mem_access.h
  xen/riscv: introduce asm/nospec.h
  xen/riscv: introduce asm/pci.h
  xen/riscv: introduce asm/random.h
  xen/riscv: introduce asm/setup.h
  xen/riscv: introduce asm/system.h
  xen/riscv: introduce asm/xenoprof.h
  xen/riscv: introduce bitops.h
  xen/riscv: introduce flushtlb.h
  xen/riscv: introduce asm/percpu.h
  xen/riscv: introduce asm/smp.h
  xen/riscv: introduce asm/atomic.h
  xen/riscv: introduce cmpxchg.h
  xen/riscv: introduce asm/io.h
  xen/riscv: introduce asm/hardirq.h
  xen/riscv: introduce div64.h
  xen/riscv: define bug frame tables in xen.lds.S
  xen/riscv: introduce bit operations
  xen/riscv: introduce asm/altp2m.h
  xen/riscv: introduce asm/delay.h
  xen/riscv: introduce asm/domain.h
  xen/riscv: introduce asm/guest_access.h
  xen/riscv: introduce asm/irq.h
  xen/riscv: introduce asm/monitor.h
  xen/riscv: introduce asm/numa.h
  xen/riscv: introduce asm/p2m.h
  xen/riscv: introduce asm/regs.h
  xen/riscv: introduce asm/softirq.h
  xen/riscv: introduce asm/time.h
  xen/riscv: introduce asm/vm_event.h
  xen/riscv: add definition of __read_mostly
  xen/riscv: define an address of frame table
  xen/riscv: add required things to asm/current.h
  xen/riscv: add minimal stuff to asm/page.h to build full Xen
  xen/riscv: add minimal stuff to asm/processor.h to build full Xen
  xen/riscv: add minimal stuff to asm/smp.h to build full Xen
  xen: add RISCV support for pmu.h
  xen: add necessary headers to common to build full Xen for RISC-V
  xen/riscv: add minimal stuff to asm/mm.h to build full Xen
  xen/rirscv: add minimal amount of stubs to build full Xen
  xen/riscv: enable full Xen build
  test only riscv
  xxxen/riscv: WIP ( need advise )

 automation/gitlab-ci/analyze.yaml          |  16 -
 automation/gitlab-ci/build.yaml            | 544 ---------------------
 automation/gitlab-ci/test.yaml             | 308 ------------
 xen/arch/riscv/Kconfig                     |   1 +
 xen/arch/riscv/Makefile                    |  18 +-
 xen/arch/riscv/arch.mk                     |   4 -
 xen/arch/riscv/configs/tiny64_defconfig    |  19 +-
 xen/arch/riscv/early_printk.c              | 168 -------
 xen/arch/riscv/include/asm/altp2m.h        |  28 ++
 xen/arch/riscv/include/asm/asm_defns.h     |  44 ++
 xen/arch/riscv/include/asm/atomic.h        | 375 ++++++++++++++
 xen/arch/riscv/include/asm/bitops.h        | 288 +++++++++++
 xen/arch/riscv/include/asm/byteorder.h     |  16 +
 xen/arch/riscv/include/asm/cache.h         |   2 +
 xen/arch/riscv/include/asm/cmpxchg.h       | 373 ++++++++++++++
 xen/arch/riscv/include/asm/config.h        |  21 +
 xen/arch/riscv/include/asm/cpufeature.h    |  22 +
 xen/arch/riscv/include/asm/current.h       |  17 +
 xen/arch/riscv/include/asm/delay.h         |  17 +
 xen/arch/riscv/include/asm/device.h        |  55 +++
 xen/arch/riscv/include/asm/div64.h         |  22 +
 xen/arch/riscv/include/asm/domain.h        |  43 ++
 xen/arch/riscv/include/asm/event.h         |  34 ++
 xen/arch/riscv/include/asm/fence.h         |  12 +
 xen/arch/riscv/include/asm/flushtlb.h      |  31 ++
 xen/arch/riscv/include/asm/grant_table.h   |  61 +++
 xen/arch/riscv/include/asm/guest_access.h  |  29 ++
 xen/arch/riscv/include/asm/guest_atomics.h |  63 +++
 xen/arch/riscv/include/asm/hardirq.h       |  26 +
 xen/arch/riscv/include/asm/hypercall.h     |   4 +
 xen/arch/riscv/include/asm/io.h            | 132 +++++
 xen/arch/riscv/include/asm/iocap.h         |  16 +
 xen/arch/riscv/include/asm/iommu.h         |   7 +
 xen/arch/riscv/include/asm/irq.h           |  34 ++
 xen/arch/riscv/include/asm/livepatch.h     |   0
 xen/arch/riscv/include/asm/mem_access.h    |   4 +
 xen/arch/riscv/include/asm/mm.h            | 270 +++++++++-
 xen/arch/riscv/include/asm/monitor.h       |  53 ++
 xen/arch/riscv/include/asm/nospec.h        |  25 +
 xen/arch/riscv/include/asm/numa.h          |  38 ++
 xen/arch/riscv/include/asm/p2m.h           | 129 +++++
 xen/arch/riscv/include/asm/page.h          |  37 ++
 xen/arch/riscv/include/asm/paging.h        |   7 +
 xen/arch/riscv/include/asm/pci.h           |   7 +
 xen/arch/riscv/include/asm/percpu.h        |  33 ++
 xen/arch/riscv/include/asm/perfc_defn.h    |   0
 xen/arch/riscv/include/asm/processor.h     |  15 +
 xen/arch/riscv/include/asm/random.h        |   9 +
 xen/arch/riscv/include/asm/regs.h          |  27 +
 xen/arch/riscv/include/asm/setup.h         |   6 +
 xen/arch/riscv/include/asm/smp.h           |  23 +
 xen/arch/riscv/include/asm/softirq.h       |  16 +
 xen/arch/riscv/include/asm/spinlock.h      |  13 +
 xen/arch/riscv/include/asm/system.h        |  83 ++++
 xen/arch/riscv/include/asm/time.h          |  20 +
 xen/arch/riscv/include/asm/vm_event.h      |  52 ++
 xen/arch/riscv/include/asm/xenoprof.h      |   4 +
 xen/arch/riscv/lib/Makefile                |   1 +
 xen/arch/riscv/lib/find_next_bit.c         | 278 +++++++++++
 xen/arch/riscv/mm.c                        |  85 +++-
 xen/arch/riscv/setup.c                     |   9 +-
 xen/arch/riscv/stubs.c                     | 419 ++++++++++++++++
 xen/arch/riscv/traps.c                     |  25 +
 xen/arch/riscv/xen.lds.S                   |  10 +
 xen/common/memory.c                        |   1 +
 xen/common/symbols.c                       |   1 +
 xen/include/public/arch-riscv.h            |  90 ++++
 xen/include/public/arch-riscv/hvm/save.h   |  22 +
 xen/include/public/hvm/save.h              |   2 +
 xen/include/public/pmu.h                   |   2 +
 xen/include/public/xen.h                   |   2 +
 xen/include/xen/domain.h                   |   1 +
 xen/include/xen/iommu.h                    |   1 +
 xen/include/xen/sched.h                    |   1 +
 74 files changed, 3625 insertions(+), 1046 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/altp2m.h
 create mode 100644 xen/arch/riscv/include/asm/asm_defns.h
 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/byteorder.h
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h
 create mode 100644 xen/arch/riscv/include/asm/cpufeature.h
 create mode 100644 xen/arch/riscv/include/asm/delay.h
 create mode 100644 xen/arch/riscv/include/asm/device.h
 create mode 100644 xen/arch/riscv/include/asm/div64.h
 create mode 100644 xen/arch/riscv/include/asm/domain.h
 create mode 100644 xen/arch/riscv/include/asm/event.h
 create mode 100644 xen/arch/riscv/include/asm/fence.h
 create mode 100644 xen/arch/riscv/include/asm/flushtlb.h
 create mode 100644 xen/arch/riscv/include/asm/grant_table.h
 create mode 100644 xen/arch/riscv/include/asm/guest_access.h
 create mode 100644 xen/arch/riscv/include/asm/guest_atomics.h
 create mode 100644 xen/arch/riscv/include/asm/hardirq.h
 create mode 100644 xen/arch/riscv/include/asm/hypercall.h
 create mode 100644 xen/arch/riscv/include/asm/io.h
 create mode 100644 xen/arch/riscv/include/asm/iocap.h
 create mode 100644 xen/arch/riscv/include/asm/iommu.h
 create mode 100644 xen/arch/riscv/include/asm/irq.h
 create mode 100644 xen/arch/riscv/include/asm/livepatch.h
 create mode 100644 xen/arch/riscv/include/asm/mem_access.h
 create mode 100644 xen/arch/riscv/include/asm/monitor.h
 create mode 100644 xen/arch/riscv/include/asm/nospec.h
 create mode 100644 xen/arch/riscv/include/asm/numa.h
 create mode 100644 xen/arch/riscv/include/asm/p2m.h
 create mode 100644 xen/arch/riscv/include/asm/paging.h
 create mode 100644 xen/arch/riscv/include/asm/pci.h
 create mode 100644 xen/arch/riscv/include/asm/percpu.h
 create mode 100644 xen/arch/riscv/include/asm/perfc_defn.h
 create mode 100644 xen/arch/riscv/include/asm/random.h
 create mode 100644 xen/arch/riscv/include/asm/regs.h
 create mode 100644 xen/arch/riscv/include/asm/setup.h
 create mode 100644 xen/arch/riscv/include/asm/smp.h
 create mode 100644 xen/arch/riscv/include/asm/softirq.h
 create mode 100644 xen/arch/riscv/include/asm/spinlock.h
 create mode 100644 xen/arch/riscv/include/asm/system.h
 create mode 100644 xen/arch/riscv/include/asm/time.h
 create mode 100644 xen/arch/riscv/include/asm/vm_event.h
 create mode 100644 xen/arch/riscv/include/asm/xenoprof.h
 create mode 100644 xen/arch/riscv/lib/Makefile
 create mode 100644 xen/arch/riscv/lib/find_next_bit.c
 create mode 100644 xen/arch/riscv/stubs.c
 create mode 100644 xen/include/public/arch-riscv.h
 create mode 100644 xen/include/public/arch-riscv/hvm/save.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584327.914954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdZ-0005SN-PS; Wed, 16 Aug 2023 10:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584327.914954; Wed, 16 Aug 2023 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 1qWDdZ-0005Pn-H0; Wed, 16 Aug 2023 10:20:25 +0000
Received: by outflank-mailman (input) for mailman id 584327;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdX-0003R9-BC
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:23 +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 820176df-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:22 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3178dd81ac4so5365687f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:22 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 820176df-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181221; x=1692786021;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sOPCWOlsk//5NsNFMfUngW+bgS4vz6tmAAZqXsi40Z4=;
        b=PKVNMQkkTOpV3l9tkJj3H0QSlHMNSLndMXoNE+7vmmxVcp6e/UGlXZOMM7gU1tlRbd
         ty6W9OE0Ir4ELK+88L22Hhyu28Scx4+H19szE5i051RW5eyYtg/cGXEninyYml+iGfIv
         91Im2xVr4umnHywgh4XeqgnoZvX/j+n3Dn//Us/iJ5A8BgMQyisWYqlmIPR8GgvuibZl
         VFTXA84Bqicxza05fVyS+YwWX86E2Ddipq0lHchbosBlUi6/ec6zdMQOp+o0eFqy9JNe
         herM5t3+YgD/noSiI5YGN24D9rXl2DFHqIMuF62ATH02eT+Jd3tSrypz08bPkEbvyk5W
         U8Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181221; x=1692786021;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sOPCWOlsk//5NsNFMfUngW+bgS4vz6tmAAZqXsi40Z4=;
        b=AqyHPW8CGjo5iLDWZRirr67842IFdOiSQyoiJwYB6baeGM7OqLWtVEHCoOWoYqCFRH
         f30YUWQS+XPD23N4fsHoquCJgTIqBlrB3NF2Zw/X6PaVmmU4Y6AaYdrYLK6GH64xG4VO
         AFeiplE1JkIKyveGoXNwsmXUifmZcTZtF1EedMh/iT+k57T47gQzrIFMBcVMHBpgACZ4
         +nMnsDAT9ALtunlReYjZeoywmj6Q6Tl6QsxQLjBeISVcukMJ1zlwUX7cbLErSI3Z7U8B
         wE41Cs5k/+pv7rWYNMxyBT0fv0R2Ck5HB2SJTjjFlaiGp+2zCNZlH46dyuBHb0mupVra
         Ke1w==
X-Gm-Message-State: AOJu0YyomBR2bf7su7HVVHlhIZLa7yo8cdG0QUHZtFUWJ5sBGfyHRMos
	UJ7Z3c9lAdTP8JbyqoRc8gLqKcWTAViQwQSU
X-Google-Smtp-Source: AGHT+IH5f/2j8GEK6/A/WLEbAIIE4G86ByRyu5uqM7K5dHyYqSMKIE8ExZ8lXUxhe0bfM3IA20iyyg==
X-Received: by 2002:a05:6000:1801:b0:314:2f5b:2ce with SMTP id m1-20020a056000180100b003142f5b02cemr1075008wrh.12.1692181221599;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 09/57] xen/riscv: introduce asm/event.h
Date: Wed, 16 Aug 2023 13:19:19 +0300
Message-ID: <8589c3816ae402d0770d2043c58065617aa73e7c.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/event.h | 34 ++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/event.h

diff --git a/xen/arch/riscv/include/asm/event.h b/xen/arch/riscv/include/asm/event.h
new file mode 100644
index 0000000000..48630c77b3
--- /dev/null
+++ b/xen/arch/riscv/include/asm/event.h
@@ -0,0 +1,34 @@
+#ifndef __ASM_RISCV_EVENT_H__
+#define __ASM_RISCV_EVENT_H__
+
+void vcpu_mark_events_pending(struct vcpu *v);
+
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int local_events_need_delivery(void)
+{
+    return 0;
+}
+
+static inline void local_event_delivery_enable(void)
+{
+}
+
+/* No arch specific virq definition now. Default to global. */
+static inline bool arch_virq_is_global(unsigned int virq)
+{
+    return true;
+}
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584328.914968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdb-0005wC-Cq; Wed, 16 Aug 2023 10:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584328.914968; Wed, 16 Aug 2023 10:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdb-0005uQ-6i; Wed, 16 Aug 2023 10:20:27 +0000
Received: by outflank-mailman (input) for mailman id 584328;
 Wed, 16 Aug 2023 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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdY-0003RA-N2
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:24 +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 8276962a-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:23 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-31768ce2e81so5612683f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:23 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8276962a-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181222; x=1692786022;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RhAu67sMwHty1r+zQnhkcx9wQhoHYp8AlTSR9BpKnOg=;
        b=BZK1Qbn60qwsyRjemBEVOp4EIS1rYEYdpTgey/bDNK8gMJIBURKO39gh0it5Vii+PU
         3zTYqtXEnRfpD4E4PQQSTaRvfigcslFKUgDLOzckClQSkl4xVmVAeKQcDQfnnZyPyIOs
         eIcMV3ps+xVL2abMJHSmCL0bUz4ouvRAaY+hYJyX8gPsbVvcJ/huBv3kkiKz1ShX6Ox7
         UeLZfZj3lRt/Ua9UyJpdjAPF84al5ElTQK0s4ryY44VyGNmBveLNbHqbYuj5FDkvxUB4
         LOsXzmDH8IvvF4bLllWHgFdHy6+YFwk80JErr4UK+kv85j84AEY4IoQzFT1YFzv9PirL
         Mpow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181222; x=1692786022;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RhAu67sMwHty1r+zQnhkcx9wQhoHYp8AlTSR9BpKnOg=;
        b=g7oC0rR7r4VVMBrEx+zXdnJMDt+ZpYNF/EAhaEv3BftidJ16+CL74O5ns3U3wFP5Kp
         aaRl8HLuUnXWCNKpFlhRU4e0J/vzmJhfBd/TVl7DaGjTOOrRTpUSoryBtx7AOE4U337D
         RihhZ+MxF8V8sgBlhO5lVRB6T9xQhKQeTNGa+8mBiU2OmMidwIBM1qxGjtMdXbOYG8lw
         hLgE6hPgRam2n+p1ZBizFiTqnRQOOhOiT9vgvef3OmtmC++rODPBekT92+6QdQwmck2w
         z4sVCqbs9zLhsSI03WZab9X49MFhphtkYgRcVu/6fNHf7a7JDhVzeFN3WW4Amhu7l9Wi
         PHAA==
X-Gm-Message-State: AOJu0YyIB6IAcvh8VkW1QoVSmq33X/gb+5FpYtGdzzlg5n3UcVHptn6/
	Y2kAOnCs2/rXQM9hY70fbnU8uQFq28/UGGzf
X-Google-Smtp-Source: AGHT+IEqo1y2+vTE6x7fi404GmyxDTZnaB5k4zqpLpHzhDCJXGR1h4TK/nnO1+VMiVcp0Refwtrpow==
X-Received: by 2002:a5d:5303:0:b0:317:6348:8a9d with SMTP id e3-20020a5d5303000000b0031763488a9dmr1276628wrv.66.1692181222440;
        Wed, 16 Aug 2023 03:20:22 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 10/57] xen/riscv: introduce asm/grant_table.h
Date: Wed, 16 Aug 2023 13:19:20 +0300
Message-ID: <55a562f81b7bc6d308a1f2008daad6c5e0de0562.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/grant_table.h | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/grant_table.h

diff --git a/xen/arch/riscv/include/asm/grant_table.h b/xen/arch/riscv/include/asm/grant_table.h
new file mode 100644
index 0000000000..600fb10669
--- /dev/null
+++ b/xen/arch/riscv/include/asm/grant_table.h
@@ -0,0 +1,4 @@
+#ifndef __ASM_RISCV_GRANTTABLE_H__
+#define __ASM_RISCV_GRANTTABLE_H__
+
+#endif /* __ASM_RISCV_GRANTTABLE_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584329.914977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdc-00062X-94; Wed, 16 Aug 2023 10:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584329.914977; Wed, 16 Aug 2023 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 1qWDdb-00060J-Nq; Wed, 16 Aug 2023 10:20:27 +0000
Received: by outflank-mailman (input) for mailman id 584329;
 Wed, 16 Aug 2023 10:20:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdZ-0003R9-9P
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:25 +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 8378e00e-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:24 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-3fe8a158fcbso44441095e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:24 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8378e00e-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181224; x=1692786024;
        h=content-transfer-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/Z1GOv0L7eneEE03UUszqK5L6QB9SaAg0ZlPLu+8KY=;
        b=nY8c6UHXlOSIEzV1EUmuKYTtZRYZM6+OZt7TXs4smPLts6f9VjCuA51vPmiS+Wbd9Q
         QADtAsAR9g3jZQvoAcJK2ud00TLDOnAEZb0I3/xQoWDhzYYAreDOCMGoxiOYTCtcV0E6
         086E2dJlVeCozv5pirXSNqKdw8QflpqnncA90RNeB2KksM2to20adUgMNTednJtYMCF4
         A4rVdSviuXmi9msWwt60NLrcZJl4MLPooEEAoCh5AFtQsCZj/pu3bIEm3DqpOG9RlDib
         fgb6PEfffUITzg0FK8UgkovSBBTaKnvl2dfyqTS4ynm1fxuGWTYhyiOwkeoTFI2X+Dwa
         nBaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181224; x=1692786024;
        h=content-transfer-encoding:mime-version:references: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/Z1GOv0L7eneEE03UUszqK5L6QB9SaAg0ZlPLu+8KY=;
        b=LhhGiIYnSNz27XBn4QIQLU8g60p0gvmRihT5JSedXhcSTY0UKLKlvHcMUVheSZ5eJE
         YELPIuMY6YyS3oP9nkrx+i2/94hlCOwnniH10PLarV+tJbRrKOAV8qUkrGbKrJXVR+fq
         3XYTfczfYFF4nhnQP2vzjqHhFFHTsDToj7vj8w9LZkfHZFfmfA1BMeoPyVnV0AD9IO/0
         VtirYBm6zsvzyFRngmyFjIMaSZOf9KlrH4cyYMxA0KAIw3S7hpevCwRGiJ/woN6F9zwm
         YmDf1bwjXttHKm25ZRI/06kN4Hl3XzTE/1R5NLBKmi3GPTRWMbMNaSfvujK4TvS2VSBw
         yYng==
X-Gm-Message-State: AOJu0YyW2RuPzgbhenm6L3mueyMfNlGuXgAahC+GiYbpoJ7RJHbp/qoN
	zGrvvt6Du1zwoHzTjdLdiur4fuADSYhctK0A
X-Google-Smtp-Source: AGHT+IGxRneje/D4AvLeXzQcfk3RipsGhwAdKBYqpnjptg8mvedJt/mKWVR7QpRMIrSCcwsesyLP1Q==
X-Received: by 2002:adf:cd06:0:b0:316:ff0e:81b6 with SMTP id w6-20020adfcd06000000b00316ff0e81b6mr1441065wrm.32.1692181224118;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 12/57] xen/riscv: introduce asm/hypercall.h
Date: Wed, 16 Aug 2023 13:19:22 +0300
Message-ID: <35b62b1741e585e2c617ee39ff807468ad39875b.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/hypercall.h | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/hypercall.h

diff --git a/xen/arch/riscv/include/asm/hypercall.h b/xen/arch/riscv/include/asm/hypercall.h
new file mode 100644
index 0000000000..f58c2f2761
--- /dev/null
+++ b/xen/arch/riscv/include/asm/hypercall.h
@@ -0,0 +1,4 @@
+#ifndef __ASM_RISCV_HYPERCALL_H__
+#define __ASM_RISCV_HYPERCALL_H__
+
+#endif /* __ASM_RISCV_HYPERCALL_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584330.914980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdc-00068h-H6; Wed, 16 Aug 2023 10:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584330.914980; Wed, 16 Aug 2023 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 1qWDdc-00065W-4T; Wed, 16 Aug 2023 10:20:28 +0000
Received: by outflank-mailman (input) for mailman id 584330;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdZ-0003RA-NG
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:25 +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 82fe95de-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:24 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-3fe1fc8768aso63586685e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:24 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 82fe95de-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181223; x=1692786023;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q2Jdx+KwZKJQ07SwetjGwa6e6quzsbm65vjFWJ2VZjE=;
        b=asmzzdIeUYaKf4aosTs0YvHKz5h7T3WODoTTlyhSNgMp8Xn1Mr8DPR/QQ2Gw4EKrKp
         oCTFUhLqP7q3RKZXqb+Dw7rU5TzFwrnRu4ee9cIV2QgSztO/7mJiOw/lS7JplzcQA8IS
         jrXPTzHuEj5WdzpzDpbcxz6hvNwEyEbDfPcSKRhfXzs8A/CRtyDrupHScX5HFAFSOgts
         0EFnHOxSqY5DJF6wlMx7OBI9qxxKC0FdeLBAbS0051pz88Y1RJaJepMjitvFweQCrgsx
         zup7xiZITFUrvHykJfELZJDhIjS8g63F1pM2awpVuNMX0ezJhhdSa4MP8sesanDrJGWa
         Op7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181223; x=1692786023;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=q2Jdx+KwZKJQ07SwetjGwa6e6quzsbm65vjFWJ2VZjE=;
        b=T52ke+FhYLnl82nneaAlzEMKPI6VU5zCXgf0trwzHlVONR7LXFueVngjWAm+iHHx2y
         GopXENJ8dyZYLWq/FJOPXLIrfNxn8o0MiIbj1cEu98y9hjWgEG8tkKKjf/YCDgYXkEsT
         +bKizPadbqboDl/Rlj9DuQ/egM8KUMlse8WD3Y5Spwjjhg5nDeLf6rgZX3AShhA9Kcp8
         Y92adVAEiI/eUZQMGfOZIw+QfRPPkCaGfEY/SZjaTylgti4I2D2pgSVM//twBIP7+ifa
         gi2PmRmlXMJsV4pPl8cWi2YZYRnssVtew6v1WG9Fs0OUks6Nk3eyKdbN+h8oKdp/mBk8
         fSHQ==
X-Gm-Message-State: AOJu0YzvK8J7OZc2bqeddDVro8I3CdGcLWmP/bnvuDoMaXwar6iatvYW
	sVa5XCSjN5jaOQQIb5fPF4aFOQ2zxWNyJG/Q
X-Google-Smtp-Source: AGHT+IGgRaih8qQzEUvaYYV8ogI066zpN5T/FNlUkpZ7LcSBI3lFTX3yUhO3gzqTNs8Z8KHcwRstVA==
X-Received: by 2002:a5d:6386:0:b0:317:6849:2d39 with SMTP id p6-20020a5d6386000000b0031768492d39mr1098757wru.10.1692181223330;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 11/57] xen/riscv: introduce asm/guest_atomics.h
Date: Wed, 16 Aug 2023 13:19:21 +0300
Message-ID: <02e2850d01d0184b9a1f0c643de4879773c5ad49.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/guest_atomics.h | 49 ++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/guest_atomics.h

diff --git a/xen/arch/riscv/include/asm/guest_atomics.h b/xen/arch/riscv/include/asm/guest_atomics.h
new file mode 100644
index 0000000000..71b0b11a25
--- /dev/null
+++ b/xen/arch/riscv/include/asm/guest_atomics.h
@@ -0,0 +1,49 @@
+#ifndef __ASM_RISCV_GUEST_ATOMICS_H
+#define __ASM_RISCV_GUEST_ATOMICS_H
+
+/*
+ * TODO: implement guest atomics
+ */
+
+#define guest_testop(name)                                                  \
+static inline int guest_##name(struct domain *d, int nr, volatile void *p)  \
+{                                                                           \
+    (void) d;       \
+    (void) nr;      \
+    (void) p;       \
+                                                                            \
+    return 0;                                                               \
+}
+
+#define guest_bitop(name)                                                   \
+static inline void guest_##name(struct domain *d, int nr, volatile void *p) \
+{                                                                           \
+    (void) d;                                                               \
+    (void) nr;                                                              \
+    (void) p;                                                               \
+}
+
+guest_bitop(set_bit)
+guest_bitop(clear_bit)
+guest_bitop(change_bit)
+
+#undef guest_bitop
+
+guest_testop(test_and_set_bit)
+guest_testop(test_and_clear_bit)
+guest_testop(test_and_change_bit)
+
+#undef guest_testop
+
+
+#define guest_test_bit(d, nr, p) ((void)(d), test_bit(nr, p))
+
+#endif /* __ASM_RISCV_GUEST_ATOMICS_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584331.914989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdd-0006Hw-AZ; Wed, 16 Aug 2023 10:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584331.914989; Wed, 16 Aug 2023 10: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 1qWDdc-0006Em-NH; Wed, 16 Aug 2023 10:20:28 +0000
Received: by outflank-mailman (input) for mailman id 584331;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDda-0003R9-7p
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:26 +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 83fb8b42-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:25 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-31792ac0fefso5393308f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:25 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83fb8b42-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181225; x=1692786025;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0UtKgw2oGdpERvWUwkUZbK+iTn/OYQeQkSAVodhVdCY=;
        b=nYdPgK9vK1HgvizhwbQRbi+KOrKETYss93lQ6xz7ogSWYCQJz0cpvezPlaaH2opXrT
         cNMHj6f4T+gm+/w2DGAkKgye65lG8y+DGOr4zlHIQrUI9FP3ypJSPfx5niHdmEPuLvOp
         xxgkLPJbiYNxRQGm6dHQhEbAL3haTIgL0FjuWyx4Yazw0oENIl5uTT7FyXhuAKqJGvFH
         AR4NFrBOEzVR9z0S4l7JnCxph7F/0hfaO4RbwIEsfic7JDEYE01W4HJimOLO+rv4gQko
         b1vC/2UPlraBG/CNaPZkn6T0gYBIPNVeEPiu9hvR94JE8m6C2bQk7zKzop5KNWPTNwex
         t37w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181225; x=1692786025;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0UtKgw2oGdpERvWUwkUZbK+iTn/OYQeQkSAVodhVdCY=;
        b=X9c/OKvvyVWHNRumH5+7vMySYcRRzqtmqq7XK7aKT9UJrKdpw7rwj/GZQ6eg+41v9P
         D71F3x0CORMdzO9cGlJCbXexILY8TK/JtyJyedRQ9U8Rq8wXgbd9Rp439Vzql6ZGRlwg
         CrwkXufGM/h8EtItdYcpZEkaSu6GD3TjuqS/Clh9rUZrfcG4neko3NPx+0sQQaJRqbas
         aLSGGNvB54PyPW6GxnP0604PJG5bmxpv87WvVB4jjpwvk5HiHXth/DBd2cZxIwAMzddR
         +5EJush8dmpgkGdx7fvgInhgApDrBnZEZEAI3mzUZvELJTaCMMMHeGfcN59X+Rwg6CCY
         79JA==
X-Gm-Message-State: AOJu0YzSudc6K9xRTv6hiC7PmpRHcpdq028UWFJ6zWOIJ5idov6XS62K
	xdtiMJjI7AnpUVKca4s/Lk081dvPie0VYu77
X-Google-Smtp-Source: AGHT+IEL5QiktAOOhA8WQBarakEqazzrDcc9Z4mEOkyPLGEz6MXl7YbUD8sgqxOeKiKhWp61wuKRPg==
X-Received: by 2002:a05:6000:90e:b0:316:f25c:d0c0 with SMTP id cw14-20020a056000090e00b00316f25cd0c0mr1129118wrb.16.1692181224963;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 13/57] xen/riscv: introduce asm/iocap.h
Date: Wed, 16 Aug 2023 13:19:23 +0300
Message-ID: <6387a36bb349e88b5ee9da4271c87ec1a9889e65.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/iocap.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/iocap.h

diff --git a/xen/arch/riscv/include/asm/iocap.h b/xen/arch/riscv/include/asm/iocap.h
new file mode 100644
index 0000000000..c3147b1aed
--- /dev/null
+++ b/xen/arch/riscv/include/asm/iocap.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RISCV_IOCAP_H__
+#define __ASM_RISCV_IOCAP_H__
+
+#define cache_flush_permitted(d)                        \
+    (!rangeset_is_empty((d)->iomem_caps))
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584332.914995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDde-0006UH-6I; Wed, 16 Aug 2023 10:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584332.914995; Wed, 16 Aug 2023 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 1qWDdd-0006Pa-He; Wed, 16 Aug 2023 10:20:29 +0000
Received: by outflank-mailman (input) for mailman id 584332;
 Wed, 16 Aug 2023 10: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDda-0003R9-VA
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:26 +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 8468fecf-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:26 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3179ed1dfbbso5547275f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:26 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8468fecf-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181226; x=1692786026;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Tip3btQnevitBWFE0knEZRoff8z7sNBbm5q30mukKso=;
        b=YadRFyoHgDeEwPbZFsKoOLPl+ujEST5HIAKXwGvymSmOZxC1vSVoDyrnEc5UoTjfCK
         +W8OOyuJ0iXVl10uiATqd410qwhixVlK+iMIsW+4kDyIzdWHKai9zAto41C8lDbwXwk4
         KEcRKKrk52WfZIKBnAO14b3id/a8YBk7+8T9p63CZbAxmT+z8PKBq205qu6y3MTSJccf
         XSgi1ZExlrN6qznvDzaG+UjsNXuZ9FDiZK+a1SIRN/kPd+1PFw65y0Xyw/wDPhZaAGPk
         BqL8YyNvYR9M/FwA4rxjWmr2x6xKR22pplb00rh1lX/xOBhqYAG+0s6TA/BunOcKBi39
         oY9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181226; x=1692786026;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Tip3btQnevitBWFE0knEZRoff8z7sNBbm5q30mukKso=;
        b=GtvBAG6uOd2cITy5fV3+KKupgGdkh3WfnG2OwA1TdU6y+JUMV/jgo/fPTm0TEtaZGc
         5zLsEka6aIMYv+thN1TW1NfYbXAjjn9gosa44ez4UZfxUnLP9Yu54+1k8GWmQEjjGRBJ
         Vt0cew8YVEJcBC45raDiy3OL4aEi+xrwS7jZfngd50CSdfhYDTtchBvJIceT2rv4vSaV
         8QmXTR7wBz4jYTcKmy9Q4smilJG7X2hCup4SLBtHh142Gv4RPlHbUf1KzMAXjiS733rI
         dsOTi77W5ZfoSEjI1SwRokn7JkSo4X7etDkS1NdXdIpVh6labVCtn6c7gNFIJZpAKapl
         l3mQ==
X-Gm-Message-State: AOJu0Yyz+I1wOJFCfS4/aD0hxxuy+0oNfe8XZd30U78mE9u+B5OpWost
	W6TqcHs2wU7Su57VmzCA4h/ioNesqP1mjhRH
X-Google-Smtp-Source: AGHT+IEh6BaojS3I2Gw2A8NMmXWmGZFgcHmfHrVaSQx6GJUXTzF+EmHcTxy8ZpmJ5TL7FuWdYt+4QA==
X-Received: by 2002:a5d:4245:0:b0:317:9537:d741 with SMTP id s5-20020a5d4245000000b003179537d741mr1348456wrr.54.1692181225716;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 14/57] xen/riscv: introduce asm/iommu.h
Date: Wed, 16 Aug 2023 13:19:24 +0300
Message-ID: <778623157380cf687de887fbce3d6667d9dde37e.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/iommu.h | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/iommu.h

diff --git a/xen/arch/riscv/include/asm/iommu.h b/xen/arch/riscv/include/asm/iommu.h
new file mode 100644
index 0000000000..dd823e33ca
--- /dev/null
+++ b/xen/arch/riscv/include/asm/iommu.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_RISCV_IOMMU_H__
+#define __ASM_RISCV_IOMMU_H__
+
+struct arch_iommu {
+};
+
+#endif /* __ASM_IOMMU_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584333.915001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdf-0006ic-ED; Wed, 16 Aug 2023 10:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584333.915001; Wed, 16 Aug 2023 10:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDde-0006cm-FS; Wed, 16 Aug 2023 10:20:30 +0000
Received: by outflank-mailman (input) for mailman id 584333;
 Wed, 16 Aug 2023 10: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdb-0003R9-J4
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:27 +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 84d6d299-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:27 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3196fdb3238so3156202f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:27 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 84d6d299-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181226; x=1692786026;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=71CIAXnuJNquP7IQ8wIQUANRhLDWpZmO0GRxTwExAKA=;
        b=dm4/OyaRQoWbm1hketywopEAk/eCw1Nxb7Uxz2gh4vK00aoPa67P2RMMGbhQdJoe5s
         TWRN3i/qQYNDS2RTwVDpQx+puppHw8dDoWjsu/Fa9ko47v0jPJ8vkCuUqRMrNjffOWGz
         7iPOkJ06QHEqdD4fpuTvNzJHaHlAoMvuL9cAOsANXQKGiZCvvbDqIuSUd0W5QyxqhzZM
         +xJIOWCDDIq7Bx0TpXUGWXtZDYIfHopWoQ/rm4wJHltSLFiMbkrtOaxU6IwSPiZTgtZ7
         mowE213U+jUSsn6mYPONenl8wW6bWOP5LEUV/JlgDKubLcqiisbia1s4SUPmFSKaUWaG
         HXkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181226; x=1692786026;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=71CIAXnuJNquP7IQ8wIQUANRhLDWpZmO0GRxTwExAKA=;
        b=GUkp78JrK3jGaSVobTiSGr0uTSSKsNp4ZErkDDb3nJ2Y3Z+bml1M2n+rcy6ajekcks
         8d7U/lzQnlqdsNUlMiJ8D+U9Pii2JkkkeO8JIbrkpeeqbfmYU+gLS9n/Y769eoSrhhy4
         GffKChnFvbLeXlNwUHsnZuzXpwPshTX12CMChsLUY612iwDupcsAjo4NTLi3giIj6+1+
         X05uYZljiAJL/alxjrwlCZybMc5pGOM5ZFzZBEjPVZ8i/UPXy8qadjqi34d+3Za3JG3q
         eFipI0bQOjm5f+tSrBYud4PIEDCRHejgqrb/Lb6XaIi8Cj8OcO2Vh9Vgcm9Hs9uGgj2z
         +KlQ==
X-Gm-Message-State: AOJu0Yxa3aQNBQSbC5FUivQ3u11Ib441ktgwNunJ+r/jYJ2cGJ6A1iBI
	qTfTUSaL+XvzRDzrAN93X1q7x8pbRkEZHQoP
X-Google-Smtp-Source: AGHT+IGoLs4mnuhcZCbUEjodh3SLx38IQh97kcFi/434hrWmr8vsBniyYdXWlhXX47fVRbKzFP158A==
X-Received: by 2002:a5d:4991:0:b0:317:1911:fd7a with SMTP id r17-20020a5d4991000000b003171911fd7amr1078705wrq.12.1692181226445;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 15/57] xen/riscv: introduce asm/mem_access.h
Date: Wed, 16 Aug 2023 13:19:25 +0300
Message-ID: <3313d384bcc4d4f42388cb980d307283f4eeb18c.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/mem_access.h | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/mem_access.h

diff --git a/xen/arch/riscv/include/asm/mem_access.h b/xen/arch/riscv/include/asm/mem_access.h
new file mode 100644
index 0000000000..8668c55a4a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/mem_access.h
@@ -0,0 +1,4 @@
+#ifndef __ASM_RISCV_MEM_ACCESS
+#define __ASM_RISCV_MEM_ACCESS
+
+#endif
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584335.915015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdh-0007Fz-KM; Wed, 16 Aug 2023 10:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584335.915015; Wed, 16 Aug 2023 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 1qWDdg-00077n-UF; Wed, 16 Aug 2023 10:20:32 +0000
Received: by outflank-mailman (input) for mailman id 584335;
 Wed, 16 Aug 2023 10:20:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdd-0003RA-RY
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:29 +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 85495f00-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:27 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-318015ade49so5634143f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:28 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 85495f00-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181227; x=1692786027;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PRRBWp83boHb+zw6sm5d52jnQMLItidtewKC9LBmK0s=;
        b=acbGmCNgJ9BfzSje08D/GyvOXnkTZ6MKs8jLJ8CUZfNBanJDjBeMOUN5BIN7jFX+gI
         ICGv0cUDyLiXWAt5826PFLvpo7RAeuVPKJV7DjPgzUw3xSf2DHJSqB0wVRH1tveuO4UB
         1gsgQQMkOgnYRRFWXJskJseLRo/1J6hBBIpoXC0/T0PXLSaiAlQGtda2ybmcv+AxYQya
         QroNKhvDXogArrwwrl8VSQBLz/iWHqBvmssEkR32Yo01sIBg28mt28K5fdY66kDCwpWc
         L3pVrgS/PafOSgR+ukXy9wHzkI6WdGMJTAysgwwtO6HzvEuKsFGsQdGaVaS1lYnoJk0K
         9YCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181227; x=1692786027;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PRRBWp83boHb+zw6sm5d52jnQMLItidtewKC9LBmK0s=;
        b=UGkC+L8I8LKn8zQGJfzTMFYUVonJ7mKd98J3+uNPHW4/4zinzorooNwC0UFybHpnqQ
         l/e0ME3hJ3pWntyKYbaHpyr4q9sYfQYy2+BxzPwmwZfAaYwgs4hMsTGMCqV5Jfm9yTZv
         y2sNprrJZJ+Rrhfmc8QrgOHxChQWZeSA8bP/PZy2XYMOIDnp5Y0ycpT4zx9vjiBXCESP
         UEjdB5wEE3jsfnUDIKyjE9XkmQVZ+pVC9FsTlP0BO/5qT45VmwsiNG/HJOCAEUgHuc0X
         HtI7N5SAqdL376fi+Lf6Nnr0rIw/UvjTshNrDThB+rT2VZR0g49O0suQpHZ34C0p7sO4
         c2GA==
X-Gm-Message-State: AOJu0YzRdSg8nKuaJ7z23F2kVdT+a8UDjmDardqtdfI5ghYyJ6+wnAnF
	JOP9LgS8J7TBiV3yYZzsY2JMenbfwmiQuXm7
X-Google-Smtp-Source: AGHT+IFBPfRX+VhcbMwYOZ7HBeoHmuo12zcgNhpbd6Un+nAGIc1pXN2RRVMVOJjiGbz+QSxC8otRAA==
X-Received: by 2002:a5d:474a:0:b0:319:7c7d:8c1 with SMTP id o10-20020a5d474a000000b003197c7d08c1mr1274785wrs.18.1692181227193;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 16/57] xen/riscv: introduce asm/nospec.h
Date: Wed, 16 Aug 2023 13:19:26 +0300
Message-ID: <f93d0388d94255de3f40408345192684dd6302af.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/nospec.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/nospec.h

diff --git a/xen/arch/riscv/include/asm/nospec.h b/xen/arch/riscv/include/asm/nospec.h
new file mode 100644
index 0000000000..55087fa831
--- /dev/null
+++ b/xen/arch/riscv/include/asm/nospec.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
+
+#ifndef _ASM_RISCV_NOSPEC_H
+#define _ASM_RISCV_NOSPEC_H
+
+static inline bool evaluate_nospec(bool condition)
+{
+    return condition;
+}
+
+static inline void block_speculation(void)
+{
+}
+
+#endif /* _ASM_RISCV_NOSPEC_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584336.915021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdj-0007Xc-36; Wed, 16 Aug 2023 10:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584336.915021; Wed, 16 Aug 2023 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 1qWDdi-0007VB-93; Wed, 16 Aug 2023 10:20:34 +0000
Received: by outflank-mailman (input) for mailman id 584336;
 Wed, 16 Aug 2023 10:20: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDde-0003R9-2N
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:30 +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 8647627b-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:29 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-317c3ac7339so5414514f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:29 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8647627b-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181229; x=1692786029;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v6/TWt8JyUliAgL0VQ9PeLBO2G1fGORJ9yn65OnmJ4U=;
        b=I+5Nqq1AycjwHVxZF/DsdtKPQOyyfDk1IyIvnOX8ulAS6SlCHGRKInO/9Ad0k+q4GL
         qqmcwYI2ZzDODWAITgGFoK+e1u1Ji+ToSOw5bvWuVzIwp2mvh38UwWngkDaWd7Zxkane
         8IBNhUs+6N9VxIVU18DUR2YxCdyKRnqvzkzm9WJTMRdFaCt/PnNda2+zjpiZw7KEboUR
         9Wt71u1Ber212slFrk3C7g1tINh25t5GPJZZPP8P1rpIL7w+RBWpew++AxeIREigKyE2
         B3ibj+rEA2gcbq3Q5jPsP9H2DVbYQVkTrqM+QhMbz9vV9LVYbzgBwxX+iPFGNpvZcQlh
         8aIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181229; x=1692786029;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=v6/TWt8JyUliAgL0VQ9PeLBO2G1fGORJ9yn65OnmJ4U=;
        b=e7gBnhD4BiHWB0gqEzh1D+siKPBWIzDTVI/VhAfhMem+dRMVBE5lcEgeUtsXOTUD8T
         E52tyOhgK7Fc+ctBdYXWUI2HTKcw9gO63rIcNu63jG7OIaBFCqi+O6g1knXR/sNiaLc2
         RUjaROuMmYKeFr+Zmguh7izUVhZ0f1C12z1VNKbL4VwelQKVP9dy8fEhOjTF++h/D78v
         IgY+72bhNTESwDBo323NSN6VP+8ep/HsLSbf8CVwO/pCGOR9sF4GC3TmI+CMkEmf30Yg
         HmxS7HxJEnLOAqwsXVwxgJMBwUNhBnaDt4FW7KZhbL4GLo8rbmdSGg/YO1/bl1hDbXID
         Gikw==
X-Gm-Message-State: AOJu0Ywv1QNpb/N2VK2uw3Lw834osfjU8nzKpLXhkPbSNAzLgc51lq56
	zYgtvKyMu6B/MZoSNKIiHiHpu9p5NX1dHXhI
X-Google-Smtp-Source: AGHT+IFAOEgWdsxQHRgM8pPlFS9Qu1nW/WAL7gnra6ITXmlqiWLCRHhCviGf4fr6QgZ3esNJb4QGiA==
X-Received: by 2002:a5d:46d2:0:b0:319:8a2f:bdf0 with SMTP id g18-20020a5d46d2000000b003198a2fbdf0mr1218455wrs.17.1692181228707;
        Wed, 16 Aug 2023 03:20:28 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 18/57] xen/riscv: introduce asm/random.h
Date: Wed, 16 Aug 2023 13:19:28 +0300
Message-ID: <93fb3701ad107c4cb772eacad215e70016ebf348.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/random.h | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/random.h

diff --git a/xen/arch/riscv/include/asm/random.h b/xen/arch/riscv/include/asm/random.h
new file mode 100644
index 0000000000..8d5df8a9b6
--- /dev/null
+++ b/xen/arch/riscv/include/asm/random.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_RISCV_RANDOM_H__
+#define __ASM_RISCV_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_RISCV_RANDOM_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:20:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584337.915032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDdk-0007ka-Mz; Wed, 16 Aug 2023 10:20:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584337.915032; Wed, 16 Aug 2023 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 1qWDdj-0007h6-GF; Wed, 16 Aug 2023 10:20:35 +0000
Received: by outflank-mailman (input) for mailman id 584337;
 Wed, 16 Aug 2023 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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDde-0003RA-Rt
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:30 +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 85bc32f3-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:28 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-3fea0640d88so23014235e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:28 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 85bc32f3-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181228; x=1692786028;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Jq7tiNqp5YFiMIg50pr6QH9HzTTROsq98vXqhhoTzT0=;
        b=LcVuL0bEeFyXjl0wA4pwWlveYRuKxkQ/43ywwZd9goL35qZccORzZNeG9i/2Uinx+k
         spNMSUEE5GdCGrc/lvzeOhkuDXPejHA4OoV0f7yQOHU2tW2Uur5PUDqRYz5Xt+YQQDjt
         JKm1V9CkR4xGNd6+V7CJ3TM8uTxgMmNH6qtnofzNUEKQRB147uj1grdeoaDptO4t6gnA
         HF+/zootWNGmw1D+MnNdWlst4zS95xkV8yVfgEEIk71iBGPtFldO1RjS9h0FSSFM3sG5
         NzR1osCU+xniF4Z+mQP5f7JKRihOBjO5CLl5czZGeFTuqIIx5QypgjgQef24xsIsiOKD
         AWiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181228; x=1692786028;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Jq7tiNqp5YFiMIg50pr6QH9HzTTROsq98vXqhhoTzT0=;
        b=EbFDj8biuDh7S0Ayenafcvvx0jK+iv+rq5IoA7ayWzDmN/HHXxKc+hjqNXHz4VwOtm
         OIrwYFJuY4Jg3PjB3z41hU5DdKDywzpHC1mUwW9RHljLgfkL1/ir+4tYrFIW42XZIeeP
         qjpDHnWvQIensdVxCQR3TKa9Hhsg01aNWFZvAPbMi6K+m8TQqHxh2rrXzM42KYW/r/Gq
         JE4HE8+TVx5CMG3Z3sgO7OmTIFYYDGFfMgLHI339Vd7n0RH3QS+z7QtDiF93N5s4NQRE
         tHTLcS3/Mwx3fhmKVtvVJhDJtso5M4kgpYsVPRUvZREdoFOHKFsA+moXqgcbtJI8+GdK
         pFwQ==
X-Gm-Message-State: AOJu0YztdcAcWSeBH8fWnnfL/okJcl6O8zlBgh+XXt41WgYNtFH63qU6
	vJr74/eN+divXrridn7RboNOL2Skx0ON6LY6
X-Google-Smtp-Source: AGHT+IE2R65Hvs46ab245kJYtFbTQgd22CGOtNZPRWkNYiYCnpTu6xqpamrl4+M5JhNE/dcRYyoong==
X-Received: by 2002:a05:6000:10c8:b0:317:3deb:a899 with SMTP id b8-20020a05600010c800b003173deba899mr1267030wrx.1.1692181227926;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 17/57] xen/riscv: introduce asm/pci.h
Date: Wed, 16 Aug 2023 13:19:27 +0300
Message-ID: <4eb79794a495bc5987a26e939599fbf47ad23113.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/pci.h | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/pci.h

diff --git a/xen/arch/riscv/include/asm/pci.h b/xen/arch/riscv/include/asm/pci.h
new file mode 100644
index 0000000000..bd1fc54696
--- /dev/null
+++ b/xen/arch/riscv/include/asm/pci.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_RISCV_PCI_H__
+#define __ASM_RISCV_PCI_H__
+
+struct arch_pci_dev {
+};
+
+#endif /* __ASM_PCI_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584376.915063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDmz-0006df-GR; Wed, 16 Aug 2023 10:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584376.915063; Wed, 16 Aug 2023 10:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDmz-0006dY-Du; Wed, 16 Aug 2023 10:30:09 +0000
Received: by outflank-mailman (input) for mailman id 584376;
 Wed, 16 Aug 2023 10:30:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe0-0003RA-1Q
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:52 +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 8f0b964a-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:44 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-31977ace1c8so2581488f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:44 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 8f0b964a-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181243; x=1692786043;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3qabthrf3WuIFhKG0aPx+f/gl7fkW41S3cfH+4WOWAo=;
        b=o9prk/8bIkhqAjR8Sc2hhLFOUp4vssSSvpzG8j2XHj4dAehdtxhCV+jVJL8WwwvQU1
         OImpm8Ec7ICTf7x2wU9VHczSa0RBGsLmiHQLsBGgjD62IkuMR24Qgl53Jw91JsZAFA3R
         R23qW0jWH3rjtSHli/wVbpyxX664/hupW4lm4mLDpJ9Gz5ciMmloYM/eOzNJLoqUd5hx
         AZSCtkCwmeNoom+KhE86yTgFiZfAKMGYhHwfQHx2SJdp1R23BDQKl4ttEdtPai5tgGCO
         iPUFqAHRXmXziRbklZbxwOnushJ8YrnW2IKVTZvBHQkksy/Wafl7zOUSCLZijU1A4SNI
         0LXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181243; x=1692786043;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3qabthrf3WuIFhKG0aPx+f/gl7fkW41S3cfH+4WOWAo=;
        b=k2xSmeZyK6mQf3DUblQk+XcMpP5eFzETJC1wT0bnPXC6mibuFlQTYmqOJ8RtkWe2qi
         l13XhXWM81X3dqrm0PuSwK1WQqF5YnjsIq/wWL6YG6nS8bSifutsJSg8gVm/15nFP0o1
         adMntK2w6YqE3HBjlXYLf68UZbvvqdDHDcDb5KswGjIxPY623umWAQ9oxlrwQymucEMd
         RqiQF7ajZOkBk6VrKWfaW1EHCaY8byiwcSGLX2hVgBvK8kTk0rBj0iE2G6QyUtlz/GBi
         hWt70j5JhpGK1xC76VIkAkK1Oc6z4vj79CM3Zss8UDVlqKelqA9Lj53y8pCoYMxpOCu3
         LtSA==
X-Gm-Message-State: AOJu0Yzq6LhD6DDL8R7GE85oFKTwny82ryG3xsrt1k9wP9BNXc5urz0s
	AZXQeRogYAUonw/OAUBmbHXimui4B4Qc83S6
X-Google-Smtp-Source: AGHT+IG/P0EQNkrXaE3fVLPqB+wQhZBB6/ClOFaMSvF0M3DhkohnxG/nvZZpwwwjzvQVQWoWbQMLhw==
X-Received: by 2002:a5d:664f:0:b0:317:1b08:b317 with SMTP id f15-20020a5d664f000000b003171b08b317mr1057011wrw.6.1692181243592;
        Wed, 16 Aug 2023 03:20:43 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 35/57] xen/riscv: introduce asm/domain.h
Date: Wed, 16 Aug 2023 13:19:47 +0300
Message-ID: <a7c6142549c7bf004e87cccfdf12b8d703a0b812.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/domain.h | 43 +++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/domain.h

diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
new file mode 100644
index 0000000000..680c357d4d
--- /dev/null
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -0,0 +1,43 @@
+#ifndef __ASM_RISCV_DOMAIN_H__
+#define __ASM_RISCV_DOMAIN_H__
+
+#include <xen/xmalloc.h>
+#include <public/hvm/params.h>
+
+struct hvm_domain
+{
+    uint64_t              params[HVM_NR_PARAMS];
+};
+
+#define is_domain_direct_mapped(d) ((void)(d), 0)
+
+struct arch_vcpu_io {
+};
+
+struct arch_vcpu {
+};
+
+struct arch_domain {
+    struct hvm_domain hvm;
+};
+
+#include <xen/sched.h>
+
+static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void)
+{
+    return xmalloc(struct vcpu_guest_context);
+}
+
+static inline void free_vcpu_guest_context(struct vcpu_guest_context *vgc)
+{
+    xfree(vgc);
+}
+
+struct guest_memory_policy {};
+static inline void update_guest_memory_policy(struct vcpu *v,
+                                              struct guest_memory_policy *gmp)
+{}
+
+static inline void arch_vcpu_block(struct vcpu *v) {}
+
+#endif /* __ASM_RISCV_DOMAIN_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584380.915068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDmz-0006gg-PZ; Wed, 16 Aug 2023 10:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584380.915068; Wed, 16 Aug 2023 10:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDmz-0006fv-LS; Wed, 16 Aug 2023 10:30:09 +0000
Received: by outflank-mailman (input) for mailman id 584380;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdj-0003RA-8a
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:35 +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 888825d3-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:33 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-3fe12820bffso57886275e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:33 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 888825d3-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181232; x=1692786032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BodjPyF7hN8jFqrTn+1wj+bOMAjusyYyrqc8QFB1jzg=;
        b=HkCDgi9n6tQ9C5lhIXzCr0+DfllFxPGuvYsvQtmqnI5WsochgUvv3ml9sG2Q4NhcB0
         E85NOg9VJXG/Q7QD6HbvOuQeQOF3cTjyf2PDhr8f7ZM/7fbYLBSU8ORLuS45UKdiOsiB
         6oBW8OM9Hkt8B+Cthj88IQhzheMT3LB2XbLj7CViWYSXRPtCq8ziLqD0lixKnLqxzxk5
         VHIFH+8tf+HYaXJQpZFV7Mj7Tm5I0M+XGV58pHm2ytNqSsODnjUCim+mdbhBDS79jdhD
         OtUWZDUaAxawoA5BAsMPAY/V7F70s29p0O7ebvJ6zucso2EMPJKOKNhRMT/PAoMYcRF7
         rnaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181232; x=1692786032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BodjPyF7hN8jFqrTn+1wj+bOMAjusyYyrqc8QFB1jzg=;
        b=Nj/+zmTtXlURKwrcjfev2GXu8jODuTTSboIriY6rAfqP4g4ykhPD1HBdSNOoOh1UJG
         Df5ZVillNt7U2HS+XGXDZCI4YB+vqImJloWLPFd1i5BE5BDm3kaUFrQeeRWx4A6BIOrI
         tDkhYirK1nC87Cxbj9anLDojxfbGn7nRiALswF1YJwndWLSKKGVdqNbgCk02RDWCEITb
         L7qEKrFszWasA7gA46zWWWj+l9KBAVer5TBQE0Y1/VpSxPm2Et26ugfyiO5mycEl1WmN
         wzEZv+3DlXh9CeuYowlKwefFLyRhrvUW/+Rbzq/cANVgc/bHTf4BGMdgi7H/IdiMISuP
         LXKA==
X-Gm-Message-State: AOJu0YzthjUEDahYSX/sp6Uraj6Iy6d0GA6tWV9V6qVrMuonkmCYKgaT
	vj7GflDhTuglyOXJGLfiyUZBiyRbs2nbZyin
X-Google-Smtp-Source: AGHT+IEOP8bGGJYZcq2WSde23c5qTD6mqb270EoUzb1fPrG7QDm8CUAKy998B8RfVbu6mEInkSyz3g==
X-Received: by 2002:a05:600c:204e:b0:3fe:21c2:7d81 with SMTP id p14-20020a05600c204e00b003fe21c27d81mr1114591wmg.35.1692181232458;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 22/57] xen/riscv: introduce bitops.h
Date: Wed, 16 Aug 2023 13:19:33 +0300
Message-ID: <dd73d5d8ff46c1037845b0535349aa835abff495.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/bitops.h | 288 ++++++++++++++++++++++++++++
 1 file changed, 288 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..24a49c499b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -0,0 +1,288 @@
+/* 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>
+
+#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 __set_bit(n,p)          set_bit(n,p)
+#define __clear_bit(n,p)        clear_bit(n,p)
+
+#define __AMO(op)	"amo" #op ".w"
+
+#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
+ *
+ * This operation may be reordered on other architectures than x86.
+ */
+static inline int __test_and_set_bit(int nr, volatile void *p)
+{
+	volatile uint32_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
+ *
+ * This operation can be reordered on other architectures other than x86.
+ */
+static inline int __test_and_clear_bit(int nr, volatile void *p)
+{
+	volatile uint32_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: there are no guarantees that this function will not be reordered
+ * on non x86 architectures, so if you are writing portable code,
+ * make sure not to rely on its reordering guarantees.
+ *
+ * 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 uint32_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
+ *
+ * Note: there are no guarantees that this function will not be reordered
+ * on non x86 architectures, so if you are writing portable code,
+ * make sure not to rely on its reordering guarantees.
+ */
+static inline void clear_bit(int nr, volatile void *p)
+{
+	volatile uint32_t *addr = p;
+
+	__op_bit(and, __NOT, nr, addr);
+}
+
+static inline int test_bit(int nr, const volatile void *p)
+{
+	const volatile uint32_t *addr = (const volatile uint32_t *)p;
+
+	return 1UL & (addr[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));
+}
+
+#undef __test_and_op_bit
+#undef __op_bit
+#undef __NOP
+#undef __NOT
+#undef __AMO
+
+static inline int fls(unsigned int x)
+{
+    return generic_fls(x);
+}
+
+static inline int flsl(unsigned long x)
+{
+    return generic_flsl(x);
+}
+
+#define test_and_set_bit   __test_and_set_bit
+#define test_and_clear_bit __test_and_clear_bit
+
+/* Based on linux/include/asm-generic/bitops/find.h */
+
+#ifndef find_next_bit
+/**
+ * find_next_bit - find the next set bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ */
+extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
+		size, unsigned long offset);
+#endif
+
+#ifndef find_next_zero_bit
+/**
+ * find_next_zero_bit - find the next cleared bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ */
+extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
+		long size, unsigned long offset);
+#endif
+
+/**
+ * find_first_bit - find the first set bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The maximum size to search
+ *
+ * Returns the bit number of the first set bit.
+ */
+extern unsigned long find_first_bit(const unsigned long *addr,
+				    unsigned long size);
+
+/**
+ * find_first_zero_bit - find the first cleared bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The maximum size to search
+ *
+ * Returns the bit number of the first cleared bit.
+ */
+extern unsigned long find_first_zero_bit(const unsigned long *addr,
+					 unsigned long size);
+
+#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
+
+/**
+ * ffs - find first bit in word.
+ * @word: The word to search
+ *
+ * Returns 0 if no bit exists, otherwise returns 1-indexed bit location.
+ */
+static inline unsigned long __ffs(unsigned long word)
+{
+	int num = 0;
+
+#if BITS_PER_LONG == 64
+	if ((word & 0xffffffff) == 0) {
+		num += 32;
+		word >>= 32;
+	}
+#endif
+	if ((word & 0xffff) == 0) {
+		num += 16;
+		word >>= 16;
+	}
+	if ((word & 0xff) == 0) {
+		num += 8;
+		word >>= 8;
+	}
+	if ((word & 0xf) == 0) {
+		num += 4;
+		word >>= 4;
+	}
+	if ((word & 0x3) == 0) {
+		num += 2;
+		word >>= 2;
+	}
+	if ((word & 0x1) == 0)
+		num += 1;
+	return num;
+}
+
+/**
+ * ffsl - find first bit in long.
+ * @word: The word to search
+ *
+ * Returns 0 if no bit exists, otherwise returns 1-indexed bit location.
+ */
+static inline unsigned int ffsl(unsigned long word)
+{
+    int num = 1;
+
+    if (!word)
+        return 0;
+
+#if BITS_PER_LONG == 64
+    if ((word & 0xffffffff) == 0) {
+        num += 32;
+        word >>= 32;
+    }
+#endif
+    if ((word & 0xffff) == 0) {
+        num += 16;
+        word >>= 16;
+    }
+    if ((word & 0xff) == 0) {
+        num += 8;
+        word >>= 8;
+    }
+    if ((word & 0xf) == 0) {
+        num += 4;
+        word >>= 4;
+    }
+    if ((word & 0x3) == 0) {
+        num += 2;
+        word >>= 2;
+    }
+    if ((word & 0x1) == 0)
+        num += 1;
+    return num;
+}
+
+/*
+ * 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))
+
+/**
+ * find_first_set_bit - find the first set bit in @word
+ * @word: the word to search
+ *
+ * Returns the bit-number of the first set bit (first bit being 0).
+ * The input must *not* be zero.
+ */
+static inline unsigned int find_first_set_bit(unsigned long word)
+{
+        return ffsl(word) - 1;
+}
+
+/**
+ * hweightN - returns the hamming weight of a N-bit word
+ * @x: the word to weigh
+ *
+ * The Hamming Weight of a number is the total number of bits set in it.
+ */
+#define hweight64(x) generic_hweight64(x)
+
+#endif /* _ASM_RISCV_BITOPS_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584382.915085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDn7-0007Dx-1C; Wed, 16 Aug 2023 10:30:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584382.915085; Wed, 16 Aug 2023 10: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 1qWDn6-0007Do-SZ; Wed, 16 Aug 2023 10:30:16 +0000
Received: by outflank-mailman (input) for mailman id 584382;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeE-0003R9-LT
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:06 +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 97c7b934-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:59 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-317b31203c7so5820686f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:58 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97c7b934-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181258; x=1692786058;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9q2zT/VxjHIn8Cghl8LQb45xQzWmcTLXNJeuMOWtX3M=;
        b=E4g7mJYSL+wxnqOsmH8WOX+iQ2KDvTVxjdJNgLcSlqtx2PvfKULWF7qPG6KURi3FTA
         cmasPgIIjuZLvpW75MkuzgTauTeW2wSiiwGY+0GmZm3YaGLPDv4DLfwxaarmHDuKiSV7
         w7hI/PrYLqGPG1mgP8K4MqWXYBuJstrJJSmxeLQNv8ZMN4aLPcXYsLnCSInmb/J+iZaG
         QHy6qc4CxQ4wytYsB4UKT/S2x4Vz7Cz/v4DE/KpOOMQjkQpjxXuoVscp+77NNDwfnjA/
         M6ZtKlNmicHIEhRRonVTURnusa9LSxzT1boBpxwhMt5C7UZ3ZL0SPUHAoP8q3E3g7GuM
         UTtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181258; x=1692786058;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9q2zT/VxjHIn8Cghl8LQb45xQzWmcTLXNJeuMOWtX3M=;
        b=hvaMqqOOe7FucVtS6lL0mzhD0LG0b4uR5Xu05JkpG5v7vx3NBbqErH5HVEqdj+lNiv
         tgjIsgkxVJEaoy08CeePVN+pJnfYbALz+XkXPZBJsnGxV62w2FyF7PhWErLqz3zowbd7
         X6TDdtI/oUdQIuQ+NQsV/PcKp2c0SXRInXsvld9Lv1g/1GLfTSZOP3Au47J09sCYSVbU
         77GsO+ghi2CGYehHzCXDSO90jLC2m6aep/KSdJrNG62DPym6vH+GmMaH8B8onpwPkXhH
         hmlUOx2YgmUu7g5kCkhPAk1pXBk+QHmXRi1NqQidRUf/DjBK3vUyIOCJvwmwTHDIVPEi
         Y/Fw==
X-Gm-Message-State: AOJu0YwekHwOxgegQtXl7J3AV0NYwXJtvMe4p6Bu2s/px1bHpBtRSM//
	irV1NqHqAI4tiljyOabcvZHMQtPro8NwSMdi
X-Google-Smtp-Source: AGHT+IGWRvizebIcgJvp9+wt7uHR134epjVXNLpJ188yuTQVc2xUMvT/5XzySfG5Fraa31iVv0D+sQ==
X-Received: by 2002:adf:f5cd:0:b0:319:6327:6adb with SMTP id k13-20020adff5cd000000b0031963276adbmr952470wrp.70.1692181258187;
        Wed, 16 Aug 2023 03:20:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 52/57] xen: add necessary headers to common to build full Xen for RISC-V
Date: Wed, 16 Aug 2023 13:20:05 +0300
Message-ID: <8a0ba03485f42ad3fdfaaaa8eb06caf63f4205ec.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mostly patch was taken from the PPC patch series so can be skipped
during review:

https://lore.kernel.org/xen-devel/2c9eb4fc175a1bdd21293f2e2611d8e21991636d.1691016993.git.sanastasio@raptorengineering.com/#Z31xen:common:symbols.c

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/common/memory.c      | 1 +
 xen/common/symbols.c     | 1 +
 xen/include/xen/domain.h | 1 +
 xen/include/xen/iommu.h  | 1 +
 xen/include/xen/sched.h  | 1 +
 5 files changed, 5 insertions(+)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index b1dcbaf551..fa165ebc14 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -28,6 +28,7 @@
 #include <asm/current.h>
 #include <asm/hardirq.h>
 #include <asm/p2m.h>
+#include <asm/page.h>
 #include <public/memory.h>
 #include <xsm/xsm.h>
 
diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 9377f41424..691e617925 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -19,6 +19,7 @@
 #include <xen/virtual_region.h>
 #include <public/platform.h>
 #include <xen/guest_access.h>
+#include <xen/errno.h>
 
 #ifdef SYMBOLS_ORIGIN
 extern const unsigned int symbols_offsets[];
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index d35af34841..767127b440 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -4,6 +4,7 @@
 
 #include <xen/types.h>
 
+#include <public/domctl.h>
 #include <public/xen.h>
 #include <asm/domain.h>
 #include <asm/numa.h>
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59f..7368df9138 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -24,6 +24,7 @@
 #include <xen/page-defs.h>
 #include <xen/pci.h>
 #include <xen/spinlock.h>
+#include <xen/errno.h>
 #include <public/domctl.h>
 #include <public/hvm/ioreq.h>
 #include <asm/device.h>
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index b4f43cd410..d8c8dd85a6 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -21,6 +21,7 @@
 #include <xen/smp.h>
 #include <xen/perfc.h>
 #include <asm/atomic.h>
+#include <asm/current.h>
 #include <xen/vpci.h>
 #include <xen/wait.h>
 #include <public/xen.h>
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584387.915094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnG-0007ki-Et; Wed, 16 Aug 2023 10:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584387.915094; Wed, 16 Aug 2023 10:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnG-0007kU-9M; Wed, 16 Aug 2023 10:30:26 +0000
Received: by outflank-mailman (input) for mailman id 584387;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeG-0003RA-3c
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21: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 958c9822-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:55 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-318015ade49so5634453f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:55 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 958c9822-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181254; x=1692786054;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=k/ISEP/S/uE45uvIZORyRNlJpLmUUnoCtEck7vyhZ1Q=;
        b=T59b8SoqVBzvCdmrWMPWfAQMfmTZGR6cLKoy9YVgO4KXTrUNBPPxXdvsHTANCmMQCt
         nOCfEZd1R3VtSgMeK5C8CDg3vlibStjm+VA4yJbdDwOnQ90815GBGVelZLClwX4EI09y
         Wx21PxAoEKfGB/8jH2AiwgRFKeg8qT8opew2OygXdjqhzBtO+ZUE6hQPtX3XVsojztbj
         FMDqbYbcB/lr19xXCcueVLBlt1257Z2oPPpA4hO2k8eOlaSOa0OZkbx3xWu0nx+/htEP
         9zS3MKkzoQilUa5shf6FUm0P6SAB+CLc9/l0GjAhYXOMgOQSHt4KhyOZ1ishkYhECvrV
         3HGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181254; x=1692786054;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=k/ISEP/S/uE45uvIZORyRNlJpLmUUnoCtEck7vyhZ1Q=;
        b=VwvadEZ6xzmKt9k7hirLWtq+O/JfOO6WLf91EvokevkslmTNXY5ql9W3xsIIFDJXxu
         /O81thI6uAYnJafq6MFjbV1J7QN8+Ih/wma/FrnB3Bj1udt9++lfL9hJkkE0wDBF5d1b
         sb/aPZO0JENkbSDnu5EQ+dZp6blmwLCXhet+9HvFiWU6i3wBkyVrUWdFCXnmZpMSPzet
         13gdBibBBhz3vhS7Qalqx9Ev9mJA+S++0kyFgmis/ZaBCvxiCjH1WJ/gKgfU/4lw+MFC
         ba6gzMxailIyS0PdaWWbecVvPUxrRaIMJv+J6W22tVvAoJ2F/dHCq35yI8JyR/uTAueQ
         PzoA==
X-Gm-Message-State: AOJu0YyEdR36AuVOfxZCyci3xsMop/VlS8lumtA6y80G3DdltoW345xt
	dY5luOle+Dxs6coZsONQ0VHN1lmsx3TpxV87
X-Google-Smtp-Source: AGHT+IGH4yc9AqjguvfFIqypBM95mfbk8HrcYp11a+yp95e0Lyx9YRubRBM7IEVa41C/UbLdgDN8lQ==
X-Received: by 2002:adf:ed8f:0:b0:317:60c9:e826 with SMTP id c15-20020adfed8f000000b0031760c9e826mr1216770wro.45.1692181254473;
        Wed, 16 Aug 2023 03:20:54 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 48/57] xen/riscv: add minimal stuff to asm/page.h to build full Xen
Date: Wed, 16 Aug 2023 13:20:01 +0300
Message-ID: <6337d25f0df323dc26c747ce8d07b77ccee07f2f.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/page.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 95074e29b3..abbae75aaf 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,9 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+/* TODO */
+#define PAGE_HYPERVISOR 0
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
@@ -46,6 +50,9 @@ typedef struct {
 #endif
 } pte_t;
 
+#define pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT)
+#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
+
 static inline pte_t paddr_to_pte(paddr_t paddr,
                                  unsigned int permissions)
 {
@@ -62,6 +69,20 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+static inline void invalidate_icache(void)
+{
+    BUG();
+}
+
+#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();
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584393.915104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnI-00084j-NA; Wed, 16 Aug 2023 10:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584393.915104; Wed, 16 Aug 2023 10: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 1qWDnI-00084Z-Iu; Wed, 16 Aug 2023 10:30:28 +0000
Received: by outflank-mailman (input) for mailman id 584393;
 Wed, 16 Aug 2023 10:30:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeC-0003RA-31
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:04 +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 93a13a6d-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:52 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3178dd81ac4so5366036f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:52 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 93a13a6d-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181251; x=1692786051;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B5MPq5DygjzyAlHzsM1ZXMMzIEwTEHmb1QcQbJ7UkYM=;
        b=bc6Gb7G1G4/JMw6UAMpIhiufcYrwo5fKSjYIAb6vk4dK4Bqhq91Wrx7k6GmTcDL95m
         4HrUPNpNGXNOXRAmN9fy/l7jsTm2u82jsQE/JfnMCEqJdeH/wqvhIlTy5lqaiiwSysDA
         vB5HSiiB62ad1VjNmw9L+njEdfkvlOliLuD+jcFn455bKkDG46R8VaKt9XAFCgv+aSFx
         9FOz6fJT0y49/PX8UqF3GUJGpl94bOkII1+/hvXqQD+afDYMmtCr+2y0lKqoAdIA4qTS
         LnHjYVpbOcZ62xD8FA7/Y+csCaOAS9g5SY8DJ33zl4Z4kzW0JXH7YIuOkUVmyibQB7sP
         aZpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181251; x=1692786051;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=B5MPq5DygjzyAlHzsM1ZXMMzIEwTEHmb1QcQbJ7UkYM=;
        b=K27oQD5DeaCHiFW1FRmwz95Xe+GryBVmIYgTIABUS7E75vic3AZ8JXHfaGMnpMxIOv
         EgelK0xaHIb8ptTIvdDOoA9CU3upJ8sgkMu99/tDmasPee/g35xWtEPc9FHsUyvJrtUJ
         ub3oNclu2X46nQgPnUocM+iaNyyBuJQ2759JmQI3JtVl7PLR8rJ8Qyk6eSDQIVzhgNLK
         x5bgvHnBXGuRKtshknq1I7KVMKzyWEzhXErWzZvstDZVAJu+L7pIwTh/QNvZ0IqsfyZ7
         O4P800yGqD9rSTnbOUvMcdfxhfhj1sedpl4Im3ONjdv8efU6mym6SIFrmi0a2kcYXH7o
         Oz6Q==
X-Gm-Message-State: AOJu0YyY8/6EZOEHNLPECfjbEpcCefzPWrCz3SOraNqpZKDdzD5ZqxHG
	+ucxX0yH/jLyJJjDmwhHXAAwQ+OwLp2R1vE5
X-Google-Smtp-Source: AGHT+IF+u/J4kc1sHrAUue10sPytMhLlMCAnQ0GAtA3S6GiL6rf81JTFGodamk6ws+17rwvLnCQ2sQ==
X-Received: by 2002:a05:6000:104e:b0:314:1fdc:796d with SMTP id c14-20020a056000104e00b003141fdc796dmr952901wrx.70.1692181251276;
        Wed, 16 Aug 2023 03:20:51 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 44/57] xen/riscv: introduce asm/vm_event.h
Date: Wed, 16 Aug 2023 13:19:57 +0300
Message-ID: <5e9219fb6c5e3d0ad921d7d050abc2a802d1742b.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/vm_event.h | 52 +++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/vm_event.h

diff --git a/xen/arch/riscv/include/asm/vm_event.h b/xen/arch/riscv/include/asm/vm_event.h
new file mode 100644
index 0000000000..4cae80840a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/vm_event.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * vm_event.h: architecture specific vm_event handling routines
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ */
+
+#ifndef __ASM_RISCV_VM_EVENT_H__
+#define __ASM_RISCV_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <xen/vm_event.h>
+#include <public/domctl.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Not supported on RISCV. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Not supported on RISCV. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Not supported on RISCV. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Not supported on RISCV. */
+}
+
+void vm_event_reset_vmtrace(struct vcpu *v);
+
+#endif /* __ASM_RISCV_VM_EVENT_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584395.915114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnK-0008Uo-Vf; Wed, 16 Aug 2023 10:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584395.915114; Wed, 16 Aug 2023 10:30:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnK-0008Uf-Sz; Wed, 16 Aug 2023 10:30:30 +0000
Received: by outflank-mailman (input) for mailman id 584395;
 Wed, 16 Aug 2023 10:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeP-0003RA-4J
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:17 +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 98b9e70b-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:21:00 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-307d20548adso5631878f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:21:00 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 98b9e70b-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181260; x=1692786060;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KVoQAWJ/PbaQENCx7icmqy75Oh9EhkFYatUKPfuVRa4=;
        b=IyN0tCT+CxVaLEyI9NQLiBNnaXRHdKHCqkauB/HwDACE7x5mRYTwbavApfsjb7qcMb
         tAZeAMCPyY91OP/zmS39cLuhF8jY4TtfgUKWxu54+FCIRwP5x2GTVgZEfc9PvoC6fx16
         1PsW15fvV9IHdAF22Q65Zq9fAImS/ITggAZVDR8eBfq/jj8aEXhvy3f0mr3C9v/+dUMb
         fFZy+TDphOLNDEXkOF0p/s5uUI+XxbtkuYTNBSVJKH0p0zf1hgQDCAnp5+gaRcDiN+uQ
         6scXRz/hXpopoW11Uj5Tn2GC4jz06yU2Rv11UaQV/1+oZ1LnQFFyCMAoIx7bCR9qXoLv
         3egw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181260; x=1692786060;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KVoQAWJ/PbaQENCx7icmqy75Oh9EhkFYatUKPfuVRa4=;
        b=gLklmEm/EytLqnLfogLJDoIQZE46R9mH8iCtgH7O5pejNdTDy5KYIDKsvU6TAFv91A
         KR4HdaHSgPC9Xxxi5f0v9x3aUhN5In33hGNtSWlOvKyeytxVZo++OGWgsiDbY7XWvbjG
         Usb6UFoYCjvxuQuAUfvZo6Y5IP9hUtGDzYMs7hV5S54TePD7YPESGuedplXdx2WAoZC3
         XN5nvdM8/0Hf4F0W5DlcB3r/kuwyLUhJPXqf9aj9WQ1wg8s8Q9tzcn52kfP1V4ccckU0
         7rkPlpBuj6PV7fqJOLUMINNrSIbZCkDrP3kYNFtUsJMR0/UfhBeVOXA75j7eLKcrqa6s
         q9lw==
X-Gm-Message-State: AOJu0YxkHpT7d/aiYtqZc2lWwR2+mlcAG+zV4/J9bllnCAOWKfedh1hH
	KEJ/a9E09l6s20A1hOhH5Y7YenKk7wWmJLzc
X-Google-Smtp-Source: AGHT+IGVKGrBOrq+PRu/P+wiRl46ER+uh/IzFSN3kQNscFjbkS6SUBOL45nwtxKCWCkwMYGS6qzf7A==
X-Received: by 2002:adf:e40f:0:b0:31a:ccc7:29ee with SMTP id g15-20020adfe40f000000b0031accc729eemr242525wrm.7.1692181259760;
        Wed, 16 Aug 2023 03:20:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 54/57] xen/rirscv: add minimal amount of stubs to build full Xen
Date: Wed, 16 Aug 2023 13:20:07 +0300
Message-ID: <5946097b08b3ba98a6e78e853ce6cf89b1d8abc3.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Kconfig        |   1 +
 xen/arch/riscv/Makefile       |   1 +
 xen/arch/riscv/early_printk.c | 168 -------------
 xen/arch/riscv/mm.c           |  52 +++-
 xen/arch/riscv/setup.c        |   9 +-
 xen/arch/riscv/stubs.c        | 437 ++++++++++++++++++++++++++++++++++
 xen/arch/riscv/traps.c        |  25 ++
 7 files changed, 523 insertions(+), 170 deletions(-)
 create mode 100644 xen/arch/riscv/stubs.c

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index f382b36f6c..64caaa2750 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -4,6 +4,7 @@ config RISCV
 config RISCV_64
 	def_bool y
 	select 64BIT
+	select HAS_PDX
 
 config ARCH_DEFCONFIG
 	string
diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b08048948f..50c09469a0 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -5,6 +5,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
 
 $(TARGET): $(TARGET)-syms
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/mm.c b/xen/arch/riscv/mm.c
index 99ed5e9623..0f40641db7 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -3,15 +3,19 @@
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/lib.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>
 
+unsigned long frametable_base_pdx __read_mostly;
+unsigned long frametable_virt_end __read_mostly;
+
 struct mmu_desc {
     unsigned int num_levels;
     unsigned int pgtbl_count;
@@ -273,3 +277,49 @@ void __init noreturn noinline enable_mmu()
     switch_stack_and_jump((unsigned long)cpu0_boot_stack + STACK_SIZE,
                           cont_after_mmu_is_enabled);
 }
+
+void put_page(struct page_info *page)
+{
+    assert_failed(__func__);
+}
+
+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)
+{
+    WARN();
+}
+
+int populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    assert_failed(__func__);
+    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)
+{
+    WARN();
+
+    return 0;
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    assert_failed(__func__);
+    return -1;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    assert_failed(__func__);
+    return -1;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index dde8fb898b..b44ce41d22 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,9 +2,16 @@
 
 #include <xen/compile.h>
 #include <xen/init.h>
+#include <xen/mm.h>
+
+#include <public/version.h>
 
 #include <asm/early_printk.h>
-#include <asm/mm.h>
+
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    assert_failed("need to be implemented");
+}
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
new file mode 100644
index 0000000000..3232039bc2
--- /dev/null
+++ b/xen/arch/riscv/stubs.c
@@ -0,0 +1,437 @@
+/* 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 <public/vm_event.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 } };
+
+/* time.c */
+
+unsigned long __read_mostly cpu_khz;  /* CPU clock frequency in kHz. */
+
+s_time_t get_s_time(void)
+{
+    BUG();
+}
+
+int reprogram_timer(s_time_t timeout)
+{
+    BUG();
+}
+
+void send_timer_event(struct vcpu *v)
+{
+    BUG();
+}
+
+void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
+{
+    BUG();
+}
+
+/* shutdown.c */
+
+void machine_restart(unsigned int delay_millisecs)
+{
+    BUG();
+}
+
+void machine_halt(void)
+{
+    BUG();
+}
+
+/* vm_event.c */
+
+void vm_event_fill_regs(vm_event_request_t *req)
+{
+    BUG();
+}
+
+void vm_event_set_registers(struct vcpu *v, vm_event_response_t *rsp)
+{
+    BUG();
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
+
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
+
+/* domctl.c */
+
+long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
+                    XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    BUG();
+}
+
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    BUG();
+}
+
+void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG();
+}
+
+/* monitor.c */
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
+{
+    BUG();
+}
+
+/* smp.c */
+
+void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_event_check_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_call_function_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+/* irq.c */
+
+struct pirq *alloc_pirq_struct(struct domain *d)
+{
+    BUG();
+}
+
+int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share)
+{
+    BUG();
+}
+
+void pirq_guest_unbind(struct domain *d, struct pirq *pirq)
+{
+    BUG();
+}
+
+void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask)
+{
+    BUG();
+}
+
+static void ack_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+static void end_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+hw_irq_controller no_irq_type = {
+    .typename = "none",
+    .startup = irq_startup_none,
+    .shutdown = irq_shutdown_none,
+    .enable = irq_enable_none,
+    .disable = irq_disable_none,
+    .ack = ack_none,
+    .end = end_none
+};
+
+int arch_init_one_irq_desc(struct irq_desc *desc)
+{
+    BUG();
+}
+
+void smp_send_state_dump(unsigned int cpu)
+{
+    BUG();
+}
+
+/* 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();
+}
+
+void continue_running(struct vcpu *same)
+{
+    BUG();
+}
+
+void sync_local_execstate(void)
+{
+    BUG();
+}
+
+void sync_vcpu_execstate(struct vcpu *v)
+{
+    BUG();
+}
+
+void startup_cpu_idle_loop(void)
+{
+    BUG();
+}
+
+void free_domain_struct(struct domain *d)
+{
+    BUG();
+}
+
+void dump_pageframe_info(struct domain *d)
+{
+    BUG();
+}
+
+void free_vcpu_struct(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_vcpu_create(struct vcpu *v)
+{
+    BUG();
+}
+
+void arch_vcpu_destroy(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_switch_to_aarch64_mode(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    BUG();
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    BUG();
+}
+
+int arch_domain_teardown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_shutdown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_pause(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_unpause(struct domain *d)
+{
+    BUG();
+}
+
+int arch_domain_soft_reset(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_creation_finished(struct domain *d)
+{
+    BUG();
+}
+
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG();
+}
+
+int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG();
+}
+
+int arch_vcpu_reset(struct vcpu *v)
+{
+    BUG();
+}
+
+int domain_relinquish_resources(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_domain_info(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_update_evtchn_irq(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_block_unless_event_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_kick(struct vcpu *v)
+{
+    BUG();
+}
+
+struct domain *alloc_domain_struct(void)
+{
+    BUG();
+}
+
+struct vcpu *alloc_vcpu_struct(const struct domain *d)
+{
+    BUG();
+}
+
+unsigned long
+hypercall_create_continuation(unsigned int op, const char *format, ...)
+{
+    BUG();
+}
+
+int __init parse_arch_dom0_param(const char *s, const char *e)
+{
+    BUG();
+}
+
+/* guestcopy.c */
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
+{
+    BUG();
+}
+
+unsigned long raw_copy_from_guest(void *to, const void __user *from,
+                                  unsigned int len)
+{
+    BUG();
+}
+
+/* sysctl.c */
+
+long arch_do_sysctl(struct xen_sysctl *sysctl,
+                    XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
+{
+    BUG();
+}
+
+void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
+{
+    BUG();
+}
+
+/* p2m.c */
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    BUG();
+}
+
+int unmap_mmio_regions(struct domain *d,
+                       gfn_t start_gfn,
+                       unsigned long nr,
+                       mfn_t mfn)
+{
+    BUG();
+}
+
+int map_mmio_regions(struct domain *d,
+                     gfn_t start_gfn,
+                     unsigned long nr,
+                     mfn_t mfn)
+{
+    BUG();
+}
+
+int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
+                          unsigned long gfn, mfn_t mfn)
+{
+    BUG();
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    BUG();
+}
+
+/* need for build until common code starts be buildable */
+unsigned long __read_mostly max_page;
+
+void printk(const char *fmt, ...)
+{
+    BUG();
+}
+
+void cf_check irq_actor_none(struct irq_desc *desc)
+{
+    BUG();
+}
+
+unsigned int cf_check irq_startup_none(struct irq_desc *desc)
+{
+    return 0;
+}
\ No newline at end of file
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..ca56df75d8 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)
+{
+    assert_failed("need to be implented");
+}
+
+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)
+{
+    assert_failed("need to be implented");
+}
+
+enum mc_disposition arch_do_multicall_call(struct mc_state *state)
+{
+    assert_failed("need to be implented");
+    return mc_continue;
+}
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584404.915124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnY-0000yb-EE; Wed, 16 Aug 2023 10:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584404.915124; Wed, 16 Aug 2023 10: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 1qWDnY-0000yU-A1; Wed, 16 Aug 2023 10:30:44 +0000
Received: by outflank-mailman (input) for mailman id 584404;
 Wed, 16 Aug 2023 10:30:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe2-0003RA-1X
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:54 +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 90685f6a-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:46 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3197b461bb5so2203266f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:46 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90685f6a-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181246; x=1692786046;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8qL6e9Nue5+8bVmdl1ZbVKhvNGAVoK2lYXurUjhw7ZU=;
        b=jNbbN56BkQ0NVqxjcTqRa84O5/3JpNr27CLL/fbQEtWfyACoIJ13t+zAOxp2nXKxSJ
         yAa4WceoqEhQSa6PlXNteyxDq7VJfDRsm0gB9ENJDKeyUi1LxxAOGOd8oe1gkl/UeRNo
         RZ1nbhOTZ3Kc3tE2FqlILMy7BBl3fywn65d3zl+jnO77lAP2o67jd8dfrIiKUBQB7l+R
         5J+KpElW3X6HzHH2Ij5HbcsxRkN8KBiKtWEVDPV1bfCiiv9Qh4Ig2NMlJLY+zv5EMahB
         aWrkmQCHkC62K03FUgRUYqDb65u88JG6DLKd6n+anryw7o3ZcaBziyVCr921/WkY+iJa
         Cxyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181246; x=1692786046;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8qL6e9Nue5+8bVmdl1ZbVKhvNGAVoK2lYXurUjhw7ZU=;
        b=AiI+3cebv+bu2sjFtfSDzioknKp9W027iAQ8jxw0XDG5aOsZKXMKBfof1m1CU6XcxW
         7QCh0snLdrNpWl9hsC2pC/C2WygHZVjuQknvWQpM5r1lnDpkVIEoTiUrIZoh2VnB14qA
         Ew880jkju4RXwD2AnpK0bfgRT2WTMnQm5SDXXbnm1sEQ5nQLlCGh7qif9fGz3fkEgKHI
         XUihoLeSa1t59A7jxB33p0WtgGc/qw2EezUnWuHEzUz269xsL3H74wccmI8tSWB0fPZ+
         8QfFSUgvi1+bQ1pAUQ3lJiauQfZdr1jmJiG0K8npSjlojlt7NR0RbgZ1JDnPq2tGmchx
         ZfmA==
X-Gm-Message-State: AOJu0Yxl+qOGGy5oO22M7rK5QEAxiUj7WLBi3Z+dN4cWLEMcgNmO1fF9
	3ppAr7z1wsF6xpe0nUE/AaX7iDTWrHf47XXv
X-Google-Smtp-Source: AGHT+IGZv7zb/zrUa443F/Pb4N0UO9HzLN4zMEpxmMRaKSQTekS/rp5UM/1dn9Li/u/3bqqiGieOWg==
X-Received: by 2002:a5d:6348:0:b0:319:f9d6:a769 with SMTP id b8-20020a5d6348000000b00319f9d6a769mr1078231wrw.45.1692181245890;
        Wed, 16 Aug 2023 03:20:45 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 38/57] xen/riscv: introduce asm/monitor.h
Date: Wed, 16 Aug 2023 13:19:50 +0300
Message-ID: <6a67fcfdbe56515b74b37b469322e265eef50535.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/monitor.h | 53 ++++++++++++++++++++++++++++
 1 file changed, 53 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..fb7ef6639d
--- /dev/null
+++ b/xen/arch/riscv/include/asm/monitor.h
@@ -0,0 +1,53 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * include/asm-RISCV/monitor.h
+ *
+ * Arch-specific monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ */
+
+#ifndef __ASM_RISCV_MONITOR_H__
+#define __ASM_RISCV_MONITOR_H__
+
+#include <xen/sched.h>
+#include <public/domctl.h>
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on RISCV. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on RISCV. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on RISCV. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    uint32_t capabilities = 0;
+
+    return capabilities;
+}
+
+#endif /* __ASM_RISCV_MONITOR_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584410.915134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDna-0001Jf-ME; Wed, 16 Aug 2023 10:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584410.915134; Wed, 16 Aug 2023 10: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 1qWDna-0001JS-IC; Wed, 16 Aug 2023 10:30:46 +0000
Received: by outflank-mailman (input) for mailman id 584410;
 Wed, 16 Aug 2023 10:30:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdp-0003RA-07
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:41 +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 8b0b7a2e-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:37 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-313e742a787so3760964f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:37 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b0b7a2e-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181237; x=1692786037;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=faZN0PTWNbimEuXos1DkocfCWtrw9mSeUqlog2BUeiI=;
        b=YdCBSPSKbYCBxpDMBHXEQhGFr8AgEm/LkqDl1kqIZ000qx+DJCDH62tqCWWgFQyeIs
         CDTmrEO09BVDhVoY/xulFCAtQLtcKuS4NpEaUdY4QPr/BYgktG0lVaZpSQueaTGYMNyg
         Pk2y8HEhpBkEJgyHYdtbDv5cDLJQ7UfQHxS0SOAfRCGR9i3GaYVGNDSEd/PBkj8hCv/4
         p1a8nyDjCQz6AmmjbqgaAjMyG14SQw0FhmAO0s8ofpp2ITFOokfp5+5+AFGRHB9DKJoQ
         3htgiCnQYSQ+Iht27fLP8c5pcRMobpCAir0fL5eZ0Ke110Wi37e2wsQQ2HD43BM67Msz
         ABNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181237; x=1692786037;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=faZN0PTWNbimEuXos1DkocfCWtrw9mSeUqlog2BUeiI=;
        b=WD/CILCaYAmBkKkNQqOwtgsCqgO0V/qCrCCDHlNVUM/a0hDLFnsxHbbJ6CjwRWeDWn
         GZdgWXcIIA7lL4hdcJuRcHxtmRn1w8uqwPHLdrChfG97ywCrmyoa4d0v7SdeuePdW2Nk
         d6YO/etkyI7ZMm72r+mDBu4jAFMCU5dGE50DtxX5cbhPYfSslDceM9cl0x/PhtbnPm2T
         DAcPu6NrL/ZRZwGKkECMd2pINRjvJM01dnblWWAPyBRrcOHH8K7jfmxpCZbx5BYYeyzg
         T2KdAKXjwEj+sbpxZxAmQn4kXyQmNSNmDTPNbp7zIbDsMpmlJ7bgHGxfgKLxqOE77dm4
         di/Q==
X-Gm-Message-State: AOJu0YyEEz1gyPKXYvWKKvQvIZnJHUPNqk48Yob1V6cJTgJ9R2dzj5ZE
	jZpJlifwBNau/tEqpMs38gejXrNSd9eUdS6A
X-Google-Smtp-Source: AGHT+IF8tuHIm+FkkBwpLbydHWbU9mFl4l7bkcD3+wGHwX/5HpYqSeCo7GHdjNYhQzso5iBPXeACxQ==
X-Received: by 2002:adf:ff82:0:b0:313:e391:e492 with SMTP id j2-20020adfff82000000b00313e391e492mr1185063wrr.17.1692181236671;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 27/57] xen/riscv: introduce cmpxchg.h
Date: Wed, 16 Aug 2023 13:19:38 +0300
Message-ID: <40b81d8e401e375bc3723657e6b41f6b8d256490.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/cmpxchg.h | 373 +++++++++++++++++++++++++++
 1 file changed, 373 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..8660ecd287
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cmpxchg.h
@@ -0,0 +1,373 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2014 Regents of the University of California */
+
+#ifndef _ASM_RISCV_CMPXCHG_H
+#define _ASM_RISCV_CMPXCHG_H
+
+#include <asm/system.h>
+#include <asm/fence.h>
+#include <xen/lib.h>
+
+#define __xchg_relaxed(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_relaxed(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_relaxed((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg_acquire(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w %0, %2, %1\n"			\
+			RISCV_ACQUIRE_BARRIER				\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d %0, %2, %1\n"			\
+			RISCV_ACQUIRE_BARRIER				\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_acquire(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_acquire((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg_release(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"	amoswap.w %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"	amoswap.d %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_release(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_release((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg(ptr, new, size)						\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w.aqrl %0, %2, %1\n"		\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d.aqrl %0, %2, %1\n"		\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		__ret = 0; \
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg(ptr, x)							\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg((ptr), _x_, sizeof(*(ptr)));	\
+})
+
+#define xchg32(ptr, x)							\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	xchg((ptr), (x));						\
+})
+
+#define xchg64(ptr, x)							\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	xchg((ptr), (x));						\
+})
+
+/*
+ * 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.
+ */
+#define __cmpxchg_relaxed(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_relaxed(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_relaxed((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg_acquire(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			RISCV_ACQUIRE_BARRIER				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			RISCV_ACQUIRE_BARRIER				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_acquire(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_acquire((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg_release(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_release(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_release((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg(ptr, old, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (__typeof__(*(ptr)))(old);				\
+	__typeof__(*(ptr)) __new = (__typeof__(*(ptr)))(new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w.rl %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"	fence rw, rw\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d.rl %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"	fence rw, rw\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg(ptr, o, n)						\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg((ptr),				\
+				       _o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define cmpxchg_local(ptr, o, n)					\
+	(__cmpxchg_relaxed((ptr), (o), (n), sizeof(*(ptr))))
+
+#define cmpxchg32(ptr, o, n)						\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	cmpxchg((ptr), (o), (n));					\
+})
+
+#define cmpxchg32_local(ptr, o, n)					\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	cmpxchg_relaxed((ptr), (o), (n))				\
+})
+
+#define cmpxchg64(ptr, o, n)						\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	cmpxchg((ptr), (o), (n));					\
+})
+
+#define cmpxchg64_local(ptr, o, n)					\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	cmpxchg_relaxed((ptr), (o), (n));				\
+})
+
+#endif /* _ASM_RISCV_CMPXCHG_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584417.915144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnf-0001wV-1x; Wed, 16 Aug 2023 10:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584417.915144; Wed, 16 Aug 2023 10:30:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDne-0001wI-Sb; Wed, 16 Aug 2023 10:30:50 +0000
Received: by outflank-mailman (input) for mailman id 584417;
 Wed, 16 Aug 2023 10:30:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe5-0003RA-20
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:57 +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 915067c9-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:48 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31427ddd3fbso5587482f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:48 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 915067c9-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181247; x=1692786047;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A4ptIkdY77K81tEHPihXAWsNfWZZEHDjxbo0FTlxYlU=;
        b=XtyAC0+03O+lcAoJTH90d0Xw/+/Y4m9yfG8qf0MAAKksaJFO9D3fm//nZ6W+92DN2R
         FoKsOpma8nphGPA8CnZB66JX4nutbQrxDIpWMIj1HiUA+hSOBiNS0ewblDtQh1hSJLhQ
         6XcxHm/umSMjlQ1OjIZQnKfgnS4eWhEfLo+L8v0goKkqvVyCnVpV0h7gjiqTxdXExD/h
         obliHHmmuPKzeA+fYQ6tEgEX9bQQQFAlTSUgb/oHX14u+fzOZIPSxO2nC86S/Iq1Zanu
         KWuxBCKs9KDiKUvyZetcR3INqaf6++6/gKASfSUNOR0yNKyMYWBY8xUVMD0lmiRA1tTV
         tsFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181247; x=1692786047;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A4ptIkdY77K81tEHPihXAWsNfWZZEHDjxbo0FTlxYlU=;
        b=HEI80zcxcrLhxXfyAyHkTv2zbHU3pqFuegvoCbkjGg8f5o0nfCa+rKZguzHL0jamR/
         Kv/sz57Y2gVq3pkSR6uywRoGYrsviMzUA5nsYmLCgXgF0HKVrV4+JkHpYTCNIPo3Aj3T
         C52YQJa9Ba6t/+zFhM+FkhqyOQIWvhwhlIwFQPqvoLikHs3BsE0pBh90+FFrBErkbnfu
         PGG5nAIUxe1XmSX6n+fvFAH/MMARWZCSteHbX3CGckdCjIgy8cOr92Gf8cVkl7Ka1aOE
         fmVe8A5105WC7+vV7bfkPHrPl4j811vHUziLhBoM5I1QUV5LatPBQwSaBtCdPhVcgc0M
         WeDQ==
X-Gm-Message-State: AOJu0YxZ5zl166iOP1UsmTW32OGU8h7EPLhncs2iFVzFvk1mFzHVCZoz
	FgJmJQrraHjYqSrRNJe5eI8m8kNTbuc+TEre
X-Google-Smtp-Source: AGHT+IGCl+DIeeg07CmJpFpxf0G2RfI19ePdYZMhf/aVNXmeprpsvU6nEMrj8W/oR/+jOE+i6iGGZA==
X-Received: by 2002:a5d:5192:0:b0:319:8bb3:ab8a with SMTP id k18-20020a5d5192000000b003198bb3ab8amr948431wrv.52.1692181247379;
        Wed, 16 Aug 2023 03:20:47 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 40/57] xen/riscv: introduce asm/p2m.h
Date: Wed, 16 Aug 2023 13:19:52 +0300
Message-ID: <7c1a1083ac3577c26071de14459f7a3ba7316a27.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/p2m.h | 105 +++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/p2m.h

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
new file mode 100644
index 0000000000..993aec6d2c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -0,0 +1,105 @@
+#ifndef __ASM_RISCV_P2M_H__
+#define __ASM_RISCV_P2M_H__
+
+#include <asm/page-bits.h>
+
+#define paddr_bits PADDR_BITS
+
+/*
+ * List of possible type for each page in the p2m entry.
+ * The number of available bit per page in the pte for this purpose is 4 bits.
+ * So it's possible to only have 16 fields. If we run out of value in the
+ * future, it's possible to use higher value for pseudo-type and don't store
+ * them in the p2m entry.
+ */
+typedef enum {
+    p2m_invalid = 0,    /* Nothing mapped here */
+    p2m_ram_rw,         /* Normal read/write guest RAM */
+    p2m_ram_ro,         /* Read-only; writes are silently dropped */
+    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO area */
+    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-cacheable */
+    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cacheable */
+    p2m_map_foreign_rw, /* Read/write RAM pages from foreign domain */
+    p2m_map_foreign_ro, /* Read-only RAM pages from foreign domain */
+    p2m_grant_map_rw,   /* Read/write grant mapping */
+    p2m_grant_map_ro,   /* Read-only grant mapping */
+    /* The types below are only used to decide the page attribute in the P2M */
+    p2m_iommu_map_rw,   /* Read/write iommu mapping */
+    p2m_iommu_map_ro,   /* Read-only iommu mapping */
+    p2m_max_real_type,  /* Types after this won't be store in the p2m */
+} p2m_type_t;
+
+#include <xen/p2m-common.h>
+
+static inline int get_page_and_type(struct page_info *page,
+                                    struct domain *domain,
+                                    unsigned long type)
+{
+    BUG();
+    return 1;
+}
+
+/* Look up a GFN and take a reference count on the backing page. */
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    BUG();
+    return NULL;
+}
+
+static inline void memory_type_changed(struct domain *d)
+{
+    BUG();
+}
+
+
+static inline int guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
+                                                        unsigned int order)
+{
+    BUG();
+    return 1;
+}
+
+static inline int guest_physmap_add_entry(struct domain *d,
+                            gfn_t gfn,
+                            mfn_t mfn,
+                            unsigned long page_order,
+                            p2m_type_t t)
+{
+    BUG();
+    return 1;
+}
+
+/* Untyped version for RAM only, for compatibility */
+static inline int __must_check
+guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn,
+                       unsigned int page_order)
+{
+    return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
+}
+
+static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
+{
+    BUG();
+    return _mfn(0);
+}
+
+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.
+     */
+    return true;
+}
+
+static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    /* Not supported on RISCV. */
+}
+
+#endif /* __ASM_RISCV_P2M_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584421.915154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnj-0002Xv-A4; Wed, 16 Aug 2023 10:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584421.915154; Wed, 16 Aug 2023 10:30:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnj-0002Xi-5J; Wed, 16 Aug 2023 10:30:55 +0000
Received: by outflank-mailman (input) for mailman id 584421;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeF-0003RA-3Z
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:07 +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 952015ea-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:54 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-3fe12820bffso57889045e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:54 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 952015ea-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181254; x=1692786054;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pWgznkgkDSshrAfNbytlr6AV1H8ztUkA/H/Hf0rQB3M=;
        b=LSPfHBYC6q/1n9/pJaDTOaUXTe+bqBrU3MNFwS3erS5DxSVY4qVhe8Gbp9U41b8BFe
         kISATESXoQxpqCTHDqol7IiLs73kghoLMwMwxfJ+n3/0uSr+/50sIOO40/ICWHpad4Kd
         bEuENkWODZNTaVZwIfCFtmJRx+98kxfQlz+QL3JmdWKsZaTV0VIOzlapS2qUppUD9mbX
         qEaj0ayuQXwmqx6SHbSL4uXZZXD1nSWxzGD9lISx5ep8yeARCoCMees6GPpu7bn74xka
         3kUPzkwr2WiWGcJt3gxq9gjLOBVVPAJ5q0e1xL7gDOMytW8vpRvqdRMFuoJc2r0oz03i
         eolQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181254; x=1692786054;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pWgznkgkDSshrAfNbytlr6AV1H8ztUkA/H/Hf0rQB3M=;
        b=HMK1gyyR0FRltZVmzX/nU9ecvZ4XhWL12johaYCnpQy4DpYr2Vir4WG0OoAt/lQuE+
         G31KcT4F05enSMaKOM+LKahLBP0o/bAOKdWTvec9yQa0ilU0M4bnKWuL5Js9ODUB8pBp
         YiLtMulCZ1JQHYCwUOLixkoD4/OK1iHIkKMfO7Yk9uWYCg7JTypYBKR62WZ28CyBWDO2
         ccULl00m5j3nZIiG7u+gkJQ0YJdL2JNR+T39Fg/BK1s+IHAom1msxxDyPGxAjboDAylv
         pe5sKTIwx40ZpA+9DKCbYV7YJnG6sHkVCoGDUCFxoGj/ppx2rOLiASnrQbVAbuggH6BM
         nVYg==
X-Gm-Message-State: AOJu0YwyKXV6olGuWcqV7s24l9vj7aJ/X1WQPJnzrjL5hkiKWGaqUwkx
	IekHkKZcgYLDeWLHEGLf2xSZfdD0eIWmbB9S
X-Google-Smtp-Source: AGHT+IHfKBICqnt18KsAWotBgPULnHOZ7+IYwE4eAY/DTUER3Wf6rQjOa3JW/PJtPCA/8XGaeIrBbA==
X-Received: by 2002:a5d:43ca:0:b0:317:7330:bd82 with SMTP id v10-20020a5d43ca000000b003177330bd82mr1159786wrr.8.1692181253716;
        Wed, 16 Aug 2023 03:20:53 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 47/57] xen/riscv: add required things to asm/current.h
Date: Wed, 16 Aug 2023 13:20:00 +0300
Message-ID: <c70a50df2e7dda1081a2464f84c4671fe0e66bf0.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.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>
---
 xen/arch/riscv/include/asm/current.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index d84f15dc50..d03d172f14 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/percpu.h>
+
+#ifndef __ASSEMBLY__
+
+struct vcpu;
+
+/* 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() (0)
+
 #define switch_stack_and_jump(stack, fn) do {               \
     asm volatile (                                          \
             "mv sp, %0\n"                                   \
@@ -10,4 +25,6 @@
     unreachable();                                          \
 } while ( false )
 
+#endif /* __ASSEMBLY__ */
+
 #endif /* __ASM_CURRENT_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584425.915159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnj-0002b1-M1; Wed, 16 Aug 2023 10:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584425.915159; Wed, 16 Aug 2023 10:30:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnj-0002a3-Ef; Wed, 16 Aug 2023 10:30:55 +0000
Received: by outflank-mailman (input) for mailman id 584425;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeI-0003RA-3f
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:10 +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 9670406e-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:56 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3198d2745feso785374f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:56 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 9670406e-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181256; x=1692786056;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9Th+HXmOUTihkm6COBZKzRk12S72/2zGUHfBHrZen34=;
        b=O7Q3e8g1zj0SNztlb963hJ4I9gdbh1yRquiQIJG9cmB+IS1LSfXwvh5nr3WBNEd04q
         ldOhEBo07tTyE053Cozzd7f2A3FE8QYhD890L4r9Pbbc0F5E2Y1C5W837s8B/ES9n7fn
         gKTxQsDghbV5PxgOd1j1kaloje+7Hjkf7XT5KZmCFuOS0+rmvqXLcSyT85kyugbpGmTj
         7Z8k9xSkC4lJLuN5Ck3Ivb6HqqgHmH22u77+Rw3cFkNri01HSOQQBPU+uRGqHeMt4T1E
         g9kW09cui+WAH3yi4lz76GIlOmfjCMS/IbW5NfcZDR/xWZZ2jaM0zvju8v5wzFz9TOTA
         uScQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181256; x=1692786056;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9Th+HXmOUTihkm6COBZKzRk12S72/2zGUHfBHrZen34=;
        b=KKmy9SxOZhCFX/V9ortHqoxfIXJnlUCdNColkKXqu1TY++p+ZFORPD8Ax2vdGaf5Tv
         TmvS6g0XT4WWTQ4kC5j1Hfqt+kbmLr89h8ImnYDPe03A0+WyP7vWV3ToXSPb6iqdpWRZ
         5qqhh0cMwX53t2fmq74/HgnpBuN8+0cw99ahnlZvNPGOrwNS7vW3HNmmznNNM+dBtukv
         R8eFU1tXL3WTC/cgnnquxCbVOZuhYCCzFRmEdIqn4RkS5jZehKMYrf1E2dpCpCZjtzUy
         cxD+zJ4LU/p8ptq1WvY3AESD518IcjYMvqUdkuR1nZW5WSKcNrYG2kED51Hj+QIJC9TQ
         7ddw==
X-Gm-Message-State: AOJu0Yw4W08OqPQy5IcKnU7UWKfegE8iX+g/2RkZufBJs5felv58XLGs
	aUs4rkC/77Fc0LgRnHUFmGuR02grK8amryOy
X-Google-Smtp-Source: AGHT+IGU23Oide7DSqToldRQIVmPVCxgXi8QZJLwiuAyYb5Y9TlduUogHkb6QnmNVeT0YndnqO1UFg==
X-Received: by 2002:a05:6000:128c:b0:319:72f8:7249 with SMTP id f12-20020a056000128c00b0031972f87249mr1172802wrx.66.1692181256009;
        Wed, 16 Aug 2023 03:20:56 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 50/57] xen/riscv: add minimal stuff to asm/smp.h to build full Xen
Date: Wed, 16 Aug 2023 13:20:03 +0300
Message-ID: <5df4e523937312bd6240acf0be9ad29273545fc6.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/smp.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index cc8dd18254..a7b4f94ce4 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -17,4 +17,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
  */
 #define park_offline_cpus false
 
+/* TODO: need to be implemeted */
+#define smp_processor_id() (0)
+
 #endif
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584429.915167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnk-0002px-GW; Wed, 16 Aug 2023 10:30:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584429.915167; Wed, 16 Aug 2023 10:30:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnk-0002oe-86; Wed, 16 Aug 2023 10:30:56 +0000
Received: by outflank-mailman (input) for mailman id 584429;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe1-0003RA-1V
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:53 +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 8f7869d4-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:45 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-3fe4cdb724cso59495765e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:45 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f7869d4-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181244; x=1692786044;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4SQGhzw7Z54ve6BdWhYdtY9jpypc4ffZo2cW4GL4tQI=;
        b=k/oGzO07yQPqf6KSnwR4eYwj5isgM7TpBXewlc8GdLYHmIdJWlkmnXvp+oRYK4w6px
         LlI0nuv/Rm0Lj17o9+keXsw3NwZVJp8MoXKqO1+sMGmc4UtQpfVTPtshUlcvHNJ4l3kr
         nlkBki5IXwgXFBZOIPZ0L51+Spv5cBCLsCweVGJMjPLLbtl2xYpsML/mNWMSknvXMQbV
         uzVIEDOcpytHQJk8srkTzRTwwFQfhfXiUM22NdVH2bTwYzs5hdE9Z7c+HrtobLZAlyEu
         fuqIbJ0ShUxx3ZDW7slJVD2sJpqx4xuPfmmusI9ERsbksQWvQSsW+kgeTKD2SBmb1UmO
         qDoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181244; x=1692786044;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4SQGhzw7Z54ve6BdWhYdtY9jpypc4ffZo2cW4GL4tQI=;
        b=As6iMRiYgvAFZZcz0Mkqn0AH2em2uvfZd3cU4ZT9Hc8kP8He3EXQfK8pXnaew3lFe1
         ps90I2TbzCq6mPjLefvfK7WyRYDraFo/ptfgo0d3ppaPApYkchn+mGp7G22FxS3CANIg
         A6jMwM4fBVC0cXaFOuboCvGjp9PDirc+SvZBuPzTqp5Pt/3/D4EwgkI48sbcXeU+gYdj
         H8BwkQo/v6RSOyEfvex4g2ImUz/h7rcMD8h8u9j54RtUUsm/Ym1fmEHGzTlDhiC287oz
         R5Hj8DnQ4UHXIfBPVM1tYxHc6I04iss0ho75muTK0+Gfrb1eZiyoI+NZCHacLRAmiDtj
         MD/g==
X-Gm-Message-State: AOJu0YzEcyu0ETVaEQQUn8DAKwgSP63Da+VPhhJcE360Rdu5awHrJMMQ
	lIvA5dTRNTsbsBGo7VUxi8bb8PpW6eEnp2Cj
X-Google-Smtp-Source: AGHT+IF2ANjzEb8TnVK90wqPqlMyVQ4yLFdAl8ZVGmxtSU4/oqzOtyZnXf9SdyUU5iTvDm5rO3GdCg==
X-Received: by 2002:adf:e745:0:b0:319:650f:60e2 with SMTP id c5-20020adfe745000000b00319650f60e2mr1032627wrn.11.1692181244319;
        Wed, 16 Aug 2023 03:20:44 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 36/57] xen/riscv: introduce asm/guest_access.h
Date: Wed, 16 Aug 2023 13:19:48 +0300
Message-ID: <d22756677e8ce55ebbf00641abafd4ed6297efbf.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/guest_access.h | 29 +++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/guest_access.h

diff --git a/xen/arch/riscv/include/asm/guest_access.h b/xen/arch/riscv/include/asm/guest_access.h
new file mode 100644
index 0000000000..7be5c4509d
--- /dev/null
+++ b/xen/arch/riscv/include/asm/guest_access.h
@@ -0,0 +1,29 @@
+#ifndef __ASM_RISCV_GUEST_ACCESS_H__
+#define __ASM_RISCV_GUEST_ACCESS_H__
+
+#include <xen/mm.h>
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len);
+unsigned long raw_copy_from_guest(void *to, const void *from, unsigned len);
+
+#define __raw_copy_to_guest raw_copy_to_guest
+#define __raw_copy_from_guest raw_copy_from_guest
+
+#define guest_handle_okay(hnd, nr) (1)
+#define guest_handle_subrange_okay(hnd, first, last) (1)
+
+struct domain;
+unsigned long copy_to_guest_phys(struct domain *d,
+                                 paddr_t gpa,
+                                 void *buf,
+                                 unsigned int len);
+
+#endif /* __ASM_RISCV_GUEST_ACCESS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:30:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:30:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584431.915174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnl-0002w4-3I; Wed, 16 Aug 2023 10:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584431.915174; Wed, 16 Aug 2023 10:30:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnk-0002uL-Mq; Wed, 16 Aug 2023 10:30:56 +0000
Received: by outflank-mailman (input) for mailman id 584431;
 Wed, 16 Aug 2023 10:30: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe6-0003RA-2G
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:58 +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 91c316f0-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:48 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fea0640d88so23016605e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:48 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 91c316f0-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181248; x=1692786048;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UhVaJsx3fNfOUNl1yWvqQESfQK08auimEtxKys9/b3Y=;
        b=F0mCLXOjCd55gqe/q67GkQU9xB/piI6P744u1P+IppM2eavq5KKioxfsdD37bQM/lE
         mSIrekF4x8RMKWqKhGJ8pP0ClXdy53TyFCd0aHR7GoR9DifNopHiaRuBg3+o7vA9JEJA
         fiQU/1aD4P2X+nyHxfKgw6kfIVKEYYg13V3XNMZ6j5xw06v2h4aZcP6YvBvuMeuzhUgK
         E1xnQEz3SVNq5q1YzBUHhdhAUIA1W6AtRdfWv2xAiec9YHeVpfi/w+aylNcGKkREnFc7
         NjvDP9Jlonhp/2YC26KiwtZ/Z5sV2S/Y8qGA5sCKZ16X6o1BxUJPn+tMxsV5xGetzogO
         txMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181248; x=1692786048;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UhVaJsx3fNfOUNl1yWvqQESfQK08auimEtxKys9/b3Y=;
        b=DpFNLHqprWioAHeHSl1Y2i1TqSuKMJdudEwJn2C09hPkVMeex5YwHSv2lzEY9ozfy/
         79b9iDMTwd4YJc6AXW/r42IscztPGCw7CCYHNLq+4wx6PKz6hauIiEdGp+va4+Vae61V
         zBXhAfra5DJmZB+X590UAVzXgNtobcx9gALyAbueHDwIx94CQEOM/KP7ofZsFAA1n9S2
         PPGCkU/EsY62WO+HJXM1pf9xPHby+0LFz7/OzGLlyEAlIIXHJMRYFhLryZ8XVvAYflri
         UJL1Oo/mLufXij63AoM5m3vkK6Z69fp4coe10Eh9Nh6fD3vSCdSVU2q70fIl3+6vARMx
         skwA==
X-Gm-Message-State: AOJu0Yzy8htlqx02PrHAS7ECuMdZGgUPLpk8V1ORvwRRjh1lWjppfgl5
	ql9G2g/r+MiKJAvRlZZlhn1nHGfOn2Ojha3R
X-Google-Smtp-Source: AGHT+IEypaiMJLfzmYcUJiOQe1UM42LxjtcnuxB11o2Ulgr2121fbYp93v/G6OxinXQgHy2psd99wg==
X-Received: by 2002:a05:6000:1c9:b0:319:74b5:b67d with SMTP id t9-20020a05600001c900b0031974b5b67dmr1163452wrx.66.1692181248115;
        Wed, 16 Aug 2023 03:20:48 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 41/57] xen/riscv: introduce asm/regs.h
Date: Wed, 16 Aug 2023 13:19:53 +0300
Message-ID: <af19410cd289ac5962e40cf165ac23fa1214a89e.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/regs.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/regs.h

diff --git a/xen/arch/riscv/include/asm/regs.h b/xen/arch/riscv/include/asm/regs.h
new file mode 100644
index 0000000000..33ae759a3e
--- /dev/null
+++ b/xen/arch/riscv/include/asm/regs.h
@@ -0,0 +1,27 @@
+#ifndef __ARM_RISCV_REGS_H__
+#define __ARM_RISCV_REGS_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/lib.h>
+#include <asm/current.h>
+
+#define hyp_mode(r)     (0)
+
+static inline bool guest_mode(const struct cpu_user_regs *r)
+{
+    BUG();
+}
+
+#endif
+
+
+#endif /* __ARM_RISCV_REGS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584444.915194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnu-0004Jd-AQ; Wed, 16 Aug 2023 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584444.915194; Wed, 16 Aug 2023 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnu-0004JQ-5R; Wed, 16 Aug 2023 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 584444;
 Wed, 16 Aug 2023 10:31: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdo-0003R9-6Q
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:40 +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 8c5df3f5-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:39 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2b9d07a8d84so101385581fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:39 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c5df3f5-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181239; x=1692786039;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1LCHRZgc+hBy0s0HZAJ5FU9CXl325alrh/h/y5fRpu8=;
        b=HCOYwN5QwnAk9n9txQ71i1zzvI+5FPCZe4HVXbwPsGrWlz7KhgPvQqLdTGRxTOBGXp
         SOwh8Ojv0RBdcQKR/SPm8GvzZ8uLUrzn1tHDQGAwrziMbE/jJELl/PgfyIazG/RdHqtM
         q2bbgkJnzGWz1TJVq1bLVC6PIH6H/+QTnktXL0ffCoNkDDXvSumYqo2jgWlcngQiSar1
         y0+1tREhOMo5cpWWFDg+/4gNmny+h4vMkQhh0MqSxawz96cbK73HNkMDT5fMbMT39rBf
         pTjaucez68ob3wzWHu4nHD0TJamv00vkJrjLljgce9KVlMTsD785zex7hmGTwcBhNQOZ
         dSgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181239; x=1692786039;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1LCHRZgc+hBy0s0HZAJ5FU9CXl325alrh/h/y5fRpu8=;
        b=MBYdT88SLIRBH3ZCx5chP1qJ6JK8+hzkJejJVkYeh3DRKkTbDyda+OZvLOj491sayc
         a564Wg5FWBXvDES4kw8l91VQuZ+wFT3vXvFKVm6kxSgLi5zXGeEZt1zN5sRzoIIKR0KN
         UDUan+hAUkPsBpgXUdfXPV+ZYkpQXgX9eV07HlWDdqMjTAc6eKA7NfaGXainoS9Zesi1
         Q61On97fDy+aFQdJ5KenqrPHLq8xoKexEM+7hQ9IPM0+4NFdPcE4rc6nBOdUlChdhjZM
         CD5Dnmlkee/gNMHEhjQ04fnoZwzGe7TYuplrr12IqGAsTt1l1D0tamKo+2In3rLGHjGc
         0k/A==
X-Gm-Message-State: AOJu0YylXPUOsmCetMhhycwFkbNQ6Ph9Xt8q0s/kJQ+12b+1NRqQ8HxU
	pFCWBbEZEm/npW6v+OGvJPseOu33D2bWuiJc
X-Google-Smtp-Source: AGHT+IG39bsuDoglkMGjOOfoVa1/5SZpxRN/EtmpU69vaK33fvCzzUTYk3ADgyUhW0SL2+AjVkappg==
X-Received: by 2002:a2e:3a05:0:b0:2b7:b9ca:3eda with SMTP id h5-20020a2e3a05000000b002b7b9ca3edamr1176467lja.34.1692181238813;
        Wed, 16 Aug 2023 03:20:38 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 29/56] xxen/riscv: introduce asm/hardirq.h
Date: Wed, 16 Aug 2023 13:19:41 +0300
Message-ID: <94e7437392b5a77d58a91727b36eaf8c49c55cb3.1692166745.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692166745.git.oleksii.kurochko@gmail.com>
References: <cover.1692166745.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/hardirq.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/hardirq.h

diff --git a/xen/arch/riscv/include/asm/hardirq.h b/xen/arch/riscv/include/asm/hardirq.h
new file mode 100644
index 0000000000..467421849a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/hardirq.h
@@ -0,0 +1,26 @@
+#ifndef __ASM_RISCV_HARDIRQ_H
+#define __ASM_RISCV_HARDIRQ_H
+
+#include <xen/smp.h>
+
+typedef struct {
+        unsigned long __softirq_pending;
+        unsigned int __local_irq_count;
+} __cacheline_aligned irq_cpustat_t;
+
+#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
+
+#define in_irq() (local_irq_count(smp_processor_id()) != 0)
+
+#define irq_enter()     (local_irq_count(smp_processor_id())++)
+#define irq_exit()      (local_irq_count(smp_processor_id())--)
+
+#endif /* __ASM_RISCV_HARDIRQ_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584445.915199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnu-0004OE-Oc; Wed, 16 Aug 2023 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584445.915199; Wed, 16 Aug 2023 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDnu-0004Na-Gt; Wed, 16 Aug 2023 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 584445;
 Wed, 16 Aug 2023 10:31:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeH-0003RA-3d
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:09 +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 96013628-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:56 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3197f632449so2046386f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:56 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 96013628-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181255; x=1692786055;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xyGs7CnsViwgB5MgcxTTzAGPB+T2Y8tFCTpCN8v2198=;
        b=V6Uc5dIpcKOHvGRRdn03XFm2/DIWrt0Ocxwq/2Pli5zGu5WgX0hl3knnAUUzxtdUc3
         lKPWGC45zDXJsJrmCIdgA1cw14Jbc1PcgnYAGxnab16D2UhOS12fdE2BALxl4p2bhLac
         dqtRuMZDuIsjtPpu6X1zjmilArdZGL1nuQeYJHEWhCNGyjTJ75FkD7eDGT/C4T2URkWl
         RmGC4hHRRg0qVCQNc5Hd63ha+EgvRwLEj2aIp8N3PL/9YOk+Imy/J02MKp3kr1kCp5f8
         d1VdEWrVSABdcZqH46/DNnigsUHkpSQvvFFmMk2FOqG1NPNMa4LaFe1gbaN1wum3OHHl
         lqYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181255; x=1692786055;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xyGs7CnsViwgB5MgcxTTzAGPB+T2Y8tFCTpCN8v2198=;
        b=Nug94O/Tznb/vMSUqN5+2v3edeH6GsFOLMZ1znAXn5VRA7s7hGqfKGnRmrixO76/Aq
         UyABtsvQhf9NgcwMzWiqJSDZJPsIAeRViUxOvXvR6Sw5xrKcfDOYaSg+MS+74zX5etPr
         PCjGnGMIRDxhvIeEPATt7YDdarbJFBBuWBRUg/BcwWTWsoLUoeW9oayDDI9FSv9WiReR
         aWBIteNIpRWAQPBIVFLnpqjwQF6fbFUisWHQp/6KClztwNjimOxUvBBE2/RwZOFZO0Hx
         KnaNDuoP4j9dea91PmDYVhUTTJkL1KXM9CFX7X1nqAt0LjpSuyENG0cPIJIh2099Ubry
         iTBg==
X-Gm-Message-State: AOJu0Yw2Gy9SVeDs+/qD+vf2PoUxjZB2FXgOyhcNVeuXNK/fpF5b316Y
	D1EBVixvTSzydAkLEvx726inuSq3tlKHZYSh
X-Google-Smtp-Source: AGHT+IF4I3zhVFFCcSCP5RHe/vVkgg0jJN/B9mkw4/3wZ2J4n42ccn5NtIwS8/C983cGRiIQN1i8Hw==
X-Received: by 2002:a5d:440f:0:b0:319:6e58:7095 with SMTP id z15-20020a5d440f000000b003196e587095mr1050171wrq.66.1692181255210;
        Wed, 16 Aug 2023 03:20:55 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 49/57] xen/riscv: add minimal stuff to asm/processor.h to build full Xen
Date: Wed, 16 Aug 2023 13:20:02 +0300
Message-ID: <49fc04992808963a17321e4f34b8310a4b3077fb.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/processor.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index 6db681d805..b6218a00a7 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -12,6 +12,9 @@
 
 #ifndef __ASSEMBLY__
 
+/* TODO: need to be implemeted */
+#define get_processor_id() 0
+
 /* On stack VCPU state */
 struct cpu_user_regs
 {
@@ -53,6 +56,18 @@ struct cpu_user_regs
     unsigned long pregs;
 };
 
+/* TODO: need to implement */
+#define cpu_to_core(_cpu)   (0)
+#define cpu_to_socket(_cpu) (0)
+
+static inline void cpu_relax(void)
+{
+	int dummy;
+	/* In lieu of a halt instruction, induce a long-latency stall. */
+	__asm__ __volatile__ ("div %0, %0, zero" : "=r" (dummy));
+	barrier();
+}
+
 static inline void wfi(void)
 {
     __asm__ __volatile__ ("wfi");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584451.915214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDo5-0005rg-21; Wed, 16 Aug 2023 10:31:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584451.915214; Wed, 16 Aug 2023 10:31:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDo4-0005r9-SX; Wed, 16 Aug 2023 10:31:16 +0000
Received: by outflank-mailman (input) for mailman id 584451;
 Wed, 16 Aug 2023 10:31: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeB-0003R9-Kf
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21: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 96ef6b01-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:57 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-31768ce2e81so5613119f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:57 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96ef6b01-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181257; x=1692786057;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=152YIcayb5lszzDNzvGMYHXYeb3oKu8LSJxFJQLQtH0=;
        b=s6G41I2rCnF0GZjdKHn9tiArLA4DAeXhBK1HtgPdA4dpmOUwGKO5w7VciXGu6m6sxX
         NfnvEKxviC3e9vK7t3CNq1unf1+SGhoW9HK1pmNApMPODUKcB2N91O0MsdOogzB0J5GQ
         FdkYgh9+Iaw/xvQpiZuyks38Gtl+EnUJkEqbGhkuckbKuCKkhXc+oY1G0cEpm6URRSpK
         uIFeSa0+7549GdChm+ytaFM5sSb/Tp7C04l2yeeU/edrxZg1Oh9SLfCl9byReUGEmOsa
         RAiXINibtcQRZmChg3JwuAc0QOU/KtJCS6Tv8EfIsaJCLMdp8Pbz+9bYk+Mg8z8PBDr5
         g7mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181257; x=1692786057;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=152YIcayb5lszzDNzvGMYHXYeb3oKu8LSJxFJQLQtH0=;
        b=lokZ4GMIyjhoVwZ42vqQ9d8z4z1UpUGU8+IZ1vYHXoNE5l8yIyBO+U5KMLzjokcQrw
         O7UxJ/jlUKMZbysCoD5S1JewjhodMuX4qegjHf8YDQ79Uu8lM3Ir31YcggJWhF295O1l
         3Zf9yB0r/gJDeAX/lIR43Obk7e5ng4+w+jOh8Q4genCH8OK3kYkq/BN+0nXKbqGxQWBa
         GeZ2+qpZnLojuMah97+O5mLRRYzPnsgq+xLr2y41QREItA9DdGXTCQsLCnFZ3u4ew9XG
         CfYNkNGb1iQ2EagPZ0WBTraCZMIr8Yiw8y2YSjDpfGnx6NUo4Hktb448e6FC1qXw1USI
         woYw==
X-Gm-Message-State: AOJu0Yw1n5zzbNz9L0ifUvcpD6T7V96TnvwGC5tdC5FTqulFRk9hkmU0
	Jj75ABt9S3IHF4nDHAkiD8bS2k+zqOVa29N5
X-Google-Smtp-Source: AGHT+IE5CGGor7/2ZbSn8FlufC5wlVX/jSlP2VpVxxbMeq3rzn3wzQebM40Aazre/6Iv4jZOcmreiA==
X-Received: by 2002:a5d:4d92:0:b0:31a:cc98:a39b with SMTP id b18-20020a5d4d92000000b0031acc98a39bmr250544wru.40.1692181256752;
        Wed, 16 Aug 2023 03:20:56 -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>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 51/57] xen: add RISCV support for pmu.h
Date: Wed, 16 Aug 2023 13:20:04 +0300
Message-ID: <2506a46733cf4a7dc1d021b83437165d61921563.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/include/public/pmu.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/public/pmu.h b/xen/include/public/pmu.h
index eb87a81e7b..801912900b 100644
--- a/xen/include/public/pmu.h
+++ b/xen/include/public/pmu.h
@@ -11,6 +11,8 @@
 #include "arch-x86/pmu.h"
 #elif defined (__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined(__riscv)
+#include "arch-riscv.h"
 #else
 #error "Unsupported architecture"
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584452.915223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDo6-0006D3-Gw; Wed, 16 Aug 2023 10:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584452.915223; Wed, 16 Aug 2023 10:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDo6-0006CF-CD; Wed, 16 Aug 2023 10:31:18 +0000
Received: by outflank-mailman (input) for mailman id 584452;
 Wed, 16 Aug 2023 10:31:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdk-0003RA-Ii
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20: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 897f77b2-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:35 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fe9c20f449so28962775e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:35 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 897f77b2-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181234; x=1692786034;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sLIASc1fyYfMjusfrMttWAQg8/twNkOwdqmjV/1G2Fc=;
        b=kaKR7umiM0h39ZFQVRDgarJtolm0eEM3cAXiiUmpiUjOm/GhJyFf3lAQMTlmWGzZsi
         A///Bu2YCorwkk8FNYajoQ1vZW6JzswOHpLciHtSoP7txJMeoHtTMAFluiODsrekrBpG
         X0c7hMgS13SBynL1LXctnbsXZojkdMPIARs+mu5AyjMRrdpqUosmARPycrlC5g6xelJ5
         pi9y58fFFnVjBP0lJJqIvlayApQyvJkTgDMjedmUBx8Orl5h5urRrzjYo42duU0RdXnH
         ZOWJ8DFedXoPQF7An3KQFTxSulg1fINZYY7ckw/0kWDMI5H/GhKkVQzoXvrD+4GU+NKd
         mRAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181234; x=1692786034;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sLIASc1fyYfMjusfrMttWAQg8/twNkOwdqmjV/1G2Fc=;
        b=OpEFVSrW9I7RaIpIeq7DlEsjX4RlFn86EPTg8tbJPmSDT024i4VKDQb7zQ9FD4XMd+
         vFi7iiyDGU6kqLGDDzGIb210LuuAS7qPxeZ2z2PfuQq3fwkNo4knppWcFU4k7sURtWK1
         d6bLscWPxME8eIMH3mT9J+brWg/hhbHinDa8JbpCvCD9v5XiDnXmvOeD7X4tBpBthrmz
         l9zwATl6XEd4f7vJrqm1B9zKe8dATwJ/BJ8842B0DuyBeAJblo3g6VKCmMjjeA2Nyt+r
         yWa31uIgbR15P2HV16lEKxpnGF6erDunKC9YJ4zoITJlb3q8vxEstww1S0TNe/oQl1qC
         JBOA==
X-Gm-Message-State: AOJu0Yzgb5gDmN5cX8SG3WIGWisf+6JGddDYBHDrH3saDPBc0rXOVH3n
	UVivNX2fT6g7L13RYjXZsBgYwQdDrco6gkyk
X-Google-Smtp-Source: AGHT+IFBrDaJx0kKlKbLXHePOS4B9TQ+9HilzbO+YwCEtC0GDaCRTRdAkcbgAXUOL00030HssdY92A==
X-Received: by 2002:a1c:f715:0:b0:3fc:60:7dbf with SMTP id v21-20020a1cf715000000b003fc00607dbfmr1055200wmh.41.1692181234302;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 24/57] xen/riscv: introduce asm/percpu.h
Date: Wed, 16 Aug 2023 13:19:35 +0300
Message-ID: <2b60f93696f70dcd430cb525597b12f5d154262c.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/percpu.h | 33 +++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/percpu.h

diff --git a/xen/arch/riscv/include/asm/percpu.h b/xen/arch/riscv/include/asm/percpu.h
new file mode 100644
index 0000000000..6b317a28fd
--- /dev/null
+++ b/xen/arch/riscv/include/asm/percpu.h
@@ -0,0 +1,33 @@
+#ifndef __ASM_RISCV_PERCPU_H__
+#define __ASM_RISCV_PERCPU_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+
+extern char __per_cpu_start[], __per_cpu_data_end[];
+extern unsigned long __per_cpu_offset[NR_CPUS];
+void percpu_init_areas(void);
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[get_processor_id()]))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, get_processor_id()))
+
+#endif
+
+#endif /* __ASM_RISCV_PERCPU_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584459.915234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoE-00070L-PR; Wed, 16 Aug 2023 10:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584459.915234; Wed, 16 Aug 2023 10:31: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 1qWDoE-000706-L6; Wed, 16 Aug 2023 10:31:26 +0000
Received: by outflank-mailman (input) for mailman id 584459;
 Wed, 16 Aug 2023 10:31: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeG-0003R9-Lm
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:08 +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 9931643c-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:21:01 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fea0640d7aso23332885e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:21:01 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:21: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: 9931643c-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181260; x=1692786060;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m7plBrwYlrmMxSQPlaLvBR29Au+PB9An3O52QlLHAxw=;
        b=K73uyRH0DFR6ZELr5ZWG4kS728ugriPKAu5SQjjN/RX48lIKPAYx+Nq3XFeW1d40yW
         tFq28BEmAW+mhrRuFBqITj14h1uCzpSdwYLlXK5jIhz1K/FljfSdefqMPH4SWbPi03ZG
         06Ub+HK1ucKQaKt07Yh8f4bNltlYhZfKW68xOJ/VKtn9aK8CNtW5tm40E2o3/Uc3K90N
         VBXlOzbg/jHjD1o12TkeuO9Wg1qEEOZdGP374KhjESSWyd1pF4wb0wC7xD0un0JHge+u
         neO+tU1Njc4VDxWDx8Wf5Nlk7UFHeeXqG57Q1TvIlQw9bqZ+K/g0W3oi9cvCJNbwTS0P
         GQCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181260; x=1692786060;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=m7plBrwYlrmMxSQPlaLvBR29Au+PB9An3O52QlLHAxw=;
        b=EpXkB0jcy/NF5mQgEaDE6zjoaLn59/iqUTbJ30mf9SyyddddMQkkYKhWi5gt3AEFSi
         ZEva08NhuiAHJfC0Vsf8Taqw8k7FhkUwjfhuD0bY6CsdNIjvMmRPDkpFotU1a0+geTBd
         swsxoAx8aytmLZTuNREaibI4knRyxvLkAboK/QUi64I2oJlhWrVS6U6uPbw72GzM6j0c
         DgIY5O5+uK1RDodQi89AiXJIWV5+viz/tEFmvQA5LBVhKHqgNAk9KzlrypeAmaqYtiqf
         gmgNtyoeVUAh+/lTlfOn3GdkbaMKFV9kt5IjVEmqyeGNfkGa3izMw042s3KxzJ4Qqpz/
         pGkg==
X-Gm-Message-State: AOJu0Yz3lDO3ENHbWfg+8c6p93lP/iQkqD84zX2xSR5CgVq8DIqqt42T
	A58i1q9crDR1oRe8Rslwy9HpryDnGIHr+5tS
X-Google-Smtp-Source: AGHT+IEHgcRu5P1lAisUIGrlaNwDTC4k/w81NPtMTQJUm72hWKT5/GoK3yHN1hYr9SbdpvYpyvYdgg==
X-Received: by 2002:adf:fd0e:0:b0:317:9537:d746 with SMTP id e14-20020adffd0e000000b003179537d746mr990558wrr.2.1692181260591;
        Wed, 16 Aug 2023 03:21:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 55/57] xen/riscv: enable full Xen build
Date: Wed, 16 Aug 2023 13:20:08 +0300
Message-ID: <97ea21fee2f343b8dd5a7926407664f9a90d2f2e.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile                 | 16 +++++++++++++++-
 xen/arch/riscv/arch.mk                  |  4 ----
 xen/arch/riscv/configs/tiny64_defconfig | 19 ++++++++++++++++++-
 xen/arch/riscv/stubs.c                  | 18 ------------------
 4 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 50c09469a0..9c02cb0ccf 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 8403f96b6f..12b1673fae 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -13,7 +13,3 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
-
-# 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/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index 3c9a2ff941..4b488180ae 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -6,7 +6,24 @@
 # CONFIG_HYPFS is not set
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
-
+# CONFIG_ARGO is not set
+# CONFIG_HYPFS_CONFIG is not set
+# CONFIG_CORE_PARKING is not set
+# CONFIG_DEBUG_TRACE is not set
+# CONFIG_IOREQ_SERVER is not set
+# CONFIG_CRASH_DEBUG is not setz
+# CONFIG_KEXEC is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_MEM_ACCESS is not set
+# CONFIG_NUMA is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_HAS_PMAP is not set
+# CONFIG_TRACEBUFFER is not set
+# CONFIG_XENOPROF is not set
+# CONFIG_COMPAT is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_UBSAN is not set
+# CONFIG_NEEDS_LIBELF is not set
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
 CONFIG_DEBUG_INFO=y
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 3232039bc2..5f3040965e 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -417,21 +417,3 @@ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 {
     BUG();
 }
-
-/* need for build until common code starts be buildable */
-unsigned long __read_mostly max_page;
-
-void printk(const char *fmt, ...)
-{
-    BUG();
-}
-
-void cf_check irq_actor_none(struct irq_desc *desc)
-{
-    BUG();
-}
-
-unsigned int cf_check irq_startup_none(struct irq_desc *desc)
-{
-    return 0;
-}
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584460.915240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoF-00076B-6h; Wed, 16 Aug 2023 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584460.915240; Wed, 16 Aug 2023 10:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoE-000759-UV; Wed, 16 Aug 2023 10:31:26 +0000
Received: by outflank-mailman (input) for mailman id 584460;
 Wed, 16 Aug 2023 10:31:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdr-0003RA-0J
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:43 +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 8bbf01ba-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:38 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-3fe45481edfso64405875e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:38 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8bbf01ba-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181238; x=1692786038;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1LCHRZgc+hBy0s0HZAJ5FU9CXl325alrh/h/y5fRpu8=;
        b=q8QUfkMLEUWB1AYlkq4TxKJf7NFUWjFM2Q9Srg5YPyd8CF3ZT8zxo9MYDIQJHHvccz
         UBATxehA4wcetyVaY/oFFqCfnYkpRLTuejqpnnPf/TaH47ap2RPK3K2zvzk2T96VYyoS
         StN/3C2To+npLOV3a68sEMiwZGKc/wyEbH5anXc4glsLNdrYHtGYbl1GXg/3MRMxQqk/
         E+B7usiTxcMRbk8AqlGz+9pBT2fkyDXXKBbl/OdzQMSGsGpsgHj+qzlL6F91iny2kEab
         SxZapnH0DvrDVA2aEb7bvYPd0aJtyPZ6XUeqwivyr8tzglQuhW37+ZsebQ+nQxOHrGPW
         vCHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181238; x=1692786038;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1LCHRZgc+hBy0s0HZAJ5FU9CXl325alrh/h/y5fRpu8=;
        b=F4d0ZhdzrItH+9gu9BJuh8KfMRzpbFw3Oc1X+sCajTA1yKJdpGYRG4M3RzVuXCn458
         9ZaBlmD63UEywcso2OxHXX3FUI8hKQbra3VctHMP1/JyK3PHxwecWv+Io0+fdjhjuRQp
         V3ACAOsudwNbf+XNRugtYm6wv0UIJiR3esQ18uEaJUxI9wPfnXMz0yaUFbYWX/4KHpH8
         VX6s1anibvRUzP6I5qMd2k5IMeyzPdakcLxMrbgScMfT9SMOkH9EGOEjAPmuIr8vpNY0
         0JkneAUCeTHUiQIEH0ZQnOrRtESiNvAuwaj4OfEIbKvpRM2MV1UFbh/dOQeDNpwaBxTt
         JvYA==
X-Gm-Message-State: AOJu0YxskWhlCNwMtrkXASfl3RB7M6xXdplNEHZMhvq7RBFmDq7esCRo
	cKJ7UNXZJ/FOxwcSV4+oLlfYDA73Zzik7bIH
X-Google-Smtp-Source: AGHT+IGeJTYa8pABFegJPQdgIkMQmx3BC1J499yObXqgc93yhTi+MIemhshAphZSQQUm/xJeOV/uNg==
X-Received: by 2002:a1c:ed13:0:b0:3fe:1446:6047 with SMTP id l19-20020a1ced13000000b003fe14466047mr1048599wmh.23.1692181238058;
        Wed, 16 Aug 2023 03:20:38 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 29/57] xen/riscv: introduce asm/hardirq.h
Date: Wed, 16 Aug 2023 13:19:40 +0300
Message-ID: <b36444b3cdaa47b14a7344615eb30fb81a72ad43.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/hardirq.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/hardirq.h

diff --git a/xen/arch/riscv/include/asm/hardirq.h b/xen/arch/riscv/include/asm/hardirq.h
new file mode 100644
index 0000000000..467421849a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/hardirq.h
@@ -0,0 +1,26 @@
+#ifndef __ASM_RISCV_HARDIRQ_H
+#define __ASM_RISCV_HARDIRQ_H
+
+#include <xen/smp.h>
+
+typedef struct {
+        unsigned long __softirq_pending;
+        unsigned int __local_irq_count;
+} __cacheline_aligned irq_cpustat_t;
+
+#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
+
+#define in_irq() (local_irq_count(smp_processor_id()) != 0)
+
+#define irq_enter()     (local_irq_count(smp_processor_id())++)
+#define irq_exit()      (local_irq_count(smp_processor_id())--)
+
+#endif /* __ASM_RISCV_HARDIRQ_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584463.915254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoH-0007e3-FD; Wed, 16 Aug 2023 10:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584463.915254; Wed, 16 Aug 2023 10:31:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoH-0007dm-9h; Wed, 16 Aug 2023 10:31:29 +0000
Received: by outflank-mailman (input) for mailman id 584463;
 Wed, 16 Aug 2023 10: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdz-0003RA-1n
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:51 +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 8e9fc57a-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:43 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-319779f0347so2468998f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:43 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e9fc57a-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181243; x=1692786043;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BbXnYw2fTYXK3djjpoxGKgmG+n8yHQR2q+sqVdKD3LI=;
        b=oHh4cxPQAzxKfe/pRs+V7lFBEkRRgJpyD6is7QX9FNqnTP9nMIJO2fX13HRYTadmMV
         O24PlCv2dVsjHXDqA8Px/9uTJTmyKYkwKUcU08eVnsSa5Tkt6RUVLH29NevwH8mSvzCN
         8wB8Y6uWnkLLsDz2ckBshBwMDeSJR0xTMusWlqQh7JSqCV4s7Lb0C/wA+gsqvLDZmVaM
         upgQUGFz2MAfRQTkbeAFCvCdptg65norp4n39fGjwpQ4BdELlWDlVz0W3Tkf/Z5eNDU3
         rnl4P0ZSYtqGmyYOZ2DoFrkvHcNnbLFe1N3UOKuVjiKtXcYKisVwpUHB6sKdCMrzaQG9
         GMDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181243; x=1692786043;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BbXnYw2fTYXK3djjpoxGKgmG+n8yHQR2q+sqVdKD3LI=;
        b=k0S+IJjAUZu8xp6eJxBM3NSOX3wkCklxkH3P3WlX7wCgYXaANuAtB+7/g7GFU6dSG/
         tKCoW740WHTgme6RmjiwKyC/0z13idmxZAaVJflevDrIQfNIhcpYetc52OZB9FYZEwJu
         UD555QY0JwzR/iFDy7s8d7K13fVd9/89SOVKQWhF6Hx+hQ1bolkDfoI+X5GWHbWA5bep
         TX62XbbuZ9H8IvM7nm6lKMhJFcPPxBK+kGhY5zRMC9kOWK+HFadNMpm+X8vLBlBR7s9N
         Um5JaE3zYAqeLPFXKTLe7/Mf4A7HVq0W99bqUX7fYetCPx/beO7jWSK7UuWS/ochwCmt
         HCRA==
X-Gm-Message-State: AOJu0YzN12GFXzE+JRUs3+juW1Z7NFDWqEOMDIcqn3XJ9F8htaJCTlQG
	WBL2Ysyvy2sTlc0X7mNAAkwBfOGR3HQgB3T5
X-Google-Smtp-Source: AGHT+IE+CBCS+UtMfG6Ir0hhMUgEClxsv0FemiwDCeU+577EY8cOG72e3Iwikgh9dowwuLjxJCUDIA==
X-Received: by 2002:adf:cd06:0:b0:316:ff0e:81b6 with SMTP id w6-20020adfcd06000000b00316ff0e81b6mr1441650wrm.32.1692181242884;
        Wed, 16 Aug 2023 03:20:42 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 34/57] xen/riscv: introduce asm/delay.h
Date: Wed, 16 Aug 2023 13:19:46 +0300
Message-ID: <02c9ae872feb85cf3d384f0504c6af7040f97c7e.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/delay.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/delay.h

diff --git a/xen/arch/riscv/include/asm/delay.h b/xen/arch/riscv/include/asm/delay.h
new file mode 100644
index 0000000000..40370e381a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/delay.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2009 Chen Liqin <liqin.chen@sunplusct.com>
+ * Copyright (C) 2016 Regents of the University of California
+ */
+
+#ifndef _ASM_RISCV_DELAY_H
+#define _ASM_RISCV_DELAY_H
+
+#include <xen/lib.h>
+
+static inline void udelay(unsigned long usecs)
+{
+    BUG();
+}
+
+#endif /* _ASM_RISCV_DELAY_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584466.915264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoL-0008L8-Q5; Wed, 16 Aug 2023 10:31:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584466.915264; Wed, 16 Aug 2023 10:31: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 1qWDoL-0008Kn-LW; Wed, 16 Aug 2023 10:31:33 +0000
Received: by outflank-mailman (input) for mailman id 584466;
 Wed, 16 Aug 2023 10:31:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdq-0003RA-08
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:42 +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 8b50dd70-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:38 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-3fe5c0e587eso63771625e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:38 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8b50dd70-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181237; x=1692786037;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wh757Bp44sfrNcfrLbyxADwAwn7y+najRiXAOGZcVhk=;
        b=E0JdCagmCAtQZsRv1SIF8uqgZu1E10B3ztSkQLZfT3qenSq0p84Bj98uMOOD/R7js1
         nb+yD8G3VGkZXZMD+1Rx9jLYMA6wP6vIWID+LMGHncNoIKkhhRylT8xNEl4SD7YR9cuc
         hKLkBLYvR/KffwlEMrBfRpd1FwLc1dWZ6Qm2/0NY0/DR/qvplc4L563Nu7G2sIvWR0mn
         q72wVmE86KSbUuPfnH7I+1dQwGztN8VSCa3NpPpbi4T08upVe0pW4LdlT+NzocLb8rMS
         P2AgcqEEptq9inuxeJwC+bjn2dofLIiZIBSrKMCR+MD51qyG9ihF3A1m6Ee/AQFENByx
         hCSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181237; x=1692786037;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wh757Bp44sfrNcfrLbyxADwAwn7y+najRiXAOGZcVhk=;
        b=HW0D+pXrI8r86kuAHwwvb5GnraEduxpXrqYs0xoX0ULx3altKJs1fW0q0cxvIZ8DeL
         h7xx2gLPODbZB/XOOszbRdl68vsdu0s9vNu7BiDNtFlVkM211QmVqGzq7JNPhOlLQSxt
         HTtVuFitIZ8aURMuXbobChoWxSHZGVBZELRPRFJQj+wkTVBK2uUA6h8aBFKBToYmwpSp
         XuMXVexLQPEXUZQjKy/SmYJ8VowNpTU2dO9ZlErQTvoncOC5bilOMajBf2yIVgnPehvC
         qtrM5BxQQ9MQ3g92TF75G9sXHvoqNzqM4Che2LHs76GTsqfBFQkku7KE/shxLxGVeuEy
         4yCw==
X-Gm-Message-State: AOJu0YyDnDiDzCD4z5uGR11lZo4qkqXGJooW35eN1PZQuAsA/xzro8jh
	JzcVA7DIS11dPC/ZrDBUruGTJ1Gx2bmvsZbQ
X-Google-Smtp-Source: AGHT+IEfE1Wyew6TS8yIH3QmKwqoydTD1c/jtUdupCbPZPJUQa3nJP8hztoo3wMcGrqW/ZN+IQvASA==
X-Received: by 2002:a7b:c7c7:0:b0:3fc:3e1:7105 with SMTP id z7-20020a7bc7c7000000b003fc03e17105mr1036851wmk.24.1692181237262;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 28/57] xen/riscv: introduce asm/io.h
Date: Wed, 16 Aug 2023 13:19:39 +0300
Message-ID: <39827b08ffe34621e572daabb1830b51e566fc5b.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/io.h | 132 ++++++++++++++++++++++++++++++++
 1 file changed, 132 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..8c83c9689b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/io.h
@@ -0,0 +1,132 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * {read,write}{b,w,l,q} based on arch/arm64/include/asm/io.h
+ *   which was based on arch/arm/include/io.h
+ *
+ * Copyright (C) 1996-2000 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ * Copyright (C) 2014 Regents of the University of California
+ */
+
+#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. */
+#define __raw_writeb __raw_writeb
+static inline void __raw_writeb(u8 val, volatile void __iomem *addr)
+{
+	asm volatile("sb %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#define __raw_writew __raw_writew
+static inline void __raw_writew(u16 val, volatile void __iomem *addr)
+{
+	asm volatile("sh %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#define __raw_writel __raw_writel
+static inline void __raw_writel(u32 val, volatile void __iomem *addr)
+{
+	asm volatile("sw %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#ifdef CONFIG_64BIT
+#define __raw_writeq __raw_writeq
+static inline void __raw_writeq(u64 val, volatile void __iomem *addr)
+{
+	asm volatile("sd %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+#endif
+
+#define __raw_readb __raw_readb
+static inline u8 __raw_readb(const volatile void __iomem *addr)
+{
+	u8 val;
+
+	asm volatile("lb %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#define __raw_readw __raw_readw
+static inline u16 __raw_readw(const volatile void __iomem *addr)
+{
+	u16 val;
+
+	asm volatile("lh %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#define __raw_readl __raw_readl
+static inline u32 __raw_readl(const volatile void __iomem *addr)
+{
+	u32 val;
+
+	asm volatile("lw %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#ifdef CONFIG_64BIT
+#define __raw_readq __raw_readq
+static inline u64 __raw_readq(const volatile void __iomem *addr)
+{
+	u64 val;
+
+	asm volatile("ld %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+#endif
+
+/*
+ * 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)		({ u8  __r = __raw_readb(c); __r; })
+#define readw_cpu(c)		({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
+#define readl_cpu(c)		({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
+
+#define writeb_cpu(v,c)		((void)__raw_writeb((v),(c)))
+#define writew_cpu(v,c)		((void)__raw_writew((__force u16)cpu_to_le16(v),(c)))
+#define writel_cpu(v,c)		((void)__raw_writel((__force u32)cpu_to_le32(v),(c)))
+
+#ifdef CONFIG_64BIT
+#define readq_cpu(c)		({ u64 __r = le64_to_cpu((__force __le64)__raw_readq(c)); __r; })
+#define writeq_cpu(v,c)		((void)__raw_writeq((__force u64)cpu_to_le64(v),(c)))
+#endif
+
+/*
+ * 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(v)	__asm__ __volatile__ ("fence i,r" : : : "memory");
+#define __io_bw()	__asm__ __volatile__ ("fence w,o" : : : "memory");
+#define __io_aw()	do { } while (0)
+
+#define readb(c)	({ u8  __v; __io_br(); __v = readb_cpu(c); __io_ar(__v); __v; })
+#define readw(c)	({ u16 __v; __io_br(); __v = readw_cpu(c); __io_ar(__v); __v; })
+#define readl(c)	({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(__v); __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(); })
+
+#ifdef CONFIG_64BIT
+#define readq(c)	({ u64 __v; __io_br(); __v = readq_cpu(c); __io_ar(__v); __v; })
+#define writeq(v,c)	({ __io_bw(); writeq_cpu((v),(c)); __io_aw(); })
+#endif
+
+#endif /* _ASM_RISCV_IO_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584471.915274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoR-0000aC-A6; Wed, 16 Aug 2023 10:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584471.915274; Wed, 16 Aug 2023 10:31:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoR-0000Zc-58; Wed, 16 Aug 2023 10:31:39 +0000
Received: by outflank-mailman (input) for mailman id 584471;
 Wed, 16 Aug 2023 10:31: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdx-0003RA-1L
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:49 +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 8e2f83d4-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:42 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3197808bb08so2361070f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:42 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 8e2f83d4-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181242; x=1692786042;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nw6XWi8iLvVUaffgykiir1CEfHLlnE+6fW6zVZ1bFEQ=;
        b=dxEcjQviPNfbLKUBq+VfbDzrEjOejt+b0vgYEy2ej9G2ZIIuC2OS8t2vj4t0Mlyt/o
         1SeKIyt1FuEgxcH1glObVFjDsMlsREOSX475HeZTJOEKJhNJfRdcvgjYTUHDdmYpUVrJ
         TxEnI3dvowI6PT/f6TzfEkEyfR/LERhOnTlVoH7EO7X6tGLZhd9LLx476USFEs1GGOlk
         iV+FouZQdIe8qx3jFPmA1LbjOvkcGBb6PF+LKGSHRTi9rNouOnac75kYYrmpfL196lGO
         eLbdRvsnL13sABuKcgDhxo3voAlmp9A7TJGNiltOKYiCwOUTD0st8naCvPxoHZ1mpA1x
         23FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181242; x=1692786042;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nw6XWi8iLvVUaffgykiir1CEfHLlnE+6fW6zVZ1bFEQ=;
        b=IlaHakYqN6y4Y8Ltjs22qN1ue3GT9z0rdDetpdOedI62hygHvRVVBaPMipWLeez6WJ
         I2ozSAwJuusw05nFYDF7kX4gqGQvSmBOM62kyRR3FAogVEq5tTWFP+br27PJCQjOqHjX
         6QaAFCVASn+eA5sUla+LgrWS1PDWQO27fe2WP8DanhbuVbmzuyR2j9vahnEtq+n6DdRL
         euN6sQ3mSkx5K9Kbj0xHTzyvwWZFA3T39NACARO9Xjo4QIrsTSOgp0TYaUQbLpRyXZPe
         p1LglVCFiW6/meYE6cswXs8djvze1EHlR72JZpysjBvl83kxsWUU39K+bvlwerELpsly
         K+Hw==
X-Gm-Message-State: AOJu0YxUlesL0ih7ICj3+C5vFl4DoVscuimlG+0LbZsmsRZ4h2bihbD7
	ba/ZirwBsL9YIuYyYffPSPJXkRhkVYnTy64x
X-Google-Smtp-Source: AGHT+IEbS34MImoPRNl8aljhie/xx31EHhXK6IIy6ElbXhpKsYXVzlLrbnAlrHjl2SWcV76/KraYMw==
X-Received: by 2002:a5d:456d:0:b0:315:ad00:e628 with SMTP id a13-20020a5d456d000000b00315ad00e628mr1059194wrc.47.1692181242121;
        Wed, 16 Aug 2023 03:20:42 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 33/57] xen/riscv: introduce asm/altp2m.h
Date: Wed, 16 Aug 2023 13:19:45 +0300
Message-ID: <25e873b11f42bcde65494367ecb022a5f5e04564.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/altp2m.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/altp2m.h

diff --git a/xen/arch/riscv/include/asm/altp2m.h b/xen/arch/riscv/include/asm/altp2m.h
new file mode 100644
index 0000000000..dc72a624f6
--- /dev/null
+++ b/xen/arch/riscv/include/asm/altp2m.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Alternate p2m
+ *
+ * Copyright (c) 2014, Intel Corporation.
+ */
+
+#ifndef __ASM_RISCV_ALTP2M_H
+#define __ASM_RISCV_ALTP2M_H
+
+#include <xen/sched.h>
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on RISCV. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on RISCV, should not be reached. */
+    BUG();
+    return 0;
+}
+
+#endif /* __ASM_RISCV_ALTP2M_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584475.915284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoY-0001TP-JW; Wed, 16 Aug 2023 10:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584475.915284; Wed, 16 Aug 2023 10:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoY-0001TB-El; Wed, 16 Aug 2023 10:31:46 +0000
Received: by outflank-mailman (input) for mailman id 584475;
 Wed, 16 Aug 2023 10:31: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdl-0003R9-9H
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:37 +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 8a7a582a-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:36 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2ba1e9b1fa9so98742771fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:36 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8a7a582a-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181236; x=1692786036;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ktROlLLkVsr/Vru+fwr+2/apnkdAPdJLhJkZ6gifc9Y=;
        b=DiVphfRql6IW9faRGE3Nb9h1BD4ttcVo4XdJcgJQ2OtB2ZsI0X0fCcQU2fjs+eYEPx
         cI+QflqFPew+SYsb9+13iibxEPUF3xIO2BJol47YGPyMMYcLQ28xv+9W2fnMC9b+bWVT
         xN7Zkk/mYuspDsvoAxcKFBdcvgaWt56S5yDvWJFeEM/G8NeZwHA0jD2SN/kYJbH+7k3k
         F1mnaC2a1UD7U1DUGwQCrNP2OKFgpw2ILOWuYx8isUjcYOMPwlbOcP7deXNAixrec3IM
         546aRkU49Y4VANVmetek+a7QYIOLXNNcuDv9ECyEgiPChSQEjSLluSayTfdOYcz4G6wp
         Cp0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181236; x=1692786036;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ktROlLLkVsr/Vru+fwr+2/apnkdAPdJLhJkZ6gifc9Y=;
        b=gLizRgrz7KNMtsJXceRhYsvoCoEU+xl+ALuOzlcGvs/rCSjDMkA+v4R1N+IrZ7waWG
         TEQ4Kjfu4pdrN762Ht7mxSxbdZMPiOybksrpnMJSIdv6LHmO4OdjJq6KXvj6pDgBv5jw
         yMT+DgRnhKxuQUgDZfL477o077s93mSy+9EFZLDeB0rxWulafWWUXUqFObF2uW2dIUkO
         FmGYXJDNQoO+oO3ZG2t8a7uragBY4L/lMb82iIVRfrSfcYXPID1i1r1Wn4t9QAaDwxwI
         OEm1ZMDUF+dbD9+VT7wwYOK6soOXpgAlWTVb9lyKZX0QKVEXbtDEF8LDLZsJx0Dx58cG
         /R1A==
X-Gm-Message-State: AOJu0YzjaQdeXIvzNB5P3gIa6KdoNWHfYikRR+bPOl01EmXxkLsIK7+q
	f6f27bQMXc/4TbE5pjwGP/hRwVb5rEXPlPTj
X-Google-Smtp-Source: AGHT+IGp26pwsufnoc5CwPFx5fiJHiSTSRukxq47sMl0YA/rlO2F6dBMeHN9IXjI19RXChGUrGhRwQ==
X-Received: by 2002:a2e:9bd3:0:b0:2b7:14d4:ce6d with SMTP id w19-20020a2e9bd3000000b002b714d4ce6dmr1313885ljj.48.1692181235838;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 26/57] xen/riscv: introduce asm/atomic.h
Date: Wed, 16 Aug 2023 13:19:37 +0300
Message-ID: <842e0e9f2c5b08654a6765f38e7792c03a255cf8.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/atomic.h | 375 ++++++++++++++++++++++++++++
 1 file changed, 375 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/atomic.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..d4849cf282
--- /dev/null
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -0,0 +1,375 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Taken and modified from Linux.
+ * 
+ * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2017 SiFive
+ * Copyright (C) 2021 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);
+
+static always_inline void read_atomic_size(const volatile void *p,
+                                           void *res,
+                                           unsigned int size)
+{
+    switch ( size ) {
+    case 1: *(uint8_t *)res = readb((uint8_t *)p); break;
+    case 2: *(uint16_t *)res = readw((uint16_t *)p); break;
+    case 4: *(uint32_t *)res = readl((uint32_t *)p); break;
+    case 8: *(uint32_t *)res  = readq((uint64_t *)p); break;
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define read_atomic(p) ({                                               \
+    union { typeof(*p) val; char c[0]; } x_;                            \
+    read_atomic_size(p, x_.c, sizeof(*p));                              \
+    x_.val;                                                             \
+})
+
+
+#define write_atomic(p, x) ({                                           \
+    typeof(*p) __x = (x);                                               \
+    switch ( sizeof(*p) ) {                                             \
+    case 1: writeb((uint8_t)__x,  (uint8_t *)  p); break;              \
+    case 2: writew((uint16_t)__x, (uint16_t *) p); break;              \
+    case 4: writel((uint32_t)__x, (uint32_t *) p); break;              \
+    case 8: writeq((uint64_t)__x, (uint64_t *) p); break;              \
+    default: __bad_atomic_size(); break;                                \
+    }                                                                   \
+    __x;                                                                \
+})
+
+/* TODO: Fix this */
+#define add_sized(p, x) ({                                              \
+    typeof(*(p)) __x = (x);                                             \
+    switch ( sizeof(*(p)) )                                             \
+    {                                                                   \
+    case 1: writeb(read_atomic(p) + __x, (uint8_t *)(p)); break;        \
+    case 2: writew(read_atomic(p) + __x, (uint16_t *)(p)); break;       \
+    case 4: writel(read_atomic(p) + __x, (uint32_t *)(p)); break;       \
+    default: __bad_atomic_size(); break;                                \
+    }                                                                   \
+})
+
+/*
+ *  __unqual_scalar_typeof(x) - Declare an unqualified scalar type, leaving
+ *               non-scalar types unchanged.
+ *
+ * Prefer C11 _Generic for better compile-times and simpler code. Note: 'char'
+ * is not type-compatible with 'signed char', and we define a separate case.
+ */
+#define __scalar_type_to_expr_cases(type)               \
+    unsigned type:  (unsigned type)0,                   \
+    signed type:    (signed type)0
+
+#define __unqual_scalar_typeof(x) typeof(               \
+    _Generic((x),                                       \
+        char:  (char)0,                                 \
+        __scalar_type_to_expr_cases(char),              \
+        __scalar_type_to_expr_cases(short),             \
+        __scalar_type_to_expr_cases(int),               \
+        __scalar_type_to_expr_cases(long),              \
+        __scalar_type_to_expr_cases(long long),         \
+        default: (x)))
+
+#define READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
+#define WRITE_ONCE(x, val)                                      \
+    do {                                                        \
+            *(volatile typeof(x) *)&(x) = (val);                \
+    } while (0)
+
+#define __atomic_acquire_fence()					\
+	__asm__ __volatile__(RISCV_ACQUIRE_BARRIER "" ::: "memory")
+
+#define __atomic_release_fence()					\
+	__asm__ __volatile__(RISCV_RELEASE_BARRIER "" ::: "memory");
+
+static inline int atomic_read(const atomic_t *v)
+{
+	return READ_ONCE(v->counter);
+}
+
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+
+static inline void atomic_set(atomic_t *v, int i)
+{
+	WRITE_ONCE(v->counter, i);
+}
+
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter = i;
+}
+
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) == 0;
+}
+
+static inline void atomic_inc(atomic_t *v)
+{
+    atomic_add(1, v);
+}
+
+static inline int atomic_inc_return(atomic_t *v)
+{
+    return atomic_add_return(1, v);
+}
+
+static inline void atomic_dec(atomic_t *v)
+{
+    atomic_sub(1, v);
+}
+
+static inline int atomic_dec_return(atomic_t *v)
+{
+    return atomic_sub_return(1, v);
+}
+
+
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) == 0;
+}
+
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) == 0;
+}
+
+/*
+ * 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, I, 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" (I)						\
+		: "memory");						\
+}									\
+
+#define ATOMIC_OPS(op, asm_op, I)					\
+        ATOMIC_OP (op, asm_op, I, w, int,   )
+
+ATOMIC_OPS(add, add,  i)
+ATOMIC_OPS(sub, add, -i)
+ATOMIC_OPS(and, and,  i)
+ATOMIC_OPS( or,  or,  i)
+ATOMIC_OPS(xor, xor,  i)
+
+#undef ATOMIC_OP
+#undef ATOMIC_OPS
+
+/*
+ * Atomic ops that have ordered, relaxed, acquire, and release variants.
+ * 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, I, asm_type, c_type, prefix)	\
+static inline							\
+c_type atomic##prefix##_fetch_##op##_relaxed(c_type i,			\
+					     atomic##prefix##_t *v)	\
+{									\
+	register c_type ret;						\
+	__asm__ __volatile__ (						\
+		"	amo" #asm_op "." #asm_type " %1, %2, %0"	\
+		: "+A" (v->counter), "=r" (ret)				\
+		: "r" (I)						\
+		: "memory");						\
+	return ret;							\
+}									\
+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" (I)						\
+		: "memory");						\
+	return ret;							\
+}
+
+#define ATOMIC_OP_RETURN(op, asm_op, c_op, I, asm_type, c_type, prefix)	\
+static inline							\
+c_type atomic##prefix##_##op##_return_relaxed(c_type i,			\
+					      atomic##prefix##_t *v)	\
+{									\
+        return atomic##prefix##_fetch_##op##_relaxed(i, v) c_op I;	\
+}									\
+static inline							\
+c_type atomic##prefix##_##op##_return(c_type i, atomic##prefix##_t *v)	\
+{									\
+        return atomic##prefix##_fetch_##op(i, v) c_op I;		\
+}
+
+#define ATOMIC_OPS(op, asm_op, c_op, I)					\
+        ATOMIC_FETCH_OP( op, asm_op,       I, w, int,   )		\
+        ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int,   )
+
+ATOMIC_OPS(add, add, +,  i)
+ATOMIC_OPS(sub, add, +, -i)
+
+#define atomic_add_return_relaxed	atomic_add_return_relaxed
+#define atomic_sub_return_relaxed	atomic_sub_return_relaxed
+#define atomic_add_return		atomic_add_return
+#define atomic_sub_return		atomic_sub_return
+
+#define atomic_fetch_add_relaxed	atomic_fetch_add_relaxed
+#define atomic_fetch_sub_relaxed	atomic_fetch_sub_relaxed
+#define atomic_fetch_add		atomic_fetch_add
+#define atomic_fetch_sub		atomic_fetch_sub
+
+#undef ATOMIC_OPS
+
+#define ATOMIC_OPS(op, asm_op, I)					\
+        ATOMIC_FETCH_OP(op, asm_op, I, w, int,   )
+
+ATOMIC_OPS(and, and, i)
+ATOMIC_OPS( or,  or, i)
+ATOMIC_OPS(xor, xor, i)
+
+#define atomic_fetch_and_relaxed	atomic_fetch_and_relaxed
+#define atomic_fetch_or_relaxed		atomic_fetch_or_relaxed
+#define atomic_fetch_xor_relaxed	atomic_fetch_xor_relaxed
+#define atomic_fetch_and		atomic_fetch_and
+#define atomic_fetch_or			atomic_fetch_or
+#define atomic_fetch_xor		atomic_fetch_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.rl  %[rc], %[rc], %[c]\n"
+		"	bnez     %[rc], 0b\n"
+		"	fence    rw, rw\n"
+		"1:\n"
+		: [p]"=&r" (prev), [rc]"=&r" (rc), [c]"+A" (v->counter)
+		: [a]"r" (a), [u]"r" (u)
+		: "memory");
+	return prev;
+}
+#define atomic_fetch_add_unless atomic_fetch_add_unless
+
+/*
+ * atomic_{cmp,}xchg is required to have exactly the same ordering semantics as
+ * {cmp,}xchg and the operations that return, so they need a full barrier.
+ */
+#define ATOMIC_OP(c_t, prefix, size)					\
+static inline							\
+c_t atomic##prefix##_xchg_relaxed(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_relaxed(&(v->counter), n, size);			\
+}									\
+static inline							\
+c_t atomic##prefix##_xchg_acquire(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_acquire(&(v->counter), n, size);			\
+}									\
+static inline							\
+c_t atomic##prefix##_xchg_release(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_release(&(v->counter), n, 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_relaxed(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_relaxed(&(v->counter), o, n, size);		\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg_acquire(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_acquire(&(v->counter), o, n, size);		\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg_release(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_release(&(v->counter), o, 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()
+
+#define atomic_xchg_relaxed atomic_xchg_relaxed
+#define atomic_xchg_acquire atomic_xchg_acquire
+#define atomic_xchg_release atomic_xchg_release
+#define atomic_xchg atomic_xchg
+#define atomic_cmpxchg_relaxed atomic_cmpxchg_relaxed
+#define atomic_cmpxchg_acquire atomic_cmpxchg_acquire
+#define atomic_cmpxchg_release atomic_cmpxchg_release
+#define atomic_cmpxchg atomic_cmpxchg
+
+#undef ATOMIC_OPS
+#undef ATOMIC_OP
+
+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.rl  %[rc], %[rc], %[c]\n"
+		"	bnez     %[rc], 0b\n"
+		"	fence    rw, rw\n"
+		"1:\n"
+		: [p]"=&r" (prev), [rc]"=&r" (rc), [c]"+A" (v->counter)
+		: [o]"r" (offset)
+		: "memory");
+	return prev - offset;
+}
+
+#define atomic_dec_if_positive(v)	atomic_sub_if_positive(v, 1)
+
+#endif /* _ASM_RISCV_ATOMIC_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584482.915294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDom-0002Ue-Qu; Wed, 16 Aug 2023 10:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584482.915294; Wed, 16 Aug 2023 10:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDom-0002UI-N9; Wed, 16 Aug 2023 10:32:00 +0000
Received: by outflank-mailman (input) for mailman id 584482;
 Wed, 16 Aug 2023 10:31:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdu-0003RA-0Y
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:46 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d2fb5df-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:41 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-319e93a1594so550765f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:41 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d2fb5df-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181240; x=1692786040;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=upqQ3OmhoJ093rgDW+Yu4iVDwCfRMeswFRO8V/M3+4I=;
        b=XihWmi525ELmqThCX8L0XMuwiuuV4UheKiZSyJIqv2/anpp6hXSYO5HQv6jJc3j7mj
         GRYhTdJsX4jf0+jTFe23nGPAz8sqZpgsqgX33DefWO5jMWuppC4jETF+xV20/6QrLmcW
         p5PQ/L9gEu1u8LHXTyJCWjfFCv/n0oMOi7YNmPdj/3Vz//rYlwsREihW6vfPZGUhW50D
         E+YYpmvH6WEaCduld7xU3rKkStU9zua0QMrVYQXdkV7Ze2znIhnMZoztq2AMgQBV6zvi
         3cOI36nfiFKWXWqOsIt3LeIRpNN7JAeZMCy2emMa0cU4z8Q/fESOYh49k7qtHVkr7J51
         riuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181240; x=1692786040;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=upqQ3OmhoJ093rgDW+Yu4iVDwCfRMeswFRO8V/M3+4I=;
        b=jaVILhrlp8SjmLSTY2kOTK1Gib+v73pBZ4WZBaomVT97zOyiukSEyWX2i+bKL/DaII
         vkVg3iou54KhgMPFd0b6lTZcTUTw+KU/TKuyWI1UTgqe6N1cyzzwGseoxgXWCYbae3mJ
         3rey9xBIrmtYjaSsycIzt7KSEv9Umb5A749yh2S74f1xttZTc/lolr0wFU7PxRKnnQHQ
         erwL84RTwuhyf4rFjWdhcu+de+1SaOjYlrXMb58CebQ/PnY9djIFSGg5CvnB+LTdP68w
         dAxq//pv9MC3HQq8aUwBQ/Dvuh3E1eeN1WAVKWJLFqnnzYuMl8BRfhr5e3Yy0lx3h3Rr
         SNog==
X-Gm-Message-State: AOJu0Yxbb584PYf0wNkfDXVwUsBWQn2DzTtAKNZaN0AiG3om4Xb844sU
	0JmN5D+17jmeh/9wullfrJlWjGeKLm7/gBS9
X-Google-Smtp-Source: AGHT+IHp+5iVvOJlXz121VTJNFJZR2qPXdwENfWS23Vvq/WEW51AoJUlrkH6ARz7FXOcnxZO3rm1og==
X-Received: by 2002:adf:f3ce:0:b0:319:8333:9052 with SMTP id g14-20020adff3ce000000b0031983339052mr1067303wrp.26.1692181240412;
        Wed, 16 Aug 2023 03:20:40 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 31/57] xen/riscv: define bug frame tables in xen.lds.S
Date: Wed, 16 Aug 2023 13:19:43 +0300
Message-ID: <fdbb8432abffd922d541612f578c986109b29340.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/xen.lds.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 9064852173..aa42d3d17b 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -40,6 +40,16 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata = .;          /* Read-only data */
+        /* Bug frames table */
+        __start_bug_frames = .;
+        *(.bug_frames.0)
+        __stop_bug_frames_0 = .;
+        *(.bug_frames.1)
+        __stop_bug_frames_1 = .;
+        *(.bug_frames.2)
+        __stop_bug_frames_2 = .;
+        *(.bug_frames.3)
+        __stop_bug_frames_3 = .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584485.915304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoq-0002tb-46; Wed, 16 Aug 2023 10:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584485.915304; Wed, 16 Aug 2023 10: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 1qWDoq-0002tG-03; Wed, 16 Aug 2023 10:32:04 +0000
Received: by outflank-mailman (input) for mailman id 584485;
 Wed, 16 Aug 2023 10:32:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdh-0003R9-6r
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:33 +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 8833f6bc-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:32 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2b9aa1d3029so98868091fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:32 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 8833f6bc-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181232; x=1692786032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=to9zcOK1uQRDwQjF/M/tIQG/U0cMxLKxzsy4fRBRfDU=;
        b=E/SkYn6JS5y2h9erhRN7GuzfaZPZvlSz7O+us2U9ZQWrFmFClCyA/ZEzFB9KtTV+gc
         xIL+8KDj6VgkUQdMUQ+6j6lAQvbMDjPzhSwjaw50nipfQeNvEtQ20pvk+8VzXVgve/Qf
         cvb4ifB9PcMX8jZgzLkLCttfLoTfOsYKcM8GpHOhpA0+Y4pALs+il7LnzDa73UNjgxJT
         0p5VG5kuoAezg3laJhfAEIxgSKJKTHHn5VupFvMuhf7Q2LVtXog4kuJ/27uZmh5G9o1n
         NDsViSQBUYEga8TA2/2EkWbQOKbMtCDh2Ldkd5J1PRgvP7+xxosesNf8pb+I5xDDWzO4
         4znQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181232; x=1692786032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=to9zcOK1uQRDwQjF/M/tIQG/U0cMxLKxzsy4fRBRfDU=;
        b=YIAovolP0W9+UF36KQxuxMEGdKtP+KLDaoOLz8OOMY75eEum+pq00rGLokINv3MXOa
         /o0aKGwJBlVP3KpflZCSayZ9noaqN+7I8UCWwsmBU4Cgfw0XIY8Oh7fsbYdAOTspDvNJ
         C7dS1yF6yg0j+4amRXUggy2aZUXlq7x/iw6EEHSijkrqDj1CwdecHME/tN7FASKJqAh6
         CknlcEAAcomt7gqsLs5jzDqZJElkCVW0xWMEgcMPQjSGdsvHl3qvcGCoW3RSL8Vo+fCa
         2xzE206haB1cRyggo9lAlrbfICwIXoCfsy5W/4NVLQ6TWZRXGV3LaEMm4u54F4EFxsUv
         VH5A==
X-Gm-Message-State: AOJu0YwngIAstI6koJGOcyVY+CxmGkDUDeZBDJy035WRftyGtrATkbnQ
	duvBXmo5VJQ5F9I5EVxwjO4WL9DOEM4Y147Y
X-Google-Smtp-Source: AGHT+IH7otoSQb845MxNmPIX62JECiy3MDCFipeqXO7rEA45lKn8GY8u8k+tLCi0JXR8QAaQ3TuZOg==
X-Received: by 2002:a2e:9591:0:b0:2b9:cb50:c1f9 with SMTP id w17-20020a2e9591000000b002b9cb50c1f9mr1120790ljh.32.1692181231727;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 21/56] xxen/riscv: introduce asm/xenoprof.h
Date: Wed, 16 Aug 2023 13:19:32 +0300
Message-ID: <cd76cd159c9b983451269aa70210671ec2bb104b.1692166745.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692166745.git.oleksii.kurochko@gmail.com>
References: <cover.1692166745.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/xenoprof.h | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/xenoprof.h

diff --git a/xen/arch/riscv/include/asm/xenoprof.h b/xen/arch/riscv/include/asm/xenoprof.h
new file mode 100644
index 0000000000..e3fc625932
--- /dev/null
+++ b/xen/arch/riscv/include/asm/xenoprof.h
@@ -0,0 +1,4 @@
+#ifndef __ASM_RISCV_XENOPROF_H__
+#define __ASM_RISCV_XENOPROF_H__
+
+#endif /* __ASM_RISCV_XENOPROF_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584487.915314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDou-0003Md-LQ; Wed, 16 Aug 2023 10:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584487.915314; Wed, 16 Aug 2023 10: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 1qWDou-0003MU-FE; Wed, 16 Aug 2023 10:32:08 +0000
Received: by outflank-mailman (input) for mailman id 584487;
 Wed, 16 Aug 2023 10: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdg-0003R9-5G
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:32 +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 87917aa9-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:31 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31969580797so3568989f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:31 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 87917aa9-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181231; x=1692786031;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=to9zcOK1uQRDwQjF/M/tIQG/U0cMxLKxzsy4fRBRfDU=;
        b=Z/CI5IF4vUdEc9lFMshBHxayi5NPOfff3DQlbSiTpYLs+WhTlbUJhLpCNY5J4Gnwiz
         DFBh1eIEHtQMWuRF/gn2byxVlJtYbT4Kz7Lan/3NxYmgNd4vfpWlyAEIDY2iw6p5TmHy
         Il7SX6F/1ALIULJzMAk/gPt6wGDqlvvPB7ZdVRQT9+ykQ8U9VLoCe3E04iLsRyse5gUq
         bh0BMRgjTnMcPTBPRrZkYDMFVDVy4g9tLbMzEp7OFqaNBproxP5VCax8EQG187MdPM37
         iH3hWctTXLZLLlldBoLVWvIX1s2skYhLONKZNR6QLSOM5Hzck2JaqY/i6NrmhOPl7X9M
         M3UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181231; x=1692786031;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=to9zcOK1uQRDwQjF/M/tIQG/U0cMxLKxzsy4fRBRfDU=;
        b=icEvd/knVH87kOfAHc0b1TNTm10R22R9JocQi9yzm9JtaWKugeFpOXb+Ly0uTXAeyc
         3W7lOc6IuLFom59aCtNoG6QQHsQrL62qTId7U235HbDbkAa05vsrUjwjZHFt7Sl8+jKc
         X60g/RQ+LnZVZHEpDKzgxnt7MAo3rAUEr3ZsMN7Jk4rrD+yBNFjThYrQPq7b3My9uok8
         BFtD57g6p+9AbAa3njkd9s2P9mVFkKd/BFdbyXRxAkKzr5oJzGTktDzQ1heey7iA1nGj
         sGq9veyLWUpyZl+eExtwv/hAUaHKXTMKaaosvr+EfVohvNwwoLfUY9BEvJxw9LAGIvGr
         GG9A==
X-Gm-Message-State: AOJu0YzeFBCoE2tJj6au1GJrSSAr1CQuUYptknjCtOnW4bnZwskpJR5J
	Swy/C2MaUZNvrCWiGdyLtOIEQNCh0JUIxWGq
X-Google-Smtp-Source: AGHT+IECQ58HxC/6US1BLJIoAjxJv6sqZXWyk6YQPoXEYLCzkTk2HrrMwO+TpWpTbOGlyZM+OwM40A==
X-Received: by 2002:adf:ed8f:0:b0:317:60c9:e826 with SMTP id c15-20020adfed8f000000b0031760c9e826mr1215971wro.45.1692181230960;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 21/57] xen/riscv: introduce asm/xenoprof.h
Date: Wed, 16 Aug 2023 13:19:31 +0300
Message-ID: <79e1d38ed9245de51e3c3441ed464db61d3b95f9.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/xenoprof.h | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/xenoprof.h

diff --git a/xen/arch/riscv/include/asm/xenoprof.h b/xen/arch/riscv/include/asm/xenoprof.h
new file mode 100644
index 0000000000..e3fc625932
--- /dev/null
+++ b/xen/arch/riscv/include/asm/xenoprof.h
@@ -0,0 +1,4 @@
+#ifndef __ASM_RISCV_XENOPROF_H__
+#define __ASM_RISCV_XENOPROF_H__
+
+#endif /* __ASM_RISCV_XENOPROF_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584489.915324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDox-0003lV-Te; Wed, 16 Aug 2023 10:32:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584489.915324; Wed, 16 Aug 2023 10:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDox-0003lC-Pg; Wed, 16 Aug 2023 10:32:11 +0000
Received: by outflank-mailman (input) for mailman id 584489;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdf-0003RA-S7
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:31 +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 86ae2aca-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:30 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-3fe5c0e57d2so57793825e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:30 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 86ae2aca-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181229; x=1692786029;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JObOAsE/aE44QEnQc1GjFcKOPxntIWUTpYQMbgiTZRc=;
        b=KMX11LR/JyNOhPuCz9uMpHEGhyPfb0SA+eSzg5UC55QLlsc0L3g+LJrTuAgW2TcOgP
         m8BYR1d2QJ6Tp2i8NB6aA2nRuEx22tYUNnxZyIhjjAu9CSgqDUytmGxs7IVO0cHNpB8y
         qtyoPRRt8Qdg5yELf1Kmt1thlu02RkOGz+T44lEb/jUeObogX7HqBtbXWfnuZWzmIVeH
         2Cw0nkbKzugfhOFRnI93VWgroeavxn4I22mG+SQ1vZUORRL+ojrxWt98xLNADpKIzoij
         JGe90jOA1NUm36VvoH5wq6E/u1asy7F3irpTeJAtsjniOxCJuuAz1wJewZcdAkzM94RT
         nO6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181229; x=1692786029;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JObOAsE/aE44QEnQc1GjFcKOPxntIWUTpYQMbgiTZRc=;
        b=TXzTMZGVUZm2MdNu7ft0ffcrnvMdKawsSX3pSCWsXpDOjWKc3lQLuxIZj6gZD0EJtm
         1fVLoDoUXD4lS24sS3rakjkhsy9TT2m59lTpG6C92GGTYeGfCp9fl347S64npl+DAWIf
         giXGZ9pgO0skGBUW5xOAnv9NH1RxeuMMdXzWBcBgK6HdZoSPJwrDO1T8Pi1UHfJ8fmZ1
         d3hBZ7xEfmYxzvWuNu1tGH6IPfvtdTQc3zsytLvyMyY1n0HTjzImfGKWOToW14pifVoT
         U/FXhdRxIhuW5GPiylQ73CfVnC/GvGQNKVOOAz4moegwkwd1c6gg7IcjNqk3FnZZ36OW
         Mj1A==
X-Gm-Message-State: AOJu0Yxe5NZDzlshUbu9d7GkIiU1R+FcJOpP/yAsLxYOyMZgiBr3FOo+
	8jQjKL3uu3V3YCEMxQqDvyNo15bjwou/S1Oc
X-Google-Smtp-Source: AGHT+IH5L2LbtkLRrXB5iB4m9ffBWKrNIsWnkd1KL9FI+IfP0m3wYgxXgsguEmBATMK2ndsNyKnHcQ==
X-Received: by 2002:a7b:cd07:0:b0:3fb:be7c:d58a with SMTP id f7-20020a7bcd07000000b003fbbe7cd58amr974621wmj.26.1692181229570;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 19/57] xen/riscv: introduce asm/setup.h
Date: Wed, 16 Aug 2023 13:19:29 +0300
Message-ID: <20012803bf6a630f3dc2f78cfc8524b7a89e6ec4.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/setup.h | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/setup.h

diff --git a/xen/arch/riscv/include/asm/setup.h b/xen/arch/riscv/include/asm/setup.h
new file mode 100644
index 0000000000..9b3f8c6416
--- /dev/null
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_RISCV_SETUP_H__
+#define __ASM_RISCV_SETUP_H__
+
+#define max_init_domid (0)
+
+#endif /* __ASM_RISCV_SETUP_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584491.915329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoy-0003ne-A9; Wed, 16 Aug 2023 10:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584491.915329; Wed, 16 Aug 2023 10:32: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 1qWDoy-0003mV-0n; Wed, 16 Aug 2023 10:32:12 +0000
Received: by outflank-mailman (input) for mailman id 584491;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdj-0003R9-6B
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:35 +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 89168ebc-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:34 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-31768ce2e81so5612816f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:34 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 89168ebc-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181233; x=1692786033;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IRtiTYQRYbcZrtXq4n+hG2e+DxiDviaEq931etLVkR0=;
        b=aMuSACQJ5APZ3KpcB+04LYm5+njozs1fC9hVKCmbVy1RUcfg2pFx3iwFSYbMHKlEUw
         2lQ/EVWyUwG+1moRnw9HgqZXtqfadnx3CxoTh/RU72DEdghHWSjB2poXJvkt/w+Pypmd
         dsXZkYyGMJwz8yHdwf2S7acfUlvOK6IpygEfI7Vf07nyz7W3StzqKJEbVzrQXgiyQTE+
         s/tJnqq1IeiBNjo+BAY5S1zqhaxJZoW59g2UiVL9Y+DkkMhIdiyYqBfhVMmPgPWD5nPf
         8f+TlkcqMfjTlrwcwtE5tOsZo4NLxY9e3KKRDTEfYKgt4ZAulGzx3xzoiTwABCcC+Gdo
         xccw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181233; x=1692786033;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IRtiTYQRYbcZrtXq4n+hG2e+DxiDviaEq931etLVkR0=;
        b=Ewi2pD85/X5A/7iV55vp0N6fNDL1D4O5Fmt3XtalM1NqEAYuMMHKwu1X1s0u4dKX0f
         h3ywMwALBm+OqUIsPTMThW7Tvnb0EIm5eBm/F/3VHb6gHpf4qjeGri2grsYr0uWJgv2j
         ehyt60FPKzEJTCzuskndQf/Kdlma0cdSFEmgpQdzR40y1s/Cvxf6vsQ0tTUMF4zZzxlC
         u1TKUakS3BZrIKDBo2WfPMuPtYAHZLmgZFeRYjgWhbE+ccog/HEanAgPYpe1jY+N8XfC
         zFtfdQPyqTpfMMBv0+rGb6MxTNXcm8TPw3aEnDPqEscIap6AuuUgfICqMoHKK3XWW0FI
         jMfw==
X-Gm-Message-State: AOJu0YypgsY0cHjNvwkF1lZ9wvyQszeANMcAPZqr7dl52a7jHH2cPsUP
	pLQY/TWYhOiWBRDzj2WakcX2TtQpsgVmXFY3
X-Google-Smtp-Source: AGHT+IFbTFVylxr/IB5kRWU6W9n2p2yc0LAU+SeWWffoBbgNlIVl7gRfczsV2vsmERd3aTbwxs9ANA==
X-Received: by 2002:a5d:5349:0:b0:30e:19a8:4b0a with SMTP id t9-20020a5d5349000000b0030e19a84b0amr1086272wrv.2.1692181233369;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 23/57] xen/riscv: introduce flushtlb.h
Date: Wed, 16 Aug 2023 13:19:34 +0300
Message-ID: <d3ad3f549b1fe58075d7140d4e8202b4d5293feb.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/flushtlb.h | 31 +++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/flushtlb.h

diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
new file mode 100644
index 0000000000..7059a53823
--- /dev/null
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -0,0 +1,31 @@
+#ifndef __ASM_RISCV_FLUSHTLB_H__
+#define __ASM_RISCV_FLUSHTLB_H__
+
+#include <xen/cpumask.h>
+
+/*
+ * Filter the given set of CPUs, removing those that definitely flushed their
+ * TLB since @page_timestamp.
+ */
+/* XXX lazy implementation just doesn't clear anything.... */
+static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
+
+#define tlbflush_current_time() (0)
+
+static inline void page_set_tlbflush_timestamp(struct page_info *page)
+{
+    BUG();
+}
+
+/* Flush specified CPUs' TLBs */
+void arch_flush_tlb_mask(const cpumask_t *mask);
+
+#endif /* __ASM_RISCV_FLUSHTLB_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584492.915334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoy-0003vz-Q9; Wed, 16 Aug 2023 10:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584492.915334; Wed, 16 Aug 2023 10:32: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 1qWDoy-0003sy-FT; Wed, 16 Aug 2023 10:32:12 +0000
Received: by outflank-mailman (input) for mailman id 584492;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdz-0003R9-IM
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:51 +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 93183e84-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:51 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-31781e15a0cso5582003f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:51 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93183e84-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181250; x=1692786050;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SF7OVOTmigZhIs9vssENJwo3IkB2uaOOvzBSsICPv8I=;
        b=DpjGZYvtWP/YCm4a76tVKBr9FWGhXDpyIYU/VyUN5AglaNMFFRz4a0Inlk3M1ToFqc
         fTi7fnAJ8CYgIHIKTI1V3CvsK0Jr+lNbOy4JmSews1BK0Rj2NZmdhGCVygiVmPt3o9PA
         pPuf+pGsicZW4UlQzzkPScoROvoS9rjPQc3VC5UegRuhqg+PFXlpk1Sy6yvSC95iYCAm
         Rj8wp+xsH6GpKpyJdcvLo6QSHLDG1heg/gjTmlviG6WShhocAyUn7hUmYkcmEVwILJL7
         kvt+XYnRbdxXM8vnaQlJDzbSV9akeeHRZyoHVYOhpscMvZzK5yKtGbSubbFRh1BUtc/7
         bjZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181250; x=1692786050;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SF7OVOTmigZhIs9vssENJwo3IkB2uaOOvzBSsICPv8I=;
        b=jQfHN13qUULtbun8BqQpYyvuyTASUPXAOLyyELfRYyNKQjEOd2N44/+m91IerP/XHV
         FXvb0CnnR28kc/aYXcIP7B/A8vF0ei19K+v5Ii9aNt0qRzcrTRrC5k3nMtvbw7kInEaR
         JVzhdwHTwjby1xvD/wZ1uQzXnrzoqbnF8f2aBNr+z3vJuSK5CZcvuQB91dDF8j9ztY/n
         SnVpi16vqdV7ymEgfEOAbFSIEYqON619Bh2cWBYuF6XsMfCjfl7vOQeBLYUS+mFhcOeG
         ZfCUw/NhMbWJhRwj3zIFcGKWzKjJShqQ3o6xCdUxW+LWo+r601eIkR8F+93j11OCavfm
         hd4A==
X-Gm-Message-State: AOJu0Yx6kMNYQCWxSIZrgGvZpXL68iA1DZPsS1gt+IRyIk8BgyIZcqER
	5kt5wwR+xs5BkQ+lqgdaX3BmhWjibTODiPKE
X-Google-Smtp-Source: AGHT+IGazQZMkft1T7Al+zJ2euxFGerpnbuXlc/IVgLoVXNwrKHnuAY9/2ApWpkWU/LPvpCyRbQG1A==
X-Received: by 2002:a5d:574a:0:b0:319:7c7d:8d9 with SMTP id q10-20020a5d574a000000b003197c7d08d9mr1001410wrw.42.1692181250355;
        Wed, 16 Aug 2023 03:20:50 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 43/57] xen/riscv: introduce asm/time.h
Date: Wed, 16 Aug 2023 13:19:56 +0300
Message-ID: <0b92dfba18dd8de27e2e65ab072c491ffd17cb5d.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/time.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/time.h

diff --git a/xen/arch/riscv/include/asm/time.h b/xen/arch/riscv/include/asm/time.h
new file mode 100644
index 0000000000..d0571cdf32
--- /dev/null
+++ b/xen/arch/riscv/include/asm/time.h
@@ -0,0 +1,20 @@
+#ifndef __ASM_RISCV_TIME_H__
+#define __ASM_RISCV_TIME_H__
+
+#include <xen/lib.h>
+#include <asm/csr.h>
+#include <asm/processor.h>
+
+struct vcpu;
+
+/* TODO: implement */
+static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG(); }
+
+typedef unsigned long cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+	return csr_read(CSR_TIME);
+}
+
+#endif /* __ASM_RISCV_TIME_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584493.915341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDoz-00046l-F6; Wed, 16 Aug 2023 10:32:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584493.915341; Wed, 16 Aug 2023 10:32: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 1qWDoz-00045Y-1U; Wed, 16 Aug 2023 10:32:13 +0000
Received: by outflank-mailman (input) for mailman id 584493;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdt-0003RA-0i
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:45 +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 8cb6470f-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:40 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3198d2745feso785166f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:40 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cb6470f-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181239; x=1692786039;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4I6eA2DfhGVic2hhNkD5xN/OU4Yb/bwZVUQf7796whk=;
        b=kU3O4+GFXpRltHqXmITIzOlaANPth255bgxtJpjewVEdXvzTGwP339wul+2CfLDB5J
         SpTTUA6+fKemIua66xFyov/g0YPmWNEADVlMI+wAGo+FHpHd9WyEKrHSZczOy9T6Xis9
         BDYdUbA9fiw97nqD5VPTdPXMc+6Au7BRGAbAjRqRntgquvpFVSKwN7hFpTqjFR4/z0ir
         /97tfW72WJUuvRH9lf/hacyIxrQJHJX6SNYqJnyLJgwdm3OiOlQ1wZjZynRmSthf3Lbm
         8jalJeWMAN9NY7Q01Ow9CRruCTs2ezYmvKU23293ikhH+PHSzpQPEs6txMIPzRvw+/hV
         hu9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181239; x=1692786039;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4I6eA2DfhGVic2hhNkD5xN/OU4Yb/bwZVUQf7796whk=;
        b=OldYx1rOB4V76WrsETS73kINbGR3iazNpbdmJo+0V6KLcrf9FER8BKiPE6rpVrlGn1
         OMd5jnhUxfAzOvlhKYkqjMo52lDb/GWj6thd3XtASH0psbTtYOg8LL2MH7N9VILTmoaJ
         pN7bXZEvbm99JHXeHhz0euipkHS68khOPQ86Wg6ysrOPTtiQ3/5IjLvWE3FeJPlfhlmm
         65Xk/Jms2TFnKtiqpc/QIqvF7xN557kYMMlrf3vF72Q/RH5v+U9uP7j3zmjbcpHgrfkM
         Bx/0HwXu5tZXrY/9dO56XCEJam0v2ZFfKD6HeVKhGVwoAsOxaiIw8ZFHjdErN/MtFeWJ
         kDiw==
X-Gm-Message-State: AOJu0Yyo9jW2E5y6Vx4PHlpNhMnRtfvJ43VUPsOC68WzRL25RhGv3equ
	T5Po+WrQl2SqojNls2YlECs08dE7hTDkNYaB
X-Google-Smtp-Source: AGHT+IEY1mBwUiohfO7KVB1Gp4KLSEV6RYPBK+GPFqJtYHhLK7/BR/5O9viFqRn79uZ8/Ona5CjnnQ==
X-Received: by 2002:adf:db48:0:b0:315:a773:394b with SMTP id f8-20020adfdb48000000b00315a773394bmr985986wrj.53.1692181239487;
        Wed, 16 Aug 2023 03:20:39 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 30/57] xen/riscv: introduce div64.h
Date: Wed, 16 Aug 2023 13:19:42 +0300
Message-ID: <167762fc457a89f284dc4e90408ed8e37fa25fdf.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/div64.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/div64.h

diff --git a/xen/arch/riscv/include/asm/div64.h b/xen/arch/riscv/include/asm/div64.h
new file mode 100644
index 0000000000..212dfe4e8a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/div64.h
@@ -0,0 +1,22 @@
+#ifndef __ASM_RISCV_DIV64
+#define __ASM_RISCV_DIV64
+
+#include <xen/types.h>
+
+# define do_div(n,base) ({                                      \
+        uint32_t __base = (base);                               \
+        uint32_t __rem;                                         \
+        __rem = ((uint64_t)(n)) % __base;                       \
+        (n) = ((uint64_t)(n)) / __base;                         \
+        __rem;                                                  \
+ })
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584494.915348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDp0-0004Dl-4V; Wed, 16 Aug 2023 10:32:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584494.915348; Wed, 16 Aug 2023 10:32: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 1qWDoz-0004Ah-HV; Wed, 16 Aug 2023 10:32:13 +0000
Received: by outflank-mailman (input) for mailman id 584494;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdl-0003RA-B4
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:37 +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 89faee4c-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:35 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-318015ade49so5634230f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:35 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 89faee4c-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181235; x=1692786035;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kYFnFWm1v7t2QjE5lipIuI038KEk0Q0YskXiN6kRjec=;
        b=byD9Zj6JJdd5OKMRYw4bmWXaB5O/UBPnbF6z8QXrjso6kW9V1/nCJJnR817vMS7pSq
         LyzZoJ/KT8wMO1/5hfDJd70fCW0ZtEw9fYVs2hEGNodBifja+fbsF2idkBQxuC2m1uT8
         5UMUIvgp87TjsUw4RioLsI+5Zif/ZeiZJNUsxjkgO7WzzLDejNSqcTW0TsryX8iG21Af
         sU14VjL22zQmd5/jKx8017pXEx3tMRT7e688hKtLLjndg3E01l3T72gbv4a/aitNRVek
         NeXYCXiJuhT0ki6ZWHmCeEvMWzOLuVjqc2JYHwi3En+04XklKHd4M2oTUgCWDKGnyFfb
         34yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181235; x=1692786035;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kYFnFWm1v7t2QjE5lipIuI038KEk0Q0YskXiN6kRjec=;
        b=djdkyn0c6zwB6E3c1JYMTHQDB/eL/7iLIoj4mXN2KmkNf15Y+uLgUG9VSLPi0CQyZ+
         v3NHqx9Rw55IXWERjvYJXW+guTiXQguCgd3ZwYdN0JhL9fT2pn2gjZemrzGNwUH39Aln
         qt99s+iydyPlp792lHjI+MxvbeDl/ElzsVQ+x4PL7o5vSTaIgoNKDA3j/Hm2yKufe7FK
         +x2qGcKlNaXK6GIzTOmKbwOIxF8QtL1YaMrbOLb/lkOrzv8GDLmZeyCVZzWlawWn2mn7
         EWNzzSoE8FO0DbLbZbDkXszK9VRkRzNq4ny90PP2bBazw+TvvO5ScHcS7lGymeylffeX
         uwVw==
X-Gm-Message-State: AOJu0YwvaEFN7SbQu3vsaWVE8JwxPCdl63hSnZCswdKtpUuLYPqxolUE
	kcHCMG40k9irXOeqf7cpwM6Rvv/0FL73UEwh
X-Google-Smtp-Source: AGHT+IGlPeOmgQqeylabUUUEJBTt6ehMmJk1ooeGuoa5q8qBLvYUn2gpu6ihg/Py31WN8wyacRojxA==
X-Received: by 2002:a5d:4fc1:0:b0:317:55de:d8 with SMTP id h1-20020a5d4fc1000000b0031755de00d8mr1154542wrw.14.1692181235051;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 25/57] xen/riscv: introduce asm/smp.h
Date: Wed, 16 Aug 2023 13:19:36 +0300
Message-ID: <3231fdcdd23bd97aab9769f97a78eaf2e718599a.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/smp.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/smp.h

diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
new file mode 100644
index 0000000000..cc8dd18254
--- /dev/null
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -0,0 +1,20 @@
+#ifndef __ASM_RISCV_SMP_H
+#define __ASM_RISCV_SMP_H
+
+#ifndef __ASSEMBLY__
+#include <xen/cpumask.h>
+#include <xen/percpu.h>
+#endif
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+#endif
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584496.915361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDp1-0004oq-HU; Wed, 16 Aug 2023 10:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584496.915361; Wed, 16 Aug 2023 10:32:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDp1-0004mm-8O; Wed, 16 Aug 2023 10:32:15 +0000
Received: by outflank-mailman (input) for mailman id 584496;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeF-0003R9-LS
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21: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 9843e925-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:59 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3178dd81ac4so5366117f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:59 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 9843e925-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181259; x=1692786059;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UxB5hYw6+HyX6/ey74WCkuogpGoshGiuumhDCYpVyrI=;
        b=gXEBREbhShXRk7h3Filuf2FuWle0IFob3RK/xHR+xjLIXTy/SHdLbH1perMZyrxKv3
         rivZI1UM1TYVscG95dOL/ehJatDWBh2hryunNmk4U4/1yRxsgErjFdpX4ARfEYxf/f6j
         FHsSGXDQRusg1v9/MZNA9+a7TVaWqWsiSOYbEd+qKomYL1FmngisvEHWVVliC+JJ6V25
         tsVScwTeQAKH3otFWlQf46DWfcUVn2As807ZuEbUjvfZw9IT6jQw2O62zDn+5pUwIpzj
         U1H1dKWzY6Zz98cQg0HGsXgQaSRCnBkx88N5BOMdHIx6u0N7oC7b8L7OhPGH0vN0xMGs
         hy7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181259; x=1692786059;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UxB5hYw6+HyX6/ey74WCkuogpGoshGiuumhDCYpVyrI=;
        b=C4izYCUth+DsElQ+ak6dX4Cq8ztPkdKr0muy45umdMnyKIaQGoV/7u4GN5W+TU0LB/
         hYSL5Of8VR3umRhbx6WuUPG/Z43ofu1qQjTdHFFmMlGhZ+jF6UcdqU4aQyQYO88BM016
         55KqnmHqpNq9Gj6m2p9YZahr4n51CDcpyKQtyaNaG3C/g/W8B7RP8kpTH8+ADGMt/IJB
         ZbDzu0QnzntCRoXMozUAqT0+/6lwNW8B9QMXbqL3hKvtk7jtmIoE/TIhQNPamjIikRoj
         GowFlBjUy83l6EDVU83lDj+c7/bniDRAtdXr1PgiC+qbWNvHssBMc/4GDycXWRzeyVeE
         /wpg==
X-Gm-Message-State: AOJu0Yyeg7BJduPXQgBG4Qc5ngGY2f+tcu1tTHo2e7ATz7nUyOv7TyXV
	/qFyE6KXkB1R3KVbV8pLsKrbpfUuUDTIwVxt
X-Google-Smtp-Source: AGHT+IEJ9y1YZvlwaSPuoDF+//vSUzFGnn/BxgPcj8XedezeVOTWEFkuEVQm0AVYyz0grA4NB0YyNQ==
X-Received: by 2002:a5d:67c2:0:b0:306:2e62:8d2e with SMTP id n2-20020a5d67c2000000b003062e628d2emr1238107wrw.1.1692181258964;
        Wed, 16 Aug 2023 03:20:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 53/57] xen/riscv: add minimal stuff to asm/mm.h to build full Xen
Date: Wed, 16 Aug 2023 13:20:06 +0300
Message-ID: <8d1ccfe520eb4ddcbeef677df3859bd0ed145419.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/mm.h | 265 +++++++++++++++++++++++++++++++-
 1 file changed, 263 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 5e3ac5cde3..1d464afec9 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -3,10 +3,271 @@
 #ifndef _ASM_RISCV_MM_H
 #define _ASM_RISCV_MM_H
 
+#include <public/xen.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+
+#include <asm/page.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))
+#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))
+
+#define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
+
+/* Convert between Xen-heap virtual addresses and machine frame numbers. */
+#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
+#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
+
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    BUG();
+    return NULL;
+}
+
+/*
+ * 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, but not as a shadow. */
+        struct {
+            /* Owner of this page (zero 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
+         */
+        u32 tlbflush_timestamp;
+    };
+    u64 pad;
+};
+
+#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)));
+}
+
+/*
+ * 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)
+{
+    return;
+}
+
+/* TODO */
+static inline bool get_page_nr(struct page_info *page, const struct domain *domain,
+                        unsigned long nr)
+{
+    BUG();
+}
+static inline void put_page_nr(struct page_info *page, unsigned long nr)
+{
+    BUG();
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * RISCV 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)
+
+/* Xen always owns P2M on PPC */
+#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 (16 + 5)
+
+static inline unsigned long domain_get_maximum_gpfn(struct domain *d)
+{
+    BUG();
+    return 0;
+}
+
+static inline long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG();
+    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)
+#ifdef CONFIG_STATIC_MEMORY
+/* Page is static memory */
+#define _PGC_static    PG_shift(3)
+#define PGC_static     PG_mask(1, 3)
+#else
+#define PGC_static     0
+#endif
+/* ... */
+/* 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 page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
+
+#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(&_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 max_page (0UL)
+
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define domain_set_alloc_bitsize(d) ((void)0)
+#define domain_clamp_alloc_bitsize(d, b) (b)
+
+#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
 
 extern unsigned char cpu0_boot_stack[];
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584505.915388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpB-0006Ui-6j; Wed, 16 Aug 2023 10:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584505.915388; Wed, 16 Aug 2023 10:32: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 1qWDpA-0006TC-V2; Wed, 16 Aug 2023 10:32:24 +0000
Received: by outflank-mailman (input) for mailman id 584505;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe8-0003RA-2T
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:00 +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 92a5e942-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:50 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-319e93a1594so550858f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:50 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 92a5e942-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181249; x=1692786049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OHCt3rIVbyvXRgwAssE3JC7jIeGq6/wtVtrQWKu19qs=;
        b=oOxinih1MvrlDtL77m6bZY+7k6RK84W2TCemn4LqrF9VnmcCmPBypZju7aVIcP2/XP
         Ee1Gg8L1Zm2Rr2y3qai/N1op+n6QUgmuO3Fa8Ne7w8L2KvK+HzDbjIDRCBiQ/LumuBrf
         KWdV+e+X+m2DXIREIPVH+MnDOavGJq4D4WLGe/FnxsCNI+3VmnTN6sf9w8/MMYO7kS9k
         palTLjSYQ0/3bhRQkKr7d1C/XWUoTt10OlCqiNoPuYjbA1QVAsT8vXj/ZV2xxyYIZHSN
         pXL1PhcrjWpVOLe9Uv8xROHpFneUoQiIxKfmzNMNHULeJF2Un1GwMqKIA+/PtNAhvrUr
         aVFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181249; x=1692786049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OHCt3rIVbyvXRgwAssE3JC7jIeGq6/wtVtrQWKu19qs=;
        b=QLEqHJp8kZFr39oZGSVl61WktGhi+Me7QtZwt9v8GJJ5+nyJqX8Aq2mgXrnHPmRtmH
         hJ/bRVZk/eyBV2bv+qXdEPc+zL5af7iEQtIy3oGp2ddyvXtxSJkYnNS6qXN2I5vGn878
         T1TdgYpnjwrDDlNVr8fQuKA9ZPZ8zt6q481oxuOfXOazDJneGQM818QR2YBOHj7l/jRG
         Y5S566SwO+1ACdneZNm01v0Enp7Ze6BQAcRoO8GV444DKmmZhRdpa0b8mvpVgVvZZMnv
         WG8dwr7SmepHlipIcs4cMWTYeuwD2PTam9ujAJIF6XXY6azFqkoDkPGwAEfSFsNfRgXB
         AWeA==
X-Gm-Message-State: AOJu0YxeyKQYHRQ8jnSwzb2E8Sb6zQuG1abQpaW+TbVNSL0LwW1gE0Vb
	IW/hRVSsU/ChhPlTNyT1ozwfBX6EehovjZ5W
X-Google-Smtp-Source: AGHT+IE0+2TyfHFFrR72mXBKm3+Bz9S1F94hCDTqMCfEI5yg0YAyFA3X/R+trUNJem/BQAr5FXcaOg==
X-Received: by 2002:adf:f3ce:0:b0:319:8333:9052 with SMTP id g14-20020adff3ce000000b0031983339052mr1067526wrp.26.1692181249622;
        Wed, 16 Aug 2023 03:20:49 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 42/57] xen/riscv: introduce asm/softirq.h
Date: Wed, 16 Aug 2023 13:19:55 +0300
Message-ID: <a818a6f55bbdd21b554134d772f11b07d8d25ce5.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/softirq.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/softirq.h

diff --git a/xen/arch/riscv/include/asm/softirq.h b/xen/arch/riscv/include/asm/softirq.h
new file mode 100644
index 0000000000..8364aa2810
--- /dev/null
+++ b/xen/arch/riscv/include/asm/softirq.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RISCV_SOFTIRQ_H__
+#define __ASM_RISCV_SOFTIRQ_H__
+
+#define NR_ARCH_SOFTIRQS       0
+
+#define arch_skip_send_event_check(cpu) 0
+
+#endif /* __ASM_RISCV_SOFTIRQ_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584503.915384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpA-0006Oi-JJ; Wed, 16 Aug 2023 10:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584503.915384; Wed, 16 Aug 2023 10:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpA-0006OF-Dt; Wed, 16 Aug 2023 10:32:24 +0000
Received: by outflank-mailman (input) for mailman id 584503;
 Wed, 16 Aug 2023 10: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe7-0003RA-2L
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:59 +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 9233a5c8-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:49 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-313e742a787so3761072f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:49 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 9233a5c8-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181249; x=1692786049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UhVaJsx3fNfOUNl1yWvqQESfQK08auimEtxKys9/b3Y=;
        b=JC4TPk81aLOd+hkh3iNe5mPl+BfBozxIY4YaIwhCRZO1hPY8+2e8AxgEWiWjsD3uU0
         N3WqZJb1TkdpcHVQVKUS8z4qhcvi4kIzUymxYb5teeXJjIz4ILxUw2Ros1Glb4/pGOYY
         hK59Gmi506ZlLxwZYUMYY/2BqVsV9ZvJhvobJ3fdw5yTfexoezNyHNRm7kTIS8/jlQlI
         NEDknAgYbvvEbSQ/RmUpl8mPJsPgoJRGjmuGFmB6ZxJot73SN9/Gx6BEhiGDBDUAadmq
         WKCZ3gC8nHVNNc3J0jvHqGgwXCCUEUvXPb1IypikqDzi/5pqIofKJJt6cjVMpkQJ0NEl
         yJCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181249; x=1692786049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UhVaJsx3fNfOUNl1yWvqQESfQK08auimEtxKys9/b3Y=;
        b=U7RFBsVWrGNyW9V78TATBEJcM41SWpDiWE73qBztkQ7WkauWuHHObCIQxsZoTelQRQ
         sTrXvCXlGOUqdjViQ4MEIkRJIJUY9r0aOOnGD9UNMkrOB6YbDKptyB2RycJsEnnrKd0c
         xq4xNXc7WTRQDADhMHiOpI5hipolshfAKeehcmUX3TxwCiYRlZZ6Q6j11FRqczEb5FG/
         NN1wzLpPIUFSgA6msycLUS8a0EU+nn3sJAw/m2m3fhKKXxuJpwpFguh8mOCDJW0EcnYl
         IN6BGzohyktHqtPlKUInu7tTYsovj5Chy9ePKVMKAp9bErpx+aGIl1K9UKVoZG0yFGCL
         WUfQ==
X-Gm-Message-State: AOJu0YwNOzCibTQ7OPq8YITdd1itb5ojXgTjYNkQ+IeAAVNydlabUZyN
	p4tZbNlZAs3ArspAvlIt76ELXwiCUQg8lsk9
X-Google-Smtp-Source: AGHT+IFfJtCy1Fkamcn0KSu66ACznZ978fDnS9ESdr67RY942n0wh7lTwCYMq0YFVJb/d/l3zXuN1Q==
X-Received: by 2002:adf:d0ce:0:b0:317:e68f:e1af with SMTP id z14-20020adfd0ce000000b00317e68fe1afmr3367939wrh.20.1692181248898;
        Wed, 16 Aug 2023 03:20:48 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 41/56] xxen/riscv: introduce asm/regs.h
Date: Wed, 16 Aug 2023 13:19:54 +0300
Message-ID: <55f14a7517b8b7492e3c91304a04c1811914bd12.1692166745.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692166745.git.oleksii.kurochko@gmail.com>
References: <cover.1692166745.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/regs.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/regs.h

diff --git a/xen/arch/riscv/include/asm/regs.h b/xen/arch/riscv/include/asm/regs.h
new file mode 100644
index 0000000000..33ae759a3e
--- /dev/null
+++ b/xen/arch/riscv/include/asm/regs.h
@@ -0,0 +1,27 @@
+#ifndef __ARM_RISCV_REGS_H__
+#define __ARM_RISCV_REGS_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/lib.h>
+#include <asm/current.h>
+
+#define hyp_mode(r)     (0)
+
+static inline bool guest_mode(const struct cpu_user_regs *r)
+{
+    BUG();
+}
+
+#endif
+
+
+#endif /* __ARM_RISCV_REGS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584506.915395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpB-0006dv-Ts; Wed, 16 Aug 2023 10:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584506.915395; Wed, 16 Aug 2023 10:32: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 1qWDpB-0006be-Fh; Wed, 16 Aug 2023 10:32:25 +0000
Received: by outflank-mailman (input) for mailman id 584506;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeT-0003RA-4m
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:21 +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 9a360429-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:21:03 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-307d58b3efbso5529430f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:21:03 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.21.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:21:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a360429-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181262; x=1692786062;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2lqPlDblQ/O51aEcFCRW710vDhqN4bxQXWxYRZVca48=;
        b=eqOA4tSzVLGL7Xy3rgRmvw2p4xGPa2ER6fszWDDiQzjRU+AL30qc3YVqfPdmVTIiQa
         AnThyZ3u806GyR7BJdjERAKzJrjmdEl1tWMAIoGy9t5gUCEsncBsPwinHdcVbzvp0Osu
         6+mIf1R7+DegM+6z+0dAna5JNrzzybBhN/ZW/tR48dRxl1KR8MSDtjoPu8vxXcpNHkg4
         rfBYCItoUvH2fSy2l3I0sFWlbnoUJupKvGhOK3LXvMzJe8G4NWsSEVLpGhqnI95er4oW
         X4OiB3fETtyTY+5kmZxRdYZCK/ByXz4654EH8IU9yH8kmemWWroeTTMSZaCh1oRJxFJa
         aYhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181262; x=1692786062;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2lqPlDblQ/O51aEcFCRW710vDhqN4bxQXWxYRZVca48=;
        b=XnxFcgwwLVdtRAYo4+l6VfcBTP1nckeRU5AHgELOMtewEbKqrbjYeFadvycrG8JVuX
         78wjy9juzylZsat+eX593ZTLdl6Ny7nR/pryXIBQiIM+Z0sS5mBlZ4ireI7m/KZMVwW1
         FA+v4hxTUsclJayUMPX3LAJZh7Ht21myM+IavfwMlkOfX8GdMO1E+6ebp7UXEKp4xlLU
         TI76s7ljPEPiED45SYrNPgnJAfrES5SeCNXW0wJ4vxdlYDRcKKQGM8Oad2AEIKZwrqzx
         ET5dyLMZtmCmRZi57awUsmphXZN5vyZyZJ6pSeFefLMuJSrw1UJOJDOTdjAMnDDa5QZl
         Ex3g==
X-Gm-Message-State: AOJu0YywLyNf3t8JsB9xrpKAp6uvXpcdmMXxWxSqqQEynX/aLRkfCKZg
	k4aZwRm7VbgF1U2L6Y+D1IQDNBRcaOZQw/zu
X-Google-Smtp-Source: AGHT+IFv80IhB77QwBcZmes1wyIxBmKA83ob/m0QE3A8ZmoBIZ0/vfcR7cJhPnQkWse8y+yRjtNQyA==
X-Received: by 2002:a5d:4dd1:0:b0:313:e735:6d23 with SMTP id f17-20020a5d4dd1000000b00313e7356d23mr1142481wru.22.1692181262260;
        Wed, 16 Aug 2023 03:21:02 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v1 57/57] xxxen/riscv: WIP ( need advise )
Date: Wed, 16 Aug 2023 13:20:10 +0300
Message-ID: <85c3008696e5f9568f6a6504c915a319ca326537.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These changes are needed only to make GitLab CI happy is it doesn't
take into account tiny64_defconfig where unnecessary configs are disabled.

I tried different approaches to deal with it:
1. Override EXTRA_XEN_CONFIG and EXTRA_FIXED_RANDCONFIG in the following way:
   EXTRA_XEN_CONFIG:
     CONFIG_1=n
     CONFIG_2=n
     ...
2. Override in arch-specific KConfig:
     CONFIG_1:
        default n

Each option doesn't work for me fully.

Could you please suggest other options or more correct way?

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/asm_defns.h     | 44 +++++++++++++++++
 xen/arch/riscv/include/asm/grant_table.h   | 57 ++++++++++++++++++++++
 xen/arch/riscv/include/asm/guest_atomics.h | 16 +++++-
 xen/arch/riscv/include/asm/livepatch.h     |  0
 xen/arch/riscv/include/asm/mm.h            |  5 ++
 xen/arch/riscv/include/asm/p2m.h           | 24 +++++++++
 xen/arch/riscv/include/asm/page.h          | 16 ++++++
 xen/arch/riscv/include/asm/perfc_defn.h    |  0
 xen/arch/riscv/mm.c                        | 33 +++++++++++++
 9 files changed, 194 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/asm_defns.h
 create mode 100644 xen/arch/riscv/include/asm/livepatch.h
 create mode 100644 xen/arch/riscv/include/asm/perfc_defn.h

diff --git a/xen/arch/riscv/include/asm/asm_defns.h b/xen/arch/riscv/include/asm/asm_defns.h
new file mode 100644
index 0000000000..dd0511a9c6
--- /dev/null
+++ b/xen/arch/riscv/include/asm/asm_defns.h
@@ -0,0 +1,44 @@
+#ifndef __ARM_ASM_DEFNS_H__
+#define __ARM_ASM_DEFNS_H__
+
+#ifndef COMPILE_OFFSETS
+/* NB. Auto-generated from arch/.../asm-offsets.c */
+#include <asm/asm-offsets.h>
+#endif
+#include <asm/processor.h>
+
+/* Macros for generic assembly code */
+#if defined(CONFIG_RISCV_32)
+# define __OP32
+# define ASM_REG(index) asm("r" # index)
+#elif defined(CONFIG_RISCV_64)
+# define __OP32 "w"
+/*
+ * Clang < 8.0 doesn't support register alllocation using the syntax rN.
+ * See https://reviews.llvm.org/rL328829.
+ */
+# define ASM_REG(index) asm("x" # index)
+#else
+# error "unknown ARM variant"
+#endif
+
+#define RODATA_STR(label, msg)                  \
+.pushsection .rodata.str, "aMS", %progbits, 1 ; \
+label:  .asciz msg;                             \
+.popsection
+
+#define ASM_INT(label, val)                 \
+    .p2align 2;                             \
+label: .long (val);                         \
+    .size label, . - label;                 \
+    .type label, %object
+
+#endif /* __ARM_ASM_DEFNS_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/grant_table.h b/xen/arch/riscv/include/asm/grant_table.h
index 600fb10669..8b7880d3ed 100644
--- a/xen/arch/riscv/include/asm/grant_table.h
+++ b/xen/arch/riscv/include/asm/grant_table.h
@@ -1,4 +1,61 @@
 #ifndef __ASM_RISCV_GRANTTABLE_H__
 #define __ASM_RISCV_GRANTTABLE_H__
 
+#define INITIAL_NR_GRANT_FRAMES 1U
+
+#define gnttab_shared_page(t, i)   virt_to_page((t)->shared_raw[i])
+
+#define gnttab_status_page(t, i)   virt_to_page((t)->status[i])
+
+#define gnttab_shared_gfn(d, t, i)                                       \
+    page_get_xenheap_gfn(gnttab_shared_page(t, i))
+
+#define gnttab_status_gfn(d, t, i)                                       \
+    page_get_xenheap_gfn(gnttab_status_page(t, i))
+
+#define gnttab_set_frame_gfn(gt, st, idx, gfn, mfn)                      \
+    (gfn_eq(gfn, INVALID_GFN)                                            \
+     ? guest_physmap_remove_page((gt)->domain,                           \
+                                 gnttab_get_frame_gfn(gt, st, idx),      \
+                                 mfn, 0)                                 \
+     : 0)
+
+#define gnttab_get_frame_gfn(gt, st, idx) ({                             \
+   (st) ? gnttab_status_gfn(NULL, gt, idx)                               \
+        : gnttab_shared_gfn(NULL, gt, idx);                              \
+})
+
+#define gnttab_need_iommu_mapping(d)                    \
+    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
+
+static inline bool gnttab_release_host_mappings(const struct domain *d)
+{
+    BUG();
+}
+
+static inline void gnttab_mark_dirty(struct domain *d, mfn_t mfn)
+{
+#ifndef NDEBUG
+    printk_once(XENLOG_G_WARNING "gnttab_mark_dirty not implemented yet\n");
+#endif
+}
+
+static inline void gnttab_clear_flags(struct domain *d,
+                                      unsigned int mask, uint16_t *addr)
+{
+    BUG();
+}
+
+static inline bool gnttab_host_mapping_get_page_type(bool ro,
+                                                     const struct domain *ld,
+                                                     const struct domain *rd)
+{
+    return false;
+}
+
+int create_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
+                              unsigned int flags, unsigned int cache_flags);
+int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
+                               uint64_t new_gpaddr, unsigned int flags);
+
 #endif /* __ASM_RISCV_GRANTTABLE_H__ */
\ No newline at end of file
diff --git a/xen/arch/riscv/include/asm/guest_atomics.h b/xen/arch/riscv/include/asm/guest_atomics.h
index 71b0b11a25..8c8fd647d6 100644
--- a/xen/arch/riscv/include/asm/guest_atomics.h
+++ b/xen/arch/riscv/include/asm/guest_atomics.h
@@ -35,9 +35,23 @@ guest_testop(test_and_change_bit)
 
 #undef guest_testop
 
-
 #define guest_test_bit(d, nr, p) ((void)(d), test_bit(nr, p))
 
+#define guest_cmpxchg(d, ptr, o, n)                         \
+    ((__typeof__(*(ptr)))__guest_cmpxchg(d, ptr,            \
+                                         (unsigned long)(o),\
+                                         (unsigned long)(n),\
+                                         sizeof (*(ptr))))
+
+static always_inline unsigned long __guest_cmpxchg(struct domain *d,
+                                                   volatile void *ptr,
+                                                   unsigned long old,
+                                                   unsigned long new,
+                                                   unsigned int size)
+{
+    BUG();
+}
+
 #endif /* __ASM_RISCV_GUEST_ATOMICS_H */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/livepatch.h b/xen/arch/riscv/include/asm/livepatch.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 1d464afec9..37916f9be7 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -276,4 +276,9 @@ void setup_initial_pagetables(void);
 void enable_mmu(void);
 void cont_after_mmu_is_enabled(void);
 
+static inline gfn_t page_get_xenheap_gfn(const struct page_info *p)
+{
+    BUG();
+}
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 993aec6d2c..8537ce12fd 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -29,6 +29,28 @@ typedef enum {
     p2m_max_real_type,  /* Types after this won't be store in the p2m */
 } p2m_type_t;
 
+/* We use bitmaps and mask to handle groups of types */
+#define p2m_to_mask(_t) (1UL << (_t))
+
+/* RAM types, which map to real machine frames */
+#define P2M_RAM_TYPES (p2m_to_mask(p2m_ram_rw) |        \
+                       p2m_to_mask(p2m_ram_ro))
+
+/* Grant mapping types, which map to a real frame in another VM */
+#define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw) |  \
+                         p2m_to_mask(p2m_grant_map_ro))
+
+/* Foreign mappings types */
+#define P2M_FOREIGN_TYPES (p2m_to_mask(p2m_map_foreign_rw) | \
+                           p2m_to_mask(p2m_map_foreign_ro))
+
+/* Useful predicates */
+#define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
+#define p2m_is_foreign(_t) (p2m_to_mask(_t) & P2M_FOREIGN_TYPES)
+#define p2m_is_any_ram(_t) (p2m_to_mask(_t) &                   \
+                            (P2M_RAM_TYPES | P2M_GRANT_TYPES |  \
+                             P2M_FOREIGN_TYPES))
+
 #include <xen/p2m-common.h>
 
 static inline int get_page_and_type(struct page_info *page,
@@ -102,4 +124,6 @@ static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
     /* Not supported on RISCV. */
 }
 
+bool is_iomem_page(mfn_t mfn);
+
 #endif /* __ASM_RISCV_P2M_H__ */
\ No newline at end of file
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index abbae75aaf..52eb517669 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -83,6 +83,22 @@ static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
     BUG();
 }
 
+static inline int clean_dcache_va_range(const void *p, unsigned long size)
+{
+    BUG();
+}
+
+static inline int invalidate_dcache_va_range(const void *p, unsigned long size)
+{
+    BUG();
+}
+
+static inline int clean_and_invalidate_dcache_va_range
+    (const void *p, unsigned long size)
+{
+    BUG();
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/include/asm/perfc_defn.h b/xen/arch/riscv/include/asm/perfc_defn.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 0f40641db7..696a1e8448 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -323,3 +323,36 @@ int map_pages_to_xen(unsigned long virt,
     assert_failed(__func__);
     return -1;
 }
+
+bool is_iomem_page(mfn_t mfn)
+{
+    BUG();
+}
+
+int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
+                               uint64_t new_gpaddr, unsigned int flags)
+{
+    BUG();
+}
+
+int create_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
+                              unsigned int flags, unsigned int cache_flags)
+{
+    BUG();
+}
+
+struct domain *page_get_owner_and_reference(struct page_info *page)
+{
+    BUG();
+}
+
+void share_xen_page_with_guest(struct page_info *page, struct domain *d,
+                               enum XENSHARE_flags flags)
+{
+    BUG();
+}
+
+bool get_page(struct page_info *page, const struct domain *domain)
+{
+    BUG();
+}
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584507.915399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpC-0006nl-Hn; Wed, 16 Aug 2023 10:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584507.915399; Wed, 16 Aug 2023 10: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 1qWDpC-0006lM-3p; Wed, 16 Aug 2023 10:32:26 +0000
Received: by outflank-mailman (input) for mailman id 584507;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe4-0003R9-Jh
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:56 +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 94a37645-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:53 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2bb9a063f26so4877431fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:53 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 94a37645-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181253; x=1692786053;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a5o/J0Yhy4zQnMbYIdMWJX60W2Yerk1IC1deMjRe2no=;
        b=sr51+ZqaNCC8F3FLT++AiEX4BmivgASgkqfxYcbwMmvh93OejrpnbMnEV3BiIK1q5q
         hI4/sKh3UHlNh4p7t2YMKUl5JephP+022eEB2tSz61A9OXsq6wxLE0CNnAgLV6nuIuAE
         9OjU4PLZZgGpihmiI9RUohX6DHrSJ5/m+Hbho8jEl9gQWRFogMPoDt2OdbZ31CdYcaV1
         lf1QaDa4bMUP1rxlvlGvib4ecvDnJnekiiimZGKa/gmgnub50WmF53L3p+fq1QvO1Ycx
         yNdPPzSxMLegLlghV//+Y7cUlKEUygQ5vIzRW9RWuektsugMR+8z4Uqhuil1jj1eW5nd
         kfYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181253; x=1692786053;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a5o/J0Yhy4zQnMbYIdMWJX60W2Yerk1IC1deMjRe2no=;
        b=C/uo5pt0vtTN0E3FlRbKSN4KxexLT+0RE57j6jVjRsaMtY/1vahixxWUJUb/VNVwSe
         6fIemtcM/fr53ttzi9E9fUM2vruZ+JmDHe/xOWX2R37AGTDHNywjM/MAUXzJDPEYAf6j
         9LIyDv3wYD+dJ5AgN1mTKkmHoUg+Z77W6gWe6r9nraUXYpaz+pY7kGuIdXtXLi6rWNl6
         4fLzmAN0Jk8fOenUi1OfgB66HSxsCCOYL/Xwg5jEw5D/oog2kVvppcPdZHl4hqeXqcX9
         38inGOL6bYC17FI+B/gnI4zDasHYsh9AK8QoExWmmG3T+XUCozDkaOpB+1+qchEs/Lvo
         a1oQ==
X-Gm-Message-State: AOJu0YxbB7QHvCGTjJ08ofj3iKuxSW7oXH2VS51QzNPU+92EPv+Qo+BP
	0vtQdD+q+46bl9jBrtXgFo9ceP3mX4VyK5KU
X-Google-Smtp-Source: AGHT+IGc4HRQkUQ4oizER2Lxid9+s3toHPwW+S5C/FlXgrPoF7uyRY4LwRlLNBqL31IvVoUed0+3IQ==
X-Received: by 2002:a2e:8341:0:b0:2b9:e053:79d8 with SMTP id l1-20020a2e8341000000b002b9e05379d8mr1071162ljh.18.1692181252829;
        Wed, 16 Aug 2023 03:20:52 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 46/57] xen/riscv: define an address of frame table
Date: Wed, 16 Aug 2023 13:19:59 +0300
Message-ID: <8d3a615afbcff9681aa0ba8e2272d7e7e26251d1.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also the patchs adds some helpful macros.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/config.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index fa90ae0898..63ddcae1f9 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -77,12 +77,31 @@
   name:
 #endif
 
+#define VPN_BITS    (9)
+#define OFFSET_BITS (12)
+
 #ifdef CONFIG_RISCV_64
+
+#define SLOTN_ENTRY_BITS        (HYP_PT_ROOT_LEVEL * VPN_BITS + OFFSET_BITS)
+#define SLOTN(slot)             (_AT(vaddr_t,slot) << SLOTN_ENTRY_BITS)
+#define SLOTN_ENTRY_SIZE        SLOTN(1)
+
 #define XEN_VIRT_START 0xFFFFFFFFC0000000 /* (_AC(-1, UL) + 1 - GB(1)) */
+
+#define FRAMETABLE_VIRT_START   SLOTN(196)
+#define FRAMETABLE_SIZE         GB(3)
+#define FRAMETABLE_NR           (FRAMETABLE_SIZE / sizeof(*frame_table))
+#define FRAMETABLE_VIRT_END     (FRAMETABLE_VIRT_START + FRAMETABLE_SIZE - 1)
+
+#define VMAP_VIRT_START         SLOTN(194)
+#define VMAP_VIRT_SIZE          GB(1)
+
 #else
 #error "RV32 isn't supported"
 #endif
 
+#define HYPERVISOR_VIRT_START XEN_VIRT_START
+
 #define SMP_CACHE_BYTES (1 << 6)
 
 #define STACK_SIZE PAGE_SIZE
@@ -95,6 +114,8 @@
 #define RV_STAGE1_MODE SATP_MODE_SV32
 #endif
 
+#define HYP_PT_ROOT_LEVEL (CONFIG_PAGING_LEVELS - 1)
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584508.915408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpD-00076V-Kg; Wed, 16 Aug 2023 10:32:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584508.915408; Wed, 16 Aug 2023 10: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 1qWDpD-000745-3J; Wed, 16 Aug 2023 10:32:27 +0000
Received: by outflank-mailman (input) for mailman id 584508;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdg-0003RA-V6
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:32 +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 874b39bb-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:31 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31972944f30so2802158f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:31 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03: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: 874b39bb-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181230; x=1692786030;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=in0Dcq8RIGHS1n/QAl0M1ChBHH95P2peAp6/fkLi2Hk=;
        b=LAukkhAeI5IN+5QozRO1cmKtPKbbjmbkQcSuMFKwE6QvSAjLIYSg8s/J6pKVyt9S1B
         ojafZ43q4OL/rSrSWEQaEvj7CmT7RHBH4ppqlg3cBAsGtizDmGgd3xn3w+VzgSGjLrFt
         zq0A7/L7vFZlw9lNmZ0y42PJHeoNxMv/Lzy+R3expqSO7Aw0+0Yh55OL5yRWQOztPiOd
         XXSQJXcMeewebfZDYCngzCNtF0gi9k54k5W1eAkfHHMBTD01aMTIIzI7AZmZloXN6vKd
         WndaIjtpC2G1gT18eJpu1QkkRpVUFR/vgqziakFr8WT9etdAeUln8w0O4kRux+EK5uv5
         R0HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181230; x=1692786030;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=in0Dcq8RIGHS1n/QAl0M1ChBHH95P2peAp6/fkLi2Hk=;
        b=EaZMcdvO9J0qz7hoK0AKVrILPcBLNkAFMhtE7dxRUUl40pwoC/VQFYYivDT6KnhO8X
         4gEn5ggUkHCwruydqDELhJpBS1V2wm2+iyAaX3BTBD4WQtnJRFL+YAbjiireCVhoJvU4
         QYO2elraNBXpBTYwSZOOxJSmpHLz93rK7+Rn1uC6MfB4e+h/6biTivgF84MV2DcQW17T
         CnSx1PDJG5g1mRVLKr9BB/2XUvdOEt5SaECEYN5NHofNZdnHVW55QShtjCs50r2MbNlM
         Tvr9po4NtuuGXJkRIBH8ZNhg7gn03sM/Dp2tr6PeEKk6A4RjxZQ5dvYjJSyEpG/j/+Ek
         EASQ==
X-Gm-Message-State: AOJu0Yy6ivKT5oUIkVytTeJQkllyFTYNuxcfcXnKh0vGw54c1/czk6xa
	y+bN3xeV3H8sAldz9vP8NC21tMeRsryMRMxT
X-Google-Smtp-Source: AGHT+IEhc7jiuxTfIm1R9jaNOj/68oiobUK7MnUL2ZK4GZWQFmmYSdfDBaBEXTbQfMSRFJM0tfCXPw==
X-Received: by 2002:adf:f2ca:0:b0:313:fe1b:f441 with SMTP id d10-20020adff2ca000000b00313fe1bf441mr1023734wrp.29.1692181230310;
        Wed, 16 Aug 2023 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>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 20/57] xen/riscv: introduce asm/system.h
Date: Wed, 16 Aug 2023 13:19:30 +0300
Message-ID: <6e6d1e322635fbab0625ceac65c7dac83c5ff036.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/system.h | 83 +++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/system.h

diff --git a/xen/arch/riscv/include/asm/system.h b/xen/arch/riscv/include/asm/system.h
new file mode 100644
index 0000000000..b1d9936594
--- /dev/null
+++ b/xen/arch/riscv/include/asm/system.h
@@ -0,0 +1,83 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _ASM_RISCV_BARRIER_H
+#define _ASM_RISCV_BARRIER_H
+
+#include <asm/csr.h>
+// #include <xen/lib.h>
+
+#ifndef __ASSEMBLY__
+
+#define RISCV_FENCE(p, s) \
+    __asm__ __volatile__ ("fence " #p "," #s : : : "memory")
+
+/* These barriers need to enforce ordering on both devices or memory. */
+#define mb()                    RISCV_FENCE(iorw,iorw)
+#define rmb()                   RISCV_FENCE(ir,ir)
+#define wmb()                   RISCV_FENCE(ow,ow)
+
+/* These barriers do not need to enforce ordering on devices, just memory. */
+#define smp_mb()                RISCV_FENCE(rw,rw)
+#define smp_rmb()               RISCV_FENCE(r,r)
+#define smp_wmb()               RISCV_FENCE(w,w)
+#define smp_mb__before_atomic() smp_mb()
+#define smp_mb__after_atomic()  smp_mb()
+
+/*
+#define __smp_store_release(p, v)       \
+do {                                    \
+	compiletime_assert_atomic_type(*p); \
+	RISCV_FENCE(rw,w);                  \
+	WRITE_ONCE(*p, v);                  \
+} while (0)
+
+#define __smp_load_acquire(p)           \
+({                                      \
+    typeof(*p) ___p1 = READ_ONCE(*p);   \
+    compiletime_assert_atomic_type(*p); \
+    RISCV_FENCE(r,rw);                  \
+    ___p1;                              \
+})
+*/
+
+static inline unsigned long local_save_flags(void)
+{
+    return csr_read(sstatus);
+}
+
+static inline void local_irq_enable(void)
+{
+    csr_set(sstatus, SSTATUS_SIE);
+}
+
+static inline void local_irq_disable(void)
+{
+    csr_clear(sstatus, SSTATUS_SIE);
+}
+
+#define local_irq_save(x)                           \
+({                                                  \
+    x = csr_read_clear(CSR_SSTATUS, SSTATUS_SIE);   \
+    local_irq_disable();                            \
+})
+
+static inline void local_irq_restore(unsigned long flags)
+{
+	csr_set(CSR_SSTATUS, flags & SSTATUS_SIE);
+}
+
+static inline int local_irq_is_enabled(void)
+{
+    unsigned long flags = local_save_flags();
+
+    return flags & SSTATUS_SIE;
+}
+
+#define arch_fetch_and_add(x, v) __sync_fetch_and_add(x, v)
+
+// extern struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next);
+
+#endif /* __ASSEMBLY__ */
+
+
+#endif /* _ASM_RISCV_BARRIER_H */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584511.915417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpE-0007Oj-VU; Wed, 16 Aug 2023 10:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584511.915417; Wed, 16 Aug 2023 10: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 1qWDpE-0007Iy-9G; Wed, 16 Aug 2023 10:32:28 +0000
Received: by outflank-mailman (input) for mailman id 584511;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDeH-0003R9-Ln
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:21:09 +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 99ba0360-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:21:02 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-31972944f30so2802478f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:21:02 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.21.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:21:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99ba0360-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181261; x=1692786061;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fRYz4a+r1jBecXHkDnckEiKNtokDBe/brUZr7KBy8rU=;
        b=ELqhJ+0W4oTx7lv2OlBtiYcxZvy3cR3ZyVWr9pVar3iUO+eM6Dr5yLkps1RQdRFiOr
         HNQ8x0NCK6OmKYwpCUeB93g9AhAYm5YRTK0Nzs8nuA5K2Anppyi0X+ta3ouIunJcwt5+
         qo0peqg+Xj0V/b4+NLsa8aOAay7VbBy+kKuFrkmAzyPiBL7lkTbpfqGX0s2vPhcIIA7c
         Wa5ta8yVQr3/AR8Xycn/C1aI+znVVsyTwkG9rtK0w9zvZJYY8QHw3ouIkhOiXkV12Ali
         lxqicz5yWOoiuXyNxNPTTTTpQ1ydRC4NnyykD1xBZdSaZ7/ps5VzMhvPhgWpw+STOE0P
         fEoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181261; x=1692786061;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fRYz4a+r1jBecXHkDnckEiKNtokDBe/brUZr7KBy8rU=;
        b=M/IEtuSAkFIjvOLwMTssIU+WJp1frwcv4FYcVHa8HbAiTH13EBP1bsqrvpFralB4xD
         k7IOTAiv8/qcfNW3THXYMhD21/PtpGIKWA8e7XqVlLGGJUUN+V8udl1Ls6Imwac284fT
         xxRXsktk0gyWgPtp2dFbXylW9o1MbZXxZHVXNT1llJqOcrbnSOLQMTSK0wkRQi/st9CW
         qhujrCqG3N2rre7NeBwZkUEwfxoHM6GXQ0l/wwXpyCSz1bs8M5PmZaGUNR81rSmjRigt
         XsdzMmFNmbKpyqvjCyo7i8klXeZNg+nv0S6mAizlM8ZF4cKx2mpmtU1UWRiSplNgyBUa
         4U4g==
X-Gm-Message-State: AOJu0YyTD2mGQG4jI4q3+nyz6FkpZNm4wNpUvY9SvZf7Gyu98fSpUwD7
	ZEBmPKjO/DXh3z3kIpvomMopEee2EzSALK3q
X-Google-Smtp-Source: AGHT+IGuItZTgfXAPZ9uIQroIu7vFyaTZ/FFI1TTI8T42hpAndWvtAy2kipfHoKlu2f6ba33ke01Fw==
X-Received: by 2002:a5d:5651:0:b0:314:336e:d4d8 with SMTP id j17-20020a5d5651000000b00314336ed4d8mr1097858wrw.8.1692181261354;
        Wed, 16 Aug 2023 03:21:01 -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>
Subject: [PATCH v1 56/57] test only riscv
Date: Wed, 16 Aug 2023 13:20:09 +0300
Message-ID: <c78a33df6ad9e4b448976fa224d143696d849da0.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/gitlab-ci/analyze.yaml |  16 -
 automation/gitlab-ci/build.yaml   | 544 ------------------------------
 automation/gitlab-ci/test.yaml    | 308 -----------------
 3 files changed, 868 deletions(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 4aa4abe2ee..89cef96771 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -20,22 +20,6 @@
       codequality: gl-code-quality-report.json
   needs: []
 
-eclair-x86_64:
-  extends: .eclair-analysis
-  variables:
-    LOGFILE: "eclair-x86_64.log"
-    VARIANT: "X86_64"
-    RULESET: "Set1"
-  allow_failure: true
-
-eclair-ARM64:
-  extends: .eclair-analysis
-  variables:
-    LOGFILE: "eclair-ARM64.log"
-    VARIANT: "ARM64"
-    RULESET: "Set1"
-  allow_failure: true
-
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
   rules:
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 173613567c..210f7da264 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -271,247 +271,6 @@
   needs: []
   except: !reference [.test-jobs-common, except]
 
-# Arm test artifacts
-
-alpine-3.18-arm64-rootfs-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18-arm64v8
-  script:
-    - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
-  artifacts:
-    paths:
-      - binaries/initrd.tar.gz
-  tags:
-    - arm64
-
-kernel-5.19-arm64-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.19-arm64v8
-  script:
-    - mkdir binaries && cp /Image binaries/Image
-  artifacts:
-    paths:
-      - binaries/Image
-  tags:
-    - arm64
-
-qemu-system-aarch64-6.0.0-arm64-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
-  script:
-    - mkdir binaries && cp /qemu-system-aarch64 binaries/qemu-system-aarch64
-  artifacts:
-    paths:
-      - binaries/qemu-system-aarch64
-  tags:
-    - arm64
-
-qemu-system-aarch64-6.0.0-arm32-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-aarch64:6.0.0-arm64v8
-  script:
-    - mkdir binaries && cp /qemu-system-arm binaries/qemu-system-arm
-  artifacts:
-    paths:
-      - binaries/qemu-system-arm
-  tags:
-    - arm64
-
-# x86_64 test artifacts
-
-alpine-3.18-rootfs-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18
-  script:
-    - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
-  artifacts:
-    paths:
-      - binaries/initrd.tar.gz
-  tags:
-    - x86_64
-
-kernel-6.1.19-export:
-  extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
-  script:
-    - mkdir binaries && cp /bzImage binaries/bzImage
-  artifacts:
-    paths:
-      - binaries/bzImage
-  tags:
-    - x86_64
-
-# Jobs below this line
-
-# Build jobs needed for tests
-
-alpine-3.18-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: alpine:3.18
-
-alpine-3.18-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: alpine:3.18
-
-debian-stretch-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
-
-debian-unstable-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: debian:unstable
-
-# Arm32 cross-build
-
-debian-unstable-gcc-arm32:
-  extends: .gcc-arm32-cross-build
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-
-debian-unstable-gcc-arm32-debug:
-  extends: .gcc-arm32-cross-build-debug
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-
-debian-unstable-gcc-arm32-randconfig:
-  extends: .gcc-arm32-cross-build
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-    RANDCONFIG: y
-
-debian-unstable-gcc-arm32-debug-randconfig:
-  extends: .gcc-arm32-cross-build-debug
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-    RANDCONFIG: y
-
-debian-unstable-gcc-arm32-staticmem:
-  extends: .gcc-arm32-cross-build
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      CONFIG_UNSUPPORTED=y
-      CONFIG_STATIC_MEMORY=y
-
-debian-unstable-gcc-arm32-debug-staticmem:
-  extends: .gcc-arm32-cross-build-debug
-  variables:
-    CONTAINER: debian:unstable-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      CONFIG_UNSUPPORTED=y
-      CONFIG_STATIC_MEMORY=y
-
-# Arm builds
-
-debian-unstable-gcc-arm64:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: debian:unstable-arm64v8
-
-debian-unstable-gcc-debug-arm64:
-  extends: .gcc-arm64-build-debug
-  variables:
-    CONTAINER: debian:unstable-arm64v8
-
-debian-unstable-gcc-arm64-randconfig:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: debian:unstable-arm64v8
-    RANDCONFIG: y
-
-debian-unstable-gcc-debug-arm64-randconfig:
-  extends: .gcc-arm64-build-debug
-  variables:
-    CONTAINER: debian:unstable-arm64v8
-    RANDCONFIG: y
-
-alpine-3.18-gcc-arm64:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-
-alpine-3.18-gcc-debug-arm64:
-  extends: .gcc-arm64-build-debug
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-
-alpine-3.18-gcc-arm64-randconfig:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-    RANDCONFIG: y
-
-alpine-3.18-gcc-debug-arm64-randconfig:
-  extends: .gcc-arm64-build-debug
-  variables:
-    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:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      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:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_UNSUPPORTED=y
-      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:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_BOOT_TIME_CPUPOOLS=y
-
 # RISC-V 64 cross-build
 archlinux-current-gcc-riscv64:
   extends: .gcc-riscv64-cross-build
@@ -544,306 +303,3 @@ archlinux-current-gcc-riscv64-debug-randconfig:
     RANDCONFIG: y
     EXTRA_FIXED_RANDCONFIG:
       CONFIG_COVERAGE=n
-
-# Power cross-build
-debian-bullseye-gcc-ppc64le:
-  extends: .gcc-ppc64le-cross-build
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    HYPERVISOR_ONLY: y
-
-debian-bullseye-gcc-ppc64le-debug:
-  extends: .gcc-ppc64le-cross-build-debug
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    HYPERVISOR_ONLY: y
-
-debian-bullseye-gcc-ppc64le-randconfig:
-  extends: .gcc-ppc64le-cross-build
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    RANDCONFIG: y
-    EXTRA_FIXED_RANDCONFIG:
-      CONFIG_COVERAGE=n
-
-debian-bullseye-gcc-ppc64le-debug-randconfig:
-  extends: .gcc-ppc64le-cross-build-debug
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    RANDCONFIG: y
-    EXTRA_FIXED_RANDCONFIG:
-      CONFIG_COVERAGE=n
-
-# Yocto test jobs
-yocto-qemuarm64:
-  extends: .yocto-test-arm64
-  variables:
-    YOCTO_BOARD: qemuarm64
-
-yocto-qemuarm:
-  extends: .yocto-test-arm64
-  variables:
-    YOCTO_BOARD: qemuarm
-    YOCTO_OUTPUT: --copy-output
-
-yocto-qemux86-64:
-  extends: .yocto-test-arm64
-  variables:
-    YOCTO_BOARD: qemux86-64
-
-# Cppcheck analysis jobs
-
-debian-unstable-gcc-cppcheck:
-  extends: .gcc-x86-64-cross-build
-  variables:
-    CONTAINER: debian:unstable-cppcheck
-    CROSS_COMPILE: /usr/bin/x86_64-linux-gnu-
-    CPPCHECK: y
-    HYPERVISOR_ONLY: y
-
-debian-unstable-gcc-arm32-cppcheck:
-  extends: .gcc-arm32-cross-build
-  variables:
-    CONTAINER: debian:unstable-cppcheck
-    CROSS_COMPILE: /usr/bin/arm-linux-gnueabihf-
-    CPPCHECK: y
-    HYPERVISOR_ONLY: y
-
-debian-unstable-gcc-arm64-cppcheck:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: debian:unstable-cppcheck
-    CPPCHECK: y
-    HYPERVISOR_ONLY: y
-
-# Build jobs not needed for tests
-
-alpine-3.18-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: alpine:3.18
-
-alpine-3.18-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: alpine:3.18
-
-archlinux-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: archlinux:current
-
-archlinux-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: archlinux:current
-
-centos-7-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: centos:7
-
-centos-7-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: centos:7
-
-debian-stretch-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:stretch
-
-debian-stretch-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: debian:stretch
-
-debian-stretch-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
-
-debian-stretch-32-clang-debug:
-  extends: .clang-x86-32-build-debug
-  variables:
-    CONTAINER: debian:stretch-i386
-
-debian-stretch-32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
-  variables:
-    CONTAINER: debian:stretch-i386
-
-debian-buster-gcc-ibt:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:buster-gcc-ibt
-    RANDCONFIG: y
-    EXTRA_FIXED_RANDCONFIG: |
-      CONFIG_XEN_IBT=y
-
-debian-unstable-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: debian:unstable
-
-debian-unstable-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:unstable
-
-debian-unstable-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: debian:unstable
-
-debian-unstable-gcc-randconfig:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:unstable
-    RANDCONFIG: y
-
-debian-unstable-gcc-debug-randconfig:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: debian:unstable
-    RANDCONFIG: y
-
-debian-unstable-32-clang-debug:
-  extends: .clang-x86-32-build-debug
-  variables:
-    CONTAINER: debian:unstable-i386
-
-debian-unstable-32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
-  variables:
-    CONTAINER: debian:unstable-i386
-
-fedora-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: fedora:29
-
-fedora-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: fedora:29
-
-# Ubuntu Trusty's Clang is 3.4 while Xen requires 3.5
-
-ubuntu-trusty-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:trusty
-
-ubuntu-trusty-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:trusty
-
-ubuntu-xenial-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: ubuntu:xenial
-
-ubuntu-xenial-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:xenial
-
-ubuntu-xenial-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:xenial
-
-ubuntu-xenial-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:xenial
-
-ubuntu-bionic-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: ubuntu:bionic
-
-ubuntu-bionic-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:bionic
-
-ubuntu-bionic-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:bionic
-
-ubuntu-bionic-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:bionic
-
-ubuntu-focal-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:focal
-
-ubuntu-focal-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:focal
-
-ubuntu-focal-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: ubuntu:focal
-
-ubuntu-focal-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:focal
-
-opensuse-leap-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: suse:opensuse-leap
-
-opensuse-leap-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: suse:opensuse-leap
-
-opensuse-leap-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: suse:opensuse-leap
-
-opensuse-leap-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: suse:opensuse-leap
-
-opensuse-tumbleweed-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: suse:opensuse-tumbleweed
-  allow_failure: true
-
-opensuse-tumbleweed-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: suse:opensuse-tumbleweed
-  allow_failure: true
-
-opensuse-tumbleweed-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: suse:opensuse-tumbleweed
-  allow_failure: true
-
-opensuse-tumbleweed-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: suse:opensuse-tumbleweed
-  allow_failure: true
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8ccce1fe26..869fe8cd9f 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -149,308 +149,6 @@ build-each-commit-gcc:
   tags:
     - x86_64
 
-xilinx-smoke-dom0less-arm64-gcc:
-  extends: .xilinx-arm64
-  script:
-    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
-
-xilinx-smoke-dom0less-arm64-gcc-gem-passthrough:
-  extends: .xilinx-arm64
-  script:
-    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
-
-adl-smoke-x86-64-gcc-debug:
-  extends: .adl-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-adl-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .adl-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-adl-suspend-x86-64-gcc-debug:
-  extends: .adl-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-adl-pci-pv-x86-64-gcc-debug:
-  extends: .adl-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-adl-pci-hvm-x86-64-gcc-debug:
-  extends: .adl-x86-64
-  variables:
-    PCIDEV_INTR: "MSI"
-  script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-zen3p-smoke-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-zen3p-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .zen3p-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-zen3p-pci-hvm-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
-  script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
-
-qemu-smoke-dom0-arm64-gcc:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
-
-qemu-smoke-dom0-arm64-gcc-debug:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
-
-qemu-smoke-dom0less-arm64-gcc:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
-
-qemu-smoke-dom0less-arm64-gcc-debug:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *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:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *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:
-   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
- needs:
-   - *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:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *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:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64-boot-cpupools
-
-qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
-  needs:
-    - alpine-3.18-gcc-arm64
-    - qemu-system-aarch64-6.0.0-arm64-export
-
-qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
-  needs:
-    - alpine-3.18-gcc-debug-arm64
-    - qemu-system-aarch64-6.0.0-arm64-export
-
-qemu-smoke-dom0-arm32-gcc:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - yocto-qemuarm
-
-qemu-smoke-dom0less-arm32-gcc:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-gcc-arm32
-
-qemu-smoke-dom0less-arm32-gcc-debug:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-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-unstable-gcc-arm32-staticmem
-
-qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-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-unstable-gcc-arm32
-
-qemu-smoke-dom0less-arm32-gcc-debug-gzip:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug
-
-qemu-smoke-dom0less-arm32-gcc-without-dom0:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-gcc-arm32
-
-qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-unstable-gcc-arm32-debug
-
-qemu-alpine-x86_64-gcc:
-  extends: .qemu-x86-64
-  script:
-    - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
-  needs:
-    - *x86-64-test-needs
-    - alpine-3.18-gcc
-
-qemu-smoke-x86-64-gcc:
-  extends: .qemu-x86-64
-  script:
-    - ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE}
-  needs:
-    - debian-stretch-gcc-debug
-
-qemu-smoke-x86-64-clang:
-  extends: .qemu-x86-64
-  script:
-    - ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE}
-  needs:
-    - debian-unstable-clang-debug
-
-qemu-smoke-x86-64-gcc-pvh:
-  extends: .qemu-x86-64
-  script:
-    - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
-  needs:
-    - debian-stretch-gcc-debug
-
-qemu-smoke-x86-64-clang-pvh:
-  extends: .qemu-x86-64
-  script:
-    - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
-  needs:
-    - debian-unstable-clang-debug
-
 qemu-smoke-riscv64-gcc:
   extends: .qemu-riscv64
   script:
@@ -458,9 +156,3 @@ qemu-smoke-riscv64-gcc:
   needs:
     - archlinux-current-gcc-riscv64-debug
 
-qemu-smoke-ppc64le-pseries-gcc:
-  extends: .qemu-ppc64le
-  script:
-    - ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
-  needs:
-    - debian-bullseye-gcc-ppc64le-debug
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584515.915425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpF-0007jT-VO; Wed, 16 Aug 2023 10:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584515.915425; Wed, 16 Aug 2023 10:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpF-0007bi-AN; Wed, 16 Aug 2023 10:32:29 +0000
Received: by outflank-mailman (input) for mailman id 584515;
 Wed, 16 Aug 2023 10:32:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdw-0003R9-HZ
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:48 +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 90e320d6-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:47 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-3fe1e1142caso62478825e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:47 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 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: 90e320d6-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181246; x=1692786046;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9c/qFLMpNTGlGWuyHg5yK8zegTq/c08CfdB4QgYtyrI=;
        b=Jqrp+5Hxxq1kFXNBSyUBlk/cDY78DINASdkRMpgYoMSeE5Nc4OrIyXjq5D7OT7cI50
         3nzJIHGNVpv7qB/PX5PAg+dKLmCsJkqwlt+zPNRnUScV2FfiNcEs9OP+Wxgtupw9I/U4
         Z8euCzkfnUpLaBq62/nuFSZ1XZjS5wqRvF9IjZGupb+0pqGIXYzCMTwP6lk5XEIpGuoF
         Y34WWTc+TciCvZUidtuMIC711/54c9TeIsyIXkbu/Lxlo/KgIAtOZtMDyiP88Lsbn6JF
         jLQOY1HVwGzvI9NVzVe/olg46al5cBv9TQema6Gs0dhAOwlxOuXv1IfxTKIQkXIHZVOP
         aOZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181246; x=1692786046;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9c/qFLMpNTGlGWuyHg5yK8zegTq/c08CfdB4QgYtyrI=;
        b=CIe608XR3tSN0chXoM7tDiSdix2DBVSU3uzHUp7x7XLcGE7N1X8VZWnm/u56Z1wD/2
         5ysFipf+U35E/bdJXLkdWo4KC/fqgtAN8wQeWymZLZ02hDsKcJK/1Xfphn7pqc6ZVlt0
         4nd4WXH3QXv1cisCVqlv5O/Thq0sk2kVf7EypXsBLEDjP11FSPJZxY9N7m81HUlrfZJp
         OjkhH6VZ/j15+Nwf+D5SEnwweUrPLNYcoG+Z4HlHgMLRgpC9FdckUniGV5APaqT562uf
         Je2RV8FOJ45G5M10tOXi8Ex4VsxtAZ63u2Dz5eG8Xk8GuJ7jYYbfeFe3PNluRe0uL6rF
         +LdQ==
X-Gm-Message-State: AOJu0YyKtESIATdZl/soafHENm8A03bpkGJf/FR124v0ZPDLJI/2rwF3
	9h/hohJbL9XQiABmjZwhfUbVHC2UZ/dbSmk5
X-Google-Smtp-Source: AGHT+IE/kYNUjdBrAxTziIYecwHbDLHsUrOSD+RoYsKy3yWsd7mCNkNVrzxoyXb4SqyoKlHpTbwVVQ==
X-Received: by 2002:a5d:6706:0:b0:317:5f04:bc00 with SMTP id o6-20020a5d6706000000b003175f04bc00mr1176233wru.27.1692181246630;
        Wed, 16 Aug 2023 03:20:46 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 39/57] xen/riscv: introduce asm/numa.h
Date: Wed, 16 Aug 2023 13:19:51 +0300
Message-ID: <f704c2f068214fa1a7369b22e6207b9057a56079.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/numa.h | 38 +++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/numa.h

diff --git a/xen/arch/riscv/include/asm/numa.h b/xen/arch/riscv/include/asm/numa.h
new file mode 100644
index 0000000000..0cfeeed38a
--- /dev/null
+++ b/xen/arch/riscv/include/asm/numa.h
@@ -0,0 +1,38 @@
+#ifndef __ARCH_RISCV_NUMA_H
+#define __ARCH_RISCV_NUMA_H
+
+#include <xen/mm.h>
+
+typedef u8 nodeid_t;
+
+/* Fake one node for now. See also node_online_map. */
+#define cpu_to_node(cpu) 0
+#define node_to_cpumask(node)   (cpu_online_map)
+
+/*
+ * TODO: make first_valid_mfn static when NUMA is supported on RISCV, this
+ * is required because the dummy helpers are using it.
+ */
+extern mfn_t first_valid_mfn;
+
+/* XXX: implement NUMA support */
+#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
+#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
+#define __node_distance(a, b) (20)
+
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32;
+}
+
+#define arch_want_default_dmazone() (false)
+
+#endif /* __ARCH_RISCV_NUMA_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584524.915454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpO-0001Sg-NT; Wed, 16 Aug 2023 10:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584524.915454; Wed, 16 Aug 2023 10: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 1qWDpO-0001SI-Eg; Wed, 16 Aug 2023 10:32:38 +0000
Received: by outflank-mailman (input) for mailman id 584524;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDe2-0003R9-J2
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:54 +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 941e491d-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:52 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-3fea0640d7aso23331595e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:52 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 941e491d-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181252; x=1692786052;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xlljDGp2nh4y5C8UpAHlSWUpyUARLNFYBgRU10ZUwnY=;
        b=B/MFHTQ5OALu/4Yq8NWmj5Xt0L8GZt2TC32CyImb97PJyB6Jr9+Q44gzS2b/76MW8t
         0EdxenwpuuFYqjBilybQP9a8A8ZdELUFPixuI9idiCUhbzAAhpq+bjS2/eIS7QDABBF8
         nyUpXOV4tJoP2Ir0cc/VyOzhr+Ya2S7c3n1z3Tjz2V8a1FnflZgnHn+venjxIrOROxn2
         gy00LPr9J8A4EWlD6lNWvbDz1e0S3mB5hJZX9LalqOpFnApWDR4EGJyj/1e7fSKP1Jxb
         g9d6O9G6frKKPgRwbm2JZ9dLFWv/srTJ7DF2+tKjDXquQ0BLHj2ZOQSYmfLwzB5vaqyH
         WcnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181252; x=1692786052;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xlljDGp2nh4y5C8UpAHlSWUpyUARLNFYBgRU10ZUwnY=;
        b=b1d0dZ9wi8hpu/V1JZJQqbFhS9SxaqXtLQbVLRglwVWGyBBDDieIWv57ht+tHwj1c0
         ZIVUa1UopN2HCFEjlRm/ruxVKf+ihUJI2oNRGBgn4dfnAPad7GTtDvLoGAaMO7+JrBA8
         Wlx9gSKUTEj3nT1ODgNPJoA3kGO/6DQkBkWOTT5OtFh9QJgFuDawkw/tq58pmx4BjJn7
         fSsMsR46FwKRg4/q2/BGYDh5WHGv1PNGTE96V40+h70/vOz+bMzGNcT9Uurb75Y4yBfq
         LHRSwrqRUbLfZhwrB0ZqdKGT19OZp/i2/9Qwyn0evEOTuESBvt1ySv17ZHtu0V66L/v/
         ZR8A==
X-Gm-Message-State: AOJu0YzDTGT+N/fdPFvo/GXI1WQXHJ6nClAkxYwoze1QI3NhWQx4xQdC
	hLQ4mu+9IzZnSoTnPeCtyIau/ha3dz5KNJPQ
X-Google-Smtp-Source: AGHT+IFl9XxbenCxJDhQSULrwEfLZdnXiEEdpia3zWB8FaT7qYaROfqssC9pZ21DaM4MImDgAZA0KQ==
X-Received: by 2002:adf:e5cb:0:b0:317:5b1b:1a40 with SMTP id a11-20020adfe5cb000000b003175b1b1a40mr1177086wrn.49.1692181252006;
        Wed, 16 Aug 2023 03:20:52 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 45/57] xen/riscv: add definition of __read_mostly
Date: Wed, 16 Aug 2023 13:19:58 +0300
Message-ID: <e11462a0dd6e71884aa114493d75674411e26701.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/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.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584540.915464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpg-0003X5-Ua; Wed, 16 Aug 2023 10:32:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584540.915464; Wed, 16 Aug 2023 10:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDpg-0003Wu-PR; Wed, 16 Aug 2023 10:32:56 +0000
Received: by outflank-mailman (input) for mailman id 584540;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdw-0003RA-11
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:48 +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 8dbaca2d-3c1e-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:20:42 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3197b461bb5so2203182f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:42 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20: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: 8dbaca2d-3c1e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181241; x=1692786041;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CeCsLtvDCyT32A3FOXuYg+gr5XNtFdVisCuwj+PGRb4=;
        b=du5yjxIoyISeBHtmLt0EgW8TPB1X3CQ3eb4cs6NheiY/8Y/h4LUusXSat2XsjZ7XRY
         uXtyQk7Bl7CXMRZWV9wSSprIstx35W79L1OG7evvc5GOWhvsR91o0jfyJbSUr5VlK9uT
         5VCCZ5KRBmg7FwjLMBmDuG6dAJExrKNeev/23dbcASTqFXQR2zsgdderg9y4UJi9Ubqv
         c//ZCOh74XWZXR9cdjEqDEBzUM4xfRMGcnFHEn16ybTvukuYdbi5ERfkGlJjzScUVU9+
         zlQztkgtf2DH58f0N7hmHIwMopk+upUiCFxDrmj7Vj4//AVegoMD4r9LHrxIunQxjyIC
         9bjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181241; x=1692786041;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CeCsLtvDCyT32A3FOXuYg+gr5XNtFdVisCuwj+PGRb4=;
        b=ekZWoWWaybqPCeMnCOD4DJ9Wv9Cl4iRuC1+2bXZqWZG+s9yNL9+Aqr6Dc0qZ//ZwO/
         8y7JEvGLNzHYmpUspiNiPtrv5nOZyXGmQHT7jvh6S+jBujxdczb4Ddy8PsfLx4bXghwT
         8ca4igRwqr55fV6eVbI0r5TGuFMfcfHg4lin1A4YTQcPGI6X+gZsIFD5/cssAlyIFjeB
         zT7D+7MUzJNotgy7syP7GdcgzB3wvyV0VPUGddKeuOrx+vF5nMgUJpu+xX05TQtizARv
         AMmGjOWJeTvkCzG3z9RdJfjYlYXfAXCXhVTqhBAFMW2pkEu8/gXeO9KgT0J4kJPMoptH
         gb5g==
X-Gm-Message-State: AOJu0YxtVP7D5u8ecwqNMjf0aJGZbEM7Zd3R+1XVw58u7klwGKleofzr
	fGxcHfFOf7FtJz4g1Ud8SpxPRb0XNDL9ia6U
X-Google-Smtp-Source: AGHT+IHXcO4BYXI9ietutHR0LKi2b7BvNdJrsbnNiH25wXy6NACl4RHwkmJbgTrsWoFjH1mzR+O7nA==
X-Received: by 2002:a5d:6386:0:b0:318:70:a4ac with SMTP id p6-20020a5d6386000000b003180070a4acmr1081479wru.17.1692181241215;
        Wed, 16 Aug 2023 03:20:41 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 32/57] xen/riscv: introduce bit operations
Date: Wed, 16 Aug 2023 13:19:44 +0300
Message-ID: <ccdab77ac44b2697ea26ff0789c636ce8362abea.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile            |   1 +
 xen/arch/riscv/lib/Makefile        |   1 +
 xen/arch/riscv/lib/find_next_bit.c | 278 +++++++++++++++++++++++++++++
 3 files changed, 280 insertions(+)
 create mode 100644 xen/arch/riscv/lib/Makefile
 create mode 100644 xen/arch/riscv/lib/find_next_bit.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 2fefe14e7c..b08048948f 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
+obj-y += lib/
 obj-y += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
diff --git a/xen/arch/riscv/lib/Makefile b/xen/arch/riscv/lib/Makefile
new file mode 100644
index 0000000000..6fae6a1f10
--- /dev/null
+++ b/xen/arch/riscv/lib/Makefile
@@ -0,0 +1 @@
+obj-y += find_next_bit.o
diff --git a/xen/arch/riscv/lib/find_next_bit.c b/xen/arch/riscv/lib/find_next_bit.c
new file mode 100644
index 0000000000..ac5a4687e3
--- /dev/null
+++ b/xen/arch/riscv/lib/find_next_bit.c
@@ -0,0 +1,278 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * find_next_bit.c: fallback find next bit implementation
+ *
+ * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ */
+#include <xen/bitops.h>
+#include <asm/types.h>
+#include <asm/byteorder.h>
+
+#ifndef find_next_bit
+/*
+ * Find the next set bit in a memory region.
+ */
+unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
+			    unsigned long offset)
+{
+	const unsigned long *p = addr + BIT_WORD(offset);
+	unsigned long result = offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	size -= result;
+	offset %= BITS_PER_LONG;
+	if (offset) {
+		tmp = *(p++);
+		tmp &= (~0UL << offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp = *(p++)))
+			goto found_middle;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = *p;
+
+found_first:
+	tmp &= (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + __ffs(tmp);
+}
+EXPORT_SYMBOL(find_next_bit);
+#endif
+
+#ifndef find_next_zero_bit
+/*
+ * This implementation of find_{first,next}_zero_bit was stolen from
+ * Linus' asm-alpha/bitops.h.
+ */
+unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
+				 unsigned long offset)
+{
+	const unsigned long *p = addr + BIT_WORD(offset);
+	unsigned long result = offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	size -= result;
+	offset %= BITS_PER_LONG;
+	if (offset) {
+		tmp = *(p++);
+		tmp |= ~0UL >> (BITS_PER_LONG - offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (~tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if (~(tmp = *(p++)))
+			goto found_middle;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = *p;
+
+found_first:
+	tmp |= ~0UL << size;
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + ffz(tmp);
+}
+EXPORT_SYMBOL(find_next_zero_bit);
+#endif
+
+#ifndef find_first_bit
+/*
+ * Find the first set bit in a memory region.
+ */
+unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+{
+	const unsigned long *p = addr;
+	unsigned long result = 0;
+	unsigned long tmp;
+
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp = *(p++)))
+			goto found;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+
+	tmp = (*p) & (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found:
+	return result + __ffs(tmp);
+}
+EXPORT_SYMBOL(find_first_bit);
+#endif
+
+#ifndef find_first_zero_bit
+/*
+ * Find the first cleared bit in a memory region.
+ */
+unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+{
+	const unsigned long *p = addr;
+	unsigned long result = 0;
+	unsigned long tmp;
+
+	while (size & ~(BITS_PER_LONG-1)) {
+		if (~(tmp = *(p++)))
+			goto found;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+
+	tmp = (*p) | (~0UL << size);
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size;	/* Nope. */
+found:
+	return result + ffz(tmp);
+}
+EXPORT_SYMBOL(find_first_zero_bit);
+#endif
+
+#ifdef __BIG_ENDIAN
+
+/* include/linux/byteorder does not support "unsigned long" type */
+static inline unsigned long ext2_swabp(const unsigned long * x)
+{
+#if BITS_PER_LONG == 64
+	return (unsigned long) __swab64p((u64 *) x);
+#elif BITS_PER_LONG == 32
+	return (unsigned long) __swab32p((u32 *) x);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+/* include/linux/byteorder doesn't support "unsigned long" type */
+static inline unsigned long ext2_swab(const unsigned long y)
+{
+#if BITS_PER_LONG == 64
+	return (unsigned long) __swab64((u64) y);
+#elif BITS_PER_LONG == 32
+	return (unsigned long) __swab32((u32) y);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+#ifndef find_next_zero_bit_le
+unsigned long find_next_zero_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	const unsigned long *p = addr;
+	unsigned long result = offset & ~(BITS_PER_LONG - 1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	p += BIT_WORD(offset);
+	size -= result;
+	offset &= (BITS_PER_LONG - 1UL);
+	if (offset) {
+		tmp = ext2_swabp(p++);
+		tmp |= (~0UL >> (BITS_PER_LONG - offset));
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (~tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+
+	while (size & ~(BITS_PER_LONG - 1)) {
+		if (~(tmp = *(p++)))
+			goto found_middle_swap;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = ext2_swabp(p);
+found_first:
+	tmp |= ~0UL << size;
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size; /* Nope. Skip ffz */
+found_middle:
+	return result + ffz(tmp);
+
+found_middle_swap:
+	return result + ffz(ext2_swab(tmp));
+}
+EXPORT_SYMBOL(find_next_zero_bit_le);
+#endif
+
+#ifndef find_next_bit_le
+unsigned long find_next_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	const unsigned long *p = addr;
+	unsigned long result = offset & ~(BITS_PER_LONG - 1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	p += BIT_WORD(offset);
+	size -= result;
+	offset &= (BITS_PER_LONG - 1UL);
+	if (offset) {
+		tmp = ext2_swabp(p++);
+		tmp &= (~0UL << offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+
+	while (size & ~(BITS_PER_LONG - 1)) {
+		tmp = *(p++);
+		if (tmp)
+			goto found_middle_swap;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = ext2_swabp(p);
+found_first:
+	tmp &= (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size; /* Nope. */
+found_middle:
+	return result + __ffs(tmp);
+
+found_middle_swap:
+	return result + __ffs(ext2_swab(tmp));
+}
+EXPORT_SYMBOL(find_next_bit_le);
+#endif
+
+#endif /* __BIG_ENDIAN */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:32:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584543.915470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWDph-0003cD-AE; Wed, 16 Aug 2023 10:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584543.915470; Wed, 16 Aug 2023 10: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 1qWDph-0003bE-2r; Wed, 16 Aug 2023 10:32:57 +0000
Received: by outflank-mailman (input) for mailman id 584543;
 Wed, 16 Aug 2023 10:32: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=aIlC=EB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWDdu-0003R9-HA
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:20:46 +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 8ffa5610-3c1e-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 12:20:46 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3196fdb3238so3156396f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 16 Aug 2023 03:20:46 -0700 (PDT)
Received: from 192.168.1.26 ([151.25.98.127]) by smtp.gmail.com with ESMTPSA id
 g5-20020adfe405000000b0031773a8e5c4sm20877843wrm.37.2023.08.16.03.20.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 16 Aug 2023 03:20:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ffa5610-3c1e-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692181245; x=1692786045;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T49tZkAQeR8noCxKYSkS705bNR9eV7TlBqTPGyzE3TM=;
        b=mZXFwdNlW0SWlJc6RrvZAYdaGHjuxZFmTDOj8llQbYxrSZvhMP+kBFgHpQOgeBTb+3
         uOULziQzAXK0wq7KLVCNGA47O3jKd7Zk8fjke4d0JA0fVTnPbL8tH/8If/ktghwhkGPW
         +l3PIVXEkDkmBGX2LTEIcllnBDAoXWeS8Ca4cUFhaHJDWYbOs8XdH1cnOatCHyLyDa3o
         iBIwtdTuIk76XevlYRyOcx7MelhdInpPKJxqVQjfWj4JV51LDLcbvisNLmSGSfxHgsH5
         Y2JNcMoiFBZ6oY6XyAF8S/uckuD7xbo0xhxC6064vnlXMkSuPYLR1ELczBV4z403UpjU
         JISw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692181245; x=1692786045;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=T49tZkAQeR8noCxKYSkS705bNR9eV7TlBqTPGyzE3TM=;
        b=X8sclU58MwCdXPcrbUCFo4sswZYW2LQCKTHaCul4d7UckuhZLtNFoa7rKiKZsn9P5Z
         E3wWmxX0WS4UlpKl4pOhetpg9e0bQ6KrYBBWo4xglUEdljw/PflvPE+ardVuaOPw/2tJ
         BaSeRKQHXlS7SOAteh0kzwDkH9LvqiiFQqm3MXTWSRAHaEdv9WYkLbA9ur5xCwlhogFj
         pILPjhxoJBUApJxqte5kVvtDb4fYa+ZSuDmZTRuSeMW74V8RXAsvesYPI/Kzng0iVl5r
         Yofs4BIXZghg9ZyZJyQcaTJRrAXphZI9il/YqyERKBD0k4NPOZ8z2nsMFl0vAr+XpkSC
         Tzsw==
X-Gm-Message-State: AOJu0Yy0/1noFlVF/26PjhrqPCj+tsLno9/hRD18uun9yMI9k2aoQ3Xx
	wcCIs7Xt2F3I/z6n4min/fwtm/DXCJyknLDt
X-Google-Smtp-Source: AGHT+IFYXS0uByg6EvyNusfkF4IYow/JnDAQyb+YpiPj2io/McI/fxMDQGdunJVA1y436jtdtW5VZg==
X-Received: by 2002:a5d:548e:0:b0:315:ae39:27c with SMTP id h14-20020a5d548e000000b00315ae39027cmr1091413wrv.70.1692181245079;
        Wed, 16 Aug 2023 03:20:45 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 37/57] xen/riscv: introduce asm/irq.h
Date: Wed, 16 Aug 2023 13:19:49 +0300
Message-ID: <9c083a58f7371c1c8da92556ab5ae7f47e650b3d.1692181079.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/irq.h | 34 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/irq.h

diff --git a/xen/arch/riscv/include/asm/irq.h b/xen/arch/riscv/include/asm/irq.h
new file mode 100644
index 0000000000..7b08785f3f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/irq.h
@@ -0,0 +1,34 @@
+#ifndef __ASM_RISCV_IRQ_H__
+#define __ASM_RISCV_IRQ_H__
+
+#include <xen/lib.h>
+#include <xen/device_tree.h>
+#include <public/device_tree_defs.h>
+
+/* TODO */
+#define nr_irqs 0U
+#define nr_static_irqs 0
+#define arch_hwdom_irqs(domid) 0U
+
+#define domain_pirq_to_irq(d, pirq) (pirq)
+
+#define arch_evtchn_bind_pirq(d, pirq) ((void)((d) + (pirq)))
+
+struct arch_pirq {
+};
+
+struct arch_irq_desc {
+    unsigned int type;
+};
+
+static inline void arch_move_irqs(struct vcpu *v)
+{
+    BUG();
+}
+
+static inline int platform_get_irq(const struct dt_device_node *device, int index)
+{
+    BUG();
+}
+
+#endif /* __ASM_RISCV_IRQ_H__ */
\ No newline at end of file
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:47:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584639.915484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWE3r-0007fr-Ih; Wed, 16 Aug 2023 10:47:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584639.915484; Wed, 16 Aug 2023 10:47:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWE3r-0007fk-EX; Wed, 16 Aug 2023 10:47:35 +0000
Received: by outflank-mailman (input) for mailman id 584639;
 Wed, 16 Aug 2023 10: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=hDLr=EB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWE3q-0007fb-3R
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:47:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d39e916-3c22-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:47:31 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6D6F84EE0737;
 Wed, 16 Aug 2023 12:47: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: 4d39e916-3c22-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Wed, 16 Aug 2023 12:47:31 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
 <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <c9197dca7802b08765c0b2b6800e548c@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 16/08/2023 12:31, Jan Beulich wrote:
> On 16.08.2023 12:01, Nicola Vetrini wrote:
>> Hi,
>> 
>> On 08/08/2023 11:03, Nicola Vetrini wrote:
>>> On 04/08/2023 08:42, Jan Beulich wrote:
>>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>>>>> 
>>>>>>> The functions
>>>>>>> - machine_halt
>>>>>>> - maybe_reboot
>>>>>>> - machine_restart
>>>>>>> are not supposed to return, hence the following break statement
>>>>>>> is marked as intentionally unreachable with the
>>>>>>> ASSERT_UNREACHABLE()
>>>>>>> macro to justify the violation of the rule.
>>>>>> 
>>>>>> During the discussion it was mentioned that this won't help with
>>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>>>> effectively nothing. You want to clarify here how release builds
>>>>>> are to be taken care of, as those are what eventual certification
>>>>>> will be run against.
>>>>> 
>>>>> Something along these lines:
>>>>> 
>>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to
>>>>> actually
>>>>> assert and detect errors, but it is also used as a marker to tag
>>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't
>>>>> resolve
>>>>> into an assert, but retains its role of a code marker.
>>>>> 
>>>>> Does it work?
>>>> 
>>>> Well, it states what is happening, but I'm not convinced it 
>>>> satisfies
>>>> rule 2.1. There's then still code there which isn't reachable, and
>>>> which a scanner will spot and report.
>>> 
>>> It's not clear to me whether you dislike the patch itself or the 
>>> commit
>>> message. If it's the latter, how about:
>>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
>>> unreachable code, which
>>> constitutes a motivated deviation from Rule 2.1. Additionally, in
>>> non-release
>>> builds, this macro performs a failing assertion to detect errors."
>> 
>> Any feedback on this (with one edit: s/a failing assertion/an
>> assertion/)
> 
> The patch here is kind of okay, but I'm afraid I view my earlier 
> question
> as not addressed: How will the proposed change prevent the scanner from
> spotting issues here in release builds? Just stating in the description
> that there's a deviation is not going to help that.
> 
> Jan

There is a deviation already in place. At the moment it just ignores 
anything below an unreachable ASSERT_UNREACHABLE(), no matter what that 
macro will expand to.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 10:52:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 10:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584710.915493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWE8F-0002Tq-1r; Wed, 16 Aug 2023 10:52:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584710.915493; Wed, 16 Aug 2023 10:52: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 1qWE8E-0002Tj-VJ; Wed, 16 Aug 2023 10:52:06 +0000
Received: by outflank-mailman (input) for mailman id 584710;
 Wed, 16 Aug 2023 10:52: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWDok-0000Pd-Sm
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 10:31:58 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f962821-3c20-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 12:31:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8696.eurprd04.prod.outlook.com (2603:10a6:10:2df::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 10:31:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 10:31: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: 1f962821-3c20-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pj7ZbQ+gxoUIeAYv63JZH5qy7NAc7BpHK8iOnnSwhXkgThXUabKjAfoDwYUE99rDs1iVRsbGHJT1srGftoHG7JPK+vwZ1x9dELyBl4SM4OZSQkNUrLjaamSoTdOU7gmY/pfCPQ1jTEaNQNK8Y61Mz4FiZhmwl4+QEFvip/Q5j7NyXSVwj5uR2F1/j/wc8C97xWyvkWiDJD3WGfsIVC/udkmqrmA2+IL2bi9GsksDr1OJcxfYslTUXAgAhaRQPWchy/JVnfEasCEDHsAB24wF6hfCfzui3pHgJ7KPvmI94Aw6DjtL/Q8WQ46SoIvVt28uLsk1ex5wYSdPOQ6ZniFhRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xiQQXVGLsjc4BLZ053K5E8UHyM0o2O0wcy+cOAqWHYE=;
 b=LK2yodhXUScUzQ+Wx9nFHThrlzeU550SdSDFCsZr+bDqJJeQj90B6r0szlchpnsqx62EUGMkp2eITjeVZouvr4tjar8wE16Vfv6rRqNIsmk3UQUakiexQaKQS8EzjC4cQ4RX4C/eMW78SnM+mERUOngAcIhP7gzDfPBPVe8rKmHJMeYdTdyvXsy9t/qyTDeoynEqRxSk8n3wqjVwo7ZwAbBFZgN7WROQOB0YDAVrRb/7GVPSiWeqYRV+u7p540L/c5gYb1nBG4SEzMHqHp+UtJjLqE5X6AgOdwCG9MR+ldE0n7VTFGegbszNc/tANlnhh+1kLjTw0y6/5pxNUiO9hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xiQQXVGLsjc4BLZ053K5E8UHyM0o2O0wcy+cOAqWHYE=;
 b=hPZFEYeD7vk/RCNNcj+Ed8TZlXjYhnrmcBUqep05ubyDp5qcDbutyWepvuJx0TkOuNqyZMdgKaOukzPrMJUDcMjCk1pd68f09mDJXYa26xFt/XhC58f5r0mfqTYQUZRvUViLmig+gJslxGmCCwL73DIL4S04VR25iQggWJWGO245ruKGBkpYenhnGMGdQfg1ytrguQpPMR86PfEf+Pk9L+Sbk2Oh8cpulDJ4L8nN4HOi/Qj71s/VMJE+IXUiFYJkUOADm6QL81FMjRkteFMzZ71s/d4OKu3x7RcSrKl9LFplFyV0GWmIXO/olCeOdRLN58THRA/n1QWV0e0y2woM2Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
Date: Wed, 16 Aug 2023 12:31:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8696:EE_
X-MS-Office365-Filtering-Correlation-Id: 25c0102a-7087-47b6-4ca1-08db9e43f1c8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bqbO1min8koPdnB5QMeaL0PE/lCs2lyWyzPGzzWSFweotcdZ3Efmc+4OPRXoS69uAeNiKvjkCElLOfLqcOgtgu/m1gLheew2e2nD6LyovH5sJDtg8xK68Z0Z7DiOY9y2yd/SJeqTpfp7aDKdWffZ0JDbBIwAwtlMR4V9L2SQUyOZ7OsUMafN5wXNhSjOBU+8v6LmTc3f48evrrDPw67i34HWmxR3FOGYKBGW91Kb3fwa6keVLvO09KeIJ55bHIN7MHkHjCqA+JQ4553B77LZf8Kl/LjbS4J8hJBgHkHgPsA9Dbz151U+vVLh5VaeSLBtU3NeKc59Q504FhZD0CqmZBLG0eoczjkVKG7TQRZnCv4v0oH/Gkm6Xyg8P+O+qMpJPdzdFVymuziKlp4lsI8fAFflPS2eK1l0T/d8XXnI4UP+7lMDcn/LlBvqkJyRY2G45s8Cwr9J2CUYsUJMjFgCI+vvVwNpoxEUtzdUnUmc/G+3PLvp80BClqoFbwYCexBDVaSMZGXDxb6SIoYMT4Q9TskIb4n5l6rjDwMd9e68O4cDA7LufYZFvjZkrNmY6gBVnb24QhSy8WxrRtWqJyx/51zJ+Lj9sOk4L6oXGaxDVPVk4eGV3+7ZrYedtPCNeST8sJXFVGItG4aQXZH4mYtlRw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(366004)(136003)(396003)(39850400004)(1800799009)(451199024)(186009)(2906002)(83380400001)(7416002)(86362001)(478600001)(31696002)(6506007)(36756003)(6486002)(2616005)(6666004)(6512007)(53546011)(26005)(5660300002)(41300700001)(6916009)(54906003)(316002)(66946007)(66556008)(66476007)(31686004)(8676002)(8936002)(4326008)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGxsOUtXNHRJRWNFSzVKK0QvMlcwMXpLdTQvUmU1amN1V0k5cnBvcVdLSEVr?=
 =?utf-8?B?WTNjNVgwbm9QZWtwVWRublJzQkQ2RFFjT3Z4bjdSOUR6QkhxTG1PTWZoV3J5?=
 =?utf-8?B?SE92VndTelNRUkM4Sk95Si9GMzdTNnViOVMzR0hlaGU5aFl1MmdkOVZWT3dB?=
 =?utf-8?B?dTFnWHNrZG1Iaml1bGtpeE9GMXhUNGszSzVxeVV3V3o5YnJPSndZVTQydzFZ?=
 =?utf-8?B?bERHVWQxeFJDN2VIN1pZcC9oZ040a0ZBcTBOMTVma0ZLZ3IrTWR0dDVUdGlC?=
 =?utf-8?B?TktIT3lZandDQXl2d3RZdWlDWDBwa1dSS0ZndThCYU1odkEyTnF2V2Z0WWJF?=
 =?utf-8?B?RW1qdTVUa1BoL3dzTCtGNGtuR2ZVU2RoemZkMXlkS2VIdS96UWxHMDZnNnQ0?=
 =?utf-8?B?WnQxVTRxRUs2a3FrcC9uR0dDSU8yRUJCeU1aQWtnZmc1cllMaW5EdW5zc3M0?=
 =?utf-8?B?dEsyazduZ1d3TVhCOW9LK2pObXhPUS9GbE45cnAwaGF3R3VzZGU3MEI5VHFw?=
 =?utf-8?B?ekJoYzJSZjRtb2ViSTRaeStIZ2cwbnBWWiswUTh5eW9OelZMNEVmcnpwUWFE?=
 =?utf-8?B?RUhBUjgzSGFqTldqaTNVeWFBNDRlUjdpcUF5VnhadFF0dmdtY2hpRGcxTEtw?=
 =?utf-8?B?S0E2eFppSXBuQjRRRTNUWjhjeE9PLyt3VzF5L1VjVGYzL2xFMzRibC9xNkZP?=
 =?utf-8?B?QmFubnZZV0hpMjdPZTFORDRodFlYbmlXQnIzTFl2WHpDNk9wakVjUjJXSUhs?=
 =?utf-8?B?RmN0YkdIeVhHdEY0WFNOaytEeUJ1a1R1MTVGeUNid29neFQzSy93WjlCY3Fy?=
 =?utf-8?B?SE9tLzNOTGpsb1pMbC9QNkRpQjQ4U3FBZGxFa081R256RU1jUUgrUkV5c2l0?=
 =?utf-8?B?QlhYSXBQRU9QWWI5c01ZaEdNOTM4NHQvc0d6WTQrQTk3R20vdE9HM1FJZkl6?=
 =?utf-8?B?UW9JM2NQWmMrTW56ZGZ6QWtTZUJmWFpNYVhYQ1BBaGtYQWhvMDlQWXRISC9j?=
 =?utf-8?B?eWFNeDJKbmVZMEFadnhxd2o3OFhwQzR1MzF0TzdoNWtmT3VERnhDZys5bzdL?=
 =?utf-8?B?Sk5Ub0l4cjUrK3ErTTNIVjhGZXpMWE1pVFoyTWpMcHB0MGpIYm5OMldpQi85?=
 =?utf-8?B?THRWOUhnazZCUmVMN0tCTHF4RU1aY2NHblU5OGcyUWtFYlRZaTE2bGdlSnRI?=
 =?utf-8?B?U0VPbmQ4bTN6T2ViL0UvVVJQa3ViYzFJNTNSRWU4U2ZMRFhhTXc4aEZnZHJj?=
 =?utf-8?B?NzNnVHBnVHNZVjF2a1ZmMUpOWDNNQ2s2ZHR3bklMSDVEZUJNaWthK043Z1FG?=
 =?utf-8?B?NVdOTndYT1dHTHBXeEI2a3NWMi8vMjBFSEwzTlQ1anBjMGZNNzg2MWkxU0Zj?=
 =?utf-8?B?TDRYTnplRkpuRUM0dEFyYjBXeWZBWXVDa2Q3RkY1c3RmWUxhNmk2d0x3Y2dC?=
 =?utf-8?B?TlhBUDhlb1ZTcjJ0b2NGbkZzSTk4ZXRqV01VREhONVhzZDVNQ25YNU4rRk5Z?=
 =?utf-8?B?Q0V3dXpJbzVGaGhxWWxDOGV3TDFRWjNsbGRkOGVoYkJ1N2V4TmhsRU5kNzBy?=
 =?utf-8?B?YzI3dE5mekwxcGcwMlNzWlpUMHc2akNXUFBBZk9LU2N3N3BNWHc0T0ZTTzBD?=
 =?utf-8?B?WFhoL2RVK25LZTJBZmpuMTBrSy9wc2xJekxsNXduZFFsZEk5ZTNZcGg0VWlE?=
 =?utf-8?B?UVBpeGxtb3hqNDR4bEVjSWlIdSs5ZjdNS3dTYjk3Z2JMemVuSnhTMUFjcmVB?=
 =?utf-8?B?dm8wSDZsQlROQ1V3QXFnU01rL3NTbUxjeWZncVhWZDg1NWE3Y3c2eHpMY0s3?=
 =?utf-8?B?NzJGYVE5MTI1NkJKRHlSWVBiWGJPTzR4UFVLeHNZaEdtU0NrSmx3bFRwdUd6?=
 =?utf-8?B?eFl0MmtNa1JJR25YSWRpeHdSTjNUZzUxbGVDV2NXT0dFVHQzemo1Nk5YbHRP?=
 =?utf-8?B?ZUJISkpZY0dBN1cwRmZ5NEc3QWRUV1dkVDFIRkdaZ2NndXFqSVJNMzRubHlR?=
 =?utf-8?B?Y1hYUkNNRkZEVVA1b0I2QmdPbTVkbzZhVzQrYnl3dE5rWlM2QTl6MWxBd2d0?=
 =?utf-8?B?Rjl4Wk5ZOTdQQVozMGYvY3lLd3FUOGsrcEFEN2dGcEhmRUxERmZ5Z2VWUHNx?=
 =?utf-8?Q?rDLHod9SUGvrMg7Xl5eR9VpKj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25c0102a-7087-47b6-4ca1-08db9e43f1c8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 10:31:26.1383
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JYed4FOTH667w1M616bd6jH+xDuP3/nghOhVvthkXL66bZhKl4oX0IHTaLJ6VlHKIVKnPa/lSGG9uctKexsyoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8696

On 16.08.2023 12:01, Nicola Vetrini wrote:
> Hi,
> 
> On 08/08/2023 11:03, Nicola Vetrini wrote:
>> On 04/08/2023 08:42, Jan Beulich wrote:
>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>>>>
>>>>>> The functions
>>>>>> - machine_halt
>>>>>> - maybe_reboot
>>>>>> - machine_restart
>>>>>> are not supposed to return, hence the following break statement
>>>>>> is marked as intentionally unreachable with the 
>>>>>> ASSERT_UNREACHABLE()
>>>>>> macro to justify the violation of the rule.
>>>>>
>>>>> During the discussion it was mentioned that this won't help with
>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>>> effectively nothing. You want to clarify here how release builds
>>>>> are to be taken care of, as those are what eventual certification
>>>>> will be run against.
>>>>
>>>> Something along these lines:
>>>>
>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to 
>>>> actually
>>>> assert and detect errors, but it is also used as a marker to tag
>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't 
>>>> resolve
>>>> into an assert, but retains its role of a code marker.
>>>>
>>>> Does it work?
>>>
>>> Well, it states what is happening, but I'm not convinced it satisfies
>>> rule 2.1. There's then still code there which isn't reachable, and
>>> which a scanner will spot and report.
>>
>> It's not clear to me whether you dislike the patch itself or the commit
>> message. If it's the latter, how about:
>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
>> unreachable code, which
>> constitutes a motivated deviation from Rule 2.1. Additionally, in 
>> non-release
>> builds, this macro performs a failing assertion to detect errors."
> 
> Any feedback on this (with one edit: s/a failing assertion/an 
> assertion/)

The patch here is kind of okay, but I'm afraid I view my earlier question
as not addressed: How will the proposed change prevent the scanner from
spotting issues here in release builds? Just stating in the description
that there's a deviation is not going to help that.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 11:12:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 11:12:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584719.915503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWERf-0005WR-Qe; Wed, 16 Aug 2023 11:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584719.915503; Wed, 16 Aug 2023 11:12: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 1qWERf-0005WK-Nx; Wed, 16 Aug 2023 11:12:11 +0000
Received: by outflank-mailman (input) for mailman id 584719;
 Wed, 16 Aug 2023 11:12:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWERe-0005WE-Nv
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 11:12:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWERZ-0005WP-3n; Wed, 16 Aug 2023 11:12:05 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWERY-0007KG-Oo; Wed, 16 Aug 2023 11:12:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PGG43ayjpTn7cHKSLO9WWQqLyhtnEzsdAOOaOeNYq4k=; b=2+0kzO/TKPVXMzvbQQioYlE9wZ
	FGxyEp0w36JfGnO0ajdJOxjfucLjggvdm2SNDokhQJ/jgfkGRm7ZsxFep8COJtqrqjaoL+0Ml5+ph
	kPE7WDlaRQwpYXWMY86Eg8KF3L0GK9BPLPOHBRRPr5n8linmfAXI+ya0P7O+4ouma4eI=;
Message-ID: <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
Date: Wed, 16 Aug 2023 12:12:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
 <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 16/08/2023 10:43, Jan Beulich wrote:
> On 16.08.2023 11:36, Alejandro Vallejo wrote:
>> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>>> disable it because the whole codebase performs unconditional
>>> compression/decompression operations on addresses. This has the
>>> unfortunate side effect that systems without a need for compression still
>>> have to pay the performance impact of juggling bits on every pfn<->pdx
>>> conversion (this requires reading several global variables). This series
>>> attempts to:
>>>
>>>    * Leave the state of pdx and pdx compression documented
>>>    * Factor out compression so it _can_ be removed through Kconfig
>>>    * Make it so compression is disabled on x86 and enabled on both Aarch32
>>>      and Aarch64 by default.
>>>
>>> Series summary:
>>>
>>> Patch 1 Moves hard-coded compression-related logic to helper functions
>>> Patch 2 Refactors all instances of regions being validated for pdx
>>>          compression conformance so it's done through a helper
>>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>>          the old CONFIG_HAS_PDX, as it was non removable
>>>
>>> Already committed:
>>>
>>> v1/patch 1 documents the current general understanding of the pdx concept and
>>>             pdx compression in particular
>>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>>
>>> Alejandro Vallejo (4):
>>>    mm: Factor out the pdx compression logic in ma/va converters
>>>    mm/pdx: Standardize region validation wrt pdx compression
>>>    pdx: Reorder pdx.[ch]
>>>    pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
>>
>> @Jan: Just making sure, are you generally ok with this series as-is?
> 
> Well, okay would be too strong; I still don't see why my runtime patching
> series isn't re-considered.

Do you have a pointer to the series? I would be interested to have a look.

That said... the problem with alt-patching is this is architectural 
specific. Right now, this seems to be a bit unnecessary given that we 
believe that virtually no-one will have a platform (I know we talked 
about a potential one...) where PDX is compressing.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 11:22:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 11:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584725.915514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWEbG-00074b-Ng; Wed, 16 Aug 2023 11:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584725.915514; Wed, 16 Aug 2023 11:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWEbG-00074U-KB; Wed, 16 Aug 2023 11:22:06 +0000
Received: by outflank-mailman (input) for mailman id 584725;
 Wed, 16 Aug 2023 11:22: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=yqiy=EB=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qWEbF-00074M-R7
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 11:22:05 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f4ed451-3c27-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 13:22:03 +0200 (CEST)
Received: from mail.zoho.com by mx.zohomail.com
 with SMTP id 1692184899873579.7919559485985;
 Wed, 16 Aug 2023 04: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: 1f4ed451-3c27-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692184907; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=HkViHG+dXgJ+jddCEU1EATIDtUT1K3BGKmyEjnlJ6b20chLlg80CGEiU/ajq8JJMappdZn0L1X9qFlWO/5iYGdQlJA9nTKKPJOsvlsKOFbZ2cvVanwoHGQTvk0kyhtQ7Y3fu+fs8d7VOPWcQkOqbNibxUUEBYDudgBCl0lqS0lg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692184907; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=vtxXbee+zxc7FUpnBzIcjEPQ5yDmwZbJjZZRZ0OsM/s=; 
	b=kMxY/BZ+eSackSNCdH5Jhxu7K6TGDBGSyKG+wnn+qbAVtfd99KsK7ir5AqJpajy90KyjjE3iC44Z5+3TKT4UgRpYVsfz+is62UVEEnyrGQIUzNW6B2ktYOkc9iPevwdqArDzjzT2yDQ0bEHF5vdIEIyLP+z2K7zwWfF0nHDtHpQ=
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=1692184907;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Date:Date:From:From:To:To:Cc:Cc:Message-ID:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=vtxXbee+zxc7FUpnBzIcjEPQ5yDmwZbJjZZRZ0OsM/s=;
	b=U+WknY1oAy/vcLSM4cwrP1N7gooe83f02QDnvDouF+f5xmQZDjPKyuqgce0WnsaC
	dbrGD0uyRVDm17t5ZC6NhPS/zTGCOYnqnAnHd+DyAKi6zaIGi3Wdd/Z49C4JH7DNNkt
	Ab8sXFcrkVIMaLZNDUQi4agH0fQD6QprO7VWRkNk=
Date: Wed, 16 Aug 2023 07:21:39 -0400
From: Daniel Smith <dpsmith@apertussolutions.com>
To: "George Dunlap" <george.dunlap@cloud.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Xen-devel" <xen-devel@lists.xenproject.org>,
	"Jason Andryuk" <jandryuk@gmail.com>,
	"George Dunlap" <George.Dunlap@eu.citrix.com>,
	"Jan Beulich" <JBeulich@suse.com>, "Wei Liu" <wl@xen.org>,
	"Julien Grall" <julien@xen.org>,
	"Daniel De Graaf" <dgdegra@tycho.nsa.gov>,
	"Henry Wang" <Henry.Wang@arm.com>
Message-ID: <189fe1470d7.c9aa0e23891146.4230412711034328964@apertussolutions.com>
In-Reply-To: <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
 <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com> <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Importance: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail

---- On Wed, 16 Aug 2023 05:55:07 -0400 George Dunlap  wrote ---

 >=20
 >=20
 > On Wed, Aug 16, 2023 at 3:58=E2=80=AFAM Andrew Cooper andrew.cooper3@cit=
rix.com> wrote:
 > On 16/08/2023 1:19 am, Stefano Stabellini wrote:
 >  > On Tue, 15 Aug 2023, Andrew Cooper wrote:
 >=20
 >  >> diff --git a/xen/include/public/version.h b/xen/include/public/versi=
on.h
 >  >> index cbc4ef7a46e6..0dd6bbcb43cc 100644
 >  >> --- a/xen/include/public/version.h
 >  >> +++ b/xen/include/public/version.h
 >  >> @@ -19,12 +19,20 @@
 >  >>=C2=A0 /* arg =3D=3D NULL; returns major:minor (16:16). */
 >  >>=C2=A0 #define XENVER_version=C2=A0 =C2=A0 =C2=A0 0
 >  >>=C2=A0=20
 >  >> -/* arg =3D=3D xen_extraversion_t. */
 >  >> +/*
 >  >> + * arg =3D=3D xen_extraversion_t.
 >  >> + *
 >  >> + * This API/ABI is broken.=C2=A0 Use XENVER_extraversion2 where pos=
sible.
 >  > Like Jan and Julien I also don't like the word "broken" especially
 >  > without explanation of why it is broken next to it.
 > =20
 >  The word "broken" is an accurate and appropriate word in the English
 >  language to describe the situation.=C2=A0 I'm sorry you don't like it, =
but
 >  unless any of you can articulate why you think it is inappropriate
 >  phraseology, the complaint is unactionable.
 > =20
 >  Specifically ...
 > =20
 >  > Instead, I would say:
 >  >
 >  > "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
 > =20
 >  ... depreciated is misleading.
 >=20
 > Deprecated means, "It is the official position of the developers of the =
project that for the moment, you *can* use it, but you *shouldn't*"; it als=
o implies that support for it might go away at some point.=C2=A0 The fact t=
hat we're saying "you shouldn't use it" by itself implies that it is lackin=
g somehow.=C2=A0 It's a factual statement that gives you useful information=
.
 >=20
 > Neither "broken" nor "has problems" actually tell you anything above "de=
precated", other than the opinion of the developer writing the documentatio=
n; and they are both (to different=C2=A0levels) emotionally charged.=C2=A0 =
You don't deprecate things unless there's something wrong with them.=C2=A0 =
In this particular case, I don't think anyone has an emotional attachment t=
o the existing hypercall, so nobody is going to be insulted; but it's a goo=
d habit to avoid it.=C2=A0 (See [1] for more about this.)

With all due respect George but deprecated and broken are fundamentally dif=
ferent. Deprecation means that an interface is being retired in the future =
for any number of reasons and that it can continue to be used until its ret=
irement without risk of unintended consequences. Labeling an interface as b=
roken, which has been acceptable to do so in other much larger communities,=
 is a stronger sentiment that the interface should stop being used immediat=
ely because it can lead to unintended consequences, not because it will be =
retired in some distant future.

 > [1]=C2=A0http://xenbits.xenproject.org/governance/communication-practice=
.html , the "Avoid inflammatory and negatively charged language" section
 >=20
 > If I have a backlog of a million things to do, how do I prioritize switc=
hing to and testing extraversion2?=C2=A0 The situation as I understand it i=
s: "If it works for you now with the current value you're fine, but it may =
break later when you change it, in a way that's obvious".=C2=A0 In that sit=
uation, you can safely put off fixing it until your build breaks.=C2=A0 If,=
 on the other hand, the situation is "It may randomly work or not work with=
 any given build", or "It may seem to work for you now but is actually fail=
ing in a not-very-obvious way", then you probably need to prioritize fixing=
 it.
 >=20
 > Saying "May cause truncation" gives you some the information you need to=
 know. "Will silently truncate past N characters" gives you even more.=C2=
=A0=C2=A0
 > =C2=A0
 > We should at very least say it's deprecated.=C2=A0 If we can summarize t=
he issues briefly, then that would be helpful.

In general I would concur here, except that these are externally consumed f=
iles for which the consuming projects just need to be told don't use this i=
nterface. The why is not so important to them as it is to the Xen community=
. But for the latter, any one working on Xen code can do a git blame on the=
 comment line to find the originating commit and read the commit message fo=
r the details as to why.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 11:23:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 11:23:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584730.915523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWEcj-0007fZ-27; Wed, 16 Aug 2023 11:23:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584730.915523; Wed, 16 Aug 2023 11:23:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWEci-0007fS-Vd; Wed, 16 Aug 2023 11:23:36 +0000
Received: by outflank-mailman (input) for mailman id 584730;
 Wed, 16 Aug 2023 11:23:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWEch-0007fK-39
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 11:23:35 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 559e41c8-3c27-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 13:23:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9329.eurprd04.prod.outlook.com (2603:10a6:10:36f::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 11:23:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 11:23:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 559e41c8-3c27-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G2OC2OzIOC2WNZd1QBTt3ntAZYS1wEvjFOT57/xjoOZyykojjONfLKvQMrkKGYXf6MMBPjBwtPbZxKIWnB6/WWeNJaHFwwaH7PkMP3JL9WpNWIUeTo2YT5ZFm6W/3EEJfixRQ70Of4EEF3GdD616mOVcCp8PjjASDigtwzrkVl3FA02J0bcObm3J//bST4q2yrgVRHvjfpfsvEYgciZWcPPEIudCQYIJxqVlvLmHs4G5snHeKEcXusK6lqO2tSWDXyxAvoHFXDy6tSWNqET/cERL6rSEXVLPLWY0nnA/SZr3+xZUU6wKqRHU7/RrunuOv+d2cLXHAz147JgWOEyr8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2kPPCcdUEu9hgV88CEkxLunUQiAmnwr3RBjoILOmP7Y=;
 b=Uv8QlWvLi9PmTGIkktDgB22dlLHL4LHyMXxk7hi67mPWkUT528PgDYg3KIhT/28pTPKbXTQADyTF5IrPId4zebl+yxuWY4ncVEuF1ASMLRc6YWfBcwOXcN5DxK6xAMOyhjNNGniEvOOTMQgeF5hbRL4k7wczC8deIwwruGdS2DGQerpq1ikf1uVnv9ub6Dmu3qSXPuJjSLYpEpKc47z7aRK68Yh8HYwY4/td/no+xL3+RxGnOHyBMlR5Qm+rlh5dgO5zrbFbnsteXgSPdYWQ/pjmyupTFhPuSvLaNHhH7Niqsp9fdWBWc/2Q1WhAOG/J0YTTyy3YukLMjL/btecR3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2kPPCcdUEu9hgV88CEkxLunUQiAmnwr3RBjoILOmP7Y=;
 b=jqGHto0jGGZ8oqtyy0MZx2K0HSuazsdZNXl6q+Jv9KnVMXKUJwe/k4cKDHZ0qZX6LW3TkFUYt26ZbGGzrLBl84uytxkIS/yLaS6yqmD1rdAMIoRk3OHZJOSmmBHeir+alZtJY1uxp3vNHyn8H/GEOkNtHIH/Bst97AmfumV2TyH5enaHhNE7Nq+Ys5SBug19F9tj4wjGmTbHPF9mL/x1wVBSUBHLzlVDkaYhSgIfee2VKburXhRKc7yXH4XEJ5ZznTp49i7cojOBnyrHCElBcdUxMQU3Meuw2mpa4kbFBoYY+U4Fw4b2QSloJy1gTV/J4CVfS5XdV0sYEss5zYOiyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
Date: Wed, 16 Aug 2023 13:23:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
 <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
 <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9329:EE_
X-MS-Office365-Filtering-Correlation-Id: 672493af-0673-45ec-5f6e-08db9e4b374c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hcw5JIWaT3fpFqSOGRNA2N4LJsTWhbwpsXNG1pmZC+oGShXFkRtmlqvj/NV0/vtUaqPKsXpt30hcHNb8qr/ee2FZRqPcUFnoDpw/qcHO1L23iVvsQUGpsu7OISieliZ8xfX+M4iroOVVoEQunN3+VgSXaatfT789ecP1t4JTc3B0qb5Ja98XAfJQtwod1uK1eItmiQmUIA3N6bcAXixKjXXlpRbrGpCVAvhdcySUvXY93WCn4nyFIIj8GcSqpsyAAxeMn67Ze/g16ndl8GneEnnhU2741lDdnikRdrIgbHQyv8k0LMvjEi1+byCxgkfnXeTRuabwJlDZzl4av7Sb7R8JSWlCzl6wy7I3wRoBsgvtC78oS+1LziJ0zFvUXt9k8hee/7BlRXiIsziIdGFioxQnq7MOZI+FFa8VV4ayz74wvG4AP1ZDLIebg2wra2n7zMf2+0JPEf1w1Ua/LrUFV9y3oYIsA+YOSRG36qixy/awjpsh6DbNjPDM1D1IJtSOSUKpMRMLGI8QcsDlAmDyDYWYqMUXlZ8byynS6u2m8ec0Ep8uqnErUWNZ7b2OuNfxQG/RUTkksEItHvmoZy5MMmPjvY968UV9jOGbhCNNk6WoXB6AuZmyZtzSzby8Xy4v8D1nzefbA5zjnuSx2WkhVg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(366004)(346002)(376002)(1800799009)(451199024)(186009)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(7416002)(86362001)(6512007)(53546011)(31696002)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlR0dURKTXlXK2RHRTVESlRvclZ5UExEeVNQalgrOExuS2ZuKzNpRzBvRjVO?=
 =?utf-8?B?OHVIVEMyL3l3NmNHUG5WeEU5ejliVHZLWE9qYStjKzJhVUUyYVh0SG5lNnJP?=
 =?utf-8?B?T3hIOUtwdUx0bHRSN0I5Z1p0dDNYWDJHb1VwYUhDa2dNRFVGeGdIK3NydW96?=
 =?utf-8?B?Ti82MSsrWFRlQXprWGtDQjVJbEVueVpoMlAyMmtiV094aWlyQVhFdXZBeVZw?=
 =?utf-8?B?My9qZmJ6eW9UNkZnN0o5ck92a3M3QTQ3TDd4MDM3T2FwQ1YzQ0ZmMU0xV09u?=
 =?utf-8?B?UCt0eGtqMXR5eDh0NW0zMGlvckJaUjhsa2Y3VmFKYjI5anN3b0VTR1R4eDhl?=
 =?utf-8?B?SW4zaVp3L0Ixc2lYT0ZsL0FhREp2clM0Q2xRYlJSKzVXNnRBN3NDeEdmUmRP?=
 =?utf-8?B?M2h0YkZnS2lYVFZ5MEhVc2NzQWdqUjAyQ2RPYW9CV3p5Q1pqdzY1czN3cHRV?=
 =?utf-8?B?clJrRjBoaWNNUXNEMU5BYWQ3cUdpVWd2TTZNTWJaWmU1Y1M1bEVBS2V4bHpO?=
 =?utf-8?B?NnpJbHI0elZWcTBObUxPbXo2QXdIMTY2VkswcHRJanBqWWZzancxbjZERGFj?=
 =?utf-8?B?NFdxbU04MFV3LzVKTXlmcmNIUktrTzVIdElrdVkxeW1wcXFWU0JOMWZGVDlo?=
 =?utf-8?B?TFVIR3ZkU09tQ0kwRm16TWdXb2Z6NG5KNndtWnRzUUlKQUY4dmxwOVZlelY4?=
 =?utf-8?B?OHBCYXY0dTNkWUFqbjlwS2ZMTThncWRkaVR4cjA2VmhoMnQ2T1krejBOV0Vj?=
 =?utf-8?B?SndMVXZkTEgwNXNQN1pKS2ZaZE1LYWltRXIrQTZ1VG01TzhNZTB0b2lyMllj?=
 =?utf-8?B?UmFPQWU2T0hmbzNTZUlvZ3IwU2t0dTEyQTBaSTVpOFZIbVJpcnJiNFdNS2Zi?=
 =?utf-8?B?UlkzaU5tUUlHVExPRmVIeE5sT2RtRUh1UWlxSXRrWnlCUkNwdU9jS0pDS1Nh?=
 =?utf-8?B?VEY1aWZnYktXeVB6Y3BQK3ZSbCtWNXM1cGNIdVJETGtHTi9kM2EwMFU4aU55?=
 =?utf-8?B?Ym1sYmkzUlJKUmhvb0pNWFdSMHRiRXFiQ3RLczFVT2F6cXlObWUxK09xYmpV?=
 =?utf-8?B?M3Rra3dtQVhhSXlxd2UrZUxrdlJZOHlsMW5qMjdTclJucVlZMjhQak9sM0RP?=
 =?utf-8?B?eTJQUmM2Q0RUNlhuOElER1luaUk0OGl3SCtjaTBFWmp5YUd4RHMyZURlRGk5?=
 =?utf-8?B?bTU0U2djUG5jelNmV3dvTWZsVGppa2dJZHZmM0R3bFZLZ3dzdUVtQVRrUWNW?=
 =?utf-8?B?UWs4MjY2ZERDOHoxR1RRRzlKaWt3a3ZRbUIwOVhPbG12aHZMeS9Oc1pTU0tR?=
 =?utf-8?B?NDdKekdZaERDVjVrV0d5djZhdS9HUmhHVlRieUNNRHV5M2RQcmNhTWIvanFO?=
 =?utf-8?B?OEZ1dEV3eVlTWTdYd3FVQ05LK1Y4Zm1yTWZNSjZLdXd2VnB4YjJ3c3ZUT1Az?=
 =?utf-8?B?bnZzMzlxYVFzSVZueXYxeGM3UnN1M2g0WjFYdkF1ak1lM3QwYWpnd2lqZy85?=
 =?utf-8?B?VERNLy9xM01UQ3pNY2xISXppUWZrZUdTdVA3RmozeHFTZk5iZWE3TWFXL2NV?=
 =?utf-8?B?Q2RQN2xMSHlrMkdwMVM2bnNrYUN0TThXWUlvaXVLd21sc0o3ZjhJVGlYbWt3?=
 =?utf-8?B?TnhieXdnR3grNE5GbjJQbUhxM3kyNzNNZnk4eGh4NnhnUDRibzlIekxSYUJT?=
 =?utf-8?B?bk5odjgvVWo0V0M3YnZmMkZnaUtCbjcrWkhGZTgvMFRZS2d0QjM3MmN1V1RP?=
 =?utf-8?B?M3hvYWpENW9yckpNRUg0anR2OFY1U2wxZkZpRVRibVdCMkQ0V3NQNmNiYjJz?=
 =?utf-8?B?dE93V2NNejdiazFzN2lndzJnVHJ1T1ZoMk1uZVBIaUlLd2FjWlhtNk9rZ2ht?=
 =?utf-8?B?TStHRGpJRW5hRldQNmllWlBlV2FzMElNK3h4WTQ1THVSOFVOcFN2QzVRbm9Z?=
 =?utf-8?B?WXlSUE5ZdW04dWlTWTVWeWlkeGFyaWxoeXNXNFBESEgrcnQyR2p6RkVWYldM?=
 =?utf-8?B?NlRQRWxGc0hVd0pDcGtJZHVJNDNPWHBKb05LSmtRTG1kWEtkOGpFSXdCb1FF?=
 =?utf-8?B?TDVaUklIaVFsVUtLUmdPblpSTDExRXdtSXZZeE5BMVRYcm5oVS9DakVLY21r?=
 =?utf-8?Q?D9PL1gLH4EDkfq36/kTxC8jV8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 672493af-0673-45ec-5f6e-08db9e4b374c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 11:23:29.2421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LTYAMv/oLz10BDmgSTu9VLCeMeXEFFTf5Dr1FoOh9O0t8AA5yOcY31vHFK9jcFxsqHTsfH/WN+bdzmDJRJ/jpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9329

On 16.08.2023 12:47, Nicola Vetrini wrote:
> On 16/08/2023 12:31, Jan Beulich wrote:
>> On 16.08.2023 12:01, Nicola Vetrini wrote:
>>> On 08/08/2023 11:03, Nicola Vetrini wrote:
>>>> On 04/08/2023 08:42, Jan Beulich wrote:
>>>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>>>>> Rule 2.1 states: "A project shall not contain unreachable code".
>>>>>>>>
>>>>>>>> The functions
>>>>>>>> - machine_halt
>>>>>>>> - maybe_reboot
>>>>>>>> - machine_restart
>>>>>>>> are not supposed to return, hence the following break statement
>>>>>>>> is marked as intentionally unreachable with the
>>>>>>>> ASSERT_UNREACHABLE()
>>>>>>>> macro to justify the violation of the rule.
>>>>>>>
>>>>>>> During the discussion it was mentioned that this won't help with
>>>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>>>>> effectively nothing. You want to clarify here how release builds
>>>>>>> are to be taken care of, as those are what eventual certification
>>>>>>> will be run against.
>>>>>>
>>>>>> Something along these lines:
>>>>>>
>>>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to
>>>>>> actually
>>>>>> assert and detect errors, but it is also used as a marker to tag
>>>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't
>>>>>> resolve
>>>>>> into an assert, but retains its role of a code marker.
>>>>>>
>>>>>> Does it work?
>>>>>
>>>>> Well, it states what is happening, but I'm not convinced it 
>>>>> satisfies
>>>>> rule 2.1. There's then still code there which isn't reachable, and
>>>>> which a scanner will spot and report.
>>>>
>>>> It's not clear to me whether you dislike the patch itself or the 
>>>> commit
>>>> message. If it's the latter, how about:
>>>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
>>>> unreachable code, which
>>>> constitutes a motivated deviation from Rule 2.1. Additionally, in
>>>> non-release
>>>> builds, this macro performs a failing assertion to detect errors."
>>>
>>> Any feedback on this (with one edit: s/a failing assertion/an
>>> assertion/)
>>
>> The patch here is kind of okay, but I'm afraid I view my earlier 
>> question
>> as not addressed: How will the proposed change prevent the scanner from
>> spotting issues here in release builds? Just stating in the description
>> that there's a deviation is not going to help that.
> 
> There is a deviation already in place. At the moment it just ignores 
> anything below an unreachable ASSERT_UNREACHABLE(), no matter what that 
> macro will expand to.

What do you mean by "in place"? docs/misra/ has nothing, afaics. And
automation/eclair_analysis/ECLAIR/deviations.ecl is merely filtering
things out of reports, aiui. (Plus of course there should be a single
central place where all deviations are recorded, imo.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 11:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 11:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584737.915534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWEgk-0008N7-Jg; Wed, 16 Aug 2023 11:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584737.915534; Wed, 16 Aug 2023 11: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 1qWEgk-0008N0-Gg; Wed, 16 Aug 2023 11:27:46 +0000
Received: by outflank-mailman (input) for mailman id 584737;
 Wed, 16 Aug 2023 11:27:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWEgj-0008Mu-9Y
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 11:27:45 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7d00::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaf6877b-3c27-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 13:27:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9856.eurprd04.prod.outlook.com (2603:10a6:20b:678::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 11:27:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 11:27: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: eaf6877b-3c27-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RiYEtmfVOslSO7z8i3r23DZYObeYULZE6vvM0wsR5Hr/tsKPtmML1FT1AQe8euMXtGtoOBUZLLKU0eM3h3qFb2uxWi+wmO5xnt1x/RTRClaiJr1kodfYUIJ5yFPvZMZ/+EGa7aA0+fPsMVHqteC8TfhL/MZAsJXMR5d9MboCJraNGKFRDvRaaSHT8vpWYZWPlidg0MOFi4YBVdEOtULrvEJftg08cPFEj93yYpmRtviH5w+eaK86jzz6zRjyAXfipEY7WGpn1UsmcV2C2N2ZBLUetBd6xso315FPQpXgybQY3mPzOQ4TfUB79th85UqfyBDCQf3w5rRF8/QmKh9+UQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=doY4Q2liMCIgFlO7Ct1gzLTvOBrm0XKCaD2n6KBOZ8A=;
 b=NUqTXMSi6IoD8I0PVyTkUiQ7DGOthuu130ZbnmKyjvVIlMDq8XFhYXjRsNj/qTHoLwhddRAaBbE43DdRPfHuZhSfuk/mO4kmfOR6dSLPbxYvm/HrkS0lqJI2ceonF/GNAgiVFpEcoD4+RLP/PwuLeNRcYHl0H0bQ6Zdt4mn1N5S5QCUFf+WYgZKwtK5H4jfjpQsshQvmV6TwuUq4JO8pvNczZk86mTDp7Rf9KBkK0nlIoaNdQggDImZoJx5ZBiZrZCp+9wrF9HHhxgWW4BRV4cAqJZtaXqSOSGu9TXGEFwgQtInn2uEByDZL5EoVaFxSoAX1WoaA/yVinrWwI0Z6Bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=doY4Q2liMCIgFlO7Ct1gzLTvOBrm0XKCaD2n6KBOZ8A=;
 b=2SzVu10ymSHYTG1j8q1jZjGF2e5pi13oCulQfULCAameRuBL9pq4G3hzhpagMaAXEvPovV6ChQ9IeNfNzsQrvDdxynJaRX13Y9AhVwzp8zAl0aP3/jHgAtrdzKml//X7fDyWcZ6rC90liaKmiRAZsgsQhNkdT/C/SZjfxbfksbFy0XYP1tUG9laEExHTF96MmsAxbmbnXioFpx02UPk/+3HvzTQ4c47iS56XsLOrC/rWI9ZJpjqKry+KwNEvxoqpTHNoxbH+MCfcBAHw8CE4XEXNaRX0lqvk1kt5r1TNo4O7I8JWnQKHFG5d0w12h1rvXHFWJVNUUCeHt6tbmdWgBw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <44d233c3-4b85-c70b-0ab1-a67452884025@suse.com>
Date: Wed, 16 Aug 2023 13:27:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
 <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
 <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::25) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9856:EE_
X-MS-Office365-Filtering-Correlation-Id: ebaf7f26-9dec-4f7b-571a-08db9e4bce0d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ej42T6xynuMoVD9RZ4DtE1qGqxL9tJAzqmMODtXRnWGB9mo9kGUCU9yFuXmlDRDRv20+s/Gfbuh0CiwZFro5jZdPCbCSL1WA1fr/ujHecTndrsqOUpXXNEAXn3l3Cr/KXaj31MREuEO8wZRUXNG2yPD9AEUtk/1JkDRB/VR9ZtZZ3YQF+o2mVEb/RO8QZEOsCG8q/MawWdFfodFnzn06ZoYkqlyQAAK4EpNvPzV6k/iIQGh2EfUUzYYySqLuW+MoCw8yk8PPLAJH+A06K9qVPcetqvjXjRr8++2A+VUUWejk7d92QFvNAO8eGSAZ9TSg83YJ70hDSSy611Pfvo91g/tyk3gj9nkYOjv5xuDSX2FdKElOAzPPC4mQRctwJ+PPs0R26ojfOymnlbwamyEUe1m/DVSouJBoIQzY4QRk/+UnBU9LOREaHvr9RIirT7RNu7eNExNNPf51/gYMcOruLUXEt+6VprTYvCdSSguG0l7VR2D5o8fUlLlqVTedlCbXX8mdMyTI8bGqlk7LeO+1vufs1cjWn0nykZbNUUGJ+zjvBlxUB1zLNP+SJo/f/yyxS52R3TOivWzIlhAxzXz5gQ3D661aI8elpTQxTrpZEuOEoIGrKE1BjRo1koBaOvPBOvV+5O8J8kP+P2OHVe8YWg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(366004)(346002)(376002)(1800799009)(451199024)(186009)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(966005)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(7416002)(86362001)(6512007)(53546011)(31696002)(6506007)(36756003)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmVGWWVFMVpQMFVUWm1OMHFyWW1yTWZJaFJVclkrcVoreDNPcXpFUHJNb2k5?=
 =?utf-8?B?SS9JSFpMNVdjY3pLY2Q0Y1RQQm5HQzZzWUhOemY3QnhLWXljQmlla2MrNEow?=
 =?utf-8?B?TEVuR1NZR0tjdEE5UE10Wkt1Vk8rck9XZTF3YVd6ekQwQnV4SXByYVIwSCtP?=
 =?utf-8?B?RnlwTDdyaWppd2JhSldzenh6enZ6WGtQdU5heHZmNTJOeSt4QmFiOWVXZUt3?=
 =?utf-8?B?SDdIWEFBNDNsekp0d3FXY0FsR2Y1VnpIYkRiSUR1eWFYM0pOS0NqNjk3L3ZU?=
 =?utf-8?B?NDNpejJjSWg4QVZMNWdFWmVaL1JqMzE0cEFFQ2o0T2RMN2Evd0ljRHFUMkZ2?=
 =?utf-8?B?QkkwdWxxTm4yUG9WRHFWVExvUzByUjZOdlJmMlRqWk9acGd1cWE0ZmhMditt?=
 =?utf-8?B?c3hjSnJsMVFmUEhsbVZzVTdUS2I2dDZxNDdpRm9KM1FLL1ZpdUtrTVFrajc4?=
 =?utf-8?B?a0pGTG1RRDl6S1VQWHBGckdHRG91WEFYZjYraTZaWDgxSlB3OEwvK0o2K0pi?=
 =?utf-8?B?cUU2K29XVzNTa2dxd1R6SXFxa0xLczY5b0RFV0M3UHhlL0dMWWs0czhrajlB?=
 =?utf-8?B?Z3RlajJ2UU92Um1NdzhFNnJEWWI1cWJEeDJLeWN4eWd5bktrVmVHczBCdTRI?=
 =?utf-8?B?UGxHcTdneVN1YUJnMzhYTmRrcUdwV3BOd01sRHhkelEzOHJzYkZBQnlUTm9Z?=
 =?utf-8?B?NVZMcDFmMW9vMldObDR0TERpK1QybDg5NzdkWjlUMDRSY1FSV1NGL3J0UnRn?=
 =?utf-8?B?U2Zsc2k5R3BmVW5zYjVGcDIxMGV3djNFbnNEbmRhQ084VUZxa3AzNytuclc1?=
 =?utf-8?B?T1Q3alVnS2ZSZ3ZYMVFJbXBBV2dDMzVuRHlqOEFNNmJnSDFtTERQNFZDSmFy?=
 =?utf-8?B?ZlJjL241dEFFVkI5ZS9DMVZHUUVPNGpCczlKeERUQnNpNWdUK0ZlaFM0Q3hJ?=
 =?utf-8?B?dXYxeG5nWlZoZG1JaUE2OVRyTUNyQU1uNTlOY1d2M2VsNWVld2tiZzdWQUNT?=
 =?utf-8?B?Q0xXMDVSMFg3QThSMi9JMjB4Zmh0aUpIdzg3aXlmNGtLS2NKS1BNWjZDWjgr?=
 =?utf-8?B?bTZVa2o1bEg2NXdLR213d1FEZzRPY3ZIVmc4bjR0bUNvUXdQTWhTSldOVEJT?=
 =?utf-8?B?U0l2UjgyVnhVWkc4SlZJSmNmc3ZHWWlhMkRKZWdlb1hNVlBaM0IzSDkxRmdn?=
 =?utf-8?B?R0xtYkZ6WEdKUFhmR3ZKSEc3RlJ6allLNlRUcytpTHMvT3c4ZzlZQVcvdjdW?=
 =?utf-8?B?cjdkNTREd1J4SXd5WGE4UTZpeVBMNnpxMG44WnlVSCs0ZWlubGdHOGl5SUUv?=
 =?utf-8?B?ZlJpcU1NT3RuTm9Jb3RXdnpnQkV1OVUwZ2lhZXYvVWdETUpxTUZoZjVIdE5m?=
 =?utf-8?B?cTZ1OVBDMTFnTVpXY08xZjIyZnRaTGJ2N3NYdUF6Y1kwZVNiQ3RxTGcwQXJ6?=
 =?utf-8?B?UEgwUkZsbXJieDlpazVVYVVHaWhJVmRKbXZVdjdNUDZvbG1TVGZFVjVraW9D?=
 =?utf-8?B?MDk5ODZGdkZjTy9oeGdMeUgzaWs4akRUdDJnbC9PaDRLM3htTlZLd2h1Q2x5?=
 =?utf-8?B?eFc1TGZXR1h1R0xKbmlvbk5LWHFCczIyeUxSeTNzN0h5b29FOTZDNW1TcGlJ?=
 =?utf-8?B?M1o4NnR3bndvQUo3cTduTlo1aERXQWsvRHFZcFNjcjZodlQ0dWI5Q3g0NjFF?=
 =?utf-8?B?VitmMER0dUNOcjByTEJjSkVUSmM4Z2tJMFBYVUJ4NkNjRFVtQ1pMUU9oYVlK?=
 =?utf-8?B?dk93MlJHUlljNGxySmR6cFBNR0JzQlh4eDJRcFk5a0plazROSTc0WVpEZ0hs?=
 =?utf-8?B?MFVseWlJR2U1bktLR1Y4TGJYbDJON0dLdUkrL042VU4wZ0RGQnM0bGIyRkxK?=
 =?utf-8?B?Nm9TblFrcUtYUTNQQjFtUC9aMzhBdFNNekFxalg4RUJ6ZktlRWkvWVR1alMv?=
 =?utf-8?B?VkFMbitZZGYyU1FaMXREc0dNVnBpYzBvSlhUOWhidTV1czg5YTZOcFhkZDIx?=
 =?utf-8?B?dnAxRUdvNzZWeWl5bEJQTWFkTkVVS1hEUFJMTlNhdjg1cmxLV2RxNm1sTGRt?=
 =?utf-8?B?UTcvd0JxeWE2OFdJNXdKOVIvVURtUEtHWUNGczE1V0JhSE9XMWxUbm9JaHZC?=
 =?utf-8?Q?OkjQs/Fzn+MT7N+hGuXKNh1FH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebaf7f26-9dec-4f7b-571a-08db9e4bce0d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 11:27:42.1150
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NQOLUWjNtbKPikBgmE7WqrSkqsHAmKA8XIAS9oe4x4yg0p31cIBpNnJk6474ruEYIDSKIANdgnTfY7gx7+pTtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9856

On 16.08.2023 13:12, Julien Grall wrote:
> Hi Jan,
> 
> On 16/08/2023 10:43, Jan Beulich wrote:
>> On 16.08.2023 11:36, Alejandro Vallejo wrote:
>>> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>>>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>>>> disable it because the whole codebase performs unconditional
>>>> compression/decompression operations on addresses. This has the
>>>> unfortunate side effect that systems without a need for compression still
>>>> have to pay the performance impact of juggling bits on every pfn<->pdx
>>>> conversion (this requires reading several global variables). This series
>>>> attempts to:
>>>>
>>>>    * Leave the state of pdx and pdx compression documented
>>>>    * Factor out compression so it _can_ be removed through Kconfig
>>>>    * Make it so compression is disabled on x86 and enabled on both Aarch32
>>>>      and Aarch64 by default.
>>>>
>>>> Series summary:
>>>>
>>>> Patch 1 Moves hard-coded compression-related logic to helper functions
>>>> Patch 2 Refactors all instances of regions being validated for pdx
>>>>          compression conformance so it's done through a helper
>>>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>>>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>>>          the old CONFIG_HAS_PDX, as it was non removable
>>>>
>>>> Already committed:
>>>>
>>>> v1/patch 1 documents the current general understanding of the pdx concept and
>>>>             pdx compression in particular
>>>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>>>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>>>
>>>> Alejandro Vallejo (4):
>>>>    mm: Factor out the pdx compression logic in ma/va converters
>>>>    mm/pdx: Standardize region validation wrt pdx compression
>>>>    pdx: Reorder pdx.[ch]
>>>>    pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
>>>
>>> @Jan: Just making sure, are you generally ok with this series as-is?
>>
>> Well, okay would be too strong; I still don't see why my runtime patching
>> series isn't re-considered.
> 
> Do you have a pointer to the series? I would be interested to have a look.

Sure, I can dig it out a 2nd time:
https://lists.xenproject.org/archives/html/xen-devel/2018-09/msg01616.html

> That said... the problem with alt-patching is this is architectural 
> specific. Right now, this seems to be a bit unnecessary given that we 
> believe that virtually no-one will have a platform (I know we talked 
> about a potential one...) where PDX is compressing.

But it defaults to enabled on other than x86 anyway. So it seems like
it's generally wanted everywhere except on x86, and on x86 it can
(could) be patched out.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 12:34:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 12:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584744.915544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWFj4-0007iI-Bd; Wed, 16 Aug 2023 12:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584744.915544; Wed, 16 Aug 2023 12: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 1qWFj4-0007iB-8F; Wed, 16 Aug 2023 12:34:14 +0000
Received: by outflank-mailman (input) for mailman id 584744;
 Wed, 16 Aug 2023 12: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWFj2-0007i5-Ly
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 12:34:12 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2053.outbound.protection.outlook.com [40.107.13.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3213e16c-3c31-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 14:34:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9728.eurprd04.prod.outlook.com (2603:10a6:10:4e3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 12:33:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 12:33:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3213e16c-3c31-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UZsa04zU2YMgouj2MjqkvXCrE8UQZw1yH4OxOBuRRcmLmewhDtVZZ7h1JeYDEykCPNX6dKHus8yOVRgveNrO05WSJjY1hMhJLYpFVqNaw7IWfHGj1faengjh0UnEGeZ+KHgJjRs5kit1LAOvq6a7EQ6Et4jON8r59uhcesCEtgVFV6rmT3NBwd3HnDt0Ci2mRahTt3bzgDo8gYazrR9XVJUENe5MItRCquK3ZpBI/OJrQRY6GUtvm0aJ45NRkgIEAA7Lr9dkmG1avLj18UxMRsQv3D9QVvmqQ4wUDfqts8OpPprI/yL9ytfOsCpwo+kFu3jssEkUXZRDoGS6/k81tA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c9k9aL5neHSzQcmuiaw/nE6KOobv9P4LIKb6LhpSKKs=;
 b=kCgIDEbiig+GkOlNg5zin2jEMlJPk4+0jWH+FV7nPPwsF7fVBM+h29y3nbbfc76l3kr/2yIcJpfM7owcSvRBAnIjuu+blQwCJV+TCKPaS7+yFZ7OcWSPtpCgF6lvCQKWcuJzKpVeGEqIzWvXlhExu40Uf8qWSE78O1sC+zXds2b/9XDQCHpsJOWf9ZJBhAADGNABH5/S6HLRxIBlnLmgtGT0CGeq2nHKA9rRjZAnGaaLCIT7XeV8xWMKOCMCBGeQlq9DU8ILCdM5rwD1bldi+NVAsk/a0j1QZFvcjNgj2X9CApOh4cSEbTdS/kT7tQKbTW0BlIfaJqNTrdHJ6f+Whg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c9k9aL5neHSzQcmuiaw/nE6KOobv9P4LIKb6LhpSKKs=;
 b=RdlFiHUYjc43fD0o+EwQ+GlK/rRlGGdkViaNAJ1wI+GOYTWGAJ5Z8WwCof5sMADL0Fqd71QMaSmxT53bfrWRGe0zjd8R1IUHKQ0JNlxyp/qbkr+qbh2lQiRHanRLmJElY/jT/3fdeoTl+KSe/by1QOCxIBGUHorCSl6GeN0tyaOmbaTDSNdc509HQeudsJU/BpNIXD0ftobWK/M8Icl/Io8rD0F/F1H0LzY0j+5SOEEdn43BFt093Ef+ABdPHHQuEahRJ7W3qwwkuhxoElrTzDnH4+NRQOyb05YIl+c9Tr1EeR2B+qWLPztHUzE4GVqhrFAwZioqTNQdJjPietmH6w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b90b577a-cb2f-9b00-f7a5-c405c6729e8a@suse.com>
Date: Wed, 16 Aug 2023 14:33:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] x86/msi: dynamically map pages for MSI-X tables
Content-Language: en-US
To: Ruben Hakobyan <hakor@amazon.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230814161502.88394-1-hakor@amazon.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230814161502.88394-1-hakor@amazon.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9728:EE_
X-MS-Office365-Filtering-Correlation-Id: 067a4bb3-5037-47bf-bce0-08db9e550488
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UFAYI2UopCg9Ih7ILbfeEUWNepYjSgn7NQgbe90SPvuLvlm/V9/MhgwJXE5v3Y8FaPVd4sMzCDa3wdGpDyemp/Zbg2rsfeTU6fCHypreH4ga3RVWehTadcVu4owhXUFpRPhOvWLgORmi8iKPO1jseh6hIsUXhynXNjPtBO2+OxWbFyGKH7MZgX3LN622htIF0KTHvQ9HRDBzYOkvncSWGA8cHYIdGSKdOBynC0T/BTrz+dpLpRNQxvz9CvPrQef4VNsONnHTg2ZlZwS1dgZnID8wzeZIsSzaQOxZV5BUrf0XjzJunEZ8+dtGn9T2aiHo5Ta8uOM0Y9Pn0Nsif/JGOoQnY6kEDfv7rUmjJNYIalq21L8hLXGqqSlUo1UVtIdJEO3ZzF1TFVXzwcn3ZCa1/r5ylW+DkmtkYWLuGLpdK7dKlJEUuYXPhWl4/1gNYy6BbGol1xVWbnil+C3OcmJMPvG//eCaDFaU/9bT4khH/hX9Sc/pdTDGAMAnzAHE8BXWkLerqUSUWA659GJZTCP/ySnMCFqzplCLhHrZE/rKQO35VyKeew8WaH/oEPmO5TMZ/DdemQ4CI6Imml+QUVxrvkDXfjseU9ARi1a656lFGauvxrfGVIZRs/xW4x3WwDihnFtD1zyUwMlY8i9+gW2gvg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(346002)(39860400002)(396003)(451199024)(1800799009)(186009)(2906002)(83380400001)(86362001)(478600001)(31696002)(6506007)(36756003)(6486002)(2616005)(6666004)(6512007)(53546011)(26005)(5660300002)(41300700001)(54906003)(316002)(66946007)(66556008)(66476007)(6916009)(31686004)(8676002)(8936002)(4326008)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGlYbk9LZTFzUGZEQVRpWXJjTG1zZ3BBM0tVWEY2R1cyMExab2Mrd1Foc3l0?=
 =?utf-8?B?SE1ZUnRuWTlOZTkxSk80ZUttWGZwYy80MDFEVGpmVVNHMFgrVlNoVjVwZ0VH?=
 =?utf-8?B?dW9uTUozQUNueFVUSEs0MlloSHcrYmk5L2tjUExUNGVHZUJFd2toMFNoNHV0?=
 =?utf-8?B?UjFBMW9qL3h4dlZLZjdQRGo3SnRScEIwcUpmUktSdHhYUWtrUDNDL2lFT3ZS?=
 =?utf-8?B?SzFzTmFtak5hTCtHLzVadW1jbzBIVHEvNzhlN0k2TjNQN01PdzlLVDJkenQv?=
 =?utf-8?B?TWY1OFNxeC9ZSms1YzNYM045UnNCTWN1OC9NYlFRcG8zOTl2UjRralJueVlm?=
 =?utf-8?B?eEdkTHVibHRDRXZzUS9kcFhMQkpoL0lVbGdUUS9wMHdDc1MzaEdRQjJ2ZzB6?=
 =?utf-8?B?T2VGRzZ5N09nT0lDYlFsQlhPS3lRRnBjT1lPNnZLS3dKRGNTY3lZVzlkdWx6?=
 =?utf-8?B?VjVhUVJIa055NWN0VHNDcVVPeXdUZlhMa0dZUFlJL3J0T3ZLU1E4a1Y1Q2ha?=
 =?utf-8?B?djZRcUsrVCtlWlFaY1RqNU9RTzJrMU1ibDdadGpqQjNkRzg5UFcrZjNEaG5x?=
 =?utf-8?B?ckx2QWdTYVpmbEVCMkRwTXJ5Q3NZa2hTNUdWNnNrTmFHb09OVmp3ZTBTWlJu?=
 =?utf-8?B?ZEtMMkR0Lzh2dUNLemc0T1RTWEplN3lldmxNSDJuRWhoODBHeUNjVGE2dGF1?=
 =?utf-8?B?U3VzTVRRMm14T2QzSi95d245SHVHOUJ2U1JQTnlicFU3RjRRc1JmRm5adHVx?=
 =?utf-8?B?OUlzaG9XZ3gyWWEwTWpFb1FMTXY1UFhteW56Tk9MZ3pwcTRhN2prdlh0TE56?=
 =?utf-8?B?U1NCTG41WDRPTytTdlBQOWl2VGprYTdodndCVnloTFF1RnhKakZHVW0rM1gr?=
 =?utf-8?B?TWRWRUZURjk4eGlzWEdXRG95dEhZMStlQlM0UC95RFlOWi8wMWRJSm5ieE1q?=
 =?utf-8?B?NWJoRXNjT0FGc1Rob2lPV2VVb3ROTUJYcHowajFOdXVZcFVIKzFhcDFkUzda?=
 =?utf-8?B?bGU2Q1pYVndqRFM5MHB6NmVENWRud0xRR3UvcVFuRlp3YXFQQkUwVThHSHpC?=
 =?utf-8?B?ZGMrcmRXcndxNlBGTlZiQmtoWVpNSkE4U2pITkEzNWlBbjRpWEE0RWJpQnQ3?=
 =?utf-8?B?L1NaVkZuTDBlSUNINEdGdDNzSzJBcDgzbjRIOFVDajAxbG1YekNWTGxHd2lr?=
 =?utf-8?B?Qmw2UDdsSmNnZW1DWi91ZXZpRy8vYW0yck5LRTZnZy9xM1ErZEhlRkFoczBh?=
 =?utf-8?B?MFFTU1pxMUxHb1ZQNmxvUEpWNEV3Ty9PVkxnNGxUeHVDdWdFMkdkYm9Xem1Z?=
 =?utf-8?B?RkQ3UTdMR0ErYXFQbEZXREpzYXNHY2M4RzRaQzlLVFNKZ2wyR2w4QkZsNCtr?=
 =?utf-8?B?N2RBOWJYRGRlRjB1bGVuRytiSm1zZGZ4dENMZnRDWnFGa0VOektQUDF3clgx?=
 =?utf-8?B?KzRWQXZqTGdSS2pLMmFmdVYwY3M3dmp0L3BJais0VHgxYjhsb1JETUVIQU1J?=
 =?utf-8?B?MXpVTUlrMWRoRTlqdXBIUmcxTHhPeG5OQmJXN2MxWHpOVHdqTVFyVWpla1N5?=
 =?utf-8?B?aTkrbEJicExEMEhRQVIzMGZyZFUxb042bFFUd2hQRDNhRVhta2d3eEtXWFha?=
 =?utf-8?B?S3pTVkc5ZGJTNTZxSmZ2WmxFMlpPUE9Nd3J4Ym5IMy80SmxzUUpIQUtrQitB?=
 =?utf-8?B?T3ZTUm9hbnF1YjFZdmZIdzFTd1FtdDl2TnAvbWEra0YyT3dlbm9SMkVCL1lz?=
 =?utf-8?B?eHJ4RTlHb3VWSkp0Sk9xd2xOQkNlYWRjTHR6VGdvQVdPT3c4K0FHOTZwaWVz?=
 =?utf-8?B?SGh6RFNKSDBjaVNmeVY0TjNvSDBBVnF4LzdYTDJIU3NFN20zWjV6Y3ZRb2xn?=
 =?utf-8?B?YWxvN3U1TWU5VDUxRDdnQlZuV2N6UE5Od05JcnFaR2x6cnlsMDhmbkxnb3RP?=
 =?utf-8?B?MWJ4VkpqL05pRTN1ZDM3dmdjYjYxZy8vbkZETm0yK1JQd0pLQjVYeWVSVW0r?=
 =?utf-8?B?M2F6a2N1K00xWlpoaVNqSkhhaW1OUXUwd1UvWDl6OGpvZllXaDRUUE9IQ0c3?=
 =?utf-8?B?WW4zYTVNQjZac2hwajRCZkZ0ZkZOWHBDMjBlaVlYdklyL29uNWswZlEvWkZa?=
 =?utf-8?Q?QOEdFFrHkEvp39Buk7Kc9wKB/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 067a4bb3-5037-47bf-bce0-08db9e550488
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 12:33:38.9955
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cSb6FK9WkA3MTphz6IhgUgy0DOrLHU0ljQU2qfSOcWbCLTv8SBzKjtpQTKiZ3R93ogGDTpQP1z535WwHw8fCWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9728

On 14.08.2023 18:15, Ruben Hakobyan wrote:
> Xen reserves a constant number of pages that can be used for mapping
> MSI-X tables. This limit is defined by FIX_MSIX_MAX_PAGES in fixmap.h.
> 
> Reserving a fixed number of pages could result in an -ENOMEM if a
> device requests a new page when the fixmap limit is exhausted and will
> necessitate manually adjusting the limit before compilation.
> 
> To avoid the issues with the current fixmap implementation, we modify
> the MSI-X page mapping logic to instead dynamically map new pages when
> they are needed by making use of ioremap().
> 
> Note that this approach is not suitable for 32-bit architectures, where
> the virtual address space is considerably smaller.

This addresses one of the issues raised on v1. There was also the concern
of the mapping now potentially involving memory allocation (if page tables
need populating). I wonder whether, alongside emitting a warning, we
couldn't fall back to using fixmap in such an event.

Furthermore there's the concern regarding VA space use: If the 512 entries
we presently permit don't suffice, we talk about more than 2M worth of
mappings, i.e. more than 4M worth of VA space (due to guard pages).
That's not entirely negligible, even if still only a fairly small share
out of the 64G that we set aside right now, and hence probably wants at
least mentioning.

> -static int msix_get_fixmap(struct arch_msix *msix, u64 table_paddr,
> +static void __iomem *msix_get_entry(struct arch_msix *msix, u64 table_paddr,
>                             u64 entry_paddr)
>  {
>      long nr_page;
> -    int idx;
> +    void __iomem *va = NULL;

Unnecessary initializer.

>      nr_page = (entry_paddr >> PAGE_SHIFT) - (table_paddr >> PAGE_SHIFT);
>  
>      if ( nr_page < 0 || nr_page >= MAX_MSIX_TABLE_PAGES )
> -        return -EINVAL;
> +        return NULL;

Please don't lose the error code; callers should not need to blindly (and
hence possibly wrongly) assume -ENOMEM when getting back NULL. See
xen/err.h.

>      spin_lock(&msix->table_lock);
>      if ( msix->table_refcnt[nr_page]++ == 0 )
>      {
> -        idx = msix_fixmap_alloc();
> -        if ( idx < 0 )
> +        va = ioremap(round_pgdown(entry_paddr), PAGE_SIZE);
> +        if ( va == NULL )
>          {
>              msix->table_refcnt[nr_page]--;
>              goto out;
>          }
> -        set_fixmap_nocache(idx, entry_paddr);
> -        msix->table_idx[nr_page] = idx;
> +        msix->table_va[nr_page] = va;
>      }
>      else
> -        idx = msix->table_idx[nr_page];
> +        va = msix->table_va[nr_page];
>  
>   out:
>      spin_unlock(&msix->table_lock);
> -    return idx;
> +    return va + (entry_paddr & ~PAGE_MASK);

This is wrong in the error case, i.e. when va is NULL.

>  }
>  
> -static void msix_put_fixmap(struct arch_msix *msix, int idx)
> +static void msix_put_entry(struct arch_msix *msix, const void __iomem *entry_va)
>  {
>      int i;
> +    void __iomem *va = (void*)round_pgdown((unsigned long)entry_va);

Nit (style): Blank after * please.

>      spin_lock(&msix->table_lock);
>      for ( i = 0; i < MAX_MSIX_TABLE_PAGES; i++ )
>      {
> -        if ( msix->table_idx[i] == idx )
> +        if ( msix->table_va[i] == va )
>              break;
>      }
>      if ( i == MAX_MSIX_TABLE_PAGES )
> @@ -115,9 +84,8 @@ static void msix_put_fixmap(struct arch_msix *msix, int idx)
>  
>      if ( --msix->table_refcnt[i] == 0 )
>      {
> -        clear_fixmap(idx);
> -        msix_fixmap_free(idx);
> -        msix->table_idx[i] = 0;
> +        iounmap(va);
> +        msix->table_va[i] = NULL;

While possibly benign here, please clear the field before unmapping,
such that there's no doubt about a transiently dangling pointer.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 13:06:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 13:06:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584751.915554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGEP-0002tJ-Pk; Wed, 16 Aug 2023 13:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584751.915554; Wed, 16 Aug 2023 13:06:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGEP-0002tC-Ml; Wed, 16 Aug 2023 13:06:37 +0000
Received: by outflank-mailman (input) for mailman id 584751;
 Wed, 16 Aug 2023 13:06: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 1qWGEP-0002t6-0Q
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 13:06: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 1qWGEJ-0007wf-8d; Wed, 16 Aug 2023 13:06:31 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWGEJ-0003yj-0p; Wed, 16 Aug 2023 13:06:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=KIDFefgjxaqdu+y6qJYo00sTDP+0ZXVhlnm6PKvmi1k=; b=HxPS+NoEv4FLKeEHcRdJ05Qtt9
	+YefZmHKgUoAn1U/jpteEYLJLBIIACUCcLmUUrUTCVa2SnUiLW/limCJD59498IgaNUDJ6oD6LMzi
	hSFsYI+JMZ9oskEq6MIZIX86K2grHfe8kUFBK4ClJgGX80WlwpsBdVvrZimJ3ysdhjzM=;
Message-ID: <d3777547-cc5b-409e-b236-d502f1133443@xen.org>
Date: Wed, 16 Aug 2023 14:06:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
 <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
 <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
 <44d233c3-4b85-c70b-0ab1-a67452884025@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <44d233c3-4b85-c70b-0ab1-a67452884025@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 16/08/2023 12:27, Jan Beulich wrote:
> On 16.08.2023 13:12, Julien Grall wrote:
>> Hi Jan,
>>
>> On 16/08/2023 10:43, Jan Beulich wrote:
>>> On 16.08.2023 11:36, Alejandro Vallejo wrote:
>>>> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>>>>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>>>>> disable it because the whole codebase performs unconditional
>>>>> compression/decompression operations on addresses. This has the
>>>>> unfortunate side effect that systems without a need for compression still
>>>>> have to pay the performance impact of juggling bits on every pfn<->pdx
>>>>> conversion (this requires reading several global variables). This series
>>>>> attempts to:
>>>>>
>>>>>     * Leave the state of pdx and pdx compression documented
>>>>>     * Factor out compression so it _can_ be removed through Kconfig
>>>>>     * Make it so compression is disabled on x86 and enabled on both Aarch32
>>>>>       and Aarch64 by default.
>>>>>
>>>>> Series summary:
>>>>>
>>>>> Patch 1 Moves hard-coded compression-related logic to helper functions
>>>>> Patch 2 Refactors all instances of regions being validated for pdx
>>>>>           compression conformance so it's done through a helper
>>>>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>>>>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>>>>           the old CONFIG_HAS_PDX, as it was non removable
>>>>>
>>>>> Already committed:
>>>>>
>>>>> v1/patch 1 documents the current general understanding of the pdx concept and
>>>>>              pdx compression in particular
>>>>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>>>>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>>>>
>>>>> Alejandro Vallejo (4):
>>>>>     mm: Factor out the pdx compression logic in ma/va converters
>>>>>     mm/pdx: Standardize region validation wrt pdx compression
>>>>>     pdx: Reorder pdx.[ch]
>>>>>     pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
>>>>
>>>> @Jan: Just making sure, are you generally ok with this series as-is?
>>>
>>> Well, okay would be too strong; I still don't see why my runtime patching
>>> series isn't re-considered.
>>
>> Do you have a pointer to the series? I would be interested to have a look.
> 
> Sure, I can dig it out a 2nd time:
> https://lists.xenproject.org/archives/html/xen-devel/2018-09/msg01616.html

Thanks! AFAIU, the optimization would only happen after the alternative 
has been patched. This is happening after initializing the heap. With 
Alejandro series, you will have some performance gain for the boot which 
I care about.

> 
>> That said... the problem with alt-patching is this is architectural
>> specific. Right now, this seems to be a bit unnecessary given that we
>> believe that virtually no-one will have a platform (I know we talked
>> about a potential one...) where PDX is compressing.
> 
> But it defaults to enabled on other than x86 anyway. So it seems like
> it's generally wanted everywhere except on x86, and on x86 it can
> (could) be patched out.

IIUC, you are saying that we would want both Alejandro series (to allow 
an admin to disable PDX at boot) and your series (to fully optimize the 
PDX at runtime). Is that correct?

If so, it is unclear to me why you want your series to be re-considered 
now. Can't this be done as a follow-up if there is a desire to further 
optimize?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 13:14:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 13:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584757.915564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGM0-0004P6-J3; Wed, 16 Aug 2023 13:14:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584757.915564; Wed, 16 Aug 2023 13:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGM0-0004Oz-FD; Wed, 16 Aug 2023 13:14:28 +0000
Received: by outflank-mailman (input) for mailman id 584757;
 Wed, 16 Aug 2023 13:14: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=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWGLz-0004Ot-AT
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 13:14:27 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2e772aa-3c36-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 15:14:26 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 13:14:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 13:14:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2e772aa-3c36-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jerp3QSBSyExu3bBUvvTnndF1OAhChe/9vFqJ9zpvkFtppB2XkyvFhuNb96w1Zv0xLHRuJN6G68BsHM9S3pYJj3Fo20rBY3lUjuFBToFvaaRAYGxXi/JXt73KX6OX+mcNkvVS2dP+9OP3oKzlRWqnNcwfxyGJApepN8gLRXiSqrxqr3hzl7iD1hL4hR3uzu/LAvLk0ojKpvuJFfx/EjPfO44Vb8dzw6J7XUm4z2jygpHYNGLnNxDmWoSE4PGO0oluSOUtAzgpXB8Ra8zfvHW+oVFZ8ErojzW86nDt3Ms9q3448qwVoPArp1Yonx5O69Ci+cjMED3nwIyb5g5XvqiBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4dgxFjyYkxlIbeE0c5m5wuyChWy9m0OlTyGZlyHOw6I=;
 b=R3lH3TO+N0n9m35GXRNiX7qDKxvzliWJ/7PoDOF+jtBdihXqfECeg5RTZJMtKUZpQwRanPaWetmjrFhV36MjrmKkubXG466qoN1qWXDRgTogxWW3irdm0JYDxdrMFuq/7Pz4ug9xgSPkSshrjr25CCJQHe/avp4s34nYsSScsfg1F3286wFOzT12EtOMt7+32Rh4n2JGPkKa/Y45JfHawNuneZEjpUXGDv9IyHb2PVHGHOfKYgDQAoZlk3Qnx+s5BAZ+LRVaKn/EQO0V7/rtySCVgyY4jM+zxNsqPG9/FN9rJdTMaHx/BPDL6PX26KA6NaAYc29z6d5CfcnyrUqLhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4dgxFjyYkxlIbeE0c5m5wuyChWy9m0OlTyGZlyHOw6I=;
 b=x+62sIBT5v3LFVmU+6voz479wwVMD0k+gd+icyepQiyyf2N+QuDZtnufvcg7GDiDcNxJKVErFHd2NzP7O37jJ6jUb8nAShUrOV0uM4e8XJl0bW96a19Vy2WPYSep1sARDjITFSPabHngUKuSbElBFvS5CU9KmrGrKa8OWRGRQLJL9soji8idGHFF07w9UoliPzXW4MkXFczAS6s6DLSuUJUf7rT9/Tgl9MIF2mEcemIqbWyY5jlFWM/JlSlYFCrnRcyoGMkSefvr5ugOO2qcjsM+3NTRtZtjOXvCjfTHgB4ykOnui6+Tb6K5bjP58QmK74SiJiPKLnOYD1THDslszg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <25f27f25-3b5a-691d-fd2c-682b7452a1bf@suse.com>
Date: Wed, 16 Aug 2023 15:14:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
 <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
 <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
 <44d233c3-4b85-c70b-0ab1-a67452884025@suse.com>
 <d3777547-cc5b-409e-b236-d502f1133443@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d3777547-cc5b-409e-b236-d502f1133443@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: df1fc1f2-6e00-4ec1-be09-08db9e5ab5f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QWbgHte/+0rOdW+LqnwMSmEsinA9D+YzPga04guLmgXE0h1wqGcRjzTaRpwIf2d4pDL8G5dE46x/q29fGXFpi1U+wcZbzjZrLSYtlSveXPm8zUdBrBYCvRwmjFC+jq6mK0Ffaipb30r1lyfLjQZ3RVcv7RC1sqY/bWfrKqdPtMHK/Hk3ybiPcDyaz2MdUlrtS5G9Bo5r2GXwhT/4klcXGW1/x51b4nBhr+hKx6LrhZLn/ilbf1Py+9sqHQbYAfaB3W81SWJW75/G8LhkADHu/KSGoAjMfvRy7eWAOd0eVyoi2Q7zhpl6IjXmbcLQxPFi/2dU3o16ay759NZ2zEft2KnGYdWuxxlBZH7RdsBnmuKrFs86DUhd4gwMiFM+dCjLYYPp1FWAB/bJLARL/ZuyRg/BldEfHFDbNcmiKKj57BH6/wNnFf2XFAWa6lPHAaUd8VuN/irZk8JIqwa+fcAKW4Da2/U5AJ0keLrP4W7vTKf9iUJjwSy0Taevdw4Svwztae2PTh+1FeDURLe5q0YesNmTaYA2V+hOB44Oc9qlVXVUz2sovwZnlEWC9OsLRGPJYJdcMsfBLWkU9odVvgsPGvsvosFuKYQq2mv/p1JK/kFJ8sk8H2jMdMWGUim4aJC0H/ACZAqdB5HCBYbX0h7wZQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(966005)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(7416002)(86362001)(31696002)(6512007)(53546011)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0tXbVZJYThyektwVzhRUW0xK1RCd2xtdlA0OTh1Q1Ztdk93YS90b1h6ejVL?=
 =?utf-8?B?akRldVlTWXI0a2JRYTl1MHNPa0hIZXBlK1ZyZkNwU3cybGNaOEpROFhmU3dr?=
 =?utf-8?B?NlJHbmRwYnkzZHZvOWNIdXhJTXJhSTM0S21FeEJXRnZDZ2pxbXg1bnpGdmt0?=
 =?utf-8?B?WHVHc0FycDZGQzNDZUowOFdLRGVBNFByd1ZhSVp0RHh5b01kdmRCbEtxbXl3?=
 =?utf-8?B?TUNsY2VnM1ExTmgyVTlleWJGeGpKcW85bm5jV2Nrclo5R3RtT3JmbWg5SDVX?=
 =?utf-8?B?SFJlNHZSNFUvaWZyVllXVHQveUZiY0x0ZXIwUGN2VkpPbTdQbitKd01EVEQ5?=
 =?utf-8?B?Mlg5a0l3emdhaWJhT1l5N2QzcWtNWHdrN0tVOUxSZlJ5T3Btdlc0MWk5WERF?=
 =?utf-8?B?RXhBYU1uZGc5TWtuSk05OHdrM3llNzNpaExQVE03UlBEN3htVFdIR2JUZ2Er?=
 =?utf-8?B?ZmVGSE4wWS9GRXZ1eUxLZjlHUnpjRnFJcWVucklNczRDZmRoWE1iOWJkckho?=
 =?utf-8?B?UjdrSzVYczA2QmxLR3dxWXA0SDdmbUhEVVpKKzRoRE1MRWV1ZUNHdnJ5NmlQ?=
 =?utf-8?B?SENyRXBpemFoUmFNN1lpbVpkYVlDWWlQa2tKUFB2SEJuTGpzQ3pvYVhvenh6?=
 =?utf-8?B?SmJqK1E0L09mOW0wQnpBSnFmblowSTlLNThkLzdpVHV5YlFIRis0L1pyZjJD?=
 =?utf-8?B?K2hSb3dhMTlMU3gxOXZvT0dYUWc3aHdXMkczL0NVa1dZaHpvdE1qK1VtRTZ2?=
 =?utf-8?B?bWsxQlEyOFFSd3NFc0E4cEtadlF3VkVYZ2hUOHg5bkFIYS96Q2lIY3A1QlFJ?=
 =?utf-8?B?Rms3TnNqeDNCR2lLS0ZBcEhrWFRtMTZIYXFRRzBPRENpVmFTRm5BSzBpNS9h?=
 =?utf-8?B?QS9Od2h6WnhOQm4vZTU1bDJZRi93ekRlZDhjL3F1eE1Pa1dKckJ4NTNlQ1E1?=
 =?utf-8?B?Vjl1VG5ESTY4VXplV1VFNDNoNXIwSlM3YnRLSWRLbmtzSkN2bWFSTEFaUkxu?=
 =?utf-8?B?TWs3RFJsNm1QUTZaeWhtamFwdVVWWkVCZXd3Q3YyWis2eGJWQmhoYk1ZemJ1?=
 =?utf-8?B?SjJEQWo3d1U2NVhsSmphUXAwVWlNalM4V0dFMEN6V2pxTXRjMkttS0ZsTUJp?=
 =?utf-8?B?MUFmVU43MnhsWEx6ZFVQSkh4cHhZOFFudkJEUUdFc0JwY2NhRGlXOElFQlNv?=
 =?utf-8?B?NnJiemRhMlphM21zNzNlc2xDbGo4UG43d3E4eG14OUc2Tm1JUmtRbVE4bjdm?=
 =?utf-8?B?b1lFMGJnUTdSMWVIelFreUVUWmJDYVpwcnJ4TitjQTJXMXR0NG9IME4yUy93?=
 =?utf-8?B?WDUvODhHMTFpazNBUjdkaFRlSVFYaWJ4QTZWaFJjbHRQWWxTcUduR3FaaFJR?=
 =?utf-8?B?VTZDT2o4N3hVVTczSEM4REFiYm80QjJ1dHBPTzN0TXBQOW1YdzBTSFM3NVFK?=
 =?utf-8?B?dnlrbTVtbGNWS3U1OWFQY3lrRmJZOExLSWw2aGdXZytoSnVUV0tYNitGc0VT?=
 =?utf-8?B?bXMySmlBSnM3KzNNS0c3ZlRZZitQTWhyampZdExaNGRQN1JjNkJxZE5IMWpx?=
 =?utf-8?B?Z29taFlqRmFVdFl3UTh2RlMrMExRS1lFK1hzQzAxTVFKUkJNUERYM29oT3RP?=
 =?utf-8?B?SGVXTnM1azUrRkJZYVhaWGthakRBcmNwUHZOclR3WFY0aTZlSURvbHJHQnhj?=
 =?utf-8?B?NjNTQ29GZC90Um5MYVdpb29rWEwzVk1FNFF4MGxrK1o3ZXB1OTFaWTVGV3FI?=
 =?utf-8?B?M0traEp5Rm5tejZwRzZYWFZkdE1GWEpaR3ZHNlF6SHpRRnh0VlJFc0UyL2JK?=
 =?utf-8?B?cVEzOFVNc3FmU2twUHowcEVFdGo0MUx0bE5adWNUdXVOQ3ZFN1ZlWWdiSGU5?=
 =?utf-8?B?NVVpQlJBdWxOMVVHOGZ6VkVJdUQ5SGs0UHBvN2RpcDM0TGx0eEdmTEVKQlRK?=
 =?utf-8?B?QU1ZaTVkRTU4dWpRazVDdlJ2NGZXQktvcDlJOCtGZUZ0bnNyRk5ZQkRiWVQ5?=
 =?utf-8?B?T2sxVE5nV2dMV2hCMGhoWnRFTXdVSDBQR1MyVmpuMGFoR1RwQW5UTG15RUFC?=
 =?utf-8?B?WFVqdklIM25EVUxhQm5kREZ3d2RhWk55bW5WL3ltajJZQjVHam1mOHZrSHB2?=
 =?utf-8?Q?Hf+VQP3wQXvbqXef27zblSlBQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df1fc1f2-6e00-4ec1-be09-08db9e5ab5f2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 13:14:24.1198
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aRvL2VrlV+aBmpJkRGHpfgk8insS4cG4VT8KN8u/B3hlkayHsc+4WvLCaLjaL34I6vVhiq6Mi31HMgmB3mbvqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

On 16.08.2023 15:06, Julien Grall wrote:
> Hi,
> 
> On 16/08/2023 12:27, Jan Beulich wrote:
>> On 16.08.2023 13:12, Julien Grall wrote:
>>> Hi Jan,
>>>
>>> On 16/08/2023 10:43, Jan Beulich wrote:
>>>> On 16.08.2023 11:36, Alejandro Vallejo wrote:
>>>>> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>>>>>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>>>>>> disable it because the whole codebase performs unconditional
>>>>>> compression/decompression operations on addresses. This has the
>>>>>> unfortunate side effect that systems without a need for compression still
>>>>>> have to pay the performance impact of juggling bits on every pfn<->pdx
>>>>>> conversion (this requires reading several global variables). This series
>>>>>> attempts to:
>>>>>>
>>>>>>     * Leave the state of pdx and pdx compression documented
>>>>>>     * Factor out compression so it _can_ be removed through Kconfig
>>>>>>     * Make it so compression is disabled on x86 and enabled on both Aarch32
>>>>>>       and Aarch64 by default.
>>>>>>
>>>>>> Series summary:
>>>>>>
>>>>>> Patch 1 Moves hard-coded compression-related logic to helper functions
>>>>>> Patch 2 Refactors all instances of regions being validated for pdx
>>>>>>           compression conformance so it's done through a helper
>>>>>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>>>>>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>>>>>           the old CONFIG_HAS_PDX, as it was non removable
>>>>>>
>>>>>> Already committed:
>>>>>>
>>>>>> v1/patch 1 documents the current general understanding of the pdx concept and
>>>>>>              pdx compression in particular
>>>>>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>>>>>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>>>>>
>>>>>> Alejandro Vallejo (4):
>>>>>>     mm: Factor out the pdx compression logic in ma/va converters
>>>>>>     mm/pdx: Standardize region validation wrt pdx compression
>>>>>>     pdx: Reorder pdx.[ch]
>>>>>>     pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
>>>>>
>>>>> @Jan: Just making sure, are you generally ok with this series as-is?
>>>>
>>>> Well, okay would be too strong; I still don't see why my runtime patching
>>>> series isn't re-considered.
>>>
>>> Do you have a pointer to the series? I would be interested to have a look.
>>
>> Sure, I can dig it out a 2nd time:
>> https://lists.xenproject.org/archives/html/xen-devel/2018-09/msg01616.html
> 
> Thanks! AFAIU, the optimization would only happen after the alternative 
> has been patched. This is happening after initializing the heap. With 
> Alejandro series, you will have some performance gain for the boot which 
> I care about.

Fair aspect.

>>> That said... the problem with alt-patching is this is architectural
>>> specific. Right now, this seems to be a bit unnecessary given that we
>>> believe that virtually no-one will have a platform (I know we talked
>>> about a potential one...) where PDX is compressing.
>>
>> But it defaults to enabled on other than x86 anyway. So it seems like
>> it's generally wanted everywhere except on x86, and on x86 it can
>> (could) be patched out.
> 
> IIUC, you are saying that we would want both Alejandro series (to allow 
> an admin to disable PDX at boot) and your series (to fully optimize the 
> PDX at runtime). Is that correct?

Not really, no. I don't view a build-time decision as necessary; I favor
runtime decisions whenever possible. But as said I also don't mind this
series going in.

> If so, it is unclear to me why you want your series to be re-considered 
> now. Can't this be done as a follow-up if there is a desire to further 
> optimize?

In principle it could be, yes, but I'm afraid I know that no follow-up
is going to happen (and me trying to revive the earlier work would be
yet another case of pointlessly invested time).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 13:38:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 13:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584764.915574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGjK-00075t-Fe; Wed, 16 Aug 2023 13:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584764.915574; Wed, 16 Aug 2023 13:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGjK-00075m-D2; Wed, 16 Aug 2023 13:38:34 +0000
Received: by outflank-mailman (input) for mailman id 584764;
 Wed, 16 Aug 2023 13:38:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWGjI-00075g-QK
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 13:38:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWGjD-0000Hg-Eq; Wed, 16 Aug 2023 13:38:27 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWGjD-0005He-5l; Wed, 16 Aug 2023 13: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>
DKIM-Signature: v=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=/3sD/xYGcKUg0nE14xd44/hpO6EuWQbjI1EKmV+lGmw=; b=MRE1jFe7vXYK3oPu0FOto7GKME
	cP/Ced7Og1DTphV4r+vcY7tcSm76Kn+a8LpwQuXnc8KVUZa6QQUpyj5osKscSaLF879DOvMLsgvgL
	e5Hk4EBStc3MHjEreHErzWS6YUA/zXQBhupPLIv+Jeu0odizsExQuQRchKZcTK5gx9KU=;
Message-ID: <2eabb0db-35e3-4809-8922-c8e8fca6f802@xen.org>
Date: Wed, 16 Aug 2023 14:38:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/4] Make PDX compression optional
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.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>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <20230808130220.27891-1-alejandro.vallejo@cloud.com>
 <64dc988b.df0a0220.d6d82.abb3@mx.google.com>
 <f8d43f0e-bceb-674d-c3d9-ddca4fd491df@suse.com>
 <0912c8ed-f2a3-4fdd-a210-f015c0e3f48f@xen.org>
 <44d233c3-4b85-c70b-0ab1-a67452884025@suse.com>
 <d3777547-cc5b-409e-b236-d502f1133443@xen.org>
 <25f27f25-3b5a-691d-fd2c-682b7452a1bf@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <25f27f25-3b5a-691d-fd2c-682b7452a1bf@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 16/08/2023 14:14, Jan Beulich wrote:
> On 16.08.2023 15:06, Julien Grall wrote:
>> Hi,
>>
>> On 16/08/2023 12:27, Jan Beulich wrote:
>>> On 16.08.2023 13:12, Julien Grall wrote:
>>>> Hi Jan,
>>>>
>>>> On 16/08/2023 10:43, Jan Beulich wrote:
>>>>> On 16.08.2023 11:36, Alejandro Vallejo wrote:
>>>>>> On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
>>>>>>> Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
>>>>>>> disable it because the whole codebase performs unconditional
>>>>>>> compression/decompression operations on addresses. This has the
>>>>>>> unfortunate side effect that systems without a need for compression still
>>>>>>> have to pay the performance impact of juggling bits on every pfn<->pdx
>>>>>>> conversion (this requires reading several global variables). This series
>>>>>>> attempts to:
>>>>>>>
>>>>>>>      * Leave the state of pdx and pdx compression documented
>>>>>>>      * Factor out compression so it _can_ be removed through Kconfig
>>>>>>>      * Make it so compression is disabled on x86 and enabled on both Aarch32
>>>>>>>        and Aarch64 by default.
>>>>>>>
>>>>>>> Series summary:
>>>>>>>
>>>>>>> Patch 1 Moves hard-coded compression-related logic to helper functions
>>>>>>> Patch 2 Refactors all instances of regions being validated for pdx
>>>>>>>            compression conformance so it's done through a helper
>>>>>>> Patch 3 Non-functional reorder in order to simplify the patch 8 diff
>>>>>>> Patch 4 Adds new Kconfig option to compile out PDX compression and removes
>>>>>>>            the old CONFIG_HAS_PDX, as it was non removable
>>>>>>>
>>>>>>> Already committed:
>>>>>>>
>>>>>>> v1/patch 1 documents the current general understanding of the pdx concept and
>>>>>>>               pdx compression in particular
>>>>>>> v1/patch 3 Marks the pdx compression globals as ro_after_init
>>>>>>> v2/patch 1 Documents the differences between arm32 and arm64 directmaps
>>>>>>>
>>>>>>> Alejandro Vallejo (4):
>>>>>>>      mm: Factor out the pdx compression logic in ma/va converters
>>>>>>>      mm/pdx: Standardize region validation wrt pdx compression
>>>>>>>      pdx: Reorder pdx.[ch]
>>>>>>>      pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option
>>>>>>
>>>>>> @Jan: Just making sure, are you generally ok with this series as-is?
>>>>>
>>>>> Well, okay would be too strong; I still don't see why my runtime patching
>>>>> series isn't re-considered.
>>>>
>>>> Do you have a pointer to the series? I would be interested to have a look.
>>>
>>> Sure, I can dig it out a 2nd time:
>>> https://lists.xenproject.org/archives/html/xen-devel/2018-09/msg01616.html
>>
>> Thanks! AFAIU, the optimization would only happen after the alternative
>> has been patched. This is happening after initializing the heap. With
>> Alejandro series, you will have some performance gain for the boot which
>> I care about.
> 
> Fair aspect.
> 
>>>> That said... the problem with alt-patching is this is architectural
>>>> specific. Right now, this seems to be a bit unnecessary given that we
>>>> believe that virtually no-one will have a platform (I know we talked
>>>> about a potential one...) where PDX is compressing.
>>>
>>> But it defaults to enabled on other than x86 anyway. So it seems like
>>> it's generally wanted everywhere except on x86, and on x86 it can
>>> (could) be patched out.
>>
>> IIUC, you are saying that we would want both Alejandro series (to allow
>> an admin to disable PDX at boot) and your series (to fully optimize the
>> PDX at runtime). Is that correct?
> 
> Not really, no. I don't view a build-time decision as necessary; I favor
> runtime decisions whenever possible.

At least on Arm, we want to cater two different set of users. One set 
will want to tailor Xen to there platform and runtime decision may not 
be desirable. The other set (e.g. distros) will want to run Xen 
everywhere so runtime is preferable.

So I think we should be able to offer both build and runtime option when 
it makes sense. The PDX is one example where both could be interesting, 
yet at the moment there seem to be an appetite for build time only 
configuration.

> 
>> If so, it is unclear to me why you want your series to be re-considered
>> now. Can't this be done as a follow-up if there is a desire to further
>> optimize?
> 
> In principle it could be, yes, but I'm afraid I know that no follow-up
> is going to happen (and me trying to revive the earlier work would be
> yet another case of pointlessly invested time).

Right which is why I wrote "desire". But my point was that Alejandro 
work is not a one-way door. It would still possible to have runtime 
patching on top of it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 13:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 13:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584768.915584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGkg-0007dR-Pz; Wed, 16 Aug 2023 13:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584768.915584; Wed, 16 Aug 2023 13: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 1qWGkg-0007dK-MC; Wed, 16 Aug 2023 13:39:58 +0000
Received: by outflank-mailman (input) for mailman id 584768;
 Wed, 16 Aug 2023 13:39:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWGkf-0007RR-9o
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 13:39:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62f67961-3c3a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 15:39:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6874.eurprd04.prod.outlook.com (2603:10a6:10:11d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 13:39:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 13:39:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62f67961-3c3a-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KSzDch9Z6e9xMNMojBBnT2Q8DLHy2YumQOfuahqpa+U1MxSihUOKFZF4SjG2o6yBbKqh9zffkDG8AdFns+oKVosTHZiHMFKrcjBS8KqOGAYabSgCHA2/P/gXhxlMchk/neNRbQxx/fdUnvIdmw4FzjGVX2k53mZPxfE8bx1Yac8e5AZIfAt5h9MyGSNsNsDTjpyxEGFDXMTl9GH5+5MYcZU9AU1ZkSAsb5/4yvJrg98wQXfjY0Mbqi1itAsSPp7eCz2zFmAdPLqmSBM2sen5qNV1ZUwhYjRmDwBiXpO/bdT+C1oxlH54cV/RAxSGkHO2um+spD76UAJyy2zG5vDYxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AM5oBtmVS8a8QaOE8sjQInakuSvwPDsbDyA9jnD4i6g=;
 b=VRDyN8DzD6C+RiCivD/WZhszZTnFlwQML3eWi+eqpZeGa7X/q7ONl8QD1q0Z0Q1dRQRkwipsL1+Cz1M2AfRlYsXKbEcFYyVNllH42i49H0fBWVgclTdac5XaROWqLMHis4Jg8Scq3YuxwtLOFaze7u7lqwwv96+2DT+uUXZZfsn7oRXH661lMOaJnzwE8QdK/zmi650aBvNmmYIRkC70/dPrrdfjFgxMVqLfbUZX4Gvtke4b61Lc5Y5mW7tkRMTRLGHxsw7HCwznHnqfYN0evDHES86mrSDBbxpxK6z/Sm1oT7EnGVX/QfABpEwuhQoG6ynaKzslVheKdMRLXj7WlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AM5oBtmVS8a8QaOE8sjQInakuSvwPDsbDyA9jnD4i6g=;
 b=2S8Mjl+QfgnxrcM4C1g90NJ2eg/skxXUye+RCGWQ87VK27Enddy1/H2Swyw/AlR3AgWjlfAFDQ4aUss7btQAcRVxs9IUJW1ce4V6xl1DbSeCh+6T692Y37ocy9W8QcTrenV2bCgI8hTeVUJvNCQt548Esp1eIpSXIUbAoSZvQPP0fmaBjvEfGOGeDfKonEP2qfV+tUHX4vYmVUe1RLPPoaTdBlSMEuaUMeLPtQfXzPAKgrH+mnTwYgog02X7pHxAxt1MuuJwkXdd9nWnRVsnJt6QncjpVrAlVcgtQtT/NCzkYOfzMu9OLvBbETaPLbpds9VJknhYHjY8EJTDCMaZdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aa19cb1c-a437-7eeb-d727-3cc9867ac307@suse.com>
Date: Wed, 16 Aug 2023 15:39:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] ns16550: add support for polling mode when device tree is
 used
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <88bd54876c745ef45eb740274fd36d747c7db471.1691767729.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <88bd54876c745ef45eb740274fd36d747c7db471.1691767729.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6874:EE_
X-MS-Office365-Filtering-Correlation-Id: 326cb86a-0150-4e42-c862-08db9e5e45f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WVvrp8eVFkCF1KUDY7GTHRYqEz1Ag/7Pn+5pcizwImIsldbtCZpRZ3FYEt+yl73y3wFdZoodLtP9LvzP+I8ipjEXiWjjXJQ17lT7ZgNu7mlXycH4ABmWwpGGDZFsp33SrKMjQ9DHPSSE27HjHGuTVtM3BWiOYpo6zTibPw2melYxc7tOe/ORWvmKy/0FJxpZB/hROdl7iIT3ySjDgPrLZvEduO83Y7AnRTMWo2ci5kE2aE7g0hwWNlD1cr4GgCygVhYAA7orBZnMXJPHM8Bm3nGsyJGd3zFYxTsWhijNllPfpWit8I5kLB9SfMPxBp0038Vt4sT4G/cILSU0HyPy/fZer7U2X8LN5stLF1zZ4d1dIB18EA8IT7idIWH/+xnvN5ralYIBmUqtJs/b7/Z1Cgjy7I4AWDNHS/1P9IiNb5y0+dlykJisRRsaousnM3FOmDQ5oYuoSjPR/a3bdkhlt5vZrvuPDKylm/EKXUqgfq4Z99DTQYCCxbcb2FgscBIKlr7gN1Nj5HFK37fFVwTDqTLhjbZSwENWA3Zdtna3+8ljwkyTesWm339EtU+Wn8mNM97LPeBPlW84FlxdpOCxxHMxd6+39Z3ZkuiwPB5Es0Zx8iLTN7Yk9OtaPU1oM5gaFELdWNAhXgWrEooK1V9sPg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(31696002)(6512007)(53546011)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3prczlhUjIvaGdpS0pzaU0zMDV1NDJHOGxQZzUrUmFvY1JiNzErUUw1K3J0?=
 =?utf-8?B?RENIVFgzbUZQWUJEUDhLcnhtemdJTjF1bi90RlRqZHJ5QVo5cjdUTkxlS2Z6?=
 =?utf-8?B?RVI4Z29ISnFuZjgyN3BjelQyV1hNVlExNWsxY210anh2Z2xsdGFFSjJZQWpP?=
 =?utf-8?B?UDBSOXc3V3RlOFhyMFE4Y0JQQlJvV2IxeDl2RCtkbGx1M05mZThobkFUK3Nn?=
 =?utf-8?B?SHplQTVkYnpnUlBSY0FHemtYOFpicmxUSzJIbG9zeDYzVlUxQW4vOTBGYlFO?=
 =?utf-8?B?cThhWEE5KzliWVdyd09WcHk5WmVzQk5OREZycVBmTmRGQ0xTL2V4aGt5VFdL?=
 =?utf-8?B?bVVWQm4rek96akp2NzRVd29jQUhselVVUFNKMlNsbDloM0FTNk9qeGU2czha?=
 =?utf-8?B?aFRWRWV4UmdWOUpDTHBsdjdqOXhUeXkxUGQzcElqcFRTM3dPQUJkVTRna0kz?=
 =?utf-8?B?dDVCT2lRL0lLbFlVTk5qQk1CakZIa1A4VFJ2K3VRcHJ3dWN1ckRiL3AxYTg0?=
 =?utf-8?B?TElQcUhOc0hCcElHSGhQYTRKUmtZYUNWbUJiY3B5dW1wT0E4MjdPOXVRaGFC?=
 =?utf-8?B?Qk9YVkwrL1ZNZDNnNTI4NkY1MVQvY1VTV0FUUTdidTdHdDdSMUtNWGFzUUEy?=
 =?utf-8?B?aGFuQ0dHTmk4WkJ0REpvVW1RUVl6YXorSVdBWDB4Q2U2R01EVkdFNlAvYnFs?=
 =?utf-8?B?b29JYUdzSFJsd01hc3ZrMHVzODVURURQTzljdXhyUmJ1SXJuR014VXRKY2JR?=
 =?utf-8?B?NkV4anMwN3U0VXJLQ0tueWxNYVZKQUduTGMzY0pNWEl2NllzUkN1cnVZYkp4?=
 =?utf-8?B?WGhKbm9zb0o2TExOTm1FSklZZ2pVTFFUSCt5d3JneXJWVTJsVjFEbTJBOEdJ?=
 =?utf-8?B?WDRqYzhkb2VXV29TVUZZNk5xcm85cG41YWtDcVlaZHlYTmRXVTh1TytndTdR?=
 =?utf-8?B?NnZnY0ZvZDgwQktnL0tWeFBDeERzZU9GVktINWNmVVJzeXVybnJ3UUl0bnJS?=
 =?utf-8?B?bys1SVJCUm9nbFdSWmc0M2lscHBwazBWVlBaS2pZVGlHQkpYUmNNb2NsR05o?=
 =?utf-8?B?RkpqWmtzRW5iSkI1TEZ1OUtzL2F6S2dKUDRSM2ZzNUE0STd2bUxuKzVUR3VJ?=
 =?utf-8?B?S1JxTmZ5czE2T2xZYVJ6a0ZFamEvZGs1UWZ3N2l3dzZZYWNWN3hROFA0aUND?=
 =?utf-8?B?UmRTNis1M1hXZUhSaGROSmUxOXc0ZGdvTVdubmRLS1c2T3RQTmo2RW9uR29H?=
 =?utf-8?B?Ulk3d1Q2NktLL2hORVJEaGNiKzR5RklNQU9ES1dmMk13MDE4ZHpXM2pXbnZZ?=
 =?utf-8?B?ZTJIZ0FRRExDbkNmYlBSY1F4S3B4N2x5RlVrT09iM3ViaEZZQVFOcy93cVFo?=
 =?utf-8?B?a2lycWtGS0k4U2pmaEFZaXU0N2FHbFF6SGN3NWpOWTdjSUFiSzZhelJFQlV3?=
 =?utf-8?B?MzFvN3NYOVpoOEhDeTY3ejdrMjVRVHltbDFWTENNbUJ2N0JsUHVWUXhZU28v?=
 =?utf-8?B?SHRtekFvK1Bha1FqSGRaK1J6Zzl4QXZrdEZJYkVlSzd1QjE0ajFsV3hzN0lr?=
 =?utf-8?B?Um14WEFHMzRWOFpqZkxmd2NxaC8yRGRSYWNrNVV6azNUR1d3UHJ3RzJYWFMx?=
 =?utf-8?B?WnpzNUJjQUZOYis2SWdDZUY2WXoyblhCZEFUeHNxNW1NdXh5aXU0R1ppM3JQ?=
 =?utf-8?B?V3J3aDRXamxoT1JXL3AvTkQ0Q0R1WmZ5b2xmMDYzRytsakVwYTJxRm4zOUly?=
 =?utf-8?B?eDBpMEhUMURiSGkyV01aRzR0TVhqNnpySkpXNTBlUGpUMUl6M2VKWHcyNHlW?=
 =?utf-8?B?WHI3TUlIcHdWRmwxY3UzcXJuMElybjVSTk5SVDhxN0lFQmZlK0JPUFBjb1hO?=
 =?utf-8?B?d1cwdGZBNVhheWdrYzYwbTd3WFQvVzhwU3JhOWJTTmJYNjNodXNqZExoT0ZE?=
 =?utf-8?B?cllFc0pqT0RsVlRVVU1TZERIcUJ2Vk81bjQwWEhzN0RUV3AybytIOW5VNDNr?=
 =?utf-8?B?OVBhVGFKQTY0WUtWUEM4b0ZsbFhRayttZkgvelFrSTFoQlNWUnVrSk54bm5R?=
 =?utf-8?B?dzZKbGtqOHpkWm9QL2hROEVCQjBnUFNwcVRxN2VVNlVGUlpZYmNTcGJjSVk4?=
 =?utf-8?Q?obxAn6KJQW33TiQ2Zynr3luEU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 326cb86a-0150-4e42-c862-08db9e5e45f2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 13:39:54.2030
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5MT62ilFqkd+BHi+vqEYm/zl0Ikajn6dYRFwIFZe2P3Ymb4OB65PzJ659Mnvh50+ivrFL8zeEYNPlrP0YyVSKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6874

On 11.08.2023 17:30, Oleksii Kurochko wrote:
> @@ -1555,6 +1566,9 @@ static bool __init parse_positional(struct ns16550 *uart, char **str)
>          }
>          else
>  #endif
> +        if ( strncmp(conf, "poll", 4) == 0 )
> +            uart->intr_works = polling;

Don't you need to update "conf" here as well then?

As said before, please also update parse_namevalue_pairs(). I would
appreciate (but not insist) if you also added recognition of "msi"
at this occasion.

> +        else
>              uart->irq = simple_strtol(conf, &conf, 10);
>      }
>  
> @@ -1760,6 +1774,9 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
>  
>      ns16550_init_common(uart);
>  
> +    if ( strstr(opt_com1, "poll") )
> +        uart->intr_works = polling;

Is strstr() really appropriate? Shouldn't it simply be strcmp(), with
there not being any other sub-options in the non-x86 case?

Plus the question remains of it necessarily being com1: Is there no
way with DT to have multiple serial ports (e.g. one for the console
and one for a debugger)? If there indeed isn't, then unconditionally
using opt_com1[] here is of course okay, but then opt_com2[]
is effectively a dead variable and recognizing "com2" on the command
line (rather than spitting out an error) is then also a mistake. IOW
in that case both would want keeping x86-only (with a new #ifdef, as
we certainly don't want to have com1 and com2 stuff in separate
places).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 13:43:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 13:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584776.915594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGoB-0000hq-78; Wed, 16 Aug 2023 13:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584776.915594; Wed, 16 Aug 2023 13:43:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWGoB-0000hj-4L; Wed, 16 Aug 2023 13:43:35 +0000
Received: by outflank-mailman (input) for mailman id 584776;
 Wed, 16 Aug 2023 13:43:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hDLr=EB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWGo9-0000hd-RX
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 13:43:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3d3a1a1-3c3a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 15:43:32 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 05EB44EE0737;
 Wed, 16 Aug 2023 15:43:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3d3a1a1-3c3a-11ee-8779-cb3800f73035
MIME-Version: 1.0
Date: Wed, 16 Aug 2023 15:43:31 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <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>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
 <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
 <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
 <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <25f65f8cf633d72dc2f829fa9cd74f08@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 16/08/2023 13:23, Jan Beulich wrote:
> On 16.08.2023 12:47, Nicola Vetrini wrote:
>> On 16/08/2023 12:31, Jan Beulich wrote:
>>> On 16.08.2023 12:01, Nicola Vetrini wrote:
>>>> On 08/08/2023 11:03, Nicola Vetrini wrote:
>>>>> On 04/08/2023 08:42, Jan Beulich wrote:
>>>>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>>>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>>>>>> Rule 2.1 states: "A project shall not contain unreachable 
>>>>>>>>> code".
>>>>>>>>> 
>>>>>>>>> The functions
>>>>>>>>> - machine_halt
>>>>>>>>> - maybe_reboot
>>>>>>>>> - machine_restart
>>>>>>>>> are not supposed to return, hence the following break statement
>>>>>>>>> is marked as intentionally unreachable with the
>>>>>>>>> ASSERT_UNREACHABLE()
>>>>>>>>> macro to justify the violation of the rule.
>>>>>>>> 
>>>>>>>> During the discussion it was mentioned that this won't help with
>>>>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>>>>>> effectively nothing. You want to clarify here how release builds
>>>>>>>> are to be taken care of, as those are what eventual 
>>>>>>>> certification
>>>>>>>> will be run against.
>>>>>>> 
>>>>>>> Something along these lines:
>>>>>>> 
>>>>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to
>>>>>>> actually
>>>>>>> assert and detect errors, but it is also used as a marker to tag
>>>>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't
>>>>>>> resolve
>>>>>>> into an assert, but retains its role of a code marker.
>>>>>>> 
>>>>>>> Does it work?
>>>>>> 
>>>>>> Well, it states what is happening, but I'm not convinced it
>>>>>> satisfies
>>>>>> rule 2.1. There's then still code there which isn't reachable, and
>>>>>> which a scanner will spot and report.
>>>>> 
>>>>> It's not clear to me whether you dislike the patch itself or the
>>>>> commit
>>>>> message. If it's the latter, how about:
>>>>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
>>>>> unreachable code, which
>>>>> constitutes a motivated deviation from Rule 2.1. Additionally, in
>>>>> non-release
>>>>> builds, this macro performs a failing assertion to detect errors."
>>>> 
>>>> Any feedback on this (with one edit: s/a failing assertion/an
>>>> assertion/)
>>> 
>>> The patch here is kind of okay, but I'm afraid I view my earlier
>>> question
>>> as not addressed: How will the proposed change prevent the scanner 
>>> from
>>> spotting issues here in release builds? Just stating in the 
>>> description
>>> that there's a deviation is not going to help that.
>> 
>> There is a deviation already in place. At the moment it just ignores
>> anything below an unreachable ASSERT_UNREACHABLE(), no matter what 
>> that
>> macro will expand to.
> 
> What do you mean by "in place"? docs/misra/ has nothing, afaics. And
> automation/eclair_analysis/ECLAIR/deviations.ecl is merely filtering
> things out of reports, aiui. (Plus of course there should be a single
> central place where all deviations are recorded, imo.)

The second statement is not quite correct, as some of the configurations 
instruct the
checker how to behave.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:01:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584784.915604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWI1K-0000kp-RA; Wed, 16 Aug 2023 15:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584784.915604; Wed, 16 Aug 2023 15: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 1qWI1K-0000ki-O7; Wed, 16 Aug 2023 15:01:14 +0000
Received: by outflank-mailman (input) for mailman id 584784;
 Wed, 16 Aug 2023 15:01:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8IcS=EB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWI1J-0000kc-6y
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 15:01:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2087.outbound.protection.outlook.com [40.107.7.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb86fb83-3c45-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 17:01:09 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9516.eurprd04.prod.outlook.com (2603:10a6:150:29::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 15:00:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 15:00:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb86fb83-3c45-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bu/ZseUm+1s2Qdak7go5J00W038qU6qtl/AOGJkUkjVRboBnw7FF6OEuF5YzBPBFBzomTEis+i9OK1pdzHw0TGmHmMn7Rw354ohPEny7VPpNVFLtXqjpyr6Iw8RgboCZfQQu6htPHLhhbpQ7ZWcyyU6S7EnRlA6ife3rqyWMZY6xr4Whiex/TcXvA0o648+wZVd1nhbUbUFqArEhRen2ljm1/f+QwyredHWPwm2KB53ztgeNtWtalDQLeqTZvQT3QboyA1ttBh/NmOvFWfz/ZHLe90fo3NDMmZ2TmxOFTpOCoBbAYExa7Bh2MWJP7kw7ATC4hZTtGp8yomXN+15x6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hpnqXi8rpyW0Hb23+J2eE8dJT2/LcPx8FBUMRcIjchE=;
 b=g2Xumkdq3TZAT2/1lMPJAy63fd+pUpnC7JgaxRDzgwiLZZgm/O3ojD7SVEI9q5+/jBQT1GZgpAL32WCFZefer4UbRbksSgmgyewyaoiV1O7mMMnPQZxfxQGJJUWCxmBpHhlgEG0lOSliOVGjd3RbQ7pOJdu+dv/n7WT11lMhS9qrZ1yNN65xRbw9IvIjLTTozCo/EaHEvZ/RTCT+AfXO3eOKeqnOI5uuIM1h+9G7vEb3DfE5VeKYixt8JR2Y10I1Pn5Cyxyj8bR1yJUw+RxMYxJIP5xDS/B8AYcUTycE5xsUPNhLRXsRcWg8zEOkqsbRsImAAFu2RAhZKHAqZKWOXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hpnqXi8rpyW0Hb23+J2eE8dJT2/LcPx8FBUMRcIjchE=;
 b=d1ql/Phvpbt2sXTQLq7O28e8iDRVD8zgtGWF4TIbMD7lRWYd87CJi8yLgpyUQ61Srk9ipvM0QnOIZf6RWKC4IVySTG4+o+28jYeBY3FnV2FGhpPqBHMcSxJteZWSCEk+u0EBzV0+yjcf7E5n9Di8k9hjtN/pjywrj0y04PF38Bs9IL6ptxNU0gWWWAQld9KNayi7UY1XN218tITeGFineXgS9/ccBgHzTvJHpH2jKdR1V3Oh/9nujgcSVv6tEbeSPl1KsDXC9UQRZA2s7ZKcxUTGS2S6WAddqwyBKigKUqyNDKbAwULBJvuAbqbWFz0rEgpirRgr6LeUqpMBZFoU0A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0f53bdb4-73be-9545-f93a-0bb6af2cdbde@suse.com>
Date: Wed, 16 Aug 2023 17:00:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
 <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
 <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
 <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
 <25f65f8cf633d72dc2f829fa9cd74f08@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <25f65f8cf633d72dc2f829fa9cd74f08@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0081.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9516:EE_
X-MS-Office365-Filtering-Correlation-Id: 37835549-8086-4e9e-c594-08db9e698cb3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MumEOWCWRcCE4uDEGHkvmusHIrXGEPJa0fCkQx1fidMAV0XXxcWYaTlaL1ep8WxgRbwVzdRhS7Y94GhDIIPj8Q27CpK/ceSMlfPE/6xXCima1gWmoFZErzv/c1/CK5aEhEWfFCAgroUdr4Mspoqw2GVEojqptMlGw4zJnXuaCOrW9mjw62okyhEZf9QkxBCCCS7wNCmDAq8eGOLGnOk06eTHcyrmERkyxIAdmspY0SupMSPFurOfBmUTQrcWUNZfqFyaDJz3VVp8Tkp7uLvt0DEzXGgLLZWEYE7uxZSZR0DTM5AvfxKEjYqQTdp4A8m+QA9yWr8pwHiqi0Noe8BsObV71ngP8JslJkDOcu2GNHqtKqt8QqtQXor1VUvKlf2Gz9IsSYAGr4Ha5qo/i2sRhutFITJxIdBM8ZfjvFj/78JU5aPe/kxnRqbB4ITkrsG8tJfz4TFW06drFa3d606w0KpljHB94Ps19UQzCUxb9HfdW3o15bhTBrXyBuWZYA6IPzJSWa3B3+J7q7jrXX1plXVACAwO52AJBPIGkdpl5FVKWBF5zWuReVbO+c4r+VbZzdKBw/hmK+Cgb/CCAYL9fOSwMs2i2RS4+yzWTE0smf0drHqUuk6tUxFzfKgpSzw2NpFzpYh+qu8oZLM21IEa8w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(7416002)(86362001)(31696002)(6512007)(53546011)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFRDZUlKeEtCU2ZVN3F0b1E3eDBDZXVPOVkxQnMzUGtaOTB0Qk5uUDZLK3VG?=
 =?utf-8?B?S3lpeXZxYWxSZEUrRi9WN1lYcTkwRTJJZDRSZ3g5SU1pSzdWU0lXTkJYU0FG?=
 =?utf-8?B?Tmpwa09DMHR2eEdRT3JXRGQ4RkhmYldyUW9hVWVlOEZLMUFWaGxIcTd0NHp5?=
 =?utf-8?B?N01ucXBwY3BzT1l3Q3BwK2U4aWFCMzhCVVcyTlZPR1prbnlJOXowMTZXdkVm?=
 =?utf-8?B?WTBsTUIvUzBod2ZHUW54U1YwTWVxS0pKNW9ncksxdVZsWlduUUl2Mnpxc3N2?=
 =?utf-8?B?dmJBN0lIdkNjRlBjd2FWbHpyUTRRaGRvWFZ0S2ttbnlKMTc0Y2hEN1k0MmZQ?=
 =?utf-8?B?b3dOeUhCaU9ONGZDR3p5ZktpTElTRmxYQSttY2hqdExpTytKUVY3TU5pQmdu?=
 =?utf-8?B?WnVXZkpGazRleVVEVytoQm9lSUhPaTBHcVBvUzFqSC9HVWNteUgxRzd3MVFK?=
 =?utf-8?B?N2FHa20vaFhoK0lpYzlXaWtuZkhEZ3lLWkNRNGlhb3dqSC9GWVBCa3JMenIr?=
 =?utf-8?B?Y1l5YlhzWkJRZlBCUzZMVjRhVTVtVDl2aTFtK0o5M2VLZWh2SllDU05rd21N?=
 =?utf-8?B?U0w4WTJhNkh0MFpCZ3lLOEJFUW5OdFpmcTZiVUdkT2d3SFd4NnZXcG1oeEZD?=
 =?utf-8?B?S21XTFB1TEZtMFhSMmNsb0JPOWVzTFBmZFN4dUpKL1lyTWtmYk1tS3Y4elA3?=
 =?utf-8?B?cVFsVzFEMHBrRkhBeUp1ZHZkZUFubWR2cVdBajUrSjVocDUySEtQV0QvNFZS?=
 =?utf-8?B?TXhtQSs2TmVyMVlSSEFPR2lvNjBhYktBYkRMMGFoaThoSFhrSlZqQnZacm5p?=
 =?utf-8?B?TlNsQnRKd3lueCtBSTlVQlFEVFgxYzdmVzRELytHRXQxQ0ZJSWgzVjUrWmxa?=
 =?utf-8?B?OStBcTRVMkxpaHlKQTRKN0orM0FML2RENXc3b1ZXN2hOTmtONk9obnZ4eUN4?=
 =?utf-8?B?bDlTWW5TWGI5UElDL0g0bUdDZjRhbE40NWxtYmtMTVFKUkR1dUhYL0Q2Vk16?=
 =?utf-8?B?NTR0bXJCYXJUNkxweUlLS2hNb2x2Q2JEVmhnN3JRcldNSmQ5REF1eGlrOVQ3?=
 =?utf-8?B?NmVGM3VETUVXcFArS3Myems1NnB2SU9pZVlPY1ErOEFDaG9yUFpUQUNNVkpu?=
 =?utf-8?B?ODdtclNiMGxudXp5K0ZWQThUVjRQNHlDeS9PL3ROS3I1K0Q5U1locTNyZVhZ?=
 =?utf-8?B?dGZqWUZkSDJ5djJPMTUyS3BCUUpJWWk0MGs5bHh5a1pUcmJRZUxwTzNCZmQ4?=
 =?utf-8?B?RUtwN3BsdVlEMWdWeEtPSFc2cXJsMm5sV2N5NzVOYy8zUDJrQWppaTNIQjY4?=
 =?utf-8?B?OEdDVm9ucnN6WUpUbFhwVUNvYXJBZkxPTGFlbTZjSXFWZmlUVlIwd1Uwemlw?=
 =?utf-8?B?TmgvZm0xQU9ycjRMYm1GSUNhSjJneUpxS0MrZE83UEUxQm9BalB5WklsUGlL?=
 =?utf-8?B?TEZvYklmSjJPMkRaU2dYekpLbTNnVVh6QXNGS0dqRWN3V0JrVkdjRGZZdHBN?=
 =?utf-8?B?dk5zTWNkcVFOZlNOZGlSOW1raEcvWjFDd2pqak5FbVZ3bFJnNkg3SGQzWUla?=
 =?utf-8?B?bE1xdSthNllHYkE3b2hFdnlXUVVIRUVNazN5TENCTXJRN1VxZjJoQmQvS2M3?=
 =?utf-8?B?cXptT3VaZUpmQVprREgrQ05xei9aalBFRmxnSTBzc0NzMjQrOHpsbDVUUlRm?=
 =?utf-8?B?USt4U3RLT0lRV0MzY0FMZmNEUllQZUU4T21sK3dQb0FnRmhxTDZBMlJOaGFQ?=
 =?utf-8?B?SzlNZkI5c3NTK0JZUmp5M3lQV0xqWkpPeUlIM3MxdlMrZWtscHM4SkdaWSta?=
 =?utf-8?B?Q3NVRXVWQXo1cm1HSjU0V2YzcHFVK1RsRmVKRFh6WjBQcnZiSUR6aTIzamxl?=
 =?utf-8?B?ZWYzMWpKYW9vRC9kVjhrdWF4UkJURVFuMGV6MTdOaW12VW9teFU4S2J5MGZp?=
 =?utf-8?B?VEVHbWw2Ym1tY08rQUR1c3JNcktjaWNOSHZ0ZWFuR0JyWVI4TEZLOUxFME81?=
 =?utf-8?B?S3RIUXJTVXM5b3dreFdqR2UraUhOWmVkWUdTMm9SREo0a1F2cnRDOEJiSnk0?=
 =?utf-8?B?N3dTQmFvdkc4V0RmTStUK1I0d0xacXlxQTdMaHFVQnVOMStGZGczSjAwUVFH?=
 =?utf-8?Q?orp+BEdiH3CIt4TmW/UA5X99/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37835549-8086-4e9e-c594-08db9e698cb3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 15:00:37.4098
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SL7uyqCcki1Mvk17QkQjYSLx0FCJnLSjZZK1B40EEz2M0gtC7aFhGaI9f40Bf5++RB66TlZ3oKtblFcc7zIrxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9516

On 16.08.2023 15:43, Nicola Vetrini wrote:
> On 16/08/2023 13:23, Jan Beulich wrote:
>> On 16.08.2023 12:47, Nicola Vetrini wrote:
>>> On 16/08/2023 12:31, Jan Beulich wrote:
>>>> On 16.08.2023 12:01, Nicola Vetrini wrote:
>>>>> On 08/08/2023 11:03, Nicola Vetrini wrote:
>>>>>> On 04/08/2023 08:42, Jan Beulich wrote:
>>>>>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
>>>>>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
>>>>>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
>>>>>>>>>> Rule 2.1 states: "A project shall not contain unreachable 
>>>>>>>>>> code".
>>>>>>>>>>
>>>>>>>>>> The functions
>>>>>>>>>> - machine_halt
>>>>>>>>>> - maybe_reboot
>>>>>>>>>> - machine_restart
>>>>>>>>>> are not supposed to return, hence the following break statement
>>>>>>>>>> is marked as intentionally unreachable with the
>>>>>>>>>> ASSERT_UNREACHABLE()
>>>>>>>>>> macro to justify the violation of the rule.
>>>>>>>>>
>>>>>>>>> During the discussion it was mentioned that this won't help with
>>>>>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
>>>>>>>>> effectively nothing. You want to clarify here how release builds
>>>>>>>>> are to be taken care of, as those are what eventual 
>>>>>>>>> certification
>>>>>>>>> will be run against.
>>>>>>>>
>>>>>>>> Something along these lines:
>>>>>>>>
>>>>>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to
>>>>>>>> actually
>>>>>>>> assert and detect errors, but it is also used as a marker to tag
>>>>>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't
>>>>>>>> resolve
>>>>>>>> into an assert, but retains its role of a code marker.
>>>>>>>>
>>>>>>>> Does it work?
>>>>>>>
>>>>>>> Well, it states what is happening, but I'm not convinced it
>>>>>>> satisfies
>>>>>>> rule 2.1. There's then still code there which isn't reachable, and
>>>>>>> which a scanner will spot and report.
>>>>>>
>>>>>> It's not clear to me whether you dislike the patch itself or the
>>>>>> commit
>>>>>> message. If it's the latter, how about:
>>>>>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
>>>>>> unreachable code, which
>>>>>> constitutes a motivated deviation from Rule 2.1. Additionally, in
>>>>>> non-release
>>>>>> builds, this macro performs a failing assertion to detect errors."
>>>>>
>>>>> Any feedback on this (with one edit: s/a failing assertion/an
>>>>> assertion/)
>>>>
>>>> The patch here is kind of okay, but I'm afraid I view my earlier
>>>> question
>>>> as not addressed: How will the proposed change prevent the scanner 
>>>> from
>>>> spotting issues here in release builds? Just stating in the 
>>>> description
>>>> that there's a deviation is not going to help that.
>>>
>>> There is a deviation already in place. At the moment it just ignores
>>> anything below an unreachable ASSERT_UNREACHABLE(), no matter what 
>>> that
>>> macro will expand to.
>>
>> What do you mean by "in place"? docs/misra/ has nothing, afaics. And
>> automation/eclair_analysis/ECLAIR/deviations.ecl is merely filtering
>> things out of reports, aiui. (Plus of course there should be a single
>> central place where all deviations are recorded, imo.)
> 
> The second statement is not quite correct, as some of the configurations 
> instruct the
> checker how to behave.

Well, I was referring to the one setting relevant here, and I added "aiui"
to indicate that I may be misreading what that file specifies.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584791.915617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWI6z-0001Se-LD; Wed, 16 Aug 2023 15:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584791.915617; Wed, 16 Aug 2023 15: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 1qWI6z-0001SX-IB; Wed, 16 Aug 2023 15:07:05 +0000
Received: by outflank-mailman (input) for mailman id 584791;
 Wed, 16 Aug 2023 15: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 1qWI6y-0001SR-Fb
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 15: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 1qWI6y-0002Yn-20; Wed, 16 Aug 2023 15:07:04 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWI6x-0003bY-Rt; Wed, 16 Aug 2023 15: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=l/xeI4XevecRUiJR7DJPSF3CPoZibyFBZ9rLXM5zs/Y=; b=Pq8QXt2V2s00rNjSO6xn2DA7yG
	pxvZivbDWwKIgBBB8egP/y+zFvrvlTX/qq2+BtVx64wq7PIwFPApU+ZHl8Uk64CCQITeCXuMbfkHO
	OM1Xfl/ayQj90TIlbblvtwzYIqHHlqpmwOnC9rqgNZAOeGUWsmRSkWP9WohD1zAqrw30=;
Message-ID: <53027136-7008-4afe-b092-eb51f7242dcb@xen.org>
Date: Wed, 16 Aug 2023 16:07:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v11 03/14] xen/arm: ffa: send guest events to Secure
 Partitions
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>,
 Marc Bonnici <Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
 <20230731121536.934239-4-jens.wiklander@linaro.org>
 <EF204A13-A736-4C20-BF4F-94B609F488F8@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <EF204A13-A736-4C20-BF4F-94B609F488F8@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16/08/2023 10:40, Bertrand Marquis wrote:
> Hi Jens,

Hi,

>> On 31 Jul 2023, at 14:15, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>> /* This function is supposed to undo what ffa_domain_init() has done */
>> static int ffa_domain_teardown(struct domain *d)
>> {
>>      struct ffa_ctx *ctx = d->arch.tee;
>> +    unsigned int n;
>> +    int32_t res;
>>
>>      if ( !ctx )
>>          return 0;
>>
>> +
> 
> NIT: this extra line should be removed.
> 
> @Julien: are you ok to fix that one on commit ?

Yes I can do it.

CHeers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:18:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584798.915627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWIIC-00031j-Ky; Wed, 16 Aug 2023 15:18:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584798.915627; Wed, 16 Aug 2023 15:18: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 1qWIIC-00031c-IJ; Wed, 16 Aug 2023 15:18:40 +0000
Received: by outflank-mailman (input) for mailman id 584798;
 Wed, 16 Aug 2023 15:18: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=hDLr=EB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWIIB-00031W-1Z
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 15:18:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c41078b-3c48-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 17:18:37 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D05D84EE0737;
 Wed, 16 Aug 2023 17:18:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c41078b-3c48-11ee-8779-cb3800f73035
MIME-Version: 1.0
Date: Wed, 16 Aug 2023 17:18:36 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Remove unused function 'do_trap_fiq'
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <21c76788cbf4b79d4b77721cbdb956ca@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

Hi,

the function mentioned in the subject, defined in 'xen/arch/arm/traps.c' 
seems to have no
caller (either from C code or from asm code), so I think it can be 
safely removed, unless
there's a reason for it to remain in Xen.

Regards,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:26:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584805.915637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWIPF-0004aY-CR; Wed, 16 Aug 2023 15:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584805.915637; Wed, 16 Aug 2023 15:25: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 1qWIPF-0004aR-8R; Wed, 16 Aug 2023 15:25:57 +0000
Received: by outflank-mailman (input) for mailman id 584805;
 Wed, 16 Aug 2023 15:25: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=hDLr=EB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWIPE-0004aL-Ne
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 15:25:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30bd91ff-3c49-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 17:25:54 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id F293A4EE0737;
 Wed, 16 Aug 2023 17:25:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30bd91ff-3c49-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Wed, 16 Aug 2023 17:25:53 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "stefano.stabellini@amd.com" <sstabellini@kernel.org>, Michal Orzel
 <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, Ayan Kumar Halder
 <ayankuma@amd.com>, consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, roger.pau@citrix.com, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Placing of the documentation for MISRA C:2012 Directive 4.1
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <95a86d69e97eb127a26f65cceb87e3bf@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

Hi,

it has been agreed during past MISRA meetings that Directive 4.1
("Run-time failures shall be minimized") shall be dealt with by 
documenting
how in Xen such runtime failures are prevented, so by preparing a 
document analogous to
docs/misra/C-language-toolchain.rst.

A common way to deal with this in ECLAIR is to create an header file
and include it in at least one file that is part of the analyzed build, 
so that the
checker can see it.

One obvious candidate for this is having a .h file inside docs/misra 
that is included
either by a dummy .c file inside the same directory (and then build the 
docs in the analyzed
configuration) or somewhere else (I came up with no
good places where to include it).
It could also be a standalone .c file somewhere else, but I don't think 
this would be the preferred way.

You can see a possible draft of the structure of this file here [1], but 
providing the content
here would require a substantial amount of collaboration with people 
having a broader
knowledge about Xen and its practices to prevent the runtime errors 
delineated here, so
a possibility is making an RFC patch to gather some inputs to fill the 
sections appropriately.

As a side note, the directive should be added to docs/misra/rules.rst. 
It can be part of
the patch addressing the violations, tough.

[1] 
https://github.com/BUGSENG/eclair_demo/blob/main/ECLAIR/MISRA_C_2012_doc.h

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:28:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584811.915647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWIRK-00059U-MA; Wed, 16 Aug 2023 15:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584811.915647; Wed, 16 Aug 2023 15: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 1qWIRK-00059L-Ja; Wed, 16 Aug 2023 15:28:06 +0000
Received: by outflank-mailman (input) for mailman id 584811;
 Wed, 16 Aug 2023 15:28: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 1qWIRJ-00059F-JK
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 15:28: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 1qWIRI-00037A-Rg; Wed, 16 Aug 2023 15:28:04 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWIRI-0004G2-J3; Wed, 16 Aug 2023 15:28:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=JCUI9GTdwu32oXbCuZ+3Qj8k6VZ1ahZmyXyVCFOdZbo=; b=XYf3bp2kn9VOzo3SlfGjgibIUD
	aSmTH3ZV4scx4LPl08o7IOjuLXCXnBFpEKId0nu16Wd0JDGWxYmusnNzU8eIqgunvF08yoo0qRzYg
	5NVA5OShiXTUoJy3PVIvCz+ReTKh5vcLx20+8fpNAJJ2qDv7IEfoYGpfnyX7KBuULOCg=;
Message-ID: <85fa02a8-7a19-4bca-89d7-6036038def4d@xen.org>
Date: Wed, 16 Aug 2023 16:28:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Remove unused function 'do_trap_fiq'
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <21c76788cbf4b79d4b77721cbdb956ca@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <21c76788cbf4b79d4b77721cbdb956ca@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16/08/2023 16:18, Nicola Vetrini wrote:
> Hi,

Hi,

> the function mentioned in the subject, defined in 'xen/arch/arm/traps.c' 
> seems to have no
> caller (either from C code or from asm code), so I think it can be 
> safely removed, unless
> there's a reason for it to remain in Xen.

This is used by the arm32 code in arm32/head.S:

trap_fiq:
    vector fiq

where the macro vector will call do_trap_fiq.

So we need to keep the function around and a definition. Although we can 
move the function to arm32/traps.c but this is somewhat unrelated.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 15:47:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 15:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584818.915656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWIkA-0007nW-63; Wed, 16 Aug 2023 15:47:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584818.915656; Wed, 16 Aug 2023 15: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 1qWIkA-0007nP-3M; Wed, 16 Aug 2023 15:47:34 +0000
Received: by outflank-mailman (input) for mailman id 584818;
 Wed, 16 Aug 2023 15:47:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWIk8-0007nF-LV; Wed, 16 Aug 2023 15:47:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWIk8-0003eH-EA; Wed, 16 Aug 2023 15:47:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWIk7-0000Tm-WA; Wed, 16 Aug 2023 15:47:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWIk7-0007oZ-VU; Wed, 16 Aug 2023 15:47:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YlYa/SvPN3i1bP2VIhv+zKACmaTXzfOy7/bnMd+DVds=; b=G9ieix+Bp3khIwnwJ7rYEssy57
	MXF6D8AwJMefx6kdESmMxrR4kSgeHPO0P4Zv0lV/N/HoYtkq6SjnojJZkJ/RLnyZCkWBAvXnB/DF3
	ilsfZX08JXU6f1MGjG88one1pPqBWA7TTyWGzkti51DovD5IqXu/RvlbZ08lR6HISq3g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182355-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182355: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:xen-install:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0d52116fd82cdd1f4a88837336af5b6290c364a4
X-Osstest-Versions-That:
    qemuu=408af44d04476c633065bfb1eca6865ea93f2984
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 15:47:31 +0000

flight 182355 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182355/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt       7 xen-install                  fail  like 182338
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182338
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182338
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182338
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182338
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182338
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182338
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182338
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182338
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                0d52116fd82cdd1f4a88837336af5b6290c364a4
baseline version:
 qemuu                408af44d04476c633065bfb1eca6865ea93f2984

Last test of basis   182338  2023-08-15 05:38:45 Z    1 days
Testing same since   182355  2023-08-16 02:55:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   408af44d04..0d52116fd8  0d52116fd82cdd1f4a88837336af5b6290c364a4 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 16:41:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 16:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584827.915666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWJa7-0006Do-2G; Wed, 16 Aug 2023 16:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584827.915666; Wed, 16 Aug 2023 16:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWJa6-0006Dh-VX; Wed, 16 Aug 2023 16:41:14 +0000
Received: by outflank-mailman (input) for mailman id 584827;
 Wed, 16 Aug 2023 16:41:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wzLC=EB=citrix.com=prvs=585ac1913=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWJa5-0006Db-Vm
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 16:41:14 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2c2d666-3c53-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 18:41:09 +0200 (CEST)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Aug 2023 12:41:06 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5930.namprd03.prod.outlook.com (2603:10b6:806:111::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 16:41:02 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 16:41:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2c2d666-3c53-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692204069;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=1I/oa+HA8alMNa5YamCPESHe8lAmuHeV1fV6o41DL1c=;
  b=czrB83hsdtHqqaNocCI1YK8yhS3Eeel4KikroJTE/UZ5ZF37nXmOzCVJ
   FOYu2gme80IJ7B+gGzDcArDBvIkIWppdwlzweIvNxOm/tgdlWPXN2nnEO
   pXTDkZ5Mfx8Yx8So3IBUBAq9sJ4K6tnLfa9Cd5DftKKFLj31glAjaaqbb
   8=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 119551495
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Wr0OP6MOEjUDTqDvrR2SlsFynXyQoLVcMsEvi/4bfWQNrUol1TQFn
 WYaDWHTPavcY2Cgco0kbti29h8P65DTz4BnGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5wJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rZ8Cm5J9
 fUBEmAMUSyY3Oaa65W2bMA506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujeMpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxHKmBdtOReDQGvhCu2OD6UojVDkqEny2juWFjm/nfdsYN
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWWRGyc8PGIrDq0ESkTMWIGIyQDSGM4D8LLpYgyilfDS4hlGavs19ntQ2ivn
 HaNsTQ0gKgVgYgTzaKn8FvbgjWq4J/UUgoy4QaRVWWghu9kWLOYi0WTwQCzxZ59wEyxFzFtY
 FBsdxCi0d0z
IronPort-HdrOrdr: A9a23:TtftwKHnphHs4UXCpLqE5seALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPHPP5gr5OktBpTnwAsi9qBrnnPYejLX5Vo3SPzUO1lHYSb1K3M/PxCDhBj271sM179
 YFT0GmMqyTMWRH
X-Talos-CUID: 9a23:xK2uuW5PDFT9UOqus9sspEUfFccle2TnnHbvH1TjDUpCb7CzYArF
X-Talos-MUID: =?us-ascii?q?9a23=3AL5Mlmg5H/Bh8NZTIDB2J5zwPxoxT3bSBLnBRtal?=
 =?us-ascii?q?BnMSrKRB0Gm67hXOoF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,177,1684814400"; 
   d="scan'208";a="119551495"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Coy9L3xvnh0Pb0HHEQW1w/aR7O+MiY7CPS9ZRhoufeTpbg/n9rgjISPK/zoBXGiNGsYJcL7Zfa4mqkDNo/qTXgIvL4ckOAGgJcBgRYcW0a4RmvotY65R9gfoihK66XovuukHUuTO7jR10nJ9U7Ftb+nrYLPHnl50SrZb2iQ4dZxOL/fTB7seTAB7NjD3UfMdUWUp0FlbsPy++0pmFYdC4idejaZMNvEmuw3avBe/HgcZZ0JVZ7Yq0brnv04qKS9codRKJ6AYqbq+Fjj3S9d4pnlKEQLVDkiMe+F7a50NHjVRnSoLtmnaWCtN+q7aQcDHdY+5oCcNaQI6EJ7dLs/kuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6FS2bbKXyDp42lV0RI7bXU1c7JdM1KgxAv1nTGVl/wU=;
 b=TTjdie5Z6+pGYTkunxbg8yB/eH2Y6WbCMXkBymE++z5ubgetefNOAPqhBS4o3U+F4mQ1PTrP6G1fqOAUn/zzR9wLiY6+R7p8W/7chmQ4fP4wzX4QPraSHS2gcgpt/Z+LhbmXab0gT3fGRbONhdhjfqfFIiN5rSVThpc1eIHu2yBdeMQrj4U60uEh9UhysPOO4zrm9WsoatETnRml42cPW18+3ZNpaDQ5Mn9L9Y8KOjNypcq5s/hwpZX4PTD7iRCKnILIhOMV0ij6vQBUc6vao0KriYmuFHso8GgFJjOjVZOCH1JaG14fhroj8Oahv2jpj51sY+7Pb6qn2BMZEKCmFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6FS2bbKXyDp42lV0RI7bXU1c7JdM1KgxAv1nTGVl/wU=;
 b=FTqXqUC4d4H5lm5TcmSRR3pscXSC+GKynOrb0s8owrUQR7NrmhgR5tUr2NkcsYWCfcvGYvFQ7l1XARbQVCPN7TvXXAFKkQBcns8gCmJdVdZW6Mgtt8MVPY4imX46YMWBiS9KWLDnxppVW+8taRud991xqe3wUJor/XK73XkYVug=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6413e634-62a1-b2b3-47d7-6467926db392@citrix.com>
Date: Wed, 16 Aug 2023 17:40:55 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Content-Language: en-GB
In-Reply-To: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0092.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5930:EE_
X-MS-Office365-Filtering-Correlation-Id: d9aefb61-9feb-4c3e-0c43-08db9e779368
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nwVryYOF4Y2+g9umgzBv+YrtrIBJxrGJWdTH2QckRYpjvIuwGtYQgdHoxB8lRbyKG8qqSQlFUyclu/YzV58MUY4xgA85uNtz/v07Mk1d9gYdhRb4gIjAkPx1q90kHWtByB0W9apWnD5jsuCOSEOgNWvh5dmTssJh7hXmbAitLRCcmSxbf+MlejDilY7hHrN5J+XfJRQenIheGjIARvBCMOhwQrhfgMKWpDPu9JIuhkiJovVwsCZjIK6sTKTSnGjMCkzgWuNUsZCPbtCMNovqVwJTDszVDBy1k0WqvWzyCpGrxlqxXpUN1GrxVKTXQNY2ZIQiQNr1S2AhSJ3v9SHEk/H0ZEhdkKLX48ZJXdnly4r/qqYYX+Ffzx7+Sz6qj37bV9AG/0HI9MnYvBI0aOUtRM4pP4YFvMUOj7Hbmp8UaGAEyveUowUZbXFYLFQ/27NgcWIu6alI/b0GBRjbRwxhVTmaZsMEi1rUVV2JmkAh5EV/rOBmuxfRMinvLyt3nwIQfRzcSapjZXstqQwKtjtBTl4CMv+ijBwDpSkp3EHWiCUn0UOMPpDvB9HcXVr7qoVk0qk735OFORjqLdU/BUb87KkDMeHLFY+GFycVcwn5dqWDFMgNKKmAZZ5U7xfF33fathjr/+gjuiuBTY2StWMNRg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(316002)(54906003)(66946007)(110136005)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(82960400001)(2906002)(4744005)(83380400001)(26005)(478600001)(86362001)(31696002)(6512007)(53546011)(107886003)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rll6Kzd0OFZzZUo4Tm5zTVFnRjUvdTNpNndYWFZGemRzOHpCTHBEbllrNlpV?=
 =?utf-8?B?QlFJZnhYV0psNWxMN09WTUlISzBwc0Z5cEg3S0F0SmZKMzh6V0xpYnhoMHdM?=
 =?utf-8?B?dVp0OHlBeW9wQS9jZXp4NFM2aEprRU5iUm5sL0N1YUp0aTY1SDJQWnhPQzln?=
 =?utf-8?B?OHN1bUdFaTMxOTZ0bkE2WXdxTFVkaFZDVTd3bEhyZjJXNDEwQ3BkcS93UnAv?=
 =?utf-8?B?N1VkeEN6b0lJN2cwTDB1MExIdWFwMHV2d2tEN3pkS1ZHUzJoOEluZDNpREww?=
 =?utf-8?B?NkVLUGFvUjFUd0E2bE9mNzFxc1QvSEdNS3puOGl3WnJnL2VXQ255Rk9wSjUy?=
 =?utf-8?B?Q0JEbG5wZ21ZdkprVXgxUGRRcGorMlYrazJ4elVZTVY1YWZpa2drQlRzaVJ3?=
 =?utf-8?B?NlNwVmNqS1p3dTZCK2hWa1NyODNOMXA0elVzNzF3Z0RCRmlNMlBqNmtna0o3?=
 =?utf-8?B?SGJqQ25UdFJudGVnRk04TG81UCtOWGNKQ1NoWHcydExHRFhaeTJYd2RCdndo?=
 =?utf-8?B?eVdIbnhFTHF6QWhJdHF4TkYxZ1BmUkw0M1VKbXZjalFSaXZiZ1hVWFByUUkr?=
 =?utf-8?B?L3FiSnc2ZTQ2eDRSajMrcXl3QVNYb2psRG9iL1J2V3FBVU00RS9UYk9oV2lv?=
 =?utf-8?B?ZWhpdDVmQmVOT3hmNE9PNHBuUFc2N0t0TkRLemR2VnBvbmVYblJPK1RJdzNa?=
 =?utf-8?B?cFpOTUMza2UvN0hacVhjVURkQzYwdXpvQ2hITVZLM3lzcnBXT3d0VGFmWDhN?=
 =?utf-8?B?RjVMWmZXd3AxU05Mb0owZCtkSkdtVUhPYUN3NDJiK0hrekh6clpoaHBZczQx?=
 =?utf-8?B?RDFTeFFzWTRnMmQ1YlFIanIxM1pPSkFQWm5tOFdsc2xva2o4cjM2clE0MUpm?=
 =?utf-8?B?S0ZjY3VpZnZ3cHk4MTZ1TUJHQWJDbW84WUp5NzNpK0lPd3cwNlF4QmJ1THpF?=
 =?utf-8?B?ajQ4VzdkOFNNRTJ6Mm4vNXY3U1ovUDJidUIzTGp1a3cxampkSE1IY1V3d3di?=
 =?utf-8?B?R0JwSHRndTBjeDhsc3MrZ0JxeFcwNks2MERGY1kwSXJFeERQTVUzamkrMHJU?=
 =?utf-8?B?dWFXZ1ZLb1d5UWNMSGdTQ3pOQ1BxaGtyS1hsaUxUOTlZbEVCZmp5N2FIb1pP?=
 =?utf-8?B?azFjRG01YWlwbkkxTHpOeVhpbjYzNncrWWFmVlBQKzc5eFlFL2pvWEpqU0pW?=
 =?utf-8?B?bXlNbWYxSzhSbWxwZWozbDJkemlhUjVQVmt4d2E3aTFEb3Q3eTRmSXJHcWpl?=
 =?utf-8?B?V1FJT2hWRnRHbjZ1c0pTVXNvR3FEb1R5L0FpQlZBY1pGZGE1cXJrQVJ2U2Vt?=
 =?utf-8?B?MkJ5cTJyRjg5TFBGU0p4ZitWVjgyOTFCRUV4cGxiakpWM1BDYXdyVXhWM3pZ?=
 =?utf-8?B?RTFaRTJjNS9HcWljY21PVXpRd2J5YXI2c2xmMGVTdXhQTnJhSk1lQUVOTzRr?=
 =?utf-8?B?ZndYbzdJd2tJQlZnYWdnWHRSaGtvdEFNcnEwUThmZGs2L0xRbHVVWit4eHRJ?=
 =?utf-8?B?d1JsWXl4djBMK3duNmU0VkNaMjFIYXYvNnRkd1UyVEg3akh1Z3M5WXdDS0s3?=
 =?utf-8?B?UE9ZazQzbncwQXU0d29JdTk3VlE4STVZaHdQc2JmQWVDc3ovcjREWWMrSS9B?=
 =?utf-8?B?S1ZUaTFlOUZaN0RQT0R4L2J0QUwzZm9qRFl3aTJOVHIyMkdzUTNPdXBCbXBM?=
 =?utf-8?B?djN3RWlRSXIrSXlXU2JBdjJmelEzWmI3VUx4T2s0anpLdHp2U2tQak5rQ2x2?=
 =?utf-8?B?MkFNOTd5Q29IRnhGVHdPSzk0NEw3Nnk1ai9qYWZ1eGdSa09Sa1hLZjJMeEZB?=
 =?utf-8?B?R1pSZDlDYnIvdnNWbFk1dWkzVU5WVVNXb1NvWmRZeHJoYzBXNFpHV2N4TTZl?=
 =?utf-8?B?YW94U1h1K3RwN0RaZE84MWJzV0g4SkxzT2Q5ZGVmZ3l2enB6bGZSem94aVNB?=
 =?utf-8?B?dVNlNXN2MG9yQTd0MDh2OGw2d3ovN0tQOUJRWDZkR2dLZDFkNXJnY2VzbWls?=
 =?utf-8?B?SU5FTVJtRlRMSWZ1VjdqamE5eldrWmRhMHRYL2QvTFdxY3YyMlUzdHZRYUEw?=
 =?utf-8?B?RU4yQSt1b21HN3AxSU9wRHUxRlJzOC9MNVZYNDZhNTI3SmtnUmY0TWx4QzJO?=
 =?utf-8?B?cXNFUnFhenhWYmtPT1J6TlJHT2h4d0VDb0RBM2wrR1I0QXltdGI3ZWVmdUND?=
 =?utf-8?B?QVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/QupLGnsSJEJG5l9woJofl5LJ1sN94ycb8RKtP0OhbKk0VI9pSQlwVFI0htMnG0ugRUrsQmhPXsf7RLzbGo3Xz1fjZ2+7Eaj1qAuS5VLEf3qudjauXSsaVPbUcnOE2MrFFpkEhII9UYsqW6dW0bs33e1HbjUUzJIdSxIi4r1xZ1I39JLlsISXCgaSJ4sdzd9BNS+Xr3OtM4AQgR7Wf1NKgtJTUpfVOR4iLsbYyIiIxAcLOx3GMpQ4tLpM5aN5ZmzSCzCVbi5ctmIdNA5ME58TpcsKQlnoOZ8qcnAfvVjApkXRPYzYJizM5hrEXL6Rskjz5scETH8jFHybrsFIy77EE+gxWRyKyixMuC+EdQsmk1fdoW31MI8Ebu7v6j3qZr1ce6ILBFcl/5CBiTa441jYGB3ZABUw7oAaplIu+VWJQcCESAigS3uGXrkGmt0BuajuAkgQFwSf8AUDGycjHRTb2J4IcUATWQq8sfCe4T9F+BnNzrNfEx+qTJmPGLA+Ukt7+EK2VC4JykEyHpfx7GsrXHWXeFKd3x0u8DWbecxYdRfXBNqrpE71KQOXELmqbAbxY6400ypy8g8Uq4gb6eGf5YNCwsuvjs0dXAy51yBhfPrLfD8rI8Ljo/5qm8ZHVz9QEk0XwlVBH1nmfsx0UNoBWl89Lo/RU1D0tkqPEM/e7+GNLIwdvRwg/6atfys5Dam0cqdI3UvkcQ3lRArFIHi7ler/pG64/XYvMk+nYxjGs0vAsSOMlfScgrFH4UpQDH7DTM+5tJZ1v1CbkihDLwohM3O/s3sopmt5oax2i3maCCbm2AM4GQS8hV29L+03nxc8SqHPZv95WM+JgTS+kyGzw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9aefb61-9feb-4c3e-0c43-08db9e779368
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 16:41:01.8457
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Jij9Hg9PoFqizYfY55Y4poq1crB3He32dzonJv2iWHRuFatKNp55nO98eLBdeCiA1I9wPo78Q/UPONzZGh/KRD/HrcbcbupKZxwUun+VRx4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5930

On 16/08/2023 10:51 am, Jan Beulich wrote:
> Old gcc won't cope with initializers involving unnamed struct/union
> fields.
>
> Fixes: 3e033172b025 ("x86/iommu: pass full IO-APIC RTE for remapping table update")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although

> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -432,8 +432,7 @@ unsigned int cf_check io_apic_read_remap
>  void cf_check io_apic_write_remap_rte(
>      unsigned int apic, unsigned int pin, uint64_t rte)
>  {
> -    struct IO_xAPIC_route_entry new_rte = { .raw = rte };
> -    struct IO_xAPIC_route_entry old_rte = { };
> +    struct IO_xAPIC_route_entry old_rte = { }, new_rte;

Any chance we can make this = {} while at it?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 16:57:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 16:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584833.915676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWJpx-0007qR-Cq; Wed, 16 Aug 2023 16:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584833.915676; Wed, 16 Aug 2023 16:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWJpx-0007qK-A6; Wed, 16 Aug 2023 16:57:37 +0000
Received: by outflank-mailman (input) for mailman id 584833;
 Wed, 16 Aug 2023 16:57: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 1qWJpw-0007qE-8D
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 16:57: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 1qWJpv-0005iQ-H1; Wed, 16 Aug 2023 16:57:35 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWJpv-0004nx-9W; Wed, 16 Aug 2023 16:57:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=aRNrYoBexZ39vPV2LpVrNzAmo09ZorkSByTIKTuWfrA=; b=xeVUDf9/1CbU16Yrn6EKbKUIBV
	+iZn1LSjWy3zigqDTIBZmmA5BE2aI1lc9PbnbIs5/dgVmgSt40Fd4bbMNERTj0aCTfWVzB4ohidhZ
	lcvMV17uNgskPLyC2sUFqnzQKmmASj4prPyq80bDMcumadhAs2/kfz63ppHsAWFy48oo=;
Message-ID: <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
Date: Wed, 16 Aug 2023 17:57:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 16/08/2023 10:51, Jan Beulich wrote:
> Old gcc won't cope with initializers involving unnamed struct/union

Can you specify the newest version of GCC that breaks? This would help 
to reproduce your problem in case someone complain about this change.

> fields.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 17:38:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 17:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584839.915687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWKTh-0003wL-Cv; Wed, 16 Aug 2023 17:38:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584839.915687; Wed, 16 Aug 2023 17:38: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 1qWKTh-0003wE-9v; Wed, 16 Aug 2023 17:38:41 +0000
Received: by outflank-mailman (input) for mailman id 584839;
 Wed, 16 Aug 2023 17:38:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWKTg-0003w8-GC
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 17:38:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWKTe-0006aG-IR; Wed, 16 Aug 2023 17:38:38 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231] helo=[192.168.5.61])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWKTe-0006k7-Bk; Wed, 16 Aug 2023 17:38:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=svsk9oismRkD1EONKX7ZtEA2qSnk8Ofrtgj73++ho64=; b=13SgsYXs7DAGXHp3plMX9oMlyf
	Rn4ppGhBB6gdKF/pr6Y4g1H57S5JVVQYfluL9AzrAm6aqnFkwyBIuff/nSkUcRUc0lzTj3tk0FEkW
	EISN5u9Pbcn6XKn1DgYsMaqpyhh2VRC19GxFhpEinTnqLg2sf0RMGDPaDZsCdJcp7w+M=;
Message-ID: <4a28dd6a-3f7d-413f-8220-466ecb35a737@xen.org>
Date: Wed, 16 Aug 2023 18:38:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: Drop warning about 2M limit for ARM
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20230815161425.2202782-1-andrew.cooper3@citrix.com>
 <F246E5B1-CDDA-4E2B-860A-F966E3096F7D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <F246E5B1-CDDA-4E2B-860A-F966E3096F7D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16/08/2023 01:57, Henry Wang wrote:
> Hi Andrew,
> 
>> On Aug 16, 2023, at 00:14, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> This issue has been addressed in the 4.18 timeframe.

If you want a commit:

abb1522832bb ("xen/arm: Allow the user to build Xen with UBSAN")


>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 18:18:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 18:18:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584845.915696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWL6B-0000EO-6s; Wed, 16 Aug 2023 18:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584845.915696; Wed, 16 Aug 2023 18: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 1qWL6B-0000EH-4B; Wed, 16 Aug 2023 18:18:27 +0000
Received: by outflank-mailman (input) for mailman id 584845;
 Wed, 16 Aug 2023 18:18:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wzLC=EB=citrix.com=prvs=585ac1913=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWL69-0000EA-NB
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 18:18:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 482058db-3c61-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 20:18:23 +0200 (CEST)
Received: from mail-dm6nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Aug 2023 14:18:18 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 16 Aug
 2023 18:18:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 18:18:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 482058db-3c61-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692209903;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=1I/oa+HA8alMNa5YamCPESHe8lAmuHeV1fV6o41DL1c=;
  b=F6jPcelPMwnVkLF68L09x2Qbozygl/mjfnNtApVFwPIq4rLb/wh57V8W
   tPZlrzqTCkc+Mfa6JhN+xyo5poKto+xistDuZCS80gn4NBc+G9qm71q2o
   +uqaYl0BxtauYS4qBWMj3FduhuCFwgUg3VT/O7ddGxQrbS41hVCf+m7Vk
   w=;
X-IronPort-RemoteIP: 104.47.58.103
X-IronPort-MID: 119561169
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:J99lgaOjaGmPIGDvrR2SlsFynXyQoLVcMsEvi/4bfWQNrUol0mAHz
 GVKD2vSOvrYMzf2fYt/Pork80IPvMXcmtc2HAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5wJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0t5xICJS0
 KIyEgAIRzbfnd2O2pupQMA506zPLOGzVG8ekldJ6GiBSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujCIpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxHKmBttLSuzQGvhCv1/Q734YGBovagGnpsOCgBfgY8J4N
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWWRGyc8PGIrDq0ESkTMWIGIyQDSGM4D8LLpYgyilfDS4hlGavs1tntQ2iom
 HaNsTQ0gKgVgYgTzaKn8FvbgjWq4J/UUgoy4QaRVWWghu9kWLOYi0WTwQCzxZ59wEyxFzFtY
 FBsdxCi0d0z
IronPort-HdrOrdr: A9a23:SK2MWKA3fiof5LHlHela55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZImPHrP4gr5N0tOpTntAse9qDbnhPxICOoqTNCftWvdyQiVxehZhOOP/9SjIVyaygc078
 xdmsNFebnN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-Talos-CUID: =?us-ascii?q?9a23=3AxJaIcmld0o3yQ7m/OK6rDb6PoHHXOUXb7TTMBhG?=
 =?us-ascii?q?SM1ZsYZvJU2Co4op2meM7zg=3D=3D?=
X-Talos-MUID: 9a23:PwtF/QobChhjlshMVYsezw5gd+566LSpMX9XjZI8gMPdaxRgHCjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,177,1684814400"; 
   d="scan'208";a="119561169"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C9xhnjlzjIjz0rao6r8/uG6bZy4T2qiMbPJkWjNYQtcRoBXpZCdIhnkbg4+a2CuVSAVoU+Lh9vH9KgpJ9TAbjalEdWtPd8YM490ArejBni3x1JGt/rsMX7AViLHX7YhPyvnWYcmkamm5BLDSrjHBHTKP6+knNABdByHfcznZ2IgZCXGEomfsPM1IJeVVilkOrwD65MaaDpvyyQbe5z1ZqerC6uq0mcDV/KYB0ht1eH1pDQKXcDXrGTKbtCV7MS/V8vOnzCNFlwylMjLjQIFCeyFpuM5bmYvzIN8EyX/S64XHFBO2tHzN9ogi4obTZngF++m3vGns94EgIME62McSVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6FS2bbKXyDp42lV0RI7bXU1c7JdM1KgxAv1nTGVl/wU=;
 b=ei88w6AT21xw3gKqm3viRG1DWVfljqk7D/j0EXLPl6NLofVkj+XUB538WlRmzNOm+QmEJXclkcekOphYmEHVnQ8KMEWMo+Kou8YFb6WucE2t8peciM096eiMpXDHM4jg2uAtZzww8QkP9gpUBGnymvuD8g/LxkNES/rIHRQvMnSWqoF7WInTAsYhxZ2yARaZnVYRWOoOY8vwXm5wtfIvXadvdE5p7AcxEAZ9H5kBahC+vNMBJ6Q0UoF+ZY7ihpYhMwqHKf1HKw4SV0zea/ul2uu69gtMEVyA8ydHfZl6kZjIRW+MDVzJgFUPQtw3J4C9bYxMiInnIZX4U3CY+XBsLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6FS2bbKXyDp42lV0RI7bXU1c7JdM1KgxAv1nTGVl/wU=;
 b=dHsErc+UvNzyg38gEC9yWqgD7Fo1ig37K9UVY71o5JUpmT2OnDmHMkZEbMeQMDZRiQuyCa93cauX1qVTKvzkKgF/JVqmPFPtdZZ34P+O5A4mtK8YJxdhDEbsw+Hti0ihBqJk68SRnYYOosd1nQolHhslKecLPMDTSE1tf5UjJPw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <95e791a5-104c-b966-b430-2de6079231be@citrix.com>
Date: Wed, 16 Aug 2023 19:18:08 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Content-Language: en-GB
In-Reply-To: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0218.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6235:EE_
X-MS-Office365-Filtering-Correlation-Id: 45c7ce51-ec92-4b8d-71b3-08db9e852767
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FANcIx745PyUbguleozTgTPVsvJa/kCOUVo0Nc2qMMgp/sw1tK1hBQDb7VwTeJWW8sWSykUlgWNR/DlrEgL0Pmzgyg5GJBQn4U5xNTAj4L/gBURFhztxdvAicrAjUQ7Vnm/hgmCRipPK7fGP4HRKjcfYGlQyAovyG4x/p9dw50v6vy5zXHTKhNDn07lOX2VaCLcJn0uCy4Rt2FUNXKLQXgUBKAWtfJVHd0Qs49MmDpjiMVW76G1kyVKOoKiw3PCeSESCxgh8BQJbvv0y6z5N9C3DrieMiRM4Vhv5enZViJBUBktaAKOimt9sOE8OVvyfRAAs3u7ywRt/urePLV5ZVswR9tLpwg+cHD5YkQBGPrE11oEkYrdzYCp43EsPMz/KiK8mTU8W/+o+v0ttZshhIsrG6kb3b+vfAgs2NMdJQX4CIxgJxLNQSQ8M4Nq4mhjmHhncAIfTcvXDBI42RiskuBMaYgV50JV7/Ob1HB14DB159z8XTlgSe5HNNa3tFdagJr27PR7LuEx/5TL71uxHE35DiQ8pEn+ytvijBLkhnNQqmZ5b7iFIhZcrg7lwsuGi5fxZTjxE/kttiGrxVch7uixDEZZwjduKLTUB+rLWDS4XjvqP2gjhk1CCYHdFNKYnK/m7TuSBdmJUkD+AemY6Ng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(396003)(376002)(136003)(366004)(451199024)(1800799009)(186009)(316002)(54906003)(66946007)(110136005)(66476007)(66556008)(41300700001)(5660300002)(38100700002)(31686004)(8676002)(4326008)(8936002)(82960400001)(2906002)(4744005)(83380400001)(26005)(478600001)(86362001)(6512007)(53546011)(31696002)(107886003)(6506007)(36756003)(6666004)(2616005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmxiS29BdTRtK2VOa1BwYXk2cXJhd2o4SGRCK3hhOW9aMVpBUVF3UHZsWHha?=
 =?utf-8?B?N2VrRStvdUI0M1UxaTlEdE51c1NENmF4aW11SFVaa0xzQWJNa3lNTVRJS0pM?=
 =?utf-8?B?TGpSVWc2RVhScC9iblFwQmdjQkRUTFBhUytKQWpXZHpFdXBCV0tkQkdHcGc2?=
 =?utf-8?B?NHZIUjhmdERmUm9uUWdNR1NXWDEyRjVtNTRza2YwVFhaVWpEY2VTM2JWWnNv?=
 =?utf-8?B?c0ZKOU1oaGZvako3TDdTODc3V2ttaGx3NXNzUEV3TFdIT2N1MkdkZnRBM2NH?=
 =?utf-8?B?M0VRTG1GQjd5dG01Q2JYcEpYbVlGSnRkWU5vdDBXT0tDWFIyanJJcG0rcHEx?=
 =?utf-8?B?bGRqZXpzOW9DUmN6U3JkZCtIMFVFOXlFNnYzZGJXci9uVzlpWUhkd0FFNmh0?=
 =?utf-8?B?dkQ0Q1ozVktKMittOHhSOWQvZWhhTHQ5bmk2VzlFZjNLVFNuRzROMGFiU1Jq?=
 =?utf-8?B?TXVnb3dqRTBHWkp0bTc4YkdLS05nenNFZlBkSEU0S25pZFJZM3Jkazh0b0R1?=
 =?utf-8?B?ZEhYK0JzengzYzFVVDZ2MmMvUzZCZkE0TVVEU0cyVzN3SjVHNjdocTRGYmZ2?=
 =?utf-8?B?ZFpmc1BTcXMzS0dWQkkxakdhOENadnZEdmp4MW11dEhRMFlIWXg3Smo3WU43?=
 =?utf-8?B?YzQzY0E4OFNEYzVTV0JleXYyUEJGMTZ3MGdzSkExOWxqOVZIV1c0YWhxVUpj?=
 =?utf-8?B?eHdWQWFmeUhPejkxdWVQcnlENncvMlA4dW9XQVR3S1BDRUxDVUZvYzVCTXVK?=
 =?utf-8?B?eTZIOTc2UElIa21UaEVWa2IrcGVTVzFKUUNxdUhRMkQvZW1FTWhSd1QzdDJv?=
 =?utf-8?B?d3k3OFpCVythb0w4UHp3TytBTFhacjJ1Rkg1Z2gzUDd1N1g2OGZ1dVJCaDRK?=
 =?utf-8?B?ci9GWkU4cVF2WkNGbEhKaDErbjhNZDUxY0VtdCt4SnF1em9SWmw1TXR3S05V?=
 =?utf-8?B?NlF1NTdJZk9zUGxEMHBJMk1jS2dFVVlvc3o1d0ZZaU0zZmdNSzdDYWZpTjlB?=
 =?utf-8?B?VFhGM1UyL0RDeXF5dUs5bXJYZEh2WkZzUlh6Y0haRDJvNCs0N2xDa2RwTit6?=
 =?utf-8?B?b3NOTWlSaVFHb2FmME5VaWIyRzFxbTB1aXNwOC9uZHVST0Y5SkE4YjJyTFkz?=
 =?utf-8?B?cmhMN1JFVmtoSm51TVBSTThsTWprOFFKdjF6M2x1Um4rNm1MTUF5SStSTngz?=
 =?utf-8?B?ZHZ5eFBmTW1zMWtBUVo1aE1GVm12V2NiV093VWlNbmkyZ1NPM1FJajV5VExH?=
 =?utf-8?B?aStXQlJWcXNORTRrNzYzaVpEdjBDRmZTOWtRejVaZkRyZjFrTE1SSWxxV1Br?=
 =?utf-8?B?VlU0emgyWElpc0F0MXZ4bkFrZEIyTXFoRDl2bTcrdnU4UUpuME1NeTI4OURY?=
 =?utf-8?B?a3o5MHZ6ZDdTRG14RnRKdWtWVVg1bFB0d1cxS3VDVEFvb1FPTTR6TlBsZDBZ?=
 =?utf-8?B?L09kMnVFVGF4Z3FTU0I3aGYxdFRtYnIwVDBFSitWRzgwK3BxeUpJRlVjSis1?=
 =?utf-8?B?aEZ5bWoxa2NTNnFUUWRiZUdVYlIxQW1HVFQyWUkwVDkxN2tzMlBhYzFpaUpE?=
 =?utf-8?B?eVU0bENrbmtDYjF3eGM5SWxrYkREZFpXT2laeEVhSlk5ZjZLOUMveXo4eGRz?=
 =?utf-8?B?Yzl1NUZIdHBaQXhZbFBzekZrREt6MGUxNWEwbXB4Z3k1QVlRME5UVTBPSllx?=
 =?utf-8?B?cVNzUnlBSTM3SDFJZFF0by9iZloyL0FXVVd3L0V1VUtpMGRHTEhpZER5U2s0?=
 =?utf-8?B?Qyt5RnlXd2xDa3d0bHpiMkU5VEtXSVF5Q0RNMmVaTTBTeWtNbHh3Q2JMY2NI?=
 =?utf-8?B?d0VrbGR4Y2E5RG5paysvc2prdjZDdUFNYWRWV1hhMnRiUTMwL0ZQOG9MZFpp?=
 =?utf-8?B?dTgxWFh6YkhqZ3RUdkcxMTRBREtMMEw3S1YwNjFTKzNsa2JqSTNtYUlhVFNZ?=
 =?utf-8?B?TlBRUjVzWjkyeUFtU0hOeGZOcEhobnFyWmNTUU9hVG82eFBmclJPWVlSUGFV?=
 =?utf-8?B?aDJxcEZGUU1QaFJwWUJvOE90N25kT2JTK20zK3FJZjNjYnJnbVVmWWJxVTh5?=
 =?utf-8?B?MzhVWlYreld4bWV5WlpURTNwVStuVmdLd2FpcHBERzdHR1F1TCtqRlQrTkpa?=
 =?utf-8?B?MzQ5QVpINmRVRUNvL0UxMkZZaTVQN243VEZPVW5aMzlTb3hlTU9VazZvT0s1?=
 =?utf-8?B?N0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	cI+Njjf/3DE/+D6iKXbrsr2cd7ufr5Qc4mJQSlB9PJ6gloqdSi3v6I274l+M0S0SmYXJ3XrcVCZV4dzKQzWcU1Y4eM2HsaROlTZCvbd8luna6SU3Hlr7DBYVztEz9/xqdG+6srWA37y695ai2uguI8zxcgY0fN2u60Jl4L7P3Ao+NyYCbAMqT9MAjkkLaBAgFIo/9XvnjA5t5knoHfhEUp+CwYn7jB7yh+/sw7X0CGADlopIypBfPL7LWEKo4W+lCY5aPQ/e0/X7Iq84XNCvmU7IoDY6foIx155Qew9sQgDegduDvU/U36p0M5+m9HjnaOicZ3OLITUstU2DkbMLXY52EIkgLEAL+gwimOdBnukte5A8KoqGU0W5Tj/C5undKjWJKBjbNrFICFjSWwo4uI5lb5sBBgH6hXAR1xQaZYpXApMUee6x8Sjw1PzuyXLvva3MheP4mLpwyPIrXei5IYSaOZWfQ6/s4J/oCfdmcNPaKJB3PbF5U1E4VH2hhJJE3lVPH6z4EHq+4p9uMES90PeDFMShL7lFks9vspCGTVRhrfTHwGiU4tWcI6aPhqI1vDuXwwPT50vPYx79J5dPeuhIS2ggJ2Z4FujhEPWfBehV/VC4z3Y/dy3Myh2NXcTjeOqp0d2/mmD3IC21xkhj95cNqI7w0PJehTeWCPZNv2aaY5WNAgzL5B1lgqdqNLjUAsU0G3OkA8X2+A5WaawEX1ShWm5CB6DN2Jo4MUOHG1RlBlnT819VMQje1RnWDCP0O+xR3NVauakRcKieJ6blQh6Ol0IzEFvJaZKBsXYQ8W3G+bBj97uBKt0pMpJy+ecry04mo1FFwL82MLI5u+zDSA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45c7ce51-ec92-4b8d-71b3-08db9e852767
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 18:18:13.5398
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Tozcg7BBMu4+h2LiNysPuq3HzRuFYNFo0cTKSAoXeGG+SEtx1c8e+8Ce/4EwFvzcvBW31LzoY4BrvcrO6UwaFp8HCI15fx6wlswkLUeCr+s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6235

On 16/08/2023 10:51 am, Jan Beulich wrote:
> Old gcc won't cope with initializers involving unnamed struct/union
> fields.
>
> Fixes: 3e033172b025 ("x86/iommu: pass full IO-APIC RTE for remapping table update")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although

> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -432,8 +432,7 @@ unsigned int cf_check io_apic_read_remap
>  void cf_check io_apic_write_remap_rte(
>      unsigned int apic, unsigned int pin, uint64_t rte)
>  {
> -    struct IO_xAPIC_route_entry new_rte = { .raw = rte };
> -    struct IO_xAPIC_route_entry old_rte = { };
> +    struct IO_xAPIC_route_entry old_rte = { }, new_rte;

Any chance we can make this = {} while at it?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 18:51:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 18:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584852.915707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLbt-0004o3-OM; Wed, 16 Aug 2023 18:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584852.915707; Wed, 16 Aug 2023 18:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLbt-0004nw-Lg; Wed, 16 Aug 2023 18:51:13 +0000
Received: by outflank-mailman (input) for mailman id 584852;
 Wed, 16 Aug 2023 18: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=5U+O=EB=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qWLbr-0004nq-Kb
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 18:51:11 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20628.outbound.protection.outlook.com
 [2a01:111:f400:7eab::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8f8add5-3c65-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 20:51:04 +0200 (CEST)
Received: from PH8PR02CA0009.namprd02.prod.outlook.com (2603:10b6:510:2d0::22)
 by CYXPR12MB9337.namprd12.prod.outlook.com (2603:10b6:930:d8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 18:50:59 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2d0:cafe::32) by PH8PR02CA0009.outlook.office365.com
 (2603:10b6:510:2d0::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Wed, 16 Aug 2023 18:50:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Wed, 16 Aug 2023 18:50:58 +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.27; Wed, 16 Aug
 2023 13:50:57 -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.27; Wed, 16 Aug
 2023 11:50:57 -0700
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 13:50: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: d8f8add5-3c65-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aOKtxMNJCn38JdKW2M6F/rNBMRmczEXA/xR/SHtG/nBfICwPi/FUEDz3E/Ex78WICMhfrAN0rVuVdodTx9u3z3GBmnzPpdpNgXS/MjTUlEbxuzMWqDpoLtf/FGlBRCYk28+mRnNwMHtplmVEscrp5Ogxyh3QI9DOQKDyDOnIV74eXEosoi8Hj21EzRMDn8rEG5XD1xlxNAXa2QhrpiIw6aKp94HCQGX/espj9n+y+9vjbg52BcKEnlpYD3ag4ILqGFrqrURr6OwG2rBdO8549LKZUJtMsWoXXVqBz3lrMeXGUMhUUOM/z7yskPfddWviT3fl+UhC8fbAD043z6OxJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4PGoDvADY51VGKbLwJxx6+/FCUwpSHNVGhsNWRTkaIE=;
 b=Ac6jht2p1HzyAYWsk5zvED+9vIF42B58lOoLpoC7LxyqzwCw+6IaTBSL3oNXlaO8rYASNdTulozk+z2vC6zLbqkDkOamKFaYrXYfVNpJAEAGF7yN1bW72HjfkhYQO3YQtM/Prh8JJ5bJInTOtH9w6RmweD6n+9U6Athnxb0W6oCPPrIt4G1O6wD37BNaW3P1U05/y6Z54x6E4sSZjNKag8n+9zwAeTcpIu9c1v8NNKyIKgtJfOkSwKeYevdGdcoUiJjfuS8nxpzEZ5dvLWJxCNC7SQou/4PLNM16+3tB0NJHehjPIlNmzho9s/uNGOUVDSmEzNVSJPs9rYuzeKp7yA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4PGoDvADY51VGKbLwJxx6+/FCUwpSHNVGhsNWRTkaIE=;
 b=tFF6oBRnErm6vWpzQ3GHH5hIYpINyuZ7Jaq7BKeaLhjzTB9K+Cmnv2yHBJ+XCB0jgJp6kMAWMH5ri0A5U1U82qWmPJbe/ftgzzS86UsFbCMzGmp5Rd6WfI4kceJ8Ki5W+MPwaI8DSZE7RnyxIrzaCBqik4a1Zs8LHpsG1htOqoY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 0/2] vPCI capabilities filtering
Date: Wed, 16 Aug 2023 14:50:27 -0400
Message-ID: <20230816185035.82994-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|CYXPR12MB9337:EE_
X-MS-Office365-Filtering-Correlation-Id: df4e714a-f49c-460f-0e47-08db9e89baa6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4VPaupVoSLXQ3+Kcr/csU/9j/kNiEbJuqsK3vj1gLGmewBgEp1uAvYNyMlJOJnWI0mWYmpB0B/WJwd88fFAQUIeT4jCMj8K6MWEN/9xEQgJzbYbhnhGWTKbwf43cj34aFpVuEoKzqBKv8JHxFPcxvZfG74xsRxk2Wj95umLGhly9f/SZ6jTnveHF9Tb7ziC+PJ2keRzCLeF0Gm1SfqmOG2rh2hbog7DZgeCTfhWsH5qb6OR97qE7S0iaZsweQFPuh5KGTSp4Z1gX4jio2JrjRcS/o6F3TgYete8y44lY3bGELoswQlA0Ix3lPFVDiVhJvjAGWYQre2fyGrNDlFlm0aivSH5s+dA/NCHlKOa97xqTXt3Z0T6OW2ifD9BE5PN0x1ydS1EyyLxq6bZeIlXU8vCWbdmz5ejRT/vGayklZdz/L5GlvS+8DeTL4xbMhrtQQkJNVMthOyi0zbzyDf79Bo1FTtKbwfd6wHUeTCHXsaVGS5tZ2dTVyldxzUQueQyeGZ4BgoUP9AQdt2y6NCLIs6+PslRhGQ9fw88Z9YL7fgMFE+NwnxzVmWflBSqTNpBOPOFqI+tKvgSeW9/6+n26TxYN99/uZDTDzmt2CRznCkmnJQFdOsbhqyq0gnQdTaMqc4iBQLg64XO8Um+iNavjYUKXzvo8xZ6hc8irkszP6I7py5rJP68ZlLstSB0QLfEOzwvqAk9l4MTBG9BTrOpEGocwlqHFsHb8yZ28cV3Ll437Nul350JB00WV0NPvLkkpttYgzCZQiqEwmezjV1OVSQ==
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)(4636009)(136003)(396003)(346002)(39860400002)(376002)(1800799009)(451199024)(82310400011)(186009)(40470700004)(36840700001)(46966006)(2906002)(40460700003)(83380400001)(66899024)(86362001)(40480700001)(478600001)(426003)(336012)(36756003)(2616005)(6666004)(1076003)(26005)(966005)(44832011)(5660300002)(36860700001)(41300700001)(356005)(54906003)(82740400003)(316002)(81166007)(70206006)(70586007)(6916009)(8676002)(8936002)(4326008)(47076005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 18:50:58.1741
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: df4e714a-f49c-460f-0e47-08db9e89baa6
X-MS-Exchange-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:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9337

This small series enables vPCI to filter which PCI capabilities we expose to a
domU. This series adds vPCI register handlers within
xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.

Note there are minor rebase conflicts with the in-progress vPCI series [1].
These conflicts fall into the category of functions and code being added
adjacent to one another, so are easily resolved. I did not identify any
dependency on the vPCI locking work, and the two series deal with different
aspects of emulating the PCI header.

Future work may involve adding handlers for more registers in the vPCI header,
such as STATUS, VID/DID, etc. Future work may also involve exposing additional
capabilities to the guest for broader device/driver support.

v1->v2:
* squash helper functions into the patch where they are used to avoid transient
  dead code situation
* add new RFC patch, possibly throwaway, to get an idea of what it would look
  like to get rid of the (void *)(uintptr_t) cast by introducing a new memory
  allocation

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html

Stewart Hildebrand (2):
  xen/vpci: header: filter PCI capabilities
  [RFC] xen/vpci: header: avoid cast for value passed to vpci_read_val

 xen/drivers/pci/pci.c     | 18 +++++-----
 xen/drivers/vpci/header.c | 73 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 18 ++++++++++
 xen/include/xen/pci.h     |  3 +-
 xen/include/xen/vpci.h    |  8 +++++
 5 files changed, 110 insertions(+), 10 deletions(-)


base-commit: d0eabe3eaf0db5b78843095a2918d50961e99e96
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 18:51:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 18:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584853.915717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLcE-00057o-0V; Wed, 16 Aug 2023 18:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584853.915717; Wed, 16 Aug 2023 18:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLcD-00057h-U8; Wed, 16 Aug 2023 18:51:33 +0000
Received: by outflank-mailman (input) for mailman id 584853;
 Wed, 16 Aug 2023 18:51:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5U+O=EB=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qWLcC-000576-Qi
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 18:51:32 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e83::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e96a47ee-3c65-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 20:51:31 +0200 (CEST)
Received: from SA0PR12CA0027.namprd12.prod.outlook.com (2603:10b6:806:6f::32)
 by IA0PR12MB8228.namprd12.prod.outlook.com (2603:10b6:208:402::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Wed, 16 Aug
 2023 18:51:27 +0000
Received: from SA2PEPF000015CD.namprd03.prod.outlook.com
 (2603:10b6:806:6f:cafe::4d) by SA0PR12CA0027.outlook.office365.com
 (2603:10b6:806:6f::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Wed, 16 Aug 2023 18:51:27 +0000
Received: from SATLEXMB04.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.6699.15 via Frontend Transport; Wed, 16 Aug 2023 18:51:26 +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.27; Wed, 16 Aug
 2023 13:51:26 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 13:51: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: e96a47ee-3c65-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nmAVue0Ok/5WWQwftJ6oj9S0Rj5kD3QStAR6bkXsuBJzpKg/Tsm8EbU+e2FkTbwW42UvJ4bxWKgBYxzdG5B5gcQ4Vn5Ht8TxJxqjzZospW1fS9ufAzSUy0RQIs5MEZFOIQB3U7/seC9TM8DQMHIodSNnYZY0OL/2DUyMdFDdJvvo/yXZ2gC+Cse+h9Ad2gE1uKYYYN3QGWNCY62NsTEZjIMKBgr+s+hPHFOSaauGUatUuQEsvptYPcXvVZjPo9W4IC52/f4uY5oiJrDzvG6tfzZds9ZdV4El3vNvqda6YCfqrylCGt9V0QoQFXsPvyD2hgvlcQ95Jb58OfkPPVkFxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ql0jXnI4Ipxpt1/ru8/r0InDW4bpinHGzCTrC/z1SG0=;
 b=kcrVplmUAMCD/9USH/wN48mIbdaoNkiyM1iy5dDbmaMgw7tjHQVGTpv0O3CEioMgZ65HgrWHyv3Ax/qMnZ/C+ALgnX9bUdeCAm+ndz8UGDtM4l/6J94EcEufR2JVdILitEcWh4aw5aYOMNPXd30XFCeJ1NTaKtpdgZ4IvCRckRq3pyfQS4P4fJM9no/2JL7D2SkDJDka44C2xg3m+SWEUPYoMUPeVGjrkiCV9hqjXSSeyjEeDRZjbI1i/uBL0/FJ6eQO+2n/zCMhkxW2G2au03r2Yjn2tRBQXXIk8/JtdK1ImWZCGjeLYmIo9++/5dLTO1g1+0jRomtwYsMDyrxxTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ql0jXnI4Ipxpt1/ru8/r0InDW4bpinHGzCTrC/z1SG0=;
 b=q4DjQN0KHKbVMExxviZK4YbXiPqO1m1TmJTAmHtuC9DIGdBWYUR2hAL62RwWOjkRzp04UbPeO47l0+1/x4s2Plhc3+Gjet3GOCsa0mHV/kJdhh4hQZzwFE2maZSlZ8nOzHlVBYRRUHGPbDNVz0aeSxuy0FZFzd2ViMz8ZGSKj7c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 1/2] xen/vpci: header: filter PCI capabilities
Date: Wed, 16 Aug 2023 14:50:28 -0400
Message-ID: <20230816185035.82994-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230816185035.82994-1-stewart.hildebrand@amd.com>
References: <20230816185035.82994-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|IA0PR12MB8228:EE_
X-MS-Office365-Filtering-Correlation-Id: e5f36781-430f-4155-16b9-08db9e89cbaf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mI8ir1tV92IwWvqhi3F8PB11XQVcsMhYFtEzMioeqyq++l5b3uwcFM2BhS5LBg+8XhrMkrIGSMTw1MZMedEBGM20pm3jhJP2h9dtHLKpOCwnXVMfE70tBMzRTB58qI8hctw52+bZ8NEuUg2zlXOUjyBGSfVCK3EwaLxy6LqB10P/M26tI+ByKhfA+Wk2Rci1PsG1iPylysxIxMx7BxOCaQodT5GxhB/IxgUorXpedbo+BhILPr3g5oBYmp1MSolEzNnaQ3WxQMG5chhqsbrr2ofRpIUssY9UDFdL1DwZiRc6QBmzerghCaPi30iS8Qi3yxh9xAOUu0tOo4DKyHIUZPB0p7r7QT1GXa0ZRestdN2BpGVvqk7mKfBdiTi00DxV+kPfP6ja62+mYOMeF3SjwkckDrJFDdf6w+PeMpjmaDTxeG07AY+uJHbVvlswh+/sfOUXUGy/XY+PlTPeFU6N23INE8JXgqG2urptHgNEvHPH8YpVLCyvIH6WIQPttXpDQ/dLCSbP/uIu7Jv3KV10qkFH9s405mJVDkdy0Y3vh895lwivI3AjO2IQF0zhkzgcoX++CyXmf2cxlY+NEAseIl+XWeVM9FBxOgVV6PxHWNsez2CJhrj6UuRrGGIeYTwwSkzQ9F1YjBjIuK6dWxoKRLIglSo5Qb8KOmqTphOsZhudjSuY9sJSybDG3pzRq2KkHUhLX9C4cnOjw2jhNbao59mRj0AAwJ5oR67f+UeNr3ESqC3BSDsgmYr/vGo6VfRraeWd2chZetpBKCYEET4aeA==
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)(4636009)(136003)(396003)(346002)(39860400002)(376002)(1800799009)(451199024)(82310400011)(186009)(40470700004)(36840700001)(46966006)(2906002)(40460700003)(83380400001)(86362001)(40480700001)(478600001)(426003)(336012)(36756003)(2616005)(1076003)(26005)(966005)(44832011)(5660300002)(36860700001)(41300700001)(356005)(54906003)(82740400003)(316002)(81166007)(70206006)(70586007)(6916009)(8676002)(8936002)(4326008)(47076005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 18:51:26.7389
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5f36781-430f-4155-16b9-08db9e89cbaf
X-MS-Exchange-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:
	SA2PEPF000015CD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8228

Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
Hide all other PCI capabilities (including extended capabilities) from domUs for
now, even though there may be certain devices/drivers that depend on being able
to discover certain capabilities.

We parse the physical PCI capabilities linked list and add vPCI register
handlers for the next elements, inserting our own next value, thus presenting a
modified linked list to the domU.

Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
helper function returns a fixed value, which may be used for RAZ registers, or
registers whose value doesn't change.

Adapt pci_find_next_cap() to suit our needs, which has no existing callers.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
If there are no capabilities to be exposed to the guest, a future status
register handler likely would want to mask the PCI_STATUS_CAP_LIST bit. See [1]
for a suggestion of how this might be tracked in struct vpci_header.

RFC: I'm not a fan of the (void *)(uintptr_t) cast for passing a value to
     vpci_read_val, but without the cast, the only alternative I could think of
     would be to introduce a new memory allocation. See the next patch for an
     example of what this might look like.

v1->v2:
* change type of ttl to int
* use switch statement instead of if/else
* adapt existing pci_find_next_cap helper instead of rolling our own
* pass ttl as in/out
* "pass through" the lower 2 bits of the next pointer
* squash helper functions into this patch to avoid transient dead code situation
* extended capabilities RAZ/WI

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg01173.html
---
 xen/drivers/pci/pci.c     | 18 +++++------
 xen/drivers/vpci/header.c | 66 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 12 +++++++
 xen/include/xen/pci.h     |  3 +-
 xen/include/xen/vpci.h    |  5 +++
 5 files changed, 94 insertions(+), 10 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index e411876a1518..fbebbe4a872a 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -39,27 +39,27 @@ int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
     return 0;
 }
 
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
+int pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos, bool (*is_match)(uint8_t),
+                      int *ttl)
 {
-    u8 id;
-    int ttl = 48;
+    uint8_t id;
 
-    while ( ttl-- )
+    while ( (*ttl)-- > 0 )
     {
-        pos = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos);
+        pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
-        pos &= ~3;
-        id = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
-        if ( id == cap )
+        if ( is_match(id) )
             return pos;
 
-        pos += PCI_CAP_LIST_NEXT;
+        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
     }
+
     return 0;
 }
 
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 60f7049e3498..ec5947300198 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -513,6 +513,18 @@ static void cf_check rom_write(
         rom->addr = val & PCI_ROM_ADDRESS_MASK;
 }
 
+static bool cf_check vpci_cap_supported(uint8_t id)
+{
+    switch ( id )
+    {
+    case PCI_CAP_ID_MSI:
+    case PCI_CAP_ID_MSIX:
+        return true;
+    default:
+        return false;
+    }
+}
+
 static int cf_check init_bars(struct pci_dev *pdev)
 {
     uint16_t cmd;
@@ -544,6 +556,60 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
+             == 0 )
+        {
+            /* RAZ/WI */
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1, NULL);
+            if ( rc )
+                return rc;
+        }
+        else
+        {
+            /* Only expose capabilities to the guest that vPCI can handle. */
+            uint8_t next;
+            int ttl = 48;
+
+            next = pci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST,
+                                     vpci_cap_supported, &ttl);
+
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1,
+                                   (void *)(uintptr_t)next);
+            if ( rc )
+                return rc;
+
+            while ( next && (ttl > 0) )
+            {
+                uint8_t pos = next;
+
+                next = pci_find_next_cap(pdev->sbdf, pos + PCI_CAP_LIST_NEXT,
+                                         vpci_cap_supported, &ttl);
+
+                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
+                                       pos + PCI_CAP_LIST_ID, 1, NULL);
+                if ( rc )
+                    return rc;
+
+                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                       pos + PCI_CAP_LIST_NEXT, 1,
+                                       (void *)(uintptr_t)next);
+                if ( rc )
+                    return rc;
+
+                next &= ~3;
+            }
+        }
+
+        /* Extended capabilities RAZ/WI */
+        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4, NULL);
+        if ( rc )
+            return rc;
+    }
+
     if ( pdev->ignore_bars )
         return 0;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index d73fa7630237..4a96aa50494d 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -133,6 +133,18 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return (uintptr_t)data;
+}
+
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return pci_conf_read8(pdev->sbdf, reg);
+}
+
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 5975ca2f3032..57792282108b 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -194,7 +194,8 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
 int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
+int pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos, bool (*is_match)(uint8_t),
+                      int *ttl);
 int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
 int pci_find_next_ext_capability(int seg, int bus, int devfn, int pos, int cap);
 const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus,
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 0b8a2a3c745b..17fd252746ec 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -45,7 +45,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
+
 /* Passthrough handlers. */
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 18:51:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 18:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584856.915726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLcY-0005dF-99; Wed, 16 Aug 2023 18:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584856.915726; Wed, 16 Aug 2023 18:51: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 1qWLcY-0005d8-6R; Wed, 16 Aug 2023 18:51:54 +0000
Received: by outflank-mailman (input) for mailman id 584856;
 Wed, 16 Aug 2023 18:51:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5U+O=EB=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qWLcW-000576-Se
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 18:51:52 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f60ba681-3c65-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 20:51:52 +0200 (CEST)
Received: from CY5PR17CA0028.namprd17.prod.outlook.com (2603:10b6:930:17::27)
 by IA1PR12MB9030.namprd12.prod.outlook.com (2603:10b6:208:3f2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 18:51:48 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:930:17:cafe::4d) by CY5PR17CA0028.outlook.office365.com
 (2603:10b6:930:17::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Wed, 16 Aug 2023 18:51:48 +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.6699.14 via Frontend Transport; Wed, 16 Aug 2023 18:51:47 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 13:51:46 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 13:51: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: f60ba681-3c65-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S1KD1Rh8713mgbnz4N82Vy8UJcoxYbs8j1RICDsd1f/0XDq7jFwGiPbDmDzgbVsq8hPxSdHYevnMUItU6cQgg9UMEWFv0n22zYeI1r3cRtkEYcCx3INvciKxoQkugbTDwprTJgGD5fHeRHF2FoB69sYV9kbidTC3Gqcc8DofDJ4j0UfjKHtWnwP0fFGymHJhqqfhfbdAuvMp4qz9cem32ktsq6xkm5zSUJ7E4Nalakx+Ppu5dCfuPIDz1HvwBV4EzYzx0zh+1O06mqLJlOyaQIqTXsXsrECicH58bUZwgQrYvru9sfMq/OxekfRcRbltyquojogNcdwH/ESxximrwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lUV5SZfYUs2RFem9ruC9kFS6lhh6QPi95iyU+XcQnCM=;
 b=f6Y2xpPz1Rmw6zWR1ISFz0phDQx+SBeuwiE8mpdhZY6btInjYzYRyaI+hZ1eSwcyyxdrv6gi8wlL7XnEMzQFe8pIp/pjpZ0glqp4q7rjzUlPM1ZViurgOnGpIjpskwERJGQIocaGDAMZHvOEkYj2mmFYFmcHJQBHKRc9dLaiovkiVaBP3cwq/QiafI49kMFNSRZ1iusymjYKdKioNp9HQ7vlWiDMDQ90xqD65KRIVfrti/mDyoiwMT3kqFt6Iqt6XRq/VlNHQKUo3/G3/IfLUkBZ95+8caevpaOfzA78+lG1SwYJwsG+ZxNX014nxHN2+Je1X5ww/OuQ7tx2mFbhQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lUV5SZfYUs2RFem9ruC9kFS6lhh6QPi95iyU+XcQnCM=;
 b=vtHVvTx1eHfoK6fbWlJqFQ8/aSyRQrHQL7xjkc9eSUkCWrLuRCtvbEXaksp4HwlsfdZZ78onhqIZegFZyDEEpRRusch0p++jmOFSnm4dhy46pn9ZWGd/zJQpBl52qnc77NATGsKMaB5E2It0AMLCRjChsLUoljiAo3JzJBDzyXU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH v2 2/2] xen/vpci: header: avoid cast for value passed to vpci_read_val
Date: Wed, 16 Aug 2023 14:50:29 -0400
Message-ID: <20230816185035.82994-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230816185035.82994-1-stewart.hildebrand@amd.com>
References: <20230816185035.82994-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|IA1PR12MB9030:EE_
X-MS-Office365-Filtering-Correlation-Id: 47cbac96-559f-497b-346c-08db9e89d828
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0vfzvIiO6ewYW8fhzOvYP0BAT4aJUueAuV0a69K4C4I8DY/0ah5lxY4jd8LstmM7a2lPr3ArO9sLYfKIqSSgjU6NcfaAxljh3g1hlCR/LJB5y5K0Wx9akG4kVnWn7fi0yXbHVlspWUI7vzpUfq/aLIU/jzbi7L2WLOKpfmPJMkY9rCQvTcrH7hWxpHIP/5MykPnWpGL82ExxqEjj0MKdEpRwRARU0OUc7o8J0amkyPNHl3JGmhLTMO2FLw2f3Tp72Dqw87LcVPi3emLWMeAFYtiqWPu2FVolLUP9eWtiVMgW7nFa0Uquj2mzr9YttzTsODj5y3kBD4NgRt8YsKdeG25U2sfSMNu/MHQehduw2vgX5rA8onsHVDCovAUwot0pfFsI+SAAwquJkiUCsolS0B6BRJ8XTFnDa4Ro2ix3RMMHRw3O6XLKGTREx6AzrMFhWiK2NU14NTNeh15tveUclpR/XnP44crU236zA7vIyhCCoaNmhyxJq4v14MZUZywVEEVUDrjtrDKGYpDhoPmuOlpl2DnG/7rE1A6WSuQwZ2btnJK6HIpurKs2zEH1GQh1n84Fv13CENaBr/oXxNVF3Vvefts0tRNc6gearPms7W2arIBneuYeGJYXkEePApg+AIGUs4SPrOxiGt2oWa9YoDHnUbpRpnLWjGwf/VkxRH2CAFw0rVbjuUHtT7lIGTuDaw5o2SauVgwUhEytWpU/PjaDDqPwMK7jVnt54GfEiAKTUeFaCh4u7j5JUkIU8pTs81KCmko1lT4ySFUOVrHNsg==
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)(4636009)(136003)(396003)(346002)(39860400002)(376002)(1800799009)(451199024)(82310400011)(186009)(40470700004)(36840700001)(46966006)(2906002)(40460700003)(83380400001)(86362001)(40480700001)(478600001)(426003)(336012)(36756003)(2616005)(6666004)(1076003)(26005)(44832011)(5660300002)(36860700001)(41300700001)(356005)(54906003)(82740400003)(316002)(81166007)(70206006)(70586007)(6916009)(8676002)(8936002)(4326008)(47076005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 18:51:47.6185
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 47cbac96-559f-497b-346c-08db9e89d828
X-MS-Exchange-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: IA1PR12MB9030

The only purpose of this is to give an idea of what it might look like to
introduce a new memory allocation in order to get rid of the casts for the value
passed to vpci_read_val. If this is deemed preferable vs the casts, I will
squash it for the next version of the series.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v1->v2:
* new patch
---
 xen/drivers/vpci/header.c | 13 ++++++++++---
 xen/drivers/vpci/vpci.c   |  8 +++++++-
 xen/include/xen/vpci.h    |  3 +++
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ec5947300198..ae269a0b4bbc 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -571,14 +571,19 @@ static int cf_check init_bars(struct pci_dev *pdev)
         {
             /* Only expose capabilities to the guest that vPCI can handle. */
             uint8_t next;
-            int ttl = 48;
+            int ttl = 48, i = 0;
+
+            header->caps_list = xzalloc_array(uint8_t, ttl);
+            if ( !header->caps_list )
+                return -ENOMEM;
 
             next = pci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST,
                                      vpci_cap_supported, &ttl);
 
+            header->caps_list[i] = next;
             rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
                                    PCI_CAPABILITY_LIST, 1,
-                                   (void *)(uintptr_t)next);
+                                   &header->caps_list[i]);
             if ( rc )
                 return rc;
 
@@ -594,9 +599,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
                 if ( rc )
                     return rc;
 
+                i++;
+                header->caps_list[i] = next;
                 rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
                                        pos + PCI_CAP_LIST_NEXT, 1,
-                                       (void *)(uintptr_t)next);
+                                       &header->caps_list[i]);
                 if ( rc )
                     return rc;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 4a96aa50494d..717340b8fbe8 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -61,6 +61,7 @@ void vpci_remove_device(struct pci_dev *pdev)
             if ( pdev->vpci->msix->table[i] )
                 iounmap(pdev->vpci->msix->table[i]);
     }
+    xfree(pdev->vpci->header.caps_list);
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
     xfree(pdev->vpci);
@@ -136,7 +137,12 @@ static void cf_check vpci_ignored_write(
 uint32_t cf_check vpci_read_val(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
-    return (uintptr_t)data;
+    uint8_t *val = data;
+
+    if ( val )
+        return *val;
+
+    return 0;
 }
 
 uint32_t cf_check vpci_hw_read8(
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 17fd252746ec..7cdee84b5123 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -88,6 +88,9 @@ struct vpci {
         } bars[PCI_HEADER_NORMAL_NR_BARS + 1];
         /* At most 6 BARS + 1 expansion ROM BAR. */
 
+        /* Guest view of capabilities next pointers. */
+        uint8_t *caps_list;
+
         /*
          * Store whether the ROM enable bit is set (doesn't imply ROM BAR
          * is mapped into guest p2m) if there's a ROM BAR on the device.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:04:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584871.915736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLov-0007iZ-HV; Wed, 16 Aug 2023 19:04:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584871.915736; Wed, 16 Aug 2023 19:04: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 1qWLov-0007iS-Ew; Wed, 16 Aug 2023 19:04:41 +0000
Received: by outflank-mailman (input) for mailman id 584871;
 Wed, 16 Aug 2023 19:04: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=yqiy=EB=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qWLou-0007iM-2i
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:04:40 +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 be0c9787-3c67-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 21:04:38 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1692212672218899.0068057217877;
 Wed, 16 Aug 2023 12:04: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: be0c9787-3c67-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692212674; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Y8QBW0PZpMT5oEnpiHxECI5j/A5kiEruZ7qmqswTEqUZN0Ro12sXN6vuzEJjBlcf98L78bMVYzEGJu5jGWpKq89ImzGCWzeTHcFY7F3Q3WKHInwSBa3CX5Eq5oUWZbWPxmp7h0PMTU6O0tyqgNTMlEGh6p9ehXX4e7dfzwJ6PiI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692212674; h=Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=0B+TURNoxibXnqrsJG4uYUSmg30KfiNoqPQSfNhYhak=; 
	b=c3Rq8HhoON/RXXQFvhRfKtRxMF4o4czU/nC2s5hoiNwxRMFmo0YkNrQF7isqxFlXfjCuJlY6KZIUYb9j/S6p8Stg2KTndoxmEFzybyy4bjOSQAzitRcZC2APAuzvSSQh+Whv4hz3vrKoyXbIS7j6jl/ptk+Wh3GBvb7Rm7DYKKA=
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=1692212674;
	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=0B+TURNoxibXnqrsJG4uYUSmg30KfiNoqPQSfNhYhak=;
	b=RK1lCvCnTHVQ2+7ZaNjjZKHwMo3/rQJvAJ8h4Nkak+lxJ0IybTtevovREEbdaMWf
	srgmQEPOPvRPLyL6b0OP0gLZ1zLJAeN4sN352eaDmnRDzYyQ3lTMrHglaYNCjn9mjE8
	0NSVC+Ov6aQp4KsXtk4/8DMo9ra/7wzhUgalYyJg=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] xsm: removing inclusion of byteorder.h
Date: Wed, 16 Aug 2023 15:04:25 -0400
Message-Id: <20230816190425.8160-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This is to complement patch 'common: move Linux-inherited fixed width type
decls to common header' by removing the unnecessary include of
'asm/byteorder.h'. In the process of removing these includes, the ordering was
corrected to comply with current coding style.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/xsm/flask/ss/avtab.c       | 3 +--
 xen/xsm/flask/ss/conditional.c | 9 ++++-----
 xen/xsm/flask/ss/ebitmap.c     | 8 ++++----
 xen/xsm/flask/ss/policydb.c    | 9 ++++-----
 4 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/xen/xsm/flask/ss/avtab.c b/xen/xsm/flask/ss/avtab.c
index 9761d028d8..732004b010 100644
--- a/xen/xsm/flask/ss/avtab.c
+++ b/xen/xsm/flask/ss/avtab.c
@@ -19,11 +19,10 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
+#include <xen/errno.h>
 #include <xen/lib.h>
-#include <asm/byteorder.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
-#include <xen/errno.h>
 
 #include "avtab.h"
 #include "policydb.h"
diff --git a/xen/xsm/flask/ss/conditional.c b/xen/xsm/flask/ss/conditional.c
index e74fc01746..f948c6172d 100644
--- a/xen/xsm/flask/ss/conditional.c
+++ b/xen/xsm/flask/ss/conditional.c
@@ -9,16 +9,15 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
-#include <xen/lib.h>
-#include <xen/types.h>
 #include <xen/errno.h>
-#include <xen/string.h>
+#include <xen/lib.h>
 #include <xen/spinlock.h>
+#include <xen/string.h>
+#include <xen/types.h>
 #include <xen/xmalloc.h>
 
-#include "security.h"
 #include "conditional.h"
+#include "security.h"
 
 /*
  * cond_evaluate_expr evaluates a conditional expr
diff --git a/xen/xsm/flask/ss/ebitmap.c b/xen/xsm/flask/ss/ebitmap.c
index e1d0a586a7..2cca25b775 100644
--- a/xen/xsm/flask/ss/ebitmap.c
+++ b/xen/xsm/flask/ss/ebitmap.c
@@ -10,12 +10,12 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
-#include <xen/lib.h>
-#include <xen/xmalloc.h>
+#include <xen/bitmap.h>
 #include <xen/errno.h>
+#include <xen/lib.h>
 #include <xen/spinlock.h>
-#include <xen/bitmap.h>
+#include <xen/xmalloc.h>
+
 #include "ebitmap.h"
 #include "policydb.h"
 
diff --git a/xen/xsm/flask/ss/policydb.c b/xen/xsm/flask/ss/policydb.c
index 7f232f92fa..fd51a5a35d 100644
--- a/xen/xsm/flask/ss/policydb.c
+++ b/xen/xsm/flask/ss/policydb.c
@@ -22,18 +22,17 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <asm/byteorder.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
+#include <xen/string.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
-#include <xen/string.h>
-#include <xen/errno.h>
 #include <conditional.h>
-#include "security.h"
 
-#include "policydb.h"
 #include "conditional.h"
 #include "mls.h"
+#include "policydb.h"
+#include "security.h"
 
 #define _DEBUG_HASHES
 
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:07:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:07:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584876.915746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLrd-0008JO-U4; Wed, 16 Aug 2023 19:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584876.915746; Wed, 16 Aug 2023 19:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLrd-0008JH-RO; Wed, 16 Aug 2023 19:07:29 +0000
Received: by outflank-mailman (input) for mailman id 584876;
 Wed, 16 Aug 2023 19:07:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWLrc-0008JB-5D
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:07:28 +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 2260ad43-3c68-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 21:07:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BD51064599;
 Wed, 16 Aug 2023 19:07:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89A45C433C7;
 Wed, 16 Aug 2023 19:07:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2260ad43-3c68-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692212843;
	bh=8gC8VMKB+svpCG+GNMeSR2f2T+szTe085NNxtTX6/Ig=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dF9shLjkRNhpfVccowfoROvqD7KHgN08B6ozQ9r3jOmpwWLz4DqrbIJdd69OuG+mx
	 bIepDG3jJBOMUBga5AuK2N/B90+Fk0pEuG/Is2xOtcUc0ERtmwb9wMDKUUFmaFuXRq
	 h85nWZWBcUpSJbmzCmVtYMsHGfSjZ83WtXTe1XWsi7u6Bs91M94TtvZaFdAuh7KnBI
	 mSmQxLBzt4BHkL2uH1KNcsx3saP/6qzEn2jeQOqhn8JqgVJYMqMerZttsAPY54ktIV
	 Z84PH3i9ch8j9EkxoddOEAvrf3jTUjAUuH46g54YbDkWY9KU8/i+ATvF2fBiU4HRyT
	 Zp3024Y7mnO2A==
Date: Wed, 16 Aug 2023 12:07:18 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Jason Andryuk <jandryuk@gmail.com>, 
    George Dunlap <George.Dunlap@eu.citrix.com>, 
    Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    Daniel Smith <dpsmith@apertussolutions.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
In-Reply-To: <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2308161204120.6458@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-3-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop> <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-300263942-1692212843=:6458"

  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-300263942-1692212843=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 16 Aug 2023, Andrew Cooper wrote:
> On 16/08/2023 1:19 am, Stefano Stabellini wrote:
> > On Tue, 15 Aug 2023, Andrew Cooper wrote:
> >> @@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
> >>
> >> +    sz = strlen(str);
> >> +
> >> +    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
> >> +        return -E2BIG;
> > Realistically do we want this buffer to cross page boundaries?
> 
> A 1-byte answer can cross a page boundary, even if the hypercall
> argument is correctly aligned (and even that is unspecified in the Xen ABI).
> 
> But importantly, this series is also prep work to fixing the cmdline
> limit.Â  1k is already causing problems, and 64k is a whole lot less bad
> than 4k when we enter such corner cases.

OK. It is just that 64K seems *a lot* in this context. But if you have
reasons to believe that 64K is a good number for this check then OK.


> >> + */
> >>  #define XENVER_commandline 9
> >>  typedef char xen_commandline_t[1024];
> >>  
> >> @@ -110,6 +133,42 @@ struct xen_build_id {
> >>  };
> >>  typedef struct xen_build_id xen_build_id_t;
> >>  
> >> +/*
> >> + * Container for an arbitrary variable length buffer.
> >> + */
> >> +struct xen_varbuf {
> >> +    uint32_t len;                          /* IN:  size of buf[] in bytes. */
> >> +    unsigned char buf[XEN_FLEX_ARRAY_DIM]; /* OUT: requested data.         */
> > I realize that you just copied struct xen_build_id
> 
> No - it was originally an ambiguously-signed char in v1.Â  It became
> unsigned through review.
> 
> But being unsigned char is relevant to the non-ABI-changingness of later
> patches in the series.
> 
> > but I recall from
> > MISRA C training that we should use plain "char" for strings for good
> > reasons, not "unsigned char"?
> 
> I don't recall anything to that effect, nor can I see anything obvious
> when scanning through the standard.
> 
> MISRA can't plausibly prohibit the use of char for arbitrary data.Â  It's
> the one and only thing the C spec states is safe for the task.

After this morning's call with Roberto, I take this comment back.
unsigned char is OK from MISRA POV.
--8323329-300263942-1692212843=:6458--


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:09:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:09:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584882.915757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLtt-0000S7-Au; Wed, 16 Aug 2023 19:09:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584882.915757; Wed, 16 Aug 2023 19:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWLtt-0000S0-6o; Wed, 16 Aug 2023 19:09:49 +0000
Received: by outflank-mailman (input) for mailman id 584882;
 Wed, 16 Aug 2023 19:09:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWLtr-0000Ru-Nf
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:09:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75df1903-3c68-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 21:09:45 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 30C6564F19;
 Wed, 16 Aug 2023 19:09:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE7AEC433C7;
 Wed, 16 Aug 2023 19:09:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75df1903-3c68-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692212983;
	bh=lvzlJ3S61YjSRft+oYdY4/c19F/x9uLJ7cHBVLMsmLs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mIzslA0TpG70h1Re/rHQajuAkYxP+cYYml732p1ZG+BrbbRdYEbaBuruiTyL7dHyi
	 eTSKqoFlxjgX+cGhAFucAhAPVJ5VsBTRhpQ/hVOi5rkPdG90s4lMhsGCIVLVh0DW+u
	 nUVx4i0XCVC2lPZJKHMAJwYifRIGF0mWK4EYSJTVAeJbq7AdlRmNZa1R+E5tVSp9aR
	 rVL2ddYk4zjzNNZUebTk3I9/aXtny2YYl77fr4hST1P2CwW6OgNBNHz+cdt2JDoOpv
	 W5RN9HIuoLe7s7t3IJiYGYrohiTogft1B28wV6A7wTEPAhRHF29etpu7XV4q7mu6xG
	 4stQYxrvH6HMA==
Date: Wed, 16 Aug 2023 12:09:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: George Dunlap <george.dunlap@cloud.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Jason Andryuk <jandryuk@gmail.com>, 
    George Dunlap <George.Dunlap@eu.citrix.com>, 
    Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    Daniel Smith <dpsmith@apertussolutions.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
In-Reply-To: <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2308161208560.6458@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-3-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop> <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
 <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-371058102-1692212983=:6458"

  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-371058102-1692212983=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 16 Aug 2023, George Dunlap wrote:
> On Wed, Aug 16, 2023 at 3:58â€¯AM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>       On 16/08/2023 1:19 am, Stefano Stabellini wrote:
>       > On Tue, 15 Aug 2023, Andrew Cooper wrote:
> 
>       >> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
>       >> index cbc4ef7a46e6..0dd6bbcb43cc 100644
>       >> --- a/xen/include/public/version.h
>       >> +++ b/xen/include/public/version.h
>       >> @@ -19,12 +19,20 @@
>       >>Â  /* arg == NULL; returns major:minor (16:16). */
>       >>Â  #define XENVER_versionÂ  Â  Â  0
>       >>Â 
>       >> -/* arg == xen_extraversion_t. */
>       >> +/*
>       >> + * arg == xen_extraversion_t.
>       >> + *
>       >> + * This API/ABI is broken.Â  Use XENVER_extraversion2 where possible.
>       > Like Jan and Julien I also don't like the word "broken" especially
>       > without explanation of why it is broken next to it.
> 
>       The word "broken" is an accurate and appropriate word in the English
>       language to describe the situation.Â  I'm sorry you don't like it, but
>       unless any of you can articulate why you think it is inappropriate
>       phraseology, the complaint is unactionable.
> 
>       Specifically ...
> 
>       > Instead, I would say:
>       >
>       > "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
> 
>       ... depreciated is misleading.
> 
> 
> Deprecated means, "It is the official position of the developers of the project that for the moment, you *can* use it, but you
> *shouldn't*"; it also implies that support for it might go away at some point.Â  The fact that we're saying "you shouldn't use it" by itself
> implies that it is lacking somehow.Â  It's a factual statement that gives you useful information.
> 
> Neither "broken" nor "has problems" actually tell you anything above "deprecated", other than the opinion of the developer writing the
> documentation; and they are both (to differentÂ levels) emotionally charged.Â  You don't deprecate things unless there's something wrong with
> them.Â  In this particular case, I don't think anyone has an emotional attachment to the existing hypercall, so nobody is going to be
> insulted; but it's a good habit to avoid it.Â  (See [1] for more about this.)
> 
> [1]Â http://xenbits.xenproject.org/governance/communication-practice.html , the "Avoid inflammatory and negatively charged language" section
> 
> If I have a backlog of a million things to do, how do I prioritize switching to and testing extraversion2?Â  The situation as I understand
> it is: "If it works for you now with the current value you're fine, but it may break later when you change it, in a way that's obvious".Â 
> In that situation, you can safely put off fixing it until your build breaks.Â  If, on the other hand, the situation is "It may randomly work
> or not work with any given build", or "It may seem to work for you now but is actually failing in a not-very-obvious way", then you
> probably need to prioritize fixing it.
> 
> Saying "May cause truncation" gives you some the information you need to know. "Will silently truncate past N characters" gives you even
> more.Â Â 
> Â 
> We should at very least say it's deprecated.Â  If we can summarize the issues briefly, then that would be helpful.

I strongly agree with this: we should say it is deprecated and if we can
summarize the issues briefly that's even better.
--8323329-371058102-1692212983=:6458--


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:19:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:19:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584889.915767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWM2k-0002DW-5f; Wed, 16 Aug 2023 19:18:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584889.915767; Wed, 16 Aug 2023 19:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWM2k-0002DP-1v; Wed, 16 Aug 2023 19:18:58 +0000
Received: by outflank-mailman (input) for mailman id 584889;
 Wed, 16 Aug 2023 19:18:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWM2j-0002DJ-50
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:18:57 +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 bc36c5ab-3c69-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 21:18:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 88D50621B2;
 Wed, 16 Aug 2023 19:18:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DDA4C433C7;
 Wed, 16 Aug 2023 19:18: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: bc36c5ab-3c69-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692213531;
	bh=mUIZqgW1awPX+l3vV0REZZ2dLKLmOmseTR5atATtyO8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mR3iGKvh3aM+WmtGhG/TDfKs3nl7ivvOBqsBbX0c+z4vFifLghlW+/iki4OegSyeL
	 cowYDkDiprq07sypcnSk/5sPx1ffgWx9TDvJaNEr8tAF1VPnpe4D3IOkfE8LJYwqM/
	 BGT6dmYXSmI5khZv340Co0lsl6E5XeGLLtNfgbBq1nG3TTHmwBxUSjRSbsY6t/cDkj
	 uuVeqNWNEe6VZYDorZyHyBX+H8oS7sLOiD2qSdv0B3MLuq9AM3amJ0WODUTEFNEAfm
	 8G6IDEll/qunmIrOuIXFa/+40OFu4eJvxhGPUdYEURRoh+s1QFKuscduArkaXCTiN1
	 cOJB6YSkwqzlQ==
Date: Wed, 16 Aug 2023 12:18:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Daniel Smith <dpsmith@apertussolutions.com>
cc: George Dunlap <george.dunlap@cloud.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Jason Andryuk <jandryuk@gmail.com>, 
    George Dunlap <George.Dunlap@eu.citrix.com>, 
    Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
In-Reply-To: <189fe1470d7.c9aa0e23891146.4230412711034328964@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2308161209490.6458@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-3-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop> <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
 <CA+zSX=arMnCNmckcc1a-JoQokw4nc5g7+49xhQFoxFYA3uB4_g@mail.gmail.com> <189fe1470d7.c9aa0e23891146.4230412711034328964@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1297879094-1692213471=:6458"
Content-ID: <alpine.DEB.2.22.394.2308161218000.6458@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-1297879094-1692213471=:6458
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308161218001.6458@ubuntu-linux-20-04-desktop>

On Wed, 16 Aug 2023, Daniel Smith wrote:
>  > On Wed, Aug 16, 2023 at 3:58â€¯AM Andrew Cooper andrew.cooper3@citrix.com> wrote:
>  > On 16/08/2023 1:19 am, Stefano Stabellini wrote:
>  >  > On Tue, 15 Aug 2023, Andrew Cooper wrote:
>  > 
>  >  >> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
>  >  >> index cbc4ef7a46e6..0dd6bbcb43cc 100644
>  >  >> --- a/xen/include/public/version.h
>  >  >> +++ b/xen/include/public/version.h
>  >  >> @@ -19,12 +19,20 @@
>  >  >>Â  /* arg == NULL; returns major:minor (16:16). */
>  >  >>Â  #define XENVER_versionÂ  Â  Â  0
>  >  >>Â  
>  >  >> -/* arg == xen_extraversion_t. */
>  >  >> +/*
>  >  >> + * arg == xen_extraversion_t.
>  >  >> + *
>  >  >> + * This API/ABI is broken.Â  Use XENVER_extraversion2 where possible.
>  >  > Like Jan and Julien I also don't like the word "broken" especially
>  >  > without explanation of why it is broken next to it.
>  >  
>  >  The word "broken" is an accurate and appropriate word in the English
>  >  language to describe the situation.Â  I'm sorry you don't like it, but
>  >  unless any of you can articulate why you think it is inappropriate
>  >  phraseology, the complaint is unactionable.
>  >  
>  >  Specifically ...
>  >  
>  >  > Instead, I would say:
>  >  >
>  >  > "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
>  >  
>  >  ... depreciated is misleading.
>  > 
>  > Deprecated means, "It is the official position of the developers of the project that for the moment, you *can* use it, but you *shouldn't*"; it also implies that support for it might go away at some point.Â  The fact that we're saying "you shouldn't use it" by itself implies that it is lacking somehow.Â  It's a factual statement that gives you useful information.
>  > 
>  > Neither "broken" nor "has problems" actually tell you anything above "deprecated", other than the opinion of the developer writing the documentation; and they are both (to differentÂ levels) emotionally charged.Â  You don't deprecate things unless there's something wrong with them.Â  In this particular case, I don't think anyone has an emotional attachment to the existing hypercall, so nobody is going to be insulted; but it's a good habit to avoid it.Â  (See [1] for more about this.)
> 
> With all due respect George but deprecated and broken are fundamentally different. Deprecation means that an interface is being retired in the future for any number of reasons and that it can continue to be used until its retirement without risk of unintended consequences. Labeling an interface as broken, which has been acceptable to do so in other much larger communities, is a stronger sentiment that the interface should stop being used immediately because it can lead to unintended consequences, not because it will be retired in some distant future.

No matter what the Merriam Webster would say for the word "deprecated"
and "broken", each individual "absorbs" each word and their meanings
differently.

There are 6 people involved in this discussion including Andrew, and 4
out of 6 didn't react well to the usage of the word "broken" in this
context. For sure in Andrew's mind "broken" triggers the right
meaning and expectations straight away. But for Julien, Jan, George and
me it did not.

We cannot run a representative survey of the developers population to
know which exact word triggers the most appropriate reaction in this
case. Even if we could, it would not be worth the effort.

Instead, I suggest to just go with the majority interpretation among the
participant in this thread and drop "broken" in favor of one of the
alternatives. Such as something along these lines:

"XENVER_extraversion is deprecated and causes truncation. Please use
XENVER_extraversion2.
--8323329-1297879094-1692213471=:6458--


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:22:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584895.915777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWM6H-0003qY-Kv; Wed, 16 Aug 2023 19:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584895.915777; Wed, 16 Aug 2023 19:22:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWM6H-0003qR-Gz; Wed, 16 Aug 2023 19:22:37 +0000
Received: by outflank-mailman (input) for mailman id 584895;
 Wed, 16 Aug 2023 19:22:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yqiy=EB=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qWM6G-0003qL-S2
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:22:36 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 401a4fce-3c6a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 21:22:35 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1692213744152892.8643123746068;
 Wed, 16 Aug 2023 12:22: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: 401a4fce-3c6a-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692213746; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=SaptQORi7JwYfZwg/CuAHBx2TzydsGFDORh8ABA8LSHgUmhYLQUUmwyd3Ma4WqrySvXauH5lf/R54orp7gvKO8Nthju9wFkPXMgF4Az86IBj+TnIS1N0Bb5Qpsm11EnN8YP8uV0qonu62LiQxYLnX0h8tjuXRhnDTiUtj/H52v4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692213746; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=EDY2UApggJSyiNdpbh+UfkvA86j6vNhYh1symwk1CIM=; 
	b=P6VFTaJE1F6iuMnrweoddCXCtnzG/+6kSmwSl9ck1kO0vplP5KxbVR1MohluYlyccqHR+Ya0RkF3b79ygRjafXv2k2Pfo0GKSZXPZjB3FccPlzs4nDQUKUSaUF7xoSqixx8FphnHHrtdc5MAKMfGkwfcrS4qxQkcJWy5SiTUFIU=
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=1692213746;
	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=EDY2UApggJSyiNdpbh+UfkvA86j6vNhYh1symwk1CIM=;
	b=WgrogWXg1m6oeBnzqdM1UsVyM1X92EbV/wlS0xjfRh8pNd0G+J9ogc+fTEQ+sZNQ
	DnEFsocZzLCLqYwp6SDz+IZSP/iXSqIzUfXVEEG+cf4EiUBKQKlQMPl6dSTI9oZmmvt
	S1RlEbH2fWdX0ya2ojwCVhjmihamKE/ZhIgNMKow=
Message-ID: <424c32d1-7063-a004-f427-7ceff2dcd21d@apertussolutions.com>
Date: Wed, 16 Aug 2023 15:22:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] subdom: Fix -Werror=address failure in tmp_emulator
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>,
 Christopher Clark <christopher.w.clark@gmail.com>
References: <20230803203650.1474936-1-andrew.cooper3@citrix.com>
 <a6348a98-30bb-8a03-7ed7-9e965be119eb@apertussolutions.com>
 <CA+zSX=ZajaUSD=AcqwjNL_HHeZm6kf1pHVDKU9nyZtsxS2N8qw@mail.gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <CA+zSX=ZajaUSD=AcqwjNL_HHeZm6kf1pHVDKU9nyZtsxS2N8qw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/14/23 07:25, George Dunlap wrote:
> 
> 
> On Tue, Aug 8, 2023 at 10:27â€¯PM Daniel P. Smith 
> <dpsmith@apertussolutions.com <mailto:dpsmith@apertussolutions.com>> wrote:
> 
>     On 8/3/23 16:36, Andrew Cooper wrote:
>      > The opensuse-tumbleweed build jobs currently fail with:
>      >
>      >   
>     /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In
>     function 'rsa_private':
>      >   
>     /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: error: the comparison will always evaluate as 'true' for the address of 'p' will never be NULL [-Werror=address]
>      >Â  Â  Â  Â 56 |Â  Â if (!key->p || !key->q || !key->u) {
>      >Â  Â  Â  Â  Â  |Â  Â  Â  Â ^
>      >Â  Â  In file included from
>     /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
>      >   
>     /builds/xen-project/xen/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note: 'p' declared here
>      >Â  Â  Â  Â 28 |Â  Â tpm_bn_t p;
>      >Â  Â  Â  Â  Â  |Â  Â  Â  Â  Â  Â  ^
>      >
>      > This is because all tpm_bn_t's are 1-element arrays (of either a
>     GMP or
>      > OpenSSL BIGNUM flavour).Â  The author was probably meaning to do
>     value checks,
>      > but that's not what the code does.
>      >
>      > Adjust it to compile.Â  No functional change.
>      >
>      > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com
>     <mailto:andrew.cooper3@citrix.com>>
>      > ---
>      > CC: George Dunlap <George.Dunlap@eu.citrix.com
>     <mailto:George.Dunlap@eu.citrix.com>>
>      > CC: Jan Beulich <JBeulich@suse.com <mailto:JBeulich@suse.com>>
>      > CC: Stefano Stabellini <sstabellini@kernel.org
>     <mailto:sstabellini@kernel.org>>
>      > CC: Wei Liu <wl@xen.org <mailto:wl@xen.org>>
>      > CC: Julien Grall <julien@xen.org <mailto:julien@xen.org>>
>      > CC: Juergen Gross <jgross@suse.com <mailto:jgross@suse.com>>
>      > CC: Marek Marczykowski-GĂ³recki <marmarek@invisiblethingslab.com
>     <mailto:marmarek@invisiblethingslab.com>>
>      > CC: Jason Andryuk <jandryuk@gmail.com <mailto:jandryuk@gmail.com>>
>      > CC: Daniel Smith <dpsmith@apertussolutions.com
>     <mailto:dpsmith@apertussolutions.com>>
>      > CC: Christopher Clark <christopher.w.clark@gmail.com
>     <mailto:christopher.w.clark@gmail.com>>
>      >
>      > While I've confirmed this to fix the build issue:
>      >
>      >
>     https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430 <https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/955160430>
>      >
>      > I'm -1 overall to the change, and would prefer to disable
>     vtpm-stubdom
>      > entirely.
>      >
>      > It's TPM 1.2 only, using decades-old libs, and some stuff in the
>     upstream
>      > https://github.com/PeterHuewe/tpm-emulator
>     <https://github.com/PeterHuewe/tpm-emulator> (which is still
>     abandaonded as of
>      > 2018) is just as concerning as the basic error here in rsa_private().
> 
>     For semantics sake, the Guest PV interface is 1.2 compliant but the PV
>     backend, vtpmmgr, is capable of using TPM2.0.
> 
>      > vtpm-stubdom isn't credibly component of a Xen system, and we're
>     wasting loads
>      > of CI cycles testing it...
> 
>     Unfortunately, I cannot disagree here. This is the only proper vTPM,
>     from a trustworthy architecture perspective, that I know of existing
>     today. Until I can find someone willing to fund updating the
>     implementation and moving it to being an emulated vTPM and not a PV
>     interface, it is likely to stay in this state for some time.
> 
> 
> Did you mean "I cannot *agree* here"?Â  "Cannot disagree" means you agree 
> that we're "wasting loads of CI cycles testing it", but the second 
> sentence seems to imply that it's (currently) irreplacable.

The architecture/design is what I don't want to see lost, the 
implementation itself, IMHO, has severely bit rotted. So what I was 
trying to say is that while it is an important reference design, I 
cannot disagree with the sentiment that building the broken 
implementation is wasting a significant amount of CI resources, both 
network and CPU time. IOW, I am probably the only one that would 
potentially make any noise if a patch was submitted to make it default 
disabled, and I am saying here that I would not do so.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:25:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584901.915787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWM95-0004Us-5l; Wed, 16 Aug 2023 19:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584901.915787; Wed, 16 Aug 2023 19: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 1qWM95-0004Ul-1s; Wed, 16 Aug 2023 19:25:31 +0000
Received: by outflank-mailman (input) for mailman id 584901;
 Wed, 16 Aug 2023 19: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=wzLC=EB=citrix.com=prvs=585ac1913=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWM93-0004Uf-Hk
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:25:29 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6d5fe57-3c6a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 21:25:27 +0200 (CEST)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Aug 2023 15:25:17 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6486.namprd03.prod.outlook.com (2603:10b6:a03:396::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 19:25:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 19:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6d5fe57-3c6a-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692213927;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=VpQfsriir6rkENSihLl2j2T/FVyGjPmkm6Wz+HX/D1E=;
  b=MIGcrIjAcixP+8ftplOIAgQitdlaud/ruJy2kz9CJJHA3FKYhjfoL0ur
   i0OvESawdqDn7Ih/hLg20OIqvk+lzEAFWew9gwY4Lpq1M5vgCWGiHZpit
   yf9f7e6Ns4szGQFytGm+CXNmpDtdY+AjQyb3nNnlZjvK5EGsXrzdiW5Oq
   k=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 118366643
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Aqq3la5xxq6W/5LuYqgpDgxRtJDGchMFZxGqfqrLsTDasY5as4F+v
 mMYXz+OM/ncMDOmfot3bYvj8k8D78eDz4M3QAJtrCFhHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS4geE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m3
 +0yOBQ/Xwm/h82Uka3rVdF3lNU6M5y+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojuiF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtLRObmqKA22zV/wEQ6NUZGenfkh8CEjxCTYfZid
 GkGpHQX+P1aGEuDC4OVsweDiGWfohcWVt5UEus7wAKA0KzZ50CeHGdsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaOyETIXUTeCwsQg4M4t2lq4Y25jrtZNt+FK++jvXuBCr9h
 TuNqUAWmLE7ncMNkaKh8jjvgS+op5XPZh444EPQRG3Nxg92aIOqfYWA9UnQ7fEGKp2QCFaGo
 hAsl9CF6eESDbmEjCGXXPgWB7at+uqENzvHx1VoGvEJ1zmr4W/lQolW7xl3PkIvOcEBEQIFe
 2fWsAJVoZVVbH2jaPYuZ5rrUpp6i6/9Cd7iS/bYKMJUZYR8fxOG+ycoYlOM22fqkw4nlqRX1
 YqnTPtAxE0yUcxPpAdajc9EuVP37kjSHV/ueK0=
IronPort-HdrOrdr: A9a23:WpWhEq+wFAK1/ziI8bpuk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-Talos-CUID: 9a23:jqFSDmF1XcCTYQ4yqmJN5WQEPvIUa0Hd41WBPB+nMX17WaSKHAo=
X-Talos-MUID: 9a23:vV/tigUHJ7IXzILq/BbR32FNGJhO2pmrVm03tahZntvaaxUlbg==
X-IronPort-AV: E=Sophos;i="6.01,177,1684814400"; 
   d="scan'208";a="118366643"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TRJKPV6dNt4xTYuDlP4GseqUDScvleRFhOaCBAVv0WLzFTf/BPuD9GwKolplINjZHn9G0mlfQQYHyByMHeDX1pExxdU6rrl6Y6P62g3riwzYz0S/xzre2iQMm909E2Xl2hUIOgumQgAA4XS0geATyrF4BSguIiEWeRCwYw0C07ogMSLjCGbnmaYDeiCfr3cAiEQ4ZQovdgEnR5HfaGJwOE+q51mTb8CDJNaPgtuotMQQSP0x+QPDFWlhUCPZij0p1bL+eEAbKfwdZq4NXkP0yDsuOFcqVSTL8eYF4DfceejUEmcNvL8bEWkxP9GuVURXPmB5cZipzo5XZhKZTcm3cw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WoSRE/6FJlL9EzDVNVmBwF59LvyqOcX4Ft5ztafqC9o=;
 b=PvnNlDR7hy/WynOg5NHfjt7+Kp87uFxafmPxdklJHiq0LMCtojn0K/X38d0OpGsoXH6q0LeIOlru6L/v6kofFS3KmdAAx/kN/X7Sk0bMMkwxrcVh7llb0y7KYOK+FU9XcM5ubaaXz4URSXVrm8u/lykeogvx+8/MhzYgW79fY+y0wsU3SDrpcBdtLs3+j626BknYHZMM+M9V2UAvMvzMyVt01/BLjXbUbDQH21xAg6YyytZjj3Sajpt+9hjj6gP8x3eWzoH1q6PZqAt5UcGjboeW5lGiU9U0f1bydmx3XhJkkNBFWOJ2TXKwxJuRwWlccmbWi7Us5v8AJNHT15zZsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WoSRE/6FJlL9EzDVNVmBwF59LvyqOcX4Ft5ztafqC9o=;
 b=T18OwG5I2HXpY1Odi6JqrKoGEYOezsCbs2qNlx3zNDjg2VpC4wnqdjPQy7C/JrpEPdHvZybi06Bfw+G14TSBRvF+A1GGvCN5tyrqXdoLpuKy5JgjgeWVtV2RBpx8w8Okov8ir3//qNnKFNaMmPDIu1FpcNyBTRD6BCe0lu6ISHg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <93efb487-c0d0-92be-5287-b3c67e27fc0e@citrix.com>
Date: Wed, 16 Aug 2023 20:25:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jason Andryuk <jandryuk@gmail.com>,
 George Dunlap <George.Dunlap@eu.citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 Daniel Smith <dpsmith@apertussolutions.com>, Henry Wang <Henry.Wang@arm.com>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com>
 <20230815210650.2735671-3-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2308151708070.6458@ubuntu-linux-20-04-desktop>
 <5f75e037-1f73-f7be-740c-715902d5d9a0@citrix.com>
 <alpine.DEB.2.22.394.2308161204120.6458@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308161204120.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0193.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a4::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6486:EE_
X-MS-Office365-Filtering-Correlation-Id: 76fdeb75-9e75-4cdc-40e8-08db9e8e8249
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fpSv1MwuoKYQPOSRnhyWZcymdGBy4DM1DjDcH2tMlypkO5uT3Q6AMMpDo3+At1n3obO4TWJHKYyh22K1uLV9G9RK/8QxbvTWxqLq4rwUOOUfkykwFsQIG0wNVvDllOOilCrPXDuuXkh/SWDli8EbSMIwiQ8CdJOjkcdzjfF3VhfMYJDCXWT1Nq3afeKNhZq0nP/0nJXnqBP+NFEg1m507t8n/z1tQwMy3Swd8e6iUahoNdOObdiXsMXRRJG5f2NZYElUl/4VdJY5K7J5qEIrlhRqDErlMLgN2jNm11T72QGLXHcp9rWc1Aok4w/yXJgVr+dOv9XeGJc7QR6GzI//H2FTHhOzJwD+z2Oh10Vp4A0bBjoMgM5/aLj/AMilok1pg5WZT+UaeEaKzMUKRj4OKQeRrbR91YOpfmDrirgvI76cDjX0gcqTglgEvakbZ2DDkTju3KunkBCEI0RrVZPXCKTwOesOb/xRLYzJSCTAC5h2zRTXvutAC+72/ogVpFHU6okFnbYoHwL4ejg0hX2l7AGT2HlekpkdQj/asFCIEn+BiD+jxNCt9AzWNXS9CJLjbDbxHDCLP8JVld1I8wBLDMC6BBBocdfIT4tg+92SK4qvsqzEyLzI9D3kwYd5qQw3SplXGExkxsgX0KhANZ/9jg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(346002)(366004)(39860400002)(1800799009)(186009)(451199024)(7416002)(6666004)(478600001)(86362001)(41300700001)(4326008)(8676002)(8936002)(38100700002)(5660300002)(316002)(66556008)(66946007)(54906003)(66476007)(6916009)(31696002)(82960400001)(26005)(2906002)(36756003)(2616005)(83380400001)(31686004)(6512007)(6486002)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmhqTzd1U2RQTCtWcFpBd0N5T1pXd2tpdnNXRGNPdVZNdjFPdElXU2F6VDlz?=
 =?utf-8?B?S05iaHBKdWZVcW82MkpSMUlWYTBUM2hlM2p0U3BQSDEvVVFkaENyRUdWTGFU?=
 =?utf-8?B?eHRjcmYwdWZKbjZpR2VRRFBSODY0cmhzSlYwTDBiZzFONFIvL1BoYjgxdGdR?=
 =?utf-8?B?RnhtTGRld29wczlOWEljU1hKMWRLenM1ZnlXTytKcFlVRloxd2Z0K2QzL2xM?=
 =?utf-8?B?ZU13YjVzMVNPQUpRYWtxNkcxZjZjb1JnaElac2lreDBadFJ0ckhqc0VIV3pn?=
 =?utf-8?B?cEdQSUNHaU1ocHZ2ckEvNUhtaGptbzRuUldVMFJXTUJ3Tms0SCtoYVBRVnox?=
 =?utf-8?B?c2pJb3d1SXAwd0Q4d2x6L1lnOG9kK3FjaTllelRMQXgrVFpDSlgxS1NHRzRE?=
 =?utf-8?B?TW00ZndrMGtZWkErY1FEVzBXdDA0aUZOYVlodEdNdUhmMWpDc3I5eEc1QzdC?=
 =?utf-8?B?V3hNZjJiTDFMaWo2TlpYdEJmd0JlanRZc05KaTlsQ3JYUllNQ2tITzR3WXRy?=
 =?utf-8?B?L1o5cG5QQi81ck5UdGRqNDg3bTRrSW5qenR4TmFTRHdwZXF6b1lkYkE2VVp1?=
 =?utf-8?B?K2lQVXl5RlI2b1FwMk9IR1RLWG9sb2dDZEtmczJhVnFIUUFHemtoSWpIZ0gx?=
 =?utf-8?B?VFhuZk0rMkhjWVpLaEh4TVoyVzFqT0RzcWxpWldVV1g1WVhZU2pKMHJIeTcr?=
 =?utf-8?B?OUNiUXk3Z3J0SHlCcUVrdG1kZnRNUndjUWthcHhDN3dtRE1lb0Y1L1RXcS9O?=
 =?utf-8?B?Uk5IL3g1OVFlbVNFL05XVk95bjI5SXZMUWplRkg1TWg5N0xDQUFWZTBHblJ3?=
 =?utf-8?B?bllZN3loWGxKRzV3VUYxS2RNQ3ZXd1NYZUZkNEdoMXdKTndBdUdjYjdHWktk?=
 =?utf-8?B?YlFkVU10Rk1JNnN0MkR0UlZubXc2WHVzUU04OTRVejJvT21pRlNuYkxCY0U0?=
 =?utf-8?B?ZHhZeStQNXFhNEx1NmpnbjMrYWppNDRHV05FMGpmT0dpUit3d2VTa0tsTmV1?=
 =?utf-8?B?ZThKTTVHM0kvMk00alo3eWVXTnBFM01mTzZrN2NUbjgvenROYkhxYUlEeTNB?=
 =?utf-8?B?VW9RTkdYSEV1eG56ZlJsMHpxbUZVTU1nYjhsb3h5VVFqMXh5T0dNTnI2OENK?=
 =?utf-8?B?VmdsMnk5VTZYOFhvKysrVVY4V1lpUHZPb1VGeHdha3IxV2syVUtLTkprSG5M?=
 =?utf-8?B?enFhK1dqT1JPZFV2eEpGUU85TVdQWGRQQlhSeUVSSFFqQW5GUXU4bEI0ZkFY?=
 =?utf-8?B?OTlZSjM0V1hsVHMrbGo0Y1RVbTVyUkFFV3FuTXlNNTBreXRWTFFoR2lzZUNk?=
 =?utf-8?B?YmFrd3E0UGNsSzZuSFZ4MUxRcVNDdVUvbzg1S01rR3BaWXI0ZSsvbjRvRXRV?=
 =?utf-8?B?TmlOMVEzZjdsTFhnRnJqMGhFQjgxVWtFc1c0T1BJTk9tQWJDQ0lYMUFGTkth?=
 =?utf-8?B?bWdncE9pbHFZNG0wMVdBNTR0ajB4RllISlAybU01QlgyVkdYRGprUllseVUv?=
 =?utf-8?B?OThsUVhWbzNTWUhTbFFNR25KcVYzNHdYajhEZVlxTjkxVzA0K0s2eis1TGor?=
 =?utf-8?B?SkZXQ3FjSEs5RnBwZnFmYlBnaEVYbTZwK1VGNElDYmVnMG5OZk5rTzgzeU82?=
 =?utf-8?B?MG5sRTEvQmR5ckFGSXFDOUtMR1RObnV4SWtQck1QYmxFbnFWSlZ2Zzk2QnVv?=
 =?utf-8?B?WDZrMDJKb2JmQUZOMVkvejY4RHdYNGV3SW1kTDhpR04rVy9PWVlMcGMvbWpJ?=
 =?utf-8?B?anB0UUlndTMrdGJENEdVcUxQakFuUDI2R3l5QzJsTk5RNXRqUHlISnVhNTFj?=
 =?utf-8?B?UWMzWXo4VE43Q3JJTWErS3Z1WGNqNVdBS0Z1VitLUXo4RnJBYWhWeTg2R2Yx?=
 =?utf-8?B?T0N3UHJJRG1QR1BFQkxpSzFrcmFneDBsTGRnVjNYY1lLc2ZFd1VESWJocFFn?=
 =?utf-8?B?WmRNUm9yU2xJYi9MMFVpcFhzZG1IK0dMOTJselVSMTYySzY1ekNqQWZKR21L?=
 =?utf-8?B?VXM2ZGlBRWJ5OG9MeFBGRXhIVUJidWxySGtIclRFV0M2djNXUTRKQ2J2aWJ3?=
 =?utf-8?B?RC9IeDdabXl4MEl3dzhnRE5IYXhlT2kvd3BwMXFUVTR4c2ZuR2p0YlBJSlZz?=
 =?utf-8?B?K3RaTXBCeWgyZFpHeG1PSDl6bDY5SkRya1ViZ2t2clhtVWtKZGF4N1oxK2Zr?=
 =?utf-8?B?c0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Y3Vta3U0blo5Sys4R3hLUFlhRnpnMmcxVDh3ZzZqSUR0S0pQdzUwejVVOEtU?=
 =?utf-8?B?TkI3S2FwTE9ZWnVMak9ubk5qM3ZDd1RlM1lwR3BHcWJvS0luRHJOUDluVFZT?=
 =?utf-8?B?aFJSbWpjbllRbFppVG1DaWlTN2ovNWMwOGxnMkU4bXFPcy95NkphS1NaVGlG?=
 =?utf-8?B?NFRTTnJhYTV6SU84QnJzSzJOU25IMU05NVo4VUVqTXhsTjF1UWRVWWNkRG9s?=
 =?utf-8?B?VmZaUXZWK1pTWmsvTDhJdTc1NnptSStEWUJnemZxdjRmUVY4RGtjWjJydlll?=
 =?utf-8?B?M2MzbmNGQ0JqOFMxVFQ1OVVFYStCR0dFY21UcStUYTNwRXBvQUUvaW85b1dZ?=
 =?utf-8?B?Q2ZOZFVZekg0MldEb2w4UkpHeHdmeXRkWWVBRWF1UUIxVjVKSkdjZ29hcWNC?=
 =?utf-8?B?bWNyeWd0cVY3RndMRmxHdHd1RlNodHpoaktTV3h3YnJYMVhWbUxOdnhobUQw?=
 =?utf-8?B?RUgyc01tb21lSXpXUElYRFRIVWRTU2xYSWlWVEJhYUJIaDdxeTkwdXRFRk4y?=
 =?utf-8?B?TGlpdHl4TGhrTXMwcGV0L2NLNmtVeWs1Q0hOK3pmcFFhOXZwc0FPNnZWbjN5?=
 =?utf-8?B?WkU0Q2EvR3lNMkJVY2tOMEZWd0pVTktuQ3JTNmprbG9HTFVQT0RCQmZKU085?=
 =?utf-8?B?QkptZ2E1aHBuelpSb0p6YWFrUGhjbDR5bzVGV1d0RFl6M00rZERpRWNtRGg1?=
 =?utf-8?B?UWd2L2VlZWpLZnd1bmZZbWdGNmIvVC9YemlYMEtaOGp6czdyQ0NBaEhBY0M0?=
 =?utf-8?B?Y25IclM0MHRoUHA0ZHJ5Nzl0YjJmbmUxN1JsSjZsem9Pa2Q5d0ozNG1PenVo?=
 =?utf-8?B?MUcvTW04ZUhXdXdyTDRpRDc3NXlnTytUaUEzN2VaNllZSFBiOFMxMzB4NFJH?=
 =?utf-8?B?cTdwTHdDQmsrcitTQ1JOWUZqeGZJZ0djclRIVjdLZEREWkxvQXZ3UGtyQkFx?=
 =?utf-8?B?WVBqbDJJaWw3MkM1WlpLM2RmbGg2WUFtNUswN21IQjdPNGZXb2tUTlJ5NFFU?=
 =?utf-8?B?N0U2ZFRPY0xlLzE1bTZ3dkRjUDZ5L0FrVlpVWG01VEpQNU1RbC9SQ2VBcjRo?=
 =?utf-8?B?QmZWSEozREdWL3lsMVl2N056RUt4OFdHSmxyVjg4UGdNTlJ6NXV1ZVlzb3pX?=
 =?utf-8?B?SklRT3ZxeUc5QjNKamtocnJQQW1NRmUzS2ZVa1lUWCszeEdBcllLZ3cyTHhj?=
 =?utf-8?B?VFZmUjFZTUcwN1VqNGNqalRjWjRUZVR5WXhCbVRmZTQ1dEpnVVFwbkJ3ZDJr?=
 =?utf-8?B?UE02SWZibE5uS0E0Z0tHZEU3NGZ5YWt5aFNxNEtPNEp4clB5cXNWTWlkaUN3?=
 =?utf-8?Q?Kd5mjKg0DGTl8=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76fdeb75-9e75-4cdc-40e8-08db9e8e8249
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 19:25:11.4167
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mxAogPkTX37P3eaKAzkvxAtrs4RU1IxsxeyQcZsQYFEofw9RkrZkqu1WFGsDbqzQPgg3Zsnr9Km6ZK5k+7BnsFQvANNisFjse1SFzUMGEdk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6486

On 16/08/2023 8:07 pm, Stefano Stabellini wrote:
> On Wed, 16 Aug 2023, Andrew Cooper wrote:
>> On 16/08/2023 1:19 am, Stefano Stabellini wrote:
>>> On Tue, 15 Aug 2023, Andrew Cooper wrote:
>>>> @@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
>>>>
>>>> +    sz = strlen(str);
>>>> +
>>>> +    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
>>>> +        return -E2BIG;
>>> Realistically do we want this buffer to cross page boundaries?
>> A 1-byte answer can cross a page boundary, even if the hypercall
>> argument is correctly aligned (and even that is unspecified in the Xen ABI).
>>
>> But importantly, this series is also prep work to fixing the cmdline
>> limit.Â  1k is already causing problems, and 64k is a whole lot less bad
>> than 4k when we enter such corner cases.
> OK. It is just that 64K seems *a lot* in this context. But if you have
> reasons to believe that 64K is a good number for this check then OK.

Remember that this is all Xen cross-checking (or reporting to the user)
the length of Xen-owned data.

If the system was only booted only 10 bytes of cmdline, this will only
be 10.

If OTOH there really was 5k of data, handing E2BIG to the user when they
ask for it is slightly rude but is infinitely better than just
truncating it and returning success.

64k is just the upper bounds sanity check for "get a developer to look
at what's going on because this probably isn't what you thought it
was".Â  Eventually when someone does find a legitimate use for a cmdline
longer than 64k, it will need upping, someone (else) can figure out the
long-running-ness of this scenario.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:28:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584907.915797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWMBx-00054q-I8; Wed, 16 Aug 2023 19:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584907.915797; Wed, 16 Aug 2023 19:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWMBx-00054j-Ew; Wed, 16 Aug 2023 19:28:29 +0000
Received: by outflank-mailman (input) for mailman id 584907;
 Wed, 16 Aug 2023 19: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=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWMBw-00054a-3z
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:28:28 +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 120667b7-3c6b-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 21:28:26 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DDCA461648;
 Wed, 16 Aug 2023 19:28:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88B31C433C8;
 Wed, 16 Aug 2023 19:28:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 120667b7-3c6b-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692214104;
	bh=95jWPGayTyKUnKaEAt6wzPHH99lXuTxO85EdvXTTLDg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g7Wy+ZIkq2cV4lLdM6PgtFSmo65XQq8Ya1Q4W3SIm9CdXERCtAP5NVyV2m2zGmQ8L
	 7KQX3LvQPHaeJ/jpb2MSzeDswRth8A2BqVMBSAjWmDid4TFTnI/HgrQwvILa+g+lHZ
	 2PalIrkFw1IKXNsVaMmZVFghb15Vofh9EMpKiM9M3GH2UsnDPz448TgrY4VxJejGkZ
	 DUvwyfe3pna6kiqDk9ONPWEmIevrTJDhs+RjqgZCxWRpmlIpWC0vOd5YTmLa7iIsUp
	 vyMGA0xYakBvh6unylLC77hTDwhbnk4illSMMi0ojJ4Qtyu4h1lBIesO2Jp3q9+k1r
	 RF1DlKEf/DMwA==
Date: Wed, 16 Aug 2023 12:28:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <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>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308161221580.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com> <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com> <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com> <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com> <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com> <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com> <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com> <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
 <e7e2eef0-5f88-e10e-81e3-57931f22f76a@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, 16 Aug 2023, Jan Beulich wrote:
> On 16.08.2023 12:47, Nicola Vetrini wrote:
> > On 16/08/2023 12:31, Jan Beulich wrote:
> >> On 16.08.2023 12:01, Nicola Vetrini wrote:
> >>> On 08/08/2023 11:03, Nicola Vetrini wrote:
> >>>> On 04/08/2023 08:42, Jan Beulich wrote:
> >>>>> On 04.08.2023 01:50, Stefano Stabellini wrote:
> >>>>>> On Thu, 3 Aug 2023, Jan Beulich wrote:
> >>>>>>> On 02.08.2023 16:38, Nicola Vetrini wrote:
> >>>>>>>> Rule 2.1 states: "A project shall not contain unreachable code".
> >>>>>>>>
> >>>>>>>> The functions
> >>>>>>>> - machine_halt
> >>>>>>>> - maybe_reboot
> >>>>>>>> - machine_restart
> >>>>>>>> are not supposed to return, hence the following break statement
> >>>>>>>> is marked as intentionally unreachable with the
> >>>>>>>> ASSERT_UNREACHABLE()
> >>>>>>>> macro to justify the violation of the rule.
> >>>>>>>
> >>>>>>> During the discussion it was mentioned that this won't help with
> >>>>>>> release builds, where right now ASSERT_UNREACHABLE() expands to
> >>>>>>> effectively nothing. You want to clarify here how release builds
> >>>>>>> are to be taken care of, as those are what eventual certification
> >>>>>>> will be run against.
> >>>>>>
> >>>>>> Something along these lines:
> >>>>>>
> >>>>>> ASSERT_UNREACHABLE(), not only is used in non-release builds to
> >>>>>> actually
> >>>>>> assert and detect errors, but it is also used as a marker to tag
> >>>>>> unreachable code. In release builds ASSERT_UNREACHABLE() doesn't
> >>>>>> resolve
> >>>>>> into an assert, but retains its role of a code marker.
> >>>>>>
> >>>>>> Does it work?
> >>>>>
> >>>>> Well, it states what is happening, but I'm not convinced it 
> >>>>> satisfies
> >>>>> rule 2.1. There's then still code there which isn't reachable, and
> >>>>> which a scanner will spot and report.
> >>>>
> >>>> It's not clear to me whether you dislike the patch itself or the 
> >>>> commit
> >>>> message. If it's the latter, how about:
> >>>> "ASSERT_UNREACHABLE() is used as a marker for intentionally
> >>>> unreachable code, which
> >>>> constitutes a motivated deviation from Rule 2.1. Additionally, in
> >>>> non-release
> >>>> builds, this macro performs a failing assertion to detect errors."
> >>>
> >>> Any feedback on this (with one edit: s/a failing assertion/an
> >>> assertion/)
> >>
> >> The patch here is kind of okay, but I'm afraid I view my earlier 
> >> question
> >> as not addressed: How will the proposed change prevent the scanner from
> >> spotting issues here in release builds? Just stating in the description
> >> that there's a deviation is not going to help that.
> > 
> > There is a deviation already in place. At the moment it just ignores 
> > anything below an unreachable ASSERT_UNREACHABLE(), no matter what that 
> > macro will expand to.
> 
> What do you mean by "in place"? docs/misra/ has nothing, afaics. And
> automation/eclair_analysis/ECLAIR/deviations.ecl is merely filtering
> things out of reports, aiui. (Plus of course there should be a single
> central place where all deviations are recorded, imo.)

Jan has a point: I think we should record all our deviations and unique
ways to interpret the rules under docs/misra. And the Eclair
configuration should reflect that. It is not a good idea to only keep
the information in the Eclair config because, even if it is now upstream
in xen.git, it is still a tool-specific configuration file -- it is not
a proper document. MISRA C and its interpretation is important enough
that we should have a plain English document to cover it (which now is
docs/misra/rules.rst).

Nicola, I volunteer to send patches to make any necessary updates to
docs/misra/rules.rst and other docs. Please send out to me a list of
deviations/configurations and I'll make sure to reflect them under
docs/misra so that they are in sync.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 19:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 19:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584914.915806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWMOw-0007tV-Iq; Wed, 16 Aug 2023 19:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584914.915806; Wed, 16 Aug 2023 19:41:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWMOw-0007tO-GG; Wed, 16 Aug 2023 19:41:54 +0000
Received: by outflank-mailman (input) for mailman id 584914;
 Wed, 16 Aug 2023 19:41:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWMOu-0007tF-HV
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 19:41:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0fad1c7-3c6c-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 21:41:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9413862CB1;
 Wed, 16 Aug 2023 19:41:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BD95C433C7;
 Wed, 16 Aug 2023 19:41:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0fad1c7-3c6c-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692214908;
	bh=jgkm8xLfvboqRUZ+0wiq2MHUaK40aBOzhktic6+bFE0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Vs76GPbonLel+OGWvTSS4xlqPpKpOA3anf+10MkTHDbj87rjvRsXkWsCWGdkYDFOQ
	 ERNJEycQIPXTaAEsooVHRjxiUwba9T1zFF3wWXPfk7XZthQagGEG8THeIbdarxZ6E/
	 QrcXoM8Ei8YV90DkCQZtvdNn2NYYJu//oZmF3uIHHLu+kZZp+TmXC0ieRaGKp42lsz
	 W2zrMqALn+XdI6HH1CvtCwsXs9fgG0R3K+xwdlzyF4Im0SC7FTgPgMuY8Y6xJy7Fjd
	 iOtZx1vjfx+9nI9pPOx8tPvAtLbbPOv8Jrm+zfKuW1ooJ95Dn0Od1Z8d3gNp7QK5fi
	 IAR3ZSr1N0cvA==
Date: Wed, 16 Aug 2023 12:41:44 -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 <xen-devel@lists.xenproject.org>, 
    "stefano.stabellini@amd.com" <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, 
    Ayan Kumar Halder <ayankuma@amd.com>, consulting@bugseng.com, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    roger.pau@citrix.com, Julien Grall <julien@xen.org>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: Placing of the documentation for MISRA C:2012 Directive 4.1
In-Reply-To: <95a86d69e97eb127a26f65cceb87e3bf@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308161232300.6458@ubuntu-linux-20-04-desktop>
References: <95a86d69e97eb127a26f65cceb87e3bf@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, 16 Aug 2023, Nicola Vetrini wrote:
> Hi,
> 
> it has been agreed during past MISRA meetings that Directive 4.1
> ("Run-time failures shall be minimized") shall be dealt with by documenting
> how in Xen such runtime failures are prevented, so by preparing a document
> analogous to
> docs/misra/C-language-toolchain.rst.
> 
> A common way to deal with this in ECLAIR is to create an header file
> and include it in at least one file that is part of the analyzed build, so
> that the
> checker can see it.

I am not following: why does ECLAIR need to see the documentation of how
we minimize runtimes failures in Xen?


> One obvious candidate for this is having a .h file inside docs/misra that is
> included
> either by a dummy .c file inside the same directory (and then build the docs
> in the analyzed
> configuration) or somewhere else (I came up with no
> good places where to include it).
> It could also be a standalone .c file somewhere else, but I don't think this
> would be the preferred way.

ECLAIR aside, I think the primary use of this document is to be read by
people: community members and assessors. So I think it would be best to
write it in a human-readable format and convert it to a .h file if that's
required for ECLAIR.

For instance, we could write it as RST file under docs/misra (RST is our
preferred file format for documents as it can be easily converted to
HTML and PDF), and then convert it into a .h file as part of the Xen
build system ("make xen" takes the RST file, adds #ifndef and #endif
arounds it, and creates a .h header out of it.)

If it is too difficult to convert RST to .h, then also a very basic text
document would suffice.


> You can see a possible draft of the structure of this file here [1], but
> providing the content
> here would require a substantial amount of collaboration with people having a
> broader
> knowledge about Xen and its practices to prevent the runtime errors delineated
> here, so
> a possibility is making an RFC patch to gather some inputs to fill the
> sections appropriately.

That makes sense


> As a side note, the directive should be added to docs/misra/rules.rst. It can
> be part of
> the patch addressing the violations, tough.
> 
> [1] https://github.com/BUGSENG/eclair_demo/blob/main/ECLAIR/MISRA_C_2012_doc.h


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 21:21:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 21:21:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584920.915816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWNwk-0001S2-6M; Wed, 16 Aug 2023 21:20:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584920.915816; Wed, 16 Aug 2023 21:20:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWNwk-0001Rv-3l; Wed, 16 Aug 2023 21:20:54 +0000
Received: by outflank-mailman (input) for mailman id 584920;
 Wed, 16 Aug 2023 21:20:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8vYs=EB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWNwi-0001Rp-E0
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 21:20:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5456498-3c7a-11ee-8779-cb3800f73035;
 Wed, 16 Aug 2023 23:20:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 49F066291A;
 Wed, 16 Aug 2023 21:20:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AF1EC433C8;
 Wed, 16 Aug 2023 21:20:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5456498-3c7a-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692220847;
	bh=UAa9jfrw9B31uxwZ3CgdtOpzmEcru9OUHJVUo9PeOy0=;
	h=Date:From:To:cc:Subject:From;
	b=cCCX4Nn6Z+nE8RRzqJi7tqZ6pd4Sgv7W9zHTRgKeMtysHe406Fh29qfdLG4iijQGu
	 mNpwNt5OUjrnEZLymlWobR1Si+RNDk9lZF4nq3+RqIwE1EGFnVam1IjdD0rGKw02Yd
	 rsNZISAiANuW0NTlg7oeso0xOWkmpH6cB+RyPfDV/CGor98vAeW7qTYHEAIzuqOHKj
	 wD8OErkPqdSVT/iUZWr/ev7Qy+OZl+W2x1Au/0Ut6gAjBZQaamMrA++YiGKUN/sarD
	 i0BLDqZwSOoqruewD72YjfUrTcNj3tX51rQOnQFy78KLkeN3y/fKtbey05iqFVo3+5
	 TLNmd0EsKzcfg==
Date: Wed, 16 Aug 2023 14:20:21 -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, 
    george.dunlap@citrix.com, jbeulich@suse.com, julien@xen.org, wl@xen.org, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, anthony.perard@citrix.com, 
    jgross@suse.com, cardoe@cardoe.com
Subject: [ANNOUNCE] First step toward "gating" Gitlab testing
Message-ID: <alpine.DEB.2.22.394.2308161242070.6458@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

The Gitlab test infrastructure for Xen has come a long way since its
inception. It has become a critical part of the Xen community
infrastructure.

As a first step toward the goal of making Gitlab tests gating (a failed
test blocks commits from entering the "master" branch), the committers
will soon start to commit patches to a git tree under
gitlab.com/xen-project rather than xenbits.xenproject.org. The change
will take effect at the very beginning of the 4.19 release cycle. The
Gitlab tree is [1] https://gitlab.com/xen-project/hardware/xen. (In case
of changes to the new Gitlab repository name, we'll provide an update.)

It will be a change for committers, but what does change for everyone
else?

If you are not a committer, nothing will change. The Xen tree on Xenbits
[2] git://xenbits.xenproject.org/xen.git will be kept up-to-date. The
committers will commit to "staging" on Gitlab [1], then a script will
automatically update "staging" on Xenbits [2].

Thus, you can continue to git fetch from your usual git source. OSSTest
will still run after the Xenbits tree [2] is updated and will still be
responsible for pushing to the "master" branch on success, the same as
today.

At first, the Gitlab test pipeline [1] will run in parallel to OSSTest.
As a follow-up step, we plan to run the Gitlab test pipeline before
updating "staging" on Xenbits, thus saving OSSTest bandwidth in case of
failures and keeping the Xen git history of "staging" cleaner. More
details will be provided at that time.

Stay tuned!

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 21:23:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 21:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584926.915827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWNz0-00022v-MK; Wed, 16 Aug 2023 21:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584926.915827; Wed, 16 Aug 2023 21: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 1qWNz0-00022o-Hr; Wed, 16 Aug 2023 21:23:14 +0000
Received: by outflank-mailman (input) for mailman id 584926;
 Wed, 16 Aug 2023 21:23: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 1qWNyz-00022a-Mp; Wed, 16 Aug 2023 21:23: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 1qWNyz-0003ce-Jf; Wed, 16 Aug 2023 21:23: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 1qWNyz-0001gX-7L; Wed, 16 Aug 2023 21:23:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWNyz-0001A1-6w; Wed, 16 Aug 2023 21:23: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=zzF2SglZbaPZeX3vUpQj0ubxEwYInTnj0azDdmFC5AI=; b=dIgMLaqMDloqfpV4NTIGlngbRz
	3LDTR8o9uRqCnZERP3XMx4vaUCiT1x77UIQAPZIAgJVxKbLYHVnTFwpx6dX5Ruqa1EE8NLo6RlUZ+
	huZvAAoNf3ona/W/1iQjpj/b1zGGTbThpvsQ6Z8BTsidwBluj9Q1DGDqz9hl7nrgYPMo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182357-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182357: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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
X-Osstest-Versions-This:
    linux=4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
X-Osstest-Versions-That:
    linux=2ccdd1b13c591d306f0401d98dedc4bdcd02b421
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 21:23:13 +0000

flight 182357 linux-linus real [real]
flight 182364 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182357/
http://logs.test-lab.xenproject.org/osstest/logs/182364/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail pass in 182364-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182321
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182332
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182332
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
baseline version:
 linux                2ccdd1b13c591d306f0401d98dedc4bdcd02b421

Last test of basis   182332  2023-08-14 15:39:46 Z    2 days
Failing since        182339  2023-08-15 06:40:27 Z    1 days    2 attempts
Testing same since   182357  2023-08-16 07:44:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Vesa <abel.vesa@linaro.org>
  Allen Hubbe <allen.hubbe@amd.com>
  Benjamin Bara <benjamin.bara@skidata.com>
  David Hildenbrand <david@redhat.com>
  Dragos Tatulea <dtatulea@nvidia.com>
  Eugenio PĂ©rez <eperezma@redhat.com>
  Feng Liu <feliu@nvidia.com>
  Gal Pressman <gal@nvidia.com>
  Hawkins Jiawei <yin31149@gmail.com>
  Helge Deller <deller@gmx.de>
  Jason Wang <jasowang@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mark Brown <broonie@kernel.org>
  Martin Fuzzey <martin.fuzzey@flowbird.group>
  Maxime Coquelin <maxime.coquelin@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Russell Harmon <russ@har.mn>
  Russell Harmon via samba-technical <samba-technical@lists.samba.org>
  Sam James <sam@gentoo.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Steve French <stfrench@microsoft.com>
  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                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   2ccdd1b13c59..4853c74bd7ab  4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 21:23:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 21:23:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584932.915837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWNzb-0002Ya-Uf; Wed, 16 Aug 2023 21:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584932.915837; Wed, 16 Aug 2023 21:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWNzb-0002YT-Qd; Wed, 16 Aug 2023 21:23:51 +0000
Received: by outflank-mailman (input) for mailman id 584932;
 Wed, 16 Aug 2023 21:23: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=yqiy=EB=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qWNzb-0002Vt-AG
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 21:23:51 +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 2fbe48bc-3c7b-11ee-9b0c-b553b5be7939;
 Wed, 16 Aug 2023 23:23:49 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1692221023200672.5864644894833;
 Wed, 16 Aug 2023 14:23: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: 2fbe48bc-3c7b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1692221024; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=m2j4qGffFfONvpN/1R5M6YIG7xiSKQAlLWgUyz090dJq9Xx0BXZIT8Va2lW27P6oIu6BWkZ5L+BbnlayFqHX3W303yjOEXEdjIbwQF/kH60MQTKThJH1iur87f28RIxOwwOETOfqzmfBDJ66lvUIwfRW63EjCV8uClzRRPGdlJk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692221024; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=KT01mhb799m2k4LZiUVoMF9byp8aBApAOHTsY7m13/U=; 
	b=INQbffp0vfMhJ+8whXSVx/Gr8cyPxDUEYyKsw72kFnpeoIuZksRy22OMw3j60C6g8Qp1XSwsIEn3gr+djuia/PuJKfjkQ89sHpbFrLmSwaKXe29VWwQ992XIfFyMRjCAxOAcvBbKkCg45b1XvpawXkHRYuTHWpPJXkg897yRyvg=
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=1692221024;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:To:To:Cc:Cc:From:From:Subject:Subject:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=KT01mhb799m2k4LZiUVoMF9byp8aBApAOHTsY7m13/U=;
	b=TL3N03PZLVKTUTqXPyrZmildGmf0TAQnHd+DIAK4XcbH2Xo8stiEm0i7IOAS5EWw
	EJgToSuSY2Gz8bCKBAXFQb3kmiGmLHVlpQ0P5enLBD41Mg9MQ1Zqg1Z4viTfnU3vAo8
	vfBWScoy1dGecXHQ+pHnwOXpQyIZjIlr/6Ckiodg=
Message-ID: <5c109314-67ba-d86c-d787-16046fe18e0a@apertussolutions.com>
Date: Wed, 16 Aug 2023 17:23:41 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Kelly Choi <kelly.choi@cloud.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Xen support in Bootlin Elixir
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

Greetings All,

I am sure most are familiar with Bootlin's Elixir code cross-reference 
project[1][2]. I recently submitted a PR[3] that enables indexing all 
Xen release branches from the xen.git repository.

If anyone would like to play with it locally, the branch can be found 
here[4]. If one is going to use the Debian dockerfile to build and run 
it, then you will need to modify the dockerfile as noted in this issue[5].

[1] https://elixir.bootlin.com/
[2] https://github.com/bootlin/elixir
[3] https://github.com/bootlin/elixir/pull/256
[4] https://github.com/apertussolutions/elixir/tree/xen
[5] https://github.com/bootlin/elixir/issues/252

V/r
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 22:20:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 22:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584941.915847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWOsQ-0000ki-23; Wed, 16 Aug 2023 22:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584941.915847; Wed, 16 Aug 2023 22: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 1qWOsP-0000kb-VF; Wed, 16 Aug 2023 22:20:29 +0000
Received: by outflank-mailman (input) for mailman id 584941;
 Wed, 16 Aug 2023 22:20: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 1qWOsO-0000kR-Df; Wed, 16 Aug 2023 22:20: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 1qWOsO-000577-9J; Wed, 16 Aug 2023 22:20: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 1qWOsN-0003DN-SO; Wed, 16 Aug 2023 22:20:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWOsN-0000eu-Ry; Wed, 16 Aug 2023 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9LJLhbxfsCZqckZiM0iBH6Mv3Wnjtig84OUEexsvGJU=; b=EVpoN4NvbcvHj4J9tZJbUl/px3
	7Cnqmf6MToI3XaBVBJuXZX1PuUMizW86je3Rb6O2G79epEgPs/mESq3taFSzajyQeWw9thJPkPwtL
	NOAGelSh+Ycpd3bcQMmUgAp3iJccUfGIjaWZe7yDbFaTKg8VGxHJ6+SfJXIXoSlAZCcI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182359-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182359: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=d0eabe3eaf0db5b78843095a2918d50961e99e96
X-Osstest-Versions-That:
    xen=2763c33c6e52583f4f599d0e195bf5b1b859df22
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 16 Aug 2023 22:20:27 +0000

flight 182359 xen-unstable real [real]
flight 182365 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182359/
http://logs.test-lab.xenproject.org/osstest/logs/182365/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 182365-retest
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install   fail pass in 182365-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182342
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182342
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182342
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182342
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182342
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182342
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182342
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182342
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-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-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     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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  d0eabe3eaf0db5b78843095a2918d50961e99e96
baseline version:
 xen                  2763c33c6e52583f4f599d0e195bf5b1b859df22

Last test of basis   182342  2023-08-15 07:59:08 Z    1 days
Testing same since   182359  2023-08-16 10:07:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.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                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-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                                  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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2763c33c6e..d0eabe3eaf  d0eabe3eaf0db5b78843095a2918d50961e99e96 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 23:49:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 23:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584952.915865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQGU-000106-Iz; Wed, 16 Aug 2023 23:49:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584952.915865; Wed, 16 Aug 2023 23:49:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQGU-0000zz-Fj; Wed, 16 Aug 2023 23:49:26 +0000
Received: by outflank-mailman (input) for mailman id 584952;
 Wed, 16 Aug 2023 23:49:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CG9s=EB=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWQGT-0000zt-Km
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 23:49:25 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 868fa5bb-3c8f-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 01:49:23 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by IA0PR12MB8085.namprd12.prod.outlook.com (2603:10b6:208:400::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug
 2023 23:49:19 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 23:49: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: 868fa5bb-3c8f-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N0dYzEWEP/ODVIt/A88RT2q/zGlCxPY3FvwXBKZntBC2ZcBRQzT1rWrJkz4YcZEwlXrEAtddgllf0q1DB8o4Dcf+62gzh40fo+OlFB7U2lu1N/EHAB9cMS3Vh1KgOcMy4Bahg8qZ1bDPS3Biu3+4LwuMt/EKoFLChwzUKPtWaN5lSH39LCKmTNdecM9sodP+ckLVbbAvxQlxS7wcqwc7eHWMGgs3DHLBJkRTfVY5MrDIui5MQXq+59/1ErnsWZT+cgxUFldlluKWvetnOvKAcMtyf7dRJm97VVNj3f9ZW0nWFJt5lSmQ3BuS2q4xV/9eX/yaJOwk9lDRikkSPoDm1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mv2pDIZT+BdcNGyfqnnd9d4TphEMH5kdaDyRiKt7+Ok=;
 b=jjtWANc2VTnKth3zMvYVIsB7cGu2I/10y49ezryP6Im2cOUdAcWYw5/em88VsW5Q3okD4wcp50yRQ/QjswpxVGyyo3ruJhDat622Qacq7/0Pqx663JwiV4PPxI+CtJbtes78kGzZkWqdh4Co0Xi1bYBbBtzt823Una2JfVD9fdHRO8V0G3iblxE49xJimoGt8BQ2c16fcrA1XCulraqqJENjcVLyHSI7uiccB/DZ+PqIdmrKy+FWxszMQxXimB+Mfz214JZhoOKCvpB+iiucRbXY6R9jk9f8do1riAndhlun4cJ+7g6TTB/G6mFLdFWrY7M7v6T8jcsdoVqQrF++SA==
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=mv2pDIZT+BdcNGyfqnnd9d4TphEMH5kdaDyRiKt7+Ok=;
 b=JcA/bFrSUlFX9lF0ssTPao/HcKr0QJ3J7RNP3zXVXayc6C7VIeddYNr6NjLvXtZO4pscv9XPYg55oUrk82Jz5wfiiTzs5x8P8Jjpkhnha7JHhxKNyZ/y6mpfB+SaRZQP/TLOUCj5xtyp+ptT/UIm5M+dpQu2OTJkc+mPads86Es=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 16 Aug 2023 16:49:15 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v7 04/19] common/device_tree: change
 __unflatten_device_tree() type
Message-ID: <ZN1ge4pmAmcllhov@amd.com>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-5-vikram.garhwal@amd.com>
 <ad9c88a0-bbbb-1ef7-0104-d201468897e0@xen.org>
 <308f68a8-9eb5-87d3-aaf0-61a6af33fd33@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <308f68a8-9eb5-87d3-aaf0-61a6af33fd33@amd.com>
X-ClientProxiedBy: SJ0PR05CA0046.namprd05.prod.outlook.com
 (2603:10b6:a03:33f::21) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|IA0PR12MB8085:EE_
X-MS-Office365-Filtering-Correlation-Id: 6dcf0fc5-a8f4-404b-9526-08db9eb36807
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ilNvQiVi25I5RFOtaQofE7YIWosoZttW50mgaJkjgUdIVchOTewaIpmCHt+yI5eJWM4dh3WzntDW8YLC8PhDwHSXGWzfAWtZ936KMZxU0wXaxVRkn5+stiiRoS7mvPO+HeFP4g/yr/GKl9ru5ItExpHjsAZmWiamMrMpoqoXnEUNhO0PDiErc/Gka3eKoCJmy+VabLYsK5nBS3U62wXDfgwtR70mMAEgFI99cdHgEwsXK6UfHNdtRi03SZazDXWDwGTUTjnCpuppK/iCy/H5s2FuXIAP6FNxw+ksfhv+aJ4+mKV1cXGi/48GErOLN4SpwBf6fD0QjbFfBjKbSewnn7H4hisH5gX64WtrwkkebjsfamAhLTKCqSLgGeTWfKJagMDPf4XQpSvjEq3E1N7a9bcq16j1bFiZxRi99Gd12cNrnFJsL24X+9B76sdAjOTe1bVHzOp7eVECmyCuJoFheULb+wrhfeQabyy/B/FWQa0VFWMgwyNJeYBmCCDI0UV/J1oPus7w68LGELuqBHPNwNVtFjvbmUHg3J7y9CDv68aD9VoNy//9xtp/LApKRo8t
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(451199024)(1800799009)(186009)(316002)(66556008)(66946007)(66476007)(5660300002)(41300700001)(44832011)(38100700002)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(53546011)(6512007)(36756003)(6506007)(6666004)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2VXQzc4NzdCbVpZTzNBRU5Mb0F0L094UWpUWXhJTExSVlhqOU9LMy9rUG5Q?=
 =?utf-8?B?T2hYalJLZ0pWZWhoMVpNaFd3cmhTVVVMcFpLY0NOUGVmckZzUnFWdU1JeEtJ?=
 =?utf-8?B?cGtGQmtJWW5yZ1RtdGhuREhtbkdvYUEvM2ZJNmJ4OWNKODZ4Ry9IQ2dxSGFH?=
 =?utf-8?B?ZjlMWXhPNnZDdk5ldFNkWVRGZE5MajZiUG03bDZTTFJxVW1tbVFYcGZxWW5h?=
 =?utf-8?B?UTVBUzc5d3YxYy92SFova0E3bEtwaldQQ0NlZHBJUGdWd1dBQVJWenJGUHc5?=
 =?utf-8?B?a2JDbFk2SVp5eUVHREpMYTFEaHZTbURPc3V1UVk4NlRvM2JUM0tmWTdYVkk1?=
 =?utf-8?B?TFRlT1VNZXpZNEcrck0wcHRoT2dDeWdYLzFzNjNiTnZ2NERYalBHRFh5T01t?=
 =?utf-8?B?Y3FaZzNNdXQxV24vOEpmTWlTYU9NQTJrMUFkZFlvSWlQYjVSTEtmWTJIMFZt?=
 =?utf-8?B?NndQTzVLN3Ewc3JQK3VCSXl2ZUEwMFp2R2ErM2VxTnVlaG00aSt3RXRJeUFu?=
 =?utf-8?B?U0JsdjB4aHZjaVdVakowZXlKVDdUZFFVOFNQenQrTkRPL3FreXNRNDE4SHpi?=
 =?utf-8?B?eHE5ajlKQWNJV013S0pZN3RxVXBGL0xhTU5jeDQ3UzRleEt1WVZ0eUk0bVJ6?=
 =?utf-8?B?WVBkaW5xc1FraEJrY041Y0hXOGtpUUxRMW5jUGdsOTVaSU12TlQ0Vm45YitJ?=
 =?utf-8?B?emt6dkxxWVZCT1VJUThkS2lTc0FhbWN4Wk5qbDI5UGFYejBaV2NRKzdrWUhm?=
 =?utf-8?B?MFZoZWtPMGF4cnc4MmdCaUlwQ1lFNlNvRFZCQUJwZ2VMVTJRaG4wYTZUUVd3?=
 =?utf-8?B?VTRFVVdiaEFsS0RBUUdueTZZamxvUkdtWE9DVHIyZ1pWTmJYU01Dd2VkcEtW?=
 =?utf-8?B?eU41Ry9WQWZDdHBYU0xEeEJGZmQvYjJYc3QyNFBKN0hLMVROeVM3WldrSXNs?=
 =?utf-8?B?dTI4VGNmQ1RlM0JldWl4WjQzeVFoaFlIRFBxcDduMFQ5Z1JKdFFnNTcyQmlz?=
 =?utf-8?B?Y00zbXJXQXptMjk4VU95USsrL3dUVFg0WW1pT0xsc3ozd3pmM2tiYVJ4WXhP?=
 =?utf-8?B?clplL2szUTk5T21JQ1dBbE9QNUJ3SjM1Z1NxaC9iNFV3WHk0RTU4VjRpR1VJ?=
 =?utf-8?B?VjlOUlUzWVhPcSt3dXZiZGFlSDJYbW5Sc1NYZit6RFNYOFozRERTdFVLb3VV?=
 =?utf-8?B?V2lCL0dyOGNPTmFOeDgrOUExeUZVbEJ3YUZNWUhGbGM0QnFidXdIL3h5dnpZ?=
 =?utf-8?B?SG9BQjNINHhNNTg4UTRjZ1d2eHJHL2J4Rkt3MVE5NFJZeTFyMjgzbGE4WHhq?=
 =?utf-8?B?eUo2ZGdKYUp1bkRLdjJUZFY2TER4WXI1c1VlMldnUTJkL3hJZXRsbDEySi9s?=
 =?utf-8?B?WHBEVzZwQU5RaERrN3hvaVRLWDU5ZnJKMnpYUFhGek5vUEZQRXJIT1FqWVFP?=
 =?utf-8?B?SkRnYnE5RDdaSy9nY0ozNlJla2R1U2ZZWnd1WDc2MXpVSVVtSTdpTWplK2Zn?=
 =?utf-8?B?SW54ZzJFNE9oMXZabkgwU1l3cGE0cVBOY1hwVGRCbm8rRjgrbURHY1YxbU0x?=
 =?utf-8?B?QXAxUFhOQUllUTk1alhlSmVQQ2Yrb2JTVWNiVUZoZkxKVU5DQ0RMaVZhamlr?=
 =?utf-8?B?ZGRGMnRVbGpCOHk3R3BRMzdxU0gvSllXdUJyR2FIZjJyMVlLTzVXZnUzQXZX?=
 =?utf-8?B?K2FzYVlSeFVPenEvZU53Uk90WFBZbGhkTjJDNklYUWg4MjBScDcwOG5lMXRq?=
 =?utf-8?B?d21IaDUrV1hWYzVVYkpXd25Wb3JrbFV2V2VvNk9KRk5YbEl3OFpiOWVKUHZT?=
 =?utf-8?B?QlpZb2NHWG9xcUpOREZNQi9GVW9iYm1aQ3k5ZzZZNlRZRzRYbldrQkJVcytR?=
 =?utf-8?B?MFg2dFVoYzRwNHZyRXZmL3FUWU1iQ1hXU2NaYlJSQ0JlYlMwSEVSQkRqb1Nn?=
 =?utf-8?B?SmhwZWhnNWFjb3ZHb21ZL1FSRHhpUlBZNVhFc291bnhHWi9VT0Z4d3BGdXVz?=
 =?utf-8?B?QlpHWHhqNmJ2QnRIWDNzZGhYUmljQnZQUHV5WUtQYlVqMUo4cDF3a1dvL1FT?=
 =?utf-8?B?SENKc0d3RUxsVWJidjIwT1M4WlAyNWJBR0xWRExxTkFta0Jib2FBOFA3bTZU?=
 =?utf-8?Q?YVp3NZRMLmvGew40K47hI6+qS?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6dcf0fc5-a8f4-404b-9526-08db9eb36807
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 23:49:18.8020
 (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: cTHnYuqhMBwACJlzdf1+dcgrFk7BnpR3mKg1Mn5F44UTQHxXfgNhgDoenQD4ryLFzDHUkmpjQf7csIdjH84nNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8085

On Tue, Jun 06, 2023 at 12:09:35PM -0700, Vikram Garhwal wrote:
> Hi Julien,
> Will update the commit message regarding why we need to export this for dtbo
> programming.
> 
> On 6/5/23 12:04 PM, Julien Grall wrote:
> > Hi,
> > 
> > Title:
> > 
> > 'type' is a bit confusing here. How about "Export
> > __unflatten_device_tre()"?
> > 
> > On 02/06/2023 01:48, Vikram Garhwal wrote:
> > > Following changes are done to __unflatten_device_tree():
> > > Â Â Â Â  1. __unflatten_device_tree() is renamed to unflatten_device_tree().
> > > Â Â Â Â  2. Remove __init and static function type.
> > 
> > As there is no external caller yet, please explain why you want to
> > export the function.
Update the commit message in v8.
> > 
> > Cheers,
> > 
> > > 
> > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > > Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> > > ---
> > > Â  xen/common/device_tree.cÂ Â Â Â Â  | 9 ++++-----
> > > Â  xen/include/xen/device_tree.h | 5 +++++
> > > Â  2 files changed, 9 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> > > index bbdab07596..16b4b4e946 100644
> > > --- a/xen/common/device_tree.c
> > > +++ b/xen/common/device_tree.c
> > > @@ -2083,7 +2083,7 @@ static unsigned long unflatten_dt_node(const
> > > void *fdt,
> > > Â  }
> > > Â  Â  /**
> > > - * __unflatten_device_tree - create tree of device_nodes from flat blob
> > > + * unflatten_device_tree - create tree of device_nodes from flat blob
> > > Â Â  *
> > > Â Â  * unflattens a device-tree, creating the
> > > Â Â  * tree of struct device_node. It also fills the "name" and "type"
> > > @@ -2092,8 +2092,7 @@ static unsigned long unflatten_dt_node(const
> > > void *fdt,
> > > Â Â  * @fdt: The fdt to expand
> > > Â Â  * @mynodes: The device_node tree created by the call
> > > Â Â  */
> > > -static int __init __unflatten_device_tree(const void *fdt,
> > > -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  struct dt_device_node
> > > **mynodes)
> > > +int unflatten_device_tree(const void *fdt, struct dt_device_node
> > > **mynodes)
> > > Â  {
> > > Â Â Â Â Â  unsigned long start, mem, size;
> > > Â Â Â Â Â  struct dt_device_node **allnextp = mynodes;
> > > @@ -2230,10 +2229,10 @@ dt_find_interrupt_controller(const struct
> > > dt_device_match *matches)
> > > Â  Â  void __init dt_unflatten_host_device_tree(void)
> > > Â  {
> > > -Â Â Â  int error = __unflatten_device_tree(device_tree_flattened,
> > > &dt_host);
> > > +Â Â Â  int error = unflatten_device_tree(device_tree_flattened, &dt_host);
> > > Â  Â Â Â Â Â  if ( error )
> > > -Â Â Â Â Â Â Â  panic("__unflatten_device_tree failed with error %d\n", error);
> > > +Â Â Â Â Â Â Â  panic("unflatten_device_tree failed with error %d\n", error);
> > > Â  Â Â Â Â Â  dt_alias_scan();
> > 
> > This function doesn't seem to be called in the case of the overlay
> > device-tree. Does this mean that it will never contain any alias?
> > 
I haven't seen any overlay example for FPGA use cases where alias are added.
I have added a TODO in patch 16/19 where we are calling unflatten_device_tree().
> > > Â  }
> > > diff --git a/xen/include/xen/device_tree.h
> > > b/xen/include/xen/device_tree.h
> > > index c2eada7489..2c35c0d391 100644
> > > --- a/xen/include/xen/device_tree.h
> > > +++ b/xen/include/xen/device_tree.h
> > > @@ -178,6 +178,11 @@ int device_tree_for_each_node(const void *fdt,
> > > int node,
> > > Â Â  */
> > > Â  void dt_unflatten_host_device_tree(void);
> > > Â  +/**
> > > + * unflatten any device tree.
> > 
> > Most of the exported function in device_tre.h have documentation. Can
> > you do the same here?
Done!
> > 
> > > + */
> > > +int unflatten_device_tree(const void *fdt, struct dt_device_node
> > > **mynodes);
> > 
> > NIT: From an external interface perspective, do we actually need to pass
> > an extra pointer? Can't we instead, return the pointer?
We will also need the error from the function. So, that's why i kept it as it is.
Please review v8. I will send it in few hours.
> > 
> > > +
> > > Â  /**
> > > Â Â  * IRQ translation callback
> > > Â Â  * TODO: For the moment we assume that we only have ONE
> > 
> > Cheers,
> > 
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 23:56:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 23:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584958.915874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQMu-0002Zs-7h; Wed, 16 Aug 2023 23:56:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584958.915874; Wed, 16 Aug 2023 23:56: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 1qWQMu-0002Zl-53; Wed, 16 Aug 2023 23:56:04 +0000
Received: by outflank-mailman (input) for mailman id 584958;
 Wed, 16 Aug 2023 23:56:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CG9s=EB=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWQMt-0002Ze-6Z
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 23:56:03 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7352f072-3c90-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 01:56:01 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH0PR12MB5645.namprd12.prod.outlook.com (2603:10b6:510:140::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 16 Aug
 2023 23:55:57 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 23:55: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: 7352f072-3c90-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aScrbhr7cx9BgGXcF2kxeT5H/dgfC651IVHnKRPddjCoNHgqHnLIhzseeSYiViaXdBk3j77jHkQ7tusk1fDl9YRK0HC/tYYJ2ozdXigIkbhmN0dmqkSHBNJlTWVypwuvDhlHdV8ilO+nh13gFK7ySQFKnBM8l93xYnN5uh8xCLuZIPPlP6sTA5C8pzoooT8w6iX8jcVrZT/6Z9R8NLZlevJh1XaXtndmZ7v0Zg220EfuC+1W8qYrGD3zXoS7JT1qU4WPcfVaJuGIkmqGJJ9l83d+IpItYpKRBEg/JDsj7v8NPbpzGNHai58EztvaHMwfJmo72H60B417A52O7OWZWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=isFgEM4EOujalJwah3nofj10h40PnbzgaB6MSvPv/yc=;
 b=ClA636JYlnHUHcgoWV2muROEf8moMjyECpFPqunLEe18s9RgyLZflL//FTtoKwsEhDCCiQ4tmWda4+URNm8il982z4zW941F2GIdJ2uFrAOB6KnlLKLIj+0bASUV9AAfiY7+eHFdOLds6K9NneECd6qXFnFFtyLTme/T97nnjDgLosuPRWP8f6gQDXjRnXVNx6f6nvZOsIS9KghtZChxslMNbR3/Wxy/L/xtcX2NqOd2UQypruLnaK5m6QvQ30EYkrclsj/3I2uhF/TspnKJsogszqyWFk9rigzFNKh3qbQYJRhedsGdA8B95zbCwzhXDnw9UNXxQsnp+1XwvFLTKw==
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=isFgEM4EOujalJwah3nofj10h40PnbzgaB6MSvPv/yc=;
 b=3zPAViUb69bdfsbx4N92QFNxRYX7ekKRnY4kOuEvDEGxF+POI+4peK+EUl9tiOUBwFX0AP5g/9eH0znbJwS/511Nw4Jt2c5Cb36JsT3HtdNHvch1E1/q2P5aWnwcl4Ey7lRXjelOFDgFeg+FfTbUtnNCLyfzC0G19CJhP9E5zkE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 16 Aug 2023 16:55:54 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN][PATCH v7 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZN1iCrswRO1t+cAB@amd.com>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-10-vikram.garhwal@amd.com>
 <831b46dc-eff8-b937-c0f7-57acc39afee7@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <831b46dc-eff8-b937-c0f7-57acc39afee7@xen.org>
X-ClientProxiedBy: SJ0PR05CA0018.namprd05.prod.outlook.com
 (2603:10b6:a03:33b::23) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|PH0PR12MB5645:EE_
X-MS-Office365-Filtering-Correlation-Id: c920d99e-e68e-44c7-1a0b-08db9eb455db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Yv32fHsfEChpwuOe5cQMJ2JElZAI71V2NtA7owiZB0ONhGGaKJWpTEF6hxbKRgneTvfErIgqEoKSZcrSIZBuag+YoJpA5H/9HVix9Hf8E6hF4jGnbMEV8hhIz5HKfhRt9p9bJa18R2o7ht5MDAjTBfKoJ+ovQPwjyZowX5k2EiUg4FMIo2UQ/I/3WYg97XEO+6EZGapxZdok1miwtufVy8ZM1O0JAyVRR/Ru2h9zB/m1jBG/M++LjqQv9JfQLhSJgNmT92TX88coY/8WONajwttnNzV9w1205aYL3+V6Gt/rGKnet7mOamICQzLl7mWm5ug20IDQKPUUC2tyKDJFfBcrukF9mXW3DZIuOCTBQv+3aOLplk2ZoWvXgayE9ssU3qyo6X9/VKpr3zpVmHlQ4/MVsOXdvkkvmsYHSIfhe1wnqKSfFYjG2dTA499FESIq4NoHg2BDQGVcEyimFRWgENvZ7qKFCfPYomg7ZzYGuybqkKPB3Pt0GYmhr0jUZrgRiugbSLsILBk/l24Rt8P6/Yza1BkEIftDe4FtEElLMR5suZvRU3+gXTcDc29/uElkWoqmrdK65i9iM720u1Md3q52gWpBuq0CXHF4fq1Z3W4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(451199024)(1800799009)(186009)(316002)(54906003)(6916009)(66556008)(66946007)(66476007)(5660300002)(41300700001)(44832011)(38100700002)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(53546011)(6512007)(36756003)(6506007)(6666004)(6486002)(2616005)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RzJJUExEK3Q0MjJZdjBDVGwzSmJMRWRXb3llYXR6TnNFQWxJN2lBc0xjTDJv?=
 =?utf-8?B?VWVGSEVzS21nK3ZUaDJnMmpFV3M5WjFUbTNzUk9vT0NqZWIza2tYUU1STG11?=
 =?utf-8?B?ZCsvUFBUUDBqN2VNUytMaTcvUWxURVlJWU8zTzFTVGJhQU9iZUZCWTQrdnhv?=
 =?utf-8?B?MHRpL3NSUVB5VjRLcFkzQkJ2UkhoSGJTckF1VnBZN1ltd0wzYUdjeEFLZHBH?=
 =?utf-8?B?Z3RWakRZaXQ1TmxlT2xCczl1amRvZlBIbjVXVndFWEVPbUZzMWhuc0ZkZGdR?=
 =?utf-8?B?VkhXcGQzUXoxV1FiUE5UanlRTTZVQXk1U3FKM3hCeFB0eHFNbEJSQVZ4d3FZ?=
 =?utf-8?B?YWNQS29kZExPQ1ZWTXRwR2YySldtam9UbWRYU2lnZ0ZZU2xUZjRBZFEydjd3?=
 =?utf-8?B?YWFzaU9nK1JmWTc5K3p2WGxMM1BIWDh4MVQvNG5CSWtpSUdtd1dhMFJRODBp?=
 =?utf-8?B?RWNtbXE4MG5RcWxaclEzSjZyNFNtVkRBU1ZQb1Y3RDE3QkVvWXFLd1hsUU5n?=
 =?utf-8?B?dTEzNFJjS1dBYisrRmY5eEVBRjdBYytTb1RiMWhxSHpxVUxxa0tkYTRaeUxi?=
 =?utf-8?B?c0VPeFg4YXJCTnRZLzZuU3dQK1IvY1FndDFLWUt2U1VrWTVOSG9laGN6eXB5?=
 =?utf-8?B?cjl1RzFqNlYveUFTU252SjJZaXdHTHVEbytOS2NhKzM1UmtXM3kxL3pLeGlk?=
 =?utf-8?B?U1NlTXE5Sm1Ud0xveURWckYwOVZCb1U5NWZCUmdBdTBOcFNkakx2WmJUMGNp?=
 =?utf-8?B?S2xZWnVuZFBaOWI4OVJyMTlUaGt0ejhnZWMrSlRoZ2tUSkt1ZmtYaTd6QlpT?=
 =?utf-8?B?ZVd2LzhFMWExTTh2Vkx3VzRQSCt2dGlncmdlMlFLZkNWR3ZYTWh2c1NFMWxC?=
 =?utf-8?B?NVNyb1J5RUdqdGtRZlJ1bFkrb2tEcFFacktnNG1pSisrMVpocXZxT1hrbnlY?=
 =?utf-8?B?Tjh4QWE0RXF1S3RkTUxWZVlpZG9kcTRPZFR5YUw2cnE2Q003eElpVTlqa3pU?=
 =?utf-8?B?bEdxcUpRY0FCODFHc2tlMGkyR1UzQnpIUEhLbXpuazRPR0JpVGJuUkdKOHVV?=
 =?utf-8?B?d2RQbkc3WWNxNnN6TXgzb2RlbkxQK3FsN2sxL0RWRWpaeHp4akFQeTRuYlpR?=
 =?utf-8?B?VmVPRk5UbGhMNGRMU0RVYXlUQ0N3ZVFqeWc5ZXhaOGZOQnhVUWF0ZUhiNC9i?=
 =?utf-8?B?NnVyTUpISFFBOXQ4R1F1T1lsVDJ3VGVsaUh2Mmw3eUFGcGptYXRuM1hWdzlX?=
 =?utf-8?B?Zkh3MWtIRG4zU0k3NHdobU1qOFFwMzNNcEVWZVRneTJIQTh1QUtoMlFwYWlX?=
 =?utf-8?B?QlBzb2RuaUhpVWlBTFgyWXZIcHhNeFg0bFAyYTFseGF1SjJHbkNBeEprcDVT?=
 =?utf-8?B?a0FHeE1QbjlSQ2l5cFdaamFPSlJIN3FXVEs2VzhPRkVMQ09rQWp1aU5wZzJ5?=
 =?utf-8?B?Z0gra3RuVGh3Y0R4WXAyRE1pUTV2VmNqQlV0aUExcDZpRFl0SWVKT1N0VmxE?=
 =?utf-8?B?bXJKdURCWG12c3BXRjJrYzFtbEJxT1ZxNmUrL3VjeUNPcmJ5ZnNiaGFjdlpy?=
 =?utf-8?B?QmRqc3YyMm90TVdTY1lBK0xhWDJpeWJWSHA1Zllza2Q2UFozUk81ZjB0UVhN?=
 =?utf-8?B?c25acFhDaWpmVmE1RFpnaXM0dDRkV2JscjdCUmcwdFJ6WjZhVG5aYkJaY1Qz?=
 =?utf-8?B?ck1NQmpVNmhxWFlKam1hcXFha2Frb2ZNTzdudXpRRmErQmEvZ1dVVTlscDF2?=
 =?utf-8?B?V3RmaCtHQ1M5akRyWXA1UWcrTFdUbXRtblBXaHdYMTVrZ0lxcDg2S1FkeHpj?=
 =?utf-8?B?UkZuSm1DZDF3T294ZVNtQUY2bnhQVER4d2RtaFpLTXlsUWprZ0NtWXNKZHNX?=
 =?utf-8?B?ZWhka0V1SlBQYjFHNHJ3UlFNRW01Y2YxMklTcnpwZTAwSzF6NHBNalNGbGgx?=
 =?utf-8?B?cWxvM2UzOWhrYkQ1Qnl5VWxBNWdxdGNENjNHM1hqL3F6UnVsMDhldGtTSUFw?=
 =?utf-8?B?dFc5QmFGVG9ocEdWZWhNUWduM0tMdGtlelJMaDkrbFJIbEZUTXdMZkl3ODM1?=
 =?utf-8?B?MUIvck9TcWF1QVlwa2JkbXhGOHhoZDBNejlQd012aldTTmZOWENYbTBBWTYx?=
 =?utf-8?Q?vQ4MQLfWRUYFJ3bHk0k18klph?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c920d99e-e68e-44c7-1a0b-08db9eb455db
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 23:55:57.6615
 (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: GwUgNJqykJbInVS4vkfJzMNQ6vXnO+U0WAqInLwmoLvrIQ0uYsiSMUzxHTO+js9iliq9+80GUvfzX+ciaobSSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5645

On Mon, Jun 05, 2023 at 08:19:38PM +0100, Julien Grall wrote:
> Hi,
> 
> On 02/06/2023 01:48, Vikram Garhwal wrote:
> > Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> > Remove static type so this can also be used by SMMU drivers to check if the
> > device is being used before removing.
> > 
> > Moving spin_lock to caller was done to prevent the concurrent access to
> > iommu_dt_device_is_assigned while doing add/remove/assign/deassign.
> 
> Can you explain if you are trying to resolve an existing bug, or this is
> something that will be necessary in a follow-up patch?
Updated for v8.
> 
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v6:
> >      Created a private header and moved iommu_dt_device_is_assigned() to header.
> > ---
> >   xen/drivers/passthrough/device_tree.c | 20 ++++++++++++++++----
> >   xen/include/xen/iommu-private.h       | 27 +++++++++++++++++++++++++++
> >   2 files changed, 43 insertions(+), 4 deletions(-)
> >   create mode 100644 xen/include/xen/iommu-private.h
> > 
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 1c32d7b50c..52e370db01 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -18,6 +18,7 @@
> >   #include <xen/device_tree.h>
> >   #include <xen/guest_access.h>
> >   #include <xen/iommu.h>
> > +#include <xen/iommu-private.h>
> >   #include <xen/lib.h>
> >   #include <xen/sched.h>
> >   #include <xsm/xsm.h>
> > @@ -83,16 +84,14 @@ fail:
> >       return rc;
> >   }
> > -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
> >   {
> 
> Please add an ASSERT() checking the lock is taken.
> 
Done in v8.
> >       bool_t assigned = 0;
> >       if ( !dt_device_is_protected(dev) )
> >           return 0;
> > -    spin_lock(&dtdevs_lock);
> >       assigned = !list_empty(&dev->domain_list);
> > -    spin_unlock(&dtdevs_lock);
> >       return assigned;
> >   }
> > @@ -213,27 +212,40 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           if ( (d && d->is_dying) || domctl->u.assign_device.flags )
> >               break;
> > +        spin_lock(&dtdevs_lock);
> > +
> 
> 'dtdevs_lock' was intended to protect modification related to any IOMMU
> change. But here...
> 
> >           ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
> >                                       domctl->u.assign_device.u.dt.size,
> >                                       &dev);
> 
> ... you also include "dt_find_node_by_gpath". Can you explain why and add a
> comment on top of 'dtdevs_lock' to explain what it is intended use?
I have added a comment in v8. There was a comment in v3:
"ensure that the "dev" doesn't disappear between the time we look it up". So,
i moved the lock here and for dt_host the lock is added in follow-up patch:
"common/device_tree: Add rwlock for dt_host". So, this all will happen with
dtdevs_lock and dt_host_lock.
> 
> >           if ( ret )
> > +        {
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> > +        }
> >           ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
> >           if ( ret )
> > +        {
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> > +        }
> >           if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
> >           {
> > -            if ( iommu_dt_device_is_assigned(dev) )
> > +
> > +            if ( iommu_dt_device_is_assigned_locked(dev) )
> >               {
> >                   printk(XENLOG_G_ERR "%s already assigned.\n",
> >                          dt_node_full_name(dev));
> >                   ret = -EINVAL;
> >               }
> > +
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> >           }
> > +        spin_unlock(&dtdevs_lock);
> > +
> >           if ( d == dom_io )
> >               return -EINVAL;
> > diff --git a/xen/include/xen/iommu-private.h b/xen/include/xen/iommu-private.h
> > new file mode 100644
> > index 0000000000..5615decaff
> > --- /dev/null
> > +++ b/xen/include/xen/iommu-private.h
> > @@ -0,0 +1,27 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > + /*
> > + * xen/iommu-private.h
> > + *
> > + *
> > + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> > + * Written by Vikram Garhwal <vikram.garhwal@amd.com>
> > + *
> > + */
> > +#ifndef __XEN_IOMMU_PRIVATE_H__
> > +#define __XEN_IOMMU_PRIVATE_H__
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#include <xen/device_tree.h>
> > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> > +#endif
> > +
> > +#endif /* __XEN_IOMMU_PRIVATE_H__ */
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * tab-width: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 23:58:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 23:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584963.915886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQPH-00039S-Mg; Wed, 16 Aug 2023 23:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584963.915886; Wed, 16 Aug 2023 23:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQPH-00039L-Hg; Wed, 16 Aug 2023 23:58:31 +0000
Received: by outflank-mailman (input) for mailman id 584963;
 Wed, 16 Aug 2023 23:58:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CG9s=EB=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWQPG-00039D-Ed
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 23:58:30 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca836e81-3c90-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 01:58:28 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH0PR12MB5645.namprd12.prod.outlook.com (2603:10b6:510:140::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 16 Aug
 2023 23:58:23 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 23:58:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca836e81-3c90-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jBoFE1aiRh8UNh+E8+XsG4I15LmBaSyYbJMtSpm5CGAV77LpbqaP9uUmXXe7FOzai1ALaHSRo6YEItVnJbwTKCW5h/eD+0mD0YRpjuMts4AH9Sa56KU30MDJqBPeV5Kcf2yYWleF9yZ0Zt85AUcp/vjwfwBY7fqFMKtZqIsWGl29JEYtmZkamEGUJoJDyFCy+8q+/XkyC6Enzfn9+JE8C6PsqSljtOU5c+X/YPA/RMXm1OBT/CYmKMpVTD3iKxpnPXuRjiPexdOEALWGmEBDH+XnSd4kjWsD8Q7Uy29mhspxJacA/V5qYklOFAIydsOzQlDPuUO81gGwvnBQReelbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CxpUVP2qWoQZBP9+wzeqy+5arL0STd0dmyUZ9D3fmn8=;
 b=MeeOuZ+4yoWyjbUH8rG9tFaWjnZBo503DI3Bi7e/0OWRcc6EDFklJv35hLTaDoO4B/0JvTNOmgSMAm1t4qa4y4e8LUgFG3l3VZXFAVz+sdi+7npRVVks5U5aWaSJH3ajjMWrIpEKDc8Xb/SJ/TVihxGNi68RctReQFHkLGH2BhtO25KiVJPzMIVatNutAzT1XuYyHU1auh7oxrMvmrGwwscugDbdron7K4FQknFcvb8l7dt9/IUXb/+OZ1VahYiEhTWuqGeOFmkLj3uQ5+H2Ppq5Xa65GDDIL1XLaaeOp8W7TEgQBUt8zQhgo2Jtb1KvqvshQNVkH3lyX1fP3w8vlQ==
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=CxpUVP2qWoQZBP9+wzeqy+5arL0STd0dmyUZ9D3fmn8=;
 b=cBb8vQrbRjRQl8h5B3osQ049AUaN/GpEVJcuWXlYO+xNPQ0mrAUAeSM84Efuw4282RVvjajd0xFmuf3UDsqzezbV81tlzxgOiEKzgc0hrpQ8yiDUIW6CgjYDx8avqCMus3Ch57VDkgwBLYdcwtAFx2u2nTOA3S7iXd3kE6d4ckk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 16 Aug 2023 16:58:19 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [XEN][PATCH v7 11/19] xen/iommu: Introduce
 iommu_remove_dt_device()
Message-ID: <ZN1im4gtMaPGwkjJ@amd.com>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-12-vikram.garhwal@amd.com>
 <dc5c6d44-32f5-9d16-af1d-a7b1f197b7b5@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <dc5c6d44-32f5-9d16-af1d-a7b1f197b7b5@xen.org>
X-ClientProxiedBy: SA0PR11CA0161.namprd11.prod.outlook.com
 (2603:10b6:806:1bb::16) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|PH0PR12MB5645:EE_
X-MS-Office365-Filtering-Correlation-Id: eb34a6d5-9236-4584-c309-08db9eb4acf4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A7fEnus+AIro1Ox74MOow/kNxaEETO2B++/BiweJRQKOuEHAI/Ksm6ZhU0HnnIniVJrKHTkCklEly1oiXuIYLkVWQusQMlJxd5/lxUiSB71njqOgBRi1q8E3P7KR3ic9e5VwNBp5XH+I2oN9zwanKscm29i4mY7iwYjFb6JIH3RuHiSjHfvXERIed88Q/eGFc4dDySDy/J7KRAuTtsW3xwqibuV4mULA1SCmj0/nUOSovDpJS7aiTdo0ZSxBS7mIk1PZaeYSz5EOP+/sM15j/m8hk3sMaNP/wONyYlK9kBqm8xhFY6XkfSOyvOBzroaRS97/0VocgbBE/uzq1BhqbLcv7UHdIkNFzxjwVagxHxQ65n1ClHIAqZroz9J7FOOfrrMoUN+Z15EBBEEOy36ripmBzS0Yw+gLkYbWnCSbw18vhkjT07f9KoLESD6Zk+nd4Lcgl2DodGquE/cqxK5+ONX3FgkEvjdMw9cyHzKAFv1PNZOVPXoAMH1PmX3ofZICnRx06f9gkxJeM2UCVBTZ36vIQb/WaInIw1OiQqprDpGNtYIjm7yVODx4sBjo0eGJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(451199024)(1800799009)(186009)(316002)(54906003)(6916009)(66556008)(66946007)(66476007)(5660300002)(41300700001)(44832011)(38100700002)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(53546011)(6512007)(36756003)(6506007)(6666004)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NmxXWGZOWHVOcHl3M0ZyNCtGV0dOUVRZajhVWjJoOWpqZDkvNWdKeCtob3lL?=
 =?utf-8?B?U3ltc01QZXAzSGIwKzFwQ1ZVYkNvVWF1N3pSUmtyeUR4bXd3Vm9IVGNIUGlv?=
 =?utf-8?B?NTF4dzZaeU80TzJveXJvMWNmN1RaUW9WSFUxOE5udmpMRDY4MVdEWkNjUGZ1?=
 =?utf-8?B?bUVwbExtYTdVRm5SRytvMms4T2pFaHkzYk5Pb3c1elpZTlJ5eVdjQzVja2lQ?=
 =?utf-8?B?c2Y4Y2x0RHVqKzkzMzVZY05Ed3BoMFdnbVF1ZTZTdzZ2bUJJbEd4UVp5bXhy?=
 =?utf-8?B?bE9Wc1BLNVJlWEpHc3FwQ3pHNG5RS1lzV1Bzb2Y1UnVieVpPZkhBZ1J2b01Y?=
 =?utf-8?B?eVVEdDUvVU9ST3JQWEpBNnZsVENUWXdEa3p0dE9ybGsrdVkyeWFRL2lSSGIr?=
 =?utf-8?B?YWVaMGUwMXdXaThxQktTYmUvdE9jTGdGTmo0eE1rTERaTmpZM3dBWURVZjkw?=
 =?utf-8?B?NkRNMUVvSjRYaElxVEtRc1hCN3pKY3lEakJ3aFc0NjcrRWxRb2FRVXg2NUNT?=
 =?utf-8?B?Wk5OdmJhMXZOZDFXeWt1M3hnWEMwR1p1aU54RkMxazRUY01FWTlESm5MWkFw?=
 =?utf-8?B?QVRwdkNUcnN2N0tCSTRZV2J5QTVqY1ZoOStFc3MydUxXcVFaeTJyTWJuQjA0?=
 =?utf-8?B?cTlzbDh5VnY0VXVmaWcrMkhCbW1DRGZvVkhmcFUwWlRsUjQvWXh5cUVnZGVw?=
 =?utf-8?B?VVZENDgyQkk4WFU0c1RMNlB5c0VkUjhpL0diQnZQN0ZqTFNIMm52RXB6WEQ3?=
 =?utf-8?B?eFdRSkFSODZHYW9vNUtpcTVMOUt3SURNVHFGNEI1R1I0cGhFVXhCdTQrR2lN?=
 =?utf-8?B?OG9Lb0o0SFllaFRCdVB6Y3N5VndwMXRxTEVSVzNITzQyWkN6dEF0NEEyM0hL?=
 =?utf-8?B?bnJkOTl2dXludVB0VjNQMGVLUGdSTzV0NFNSZFN1Tyt2Z0oranh0Vk1TaTlY?=
 =?utf-8?B?NnZML2htbDhQMnVqREdMaExJSG1jWXAvRzAvdUxXNUZEY1FPeUxyenVEaDMy?=
 =?utf-8?B?THFtMmZDdENFQ3FVZVVLN2RJSzdnajl4VHBjN0dPdmRFdytNUHZjVkJwbWlj?=
 =?utf-8?B?TW1oQUQycU1YMWJ1Yy8wSW85SHNycXMwSGgvWlhJblZXTVRDYjZ2RmtKcmpi?=
 =?utf-8?B?U1VQem1TUlN3K1NlbzRiU05ZNmhMUDU4Vnc0NWxrT1ZVUzBxejdtZm0zazJw?=
 =?utf-8?B?Umg5NW1xam1sWStVMFk4MStrajh0dHRmaFZqcndsd0NUOVljcVBXY0c1M0pJ?=
 =?utf-8?B?aG5aaGZiUWoyV25oRmJoaHgyUGtIcjJmRExpazRkRW13SmJpd09adnJsZk5B?=
 =?utf-8?B?bkJLa0xBQzREVTArTmRVSWpTM0t1anJ3bUZQdlM0SzdKS2d5WEVyWm55ZGxL?=
 =?utf-8?B?bjBnb0dXV0QraVlWZTRnMm81c3Z3bmNDUmhCU2R3MDVCd1FzL0kzUkdhWFkw?=
 =?utf-8?B?UEU2cjJDMEZPUStrOVB1a1BLR0JVdlBrWDJhSVBQSlo0V2NWeUswdGVaMHlt?=
 =?utf-8?B?TWpVMjZTSWhtYllabHM3OHR1eXJrZ1IrMWVTNGc1VnV0cGVYOXlsYlJ6and3?=
 =?utf-8?B?RlMwdFhadDZIYXo2QWMwV2VpRTFwNURhL3lQWFhqU3VobFo0S2txU2hoS3FH?=
 =?utf-8?B?TmNQUllnZzdzODhuR3lQMHVKcW9ZZW9kYWY1d0tkaWhhaVo3bklYbTA2ZFA4?=
 =?utf-8?B?TDVVL1RIUVBXcHZYd253ZGFvNFRhS29DRWVRdlRmZE9ObmlFYmhNTWdiOWxK?=
 =?utf-8?B?QndBTGxNL255Smh4T01pYUdEcFZvSDR0emFIS3lxYmxOUk9PaUZPMk5sQ2xT?=
 =?utf-8?B?UGROL01ySXAzUS90MnNOajAwZkd3NkRVaXRoYlV0VFNwZ3pWRzFNT1NzOVov?=
 =?utf-8?B?TEd5dFUxeXNYN0hQa1MzdjVpUmducGlOendiUVJ1dFIvK05KZExwSHpWcFhq?=
 =?utf-8?B?cklucEtFS0hiL0VuSEEveVVIT0dmV1JFNHR3dy9DZzBibDdZK0hXVVB4U1Bi?=
 =?utf-8?B?cUJXdndKOEwwSUt5SVpXTXFvaGI0cU91NW1qaTMrTHg3Rm1BS2tGc3F3RUZZ?=
 =?utf-8?B?bXZ4VkNXSjZ5RDBsY0ttRWRNd2NJZlhUTmFISHc5Tm84WUpoSGt0Q1RBeVo1?=
 =?utf-8?Q?63Tw62o7t9uHQo6r5noT6GDHR?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb34a6d5-9236-4584-c309-08db9eb4acf4
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 23:58:23.8214
 (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: BYao4y5D94kGNGLLO2ISV9lrJKaW9L0QwhaFKZeU6RXB7JXjmSjKnEF7Ft+wY6W1r2XCVsjtbpqy7LiWlnKCFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5645

On Mon, Jun 05, 2023 at 08:37:03PM +0100, Julien Grall wrote:
> Hi,
> 
> On 02/06/2023 01:48, Vikram Garhwal wrote:
> > Remove master device from the IOMMU. This will be helpful when removing the
> > overlay nodes using dynamic programming during run time.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> > Acked-by: Jan Beulich <jbeulich@suse.com>
> > ---
> >   xen/drivers/passthrough/device_tree.c | 41 +++++++++++++++++++++++++++
> >   xen/include/xen/iommu.h               |  2 ++
> >   2 files changed, 43 insertions(+)
> > 
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 8cc413f867..301a5bcd97 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -126,6 +126,47 @@ int iommu_release_dt_devices(struct domain *d)
> >       return 0;
> >   }
> > +int iommu_remove_dt_device(struct dt_device_node *np)
> > +{
> > +    const struct iommu_ops *ops = iommu_get_ops();
> > +    struct device *dev = dt_to_dev(np);
> > +    int rc;
> > +
> 
> iommu_add_dt_device() checks if the IOMMU is enabled. I think you should do
> the same here as well and return 0 if it is disabled.
Added iommu_enabled check in v8.
> 
> > +    if ( !ops )
> > +        return -EOPNOTSUPP;
> > +
> > +    spin_lock(&dtdevs_lock);
> > +
> > +    if ( iommu_dt_device_is_assigned_locked(np) )
> > +    {
> > +        rc = -EBUSY;
> > +        goto fail;
> > +    }
> > +
> > +    /*
> > +     * The driver which supports generic IOMMU DT bindings must have this
> > +     * callback implemented.
> > +     */
> 
> It is not clear to me why you want to mandate remove_device when using the
> generic IOMMU DT bindings.
> 
> But if this is really necessary, then I think the comment should be placed
> on top of the callback definition rather than in the caller.
Added a comment on top of remove_generic in smmu.c
> 
> > +    if ( !ops->remove_device )
> > +    {
> > +        rc = -EOPNOTSUPP;
> > +        goto fail;
> > +    }
> > +
> > +    /*
> > +     * Remove master device from the IOMMU if latter is present and available.
> > +     * The driver is responsible for removing is_protected flag.
> > +     */
> > +    rc = ops->remove_device(0, dev);
> > +
> > +    if ( !rc )
> > +        iommu_fwspec_free(dev);
> > +
> > +fail:
> > +    spin_unlock(&dtdevs_lock);
> > +    return rc;
> > +}
> > +
> >   int iommu_add_dt_device(struct dt_device_node *np)
> >   {
> >       const struct iommu_ops *ops = iommu_get_ops();
> > diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> > index 405db59971..0d7924821b 100644
> > --- a/xen/include/xen/iommu.h
> > +++ b/xen/include/xen/iommu.h
> > @@ -229,6 +229,8 @@ int iommu_release_dt_devices(struct domain *d);
> >    */
> >   int iommu_add_dt_device(struct dt_device_node *np);
> > +int iommu_remove_dt_device(struct dt_device_node *np);
> > +
> >   int iommu_do_dt_domctl(struct xen_domctl *, struct domain *,
> >                          XEN_GUEST_HANDLE_PARAM(xen_domctl_t));
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 16 23:59:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 Aug 2023 23:59:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584970.915894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQQR-0003l5-20; Wed, 16 Aug 2023 23:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584970.915894; Wed, 16 Aug 2023 23: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 1qWQQQ-0003ky-Vd; Wed, 16 Aug 2023 23:59:42 +0000
Received: by outflank-mailman (input) for mailman id 584970;
 Wed, 16 Aug 2023 23:59:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CG9s=EB=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWQQP-0003ks-VS
 for xen-devel@lists.xenproject.org; Wed, 16 Aug 2023 23:59:41 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e88::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f57c991f-3c90-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 01:59:39 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH0PR12MB5645.namprd12.prod.outlook.com (2603:10b6:510:140::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 16 Aug
 2023 23:59:34 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023
 23:59:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f57c991f-3c90-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I67ik43iutKnhJiwiL6NDUwO8cFPF86T8WDEQktuyD9mvQUqAE1GiRMkUmeWOmWEJVfjnxnTkgx+6medivtRe2W/SO+w4PgKqQs0TejIg7/K1C3eZH9IhlT0Qy2UyINmOO9MNr78ffChTqvVUQGeFLwGLwrdP3QeZgwcK3OrdxVpucVV9XglCvusNiUJhChLXf74kJ75ZlOE0CpA6lRwGvczUzNEH4+2xYNivAixtf2S0+ke6KP5f937vRuCZB01h/UckeUnFbFulBchjfcs3ZZGQ4bjwZEwHTMH2QJWJP68W6QGbnc+98Wvv2EZTwdGy4hJhgNgqIDiKuWiSWBrug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H5TVXQkLYBwgN5LfKFT3rt8q1/lXissJsVvieSoB4F8=;
 b=Rh9ovsVDkPVve72ZqYFEIQcbzbKDBBW53zhTFqnfzZ1x8pqi1ZiVjC1nGn/TCMjQayDBWqkLwYYKP4ffLYg8KU1/eyZ5STmzKnT/Zx8AtqbqKj2ZUAzb9pmbBK9r3uMufFT1Pwg5bMjhmnue1PumwzeXq4748y+n3VRaMqEXZeLGlMld5I2qRY8JmCCtU1vcl6kMn1PEJVmMeuNV/DIs3sfw2lrmGs7hhFnG4x2G3Ls05psENgn33myoxoIOowsmBTzaSpm/672reGOQStO+HlkH3PcRl7DhC06N1ZII9EVvAcI7EuCQ+JxxVMcxt2zMxOsglWZT7vLcCVqd6If2QQ==
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=H5TVXQkLYBwgN5LfKFT3rt8q1/lXissJsVvieSoB4F8=;
 b=DdgwxlPCifElr3W2LC040CD8z2nrSsY0IKNK6jo7ycyFwQyihYTFFGK4/ffl65clTt0eKwUtAOwDHPLowNqdfUrC3qEEwhDmWr44Qk9ZC5pto2k50t9WqiTFFjAMycmauSWAM/dSNiiIhP5oKW1J2Sy1kqW/RmPtBG+Sgpos9eo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 16 Aug 2023 16:59:31 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v7 14/19] common/device_tree: Add rwlock for dt_host
Message-ID: <ZN1i41j7JD9yheTy@amd.com>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-15-vikram.garhwal@amd.com>
 <6e15489a-5213-3b8e-0b99-277c0ba989c3@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <6e15489a-5213-3b8e-0b99-277c0ba989c3@xen.org>
X-ClientProxiedBy: BYAPR02CA0024.namprd02.prod.outlook.com
 (2603:10b6:a02:ee::37) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|PH0PR12MB5645:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b4c4a82-063c-4d29-31dd-08db9eb4d723
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N/SbRH8jirY7ycSfVoESeefJb5Y26RQ8yrQHRIRtwwILU6pexTU6ybA4RLTagEDVyOSie9PPZX9bgkqTyHl0HThfWXmiJM39iNEmGXauCle3VuxwGA8zbALX2Y6NiXbHY1Y1yNVq1af0haOeeH+5QvzVKl8psITuHKgKYUKR6A20iekGxRT3QGfV7OVx2MhDiFyvzi8Cadzm83GFKOGjIDbqH5sZZ4AT27zPIj2tqPDZ9WQt/7TCPxyZEv7iAiQylu/+JkwHGa4AUKcBAa2KCyJP0JiqiQfPAfwg38UoGca2bXPuja/gJAKfrdgRL9x4FrqQajGBpoImdDMcxQRh50btKst+TsayfPLavImT5U8gMOTfVWdaPNsSz3o+Yyi8lg7giD8Qpy89vz1ewdzsd+14kzKmcP/7x8vrB+hfw8ArCY3G4R7mzW1rHa/koBEQcVUgBxstPaOGfhqLqkplAw6ysSegWu2rUr2xP+LZJkjcZT9qMkDlugjRBIuEbAiQfSIrM0UbqqS2rzBzjDuAqlBSDxdZd87HJ2m+FvRfwYNNygO23DQmXb42qLAgPmps
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(451199024)(1800799009)(186009)(316002)(6916009)(66556008)(66946007)(66476007)(5660300002)(41300700001)(44832011)(38100700002)(8676002)(4326008)(8936002)(2906002)(83380400001)(26005)(478600001)(86362001)(53546011)(6512007)(36756003)(6506007)(6666004)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTd3cTRySlVzcDlEMXdxTHFiQkJudjdHOTRhYi9XRi9aclhmWE9CeS9VTmpV?=
 =?utf-8?B?T1hqRlM1bnd0cGxtRHJkTEZsYUhJL2VQRVRqZmthZ09hZXBBa0lxWXRpMURh?=
 =?utf-8?B?d3k4QlZUNnRPYXhUYjVEWjdkRlg0cGRZdHAvenNXaXhLRjR0ZXMwWExKd2dV?=
 =?utf-8?B?RDRTaENpNlB2bmovc0JGMlpQZVF4RVZaTWZXN0lzQTdiWHF2VkhabGFIMlZV?=
 =?utf-8?B?ZC9lWkhWWm43UnBQQnhEcTgwVG1uK2tRZ2xaNk1mN1hzczdnN1VxV0lBQmhO?=
 =?utf-8?B?RWlNRk9STFJZR2Q3TFFYdklvdzhFeXJDWlJnR3E0YUw2TUxQMHR4WTk2RXEx?=
 =?utf-8?B?WWJwNHUvSk5obXhjdXE2Y0RWYjBFOERJd1o3ajhVWncyL29qOWRIM0QybE5C?=
 =?utf-8?B?cEQ2bGdtMjlGSjRYeTl4QjA2RnpFK1B2QkdRdmVROGJ5d1FiRkdicFFpR2pJ?=
 =?utf-8?B?Vkl6WSttQk9vOGNmaTRmYU94c25wOS85UEZLQ1lTaG5TK0gvMXR4ZHZPUnU3?=
 =?utf-8?B?eEpRZW5KNGg3djM4VEtLZSsvQk5XZUdTbFVhYmo3SlVRbml1UlVvd2lkN011?=
 =?utf-8?B?Vjh4TE5EOXFjK0NKbVNvVEsyTHpRc01BcHluMnNJSkFJb3J6RjNPSE1FK0dx?=
 =?utf-8?B?T3NXWWl2c2doNnNXWlZvU2NmUXd5akhVMlNBNEhreFlxeVExTE1VdHZjZU5k?=
 =?utf-8?B?YUg5N3ZsZjJXSGZqd2xTdUZrZWpkcDExaGNTd1IzdDJoUVlUZ2ZPZU14UE9i?=
 =?utf-8?B?UWg0TlYvbTRvRStFdmlraUI5S29mek1CemZHN09OejlVdnVLbDlGZUduYlgv?=
 =?utf-8?B?c2lHblVkaTFlWWRVYk94TDZldlZDQ0pFZVliOFZkSERDc2puenZzT0JJY2hD?=
 =?utf-8?B?VDFRK1pTM3dhMWhQeU5uM1ZOSDcvT293S1kyaDIvN3NFNm1TMENmc3U2VEZH?=
 =?utf-8?B?NDBQazNiV3BhOUxIeXBmZk5HVEpudXdiNkZ6Z0d6OG1IcldROS9EMmk3Z1l4?=
 =?utf-8?B?bWRucTZHNGJOUXBtUVdETDdYQlM2R0lOK2NCOVN6Q3RtTmpvRE91dXJkMGdW?=
 =?utf-8?B?NTJCKzR4Q1NLVVE2SlA0WGNqOVNmcHZsa1VicUpmZ1hNSUZlcDNnRW1wSk0r?=
 =?utf-8?B?clZCamFyZm5tNWl4dGd3QkdQbmNGNUh4a3lnVDFmbEM3MDVMakQ2bklMUWNF?=
 =?utf-8?B?OFg4bDZ5TWJURmhqaVE4dElMMWdoeEJVYW50ZklHV29ESnZJZVFKNmpGNklZ?=
 =?utf-8?B?WWFxYmJPaU1ycXRVdEdnYWE3TlNZazR1d1lGZ1BuMy9GWVhMRDhDMGduUkpm?=
 =?utf-8?B?MlRmc1hVK2haSHlSdFpqUkFlNWxKazRDQXFSRGFyYmJ1UEJzVmxiM21SREVB?=
 =?utf-8?B?OUhLK1FjMlJzSW1Kek15SVpDTzBlOUdrcTMyMnUzUlRieVhlNzlQK3I4MVd6?=
 =?utf-8?B?MkthRklRN2x5d0Q2YjEzTzA4YnZsaHZvKzdiWkZySFNzS3RnVW55L3I0Unhu?=
 =?utf-8?B?SkI5VU5QZCthQXJsVW5LelpVNzVvVTdNZ1I3SzdUQWg1MFk5MkI2S1hBL1Vn?=
 =?utf-8?B?YjkxeWlzeFAvR21SanBPOGRQb3BaaVFQREVsdEtEcEF4RDFyZW5ERzhsNWNP?=
 =?utf-8?B?RXF2b1ZtVExoNmtHOUM2K09PT1ZCY2VjTHRKM3JJTUJWUE01Q0NDbHVwSVg2?=
 =?utf-8?B?SXdyUzVHSUNnOXFLaE45aHdBeUM2emhjKytOUEFWaE1PaGdJblpXYndRdW4z?=
 =?utf-8?B?eHpuREpKZ2ppMmZaSVNLaUkwVGJOdFdxVWNpY001ZCtsV3BtUHNDcEZiOEJX?=
 =?utf-8?B?QXpCcHEzZGlnOFVTOE00L3FoekdPOWd6Qk1FT0swcEdiYmFXZFc4WWxpNHpB?=
 =?utf-8?B?ZXcrRTJ6dGpLdG1WNWM4RC9QUTkwZVFVWDRkOHBVcFZ1a0JVNGx6RTh4YXBj?=
 =?utf-8?B?ZWc0UzgrREhyRHloZ1g2MjBLemdMSi8xaHppRm51MVM0WDdPVDRnNmVWREdI?=
 =?utf-8?B?VFRWOFNYMWF5WDJ6S1ZnQVY0dzdlVlpBYnJ1blNqOHpwSkJqTTExQ2gxZ1hs?=
 =?utf-8?B?djFzc3kxRFAvY21hRHZBdmZUb1hrUHpFVUtTVFVYNW5ZNWZvcWpSS1RjTlNj?=
 =?utf-8?Q?bdMY/n8HiXvRZ11UJ7CccXED7?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b4c4a82-063c-4d29-31dd-08db9eb4d723
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2023 23:59:34.5494
 (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: r7g9qZ1bV9BtKvxgESpfmwZhx6W8T8TaDysSbGeu67phd3GEO9zad4mov6I+9DcRIgVJbqZt6nlmRtPQsTJPmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5645

On Mon, Jun 05, 2023 at 08:52:17PM +0100, Julien Grall wrote:
> Hi,
> 
> On 02/06/2023 01:48, Vikram Garhwal wrote:
> >   Dynamic programming ops will modify the dt_host and there might be other
> >   function which are browsing the dt_host at the same time. To avoid the race
> >   conditions, adding rwlock for browsing the dt_host during runtime.
> Please explain that writer will be added in a follow-up patch.
> 
> > 
> >   Reason behind adding rwlock instead of spinlock:
> >      For now, dynamic programming is the sole modifier of dt_host in Xen during
> >          run time. All other access functions like iommu_release_dt_device() are
> >          just reading the dt_host during run-time. So, there is a need to protect
> >          others from browsing the dt_host while dynamic programming is modifying
> >          it. rwlock is better suitable for this task as spinlock won't be able to
> >          differentiate between read and write access.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v6:
> >      Remove redundant "read_unlock(&dt_host->lock);" in the following case:
> >           XEN_DOMCTL_deassign_device
> > ---
> >   xen/common/device_tree.c              |  4 ++++
> >   xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
> >   xen/include/xen/device_tree.h         |  6 ++++++
> >   3 files changed, 25 insertions(+)
> > 
> > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> > index c5250a1644..c8fcdf8fa1 100644
> > --- a/xen/common/device_tree.c
> > +++ b/xen/common/device_tree.c
> > @@ -2146,7 +2146,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
> >       dt_dprintk(" <- unflatten_device_tree()\n");
> > +    /* Init r/w lock for host device tree. */
> > +    rwlock_init(&dt_host->lock);
> > +
> >       return 0;
> > +
> >   }
> >   static void dt_alias_add(struct dt_alias_prop *ap,
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 301a5bcd97..f4d9deb624 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -112,6 +112,8 @@ int iommu_release_dt_devices(struct domain *d)
> >       if ( !is_iommu_enabled(d) )
> >           return 0;
> > +    read_lock(&dt_host->lock);
> > +
> >       list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
> >       {
> >           rc = iommu_deassign_dt_device(d, dev);
> > @@ -119,10 +121,14 @@ int iommu_release_dt_devices(struct domain *d)
> >           {
> >               dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
> >                       dt_node_full_name(dev), d->domain_id);
> > +
> > +            read_unlock(&dt_host->lock);
> >               return rc;
> >           }
> >       }
> > +    read_unlock(&dt_host->lock);
> > +
> >       return 0;
> >   }
> > @@ -246,6 +252,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >       int ret;
> >       struct dt_device_node *dev;
> > +    read_lock(&dt_host->lock);
> > +
> >       switch ( domctl->cmd )
> >       {
> >       case XEN_DOMCTL_assign_device:
> > @@ -295,7 +303,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           spin_unlock(&dtdevs_lock);
> >           if ( d == dom_io )
> > +        {
> > +            read_unlock(&dt_host->lock);
> >               return -EINVAL;
> > +        }
> >           ret = iommu_add_dt_device(dev);
> >           if ( ret < 0 )
> > @@ -333,7 +344,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >               break;
> >           if ( d == dom_io )
> > +        {
> > +            read_unlock(&dt_host->lock);
> >               return -EINVAL;
> > +        }
> >           ret = iommu_deassign_dt_device(d, dev);
> > @@ -348,5 +362,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           break;
> >       }
> > +    read_unlock(&dt_host->lock);
> >       return ret;
> >   }
> > diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> > index e239f7de26..dee40d2ea3 100644
> > --- a/xen/include/xen/device_tree.h
> > +++ b/xen/include/xen/device_tree.h
> > @@ -18,6 +18,7 @@
> >   #include <xen/string.h>
> >   #include <xen/types.h>
> >   #include <xen/list.h>
> > +#include <xen/rwlock.h>
> >   #define DEVICE_TREE_MAX_DEPTH 16
> > @@ -106,6 +107,11 @@ struct dt_device_node {
> >       struct list_head domain_list;
> >       struct device dev;
> > +
> > +    /*
> > +     * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
> > +     */
> 
> From the description, it sounds like the rwlock will only be used to protect
> the entire device-tree rather than a single node. So it doesn't seem to be
> sensible to increase each node structure (there are a lot) by 12 bytes.
> 
> Can you outline your plan?
Yeah, so intent is to protect the dt_host as whole instead of each node.
I moved it out of struct and kept a single lock for dt_host.
> 
> > +    rwlock_t lock;
> >   };
> >   #define dt_to_dev(dt_node)  (&(dt_node)->dev)
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:32:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584977.915905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQvm-0000ke-Em; Thu, 17 Aug 2023 00:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584977.915905; Thu, 17 Aug 2023 00:32:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWQvm-0000kX-C0; Thu, 17 Aug 2023 00:32:06 +0000
Received: by outflank-mailman (input) for mailman id 584977;
 Thu, 17 Aug 2023 00:32:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWQvk-0000kR-Mp
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:32:04 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ab24012-3c95-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:32:01 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by CYYPR12MB8702.namprd12.prod.outlook.com (2603:10b6:930:c8::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:31:54 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 00:31:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ab24012-3c95-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cNuo8QtF4cc/jjxS6y2/86l7+aekwQ6eFgcO23A31XRGUTK+4G48gQC+37nNZYzW9pj+gzE6ic9Qo2JQtVqWz1WxT7QAmlBvtHnvm1xXGOw1gkp4+XlHLgClydGSoGSpJUBqLl6mcW3trxd18szZB37mdJi0v57guFWu0KfXAm5cFmNP9XL4VamSf7WCvgmalPvvygL50gRvlQygd4ZEvIo2jRKPHocMc9x0x+1yx9PhoPM+pDmJM37ElbuHpQfsMgIY4HEwM95RMFVaMoo4E9tIhEzl0z2PdorSI7cRws8rGeM55JZaOK2/zlvOphNNyRPj3cKr+JTr3Nfq+zETaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QAWia6PSozJ7vu2WsSMESsSKkg1WqcaFUVoioHc2RW0=;
 b=QRiBhbaLIomYi/TQXPDL5FDKl2zQO2ljaeX1k6aB2Q6Wr8wFHMmChjcnaEQL41GY5CLL9AExx5rBo1qdECqKf4RjnbbSknTOIexx4NqQWuvzWklIxjB+44c3Y3kkkThreMV90hYV0E7PL4Rd+ofBvvm5h4G6ktdhtkWFFUIX0L/Wa47bYL/BHq45swkmdrlogVbZaBM0G/aTAexfjYIr8fiMDGALc4zG0hPzGzcMyNWxoNNtMOflHfkWuQhQJVjSi/UqEVGpBRirqzfdFWX2TPbVbnfFWaRd8fc0JBZ6noGMchekCizIacWOPTKkGQ/M+JMl1dzAx/qfqboxkGqbEA==
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=QAWia6PSozJ7vu2WsSMESsSKkg1WqcaFUVoioHc2RW0=;
 b=QmaVMs0moJn6Pb2RwnqpX44VpJaVstRdSol7/ertbQomQ69D6NcYrBGKi3x459zZcvsWk/69MRJdAlXvaOA90ixzlR02QQa32Y5Pj6tT/2v+eo2DLG+EinjKDFtsK2/oyifRR3E1ltff2evkkaO1uTgfDlh3DCwYBa9sxf+ch+Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 16 Aug 2023 17:31:36 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN][PATCH v7 15/19] xen/arm: Implement device tree node
 removal functionalities
Message-ID: <ZN1qaMn+5GONuzmS@amd.com>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-16-vikram.garhwal@amd.com>
 <e1597b22-a756-5141-e7d9-5fd60a9a05ff@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e1597b22-a756-5141-e7d9-5fd60a9a05ff@xen.org>
X-ClientProxiedBy: BY3PR05CA0044.namprd05.prod.outlook.com
 (2603:10b6:a03:39b::19) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|CYYPR12MB8702:EE_
X-MS-Office365-Filtering-Correlation-Id: c027d470-2d3c-42a2-19ce-08db9eb95b58
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ghAWP5Qhce3t2CqAcfr3LWB+PkJMxlNyWjhGeCSBSpmqWkRFhCedmIp1ZniwjSfh4lBfZh/HSDS7HP8I7laelH6wjSRmKUHqPYWODLEW8zo9kYY5ET3xXh9etT8uu0m9JjBZ1Nzqc6aGr1KV5h99JizHFMe0dEW526Dx6wKZ+wTeTTqJyB0LAP4bcD/F3WylpcguqPfYsB5gTVofXl3WYglRM+zVhcmwR92Mh9vdt5Ie2byR4Q9XuRixSL/WU4GqtYM90sN3X6S47E2n28YpjiAO/v2fz5muuAscCrSt6NrrD3Ntsd0lrRXVOc4+9fOMghHH6b+64jB3oo2mgx7KFqEl6O3UHdLl4+jVP3AVmKF8lB3TBKzxmYQR7gXYYY0H0X+7Tj23q5Pu0fmsLn2Iz7ZGKoSGhRMIxflq+CDrY7GExtRVi9bcpl1FvIQDJgerOJYYISdtvn08eUSPiwll1J3noGFzyhy+p0xY2AOjJsTzXuWsWTBzXiUajoOdwNwe
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(136003)(366004)(376002)(451199024)(1800799009)(186009)(316002)(54906003)(6916009)(66556008)(66946007)(66476007)(966005)(5660300002)(41300700001)(44832011)(38100700002)(4326008)(8936002)(8676002)(26005)(30864003)(2906002)(83380400001)(478600001)(86362001)(53546011)(6512007)(36756003)(6506007)(6666004)(6486002)(2616005)(333604002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bU9xWGlkUkdVaFRycnR0NTNPa25Oa2Q0SHV4SlBCUTVaQ2wzQXd5b2tjdEJO?=
 =?utf-8?B?OVBZQ0UvR0ZDVE0wQkg1blVpajhIZXZOdUxQbU5OMHVuYmYxWVMzZ0ozUmM4?=
 =?utf-8?B?bmtkN0NVWW4zb1k4M3pJcEw2QzNxMDAvREdwdWcwUVZOSGh1Y2dFRE9XeVhS?=
 =?utf-8?B?c05WMVVISzNndTU2bytkRlYyTGhKcGJWNmNQaS9CSWlRVWlqRllrRlNWdGRS?=
 =?utf-8?B?OXVVbG1hVUNKKzhNazF3bHBNdXZmSExkRUNZYWJITHpTVWpxRkIyV1pOWHVU?=
 =?utf-8?B?UlhRSjZxOURiUjBQdmh0bU5EaThyRklmR09qbUlFZDZLSE1ldERYWXdMd0pQ?=
 =?utf-8?B?TDBRU1JoZTI5NHRRRVVNbTZwbnNuZEYwbEw4OTlJc2Q4MExaUjhtU21tMUtn?=
 =?utf-8?B?TFhxak1vdUpBdnh1ZjNuTzVDUDNGVm96ZkFmMkVDN0FvcXpEY1VjVkJzaWpu?=
 =?utf-8?B?eE1BbWdqVk5mb0U4Y2t3czRsbjEyeHNRVVpXQ2NMOEQ2TkYvdGVlUjBua0Z3?=
 =?utf-8?B?ZHVKdTNjUG1NcS9CSGZrcE45TW5ydnRHbEJxMk5JK29GazR2Zk55UjlJei92?=
 =?utf-8?B?TjNIZ1g5OWU4Lzd6bTg3dFBLV3R0bm5UNWZYNG5aWmRucW5tUXNGaitwL2Fx?=
 =?utf-8?B?cThCRXFFNitMYklUbVJhVjFJWmZOUjQ5alpTMmdnaUtYYkp6UGV5WEViNnRj?=
 =?utf-8?B?QUtaOVo4eU5IMURnYzFIc1Y4S3hTMm9PWUFjTzg4a0duSnhiSEpYbXRscjlC?=
 =?utf-8?B?NlZ1YUNtUnFMMlFmZlhjZ3RCekhDRlU5aDIrSGdsd1RzLzBWZDBVK3B6dW9D?=
 =?utf-8?B?OE5oTGl6d2dSWWltMlViWHF0WUs0aVJoQlpjME1ZaUxOQnNKUTVrdjdPUzlJ?=
 =?utf-8?B?WEhZTUR3TnkzMmc1Q1ZUaFVySS9BSWZMd2l2aWVEOWZqTmt4SHM3a1dualJi?=
 =?utf-8?B?WUh3KzZFa2t0VUpMSE14N29hdUJubk5weXdrL2xRSzV4NmE3QXRjSjY4aEVB?=
 =?utf-8?B?dmFYbEUwUHo2UFpBVWl0QlNtU0JRMUFwU0tuWUtLV3VzV0VwcUFBK040SGRR?=
 =?utf-8?B?UWNrd0E3WENhVnpXbVFtZTNZWDJNR2lDdWpwWTU5T0diS0VORzcwZzllSUVS?=
 =?utf-8?B?YmF1Z3ZvSDlDS3lCcDk0SjNuamFvcWhOK3BMdHIzbEZyd1BORzI5Vk52SU9p?=
 =?utf-8?B?VGRWLzk2T1hhZjVEZ0wwTjdDbWJ0RVVYQlBxTmlGWktoMVVNNjFPNlVOZzVU?=
 =?utf-8?B?cEkzNDNhcVI2M0kyTklCdmRKOGE2TkVuMUxVdFIvTmtneUNNcG01Rzdzc0c3?=
 =?utf-8?B?R05vL3pvbTRPN3RVYmhudjVOakNJL2oxWUNpZUdsRmhvMEl0cWJwcitnenRG?=
 =?utf-8?B?MUFqVzBBSkQ5R1ZxWU5HQmFGR2tXOTA2Mks4VFFhVEtlV3VPdjI4c0pYbm9l?=
 =?utf-8?B?anVZbC9KbUxqRk1OcWZ1S1I2dmVwRjNWZFErUitrMlovRStJd0dpdDc1UWFV?=
 =?utf-8?B?VjBKb25zaERtOGR2TWkwbEpTTG8ySllwa0t4VUVhaWNUQU9YbG9hcDFNQXNW?=
 =?utf-8?B?MmpxSkhIbWxrNXFFZGdLSWNVVVQwYzQ4MU1aZUYzcVZIZit6MGxlTEZSdnBn?=
 =?utf-8?B?NWgxNXQ3RjRtVXhFVkxoVzIycTZEL3lKT3ZyUHQ3SnpHdHI4ZE9TeWMrYUtM?=
 =?utf-8?B?clNHN0VpQlp1cGFkcGQ4dGphY2ljdGF0bWI2VllkK1lYRTNZakpRUm44Z3RR?=
 =?utf-8?B?d0o1Y0drN3NrZWx6NXpNQlNOOS9FZDBRVHVJbXVtbUVCdUJnSGp1RnpGK2l2?=
 =?utf-8?B?WGhUNmFzVUdNSUFMSTh2U244cmQ1L1JJSExwZE5yL3N3eTlzVnpleC9ieXI5?=
 =?utf-8?B?NytYYmU1MWJtQXRuTzRhZHRZODIzSWZBa1VXUjBNcHdnQnZPUXJJdzhxVWJV?=
 =?utf-8?B?c3ZQSEVBblZ2OFZNeGtCNk1HcFF3cUZNOXdhbzF0K3pXc205eFgyT0NhbVdD?=
 =?utf-8?B?c0dQT1hCdGxYRHBETlVBRVlOeEErZEpjSkhLTGN4K1NVWUpOREZoOURIK2xZ?=
 =?utf-8?B?RTh4QndQNDdid2tyZVdRWUdFMHlBc1F2a1kxQzZocTNqalg1Vi9wbWZNZnFN?=
 =?utf-8?Q?Wd0QUK3HY1xlb2wnjj1RjLlhv?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c027d470-2d3c-42a2-19ce-08db9eb95b58
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:31:54.3789
 (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: mKm95CpDVPIb+xWakuT9ARDn0SnSTXYGhYUNU7GMe5PYyDiFb79HWvDM0OeGDfWK70Mraq4FllgsJngm+KbKaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8702

On Mon, Jun 05, 2023 at 10:07:48PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 02/06/2023 01:48, Vikram Garhwal wrote:
> > Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
> > device tree overlay.
> > 
> > xl dt-overlay remove file.dtbo:
> >      Removes all the nodes in a given dtbo.
> >      First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
> >      in dt_host and delete the device node entries from dt_host.
> > 
> >      The nodes get removed only if it is not used by any of dom0 or domio.
> > 
> > Also, added overlay_track struct to keep the track of added node through device
> > tree overlay. overlay_track has dt_host_new which is unflattened form of updated
> > fdt and name of overlay nodes. When a node is removed, we also free the memory
> > used by overlay_track for the particular overlay node.
> > 
> > Nested overlay removal is supported in sequential manner only i.e. if
> > overlay_child nests under overlay_parent, it is assumed that user first removes
> > overlay_child and then removes overlay_parent.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v6:
> >      Add explicit padding for xen_system_dt_overlay{}
> >      Update license.
> >      Rearrange xfree in dt_sysctl()
> >      Update overlay_track struct comment with relevant message.
> >      Fix missing xen/errno.h for builds without CONFIG_OVERLAY_DTB cases.
> >      Fix header formatting.
> > ---
> >   xen/arch/arm/sysctl.c        |  16 +-
> >   xen/common/Makefile          |   1 +
> >   xen/common/dt-overlay.c      | 420 +++++++++++++++++++++++++++++++++++
> 
> I think the new dt-overlay.c wants to be added under the section
> "Device-Tree" in MAINTAINERS.
Updated MAINTAINER in v8.
> 
> >   xen/include/public/sysctl.h  |  24 ++
> >   xen/include/xen/dt-overlay.h |  59 +++++
> >   5 files changed, 519 insertions(+), 1 deletion(-)
> >   create mode 100644 xen/common/dt-overlay.c
> >   create mode 100644 xen/include/xen/dt-overlay.h
> > 
> > diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> > index b0a78a8b10..8b813c970f 100644
> > --- a/xen/arch/arm/sysctl.c
> > +++ b/xen/arch/arm/sysctl.c
> > @@ -9,6 +9,7 @@
> >   #include <xen/types.h>
> >   #include <xen/lib.h>
> > +#include <xen/dt-overlay.h>
> >   #include <xen/errno.h>
> >   #include <xen/hypercall.h>
> >   #include <public/sysctl.h>
> > @@ -21,7 +22,20 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
> >   long arch_do_sysctl(struct xen_sysctl *sysctl,
> >                       XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> >   {
> > -    return -ENOSYS;
> > +    long ret;
> > +
> > +    switch ( sysctl->cmd )
> > +    {
> > +    case XEN_SYSCTL_dt_overlay:
> > +        ret = dt_sysctl(&sysctl->u.dt_overlay);
> > +        break;
> > +
> > +    default:
> > +        ret = -ENOSYS;
> > +        break;
> > +    }
> > +
> > +    return ret;
> >   }
> >   /*
> > diff --git a/xen/common/Makefile b/xen/common/Makefile
> > index 46049eac35..e7e96b1087 100644
> > --- a/xen/common/Makefile
> > +++ b/xen/common/Makefile
> > @@ -8,6 +8,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
> >   obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
> >   obj-$(CONFIG_IOREQ_SERVER) += dm.o
> >   obj-y += domain.o
> > +obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
> >   obj-y += event_2l.o
> >   obj-y += event_channel.o
> >   obj-y += event_fifo.o
> > diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> > new file mode 100644
> > index 0000000000..b2a7e441df
> > --- /dev/null
> > +++ b/xen/common/dt-overlay.c
> > @@ -0,0 +1,420 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * xen/common/dt-overlay.c
> > + *
> > + * Device tree overlay support in Xen.
> > + *
> > + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> > + * Written by Vikram Garhwal <vikram.garhwal@amd.com>
> > + *
> > + */
> > +#include <asm/domain_build.h>
> > +#include <xen/dt-overlay.h>
> > +#include <xen/guest_access.h>
> > +#include <xen/iocap.h>
> > +#include <xen/xmalloc.h>
> > +
> > +static LIST_HEAD(overlay_tracker);
> > +static DEFINE_SPINLOCK(overlay_lock);
> > +
> > +/* Find last descendants of the device_node. */
> > +static struct dt_device_node *
> > +                find_last_descendants_node(struct dt_device_node *device_node)
> > +{
> > +    struct dt_device_node *child_node;
> > +
> > +    for ( child_node = device_node->child; child_node->sibling != NULL;
> > +          child_node = child_node->sibling );
> > +
> > +    /* If last child_node also have children. */
> > +    if ( child_node->child )
> > +        child_node = find_last_descendants_node(child_node);
> > +
> > +    return child_node;
> > +}
> > +
> > +static int dt_overlay_remove_node(struct dt_device_node *device_node)
> > +{
> > +    struct dt_device_node *np;
> > +    struct dt_device_node *parent_node;
> > +    struct dt_device_node *device_node_last_descendant = device_node->child;
> > +
> > +    parent_node = device_node->parent;
> > +
> > +    if ( parent_node == NULL )
> 
> Is this trying to check if we are trying to remove "/"? If not, what's this
> for?
> 
> Either way, I would suggest to add a comment explaining what this check is
> for.
Yeah, the check is to make sure we don't remove the root node. Update the code
with comment
> 
> > +    {
> > +        dt_dprintk("%s's parent node not found\n", device_node->name);
> > +        return -EFAULT;
> > +    }
> > +
> > +    np = parent_node->child;
> > +
> > +    if ( np == NULL )
> 
> Why would parent_node->child is NULL if we found the parent from
> device_node?
This was a sanity check to make sure parent->child exist to avoid accessing a
NULL pointer.
> 
> > +    {
> > +        dt_dprintk("parent node %s's not found\n", parent_node->name);
> > +        return -EFAULT;
> > +    }
> > +
> > +    /* If node to be removed is only child node or first child. */
> > +    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
> > +    {
> > +        parent_node->child = np->sibling;
> > +
> > +        /*
> > +         * Iterate over all child nodes of device_node.
> 
> I am not sure how this matches the code below. I think it might be better to
> explain why it is necessary to find the last descendant. AFAIU, you seem to
> rely on the fact that allnext will point to the next children and every node
> in that list up to the last descandant will be under device_node.
I added explanation as comment. Hopefully, it's better now.
> 
> > Given that we are
> > +         * removing parent node, we need to remove all it's descendants too.
> > +         */
> > +        if ( device_node_last_descendant )
> > +        {
> > +            device_node_last_descendant =
> > +                                        find_last_descendants_node(device_node);
> 
> This indentation is not nice. Can we shorten the variable to
> last_descendant?
Done
> 
> > +            parent_node->allnext = device_node_last_descendant->allnext;
> > +        }
> > +        else
> > +            parent_node->allnext = np->allnext;
> > +
> > +        return 0;
> > +    }
> > +
> > +    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
> > +    {
> > +        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
> > +        {
> > +            /* Found the node. Now we remove it. */
> > +            np->sibling = np->sibling->sibling;
> > +
> > +            if ( np->child )
> > +                np = find_last_descendants_node(np);
> > +
> > +            /*
> > +             * Iterate over all child nodes of device_node. Given that we are
> > +             * removing parent node, we need to remove all it's descendants too.
> > +             */
> > +            if ( device_node_last_descendant )
> > +                device_node_last_descendant =
> > +                                        find_last_descendants_node(device_node);
> > +
> > +            if ( device_node_last_descendant )
> > +                np->allnext = device_node_last_descendant->allnext;
> > +            else
> > +                np->allnext = np->allnext->allnext;
> > +
> > +            break;
> > +        }
> > +    }
> > +
> > +    return 0;
> > +}
> > +
> > +/* Basic sanity check for the dtbo tool stack provided to Xen. */
> > +static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
> > +{
> > +    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
> > +          fdt_check_header(overlay_fdt) )
> > +    {
> > +        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
> > +        return -EINVAL;
> > +    }
> > +
> > +    return 0;
> > +}
> > +
> > +/* Count number of nodes till one level of __overlay__ tag. */
> > +static unsigned int overlay_node_count(const void *overlay_fdt)
> > +{
> > +    unsigned int num_overlay_nodes = 0;
> > +    int fragment;
> > +
> > +    fdt_for_each_subnode(fragment, overlay_fdt, 0)
> > +    {
> > +        int subnode;
> > +        int overlay;
> > +
> > +        overlay = fdt_subnode_offset(overlay_fdt, fragment, "__overlay__");
> > +
> > +        /*
> > +         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
> > +         * overlay >= 0. So, no need for a overlay>=0 check here.
> > +         */
> > +        fdt_for_each_subnode(subnode, overlay_fdt, overlay)
> > +        {
> > +            num_overlay_nodes++;
> > +        }
> > +    }
> > +
> > +    return num_overlay_nodes;
> > +}
> > +
> > +static int handle_remove_irq_iommu(struct dt_device_node *device_node)
> 
> How about remove_resources()? This would avoid to miss the fact you are
> removing MMIO mapping as well and make the name a bit more palatable.
Changed in v8.
> 
> > +{
> > +    int rc = 0;
> > +    struct domain *d = hardware_domain;
> > +    domid_t domid;
> > +    unsigned int naddr, len;
> > +    unsigned int i, nirq;
> > +
> > +    domid = dt_device_used_by(device_node);
> 
> Looking at the caller, it is not clear to me which lock is preventing the
> device to be assigned whilst you remove it.
So, this is on user to make sure the domain is not using the device.
The part 2 of this series, where we assign/deassign nodes to a running VM, there
we have the check to make sure no one is assigning it when it's being removed.
For now, can we protect it with dtdevs_lock?
> 
> > +
> > +    dt_dprintk("Checking if node %s is used by any domain\n",
> > +               device_node->full_name);
> > +
> > +    /* Remove the node if only it's assigned to domain 0 or domain io. */
> 
> Hmmm... Above, you are using hardware_domain. This may be dom0. So shouldn't
> you check against hardware_domain->domain_id?
Changed this one
> 
> > +    if ( domid != 0 && 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;
> > +    }
> > +
> > +    dt_dprintk("Removing node: %s\n", device_node->full_name);
> > +
> > +    nirq = dt_number_of_irq(device_node); > +
> > +    /* Remove IRQ permission */
> > +    for ( i = 0; i < nirq; i++ )
> > +    {
> > +        rc = platform_get_irq(device_node, i);
> 
> As I mentioned in [1], I think that parsing the Device-Tree again when
> removing any interrupts/mappings is a bit odd as there are more possible
> failures and is more complex than necessary. I have proposed a way to do it
> with rangeset, but I can't find any reason why this wasn't done. Can you
> explain?
IIUC, range sets can work if we have only one level of node i.e. no children.
I tried in previous version to use range but it's complicated to get info in
correct order using rangeset. Example, we have three nodes, node A, B and C. A
has three child A_a, A_b and A_c. While adding the nodes, we add A first then
A_a, A_b, A_c and finally B and C. And rangeset is updated in same order but 
when we remove node, first A_c is removed followed by A_b and A_a and then A.
So, this was the problem for me on how to keep track which interrupt belong to
which node.

> 
> > +        if ( rc < 0 )
> > +        {
> > +            printk(XENLOG_ERR "Failed to get IRQ num for device node %s\n",
> > +                   device_node->full_name);
> > +            return -EINVAL;
> > +        }
> > +
> > +        if ( irq_access_permitted(d, rc) == false )
> 
> We commonly use "!irq_acess_permitted()". But, as pointed out in [1] with
> this check, it means that we would not be able to call remove again on the
> same node if the removal was partially done.
> 
> You suggested that the admin would need to reboot the platform. But this
> decision doesn't seem to documented in the commit message nor in the tools
> documentation. Can this be done?
Added in commit message.
> 
> > +        {
> > +            printk(XENLOG_ERR "IRQ %d is not routed to domain %u\n", rc,
> > +                   domid);
> 
> I am probably missing something here. From my understanding,
> irq_access_permitted() only tells you if the domain is allowed to manage the
> interrupt. So you could have two domains (the hardware domain and the guest)
> with irq_access_permitted() set. In fact, the hardware domain should always
> have it permitted.
> 
> If you want to check for the routing, then you will have to look for the
> information in the 'irq->desc'.

Yeah, this was a redundant check. removed it.
> > +            return -EINVAL;
> > +        }
> > +        /*
> > +         * TODO: We don't handle shared IRQs for now. So, it is assumed that
> > +         * the IRQs was not shared with another devices.
> > +         */
> > +        rc = irq_deny_access(d, rc);
> > +        if ( rc )
> > +        {
> > +            printk(XENLOG_ERR "unable to revoke access for irq %u for %s\n",
> > +                   i, device_node->full_name);
> > +            return rc;
> > +        }
> 
> You don't reverse the change in the routing. What would happen if the next
> overlay is updated to now pass the same device to a guest?
> 
> I would be OK if this is not handled in this series. But it should be marked
> as a TODO.
So, i explained the reason behind this in v4:
    https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg137490.html
Let me copy paste here if the link doesn't work:
"The main purpose of this series to address first part of dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".
To map IOREQ and IOMMU during runtime, there will be another small series after 
this one where we will do the actual IOMMU and IRQ mapping do a running domain
and will call  unmap_mmio_regions() to remove the mapping.

Here is the patch for that series:
https://github.com/Xilinx/xen/commit/76fcd5defc1c7c375cb99ac73a4d1138aa87d474
I will clean it and send once current series is done.

Also, If you see addition part of this series, we put "skip_mapping = true"
which means map_range_to_domain()->map_range_p2mt() is never called.
The only thing function which will be called is iomem_permit_access() while
adding the node and here we are calling opposite function to remove the access."

> 
> > +    }
> > +
> > +    /* Check if iommu property exists. */
> > +    if ( dt_get_property(device_node, "iommus", &len) )
> > +    {
> > +        rc = iommu_remove_dt_device(device_node);
> > +        if ( rc != 0 && rc != -ENXIO )
> 
> Checking iommu_remove_dt_device() (I didn't check the driver
> implementation), I can't find any use of ENXIO. So can you explain in which
> condition this is meant to be returned?
There were some cases it was returning ENXIO for valid overlay with wrong IOMMU
but i cannot find that example anymore. Removed the check for now.
> 
> > +            return rc;
> > +    }
> > +
> > +    naddr = dt_number_of_address(device_node);
> > +
> > +    /* Remove mmio access. */
> > +    for ( i = 0; i < naddr; i++ )
> > +    {
> > +        uint64_t addr, size;
> > +
> > +        rc = dt_device_get_address(device_node, i, &addr, &size);
> > +        if ( rc )
> > +        {
> > +            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
> > +                   i, dt_node_full_name(device_node));
> > +            return rc;
> > +        }
> > +
> > +        rc = iomem_deny_access(d, paddr_to_pfn(addr),
> > +                               paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));
> 
> As pointed out in [1], I expect the function remove to be the inverse of
> add. Yet, you are not removing the mapping in the P2M.
> 
> I still don't think it is correct to leave the mapping around. But if you
> think it is necessary then I think this should be documented.
> 
> > +        if ( rc )
> > +        {
> > +            printk(XENLOG_ERR "Unable to remove dom%d access to"
> > +                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
> > +                   d->domain_id,
> > +                   addr & PAGE_MASK, PAGE_ALIGN(addr + size) - 1);
> > +            return rc;
> > +        }
> > +
> > +    }
> > +
> > +    return rc;
> > +}
> > +
> > +/* Removes all descendants of the given node. */
> > +static int remove_all_descendant_nodes(struct dt_device_node *device_node)
> > +{
> > +    int rc = 0;
> > +    struct dt_device_node *child_node;
> > +
> > +    for ( child_node = device_node->child; child_node != NULL;
> > +         child_node = child_node->sibling )
> > +    {
> > +        if ( child_node->child )
> > +            remove_all_descendant_nodes(child_node);
> 
> AFAICT, the function could return an error. Can you explain why this is not
> checked?
Added
> 
> > +
> > +        rc = handle_remove_irq_iommu(child_node);
> > +        if ( rc )
> > +            return rc;
> > +    }
> > +
> > +    return rc;
> > +}
> > +
> > +/* Remove nodes from dt_host. */
> > +static int remove_nodes(const struct overlay_track *tracker)
> > +{
> > +    int rc = 0;
> > +    struct dt_device_node *overlay_node;
> > +    unsigned int j;
> > +
> > +    for ( j = 0; j < tracker->num_nodes; j++ )
> > +    {
> > +        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
> > +        if ( overlay_node == NULL )
> > +        {
> > +            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
> > +                   overlay_node->full_name);
> > +            return -EINVAL;
> > +        }
> > +
> > +        rc = remove_all_descendant_nodes(overlay_node);
> > +
> > +        /* All children nodes are unmapped. Now remove the node itself. */
> > +        rc = handle_remove_irq_iommu(overlay_node);
> > +        if ( rc )
> > +            return rc;
> > +
> > +        read_lock(&dt_host->lock);
> Shouldn't this be a write_lock()?
Changed
> 
> > +
> > +        rc = dt_overlay_remove_node(overlay_node);
> > +        if ( rc )
> > +        {
> > +            read_unlock(&dt_host->lock);
> > +
> > +            return rc;
> > +        }
> > +
> > +        read_unlock(&dt_host->lock);
> > +    }
> > +
> > +    return rc;
> > +}
> > +
> > +/*
> > + * First finds the device node to remove. Check if the device is being used by
> > + * any dom and finally remove it from dt_host. IOMMU is already being taken care
> > + * while destroying the domain.
> > + */
> > +static long handle_remove_overlay_nodes(void *overlay_fdt,
> > +                                        uint32_t overlay_fdt_size)
> > +{
> > +    int rc;
> > +    struct overlay_track *entry, *temp, *track;
> > +    bool found_entry = false;
> > +
> > +    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
> > +    if ( rc )
> > +        return rc;
> > +
> > +    if ( overlay_node_count(overlay_fdt) == 0 )
> > +        return -EINVAL;
> 
> Why do you need to check the validity of the FDT when...
> 
> > +
> > +    spin_lock(&overlay_lock);
> > +
> > +    /*
> > +     * First check if dtbo is correct i.e. it should one of the dtbo which was
> > +     * used when dynamically adding the node.
> > +     * Limitation: Cases with same node names but different property are not
> > +     * supported currently. We are relying on user to provide the same dtbo
> > +     * as it was used when adding the nodes.
> > +     */
> > +    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
> > +    {
> > +        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
> 
> ... you compare against what we stored in Xen? If we found the entry, then
> wouldn't it mean that the FDT is valid?
> 
Updated this one!
> > +        {
> > +            track = entry;
> > +            found_entry = true;
> > +            break;
> > +        }
> > +    }
> > +
> > +    if ( found_entry == false )
> 
> We commonly use !found_entry.
> 
> > +    {
> > +        rc = -EINVAL;
> > +
> > +        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
> > +               " Removing nodes is supported only for prior added dtbo.\n");
> > +        goto out;
> > +
> > +    }
> > +
> > +    rc = remove_nodes(entry);
> > +    if ( rc )
> > +    {
> > +        printk(XENLOG_ERR "Removing node failed\n");
> > +        goto out;
> > +    }
> > +
> > +    list_del(&entry->entry);
> > +
> > +    xfree(entry->dt_host_new);
> > +    xfree(entry->fdt);
> > +    xfree(entry->overlay_fdt);
> > +
> > +    xfree(entry->nodes_address);
> > +
> > +    xfree(entry);
> > +
> > +out:
> > +    spin_unlock(&overlay_lock);
> > +    return rc;
> > +}
> > +
> > +long dt_sysctl(struct xen_sysctl_dt_overlay *op)
> 
> It would be best to name it dt_overlay_sysctl() is this is meant to handle
> only overlay operations. If we want to do more, then I think we want to name
> the sysctl SYSCTL_DEVICE_TREE to reflect the more general purpose (renaming
> the sysctl after the fact is a pain).
> 
Changed it to dt_overlay_sysctl
> > +{
> > +    long ret;
> > +    void *overlay_fdt;
> > +
> > +    if ( op->overlay_fdt_size == 0 ||
> 
> Do you expect the rest of the code to misbehave if we pass 0?
> 
> > op->overlay_fdt_size > KB(500) )
> 
> How did you decide the value KB(500)?
That maximum overlay dtb used for FPGA examples was 128KB. We put the size to
500KB. I can increase/decrease it if 500KB doesn't make sense.
> 
> > +        return -EINVAL;
> > +
> > +    if ( op->pad[0] || op->pad[1] || op->pad[2] )
> > +        return -EINVAL;
> > +
> > +    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
> > +
> > +    if ( overlay_fdt == NULL )
> > +        return -ENOMEM;
> > +
> > +    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
> > +    if ( ret )
> > +    {
> > +        gprintk(XENLOG_ERR, "copy from guest failed\n");
> > +        xfree(overlay_fdt);
> > +
> > +        return -EFAULT;
> > +    }
> > +
> > +    switch ( op->overlay_op )
> > +    {
> > +    case XEN_SYSCTL_DT_OVERLAY_REMOVE:
> > +        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
> > +
> > +        break;
> > +
> > +    default:
> 
> I think you want to set ret to -EOPNOTSUPP here rather than returning 0.
> Also, it feels to me you want to first check the validity of the operation
> before checking for overlay_fdt_size and the allocation.
> 
> This would allow to re-use the fields 'overlay_fdt_size'/'overlay_fdt' for a
> different purpose on a new operation and also avoid allocating memory when
> we know it will fail.
> 
> The former would not be possible in your current approach because a Xen
> without the hypothetical new sysctl may return -EINVAL/-EFAULT rather than
> -EOPNOTSUPP. So it would be more difficult to differentiate it in the
> toolstack.
> 
So, i re-organized the code now. First, validity of ops is checked, next
memory is allocated and add/remove ops are done.
> > +        break;
> > +    }
> > +
> > +    xfree(overlay_fdt);
> > +
> > +    return ret;
> > +}
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> > diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> > index 2b24d6bfd0..ff54607617 100644
> > --- a/xen/include/public/sysctl.h
> > +++ b/xen/include/public/sysctl.h
> > @@ -1057,6 +1057,25 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
> >   DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
> >   #endif
> > +#if defined(__arm__) || defined (__aarch64__)
> > +/*
> > + * XEN_SYSCTL_dt_overlay
> > + * Performs addition/removal of device tree nodes under parent node using dtbo.
> > + * This does in three steps:
> > + *  - Adds/Removes the nodes from dt_host.
> > + *  - Adds/Removes IRQ permission for the nodes.
> > + *  - Adds/Removes MMIO accesses.
> > + */
> > +struct xen_sysctl_dt_overlay {
> > +    XEN_GUEST_HANDLE_64(void) overlay_fdt;  /* IN: overlay fdt. */
> > +    uint32_t overlay_fdt_size;              /* IN: Overlay dtb size. */
> > +#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. */
> > +};
> > +#endif
> > +
> >   struct xen_sysctl {
> >       uint32_t cmd;
> >   #define XEN_SYSCTL_readconsole                    1
> > @@ -1087,6 +1106,7 @@ struct xen_sysctl {
> >   #define XEN_SYSCTL_livepatch_op                  27
> >   /* #define XEN_SYSCTL_set_parameter              28 */
> >   #define XEN_SYSCTL_get_cpu_policy                29
> > +#define XEN_SYSCTL_dt_overlay                    30
> >       uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
> >       union {
> >           struct xen_sysctl_readconsole       readconsole;
> > @@ -1117,6 +1137,10 @@ struct xen_sysctl {
> >   #if defined(__i386__) || defined(__x86_64__)
> >           struct xen_sysctl_cpu_policy        cpu_policy;
> >   #endif
> > +
> > +#if defined(__arm__) || defined (__aarch64__)
> > +        struct xen_sysctl_dt_overlay        dt_overlay;
> > +#endif
> >           uint8_t                             pad[128];
> >       } u;
> >   };
> > diff --git a/xen/include/xen/dt-overlay.h b/xen/include/xen/dt-overlay.h
> > new file mode 100644
> > index 0000000000..43fa5a02a0
> > --- /dev/null
> > +++ b/xen/include/xen/dt-overlay.h
> > @@ -0,0 +1,59 @@
> > + /* SPDX-License-Identifier: GPL-2.0-only */
> > + /*
> > + * xen/dt-overlay.h
> > + *
> > + * Device tree overlay support in Xen.
> > + *
> > + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> > + * Written by Vikram Garhwal <vikram.garhwal@amd.com>
> > + *
> > + */
> > +#ifndef __XEN_DT_OVERLAY_H__
> > +#define __XEN_DT_OVERLAY_H__
> > +
> > +#include <xen/list.h>
> > +#include <xen/libfdt/libfdt.h>
> 
> Nothing below is using libfdt.h and ...
Moved this to dt-overlay.c
> 
> > +#include <xen/device_tree.h>
> > +#include <xen/rangeset.h>
> 
> .. rangeset.h. So why do you include them?
> 
Remove this.

Thank you so much for reviewing this patch series!
> > +
> > +/*
> > + * overlay_track describes information about added nodes through dtbo.
> > + * @entry: List pointer.
> > + * @dt_host_new: Pointer to the updated dt_host_new which is unflattened from
> > +    the 'updated fdt'.
> > + * @fdt: Stores the fdt.
> > + * @overlay_fdt: Stores a copy of input overlay_fdt.
> > + * @nodes_address: Stores each overlay_node's address.
> > + * @num_nodes: Total number of nodes in overlay dtb.
> > + */
> > +struct overlay_track {
> > +    struct list_head entry;
> > +    struct dt_device_node *dt_host_new;
> > +    void *fdt;
> > +    void *overlay_fdt;
> > +    unsigned long *nodes_address;
> > +    unsigned int num_nodes;
> > +};
> > +
> > +struct xen_sysctl_dt_overlay;
> > +
> > +#ifdef CONFIG_OVERLAY_DTB
> > +long dt_sysctl(struct xen_sysctl_dt_overlay *op);
> > +#else
> > +#include <xen/errno.h>
> > +static inline long dt_sysctl(struct xen_sysctl_dt_overlay *op)
> > +{
> > +    return -EOPNOTSUPP;
> > +}
> > +#endif
> > +
> > +#endif /* __XEN_DT_OVERLAY_H__ */
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * tab-width: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> 
> Cheers,
> 
> [1]
> https://lore.kernel.org/all/478d4c20-31b7-e98d-25c1-4b4e9afe7e0a@xen.org/
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584984.915914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3W-0002EJ-DN; Thu, 17 Aug 2023 00:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584984.915914; Thu, 17 Aug 2023 00:40:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3W-0002EC-AS; Thu, 17 Aug 2023 00:40:06 +0000
Received: by outflank-mailman (input) for mailman id 584984;
 Thu, 17 Aug 2023 00:40:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR3V-000280-Is
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:05 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e89::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 997f9d77-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:02 +0200 (CEST)
Received: from SN4PR0501CA0056.namprd05.prod.outlook.com
 (2603:10b6:803:41::33) by PH8PR12MB6817.namprd12.prod.outlook.com
 (2603:10b6:510:1c8::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:39:58 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::b7) by SN4PR0501CA0056.outlook.office365.com
 (2603:10b6:803:41::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:39:58 +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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:39:57 +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.27; Wed, 16 Aug
 2023 19:39:57 -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.27; Wed, 16 Aug
 2023 19:39:57 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:39: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: 997f9d77-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jFVKyrFb4cUfE1i4kNpj5SFeW52Gr0MIwBomL3Hf8UfEzVq7o2JZtXxn/BFiyEOE75Gjjk6XMg0/ffi6cYwTMNyfr+ALH7vTPGBVnpzEAp85alVd9yxaeDLMMTHQ4QbMbw1/sNCXAJw/4+t5fL9PMcXO0ktC3g2dFhhRVG0Cx7pvFAaCTVs+cv9PE+dEJHSYwbWSV6tITRSzikUnKHL+7FAW6YwYfndapymC2Q3A6YDn62a67x1UknvSckk6vFMANPSkoBCBummbb3N42b7/QNH3E3qGTNEYWqGEi0GCvnZM4uOVTuggR+lZaq+1+k2fKh4tAFzy9sFDq3MGYywcwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9/7/Vbb3hfH7PO9gjFu8Xd4s/jtaGWor6VcqdbuuVKU=;
 b=VaM2Dt0KHR0PPs3yjngQWnzztrd8PsLMKa/nzHhRIrSFRpuD5R/jzTSwik9wr0ZMBoBIsvsdTwyDCwmOI0jxJky9Z3GCsk7vIjGJC8eyCSWNMUI/vgigQkY2QgSqLzWTiw17E3UH8Bq3xW+lbw9yx5nBMLM6sxX7TVWf464zWFoOFCyL2jvw89yjDaW6JtXIl40Cwdo4CbMQF3khb3Men2/mZQdPpOCkZZ1VpvPNGO2Yox/G1eS/J6u7vMU3a30PSbYCDYYD4IX9yxu8p2PqZICWBKT+Z8rWwG7WaScsVvQWXQy+ps7yvaDYDnwoTUC7mU/8EXZUzfDs7x/ZtAXc8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9/7/Vbb3hfH7PO9gjFu8Xd4s/jtaGWor6VcqdbuuVKU=;
 b=MFTYKefu37bBIl9GbmJCxAthL4lTeEwJeZbBe0Hvl9vpPgelshi8wve9FF0fDBaL3v8BaNLvOSrmzvNB1iSoqGHF7R5xbSaqeYB51b2ahbcZ6cTThXOYTfrPQjlf72kFpHpOZGddRSoDPiV2Y5H3JGN/BXYclqB/1r5rXCCutbA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>, Community Manager
	<community.manager@xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Paul Durrant
	<paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Rahul Singh <rahul.singh@arm.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v8 00/19] dynamic node programming using overlay dtbo
Date: Wed, 16 Aug 2023 17:39:28 -0700
Message-ID: <20230817003947.3849-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|PH8PR12MB6817:EE_
X-MS-Office365-Filtering-Correlation-Id: e69cb36c-ee0c-4e04-c2e4-08db9eba7bb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	szh7IyJ6SD0SzmK1eDXLv0VsE2W9j3E7mWXW1/TdC1HA4KG+REpStKoly8oaP/ij87pT/nS1RAsWyOaPzArIMu0if3SkQraV9luBBZk1TEflATxnVQgiqLcJWOZXxzRO6txAO7JxAyn1kKqb01714dpDouRfeQED/K0WQteQwzsKWkTl+qthMxC+PxcKOMlOATkXegfbsgN0nf8J6dA2n7/4gDVs0+9KNAhNTkqtjir3HIP0u3B9yIs3aUVumLmno7MrMw3fLoyfcVZKpi+tpAaIpQy+Q4t1zI5C5hdqMIDMlbdCc9HfMlLeYZCdQF1gum97pHKphX0p6Ix39gdiD8rtUpmoePOD5VetaWVdy3thCzE40n1RFmuc5TcVwnJJ484q5eNgUyQrWYgojyfdGSAsH3RlbA+6bHQb4PVcJZSY9StHs+C9PLpTd6eJWEhp7GuQnHH1Ifcsm4LRvBGmwLxNucxVr2MyJY8DLOTWGitQ7+rSTQZG4RCfctJwkBww/Wwon/7wTysQ5hLMMtf9yL0wPn991A8AAdqeu0tLKLY1xWECOiCkXhMutnfV1mOP0n2arYrIHTmb96Eem/noBC1DSSXms90jxjl/GeOuDNH8xt5Cb2IjPP5xT16z0EL1THRxXNOmc3zoaKIuvVOTKcahT3AopNtuPrkQUQlPW3AR8BLPCz58OE7arW7t2yN5Co4E9F/KfCYsPTYJfE9AwyzxpmbRC8RpYyntmeImMZhutyNU6MwfnZZQJ/EWNT1sQtluO1+nl1d/kl++0Pq9ug==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(7416002)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:39:57.8785
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e69cb36c-ee0c-4e04-c2e4-08db9eba7bb1
X-MS-Exchange-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: PH8PR12MB6817

Hi,
This patch series is for introducing dynamic programming i.e. add/remove the
devices during run time. Using "xl dt_overlay" a device can be added/removed
with dtbo.

For adding a node using dynamic programming:
    1. flatten device tree overlay node will be added to a fdt
    2. Updated fdt will be unflattened to a new dt_host_new
    3. Extract the newly added node information from dt_host_new
    4. Add the added node under correct parent in original dt_host.
    3. Map/Permit interrupt and iomem region as required.

For removing a node:
    1. Find the node with given path.
    2. Check if the node is used by any of domus. Removes the node only when
        it's not used by any domain.
    3. Removes IRQ permissions and MMIO access.
    5. Find the node in dt_host and delete the device node entry from dt_host.
    6. Free the overlay_tracker entry which means free dt_host_new also(created
in adding node step).

The main purpose of this series to address first part of the dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

To map IOREQ and IOMMU during runtime, there will be another small series after
this one where we will do the actual IOMMU and IRQ mapping to a running domain
and will call unmap_mmio_regions() to remove the mapping.

Change Log:
 v5 -> v6:
    Add separate patch for memory allocation failure in __unflatten_device_tree().
    Move __unflatten_device_tree() function type changes to single patch.
    Add error propagation for failures in unflatten_dt_node.
    Change CONFIG_OVERLAY_DTB status to "ARM: Tech Preview".
    xen/smmu: Add remove_device callback for smmu_iommu ops:
        Added check to see if device is currently used.
    common/device_tree: Add rwlock for dt_host:
        Addressed feedback from Henry to rearrange code.
    xen/arm: Implement device tree node removal functionalities:
        Changed file name to dash format.
        Addressed Michal's comments.
    Rectified formatting related errors pointed by Michal.

 v4 -> v5:
    Split patch 01/16 to two patches. One with function type changes and another
        with changes inside unflatten_device_tree().
    Change dt_overlay xl command to dt-overlay.
    Protect overlay functionality with CONFIG(arm).
    Fix rwlock issues.
    Move include "device_tree.h" to c file where arch_cpu_init() is called and
        forward declare dt_device_node. This was done to avoid circular deps b/w
        device_tree.h and rwlock.h
    Address Michal's comment on coding style.

 v3 -> v4:
    Add support for adding node's children.
    Add rwlock to dt_host functions.
    Corrected fdt size issue when applying overlay into it.
    Add memory allocation fail handling for unflatten_device_tree().
    Changed xl overlay to xl dt_overlay.
    Correct commit messages.
    Addressed code issue from v3 review.

 v2 -> v3:
    Moved overlay functionalities to dt_overlay.c file.
    Renamed XEN_SYSCTL_overlay to XEN_SYSCTL_dt_overlay.
    Add dt_* prefix to overlay_add/remove_nodes.
    Added dtdevs_lock to protect iommu_add_dt_device().
    For iommu, moved spin_lock to caller.
    Address code issue from v2 review.

 v1 -> v2:
    Add support for multiple node addition/removal using dtbo.
    Replaced fpga-add and fpga-remove with one hypercall overlay_op.
    Moved common domain_build.c function to device.c
    Add OVERLAY_DTB configuration.
    Renamed overlay_get_target() to fdt_overlay_get_target().
    Split remove_device patch into two patches.
    Moved overlay_add/remove code to sysctl and changed it from domctl to sysctl.
    Added all overlay code under CONFIG_OVERLAY_DTB
    Renamed all tool domains fpga function to overlay
    Addressed code issues from v1 review.

Regards,
Vikram


Vikram Garhwal (19):
  common/device_tree: handle memory allocation failure in
    __unflatten_device_tree()
  common/device_tree.c: unflatten_device_tree() propagate errors
  xen/arm/device: Remove __init from function type
  common/device_tree: Export __unflatten_device_tree()
  xen/arm: Add CONFIG_OVERLAY_DTB
  libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
  libfdt: overlay: change overlay_get_target()
  xen/device-tree: Add device_tree_find_node_by_path() to find nodes in
    device tree
  xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
  xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
  xen/iommu: Introduce iommu_remove_dt_device()
  xen/smmu: Add remove_device callback for smmu_iommu ops
  asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
  common/device_tree: Add rwlock for dt_host
  xen/arm: Implement device tree node removal functionalities
  xen/arm: Implement device tree node addition functionalities
  tools/libs/ctrl: Implement new xc interfaces for dt overlay
  tools/libs/light: Implement new libxl functions for device tree
    overlay ops
  tools/xl: Add new xl command overlay for device tree overlay support

 CHANGELOG.md                            |   3 +-
 MAINTAINERS                             |   1 +
 SUPPORT.md                              |   6 +
 tools/include/libxl.h                   |  11 +
 tools/include/xenctrl.h                 |   5 +
 tools/libs/ctrl/Makefile.common         |   1 +
 tools/libs/ctrl/xc_dt_overlay.c         |  51 ++
 tools/libs/light/Makefile               |   3 +
 tools/libs/light/libxl_dt_overlay.c     |  71 ++
 tools/xl/xl.h                           |   1 +
 tools/xl/xl_cmdtable.c                  |   6 +
 tools/xl/xl_vmcontrol.c                 |  52 ++
 xen/arch/arm/Kconfig                    |   5 +
 xen/arch/arm/device.c                   | 149 ++++
 xen/arch/arm/domain_build.c             | 147 ----
 xen/arch/arm/include/asm/domain_build.h |   2 -
 xen/arch/arm/include/asm/setup.h        |   6 +
 xen/arch/arm/include/asm/smp.h          |   4 +-
 xen/arch/arm/smpboot.c                  |   1 +
 xen/arch/arm/sysctl.c                   |  16 +-
 xen/common/Makefile                     |   1 +
 xen/common/device_tree.c                |  62 +-
 xen/common/dt-overlay.c                 | 954 ++++++++++++++++++++++++
 xen/common/libfdt/Makefile              |   4 +
 xen/common/libfdt/fdt_overlay.c         |  29 +-
 xen/common/libfdt/version.lds           |   1 +
 xen/drivers/passthrough/arm/smmu.c      |  63 ++
 xen/drivers/passthrough/device_tree.c   |  94 ++-
 xen/include/public/sysctl.h             |  24 +
 xen/include/xen/device_tree.h           |  36 +-
 xen/include/xen/dt-overlay.h            |  58 ++
 xen/include/xen/iommu-private.h         |  28 +
 xen/include/xen/iommu.h                 |   1 +
 xen/include/xen/libfdt/libfdt.h         |  18 +
 34 files changed, 1710 insertions(+), 204 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c
 create mode 100644 tools/libs/light/libxl_dt_overlay.c
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h
 create mode 100644 xen/include/xen/iommu-private.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584985.915925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3b-0002ZY-LS; Thu, 17 Aug 2023 00:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584985.915925; Thu, 17 Aug 2023 00:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3b-0002ZP-Hw; Thu, 17 Aug 2023 00:40:11 +0000
Received: by outflank-mailman (input) for mailman id 584985;
 Thu, 17 Aug 2023 00:40:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR3Z-0002YP-Qy
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:09 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d39ac63-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:08 +0200 (CEST)
Received: from CY8PR12CA0032.namprd12.prod.outlook.com (2603:10b6:930:49::23)
 by DM4PR12MB6064.namprd12.prod.outlook.com (2603:10b6:8:af::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:04 +0000
Received: from CY4PEPF0000E9D6.namprd05.prod.outlook.com
 (2603:10b6:930:49:cafe::9d) by CY8PR12CA0032.outlook.office365.com
 (2603:10b6:930:49::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D6.mail.protection.outlook.com (10.167.241.80) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:03 +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.27; Wed, 16 Aug
 2023 19:40:02 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: 9d39ac63-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h6OPvYaVjUlHMn+GZEX3Iei4gYKFoXzi02+bDj4TDStNneoavNHrEjNn/EyOcbQAOmo0wuMiSOQTdT++kas3I1e7d/w+RqV7EXRjbCAR4gTbTgmv5Fn6GCKVsX8YDzf4Uu1w3M0cb4nWuzACBVpPcJZfu3MxjWJF69YeyZSkfXqhrhPI1VyCLqHkqyVFb9jtQmT9m5l7rU0MFhW/qvyrrzI7WwY9SwsJapS0UqCIaAdVgmYNfxSCfm/WODpk9aDLX7oQ5FMzuaCpaU/hI3aJILSG4w9VQhUpr7KwvF9g2isaZt7bAEDnr//PzmySXtjbwvGLiuH1lOm+3+7DoqGCKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OnAkiyK51E8/9hbpYvNOl4Id3yZ+E95/wfBvKWMf7tM=;
 b=c/GWQZSVwjrUABqCorwLgvNh1Zd2MhHcfeW2yX9mK4Guor2D6UH5ylt8lql1jntXjKP4dCSQDSjVHq2CEr2jWqEYt6/qs2eGYS+FU6Yo1CyAYTrhKAKq0SKC6fnAuRzB6iaSWAbae6nb2yLiUB2F5ZLrJzbpB7zFArJHJijhnX58KkWEtXmuNlBSLPziZZR4frdWdsx6yjwg2UY2kX3890IYZiHx6SV//4XuyjSkdUddyVGxxaBIN6VSYYUWVOXjNCBXsrYF1q4q00T4Ir7zPY+YsTJHYSbciMA/42+zWdff+Im8bnDFsDqM575Bukje/zZn1t97hjS35Bh1Sduh5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OnAkiyK51E8/9hbpYvNOl4Id3yZ+E95/wfBvKWMf7tM=;
 b=Euo3ehfi8tuIew08vfTp5Y2cbUd4saxlGJJzCR9I1H4E+b/db0iF3J2C6yEQFZsYA/TRmns4Ekg9OgqcugqgGxtRqDMaBcsilmr4aW8pqYYpFdfxSx62La9s3SwOtCUoNf+aFxeersNyMsi1NoOowUCD57H3KBhndj5h5VGMtVk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 01/19] common/device_tree: handle memory allocation failure in __unflatten_device_tree()
Date: Wed, 16 Aug 2023 17:39:29 -0700
Message-ID: <20230817003947.3849-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D6:EE_|DM4PR12MB6064:EE_
X-MS-Office365-Filtering-Correlation-Id: 82c6b25e-8d2e-4114-6089-08db9eba7ef8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y8uTqncCMMjb2a2oi/Epjvcc3PW+Qeem3wiE2p5bssEbbHM8apxzbveUPmJ5oFhSFzvVWf4WoPhoMMPcbSzEqF+lpnzq0YCsPgzDRnz9SCgyi9pPjUD7ec51RbMyfvzRxSfBCAU/j31P1xzAAsyLfqMeXYNqEL9OzmKNBnIah67yXh1EG4pgYBiJXVPFQuUufbtTGYeJLQ1npzniyKiDtht7MX0miazfE6FJCjLLH3X5kBJ3Y7b+Wyh2/HhhAvERobmVBCcZewTkhobjdmkwPn2SbQ0HqVegR71opGnrWNmmJ76Pcv5IXFUFGwiKDPjMIdirXpehekxp7j662FhZ7RrisDnbrfhtGYS7ttYF2HaGU6RM1rk9PRetwCbGEBobq6BczXl0RDPE10it8fhRGu2IoMJdEBkKtvuYZ7viiMGOVzUZtazlHcDojUbMiug1Rt5Sz1WcRX+v9tBedQzdyGd1yeb3LSo8zKamlD8BZ7ts98/YPnI2XPeY5y3aMlVlum0/HMwE/twwE0m4URiJ+IA7TDVnBrXiWpD18iC8nu+7Lb26z7o32lCs7KLS6eLPqgK2D4gElegA7eIruoXtEIt14Qpyz8ka+k6Y4dr32S1hq9GC6+xQVB6vwdqGVvbOEmqzHGE5N+MQQvz2Eh/Gr3kgzycu/toauhhpDDkBP//PMLxz9d/T+yo9o4yPPwRN0Edy6MPW6HfI3IxuDwLTjcLBsR+NEljGKRTURWPmKs/oaeK6sXTNr3WRfyfsylYHVcmVY6lHH8Ipjp6FDP+/zA==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:03.3275
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 82c6b25e-8d2e-4114-6089-08db9eba7ef8
X-MS-Exchange-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:
	CY4PEPF0000E9D6.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6064

Change __unflatten_device_tree() return type to integer so it can propagate
memory allocation failure. Add panic() in dt_unflatten_host_device_tree() for
memory allocation failure during boot.

Fixes: fb97eb614acf ("xen/arm: Create a hierarchical device tree")
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/device_tree.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0522fdf976..c91d54c493 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2092,8 +2092,8 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
  * @fdt: The fdt to expand
  * @mynodes: The device_node tree created by the call
  */
-static void __init __unflatten_device_tree(const void *fdt,
-                                           struct dt_device_node **mynodes)
+static int __init __unflatten_device_tree(const void *fdt,
+                                          struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2114,6 +2114,8 @@ static void __init __unflatten_device_tree(const void *fdt,
 
     /* Allocate memory for the expanded device tree */
     mem = (unsigned long)_xmalloc (size + 4, __alignof__(struct dt_device_node));
+    if ( !mem )
+        return -ENOMEM;
 
     ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeefU);
 
@@ -2131,6 +2133,8 @@ static void __init __unflatten_device_tree(const void *fdt,
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
+
+    return 0;
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
@@ -2215,7 +2219,11 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+
+    if ( error )
+        panic("__unflatten_device_tree failed with error %d\n", error);
+
     dt_alias_scan();
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584986.915935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3f-0002rR-TO; Thu, 17 Aug 2023 00:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584986.915935; Thu, 17 Aug 2023 00:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3f-0002rK-Pn; Thu, 17 Aug 2023 00:40:15 +0000
Received: by outflank-mailman (input) for mailman id 584986;
 Thu, 17 Aug 2023 00:40: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR3e-0002YP-73
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:14 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0abbf1c-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:13 +0200 (CEST)
Received: from CY8PR11CA0035.namprd11.prod.outlook.com (2603:10b6:930:4a::21)
 by CH0PR12MB5076.namprd12.prod.outlook.com (2603:10b6:610:e3::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Thu, 17 Aug
 2023 00:40:07 +0000
Received: from CY4PEPF0000E9DB.namprd05.prod.outlook.com
 (2603:10b6:930:4a:cafe::1f) by CY8PR11CA0035.outlook.office365.com
 (2603:10b6:930:4a::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DB.mail.protection.outlook.com (10.167.241.81) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:07 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:06 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: a0abbf1c-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lf9Mj3Io8VeqRps2D5PsKJ8PgrKlRx6PhFoJt6Pazdm2rM1fBdHf3WPU2oGkObjPSz97wsP5NBAzojpqb5mr5P1r7AqM9PR8DucYGyHkfkQ2Wc66HLV71dKNfSv7yniJWSLeyWu3R5wa/oFaFEc9Ef95xs2GOPhTHJklSA15ROpT3Ma43Qj6wvXO+3FRd97fJRJTpdW0sjn3EkMtlhx02OJkETnSeH1cU5pUoJ3kvx0AJUdmbH5mG0F/5QkkQlWNe0rgyenRTCOEQNM9JhCtBPUf9waBY3yKH9MeoplZ5kuevxt2Gpg49YbYdKKzK3KSGt7i+IucVpaX3fyel4OVtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zNJuXj7ZBUQRHz29zlrzeHOa0+tHLK1DzkscWEXkjVw=;
 b=ZwU47WiDLVyJHGgHGAfPew5vkZTbO7QEMqSLccakl4Q2kdL1OrE5kLDWqR1uuc4k9WNlYXry/aCB5E/GC6bnfVru8aBYrfDoRpkIxYS8GiUuzAYVACARISFMRi5tlgkShysrHxq7qv6QKDoQ7tjzU60c5/mQp+ZDubv2Uas+cvW0tXw5mpJO8GDzZP1f2sv9kM8IVjAWLtehpiN8c/P7vj39GIK5vC/OYkDaVLyH7w/iOpW5lUm4nWux+mCmjv3K11xC4Op7u8M0uhn+ujF4KhKVnfByl5mNCOORr+WVUc4JrNFMbo+YsTQ7C+7V+S1sQ97grAO77EDpkLBEZ6L73w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zNJuXj7ZBUQRHz29zlrzeHOa0+tHLK1DzkscWEXkjVw=;
 b=bPasNlpaADE6LiHFviJ0vV120hFxOL5zS+vrMCUwsJD+L5sxOXUNq9QW8FXl6xA9a+cAs4wc9n90MeZDCSXYYnZsYJH8xv/zZ/Z8AL8HOBr4aOXOOlAJKNKGE0UTgM2lgLuR593ECn+5dvwe/Xw6gtxLVbTx6dST7nnoCkvuUmI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 02/19] common/device_tree.c: unflatten_device_tree() propagate errors
Date: Wed, 16 Aug 2023 17:39:30 -0700
Message-ID: <20230817003947.3849-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DB:EE_|CH0PR12MB5076:EE_
X-MS-Office365-Filtering-Correlation-Id: fd9fde22-5bb5-40bc-ebb3-08db9eba812a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zK6FcWf8Uaa2AACUTMiEogXy8LUyJZ6Y4W3VbBZwAr5TRJcIl17aGmkL8szfqx5FiI8ESMGgdptUHl0rArpbbyo37M2i5cOF+Gf+ETBbURnM1H+0EVGgxpwCMelEmAQV6XRnJTC7v7mX9leo9R5WFun/B9uS20SJa7q9mdQvCVrAjpLQWLFUNDttSi+q3h2n3hC/J7HCUDbg7pWo/cwwIyPb7vrU374kxz9OsyzJx4nHZPd/Q6vOFGYsF4mwT4RSQ0EW8xIxUZzd/3eplmY3RaU2mafHmv/yTQYxl8rtlKXv0NCoWEIo137YVl08keXiLfCBys7oR8lB4bmyb5BbJ6JnjlfXhnqOdLna/X3g1e3nVPd/mjySno4cMZrqa42A52AZWjpfOtKcovk5NGXEFsPg23V3AtmIIhvthS9Exjba08ShAu2x5vPtgTqXN9OW1SFMxbYI8mXaPFWvjdzjnE02zJ2hc0su4pLxV0KUvm+cbHfiAEkwinUTM+GGZL2apTwgWSY++ieFXIXlXO8vAzH3YOQBqJy7h+J8LFgr7zLb2mlyIVLHRLBqoeFPtJqWwD9s02oR/AatwUrclmM1jrivwKMJwWS8JV2tv1H61l1Bt+C22AoQuO94oGKUnJge21xyevAifPQ+zn97FK7hO5h4QUk4wXeYKgQvHv8S+ALRBp1dpj0nbF/nmXO/Q51dWcgdMWUKppfesrwqTgFHzikug2jO9DWI15WdPN5at3N4fZQQp48g/ULqa9vVkd1vJunhtZ3J3KpznHpPi8gO/A==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:07.0142
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd9fde22-5bb5-40bc-ebb3-08db9eba812a
X-MS-Exchange-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:
	CY4PEPF0000E9DB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5076

This will be useful in dynamic node programming when new dt nodes are unflattend
during runtime. Invalid device tree node related errors should be propagated
back to the caller.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Free allocated memory in case of errors when calling unflatten_dt_node.
---
---
 xen/common/device_tree.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index c91d54c493..cd9a6a5c93 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2108,6 +2108,9 @@ static int __init __unflatten_device_tree(const void *fdt,
     /* First pass, scan for size */
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     size = unflatten_dt_node(fdt, 0, &start, NULL, NULL, 0);
+    if ( !size )
+        return -EINVAL;
+
     size = (size | 3) + 1;
 
     dt_dprintk("  size is %#lx allocating...\n", size);
@@ -2125,11 +2128,21 @@ static int __init __unflatten_device_tree(const void *fdt,
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
     if ( be32_to_cpup((__be32 *)start) != FDT_END )
-        printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n",
+    {
+        printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
                   *((u32 *)start));
+        xfree((__be64 *)mem);
+        return -EINVAL;
+    }
+
     if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeefU )
-        printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n",
+    {
+        printk(XENLOG_ERR "End of tree marker overwritten: %08x\n",
                   be32_to_cpu(((__be32 *)mem)[size / 4]));
+        xfree((__be64 *)mem);
+        return -EINVAL;
+    }
+
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584987.915945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3p-0003Iq-9m; Thu, 17 Aug 2023 00:40:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584987.915945; Thu, 17 Aug 2023 00:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3p-0003Ig-6U; Thu, 17 Aug 2023 00:40:25 +0000
Received: by outflank-mailman (input) for mailman id 584987;
 Thu, 17 Aug 2023 00:40: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR3o-0002YP-0Q
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:24 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe59::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a633f20d-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:22 +0200 (CEST)
Received: from SN7P222CA0002.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::14)
 by IA1PR12MB6164.namprd12.prod.outlook.com (2603:10b6:208:3e8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 00:40:19 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:806:124:cafe::19) by SN7P222CA0002.outlook.office365.com
 (2603:10b6:806:124::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Thu, 17 Aug 2023 00:40:18 +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.27; Wed, 16 Aug
 2023 19:40:17 -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.27; Wed, 16 Aug
 2023 17:40:08 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: a633f20d-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fhVdhPWGizSjESHFtxIaD9mxnfSYVUkDNrR2cvHZ73ZCPl8M+xqHdzm67dXjj3ckJAGyHeZ6/raf1A/rV1pf8I0KbYHcxjj6o4g0zvY8ngid7jNqJ47kgvrZQD5N+CBvqNNCcWYB7rjbkXtujTLBkKWyozEGW0+j0wTyrrfaxktEAmkPs38pns85CP5+X3RhxttUApDvVYFKvQMFXxCRXMfFPnVE7PhnVZM7KREW15jGIN70wfX4GGjMtiGwUYkY/U+U77rWp5W8uMmlI/L9V89mUoQ8E1BdmP1oStXt1yuZqjki3mVXiqez6gzgkMYkv5mYtc/O8oZXj62NgmHh2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ueRoAwRMX84PvKHly0/7xJCC6WZWwr2cF/eTQww9BPQ=;
 b=NJBJlKa/o429G8xBXSxPi33yaXupFKdXJ0JI6q/bnRadAK4+A25Nm/UteCnsLsdWgnewZXs1hNg0EAWb+OAeIUYc4ufEpAGNSV6tWH4thAR/1de5N6Vrxt90QpcEAQGvIbBeTD+oDQ4tRGZMEroexV5oJiDeKNidhAF2psOYukLpU9r+Obq0bHZBnMJr3cSq1CuHqvEs6v4RAeBiMFxcGGvRnSnmghwfuy4f9i1b8TytHFLW1V5GErbi2gV5m0VvZ7ONqpz4AHqvTwoNZ8OjG1eiU7IfMKdVIoHPhfriDyjxXsCROGkdDwlBBnASfXXsI8elzM+Zm0hzIQjYDAq+zQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ueRoAwRMX84PvKHly0/7xJCC6WZWwr2cF/eTQww9BPQ=;
 b=teu6M/leebTn/d5lTHlN3T47BF3DDQXwH0gCS3LGJKtQk/LiWldAoUFSO7XmdCEf0R76iR22QYVPA1V/0k5ytMKhzgDNYNj8yuFrDhrzOBASQB2QBWHOEqqex6PJIqk6xZ1IO5kQPk8Im/vnWyE4gfZ98kMPjrn+uk1Nfw6Ovg4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v8 03/19] xen/arm/device: Remove __init from function type
Date: Wed, 16 Aug 2023 17:39:31 -0700
Message-ID: <20230817003947.3849-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|IA1PR12MB6164:EE_
X-MS-Office365-Filtering-Correlation-Id: e2e7184c-9096-4785-6dc0-08db9eba87e1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f4yyjVBXLaTvlSMoY90dCB7JGZGeZjZTugWuw2GMz2mPDZmC19GlXXZWaPfwGjeIUpS7+mxoziPZDHr1myoBvaod041UpjVJo5qe1Xs9tLrWNMFL9tgRKCyutXGpMbDFOjnN9UPS8ys/XPEhrG+bU49Mc9kanOaD1UKmmVouPf1iQhd4qJ66eLQI30EUyKRmdE7FVwyEqii/fqFX/DrR8YV7IDIwBJ3bQTQmFcSXvjaIyiMSeGafzhETOvyj05xX1Rl2/6MYGMzSKWWaMOPl73MI3wlw2p2u+CtwBtd6qE+3LLENsx1PFmmmeato1YbwUGEUS5oom58KFBJtHKxk1t3tJ8H6g69cxfWaw3fuFt3vQM77NMN8haYN/AP1QenDGixbrJzSH9rHDPIAdqadZJFtt64C8mk5xjFQMxFfdeiTIctQCwqTP7K3W05wustZjj8vW591JgwarzUql7Rlq0x+/rmtAq9kpekcMi3L9naA6bpCDj01m39nk2gOBPeoBGQkuCy3vk07I7aBLxtNeqPGQpcfGiATX8LKZ4eDVrkLOG+gfflEzfijsSCGt0qMWW8ThvhAt6Ya6u5T4gBWoJsecKK7wJ6wgkQiJMJTvMVWqc+aTUl2oKNSC7lWsoAwBB2xo2nEaXnZlyCRiSY1Kkb5u5Ldtft/fhBAUUHJ+jeoBcu4+A7g3smKvIMyAkrD+7JKU0JltUkSfUe2M5rCwRgniSmZlsTgREgpq50rntlcrzb4SR1f86cA4r5vtiebD8qt/ScNjibOrcQ60s9T1Q==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(30864003)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:18.3235
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e2e7184c-9096-4785-6dc0-08db9eba87e1
X-MS-Exchange-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:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6164

Remove __init from following function to access during runtime:
    1. map_irq_to_domain()
    2. handle_device_interrupts()
    3. map_range_to_domain()
    4. unflatten_dt_node()

Move map_irq_to_domain() prototype from domain_build.h to setup.h.

To avoid breaking the build, following changes are also done:
1. Move map_irq_to_domain(), handle_device_interrupts() and map_range_to_domain()
    to device.c. After removing __init type,  these functions are not specific
    to domain building, so moving them out of domain_build.c to device.c.
2. Remove static type from handle_device_interrupt().

Overall, these changes are done to support the dynamic programming of a nodes
where an overlay node will be added to fdt and unflattened node will be added to
dt_host. Furthermore, IRQ and mmio mapping will be done for the added node.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/device.c                   | 149 ++++++++++++++++++++++++
 xen/arch/arm/domain_build.c             | 147 -----------------------
 xen/arch/arm/include/asm/domain_build.h |   2 -
 xen/arch/arm/include/asm/setup.h        |   6 +
 xen/common/device_tree.c                |  12 +-
 5 files changed, 161 insertions(+), 155 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index ca8539dee5..1652d765bd 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -9,8 +9,10 @@
  */
 
 #include <asm/device.h>
+#include <asm/setup.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iocap.h>
 #include <xen/lib.h>
 
 extern const struct device_desc _sdevice[], _edevice[];
@@ -75,6 +77,153 @@ enum device_class device_get_class(const struct dt_device_node *dev)
     return DEVICE_UNKNOWN;
 }
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vgic_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared
+         */
+        vgic_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+    return 0;
+}
+
+int map_range_to_domain(const struct dt_device_node *dev,
+                        uint64_t addr, uint64_t len, void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    int res;
+
+    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
+    {
+        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
+               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
+        return -ERANGE;
+    }
+
+    /*
+     * reserved-memory regions are RAM carved out for a special purpose.
+     * They are not MMIO and therefore a domain should not be able to
+     * manage them via the IOMEM interface.
+     */
+    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
+                     strlen("/reserved-memory/")) != 0 )
+    {
+        res = iomem_permit_access(d, paddr_to_pfn(addr),
+                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                    d->domain_id,
+                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
+            return res;
+        }
+    }
+
+    if ( !mr_data->skip_mapping )
+    {
+        res = map_regions_p2mt(d,
+                               gaddr_to_gfn(addr),
+                               PFN_UP(len),
+                               maddr_to_mfn(addr),
+                               mr_data->p2mt);
+
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
+                   " - 0x%"PRIx64" in domain %d\n",
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
+                   d->domain_id);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
+               addr, addr + len, mr_data->p2mt);
+
+    return 0;
+}
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d,
+                             struct dt_device_node *dev,
+                             bool need_mapping)
+{
+    unsigned int i, nirq;
+    int res;
+    struct dt_raw_irq rirq;
+
+    nirq = dt_number_of_irq(dev);
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not the GIC
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
+                      i, dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        res = platform_get_irq(dev, i);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a5..57b6a43314 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2293,39 +2293,6 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
-int __init map_irq_to_domain(struct domain *d, unsigned int irq,
-                             bool need_mapping, const char *devname)
-{
-    int res;
-
-    res = irq_permit_access(d, irq);
-    if ( res )
-    {
-        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
-        return res;
-    }
-
-    if ( need_mapping )
-    {
-        /*
-         * Checking the return of vgic_reserve_virq is not
-         * necessary. It should not fail except when we try to map
-         * the IRQ twice. This can legitimately happen if the IRQ is shared
-         */
-        vgic_reserve_virq(d, irq);
-
-        res = route_irq_to_guest(d, irq, irq, devname);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - IRQ: %u\n", irq);
-    return 0;
-}
-
 static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
                                        const struct dt_irq *dt_irq,
                                        void *data)
@@ -2355,64 +2322,6 @@ static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
     return res;
 }
 
-int __init map_range_to_domain(const struct dt_device_node *dev,
-                               uint64_t addr, uint64_t len, void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    int res;
-
-    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
-    {
-        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
-               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
-        return -ERANGE;
-    }
-
-    /*
-     * reserved-memory regions are RAM carved out for a special purpose.
-     * They are not MMIO and therefore a domain should not be able to
-     * manage them via the IOMEM interface.
-     */
-    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
-                     strlen("/reserved-memory/")) != 0 )
-    {
-        res = iomem_permit_access(d, paddr_to_pfn(addr),
-                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
-                    d->domain_id,
-                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
-            return res;
-        }
-    }
-
-    if ( !mr_data->skip_mapping )
-    {
-        res = map_regions_p2mt(d,
-                               gaddr_to_gfn(addr),
-                               PFN_UP(len),
-                               maddr_to_mfn(addr),
-                               mr_data->p2mt);
-
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
-                   " - 0x%"PRIx64" in domain %d\n",
-                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
-                   d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
-               addr, addr + len, mr_data->p2mt);
-
-    return 0;
-}
-
 /*
  * For a node which describes a discoverable bus (such as a PCI bus)
  * then we may need to perform additional mappings in order to make
@@ -2440,62 +2349,6 @@ static int __init map_device_children(const struct dt_device_node *dev,
     return 0;
 }
 
-/*
- * handle_device_interrupts retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
-static int __init handle_device_interrupts(struct domain *d,
-                                           struct dt_device_node *dev,
-                                           bool need_mapping)
-{
-    unsigned int i, nirq;
-    int res;
-    struct dt_raw_irq rirq;
-
-    nirq = dt_number_of_irq(dev);
-
-    /* Give permission and map IRQs */
-    for ( i = 0; i < nirq; i++ )
-    {
-        res = dt_device_get_raw_irq(dev, i, &rirq);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        /*
-         * Don't map IRQ that have no physical meaning
-         * ie: IRQ whose controller is not the GIC
-         */
-        if ( rirq.controller != dt_interrupt_controller )
-        {
-            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
-                      i, dt_node_full_name(rirq.controller));
-            continue;
-        }
-
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
-        if ( res )
-            return res;
-    }
-
-    return 0;
-}
-
 /*
  * For a given device node:
  *  - Give permission to the guest to manage IRQ and MMIO range
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 34ceddc995..b9329c9ee0 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,8 +4,6 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
-int map_irq_to_domain(struct domain *d, unsigned int irq,
-                      bool need_mapping, const char *devname);
 int make_chosen_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..f532332d6c 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -165,9 +165,15 @@ void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
 u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
 
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname);
+
 extern lpae_t boot_pgtable[XEN_PT_LPAE_ENTRIES];
 
 #ifdef CONFIG_ARM_64
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index cd9a6a5c93..d70b6a7ac9 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -1847,12 +1847,12 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
  * @allnextpp: pointer to ->allnext from last allocated device_node
  * @fpsize: Size of the node path up at the current depth.
  */
-static unsigned long __init unflatten_dt_node(const void *fdt,
-                                              unsigned long mem,
-                                              unsigned long *p,
-                                              struct dt_device_node *dad,
-                                              struct dt_device_node ***allnextpp,
-                                              unsigned long fpsize)
+static unsigned long unflatten_dt_node(const void *fdt,
+                                       unsigned long mem,
+                                       unsigned long *p,
+                                       struct dt_device_node *dad,
+                                       struct dt_device_node ***allnextpp,
+                                       unsigned long fpsize)
 {
     struct dt_device_node *np;
     struct dt_property *pp, **prev_pp = NULL;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584990.915955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3x-0003uP-J1; Thu, 17 Aug 2023 00:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584990.915955; Thu, 17 Aug 2023 00:40:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR3x-0003uF-FZ; Thu, 17 Aug 2023 00:40:33 +0000
Received: by outflank-mailman (input) for mailman id 584990;
 Thu, 17 Aug 2023 00:40:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR3w-000280-3N
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:32 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9f20774-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:30 +0200 (CEST)
Received: from SA1P222CA0186.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::18)
 by IA1PR12MB8407.namprd12.prod.outlook.com (2603:10b6:208:3d9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:25 +0000
Received: from SN1PEPF0002636B.namprd02.prod.outlook.com
 (2603:10b6:806:3c4:cafe::9) by SA1P222CA0186.outlook.office365.com
 (2603:10b6:806:3c4::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:24 +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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:24 +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.27; Wed, 16 Aug
 2023 19:40:20 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: a9f20774-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HUgeQqtLKpqUMaKcUUVK/m5G0qLHdHb5hCyoh/MSPm7uOgRMx0dTjwIcoswZfOz6GknHbNXoWajTl7L4b9IIQGqdwoHS0UMMxYIjMburJnNc+YUd0iN5U58X6lMCE48pYXgpv7eZEHc46VX/00etPcuiaBK/iYs8ndnsfIvJPO2pO43aLhdiQmtc3+z8ucjeuCdAWhISNaAwKo7yFBEa7QPR3hjAq5WbiWQdWzjZ98QpO+7S/Dn8MTU36HYNS06se+qHUC3NumtUWuCagDv+YVKvj7petjtKdye6+NxzLzEB054ZqNTkf9Vqmti68ZAvtbrsINGxFBNQfPpoVlXBSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=07WMr1ZLM39ba2ZtlvUhJ2PaUuqZrZEmQIHsuGgAwEE=;
 b=YW59k8W/p75EAsT/UUQCpfugnj+/IRCXAnPGJR8DSJ8nEOqczccL3w67AYu0UP9OJlUNvT/e3wgbRcu5ZlAMvHCyi81JJxVJzCjSD6GElInAt0QeX570qt1ZSXM2K53WknFS96GymmTKlQo9pDwGeoS9LxRkLYlfaOZBioYev++iHxCGFYH9/kVTWMhtefNsE/m4BRVCTaPZOzrWAv0CQY122ONPntiMegjPG3aE0HtTi8+l+s2zBn1Ibt/3j/GepEZpCPCDAPw+pc/YI21bvoH7BEO6GmBNc12KFpHqTI2u753fs3Nk3Z+M0skcdU88FWqYlCdSvdqebDj/KnaIvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=07WMr1ZLM39ba2ZtlvUhJ2PaUuqZrZEmQIHsuGgAwEE=;
 b=mgIaYGgf0NJ4g7TM5j45oR1uKGumw0RjW/FpwPGE+u1115UTbo+jbRQF3IwQEgbM2FLhqQujkdTGx5JCpfXa4m6YBn6vki+We5cbb0n1pd9sgFS/YoF4MdL4u+RjSk9xgjgrv0xK6QLdFLGacaapWsa0sWP5fFkFOFO8AbaHd4k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 04/19] common/device_tree: Export __unflatten_device_tree()
Date: Wed, 16 Aug 2023 17:39:32 -0700
Message-ID: <20230817003947.3849-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|IA1PR12MB8407:EE_
X-MS-Office365-Filtering-Correlation-Id: 90022943-74ea-4a2d-3de1-08db9eba8b61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q2zIDsyaueX1fclWx8qy6u/491zXb3HMKtyyJUb7MsBawcu48J3EwlIT23QwV11OZ1M2VRICP1AGrFh0Z8jjgVA6XNR7D5zWDzxQj+daXWuFE7ZSjYff9sj3zuNR6pell1kgMqc/Rq541XYEW16KrYv/VnMwRi2w2Tw4peTDuCc0h3Ml3AHNGTkMStumcJ/bKDIud07ouyk3/hwaf1sDIvRm/+pIozFmQwIoW5SHF+Ag8enr3hcnrCYmvY7R2OwqKWuZ6IfDyr6m4DLQfVvtEAkH0gzWcetlEBEZqVESLIw+sCdj/+1VzEoZ7SbWlx2BsFyf50lhC2zUAhh60OrHdFGxHhCpgVmvev+USQrzYt71kV6YdDhFUtFThvj03MpGosA0iwsHuMVhYQ7zgacUQ3ctBa1RDY8V0eyPZBT/71u2Ew/WYFJY/GIgnnXqSSQrmeTJ17v+XXmwmNrrJR9fw9/6ngwM4t5VTa6dYOhjL1rxR3vGrx5ohUG/znvJ/vnJXERdxFLb1jxnD/dCmEaPT0Bwdt5mczcXddfnXs6lrpUyseCYJJMJQYr3Ccy/Tizty5ZtvR5jDYpsXVaI0yO6Nw9ELvYV9+tsXtuRH7pF8eoLGp9vaKsMhRemuBaEZ7ZxM2Zlbn3R9mvHliRqQKs5t4Xjf4/nIibvtVdB0loDkYpeXoS6UbDhmdWOn5ZnFOgIt1Nje/U7USfWkX9V4/LyFClz5rXq4gyCwWhmKQbpR4hvWiLopuoC4QLnkHRrAT1//NRnkUvJ6+riZbPxRYNCqw==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:24.1943
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 90022943-74ea-4a2d-3de1-08db9eba8b61
X-MS-Exchange-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: IA1PR12MB8407

Following changes are done to __unflatten_device_tree():
    1. __unflatten_device_tree() is renamed to unflatten_device_tree().
    2. Remove __init and static function type.

The changes are done to make this function useable for dynamic node programming
where new device tree overlay nodes are added to fdt and further unflattend to
update xen device tree during runtime.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Update the commit with why unflatten_device_tree() is changed.
    Move function documentation to device_tree.h
---
---
 xen/common/device_tree.c      | 17 +++--------------
 xen/include/xen/device_tree.h | 12 ++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index d70b6a7ac9..67e9b6de3e 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2082,18 +2082,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
     return mem;
 }
 
-/**
- * __unflatten_device_tree - create tree of device_nodes from flat blob
- *
- * unflattens a device-tree, creating the
- * tree of struct device_node. It also fills the "name" and "type"
- * pointers of the nodes so the normal device-tree walking functions
- * can be used.
- * @fdt: The fdt to expand
- * @mynodes: The device_node tree created by the call
- */
-static int __init __unflatten_device_tree(const void *fdt,
-                                          struct dt_device_node **mynodes)
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2232,10 +2221,10 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = unflatten_device_tree(device_tree_flattened, &dt_host);
 
     if ( error )
-        panic("__unflatten_device_tree failed with error %d\n", error);
+        panic("unflatten_device_tree failed with error %d\n", error);
 
     dt_alias_scan();
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 1d79e23b28..5941599eff 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -178,6 +178,18 @@ int device_tree_for_each_node(const void *fdt, int node,
  */
 void dt_unflatten_host_device_tree(void);
 
+/**
+ * unflatten_device_tree - create tree of device_nodes from flat blob
+ *
+ * unflattens a device-tree, creating the
+ * tree of struct device_node. It also fills the "name" and "type"
+ * pointers of the nodes so the normal device-tree walking functions
+ * can be used.
+ * @fdt: The fdt to expand
+ * @mynodes: The device_node tree created by the call
+ */
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes);
+
 /**
  * IRQ translation callback
  * TODO: For the moment we assume that we only have ONE
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.584993.915965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR41-0004Lu-Vq; Thu, 17 Aug 2023 00:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 584993.915965; Thu, 17 Aug 2023 00:40:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR41-0004LJ-R2; Thu, 17 Aug 2023 00:40:37 +0000
Received: by outflank-mailman (input) for mailman id 584993;
 Thu, 17 Aug 2023 00:40:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR40-000280-UW
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:36 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acffca5d-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:35 +0200 (CEST)
Received: from SN7P222CA0007.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::17)
 by MW4PR12MB7000.namprd12.prod.outlook.com (2603:10b6:303:20a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:31 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:806:124:cafe::42) by SN7P222CA0007.outlook.office365.com
 (2603:10b6:806:124::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.17 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Thu, 17 Aug 2023 00:40:30 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:30 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:29 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: acffca5d-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R46mwtsd7g9ad2DvXmRzahH0CgVKF20SRv2NsReGcW43HlL0enmUf7s8sJWgFl6USdthOw8CbaZ7BfVW0hkIA1UiEFuG0tEvIM9q0rkBw+C6PhJxu1G2dCk0/7vh40M+voWPFDzHXbcj5B6o/zxTgItkZdKE/sgedoKNklY9eRLGsPyEiAjeY8GCe5yqUtVFQ7X0QkiS8G+U7nz3BMcgwOQb5LKSIJh0h33snVIsuvc8vpl+BLcKftJTpx00BiLz67eLLDVTSXMNWDvJLjdplsD2avk937N1a6vjEkbq9EdoC8d55RohGW2n3MwWCLUgp6NX+SODcWysCv+/lR+UUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=dPPIHmttSvXNsuHIXUyM03DukL2zOU6wGYrK9Tu1N8Vf/AEU0/x5yO49nT8Uc+1UOOFP2608Q+f76/Az79WAHe1fvkwMU+lnirbQ24DyVv+C+IeUYb1DnbPT88bzfRDsa4Rq/CIYtFW8wBzx3EkM0AGYgt6AB/50i7NeiG4ZKMnHtbWhV+4K9VFqKnhQpvYQVrp/2FUuXd3EBa9r2eK7aayhSFLFBlRHNmY0pv3HmQIhzrdm6Xd9IFQpqzhSiDHBM4SRaWvJDDJH83H52+JccIrer+lG1d5Xlj/d6jaeptymFSlyfDd0nIdShO/u/faDnTfuZLxiWcz9iy7gVhB/hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=YKeBxZcym/0TplfZz7+TiM9RNF8mIcIyYvWX5AKvJOLPdcQ2CXoQSgVwGgZyHEG9+MgfLbLYMdQyB2QOiY6J5RqmcGGgFDdqmIuJ+mXw8BYfmtYeVrBHD4YZjpda5m9BNZoRG2HCAhgkcoKK2g5NM7GB5nx7vJM/7En6ChdIPZ8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 06/19] libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
Date: Wed, 16 Aug 2023 17:39:34 -0700
Message-ID: <20230817003947.3849-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|MW4PR12MB7000:EE_
X-MS-Office365-Filtering-Correlation-Id: 70737f81-6639-47b8-c9eb-08db9eba8f35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JQhCZw3myDdNiDzBWvYyoh82FHDXAR4PCAw9Yee4KVqhdQglWWCENt3n6d+zH+uXSsytL0lUv53urY6vHThwzlmr/y/VfnviSMx8PE8DqLbBDFFgix304ph1amUkrxyijFMajNYkAr8bFfccBWAq50Cizngol5zzMzJryUOiRmbE0yKkEXPXxhzARJyr3uSyOelJWUZQDg7Bk+8HBlVQFR/QCriqBQI60AohMvdS7hb+Q9r9w6+vNaEqlwkGXsNIVvskOCRThx5gvKt5uzGaRitzBkzJBL+m9s+9ZJpHS2FWOb/AujEpi0ev3vhA6B1faNRu3Btybf32GFWROiQLHYduYi18Mlf98zJXa1hqv0i1BUN3wm1Y56QAr5fKO7X4JUlNQib1TPObVcfYKbWZ5TEGGKlmwHDdZdV4Ka3APywjyhfq14Y36cOtDQQTebuPmTXnGIKIEUD0LQLuCAzmThiy2Lv2Mmqpn0CHgfK7xSFSSH/fzrewJX0S9tqtX+uCPxYkWc8ym6JE1wNvlIn0XpXWuiR+qWyH/24i6rLAmP60MItDr/MUWl31q12FqQdjWWsqOaCTFEjedw4WdeLnlvgdE6VFwUkjbv54Dp3Q9GcModqbsk33b4HdqKMhs4rkaI62cx89R0ABmwHikAVsZ8C3yzgXeM30ep6KxkxBTAX5S/OKhpdIGxcuug/u96g1TCQ2fYdpIBmYmnetteReraM1bq52aGg1w8zF9SEIB+0oRKrVELgXXcvWRniWnMbPOzg5lR/ZJiwcq156kudWoA==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(4744005)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:30.6204
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70737f81-6639-47b8-c9eb-08db9eba8f35
X-MS-Exchange-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:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7000

This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/libfdt/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 75aaefa2e3..d50487aa6e 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -1,7 +1,11 @@
 include $(src)/Makefile.libfdt
 
 SECTIONS := text data $(SPECIAL_DATA_SECTIONS)
+
+# For CONFIG_OVERLAY_DTB, libfdt functionalities will be needed during runtime.
+ifneq ($(CONFIG_OVERLAY_DTB),y)
 OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
+endif
 
 obj-y += libfdt.o
 nocov-y += libfdt.o
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585003.915975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4D-0005AD-6p; Thu, 17 Aug 2023 00:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585003.915975; Thu, 17 Aug 2023 00:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4D-0005A1-3K; Thu, 17 Aug 2023 00:40:49 +0000
Received: by outflank-mailman (input) for mailman id 585003;
 Thu, 17 Aug 2023 00: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4B-0002YP-Jl
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:47 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3fa0aa7-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:46 +0200 (CEST)
Received: from SN4PR0501CA0047.namprd05.prod.outlook.com
 (2603:10b6:803:41::24) by SJ0PR12MB5486.namprd12.prod.outlook.com
 (2603:10b6:a03:3bb::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:43 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::91) by SN4PR0501CA0047.outlook.office365.com
 (2603:10b6:803:41::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:43 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:43 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:41 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:34 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b3fa0aa7-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LMOMkF3u8iNMs/AxnqzdM0ki90BrG7yvrFn3FZrl3kRfvYZUBb7rXu7LnuVxUO/sBD9N44CJfKk6MB9WVEeWASw1wdFJi7c6EnzQKyKlhMtTqnre7F6/nTYYjLJaVKJsxN3YxI7P9d3dXjDyEOwH3LNQqGZRd8delLJq9RAOPZDwzzbD6P9nAce2O9TCyCpW+YNSeqGT3u61XPl3TQJgikiKbp6CmS6nJLye1/rncGFFWwi9Z0I05IBXgEZWW02OxDxz/ZiT1zN3R5IRrPyJdx2LMZYVdDUM2Rh6uHzLA0MLUFAA/W89HxEwAUJIoNqNar2d1nSmkW/L3wqnXJQdOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/xHkFrH8SopbUhm47gT/XcnanhxswGsDSx0kdqePZ4A=;
 b=RUpp9T/tjRar/MHOyjlLEpa2eB4WG+2Y0ezJDr5jSm5C3XyOUAJzASbNIU7ZpdT3M9Iwj+Iz2AutWyduGs6sAow+1IFN4eeFsX3FU/tYJeHosUA2BfLa+7uoTbNBJk6EW5lzAUbzmuizWmpuHFvpDukBht2bzz9J9IgNvmciGO1Md1x4HPQyN0cLJbRHt1M2IEOMAuzRKms4wqim9eR/AMAm9DM2rkm6ct5OP0rNvaaJF45cJpRVSqXSKsup+PaTuW0eY62vfSbFEqlPp0Wdkzxi/OPu4l1LHmMqA1WKs2QnlCxLeBtuiA0hIFmkIvA/dOgSqXLnM3AGIHROc0djAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/xHkFrH8SopbUhm47gT/XcnanhxswGsDSx0kdqePZ4A=;
 b=xtLsPwRJJvcU+9egjU6pb6yq4KzOUCq89OdZZ6uBPCzEysGk60w7nnURf4lTQagejFtlvidt5c4MyMBITBu/Pn+wnCAkYh7xzV063aXTigVDVCpltzX+GW93sA0yjL1BJDhFSQxOr2c6O2HBhNxYbsq+N+evPK49GbSCSvdtnQo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 08/19] xen/device-tree: Add device_tree_find_node_by_path() to find nodes in device tree
Date: Wed, 16 Aug 2023 17:39:36 -0700
Message-ID: <20230817003947.3849-9-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|SJ0PR12MB5486:EE_
X-MS-Office365-Filtering-Correlation-Id: 69ffabb1-e155-4aa2-b24e-08db9eba96d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nhZKrBkO7vSxbYiiS4hI1UbXGhVakjLNyykXah3E5PI7tZTNMf67/0kDom8+lXBAA+6plm1P8aRFwz4wPfTpicbTeIq4FEeB4oqiR9ief55sEbpyZbp5SAhY+0BHG2PrX6Fj6QTDUpLu4dQQbHnYnDWK0Jy81X2olBGfP6s7AfEdHfXYtN19vdhVnq5rqxFf/JKP023lcCwzKkTXvMIh9wVKuDNvULPxVO3X2K0DhFMEsLIr8DtSCyXjDLCiuKTHcgElZQ52Cx9Xzpq+/jTxiE9QGo2cP4WjUxFVD7B72cbKycjLlr2BqI9+/BVTj50NGxGueQbH7PVqWBkgvLpXEc8TTV8dks8trHaKBwfB9BLhHJADSdeFR5/g3yx/Shq1wNDYVFO6b3Be2rigG+miV/nwGfeVsgAWudYFjSC2Gr68Axy9yKKY4d43hMHyFxZSdhYXYOWrGswr67q9EmKfJP6SKSsElAi7Z95hBhEw05wnz2Lo5IJZORZN/dRTsqZM7cnk04sdVk15z6QrsRl9dYSAh5V8wTPE0FL0HNm+0GFUdTHYah0I1cHu4olYvTjiWMt5U9I/bhdI5x88tA6EK6ol/TUT/0s5KoF9thyhI3it6kFRid4s2Oi/plnezyFNGxfNov1fQREOI1SVWpJCSRMNoAf5bmWNp6aZ6qR+1cpc9hUqH2tYfR14FmHSkJQfK0irpyGH5P1uDZcp1+h50I68L48shoymR0dwRNxJ/q3tD0TPXw6baht8ub/jAlMn4gh1ajJgJTOGV/4lSN6EVZ2a1JHWpIbQjnNPIBl2yA4=
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(1076003)(2616005)(37363002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:43.4256
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69ffabb1-e155-4aa2-b24e-08db9eba96d7
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5486

Add device_tree_find_node_by_path() to find a matching node with path for a
dt_device_node.

Reason behind this function:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, we need to find
    the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
    and add the nodes as child under their parent in the dt_host. Thus we need
    this function to search for node in different unflattened device trees.

Also, make dt_find_node_by_path() static inline.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
    Fix indentation.
---
---
 xen/common/device_tree.c      |  5 +++--
 xen/include/xen/device_tree.h | 18 ++++++++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 67e9b6de3e..0f10037745 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
     return np;
 }
 
-struct dt_device_node *dt_find_node_by_path(const char *path)
+struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
+                                                 const char *path)
 {
     struct dt_device_node *np;
 
-    dt_for_each_device_node(dt_host, np)
+    dt_for_each_device_node(from, np)
         if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
             break;
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 5941599eff..e507658b23 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -568,13 +568,27 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
 struct dt_device_node *dt_find_node_by_alias(const char *alias);
 
 /**
- * dt_find_node_by_path - Find a node matching a full DT path
+ * dt_find_node_by_path_from - Generic function to find a node matching the
+ * full DT path for any given unflatten device tree
+ * @from: The device tree node to start searching from
  * @path: The full path to match
  *
  * Returns a node pointer.
  */
-struct dt_device_node *dt_find_node_by_path(const char *path);
+struct dt_device_node *
+                    dt_find_node_by_path_from(struct dt_device_node *from,
+                                                  const char *path);
 
+/**
+ * dt_find_node_by_path - Find a node matching a full DT path in dt_host
+ * @path: The full path to match
+ *
+ * Returns a node pointer.
+ */
+static inline struct dt_device_node *dt_find_node_by_path(const char *path)
+{
+    return dt_find_node_by_path_from(dt_host, path);
+}
 
 /**
  * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585005.915979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4D-0005Do-IB; Thu, 17 Aug 2023 00:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585005.915979; Thu, 17 Aug 2023 00:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4D-0005Bq-C8; Thu, 17 Aug 2023 00:40:49 +0000
Received: by outflank-mailman (input) for mailman id 585005;
 Thu, 17 Aug 2023 00:40: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4C-000280-VC
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:48 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4347f6a-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:46 +0200 (CEST)
Received: from SN4PR0501CA0067.namprd05.prod.outlook.com
 (2603:10b6:803:41::44) by IA1PR12MB6163.namprd12.prod.outlook.com
 (2603:10b6:208:3e9::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 00:40:42 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::26) by SN4PR0501CA0067.outlook.office365.com
 (2603:10b6:803:41::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:42 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:42 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:41 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:32 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b4347f6a-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R1DNHNjKschm42ddVL0ZVGTYb5/bl0VT8SdAxJTm58gK0+6mDzLTL1Bse00XHKHvBtkOrboDOjPr+EiIl/+K7JnF4eHYp2OFZEPMx3C1zKsq4LbadMK5QV5xnRfIdKsjdBHHWy/gCNhwJq0z4+5B2c7BphNXkN4II2/ouUp3M/zRLPduQZ320Q/ovP1VsVcseKCcak/qLpXc/Wvy+YwDBkeLTlq//GictCPa92bwmFuxtssa1srLUHG+quYtKfjc6aVVFlvZXrRKlMYteDAJQIRqCdMH8VDIpO56ub+ll32TycrYOHy5T0kNoXxGSxrpWIfgB0JW29pfdOgtuV+Jxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=airvZLNpv/LTKJWyHNH6o5bdGfyrOB1lT1ReA9XDQ/Ma7OG/DveWL71HSwKwzxcFufTljNel5YZzFiKYirU5y74nBOiEnmUdlny6CXQYZk3KTutmidO2r1qd0Qq0hXgEbdgduQnltxf9gCt8AMUQYGPm0T2oAFoe0wOfXLGMeqGly/0xJHszBG55pgePnhD9rEITv4ES1yQNOe0OqPzZQha0DWs7i8pMF5vLTK9N+3QAATN9Y6kLAehP7GrzPoFLG5c05i4M/JdB9hduTeAVvvNfpADbzjdDdHDk+hZIe0JWeT+cnF72mcnWVopvEOjGM9j6c0XuE7JgEKzRhU5AVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=25GgB+Fu9H4FBgJq9ryhEPZoUtfukulkqFvz9I7tms4qiZ6ftP2bLSyQX3Dj5bG0MiLs4F0a6cGjkRGoDfZX9WdAAQsI6eqjDG7QwHxJKRMPNae7xgt9tXm/w32X2390aeTY5/4VXvDnjx3UJMgi+iDH/gIjP4XEhezeGi1aILg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Vikram Garhwal
	<fnu.vikram@xilinx.com>, David Gibson <david@gibson.dropbear.id.au>
Subject: [XEN][PATCH v8 07/19] libfdt: overlay: change overlay_get_target()
Date: Wed, 16 Aug 2023 17:39:35 -0700
Message-ID: <20230817003947.3849-8-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|IA1PR12MB6163:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b46e1f3-184e-4099-ba9d-08db9eba961d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ggw+gDu86BHVrakbD4OWK7iPMXKN6nHKRcjEQahuZXumIsZwSw5VGQQcD9ldlrsQZveOtV1WwXx8LA3wVeDh9nBebYcjn4kpkf4n/5ZRkCX1CPpcSb4VJJN0XjONeYUgVqQLshOqanJBJH1Jsa44ZrtM6r5zcXSUsf/xlbE+VjoUyDDmFCPhtB5HImyEQepl4rOlOklSfR5/VkUegBBSbqJe/LQWsPFXhXoWdVvfFqvj/yr7krcozndy7WqWppI50Wc6masycFRBv9zADS8PdrRSJzMiO1xvTJ2uyVCRO74ThxCG3+ICCl3ZrZZNwj/sq/w6kIkYM+/yZo9FolyBkCI8GHZIziA7/StPvn5hFf5Jbl/Ym3+OzYAT9DkSkiyViRNRWCq3e5jA2P/ryLru25hLH+Ky8QfoSAu1pcH7Z2ToN43ppCzHASuEmS0W6baHwzBOqiz1yqD2dr2RAoWDz9srHac+cvUcyH3rGoiHlXl4mPX1CzNVWsN2egBlRESjmTmZeK3PdMtteqvJOv4xX88xbWhT95mvOQbCjq5lhYCPW8Tu9X7VRB8jYRbBghpcGiI1oU8j/AJn56L20VGLSaDNx7M5J62G7RPIVnWqorqzsAFuiJlwSkaRUOSltxUT2gcR60A6kmPbi2Dc+jGMF03/BXvjtHA9tuFjrlF57p1pWnV969rieir6o9V7dK1hWaAHrMZnOPlRt053hgl2QAaVfGA96UKANGllWloHJ2DF4lFDHCbBYjDuEEiBfwEpXQ7TyMLsaAHCWTFhGYjFCg==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:42.2068
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b46e1f3-184e-4099-ba9d-08db9eba961d
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6163

Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.

This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the overlay nodes, e.g. mapping of
resources(IRQs and IOMMUs) to other VMs, creation of SMMU pagetables, etc.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Message-Id: <1637204036-382159-2-git-send-email-fnu.vikram@xilinx.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Origin: git://git.kernel.org/pub/scm/utils/dtc/dtc.git 45f3d1a095dd

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Juline Grall <jgrall@amazon.com>
---
 xen/common/libfdt/fdt_overlay.c | 29 +++++++----------------------
 xen/common/libfdt/version.lds   |  1 +
 xen/include/xen/libfdt/libfdt.h | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/xen/common/libfdt/fdt_overlay.c b/xen/common/libfdt/fdt_overlay.c
index 7b95e2b639..acf0c4c2a6 100644
--- a/xen/common/libfdt/fdt_overlay.c
+++ b/xen/common/libfdt/fdt_overlay.c
@@ -41,37 +41,22 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
 	return fdt32_to_cpu(*val);
 }
 
-/**
- * overlay_get_target - retrieves the offset of a fragment's target
- * @fdt: Base device tree blob
- * @fdto: Device tree overlay blob
- * @fragment: node offset of the fragment in the overlay
- * @pathp: pointer which receives the path of the target (or NULL)
- *
- * overlay_get_target() retrieves the target offset in the base
- * device tree of a fragment, no matter how the actual targeting is
- * done (through a phandle or a path)
- *
- * returns:
- *      the targeted node offset in the base device tree
- *      Negative error code on error
- */
-static int overlay_get_target(const void *fdt, const void *fdto,
-			      int fragment, char const **pathp)
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp)
 {
 	uint32_t phandle;
 	const char *path = NULL;
 	int path_len = 0, ret;
 
 	/* Try first to do a phandle based lookup */
-	phandle = overlay_get_target_phandle(fdto, fragment);
+	phandle = overlay_get_target_phandle(fdto, fragment_offset);
 	if (phandle == (uint32_t)-1)
 		return -FDT_ERR_BADPHANDLE;
 
 	/* no phandle, try path */
 	if (!phandle) {
 		/* And then a path based lookup */
-		path = fdt_getprop(fdto, fragment, "target-path", &path_len);
+		path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
 		if (path)
 			ret = fdt_path_offset(fdt, path);
 		else
@@ -638,7 +623,7 @@ static int overlay_merge(void *fdt, void *fdto)
 		if (overlay < 0)
 			return overlay;
 
-		target = overlay_get_target(fdt, fdto, fragment, NULL);
+		target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
 		if (target < 0)
 			return target;
 
@@ -781,7 +766,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 			return -FDT_ERR_BADOVERLAY;
 
 		/* get the target of the fragment */
-		ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+		ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 		if (ret < 0)
 			return ret;
 		target = ret;
@@ -803,7 +788,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 
 		if (!target_path) {
 			/* again in case setprop_placeholder changed it */
-			ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+			ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 			if (ret < 0)
 				return ret;
 			target = ret;
diff --git a/xen/common/libfdt/version.lds b/xen/common/libfdt/version.lds
index 7ab85f1d9d..cbce5d4a8b 100644
--- a/xen/common/libfdt/version.lds
+++ b/xen/common/libfdt/version.lds
@@ -77,6 +77,7 @@ LIBFDT_1.2 {
 		fdt_appendprop_addrrange;
 		fdt_setprop_inplace_namelen_partial;
 		fdt_create_with_flags;
+		fdt_overlay_target_offset;
 	local:
 		*;
 };
diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
index c71689e2be..fabddbee8c 100644
--- a/xen/include/xen/libfdt/libfdt.h
+++ b/xen/include/xen/libfdt/libfdt.h
@@ -2109,6 +2109,24 @@ int fdt_del_node(void *fdt, int nodeoffset);
  */
 int fdt_overlay_apply(void *fdt, void *fdto);
 
+/**
+ * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+ * @fdt: Base device tree blob
+ * @fdto: Device tree overlay blob
+ * @fragment_offset: node offset of the fragment in the overlay
+ * @pathp: pointer which receives the path of the target (or NULL)
+ *
+ * fdt_overlay_target_offset() retrieves the target offset in the base
+ * device tree of a fragment, no matter how the actual targeting is
+ * done (through a phandle or a path)
+ *
+ * returns:
+ *      the targeted node offset in the base device tree
+ *      Negative error code on error
+ */
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp);
+
 /**********************************************************************/
 /* Debugging / informational functions                                */
 /**********************************************************************/
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585006.915995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4E-0005fh-VS; Thu, 17 Aug 2023 00:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585006.915995; Thu, 17 Aug 2023 00: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 1qWR4E-0005em-Po; Thu, 17 Aug 2023 00:40:50 +0000
Received: by outflank-mailman (input) for mailman id 585006;
 Thu, 17 Aug 2023 00:40:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4D-0002YP-Jc
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:49 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5c47200-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:48 +0200 (CEST)
Received: from SA0PR11CA0095.namprd11.prod.outlook.com (2603:10b6:806:d1::10)
 by SN7PR12MB8129.namprd12.prod.outlook.com (2603:10b6:806:323::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 00:40:43 +0000
Received: from SA2PEPF000015C8.namprd03.prod.outlook.com
 (2603:10b6:806:d1:cafe::2) by SA0PR11CA0095.outlook.office365.com
 (2603:10b6:806:d1::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40: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.27; Wed, 16 Aug
 2023 19:40:42 -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.27; Wed, 16 Aug
 2023 19:40:25 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b5c47200-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JnwaWOEJ7yNKLN+L9Ybsu9XGVjH2uxQPQF0yT3amZiwXbl8xef6/wi3D4PzvFPChwEKG/OMcCeQnuxMxgE2oOhDMsgcaBrXw0A40EG2qKTK3HtXjq+qNcXW8mQQst+heZUugdshTLJyosRCQ6griZPIusLzNvWFTSz9oD9Cq+NBIN1YK45aPC/j+pYt3b3V0inHP48qaN6v1Uy3Vae6M85F/RBWkBJG0cwRsHpiXjG0JqPJEUw/f+4TfvU5lePCvCpHMm72f7562m6fV5RQQEY0qktRQRUWw6BAv4aE0DVQSttiuR/bc9SbdhHoEQHKLzZakTKPJGXTFYTCbaxJfcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eGVNShdnG/aIBZ1qd0+shXMehlt+J631oNOuesBuA1Q=;
 b=eIKwi5DPgFWacIw83htMjFa9MLuWNIKPJVRFCg+qj/pTcZtvp6hQiPY5sAulDzz08qtljeR56xDOOZa6sX/YZG66Qo9xmR1GrZMGUlGAMs+3W9Nxe3W/SGOJ+tfcKY8uHeUlftBaI+5ZKBdo1meui20N6ieZcpstvq6cFGaYndEUYRti/SDuzCTlFrYfagaWCpLh96ExYUuqYIp0chuQUBGq/DQ/L6pqaLz31rr/EkO6c4rHxjKZAv0NCGINGKLsB75swsI3eMzLcVRXDUflcC+yOgcQLROK1YVMZdyOUhrRTfsyFs+csTRFLEyNWtr3Tncr+HdQY9KPrUzIBnAVwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eGVNShdnG/aIBZ1qd0+shXMehlt+J631oNOuesBuA1Q=;
 b=i91laATEWyd6D60JM8/H57huPqXJoaVOeJGcZqNcKK/H4v81s0z4O+s1qUn6YyWVQ9fPdBGu9Y07prXYuvuRoVEkahK+bfhusjoPAGnhP0qlEu68jGLx/V86lISyfIoPU/V0Z6bu1SUswFtuhOac9KaQSGso7Fd6BETGN0e1cgI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Henry Wang <Henry.Wang@arm.com>, Community Manager
	<community.manager@xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v8 05/19] xen/arm: Add CONFIG_OVERLAY_DTB
Date: Wed, 16 Aug 2023 17:39:33 -0700
Message-ID: <20230817003947.3849-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C8:EE_|SN7PR12MB8129:EE_
X-MS-Office365-Filtering-Correlation-Id: 38266f72-d326-4833-68fa-08db9eba96fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FF2DsZW1M7oVyFbl8A2lvQZO1dijxqQ5dEGN8qpMutVWzclSgiozMQMcajZuUZRe3GVS7Gel3FGmrS74wjRZCVZPJJhpkFi+8dBHCrES+IYdjoC6yy6Kfme+oyigvBIQQ+RUhzSQ2R8hB/XmYP3umsM/A2qAM72lHjtR+ROr5ofNRnfz9t2UaG9YEeB+d3tdY7K4BAFd6Q4cu81nr7yNdUHzL0PRkq9pCCmI3uR5YxYCzulYW3k04iSi1MZEsGklmS8QfoB4ukhuaASn9LZxEoD4oUIFzgCV3plhr+5w1qodc1F/HL4yWOIc7hAPVNedD9yE5+aZPC9ogVRsFMndBwZpPShumhDoAT+O0kmWo7Em90BAWxhd2mvZMgmRHH9dADkshu9TmyaKBuA1fbYYzl8SszUxAZ21EsNt+KTkqqoh0qXpMdSvHLeqvxlt2Q61PkFfCnU5YV8pLmlT1ufSAzZz0OMfnOzVkK5Ch9uqefqboH9Wb8L7z9yiQ+ygr0YLCnHXe0oEOCbTbQFg3dPkWW8kgxXfQRftqcpLqggyRgwGiRnOZ9y6xfvf4YxHYR74IOz/IpyX3T8n4chqy6Dhm61X9yY03rTtgq34qR4qhtIhHUDKtN3RgQGUqJo2aUtMHnbagHbZnQubajyZGPNX9/5uZbUBhgNr3/BeweaTGpBAoJhuNWicnsRjoBACmApj8OJ42Qd2Y+dQWSzMNcoWgQ6E16ox68f7Xb4snzLEkSKSjjVyWSEbqy8WhpF7w7Ir6vuq1za+aFU4sUpOvfgkzQ==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(4001150100001)(336012)(478600001)(7416002)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:43.6531
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 38266f72-d326-4833-68fa-08db9eba96fa
X-MS-Exchange-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:
	SA2PEPF000015C8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8129

Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.

Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
Arm.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
Changes from v7:
    Add this feature as "experimental support" in CHANGELOG.md
---
---
 CHANGELOG.md         | 3 ++-
 SUPPORT.md           | 6 ++++++
 xen/arch/arm/Kconfig | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7d7e0590f8..47098dbfca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - xl/libxl can customize SMBIOS strings for HVM guests.
  - Add support for AVX512-FP16 on x86.
  - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
-
+ - On Arm, experimental support for dynamic addition/removal of Xen device tree
+   nodes using a device tree overlay binary(.dtbo).
 
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 35a6249e03..8eb006565c 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
 
     Status: Supported
 
+### Device Tree Overlays
+
+Add/Remove device tree nodes using a device tree overlay binary(.dtbo).
+
+    Status, ARM: Experimental
+
 ### ARM: Guest ACPI support
 
     Status: Supported
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd2..02c4796438 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -92,6 +92,11 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config OVERLAY_DTB
+	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	help
+	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
+
 config HVM
         def_bool y
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585007.916005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4H-00063f-7M; Thu, 17 Aug 2023 00:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585007.916005; Thu, 17 Aug 2023 00:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4H-00063S-2R; Thu, 17 Aug 2023 00:40:53 +0000
Received: by outflank-mailman (input) for mailman id 585007;
 Thu, 17 Aug 2023 00:40: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4F-0002YP-Et
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eab::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5e3c048-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:50 +0200 (CEST)
Received: from SN4PR0501CA0042.namprd05.prod.outlook.com
 (2603:10b6:803:41::19) by BL1PR12MB5048.namprd12.prod.outlook.com
 (2603:10b6:208:30a::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:46 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::13) by SN4PR0501CA0042.outlook.office365.com
 (2603:10b6:803:41::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:46 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:46 +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.27; Wed, 16 Aug
 2023 19:40:43 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b5e3c048-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DF9z7OL7L1u6+rdVuEJscwipiXCcUltnvETwhAYU0AcP/CdsL4+j8W0FlRQtFvkLWlB7nJH5Q7eYmEnVVCAiijkO3I5rBe+lUByFRcsCuqJ8M662FRy+3xHGjw++MEe/f129bDC6El74oAG0vVfqXDFjHM9/LVM1u7eglI2kbuZdJIYGXIgf6e0Q3ppk6eIAgX0ltAeHtvHs7fuSLgqwcig3VXJNpFPGlH0/1eLbdiovtl4qBc5t4xrAoLs2lkyULkWYIMqxMC7zN19e4Yd4omohs8gh+WGxoUjQfuwwuxOKHiw2QyQMEad7FHQ1fxMfseOpuza47pcG9QydapPKGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nCyL0+8MSIKb4AwqqY4xSHJp57PvTVSjc1PRQ5LvHww=;
 b=JzsWHgrC5bH+bojZpjhTxGnY4suYZxCp2dCU64CiUX8rMRl4wAqPXLiT9yjeGnEO15uWSaN8wIeE0Y5Vj4oWYyrVBV9CIK2VunEXtUBWwvBxkwu4/JQeKUzC1bfFAUKRFRy+sq0mRBOhLumms08aueRtKA3pdmvqdQb75xkRhp39CAzfhaHD+2ldxuhgAeZL0tHq+cVRHYoMmAj7mbgyTvKT2hDfqo4BketH8R0kTwoZdgO96DO8P6w8KHOCNWfhYHrv13iVQ/3PZA07APuSrRzQaEP5IDZGp/wRI6fckkgwbGFVsu/erFA8oAsNIyQ0GkG7KdSKr/abUiySH4a4FA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nCyL0+8MSIKb4AwqqY4xSHJp57PvTVSjc1PRQ5LvHww=;
 b=iHmFigOKOR9df1lNP7F/SInjWf7HTgV8g7uFAVzTGHvdkFttxE5nGbbg/kYKgsX0y9ltgfkwDiQ43LCC3mm2XixItoYYrSGsZA8dv479Fjb/3bswT+MhieiDhwxM31c2r2HaKWoiKCELNr16ySGa4Ub/rL8UVcfDPWGO/WMofBU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 14/19] common/device_tree: Add rwlock for dt_host
Date: Wed, 16 Aug 2023 17:39:42 -0700
Message-ID: <20230817003947.3849-15-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|BL1PR12MB5048:EE_
X-MS-Office365-Filtering-Correlation-Id: 18031cb1-2604-4d4b-c763-08db9eba9871
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fjPNH5ONl/f6GPp6tFsxWpVEoL/a7ajQOnYN3o/k3ZoqOSAiHrVRFwRjT3bJ9O8/9DmFN9wAr4Z6StCbmiuIvW2OvU8axqKZDchwzzbM3NZr8qJtxqPcvvO99UlTUPovK5DMrqU+K1OPT/9zRbiXNGki2/9yR838K57yPgfThVHueMwlouTKDgIzTNvU0lugn3Tt20XkgFZgzB6tX76AvULgjYa07C6qAQXHieivN2G20IrwHB04NMMY6qwi3DkgmKZgsjbLOnI8EvgbggGxe989K+hGaj+2TcLjQmgwoEaqvZwi5atEEFoB5Yc/dGQG2vN2P/lzP8SD4Ab3vK7PO7t5pYB/uEQI3jGmYnoYeiU20D7F0wbtRGDqNK2z55LryGghwditQuToj1n7YKoKrwMaXLKY0PAN/+oOylFWNtNv99DXbSWFb8juXL8Nu0fsFFq3IWHpmzXoXrgj/bnPVxkCrcKFZIM3s50Vo1EmyaXtIKp8nGW5Uejjjor503U36THp28dNs3MjymcF+MB8UR/TKRIpIps/AQ3ETth5nkS7bdYqJTtsjo43gf6yD87YJYMTkYa2BpTwFMzH6fCvqm5oPHthzX9/y1WMTQPQL3nG504Rv8V5MzR06cMFg0xG6YHUvDbMZdHNqfiVGydJXl0ErJ8fHvGabBHtKw12eKWnzCQI8tmznk8DDP+hxEIe75XJizRABbq1M9ifKUP7JDEthUPuwDlFqnsSkxe7m8Wo24yhGNAF5x9dPkUMBc85RSiAxVxeAm6f9L+bBOcppQ==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:46.1131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18031cb1-2604-4d4b-c763-08db9eba9871
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5048

 Dynamic programming ops will modify the dt_host and there might be other
 function which are browsing the dt_host at the same time. To avoid the race
 conditions, adding rwlock for browsing the dt_host during runtime. dt_host
 writer will be added in the follow-up patch titled "xen/arm: Implement device
 tree node addition functionalities."

 Reason behind adding rwlock instead of spinlock:
    For now, dynamic programming is the sole modifier of dt_host in Xen during
        run time. All other access functions like iommu_release_dt_device() are
        just reading the dt_host during run-time. So, there is a need to protect
        others from browsing the dt_host while dynamic programming is modifying
        it. rwlock is better suitable for this task as spinlock won't be able to
        differentiate between read and write access.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Keep one lock for dt_host instead of lock for each node under dt_host.
---
---
 xen/common/device_tree.c              |  5 +++++
 xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
 xen/include/xen/device_tree.h         |  6 ++++++
 3 files changed, 26 insertions(+)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0f10037745..6b934fe036 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
 struct dt_device_node *dt_host;
 /* Interrupt controller node*/
 const struct dt_device_node *dt_interrupt_controller;
+rwlock_t dt_host_lock;
 
 /**
  * struct dt_alias_prop - Alias property in 'aliases' node
@@ -2137,7 +2138,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 
     dt_dprintk(" <- unflatten_device_tree()\n");
 
+    /* Init r/w lock for host device tree. */
+    rwlock_init(&dt_host_lock);
+
     return 0;
+
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 4cb32dc0b3..31815d2b60 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -114,6 +114,8 @@ int iommu_release_dt_devices(struct domain *d)
     if ( !is_iommu_enabled(d) )
         return 0;
 
+    read_lock(&dt_host_lock);
+
     list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
     {
         rc = iommu_deassign_dt_device(d, dev);
@@ -121,10 +123,14 @@ int iommu_release_dt_devices(struct domain *d)
         {
             dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
                     dt_node_full_name(dev), d->domain_id);
+
+            read_unlock(&dt_host_lock);
             return rc;
         }
     }
 
+    read_unlock(&dt_host_lock);
+
     return 0;
 }
 
@@ -251,6 +257,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
     int ret;
     struct dt_device_node *dev;
 
+    read_lock(&dt_host_lock);
+
     switch ( domctl->cmd )
     {
     case XEN_DOMCTL_assign_device:
@@ -304,7 +312,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         spin_unlock(&dtdevs_lock);
 
         if ( d == dom_io )
+        {
+            read_unlock(&dt_host_lock);
             return -EINVAL;
+        }
 
         ret = iommu_add_dt_device(dev);
         if ( ret < 0 )
@@ -342,7 +353,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
             break;
 
         if ( d == dom_io )
+        {
+            read_unlock(&dt_host_lock);
             return -EINVAL;
+        }
 
         ret = iommu_deassign_dt_device(d, dev);
 
@@ -357,5 +371,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         break;
     }
 
+    read_unlock(&dt_host_lock);
     return ret;
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index e507658b23..8191f30197 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -18,6 +18,7 @@
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
+#include <xen/rwlock.h>
 
 #define DEVICE_TREE_MAX_DEPTH 16
 
@@ -216,6 +217,11 @@ extern struct dt_device_node *dt_host;
  */
 extern const struct dt_device_node *dt_interrupt_controller;
 
+/*
+ * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
+ */
+extern rwlock_t dt_host_lock;
+
 /**
  * Find the interrupt controller
  * For the moment we handle only one interrupt controller: the first
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:40:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:40:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585008.916011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4H-00068W-Pa; Thu, 17 Aug 2023 00:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585008.916011; Thu, 17 Aug 2023 00:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWR4H-00067a-Ex; Thu, 17 Aug 2023 00:40:53 +0000
Received: by outflank-mailman (input) for mailman id 585008;
 Thu, 17 Aug 2023 00:40: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4F-0002YP-RX
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20618.outbound.protection.outlook.com
 [2a01:111:f400:7eab::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b63fafcf-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:51 +0200 (CEST)
Received: from SN4PR0501CA0038.namprd05.prod.outlook.com
 (2603:10b6:803:41::15) by DM4PR12MB5342.namprd12.prod.outlook.com
 (2603:10b6:5:39f::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Thu, 17 Aug
 2023 00:40:45 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::ad) by SN4PR0501CA0038.outlook.office365.com
 (2603:10b6:803:41::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:45 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:45 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:42 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:39 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b63fafcf-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DbwwDRYMB7jKx1IE8X+OAIPS2u5ztJ8uyQd/qLPWHQPJA5JHkvXzIBAovceYRSCoXURwc0u3RYgW0xPPONLJ/q6cRGY8DWvKN7mPDe+FA96lRgjvR06b3WM9GUIv4T4YhOGPADIbpYM0OB6Hh4Mkbv+DJpMuM4CsiWji/g1Sk+tqOLi1cRVJwh/uuG/wJcsQDcCnRAzIxvsY4m8hN8b/rcS1sg2mzhLaABZMdOy0HPA+dbR8qTwDYg995kkrn/85jTcsu9OKgm8Z1HG5cdZ+/6QlWXSsV1Dn34FpBXUsN3VifojUFszNs3wVV3ebTv7UeCWMGrQvqX1I+/p+HATaZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=umzmBwETsxaXneMYshLnsO55s0EVvWX81Jc1LOTJ0Nk=;
 b=mijolHuY58UYTL2imLiMQIpVVVuhP9uUoFLDHg1M756Dh8cyyFLuwyzUWK6/VmQwuUNSexOdD5xpoBEKCbxzH4LTRrInTLSR483KQw8QKymcS7OZL2zrgYQNKWVYG6EnjmmN4zvxdDLU7ouZ8HuXmkTryMJL138dzsqOt8JHpWkzuH0bARk/UhTfWZZbT1XJentcwbeC73DkuYZyMawZm0ouE/JxsoGNtuLe2FXUA3ve4iGdfnnwVZxBU010aE9FisWg8c5eYAw8BYpjJAerdla+O4oFiak48bJKvv5gryo4r/8HCl0LUONEBceajWfQcWj7+4FR92SPl0vFxyuUlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=umzmBwETsxaXneMYshLnsO55s0EVvWX81Jc1LOTJ0Nk=;
 b=L5uR+qyDIxtjXS0mO64+QEm2td0/Hrvqh4sjZ7qNHFlYQE5u8hXiKCEIT8DXT+llL9yYAxHAIyeorm4OKUsm+NgC0FrTxFlBi6vvK9M35C4VfTg67dK3Wg1G7K/oPGWAXdfGEGo2q6VX0/dCgfN+4eYadOIzi41I4rofZPNK1bw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Jan Beulich
	<jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN][PATCH v8 11/19] xen/iommu: Introduce iommu_remove_dt_device()
Date: Wed, 16 Aug 2023 17:39:39 -0700
Message-ID: <20230817003947.3849-12-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|DM4PR12MB5342:EE_
X-MS-Office365-Filtering-Correlation-Id: 017010e9-a2aa-4511-ba25-08db9eba97e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hgfa5qlBXpYW4u97Y06Wj3pnQy7ZN3AI9i+ZMBYWTgD3yV3cC6mziKcAkKi9j2UKTesdH9MKnXmvTYPJ7Ddg06+lTy+xSJFetNtH5OnOM7YvtYWi0x8nlYaJ0KLKONyKdufN9O0yMBWfbEYGBAeJgrJEhMiKGgKEQ188ukbBwaTPrNl6k4eJWMnibCxG85yUyu9YRWPl6tZR1U1PnoHZ5z+Ska4dkAYIBN9o/Aq0tytPMa1l/85q4MgvLFHuCx4wh0eP/1xTalcNLaJmY/g1JWu7sdJ99HaPK5lzN9t7SUJ9+o8xuyG5GaLWTDylzEpgQYsoBJLw7srnFg03sobe9CrIlO38IPlBY/Sy4AK6rTVg3H0gzFiAmvVYTJIm4lrE05DivxWVolPPd8RRUc/vsMnycGAa/zteBaBZXKIIYi3J+NUwBSAT/xEL/gDZJYlVrYir4MOpgV2eNym+Ou9bKCO4LJCNaeLnY5JTmZjfapOA+6BF3uXVK+8dQw1ezmwygL8YipnggLhhfc5tE9EoUeZ2zppAJ+lpBxvuFjtE+zoJ5sU7y5mPYYJNv5ITZGQUuqc0UD9HfSX0X5SX7kxTbe+xpIRmPXdP13yjWI8gsYb4sMVhaww47MJbVsTFWee0evVuEQvPJAY5jak77PDmLEm0hJy1aRvu/biJ68MCu7DW4fILR+DVr2RrdYIwOVLejC9za25e5wzjjPQbQBpnMI4eo7nfjf1dijaVm+JQFy5uY78cCdzsXj+Zfcf7h+MZY7kKQpiVFQykxPtmwGwdDg==
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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(186009)(451199024)(82310400011)(1800799009)(40470700004)(36840700001)(46966006)(36756003)(86362001)(40480700001)(40460700003)(83380400001)(8936002)(4326008)(8676002)(5660300002)(2906002)(41300700001)(1076003)(26005)(2616005)(44832011)(426003)(36860700001)(336012)(47076005)(478600001)(316002)(82740400003)(356005)(81166007)(70586007)(54906003)(6916009)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:45.1599
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 017010e9-a2aa-4511-ba25-08db9eba97e2
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5342

Remove master device from the IOMMU. This will be helpful when removing the
overlay nodes using dynamic programming during run time.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Add check if IOMMU is enabled.
    Fix indentation of fail.
---
---
 xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
 xen/include/xen/iommu.h               |  1 +
 2 files changed, 45 insertions(+)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 096ef2dd68..4cb32dc0b3 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
 
+int iommu_remove_dt_device(struct dt_device_node *np)
+{
+    const struct iommu_ops *ops = iommu_get_ops();
+    struct device *dev = dt_to_dev(np);
+    int rc;
+
+    if ( !iommu_enabled )
+        return 1;
+
+    if ( !ops )
+        return -EOPNOTSUPP;
+
+    spin_lock(&dtdevs_lock);
+
+    if ( iommu_dt_device_is_assigned_locked(np) )
+    {
+        rc = -EBUSY;
+        goto fail;
+    }
+
+    /*
+     * The driver which supports generic IOMMU DT bindings must have this
+     * callback implemented.
+     */
+    if ( !ops->remove_device )
+    {
+        rc = -EOPNOTSUPP;
+        goto fail;
+    }
+
+    /*
+     * Remove master device from the IOMMU if latter is present and available.
+     * The driver is responsible for removing is_protected flag.
+     */
+    rc = ops->remove_device(0, dev);
+
+    if ( !rc )
+        iommu_fwspec_free(dev);
+
+ fail:
+    spin_unlock(&dtdevs_lock);
+    return rc;
+}
+
 int iommu_add_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59f..a8e9bc9a2d 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
 
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
+int iommu_remove_dt_device(struct dt_device_node *np);
 
 #endif /* HAS_DEVICE_TREE */
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585029.916034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDM-0001YQ-0X; Thu, 17 Aug 2023 00:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585029.916034; Thu, 17 Aug 2023 00:50: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 1qWRDL-0001Xk-Tz; Thu, 17 Aug 2023 00:50:15 +0000
Received: by outflank-mailman (input) for mailman id 585029;
 Thu, 17 Aug 2023 00:50:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4E-000280-Ve
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:50 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b46852f0-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:48 +0200 (CEST)
Received: from SN4PR0501CA0042.namprd05.prod.outlook.com
 (2603:10b6:803:41::19) by BL1PR12MB5349.namprd12.prod.outlook.com
 (2603:10b6:208:31f::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:43 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::53) by SN4PR0501CA0042.outlook.office365.com
 (2603:10b6:803:41::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:42 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:42 +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.27; Wed, 16 Aug
 2023 19:40:41 -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.27; Wed, 16 Aug
 2023 17:40:40 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b46852f0-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TgTCA2de+NpS+wd3G61FK/f8pxKqqXSgBZ6CgAnI/hpNulyfwG5/aIYIO+KcqU9LPmXqKURJ/LP5d8fjlF1GXlLK07pizA6APGmevJqy5muqm8iSMmf+0Z6nOivcXM46PR8KLvunIc04ztflOAJ5MDdIhR/by6V5onoxvSH1Y8SBspXMnU0ZegLftwTvWqt2Df99z/TZZBfW6/kx6FdsF4KipWBIXjmm459nZpgmu0ePaLoUi0tKtHYCf+/1bOflaSPv0X86bh1bHUrDd8hsTjNZ7DZrnMxxXQmLg2pYpV1Qe2b88D+6Enzbd1WbUcyoVMKlJmUY+qjQwgt0S3G4Eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0z4VnR/rjV3DabEuQM1jMT4AHTgihliMWcytUKhZcwU=;
 b=ThjSag0gEqt1ftICsa75BCvJahEAW/ChTH6U7punLvP7FUQoFg2gncclM23ubDd8VoITzeX7iJy06CfQqU7gzcg9HFNi+BIFiQTynj6PTv2N7gEgaUo5KKef267B4JdFjt8BOVOo6vdFoEFSjcp/JUQ0X9CDQYBaGvmA8EVjcRvEi/jTQpoPOHNUKStCvmmuZLKn9GZlk+NFElk7it8FC8W+7y1Vh1FBDbnae9ioqLXKFvmXl5Iwrd85Z8t+ZBnbPNsY1oa9nsgHmg9EiAIc0qbLNJHqrFFzY6DZzTcQ5NT7OPSUC/HjkJuj90T+cxC8KojRwwuitRcIkkfIeAO3XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0z4VnR/rjV3DabEuQM1jMT4AHTgihliMWcytUKhZcwU=;
 b=0YSUyW366VbAXgOBqDATVjgrcnEACRqNzdqVv9+L4VfogMs6sBKCBD8SbZSOqUobg2xcRnvsZH4Fl/h/iWIJpgMdrhxBANXqcUQVaQay8gggncBJOlEKuvd+3S5qkC+2zKgwJcYXIbq5Hz4D4SBzBS7glNvKOgpBfLuD1L5vmuE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v8 12/19] xen/smmu: Add remove_device callback for smmu_iommu ops
Date: Wed, 16 Aug 2023 17:39:40 -0700
Message-ID: <20230817003947.3849-13-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|BL1PR12MB5349:EE_
X-MS-Office365-Filtering-Correlation-Id: 694f989c-78b3-417e-b675-08db9eba967a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ud7G8hdjYNzPMatuEF8jSmymlV8iWjiBEgWTwPzP5KIrTRAepwqloSFl1o8MINTuZKk2nANgfD+YG5xSEru9EaKWnssMHNQPRYJPgRRgiqEaK8fFwHFwu+zpEMo++We3IaVIB1YDpD03RaOU1uyPaN9Bi+wczHEaMazeFOlBOmWUy4WQ5fZ6BYHx20iOKfLeoijus2YkD89ors9zahxuTmvtSdHNc9LlXaQ8zKaNq5C7DYfL+HEYJwoTXX3ooSGU0o2FptSK0ZxH7kRHFr/KrKt2073lsfjQuu820/YmeO1HS7i+HfmR7NZBdh5YSlH91GVxzbpSujzGX2Dd6ZUR9A5oXm2V3OkdI6XpYllwn2NH6iI+b/74jERc4Iluehixe20ztXnMEDPLnAzcGYmHWDLdkol2GxA5IuwijgSIhu8kGVsot7u1yWodXmAtxaTfeRIlluTzxkXyxfvXjz/sowfgpURI+2xGNGCRJOSaZRt5gWywSyFPa88VEkYLRY7rN5gixop85FMXUHU4uBev5B+eGOFBQMntuxtScyZ9IkbVEnbmc/m0J1gRpmwzY6r/d0n3Ht0/Zf92K0Yvww9S2n0m3Pw3dpEdUjIk0R6YdARfEY6DmtItmzhIKBI9xn4wE7UytPILpMbaJlmr+Xv145o8sHvIy6MLxVLS7BShjSwrwxdvmPqCJni9QxrgbcMOV0048b2EV+e67V+FCPsiROFgMchs4b3DyJusj+4aN4ksH+1TAlCgJ0Tzrzx5ENAPKj7E25R3TYDQXor2DS25pQ==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:42.8162
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 694f989c-78b3-417e-b675-08db9eba967a
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5349

Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Check if device is currently in use.
3. Remove the SMMU master.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
 Changes from v7:
        Added comments on arm_smmu_dt_remove_device_generic().
---
---
 xen/drivers/passthrough/arm/smmu.c | 63 ++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c37fa9af13..e1e8e4528d 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -42,6 +42,7 @@
 #include <xen/errno.h>
 #include <xen/err.h>
 #include <xen/irq.h>
+#include <xen/iommu-private.h>
 #include <xen/lib.h>
 #include <xen/list.h>
 #include <xen/mm.h>
@@ -815,6 +816,19 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 	return 0;
 }
 
+static int remove_smmu_master(struct arm_smmu_device *smmu,
+			      struct arm_smmu_master *master)
+{
+	if (!smmu->masters.rb_node) {
+		ASSERT_UNREACHABLE();
+		return -ENOENT;
+	}
+
+	rb_erase(&master->node, &smmu->masters);
+
+	return 0;
+}
+
 static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 					 struct device *dev,
 					 struct iommu_fwspec *fwspec)
@@ -852,6 +866,34 @@ static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 	return insert_smmu_master(smmu, master);
 }
 
+static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
+					 struct device *dev)
+{
+	struct arm_smmu_master *master;
+	struct device_node *dev_node = dev_get_dev_node(dev);
+	int ret;
+
+	master = find_smmu_master(smmu, dev_node);
+	if (master == NULL) {
+		dev_err(dev,
+			"No registrations found for master device %s\n",
+			dev_node->name);
+		return -EINVAL;
+	}
+
+	if (iommu_dt_device_is_assigned_locked(dev_to_dt(dev)))
+		return -EBUSY;
+
+	ret = remove_smmu_master(smmu, master);
+	if (ret)
+		return ret;
+
+	dev_node->is_protected = false;
+
+	kfree(master);
+	return 0;
+}
+
 static int register_smmu_master(struct arm_smmu_device *smmu,
 				struct device *dev,
 				struct of_phandle_args *masterspec)
@@ -875,6 +917,26 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+/*
+ * The driver which supports generic IOMMU DT bindings must have this
+ * callback implemented.
+ */
+static int arm_smmu_dt_remove_device_generic(u8 devfn, struct device *dev)
+{
+	struct arm_smmu_device *smmu;
+	struct iommu_fwspec *fwspec;
+
+	fwspec = dev_iommu_fwspec_get(dev);
+	if (fwspec == NULL)
+		return -ENXIO;
+
+	smmu = find_smmu(fwspec->iommu_dev);
+	if (smmu == NULL)
+		return -ENXIO;
+
+	return arm_smmu_dt_remove_device_legacy(smmu, dev);
+}
+
 static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 {
 	struct arm_smmu_device *smmu;
@@ -2859,6 +2921,7 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arch_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
+    .remove_device = arm_smmu_dt_remove_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .assign_device = arm_smmu_assign_dev,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585028.916024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDJ-0001HX-Pz; Thu, 17 Aug 2023 00:50:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585028.916024; Thu, 17 Aug 2023 00: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 1qWRDJ-0001HQ-NB; Thu, 17 Aug 2023 00:50:13 +0000
Received: by outflank-mailman (input) for mailman id 585028;
 Thu, 17 Aug 2023 00: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4J-0002YP-Ot
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:55 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b86a9530-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:54 +0200 (CEST)
Received: from CY5PR22CA0102.namprd22.prod.outlook.com (2603:10b6:930:65::29)
 by DS7PR12MB8419.namprd12.prod.outlook.com (2603:10b6:8:e9::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 00:40:48 +0000
Received: from CY4PEPF0000E9D9.namprd05.prod.outlook.com
 (2603:10b6:930:65:cafe::56) by CY5PR22CA0102.outlook.office365.com
 (2603:10b6:930:65::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.17 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D9.mail.protection.outlook.com (10.167.241.77) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:48 +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.27; Wed, 16 Aug
 2023 19:40:47 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b86a9530-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NuAfk2uwb1/J5a9cEN4i4gaa/wDjzr1vql7fuP/3L2K6waJU6N7DMNGSiwIYwDfVgVRBOoVjg1K8FqKweCKE+qUJyPMpwyHCM8hc3q88sHgirFVgQM9orSSTlXQ8c3Rm8dnzbIFRlgxEJhcwWT7JTybM+wAqZxmj2K5KXB2Mxowp44WGx/Nw5FhEQjbIb9R8EF+efjE5KQ0qr4SV26fn/LEAd9Q3Ip+OP32B+lyHmN/Cal8IvgFctA0fCo0N9kNXE/WTtZdjnRp7SeS/qBcuXN0jDPCWSS60m0R5JlFJifbZctkrc07Z0p1Sw6sEbqjQq8gc8N3ca6tL4t+IQ0Bruw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JPpQyIsbQQm551WyZIbVYkVkl2lQHIpUSyitSnytScg=;
 b=XOUc7/3tTnAHG/2abXyVmO+3ml9eEf0eT7nkextsL4WU6L5YcWYRX+5m9AFJsgvoWCgowmxIsFPtpO4Av4B10ih7tydi2S4Xoq72coAYA4auU6bdYomnum0v/vgdiPG0D/L7umgk3+e8vUT6Xsbxwz3mXVUjbHWpd6S/XZJEfyQFiLEXTzR7fW6fEqaViUz9B0DXisi9xNJtXjL+7KzMZvEx8UlPtFQlyaaL2A/0OQMIilmuPvWNn750RX2+skTPArzn9ZYKzg+QeWVt2LR03rpojhBxynCs6mTgBaYiXFjGohhRAvmreUIFfvtSKjEkKtG6EDPtKbkE9Mg3D/Ak6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JPpQyIsbQQm551WyZIbVYkVkl2lQHIpUSyitSnytScg=;
 b=a0i42WX65OflptOfbYBNZq4Qk5iztZBDZbFQii/jEpCE5F4V16L/s7pIG95p896Tq1MgajWYUyozLMKQyGN77KxtdXSA7De/6/FJbn2Letsl5cBYUJNBj7UAHTLhY/p0L6xk8f2AkRNO7Dse+3okCfEI212XVFNdbtRgSKrx31Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 16/19] xen/arm: Implement device tree node addition functionalities
Date: Wed, 16 Aug 2023 17:39:44 -0700
Message-ID: <20230817003947.3849-17-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D9:EE_|DS7PR12MB8419:EE_
X-MS-Office365-Filtering-Correlation-Id: 76faa5e1-0f98-46c6-37e9-08db9eba99de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0lYaIoGNK/ZaS6QQ83mMWBv6UpXeo7uEnIgik6P119UyHUjM0HWJqIg0tmGow70H5tnFZJvHPwunnO6OYxT+aZZE/q4m8Erqp0xedwWPTndAl3asO5zjlFFwlKXKPHZNfJdlQMXcl1snsdF7SRyb4JCa2YB6AYOaP7ThlFtJO+dbPFxW+6+SvmlRsKvCqoKwmbHagKojgGNjaIthiidyfI4D0ma+y+V7fITAHzH8cdIRh29JLzroiWTPhkrk2cNgOjp4vaSvJDQhnHc9/8r90s9k4pQ/VNgFtEorw837VoV2frEHulYmDsLx0gy+jmpa4U52IQbWDVfQwA+nI7rmj04mM0YPKB0flpzroUjcB79XLgqi/IaSCgfRCyif4oV7kzjiMnki6ryz28/kcQ3OMKo9WYzV4I1hlJFFr31/oAf4nsLLwS3DweF5qtJApxCIC706s7YId1R086/GN4lB63dkXYTPBe/PQYiWRnWzYc6gwn8js3vv+uwbKvMT1BnKUR6dOkzhUHWh34VBq67+fYB8rUy30PGd5NTA4c33GHRQ/0ax9riHviwPsWKBWRGj3QoWJ8EET+9ec5wILxmg1PdZCpPySE7Quj6IK56SHNNZD6NIMQUH8Itw+qUavl0qYpxVUnor4gDupVjnEF71uvQTWix2/fig1Cr6o+NCWPWKUcwUqOciS/aBFLQ0AMof6grJcdUR4QqKGClFoXyKjOS+ARCwwVxQkiSHNy5WIhK0K82mx/lnJ9rn7Ds2469my5NR/7sgFb0YuXvknKG22Q==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(66899024)(26005)(30864003)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:48.4233
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 76faa5e1-0f98-46c6-37e9-08db9eba99de
X-MS-Exchange-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:
	CY4PEPF0000E9D9.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8419

Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.

xl dt-overlay add file.dtbo:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, it checks if any
    of the overlay nodes already exists in the dt_host. If overlay nodes doesn't
    exist then find the overlay nodes in dt_host_new, find the overlay node's
    parent in dt_host and add the nodes as child under their parent in the
    dt_host. The node is attached as the last node under target parent.

    Finally, add IRQs, add device to IOMMUs, set permissions and map MMIO for the
    overlay node.

When a node is added using overlay, a new entry is allocated in the
overlay_track to keep the track of memory allocation due to addition of overlay
node. This is helpful for freeing the memory allocated when a device tree node
is removed.

The main purpose of this to address first part of dynamic programming i.e.
making xen aware of new device tree node which means updating the dt_host with
overlay node information. Here we are adding/removing node from dt_host, and
checking/setting IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Move overlay_node_count() in this patch.
    Fix indent with goto statements.
    Rename handle_add_irq_iommu() to add_resources().
Changes from v6:
    Fix comment style and add comment regarding false flag in irq mapping.
    Move malloc for nodes_full_path to handle_add_overlay_nodes.
    Move node_num define to start of overlay_get_nodes_info().
    Remove "domain *d" from handle_add_irq_iommu().
    Fix error handling for handle_add_irq_iommu().
    Split handle_add_overlay_nodes to two functions.
    Create a separate function for freeing nodes_full_path.
    Fix xfree for dt_sysctl.
---
---
 xen/common/dt-overlay.c | 559 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 559 insertions(+)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index ac104964b1..480ccd5a23 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -34,6 +34,25 @@ find_last_descendants_node(const struct dt_device_node *device_node)
     return child_node;
 }
 
+/*
+ * Returns next node to the input node. If node has children then return
+ * last descendant's next node.
+*/
+static struct dt_device_node *
+dt_find_next_node(struct dt_device_node *dt, const struct dt_device_node *node)
+{
+    struct dt_device_node *np;
+
+    dt_for_each_device_node(dt, np)
+        if ( np == node )
+            break;
+
+    if ( np->child )
+        np = find_last_descendants_node(np);
+
+    return np->allnext;
+}
+
 static int dt_overlay_remove_node(struct dt_device_node *device_node)
 {
     struct dt_device_node *np;
@@ -111,6 +130,78 @@ static int dt_overlay_remove_node(struct dt_device_node *device_node)
     return 0;
 }
 
+static int dt_overlay_add_node(struct dt_device_node *device_node,
+                               const char *parent_node_path)
+{
+    struct dt_device_node *parent_node;
+    struct dt_device_node *next_node;
+
+    parent_node = dt_find_node_by_path(parent_node_path);
+
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("Parent node %s not found. Overlay node will not be added\n",
+                   parent_node_path);
+        return -EINVAL;
+    }
+
+    /* If parent has no child. */
+    if ( parent_node->child == NULL )
+    {
+        next_node = parent_node->allnext;
+        device_node->parent = parent_node;
+        parent_node->allnext = device_node;
+        parent_node->child = device_node;
+    }
+    else
+    {
+        struct dt_device_node *np;
+        /*
+         * If parent has at least one child node.
+         * Iterate to the last child node of parent.
+         */
+        for ( np = parent_node->child; np->sibling != NULL; np = np->sibling );
+
+        /* Iterate over all child nodes of np node. */
+        if ( np->child )
+        {
+            struct dt_device_node *np_last_descendant;
+
+            np_last_descendant = find_last_descendants_node(np);
+
+            next_node = np_last_descendant->allnext;
+            np_last_descendant->allnext = device_node;
+        }
+        else
+        {
+            next_node = np->allnext;
+            np->allnext = device_node;
+        }
+
+        device_node->parent = parent_node;
+        np->sibling = device_node;
+        np->sibling->sibling = NULL;
+    }
+
+    /* Iterate over all child nodes of device_node to add children too. */
+    if ( device_node->child )
+    {
+        struct dt_device_node *device_node_last_descendant;
+
+        device_node_last_descendant = find_last_descendants_node(device_node);
+
+        /* Plug next_node at the end of last children of device_node. */
+        device_node_last_descendant->allnext = next_node;
+    }
+    else
+    {
+        /* Now plug next_node at the end of device_node. */
+        device_node->allnext = next_node;
+    }
+
+    return 0;
+}
+
 /* Basic sanity check for the dtbo tool stack provided to Xen. */
 static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
 {
@@ -124,6 +215,102 @@ static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
     return 0;
 }
 
+/* Count number of nodes till one level of __overlay__ tag. */
+static unsigned int overlay_node_count(const void *overlay_fdt)
+{
+    unsigned int num_overlay_nodes = 0;
+    int fragment;
+
+    fdt_for_each_subnode(fragment, overlay_fdt, 0)
+    {
+        int subnode;
+        int overlay;
+
+        overlay = fdt_subnode_offset(overlay_fdt, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, overlay_fdt, overlay)
+        {
+            num_overlay_nodes++;
+        }
+    }
+
+    return num_overlay_nodes;
+}
+
+/*
+ * overlay_get_nodes_info gets full name with path for all the nodes which
+ * are in one level of __overlay__ tag. This is useful when checking node for
+ * duplication i.e. dtbo tries to add nodes which already exists in device tree.
+ */
+static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
+{
+    int fragment;
+    unsigned int node_num = 0;
+
+    fdt_for_each_subnode(fragment, fdto, 0)
+    {
+        int target;
+        int overlay;
+        int subnode;
+        const char *target_path;
+
+        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
+                                           fragment, &target_path);
+        if ( target < 0 )
+            return target;
+
+        if ( target_path == NULL )
+            return -EINVAL;
+
+        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, fdto, overlay)
+        {
+            const char *node_name = NULL;
+            int node_name_len;
+            unsigned int target_path_len = strlen(target_path);
+            unsigned int node_full_name_len;
+
+            node_name = fdt_get_name(fdto, subnode, &node_name_len);
+
+            if ( node_name == NULL )
+                return node_name_len;
+
+            /*
+             * Magic number 2 is for adding '/' and '\0'. This is done to keep
+             * the node_full_path in the correct full node name format.
+             */
+            node_full_name_len = target_path_len + node_name_len + 2;
+
+            nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
+
+            if ( nodes_full_path[node_num] == NULL )
+                return -ENOMEM;
+
+            memcpy(nodes_full_path[node_num], target_path, target_path_len);
+
+            nodes_full_path[node_num][target_path_len] = '/';
+
+            memcpy(nodes_full_path[node_num] + target_path_len + 1,
+                    node_name, node_name_len);
+
+            nodes_full_path[node_num][node_full_name_len - 1] = '\0';
+
+            node_num++;
+        }
+    }
+
+    return 0;
+}
+
 static int remove_resources(struct dt_device_node *device_node)
 {
     int rc = 0;
@@ -348,6 +535,376 @@ static long handle_remove_overlay_nodes(const void *overlay_fdt,
     return rc;
 }
 
+/*
+ * Handles IRQ and IOMMU mapping for the overlay_node and all descendants of the
+ * overlay_node.
+ */
+static int add_resources(struct dt_device_node *overlay_node)
+{
+    int rc;
+    unsigned int naddr, i, len;
+    struct dt_device_node *np;
+
+    /*
+     * First let's handle the interrupts.
+     * For now, need_mapping is set to false which means it will only permit IRQ
+     * access to hardware_domain using irq_permit_access() but will never route
+     * as route_irq_to_guest() will not be called with false flag.
+     */
+    rc = handle_device_interrupts(hardware_domain, overlay_node, false);
+    if ( rc < 0 )
+    {
+        printk(XENLOG_ERR "Failed to retrieve interrupts configuration\n");
+        return rc;
+    }
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(overlay_node, "iommus", &len) )
+    {
+        /* Add device to IOMMUs. */
+        rc = iommu_add_dt_device(overlay_node);
+        if ( rc < 0 )
+        {
+            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
+                   dt_node_full_name(overlay_node));
+            return rc;
+        }
+    }
+
+    /* Set permissions. */
+    naddr = dt_number_of_address(overlay_node);
+
+    dt_dprintk("%s naddr = %u\n", dt_node_full_name(overlay_node), naddr);
+
+    /* Give permission to map MMIOs */
+    for ( i = 0; i < naddr; i++ )
+    {
+        uint64_t addr, size;
+
+        /*
+         * For now, we skip_mapping which means it will only permit iomem access
+         * to hardware_domain using iomem_permit_access() but will never map as
+         * map_range_p2mt() will not be called.
+         */
+        struct map_range_data mr_data = { .d = hardware_domain,
+                                          .p2mt = p2m_mmio_direct_c,
+                                          .skip_mapping = true
+                                        };
+
+        rc = dt_device_get_address(overlay_node, i, &addr, &size);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(overlay_node));
+            return rc;
+        }
+
+        rc = map_range_to_domain(overlay_node, addr, size, &mr_data);
+        if ( rc )
+            return rc;
+    }
+
+    /* Map IRQ and IOMMU for overlay_node's children. */
+    for ( np = overlay_node->child; np != NULL; np = np->sibling )
+    {
+        rc = add_resources(np);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            return rc;
+        }
+    }
+
+    return rc;
+}
+
+static void free_nodes_full_path(int num_nodes, char **nodes_full_path)
+{
+    int i;
+
+    if ( nodes_full_path != NULL )
+    {
+        for ( i = 0; i < num_nodes && nodes_full_path[i] != NULL;
+              i++ )
+        {
+            xfree(nodes_full_path[i]);
+        }
+        xfree(nodes_full_path);
+    }
+
+    return;
+}
+
+static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
+
+{
+    int j, rc;
+    struct dt_device_node *overlay_node;
+
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        struct dt_device_node *prev_node, *next_node;
+
+        dt_dprintk("Adding node: %s\n", nodes_full_path[j]);
+
+        /* Find the newly added node in tr->dt_host_new by it's full path. */
+        overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
+                                                 nodes_full_path[j]);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        /*
+         * Find previous and next node to overlay_node in dt_host_new. We will
+         * need these nodes to fix the dt_host_new mapping. When overlay_node is
+         * take out of dt_host_new tree and added to dt_host, link between
+         * previous node and next_node is broken. We will need to refresh
+         * dt_host_new with correct linking for any other overlay nodes
+         * extraction in future.
+         */
+        dt_for_each_device_node(tr->dt_host_new, prev_node)
+            if ( prev_node->allnext == overlay_node )
+                break;
+
+        next_node = dt_find_next_node(tr->dt_host_new, overlay_node);
+
+        write_lock(&dt_host_lock);
+
+        /* Add the node to dt_host. */
+        rc = dt_overlay_add_node(overlay_node, overlay_node->parent->full_name);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+
+            /* Node not added in dt_host. */
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+
+        prev_node->allnext = next_node;
+
+        overlay_node = dt_find_node_by_path(overlay_node->full_name);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        rc = add_resources(overlay_node);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            return rc;
+        }
+
+        /* Keep overlay_node address in tracker. */
+        tr->nodes_address[j] = (unsigned long)overlay_node;
+    }
+
+    return 0;
+}
+/*
+ * Adds device tree nodes under target node.
+ * We use tr->dt_host_new to unflatten the updated device_tree_flattened. This
+ * is done to avoid the removal of device_tree generation, iomem regions mapping
+ * to hardware domain done by handle_node().
+ */
+static long handle_add_overlay_nodes(void *overlay_fdt,
+                                     uint32_t overlay_fdt_size)
+{
+    int rc, j;
+    struct dt_device_node *overlay_node;
+    struct overlay_track *tr = NULL;
+    char **nodes_full_path = NULL;
+    unsigned int new_fdt_size;
+
+    tr = xzalloc(struct overlay_track);
+    if ( tr == NULL )
+        return -ENOMEM;
+
+    new_fdt_size = fdt_totalsize(device_tree_flattened) +
+                                 fdt_totalsize(overlay_fdt);
+
+    tr->fdt = xzalloc_bytes(new_fdt_size);
+    if ( tr->fdt == NULL )
+    {
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->num_nodes = overlay_node_count(overlay_fdt);
+    if ( tr->num_nodes == 0 )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->nodes_address = xzalloc_bytes(tr->num_nodes * sizeof(unsigned long));
+    if ( tr->nodes_address == NULL )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return rc;
+    }
+
+    /*
+     * Keep a copy of overlay_fdt as fdt_overlay_apply will change the input
+     * overlay's content(magic) when applying overlay.
+     */
+    tr->overlay_fdt = xzalloc_bytes(overlay_fdt_size);
+    if ( tr->overlay_fdt == NULL )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    memcpy(tr->overlay_fdt, overlay_fdt, overlay_fdt_size);
+
+    spin_lock(&overlay_lock);
+
+    memcpy(tr->fdt, device_tree_flattened,
+           fdt_totalsize(device_tree_flattened));
+
+    /* Open tr->fdt with more space to accommodate the overlay_fdt. */
+    rc = fdt_open_into(tr->fdt, tr->fdt, new_fdt_size);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Increasing fdt size to accommodate overlay_fdt failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    nodes_full_path = xzalloc_bytes(tr->num_nodes * sizeof(char *));
+    if ( nodes_full_path == NULL )
+    {
+        rc = -ENOMEM;
+        goto err;
+    }
+
+    /*
+     * overlay_get_nodes_info is called to get the node information from dtbo.
+     * This is done before fdt_overlay_apply() because the overlay apply will
+     * erase the magic of overlay_fdt.
+     */
+    rc = overlay_get_nodes_info(overlay_fdt, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Getting nodes information failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    rc = fdt_overlay_apply(tr->fdt, overlay_fdt);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding overlay node failed with error %d\n", rc);
+        goto err;
+    }
+
+    /*
+     * Check if any of the node already exists in dt_host. If node already exits
+     * we can return here as this overlay_fdt is not suitable for overlay ops.
+     */
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        overlay_node = dt_find_node_by_path(nodes_full_path[j]);
+        if ( overlay_node != NULL )
+        {
+            printk(XENLOG_ERR "node %s exists in device tree\n",
+                   nodes_full_path[j]);
+            rc = -EINVAL;
+            goto err;
+        }
+    }
+
+    /*
+    * Unflatten the tr->fdt into a new dt_host.
+    * TODO: Check and add alias_scan() if it's needed for overlay in future.
+    */
+    rc = unflatten_device_tree(tr->fdt, &tr->dt_host_new);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "unflatten_device_tree failed with error %d\n", rc);
+        goto err;
+    }
+
+    rc = add_nodes(tr, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding nodes failed. Removing the partially added nodes.\n");
+        goto remove_node;
+    }
+
+    INIT_LIST_HEAD(&tr->entry);
+    list_add_tail(&tr->entry, &overlay_tracker);
+
+    spin_unlock(&overlay_lock);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    return rc;
+
+/*
+ * Failure case. We need to remove the nodes, free tracker(if tr exists) and
+ * tr->dt_host_new.
+ */
+ remove_node:
+    tr->num_nodes = j;
+    rc = remove_nodes(tr);
+
+    if ( rc )
+    {
+        /*
+         * User needs to provide right overlay. Incorrect node information
+         * example parent node doesn't exist in dt_host etc can cause memory
+         * leaks as removing_nodes() will fail and this means nodes memory is
+         * not freed from tracker. Which may cause memory leaks. Ideally, these
+         * device tree related mistakes will be caught by fdt_overlay_apply()
+         * but given that we don't manage that code keeping this warning message
+         * is better here.
+         */
+        printk(XENLOG_ERR "Removing node failed.\n");
+        spin_unlock(&overlay_lock);
+
+        free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+        return rc;
+    }
+
+ err:
+    spin_unlock(&overlay_lock);
+
+    if ( tr->dt_host_new )
+        xfree(tr->dt_host_new);
+
+    xfree(tr->overlay_fdt);
+    xfree(tr->nodes_address);
+    xfree(tr->fdt);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    xfree(tr);
+
+    return rc;
+}
+
 long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 {
     long ret;
@@ -379,6 +936,8 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 
     if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
         ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+    else
+        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
 
     xfree(overlay_fdt);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585035.916045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDN-0001p2-Dn; Thu, 17 Aug 2023 00:50:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585035.916045; Thu, 17 Aug 2023 00:50: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 1qWRDN-0001ov-As; Thu, 17 Aug 2023 00:50:17 +0000
Received: by outflank-mailman (input) for mailman id 585035;
 Thu, 17 Aug 2023 00:50:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4G-000280-Vb
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:52 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20626.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b658278d-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:51 +0200 (CEST)
Received: from SN4PR0501CA0046.namprd05.prod.outlook.com
 (2603:10b6:803:41::23) by PH0PR12MB5468.namprd12.prod.outlook.com
 (2603:10b6:510:ea::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Thu, 17 Aug
 2023 00:40:44 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::60) by SN4PR0501CA0046.outlook.office365.com
 (2603:10b6:803:41::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:44 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:44 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:42 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:37 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b658278d-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T/J2kOAhk46W6QbyYtpcJ+1nY6rR7+pkglNypNUOaCrbFm5XUcxiyeQaoGz83560/wCR9s4JDJqdkiE/MjpkpLwPJ2N9vN8CSJHUAqdIBYN3s1nvp+7yzV59FJBIZ7zjrTpi+i1PUtBSXxuAeWm/nLK8EH7nhWIiCeg5tHF/Q/29QRfZMnXtcM7hYIBe6UR3Z2XiwMlEaWpr3D7qLGlQszUHWr7DvHX+Hh05qu96z9Q3ZxdKsDF54otLVt1FfMrnGFVTFWn2vzCoFkUzumtN7m3ALH8x1OlDVF1BKQbnLBfqpW/+q6VJEZNOvSz1BLoqNFBoIbWHvwSlKYH9+VS5jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YKa7svLG+XqwpbOJFC3IlsmtdaRP7xcFFG8yBKHlK2o=;
 b=LXSJ08Plb3EAmpJMYbOy3OFZ21H9p+FaEcIFT1W1INl+8tqZlJxnjpkMjqc1fR/2LBucxX1BWG5dq+25PHowWilq4mx6VNlrDEU7N9BzJzf7AoJrDGZorIIFkJ2k15d6ugwPT5YGIgYHhZxk5S1ReEVoflLJ65E+LF7j4s7W+2VZ2TdSOuvpMkyA86dQJBuXnyvbIaGLuinhjvrg/+dnZu9sZzyXJOR4FoeGWQGdm7E2mGGfISoC0NbNUBGa7LZpUgbP56KTBWcW2bcSIyKXNY59GE4VShrx5SDNlF2rfTS/g7or4g260baHGJDVhHEsLLEVtdXRd/+Tz1XJj6HFZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YKa7svLG+XqwpbOJFC3IlsmtdaRP7xcFFG8yBKHlK2o=;
 b=blsIGMF/msahoLBZj/NYzCTBLqXhZ1KxGWi854bVr9ciI74l8G+PmwBSuYwJV2svbgb5cXQQvRfcnjujkDm8MhkXCVHoA97T8/18oj8OvtBV7OeQcpGMBII+Ts8UUmriJEb4j5U6dhlOlROepildEcV/eJg4tpTQ4+ThwCFOCZo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v8 10/19] xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
Date: Wed, 16 Aug 2023 17:39:38 -0700
Message-ID: <20230817003947.3849-11-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|PH0PR12MB5468:EE_
X-MS-Office365-Filtering-Correlation-Id: 20262333-23a5-4846-e541-08db9eba978c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7CQm6EFisSNZimRQ6JoUKPjbIWnN7ZT44Nu57FXM7YhTZQRWHGfmDzXExWx+9yqPbZ6993RJ4HHGQZSr9L5Y0mXvIj1Q1ef+7SSolb7YjMHwIuRAhweJeemk91JoYnadewaq7QxOBHGgnIbChiUrG4toxcPBzamL2EkDDsDwZkEBLYonBqfTVAfmKJay15WOkaj0biqpFtHGNhekMow/kuW9YZxkxYqP8H7bbTLXaqU9pIDRaQuJJxtyPQh/mRpQVFUZExNw2+f0wzKZmFMdFIIRkX/vOZ0pcOG10qwlKs7ao1MHzygG2QCQ+0y8gyNkza9vQ7iE2yDJfFZOjONzbL4wFu5w85mSzQz5ZD28bM/CjTSYib2RhSDlaIjgAP6OM21QYxQOTdFR2PsqY1s+uN6Uo5j+ugAgvpSzehwDrT8llZcVbE5CagRdG6vPQ8Qxw2BgcqB1pl9NyuxLLoMwCa7WLCXRAXYdabEazdd7uehjfwZX7SWiRuB/FSCoVL0Dy1CFTf0atWniChMFZtr4myFc1Q7dcMzL6sa1+8iNXFuIQHfuG3YCIpWDqKjgtfEFy1J5IeQoPr8MFcR3X42mUaZMD28KzNeWPBLX0Zd8F+ohDzhPSh0l1/SqCgyyu2J7zlCy89B39Qu2xxvplxSRBNLYvd7dYyZ4aow+/UxPjv8EQWyZT0fDNMaaaKosJC1p5M0SHwh5a2ow1wbY7FC4Ci7SnOpoNkHTgLyapHcbWeUrGpEEsAfInKRmWivqN66GEGDJnI30lLM4eJbeuQyk0g==
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(83380400001)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:44.6131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 20262333-23a5-4846-e541-08db9eba978c
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5468

Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
to add/remove/assign/deassign.
With addition of dynamic programming feature(follow-up patches in this series),
this function can be concurrently access by pci device assign/deassign and also
by dynamic node add/remove using device tree overlays.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
    Changes from v7:
        Update commit message and fix indent.
---
---
 xen/drivers/passthrough/device_tree.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 5796ee1f93..096ef2dd68 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -148,6 +148,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( dev_iommu_fwspec_get(dev) )
         return 0;
 
+    spin_lock(&dtdevs_lock);
+
     /*
      * According to the Documentation/devicetree/bindings/iommu/iommu.txt
      * from Linux.
@@ -160,7 +162,10 @@ int iommu_add_dt_device(struct dt_device_node *np)
          * these callback implemented.
          */
         if ( !ops->add_device || !ops->dt_xlate )
-            return -EINVAL;
+        {
+            rc = -EINVAL;
+            goto fail;
+        }
 
         if ( !dt_device_is_available(iommu_spec.np) )
             break;
@@ -191,6 +196,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( rc < 0 )
         iommu_fwspec_free(dev);
 
+ fail:
+    spin_unlock(&dtdevs_lock);
     return rc;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585042.916055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDa-0002R0-NN; Thu, 17 Aug 2023 00:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585042.916055; Thu, 17 Aug 2023 00: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 1qWRDa-0002Qq-KC; Thu, 17 Aug 2023 00:50:30 +0000
Received: by outflank-mailman (input) for mailman id 585042;
 Thu, 17 Aug 2023 00:50: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4G-000280-6h
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:52 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6134fda-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:50 +0200 (CEST)
Received: from SN4PR0501CA0041.namprd05.prod.outlook.com
 (2603:10b6:803:41::18) by CYYPR12MB8964.namprd12.prod.outlook.com
 (2603:10b6:930:bc::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Thu, 17 Aug
 2023 00:40:45 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::9f) by SN4PR0501CA0041.outlook.office365.com
 (2603:10b6:803:41::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:45 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:45 +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.27; Wed, 16 Aug
 2023 19:40:42 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b6134fda-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iOOUjvCMsKxWmuQ+eP0zb4yRO8q30D0X2fubeaLSsvNHDe8Qls2gd11lpbI6WioB1NVDDn59Yb5/HYBgfp65i04hEMZX0MZwoNzEp+hwnvD0iqw5ambYYAb1GD2pgmcJC3+yi0uHnB1ZRzBTC0nrnI69Une+hH3KvYA/x/bGIoOF00ZLuY1e/e9TgT9nQHqwnozIbqivy+MjCATN0fy9ZHONVEk+A6P9w/wN2jb4tFZJpJTEH6BGmmvOZvHgHph22QVz2SWWHHHDXDh48yJN7sPdI0leOVgMJSN9Yx2wj7bKlM69AlsBwXVklJWansRiy+zA5QyBCpDL8dS6Y1FnqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zbvEFTy0SN7hLXU1211NeYzv59Rers6Gren3/qiNJHg=;
 b=kr0/WPGXrWX+5troHsezseknnebqb++eWnynezqYXcuHy45cyEivUfZ6PVV97dTZkoGureKLf1PXjUnFUebfwsNDgyc6d5UTAC/5dVRsoO29n7K478AGAt1cD+fjo+fhQxF3XY9zHS45fTDD06j4FHRKeJWw0X9IXimzowGVGkt4bgH7fbA0o+HWdtdkPPSLmB88zkWM9UjbrH1mlyFeELrt7+z9IUadc5MsFNeSEznFG8b+1x94Kx/YqAOooQenOkK2DESNpw5mSPUXXwAN/f0/Wd9BylyI5HTziaSPJ8/tLJ24/73usm/NrjVSu3HGI1iRud/SDMiteLaU9vgSPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zbvEFTy0SN7hLXU1211NeYzv59Rers6Gren3/qiNJHg=;
 b=C5Oj9mlb6W80Ic7nE6j7i0Ssp9XF++qMzoe3nqp8v395KXIPnv3GukmL1OgjXuSVxniHBsFVGm28qiz2/6rBZ2ZHMQ6VMcKK+j2L6Et0/0dGubzbgl38QH7bsQwQS8wktE4VFX8Mg7KOW38RAkWa0ZJI6n1YS4mgmd7/w8Nj5m0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v8 13/19] asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
Date: Wed, 16 Aug 2023 17:39:41 -0700
Message-ID: <20230817003947.3849-14-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|CYYPR12MB8964:EE_
X-MS-Office365-Filtering-Correlation-Id: 62a1ac86-896c-4af2-67ec-08db9eba9831
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RojMygBGOAwZgBK/+KBo6vKmdWBnWv/KUrzXLLdO05lQCe3Cr8wsa0rVJAHg3Ja28gcJCYpUK7xKcGqlNv9Op2xwofiVJrxUo2Yl3+LsYmio1EExo2vW23EATJ41GbxCQQ67xq4yubQhmMa7ieb/hGHj2R5eTVWkAM5SM3D4gUtvp+t/PMYlU1PtgK6zjgQTdVec2kZH2UsKv9syL421zjYEBvdLx/x4YlLEC4U71zsvOMeEQPcipU5LC8ENnm8YTP5gmB/pk1JrBUbf3I+q57nUlu3oo0GkgjbCddU/LKZ7YWxUAL6493Wd9aIJSAkMhmnE7AyXqCtmDUa+fgUJfDyPH64k73nW+rCkGvcY5Xocm1DolPbHzfsaq37Txf42SApHTJfeRiRls/Rp1fpSa7tsJ19LlefPQP6oSzc5lzMYMLbtSfbnJISsi88KaSCFyqewmNe9iOVInwDwF/HjfcR6qKJk/X/9WJoYk4HIntklRbQlh6PVgODkkgyiHpOT+VrKAjkV7rpUtJcVshYJlZK5pOp6aozNoOlHdiFO+N9kavVOFJnhYJtpt2FXKntIPfrA4MJ6o2wLaQKWSCFAlVJobFNqKH1HA9uAshdzS5YhYwl0Xzqa+lHanEG2k4RJ3MZwVUBlT6/Gw2/mqi8X0rlaLPMuiOkTq+Vm2tmah3/XdEU2qzEYFznhHL0uSPiaDgVIKW7OufXPC3wFCmLu6bpVbRdHVjwEaD8awKbZx25bRTzB3MdYsbgQGIZ1BTKUR0Re0iiBusSWyCCL3Z9xcQ==
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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(186009)(451199024)(82310400011)(1800799009)(40470700004)(36840700001)(46966006)(36756003)(86362001)(40480700001)(40460700003)(83380400001)(8936002)(4326008)(8676002)(5660300002)(2906002)(41300700001)(1076003)(26005)(2616005)(44832011)(426003)(36860700001)(336012)(47076005)(478600001)(316002)(82740400003)(356005)(81166007)(70586007)(54906003)(6916009)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:45.6912
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 62a1ac86-896c-4af2-67ec-08db9eba9831
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8964

Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, we will need to add a rwlock to protect access to the dt_host.
However, adding rwlock in device_tree.h causes following circular dependency:
    device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h

To fix this, removed the "#include <xen/device_tree.h> and forward declared
"struct dt_device_node".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
    Changes from v7:
        Move struct dt_device_node declaration just above arch_cpu_init().
---
---
 xen/arch/arm/include/asm/smp.h | 4 +++-
 xen/arch/arm/smpboot.c         | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index a37ca55bff..4fabdf5310 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -3,7 +3,6 @@
 
 #ifndef __ASSEMBLY__
 #include <xen/cpumask.h>
-#include <xen/device_tree.h>
 #include <asm/current.h>
 #endif
 
@@ -23,6 +22,9 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
+
+struct dt_device_node;
+
 extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
 extern int arch_cpu_up(int cpu);
 extern void arch_cpu_up_finish(void);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..eeb76cd551 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -10,6 +10,7 @@
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/delay.h>
+#include <xen/device_tree.h>
 #include <xen/domain_page.h>
 #include <xen/errno.h>
 #include <xen/init.h>
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585044.916061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDb-0002VD-6O; Thu, 17 Aug 2023 00:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585044.916061; Thu, 17 Aug 2023 00: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 1qWRDa-0002Uj-Uu; Thu, 17 Aug 2023 00:50:30 +0000
Received: by outflank-mailman (input) for mailman id 585044;
 Thu, 17 Aug 2023 00:50: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4L-000280-GD
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:57 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8fed452-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:55 +0200 (CEST)
Received: from CY8PR12CA0040.namprd12.prod.outlook.com (2603:10b6:930:49::7)
 by SJ2PR12MB8009.namprd12.prod.outlook.com (2603:10b6:a03:4c7::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 00:40:50 +0000
Received: from CY4PEPF0000E9D7.namprd05.prod.outlook.com
 (2603:10b6:930:49:cafe::ac) by CY8PR12CA0040.outlook.office365.com
 (2603:10b6:930:49::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:50 +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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:49 +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.27; Wed, 16 Aug
 2023 19:40:49 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b8fed452-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qcm+y2pTwXs8njTbMNWCgMDWcrsZSWJ68nlqxEpFtmiQyCDhZvfcPBd3Vf4dgGZ5fuz7eMMPaLX3Pj9VF0qDwQ1kc55lpfC8TFJpyPcbM/lRJFFP8DW+xpUhavlPcyd02rLpOaZbC72giheCSgOxy/3+u5VtuEcSrE9iFtKHNtscNt0Vn8PQxV+ppYorEFxQZgUjkh4tufAKU2LUruYX2uvOdjX1IGVA6gCLstG59WxUJIJhqfpS/b7R2I0oljmsBRfatXaY4UFJn8QAy9qjiCLClAnW0vyIe1zn6QQRaf7YhoYDEJBnc7S8gfOJ/DGerws9+mqTWrP+NQsFgkHP9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TSMRF97QlKBb4iu384YTAKHEZ9yf+f7ss37J2EfX8aY=;
 b=VTitIQwA7optyatii0KSWzgghiSyBOOHKAV70dV1xGvj6pDRIH6/Er4PN+zmjO4xyqVxQAimkIoZavzYGQXAt0Z8QUbDJ22EUcvvNJo2H3esbhX6Lmam/ZOopzbWir52zCtgvHeF6EijujXAndc2kpy6vGM/HHSP8V0IkGiwclvFCRWAPK2JbFYjn2u38jhuhVX5S2wYfeZbs9ZBYA8VBiKi9OpNW4Z+6jH2BT7a4FnQNwtmF94Y21xQ2ScLlsl+a0QZT/sZ90w6vAp8RrCu2JjaZEDN0C44iiLDSMsx3pk1RR+z8RMj9G81d346rbhOcx87sRxx+ZGx+iWX+07PBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TSMRF97QlKBb4iu384YTAKHEZ9yf+f7ss37J2EfX8aY=;
 b=qYD4FlY9c8V5d4r/8ALnxd92D/0nVvvW6Q6/pAPaVONq2TWj0gi4dtyzrrW97YcShigEvshMAS4lnfYQjmiOqsOssxpc4OyeRe0u2u81Z9G5Kk3Hf1F3u02Uo3QYL8CXYibu0psmTY5bEId2iErAFij8tY680vsO1Tucj/y2iF8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v8 17/19] tools/libs/ctrl: Implement new xc interfaces for dt overlay
Date: Wed, 16 Aug 2023 17:39:45 -0700
Message-ID: <20230817003947.3849-18-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D7:EE_|SJ2PR12MB8009:EE_
X-MS-Office365-Filtering-Correlation-Id: 24576dce-386b-4089-7b14-08db9eba9abd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	33KCuYqF4YXXGidB2WHCu5XhWP6P5YuNPAjg+CCWSw82AplDLAlHERu1vaNIGErKjyCSIyV54jhBzh3lSErgNK8zeeWyVsaQaXIydG6VtjLk+VZpthFjiDRm3hvfZ7VcMyi4tHGgS1cMxAnZlyVkpMX84Ip8hdoz179fUGPQfYsCLpLxyZcHl5QSOiT97x5FEqqB/QzbQKwCqTlbCGqU6PU2Tqw0kqqj0m/oGmhKl9A7hcOQ08R2EyKWTZSaygxF8XUoxV4VyoeFNOChn63TiadEegqKtYd+5vphEJgngcCnw+ZzmslURFOkKACZZnc3rhv+mQrM3dBSXvUt/FoHTt0ePdeCwkpNq2FTB1djptFrGuacY0yUue6OK4T7QIZYxCVyPM1sN/635aPPjIt7H8wecmVOXZM6iYNVqUjaO613+O4rBkN0QX9iGI+gU+HCF+rZXWTyMFVTFZbiWkgpyddGiGgQ7YIDu7AKYEUwk00cN6wNZ5JeijdMUVv3RfJN3nPHmdC+m0xNxaXGocxeONnGd+WC8uJglpSF8l4sJwVr9SdijnJZxuIsemn6qjnZecEZll0hVhbYtmkvOdGcBQara2u6G9HTR+61tw5dJaBnIO0H36Qrpdb3Z17fpl5WT9iH7JIwPaaSXNLcTJLw4wApdMnZu5rPBxNNIg6WiWYm6XbuO2x1b1vF7jU5cF6Cl/D9n1WfLfLO/HBS4siBi83exEihoiEhn1w/NvsA/dMUADlhVUyG0mbLoN0pYYdLECgh+8Un2dtypse3HdiZMItDWLfOfv9mi4YOF2wJMVk=
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:49.9334
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 24576dce-386b-4089-7b14-08db9eba9abd
X-MS-Exchange-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: SJ2PR12MB8009

xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 tools/include/xenctrl.h         |  5 ++++
 tools/libs/ctrl/Makefile.common |  1 +
 tools/libs/ctrl/xc_dt_overlay.c | 51 +++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index faec1dd824..3da602586c 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2643,6 +2643,11 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
 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);
+#endif
+
 /* Compat shims */
 #include "xenctrl_compat.h"
 
diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
index 0a09c28fd3..247afbe5f9 100644
--- a/tools/libs/ctrl/Makefile.common
+++ b/tools/libs/ctrl/Makefile.common
@@ -24,6 +24,7 @@ OBJS-y       += xc_hcall_buf.o
 OBJS-y       += xc_foreign_memory.o
 OBJS-y       += xc_kexec.o
 OBJS-y       += xc_resource.o
+OBJS-$(CONFIG_ARM)  += xc_dt_overlay.o
 OBJS-$(CONFIG_X86) += xc_psr.o
 OBJS-$(CONFIG_X86) += xc_pagetab.o
 OBJS-$(CONFIG_Linux) += xc_linux.o
diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
new file mode 100644
index 0000000000..58283b9ef6
--- /dev/null
+++ b/tools/libs/ctrl/xc_dt_overlay.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Device Tree Overlay functions.
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "xc_private.h"
+
+int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op)
+{
+    int err;
+    DECLARE_SYSCTL;
+
+    DECLARE_HYPERCALL_BOUNCE(overlay_fdt, overlay_fdt_size,
+                             XC_HYPERCALL_BUFFER_BOUNCE_IN);
+
+    if ( (err = xc_hypercall_bounce_pre(xch, overlay_fdt)) )
+        goto err;
+
+    sysctl.cmd = XEN_SYSCTL_dt_overlay;
+    sysctl.u.dt_overlay.overlay_op = overlay_op;
+    sysctl.u.dt_overlay.overlay_fdt_size = overlay_fdt_size;
+    sysctl.u.dt_overlay.pad[0]= 0;
+    sysctl.u.dt_overlay.pad[1]= 0;
+    sysctl.u.dt_overlay.pad[2]= 0;
+
+    set_xen_guest_handle(sysctl.u.dt_overlay.overlay_fdt, overlay_fdt);
+
+    if ( (err = do_sysctl(xch, &sysctl)) != 0 )
+        PERROR("%s failed", __func__);
+
+err:
+    xc_hypercall_bounce_post(xch, overlay_fdt);
+
+    return err;
+}
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585045.916075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDd-00038A-Dq; Thu, 17 Aug 2023 00:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585045.916075; Thu, 17 Aug 2023 00:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDd-00037x-AA; Thu, 17 Aug 2023 00:50:33 +0000
Received: by outflank-mailman (input) for mailman id 585045;
 Thu, 17 Aug 2023 00: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4N-000280-V4
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:59 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e88::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba26f191-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:57 +0200 (CEST)
Received: from CY5PR22CA0095.namprd22.prod.outlook.com (2603:10b6:930:65::13)
 by CH3PR12MB8972.namprd12.prod.outlook.com (2603:10b6:610:169::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:51 +0000
Received: from CY4PEPF0000E9D9.namprd05.prod.outlook.com
 (2603:10b6:930:65:cafe::9e) by CY5PR22CA0095.outlook.office365.com
 (2603:10b6:930:65::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D9.mail.protection.outlook.com (10.167.241.77) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:51 +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.27; Wed, 16 Aug
 2023 19:40:50 -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.27; Wed, 16 Aug
 2023 19:40:50 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: ba26f191-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OF/nv3PDUb/ecNR6tMXNfToo18rNqv80My1N3evK8wV5hJtxJuK3Tacthb9k0COZvcazUtTWyEr818J+VD6eouhVmCicz01TyH+lo8/LcbJz+Vws8QJimVW4eWx8uPHTP7rVjinUE45/TpnVnSYaqlg7dd6gda5oHgVXi3uW/1a4BU9hH7NKZyNFJpFcuccfPW9vLVLefaCj/jVt+Ge4+M84+zjIsn9BFwvFncrblqyx8VBvN+XKJBXPWB3vHKcmsRK/l1fqsRHoG3iOQjgvJ/9aGWxnkW4sMZKZ6622NJ6kNgAS7GgN8lA22vS3ugl3JOQFMsde37Md9r9A6ttLWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=bXurwo8Q1hRorkclsgGurF/NCAWEGQILwBsMm6VQE2nSh3790WVT7prN190Wo4OXtDqJwLGZlbOtwk4WOWLRSpuRltS7GQB6CGaSP4Vbbd4WMCjqe792mKZHjyN9WdjkFYtgOaz8L8KM0xhmgfohKcojvPRN/s76fg8usWezM6FpxCokV7Qoh9T4kq73rltoR2Bn9lw7HGxiD7Fk0a/6PLPYSz8KmZu08goYkhLuhVsb331FH8X1YuOlDbqW2tfoxXzi/4+2kpLDki9QZ8JGl0FEvkvVJSD2u76NSmC6WOa0PUDt2QaBo7tm7w2kvGUcx/uGVcy3zldWRaMqbMLjGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=MFE9jO5mwevqGUnAnP3Pn1XvS00/YzXJP6uxtWZX8Hh7WOytXpmyNHjDPBc63Z2O7rnaA7Pr4fThmRFVfaPraidEaM7/cCPYjftnM1rdt7rPwZX+Hu+sKdn+vyKvWqymg+qM1eb98pJ2H3RyS9rzlY588CW/03svIdU/DRkqb4A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v8 18/19] tools/libs/light: Implement new libxl functions for device tree overlay ops
Date: Wed, 16 Aug 2023 17:39:46 -0700
Message-ID: <20230817003947.3849-19-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D9:EE_|CH3PR12MB8972:EE_
X-MS-Office365-Filtering-Correlation-Id: c92ee712-76bf-45cc-850d-08db9eba9bb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tnEDntm4nuvJ4sJ6D2gyBlHfPVbxMl0I0gZV9Ud7J3UpaEt5nGd0xakWuVlo1TQCKnb5nMvyPE2jaOo8ayqCMSe5HaSxDEGEKo3Tgw3kUpmR7tLsrRAe4SvkA5gkQBQhqP3NI6KgWJzFCXAKSroFz5zHnBmhZzcR31GYcW93vNwVQnXPu0Tvtw6K2YqQIFe6YumDLQYvb+9InV8ihP+l0EGCqMtpU++r09HeR7mN2ILRMMOKpf22S2KuyDa0JSQCYdiGcrUgRur66I6WqdUDwUYhtYP7sfRR+QenAS8frfRLh88f/1D8rj8GYudZV5XFJIT4ANBnDdGT5s3p3SKRz93anXFaqPz42ElY0eiSfi2DhjGa4n5nKWaxBJlp+7Y3ZGDSO3GjkNkpK1XjE33r9z1hYcJ2aTjDUeTz9P7CDjKqNGFY9CFTSvKBt1yrxQs3bs6BrnLKTlzKXVeXX/NNDxtueiFsgnPFcdfBb/pXuZDCCRqymBs8rqy0IlCyRcXOIbwG8AgJCHyAt0R+bukR10QGjICLCqLzwy+CPwaKVMkVuL7QVIN1E/g0RKqbFvZqEszzNUrbtJDfensoGTKFm5d8Zh8UIrZxYPG+BpmHYshYFSwu3HRuGebY5gXsVx/acCk/n+ZAsL7e3L62VKoD8QEn0k8KXQFpYisIHQFb93HjrktTo5uHORTAiLRRMh1Cpo1gHvbanZaDDDgwImnPjUYyxJftstSVOb+qzDyoTPlo6wZAjkzLbaZAcdhHeai6tEw6EMT6Z6KDEOibiR9jmuRjC+O2z9Wto9K3Nhmre7A=
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)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(316002)(54906003)(356005)(82740400003)(6916009)(81166007)(70586007)(70206006)(5660300002)(41300700001)(36860700001)(44832011)(47076005)(4326008)(8936002)(8676002)(26005)(2906002)(40460700003)(40480700001)(426003)(336012)(478600001)(86362001)(36756003)(6666004)(1076003)(2616005)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:51.5171
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c92ee712-76bf-45cc-850d-08db9eba9bb1
X-MS-Exchange-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:
	CY4PEPF0000E9D9.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8972

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/include/libxl.h               | 11 +++++
 tools/libs/light/Makefile           |  3 ++
 tools/libs/light/libxl_dt_overlay.c | 71 +++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+)
 create mode 100644 tools/libs/light/libxl_dt_overlay.c

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index aa5b1c98d4..b4f2a69b34 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -259,6 +259,12 @@
  */
 #define LIBXL_HAVE_DEVICETREE_PASSTHROUGH 1
 
+#if defined(__arm__) || defined(__aarch64__)
+/**
+ * This means Device Tree Overlay is supported.
+ */
+#define LIBXL_HAVE_DT_OVERLAY 1
+#endif
 /*
  * libxl_domain_build_info has device_model_user to specify the user to
  * run the device model with. See docs/misc/qemu-deprivilege.txt.
@@ -2493,6 +2499,11 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
                                         int *num);
 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);
+#endif
+
 /*
  * Turns the current process into a backend device service daemon
  * for a driver domain.
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 5d7ff94b05..ba4c1b7933 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,9 @@ OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
 OBJS-y += _libxl_types_internal.o
 
+# Device tree overlay is enabled only for ARM architecture.
+OBJS-$(CONFIG_ARM) += libxl_dt_overlay.o
+
 ifeq ($(CONFIG_LIBNL),y)
 CFLAGS_LIBXL += $(LIBNL3_CFLAGS)
 endif
diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
new file mode 100644
index 0000000000..a6c709a6dc
--- /dev/null
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+#include "libxl_internal.h"
+#include <libfdt.h>
+#include <xenctrl.h>
+
+static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
+{
+    int r;
+
+    if (fdt_magic(fdt) != FDT_MAGIC) {
+        LOG(ERROR, "Overlay FDT is not a valid Flat Device Tree");
+        return ERROR_FAIL;
+    }
+
+    r = fdt_check_header(fdt);
+    if (r) {
+        LOG(ERROR, "Failed to check the overlay FDT (%d)", r);
+        return ERROR_FAIL;
+    }
+
+    if (fdt_totalsize(fdt) > size) {
+        LOG(ERROR, "Overlay FDT totalsize is too big");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
+                     uint8_t overlay_op)
+{
+    int rc;
+    int r;
+    GC_INIT(ctx);
+
+    if (check_overlay_fdt(gc, overlay_dt, overlay_dt_size)) {
+        LOG(ERROR, "Overlay DTB check failed");
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "Overlay DTB check passed");
+        rc = 0;
+    }
+
+    r = xc_dt_overlay(ctx->xch, overlay_dt, overlay_dt_size, overlay_op);
+
+    if (r) {
+        LOG(ERROR, "%s: Adding/Removing overlay dtb failed.", __func__);
+        rc = ERROR_FAIL;
+    }
+
+out:
+    GC_FREE;
+    return rc;
+}
+
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585060.916085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDr-0004IF-Lb; Thu, 17 Aug 2023 00:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585060.916085; Thu, 17 Aug 2023 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 1qWRDr-0004I6-Hz; Thu, 17 Aug 2023 00:50:47 +0000
Received: by outflank-mailman (input) for mailman id 585060;
 Thu, 17 Aug 2023 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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4O-000280-GO
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:41:00 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e89::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baa59e11-3c96-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 02:40:58 +0200 (CEST)
Received: from SA1P222CA0134.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c2::7)
 by DS0PR12MB8293.namprd12.prod.outlook.com (2603:10b6:8:f3::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6678.30; Thu, 17 Aug 2023 00:40:55 +0000
Received: from SN1PEPF00026367.namprd02.prod.outlook.com
 (2603:10b6:806:3c2:cafe::5e) by SA1P222CA0134.outlook.office365.com
 (2603:10b6:806:3c2::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00026367.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:54 +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.27; Wed, 16 Aug
 2023 19:40:51 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: baa59e11-3c96-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PLUiWpf1KFzkONzyhdcjkurYXUX3NrUZ0EKZIcIMQ1MmsJWnF/xndv6J5uAXyxOF3VLjOv1EZ+0QccjNSaAb4Fx4+yC3RR3Op+lsmQooi7E1R5EQAf8IpEng5t6olohlrB7gmxz07QGDQqbhyyEVT0d8h+T+T2OCLnYSXR4/2t92YOD+46X6MLBDiTYxent2awHbQyVFubyfk+OOMxGWAvFE8pRkjT5EBT00d+XPBlhOXJoC6MQBC4ct2Pkt+rbnA18Qlp0l+3Ve4W0mT9CeRp4khLA6h1gFU1/OVPQexSjV4W20X8GhqndDWb1Hvz7eK3VgASRi8VV05glC8VTfGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=J0efkVb81dfCiGmyHFvtqEttvYSgRd+9yqcrucgfDdIhClMyzxHAos3P14iQNGt9ZFXPJvdu91GVGltRHbLugNDPMm2J4n4OBMIa9iyYi4OPmw+xWm2jjyhCMnoYS7OvNKTHwr9zRZFtCa4TwyPBB64+ZnJvwtmqg0SjWDUcMsH+feEf3yr7cP1a9N0+eH7PTsHMFg769/f8wMwlNpook40X+n0E3dV89cCa9iVYLbVDkJNd9m+DUjXqkECmGb/G9J0zMgtVQhCt5G9avsP3K0WUX7lEMXbDY3JwifU01HerdceNUztBAo/t8CVPbmD+I1al4ruLS+eRKctisxLqmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=w1PyhOqZuBAU/VTPctXsYQKQuqpUTdT/wzKtHVLYm6yKth8S5iebaSG7Uml/A9Jk7Vbi7L1cnz0SSvuDj0agGJ/zOPVhJe2f69WNp9gW/6EgaakHUa5tWXmksiO2udRFVr9iJ4SFm36QkBPwZXA4pP29BL44LRo/5JTaE3rtauk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [XEN][PATCH v8 19/19] tools/xl: Add new xl command overlay for device tree overlay support
Date: Wed, 16 Aug 2023 17:39:47 -0700
Message-ID: <20230817003947.3849-20-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|DS0PR12MB8293:EE_
X-MS-Office365-Filtering-Correlation-Id: 06d9c245-2573-40da-99f0-08db9eba9d57
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zb3344ncoCOPPWQLtON0jvilShop9lFI5o5WZE74JxdqEuiakoyBYcY1qF64jHdfBBpM+6tG3fhtU4kOurPPC2DvWQWsQ3OQmN976oor63lmeoWBeVL1CbvHpjZpm0xuGhEKZx+651rAkuciFkV9zsxj6Vtqq74mktBzrCUBfhW798Q8GbtvFGyKvrK6nCJYNQbziR5nrMbV4C+gNekUDTI0WY1hIWpcio+uoSX3qyMV7ZU75xxI3lZN7KI9uSB4dy1ELRrflQTe+oDubnYA06W0gfSGYOkdS00pKNg3pCHqUAPvfHcCL1ulwpQoW4/FfyusADnK0yaqydcvPO55h0huBhZmlrqVWAkKr2EPy044uWsA0Rq7DGZmWk+4bDsAzpGaCaCmiR3tq/GNQaijkSsPE1EnVIG7RhXiDdOzRP2QjxamppGnq/hx5cWiMv8AjFqqDvonyS88i4MVCxk1N5L54/DGxpnluaxYTjuhAbThdobcEI81AojZHO74RD3W/dWjyzKX0NF87s8GAjYn2SS7hIENycFBvMbF8QOmjX4dwWRwdFOfl54vwLri95ZTnzvmHwYJRYjnADZRRqM2H4DglADcR+txEFNDQG5wE2mC4/ckszfhGj3sozoGDln+0EjTAKWmw92Zn/wiYWVV/g0arKK3dYfW/HnzUQj21iIy8YaO/U4YkUPTYld9u3bANi81XZEuy1V8U7epr/pDQk+Fdajr7UV1avK4b+nVgCYbrSwUzyXwx6dRhjq3IBESPKyBb7QXThAIp/ugdIcqEw==
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)(4636009)(346002)(396003)(136003)(376002)(39860400002)(186009)(451199024)(82310400011)(1800799009)(40470700004)(36840700001)(46966006)(36756003)(86362001)(40480700001)(40460700003)(83380400001)(8936002)(4326008)(8676002)(5660300002)(2906002)(41300700001)(1076003)(26005)(6666004)(2616005)(44832011)(426003)(36860700001)(336012)(47076005)(478600001)(316002)(82740400003)(356005)(81166007)(70586007)(54906003)(6916009)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:54.3301
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 06d9c245-2573-40da-99f0-08db9eba9d57
X-MS-Exchange-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:
	SN1PEPF00026367.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8293

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xl/xl.h           |  1 +
 tools/xl/xl_cmdtable.c  |  6 +++++
 tools/xl/xl_vmcontrol.c | 52 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 72538d6a81..a923daccd3 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -138,6 +138,7 @@ int main_shutdown(int argc, char **argv);
 int main_reboot(int argc, char **argv);
 int main_list(int argc, char **argv);
 int main_vm_list(int argc, char **argv);
+int main_dt_overlay(int argc, char **argv);
 int main_create(int argc, char **argv);
 int main_config_update(int argc, char **argv);
 int main_button_press(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 67604e9536..2463521156 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -631,6 +631,12 @@ const struct cmd_spec cmd_table[] = {
       "Issue a qemu monitor command to the device model of a domain",
       "<Domain> <Command>",
     },
+    { "dt-overlay",
+      &main_dt_overlay, 0, 1,
+      "Add/Remove a device tree overlay",
+      "add/remove <.dtbo>"
+      "-h print this help\n"
+    },
 };
 
 const int cmdtable_len = ARRAY_SIZE(cmd_table);
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 03971927e9..cea5b4a88e 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1265,6 +1265,58 @@ int main_create(int argc, char **argv)
     return 0;
 }
 
+int main_dt_overlay(int argc, char **argv)
+{
+    const char *overlay_ops = NULL;
+    const char *overlay_config_file = NULL;
+    void *overlay_dtb = NULL;
+    int rc;
+    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");
+        return EXIT_FAILURE;
+    }
+
+    overlay_ops = argv[1];
+    overlay_config_file = argv[2];
+
+    if (strcmp(overlay_ops, "add") == 0)
+        op = overlay_add_op;
+    else if (strcmp(overlay_ops, "remove") == 0)
+        op = overlay_remove_op;
+    else {
+        fprintf(stderr, "Invalid dt overlay operation\n");
+        return EXIT_FAILURE;
+    }
+
+    if (overlay_config_file) {
+        rc = libxl_read_file_contents(ctx, overlay_config_file,
+                                      &overlay_dtb, &overlay_dtb_size);
+
+        if (rc) {
+            fprintf(stderr, "failed to read the overlay device tree file %s\n",
+                    overlay_config_file);
+            free(overlay_dtb);
+            return ERROR_FAIL;
+        }
+    } else {
+        fprintf(stderr, "overlay dtbo file not provided\n");
+        return ERROR_FAIL;
+    }
+
+    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);
+
+    free(overlay_dtb);
+
+    if (rc)
+        return EXIT_FAILURE;
+
+    return rc;
+}
 /*
  * Local variables:
  * mode: C
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585062.916090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDs-0004P4-5T; Thu, 17 Aug 2023 00:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585062.916090; Thu, 17 Aug 2023 00:50:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDr-0004NO-TK; Thu, 17 Aug 2023 00:50:47 +0000
Received: by outflank-mailman (input) for mailman id 585062;
 Thu, 17 Aug 2023 00:50:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4H-0002YP-FC
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:53 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061e.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6afca5e-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:51 +0200 (CEST)
Received: from SN4PR0501CA0057.namprd05.prod.outlook.com
 (2603:10b6:803:41::34) by DM4PR12MB7645.namprd12.prod.outlook.com
 (2603:10b6:8:107::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 00:40:44 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::a2) by SN4PR0501CA0057.outlook.office365.com
 (2603:10b6:803:41::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:44 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Thu, 17 Aug 2023 00:40:44 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 19:40:41 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug
 2023 17:40:36 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b6afca5e-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hevRedi/HuvpbuYXgNJq0iGgLB1N99aAi0qJASATrvYuRLURGh5seYbaA2/yeFHaXQBJ684jwKmBgsAIB9EO0auzOfy1/k0mIk3BgEMLURg36wB10VSJQiTrHxUPNgAgp2vvoapdeV22BhzJadkiiurK5Yy5Naq7HL9hioWUHE3B6hpxun9/+7MlP9LPrQDMxiRfOMuMuYCs6vSf5JCD5SC1cZX+uh/aj5o1FNd1iNzhinA6S2CAjCrJm3++cI9iypOEioFC44KbmDxlGXUzE9M3AWzkbX9c8RTNE9r3bivIpxW5bAi4zVvLysXZqpeCxUWq7sAy3vD3cUK5svxVhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qIyUzT1AUXykQrgYpXKigDmIsrdrXXxfGP25yLD3dds=;
 b=WOICDTJwv/fZMYQxINixdg/BUBvxrQYkXgdT55+G5EQ9OAcw4qMoNAZS9zbaCN0w3H+4pVb3daKNmFJidyWxiTEku8Wxg1Wd/I+sLDwZKfrHQK8yxLU7XN28wPgEJj8w89QC33Qvj+TCxg5c0LJ8rX6qaxVvn1sT96J6UAxqAp/A+VvZdWAfBvDi1JgxSJFrh2NbUdks6Njfpj67Z2GElzw6Mmn1KBuP2zwDx+vvPJfQyGBWnt3L9e2XkoCBoI9Tvb+Rym/h1Sdy25G+/JiwPqHmjrXXjio80+dm6BUKoRaJPmYlq6saQ9YVf2zEl0/WsxHcV5TS7q79ZTkGu+DOzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qIyUzT1AUXykQrgYpXKigDmIsrdrXXxfGP25yLD3dds=;
 b=paG7YLbAUw504iHfl0J0G0REvjLbDVozU0hidGz5m89Oq70R0lx9JSsnPhbzYwuBEpKOApbSWYmjSgjssqCv97Rcb8Ob3xAeNZtb5Me1AsCYShWwgvjZX6lULnDls/dU+zspZUNLSMjgS3fwevOZvwQE2DgH7DHjxRyA76QudV0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, Julien Grall <julien@xen.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
Date: Wed, 16 Aug 2023 17:39:37 -0700
Message-ID: <20230817003947.3849-10-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|DM4PR12MB7645:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d2e4355-fa3c-4628-e975-08db9eba972f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ukkm6xQFFEApv6YtCS8yz6S4udYrNG/qxgK+562VGWvF2L3ykL2CoXSBninxVBxr8JU7RM0J4QFCOG0jr4tpOpY9JMtXEPpNoAF2aBheUzFQHl+6o6OVfjg0YphmiBJk/Dd20IHw3fAq64sOT0lO/1mvBWvjKZt2dq+riS2NAMfKaEKML85dT/FMCX0RAY60g0gIbqdi1WzSmbC8kMADQ6Wr+NsEn6TmwZDwfr+Yum9otlKk//5LBiybkjxj6/00v2Uet0IXJ9rUUjvV9SBZO1Bzuoti6CpPYogQ3ZDGAnw5u+Afrqm5bg3/rswJIU0eJ3+uuyUVTW7TsNfN0+1nmvoCbZcGJlcZYQoQsjY8Vw+H9A434/vczA7Q3otNMD48ov9/C6Zsdr8cU4gA/oANEnSF/F+T0rEZY7vQ16eLlo4Zob3ucKqCCZ78Mj6UoODEHmYw2uQKbQv19pWAGhEDv+dldMz24mo0uploEVEsn0oqKfKMF+HjNHhcR2tekdb49xlMpKaZDGp7INF0OXsxTB4JaxEVbksnYFMkLw0ekeSdSwW8JXS3oOf7Qms/fCus4swszJzqdkfjLR/gjXDp3Y6dQEbSla39H4hp7MhUaZ6wz3IC4yMUunZJuBqlWBpk2sGy2NQwFbiPQNs2tJaYSQWV6I+AWkSRnVCHnZr7Bk/yDf42eC9M/Pq3QLeWxHuZMopVxpP8Bs+dKB/4bqrIQB/IbAKme6KtPcsV11siDhOOyAI4Ud46JuBfh0dg0ftvq74fcDeUP1AHe64d1/aS2w==
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)(4636009)(396003)(376002)(39860400002)(346002)(136003)(82310400011)(1800799009)(186009)(451199024)(36840700001)(46966006)(40470700004)(40480700001)(40460700003)(47076005)(336012)(426003)(83380400001)(2906002)(36860700001)(70586007)(70206006)(54906003)(6916009)(316002)(478600001)(44832011)(2616005)(5660300002)(26005)(1076003)(41300700001)(4326008)(8936002)(8676002)(36756003)(86362001)(82740400003)(356005)(81166007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:44.0037
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d2e4355-fa3c-4628-e975-08db9eba972f
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7645

Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
Remove static type so this can also be used by SMMU drivers to check if the
device is being used before removing.

Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
patches in this series introduces node add/remove feature.

Also, caller is required hold the correct lock so moved the function prototype
to a private header.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Update commit message.
    Add ASSERT().
---
---
 xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
 xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 xen/include/xen/iommu-private.h

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1c32d7b50c..5796ee1f93 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -18,6 +18,7 @@
 #include <xen/device_tree.h>
 #include <xen/guest_access.h>
 #include <xen/iommu.h>
+#include <xen/iommu-private.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xsm/xsm.h>
@@ -83,16 +84,16 @@ fail:
     return rc;
 }
 
-static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
+bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
 {
     bool_t assigned = 0;
 
+    ASSERT(spin_is_locked(&dtdevs_lock));
+
     if ( !dt_device_is_protected(dev) )
         return 0;
 
-    spin_lock(&dtdevs_lock);
     assigned = !list_empty(&dev->domain_list);
-    spin_unlock(&dtdevs_lock);
 
     return assigned;
 }
@@ -213,27 +214,44 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         if ( (d && d->is_dying) || domctl->u.assign_device.flags )
             break;
 
+        /*
+         * To ensure that the dev doesn't disappear between the time we look it
+         * up with dt_find_node_by_gpath() and we check the assignment later.
+         */
+        spin_lock(&dtdevs_lock);
+
         ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
                                     domctl->u.assign_device.u.dt.size,
                                     &dev);
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
             break;
+        }
 
         ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
             break;
+        }
 
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
         {
-            if ( iommu_dt_device_is_assigned(dev) )
+
+            if ( iommu_dt_device_is_assigned_locked(dev) )
             {
                 printk(XENLOG_G_ERR "%s already assigned.\n",
                        dt_node_full_name(dev));
                 ret = -EINVAL;
             }
+
+            spin_unlock(&dtdevs_lock);
             break;
         }
 
+        spin_unlock(&dtdevs_lock);
+
         if ( d == dom_io )
             return -EINVAL;
 
diff --git a/xen/include/xen/iommu-private.h b/xen/include/xen/iommu-private.h
new file mode 100644
index 0000000000..bb5c94e7a6
--- /dev/null
+++ b/xen/include/xen/iommu-private.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/iommu-private.h
+ */
+#ifndef __XEN_IOMMU_PRIVATE_H__
+#define __XEN_IOMMU_PRIVATE_H__
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+#include <xen/device_tree.h>
+
+/*
+ * Checks if dt_device_node is assigned to a domain or not. This function
+ * expects to be called with dtdevs_lock acquired by caller.
+ */
+bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
+#endif
+
+#endif /* __XEN_IOMMU_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 00:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 00:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585073.916105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDz-0005HF-Nz; Thu, 17 Aug 2023 00:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585073.916105; Thu, 17 Aug 2023 00:50:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWRDz-0005H6-Kg; Thu, 17 Aug 2023 00:50:55 +0000
Received: by outflank-mailman (input) for mailman id 585073;
 Thu, 17 Aug 2023 00:50: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=IvtK=EC=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qWR4I-0002YP-FG
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 00:40:54 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b73829e8-3c96-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 02:40:52 +0200 (CEST)
Received: from PH0PR07CA0069.namprd07.prod.outlook.com (2603:10b6:510:f::14)
 by DS0PR12MB7874.namprd12.prod.outlook.com (2603:10b6:8:141::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 00:40:47 +0000
Received: from SA2PEPF000015CD.namprd03.prod.outlook.com
 (2603:10b6:510:f:cafe::3e) by PH0PR07CA0069.outlook.office365.com
 (2603:10b6:510:f::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Thu, 17 Aug 2023 00:40:47 +0000
Received: from SATLEXMB04.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.6699.15 via Frontend Transport; Thu, 17 Aug 2023 00:40: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.27; Wed, 16 Aug
 2023 19:40:46 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 16 Aug 2023 19:40: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: b73829e8-3c96-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U7I85eWVrLalqd9AK2nwo3NPSi1ZA+d3gSJLayhsc5t+4r2MB1APzKmoULrOvsxItumOBVOmpOwtSGzib8uZKW6doshYaPPH6WGZnV8W43ZMsG//x4YjHU1Vu3IHosdJjTSVBD31yjio70g+ll8MK4gKqkmDaxQA2t/I6D67YlbOeVFGKMnHEGr3RYtCfR1Bw2qMcvDTybWqszqg1nSHW1aYBq8UqIX9rbnaFByqcjmFIHjYwf2/4ZUFIwXDY27UBLOJPnlPymhQPIEX2YtvNkYZkawWe3KGuUIs9vfeuG0GDlSNwcvFmYNONOYQlIUZrGC9C1mvpZU6SkHNDa35ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oazS5Pakz+arpr5BvXrP3KLf+0uUtUUB2wXc4d5nSBM=;
 b=nRJ+mjpIyKUeCc7nPCrs/9FHi2X/FqjYy5S/DVXepSaOZUMVqHbseluB5MY00JVs4K2nNZIpohYeqTQCFiLFqlpM7VpV+pf160xdg9d9oqzA7nwUfwpXsyhbDZqVVoGZ92RQQjU9VZSaDFkuQkn0Av3YfXCRX0Him2wypnVnnH7FSbCebyQ5iJsGDofzGfpwOUm5EtME0uMue+yghXmTXVYfmazjGlUQ2JN1q8LhcJ1D5whE7izgskyO6VRnjEF7qhMcLnKK7hABpQE5smS9b6eTEW6Z4Tl14fWrJEeIg4XWoA1VwYZMGoewCsZQmj2CESlISplyZloJuzUwYJWgkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oazS5Pakz+arpr5BvXrP3KLf+0uUtUUB2wXc4d5nSBM=;
 b=MUhD65+GDOyvaQt0bM3+myPetKM24u0ON/W8Flww5/n9/q2oCpOUO4gInyEfXeYwvV8HI4wb+4q359Zq8gNqwaI8wlZH04GM7Jlvz9nsiWERrYZDCuuQXn05yHRhOa49k6+8omtjgH+3v+kYHL5rPNb3r0SXvQdQPhh7XDFA1nQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<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>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v8 15/19] xen/arm: Implement device tree node removal functionalities
Date: Wed, 16 Aug 2023 17:39:43 -0700
Message-ID: <20230817003947.3849-16-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230817003947.3849-1-vikram.garhwal@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|DS0PR12MB7874:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c16b509-4682-4b20-4caa-08db9eba98c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TcFuFxZonsSeQI5slbJgbfbrW1gr6tdw8WYtCsiTnqbu7Dab1arbxCVQvucane7uKXzVHhjUOwQy5gTUqHxT6u63+98eckkhaaSGoeG89hO0Qd+PgBW26snVr6Ocu5Xqkaapc4OtOAjAP2CWSFcSXS+xgIH6GBd0MO5SeqxhwhnJk26of14ozYnF6qk8ibY3E0Hj9LVFBdWPIRtnEpEyJ66gqQmxZ68ZbaIS6xRkUEyWgEFXm5lSZvTFcSV8w6LDeJ9CJ50BmcmH6ON39q9aaU0RRtBbVceeOPCRnlJo9FtcdO6hCP1gcoKH6Ch8VgjykBbNBdlOZ0I7G6HC+9B2HNCewHzSLlp9I99p3rOyE32eTnq00kOUzF6CP0/4sCyaqp9u/Nq3ewYKIHu1v3x+JZdRSs/cUtUn55KgP8oTNWnMoQaxhdYroh5YgjL1+/HAw5bzyDedPehOr/+fW38iWFivkkvQBorcQXv/6DyZliZqfx9URRkNhkkoyKfEcuifyElzaRGPXvNsKCvaurWXv9TfM4D5vValczvPRegeF435CtyRp0cvMLGg+KNHAZEjgf4eLfazoAhzrdvhr3huGariNqIOc5KANcohp9I/JwH0NyZAYAh7IUlTr4m6z2jcRSBu3f4q6Gg9vsHLU4kSh1NzSZjS5wrp4V6lkAmRsiUdICrG5Lf6hJmGrAxqCoZZk1x5IrSFFGyRywiZjxtieF05pajg9tJoWvszkyYihOTxi8RgcZu1a9HhIqpdzfbs0/Sbh+raL/82mpKpVoTouTH+b3DM+0zLl0ID7UYDvN/dgI/GvaLRZ+Tcx8R5e1Lp
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)(4636009)(346002)(376002)(39860400002)(136003)(396003)(186009)(1800799009)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(2616005)(426003)(336012)(83380400001)(6916009)(54906003)(40480700001)(5660300002)(70206006)(70586007)(316002)(26005)(47076005)(36756003)(2906002)(44832011)(1076003)(30864003)(36860700001)(478600001)(82740400003)(81166007)(40460700003)(356005)(86362001)(4326008)(8676002)(8936002)(41300700001)(333604002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 00:40:46.6408
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c16b509-4682-4b20-4caa-08db9eba98c2
X-MS-Exchange-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:
	SA2PEPF000015CD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7874

Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.

xl dt-overlay remove file.dtbo:
    Removes all the nodes in a given dtbo.
    First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
    in dt_host and delete the device node entries from dt_host.

    The nodes get removed only if it is not used by any of dom0 or domio.

Also, added overlay_track struct to keep the track of added node through device
tree overlay. overlay_track has dt_host_new which is unflattened form of updated
fdt and name of overlay nodes. When a node is removed, we also free the memory
used by overlay_track for the particular overlay node.

Nested overlay removal is supported in sequential manner only i.e. if
overlay_child nests under overlay_parent, it is assumed that user first removes
overlay_child and then removes overlay_parent.
Also, this is an experimental feature so it is expected from user to make sure
correct device tree overlays are used when adding nodes and making sure devices
are not being used by other domain before removing them from Xen tree.
Partially added/removed i.e. failures while removing the overlay may cause other
failures and might need a system reboot.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Add dt-overlay.c in MAINTAINERS.
    Add comments for dt_overlay_remove_node.
    Rename handle_remove_irq_iommu() to remove_resources().
    Add comment regarding false mapping flag for reason behind not removing the
    mapping..
    Remove irq_access_premitted() check.
    Add error handling for remove_all_descendant_nodes
    Change read_lock with write_lock.
    Remove check_overlay_fdt() call from handle_remove_overlay_nodes().
    Re-organize dt_sysctl and reutnr -EOPNOSTSUPP for error cases. Also, renamed
        this function to dt_overlay_sysctl.
    Remove unnecessary header includes in dt-overlay.h
    Correct indentation and make func   tion inputs const wherever possible.
    Make overlay_fdt const_void inside xen_sysctl_dt_overlay{}.
    Add comment regarding why we not removing IRQ and MMIO mappings.
    Move overlay_node_count() out of this patch as it's not being used here
        anymore.
Changes from v6:
    Add explicit padding for xen_system_dt_overlay{}
    Update license.
    Rearrange xfree in dt_sysctl()
    Update overlay_track struct comment with relevant message.
    Fix missing xen/errno.h for builds without CONFIG_OVERLAY_DTB cases.
    Fix header formatting.
---
---
 MAINTAINERS                  |   1 +
 xen/arch/arm/sysctl.c        |  16 +-
 xen/common/Makefile          |   1 +
 xen/common/dt-overlay.c      | 395 +++++++++++++++++++++++++++++++++++
 xen/include/public/sysctl.h  |  24 +++
 xen/include/xen/dt-overlay.h |  58 +++++
 6 files changed, 494 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h

diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..c41a7c5440 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -301,6 +301,7 @@ M:	Julien Grall <julien@xen.org>
 S:	Supported
 F:	xen/common/libfdt/
 F:	xen/common/device_tree.c
+F:	xen/common/dt-overlay.c
 F:	xen/include/xen/libfdt/
 F:	xen/include/xen/device_tree.h
 F:	xen/drivers/passthrough/device_tree.c
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index e9a0661146..5cda0dc674 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -9,6 +9,7 @@
 
 #include <xen/types.h>
 #include <xen/lib.h>
+#include <xen/dt-overlay.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
 #include <asm/arm64/sve.h>
@@ -25,7 +26,20 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
-    return -ENOSYS;
+    long ret;
+
+    switch ( sysctl->cmd )
+    {
+    case XEN_SYSCTL_dt_overlay:
+        ret = dt_overlay_sysctl(&sysctl->u.dt_overlay);
+        break;
+
+    default:
+        ret = -ENOSYS;
+        break;
+    }
+
+    return ret;
 }
 
 /*
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..e7e96b1087 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
+obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
new file mode 100644
index 0000000000..ac104964b1
--- /dev/null
+++ b/xen/common/dt-overlay.c
@@ -0,0 +1,395 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/common/dt-overlay.c
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#include <asm/domain_build.h>
+#include <xen/dt-overlay.h>
+#include <xen/guest_access.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/xmalloc.h>
+
+static LIST_HEAD(overlay_tracker);
+static DEFINE_SPINLOCK(overlay_lock);
+
+/* Find last descendants of the device_node. */
+static struct dt_device_node *
+find_last_descendants_node(const struct dt_device_node *device_node)
+{
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node->sibling != NULL;
+          child_node = child_node->sibling );
+
+    /* If last child_node also have children. */
+    if ( child_node->child )
+        child_node = find_last_descendants_node(child_node);
+
+    return child_node;
+}
+
+static int dt_overlay_remove_node(struct dt_device_node *device_node)
+{
+    struct dt_device_node *np;
+    struct dt_device_node *parent_node;
+    struct dt_device_node *last_descendant = device_node->child;
+
+    parent_node = device_node->parent;
+
+    /* Check if we are trying to remove "/" i.e. root node. */
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("%s's parent node not found\n", device_node->name);
+        return -EFAULT;
+    }
+
+    /* Sanity check for linking between parent and child node. */
+    np = parent_node->child;
+    if ( np == NULL )
+    {
+        dt_dprintk("parent node %s's not found\n", parent_node->name);
+        return -EFAULT;
+    }
+
+    /* If node to be removed is only child node or first child. */
+    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
+    {
+        parent_node->child = np->sibling;
+
+        /*
+         * Iterate over all child nodes of device_node. Given that we are
+         * removing a node, we need to remove all it's descendants too.
+         * Reason behind finding last_descendant:
+         * If device_node has multiple children, device_node->allnext will point
+         * to first_child and first_child->allnext will be a sibling. When the
+         * device_node and it's all children are removed, parent_node->allnext
+         * should point to node next to last children.
+         */
+        if ( last_descendant )
+        {
+            last_descendant = find_last_descendants_node(device_node);
+            parent_node->allnext = last_descendant->allnext;
+        }
+        else
+            parent_node->allnext = np->allnext;
+
+        return 0;
+    }
+
+    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
+    {
+        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
+        {
+            /* Found the node. Now we remove it. */
+            np->sibling = np->sibling->sibling;
+
+            if ( np->child )
+                np = find_last_descendants_node(np);
+
+            /*
+             * Iterate over all child nodes of device_node. Given that we are
+             * removing parent node, we need to remove all it's descendants too.
+             */
+            if ( last_descendant )
+                last_descendant = find_last_descendants_node(device_node);
+
+            if ( last_descendant )
+                np->allnext = last_descendant->allnext;
+            else
+                np->allnext = np->allnext->allnext;
+
+            break;
+        }
+    }
+
+    return 0;
+}
+
+/* Basic sanity check for the dtbo tool stack provided to Xen. */
+static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
+{
+    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
+          fdt_check_header(overlay_fdt) )
+    {
+        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int remove_resources(struct dt_device_node *device_node)
+{
+    int rc = 0;
+    struct domain *d = hardware_domain;
+    domid_t domid;
+    unsigned int naddr, len;
+    unsigned int i, nirq;
+
+    domid = dt_device_used_by(device_node);
+
+    dt_dprintk("Checking if node %s is used by any domain\n",
+               device_node->full_name);
+
+    /* 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;
+    }
+
+    dt_dprintk("Removing node: %s\n", device_node->full_name);
+
+    nirq = dt_number_of_irq(device_node);
+
+    /* Remove IRQ permission */
+    for ( i = 0; i < nirq; i++ )
+    {
+        rc = platform_get_irq(device_node, i);
+        if ( rc < 0 )
+        {
+            printk(XENLOG_ERR "Failed to get IRQ num for device node %s\n",
+                   device_node->full_name);
+            return -EINVAL;
+        }
+
+        /*
+         * TODO: We don't handle shared IRQs for now. So, it is assumed that
+         * the IRQs was not shared with another devices.
+         * TODO: Undo the IRQ routing.
+         */
+        rc = irq_deny_access(d, rc);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "unable to revoke access for irq %u for %s\n",
+                   i, device_node->full_name);
+            return rc;
+        }
+    }
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(device_node, "iommus", &len) )
+    {
+        rc = iommu_remove_dt_device(device_node);
+        if ( rc )
+            return rc;
+    }
+
+    naddr = dt_number_of_address(device_node);
+
+    /*
+     * Remove mmio access.
+     * TODO: Support for remove/add the mapping in P2M.
+     */
+    for ( i = 0; i < naddr; i++ )
+    {
+        uint64_t addr, size;
+
+        rc = dt_device_get_address(device_node, i, &addr, &size);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(device_node));
+            return rc;
+        }
+
+        rc = iomem_deny_access(d, paddr_to_pfn(addr),
+                               paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to remove dom%d access to"
+                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                   d->domain_id,
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + size) - 1);
+            return rc;
+        }
+
+    }
+
+    return rc;
+}
+
+/* Removes all descendants of the given node. */
+static int remove_all_descendant_nodes(const struct dt_device_node *device_node)
+{
+    int rc = 0;
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node != NULL;
+         child_node = child_node->sibling )
+    {
+        if ( child_node->child )
+        {
+            rc = remove_all_descendant_nodes(child_node);
+            if ( rc )
+                return rc;
+        }
+
+        rc = remove_resources(child_node);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/* Remove nodes from dt_host. */
+static int remove_nodes(const struct overlay_track *tracker)
+{
+    int rc = 0;
+    struct dt_device_node *overlay_node;
+    unsigned int j;
+
+    for ( j = 0; j < tracker->num_nodes; j++ )
+    {
+        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
+        if ( overlay_node == NULL )
+        {
+            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
+                   overlay_node->full_name);
+            return -EINVAL;
+        }
+
+        rc = remove_all_descendant_nodes(overlay_node);
+        if ( rc )
+            return rc;
+
+        /* All children nodes are unmapped. Now remove the node itself. */
+        rc = remove_resources(overlay_node);
+        if ( rc )
+            return rc;
+
+        write_lock(&dt_host_lock);
+
+        rc = dt_overlay_remove_node(overlay_node);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+    }
+
+    return rc;
+}
+
+/*
+ * First finds the device node to remove. Check if the device is being used by
+ * any dom and finally remove it from dt_host. IOMMU is already being taken care
+ * while destroying the domain.
+ */
+static long handle_remove_overlay_nodes(const void *overlay_fdt,
+                                        uint32_t overlay_fdt_size)
+{
+    int rc;
+    struct overlay_track *entry, *temp, *track;
+    bool found_entry = false;
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+        return rc;
+
+    spin_lock(&overlay_lock);
+
+    /*
+     * First check if dtbo is correct i.e. it should one of the dtbo which was
+     * used when dynamically adding the node.
+     * Limitation: Cases with same node names but different property are not
+     * supported currently. We are relying on user to provide the same dtbo
+     * as it was used when adding the nodes.
+     */
+    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
+    {
+        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
+        {
+            track = entry;
+            found_entry = true;
+            break;
+        }
+    }
+
+    if ( !found_entry )
+    {
+        rc = -EINVAL;
+
+        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
+               " Removing nodes is supported only for prior added dtbo.\n");
+        goto out;
+
+    }
+
+    rc = remove_nodes(entry);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Removing node failed\n");
+        goto out;
+    }
+
+    list_del(&entry->entry);
+
+    xfree(entry->dt_host_new);
+    xfree(entry->fdt);
+    xfree(entry->overlay_fdt);
+
+    xfree(entry->nodes_address);
+
+    xfree(entry);
+
+ out:
+    spin_unlock(&overlay_lock);
+    return rc;
+}
+
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    long ret;
+    void *overlay_fdt;
+
+    if ( op->overlay_op != XEN_SYSCTL_DT_OVERLAY_ADD &&
+         op->overlay_op != XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        return -EOPNOTSUPP;
+
+    if ( op->overlay_fdt_size == 0 || op->overlay_fdt_size > KB(500) )
+        return -EINVAL;
+
+    if ( op->pad[0] || op->pad[1] || op->pad[2] )
+        return -EINVAL;
+
+    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
+
+    if ( overlay_fdt == NULL )
+        return -ENOMEM;
+
+    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
+    if ( ret )
+    {
+        gprintk(XENLOG_ERR, "copy from guest failed\n");
+        xfree(overlay_fdt);
+
+        return -EFAULT;
+    }
+
+    if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+
+    xfree(overlay_fdt);
+
+    return ret;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index fa7147de47..900239133a 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1059,6 +1059,25 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
 #endif
 
+#if defined(__arm__) || defined (__aarch64__)
+/*
+ * XEN_SYSCTL_dt_overlay
+ * Performs addition/removal of device tree nodes under parent node using dtbo.
+ * This does in three steps:
+ *  - Adds/Removes the nodes from dt_host.
+ *  - Adds/Removes IRQ permission for the nodes.
+ *  - Adds/Removes MMIO accesses.
+ */
+struct xen_sysctl_dt_overlay {
+    XEN_GUEST_HANDLE_64(const_void) overlay_fdt;  /* IN: overlay fdt. */
+    uint32_t overlay_fdt_size;              /* IN: Overlay dtb size. */
+#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. */
+};
+#endif
+
 struct xen_sysctl {
     uint32_t cmd;
 #define XEN_SYSCTL_readconsole                    1
@@ -1089,6 +1108,7 @@ struct xen_sysctl {
 #define XEN_SYSCTL_livepatch_op                  27
 /* #define XEN_SYSCTL_set_parameter              28 */
 #define XEN_SYSCTL_get_cpu_policy                29
+#define XEN_SYSCTL_dt_overlay                    30
     uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
     union {
         struct xen_sysctl_readconsole       readconsole;
@@ -1119,6 +1139,10 @@ struct xen_sysctl {
 #if defined(__i386__) || defined(__x86_64__)
         struct xen_sysctl_cpu_policy        cpu_policy;
 #endif
+
+#if defined(__arm__) || defined (__aarch64__)
+        struct xen_sysctl_dt_overlay        dt_overlay;
+#endif
         uint8_t                             pad[128];
     } u;
 };
diff --git a/xen/include/xen/dt-overlay.h b/xen/include/xen/dt-overlay.h
new file mode 100644
index 0000000000..9cf36d7db0
--- /dev/null
+++ b/xen/include/xen/dt-overlay.h
@@ -0,0 +1,58 @@
+ /* SPDX-License-Identifier: GPL-2.0-only */
+ /*
+ * xen/dt-overlay.h
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#ifndef __XEN_DT_OVERLAY_H__
+#define __XEN_DT_OVERLAY_H__
+
+#include <xen/device_tree.h>
+#include <xen/list.h>
+
+/*
+ * overlay_track describes information about added nodes through dtbo.
+ * @entry: List pointer.
+ * @dt_host_new: Pointer to the updated dt_host_new which is unflattened from
+    the 'updated fdt'.
+ * @fdt: Stores the fdt.
+ * @overlay_fdt: Stores a copy of input overlay_fdt.
+ * @nodes_address: Stores each overlay_node's address.
+ * @num_nodes: Total number of nodes in overlay dtb.
+ */
+struct overlay_track {
+    struct list_head entry;
+    struct dt_device_node *dt_host_new;
+    void *fdt;
+    void *overlay_fdt;
+    unsigned long *nodes_address;
+    unsigned int num_nodes;
+};
+
+struct xen_sysctl_dt_overlay;
+
+#ifdef CONFIG_OVERLAY_DTB
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op);
+#else
+#include <xen/errno.h>
+static inline long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    return -EOPNOTSUPP;
+}
+#endif
+
+#endif /* __XEN_DT_OVERLAY_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 02:47:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 02:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585113.916119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWT2C-0004ql-3j; Thu, 17 Aug 2023 02:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585113.916119; Thu, 17 Aug 2023 02:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWT2B-0004qd-VY; Thu, 17 Aug 2023 02:46:51 +0000
Received: by outflank-mailman (input) for mailman id 585113;
 Thu, 17 Aug 2023 02:46: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 1qWT2A-0004qT-US; Thu, 17 Aug 2023 02:46: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 1qWT2A-0005lE-Sr; Thu, 17 Aug 2023 02:46: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 1qWT2A-0002HC-CE; Thu, 17 Aug 2023 02:46:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWT2A-0004dG-AB; Thu, 17 Aug 2023 02:46: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=2yx4XcxlJBs2u/vd8tPt/OlR+M/3X3d5iJte75KOb74=; b=mibiIydJ+yGj18AGMQX5SVYmLE
	ULTJTtc+nGBE4BwdUu7dxMLqdsQbvO6WYzpWD5CaMCMgc3x0X8ODB8tr9JRXvO10AUZEQiOm3JKqJ
	LJ/GQZF807gwNJSERQNpWnhSPirpvSrmpnQXHtXQd8UIBAF0DiFh6jPDz2p/Iyc41CBw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182361-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-unstable test] 182361: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-upstream-unstable:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0df9387c8983e1b1e72d8c574356f572342c03e6
X-Osstest-Versions-That:
    qemuu=690346043db881debcace7d22249f3355527c5f9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 17 Aug 2023 02:46:50 +0000

flight 182361 qemu-upstream-unstable real [real]
flight 182366 qemu-upstream-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182361/
http://logs.test-lab.xenproject.org/osstest/logs/182366/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail pass in 182366-retest
 test-amd64-i386-xl-qemuu-win7-amd64 12 windows-install fail pass in 182366-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop   fail in 182366 like 182103
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182103
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182103
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182103
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182103
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-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-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt   16 saverestore-support-check fail starved in 182103
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail starved in 182103
 test-armhf-armhf-libvirt-raw 13 guest-start             fail starved in 182103

version targeted for testing:
 qemuu                0df9387c8983e1b1e72d8c574356f572342c03e6
baseline version:
 qemuu                690346043db881debcace7d22249f3355527c5f9

Last test of basis   182103  2023-08-01 18:08:53 Z   15 days
Testing same since   182361  2023-08-16 10:09:16 Z    0 days    1 attempts

------------------------------------------------------------
335 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   690346043d..0df9387c89  0df9387c8983e1b1e72d8c574356f572342c03e6 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 04:48:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 04:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585110.916128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWUvO-0000gs-IV; Thu, 17 Aug 2023 04:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585110.916128; Thu, 17 Aug 2023 04:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWUvO-0000gl-Fv; Thu, 17 Aug 2023 04:47:58 +0000
Received: by outflank-mailman (input) for mailman id 585110;
 Thu, 17 Aug 2023 01:47:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jj84=EC=huawei.com=lizetao1@srs-se1.protection.inumbo.net>)
 id 1qWS7D-0006xw-06
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 01:47:59 +0000
Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 153b6397-3ca0-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 03:47:56 +0200 (CEST)
Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57])
 by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4RR79L20WdzFqhV;
 Thu, 17 Aug 2023 09:44:54 +0800 (CST)
Received: from huawei.com (10.90.53.73) by kwepemi500012.china.huawei.com
 (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Thu, 17 Aug
 2023 09:47:52 +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: 153b6397-3ca0-11ee-8779-cb3800f73035
From: Li Zetao <lizetao1@huawei.com>
To: <jgross@suse.com>, <sstabellini@kernel.org>,
	<oleksandr_tyshchenko@epam.com>, <wsa+renesas@sang-engineering.com>
CC: <lizetao1@huawei.com>, <gregkh@linuxfoundation.org>,
	<xen-devel@lists.xenproject.org>
Subject: [PATCH -next] xen: xenbus: Use helper function IS_ERR_OR_NULL()
Date: Thu, 17 Aug 2023 09:47:36 +0800
Message-ID: <20230817014736.3094289-1-lizetao1@huawei.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.90.53.73]
X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To
 kwepemi500012.china.huawei.com (7.221.188.12)
X-CFilter-Loop: Reflected

Use IS_ERR_OR_NULL() to detect an error pointer or a null pointer
open-coding to simplify the code.

Signed-off-by: Li Zetao <lizetao1@huawei.com>
---
 drivers/xen/xenbus/xenbus_probe_frontend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c
index 3f3836cb7279..fcb335bb7b18 100644
--- a/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -429,7 +429,7 @@ static void xenbus_check_frontend(char *class, char *dev)
 		printk(KERN_DEBUG "XENBUS: frontend %s %s\n",
 				frontend, xenbus_strstate(fe_state));
 		backend = xenbus_read(XBT_NIL, frontend, "backend", NULL);
-		if (!backend || IS_ERR(backend))
+		if (IS_ERR_OR_NULL(backend))
 			goto out;
 		err = xenbus_scanf(XBT_NIL, backend, "state", "%i", &be_state);
 		if (err == 1)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 06:22:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 06:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585129.916139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWOp-0002iT-Bf; Thu, 17 Aug 2023 06:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585129.916139; Thu, 17 Aug 2023 06:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWOp-0002iM-8F; Thu, 17 Aug 2023 06:22:27 +0000
Received: by outflank-mailman (input) for mailman id 585129;
 Thu, 17 Aug 2023 06:22: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWWOo-0002iG-0c
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 06:22:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ddc2013-3cc6-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 08:22:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7542.eurprd04.prod.outlook.com (2603:10a6:20b:299::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 06:22:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 06:22:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ddc2013-3cc6-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L3rxA/EFEWDkaB87ubKT8P4dc40AXwkhQmh+8KnnqqeCUtRTYVQDiYAatUU+fwSJh7+TSKm0+Etl//Kt8EAq0IlQccTOyua0gMIsh/F6CijlSMg0BBH0ze88Wp8UuFZMPkHSfDhiBFeRk17awzdJrE8tUl/rOnCZuIaTxsJsaskEkWI26IG581yXM96I5y5Odotmn51dmBVzRTrC2/fm+NLjjN9seFAq1rAOc4aG8oRIqjKVtDkjx2AlerspacGG/60xpWz3XGbvK3JsxtRbPqHqM3mu2EdAc7KJEbGk2BC60GrsI7ICdzrpiLYRnGvOI+J7zaurLCPEe2ZjCoeCUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v3cb4RIltlvvY2OAjg0FJ2Llo2WDe3AF8xhOKh12nWo=;
 b=SpH1Y/HNLpnSJl+oGiKyE5hukMSzoKYwg874QRDvkv5UQfp1OuIUtQ2KAJmFCRgA8u8JCPPA/EgCMdA2MRPWzE/yoiwC9IbEBN2vWuHBHexoxTrqdepy87a8dvXFioNo28DfVOa9noRZjiC9DebK1ackJa7xPCq6ZuVzLa/iVnXCFPUs84TAuWCgc5quQbyTBzFMufgCVLCkJ1c7DcQv/H4SrJqPWsqhTOWugYyi0HStlwN5PIXkFqWD8ndiWzu5QlUolHJfwPYmndN0fJTpNOKjnMabQjVu24v5EcS2ygmmpHWkt9H+PqEo3R7GEf/b6FuLG/LMmmvD99djE7sx5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v3cb4RIltlvvY2OAjg0FJ2Llo2WDe3AF8xhOKh12nWo=;
 b=dJdTZNeMo52gx0ufXUTHHsLsuJu30G/10c9fXJkld6YDb7kJ+zBCtMqslPUbPOQH2/046Y+CZVgZXJ+Ahwlm3efwBsk2nW1EPCC7SwW1hVZsIw9bfgR/dxger3O6cwGboa72QTdBEdMKh0+POkkAhKGzpvMPPp+AFJxiXsmRIAJEECsd5JG7D8+27QtvTk7vKM6ZEbXm/D5Is4W3LznGtAb0xiW4jusgLGbxgkf9Zc+5QOFmTBr/YtPYXzyEeUuSsRRnrNyhafDYsDjfw03sMhJUgZzyhS/POk2WboKgT8zRdXApOXSIp+cnG0i/3jR3TFlgQNWyPiBlPnxM1GJbrg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4fe76484-fa35-807f-2323-276087469bc2@suse.com>
Date: Thu, 17 Aug 2023 08:22:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH RFC] x86/CPUID: bump max leaf values for guest exposure
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::21) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7542:EE_
X-MS-Office365-Filtering-Correlation-Id: e8918112-d89b-4f59-314a-08db9eea50b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q9Yal1MqynhUTxn+wAS2dvT6XVdtgapJ493WKqN4vl6wE5DxGD2t2EdmI9rL1YzWg73lKKcd0UCzLtSI9/I0Tl3orvFxf2H4U9IYHFP/0RCiN+8eAQgAVHwpvsrCUkbDzcAbah6JN+uyQ/UXhp4huiFRu3gGnPPv1amvfE/7AD58ygT8cnQ60+MYXL+FfcJaw0jMDfJ45rLkilAWdwfRWSbmO/seDhe/nRngWVeJEE8F6WoaO89pnT0L1mspJ2WPNvnZNUxLcpovTXrv8LL+XcNXp3qgqEW9836A5aUrwaiQUowYUvQTPcsKU5papq6OZ8v9Tqyx6Fq6ZM9QDQ0ITEkGXphwQ91RNZzPUlAdMJBfAnFQKd4ssBywIHCKd7XKzB17pvJJM3OVdFS9FKpzNseWiIlPDCZYr21NpGSiSvkYO/ZsisYaIN2+ah1rA7bkFWhMIwaTdGuUi0jdJdgl4/tA1m8HO0Fu5pVYaBSJ21jtdVb5uGZDs4UlZuvJUR/JxxZORbJJ91jTUv4kz6ELyxmJ4FaEoAOP15zUpZQQxEzbYUQ5wn6nLVPyrMvFR8MjM+AQbfIhNVt1fq3HmfRnoVUYjOzklqhVBHmszSNVWhEzx51xksy3YAY2rs7203ZA3crh8JMH4/ZdQCIEZp9uSg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(39860400002)(346002)(396003)(1800799009)(186009)(451199024)(6512007)(6506007)(6486002)(83380400001)(26005)(31696002)(86362001)(38100700002)(36756003)(2616005)(2906002)(316002)(6916009)(41300700001)(54906003)(66946007)(66556008)(66476007)(5660300002)(31686004)(8936002)(8676002)(4326008)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b29PTUlVTG16dmw5VEFqcTRVVlE3V3B2Z0Fxd1k1ZGRxbUc3YWpIaDFudUZl?=
 =?utf-8?B?cTQ0Rm1OL2ppaTZPcGJ0QlBDY1JTY3M0a2YyWElXMmJDUzlFK1FDRVYwSGVB?=
 =?utf-8?B?LzdqbFdXWllRaUJIWkRVOXp1bytzRW5iRWxFdHlGOGVkdWlFU1dxN1IwVVdy?=
 =?utf-8?B?MlU5MHZMTTR5dVN1R1l1OWtwQXMxQ2NVTEVFUGF2N3BlN1NTbVpzdGtkVUh5?=
 =?utf-8?B?RTRCNlVoZ0g1UmlPZkNaNVpDdWJGMWtuT2xhZmY3T3NiWVRsa0lNNjI2QzY4?=
 =?utf-8?B?MXZsOWFhZ3J1TnY3TnlDYWY1WkFlaHhhcnROQk04cnI0SHpxdUdPbFJpWVFw?=
 =?utf-8?B?NDkzRitLVVVPQTQzSk1mMSttN21ZRTRBSzZ0WFJRbWdBMi9HaUkwbjVNVEFP?=
 =?utf-8?B?WFAzaW1GKy9Sa0ltL0c4RGF3M0JiME1aVE1zbzc1UmhsdFhLU3hjVTFPTHIr?=
 =?utf-8?B?a3dUcnhZNndoSGJvdWRpVVhkRUdIUmdwb1NiYTdqMytxNHFtZlVDSWN4aDJw?=
 =?utf-8?B?MHg4TDhFTGloZFlJVDFUVzE4OERCckxkZ3dadWdlaVo1bzdOaFhjTnpzamJP?=
 =?utf-8?B?Uzd0RTdER0pTcjBkWHVwbk4vY29zN082c0dmVFEyaFRjeUNmZUxTd0ZlcGV4?=
 =?utf-8?B?VlJlN3ZkV2grcmg2WCtYM1NYNWJwSXRiMDFsL0ZuN09YM1FiT3ZNeDVBWlcy?=
 =?utf-8?B?cS9EUTBhT2ZLU2JWOVcxRU1xZEg0NzNNbXZLOXdEWU1neThJcWpjS0IweU01?=
 =?utf-8?B?TUFoT29RTTc3YUNycnZKenluUTJBZWUwZGFxNVh3MkZsWEdHS2txaDJDdmdh?=
 =?utf-8?B?c2RpbjBQUWFVbkNuTkNJRjFrWjRDY2V2VTZUcG9WWGM2Z0krcC9iOWJlRzlI?=
 =?utf-8?B?enhlbnFYQ2ViL1FQQjN1SU1ZYmRyYzRsWXg0a1BRR3NPYXA3RG9aVWdqWlRu?=
 =?utf-8?B?Q3ZCZmdDVzh5bGkzbW5jM3ZIbzdEUGxxSzNEQnlKNVBBbUoxcUc4cGNQbUZU?=
 =?utf-8?B?M1IvcEVCazBaZktFTWQrWlBqdXprc3o4MjJySmVOdW0wRk5UUHcvNlN3S0NP?=
 =?utf-8?B?WHhZTkczWU5YaU5pRHVWYi9aTTV6cWl1dFhjaDBzT0lPUzFCblJIbjNRelhE?=
 =?utf-8?B?OGE1N2tyZDFwNEorT0xxVE5oNUN4OXdFenI5TEtYM0FsSzZIMXBHS1ZjTno1?=
 =?utf-8?B?Y3ZqMFRPUmVROXhnYm0rS2VJVnllb25iMXhKYkwzSXFTUXBuZURISFR1TmFn?=
 =?utf-8?B?RWFYM3J4Z2lQRUdRd1FlZGt5Tk0zRVBFcWN2TkYxNUlhQU5OTWdldWd4N1hr?=
 =?utf-8?B?b0hnaWI3Q05NZXVCNWhobHNSWEFuYzdvZktVZTFYQlpMMnJOTVpxYzZ2M2lE?=
 =?utf-8?B?ejBEdWRnUDNtNDBkVytSeGlwMm1tbkY0QWpKMkkrdjN3VmNUQU1UZW1QRytJ?=
 =?utf-8?B?SXlUK0NoeGNudEcvTzBScW9yeVBkbDBDSVpTOUloSnIwTHJHYXVSRm5SUFB2?=
 =?utf-8?B?Q0x4OFVEdlRQNEdHSkJNRkUwWjJ6b09jR3lmU1grdy9pc3Rpbk5WcFVtYVBO?=
 =?utf-8?B?YmwvbzMzRlU1TC9YVEYwcm5nanZxZ044ajFhVTBoNFFWYWJ4alRCRlVWTWg0?=
 =?utf-8?B?UmdzRk5tTTdQZTQybmhuV3p0U1NJbTBNRU1aaEc3aUE4eGc1bWQyVXY4VzZh?=
 =?utf-8?B?VzNEc1JiZHg2dFRuMFBhZjAwR21QT3ZUaDB4a2FjS3FqUit4WFdDbXAxVmp1?=
 =?utf-8?B?cEJyZzR5ZzFqT2ZIakFzckxMc1U1UWFBSk52elNHMlhGcmhzTkRDQmFhc0M5?=
 =?utf-8?B?OE11dEEzWm5OTmRnTkdLSVdwV05sNUJyMXRrTlhUczVBOUMvYzNRdUh4QjlT?=
 =?utf-8?B?VGgvak5nMFIwZ0hCem00MjVQUXBoNDZNdWNxVnFhWVA4STQzUnRvdk1YV2ZR?=
 =?utf-8?B?c0NWYXlPaHVsQ1ZqY0RGSFNXKytIdnZZZjZHT05IVElxNjJCVGx3YlBwTEwz?=
 =?utf-8?B?d3lheHFmcnRFM3JiNDZoUG96QTk5M3Fpa0VBaXN0NDYzMFZOczBtbExSRlJy?=
 =?utf-8?B?d3FYSDFid24zYk5WcFdVNHlnUHFHbmxtT296QXBKLy94dm8vemF0cUdYazNU?=
 =?utf-8?Q?sWFBJDjGW8mskd3TgPNAvkdeU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8918112-d89b-4f59-314a-08db9eea50b5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 06:22:21.8192
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YMrnIPmBTKePE04Igla9rpoSE/ffQ52O7/+/du+5CV9Q6ijUQ7vKrCI0iGV4F7K6uPdkYTezN+IbRzLICgNbAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7542

Generalize what was done for LFENCE_DISPATCH: To make certain features
that we artificially enable recognizable by guests, respective maximum
leaf values may need to be bumped as well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: The call to the function from recalculate_cpuid_policy() is
     somewhat problematic: It's not clear whether a tool stack request
     with a low maximum leaf value should be honored despite our desire
     to expose certain features.

This omits checking basic/extended leaf 1 features, some of which we
also force. I think requests to run guests with max basic/extended leaf
set to zero are sufficiently insane.

Among the large set of changes I don't think I can identify the commit
to validly name in a possible Fixes: tag here.

The cpu-policy.c change would imo look quite a bit better on top of
"x86/CPUID: move bounding of max_{,sub}leaf fields to library code",
which has been pending for a long time.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -360,7 +360,6 @@ void calculate_raw_cpu_policy(void)
 static void __init calculate_host_policy(void)
 {
     struct cpu_policy *p = &host_cpu_policy;
-    unsigned int max_extd_leaf;
 
     *p = raw_cpu_policy;
 
@@ -368,20 +367,8 @@ static void __init calculate_host_policy
         min_t(uint32_t, p->basic.max_leaf,   ARRAY_SIZE(p->basic.raw) - 1);
     p->feat.max_subleaf =
         min_t(uint32_t, p->feat.max_subleaf, ARRAY_SIZE(p->feat.raw) - 1);
-
-    max_extd_leaf = p->extd.max_leaf;
-
-    /*
-     * For AMD/Hygon hardware before Zen3, we unilaterally modify LFENCE to be
-     * dispatch serialising for Spectre mitigations.  Extend max_extd_leaf
-     * beyond what hardware supports, to include the feature leaf containing
-     * this information.
-     */
-    if ( cpu_has_lfence_dispatch )
-        max_extd_leaf = max(max_extd_leaf, 0x80000021);
-
-    p->extd.max_leaf = 0x80000000 | min_t(uint32_t, max_extd_leaf & 0xffff,
-                                          ARRAY_SIZE(p->extd.raw) - 1);
+    p->extd.max_leaf = 0x80000000 | min(p->extd.max_leaf & 0xffffUL,
+                                        ARRAY_SIZE(p->extd.raw) - 1);
 
     x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
     recalculate_xstate(p);
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -104,6 +104,22 @@ 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];
+
+    /*
+     * We may force-enable certain features, which then needs reflecting in
+     * respective max leaf / subleaf values.
+     *
+     * ARCH_CAPS lives in 7d0.
+     */
+    if ( p->feat._7d0 && p->basic.max_leaf < 7 )
+        p->basic.max_leaf = 7;
+
+    /*
+     * AMD's speculation related features (e.g. LFENCE_DISPATCH) live in
+     * leaf e21a.
+     */
+    if ( p->extd.e21a && p->extd.max_leaf < 0x80000021 )
+        p->extd.max_leaf = 0x80000021;
 }
 
 void x86_cpu_policy_recalc_synth(struct cpu_policy *p)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 06:37:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 06:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585136.916149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWd7-0004KF-J9; Thu, 17 Aug 2023 06:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585136.916149; Thu, 17 Aug 2023 06: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 1qWWd7-0004K8-GG; Thu, 17 Aug 2023 06:37:13 +0000
Received: by outflank-mailman (input) for mailman id 585136;
 Thu, 17 Aug 2023 06: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWWd5-0004K2-U9
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 06:37:11 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e4d4bfb-3cc8-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 08:37:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8695.eurprd04.prod.outlook.com (2603:10a6:10:2de::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 06:37:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 06:37:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e4d4bfb-3cc8-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vz90i84v+fi3L524iXtP33V5O7ciyf6n7KPCzZDLVJIaTuCGbqIR/JV4+MtMYnH+yFyakMN401g0DwOhNIS4KsgJNZ1zq6h/VvYy1pAvBlz7dLp26fS0h3U1YH4lZ/N9dHuXVVxR9NZJZ5dUn9DVvdNNzWTxNR4s1u2UcQvlAjLx8q7y1rgPlL9D8frTi/B0RR3mUE5eSsJvfbynK7TZ3mMesWRx3k1e+fvDNl7vEDHrchgK9k7zl7CM3eMcStHFXMkF7aGEL2uPEr2mvc7BIQSjYfVljUA7E0n+yf0ffb1grJRiDvYMdTXY6GVnJkvMZXtpRSLeLekdv2kqjCfVJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KgQ/JnBa+rmrmqj/nxwdwlFzgW+t5lJOR66odM4vAYU=;
 b=W8RAxJUxb8mxrhMeqnmbi/xBQ3Uy0gsfP5M6K04v1zOI/ahH9zxMfQBI5poHyrM5sxfgalnB9BQep0mMkFF+2v6sqeWzKpHixCytE9qneFEvkGtOu/+0p+wwogwXGK7UVuPQqQPVbY0E2r4W+g/86UhrQPZpubNoAAnAsWMTdQhqm/lNTLlB2VH6IRBO3kBxuFfT3vyAJONJXRTX9MILowWzSMfYPr62hFxg8jtJK8IbakX5Y9c7O+f81OOf7qGkkwWK8yc6ZSBadQ+TSZddsmY/zX8Ywo6GwIVYqq2yZ6H/VVtyCHTezW4O8tW+/p94/RhwHVVgXrdzFDgd9DGdgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KgQ/JnBa+rmrmqj/nxwdwlFzgW+t5lJOR66odM4vAYU=;
 b=HSlP0V0akdTEUs60T2OjGcWohmNYEvjk+l8NY84D9wIk4F5Dv2+7HMK5As8X2uLlgSR/852FLRR/LeMHGImhjkMMEvqg4oocQRRt4OCG8ggcCddJKS8lbvoR0b1+yj+i4S5RuVp2fWzv5oA8XWFGLIIkAd8ehknddtnIAcz0+l2iiGVzJ1SXMZvkqkZI1+iV4/dMh2IfNcBRVcOb1b+/YWjLn/YOMI/uFcH7GqFXn+3BqL1VsJXO/JsBgzrK2vLUOLkLWsv7E6GewmaJH7t1Wq9CcGiHzoufrWkNgcWlfiR488CzcerZJ6FaLfZf+5arMM4vZLiIex6nqwjDM53IeQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <09f5a9e2-ed6b-eabe-2016-5961285eda26@suse.com>
Date: Thu, 17 Aug 2023 08:37:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Kevin Tian <kevin.tian@intel.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
 <6413e634-62a1-b2b3-47d7-6467926db392@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6413e634-62a1-b2b3-47d7-6467926db392@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8695:EE_
X-MS-Office365-Filtering-Correlation-Id: 56a5feda-7d53-48bd-bb99-08db9eec61bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N/glKUUJvoP5PtzoPNSFTx7AL2iUA7zXBV5D6zpa/wm7368buwyrlFMRKIfRJppbBFKsci+WXj4spT9hJ/50ILUCGmKqyQlW4P+7ROvq0kAtjrEg92EwUCsePZBQwDHz6dxx50rDXNjaEk2a5hScaS8OpYLuCgqaFhj10Q0LzGV77WgPbd1bNtv0eW1fReaCr/KhOCgqRmJZVRneDUdbjDmDaMi3I8vIk5d2nijiVMIxGgSiya4otW8O1hTRwpNBs9RjSUmCEHOgbn/GIqly3hpAFZ1W9g6bi0ABG1bQfu35BN49yFDedkFbHVPyuRpI3SC85W6/IuRDe0a4QOShazBC3+uCdYjdRCE57iH/OOisK3kgK0y8ALEwzE06VzfqAq5CMuU2gHclq8pmmZDGiYR7L4u9YDnH5S2LEzknnJFZCWU4j/1ZsUTsN4L5lqGccFFIPPfuq6amS38aDRfwu2BiyPpRY083rWnWoe4k8FzC1PdLY60l4N1Lv2rvu3DPTCvej87gVJvF4d2xNIwp1oldcbTdpFcv70/bXLvxuatLLMasmLt3FJIjE3NLepQ+HeEmc/cqptbAF7dUwsCrx5JY4uI5gWe6Q/BW7tQVjPAPzi2zNyw5LCGVQZ4QWH6y7tB3dfT2px9q6LzGu+nv5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(39850400004)(136003)(366004)(451199024)(1800799009)(186009)(316002)(54906003)(6916009)(66556008)(66946007)(66476007)(31686004)(5660300002)(41300700001)(38100700002)(4326008)(8936002)(8676002)(26005)(2906002)(4744005)(83380400001)(478600001)(86362001)(53546011)(6512007)(31696002)(36756003)(6506007)(6486002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjJtcnQrUXdaOGJqYlJ6cHgzWXRBaTNEU2VtK0U4ZmlwYjZ2U3BiUFp4dnlX?=
 =?utf-8?B?OHUvUDNBNEpuZ1hrU21KQktuQWhCeWFmN0VTNENZeUl3RnFHeFFRYXdWVTVB?=
 =?utf-8?B?ZVZ0Nk01TkJxZU1LQWh5a1M5bjlNWlNnM2pMcGVGeGJhNW9qMTRRbERDdEZB?=
 =?utf-8?B?U1JuRVpBWnRWZ05HclBIRG1uT04wT1FHOU52cjloS0I2eHdtZHBybHhFdUcz?=
 =?utf-8?B?UzRFcWhkNmk2cmVzR0xRYU9vTDY4bDEzUldiMjFSOHlvT2tuZzIvRjJVL0Vn?=
 =?utf-8?B?MlZlQzBjVklKazcyUndvK0ZRbU0wMm04QmlNY1VzM292YTk3MkZFcERwTkdP?=
 =?utf-8?B?c3dZRVYzVktTbytnNnc2cUFBT0laQkYvakc1VFpVNEJxQWZFK2R2UXd5N2RY?=
 =?utf-8?B?K0lKTVMwRFR0YXVSb3JtRUMvSEZRK3hzWXBHbklwaHRRQ1FIajZJa0lsY2Fr?=
 =?utf-8?B?T3pUS0VhMXJCUmRabnJua2g5eFpCWFB2TUNDc1l0UmJjSUwreW16dkZKK0RD?=
 =?utf-8?B?RTVSYnhlb0VGVWhRdFc2TkJSSmx4cDhPd0ttdnRlNzd3UHdqVGVzank5MGli?=
 =?utf-8?B?Q2V3a0lSb3c0eWw3aVM2VFI4bmNRZDQxM1pWZERqRU13bW90SlE3SnNvWVFi?=
 =?utf-8?B?dXlscmFGTm1SSlhZV3czMm1hS2h5emRTdXdLNmFYeFYrL3hkaTk5YklWSGJE?=
 =?utf-8?B?ODlPWk53aEJPWUZxeGM1VVdNQUh0VVNaVHV5MGRSYjRiMWdsbkwxbnpPMHQ5?=
 =?utf-8?B?NTBlUG1SSXd6RlRzU1p1MWgwK3l1M3Z6WUdFVXBQOStQRTZ6VDNrVVluVmxY?=
 =?utf-8?B?ZVo4cjZVWWVyU0YyNzZZU1E2bXZLNVl2YW9aeW94aDlOMnA4Z2VoS0M5c3R2?=
 =?utf-8?B?U09JeGpzZW45L3ExaUwvTEJtTVdGdHJmTy9ZY1dsQmVpSEh0ZWNheEpJZXo3?=
 =?utf-8?B?aU1sdmZGMURHNVhSSVlLNmZNV1pXZVl5a1hlNVE4Sy9ZVm1mNlVpNFErelJm?=
 =?utf-8?B?NWpYdlJlSUtpMFpoazFSTUZYZWxnZEo1aTQ1VDM2RWtoU0orcHplTHNyMlJo?=
 =?utf-8?B?M1J4L3hySm9qS1NvODhmUVlmWk1CRDJCcWdycEp3eHAvZXE5Q2szWUJFY3Mw?=
 =?utf-8?B?bEFKejJQRE80NlRFOEdYTGVMeGwwKy8vYU9pRnZ1NGJwQlVJVjVEcWo4K3p4?=
 =?utf-8?B?dFhSREMzN2JtSnN4aFhEb0oybnlyQkRHVlY5L1hiVVJhL2grSjNXUUZLWjhx?=
 =?utf-8?B?UjJsQW56QVNLV1NJUVMxLzBRaUtJNHExa010OWR2ZnVtMWt4cHIvY0F5Zi96?=
 =?utf-8?B?MVJuSXpPNUtNUG1FM0ljWnVzcUppUDJBV09RdEM1UDdCaWdnTDFCQWVHRkty?=
 =?utf-8?B?c1Iwcjc1TE9EU0hWN05HWVBNRDV4V0Y3R25ZaWo3OWZEdmkvUmNHbFlBaEUx?=
 =?utf-8?B?VjB5aitBSGJ5NFdtZVlQU3Y3TmcvTExxaE9RUTFrbEZKKzdoU00zWExrdHV4?=
 =?utf-8?B?VEtDdWE0Wm1lZHczY2RNaEdvTHllZExxNXl6OG11aGdrYVdZQm4rVWFzRTZB?=
 =?utf-8?B?Z3dZWXBkMm9RQTQ2UWVQYW5sWjN6ZTdlQzFVS0daRTNHRXdKOTJVVHBtaE9I?=
 =?utf-8?B?NnBSbkVRSHE5ZmhDUUxUbE9ZY0YrWUh0UWRYbVdJVE5BbjhVcVBZNWh3dkhP?=
 =?utf-8?B?cFYwTXhwWE1JcllrN3dJcE9GMUVBL0xGVkxMVmJzdy9GSEhFbklhM3AxZTJJ?=
 =?utf-8?B?Y1FkakZ2UlRENTRaaGd4Z1NaTkd0ZnIvWW5TOHV0NVRyZ2FwZXU3TFYyZXJC?=
 =?utf-8?B?WnBpa3RxYmx2S1NEakE3WDVrS3QveHNoNzJETXByaFpLWTgwUURKRVg4QWhS?=
 =?utf-8?B?MHZaVzVOREtLNzJvWENISDBNTTRrdXVjVHhTZnNwSC9YTXFFbTdWOTRaNUsx?=
 =?utf-8?B?TTdYSjUzR3hlT0NMR3AwYXJqQmt1OUJQeEQ1OVBXR2VxeWVoalllR3c4T3JM?=
 =?utf-8?B?bEZYWkNUYkdTNXJ5TWN3aHFrNWE4WjVRRTV0eWNVYmhySHZ4WmpwMGdpenBt?=
 =?utf-8?B?OU1TS25mT3ViTkpzWDRUTVdVeU5TMzhDMEYzYzNYTU1CM2MrVnhKSzRtNXNG?=
 =?utf-8?Q?3L4i1Z1fXP6JcM7hDk6L9oZbB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56a5feda-7d53-48bd-bb99-08db9eec61bb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 06:37:09.3777
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b6cdaOsWCGIJVDwCFSULmhnJF14FmixOgp6eeuakUcHbPu/AZA3YUMaZNAK1INrM3quzDeVkpeVcYvkCwz2bcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8695

On 16.08.2023 18:40, Andrew Cooper wrote:
> On 16/08/2023 10:51 am, Jan Beulich wrote:
>> Old gcc won't cope with initializers involving unnamed struct/union
>> fields.
>>
>> Fixes: 3e033172b025 ("x86/iommu: pass full IO-APIC RTE for remapping table update")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although

Thanks.

>> --- a/xen/drivers/passthrough/vtd/intremap.c
>> +++ b/xen/drivers/passthrough/vtd/intremap.c
>> @@ -432,8 +432,7 @@ unsigned int cf_check io_apic_read_remap
>>  void cf_check io_apic_write_remap_rte(
>>      unsigned int apic, unsigned int pin, uint64_t rte)
>>  {
>> -    struct IO_xAPIC_route_entry new_rte = { .raw = rte };
>> -    struct IO_xAPIC_route_entry old_rte = { };
>> +    struct IO_xAPIC_route_entry old_rte = { }, new_rte;
> 
> Any chance we can make this = {} while at it?

Sure, no problem at all. To be honest it's not really clear to me whether
we prefer either form, and if so which one.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 06:40:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 06:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585142.916159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWg8-0005rE-1P; Thu, 17 Aug 2023 06:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585142.916159; Thu, 17 Aug 2023 06: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 1qWWg7-0005r7-UI; Thu, 17 Aug 2023 06:40:19 +0000
Received: by outflank-mailman (input) for mailman id 585142;
 Thu, 17 Aug 2023 06:40: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWWg6-0005qz-VM
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 06:40:18 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edef7f5b-3cc8-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 08:40:18 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8795.eurprd04.prod.outlook.com (2603:10a6:20b:40a::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 06:39:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 06: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>
X-Inumbo-ID: edef7f5b-3cc8-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eoIEwH77JTGx53xpQlok7MryCf8ERQDDzQwseg6UvoMibAw5jH2VV6NuRqpuuZE7GVoUDUeo0lFJXJU0XxOosKscdI+xWEfEPVXK1H8y48laxPpAS2HcpVwJ2W+Hv3IsvdZP9vTPFnXtU6Yv9jhWxhpjBU5S5CHWvRIFUmpPdZG0hJM35a7sarhRKINung4GrquLb7Nv1N1AFSHDwSx/WT+TlcGee2mNz5d+5TlqkJv1v3ececgUIl5wlv9bfocfNgE6i4EVb1acmTJBIvBGq68ZgNktA3ptER5IFfvcTNaxny8C3NoWwnl0ue+WKZ6a1t8+laAErJSCxGm2WTm2bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+NttUkSjr7Z0htLFR9WU+TtrkKHE2S2MTNtxGhgDwo=;
 b=aPKn3LfjSeepqru4fh2ARQ49XGuAVRe5hrJEsha0E3unWIsW3MMfE7RF98tglZQgZFwq2pmkeusnYkZ63IgU4+qUZ0ec9aexpGW8k0HdC8AW9UGSO2NHfU1fKMLiFqad+3cNkKLHyVV5DnQEn71kpnBgBF7PFvivuXBkE3XbhC0lAxHKT5Jbys4VHWMv7UzRLRZx7s+QCLu77e6nmK42BQLbtQF9NCW7EgHOf2ckTXyqARgaMEWbStejIB34+/W929C5iFbhYxtcnb4wv9QIofVyiudG6OEn8T8U3TUoyMQxceVjWIo84X8z55LHrgAmrjWiN2PrF5iwoPV5/LIsmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f+NttUkSjr7Z0htLFR9WU+TtrkKHE2S2MTNtxGhgDwo=;
 b=fE4I1mDP+Q2SxBVwqNsPkWT/ilcN1x+sYsApgDW+1+m2I6wuZXZCngYn0N/K0jRXFTACC7N+lOB5KwnDcKqI600gJEpgvOgZF5qFHzvwkZnLwJpNWqFglOWphh9P+1cJ9UXT6T+G4KAYVD3HKme+NCqchAU9+EdX+wGcqPksO1+ZEVNAwE06n2agx4sthOjPDbcf2gxPMiXPgV859wR4mymo8l5oZQgw9I9d3PP+wc2Mzt27fOvEw877Ye2XQ0MrBx2ZawZbUeJxMD14RCtjL/JasN8x1BdU+AKeM77EFpnnMETsgsS0463BSVruPKQgEFOuIABCu8yJuGqt+AGCTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ad06a1c-2337-fd66-cf2f-9151544dc8db@suse.com>
Date: Thu, 17 Aug 2023 08:39:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
 <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0222.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8795:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e1e9f52-d48a-4b41-0af8-08db9eecc126
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WQjxL65e23/CIwtrNHMWZxOIOh2lvl5ucZ3vunEOCtrjI4XZ/wQ2xp4XsqATwMRWtHWS75mSekoz4+rcs5Md72em3i6AH3dF9tyhYIIGiZJ8jr6tpFscMhGCm544FrAN2gbfyeEs9gjIILx/9Y+H07trn1uGt0gblwjSt39sdgfn9DDdIz2unuKT+MnulmMyQxzBgHvWPml2ZUVuQc6kFPaHa1c9443TRPQkthyJoyqx2A1Xo2xrRYCBIjF4U4DHLH+C6kUgeDA7DeVcnq0/ldEc6pvY4756hV2YNNkH9OEFqQJJrCCf8Li/R3i7nkQpzxpCetQY96txZN6My0LDfGlb+ro+8gYcAC+NCj28CnAcQa6xTTe39i2xT8HghZwdhgsGy8PLaYl8JJ43X+9itOe9FrxGUl7RpJyAfTksRVNrNeYpDPaK0EZHIOJk3XjtxTmwhVozWUESgAn9wdlBZRG/fC/qwbE98bwQTfMC7DvnaaULFBr1c7PAbBHLsTlxTeTi0/fW4/QzJemZf97ArpIo4417gect+lCLFZ7WkC/gCIQP/L3JRp+wG2XOddoFz13vJ53nZ5mkpFvjctfpD8IcYh8Pe6/zlWk+MMnRXSOtbDelaDqCcuVwZHgX6bMz4orf0+v4TZF3KqOUQ/55hQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(346002)(39860400002)(1800799009)(186009)(451199024)(4744005)(2906002)(478600001)(66946007)(66556008)(66476007)(6506007)(54906003)(6486002)(6916009)(316002)(53546011)(2616005)(5660300002)(26005)(6512007)(4326008)(8936002)(8676002)(41300700001)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0ZHSi9oSHNieit5eFJTUDU3dWM0MENEMllOeTg5ZkJLeUFVVXFoNHdZOWN1?=
 =?utf-8?B?Nm1NcExmUlNQcFlUUUx2emdFNW8vcnlpbktEYmRzcGJ3TlZ3S0JiQXBkSGpY?=
 =?utf-8?B?VHdSZTBLVTBRQnhyMEM3RC8xTTdwSTRRMlQzMnpHUzZlSnVBSm1aNkhqWHpG?=
 =?utf-8?B?dm52eXZIMTVaS0F0b3BmeW1IeHljcGNyYzJwZExOM3dtSEx0bXA0dXdsNk5J?=
 =?utf-8?B?YWFQZ3lvVWJEU0VXM3laTmhkS0F2SGZRaER3V2c5aFVvdlUxZU00VEM4YjVi?=
 =?utf-8?B?NEJjOU9CU0NpamhCWjIyd3J3UVMydlFVQk9NMHcrUHZwNnZNT0FKUXNhYmtG?=
 =?utf-8?B?TWQ4d2VONVJVMlNXeFRhaWFTbGt6b1p5c3lNcTM0eERFNGRSVWl3VTk0ZEpW?=
 =?utf-8?B?YVpNc3d1d3h4OEo4RTVxdUlJY3A0TUdVWDMxdTBDMHpvY016dlJKVlQvM0lO?=
 =?utf-8?B?dFpMakM0RkhXNmprU3dRdCtLc2d6eHc0dEl3QlNhbWpQcEJESUhwaCsxZkds?=
 =?utf-8?B?UStwam9welhQOXBJcUJRYVR3TmlaZmUyNndRaU5DT3MzVXJIUXFiVVVKYUR0?=
 =?utf-8?B?V3JiWXVrakZYQzUwVUwyOXFQQ1JINEVwb3BsN0hDZTA1VjNzZVFjNTBVaTNF?=
 =?utf-8?B?UjJ6N2Q3WFFTUnNHcEdZa001Y281bWppVXpBTzNPaHQ5SWZJeFV1K3Y0cVFP?=
 =?utf-8?B?dVFGVTVxUjVwZGVNYTdFQWlYRzR0aUljSzM5YytCL00rdFZwalVaUnRTNWFy?=
 =?utf-8?B?cTVNdjdvSy8xbEwvNGI3ZmlURkhHVDRKczExdVpzbEZVSCtMNUJMKzI3eTh1?=
 =?utf-8?B?cGV0bjJzKzdHd3JzWHV3NWRGNGl0alg4SmRJNFlHbDhwZXNBTlFuVWpJQTVR?=
 =?utf-8?B?MmFxYzlpcmg0cHBKZjQray94bmR5R3FhYmNuVWVxYk5mQkhVQlduQjNjTHRX?=
 =?utf-8?B?RzlrSG1mWlVyR3hPb1NWS2hwWWVqa1pxRUZYQ2hRMWg4dzQrdVV0S0srVnN2?=
 =?utf-8?B?Sm1BeDdtQ0k2Z1dSR0duVjhGRkNBZ1FiUmgvUENnai8wbjBsM2pBRUI4MFpz?=
 =?utf-8?B?cENwZTNCdFhrZ2RyNDZ0Mk5rSy9CcWxDMFA0VVB5bnlVaG5KVFVwY3EzK0VL?=
 =?utf-8?B?REJmRzJLNFJaQ09kaXVLZTNkT1U3ZFBkd2E3eEpxOHVWd3kvYUpJaUVqT0k1?=
 =?utf-8?B?NnVDcTQrd2tZd0xhTEIrTWdmYlF6RUFjeTN3YXA3c3M4MktmSlpId0Y5VmJK?=
 =?utf-8?B?bHlNWWYwZFpIMUtMS1lOTDE5T0dDNkJBTFpTVS9tV0VHMUFuaWJGL3VJdHNu?=
 =?utf-8?B?aVh4RUhLdWdyd0hhblpQVUMrOC9tQlBsazJ3RXpYQmdFVUVGTW80dGllYW9y?=
 =?utf-8?B?dGRwU1Q1dWZNd20vck1CendMZDZMeW9aL2JTSWNOTjcwQU14K01QUEhMMk1P?=
 =?utf-8?B?UEp2TG9XQmx1L09ZemFCZWQxYmJ3V2phMVorblEzNmdFajBxZ1FFYlZHbG15?=
 =?utf-8?B?NUxsMDNKMURxMk9CK2MvMFpHS2xjM0o3YUFYd2hlRGRVZndwTmVhWjJCbTJx?=
 =?utf-8?B?R3pjMzdYTjI1WVZUUWVPbG40RlZGS0JjdmdDc3psRnQwZkV2eHBmeC91amF5?=
 =?utf-8?B?R3lBRkNwUWhZK0MvellhSEVTNUJmaUZUTHdYK1F6ck1lOTZaQkJuUGtsQVdP?=
 =?utf-8?B?Z2JadEswNW9Nb1V3SWIyTFdGZGFCSi9nYnZkVi9SZHptMmVZMEZKdldSN1Nk?=
 =?utf-8?B?S1JTbTFVckJzVXhpbjB4ZzByck9LQXRheXRsU2Z1SXVtcjQxUGVmaWZka0dp?=
 =?utf-8?B?OXFmL3dTSkk3ZjBEYStTZkxsM2VHS25rOWl3enNJZ0puN3dxaWZPTCtJejIz?=
 =?utf-8?B?eEpKOUFrWnE2eCs3YzRQeVFYWk1yNXUwTUZoVDJJcThmRDRrTXE4UHZualc2?=
 =?utf-8?B?NnRGYjdLTG9aeTVrR1V1b3ZZUExiNG9tQmxmSzI5WlBXalh6elE3TTNFYUxB?=
 =?utf-8?B?cWozdDNCSW91aDdodXlPWDJlZEJ1QmE5T3dXUmZ0NTY4NmFLSHIwenduNStr?=
 =?utf-8?B?OHRrSEcrOVZYOEdZUmJuSnA2dlZQdExqQ29IOWIyclBhb1F1aTY2M2p0dC9R?=
 =?utf-8?Q?5DBfz88to7sJEC8Ht/hMPudrz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e1e9f52-d48a-4b41-0af8-08db9eecc126
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 06:39:49.6129
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0azSLOW3nsCs1KXEXFmepTfBaL8HsUT+GIw9cVm2TLWxx0yso8Nqamgx1ajhtShH6+ActB6P5bhB8G0iy4/Jxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8795

On 16.08.2023 18:57, Julien Grall wrote:
> On 16/08/2023 10:51, Jan Beulich wrote:
>> Old gcc won't cope with initializers involving unnamed struct/union
> 
> Can you specify the newest version of GCC that breaks? This would help 
> to reproduce your problem in case someone complain about this change.

I can't, without actually putting in effort to find out. I'm observing
these problems with 4.3.x iirc. And of course this isn't the first such
change, and I don't think we ever bothered writing down precise version
boundaries in any of the commits.

Sorry, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 06:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 06:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585149.916169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWlD-0006XF-Oh; Thu, 17 Aug 2023 06:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585149.916169; Thu, 17 Aug 2023 06:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWlD-0006X8-MA; Thu, 17 Aug 2023 06:45:35 +0000
Received: by outflank-mailman (input) for mailman id 585149;
 Thu, 17 Aug 2023 06:45: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 1qWWlD-0006Wy-BX; Thu, 17 Aug 2023 06:45: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 1qWWlD-0003VG-6B; Thu, 17 Aug 2023 06:45: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 1qWWlC-0006XM-Ln; Thu, 17 Aug 2023 06:45:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWWlC-0007X8-LJ; Thu, 17 Aug 2023 06:45: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=+vRUL9EffDRp5kcIyPshJbPChnXpJEjRAI7OmLeDR/k=; b=OOtZdITI6HTlSWsEFILhh7K66T
	wk5RHmZTt9SW4eAWWVszuYsW8baWRubANOl/o34PI3ZTI4kYnNnOk6DiaJ2vrwEE5cOZw9wsFhXhj
	aFLwKTFx5tl91JyBlWCYckWvqIZIdOynrqB8luXZuSzlCQsXpiz+pNDVrVYcMbDvHCCo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182363-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182363: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    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-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2: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-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c
X-Osstest-Versions-That:
    linux=4b4223f7d26d90087de52c8649e42ad8fff2e90a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 17 Aug 2023 06:45:34 +0000

flight 182363 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182363/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 182335

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182335
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182335
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182335
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182335
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 182335
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182335
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182335
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182335
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182335
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182335
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182335
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182335
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182335
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c
baseline version:
 linux                4b4223f7d26d90087de52c8649e42ad8fff2e90a

Last test of basis   182335  2023-08-14 23:13:39 Z    2 days
Testing same since   182363  2023-08-16 16:45:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alexandra Diupina <adiupina@astralinux.ru>
  Andrew Kanner <andrew.kanner@gmail.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Arnd Bergmann <arnd@arndb.de>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Carlos Llamas <cmllamas@google.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Daniel Jurgens <danielj@nvidia.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Sterba <dsterba@suse.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Douglas Miller <doug.miller@cornelisnetworks.com>
  Elson Roy Serrao <quic_eserrao@quicinc.com>
  Eric Dumazet <edumazet@google.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Felix Fietkau <nbd@nbd.name>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Johannes Berg <johannes.berg@intel.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josef Bacik <josef@toxicpanda.com>
  Karol Herbst <kherbst@redhat.com>
  Keith Busch <kbusch@kernel.org>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Leon Romanovsky <leon@kernel.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Maciej Å»enczykowski <maze@google.com>
  Mark Brown <broonie@kernel.org>
  Martin K Petersen <martin.petersen@oracle.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Michael Kelley <mikelley@microsoft.com>
  Ming Lei <ming.lei@redhat.com>
  Narsimhulu Musini <nmusini@cisco.com>
  Nathan Chancellor <nathan@kernel.org>
  Nick Child <nnac123@linux.ibm.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Prashanth K <quic_prashk@quicinc.com>
  Qi Zheng <zhengqi.arch@bytedance.com>
  Richard Tresidder <rtresidd@electromag.com.au>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sergei Antonov <saproj@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thierry Reding <treding@nvidia.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Battersby <tonyb@cybernetics.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Telezhnikov <vtelezhnikov@astralinux.ru>
  Yi Zhang <yi.zhang@redhat.com>
  Yiyuan Guo <yguoaz@gmail.com>
  Zhu Wang <wangzhu9@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  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-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   4b4223f7d26d..fd2a1d1f32ea  fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 06:56:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 06:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585157.916179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWvv-000881-PN; Thu, 17 Aug 2023 06:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585157.916179; Thu, 17 Aug 2023 06:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWWvv-00087u-Ly; Thu, 17 Aug 2023 06:56:39 +0000
Received: by outflank-mailman (input) for mailman id 585157;
 Thu, 17 Aug 2023 06:56:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWWvt-00087o-Mj
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 06:56:37 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34514e87-3ccb-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 08:56:35 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 98E414EE0737;
 Thu, 17 Aug 2023 08:56:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34514e87-3ccb-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 17 Aug 2023 08:56:34 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
 <michal.orzel@amd.com>, xenia.ragiadakou@amd.com, Ayan Kumar Halder
 <ayankuma@amd.com>, consulting@bugseng.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, roger.pau@citrix.com, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: Placing of the documentation for MISRA C:2012 Directive 4.1
In-Reply-To: <alpine.DEB.2.22.394.2308161232300.6458@ubuntu-linux-20-04-desktop>
References: <95a86d69e97eb127a26f65cceb87e3bf@bugseng.com>
 <alpine.DEB.2.22.394.2308161232300.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <6b10919e702eb0a6b63b831e16e31127@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 16/08/2023 21:41, Stefano Stabellini wrote:
> On Wed, 16 Aug 2023, Nicola Vetrini wrote:
>> Hi,
>> 
>> it has been agreed during past MISRA meetings that Directive 4.1
>> ("Run-time failures shall be minimized") shall be dealt with by 
>> documenting
>> how in Xen such runtime failures are prevented, so by preparing a 
>> document
>> analogous to
>> docs/misra/C-language-toolchain.rst.
>> 
>> A common way to deal with this in ECLAIR is to create an header file
>> and include it in at least one file that is part of the analyzed 
>> build, so
>> that the
>> checker can see it.
> 
> I am not following: why does ECLAIR need to see the documentation of 
> how
> we minimize runtimes failures in Xen?
> 

This is needed so that it can check that the document(s) supplied has 
the expected format.
For instance, the default configuration will check headings such as the 
ones in the document
linked in my original message:
"Documentation for MISRA C:2012 Dir 4.1: overflow"

and e.g. complain if an expected heading is not present (which one are 
expected and
their format is of course configurable).

> 
>> One obvious candidate for this is having a .h file inside docs/misra 
>> that is
>> included
>> either by a dummy .c file inside the same directory (and then build 
>> the docs
>> in the analyzed
>> configuration) or somewhere else (I came up with no
>> good places where to include it).
>> It could also be a standalone .c file somewhere else, but I don't 
>> think this
>> would be the preferred way.
> 
> ECLAIR aside, I think the primary use of this document is to be read by
> people: community members and assessors. So I think it would be best to
> write it in a human-readable format and convert it to a .h file if 
> that's
> required for ECLAIR.
> 
> For instance, we could write it as RST file under docs/misra (RST is 
> our
> preferred file format for documents as it can be easily converted to
> HTML and PDF), and then convert it into a .h file as part of the Xen
> build system ("make xen" takes the RST file, adds #ifndef and #endif
> arounds it, and creates a .h header out of it.)
> 
> If it is too difficult to convert RST to .h, then also a very basic 
> text
> document would suffice.

That's a good suggestion. The RST source can be put inside a comment, so 
there's
almost no restriction on what it contains.

> 
> 
>> You can see a possible draft of the structure of this file here [1], 
>> but
>> providing the content
>> here would require a substantial amount of collaboration with people 
>> having a
>> broader
>> knowledge about Xen and its practices to prevent the runtime errors 
>> delineated
>> here, so
>> a possibility is making an RFC patch to gather some inputs to fill the
>> sections appropriately.
> 
> That makes sense
> 
> 
>> As a side note, the directive should be added to docs/misra/rules.rst. 
>> It can
>> be part of
>> the patch addressing the violations, tough.
>> 
>> [1] 
>> https://github.com/BUGSENG/eclair_demo/blob/main/ECLAIR/MISRA_C_2012_doc.h

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:06:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585164.916188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWX4t-0001Gf-Iq; Thu, 17 Aug 2023 07:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585164.916188; Thu, 17 Aug 2023 07:05:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWX4t-0001GY-GF; Thu, 17 Aug 2023 07:05:55 +0000
Received: by outflank-mailman (input) for mailman id 585164;
 Thu, 17 Aug 2023 07:05:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWX4s-0001GS-BI
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:05:54 +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 81174374-3ccc-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 09:05:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7998.eurprd04.prod.outlook.com (2603:10a6:102:c5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 07:05:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 07:05:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81174374-3ccc-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YUCXKIvjpYHWUXKmYJkaNSS0KbgeCAifWYXXTmYvEjxBMokSwl7/4EaG2SAvFlvdsG9b2NIuV959m2aEDxc0yKFNv0af7bFMTasPu6GKNyWRC6qNlKU7RxXdl2hX6jTcLBMfWcr9Xe8KDF+6vnGwE4NRbjWAtAU0JNKkY9Yw8kLxraVdYQqDpVrRQr69iFObLCOoIszq0EgZs+8zz5BM52xGhhEzm+uVqlfFWYGBHyXEhGe7PtiC2gB1MxlAIRKj+EwoP/msMq9dOUvt7IPADcZj4AuCS26Hn6nNrSfWs05badINP2zSuQhaMxSrdpLuISy3l+tGyqCaE1ZTT9A/cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3WfiQYImFNfSKDrs+lhuOJEys1uZeZoq6HHzhik/G+4=;
 b=BtEy4R3k4zRUhU7RpMZHUOUmJA5dV1KIFy/dXRE1WVePU8Cxl7tzg6nCsv795yvSBjZhVVPyfqke/Apec5lVnNRHeCdnuCqzBTllb+5icQ2OdaJnGUbjZIDUCnkKRDSHFT7om4uKwOs65iwgI9l5xSMO3mHy4FNtDUpOqUOWI1QU5ADgY7Kz8el96EWZgaqQTwMnC5gaB+3Nz//GD/U+PVEEQtCEsryDm8tpAad9gosDpJ58o2JSHMd9Hs4szo8pQhiHib/WoE1Aygv1LUemjvtIBfy06SGlf+RsjdtHnpilvVy8sKS1Nuz5StNiC48tyP6LRlt80ZbC/Witi7l8Jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3WfiQYImFNfSKDrs+lhuOJEys1uZeZoq6HHzhik/G+4=;
 b=k2S4YYJwWP4TJP2xCpfYk4eXryp+3/pgKLqnm+7DDkyUbo4D5xTBYvkAILOm6tV7ZJ2bA8vpKEOuov5EXcpZkyam3RvBasnfb4idrLCDne+Vsm+x0EV8RIMdu2Px3yq+/nLdYtA7AEoECzbadW99hJXUlyp5MXIBdUb1TTY/2LfkKxXIWRReIIyo2vekjQlN+CiFKw1TfW3PaqAbTms0IZeqBGAk4XKHXSsGR3PYRO7qW1ctYi5Ndwf8sxdFs/Tm+NSy4c8HSw5YBKEn8EyE+T+w1o1x2iQMPn+YVhPGl8gSrrgdaMAe+GWxC+wm67H6fyCLNxYkAmBOD23plJH0dQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com>
Date: Thu, 17 Aug 2023 09:05:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230817003947.3849-10-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0171.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7998:EE_
X-MS-Office365-Filtering-Correlation-Id: 6557d95e-31df-4914-cdee-08db9ef0610f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qjqmfc7aomsD57c7vrt1wwxK/CemCus8BT0tmWJeu7aJ++nxF/LkQtWMlcIcSkHy8KZxKOzQ+zASO9lEZKu3ysQQsQiRidTo3TP6cJjC8WAhxCg5w07QELnCwpy8j011wJX8K9ULbvovK7RTQPSSq3UQG+6mBhRtAG8A92oKDBUmfNoczXVybD4gxWhfnyMbakpWXS9RWdNTW2sS4j1rQo5t0CESaTE2ZX05oufGmQsv842MfXSH7l2xrp1eWtHjFYon85Yc0rnuAQDTkdymKAFIGnI5nl81BTz9JnOya6x9o6bctBE/VKcsDbSnGIZ2gomQqwB1WOe3z0L9fOpDermrH1+5wWB2NKMbry8+k3s4Gr37jnqc3L24d+sIwiwSbAE9Zr/qQob3wEtgkrPZd+fLUaY94h74xNz1/YNuBBe9+zlC5fP5JQVptHEAHBUF5ppL5721xznFulM1Dy/futLwz+iWVoPXMjeBvuCzAkkF78HixgXpUD8ecaTem3IvKagfE/1t0zyIKNlkr2RRau8zPXQzNUqNKlhPyCxDoUcd2ADDb54vKOlSffTJwqo5hUpK3vi/BZX1rCyDLrNkCzNwa0JiDSeI4YU0eMhcYrDYmqFKNiygprF23gfHVl2Kx6IAwWmnWha1qSLa7l7fAQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(366004)(376002)(1800799009)(451199024)(186009)(6512007)(53546011)(6506007)(6486002)(83380400001)(26005)(86362001)(38100700002)(36756003)(31696002)(2616005)(316002)(6916009)(2906002)(41300700001)(478600001)(66556008)(66946007)(54906003)(66476007)(5660300002)(8936002)(8676002)(31686004)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0VJSFVBVWVRa09KSkRlQm1PRURRTm1EcTZJSVFhamFrRHlHMVNNN2o2Sk02?=
 =?utf-8?B?K2ZqMm5qZWI3K2I0bW9nN3NTemI1dC8wbVlwM05KendPdi8zSmNTL2E5SmtG?=
 =?utf-8?B?ZHJoM2lEMTM5VkE3SW05dzk4WkY4SERwN0dEQlNsZUwvWDNxRk0xc3dtTE1a?=
 =?utf-8?B?N2NYZXREWlBMS0swRjJEelllSlZud01zcTVqNlZFYWt0WXZvN2JmZEY1MWVa?=
 =?utf-8?B?c3Z6TDhYY0FhUTBSWVhGckk1Qm9LeGpYUDNkZXlIRXJwQVBUeGRaaHJsY0lV?=
 =?utf-8?B?RWE3ZC9kMEc2dFhQdFhVWHVYZzFRbkI4QXZwK3VzUjBXWjRObGFPNGNRMjFu?=
 =?utf-8?B?aVBtOXl1dXoyODh0dFQ5U2pUMTN5d3BMVUNvNVp6d0xXeldDd1h4N0lyZmlH?=
 =?utf-8?B?by9JcWhDSEpqUnNlTUpYWHh5V0FZUkFNNW92aGJLV2FaTnRoQUF0czk0Uzlk?=
 =?utf-8?B?YVM3ZnNtTFdhWm0zZXVaVGYzd1BkaXhrRWhrd0ZZM3lLZ3dHeWJJME1mczZR?=
 =?utf-8?B?cTRlaGVYTENTdmxZSWlHelBMeVYyRjRuUTYrMXFSNkFyem5TZnFxdlpvRm50?=
 =?utf-8?B?clFndW1kUTFvRG5PVHlnNm9tazhLaE1tM0ZMeGVXQkVUWTVEQWMxMmtKOXQ5?=
 =?utf-8?B?cUE3Qk5raGtDd0FENnpIeGJGSyt6MFd6SHFQY29Jbk5BMmp0bThBUlRLY3NP?=
 =?utf-8?B?eUliUlk2dkJEOEVXcjIwdUVLL1dJQi9RQmVUUW1qTENXREVBTUlsWCtncmxR?=
 =?utf-8?B?UFJpb1VPVFdMQkJjZ05iTHY1K3lXbDFmdmdJbzJFOFArK0xwdDF4MGpZaUhH?=
 =?utf-8?B?YzBsQjczN01Yakc3KzgvRjFTNUE1V1RBSWN5YVN0L1hZMUUyN0NxUldydm1L?=
 =?utf-8?B?MG1vOGNJTWNXVGZTYkJPTFp0WkpQeElmd1BwWUpwcy9oYUE0K2NJQzZZSk9K?=
 =?utf-8?B?bzRUOFpCZ2RFMngxblhnd1pLZHczVTZVazJCb3NlL1NXVTlKdDhwNG5COU1X?=
 =?utf-8?B?RFd2VDN2N0NaZjZzZlhkR1JLT1k3Rld5S2JxRnMvNWVvR2pUK1NTWUZYejNT?=
 =?utf-8?B?Y2E2OW1RaHdXYnZvY1B2M3NtVFVuaXZid2pVNHArV2ZFSVovTy85R1NjcFF3?=
 =?utf-8?B?ZmNmSXArb2tLZGovWXdvSnFKSTR4UEJCR1M5THNYZ3FYVUdqSnVrOEtGaWJ2?=
 =?utf-8?B?eXNYYm5zbzZ1bXU4bUh1MG5DaWhkQmVNcUdOWFpIZVVHSzE2cFA5SUlHamQ5?=
 =?utf-8?B?Nkt3NVVMWG10eTA5V21JNVZ3Q2ZMbk1JclR2a2xPN1hjUDRLenU1b29Idm9o?=
 =?utf-8?B?Nmd1ZmdYK2VneGtJLzdKdFRWSzRlMGZHeGZybTBMc00rY1FIcXVKWDd5YTVj?=
 =?utf-8?B?VkM5Tm0wclZBalBxYjhMTWpSeGxQVk9RT21EZWprbXVrQnRmZHd5UEpVR0ph?=
 =?utf-8?B?Q2s2Wm5hWFVrWkkzUkwxWXh4bWgwN3RDVWsxc0dtY09Db1NiMWFsakNTeVVj?=
 =?utf-8?B?R0RNYmlzR1VBblFrdHpLWDNlSnhESDdVME52RFNOYTIrVi95ZDJiRG1GWW11?=
 =?utf-8?B?MFhZWno3WTVmUmhlSUFBVXdIdGxwYTBPeDJOMjZMbEpxVk9mbkpEL0hCeGF3?=
 =?utf-8?B?dVdRWHkvUHRJL2ZlSm5ac3k5dGVZdFRTNWRjNi92N05kVWR0ZHJWSWNwRVJI?=
 =?utf-8?B?ZldlRTZiUnVaMkh0U1VDNGdJZmdMbmJsL3JXNENVR1d5RkorSWFvUm94Q0M1?=
 =?utf-8?B?LzRXNUZ2OTBHNzN4QWtLazZ5bWRGekpieWpGWFhoWmZOVFFuK2R2bG1GbkVR?=
 =?utf-8?B?KytCUXMyOXlYbDM0MklGV2h6WFNPQ3d4dTBuY1Y2QnhENDQzWGVtTmdyYkNS?=
 =?utf-8?B?SzB4N2h4Y3R6QkhCL3AvOFBDNFliZ2Fud0djOVp3bUtGWmVMbUpjUHd4Z1oz?=
 =?utf-8?B?Nmkrd3d3MWdTTEVBN28yZWxoYkN1UitxMmkvV3h3Z2lQZ2w0MHE0NW9Cb0la?=
 =?utf-8?B?SDk2Y003VXVCMmlEUmRyS1VVVkN0cER2K2ZCVlIvdGhjMlpDczJjRGdJcU9o?=
 =?utf-8?B?TlUvNk8wOVpjTVpzQTZJQ2VjOWRnQ1RWWFRMZ3RjVWMzSXRidUo3RFdDcWlK?=
 =?utf-8?Q?qFPHweAEDjwN88XkkHrmJkiWN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6557d95e-31df-4914-cdee-08db9ef0610f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 07:05:46.2165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Dx84a0wcipAi6KxgLhLZfvxq545iz/qzisY4x4OeMWvIYgsf5R4cPbrwnF0g04cFszGo3y0mY0HGsQVrVZxvBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7998

On 17.08.2023 02:39, Vikram Garhwal wrote:
> --- /dev/null
> +++ b/xen/include/xen/iommu-private.h

I don't think private headers should live in include/xen/. Judging from only
the patches I was Cc-ed on, ...

> @@ -0,0 +1,28 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/iommu-private.h
> + */
> +#ifndef __XEN_IOMMU_PRIVATE_H__
> +#define __XEN_IOMMU_PRIVATE_H__
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#include <xen/device_tree.h>
> +
> +/*
> + * Checks if dt_device_node is assigned to a domain or not. This function
> + * expects to be called with dtdevs_lock acquired by caller.
> + */
> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> +#endif

... I don't even see the need for the declaration, as the function is used
only from the file also defining it. But of course if there is a use
elsewhere (in Arm-only code, as is suggested by the description here), then
the header (under a suitable name) wants to live under drivers/passthrough/
(and of course be included only from anywhere in that sub-tree).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:06:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585165.916198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWX5C-0001cL-TY; Thu, 17 Aug 2023 07:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585165.916198; Thu, 17 Aug 2023 07: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 1qWX5C-0001cE-Qs; Thu, 17 Aug 2023 07:06:14 +0000
Received: by outflank-mailman (input) for mailman id 585165;
 Thu, 17 Aug 2023 07:06:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWX5B-0001bu-Gv
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:06:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWX58-0003rK-Bc; Thu, 17 Aug 2023 07:06:10 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWX58-00088h-5j; Thu, 17 Aug 2023 07:06:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=vFlTq0qAP9sK/h17Q0OwLZSijlYFsYkoXXuBC6thpY0=; b=ht/v86tupgQZA0DjWPvyTmelb1
	FSJjIp8DgiqD+j9ZXb5Mbb1p9zO3cie5cSkBiSa9Ux/r0rUl3adnh4z2VBh3vba7DuvLm6+hBSPqG
	u5k4oAMECyR8KG8XalyG3HjbXnrV1xmkMRrbwboa3WaVzeqn6D23p/Wr7tEKKI+5pXzM=;
Message-ID: <3b15eb0c-eada-4729-aff6-e1daf67fc6ba@xen.org>
Date: Thu, 17 Aug 2023 08:06:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
 <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
 <3ad06a1c-2337-fd66-cf2f-9151544dc8db@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3ad06a1c-2337-fd66-cf2f-9151544dc8db@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 17/08/2023 07:39, Jan Beulich wrote:
> On 16.08.2023 18:57, Julien Grall wrote:
>> On 16/08/2023 10:51, Jan Beulich wrote:
>>> Old gcc won't cope with initializers involving unnamed struct/union
>>
>> Can you specify the newest version of GCC that breaks? This would help
>> to reproduce your problem in case someone complain about this change.
> 
> I can't, without actually putting in effort to find out. I'm observing
> these problems with 4.3.x iirc.

You are proving my point. :) If you can't already remember which version 
of GCC was breaking. How can you expect someone in a few months time to 
figure out why this was added and whether and it can reworked differently?

>  And of course this isn't the first such
> change, and I don't think we ever bothered writing down precise version
> boundaries in any of the commits.

I am not looking at a precise boundary. What I meant by the 'newest' is 
the newest one you try.

With 'old', it is not clear what this really mean. For instance, 
technically the previous GCC version is already old. So a bit more 
information about the GCC version you tried on would be useful.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:06:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585172.916209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWX5e-0002DA-5W; Thu, 17 Aug 2023 07:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585172.916209; Thu, 17 Aug 2023 07: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 1qWX5e-0002D3-2o; Thu, 17 Aug 2023 07:06:42 +0000
Received: by outflank-mailman (input) for mailman id 585172;
 Thu, 17 Aug 2023 07: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWX5d-0001GS-5i
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:06:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d159a22-3ccc-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 09:06:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6980.eurprd04.prod.outlook.com (2603:10a6:208:17e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 07:06:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 07:06:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d159a22-3ccc-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JrVyS7wvDcS3XlctSe2E9BJN6+/xhsKW+LLgla4r/9ojKmaRL700qztqWyOJ95NcQ1vbT/FHRfF3ZUMn+vA3XNpeq43Ykl/z+EF59a3f/575uP/srsWRi79U4kbLARDhcVsB3GUu1yTUzXNuoJHOxzoRX8KKvPJunGDx2xnjzzwAxV1bcIbfeflApHq95kdCb7nS7JRz4D2DKScs1Yg/A/mhwfowKfXj9RUhHvzErSoZAVFR261GYcNdkAsfwVYqP5Znsxl8innphU1UXcKxT7rnb1nd2UI25jYJbw5pgqEfJmKOLNTBcatXiTIAzanpB+E70LLgfPvEgbDBeM9DPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gDcmFwDZoriHIs0w8FQwS96ienJJldTzepe7VXCVWvk=;
 b=Qoi/H4glWddMJj74B359ptngqwPj5GYdt5sl95kM/Bi6xdLGNIyIjKOS2EeHjWEi7pgpFWyJfbS95MgsrPd571ReEWDGx2ZKrd8h5RHs6LYUAIQckPfURtbSZ9X4l2AjdsVeiX1ki4VyUVDl7YZewY/BbYH8Ff32bc20cBk4ZeqbV4ZaqUo7prQb0k2TUr6WH/vZG7QSMnEk2Oqv10S4No9Qwv4ovIPUw/X+tI9R9Fb2WQuAIyhRtXkcSVvN5lJMNXStjcSRqfD5d/U7FaZGbTfrl5uUA82fhmO3Nuoz+RYNxkFK+Yf86RtAwrLollcovpZJPtNoJ3WOvwFAJ6Szlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gDcmFwDZoriHIs0w8FQwS96ienJJldTzepe7VXCVWvk=;
 b=Du4aBe9y3Wqum40agUwqDrNvrtfSFxs/b8ISIvnluozmLnf5BCopLwdkSBgyYSPLFRk8Io59vY/Rb10vE0JRIskgFGt2iQw02Yi5JllErqNuGxIIHRdRSSebU387kUk+PCnLJwZwDHswpcWzFwXJhLn9LJGeP08bcLg4+o+oy4kXmBVhCdycoV5VZr6IVm1/YaYqLfHLb1uAjTw2xSMMcw16qEQh1CN4jwRdalnM3a1VKtVkMHF2gNX+TyWfW8K0HmP6Uy1eDbYDmQ4xkI2XLMwkaJxlGhRbrkIujWBQrXhawXQeVaGaO2GMOUYLtZVMPH+YLPTrNU6wIunbcmxBBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1a9009e4-91f6-40e9-8928-7e1c32c9c7d9@suse.com>
Date: Thu, 17 Aug 2023 09:06:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v8 11/19] xen/iommu: Introduce
 iommu_remove_dt_device()
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
 Julien Grall <julien@xen.org>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-12-vikram.garhwal@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230817003947.3849-12-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6980:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a6d392d-8502-42d7-bd59-08db9ef08081
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jlgraQrV8UpwgbxjHu2z0Yxe8AowEjARnveIDbYkGBsYSReYDWxrNnrAgg1ZWYEV5maNiD9LfcJyDkiJn02b3HLY7FplIF9gOF4aWJCkAlaJYjvskvUq6ZVvPEnNGT1OLQjKVYrUPqmCN5Ny1BUWH/LW1Xdn5uXufSZqyShLZJlA79hEk9tUgYVDVp06MRpKeMeLXTLAo+9I0ERCvRqeSYAqBVIhUZCzutX2N7BoV7nfezy+Z/HvWPrGAZnXLnekHNjo0qJBVagz9qb0tF9nM3pMmK5M//vp7m94WlbImeBcPb0/nSAbgRwhBurE3xC+7ujMDXCRd6xPPDmau/Rwye8Klg4f/Q1MQF9ZDgbNpcw80I/TrNSvycAL3KEhXJW3n/eKJPZ8I239nNPvJvUlI8clW7DPEL37HPMS+3OOXJPRVXRHPX9uWuvO5p+X1w8jaNsU+YvBGySk6ljKO+wMB41QGV3l5HiuXJjkjYkaAssRtZGGjAV0RlPGK4S7bzz4LB7YOA+RuE3VEF7zdK/Soa7Q1sN/TDjtr1f/zK8HTaPBDul97BMPbE/FHc1ec+URw9t3SlR3kuH3YEUzi2i6P1c+M1/JAe8Xl5e/7HUHNBhVFvgq1NqRssqhXB5dJZnZDgeCwTBgmUiAKon5jGJhxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(346002)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(4744005)(26005)(86362001)(478600001)(36756003)(6506007)(2616005)(6666004)(6486002)(6512007)(53546011)(31696002)(5660300002)(41300700001)(54906003)(316002)(66476007)(66556008)(66946007)(6916009)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mm5ESkRNdXBtYXAzbTA2ZDNCb1lLcFU1NmdCV3Z6TmQyRWRMQmJKdDA0OUlE?=
 =?utf-8?B?M0ZHdUVieHhUeFQrZzBkT2pNT1lHZVpicDBFZkczakN6V0JYUUg4VnJtNEpN?=
 =?utf-8?B?VGtCYXk4U2twQkRuRGRNaEpFNlRnbFFvc25wdFFod0kxaHJMVm5EZXdWa05D?=
 =?utf-8?B?dUVocDZxaURURkZZSlFhQkF2bm13bnk5UU8wbk1UNi9BYlVWUzU1dDlPcWRn?=
 =?utf-8?B?SFdISW53eWUxY3B0bW5HN1pmZ1djMlNCWWZDaFFRUkUzL1BpaXpITTRIdCtL?=
 =?utf-8?B?ZzE2c3VlbUdzbWc2LzZnZmtST2w4eU9GNUtvalhjTEFoY3RKMk5QZVVyQ3pt?=
 =?utf-8?B?eG1lL1JDNDEvUVVlQS9odFFFMlNxOUdZY2dXak5WajBqTkIrQm9oaVFpRFVr?=
 =?utf-8?B?T2NoemJTQnVONDRuY0pGdlFFcTlLdUhBK2NVUU91c0pzL1NlT2tQYU8rY3Ev?=
 =?utf-8?B?TVRpa3dvOFVqcklVNmRESitVNmxhNGtpWHR2QUV0Q0Yzb0gySGR3aCt0V3Rq?=
 =?utf-8?B?cmNwZndYNmFwVm8wUjB0ZXlQeE56L1M5OHBEZmU2b2VXWUxLZjBGSHZoZ2VO?=
 =?utf-8?B?cndpbmlpdDJHTG9RNWI4ODVaVVZNdmtIYnlBODhPZm5oeUd4QVJaVVFGSjcy?=
 =?utf-8?B?UmFnTzloSXhIaENMekk5NGlNYlc4aUlRYlp3dS80MU5md1UyN2ovU2hnOERV?=
 =?utf-8?B?dFR4SHJLTkhLc1hBUzZVOEsyMHJ3WUFlWEUrTWdobEYya1VhQ3NyU2d6QnhF?=
 =?utf-8?B?K0I4anlnQmFKeTJwc2kwY0xtMkEzQ25KWXZPK2RmUWRFNnlQaEJPUnNoRXBv?=
 =?utf-8?B?azhCbGNWV1pqVzdiMlJQZFFYR016dThnS1Vpd1NINzFoa0RKTFpFVDhRWlR1?=
 =?utf-8?B?U3RjQzE3eURmSThFT04yTWhiZFNiaHdrK1FibzN2bVlNSFhVYkxFRHBRMVJX?=
 =?utf-8?B?NHcyUmlNRjVKdHVueVA1dWZnSmdaR3lxNndrVFhWeDU4UDZQOG04dnF5djFX?=
 =?utf-8?B?WksxTUVscnBLcWtZSHUvNXdwL1dKYVJERG5HMm04ajA5MmxuMnZ6SkhQY2hk?=
 =?utf-8?B?MWtsNEp6Ui9UOU9qelRzcEhIdHJZTFRYWDk3ajZUVElUajFOMFdRblI4WHJl?=
 =?utf-8?B?SjVJRitHNkYrZFkxbTA3aVRmMmFJNEtsdEIxYzBlaWRkd0pTRHVhdFJFdmdy?=
 =?utf-8?B?dkVQNllCRklJQlRvWlpPZ0M2R3l2cGRpVGdtOTBqenJtSDg4TjlPbmRvNmpW?=
 =?utf-8?B?RGdzaW9WZDdYc01ncDVnZDRSL1B5VUtJZjhGYkJBMldENmxwTGcxVGdRTHEv?=
 =?utf-8?B?Y28xd2JVaXh4blhhenA2Mk5zYjduZEE2MnRVRndsK1hpTW5nR203VG80TVo4?=
 =?utf-8?B?N1NGOVhReHhGVXRDTVBsTVdQUm1UNkVxbUtUc1hlZklIeGdOZ0RSUU4rR2ZP?=
 =?utf-8?B?bmVCMFIvVDN4bE9lZWE2RFlRNVdIWkF4SHNaTVJJbG9DY1ArMElDSCtCVURY?=
 =?utf-8?B?OFFmMmV2dFJGcXF1M2l6NEZHVTh0dzV2SUlTdmVqYVNNRGR3c1Q5Tjc3SUY4?=
 =?utf-8?B?RWY5Smg0VjI5SHJhUGdSckV4Tk4xcjdhcEhiMkNTdTdwMjVmU0JxbGNKQTZa?=
 =?utf-8?B?c0dyNzhYNlRNSWJ1aU1EeFNlQ1JUeXd0S2hZQTFJWnBzTGFwSUx4U2RYd3A3?=
 =?utf-8?B?a3pPZ1JJVXk1OVhLWnNjVEVzVmR3TDIzZzByMUFDVkhrdkhiTlE0M00wOVJs?=
 =?utf-8?B?aHYrbE9iRWcxWjFueVBQKy8vcU41aGVSelhtRXdQTnRvUHF4T3RndGV4eFB4?=
 =?utf-8?B?bVBSNTFzUDBNY2FQVzRQVjZGL1A5aVhXRHBkeTVHMmdjNzdsbjFKdHIzRlk5?=
 =?utf-8?B?MnBRQmJ5Z3duTTk5SGh4VjVvUk85YVdMalJEWXp2aHN0OCtMSEFxd0tXdXpp?=
 =?utf-8?B?c2JhOGxEVXVzR2RXQkdMaW95ZDRJOFhXOE8rRy9NQkRKTENBY0h6Rkt0SlZh?=
 =?utf-8?B?dE1oamZ6UTB4M2ZPY1lIZS9rTWs3ajZOUklZNkU2NTVsdjcyS2VjcGVkUGpL?=
 =?utf-8?B?azZsTU8rYlBmYjVZUHVhemIrTTRxZDA5Tk9EeHFlTHVqTzQ5SjUxSWlISlVM?=
 =?utf-8?Q?RDnA8JZAfOvpmiejg5bDAY8OJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a6d392d-8502-42d7-bd59-08db9ef08081
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 07:06:38.9991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ls2UQECMwdUjmvigZyUmknokZEeyhP/A5uulsxZEs4yoxbvIf4tlNxYkCHY6H/fWMnM+0JuOcNAAuPU+s5czDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6980

On 17.08.2023 02:39, Vikram Garhwal wrote:
> Remove master device from the IOMMU. This will be helpful when removing the
> overlay nodes using dynamic programming during run time.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Since formally required:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:26:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585183.916219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWXOO-00057u-Od; Thu, 17 Aug 2023 07:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585183.916219; Thu, 17 Aug 2023 07:26:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWXOO-00057n-K5; Thu, 17 Aug 2023 07:26:04 +0000
Received: by outflank-mailman (input) for mailman id 585183;
 Thu, 17 Aug 2023 07:26: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWXOM-00057g-K9
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:26:02 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20624.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50b81998-3ccf-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 09:26:00 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9045.eurprd04.prod.outlook.com (2603:10a6:20b:440::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 07:25:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 07:25: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: 50b81998-3ccf-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Wa1UOBVLXNuu1lGYMZnBpSrgQJg9vb1nQGB44w7xyWTK5BHTJiaIy+xICwsJREzalDLfn0G3GnG5iY1jEBMe5fD3QPYta3BWmUNnGrsZwZCQQuYGSugPBSk2Y13lL9VNzEevFVXRAuynX86armZkGsnustMEO4KdMx2dvs+qvCYoVK+21UwOsDnc7SOek13RDxfDikhEQ+QKwaBJiRhYGVpNbHFYYd93OZsgcXXepst7+cVqslQTAUbq9gulHhQlMN4vqTNMneIL3njcQfYJunM64TyJJfHlUbfT/Qn/UoItHTwqqlStga4NIoNcNQ68wN8MTbahbGw+nbt3xJ5LDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CyDc78t3Wi3bKP0WICtCTdLDXetl0D57ArMRu7OsZew=;
 b=PfBsEhGHPBI7EQGAdmZeEqolkBXqk+xPC4PbtnGl+Nv9MBFCq7EQd4GQXSRQveM3KbC80zroZugU3RSS3qIQpKgUgX3EsPlMPSTmlmghdDA7pRrkuRxI9xacskEL91SVREUuQKScG9tOxiR7AZM3mGM5z5tEkoCUaY1d5c/7sByWS1KA6LSWF/rM2FRvrr+GJvkPdxy8rtnrjggJM83M4rXWTGfxxiG/Zzx2Y2afjNyQsHTO/sLh7YzFKuJA/+0c/q0za2uXNrXQD5eu4QPVIPZBwu3gzN2bJGY2rGjKSVGFow9gjg8xGPaYWTUYU9Ew44VnI+c5GkLYGNdoRY0C7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CyDc78t3Wi3bKP0WICtCTdLDXetl0D57ArMRu7OsZew=;
 b=Y8MJuJjllBIF5S6uckmoGaoJYtQD9vZGzKoWjHt7wQnTnvyIqo+rN4FBTAnwhZr4pqKWd79Bf6I0fZRHge9Fd/URvLfWSbu3K6UG5YeO/TxO00iicyS0dEl7pVNMsYWo12++gdHeUHuWYDmYtBO0ZGN6UaKG4oxrpbiUOFWMNeusZJHXzhhNMBJeuLYf113aWGqTrtUWlB2F+d1UBxMarVfXsb/sQKImdtJIdZbeGww/5ObafcCZdee+LKuwLO6bs4zqvuYLaSPL3nR4uUd1oL0B8wxOd3iomWnYvNOZKcdQWbjJKvL0EYdLb0ee9smHrAzW6uMuQrf9RqiSWppS0w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <adeccc9d-52e2-8c5f-30f6-5dfa67047740@suse.com>
Date: Thu, 17 Aug 2023 09:25:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
 <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
 <3ad06a1c-2337-fd66-cf2f-9151544dc8db@suse.com>
 <3b15eb0c-eada-4729-aff6-e1daf67fc6ba@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3b15eb0c-eada-4729-aff6-e1daf67fc6ba@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::21) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9045:EE_
X-MS-Office365-Filtering-Correlation-Id: 5892a117-6c24-4907-27d7-08db9ef33378
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/TWJsun7YTZtYxoVd7A1y4kScOkTOSJUkqjlud/gx9XJocSHNnyWl282IzjD8f8zO2XXskX6z6iWeZ4OT15b+OhTQVN325DT1KXDPHPTmuLvB9bfzF1cuhrfUeCTgwH3FRBmjLjiiEcutiairCv22o58cVz7NTfa7bdz/yqzo7tiiKK8/zUFLCE9I8mgFB/m+j8GrtQodaR/t5dxl9jBfGFxx4GKfwMG3mkdTQI3FkMK82T6WYRTElhQOyWHAfXvUWGK/RJO1R0jBVBUC53czCkO8bWstt3m22HzylTjIrmg0Yy6sU6EGErrX0Qmw7spq2LHXtYuSAY1bqGBnG3+lLyEATjljZLiG0mf7qL9cYspFTBFaaHRrlnnAt8xcKPBPLSPwMjPgOK91VPo9yY3fkzOLjuMX0tUQ6D46rFHARTIzU7+Zz+B7vMYP6LZZIm0z1PepXWBaPAupoWgSxOcM6oeSup3h+VuMPIDIzpaQL6MLxNIlkhEJw8T5v8W2yK4pE81M6cEH5gqM4RPhU+ZF3weIyqj5rz2Ud4EaqkrTsjEts8/gv1zo5x7F17GVO3/gzFgB6LYbp23IhrWRgvvFhhADyJ2b5jitIqCyWmrGAIhGCcK5gkmTEEOT5CE0p3oItaawTJBS4J8sr0VZFqMYQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(346002)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(26005)(86362001)(478600001)(36756003)(6506007)(2616005)(6486002)(6512007)(53546011)(31696002)(5660300002)(41300700001)(54906003)(316002)(66476007)(66556008)(66946007)(6916009)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SitlMGVsdXk1aW5wUjJVZko2ZDFnYVh4ZnQvM014YlVIN0l1dmhUaTZmUXpK?=
 =?utf-8?B?SHEzK0lVbXpJeXBjSVNQRnllUERCenBHYUdXc0Ewd1YzTHBRZ09EdG1mdVJ1?=
 =?utf-8?B?eC90bWhMTnVWWTRCRVlRSk92ZFdkWklDVVpnQ3pUUjZ6M3ZIaEpFcXR5dVJi?=
 =?utf-8?B?Mm8rRTA0MnNXRXZ2TkFkci91cndGMUpIQ21VLzBlcDVOUmxYN3JVeTNyRnd6?=
 =?utf-8?B?Unljdjg1VzRQejdZeURmRGZXNVo2Nk1DYjlUSzNUMmk2aGdwY0tNazBndEdX?=
 =?utf-8?B?cnIzZmhnK0dPZElpUVVPYTRXbUJneVF2MlZRc282UUhkWTBpR0xwUVZCOFVJ?=
 =?utf-8?B?VnRtcjVQVkVVWHU2Y1RxbllUSjdCb3ZLT0hDRC83UEVtd0pqVmNJMzB2S1I4?=
 =?utf-8?B?YTlYYkpnaGRGSGE2Yko4MjV6QmZudXd5OFViSnZhVzUrMnhKY0xIQWRjKzBN?=
 =?utf-8?B?dVZBM2JJZXZyVVNnV0hjM3JxYnpYekU3YUkzdWlXbDBJeWh6U08rMTVmdUNh?=
 =?utf-8?B?UU52WVZBQ2dtQmJMcFZVZ2xpOTgrK2xNc1NOVE1Zc2lxeGhwODY1Q2ZNejJ4?=
 =?utf-8?B?SXUvVUVmMUNnRlpkUy9HVkxEaTlLU3NTdzY0NFk5QXhTM09qcDJQV0Vxb3NN?=
 =?utf-8?B?MlZIdzZuU3o3YW1rUmYvNWlMR1BRZDFuVDZTWS9FTzZ6YjBXVFRtZzJLcS9y?=
 =?utf-8?B?L2lvbVFLQnlPL0ZUejExcmlaNGxiYkZ1Ynl2TWI5VzJhMW9zc3ArZzlxY1Jp?=
 =?utf-8?B?alB1SjRWc0FvR2E4UlZtUUhrS2pxcVRTUDJaeTBBOWdKcHlBN0ZIS1I5c01T?=
 =?utf-8?B?V0RYZ3d5NUpCMUpzSENZTHFHM01xZ2MvUWVkaGErZUJZZmF6UEg5NkF2djlS?=
 =?utf-8?B?YjJMd2xhK3dPaTVKWklaN3BLdnVKMzgwZjN5UmgxTVcvS0NDRTVLUkxPMkxD?=
 =?utf-8?B?Ni9QVmJNTFIyNW1WYmJ0T080Q2JBQUp1OFpjZDk1SnFiYXRyQ0NCZ0xOS2Z3?=
 =?utf-8?B?eDNNUkplSDJKTCtia1pXN0ZQRW90YVBHaFo1UDF6M2NVeVRuaExZVWh4bUtM?=
 =?utf-8?B?ck8wRWZIenBva3RXUGFkTGxPbmtFUCt4YjNQS1lhQXJGYkpQSzFRTzNrLzZi?=
 =?utf-8?B?ak44a2MyZWw0VkxOVTRISDZBVGVNdGRmalZhQ3REVHpWczJKSmNKWENFWlhS?=
 =?utf-8?B?WHVBeDNLRThWNTRPN1NrcTZUbUNHV1Y4ZWUyZ01Rb2k2aHJFS29XQ1NTL2tK?=
 =?utf-8?B?RU9td1BHdU5WSHFYY3BmTm9XY3VZUVZHZ1FGT1RXQXhMaysrcEdneEhKb0lK?=
 =?utf-8?B?RGU0OE5BYWFwd1NvTkdkd3JoSFFNSGtZVHp5dlR6K0NQOS9xRlhIMEcrMS80?=
 =?utf-8?B?aHU0MXM5RUM1Zmx5azBQMWNkNGhrZE9rUUc3Ui8xeDJ3eWlBUGRubHMvMDhS?=
 =?utf-8?B?dEE4Y01FWXdaTnk4U1NkWHhjdzBUMTBMTFhlNjJwTUEzN0tNRUhmbElsbEJj?=
 =?utf-8?B?ajNGRHZSc1l2QTBiQzBQMlV1cGs5ZittT0FyUFpCYzBOczdLU1ZOa0hvbFRN?=
 =?utf-8?B?WVhCNTJZT243aVlZeTB2R2ptZ3B3ZTRrOG14aVVBL2t6MzAxZmRFYTZ2NC9Y?=
 =?utf-8?B?aHhGZ1VWK0lyKytIbnBBdk1NTFA4clM4dVBjY2RBME5helhRdzZhT2NjemZ0?=
 =?utf-8?B?cjc3TmVSSzdibnIxaGx6T1RmeFA2T0ozUk9XaDJZUWlBRVB5em8wTzd4N1Nq?=
 =?utf-8?B?eHVYdEdPVGgrQUR6dHNUbTVKajBnQUJ4ZnJKRk5yajQ3MWJoZThCTjBUY2ZO?=
 =?utf-8?B?Y090b3VFc1d4bUxKRVFpSEdqK1NlSnZzOVp6RU5MQmsrS0JSNFNWUWUwaXho?=
 =?utf-8?B?enA5d1lhQkRWMEV3RFZzakNyaHdVKzlMbStiYnJWdkdyd283TFlQT2xMN1N4?=
 =?utf-8?B?MnFDaFRNcGFDTEQrSm1lR2RXeUo3cEJ4RjQ3WXIzeXF6bHlSSWJDNkNjR0J4?=
 =?utf-8?B?d0ZJN1VGdmNWOTZ5RmIwNllneGdxSmlpd3oxcm5ITm9VZHRpRlRVOGxRaHll?=
 =?utf-8?B?YWhNVmJsZm5TZ2twMnRCcGtuTDlEeTdMdXMwSFoyYUpBRjN6QUE4WnBsOU1P?=
 =?utf-8?Q?gV2KNY8+KfScSYoBEyUGeIWTV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5892a117-6c24-4907-27d7-08db9ef33378
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 07:25:58.2016
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 59xHP2rDf6x87896G8ZYTF421SaK0Vp3v0agoQV6f1TFXL3IPaNJD133t7X9ANqAaQt6JcAGysbXv7m/s8/isg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9045

On 17.08.2023 09:06, Julien Grall wrote:
> On 17/08/2023 07:39, Jan Beulich wrote:
>> On 16.08.2023 18:57, Julien Grall wrote:
>>> On 16/08/2023 10:51, Jan Beulich wrote:
>>>> Old gcc won't cope with initializers involving unnamed struct/union
>>>
>>> Can you specify the newest version of GCC that breaks? This would help
>>> to reproduce your problem in case someone complain about this change.
>>
>> I can't, without actually putting in effort to find out. I'm observing
>> these problems with 4.3.x iirc.
> 
> You are proving my point. :) If you can't already remember which version 
> of GCC was breaking. How can you expect someone in a few months time to 
> figure out why this was added and whether and it can reworked differently?

Well, I know for sure that this doesn't work with the version recorded in
./README. Imo that's sufficient to justify submitting patches like this,
and without going into version details. Once that baseline version is
bumped, much more than just this code can and wants to be re-evaluated,
by simply trying with the then-lowest supported version (which imo really
ought to be part of what is tested in CI, to not always leave it to me to
find and fix such issues).

>>  And of course this isn't the first such
>> change, and I don't think we ever bothered writing down precise version
>> boundaries in any of the commits.
> 
> I am not looking at a precise boundary. What I meant by the 'newest' is 
> the newest one you try.

Okay, that's slightly different and hence possible to record. I can do
so here just to please you, but as per above I don't think that ought to
be a requirement (and as said earlier it also hasn't been in the past).

> With 'old', it is not clear what this really mean. For instance, 
> technically the previous GCC version is already old. So a bit more 
> information about the GCC version you tried on would be useful.

Hmm, no, that's not really my interpretation of "old".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585188.916229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWXRV-0005ga-51; Thu, 17 Aug 2023 07:29:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585188.916229; Thu, 17 Aug 2023 07: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 1qWXRV-0005gT-1h; Thu, 17 Aug 2023 07:29:17 +0000
Received: by outflank-mailman (input) for mailman id 585188;
 Thu, 17 Aug 2023 07:29: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWXRT-0005gI-Kn
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:29:15 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c449c441-3ccf-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 09:29:14 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9045.eurprd04.prod.outlook.com (2603:10a6:20b:440::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 07:29:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 07:29:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c449c441-3ccf-11ee-8779-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C2Jz5QHbxO1kqfYfhaZwH98cRBUWCOitAVdoPnrnjmr46TiEZT4l5m6OUKuieJPkiC+wUxqqJBQXn4Xb8Zya2S22aTV1WAzDZMVX7EAS0L3uhMvw4r8CR4V5DniNGx1CO1Bu6vd2VrfEPGMjCjl9ysf8GI2Yk4gwgIVK8YI08aljsk3YTlPIWrdfrlUGeMeTXKTAOleU6zGczBZjF/tkcRz6+ihjdchAwyPedcxgYulJxyUnF+8EiFBh2sAupwTKiHsoPwPHjtNBj1NsiM5w3drg5J2oRjp+/R0Im4r2Xp52CEW05Nd0m8kQHUrBPmMVQyThgiycBMrNe7q7ak4WkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yJjTBGqemckn23wQCNIxxZBrUtQYdxRuFxvcsDzXO/k=;
 b=T8ZtP2Iljf4hGwwo7HHwtI6AYrzrqBr9oou+y9I3jk1QIz9uhKAcPK/Gydf/5o/SgoHsP6YwHsOPOgxHIi49ofniNNwQlvjFC1ItUMpzz7F6IWRvLBUgB8Yjh3zo1NNT7Pyfh9q6AzcxbUbyY6Lx16QzxcLQXALw+P3jddeNUrDyEqbRp2ficevpg9cVjyR9MFFLQVF7jOcuy+A6PLBlvN3vk4kA5IBg4aRq2rxtx8JVCPX6qTr0DM9z8kNgQjUy5wddxKbPIJlW/DGx6cFtyUiHN/nZT2TbJAz0ul0CwmQ4Be6hmupcFuqe6mlsCZ+iS3V6qerJqJzFtPwvETbdJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yJjTBGqemckn23wQCNIxxZBrUtQYdxRuFxvcsDzXO/k=;
 b=zgF/j2sgNNBcnpTG6OGQTk6+gRwOlcMpch23F/0tyIIdw5hsg7wDRRfKCYUTPlfB+Rpu/2Z+iMKMRkZsSMTK7JwT2EndHzYlZ8m23pDPNxz88GkeDjsnCpKmKCzkwDFtF8TEF68O6a7wzL1COQf+AQt9Uawh1MmKuNjOno/52mC6ekXVRWTDISXd1RBeG9mbGFxUU7BmchkSfaeNAmFq5KPgcNdTlkFwaYoQ378gcFrzIEeanN8wfnfFSsKD56q4aLASdnqAkiNbA84CyBpJogFKwaS9FG3KWmU0KLuFAM33352BQ3xeA8f1ZLY2uevvyPfWRVuG1G6f/KrrNNJBbw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <825e7d82-1487-b946-94db-7dfac30305c3@suse.com>
Date: Thu, 17 Aug 2023 09:29:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH v2 2/2] xen/vpci: header: avoid cast for value passed
 to vpci_read_val
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230816185035.82994-1-stewart.hildebrand@amd.com>
 <20230816185035.82994-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230816185035.82994-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9045:EE_
X-MS-Office365-Filtering-Correlation-Id: f9f79747-f9cd-479b-5b3d-08db9ef3a75c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bdwI1vKjtAWneRttq0kDoMR7ziE3/il+g17YDZUEQEuzzueVszPR7d2prooKpahgwy+Zjn8MBaWX4OOvPj4/kPiKCmiBDnGsqcCpZfrOHc5rZBx3LwMDOW64FddlbH8JHjRmjQa5tk2fCfZ3d8JFxZabpiAA2PeVQMdN8AXYz0UM0MoTwQvvGWAzf+en3bKTbHqw4YrFBxCV12cvzQBsNmbZcdFx2Qyv9yMFPd4i28SOL4vD2nCeEpt9BgEFRp83Bf3wkz48NrWMexjnaRwmVIqzY3DO1VRukqFPZnA+7dvorxtgRu84RThLv4Bc3FPQzBJuEUmsBCnNdX7ij3WmXLI2lo7k88Cq97tworuW0qgpSt1z49f9CK+SF7Rl8CiBB8+xHp1PQA01W9lcEiY9rtUnPhuiX+7Qir3wfq7F4/+oGDE+wBqGUdyH2GK1DWo8myM1S/OsamtvE7nuu5zEOumpSjn+pVpvC13RcUpzV99OrZ4rLjzblayQQNjZoklWumf9GnyghSfzQ4jn6pCk6H7Kdq/OCvjvDu4qxdyu/4SiMloDoropxU0c96kXcFK1vzNSjQVMiDTHYJlhFsQoLkxBC8COu6zthZiO2TUfbEfVWtjydhnaDwi1dVevnJk2MJw8uMIULW95tq2Z5SzeSg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(346002)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(4744005)(26005)(86362001)(478600001)(36756003)(6506007)(2616005)(6486002)(6512007)(53546011)(31696002)(5660300002)(41300700001)(316002)(66476007)(66556008)(66946007)(6916009)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVZkUHFHT0prekt3NXRRWWxaVHhTdXE4SHRaZUtyb25ZWU96RjNQMlpuNHpu?=
 =?utf-8?B?djc4RHhxNGpNTUFnNzN4WXEwZmVkalQ2aUlCVFlkRE1rNlVKdExVMGpkUjVP?=
 =?utf-8?B?L0RWVks0M0ltRDJQaURyUmp4VHVmWXYwNnZsYzlhdXhNY2pya1dIaTcyc1dz?=
 =?utf-8?B?NU5VYUlLd0F5Z2phUlRLeXJZOFJJYkRuRitFTm43anV2WXNLR3ZpcXdDYzU1?=
 =?utf-8?B?Zm51K1A4M09MdWF4SmZOSk14OVNHd2tvS1pETkFUM1hyZlRRVVFJakcwYVdw?=
 =?utf-8?B?SnpuTFp6WmF4VS85dzhKUmpQZ2R5SkZxNTdVRjgvN0taUnNrTm9oWXpUUDdK?=
 =?utf-8?B?QjV1YkU1cG5QMWFocWdvSmp5UHh0TklKUUxqekVCbktOMERhdzVIZ1VUV2F0?=
 =?utf-8?B?SW5hY2VFVEVEVnZSN2ZZZ0d2OEcxOXIyM2JmdDFTbE1ycmZEbUcyeTVaeWN3?=
 =?utf-8?B?ZnB2MGdGSWJpZ0Q1NE5Zb0Q1dzAzUDdLbHBoWnZrZW9KaWM3RTVUSVFvdHB5?=
 =?utf-8?B?T0dINUNnemFPRVlBU3U0dTBTNFBKY0tVcWhlbTNNaGJoL3BUNXVkT0p4MzlC?=
 =?utf-8?B?RHN4K2l1a2VJUGdQNndoTmlOdjNaRFQyMURhWktEVUxJSHVxRUlyb01SMFUy?=
 =?utf-8?B?WU04SVRyamlKQUlMd0ZwRkFRVkJ5RVNKZWR3UlZJWXl5WGFDU3hNUkdDdlFx?=
 =?utf-8?B?d1FKd0hmYnV4Zmw4c1BTUWZOcHVMZlpnVjQxaEhWVlBlQmRPMTQzbk9MOFF2?=
 =?utf-8?B?VHJGYzB5QUFmTDQ2V3lwd0NmYzY4WjN1azJxM3ZuWEY4cytJYjBWcm1rZkMr?=
 =?utf-8?B?M2kvREtQbnlleEl1b0hkYkhPMUhwTkkveHEwZzJPVmlIMGdMSFdUR2w2bVhu?=
 =?utf-8?B?NnI4cXVmcGhSaDl2Q1RLUFYxZXBqRVQzUEVQVE9lUzBIaGorcFF2T2dEUElT?=
 =?utf-8?B?TlBSelEwcWkySWdGS1kwamxFSGRHWWVxV2p6SU1kN0ZONU55bWVzc0c0M042?=
 =?utf-8?B?VTRWd2FucEpGYUNNV2lmaFdvU2VJbTlxQmFsV1lnTXdBQjVPdHN2WjUrbjRs?=
 =?utf-8?B?RGVScUkxekREL1F0L0VNOFQwQjJGdktodDc0RmZWQlFJeUE3RlF4ZmVHQUw4?=
 =?utf-8?B?MmtteW53dXJRdDN1ZHp0bTZ0TFZOM0RhMkJYOGlrQURlSkhONWMzZ3pJL3hT?=
 =?utf-8?B?ZVdSZFFRcDNUTHhoZGpNQStUUTlZcVcyK1l4QnhKSFFZZXp3NVRsVWd0WTZU?=
 =?utf-8?B?Q294aUxTcURGcWdFcUdsd0c4MTltWlZ3RHE2NU9GQUNnODZiZmk3VndpQ3JQ?=
 =?utf-8?B?TFVFOXY3cGxRdFRxWFBsYTVtNjQrdHQwWTh5ZjhRQnJNa2NPNjRPYzFVZ2l3?=
 =?utf-8?B?YXJ3dUREeE45Q3pQV1hTYU05c1hnSld4WFp3UGtxQzQxMnVwRHRhVTQxT2hD?=
 =?utf-8?B?SEh0STNYQ2E0dXhaRHMrOUZqcldaK1VxWW1WSWpHQ0JaK2dJQTVsNjBvZ0Fk?=
 =?utf-8?B?WmY0SEZ5Zkw1YmtCZGkyT3p2NENTNkp0NmxWQU9BYit6QldONjFVY0pYanE1?=
 =?utf-8?B?c1Y4UmdadDNpeU9tQ2g3NHRQRU16ajMzdnBjOXovcTNnVHFRNTFuaXlqUHIw?=
 =?utf-8?B?ZFpKR0s2YzQ5eVkxZk9FQXVoZ21pRkVrNE16aTdMTXpUSHAra21XSkU2d0dm?=
 =?utf-8?B?bk1wUmd3QWsya0pUclg3UXZKQWhoaStIY1N3WkZjQU1yQVZEMXRzL09HYU82?=
 =?utf-8?B?T0ZJY2sxVnhML0JuODBFNHROMC9iRWZ6NGhzb1JRMCtCejFEeE10THltOUkr?=
 =?utf-8?B?V1QxL0tHMGt0d09NcVlDbGNJQzBpR0lvT0kzbUxvWGZLNk03MHhLeEp5MlVu?=
 =?utf-8?B?dHdDQk5sMXVjdXZHckRhTUFRZUM4cm9TRDFXSGVKcGpLSUxYT1V4US9NY0w1?=
 =?utf-8?B?dW51aHViZXZEU3p3a2IwV0hOamFKZUpmT2M1ZytjMmpJcW9ESUZCUVJ3cTFx?=
 =?utf-8?B?azhmSUEzUks4cTRXZVp2OEJZNVFCdEVjN05mVG5wNjE2QTNMdlFrMDlJYTlQ?=
 =?utf-8?B?SnlUSjdIbnNidkprQ0ppUE5kVjZPZU8wZlZYdzVkL2dYcHZmK3pZOGxIWms4?=
 =?utf-8?Q?GagNiJWY31/f84mmR/rH09M+4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9f79747-f9cd-479b-5b3d-08db9ef3a75c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 07:29:12.8766
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E1nqTYiy7Fbt1KDVeXCt6dWzwFL8pUGXdfpe9jgLJecoANOYzGn9umuDf/Jc4gJuIP6KPOcW7lJB0K9WF+NlHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9045

On 16.08.2023 20:50, Stewart Hildebrand wrote:
> The only purpose of this is to give an idea of what it might look like to
> introduce a new memory allocation in order to get rid of the casts for the value
> passed to vpci_read_val. If this is deemed preferable vs the casts, I will
> squash it for the next version of the series.

I would say this isn't worth it, but it'll be Roger to ultimately judge.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:52:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585196.916240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWXnw-0000tp-3L; Thu, 17 Aug 2023 07:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585196.916240; Thu, 17 Aug 2023 07: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 1qWXnv-0000ti-VC; Thu, 17 Aug 2023 07:52:27 +0000
Received: by outflank-mailman (input) for mailman id 585196;
 Thu, 17 Aug 2023 07:52:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWXnv-0000tc-7f
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:52: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 1qWXns-0004vE-9A; Thu, 17 Aug 2023 07:52:24 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWXnr-0001Gl-W2; Thu, 17 Aug 2023 07:52:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sKwX6GE3rPdykahZ9VOA4qvqjVKD60tHixw42a9+Quc=; b=kZMoNLJG/fSsV56a3hNJbfd0qL
	U40rLDKkAu072qQd7QOeZ5cSawhCrp8HL7rPi7uwJrRTL2I8yTowH7YU5NTPs4/Ur0qExjW3vRP4D
	OMX2yje7EL9g2TivUvLss2ERw/xx8TulOF4oO/+jxQzqav6jSZVC3eVSHUqloZvRSx0Q=;
Message-ID: <670cbe2b-1b19-4376-9c02-1bc7657c8509@xen.org>
Date: Thu, 17 Aug 2023 08:52:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
 <cc82ac63-a019-4243-aa2b-2a4a3a07857c@xen.org>
 <3ad06a1c-2337-fd66-cf2f-9151544dc8db@suse.com>
 <3b15eb0c-eada-4729-aff6-e1daf67fc6ba@xen.org>
 <adeccc9d-52e2-8c5f-30f6-5dfa67047740@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <adeccc9d-52e2-8c5f-30f6-5dfa67047740@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/08/2023 08:25, Jan Beulich wrote:
> On 17.08.2023 09:06, Julien Grall wrote:
>> On 17/08/2023 07:39, Jan Beulich wrote:
>>> On 16.08.2023 18:57, Julien Grall wrote:
>>>> On 16/08/2023 10:51, Jan Beulich wrote:
>>>>> Old gcc won't cope with initializers involving unnamed struct/union
>>>>
>>>> Can you specify the newest version of GCC that breaks? This would help
>>>> to reproduce your problem in case someone complain about this change.
>>>
>>> I can't, without actually putting in effort to find out. I'm observing
>>> these problems with 4.3.x iirc.
>>
>> You are proving my point. :) If you can't already remember which version
>> of GCC was breaking. How can you expect someone in a few months time to
>> figure out why this was added and whether and it can reworked differently?
> 
> Well, I know for sure that this doesn't work with the version recorded in
> ./README. Imo that's sufficient to justify submitting patches like this,
> and without going into version details. Once that baseline version is
> bumped, much more than just this code can and wants to be re-evaluated,
> by simply trying with the then-lowest supported version (which imo really
> ought to be part of what is tested in CI, to not always leave it to me to
> find and fix such issues).

Right, but to do it efficiently, you will want to know when the issue 
was introduced. So you have a rough idea whether it is worth 
investigating to remove. For instance, this may be a bug in GCC 4.8 but 
we only bump the requirement to GCC 4.5. If you know it was in GCC 4.8 
then you don't need to re-assess.

> 
>>>   And of course this isn't the first such
>>> change, and I don't think we ever bothered writing down precise version
>>> boundaries in any of the commits.
>>
>> I am not looking at a precise boundary. What I meant by the 'newest' is
>> the newest one you try.
> 
> Okay, that's slightly different and hence possible to record. I can do
> so here just to please you, but as per above I don't think that ought to
> be a requirement 

It is not about pleasing me here. It is for us to save time and argument 
in the future.

I still have in mind an optimization we tried to revert recently because 
it wasn't one. But one of the maintainer were not willing to revert as 
it may have helped in some situation which were not documented and 
nobody could reproduced it.

This is not an optimization here. But I am concerned, this would end up 
to a similar situation. This we could easily be prevented by been a bit 
more verbose up front...

 > (and as said earlier it also hasn't been in the past).

Which is fine. Process evolved based on experience.

> 
>> With 'old', it is not clear what this really mean. For instance,
>> technically the previous GCC version is already old. So a bit more
>> information about the GCC version you tried on would be useful.
> 
> Hmm, no, that's not really my interpretation of "old".

'old' doesn't really have any exact time other than been in the past. It 
doesn't hurt to qualify it properly...

At the end of the day, this is x86 code. So feel free to ignore it. 
Hopefully, I will not be the person reporting an issue related to this 
change :).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 07:59:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 07:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585202.916248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWXub-0001WW-OT; Thu, 17 Aug 2023 07:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585202.916248; Thu, 17 Aug 2023 07: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 1qWXub-0001WP-Lx; Thu, 17 Aug 2023 07:59:21 +0000
Received: by outflank-mailman (input) for mailman id 585202;
 Thu, 17 Aug 2023 07:59: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 1qWXua-0001WJ-Hj
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 07:59: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 1qWXua-00053J-BK; Thu, 17 Aug 2023 07:59:20 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWXua-0001W9-3b; Thu, 17 Aug 2023 07: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=RhXZs2jhoUZBrfs7DNiYHsFDGHrOJnI6XTpynwyhjh0=; b=fQBPy9WUrqZZCLW2M7z8JaTCtt
	l8q8Sjq41O34zbSgMaYYPblUEn3qea5vEhN032bplnZ1+1GqrLQ60o01QmWyG9sKb6JC81wHCrlRH
	cVmkYVjwRNR59pjFZ034Fn2SPvKF1ruJ/R3PydeJLg9VEDDdTtpPM5EvLiMUwf+UDlf8=;
Message-ID: <48272b15-8fe1-4dfe-a02c-acdfd8ff9c62@xen.org>
Date: Thu, 17 Aug 2023 08:59:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v7 04/19] common/device_tree: change
 __unflatten_device_tree() type
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-5-vikram.garhwal@amd.com>
 <ad9c88a0-bbbb-1ef7-0104-d201468897e0@xen.org>
 <308f68a8-9eb5-87d3-aaf0-61a6af33fd33@amd.com> <ZN1ge4pmAmcllhov@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZN1ge4pmAmcllhov@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 17/08/2023 00:49, Vikram Garhwal wrote:
> On Tue, Jun 06, 2023 at 12:09:35PM -0700, Vikram Garhwal wrote:
>> Hi Julien,
>> Will update the commit message regarding why we need to export this for dtbo
>> programming.
>>
>> On 6/5/23 12:04 PM, Julien Grall wrote:
>>> Hi,
>>>
>>> Title:
>>>
>>> 'type' is a bit confusing here. How about "Export
>>> __unflatten_device_tre()"?
>>>
>>> On 02/06/2023 01:48, Vikram Garhwal wrote:
>>>> Following changes are done to __unflatten_device_tree():
>>>>  Â Â Â Â  1. __unflatten_device_tree() is renamed to unflatten_device_tree().
>>>>  Â Â Â Â  2. Remove __init and static function type.
>>>
>>> As there is no external caller yet, please explain why you want to
>>> export the function.
> Update the commit message in v8.
>>>
>>> Cheers,
>>>
>>>>
>>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>>> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
>>>> ---
>>>>  Â  xen/common/device_tree.cÂ Â Â Â Â  | 9 ++++-----
>>>>  Â  xen/include/xen/device_tree.h | 5 +++++
>>>>  Â  2 files changed, 9 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
>>>> index bbdab07596..16b4b4e946 100644
>>>> --- a/xen/common/device_tree.c
>>>> +++ b/xen/common/device_tree.c
>>>> @@ -2083,7 +2083,7 @@ static unsigned long unflatten_dt_node(const
>>>> void *fdt,
>>>>  Â  }
>>>>  Â  Â  /**
>>>> - * __unflatten_device_tree - create tree of device_nodes from flat blob
>>>> + * unflatten_device_tree - create tree of device_nodes from flat blob
>>>>  Â Â  *
>>>>  Â Â  * unflattens a device-tree, creating the
>>>>  Â Â  * tree of struct device_node. It also fills the "name" and "type"
>>>> @@ -2092,8 +2092,7 @@ static unsigned long unflatten_dt_node(const
>>>> void *fdt,
>>>>  Â Â  * @fdt: The fdt to expand
>>>>  Â Â  * @mynodes: The device_node tree created by the call
>>>>  Â Â  */
>>>> -static int __init __unflatten_device_tree(const void *fdt,
>>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  struct dt_device_node
>>>> **mynodes)
>>>> +int unflatten_device_tree(const void *fdt, struct dt_device_node
>>>> **mynodes)
>>>>  Â  {
>>>>  Â Â Â Â Â  unsigned long start, mem, size;
>>>>  Â Â Â Â Â  struct dt_device_node **allnextp = mynodes;
>>>> @@ -2230,10 +2229,10 @@ dt_find_interrupt_controller(const struct
>>>> dt_device_match *matches)
>>>>  Â  Â  void __init dt_unflatten_host_device_tree(void)
>>>>  Â  {
>>>> -Â Â Â  int error = __unflatten_device_tree(device_tree_flattened,
>>>> &dt_host);
>>>> +Â Â Â  int error = unflatten_device_tree(device_tree_flattened, &dt_host);
>>>>  Â  Â Â Â Â Â  if ( error )
>>>> -Â Â Â Â Â Â Â  panic("__unflatten_device_tree failed with error %d\n", error);
>>>> +Â Â Â Â Â Â Â  panic("unflatten_device_tree failed with error %d\n", error);
>>>>  Â  Â Â Â Â Â  dt_alias_scan();
>>>
>>> This function doesn't seem to be called in the case of the overlay
>>> device-tree. Does this mean that it will never contain any alias?
>>>
> I haven't seen any overlay example for FPGA use cases where alias are added.
> I have added a TODO in patch 16/19 where we are calling unflatten_device_tree().
>>>>  Â  }
>>>> diff --git a/xen/include/xen/device_tree.h
>>>> b/xen/include/xen/device_tree.h
>>>> index c2eada7489..2c35c0d391 100644
>>>> --- a/xen/include/xen/device_tree.h
>>>> +++ b/xen/include/xen/device_tree.h
>>>> @@ -178,6 +178,11 @@ int device_tree_for_each_node(const void *fdt,
>>>> int node,
>>>>  Â Â  */
>>>>  Â  void dt_unflatten_host_device_tree(void);
>>>>  Â  +/**
>>>> + * unflatten any device tree.
>>>
>>> Most of the exported function in device_tre.h have documentation. Can
>>> you do the same here?
> Done!
>>>
>>>> + */
>>>> +int unflatten_device_tree(const void *fdt, struct dt_device_node
>>>> **mynodes);
>>>
>>> NIT: From an external interface perspective, do we actually need to pass
>>> an extra pointer? Can't we instead, return the pointer?
> We will also need the error from the function. So, that's why i kept it as it is.

This can be achieved by using the ERR_PTR() infrastructure which I would 
rather prefer over passing an extra pointer here.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 08:14:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 08:14:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585212.916259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWY9P-0004Y3-Db; Thu, 17 Aug 2023 08:14:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585212.916259; Thu, 17 Aug 2023 08:14:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWY9P-0004Xw-Au; Thu, 17 Aug 2023 08:14:39 +0000
Received: by outflank-mailman (input) for mailman id 585212;
 Thu, 17 Aug 2023 08:14: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 1qWY9N-0004Xq-RT
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 08:14: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 1qWY9N-00060H-C0; Thu, 17 Aug 2023 08:14:37 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWY9N-0002Ud-5V; Thu, 17 Aug 2023 08:14:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6pXTCqWpBzO5bqXPNupDBkZB7Nlyca1tVjdjjq/IqZI=; b=FuxqDFNbBLxPUtni2rLq6ZiIAr
	QpQIThuy6EJfn02Q4Rrgev5757wfzTWSvVRxkImxz0jcFJveKou6fGRAAtgP2YHzxfhV3tIHCmH/Z
	EFS5pLMhUu0QptRGnrAd1XeSdrW5brAonCe9GznHps+8HqiwdFbpCSok9wq2c3i/W8MY=;
Message-ID: <1c0b49be-c024-4475-94f4-05e97dcbfce4@xen.org>
Date: Thu, 17 Aug 2023 09:14:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v7 15/19] xen/arm: Implement device tree node removal
 functionalities
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 sstabellini@kernel.org, jbeulich@suse.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <20230602004824.20731-1-vikram.garhwal@amd.com>
 <20230602004824.20731-16-vikram.garhwal@amd.com>
 <e1597b22-a756-5141-e7d9-5fd60a9a05ff@xen.org> <ZN1qaMn+5GONuzmS@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZN1qaMn+5GONuzmS@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/08/2023 01:31, Vikram Garhwal wrote:
> On Mon, Jun 05, 2023 at 10:07:48PM +0100, Julien Grall wrote:
>>> +{
>>> +    int rc = 0;
>>> +    struct domain *d = hardware_domain;
>>> +    domid_t domid;
>>> +    unsigned int naddr, len;
>>> +    unsigned int i, nirq;
>>> +
>>> +    domid = dt_device_used_by(device_node);
>>
>> Looking at the caller, it is not clear to me which lock is preventing the
>> device to be assigned whilst you remove it.
> So, this is on user to make sure the domain is not using the device.

It is not clear what you mean by user. Is it someone external to Xen? If 
not, which function is responsible? If yes, then we can't rely on an 
entity outside of Xen to do the right thing.

>>> +    if ( domid != 0 && 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;
>>> +    }
>>> +
>>> +    dt_dprintk("Removing node: %s\n", device_node->full_name);
>>> +
>>> +    nirq = dt_number_of_irq(device_node); > +
>>> +    /* Remove IRQ permission */
>>> +    for ( i = 0; i < nirq; i++ )
>>> +    {
>>> +        rc = platform_get_irq(device_node, i);
>>
>> As I mentioned in [1], I think that parsing the Device-Tree again when
>> removing any interrupts/mappings is a bit odd as there are more possible
>> failures and is more complex than necessary. I have proposed a way to do it
>> with rangeset, but I can't find any reason why this wasn't done. Can you
>> explain?
> IIUC, range sets can work if we have only one level of node i.e. no children.
> I tried in previous version to use range but it's complicated to get info in
> correct order using rangeset. Example, we have three nodes, node A, B and C. A
> has three child A_a, A_b and A_c. While adding the nodes, we add A first then
> A_a, A_b, A_c and finally B and C. And rangeset is updated in same order but
> when we remove node, first A_c is removed followed by A_b and A_a and then A.
> So, this was the problem for me on how to keep track which interrupt belong to
> which node.

 From my understanding, all the nodes added together will have to be 
removed together. IOW, it is not possible to remove A_c in one hypercall 
by not A_b.

It is not clear to me why you need to know which interrupt belong to 
which node. On removal, it should be sufficient to revert all the 
permissions in one go and then all the nodes.

>>> +            return -EINVAL;
>>> +        }
>>> +        /*
>>> +         * TODO: We don't handle shared IRQs for now. So, it is assumed that
>>> +         * the IRQs was not shared with another devices.
>>> +         */
>>> +        rc = irq_deny_access(d, rc);
>>> +        if ( rc )
>>> +        {
>>> +            printk(XENLOG_ERR "unable to revoke access for irq %u for %s\n",
>>> +                   i, device_node->full_name);
>>> +            return rc;
>>> +        }
>>
>> You don't reverse the change in the routing. What would happen if the next
>> overlay is updated to now pass the same device to a guest?
>>
>> I would be OK if this is not handled in this series. But it should be marked
>> as a TODO.
> So, i explained the reason behind this in v4:

I couldn't find the appropriate summary in this series. Can you point me 
to it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585220.916268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZPv-0004Zs-3S; Thu, 17 Aug 2023 09:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585220.916268; Thu, 17 Aug 2023 09: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 1qWZPv-0004Zl-0u; Thu, 17 Aug 2023 09:35:47 +0000
Received: by outflank-mailman (input) for mailman id 585220;
 Thu, 17 Aug 2023 09:35: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWZPt-0004Zf-PS
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:35:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f707ccd-3ce1-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 11:35:43 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A13EC4EE0737;
 Thu, 17 Aug 2023 11:35: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: 6f707ccd-3ce1-11ee-8779-cb3800f73035
MIME-Version: 1.0
Date: Thu, 17 Aug 2023 11:35:42 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: Remove unused function 'do_trap_fiq'
In-Reply-To: <85fa02a8-7a19-4bca-89d7-6036038def4d@xen.org>
References: <21c76788cbf4b79d4b77721cbdb956ca@bugseng.com>
 <85fa02a8-7a19-4bca-89d7-6036038def4d@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <303c6a31510b90f9f37f18ec080acbb5@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 16/08/2023 17:28, Julien Grall wrote:
> On 16/08/2023 16:18, Nicola Vetrini wrote:
>> Hi,
> 
> Hi,
> 
>> the function mentioned in the subject, defined in 
>> 'xen/arch/arm/traps.c' seems to have no
>> caller (either from C code or from asm code), so I think it can be 
>> safely removed, unless
>> there's a reason for it to remain in Xen.
> 
> This is used by the arm32 code in arm32/head.S:
> 
> trap_fiq:
>    vector fiq
> 
> where the macro vector will call do_trap_fiq.
> 
> So we need to keep the function around and a definition. Although we
> can move the function to arm32/traps.c but this is somewhat unrelated.
> 
> Cheers,

Ok. Would you mind if a declaration was supplied in an appropriate 
header file for this function,
to fully comply with Rule 8.4? This not only serves as useful 
documentation to developers
that will touch the asm files, as Stefano mentioned some time ago in the 
preliminary thread
on R8.4, but also prevents an avoidable violation of the Rule, and
hence yet another deviation to keep track of.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:43:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585228.916284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZX3-00069X-2W; Thu, 17 Aug 2023 09:43:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585228.916284; Thu, 17 Aug 2023 09: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 1qWZX2-000686-UH; Thu, 17 Aug 2023 09:43:08 +0000
Received: by outflank-mailman (input) for mailman id 585228;
 Thu, 17 Aug 2023 09:43: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=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWZX1-00065w-RS
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:43:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77cdc449-3ce2-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 11:43:06 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 273854EE073C;
 Thu, 17 Aug 2023 11:43: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: 77cdc449-3ce2-11ee-8779-cb3800f73035
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/2] misra: add more entires to exclude-list.json
Date: Thu, 17 Aug 2023 11:42:56 +0200
Message-Id: <ce1bf98508d9d66b3e903a7ce19c0a2ee2420fc2.1692261955.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692261955.git.federico.serafini@bugseng.com>
References: <cover.1692261955.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add entries to the exclude-list.json for those files that need to be
excluded from the analysis scan.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 docs/misra/exclude-list.json | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index ca1e2dd678..3be9421e4d 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -181,6 +181,18 @@
             "rel_path": "drivers/video/font_*",
             "comment": "Imported from Linux, ignore for now"
         },
+        {
+          "rel_path": "include/acpi/acpiosxf.h",
+          "comment": "Imported from Linux, ignore for now"
+        },
+        {
+          "rel_path": "include/acpi/acpixf.h",
+          "comment": "Imported from Linux, ignore for now"
+        },
+        {
+          "rel_path": "include/xen/acpi.h",
+          "comment": "Imported from Linux, ignore for now"
+        },
         {
             "rel_path": "lib/list-sort.c",
             "comment": "Imported from Linux, ignore for now"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:43:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585227.916279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZX2-00066K-Rf; Thu, 17 Aug 2023 09:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585227.916279; Thu, 17 Aug 2023 09:43:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZX2-00066D-Ne; Thu, 17 Aug 2023 09:43:08 +0000
Received: by outflank-mailman (input) for mailman id 585227;
 Thu, 17 Aug 2023 09:43: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=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWZX1-00065w-6G
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:43:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77923730-3ce2-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 11:43:06 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id D00F44EE0739;
 Thu, 17 Aug 2023 11:43: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: 77923730-3ce2-11ee-8779-cb3800f73035
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/2] automation/eclair: update configuration
Date: Thu, 17 Aug 2023 11:42:55 +0200
Message-Id: <577236484d748d2941f6fc07b7e4fc3fa7501e95.1692261955.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692261955.git.federico.serafini@bugseng.com>
References: <cover.1692261955.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mark more files as "adopted" and configure Rule 8.3 in order to:
- exclude violations involving the type ret_t;
- exclude violations involving both an internal and an external file,
  thus avoiding touching adopted code.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 .../eclair_analysis/ECLAIR/deviations.ecl     | 29 +++++++++++++++++++
 .../eclair_analysis/ECLAIR/out_of_scope.ecl   |  3 ++
 2 files changed, 32 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 696618b59e..d8170106b4 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -175,6 +175,35 @@ const-qualified."
 -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
+
+-doc_begin="The following files are imported from Linux and decompress.h defines a unique and documented interface towards all the (adopted) decompress functions."
+-file_tag+={adopted_decompress_r8_3,"^xen/common/bunzip2\\.c$"}
+-file_tag+={adopted_decompress_r8_3,"^xen/common/unlz4\\.c$"}
+-file_tag+={adopted_decompress_r8_3,"^xen/common/unlzma\\.c$"}
+-file_tag+={adopted_decompress_r8_3,"^xen/common/unlzo\\.c$"}
+-file_tag+={adopted_decompress_r8_3,"^xen/common/unxz\\.c$"}
+-file_tag+={adopted_decompress_r8_3,"^xen/common/unzstd\\.c$"}
+-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_decompress_r8_3)))&&any_area(any_loc(file(^xen/include/xen/decompress\\.h$)))"}
+-doc_end
+
+-doc_begin="The following file is imported from Linux: ignore for now."
+-file_tag+={adopted_time_r8_3,"^xen/arch/x86/time\\.c$"}
+-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_time_r8_3)))&&(any_area(any_loc(file(^xen/include/xen/time\\.h$)))||any_area(any_loc(file(^xen/arch/x86/include/asm/setup\\.h$))))"}
+-doc_end
+
+-doc_begin="The following file is imported from Linux: ignore for now."
+-file_tag+={adopted_cpu_idle_r8_3,"^xen/arch/x86/acpi/cpu_idle\\.c$"}
+-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_cpu_idle_r8_3)))&&any_area(any_loc(file(^xen/include/xen/pmstat\\.h$)))"}
+-doc_end
+
+-doc_begin="The following file is imported from Linux: ignore for now."
+-file_tag+={adopted_mpparse_r8_3,"^xen/arch/x86/mpparse\\.c$"}
+-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
+-doc_end
+
 -doc_begin="The following variables are compiled in multiple translation units
 belonging to different executables and therefore are safe."
 -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
diff --git a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
index 44db6997b5..e1ec4a607c 100644
--- a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
+++ b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
@@ -22,6 +22,9 @@
 -file_tag+={adopted,"^xen/drivers/acpi/numa\\.c$"}
 -file_tag+={adopted,"^xen/drivers/acpi/osl\\.c$"}
 -file_tag+={adopted,"^xen/drivers/acpi/tables\\.c$"}
+-file_tag+={adopted,"^xen/include/xen/acpi\\.h$"}
+-file_tag+={adopted,"^xen/include/acpi/acpiosxf\\.h$"}
+-file_tag+={adopted,"^xen/include/acpi/acpixf\\.h$"}
 -file_tag+={adopted,"^xen/lib/list-sort\\.c$"}
 -file_tag+={adopted,"^xen/lib/rbtree\\.c$"}
 -file_tag+={adopted,"^xen/lib/xxhash.*\\.c$"}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:43:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585229.916290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZX3-0006Dy-BI; Thu, 17 Aug 2023 09:43:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585229.916290; Thu, 17 Aug 2023 09: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 1qWZX3-0006BY-5W; Thu, 17 Aug 2023 09:43:09 +0000
Received: by outflank-mailman (input) for mailman id 585229;
 Thu, 17 Aug 2023 09: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=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWZX1-000662-UE
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:43:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77800027-3ce2-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 11:43:06 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 464ED4EE0737;
 Thu, 17 Aug 2023 11:43: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: 77800027-3ce2-11ee-9b0c-b553b5be7939
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 0/2] Add files to the exclude list and update ECL files
Date: Thu, 17 Aug 2023 11:42:54 +0200
Message-Id: <cover.1692261955.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add files to exclude-list.json and adapt the ECLAIR configuration to keep
track of the changes.

Federico Serafini (2):
  automation/eclair: update configuration
  misra: add more entires to exclude-list.json

 .../eclair_analysis/ECLAIR/deviations.ecl     | 29 +++++++++++++++++++
 .../eclair_analysis/ECLAIR/out_of_scope.ecl   |  3 ++
 docs/misra/exclude-list.json                  | 12 ++++++++
 3 files changed, 44 insertions(+)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585249.916308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZjQ-0000QQ-I5; Thu, 17 Aug 2023 09:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585249.916308; Thu, 17 Aug 2023 09:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZjQ-0000QJ-FQ; Thu, 17 Aug 2023 09:55:56 +0000
Received: by outflank-mailman (input) for mailman id 585249;
 Thu, 17 Aug 2023 09:55:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWZjP-0000QD-Qm
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:55:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f8b0b49-3ce4-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 11:55:53 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 8ECD94EE0737;
 Thu, 17 Aug 2023 11:55:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f8b0b49-3ce4-11ee-9b0c-b553b5be7939
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] misra: add more entires to exclude-list.json
Date: Thu, 17 Aug 2023 11:55:42 +0200
Message-Id: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add entries to the exclude-list.json for those files that need to be
excluded from the analysis scan.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- fixed indentation.
---
 docs/misra/exclude-list.json | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index ca1e2dd678..575ed22a7f 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -181,6 +181,18 @@
             "rel_path": "drivers/video/font_*",
             "comment": "Imported from Linux, ignore for now"
         },
+        {
+            "rel_path": "include/acpi/acpiosxf.h",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "include/acpi/acpixf.h",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "include/xen/acpi.h",
+            "comment": "Imported from Linux, ignore for now"
+        },
         {
             "rel_path": "lib/list-sort.c",
             "comment": "Imported from Linux, ignore for now"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 09:58:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 09:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585255.916318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZlR-0000yt-TV; Thu, 17 Aug 2023 09:58:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585255.916318; Thu, 17 Aug 2023 09:58:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZlR-0000ym-QU; Thu, 17 Aug 2023 09:58:01 +0000
Received: by outflank-mailman (input) for mailman id 585255;
 Thu, 17 Aug 2023 09:58: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 1qWZlQ-0000yg-VG
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 09:58: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 1qWZlQ-00009o-8g; Thu, 17 Aug 2023 09:58:00 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWZlQ-0006hq-0a; Thu, 17 Aug 2023 09: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yIzJgQZVqe1iqkHJHjc2isK64yo0OZoHCMdOxMJy9nc=; b=T55OJxZF9FfVCrSi9fuvHmv4em
	0/8g0pYBVvNlomKz/MW9gsjER2sJ5Uz3tX1q/YOxS95+kNmUaXXZopkI5DjH8CUtDAez+YGIn3+aE
	ERtIEaWnQ7/L0kZjPsWCp2sVMsZDTqokHAZ7zGeXuLFnkKQLuHPa9+Lcm/bQjoza+sCY=;
Message-ID: <472241eb-0417-46e8-b713-79586642df55@xen.org>
Date: Thu, 17 Aug 2023 10:57:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] misra: add more entires to exclude-list.json
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/08/2023 10:55, Federico Serafini wrote:
> Add entries to the exclude-list.json for those files that need to be
> excluded from the analysis scan.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
> Changes in v2:
> - fixed indentation.

What's the difference with the other v2 you posted ~10 min ago?

Is this the patch we need to review? If so, can you review on the 
previous one to explicitely say it should be ignored.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 10:02:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 10:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585262.916328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWZpO-0002XM-Br; Thu, 17 Aug 2023 10:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585262.916328; Thu, 17 Aug 2023 10: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 1qWZpO-0002XF-9A; Thu, 17 Aug 2023 10:02:06 +0000
Received: by outflank-mailman (input) for mailman id 585262;
 Thu, 17 Aug 2023 10:02:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWZpM-0002X7-Ng
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 10:02:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1da80db4-3ce5-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 12:02:03 +0200 (CEST)
Received: from [192.168.1.15] (host-79-55-201-67.retail.telecomitalia.it
 [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 3DC7F4EE0737;
 Thu, 17 Aug 2023 12:02: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: 1da80db4-3ce5-11ee-8779-cb3800f73035
Message-ID: <fa50cb01-1d4f-a7e1-28f5-ff765d798e51@bugseng.com>
Date: Thu, 17 Aug 2023 12:02:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH v2] misra: add more entires to exclude-list.json
Content-Language: en-US, it
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
 <472241eb-0417-46e8-b713-79586642df55@xen.org>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <472241eb-0417-46e8-b713-79586642df55@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 17/08/23 11:57, Julien Grall wrote:
> Hi,
> 
> On 17/08/2023 10:55, Federico Serafini wrote:
>> Add entries to the exclude-list.json for those files that need to be
>> excluded from the analysis scan.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>> Changes in v2:
>> - fixed indentation.
> 
> What's the difference with the other v2 you posted ~10 min ago?
> 
> Is this the patch we need to review? If so, can you review on the 
> previous one to explicitely say it should be ignored.
> 
> Cheers,
> 

There is no difference,
it seems that two mails have been sent,
sorry for that.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 10:13:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 10:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585269.916339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWa0j-000456-Cd; Thu, 17 Aug 2023 10:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585269.916339; Thu, 17 Aug 2023 10:13:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWa0j-00044z-8u; Thu, 17 Aug 2023 10:13:49 +0000
Received: by outflank-mailman (input) for mailman id 585269;
 Thu, 17 Aug 2023 10:13:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWa0h-00044t-Bc
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 10:13:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c011d7a1-3ce6-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 12:13:46 +0200 (CEST)
Received: from [192.168.1.15] (host-79-55-201-67.retail.telecomitalia.it
 [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 3A2904EE0737;
 Thu, 17 Aug 2023 12:13: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: c011d7a1-3ce6-11ee-8779-cb3800f73035
Message-ID: <88c992b7-bdd3-201b-1c06-d5984f7d76bc@bugseng.com>
Date: Thu, 17 Aug 2023 12:13:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH v2] misra: add more entires to exclude-list.json
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
 <472241eb-0417-46e8-b713-79586642df55@xen.org>
 <fa50cb01-1d4f-a7e1-28f5-ff765d798e51@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <fa50cb01-1d4f-a7e1-28f5-ff765d798e51@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 17/08/23 12:02, Federico Serafini wrote:
> On 17/08/23 11:57, Julien Grall wrote:
>> Hi,
>>
>> On 17/08/2023 10:55, Federico Serafini wrote:
>>> Add entries to the exclude-list.json for those files that need to be
>>> excluded from the analysis scan.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> ---
>>> Changes in v2:
>>> - fixed indentation.
>>
>> What's the difference with the other v2 you posted ~10 min ago?
>>
>> Is this the patch we need to review? If so, can you review on the 
>> previous one to explicitely say it should be ignored.
>>
>> Cheers,
>>
> 
> There is no difference,
> it seems that two mails have been sent,
> sorry for that.
> 

The patches to be reviewed are:
[XEN PATCH v2] misra: add more entires to exclude-list.json
[XEN PATCH 1/2] automation/eclair: update configuration

When a v2 of a patch within a series is needed,
should I send a v2 of the whole series?

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 10:33:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 10:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585276.916349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWaJG-0006Zj-Qx; Thu, 17 Aug 2023 10:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585276.916349; Thu, 17 Aug 2023 10:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWaJG-0006Zc-OI; Thu, 17 Aug 2023 10:32:58 +0000
Received: by outflank-mailman (input) for mailman id 585276;
 Thu, 17 Aug 2023 10:32: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=rwFS=EC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWaJG-0006ZW-B5
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 10:32:58 +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 6e57d66e-3ce9-11ee-8779-cb3800f73035;
 Thu, 17 Aug 2023 12:32:57 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-4fe389d6f19so11749321e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 17 Aug 2023 03:32:57 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f5-20020ac251a5000000b004fdfd79e732sm3342974lfk.289.2023.08.17.03.32.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 17 Aug 2023 03:32: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: 6e57d66e-3ce9-11ee-8779-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692268377; x=1692873177;
        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=PSX7AvdjNTBihUKOxTJpe74YPO/nEFCmos1CT+A5JMc=;
        b=TqQMnGLXjkTnf2u6fm4LPBoTT3ujoGQDSnA2+mLaL/TrTToTl6Q80DGZuL9N7KBnPl
         MWxAYl+mFUGt7F9XDtmWqZx8a/fY2GYtdSh3syhEfu/u1ki/Agu8ccSI3xCCh5VtPmZo
         vFo0GJsqsPFc3ITrvVbKsGNlyoQ1sUJUGYtXHGNX9dPlquUFyLp362QXBfZ7JNcS0LsF
         7r1I632oJfzhkZ8d+pRe/4k78lk3VqL4ypnX+LJOXqX8741Btz6Sp+cmlDGxb5ZiMAax
         EVEP++a7zWy3bx638EJ+yB6po1H/41wcRz3dSD4Hi0l5TULXTZ23JmkBh7yCMgM2VE2Y
         UDSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692268377; x=1692873177;
        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=PSX7AvdjNTBihUKOxTJpe74YPO/nEFCmos1CT+A5JMc=;
        b=kZJLNY3OhX++XU8FAaDBYKtrejPpy6Qoh8hDqu2ihAHMccYxmH93wbxRunqTRkS5ql
         13UtjFAHWBkoUKBLeV1Pt8dvSFVSiS0vnnHbotBt1S+LhBciCpKGrxzpUvqxgcX/X+bz
         c0cHZDsYc1lEksKeQ4rnJAM7gT/gaiigjAlM0ie+TMTyFV/OuGGJzKAAtot5i1czKVYQ
         wFLaP2E60CARQaeTlo7QqshaPok8HhX5HUzuunDABS5Ske8xczHyfZqP8FyIW6dKy7rd
         gZqLOw2NI1frZITfQUXjFUrEe8Dc38BuQcK1+c1ud/3NtwpYFW6bLHRWNulUW18zH9ZT
         2AhA==
X-Gm-Message-State: AOJu0Yy3DUnfvkroVQ/CHCnFbAFKQUszpmb+4BMzOdUVYczMwc5IEVPw
	sRtNQ8PWBoh3wtMBcxVrDPQ=
X-Google-Smtp-Source: AGHT+IFipukl/Tz5avZuZ3Ia9Wpn4lrLCKU/ZmWO/haLgEbOOabr8eHgxqSbKFShTc0KPmM/F8PTzA==
X-Received: by 2002:a19:645e:0:b0:4fc:265d:fc62 with SMTP id b30-20020a19645e000000b004fc265dfc62mr3414616lfj.18.1692268376445;
        Thu, 17 Aug 2023 03:32:56 -0700 (PDT)
Message-ID: <435d10e37bc86f50292e29c99ae1c6b6d9cf1a1f.camel@gmail.com>
Subject: Re: [PATCH] ns16550: add support for polling mode when device tree
 is used
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Thu, 17 Aug 2023 13:32:55 +0300
In-Reply-To: <aa19cb1c-a437-7eeb-d727-3cc9867ac307@suse.com>
References: 
	<88bd54876c745ef45eb740274fd36d747c7db471.1691767729.git.oleksii.kurochko@gmail.com>
	 <aa19cb1c-a437-7eeb-d727-3cc9867ac307@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-08-16 at 15:39 +0200, Jan Beulich wrote:
> On 11.08.2023 17:30, Oleksii Kurochko wrote:
> > @@ -1555,6 +1566,9 @@ static bool __init parse_positional(struct
> > ns16550 *uart, char **str)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> > =C2=A0#endif
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( strncmp(conf, "poll", =
4) =3D=3D 0 )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uar=
t->intr_works =3D polling;
>=20
> Don't you need to update "conf" here as well then?
Yes, sure, 'conf' shoud be updated too.

>=20
> As said before, please also update parse_namevalue_pairs(). I would
> appreciate (but not insist) if you also added recognition of "msi"
> at this occasion.
I'll add 'msi' too.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 uart->irq =3D simple_strtol(conf, &conf, 10);
> > =C2=A0=C2=A0=C2=A0=C2=A0 }
> > =C2=A0
> > @@ -1760,6 +1774,9 @@ static int __init ns16550_uart_dt_init(struct
> > dt_device_node *dev,
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0 ns16550_init_common(uart);
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0 if ( strstr(opt_com1, "poll") )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uart->intr_works =3D pollin=
g;
>=20
> Is strstr() really appropriate? Shouldn't it simply be strcmp(), with
> there not being any other sub-options in the non-x86 case?
It would better to use strcmp(). Thanks.

>=20
> Plus the question remains of it necessarily being com1: Is there no
> way with DT to have multiple serial ports (e.g. one for the console
> and one for a debugger)? If there indeed isn't, then unconditionally
> using opt_com1[] here is of course okay, but then opt_com2[]
> is effectively a dead variable and recognizing "com2" on the command
> line (rather than spitting out an error) is then also a mistake. IOW
> in that case both would want keeping x86-only (with a new #ifdef, as
> we certainly don't want to have com1 and com2 stuff in separate
> places).
Actually it can be even more serial ports. For example, I have a board
with 3 UARTs ( serial ports ).=20
In this case, it looks that I should have 3 variable of opt_com{1-3}[]?

Taking into account that opt_com{1-2} variables are needed only for
configuration of serial ports in X86 ( in DT-based architectures all
configuration info is inside a node of UART ) then we can check only
opt_com1[].

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 10:48:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 10:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585282.916359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWaXw-00089T-4E; Thu, 17 Aug 2023 10:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585282.916359; Thu, 17 Aug 2023 10: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 1qWaXw-00089M-1D; Thu, 17 Aug 2023 10:48:08 +0000
Received: by outflank-mailman (input) for mailman id 585282;
 Thu, 17 Aug 2023 10: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=+wLb=EC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qWaXu-00089G-ND
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 10:48:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b7a9a04-3ceb-11ee-877a-cb3800f73035;
 Thu, 17 Aug 2023 12:48:05 +0200 (CEST)
Received: from [192.168.1.15] (host-79-55-201-67.retail.telecomitalia.it
 [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 7A1A54EE0737;
 Thu, 17 Aug 2023 12:48: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: 8b7a9a04-3ceb-11ee-877a-cb3800f73035
Message-ID: <3ad5c4fb-9322-825d-2347-bdd5e900c598@bugseng.com>
Date: Thu, 17 Aug 2023 12:48:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH 2/2] misra: add more entires to exclude-list.json
Content-Language: en-US, it
To: xen-devel@lists.xenproject.org
Cc: 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>,
 Wei Liu <wl@xen.org>
References: <cover.1692261955.git.federico.serafini@bugseng.com>
 <ce1bf98508d9d66b3e903a7ce19c0a2ee2420fc2.1692261955.git.federico.serafini@bugseng.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <ce1bf98508d9d66b3e903a7ce19c0a2ee2420fc2.1692261955.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 17/08/23 11:42, Federico Serafini wrote:
> Add entries to the exclude-list.json for those files that need to be
> excluded from the analysis scan.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>   docs/misra/exclude-list.json | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> index ca1e2dd678..3be9421e4d 100644
> --- a/docs/misra/exclude-list.json
> +++ b/docs/misra/exclude-list.json
> @@ -181,6 +181,18 @@
>               "rel_path": "drivers/video/font_*",
>               "comment": "Imported from Linux, ignore for now"
>           },
> +        {
> +          "rel_path": "include/acpi/acpiosxf.h",
> +          "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +          "rel_path": "include/acpi/acpixf.h",
> +          "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +          "rel_path": "include/xen/acpi.h",
> +          "comment": "Imported from Linux, ignore for now"
> +        },
>           {
>               "rel_path": "lib/list-sort.c",
>               "comment": "Imported from Linux, ignore for now"

Wrong indentation, a v2 of this patch has already been sent.

Reviewed-by: Federico Serafini <federico.serafini@bugseng.com>



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 10:51:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 10:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585288.916369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWab9-00019K-Js; Thu, 17 Aug 2023 10:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585288.916369; Thu, 17 Aug 2023 10:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWab9-00019D-GJ; Thu, 17 Aug 2023 10:51:27 +0000
Received: by outflank-mailman (input) for mailman id 585288;
 Thu, 17 Aug 2023 10:51:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xKJa=EC=citrix.com=prvs=586b2f634=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qWab7-000197-PK
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 10:51:26 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0097ea06-3cec-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 12:51: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: 0097ea06-3cec-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692269482;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=V5WOe4yk5HeIxVGmnhq2Jv7FJIe93jWc3o7VNRyDTV4=;
  b=Up2lfpWaQoVW7fZslTHRE+3YLZ1NX9/wqL/fqngoVppFpasRsLmbGtzO
   YoYXJZ2e6UIhltoM76jZ32els7XdFA7Q8qSM3iFJVTsbub3ccN4/RAm7j
   O9C+wvlb5Fk1K4DYru+f/XUOXBYVzpZiIRgIf4jLJULkzFhzsxkFz7Rks
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120193595
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Mx49/K2TIXHEadsAVfbD5dZxkn2cJEfYwER7XKvMYLTBsI5bpzEDy
 zEaXWuOPv2MYzb0Kd5waNi28hgF7JfSzNFjTwJspC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxnOqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJ0xP/
 6xIb3c2QyunmLruz+u5SeJhiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiHJ8NxxfD+
 zObl4j/KiFGHtaTlAG/zmD2mPDTpy/AftMpBoTto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1iPwQPIJTbd8slvUjPOJvUDAXDNsoiN9hMIOkuI3T2x6k
 RiysujNGmQ3v+SXSnmQ+eLBxd+tAhQ9IWgHbC4CaAIK5dj/vY0+5i7yosZf/L2d1YOsR2ypq
 9yehG1n3uhI05ZXv0mu1Qqf6w9AsKQlWeLcCu//emu+pj10a4e+D2BDwQiKtK0QRGp1o7Tog
 ZTlpyR8xLpTZX1uvHbXKAnoIF1Pz6zYWNE7qQc2d6TNDxz3pxaekXl4uVmS3ntBPMceYiPOa
 0TOow5X75I7FCL0PPUtOtrvW5tylfiI+THZuhb8NIsmjn9ZLlPvwc2TTRTIgzCFfLYEwMnTx
 qt3ge7zVC1HWMyLPRK9RvsH0K9D+8zN7Tq7eHwP9Dz+ieD2TCfMGd843K6mMrhRAFWs/F+Er
 L6y9qKil31ibQEJSnOMrddLcwlRfRDWx/ne8qRqSwJKGSI+cElJNhMb6ehJl1BN90iNqtr1w
 w==
IronPort-HdrOrdr: A9a23:g/cQjKmQf9xO2o1nx5dtxUc0bmLpDfLr3DAbv31ZSRFFG/FwyP
 re/sjzhCWVtN9OYgBCpTnyAtjwfZq6z+8A3WBxB8bWYOCCggqVxe5ZnOzfKlHbal7DHgA079
 YYT0BRYOeAdWSSp/yKhjVRKr4bsaK6GErBv5al854Vd3AWV0gC1XYHNu/4KDwTeOAuP/NQf/
 DwiaQ3wgZIVk5nEvhTbUN1LdQryee75K4OLSR2eSLPhTPjsQ+V
X-Talos-CUID: =?us-ascii?q?9a23=3AURNyB2gdDAg9At6c7MNDUvSrRjJuVFDcxieAZAi?=
 =?us-ascii?q?DJF1NV+XNRgaS+6hpnJ87?=
X-Talos-MUID: 9a23:eeS3LQkREtKDKXnWvo1XdnpSaO1i7/mVMnwfy4sZp/OIDgohACWk2WE=
X-IronPort-AV: E=Sophos;i="6.01,179,1684814400"; 
   d="scan'208";a="120193595"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [XTF PATCH] xtf-runner: python3 fix
Date: Thu, 17 Aug 2023 11:51:11 +0100
Message-ID: <20230817105111.4413-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

issue:
  File "/home/xtf/xtf-runner", line 410, in interpret_selection
    if not line.startswith("xen_caps"):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: startswith first arg must be bytes or a tuple of bytes, not str

Adding `universal_newlines` open stdout as text file, so line should
be a `str`. `universal_newlines` is available on python 2.7. A new
alias `text` is only available in python 3.7.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    I've only tested the patch on Debian Bookworm, with python-is-python3
    package (python symlink) as osstest run `./xtf-runner ...`.
    
    I haven't tried python2.7.

 xtf-runner | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xtf-runner b/xtf-runner
index 6352a5b..5741e64 100755
--- a/xtf-runner
+++ b/xtf-runner
@@ -403,7 +403,7 @@ def interpret_selection(opts):
 
         host_envs = []
 
-        cmd = Popen(['xl', 'info'], stdout = PIPE)
+        cmd = Popen(['xl', 'info'], stdout = PIPE, universal_newlines=True)
         stdout, _ = cmd.communicate()
 
         for line in stdout.splitlines():
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 11:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 11:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585301.916379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWb60-0004jj-8M; Thu, 17 Aug 2023 11:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585301.916379; Thu, 17 Aug 2023 11:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWb60-0004jc-4c; Thu, 17 Aug 2023 11:23:20 +0000
Received: by outflank-mailman (input) for mailman id 585301;
 Thu, 17 Aug 2023 11:23: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 1qWb5y-0004jS-1e; Thu, 17 Aug 2023 11:23: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 1qWb5x-0002PS-Pr; Thu, 17 Aug 2023 11:23:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWb5x-0005fJ-7B; Thu, 17 Aug 2023 11:23:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWb5x-0005Jg-6e; Thu, 17 Aug 2023 11:23:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uho8PAlo5Kpi16cyLTPAYsjSap4ftvUPMSKLG7yo29M=; b=L7boeRZjlerm5hX9ta56K13wnF
	yCZ3yxW429fAw8zYHUlnp7q7queqw+LDqoecCmNBpei8n9ZFZ6FVquDKccKhHVr6kBCg9WPg/BCZN
	7+9UVYBjhmqrVMZsB1l/scVy1GZUuBVPamdUpecsMPrQy5W81twt8i9XPK4wqsPho2dg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182367-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182367: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=d0eabe3eaf0db5b78843095a2918d50961e99e96
X-Osstest-Versions-That:
    xen=d0eabe3eaf0db5b78843095a2918d50961e99e96
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 17 Aug 2023 11:23:17 +0000

flight 182367 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182367/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 182359 pass in 182367
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail pass in 182359

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 182359 never pass
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install             fail like 182359
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182359
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182359
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182359
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182359
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182359
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182359
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182359
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182359
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182359
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182359
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182359
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182359
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-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-amd64-i386-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-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     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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-raw  3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl           3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate           starved in 182359 n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate           starved in 182359 n/a

version targeted for testing:
 xen                  d0eabe3eaf0db5b78843095a2918d50961e99e96
baseline version:
 xen                  d0eabe3eaf0db5b78843095a2918d50961e99e96

Last test of basis   182367  2023-08-17 01:52:00 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 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                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 11:39:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 11:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585309.916388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbLC-0006KU-GU; Thu, 17 Aug 2023 11:39:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585309.916388; Thu, 17 Aug 2023 11:39: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 1qWbLC-0006KN-Ds; Thu, 17 Aug 2023 11:39:02 +0000
Received: by outflank-mailman (input) for mailman id 585309;
 Thu, 17 Aug 2023 11:39: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 1qWbLA-0006KH-Ve
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 11:39: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 1qWbLA-0002hk-9u; Thu, 17 Aug 2023 11:39:00 +0000
Received: from [54.239.6.180] (helo=[192.168.0.78])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWbLA-0002oP-3V; Thu, 17 Aug 2023 11:39: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=0tqbUT7x5pR5jMFJ1xTQa6fUZZov5HVLwQuhA0LGwQw=; b=QVk0YLqKAZT2+x2vyv2dkw02uI
	fm/wfLMObxZr4ByEEjsl5IB6cQIZzxeMwvgkr7fQ0+S0rS9Om3CONF6/vJ/T44FY4m08moFahCA2u
	M2LFnYUvQt8p0vGgb3Jj5zgGs+icCpDHmozzngTE1F4COJznkFeu8De630la73z0S7iA=;
Message-ID: <337ec77b-c74e-4738-88b3-f180afd88529@xen.org>
Date: Thu, 17 Aug 2023 12:38:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] misra: add more entires to exclude-list.json
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
 <472241eb-0417-46e8-b713-79586642df55@xen.org>
 <fa50cb01-1d4f-a7e1-28f5-ff765d798e51@bugseng.com>
 <88c992b7-bdd3-201b-1c06-d5984f7d76bc@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <88c992b7-bdd3-201b-1c06-d5984f7d76bc@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/08/2023 11:13, Federico Serafini wrote:
> 
> 
> On 17/08/23 12:02, Federico Serafini wrote:
>> On 17/08/23 11:57, Julien Grall wrote:
>>> Hi,
>>>
>>> On 17/08/2023 10:55, Federico Serafini wrote:
>>>> Add entries to the exclude-list.json for those files that need to be
>>>> excluded from the analysis scan.
>>>>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>> - fixed indentation.
>>>
>>> What's the difference with the other v2 you posted ~10 min ago?
>>>
>>> Is this the patch we need to review? If so, can you review on the 
>>> previous one to explicitely say it should be ignored.
>>>
>>> Cheers,
>>>
>>
>> There is no difference,
>> it seems that two mails have been sent,
>> sorry for that.
>>
> 
> The patches to be reviewed are:
> [XEN PATCH v2] misra: add more entires to exclude-list.json
> [XEN PATCH 1/2] automation/eclair: update configuration
> 
> When a v2 of a patch within a series is needed,
> should I send a v2 of the whole series?

It depends on the situation. In your case here, I would have commented 
on the patch that the indentation is wrong and wait for more input on 
the rest of the series.

If this was the only change, then most likely it could have been dealt 
on commit. Otherwise you could have sent a new revision for the full series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 11:47:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 11:47:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585315.916398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbTM-0007rP-8q; Thu, 17 Aug 2023 11:47:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585315.916398; Thu, 17 Aug 2023 11: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 1qWbTM-0007rI-6H; Thu, 17 Aug 2023 11:47:28 +0000
Received: by outflank-mailman (input) for mailman id 585315;
 Thu, 17 Aug 2023 11: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWbTK-0007rC-NT
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 11:47:26 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7d00::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4ced680-3cf3-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 13:47:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7486.eurprd04.prod.outlook.com (2603:10a6:800:1b2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 11:47:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 11:47:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4ced680-3cf3-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZcOdI9JKhJf33ANn6u9EwwQQ6sJhkNBo0x6vAKYcpTsPD9K//zkC0D2c3mk2bJ/P7DEH7iX0MKlfwSgbt/E9+yOjL8I1Emhkj1lrdpePCIj8dO/WVEKMPk/smXb02aNZyQUYjTa4GjRAacdFpAiMU7Y5W/VrKaCc1MJ+gQSyUA5Qvg7QOrNmIdrUNvJTrTqABGRTmZ3ldbwhWBJovUifYA6ARqxJg96OOeUsjoaXP5DxTxpcqMwSkW6LMOxefLteKklTaUGAKhs18M0Yxp5SVRoHJ9lWiw3Ru76L4ojY70DwBWs2g5Y4x0+5KnukUDtdXTesYWR8S0ebBfTTBH4FcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EIUEJ0eqIWAgWmGZLWK/2DewBJrOKlSR8KnpIr3cvMc=;
 b=VXYRjp49DKLrU+uF/sEBlY6dfVMEtje4vWFICTsjXLmFqvEDZWU4zC3RY7aHyxLMdhNw1gjPZbuX9Pp2YWYnq54uYm5OAyaQjIhkP0+zyUT/Izomk/HwOFQ3CHZOAk6QFYnT5ZQK30ozNHbWTtHT0tP/9hD8w5QKktCeIdPniUZjIP/LNOGK1j9rH0CsZGjWzpL+5i+bxu7/EFyXQfLDaVKRKDKqeOeE0l+BDjo/lfbPsMQkx1eQ8QMXtbR2RLus4uln5srYRerdmxizduGU7cRYlxui7/mDKPEpZazfaQGxxTdHSeB0+yQNJU4Wm58oWbcXpJ0NkWJjgAjSGC2vaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EIUEJ0eqIWAgWmGZLWK/2DewBJrOKlSR8KnpIr3cvMc=;
 b=BbCVstM0BrBACdsSWKQw/K5mu0+2PAw+Ozrrn4pqScYF/uGdfMJ6ZP310O63U5L2tX5l3FuFz8cDR3cx33I3f015IUF5FnhDPvW3ztJey3ipdEJMaBVRQE9AyZ0zgepJim1ERGqFBOeUFOnVG5CD384/ckH60KiieAZUbjw2+KJMahhH4WTYJVLmKqBSYdK8E1oPpOZWaOhuXOI/22p/3ZaRa5whu3Wgk5tFtCWXLBuX6ov4g8E5vXbLqqLa13tKSFbnJHKdkIJ8kZ84d+U4Gr2MlaXDpPGq5A2Dgam0H8BgAccvxumJWdrty9IOgmAGr+W4/8ffCW92zqqEHIeOnQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
Date: Thu, 17 Aug 2023 13:47:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7486:EE_
X-MS-Office365-Filtering-Correlation-Id: 00ff2c4e-9f82-4d41-a958-08db9f17b7ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FA2P33jnoMZQLJfhOVrlGRbnB/Irk3vvsx+8XrFmiujmVvagMnwNHGh288oYSmC/Kte6G0sdb4MFVkSHMW7VBvBlN3qYjUsdVH8grjei5lsVOCUgKCgIjtDuOGU65t4MxwWrycRr1vORqEAYp/TYCpaNQeDwaMdmFtULJ9CEUS9htpehCnnnTnAozYZgbxicAbGNhj9ZAXm/E/USmHOsLOBW/5iifVNp+podTYy5d7vC563PCQNivrUAnrNFYuXUxWaAMBOnTMueE/RRU4EyzS9hVNqAcSWLkLE79eLNFvoDabnmWoO+d5kfl2jrQCs6kN55uJUXNGKKkJYoSgTF4fR040vXQEHbOqdXNCjHQO89xtMA/i71zGfOwrfC+x7f91VenuhZYhZs5zWN0qXogWKB2SyoIOEpZQT8E6AgFe3PkXB1RRHHtN1ygVN8kQjM8+p9MYAAN++gAfHF8HXoJPlPJKaWv4LX4YtBv/xMAyNBu9NRxbXdeFVOrdi4i2zPn3pSLviZ2Ja5oFtrmzQXU5A/nQy70Ubi4YJeVKT6B4pom1ePGeMFHCQcXtX99NgyEpGb31mmZpPSgm9+O2LdAqUtitRsFKs7fiV3eKElIKQhftD7wZ3VNA3eYh5VESShurUQv+Y1pqz21m92rsv/AQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(366004)(376002)(39850400004)(1800799009)(451199024)(186009)(6666004)(6512007)(6506007)(6486002)(83380400001)(31696002)(26005)(86362001)(38100700002)(36756003)(2616005)(316002)(2906002)(6916009)(41300700001)(66556008)(54906003)(66946007)(66476007)(5660300002)(8936002)(31686004)(8676002)(4326008)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjlNTERIZHFnVVNXc0JoSVJyZUVDWHk4Zm9jdVkwaUVkZFJLVlJkamEyYktI?=
 =?utf-8?B?a0JobTFkV2tWU0p4K0xCeEFkUGc1RDRCZkdwU0FmcjVQV1FUMzlDTEpQdjly?=
 =?utf-8?B?NWI4OXMzRno5ZFRROGFLNjZUb09CNkZVWmZKckEvVENwMDNZbG52bVU3Ty9q?=
 =?utf-8?B?eTdKV3RZWkczdXpNaWtNTWh6Z0lSMnIzMDRwRmxWM1N6Vmx6OEVOa3ZuVlc4?=
 =?utf-8?B?RlRhcDBMaFlQMXp0bDZZWHhydmdJb1BkelJucUcwaUF6eEw3TW8xL2RSdUhj?=
 =?utf-8?B?aERaaG91OG1GcUF0Q3laVExlVm05MmVDMG5JMGprT0YxVHlDS1h4VjkzeHhq?=
 =?utf-8?B?MXE4UXNEMlhPQm5YNHJ3VnJYMnlldFZYWmJqMFIyNFBFRUhUcW1sMXp0ekFY?=
 =?utf-8?B?Y2Z2aEwydEhxZmYvYzVqUUlyeEFwS3owNjQ5SXEzaEwzdEI4OWNYNTFrckdY?=
 =?utf-8?B?Zm83eFFXUDUxOWdRUG5sSFdPZE44NVpEZ3ZyWThnUFdNOUR2VUgvVnVPMDJP?=
 =?utf-8?B?NCtwVDZZaElLL2dVd1FLbU9UeS9vTmF5aTFLdm00RzYwTXZ0Si8xRjJiVXo5?=
 =?utf-8?B?Q1FHSmNaZ1YvRVEvSm0yS1pldkdMZnNMVDZVRHRCcU1ERTMvOFIrSDNUaVBv?=
 =?utf-8?B?MWxYNHVGeTJSN0ZielE4UWxQRmNXanQ0c3RuVmd3RDh6dlQzQnRRSCtsc2JT?=
 =?utf-8?B?YWpmVk4xNG1oTnUrVkZ2SzhialVyekltU25uK1hSaG1ERjFoTTZJUUt5QXdy?=
 =?utf-8?B?YVIxQjVhNkowNkFUWGdxT21RdWErWURtV1A1WDVxN0RIN0k3Q1Z0SkhKTDg5?=
 =?utf-8?B?VGZmWnhQSFdQQVNFbnZrSTBFdXRFMlR0aWR4NWtrMWlWdElBRG5iN3dKY2pK?=
 =?utf-8?B?V0p1QStxb2M4Sk1ZeHJMaGkyd3JEOVFSTUZRRjNvTkdCQVNhV2VNcjkxQVJ6?=
 =?utf-8?B?M0VoN1hJRUYyMTRjdmFVTDVzZ3FGdGVvUTUzQ2pOVFJtb3BweUtGcnJMZXov?=
 =?utf-8?B?NWd6aSt0WlBhOGpiY2dUVW43OEdDMWIwTkZkZmdVZlB0TndIemc0b3gzY0xU?=
 =?utf-8?B?S3lUdFFFdk9JczlteUMzdERCWFJnYWZJb21LUWFVMmsweHJpKzc4czRpdTI5?=
 =?utf-8?B?anltcWhSUERGc3RvS1V0NUlQVzNVV0RXallQZ0haS2pYTDBwSTVkZWJlVnpM?=
 =?utf-8?B?SGI0NjM5clJnOVZtMFpLZzB3YkEwVjNzbHBqWFdNdTBncm5hUEZ2azlYaTZL?=
 =?utf-8?B?TC8yWUhCaHdoRHBhWE0xUkFGTUMzTU1jc1BhdVpJV1ZMUjVXZTV4bTliV0Ni?=
 =?utf-8?B?RzFSUXVCNGtZM1E5V0hyOG10d0ViSUw0NTc1d3ZvM2xmZktCaFBuZkhUYUg1?=
 =?utf-8?B?RlhpU3JyYVdsRnNSekJ2TERQMWZPQXRlbncxTnU2N096bjRTbmZlWXE0cjc5?=
 =?utf-8?B?bmVYMDZlQ1RXdmtCWnlNRURvN2FWZStBbEx6NTRGRU9iT3VPYk0vOXQ1Q0Zz?=
 =?utf-8?B?ZFNTU2hML0IvYlUxU0xhVjB5NlpTd2dlR21KRWdwNzhFcXpMNEhWR3BKWDJO?=
 =?utf-8?B?N2t0NUx2cGdTZVQvc3VOWjZQbSs2WFdaak5udWRUNHZuNXZBZ0ovZjBJdE9a?=
 =?utf-8?B?M3RtMi9nWEtpMjM4ZW1VSmpTTVpORi9IUStsc0dmdnVXQWZXT1FrSnJvcWEv?=
 =?utf-8?B?QW15U0pPWTlRYW1sV0tuVWp4d0lndUxkSml5blhRL01UdytJU1NJNVBVVURV?=
 =?utf-8?B?RmxpUVp5TTRyTWlCQmJsRVJ1Tm9kOWpPRzVuY1VjdzN4OEtIRW8wRVdmZlVV?=
 =?utf-8?B?QjZJZE5IdlU4WXcvSHdEMmJTOWxsWHJCT2syWFpNbjAvbCt1VUIyRGwrUmtM?=
 =?utf-8?B?Sys2MmVZSnRnT0syRmM5MEljQ3NEN2l1NlBQUWJ2bEp2NUpPQzBpeEpqZUgx?=
 =?utf-8?B?TUNOaXRZUGVkSDdldG5HbGVLRGYvbDdKTzJVOFhORFQwMHJtMlFPMDFrb201?=
 =?utf-8?B?YmZyeEdMRk5zb0kvODI0ZGFpZFZ6ZWFUNkZ6T3Y1ekFnNzRzazZHNE41RytO?=
 =?utf-8?B?a05BY0hDd2hhbFZKSHQyMWllcWJIUDZ5ZjJKZXAvellLTXdUTzl5SHYrVDBC?=
 =?utf-8?Q?a+z4yuLFlEVovdiEqK91shzlL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00ff2c4e-9f82-4d41-a958-08db9f17b7ce
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 11:47:22.1415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WkqUvXIbjVS32eNo+4RBA0M1nxugBQFUBvgNW5y5RzLORxUzDDXHnYaBvy6sSUMFnikUgUhtjBLvM7oD1BY7EA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7486

Our present approach is working fully behind the compiler's back. This
was found to not work with LTO. Employ ld's --wrap= option instead. Note
that while this makes the build work at least with new enough gcc (it
doesn't with gcc7, for example, due to tool chain side issues afaict),
according to my testing things still won't work when building the
fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
getting invoked, this does not happen with gcc13. Yet without using that
assembler wrapper the resulting binary will look uninstrumented to
afl-fuzz.

While checking the resulting binaries I noticed that we've gained uses
of snprintf() and strstr(), which only just so happen to not cause any
problems. Add a wrappers for them as well.

Since we don't have any actual uses of v{,sn}printf(), no definitions of
their wrappers appear (just yet). But I think we want
__wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
which means we need delarations of the latter.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -35,6 +35,8 @@ OBJS := fuzz-emul.o x86-emulate.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
 OBJS += x86_emulate/decode.o x86_emulate/fpu.o
 
+WRAPPED = $(shell sed -n 's,^ *WRAP(\([[:alnum:]_]*\));,\1,p' x86-emulate.h)
+
 private.h := x86-emulate.h x86_emulate/x86_emulate.h x86_emulate/private.h
 
 x86-emulate.h: x86_emulate/x86_emulate.h
@@ -51,10 +53,10 @@ x86-insn-fuzzer.a: $(OBJS) cpuid.o
 	$(AR) rc $@ $^
 
 afl-harness: afl-harness.o $(OBJS) cpuid.o wrappers.o
-	$(CC) $(CFLAGS) $^ -o $@
+	$(CC) $(CFLAGS) $(addprefix -Wl$(comma)--wrap=,$(WRAPPED)) $^ -o $@
 
 afl-harness-cov: afl-harness-cov.o $(patsubst %.o,%-cov.o,$(OBJS)) cpuid.o wrappers.o
-	$(CC) $(CFLAGS) $(GCOV_FLAGS) $^ -o $@
+	$(CC) $(CFLAGS) $(GCOV_FLAGS) $(addprefix -Wl$(comma)--wrap=,$(WRAPPED)) $^ -o $@
 
 # Common targets
 .PHONY: all
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -259,8 +259,10 @@ OBJS := x86-emulate.o cpuid.o test_x86_e
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
 OBJS += x86_emulate/blk.o x86_emulate/decode.o x86_emulate/fpu.o x86_emulate/util.o
 
+WRAPPED := $(shell sed -n 's,^ *WRAP(\([[:alnum:]_]*\));,\1,p' x86-emulate.h)
+
 $(TARGET): $(OBJS)
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
+	$(HOSTCC) $(HOSTCFLAGS) $(addprefix -Wl$(comma)--wrap=,$(WRAPPED)) -o $@ $^
 
 .PHONY: clean
 clean:
--- a/tools/tests/x86_emulator/wrappers.c
+++ b/tools/tests/x86_emulator/wrappers.c
@@ -1,78 +1,103 @@
 #include <stdarg.h>
 
-#define WRAP(x) typeof(x) emul_##x
+#define WRAP(x) typeof(x) __wrap_ ## x, __real_ ## x
 #include "x86-emulate.h"
 
-size_t emul_fwrite(const void *src, size_t sz, size_t n, FILE *f)
+size_t __wrap_fwrite(const void *src, size_t sz, size_t n, FILE *f)
 {
     emul_save_fpu_state();
-    sz = fwrite(src, sz, n, f);
+    sz = __real_fwrite(src, sz, n, f);
     emul_restore_fpu_state();
 
     return sz;
 }
 
-int emul_memcmp(const void *p1, const void *p2, size_t sz)
+int __wrap_memcmp(const void *p1, const void *p2, size_t sz)
 {
     int rc;
 
     emul_save_fpu_state();
-    rc = memcmp(p1, p2, sz);
+    rc = __real_memcmp(p1, p2, sz);
     emul_restore_fpu_state();
 
     return rc;
 }
 
-void *emul_memcpy(void *dst, const void *src, size_t sz)
+void *__wrap_memcpy(void *dst, const void *src, size_t sz)
 {
     emul_save_fpu_state();
-    memcpy(dst, src, sz);
+    __real_memcpy(dst, src, sz);
     emul_restore_fpu_state();
 
     return dst;
 }
 
-void *emul_memset(void *dst, int c, size_t sz)
+void *__wrap_memset(void *dst, int c, size_t sz)
 {
     emul_save_fpu_state();
-    memset(dst, c, sz);
+    __real_memset(dst, c, sz);
     emul_restore_fpu_state();
 
     return dst;
 }
 
-int emul_printf(const char *fmt, ...)
+int __wrap_printf(const char *fmt, ...)
 {
     va_list varg;
     int rc;
 
     emul_save_fpu_state();
     va_start(varg, fmt);
-    rc = vprintf(fmt, varg);
+    rc = __real_vprintf(fmt, varg);
     va_end(varg);
     emul_restore_fpu_state();
 
     return rc;
 }
 
-int emul_putchar(int c)
+int __wrap_putchar(int c)
 {
     int rc;
 
     emul_save_fpu_state();
-    rc = putchar(c);
+    rc = __real_putchar(c);
     emul_restore_fpu_state();
 
     return rc;
 }
 
-int emul_puts(const char *str)
+int __wrap_puts(const char *str)
 {
     int rc;
 
     emul_save_fpu_state();
-    rc = puts(str);
+    rc = __real_puts(str);
     emul_restore_fpu_state();
 
     return rc;
 }
+
+int __wrap_snprintf(char *buf, size_t n, const char *fmt, ...)
+{
+    va_list varg;
+    int rc;
+
+    emul_save_fpu_state();
+    va_start(varg, fmt);
+    rc = __real_vsnprintf(buf, n, fmt, varg);
+    va_end(varg);
+    emul_restore_fpu_state();
+
+    return rc;
+}
+
+char *__wrap_strstr(const char *s1, const char *s2)
+{
+    char *s;
+
+    emul_save_fpu_state();
+    s = __real_strstr(s1, s2);
+    emul_restore_fpu_state();
+
+    return s;
+}
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -32,9 +32,7 @@
 #ifdef EOF
 # error "Must not include <stdio.h> before x86-emulate.h"
 #endif
-#ifdef WRAP
-# include <stdio.h>
-#endif
+#include <stdio.h>
 
 #include <xen/xen.h>
 
@@ -88,11 +86,7 @@ struct x86_fxsr *get_fpu_save_area(void)
  * around the actual function.
  */
 #ifndef WRAP
-# if 0 /* This only works for explicit calls, not for compiler generated ones. */
-#  define WRAP(x) typeof(x) x asm("emul_" #x)
-# else
-# define WRAP(x) asm(".equ " #x ", emul_" #x)
-# endif
+# define WRAP(x) typeof(x) __wrap_ ## x
 #endif
 
 WRAP(fwrite);
@@ -102,6 +96,10 @@ WRAP(memset);
 WRAP(printf);
 WRAP(putchar);
 WRAP(puts);
+WRAP(snprintf);
+WRAP(strstr);
+WRAP(vprintf);
+WRAP(vsnprintf);
 
 #undef WRAP
 


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 11:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 11:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585322.916409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbbU-00015I-3b; Thu, 17 Aug 2023 11:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585322.916409; Thu, 17 Aug 2023 11:55:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbbU-00015B-0P; Thu, 17 Aug 2023 11:55:52 +0000
Received: by outflank-mailman (input) for mailman id 585322;
 Thu, 17 Aug 2023 11: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWbbS-000150-RV
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 11:55:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7d00::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00405b43-3cf5-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 13:55:47 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7179.eurprd04.prod.outlook.com (2603:10a6:10:124::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 11:55:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 11:55:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00405b43-3cf5-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jn0MQrdBEQMOlC67wPpIC1subj1xXuHDNsp5AoYiU7zeO+95QOwU0NSP2sS4CP66ZqfbwMe9tAjwwThAOi2lREvPITlhUMLUQTu+hQ68JcksfFt7U05uXa+dwznLkvplA98Y/5TkOhWtfXBi9+Bd9lMVXVP4E7DPX2Kt/obZejndy7qL94hlr1TiEgwZ+1+EiaDKYC+pZOtRHS+rWemK4Ri9fPtiqT2uC0AvuUFPmtLSagvf5HYrxYkOaAYOYRfEQ6rCqmMqIkXHnUAKZ3jPkZu3EX1RsdEOI78sCubOrBCx00ikuIczOsKkuElpxvksml6ZkGGsLG45sCQlV0nh0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iZSHvH2MBApMn2n777J7QIqKu5B/kLGerqO14PS7VTU=;
 b=ZklvL1PjEp9d7fNyiiYT5FVlfZzncv1J1t93+FKeQXPoTET+XGNaGV3yXgpHMRamlls7SP0XD47eBlTpAmEactz0xdwxmSzSXKGfE3eNgp5l9jAPZRK0YTRGU60Q6xNHKLJ+EhUpCBaI+wKzhxvXjgdsQuQhLnrIuzXRw4Od8LvFrZxpCM4Axkh9ft7NONNDhzgrLE8t7A6NkAf62+Fn39ouKMlbj2fWpyiIry/N0MldliN9sDKsM2umllSMC+yVcrIHXOZ1mmdCsJVdx5+hpEU1jMHWvCyMRbZKNVu5U9IJ9Q0TLWPbRK7P6dXqEQV1L23bYzXGc3K5R6n1FjU9KQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iZSHvH2MBApMn2n777J7QIqKu5B/kLGerqO14PS7VTU=;
 b=OP3Ain2sI4RLqJxUPxh5n8q9A536mElJ/byqXw4AKghdauUCix6VPiANxlSwxYgk0Q5AiSbzL1X/GTKS9Y9lklXHtspbn8nMIxgtzeVY06Lee5fqNu6M4JriENL53ITtglSakTk3B5zO0lkI5aW18vmNJRuG2RzZt8I6V2/bxy57xEkiEE/kIEhphRvoYEXLV0pa141+gJnN9hXmCvJMQ99h+Zn/PMlAtL2kDrbQkCJ++DVkxaEuB49nN+B6Iqz7fY11L7cfqpjaVFRxHKm1FBLfPArwyp4S8nUxDG+2xWLRSi3ilMK+R+lohIscHMEGHKaZwizbSeH20Z2aiZvzUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f1b721d-8784-34fa-5d72-f115a38cc877@suse.com>
Date: Thu, 17 Aug 2023 13:55:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Xen 4.17.2, 4.16.5, 4.15.5, and 4.14.6 released
To: xen-announce@lists.xenproject.org
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0249.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7179:EE_
X-MS-Office365-Filtering-Correlation-Id: 31030da6-3563-46fa-4f1a-08db9f18e376
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N1xxYR5KhWbwxbBfUZaxSe9gLRuDuBA68pKesAY520+CiYaGx4APN407Af7gI8HbNtFnF/EWEGl3Kdm67Eja1LX8XVmRbK/pLfGxql0lFeM1bnoJEkt3wBm0J9D+hmKVKym+PZwLPgaKqfq5r8iVV/mYgG2aR3Y9gSv+IlQdO3JlFkalPx2eIf1i9UyE7YT56VeUQemVocjf1dHGnsmO/gF6RjN2VnWVD8v1wk2dPtXYClMZYEc7Ue52ElnWegwsWyVb9yXERL7SGIXORjXS06BRCfyZCUkaxPcnB+Y5DWxEXDVOlsKvynBfQsKKfUYJ53GMVOOI4TQ2XiSnp546Tpg+Y9ZTcDsNP9fZESPWmB/076A/SpSGbt+/McnyYnB3Jvmk1C8mxjSpj7uDeXAsl+mybEswXj0ZCj44CJM5TDFDP3oc773tXfioo3duU8IBS83wckde+FpiKljoO+HwAjhYHnYv3ype8J7XKr1e0OLbsvHDkUuTFSkXtUcGGl0tEcchCsbhOkPuoJNVkBGFqcK7weifbP0IDZprechU6Z6WhMUykwWoInvfqXLsfHNNGxDU39+93cVHNRSHGE4LnbRci2y/wtdOJjBzpTf4qyHx6h7xNCD783Pq9VsazDCDsVcXrrB+INxJJxECNRlw4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(346002)(136003)(376002)(1800799009)(451199024)(186009)(316002)(66946007)(66476007)(66556008)(6916009)(31686004)(966005)(5660300002)(41300700001)(38100700002)(4326008)(450100002)(8936002)(8676002)(26005)(2906002)(31696002)(83380400001)(478600001)(86362001)(6512007)(6486002)(6506007)(36756003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NUhYZUtZODRrUEE3QkJtNnJHUVNIOHJIUE1KU1k0MTRmRjl5TGd6cExxdmNJ?=
 =?utf-8?B?RHVldklhcnVGRUI2YU1ySzJPcndoektrT1U3b0pJWGVYR1BjUHozRUF3OTdz?=
 =?utf-8?B?dUN2eU53ZFpFUWNIenlCdVNwZjR1aWlQUkVPSHFtSzFKR2V3VGMzVi9DTU83?=
 =?utf-8?B?bHNRMTdIOWEvbGYyaDA5M3BwZldYeStVeWRncXhCNndTY1I1ZlpBY1NLckpo?=
 =?utf-8?B?MEtBWVQrcHdMNlJ5OVE4WFh6ZVRIK1RlZCsvbVZJdUhnWjZjK2hmQWNiazJU?=
 =?utf-8?B?Y1dXeVUxbFRhRzBiNkNaMFBvSjZZMVFFcEc2NG9OUTlmeC9VVEhNOUhHRXBD?=
 =?utf-8?B?R2taRFByZGl4VFIvRHpXTlp6OVdkRXN1eE5UcmZ1bGNNSEJwdlVUakhteGt3?=
 =?utf-8?B?UTFSa2NqWXdsU2VjRjNwRzU3ZU9BRG0wRjFMTW1mQU5LREJRV0NPU3VJMFBr?=
 =?utf-8?B?dDlxTzg1RytlZHpvMVlqT3JheVJLK0pXMlBLQ1VNcklpTWhSOHF3SUx5OVBQ?=
 =?utf-8?B?RitBZ1pCQW85NVluVm1rQSsxT1dRdHVLRXNXY2xuU0hiUHdGOVRDaVFXdlEw?=
 =?utf-8?B?MUY5R1JWVis0cWk2L292U3BXZGo0QWlFazlpbG5sWHluKytuM0NXd3pBK3Rs?=
 =?utf-8?B?MEd5NFBReThQREJCSkRoazdvK0JVWXliVlpoRlNGdER0dXNhMXFZNFpQSVZM?=
 =?utf-8?B?S3NtU3hzZ2NZQlNDdVVmZ2M1eE1rbWprZTNBUU9EVUhEV1VCTGtTMUJNOFVM?=
 =?utf-8?B?eG5VcHdSL1NsUUN1R204VDlWejMyNUlqK0xEMVoyUHZUc2RJUlduNDZWdGgx?=
 =?utf-8?B?QWhyck5rejluODB4aytqbDZNNlU2Q291LzE4R25GUXlSMnpzSEJrUDgzL1Q3?=
 =?utf-8?B?RmUxQ1BpN0FRdEJOc1hVTXhMSlUxbTliclFPYVZPc05QWjlUOHc5bjNDT01K?=
 =?utf-8?B?eDZGRWkxeWlMMHprZTREODJZR05GZXlHMzBBbTdOQjRVMWk1ZEsyczl1RzJM?=
 =?utf-8?B?TU5VUGJlZmpNTDZmZGxHSEQxWXJrelIyRW4zMTVVd21vWTJCYTcrYlhiSG1J?=
 =?utf-8?B?a25JU2E2R3JzTEZwdkRacFZqMG8xYjFFdEptNW9IOEFUbWVnNlpZSXUrbWpr?=
 =?utf-8?B?R21vcUFldlRZZ0l3ZmxtTmEyb1A1ZFBVT0E2elNKc09JelFCaXpDS0x6SERa?=
 =?utf-8?B?Y2V0eVpTTGZ0UjNlNWlRYjEyaHZiK1BCSGZWUFVDMG1MNEd3T24wNWdBNU5H?=
 =?utf-8?B?VWUyUkl0V3RKTVcvNFlXT0hEUWFVQmxzY3JPK0lNcXZsKzNMS0UyMHhmSlNV?=
 =?utf-8?B?WVpPK2hVQ2pETWhobkdlMmNiMEl1T2tPWFk0TTJud2pYTDdmUVM2SkdWeVFP?=
 =?utf-8?B?WHZZM2NvUkpEc1hoWXVtTHhjQTVvalNJRldvbW9oL2tmOFQvUW5Cb2JyaFJl?=
 =?utf-8?B?UjI3bW5waEFZVHlaU1NXM0pMdiswZEFvWTM1WFhTajNNSkt6MXNPL09NbkVX?=
 =?utf-8?B?VHk2bkF6eGRER00rdmRlbXNOTVdEZEtzcjB6S3JTR2piQ2llaWhaQmM0bVg0?=
 =?utf-8?B?OXRkYzlaWnhYTW8yYUNyQ2pQdklEQ1NzVDNmTTBpb0I4ckhLSVBTeVdyL0Vp?=
 =?utf-8?B?QVN6azJCSGl4bkdXamp2Ymg5MUk0Rkw5VWhlZU40ZEpsZXAyaWVFSC9CSXg4?=
 =?utf-8?B?eWVKNWJTZDVlN2U0VnN1cnh4N0QrcWNQZTh2WnE0OWdORGdIV0RMSitzOTE0?=
 =?utf-8?B?YUJWVEEvVmx1TytNdkxzaHNqVmpDY1IvdU1MVWh1Z1JobE1BL2k0a1lBeEx6?=
 =?utf-8?B?TjgvRXpRUUVIYVpqSmtrVTh5MlVHL3RFamVnT3M2L1F4am9VdnhCVldYK2k2?=
 =?utf-8?B?R1R0dlNZZ2xUUENDTHFMS3M2N1oyUXdMODlQL0syQjc2UVJzK0VGNDRzZUYx?=
 =?utf-8?B?TUx3ak5pSCtvQ09yS1BmN1JVbEJaMGQ5N3BxL0h5T2JtNzJzcjBaaVNXWnor?=
 =?utf-8?B?cHFZZWo5dnh2aWxDNWJtYTg2bzZSaGFBeG9oTUFCTTJEaTdvTHFjOFNtVXdr?=
 =?utf-8?B?TTI5R056RXVGeHh6ZXVBWjlNUG1tekFpT3V0b3BZSEozNHphWmtlUnNlZDZS?=
 =?utf-8?Q?K01PF/P97N4/NYzBCrRazllV1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31030da6-3563-46fa-4f1a-08db9f18e376
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 11:55:44.8487
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uhiigKm0rfvlgxeFgRuOoCvmkGquba9BOuOeVWVaYBvh9mqfM5lDQe3DIyjwJuidxzG4slzhmucYI93O5EGroQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7179

All,

we're pleased to announce the release of four bug fixing Xen versions.

Xen 4.17.2 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.17
(tag RELEASE-4.17.2) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-17-series/xen-project-4-17-2/
(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.

Xen 4.16.5 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.16
(tag RELEASE-4.16.5) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-16-series/xen-project-4-16-5/
(where a list of changes can also be found).

We recommend all users of the 4.16 stable series to update to this
last general maintenance point release.

Xen 4.15.5 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.15
(tag RELEASE-4.15.5) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-15-series/xen-project-4-15-5/
(where a list of changes can also be found).

We recommend all users of the 4.15 stable series to update to this
out of band point release.

Xen 4.14.6 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.14
(tag RELEASE-4.14.6) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-14-series/xen-project-4-14-6/
(where a list of changes can also be found).

We recommend all users of the 4.14 stable series to update to this
last point release. Its branch is now closed.

I apologize for the delayed announcement.

Regards, Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:06:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:06:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585355.916432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWblW-0003ij-Eq; Thu, 17 Aug 2023 12:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585355.916432; Thu, 17 Aug 2023 12: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 1qWblW-0003ic-CE; Thu, 17 Aug 2023 12:06:14 +0000
Received: by outflank-mailman (input) for mailman id 585355;
 Thu, 17 Aug 2023 12:06: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWblU-0003iW-IN
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:06:12 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7477a833-3cf6-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:06:11 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7889.eurprd04.prod.outlook.com (2603:10a6:20b:24c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 12:06:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 12:06: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: 7477a833-3cf6-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BnKF0xnDoYxOObnccClGZ5Pzvm6dbh3nxj1eq/7Lzme6gFR6TDjUSyt9y1+gFI4oRdK81JXetH6aNIpnB9MsjL57tXnsG6sQZMhHoHKn1jC0eTt5aZg4O2+RCUSNgAWgQ7HeJaNcfPX5IYyTpDhpCrkW5m9/RmFtRJ2/zLQ3H49vnzS1OixJrvZZhDXP+G6zRjG52InnwBOWW8HKpEfLql5iO8rx1UCa0lLYQGhmcyzrgTdKgOwA8HwtDmBqx5MycNEu5K0UAhkvhKJv1sStsTCOOK3VjS0wYm+3qbAUk6lFUJnNhB/JrRYrqqQa2Egwwf0RSTEI1nkSIejNWAjYVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4mPtjayPNCJ8hjLQ4QXzKVfpGJcoAG3WNasPcDQcPaE=;
 b=Vv4Mtrmkxs8NeMNvjxaRB8XLHLlFcYUAk+RytlZ51MmlMWSJ1XTVBIjOKXO/ws2WnMayB64yrSm2nWHGdZfnMHxf5vGGjJwiR0hRJ9s1OZnW1jd2db8hGg6rX4GSad8iHU1Ed8H2MWCfu5KhGzrlWOlChl25eFwff+X2R5BCBmieIUfw3jjsFx/6/j2VO/kTNtm0pRZqwNw3D4Ie4GU/WCdjqWbOzy2JZYy3TH/+B8z5cVECzaJNrnyIBFjok4Ha1vhLjRvDrTDW1BvNvd3yqRGlLTF43Rq/iBXDXiCXj+YkPanbvD/u/tiIDJEvPiWTn2iombFjDpVSVwgvTo6tbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4mPtjayPNCJ8hjLQ4QXzKVfpGJcoAG3WNasPcDQcPaE=;
 b=D7CYHB8DeD0Hr711e3GYxOn/wJ2fUUCEg+sF5tbR0x9CPyLf3nuVG0iRAYaMOfl8DOds7GUvpg3DOchlppUcvuAgzXkrCJ/H4fZPAPUvh3H8cdkNXtNiwIg6Pl6tJXWl0SF117SzulcumBJbvdaBuWaRTAoWlL8kzZ5W3wQaS6BE7ncPgeJScJRSNyLx/5r9+Abbd8RG2P29e5bEv0eMU2GYSrATZqVyCJLlBGE+xoGqgjXWtkSkRwopOJMvxuZN1D8OQSLzXhYFncrmv/aMfxOxGg2FVpkJhxPQPHu8t6I0zCeI2rFFB19DoRsh7Hq09jRmH3qdV7TIepTZ5m9w5g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d9b17fe9-f25e-ae88-a00d-68e404968704@suse.com>
Date: Thu, 17 Aug 2023 14:06:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] ns16550: add support for polling mode when device tree is
 used
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <88bd54876c745ef45eb740274fd36d747c7db471.1691767729.git.oleksii.kurochko@gmail.com>
 <aa19cb1c-a437-7eeb-d727-3cc9867ac307@suse.com>
 <435d10e37bc86f50292e29c99ae1c6b6d9cf1a1f.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <435d10e37bc86f50292e29c99ae1c6b6d9cf1a1f.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7889:EE_
X-MS-Office365-Filtering-Correlation-Id: 32e9f7a2-e739-4068-0956-08db9f1a5748
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BaiLLfA6BOvuaKZWXHi/jrOCSxtHMcrZ5cqDGf27vNgIK5qhWuLhj2zX7ZKARdAGmDbu545JfyioXUKVWcHLOiiNHD/CqImcZDXEBZiVQMIk0DreW/Mb+1KY4UrrAx/qA1Uj4tieOdzaVfh3t9UJG9aQhIktS2fT+dc91TZoxMCkx9XMbcmqr1My4HfkveO2axp0mXjJijS0nLi7H+y/0pnzhnVOLQGBINFwKo49GaVaMPFARthBGyd1zd6u1tZgEqolSuTIp3ywz8fMt/NyWHYD8O7VgT5qNkLJdrIeCiFma5TtPE3COjQik3L/F86CNcqNt46t/5bNLhrhurwUZpZGavlFB+EmvA8KYedQcyL6jFuvlqVRY/+4GHpj8ePfoxatt5kgOmfDxkE9R7zjLpLoF156wEVCRBC79+pIhVzWqFrYf0TInvxl3qsfra8TCt0McsoGNk0bni+qweZxV2v/wFOPzWJcr+cL4ELvSsERENO6KxF5yCMDzoFXS7YG+yqm4PNE8ge6pfU08/mrTdxeF3a63sO/8ZiPVClR+lSep7Q5bvqQ8IYaEdAtcB2BDn1/TSATmm9r0+Cq18jQ9i8Badt6aiFWAt+reBMF4dIS7rRb/Bb1eOzw/d6qYvUMkXsIcBOieAFk7/DfJg0hog==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(39860400002)(346002)(376002)(1800799009)(186009)(451199024)(83380400001)(2906002)(66946007)(478600001)(66556008)(66476007)(6666004)(6506007)(54906003)(6486002)(53546011)(6916009)(316002)(5660300002)(2616005)(26005)(6512007)(4326008)(8936002)(8676002)(41300700001)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V28xeHdQZUhxZWdRMU84bXJKbFJIUXB0OFlHZm9ZKy80NHNadHBGSm8yYVlT?=
 =?utf-8?B?ZFBnZWQzVkI1SEdFRXFUMHJ4VmhWZFljWnJUdGZLZjMwUGNrYlViVklvQUl3?=
 =?utf-8?B?VG9CN2lHQnNaM1p3VmhpRkMzN0ZteFE1VHQ5SVVWenBYejJ6Z01PZnl1QXFS?=
 =?utf-8?B?RWdEQXdUQWF5TGlXTnJrbWxsYXFzOUZoengwWDU1M3ZlbWdXVlhnNXdwekV4?=
 =?utf-8?B?K2lSVGZWMXZDSlNsRDZVa0FNQ1dZajlzVVY1M3NRNTRndHo0K2VIeUZCWUV5?=
 =?utf-8?B?QkdQMDBSWjR2R053REJLcVZjMVlVUzZmMUsrQVM2dE5taVN0QWFmRG0yMGp4?=
 =?utf-8?B?dk1ValNLdW5xbXZBRlVOa2JtZUhoVldkK2wwdDhXZ3Z2cnJjOVNqUUd6a1Zq?=
 =?utf-8?B?Yzc3QjR0WlFBUzJQMEJOcXI2SEtCR1A0QTh4dk9ITDdFNlRpMFU5WVY2VWdq?=
 =?utf-8?B?R0hzcUxCL2ppdkhFaDZWV09YRGd0YUpzaEJiL0JNc2N1bnNHaWFQUzh1WHJz?=
 =?utf-8?B?TzNVMDcyVWRncVJYZHo4V0xXS3duSWFpbXRiV0NvelJ3dUpQYnJySmhFQThW?=
 =?utf-8?B?Q2tFNGlVa2pZRUFyMWM4ai9GL0ZQV3NLVUQ5N2RnbDlma0dsRzVza3dCZGtm?=
 =?utf-8?B?R2tSY0Y0a01ycHVySHY5RWZjSGxnTjd0VXBNWC9uejZYYVBFVUE2dXpCOWtX?=
 =?utf-8?B?Qmo4Ri9Tcm02UVk4S3dOaW1RMDkvelozQzdBQ3BmK01SUnBJM0hXSyt5eGhL?=
 =?utf-8?B?VERsTU9YY2NNOVhSaytFTUppQXh4NkJvb3BLV0FIZytURkZOUGxNS2xTK3RQ?=
 =?utf-8?B?bXg4ektSOXI0SUpKcnpQZVdITk1aNWZoblRKQzd4a09UYUJyVWc5bFFwVVN3?=
 =?utf-8?B?ZnlXVVhzcm1TTjNLTGpoWllxOU96MzNoK01rMGJSdUYxaXFmYktTV1Y2c0dV?=
 =?utf-8?B?ZkhOMkJId29zZitjcE5PK29wL1A3UHR4VnpQbkVQbGNuUXRPSlZXVWQzVUEz?=
 =?utf-8?B?TjB6dW1XQlQ4UVNNeHBFUXJvbE1iNWpXTXIyQXV0V0ZCMkZkbmdxZkZVZ1hx?=
 =?utf-8?B?RW9EOTAxdEpRTzdUSGp4QlY4aS81RmFxUWhFTHdwSkk0MFIzaXVRZGlKQmFr?=
 =?utf-8?B?cjBwSFNmdDgwMnV5ZCtDMEJCaHQ4MVUzVG9KM2VhUzJWOXdWUmZhY1l1OElE?=
 =?utf-8?B?a2tMM1NYNmYvVlc2TThmOVJCNjhLUU1jbG4yYXpvNWxjbU9kQTNEQzRVdktz?=
 =?utf-8?B?R3h2NWpFTHdORGZ5SWZCQnpTbWZRZWV5T2c4bEg2TFF3NWtlNEFYYUZZbVpL?=
 =?utf-8?B?WW03VFlBVjU5R29RNXd4OGQvVkpwUU02dU5PNHBJTHk2ZFlKYzhzb2dMUFNO?=
 =?utf-8?B?M3piZlo4NHY5RjlnQzh1ZXpIV2pBQjBTdFJMbTlPYjdxRkxCUmlXZ2x2V1Bm?=
 =?utf-8?B?eVJCdEFBc1Y5b0dCRGg0V2I3dnNrd2JUbDhnTGxjL1ZLMDIxWkZKYldrRnZv?=
 =?utf-8?B?a1NLYjV1MDBBdHlKc1M4c2NvUXlmZXhTNiszMlo0SUM2SkZjdWVNa0U4U096?=
 =?utf-8?B?eWF6dUJpUDluZHVJQmFYYmFTbDVrYmRScHJqK2xNcmZYd2FoMjFiNWlJbE5Z?=
 =?utf-8?B?b25PZVJDR2tHSmtkWDEvVm55SkMzdVh4K0FMQmlxM3l3b0Y0cmg0SWovRFYr?=
 =?utf-8?B?b2NuZnhCZTZnNExSdWtna1BsOVVtMDU5Y2N3VGlhL2MwOVZDWEJPWHhHOXJF?=
 =?utf-8?B?S1g4dnVlVDYwODhKMU9UZ3FyL3R6TU1wOEFtaXlESjQ3U3BoVEs1Y29WeHdw?=
 =?utf-8?B?NEwraDFpMkZJZkZzL0RsdTF4MVZFY1lMSnplNWJQQWdjRXZLSDF0TmtlSVJV?=
 =?utf-8?B?aTNkVE8rcXRkMnBXaU9PSnZtUkFGZGpJd29hK3lUS1BIRG1LTWlPUG9WSUpx?=
 =?utf-8?B?V1VJaFRab2xWUDBUc3VOS1NYa28xSnBKZ2RISFBRZVN5SUZGenlZRFM1SGlN?=
 =?utf-8?B?RGVkQU42ci91ZW5MWFRwYk9mTitDbnArcnJ4NXpRN0Rvb0F5RWhZL0ZvVjV4?=
 =?utf-8?B?dnVPUXFSL3N2cDJZWTV1QkpPWnd4OGhONUZTWG9pWGM2azN5aXlXQlh5MnY4?=
 =?utf-8?Q?LdLjhJBks2fnAqbj3phSfH/VI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32e9f7a2-e739-4068-0956-08db9f1a5748
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 12:06:08.6812
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9Q8u9L8oY2KIcz9UX5PPCjr5zkpeQY6cvLG+gSHa5viv6E/joMg2hhRlzbo44VL7WfDtxU+NX/Jn2cKQQ4Cg7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7889

On 17.08.2023 12:32, Oleksii wrote:
> On Wed, 2023-08-16 at 15:39 +0200, Jan Beulich wrote:
>> Plus the question remains of it necessarily being com1: Is there no
>> way with DT to have multiple serial ports (e.g. one for the console
>> and one for a debugger)? If there indeed isn't, then unconditionally
>> using opt_com1[] here is of course okay, but then opt_com2[]
>> is effectively a dead variable and recognizing "com2" on the command
>> line (rather than spitting out an error) is then also a mistake. IOW
>> in that case both would want keeping x86-only (with a new #ifdef, as
>> we certainly don't want to have com1 and com2 stuff in separate
>> places).
> Actually it can be even more serial ports. For example, I have a board
> with 3 UARTs ( serial ports ). 
> In this case, it looks that I should have 3 variable of opt_com{1-3}[]?

Well, this suggests there's a general shortcoming of the DT part of the
code here. I'm afraid I have to refer you to the Arm folks for guidance.

Jan

> Taking into account that opt_com{1-2} variables are needed only for
> configuration of serial ports in X86 ( in DT-based architectures all
> configuration info is inside a node of UART ) then we can check only
> opt_com1[].
> 
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:16:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585362.916442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbvX-0005Ls-Ae; Thu, 17 Aug 2023 12:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585362.916442; Thu, 17 Aug 2023 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 1qWbvX-0005Ll-72; Thu, 17 Aug 2023 12:16:35 +0000
Received: by outflank-mailman (input) for mailman id 585362;
 Thu, 17 Aug 2023 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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWbvW-0005Lf-3i
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:16:34 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe13::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6834fee-3cf7-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 14:16:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7998.eurprd04.prod.outlook.com (2603:10a6:102:c5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 12:16:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 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: e6834fee-3cf7-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PAzqPlgDEYZLB9uq5qAoXqnlN+IkQAXl/+bw0Yb7XFHhEeoq2qSNzAwhC8/COwP4xhTAHxuWiUvMg7aYZSGPZTe+EY9bRVIAiFvtvSGEH7bL224z1EwLSQxzzCMmTTuirtgyoAJXyQSGh0oQeSdIjE6LtmV+ZcpRpxJORNgSaESnJt2v0bP0n+/AOW2pNWwKs8veU/B76RMa5tCJ7oLHTOXUI8r68huzsepckG9unUbGb/L4OVi1WFEwLXsFxiZAIXYZkbOe98hhkOV7IdefS8WDpvOwlXzcMdjTM7WxspwDNDVymOlBn/zfiytMo9INNjmmlBegpUMzVx2SJmbw4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zU5Z0i3NUhZdc8tX6y72oy8QApCF0gyU1xHpLeTi4nc=;
 b=j9ArLHGPl+GQBbHy62XfOXHsUe3UFteFz17vYgqiJXJARzfPlFz4rUBnP9XjaXevZ8bK/v8X4DgKigpruYOpwABVvs25ZZ3I8iAR9qRypZJNYo4R0l0d0hqzSe6ZHEYLR+bpwblcumMZdQd2gjKm4kn7/5rWb0CzvPll7iD7rzmiaUTMQpCOH8dxHyA4dgV8/v9IuAEtEcfz7zlYFhDF0yuB9NjPxmPCOBFDYYXvS3JZrpHSDmiOHWxrF08vgt/XCdqqNlprm4X7sFPzrqN9NhAdHtQhZX6uhKUnxml7L2WvkdTobfxp6IFjiRrrt6BVEREMYb75bKmJpyUkw9d7JQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zU5Z0i3NUhZdc8tX6y72oy8QApCF0gyU1xHpLeTi4nc=;
 b=HoQEJou2aweZogi8cKxVORcvv4FWOe5EYBC5UZrYZ9iYkntTNaY4apoLDYszmpqJfnyAp8eerYW1xJihxepiDQXJ76XICRrnmXFor4b7+OXWPu+cKzHqHPKTP7k+Pfjf5QShlxV2MmC1YSxdwaSAsims/EBgNmhYyC6/dwHMXJOO1TsdDWT5Jv4thsXkMvEdvRwR+9/H4oWVgqUwMctFXhpus6twRpEUZS3yWJQw0m22BovBLjZ06qUGIGhxuwD1eDco8BFWHqbFON83oa3S8scs46xS7sRlPi5MnRHn5br2ChUlIOI612y5or4kHpieizdfVqC4KDM+jvJwXzx/Mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e8c8bd8e-7093-8509-4616-ca31e8cfc224@suse.com>
Date: Thu, 17 Aug 2023 14:16:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xsm: removing inclusion of byteorder.h
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20230816190425.8160-1-dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230816190425.8160-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7998:EE_
X-MS-Office365-Filtering-Correlation-Id: d2aafb1f-93ce-4a97-848c-08db9f1bc984
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CB/olyLvPuNwAF2Cm3fpyzATssFtsfvNiMXgFu235EypfjFrd4kQYR58eOihuFquvPlD8GDC7HyhdfbQkZm17Isjrg6q63kjbvcjGIuI7lDSwvr9DcRIHJeUjMBLgMtjptrVqMdZi2opGzu82Tto2ZiN6jVQVpxFVHpWaWGBHl0fPa8dEmR+eJr6Rd37ZLi0DRCFd0FITkRnLR/eUxu/RURvSOgGKhQ/+dkBXTSeXJJ67oyxl7xl50l01uirjGJjb7ETnwk5Uz2ozFYevwtOoyCLUxLjFH7HDa3A1r07x1eCgATytBpD46kh6QsIYO4mPly0hMPk4q5xVfb+He/mxCHrLlrlorrxhNWwpxS2mzjhHCGsJc92mhT4fChw7UWmZsf8BMFQmL5doNa21yLvKfeio+uG21SSSKsXyeEiamvhG2iuqWJnyD0qHOuHedLvjCVQQNftVTOobBVKMvoKhSRMlND+yVaXgSNHmqI2fMbnyGPIGuZYdFUqjkx9NpXpEAlvmBZC6304kHoYrnaxoUNUh8m8UDHOXvE8sSVcHgMsfSA4QxDe8Me/8lss+lNYSO+RNzDIXmRMm0kPHzay6Su0GS+BnaukTGhCyFf6L1fw0suUAWwL//UDa1t5jEuRNKcfFhK4xPELpq0nMTcMcQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(136003)(376002)(39860400002)(396003)(451199024)(186009)(1800799009)(31696002)(66476007)(66946007)(66556008)(5660300002)(2616005)(41300700001)(4744005)(478600001)(6916009)(2906002)(316002)(8936002)(31686004)(4326008)(8676002)(6512007)(6486002)(6506007)(53546011)(36756003)(83380400001)(38100700002)(86362001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGRDY2MvV1I0SHJZejcvRms0QWN2Q3VPRk1MY3NQLys3K2R6Smdqdm4rQjBK?=
 =?utf-8?B?SGY4bitUR1NaK1FNenpyWldCWFluTi9yd0VuRjVJMmxzNFJqWWFHcGlRT1Nl?=
 =?utf-8?B?SnpsMjUxN2VXRXU3aEVvQnZhblBnS1BDVHg0N2MvRitiaGlRaTNwUDNpVlN3?=
 =?utf-8?B?eFJ5VTJSUnp2YVVOTWVsbVFKdzVXZGhyK28vTWhkczc2VUJjcXF3Q0VHbS82?=
 =?utf-8?B?SjZsRmtDdGpQVjJVaU96cmwzZlNtNDIvWWJyTU1iSHV5ZU1vZTlWT0xKN05I?=
 =?utf-8?B?UVRYdmh4N3hab1VSOEpYWE9hbExoV0s4V2ZXd2F4cndnT3BISWVyZGVjZFZm?=
 =?utf-8?B?dXVvbDdhaGF4M1dZZzJDSThTaGdQeXprWS9lRndGTjFtTzVONDRZaUVJMUJt?=
 =?utf-8?B?REs0dXVWMU9nS1NCRnBkNzI5S0k3MlZOMExFUjgzejJSQ1lkMk9rMC9pU3pO?=
 =?utf-8?B?YkxMYmJ6OElQR2dqRjVVQ09wd2VrYW1veGF2NkdPUE9Uc0NJek9wS29XT0RU?=
 =?utf-8?B?YXlTcHVQNmFTaXRsa1lFQVpHdzBuWnB2empDNFhnYjhIeC8vWHkxdGc0NDFJ?=
 =?utf-8?B?QitRUms1c3A3aXYwM293VFBTaWZ5Q0k3cGl3OG5iellkdFUzQkpIV1ZrL014?=
 =?utf-8?B?OFVZZ3REU25LRDFjT09QbnVrbkUvS3AzTnRWTnlDU25PNHNBaSsxTWZhUXN5?=
 =?utf-8?B?UlEwbXFFYm5qcUtZTnMxQWpXbW1nR3h1N2FTeTExQk4vZWtwQjc2Z2s2Qktl?=
 =?utf-8?B?Qnl2NGVWQVlQbTlZSW1ueHNyeFh5cEdwTUt3M1A5ZkhIbS9UT0RZUDhMTWZx?=
 =?utf-8?B?dDc0SWlBeGIrVjVuWDRpY1I0Q2RTc1J6Z0FuSU9PZ01tMFZQaEpVUXl4V3pN?=
 =?utf-8?B?cGpuekVURUQ3L2RUYjNKcVdyV3FZeGFVRHA0eTRFaFozZEZyaC9TeU1QU240?=
 =?utf-8?B?RExuTHdzNFFEemptcEhIK25wQ1NWc0dnRWlZMklBZUhNZkdZaHIzdG9WZzkw?=
 =?utf-8?B?WFRvSUxqUzhGRFdjbjJTeG1rUXhFd09CL3IvQmllek9HeFZGRzBzU0krVUhy?=
 =?utf-8?B?d0xqRm9QKzN6SEQ1QndubDVPUnNvRlRaZXNEa1M3OENZK0NUTEFHSHc5OE9G?=
 =?utf-8?B?ZDdocm1MMFMzSEplK1lFUkpTNFJYV0NYTEVsWit6ZVFtSzFHTjhzK0ZYczFq?=
 =?utf-8?B?Qkk4VGIwRW9vTnpSUTJnS1FGRjdYL05OclpDOWYwZEJvc0FUNzQxcVp6U1Vq?=
 =?utf-8?B?dys3NmJqcDJCTDQxVGl0amZ2cm93T2laNlE0bFY0V1pPbDcxS3FieXpZakF6?=
 =?utf-8?B?cTkvREhuVlpQd25VdWxDc2lWVDBtazZZN2RkdnR3N2R0OTFTUElFOVY5NWVh?=
 =?utf-8?B?TTZHV3ptZVpSVlNjN1dqQnhKbHpqWXVjQ3NtanFScHdtRm9FdUs4dmN6elBp?=
 =?utf-8?B?RmFkd29uY0dBUTJTZXArVng0S2k5ZStYM3QxeDhTWDB4bjFHRG1sa3RDUStQ?=
 =?utf-8?B?aERsN24wM0cyZk5xOCthYWU1d1RTeEFwRzR0U1BnUG1VbjRWSkk3VUxZSWZq?=
 =?utf-8?B?TzUzM0E0VW5LU2UwSis1dVJmTHpIM1RYTTNzSjMvMmozM2tUTjNQMnpJdHBZ?=
 =?utf-8?B?WmxaazFVOXg0anpVcFp2NUtMekpDVWQ2eVFPbzU0SFB0OTc5Y1FSUjhwRU5B?=
 =?utf-8?B?UDZranlQazQ1R0xFMUFueHZzODlObE1LMWVXL0JYajhGV2xjUGZwZUlsa2pD?=
 =?utf-8?B?ZjZxeCtxdm41NUY2dW1QajZmVkJsVldmWGI0dDNJbjd3RFREYTgwZDdJS3h4?=
 =?utf-8?B?RlRObVQ0VEU2SnVyQnZUS21OZW9JTFJBd3BvN1ladUU4bCtwMzVveU8zMmlh?=
 =?utf-8?B?ZmthbWUvaUF3bWFEaHkzQ05pYU1xSFlEb0REcmlzV1FmaVNqeEMzVktCOGtH?=
 =?utf-8?B?Zy83MEl0ZEVHZFFkSHk2cGkxOC80MUh1emM5UHpEWldiTFlIN0hnTmpuUHJn?=
 =?utf-8?B?N0lrRG56OUgwVnVtYmFRNU5YeTBzK1FZNlJoTVJiWVZ0Rk5RWE1zM1BxUzln?=
 =?utf-8?B?MllkdnJDZTlkOVpaRDNKeDNFWnpyaVNsTG9oZHRUVDhkc3krTjN2VUVJRUky?=
 =?utf-8?Q?z1EbdSZgz9AlCFAUqX/41nHN5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2aafb1f-93ce-4a97-848c-08db9f1bc984
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 12:16:29.9161
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ch9ZntQ8Nu+6F5phndeGt1NSDdLXP2o2R+96r7Zcag3ZxlY56RK1VrudjUW681Uo8nNuSC3XcIj4LGG0ZhwbrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7998

On 16.08.2023 21:04, Daniel P. Smith wrote:
> This is to complement patch 'common: move Linux-inherited fixed width type
> decls to common header' by removing the unnecessary include of
> 'asm/byteorder.h'. In the process of removing these includes, the ordering was
> corrected to comply with current coding style.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

I would have wanted to give this my R-b and put it in right away, but it
looks like it's based on a stale tree. The patch you reference was
committed a week ago (so you could also mention its hash), whereas your
patch looks to be based on what was there before.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:18:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585367.916451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWbwq-0005s6-J2; Thu, 17 Aug 2023 12:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585367.916451; Thu, 17 Aug 2023 12: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 1qWbwq-0005rz-GO; Thu, 17 Aug 2023 12:17:56 +0000
Received: by outflank-mailman (input) for mailman id 585367;
 Thu, 17 Aug 2023 12:17: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=ql+W=EC=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qWbwp-0005o2-Sq
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:17:55 +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 18512d98-3cf8-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:17:55 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-99c93638322so184921366b.1
 for <xen-devel@lists.xenproject.org>; Thu, 17 Aug 2023 05:17: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: 18512d98-3cf8-11ee-877b-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692274675; x=1692879475;
        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=vyGu2tmQwe2b5D7VbO24y947d2slAAh2NIefrQhG5/c=;
        b=VvbCEs21FJNZVaIGvRvJJtJITTfhxL3/t0kfscGym5j6TdpYPLH7E0MuctsvNP4bY4
         g4j7MYjP6OJip5ztMNALW4wYHPeHGGHgjZQ0OgkhXDK4V0gUB1pmcUE5laLftZEDQ4Yw
         yLjwg+V2jhSB+VZP1qPKo6IlpHCpCqmobEHr45xirf+bnFJIMAq4xp9OAH0sH1gTd+M1
         4PxCBRKjPQ2P3IU0mt/Io4QaxtypNZujZrebNBtWmlGB8mjXrKnDHi0LrjchzM64Jz+q
         8fixaTJPSRX8qFSlbX++OHpkgGOOlmYG9g6CLqaMssOzysSdksXoDD6p2nTEckd2dDv5
         6L1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692274675; x=1692879475;
        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=vyGu2tmQwe2b5D7VbO24y947d2slAAh2NIefrQhG5/c=;
        b=Y3/6n+gg0zE75Il8lktvqAKJ9kw1neYq6ct5vZ2vWdiVKstI0bVIGaXauNME2InCEM
         0NxNHKZQ/hOzXjaLorQb2XWK7odvGQjjMFIEBEXskaaBHJh61DF7Gm5UHjuLt27mN47i
         gMA3iwaBhVmZuzr/N2LHcU4iQhfw69ua+BjBUhSe74xOEYiH3LOWRKCRJrVBUxLvo0NU
         JsUwfnz6ohXUHQfc91vww+2K56hrf4CzeCC+DpauHUdJpCBdHhxUyRivTgyfEQBMuQ/H
         +FGjzBVHhRL9wkEkGF50C/Mk0u1ZlKG4KzvPOf8i/7lYfj2bz6xGbaFHW5Gq1U5sY87e
         9yzw==
X-Gm-Message-State: AOJu0YwTWwuw6LxUjYitb9Ay4YGtsiqY3VDLZuY7Fld0sQozwM2ZfdhM
	h1IMJiL98MQAcWXB963/f0lnkDzu6jaarJ81LKGqh4bI
X-Google-Smtp-Source: AGHT+IGGzBRc7FYcPSgN1rCHDPezZ0yAPDcW6psVS3/fH2IBeU18LlTvCvbxMRYIbC+TbW3/KAEYNuyp79+321d79gI=
X-Received: by 2002:a17:907:847:b0:99d:f274:316e with SMTP id
 ww7-20020a170907084700b0099df274316emr2970709ejb.2.1692274674596; Thu, 17 Aug
 2023 05:17:54 -0700 (PDT)
MIME-Version: 1.0
References: <20230816190425.8160-1-dpsmith@apertussolutions.com>
In-Reply-To: <20230816190425.8160-1-dpsmith@apertussolutions.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 17 Aug 2023 08:17:42 -0400
Message-ID: <CAKf6xpvpHq5vBHm20snGr+fgu78Kviiwne2JVcxrESXStDs2Mw@mail.gmail.com>
Subject: Re: [PATCH] xsm: removing inclusion of byteorder.h
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 16, 2023 at 3:05=E2=80=AFPM Daniel P. Smith
<dpsmith@apertussolutions.com> wrote:
>
> This is to complement patch 'common: move Linux-inherited fixed width typ=
e
> decls to common header' by removing the unnecessary include of
> 'asm/byteorder.h'. In the process of removing these includes, the orderin=
g was
> corrected to comply with current coding style.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/xsm/flask/ss/avtab.c       | 3 +--
>  xen/xsm/flask/ss/conditional.c | 9 ++++-----
>  xen/xsm/flask/ss/ebitmap.c     | 8 ++++----
>  xen/xsm/flask/ss/policydb.c    | 9 ++++-----
>  4 files changed, 13 insertions(+), 16 deletions(-)

These four files all call le32_to_cpu(), so AFAICT, you are trading an
explicit dependency for an implicit one.  Is that what you want?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585375.916468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcI9-0000Nw-In; Thu, 17 Aug 2023 12:39:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585375.916468; Thu, 17 Aug 2023 12:39: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 1qWcI9-0000NW-Dz; Thu, 17 Aug 2023 12:39:57 +0000
Received: by outflank-mailman (input) for mailman id 585375;
 Thu, 17 Aug 2023 12:39: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWcI8-0000KH-2m
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:39:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29edf115-3cfb-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 14:39:53 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id EDD7D4EE0737;
 Thu, 17 Aug 2023 14:39: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: 29edf115-3cfb-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@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>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [XEN PATCH v2 0/3] xen: fix inclusions and static storage duration
Date: Thu, 17 Aug 2023 14:39:25 +0200
Message-Id: <cover.1692275359.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The files touched by this series contain function or variable definitions with
no prior declaration visible, because it's inside an header that is not included
or it's not present anywhere. This is a risk in itself, but also violates
MISRA C:2012 Rule 8.4, which states the following:
"A compatible declaration shall be visible when an object or function with
external linkage is defined".

The resolution strategies are as follows:

1. make the functions/variables static
2. include the header that contains the compatible declaration

No functional change.

Additional notes:
- This series is a continuation of the work done here [1], so the same additional
  notes apply.

[1] https://lore.kernel.org/xen-devel/cover.1691655814.git.nicola.vetrini@bugseng.com/T/#m28da1b5ef8d9a7683937bfc345765e3438b89977

Changes in v2:
- Addressed review comments on the leftover patches
- Patches 1,2,4 from the previous version have already been committed

Nicola Vetrini (3):
  vm_event: rework inclusions to use arch-indipendent header
  vpci/msix: make 'get_slot' static
  drivers/video: make declarations of defined functions available

 xen/arch/arm/include/asm/vm_event.h |  1 -
 xen/arch/arm/vm_event.c             |  2 +-
 xen/arch/x86/include/asm/setup.h    |  6 ------
 xen/arch/x86/platform_hypercall.c   |  2 +-
 xen/arch/x86/pv/dom0_build.c        |  2 +-
 xen/arch/x86/vm_event.c             |  2 +-
 xen/drivers/video/vga.c             |  8 --------
 xen/drivers/vpci/msix.c             |  2 +-
 xen/include/xen/console.h           |  2 --
 xen/include/xen/vga.h               | 16 ++++++++++++++++
 xen/include/xen/vm_event.h          |  1 +
 11 files changed, 22 insertions(+), 22 deletions(-)

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585376.916475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcIA-0000Z2-34; Thu, 17 Aug 2023 12:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585376.916475; Thu, 17 Aug 2023 12: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 1qWcI9-0000Xg-Sj; Thu, 17 Aug 2023 12:39:57 +0000
Received: by outflank-mailman (input) for mailman id 585376;
 Thu, 17 Aug 2023 12:39: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWcI8-0000KH-OJ
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:39:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2af64e13-3cfb-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 14:39:55 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 384034EE073D;
 Thu, 17 Aug 2023 14:39: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: 2af64e13-3cfb-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 2/3] vpci/msix: make 'get_slot' static
Date: Thu, 17 Aug 2023 14:39:27 +0200
Message-Id: <c6e270c813ef1a4da7045a5fcf7bd9e1b8f21947.1692275359.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692275359.git.nicola.vetrini@bugseng.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function can become static since it's used only within this file.
This also resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
of a declaration before the function definition.

Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X table")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Corrected wrong prefix in the commit subject.

CC-ing maintainers from "THE REST" as well, perhaps this trivial change can go
in straight away.
---
 xen/drivers/vpci/msix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 25bde77586a4..f9df506f29bf 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -223,7 +223,7 @@ static void __iomem *get_table(const struct vpci *vpci, unsigned int slot)
     return msix->table[slot];
 }

-unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
+static unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
 {
     unsigned long pfn = PFN_DOWN(addr);

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585377.916492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcIB-00013C-8g; Thu, 17 Aug 2023 12:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585377.916492; Thu, 17 Aug 2023 12: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 1qWcIB-000133-4d; Thu, 17 Aug 2023 12:39:59 +0000
Received: by outflank-mailman (input) for mailman id 585377;
 Thu, 17 Aug 2023 12: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWcI9-0000KH-OT
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:39:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b84098b-3cfb-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 14:39:56 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 183814EE073A;
 Thu, 17 Aug 2023 14:39: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: 2b84098b-3cfb-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 3/3] drivers/video: make declarations of defined functions available
Date: Thu, 17 Aug 2023 14:39:28 +0200
Message-Id: <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692275359.git.nicola.vetrini@bugseng.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The declarations for 'vesa_{init,early_init,endboot}' needed by
'xen/drivers/video/vesa.c' and 'fill_console_start_info' in 'vga.c'
are now available by moving the relative code inside 'vga.h'.
The latter is moved from 'xen/console.h' because of its close relation with vga.
This also resolves violations of MISRA C:2012 Rule 8.4.

Fixes: 6d9199bd0f22 ("x86-64: enable hypervisor output on VESA frame buffer")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Moved fill_console_start_info to vga.h
  (21bee1787021 introduced this function)
---
 xen/arch/x86/include/asm/setup.h  |  6 ------
 xen/arch/x86/platform_hypercall.c |  2 +-
 xen/arch/x86/pv/dom0_build.c      |  2 +-
 xen/drivers/video/vga.c           |  8 --------
 xen/include/xen/console.h         |  2 --
 xen/include/xen/vga.h             | 16 ++++++++++++++++
 6 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index b0e6a39e2365..dfdd9e555149 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -25,12 +25,6 @@ void subarch_init_memory(void);

 void init_IRQ(void);

-#ifdef CONFIG_VIDEO
-void vesa_init(void);
-#else
-static inline void vesa_init(void) {};
-#endif
-
 int construct_dom0(
     struct domain *d,
     const module_t *image, unsigned long image_headroom,
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 9ff2da8fc324..9469de9045c7 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -14,7 +14,6 @@
 #include <xen/event.h>
 #include <xen/domain_page.h>
 #include <xen/trace.h>
-#include <xen/console.h>
 #include <xen/iocap.h>
 #include <xen/guest_access.h>
 #include <xen/hypercall.h>
@@ -24,6 +23,7 @@
 #include <xen/pmstat.h>
 #include <xen/irq.h>
 #include <xen/symbols.h>
+#include <xen/vga.h>
 #include <asm/current.h>
 #include <public/platform.h>
 #include <acpi/cpufreq/processor_perf.h>
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 909ee9a899a4..5bbed3a36a21 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -4,7 +4,6 @@
  * Copyright (c) 2002-2005, K A Fraser
  */

-#include <xen/console.h>
 #include <xen/domain.h>
 #include <xen/domain_page.h>
 #include <xen/init.h>
@@ -13,6 +12,7 @@
 #include <xen/pfn.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
+#include <xen/vga.h>

 #include <asm/bzimage.h>
 #include <asm/dom0_build.h>
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 0a03508bee60..18b590cdf072 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -54,14 +54,6 @@ string_param("vga", opt_vga);
 static unsigned int columns, lines;
 #define ATTRIBUTE   7

-#ifdef CONFIG_X86
-void vesa_early_init(void);
-void vesa_endboot(bool_t keep);
-#else
-#define vesa_early_init() ((void)0)
-#define vesa_endboot(x)   ((void)0)
-#endif
-
 void __init video_init(void)
 {
     char *p;
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index 53c56191ba9e..ab5c30c0daf2 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -20,8 +20,6 @@ void console_init_postirq(void);
 void console_endboot(void);
 int console_has(const char *device);

-int fill_console_start_info(struct dom0_vga_console_info *);
-
 unsigned long console_lock_recursive_irqsave(void);
 void console_unlock_recursive_irqrestore(unsigned long flags);
 void console_force_unlock(void);
diff --git a/xen/include/xen/vga.h b/xen/include/xen/vga.h
index f72b63d446b1..1d53f0149433 100644
--- a/xen/include/xen/vga.h
+++ b/xen/include/xen/vga.h
@@ -15,4 +15,20 @@
 extern struct xen_vga_console_info vga_console_info;
 #endif

+int fill_console_start_info(struct dom0_vga_console_info *);
+
+#ifdef CONFIG_X86
+void vesa_early_init(void);
+void vesa_endboot(bool_t keep);
+#else
+#define vesa_early_init() ((void)0)
+#define vesa_endboot(x)   ((void)0)
+#endif
+
+#ifdef CONFIG_VIDEO
+void vesa_init(void);
+#else
+static inline void vesa_init(void) {};
+#endif
+
 #endif /* _XEN_VGA_H */
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585374.916461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcI9-0000KZ-9v; Thu, 17 Aug 2023 12:39:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585374.916461; Thu, 17 Aug 2023 12:39: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 1qWcI9-0000KS-6q; Thu, 17 Aug 2023 12:39:57 +0000
Received: by outflank-mailman (input) for mailman id 585374;
 Thu, 17 Aug 2023 12:39: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWcI7-0000KB-EJ
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:39:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a74b0ea-3cfb-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:39:54 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 2C7E54EE073C;
 Thu, 17 Aug 2023 14:39:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a74b0ea-3cfb-11ee-877b-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2 1/3] vm_event: rework inclusions to use arch-indipendent header
Date: Thu, 17 Aug 2023 14:39:26 +0200
Message-Id: <6ef8207eee081e2c9a3914a14025077fc72b19e6.1692275359.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692275359.git.nicola.vetrini@bugseng.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The arch-specific header <asm/vm_event.h> should be included by the
common header <xen/vm_event.h>, so that the latter can be included
in the source files.

This also resolves violations of MISRA C:2012 Rule 8.4 that were
caused by declarations for
'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
in <asm/vm_event.h> not being visible when
defining functions in 'xen/arch/x86/vm_event.c'

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Include the arch-specific header in the common one, and only include
  the latter in source files.

The following functions have been mainly touched by the following commits,
but the present commit does not solve a problem introduced by one of them per se, except perhaps the first one mentioned, which is why I didn't put a Fixes tag in this v2:
- 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
- adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs and p2m_vm_event_fill_regs")
- 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
---
 xen/arch/arm/include/asm/vm_event.h | 1 -
 xen/arch/arm/vm_event.c             | 2 +-
 xen/arch/x86/vm_event.c             | 2 +-
 xen/include/xen/vm_event.h          | 1 +
 4 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
index abe7db1970ca..4d861373b38d 100644
--- a/xen/arch/arm/include/asm/vm_event.h
+++ b/xen/arch/arm/include/asm/vm_event.h
@@ -20,7 +20,6 @@
 #define __ASM_ARM_VM_EVENT_H__
 
 #include <xen/sched.h>
-#include <xen/vm_event.h>
 #include <public/domctl.h>
 
 static inline int vm_event_init_domain(struct domain *d)
diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
index ba99f56eb20c..ccfd25bbbca9 100644
--- a/xen/arch/arm/vm_event.c
+++ b/xen/arch/arm/vm_event.c
@@ -8,7 +8,7 @@
  */
 
 #include <xen/sched.h>
-#include <asm/vm_event.h>
+#include <xen/vm_event.h>
 
 void vm_event_fill_regs(vm_event_request_t *req)
 {
diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index 7027c08a926b..e6c7ad5337dd 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -20,7 +20,7 @@
 
 #include <xen/sched.h>
 #include <xen/mem_access.h>
-#include <asm/vm_event.h>
+#include <xen/vm_event.h>
 
 /* Implicitly serialized by the domctl lock. */
 int vm_event_init_domain(struct domain *d)
diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
index 92811d9110e5..9a86358b42ae 100644
--- a/xen/include/xen/vm_event.h
+++ b/xen/include/xen/vm_event.h
@@ -25,6 +25,7 @@
 
 #include <xen/sched.h>
 #include <public/vm_event.h>
+#include <asm/vm_event.h>
 
 struct vm_event_domain
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:49:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585402.916502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcRk-0003Zh-4Y; Thu, 17 Aug 2023 12:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585402.916502; Thu, 17 Aug 2023 12: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 1qWcRk-0003ZP-1o; Thu, 17 Aug 2023 12:49:52 +0000
Received: by outflank-mailman (input) for mailman id 585402;
 Thu, 17 Aug 2023 12:49:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mWEV=EC=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1qWcRi-0003ZJ-2A
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:49:50 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b706ffa-3cfc-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:49:47 +0200 (CEST)
Received: from [10.10.1.156] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 169227657688440.538902891930206;
 Thu, 17 Aug 2023 05:49: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: 8b706ffa-3cfc-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; t=1692276584; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=lbDVtzI2goGDLp+DmV19JHBb1/G5QzjaRvsbn1KXrGGjFPKYefpPj8vTXWh1q3HofhKfNuhbVWb9SioL7owHhrxf/n8ouTLTUuumY0CeEhRMvy5xBbg8MQlWi4YboKCKYmnS8Bnree6pYoHCxkfub+4e9N+VULYTMP4RDK/nwP0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1692276584; 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=5EqkT65579FjVu/OBxRV0FrblhMFppyH/DGRi6f53II=; 
	b=S/8U8gkCSTJuVxKgdJzpVNbnQzb0cDl0SrqDAKFIv22TR19V2VSlhGE4ESizhOzHjivOn0A0BR66Xey1+YfdzGjruhP3EBFu/yXzdxZdeO2Hj5k6SJjw57yy5VRcz12PekeW3AvAXAgwokBsphiHqvM9+cYyLbWUTse1bRKK2RM=
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=1692276584;
	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=5EqkT65579FjVu/OBxRV0FrblhMFppyH/DGRi6f53II=;
	b=EjB/n+g6LWxz4mxNgxhLKYVCTkwzChrCQFnxBXsedJpYW6p/6EtyKBhvcDMlP8Bg
	6bGF4WILLe2pMiN4TtzrbLvv/V/Ub3Wd+1blgxzzTkQ24rtcxMNNNvHhWu5vr0Ek2zc
	3CqtgDKNvQ8fo9d1Rz3kXtdLp9rlLrxbZOEWTNBk=
Message-ID: <958bfe58-200b-0ea5-22f8-fce393eb69b2@apertussolutions.com>
Date: Thu, 17 Aug 2023 08:49:35 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xsm: removing inclusion of byteorder.h
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20230816190425.8160-1-dpsmith@apertussolutions.com>
 <CAKf6xpvpHq5vBHm20snGr+fgu78Kviiwne2JVcxrESXStDs2Mw@mail.gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <CAKf6xpvpHq5vBHm20snGr+fgu78Kviiwne2JVcxrESXStDs2Mw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/17/23 08:17, Jason Andryuk wrote:
> On Wed, Aug 16, 2023 at 3:05â€¯PM Daniel P. Smith
> <dpsmith@apertussolutions.com> wrote:
>>
>> This is to complement patch 'common: move Linux-inherited fixed width type
>> decls to common header' by removing the unnecessary include of
>> 'asm/byteorder.h'. In the process of removing these includes, the ordering was
>> corrected to comply with current coding style.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/xsm/flask/ss/avtab.c       | 3 +--
>>   xen/xsm/flask/ss/conditional.c | 9 ++++-----
>>   xen/xsm/flask/ss/ebitmap.c     | 8 ++++----
>>   xen/xsm/flask/ss/policydb.c    | 9 ++++-----
>>   4 files changed, 13 insertions(+), 16 deletions(-)
> 
> These four files all call le32_to_cpu(), so AFAICT, you are trading an
> explicit dependency for an implicit one.  Is that what you want?

In fact, no. You comment here caused me to go back and try to see why 
Jan said they needed to move. I realized there was a misunderstanding 
about his commit message. He was not saying later, at a point in the 
future, they need to be moved, but that as a result of his change the 
inclusion ordering had to be changed. The former is what I understood 
and thus attempted a build without them to see if it would work. I was 
not expecting that conversions would have been able to be implicitly 
resolved.

Since I already rebased to latest stable, I can resubmit a v2 with 
correcting the inclusion order but with byteoder.h inclusion remaining. 
Though that would render this down to simply a style change patch. Would 
that still be acceptable Jan?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:57:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585409.916512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcYr-00054h-Mv; Thu, 17 Aug 2023 12:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585409.916512; Thu, 17 Aug 2023 12: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 1qWcYr-00054a-KD; Thu, 17 Aug 2023 12:57:13 +0000
Received: by outflank-mailman (input) for mailman id 585409;
 Thu, 17 Aug 2023 12:57: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWcYq-00054U-4C
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:57:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93fb1fe9-3cfd-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:57:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7334.eurprd04.prod.outlook.com (2603:10a6:10:1aa::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 12:57:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 12:57: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: 93fb1fe9-3cfd-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yfa+PR9rifBhrNATgBGX+J2NtAbKzD6gZ9gNnuQLSplM7dEsjceUMgBCvj4b9YXCeaaDse5PLMCZH4hULYa9WSlJZNb6EgHXAbliEb+sDvp/mahYdPOs+ntEy5UpIHCpnhwHEzNAxQx4M9RnjWMmpQxblFqQ5N2nXpT/vAq7LJQ+pUJRoRP+nOCj4BNCEWR6aBUaKW+eghE/zDCIGAO+Cl+HN0AFiDd+qFBTEqZYahpjCiuFoJmOZCY8QG22EpXUxBOcKGm+7LxdmZKeeMGfjiODN8L3i0C8ONJkZnD4e88NUu2lo3lcpeT/qpeHqFHPeSzft2rQbFr/Kaso7n2M5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hnf7/rB9Vxl626BQpr8hqZhxxhs0lc6r453Fhu0vj+A=;
 b=GNZwWUeG4qh1wpT8ZFYtm9qklCwUfW4MzwNJZtlHewAJdgMgmTfTD50TVbTpmiHwmBjLBmqEeavotuJret0RJOvxuVT6eKzn+FfvB8CZCu80bEJKAQgVPN4qMPdRho4fiTEGYML3QIe//9uoag0Re9Eu5ptqEZheu/Su4V5Ns1hm7z62g8G1sV6a5oi0KNWzU4jzuvpU59xAw75Wp44IPPZOympkDAQDgAbazFKXhVQ4B/j2aiE/H73sTFo5bloHCn6kfseBHfr6WK4gVY1OoEilmRsOtqqtqiqwjzPEx1W7hjh6wgXkNNJh6AZOuoBhRrBAxvC0+d3CLkLNbj4J9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hnf7/rB9Vxl626BQpr8hqZhxxhs0lc6r453Fhu0vj+A=;
 b=enZTcziG+ns5cBAHylFOKgsMgIo8WM+Q3NFz67hGuBoHLrinmwmwJufhHeIBeBL0/up7ZHgy9AbZ8u8oFbMkubfoT6APSS+8QAqfDK0pNTdHYlWs28iDsn9v1h6t9FGwxbvE2nOlZKS47f9JFdsgsIxkKO4gBOtlxQnHVfQUBLxHlF+7ZszuYGtnMYCunn0AZc2iNt/FRpSpridiYJXUdTuAg+ZtxF/J6UNiw27xkeLycd/ZrYFtkQ74af2bPZcDrhDFNnvB1xuBrEpxxnHeks5iHPp1TctgiKa+V0DGLF92qfp96cOQK2h1K8j8T3IYlC9Lh6wdxQsTJnOjBTdNQA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce7768c8-41bb-bbd8-3b6d-bf4d42ab2f3d@suse.com>
Date: Thu, 17 Aug 2023 14:57:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/2] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230816185035.82994-1-stewart.hildebrand@amd.com>
 <20230816185035.82994-2-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230816185035.82994-2-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7334:EE_
X-MS-Office365-Filtering-Correlation-Id: a2843aab-aa27-49bd-bff7-08db9f2175e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ebVa9LfW9iN4iR4DkXIbdvkIOcSfOidnJEi8XXJzUOYNWYpuI2QkNzI8SkfXO8KbAQu9LIzktRU2v1C8Y8ELUMC/iN/MYIFNHdQhcrf5P6U4ZhAm1wkQ0I4pRiWtzuUfrGyPcF1xfYXEBkwplRNdyd5RwFIKa/9eNGjKP8IypUmOF0xBAOAJ6aJo+naTW9H4sFdRMneNvV1erriiUq4p0mpe206hUOgSkhdOdrJJNKqqBzBO7LQqLe1Yi20OJcn4UFqBF0MzFFHyY5J1drCYGWyWszKXhyBjf3KRjChO+nWIEmnX3YXesVAUMRCvp7ieC9ln13FEQrJzM3yn+3ODT5gMZqQauJRo7g61pKiD8Jt75JUCzXzLAo7J6LZgzLXukIaFbC/HfDYL0hj1pQ/XfQXzb25FdUK3sBUowsQWkl39R6q82jYWESJGMbIqO2XpeIi0kqh+w6eExMizmMy3wXSKQfr5ZSsGvDNao3EQBLmsJ36YadWHQdVcbmTxRDvdLAwzTp7Emh0ZmuI6u2blDNN3BuPjtteSDp4xr+Et5sxOXb05cTa9qq21xBG8Vq9plpDi8KwK5B7iuz7KMlGq7F85DkMpBi78KGdPkV2rURS4YgXy+VZuBJJ9XW1Ey9cSNgSvYbJlEIsVvzQpC9+66w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(31696002)(86362001)(36756003)(38100700002)(5660300002)(2616005)(66946007)(66476007)(478600001)(66556008)(6916009)(316002)(6666004)(53546011)(6506007)(54906003)(6486002)(26005)(6512007)(41300700001)(4326008)(8936002)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVhvdFNoWHZhT1l5TTdRNE9ielFlN0daQkxVS2svMkxEVVFpS282Z05sKzRT?=
 =?utf-8?B?cmM3RWpZb1Z3UVVLTHA2eDVQdllQa2haTmxhY3M2aDJhMU9Sa016MnY1UFlX?=
 =?utf-8?B?aGwyQ3ZJcVRDR0hmQXNRTCtRMjNzenVRTmJHZnR0OUtjdGpLQ1pSSlFBWlVr?=
 =?utf-8?B?MjdxK1ZReGdvbDU3bWI2cTBHSTJwUnlFRzlIZ3NXZTNkeS81emt0cW9KN3dS?=
 =?utf-8?B?bWVBSkFxMVIyQUtvd0w2b3J6d0ZaV1h0Z2RsQjVpZUMxWnBlYW1XMUlnT3hQ?=
 =?utf-8?B?bFk0QjA5N0d3SnpUaDZpQWF0WjRDbmVOTm02cU9EOWlycWFsVGs0Y3lDTGJX?=
 =?utf-8?B?K3plZTgvOWRhYk00UEJkamo5c3lRRmZWMmdDb2dNUjlDdTQvb2JuTXpuVEJ2?=
 =?utf-8?B?Um4xci9GV09Nb05XclArLzRjbGNtQ0lxUDN6MnlpRHFWME9pZkljTWljb3VY?=
 =?utf-8?B?c2dpb0lTdko5cGd5Vk1GYURZM3QxdDc1MiswVTF2SzQ1OXNnRjFtS3g4Y21B?=
 =?utf-8?B?Y0lvQ09oZEVWUkFySzljWkJIZ3NzRWppRE1VeHQ4L1I1Slp6MHh6YTVKY3o0?=
 =?utf-8?B?cUZZUno4c1BaSER6b1FEcCtIeGFid0JrenhabCtXMmgzV2YyaVJ1RjNWQXg2?=
 =?utf-8?B?b0MyM0U2TXRFd2gyQStXOXpyZTlaSlQ3RXBvYlBOY05pSGpQYnVGbVIvOWpy?=
 =?utf-8?B?TEMrVUp4blNsSDNVTzFJbXVmRm1CL2RSYUV5T2Y1Tk1sZUlFN0JDak9DRm5h?=
 =?utf-8?B?T1hFSjhxMmpBSTc2WHREMXVwRU9nVTVIVjh2VGwyQTd0MWxWbVl5ZHdHNGZn?=
 =?utf-8?B?T2ZjNEF0ZTRPRWFreitnSVZWNXFRSGNWUXk4Sno3YkxINWtoK29ZdjhDOHRC?=
 =?utf-8?B?YmRybXdpRmdPTlpPYnBWa0c1UFhqa25mVSttSmVLK1M0RFptMmFlMzF2YW55?=
 =?utf-8?B?TDhTQ0RiSEZGQjJnemlMRUFhSGN1TCtKdmVNUmxUMjZsREtUNGh1cFdLQzJy?=
 =?utf-8?B?alhiYkMzSzVqdVpWMThDNEcxaE90ZEVYUlE1TmxJSEU2S21mTkZqOW9ZcTJM?=
 =?utf-8?B?bFB4K3grbzZwb01LK0JYTm01bUIvd1A0L29qZkhYcnNlejZBeVArMk54K3F3?=
 =?utf-8?B?bUowbVZJbXJiem9mbGdWaW5JSCs2ejdPbFJ1SW9INXhzS05taDVRSzRpdTRm?=
 =?utf-8?B?SGkza0FBL3RWd2tKV2JWNDhtYzZyYWNnQnVYWG9yN3N0cDFlQlFLM1VJRGdl?=
 =?utf-8?B?N1FXLzkxcnU5U2ZhbXdqc053YzRhRkxlZWJ4LzBONC9yVVAwZDZBQ3V0eEZO?=
 =?utf-8?B?czhwblZqVDRTcDBrK0hSdEs5UEptTDNtTDNBdklhK2xlc1NvMUJiOTgrZ2R5?=
 =?utf-8?B?S1huenVVcm8rNXFGSHRreUhvNURxM2xwdmFmNnZRd2FBQnZ4TW1BZGJqb2Fl?=
 =?utf-8?B?OXRGc1B1aXVnd1hUQ1JFZU1TUWFXUEdtQXJWQzlqM1dRRGVjM1ZXQS9FOU1m?=
 =?utf-8?B?cXF6Unk5dG45MGNrSjJ5TFo1dVFnMHluTFlzWEk4VTg2NkJSZ3NFNjJuTHFI?=
 =?utf-8?B?VTlSdkM5dDBkbTcrZmhOeFZGemRPcjFhWTBhV3M1Mlh2a2lWdnUrU3pvWVZo?=
 =?utf-8?B?WHN3dTlKcVR6SDZzNFNWMFI4TXZScW5ST2FqS3p5VnY0SEhhcDB3N2l6eVA4?=
 =?utf-8?B?d01jZGFyWU5wM3RQK3RtQVI3UlFkZTZGS2Q2MzM5RHgyM3I3NlFGbTVJeVlM?=
 =?utf-8?B?Vkx5ampZMTF4aXVWUVh3eEJlUHVLbHhLMFFSNmxSK21hd3ZFUUV2QzRjTFM2?=
 =?utf-8?B?dmt0a0RkUXNTZ09mS3BjQ2VpSnNTeEFsaFdlR0pwR0cvTS9sQXMzYnlPd0NH?=
 =?utf-8?B?ZDFMMGhkZVp1Y0hhZDI4eFdGUDhHYlRCQk5PUUdtWlB0RDJCaVZkVjljUTA4?=
 =?utf-8?B?WStDeU4rVEtwVDVKbmhrQ2h4cDNjbWFzK2d1OXliVVRaUkNvSGdSV0ZhUmZN?=
 =?utf-8?B?YXRQOGxQWlhINFY0T1RxUTBBYWI2d3phSXhPeU9NYlRTM0lHTDN5LzVMbFc5?=
 =?utf-8?B?Zzg5SElZcEkvdkN2UEppcmxxZVZMK2FuaTZ2WE5ZdGczK0ZVTHRWNS9wcnVR?=
 =?utf-8?Q?Jsa3HA/ojsDl+wg2rNk0i+cIS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2843aab-aa27-49bd-bff7-08db9f2175e2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 12:57:06.5454
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S3XgvmZ9ffMyudl6k0xgCF3Os5bS0MqHRKtouYSy334eE+214LTPxsspYAWU35A7YehFIiyEdd1jaqgYTFTJpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7334

On 16.08.2023 20:50, Stewart Hildebrand wrote:
> If there are no capabilities to be exposed to the guest, a future status
> register handler likely would want to mask the PCI_STATUS_CAP_LIST bit. See [1]
> for a suggestion of how this might be tracked in struct vpci_header.

Can we actually get away without doing this right away? I'm not sure
consumers are required to range check what they read from PCI_CAPABILITY_LIST.

> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -39,27 +39,27 @@ int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
>      return 0;
>  }
>  
> -int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
> +int pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos, bool (*is_match)(uint8_t),
> +                      int *ttl)

Why plain int? When values can't go negative, respective variables generally
want to be of unsigned types.

>  {
> -    u8 id;
> -    int ttl = 48;
> +    uint8_t id;
>  
> -    while ( ttl-- )
> +    while ( (*ttl)-- > 0 )

I don't see why you add "> 0" here.

>      {
> -        pos = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos);
> +        pos = pci_conf_read8(sbdf, pos);
>          if ( pos < 0x40 )
>              break;
>  
> -        pos &= ~3;
> -        id = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos + PCI_CAP_LIST_ID);
> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>  
>          if ( id == 0xff )
>              break;
> -        if ( id == cap )
> +        if ( is_match(id) )
>              return pos;
>  
> -        pos += PCI_CAP_LIST_NEXT;
> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>      }
> +
>      return 0;
>  }

As said in context of v1, this function should remain usable for its
original purpose. That, to me, includes the caller not needing to care about
ttl. I could see you convert the original function the way you do, but under
a new name, and then implement the original one simply in terms of this more
general purpose function.

Also, while I appreciate the sbdf conversion, that wants to be a separate
patch, which would then want to take care of the sibling functions as well.

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -513,6 +513,18 @@ static void cf_check rom_write(
>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>  }
>  
> +static bool cf_check vpci_cap_supported(uint8_t id)
> +{
> +    switch ( id )
> +    {
> +    case PCI_CAP_ID_MSI:
> +    case PCI_CAP_ID_MSIX:
> +        return true;
> +    default:
> +        return false;
> +    }
> +}
> +
>  static int cf_check init_bars(struct pci_dev *pdev)
>  {
>      uint16_t cmd;
> @@ -544,6 +556,60 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
> +             == 0 )

This fits on a single line when written this more commonly used way:

        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )

Otherwise it needs wrapping differently - binary operators at a wrapping
point belong on the earlier line in our style.

> +        {
> +            /* RAZ/WI */
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1, NULL);

This last NULL is likely misleading to readers: It does not obviously
represent the value 0 cast to void *. (Same then for the extended cap
handler at the end.)

> +            if ( rc )
> +                return rc;
> +        }
> +        else
> +        {
> +            /* Only expose capabilities to the guest that vPCI can handle. */
> +            uint8_t next;
> +            int ttl = 48;
> +
> +            next = pci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST,
> +                                     vpci_cap_supported, &ttl);
> +
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1,
> +                                   (void *)(uintptr_t)next);
> +            if ( rc )
> +                return rc;
> +
> +            while ( next && (ttl > 0) )

Don't you need to mask off the low two bits first (rather than [only] ...

> +            {
> +                uint8_t pos = next;
> +
> +                next = pci_find_next_cap(pdev->sbdf, pos + PCI_CAP_LIST_NEXT,
> +                                         vpci_cap_supported, &ttl);
> +
> +                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
> +                                       pos + PCI_CAP_LIST_ID, 1, NULL);
> +                if ( rc )
> +                    return rc;
> +
> +                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                       pos + PCI_CAP_LIST_NEXT, 1,
> +                                       (void *)(uintptr_t)next);
> +                if ( rc )
> +                    return rc;
> +
> +                next &= ~3;

... here)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:58:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585415.916522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcaM-0005fU-5w; Thu, 17 Aug 2023 12:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585415.916522; Thu, 17 Aug 2023 12: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 1qWcaM-0005fN-1J; Thu, 17 Aug 2023 12:58:46 +0000
Received: by outflank-mailman (input) for mailman id 585415;
 Thu, 17 Aug 2023 12:58: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=E+2S=EC=citrix.com=prvs=586922e9e=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWcaK-0005TE-Fl
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:58:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9be9462-3cfd-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 14:58:42 +0200 (CEST)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2023 08:58:39 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5411.namprd03.prod.outlook.com (2603:10b6:208:29e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 12:58:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 12:58:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9be9462-3cfd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692277122;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=uIMG2pq51Ki4wpnbCrSGV1mVt0seOygKCZAFBbfZZBQ=;
  b=Omki69xLD7mQz+vRvb2dRO3LdRy06Rv6KR/n8H8XHEzyqSKNgyEoqlXt
   aBLIeuzq3pNPjPpFr7iICObebId4Ul6u7vX+NIGgLRjxg4A3xa8yRHnHT
   anQyF0lYDBmytqb0Ech35+gJT0s4xR5ZmwKHnEMxBjy20pxRgSb9d1rYf
   I=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 119787189
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:CGWihKCHXBiMExVW/wTiw5YqxClBgxIJ4kV8jS/XYbTApG4ngTcBy
 DRJUTiBMvvZYTH2L4t0aN+y9UlV78fRm9Q1QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNB4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw1KFUKDtl1
 cQjBWoQdgufm++H/7+XVbw57igjBJGD0II3nFhFlGucIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9OxuvDS7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraWzHyrB9tCRdVU8NZXjny23G4jECdJbmT4naeCsmnleMxmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmKKRYWKQ8PGTtzzaBMQOBWoLZCtBQQ5b5dDm+ds3lkiWEYolF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:etU/GqGR2TTqr7G2pLqEHseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV86faQslwssR4b9uxoVJPvfZqYz+8W3WBzB8bEYOCFghrKEGgK1+KLrwEIWReOk9K1vZ
 0KT0EUMqyVMbEVt6fHCAnTKade/DGEmprY+9s3GR1WPHBXg6IL1XYINu6CeHcGPTWvnfACZe
 ehDswsnUvZRV0nKv6VK1MiROb5q9jChPvdEGI7705O0nj0sduwgoSKaSSl4g==
X-Talos-CUID: 9a23:Y2tWFWy/lm9MVLmGhrqxBgU6XeMMKFb99Ez9eVKgEnp1RYyqRHOPrfY=
X-Talos-MUID: =?us-ascii?q?9a23=3A/B7/pQ5cWBk74yIylOgHr9NHxoxV7YWLEkI9ia9?=
 =?us-ascii?q?ZgPbHCXJLAxDGryqOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,180,1684814400"; 
   d="scan'208";a="119787189"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TLvneLdyFDRoApD7b+dN/3CsIwkRbEiemNgSSJE9gVyClQ68KulY2PyuDgqs3GIxOT4nzmFPIztOfmqcMwd1SonRLs69YnWe5apau7kNau/74VlMp0cUvNlYKxrfl0ZfpJx5geJD12mwQ1HihNL+HWb3v/HM2nteFFeKciyaQEc7EV1s67atMRr10oyWrTHtaTTIc00mmyWMt33BxRXTYoZ+wIkjltUbYFKefOUWbOC8uNnxxt79QSN+51u4UJ1WIFT/3zQjzulGVNwVApiaAE/O9dAZrfNYrXccFjYM0PXEUm+nuLCb1yhWs08qP3I0cvHQRSuHh04IQIRwXwkPRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uIMG2pq51Ki4wpnbCrSGV1mVt0seOygKCZAFBbfZZBQ=;
 b=XAxKWlrPiUZheh5PSJBbeVL4Cnioaqf7LAGZT7QysWJZIjFwo7lr/h1OzGdh3MF4VAY6DYfnjoNXkWyvaL0bB0QiuPNszoZcja+H85c6YQ2wSskk+/R3q69ov4YUEWa8rYjwUKVkDB/PM/N/x6ZWEej9VL5ACFdMp3ZLuhLN1+9AAV4sDRC/vl0BrI4cfU0pxyLN0hSHHqpmMWBrZZ6kr2CQn6GegFeq26B9rxfQeWt5YKfWvApo1Y0whIg6mHR/vpf3Jx6L/8s6ZK4oaHeQ0IMuXMWebhKasG+rtucLqzcw75fHHvGeqzYasNmsCEAKXjiavowvAnMkY4lXCI9WNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uIMG2pq51Ki4wpnbCrSGV1mVt0seOygKCZAFBbfZZBQ=;
 b=IqK3ZrQJMp1dIkNPySLkYtNOEc0ploBqClNZVjICGdQfwupjwS262q26iC0AHIdPrh4e6I4s/H1esTXFH2ZtNGpmykO/N4o+nnKO2SExymPvo60cgz0U3xgsvNhs8R3IepdOkmwURqpXVL1lLZ9V13Q9a3joj+ak3u6yTUgl8jM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
Date: Thu, 17 Aug 2023 13:58:29 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
In-Reply-To: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0020.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5411:EE_
X-MS-Office365-Filtering-Correlation-Id: a8526588-6529-46d6-470d-08db9f21aa54
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w9vOdrBYBwVjXqb5GkWxdcB2xlnJaxZelyO3Ex5ukDCSPy96k/Tw3zuatXKFTtovX+j3e1Akl1NMV+jZL8nN0gnqKng+P571Osh74M30w0U+RoL3LtBKUpU4TTT7x34o8DRpwE+c9IPivKUwf7FiKLtGjRWYx62dOSlVzl+lKWvC5D+4oycJvSMbVvX3xdrq+5zPSeklEijkowHkJ5aYotxyuyWoyquWy5igEyxA/VqeG8NPDtR3rW8SbHdks9oQfVjxmxvPtiLbOq2TgOZvZh1qlFFNspFVb8dc6Shd0uu39QCXMHgv27zzBbseQNqSQm4apwWJr3W1TpAc4kgN0hRhFh58VOIXTR59oEuDk0I+VOtphatHc8gee2KXM0H34/7vNRCRPzuZjvEb6o3D704d8gfQTecN2a8r7qjyKKZqBsFf3dkzpNp3d3ukkEB+vkiG8dpxGlgfWVt7DR0eva3sPxEb5gRiGYqGl5JxcRHreKRD87Icp3VVa/cml+VQzRYgHkn4/qXRdT7tH2A+NqckrJ4Lk16oarX7wzjLUOM3XvCU00g4kbx8CtOpYxodP0WxbAYtNDRxscgkgk4rJ5lpg42RD17LYOfZBAxTxQIodMy9uV3H6ryJm+/GfJJt3z6IwDECC0V1sYy/D+zv5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(31696002)(86362001)(36756003)(38100700002)(82960400001)(5660300002)(2616005)(107886003)(110136005)(66946007)(66476007)(478600001)(66556008)(316002)(6666004)(53546011)(6506007)(54906003)(6486002)(26005)(6512007)(41300700001)(4326008)(8936002)(8676002)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dEg1T0E4bDVDclM5Q1hWTUZNeEhhbmNMN3h1dDNDbkhYeGc3R1JsRHAxVGdj?=
 =?utf-8?B?WUt0cWQzeEZnNHhjV0lIQjFrSk0vUWdUUWI3bFp0SHBUNUVTdEJEa1BCWnpK?=
 =?utf-8?B?a2VXbTZtRkROSkZ2U2lhLzJnSWN3d1M5QjRkQVpCbjNsaDlsMVNCMkVzY0pG?=
 =?utf-8?B?WlNaN0FsWGREempGWmgrUjNIdllFL2VBRHBYOTdNR08rUUhFVjhkK0Nvems0?=
 =?utf-8?B?N1JqN2hTMDVpaHdGQVRObnJUdFE2OXZOM2FNRWlYbTlhcWI0Q3ZIZmxVZDFY?=
 =?utf-8?B?d3RzNm43bC9MVGxUakVhTWJWK2pwNTkyNkpCc003ZGZGeGcyZkZWSEo0TDhQ?=
 =?utf-8?B?ZytITVZxN2JyWHFmWFFzb2J2WDM1bWhUbUhkYlpkVldRc0JtUlpjM3AvSHND?=
 =?utf-8?B?T3lYZ2k5UVpTL3FCaFcrMlVnTWxTL051M3Z1aEpRZGNIa05pcjF0VktXZzdP?=
 =?utf-8?B?ZDlYbk5NMUtCUkZMbm12b3gxNFRjNXRsWHNiZDV2azRsbXFQS3lpeHMzNlVq?=
 =?utf-8?B?WGtoVzVZVThjWFpiYldWRXdwM1JpcDBTTEduWFprN21sNkhsM0xNb3orNHRR?=
 =?utf-8?B?S2pieStGSUNqOEs4YXNGSjBCaHdPZWNEb0FCNFN0RVRTRVpNdUpNMXczcytq?=
 =?utf-8?B?UytXQm1QUHozSURrdWZ3OEdva1hOcVZVNlVURjVMdVB0WXJXVmFUWWQrMTdG?=
 =?utf-8?B?c1lsU1JndlVqTFYwWSs3dzRpTzZ6ZGltMnd2eFYwTU4vNzNIdlovR0RETjFw?=
 =?utf-8?B?dHJxY0FqbEYvNDBBVlZzZ3ZTQkVDMzRrV2hoc2ZKQWIrUlhMb0VrdUd1NHdG?=
 =?utf-8?B?MldoQU5EekJwUXd1SUZOdVVVV1BwWGp3bmJNMzJLSjNMVk5LRDZKVjJSL3R3?=
 =?utf-8?B?N1dNalQ1bTJlQ2c1SXlZdi9NcUdXMDVjaG9QQ0oyQ3prc2xVa3creUpjOVk1?=
 =?utf-8?B?RWIzK2ZzK0lPSmltZmJvMzJFSVAyOUFCa2ljSDdQdUtZaHRLRjZWT01QKzUw?=
 =?utf-8?B?MnZTeldFUENJY0NrVGNMdUplMU5KRFZHczVvYm5tUFR5d0ZkaGdUcm0xRktE?=
 =?utf-8?B?UUVpMXplWlMxNlZGUzZlclBDU2ZoVE83RStGUkdKN1N3UE5NWHVEbmdNNVpE?=
 =?utf-8?B?ZGRicDN5ZmJiR1UwdDJaUHpRK3FCbjNkb25Xb1h2anV4MDVrUFNaN1J4ZFM3?=
 =?utf-8?B?cXJ1N1JoWkpEcFo1ODlQZHFyWXNoNnQ4NUlQOFk5S2N3NjdJczhENzJEKy9Q?=
 =?utf-8?B?czFqa0JXVCtvZTRWTHdNcEdKelJIVHhnSGhidEhaQzIrN3kvaDFWdUlsMzV5?=
 =?utf-8?B?d2RhcU0zV1lvMDN6dnVDVlFWZ3Y1aStsVGM3MlNCY3IwVUNHZXppTEcwNndY?=
 =?utf-8?B?amJjWUtSVHZtUHdOUlB4NGY4bzZvbUsxbktxL3NKaTJrKzBlYkRRN1hqbyti?=
 =?utf-8?B?NzgzMEVLS0doUGErRmZENllFMi9ia2EveUVNKzRMbGV3Mk5mQVNFS3dLWlV3?=
 =?utf-8?B?S1RTa2RPU0IyYkJnZkg1SnorR1I1SGVadFpVcTAxSlRZZ3ZUenY3ci9hTFhs?=
 =?utf-8?B?VXdnMGZ3a1k3a2xrZUZ6QUtvMHp2VUo1NG1pMkxZVGZ0VU5oMVVDajFLQ2M5?=
 =?utf-8?B?dEw5K0ZXMDFkbnJNWG9CMXQ2SWpJa0NxMWJaSjFkeFNGWDhXb2xUdlVDRDFY?=
 =?utf-8?B?MkgwU3VwSnFHWTZRWklIamN5Z3ZvQUk5N3I5a3N5MEpxOWpZTVR0TzZUbmcz?=
 =?utf-8?B?SytOM2pWbGtQN3hrR21oOUNpbGpLSlM0SjBKQjVKZlJCbXVpaDBqdlNLbkls?=
 =?utf-8?B?VlpXY0VpN0pIWXkrVGRqb0l1ZDVFUjBUNEk0QmFGZUlncnVZK1pqL2JlRllv?=
 =?utf-8?B?cWJzZjBLTFRhaTY5L0RIS2psOWhranpOaFFQWmJmdFBocjNTTXVZazE0Y2lm?=
 =?utf-8?B?MEt4UG45cDNiSHRZSGl5VEp3TDNQMjFUbHJETTE0YUt5dlFDMW9scmlsQVZZ?=
 =?utf-8?B?dWlSWnJ2ODM0Q0x3N05WWlY1blNBT0RpdzRyMWw4SzdkQWpUMzZpcDZ6cVFH?=
 =?utf-8?B?dnNkYS9GWUhKTnhvM2xwUXE2c1NnUUtVUWN5a1psaGxlYzdEajFXbFlqVjFu?=
 =?utf-8?B?UFBtSUNvVkFpR3hQMVo1NXJRNkZ0QmxQemdnZDFaSVlWOGNzM1F3ZktKQXVB?=
 =?utf-8?B?bHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vn7QEvfXa5r8sgDgOw0PIyAVx3ZPm1hdx9VBHOFUmNLtUA/jb2kdIlGFBMu7uEsHQKVT/BFt2ubbgP6jNg1Dwj/EB8HCysbBCA3NXseBKgksN3wtXkcGxiaq+ostWm770LFZAY6SIOknvTqAWJvtRb44Jlp18gJzfn0Nv7Y+hLQ5egxMqKadKojSxYl0Txb2PYUCx3rRYLAeA5oeKs1pBn5xjA1rPVDH/IvKvthgVxzcZPvjTTk6hbv6DrOwqmPMJ/+pYBEnjJUIdzPsudbG2vb7GWfu3j1DRwNko6PqX4x0WN6wxJKIyUDPkpslYVzlsmqWSZfINxRS7YseiXMs4Wn5aM+hPhvz9qEdt/iBaLxfsOoCjAcem/tf7/YTLxP1Q6GDzEaHWHJKC60A3ycEhAPO1yDea0j3O/ECXswxSdnjDeXqgGeN0lDI9oP2NGAh7WH4DVR2+I/HPudINyTONk4mgb+AADzthK1S0gj2Vpfz+SC4iEQOzjLFLWDAjVOTGaHm+KvUs1gACue6+CrvAggNzb772rADRplZCvAG9ex/hLLrN1cC74KU/HZJOE/wPNajtaLNE3ppUXUbBkdc3q77IfBHr8PTsHOJu2IYzx8UfJm+8lGu7aAHUwx8hIO+lL/6XLpvfcENkbI6v19S0q+XloCZaNBCUttKmBTSS2PvLMl049PbSlC8GSuuiXZpChRbRGQ8FKpV3LiqiwbxaDzVjveL0scXkrVqCrYvkuHX/EIXYcgpnGU/5vNb3L9DwAwmlmY4INpGRmvfT56iiKZzr0xL3UTlcWdNRa03n+ZSzf1TXHsxuKn0yAx2nwj9g0/ra9kpXrs/DUwhc1HVUQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a8526588-6529-46d6-470d-08db9f21aa54
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 12:58:34.6006
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NlCDOuCfaMKQpDZY7lIO3m0II+CNFawUZdphAUMc2wws4nOCGqVshCQVe7dr9gYlIRDlPnnFBpPNSQlHLRdLE4td8RRkWU4kofZdZfB8ap4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5411

On 17/08/2023 12:47 pm, Jan Beulich wrote:
> Our present approach is working fully behind the compiler's back. This
> was found to not work with LTO. Employ ld's --wrap= option instead. Note
> that while this makes the build work at least with new enough gcc (it
> doesn't with gcc7, for example, due to tool chain side issues afaict),
> according to my testing things still won't work when building the
> fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
> getting invoked, this does not happen with gcc13. Yet without using that
> assembler wrapper the resulting binary will look uninstrumented to
> afl-fuzz.
>
> While checking the resulting binaries I noticed that we've gained uses
> of snprintf() and strstr(), which only just so happen to not cause any
> problems. Add a wrappers for them as well.
>
> Since we don't have any actual uses of v{,sn}printf(), no definitions of
> their wrappers appear (just yet). But I think we want
> __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
> which means we need delarations of the latter.
>
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This does resolve the build issue.Â  I do get a binary out of the end, so
Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>.Â  I presume that
you've smoke tested the resulting binary?

However, I do see something else in the logs which is concerning.Â 
Likely unrelated.

make[6]: Entering directory
'/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
gcc -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall
-Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -g3 -Werror -Og
-fno-omit-frame-pointer
-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -mno-tls-direct-seg-refs
-fno-pie -fno-stack-protector -fno-exceptions
-fno-asynchronous-unwind-tables -fno-builtin -g0 -D_64f2 -mavx512fp16
-ffixed-xmm0 -Os -DVEC_SIZE=64 -DFLOAT_SIZE=2 -c avx512fp16.c
make[6]: Leaving directory
'/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
/tmp/ccrznrqa.s: Assembler messages:
/tmp/ccrznrqa.s:98: Error: no such instruction: `vmovw .LC0,%xmm3'
/tmp/ccrznrqa.s:99: Error: no such instruction: `vmovw %xmm3,58(%esp)'
/tmp/ccrznrqa.s:105: Error: no such instruction: `vcvtsi2shl
%eax,%xmm1,%xmm1'
/tmp/ccrznrqa.s:106: Error: no such instruction: `vmovw
%xmm3,382(%esp,%eax,2)'
/tmp/ccrznrqa.s:107: Error: no such instruction: `vmovw
%xmm1,-2(%edx,%eax,2)'
/tmp/ccrznrqa.s:108: Error: no such instruction: `vcvtsi2shl
%ecx,%xmm1,%xmm1'
/tmp/ccrznrqa.s:109: Error: no such instruction: `vmovw
%xmm1,318(%esp,%eax,2)'
/tmp/ccrznrqa.s:113: Error: no such instruction: `vaddph
256(%esp),%zmm7,%zmm5'
<snip many>
simd-fma.c:208: Error: no such instruction: `vfmaddsub231ph
60(%esp){1to32},%zmm6,%zmm5'
simd-fma.c:209: Error: no such instruction: `vfmaddsub231ph
60(%esp){1to32},%zmm6,%zmm1'

GCC is 12.2.1, binutils is 2.37

AVX512_FP16 was added in bintuils 2.38 so I understand the simd-fma.c
complains, but ccrznrqa.s suggest that there's a bad -m passed.Â  I
haven't figured out which source file it logically associated with.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 12:58:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 12:58:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585416.916532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcaS-0005wr-BZ; Thu, 17 Aug 2023 12:58:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585416.916532; Thu, 17 Aug 2023 12:58: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 1qWcaS-0005wk-8P; Thu, 17 Aug 2023 12:58:52 +0000
Received: by outflank-mailman (input) for mailman id 585416;
 Thu, 17 Aug 2023 12:58: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWcaR-0005wL-Mo
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 12:58:51 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfbbea16-3cfd-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 14:58:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7334.eurprd04.prod.outlook.com (2603:10a6:10:1aa::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 12:58:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 12:58: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: cfbbea16-3cfd-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RjGA7EVObMYIWyF9hx2S2rECp8ytDkJvjhDoTsS6DfnrVZxdjlOwR885b7ATOYzg681bykbSNFwJCE1NNC4xPMzO37mXdi/oyQGzSEDI8LM3ZIuoR2ocn0WlmN3NT3z/nY/y6b++HHNWQ0rqC/ZmWUBDSOuDGz40zzbv5Ui7Rc3gC1NnG+5gyUK30TfBv9w/OKENnLmdq8BaJ99WMBgeYInMg68yBVOGshnG9dI1JFIPhon3vbc3h3PtOo/PWHkNUcZhv6P0LG6SZV0WcBipuz4ao5Pb9gREILjGlk+uOAsBmzzL+E2lgi0Eq0TDD5CpEFZCSZ405fl/fpNr0zYG1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JZVkbR5kIZLN0V9dYwxnTdHIbzBA+8a3U2HKYICrrGs=;
 b=LkYPg43ZwVhSXffo8tLc7ulcTY7E1m47xw0MWYA/ScSGqyG71NaNbY1N2Xpx4QUjSkJI53j6MVe3RaeF4PYEc9XknfLWrhtq+2Wj6G6a3qwycnptLQr03BNRqKXxspjeJRE3vhP1AsCse/UG8r0U1JeQ1D0ctJhipVJwvlfYjLBr9c8n132hRmgoIQ6SAdoHQyUR0zX6oyHSsjS2Tib7PczWmxK+WNtRjVI3HIREHFXO4nyabAA1MUvhTfUifNk0/gtZc6+yagneGd7gKwYlhCl52SHa5IhWzIJ8zAhe+nduSHwvrbhj4Pxgu5ot8IEaaZKChDf/5pO0ieLJvbvRCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JZVkbR5kIZLN0V9dYwxnTdHIbzBA+8a3U2HKYICrrGs=;
 b=YQPtFj6lM8g15CyjcpNRylb1GSHBIy8uMAeSbhGq96dY4b+A0guTFH2Nrd0wlhKWlTNvODdHHUAnw2snzwnamrYo8pCAtLFMqfpGf9+x9XeDTUwXGKafHqB2kwz6VVc83sryY4LonaOXPb4B7k3cT2Kcu7Fih72comMCGSdMjt/5tIxCCUvXtEK+g2vpNVrV8qsMKetbXltx6vtpifZhLu6OlzH9STrTFOooxlFIo7gaslhoz7ROqwWsQdnrcHkW+UjgJBgWanqHxps3tS3e3iL1U5rF7ZpTCXxIYRC344prVcNsPL0qVEu8ycjMrunPtsKSqsQQdwRUF52GrGf/Wg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <572523cd-2af7-40c3-b975-c2d144898fae@suse.com>
Date: Thu, 17 Aug 2023 14:58:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xsm: removing inclusion of byteorder.h
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>
References: <20230816190425.8160-1-dpsmith@apertussolutions.com>
 <CAKf6xpvpHq5vBHm20snGr+fgu78Kviiwne2JVcxrESXStDs2Mw@mail.gmail.com>
 <958bfe58-200b-0ea5-22f8-fce393eb69b2@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <958bfe58-200b-0ea5-22f8-fce393eb69b2@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7334:EE_
X-MS-Office365-Filtering-Correlation-Id: 500419e2-14db-4526-7e41-08db9f21b344
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IqP+p2NLbeIwoCbO4QeBqGrdFqkMTgCEOP0ow6lbpYg22EDtazTFckImT0UO1zDpnVUeqWBUQJavFWeyka6kOlXsFXQuhxjsMGSvYtss7Ax9VL+qBBXJEFLDjf4PxL4VBgJMf2vAjPxcLGIgZvQCA7qkU1x7n2jT6yXGZGzfIb/IgNGz2+QOqRTq2fZi8B036dtgH1GmREkjzI+wUWlGftvCif46ryrywv1UPVZril3Og3klszioiZkixThor9cxbfj+eiVFxg/kPYqZ2lpvYYiunDHt4nbJua1Uu6u/hXD1kvv1ty962bHuLG2J8sW+lSlTnM1/TLcbyMyODBu3oMO9vi5uF1rpLOLhLmWJQxRSvxXXt5UwlC7EqmqtaC22I90ZSacZyF0KM3E3wgacbx/3Z9hDaQg/hvAFN9IYKBgTukQfusFNkOi4IQ4uX6ALQv3icvifRqjjWdSE3RvA2vlZL6UrrQMcXCuajHUyk3hiWN/wHXinRqfoXU2L9rwbDU0oBUyAYWra356Kw5ebK5xVrAJYaGWF5R9hcMBax7t2vBipzZVIgXoT6q2YSXDpWV5uIP9TA0r+CY79PyioeUzXGCML+4RvmfJimrreDm26xM+2pCJ3FbrPjkFYnZTiw3QiYMZ8GOuzX8iAm/OpoQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(31696002)(86362001)(36756003)(38100700002)(5660300002)(2616005)(66946007)(66476007)(478600001)(66556008)(6916009)(316002)(53546011)(6506007)(6486002)(26005)(6512007)(41300700001)(4326008)(8936002)(8676002)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2VzSzF6QWk2QmxxckRpMGduaWpnSWp5Z2Zkd1kxdC8vRSt1VFJHMUtQVTFZ?=
 =?utf-8?B?RTlVY3RVaTRaaEs0eDhDcTY3dnY5Q3dTRFNSQTZ3WlFRSHgxekk3c2IwaGVp?=
 =?utf-8?B?UlIrMzFOUW5SSFRBZ2pZeWdkcEdSL09qK3pJUTdDSktzdHZsUE81ZGR1c0hs?=
 =?utf-8?B?WDVUZFdZMTBTbFE2WGY0QVNTS0xFbitLRGwxQWJzTldHV1p5WWNJS0duSHht?=
 =?utf-8?B?ZTBDSnhEWDd0ZDJObERHWldlS2E1UVFxclBOUURlcGh2MzNrdVFZRDNManBQ?=
 =?utf-8?B?QkZZdnZtYW56OXlFQzE5VitObEtTdW9YdE0yVjBOZE5pTEhDWTlxQ1JtMWZJ?=
 =?utf-8?B?NFJ5THkxV1JEeDc4dnpMcXc0RW1YR3FWRkxNSUxtUmJtZW9lMkZpd1JpcG1M?=
 =?utf-8?B?a3pKbkxuNlI0cVIxb1RVZks4MHZYRCtUK0JZS3I3dUZDMGVBTWVRWlVKa0FJ?=
 =?utf-8?B?USt0Q1pobVRTQWZ6WndUQzN3MEtQcXBUY2UyZHoxK2FIWXVHZTMyU1FqVFhP?=
 =?utf-8?B?R0MxQnoyYWRNcm11OW9odmlMR3BvTldFbi9pVFh2UXB2SVAwSHlBcWszQXlh?=
 =?utf-8?B?WXgwTTcvVURhVVJ6MjRFanlCN3J5MjFLc2p2MUptU2E2R3E3VStwV0RXMEM1?=
 =?utf-8?B?bnJ3SkhwUHphVDdPTkFRRnlBWnlVYUZOb2RSOGNGeVVpMitoTGE5KzhaZ3hI?=
 =?utf-8?B?ZE1MeWg4aVVzd0pQbnk0R045Q2hGWU1qMytaRW53MDhMTFdVRGtIcCt3Rk1r?=
 =?utf-8?B?dWIvaFNOaU5JczBnRUNaRm1HRWM3dGswTXZzR3RIdENjeGlzSXRsVzRPK09x?=
 =?utf-8?B?TnAwN0czbFF2NVdqL2ZtKzR1ZXE5aDVHd3ZzbmNJOGtLS09pNm15K1JWeDZa?=
 =?utf-8?B?R3ZlRmdHRTQrS1ZMSXVoZTY4TEdySW1STXBOOW1XSU0ydkxQMFRFZ2U0RFdT?=
 =?utf-8?B?VGFvM29MNWorcCtpTlJKWUkyQm9nR0ZNQlErMEh4NE9sTndsV0dHMFlIYisz?=
 =?utf-8?B?TGoya1lCYWhFNmdROEVrV3dJeXppdDdtSmI0ak43Z0VKZldKTHlJajc3ZGVZ?=
 =?utf-8?B?anhXTlFSSmsxWnF3RjBwL3FaeEp2ZGdMVHB0VkRwaFd1Lys2Q05nRnNnd1JW?=
 =?utf-8?B?cTFJMmFtMC9RV0Rvek95UVRVTXlHaWNNNS8zd0ZXbjZRZUZQclFhVmFVQVNR?=
 =?utf-8?B?bjBGRHJmbHdpT2lQejZUcjlNMmMrTE5JYWNHNytOczBzdTVYTjVLdm93L3I2?=
 =?utf-8?B?M0RKcC82MFVidlVMdmUxQWoxemlySjhvanJpOSt3ekxITi9QaFpqTDJMemxy?=
 =?utf-8?B?VllDbG1SWEs4c1VXZWtrazhUQXVNWHd1UFlaaG9Qa2U1dmdPWElOVDIxdGtI?=
 =?utf-8?B?WlpVSkFKWmtvWnpaWm0rOGlZL0NpbzhWQkFaa2U3ODlpYTFGd0VoQmRPdnU2?=
 =?utf-8?B?eVdoN3lJT0JQUWVaZmtxN2d4dzFnNTZKdDd3c0ZsVlY2NmJSOC9HbFBwVDV1?=
 =?utf-8?B?UmNybWs3RGdLZlE1SjZWM01RVk9QWWdoVkl2UXVqR3cvV21iWW1wbTNJR3Ay?=
 =?utf-8?B?MlluckF5VmZEMjgxMlZpb1QyZ3FveVg3MWtrd1ZLYXNtMEhxVHVZczArakxs?=
 =?utf-8?B?czE4L0FpcnZjL0lpKzRaNEZYVDJqTy8ybjVFUDh1UDB6QzNRc3d6VkpLTnZ5?=
 =?utf-8?B?aDFkclhRTlVMZHpLdHNlN2JHS29SZU9QOHdsK2g4OFVkSG4yWkVrRVgzeEli?=
 =?utf-8?B?VEFyWVJCbnBQWGtJTHZGS2hQZ0dJcWJITnR5V3NkdnVPdDd1Q2ZMK3NtUm5s?=
 =?utf-8?B?bmw2b28yOC9TYnFnUHoyQXNxZGJBSW1ZRjVOS29IWk9WenA3RWFtZWZZUUkx?=
 =?utf-8?B?R29JVHVXWlF1LzNlakd1TmhLYXRFTnRGditwVDA2VXZaeWQxczFtYW9JUHNa?=
 =?utf-8?B?OTBxcnVNRThWVnNQazZBMkVlVTZPNGUwNU5uSkZiWWZXYmc3V2lYNVVmMFdj?=
 =?utf-8?B?aTVsZjlHWXdvWEhYZnA0VjdBRnlTRDkzdk9GSTNaKzN5N0N4UllnaDF0MkxR?=
 =?utf-8?B?RG5SdC92ZW1rQitnaS9RaHZoa2hucnU4WExZSjRuaHRGWmR4QnV0ekh4c0g2?=
 =?utf-8?Q?2IN5gkgs+I6BbueDH7dUMcI/U?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 500419e2-14db-4526-7e41-08db9f21b344
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 12:58:49.5079
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZxhSIMfVwNYtm7jg7BtRh6M6T2/OZyrcuTtaDg6tKcIA3tO7hhjXwViJ+Sadc9IOUIEhGAsPN6QQABz/cKTl/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7334

On 17.08.2023 14:49, Daniel P. Smith wrote:
> On 8/17/23 08:17, Jason Andryuk wrote:
>> On Wed, Aug 16, 2023 at 3:05â€¯PM Daniel P. Smith
>> <dpsmith@apertussolutions.com> wrote:
>>>
>>> This is to complement patch 'common: move Linux-inherited fixed width type
>>> decls to common header' by removing the unnecessary include of
>>> 'asm/byteorder.h'. In the process of removing these includes, the ordering was
>>> corrected to comply with current coding style.
>>>
>>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>>> ---
>>>   xen/xsm/flask/ss/avtab.c       | 3 +--
>>>   xen/xsm/flask/ss/conditional.c | 9 ++++-----
>>>   xen/xsm/flask/ss/ebitmap.c     | 8 ++++----
>>>   xen/xsm/flask/ss/policydb.c    | 9 ++++-----
>>>   4 files changed, 13 insertions(+), 16 deletions(-)
>>
>> These four files all call le32_to_cpu(), so AFAICT, you are trading an
>> explicit dependency for an implicit one.  Is that what you want?
> 
> In fact, no. You comment here caused me to go back and try to see why 
> Jan said they needed to move. I realized there was a misunderstanding 
> about his commit message. He was not saying later, at a point in the 
> future, they need to be moved, but that as a result of his change the 
> inclusion ordering had to be changed. The former is what I understood 
> and thus attempted a build without them to see if it would work. I was 
> not expecting that conversions would have been able to be implicitly 
> resolved.
> 
> Since I already rebased to latest stable, I can resubmit a v2 with 
> correcting the inclusion order but with byteoder.h inclusion remaining. 
> Though that would render this down to simply a style change patch. Would 
> that still be acceptable Jan?

Of course, after all you're the maintainer of this code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 13:13:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 13:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585428.916541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcoM-0000YL-H7; Thu, 17 Aug 2023 13:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585428.916541; Thu, 17 Aug 2023 13: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 1qWcoM-0000YE-EJ; Thu, 17 Aug 2023 13:13:14 +0000
Received: by outflank-mailman (input) for mailman id 585428;
 Thu, 17 Aug 2023 13: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWcoL-0000Y8-1i
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 13:13:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cef19826-3cff-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 15:13:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9437.eurprd04.prod.outlook.com (2603:10a6:102:2a9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 13:13:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 13:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cef19826-3cff-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XA+mQJiGfplw0D4DxmCLbB/WAhFcWu885xmUQgHlE+r/fK54i0gTifaYHQ0o3C3w/PxG6zwLuRH6AkaM9uMutxdbozQLw2uxp+0dQ14mfrgJfPi4KFoRjRE78DX7sdpqCvbKKzCzIrSoGg+BZAYWQNStAkD32EloQS8SSPl7L38DlNCrFEws8iwO6IewbRfF7efkwf6fNXAVbEn4FobUjn67o4cSZ9Mt9+hQsRUwY/Gr+h38KUdZkTHG7vkM3oQvgU/jPql6vgShwmQag+qOHsW15UYn93xDVtv/3oC9z53gt6W0AqfodRiJe1lMyn7sS3YdqhXCsDYBHD7RIZFdZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hHB1cTIJDHaNZRtlni1cNRYTRNLngJ1L39OUsObuyPw=;
 b=fnKZ4mxDz+dR4iJfoo4kg6TeoGxzLL9y07emq4a7kXDI0K8TjbiD0WpSd58MrJl9Os8v+Avj2XqE4p+o6WMInUOy0ACTLo+EFQqJlhUe5uE00X9JDKUybaGZaRBrYHL571aK+/hXv4V7aYVsIPsM8EthS8S5wQ9kRozK3Vpmpi0CxI3YjQu9iJhp/5u+Elrj+35kRKfltk90Qjwhn3eOkeTm6ymDVnmOuoB2t9n/EiA2PyLdw2Cr3TKjxTrlK9roxjbVU8niYKqo8cIl1CHSKtWu0UGIeek3MIJBp0ByBv6Iwy82QdWQeudbBLPG1j3FTWxhfLkpw7FQ9ZLFPRykpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hHB1cTIJDHaNZRtlni1cNRYTRNLngJ1L39OUsObuyPw=;
 b=eBkB8/mBYTB0gz57vCzco7oeUxtytQmrkiMGSPLkQZOmRjkhp2B7/Ktn4L+pVHI0sqHhsishjxhJqR1yIq8+C4bi7b9+ENJeKfAHaGAG73c/1evewHcPiuP6nyY4aeMSwcbbp5BaK1cd2v2qkjrFGZ/aFxOj96lQhgPZk5drcA6bRYElJQUm5FCYNiTNyg3GUxlBmRY7SvgYu+yIDRiTD8RYZZkqzS2c+001nhlWd5aJ2l04kxYPhfkZBRlUhX8sv0IOhMGwe2GGwiEBGyhHNTauZN8pJF/QpTfqyHAfw07l3+NcAxUPMK/Ea6QJYAqogPgKPvO66oJ2iLfYFCdLWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e954ab9a-8319-1eb3-913e-738171148462@suse.com>
Date: Thu, 17 Aug 2023 15:13:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
 <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9437:EE_
X-MS-Office365-Filtering-Correlation-Id: ed4f0f7a-3a5f-4cc3-ce11-08db9f23b1d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NgwRZsttCLoqBMHdHIj4iGnW2lrsuBXRine4mXcSGKrnHaNigyrRtcNYa01iW8Ytx6UlmRYHBn5jCLwAbwF00rQIpnZOr9T6ihoRkjAidS8K69BdWpXH6f+wuIER34SMdQykuijeuBtrhA8WTHbaMDyJkxqKMLbKlOlaPlDI2VaE5rjuau1/l4Dpy6DyDp/5vl4yR8WCRPvnCblCrXLYVZa7Pv9eNr9kVfSZ2uGBMXtZ/sFYNNigbIVUs7jQ5dF6S3HHds25p4SBLH1qk16ZEfRhzI+LztxH3xb5Guu+QZvKrhs3jJFd5BzwOdbQViNctTCzd3GEtumijmmJn53h937EboEuPs6qUsrX7t5rt11nn7M3aKKg/zUa7rvYgXL3qHgrEMNlvKt4rDWVgbyWlt1WXHLY4QgWiD2G2EQvd+ZOJ9a8e+C/eacfOv98oAzawrboBSYnKMenwqe/hg5Q+/g5NJZxnRZEVkFpn+NwsA0ZkmBpWswgwoJF/iJE/1X+mDoN4545YjsDhW5zXziFNGoX55AUAZCQVBouNLT4/kVy7kwtoeud7X9JnUY8PQgX5xpWrRfwq22ijq65kVlP8RymQuW/fc24+p3HZkP5ESldEIcrzLwYfiEIV2k15ycLEBjyy7w3Nw84+d1V19UeQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(346002)(396003)(39860400002)(1800799009)(451199024)(186009)(31696002)(2906002)(83380400001)(26005)(86362001)(478600001)(6506007)(36756003)(2616005)(6666004)(6486002)(6512007)(53546011)(5660300002)(41300700001)(6916009)(54906003)(316002)(66946007)(66476007)(66556008)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3VUYmQrSUU2anZaTDRzY2RZNzBJN1BLa0RKRG5oc0lYTDd1bE1sNkhxN0FM?=
 =?utf-8?B?M3R0NkdEK3FUOERKM1lNSWg5Q1ZHSi91NlZVMTVDaC9aVEZITHArajdiV2Jn?=
 =?utf-8?B?MkYydnh0OVQ4MUZDOUs3TUhiRmlWdUZIcDhzbU1GWjFkWkt6blVnMWxyN3Mx?=
 =?utf-8?B?UHV2THh4V0xRcGNaUnFid1pOTGxPZWd1MEpZQ1NXdUVSM2NuSUhjWWxtSDZY?=
 =?utf-8?B?ZTh3WWVja1VuUWo3QmdKVzdnMmlnbnN6b25EU3YyMzhOQnVNdyszU2tGWGZp?=
 =?utf-8?B?a1liY2cycC9vL2ZtMGFXb3VzcEZZL29FWEhWWERNTGxETEE5V0dnRkYzWmgr?=
 =?utf-8?B?RzBBZ3BDUGhrakFuNTdCWnJCRyt5SkZKWlVxZVpRbWErTTJIeDFvcWdSM3d0?=
 =?utf-8?B?RVU5dkhBOHdWTDFnQzZ6blZwUlE2ZnoyUWxpbFE2V3NXRmpzWFZRTCs3akI0?=
 =?utf-8?B?ZWU2WlB1UXB3MTMxWjZaVkFmdWVWUU1hUGNwNFpLeWxldEtUd0J0VG1ucnZC?=
 =?utf-8?B?NkZtbmJPWFdidXhrQVhzaFoxbXdLblkxT3B4TkU2cnVsVFc2dFBLOHlDbTZW?=
 =?utf-8?B?WngxOVlYYVVGVHNsdDI3R0sza2pFa054NGZLdVUzZTd5bTNkZitVQ28rcWJ5?=
 =?utf-8?B?b1lpSFZBK2Q2dnc4YURNRHpiMHpRNnFlbVIzaHBXMlZ1YW10L0lrUUl0WDhI?=
 =?utf-8?B?VWVXMkduYUpBcDdpVjBLbzlDeFlxRi9scEgxU1ZBd3RMQm9UR1RtL012OUdn?=
 =?utf-8?B?cW5SR2tFS1dqWmFoelJ1eW5yUEMrN3psQUc4anRGc3RvOHh5cmRUTmdhdHlQ?=
 =?utf-8?B?cWVIa1h0ZDZueWpaR0Q3bUM2SHloU29VUzE0MmhJMDdpUjAwYzU1S09Dcytj?=
 =?utf-8?B?VTFzZng1T2tjWGFZMHBaVTE3Y1B1VFdtam56ckZxSnZZbVFLaXZ5VDh1RGRC?=
 =?utf-8?B?Y0VSYXdTTm9RWC9jN3FKa0hyMFpHVzhwejR1aVRNM1VHeUFJczhPazR5RVln?=
 =?utf-8?B?ei9MNnNhZ043MkpRVU1tRkxFZG9WVGJNWlRrU0ZmSXlDdmQzUWN6SGVqeW5X?=
 =?utf-8?B?S0ZzYWVMdnQ2MXJzSUpaWmdxQXdldjkxK3FTS3NYZ1h2bXBJdFpoaE1tUUFq?=
 =?utf-8?B?OFFQeGl5dFNSdndvaFN5RnBJekJCWGpidlRhMkEyV1BRZ0MxYlNEd0tGcXdV?=
 =?utf-8?B?U2NWbWZJUm9QUkNrYlBFTU9EK0xLMVRCWWRSK3V0Rmc3QURyb1RBVzZrcWhD?=
 =?utf-8?B?VzFiN25TYmtKb2VzMWpDWjBHc01kdWdKRk03Ly9CWTZkNU85YlJ3WjhSayty?=
 =?utf-8?B?ZGR3QnRsQVFMM25MejhmYUtqMnJUQktKSFROaFZ3RkNEcENqcDQ2dVZTWk4z?=
 =?utf-8?B?TmNTNHJUd29EU2hGMjJhNTR5cEVzVkFod1FxTmV2MUZjVDFhMmNndU9FUjRU?=
 =?utf-8?B?TTd0TDY1eS83cmxPdmNxcDRIYUVGOFBKTnlNbW1VVmhCdjVxYjlQaEwxOThm?=
 =?utf-8?B?dmlaNDlOUUtXNEp2VjR0Y1ZlK0pWYndHa05hZjh5eXU0ek1td0dVUm5SNWFH?=
 =?utf-8?B?MWtGalJZNDZNUHIwS0I3blN6V0lRelM0UlM4QkxsMTVKVS9ZUTc0RDBSb3hO?=
 =?utf-8?B?dUFYdWE4MnFubVBnVERDYjZnOXdmL2Q2eW4xZ1gzSnhydGNqczZqelRMY0NT?=
 =?utf-8?B?dDhoeE05Ky82c1FFeFVkQ0hXVkVrVGx0VkN4Wm9MemNMaS9JRVZpbENQNXFG?=
 =?utf-8?B?enVDWUYwQnFvSHNwS1NBRFlGNHpUSzA3Rm1WeHRqMnBWelVxN1hXek04VXNw?=
 =?utf-8?B?SXQ0MzVDcmpKZ0VQeStsRmpKSVpZanI0ZXJ1RXNPbWp5WmFKRmZsYy90cjVP?=
 =?utf-8?B?UU9NWGhQeDcxVmJFeG5ZaDZaU3JKcE5vZFdOU2Z1dk5uWlF5Sms2VGZaUjhU?=
 =?utf-8?B?TGhaMkQ4dGc4NThMY010L21tUEFHSXRUV1lNZm9VWWI5Mml6Yk9RNFdiUS9V?=
 =?utf-8?B?T0sxUGw1WHBIajdBYlpKNkFBdUtTWWhGYURwbjJHWEt4YTR0RmhWRG9pUEh1?=
 =?utf-8?B?NWozKzh1anNpNlQ0aHA4ZzQzWlFDdmZTZkdmNU5KbzZmOGRRTWEvSHYvWE1R?=
 =?utf-8?Q?lf7NaRYhu5RqKM19XI08sakmc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed4f0f7a-3a5f-4cc3-ce11-08db9f23b1d1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 13:13:06.3292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bJABJhrJJgquc0Kfk4yGD83fW6uY4+tUmMsf+ml83j+0an6gWfVEAV9PND9I7EEUs0NAnqOo4+Wn39fdIFQEfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9437

On 17.08.2023 14:58, Andrew Cooper wrote:
> On 17/08/2023 12:47 pm, Jan Beulich wrote:
>> Our present approach is working fully behind the compiler's back. This
>> was found to not work with LTO. Employ ld's --wrap= option instead. Note
>> that while this makes the build work at least with new enough gcc (it
>> doesn't with gcc7, for example, due to tool chain side issues afaict),
>> according to my testing things still won't work when building the
>> fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
>> getting invoked, this does not happen with gcc13. Yet without using that
>> assembler wrapper the resulting binary will look uninstrumented to
>> afl-fuzz.
>>
>> While checking the resulting binaries I noticed that we've gained uses
>> of snprintf() and strstr(), which only just so happen to not cause any
>> problems. Add a wrappers for them as well.
>>
>> Since we don't have any actual uses of v{,sn}printf(), no definitions of
>> their wrappers appear (just yet). But I think we want
>> __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
>> which means we need delarations of the latter.
>>
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This does resolve the build issue.Â  I do get a binary out of the end, so
> Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>.

Thanks.

>Â  I presume that you've smoke tested the resulting binary?

The fuzzer one? No. I didn't think it is of any use when not driven by afl.
I did a proper test of the test harness one, albeit not with LTO in use (I
focused on the fuzzer one with the LTO issue).

> However, I do see something else in the logs which is concerning.Â 
> Likely unrelated.
> 
> make[6]: Entering directory
> '/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
> gcc -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall
> -Wstrict-prototypes -Wdeclaration-after-statement
> -Wno-unused-but-set-variable -Wno-unused-local-typedefs -g3 -Werror -Og
> -fno-omit-frame-pointer
> -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -mno-tls-direct-seg-refs
> -fno-pie -fno-stack-protector -fno-exceptions
> -fno-asynchronous-unwind-tables -fno-builtin -g0 -D_64f2 -mavx512fp16
> -ffixed-xmm0 -Os -DVEC_SIZE=64 -DFLOAT_SIZE=2 -c avx512fp16.c
> make[6]: Leaving directory
> '/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
> /tmp/ccrznrqa.s: Assembler messages:
> /tmp/ccrznrqa.s:98: Error: no such instruction: `vmovw .LC0,%xmm3'
> /tmp/ccrznrqa.s:99: Error: no such instruction: `vmovw %xmm3,58(%esp)'
> /tmp/ccrznrqa.s:105: Error: no such instruction: `vcvtsi2shl
> %eax,%xmm1,%xmm1'
> /tmp/ccrznrqa.s:106: Error: no such instruction: `vmovw
> %xmm3,382(%esp,%eax,2)'
> /tmp/ccrznrqa.s:107: Error: no such instruction: `vmovw
> %xmm1,-2(%edx,%eax,2)'
> /tmp/ccrznrqa.s:108: Error: no such instruction: `vcvtsi2shl
> %ecx,%xmm1,%xmm1'
> /tmp/ccrznrqa.s:109: Error: no such instruction: `vmovw
> %xmm1,318(%esp,%eax,2)'
> /tmp/ccrznrqa.s:113: Error: no such instruction: `vaddph
> 256(%esp),%zmm7,%zmm5'
> <snip many>
> simd-fma.c:208: Error: no such instruction: `vfmaddsub231ph
> 60(%esp){1to32},%zmm6,%zmm5'
> simd-fma.c:209: Error: no such instruction: `vfmaddsub231ph
> 60(%esp){1to32},%zmm6,%zmm1'
> 
> GCC is 12.2.1, binutils is 2.37
> 
> AVX512_FP16 was added in bintuils 2.38 so I understand the simd-fma.c
> complains,

Right. I assume the gcc is not the system one, or else I'd find it
odd to have a compiler backed by a less capable assembler.

> but ccrznrqa.s suggest that there's a bad -m passed.Â  I
> haven't figured out which source file it logically associated with.

The source file is avx512fp16.c as per the compiler command line,
which in turn is a symlink to simd.c. We don't pass any naming
options from testcase.mk, so the compiler using a made up name is
expected.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 13:15:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 13:15:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585434.916551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcqg-0001BS-0X; Thu, 17 Aug 2023 13:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585434.916551; Thu, 17 Aug 2023 13:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWcqf-0001BL-Ts; Thu, 17 Aug 2023 13:15:37 +0000
Received: by outflank-mailman (input) for mailman id 585434;
 Thu, 17 Aug 2023 13:15:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWcqe-0001BF-9M
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 13:15:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 263bf4fa-3d00-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 15:15:35 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7252.eurprd04.prod.outlook.com (2603:10a6:20b:1da::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 13:15:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 13:15:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 263bf4fa-3d00-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dzxDgLer8ps0o9sJnu7D2XK3t7dmt/Z7bwcZF2JGOUUyDcu5QTvnUCKbIhXg6JTzVdBa7hXVccFjfod1hnPnouepjHvVhC8cdzhBbMJ0w7kxGMW/D1F00e/vWpBFuUp5Rgh9q+Nr6QpPNACUSP9+CNqZVIE2YB4H+qXiEmKEjd6PV91JynmIgB8bvWaSx1IRwWIt4CK1qVKLigZDtXZF9CBK86r7FCQLiepOJZ0Z/+a3Gn3+zbVdDwhegKLgV3QrJOXzaknGvQXIK5E5ONicZY8H2xfSwH8Ko3FAAVZyEWMnkH/IeBcMl3nV7LpM3z0bMvW4U5UyiTmxbdLychUjcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nNW33ypy2BGVp6BXdLpDN94RzQIMtzX+Zmww4joZ3K8=;
 b=lXca1QSCoIEPRYjUNOHpPEs3Tpof0RDfx1k9Aq3XI+hoK4PDkt8YhT6yuS60NWtN7qDruUcuvoZrZFRt8xwmmiuQO8hPPqu4eLm9yQrU1Q0ndrf5ukDKyKEYmpeeJrMfr1qa6sLzeKAJiZbZ+h1jGr+5/k6xeqaxSqwH8CMm1mVFtyoH20feqQaAcmL8QGmVcMX2vI7xZ93XebZvVUJ/T+0OqpDAU1CLcwXLDZsDIkvKiEeim6a+6FHekvrR7u0iF/4ZoaYDgrm6/sAcDnI3G1ILLeaBCffj9SIoEq9b/XeZSJpWogabUAGFzN/Aj7kV+5r8f+/W7spesdxJYdAmlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nNW33ypy2BGVp6BXdLpDN94RzQIMtzX+Zmww4joZ3K8=;
 b=KBD0Y71MiFqKJFT7rbCGP0+hroDV/p0ygV6irWXOA/t3p4CNk8rxSB8zq4UDjdZ0c67xg1GMZYXLd/+fCRufkHTDyDzvR5nTT0RQ0sZww86QDPurTJDl/YX0hYAvvh3Bp7sL6l+/fkmV9+HeOON6Pr/6GEP/4efTgfBpvekt1XfY/KZGaoewyfJ5sW2kCPzbGB4fMieXM7peI4ODjNhOBGT3cdIf1cOp7bhJEpI6Yk4pC3J03Jzv8TLcg8ZfCnPdrF7FEMLqxvl199yX86hbSD9cbl06fmCEqbnKq6wUDlXqIuUH+ACljo4MDvgNUkLzGHSzQgbe85Q9bGK38X71wg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <60ee47f3-f424-6f4f-ae81-6322f0e0541e@suse.com>
Date: Thu, 17 Aug 2023 15:15:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
 <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7252:EE_
X-MS-Office365-Filtering-Correlation-Id: 347e7f10-a900-4cb2-fef9-08db9f240951
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+lCwkMAxTyRbeD+Zz0cy8xA5KmcRIfGmhp2DdyhXMwD9Zswhkth+FmAArb1get6KSO3QhU2y0RsWnWVSRkQYsEyB6iVUTt/4A9ABGcgb4oWfJs/QFlE3/uu0Gly5JbD0ARXtbYdVmZAOU3eyZ+hK0Tu0QBKfwaQvQT9ti8Po+MMxHAUknawyi81tyApZDlUk6huil3zy7Rwdl5SlqbDBfUmWPS6UI5eRFZvjk+xRDp+1PcKr/PR5cQGd8ehalEHxpLLwcJV2ZBnwu/YoLoLXNamJLkHjT3Yx/HEemCCcQDwYXITd4RL/+bnnqB2cWKqQ88Dmo9K/aNeeWVtSqhTHaU3Y9CuMaK2Y83Ho+BPfzq7Cdkw5+5HFnF+6VDgOVtcZBjyWM37ks1afGKNAtd+GpuF9qmoBi+MN/8zTNeui2B7NvVmPdRWUZ00TVSLfRKCuJrzNWMF1tx4/pS3euRpeYcsBtrg+JeBsXQvPX/iQf2piIo5u3GIcUKg4sVDwC2r0MXO2fgo8BKnNUheyNIpmLYloNDbG/17FKVRsd2or6A+yjNi25kqXXXCRJUkTNU5R1mogDBTAkwWEqNo7L9B0ftbaHfFfIhverYuKY8Sx7p5uha+YOOr9McjR/T7kQfgf9WHXCwiHtVsTxFiALOA7Sw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(31696002)(86362001)(36756003)(38100700002)(5660300002)(2616005)(66946007)(66476007)(478600001)(66556008)(6916009)(316002)(53546011)(6506007)(54906003)(6486002)(26005)(6512007)(41300700001)(4326008)(8936002)(8676002)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1p5RE0rOVFDU3ZPalRpS05KaEdycUJIcU1OS3UxN0QwbFpsbnlUMFZGMTQ3?=
 =?utf-8?B?WnArWW5wZTZzRXdqSXFCWFJ2eWRrVW1IMnRweWRmTlZZRzQ0T24vV3dPRlV2?=
 =?utf-8?B?akkzUmFqaDdCQTJjT3FEUXNrRldSbGwyT1Y2WFVoL1pmRXVqVkt2UkRyRFV4?=
 =?utf-8?B?THJCVktkMnZxQnhWUytzanpyYzFBbUE5bzQra3VCMXYxc2ZJaHgyWnErMXU2?=
 =?utf-8?B?USs4eU1WU0ZCellGblVObzhCQkZ6eE1aaFJhMDlGWnN6dG1xRittVlNTNkda?=
 =?utf-8?B?RloxQ2VNVDFnSXJ0U2JFUGdFL0czZm1jT2U5aWZ1QzVzNFVzaTJYZXA3Q0Z5?=
 =?utf-8?B?eUN3WlRXRURhZzlGQU9NMUVTSW1xS1RlYVVOUHluR3lGSWRyK2QvdVB4R09F?=
 =?utf-8?B?dHMza09KK3RaTUJ4UFR4bUZBMGlTNUFjZ2gvN05Xb2dhSmNGNWZBUnM1U2ta?=
 =?utf-8?B?TXhNSEU2ZlFFZkxRdnNXUVpoeVY1L21MMFQzWkVYT2NYZEFZbXVJK2JGU0di?=
 =?utf-8?B?ais5ZHpHdlprWG1HN1FZbDZZUlFzdnFMUzlQakVEb2tYVWxOSE1mQnRvak9V?=
 =?utf-8?B?NTU2cjhOSFYxVU00L1B0TzdUc2hVWWNkODFyU0xEZndETVFDQmJxcG1JTnR5?=
 =?utf-8?B?S3I3Sk5Qb0l5KzdEZHk0MXBrYnpVTHhLQ1kxU1dHcVRRbEh6RmdGSWNBRHVy?=
 =?utf-8?B?ZzlzYUl5VlA2TkhBdzc1d1psWXJJb1pUSWQ2VTV0UTcwc3VwOXdRT0tZc3Rm?=
 =?utf-8?B?UmZ0ZjVURysyMXRnMWxWTDVXOEJiY2FoOHNoOGxnL1RqZTZuZmtXL2IyZjJu?=
 =?utf-8?B?S1ZTZ3ltQkVYK3VBU09OVUFBTEtPMjVscGNNZTFncGd1c2V4c3B5bTdlVkZj?=
 =?utf-8?B?RXphbUxnVDF0enkwQzFUNmxQWk9GTHJqY29DNEVUYjNOemMyTkc4ZzByM1pv?=
 =?utf-8?B?T2JSZVJGVzdabm4vUFA4Sy8xRGFtemwrY29zaGdRVGkxaEczL3RKZGhzd2hG?=
 =?utf-8?B?QWJJQ2pNVG90RTN3MSsxc3JvU3FrRitEZXBneVBERkhRWjl0WXl6dUxXSm1Q?=
 =?utf-8?B?aGFpY2JVbjRGWXpmcUJKNk1uSGpSWU9mdDFGS0d6b25OQlp3N0xteThUSThE?=
 =?utf-8?B?WDc3TEdUeVdwQnh6c1VpQ2hNQkxMaWY5c2dESTEwcHI1MWl0Wkx0d1d5dlNn?=
 =?utf-8?B?TDdHdmFKSU1kN1ZaalRqM1lzTDdGM2doZElmbVZiL1dUK3BWN05GNGlJRGFh?=
 =?utf-8?B?NXdJMWJHSXJVR3FqMlVaY2tOMUpEVEhOaXZzdkMvRlNyR2lLUnNIc1cycDcx?=
 =?utf-8?B?ZHBSZ09wK1dDYVc5YWxKc1RZMFdrUUk2bkFaVFhnQy9leVAwMU5WVW0rdWZz?=
 =?utf-8?B?bzEwWnNucnRkUTErTENzSm52RnBkdzdJcnVydkMwZytTVjB5TUZmZTdaWjV4?=
 =?utf-8?B?a0lzY1ZUTWRIR0NTbjFxUnRLUnhvSFV5cm13SUczMi9zVlFuT3IxY213ZjA2?=
 =?utf-8?B?SDhkbEV3MnYwdE56NzNLTkZyZURYcmhvb293dGZaSlc5R1p5U0xWSzB4bWJI?=
 =?utf-8?B?YjBhSkVyZXhPdWVvcTJSd2FpbmlWZ1puUU9NcjJPckxkaDdWSXgwa1I3c08y?=
 =?utf-8?B?VWxLSGxaaTl6N3VTcWhZZnY3aEZsYzdlelJGcmN5UFVsd3IvVEo0NXRTQVcv?=
 =?utf-8?B?SjBmYXE4RWlSQmNrZ1BPWlF2WkVTK0x3M05ydlJEZkllSjVSM1BkcjAzWU8w?=
 =?utf-8?B?N09NZTlja014aXdmRWttN09yNm93YlpHczRja2IxZzQwK25LMWExRHovbWRy?=
 =?utf-8?B?dkpRTFJ3NFhZbmV2NXM4Z2hoaklHS1FyYmVneFdOZ3RZaEp6ajFYUlNRZVZ5?=
 =?utf-8?B?cHNrLzhBd2d0QmtUaTBlNVZlNE05NkxXbXMvVUYyWU0vWjE2dGF2WXM3SmFZ?=
 =?utf-8?B?Y3kvMkgyYTZQWHk5UHlBUk9VTHc4TU05QXVBRVZ1cWlrelZzSmxzQVFzK3BI?=
 =?utf-8?B?ZTBYaFB2N3l2SWpORVF2emJTRWkrWFNoR2l0VFBZS0pZakIzRkplTDkxa2x4?=
 =?utf-8?B?YStEbk9icmhLUU96Q0hhallseGZYdlFjcFRNUCtLVUVSWUF6Vjk3d2hlY0pq?=
 =?utf-8?Q?ev4gWhIxwruBKrK5eTpzJUsMp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 347e7f10-a900-4cb2-fef9-08db9f240951
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 13:15:32.8878
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C2ABpfDf/FIphcJnoBs67J2h92LsZJdE1z3HrFkLrAaqY7FUBwY5fvVH4ZgqxGNvS6B1UcMRGjqFRVg7r5ae8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7252

On 17.08.2023 14:58, Andrew Cooper wrote:
> On 17/08/2023 12:47 pm, Jan Beulich wrote:
>> Our present approach is working fully behind the compiler's back. This
>> was found to not work with LTO. Employ ld's --wrap= option instead. Note
>> that while this makes the build work at least with new enough gcc (it
>> doesn't with gcc7, for example, due to tool chain side issues afaict),
>> according to my testing things still won't work when building the
>> fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
>> getting invoked, this does not happen with gcc13. Yet without using that
>> assembler wrapper the resulting binary will look uninstrumented to
>> afl-fuzz.
>>
>> While checking the resulting binaries I noticed that we've gained uses
>> of snprintf() and strstr(), which only just so happen to not cause any
>> problems. Add a wrappers for them as well.
>>
>> Since we don't have any actual uses of v{,sn}printf(), no definitions of
>> their wrappers appear (just yet). But I think we want
>> __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
>> which means we need delarations of the latter.
>>
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This does resolve the build issue.Â  I do get a binary out of the end, so
> Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>.Â  I presume that
> you've smoke tested the resulting binary?

Oh, another question: Because of you asking it's not really clear whether
the T-b is kind of implying an A-b as well. Could you confirm one way or
the other, please?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 13:28:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 13:28:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585441.916562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWd3L-0002p7-6H; Thu, 17 Aug 2023 13:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585441.916562; Thu, 17 Aug 2023 13: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 1qWd3L-0002p0-24; Thu, 17 Aug 2023 13:28:43 +0000
Received: by outflank-mailman (input) for mailman id 585441;
 Thu, 17 Aug 2023 13:28: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWd3J-0002ou-Fc
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 13:28:41 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa1ab353-3d01-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 15:28:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug
 2023 13:28:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 13:28:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa1ab353-3d01-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bxGKwfDZ8WDFzmkcTpBkJ3niKK9rbUvgdN2+L2MZ77gQtmz+Wf4O2/6NySGTtg7aTvUwL2geIYZGKVwGztNyXJJAe0fQidWMr3qChjRwZntC4SayY2v9xzAhULKZPleh/RqkFENFOIN4hwBliMUpeZkvEd7E6QZWJImsFhljGovaw8Rf90KEwhVyio763hgUd95vmSF91mcB0gnW8KL4VTnhQHSPAKZKJQWxH6/AVKqEpIxLJnKbOueoGQPSjGaBCDlOfpKYwmU09L4IBM67vAIiXb0+k66Giegm1Y9AwvpyJNEevpTzSt7R29KJJtLzvZuF6HTBDzjYqXNAgkkwHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5cnVk1mtWfJlXSHWhkXWp2TABStuobs0s1/gNl8oOH0=;
 b=Un9GbUnagfqeOMrbaSVYcI8Clrr4V0Dm37gdfbDowg21xJBAz3CbACcQ/2r2qxEFeL3RyQicXkXfZzdEV/wM4NFaY/CXf12uX1JCkf7CkKZlRq9Nw4U2yl98ma8yeycmPoflvau6c2cQQ2Pp8CSs06f/syxIFoHG91TaBEcFt3ZqB0AvnbEWkC3g+DBZtVxFndz82ubX5P9mRWCZvcgYFYYRI/zXgI2CRFBGeQ/mU0yP92OqnGB4CjN5dwf7L2QYW5a9yghiceMb684V0azvE18OAKXwgfb1WLaVgpMH+P7Q5gIVzj1JuSNtkkAFxqbLTKZ0SJY/LeRIEvvC60lVSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5cnVk1mtWfJlXSHWhkXWp2TABStuobs0s1/gNl8oOH0=;
 b=vXTfAGIPQfFLoVHQR3fcQJVxnOGnbtYKff5wwHE3hUUSeYKhPXmOaYMPex3vSZMvnRgEK4TiggkqlC08C7zsVFYv9g0DWIYdHqrEpXvMoCt+SUCb5jxfs24O1wF6/cA2Zh0jQGRwu42XydIuXCmkzFbbG6RCH4TZAlgot07Jh2pjLYNgGF/pDKGy5F48K+UPguJm5PZPm5EFucQiaKAWK74M+OkLVInn9NiSnKa9m5CROIJP34+MiaxwX2osHjtGIFh02LWewse3MYLEcOeDKtQnQRCkMNoXkcjC9wmhEUDOjb2znubPvGYskxJtUfyrSsIQF9pppZfImQorgUPTjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <111382a3-0845-99b5-1efa-dfc505084c66@suse.com>
Date: Thu, 17 Aug 2023 15:28:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 3/3] drivers/video: make declarations of defined
 functions available
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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::21)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB6863:EE_
X-MS-Office365-Filtering-Correlation-Id: 55a6e1af-4546-40fc-b63b-08db9f25dcbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7ssL3UXnNZhJ99fxBomHKXBiGIMlcnWyaXE1ZavwKd8aVQMHbEBenzWdCk8pEcH2veeEa7GuyRb3tdGw6NkbWpf90Nn8sbK6ieMGMomozwrGCptFJGN4plYp4PaautkpAwJDobfbWyQgB8LC9msCUTCKN6D2+CdiZlNYPUA2gFO8Q93seed5jWZLx2f4fbQcwfemhO1owmXWFtT29ynTeeQbAWA3EVGe04rpUM5Ia62JoZGGzEowEnFp1GA6LTzZ5L3rrr1zQqe6HY3gBQYj0Pxrp/Nk9whc8vbXHKRvI4tZG2OQTzVkBeCGdby+NrKTMpJCjE9eoZt45xnwtiZH0NBmbCANQcvMQ4acks8t/IilLkc7wnQr0k7YYi8ClfgwLwYYoYvG5z83R2S+ZJboQz8p0xHshmuf/zPdrFzjO7DXfw0bUoC933iq26wcyR34Lg7qqbs6qJ32ufJC3KfM3W6R/TvHZnZ6SDqXI3B/CqRteuZ6M8NWrBoQd7zAQuXkXaKrZWJLMb6VNib4f0d7jihqbOLj/7y7pwYcEJZEv6DBynD7qyPveiLALZ/nJ8b/Z4F/JVs7pwpbJYm87DlDHGuMz+8hxrdQpg6vO8xgZOA3BqjCJ7q4x6IUVzvlHrxhvOXSSV+f+BJCX0k1HbOpkA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(396003)(376002)(346002)(39860400002)(1800799009)(186009)(451199024)(4744005)(7416002)(2906002)(66946007)(66556008)(66476007)(54906003)(6506007)(6486002)(6916009)(316002)(53546011)(6666004)(478600001)(5660300002)(2616005)(26005)(41300700001)(6512007)(8936002)(4326008)(8676002)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDdnVmlMWWczTVhUUHhVWXlFNkY0blRPVEg0c3NlTjFzbkhlOWVjek1NRDRy?=
 =?utf-8?B?TFRkSDV4VFBWRlhROXlNenpXVzRueDMxeTdTekZTTE9SR1hKTks0VXZxajNw?=
 =?utf-8?B?enBxV01ZWnltdWpJZUdpZEVEekJ3OFh2MGhiR05lZFlNOXVZRkh3N2VZMWVW?=
 =?utf-8?B?M1JwTTlkQ202bms1T2Z5SlY0MXIreDJxcWxRWDRqMlZiRllTQStLZCtwd0ZE?=
 =?utf-8?B?MjVBTHBoa1pXUUprdHJoZTBQenlORkd1bFZSTXFmSmR0Y0xjdFpDR2d1dmFW?=
 =?utf-8?B?QXVlSGI3OXkvbXRGaEQzelBLZXk5cHgwYlo1ampNTUsweGQxQlI1TDR4bU9D?=
 =?utf-8?B?SnF2N0xkQWQvWjBWMzdaWmdPRGFhWjRuaWl3OFE5dGNRYmFpeDJXZjl6dHVp?=
 =?utf-8?B?cVhwdExsa3BlK1pCYU54aUdTOHVHYmZKVHdISTE3dHVRQU9mdkpFenVtWENF?=
 =?utf-8?B?Ty9iOVFjVmtKWnhtOFJ6dkRBRkNqNDMrUGhzdVNNL3R1dXJHOHpkakNVd3Fk?=
 =?utf-8?B?V1VMTTF6Z1AvME9jcW9XWllwWlJtVmQ1VjZjSEpvWlE0aGJ0T2c3ZDRzQ1VO?=
 =?utf-8?B?SWRGSkg4cVl2dCtKSSt6SGVrZXF1alpPM0VXemF0Wmk3UWs4Kzh4VWYrZmRq?=
 =?utf-8?B?VXZ1UHFFeGxmZWY4eTJYK1pOV01TOW1vQno4Nzh0VW5YMUI5bkVHWVRrYSts?=
 =?utf-8?B?dmdkcWpsRFB0ZFU0YVBNYzhyb3NZRlVnWEJBRVMyUVBINFB5Q3RzanZrSTQy?=
 =?utf-8?B?U1g4Y1RDQTdMU2Y5bldzaDY3NVByNlljNUpyRGJBd2RlM2dJZzN0U1F1YWIw?=
 =?utf-8?B?VGhKRFVTWWQ0OTRVWXAvN2dmYnR0ditLZmZGNGdVaWRWU1lBaGh2VytkRVl4?=
 =?utf-8?B?aFEyeDVOS1hDVVQ5ZnlTdGZXTE9meTJNdEsrWm5XUDY2T3BpY2NkV3ozR1Iv?=
 =?utf-8?B?NUl4WkFVcFAzQmJITE54dEoyTmsvSWp5TXNFU0thV3hLTkMzMGRzd3NkVm9C?=
 =?utf-8?B?RUk5eUdib1JyYVlYQWRQU1VhalZXSGV0SitKRWJsM3BoSlJPVUp0WGcvUzE5?=
 =?utf-8?B?WENudnp3cVQ2Q2NpRVVhdU5IdjlpT0QvN3pveEdPMWxWQm9nWGNwWXRGR1Qv?=
 =?utf-8?B?U09WVGxPdFpNRnBEZWI1WFdxQklicTMybFRyWXA2S1ZwTWdHVHZsQVNBMXV3?=
 =?utf-8?B?ZTZORjVxdFkyS0pOUkYxS3d1VzU3aUV3VlhMTEpDT0VINlBXak1vbjhuMFZp?=
 =?utf-8?B?NUlyWEhhZktMZGVyOXg5TW94anJsNllSZElTOFloVm8vQXdaMW1Ba0Q4Sld3?=
 =?utf-8?B?QUwrQ3N1MmNRaERmREVaRnYwb2U5SEtSOFNUREpINmpzZXY3NGk0TkhDZXRm?=
 =?utf-8?B?aS9qSzVxUFpScjFJaTNYVGxmUzFkQU9KV1ZYRHVPVlE5ZEVQOVJsa0FzaWpH?=
 =?utf-8?B?bFplOTdUN3grNEViRkQ1YWJkUkI1aW9YOUxmaVNldjRuTXhKeWdQQWp3c1lL?=
 =?utf-8?B?YTJ0R004aDBjRnhEZk9KRURZYVVFRXdaemVHQTBSTVdYeFYrb0txSUVTdFQx?=
 =?utf-8?B?ZGZ6WU5pc1loRitPL3FmQ2xadHVkT2F5ZmIwYUdmb3pIOW1JRUw1L0JLTzNs?=
 =?utf-8?B?WFJRNWgxSXZha1c0bzJqL25Qam9MTmVVbDJ6NDdhUi9pLzQrY1ZkdTk2Y2pK?=
 =?utf-8?B?RjFHTi9kVVN1WW9UNGRuWE5wc3NXZXBnbERUTGs4NXZvd1lWUEhTVXFMaFZ4?=
 =?utf-8?B?bnR5bHYrdGlzKzdWamZ5MmNwTkozVXJGeGljYjVWaVNqTEllK2lYN1ZmOEo4?=
 =?utf-8?B?TXFlV3Iva2ZUSWJsSlQxUXprM3dVeVd2T0V3dktpUUJNd0xKN200bXpLZ2Rq?=
 =?utf-8?B?a01WT1RjdFVpUVRnSkFoOTBTNk9vOTltUGlzNjdBSG1VN0Y2bkMxZjMvTEZK?=
 =?utf-8?B?b3lVS3JJZTgwS0VkRDUxd0dFQ2ZmZjB5enc5ZXBjTURHaGZKS0ppRnQ1MDJR?=
 =?utf-8?B?emZyMThvMzl5RE9MOVE2WEwyT2svVFR5RHVPNFp0Ukx4bVNtelV4U1RXMmt3?=
 =?utf-8?B?NFdIM3NIbnBsTFdzZXB5Y2xwZWNEb1dsdXVmTUw4RHY1NHpCQnorT2FZVnMy?=
 =?utf-8?Q?7rlnh4r4SuxwXQG4ZHezd77NU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55a6e1af-4546-40fc-b63b-08db9f25dcbd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 13:28:37.0426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e3uNil/9zsuRdq/xwz6xt1EjFxR1PODSFNrxf14PvPxJ7L86xtQwSGcd8GMJim3CFu6Te3jnIugBaBySs08ZHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 17.08.2023 14:39, Nicola Vetrini wrote:
> --- a/xen/include/xen/vga.h
> +++ b/xen/include/xen/vga.h
> @@ -15,4 +15,20 @@
>  extern struct xen_vga_console_info vga_console_info;
>  #endif
> 
> +int fill_console_start_info(struct dom0_vga_console_info *);
> +
> +#ifdef CONFIG_X86
> +void vesa_early_init(void);
> +void vesa_endboot(bool_t keep);
> +#else
> +#define vesa_early_init() ((void)0)
> +#define vesa_endboot(x)   ((void)0)
> +#endif
> +
> +#ifdef CONFIG_VIDEO
> +void vesa_init(void);
> +#else
> +static inline void vesa_init(void) {};
> +#endif

Hmm, on one hand you simply move existing code here. But then why don't
you leverage the existing #ifdef? The more that it's more specific and
in line with drivers/video/Makefile having

obj-$(CONFIG_VGA) := vga.o

and

obj-$(CONFIG_VGA) += vesa.o

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 13:46:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 13:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585447.916571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWdKI-0005OL-Io; Thu, 17 Aug 2023 13:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585447.916571; Thu, 17 Aug 2023 13:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWdKI-0005OE-GF; Thu, 17 Aug 2023 13:46:14 +0000
Received: by outflank-mailman (input) for mailman id 585447;
 Thu, 17 Aug 2023 13:46: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 1qWdKG-0005O4-SJ; Thu, 17 Aug 2023 13:46: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 1qWdKG-0005r4-Nq; Thu, 17 Aug 2023 13:46: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 1qWdKG-0000Rm-6A; Thu, 17 Aug 2023 13:46:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWdKG-0000Ir-5g; Thu, 17 Aug 2023 13:46: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=27VZOrVl2Idg4tcPizhDBdLPPAg+OYa7ypLlNW32h6U=; b=4Eyee3G86g1MmOjYUbdzOOTFuW
	j9TrQHQnNMa7biYKpC5q43Vep5GkYhYTu0Q1Q1wmL7Gn8tJ8ER4AJIgaQnhNgPCbSlnKuscfAUANn
	hBY6F6o3UfLt1bd0jqC7CpuSBlipSAStuPAIMGHd1el9rB6dIPBCwGiqlvfPRo73U3bk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182368-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182368: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=5d8e842a0fe093e707e8e8e56d70923a0e8a58fe
X-Osstest-Versions-That:
    libvirt=ca083a49aa0946e590167628611fd3c5b2f224da
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 17 Aug 2023 13:46:12 +0000

flight 182368 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182368/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182337
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182337
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182337
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              5d8e842a0fe093e707e8e8e56d70923a0e8a58fe
baseline version:
 libvirt              ca083a49aa0946e590167628611fd3c5b2f224da

Last test of basis   182337  2023-08-15 04:20:25 Z    2 days
Testing same since   182368  2023-08-17 04:22:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Erik Skultety <eskultet@redhat.com>
  GĂ¶ran Uddeborg <goeran@uddeborg.se>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   ca083a49aa..5d8e842a0f  5d8e842a0fe093e707e8e8e56d70923a0e8a58fe -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 13:56:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 13:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585456.916582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWdTi-0006yw-Ju; Thu, 17 Aug 2023 13:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585456.916582; Thu, 17 Aug 2023 13:55:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWdTi-0006yp-G8; Thu, 17 Aug 2023 13:55:58 +0000
Received: by outflank-mailman (input) for mailman id 585456;
 Thu, 17 Aug 2023 13:55: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=kKAC=EC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qWdTh-0006yj-7s
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 13:55:57 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c98235e2-3d05-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 15:55:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A865D1F37E;
 Thu, 17 Aug 2023 13:55:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 79F6F1358B;
 Thu, 17 Aug 2023 13:55:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jehkHOsm3mSKEQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 17 Aug 2023 13:55: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: c98235e2-3d05-11ee-877b-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692280555; 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=tLXGL+93371+Q8UH1Fu7X8NXfy07VQA9EMTfjWDx+20=;
	b=vYJBztOJcPjN87glwuFxrvgtllcPb2hy/GFeSkt2jh78k43kGsGvOh1jJv8PzE5/xKj2FJ
	dWayb30LfolpHcfjqQbcXq9+8qZbNRITaoRn4X2skzt+rEqd8b0Le9QHtjLm2n3fOg98XY
	mUELFSNidovhgsRSG4aiD8rfW6ahXxE=
Message-ID: <c489a927-336e-4a6c-a480-f09da84bc8e4@suse.com>
Date: Thu, 17 Aug 2023 15:55:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: xenbus: Use helper function IS_ERR_OR_NULL()
Content-Language: en-US
To: Li Zetao <lizetao1@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, wsa+renesas@sang-engineering.com
Cc: gregkh@linuxfoundation.org, xen-devel@lists.xenproject.org
References: <20230817014736.3094289-1-lizetao1@huawei.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: <20230817014736.3094289-1-lizetao1@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------a1BdRJ6SpuxAYIguqUFwF60B"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------a1BdRJ6SpuxAYIguqUFwF60B
Content-Type: multipart/mixed; boundary="------------u0B8vlYI8bJsjkNocUAE10vZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Li Zetao <lizetao1@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, wsa+renesas@sang-engineering.com
Cc: gregkh@linuxfoundation.org, xen-devel@lists.xenproject.org
Message-ID: <c489a927-336e-4a6c-a480-f09da84bc8e4@suse.com>
Subject: Re: [PATCH -next] xen: xenbus: Use helper function IS_ERR_OR_NULL()
References: <20230817014736.3094289-1-lizetao1@huawei.com>
In-Reply-To: <20230817014736.3094289-1-lizetao1@huawei.com>

--------------u0B8vlYI8bJsjkNocUAE10vZ
Content-Type: multipart/mixed; boundary="------------wc2akbeqQoOLAAc0rnwTOlhI"

--------------wc2akbeqQoOLAAc0rnwTOlhI
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTcuMDguMjMgMDM6NDcsIExpIFpldGFvIHdyb3RlOg0KPiBVc2UgSVNfRVJSX09SX05V
TEwoKSB0byBkZXRlY3QgYW4gZXJyb3IgcG9pbnRlciBvciBhIG51bGwgcG9pbnRlcg0KPiBv
cGVuLWNvZGluZyB0byBzaW1wbGlmeSB0aGUgY29kZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IExpIFpldGFvIDxsaXpldGFvMUBodWF3ZWkuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------wc2akbeqQoOLAAc0rnwTOlhI
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------wc2akbeqQoOLAAc0rnwTOlhI--

--------------u0B8vlYI8bJsjkNocUAE10vZ--

--------------a1BdRJ6SpuxAYIguqUFwF60B
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/Ey8FAmTeJusFAwAAAAAACgkQsN6d1ii/Ey9i
rgf/VvJUMn4i7GSKSHJBUFbx3NSJ/LII6dvIejhb0V91CRXFG5pq5NuIsta2YxGTgKkN05xLCgrV
1PGaqJ1+nCH+sQXjqyOwxPz7xTb4qxZeZc3QB4FU9+KJWaAe4nPkTTqMX6nrrt0Za9XQ8cMrzvgQ
qNfgFXB1qAXfAgDAkz6cQwmI5ohccDs73ZsD4WPglvrWxaflxjcYYXJg7M0UG9wyGb5w+pQ/jCQ4
HXRGdNb8HGQqS50zCwSJyxvxfsc3GMyo6soFFgxDml1lRWJYNcYXtpfNDOmYhRXImJoRYaJ7SzyU
vsF7NMu5fQhkUBbJ6/QYECpQcW5bZoddZxoerzbIWw==
=0uF3
-----END PGP SIGNATURE-----

--------------a1BdRJ6SpuxAYIguqUFwF60B--


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 14:52:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 14:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585463.916594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeME-00051x-Oy; Thu, 17 Aug 2023 14:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585463.916594; Thu, 17 Aug 2023 14:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeME-00051q-MQ; Thu, 17 Aug 2023 14:52:18 +0000
Received: by outflank-mailman (input) for mailman id 585463;
 Thu, 17 Aug 2023 14:52: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWeMD-00051k-EV
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 14:52:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7360802-3d0d-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 16:52:14 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 2FA894EE0737;
 Thu, 17 Aug 2023 16:52: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: a7360802-3d0d-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 17 Aug 2023 16:52:14 +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>, Wei Liu <wl@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 3/3] drivers/video: make declarations of defined
 functions available
In-Reply-To: <111382a3-0845-99b5-1efa-dfc505084c66@suse.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
 <111382a3-0845-99b5-1efa-dfc505084c66@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <b61b9659a790701ec0b20e6c92dfb701@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 17/08/2023 15:28, Jan Beulich wrote:
> On 17.08.2023 14:39, Nicola Vetrini wrote:
>> --- a/xen/include/xen/vga.h
>> +++ b/xen/include/xen/vga.h
>> @@ -15,4 +15,20 @@
>>  extern struct xen_vga_console_info vga_console_info;
>>  #endif
>> 
>> +int fill_console_start_info(struct dom0_vga_console_info *);
>> +
>> +#ifdef CONFIG_X86
>> +void vesa_early_init(void);
>> +void vesa_endboot(bool_t keep);
>> +#else
>> +#define vesa_early_init() ((void)0)
>> +#define vesa_endboot(x)   ((void)0)
>> +#endif
>> +
>> +#ifdef CONFIG_VIDEO
>> +void vesa_init(void);
>> +#else
>> +static inline void vesa_init(void) {};
>> +#endif
> 
> Hmm, on one hand you simply move existing code here. But then why don't
> you leverage the existing #ifdef? The more that it's more specific and
> in line with drivers/video/Makefile having
> 
> obj-$(CONFIG_VGA) := vga.o
> 
> and
> 
> obj-$(CONFIG_VGA) += vesa.o
> 
> Jan

Are you saying that CONFIG_VGA implies CONFIG_VIDEO and therefore 
"#ifdef CONFIG_VGA"
at line 14 of vga.h can be used instead of the #ifdefs inherited from 
the original locations
to wrap all the declarations that are being moved?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 14:53:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 14:53:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585468.916604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeN7-0005Wc-1O; Thu, 17 Aug 2023 14:53:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585468.916604; Thu, 17 Aug 2023 14:53: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 1qWeN6-0005WV-Uv; Thu, 17 Aug 2023 14:53:12 +0000
Received: by outflank-mailman (input) for mailman id 585468;
 Thu, 17 Aug 2023 14:53:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E+2S=EC=citrix.com=prvs=586922e9e=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWeN5-0005Jf-IJ
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 14:53:12 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c74594cf-3d0d-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 16:53:09 +0200 (CEST)
Received: from mail-dm6nam12lp2176.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2023 10:53:07 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6139.namprd03.prod.outlook.com (2603:10b6:408:11c::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 14:53:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 14:53: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: c74594cf-3d0d-11ee-877b-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692283989;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qHrQdUBPsHPZgOK51qJCO539LEVHy3zN+7cGQIeryFA=;
  b=dppVL9P9j+1xuL5F8esWnFQQxMR5eYkSXcBi7V0IZOasBYYtG/++a9vK
   5UWxL7so4vjsV9fKYTSyfhhC9C0xudlpCiDXeEz/7YbcGPhEwSfa69XvM
   fUq6oXCoAoeAGqZxtfVqQKFp/nTy1q/GtUrJJLouBLZ8M++xb3p2tazAy
   M=;
X-IronPort-RemoteIP: 104.47.59.176
X-IronPort-MID: 119667414
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:S2ACJaOemK//PvHvrR2IlsFynXyQoLVcMsEvi/4bfWQNrUok0mEPz
 jdODG6Ca/qLZWqhed8iaou1oU1X7cXWm95rSgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5wNmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ulqDFwS8
 vAWEwEIakq7gr7v3uK5G/Y506zPLOGzVG8ekldJ6GiDSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PtxujeNpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxHKlBt1OTeHQGvhCv3mh710/AQ8sDlaJ/6CkpVGMW91EA
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml1a788wufQG8eQVZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9URX5NkcHbC4ACAcAvd/qpdhpigqVF4k9VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxgbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:JIjjyqgJzZUXfdhvoz8QG57/h3BQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-Talos-CUID: 9a23:98cgGWFWZiqnGTcBqmJo6UMpRscpfEbsyXOKG0rkUHg5SuyKHAo=
X-Talos-MUID: 9a23:qYMAhQqccfEIn1F7+kAezw5GBu5Zz628MhsAo8tfpuabByx/IB7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,180,1684814400"; 
   d="scan'208";a="119667414"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MYPa3hMvRqEUbhAvuFnRZiERnck5M/BBlnQaLc9uvH1hueYUkdJjW0tY05OSjTLGDJYseZ4AYXX8oiYka6acNLtKj62FzL224ZMejOeZX4zqRcuZ+/4BXCugDwW+JoRvNkLntYBA4lwQc+IJVHHNgdCSUaeIpUV7VWZY0zMGRej7n4WDAFV8RuLMDVzcGoYX8yzA1Ww/PZb6fsQah+os2p9BY1C/vDAY8WMZsy2982Sqf6pc/k0rl2mDrl310CCxv8B+2KseK14qf2q0GmwpKnhIOsjDnAgaQICtDjr6cvldG6/fl0KFxcpYZWjHZfIr2WB517RT28aoghnHH5Jp/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qHrQdUBPsHPZgOK51qJCO539LEVHy3zN+7cGQIeryFA=;
 b=jqr/kLZjhZ0pzfi9UOurxVDY9J609qSsMERoqH3xk5mbeiGK9sI+tu8AiWn9ucDDffcMIobfxUqDDVkABMFmXD/GX5ucffMZ2apAZj2WvWKbvQwfW5jCVQ577XcOQUbQ1D5ricmGUs0hYtmzis7CC4ODajl8RjpbizTicmpTYxvksx9SOn/ih9QpIbjGN+XdWR67yj+s48Z2FN0yIsMWGSRpQF2e+yknfV6DbWFCUU8Rm3PN54h/aP6ENrENXTzWkWwsbss9i/u//2s66b91EK3nfJ405mJGXNQih4i0Tp563XExjuOzOwaP3uGMRTgQfrY8+hd+vh4/VdEfZZDj8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qHrQdUBPsHPZgOK51qJCO539LEVHy3zN+7cGQIeryFA=;
 b=qfJWPW1udB21yYN3igP/poxIBmKxeC/zcjMb3t8KmoizHTPQYr9toZXdc6UL09nMUEsqIwkP12kddwMv5M60n0NSNxuTjZFL1MSMYfP94bwmoJqmNYNV55Twaf0fobIRYDLel8aLDM7K0dGEsJUjE50LvwCyoMyKgLWV47wVUHM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <484498e0-cf61-6468-0083-47e68e7797d3@citrix.com>
Date: Thu, 17 Aug 2023 15:52:57 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
 <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
 <60ee47f3-f424-6f4f-ae81-6322f0e0541e@suse.com>
In-Reply-To: <60ee47f3-f424-6f4f-ae81-6322f0e0541e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0241.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB6139:EE_
X-MS-Office365-Filtering-Correlation-Id: 40b65bab-dd72-4b3b-b135-08db9f31a82c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	orehAR+ThhLGg3pzKy0ksxv535r36DXIJV/66ONCZqupxocn1aZZoAK/Lrkjlxjxp3e5auOBndrxhBsXi6dvVv+RlP+2BR17MzD4ZJBVsoSUaYcj7xJQfEfeSr/CYaoeizovEk80crnbdDapSx2mANyqR1LdBZXMeRLgVtx8I1PODCdBR/7jqSqBzQoZL0xHdTbf+G5jA5ZfLOjrEhG3cLAuMPBYiYYd95CqzV5DEey9vTfjzQuaLN5lvHEp9E6Ay6vfGRm/JGCyCNQEabo/fNNYSTjRBcRhr9uEp3AmQ5lfHu8iQnqvIzRLy0xd0c0slht/T70nYDwcIWrX4I8iYzggR9jhOLt9NKp+Fu3WT88HWqRPJT80uk91oiLY8dBGgMIlRmTQ6oczZmluO2igMi2NZHI9P8n6SCQnYdKMr1tqmOo6eii8ci+N1h13E4efHS7kRAWe8dxW4vq3wt+CA/5oix4D2/VmoWZ0FiJJp4PAv8pdebnZ5VWeblo+tfMi5s+c8bI48u4Yq63FTTXjCMqqjdngMgMOfKBkGD5m7FWzwmtjophjETMwHKt29/ZrPy2Uekw11+/MCkLmR9c8MJL68nxnxAcRU6LuYyXfWaEKyUGJbiP5/8StpXzTI1V0kAdxJbcMRqfDPd6egI2H/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(366004)(136003)(396003)(451199024)(1800799009)(186009)(31686004)(36756003)(86362001)(31696002)(38100700002)(82960400001)(478600001)(2616005)(5660300002)(66556008)(66476007)(66946007)(316002)(53546011)(6666004)(54906003)(6506007)(6486002)(6916009)(6512007)(26005)(41300700001)(8936002)(4326008)(8676002)(2906002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTE1WFZDbEliY2E2eTVPa2gzZ1NYQ1NELzZvVUFKd0IvZjRoYjZmWlo3TEVo?=
 =?utf-8?B?L292QndnQkREODV6ZmpuZzNUNjR3NEpQRlJRa3ZuYWtOUjBHTFRzalQxTnYy?=
 =?utf-8?B?UUwzMFBySGtQeWdNSjgrbGJkT0NDRU5HLzhoWXFDbnpQb1lLY1d3c0ZWV1Zj?=
 =?utf-8?B?MXo4QWZsdmdvZXFmeWdVTy84Nm5TaVpRb1NZWHo3ZHJiTTMyd05NMk4wY1h3?=
 =?utf-8?B?WUxkZ21HZjN1c0dCMzUzYW42Wk9qMVRmc21BZGlKLzNCUWlCNmQ4b2gzb0M2?=
 =?utf-8?B?Lyt5QnBEUURLdEs4MThlWTJiYVRlVHRTYW0vNVc4RW5qTjZ4MGppMjRsc2xz?=
 =?utf-8?B?UTllazAyejc0ZklQUURKNFY0blU1LzdmdXliUW8yVDR1eFpUVkVNZnN0aVJT?=
 =?utf-8?B?eHBxdUU1VXVvaTZ6UCtmdWNXZ3BHR3diRFpSZTJrVUVjaHpwdFA0Q0ZEV201?=
 =?utf-8?B?OFBZMHpoL21Dc1czanQ5cXBGVDNVWTh3VHZkZGFoa1lrZWFFV0F3VXhHc2lK?=
 =?utf-8?B?VzRvS2NrSU9xRW9FVEgyUllnUGdYZzFXK3RXTWN4ZjE2ckFVRVdDRWRMY092?=
 =?utf-8?B?dzdReEVCWmpLY3hPWkNFUE56QWRBVG1KamVaZFlFcDBJdk1IVFZSbEtmM3hr?=
 =?utf-8?B?ejJwOVFreVR5a2RaZ0U0cFhML0tzODVNN25iNzExNjA4amYxamRIemZrcHRk?=
 =?utf-8?B?dkpnUXRHdngwWTVUSXZPeUJtM3hRb2dCK1pHbzZxWkltWThWV2dXRXdTU3J5?=
 =?utf-8?B?RElSZ0VLNnRIZUZ1YWtSTW81NW0xT2JKUGhJVnRaZ0tyellvWmU3WlhlaHZP?=
 =?utf-8?B?Yk84R0d1YksxNitzWVJ2bWZkVjBRdmtqWGxQTWx5LzVCVGwxa0RjYzlPVjZR?=
 =?utf-8?B?ZXYzYlM3WG53MlFxMElxcHE4a2paOWU0NXdBdk4ydEU1aURmTlJHb2tBaTF2?=
 =?utf-8?B?aVN2M1VnL1gwT1A3L1pnUExTREVUWm1FbXU5amc1WnplRU9hS3o5ZFZPd0Fz?=
 =?utf-8?B?bnkrb0VmK2tvT2RrVTFaQXdlNHZKTXoxYVRLM05sS0FZb3ZMd0pDUUpkVmxL?=
 =?utf-8?B?YUpSQkRmZkpZdzlwYm1UWVArcytZTGpVNHlzaFZCWEpmejE1OW9FOUxGQ050?=
 =?utf-8?B?aFB1TFhhd3hwN2FNRmwyQjZ6ckR5TTVmaC9ERGRWUnhYQUo4a3pVOTZoKzZs?=
 =?utf-8?B?NTUvYjFhYXRXSVRMYWwvcGs4U3Z4RVVncmtJOThsWWQ0amo1eUYvUUw0YW9U?=
 =?utf-8?B?dG1FaTYranJNM3FhemlxRm83c3IwSm1vSFpZWlRzK2gxVVpJTEF3L1c5MTBu?=
 =?utf-8?B?T0NiazRGa2F1RUtDazF6Y1NHREUrN1FqOGhuS3RpSWNNc2tvN245ZlR4WXdF?=
 =?utf-8?B?TXlyck82N0RFbUxSM1k0SzlNY0ZOUHhRbzJ0bHBvbm9hY0JxTG9BNHFWWWhW?=
 =?utf-8?B?eGcwSVpjTEFwc2JUSkZEd0FTL3BIYzFmVE1QVXJmNlB4cFByZjN2RmpxUjNJ?=
 =?utf-8?B?RXhpbVBmNW5jYkpkamRWa1hlSmlkaEppZU50SVFmUUdQMEs0YklPL1o4RU5X?=
 =?utf-8?B?dUliSzJyRjQxTVR5Zzcyd3g0TkdNVXF0QUdCc0NEVzBUK3cvQkNncEJjdS9u?=
 =?utf-8?B?eWFJQWZoOStTZmFxVmJPajBnRmhxUi9WUzZjZXFwUW5TN01sOXRGVkprV1JB?=
 =?utf-8?B?VTVMejBvd3ZBS2ZmYURlUEtxa0x1dmFveTNEYzNMSGhoM2xOSEF3eHpCM2JI?=
 =?utf-8?B?YXhsWUlSUnhGQlE4UWpYUGZKaDFISXJ3OTMxUHd6endDZ1BFdHkyTURCNjF2?=
 =?utf-8?B?Zlo4WGJBWk15cWQ4NUZFTC9JbFRBOThHQ1R4YUZPOEQ5OHJvSHlvZVFuM3A2?=
 =?utf-8?B?b2M2dTQzL2luRCtmaU9jWGgvR0ROREN3YWM2NWM4ZEZwZ0k4ckFRK1ZXRU1s?=
 =?utf-8?B?NDVBTEhldktNWHR5ZWUvdFJQZDNkWkxpN2FFSHg3OFN2STNEdE1PTnBybWRw?=
 =?utf-8?B?Ky9ERGRuY3F0UFo2ZGxzNHh5N2UwMTU0Q3B5ampSZlN6WmdmNEpwcGFCOEZu?=
 =?utf-8?B?b3laRldCT0RoTnJXalltZmtoSVFvN0kyNkYwanRia2s2RG5ycEFheWJZekdJ?=
 =?utf-8?B?Slg4YWszblR0ejJqanFvVjNkTWo5YytoQmZUWUtBczl1VXRrUEo0WTQzZTJ0?=
 =?utf-8?B?Smc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	rFLFn4wZJzal9TYb0LgCDuAmaTxCBjDoc5so1yNlaDALQodv+YL2tI0qFzBjIahElIVFnC7p8Dwsi5KUhzJWD9DUarAIWLIOqfPa1Vy1rzTFod4Gzyov1L59WksWsHQSv4U99dvlxQCGLjkgRi3DGyiny+GTsv46KTr5ErlD2CLcAJsMvMJ4f86WE7N8xZeG7tnSmFl5AKN4kh19+DiSAO2Y88qU9+Mscebyh3XhlKySZ9K7WCaufWlifzZOvk/6hcyawQoThRvUd+kHCJ3ot19Omy83rmXhvIixG+dtr5cn+hLz0JhBzDPpkBDzKV3Ya4g85aQ2IZ9gq8mROJEs7glhalmmOYBKsYPFm+Lx8P+AD2KS/JNBTfn6k5mAkLi3/rtPBPX6Q6vxrK9bRRlMzhjccueZ5ULsdyD1w0w11mG8Bx6TIIrFJwK5MeJC373EAgzejn2MvNbHSUOXDS2o1n0LA6DhJOuYHo2NuRj4lCq2oE972AZJUuaNZEFV/c8rjmpU0SWsCnk3hBBHhXS78pkpLn6qBX9p1QtNzNwKf1drwDtneUbQeOV8FXji6XwY4bX0Sfc0HyHqYHiQAV+b/b2JrAHYNM6l2q7dtkh71iQ30l9GhlkmwfmR57TKhiQrZR6epGEPrXWn8Ou6yw3L9AILkVSAlZPU5p56PgjQP0clYUf52FCyiF3quTDjrOMEs2LXEdlYRn3NycKWrfRfKM7YJWAVPaaFM7yOsFyZ95SWCez0PQUa9NnLqoNcHcVE1o6g+SlK+pGcDAe+SNQ+5fY9CBjEW+EWNNyBPTpK5CGKruo1TlsE/EwJbFMvULu6
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40b65bab-dd72-4b3b-b135-08db9f31a82c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 14:53:02.9958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K8wm3AO6rMOkj6caCMwiGpM53m2yn3LGLS4PfdWxpmT4owyXhJFRGQiDHpF3UJ3fNoN6B/oNTlDVJsLdgC99SzD4/AyVZ3cus3fveH0AYRA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6139

On 17/08/2023 2:15 pm, Jan Beulich wrote:
> On 17.08.2023 14:58, Andrew Cooper wrote:
>> On 17/08/2023 12:47 pm, Jan Beulich wrote:
>>> Our present approach is working fully behind the compiler's back. This
>>> was found to not work with LTO. Employ ld's --wrap= option instead. Note
>>> that while this makes the build work at least with new enough gcc (it
>>> doesn't with gcc7, for example, due to tool chain side issues afaict),
>>> according to my testing things still won't work when building the
>>> fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
>>> getting invoked, this does not happen with gcc13. Yet without using that
>>> assembler wrapper the resulting binary will look uninstrumented to
>>> afl-fuzz.
>>>
>>> While checking the resulting binaries I noticed that we've gained uses
>>> of snprintf() and strstr(), which only just so happen to not cause any
>>> problems. Add a wrappers for them as well.
>>>
>>> Since we don't have any actual uses of v{,sn}printf(), no definitions of
>>> their wrappers appear (just yet). But I think we want
>>> __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
>>> which means we need delarations of the latter.
>>>
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> This does resolve the build issue.Â  I do get a binary out of the end, so
>> Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>.Â  I presume that
>> you've smoke tested the resulting binary?
> Oh, another question: Because of you asking it's not really clear whether
> the T-b is kind of implying an A-b as well. Could you confirm one way or
> the other, please?

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:00:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585476.916615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeU6-00076j-Qk; Thu, 17 Aug 2023 15:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585476.916615; Thu, 17 Aug 2023 15: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 1qWeU6-00076c-Ne; Thu, 17 Aug 2023 15:00:26 +0000
Received: by outflank-mailman (input) for mailman id 585476;
 Thu, 17 Aug 2023 15:00: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWeU4-00076W-Rk
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:00:24 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca4f8d3e-3d0e-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 17:00:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9282.eurprd04.prod.outlook.com (2603:10a6:10:36e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 15:00:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 15:00: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: ca4f8d3e-3d0e-11ee-877b-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oEiRsQ+2VFrxhiJgCkbKdIyuhPPadgQOvGufKWESHAwUo2+kNebY0UEo1YoKYiZFqlQEbtiuaBZtIW2yeozxHrEGhSNacH2DFgZakcZHLNqJPfHH/xpJIRcN1SLu/+FuUwzTRg5fEresE9tUMGdh8f6YAYqfGb8BN/ERwJEHWrukz4zn7bLMhWatyCdFlkHT06J2+TTe1nCiTHfJ9pbpuW9FO0uRgRBf2infZ2jzS59UUPDX55I4nvRvGDsecNgU0InCk36p5eLT8F7jwDvIuHKsaSXTN/sfhSKgAVQa6pBP4/AokpJ1ffAKlruvrSA44/Cvnltgqfm2dZhimoQh2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NBpAWnT7XB7UvHPT/vKQ+V1hSdOCd+Qq/PlpiekQ4Zg=;
 b=SywQNAZtIiQNvBZArKOkOp4SoXw0B5tnjD+ein++TwbzWBzbsVaaSXNPZHNjTWvQdGItVWEEFtBKKjJgq9ihtu9xWygUZwRKa7nkKsjcC1LCCcZiDr/uFYPHAMA1vIJkcvXMGAO0TPBN/ErShRINlyZWcggUS7RF3BTTaB+OsvYWNAKy8Szeh/vafy99ayYDmESl0gLqIvcjGq1uCByPpDenj2w/bJYQVNfBIwipPhGUD48ZseRQo/0Y04gGFCM7JW395/Dq+WyezMQnUyYJo/RSZ2Y3n1O6uM/tTCYUwvHCmrKuFLLorwwsI94JUQsLEoUgIux49oIsmTntzo8OyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NBpAWnT7XB7UvHPT/vKQ+V1hSdOCd+Qq/PlpiekQ4Zg=;
 b=oreWE7TZY5H3imPooy5tojiXv9KBcAfEdMXJ5ztSxTouwLqcKnPG234vf5nPFMsFqNmEypnSYBeIYpadpRWDAf8ETDMOkeenGeMDudxhn8WTgsRVzByDkYgy0fcvMZv+mjT5VkHgAJoX4cDJDi1tpcwUd1vL5wHPiZQ2hRah7LDobaGEmKszqQ5L3+9iwk+/Bc6NJed+e1r6bEHl+eMnrFqmB2xdB+rJfSH26xUAiBOpy58ha7QW5fzOs+Zj6nSx0KBdtf38PSodLFZD62ljehrhu4YgF8m4Hp5/eDyv6oCs7eAHtzP2D3Vc7mwcjd5wvqtzaPi7ixIubMhNN3rM/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2b9cd73c-8ad2-9c82-bdfa-4b9af41f967f@suse.com>
Date: Thu, 17 Aug 2023 17:00:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 02/57] xen/riscv: add public arch-riscv.h
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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
 <d9721f72f4a51b1240ba180e33193c551b987251.1692181079.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d9721f72f4a51b1240ba180e33193c551b987251.1692181079.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9282:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d7de3dc-975c-4f34-af62-08db9f32acf4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wdv4YAw0m+wzOGv1qVB+Ar/zufuOFqz8YmbydrlSMrYyTO8mXuF6H4npwU8IaRoxB5ti1h1BezRjl4huKLMol+1kkVtUlZvUIVHcs0Nqg+/otJVCgy2yAJ3BSlc9nw5FDcLtx8x6gZSjVt6sL6yZs9Nt3Ekn7Q3LFixM4XbNlSYpxRUqHIfGEJZMIe2+LqKzMLRyt1BPmzXwG2aVla924+0Xh+gb+7WGwHmXiOt5DNG9rid9Jvoo7GM0V0Z0wRiqc2BHrSuV/uWdT3C6Kz/OwPMtrCW6CaFCZ7sukoHeeqpEGr/hQFl/OmQtuRydwergrDmhQ4mLH3Y50HvhVtULnyjB7pxzG69uXuY1YD40bVCTHjYeOJSy9zecEPnKAao2WsAQT+7mBmfxD2sAvlMH+QMEuOPxVQ53CJ0BDcIcZ9ZK6i2x5lmqjVhFhXGpx5DUwtst28hsL9hxj4LRBqH60f67A8/FIv7CzaWYJrGejr0/91dcE4KefluomhsNr6MgXfZPNWtE0wKOA/gKUHHP+PApDN6CmdQnjD4LxgWSC0YFCOO9P/M4QJyzAFuA791sSX8uae85WRgpOUwI29x3iBNcJhcMQ7FBWVBmpvOXq7kfsu+iJjZkbWF3DZf9ZHJ7Bhvh5q0aSudXlIyt5Dn9mQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(346002)(39860400002)(396003)(186009)(451199024)(1800799009)(31696002)(2906002)(26005)(86362001)(478600001)(6506007)(36756003)(6666004)(2616005)(6486002)(6512007)(53546011)(5660300002)(41300700001)(316002)(54906003)(66946007)(66476007)(66556008)(6916009)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGp6NEg0U2hST2pUWjMyQzhFYjFuUUxleE1DR085WFFGT2t1NnA4TkFQcHBn?=
 =?utf-8?B?R0pBR3ZOSUhKbkJEUUVZYUJKZC8xbzFkRTNmTG5HNWVjOHlmNlgzNUxqWEY4?=
 =?utf-8?B?MzgrdllhcHV1Z0NXRzVxSktKSllvVnUvY0FZVG5nUVU2aUJFY1ZUU1VXWXN2?=
 =?utf-8?B?a1FJQmp0K1FvU2RPaEJjaGlKbnhuVW00S2RYbXYxRzhPc3NueXN3KzVmV0Va?=
 =?utf-8?B?N3lDYjZXODlXZC9EVXVobkpOUS9kb0sxTkptZytZa1lNNURLZmpWMDRmVW13?=
 =?utf-8?B?QmNHYTlxamVPbjduQ1c3SWY5WXBaUzhzNHg3N3o1NWRTQWZMRDdNSjRmMDVX?=
 =?utf-8?B?enBaVzJLVy9UMnN0NjlIQ0tpV28yb2hhdVp3UVZKT1RmK1N5cXIzMG5QUXFQ?=
 =?utf-8?B?eDFPaXJJbEVTWW44dDlDeWtsMW1XTVpEVUFKM2JsaHRFcUw4YS9lUHltOFAv?=
 =?utf-8?B?aTRYb0s5c2paOEdSTVBvZjdSSUpoZGVNbXloQ01kcExPMjB5WnR0WmljbmJF?=
 =?utf-8?B?NGtvMjBydnByS2lHeWZTZVdUKytBMGtaOTY1Tjc5Nk0wYlFEZ240aGhSb1g3?=
 =?utf-8?B?a2dkRHRKK2RBcjgyV1lYSHRYWkwvdlhqUk9VTU1ESWN4anhXNlNJczgyY2p3?=
 =?utf-8?B?MWlXRU9sazhtRXVEdUpVYk5MK1h6OU9zd3F3c2VWNE1pMU14aWZrMWZCbkMz?=
 =?utf-8?B?NDBJVlFvVkt1OVc2c1cwaFdBajhSNmZ6ZEwyTTBMYmJpQlVjQkNFdExEbWpn?=
 =?utf-8?B?a1Axck9RTnNFdmdHcU9hQ3hDVDB1ZlBxYmNxWW9ucDQzWGRtWTJibkVNOUo0?=
 =?utf-8?B?Mll3MTBPWmwrbEFmSWpXNTJqUno0dFFPbklHaUR5ZW9KN2Zjbm5vYXlTWGEw?=
 =?utf-8?B?VU5CRk0yMDZCZ3RuSHlmV3pMVU9Fb3V4RitrY2Vjd0hmaXZCTTA5b3QrYUhY?=
 =?utf-8?B?VW03d2xUV3V4eExvSXFoWTFncjY1S3FRQ1hIZVB3aTBOaVRWekFrcG5JWUow?=
 =?utf-8?B?V3NIVjRsM3phcFJzYjdQZWsxWkNjOTlYWGhXWDhNT0JBWVlzRWhKTk1zcjFr?=
 =?utf-8?B?c0M4RFRaTCtwenppdmplUTNDbkIwcm55NmxyekorWmZQbUgySVMwWSs2MlJl?=
 =?utf-8?B?L3poTGJUK2RYQ3RUVHJiWE55WjgvM1N0ZXdpVXY5VmtHTnJWT3UvdkhOMVhF?=
 =?utf-8?B?ckJIUmMwMXVsUndydjl4djBpbXFUaUJwdkJIOUV1NG90YnZXWEJBaDcvTHpr?=
 =?utf-8?B?RnMwSHVSK0xjQ2lFVjlUUzZMVnNyRmlYZXdKa1JaMzcwSDlaajlZekpLSFN4?=
 =?utf-8?B?dkRSdmF1Q0FhKzF5bjZDZGZHeHVKU1RYcThTdUpaMlZLYW15MkoyajBTSElv?=
 =?utf-8?B?N0xtdVlDWm9xaXZrRXNMNnBESW9IY1JSaWNNWXFhdzV5QVhSa3ZmQzZiTXVG?=
 =?utf-8?B?YlNtYWw3aTdpNzhjOFVHYklWazVrcDh0MEpjY3ZneDdGblZZT2Z6VjZtclYx?=
 =?utf-8?B?Y0F2UkNtcjFQV1dZWlY5U1R1Yms2d2lTblFMa0tiZ3ExTGVqQ3BNOWZWOU9h?=
 =?utf-8?B?RVgrcm5DWFB6ZFVKMVkvV1M2dTJxWEpPMk5rd3owd29DVmlkNmlpL0tjOWNI?=
 =?utf-8?B?Q3o1SUhOZHVLT1RhRW9hVWxiNFQ3UXFLeXp6M2hqM2lLa0VLQVdjRlQwb1hy?=
 =?utf-8?B?OVBCd21lR2JQaHV5YnMwNnQ1L0dwbDVBVHBidkJPVFZsL3NLWUluL3loZnEy?=
 =?utf-8?B?clpZMmhJWEI0WHlqRzErQStUSklBcnRFckNLN2M3ZkM3dzVPRmdMakV5eGds?=
 =?utf-8?B?a25LQm55a3hjVkZmemFRa01jNjAvdjlmd0VjMm8xOC9iTk5mUGRzWG5MNVZh?=
 =?utf-8?B?UG1WRXVoczQ0c3BCWmV5akM2eHg0VVRWaDV4TllxZXJCeFRpTWFRY09zUGVP?=
 =?utf-8?B?ZmhmSng4RDNKSS9NeVp2RU0zbWFodlB5Y2ZrYnFObEVIUnl1bkdnT0JmdzBC?=
 =?utf-8?B?TXdwUFNaNzlwYTYvbTByMjlCQ1ZweXNjc2o2TldXeGFJaDh1T1M4ZEpSOVY3?=
 =?utf-8?B?RGNZQXFwMDdtcENCMThlNHp2VXRlMVAydEJralJsRFI0WVgycG9PRTM5ZDZM?=
 =?utf-8?Q?rszLTYnUWqiLgyRobKeHjGGRf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d7de3dc-975c-4f34-af62-08db9f32acf4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 15:00:20.3314
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 16KMn6JAWVY1KsoffD3y5lgAPR9jf7KySYprKkFFTgoSkotNDtwmTDU24BmO9NqWlw7oqZnH0CL2S/svDF7CCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9282

On 16.08.2023 12:19, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/public/arch-riscv.h
> @@ -0,0 +1,90 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Guest OS interface to RISC-V Xen.
> + * Initially based on the ARM implementation.
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_RISCV_H__
> +#define __XEN_PUBLIC_ARCH_RISCV_H__
> +
> +#define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
> +#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
> +
> +#ifndef __ASSEMBLY__
> +#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
> +    typedef union { type *p; unsigned long q; }                 \
> +        __guest_handle_ ## name;                                \
> +    typedef union { type *p; uint64_aligned_t q; }              \
> +        __guest_handle_64_ ## name
> +
> +/*
> + * XEN_GUEST_HANDLE represents a guest pointer, when passed as a field
> + * in a struct in memory. On RISCV is always 8 bytes sizes and 8 bytes
> + * aligned.
> + * XEN_GUEST_HANDLE_PARAM represents a guest pointer, when passed as an
> + * hypercall argument. It is 4 bytes on aarch32 and 8 bytes on aarch64.

Nit: aarch{32,64}?

> + */
> +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
> +    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
> +    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
> +#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
> +#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
> +#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
> +#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
> +#define set_xen_guest_handle_raw(hnd, val)                  \
> +    do {                                                    \
> +        typeof(&(hnd)) _sxghr_tmp = &(hnd);                 \
> +        _sxghr_tmp->q = 0;                                  \
> +        _sxghr_tmp->p = (val);                              \
> +    } while ( 0 )

While I realize you simply took this from Arm, in new code I think it
would be helpful to avoid name space violations from the beginning.
Hence no leading underscore please for macro local variables. Trailing
underscores is what we mean to use instead.

It's also not really valid to use a gcc extension here, but I guess
that's hard to avoid.

> +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
> +
> +typedef uint64_t xen_pfn_t;
> +#define PRI_xen_pfn PRIx64
> +#define PRIu_xen_pfn PRIu64
> +
> +typedef uint64_t xen_ulong_t;
> +#define PRI_xen_ulong PRIx64
> +
> +#if defined(__XEN__) || defined(__XEN_TOOLS__)
> +
> +struct vcpu_guest_context {
> +};
> +typedef struct vcpu_guest_context vcpu_guest_context_t;
> +DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
> +
> +struct xen_arch_domainconfig {
> +};

While these are okay to remain empty, ...

> +#endif
> +
> +struct arch_vcpu_info {
> +};
> +typedef struct arch_vcpu_info arch_vcpu_info_t;
> +
> +struct arch_shared_info {
> +};
> +typedef struct arch_shared_info arch_shared_info_t;

... these two need to gain a "todo" marker so that we won't forget
to at least add a placeholder entry if no real ones surface.

> +/* Maximum number of virtual CPUs in legacy multi-processor guests. */
> +/* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */

Nit: Style (missing full stop). And quite likely the two comments could
be joined to a single one.

> +#define XEN_LEGACY_MAX_VCPUS 1
> +
> +#endif /* __ASSEMBLY__ */
> +
> +#ifndef __ASSEMBLY__

Why not continue the earlier !__ASSEMBLY__ section?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:02:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:02:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585482.916625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeW4-0007mU-B0; Thu, 17 Aug 2023 15:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585482.916625; Thu, 17 Aug 2023 15:02:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWeW4-0007mN-7z; Thu, 17 Aug 2023 15:02:28 +0000
Received: by outflank-mailman (input) for mailman id 585482;
 Thu, 17 Aug 2023 15:02: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=aH5n=EC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWeW3-0007m9-0z
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:02:27 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 133efcbc-3d0f-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 17:02:25 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9282.eurprd04.prod.outlook.com (2603:10a6:10:36e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Thu, 17 Aug
 2023 15:02:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 15:02: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: 133efcbc-3d0f-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LMvci4SrAvhVRIRF6qG9gODxzGwvPLZGW2/Os1K+/8YAK3z4zmNcvDzXXRuBEX2k6flRnJ/SGIbCrg2u0qevKTNFhJnqpwsAXPmnSd5oc+80ibXN04eWlcMVDjpeWy7vs2gnPYnWyLwhiubwNf2hq18TDlcmBi8ifZSKfW0bhrDJ9+hM2nQShQle+S5zmRLJX9fpShWiLmbJptSxuv6abYZnVFC7GGGtF41AQb0aQOIxhFw+enXhGyeP1pn4KIonMQo5Smtx3YBevuKmPQ9pxMC8lcnNpbNITql8DRQ/tSEam2/PdP2J30dzAutIyO53YCA9m/Ov0OoNAUdclshubg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I+L34wGYUn1nLC40IHC53VdZ4a8mANwKT0u5/K9e6bk=;
 b=dklcCyiKvdA0U1pE/h6G620cqRTxBwsh7cd3rZVxC2XrySHK1tLJ3Imxosnde0L4BMCK08zyUnESDhSPYuEJpi4FUD2en9CpB1xqCundbSVHFDVZYeFFQV81chQ8aivX2HxdWCKbUL6FJ09XoLW2iBzD2kF7As7qAXGDWRZrugVhWuNuZGpM59X7VOfnh6D8VlRFNWRaNy4HqUE0sUZJooFh8YKlGXvw2juMhNsm8T2ZCtxDDao+8tyCle2GGIHjrUFFO6rrn0AbqEnhVIHe1CjDAzicuedOs1amNWQmndUqvGYhylZ1eSK1hEW+iCyJLLm3dRKfoHva33WlmGGBZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I+L34wGYUn1nLC40IHC53VdZ4a8mANwKT0u5/K9e6bk=;
 b=a872ofm+7W5oELkZ0j/eZ/ooyB1wj6iz4AfRKo+PvDTz+Of5ow4mVmSvB5KJwpUo8Lfm4cVVZTYxS1KwVXHP10WrXBUMSmwLFooXwQzsril/N5MXqQywSJB6p6+5Ub0XEiaKg8fIwZ7fPY8hQGvAgVCNXnnTrubt1BA5lV4pKsg5xTPxJjlkgWBphiJGxm+6k4faVTfcTutRLhAyD16ZIHeLKAQY1hJt04V8PwOKOlgteSNFKMfKBTTRMhNXpV5U1d0MmjpSP3EJmnIwM6mtx6AL0QrxnlskyESkEVhdr8mpkm38rdjPTdVqwZETd+SO3x3BGgtz54lAv/91a5N4Zg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b6827156-70bb-c8b3-c4d0-a8906fd0e7a2@suse.com>
Date: Thu, 17 Aug 2023 17:02:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2 3/3] drivers/video: make declarations of defined
 functions available
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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
 <111382a3-0845-99b5-1efa-dfc505084c66@suse.com>
 <b61b9659a790701ec0b20e6c92dfb701@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b61b9659a790701ec0b20e6c92dfb701@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0130.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9282:EE_
X-MS-Office365-Filtering-Correlation-Id: 419c40f8-cde0-4c80-c0ae-08db9f32f667
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g/ZScgsdcBfthXn71iL2jCIsSYkzJVXXJTWH0YOa7OeyntH6ISs2OBNV8M4KzIT+Y6hAXvWwYiuoYucV92VcXEfs2AcWYXYV6uORiRz0Nfnlyz8DHUOeKSm3YJeptZRg8up8xu6XyT2iOhN6rJF7OQrDgSZuCw9LElr2t3IfJwsNlZaWim8XHgUDaPsKnADy4jTtnzg0bb3mJU8W3xnzWMOg3eGvN5qCUKxbTqvXFcC4XS07bAVWHB4Mm9HHTZR9lIQxb3YYp2P8S0OYc+cgwajn3kBG5pDUFeu2IRcIZg4pCwWAJ/LQKR4ycyb1n6oX0p7+QPHPNrntfg+LqkGiS/eVSnBn5VbEEZQeNt1HvmCDOTmIkrnyoRtpETulIWKlSWBq+/vF+TPQiHxI9POZMPxMaF/cxn93I1/rgZF3muoMuoB6MW+K+cyuHiFFfPdRuDxIpdCC28PCad1RrW+ON9prKUCr0ERupYcGUQ+QOLOYYGHIrCDgeQxIwo10WDnDdBtKK3ZygRXU0okg8BRTadYuvmyhUmUHqHylksE+1yM/hbTDfoRda+Ti3L1buNUccWxZFJlOipBzfxLulJWNcmAor7APEw4RQ6QYLarABwNrJcU1MkyHn4OLS/Rw9YMrsLbgjeDJt9lLwZi7w50UgQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(346002)(39860400002)(396003)(186009)(451199024)(1800799009)(31696002)(2906002)(26005)(86362001)(7416002)(478600001)(6506007)(36756003)(2616005)(6486002)(6512007)(53546011)(5660300002)(41300700001)(316002)(54906003)(66946007)(66476007)(66556008)(6916009)(31686004)(4326008)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGk0anQ5VEdnMHNNZDJENVYzZ2VFZEtVUkE5ZnpxUGMweFJPL1dmRWV0aGx5?=
 =?utf-8?B?amxmNzNnV1V4WTJCekJNUi9RZ2czcitLb1IvUG9XOWcySVBCY0VSdVp1ZUo0?=
 =?utf-8?B?bDI4b1UwdGtuMCtyemNVM0FPd20yNU1LT3BtOWpFT0tIZk91Vk1KN05qdFpB?=
 =?utf-8?B?TW9rR1lFTTc3VGxqRXQ4N2FHODhRZyt1LzJHNE9ORXhYOGEzSDN1MVREOTFr?=
 =?utf-8?B?blVBS1QwU2hMV3VKbUNKOFFGNXB2OVNOSjkzK0d3VHZoNXlFYUNUV3R2bi9r?=
 =?utf-8?B?SldDcGFudUx1cWRGcjNrNjU3OEQ4SU1UZ3NPaDhXNFlXcmF0UnIwMU5RcGsy?=
 =?utf-8?B?NWNLclVnWkNOMGlPQk9tNElhTEdzUzhKUWRuSENYWWpSMnNHUzkyY24vR0s5?=
 =?utf-8?B?V0RaOU5qV2RwNFZVRUNmdklhYmVzOWQwYTlNdlRBM2JZZXhhUXJiWlpFWlhy?=
 =?utf-8?B?ckl5UTg1aVozWldHd2lkZXRmd2h2djQ4UE9RcytMTXlFRGN1U1VDbHprNEVT?=
 =?utf-8?B?MWI2TnJHTm9ydlJiQTgxNWJYU1JoeEtVTzRiSnRSYjBkT3VVWHEvbm5yQVhE?=
 =?utf-8?B?SHd6M3ZZSm5BWlpoYXF0UjZPRFNmcDk3VERRSGVPRjQ0TW8xNlpJaUxQMlZM?=
 =?utf-8?B?ZzluVDNjdVpqbnNvdnAxWDcrVENuQ0RHZ1FMLzMvZTE5eDhBSFkwaGN0MEtN?=
 =?utf-8?B?MkQzQWs3eGVTRkFtcUk4aGNkWkVUdWdrUnoxdHUzTFpBQzB6M0tBMkpiMU5m?=
 =?utf-8?B?T2xsTlhCNEVTeERqamhnTGJLTnk4SDBHYlFOUmFQMGp2UDYxMUVnNzF3ekJW?=
 =?utf-8?B?d2JjWTJsZGNPQU10UDNqYWlJWXAwajZzR2F5N3JTc3VHaldXaW5kcVh6WjJv?=
 =?utf-8?B?eEpmaHR5MGFzckVyMTVMVDFBdVNaWlhQVlRrZ1VwNFpvZUY0QzY4a0RKMGF2?=
 =?utf-8?B?bGtUalhqZHRVUzNCL0haQ3YrdHRWTHUweVZXeVZlS1dPcHZzTEIyRkZIQ2Vs?=
 =?utf-8?B?WEtsR1h6cHpmT2wyeUdRbkVhNVhWSm9nbkdsQlFUYkNFTnN0SjRwRUN4RGtG?=
 =?utf-8?B?aXhnaE44ZVlTNjFNN2ljM1FUMVNUcDltVTR4NmVwVFY1bVhuWnZnc0x1Q2c0?=
 =?utf-8?B?WFNGMG9NWHYzbWIrR3VzS2JxdVdYaGlka3NodzFVdFQzcWpjYnBaMGJhbVNR?=
 =?utf-8?B?MkVaYnFFN3UreTRDeThjaTlSblRxWTY2cW0vdWV5MzVvaXVDMStjSE9XeG52?=
 =?utf-8?B?RkFyVVRoSzJBYlVVMTNqbjd4V2Y2NHhLMWI4a1pHeXVGanlSR3NRVCt1bVVW?=
 =?utf-8?B?dGFId294dENlYXFsYWN1SUNMakRrd3NJQW1vU0VvM1VYTVRYZFE1Y09oWnZH?=
 =?utf-8?B?SEIzeW9JdlE5SGtoWk9pNVJ3RE5ULzRQNDVSQmd2ZFY2VEVVRURSUGpKZUth?=
 =?utf-8?B?eWZLemxDUTlrQ0V6WTI4RzdHN2M4SDJHWXJJenVsaW1nekJ6UTZzNnhjMTEy?=
 =?utf-8?B?NktsejRENTR5T2xjdUQvdXlaS3ZiUmppNlZHRjJrNUdkWDlnT0wzR1o4bmdP?=
 =?utf-8?B?U2FFV1pIVktaZEFWc2lkNGlnYTE3UHBuVTVkN3VBMElKaitpZnNOVWgzYUw5?=
 =?utf-8?B?Nkl2UGV3VS84dmRJSGVkSlBtRHFadUE2OVR1c0J5TmZSYXl4cFdoTG1xNmVu?=
 =?utf-8?B?eGR6ZDl3VGZLNlI2YU5oMEM2dmNQcFJDOWdJRzFKR01IYmdXa3NXcDU3dm9n?=
 =?utf-8?B?MXlWaVdnUTRWWUdIRnluZFZOYktJZ2c3OVVMRHY5ZG9PbFk1THJoQUsrdWUv?=
 =?utf-8?B?eHFkWFdKU3NVdmhESlVmOGIzR1NWZDIzOFNDRm5TR2l1TE1aL1BtL0lXQXVU?=
 =?utf-8?B?eCtEZzVrLytnNi9takJnaEtlalByQnFnZDI3VlVRSEttNTRmYm5wcTkzdkVL?=
 =?utf-8?B?WUJkSmh0YU04Q2RPcWJqSlR2MGZRVWt1UmMwNThvOEJ6MVFwazIxTHYvSzdH?=
 =?utf-8?B?L3ovVGtMeEZyYUJycURiK1g2NnEzaFVvdGlWZVo3TTl0VkVmU2ZYRTJ0Nkg0?=
 =?utf-8?B?ZWkvVy91M0NKY2tDQ0loai9oYnk1NUtleDU2MEVEK3RlcmxmaVdDeFJjSzFE?=
 =?utf-8?Q?meS3ehFfxwRd1I9ctHvMnF4CN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 419c40f8-cde0-4c80-c0ae-08db9f32f667
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 15:02:23.7408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ks94ZlP3aVFjio54n823B4yIYwzqPlYBjvs+TQfNmi7PUCvCCmU6kD7oOPMyYDbKqRSr9vZ3NH3xhj+LUou6Qg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9282

On 17.08.2023 16:52, Nicola Vetrini wrote:
> On 17/08/2023 15:28, Jan Beulich wrote:
>> On 17.08.2023 14:39, Nicola Vetrini wrote:
>>> --- a/xen/include/xen/vga.h
>>> +++ b/xen/include/xen/vga.h
>>> @@ -15,4 +15,20 @@
>>>  extern struct xen_vga_console_info vga_console_info;
>>>  #endif
>>>
>>> +int fill_console_start_info(struct dom0_vga_console_info *);
>>> +
>>> +#ifdef CONFIG_X86
>>> +void vesa_early_init(void);
>>> +void vesa_endboot(bool_t keep);
>>> +#else
>>> +#define vesa_early_init() ((void)0)
>>> +#define vesa_endboot(x)   ((void)0)
>>> +#endif
>>> +
>>> +#ifdef CONFIG_VIDEO
>>> +void vesa_init(void);
>>> +#else
>>> +static inline void vesa_init(void) {};
>>> +#endif
>>
>> Hmm, on one hand you simply move existing code here. But then why don't
>> you leverage the existing #ifdef? The more that it's more specific and
>> in line with drivers/video/Makefile having
>>
>> obj-$(CONFIG_VGA) := vga.o
>>
>> and
>>
>> obj-$(CONFIG_VGA) += vesa.o
> 
> Are you saying that CONFIG_VGA implies CONFIG_VIDEO and therefore 
> "#ifdef CONFIG_VGA"
> at line 14 of vga.h can be used instead of the #ifdefs inherited from 
> the original locations
> to wrap all the declarations that are being moved?

Yes - see drivers/video/Kconfig.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:49:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585489.916635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfF2-00042N-Op; Thu, 17 Aug 2023 15:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585489.916635; Thu, 17 Aug 2023 15: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 1qWfF2-00042G-MA; Thu, 17 Aug 2023 15:48:56 +0000
Received: by outflank-mailman (input) for mailman id 585489;
 Thu, 17 Aug 2023 15: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=E+2S=EC=citrix.com=prvs=586922e9e=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWfF1-00042A-4D
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:48:55 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9069258d-3d15-11ee-877b-cb3800f73035;
 Thu, 17 Aug 2023 17:48:53 +0200 (CEST)
Received: from mail-sn1nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Aug 2023 11:48:51 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by LV3PR03MB7430.namprd03.prod.outlook.com (2603:10b6:408:1a4::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug
 2023 15:48:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023
 15:48:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9069258d-3d15-11ee-877b-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692287334;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=8+8z5Otw+v2Pq1kLymvwrcxF1IpnD1u3tSLmev4/sEg=;
  b=fiEkBgXwEZlK/MZxZJF61DCXUyTZA49TcO4dPSZkEBFXYBZaDkjkD0q/
   gKYujSV8hA9S6QKNEwSAxr01ClFA+KXm0vPM21fwb8fWJpQlE1Ie5y+eh
   ZhArMFNIKhv7C50imvTyoYyjjKYtyLTFjX/jKzgZe6qMh2FmJKxDtVMZt
   A=;
X-IronPort-RemoteIP: 104.47.57.40
X-IronPort-MID: 119674853
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:G4MwK6PjjUwLksrvrR2HlsFynXyQoLVcMsEvi/4bfWQNrUp21mBSz
 2EZCmCEP/uONjTxKIhxb9mx/BsB78eBmoBnSgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5wNmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rcoWUZNq
 OIkEhQALR6IruWXxJm4ENA506zPLOGzVG8ekldJ6GmDSM0AGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxvzC7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraWzH2kBNJPT9VU8NY00VGDgW00IiEUVACRjqGUjmq7Ctt2f
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaBMQOBWoLZCtBVg1c5dDm+Ns3lkiXEo4lF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:f8NHLa92IXUrefKCsmduk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-Talos-CUID: 9a23:Y+Sm3G76FVobGlTAONsspRFMPcN4bEHn6HqTLUSRDkdtY77PcArF
X-Talos-MUID: 9a23:oH80RAgw26zJUQFw+0fWScMpapZk8+OvL2oxk5RdkebcGChUPmaUpWHi
X-IronPort-AV: E=Sophos;i="6.01,180,1684814400"; 
   d="scan'208";a="119674853"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gwA0vdCQnCHUUUcsMT6OeHnCCiqkxbeqvRntG+ai/uLvUQLjRIhDE2vGANuRxllTB15qXUuMJp9bk3dl0n7LGQot8DpiAofTiyWzKGU536H+YSNRgsPJzVd7wGN4YUGs9GOJfOQthkr6r18r54jhSsmW9o/hIMKFfbqpIwaT7F89fI6I0Ik3cjkg/z29e14zJXi3/5BOHCCV/JHAwPe3yY4FRpvb8ovAlI1atp9ORtFswBtrx2i+XySZImuKbxuIjunobWrcEX2XysyzGYdlvNOcE14v7f2n4lnGHGmgQr/G5QXcdQ2mSuRUszuisnhfuhWQ/9/fxtFTAWtFwmtf0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+8z5Otw+v2Pq1kLymvwrcxF1IpnD1u3tSLmev4/sEg=;
 b=H0z5H9UotqTnBvAMj6/aUu8gGzV03ODQL5ifEVX5XvG9MPe9qNoNF9eASwhOTbIpipRMzfxeKD2LP0PPeH/vaUCwhOCJy475FV6W5MkojL4cg2yGxMyzbhTuHZP3ia/kBLt8OREvICfNpoRQ9IC3UhUw47yUuuWdMESq3c7fwOjny5HyjFeMgLGlEgn7pnNweWvh84kzA2ggIJYCF5gO5NSDRT0nKRO5GRxh09n3sCAzn/TNH/suuggudgCtv0EhYhd4iSmbPcWknBKbrrt5AR5wcNL4+XK69R5KaQ0vxc+D/lbH1jCODD5fZgFpacGXBqkMM6tzswIDzyzcdvOz1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+8z5Otw+v2Pq1kLymvwrcxF1IpnD1u3tSLmev4/sEg=;
 b=ZAiiJn8lK4/VumBcB/+qm/8ez8fcY5q9SBWVAtvTLV3dJn1D4OYkr4r2YljKedrzq40x8FwZH2yeq6f5JrHWguwnZxgagF19JNYeUIJym+czAnEWBRg9shWmwgjhZTAJTGSv3oEwIMPqH7h0Ano5KWMXXAgmX8ISyaCjlGtF9+0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5e3328cb-a34a-deba-9b0d-e956e131953f@citrix.com>
Date: Thu, 17 Aug 2023 16:48:37 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86emul: rework wrapping of libc functions in test and
 fuzzing harnesses
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a67c2fa3-ba1c-3783-c3ee-250aff6903d5@suse.com>
 <defbf6e0-28ee-4276-7535-0ed2e23ededa@citrix.com>
 <e954ab9a-8319-1eb3-913e-738171148462@suse.com>
In-Reply-To: <e954ab9a-8319-1eb3-913e-738171148462@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0332.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a4::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|LV3PR03MB7430:EE_
X-MS-Office365-Filtering-Correlation-Id: ad3b0ee9-f36c-4862-bd75-08db9f396e40
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ma5Hq4CeBeiizsHzI66vDN/wxU846XjIhvPMJdTT+ZiD5K3gEWr7T5l/MhIq88o8PjyrZUQjfT2bsreCBbjItn0y50xAMLnhR0TFWpuO9XbOBPYw75znK2Cub9j7m+vDrRWl3Ngzbh/boJDR9pkTYBBdT5bLNQOWdpPDlkEI/zuQeyyyC/Gyv8HAyCfwXa7J4okl53qOfViWa8WRYkKG1RW2spefLRAXJ0Zo0jkkmI5ZeBWoS6yKAzTy+bsmosD/CVZhJ7QY7XWdg+PfeTQE0YWwS9bdrvMD1UyijTLeCaHhz6xLk5WiPM6QNbX6mQFkpDE2t0tQ60jeTVa2r09/LKhMC6fEjSCkqh/fQidjNJnwieiJAeB2fLgqAknFC9DgWsDsVOuIZaB6l+qJdATEteu5VGDyT7Q0LpTlD7GtEp961VoijOnsrxBI9Cn1V3dyyDgw2W+tWm3v6ICIMLywfifyuqyzTqU7CNqI0vnsOenN4qm+1v1jeWXGWN13r/9ZUAOBu0cCj7Rw39wstEC7gXBKOYlHj9iQ82cla9k2WoDMq55J1XjJ4GALEWwZPSQeFdWfiD/Sn6r0GsRKCUKg+7bzaK0Ke4gdfQ04ZrHl5nTbBrvISzNk9Uytzg8cCyvy2LYCp7Y79M0SckG4Qgn08A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(396003)(39860400002)(366004)(451199024)(1800799009)(186009)(31686004)(86362001)(31696002)(36756003)(82960400001)(38100700002)(2616005)(5660300002)(66556008)(478600001)(6506007)(66476007)(66946007)(316002)(53546011)(6666004)(54906003)(6486002)(6916009)(26005)(6512007)(41300700001)(4326008)(8676002)(8936002)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emJ2UlJQaXZTMEpESkNuU3FkS0krTHZqNmtHWGRod000dDgrd2lHYkIvS0w2?=
 =?utf-8?B?b2dUYlNvNGtZeDdzUTFpYW92Y2h0VTkwbHFGcG5kdTA0Z293Y1ZEZGI5dkVz?=
 =?utf-8?B?SjhNL3ZBOGVONllQK2tzdjFqdi9RQlA4WitFQm13VjlPZUNRdkNiZVo0UkYw?=
 =?utf-8?B?RDZWZUF1V0xsQnVGREV2S01wZzRVOG5ZZDFWdVpsVFFTNmdiWGNoaVlJK1lo?=
 =?utf-8?B?SWRuNWdWdXBieFRldFNGQVZUUlkzUVoyU0lpQUNiUnlqVjZoeFoyQktUL25z?=
 =?utf-8?B?WE9wVERTZXh1M2UvUUV4YkV5OEpPU3o1MnVZckF0MTgvZExneC95eFowQmlX?=
 =?utf-8?B?TXMyNFo1d2JXVGJsY0F5cmtaZGtxSk9remZEMTI2enk2cDhtZHVEWFpUcGdM?=
 =?utf-8?B?bkZlUnh3T3kyMUNwNnUxbzd4QnpxYjRGUXFaR1Ird1kxbzBnVVFtb3AxdXZU?=
 =?utf-8?B?TU9SWGNGVTRTWDJFdkg0L3ptcGN4NGtCNzV6SzZaeWJHMmU5c2czZHpGS3Ax?=
 =?utf-8?B?cUtWRDBHdkhDSTlLdTIwamZQQm9ROGd4dFlzakNRUVVlNExYMzZiS1RiTkpZ?=
 =?utf-8?B?ZEJFTHRQYmY0RkRIWENxZGtudE03ZWd1cVJaVVJiOGUrcFBkUHBnTWJjRDhE?=
 =?utf-8?B?Rm41dkpVMjFPS2MxUVljT3Vld1EvSC9aaGluZ3d3Nm5mVkFzbGk5NnRyWmxN?=
 =?utf-8?B?RmhOOVF2K0x1c2d4d2VTTEJWWjVtWUgwbzVycDlyTzRMTDZFNkpUUVpUNS83?=
 =?utf-8?B?aTgyOFJLdXJlbkp2eWNYbzBUVmZ4N1c5MThXWEFPampyeXk0R2ZLaEpXeU9Y?=
 =?utf-8?B?d2sveE5EVEFTclZGVFV1d1A4UXRiWWhLUGdURUNXZGU3blQvSVA4dG9mNDhG?=
 =?utf-8?B?STZIeUlhbXVCdlk3ZklyY3ZJakVDRmV2Z3d5Uk9Ycnl2WnczVmZYUzk5MzdH?=
 =?utf-8?B?ZzRRNDFURHZOQ0doMW4vMGxneER0UFhZRER2anROUzJSbVVKRkdIYzlud2ZX?=
 =?utf-8?B?VUV2RS84TWpZaXBEbDNwa1YzTDJ6ZzBmOFFINmt0VEZUTTRrSlVqbytjRmtV?=
 =?utf-8?B?UTZ5R0tRMlVzeWVseFNnd1B2b0V0VmdNZ28wOGl1cGQrd0p4K1AzUVpYd1ox?=
 =?utf-8?B?RVNWMFphbjFXT05tWlMxZlBHQndqdE9SdmRIdEtWelR5VWs3RHBmMmtqcXVN?=
 =?utf-8?B?UmluN1hTdWR4eUhmeUpzZEoyMU1TeWFYNENWbWs1Z0VEWjVTZDJIa2JLejFN?=
 =?utf-8?B?Z1dWTXk4Y09BajNhMUtZQTZhdDFJbDBhc1BPK0ZXL2Z1d1NWUDFSNU9HbjJs?=
 =?utf-8?B?ZnVCbEVMTTdEYjV1SDBiU3EzZzZ6WGZMK2pCMGcvRjloQ2dYNDBScGpqU1lZ?=
 =?utf-8?B?OWFWaFVENGtoTEpJdVA0Qkw5WDk0cVdUQUlnazE0SnRlT1o2bmhkbWpXbWdm?=
 =?utf-8?B?VWlMQkNYNGUzNEU3ekNMeUI4UzBzSUZ1ZHZqdVlzVWtTcG03RjdRZ2NXbDNz?=
 =?utf-8?B?U0tZTXgrNmFIZ1lIUUpaditMT2J4RytuMzdXVFBUMERJU1FCcEdTLzdlZW9K?=
 =?utf-8?B?VmFsL0E3VEtoWEhpSHdEU095WnJjWU8wakJ6NW5BQlhOVnYyR2xZVlBNN0VU?=
 =?utf-8?B?QjhyT1ByOW5obkxPK0JVbmFpWlVpOGZNSHlCeDJPN3hOc0ZqSVpvbjRkSzhy?=
 =?utf-8?B?YXlDUjM4MldzVE9XblVIb0VMMU9BWTd6T21ETFBkbGZRbSthbkdyRUpyTURr?=
 =?utf-8?B?VGlNL0F2OExSeHl2YVhPd3Voa3NBQ0svWmZpRFdMZDhwYjJCcXBybXA4ajhI?=
 =?utf-8?B?Q3R6YnB1M2QwdEI1MTlqTnZBcDBQOEltay9zK2d6OFVHWDhrNXZpbzJQOFJS?=
 =?utf-8?B?aHlTdUNBUmd6MTZMTGxQQzB0UFRhU0FtWGQyZjRibVdvWDR4UlB3WkEwR0sr?=
 =?utf-8?B?dG1UZ0hEOTZsV1U5ZTdyakJmamJ1UThtU1RVbWphTnh2UnZKQWNBOEpvZSty?=
 =?utf-8?B?WDQwS25Vc09kQnczSVVOUEFVVmUrczdNbnh0dUVtTGFrUklVNHVEMC9NY1hx?=
 =?utf-8?B?U2VXaC9PUCtjSlpEVVQzRTgvV1FFWHZMOVBzemkzS1NuWG50WGxFUDZxdFQy?=
 =?utf-8?B?aWpiZG9YMGFsS3NCZGl2L3dMNE80UysraTVsZE5LTXptM1N5SnJobVdWbDVm?=
 =?utf-8?B?eHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PFohiFE/KyajYnNwV/ONU6QSLCtBaMvyyFkKSJ4oGWLqoPN5HdXAieoCgE8vP+B0lp3YlzTA87zTf+gs+xRx+ej4E2ER4Z90OWkCV6IU84PHoHSjhGjobS8JuOZfl97l/GeiobRfvV9iHEtgkDHQkJeqUpzAgj9GcQ3CKmOyO6+9AOeS/R+/E+2ksOK6rF/Ao/+rCNF6ZtryZlDZEz2hsLGL6ZePxMt6z0L5PL10TK0uw2JuIhfq5JLSH7cwjNjW59PoNjt2SYTpWQcBYkbuLkJSAraT2d94rXZI+vKyAJpbmF0uPYcdM9RQ1FYySoCoWQMUayqDfAXH5MKt6G9a9DmfRuH87vqwB/laNgvJtPt4zyoXtzppa9qCZf3t5Ruc4tXZTMmKfTrTIC8HL5Mn/qfyZ5RKKLhZg4dK4Hq3c0GGyHSdfy9GBIF9tUEBsUN5eMduCBZimPtN1FW3i2v5sxRKuiTc8KCq/ORFFXk5pReDW/YRwc9oLW4mmz111t2jQRg7VypwyHG5csf3jOJhESpPcl21dDd+9pqIsjdE6nXtimmuZCMUKH657A7wXAm/3MacQrA3/imEOXF85W1d8b6mJApyFoNHLLD35jsfC3xFVp7zJIJXQTuzoVLYfOqXRXtCYOjq7hi08VqK9/Yigr8GS+Ot8MHMZmMvOw2fdEPZKWmJA7oKieTRr1Uv8/CqOOhsCGZ6a6+Zn+qmNRE5fQ8kGIkZoZ7r+e/ZcGb5c3CtU/QZhh7Ts6AE6YTc/qfqGftp8hdpVa+SkKoMJWuQsCC3RF72jAt4dabdNxzTMVWKSUfgZoBwDTPM61VnjAqZ
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad3b0ee9-f36c-4862-bd75-08db9f396e40
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 15:48:41.8650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v+P23aweGWDCfN2oqNi0NPPSS+lQ8Ub+52QPgCqUk6tlLaVonatwI1uUVFZNBOqlAtSuK2Vot+hMhbjlTopRB+RMiKbq9mTtiQnzrEWdE+c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7430

On 17/08/2023 2:13 pm, Jan Beulich wrote:
> On 17.08.2023 14:58, Andrew Cooper wrote:
>> On 17/08/2023 12:47 pm, Jan Beulich wrote:
>>> Our present approach is working fully behind the compiler's back. This
>>> was found to not work with LTO. Employ ld's --wrap= option instead. Note
>>> that while this makes the build work at least with new enough gcc (it
>>> doesn't with gcc7, for example, due to tool chain side issues afaict),
>>> according to my testing things still won't work when building the
>>> fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
>>> getting invoked, this does not happen with gcc13. Yet without using that
>>> assembler wrapper the resulting binary will look uninstrumented to
>>> afl-fuzz.
>>>
>>> While checking the resulting binaries I noticed that we've gained uses
>>> of snprintf() and strstr(), which only just so happen to not cause any
>>> problems. Add a wrappers for them as well.
>>>
>>> Since we don't have any actual uses of v{,sn}printf(), no definitions of
>>> their wrappers appear (just yet). But I think we want
>>> __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
>>> which means we need delarations of the latter.
>>>
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> This does resolve the build issue.Â  I do get a binary out of the end, so
>> Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>.
> Thanks.
>
>> Â  I presume that you've smoke tested the resulting binary?
> The fuzzer one? No. I didn't think it is of any use when not driven by afl.
> I did a proper test of the test harness one, albeit not with LTO in use (I
> focused on the fuzzer one with the LTO issue).

The fuzzer is only built because it's active-by-default in tools/, not
because it's used.

The test harness is the one that gets used routinely in testing.

>
>> However, I do see something else in the logs which is concerning.Â 
>> Likely unrelated.
>>
>> make[6]: Entering directory
>> '/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
>> gcc -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall
>> -Wstrict-prototypes -Wdeclaration-after-statement
>> -Wno-unused-but-set-variable -Wno-unused-local-typedefs -g3 -Werror -Og
>> -fno-omit-frame-pointer
>> -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -mno-tls-direct-seg-refs
>> -fno-pie -fno-stack-protector -fno-exceptions
>> -fno-asynchronous-unwind-tables -fno-builtin -g0 -D_64f2 -mavx512fp16
>> -ffixed-xmm0 -Os -DVEC_SIZE=64 -DFLOAT_SIZE=2 -c avx512fp16.c
>> make[6]: Leaving directory
>> '/builddir/build/BUILD/xen-4.18.0/tools/tests/x86_emulator'
>> /tmp/ccrznrqa.s: Assembler messages:
>> /tmp/ccrznrqa.s:98: Error: no such instruction: `vmovw .LC0,%xmm3'
>> /tmp/ccrznrqa.s:99: Error: no such instruction: `vmovw %xmm3,58(%esp)'
>> /tmp/ccrznrqa.s:105: Error: no such instruction: `vcvtsi2shl
>> %eax,%xmm1,%xmm1'
>> /tmp/ccrznrqa.s:106: Error: no such instruction: `vmovw
>> %xmm3,382(%esp,%eax,2)'
>> /tmp/ccrznrqa.s:107: Error: no such instruction: `vmovw
>> %xmm1,-2(%edx,%eax,2)'
>> /tmp/ccrznrqa.s:108: Error: no such instruction: `vcvtsi2shl
>> %ecx,%xmm1,%xmm1'
>> /tmp/ccrznrqa.s:109: Error: no such instruction: `vmovw
>> %xmm1,318(%esp,%eax,2)'
>> /tmp/ccrznrqa.s:113: Error: no such instruction: `vaddph
>> 256(%esp),%zmm7,%zmm5'
>> <snip many>
>> simd-fma.c:208: Error: no such instruction: `vfmaddsub231ph
>> 60(%esp){1to32},%zmm6,%zmm5'
>> simd-fma.c:209: Error: no such instruction: `vfmaddsub231ph
>> 60(%esp){1to32},%zmm6,%zmm1'
>>
>> GCC is 12.2.1, binutils is 2.37
>>
>> AVX512_FP16 was added in bintuils 2.38 so I understand the simd-fma.c
>> complains,
> Right. I assume the gcc is not the system one, or else I'd find it
> odd to have a compiler backed by a less capable assembler.

It is the system one, but it's entirely possible that there has been a
bootstrapping error.Â  We're trying something a bit new.

There are tasks to update both.Â  I'll keep an eye on the result.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:59:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585495.916644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOj-0005ZY-Jn; Thu, 17 Aug 2023 15:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585495.916644; Thu, 17 Aug 2023 15: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 1qWfOj-0005ZR-Gt; Thu, 17 Aug 2023 15:58:57 +0000
Received: by outflank-mailman (input) for mailman id 585495;
 Thu, 17 Aug 2023 15:58: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=bmM2=EC=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qWfOh-0005Z2-Tq
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:58:55 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6546bdc-3d16-11ee-877c-cb3800f73035;
 Thu, 17 Aug 2023 17:58:53 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-370-_PYTQOiYObCub5SvCMnmSQ-1; Thu, 17 Aug 2023 11:58:50 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4639D8DC66D;
 Thu, 17 Aug 2023 15:58:50 +0000 (UTC)
Received: from localhost (unknown [10.39.193.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 3C3F9C15BAE;
 Thu, 17 Aug 2023 15:58: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: f6546bdc-3d16-11ee-877c-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692287932;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=oTT7bKV9KwvS314ipvuTanKXvhR68UXiljwmEfE3uNo=;
	b=PqgDYOj9BhQqTMA3u3EApxvp5PJ+wERBkitvRNaWxTkZoFhCvqLNIguwR4nMxKAYOEGDhr
	kJB+/onlyuy2YqjvTP1v2bbik+5RNiNj+yrFh7j1ustM1I1tYgLeQqU/Idnvc1gBXThChl
	+s34cnqDJLjn30BsKT2IPGMUX4qwu1s=
X-MC-Unique: _PYTQOiYObCub5SvCMnmSQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: <qemu-block@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Julia Suvorova <jusual@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Ilya Maximets <i.maximets@ovn.org>
Subject: [PATCH v2 0/4] virtio-blk: use blk_io_plug_call() instead of notification BH
Date: Thu, 17 Aug 2023 11:58:43 -0400
Message-ID: <20230817155847.3605115-1-stefanha@redhat.com>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

v2:
- Rename blk_io_plug() to defer_call() and move it to util/ so the net
  subsystem can use it [Ilya]
- Add defer_call_begin()/end() to thread_pool_completion_bh() to match Linux
  AIO and io_uring completion batching

Replace the seldom-used virtio-blk notification BH mechanism with
blk_io_plug(). This is part of an effort to enable the multi-queue block layer
in virtio-blk. The notification BH was not multi-queue friendly.

The blk_io_plug() mechanism improves fio rw=randread bs=4k iodepth=64 numjobs=8
IOPS by ~9% with a single IOThread and 8 vCPUs (this is not even a multi-queue
block layer configuration) compared to no completion batching. iodepth=1
decreases by ~1% but this could be noise. Benchmark details are available here:
https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd

Stefan Hajnoczi (4):
  block: rename blk_io_plug_call() API to defer_call()
  util/defer-call: move defer_call() to util/
  virtio: use defer_call() in virtio_irqfd_notify()
  virtio-blk: remove batch notification BH

 MAINTAINERS                       |   3 +-
 include/qemu/defer-call.h         |  15 +++
 include/sysemu/block-backend-io.h |   4 -
 block/blkio.c                     |   9 +-
 block/io_uring.c                  |  11 ++-
 block/linux-aio.c                 |   9 +-
 block/nvme.c                      |   5 +-
 block/plug.c                      | 159 ------------------------------
 hw/block/dataplane/virtio-blk.c   |  48 +--------
 hw/block/dataplane/xen-block.c    |  11 ++-
 hw/block/virtio-blk.c             |   5 +-
 hw/scsi/virtio-scsi.c             |   7 +-
 hw/virtio/virtio.c                |  11 ++-
 util/defer-call.c                 | 156 +++++++++++++++++++++++++++++
 util/thread-pool.c                |   5 +
 block/meson.build                 |   1 -
 util/meson.build                  |   1 +
 17 files changed, 227 insertions(+), 233 deletions(-)
 create mode 100644 include/qemu/defer-call.h
 delete mode 100644 block/plug.c
 create mode 100644 util/defer-call.c

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:59:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585496.916655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOp-0005qP-UA; Thu, 17 Aug 2023 15:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585496.916655; Thu, 17 Aug 2023 15: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 1qWfOp-0005qG-RO; Thu, 17 Aug 2023 15:59:03 +0000
Received: by outflank-mailman (input) for mailman id 585496;
 Thu, 17 Aug 2023 15: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=bmM2=EC=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qWfOo-0005pM-HJ
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:59:02 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9bf5ae4-3d16-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 17:58:59 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-550-nudf37T0OPC_XIq-P1HCEA-1; Thu, 17 Aug 2023 11:58:53 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E80868DC66B;
 Thu, 17 Aug 2023 15:58:52 +0000 (UTC)
Received: from localhost (unknown [10.39.193.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id EA0126B2AB;
 Thu, 17 Aug 2023 15:58: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: f9bf5ae4-3d16-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692287938;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=IKCaT/c0r19JJWWK7CpKQMgQhie2yxHoAGJoMQndlYg=;
	b=BWD4VKTtA8zzdQ9tfsXP5x+qfIpUVUNkrqqjiMy6BjnPdejBM76rdJlfLkGE2trHJ4MMOu
	U3G6d5akvghuJKOnjSE5LExu0HkTuoq8xqw1gvmqhP+70LuaZg+5fJcf7oZLXwiojFcdqJ
	vry+42TgWI2cgg7YFLh3D7wzZzgnqxU=
X-MC-Unique: nudf37T0OPC_XIq-P1HCEA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: <qemu-block@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Julia Suvorova <jusual@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Ilya Maximets <i.maximets@ovn.org>
Subject: [PATCH v2 1/4] block: rename blk_io_plug_call() API to defer_call()
Date: Thu, 17 Aug 2023 11:58:44 -0400
Message-ID: <20230817155847.3605115-2-stefanha@redhat.com>
In-Reply-To: <20230817155847.3605115-1-stefanha@redhat.com>
References: <20230817155847.3605115-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Prepare to move the blk_io_plug_call() API out of the block layer so
that other subsystems call use this deferred call mechanism. Rename it
to defer_call() but leave the code in block/plug.c.

The next commit will move the code out of the block layer.

Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/sysemu/block-backend-io.h |   6 +-
 block/blkio.c                     |   8 +--
 block/io_uring.c                  |   4 +-
 block/linux-aio.c                 |   4 +-
 block/nvme.c                      |   4 +-
 block/plug.c                      | 109 +++++++++++++++---------------
 hw/block/dataplane/xen-block.c    |  10 +--
 hw/block/virtio-blk.c             |   4 +-
 hw/scsi/virtio-scsi.c             |   6 +-
 9 files changed, 76 insertions(+), 79 deletions(-)

diff --git a/include/sysemu/block-backend-io.h b/include/sysemu/block-backend-io.h
index be4dcef59d..cfcfd85c1d 100644
--- a/include/sysemu/block-backend-io.h
+++ b/include/sysemu/block-backend-io.h
@@ -100,9 +100,9 @@ void blk_iostatus_set_err(BlockBackend *blk, int error);
 int blk_get_max_iov(BlockBackend *blk);
 int blk_get_max_hw_iov(BlockBackend *blk);
 
-void blk_io_plug(void);
-void blk_io_unplug(void);
-void blk_io_plug_call(void (*fn)(void *), void *opaque);
+void defer_call_begin(void);
+void defer_call_end(void);
+void defer_call(void (*fn)(void *), void *opaque);
 
 AioContext *blk_get_aio_context(BlockBackend *blk);
 BlockAcctStats *blk_get_stats(BlockBackend *blk);
diff --git a/block/blkio.c b/block/blkio.c
index 1dd495617c..7cf6d61f47 100644
--- a/block/blkio.c
+++ b/block/blkio.c
@@ -312,10 +312,10 @@ static void blkio_detach_aio_context(BlockDriverState *bs)
 }
 
 /*
- * Called by blk_io_unplug() or immediately if not plugged. Called without
- * blkio_lock.
+ * Called by defer_call_end() or immediately if not in a deferred section.
+ * Called without blkio_lock.
  */
-static void blkio_unplug_fn(void *opaque)
+static void blkio_deferred_fn(void *opaque)
 {
     BDRVBlkioState *s = opaque;
 
@@ -332,7 +332,7 @@ static void blkio_submit_io(BlockDriverState *bs)
 {
     BDRVBlkioState *s = bs->opaque;
 
-    blk_io_plug_call(blkio_unplug_fn, s);
+    defer_call(blkio_deferred_fn, s);
 }
 
 static int coroutine_fn
diff --git a/block/io_uring.c b/block/io_uring.c
index 69d9820928..8429f341be 100644
--- a/block/io_uring.c
+++ b/block/io_uring.c
@@ -306,7 +306,7 @@ static void ioq_init(LuringQueue *io_q)
     io_q->blocked = false;
 }
 
-static void luring_unplug_fn(void *opaque)
+static void luring_deferred_fn(void *opaque)
 {
     LuringState *s = opaque;
     trace_luring_unplug_fn(s, s->io_q.blocked, s->io_q.in_queue,
@@ -367,7 +367,7 @@ static int luring_do_submit(int fd, LuringAIOCB *luringcb, LuringState *s,
             return ret;
         }
 
-        blk_io_plug_call(luring_unplug_fn, s);
+        defer_call(luring_deferred_fn, s);
     }
     return 0;
 }
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 561c71a9ae..9a08219db0 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -353,7 +353,7 @@ static uint64_t laio_max_batch(LinuxAioState *s, uint64_t dev_max_batch)
     return max_batch;
 }
 
-static void laio_unplug_fn(void *opaque)
+static void laio_deferred_fn(void *opaque)
 {
     LinuxAioState *s = opaque;
 
@@ -393,7 +393,7 @@ static int laio_do_submit(int fd, struct qemu_laiocb *laiocb, off_t offset,
         if (s->io_q.in_queue >= laio_max_batch(s, dev_max_batch)) {
             ioq_submit(s);
         } else {
-            blk_io_plug_call(laio_unplug_fn, s);
+            defer_call(laio_deferred_fn, s);
         }
     }
 
diff --git a/block/nvme.c b/block/nvme.c
index b6e95f0b7e..dfbd1085fd 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -476,7 +476,7 @@ static void nvme_trace_command(const NvmeCmd *cmd)
     }
 }
 
-static void nvme_unplug_fn(void *opaque)
+static void nvme_deferred_fn(void *opaque)
 {
     NVMeQueuePair *q = opaque;
 
@@ -503,7 +503,7 @@ static void nvme_submit_command(NVMeQueuePair *q, NVMeRequest *req,
     q->need_kick++;
     qemu_mutex_unlock(&q->lock);
 
-    blk_io_plug_call(nvme_unplug_fn, q);
+    defer_call(nvme_deferred_fn, q);
 }
 
 static void nvme_admin_cmd_sync_cb(void *opaque, int ret)
diff --git a/block/plug.c b/block/plug.c
index 98a155d2f4..f26173559c 100644
--- a/block/plug.c
+++ b/block/plug.c
@@ -1,24 +1,21 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
- * Block I/O plugging
+ * Deferred calls
  *
  * Copyright Red Hat.
  *
- * This API defers a function call within a blk_io_plug()/blk_io_unplug()
+ * This API defers a function call within a defer_call_begin()/defer_call_end()
  * section, allowing multiple calls to batch up. This is a performance
  * optimization that is used in the block layer to submit several I/O requests
  * at once instead of individually:
  *
- *   blk_io_plug(); <-- start of plugged region
+ *   defer_call_begin(); <-- start of section
  *   ...
- *   blk_io_plug_call(my_func, my_obj); <-- deferred my_func(my_obj) call
- *   blk_io_plug_call(my_func, my_obj); <-- another
- *   blk_io_plug_call(my_func, my_obj); <-- another
+ *   defer_call(my_func, my_obj); <-- deferred my_func(my_obj) call
+ *   defer_call(my_func, my_obj); <-- another
+ *   defer_call(my_func, my_obj); <-- another
  *   ...
- *   blk_io_unplug(); <-- end of plugged region, my_func(my_obj) is called once
- *
- * This code is actually generic and not tied to the block layer. If another
- * subsystem needs this functionality, it could be renamed.
+ *   defer_call_end(); <-- end of section, my_func(my_obj) is called once
  */
 
 #include "qemu/osdep.h"
@@ -27,66 +24,66 @@
 #include "qemu/thread.h"
 #include "sysemu/block-backend.h"
 
-/* A function call that has been deferred until unplug() */
+/* A function call that has been deferred until defer_call_end() */
 typedef struct {
     void (*fn)(void *);
     void *opaque;
-} UnplugFn;
+} DeferredCall;
 
 /* Per-thread state */
 typedef struct {
-    unsigned count;       /* how many times has plug() been called? */
-    GArray *unplug_fns;   /* functions to call at unplug time */
-} Plug;
+    unsigned nesting_level;
+    GArray *deferred_call_array;
+} DeferCallThreadState;
 
-/* Use get_ptr_plug() to fetch this thread-local value */
-QEMU_DEFINE_STATIC_CO_TLS(Plug, plug);
+/* Use get_ptr_defer_call_thread_state() to fetch this thread-local value */
+QEMU_DEFINE_STATIC_CO_TLS(DeferCallThreadState, defer_call_thread_state);
 
 /* Called at thread cleanup time */
-static void blk_io_plug_atexit(Notifier *n, void *value)
+static void defer_call_atexit(Notifier *n, void *value)
 {
-    Plug *plug = get_ptr_plug();
-    g_array_free(plug->unplug_fns, TRUE);
+    DeferCallThreadState *thread_state = get_ptr_defer_call_thread_state();
+    g_array_free(thread_state->deferred_call_array, TRUE);
 }
 
 /* This won't involve coroutines, so use __thread */
-static __thread Notifier blk_io_plug_atexit_notifier;
+static __thread Notifier defer_call_atexit_notifier;
 
 /**
- * blk_io_plug_call:
+ * defer_call:
  * @fn: a function pointer to be invoked
  * @opaque: a user-defined argument to @fn()
  *
- * Call @fn(@opaque) immediately if not within a blk_io_plug()/blk_io_unplug()
- * section.
+ * Call @fn(@opaque) immediately if not within a
+ * defer_call_begin()/defer_call_end() section.
  *
  * Otherwise defer the call until the end of the outermost
- * blk_io_plug()/blk_io_unplug() section in this thread. If the same
+ * defer_call_begin()/defer_call_end() section in this thread. If the same
  * @fn/@opaque pair has already been deferred, it will only be called once upon
- * blk_io_unplug() so that accumulated calls are batched into a single call.
+ * defer_call_end() so that accumulated calls are batched into a single call.
  *
  * The caller must ensure that @opaque is not freed before @fn() is invoked.
  */
-void blk_io_plug_call(void (*fn)(void *), void *opaque)
+void defer_call(void (*fn)(void *), void *opaque)
 {
-    Plug *plug = get_ptr_plug();
+    DeferCallThreadState *thread_state = get_ptr_defer_call_thread_state();
 
-    /* Call immediately if we're not plugged */
-    if (plug->count == 0) {
+    /* Call immediately if we're not deferring calls */
+    if (thread_state->nesting_level == 0) {
         fn(opaque);
         return;
     }
 
-    GArray *array = plug->unplug_fns;
+    GArray *array = thread_state->deferred_call_array;
     if (!array) {
-        array = g_array_new(FALSE, FALSE, sizeof(UnplugFn));
-        plug->unplug_fns = array;
-        blk_io_plug_atexit_notifier.notify = blk_io_plug_atexit;
-        qemu_thread_atexit_add(&blk_io_plug_atexit_notifier);
+        array = g_array_new(FALSE, FALSE, sizeof(DeferredCall));
+        thread_state->deferred_call_array = array;
+        defer_call_atexit_notifier.notify = defer_call_atexit;
+        qemu_thread_atexit_add(&defer_call_atexit_notifier);
     }
 
-    UnplugFn *fns = (UnplugFn *)array->data;
-    UnplugFn new_fn = {
+    DeferredCall *fns = (DeferredCall *)array->data;
+    DeferredCall new_fn = {
         .fn = fn,
         .opaque = opaque,
     };
@@ -106,46 +103,46 @@ void blk_io_plug_call(void (*fn)(void *), void *opaque)
 }
 
 /**
- * blk_io_plug: Defer blk_io_plug_call() functions until blk_io_unplug()
+ * defer_call_begin: Defer defer_call() functions until defer_call_end()
  *
- * blk_io_plug/unplug are thread-local operations. This means that multiple
- * threads can simultaneously call plug/unplug, but the caller must ensure that
- * each unplug() is called in the same thread of the matching plug().
+ * defer_call_begin() and defer_call_end() are thread-local operations. The
+ * caller must ensure that each defer_call_begin() has a matching
+ * defer_call_end() in the same thread.
  *
- * Nesting is supported. blk_io_plug_call() functions are only called at the
- * outermost blk_io_unplug().
+ * Nesting is supported. defer_call() functions are only called at the
+ * outermost defer_call_end().
  */
-void blk_io_plug(void)
+void defer_call_begin(void)
 {
-    Plug *plug = get_ptr_plug();
+    DeferCallThreadState *thread_state = get_ptr_defer_call_thread_state();
 
-    assert(plug->count < UINT32_MAX);
+    assert(thread_state->nesting_level < UINT32_MAX);
 
-    plug->count++;
+    thread_state->nesting_level++;
 }
 
 /**
- * blk_io_unplug: Run any pending blk_io_plug_call() functions
+ * defer_call_end: Run any pending defer_call() functions
  *
- * There must have been a matching blk_io_plug() call in the same thread prior
- * to this blk_io_unplug() call.
+ * There must have been a matching defer_call_begin() call in the same thread
+ * prior to this defer_call_end() call.
  */
-void blk_io_unplug(void)
+void defer_call_end(void)
 {
-    Plug *plug = get_ptr_plug();
+    DeferCallThreadState *thread_state = get_ptr_defer_call_thread_state();
 
-    assert(plug->count > 0);
+    assert(thread_state->nesting_level > 0);
 
-    if (--plug->count > 0) {
+    if (--thread_state->nesting_level > 0) {
         return;
     }
 
-    GArray *array = plug->unplug_fns;
+    GArray *array = thread_state->deferred_call_array;
     if (!array) {
         return;
     }
 
-    UnplugFn *fns = (UnplugFn *)array->data;
+    DeferredCall *fns = (DeferredCall *)array->data;
 
     for (guint i = 0; i < array->len; i++) {
         fns[i].fn(fns[i].opaque);
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 3b6f2b0aa2..e9dd8f8a99 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -509,7 +509,7 @@ static int xen_block_get_request(XenBlockDataPlane *dataplane,
 
 /*
  * Threshold of in-flight requests above which we will start using
- * blk_io_plug()/blk_io_unplug() to batch requests.
+ * defer_call_begin()/defer_call_end() to batch requests.
  */
 #define IO_PLUG_THRESHOLD 1
 
@@ -537,7 +537,7 @@ static bool xen_block_handle_requests(XenBlockDataPlane *dataplane)
      * is below us.
      */
     if (inflight_atstart > IO_PLUG_THRESHOLD) {
-        blk_io_plug();
+        defer_call_begin();
     }
     while (rc != rp) {
         /* pull request from ring */
@@ -577,12 +577,12 @@ static bool xen_block_handle_requests(XenBlockDataPlane *dataplane)
 
         if (inflight_atstart > IO_PLUG_THRESHOLD &&
             batched >= inflight_atstart) {
-            blk_io_unplug();
+            defer_call_end();
         }
         xen_block_do_aio(request);
         if (inflight_atstart > IO_PLUG_THRESHOLD) {
             if (batched >= inflight_atstart) {
-                blk_io_plug();
+                defer_call_begin();
                 batched = 0;
             } else {
                 batched++;
@@ -590,7 +590,7 @@ static bool xen_block_handle_requests(XenBlockDataPlane *dataplane)
         }
     }
     if (inflight_atstart > IO_PLUG_THRESHOLD) {
-        blk_io_unplug();
+        defer_call_end();
     }
 
     return done_something;
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index 39e7f23fab..6a45033d15 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -1134,7 +1134,7 @@ void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
     bool suppress_notifications = virtio_queue_get_notification(vq);
 
     aio_context_acquire(blk_get_aio_context(s->blk));
-    blk_io_plug();
+    defer_call_begin();
 
     do {
         if (suppress_notifications) {
@@ -1158,7 +1158,7 @@ void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
         virtio_blk_submit_multireq(s, &mrb);
     }
 
-    blk_io_unplug();
+    defer_call_end();
     aio_context_release(blk_get_aio_context(s->blk));
 }
 
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 45b95ea070..c2465e3e88 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -799,7 +799,7 @@ static int virtio_scsi_handle_cmd_req_prepare(VirtIOSCSI *s, VirtIOSCSIReq *req)
         return -ENOBUFS;
     }
     scsi_req_ref(req->sreq);
-    blk_io_plug();
+    defer_call_begin();
     object_unref(OBJECT(d));
     return 0;
 }
@@ -810,7 +810,7 @@ static void virtio_scsi_handle_cmd_req_submit(VirtIOSCSI *s, VirtIOSCSIReq *req)
     if (scsi_req_enqueue(sreq)) {
         scsi_req_continue(sreq);
     }
-    blk_io_unplug();
+    defer_call_end();
     scsi_req_unref(sreq);
 }
 
@@ -836,7 +836,7 @@ static void virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
                 while (!QTAILQ_EMPTY(&reqs)) {
                     req = QTAILQ_FIRST(&reqs);
                     QTAILQ_REMOVE(&reqs, req, next);
-                    blk_io_unplug();
+                    defer_call_end();
                     scsi_req_unref(req->sreq);
                     virtqueue_detach_element(req->vq, &req->elem, 0);
                     virtio_scsi_free_req(req);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:59:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585497.916660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOq-0005tb-6V; Thu, 17 Aug 2023 15:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585497.916660; Thu, 17 Aug 2023 15:59:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOq-0005sr-2C; Thu, 17 Aug 2023 15:59:04 +0000
Received: by outflank-mailman (input) for mailman id 585497;
 Thu, 17 Aug 2023 15:59:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bmM2=EC=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qWfOp-0005pM-6d
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:59:03 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa8c24ed-3d16-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 17:59:00 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (66.187.233.73 [66.187.233.73]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-179-Aqf6y6l9Nf2qUYwRqraa6A-1; Thu, 17 Aug 2023 11:58:57 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6B43F3C0E208;
 Thu, 17 Aug 2023 15:58:56 +0000 (UTC)
Received: from localhost (unknown [10.39.193.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id C3BEBC15BAE;
 Thu, 17 Aug 2023 15:58: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: fa8c24ed-3d16-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692287939;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=KU9vrLzZd5lCZshDYf3pKEuY+DEkoqOiwgvm1wKjJc0=;
	b=fiRD/esuF7NSwX6d4rUkTJT6MI3SarnCfRBXsnpRkr0l6OKr31ZsIuURIC7dEclzjRcq0o
	4jLDw2i4G7nXFsOcdNgDlhnOntt08NV1pYBbKTsQJGG0pR9xh0hOPkGy4YVfSkZwSpupSP
	eHwELm61jkTIDpcAS8JXy2FMNrI4B/s=
X-MC-Unique: Aqf6y6l9Nf2qUYwRqraa6A-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: <qemu-block@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Julia Suvorova <jusual@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Ilya Maximets <i.maximets@ovn.org>
Subject: [PATCH v2 2/4] util/defer-call: move defer_call() to util/
Date: Thu, 17 Aug 2023 11:58:45 -0400
Message-ID: <20230817155847.3605115-3-stefanha@redhat.com>
In-Reply-To: <20230817155847.3605115-1-stefanha@redhat.com>
References: <20230817155847.3605115-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

The networking subsystem may wish to use defer_call(), so move the code
to util/ where it can be reused.

As a reminder of what defer_call() does:

This API defers a function call within a defer_call_begin()/defer_call_end()
section, allowing multiple calls to batch up. This is a performance
optimization that is used in the block layer to submit several I/O requests
at once instead of individually:

  defer_call_begin(); <-- start of section
  ...
  defer_call(my_func, my_obj); <-- deferred my_func(my_obj) call
  defer_call(my_func, my_obj); <-- another
  defer_call(my_func, my_obj); <-- another
  ...
  defer_call_end(); <-- end of section, my_func(my_obj) is called once

Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 MAINTAINERS                       |  3 ++-
 include/qemu/defer-call.h         | 15 +++++++++++++++
 include/sysemu/block-backend-io.h |  4 ----
 block/blkio.c                     |  1 +
 block/io_uring.c                  |  1 +
 block/linux-aio.c                 |  1 +
 block/nvme.c                      |  1 +
 hw/block/dataplane/xen-block.c    |  1 +
 hw/block/virtio-blk.c             |  1 +
 hw/scsi/virtio-scsi.c             |  1 +
 block/plug.c => util/defer-call.c |  2 +-
 block/meson.build                 |  1 -
 util/meson.build                  |  1 +
 13 files changed, 26 insertions(+), 7 deletions(-)
 create mode 100644 include/qemu/defer-call.h
 rename block/plug.c => util/defer-call.c (99%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6111b6b4d9..7cd7132ffc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2676,12 +2676,13 @@ S: Supported
 F: util/async.c
 F: util/aio-*.c
 F: util/aio-*.h
+F: util/defer-call.c
 F: util/fdmon-*.c
 F: block/io.c
-F: block/plug.c
 F: migration/block*
 F: include/block/aio.h
 F: include/block/aio-wait.h
+F: include/qemu/defer-call.h
 F: scripts/qemugdb/aio.py
 F: tests/unit/test-fdmon-epoll.c
 T: git https://github.com/stefanha/qemu.git block
diff --git a/include/qemu/defer-call.h b/include/qemu/defer-call.h
new file mode 100644
index 0000000000..291f86c987
--- /dev/null
+++ b/include/qemu/defer-call.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Deferred calls
+ *
+ * Copyright Red Hat.
+ */
+
+#ifndef QEMU_DEFER_CALL_H
+#define QEMU_DEFER_CALL_H
+
+void defer_call_begin(void);
+void defer_call_end(void);
+void defer_call(void (*fn)(void *), void *opaque);
+
+#endif /* QEMU_DEFER_CALL_H */
diff --git a/include/sysemu/block-backend-io.h b/include/sysemu/block-backend-io.h
index cfcfd85c1d..d174275a5c 100644
--- a/include/sysemu/block-backend-io.h
+++ b/include/sysemu/block-backend-io.h
@@ -100,10 +100,6 @@ void blk_iostatus_set_err(BlockBackend *blk, int error);
 int blk_get_max_iov(BlockBackend *blk);
 int blk_get_max_hw_iov(BlockBackend *blk);
 
-void defer_call_begin(void);
-void defer_call_end(void);
-void defer_call(void (*fn)(void *), void *opaque);
-
 AioContext *blk_get_aio_context(BlockBackend *blk);
 BlockAcctStats *blk_get_stats(BlockBackend *blk);
 void *blk_aio_get(const AIOCBInfo *aiocb_info, BlockBackend *blk,
diff --git a/block/blkio.c b/block/blkio.c
index 7cf6d61f47..0a0a6c0f5f 100644
--- a/block/blkio.c
+++ b/block/blkio.c
@@ -13,6 +13,7 @@
 #include "block/block_int.h"
 #include "exec/memory.h"
 #include "exec/cpu-common.h" /* for qemu_ram_get_fd() */
+#include "qemu/defer-call.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qapi/qmp/qdict.h"
diff --git a/block/io_uring.c b/block/io_uring.c
index 8429f341be..3a1e1f45b3 100644
--- a/block/io_uring.c
+++ b/block/io_uring.c
@@ -15,6 +15,7 @@
 #include "block/block.h"
 #include "block/raw-aio.h"
 #include "qemu/coroutine.h"
+#include "qemu/defer-call.h"
 #include "qapi/error.h"
 #include "sysemu/block-backend.h"
 #include "trace.h"
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 9a08219db0..62380593c8 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -14,6 +14,7 @@
 #include "block/raw-aio.h"
 #include "qemu/event_notifier.h"
 #include "qemu/coroutine.h"
+#include "qemu/defer-call.h"
 #include "qapi/error.h"
 #include "sysemu/block-backend.h"
 
diff --git a/block/nvme.c b/block/nvme.c
index dfbd1085fd..96b3f8f2fa 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
+#include "qemu/defer-call.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index e9dd8f8a99..c4bb28c66f 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -19,6 +19,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/defer-call.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/memalign.h"
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index 6a45033d15..a1f8e15522 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -12,6 +12,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/defer-call.h"
 #include "qapi/error.h"
 #include "qemu/iov.h"
 #include "qemu/module.h"
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index c2465e3e88..83c154e74e 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -18,6 +18,7 @@
 #include "standard-headers/linux/virtio_ids.h"
 #include "hw/virtio/virtio-scsi.h"
 #include "migration/qemu-file-types.h"
+#include "qemu/defer-call.h"
 #include "qemu/error-report.h"
 #include "qemu/iov.h"
 #include "qemu/module.h"
diff --git a/block/plug.c b/util/defer-call.c
similarity index 99%
rename from block/plug.c
rename to util/defer-call.c
index f26173559c..037dc0abf0 100644
--- a/block/plug.c
+++ b/util/defer-call.c
@@ -22,7 +22,7 @@
 #include "qemu/coroutine-tls.h"
 #include "qemu/notify.h"
 #include "qemu/thread.h"
-#include "sysemu/block-backend.h"
+#include "qemu/defer-call.h"
 
 /* A function call that has been deferred until defer_call_end() */
 typedef struct {
diff --git a/block/meson.build b/block/meson.build
index 529fc172c6..ba20e17acf 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -23,7 +23,6 @@ block_ss.add(files(
   'mirror.c',
   'nbd.c',
   'null.c',
-  'plug.c',
   'qapi.c',
   'qcow2-bitmap.c',
   'qcow2-cache.c',
diff --git a/util/meson.build b/util/meson.build
index a375160286..b9880357aa 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -29,6 +29,7 @@ util_ss.add(when: 'CONFIG_WIN32', if_true: pathcch)
 if glib_has_gslice
   util_ss.add(files('qtree.c'))
 endif
+util_ss.add(files('defer-call.c'))
 util_ss.add(files('envlist.c', 'path.c', 'module.c'))
 util_ss.add(files('host-utils.c'))
 util_ss.add(files('bitmap.c', 'bitops.c'))
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:59:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585498.916675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOx-0006SD-E4; Thu, 17 Aug 2023 15:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585498.916675; Thu, 17 Aug 2023 15:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOx-0006Rz-Ab; Thu, 17 Aug 2023 15:59:11 +0000
Received: by outflank-mailman (input) for mailman id 585498;
 Thu, 17 Aug 2023 15: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=bmM2=EC=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qWfOw-0005pM-Lw
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:59:10 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff764f14-3d16-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 17:59:08 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-54-i0EGJBEeNVaRNC0FqMm41g-1; Thu, 17 Aug 2023 11:59:04 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DF0778DC661;
 Thu, 17 Aug 2023 15:59:03 +0000 (UTC)
Received: from localhost (unknown [10.39.193.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 266692166B2E;
 Thu, 17 Aug 2023 15:58:57 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff764f14-3d16-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692287947;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DqE3ktnyuOAHuFbb42a3OaASqR6lydc27pMXxSDwsLA=;
	b=hvcMPRnkbO7N6LqfGn0ntl82uodnRxuiKOZRCbGhw6fZSi5VZqQmHqoIIgDzGpkhrvmv7V
	NRIQxXDpz2pNS514cYy0UcH1l2AX6uRnUsBwJXhfHC3BJww1+WrPzyRGpxObSrKDnhbIXP
	O2MXv5bv/sSbJSR9FOcbCKP87lwrqRw=
X-MC-Unique: i0EGJBEeNVaRNC0FqMm41g-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: <qemu-block@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Julia Suvorova <jusual@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Ilya Maximets <i.maximets@ovn.org>
Subject: [PATCH v2 3/4] virtio: use defer_call() in virtio_irqfd_notify()
Date: Thu, 17 Aug 2023 11:58:46 -0400
Message-ID: <20230817155847.3605115-4-stefanha@redhat.com>
In-Reply-To: <20230817155847.3605115-1-stefanha@redhat.com>
References: <20230817155847.3605115-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6

virtio-blk and virtio-scsi invoke virtio_irqfd_notify() to send Used
Buffer Notifications from an IOThread. This involves an eventfd
write(2) syscall. Calling this repeatedly when completing multiple I/O
requests in a row is wasteful.

Use the defer_call() API to batch together virtio_irqfd_notify() calls
made during thread pool (aio=threads), Linux AIO (aio=native), and
io_uring (aio=io_uring) completion processing.

Behavior is unchanged for emulated devices that do not use
defer_call_begin()/defer_call_end() since defer_call() immediately
invokes the callback when called outside a
defer_call_begin()/defer_call_end() region.

fio rw=randread bs=4k iodepth=64 numjobs=8 IOPS increases by ~9% with a
single IOThread and 8 vCPUs. iodepth=1 decreases by ~1% but this could
be noise. Detailed performance data and configuration specifics are
available here:
https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd

This duplicates the BH that virtio-blk uses for batching. The next
commit will remove it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/io_uring.c   |  6 ++++++
 block/linux-aio.c  |  4 ++++
 hw/virtio/virtio.c | 11 ++++++++++-
 util/thread-pool.c |  5 +++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/block/io_uring.c b/block/io_uring.c
index 3a1e1f45b3..7cdd00e9f1 100644
--- a/block/io_uring.c
+++ b/block/io_uring.c
@@ -125,6 +125,9 @@ static void luring_process_completions(LuringState *s)
 {
     struct io_uring_cqe *cqes;
     int total_bytes;
+
+    defer_call_begin();
+
     /*
      * Request completion callbacks can run the nested event loop.
      * Schedule ourselves so the nested event loop will "see" remaining
@@ -217,7 +220,10 @@ end:
             aio_co_wake(luringcb->co);
         }
     }
+
     qemu_bh_cancel(s->completion_bh);
+
+    defer_call_end();
 }
 
 static int ioq_submit(LuringState *s)
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 62380593c8..ab607ade6a 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -205,6 +205,8 @@ static void qemu_laio_process_completions(LinuxAioState *s)
 {
     struct io_event *events;
 
+    defer_call_begin();
+
     /* Reschedule so nested event loops see currently pending completions */
     qemu_bh_schedule(s->completion_bh);
 
@@ -231,6 +233,8 @@ static void qemu_laio_process_completions(LinuxAioState *s)
      * own `for` loop.  If we are the last all counters droped to zero. */
     s->event_max = 0;
     s->event_idx = 0;
+
+    defer_call_end();
 }
 
 static void qemu_laio_process_completions_and_submit(LinuxAioState *s)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 309038fd46..5eb1f91b41 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -15,6 +15,7 @@
 #include "qapi/error.h"
 #include "qapi/qapi-commands-virtio.h"
 #include "trace.h"
+#include "qemu/defer-call.h"
 #include "qemu/error-report.h"
 #include "qemu/log.h"
 #include "qemu/main-loop.h"
@@ -28,6 +29,7 @@
 #include "hw/virtio/virtio-bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/virtio/virtio-access.h"
+#include "sysemu/block-backend.h"
 #include "sysemu/dma.h"
 #include "sysemu/runstate.h"
 #include "virtio-qmp.h"
@@ -2426,6 +2428,13 @@ static bool virtio_should_notify(VirtIODevice *vdev, VirtQueue *vq)
     }
 }
 
+/* Batch irqs while inside a defer_call_begin()/defer_call_end() section */
+static void virtio_notify_irqfd_deferred_fn(void *opaque)
+{
+    EventNotifier *notifier = opaque;
+    event_notifier_set(notifier);
+}
+
 void virtio_notify_irqfd(VirtIODevice *vdev, VirtQueue *vq)
 {
     WITH_RCU_READ_LOCK_GUARD() {
@@ -2452,7 +2461,7 @@ void virtio_notify_irqfd(VirtIODevice *vdev, VirtQueue *vq)
      * to an atomic operation.
      */
     virtio_set_isr(vq->vdev, 0x1);
-    event_notifier_set(&vq->guest_notifier);
+    defer_call(virtio_notify_irqfd_deferred_fn, &vq->guest_notifier);
 }
 
 static void virtio_irq(VirtQueue *vq)
diff --git a/util/thread-pool.c b/util/thread-pool.c
index e3d8292d14..d84961779a 100644
--- a/util/thread-pool.c
+++ b/util/thread-pool.c
@@ -15,6 +15,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 #include "qemu/osdep.h"
+#include "qemu/defer-call.h"
 #include "qemu/queue.h"
 #include "qemu/thread.h"
 #include "qemu/coroutine.h"
@@ -175,6 +176,8 @@ static void thread_pool_completion_bh(void *opaque)
     ThreadPool *pool = opaque;
     ThreadPoolElement *elem, *next;
 
+    defer_call_begin(); /* cb() may use defer_call() to coalesce work */
+
 restart:
     QLIST_FOREACH_SAFE(elem, &pool->head, all, next) {
         if (elem->state != THREAD_DONE) {
@@ -208,6 +211,8 @@ restart:
             qemu_aio_unref(elem);
         }
     }
+
+    defer_call_end();
 }
 
 static void thread_pool_cancel(BlockAIOCB *acb)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 15:59:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 15:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585499.916684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOz-0006l3-TU; Thu, 17 Aug 2023 15:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585499.916684; Thu, 17 Aug 2023 15:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfOz-0006ko-QC; Thu, 17 Aug 2023 15:59:13 +0000
Received: by outflank-mailman (input) for mailman id 585499;
 Thu, 17 Aug 2023 15:59:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bmM2=EC=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qWfOy-0005Z2-9y
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 15:59:12 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01198b4a-3d17-11ee-877c-cb3800f73035;
 Thu, 17 Aug 2023 17:59:11 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-658-7yVOyLmUM2WaLSvJTzRE3g-1; Thu, 17 Aug 2023 11:59:07 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8B3BF80557B;
 Thu, 17 Aug 2023 15:59:06 +0000 (UTC)
Received: from localhost (unknown [10.39.193.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id E4E302166B2D;
 Thu, 17 Aug 2023 15:59: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: 01198b4a-3d17-11ee-877c-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692287950;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=obCBV9iwAB64Adum28VKvyDjQMxBK5nxC3zXPfKINJY=;
	b=hVe6iKvDHBsNkykgs8kfj4bip3Aco/38rrHN/O/kKUMoLpfiYQzWd4JMfDVmnnb8PtqXaD
	+R4gmKweG0WW5sRLF68NODqymwJBFL7tCDB9XH+1D4StbylmezVOasBjyVCnmIA4eaO6Td
	4qc5YM1EN+qS+GTFh+ir1l0lZt0Dh9E=
X-MC-Unique: 7yVOyLmUM2WaLSvJTzRE3g-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: <qemu-block@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Julia Suvorova <jusual@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Ilya Maximets <i.maximets@ovn.org>
Subject: [PATCH v2 4/4] virtio-blk: remove batch notification BH
Date: Thu, 17 Aug 2023 11:58:47 -0400
Message-ID: <20230817155847.3605115-5-stefanha@redhat.com>
In-Reply-To: <20230817155847.3605115-1-stefanha@redhat.com>
References: <20230817155847.3605115-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6

There is a batching mechanism for virtio-blk Used Buffer Notifications
that is no longer needed because the previous commit added batching to
virtio_notify_irqfd().

Note that this mechanism was rarely used in practice because it is only
enabled when EVENT_IDX is not negotiated by the driver. Modern drivers
enable EVENT_IDX.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/block/dataplane/virtio-blk.c | 48 +--------------------------------
 1 file changed, 1 insertion(+), 47 deletions(-)

diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index da36fcfd0b..f83bb0f116 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -31,9 +31,6 @@ struct VirtIOBlockDataPlane {
 
     VirtIOBlkConf *conf;
     VirtIODevice *vdev;
-    QEMUBH *bh;                     /* bh for guest notification */
-    unsigned long *batch_notify_vqs;
-    bool batch_notifications;
 
     /* Note that these EventNotifiers are assigned by value.  This is
      * fine as long as you do not call event_notifier_cleanup on them
@@ -47,36 +44,7 @@ struct VirtIOBlockDataPlane {
 /* Raise an interrupt to signal guest, if necessary */
 void virtio_blk_data_plane_notify(VirtIOBlockDataPlane *s, VirtQueue *vq)
 {
-    if (s->batch_notifications) {
-        set_bit(virtio_get_queue_index(vq), s->batch_notify_vqs);
-        qemu_bh_schedule(s->bh);
-    } else {
-        virtio_notify_irqfd(s->vdev, vq);
-    }
-}
-
-static void notify_guest_bh(void *opaque)
-{
-    VirtIOBlockDataPlane *s = opaque;
-    unsigned nvqs = s->conf->num_queues;
-    unsigned long bitmap[BITS_TO_LONGS(nvqs)];
-    unsigned j;
-
-    memcpy(bitmap, s->batch_notify_vqs, sizeof(bitmap));
-    memset(s->batch_notify_vqs, 0, sizeof(bitmap));
-
-    for (j = 0; j < nvqs; j += BITS_PER_LONG) {
-        unsigned long bits = bitmap[j / BITS_PER_LONG];
-
-        while (bits != 0) {
-            unsigned i = j + ctzl(bits);
-            VirtQueue *vq = virtio_get_queue(s->vdev, i);
-
-            virtio_notify_irqfd(s->vdev, vq);
-
-            bits &= bits - 1; /* clear right-most bit */
-        }
-    }
+    virtio_notify_irqfd(s->vdev, vq);
 }
 
 /* Context: QEMU global mutex held */
@@ -126,9 +94,6 @@ bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
     } else {
         s->ctx = qemu_get_aio_context();
     }
-    s->bh = aio_bh_new_guarded(s->ctx, notify_guest_bh, s,
-                               &DEVICE(vdev)->mem_reentrancy_guard);
-    s->batch_notify_vqs = bitmap_new(conf->num_queues);
 
     *dataplane = s;
 
@@ -146,8 +111,6 @@ void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s)
 
     vblk = VIRTIO_BLK(s->vdev);
     assert(!vblk->dataplane_started);
-    g_free(s->batch_notify_vqs);
-    qemu_bh_delete(s->bh);
     if (s->iothread) {
         object_unref(OBJECT(s->iothread));
     }
@@ -173,12 +136,6 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev)
 
     s->starting = true;
 
-    if (!virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX)) {
-        s->batch_notifications = true;
-    } else {
-        s->batch_notifications = false;
-    }
-
     /* Set up guest notifier (irq) */
     r = k->set_guest_notifiers(qbus->parent, nvqs, true);
     if (r != 0) {
@@ -370,9 +327,6 @@ void virtio_blk_data_plane_stop(VirtIODevice *vdev)
 
     aio_context_release(s->ctx);
 
-    qemu_bh_cancel(s->bh);
-    notify_guest_bh(s); /* final chance to notify guest */
-
     /* Clean up guest notifier (irq) */
     k->set_guest_notifiers(qbus->parent, nvqs, false);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 16:04:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 16:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585527.916695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWfTx-0001i7-ID; Thu, 17 Aug 2023 16:04:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585527.916695; Thu, 17 Aug 2023 16:04: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 1qWfTx-0001i0-EF; Thu, 17 Aug 2023 16:04:21 +0000
Received: by outflank-mailman (input) for mailman id 585527;
 Thu, 17 Aug 2023 16:04: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=0n1I=EC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWfTx-0001hu-5v
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 16:04:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b93440fb-3d17-11ee-877d-cb3800f73035;
 Thu, 17 Aug 2023 18:04:19 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3C91F4EE0737;
 Thu, 17 Aug 2023 18:04: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: b93440fb-3d17-11ee-877d-cb3800f73035
MIME-Version: 1.0
Date: Thu, 17 Aug 2023 18:04:19 +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>, Wei Liu <wl@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 3/3] drivers/video: make declarations of defined
 functions available
In-Reply-To: <b6827156-70bb-c8b3-c4d0-a8906fd0e7a2@suse.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <cc46049dbdf86cad33f6a9f7ae79851b54cecea1.1692275359.git.nicola.vetrini@bugseng.com>
 <111382a3-0845-99b5-1efa-dfc505084c66@suse.com>
 <b61b9659a790701ec0b20e6c92dfb701@bugseng.com>
 <b6827156-70bb-c8b3-c4d0-a8906fd0e7a2@suse.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <58efe262cd21797df64ea62c1d6d711c@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


>> 
>> Are you saying that CONFIG_VGA implies CONFIG_VIDEO and therefore
>> "#ifdef CONFIG_VGA"
>> at line 14 of vga.h can be used instead of the #ifdefs inherited from
>> the original locations
>> to wrap all the declarations that are being moved?
> 
> Yes - see drivers/video/Kconfig.
> 
> Jan

Ok then. I guess I can make a standalone patch with this modification
if the other patches of this series go in as is.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 17:35:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 17:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585538.916705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWgto-0003Kl-OI; Thu, 17 Aug 2023 17:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585538.916705; Thu, 17 Aug 2023 17:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWgto-0003Ke-LW; Thu, 17 Aug 2023 17:35:08 +0000
Received: by outflank-mailman (input) for mailman id 585538;
 Thu, 17 Aug 2023 17:35: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 1qWgtn-0003KT-TM; Thu, 17 Aug 2023 17:35: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 1qWgtn-00038s-Ol; Thu, 17 Aug 2023 17: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 1qWgtn-0000Dz-By; Thu, 17 Aug 2023 17:35:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWgtn-0005OZ-BU; Thu, 17 Aug 2023 17: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=lmYOJYyadFFJyeMQaQWIK2A4K8kiguT4F72lHnSvjcI=; b=LL8CFBk0l+ZtaoNyvVfPlFNN3a
	ODJZdnUFh+i4H/qPu1XtUDyMxc2U6wtQ0nmj3W+BlEiU9jucCEh2m+YVxM9IaP/Xhlz9DJaN+Ghip
	eWChm51C2sHVutRN9NkF8LlBmOiT9qiIECKoWdX714Y1U9nBkPypZ7z5teABX6c5DopE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182370-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182370: 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=38ba0466a1e262edd031500d24919fbf4e48c794
X-Osstest-Versions-That:
    xen=d0eabe3eaf0db5b78843095a2918d50961e99e96
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 17 Aug 2023 17:35:07 +0000

flight 182370 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182370/

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                  38ba0466a1e262edd031500d24919fbf4e48c794
baseline version:
 xen                  d0eabe3eaf0db5b78843095a2918d50961e99e96

Last test of basis   182353  2023-08-15 19:03:41 Z    1 days
Testing same since   182370  2023-08-17 15:03:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d0eabe3eaf..38ba0466a1  38ba0466a1e262edd031500d24919fbf4e48c794 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 17:55:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 17:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585548.916715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWhDW-0005ob-Cq; Thu, 17 Aug 2023 17:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585548.916715; Thu, 17 Aug 2023 17:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWhDW-0005oU-8s; Thu, 17 Aug 2023 17:55:30 +0000
Received: by outflank-mailman (input) for mailman id 585548;
 Thu, 17 Aug 2023 17:55:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWhDU-0005oO-Qx
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 17:55:29 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e1fead2-3d27-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 19:55:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 572BC60C52;
 Thu, 17 Aug 2023 17:55:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEC8BC433C8;
 Thu, 17 Aug 2023 17:55:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e1fead2-3d27-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692294923;
	bh=zxE7PaU0ZF8DJY1lPzNxRklNqXSPCSGNrnd+soReVVc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ihUQgYZGp84c7lyIL+tSpn/RNrYB6ZHwKcIeZQJn19WQZ+WbcZvpjVw7eu7TeV8Ed
	 Y82BPNqLpocBY81V029VUNo1gokkj+gC3ay3+XtSt8KPjp/U1Uy1fO17PbZiIOn+L1
	 i4ts/aiKHrWuMyqkMHi8wFwIcCna7X9HES03OlmV58AnkzwdoYllqKExDru6s3chyu
	 8sjBzv+9eKmkkzNuUHV9rjd1gTTIjOUsWXDK8a3i55nbnNLLWTev8uxbNuqcPTE8Hk
	 ocDQPAzi4Dg9/1LlOOEHqxrTmLljk4rWAFHeqtxL2tjdFlCA0lrmXBX/QrF20isaIe
	 o1FPecy0lDF4Q==
Date: Thu, 17 Aug 2023 10:55:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 1/2] automation/eclair: update configuration
In-Reply-To: <577236484d748d2941f6fc07b7e4fc3fa7501e95.1692261955.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308171054420.6458@ubuntu-linux-20-04-desktop>
References: <cover.1692261955.git.federico.serafini@bugseng.com> <577236484d748d2941f6fc07b7e4fc3fa7501e95.1692261955.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 Thu, 17 Aug 2023, Federico Serafini wrote:
> Mark more files as "adopted" and configure Rule 8.3 in order to:
> - exclude violations involving the type ret_t;
> - exclude violations involving both an internal and an external file,
>   thus avoiding touching adopted code.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>



> ---
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 29 +++++++++++++++++++
>  .../eclair_analysis/ECLAIR/out_of_scope.ecl   |  3 ++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 696618b59e..d8170106b4 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -175,6 +175,35 @@ const-qualified."
>  -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
> +
> +-doc_begin="The following files are imported from Linux and decompress.h defines a unique and documented interface towards all the (adopted) decompress functions."
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/bunzip2\\.c$"}
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/unlz4\\.c$"}
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/unlzma\\.c$"}
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/unlzo\\.c$"}
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/unxz\\.c$"}
> +-file_tag+={adopted_decompress_r8_3,"^xen/common/unzstd\\.c$"}
> +-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_decompress_r8_3)))&&any_area(any_loc(file(^xen/include/xen/decompress\\.h$)))"}
> +-doc_end
> +
> +-doc_begin="The following file is imported from Linux: ignore for now."
> +-file_tag+={adopted_time_r8_3,"^xen/arch/x86/time\\.c$"}
> +-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_time_r8_3)))&&(any_area(any_loc(file(^xen/include/xen/time\\.h$)))||any_area(any_loc(file(^xen/arch/x86/include/asm/setup\\.h$))))"}
> +-doc_end
> +
> +-doc_begin="The following file is imported from Linux: ignore for now."
> +-file_tag+={adopted_cpu_idle_r8_3,"^xen/arch/x86/acpi/cpu_idle\\.c$"}
> +-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_cpu_idle_r8_3)))&&any_area(any_loc(file(^xen/include/xen/pmstat\\.h$)))"}
> +-doc_end
> +
> +-doc_begin="The following file is imported from Linux: ignore for now."
> +-file_tag+={adopted_mpparse_r8_3,"^xen/arch/x86/mpparse\\.c$"}
> +-config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
> +-doc_end
> +
>  -doc_begin="The following variables are compiled in multiple translation units
>  belonging to different executables and therefore are safe."
>  -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
> diff --git a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
> index 44db6997b5..e1ec4a607c 100644
> --- a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
> +++ b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
> @@ -22,6 +22,9 @@
>  -file_tag+={adopted,"^xen/drivers/acpi/numa\\.c$"}
>  -file_tag+={adopted,"^xen/drivers/acpi/osl\\.c$"}
>  -file_tag+={adopted,"^xen/drivers/acpi/tables\\.c$"}
> +-file_tag+={adopted,"^xen/include/xen/acpi\\.h$"}
> +-file_tag+={adopted,"^xen/include/acpi/acpiosxf\\.h$"}
> +-file_tag+={adopted,"^xen/include/acpi/acpixf\\.h$"}
>  -file_tag+={adopted,"^xen/lib/list-sort\\.c$"}
>  -file_tag+={adopted,"^xen/lib/rbtree\\.c$"}
>  -file_tag+={adopted,"^xen/lib/xxhash.*\\.c$"}
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 17:56:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 17:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585552.916725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWhEE-0006Ja-Kj; Thu, 17 Aug 2023 17:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585552.916725; Thu, 17 Aug 2023 17:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWhEE-0006JT-Gt; Thu, 17 Aug 2023 17:56:14 +0000
Received: by outflank-mailman (input) for mailman id 585552;
 Thu, 17 Aug 2023 17:56:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWhED-0006JI-0w
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 17:56:13 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57397f5c-3d27-11ee-877d-cb3800f73035;
 Thu, 17 Aug 2023 19:56:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D04C36261C;
 Thu, 17 Aug 2023 17:56:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04915C433C8;
 Thu, 17 Aug 2023 17:56: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: 57397f5c-3d27-11ee-877d-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692294966;
	bh=8pPsKjWrw2M5j2gWS8jQb1zqcGnZPgQHzlyvyCWIDLQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=B5uqvWwD1is7B0s8lmisHxUwgjmeEcPB9e1KDgjkXu92shrUjO+QbAPb7QpjVd36V
	 3StAoy79B5gEIIU1GKFx13pUPhUOmF7bWsG7yHRk45jB6vWaxylcKD/kClLc+aNAbE
	 0nI8qWrc62C8WRLQ/gvNrh2pVqQWypW9IVIsZqdVoMvPjkGsZZyOdexF6+NkBl2nwc
	 orPscdcsA74NkNdi5i+lDkAGqjn74Dy6Rki3Ksil6nmUWSfe+LwDRADGJlZMfWaxfO
	 ZYg+clTPPTeoRJ23ZPltjKFRdABHcaWwvW30pKeOQsy8xW777I+pjCgs6HTT+vHgTO
	 CUfqaYT/CfGYA==
Date: Thu, 17 Aug 2023 10:56:03 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2] misra: add more entires to exclude-list.json
In-Reply-To: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308171055570.6458@ubuntu-linux-20-04-desktop>
References: <186af44774dc4670cb1ca0d8238e0620c3d0fc2f.1692266054.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 Thu, 17 Aug 2023, Federico Serafini wrote:
> Add entries to the exclude-list.json for those files that need to be
> excluded from the analysis scan.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
> - fixed indentation.
> ---
>  docs/misra/exclude-list.json | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> index ca1e2dd678..575ed22a7f 100644
> --- a/docs/misra/exclude-list.json
> +++ b/docs/misra/exclude-list.json
> @@ -181,6 +181,18 @@
>              "rel_path": "drivers/video/font_*",
>              "comment": "Imported from Linux, ignore for now"
>          },
> +        {
> +            "rel_path": "include/acpi/acpiosxf.h",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "include/acpi/acpixf.h",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "include/xen/acpi.h",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
>          {
>              "rel_path": "lib/list-sort.c",
>              "comment": "Imported from Linux, ignore for now"
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 18:00:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 18:00:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585560.916734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWhIe-0007z4-4E; Thu, 17 Aug 2023 18:00:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585560.916734; Thu, 17 Aug 2023 18: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 1qWhIe-0007yx-1W; Thu, 17 Aug 2023 18:00:48 +0000
Received: by outflank-mailman (input) for mailman id 585560;
 Thu, 17 Aug 2023 18:00:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWhIc-0007yr-Tu
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 18:00:46 +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 fcaba502-3d27-11ee-877d-cb3800f73035;
 Thu, 17 Aug 2023 20:00:45 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1A882636E4;
 Thu, 17 Aug 2023 18:00:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 62BF9C433C8;
 Thu, 17 Aug 2023 18:00:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcaba502-3d27-11ee-877d-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692295243;
	bh=q+X11AJmd6T2WJlrCSX5q5KLEJjvKVYu6RniQC/RcY4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=U9LYNousMO2F55fr+d35Lu9B51z4Y0Ehe/NsPDAUQU9b1cA2Fvn2HReDkOvtyD7SI
	 esRIUkM260vhHluWlNNBzjFTdhsdZMrJXMkaQs5JDdye/gEaar6LOQIirKdJ1R56iN
	 DlL9E25/G9SbEKksTf9cWexUuUWlfT5v00jebhD3bAJl/eN2bA1nAgD0ZTJG/+tFh5
	 Pcccv6l3dk+hgnF+aQjqMavT/6tiIpGfcVhrD4Wu+F9NRXH2nMcoNlq7Q9WcoyjoLY
	 lAcrMA4sXVvJGMOAAZiIxA5WElzeZ50mwmzl696ouxNIpMI3f6GleVC8MExVm2CO77
	 5Jh5h/lWLPpjg==
Date: Thu, 17 Aug 2023 11:00: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, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 1/3] vm_event: rework inclusions to use arch-indipendent
 header
In-Reply-To: <6ef8207eee081e2c9a3914a14025077fc72b19e6.1692275359.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308171100320.6458@ubuntu-linux-20-04-desktop>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com> <6ef8207eee081e2c9a3914a14025077fc72b19e6.1692275359.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 17 Aug 2023, Nicola Vetrini wrote:
> The arch-specific header <asm/vm_event.h> should be included by the
> common header <xen/vm_event.h>, so that the latter can be included
> in the source files.
> 
> This also resolves violations of MISRA C:2012 Rule 8.4 that were
> caused by declarations for
> 'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
> in <asm/vm_event.h> not being visible when
> defining functions in 'xen/arch/x86/vm_event.c'
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
> - Include the arch-specific header in the common one, and only include
>   the latter in source files.
> 
> The following functions have been mainly touched by the following commits,
> but the present commit does not solve a problem introduced by one of them per se, except perhaps the first one mentioned, which is why I didn't put a Fixes tag in this v2:
> - 975efd3baa8d ("introduce VM_EVENT_FLAG_SET_REGISTERS")
> - adc75eba8b15 ("x86/vm_event: consolidate hvm_event_fill_regs and p2m_vm_event_fill_regs")
> - 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
> ---
>  xen/arch/arm/include/asm/vm_event.h | 1 -
>  xen/arch/arm/vm_event.c             | 2 +-
>  xen/arch/x86/vm_event.c             | 2 +-
>  xen/include/xen/vm_event.h          | 1 +
>  4 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
> index abe7db1970ca..4d861373b38d 100644
> --- a/xen/arch/arm/include/asm/vm_event.h
> +++ b/xen/arch/arm/include/asm/vm_event.h
> @@ -20,7 +20,6 @@
>  #define __ASM_ARM_VM_EVENT_H__
>  
>  #include <xen/sched.h>
> -#include <xen/vm_event.h>
>  #include <public/domctl.h>
>  
>  static inline int vm_event_init_domain(struct domain *d)
> diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
> index ba99f56eb20c..ccfd25bbbca9 100644
> --- a/xen/arch/arm/vm_event.c
> +++ b/xen/arch/arm/vm_event.c
> @@ -8,7 +8,7 @@
>   */
>  
>  #include <xen/sched.h>
> -#include <asm/vm_event.h>
> +#include <xen/vm_event.h>
>  
>  void vm_event_fill_regs(vm_event_request_t *req)
>  {
> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
> index 7027c08a926b..e6c7ad5337dd 100644
> --- a/xen/arch/x86/vm_event.c
> +++ b/xen/arch/x86/vm_event.c
> @@ -20,7 +20,7 @@
>  
>  #include <xen/sched.h>
>  #include <xen/mem_access.h>
> -#include <asm/vm_event.h>
> +#include <xen/vm_event.h>
>  
>  /* Implicitly serialized by the domctl lock. */
>  int vm_event_init_domain(struct domain *d)
> diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
> index 92811d9110e5..9a86358b42ae 100644
> --- a/xen/include/xen/vm_event.h
> +++ b/xen/include/xen/vm_event.h
> @@ -25,6 +25,7 @@
>  
>  #include <xen/sched.h>
>  #include <public/vm_event.h>
> +#include <asm/vm_event.h>
>  
>  struct vm_event_domain
>  {
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 20:45:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 20:45:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585625.916778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWjrx-0001Ir-2G; Thu, 17 Aug 2023 20:45:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585625.916778; Thu, 17 Aug 2023 20: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 1qWjrw-0001Ik-Vs; Thu, 17 Aug 2023 20:45:24 +0000
Received: by outflank-mailman (input) for mailman id 585625;
 Thu, 17 Aug 2023 20:45:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E+2S=EC=citrix.com=prvs=586922e9e=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWjrv-0001Id-DN
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 20:45:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa16f209-3d3e-11ee-9b0c-b553b5be7939;
 Thu, 17 Aug 2023 22:45: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: fa16f209-3d3e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692305120;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=D/jAkRt1KfcvpKAFpb9VU/UhXCXuaJgh+NGAJP3wVWI=;
  b=Jrx1i2ipZaioGY9y0RJ4veWs8rjBcTBGl9wMJg1w/Dczv6a/IxbvI2A0
   SAr4axtQVcBw9IROlRARe9JUt0vQcgkBAqOxw1ds+OlXTw2VWUJAoooF8
   /MNFVN/3osaU+wELS97u0VMuSU6cwqpxM2BlHj3UtUaLM39akE62NgAWA
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118505682
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:15h1TqsOPUvj7Wx+MoWDdRdEW+fnVEpeMUV32f8akzHdYApBsoF/q
 tZmKTuHP6mLNmukeookPtiwp0IHvZXcz4IxTlRp+ShhFC0Q+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+HyCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwJRFSQCuj186NmZmGSOowpdskCpbABdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 zuWojykXEFAXDCZ4Sjb9FKHtsTkpHzQY7wuPeOFzNlEsULGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOq8seVTEsk
 FiTkLvU6SdH6ePPDyjHr/HN8G30YHJORYMfWcMaZQYkvPfYgNEftUvkc9RgTI2qifuqMgill
 lhmsxMCr7kUiMcK0YCy8lbGny+gq/D1c+Il2unEdjn7t10kPeZJc6TtsAGGtqgYcO51W3Hb5
 BA5d96iAPfi5H1nvAiEW60zEb6g/J5p2xWM0Ac0T/HNG9lAkkNPnLy8AhkkdC+F0e5eI1cFh
 XM/XisIvPdu0IOCN/MfXm5II51CIVLcPdrkTOvISdFFf4J8cgSKlAk3Ox/KhTGyyBl1yv9hU
 Xt+TSpKJSxKYUiA5GDqL9rxLJdxnnxurY8tbcGTI+ubPUq2OyfOFOZt3KqmZeEl9qKUyDg5A
 P4GX/ZmPy53CbWkCgGOqN57ELz/BSRjbXwAg5ANJ7Hrz8sPMD1JNsI9Npt6J9E9wvkLyLqgE
 7PUchYw9WcTTEbvcW2iAk2Popu2NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:DQetjqog3zIBrQvc1tAY68YaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsiMc6QxhPE3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakvDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-Talos-CUID: =?us-ascii?q?9a23=3Aml/7G2obtG4CX1nGJhgZPvrmUc0ELVPm7Cf8GBa?=
 =?us-ascii?q?TNGRqFJ6KTnnP05oxxg=3D=3D?=
X-Talos-MUID: 9a23:2abbtAul1bZLoxb19M2nlm9kFOxYyI+XV2s2r6kv5fS+EgJBJGLI
X-IronPort-AV: E=Sophos;i="6.01,180,1684814400"; 
   d="scan'208";a="118505682"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] rombios: Work around GCC issue 99578
Date: Thu, 17 Aug 2023 21:45:06 +0100
Message-ID: <20230817204506.34827-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

GCC 12 objects to pointers derived from a constant:

  util.c: In function 'find_rsdp':
  util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
    429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
  cc1: all warnings being treated as errors

This is a GCC bug, but work around it rather than turning array-bounds
checking off generally.

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>

This only manifests in release builds, presumably a side effect of neediung
some constant-folding to notice the ADDR_FROM_SEG_OFF() expression.

We don't see this in CI because debug isn't configured correctly for the
tools/ part of the build
---
 tools/firmware/rombios/32bit/util.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/rombios/32bit/util.c b/tools/firmware/rombios/32bit/util.c
index 6c1c4805144b..a47e000a2629 100644
--- a/tools/firmware/rombios/32bit/util.c
+++ b/tools/firmware/rombios/32bit/util.c
@@ -424,10 +424,10 @@ static struct acpi_20_rsdp *__find_rsdp(const void *start, unsigned int len)
 struct acpi_20_rsdp *find_rsdp(void)
 {
     struct acpi_20_rsdp *rsdp;
-    uint16_t ebda_seg;
+    uint16_t *volatile /* GCC issue 99578 */ ebda_seg =
+        ADDR_FROM_SEG_OFF(0x40, 0xe);
 
-    ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
-    rsdp = __find_rsdp((void *)(ebda_seg << 16), 1024);
+    rsdp = __find_rsdp((void *)(*ebda_seg << 16), 1024);
     if (!rsdp)
         rsdp = __find_rsdp((void *)0xE0000, 0x20000);
 

base-commit: d0eabe3eaf0db5b78843095a2918d50961e99e96
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 21:44:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 21:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585634.916788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmn-0007iG-5S; Thu, 17 Aug 2023 21:44:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585634.916788; Thu, 17 Aug 2023 21:44: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 1qWkmn-0007i9-2w; Thu, 17 Aug 2023 21:44:09 +0000
Received: by outflank-mailman (input) for mailman id 585634;
 Thu, 17 Aug 2023 21:44:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWkml-0007hx-CP
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 21:44:07 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkml-0001Ja-2k; Thu, 17 Aug 2023 21:44:07 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkmk-0002Ab-QJ; Thu, 17 Aug 2023 21:44:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=GuQY1S0IKRpg79xq/AqjyzN/9Y7Flg4Rjxb/ukFW0PQ=; b=Q25gQ2
	JR8S4E19dbsuW+T1z1mvglr6zqJf6DkbrpGp3z1FVB37omYcwd4/IEGJRn1bs9txS+OoolNStWzaj
	O9p9rKYlaY7nbwr7dvdn+OZ79jApdMovC/HycynrKxE78Da9u+5SdlX3VfjbpCrfCK1zEk3042RPk
	eX77fjyITtY=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/3] xen/arm: Some clean-up found with -Wconversion and -Warith-conversion
Date: Thu, 17 Aug 2023 22:43:53 +0100
Message-Id: <20230817214356.47174-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This is a small series to fix some of the issues found while playing
with -Wconversion and -Warith-conversion.

There are a lot more but the bulk are in
 - bitmap
 - cpumask
 - nodemask
 - bitops/atomics
 - find_*

Some are not too difficult to address but other there are even
prototype conflicts between arm x86.

Cheers,

Julien Grall (3):
  xen/arm: vmmio: The number of entries cannot be negative
  xen/arm: vgic: Use 'unsigned int' rather than 'int' whenever it is
    possible
  xen/public: arch-arm: All PSR_* defines should be unsigned

 xen/arch/arm/domain.c           |  3 +-
 xen/arch/arm/include/asm/mmio.h |  6 ++--
 xen/arch/arm/include/asm/vgic.h | 17 ++++++-----
 xen/arch/arm/io.c               |  2 +-
 xen/arch/arm/vgic-v2.c          | 14 +++++++--
 xen/arch/arm/vgic-v3.c          |  2 +-
 xen/arch/arm/vgic.c             | 23 ++++++++-------
 xen/arch/arm/vgic/vgic-init.c   |  2 +-
 xen/include/public/arch-arm.h   | 52 ++++++++++++++++-----------------
 9 files changed, 68 insertions(+), 53 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 21:44:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 21:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585635.916800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmo-0007xA-FL; Thu, 17 Aug 2023 21:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585635.916800; Thu, 17 Aug 2023 21:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmo-0007x3-A8; Thu, 17 Aug 2023 21:44:10 +0000
Received: by outflank-mailman (input) for mailman id 585635;
 Thu, 17 Aug 2023 21:44: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 1qWkmm-0007i3-Bm
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 21:44: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 1qWkmm-0001Ji-3m; Thu, 17 Aug 2023 21:44:08 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkml-0002Ab-Py; Thu, 17 Aug 2023 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=I7zoXV1nPGurVpsLsqbHeCL12heA5HUJVOTneiY8xyg=; b=I8TCtvUc18bxbcOXepyZEsUMf6
	RBvc/Ya+AiTVoH5ExncbXUnBbdkYaKccjSf3Pg5qomedQFiwOeUSfo9wYbJUcJUB8xNuT96BfXfHk
	+yJexMafoe4MtnGypuF+r8GIW3qFBD3waSismQK/4/UsQApyJTlwcfS6a0iFILT6OujU=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/3] xen/arm: vmmio: The number of entries cannot be negative
Date: Thu, 17 Aug 2023 22:43:54 +0100
Message-Id: <20230817214356.47174-2-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230817214356.47174-1-julien@xen.org>
References: <20230817214356.47174-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The number of virtual MMIO regions cannot be negative. So switch
the field 'num_entries' and 'max_num_entries' to 'unsigned int'.

The new type is then propagated to the caller and the vGIC
code.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/domain.c           | 3 ++-
 xen/arch/arm/include/asm/mmio.h | 6 +++---
 xen/arch/arm/include/asm/vgic.h | 6 +++---
 xen/arch/arm/io.c               | 2 +-
 xen/arch/arm/vgic-v2.c          | 2 +-
 xen/arch/arm/vgic-v3.c          | 2 +-
 xen/arch/arm/vgic.c             | 2 +-
 xen/arch/arm/vgic/vgic-init.c   | 2 +-
 8 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 6113ca785c78..28e3aaa5e482 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -694,7 +694,8 @@ int arch_domain_create(struct domain *d,
                        struct xen_domctl_createdomain *config,
                        unsigned int flags)
 {
-    int rc, count = 0;
+    unsigned int count = 0;
+    int rc;
 
     BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
 
diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
index 79e64d9af804..b22cfdac5be9 100644
--- a/xen/arch/arm/include/asm/mmio.h
+++ b/xen/arch/arm/include/asm/mmio.h
@@ -75,8 +75,8 @@ struct mmio_handler {
 };
 
 struct vmmio {
-    int num_entries;
-    int max_num_entries;
+    unsigned int num_entries;
+    unsigned int max_num_entries;
     rwlock_t lock;
     struct mmio_handler *handlers;
 };
@@ -86,7 +86,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
 void register_mmio_handler(struct domain *d,
                            const struct mmio_handler_ops *ops,
                            paddr_t addr, paddr_t size, void *priv);
-int domain_io_init(struct domain *d, int max_count);
+int domain_io_init(struct domain *d, unsigned int max_count);
 void domain_io_free(struct domain *d);
 
 void try_decode_instruction(const struct cpu_user_regs *regs,
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index aa9f49409edc..6901a05c0669 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -304,8 +304,8 @@ extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n);
 extern void vgic_set_irqs_pending(struct vcpu *v, uint32_t r,
                                   unsigned int rank);
 extern void register_vgic_ops(struct domain *d, const struct vgic_ops *ops);
-int vgic_v2_init(struct domain *d, int *mmio_count);
-int vgic_v3_init(struct domain *d, int *mmio_count);
+int vgic_v2_init(struct domain *d, unsigned int *mmio_count);
+int vgic_v3_init(struct domain *d, unsigned int *mmio_count);
 
 extern bool vgic_to_sgi(struct vcpu *v, register_t sgir,
                         enum gic_sgi_mode irqmode, int virq,
@@ -352,7 +352,7 @@ int vgic_connect_hw_irq(struct domain *d, struct vcpu *v, unsigned int virq,
 
 bool vgic_evtchn_irq_pending(struct vcpu *v);
 
-int domain_vgic_register(struct domain *d, int *mmio_count);
+int domain_vgic_register(struct domain *d, unsigned int *mmio_count);
 int domain_vgic_init(struct domain *d, unsigned int nr_spis);
 void domain_vgic_free(struct domain *d);
 int vcpu_vgic_init(struct vcpu *v);
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 172583df047f..96c740d5636c 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -224,7 +224,7 @@ void register_mmio_handler(struct domain *d,
     write_unlock(&vmmio->lock);
 }
 
-int domain_io_init(struct domain *d, int max_count)
+int domain_io_init(struct domain *d, unsigned int max_count)
 {
     rwlock_init(&d->arch.vmmio.lock);
     d->arch.vmmio.num_entries = 0;
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index 35363fee098c..2a2eda2e6f4c 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -731,7 +731,7 @@ static const struct vgic_ops vgic_v2_ops = {
     .lpi_get_priority = vgic_v2_lpi_get_priority,
 };
 
-int vgic_v2_init(struct domain *d, int *mmio_count)
+int vgic_v2_init(struct domain *d, unsigned int *mmio_count)
 {
     if ( !vgic_v2_hw.enabled )
     {
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 1b7173da1e30..05a009409ab8 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1812,7 +1812,7 @@ static const struct vgic_ops v3_ops = {
     .lpi_get_priority = vgic_v3_lpi_get_priority,
 };
 
-int vgic_v3_init(struct domain *d, int *mmio_count)
+int vgic_v3_init(struct domain *d, unsigned int *mmio_count)
 {
     if ( !vgic_v3_hw.enabled )
     {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 97d6f6106638..afcac791fe4b 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -85,7 +85,7 @@ static void vgic_rank_init(struct vgic_irq_rank *rank, uint8_t index,
         write_atomic(&rank->vcpu[i], vcpu);
 }
 
-int domain_vgic_register(struct domain *d, int *mmio_count)
+int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
 {
     switch ( d->arch.vgic.version )
     {
diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index 76b85ea8231b..f8d7d3a226d0 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -101,7 +101,7 @@ static void vgic_vcpu_early_init(struct vcpu *vcpu)
  *
  * was: kvm_vgic_create
  */
-int domain_vgic_register(struct domain *d, int *mmio_count)
+int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
 {
     switch ( d->arch.vgic.version )
     {
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 21:44:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 21:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585636.916803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmo-0007zp-MT; Thu, 17 Aug 2023 21:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585636.916803; Thu, 17 Aug 2023 21:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmo-0007yr-IV; Thu, 17 Aug 2023 21:44:10 +0000
Received: by outflank-mailman (input) for mailman id 585636;
 Thu, 17 Aug 2023 21:44:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWkmn-0007lX-C1
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 21:44:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkmn-0001Js-1B; Thu, 17 Aug 2023 21:44:09 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkmm-0002Ab-Pc; Thu, 17 Aug 2023 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=HOx7KcHWdle0ndOCiC58sx0R5zIf10VdDWt0IaCNQVk=; b=ZqW8KXM7dGB+JRj8ojvGoRkmmL
	LLvdJeoS6hheb67sJZE7PRYZiIUsdGiEfbB9MwBxKsxlEmAtQ1jcS3OTOHaj3jy9rF0oQkHNogdw8
	VLAZIEIbdRHZC9hEiuImQpv4+7KZyAipZfezM4EEnZNEp3eoHFD9GfHSG3Afh6AVZ0+k=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int' whenever it is possible
Date: Thu, 17 Aug 2023 22:43:55 +0100
Message-Id: <20230817214356.47174-3-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230817214356.47174-1-julien@xen.org>
References: <20230817214356.47174-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Switch to unsigned int for the return/parameters of the following
functions:
    * REG_RANK_NR(): 'b' (number of bits) and the return is always positive.
      'n' doesn't need to be size specific.
    * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
      's' (size of the access) are always positive.
    * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
    * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
      index) are always positive.

Take the opportunity to propogate the unsignedness to the local
variable used for the arguments.

This will remove some of the warning reported by GCC 12.2.1 when
passing the flags -Wsign-conversion/-Wconversion.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/include/asm/vgic.h | 11 +++++++----
 xen/arch/arm/vgic-v2.c          | 12 ++++++++++--
 xen/arch/arm/vgic.c             | 21 ++++++++++++---------
 3 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index 6901a05c0669..922779ce146a 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -252,7 +252,7 @@ struct vgic_ops {
  * Rank containing GICD_<FOO><n> for GICD_<FOO> with
  * <b>-bits-per-interrupt
  */
-static inline int REG_RANK_NR(int b, uint32_t n)
+static inline unsigned int REG_RANK_NR(unsigned int b, unsigned int n)
 {
     switch ( b )
     {
@@ -297,10 +297,13 @@ extern void gic_remove_from_lr_pending(struct vcpu *v, struct pending_irq *p);
 extern void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq);
 extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq);
 extern struct pending_irq *spi_to_pending(struct domain *d, unsigned int irq);
-extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n, int s);
+extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v,
+                                              unsigned int b,
+                                              unsigned int n,
+                                              unsigned int s);
 extern struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq);
-extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n);
-extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n);
+extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
+extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
 extern void vgic_set_irqs_pending(struct vcpu *v, uint32_t r,
                                   unsigned int rank);
 extern void register_vgic_ops(struct domain *d, const struct vgic_ops *ops);
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index 2a2eda2e6f4c..0aa10fff0f10 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -161,7 +161,11 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info,
 {
     struct hsr_dabt dabt = info->dabt;
     struct vgic_irq_rank *rank;
-    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
+    /*
+     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
+     * the difference will always be smaller than 32-bit.
+     */
+    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
     unsigned long flags;
 
     perfc_incr(vgicd_reads);
@@ -403,7 +407,11 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info,
 {
     struct hsr_dabt dabt = info->dabt;
     struct vgic_irq_rank *rank;
-    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
+    /*
+     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
+     * the difference will always be smaller than 32-bit.
+     */
+    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
     uint32_t tr;
     unsigned long flags;
 
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index afcac791fe4b..269b804974e0 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -24,7 +24,8 @@
 #include <asm/gic.h>
 #include <asm/vgic.h>
 
-static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
+static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v,
+                                                  unsigned int rank)
 {
     if ( rank == 0 )
         return v->arch.vgic.private_irqs;
@@ -38,17 +39,17 @@ static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
  * Returns rank corresponding to a GICD_<FOO><n> register for
  * GICD_<FOO> with <b>-bits-per-interrupt.
  */
-struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n,
-                                              int s)
+struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, unsigned int b,
+                                       unsigned int n, unsigned int s)
 {
-    int rank = REG_RANK_NR(b, (n >> s));
+    unsigned int rank = REG_RANK_NR(b, (n >> s));
 
     return vgic_get_rank(v, rank);
 }
 
 struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq)
 {
-    int rank = irq/32;
+    unsigned int rank = irq / 32;
 
     return vgic_get_rank(v, rank);
 }
@@ -324,14 +325,14 @@ void arch_move_irqs(struct vcpu *v)
     }
 }
 
-void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
+void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
 {
     const unsigned long mask = r;
     struct pending_irq *p;
     struct irq_desc *desc;
     unsigned int irq;
     unsigned long flags;
-    int i = 0;
+    unsigned int i = 0;
     struct vcpu *v_target;
 
     /* LPIs will never be disabled via this function. */
@@ -361,7 +362,9 @@ void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
 #define VGIC_ICFG_MASK(intr) (1U << ((2 * ((intr) % 16)) + 1))
 
 /* The function should be called with the rank lock taken */
-static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
+static inline unsigned int vgic_get_virq_type(struct vcpu *v,
+                                              unsigned int n,
+                                              unsigned int index)
 {
     struct vgic_irq_rank *r = vgic_get_rank(v, n);
     uint32_t tr = r->icfg[index >> 4];
@@ -374,7 +377,7 @@ static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
         return IRQ_TYPE_LEVEL_HIGH;
 }
 
-void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
+void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
 {
     const unsigned long mask = r;
     struct pending_irq *p;
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 21:44:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 21:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585637.916812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWkmp-00088g-4w; Thu, 17 Aug 2023 21:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585637.916812; Thu, 17 Aug 2023 21: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 1qWkmo-00087S-T9; Thu, 17 Aug 2023 21:44:10 +0000
Received: by outflank-mailman (input) for mailman id 585637;
 Thu, 17 Aug 2023 21:44:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWkmo-0007wy-8n
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 21:44:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkmo-0001Kn-0d; Thu, 17 Aug 2023 21:44:10 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWkmn-0002Ab-PI; Thu, 17 Aug 2023 21:44:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=+HktoAPJl+g/kSxPYwPyXQAcUUkLIppr+tW9RDnrz7w=; b=Lz29J5VJzuf2FD1iFxADa2ecDH
	pK5D9eZwpml1cfAhoAl0tK16++5rwyeVWmZcfWht/G3db2mPfTGyh3Bksoe+6WOl2BtdaZjLsbHuN
	qA5b+OG9OI3xm4nMfICZllZ6167TF7QaUl7tspNr/LuI6ra5AGGwtzIb+Od/cSRZ0ymo=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be unsigned
Date: Thu, 17 Aug 2023 22:43:56 +0100
Message-Id: <20230817214356.47174-4-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230817214356.47174-1-julien@xen.org>
References: <20230817214356.47174-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The defines PSR_* are field in registers and always unsigned. So
add 'U' to clarify.

This should help with MISRA Rule 7.2.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/include/public/arch-arm.h | 52 +++++++++++++++++------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index c6449893e493..492819ad22c9 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
 
 /* PSR bits (CPSR, SPSR) */
 
-#define PSR_THUMB       (1<<5)        /* Thumb Mode enable */
-#define PSR_FIQ_MASK    (1<<6)        /* Fast Interrupt mask */
-#define PSR_IRQ_MASK    (1<<7)        /* Interrupt mask */
-#define PSR_ABT_MASK    (1<<8)        /* Asynchronous Abort mask */
-#define PSR_BIG_ENDIAN  (1<<9)        /* arm32: Big Endian Mode */
-#define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
-#define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
-#define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
-#define PSR_Z           (1<<30)       /* Zero condition flag */
+#define PSR_THUMB       (1U <<5)      /* Thumb Mode enable */
+#define PSR_FIQ_MASK    (1U <<6)      /* Fast Interrupt mask */
+#define PSR_IRQ_MASK    (1U <<7)      /* Interrupt mask */
+#define PSR_ABT_MASK    (1U <<8)      /* Asynchronous Abort mask */
+#define PSR_BIG_ENDIAN  (1U << 9)     /* arm32: Big Endian Mode */
+#define PSR_DBG_MASK    (1U << 9)     /* arm64: Debug Exception mask */
+#define PSR_IT_MASK     (0x0600fc00U) /* Thumb If-Then Mask */
+#define PSR_JAZELLE     (1U << 24)    /* Jazelle Mode */
+#define PSR_Z           (1U << 30)    /* Zero condition flag */
 
 /* 32 bit modes */
-#define PSR_MODE_USR 0x10
-#define PSR_MODE_FIQ 0x11
-#define PSR_MODE_IRQ 0x12
-#define PSR_MODE_SVC 0x13
-#define PSR_MODE_MON 0x16
-#define PSR_MODE_ABT 0x17
-#define PSR_MODE_HYP 0x1a
-#define PSR_MODE_UND 0x1b
-#define PSR_MODE_SYS 0x1f
+#define PSR_MODE_USR 0x10U
+#define PSR_MODE_FIQ 0x11U
+#define PSR_MODE_IRQ 0x12U
+#define PSR_MODE_SVC 0x13U
+#define PSR_MODE_MON 0x16U
+#define PSR_MODE_ABT 0x17U
+#define PSR_MODE_HYP 0x1aU
+#define PSR_MODE_UND 0x1bU
+#define PSR_MODE_SYS 0x1fU
 
 /* 64 bit modes */
-#define PSR_MODE_BIT  0x10 /* Set iff AArch32 */
-#define PSR_MODE_EL3h 0x0d
-#define PSR_MODE_EL3t 0x0c
-#define PSR_MODE_EL2h 0x09
-#define PSR_MODE_EL2t 0x08
-#define PSR_MODE_EL1h 0x05
-#define PSR_MODE_EL1t 0x04
-#define PSR_MODE_EL0t 0x00
+#define PSR_MODE_BIT  0x10U /* Set iff AArch32 */
+#define PSR_MODE_EL3h 0x0dU
+#define PSR_MODE_EL3t 0x0cU
+#define PSR_MODE_EL2h 0x09U
+#define PSR_MODE_EL2t 0x08U
+#define PSR_MODE_EL1h 0x05U
+#define PSR_MODE_EL1t 0x04U
+#define PSR_MODE_EL0t 0x00U
 
 /*
  * We set PSR_Z to be able to boot Linux kernel versions with an invalid
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 17 22:58:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 22:58:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585659.916829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWlwP-000078-GE; Thu, 17 Aug 2023 22:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585659.916829; Thu, 17 Aug 2023 22: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 1qWlwP-00006y-Cd; Thu, 17 Aug 2023 22:58:09 +0000
Received: by outflank-mailman (input) for mailman id 585659;
 Thu, 17 Aug 2023 22: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=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWlwN-00006n-La
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 22:58:07 +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 84617a81-3d51-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 00:58:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1FC3A617D5;
 Thu, 17 Aug 2023 22:58:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8207DC433C8;
 Thu, 17 Aug 2023 22:57:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84617a81-3d51-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692313080;
	bh=9pWg9ZAP3oO595t4vbf2cp6nnRkMPEXuRJfNRTj+eEs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=X2A7oPYvYOqMezcnRMECw4YWk6tSmxrCO+eEQMQVwUh7haxhiayFWbcH0aaRJ4F7t
	 XEmQfojvgYE2Ss5pkZnyviJrs0RQL8O57qD5+Xj3zuxySQzivy0iE3u38OWqs4YTYH
	 5Y6ntHLd3fXHoTKyXsmKbe5YBccw/AdJSV7WVTqMShVG4gSGiWlrq/MUohpQNklJw1
	 Jd6ugHJWV6D4GlJHBQFknP963brSttUK+U4733eeLPhiyXLXOYuEGV4MXepz1Ue7Rv
	 2cVAbYA1ExnJuSeGSOEF3ZYDNcTFXQNlvLgmStJKKh9FUx1ta8iS60sx9n+gp2j50Y
	 JTDD/IhcLyDNA==
Date: Thu, 17 Aug 2023 15:57:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    roberto.bagnara@bugseng.com
Subject: Re: [PATCH 1/3] xen/arm: vmmio: The number of entries cannot be
 negative
In-Reply-To: <20230817214356.47174-2-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308171557230.6458@ubuntu-linux-20-04-desktop>
References: <20230817214356.47174-1-julien@xen.org> <20230817214356.47174-2-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 17 Aug 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The number of virtual MMIO regions cannot be negative. So switch
> the field 'num_entries' and 'max_num_entries' to 'unsigned int'.
> 
> The new type is then propagated to the caller and the vGIC
> code.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/domain.c           | 3 ++-
>  xen/arch/arm/include/asm/mmio.h | 6 +++---
>  xen/arch/arm/include/asm/vgic.h | 6 +++---
>  xen/arch/arm/io.c               | 2 +-
>  xen/arch/arm/vgic-v2.c          | 2 +-
>  xen/arch/arm/vgic-v3.c          | 2 +-
>  xen/arch/arm/vgic.c             | 2 +-
>  xen/arch/arm/vgic/vgic-init.c   | 2 +-
>  8 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 6113ca785c78..28e3aaa5e482 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -694,7 +694,8 @@ int arch_domain_create(struct domain *d,
>                         struct xen_domctl_createdomain *config,
>                         unsigned int flags)
>  {
> -    int rc, count = 0;
> +    unsigned int count = 0;
> +    int rc;
>  
>      BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>  
> diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
> index 79e64d9af804..b22cfdac5be9 100644
> --- a/xen/arch/arm/include/asm/mmio.h
> +++ b/xen/arch/arm/include/asm/mmio.h
> @@ -75,8 +75,8 @@ struct mmio_handler {
>  };
>  
>  struct vmmio {
> -    int num_entries;
> -    int max_num_entries;
> +    unsigned int num_entries;
> +    unsigned int max_num_entries;
>      rwlock_t lock;
>      struct mmio_handler *handlers;
>  };
> @@ -86,7 +86,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>  void register_mmio_handler(struct domain *d,
>                             const struct mmio_handler_ops *ops,
>                             paddr_t addr, paddr_t size, void *priv);
> -int domain_io_init(struct domain *d, int max_count);
> +int domain_io_init(struct domain *d, unsigned int max_count);
>  void domain_io_free(struct domain *d);
>  
>  void try_decode_instruction(const struct cpu_user_regs *regs,
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
> index aa9f49409edc..6901a05c0669 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -304,8 +304,8 @@ extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n);
>  extern void vgic_set_irqs_pending(struct vcpu *v, uint32_t r,
>                                    unsigned int rank);
>  extern void register_vgic_ops(struct domain *d, const struct vgic_ops *ops);
> -int vgic_v2_init(struct domain *d, int *mmio_count);
> -int vgic_v3_init(struct domain *d, int *mmio_count);
> +int vgic_v2_init(struct domain *d, unsigned int *mmio_count);
> +int vgic_v3_init(struct domain *d, unsigned int *mmio_count);
>  
>  extern bool vgic_to_sgi(struct vcpu *v, register_t sgir,
>                          enum gic_sgi_mode irqmode, int virq,
> @@ -352,7 +352,7 @@ int vgic_connect_hw_irq(struct domain *d, struct vcpu *v, unsigned int virq,
>  
>  bool vgic_evtchn_irq_pending(struct vcpu *v);
>  
> -int domain_vgic_register(struct domain *d, int *mmio_count);
> +int domain_vgic_register(struct domain *d, unsigned int *mmio_count);
>  int domain_vgic_init(struct domain *d, unsigned int nr_spis);
>  void domain_vgic_free(struct domain *d);
>  int vcpu_vgic_init(struct vcpu *v);
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 172583df047f..96c740d5636c 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -224,7 +224,7 @@ void register_mmio_handler(struct domain *d,
>      write_unlock(&vmmio->lock);
>  }
>  
> -int domain_io_init(struct domain *d, int max_count)
> +int domain_io_init(struct domain *d, unsigned int max_count)
>  {
>      rwlock_init(&d->arch.vmmio.lock);
>      d->arch.vmmio.num_entries = 0;
> diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
> index 35363fee098c..2a2eda2e6f4c 100644
> --- a/xen/arch/arm/vgic-v2.c
> +++ b/xen/arch/arm/vgic-v2.c
> @@ -731,7 +731,7 @@ static const struct vgic_ops vgic_v2_ops = {
>      .lpi_get_priority = vgic_v2_lpi_get_priority,
>  };
>  
> -int vgic_v2_init(struct domain *d, int *mmio_count)
> +int vgic_v2_init(struct domain *d, unsigned int *mmio_count)
>  {
>      if ( !vgic_v2_hw.enabled )
>      {
> diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
> index 1b7173da1e30..05a009409ab8 100644
> --- a/xen/arch/arm/vgic-v3.c
> +++ b/xen/arch/arm/vgic-v3.c
> @@ -1812,7 +1812,7 @@ static const struct vgic_ops v3_ops = {
>      .lpi_get_priority = vgic_v3_lpi_get_priority,
>  };
>  
> -int vgic_v3_init(struct domain *d, int *mmio_count)
> +int vgic_v3_init(struct domain *d, unsigned int *mmio_count)
>  {
>      if ( !vgic_v3_hw.enabled )
>      {
> diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
> index 97d6f6106638..afcac791fe4b 100644
> --- a/xen/arch/arm/vgic.c
> +++ b/xen/arch/arm/vgic.c
> @@ -85,7 +85,7 @@ static void vgic_rank_init(struct vgic_irq_rank *rank, uint8_t index,
>          write_atomic(&rank->vcpu[i], vcpu);
>  }
>  
> -int domain_vgic_register(struct domain *d, int *mmio_count)
> +int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
>  {
>      switch ( d->arch.vgic.version )
>      {
> diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
> index 76b85ea8231b..f8d7d3a226d0 100644
> --- a/xen/arch/arm/vgic/vgic-init.c
> +++ b/xen/arch/arm/vgic/vgic-init.c
> @@ -101,7 +101,7 @@ static void vgic_vcpu_early_init(struct vcpu *vcpu)
>   *
>   * was: kvm_vgic_create
>   */
> -int domain_vgic_register(struct domain *d, int *mmio_count)
> +int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
>  {
>      switch ( d->arch.vgic.version )
>      {
> -- 
> 2.40.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 23:04:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 23:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585665.916839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWm2D-0001fg-3i; Thu, 17 Aug 2023 23:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585665.916839; Thu, 17 Aug 2023 23: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 1qWm2D-0001fZ-0m; Thu, 17 Aug 2023 23:04:09 +0000
Received: by outflank-mailman (input) for mailman id 585665;
 Thu, 17 Aug 2023 23:04:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWm2B-0001fT-IN
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 23:04:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c4dee9c-3d52-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 01:04:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7120660C95;
 Thu, 17 Aug 2023 23:04:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 06725C433C7;
 Thu, 17 Aug 2023 23:04: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: 5c4dee9c-3d52-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692313442;
	bh=BfAtrLRPI9bnMbVk3PP4P8Y3JuLz7CUHhnAKOw5MvSM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Bwp9w5twV+Ziy0WXorX+uFFMwT6DYOY+asL5lJoDUnBlgelrw7+Bj4VHO0e2lp/P8
	 mpJ6P7j2FXd9FRtyQdfnEBtaUkuloZjBwhME74qhfpjvS9ZyFpJItLxAXsn/vZqWHM
	 HuBmd+NDgBxF3XTRHPyna/4+TkpS37Xq6BDN9FYHTklZK3tfq5A7HI1jlfwK6AqVPt
	 nsitpzoJKTekzIBiUxLs+RrssmsXXdw/HZB09UYz9f2dUib3qHHnSY6u33t4FPG8v6
	 aHGlVTe9M+enLSPhX4qTFY3jyUy9cvp09xVj5UmUNpUGHhY4881ei2pbu439EOJKyC
	 uopVNf2ASDm9Q==
Date: Thu, 17 Aug 2023 16:04:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
In-Reply-To: <20230817214356.47174-3-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308171602450.6458@ubuntu-linux-20-04-desktop>
References: <20230817214356.47174-1-julien@xen.org> <20230817214356.47174-3-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 17 Aug 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Switch to unsigned int for the return/parameters of the following
> functions:
>     * REG_RANK_NR(): 'b' (number of bits) and the return is always positive.
>       'n' doesn't need to be size specific.
>     * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
>       's' (size of the access) are always positive.
>     * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
>     * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
>       index) are always positive.
> 
> Take the opportunity to propogate the unsignedness to the local
> variable used for the arguments.
> 
> This will remove some of the warning reported by GCC 12.2.1 when
> passing the flags -Wsign-conversion/-Wconversion.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>  xen/arch/arm/include/asm/vgic.h | 11 +++++++----
>  xen/arch/arm/vgic-v2.c          | 12 ++++++++++--
>  xen/arch/arm/vgic.c             | 21 ++++++++++++---------
>  3 files changed, 29 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
> index 6901a05c0669..922779ce146a 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -252,7 +252,7 @@ struct vgic_ops {
>   * Rank containing GICD_<FOO><n> for GICD_<FOO> with
>   * <b>-bits-per-interrupt
>   */
> -static inline int REG_RANK_NR(int b, uint32_t n)
> +static inline unsigned int REG_RANK_NR(unsigned int b, unsigned int n)
>  {
>      switch ( b )
>      {
> @@ -297,10 +297,13 @@ extern void gic_remove_from_lr_pending(struct vcpu *v, struct pending_irq *p);
>  extern void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq);
>  extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq);
>  extern struct pending_irq *spi_to_pending(struct domain *d, unsigned int irq);
> -extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n, int s);
> +extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v,
> +                                              unsigned int b,
> +                                              unsigned int n,
> +                                              unsigned int s);
>  extern struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq);
> -extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n);
> -extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n);
> +extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
> +extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
>  extern void vgic_set_irqs_pending(struct vcpu *v, uint32_t r,
>                                    unsigned int rank);
>  extern void register_vgic_ops(struct domain *d, const struct vgic_ops *ops);
> diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
> index 2a2eda2e6f4c..0aa10fff0f10 100644
> --- a/xen/arch/arm/vgic-v2.c
> +++ b/xen/arch/arm/vgic-v2.c
> @@ -161,7 +161,11 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info,
>  {
>      struct hsr_dabt dabt = info->dabt;
>      struct vgic_irq_rank *rank;
> -    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
> +    /*
> +     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
> +     * the difference will always be smaller than 32-bit.
> +     */
> +    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
>      unsigned long flags;
>  
>      perfc_incr(vgicd_reads);
> @@ -403,7 +407,11 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info,
>  {
>      struct hsr_dabt dabt = info->dabt;
>      struct vgic_irq_rank *rank;
> -    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
> +    /*
> +     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
> +     * the difference will always be smaller than 32-bit.
> +     */
> +    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
>      uint32_t tr;
>      unsigned long flags;
>  
> diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
> index afcac791fe4b..269b804974e0 100644
> --- a/xen/arch/arm/vgic.c
> +++ b/xen/arch/arm/vgic.c
> @@ -24,7 +24,8 @@
>  #include <asm/gic.h>
>  #include <asm/vgic.h>
>  
> -static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
> +static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v,
> +                                                  unsigned int rank)
>  {
>      if ( rank == 0 )
>          return v->arch.vgic.private_irqs;
> @@ -38,17 +39,17 @@ static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
>   * Returns rank corresponding to a GICD_<FOO><n> register for
>   * GICD_<FOO> with <b>-bits-per-interrupt.
>   */
> -struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n,
> -                                              int s)
> +struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, unsigned int b,
> +                                       unsigned int n, unsigned int s)
>  {
> -    int rank = REG_RANK_NR(b, (n >> s));
> +    unsigned int rank = REG_RANK_NR(b, (n >> s));
>  
>      return vgic_get_rank(v, rank);
>  }
>  
>  struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq)
>  {
> -    int rank = irq/32;
> +    unsigned int rank = irq / 32;
>  
>      return vgic_get_rank(v, rank);
>  }
> @@ -324,14 +325,14 @@ void arch_move_irqs(struct vcpu *v)
>      }
>  }
>  
> -void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
> +void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
>  {
>      const unsigned long mask = r;
>      struct pending_irq *p;
>      struct irq_desc *desc;
>      unsigned int irq;
>      unsigned long flags;
> -    int i = 0;
> +    unsigned int i = 0;
>      struct vcpu *v_target;
>  
>      /* LPIs will never be disabled via this function. */
> @@ -361,7 +362,9 @@ void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
>  #define VGIC_ICFG_MASK(intr) (1U << ((2 * ((intr) % 16)) + 1))
>  
>  /* The function should be called with the rank lock taken */
> -static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
> +static inline unsigned int vgic_get_virq_type(struct vcpu *v,
> +                                              unsigned int n,
> +                                              unsigned int index)
>  {
>      struct vgic_irq_rank *r = vgic_get_rank(v, n);
>      uint32_t tr = r->icfg[index >> 4];
> @@ -374,7 +377,7 @@ static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
>          return IRQ_TYPE_LEVEL_HIGH;
>  }
>  
> -void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
> +void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
>  {
>      const unsigned long mask = r;
>      struct pending_irq *p;

It looks like you could also switch 'i' to unsigned int in
vgic_enable_irqs like you did in vgic_disable_irqs

You could do that on commit:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 17 23:05:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 Aug 2023 23:05:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585670.916848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWm3k-0002Fa-Ep; Thu, 17 Aug 2023 23:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585670.916848; Thu, 17 Aug 2023 23:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWm3k-0002FR-CD; Thu, 17 Aug 2023 23:05:44 +0000
Received: by outflank-mailman (input) for mailman id 585670;
 Thu, 17 Aug 2023 23:05:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C1L6=EC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qWm3j-0002FL-Ph
 for xen-devel@lists.xenproject.org; Thu, 17 Aug 2023 23:05:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95f0a985-3d52-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 01:05:41 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 643A061113;
 Thu, 17 Aug 2023 23:05:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2AE9C433C7;
 Thu, 17 Aug 2023 23:05: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: 95f0a985-3d52-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692313539;
	bh=K29tYaRkMzXeDEzFigf9E+TdbMBgr0LKDfbYx+XEj/c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uKX0fIq6pgk1YBrygQnPQwaDcpZSfQJCylt05yg4PJOa6FQhqSZ9L8wdZtPzliFhb
	 0TWk0OF2O1PRYA00W183Hitrl/03V5Q3gcUYVOT1ox5/eHkGCvUZPCS4dmMJ1qqGsm
	 lQdWRQWnSaxytRcECbdSPsNN0afhAbB2e3LzDmJKIBYQIihfhCA+I6lKXbF5FNG7mi
	 V6NWtPVBBGforAFxtCr1c4hmcMtw/eKMefCkp0lt97zUFi5jpIZcsp4X+OZzO3kyzJ
	 wWP4M8gZ0DN05gJeXMrwzd4YOkgdohS+HmvHZgmiAXjUZBDRTZtf/OHvAwDZyLz6z2
	 OpofM4qFnomnw==
Date: Thu, 17 Aug 2023 16:05:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
In-Reply-To: <20230817214356.47174-4-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308171605300.6458@ubuntu-linux-20-04-desktop>
References: <20230817214356.47174-1-julien@xen.org> <20230817214356.47174-4-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 17 Aug 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The defines PSR_* are field in registers and always unsigned. So
> add 'U' to clarify.
> 
> This should help with MISRA Rule 7.2.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/include/public/arch-arm.h | 52 +++++++++++++++++------------------
>  1 file changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index c6449893e493..492819ad22c9 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
>  
>  /* PSR bits (CPSR, SPSR) */
>  
> -#define PSR_THUMB       (1<<5)        /* Thumb Mode enable */
> -#define PSR_FIQ_MASK    (1<<6)        /* Fast Interrupt mask */
> -#define PSR_IRQ_MASK    (1<<7)        /* Interrupt mask */
> -#define PSR_ABT_MASK    (1<<8)        /* Asynchronous Abort mask */
> -#define PSR_BIG_ENDIAN  (1<<9)        /* arm32: Big Endian Mode */
> -#define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
> -#define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
> -#define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
> -#define PSR_Z           (1<<30)       /* Zero condition flag */
> +#define PSR_THUMB       (1U <<5)      /* Thumb Mode enable */
> +#define PSR_FIQ_MASK    (1U <<6)      /* Fast Interrupt mask */
> +#define PSR_IRQ_MASK    (1U <<7)      /* Interrupt mask */
> +#define PSR_ABT_MASK    (1U <<8)      /* Asynchronous Abort mask */
> +#define PSR_BIG_ENDIAN  (1U << 9)     /* arm32: Big Endian Mode */
> +#define PSR_DBG_MASK    (1U << 9)     /* arm64: Debug Exception mask */
> +#define PSR_IT_MASK     (0x0600fc00U) /* Thumb If-Then Mask */
> +#define PSR_JAZELLE     (1U << 24)    /* Jazelle Mode */
> +#define PSR_Z           (1U << 30)    /* Zero condition flag */
>  
>  /* 32 bit modes */
> -#define PSR_MODE_USR 0x10
> -#define PSR_MODE_FIQ 0x11
> -#define PSR_MODE_IRQ 0x12
> -#define PSR_MODE_SVC 0x13
> -#define PSR_MODE_MON 0x16
> -#define PSR_MODE_ABT 0x17
> -#define PSR_MODE_HYP 0x1a
> -#define PSR_MODE_UND 0x1b
> -#define PSR_MODE_SYS 0x1f
> +#define PSR_MODE_USR 0x10U
> +#define PSR_MODE_FIQ 0x11U
> +#define PSR_MODE_IRQ 0x12U
> +#define PSR_MODE_SVC 0x13U
> +#define PSR_MODE_MON 0x16U
> +#define PSR_MODE_ABT 0x17U
> +#define PSR_MODE_HYP 0x1aU
> +#define PSR_MODE_UND 0x1bU
> +#define PSR_MODE_SYS 0x1fU
>  
>  /* 64 bit modes */
> -#define PSR_MODE_BIT  0x10 /* Set iff AArch32 */
> -#define PSR_MODE_EL3h 0x0d
> -#define PSR_MODE_EL3t 0x0c
> -#define PSR_MODE_EL2h 0x09
> -#define PSR_MODE_EL2t 0x08
> -#define PSR_MODE_EL1h 0x05
> -#define PSR_MODE_EL1t 0x04
> -#define PSR_MODE_EL0t 0x00
> +#define PSR_MODE_BIT  0x10U /* Set iff AArch32 */
> +#define PSR_MODE_EL3h 0x0dU
> +#define PSR_MODE_EL3t 0x0cU
> +#define PSR_MODE_EL2h 0x09U
> +#define PSR_MODE_EL2t 0x08U
> +#define PSR_MODE_EL1h 0x05U
> +#define PSR_MODE_EL1t 0x04U
> +#define PSR_MODE_EL0t 0x00U
>  
>  /*
>   * We set PSR_Z to be able to boot Linux kernel versions with an invalid
> -- 
> 2.40.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 01:00:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 01:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585735.916893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWnqb-0006ho-Cx; Fri, 18 Aug 2023 01:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585735.916893; Fri, 18 Aug 2023 01:00:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWnqb-0006gv-9H; Fri, 18 Aug 2023 01:00:17 +0000
Received: by outflank-mailman (input) for mailman id 585735;
 Fri, 18 Aug 2023 01:00: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 1qWnqZ-00063J-N8; Fri, 18 Aug 2023 01:00: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 1qWnqZ-0003Ym-Jz; Fri, 18 Aug 2023 01:00: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 1qWnqZ-0002M1-43; Fri, 18 Aug 2023 01:00:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWnqZ-0005LY-3E; Fri, 18 Aug 2023 01:00: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=iQYEQ1WXDrWvddzrFQCETIULkTZpcmtmCFoQlcVIec4=; b=GTX3braUUMPXVQmq7H6/VQqRBb
	dUk5Rd/VxmGpPrCIz/1uNd5BJcmcvJTa0mzZDQ989KAulyLo9k8pULW91dFvyWaG3y9H2ehvt1xDi
	laRJf8McWi5++DASUwcT2fw0ZxQBSMZFVg8CHuyG7jsK/GCjjPp0hVsDYZa9XZ7Dpw1Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182371-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182371: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-libvirt-raw: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=16931859a6500d360b90aeacab3b505a3560a3ed
X-Osstest-Versions-That:
    linux=4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 01:00:15 +0000

flight 182371 linux-linus real [real]
flight 182373 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182371/
http://logs.test-lab.xenproject.org/osstest/logs/182373/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-shadow   20 guest-localmigrate/x10   fail REGR. vs. 182357

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow 18 guest-localmigrate fail in 182373 pass in 182371
 test-amd64-amd64-xl-qemut-debianhvm-amd64 8 xen-boot fail pass in 182373-retest
 test-armhf-armhf-xl           8 xen-boot            fail pass in 182373-retest
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 182373-retest
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail pass in 182373-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182373-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182373-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 182373 like 182357
 test-armhf-armhf-xl         15 migrate-support-check fail in 182373 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 182373 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 182373 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182357
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182357
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 linux                16931859a6500d360b90aeacab3b505a3560a3ed
baseline version:
 linux                4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6

Last test of basis   182357  2023-08-16 07:44:20 Z    1 days
Testing same since   182371  2023-08-17 15:10:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chuck Lever <chuck.lever@oracle.com>
  Jeff Layton <jlayton@kernel.org>
  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                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 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                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 16931859a6500d360b90aeacab3b505a3560a3ed
Merge: 4853c74bd7ab c96e2a695e00
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Aug 17 16:38:48 2023 +0200

    Merge tag 'nfsd-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
    
    Pull nfsd fix from Chuck Lever:
    
     - Fix new MSG_SPLICE_PAGES support in server's TCP sendmsg helper
    
    * tag 'nfsd-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
      sunrpc: set the bv_offset of first bvec in svc_tcp_sendmsg

commit c96e2a695e00bca5487824d84b85aab6aa2c1891
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Aug 14 13:36:54 2023 -0400

    sunrpc: set the bv_offset of first bvec in svc_tcp_sendmsg
    
    svc_tcp_sendmsg used to factor in the xdr->page_base when sending pages,
    but commit 5df5dd03a8f7 ("sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather
    then sendpage") dropped that part of the handling. Fix it by setting
    the bv_offset of the first bvec.
    
    Fixes: 5df5dd03a8f7 ("sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage")
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 01:49:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 01:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585744.916903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWocS-0007kc-28; Fri, 18 Aug 2023 01:49:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585744.916903; Fri, 18 Aug 2023 01:49: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 1qWocR-0007kV-VG; Fri, 18 Aug 2023 01:49:43 +0000
Received: by outflank-mailman (input) for mailman id 585744;
 Fri, 18 Aug 2023 01:49:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PpBR=ED=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qWocQ-0007kI-BG
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 01:49:42 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7d00::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d125aab-3d69-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 03:49:38 +0200 (CEST)
Received: from AS9PR06CA0210.eurprd06.prod.outlook.com (2603:10a6:20b:45d::28)
 by DU0PR08MB9025.eurprd08.prod.outlook.com (2603:10a6:10:471::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 01:49:34 +0000
Received: from AM7EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45d:cafe::93) by AS9PR06CA0210.outlook.office365.com
 (2603:10a6:20b:45d::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Fri, 18 Aug 2023 01:49:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT027.mail.protection.outlook.com (100.127.140.124) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.16 via Frontend Transport; Fri, 18 Aug 2023 01:49:33 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Fri, 18 Aug 2023 01:49:32 +0000
Received: from db506d88c465.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0351ECE0-0F41-4908-A71E-08C573AFD2CA.1; 
 Fri, 18 Aug 2023 01:49:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id db506d88c465.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 18 Aug 2023 01:49:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB9765.eurprd08.prod.outlook.com (2603:10a6:20b:616::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Fri, 18 Aug
 2023 01:49:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 01:49: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: 7d125aab-3d69-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jioOWt4ocyGlrcAFThCWardkZ4V3iVn88YdB7BghX3s=;
 b=t45DZi+bZIu5Ks5/Ap6D8D9Fnuqj6f1bw99nn6EYAweoKzrd0Ydl9hgAnWi8AJiWDbUNfi/zwZx/nALPJJZs6OlfMFf4bWZFxZMay+DQLnqe7NypJwOY6R+NYGXlHmIXLVZ5m1iVHyKUBWFY3IYlR+EY7qyv1y5XeTsKimUJNIA=
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: 0401b5552db83e5d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I6SSs4To/psyf1kVOxVGyyE4jjthnuDA9RVbHIrjIdtq/jGHCxRZL/binhk6FtQcCJirgnlzQ8HkAfJf3ZjkFJiR6Z/Jo2YdpPZmyADpqU6XDmYnB8uw05WT+yrMGmzRSkLujjv9CyfadDrGPQcCf+cG7S/r/qZalih5OxSajJ/mfmQzek8YwSX5vX/9vNg/g4aY+C17N7V2UZE3TR1rGcNgG5Joqcu1ufAw9N6BXs13bG1DBxP3WMqYfEM/hN/LDELobEG2PhyS1rFr77Ez9xY1ua94/9Z5G6i4KunTwaID0sC9hPLWFMAJ+o8Yjxa9L/U+BnjjSs6pXzsgZOAIyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jioOWt4ocyGlrcAFThCWardkZ4V3iVn88YdB7BghX3s=;
 b=XnCxHPSZCE6xn2/DwoyceHJx16H9au+mjZvlYVKw/ySHa8E+/jr7Dps3cz94oAW7nqaGDiEMN1dgKU9vCmSJe3Dl/bqJ8zhIPeNCKC4ylkasWuVd9c4k/olpwFzEAQzS+3mmObYBTUKHNcO+I0AYozZNax2alviWI27Roiwci0f88oO/WIcYNWC7KUfPBVaK4hHfiERGlRIIiN3s3N1qHq9WXhRSYPIueORfpEOAFlTu8wbCho9V5+MP/eWzOOmSy/Lp4RbZL5/iHkOoDhQ5CypG82gK/JLUTNAr71SMaVwi6ZUf4IuUbcmUUkMQAnAcQ2Srn5X/7EkgHq8rGFxTUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=jioOWt4ocyGlrcAFThCWardkZ4V3iVn88YdB7BghX3s=;
 b=t45DZi+bZIu5Ks5/Ap6D8D9Fnuqj6f1bw99nn6EYAweoKzrd0Ydl9hgAnWi8AJiWDbUNfi/zwZx/nALPJJZs6OlfMFf4bWZFxZMay+DQLnqe7NypJwOY6R+NYGXlHmIXLVZ5m1iVHyKUBWFY3IYlR+EY7qyv1y5XeTsKimUJNIA=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/3] xen/arm: vmmio: The number of entries cannot be
 negative
Thread-Topic: [PATCH 1/3] xen/arm: vmmio: The number of entries cannot be
 negative
Thread-Index: AQHZ0VP97r8wZqAQvEyfb9qA4JR+oK/vSbaA
Date: Fri, 18 Aug 2023 01:49:23 +0000
Message-ID: <975C04BC-1C6A-4DB5-B1C4-4D023DE654CC@arm.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-2-julien@xen.org>
In-Reply-To: <20230817214356.47174-2-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9765:EE_|AM7EUR03FT027:EE_|DU0PR08MB9025:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c0c5768-9ecf-4787-3a9d-08db9f8d5ecc
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:
 6QY2TqaTRhzE8AuPxaymASuuvltHgGWcOPGDNuJSw3nzqkErH/+wUsk6qLcP4VoKpIx061Nwd1Ubrij69I2YN21OuSV2STmGjtWfkm1Z3v1Y//HioJnTrMgMZf1qTpESCq1NDnaeVzS798JD9MrBuF8zrZTgCJHaTODcA1lJbDUfr2KmBxTFEEZs165PzdODZjIOzDh6IcGVyx//lvCdG8vnEsmv8Ok/yOE693FDcw9l65NuZdMFXlolrLjPWpUf+qYcKykrsIg68CxAxS5UviSWC8eGA+jWAqk1H+dcSek0i+6saKMxEWYsRZmT6wyp3WBCAasecm5FZbDGeHFYU2840RqO6pzVSsMBgrIVfrUiMohxUo4j8x0YyOmCUFuU3fu03snx/2w2e3aWjD8bCBA3iNCqiJmL9mtuhzXtvWDtTkEQGebMVl+o4fF81bgaqYxoELtX6YzegziD4HxdQRl+c2/ggmAME8KZv8XjZFKCFrrxpzGqA/+84O+eP3SPrlEBNkWDCNDAECzEC6jfsSl/kP6fOrVt3CMvYq+rWMS3TFFEj6W+oJk33wMhHUTKjL1SMpYfZ7YsHq08nLeF7metIAQZaL+SKJgyo4uXcq0k1dJVii4LKuylYEk8y+vLC14rrBhJFd3Okkr38GUbdg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(366004)(396003)(39860400002)(186009)(451199024)(1800799009)(2906002)(4744005)(26005)(86362001)(478600001)(6506007)(71200400001)(6486002)(2616005)(6512007)(33656002)(53546011)(36756003)(5660300002)(41300700001)(66446008)(122000001)(316002)(54906003)(66476007)(91956017)(76116006)(64756008)(66946007)(66556008)(6916009)(4326008)(8936002)(8676002)(38070700005)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D77C82F16F364846B6906D5ACC060005@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9765
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:
 AM7EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ed5aec10-fdec-487e-4b81-08db9f8d5933
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZrrEtXPV98YBVxyEAf34RV/3zODKRCgsVuFBVFxcpumPGEFMe1c9Z18QBGFJD9sKhPZcLsX57hA2973lMSuNoMxjxxRdfwiEoODZRgibCLjO4Fzsy2x2gYwtK1lKCAB/gdLuqrSaZ7MnzXYiE/Irt66X1f5V15CmnfQhrpbLtMY11n5aUmSjXHc6BAhcKe36gvR49SmxvWdljus8pk7E1IO4bOUyil284lmpXQqUShrFLAQOu+2wjEN4FpIT2evUURiwRkozSxOTiNGNZZitP0nISbTg2urFmiOkFo+WhGAuROWvwgQNJ1zoVLK5znRhSdqt7Mwy8eMN2ArIxwu3amMjt+v3ysh4f4bDgEj0ODLFDkBuu+0hkomhkbAzxSH4llf79o+pis/5cjquB/hhpvqTA21j6V8u5wfkkAphnOwfWKTrlEgFf6fNtGtFYIzIQxpC1CzhF57z4r4RqH6L1Ww2ug9IRsGoP6L9UUSWio026PUFuKf3MxHwHK6/3nhGOhh2MKB42LKNmYNs4dCSa1dJ0+dLa0dJO46ccQE0+/26tbuAgilw8MWaMKF/vyAN4eLAiOIFByw+f9D0BJdRHAw0GFkpm1PySi8DzZwY686wwLkObuy+5u9mn2cR6xq7MOVe2NZOC9QF0RCGaVkIe9hjNlDTImcOt/tsy0hQvpnf3cKCF9zRHabv1RytxnGRaTjBvx5yUzL2ePtIUX20WRrZnjjsIZn7e+E6Rf6OhPM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(346002)(136003)(396003)(39860400002)(451199024)(1800799009)(82310400011)(186009)(40470700004)(46966006)(36840700001)(86362001)(33656002)(36756003)(82740400003)(356005)(81166007)(40480700001)(107886003)(2616005)(5660300002)(70586007)(478600001)(6506007)(70206006)(53546011)(6486002)(54906003)(316002)(26005)(6512007)(4326008)(8676002)(8936002)(41300700001)(6862004)(40460700003)(47076005)(336012)(36860700001)(4744005)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 01:49:33.2079
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c0c5768-9ecf-4787-3a9d-08db9f8d5ecc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9025

Hi Julien,

> On Aug 18, 2023, at 05:43, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> The number of virtual MMIO regions cannot be negative. So switch
> the field 'num_entries' and 'max_num_entries' to 'unsigned int'.
>=20
> The new type is then propagated to the caller and the vGIC
> code.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---

Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 01:50:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 01:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585747.916913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWod3-0000bf-9o; Fri, 18 Aug 2023 01:50:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585747.916913; Fri, 18 Aug 2023 01: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 1qWod3-0000bY-6t; Fri, 18 Aug 2023 01:50:21 +0000
Received: by outflank-mailman (input) for mailman id 585747;
 Fri, 18 Aug 2023 01: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=PpBR=ED=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qWod1-0000bL-Jl
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 01:50:19 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94d19428-3d69-11ee-877d-cb3800f73035;
 Fri, 18 Aug 2023 03:50:17 +0200 (CEST)
Received: from AS8PR07CA0041.eurprd07.prod.outlook.com (2603:10a6:20b:459::31)
 by DBBPR08MB5931.eurprd08.prod.outlook.com (2603:10a6:10:1f7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 01:50:14 +0000
Received: from AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:459:cafe::14) by AS8PR07CA0041.outlook.office365.com
 (2603:10a6:20b:459::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Fri, 18 Aug 2023 01:50:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT032.mail.protection.outlook.com (100.127.140.65) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.16 via Frontend Transport; Fri, 18 Aug 2023 01:50:12 +0000
Received: ("Tessian outbound 169aaa6bf2b7:v175");
 Fri, 18 Aug 2023 01:50:12 +0000
Received: from 04fe78d6ca89.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 15F1B16B-569D-40AA-B8CB-EAE5C28B1674.1; 
 Fri, 18 Aug 2023 01:50:06 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 04fe78d6ca89.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 18 Aug 2023 01:50:06 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB9765.eurprd08.prod.outlook.com (2603:10a6:20b:616::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Fri, 18 Aug
 2023 01:50:05 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 01:50:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94d19428-3d69-11ee-877d-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xARfuKSEikcDT+BGaxiuHbLcZ2Tc1ArbK6FKKiV4mxg=;
 b=BHtWDd5CKj+xPNBhnuKrCpoA74cNiK6QAECV2MzAHJmtWaWtOtlmSIutOIeJ1NXW338gS0SipKIucjwcmimWIcX7z11RWX1LUNyu2Cx0pMA0BVFZ9MFN5HKQ2BgXkmbrWNG+oUUVhPRCF5nUVP5dGup3coOHAQOqpt81wpPCj7Y=
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: 5cc3b9c585ee9e58
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Io/vA+dvgNk9Jo4fh8mXJbRoBltkOdFG19D6mA6v7+9kx+ZqvFRfj9B1rH0LVaitA7gd5HAbdSVN8O7WNCeMv07Yi7JcqPNGnqPCoEz7/6kJA0q0mSN/KWwjcUpcbr5qW+57lzsL9nrP9tXSVZkRCKXHix+Irf8qEhIQFmxJ4qeAbjhoEPMgL7TOf1MtkUjb7FnapxxQTOzMtY2S0DiuusDfV7nCY4MBgxW19gqwLFcxgtThthEIpmxUIzZPNlgnccYjbMwEAobO1ty10fIf8o2lOsLPmufJXVPf/ZRcXXzAicpVpLCz22t6R9qRkjmtwDD7kPHk27NzbhNwL3bkRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xARfuKSEikcDT+BGaxiuHbLcZ2Tc1ArbK6FKKiV4mxg=;
 b=OMNCymg6C1uoTc5rAXG6txIk+DPExP8a86nZDYu1Yd2mHJoXvGnoa72NIqr1rTGxIAyZHW8q5jrtjAxg9s//gVhtFcN1lVZZVHDsb+Z9gwPMH119xbHBejA2lsm7p3vyo9OFllz/Re1V54b25YPWV34TTMJH4UBETayAsRbkbLEmnre/reG2Y7MVJ8zR7GkMhOHupFMsAxUl9qkjbZ/RzO5I0kc/GYSeyLXQvH1xmRzR153J53nuuTswP/g27HFUmbYxmCfDWv6LW5GVURD+404KvNntURMu5Id7D2ai2GhbE0V/nAxQKVo7HazUayIBxYsO2vara03Y/fB9CGfrPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=xARfuKSEikcDT+BGaxiuHbLcZ2Tc1ArbK6FKKiV4mxg=;
 b=BHtWDd5CKj+xPNBhnuKrCpoA74cNiK6QAECV2MzAHJmtWaWtOtlmSIutOIeJ1NXW338gS0SipKIucjwcmimWIcX7z11RWX1LUNyu2Cx0pMA0BVFZ9MFN5HKQ2BgXkmbrWNG+oUUVhPRCF5nUVP5dGup3coOHAQOqpt81wpPCj7Y=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
Thread-Topic: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
Thread-Index: AQHZ0VP+MXsKRsPsX0GU2DhsArPDyK/vSekA
Date: Fri, 18 Aug 2023 01:50:05 +0000
Message-ID: <B7314632-8E2D-4C7C-B23C-5D8FB54A15E2@arm.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-3-julien@xen.org>
In-Reply-To: <20230817214356.47174-3-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9765:EE_|AM7EUR03FT032:EE_|DBBPR08MB5931:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a111ee3-c291-404e-bbfd-08db9f8d767e
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:
 ESNcc2zWjcNHR73F2QcnMNLHUoU5CsGOpwRzGsEps+sVg0aonGgoBzu0nHxvhfaDM0z+MqLTH03fSajwetqZDfkGxUkrChAINfGvZRMtzxGvmbW4VPlpSmU/nEo0qLkE0k0sJjsOzmryJXs76C4f+rsrA3M3GGVPDVaSGkFtVBhyILx6QhRowgYrt4SwAnOhjBkZPiRsM1W4XhcUQd9TsykwzYv7ONrtRQAZRIf2EmAj/vQl5cd4LknO91EgfULqW3hdCQIJdwygMPp/eR1qh5+FWwxrb0tKj9GwcuNqrss/lS5b4uAJ7gs0L+VpslMBqoZWFfk5IjaAy0luD7wmsVa7WEFeFp9SZBRtYHgxmuMMaUQv4wCsl0pr18QlTm0PqPPWQbr+F4XE3kZoaMtyjyic4EmZ5ktoiSSbW7J6j2kfrmBnHBKP/J11TSIrs9W4ftGiCz4Yq/6puDRMn6Yo7BHUjBbgfNkOoTCIs0pLaUtkew8Xgwt3jW3uqsmapd69RAoe0i8dMqwSuqouhsA4ElmEz+9W4BwqMKldvkhVbE9jTlIAsMFkFTtBRh9gev8E3dGQNVh527apzvZ38PzCbnU5OKsKscYuv77lmNBHscnwbO1xBQh3avE4pCoA0wnTIejYiiWXYjILBSbl77kPmA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(366004)(396003)(39860400002)(186009)(451199024)(1800799009)(2906002)(83380400001)(4744005)(26005)(86362001)(478600001)(6506007)(71200400001)(6486002)(2616005)(6512007)(33656002)(53546011)(36756003)(5660300002)(41300700001)(66446008)(122000001)(316002)(54906003)(66476007)(91956017)(76116006)(64756008)(66946007)(66556008)(6916009)(4326008)(8936002)(8676002)(38070700005)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B59BD8AC0738344980BBA1B385572DEA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9765
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5c0908ba-cc27-4541-d2d4-08db9f8d71be
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	irAw80WjrUz8mn1ljicWa2PGVzkDmfklmDPMZ7KeYecs81fPlIy/YH6CBuh9c95sKJ3Zw+lGaExaypR1XqM+J8IcvKM8fsE5WFy2bdsPTUpW+R+QsCsW18/OLdAbB3gAkwhM95sEOtdQkeM2tP4HWOA4O0kV3UgQCuOzMUwSPyCyV1M5nu6oJOgmp63qKyCeG28WCZ9E9em2Y5yA3rrCaU7ZwkC/qe8jC9waCHB8UQqy4I92EPi9JxYMIb73YK1RT92z+8I76+inCmjn1JQWBgP2Xmu8fu9ZjfSjBEONECk3LOrk0gzY1xCkjbRhMW1j9fsusiOYrCvh0o035BTX4OE6BiL+zj6+AcvehNgJ4xV6oXnTVqY/0PBkUAUA8lNeESn33HfBBKDDIn0e8KUGBFmyD8c8fUHctq0FtZsINhQlfEVY26MCeuBq+NSVWb9QR968shosB2kYoIkAO5VhV/HN5L7t6J5VhDdJqklpfEW9gqh/5TKDYnHpL6kB5Myy5gBu7llSG/4kYbww+S27nmx/BzvAUcOllmvnpwsYZBmS2BrkC3+du0g2OYXV+eFHT0lpLvaOaGrCcItf8XkqKcJhH7E78YXBS9dlZTcXYmbeVJH0FYHkH5rjLuMbTBGzlBoXfAejMTA8MPzLQ5oZ+v6C/h2fNjrayLttPGxUhwOMpXitAeRG7NrEvXn2hucWd31ijX6BmyFj00nCO0yxkz/CIF3gajhStD6qfhyAxJRKMjr8VYoi3NR4VHgvE0Oc
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199024)(82310400011)(1800799009)(186009)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(107886003)(336012)(26005)(6486002)(6506007)(53546011)(47076005)(6512007)(36860700001)(83380400001)(5660300002)(4326008)(6862004)(8936002)(8676002)(2906002)(4744005)(478600001)(41300700001)(70586007)(54906003)(316002)(70206006)(82740400003)(356005)(36756003)(40480700001)(33656002)(86362001)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 01:50:12.9654
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a111ee3-c291-404e-bbfd-08db9f8d767e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5931

Hi Julien,

> On Aug 18, 2023, at 05:43, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Switch to unsigned int for the return/parameters of the following
> functions:
>    * REG_RANK_NR(): 'b' (number of bits) and the return is always positiv=
e.
>      'n' doesn't need to be size specific.
>    * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
>      's' (size of the access) are always positive.
>    * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
>    * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
>      index) are always positive.
>=20
> Take the opportunity to propogate the unsignedness to the local
> variable used for the arguments.
>=20
> This will remove some of the warning reported by GCC 12.2.1 when
> passing the flags -Wsign-conversion/-Wconversion.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 01:51:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 01:51:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585753.916923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWodn-0001ER-Is; Fri, 18 Aug 2023 01:51:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585753.916923; Fri, 18 Aug 2023 01:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWodn-0001EK-Fr; Fri, 18 Aug 2023 01:51:07 +0000
Received: by outflank-mailman (input) for mailman id 585753;
 Fri, 18 Aug 2023 01:51:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PpBR=ED=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qWodn-0007kI-1x
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 01:51:07 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe16::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b14a030b-3d69-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 03:51:05 +0200 (CEST)
Received: from DU2P251CA0010.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::25)
 by GV1PR08MB7345.eurprd08.prod.outlook.com (2603:10a6:150:20::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 01:51:01 +0000
Received: from DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:230:cafe::8) by DU2P251CA0010.outlook.office365.com
 (2603:10a6:10:230::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend
 Transport; Fri, 18 Aug 2023 01:51:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT026.mail.protection.outlook.com (100.127.142.242) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.15 via Frontend Transport; Fri, 18 Aug 2023 01:51:01 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Fri, 18 Aug 2023 01:51:01 +0000
Received: from 30431969dccf.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BC0C2C6D-6A0C-43B2-BA91-E2659F53CFF7.1; 
 Fri, 18 Aug 2023 01:50:54 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 30431969dccf.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 18 Aug 2023 01:50:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB9765.eurprd08.prod.outlook.com (2603:10a6:20b:616::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Fri, 18 Aug
 2023 01:50:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 01:50:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b14a030b-3d69-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0YChvfSx9KhVfWTAi5US1FcC1sMAsPg6Uh+Mtrbc9uo=;
 b=rKR0g6e7/1HN3zk7H//YPIWzGLgGrwThJb6gq4ENztMA5ygcXQSBr+1fn+TG+o2OANa0IWYDORS9hKGytr/+vB8z8TenVC96phDnpxExz3kp9J57kb6SHHu6qybHak8/sXxNtK1ia3iPPZsReYfsLZm1RHzOtQtiCpUhxDbg6Ks=
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: 6e81acd1e10b2743
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hCe7mHk/a1IRtq08DwAvkGPFLpKiDSGoyvQ6qcNY1oI0DQ4ZUwPfBnSZyizgyGrVXijQu3K/WqyOVSixUZNXYn1UwPym1kE98kA6wkazyAw9OA4gbErx7qDK/6nxRsvS4ZtYFtMLSkB0U00hqbbSeDf2O9lrfm8R5ptdeWXXQgfM/kmzI/Xm6qcCIP54B/WlaO553D+9uN95SOk4GcEcvKl5m3DrKLll+vQ9wxgKZDlTBJQtqxEx/5jYuLb+Tg8ah6o1t0jsnxtgwTiXHULme0BiUe3s1wPDwucTld+TjOH55jhaYQ7BUU3OoWjEa1cKTa0bXb4AxBiqi4VtULJOLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0YChvfSx9KhVfWTAi5US1FcC1sMAsPg6Uh+Mtrbc9uo=;
 b=UBUAO7sll+Gob/T1rRwR5v098pbmGO+c6uLnOjSYedQwYOsZ2S7r22QGMyV1kcaOc84irJ29FBZ7P3WxzC6wOMH+XLVj3NgQM52P4sxp2As7aNPEyZO8zju76uFA3oaSbt9+s2g5PLqYU06ua/TIyo7h4zudfE/ajMHoj+anoIfzAaniHRnSD01Dko7zdQwYhc81HdYztd299mVsJ2f8L28ALtfcHRL/Gb6QouYxhZlmGK2wQq3aNYsz94aItVufbzJhelkVYqnAtL1tLsbn0G0VWq33wM6jhSfwcY6x2/r1RPBjjH61oMbqqIKXhG/Ol2dwM9LcHw5fMrnvBpHhUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=0YChvfSx9KhVfWTAi5US1FcC1sMAsPg6Uh+Mtrbc9uo=;
 b=rKR0g6e7/1HN3zk7H//YPIWzGLgGrwThJb6gq4ENztMA5ygcXQSBr+1fn+TG+o2OANa0IWYDORS9hKGytr/+vB8z8TenVC96phDnpxExz3kp9J57kb6SHHu6qybHak8/sXxNtK1ia3iPPZsReYfsLZm1RHzOtQtiCpUhxDbg6Ks=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Thread-Topic: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Thread-Index: AQHZ0VQEE1O1p7F1B0uGo7dZEUbaMq/vSiIA
Date: Fri, 18 Aug 2023 01:50:52 +0000
Message-ID: <0974CEDF-4AD3-4952-9A43-A300EF366F99@arm.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
In-Reply-To: <20230817214356.47174-4-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9765:EE_|DBAEUR03FT026:EE_|GV1PR08MB7345:EE_
X-MS-Office365-Filtering-Correlation-Id: cb6da7ff-2f63-47cf-4721-08db9f8d934c
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:
 VIPzAoOh7Fw4MziW8w8OfbINzF7+ufCCZm61LnrtjXeNCbDx4KEVw3VRsTBUb5I/tDBJzOVuALI8lvFur8H8MwEgKIXoBG1Mr2E2w6s01yPjPHYSXkiLyE3sIKj6iJ8JJIs1efyCdwPbVaXyRrj9G2mq+E7gywoLFCtR7Ba2kakNHVWcs6LNPQFi52Fp0hfiEo9wTjyJPm1CDac7RP9jVmrVIBnhRgBsWYx/Ys4icBb/m8fNYHw1x33O07YlMGy2+hrTX8m9ItAtJ4as3W4Bh2GMrX//j+vDpKvrfjl1OTJpvx/HeCMgaqAKf7vRTGRwWuxbw6JHptAVTLjPVtRcepnAEpLCkx9FbdZUoDezUxVU8IYW9v+8JIttLOx88Ty3m4A7JYYkTH21Do4EoQtF/zsCoXP5wfm3xAKhZ0avZgiuUIk7+F4IVaAxN1JSLLaOvwLfSxLNojVRQlfLm577SWqe+I8emqCL0yl2AmfSHOCbhn7/mvWexFZft88sNKrOtEA6B4aFBpC5rN6zZIBzX2XAjDGFejqH1epqLg8+gWpMCosUVEpqb/59SbJd9tAqCuRiDg/oxOLB48c9aqCw4k7lZ1JSzCEEGF8AhFRp9BfB9qXSW8h8xne0xkdoeSnEQPjEs3DTiztEd4ERwWRMxg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(366004)(396003)(39860400002)(186009)(451199024)(1800799009)(2906002)(4744005)(26005)(86362001)(478600001)(6506007)(71200400001)(6486002)(2616005)(6512007)(33656002)(53546011)(36756003)(5660300002)(41300700001)(66446008)(122000001)(316002)(54906003)(66476007)(91956017)(76116006)(64756008)(66946007)(66556008)(6916009)(4326008)(8936002)(8676002)(38070700005)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <64A2969DF99113459B66FC9C5956C66C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9765
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:
 DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0f3f398a-2ad4-4e08-e930-08db9f8d8e54
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lB4k4Cy9i1aUBd7X13SxWIRhjHt/5EUzc8ixeJHR4wj9Jfr2jcepUKDPouf1x2vznnUrEH4oNcqz3YV65vlYsp49hkld8YAU3NeJEZMqwlHE274iAnMO6XB1ara9E5TID6Lf6z1wR503UYWVno86zPByoK6kt2TN2EHmFgY4b18+mXpjKG46BIA3r4uK+jbPlNKEAUWyRxR1rdGjFa0Ph5QUWVcIfDjZd5zinuaglPjx/6PHCYyBvuxfuj/n27RSaNAawnd1gE7YwYyZjRfGDDyRe3/JBgcLnb7DzvMudYAXQYi1C1BIQVDKktdfZJCSKOGga2r87htygQp5RfqMhbzoeZ8bm3tYGhKD+C+YFvd004Xsdv0A12ionu8XahDmx3lvXEvHMnqMC+CB+BscF8W3dQ3zMuSxUFjP5fahrrpSqkaVaQuVPgBJ6ymJrLjhBpmKySPyP8FUOiGe+1zBIYUVprQFSVdG6AkCbeIOAvskB7hBRYjSrhtEZpOaI3Gpt0+8nJtPu4tDG5+fkoRUFTco4kLivcoSDjwEv2RDIfAVvGRnwQPDQVMuVkxdqeHyZT0ub++aBfJPxm5ye37D84mVGPMJL/h+a43NbrttQCbLOW+wwf+AjiJZN7SB/LhVS7IMMGy9dtOPV74gR+7J2rRgcTn094FKx59U/tPZuLTkZpDJ2S4L832EeYDTMPjUMlC0nLjsD+hMAQADW+yZRhnC2MyPqlhA0I9KVhGsvvo=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199024)(82310400011)(1800799009)(186009)(40470700004)(46966006)(36840700001)(40460700003)(2616005)(107886003)(336012)(26005)(6486002)(6506007)(53546011)(47076005)(6512007)(36860700001)(5660300002)(4326008)(6862004)(8936002)(8676002)(2906002)(4744005)(478600001)(41300700001)(70586007)(54906003)(316002)(70206006)(82740400003)(356005)(36756003)(40480700001)(33656002)(86362001)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 01:51:01.3511
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb6da7ff-2f63-47cf-4721-08db9f8d934c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7345

Hi Julien,

> On Aug 18, 2023, at 05:43, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> The defines PSR_* are field in registers and always unsigned. So
> add 'U' to clarify.
>=20
> This should help with MISRA Rule 7.2.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 02:58:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 02:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585762.916933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWpgg-0000Ia-7s; Fri, 18 Aug 2023 02:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585762.916933; Fri, 18 Aug 2023 02:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWpgg-0000IT-5B; Fri, 18 Aug 2023 02:58:10 +0000
Received: by outflank-mailman (input) for mailman id 585762;
 Fri, 18 Aug 2023 02:58:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ewn8=ED=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1qWpgf-0000IA-1T
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 02:58:09 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c64515c-3d73-11ee-877d-cb3800f73035;
 Fri, 18 Aug 2023 04:58:05 +0200 (CEST)
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 17 Aug 2023 19:58:02 -0700
Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14])
 by orsmga008.jf.intel.com with ESMTP; 17 Aug 2023 19:58:02 -0700
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Thu, 17 Aug 2023 19:58:02 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Thu, 17 Aug 2023 19:58:02 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Thu, 17 Aug 2023 19:58:02 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by DM3PR11MB8758.namprd11.prod.outlook.com (2603:10b6:0:47::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Fri, 18 Aug
 2023 02:57:59 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::dcf3:7bac:d274:7bed]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::dcf3:7bac:d274:7bed%4]) with mapi id 15.20.6678.031; Fri, 18 Aug 2023
 02:57:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c64515c-3d73-11ee-877d-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1692327485; x=1723863485;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=h0cHUZvr+ukB/8zHYsghteL+ynAt0ZLzDINf0LZmNW8=;
  b=ZY9irbN+3Sgz+zhVEftZZKvNZZn7q3f/qQKbVLDbTcuePGj/i/O5grhY
   DtdzbhsISYPigvDKuub7NTwCmmkXzA1KZuWVZYG6YCnRXK+UI6ADuTx8j
   kjEm5FYlt423XS6Uz2m/ApItRYazuF4PxgqCd4cjPiJWr01x6VzS5Nmu+
   JGEcg8tcjpBJWCUM6fE1Q2foID6j9t0bmQCDru0ZOaK7HagMKJ0xn66JY
   uqeCd1MeFMmIcG4OQHz8kQJ5/TQOXVmUWCw5Q2eH+Oo/oPXyC8daqBPQZ
   Yjx+8AhFAzqNEkdQ6Ax3jvqqwWGB+rA+ezx78uJq+A/u15PMsY0GD5Ee+
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="439376101"
X-IronPort-AV: E=Sophos;i="6.01,181,1684825200"; 
   d="scan'208";a="439376101"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="764380139"
X-IronPort-AV: E=Sophos;i="6.01,181,1684825200"; 
   d="scan'208";a="764380139"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K4i6YfUD9DJitw1n0Jy5cSVHimZZp/BRwXx+f8jEzHVNUHY7DvN3XRErp9o4I+/j5tL3CXz6uG66Gg3pUQAO06vSTOX6AzRo5Rpyb0mU9QXf2YyS6YnLrp7NNhUmWsAq+NR2ugr419WQ8bchdNjm5cnnbFLyAfhwKTpkg2RxEr5MzLLtRldZuaJYGcbYYnymSU++By4fCGuQMLBnBL8RbmnOUvTI+ebziHctV1L/y4m37VIdCA9ZCg+Mf7onSKdYw0KuhH0H43pYyTF3+60FbB5kocuvdVzPjZCQ6xlGQJsBsFxFDX6rHJozpypS8u/62BecUczyhfc+wUqkVnloig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h0cHUZvr+ukB/8zHYsghteL+ynAt0ZLzDINf0LZmNW8=;
 b=YXJxZzN51HUwTuLyFAAbpKR8D4igId4IbJKA7thspWsJEaKoQ2OJ0x8dPcewx634+9H/WFCIqjR9vKZrO+Uf3/R8RwFLKf8ikK+ckh9fDXytDCdFoEoqMWjxAp4J/rzAWcm/yP3w0vawxI6zMbgqBcLmsP6mu4rw+oJVZWIkbKCn4Hgtf2hT7hZHDo8cTvcgLibYcAxtpP2mzq0nTS5G5ToI67FWr1C3WShR19QJ+hsNkyLIMyJhYDpRtz7mU9M8H7N/oGxI+LWhGi7FPJrUplO80+DWdxjZ0mg/3xpkj66ScKwMu7c8B9m8imgzMq1R8lcWJtuKE6dQ32iJSv1nIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>
Subject: RE: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Thread-Topic: [PATCH] IOMMU/x86: fix build with old gcc after IO-APIC RTE
 changes
Thread-Index: AQHZ0CdQc42jdmVqq02jl/qT9LUfyq/vXyqA
Date: Fri, 18 Aug 2023 02:57:58 +0000
Message-ID: <BN9PR11MB52768AE0DBBD470041572F498C1BA@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
In-Reply-To: <bf497b79-7661-8fa8-6979-90f9951c8735@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|DM3PR11MB8758:EE_
x-ms-office365-filtering-correlation-id: affbc1d5-ccff-442b-942c-08db9f96edf0
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 9hDvDpjgeIr8Bg7vCP/MOgLbKIVDvSYwjN/NtSjKYaj9ZWWcRB6AXuG8BANnPKb5n5XVfYp80eJTMytHIYUTPSZX87qG9dVF6YUV/B8HHGnEdFTkXSIhD4tta1q083HmK8dFppMYlPy3pcSDranAPl+MjyD2x07VlT+Qa0zUWHBGxLFCSrpr+CJcXQgy9iL/Mhbi9AW+gzBf5FE7M8c4fquzFR6BN7HfY/ZDzU7DWKLOKXhaxfVWsbdh2u+nQlkYijmTVA4evKbzB+oyqxvNzFs2w/UJTY7+TXlXMom5nVhTwMpISTMOLwdScq96L2kSzkYCXZeRHd/3uB5Xf/rGDiu5n9FpFREIRoJBE59C6npb3HiX6VUQu1Xln89Q8ByIGovhQQzgu8/SpxBQZPY2hRagTjqUOowoL9x/a8OfBokfS6WFKoAz0gFPYsLhngJrp+f4DhGUrarxGBNvXJ4Su+1KHOlUiGcjSH1JKIv1RwyXIR651i13bXYJnvYM3m+H8Q35EBZrUo7i6GM4qFl6IoMG7bje5ngrI9+qIF093m1irhwkN1cgqEb/6L6U21n+QTJMseyCOQABkbf6YXT+9QfQjRb+4bYhONRW9AbWsaTSnsw/8INyyq5lkOI788ku
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(366004)(346002)(376002)(136003)(451199024)(186009)(1800799009)(54906003)(66476007)(316002)(110136005)(64756008)(76116006)(66946007)(66556008)(122000001)(66446008)(5660300002)(41300700001)(52536014)(38100700002)(38070700005)(8936002)(8676002)(4326008)(82960400001)(26005)(2906002)(83380400001)(55016003)(478600001)(558084003)(86362001)(9686003)(33656002)(7696005)(6506007)(71200400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aU5WZU1OMXZKMGZDcDh4ems2K1NvazFvVFNsK0NJanhyclFFVGZyRVpQRUNk?=
 =?utf-8?B?ZUhESTBPNTJlUTZtSnRDOVZxMkUxYXZXb0x3TGtLQXBmWElSQk9JYW44ajd2?=
 =?utf-8?B?N3NUa3JaUWN1RWd6MzFGd01KMXpSQXcrT1U2ejZLRXJkdUwwNzI3YVI1LzRq?=
 =?utf-8?B?bDFVTTRxc3E2MHk1NG5OVUVZQ2FNRWVxbzBVSG1JRWRWaHBXTlVaclBXVjA5?=
 =?utf-8?B?Qk5wZllacXAya2ppL01SWVFoNUZjUUQ2WWJ5YlpCVVFRN3daR296N1RGVWVV?=
 =?utf-8?B?QlBRdFdXNUJMd3dyaUdpa3ZPNmQ2c1BxUEFNNWNSQ3FPaVRRNmZsd1Q0V0R0?=
 =?utf-8?B?NFBBRkdDdmxzOURjQkFsbnNObUM3ZHMxYnhZR1Z4L01lbGEzL2s0dkxpQWh3?=
 =?utf-8?B?Mm9lQ2JQZ2dZUTl2VW1VWGNuUC9qWDVFZFB6eEZxMjhmU2U4cnNHWkxmYVpD?=
 =?utf-8?B?SGdEK296T1Q3WkIwdlNzUzBoUzJWYmpIL01WdXIxakpZdi9QWUF1ZSs2QkFG?=
 =?utf-8?B?K2doQXBCWUVYZHVmZXloZUJjbys5aEsrTXBzT2tYM0dzV09veUplY3Z4N2Fn?=
 =?utf-8?B?TzJxNzZMZmp1SnVrcm1PRERwM2pOL3Y4dGtCNDZMQkcvc1pLVVFlaUNENGZk?=
 =?utf-8?B?ekxFc2luVGNvZFE3cE4zZ2ZEV2dIN3BXSENGL0pQUmtEVDhmRlJ3VHc5V1Ju?=
 =?utf-8?B?N3doRHVGRFFhUHNYL1dYR1UvTWhsUkpNZ2x6MlJOOHJXQTN0emZiOEVGb0FF?=
 =?utf-8?B?SVp1cXBnd3c1VkVQQUxIYjFWVUFaU1ZLNDhqUDVjSWNuMGRmNlNvQzFIdjZo?=
 =?utf-8?B?ZjJqT1lsWU43aFFoTDJsem1Hclo1ZndiUlNsU0UwNFFwZ0dnQTJuUjN1TGY4?=
 =?utf-8?B?QnpRbUR6K2JlVEc1RzF1R054aExMNWNzc0dyQWZFRmswY0QxWXg5ZzdDSlNQ?=
 =?utf-8?B?MVVOR0tjQkMyeGFSbWFTUDFxb21KNEdDSlNrT0pmd0ZwWXpIaUREcjZUSW9m?=
 =?utf-8?B?dVdnYW9IYTNjVllZK1dVNzNyOHFJT1d6K3FrcFBUQ2Y3K293R0ZyYW0yRnow?=
 =?utf-8?B?Q1MzSkxHcE90WHRaYTNuSDZBRDN6cjVQRlVsY2FQWUFldFpaaDRUVTVQK3Jr?=
 =?utf-8?B?SUlwWi91MjNtSEljRGYwSWVHdjMyTlNCZVFDNnlrLzdhTUF0LzU3Z2Y2SW1x?=
 =?utf-8?B?aGZqd2JCbWNZRnc0dVJNaW5BcVI5Vll5SytIZW5WL0ZLbitMbmVRclZPYU4z?=
 =?utf-8?B?ZTV6ZUwzZ05IYXlETnFUOHE0RTVYYkxXbm9VSis3NDY3L3pWR3ZBc05VZW1i?=
 =?utf-8?B?SlpPNTdxMndrQU5acmlQOVQxTFBqNktXRjd5dVdXbWNUaE9FQStkazVuWHc5?=
 =?utf-8?B?MjJNM2dUeEs0eVZPM1RpUjMyTERqQ1FQN2ZhcFlPWERJbkdwZjNZVU04R2FZ?=
 =?utf-8?B?VE9UQ2xnM2JmZTRMZDZaYmxneHdhQUNwZlFaODVvSGZiai9NQjRDRksyR295?=
 =?utf-8?B?eVZTWENJblZrU2RTQ21DUGQveC9Jdk5GU29MM3IyUjFwVmRIbDdOdHQyRCsv?=
 =?utf-8?B?RTh6djkyUEp2M0gyOCtNTHJHQkFQWGFtYnoyaUFsWExYZ210QnZ3ODBWOVhw?=
 =?utf-8?B?ZTZEbnVWMFRLbG1nNFNBZDJOdjFCRWZ3L0szSEZIRTZQR01rUWtnOExOald0?=
 =?utf-8?B?Tk1ybG1KRmJsaXdidytWdURaQXVBb1VOMVBtcEdDdGViSzN0SWdGRENIRTV1?=
 =?utf-8?B?ZjEwQnJxTlFxb1Z1M0YyVnJhaDdrcVFpUVdrTkdWV2hST3JCdFdSN1Z0T1RY?=
 =?utf-8?B?Y2d5YWU2YzhjLzk4MUJ5VjVpQ01CSVZjVWhIRVlkMnJQM2pvMjdYVkNoWW1G?=
 =?utf-8?B?ZFhqZllydExVY29HNTFGL2MwNWFYZXBLbVFoc2gvYXJCSWFIdEdLS1BDT1Bk?=
 =?utf-8?B?dmc2UUpLZU9sMDFVckpEekNmRHpTWGdpOSswbTJmUzFjTEZjTmlaRXJ2KzRH?=
 =?utf-8?B?NGVTcXZtVTZWcmNTaTBOL2h0S1pCU0dySVc5SWk3RDZ1Z3ZvZ3FFSGFlSEUz?=
 =?utf-8?B?ZldyQWNZR050b0V5SmJOVXBRQzBRYnlIaUZCRXFaZnZZVG0vNlVNKzFyOWxq?=
 =?utf-8?Q?aozr21pEz1EKPeHFJVWv++Kyq?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: affbc1d5-ccff-442b-942c-08db9f96edf0
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2023 02:57:58.8684
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: x4MNwWdIBkr9QgUWJm0En5mf1UWeJzJE29nKLG2ox+PmyZ7tR9vrOMcP5rvE0fcCHUAJ+X2MolWv41WupJfh7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR11MB8758
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFdlZG5lc2Rh
eSwgQXVndXN0IDE2LCAyMDIzIDU6NTIgUE0NCj4gDQo+IE9sZCBnY2Mgd29uJ3QgY29wZSB3aXRo
IGluaXRpYWxpemVycyBpbnZvbHZpbmcgdW5uYW1lZCBzdHJ1Y3QvdW5pb24NCj4gZmllbGRzLg0K
PiANCj4gRml4ZXM6IDNlMDMzMTcyYjAyNSAoIng4Ni9pb21tdTogcGFzcyBmdWxsIElPLUFQSUMg
UlRFIGZvciByZW1hcHBpbmcgdGFibGUNCj4gdXBkYXRlIikNCj4gU2lnbmVkLW9mZi1ieTogSmFu
IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiANCg0KUmV2aWV3ZWQtYnk6IEtldmluIFRp
YW4gPGtldmluLnRpYW5AaW50ZWwuY29tPg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 05:10:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 05:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585770.916944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWrkr-0006gI-D2; Fri, 18 Aug 2023 05:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585770.916944; Fri, 18 Aug 2023 05:10: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 1qWrkr-0006gB-8V; Fri, 18 Aug 2023 05:10:37 +0000
Received: by outflank-mailman (input) for mailman id 585770;
 Fri, 18 Aug 2023 05:10:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWrkp-0006g1-I1; Fri, 18 Aug 2023 05:10:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWrkp-0006iD-CR; Fri, 18 Aug 2023 05:10:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qWrko-0005TV-TO; Fri, 18 Aug 2023 05:10:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWrko-00069E-RG; Fri, 18 Aug 2023 05:10:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vzBhU9uR+0WbSg6MDC4CebW4jQdkpTuuSld/rVwyea8=; b=q2+9nIAN8I2HphWFuttm4OpC4a
	szLTSZox2PZtCn3UGP0BBw4Eu3YOoOqk1rsNLnCHqVHHwR3oLObeZDv7HhUFZ5du3yl/Z6/jIPcS0
	AhQbj/5tQi/JDLJBMjKfPFbX5Rmp4qJnWrOhBOfKb0DzpqmujaKhldzQOmFmq+Df/0hI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182372-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182372: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=38ba0466a1e262edd031500d24919fbf4e48c794
X-Osstest-Versions-That:
    xen=d0eabe3eaf0db5b78843095a2918d50961e99e96
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 05:10:34 +0000

flight 182372 xen-unstable real [real]
flight 182375 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182372/
http://logs.test-lab.xenproject.org/osstest/logs/182375/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 182375-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182375-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 182375 like 182367
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182375 like 182367
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 182375 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182367
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182367
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182367
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182367
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182367
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182367
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182367
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182367
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182367
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182367
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-amd64-i386-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-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     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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  38ba0466a1e262edd031500d24919fbf4e48c794
baseline version:
 xen                  d0eabe3eaf0db5b78843095a2918d50961e99e96

Last test of basis   182367  2023-08-17 01:52:00 Z    1 days
Testing same since   182372  2023-08-17 17:37:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d0eabe3eaf..38ba0466a1  38ba0466a1e262edd031500d24919fbf4e48c794 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 06:34:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 06:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585787.916964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWt3e-0006vR-HU; Fri, 18 Aug 2023 06:34:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585787.916964; Fri, 18 Aug 2023 06:34:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWt3e-0006vK-El; Fri, 18 Aug 2023 06:34:06 +0000
Received: by outflank-mailman (input) for mailman id 585787;
 Fri, 18 Aug 2023 06:34: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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWt3c-0006ux-DF
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 06:34:04 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe13::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38acf06f-3d91-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 08:34:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9383.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Fri, 18 Aug
 2023 06:33:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 06:33:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38acf06f-3d91-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jJhkY5SmtK/z3dnXP9CJNuDhVbg2VPA5jctnfFdbR10+g2KD/MvJKDWYiymib6/CQ+2VwhKUVJ2AjMtqgGUd+Fp8vu/S678Q7d7m4KvGVqVbJzmOfB8GBMK3folfc8EdAMGsRezvMNLEIE+C4Sy71IkWCGCBBwiPZtKJXNdukz8SpcadxWpXEPMJDyPeJYF0oysM5Tybl7ufbBsJYXoPgfVnzs+sSCikyc4ahT4aku2CBDZE4qGWUJciyNnOunKrXeu8IjVB1gvvA0R9XY6HXNZztmN/IstSJ/MLAg0CHKJf0Bizrck4SeWrBfr7OUD25/5CXJBjtPgltDG3Po5SKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/s2ilwCuOWNUjnatMaMSFRZxcydlEoeOTKJCCAKifNA=;
 b=BgAmn/rVSP4+HfpRCkZ1gg7Cs35holR1VE9DPm/C5FCYezCuEtDdjiUEAbeJcrtkfRqSDLlAY9dI6Z+qV+Ncq43ILKVJNECyBZZhHSxFv6HrUmIwZ8U9sstUZDbL/D99VnXmr5weYH9f5nqINFjjhAuJpmhEmn+E5j55B09QgxTSGEchVcigy/XXHkU1kG9Xoa2en2BDU9EklfyMn7RDCqGn9I3UCcqpWMJFXHdlqIzA8Pj8wlSD/ERbEydx3vfEdNfZfdd02DDWD2/Fkz5d6wXiqsXlIe1mq6fBQu7CWZpDC2oJf9Xrj16Muphvx1xu3G62x8vBiKbv9yHqu1dsFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/s2ilwCuOWNUjnatMaMSFRZxcydlEoeOTKJCCAKifNA=;
 b=NKtIpA8nXfGZMzQWad7YDHClRKhClg9AfNhGLMG0LTN+sSAhso5v6965sUBfRDf517JOkURdi7aPFB90rrJggPeGsy/5MjTdaUNKiqvoD9Avf6HIcWbwT8A6BZjM1XJUzf2wOWbkXU8h5tvSQmWFoFHjYsPHWdbazlyDaKjc9a5AQA2gSB6vT3Hdpp9DBkRK/zizf3gxLwnyjX8f0/pSiWA62kfpd+K7nCscpFYJGmt7sdtqlMOk83kpC2YztqvqApRU5eDEH5FLlLbNsdgIL51iNJSDLVwiSCcBEGo+Vbtw6alwNsMyJpxA42HK/qZnaW2A3PPfjrwE58tVQlJFOw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
Date: Fri, 18 Aug 2023 08:33:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230817214356.47174-4-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9383:EE_
X-MS-Office365-Filtering-Correlation-Id: 2427b4ff-dd2d-41a4-59e0-08db9fb51b09
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	htbi7RvHKkLU+WrDBUKLPZUCapMoN28BrXLFOPDHn1/K8EsmZJtfCRz8RxbemxTfSdRVuISt5wHSEuX3fsmJYy4FParfkVl/FSpK0m5j5akKtL/cx3kM1TQek437b8W9aL4wT1jye4VX3Emd2AmCiipCAGsGWMGXC0yhEXu0bZJ66qKludmB1MWMIHONueAVcAkVJdPQ/hTYEKlc+npfsxf8FyaBDRhrR6r2TcDwTRN26ZVhEhTglQNgSh2X746SHCly1C0eSoMImzapOPrKlb6Wu0w1YOIx8e+3r4vXstcAoV4vX0+vgPRKOrIVogW9ooSzJWjK4vVkKpyEGGTOYgyRfc/KJp2n3q6I09kJLaRRUNO39G9iTJakyPL1+CKZVuNnLgiJMM7x1/iYt/+dlGhCgEyUizNDt/OdhfVo3C07zWrZEw21GlQ9M9wQeiZo8quJYSjbWjwzKx04ZBny/ePn2ohy5Nk7bBHdsSBPqKGgQzmeOomWW86RIVlTpYTZF9UEH69uJS6KPlOPt7zoxW7H37rkFy9cZb3H8J1rP9d+PK0pIUjR3RyeeUbxAI/hbh86Cagl7tX1Bjxjavx+XsQCInE6SHuBtZStkm1aWviBYJijPgD/jNjK7bgQo6kcfrx5z2t7uK+r24Mj6E7f6g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(376002)(346002)(39860400002)(396003)(186009)(451199024)(1800799009)(31696002)(2906002)(26005)(86362001)(478600001)(6506007)(6486002)(2616005)(6512007)(53546011)(36756003)(5660300002)(41300700001)(54906003)(66476007)(66946007)(66556008)(316002)(6916009)(31686004)(4326008)(8936002)(8676002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0xFY1VJQmkzblQvdEQvMzFsNk9uY1JvV2FLeGxMbllpdWZIcHo4cDBCbE82?=
 =?utf-8?B?SndmTE11VzVRK1RuRUVJaGYzZXEyTjNva0IyNTBIUXlSZ3pFbC9MSTFLcUp1?=
 =?utf-8?B?azVteWJ1bFR6QXdBem5YYVRtV3RQZjB3VEZlZHhwa0wyczg3eml0bWxMY3Jw?=
 =?utf-8?B?RHJuOEJEb3lQNmNjWmQ5dWJzRzltSlhlM2t6eXlVOUFhdWNSbXhrK0s4eEVk?=
 =?utf-8?B?QXc3NmIvS2J5WHN2cnVQMGxEck5yN3M5S0FuOExZUlduTTRRcEUzci9OVStJ?=
 =?utf-8?B?OElWM0VvTzFOUEZIY0J1alFnZ0hrYlZDbEdmR043dEFUbnc5WmNydk1JbS9X?=
 =?utf-8?B?OVQ5QmlpNVdWVUZiRUxTekZlVWpPQVpzVGlkciswR0hrUHBWY2FjN0R4MUUr?=
 =?utf-8?B?UTg0Y3JieElrS0xrNjBpUkRXdThKWjVHa3hlbkVFcTRJdktuK0J0WmpDRnE5?=
 =?utf-8?B?QzdqaWdNZ2Z6QXNWLzk2YjJmc2tSamZXUHZSMURiaXZZU2ttUUNVWnBXd0li?=
 =?utf-8?B?ZndpZHk5bUdMWUZYeXFpU3FwMHI3allGcFQ5T3ZtQThmdE1QRDB1TUZuSG82?=
 =?utf-8?B?UVF3VS9DL3A4MEF4ZWJxcjZkbFZQZmtmcVgwOUNlOXB0SnhWVnYxRlk2SzR4?=
 =?utf-8?B?b0ZBQW12UHRla20yUitNZEdOQ2xIalVkaUN4R0FXN3lSWGZFQW9oSXp1MWMz?=
 =?utf-8?B?by9iVnpXOUdxMUdNL21ENnlPN2xIbFY3bFpLbTRlRE5UWUZZcTFYK1NMS0Zo?=
 =?utf-8?B?WTQ3NzF0RTFHVGFPTThYNjBmZ0kxUDlNYjAxUGt0cW1wSnhqN0NhS1dDR2Rn?=
 =?utf-8?B?dnBXZHduQklqSnZBa1RVM09MMVByTDRWcHoxODlzQ2Jyd09SSGhJOThsY3NX?=
 =?utf-8?B?a0d5WEtZY1hqV3dYNVRwRnNOdG80d2VWSXhuc3REam9pME9ZT3RpZHU0QlZl?=
 =?utf-8?B?WitlY1pZWURGK2lCMDM3RG1QZ3pOQ0h3NlY4eXY3UFZPNUVidW5zT2lqeXhM?=
 =?utf-8?B?QWZsbnY1QlJQd2xlRDM5M3ZTTEhQenlQdm1Ybk16a0pHQmVHeU15QWJjT3gw?=
 =?utf-8?B?amJ1RE85elFPYktSTEdObFlQTkM5SnM1bzlkMWJCOVJUQjBxU1RwMnVIV294?=
 =?utf-8?B?RVRmYXNxSGhOVVR6aE5ORHpZZHFRNTR4eVE5Q2Y5Wml5bzZhS3dQRCtpU2tw?=
 =?utf-8?B?bnppL2I0THgzRUFrOGZDd283SndIeUx1RUJDbGJ5SnpiOGhmYUx5UG5HZjNV?=
 =?utf-8?B?K3B5Uy9ZM0dINFNMU2NkT08wSnZpZmtBL0tITSthZnkyQ1p6L3FxSkdHK3lD?=
 =?utf-8?B?aUNOZ2dPT0pBRHlVY09ZTi8rMGNRUndRY2Zwek15WWhaUDBINnRQVS8vRE1F?=
 =?utf-8?B?dHN4MEFQSnZHd00yUE9JQ1I2Smo3aFhSS2p2OTRpeHI5cTR3VzRIRk40ODBI?=
 =?utf-8?B?alVEK3M3aU1QZDY5RS82S0dVV3lmVTZZUDRhVlBvREJIQWtQZlNERnFXdmxr?=
 =?utf-8?B?aHdIVzIrZ0tlKzZtUFdJLzFVRTRDUnNiNXhJOE5NOHJUZXhLUHVRZy95U1ll?=
 =?utf-8?B?cGFTWUg5b2U2WGVlNlJDLzI0RjhId040S0pWNUVxNnlRVFd2UUp3ZzBpU21Z?=
 =?utf-8?B?SjlXNzJLSDRXbDFzMmx4R0dTdjA1VE5ndjRXN3lYS29iMTRoSE82QWUyWmJj?=
 =?utf-8?B?TWhFREUyOVhiS2VwYlZTOEtycW1BWVZVbzU3WUNZemcwYjZqRXROMlFlMFA0?=
 =?utf-8?B?Q043NWdaSSsrTTVhWmtYQlN6dzZWTU90eGxna2VDd3l0c25MTjQ4c2FBMith?=
 =?utf-8?B?aWp0UElud1J4aXluZVA3OThPNmt4QjAvY3NRTHJHd2tVbDBDdi9WR2tJZzRZ?=
 =?utf-8?B?cWFSL3JzeTliNzU0dzhWTUt0WHJTMGhLQWIydUx6NDVyYWtlMjl6a2poc0dw?=
 =?utf-8?B?Uk5nR3pYTWxVMVUzc0FtMDcxWnlzeGNzckNpQ3JFbGJJZFJFWXIxNmY5Smpo?=
 =?utf-8?B?aGJNL3ArOFRkcXhwSEQ2eHhtRCtlNzJYdXpzVUx1UDBBK0ZMV3IwYk5YLzhV?=
 =?utf-8?B?SXdQdnlqN0tFSUdJSk91QjZVcGZpSW9sUmEzaFFpZjRrcUF5ZkNpTTNlTTQv?=
 =?utf-8?Q?jqFaezpNLwioQqR2YyEaVgBvR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2427b4ff-dd2d-41a4-59e0-08db9fb51b09
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 06:33:59.6038
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s6KCQtQ2L/L9DCn7Dqnd8kcgAzxZQO+k2opo1D+40fZYw61nSOUOSmx4eqdRAlZVvflhePpOQqiNg8yjQgJUrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9383

On 17.08.2023 23:43, Julien Grall wrote:
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
>  
>  /* PSR bits (CPSR, SPSR) */
>  
> -#define PSR_THUMB       (1<<5)        /* Thumb Mode enable */
> -#define PSR_FIQ_MASK    (1<<6)        /* Fast Interrupt mask */
> -#define PSR_IRQ_MASK    (1<<7)        /* Interrupt mask */
> -#define PSR_ABT_MASK    (1<<8)        /* Asynchronous Abort mask */
> -#define PSR_BIG_ENDIAN  (1<<9)        /* arm32: Big Endian Mode */
> -#define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
> -#define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
> -#define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
> -#define PSR_Z           (1<<30)       /* Zero condition flag */
> +#define PSR_THUMB       (1U <<5)      /* Thumb Mode enable */
> +#define PSR_FIQ_MASK    (1U <<6)      /* Fast Interrupt mask */
> +#define PSR_IRQ_MASK    (1U <<7)      /* Interrupt mask */
> +#define PSR_ABT_MASK    (1U <<8)      /* Asynchronous Abort mask */

Nit: Did you mean to insert blanks also on the rhs of the <<, like you ...

> +#define PSR_BIG_ENDIAN  (1U << 9)     /* arm32: Big Endian Mode */
> +#define PSR_DBG_MASK    (1U << 9)     /* arm64: Debug Exception mask */
> +#define PSR_IT_MASK     (0x0600fc00U) /* Thumb If-Then Mask */
> +#define PSR_JAZELLE     (1U << 24)    /* Jazelle Mode */
> +#define PSR_Z           (1U << 30)    /* Zero condition flag */

... did everywhere here?

As an aside I wonder why they're here: They look like definitions of
processor registers, which aren't under our (Xen's) control. I ask in
part because the presence of such constants may then be taken as
justification to add similar things in new ports. Yet such definitions
shouldn't be put here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 06:51:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 06:51:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585794.916975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWtK1-00015p-Sp; Fri, 18 Aug 2023 06:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585794.916975; Fri, 18 Aug 2023 06: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 1qWtK1-00015i-Q4; Fri, 18 Aug 2023 06:51:01 +0000
Received: by outflank-mailman (input) for mailman id 585794;
 Fri, 18 Aug 2023 06: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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWtK0-00015Y-7K
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 06:51:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96631315-3d93-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 08:50:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7176.eurprd04.prod.outlook.com (2603:10a6:20b:11c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Fri, 18 Aug
 2023 06:50:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 06:50: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: 96631315-3d93-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gXskbTA6PHB1Medm2MJz9RrlBX9K4QjOnyjgq0jotIlMNJJ1vb52Pk2wu3ul7sJ7IIR3xmD8mMe8Pt1nPgYSpGeR3vno+QzmVUUTzyn2tzFLQKxk+ZHgam5SKi27ER+mO4OHjyuK/UPSmUZ1H5QzT1iS8Lb0va+Ma0iwGcml16OccAwfPwru4HLQdtUfZXWqOwg7eIw1Lz6R2sn2dAgZepUcX6F61yTn/Nb1wqoB//qS7hFfBmqt6a0guuC7pi8Ju8wB9D79iP64C5JOvI5Hgi8w8Rz7ldub6k106Qd/Gma3G9LuY36e4SsXd5KrGHtE2MEjCNlio+SclV2NEqOfUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s7s1+R6tZTHRX/faqws1uxQoWFSUf5hbELCwTFGIBJo=;
 b=WC6D615cs9WDFz0yOyzv1CVwwMeXt7Bc8Zc35lVc84xZvM4iVcnh3EmB2cXTya9Asvf8uU53AzvUzC/3G8fsJELUQNzqT7z+/QgJnL8tIEqE6kheX2qInmrkTjrWgxu6CMLUt02bFR4JFgiB2tQxE7aij5NSf+FABq50/byuz4o61QEZeCwV2WpfKLU4BQxYdn5wU2ZcWmiYROqRR52KxNWhh3k2mVxDvQpHbsH9Y3zcAS/5vjo/hiDuPC4oZ7iHTiTiAufGge2URjjuMzQOw08wWaYlCuVwvSBGV317k05rinOZ4+Ax7lc1C9PHJCR1dQt5auERZkfOVxg45gcKdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s7s1+R6tZTHRX/faqws1uxQoWFSUf5hbELCwTFGIBJo=;
 b=vAT2jqlIqa9aW6x4m5NFEgGekRtOMd68jmsdiSsyZ8b+AFib8bBqavgzrOExL15pqoATdkMl1+I7u4duCdah9RPPO8CpFewpP5NI/CUrweO38d0R1BbPdNJBR+Hlt5zCmU7/bAOjokvqVJP9ikMwsKaChhcjDYgiqG13z7r72swggvrfE1kHsvz3H/qeUWGLRwkSus8guNPfyzZuK99fcYW/TK4Qay9b2oM5OKQ9Der9lXJy6Ws6KVN2rYUpG6sVtdLNMj0wB+jdksJrEyyDDhRhOHfbQ7SzpHq3jIZTqlxkUgX2YLus2HNaiL3MhzbnOKXA0/jgVutK+ll4q3vuwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <622e33b5-7fae-ba1e-0100-667cd9b50ceb@suse.com>
Date: Fri, 18 Aug 2023 08:50:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] rombios: Work around GCC issue 99578
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230817204506.34827-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230817204506.34827-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0181.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7176:EE_
X-MS-Office365-Filtering-Correlation-Id: 8323adbb-e2d2-4e42-7892-08db9fb7793c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uKhLH9iTUPL0Jsezs6lWwEFIbCKgz6VR4yzOno5mv4PylH97GkeTeYwPZp8vvT3RSOBvqS0uSWE3sjqty5NeRqKSz68vCuzbLYMR3Kvv73IfXL8ONTWwmhDFpZlmoEQdcdGeUYfWXk4GvzHZC7/NMolBJCwLItn0AMV3KgTaAI6VyU+YDBjCJfHQIdZF7mXVm4wuyH0qeuoSYEvXKJTK5mry1vJMO092rJ/9LduYNkDPkXx6EZAxl5G8cttB675gVLOT+kjgxUEoUJ2MFLolU1ym5OaQUEFnYZmkvMKG+NwjK0V3HxhMI9XIvmwCpdXJ0X4to3igE706Xf39DkY6zjfV3hjWtkfMzyF1Pfw8pI23Eq7MfYoV3Pcvpj/WoitaWb8WmwL/r439wkucMby3LBo6YtR3+p/i8V/09cgGQrqAlG/f9/tNLTHHUs93MiiznupzrrzsyqwFmyj+At1ZfJ6cRXVks5EoV82Yl53a/3UVy377+ltlpAKLe/WIjI9HrbqipBniSym3eA/SYvcF18ncYMvWD2Xfxq+lGHCOBAJ2zaS+vefTKemBvGeKvJYSS5H2x5dBRTYZRzdOKql4XwHG3qQW0vGiKSpbdaLtD53wPa97URAmfO5uOaDypLS3A7/og9NeeUCJydC82ECJUg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(376002)(39850400004)(346002)(396003)(186009)(451199024)(1800799009)(31696002)(2906002)(4744005)(83380400001)(26005)(86362001)(478600001)(6506007)(6486002)(2616005)(6512007)(53546011)(36756003)(5660300002)(41300700001)(54906003)(66476007)(66946007)(66556008)(316002)(6916009)(31686004)(4326008)(8936002)(8676002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0g1VElQU0FwQnMxUHNvU3AxcWhSQk96QkkwSDhPRCs2TlUycy9QZXE0UDEr?=
 =?utf-8?B?Y0YwWHFFbmdEdk16QVYrc3haQ2FPbG9uQmNiaWNqYXFkUVp1ODBBOXVJcnJD?=
 =?utf-8?B?Tm5GcnlDT3dBSngxMWcwTDR4aXVGUUFCQXhNemtYY3RNUVNKeU5xblZzYndZ?=
 =?utf-8?B?TzRrUEYwMVc1Y01WS1JKeXpFOVdIb0tVNWpiT3g4aURLaXVwTWlaZWY4UHRG?=
 =?utf-8?B?N1NQUVEzSkVjUWtlTVVUWVVIaGxySmkwK1RnSktGUXhOdWNuZEh6NjdEL1ls?=
 =?utf-8?B?ZTZkMjFaak5JdlVvWXpjZ2pEVm02V3o4ZHQrUUdYUndsWXhaUjUybVdvWFlq?=
 =?utf-8?B?L1Z0dVpEd1NUcWxiVnRJRHdYS2phZEtUNUt1UE9QMit1UHl4YlZJM0RXYktk?=
 =?utf-8?B?ditkbHJXdGE0eG5QMERQMk9PeHJjdUlOcGhtZ3Z4MlBHNnJMeFdwYzBEYlpP?=
 =?utf-8?B?Y1NpMG5oN0wzYnN0dlJlWnMvdkpkNWZPeFhFSlZHN3lIQm9QYm5nODR5TkJ5?=
 =?utf-8?B?TElJQ1hFeTZYWDRUc213TXVHMENRaHppd3JqZmo5Z0IzZVRuanFYbUxqeEtF?=
 =?utf-8?B?Z2dqSjNoV2xFNkU3MzZaejVrUmVmQytpMlRJcmJ4L0swSHBDQjluUXFoQXFQ?=
 =?utf-8?B?VnF3QWJMeUJEUFc1WnhjaW1pc0pDbFRrMzFkS0llWXkxdFVLbkR4eWU1YkR1?=
 =?utf-8?B?OVE1anNPNDEyQ2lqLzZMa25semVOKzVrZTk2aEh5dzhQNmN2akk5UWVlUytj?=
 =?utf-8?B?SXQzUzN4VWF4eWRMU3NWcElTS0FRdG9NSDZYenZOOHFJbGZjeFJ1eDRTMy9l?=
 =?utf-8?B?eWpRclFSU21ZMUZlZXpIME5yb1ZvcThFdjVEd21BQkJpMUZOZ3F1VjhyeDNk?=
 =?utf-8?B?dDhzSHIwQ1lUaUpzTDBHYmEwZzRxNWdwVjRkV3d6Mmt1alJidUlLOTQzcDZz?=
 =?utf-8?B?b1ZqcklKazdWVFhoVFFKTFdPd1hUVVc5SUg4Z1lkV2lKNEc0eVFqVmpIaW9m?=
 =?utf-8?B?WGRaWllYWW9SVkx4YitvWlBnYXZUc2lpOWViN2RNZG9vVnVtYkI1c1pMR3E2?=
 =?utf-8?B?Q2hrSDRxanVyeUVvZVl2ZUZMd0JyaitmMlBQdzNOcWZWYkd0dGMwNUdCZVl6?=
 =?utf-8?B?aVRQWCs3NjdPUDdEUlZiN1RyelovMy9jSDJhUHQrN1Q5dTAvN2VxUVBJQkZR?=
 =?utf-8?B?S1dFamY5RUlHYmNDNHNqUjl1ZlhJNnc2NVVhcHhQODVpbVorQ3hnR0hwZFZt?=
 =?utf-8?B?OEdWUG4xWGNDOERhcjRFanJOSHJ1THhDTzg1YmV5YzF4YlRSOGsrOHJXc08r?=
 =?utf-8?B?NDVma3dkWWU4cGpJek4zVVpISUxIMWQ1N3BDZ1FYcWt0MmdtQ2w3YmRLN3I0?=
 =?utf-8?B?d2g5OG9OYUpFcjJBTWVjZy9BWStyMmErZFN0dzVrVndicEd4bGFxNUpqWHRC?=
 =?utf-8?B?Nm9TdDZwYmZyQS9POG5LMFZxcXNmS2JYd3NaTEZRbDMzWVNYZkxaVWJLMEF0?=
 =?utf-8?B?WnhSaUd6UmJLdlJJYUI2ZVpPUEpWUVMySTBtUklTZUg2WDVSdVF5TU5QZmNL?=
 =?utf-8?B?eGJLeE1FQlRJMmxwS1hFVjE4MHA1dTB3Wk1HbjQvSXNJVG8rZGVVWktiM3J5?=
 =?utf-8?B?ZnQrWE8zdXJ3WFpubUxuQjJxdlk1RGhVUFVVemd0eW1zUDdoSXdpVUFZZk10?=
 =?utf-8?B?UmIvVm5ZUHhwZVVTWTVqRXVPZWJzcmZFWUpyelZMOCtJZDlPaERYVlFtZita?=
 =?utf-8?B?aDAwU0VpUXd5cGkyblcydHhBUWEydk5KYWpvN1F5QmV0NzVhWHVPYmhCcFF4?=
 =?utf-8?B?NjZwY0s4ZGJOK0VueUtCM0hWY3dTTEVweldsblJUcFlTZDJzMXFPR1duWSsw?=
 =?utf-8?B?NktIWVFKTnZ1Vk9SbVBqalRvVUM3eWNrSDI1OUI0VkVhdnZ1UGVTZnByN05l?=
 =?utf-8?B?ZU5vWGNXdFpLekZvWjF0Wlp0bWwvamtWRWs0MVRLYXRSK2dhNWJicHl4dFNB?=
 =?utf-8?B?cGQ1MFRRY2Y2VTFRbTg3TC9tK04wV1RzQyt6cnpJb3ZpUE5udVo4cFFkRTJl?=
 =?utf-8?B?NFUzRVRNbnhQMXd4cEVjZlAySVljRldGdVkvNXhVdGNENHRaL1JuYlk5Z1kx?=
 =?utf-8?Q?+fktrvtvJ1C5YmIrhU4CpnLO5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8323adbb-e2d2-4e42-7892-08db9fb7793c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 06:50:56.6439
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QChs2QFOJn6NFgZPmXx47L3cYnuXRkebhvSD4oy19ONHf/AiMvPLP3vLCUGM1mTTd+KjCSozPg8Q8MpuNFOBcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7176

On 17.08.2023 22:45, Andrew Cooper wrote:
> GCC 12 objects to pointers derived from a constant:
> 
>   util.c: In function 'find_rsdp':
>   util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
>     429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
>   cc1: all warnings being treated as errors
> 

Yet supposedly the bug was fixed in 12.1 (and the fix also backported to
11.3). Did you spot anything in ADDR_FROM_SEG_OFF() and this particular
use of it that is different from the patterns mentioned in that bug?

> This is a GCC bug, but work around it rather than turning array-bounds
> checking off generally.

I certainly agree here. I guess it's not worth trying to restrict the
workaround for rombios (I will want to try doing so in the hypervisor).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 07:03:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 07:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585801.916984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWtVX-0002xE-SM; Fri, 18 Aug 2023 07:02:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585801.916984; Fri, 18 Aug 2023 07:02:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWtVX-0002x7-Po; Fri, 18 Aug 2023 07:02:55 +0000
Received: by outflank-mailman (input) for mailman id 585801;
 Fri, 18 Aug 2023 07:02: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=Sb/K=ED=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qWtVX-0002wz-2y
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 07:02:55 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20630.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 400405bd-3d95-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 09:02:53 +0200 (CEST)
Received: from SA0PR12CA0003.namprd12.prod.outlook.com (2603:10b6:806:6f::8)
 by IA1PR12MB7616.namprd12.prod.outlook.com (2603:10b6:208:427::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Fri, 18 Aug
 2023 07:02:49 +0000
Received: from SN1PEPF0002636A.namprd02.prod.outlook.com
 (2603:10b6:806:6f:cafe::4d) by SA0PR12CA0003.outlook.office365.com
 (2603:10b6:806:6f::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Fri, 18 Aug 2023 07:02:49 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002636A.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.6699.14 via Frontend Transport; Fri, 18 Aug 2023 07:02:48 +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.27; Fri, 18 Aug
 2023 02:02:48 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 02:02: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: 400405bd-3d95-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BnRHVIhU8FLRJpDBVBr+tDgKvJHZECjy2k6KjB2PqF9SZvrv7Ng6tvH0VbuHcFKbkTbWu0dla07sjO0XPA3I/Cxm1I2lG8I2UE2hcIf74LAcEe5UAJjd+dehMiFPxSZhw+xT4d5H4l1GMyuXkcvLLIw3sa13fHkvPYt8V3IftCbt4LALhdokmHIZ0C+aFCC5Bp96/V+59HhKTr2rs2oIFQL+Th8bGwOLwCPNMk07dmUPwPxRuaNf1yzzz9afMnlZpNNGSJMGPk4QKRutvCkWHUSrrNN6ZEN22Q2QH3be1hpULiD6iSUccIFuvsrsNP0coateK1CST4kejMMdVbI8DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JAKrpvgdMwKNxemFf7MSsdZWjuNYAwyagXvDGouy83I=;
 b=RUJMeF9i3JOVD2O34Dke+sX5VYN8WV7/nULmTIqItBn8R2h2GnNDQe5p+NCD5mNSSRg+fL6uEqKEu2hqhijO4TpfZOLhwHtnmcQ7WeyWeGEAkBtpPJjMEGDQ8iQwdaOD9YDrhN+r/BOZ+25y//yeA2gijSMBx1vP59p72DtmiyIJEkVxlkbElcbuz1S0d0LsY2fM159cNpgL7U1ZGcMIY7oKTIJGpnHpB9OZFcnBU5kIZTRwE20FE6PaiJNvmPyl1IuDm/lnfYlSYb8VwaPzYk+iw5+VbUo4jCrUIcIyZVUvaDXpU8LHfwH0QiRrFRCsB9MKK5DPpNNdcTe61QBvqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JAKrpvgdMwKNxemFf7MSsdZWjuNYAwyagXvDGouy83I=;
 b=A9tXpN8bmVQf0ipl3xzVOisQSDud2o86WnLaHRHbFH0WLuziVwQsjyRl/A896/9rAV3xGim6Wv4AJ2a/RPUM1B+nZLQcszydacVt1sz9dMzC9y1s6BCLBlUOEUW036CAFfmSSxmunGmvI00LY5H0RWvc5gzUz0t6AxYYD15uzAk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e3258b25-99fe-5c4a-e539-06b08fe85e2f@amd.com>
Date: Fri, 18 Aug 2023 09:02:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-3-julien@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230817214356.47174-3-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636A:EE_|IA1PR12MB7616:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ec1513b-0c2f-49c3-5981-08db9fb921e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8a75dLAhktdJN82edjfreRw6Tv3Iy0vM1qctGniMxcco5+Pl5LouDtwgHn1aNaNLznBAZ77MMnvh3KZ9AJHS3b6vWk6MhBjj4mTazeJgctX+Wa4MFRXDY+87yYzSTtgT3Ia7O9sC2SKK/EHikclDpQxZoWq2VETvAEEUnlCbmu7F3Qb2AQCPnxbm0HhCzb8Cwh4EhYLzGCVzGxhem9yVaVjRbG9dvUXXfwHd4NkVfFFl8IYo2i004Ne7DuvHB8tEiaj7X5kg5rNehy+ItgCIMpHS+wlawEQQsomF8DHuMqVDkfrJCtPX/XAAzfxS+rgnQFpgs6SRP6zGCDzvdh6EXCd9BxkucCK49Qzyu3JVe7yGD+WcEpCJFTk7Bd8Yi/DFxYBh0CyXzTH5vcaQLkYvVCT5cI5tcwZdAjwaC3P8mAPNJj1VrLTcJ5eYXdLkPT5P/UyJliuMzA8ZnmqKFCmLv8mcgEbxviUN/66aYy9FLnpa6y49QoFYzCa+0tRECBzSajbJEk/3pdXcIwFYu42d4DPFwkbpem/24CRwRL5yA+gSCcuRDQgehISVouMnUF+et6RzJmQgJvfplsS//kos1Xea/+4d/3EWH9wX60ju9TcO6smGJZ+wKNln+9RZRKXkIoK2jfSsvwcDi6tBpBRnSK/fEqkQP66OLfelNTubOWjhFLYo6Hmhiq8PxhLzZKTuceslRm2DQbZhf6ytGVWbxM/9FdILR+1ZbA8+UqP+5VSb5urNlZJ8sYBRkNjwN0G5wrTy0QZQ4kk0SfNQS4VteRbaBKxsnUiO+8nIJGysoSD+SGbYo5ufbCFnCPaveTU/
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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(186009)(451199024)(1800799009)(82310400011)(46966006)(40470700004)(36840700001)(31696002)(2906002)(40460700003)(4744005)(83380400001)(26005)(86362001)(336012)(40480700001)(478600001)(426003)(6666004)(2616005)(53546011)(36756003)(44832011)(5660300002)(36860700001)(41300700001)(70586007)(16576012)(82740400003)(356005)(54906003)(70206006)(81166007)(316002)(110136005)(31686004)(4326008)(8936002)(8676002)(47076005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 07:02:48.8549
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ec1513b-0c2f-49c3-5981-08db9fb921e0
X-MS-Exchange-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:
	SN1PEPF0002636A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7616

Hi Julien,

On 17/08/2023 23:43, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> Switch to unsigned int for the return/parameters of the following
> functions:
>     * REG_RANK_NR(): 'b' (number of bits) and the return is always positive.
>       'n' doesn't need to be size specific.
>     * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
>       's' (size of the access) are always positive.
>     * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
>     * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
>       index) are always positive.
It looks like you forgot to mention the modification done to 'vgic_get_rank()'
With this addressed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 07:40:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 07:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585808.916995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWu5W-0007XZ-Ks; Fri, 18 Aug 2023 07:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585808.916995; Fri, 18 Aug 2023 07:40:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWu5W-0007XS-Hc; Fri, 18 Aug 2023 07:40:06 +0000
Received: by outflank-mailman (input) for mailman id 585808;
 Fri, 18 Aug 2023 07:40: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 1qWu5U-0007Ny-V5
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 07:40: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 1qWu5Q-0001iJ-UV; Fri, 18 Aug 2023 07:40:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWu5Q-0002Cl-P5; Fri, 18 Aug 2023 07:40:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Yz8SETrEZyp6MJrk8B4mT7pBvj+zRphxHx1Z+F9cDis=; b=m1DotbjSMedwOmp0REZs5D5vrj
	NfdSDelFgUiJlXnIJfC+0ZEggOGBdqbEAsN9Ptm0RuDUit3XlsfB/RwH7i4iGukbmawRayjzm3FeF
	s0r2vdU3BmeUKM7O6Ou5jqsRTWJLwY5u6CO4jUyPDyR2NLcZ/4fVKZeO+YaV9wLA7GXw=;
Message-ID: <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
Date: Fri, 18 Aug 2023 08:39:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 18/08/2023 07:33, Jan Beulich wrote:
> On 17.08.2023 23:43, Julien Grall wrote:
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
>>   
>>   /* PSR bits (CPSR, SPSR) */
>>   
>> -#define PSR_THUMB       (1<<5)        /* Thumb Mode enable */
>> -#define PSR_FIQ_MASK    (1<<6)        /* Fast Interrupt mask */
>> -#define PSR_IRQ_MASK    (1<<7)        /* Interrupt mask */
>> -#define PSR_ABT_MASK    (1<<8)        /* Asynchronous Abort mask */
>> -#define PSR_BIG_ENDIAN  (1<<9)        /* arm32: Big Endian Mode */
>> -#define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
>> -#define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
>> -#define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
>> -#define PSR_Z           (1<<30)       /* Zero condition flag */
>> +#define PSR_THUMB       (1U <<5)      /* Thumb Mode enable */
>> +#define PSR_FIQ_MASK    (1U <<6)      /* Fast Interrupt mask */
>> +#define PSR_IRQ_MASK    (1U <<7)      /* Interrupt mask */
>> +#define PSR_ABT_MASK    (1U <<8)      /* Asynchronous Abort mask */
> 
> Nit: Did you mean to insert blanks also on the rhs of the <<, like you ...
> 
>> +#define PSR_BIG_ENDIAN  (1U << 9)     /* arm32: Big Endian Mode */
>> +#define PSR_DBG_MASK    (1U << 9)     /* arm64: Debug Exception mask */
>> +#define PSR_IT_MASK     (0x0600fc00U) /* Thumb If-Then Mask */
>> +#define PSR_JAZELLE     (1U << 24)    /* Jazelle Mode */
>> +#define PSR_Z           (1U << 30)    /* Zero condition flag */
> 
> ... did everywhere here?

Yes I did. I will update the patch.

> 
> As an aside I wonder why they're here: They look like definitions of
> processor registers, which aren't under our (Xen's) control.

I agree they are not under Xen's control. However, they are used by the 
toolstack and IIRC back then they were not available in any other headers.

Note that they are only available by the tools and the hypervisor (see 
#ifdef above).

> I ask in
> part because the presence of such constants may then be taken as
> justification to add similar things in new ports. Yet such definitions
> shouldn't be put here.

 From my understanding we are using the public headers to provide 
macros/defines that are used by both the toolstack and the hypervisor. 
If they are not meant to be exposed to the guest, then they will be 
protected with "#if defined(__XEN__) || defined(__XEN_TOOLS__)".

I think we are in a similar situation here. So it is not clear where 
they should be put if we need to share them between the hypervisor and 
the toolstack.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:00:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:00:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585820.917004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuPK-0002IF-Ij; Fri, 18 Aug 2023 08:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585820.917004; Fri, 18 Aug 2023 08: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 1qWuPK-0002I8-GD; Fri, 18 Aug 2023 08:00:34 +0000
Received: by outflank-mailman (input) for mailman id 585820;
 Fri, 18 Aug 2023 08:00:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZyU=ED=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qWuPI-0002I1-HI
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:00:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cf6399b-3d9d-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 10:00:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0A7B31F893;
 Fri, 18 Aug 2023 08:00:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C7297138F0;
 Fri, 18 Aug 2023 08:00:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +HjmLh0l32SjewAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 18 Aug 2023 08:00:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cf6399b-3d9d-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692345630; 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=mdotYSzjAVCcYOSAM4tLj0J/xk7pq4ld4UVI3X1MVOE=;
	b=YcPS5z6cMp8/sUEfART6sTO0KesO2bHGFS88SB0BLxuz1QngMH0GNnzIzopXvQ10VtHtBn
	zzD1YcClNjk+p7B1NnIIslmCabz64qceHHxUxA29+uLwZjT5vMYgthH7gyLE2NvOHjeSg0
	KADZzcFdEIQmG+aaRGqrh8yJWQp3vxM=
Message-ID: <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
Date: Fri, 18 Aug 2023 10:00:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
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: <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------uWQXWDORZJaVXTSgcjnMz5FN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------uWQXWDORZJaVXTSgcjnMz5FN
Content-Type: multipart/mixed; boundary="------------9vsib90BERXL67BDf7UyxhLv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Message-ID: <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
In-Reply-To: <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>

--------------9vsib90BERXL67BDf7UyxhLv
Content-Type: multipart/mixed; boundary="------------r1oVt7cEPJSz8oYhFFAhV0Vr"

--------------r1oVt7cEPJSz8oYhFFAhV0Vr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDguMjMgMDk6MzksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSmFuLA0KPiAN
Cj4gT24gMTgvMDgvMjAyMyAwNzozMywgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAxNy4w
OC4yMDIzIDIzOjQzLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4gLS0tIGEveGVuL2luY2x1
ZGUvcHVibGljL2FyY2gtYXJtLmgNCj4+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJj
aC1hcm0uaA0KPj4+IEBAIC0zMzksMzYgKzMzOSwzNiBAQCB0eXBlZGVmIHVpbnQ2NF90IHhl
bl9jYWxsYmFja190Ow0KPj4+IMKgIC8qIFBTUiBiaXRzIChDUFNSLCBTUFNSKSAqLw0KPj4+
IC0jZGVmaW5lIFBTUl9USFVNQsKgwqDCoMKgwqDCoCAoMTw8NSnCoMKgwqDCoMKgwqDCoCAv
KiBUaHVtYiBNb2RlIGVuYWJsZSAqLw0KPj4+IC0jZGVmaW5lIFBTUl9GSVFfTUFTS8KgwqDC
oCAoMTw8NinCoMKgwqDCoMKgwqDCoCAvKiBGYXN0IEludGVycnVwdCBtYXNrICovDQo+Pj4g
LSNkZWZpbmUgUFNSX0lSUV9NQVNLwqDCoMKgICgxPDw3KcKgwqDCoMKgwqDCoMKgIC8qIElu
dGVycnVwdCBtYXNrICovDQo+Pj4gLSNkZWZpbmUgUFNSX0FCVF9NQVNLwqDCoMKgICgxPDw4
KcKgwqDCoMKgwqDCoMKgIC8qIEFzeW5jaHJvbm91cyBBYm9ydCBtYXNrICovDQo+Pj4gLSNk
ZWZpbmUgUFNSX0JJR19FTkRJQU7CoCAoMTw8OSnCoMKgwqDCoMKgwqDCoCAvKiBhcm0zMjog
QmlnIEVuZGlhbiBNb2RlICovDQo+Pj4gLSNkZWZpbmUgUFNSX0RCR19NQVNLwqDCoMKgICgx
PDw5KcKgwqDCoMKgwqDCoMKgIC8qIGFybTY0OiBEZWJ1ZyBFeGNlcHRpb24gbWFzayAqLw0K
Pj4+IC0jZGVmaW5lIFBTUl9JVF9NQVNLwqDCoMKgwqAgKDB4MDYwMGZjMDApwqAgLyogVGh1
bWIgSWYtVGhlbiBNYXNrICovDQo+Pj4gLSNkZWZpbmUgUFNSX0pBWkVMTEXCoMKgwqDCoCAo
MTw8MjQpwqDCoMKgwqDCoMKgIC8qIEphemVsbGUgTW9kZSAqLw0KPj4+IC0jZGVmaW5lIFBT
Ul9awqDCoMKgwqDCoMKgwqDCoMKgwqAgKDE8PDMwKcKgwqDCoMKgwqDCoCAvKiBaZXJvIGNv
bmRpdGlvbiBmbGFnICovDQo+Pj4gKyNkZWZpbmUgUFNSX1RIVU1CwqDCoMKgwqDCoMKgICgx
VSA8PDUpwqDCoMKgwqDCoCAvKiBUaHVtYiBNb2RlIGVuYWJsZSAqLw0KPj4+ICsjZGVmaW5l
IFBTUl9GSVFfTUFTS8KgwqDCoCAoMVUgPDw2KcKgwqDCoMKgwqAgLyogRmFzdCBJbnRlcnJ1
cHQgbWFzayAqLw0KPj4+ICsjZGVmaW5lIFBTUl9JUlFfTUFTS8KgwqDCoCAoMVUgPDw3KcKg
wqDCoMKgwqAgLyogSW50ZXJydXB0IG1hc2sgKi8NCj4+PiArI2RlZmluZSBQU1JfQUJUX01B
U0vCoMKgwqAgKDFVIDw8OCnCoMKgwqDCoMKgIC8qIEFzeW5jaHJvbm91cyBBYm9ydCBtYXNr
ICovDQo+Pg0KPj4gTml0OiBEaWQgeW91IG1lYW4gdG8gaW5zZXJ0IGJsYW5rcyBhbHNvIG9u
IHRoZSByaHMgb2YgdGhlIDw8LCBsaWtlIHlvdSAuLi4NCj4+DQo+Pj4gKyNkZWZpbmUgUFNS
X0JJR19FTkRJQU7CoCAoMVUgPDwgOSnCoMKgwqDCoCAvKiBhcm0zMjogQmlnIEVuZGlhbiBN
b2RlICovDQo+Pj4gKyNkZWZpbmUgUFNSX0RCR19NQVNLwqDCoMKgICgxVSA8PCA5KcKgwqDC
oMKgIC8qIGFybTY0OiBEZWJ1ZyBFeGNlcHRpb24gbWFzayAqLw0KPj4+ICsjZGVmaW5lIFBT
Ul9JVF9NQVNLwqDCoMKgwqAgKDB4MDYwMGZjMDBVKSAvKiBUaHVtYiBJZi1UaGVuIE1hc2sg
Ki8NCj4+PiArI2RlZmluZSBQU1JfSkFaRUxMRcKgwqDCoMKgICgxVSA8PCAyNCnCoMKgwqAg
LyogSmF6ZWxsZSBNb2RlICovDQo+Pj4gKyNkZWZpbmUgUFNSX1rCoMKgwqDCoMKgwqDCoMKg
wqDCoCAoMVUgPDwgMzApwqDCoMKgIC8qIFplcm8gY29uZGl0aW9uIGZsYWcgKi8NCj4+DQo+
PiAuLi4gZGlkIGV2ZXJ5d2hlcmUgaGVyZT8NCj4gDQo+IFllcyBJIGRpZC4gSSB3aWxsIHVw
ZGF0ZSB0aGUgcGF0Y2guDQo+IA0KPj4NCj4+IEFzIGFuIGFzaWRlIEkgd29uZGVyIHdoeSB0
aGV5J3JlIGhlcmU6IFRoZXkgbG9vayBsaWtlIGRlZmluaXRpb25zIG9mDQo+PiBwcm9jZXNz
b3IgcmVnaXN0ZXJzLCB3aGljaCBhcmVuJ3QgdW5kZXIgb3VyIChYZW4ncykgY29udHJvbC4N
Cj4gDQo+IEkgYWdyZWUgdGhleSBhcmUgbm90IHVuZGVyIFhlbidzIGNvbnRyb2wuIEhvd2V2
ZXIsIHRoZXkgYXJlIHVzZWQgYnkgdGhlIA0KPiB0b29sc3RhY2sgYW5kIElJUkMgYmFjayB0
aGVuIHRoZXkgd2VyZSBub3QgYXZhaWxhYmxlIGluIGFueSBvdGhlciBoZWFkZXJzLg0KPiAN
Cj4gTm90ZSB0aGF0IHRoZXkgYXJlIG9ubHkgYXZhaWxhYmxlIGJ5IHRoZSB0b29scyBhbmQg
dGhlIGh5cGVydmlzb3IgKHNlZSAjaWZkZWYgDQo+IGFib3ZlKS4NCj4gDQo+PiBJIGFzayBp
bg0KPj4gcGFydCBiZWNhdXNlIHRoZSBwcmVzZW5jZSBvZiBzdWNoIGNvbnN0YW50cyBtYXkg
dGhlbiBiZSB0YWtlbiBhcw0KPj4ganVzdGlmaWNhdGlvbiB0byBhZGQgc2ltaWxhciB0aGlu
Z3MgaW4gbmV3IHBvcnRzLiBZZXQgc3VjaCBkZWZpbml0aW9ucw0KPj4gc2hvdWxkbid0IGJl
IHB1dCBoZXJlLg0KPiANCj4gIEZyb20gbXkgdW5kZXJzdGFuZGluZyB3ZSBhcmUgdXNpbmcg
dGhlIHB1YmxpYyBoZWFkZXJzIHRvIHByb3ZpZGUgbWFjcm9zL2RlZmluZXMgDQo+IHRoYXQg
YXJlIHVzZWQgYnkgYm90aCB0aGUgdG9vbHN0YWNrIGFuZCB0aGUgaHlwZXJ2aXNvci4gSWYg
dGhleSBhcmUgbm90IG1lYW50IHRvIA0KPiBiZSBleHBvc2VkIHRvIHRoZSBndWVzdCwgdGhl
biB0aGV5IHdpbGwgYmUgcHJvdGVjdGVkIHdpdGggIiNpZiBkZWZpbmVkKF9fWEVOX18pIA0K
PiB8fCBkZWZpbmVkKF9fWEVOX1RPT0xTX18pIi4NCj4gDQo+IEkgdGhpbmsgd2UgYXJlIGlu
IGEgc2ltaWxhciBzaXR1YXRpb24gaGVyZS4gU28gaXQgaXMgbm90IGNsZWFyIHdoZXJlIHRo
ZXkgc2hvdWxkIA0KPiBiZSBwdXQgaWYgd2UgbmVlZCB0byBzaGFyZSB0aGVtIGJldHdlZW4g
dGhlIGh5cGVydmlzb3IgYW5kIHRoZSB0b29sc3RhY2suDQoNCldoYXQgYWJvdXQgaW5jbHVk
ZS94ZW4vbGliPyBUaGVyZSBhcmUgaGVhZGVycyBiZWxvdyB0aGF0IGxpbmtlZCBhdCBidWls
ZCB0aW1lDQp2aWEgdG9vbHMvaW5jbHVkZS9NYWtlZmlsZSB0byB0b29scy9pbmNsdWRlL3hl
bi9saWIuDQoNCg0KSnVlcmdlbg0K
--------------r1oVt7cEPJSz8oYhFFAhV0Vr
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------r1oVt7cEPJSz8oYhFFAhV0Vr--

--------------9vsib90BERXL67BDf7UyxhLv--

--------------uWQXWDORZJaVXTSgcjnMz5FN
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/Ey8FAmTfJR0FAwAAAAAACgkQsN6d1ii/Ey/R
xAf/Wq2odtt7V+nwSkE0yhH92IgkeOW0vV0hRgpTs7PRZHEvZGoaihGy3Klw2LDH0xuwBQhefrBo
P0u7InrCI0scfjbNcU68I3wAfRut8PLWc/mCsrWGuep2DwxlY87gva4xlS2DkZlP+uTtgpZUcTX1
FETS6GL2DH6ebh6Gxn18LWzwEEsvhMoB6CDuuMpPIaRkxEBHD7JEv4I/6KN4ZqZ5HKUKJrq7zIaz
cmjgO+rCqdWV3/bo8EXllF0BYxVceIO3z2bhzOChHBJJTOozXcmf4rI6tJefLe6CbzraCDyUsTAB
WJBuWRuIGcmoGz2WOn/VBOlp4MhsTh2ZbmevLgSshA==
=SNcG
-----END PGP SIGNATURE-----

--------------uWQXWDORZJaVXTSgcjnMz5FN--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:05:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585828.917015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuUF-0002wx-5H; Fri, 18 Aug 2023 08:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585828.917015; Fri, 18 Aug 2023 08:05:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuUF-0002wq-2A; Fri, 18 Aug 2023 08:05:39 +0000
Received: by outflank-mailman (input) for mailman id 585828;
 Fri, 18 Aug 2023 08:05: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 1qWuUD-0002we-25
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:05: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 1qWuU9-0002p1-BC; Fri, 18 Aug 2023 08:05:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWuU9-0003LP-5v; Fri, 18 Aug 2023 08:05:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=rgYxUb/TpYZR/dnX7Lpk5oUAirQT+cPqAkQFJSL38EU=; b=m63gO+1leTDrJ7kUVcqSa+U36H
	vNOi1S8X/Yc110CkHLGd7Sgb+s419Bobv/UXwxtXxJuWQSNCLq7EXDEvvBNBLOU45TVoF1YdSVrsg
	+xaie07emOyy3Q13KVSjnGgCp8lsjtkQI1J+E1Kjxgobx5WYJEssKzfY0tVhcK5WqAwc=;
Message-ID: <cb383251-3c90-4579-b6c5-19662d828969@xen.org>
Date: Fri, 18 Aug 2023 09:05:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
 <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 18/08/2023 09:00, Juergen Gross wrote:
> On 18.08.23 09:39, Julien Grall wrote:
>> Hi Jan,
>>
>> On 18/08/2023 07:33, Jan Beulich wrote:
>>> On 17.08.2023 23:43, Julien Grall wrote:
>>>> --- a/xen/include/public/arch-arm.h
>>>> +++ b/xen/include/public/arch-arm.h
>>>> @@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
>>>> Â  /* PSR bits (CPSR, SPSR) */
>>>> -#define PSR_THUMBÂ Â Â Â Â Â  (1<<5)Â Â Â Â Â Â Â  /* Thumb Mode enable */
>>>> -#define PSR_FIQ_MASKÂ Â Â  (1<<6)Â Â Â Â Â Â Â  /* Fast Interrupt mask */
>>>> -#define PSR_IRQ_MASKÂ Â Â  (1<<7)Â Â Â Â Â Â Â  /* Interrupt mask */
>>>> -#define PSR_ABT_MASKÂ Â Â  (1<<8)Â Â Â Â Â Â Â  /* Asynchronous Abort mask */
>>>> -#define PSR_BIG_ENDIANÂ  (1<<9)Â Â Â Â Â Â Â  /* arm32: Big Endian Mode */
>>>> -#define PSR_DBG_MASKÂ Â Â  (1<<9)Â Â Â Â Â Â Â  /* arm64: Debug Exception 
>>>> mask */
>>>> -#define PSR_IT_MASKÂ Â Â Â  (0x0600fc00)Â  /* Thumb If-Then Mask */
>>>> -#define PSR_JAZELLEÂ Â Â Â  (1<<24)Â Â Â Â Â Â  /* Jazelle Mode */
>>>> -#define PSR_ZÂ Â Â Â Â Â Â Â Â Â  (1<<30)Â Â Â Â Â Â  /* Zero condition flag */
>>>> +#define PSR_THUMBÂ Â Â Â Â Â  (1U <<5)Â Â Â Â Â  /* Thumb Mode enable */
>>>> +#define PSR_FIQ_MASKÂ Â Â  (1U <<6)Â Â Â Â Â  /* Fast Interrupt mask */
>>>> +#define PSR_IRQ_MASKÂ Â Â  (1U <<7)Â Â Â Â Â  /* Interrupt mask */
>>>> +#define PSR_ABT_MASKÂ Â Â  (1U <<8)Â Â Â Â Â  /* Asynchronous Abort mask */
>>>
>>> Nit: Did you mean to insert blanks also on the rhs of the <<, like 
>>> you ...
>>>
>>>> +#define PSR_BIG_ENDIANÂ  (1U << 9)Â Â Â Â  /* arm32: Big Endian Mode */
>>>> +#define PSR_DBG_MASKÂ Â Â  (1U << 9)Â Â Â Â  /* arm64: Debug Exception 
>>>> mask */
>>>> +#define PSR_IT_MASKÂ Â Â Â  (0x0600fc00U) /* Thumb If-Then Mask */
>>>> +#define PSR_JAZELLEÂ Â Â Â  (1U << 24)Â Â Â  /* Jazelle Mode */
>>>> +#define PSR_ZÂ Â Â Â Â Â Â Â Â Â  (1U << 30)Â Â Â  /* Zero condition flag */
>>>
>>> ... did everywhere here?
>>
>> Yes I did. I will update the patch.
>>
>>>
>>> As an aside I wonder why they're here: They look like definitions of
>>> processor registers, which aren't under our (Xen's) control.
>>
>> I agree they are not under Xen's control. However, they are used by 
>> the toolstack and IIRC back then they were not available in any other 
>> headers.
>>
>> Note that they are only available by the tools and the hypervisor (see 
>> #ifdef above).
>>
>>> I ask in
>>> part because the presence of such constants may then be taken as
>>> justification to add similar things in new ports. Yet such definitions
>>> shouldn't be put here.
>>
>> Â From my understanding we are using the public headers to provide 
>> macros/defines that are used by both the toolstack and the hypervisor. 
>> If they are not meant to be exposed to the guest, then they will be 
>> protected with "#if defined(__XEN__) || defined(__XEN_TOOLS__)".
>>
>> I think we are in a similar situation here. So it is not clear where 
>> they should be put if we need to share them between the hypervisor and 
>> the toolstack.
> 
> What about include/xen/lib? There are headers below that linked at build 
> time
> via tools/include/Makefile to tools/include/xen/lib.

To me, the question is why would we want to move PSR_* in xen/lib (or 
whatever name we decide) but all the other defines that are only used by 
the toolstack would still be in public/.

So are you suggesting to move all the tools only information in xen/lib?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:14:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585836.917025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWucx-0004XW-0k; Fri, 18 Aug 2023 08:14:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585836.917025; Fri, 18 Aug 2023 08:14:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWucw-0004XP-Sv; Fri, 18 Aug 2023 08:14:38 +0000
Received: by outflank-mailman (input) for mailman id 585836;
 Fri, 18 Aug 2023 08:14:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWucv-0004XJ-TA
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:14:38 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4488e8f7-3d9f-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 10:14:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8068.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 08:14:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 08:14:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4488e8f7-3d9f-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aYS4jZvIoU9IDeZy3I+ipLeq5rFU8RcRzS34R7DG0Y16ygtntARz/JLFwpekQQFVKhHAjHQvxTlq5EgnFIypbja5Gra4R4wcRwy7B+KKQClzRMmuCDvKN31jhk2Y+TgWTP2yW5/bMSPeqf/F3X9/NSnxDXXRyiz5tw8aGY9CoiT1CRP84GiSQVwQ+/m8keCcmXF7LWp3uCX5KDBX/aBc+u1PbInVm6bRhFGIT8ATDKLIaaqlJY+TNrsIzOXws2Kco6A9Hh1erZCWZaKvDuepWV6oiXMLNwuAuZ+xlC6Mq/V7xKMhI/IHn84pzdPOmmqjCxfO6BHkcbprPIaBsfb2og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rX5yTIMKl0OSHj4hqeC/htkQOguWaynh/od218oFkNk=;
 b=OocsnsmS+a0TbglNP8mWcEZzydG93+52KgreeHCf8fcfIU6W+A9eZPg1XkFZxqxg0quV4Auza5kiqFofBpRM7qV09NyAaP5df+ayv7ZA9VSJmJpb2+bXw77bOvOJh2D//Us/hvwPSkh7sf7d5XrdbQlsq+cKQ3eURv5cCvy7VVmphPdFaw/pzTlglj2/vPCE+ZH9Ioa3y/15JKwvMfFIIJLCS0pdYDBiW/bCPScpN4Ieg6XoBFWvA+KeE1glGDNNy8Jn72FY0CiVI60zSnj9vT0i9VX2b7+680d10DYfxc73xQVs9s+UglczwH3r/XDciHljnKQnhiPQb2CKS7tKKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rX5yTIMKl0OSHj4hqeC/htkQOguWaynh/od218oFkNk=;
 b=eHpJp5pLSC362yUhrEHi7e8pnorKRcUhNBnFKyzFWPPCqmB0KMIsU8zfutPJSlNH7I7U9eo2OSMtEC8juPLVUw4fPukw7+R1tGFSBc/SfVYF/6Wwq1uD94jTGW6mFLulYbS52+lfQk8l33htw4k0rXyUhl9hft+M4uCxgh07n7XfyJwYWrX/4A33F17bOx/uQgibMFKXG6HKPOtFyv07FTXR+5q8FopdaMDXt1f68HhkQ/daf8h0t9BjAMK1LFlL9pDRDaXl3TSuwafb1B+z1pu4rztOkj6TZF3AMTrPNExMRfbs81HT1tkri2q2WJDr6kIYMMkOGB2yGcuFNJFEdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <58ecfdf4-c0ce-be56-8686-d6fcf06f9609@suse.com>
Date: Fri, 18 Aug 2023 10:14:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8068:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b32d801-466f-43a7-f57d-08db9fc32778
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+2yrflGcGZahfVA83pWQWOG/reP8MiRwCS4kCZtD9DGJjXEFrU0TU2LDjUG2PwHAxD5DwT0IGyHHgpccOarf+O9iZKGywKw+Q80Lh5gQV/iTOn42xj/FoLgzIrlQiW7UHTqoSuMUAhrKkUnZR52gB7a23pBMxZYd8JqD0Qq7Q8bly+RjhcPVfAGIZBaJ6zz29XqJJbM5fPvdnHkEA3zijQ7mbDfcxfn5EX6Ertsx8JwUQVmVGTCo70yk0KB588O+TfofOHoMaL23OMj8NBVFyj036tTfYklY0dn3QJiTEaiRlLCo8+fOC7KdLJxNp6MFujxbSCyisHiFqHV4Jipn3XUd61oDVs8GxzKZSCGqsH1boPRRgPFfO3dGJlw3gKKEcxMV+N1khGgHMzuyW/MNWc7SefDVqmzOod7GjmZhRIHuyoTAo2uOJwylaky6HBiqvMgeSLT2s/F7rUi1fqdGuYkveuVajOGcs6KdtBQ9sE+HBMbBMVi4dhccWP5m8ygIeHbteLcKACR4WlPBHnhmPUvfC2OiKOT+iIl8StKEjIPxWa4RDqO/dDd0+u/4YlgdwDLom7FEPqkqk+Wgzd+GBnehTSkKyivdKjbkKJAiON7GHyZZ7cFo53b8Z9EWmhcrYt1k3BZTm4bLf/2/W9CKqw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(39860400002)(366004)(376002)(396003)(186009)(1800799009)(451199024)(6486002)(6506007)(38100700002)(6512007)(53546011)(86362001)(31696002)(26005)(83380400001)(36756003)(2616005)(2906002)(54906003)(66946007)(66476007)(66556008)(316002)(6916009)(41300700001)(5660300002)(31686004)(8676002)(4326008)(8936002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1lrcSsrbndBaEZheEQ0d1pTRlIxYkJHVnh4b255VGNjVkFtU25BNUVJdVVI?=
 =?utf-8?B?QlRmZjNJaGcrSXFzQk5jekFFUkpBN3NhTnBIbkJsNmFSUGw2TW5Edk4yT0E0?=
 =?utf-8?B?OVkwRDduTWpSVmRtVEFiMXhQby9wWTRVWm13ZmhQT1pTYVovbitTZWJxM09j?=
 =?utf-8?B?V3JNMVNuOTd0SWlXbUVyTHBibXZXYkdKYURxaS9QR1ZiNVZOWDlUWGxSQjZl?=
 =?utf-8?B?OXF5ejBqYSsvenNsblE1MTIyZ2pBS2EwNjhHUEE1NzBuY0pldDFTMVF0OWZ4?=
 =?utf-8?B?M0xNejBtRjdHZExtKzJjcEtvYTJpc2xkb3ZneEhGR1Bud09VQjkyV3BEdzdN?=
 =?utf-8?B?cUx4ODAyc0d3Si9MSTZlell5NGFpMnBtTEEwdExKWTFXVTdvcEFUY0RkNGpk?=
 =?utf-8?B?cnF3dVRhRU9aVHgrYld3MXNndm1wd0w0d2FCWjQ2THlaZGRwMzZqVzZVWU8y?=
 =?utf-8?B?c0xQQTdVSnhMb2s5dFlndjdKNHhzcGJ3Sk5QenlrdWdWZWU2azhsbWxxVkZz?=
 =?utf-8?B?RlZwZ1hTa0JScXNyTE1lQ2FWSnQwdjZWWFdGazNXc2JnSFprVkhlR3FFVnNN?=
 =?utf-8?B?NndQcFVwMFM4TEZuSSs0K3dpdlpGaXFFK1ZYU3RtM0xEOVpVRzVCWTFIMTdU?=
 =?utf-8?B?S1pSaXllTS9pcWFMa1JjMUlud0pjMk94NXpZS0ZPM3RLSWhybmxsNkVsVkpK?=
 =?utf-8?B?T1kyeW9LTjdhMkZOZWU2bTlsTzdnQXRpTjJSclNoeXc1ZnM4RnRKaEhESGJ6?=
 =?utf-8?B?U25iLzBhRUNpaTJjS2xDWnBoRDgwMnVDQ1g4cjR0dW5GZlZpaDVmeSt5M1pM?=
 =?utf-8?B?RDJ2TS9WNndFQUkrYjZHb0MwV0NacU41OUordzVuKzRyNURoVTlkV0F2VDZ3?=
 =?utf-8?B?SVdDV3dGKzNHdFRKeEd2S3VCRG5ST0xxUXE1b0RBNWVrY3crV0J3M1Y5ZDVa?=
 =?utf-8?B?elV0TEhYM05ldHJoc3RFTGVzS0Exb0pxd3QxdytJeG1mY3I4U3p0WEFJWWs0?=
 =?utf-8?B?K1doYW1oK2JaMjlOVjF1enE5ZGtSSEhCRVJxb2dYMVJxU3VXOHNDK1lhYnRy?=
 =?utf-8?B?Y2Ywbjhvamtpek5nV1BPVnZ2RDNlWGF4SG9DeXNyS25vbS9qS20vV3paZlJO?=
 =?utf-8?B?NzdjRGxKK010VnRHUWRUdzdJWkVTOHpaTU96dm5EYVFZS09zaVc2TXZqdzBB?=
 =?utf-8?B?c2VnakkybE8yaWFHTVF5RlBqemZvZERRR1dTOGtSazJqS3MzZlcwaE5rZzZx?=
 =?utf-8?B?VWdFdGJHRGwzNHRnWEErRUxVa3YwUmM1VkRIWUhrTEVFU3BRa2V4NEZwZ3VO?=
 =?utf-8?B?bXUzMzZRREZ6TjZCYkNNK1FmdFR1eHl5bVh3L2gzeU1tc2FsSlFOSzBRQnhP?=
 =?utf-8?B?d1d4eDlvK2tPdzV6UWJOSk12eGczODRrRlVneTdyY2RveisvK1NkNk51eldL?=
 =?utf-8?B?UC9TRnhTODIrR0RvSlJQQ3V6YTE3L3BoRHl1b1o0Y0VYdEhRbXBGbFphWEE5?=
 =?utf-8?B?WjAxL2RLaDduVEc4YnZubCthSy95WE02TkZkY0JuK054ckl3cWc0QUhLaVV2?=
 =?utf-8?B?SE53YnhWNXZFaXM0RUtIWURWRWNDQi96SEIwdXJid2oraUNoNGxoTnIwa1l0?=
 =?utf-8?B?RXRHcjVrcSt1Z3RBNkdsajNxYkhmSjliajZQemtYdUdIS3hRK2MrSDJ0UVlq?=
 =?utf-8?B?VDR4eEpXZGphSE1wVEJhbW52Q0FMNEFRcTVWZWxjTVpZd3d6TUhtM2F2RS9M?=
 =?utf-8?B?ZEZFQTRtd0tXS0t3T3FabnNXSXh2eTNsVmJLLzZIak9DRWdNM3JuTW1OVjhp?=
 =?utf-8?B?YWtUblJ1Mk5WRVFIR3ZacXk1TmNtdlBPSEdHbzNLcXZVRUptb1Y0NmVOOXNT?=
 =?utf-8?B?d2llY0gwVUFZVTJGOU8zcGlWOE10RnVuSTZNamRrWUNyUndENzh0dmJXS05E?=
 =?utf-8?B?bXB3WGpORmJuNWwyOVdyTmZrV0J6dVlGdUxWbmN5UTdPc0FjanlyYVVWUUVh?=
 =?utf-8?B?dSs0a0pwdk4yOW1vTS9WQi9iY0ROdU5LMkxPVWpRQllHWnVnWXBCbThOSkdn?=
 =?utf-8?B?KzFSbXJlT2lHMTJaREZpR2w4aDNqOHMvbmdFRmtwZ1czdTIrdVNrK2drWDJE?=
 =?utf-8?Q?2LOJI7FbC82jZBsGIdZ/clFcj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b32d801-466f-43a7-f57d-08db9fc32778
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 08:14:33.4746
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OxT/TsBytk32t6XEw9DjsZhAl9KeL3ywNC4eS2kLAmftGELuJKZb87rBi9qulFfghFDQChXlZdnt44aaOKuMKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8068

On 18.08.2023 09:39, Julien Grall wrote:
> On 18/08/2023 07:33, Jan Beulich wrote:
>> As an aside I wonder why they're here: They look like definitions of
>> processor registers, which aren't under our (Xen's) control.
> 
> I agree they are not under Xen's control. However, they are used by the 
> toolstack and IIRC back then they were not available in any other headers.
> 
> Note that they are only available by the tools and the hypervisor (see 
> #ifdef above).

Yes, I did notice that (or else I would have used stronger wording).

>> I ask in
>> part because the presence of such constants may then be taken as
>> justification to add similar things in new ports. Yet such definitions
>> shouldn't be put here.
> 
>  From my understanding we are using the public headers to provide 
> macros/defines that are used by both the toolstack and the hypervisor. 
> If they are not meant to be exposed to the guest, then they will be 
> protected with "#if defined(__XEN__) || defined(__XEN_TOOLS__)".
> 
> I think we are in a similar situation here. So it is not clear where 
> they should be put if we need to share them between the hypervisor and 
> the toolstack.

On x86 we simply arrange for certain hypervisor headers to be re-usable
from the toolstack. See in particular arch/x86/include/asm/x86-*.h. And
of course everything under include/xen/lib/x86/, but those are our own
definitions, not ones meant to solely express relevant hw spec aspects.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:25:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585845.917035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWunW-0006C7-1F; Fri, 18 Aug 2023 08:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585845.917035; Fri, 18 Aug 2023 08: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 1qWunV-0006C0-UX; Fri, 18 Aug 2023 08:25:33 +0000
Received: by outflank-mailman (input) for mailman id 585845;
 Fri, 18 Aug 2023 08:25: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=aZyU=ED=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qWunU-0006Bu-H4
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:25:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cabb5838-3da0-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 10:25:30 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8A7D61F893;
 Fri, 18 Aug 2023 08:25:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5114A138F0;
 Fri, 18 Aug 2023 08:25:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wxswEvkq32RqCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 18 Aug 2023 08:25:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cabb5838-3da0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692347129; 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=+FPa9krCW/PTTrpGN+WdauEG28GM2pGBHxgkKSRG/Eg=;
	b=NZvjjXmupGWeXrALBRf7kF+ADZ58EHr4ytXDMS8ZZbBLbX0/t8JyLAFnV/WaOxDFVli9eS
	+M9FNcKCXI9LRyUM5bzC97ubwQZTvgUCFhHBn2WezaHJ8miqfxan3GBs8r9rek5Yl9ynQt
	oHS+pXLHgbpY8+u/CuKJ3G5SYvi5ZZo=
Message-ID: <8a463a31-0bbd-414f-91ea-7d5342cbc148@suse.com>
Date: Fri, 18 Aug 2023 10:25:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
 <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
 <cb383251-3c90-4579-b6c5-19662d828969@xen.org>
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: <cb383251-3c90-4579-b6c5-19662d828969@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------D0wAdHhzLL1G270b4XLSs8XC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------D0wAdHhzLL1G270b4XLSs8XC
Content-Type: multipart/mixed; boundary="------------ift2KQ9DbulT9LlM9Qwfq0Sw";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Message-ID: <8a463a31-0bbd-414f-91ea-7d5342cbc148@suse.com>
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
 <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
 <cb383251-3c90-4579-b6c5-19662d828969@xen.org>
In-Reply-To: <cb383251-3c90-4579-b6c5-19662d828969@xen.org>

--------------ift2KQ9DbulT9LlM9Qwfq0Sw
Content-Type: multipart/mixed; boundary="------------yXcf1N2WGcR28JGrYVVqH2R3"

--------------yXcf1N2WGcR28JGrYVVqH2R3
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDguMjMgMTA6MDUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxOC8wOC8yMDIzIDA5OjAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTguMDgu
MjMgMDk6MzksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSBKYW4sDQo+Pj4NCj4+PiBP
biAxOC8wOC8yMDIzIDA3OjMzLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4gT24gMTcuMDgu
MjAyMyAyMzo0MywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+Pj4gLS0tIGEveGVuL2luY2x1
ZGUvcHVibGljL2FyY2gtYXJtLmgNCj4+Pj4+ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9h
cmNoLWFybS5oDQo+Pj4+PiBAQCAtMzM5LDM2ICszMzksMzYgQEAgdHlwZWRlZiB1aW50NjRf
dCB4ZW5fY2FsbGJhY2tfdDsNCj4+Pj4+IMKgIC8qIFBTUiBiaXRzIChDUFNSLCBTUFNSKSAq
Lw0KPj4+Pj4gLSNkZWZpbmUgUFNSX1RIVU1CwqDCoMKgwqDCoMKgICgxPDw1KcKgwqDCoMKg
wqDCoMKgIC8qIFRodW1iIE1vZGUgZW5hYmxlICovDQo+Pj4+PiAtI2RlZmluZSBQU1JfRklR
X01BU0vCoMKgwqAgKDE8PDYpwqDCoMKgwqDCoMKgwqAgLyogRmFzdCBJbnRlcnJ1cHQgbWFz
ayAqLw0KPj4+Pj4gLSNkZWZpbmUgUFNSX0lSUV9NQVNLwqDCoMKgICgxPDw3KcKgwqDCoMKg
wqDCoMKgIC8qIEludGVycnVwdCBtYXNrICovDQo+Pj4+PiAtI2RlZmluZSBQU1JfQUJUX01B
U0vCoMKgwqAgKDE8PDgpwqDCoMKgwqDCoMKgwqAgLyogQXN5bmNocm9ub3VzIEFib3J0IG1h
c2sgKi8NCj4+Pj4+IC0jZGVmaW5lIFBTUl9CSUdfRU5ESUFOwqAgKDE8PDkpwqDCoMKgwqDC
oMKgwqAgLyogYXJtMzI6IEJpZyBFbmRpYW4gTW9kZSAqLw0KPj4+Pj4gLSNkZWZpbmUgUFNS
X0RCR19NQVNLwqDCoMKgICgxPDw5KcKgwqDCoMKgwqDCoMKgIC8qIGFybTY0OiBEZWJ1ZyBF
eGNlcHRpb24gbWFzayAqLw0KPj4+Pj4gLSNkZWZpbmUgUFNSX0lUX01BU0vCoMKgwqDCoCAo
MHgwNjAwZmMwMCnCoCAvKiBUaHVtYiBJZi1UaGVuIE1hc2sgKi8NCj4+Pj4+IC0jZGVmaW5l
IFBTUl9KQVpFTExFwqDCoMKgwqAgKDE8PDI0KcKgwqDCoMKgwqDCoCAvKiBKYXplbGxlIE1v
ZGUgKi8NCj4+Pj4+IC0jZGVmaW5lIFBTUl9awqDCoMKgwqDCoMKgwqDCoMKgwqAgKDE8PDMw
KcKgwqDCoMKgwqDCoCAvKiBaZXJvIGNvbmRpdGlvbiBmbGFnICovDQo+Pj4+PiArI2RlZmlu
ZSBQU1JfVEhVTULCoMKgwqDCoMKgwqAgKDFVIDw8NSnCoMKgwqDCoMKgIC8qIFRodW1iIE1v
ZGUgZW5hYmxlICovDQo+Pj4+PiArI2RlZmluZSBQU1JfRklRX01BU0vCoMKgwqAgKDFVIDw8
NinCoMKgwqDCoMKgIC8qIEZhc3QgSW50ZXJydXB0IG1hc2sgKi8NCj4+Pj4+ICsjZGVmaW5l
IFBTUl9JUlFfTUFTS8KgwqDCoCAoMVUgPDw3KcKgwqDCoMKgwqAgLyogSW50ZXJydXB0IG1h
c2sgKi8NCj4+Pj4+ICsjZGVmaW5lIFBTUl9BQlRfTUFTS8KgwqDCoCAoMVUgPDw4KcKgwqDC
oMKgwqAgLyogQXN5bmNocm9ub3VzIEFib3J0IG1hc2sgKi8NCj4+Pj4NCj4+Pj4gTml0OiBE
aWQgeW91IG1lYW4gdG8gaW5zZXJ0IGJsYW5rcyBhbHNvIG9uIHRoZSByaHMgb2YgdGhlIDw8
LCBsaWtlIHlvdSAuLi4NCj4+Pj4NCj4+Pj4+ICsjZGVmaW5lIFBTUl9CSUdfRU5ESUFOwqAg
KDFVIDw8IDkpwqDCoMKgwqAgLyogYXJtMzI6IEJpZyBFbmRpYW4gTW9kZSAqLw0KPj4+Pj4g
KyNkZWZpbmUgUFNSX0RCR19NQVNLwqDCoMKgICgxVSA8PCA5KcKgwqDCoMKgIC8qIGFybTY0
OiBEZWJ1ZyBFeGNlcHRpb24gbWFzayAqLw0KPj4+Pj4gKyNkZWZpbmUgUFNSX0lUX01BU0vC
oMKgwqDCoCAoMHgwNjAwZmMwMFUpIC8qIFRodW1iIElmLVRoZW4gTWFzayAqLw0KPj4+Pj4g
KyNkZWZpbmUgUFNSX0pBWkVMTEXCoMKgwqDCoCAoMVUgPDwgMjQpwqDCoMKgIC8qIEphemVs
bGUgTW9kZSAqLw0KPj4+Pj4gKyNkZWZpbmUgUFNSX1rCoMKgwqDCoMKgwqDCoMKgwqDCoCAo
MVUgPDwgMzApwqDCoMKgIC8qIFplcm8gY29uZGl0aW9uIGZsYWcgKi8NCj4+Pj4NCj4+Pj4g
Li4uIGRpZCBldmVyeXdoZXJlIGhlcmU/DQo+Pj4NCj4+PiBZZXMgSSBkaWQuIEkgd2lsbCB1
cGRhdGUgdGhlIHBhdGNoLg0KPj4+DQo+Pj4+DQo+Pj4+IEFzIGFuIGFzaWRlIEkgd29uZGVy
IHdoeSB0aGV5J3JlIGhlcmU6IFRoZXkgbG9vayBsaWtlIGRlZmluaXRpb25zIG9mDQo+Pj4+
IHByb2Nlc3NvciByZWdpc3RlcnMsIHdoaWNoIGFyZW4ndCB1bmRlciBvdXIgKFhlbidzKSBj
b250cm9sLg0KPj4+DQo+Pj4gSSBhZ3JlZSB0aGV5IGFyZSBub3QgdW5kZXIgWGVuJ3MgY29u
dHJvbC4gSG93ZXZlciwgdGhleSBhcmUgdXNlZCBieSB0aGUgDQo+Pj4gdG9vbHN0YWNrIGFu
ZCBJSVJDIGJhY2sgdGhlbiB0aGV5IHdlcmUgbm90IGF2YWlsYWJsZSBpbiBhbnkgb3RoZXIg
aGVhZGVycy4NCj4+Pg0KPj4+IE5vdGUgdGhhdCB0aGV5IGFyZSBvbmx5IGF2YWlsYWJsZSBi
eSB0aGUgdG9vbHMgYW5kIHRoZSBoeXBlcnZpc29yIChzZWUgI2lmZGVmIA0KPj4+IGFib3Zl
KS4NCj4+Pg0KPj4+PiBJIGFzayBpbg0KPj4+PiBwYXJ0IGJlY2F1c2UgdGhlIHByZXNlbmNl
IG9mIHN1Y2ggY29uc3RhbnRzIG1heSB0aGVuIGJlIHRha2VuIGFzDQo+Pj4+IGp1c3RpZmlj
YXRpb24gdG8gYWRkIHNpbWlsYXIgdGhpbmdzIGluIG5ldyBwb3J0cy4gWWV0IHN1Y2ggZGVm
aW5pdGlvbnMNCj4+Pj4gc2hvdWxkbid0IGJlIHB1dCBoZXJlLg0KPj4+DQo+Pj4gwqBGcm9t
IG15IHVuZGVyc3RhbmRpbmcgd2UgYXJlIHVzaW5nIHRoZSBwdWJsaWMgaGVhZGVycyB0byBw
cm92aWRlIA0KPj4+IG1hY3Jvcy9kZWZpbmVzIHRoYXQgYXJlIHVzZWQgYnkgYm90aCB0aGUg
dG9vbHN0YWNrIGFuZCB0aGUgaHlwZXJ2aXNvci4gSWYgDQo+Pj4gdGhleSBhcmUgbm90IG1l
YW50IHRvIGJlIGV4cG9zZWQgdG8gdGhlIGd1ZXN0LCB0aGVuIHRoZXkgd2lsbCBiZSBwcm90
ZWN0ZWQgDQo+Pj4gd2l0aCAiI2lmIGRlZmluZWQoX19YRU5fXykgfHwgZGVmaW5lZChfX1hF
Tl9UT09MU19fKSIuDQo+Pj4NCj4+PiBJIHRoaW5rIHdlIGFyZSBpbiBhIHNpbWlsYXIgc2l0
dWF0aW9uIGhlcmUuIFNvIGl0IGlzIG5vdCBjbGVhciB3aGVyZSB0aGV5IA0KPj4+IHNob3Vs
ZCBiZSBwdXQgaWYgd2UgbmVlZCB0byBzaGFyZSB0aGVtIGJldHdlZW4gdGhlIGh5cGVydmlz
b3IgYW5kIHRoZSB0b29sc3RhY2suDQo+Pg0KPj4gV2hhdCBhYm91dCBpbmNsdWRlL3hlbi9s
aWI/IFRoZXJlIGFyZSBoZWFkZXJzIGJlbG93IHRoYXQgbGlua2VkIGF0IGJ1aWxkIHRpbWUN
Cj4+IHZpYSB0b29scy9pbmNsdWRlL01ha2VmaWxlIHRvIHRvb2xzL2luY2x1ZGUveGVuL2xp
Yi4NCj4gDQo+IFRvIG1lLCB0aGUgcXVlc3Rpb24gaXMgd2h5IHdvdWxkIHdlIHdhbnQgdG8g
bW92ZSBQU1JfKiBpbiB4ZW4vbGliIChvciB3aGF0ZXZlciANCj4gbmFtZSB3ZSBkZWNpZGUp
IGJ1dCBhbGwgdGhlIG90aGVyIGRlZmluZXMgdGhhdCBhcmUgb25seSB1c2VkIGJ5IHRoZSB0
b29sc3RhY2sgDQo+IHdvdWxkIHN0aWxsIGJlIGluIHB1YmxpYy8uDQo+IA0KPiBTbyBhcmUg
eW91IHN1Z2dlc3RpbmcgdG8gbW92ZSBhbGwgdGhlIHRvb2xzIG9ubHkgaW5mb3JtYXRpb24g
aW4geGVuL2xpYj8NCg0KSSBkaWRuJ3Qgd2FudCB0byBzdWdnZXN0IHRoYXQsIGVzcGVjaWFs
bHkgd2l0aCBvdXIgZ2VuZXJhbCBkZXNpcmUgdG8gc3dpdGNoIHRoZQ0KdG9vbHMnIGludGVy
ZmFjZXMgdG8gc3RhYmxlIG9uZXMuDQoNCkkganVzdCB3YW50ZWQgdG8gcG9pbnQgb3V0IHRo
YXQgdGhlcmUgYXJlIG90aGVyIGxvY2F0aW9ucyBhdmFpbGFibGUgYWxyZWFkeQ0Kd2hlcmUg
c3VjaCBpbmZvcm1hdGlvbiBjb3VsZCBiZSBzaGFyZWQgYmV0d2VlbiBoeXBlcnZpc29yIGFu
ZCB0b29scy4gRXNwZWNpYWxseQ0KaW5mb3JtYXRpb24gcmVsYXRlZCB0byBoYXJkd2FyZSAo
c28gbm90IGFuIGludGVyZmFjZSB3ZSBhcmUgZGVmaW5pbmcpIG1pZ2h0IGJlDQphIGdvb2Qg
Y2FuZGlkYXRlIGZvciBzdWNoIGFuIGFsdGVybmF0aXZlIGxvY2F0aW9uLg0KDQpCdXQgaW4g
dGhlIGVuZCBpdCBpcyBub3QgbWUgdG8gZGVjaWRlIHdoYXQgdG8gdXNlLiBJIHdhcyBqdXN0
IGdpdmluZyBhIGhpbnQuIDotKQ0KDQoNCkp1ZXJnZW4NCg==
--------------yXcf1N2WGcR28JGrYVVqH2R3
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------yXcf1N2WGcR28JGrYVVqH2R3--

--------------ift2KQ9DbulT9LlM9Qwfq0Sw--

--------------D0wAdHhzLL1G270b4XLSs8XC
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/Ey8FAmTfKvgFAwAAAAAACgkQsN6d1ii/Ey8I
GQf6A4hGGt4FPbE6AWVdAbrKbdoayuZDBO1grvYAVJx7MyMGyIXzy0ijc+NpfWvLqehGAq83S1Gr
qNWPCNA+gYEYLjfv8oZ5piRWcgp1K7F4YiwJC9ZMi7O3I+OFaAffmip2+z+tfyc3fQTDojXcBBNd
HN6E0kXdSAA44HiYXCsaTFIFz6NNzzLlfsI12SwKeA6wnzAOhBg6ji9KNDCNOY5Fwt0ZIDE0sHMQ
yIczjaFd9gfi6YCn+DpO7AU5Mp6VZmrz/qlNFbDvY4PI6K+BV2BcwUYJxeBZfholh8iJdJrmDfBi
yQKR18tf1T8Qnhq+kHvSRu1DP8qjZD7XY0j5YFa6Eg==
=MQ1+
-----END PGP SIGNATURE-----

--------------D0wAdHhzLL1G270b4XLSs8XC--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:32:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585852.917045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWutf-0007iC-Me; Fri, 18 Aug 2023 08:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585852.917045; Fri, 18 Aug 2023 08:31:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWutf-0007i5-Il; Fri, 18 Aug 2023 08:31:55 +0000
Received: by outflank-mailman (input) for mailman id 585852;
 Fri, 18 Aug 2023 08: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=7XOR=ED=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qWute-0007hw-3W
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:31:54 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae7febe9-3da1-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 10:31:52 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-99bf3f59905so77490466b.3
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 01:31:52 -0700 (PDT)
Received: from [192.168.69.115] ([176.176.184.114])
 by smtp.gmail.com with ESMTPSA id
 rv6-20020a17090710c600b0099cc3c7ace2sm922405ejb.140.2023.08.18.01.31.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 01:31:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae7febe9-3da1-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692347512; x=1692952312;
        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=RNMX0AnjJjzsQQCysR3g14AmYaJFpG1hGnEYkiSti3s=;
        b=wsjaOFNYZsvnPUlxyO4J0luZmIS4HffIgkerVxk//FE3CU8RIuNwbL2xD+Htc3X9Vr
         CmFUZsZDUdp3HM4oskEO8zC/QtGO4IMF/lqVs3O6dGvgcljkJ+venMd1PXgIKfstWjfK
         vk76l9DHVBaqKu6vynBmGNRfzFaxNErzORA610KaxQTLq4eT/gXP/a7TvTBh42fIEFni
         UbbELPjXLP67GYJBZzIDGokbOqXaCrJqLdUNJkrnp7ltNMYAgwq+G2A05MR3qfza2r8y
         Vro2NBLIyjiSEm1lZpfjdg/BPP7kmKsLf3gqMzAaMCbbq50P3wPZVpyzDgLKz5nrC/nK
         QiTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692347512; x=1692952312;
        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=RNMX0AnjJjzsQQCysR3g14AmYaJFpG1hGnEYkiSti3s=;
        b=Xz2Wep3sTuU7glA29Witbd9K3lRSLwyu4GM97HPduoxVNwpEe5Sia2HjTjvj7n4wBC
         At4UKOXvk8osB39ZEXZhCGsHE6lNZZhP71vZSxuOtYv82OS7LpFTw1JYStXoh6N6YOEi
         2lN18GgPKi/QF/U5OMtqXph1CBs3tM/o40h0DEuYyeGJqL17zzw7cmYEuvyXj6rTl5DZ
         lsCl8s/pFAuyvdt5Apd5Z70Rpp9ClPSTyol5hXw7rByN0JRFw+NY+AaIA1nPC8U4cKOH
         TND9/hZ6Uukm15uPD5HKfoIZTWVKcQRUo5ecqPiG+l2UQwPskOP1uLGFXsryRIHfCb29
         hmUQ==
X-Gm-Message-State: AOJu0Yz+T3+PckLZ++Kq6JCr2nOP4+j/LWLXNDsAbDEJdRypEoFOrGab
	pu+T4E7JaJg2tefxYJ1ttFbsgQ==
X-Google-Smtp-Source: AGHT+IFPo9l+IULqXhDyve/DOzEDEYbjGx8jyY3mN2byf1pfWXuUa31VFsXgK9ukWLtmU/I6rYMgkQ==
X-Received: by 2002:a17:907:75fa:b0:99e:7a2:a8f6 with SMTP id jz26-20020a17090775fa00b0099e07a2a8f6mr1264012ejc.45.1692347512342;
        Fri, 18 Aug 2023 01:31:52 -0700 (PDT)
Message-ID: <5ad95579-f8f3-2926-dd37-bd84151f10ac@linaro.org>
Date: Fri, 18 Aug 2023 10:31:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v2 2/4] util/defer-call: move defer_call() to util/
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,
 xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@citrix.com>,
 Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Julia Suvorova <jusual@redhat.com>, Stefano Garzarella
 <sgarzare@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Aarushi Mehta <mehta.aaru20@gmail.com>, "Michael S. Tsirkin"
 <mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>, Ilya Maximets <i.maximets@ovn.org>
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-3-stefanha@redhat.com>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230817155847.3605115-3-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefan,

On 17/8/23 17:58, Stefan Hajnoczi wrote:
> The networking subsystem may wish to use defer_call(), so move the code
> to util/ where it can be reused.
> 
> As a reminder of what defer_call() does:
> 
> This API defers a function call within a defer_call_begin()/defer_call_end()
> section, allowing multiple calls to batch up. This is a performance
> optimization that is used in the block layer to submit several I/O requests
> at once instead of individually:
> 
>    defer_call_begin(); <-- start of section
>    ...
>    defer_call(my_func, my_obj); <-- deferred my_func(my_obj) call
>    defer_call(my_func, my_obj); <-- another
>    defer_call(my_func, my_obj); <-- another
>    ...
>    defer_call_end(); <-- end of section, my_func(my_obj) is called once
> 
> Suggested-by: Ilya Maximets <i.maximets@ovn.org>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   MAINTAINERS                       |  3 ++-
>   include/qemu/defer-call.h         | 15 +++++++++++++++
>   include/sysemu/block-backend-io.h |  4 ----
>   block/blkio.c                     |  1 +
>   block/io_uring.c                  |  1 +
>   block/linux-aio.c                 |  1 +
>   block/nvme.c                      |  1 +
>   hw/block/dataplane/xen-block.c    |  1 +
>   hw/block/virtio-blk.c             |  1 +
>   hw/scsi/virtio-scsi.c             |  1 +
>   block/plug.c => util/defer-call.c |  2 +-
>   block/meson.build                 |  1 -
>   util/meson.build                  |  1 +
>   13 files changed, 26 insertions(+), 7 deletions(-)
>   create mode 100644 include/qemu/defer-call.h
>   rename block/plug.c => util/defer-call.c (99%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6111b6b4d9..7cd7132ffc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2676,12 +2676,13 @@ S: Supported
>   F: util/async.c
>   F: util/aio-*.c
>   F: util/aio-*.h
> +F: util/defer-call.c

If used by network/other backends, maybe worth adding a
brand new section instead, rather than "Block I/O path".

>   F: util/fdmon-*.c
>   F: block/io.c
> -F: block/plug.c
>   F: migration/block*
>   F: include/block/aio.h
>   F: include/block/aio-wait.h
> +F: include/qemu/defer-call.h
>   F: scripts/qemugdb/aio.py
>   F: tests/unit/test-fdmon-epoll.c
>   T: git https://github.com/stefanha/qemu.git block
> diff --git a/include/qemu/defer-call.h b/include/qemu/defer-call.h
> new file mode 100644
> index 0000000000..291f86c987
> --- /dev/null
> +++ b/include/qemu/defer-call.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Deferred calls
> + *
> + * Copyright Red Hat.
> + */
> +
> +#ifndef QEMU_DEFER_CALL_H
> +#define QEMU_DEFER_CALL_H
> +

Please add smth like:

    /* See documentation in util/defer-call.c */

> +void defer_call_begin(void);
> +void defer_call_end(void);
> +void defer_call(void (*fn)(void *), void *opaque);
> +
> +#endif /* QEMU_DEFER_CALL_H */

Reviewed-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:32:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:32:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585857.917055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuuO-0008BK-VY; Fri, 18 Aug 2023 08:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585857.917055; Fri, 18 Aug 2023 08:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuuO-0008BD-SH; Fri, 18 Aug 2023 08:32:40 +0000
Received: by outflank-mailman (input) for mailman id 585857;
 Fri, 18 Aug 2023 08:32:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWuuN-0008B1-4G
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:32:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWuuK-0003RV-9v; Fri, 18 Aug 2023 08:32:36 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWuuJ-0004J8-V1; Fri, 18 Aug 2023 08:32:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gEVrgqXOZTLiOiqX/jFc9u4m5/9VT58SLbRlaiC95xM=; b=W8UG4i3H0kCFVp2ne1mgtJG+Z7
	sPjgAAOXhyBUn/+0339tfax9kIF1/LMjoE+NzqHhnbgCazT+hb0dbx/AG5yBxelE3/V2/7cBWBwoY
	nUKOS8Ta8x2GQt///sLefYYfnOmkCruanMPX0mEo93MBMznxSpnrCduwXb0gDfyunIyE=;
Message-ID: <e4b538d7-447b-4b4d-8c3a-bfb452cb76a8@xen.org>
Date: Fri, 18 Aug 2023 09:32:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v11 00/14] Xen FF-A mediator
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Marc Bonnici <marc.bonnici@arm.com>,
 Achin Gupta <achin.gupta@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20230731121536.934239-1-jens.wiklander@linaro.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230731121536.934239-1-jens.wiklander@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jens,

On 31/07/2023 13:15, Jens Wiklander wrote:
> Jens Wiklander (14):
>    xen/arm: ffa: add direct request support
>    xen/arm: ffa: map SPMC rx/tx buffers
>    xen/arm: ffa: send guest events to Secure Partitions
>    xen/arm: ffa: support mapping guest RX/TX buffers
>    xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
>    xen/arm: move regpair_to_uint64() and uint64_to_regpair() to regs.h
>    xen/arm: ffa: add defines for sharing memory
>    xen/arm: ffa: add ABI structs for sharing memory
>    xen/arm: ffa: support sharing memory
>    xen/arm: ffa: add support to reclaim shared memory
>    xen/arm: ffa: improve lock granularity
>    xen/arm: ffa: list current limitations
>    tools: add Arm FF-A mediator
>    docs: add Arm FF-A mediator

The series is now committed. Note, I had to resolve a context conflict 
in the CHANGELOG.md.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:33:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585864.917065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWuvB-0000LI-8x; Fri, 18 Aug 2023 08:33:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585864.917065; Fri, 18 Aug 2023 08: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 1qWuvB-0000LB-57; Fri, 18 Aug 2023 08:33:29 +0000
Received: by outflank-mailman (input) for mailman id 585864;
 Fri, 18 Aug 2023 08: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=7XOR=ED=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qWuv9-000854-0Q
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 08:33:27 +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 e5de1da8-3da1-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 10:33:25 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-51d95aed33aso793548a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 01:33:25 -0700 (PDT)
Received: from [192.168.69.115] ([176.176.184.114])
 by smtp.gmail.com with ESMTPSA id
 sb25-20020a170906edd900b0098ec690e6d7sm912432ejb.73.2023.08.18.01.33.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 01:33:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5de1da8-3da1-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692347605; x=1692952405;
        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=h6B6reclpzzsqyu3GltKPx/1+vUT6rdQgVTwvqAcIGs=;
        b=mDuI2K73sG7+5NxFPZRZlJXZ5KSoqV9Cs+aW0/5S+yvrD6030fXShHseiMnofJoMMS
         vCBYoy7ZrlIxH7fxS0WV8efXhIiqworCPIWvbz6fZj/aQ5GmoCXGkAZimz8jIH3ECD4q
         LeG8GdaTamQSUypMUwQkpxLGz+dp7nRNmb5eDOSIa+wKPMJuLsoRhFxPlMbOWr1pK3/G
         AIzZC5CLk6D5+A8rB3mPouvE2rpBs4iM9WrKTxtNs3v006SvChx7KDH1EqdwsWHZoxGS
         cBCRar7rkFfqdCbp57eB7HmyAvwqjxcniReuXiTVMIP4TBsScJn5iwKjWrRtvhB6cjO0
         f6uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692347605; x=1692952405;
        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=h6B6reclpzzsqyu3GltKPx/1+vUT6rdQgVTwvqAcIGs=;
        b=TtoTkbLWN25zVyBJHvo5gNBuOZsVg+MgnGlTxE2iSez5oGlIMECBzlSWicXZVfZSe/
         Cf/DuaJ3OPvAYVUoX5b5zcAGFGHK+3bnre6spYPM10lZyqAzrvbJzc5fuyrY1YYYAuLt
         UdEcxCuCcop+fcP8R4x8X8iIKbg8Z1UCOJofr6908BTnVM5Fx40q9fjV1gtn8xHXIBDc
         UrBt645JE+/8BNrfFQ3N8tV11gEGy9sXUFKDA2UYS5wcsN8DWYBmJjIVxaEKEyZsrem6
         9zt9vLF+tXTJc5IXtdYcjUvScUGsliOZy45r4CIFmb3oOPjn3gegPJHWAAFsCbTWoQO7
         x7NQ==
X-Gm-Message-State: AOJu0YxNDMUtMsJKk9b2NBvSskq0Qv8vCwPXa2JOlSbGR+sThKdxAlun
	i8nqZzEx4Zgz/BnYbM1nlc+OBA==
X-Google-Smtp-Source: AGHT+IEVGTXx+aqxF3YAMS/s3iznP3vmLGfMlX8GyLK0NY+uy1m2WAzwUikiXNblzUrGIPKOK+Un6Q==
X-Received: by 2002:a17:907:7886:b0:99d:f34c:7a0f with SMTP id ku6-20020a170907788600b0099df34c7a0fmr1131079ejc.23.1692347604770;
        Fri, 18 Aug 2023 01:33:24 -0700 (PDT)
Message-ID: <8d4d54ae-84c8-d0ba-2a9e-330898a1e4bd@linaro.org>
Date: Fri, 18 Aug 2023 10:33:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/4] block: rename blk_io_plug_call() API to
 defer_call()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,
 xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@citrix.com>,
 Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Julia Suvorova <jusual@redhat.com>, Stefano Garzarella
 <sgarzare@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Aarushi Mehta <mehta.aaru20@gmail.com>, "Michael S. Tsirkin"
 <mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>, Ilya Maximets <i.maximets@ovn.org>
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-2-stefanha@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230817155847.3605115-2-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 17/8/23 17:58, Stefan Hajnoczi wrote:
> Prepare to move the blk_io_plug_call() API out of the block layer so
> that other subsystems call use this deferred call mechanism. Rename it
> to defer_call() but leave the code in block/plug.c.
> 
> The next commit will move the code out of the block layer.
> 
> Suggested-by: Ilya Maximets <i.maximets@ovn.org>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/sysemu/block-backend-io.h |   6 +-
>   block/blkio.c                     |   8 +--
>   block/io_uring.c                  |   4 +-
>   block/linux-aio.c                 |   4 +-
>   block/nvme.c                      |   4 +-
>   block/plug.c                      | 109 +++++++++++++++---------------
>   hw/block/dataplane/xen-block.c    |  10 +--
>   hw/block/virtio-blk.c             |   4 +-
>   hw/scsi/virtio-scsi.c             |   6 +-
>   9 files changed, 76 insertions(+), 79 deletions(-)

Reviewed-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 08:40:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 08:40:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585877.917074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWv1g-0001y6-2S; Fri, 18 Aug 2023 08:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585877.917074; Fri, 18 Aug 2023 08:40: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 1qWv1f-0001xz-Vm; Fri, 18 Aug 2023 08:40:11 +0000
Received: by outflank-mailman (input) for mailman id 585877;
 Fri, 18 Aug 2023 08:40: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 1qWv1e-0001xp-In; Fri, 18 Aug 2023 08:40: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 1qWv1e-0003bX-GU; Fri, 18 Aug 2023 08:40: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 1qWv1e-0000rO-6e; Fri, 18 Aug 2023 08:40:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWv1e-0005sG-65; Fri, 18 Aug 2023 08:40: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=7wS8snHaLGWkyjsnJHOmhO9YB5bX/Hcp9okYJtJtBWc=; b=et4KqAnxC1t94G2G0IMAg7NIgk
	mDOzonDf4pIlmPQ7Jy26EMzmBjQLFjBIGqEhnReKSiw3r37ezf+Gho5ZZDJLtmYiW3lbCu1PnuPVI
	YTqxT2R5qx4qfJn4wlQhemrZear6l86RQ4NDNzxT8T4iRR9gTdSGRjlVlPIrv9Y3WUmU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182374-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182374: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-start/debianhvm.repeat: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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=16931859a6500d360b90aeacab3b505a3560a3ed
X-Osstest-Versions-That:
    linux=4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 08:40:10 +0000

flight 182374 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182374/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 182357
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 182371 REGR. vs. 182357

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-amd64 8 xen-boot fail in 182371 pass in 182374
 test-armhf-armhf-xl           8 xen-boot         fail in 182371 pass in 182374
 test-amd64-amd64-xl-shadow 20 guest-localmigrate/x10 fail in 182371 pass in 182374
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail in 182371 pass in 182374
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 182371 pass in 182374
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                  fail pass in 182371
 test-amd64-amd64-xl          20 guest-localmigrate/x10     fail pass in 182371
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10    fail pass in 182371
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 182371
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat  fail pass in 182371
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail pass in 182371
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182371
 test-amd64-amd64-xl-qemuu-ovmf-amd64 20 guest-start/debianhvm.repeat fail pass in 182371

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182357
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182357
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182357
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                16931859a6500d360b90aeacab3b505a3560a3ed
baseline version:
 linux                4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6

Last test of basis   182357  2023-08-16 07:44:20 Z    2 days
Testing same since   182371  2023-08-17 15:10:27 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chuck Lever <chuck.lever@oracle.com>
  Jeff Layton <jlayton@kernel.org>
  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                                          fail    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        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                                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-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 16931859a6500d360b90aeacab3b505a3560a3ed
Merge: 4853c74bd7ab c96e2a695e00
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Aug 17 16:38:48 2023 +0200

    Merge tag 'nfsd-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
    
    Pull nfsd fix from Chuck Lever:
    
     - Fix new MSG_SPLICE_PAGES support in server's TCP sendmsg helper
    
    * tag 'nfsd-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
      sunrpc: set the bv_offset of first bvec in svc_tcp_sendmsg

commit c96e2a695e00bca5487824d84b85aab6aa2c1891
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Aug 14 13:36:54 2023 -0400

    sunrpc: set the bv_offset of first bvec in svc_tcp_sendmsg
    
    svc_tcp_sendmsg used to factor in the xdr->page_base when sending pages,
    but commit 5df5dd03a8f7 ("sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather
    then sendpage") dropped that part of the handling. Fix it by setting
    the bv_offset of the first bvec.
    
    Fixes: 5df5dd03a8f7 ("sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage")
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 09:15:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 09:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585886.917085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWvZf-0005vC-Hy; Fri, 18 Aug 2023 09:15:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585886.917085; Fri, 18 Aug 2023 09:15:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWvZf-0005v5-Eo; Fri, 18 Aug 2023 09:15:19 +0000
Received: by outflank-mailman (input) for mailman id 585886;
 Fri, 18 Aug 2023 09:15: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 1qWvZe-0005uz-Or
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 09:15: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 1qWvZa-0004Xl-ID; Fri, 18 Aug 2023 09:15:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWvZa-0006kv-Cr; Fri, 18 Aug 2023 09:15:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PG15t376dXHfO+vwxn6Gcvzc92mrPJ12GlgCJNyR/3o=; b=c6Kl/1DKYZKjF/MvWgmNyT/1zY
	QzgeQwZQgNoUQ3vVPf0F3ZvrBOwEKK+4uws2eW8u5AJAswVeMylZFGShfsJfTZ3MDZ5sVO2RMNPYH
	7a8hd3ivW6Y0sj77BcbjjwvQC3jX2WTfyUFUu+aR+8eXP0m5cwW5Z3cNeu2FO523DARA=;
Message-ID: <2bb2291a-a931-48c5-b398-fe813db89ec2@xen.org>
Date: Fri, 18 Aug 2023 10:15:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
 <857a72e2-4716-4419-9955-ad044e73151d@suse.com>
 <cb383251-3c90-4579-b6c5-19662d828969@xen.org>
 <8a463a31-0bbd-414f-91ea-7d5342cbc148@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8a463a31-0bbd-414f-91ea-7d5342cbc148@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 18/08/2023 09:25, Juergen Gross wrote:
> On 18.08.23 10:05, Julien Grall wrote:
>> Hi,
>>
>> On 18/08/2023 09:00, Juergen Gross wrote:
>>> On 18.08.23 09:39, Julien Grall wrote:
>>>> Hi Jan,
>>>>
>>>> On 18/08/2023 07:33, Jan Beulich wrote:
>>>>> On 17.08.2023 23:43, Julien Grall wrote:
>>>>>> --- a/xen/include/public/arch-arm.h
>>>>>> +++ b/xen/include/public/arch-arm.h
>>>>>> @@ -339,36 +339,36 @@ typedef uint64_t xen_callback_t;
>>>>>> Â  /* PSR bits (CPSR, SPSR) */
>>>>>> -#define PSR_THUMBÂ Â Â Â Â Â  (1<<5)Â Â Â Â Â Â Â  /* Thumb Mode enable */
>>>>>> -#define PSR_FIQ_MASKÂ Â Â  (1<<6)Â Â Â Â Â Â Â  /* Fast Interrupt mask */
>>>>>> -#define PSR_IRQ_MASKÂ Â Â  (1<<7)Â Â Â Â Â Â Â  /* Interrupt mask */
>>>>>> -#define PSR_ABT_MASKÂ Â Â  (1<<8)Â Â Â Â Â Â Â  /* Asynchronous Abort mask */
>>>>>> -#define PSR_BIG_ENDIANÂ  (1<<9)Â Â Â Â Â Â Â  /* arm32: Big Endian Mode */
>>>>>> -#define PSR_DBG_MASKÂ Â Â  (1<<9)Â Â Â Â Â Â Â  /* arm64: Debug Exception 
>>>>>> mask */
>>>>>> -#define PSR_IT_MASKÂ Â Â Â  (0x0600fc00)Â  /* Thumb If-Then Mask */
>>>>>> -#define PSR_JAZELLEÂ Â Â Â  (1<<24)Â Â Â Â Â Â  /* Jazelle Mode */
>>>>>> -#define PSR_ZÂ Â Â Â Â Â Â Â Â Â  (1<<30)Â Â Â Â Â Â  /* Zero condition flag */
>>>>>> +#define PSR_THUMBÂ Â Â Â Â Â  (1U <<5)Â Â Â Â Â  /* Thumb Mode enable */
>>>>>> +#define PSR_FIQ_MASKÂ Â Â  (1U <<6)Â Â Â Â Â  /* Fast Interrupt mask */
>>>>>> +#define PSR_IRQ_MASKÂ Â Â  (1U <<7)Â Â Â Â Â  /* Interrupt mask */
>>>>>> +#define PSR_ABT_MASKÂ Â Â  (1U <<8)Â Â Â Â Â  /* Asynchronous Abort mask */
>>>>>
>>>>> Nit: Did you mean to insert blanks also on the rhs of the <<, like 
>>>>> you ...
>>>>>
>>>>>> +#define PSR_BIG_ENDIANÂ  (1U << 9)Â Â Â Â  /* arm32: Big Endian Mode */
>>>>>> +#define PSR_DBG_MASKÂ Â Â  (1U << 9)Â Â Â Â  /* arm64: Debug Exception 
>>>>>> mask */
>>>>>> +#define PSR_IT_MASKÂ Â Â Â  (0x0600fc00U) /* Thumb If-Then Mask */
>>>>>> +#define PSR_JAZELLEÂ Â Â Â  (1U << 24)Â Â Â  /* Jazelle Mode */
>>>>>> +#define PSR_ZÂ Â Â Â Â Â Â Â Â Â  (1U << 30)Â Â Â  /* Zero condition flag */
>>>>>
>>>>> ... did everywhere here?
>>>>
>>>> Yes I did. I will update the patch.
>>>>
>>>>>
>>>>> As an aside I wonder why they're here: They look like definitions of
>>>>> processor registers, which aren't under our (Xen's) control.
>>>>
>>>> I agree they are not under Xen's control. However, they are used by 
>>>> the toolstack and IIRC back then they were not available in any 
>>>> other headers.
>>>>
>>>> Note that they are only available by the tools and the hypervisor 
>>>> (see #ifdef above).
>>>>
>>>>> I ask in
>>>>> part because the presence of such constants may then be taken as
>>>>> justification to add similar things in new ports. Yet such definitions
>>>>> shouldn't be put here.
>>>>
>>>> Â From my understanding we are using the public headers to provide 
>>>> macros/defines that are used by both the toolstack and the 
>>>> hypervisor. If they are not meant to be exposed to the guest, then 
>>>> they will be protected with "#if defined(__XEN__) || 
>>>> defined(__XEN_TOOLS__)".
>>>>
>>>> I think we are in a similar situation here. So it is not clear where 
>>>> they should be put if we need to share them between the hypervisor 
>>>> and the toolstack.
>>>
>>> What about include/xen/lib? There are headers below that linked at 
>>> build time
>>> via tools/include/Makefile to tools/include/xen/lib.
>>
>> To me, the question is why would we want to move PSR_* in xen/lib (or 
>> whatever name we decide) but all the other defines that are only used 
>> by the toolstack would still be in public/.
>>
>> So are you suggesting to move all the tools only information in xen/lib?
> 
> I didn't want to suggest that, especially with our general desire to 
> switch the
> tools' interfaces to stable ones.

Ok. If there are a desire to switch the tools interface to stables one. 
Then...

> 
> I just wanted to point out that there are other locations available already
> where such information could be shared between hypervisor and tools. 
> Especially
> information related to hardware (so not an interface we are defining) 
> might be
> a good candidate for such an alternative location.

... I disagree with moving PSR_* outside of the public interface because 
they are those defines are used in hypercalls. So they would be part of 
the ABI.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 09:21:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 09:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585893.917094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWvfU-0007QW-5A; Fri, 18 Aug 2023 09:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585893.917094; Fri, 18 Aug 2023 09:21: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 1qWvfU-0007QP-2V; Fri, 18 Aug 2023 09:21:20 +0000
Received: by outflank-mailman (input) for mailman id 585893;
 Fri, 18 Aug 2023 09:21: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 1qWvfS-0007QJ-El
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 09:21: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 1qWvfP-0004eC-75; Fri, 18 Aug 2023 09:21:15 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWvfP-00075P-15; Fri, 18 Aug 2023 09:21:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=a6XTjDpfImIKT+U4vCBdxjejt1utfX8FRUxz2mSr8uU=; b=a8twulTwM4mSa8e4F8oxfzXtYJ
	au98NW2BjSbIDPNlanvuCZyPB2kXxXt3mwAuFeVJ01MmkDIvsbm0zRACOY9uoyVgJiyKbds8Eadxx
	gr8p8IZNjIfnBCISXigjoHfU0tP51VpF+ZQbi3mJbyjZoaUYjYBgeQRAOaXMVCPLYRdo=;
Message-ID: <891eb740-6777-4cad-8bb9-2b1a554b3563@xen.org>
Date: Fri, 18 Aug 2023 10:21:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/public: arch-arm: All PSR_* defines should be
 unsigned
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-4-julien@xen.org>
 <93ccb2c0-fa2c-3e84-35bf-3d86aef7a2bd@suse.com>
 <2b86f83a-6352-4b43-835b-6c56ad8260ba@xen.org>
 <58ecfdf4-c0ce-be56-8686-d6fcf06f9609@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <58ecfdf4-c0ce-be56-8686-d6fcf06f9609@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 18/08/2023 09:14, Jan Beulich wrote:
> On 18.08.2023 09:39, Julien Grall wrote:
>> On 18/08/2023 07:33, Jan Beulich wrote:
>>> As an aside I wonder why they're here: They look like definitions of
>>> processor registers, which aren't under our (Xen's) control.
>>
>> I agree they are not under Xen's control. However, they are used by the
>> toolstack and IIRC back then they were not available in any other headers.
>>
>> Note that they are only available by the tools and the hypervisor (see
>> #ifdef above).
> 
> Yes, I did notice that (or else I would have used stronger wording).
> 
>>> I ask in
>>> part because the presence of such constants may then be taken as
>>> justification to add similar things in new ports. Yet such definitions
>>> shouldn't be put here.
>>
>>   From my understanding we are using the public headers to provide
>> macros/defines that are used by both the toolstack and the hypervisor.
>> If they are not meant to be exposed to the guest, then they will be
>> protected with "#if defined(__XEN__) || defined(__XEN_TOOLS__)".
>>
>> I think we are in a similar situation here. So it is not clear where
>> they should be put if we need to share them between the hypervisor and
>> the toolstack.
> 
> On x86 we simply arrange for certain hypervisor headers to be re-usable
> from the toolstack. See in particular arch/x86/include/asm/x86-*.h. And
> of course everything under include/xen/lib/x86/, but those are our own
> definitions, not ones meant to solely express relevant hw spec aspects.

Even if they are defined by the HW, we still need them to easily create 
some hypercalls field.

If we are planning to have a stable toolstack ABI (as Juergen 
suggested), then I would find a bit odd that onewould need to include 
lib/ (or provide their own header) in order to update the fields.

Anyway, I am not planning to do any re-ordering anytime soon for the 
public. But I would be happy to take part of the discussion if there are 
a general agreement to split further and someone wants to write patches.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 09:36:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 09:36:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585901.917105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWvty-0000jU-GO; Fri, 18 Aug 2023 09:36:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585901.917105; Fri, 18 Aug 2023 09:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWvty-0000jN-Dg; Fri, 18 Aug 2023 09:36:18 +0000
Received: by outflank-mailman (input) for mailman id 585901;
 Fri, 18 Aug 2023 09:36: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=JdLL=ED=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWvtw-0000jH-VQ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 09:36: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 accd6f63-3daa-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 11:36:15 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-4fe61ae020bso951881e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 02:36:14 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w5-20020ac254a5000000b004fe142afd1esm268360lfk.152.2023.08.18.02.36.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 18 Aug 2023 02:36: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: accd6f63-3daa-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692351374; x=1692956174;
        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=4MDiBvR5doqcFrcgVA6jJZk89eGPiqIy4GVoh8CypNo=;
        b=mA1uLE+0clYXKGNxMA066clRA8QbqXuaJbBzHYpCMNSnGGcQ+Zr49G1J8qWsNXqKoC
         s4wb941XTKDQE1wzozyMbO8gdUmF44Vs0KhpXWKs9RAyOmM9t60M63hkx/V6IpskVnji
         uigIF6WkqJggq3EAZwAbx0WYpn6mXrVhADfQ1g+1dW4yg+nfjaLMxUEzXW6koO1UoF9U
         pr4ofGuA3rdM0fiarS09kmPIrK0HoAoF3+Xgd7CBeXJlvbu84gb58KZkr9DRtx28cgf3
         fMNOlKKw439GfooshxfFx9hrhdv1zVyQsCOZiS3evh84xLhBF9Lk2di3jIJ7eb1cdXcC
         TxJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692351374; x=1692956174;
        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=4MDiBvR5doqcFrcgVA6jJZk89eGPiqIy4GVoh8CypNo=;
        b=blLr/WC1yhwhAP42/tsTHayXk4vXj45IXKoN0T/ouSo9N8U2tlRQTywKZxpShz0Xio
         P70l00DlwZ4Z1dseza9HUaa59xKB+FnvwCODpXlwHdQwJkBuCBW6Fjbr7k4Y50HDZWN1
         bQz0+Hf3ooMNpyZZIA9TVgY8/YDG16LAbLKQhLPdHaIwT7y1SKorNQpVRSDZJIH6ZJqq
         LQYFZiJIb5iq2KBFxRHZIAhyppID5tTzT7ANZr168hJlxRqECCBNtPVqHXscjQm9pgt6
         7rld0AZQJ+7naGLAwRQGCf3rmB1BANUZWiX/3cClZ3Hsgzg9nR8CSE8cb1YwC8TH6l34
         KiFQ==
X-Gm-Message-State: AOJu0YzW8O3OD/20rJ/RCMo0pJXGwRw3rkiErHHsRVAgqwz8uHwEQvWz
	EBBaE+/SHYHRVxbVq7hM9w8=
X-Google-Smtp-Source: AGHT+IGsVOgM9Ra4AVUsZd1rc2WHRcSdPtXQZzoWfY6wUPLVudQcEYC6eTYT0+4aG93Jk1vLX0ZaiQ==
X-Received: by 2002:a05:6512:3494:b0:4fe:3724:fdae with SMTP id v20-20020a056512349400b004fe3724fdaemr1045543lfr.66.1692351373927;
        Fri, 18 Aug 2023 02:36:13 -0700 (PDT)
Message-ID: <f6d459f7c6736dde859ef3f508cdb9e0d626fcd1.camel@gmail.com>
Subject: Re: [PATCH v1 02/57] xen/riscv: add public arch-riscv.h
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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Date: Fri, 18 Aug 2023 12:36:13 +0300
In-Reply-To: <2b9cd73c-8ad2-9c82-bdfa-4b9af41f967f@suse.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
	 <d9721f72f4a51b1240ba180e33193c551b987251.1692181079.git.oleksii.kurochko@gmail.com>
	 <2b9cd73c-8ad2-9c82-bdfa-4b9af41f967f@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-08-17 at 17:00 +0200, Jan Beulich wrote:
> On 16.08.2023 12:19, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/public/arch-riscv.h
> > @@ -0,0 +1,90 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> > +/*
> > + * Guest OS interface to RISC-V Xen.
> > + * Initially based on the ARM implementation.
> > + */
> > +
> > +#ifndef __XEN_PUBLIC_ARCH_RISCV_H__
> > +#define __XEN_PUBLIC_ARCH_RISCV_H__
> > +
> > +#define=C2=A0 int64_aligned_t=C2=A0 int64_t __attribute__((__aligned__=
(8)))
> > +#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
> > +
> > +#ifndef __ASSEMBLY__
> > +#define ___DEFINE_XEN_GUEST_HANDLE(name, type)=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 \
> > +=C2=A0=C2=A0=C2=A0 typedef union { type *p; unsigned long q; }=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __guest_handle_ ## name;=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 typedef union { type *p; uint64_aligned_t q; }=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __guest_handle_64_ ## name
> > +
> > +/*
> > + * XEN_GUEST_HANDLE represents a guest pointer, when passed as a
> > field
> > + * in a struct in memory. On RISCV is always 8 bytes sizes and 8
> > bytes
> > + * aligned.
> > + * XEN_GUEST_HANDLE_PARAM represents a guest pointer, when passed
> > as an
> > + * hypercall argument. It is 4 bytes on aarch32 and 8 bytes on
> > aarch64.
>=20
> Nit: aarch{32,64}?
Thanks. It should be updated to RISC-V.
>=20
> > + */
> > +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
> > +=C2=A0=C2=A0=C2=A0 ___DEFINE_XEN_GUEST_HANDLE(name, type);=C2=A0=C2=A0=
 \
> > +=C2=A0=C2=A0=C2=A0 ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type=
)
> > +#define DEFINE_XEN_GUEST_HANDLE(name)=C2=A0=C2=A0
> > __DEFINE_XEN_GUEST_HANDLE(name, name)
> > +#define __XEN_GUEST_HANDLE(name)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 __guest_handle_64_ ## name
> > +#define XEN_GUEST_HANDLE(name)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 __XEN_GUEST_HANDLE(name)
> > +#define XEN_GUEST_HANDLE_PARAM(name)=C2=A0=C2=A0=C2=A0 __guest_handle_=
 ## name
> > +#define set_xen_guest_handle_raw(hnd, val)=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 \
> > +=C2=A0=C2=A0=C2=A0 do {=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 typeof(&(hnd)) _sxghr_tmp =
=3D &(hnd);=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sxghr_tmp->q =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=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sxghr_tmp->p =3D (val);=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 } while ( 0 )
>=20
> While I realize you simply took this from Arm, in new code I think it
> would be helpful to avoid name space violations from the beginning.
> Hence no leading underscore please for macro local variables.
> Trailing
> underscores is what we mean to use instead.
>=20
> It's also not really valid to use a gcc extension here, but I guess
> that's hard to avoid.
Thank you. Understood. I'll make the update.
>=20
> > +#define set_xen_guest_handle(hnd, val)
> > set_xen_guest_handle_raw(hnd, val)
> > +
> > +typedef uint64_t xen_pfn_t;
> > +#define PRI_xen_pfn PRIx64
> > +#define PRIu_xen_pfn PRIu64
> > +
> > +typedef uint64_t xen_ulong_t;
> > +#define PRI_xen_ulong PRIx64
> > +
> > +#if defined(__XEN__) || defined(__XEN_TOOLS__)
> > +
> > +struct vcpu_guest_context {
> > +};
> > +typedef struct vcpu_guest_context vcpu_guest_context_t;
> > +DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
> > +
> > +struct xen_arch_domainconfig {
> > +};
>=20
> While these are okay to remain empty, ...
>=20
> > +#endif
> > +
> > +struct arch_vcpu_info {
> > +};
> > +typedef struct arch_vcpu_info arch_vcpu_info_t;
> > +
> > +struct arch_shared_info {
> > +};
> > +typedef struct arch_shared_info arch_shared_info_t;
>=20
> ... these two need to gain a "todo" marker so that we won't forget
> to at least add a placeholder entry if no real ones surface.
I'll make the update. Thanks.

>=20
> > +/* Maximum number of virtual CPUs in legacy multi-processor
> > guests. */
> > +/* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */
>=20
> Nit: Style (missing full stop). And quite likely the two comments
> could
> be joined to a single one.
I'll take it into account.
>=20
> > +#define XEN_LEGACY_MAX_VCPUS 1
> > +
> > +#endif /* __ASSEMBLY__ */
> > +
> > +#ifndef __ASSEMBLY__
>=20
> Why not continue the earlier !__ASSEMBLY__ section?
Sure, we can continue the earlier !__ASSEBLY__ section. I'll update
this part.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 09:44:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 09:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585908.917115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWw2B-0002II-9X; Fri, 18 Aug 2023 09:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585908.917115; Fri, 18 Aug 2023 09: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 1qWw2B-0002IB-5z; Fri, 18 Aug 2023 09:44:47 +0000
Received: by outflank-mailman (input) for mailman id 585908;
 Fri, 18 Aug 2023 09:44: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWw29-0002I5-3R
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 09:44:45 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da4c3830-3dab-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 11:44:42 +0200 (CEST)
Received: from mail-mw2nam04lp2170.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 05:44:39 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6861.namprd03.prod.outlook.com (2603:10b6:510:15e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 09:44:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 09:44:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da4c3830-3dab-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692351882;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LZUdv9m6GaSyVY7XvQLqRaZNI+y/RqohzYsHuK0PPTc=;
  b=K2dRuEsUgHmfC5RQ+6rQFmRe7/0tqfuX/AJsUITIsUVB2MC5+4f5jA7u
   oA/mVFSNHGJjzIvoaPIcNougaDYqgp6prs9fXSfMh0HMmEqwa9CMgECYt
   yuFHSg0y4zXaVS0+XC9hxQOFzLu5HJQXiH+ZqcCCM7qMQVh0u7oYAFJGX
   U=;
X-IronPort-RemoteIP: 104.47.73.170
X-IronPort-MID: 120314333
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:El8lNa19C6i2mf2j1fbD5f5wkn2cJEfYwER7XKvMYLTBsI5bp2RTx
 mcbXjjQafqKZTSmfY1/adjnp0sCsJ/TxodiTgVkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxnNagS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfMVxA0
 dglBBkxKR293u+zwon8EstomZF2RCXrFNt3VnBI6xj8VapjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouC6Kk1QZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqhANlLSObjrZaGhnWO/VRNFjcaSWG4//6CuGXjBNlgM
 UA9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9EIMZTSoNTA9A5sa5pog21k7LVow6T/bzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:mlotI6ocNL1ahUmhojFbTK4aV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-Talos-CUID: 9a23:NUh5lm3T10t7pRgpieuDxbxfKv0rVlng4F7sZEKGUGtsSobSEX2U5/Yx
X-Talos-MUID: 9a23:HGSyQQl4wpTIfPmQDDeRdnp/D/82/Y6iFHoOz5I9ieLZaidPITu02WE=
X-IronPort-AV: E=Sophos;i="6.01,182,1684814400"; 
   d="scan'208";a="120314333"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SbbT4H3GXwFDD0KEg9jJXQEjwrSBi8CrhVetv5JHYYAMCZX53XAxxxOcLIHxW/ewmAml5ayQNzZqDEhcfkFsewh+eiK6UIOwj+EE1rWPvNFamuxGXEMKdg0X6ISURaeSdKBgA3PoTmhVvlZjQgSuHeuGALjWancZltDW8rfA0276nZUSRm4UMU8tj9Iu0oko+524L1A3axiogNqc1m5fTOqZbTw8JEtMBItdz7Di1SCtJCyHJeWStGw5+Fajmt3dSKfzObMdaDU+XoRV/DIKttOtdTt20eNpLULL6RhkFIuPmVDEt/z9lOpKdFcHuwsRsGVcVgl+P+IsThYON3b+FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dkkICFPreOaQveNDAg4ZJAP9zGfSiosFc50pt6gdbsI=;
 b=f3Ur3U5aYx+afFCNV0K+v8rmi+qrNF1hXBrEkQvL+G+iZ148Ng78+nGmd1UVvJddiIo5SGw/RcM7PAXqm889oxuvDnMks958L0JPYo9eWD78KpJ7xHGHtfzI/J5GoosoHHwpQBrQbJPbHiF1r1CYwADVp9n/05eoO2E52B3hgO2u/n0T40P+Ax/q2q5Jjz5NHK10oc2baFifmcQPOCVtr1eS0pGmLOOF54++a08znFfXpcF4bE+94FRwQuOy3vbw8o6Bkw9RdN6BQV+m1m4BAbOAUmiYr52HgH7ICm+Yaxl10Xq9JZG6z8Hje3eUbTOVIj+7+PmwxA9NMnJ4b+k+LQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dkkICFPreOaQveNDAg4ZJAP9zGfSiosFc50pt6gdbsI=;
 b=P3Pvjvx11vy4em6beOiUh1UU1pFlXyBlahIxv3ufCu5Hb4yMyiOm7lH/XlmwOJWijlvTfvt2gVB8KVzS1O5vtBJlJOld76TY3RcbDVgzVWmyj9HyiceK/UnIIxYOaBYE2Sw4MDq6KKb75ypXvcKKn9TNJSz7imkPO+8aMlr7Xs8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e5f790ac-2f8d-7da8-8e6e-5691615e7d59@citrix.com>
Date: Fri, 18 Aug 2023 10:44:31 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] rombios: Work around GCC issue 99578
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230817204506.34827-1-andrew.cooper3@citrix.com>
 <622e33b5-7fae-ba1e-0100-667cd9b50ceb@suse.com>
In-Reply-To: <622e33b5-7fae-ba1e-0100-667cd9b50ceb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0095.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6861:EE_
X-MS-Office365-Filtering-Correlation-Id: db0ce52c-b020-4787-dea4-08db9fcfbc0a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mDwhUqcqRciCkQyYfN5LkkaqwdlL7vA59Ys5nsFd4nkn5/n0z1sm41PV8P/yDj5RWejK+uk9L3EEgijXEdFbsMi1Reaq8PvQXBFpOvDWBsLhiAcXur3XxSvVyXrkRwSsR8R1vN30knTHmRes/fW4FmJacDXViAqSyXK2GINjSfrsX3e0S2Ud8T0fyqpnlc+3Z/yAspduk1rAe+lz+dqCPYXDTeZ5yg0qzt+QJaqjOdpr0nbaiXpsgPdy3CS6K6pojseaR35sphHiXrwRNsllIOT/lTf2NRguIBH9hItqOwahv9VpKbAxKUM/arXKdb6Fr8NkD7EqmxnsNaoY5PX8LNfPoHBZLeupubZD9PtkKhP2ze508eCk44d8WG5s7wARHcRrrRVdR5gGkKp3qvX4rIur93K8/ISpm2koyJEXvP0bF7Uct0teZzfxUYcNit5a1CrVc7F9R/Qc6Xs/qLkfCeHfvX+98cyWIDN2r231QEXDoxpHaG+jgYkj5rMdDYBncN3ZoGEXWRruQu/yM9KgWke2YpWBu5f/jLFNLX7g+tzxxNhnuEHyyVBD/YygCbGyMFoZasuWkZePamuwXTLeRg26jOVSiUDl/0I/JSuZmJYNKtv1QOMFwyKGrfnmKLxNR+68YNTc66ZLAyR4x51wJw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(346002)(136003)(396003)(451199024)(186009)(1800799009)(86362001)(31696002)(36756003)(31686004)(83380400001)(8936002)(8676002)(4326008)(5660300002)(2906002)(41300700001)(26005)(6666004)(6506007)(53546011)(6512007)(6486002)(2616005)(478600001)(82960400001)(66476007)(316002)(6916009)(38100700002)(66946007)(66556008)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?elA2WGhXeDRjUXVZNEFkbXNQU0JrQmhJS3VzV1I4MEZMNUJ1MWcrSE5tUy93?=
 =?utf-8?B?S0Z3Q1lGa0xFTnJKeVUzS01BNkluRE1jUlJiVDUxb0NYSHpxWGF1MC9SZkJq?=
 =?utf-8?B?NmVxMStZVG52Y0JITkVKVnQ2NDJvaVlxays1eDNxN1duc3VrM0Y3bmxock5Y?=
 =?utf-8?B?WjAvY0VTOEtmTkhvdnlMc0RHNVhGbDZ6MFlWZHNRdzRHVFRuWS9oSHFDSWRD?=
 =?utf-8?B?NWgwcy9RZStVbzUyYkV4OWdKdVJINXJYTzRBSWlQaVBQMlh6Zk5jWEZaV3Zp?=
 =?utf-8?B?TFBCb3NaaFBGNEdLTjhjTG44NkJUR2oyb3ZaUHNMa1FkbGZKTUNiVHNQR2Rj?=
 =?utf-8?B?TU9ZS3VoZmFGRUhhaEpKaEpYSjVRdlBjVUdvK0dBN3BhUnE4Ty9sQ3VuOEgx?=
 =?utf-8?B?WUUvRFlRSHU3NU9mZzN3eHpmRmtaRmFKdXQwajIrcDY2ajJKVEZ3M1dwUnc1?=
 =?utf-8?B?UVkwdEU3dWdOTFkzNzBZU2FSajNWQTF4L1V2a0lZUjJLSHpuVnlRR04rN2N5?=
 =?utf-8?B?VnNhRGVNQUJwU3cyZVJFeCsvamNvQTlFUnp3dVFMZnlZYVEzMngrR3lwank1?=
 =?utf-8?B?cXFrTHNFY2o4d2VmT2M3amVJalZpaW5vays3OHg2Z240MkFpYXBmUWxOYjhY?=
 =?utf-8?B?aGdJaEtJUUUzUHVFTGNEQXgySFVjaWdicVYrUXdwVStGTHVhQVZyc29KSDZ6?=
 =?utf-8?B?UEtvZVlpU28yV2J3UXlwSmUzYk51Q3dsN3NHaWI0Mzg1Wm9iZXFNdlZUc01X?=
 =?utf-8?B?L3JCSk1DeGNHT3I0MUx6V3h5YXA3TmVoZHUzYVA0SnJ6ZFVidUFIYmoyTHRm?=
 =?utf-8?B?cTRsOVVSRzA2TzR2azV1UlJRUjFWWDNsenZyRWN2ZVk4NVBKQVpmOFY1RHFa?=
 =?utf-8?B?R0Z2RDl0UEh6R29DZko2L202UDY5M2ZlU2xPcTU5M2E4Ky9DTlMyenh6RkpG?=
 =?utf-8?B?a2JNcEJocG1PaDhhbFB2MUZhbWdEVmkvS29iSUZkR3l4bGZJdUpZbzVZY1Vr?=
 =?utf-8?B?NUg5QkpCRmtpUFJGRXorRmtGRjVGUTZXS2tuaGw2TzV0QTFMdEpOd1pMVHV3?=
 =?utf-8?B?T2oxV29wZDdKN050eU14QUl2YXRNaG9NWi9VL01QWUpQSE5NMU9qakQ4dWRV?=
 =?utf-8?B?R1REWFBhMUVIQVBkOFR5aXBBajRCMnRPWnZ2RHVJRURpL2U4MGUvVFhLeVBD?=
 =?utf-8?B?SXYyeitrQW13ZjY1VnRQNXJYZEw5d1VKejNhOU93b1VvVGEwNnU5WUV4em11?=
 =?utf-8?B?Sy83TjlGZDRmMXIralZ1RXVLM0dERnlubW5SdFZWRUU5NkQ1TTdyTDljVlZ6?=
 =?utf-8?B?MmVZazhjbS9WT0Z5UStKOTZBSlZQUXptZXRvVFgzL1NWK09UR1pTNzVZeWhN?=
 =?utf-8?B?YU5QRDJZTUFUeUdNQ0MzUGFUa1NMTkN6RXg4NDRLTFVWZ3NqeVRUOXBRN3lP?=
 =?utf-8?B?bytUNkI0bFJ0OGw0Z2tQWlZ1OEtoMUFSZ1Q0RjQyVW9hNUxQYjhRN0VwZVpn?=
 =?utf-8?B?UlpPeFlrN0xHbXBwcFFBVWFiQUdMbU9DYjc1eUQyMmpOaUY1eW85Y21hc1Zq?=
 =?utf-8?B?WjFuQ0pTM0Ixb0FObFdjNU0rOHlaalNlV3pXUm1zTHJueHlwZXRhcHA4MGJM?=
 =?utf-8?B?T2lxZE0wd3IzZ2kvK0VRY1ZRbDNIbUY2MVY4NW9maVpSekpQZ3JxRTZlZFZ3?=
 =?utf-8?B?TjRmd0txc3dQTCtEZThUUmtTYkJLdWZXTitNeTRTUHZsVkhSQU5IcGJkRHg2?=
 =?utf-8?B?YThzOVAyZWFONnFiSWtYaXM3UHdQdFg5NlNlaGpsRHV5cWpBZ1NndUZEQmpT?=
 =?utf-8?B?dWxIVjMwUXhLcnpjSTl4ekphZkQyZXB1QWt0RzZhSlVxZ1Q4SlltclAxT3hn?=
 =?utf-8?B?TGJydFc5MnlBaFhtQ1ZveVJxci9MUFVpdm1tNWtpeFFsTzltbDZhcU9Fc3hm?=
 =?utf-8?B?UUJLSHdiRVdyWEZpWHN3Z0toRE5FVUtNY0lpQUdUaVpROHgzWEsvOEkzaGRX?=
 =?utf-8?B?ODhnYkZmRDhZWVhvalBYVDBsQndtQmZ0YlFrUWxPWENYSWc5ZWIzaS85UWgr?=
 =?utf-8?B?TnlGaVpRekNja1ExK2JKc1FMcW1ibDltY1p2cDNRaGdoU2E2MTV2WDM2YmY3?=
 =?utf-8?B?WEYxUU41MXZ4SjJKZ0gyNmN6bDdxcTFFYzV4UGdFNkpBc1FDcWxkZUlVQXRV?=
 =?utf-8?B?Z1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Ql137rDUCl8HUKEU/Iu9RIqxPqvSn2gMGCCmcwjPMJaj5jebQk2G343iljfEbhEOmfyfr/QS8XS+ZanPWonqANB2rosMtT/z0+KdVgkZs7R1yG/82I2Xsiz/aPXPw6NMHZViUBLwOOrs5dxkLv5SJkNYG5MxAku+eYM1Hi0AuQIMLOrM7tCPM5ARqcyG8Yb7DdiLCRTFnp1b5hfP/W3ZDCowAAlWpGYIuadSKplkhsHxD8SuVpFpks/nBmzb1ODclxKBs5Ty8VxjlCoonZaW73WNQz6GUb2vnhBq0YoKSO1bRHudFaNVMBljymIGStpNlfxW+pEzCy0CAjSdZVAmn5lGflSmDLRo2NkeQGZgd4I+3gJ5cpk0IOwdisSQhQNHv6oYCDkdiy9sBw54uTBWu99dkAmdnrKVypDoAnASR1cFeEN0wgPvwsUqCZR7VxHFGPyij5wnjBDloJFFCp1EtD2mqcYvR+qppfpvuN8XrN0JxGFsHQshHBemQKgpyONNhQpLidCiMhZB2iLBFAA9fqc6rLvEKk4/STZLRLjBPDHfPVlMOkIf1Gvr1ZEcKcdB2bJTEHi+iCg2EgtrD/n2zvauwYGfOb3tTI7TL6BLQskQUfS3/qvINNLRGyLc5OkLF6zr6PlB/wdtxTV5zDRfDdW4/OQk8ZqW/tBvYbrOsLmNBNHr265Lb/B27BycbGWJDgT0nkGDRg59nSgGHt0L2CNB5031epEKPScgRE0lrin8AmXzu/nN9BNDihRqqZNNK21/IKv8lU070x6BDARrqyrDzY0ocNRFv/+PqXyzfHfUrVtV4hlEVbTW1OkpE3Ia
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db0ce52c-b020-4787-dea4-08db9fcfbc0a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 09:44:36.7958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Fy0t3RwOXzlSOPaMowKHEQ4XqljOX2nsl+bKIl/CpGt5enHog1OpYNtZZwX4vX80cDwaTCnpmryeoNs5hgx0IWpzjQf7BFTAVwH8IdwhHKI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6861

On 18/08/2023 7:50 am, Jan Beulich wrote:
> On 17.08.2023 22:45, Andrew Cooper wrote:
>> GCC 12 objects to pointers derived from a constant:
>>
>>   util.c: In function 'find_rsdp':
>>   util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
>>     429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
>>   cc1: all warnings being treated as errors
>>
> Yet supposedly the bug was fixed in 12.1 (and the fix also backported to
> 11.3). Did you spot anything in ADDR_FROM_SEG_OFF() and this particular
> use of it that is different from the patterns mentioned in that bug?

$ gcc --version
gcc (GCC) 12.2.1 20221121

At a guess, only a partial fix was backported into 12.1.Â  AIUI, it was
an area of logic which had already seen significant development in 13
before the behaviour was reverted.

The only thing interesting about ADDR_FROM_SEG_OFF() is the constant
folding required for the expression to become *(uint16_t *)0x40e, which
(I suspect) is why it compiles fine at -Og but fails at -O2.

>> This is a GCC bug, but work around it rather than turning array-bounds
>> checking off generally.
> I certainly agree here. I guess it's not worth trying to restrict the
> workaround for rombios (I will want to try doing so in the hypervisor).

Can I translate this to an ack?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:10:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585918.917125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwQT-000543-6e; Fri, 18 Aug 2023 10:09:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585918.917125; Fri, 18 Aug 2023 10:09:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwQT-00053w-1e; Fri, 18 Aug 2023 10:09:53 +0000
Received: by outflank-mailman (input) for mailman id 585918;
 Fri, 18 Aug 2023 10:09: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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWwQR-00052V-DZ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:09:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5de09de4-3daf-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 12:09:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6819.eurprd04.prod.outlook.com (2603:10a6:208:17f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 10:09:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 10:09: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: 5de09de4-3daf-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LGRXzqI25WETH3D2B1Y2QqLSwYAWNztmqVo8cqSJK2fhful8Sz/1YBu9fkD9fSp37b0zS5BhnCxA/pZWD+0OLsiFmaYmBRHzYK0ucmqp7B9FKvpVVu2nUki5WURWw2cg2BSOmGtfea8018eo3T8Ae/o3HVyBXuGax744oKfOhD0dWSGVtmhDO0M4RIG+Cxmq6x0H4rCqOKUWN4yNteRqUkF9tBIoKWwDUrIA4wZLewSuCe6hj/m1yKDK60Uy35rAwDlZ2kTq0OwtLJb//oUGn1qEizN1wJJVlFd2wk1stgh2l+atgkvBnHL/4epB/mzm0WoAf3cdsGgdKsYtrszRLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=be7miB0zMoix+KB8bHKkeixlneqDcDvmw3XQR9SImSc=;
 b=GLvN56TcczRkeXLV+eLrAvKV880ykq/heRWM3calGrSY6ldWvLtf+T/8PyAaTfvZyL3wn8HQICmx1JL/9Mxb+54BtO0yVUn5OHUt653CcvnC0t+YJhapvQBbkYNTbTDm6kauHcy7I8YE6NsSVSfjSED0gadbxHgFBpigXrvKBWKCKenAxP9zA1rBcIXSLC6bgpjoC8jF1rNxOkNm176MnFAyBTFUXWomOdSC/d1dpvT58dFiYV00YWn10xkeawGlhLrzzKERUBSJx8ChD5zVBV6ugsJrEN/WofkQUna0Fwq4DSWHlywvHC8o0Biihx2d0IZCFk1xmbVvG34GIwBP6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=be7miB0zMoix+KB8bHKkeixlneqDcDvmw3XQR9SImSc=;
 b=0nBImBKBBstxithPqR/gBW4DPIEm7Dusm69tRLjCrLBXur/D5CfY8ZootZpk4wxjzfvV36JhEa5EoRGazlD4qubzrzNflK4sjAg7nek5NpjZ/DxmJa01tA38gwfVpQknd44oYgeanBaaPHSdNUKu4Nd8cUc/5O1LPC4eZOGIHI2EdINR+AFzLcfCy4uRyslIM2oE1fHUXrOGAeHtAjmvtxEQa61yCIxJVrDplEYP/vV+sBstyvlV51BPDjnysGIdNwRSBqyG6DX0BtxrNuIhp9lpuhhK6fq2KGBDl2fpSe2/p0kJDZ4599jcCUMdj9lHGLMpi6ZK2zg1wZB9yulDpg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <76efe3d1-d89b-cd60-2112-740510467a1d@suse.com>
Date: Fri, 18 Aug 2023 12:09:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] rombios: Work around GCC issue 99578
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230817204506.34827-1-andrew.cooper3@citrix.com>
 <622e33b5-7fae-ba1e-0100-667cd9b50ceb@suse.com>
 <e5f790ac-2f8d-7da8-8e6e-5691615e7d59@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5f790ac-2f8d-7da8-8e6e-5691615e7d59@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0178.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6819:EE_
X-MS-Office365-Filtering-Correlation-Id: 61d5cd98-9959-49fe-afdb-08db9fd34083
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QgAr+1qiYq3As4o3Bo7fxP6K3/DjDe4/6iglL6/9XIDnkEyfqTpWE5gcyqSV+RA+JoSc5jTsshgikAixc2y5oLuv+wNS/h/66frp6ZHYveFa2k00hvVR5EwuwbKSFtPEJRjolvdmGPV4/TnykG/Vm3+GHLuckgShjd5BtNDOnifEHh3MLgcwrgrQQurEgD6IZ5KvS2A+UQReDmj3S/1R0oVDxWfw4E0XcwOrRWUM14p6rKj/RojzCe3EkklRdKjrPpvssnU5BBB2ZQMvoOqrlj9V/6siaAe1Re8Gcb28QZOrV9B1reH5H9CD/70FLBkWoZ8q8VEMGqnhjAvPLi/vniwao9JGTpEfzU50vPc7K6UkNwP8Qcajik6+7O/a356mJbZLdDH7apijV8ypOXzXKtjk5eigRP76rwlSY/zIHhn64oeXFsCH1/iP1bWwIktAiJhMzxEkntVe23COc/UA9Qo7TTtjRhu5N2c3N6K0wX4qpIKS62AnPqN8r2nktKHqRjMyMMB53ZUBk3CuhKdfJqvqXihq1f/IQanjHjkqB71QtR0saRQIM99rbbSarpmESVRq73V5wblBGVcPchT0K/aKdQ+6fO0ySwgPTyCVjB2inJKLLQXfq65+leNP81owu7Xp3ZxYghSaxvWpNJVUfg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(396003)(39860400002)(136003)(451199024)(1800799009)(186009)(316002)(2616005)(6666004)(26005)(6486002)(6506007)(53546011)(6512007)(83380400001)(4326008)(5660300002)(8936002)(8676002)(2906002)(478600001)(41300700001)(6916009)(54906003)(66476007)(66556008)(66946007)(38100700002)(36756003)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?LzZrVmlsb2dBK2hDaGVlRktMZUpTYmxibFZyUytsd08zbkpVWURoRk52ZTJm?=
 =?utf-8?B?aG9md2JNcUNPSkxSRDFEUmtyVitodkozUEd6UWIvcFp6QUZhNnA3VkVjYTNi?=
 =?utf-8?B?ZDZJUnVFWHkyZ01FQXdOOWtEdXpUUlB4T3lCU0ZGY3hZc2UyQUdlUEp0WnIy?=
 =?utf-8?B?RGVYVXRueENIbTZYZmc0bXQwNnBvRzFsV3drMTlpQnhmbUNhQmlLUE03aGo5?=
 =?utf-8?B?RW5VQVBWQWhVRW1oQW5JOVdFQ0I0QUxlTHJOTTlSWVlUSkhrM3Y1MTc4TUpB?=
 =?utf-8?B?ekh4M2VCMTN1R3FDNnpSaGRuclpFRUJGYVUySUx3ZnpVc1BnaUhiZ2NGcGc2?=
 =?utf-8?B?ZGw4eFRTZWlJUnhJZDdlY1YydWFTZWdDQlAzVlJzdUZDdWdzZHk0bmdOVjhv?=
 =?utf-8?B?SXFWcy9xcXBvTDBxYjV6RGdyZWE4VXpZNlM3aE8ra3pLK1V0NXlzYVZPNnd5?=
 =?utf-8?B?Snk2Y25QWlVVNmIycFdIVzhHVVlUQWFjc1JhSXZDbmFWVFJqTlhodXZtNVVu?=
 =?utf-8?B?UzBENjd0THR4RWE5ekFiUDZLanF4ckk0NW1TZFgvUGJsRDVsMURjcVMrcG1X?=
 =?utf-8?B?R1VyaDRlNWxXWnZ5QnpTMEZsYkdKc0UvNzdqMFcyRlFGWkYyQS9rS3Eva0tF?=
 =?utf-8?B?UFhTOVoyQS9oR0xjM0JZTmJvSExBNnduZmRMTDRwcjdFdkpNRkhLdDhpQkJz?=
 =?utf-8?B?VEdYVkhwWUUvbjdPdUl3RW0wYUpIaER3VENYREc2UUYxN0lDZHdlVXNXbjJ0?=
 =?utf-8?B?dWxYT0oyTVVLV1YyNlJIaXJ0Y01jbkFhTG93Ym80cm5jczFEUGt4YndTTGRT?=
 =?utf-8?B?dW85MzZuRnhsVXl0UkM2Ykk1WnZlNW0ybERzM2tTOGZlMG05Tk51ZW95Q01X?=
 =?utf-8?B?K2ZpRWRJVTRQVFIrcWV1QzRwYnkrTXR1ZktuWXgraTdjSEN0bm8yM0NhVHht?=
 =?utf-8?B?SU5pRVJmaE9kVDN0TytXdnVIaERDTlNDR3JleCtMYS9KeW1iUVBYTzVsZ0tj?=
 =?utf-8?B?SHhpWW1aZTBoY0UvVjNQRGlzcUtHZ01hRlFjQWdVZm5jN2pKZVdIRkxudmti?=
 =?utf-8?B?c3RSS3FRa3pMQWd4b3lPVTg2MDJuN2xTendyYnVNRlJnSUw4MU84Q1lJYVhZ?=
 =?utf-8?B?c2pKakRxdklkanY5L1pxQUcrZEhIeUFhVzhwODhPL0l5S2N4V05NYXU4ZDNS?=
 =?utf-8?B?bGRFanM5QzZYenByb29aY0xhc0NwYWlFYVdrd0hsY2FTOUN4WXpHRHE5b3Rl?=
 =?utf-8?B?aHB0MWloQ2NqRWEyNmt4bS9MckJjc0JDaWtsZGdHeXQrNzNRQkRaTkRrajl6?=
 =?utf-8?B?RXMvVVNUc3BTT2hHQ05sNng0T0ZTdGl3bk1SNGYzRjFuVCtxc3N4RnFBWjcr?=
 =?utf-8?B?ZklsZzZhQ0tRQXhaQlhNRDJiNVo1MTFSbkEzYjUrRVFXcHVManV3bitVNGIv?=
 =?utf-8?B?K2JJWUF0NzR6WFhDU09EbUxpRmc1VFpHZjc3eG96U0Q1bnhUNDJDc1U5aDcv?=
 =?utf-8?B?QzhQeVVWUWZ4eEhxYXJoRVpLODFoTWg5VWI5b1Flc0xWbHAxeWxiQlRNVE54?=
 =?utf-8?B?aG9zRTJqTDNFT0tqVUllelBxMnNaOTc1VjZZNzNMUVlWWVlMY0lETVovZThB?=
 =?utf-8?B?TmppS2x5dUtqUG9RemY4dk5mbGxOSlRoZk1WU2h3TGV6YW1haTFTU0E5ZmE3?=
 =?utf-8?B?RUJ1VzUxR2dsRy9MK3Nvblkrb25CdnRJNDdTczFHM0FlY1FCa3h0M3ZCLy9s?=
 =?utf-8?B?djNkRWZIRjBqWmw1ZTVWbVh1ODNGeDVBZUVmVWpHQzVSemJTbzZqQ0pCY2hs?=
 =?utf-8?B?cXluQ2cxczJ6bjdENWdVV3NWQ0d1S2Frb2o2c1N1ZFlLd2hVQTVId3dNRmFX?=
 =?utf-8?B?TzNjWDY5L3EreTAwNlNuQkJXb28xMkppTGNlcnZZbGNOMWRMMzFKYUhIZVlJ?=
 =?utf-8?B?WEhBeThpZks1UldFblZOV1B0a1FGTjM1OU1JVGIwYlZJVlBGZlE0aWUyTnl4?=
 =?utf-8?B?aEViWjZZQmxEb3drS1VWTGlwaEREWEpydXpOZlpqZTBOd0dxRE13WitpRTZu?=
 =?utf-8?B?MEYrOXlmRW5wNUFsYlRjMERJbXR6NmQvbHNHZnR6SXVUNnVVRmh0SWh1a1F6?=
 =?utf-8?Q?ZQLRhDWIsjeesbQkeHwoVzRiC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61d5cd98-9959-49fe-afdb-08db9fd34083
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 10:09:47.4225
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f34vjM6lSO4lioRBZmZkds08safzJ+fD3LTObubuP1+XMDqUpqVWXJxolvpJCu4aHI4Vt7oI8i+2x77S6yHB4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6819

On 18.08.2023 11:44, Andrew Cooper wrote:
> On 18/08/2023 7:50 am, Jan Beulich wrote:
>> On 17.08.2023 22:45, Andrew Cooper wrote:
>>> GCC 12 objects to pointers derived from a constant:
>>>
>>>   util.c: In function 'find_rsdp':
>>>   util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
>>>     429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
>>>   cc1: all warnings being treated as errors
>>>
>> Yet supposedly the bug was fixed in 12.1 (and the fix also backported to
>> 11.3). Did you spot anything in ADDR_FROM_SEG_OFF() and this particular
>> use of it that is different from the patterns mentioned in that bug?
> 
> $ gcc --version
> gcc (GCC) 12.2.1 20221121
> 
> At a guess, only a partial fix was backported into 12.1.Â  AIUI, it was
> an area of logic which had already seen significant development in 13
> before the behaviour was reverted.

Hmm, for 12 I didn't think there was any backporting involved.

> The only thing interesting about ADDR_FROM_SEG_OFF() is the constant
> folding required for the expression to become *(uint16_t *)0x40e, which
> (I suspect) is why it compiles fine at -Og but fails at -O2.

Oh, the relevant aspect may be that is is below 4k (which I think is
their heuristic offset to guess "almost NULL" dereferencing).

>>> This is a GCC bug, but work around it rather than turning array-bounds
>>> checking off generally.
>> I certainly agree here. I guess it's not worth trying to restrict the
>> workaround for rombios (I will want to try doing so in the hypervisor).
> 
> Can I translate this to an ack?

You can now:
Acked-by: Jan Beulich <jbeulich@suse.com>

I wanted to at least have a vague idea of why this fails with gcc12,
when I thought it shouldn't. In light of the 4k aspect maybe the bug
reference wants adjusting / dropping.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:18:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:18:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585926.917135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwYt-0006cF-3l; Fri, 18 Aug 2023 10:18:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585926.917135; Fri, 18 Aug 2023 10:18:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwYt-0006c8-0K; Fri, 18 Aug 2023 10:18:35 +0000
Received: by outflank-mailman (input) for mailman id 585926;
 Fri, 18 Aug 2023 10:18:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWwYs-0006c2-El
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:18:34 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91a04a58-3db0-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 12:18:28 +0200 (CEST)
Received: from mail-mw2nam12lp2047.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 06:18:22 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB4923.namprd03.prod.outlook.com (2603:10b6:5:1e9::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 10:18:19 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 10:18:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91a04a58-3db0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692353908;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=BDYwlAem/LmKHHoLYf3ryOYFkU2M+VOKdRZeieRmwns=;
  b=igKDWFaIdMHPEbQbjaQ83msRsCaBPvLzOK0Clr8FMcFwJqYzSuQTN0zQ
   v8TmrrZ+bmfDMfWzEm73JZ/OygDfA6kjb1N3hJihmHZJTmiMUqDCcuWbb
   yenqroI46+1pBuZrKydK9aujRDs8g8g70u68Jw5355Y3JEkPq9O00TjDu
   M=;
X-IronPort-RemoteIP: 104.47.66.47
X-IronPort-MID: 122561465
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:nisOXKlMaqST8p9BtY4glXvo5gyjJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXWGCOMquDMWrxedsjYN/jo05SuZ/XyddlTwNlry0wQSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5Q+GzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fk/FW0OPz6AvOyZkI67V8Zi3sY7PMa+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOeF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtITuDmr6I03TV/wEQ3WDoabAPjoMK6iwnlae9WB
 xFJ/SMh+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6GAkAUQzgHb8Yp3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqWMMfZQ4M4t2mpZ5piBvKF4xnCPTt0oKzHizsy
 TeXqiR4n68UkcMAy6S8+xbAni6ooZ/KCAUy4207Q16Y0++wX6b9D6TA1LQRxa8owFqxJrVZg
 EU5pg==
IronPort-HdrOrdr: A9a23:a53gL6lq4VKbcP+QG1poCrYaSW/pDfLS3DAbv31ZSRFFG/Fw9v
 re+MjzuiWatN98Yh8dcLO7Scy9qBHnhP1ICOAqVN/INmSLhILPFuBfBODZsl/d8kPFltJ15O
 NYaK55B8T3DV9myejHwCTQKadH/PC3tJmyg+HQ1nFsShwvTZpBwUNWNia3e3cGIzWvP/ACZe
 KhDw581kOdUGVSV9+8AHYdWejFupnwrbrDJTMHHQcg8gmSjTWugYSKaCSl4g==
X-Talos-CUID: 9a23:ceb+9GO+ginSnO5DXQ5aqU1FNMMefFKN8HfNDEHgC355R+jA
X-Talos-MUID: 9a23:I5ihewjo3WO4L9yrJ+BIFsMpEJdP7532UEE2kpRB4Pu5PAAtZjCUg2Hi
X-IronPort-AV: E=Sophos;i="6.01,182,1684814400"; 
   d="scan'208";a="122561465"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e0ggcCamaLiVaSHXdQeZHz4RogHUlLp2Sy4QCXD+vAKSxJf6AUs7lwtA3tlUatAiAVr7iUSIuEJBFBN34x9Wz8k+TdQUAYxUWTqBCEeOtqnPXYF1tfX35Q7oE+67ZayK/JzUsnN7rKE13gfjLOxEnA/CywubYzg0jOK411Zq693dW8nJ7/aLoIvmqqvs2l7RpCCmDKtJYnbwzsekrNQTl81ClIY2cL5osmk6h03h4Mn5IuPMRpOamVfv6pCbVBAE7dQqJykACUCu/ueUjWYquYlki24z6fGfNLn5HvhCn97yCH6H7VzHtkJwo3x5J3zipB6v5MTLvqyTanzzSCcTbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y8rxcG5NehhkNjXvZQ5+TFotq+ci1Zucu0pwzb5LsSI=;
 b=hbRSyS2hpzw173LR0Nvjr3LDFWwjPAj7uoKNuRMSUNlBIPG7P2cFikeBSZAfhHUrXf5rrELaDS6758yBngoLH7MoK+98qzS2lKBnOiWtLqjVxGiBLjBcCVPn0pIu4Ts4zaKrQz6P/QQZ5FPg5Z6rA6vq3t/B3zHIqHjtx4R2faAJFuxN3XBVBzYd0CJXSD1/VET+fa5CLPG0VsQTEi7AXkliNzNT1EhGwYfLHntK5DqiZ/YB+lHtFIesrKz//K/Lo3xKTIrS1FSXFcSSbhLXa8f5ftQTo919MzhTV10RYYofosutT6mE9+wriONY9TnzBNodH71B5LESnmcjxfA01g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y8rxcG5NehhkNjXvZQ5+TFotq+ci1Zucu0pwzb5LsSI=;
 b=Uh0QuCw4L6WMPE2PMJ2OkedC5Djen1tnVJxKunCvzMG7Qhvsh4tYNABBh2gHAV0qkqvNkyqTGSnHpfaEQNC2R87PwTgLp6qxQe1gWDHPR1jibQAt58jPJqQ2TJEVlxmU9FCjiM23GCO7vQozSGc/Jhr1ullIJAczPOHx8006UmQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b34854e8-d99d-bb56-2afe-d5d9a520d83b@citrix.com>
Date: Fri, 18 Aug 2023 11:18:13 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] rombios: Work around GCC issue 99578
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230817204506.34827-1-andrew.cooper3@citrix.com>
 <622e33b5-7fae-ba1e-0100-667cd9b50ceb@suse.com>
 <e5f790ac-2f8d-7da8-8e6e-5691615e7d59@citrix.com>
 <76efe3d1-d89b-cd60-2112-740510467a1d@suse.com>
In-Reply-To: <76efe3d1-d89b-cd60-2112-740510467a1d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0065.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB4923:EE_
X-MS-Office365-Filtering-Correlation-Id: 95c22c93-aa35-4273-6300-08db9fd47160
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3UjEjT8Qj+OrHPgz8C3lT1zUw5V03baBrp/vS+9+lpeL97HQi2v25N8dzdwHJPdPYG9SyhU5eN+sjDrrS0xh49zLjORFFElFtd/zr4/Tyx7EGw/20iy5CQPNPVk+v6xCFw12ZlTuzi2+nBDmIlzkAzI34WNWer0w+mKmYqXz3OlUYTutbdYJH0tBz65Eu7Q8Wq38Fds6wcbAFKudkzCNaZODDgnO1Evml4EpAyumneGjb2k33k55S0r3ApVoyry93IMHrRwXJh6WO6U/mdSdpDup3Hvv45QGco7W8gAIr5OLRo8oWk+7HTK6d6cTAE046n/nMDx3DWc0r7udw/lNiQ6orVE9RASp8uiSehB3GrkldjmsGCh+XzP6BknD3Td3FCniVSiVQRZtMViY+08reyKJ5Z2GqbOpQURlCaxoaBFhBwXE4NMoD6a37E+apqvaK0L6F9VIeCe0b1jH/FWRAuDLqXvIHP0b5+H3eH4HkwlurQvQFvauEw9xQud9zKwmE6wI0UwMpgtRat49+oqtv4QsuIAwmStk/dfaI9ke9g/Wp5C9BcoiwGVbyfG5/eDZupiAC7LXBZpsbQ1n5G5Dcy1uo7DEXe9bFzX1TeYfYlnKjH9BgkFaPRt7qPFnboM4KU7R0k3KoZL+XOMLO/wPdQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(396003)(39860400002)(136003)(451199024)(1800799009)(186009)(316002)(2616005)(6666004)(26005)(6486002)(6506007)(53546011)(6512007)(83380400001)(4326008)(5660300002)(8936002)(8676002)(2906002)(478600001)(41300700001)(6916009)(54906003)(66476007)(66556008)(66946007)(38100700002)(36756003)(82960400001)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Lzh2R2ZpVEpWZnlRcks5N0E2dWR0bjlZRStzV0V1L3ZLb3JtWWE0R0dOQ0ZY?=
 =?utf-8?B?Vk9OamVtUUFlNkRjVGlqN1BLZVQzVnJoeUQzRVoxVERmRXRmQ1pEdjdOTWVN?=
 =?utf-8?B?d2hKbElsZ08yRHNPZzNwQXB5VU9XZllORTBaTG5MWHRnSjc0SHRDQUpVTlBV?=
 =?utf-8?B?MjFlekxxdmtSWFVUU2xpWWNlVTlnYmlpRnJsMTJTVzlGN01vQkVQeFhsUDJO?=
 =?utf-8?B?RS8rSUdwYzRicFY1Y3JwOTYrenVJMTIvNkVTaVZhOVI5RWY3dkVYSTZQK2tC?=
 =?utf-8?B?ZWRYaHd2d3VJci8vYzkra3RacHB5S1BDNk9JWWUrbERUNWp6U09RSFlsOGZa?=
 =?utf-8?B?b1UzS3RJVnAwSTVEWTJhU2JwSlFoaTZDK3FjWEpJQm43Mm5idUJ1VC9zUURC?=
 =?utf-8?B?TVU4UTZWajVPcS9IRGtGVlNkZVVOYkp0MlVLeGM5NjN0cWxyZ0pFT012U0pS?=
 =?utf-8?B?ajk3NTRsODBUSy93bjRRUWFqaTZkMGdsaXFyTkRCc3hJd0J4NGFaZVVTRGNs?=
 =?utf-8?B?VUt3a0tINkZ4YkR2TTI1WnRiYnFCNnAxM0JqUXlzN2kvWTN3MTdZUEFkZDEw?=
 =?utf-8?B?bjliRzU1K2Y0cVpsbHg0KzBZczN6VGVIMW5uOTMwbkMwTTV4c2NEWHJGVzh5?=
 =?utf-8?B?ckxGN3ZaQW51YmdLUkZuZm44VTVWaEIvbTBibFVoRDhURjlHcXJlT0haTDZ0?=
 =?utf-8?B?OFZiWXpFRFQ2SnZ5VWpTaTNiM2pHVC9ZSGMzZTErN2Y1Wk41VWxIbWEvSkYv?=
 =?utf-8?B?OVNTRFBmWkhjclJzV2Q3Tk9DRGlWbUZ3Z3k0cGphYXhGYUw2MG5vVHJxYThT?=
 =?utf-8?B?MWhCOXhESW9zNzlGYUdFZ0RMZDdEd2FHVWFYWkx4dVpRNUJyUDg5VjJoQ1pv?=
 =?utf-8?B?NFNqYTZFMHplN3I3djdPWnNXWjU4c2hzTUVZa0FEU1JrRml2YTZ2TENhL3pC?=
 =?utf-8?B?QlpFUVlZaE0wTlM0ZkJBbm9VUXNXWkU1R3BpNW8yOUgzR1A4d0tSY094U09T?=
 =?utf-8?B?T1dtbjZWemgvSmtCcC9YNmdrSitqekg4dmwxNFV6d3U2SnJ2dGgwYXppYkxi?=
 =?utf-8?B?VzV3M3VBM2s0bFhhL2dUSDRtenIzWjg3a2Frb0ZWWWZlTXBuaDRPaUxocWJC?=
 =?utf-8?B?bm9lL1R6MnNqM0RCckxzb1BwUFp5dy92YlAwcndTY2daRUh2Q0VGdzA3Rjhx?=
 =?utf-8?B?ZktHaVpIMnNleXlzdkVsL2pRV0VZRXZsYWpvcFZhaVNMUmZvcjltcEEvR1lI?=
 =?utf-8?B?emlzSUQzTkgvdUdCQ0NaWXBjdXNnVmRwN3R4RnpTWHNCaENrd3BuS3ZYazlw?=
 =?utf-8?B?a3FncWhXUEE4bHNrOGRhcXQ5SmNXZjRseU5QdXEydFRWZUt1OWkwM1RncE5V?=
 =?utf-8?B?dEZ5QVFpVmFRanp2ME1wdWIrUno2b3pyVXVsMWJwR1g3RTUzOFJWK3o1VFkw?=
 =?utf-8?B?V0VXT1k4UlEvd29mcnExL0FWZXJ5bk10SjMrbzRocEVsclFQUkZZSUlWWWR6?=
 =?utf-8?B?RHFIUFIzSW1zV21SRjBldngyWW4xdk44TlJjZ3pXNEZ5OWM4WjBsZng0OXBL?=
 =?utf-8?B?ZHRpeHc1eGNybENlTTJRMkE3dHJWSllMSDRaQWZhME1NRGN5WUVFeG9LUXlT?=
 =?utf-8?B?NUo4Y2NHM1BKTy9yakt3YlFOMHdhaWZLa21Kc09peDUySkV0SCtEVVBYOElU?=
 =?utf-8?B?QUs0OTA0TUNZMTJmajk3ZGwvZlE1MEZJU0p4cTh4MEQ1aXJKajZzZmNDL29N?=
 =?utf-8?B?N0g1ejNjYjlKWXJTajg2MVhFZFRqSGsrMkVFMEx5MWRVcUs4bVlvT1hsa2ZC?=
 =?utf-8?B?MWVsTjBHZTJrSnlLcEVrQkUxR3A2TjJyL0dYbGNRR0N2ZEM4Wm16NWNDWDNK?=
 =?utf-8?B?ZC9RYTRuVHN1Q0tsRUtYU0VwTjdzUjlzelpJbUt4RjQ0OUJnSWs5aTJlR3lK?=
 =?utf-8?B?b0xYODgxRExUR1NmblZZQkFMUHBVd0lIaSt4Nmk4b1NsUlpqRGtUeFBaU1pr?=
 =?utf-8?B?N0JpMElRK1ZqQ0MxM21lZE91SHVmYnQxRHFvQmNyRnFMMVV1Q1FPcE14YWlv?=
 =?utf-8?B?eGVyWTRKYjhqOVl6WlkzajhyVFNrUStDMXMzU2lYSDBobDZ1MkRlZVQ5TXlQ?=
 =?utf-8?B?UmYzeUg2MHUwK1RERzlOSTdJTVNZaTA3bzRJUU5vN1hzNENvclhrWkdjZUhY?=
 =?utf-8?B?Tmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	uAT9ebOf/llB0onn1Qu0afHsVl5yFwYO6kAWHsVZac0bD2sTa+RMjRZUl7aQ1QtMd3apztBYavcerFQuszZuaVks6/u5YsLLwunR5Yk+1pgmYwnRYrCD2tT+r7y2gYA6yUuOVk4s09t9HCCGjw/SEz4Zs9Olm8Dwlo/lNdoZXQwruFGICNENy2HPcCaZktQ8A1qGIu3oDi8dLFP0y4oXaSkP64y/v6J8Iq86/eM4DSfA6liPSv2d37j8FNtXEuj+PVjEeSvJUfFJ8Da37K0GcQtJZkBdx3vGx/8Vkqdn1fxdD720hSEntlptsaCpcdPOkBJsOmxZn316aeTCoIEPo2FCzdk+kR7HBN6Avc8AlIJ96LGjBtjMXQQ/D5xD5Td4dMy3zFZuGHBMk6Euse8cAkIh4eNZCBqsUlUarVLo5zvrCtowCmFSNwYoKKVAGMOO3D6xaITYG+FOozG8NYGnjR8T6cYF2N5nhHZkA8gdbBjoj9yCG3k42H9ahdZ0HpukfFvR4dEr0rC3jIraDcurrN9+9IA6/aNA3o4oHVnHEoFyFChm2MWp+IUVliwPNDYhAfYZHKeGzlr8tJz+6W6jOdoQrBcydfDSncuVtQFqE2BnMvvbLPrtQETCw5+6V65VYEnt4B4Fh2lhyOqGaACVvW6m5PcGQzKH1rffc+Z2GaJK8VaNEIrJwNBk1BuyWdE1FOXIsM0+FNshgP0dA9ltDZXJDI+KCNFnO8p0o8LRD3U5NmJCEzvHd90pfmoQ1rR+LSLYHIi0pyBuC968JTNbxm/Bf2nVQBYmqu7+qAPDjem2pTdc0lRBsSD62fxoGdo1H/uOX21p4fQXy7qcrkSZ2g==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95c22c93-aa35-4273-6300-08db9fd47160
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 10:18:18.9603
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fGH9e4TfdzQ4uGxQVznsIwisUdYgC4rNHwQ3fBYDtYsmJ4VZ71DxV4S5tTJJR+slMNRX0dq3CQMP5FCBw4Dzla414sOL1klstQ9NRNslXqQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4923

On 18/08/2023 11:09 am, Jan Beulich wrote:
> On 18.08.2023 11:44, Andrew Cooper wrote:
>> On 18/08/2023 7:50 am, Jan Beulich wrote:
>>> On 17.08.2023 22:45, Andrew Cooper wrote:
>>>> GCC 12 objects to pointers derived from a constant:
>>>>
>>>>   util.c: In function 'find_rsdp':
>>>>   util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
>>>>     429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
>>>>   cc1: all warnings being treated as errors
>>>>
>>> Yet supposedly the bug was fixed in 12.1 (and the fix also backported to
>>> 11.3). Did you spot anything in ADDR_FROM_SEG_OFF() and this particular
>>> use of it that is different from the patterns mentioned in that bug?
>> $ gcc --version
>> gcc (GCC) 12.2.1 20221121
>>
>> At a guess, only a partial fix was backported into 12.1.Â  AIUI, it was
>> an area of logic which had already seen significant development in 13
>> before the behaviour was reverted.
> Hmm, for 12 I didn't think there was any backporting involved.
>
>> The only thing interesting about ADDR_FROM_SEG_OFF() is the constant
>> folding required for the expression to become *(uint16_t *)0x40e, which
>> (I suspect) is why it compiles fine at -Og but fails at -O2.
> Oh, the relevant aspect may be that is is below 4k (which I think is
> their heuristic offset to guess "almost NULL" dereferencing).

Ah yes, I remember that aspect now you've pointed it out.

Yeah, that's probably it.

>>>> This is a GCC bug, but work around it rather than turning array-bounds
>>>> checking off generally.
>>> I certainly agree here. I guess it's not worth trying to restrict the
>>> workaround for rombios (I will want to try doing so in the hypervisor).
>> Can I translate this to an ack?
> You can now:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:32:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585935.917155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwmZ-0000uv-HG; Fri, 18 Aug 2023 10:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585935.917155; Fri, 18 Aug 2023 10:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwmZ-0000uo-EB; Fri, 18 Aug 2023 10:32:43 +0000
Received: by outflank-mailman (input) for mailman id 585935;
 Fri, 18 Aug 2023 10:32:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WvKd=ED=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qWwmY-0000ft-3O
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:32:42 +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 8e31a73c-3db2-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 12:32:39 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-3fe5695b180so6857545e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 03:32:39 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j7-20020adfea47000000b00317731a6e07sm2321479wrn.62.2023.08.18.03.32.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 18 Aug 2023 03:32: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: 8e31a73c-3db2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692354759; x=1692959559;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aDZ7Vp1jLyi3LKLmEsGeEcZnjO4sUh6qrbR20c648A8=;
        b=crQ5eUYqvLql0LCDSfoyj0jc0PEnYmx9+5Hmmv8Y5K+E4Dr46CUibahMK5YpPR7rJB
         CXJqjJ+YmNDQNKi0CLRVu5At/641k1fZ2Ji+B7x2fxg+o3Je4OIzeVam6pK08WqREhhe
         LMNFqFQjIbtJqh6MsX559i9wBsOKBHoqAOls4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692354759; x=1692959559;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aDZ7Vp1jLyi3LKLmEsGeEcZnjO4sUh6qrbR20c648A8=;
        b=gmx4AcIUTmE5vyUAQpsrDRaoNbgD+EO8zTRIvSdS7A33XBIvWvzPdo0JY0p6gLAj/G
         qlhJ22VT98+yQ4U6MJg5G53HtCJY4IfnEaFAZDAWt9MfNDYytVu85dhNfdQdLgQCsixY
         vztYoruig1VsziqPPhXGIm9D+4sc2s78h8OH8NS0D+3yBiUWFrwKwLl5RnHzw7GMUMJU
         fG/DI+FtwRLXxGcShQdbiNH/rJfQZaORwHj8vIjK0v/mvoM9eTV1pjHHfJmhxPKbJg/K
         NUhzD5wknsM7paeo1ZG+nWSv+2uOme1+GHoP9m+MfOQK9oIGjTnV93Oe5RG1zi+LurI9
         Pt9Q==
X-Gm-Message-State: AOJu0YwsamHmlh8UMxVgu2ybVg7iLOQusmudMgLeXJ1/nlKymuUY3E8x
	ofS8eQcpc942t1LeoIMG0pSpnwOg9JJybzSV3to=
X-Google-Smtp-Source: AGHT+IHEcm+t7S+OsjeaUJRz52PPZcNjfIYgZ1CrigUo2mH1zkkfhkJ+T0JSyhjKjm2TnMxP5BoSyA==
X-Received: by 2002:adf:f74f:0:b0:313:ebf3:f817 with SMTP id z15-20020adff74f000000b00313ebf3f817mr1786374wrp.22.1692354758781;
        Fri, 18 Aug 2023 03:32:38 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: kelly.choi@cloud.com,
	George Dunlap <george.dunlap@cloud.com>
Subject: [PATCH 2/2] code-of-conduct.rst: Update George Dunlap's email address
Date: Fri, 18 Aug 2023 11:32:36 +0100
Message-Id: <20230818103236.51696-2-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.40.0
In-Reply-To: <20230818103236.51696-1-george.dunlap@cloud.com>
References: <20230818103236.51696-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
 source/code-of-conduct.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/code-of-conduct.rst b/source/code-of-conduct.rst
index c6003bb..6ef11c8 100644
--- a/source/code-of-conduct.rst
+++ b/source/code-of-conduct.rst
@@ -79,7 +79,7 @@ Conduct Team members
 Conduct Team members are project leadership team members from any
 sub-project. The current list of Conduct Team members is:
 
-* George Dunlap <george dot dunlap at citrix dot com>
+* George Dunlap <george dot dunlap at cloud dot com>
 * Stefano Stabellini <sstabellini at kernel dot org>
 
 Conduct Team members are changed by proposing a change to this document,
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:32:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:32:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585934.917145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwmY-0000gA-Ac; Fri, 18 Aug 2023 10:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585934.917145; Fri, 18 Aug 2023 10: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 1qWwmY-0000g3-6a; Fri, 18 Aug 2023 10:32:42 +0000
Received: by outflank-mailman (input) for mailman id 585934;
 Fri, 18 Aug 2023 10:32: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=WvKd=ED=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qWwmX-0000ft-F2
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:32:41 +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 8df4a4c0-3db2-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 12:32:39 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-31783d02093so712824f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 03:32:39 -0700 (PDT)
Received: from localhost.localdomain (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j7-20020adfea47000000b00317731a6e07sm2321479wrn.62.2023.08.18.03.32.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 18 Aug 2023 03:32: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: 8df4a4c0-3db2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692354758; x=1692959558;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=BMACnGsKcrQoSw+QPY8i4YHgj0UkaKfz4CG3+niEko4=;
        b=FIdZgFAuKQPI0hokvWTGizvV2qyAnjo+Ny+HEKfUl/o7MAwKS5sD36r5o6OmGbFETW
         BbTszDHH01ryLRDyxni2XNn2eqbxOceu49uZzVTgboDRLVYBbBWkOD+V2IiIrC1E3nVC
         +wqgAHcKRfga1Cg2TDl+1LIPrN6CgvYP1GpPY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692354758; x=1692959558;
        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=BMACnGsKcrQoSw+QPY8i4YHgj0UkaKfz4CG3+niEko4=;
        b=gbfbgvH/RPOfyCP6PRiMdSHYPpPsAm18QfoHTjTi043dR3FdDS3kZ67HH1b29DZIcj
         PXxKNXx6FTMPsCD6/qjQRVVXODSnn6s96l+fw1N9Hmra+zaZQz2aDtxYr4g5N7IP6lqp
         kVicCnY5vFaUtCTvPBn1ojTEihX0mKHbed3EpYbHQ+aCMJb42c3bJ7DhF92gdjZyTPXu
         kGHxK6E9snINVqF+5BJsIMyRE2ue1wNhORng8QNuu9DkwwH10WjmaK/f2kSFD2aRxqd5
         C3C3t7cF5xq+rBM1Oucni2nXbN4GJuJ388jjP2T4DiLVL0rQPmnDfR1ErBxqz58QQn9n
         7KWg==
X-Gm-Message-State: AOJu0YzJIX8dwWTm3HWNk8tqk5PLx5vlGUsEajFOG/UudhjV16xxmRV4
	EO0TlcmFKQgk/7PP+tPtjSg1HFzbx7lR2/xMVVk=
X-Google-Smtp-Source: AGHT+IFOSjfMz4xzcNYjoZrMIt8NtuD2TdPqStj4EXKo+FW7oSGKqDzH3IJr0zd6jZQqvxSccks2ew==
X-Received: by 2002:adf:f011:0:b0:319:83e4:bbbf with SMTP id j17-20020adff011000000b0031983e4bbbfmr1650167wro.20.1692354758346;
        Fri, 18 Aug 2023 03:32:38 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: kelly.choi@cloud.com,
	George Dunlap <george.dunlap@cloud.com>
Subject: [PATCH 1/2] code-of-conduct.rst: Remove Ian Jackson as a team member
Date: Fri, 18 Aug 2023 11:32:35 +0100
Message-Id: <20230818103236.51696-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.40.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Ian Jackson is no longer involved with the Xen Project.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
 source/code-of-conduct.rst | 1 -
 1 file changed, 1 deletion(-)

diff --git a/source/code-of-conduct.rst b/source/code-of-conduct.rst
index 963d605..c6003bb 100644
--- a/source/code-of-conduct.rst
+++ b/source/code-of-conduct.rst
@@ -80,7 +80,6 @@ Conduct Team members are project leadership team members from any
 sub-project. The current list of Conduct Team members is:
 
 * George Dunlap <george dot dunlap at citrix dot com>
-* Ian Jackson <ian dot jackson at citrix dot com>
 * Stefano Stabellini <sstabellini at kernel dot org>
 
 Conduct Team members are changed by proposing a change to this document,
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:34:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585946.917165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwnn-0001kD-Ro; Fri, 18 Aug 2023 10:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585946.917165; Fri, 18 Aug 2023 10:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwnn-0001k6-Nn; Fri, 18 Aug 2023 10:33:59 +0000
Received: by outflank-mailman (input) for mailman id 585946;
 Fri, 18 Aug 2023 10:33:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WvKd=ED=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qWwnm-0001Th-9e
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:33:58 +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 bcba842c-3db2-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 12:33:57 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-4fe3b86cec1so1066314e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 03:33:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcba842c-3db2-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692354837; x=1692959637;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=cpf3T1EVCoQlhfearFJ322Ifh6Uzb2D7iNOiRCsy4WI=;
        b=fP1QUwvcFWvVQj069CSyhJ77KFjAqDecrKN8jpyiuOTimB286/lqfX5vBVQvSOOrMv
         9QofIxbynKmCrrRRfTOhlee6E/tYGmVma4ONIow8CB+KtgPFCmbzqfysrjoUfp4xaDV/
         dH7DbMbLfVhldi9N9LJOWHLKKfhp6p0y/Xhns=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692354837; x=1692959637;
        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=cpf3T1EVCoQlhfearFJ322Ifh6Uzb2D7iNOiRCsy4WI=;
        b=clnL8SXoqqzyIZFCorcx1Z3JxQR1Wxs8PNTmEwHPjck0lDeDmHmia00S3sfceAShDg
         lzw/uo8kze18w2XNROJt/l0U/p6vUMABwibQjDIdiJSstCt/6HnhrbZHTr3MhcvcaVoR
         FySORfvPtWQrw4qUX7aWjNuLyy7cC0XvYgbokEAmok5LkcjD2IGpoyOo2Y6JTfpd+nw2
         50Hr1r/EG47ed37mtbRXpKYi2rTChBJ3ANQzKDyYVvjiGeTUTfVuvw+VP8rd5hvmMeoT
         4/A90iqnIdwsneJF+U2fkqVeI+8k9vAHFBubIYP8PIad7e+I7zQ/pH1928e3faARDZHZ
         SzMw==
X-Gm-Message-State: AOJu0YzMXQy6Va3iNCxrxjffnpud5zsRadT7/mq9uJrXj1RQoFKYnsHh
	tCFwHSaoLw2skThnwT/cR2Hwcd96D5DRzHFAz9rydTSfJr8vRZvE
X-Google-Smtp-Source: AGHT+IEYoTOPZ8C/jLACylfvONsjoqiiiY+64yATn8ve/FEkOQ03jXhpd8DVazvs9ibEwZKMZDFevmNKYW8co8wuhyc=
X-Received: by 2002:a05:6512:2202:b0:4fe:ef9:c8d0 with SMTP id
 h2-20020a056512220200b004fe0ef9c8d0mr1699578lfu.35.1692354836747; Fri, 18 Aug
 2023 03:33:56 -0700 (PDT)
MIME-Version: 1.0
References: <20230818103236.51696-1-george.dunlap@cloud.com>
In-Reply-To: <20230818103236.51696-1-george.dunlap@cloud.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 18 Aug 2023 11:33:45 +0100
Message-ID: <CA+zSX=a2Z14uumar+V2VjY6nLCt41CxZ833YpfyGP3NYG5hH8A@mail.gmail.com>
Subject: Re: [PATCH 1/2] code-of-conduct.rst: Remove Ian Jackson as a team member
To: xen-devel@lists.xenproject.org
Cc: kelly.choi@cloud.com
Content-Type: multipart/alternative; boundary="000000000000e0eda9060330100b"

--000000000000e0eda9060330100b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 18, 2023 at 11:32=E2=80=AFAM George Dunlap <george.dunlap@cloud=
.com>
wrote:

> Ian Jackson is no longer involved with the Xen Project.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>

NB that I don't consider these changes as needing a full vote; I'll check
them in on Monday unless someone wants to argue otherwise.

Thanks,
 -George

--000000000000e0eda9060330100b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Fri, Aug 18, 2023 at 11:32=E2=80=AFAM =
George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">george.dunlap@=
cloud.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">Ian Jackson is no longer involved with the Xen Project.<br>
<br>
Signed-off-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com"=
 target=3D"_blank">george.dunlap@cloud.com</a>&gt;<br></blockquote><div><br=
></div><div>NB that I don&#39;t consider these changes as needing a full vo=
te; I&#39;ll check them in on Monday unless someone wants to argue otherwis=
e.</div><div><br></div><div>Thanks,</div><div>=C2=A0-George</div></div></di=
v>

--000000000000e0eda9060330100b--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:46:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585955.917175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWwzS-0003YB-Sh; Fri, 18 Aug 2023 10:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585955.917175; Fri, 18 Aug 2023 10: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 1qWwzS-0003Y4-PK; Fri, 18 Aug 2023 10:46:02 +0000
Received: by outflank-mailman (input) for mailman id 585955;
 Fri, 18 Aug 2023 10: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWwzR-0003Xy-G4
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:46:01 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69cba587-3db4-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 12:45:58 +0200 (CEST)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 06:45:49 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5673.namprd03.prod.outlook.com (2603:10b6:806:fa::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 10:45:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 10:45:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69cba587-3db4-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692355558;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:mime-version;
  bh=oKS85nw8E4VKvcD6RrKEhbuQdUZpHpx7Qgf+6tHSvag=;
  b=d+YdniJd4GjSaYJFjJYubl383PN1ZVMEALChVjHqo6JR3I1NJVHzgm+b
   /r6soMR7V9h7JD9p/KbTlWM8c1JrkHvrW120zsofQdqHmHhiO0tU04uly
   jM7CGbNfXG7a2+e1AU1qbwS7UoMqD1rdFFNptU3FJuD3SHIeV1DltpYX0
   k=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 119158525
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GzBjRa/r0ws03lYEdyBfDrUDvH+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 GsdXG3Qb6zea2X8ct5+Po63904G6MWEyodiG1E/+yA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNakb5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl/p
 NICNB8mTCnTrM6/8rilZ7dMmcMKeZyD0IM34hmMzBn/JNN/GdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUpgNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtDTeDoq6Q36LGV7mtMDgE4C2ORmPD6pmCxR+lTK
 Us4wQN7+MDe82TuFLERRSaQr3ODpBERHdZNFekz8CmGzq3J70CSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaOiURKX5Ebi8DTCMO597+rMc4iRenczp4OKu8j9mwFTSux
 TmP9XA6n+9K1Z5N0Lin91fahT7qvoLOUgM++gTQWCSi8x99Y4mmIYev7DA38Mp9EWpQdXHZ1
 FBspiRUxLpeZX1RvERhmNkwIYw=
IronPort-HdrOrdr: A9a23:7WA+HaCfBVb7e8rlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: 9a23:nSo6bmybMgQGN3lserJYBgUlS+4/blL27k6ACGOxO2x3ZeO1Vli5rfY=
X-Talos-MUID: 9a23:6FzeEwTHXPJqmxTPRXTr2zd+GplQyZ2nS2wjnok9t8uDGRdZbmI=
X-IronPort-AV: E=Sophos;i="6.01,182,1684814400"; 
   d="scan'208,217";a="119158525"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Co+LhM7fxfuCJyTC5PER7ewfhWcTnQlz1+zJSGJb9Ma2DEZdabtETuQ7RMJfRpkOP6nDf9Ztgu9/ZIeqBgicEZJ8Kih7wX5WmWTdxkFUpHdqc2lTpoEabXS/oQKH9x3cZwgASdeZUvq0bPmKFLajztx92tghPNdq5V5pa7P6ofLRkCvbdmpcn4piIQdWnGWlGAOIKRxZgUgA3HsCu7Nxl1RjdL69WRvDuVnICBedAcurJR3tvuvq3Z+agzx2aKCYGgUgUJs8dl4ULkzmLxPO7Fm6Ey1oacQissM6GaBWCEWR0oLN9FGfCzTmUVYF1s5VDJdC/nhN0wuBsg7igF/JAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EhLBaAAjDwZAkLJu7Nflpa85fLMHYvy9qv7n6RpEKX8=;
 b=LVkTK7nGf8WnUmetfoQPhNGLfgz3ShMfeWfHOWcidhqrAaqEab6SFGCgBHOTdceeu8qxn+QJ2xPbg2Q8VGxqMZfH5+4W2/O0C4kMsZ3U4Yty4s6EAgfc2dFnWb7DGLQZU/HJg+69rBpVc29NMs154cvB4OO3HSc6NpNtvKIfb9VmSSCBnpPn9sS/jQ/V1Q6Eo1Iy8h+EmLv45/nGGq0Bh7lmev8p3htWkCiBO3BQ5mVdL4xA0kSrs7+WZpi31NJ9O9vlk7VheHtuYfWSIcE058QUmXBckKqpJYCnerSQ8A9Vybi/4/wYC289oj9lpj7MVZwsZ8cEvSRBpBj25UhM4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EhLBaAAjDwZAkLJu7Nflpa85fLMHYvy9qv7n6RpEKX8=;
 b=si62HpnHm9yo1OBz9VW769ZWO6DzCuHKvmSODinwJ0DF/nUp3GnglU8rdUjAlo0uDtBrV5LS1ZjFM61COjHLi61vZVEQRA093odDdy638Q29TNWdzyLvAHqBypwPYVCchkkFgCbYBW3PmvwHk0OKEBqX1bKECmdin5Muc2xgSZw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Content-Type: multipart/alternative;
 boundary="------------1BC5mWLrzvLccBslg3dMo0mS"
Message-ID: <f820d459-395a-4170-1b3a-df069b734bfa@citrix.com>
Date: Fri, 18 Aug 2023 11:45:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/2] code-of-conduct.rst: Remove Ian Jackson as a team
 member
Content-Language: en-GB
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: kelly.choi@cloud.com
References: <20230818103236.51696-1-george.dunlap@cloud.com>
 <CA+zSX=a2Z14uumar+V2VjY6nLCt41CxZ833YpfyGP3NYG5hH8A@mail.gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <CA+zSX=a2Z14uumar+V2VjY6nLCt41CxZ833YpfyGP3NYG5hH8A@mail.gmail.com>
X-ClientProxiedBy: LO4P123CA0076.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::9) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5673:EE_
X-MS-Office365-Filtering-Correlation-Id: 9034a9d8-67e9-4bb6-aefd-08db9fd84762
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xvnaIBQcylArdzVI5xOWgDgciOKUKzKqQvYerMWgUA4XU40mhtdiemW+K5ihSL7P2z8imDkiiNZQNinYjsxcEXHcfBGI0LYyxo4Yrhh1lANCR/fSTvTjIrkmT6yqvzi4GQ0ECJNOp+tAy5PDnbZSaO2baJo1mmanyxijTSACVJUKJhDbDCeMLpjSiHrcnsHbawmC7hhtAivV/m/buntQanNhqVGdDvaXX81OARvynWESGtKzti9erlJnkIG/2lryrohQQ/ynSA0AbcsmzAeWXZxac/gESGt2yrvhQeU9Kf6bnSxShtXCU9GV5DXznsx0jVJuK/zBPeGguO7qtcRdRxlHgHHzpKLr5RO8FWgM55n+ZrRjv3ieDIzhorG7vyTbVx4jbna2ZPKZw/sVZKTHdI44+1QsM2tjKn3KFkaXUerOWiLowPsBsgrEfDTAOFDZ6bkKU0yluRY3LPs0agYJQWec0Btp47/RRI3+UDIFLZ4UDYcmlLsTWlBSu+HZ5GVMiWGmaLlx1q/SvYapsewZIkhYTfhpuWyOPNXfnlhcmfr6PL3M7fzxFlyspkphQ3wHemDw85xpuQ4xxcP+VYxK95hGNn0rtCZmYQeG7EW1GQnE117uvBD2c5zCsEQ6xJV48Yvp9KUrP+TwGhilz/nIpg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(376002)(366004)(1800799009)(451199024)(186009)(6666004)(6512007)(6506007)(33964004)(53546011)(6486002)(38100700002)(31696002)(26005)(86362001)(36756003)(82960400001)(2616005)(41300700001)(2906002)(316002)(66556008)(66946007)(66476007)(5660300002)(8676002)(8936002)(4326008)(31686004)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFVNaWRCMVpNWDI3eVRIbk5kTGZDRXZ4M2JtNDVLM2JSeHBieDJwNUZSTGRF?=
 =?utf-8?B?V2FPU3hLTzJVTnAwenVOdlhVNFFOTU13aHNRU3hZMG12c1FPOENqaXpRNWkr?=
 =?utf-8?B?ZUM0bGI1cXFUOUlxY3dLSWRJUERVS29Xd3YvOXRJUEhBdkZQT2xIdCtRdmNm?=
 =?utf-8?B?ZHUvSXpCMlgvRDF6ZWYxUERsWkRFV0VZZ0Q3c2Rhejg0OXFNRFhyM1hFWjkv?=
 =?utf-8?B?SSttaWw1MnZpZ3NJdzc5M2FSOXc5M0twZXpid0p6Y2tqaVE3QzJVVW5Eczg4?=
 =?utf-8?B?dWpoaFdWRk83T3QvRm1QZkNoanFTU3dmbFJ3b2JaS1ltWklxcW5taDEraUZu?=
 =?utf-8?B?c2Q5QndkMHMxYWhYNjl0bjIzRi9tSHVwTU5kdFJmeUk0Tm5uYVFXRnFXdnl5?=
 =?utf-8?B?SndkWW95dUFOdmRhNFd3NkNLYjJXTXliRlY4bmdsRVd3MnV5SGlxK09XQTA5?=
 =?utf-8?B?UU0wRkxKNHNZTTluUGgvS3liYjdRR3pqVjZnbmlObXJxZGlWaXAwVzFrOFRN?=
 =?utf-8?B?ZTNoVWg2UlpYT2wyQmpnd1VFTytWejRzSGpxVzI5N2hKaEtnc3VKd0YySG9G?=
 =?utf-8?B?VXltbmU4K1IxcHA1Z0hlbzVBZFA1bUFGWGpuRTdlcUdjbkc5c3l3T2luQytC?=
 =?utf-8?B?eTNFNGthbVN2MG4vMS9RWnlKeEhYVEdMRW5zY1JpbVFqY2tTMjcwTXVJbFhG?=
 =?utf-8?B?ZnpuSE9tNlAvaDhQOFhta2dxSjkzOG9QMHN6ZUlOWWh5c1RPTit3ZU4vcy9k?=
 =?utf-8?B?Q3JkTDdtb1ZNWk5pSmwzTTlXSUhtWnUzRzBVNys1b25FcnlnY3A5U0lZeHpR?=
 =?utf-8?B?cmRmMzJtd0NueEsrbE1WRnJCaU9IYmJ6SjA5akRLZ1dWZ0NsRmo1TGhNZENr?=
 =?utf-8?B?NmFhYTJwcUVFN2dtbllXYTQvMnp1TERwODNkSlk3aDRubUIza2RpbXVZbVVN?=
 =?utf-8?B?RTlWKzdReUp4M3hwaFBhWjA2UnBnQ1R6ZnFqNTA0S2kyVHBkZFN0VlZQdkVK?=
 =?utf-8?B?ZHFkdFc4ZlVKbnlRVE9GYlQwYnBWOHRyMXBBNHZSYzdCVWJaZi9jSFFTSDd5?=
 =?utf-8?B?M0dILzVENktjTGJwa3ZINUxGYjM2b3R4OWZYWktQYWJHYXJkcy85NG01b0la?=
 =?utf-8?B?aUtBeVh4cXJHbVJOV0VlOEhBbngvdGFaUi85eFhObjVBSVI3bFN1dUltdFVv?=
 =?utf-8?B?UFJaMkR2S2k0b25mQnRxdVJ0WmY2MmR2YzF4QTkrL2x2cTZtK1NFUmNtQW1p?=
 =?utf-8?B?c2UybEJITXhNUGtsdTBQdU5HSS8rT2w2YWNaRHhUQ3ozdlFaZzJXOXlTMTgz?=
 =?utf-8?B?d2lBOTc2MkxNYy9CM2dvMHZsZHJuUVE1S0VBZXpOV1JmTG5vVmMycGtIRzY4?=
 =?utf-8?B?WXVjcjNoK2gweGZLeGs1dk95NGFRRTUzUDZuMzRlN1JMVUhJSy9KWFE5RVRQ?=
 =?utf-8?B?cDJLUEVUZG8rMGx0bThUUE1CdnBGMFUzaXdxWjBCcE5YTFkwSlE5eDd3Q0lq?=
 =?utf-8?B?VmsvVUtmbFVtMDFHZS9kZmdzVTZTSDdQbTVMNk5selVaRjFmQjdxaUovK2Jl?=
 =?utf-8?B?MmNHczhmNW8vR2Y5WFlpWFkrcXNTM0xzcEFnN2RMTS81ZjJqemR1cHZGNFI5?=
 =?utf-8?B?YmR1V0tsWkx2alV3ZEtoNkJTWVYyMnRoT0NpMWZBRnJTS3ZZRVhuUmlsTm52?=
 =?utf-8?B?Z1Z5Ky9Wbk1mSTkyNEhHbWE1cTZnRHJnUmpIQnFQSDV1eFZ5L29NK3FkdnZ4?=
 =?utf-8?B?NloxZXU0YVVCSTRuTXRidmxLZWhRM1dXUmVhS0hJa0lpbXBCS2NpZlA5Y0xs?=
 =?utf-8?B?d0lJZU01b0ErTnN0ckYzUm1HYmtVVG5pRmdPQkhoRnNXeHFBZ2pYc0VlUVdo?=
 =?utf-8?B?d2NqRXNWLzFkOGozeTVURUpHdHZlRU5ZV1lZOWw5aUJvbmRqemtRUUx1RGw1?=
 =?utf-8?B?emZBSWRodE9XY2RFaE9wTnhXY2xTRDBPOEtiZlE5NGo4S2ViZVNHekxwVG40?=
 =?utf-8?B?MytLUWVLK0VQQWVxMUp1TXExMll6TkF1aVdHakg5UE1aWW9OQXpqMng1SlNm?=
 =?utf-8?B?TlEzL1dDaXgrM2lNMUxOZzY4NU1CVnV1ZHpHSDJiSGlxVnJXNWdCMS9OWS9u?=
 =?utf-8?B?VUE2K2lWQllaRzR6UllxdGNDRkQvTTFCM1gxb0lFYXpqalA3TmFHY1F5VmpN?=
 =?utf-8?B?SlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Xzpp5uPuIKijN23Y5ad+JDzvt8ZbD7JwdVcZ70Nnd762j1Y8+fcKZrdtaAQCUNrZX5Oa/3S5lDM4si2cyr86P/ic81KokfD/x8K52tzmq+cqqibhn5aq5Wpx0wZ3xCT2Q40GMP1Dkd/58uSIDBBKzDKHaxKauOoygYbfKZrMwfCahvan7Cm5XPafX5dyQDoB0tcOAwrL+5ErnMI70bbaEkJkqM2lvdHiKdD1XhfaL1nyN/oO2kZ/T+sLWU03e9XMfQ5OCu4EZiLxB0RewBFx8qWZe4QvhptDxgqvrjxsEU1UrdOeY4CGSzgacoLlmuUrfo82DRnbHgol4ZHxoWIOo2QlNMGZyaKtVV6U7pJ2GBXvX+c2KoMaGOtjPJqNORwjG97tAMpoeUvLhUj6lbxB16XycjVBrvYMIeS3Vvojdvrbqxla93r2zTUwChK/f4yyDBmYhy53yKRkXEf3RSbKqPYHAlnkVqaO4ueyqlRtzsceXihjqDiMCcfdFn3B3uDoRYl2zyEm0/ufhA6MM65CZ9yU00XLCsaIfpV7Vl10mucjredxdmDTXr9bJtOyZIyY4YMQMwxfsPnagHVx8ssIGncRLo4lk47vfO7ne7Qw83uLDb+a1WUD/Io558fcp5K1i2z5XNagDXEIwOR7vXTmjZRd+p9GeMegAztBZbaAA5Bywl+9UEh0gNF/zJcVl6k8lJXCiq9oLkhjz1fivA2a+exTh632rE/L/qtYWiKUp8iOr4id/Y+dPpyyO8YtKDKlzJL+fsfUj9ceBhJM5qcecepCP67KmqVUCKqzBxrkhR+0q+Y+xY/Y3MAWdJws2IbB
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9034a9d8-67e9-4bb6-aefd-08db9fd84762
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 10:45:46.5268
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VwjjYBe7cvzn+4rV93TeyFGl2kR8vHys8AmpYMM4czPSI8kBZgRPcQIcieMv1q5yYWeZgbTxHkPX4zHLTTyy40DqAFFVrGgpkc42UdgEcC8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5673

--------------1BC5mWLrzvLccBslg3dMo0mS
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/08/2023 11:33 am, George Dunlap wrote:
>
> On Fri, Aug 18, 2023 at 11:32â€¯AM George Dunlap
> <george.dunlap@cloud.com> wrote:
>
>     Ian Jackson is no longer involved with the Xen Project.
>
>     Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>
>
> NB that I don't consider these changes as needing a full vote; I'll
> check them in on Monday unless someone wants to argue otherwise.

FWIW, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I don't see any reason to delay these at all.Â  No amount of community
voting is going to get Ian back, or change the email address your
employer has given you...

~Andrew
--------------1BC5mWLrzvLccBslg3dMo0mS
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 18/08/2023 11:33 am, George Dunlap
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CA+zSX=a2Z14uumar+V2VjY6nLCt41CxZ833YpfyGP3NYG5hH8A@mail.gmail.com">
      
      <div dir="ltr"><br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Fri, Aug 18, 2023 at
            11:32â€¯AM George Dunlap &lt;<a href="mailto:george.dunlap@cloud.com" moz-do-not-send="true" class="moz-txt-link-freetext">george.dunlap@cloud.com</a>&gt;
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">Ian Jackson is no longer
            involved with the Xen Project.<br>
            <br>
            Signed-off-by: George Dunlap &lt;<a href="mailto:george.dunlap@cloud.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">george.dunlap@cloud.com</a>&gt;<br>
          </blockquote>
          <div><br>
          </div>
          <div>NB that I don't consider these changes as needing a full
            vote; I'll check them in on Monday unless someone wants to
            argue otherwise.</div>
        </div>
      </div>
    </blockquote>
    <br>
    FWIW, Acked-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a><br>
    <br>
    I don't see any reason to delay these at all.&nbsp; No amount of
    community voting is going to get Ian back, or change the email
    address your employer has given you...<br>
    <br>
    ~Andrew<br>
  </body>
</html>

--------------1BC5mWLrzvLccBslg3dMo0mS--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:56:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585963.917184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWx9J-0005Ep-Od; Fri, 18 Aug 2023 10:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585963.917184; Fri, 18 Aug 2023 10:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWx9J-0005Ei-Lz; Fri, 18 Aug 2023 10:56:13 +0000
Received: by outflank-mailman (input) for mailman id 585963;
 Fri, 18 Aug 2023 10:56:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WvKd=ED=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1qWx9J-0005Ec-0H
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:56:13 +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 d8233a9b-3db5-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 12:56:12 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2ba1e9b1fa9so10940661fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 03:56: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: d8233a9b-3db5-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692356171; x=1692960971;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=lF878kPbEYrepP3yOhDN+gEMc0lik68ISOG608MGEec=;
        b=QI3obLS57TogkHLR/1X6wLBRkh0kEm9STg0FNQLquhcbVzGnBVK0Tj6wvKEDNjegB0
         9KSL9SSFxCg15TK3OfVacNt2+lUL/01dM5xCX/wUPPzeBA27WdZdlBp4O9ARl6wbS5n0
         49cu3Ovbe4pxy0PnhbY6OtZqpj3sXjHnnX7Ps=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692356171; x=1692960971;
        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=lF878kPbEYrepP3yOhDN+gEMc0lik68ISOG608MGEec=;
        b=jMJJv88MvwZqP1hHGWAQQPe7yySIhjLG/zcn3BHktp57+2cmeOUJDG5WDE9PmTfLna
         +q9Nt4YzbVE0xEY/qBPnSlh3mr4N4Kdars3WTwtzP4LyOEysm22K+13lp+4IkM3Qie9z
         aGmSn2U6ysugJ5GcOSUGlWjDEg/PUa5LIuBpUTHNCeZ/5JnhS6lXhOL5higSiaavH6hg
         9h+pneAZTnT8tUsDyZymZKT+/1PDr1zu9Azhog1WMf0CeaOznW+OOgfAlx2Vb4O1Z7Nb
         ANrb1xucCWZn7JXSOr3ExP2h7/LtuDK3KH2297SMNo3cyv3oF/FHiVbxXwoiitJFWhts
         vPDQ==
X-Gm-Message-State: AOJu0YwBIGw7clj08DK0CMt5RRqJm+lpQgapjpTJjuykX1DwA5ibjVVe
	XaPKZVn7z0/hP9WyCy0M9UEGYMG4VTw82wfhBRmuVg==
X-Google-Smtp-Source: AGHT+IE8GvybSjHqL9g+Z+TFvyTXkQYD573UniCXVG/FApYjFMUaWAqwHDPj4x/auVk2iNVi3sbkvVJJ34otCuOiJ5I=
X-Received: by 2002:a19:8c0f:0:b0:4fc:3755:37d9 with SMTP id
 o15-20020a198c0f000000b004fc375537d9mr1325941lfd.68.1692356171454; Fri, 18
 Aug 2023 03:56:11 -0700 (PDT)
MIME-Version: 1.0
References: <20230818103236.51696-1-george.dunlap@cloud.com>
 <CA+zSX=a2Z14uumar+V2VjY6nLCt41CxZ833YpfyGP3NYG5hH8A@mail.gmail.com> <f820d459-395a-4170-1b3a-df069b734bfa@citrix.com>
In-Reply-To: <f820d459-395a-4170-1b3a-df069b734bfa@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 18 Aug 2023 11:56:00 +0100
Message-ID: <CA+zSX=Z45C7kbZ+daqAtry1inkS8teVjcnVfkN3CHVUdx=18pA@mail.gmail.com>
Subject: Re: [PATCH 1/2] code-of-conduct.rst: Remove Ian Jackson as a team member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, kelly.choi@cloud.com
Content-Type: multipart/alternative; boundary="0000000000006ef9dd0603306069"

--0000000000006ef9dd0603306069
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 18, 2023 at 11:45=E2=80=AFAM Andrew Cooper <andrew.cooper3@citr=
ix.com>
wrote:

> On 18/08/2023 11:33 am, George Dunlap wrote:
>
>
> On Fri, Aug 18, 2023 at 11:32=E2=80=AFAM George Dunlap <george.dunlap@clo=
ud.com>
> wrote:
>
>> Ian Jackson is no longer involved with the Xen Project.
>>
>> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>>
>
> NB that I don't consider these changes as needing a full vote; I'll check
> them in on Monday unless someone wants to argue otherwise.
>
>
> FWIW, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> <andrew.cooper3@citrix.com>
>

Thanks.


> I don't see any reason to delay these at all.  No amount of community
> voting is going to get Ian back, or change the email address your employe=
r
> has given you...
>

Bitter experience has taught me that just because I can't *think* of any
objection doesn't mean there aren't any.  My low estimation of probability
is why I'm only giving one business day to object. :-)

 -George

--0000000000006ef9dd0603306069
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Aug 18, 2023 at 11:45=E2=80=
=AFAM Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew=
.cooper3@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">

 =20
  <div>
    <div>On 18/08/2023 11:33 am, George Dunlap
      wrote:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"ltr"><br>
        <div class=3D"gmail_quote">
          <div dir=3D"ltr" class=3D"gmail_attr">On Fri, Aug 18, 2023 at
            11:32=E2=80=AFAM George Dunlap &lt;<a href=3D"mailto:george.dun=
lap@cloud.com" target=3D"_blank">george.dunlap@cloud.com</a>&gt;
            wrote:<br>
          </div>
          <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ian Jackson is =
no longer
            involved with the Xen Project.<br>
            <br>
            Signed-off-by: George Dunlap &lt;<a href=3D"mailto:george.dunla=
p@cloud.com" target=3D"_blank">george.dunlap@cloud.com</a>&gt;<br>
          </blockquote>
          <div><br>
          </div>
          <div>NB that I don&#39;t consider these changes as needing a full
            vote; I&#39;ll check them in on Monday unless someone wants to
            argue otherwise.</div>
        </div>
      </div>
    </blockquote>
    <br>
    FWIW, Acked-by: Andrew Cooper <a href=3D"mailto:andrew.cooper3@citrix.c=
om" target=3D"_blank">&lt;andrew.cooper3@citrix.com&gt;</a></div></blockquo=
te><div><br></div><div>Thanks.</div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex"><div>I don&#39;t see any reason to delay these =
at all.=C2=A0 No amount of
    community voting is going to get Ian back, or change the email
    address your employer has given you...<br></div></blockquote><div><br><=
/div><div>Bitter experience has taught me that just because I can&#39;t *th=
ink* of any objection doesn&#39;t mean there aren&#39;t any.=C2=A0 My low e=
stimation of probability is why I&#39;m only giving one business day to obj=
ect. :-)=C2=A0=C2=A0</div><div><br></div><div>=C2=A0-George</div></div></di=
v>

--0000000000006ef9dd0603306069--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:56:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585967.917212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWx9h-00062v-Fp; Fri, 18 Aug 2023 10:56:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585967.917212; Fri, 18 Aug 2023 10: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 1qWx9h-00062o-Ar; Fri, 18 Aug 2023 10:56:37 +0000
Received: by outflank-mailman (input) for mailman id 585967;
 Fri, 18 Aug 2023 10:56:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=G9I0=ED=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1qWx9f-0005fI-Ag
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:56:35 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e44eeaa7-3db5-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 12:56:32 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-52164adea19so979653a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 03:56: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: e44eeaa7-3db5-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692356192; x=1692960992;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=eFDrh+223id018syXPgWzyJewmdgjtfx9jZVHYkQx/0=;
        b=QuCqBsq2bwdQTGpUwcIbQf0ut1gxAn+Be72POMeb4ZF+NVyZEUPThZT7fdtBUwfZWE
         OWmAliJpIzrqAK8CoP0hXln/rMiHt+lhIIS4CqxSztjfTKFwcFM7Th7j6pLYbK+hu0hO
         sQ5saup9AQgPg+wH2ikeQTs5ZKt6Oo33C+s6g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692356192; x=1692960992;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eFDrh+223id018syXPgWzyJewmdgjtfx9jZVHYkQx/0=;
        b=KReI28UUetCHzatxOaiQEY8GC9/A1KqLdfw7vNgXfIXfOp0yeyYXfoGsKnEadbta9c
         7AInX5lpRl7STvJ9V6zFtm9qrfwYMR42q+xSaNyZ8wh+Mdn4Jc7DvuUdpICPJB18shjv
         q+nIMxXz3pDjNHu+f/ldAIfy6J+pblvbVd2sApYC7/EeLCrnGMHUjkj1FcNaPF1vVoZV
         Ki97XytkZJ+1WkKThYvQSyQjf3GagTD6slZ3rJgrt6VoHvkUXO13vNQsmWZi37033FQE
         HuX4gYvhvZocizRL6QH7g93KcksjzHo8rpGzQGSfpJU91qzblAQUhzqPiyVvlh/6DP/7
         7pAw==
X-Gm-Message-State: AOJu0YxkLZNMvfdYLTQQss4Zr531lTh4MqVVmwRr647nGSTwk9JDZ4ZO
	LkybtbexEGn3u/qlGylSFZUiBV5mEF3SOEFA4Y5R8zeaTTs87YpdhlA=
X-Google-Smtp-Source: AGHT+IErqXdlQRD9bjUWQjP4qLGHG9F0NdXWvFFwkNxtAN8/uCWiqv+UFx4YyBVaPBezfAHHoMpR0SEl9lV6pTZ36gY=
X-Received: by 2002:a05:6402:204c:b0:523:bfec:4915 with SMTP id
 bc12-20020a056402204c00b00523bfec4915mr2090487edb.0.1692356191538; Fri, 18
 Aug 2023 03:56:31 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 18 Aug 2023 11:55:55 +0100
Message-ID: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
Subject: Community Manager update - August 2023
To: xen-devel@lists.xenproject.org, xen-announce@lists.xenproject.org, 
	xen-users@lists.xenproject.org
Content-Type: multipart/mixed; boundary="000000000000a17c7706033061b0"

--000000000000a17c7706033061b0
Content-Type: multipart/alternative; boundary="000000000000a17c7606033061ae"

--000000000000a17c7606033061ae
Content-Type: text/plain; charset="UTF-8"

Hi everyone! :)

I hope you're all well.

If we haven't met before, I'd like to introduce myself. I'm Kelly, the
Community Manager for The Xen Project. My role is to support everyone and
make sure the project is healthy and thriving.

*The latest update below requires your attention:*


   - *We will be moving IRC channels fully to Matrix in September 2023.
   Once the channels have been created, further information will be shared. *
   - *New Mission Statement, goals, and purpose is attached to this email
   and will be shared publicly.*

*Should anyone have any concerns or feedback, please let me know*

Many thanks,
Kelly Choi

Open Source Community Manager, XenServer
Cloud Software Group

--000000000000a17c7606033061ae
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi everyone! :)=C2=A0<div><br></div><div>I hope you&#39;re=
 all well.=C2=A0</div><div><br></div><div>If we haven&#39;t met before, I&#=
39;d like to introduce myself. I&#39;m Kelly, the Community=C2=A0Manager fo=
r The Xen Project. My role is to support everyone and make sure the project=
 is healthy and thriving.=C2=A0</div><div><br></div><div><b>The latest upda=
te below requires your attention:</b></div><div><b><br></b></div><div><ul><=
li><b>We will be moving IRC channels fully to Matrix in September 2023. Onc=
e the channels have been created, further information will be shared.=C2=A0=
</b></li><li><b>New Mission Statement, goals, and purpose is attached to th=
is email and will be shared publicly.</b></li></ul><div><b>Should anyone ha=
ve any concerns or feedback, please=C2=A0let me know</b></div></div><div><b=
r clear=3D"all"><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)">Open So=
urce Community Manager, XenServer</div><div style=3D"color:rgb(136,136,136)=
">Cloud Software Group</div></div></div></div></div></div></div>

--000000000000a17c7606033061ae--
--000000000000a17c7706033061b0
Content-Type: application/pdf; name="New mission statement_.pdf"
Content-Disposition: attachment; filename="New mission statement_.pdf"
Content-Transfer-Encoding: base64
Content-ID: <f_llgh2j820>
X-Attachment-Id: f_llgh2j820

JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoTmV3IG1pc3Npb24gc3RhdGVtZW50OikK
L1Byb2R1Y2VyIChTa2lhL1BERiBtMTE3IEdvb2dsZSBEb2NzIFJlbmRlcmVyKT4+CmVuZG9iagoz
IDAgb2JqCjw8L2NhIDEKL0JNIC9Ob3JtYWw+PgplbmRvYmoKOCAwIG9iago8PC9GaWx0ZXIgL0Zs
YXRlRGVjb2RlCi9MZW5ndGggMzk0Nz4+IHN0cmVhbQp4nL1d224ktxF911fMY/IQmizegcUCGmnt
pzwk0Q8YttdIYAeJ4wD5/BSv3U32dNWMZgTbkXZWIrvJ4qlz6sKok8R//qTwf3yE0w+/Pv37SXib
P21f8UN1Sv/89btT+ea3n5+++U6ffv7PU/r7oNxJSetOv/309PXpL8MIHtK/OIYwp/IvDtO/X0Y6
vz198605gTy9fX1Sy2MJZw1EF8Lp7den9FkQOJlx8fT24+mTlFpJaYKU9vnz6e0fT1/eLoxkrLDO
GenIEa3EEV/wqyv/5e8B/1PHMygcKConFWOKNLTHoU39Guq06asqn6nXNt3OkuJoAkyw2qallfmv
cF3LN8Oi2hM+0eZBrfAq4EBC26jxa31II4LJfywLG8qrm7h57Wk044T1QQExXHot81peLb9y+l6n
lT0eXkknVNo3TYyPY5lnYiwwAvfHkmMxX11ZhftKj6df8jhReJ0/lfVzExnvH0BI0MYQUyRLcnko
3F40tbCaJ6/NlzKfSesfjucE7UQe+3DKspvESBaE0xAUteB5GCtkKD+1PDkxvpfC0htg7AYkwOYl
1WHZCVvOeFodate11qIc7uN3eq5LVHclCFi9V3qYWOeV9Qe/1D8H/ulAlBEhMNZ32fwOZ7pMnY3j
jF9fj6eyCg1Rk+c8L7Xvrw3tl9a2WDCAmM6BiI5EKWOJYbwV9EPbc1lyE9bbv4e7KiK2y+DjLbgr
RcybRcGPq6fBygKsk5WeaSu1aOMqWk1ZBgM2vRYGt4waKu+6rg5MVXSrr4L+T6HPWR246gLKASAg
0EmBO5PcJ2l6eXkIeFMRx1M+enpprGkojQ65Oub8+fJuHgQ4tFa7fTdieyAgiDjcH+KVwrKm+WS9
1sObCAKBDRqx16hMR46mAEeffe2NAIkmQKzYygnhLwzermJ5GL1gA0oTlvczZwL3jBHo9CJlkgQ6
GOuENt4RS5TfS1eYWHbe6Ox71jv/XE2DsGgLrK3hGrTFnea8RjnnXgTYYnJ5p8rL1h5IUnCocRus
BtA3wCESR2MiKOpUJ3/1ujqKZfE1sqm4ZTnN4bYzWn8Q0Utl/th+UFF4A14Ynw71vWiiFpEzHnF8
riRx0iPoIvdi+OvXJjuIIVFEAQBpZzezOaezTiKAuQFyfnQ3mukFBMMxlCMxv+Mr9KfV6Cy8syv7
Wc6R3PLsmb3RxqajxXHQ0RNr6qtfaYSxvns/pq+VVBYkT7SYbe8G0Z1pKSw0kgkUeG/UbLkC0PAW
B+TQCJtQjLObR/hlAlIba9Gir8cvgMDi3h+hAzRKGkOz5Q6Nsq75YKxbWrG3YB6t3nr0u4+L6MBz
tbME+N8WwzgMhoBKMtwZRizEjQsnCVm93TxABl8e/Z0bOD0Hoq/wSkZNnBpIu1bCCcqhnNjGE+qR
ytsrV0BZP1dfNg/h51iDE5RUgkUi4cYFt2H1HRmdGZ6sPVXm1MdPAQYdF0P47aLRPBpabNIuFHUd
CXZY//l4CvTTwhuayFhiGCSjyFNIge2Xs2s3lLlIlIypYVckTlMi/xKSoewuUjAd5Zr/XqBgF+e3
4OpEPKJlJ9ozD4la03syXrYTvJqHQr+YDJxBULN+OdeVkmsHtodXkKQ9K4YwPROBV904FoKo5ahS
uqBcYdUFHjXNH2NjQ3c5nQqiiKgBqGBaC+Dlcc3qeDIfG5CTkCdr4a1+jFkRo6Oc44TAOzqmiOgY
12n0p0UXCOMEHwQjKNOMgVogLYNI0SZqXxsFbZ7GT/RyB9e8KNFWpppa3K0XQwAsYVvlUV7owfm8
EmCnUIapnAG6QoXNIiwrJT2CLzF3VKyY8b6inJEJ354BctuwZkWF5fUsKo/EIMJ2fe362O7BF+J+
VCgYHgBfLU6vV8d8n0FNQzt0JYxUwE7AcxoqIJlmgNLI7L3Y2spt1HCHldUs091i/EiJNg7hkPKD
QzevtAn3Z9fgV6wwTt5iGs5YHkduh/J5QRIjosu/ucFcX3fJ1fn9smv1F50dOQ6LSFstgPGk2tTE
YPaBI860LOkVtgIKTTeQWNsTkgEmfCWnqAlfDgOgfJjzghEB5KIiRM1JGQ0Ab7Yrn49QwQf0Fzsq
xi2/HcUQ/p1tePaGDkTxW7Sjfakn91Xu5RR2HZzzkUyTPPPIOf5KDtVTKCjXfuMal6g5IYtZe8g5
GEa5SyTymkHkL8LRHiwGFH3KBri/FyQYSD26ckgObtIoq4Wi6JnXQnFkZ9vWtkjxuu1WRrFqL8Au
YtwWmDVSxKmegYQpZPwcJDy3o55ypftU8/IcyIQy5yDmaGS5+iIt7Lb6oG/dNaxa+uxiqLqQ0JJu
u7Unqzlr0IOc17OYLKxIT45Tt3g1EQQxKagKpKyZmQP95MZz4kp6QUblCu8alFo7ASTqgBM0vh2/
yR7wxJRMT0V3dwce7ZY3zJHXqhf6Z5Fe5YBMC+4XvlOJ0JABosT4Uh5bKwqEfPaQlPVq34RCORRa
dstN7Geb1KqcWgy5oOXAKyhR49XfUqsIoFhRLFdPdxjicIQURtIjOMUh73dETO+gleKEUG0Lb63I
QKfGBFinGgbazQ0hToApxt7Z08pPAf98GA85Ok5J9/vl+3ZCpJIM88/ncweK0GGiK8NleAAHajVQ
Y21NXPmV4zWxqHI3Lv1Q5mrkJxEgPCKJdJjpLFF76LEEuQ7eHuSLVFO0LCQ7zPhRatYHFMGkyUKP
O8ttbLYmBMwLnfehof5d0jXFTOlqwG0trd6Jnh/UYcy4o4GVRWDoZW01K87M1Ms6JBzwZAK7wlBV
xQiJGnJCbbP0jJVI3I5T8MOkBsZW30Nn9nrRKTVkjNW73w2cyBqqlPbTYB+gIx+WtvMl+kxhDzfQ
kLCsnuZ3VIzU7OcgZ9rPGCoUhXMxiGEfehv61abQKX3aSlS5FMK255kLN3fIUBSM8LNeLGsuBTjO
xLsmeu1cYMzJG+sQSAbBRSGTVp5RHLcKM1E4b0xghyj7UmwJeou/9QDshfAwIO3fxpUZHBAPpLDB
Utp97lrQW+kxcs9jsoYc0YO35gFkjV/KNa8F2jonofxcITcn/QZ7bhmV1cakDpZyhkYvRW0Ongfh
GA1HbAWL+K440EJERpQLrFqJ7puGs515S010cHwhLl62bY5QuXHvEx+j36jrSC+3IVq/PYr4Wxu7
oLiUFeRaUqngdcCOIm8GQdowkoq3FiEYdEIc0GvOaLt6SAqcGfJcxHzBiUJ/7pTS1kLRnWJjsQ2X
e1oXOdR/xdZQ205HiCxv80cAHKxQEAMjkXo1ADOS2nicHSPOT5c/DN5wU+x8pLCTo2f2ClydSI6V
abnmCGXPg1BJZRRBN4crZ1muZCEzZJajrLAs4cj1EsduzKlkfadsa1N7UjbdxInJReJBo+cE3HL4
oCmDllhqDcpE2ABc4CT4SkXraniGT9WgWNKPK4RT5IHOFR3Jvh4iJ4IcOipOnRXnQBsZWX3c7wiY
GCSqtC67b7zERIRJOkC6FOqWicdSMcpdpuzMTa3ge8gGQURtrH+Ahucj2yzTYxMn9yGykknV7QbF
AMaEySGOjZ1pxDNFg78RqZq+noZoImFV+JPZBKfgEuGstCk8JiWDkjpX1j6OoJCqn5uscQiBgbfo
gV5YnYgkbaY92dKF3iQ0bBjMh0zGWFbaaRMbk8tjcKuyrGK9Yc/3tJTrTm5jsVYiTWyMFlq7+MG5
mZavys3SbYkUfZCd47Tpr9J/vSfXNeQYCjg4xQwKgZsR702BzI5qknZhCrWof5/Wkz3g1TKRLoeM
Lt5Zwcgpa8/pV9t3B3/71/f//PTpm+cffv/v97+8/fS/309/+PrLH0+fP5/Ory+X4JJOGqlz5Ut/
fnlqMNUUHrO0X4Nm9bA8LNhHcahURkLzGaCbWuehk0ti9ABMIZom+dU1EROb7r6giwa4dCJnoekC
pvpUuwb49e/dApMpvW5MqV0w0YPvR2BpU6ljhAfU1HxQkTiS5mSaZESLTAfTyMZJO7NTPyFex8Kb
NVNQh9yIlka9vimu7GWzEe3cw1w8R2pU1EKMdhPeDR97Nhs84kopA3vU3WqtpPdFLteUpc/6tWWb
JZhmQGLnZWoxoS9Eq1ogjd5t0ZUZD3t/8QdTNlM9IKtx4QK0nUrMdhPFw3S4U01OfKAQV+i4gBHL
amd93XvIEVSpl5yh3VgtMjGIkn+9kbhWzbZB5kvdekf42eGbK6Ukq5nig5yIkcCJhd6ocA0AS+d9
WNGhiVAbON6VmEv3XTBKlgltLonbdy6lNQKv9XzkZHtQqlMJBHAavW7qaNi5QMmUlM+qlGj/AqVd
uci59+9RFTDKlNg8j7Uw2taVd6zoUvPIYXkZEGORes9IMiNbqazsmgZdKpJ1DbG/FnSf+edbG2A0
fUP1iDW4SkerSqb0LgH8IBhlT2YbI0XCY9P9nkNlQwMQUjLW67DuETAlGGq6pUdFw2mRujXhdwFY
Lqa9vGqIQ/YTjNdAqekahWarkb4EiuwXtSw86908bkzWN+XQaiMqNkgxXMHFUS6AxE9rsjzpg0hJ
ag2Ihu5VuLVuQuMiMdqrzcr6l4KsYesppYDe2jLSlmTZybn/AOjxGgR2PYrGtTKMsiQ53OeaTGPd
vLZ/oetuvQinO/eel2Sg6EQsIhf8Zg2OYwobvWIk/m5COFgRiP3biadhnRWG0593Zeu9SndsMcpH
oHn1MF6N6VemcmtFAaolRo4MWhl2eRZQDVtJltGxiaI4rlQsM25LOVjkHTVoOdGw6/JEVD2CZHWC
nVdDEyUOBgwLUIdKLqUmnm5rwmLQB+vuq/XlV2TVrcmS9eYggby+uN9JpAcxPqRD6l7ul8A4p3Fk
qQIjNv7+xqgiC9XUS3kMTtawruHPmOeGM9J77Aj8k1EYQ4eY3lMwpVIpGp0p0kM/jhZzFva82vy6
qLJcdbEiChQNtOiwyYxCv5Ur0JESiJC1y50agK7J/LWMsRy2/cr8h+l3grCk8nJRCOzcYBAb+BFz
ehCBpuOXJVtLkA/549YyQ1/gsYcKVqXrbx9x+wVdUI5qqVbUs1o7XVACqQOn8+FqBHMdnVQoVHOH
Zuzs/WH8uGWdxrAOBVFdoj6sWDbdRcW4TbPqVDT7+aLxo/upNqEFigyinmD8n9hUOhprdlSOXn7v
hofG/bdsg9J2/AayG+v50qX3jH5Ndv+kN6w7Bj6wnC9d3smAug1E9FsulZ+v0HJrSN+Dhpw3D+EB
V3FeQ5m1Foz03lwBV1YZShpt25BLseGo2i00H1E7oozO1IYz3TUXVP8f8fwShAplbmRzdHJlYW0K
ZW5kb2JqCjIgMCBvYmoKPDwvVHlwZSAvUGFnZQovUmVzb3VyY2VzIDw8L1Byb2NTZXQgWy9QREYg
L1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9FeHRHU3RhdGUgPDwvRzMgMyAwIFI+Pgov
Rm9udCA8PC9GNCA0IDAgUgovRjUgNSAwIFIKL0Y2IDYgMCBSCi9GNyA3IDAgUj4+Pj4KL01lZGlh
Qm94IFswIDAgNjEyIDc5Ml0KL0NvbnRlbnRzIDggMCBSCi9TdHJ1Y3RQYXJlbnRzIDAKL1BhcmVu
dCA5IDAgUj4+CmVuZG9iago5IDAgb2JqCjw8L1R5cGUgL1BhZ2VzCi9Db3VudCAxCi9LaWRzIFsy
IDAgUl0+PgplbmRvYmoKMTAgMCBvYmoKPDwvaC4zYnY0c2hqbTY1eTIgWzIgMCBSIC9YWVogNzIg
NzIwIDBdCi9oLjFvbWt3NXRxdWVxeCBbMiAwIFIgL1hZWiA3MiA2MTQuMTQyMDkgMF0KL2gud3Fh
Mnd0M2xqMzJ6IFsyIDAgUiAvWFlaIDcyIDMwNC44NTg0IDBdPj4KZW5kb2JqCjExIDAgb2JqCjw8
L1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDkgMCBSCi9EZXN0cyAxMCAwIFI+PgplbmRvYmoKMTIgMCBv
YmoKPDwvTGVuZ3RoMSAyNDgwNAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDEzMzg0Pj4g
c3RyZWFtCnic7XwJdFRF1v+teq/f673f63R6SXfSr9PpTkizZiEkRNJAAmgMO5pgIgkQWQRZggoj
ahhFEBcYx32cAZdxHYdOiEyCOuRzm3FBmNHR0VGJioozgzL+GVzJ+9+q7oZER47fd853/mf+Z97L
/dWtqvuq6lXdunWrXgMQAMhAEGHk5OqaSfRn9DYAmoepMydPnzYLMsEMQCoxbp08a84E82/l6zH+
BMZHTps1omjt8N1HUX4txpvPqa6rn37T0n8CFEwBUG9esLxlpTBXeADz/4z56xdcska7O/D63wAk
fF6afcHKRctfWtdwJ4BNwfhFi1raVoIXTFg+Pg/KomXrLriz/5ypAOVvAeRLixcuX7thXHk9Nrgd
wGRc3NqysM/1HJZH/o7yoxdjgrPYhG0nt2M8b/HyNWvrbjbWARimY9qyZSsWtGzdeNe9AMJszO9e
3rJ2pWG3DcsiWCZoF7Usb/U0j3obO8OKadUrV7St0QvhVuTZ+2krV7eujLxWtxcgsBnA8ltgfWfm
N7sEMAIFFYiuI8/yzoPPoBJ+DjKmKzACzsGSf4XPGTAu8GdAz2fl/4sLn5fH9U+FiQp8tfOrHyk8
ZdB1Xqr+4XgbWla3zAdtwbrVy0BbtLr1QtAWt85fDdqyljUXgXaqTDD47ty4dPKX8xyV/zT6jTz5
nvfzC1n44vSxu7/aeWKRAkZ8fxwHMuA5a4qnYEmlZeNNoBBvAqPwJlCKN4FqvAlMwZvA2XgTmAaz
EOdAPeJcvFl5grCZbMOeMBruNBRjcf5kKPwBLqBOo4FaJJGyS4RvvXndtKnTIA4VcKnhlf4ZpFge
RzrjrNN17N2o4XE2UiDylgLvZVdqNFyYuhhDN46FABKWMBmmwkxogVZYAivhYriUlfGt9GWwmqXr
73/3/s6InLoy/8f3xO+7yZCBN81O3sLq090GX/KWcpK3bOB3t6nJPNfSam3B+xOHw/GM8qjyaMZV
2G4ZRwd7S8Q5CEuhPcUT1LJLUjwFO/ZikhdwHApSvDhAxgBZKJXkJeQAxmMvLsEeXQZ1MBvnQSvG
2zBlBTDtLEUNHgUjMb+Op6yANbAOR6QV886E5Zi+CGUvQtRgGNKp0jQcp1ZMvxj5FkwdHDsl9xBK
FmENTE81bMFiXvZ3a5uIsdXIM2zB9GQLh/M6l6XqW4I1LMa8tlTtbfxtLkFcCMOl0yjF/9ZFy6Hn
v/uMVI79+j2X4Xdw17fid/9P2sUusQ3O+la8dmCc/A42D+Cvkh6GTSjDqJqFLJ0+DBtxQlfhe+Zh
2lWpNkmGPeBDyjI8AD4xiisH6B8hHWZh/xL9MMtnIf0rPtCdIoAH4VGyBB6FvfAUOYpP7cTe64Lf
gwft1l2wHm7GWiWcB7+Ha3F8Z6I2V8PNxKd3oQW/G7X6btiHsufCFbAH3MSrfwxXwkbhFXxqI9gg
FzVlOmrNDeRs/WJohIPiVVCGVvAiWEna9Xr9Rv0m/T74JfQIv9dPoC3NggV479M/MfxZfwu1uxFu
gTvgILnJ9BjOrnNxDvYIP0f9ulNoEom+SP8KWxCCS7ENIurvPtJLY1h6K3xEvGS9MBFLuVdP6M+g
VACaUE/vhD2klEymIUOjXqfvQ+s3DNZiqXdAJ+zGuxuehDeJ1XBUv08/Cj4YijPuSuyPl0mv0H9i
Q38V62zspSFQjjkr4LfwOzhAwuS/6AqD1VBkiBt+pL+KtnUU2vdz4QF88kPyOb0C7yuF58RJ+gSc
/xvhJ6y34Vl4l2SREWQaOYcOoSvoL4TVuGYO5bNyIc6ra+F2LP0dEiO7qZXuF+4VHxG/lrL7+3Q7
jkgUfoZr6X8RG76pRtrIj8lr5H06kc5Dn+U94WbxIfGPcgu+9fmo2TfAI/A5cZIxZAY5jywm68km
8hNyB9lHDpDDdDydTS+knwqLhVXCk+IEvGeJbeJVhmsM10mH++v7n+n/Q//nepF+DcxAfdiArb8F
foFv1gP74Q28D8J7xEAsxI63RkJkDrkM7yvIDeQe8iB5iHRhLQfIe+Rj8hn5J/maotGkEvXTEM3F
O0xX00vpzfQuuh/vA/Tv9EvBI+QKMaFUqBQahBXYqk3CNrwfE94Vs8T9oo79XGS41bDd8KDhEcNT
hqOSVf6xEYwvfXPvicIT7/RD/+b+W/s7+7v0d3EF8aFOBSCInscMtGEtaMfXoo/xS9TzV4gV+y6L
FJJx5GzsmXlkKVlF1mJPXk3uJL/kbf81eQJ76XXyKbbZRgO8zcNpKZ1Ap+F9Pm2lq+g2ehPtoq/R
rwRZsAgOIVMoFCYLTUKrsEZYJ9wqJISXhLeF94Tjwjd466JZDIq5YlSMiZPFeeLF4i/Ej8SPDI2G
Fw0fSGZpuXSN1C39Qx4tj5OnyzPkJnmrvFt+1diM2vk0PAa/GWQv+oQNQo3wGNxIi0UffZm+jPo8
DxYKdRQ1lT5INtPLSRfNM6yVxtKxZCocFaPY18/R7fQ4HSvUkVoyC5bSUcnSJJf4MAaV4tNwRHwC
3+1lLHmtZCVX0E8lK3QSZluBPCuMFGPCi/CmcJDI4t3wF9FMPOQIfUCYjlrwpDjOUA8h4S74tbCK
XA6P0Rp0y742Xo96PJWgPYPZpIh8IaBXSKeiFpUJ76MNuxB94iM4jzfDbWShuAhuhGKyHj6C+3FW
DDFcJBVKmeR5ukTcQjNIF1DxIWbnSR4RDC64mjQJd0qf0jdwpdsvmuEd4VfY+v3010KdeNQwkyzG
GXA5XAOr9A2wzlAv/pEsAoGcAxGxD63beqFIDGF4JVqVRrRpu3F270E7MF6owxQvas7ZqBdz0ELc
ifftaCdE1KAlOMfPRSv2MnRJs2k3LDLYCVodtOgv9s+Eufr9cIe+CC7Sb4JhaA826euxxAfhA9gK
D5KN/ZfhmpqDM+cdcrZhEt1vmKQPo1voG3QWvXXw+GJvR4gX/or3rzEyDv25LeLr6D9W6dfrf0Lt
LkALewfMx1XlEL7lJ1jDFKEXivun0g59krAS3/cgzNAf0IPEDIv1Zeh7PgG/lA3QIsdwjBPkj/i+
l0ErnamvEVr7l2A/bMVeiGNvXYz259r4xDmzx8erxp1RObaifExZaUlx0aiRI4YPGxorHFKQH43k
hXNDWjAnO+DP8nk97kxXhlNVHHab1WI2GWXJIAqUwNCa8KRmLRFtTojR8JQpw1g83IIJLQMSmhMa
Jk0aLJPQmrmYNlgyjpIXfEsynpSMn5QkilYJlcOGajVhLbGvOqx1k7kz6pG/oTrcoCWOcL6O89s4
b0M+FMIHtBrv4motQZq1msSkSxZvqWmuxuI6LOaJ4Ymt5mFDocNsQdaCXMITXtlBPOMIZ6inpqKD
gtGGjUpkhatrEr5wNWtBQojUtCxMTJ9RX1PtD4Uahg1NkIkLwvMTEJ6QcMS4CEzk1SSkiQmZV6Mt
YW8D12kdQ3u3XN+twPzmmHVheGFLY31CaGlgdagxrLc64fnRIe+pKBbunFi/aWCuX9hS412iseiW
LZu0xI4Z9QNzQwwbGrAMfJZGJjVvmYRVX4+dWDtLw9roxob6BNmIVWrsTdhbJd+vNVzDUpqXaglT
eEJ48ZalzTg0WVsSMHNdqDMrK96j90FWjbZldn04lKjyhxtaqgMdLtgyc90uX1zzDc4ZNrRDUZMd
22F3pBirbSDTejKPc1yccbUzT/YsYS0Kn4kKkdAWaNiS+jC+0xgGrWNgy4IxKIZXA8GnEgtxRJYk
TBObtygVLJ09nzBElLC25Z+AGhA+8vfBKS2pFCmi/BMYy/TkpKphfppPxGKJwkKmIvJEHFNs4zge
Lx029JJuGg6vVDQMsPtgOvZtS0PFCOz+UIgN8HXdcZiPkUT7jPpkXIP5/k6Ij4g1JGgzy+lN52TO
YTnt6ZyTjzeHUZO7uPedmTBGT/45FHdGzeKKBHGfJrs1mV87K1w7Y269VrOlOdW3tbMHxZL5Y07m
pbhExsR6wU9THPULPBeVsvGkMIvUWxNiBP8krtQLu2UjaiVPIdqkhNI8JYkN5lDoBz7UrR9lT/Hg
1GOpZiYqYoPjYwfFBzXPukXABuNSWTt77pYt5kF5qGrJCs9MBajxMLs+pE1MwBycmRH869Z7xzBq
8Cfi2GUTmQDqXzIpFR0k6E/xDXgx7Rw2dBIaui1bJoW1SVuat7R06+3zw5oS3tJDn6JPbVlZ05xW
nG59z3X+xKTrG7CvFpMKnBQUJnSEyeYZHXGyedbc+h4FQNs8u76TEjqxeUJDRx7m1fdoAHGeSlkq
S2QRjUWgluBLdlIjl/f3xAHaea7IE3h8QTcBnmZMpxFY0E2TaUo6jWKamEyL8zR2MRszcXb9QO3h
U7JhGF/wcN8CzRaz8XTbKGFgJCUpp2jAJaWI4p9RkiQQJUHix1NWi+kHl286FXzroXSVKC5YZFkG
URZkLmSzmE9XvjgwYv7vlC8my3fYLD+4fMupar71kDFFrHyb0WgEg1E0ciHFZoXTXIPKt56q5lvl
p19J5OWbTKfKV22205Vv+B+Ub8LyJaNo4kIZiv0Hl+9IBqxB33oo3WVYvqiYLRaQzAYzF8xUlNOV
Lw2MpCTtp6pKX9YUGVj5FqsFZItk4UJel/N05Q/S84xkoKZowGVLkYG59nabHYxW2c6F/G7X6cof
NPkyT1XzrYccKcLXldwOhwNMdqODC2b73D+4fM+pajIHiykpwteVfQp2udlhVLiQ5veervxB88h3
qhrPYLF0l7Hy/U5VBYticnKhkN/3g8vPSgbeFH1/+U6wqKnyI8HA6cofZDyyk4E/RQMuV4pY+cHM
zEywOs2ZXKgwTztd+YMmdygZ5KRowJXuMmyOOc/j8YDdZfXw9gyPhk9X/qDJnXeqmtBgsawUsfKj
WVlZ4PDYsrhQUUH0dOUPmqf5p6rJGywWSBG+rrUgEAiA6rMHgLV89LAhpyt/0DwtPFVN/mCxdJfh
69qGZefkgNPvyOZCFaOGnq78QcZj2KlqCgeLaSli5Y/SNA0yshUNWMsnlhedrvyMgZGSZDAyRQOu
SIrwdR3lkUgE3LkZEdwCA9RWjTld+YPmaUUyGJ2iAVf6lXAOqFWFhYXgi2YWQimmzJo87nTlD5qn
45NBZYoGXMNThLbSOXn48OEQKPQMh7GY0lhXc7ryswZGpiSDCSkacBWnCOeYq664uBiCw7OKeXsW
zq6F01yDJvfUU9VMGSw2JkVoK92zx4wZA6GiwBiYjCk9MFso2BX1Bg88IQyBPiQqDOmMZQd7hHwh
u3NsMN4thHc5M4sc44cJGvpeIzhqiCuQdiLtFdh3n3lCDqYriFcitSPtRNqLdAAJDTciy9WQViBt
R+pjOUK2EOjUgsr4fMGHz/rQiXIIHvgUSUcSIIg4Amka0jykrUjbkSQux1JWIF2JtBfpKM+JC57O
m4qx7Z7O63iwa+myIh5tSUYbm3h017kNybBuRjKsPjMpVpEUG1WSTB4+IRnmD02GzkhROwvNtqLe
8W7BjS/pxoavRCT0GXAQAkHYIWRCAomiL5hMiQvOXXnRou17BRGIQAUCCyGo9wqk06YWjTdTnX6K
Ohakn9AjyRx6ZJddLdo+/iz6HuxE2osk0Pfwfpe+C1fSPtbniFVI25H2Iu1H+hRJon14H8T7HfoO
OOjbMAKpCmke0nakvUifIsn0bUSFvsX2aRwZX4VE6VuICv0LvtZfEB30TeTepG9i017pLCsv6uFM
bESKCUZSjMefYpzuom76x84vh6BGRXGkUaMeF3JhHBQLuZ2RUcFuwdtZuSTYTd/fpcWCO8aPpK9C
Aom50q9iza+ChjQdqRlpJZKE3GvIvQbtSNuQdiAlkFDLEBUkjb6A9BLSazASKY40HclID3RiNd10
f2d0QnC8m75Mf4dGIEj30d/z8CX6HA9fpM/y8HkMczB8gT7XmROE8RbMB3xGwVDBcATmG+h/7cpz
BvXxKt2LfRdEHIFUhTQNaR7SViSJ7qW5nQuDTizkcXgBXZMg7YSPeXg/3GOE+NJgPDoRFVBjEK04
AzmE7dr2KI1Hb70DowyiN96EHIPo1dcjxyD6ow3IMYguuwQ5BtGFS5FjEJ07DzkG0WmzkUPopr/4
TV5+sGzahUQb76CXYi9dir10KfbSpSDSS9kNX4qsbT/rLCzEHrszHhtSGGzfQ9qfIO0zSfs9pL2V
tF9B2jeQ9krSfj5pj5H2AGnPIe1x0v44GYNd0U7iXYOi5XEvaX+BtD9K2ttIe5S0R0h7HmnXSFm8
m4Y6zyzmQQ0Pdo1nkw7DM8ah9XHQEPZoCHU+hDZhL+J+JJ3H4iik5SaFfTkszN1VWJWMD68oWjF+
Cn0aH3wah+FpOIgk4gA9jWr0NBbyNBbgQKxCmofUi/Qpko4koXQuNnwrRwfiCKQqpHlIVyJ9iiTx
5nyKRGFFqok7ecNGpBo9jcXo03izDxEhGopnKwElpkwRtgaII4dMy9FzaBm4mS/rVI1qN7Ht/tz2
xec2MI030RvpVvSFgnRbKtza+WV2sJvc3hl9PDg+k9wGOSJqHSmHKIlgOAbaeLwUAkYWlkCAPoJh
UWfgHHzM0RkdGtxD7Oyp3cEvA4eCHwe6KbKHA48HX9e6RdIZ/BOmPLI7+Grg2uDzI7qNmPJEtJtg
sEfjoj2BMcFHX+CiGzDjzs7gFSzYHbw8MDl4YYBntCYzzm/DWNwRnBmdG5yC5VUH5gfjbVjm7mBV
4PxgZVKqlD2zOzgSmxBLsoXY2CEBXmk4hxc4p6ybLI4PlW+V6+Vp8mi5SB4qh+SgnC37ZZfRaVSM
dqPVaMbtJe7OjNQIRle33hePsd8xuCT+Qw5JZChyXqEM2Y8VmNEjRgpnQSJDqKW1syaQ2kTvAqid
ryWOzwp3E/OMuQlDeAJJOGuhdvaExJhYbbesz0yUxWoT8vTz6jsIubEBUxN0czeB2fXdRGdJG/3s
fLQHCFE33uBnYcHGGxoawOu+pMpb5Rynlk+q/hfQnMLYqcs7iM9O3Fo7qz7xcHZDoogxenZDbeKn
7AC1h3xGjtZU95B/sKChvkcYRz6rmcnShXHVDQ213eQcLgca+QfKocb8g8sZcWFmcqAZc5Jydybl
Ivg8yuWxAOVw6xvhchGTicuJhMl1tOXVVHfk5XEZjwZtXKbNow2UeSGCMpEIl3G3wwtc5gV3O5NJ
jOMigQCK5AS4CMmCABcJkCwucs4pkREpkWtPilzLaxLIKZlAUsbWl5ax9aFM7IderRNiMbJrbMOC
Rnb43ByuaUVqTlx3yWJvon2+pnUsaEidSkeb5y9YzMKW1kRDuLU6sSBcrXWMbfwX2Y0se2y4ugMa
a2bXdzTGW6s7x8bH1oRbqht2TZ5eUjaormtP1lUy/V8UNp0VVsLqmlz2L7LLWPZkVlcZq6uM1TU5
PpnXBVzHp9d3GGFCw8TGZLiLWsyor83+UMMEt7JyHFfesSHvFf496K08CJZYQ8IanpCwIbGsYeOH
jWdZOKdYlp19YUhlea8YG/LvIQ+mshRMVsMTILbm4raLwVuzpDr514YXJq25mHV4EmNt33dhXk0i
3lLdtgZ3DYnCWbWJqhlz6ztkGVOb2SslKtJpFktNt96bTByOiRUsURBOCrK0SpZmMqUEvzv+F6fC
iWwWtNPHd5F4DlkDbQ1CIqd2NkVTMDt1lLsHfSm2PLQ14Au2kRhpS5eRanYsBsk4sHdO05qLU1yq
L9akwuST+EhbuktOXqyzYid7bA0WyC4BBMIugyAQim6m1/B3Sy98YdQBTaDeDyYw6SfYr+X47x4s
iFawItrAhmjn6AA7ogIORBXxG3RDVcQMcCK6IAMxE/Fr3EK4ED2QiehF/Ap84EE+C3zI+yELMcAx
G/yIORDQv0TXl6EG2YghdGy/hFzQEMOIX+BuOoQYgVzEKOLnuLUNIxZAHuIQiCIWcoxBvn4chkIB
4jCOw6EQcQTEEEfCMMRRiP+EIhiOWAwjEEtgpH4Mt4MMR8MoxDIoRhwDJfr/gXKOFVCKOJZjJYxG
PAPKEMfBGMQqKNc/Y79+QxwPYxEnQCXiRMR/QDWcgVgD4xAnQZV+FLdWccQpMB7xTJiAeBbHWpiI
eDZUI9bBJP1T3LQxnAaTEafDFMQZcKb+CczkOAvOQpwNtfoRmAN1iOdwPBemItbDNP3v0ADTEeci
HoHzYAbyjTALsQlmI57PcR7M0f8GzXAOYgucizgf8a+wABoQF8JcxFY4D/ECaNQ/hkUcF0MT4hI4
Xz8MS6EZ+Qs5LoMWxOUwH9MvggWIKziuhIX6R7AKWhFXwyLENo5rYLH+IVwMSxAvgaWIlyJ+AGvh
QsR1sBzxR3AR4mUc18MKxMthJeIVsEo/BFdybIc2xA2wBvHHcLHOvudfgng1x41wqf4eXANrETfB
OsTN8CPEa+Ey/V3YAusRr4PLMeV6xHfhBrgC8Ua4EnErbEDchtgHP4EfI94EVyH+FK7WD8LNHG+B
jYi3wibE22Az5t6OeBDugGsR74Qt+jvwM7gO8S64HvHnHH8BNyJuh62IO2Ab4t2Ib8M98BPEe+Em
xPvgp4i/hJv1t+B+uEX/CzwAtyI+CLchPsTxYbgd8RG4A/FX8DPERzn+Gu5C3Ak/R0zALxA7EN+E
TtiOuAt2IHbBPfob8Bjcq/8ZdnP8DdyH2A2/ROyB+xH3cHwcHkR8Ah7SX4cn4WHE33LcC48g9sKv
EP8LHkV8Cn6N+DTs1F+DZyCB+Cx06H+C5zj+DjoRfw+79FfheehCfAEeQ3wRdiO+BL9B3AfdiC9D
D+J+jgdgD+If4AnEP8KT+ivwCuIf4VX4LeKfYC/ia9Cr/wFe5/hneArxDXga8U14BvEvHN+CZxHf
hucQ34Hf6QfgIMc+eF7fD+/CC4jvwYuI73M8BC8hfgD7ED+ElxE/ggP6y3CY48fwB8S/wh/1ffA3
eAXx7xyPwKuIn8Br+kvwKbyOeJTjP+DPiJ/BG4j/B95EPMbxn/CW/iIch7cRP4d3EL9AfAG+hIOI
X0Ef4tfwLuI3HE/A+/rz0A+HEHX4APE/Nv1/36b/49/cpv/tB9v0j7/Hpn/8HZt++Hts+kffsekf
/gCbfuikTV89yKa//z02/X1u09//jk1/j9v09wbY9Pe4TX+P2/T3Btj0d79j0/u4Te/jNr3v39Cm
v/H/yKa/+h+b/h+b/m9n0//d/fR/X5v+fX76f2z6f2z6v7bpv///wKZT/g/+2K9hBPaTiZAaUiMI
BET4RhN6v4kbsABN7GU/GOsBINeIUS45Jq6JBpBkE5UqRaGSSKKZVo5Ao0bZN9e7jXff7o0px5pW
HYGqqiPKEaI6y8vxb9TIjNLiTAGpZ9++fULDvn3fPLBvHz6xXP/I0GN4BSJkajzL7/Jn0uZ8cr4x
gziFPLTlTg+NQA4l3XpvPNNqleYQInly7EIoRzIREs2P5HXr/V1W64Q5yHzWZbFw5nhcsdqQ0wRB
o1p+MxVot36oy+GgcygTs9k48yY+yJlj8WJWNl3dnk/ysykrLtvOyso2s3Kyo5qZmK2MNStM0OyL
LjjPG5uqHIvFmuqOxGKxOqXpODv+aqqsU05gWInvjb1ypOoIhrHKEyyOf6w7nNgZE9fFq8WwP5AV
8AUEyRpVIpnRYNQYEaPhiNeWHQK3IyOEwq4MTcZYriESIgGLJ0RcKkKOKRSCPAGBH9qRWEypVCpP
HsEVbiBN0ERKI6okhnPzaGmJM6+4SHR75OE0nCtJspTpcorFRaPLVOFsunxr/4Edf+7f3rWLTP/L
dkJuiu4Mzd+9YuNTl4bGbCL0J1ccHUerfkVO9K1u6yHn//k10ta1qPvmkSvb62ZcPW3z9mf6v2hv
KSMq+0RxF2pU0LAHTOSJ3YKX9aKxWz/8GGOcFjaC5ozMEqPX6qZzBMyIZzPOSHGQZKNLlo1UFgSj
SaTUJBtFlPiaD6yQHliWEjfxJE2SDN363/mIIvNZ3MKG1OBk44nxz+NRi0WaY2jSLESzTLc0W1Za
2i0Gi9HER9VkZoWYNAKsUTZsFP+9gKLQOZhynJfKGVYoMl/FLaxgEFmhGP+8iykBMl/EzTYbck3m
sQ2o9sdTA9CEA44qoDStOsailUmNgKrKqkqcCkQtL98kDo9tuvyZDon9+LMHBL3vN1a1xKgh4JA2
jBrJRnViY32XMT6pHN+7d/ekcmO8KMkWlcu5vnJU23d2+5AtSrIsNczZuCVcLttdSBksfmx3BrLZ
STYb2UzGftGRWZ5qLomdOgBuQCxWi4larIaJetfvBLrnd9/0G/Z8vUG88qtJYvvX7WgP7sZxfhTH
2Qu5tCIeclrsxDk6MDd4gXF5UDQprEuMHGWOOCF7+UyzYQs4Y00zljTj7Nbf2+XMKsHw6K7c/BKV
xbPzS5RU6EiFmP/nXdnRZD7KK6mQ5cfPRCZiPytwljbL0hhYHlhtWmtf59ho3uy4zfaQo9tx2P6R
Q7FbrZrqcKmqQ3VYTU4/DWW5zZJTVWxWg9dkcnuyfDke1mKmKR5ud9iwezwQykVDRMHrdTjsxpy0
3clJq2cOszsmZiRyova7JFRwrkhSWpEk9qWvhL2sJLFukZq0vJV57XlCXq6XmxwvV04vNzlejfww
nZS+VyfDYx9MmahYyjJxNUwZKt8hL7NbqJTMdlShhWKGKnYCI+UjnB7UUk/5JvvwmOFy5ZlRI0nT
oEN+pipNqJ5xszHuKHcoFaqzgikPWcU/RdhRB7N85SpqqRPJHg+UK7kupCDSSbVrKFZDRW53pkuS
3R63JyMsDKf50XBYxeTRo0tLouHQ3XTLMy/96IVX6grmnK0fe2rORecOC9W+S+7eeOvU2+7tH2nY
M+336+56LTuSN/Xi/lVk1NXXj7HIJy4WisvWTV58DVu5ztIPiwFxHHr/ZfTB+FCTzVTos2UVDrEV
FpbbRmeW+SsKzyxssjUVLrUtKWweucV2zZA73T/LesiWWcDGj/VtPrNUPsbd73u4YLfv8YJnfPsL
/pj5doGx2k1y2OKhsq53OhkarAxL2VBPY1zQE/TGhhaWlIvlQ88Upww9x9gQu8C4JHaJdZP1eeuX
ti9jalmJnYjKiLwST1HI5Z03ZMUQOiQwwl5l32rfbtfthu32nfZP7YKdjznTELuVKQPG/9rF1MPO
mhBSFAkz2MjbJYcDMWpDNbJzK2y3BwRPN304bvMO5Sp2iysQkOFk06Em31wUECxDWpQWrmNMiKkS
V3BkvonbWWkgceWLhPKY7WV1MyZpe/NEpo55bJm1WDhzjHcfMm/FLax1ebxdGP+Gq2peNz0vbs+P
Q1SJatGR0Z1RQzmbdnY7nRPt1l9LM8d2s6qjo8q5rc4Jl4ws7y2nO8pJuYe9wIWsaI+RNdQT8eaO
MDLpEVYWH8Hn04i8vdJ+iQalKolKLpYiuZiMxJ+R7HyOWvkE9fLJaWXtZ4hT1M4nKl/zpVFjThp4
pv6r2PQ5hoBmPsYymo6kpxo3/7HYBx8wB+BQrOrIidghlU+vk8+uSvoDzCHwoD8AfH6RVRjAqogk
hXOjpSWjR5fxu7QEp0WuJOePo8U4YTzuzEyX2xOOCpJsp8iylXx0qVC5sGfpzicmt00pvfDNRaS4
ZvOV67IT3osOXLv54emKyZP7RMAz/5kVjUXLlyy+J5p91ZxJj2ycumGqy27LyouYLxp2RsMq76rr
auMtZw1fe/TrjWeMIW8XBJSCuhFTms+bdsalbDbV4mzKwdmUCdnkF3EPbsQzcSVvMjSZ5lhahQsN
K0ytFmMmUwHWbWiiD8VnMi47wDDf+YbhK9fxLHGUs8I3KjDeWZc1PjDD2eibGWhxLs9qCayV1mYe
p8e9CriJw+bxTHc3u1e6BXfAsU3ZoVBFEf0Bswx76MNAUFGY/nG/0M5UQCGE3JIREC2oFUe53nrS
hhmZL7gSeeK4Ar3FLSgyn/BW2tg0YuNrY0WZ8gtLEjZiywpibFckWsLC3zClC5Kgm02ERlaQu1jh
2qNwDVO4zil5cjyvsCQoV8nTZEHmGihbWY6sMY2SuXbJAVa7bGfaJQdYvbKbr5S+nJKygeYanQhu
rw9h2qpY7PgqllaXNNlHTqCeHOKuZVPliVWVKSebmWmuSGTVauJhSgSqAsVFoLrkkJupCQlFuSoJ
5+8Z+knPx/2fEtdbfyJ28s1hc+fGBdefeJPOsI4559r1D5FzPPd2kSARiJUU9L/T/6Wi7dyzmNxy
zcTF9zNN2Mz+3xf0AHBHQB6I+6iZ+2ccJY4yR8Ime8qYJBlDmhFZZ2Yzjlq4S8dR4ihzxIdPpA1Q
kjGkGXz4BHqPyFGR9bDAUeIoc+Q1c5uVZgxphtdcwTjTaDYw00zbTDtMCVOv6aDpqEkGU9C00tRu
2p5K6jPpJnPQRIDIIhVMEnPB4sN4rVcQkAy4AZLkiAHE7eIOMSH2in2i1CseFSmImngAY6LILCnT
VpGZcA+zayK3lqKZ1S+6mDKISXPOmX6umbydZqYi4lTj5OkD/Es0IKtxwcYdVmXVkRgffZXvsUjT
6lWx77v4Bgz9us1dXV3i3/bv/zpTjH79JvPbr0IoY6NJ6uK2gWM5aPzi6rdHa9AIsaVk8HgMGgO2
SuAg8B43sMlVNqaEhyWlyXDkqGSYG+FhPJLpKXHgdmK74aBBnIZw1CAEDSsN7QbdIOLm1UyFCHfg
WUnckc8sLi3ZDqQX986U/VacbdJFSHc+95myWecD73zgnQ+888HIeh7SPY+MnnanUkMAU8XBQ8DG
gBl6Ngqs41ns2xc60upVXYY9X01ivbwJQIqi9QzT93ogI2WblLSRcqYZNc1kp7svkGb8aSYrzWQn
V9OUDGP8aSYrzVjTnqotzdjTjCPNZLBKuUVLM840o6aZDNaT3NKlGWeaUdMM9/C5/59mTOiwx+ss
tpKIeEg8ZHrX84Fm+JPhuEY9Ri1s8vo1kyCEcwJSZgAHQiZSOMunmA9EyLbIjgiNeDxZ9sg2lagi
G0LVyxZrlfscbCBVFxtIlTloHjaYKmWDqVrZYKrc28C8r/hIplrIGNIUz/EaBzjcXFm9kW1+4ucV
+E9W4OcVYPwTpvzI8R2g38wqwNR+ptTIWVlV/rRj42c1FAAtDvPiw3x1CPP1IBwhB4Bsgx1Ag1AF
09B+slKSWqlw50rhusl9EHCnfPtvulLqeSzuYlVBUiW5cwK+vEg3WbsrxNQzNvXYQP1MevyHlAGJ
3GkZ4MWcmFrTWv3hqtW4D6isRHtSpxxRjqiegQcVdqsrI+qyqn7itGX6CbD94ob0SvN9xgZVP3P0
aHRXPAwy1bBaEmUrT5JjpxCZ6qa7i+5fesltwSte+MXDu8KN41be3FW/8OwNFWL0lqnz5tfv2bn7
RD79+bJ5Fbfcd+I22rl27fQ7f3LijeRMEj7EmeQmHfEMgyBl0AeVbuV94aOMo8LxDAkN59F4Lqrc
OoXcrhzw9nl1r6gZXXaX2xkwoI65bWab3WpPK609PeO4Jx3kMyTPG2ca542zgbAUMN7iYsNkYcqh
sqGycDNiyeUS7EkLGy6Li40Vxr9MKofFzEbMwvaGfINgiRePLtEtBP8sU73MbA0tGV2S8B710pXe
Hd6Et9cregVanOnmeuPmOuTm2uPm9u54l6omrdkps+b5jllLH1V8FVe5xlCuMWLKuvXGndiKo+xX
pWkzOdWjHG8asHhwF7byWCX3bpsGrypMiXCfyA40qo6o5SSlKG5JNZmNZtksSEpUlex+4jA7UwrD
zqRWASolV4yUGztAKzbdc/HbzXdPV8xdhRdOaXtAjN62s2ZlXdHlJ9roNRctH3/TSyeeYH5HNXqg
+TjyNvCRvbszvex9MthOjTEOZghaGefjGU7Z7LNOlqYYz5EajIukJUZjiVLhrHCXemuUWmetu8bb
aGg0zVSanE3umd7lhuWmhcpy53L3Qu+lJNMkGWznCbMNs83nWZcJrYZW8zKr2RMQZRUNlSutMa7k
+QVnvohnsBFz5fnjTD38XHVkXNbZEDD/j3t+Sir1KN8dcYb7f4xhIyUn3VfOoGubFykZKROQFVlD
p5JpmZk7OaMOorViEsuZc4q8nauL3Zrc73FtzgOrnZ0aOLlhsXLtCHDt4O5nyn5wawlurh9xrI4Z
JgrccQVeGjNGiKOymIPKF8CmQZqA7mnT8VhT02D94GefuDCuagJ2KBA3zTLMMs03zDeJpKmBHzVl
KGWoCID7f+apZvB9TCm3DdX3XfvsX4j7sr9dd7D/SE/npms6d23c1EkzSP6Nl/S/e2Lf335Mcojt
pRdf+sOzL76Ajd3Uv0QMoVY4IYfcGl9jVYYpZyi1ililJTQa1IZYw9lFmUXZE7JXats0Y4Wnwn+W
5yx/g/E8a6On0b/UeKF1ibLcc6G/V3vF9bb37axXcg65DuX0abrmDosxJZZZKlYok8SzlLnKB5a/
ZfcrFtWO25IAW6/cAbsF7L60QvjSCuFjChFkvejLO2Amijlubja3m0WNq4XGVcTcrX8YtzDlMHtT
8a/4aZiZ7U7YGJlZcUwtzEy3S/nZ8xqSUUyLnXy8nXyknXycnBGAXkK2kR0kQY4SMUiqyDT04Lmj
zQwE4SsM4SsM4XpI+C6XMKPCtICLull1hB9joMFHDSG+4OQyLxm4N0kuLvxY89ghHqRSkyOPQ8/s
gpNvbJlrBKsy0uuBO9NF2fY2XxUGjPim+ypuWrz5wNKLD142d+tw9f5L1j7ywJq2jv4lhie3zJhx
vX77vf1fX3d2xYmvhfv2PfPin1584XXmUW1Ek/AcjrsK78TrRmQQRSRhsUScKM4SLxDXiJJJNZqM
JluGarKBYCQWPmBgNhVsMxJjrpZBMmiuyntQ5b2p8n5Uk25lXPm2iRzgSX4RVweYXIlPqkHrNO9F
kPisMvJ5NtU5+ZnBPnzSxh5Smo6tPoSdxrqsXOVHAuXloDy/yX75M6wDV5Om9GrqkflBANrLjfeM
W1J13vnjJkwYe74rR4zevWpKxQP5k6uaV594FdtcpR8WOrBnRgq4QnqSbg5HH8eCtJbmp5lomomk
mbw0E04zuWkmlGY09qpX8h1Zriu3wnSWqTrvnNzW3PWmG01X592f8cjQpwSbyZPl9YysHfqax+Cn
cyhViojZ22hsNDWaGy2N1kbbUuNS01LzUstS61JbV7Qr35EfzcvPGzI6b665wbIwurBgTXhNXnve
T813WW8quG3oLSPvMz9kvTf/voJd0Wej7oK0p5mbZsJpJi/NpN5XSr+ClH4pKf2aEnOl34k7c8rn
GvMjVrOYpUUzRcvw7Cx2bpbrG8qGOOir8k3zzfPt9O33SQ5f0LfCd9AnBn1bfdT3JGpAJv//6Ajq
jouJKyROqEIOEApEIfwb1i6Xu4SfWSh2tYSQ4Y3Zy7JpdiBTFpPnZXyP+GF6H/hhPIOpkRgYbglm
kaw8XzzDW1LEHi9lRsPnTSKb1T4300Sfxp70aewpHz+18vHTBZaLY7+Hngey/tluvkHPK8SCHguU
HygkhaxO9nxh+tCaM+z5QrYtZUUUspM4VkphFm9BKL+wpLmot4hWFbUX0SJ2/JIH3qQLy/VdS3Y+
5UrC34hrS5C1TeNaqOU5uBVy8LY7NCbsYC5LlDXBYWf1O/iRpkPiu5Xcg0CY10zBNyp1WtK0qu7Y
gFUHjXXsyOqp6SO5WGwVOzMZ4PAeQU+XCVYdWcUP5Ni+DS0YD05+ovMk/Zl4/rCcsME1NKoqTiVD
EaRcm+YHU4HsJ4ZhCDkujIbsYT/khm1W4xCznxTkm8xSTPRDUMlmnk/ywxwH7ioXxjZs2AADzCjb
sTedSmBCGWXupGHMj+YPp6Ulo8uShhMnP/eVXB52XJ5DkwtntKrTce1l69eWRn763B3Txo8p/Mms
y5+cqyasbUvWL3W7R/iv3nvbOUueu3z/G+SMwIWrW6vPCHsjRWdumDp5XUEwNuWyRd6ZjTPLwoHs
DHNe8fj1jXO3n/srZlvz9M9ooeEO8JBgD1hT20RLer9oTDNympHSjJmpeThaYmJaMguZdh8BYrWZ
iQBuxRRzmHHNFCwOJRdyiW3QMmZOLmNWosvGGlNNs7xSbpe3ySKg87NDTsi98gFZktnayMywnFwb
OfMZPy2Wkx59iuHHbUk3OelWsaUWOSnlXSWdRnkPXQpeMrrjgm/t7nFhO5J0gpVDxyqZO8O+4uKi
phYXK88P+CQS8bBhiJaq4dJitQwtdVh1sRGkStbZlfOXDb366l2PPZYRK8i5e7syrvUeuuB6Ii/r
v+H6Ez+tG5rFTl/QVvex/6OSXNUDWewQMtNTQrUMN/uodTTuc7pKYhkkz5jhtpIMtwUXMBX7D4rd
6f2LO+18uE/uX9wRr4dtNLL4LsbD9y8eJ+sjz8kTew9fvDwndy4evnNhh6XJnYuHb2s9bOdiY12m
e0ivh3imZrGBzWeblqyjWXRl1o6sRJaeJWZZ+VBa+VBa+UpqjZhOLqQmAibNdMDUZxJN6YXUdHIh
NfG2mMysHSZWI18/TXzXYqL8HGGqb9ABDM5w7nx+Z3uSXFTZeFVVJhdTPpmzRMVuc9ioJBslo8GI
WxTR6gebUfUD26AUFm5AVwWfDJXy0czH8SxWcaqxqTia8ULV+j+df+80xdJlUS+aMePGsV13dU1Z
Pq20jd50YtcNoybPmLV1My3/+k32T/gADL/BEXUa5vUAsK/T3B9P9gzr72z2iY/yHxQo/PTBkDzA
pPzwbMCx2V/ZVhOFuP2TOJqSTiLfrfKPgBNS5tGZzjCezJCl1AHQZ+yABKtMnldL/JxW5J/C0yd8
9pQeYGnW1HnUMZ5hPJkh8wxz0q7zc9RjyVM9NTeVcTh9tHs4eVioasnslF14J314+84uxnTQ5Ndv
J/sOxadt8vuSlPKFX+2y2miyNAvjVM2azOjtsidPU3vjIxinxnncrAoErOgeEclhBrPNKvFvzSqh
ollUzamzoqSFUNH279unvLZPeTW2jzlfVVWpLzGnDLEftdBFCsUhZnqWep56oyqw9+G+eF/6hLYv
/anjaNwUDJUogex8ZvmOxn8TzCsRJaspQ/KbfE6DCKJkMVnsRqcCGYJLDhj9lmzcoUXkQmPMXgKl
coVxrL1amCzF5TpjrWWiY7J6lvM8x0znhfJC4yLnOulH8hpjj7THsdv5T+lrU4FFLYACW769wJHv
HOEaA2XOS43XGG8XbrM+QB6kD1rutz4Gu6U99t+Lr0lvmA6Lhx0fOY9JX5kCFv7x2cpRkZIfDJNr
LN8zJ3+SEPeb7Q7RCapRNkZkR8TONhd2WbARa8TWrb8WL2Mz1UYjpJDvIGzElSGZLWrUHFNnizPN
jeoydb26RTWrZlEAwoYjOTCnurqJ+7kjYsfwj8WVQ+xOrsH454+7BIMBp6tsMJnNRlRns6KqaBFr
dxnAia7EmfELzA679rQqGzVZdTpjBtllMMh2HOeIze6y2exG3HfHzEYXPg4Gim0FF+H/jlZ2ikaH
arXbePOcaN2MRlmmlEhOh8NuB7PruGIjzbaVtnabYOsmD8TN2jQzWWG+0kzN3XRO3DRNJSvUK1Wq
sphFMZBmfjItGFD4MXI84/gF3Dvx1R1ravKid4F/Wb4TyH948oO7krqdycM29iMpleOmOv7bkE3D
vd8NUCs32ZVnZLtSyYjxjGoTwVn1XTbNqtEn9D70QPvArh/ogpEODedxHxmTuhpqEyWzcMYZ9QMd
8kjCE0KzahPFM+by1L4OWUumOjE1h6diQbvRN8Oy0RIc6JRHshI7YQzdk6zpZOEnn/Pw51S9b5dZ
EzVgGQ24XqZ+GvDqbmc5DEXCCd6RwX4M0JDeUsaSvyxY1ZQ+Ijg5Fb/vCpHiDM/osgxEBBIW8gVS
2//4noeqxOKHeraXnrF7Z3/X4w8NeV2MnvjZIfUFetGJ21/cRy/4+k26/rFv9gP8X958kTwKZW5k
c3RyZWFtCmVuZG9iagoxMyAwIG9iago8PC9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUg
L0FBQUFBQStBcmlhbE1UCi9GbGFncyA0Ci9Bc2NlbnQgOTA1LjI3MzQ0Ci9EZXNjZW50IC0yMTEu
OTE0MDYKL1N0ZW1WIDQ1Ljg5ODQzOAovQ2FwSGVpZ2h0IDcxNS44MjAzMQovSXRhbGljQW5nbGUg
MAovRm9udEJCb3ggWy02NjQuNTUwNzggLTMyNC43MDcwMyAyMDAwIDEwMDUuODU5MzhdCi9Gb250
RmlsZTIgMTIgMCBSPj4KZW5kb2JqCjE0IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL0ZvbnREZXNjcmlw
dG9yIDEzIDAgUgovQmFzZUZvbnQgL0FBQUFBQStBcmlhbE1UCi9TdWJ0eXBlIC9DSURGb250VHlw
ZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRv
YmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+PgovVyBbMCBbNzUwXSAyOSBb
Mjc3LjgzMjAzXSA0MiBbNzc3LjgzMjAzXSA0OSA1MyA3MjIuMTY3OTcgNjggNzIgNTU2LjE1MjM0
IDc2IDc5IDIyMi4xNjc5NyA4MCBbODMzLjAwNzgxXSA4MSA4MyA1NTYuMTUyMzQgODUgWzMzMy4w
MDc4MV0gODcgWzI3Ny44MzIwMyA1NTYuMTUyMzQgMCA3MjIuMTY3OTddXQovRFcgNTAwPj4KZW5k
b2JqCjE1IDAgb2JqCjw8L0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAyODk+PiBzdHJlYW0K
eJxdkdtqwzAMhu/9FLrsLkoOTZYOQqCkK+RiB5b1AVJb6QyLYxznIm8/28oymMGGD+n/JUtR3Zwb
JS1E72bkLVropRIGp3E2HOGGd6lYkoKQ3K4UXj50mkVO3C6TxaFR/cjKEiD6cNHJmgV2JzHe8IFF
b0agkeoOu2vdOm5nrb9xQGUhZlUFAnvn9NLp125AiIJs3wgXl3bZO81fxueiEdLACXXDR4GT7jia
Tt2RlbE7FZQXdyqGSvyLH0l16/lXZ3x2cnbZcXw4VZ7SU6CsCHRIiJ6J8kB5GijLAj0mREeinKgm
egqUk2dRhH7WyulvH1vb2YXsD6StSbvWJPsiXS1I5H/nt7CNjs/GuKmFVYVx+UFJhds29ai9yt8f
c8GUBwplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZSAvRm9udAovU3VidHlwZSAvVHlw
ZTAKL0Jhc2VGb250IC9BQUFBQUErQXJpYWxNVAovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2Nl
bmRhbnRGb250cyBbMTQgMCBSXQovVG9Vbmljb2RlIDE1IDAgUj4+CmVuZG9iagoxNiAwIG9iago8
PC9MZW5ndGgxIDEyMDAwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggNTYzNT4+IHN0cmVh
bQp4nO1ae3xUxfU/M3fu3Ud2N5tsks0L2GWzCZAnBHfDKwRIQAgkIQmw4RESSQKRQCJJeINUsWJa
wUc1PxCt9tfaj221dyOtIFClorbUR1Ss/nyUXy1PtUor2jaw9/7O3M0mu4Hax6f//D4f7nBn5syd
xzlnzpzznQ1AACAWMwaOWcUlM5lH+AiAOrDVN6uivCpO7SsEMN4IIIyfVbVg+qePvtWC9bn4va+8
Kndc5/LborH/RqTrVqypb6MvCLVIv4t0x4r1HQ72UVYrADmJ9JymtpVrVnyR8mMA6XlsO7Kyvr0N
9GDDehZ+N61s2dQkTv1jBoD9rwAJ51c1rNk4PmPsHwH0W7HPK6sa6xsCsW/WYX0/9veswgZzbHQH
0nz9tFVrOjZ2Pcp5sV7BNfpaWlfUn779458AmHG8sGNN/cY24XP6F+xfgP0da+vXNNrp2O0AIo4h
M9ta2zvUemjAuo9/b1vX2Dbh9JfTUTkoP8kBAhT5paoK0VgH8hzcAwlQDSKn8LGg5EBjQEJaAFAv
4Xszn+8aD47QtSgmAMOCvnnKAsN/64E8HdHhF9qs1BX7san7geXRk7+EJL325fjFmBxevk0q3+ub
F3gbx7bjegZcPPiMgQvwfVCgDOrIWPgJvAgnYSschHvxW5xSB3H0IXAITohiEyGe3Q1WUYY4KRHi
yeMQg3tjkU4NzMVlHt5ft2gU7pT2atzhqumYCIzHRKAAE4HJmAiU4PoEKlA/BBbCEsyXQS0Qchgl
oyCwPfQIag7EfWI+LjMiWApvQBPVJo7U1eAzq7x8FjghCzZLKCI06fZRcAD5Lv/GJqIkDkxC/xS8
jMOcaCWDOq20YguDHJiuceeDm6ENNsBm3FfAeUOt9dAC62CTqqqnh6ZIjiL4NMJGeBxY8cy51dCw
YtO6Fqhbua5xNdS11HeshWQoBN20xSUO8MyorMZ8ZuU0B+TMK5+Ledm0hZhXls/DvLqyFL+i/ag4
K+kvob8MKof10yhlS/PKehil5alaHtcvP+nvRwZePnoMWmiwFY0OirSS4o5K5AiWFbg/AsxBLQz2
SQ3rcxjLeeSo1meeNuMcANmUKUMm9BATzYRnyNhRIxIsoM98hhYVZDlieU0YaGP3blg60cVr4vq6
Us8wXpPcIxJjonhNNzBCPzF3ZGI0rxk8Wf0145LSiWOSeC2qMD8jVetnKisal5aANegxR+mQD0fJ
tubE4h45hrT3VMSQjp4dPGuLIZ09U+OxbTnPbuVZbjx+KOdZK8/28OynPFN5NiI+OKKTj+jkIzp7
opNwWGsSJ3ntc56NSMLOy3m2h2ev80zl2VTeLzeFj+BZrhOzqZhp+6eDxdwymQHrtbC7v05Qx7f1
1yl6l5b+ugBpcGN/nYXVRTx9I/vrEtYAKqEVbsK3A99stOZWnKMBZiPNLboZVuBpbETLbsd6K6zF
0zIOz8JYyAcvTNKoPKS8EfM4BuZxRMx07dbwkTPwbYNNuF4zrIRV2BZaYSzWZuHXVmxvQY74HGtx
dA7WpmFLC5aVA6PaNaoRS877eswbsCfIkFUqGyp8fkJ21xwk6h1y8TC/QVhemy2TLIejpLlYJnXZ
Ms2SyRhntixkOWbKgntmpc9V4+hydM1u6HLMdKyqb5CZWyvxQ2NXTa5DhipfM+bVPqdcVJMyUG2s
qZmYLTM+DdOm6arBCW7un+BmbQIcH8iWxaxShyykV/jm++QdxSlyUXFNitPpKJGfr/DJzxenOGtq
smVpgEdH0Gg1bnVZsjQmW9YHZ6jyyUUpMtR0dQUpl1Pe0dWV0oUShOjnI+mDBIY2FIU3oAZKDpId
FdqXHS5nCm9wOV1O5LCmOFs2ZJVW+UqQRSeyaMySXSXZclSWnIaFKcufQXY5uqp8h4rQDlcc1MOu
at8hcAnn22pSZBdO7th10AoDbVxKc5ZctOugAxb7/GlQnHII0oTzxTXZQZ9Ejhv0bIgjpYJwDfcq
XUWJ4a0ifwRRpBiD9VgFASmGnm7o7Nef/+AjinoNlQRjXx7Gt2DsS9ZiX7IW+5L7Y18oYmmRaHXj
urWgh1BcYlq8onQ7zkLJVt6XGhGPWMAcvpz6Jy2/+K+wGBxzzS9f/r3v6hdX07xfeF+1Rst/iClP
fU71qU+BVT2gHgdQFOVikMtrc6qexfcT9RPMfx/WikhRRbSrfoDvRxA70F41wMEXGs/R/e2vKi1f
L3nEmmf+qW4E8bgV105HPFeAOK4EZqKXng1zYT763ypERgsxbnEkR7EfT1EQg8mEY2KxzhGgTkOA
RhxbgkeUjyZQioloc1CcpQojVjUmCosw6aEGE8N5F+NxXoZJwvlrNUQbo61h1mY3a1jTpGFNo7aS
pK2k11aiyOlMnHcWpihcczbOOBdTcFWirScg9wtxXr6SqK0kaivp8HvQPvUYgxqwfzFacgFGmAIN
+XBdzMGRPhy3BEeh7OpOiMWXox8z5lW4YxwRxWGfcdgnBmebpZ6HG/GdjW8pvhQWqs/BEvUN7O/j
twXk7OvTOrgLnvrnEnF9TWrpT3v70x+GJtpMXxZGCNuEP7Ip7FmmihPEXZgelYZLq6VndcMw1epe
1Q/TN+m79ef05wwZhhXX0/X0/zKdMOYY34/qEB78O3fzf/Ihn6tdggkW01K8Uf0HH6ZA/L8zToyK
HMfegXsi6L+qP/2Ha+eDma3C23kCZLJmyGGTIY++CXPYRvUiu0m9QpMghlqUPt6X16VfYt8VaoCt
gSy2Sj2stZ/CNh0Y6BNQwG6CScJXsFT8BWi3HuFz9ddCQD3178h3/bn+XH+uP9eff/1hL8A09huY
oytEjDoH+NUZY58wSpQRtUqIiE14q6gAGUp8Ms1N8dOkwhqNACTAXFjTwxCLx07oEYOFLljotUI2
ftBjCjaYgw3UKls+yBvrdMY4hRhCYojgJDcQpzAqMJke9yifKc8S02kqKAqhgYAo931f1AW20Q2X
Y+jGQC2t3UVrMbyqXcr9pAC+QvydCLIh1y9KsjHT53w35RLy1ous5Y21ZXg9Xm++jo54YHZRrPuz
YaOV++d3rq49eVAJIMpeTC7TH9LTKGMsoFx+QgZmyBtLnF4n3R74YBR1k8sXsPcY9c+IkbPwbpEa
1ISEwksovB+ksHE2T0J8guSS0tM9v5qxnC6dMWMpW0zG0EXTpy+j1d9ciqthHGZvoW7NkADDYVNw
NoKzkav0agfCNWbPPXDK/rmdLjtwq32Pnd5yINo+ghet9luxsWeEnazzWwa579FZ7HwYWP3Rg60y
sfqHh4uYbxMTEnSSjmfMJQj2cR6vJz0jw+7BMiMjPkBeCigmy58W1eksyv+oD5Wca7nPYpm35OLL
rXdbkt58V5QJeeXQh03Df9D22hm6WdlAVi9Z3MjeprQBF+O/JaOkohElNaKGpwflFFA0ISSnJjSX
M4oInOGoXD+EMSxY/bEReyI4beI40EngykBmkVc3+c5i5f0AUT4llhircvjKJ5fW7x9ev1z5lJKA
igwqfW/9VoVLdHPvVsZ/jUbMI05CjnSQG7aLIX4040Z+ZMkawQjr5QaBq6NRiFal4k3l/TeVBZls
Bzt6eQY7+gW3R0RPYi3OHIX316t31IiEMUQwJJi5n9AhoeM6AML4IZGCBR48XhgkfmRwdeLEf4KW
0x+SRaQucIHkKEeeUx5T9lOX8j4pEo6QSwFHII9cURj9lB5H/ZvV88IfWAU4IBM6glwl4nKJ8ddi
ZMDoKEvkSxu1AjmXE63+mDDrijPyD1vluNxEmVn9zjBFGa1+tz5sx5zpXikjPd3rScu3o02lp2ek
SzrRk2ZHmxN0kl3nTvB6MyQ0QimBdprp5n27D0s6kvLZToskiFPGTV9qVs7oSPTLB3tjqkRqI0rs
5iWum/aXJEn6KaMnbGb0Z3f4j9JpzuG5NxBaMo08dIyytx4P9BXNGmt7ma09TNgSZ55nKv+bknqW
pUgAVjy/pdxjaEKbUGhTSB2hEz1oqJwwWf3xkUaZHGGUlGakZ+icuDseFMueIKKcGek6Aas2Zht+
5Vc/rhmtqMRIUtase/DhpyWq/K9BiLpjW2VZ+tbeXJqsgvKKyL7ZKUHgnS2MfvhC4dQFuU8JrFOp
bGES4X85y8R9PM+qkfOZwV20InPWENt6JPSaIwrbJEFv5ZsYZ9XzTbRa/fZwpt0JHq/bgozTqTQW
+G44xyPTgmRPIB+WrbISg+4b72x48SwTSArJ+d0z71Dlb3PnnsiMZsaTtGYOWffzJkEgxg+9UURP
bpDYuaOLGpikvLWm9Kf8b0s56jn2AOraBiPgRkBVDhpYiGkRCTGkawMSBi5BYpii0XsNi1B0gt3m
JC40qBxk3OstpJxde4LXxq2KpnYvu5mkKF9dsW56rPG/qpggSYl3vVylF4w7N/jmZXSuvIuVs046
pg867mZk1Qsbp07KfvzK5sAzc8fLgthJnlotCj9A3vPUj1k8q0Tf7IBmGGQvfugxSQYDV21y7oER
ybnJ9JaePclkWc/yZHKL36yPECP88NiCowxDNkTMoV6vJxYtKFanc0pcLLskCXhanNq5oeLu91tM
QvS+P9//xjvJ1kAzW7t8X8c3ppwdU7Ypj+yUJNFYFkfu+vyeUY8Q/R7GlLfPbGneTtmWR5euFLbQ
pu3Jo9ImToPg3+OEBikJfXM1DDqBCFtKGSIqP+XEMCiS3uo3h3tHqxzTi9FFjuvlQcU1lXpQDrsu
3YXs6/J1LqG8e797vyX5bM+UpUl5rtLV5ug33L3dQtNJ0vLki5Tafm8iZWW+k1f2AVUvKvPZItR/
CoyCVWExI+KQhgg7EvaQFUUhERWNOxMdxcNfuNplu9U/IvIQp5GIqI2HwO4VBYlxJ+VF/SNykDSH
JcYNGJlOmjCcRP3myQVuIviHKSfOtL0y/du1u9fuT7Wuv/+RZw0CGVZe2l5TndnR8qBNR4dfJhME
tqmZXP7k3SuMLpv/kw2MbWmbtp7Rc4emuGpvEVgTOVHLhAMPzMYIcgVxgQVPTSxMBjk2dzAihaSN
RiJ6aNxAOOU3RZwTj+ZdnbZ+P4Seifhvffyxbts65Wy7KBg71i3cpZzlDkn45W7KTh0LLKRPZjhb
kJsrigTa76pAM8WPEatEwzi4mpEBw0AoZ+6Vzbl+XTgGcmKgFNI9+R5UHOosnWQrp4+Q1Mt06bSi
WkoXzZy6nE0kthk+WjmtcCmlFbic0qfMpOniecSaiVAIVztnzUxxd/2GsH00WeWEXjkh12+VInCC
hFun7aLXZkv3eMeFGPn4l/Z3flRcaR/nvmPY8RTqKympoZhzfi5/62cnKI05G0XpfWw9sU1fRCun
zlikcUc0jXgl/n8GbBwrRmiBC4w6RiFJFOEhJvg/PKQmtOKRsA2udn4RBq0duRDhQMIR2mItVocI
CxIW7neI4NBwQqIGmfAs2iINO9Jp6rSgpJlEyCZG6sKtw0ZetN/+bMNO+55jD3SbaLtypp0R3S0d
VcJ2NBestq1eeKdy9jCbtOU+Rn2lTzDhpcNJgXL6tNvRLGy1B3Kp3+24WRBWBSibyJFQAO04GmWP
hXn/SHYtjpmHxDGUkMcuLov5alkieT+WeNuhvffFoWV3iIK5vdWHrB5hk3Z0M+G9Y4EK+nSGo0lg
qwMMWaOQpZ5n2RhHzZAEBdfgLXSmIlwHDHHVZDjFCw4GIW8sCDzg9+MaunbP6/UWu/Ly2btfu8mS
TAom0YVlt31HZAvKt3ezMrrn8l5FUY4xendfNzGRyYH5da2U/eXXde2UfYnmpR5W6lgy6o0jlAUw
CBtD3JmRMEewGj0Ux5kjsQobilUkyg8GugS3zsM4VuGAP4hVPCw2fteJLQ8vWYG+QSDM1kkKZQ5W
JFp645aK+e7NTbto8o+Uv+4Q2C0KiO+RNTv1p54rnFpXv46yFmV6IxO+H7R8wYSY0wyzepglGjcS
Br3zNW1+AApEWf00LFQaosQg9sVAwjcbec4fZ6fnJ7q7fdtwm4khuenBMQVCppF1BiajR9m518LP
nkG9ILyOHKTBcrh6tVQkUjWYm8qhUY9Jn9p/jixhIQ6datwg2eNIpbxTqtU/0hDhajMy0rwanLW7
PRkj0cfY7WgeHFmlZ4gJeEmh6623LlGOGkQiHnzmI6qcp9+eXh8VvWtU133lgnDrh5sPXKTEyL5X
1kjGVqTZa36/9xilv3iEfItOL6hwGpwLtvtW7qsW6G8eow9R/r9xClTE9mIxxu/+0xWHAsVF2AjX
ZZxVJr2Y+2PCpGK93EL0YRaC3eJ75fhc7jR5pNaQh07D7DaXN99Gp+YecB9YKqV6rDPjShd9a5dp
2V733hyxWPnqZOCjfA8l0odJlP7oXjrpJDFy7U9SLyDQmoinvx+rapYa4m/ghsWJGCRitKsP1QV/
GAiPZLLOKkcjonAHuXGG0B7ew+hjG3v2PxrbSZI3MMHYePvCO0nqEeVvbXcK9IMD9EhgmnNYg8Ca
qXr5JeRoKfqjHORIgoIe0OkHLFK7oEUYYYSP0hgThYHrF65LTpDxJC/wpfLnQ2Q4aaRvX34J5yX8
12vxM6yZoK5HNFuuvUKEFUachoGrRvglpAeiBO03lWBhjBrkxCXgP3R++cJJQkiSMuHTCuX4pxVE
H0NueIV0UfnyS/QHgSVsYmARfYJ75F8rN7IpyF80TIFBJBFaPoJLbXkOokDiZ9dvjPAfuLgkuUZm
eHEjvKiP18gNZGLgzuJnNubWxGd0FRX6SRrZTx+57NrzzfgPKGtuZ5m4/in0CZdwfcPX2kTE/YWB
duJ0Vr8Y7hJEnaYFt4i4mLi9Th1pJ8roK91OukRxjxZKHZ/QC8/RPfTjQxzHIOBl9yLWTYBkWBtc
OQkXS7om2o3AwQlIJFwVh6/GwZZIHByr4eD4IA725ve7Bl06dw0aEubQaFb3w+n3GdzE+nbVd8un
dHWu2GEzvJ/+Wjft4DApBWHx+FdOUepK+FMeXb4wB2GxFlc5cme/kxIRH7X2sKTkASuzIXu2lPD9
iw/HDCFCiyUhkQaAsy3C5/IfPvRhEprQYfRqHnhAgCC+9+bbRTwRTyycsmxDtJmjeeU0B/mm5EvH
Y54kXkVVzogjTQvLy5F9DvSXya8KupQ+I+4KyqEzS8kwGrLhWE9cTi7faHREmb0wqPuUwmvABc1h
hIiRSIwMEVlIZH39JYYTbiTcIWIMEmM4IXzt9SYhAlLx/XX1ymm9ckavPOpaFx68sKV58we33atp
zaltvXYRikq8cMB7E16E5jRHW0mZlEaMvzVWPzp/2u51S3fGG95zv96tnOlWnuhmZ5Uzh0kqV9+C
o69SEo/3pLlzatPeOk2I2/5ZLvUtyyGafjUT0SxENx/tfQx8rycuM2vAQiIUom39v6jeCCUmI5Ec
ItKRSP/HShyuHQzUmptrTR49VHFcUW6vx+uxc7uyhdubM3R9PNczaRlqbV6zOZosMqZ2b/v5XlKq
gnLmQvX02o0W0xvuN/oVxzW2+smXtJtlxZwaUnZy5QIqpvYZxZFRi+aV96sM/g9DRayoCmVuZHN0
cmVhbQplbmRvYmoKMTcgMCBvYmoKPDwvVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9C
QUFBQUErUm9ib3RvLUJvbGRJdGFsaWMKL0ZsYWdzIDY4Ci9Bc2NlbnQgOTI3LjczNDM4Ci9EZXNj
ZW50IC0yNDQuMTQwNjMKL1N0ZW1WIDEzNy4yMDcwMzEKL0NhcEhlaWdodCA3MTAuOTM3NQovSXRh
bGljQW5nbGUgLTEyCi9Gb250QkJveCBbLTcxMi40MDIzNCAtMjcwLjk5NjA5IDEyMDQuNTg5ODQg
MTA1Ni4xNTIzNF0KL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvVHlwZSAv
Rm9udAovRm9udERlc2NyaXB0b3IgMTcgMCBSCi9CYXNlRm9udCAvQkFBQUFBK1JvYm90by1Cb2xk
SXRhbGljCi9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lE
U3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBw
bGVtZW50IDA+PgovVyBbMCBbNDQ4LjI0MjE5XSAxNiBbMjQxLjY5OTIyIDM4MC44NTkzOCAyODYu
NjIxMDldIDM4IFs2MjQuMDIzNDRdIDUyIFs2MzAuMzcxMDkgMCAwIDAgNjA0Ljk4MDQ3IDAgMCAw
IDYyMS4wOTM3NV0gNjkgWzUyNC45MDIzNCA1NTAuNzgxMjUgNTEwLjc0MjE5IDU1MS4yNjk1MyA1
MjkuMjk2ODggMzUyLjUzOTA2IDU1OC41OTM3NSA1NDcuODUxNTYgMjYyLjIwNzAzIDI1Ni44MzU5
NCAwIDI2Mi4yMDcwMyA4NDQuNzI2NTYgNTQ4LjMzOTg0IDU1My4yMjI2NiA1NTAuNzgxMjUgMCAz
NTguODg2NzIgNTAzLjQxNzk3IDMzMi41MTk1MyA1NDcuODUxNTYgNDk1LjExNzE5IDcxNy43NzM0
NCAwIDQ5MS42OTkyMiA0OTguNTM1MTZdXQovRFcgMD4+CmVuZG9iagoxOSAwIG9iago8PC9GaWx0
ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMjk1Pj4gc3RyZWFtCnicXVFNa8MwDL37V+jYHUqcLG47
CIEt3SCHfbB0PyC1lc6wOMZxD/n3s+W2gxls8aT3JFnKmnbfGu0h+3CT7NDDoI1yOE9nJxGOeNKG
5QUoLf0F0SvH3rIsiLtl9ji2ZphYVQFknyE6e7fA6lFNR7xj2btT6LQ5weqr6QLuztb+4IjGA2d1
DQqHkOm1t2/9iJCRbN2qENd+WQfNH+OwWISCcJ66kZPC2fYSXW9OyCoeTg3VSzg1Q6P+xcukOg7y
u3eRXWwCm/OyqCO6LwkJntAuoTKhJqEd5b1kENd8t/I5J1pekCka0pYiVXkms8nJKfg1PTkTU6R+
xBOZbWpL7JMzybcPlw5SzfjJuIzbBOXZuTA82hhNLc5LG7wt1U42quL9BfcolWAKZW5kc3RyZWFt
CmVuZG9iago1IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAv
QkFBQUFBK1JvYm90by1Cb2xkSXRhbGljCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFu
dEZvbnRzIFsxOCAwIFJdCi9Ub1VuaWNvZGUgMTkgMCBSPj4KZW5kb2JqCjIwIDAgb2JqCjw8L0xl
bmd0aDEgMTI2MjgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCA1Njc1Pj4gc3RyZWFtCnic
7Tp7fJTFtWfme+wzyW6ym10SSHazJIGQkJCQBAPyMiGQgEQSIAESEkhCAuENERAj2iI0Fqm11ltq
FRSL1sf9sqUKrVZyiw+sYJBYtNVg1SoCPkC9VmC/vWdmH9ldYrG/+7t/3N+Pb/hm5sw3c+a85pwz
G4AAQCxWIjhKi0umiCnCqwB0MI7WlVbMrLQ/JXQDRCk4YWRp5ezJ53afaAMQ6vH7xZmV2bnr6+9I
w/mbEa5fvLxhFX1P2I3wOwj/cHH7OseIDvF3AKQX4anNq5YsX3gh4QkA+TEce25Jw9pVoIU47Gfi
d+OSto3NTz/94V8B7Lje3t7SuHzD5NEZlwG0jTjntZamhsbLJ99YgP0HcH5BCw4Y0jSdCG9AeGjL
8nUbHp1gaAEwv4d7XGxbubjh4YWPxQPoc5DmLcsbNqwSPhfMOH8MznesaFjeFPtS1n7kjeFMWrVy
7TrvcmB7VbPvq9Y0rcpoL8C1EvJHhgMBivRSrxdisA/kBdgJ8XAjSAzCJxo5B5oLMsICHwHvUoZv
gAdXaNpUI4Cu82KOmq/b5sfRP+GPfIS6Yh+X/zlnYcy4r2GQln85/IV5JGvfJLP+cjHH86Zum3Yt
ztXh5r4nAz6BvaAiZfVkFDwJL0IvbIYs/GJR68FCfwkOwQkGsQgs4g4wSQpYZDtYya/BLB+CaPmU
HxPjN8mPM5pDqCX+cspAD6lYCKRjITAc9yW4SxbWBTAG6yIsBEpgBtYVUIX1HKgDQv6AvDFcgriP
PofSA2mXlIfbJfta4Tg0U75BuLz6n9KZM0vBgTttkpFNaNbsogiSh9g3sQj5cWAR/ChYa8Ga8FaE
VdjawYQjWsRQBJPgBpgC05C+OdCKXzehfiH4pQS/zMIvDdAGa7xe74cDlUjdRdCthw3waxCLp0yv
gsbFG9e0Qf2SNU3LoL6tYd0KSIDxoJk0r8QBBTfMqsJ6yqxJDhg5Y+Z0rG+cNAfrWTNnYF01qxy/
ok15ESvxt+BvfcIS/TBy3da6pAGG8Xowry1+eRD/PBJ82eoMtFrfqBbfibylqGmZPIdtBWpMgDLU
Yv+cwSFz/oDtDPI8nzODYyzj9GhgHpO8qMN+HTT7+wTXBMbZiZrl7wt4msb5+2JIX4I0hHx9GXuA
K1bCInzX4ZsFk7Fuw3M2B5pgDaxFLa6EFWgBuTASRkEeFMJYDuUgVBi21hFcG2hDv96A7yrYiDhb
YQm04FgAyyjsleLXlTjehrs60EpWwGLcz4FW04bFgZgCq9ZyqAlbRl871o04ExTjCAVGgJsY6Ah4
lowalhwfDdoRz9LiokxHLOsJwTHxnpsXFLlYT2qvLy8YwnpyarLdbGA9zeSCjCS+QluUnWKPYT1d
Qaa/p59fXpQxiPUMl47uXlOCPXAbDRrc3VFya6u92J0TTda6FRNWFSayzr2FVatMZL17ggXHFrLq
NlZlW/DDTFatZNVOVv0nq7ysSrb4VqxnK9azFevdMXZcttLOQNb7nFXJdpy8kFU7WfU6q7ysmsDm
ZSewFazKdmA1AStUuAKZ5YquorqLkLtrDhDvVqV4SJdOWFiXpZBMh6OktVgh9VkKzVRIhjNLETId
UxQhdcqsaleNo9PROa2x0zHF0dLQqIipvMUPTZ012Q4FKqtbsa6qdioTaxKD3aaamqIsRWRoRI6m
swYRLPUjWMoR4HpPliJlljsUIa2i+qZqZUtxojKxuCbR6XSUKIcqqpVDxYnOmposRQ7S6PCJnFOr
yVTkjCxF68NQWa1MTFSgprPTB7mcypbOzsRO5CAAHwqHDxCIHJgYOoASKDlAtlTwL1tczkQ24HK6
nEhhTXGWosssr6wuQRKdSKI+U0kpyVIMmYoLG2NmVzrZ7uisrD44Ec/i4gNa2F5VfRBShNOrahIV
FyJ3bD9gguAY4zIqU5m4/YAD5lV3uaA48SC4hNPFNVk+P0MO67RipHcUhFDA18hYJCkI4oDMhoKP
xB5BktCXUS12QWCQhvWuPf9njyRrfdkH3HTV0oJ50cDlobDyHrxHCrDcghkBKycjC82jj9Bj9JgA
A5ZNwrtirni3eFm6UfqzbJKn89Ii92qSNSs1vZpebZx2k/ZlnUk3SfcT3dv6Ifo518q18v+ydBus
ht8ax/rzyRzMGX35ZALPJxN4PpngzycDWSDP7pY1rVkB7Oj6cj2R54BUSEMslJrYXPokHYf5sCns
vMdyHB9EugHvWW+P9yvv17x/zLsdfDcC8P72SpfhPc/rL9iq7+dkvJ/6au/nvP2I56zfPfv8VbB9
HZg18EzvlwOP+OkeYI13H2b7+7w53he8273V3qfB5N3vPez9Ark3qV/4eA3U3+eJlK/3HK/f+s75
Pvm8w+v3fTr6dx5vL+PQ+wZy8Tusvw77thitw4L3uXS8yWXh/a0I7z5TMMudBtPRp8+CSn5DmgcL
oBZzeYq7m7HE8DugzO+AFLPrQrSHMVh0/PYXjThK8BbAsBAox0I4LgGxVaLtVWERYC4WPdRgkRD/
PLTWBViicJ9a7NdhMfD9+m+bBqRxOK7v3ymG7yQhxVOQmlIs0bjnNNx7OhYhZFfKd5WRlzm4R/9+
xpD99LiPg58jAzwHbtiCWXsb3l+qEPtE/73WgNSwO28Bl1UZYqtGXLX87hOFdSVqiN2HLDieC/NR
ViKUek/DVHyn4VuOL96IcRbF+gWY7z2OvTHeY1CEejZCqnciYrZAibcP153FdWdx3VlcdxZxn8U1
H0GN9wzMQzy1+FIo836GWM5grxpP0HzvKUyifvwdvz/8G4+QACtoJXT8O2voZLj1u75Ji1ArrB2H
MsNH3AJ3iIvgjuDa2XDf1fBLibjmLJSIX8IwDo/14fw+j1gGxeLtsFLMhMniHfhWwlTaB0PEexDf
JmihybA8SEsydMif4txboFW8E+fiOj5+FseGwBi6H/RsjWiAKOnvMFiMBasogoBt2fel59pz7bn2
XHuuPf+7R+wDi/gxDNEshyFYMCiw2CcMkxSMwzLmCUbMEipAgZJqhWYndlH7+BoOAAJgHF/jFimY
Y69zS75G42u0vFH077iNvoEo3wA1KdHv5IxyOs1OwUyImQhOkk+cwjDPOHq4QP1M/T0xfkgFVSXU
45GUi3sljedWevMlM93gqaN122kdy8dXkEt0D/0QKYwFpKqLEEU/otr5VuJXNTmjiDPfSfd4jtI8
cukTNrvD+zV5kQzH3MPlFoxRSIaPHR1yoEMOugQ5ZHnh6IK83HirRXalpHXUTimtXTC1dMHdJXPm
lBTPno33g1sR22FxAaRBLF4WNFh7hTyUlBKTnTMKswiMqNIClJ4G86FS30YibiQG5MaFaPQDMgIy
E6JOpEw8uuwu6OfFreejjCUUEy+CcMBzoVHtpkkknjrVbk8faXuWZKq9KKsKmkydPDs6J16SDsPg
wP4G3MUQ2F9AQGD7G0xKTA/WXbH9OyqCqWtQGKgM7sH9ZXA6wJw/OnZoXi7YnGlprhRZY7XE5+UW
FIrfmtWXvaCeVl/4GYl75jIZbVd7Dds6f34f3bnrrh/pyT/OqhfIRjKt5g0y8Qn1wlc7bjv5/opz
f71tK9KK+Ys4C6VlwHyvXyIBWrngmHgMoszEY8jeX2QoM9DaUCkpoqmLhoCyqUsbbg9mp9X/Cp95
DtG9l3OEY2hNE+nN6qbzkvKl+qifkgKkRIfZ7ndrza2jok9R7od0pHZ/m26zjta6p2E/kiY5koh+
EtReYb9nAxJQ6XmK7b8d98fsjXTzUzfkX5w239Eh3WovycTJaG+M7i+wGw02WOyW7IMYeZJJie+5
mvFFIRDFeDL5jM8UbnwG4JwiJ/FhnLgYJw4RT4iGWJ0ETSB/dJrLRX/1udpLhxBK7Lf/gIxV/6jC
hdWb1288T62es5Ly0Rv3vTzW81S0oF3btKSd/YULrfRhtNJ0aHbHDhsePJV6pEofoDcJgSRGopCk
Z14kRp/E3coVRmsLIdzF5ypJpq7UMMJHpw1NT8sfXcDOd7zVOZoZMdqwTcTTLrpShqblOy3O3AJh
/Qb1lfn/3PrtLx/4apva27FmxaaddxE4o75/4TH13D0kiziWbSAds+c3jbrzg/aDLauP/aBxZe30
0vqMGR/+5vmTt/xlx/m5yB9m2OKr3A9kD2DZQUWgtYbZTU/AVvKd4qvqZLVXnSo+LD5/6Qbx+S8R
K/MuoxGrDGPcoNEGpUYQHwkglxCQIs+7G4jgcyY+T0IfIGXkRlVSX1Y1ZAZpFUsvVvgsqhg1I4s3
QhLe1Db60NsQic0ScSrDwwAVbUxDBhv4Tqp7p4HUKjZTV0yIamINbNJmJTbbzgwrOYRzdEQubYi6
nGnpzAWjvgrz8n26cvp0ZzXH26yp6HnyXSkajSWevm/RtT720HHv+a0zKqdVqqfW9f7wlbMkw/Pp
xLaEtrejyfT0ovUHfvzkATK+fN6U6+t2zz/yjDpi10zzketyfv9zc8EU5Hkl8jxeBox1iWiPcYOH
MCbiTIoBT5Eum3NqRE6NlkgvGubFJSNzU249bxSjqSsu3ErtYfZooq6UdA1TNnIVa05lTGrM6FML
C8TxfS8rrVHqZeJsfOSlv6unWpZ0js6/68eZVhqnXlbf3bZWBs/b69V31X9Ke+9frc5e0zkZrWOy
95zw36i5wTDDHT8kKWgdMUhgTIB0LQJaFvZCD7ugjWGUx8Uwk1JiIs48E7YzGsllMQBQBf4QYMXj
Q0dVNFISQ9qPbj6tfkX0p//8NVXP08ZZTUua36yetuLZJpJOxLiLJOPjQ1Wt9z6atO+nKG+kVDTL
7C/kdvRatkEJbFubCe0fUJz9Io4kul8TXN6ClsubN//CJeSMihsdm5drY+eKWRVNZaGr0Iw8TP7g
xQeXkBT1UnTbb174mDiXNt1ZWLD1OE31kMx2OuwirN1Gsr75j4dXkydWI91Tke4klLAVvXS7Oz4p
mdEdb1K0fm/L6bREno0ELT8UCdn7kxOyE+hq984EUutemEBWdxn7bV4BU5cp9LCAka3SRihDSoF8
jMTcZqzOeMaITZYFDMjO/LQ02vCZ+mbHxz/r83pmRu9o21d396S+x+YsiyE/pY0WMvTLwY8QchfG
am/70i0bH1qwRNiwrs1W38ryJMz+aJ9sBQs0uTXW+KD1cJ4SQg0/wKAJAVMkt0z2RNfPFdIfFaIZ
YlJie5Q49HN5Zlc+Hm1kxKZBTViteVaX+Y979hx/btxcYejoR06eFJp7FzxzxPKe7hdzey/vYr6p
RJ0jpqD8EzH/+oF7aPowJqGhJsXol38YefxcBgA7AvYwC4pmFiTbmQWZjPYIC3LH8y+KPdxLIW9D
r7SrQqfZIjNvlV7IUqL8fGZj+VLQyOSST4+4FxuJfPuZX938ftGWtl1rtzQ+8qfzxNm+5IfXFd3e
cjNN/ZbkbGq+dObuN1YsLFc23rK6aDUZdVl3777F5OXFv0HttGA8icETY4IyN8Y3rh1Tdn8wsYQ6
/ytCPFDJl3536cN8UEGeIw5Phc/1sMziR2ufJvWSeqqi9rbr1FOYcB7uVJd4yulTtTWLLntlpoPl
aCxd0seYqUTDBLcmxsQwa0wK9MCV5AStAjP/qB4kqEsOzbZ5NhPIuFPSyG61Dw/j0bnlZdU1P60R
i4h9UlXVpMlV7P/BdOC+u2WIyJASBs6QOCL2B1DCfnuSO9BmhsAGt8hP7AC2okFAE0Z0AODZc0Cg
cQjEBYBEBBKZdInGwK9AvEFRhB5jxc5Cuo1ZuS94+aUd1y910qFbe/j4jWtOKE+qfVPn35FL1FNl
NbcUqqfEoo07Hn306DHPDOpeMHuzZxDtqqtq9ggi+y21lVkE8mWGKrcxNm5gvsJY4UwGqOdBgVMP
GkY2mrYxzDY4vbYQ6yAbdev+9ORjlFnHpusZdbfe8+oRTwndv6CyxSMhUX7PfgNSFQWDoMRtTkhk
uM0+zx7MHiJl22UOz50jfDcL+2CzWQAvIfxUFfgygsmbP9n1N2I1UfWMmql+Qpzr2lrb25ctXUfT
91zuVL/6qOxb9QTJJFS765E9Xff/+lEW6dV68XqkLwbpW+WO89EX109fWJgPc+fcnURHplWSVuAx
iDdXjfkWFvPZQbNFxHzx+g+69zbhiTPqWx9/pU89tax5e17+9tdp3EX1xBqVSn9d2qG+pV6W79/b
opYs89s1PcElXeoWo2OC+udCHZCDoG8whF2Z3DqD5EsNA26Amyt9fWzW3jwkyayduysnQxihXekZ
Jxbdfl8U230M5hpv4O6pUOtOTEsPjxaWyBNCE3mkNmgT/SEtJiRCoGuw9riTfd8SMQ/Uhaft6UPz
fS4imLPH2/w3dMzZWQQsoAdb16kdn3cf+waNc/a0ivlvlf1DPbL9xAYSKy6tqZxNRuRfb7/pm590
/9cvx980OS9n7IjEqtd/9mzD44tmzJqA3Oi95+gOqRhjX5UbQmIfP++WCG/KzIX0oL/D04XxrEsM
4SUq7PaJtqyY2Pk3s9jG44FVdjkEFvnM5MjBgyMn5aTOnqf2yA8+KBWr/93r+XDcaM3fEkgeLe0l
eibnFjxPMXi0TEhZwO9fEdw4ZQEg7JLHQzSPAFF0oAiQysMW6tzCYhWqnn6z7Pmnn6XEueveQnTF
X6y445Vu+qKn5PFmql56iVGE6hcuIUUD3kHCTC0yW3aD5L+DxPnuIOIRMlK9Vz2n3ktGkgb69qWX
uGcbjLecbuwZod4tRUUPvEOYoYXZ/MDJORj4QZV8jd7QT4lLEFzEGReXJw6+m9jUcxeOHj2vniO2
HS8dJz+iXZdeoo975opFngqqMP6t6HeZBzYEfikII4vfXwe8KgW8rxv07Gbtln2NAPzSoJMhSBD7
nYfV1PAMyVdfI5PUV7sPqUewPUoK6DfkBs9nnrdIlfokHUZj2f+bVctFwm2k2A0hNhJGWNglIODL
3BDDdo/ICpAEDdpFer4NE/9CpEN4hRSoM+wNpyZMypx1ky1F3UoKyS/onktJ1/XG/Y3kFtWI1/v+
/6LwGtKhgylwZVQN2GXYxUME6o+ZUqhDkjRcGKlOqzOf/aBnJX+g5ssdxKPGCos/+UShu888waKN
BXVRhzmrFb35Vrc2we9eFFvP1XJXMwLmsOTwipSFAfEIxA+c1UaHZ7VxPYolmNUW+LLaYFrLcpLf
7dlDv/n7tu6MRW3jX33zTbqNpSiY4ua+9u7Yz4eYf5uJOS6LoTwTF5uRq3io87ERi1TEJoTqLkBs
4EfMcGJjr/hJTBNCu6EHR5ToHp/D9xMYJFsyO4XiOWWHT55U+5Di0733k0q1T3Lo901DApHequf+
7LhoYNJHOuVPkc40yIBud9yITH8sHeaXvhXpsSaEnterXyP4Tz4BYDgCwwfUSwoCKQEgHYH0q189
rKauxHCdOXoUZ48ytEdJHeg+4rxSjazgv5BbCmlEpd75p4xFy5lS1T71ASnKr9jA3SVUwUIzVzIJ
yi4dHnTHhfz+9T3FlIxA8oCSCbvouBBwXV0yWhaBMXYpg3uYWFAmKUwmStp3iwXNxBwmlzCZkLMn
fkLmqX1zyrkdqQ+EiOOmF5j99BsUu9nB/wAy8pUeCmVuZHN0cmVhbQplbmRvYmoKMjEgMCBvYmoK
PDwvVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9DQUFBQUErUm9ib3RvLUJvbGQKL0Zs
YWdzIDQKL0FzY2VudCA5MjcuNzM0MzgKL0Rlc2NlbnQgLTI0NC4xNDA2MwovU3RlbVYgODMuOTg0
Mzc1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL0l0YWxpY0FuZ2xlIDAKL0ZvbnRCQm94IFstNzI2LjU2
MjUgLTI3MC45OTYwOSAxMTkwLjkxNzk3IDEwNTYuMTUyMzRdCi9Gb250RmlsZTIgMjAgMCBSPj4K
ZW5kb2JqCjIyIDAgb2JqCjw8L1R5cGUgL0ZvbnQKL0ZvbnREZXNjcmlwdG9yIDIxIDAgUgovQmFz
ZUZvbnQgL0NBQUFBQStSb2JvdG8tQm9sZAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9DSURUb0dJ
RE1hcCAvSWRlbnRpdHkKL0NJRFN5c3RlbUluZm8gPDwvUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJp
bmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwPj4KL1cgWzAgWzQ0My4zNTkzOF0gMTcgWzM4Ny42
OTUzMV0gMzAgWzI4Mi4yMjY1Nl0gMzcgWzY3Mi44NTE1NiAwIDY1NC4yOTY4OCAwIDU2Mi41IDU0
Ny44NTE1NiAwIDAgMjkxLjUwMzkxXSA1NCBbNjM4LjE4MzU5IDYxNC43NDYwOSA2MTguNjUyMzQg
MCA2NTMuODA4NTldIDY5IFs1MzYuMTMyODEgNTYyLjk4ODI4IDUyMS40ODQzOCA1NjMuNDc2NTYg
NTQwLjUyNzM0IDM1OC4zOTg0NCA1NzAuODAwNzggNTU5LjU3MDMxIDI2NS4xMzY3MiAwIDAgMjY1
LjEzNjcyIDg2NS43MjI2NiA1NjAuMDU4NTkgNTY1LjQyOTY5IDU2Mi45ODgyOCAwIDM2NC43NDYw
OSA1MTQuMTYwMTYgMzM3Ljg5MDYzIDU1OS41NzAzMSA1MDUuMzcxMDkgNzM0Ljg2MzI4IDUwOC43
ODkwNiA1MDEuOTUzMTMgNTA4Ljc4OTA2XV0KL0RXIDA+PgplbmRvYmoKMjMgMCBvYmoKPDwvRmls
dGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDMwMT4+IHN0cmVhbQp4nF2Rz2rDMAzG734KHbtDSeIm
6QohUNoNctgflvUBElvpDItjHPeQt59tZR3MkMBP0qdPSMmpOTdaOUje7SRadDAoLS3O080KhB6v
SrOMg1TCrRT/YuwMS7y4XWaHY6OHiVUVQPLhs7OzC2yOcurxgSVvVqJV+gqby6n13N6M+cYRtYOU
1TVIHHynl868diNCEmXbRvq8csvWa/4qPheDwCNnNI2YJM6mE2g7fUVWpf7VUD37VzPU8l++JFU/
iK/Ohuos89Vpys91pKdIu2MkXkTKM6I90Y7oTHSI5AWBijJ6rt2LX6/7aPxAZlSdF6QtyfORWvAY
zFdrcilpgiKlkpyCJwqSvKDJ93ydgDzDAsKh7tsVN2v9YuM140bDLpXG+8HNZIIqfD/oZprVCmVu
ZHN0cmVhbQplbmRvYmoKNiAwIG9iago8PC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFz
ZUZvbnQgL0NBQUFBQStSb2JvdG8tQm9sZAovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRh
bnRGb250cyBbMjIgMCBSXQovVG9Vbmljb2RlIDIzIDAgUj4+CmVuZG9iagoyNCAwIG9iago8PC9M
ZW5ndGgxIDE0MjgwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggNjY0OD4+IHN0cmVhbQp4
nO1aeXxTxfY/c7ckTdom6RJoC00augAtLV2xIBSlRUCkUpaWtUgLFAotUDYFxQ1KAQFFQFZ9D5WC
ym1EIUWlfB4g9ClWRJ76wCcuPxBZ3EHa3PzOTBKahMLz93nvn9/nwx0yM2fuvTPfs8yZc24BAgBG
rAQw9++Xm8d/zz8LwCXgaGH//CEFHWThMkBgA4C4tX/B8HsuvvhJOQA/Bu9fH1KQnFqV/s4b+Pxi
pIsnTp9QeS0toAPSXyG9cOLcKnPXHaotAOQk0sMmVU6ePu9a8S4AaR+OvTN5wuxKUEMI9hPxvm5y
+YJJ5ZfW/QwQgfN3mDqlZPr8u/L6Ijh1FT7zwZTSCSUtU088jP3N+HzmFBwIqFeNQ3o+0p2mTK+a
f3S+MQkgpBjXuF5eMXFC7SX5B4CAHMS8ePqE+ZX8FV6Dz/fA580zJkwvNQpJAjJfiGOhlRWzq5zT
oQT7hfR+5azSyr9Mun4MeUeeyQAgwCFezumEYOwDOQCrIByGgUgpvIKQc+A6gYQ0z0bAOZXO18aF
b6jKFR2AZsD1SGWgJsU9R+sD77ERzmr8/PxLjeODe/0G7dXszqEfDd1o+ykZ+uv1SMenmhT1bCQ1
uLjr6gJbYDHUwHw4ias/AKNgKRTDCEjnesE7YINn4BA+FaoUQyi3Ccy8BbRCNoQKK0EvyhAqtYMw
8goYpAYIkj5Hblx4Oejonj+IUagx9mMocfVY6Iz9JCwEUqA71mmQjnUm9MC6J/TCOhelRRDJOCBk
P3LIAS8sIatRgiBuFNNwmWhXy38Mkzg2sbdIcryI/kOG9IccSGzmJVAAJqk2cmAGso3eE7KRDzMW
3j0FbUOxJqwVYAq24aDHEQm6IaoBMBjyEVshVMLDzTxqGCAR+uL4/TAEhsJImACzmlHzzm/9i1Tv
rzlvHUMAauEVEPrl3T8MSiYumFUOxZNnlU6D4vIJVTMgAnqDqu+oXDNk3jt0GNZ5Q/uaodvgIfdj
/UDfEVgPHTIY62FDB+FdtCcnzkrcLbhbl5AEN43clpdNngAJrI5idahbDsT9HLnxo293QSm4RtX4
y2Eth5qVyDvY5qOeeBiI8ml9Jsrrmf3YDibvsmcGsxkHMjwqtDuUuID7DfU9xt0n+E6+u8+hJd3j
7vNe44JXX4Q4XM3Vl7AHqI0KeAh/VfhLQqoUJsMcKKcaQssqxXo2lOG9Gaj/VNRud7TDLLQ/SlG7
zPJ7x3u+e/FXCQtwtAyfmIJjnre6Y68/3q3A8XJ834y2MQMm4vxmtJNyLGacyfPWbEaVYkvxzMW6
BLrJuq4ydAUb0XNdic1AsN5ryE6JjdSDuivsJff17GYJxe5ervC+Hgmsxw+9Nz02nPaEcYN7dW1P
e2JmYkz7YNqTZo7NS42kPdWaeWOyrbSnfnRy/l0RtKcZlpsZx2YJmFs8KLMD7WmfLHnA9Zzuc1vN
xF60Fxiq12kk2gvqlRofZaC94Jz0zh3Yu/r8vi5UYDNqVciAOXdRWbt+tj4RZLZtPK0eo1VyBKmy
DaFVBa1W0Wo3rZy0io4gc+gbc+gbc+gbc2zBHem7tLpCq+iO+Nx4Wq2i1Ue0ctKqT0d8uIJWyWZ8
rgIrNAIZEgfJmvzCOkKeKdpHnE/LT3Wo0/DjxyXJJNFszi3rJ5PiJJlLlEkXS5LMJ5rzZD42b2ih
tchcY64ZUFJjzjNPmVAiC7GsxRulNUXJZhkKCsuwHlZokXOKIm90S4uKspNkgU4jsGlqinCCqe4J
prIJ8H1HkiwmDjLLfFx+4YOF8uJ+kXJOv6JIi8WcKzfkF8oN/SItRUVJsnQDo9klT4ZWlShLXZJk
tWuGgkI5J1KGopoaF2W1yItraiJrkAMP3eBL7yPgP5DjPYASyN1HFuezO4utlkg6YLVYLYiwqF+S
rEkcVFCYixAtCDEgUU7ITZK1iXJnbHSJdfGk2lxTUGjPwf05cZ8aqocV2iGBP19ZFClbcXJz9T49
3BijXAYmyjnV+8wwqrCuM/SLtENn/ny/oiSX7yGHNGrBz2FyHAc3XRJeost/iWqkQBKRVEue+yK9
eFHkOJFTYxd4pASVIPjPfuf6L16iqHZFI+hDb18Ww3qw/6niJOPJHnKd6+UuI1l5hDvGHeOj+WlY
jgrpwnhW9oiam8qT4tdSpvS8pKgeVH2gNqoHqTeor2gCNHM1BwP0AXOwvKmN1s7S2rXf67J0j+oO
6Rx3yp3y/7EETgq0B+UFveWOMVMwjnTFmBEsxoxgMWaEO8b0RIYs4ptWOmsG0K3riv8EFhdywgac
heMT6LP8ZX4SRsdGn/3OKOc3bsrQlktw/sDq79zUBVZvdFO/4e9XWmN73PkYuLIHSu1vc66fWP1j
67x/9nJectXOK6z9Hxb73v6Nn/7ErL95obrF885fbj16qzedz7N6C2YSz2H9krPOucq5D/TOFc5D
lHvnmxDsjHO2uyGLH2+L8n+c56i83Jo4e9P9E228800bYxdb61uudcnryc/8rAWcT7P6F0/tnIsS
DL5xlyFT3rnd/H7zHWD1Sfq1wPmIcsnrzkzvOZ1nUfOfOv8FLBv3xuM81Mas3/15BF4XgQ6YOxox
442DeEjAvDeJ5Qg03+3BMt1cyMNsgWaPD2IeUICZ5QjMhsbAWMyEOJZ50mJgxYhFj3PFYn4Tj4XD
edKwzsKiw/l6YG7dE0swztsLAnHuXMyt6OwEBmEhbA0eVynA3TsMC4/56kjcz0VYRFx3FO73MViC
cP2x2B+HRYsrRDAUYQxBGEPAIUdxuGMojkDkLAFn74xFRP5S8CmKjCCX6fgeRRbAkIUwZDqGTELO
8xi+/sjbACxqlML9iIyiFBhKnqFUoUxGIFcUn8YLn8aNjyASgemxHsP9nbAdtsJaeAYWwlR8dgRm
iHn4I3iffnlIQUyZTPoDMWMfgZn8KBiNs3G4l54CI/5oXhqIdQHaLM1Vg/GZVHzGgKv0x7H78DcA
f4PwR0fO48h5HDmPI+fpVwvcVRzWb8Fo5/tI93DKWBeyryGjndvx3kDnZexdwF4hep/R1Ar5Fbf4
/vNnTe1Z6MBlQCwXCav/k3m8L7EHRAnNUCtmwDyxD9QKK6DW+z6XBHs9feEBqJVaXPfFxTBX1Ln6
wiXYIRyAfOEI2r37UrWHu0UB7vp36wujYLqwCFYIKTBGeBLGC3fDWO596IVjxcIUWEF+gpXke+cB
IQjbn2CzioflwlR8fjWMpu8xjG8hbYbx3BbQCGVQzX8FFomHrvxVTDKOQTi2hf8ted257lx3rjvX
nev2lzADooXl0Es6yeIBPDDo2ccniDL7zq7BCCEYZtp0eoPBeJes08vQRGuJ1RpWBzbhUZ9bKHPJ
kXVcx95FjAAkwNi7yCZwgG/aRFejcjVq1tQF6H616VwjgayROX1dkO7XlO4Wi8HCGwgxEN5CMoiF
T3D04g5lKpeVeqL7luMVhXAOhyhf3y6qHIu4ec0Gbr5jHDeumhtHIz3lS5IO/8Qoph3ImuQ6QZQD
uhZaPov8tYjih+SU7iHxmVkZaWGh0pKyccJbE5Uv73ty+atrShvx7Vgumgvk3kb+jYBM1RFy4+2U
7sSSYeEClXbkPBe9nkaVq52/kbnwMUoqyiUGFXKuQs7rONHrvaz0zNRwXC4mbvVds3r2nHXXhJSc
nJRuvXvTb2RRKPYOKHEVxmbDbAFaHRVFgF4W3JIVcErBI1kmZqObkJCQqJjVAkdfUifXQStcWwAb
pah5K0kjVmz5Dx1blx3hEndwSYcdg8mVa2Sh8hQKMp+L4GqRZ4wUhGrEEoQRbzSex2wZgsuQm1Rr
AkLXNCXXBXutqQ420VHQ1+lbR2Wir4v2lmOawcLkoQqntZUgmZmht8TSJj3Oaqklpy9dqSqZu0w5
r7xP7l6ySflaaSAxj65fsUr5VpQPNUza0tViX3zoK67W8evyh4lq46Pl86ejPuY5LwqfiYdQpv1d
2LUIV+vBziPBU+Fp9XJwE9Z1Ri+QvL6uvQ8pRzWh8CTBagZDRrqxU1oqmKxxcdYYLiws1JiWmpkl
fBapnL2sKMqxNSRg93nSznSw/avr9n18xPbirihy/FwzmUUyV/ydpL+sOL57Y7PyY/PKS8r5NXtQ
61TSR1DSWozje95GzlR2Oi9YKNlAf1EKRlNYKCeoeENaqjEjI52LryWb3iOdtpFtyueHPmn88ur3
p0R5h9J4bOxxpfEVTjQ2LyehzuHXSAhHrZhiyWNYHoRWw/IgYfZHNa4VJKpbrY+VyYK+jvMiJX2d
2nfLGCxh7h//lWMZd6ZlIv+cI4mbx73kaNkiyluVRIoB41cyj/mdDrdxKOgbrIY0Mq+hAR91I4/C
roj5xK03izfelO6xFEsamcrZWlYe3IIIXPNIQ5ndF0Hrgj7z+IuDEWok1B5Ch4SOCoqAwNydqwlg
TUp3DZdmsBpCcB+GYEteIqfJ6T8ajErMc4o1BPlpHiNsx42YxZU0lwobHNscxyiPHMx1XhQ1aNMG
3JFuSwnElQJvAhSorwvzVUyUjybQRKwxnbh4ly0LxrB4PYfGrGLGbMwSNauVa/Jryu/Pcc8S7Wu7
iXb1gab9b3/Mf2Kv/4Dnak8pB3fUkruOl50g9+yqVQ58yhGehCk//D6tWTlLgh3gtmqqmgDMMIfY
AkLD3L5M5/ZlbAd6gDN7Z4bFkzYMi/fZnogfpYa2HhYqWN2OIt5Cyhq49ldIsHL1qlJLijZu375K
2cxlO3Bn/Xrs5Hdb1ix7YjOPuHYgrmNMvyaYaBPbtafriXo5/N/6WCZqClLv8rF6Xx+rZcqlsg73
s3o3WElFwtDzuvFyB5SdB8nXvxPNc0+SEccdM0j8qtqXNihfcIMdb4ryV6eqG1Md63TchbULl66m
f3KBfPRos1D7cVBig/gEXKyNLRqBRARFLOllbRPdg0FeGOMi2L6N09eFeok3Qi9HN2FdF+MDPC4u
Ix2tAx2zFT1xjBQWGi5QL01NJy4jLTQc/V56HDfi6lkScnrdD48f3PHCM9vWk2kfTlQunlun4Jb6
2183/GUdt6z/RxteO1v1wYKn1i+qKHpk0iPbK+o+nX30sadeWHhqDvKFOaiwnp16yW0wdEMFyIqP
s2nyyDbDIqxXEg8oScIk0Xj9smjcSqV1N+7jSzir0bOPfQyO7VYPYUDC4CECkAjwqDwYiWC2j/kA
uoElVxPIGlzflIWnqSkrhB6p8SpCz9ZvojoT819I+4Torw8q23YrJ00m5dhu5cUG8veG1/lrLWr5
EP/t9XwhtqKi+Z/M42DOLRxnPndaG96f4WnT43gCDBsQank5miWwDl6Bt0EYa5PcQ8ukF6RayS7h
EIZxFLtGAhd2xIqA6b807iky9mslnfzjW2WjsuEb8pmSdpZ/guvm6OaI4Xo4jnJfcifonp7uvMhf
EB6AjpAAC22mzl3Ysa+Xze69Y0JEpoi2sN6IFTgT84Ra1uA+x9d9ogaj1uTeRV5hAj2frd62aYmL
l6wxzD7TMlzGaU3PzERjNRlCTWGxeCBnWM1osHyCPuDxN1/8kJDv91TNnLikfvbhuftPCnGKduRm
6xrltSrz0CVvLa/dP3zC7JL+D64v3L9dCXq+UL9y1H1fvj/yIcrzCtx1Zol+yWoPk2zGiEgKz6iX
eeRZndzq7SP8IwufsExU8+wA0PGu8Nk/3DD5uWdrTLwKjzdDptloiKcMqgx0uwnmbxs+rNTstFeS
mrP2Z5ftzR++5+m1nOGa8smaRRI4/rZcOaU4xHeP71QSdx5H2xqDGruIGusAg2z6jtE3fIYegekj
/I4un/2lpizKer0cSmtfgFS+aUEIkkZDLrGzaEjCaCic6z1xrXq3OPfwjDNKc9Xna9/+Sb1bvaps
5aaNT84fNXZHCYknEL319+ov3ihb+vcG6/5GKuXxiPNHlHIwRKCU20VGUTG1c0lZSm4VbITfAeuD
3ybyOiZl1lAph/hKuZ03EyHpeNaZUMZWaktchok6tCwDZWP8xQPvVdh3aiqOvHPJvmGJ/GDBa9Ub
uLg/SPITXPp1qKom6ddU+5q2kp9eYPtiLKL/BaUchnIut6mZnKkAPWcKAxjhvxUi1CzViUjecyDi
owhurH9w5xU220Jcz6r9DhcxBjJcGjAawizh1ESyTBKJkVSWjLg4bvBp5eIjZx7/5ILDKrxZ81B1
2sxq5fPKDUauo7o6lFh+jnnJsUq5oDgGv3g4/57Cj/nGvz4XtHIT9Z6YAXKNUhhyVGoLDjfdsBvG
idnb1CO8nag/j1ToxMeovENWDGjlkCY0MBq7WjNwJyMjJpXLkNLCrIZzu3bV78zpE5CcMeqhc+f4
Xasq3njPsE5T9tCsVS3DUe7Fygj+Z5R7e+gES2wxsXFURjH04IObAbK96CFYMhDqJpjbctkP5dQW
bNIy56SvM3ipIIzdpP6qg69VxdxsVVlphlDqoOKzqEoyMqiBZbXaV/GFg0cqNLV/nJjzVc/iea8t
XV/R8N4P9euW7h46fOdSNDQH6bpifvNXJ34uGVnx3IaasYtJ6i97P95GLm86gbpZgXn5vyT6d7yB
tgBjCNONPrn1sPTwKCIhevZIEBJB7LDgRHeCHeDjczLTzDQYZdtYZaChde4jh8lI3k7KKkZVx9nt
/N71yiJHBvfBnMriB1oc9L9wcLASjWUKxiT0f4D1sUmBQXRuDD2I97eAm6yC08sBTXiy1UneqTGN
53maHtPsmAy3249mlffoUZ4lZJPopN69R/WiRuk8oAwiRbiiDvNS9GmmdiwUo98j4BbOGNXsnYjQ
TxVhTXJYcp1e9Ikp9ZaY+AymLwNPLdGFY5Dy3d3p5vTefUOyMjIRTqaQ3TxAOWpcq763QNhPohP7
uJARKgtBJ9G/jc7xCiXN3k4qwj+ouWGLTDVqGlfmhGXDQBgFU+FhqIGNsBPqoREC8Ex3386U8qQR
0iRprrREWie9Ir0tHZECxiIHTG2GLNfBXl9lt08kD55VRpNTn5PfFihPSdAyfh4pUXo5ahDtZoQ8
XAK/LMvspyp3loXKoPomsByjqvnsPJlvE7zOE5+ddrO7i/BjlRGhSIR6iEgkIlmkpday70SsoQ7D
++tBOxr0maiXyHTba7rHXtPpGYnJVLY4r/GboZmvzyUlkn3qosnV2vpzb99rF7Lnr3jjgWJlqaMr
11g1+5EpjlTu8MVNLReEbPDsKeTLAMNsWveeuokvH1Y8R7t/nMgCbPQKWp/dZfLfXqSntPCo1/YS
sqs3e28vhMXBaIw90hFVMERCrk0X1cH97S3EO1fxPxJ9Dj3B50sGdU/0sAA8pyX0SeA69DJdIdTo
Rf9adYYYFpx99rRypf7VFStfqV2xbAcXv02pUY4rgVubV5DUFs2eL868bzvzBY2MlGKhI0MXAZW2
ENeZHdKa4fnsRA0SGh/Zhfb2DZhsos4vRrrd6e2KkajBm9jp5x0kdfz64OGZ9lrNzGN/+8a+uXrH
sIJdT2/hDFeVE4scV8Uv5q9QvlCuC3tPPu9oXvuJW/vceuQkEPrbhKDgG9pn5tqmVd/wrVqfbx42
jVZ0RddxLnNk6Ezc+i7d3+5r38OPfjUzil+r2uQAIXvRmiC6No189uPaNKvTeGV1PgKLQiKKyoiP
0lDhaOjXVqx9Ngfvm/RH6WVLE9Z1nXzklh7XiSZ21L/55XX0wMK8jkURPDdTOffykLO7931X//hD
pbOmkrDXCs7bnzg60y4un1X2GIkeVNBrWFX+0/veW3v/jML+9/brPWLByDW7x7xcPHb6cMqXxnmR
GyHmYAQxwRbkFUGw5MbDVwgSIR7Ck1/TsIB9naUfvHgvjgJ9PijRz3KGJtlIXYKBRgvsfA1jeQGN
JgxkaWNjZl9zjwG5Cx89fFjMUa6vckzo21e3LnRdDbdtFaH/078apX8a95qefm81GH1zah9gbbpu
FkYz1x3ItXWqxrIgAJ1yKD36McjhE8o/fv0tYj96Ms8uT3vs2GGuwZH7+1Y+pPkIorGgF6pHNBL0
sIFK3bbMmOn5Zxs2EHlmeLHs824a+Yno3lUWrlTmv9vM92k+4vJyXQHET7Crg2KbyM7qNub3sXOf
HdB2agNatm1FVxOgdeNgOTGFEhKSJgxssiuH1yl/OGGdcmTfpy3PO/mezUf49JYPhOyWU3wX9j8V
gG9EbFooaAMUy4LbzCxbs+AAlllKrsY/2w2hhyLP02yXXP3xM2UrmX7q+vV/kOnK1lPcbrLc8b3j
DHlemcZZOROiCVcG8TKiCcYYC9jfPNoAxWIqH7WEUhxB1AXUaXyCedyuLhCcNT4+w4RhOj2mL7cc
UQaXnrbmpo4ri+msPNpIgvmuzdHKz3zgOuH+0hlCN2D/SwH4NxGLBvK8/rLgb48+36IEYOao0teJ
3s5JVLl0YwmzZNA/YISRbG5By8vccMcePn39+mq+/QtP0qguGlf8kEX/7eFpm9qV82I+Y2r6P2UB
7ZBod1PwR4lwJML/8/yAxiaNu3Z99G7lruhFM+eVnTnDDaivxzxhzFuNd29OnTZtHOYJKDmWz/Df
I0fhMM7FghERGM3etuxzUt0E1HjTt22V9/cJ+qVNDmpyOX4XOCuDTI9bEfd9ysL7j547Z9+1izTU
lZKudnFi6IlpiA7Bzn19393XE6jcEaWUiijjcadug1YAPjGkhzAjYfaAZuz47A8P0QWJLh6iMxKd
PbxZkbB6iHgk4ilh1tdZvDiLbcJY3l8vkW1qxHKTflBDTEfeeRxZ7VLXrHllX35pVyqFZzG18Mrs
XKqbWj6OCYepz6U/JpkEKG/DBC1IWDw8JiCRQDmx+KRmchzjxKLHE0MWbmKJZetygp4yHNGER43c
4RZMujVq8FK0xeDLoVvHLpUrld7suZTdqn3MY+F/AW1iY/kKZW5kc3RyZWFtCmVuZG9iagoyNSAw
IG9iago8PC9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL0RBQUFBQStSb2JvdG8tUmVn
dWxhcgovRmxhZ3MgNAovQXNjZW50IDkyNy43MzQzOAovRGVzY2VudCAtMjQ0LjE0MDYzCi9TdGVt
ViA1My4yMjI2NTYKL0NhcEhlaWdodCA3MTAuOTM3NQovSXRhbGljQW5nbGUgMAovRm9udEJCb3gg
Wy03MzYuODE2NDEgLTI3MC45OTYwOSAxMTQ4LjQzNzUgMTA1Ni4xNTIzNF0KL0ZvbnRGaWxlMiAy
NCAwIFI+PgplbmRvYmoKMjYgMCBvYmoKPDwvVHlwZSAvRm9udAovRm9udERlc2NyaXB0b3IgMjUg
MCBSCi9CYXNlRm9udCAvREFBQUFBK1JvYm90by1SZWd1bGFyCi9TdWJ0eXBlIC9DSURGb250VHlw
ZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRv
YmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+PgovVyBbMCBbNDQzLjM1OTM4
XSAxNiBbMTk2LjI4OTA2IDI3NS44Nzg5MSAyNjMuMTgzNTldIDM3IFs2NTIuMzQzNzUgNjIyLjU1
ODU5IDY1MC44Nzg5MSA2NTUuNzYxNzIgNTY4LjM1OTM4IDAgMCAwIDI3MS45NzI2NiAwIDAgNTM4
LjA4NTk0IDg3My4wNDY4OCAwIDY4Ny41IDYzMC44NTkzOCAwIDYxNS43MjI2NiA1OTMuMjYxNzIg
NTk2LjY3OTY5IDAgMCA4ODcuMjA3MDMgNjI2Ljk1MzEzXSA2OSBbNTQzLjk0NTMxIDU2MS4wMzUx
NiA1MjMuNDM3NSA1NjMuOTY0ODQgNTI5Ljc4NTE2IDM0Ny4xNjc5NyA1NjEuMDM1MTYgNTUwLjc4
MTI1IDI0Mi42NzU3OCAyMzguNzY5NTMgNTA2LjgzNTk0IDI0Mi42NzU3OCA4NzYuNDY0ODQgNTUx
Ljc1NzgxIDU3MC4zMTI1IDU2MS4wMzUxNiAwIDMzOC4zNzg5MSA1MTUuNjI1IDMyNi42NjAxNiA1
NTEuMjY5NTMgNDg0LjM3NSA3NTEuNDY0ODQgNDk1LjYwNTQ3IDQ3My4xNDQ1MyA0OTUuNjA1NDdd
IDQ0NCBbNTY3Ljg3MTA5IDg1My41MTU2M11dCi9EVyAwPj4KZW5kb2JqCjI3IDAgb2JqCjw8L0Zp
bHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAzMDk+PiBzdHJlYW0KeJxdUU1vgzAMvedX5LgdKkgo
7SohpEFXicM+NLYfQBPTRRohCvTAv19is05apGD5+T0HPyd1c2ysmXny5kfVwsx7Y7WHabx6BfwM
F2OZkFwbNa8ZftXQOZYEcbtMMwyN7UdWFJwn76E6zX7hd496PMM9S169Bm/shd991m3I26tz3zCA
nXnKypJr6EOn5869dAPwBGWbRoe6mZdN0PwxPhYHXGIu6G/UqGFynQLf2QuwIg2n5MUpnJKB1f/q
q+rcq6/OR7Y8Bnaabg/IXvHDL+vWVKRIExKDrEvU5pQdqIVAMCNmJggkZpYRuCXwROCOwAcMuSSw
IrAmcI/glh7KSb6jh3KS508Y9igXFepEFac6Valcp6I5oh1xbTev1dX7YDPuFv2NzhoLt/W70UVV
vD8DfJ3nCmVuZHN0cmVhbQplbmRvYmoKNyAwIG9iago8PC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9U
eXBlMAovQmFzZUZvbnQgL0RBQUFBQStSb2JvdG8tUmVndWxhcgovRW5jb2RpbmcgL0lkZW50aXR5
LUgKL0Rlc2NlbmRhbnRGb250cyBbMjYgMCBSXQovVG9Vbmljb2RlIDI3IDAgUj4+CmVuZG9iagp4
cmVmCjAgMjgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDQx
NjggMDAwMDAgbiAKMDAwMDAwMDExMyAwMDAwMCBuIAowMDAwMDE5MTE3IDAwMDAwIG4gCjAwMDAw
MjYxNzEgMDAwMDAgbiAKMDAwMDAzMzMwMyAwMDAwMCBuIAowMDAwMDQxNTIwIDAwMDAwIG4gCjAw
MDAwMDAxNTAgMDAwMDAgbiAKMDAwMDAwNDQwNiAwMDAwMCBuIAowMDAwMDA0NDYxIDAwMDAwIG4g
CjAwMDAwMDQ2MDYgMDAwMDAgbiAKMDAwMDAwNDY2OCAwMDAwMCBuIAowMDAwMDE4MTQwIDAwMDAw
IG4gCjAwMDAwMTgzNzYgMDAwMDAgbiAKMDAwMDAxODc1NyAwMDAwMCBuIAowMDAwMDE5MjU2IDAw
MDAwIG4gCjAwMDAwMjQ5NzggMDAwMDAgbiAKMDAwMDAyNTIzMyAwMDAwMCBuIAowMDAwMDI1ODA1
IDAwMDAwIG4gCjAwMDAwMjYzMjAgMDAwMDAgbiAKMDAwMDAzMjA4MiAwMDAwMCBuIAowMDAwMDMy
MzI2IDAwMDAwIG4gCjAwMDAwMzI5MzEgMDAwMDAgbiAKMDAwMDAzMzQ0NiAwMDAwMCBuIAowMDAw
MDQwMTgxIDAwMDAwIG4gCjAwMDAwNDA0MjggMDAwMDAgbiAKMDAwMDA0MTE0MCAwMDAwMCBuIAp0
cmFpbGVyCjw8L1NpemUgMjgKL1Jvb3QgMTEgMCBSCi9JbmZvIDEgMCBSPj4Kc3RhcnR4cmVmCjQx
NjY2CiUlRU9GCg==
--000000000000a17c7706033061b0--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 10:57:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 10:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.585993.917221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxAu-0007BM-W0; Fri, 18 Aug 2023 10:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 585993.917221; Fri, 18 Aug 2023 10: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 1qWxAu-0007BF-T5; Fri, 18 Aug 2023 10:57:52 +0000
Received: by outflank-mailman (input) for mailman id 585993;
 Fri, 18 Aug 2023 10:57:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWxAt-0007B5-Sx
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 10:57:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxAs-0006po-U1; Fri, 18 Aug 2023 10:57:50 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxAs-0002uo-PO; Fri, 18 Aug 2023 10:57:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vLDvZ+NnfrSNuC3q+/7uZ85AWerv5ac0X7Yk7Hmeuf0=; b=FLl6smezT+PBIBUWidNANoE5xv
	6k47sGt9deUBCLjq0+9oxHXLx+8SMvLr6+oZlmFxUaLsiC7KaTZqiEOWmzD6ZwFbL608qpPtTGMSy
	08tD1pgC7vqtPMUmXuBKXtZ/bVuyQaExXO3QX9CddHZCmxZStVJlWQyoxUzs1tGzMSCI=;
Message-ID: <c5540ee3-7f3e-4ff5-8f00-fc0c83fe645c@xen.org>
Date: Fri, 18 Aug 2023 11:57:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 11/19] tools/xenstore: use struct node_hdr in struct
 node
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-12-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-12-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> Replace some individual fields in struct node with struct node_hdr.
> 
> This allows to add a helper for calculating the accounted memory size
> of a node.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:00:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586005.917231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxD0-00086f-CS; Fri, 18 Aug 2023 11:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586005.917231; Fri, 18 Aug 2023 11:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxD0-000867-9V; Fri, 18 Aug 2023 11:00:02 +0000
Received: by outflank-mailman (input) for mailman id 586005;
 Fri, 18 Aug 2023 11:00:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWxCy-0007vE-MB
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:00: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 1qWxCy-0006tG-0x; Fri, 18 Aug 2023 11:00:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxCx-0002yD-R1; Fri, 18 Aug 2023 10:59:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yQ1KAL5oF8boTAVDVf7pFRq1qPvbWnazAOogj+XRm/g=; b=0BtIIYq3edpVhdO+lELxS7U6t5
	A+rbF0MOHMSQAUdGylBcAbhAdf5MzfNZ6TlGgBQMVDhpJPu7QxwwcVgAxKvWiq2xSKM0VYXBxLdDX
	hO0jj41zm+w49t/nPra/VxcVHFtKMmWYuTWXHu6SYmTT4HhOQTXCE1OQ4oTJKCEddw+I=;
Message-ID: <b893f08d-04e6-4194-90ef-812a782cbf19@xen.org>
Date: Fri, 18 Aug 2023 11:59:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/19]tools/xenstore: alloc new memory in
 domain_adjust_node_perms()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-13-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-13-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> In order to avoid modifying the node data in the data base in case a
> domain is gone, let domain_adjust_node_perms() allocate new memory for
> the permissions in case they need to be modified. As this should
> happen only in very rare cases, it is fine to do this even when having
> copied the node data already.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:06:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586051.917255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxIt-0002Eu-E8; Fri, 18 Aug 2023 11:06:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586051.917255; Fri, 18 Aug 2023 11:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxIt-0002En-BS; Fri, 18 Aug 2023 11:06:07 +0000
Received: by outflank-mailman (input) for mailman id 586051;
 Fri, 18 Aug 2023 11:06: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 1qWxIr-0002Eh-IW
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:06: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 1qWxIq-00071G-M3; Fri, 18 Aug 2023 11:06:04 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxIq-0003Pk-H0; Fri, 18 Aug 2023 11:06: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=lKp0ogqW5jTUcwPlCsqGmQJXR+Yeay6HmJWt+p3mHV0=; b=0wJwx7p7586VHuWZiR37pdI8Z7
	2rUjIgPmYtFZSPjegN9hQ4tcTy92z+B4TtY899F2NsjjMSqZvHvR41KE7XIWIH0sytoePSHBPlFOb
	cJMscYzvqexwR6xfJgow7ndlBlFbBshYzAtA94yAn/YruzvHWTMDUrsFADDqt9v0Z8Hw=;
Message-ID: <b4ed3b32-2b1b-43b3-bec5-83f46a7ca3b4@xen.org>
Date: Fri, 18 Aug 2023 12:06:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/19] tools/xenstore: introduce read_node_const()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-14-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-14-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> Introduce a read_node() variant returning a pointer to const struct
> node, which doesn't do a copy of the node data after retrieval from
> the data base.
> 
> Call this variant where appropriate.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:07:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586056.917264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxJj-0002hx-MH; Fri, 18 Aug 2023 11:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586056.917264; Fri, 18 Aug 2023 11:06:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxJj-0002hq-Jg; Fri, 18 Aug 2023 11:06:59 +0000
Received: by outflank-mailman (input) for mailman id 586056;
 Fri, 18 Aug 2023 11:06:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=we2c=ED=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1qWxJi-0002hX-Ft
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:06:58 +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 58c68876-3db7-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 13:06:57 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2bb97f2c99cso11697001fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 04:06:57 -0700 (PDT)
Received: from [192.168.1.129] (54-240-197-233.amazon.com. [54.240.197.233])
 by smtp.gmail.com with ESMTPSA id
 q3-20020a1ce903000000b003fba2734f1esm5974019wmc.1.2023.08.18.04.06.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 04:06:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58c68876-3db7-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692356817; x=1692961617;
        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=WZBHM3ZPHOXrt2Kg8F5DanNH251f9ZlA+yD5gXeg1jw=;
        b=GLDo5PrTMlha+bMA3Jj9Ln9iNVqxkRSEPpwDsmcwZhEpwm+LCua0NB00JMd94oT40j
         bt5WjU7MCFicwAKcr3k8d7tiUtID7+UewTzDTWMA0pnKnlodVPSYbrm3K+gMy1mq5+CF
         u1Aki8b+KdSlhrg1w+57DRA/lO9vbJjJeeeMxkfUoQoV7vpO3MXOZKpLbh8/9TQPhM3U
         RaFAz/aqKjyE93YZl5FxT2YtRngADOMMIK+mB+GkrxI4yyuQYFn8oL76bfHJp/NnQQcF
         pC9t4mLaNTtT4j6dCudAcDyYJImrwF19l2dyC+xlRyhUsPR6nSedw2JDBg8Tpj4Q8Tqe
         H5tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692356817; x=1692961617;
        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=WZBHM3ZPHOXrt2Kg8F5DanNH251f9ZlA+yD5gXeg1jw=;
        b=T6P1LRa3Q6vmacTnKZGMz9fQNmfqkGQar1Fj5ATCmi2gQ43xwmTuzJOlMSkVgrkRGp
         rvoUD9b2WZtPPDSpf+VMKEcnMEogTKfNuHPwV/FGoLTmGcYEPgHLh8rgNWvPmW1xRpIt
         OvzpGHnA/6ZNuUW9ByKwJvvGpCy+nAFkJ648f7RNwV6tgfW+Cp3kWTAGgqLZsZ1immUX
         enLLEEEz+R4GvLtftT7ZT323gTfSoEb6wmkPfYXR3G4o8x7ts46WsQxJ9ZWnnZ6WljJH
         5X1u0hhgIKDxfJ8zOdn22asaYbQSZfA1F6XCEo6DUy1qF+7cuFxhtlFyc/2nmfFR8PT/
         at8w==
X-Gm-Message-State: AOJu0YyV4hVAYA1aKfiNJECOycVHutvk82UP3Gom1gxLyfpdyhHnr5/H
	V8jL/LssU7CqyvusPhob0nk=
X-Google-Smtp-Source: AGHT+IGF2cZZNcLBwVNpBISgkNNyUKCmy3tLMvh2CfeK1p2uuHCgThyPzQvYNkaOBUzBtGrPYuhIFg==
X-Received: by 2002:a05:651c:210:b0:2bb:9894:c3dc with SMTP id y16-20020a05651c021000b002bb9894c3dcmr1542018ljn.4.1692356816485;
        Fri, 18 Aug 2023 04:06:56 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <099418aa-fdce-9d5e-bbd7-429ed815897c@xen.org>
Date: Fri, 18 Aug 2023 12:06:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 1/4] block: rename blk_io_plug_call() API to
 defer_call()
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,
 xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@citrix.com>,
 Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Julia Suvorova <jusual@redhat.com>, Stefano Garzarella
 <sgarzare@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Aarushi Mehta <mehta.aaru20@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Ilya Maximets <i.maximets@ovn.org>
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-2-stefanha@redhat.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20230817155847.3605115-2-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 17/08/2023 16:58, Stefan Hajnoczi wrote:
> Prepare to move the blk_io_plug_call() API out of the block layer so
> that other subsystems call use this deferred call mechanism. Rename it
> to defer_call() but leave the code in block/plug.c.
> 
> The next commit will move the code out of the block layer.
> 
> Suggested-by: Ilya Maximets <i.maximets@ovn.org>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/sysemu/block-backend-io.h |   6 +-
>   block/blkio.c                     |   8 +--
>   block/io_uring.c                  |   4 +-
>   block/linux-aio.c                 |   4 +-
>   block/nvme.c                      |   4 +-
>   block/plug.c                      | 109 +++++++++++++++---------------
>   hw/block/dataplane/xen-block.c    |  10 +--
>   hw/block/virtio-blk.c             |   4 +-
>   hw/scsi/virtio-scsi.c             |   6 +-
>   9 files changed, 76 insertions(+), 79 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:07:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586061.917274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxKS-0003Fi-UJ; Fri, 18 Aug 2023 11:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586061.917274; Fri, 18 Aug 2023 11: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 1qWxKS-0003Fb-Rg; Fri, 18 Aug 2023 11:07:44 +0000
Received: by outflank-mailman (input) for mailman id 586061;
 Fri, 18 Aug 2023 11:07: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 1qWxKS-0003FT-8o
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:07: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 1qWxKR-00072S-JS; Fri, 18 Aug 2023 11:07:43 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxKR-0003Pk-Es; Fri, 18 Aug 2023 11:07:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vMH90Q573Ym0I5ZAyCxYh9Zx5afbmsJTVO52Yzq3TDo=; b=sVc4tzdtjjyuY/ZUZnHUmnHah7
	rQGZs4be1hgKDLnOM3gncYqWHVmgauEcLHqJ7WeJGRe9wNHWVVdh9KhouJH6yjEZkkoQJUQwEQWBX
	iany334jqHhbr5z8iKamaPvIUmROb2MW1y0CWSPQ2ukM7H1I4EUN0lMYwaV+/nzNhsT4=;
Message-ID: <9d7bbb02-3fa5-40b0-a795-05389e9a4a77@xen.org>
Date: Fri, 18 Aug 2023 12:07:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 14/19] tools/xenstore: merge get_spec_node() into
 get_node_canonicalized()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-15-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-15-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> Add a "allow_special" parameter to get_node_canonicalized() allowing
> to merge get_spec_node() into get_node_canonicalized().
> 
> Add the same parameter to is_valid_nodename(), as this will simplify
> check_watch_path().
> 
> This is done in preparation to introducing a get_node() variant
> returning a pointer to const struct node.
> 
> Note that this will change how special node names are going to be
> validated, as now the normal restrictions for node names will be
> applied:
> 
> - they can't end with "/"
> - they can't contain "//"
> - they can't contain characters other than the ones allowed for normal
>    nodes
> - the length of the node name is restricted by the max path length
>    quota
> 
> For defined special node names this isn't any real restriction, though.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:10:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586072.917285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxNF-0004xM-Cq; Fri, 18 Aug 2023 11:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586072.917285; Fri, 18 Aug 2023 11:10: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 1qWxNF-0004xF-91; Fri, 18 Aug 2023 11:10:37 +0000
Received: by outflank-mailman (input) for mailman id 586072;
 Fri, 18 Aug 2023 11: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=JdLL=ED=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qWxNE-0004x9-0Z
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:10:36 +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 d9bcbf73-3db7-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 13:10:33 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-4fe61ae020bso1073236e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 04:10:33 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 b25-20020ac247f9000000b004fe509970dasm290767lfp.250.2023.08.18.04.10.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 18 Aug 2023 04:10:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9bcbf73-3db7-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692357033; x=1692961833;
        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=MKjoDbYoBPsF2YUN+fvRePkfzIjlIXrOBSdeZ3BwJy0=;
        b=eXBSHJhyuUU+hybltNr3vqYno0jX6S/DXLD/5ovaIHiKJYaHvgDC8LUOTf0Dtxif6v
         aserI/wHAiB2/y4BP6Ly541/62AAKKC0lWKVAg6Nxh20G+E8LC+gEaJYXB3JDIBvTNCK
         qHfkggZCGCeO+SY9c8+y8P28YXi1vPrM52geZP9tcG1ZwWBZuw9qKF3tb5nCfyA4MA8n
         v92GUhUbxoJ/9pKG5EWrOJDCqx+LnL2GXgfjCkQJCJaJCbKsGZpsZpqtY7C/nqPBgRJi
         tAXbpXoL4kYTjnDjbpbDIjp6v9VdsUR1xLHbDvF8W9DbMDGiHBghL5QbOtJTPkV1WNjS
         BLUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692357033; x=1692961833;
        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=MKjoDbYoBPsF2YUN+fvRePkfzIjlIXrOBSdeZ3BwJy0=;
        b=lVHUVOQbK/rndLxMEDQVY0hBrJuZv3jMSwv91I1xcLmdV6scv78X/R0rU3l2cKhjbX
         gSNa6fGorxGmEgOBwFRWnxmyHlVE/wS2BsLWx2g+dqOHEI9V4YjMZvYVXfcK5TRNCIDf
         j0aK/fpybceh7aw4lQqnjTbFrKepjVK2TefmmBjF6VZfWlRRS9eQG3KHrbm7jVeM1Ruf
         CWnYQ+HXGEWggvYdWlma1e4jNXV9zcDBm9zcRQMNCPgr2P0N/BjsMe0UnWBhVTPXzTyU
         RiS/li6CNOSgmQsJCBW5yRCDOQG2Lp6LWTigqTPLGbkNL3gzs63gFv2lUZJT5lyUHjAH
         F+dQ==
X-Gm-Message-State: AOJu0YxOJ4S9NhHppJkaalyb93/E9t76WBei5Bb9PKTf22COtk1OLsUl
	NSZ54OfIcFeUj/G7Slmxz95syHYtVvaCbw==
X-Google-Smtp-Source: AGHT+IG1PMTeX0w8CwVCbTZOPopyEVsdkl75lfuCoSIzuEIXfD1V1N1hEoUf03cBB4IDrZ2KJLqE2A==
X-Received: by 2002:a05:6512:230a:b0:4fe:8c01:32ac with SMTP id o10-20020a056512230a00b004fe8c0132acmr1939413lfu.41.1692357032592;
        Fri, 18 Aug 2023 04:10:32 -0700 (PDT)
Message-ID: <26416851cc4b42402231ea6c04659feab02b53a7.camel@gmail.com>
Subject: Re: [PATCH v7 0/2] xen/riscv: introduce identity mapping
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Connor Davis
 <connojdavis@gmail.com>
Date: Fri, 18 Aug 2023 14:10:31 +0300
In-Reply-To: <cover.1691507564.git.oleksii.kurochko@gmail.com>
References: <cover.1691507564.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hello Alistair and Bobby,

Could you please review this patch series when you have a moment? Your
insights would be greatly appreciated.

Thanks in advance.

~ Oleksii

On Tue, 2023-08-08 at 18:14 +0300, Oleksii Kurochko wrote:
> The patch series introduces things necessary to implement identity
> mapping:
> =C2=A0 1. Make identity mapping for the entire Xen.
> =C2=A0 2. Enable MMU.
> =C2=A0 3. Jump to the virtual address world
> =C2=A0 4. Remove identity mapping.
>=20
> Also current patch series introduces the calculation of physical
> offset before
> MMU is enabled as access to physical offset will be calculated wrong
> after
> MMU will be enabled because access to phys_off variable is PC-
> relative and
> in the case when linker address !=3D load address, it will cause MMU
> fault.
>=20
> The reason for this patch series can be found here:
> https://lore.kernel.org/xen-devel/4e336121-fc0c-b007-bf7b-430352563d55@ci=
trix.com/
>=20
> ---
> Changes in V7:
> =C2=A0- use srli instruction to be consistent with slli instruction in
> turn_on_mmu()
> ---
> Changes in V6:
> =C2=A0 - Update calc_phys_offset() after rebase.
> =C2=A0 - Refactor turn_on_mmu() and a way how an argument of turn_on_mmu(=
)
> is
> =C2=A0=C2=A0=C2=A0 calculated.
> ---
> Changes in V5:
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the algo of iden=
tity mapping removing.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- introduce IDENT_AREA_SI=
ZE.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- introduce turn_on_mmu()=
 function to enable and switch from
> 1:1 mapping.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- fix typo in PGTBL_INITI=
AL_COUNT define.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the comment abov=
e PGTBL_INITIAL_COUNT.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update prototype of cal=
c_phys_offset(). now it returns
> phys_offset.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- declare phys_offset as =
static.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- save returned value of =
calc_phys_offset to register s2.
> ---
> Changes in V4:
> =C2=A0 - drop patch=C2=A0=C2=A0[PATCH v3 1/3] xen/riscv: add SPDX tag to =
config.h as
> it was
> =C2=A0=C2=A0=C2=A0 merged to staging
> =C2=A0 - remove definition of ARRAY_SIZE and ROUNDUP as <xen/macors.h> wa=
s
> introduced where these macros are located now.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update definition of PG=
TBL_INITIAL_COUNT
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the commit messa=
ge for patch 'xen/riscv: introduce
> identity mapping'
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the comments in =
head.S
> =C2=A0 - update the algo of identity mapping removing=20
> ---
> Changes in V3:
> =C2=A0- Update the patch series message.
> =C2=A0- The following patches were merged to staging so droped from the
> patch series:
> =C2=A0=C2=A0 * xen/riscv: add .sbss section to .bss
> =C2=A0=C2=A0 * xen/riscv: introduce reset_stack() function
> =C2=A0=C2=A0 * xen/riscv: move extern of cpu0_boot_stack to header
> =C2=A0=C2=A0 * xen/riscv: add SPDX tags
> =C2=A0- move save/restore of a0/a1 registers from patch 4 to patch 2 (
> numbers are
> =C2=A0=C2=A0 from the previous patch series version )
> =C2=A0- add SPDX tag in config.h
> =C2=A0- update definition of PGTBL_INITIAL_COUNT taking into account
> identity mapping.
> =C2=A0- refactor remove_identity_mapping() function.
> =C2=A0- add explanatory comments in xen.lds.S and mm.c.
> ---
> Changes in V2:
> =C2=A0- update the patch series message.
> =C2=A0- drop patches from the previous version of the patch series:
> =C2=A0=C2=A0 * xen/riscv: add __ASSEMBLY__ guards". ( merged )
> =C2=A0=C2=A0 * xen/riscv: make sure that identity mapping isn't bigger th=
en
> page size
> =C2=A0=C2=A0=C2=A0=C2=A0 ( entire Xen is 1:1 mapped so there is no need f=
or the checks
> from the patch )
> =C2=A0- add .sbss.* and put it befor .bss* .
> =C2=A0- move out reset_stack() to .text section.
> =C2=A0- add '__ro_after_init' for phys_offset variable.
> =C2=A0- add '__init' for calc_phys_offset().
> =C2=A0- declaring variable phys_off as non static as it will be used in
> head.S.
> =C2=A0- update definition of PGTBL_INITIAL_COUNT and the comment above.
> =C2=A0- code style fixes.
> =C2=A0- remove id_addrs array becase entire Xen is mapped.
> =C2=A0- reverse condition for cycle inside remove_identity_mapping().
> =C2=A0- fix page table walk in remove_identity_mapping().
> =C2=A0- save hart_id and dtb_addr before call MMU related C functions
> =C2=A0- use phys_offset variable instead of doing calcultations to get
> phys offset
> =C2=A0=C2=A0 in head.S file. ( it can be easily done as entire Xen is 1:1
> mapped now )
> =C2=A0- declare enable_muu() as __init.
> =C2=A0- Update SPDX tags.
> =C2=A0- Add Review-By/Suggested-By for some patches.
> =C2=A0- code style fixes.
>=20
> Oleksii Kurochko (2):
> =C2=A0 xen/riscv: introduce function for physical offset calculation
> =C2=A0 xen/riscv: introduce identity mapping
>=20
> =C2=A0xen/arch/riscv/include/asm/acpi.h=C2=A0=C2=A0 |=C2=A0=C2=A0 6 ++
> =C2=A0xen/arch/riscv/include/asm/config.h |=C2=A0=C2=A0 2 +
> =C2=A0xen/arch/riscv/include/asm/mm.h=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=
=A0 7 +-
> =C2=A0xen/arch/riscv/mm.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 109 +++++++++++++++++---=
------
> --
> =C2=A0xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0 44 +++++++++++
> =C2=A0xen/arch/riscv/setup.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 14 +---
> =C2=A0xen/arch/riscv/xen.lds.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 11 +++
> =C2=A07 files changed, 136 insertions(+), 57 deletions(-)
> =C2=A0create mode 100644 xen/arch/riscv/include/asm/acpi.h
>=20



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:12:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:12:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586078.917295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxOf-0005og-Lw; Fri, 18 Aug 2023 11:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586078.917295; Fri, 18 Aug 2023 11:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxOf-0005oZ-JD; Fri, 18 Aug 2023 11:12:05 +0000
Received: by outflank-mailman (input) for mailman id 586078;
 Fri, 18 Aug 2023 11:12: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 1qWxOe-0005oR-2u
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:12: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 1qWxOd-0007HQ-BO; Fri, 18 Aug 2023 11:12:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxOd-0003lM-6b; Fri, 18 Aug 2023 11:12:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1bn0qek9fpOQPBJZj3GHWQ9BZ86eRrZEIQBaaS9oayM=; b=4fU04YF3Bu2iMY/odI1zLurfD7
	FWUfmwxxQdRR8GVZ9nxC1DOAkVLErRaNn0gMOdRI4i4dtMVNwZxJg2IEy1WMhnG/MWijlzMzyIwKE
	lh8NFKzmAEGzvZztF0HJ+Pnhfp2emvW3szfyzhdS3SZuetstO7bBvALXpYPa9KbO/o1E=;
Message-ID: <28a8d7d6-7bc9-4ccc-bb9d-a6b48da77bcb@xen.org>
Date: Fri, 18 Aug 2023 12:12:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 15/19] tools/xenstore: merge is_valid_nodename() into
 canonicalize()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-16-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-16-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> Today is_valid_nodename() is always called directly after calling
> canonicalize(), with the exception of do_unwatch(), where the call
> is missing (which is not correct, but results just in a wrong error
> reason being returned).
> 
> Merge is_valid_nodename() into canonicalize(). While at it merge
> valid_chars() into it, too.

You don't valid_chars() anymore. So the second sentence can be removed.

I can do the change while committing.

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:15:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586087.917304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxRS-0006VX-5p; Fri, 18 Aug 2023 11:14:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586087.917304; Fri, 18 Aug 2023 11: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 1qWxRS-0006VQ-2r; Fri, 18 Aug 2023 11:14:58 +0000
Received: by outflank-mailman (input) for mailman id 586087;
 Fri, 18 Aug 2023 11:14:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWxRQ-0006VK-MN
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:14:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxRQ-0007LM-2X; Fri, 18 Aug 2023 11:14:56 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxRP-0003oo-Tw; Fri, 18 Aug 2023 11:14:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=vkyk5z0RrPuXlI9VjUFgYqFqtIe3CTXpNWtpxkguEQ0=; b=HYd5R8RaVJPsPw0qrNQr5YrXAe
	pspDASf8wSf8Zi97ztF2V4Crqa1OqEiCTyY6QdJ3TcABUa0WQSPY+xitrHhvc66ywjBcZf/UDgX+Y
	CZKFZgmbAcwy3/w7KvYf5wBnXxI3h0LWCE2SeBhVGUPlLms4ak9XTgJrXIyq7aNfghuc=;
Message-ID: <9cecb6cf-de9b-4180-a5f6-68498c559d81@xen.org>
Date: Fri, 18 Aug 2023 12:14:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 16/19] tools/xenstore: rework get_node()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-17-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-17-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> Today get_node_canonicalized() is the only caller of get_node().
> 
> In order to prepare introducing a get_node() variant returning a
> pointer to const struct node, do the following restructuring:
> 
> - move the call of read_node() from get_node() into
>    get_node_canonicalized()
> 
> - rename get_node() to get_node_chk_perm()
> 
> - rename get_node_canonicalized() to get_node()
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:16:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586093.917315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxT3-00073g-GU; Fri, 18 Aug 2023 11:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586093.917315; Fri, 18 Aug 2023 11:16:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxT3-00073Z-D0; Fri, 18 Aug 2023 11:16:37 +0000
Received: by outflank-mailman (input) for mailman id 586093;
 Fri, 18 Aug 2023 11:16: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 1qWxT2-00073R-AG
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:16: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 1qWxT1-0007Mv-NA; Fri, 18 Aug 2023 11:16:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxT1-0003oo-I3; Fri, 18 Aug 2023 11:16:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=ZEgXVObrsFQAnkvs7o6yyVs9pLt8OVtLZAR5xeA4CII=; b=GrCAyEE2JeivBgoQpwFYqinVNt
	lVG1BDxzmTGkyT8s+WjFiEsBnsWk0WkyURzghTWzAJyOwv1KYdE4ksNOC4bwGIxISv30n1IU2oEjc
	53UyTZgg4DIFNUuPvGm1RNjHsJ1bCT5snz3MsK2mf2OOBs7TGWx8DajfBVIKNKhfFT5M=;
Message-ID: <c5ada339-504d-4717-9360-78e59acf549a@xen.org>
Date: Fri, 18 Aug 2023 12:16:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 17/19] tools/xenstore: introduce get_node_const()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-18-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-18-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> Add a variant of get_node() returning a const struct node pointer.
> 
> Note that all callers of this new variant don't supply a pointer where
> to store the canonical node name, while all callers needing a non-const
> node do supply this pointer. This results in an asymmetric
> simplification of the two variants.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 11:22:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 11:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586101.917324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxYi-0000Xi-V5; Fri, 18 Aug 2023 11:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586101.917324; Fri, 18 Aug 2023 11:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWxYi-0000Xb-SO; Fri, 18 Aug 2023 11:22:28 +0000
Received: by outflank-mailman (input) for mailman id 586101;
 Fri, 18 Aug 2023 11:22:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWxYh-0000XV-Pu
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 11:22: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 1qWxYh-0007TA-ES; Fri, 18 Aug 2023 11:22:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWxYh-00044W-7B; Fri, 18 Aug 2023 11:22:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=F2SDoFcsq8xbw0dm/1HSzF0ox34MOqpzpURV7JcnvvQ=; b=0WyH1njoyKuPRA4amXgrary871
	mbbs8WhmrBdCE+B+sePxYbG1yzqjBjryHhSYyTBG2PshtP9j9+/4w/JHi2YJi9xGyPqi7upMiBsyU
	bHaclOq+L8YbRGF1/H6fe/MUz9N37ZK4PLfqOedRzPCZsFUZ6rs8N3L7Hsm6c/Uf7m2Q=;
Message-ID: <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
Date: Fri, 18 Aug 2023 12:22:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-20-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:47, Juergen Gross wrote:
> In tools/xenstore there are living xenstored and xenstore clients.
> They are no longer sharing anything apart from the "xenstore" in their
> names.
> 
> Move the xenstored sources into a new directory tools/xenstored while
> dropping the "xenstored_" prefix from their names. This will make it
> clearer that xenstore clients and xenstored are independent from each
> other.

In term of naming, I would prefer if we follow what was done for the 
console. I.e:

xenstore/client: All the clients
xenstore/daemon: C Xenstored

This would avoid the one character difference between the two directories.

What do the other thinks?

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> After the large overhaul of xenstored I think such a reorg would make
> sense to go into the same Xen version. Delaying it until the next
> version would make potential backports for 4.18 harder.

+1.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:14:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:14:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586118.917335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyMg-0006nL-SR; Fri, 18 Aug 2023 12:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586118.917335; Fri, 18 Aug 2023 12:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyMg-0006nE-Oz; Fri, 18 Aug 2023 12:14:06 +0000
Received: by outflank-mailman (input) for mailman id 586118;
 Fri, 18 Aug 2023 12:14: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=aZyU=ED=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qWyMf-0006n8-2y
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:14:05 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7eb450a-3dc0-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 14:14:02 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DB0651F891;
 Fri, 18 Aug 2023 12:14:01 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 92B99138F0;
 Fri, 18 Aug 2023 12:14:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GDdMIYlg32SKfAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 18 Aug 2023 12:14: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: b7eb450a-3dc0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692360841; 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=FPLroij2Ls7B41Ho+t7bL6a1trqG0brLPM9DRleB2vE=;
	b=GxFFDdEW7Z7jiZ1V8kxMQsyyvqTlaop3i5ahIu73iQjWPvP4uszIITSrpTtknqJgUTRamn
	Nv0atVjUNV0RNksVaL8ZeQ7Ky/MDhq+dvPEI+0a8eyXYLQUgHR+d9kJc9wR1lJtIjOJhUP
	atzvGzrAZkax52Bs4aX3EoejTDmt8M4=
Message-ID: <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
Date: Fri, 18 Aug 2023 14:14:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
Content-Language: en-US
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
 <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
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: <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EzZmFZWt2O6Q0S6OofppjAO3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EzZmFZWt2O6Q0S6OofppjAO3
Content-Type: multipart/mixed; boundary="------------ujprtDg40eS1Wf9AQ0BKAtPi";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
 <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
In-Reply-To: <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>

--------------ujprtDg40eS1Wf9AQ0BKAtPi
Content-Type: multipart/mixed; boundary="------------syCmj3meBJOM2oxRhH3aiv8d"

--------------syCmj3meBJOM2oxRhH3aiv8d
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDguMjMgMTM6MjIsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE0LzA4LzIwMjMgMDg6NDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJ
biB0b29scy94ZW5zdG9yZSB0aGVyZSBhcmUgbGl2aW5nIHhlbnN0b3JlZCBhbmQgeGVuc3Rv
cmUgY2xpZW50cy4NCj4+IFRoZXkgYXJlIG5vIGxvbmdlciBzaGFyaW5nIGFueXRoaW5nIGFw
YXJ0IGZyb20gdGhlICJ4ZW5zdG9yZSIgaW4gdGhlaXINCj4+IG5hbWVzLg0KPj4NCj4+IE1v
dmUgdGhlIHhlbnN0b3JlZCBzb3VyY2VzIGludG8gYSBuZXcgZGlyZWN0b3J5IHRvb2xzL3hl
bnN0b3JlZCB3aGlsZQ0KPj4gZHJvcHBpbmcgdGhlICJ4ZW5zdG9yZWRfIiBwcmVmaXggZnJv
bSB0aGVpciBuYW1lcy4gVGhpcyB3aWxsIG1ha2UgaXQNCj4+IGNsZWFyZXIgdGhhdCB4ZW5z
dG9yZSBjbGllbnRzIGFuZCB4ZW5zdG9yZWQgYXJlIGluZGVwZW5kZW50IGZyb20gZWFjaA0K
Pj4gb3RoZXIuDQo+IA0KPiBJbiB0ZXJtIG9mIG5hbWluZywgSSB3b3VsZCBwcmVmZXIgaWYg
d2UgZm9sbG93IHdoYXQgd2FzIGRvbmUgZm9yIHRoZSBjb25zb2xlLiBJLmU6DQo+IA0KPiB4
ZW5zdG9yZS9jbGllbnQ6IEFsbCB0aGUgY2xpZW50cw0KPiB4ZW5zdG9yZS9kYWVtb246IEMg
WGVuc3RvcmVkDQo+IA0KPiBUaGlzIHdvdWxkIGF2b2lkIHRoZSBvbmUgY2hhcmFjdGVyIGRp
ZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIGRpcmVjdG9yaWVzLg0KDQpZZXMsIHRoYXQgd291
bGQgYmUgdGhlIGFsdGVybmF0aXZlIChhcGFydCBmcm9tIHJlbmFtaW5nIHRoZSB4ZW5zdG9y
ZSBkaXJlY3RvcnkNCnRvIHNvbWV0aGluZyBkaWZmZXJlbnQsIGUuZy4geHMtY2xpZW50cyku
DQoNClRoZSByZWFzb24gSSB3YXMgbGVhbmluZyB0b3dhcmRzIG15IHNvbHV0aW9uIHdhcyB0
aGF0IHRoZSBjbGllbnRzIGFyZSBtZWFudCB0bw0KYmUgdXNlZCB3aXRoIGFueSB4ZW5zdG9y
ZWQgaW1wbGVtZW50YXRpb24uIFRoaXMgd291bGRuJ3QgYmUgcmVmbGVjdGVkIGJ5IHVzaW5n
DQphIGNvbW1vbiB0b29scy94ZW5zdG9yZSBwYXJlbnQgZGlyZWN0b3J5IGZvciB0aGUgY2xp
ZW50cyBhbmQgQyB4ZW5zdG9yZWQuDQoNCkluIHRoZSBlbmQgSSBjb3VsZCBsaXZlIHdpdGgg
eW91ciBwcm9wb3NhbCwgdG9vLg0KDQo+IA0KPiBXaGF0IGRvIHRoZSBvdGhlciB0aGlua3M/
DQo+IA0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl
LmNvbT4NCj4+IC0tLQ0KPj4gQWZ0ZXIgdGhlIGxhcmdlIG92ZXJoYXVsIG9mIHhlbnN0b3Jl
ZCBJIHRoaW5rIHN1Y2ggYSByZW9yZyB3b3VsZCBtYWtlDQo+PiBzZW5zZSB0byBnbyBpbnRv
IHRoZSBzYW1lIFhlbiB2ZXJzaW9uLiBEZWxheWluZyBpdCB1bnRpbCB0aGUgbmV4dA0KPj4g
dmVyc2lvbiB3b3VsZCBtYWtlIHBvdGVudGlhbCBiYWNrcG9ydHMgZm9yIDQuMTggaGFyZGVy
Lg0KPiANCj4gKzEuDQoNClRoYW5rcywNCg0KDQpKdWVyZ2VuDQo=
--------------syCmj3meBJOM2oxRhH3aiv8d
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------syCmj3meBJOM2oxRhH3aiv8d--

--------------ujprtDg40eS1Wf9AQ0BKAtPi--

--------------EzZmFZWt2O6Q0S6OofppjAO3
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/Ey8FAmTfYIkFAwAAAAAACgkQsN6d1ii/Ey93
qwf/RQsgvu3Lf55lw6Cm9h1zexiRbWGuL4iJTBbPJpEdRrZNdQvOl9sfSUnGAXF5RkfnE3aIVOC8
b0J14eBg7t8yxT1O/0+rZaxH8GR6lAW6lcLpRUqDSXg1bDk3u0025zbaox52UnvR+nFOdIEqZTc/
j9tlHr66GNLFTUG822rGLDqhiMBy/4WhAKHF+sF90ZxytX6CEyPSpbuh3WJLqpa+o540so+6PbpB
6J2f3AD9YWLSbHLh5/7F69bihsFXioNJnkUl0muIWPUTNOTy5xNeqbBt4y9mluq/fBGhvc5RyQ/J
dym+0g+QNg3K1SD2x4I+h0YoMjf0jqUxSScIJMLuVg==
=Xtxf
-----END PGP SIGNATURE-----

--------------EzZmFZWt2O6Q0S6OofppjAO3--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:20:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:20:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586125.917345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyT4-0008JK-IF; Fri, 18 Aug 2023 12:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586125.917345; Fri, 18 Aug 2023 12: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 1qWyT4-0008JD-De; Fri, 18 Aug 2023 12:20:42 +0000
Received: by outflank-mailman (input) for mailman id 586125;
 Fri, 18 Aug 2023 12:20:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zOlM=ED=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qWyT2-0008Iy-C9
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:20:40 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a40b8139-3dc1-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 14:20:38 +0200 (CEST)
Received: from AS9PR04CA0157.eurprd04.prod.outlook.com (2603:10a6:20b:530::29)
 by DBBPR08MB6314.eurprd08.prod.outlook.com (2603:10a6:10:20f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 12:20:08 +0000
Received: from AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:530:cafe::aa) by AS9PR04CA0157.outlook.office365.com
 (2603:10a6:20b:530::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Fri, 18 Aug 2023 12:20:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT040.mail.protection.outlook.com (100.127.140.128) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Fri, 18 Aug 2023 12:20:07 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Fri, 18 Aug 2023 12:20:07 +0000
Received: from 256f67657f78.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B2D1E28C-C045-4DFD-A8D8-3FC885A786F2.1; 
 Fri, 18 Aug 2023 12:20:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 256f67657f78.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 18 Aug 2023 12:19:59 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8063.eurprd08.prod.outlook.com (2603:10a6:20b:54c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Fri, 18 Aug
 2023 12:19:55 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 12:19:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a40b8139-3dc1-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4LZjECXhKNsOy0S9NvWTXTg1mvzwOCPY8veV0fZDt5Q=;
 b=9GF5vRpEsNbYtMGcO6zwA1lyTialThglxSxYjJ084wLxQ1K7VjF87lGS8O94eAL58PG5RFNDfWSYxQNL/8Njo6xg/KUR+VWSmE8YEn+y7vb0GfTR3YkFddKTm9X+MpNdzvDFCJ2VPDyCw0mOAC/lQNSdykYgL//mxLIgiZaDoMQ=
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: 48217cfe12873413
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UmBQ72ZmoMT9UmXSkKbZ+GXGMB3ZNem2fhkNr+J+cDdXS1w8O2AkXsrXdngB5rrYuXUQK58M1CQI2OJhhjLqcVFOTjBiwHY06CeGn72JBA6GwkK/0uJC2LY/KkiR2av2ZB0VUvEQ6WRHCs3plooBxt2DHGpqXsrI6n62AgUvogTNvzoydUGi7Ii6ASAd4ZUrrXkvuThX/e6yDUZ2LGfsBpn9anS+urMFd8Hrtl158t6YXeUFsMCswNvoVKgvIxlND2Y3GJMyLlJ2MiaGe9VhuGJiLxy1kAMORs5O8VB4ZUCPEg2Arz1V9i4YfYBCTAx8o24Yfe1BpkmfLIEae5k8rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4LZjECXhKNsOy0S9NvWTXTg1mvzwOCPY8veV0fZDt5Q=;
 b=j60Q94kr+AWaTr8N8TiY4IuL7x4xZwh72RlzUejgvbbBPhcPzVj5zSVTuSKfVwuqioN0GTyLd8IEPc72d9uI2uatDSQhSWdZmSaaL+3cULoxZnMnzg+R+eJp0lLLXizztdSu6ZVf3kbIjhMNimQ8tmPig+4f0pxcG1qsBGCL+glKikAN2a35uDqL1vKj+s1TmTfUZR6IYTHvi+83p1T3d4+a0Y0WMsto0Ku656UwkA+7vCShMQg6towTcUgv5yG/G5/pWEt6y2GydhlBuk6Trucn7N1ebDAsipQIiz6hGoEFHc+7YslwCSJZqOWwUR8qc+oDFt+yHCFSMeIvLqfaSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=4LZjECXhKNsOy0S9NvWTXTg1mvzwOCPY8veV0fZDt5Q=;
 b=9GF5vRpEsNbYtMGcO6zwA1lyTialThglxSxYjJ084wLxQ1K7VjF87lGS8O94eAL58PG5RFNDfWSYxQNL/8Njo6xg/KUR+VWSmE8YEn+y7vb0GfTR3YkFddKTm9X+MpNdzvDFCJ2VPDyCw0mOAC/lQNSdykYgL//mxLIgiZaDoMQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Kelly Choi <kelly.choi@cloud.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>,
	"xen-announce@lists.xenproject.org" <xen-announce@lists.xenproject.org>,
	"xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: Community Manager update - August 2023
Thread-Topic: Community Manager update - August 2023
Thread-Index: AQHZ0cK5uVc1GS5JxE2kHwAhzo6K06/v+QUA
Date: Fri, 18 Aug 2023 12:19:54 +0000
Message-ID: <E21FCD8C-DD32-43DA-885E-EA0782EA9FAA@arm.com>
References:
 <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
In-Reply-To:
 <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB8063:EE_|AM7EUR03FT040:EE_|DBBPR08MB6314:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e10830d-bdb9-4278-c1bf-08db9fe575d5
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:
 +As1NMwIOlNzTJhZAF/lMJO92FV3B0AmN801TZFoF3J6YlkZPcHzZ137nw1Q4lpzmx+H7RT1yolKeL7GOvehEHre0MMSzsUIfheaYv4gRThuMWrT2jr4wUgnbzeSA+Tp24VVd44TwHkNUDah31qUlC4ajpAfUFFzhBQdwiZdEPRYIQmTx6K7RMLF0jxZyhfL1n/hlOFOLKd8W753hQJ3pgh+oPxAaJXobL6vMW6tMe7PvylgaLt7zNlHAD6CxbVoZj7qOag50NAbFr7vapmz3NbTIEKlingIMCyDOTW6u5zLPbSpL5wFokMBXVIWkA1La6wIANeGJkTaIhqfio1oESZ6JSXmP2MXyLxK5GucJpzX3HQP9LZtJdnK4C8kKEdfBI4BgtL5iEGf0AU7PtFYXzBBY4B74mqliBM2jE7pnxgqjZy7BwCNY7l7Ra2vI+czE3EbrM6K8wtdKZ6/MOeQgrNgV5uttbuwufzS3eU8+1vLQ9m8odyyjjusph9uGPW4bIfgz2DOnx3+8/zVkEr42cXbiaMv4RzLcc86prbRv8XgDp3w8IPijCJb+pKPpXu1N8ZdIPdy2vjaiXgR/0I2G6KZeFjQHsiJnqmyekuy/8k=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(396003)(366004)(346002)(376002)(186009)(1800799009)(451199024)(8936002)(122000001)(99936003)(71200400001)(478600001)(86362001)(41300700001)(4326008)(8676002)(38100700002)(38070700005)(64756008)(66446008)(66556008)(5660300002)(316002)(66946007)(54906003)(66476007)(6916009)(91956017)(2906002)(36756003)(33656002)(2616005)(6506007)(83380400001)(6512007)(15650500001)(76116006)(6486002)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: multipart/mixed;
	boundary="_004_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8063
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:
 AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7f7a65d7-6097-4272-ef3e-08db9fe56de6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yHua/qsVOpp+zwGiaMmhVQBpuD16gtKN6wZfHzlmg1kyl08Kzy+Ol4kBQiqyZK2PIPLhANkESgfP13qChMZAK3RuNupIbrVvAld01DkKt0KNIR23MyCe9J8nZJGCfsoZX6cFKwD4cII6g6T55lm4IJ428VLNtytLRyL6C0I8gkSs80Z67j7vfOscS1fM45QDjdhjQL2IlKseASgq4SCu29VdPBuEQ3fPoFB39STMLE9DEmXU4Kzqfyxl8e5qFqvvNX0aETY+GjQ5YPMlWMZ6GjTfEuEvgUfHQkfQ9afKGK3r0bHy8rGrbW1iodiZM8xUMU6PT6paeef2Pho8i8a4oAL8+ivAZ+0unxTbYD4OEt9b0FQ6aJZcFTYFkIuyEtEKl/iRtSGjfqTZ6yoLwKcW376UoOLgrWOB6g2e/G/wlZ9SZ79FIrI1y4xAxVp+Cnd7dALH0HFC9WF4OgGMLqA2jnNsVhaKyLLp12udl12zAT+acSP2Qc5zEvYxa5AiAViN1Q+NiRo0VPEeuZTWsein2+kBrpfB1frdHo4mmlRJbjxVSVlmhFap9ZEzYfsnmR+eR9JV6l7RlIsDLwrtCNx3DvYsgIZsSG7ULSGzmlfJ+c+op3qVqP/tnnrR1iOMpnc75oX8ekXK3AZzwj8HkiYE0Fzbiq+YldIgMSTr9WG2R/w1qlKhafDleGbosXKyuzFc
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(136003)(39860400002)(376002)(396003)(186009)(1800799009)(82310400011)(451199024)(36840700001)(46966006)(40470700004)(6486002)(6506007)(6512007)(33964004)(53546011)(40460700003)(45080400002)(86362001)(336012)(107886003)(26005)(40480700001)(83380400001)(36756003)(36860700001)(47076005)(21480400003)(81166007)(99936003)(82740400003)(356005)(2616005)(33656002)(2906002)(54906003)(316002)(15650500001)(41300700001)(70206006)(70586007)(5660300002)(28085005)(235185007)(450100002)(8676002)(6862004)(4326008)(8936002)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 12:20:07.5077
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e10830d-bdb9-4278-c1bf-08db9fe575d5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6314

--_004_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_
Content-Type: multipart/alternative;
	boundary="_000_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_"

--_000_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgS2VsbHksDQoNCj4gT24gMTggQXVnIDIwMjMsIGF0IDEyOjU1LCBLZWxseSBDaG9pIDxrZWxs
eS5jaG9pQGNsb3VkLmNvbT4gd3JvdGU6DQo+DQo+IEhpIGV2ZXJ5b25lISA6KQ0KPg0KPiBJIGhv
cGUgeW91J3JlIGFsbCB3ZWxsLg0KPg0KPiBJZiB3ZSBoYXZlbid0IG1ldCBiZWZvcmUsIEknZCBs
aWtlIHRvIGludHJvZHVjZSBteXNlbGYuIEknbSBLZWxseSwgdGhlIENvbW11bml0eSBNYW5hZ2Vy
IGZvciBUaGUgWGVuIFByb2plY3QuIE15IHJvbGUgaXMgdG8gc3VwcG9ydCBldmVyeW9uZSBhbmQg
bWFrZSBzdXJlIHRoZSBwcm9qZWN0IGlzIGhlYWx0aHkgYW5kIHRocml2aW5nLg0KPg0KPiBUaGUg
bGF0ZXN0IHVwZGF0ZSBiZWxvdyByZXF1aXJlcyB5b3VyIGF0dGVudGlvbjoNCj4NCj4gICAgIOKA
oiBXZSB3aWxsIGJlIG1vdmluZyBJUkMgY2hhbm5lbHMgZnVsbHkgdG8gTWF0cml4IGluIFNlcHRl
bWJlciAyMDIzLiBPbmNlIHRoZSBjaGFubmVscyBoYXZlIGJlZW4gY3JlYXRlZCwgZnVydGhlciBp
bmZvcm1hdGlvbiB3aWxsIGJlIHNoYXJlZC4NCj4gICAgIOKAoiBOZXcgTWlzc2lvbiBTdGF0ZW1l
bnQsIGdvYWxzLCBhbmQgcHVycG9zZSBpcyBhdHRhY2hlZCB0byB0aGlzIGVtYWlsIGFuZCB3aWxs
IGJlIHNoYXJlZCBwdWJsaWNseS4NCj4gU2hvdWxkIGFueW9uZSBoYXZlIGFueSBjb25jZXJucyBv
ciBmZWVkYmFjaywgcGxlYXNlIGxldCBtZSBrbm93DQoNCkluIGVtYmVkZGVkIGFuZCBhdXRvbW90
aXZlIGluIHBhcnRpY3VsYXIgb25lIGtleXdvcmQgdGhhdCB3b3VsZCBiZSBpbnRlcmVzdGluZyB0
byBoYXZlIGlzICJTYWZldHkiLg0KDQpXZSBjb3VsZCBhZGQgaXQgaW4gdGhlIG1pc3Npb24gc3Rh
dGVtZW50IGFuZCBpbiB0aGUgZW1iZWRkZWQgdGVjaG5vbG9neSBnb2FsczoNCi0gVGhlIHByb2pl
Y3QgYWltcyB0byBlbmFibGUgaW5ub3ZhdGlvbiwgc2NhbGFiaWxpdHksIHNhZmV0eSBhbmQgc2Vj
dXJpdHkgaW4gdmlydHVhbGl6YXRpb24gc29sdXRpb25zLg0KLSBUcmFuc2Zvcm0gZW1iZWRkZWQg
YW5kIGF1dG9tb3RpdmUgc2VjdG9ycyB3aXRoIG1hdHVyZSwgc2FmZSBhbmQgc2VjdXJlIHNvbHV0
aW9ucy4NCg0KV2hhdCBkbyBvdGhlciB0aGluayA/DQoNClJlZ2FyZHMNCkJlcnRyYW5kDQoNCg0K
Pg0KPiBNYW55IHRoYW5rcywNCj4gS2VsbHkgQ2hvaQ0KPg0KPiBPcGVuIFNvdXJjZSBDb21tdW5p
dHkgTWFuYWdlciwgWGVuU2VydmVyDQo+IENsb3VkIFNvZnR3YXJlIEdyb3VwDQoNCg==

--_000_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <B10EC3E9F1F2F040BBC06238311B228A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0i
Qm9keUZyYWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7
Ij4NCjxkaXYgY2xhc3M9IlBsYWluVGV4dCI+SGkgS2VsbHksPGJyPg0KPGJyPg0KJmd0OyBPbiAx
OCBBdWcgMjAyMywgYXQgMTI6NTUsIEtlbGx5IENob2kgJmx0O2tlbGx5LmNob2lAY2xvdWQuY29t
Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7IDxicj4NCiZndDsgSGkgZXZlcnlvbmUhIDopIDxicj4NCiZn
dDsgPGJyPg0KJmd0OyBJIGhvcGUgeW91J3JlIGFsbCB3ZWxsLiA8YnI+DQomZ3Q7IDxicj4NCiZn
dDsgSWYgd2UgaGF2ZW4ndCBtZXQgYmVmb3JlLCBJJ2QgbGlrZSB0byBpbnRyb2R1Y2UgbXlzZWxm
LiBJJ20gS2VsbHksIHRoZSBDb21tdW5pdHkgTWFuYWdlciBmb3IgVGhlIFhlbiBQcm9qZWN0LiBN
eSByb2xlIGlzIHRvIHN1cHBvcnQgZXZlcnlvbmUgYW5kIG1ha2Ugc3VyZSB0aGUgcHJvamVjdCBp
cyBoZWFsdGh5IGFuZCB0aHJpdmluZy4NCjxicj4NCiZndDsgPGJyPg0KJmd0OyBUaGUgbGF0ZXN0
IHVwZGF0ZSBiZWxvdyByZXF1aXJlcyB5b3VyIGF0dGVudGlvbjo8YnI+DQomZ3Q7IDxicj4NCiZn
dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg4oCiIFdlIHdpbGwgYmUgbW92aW5nIElSQyBjaGFu
bmVscyBmdWxseSB0byBNYXRyaXggaW4gU2VwdGVtYmVyIDIwMjMuIE9uY2UgdGhlIGNoYW5uZWxz
IGhhdmUgYmVlbiBjcmVhdGVkLCBmdXJ0aGVyIGluZm9ybWF0aW9uIHdpbGwgYmUgc2hhcmVkLg0K
PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyDigKIgTmV3IE1pc3Npb24gU3RhdGVt
ZW50LCBnb2FscywgYW5kIHB1cnBvc2UgaXMgYXR0YWNoZWQgdG8gdGhpcyBlbWFpbCBhbmQgd2ls
bCBiZSBzaGFyZWQgcHVibGljbHkuPGJyPg0KJmd0OyBTaG91bGQgYW55b25lIGhhdmUgYW55IGNv
bmNlcm5zIG9yIGZlZWRiYWNrLCBwbGVhc2UgbGV0IG1lIGtub3c8YnI+DQo8YnI+DQpJbiBlbWJl
ZGRlZCBhbmQgYXV0b21vdGl2ZSBpbiBwYXJ0aWN1bGFyIG9uZSBrZXl3b3JkIHRoYXQgd291bGQg
YmUgaW50ZXJlc3RpbmcgdG8gaGF2ZSBpcyAmcXVvdDtTYWZldHkmcXVvdDsuPGJyPg0KPGJyPg0K
V2UgY291bGQgYWRkIGl0IGluIHRoZSBtaXNzaW9uIHN0YXRlbWVudCBhbmQgaW4gdGhlIGVtYmVk
ZGVkIHRlY2hub2xvZ3kgZ29hbHM6PGJyPg0KLSBUaGUgcHJvamVjdCBhaW1zIHRvIGVuYWJsZSBp
bm5vdmF0aW9uLCBzY2FsYWJpbGl0eSwgc2FmZXR5IGFuZCBzZWN1cml0eSBpbiB2aXJ0dWFsaXph
dGlvbiBzb2x1dGlvbnMuPGJyPg0KLSBUcmFuc2Zvcm0gZW1iZWRkZWQgYW5kIGF1dG9tb3RpdmUg
c2VjdG9ycyB3aXRoIG1hdHVyZSwgc2FmZSBhbmQgc2VjdXJlIHNvbHV0aW9ucy48YnI+DQo8YnI+
DQpXaGF0IGRvIG90aGVyIHRoaW5rID88YnI+DQo8YnI+DQpSZWdhcmRzPGJyPg0KQmVydHJhbmQ8
YnI+DQo8YnI+DQo8YnI+DQomZ3Q7IDxicj4NCiZndDsgTWFueSB0aGFua3MsPGJyPg0KJmd0OyBL
ZWxseSBDaG9pPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IE9wZW4gU291cmNlIENvbW11bml0eSBNYW5h
Z2VyLCBYZW5TZXJ2ZXI8YnI+DQomZ3Q7IENsb3VkIFNvZnR3YXJlIEdyb3VwPGJyPg0KPC9kaXY+
DQo8L3NwYW4+PC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iQm9keUZyYWdtZW50Ij48Zm9udCBz
aXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Ij4NCjxkaXYgY2xhc3M9IlBsYWlu
VGV4dCI+PGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9mb250PjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1s
Pg0K

--_000_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_--

--_004_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_
Content-Type: application/pdf; name="New mission statement_.pdf"
Content-Description: New mission statement_.pdf
Content-Disposition: attachment; filename="New mission statement_.pdf";
	size=42304; creation-date="Fri, 18 Aug 2023 12:19:54 GMT";
	modification-date="Fri, 18 Aug 2023 12:19:54 GMT"
Content-ID: <4cb66dc7-b5bb-4ff7-87bc-663e840fc5ce@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64

JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoTmV3IG1pc3Npb24gc3RhdGVtZW50OikK
L1Byb2R1Y2VyIChTa2lhL1BERiBtMTE3IEdvb2dsZSBEb2NzIFJlbmRlcmVyKT4+CmVuZG9iagoz
IDAgb2JqCjw8L2NhIDEKL0JNIC9Ob3JtYWw+PgplbmRvYmoKOCAwIG9iago8PC9GaWx0ZXIgL0Zs
YXRlRGVjb2RlCi9MZW5ndGggMzk0Nz4+IHN0cmVhbQp4nL1d224ktxF911fMY/IQmizegcUCGmnt
pzwk0Q8YttdIYAeJ4wD5/BSv3U32dNWMZgTbkXZWIrvJ4qlz6sKok8R//qTwf3yE0w+/Pv37SXib
P21f8UN1Sv/89btT+ea3n5+++U6ffv7PU/r7oNxJSetOv/309PXpL8MIHtK/OIYwp/IvDtO/X0Y6
vz198605gTy9fX1Sy2MJZw1EF8Lp7den9FkQOJlx8fT24+mTlFpJaYKU9vnz6e0fT1/eLoxkrLDO
GenIEa3EEV/wqyv/5e8B/1PHMygcKConFWOKNLTHoU39Guq06asqn6nXNt3OkuJoAkyw2qallfmv
cF3LN8Oi2hM+0eZBrfAq4EBC26jxa31II4LJfywLG8qrm7h57Wk044T1QQExXHot81peLb9y+l6n
lT0eXkknVNo3TYyPY5lnYiwwAvfHkmMxX11ZhftKj6df8jhReJ0/lfVzExnvH0BI0MYQUyRLcnko
3F40tbCaJ6/NlzKfSesfjucE7UQe+3DKspvESBaE0xAUteB5GCtkKD+1PDkxvpfC0htg7AYkwOYl
1WHZCVvOeFodate11qIc7uN3eq5LVHclCFi9V3qYWOeV9Qe/1D8H/ulAlBEhMNZ32fwOZ7pMnY3j
jF9fj6eyCg1Rk+c8L7Xvrw3tl9a2WDCAmM6BiI5EKWOJYbwV9EPbc1lyE9bbv4e7KiK2y+DjLbgr
RcybRcGPq6fBygKsk5WeaSu1aOMqWk1ZBgM2vRYGt4waKu+6rg5MVXSrr4L+T6HPWR246gLKASAg
0EmBO5PcJ2l6eXkIeFMRx1M+enpprGkojQ65Oub8+fJuHgQ4tFa7fTdieyAgiDjcH+KVwrKm+WS9
1sObCAKBDRqx16hMR46mAEeffe2NAIkmQKzYygnhLwzermJ5GL1gA0oTlvczZwL3jBHo9CJlkgQ6
GOuENt4RS5TfS1eYWHbe6Ox71jv/XE2DsGgLrK3hGrTFnea8RjnnXgTYYnJ5p8rL1h5IUnCocRus
BtA3wCESR2MiKOpUJ3/1ujqKZfE1sqm4ZTnN4bYzWn8Q0Utl/th+UFF4A14Ynw71vWiiFpEzHnF8
riRx0iPoIvdi+OvXJjuIIVFEAQBpZzezOaezTiKAuQFyfnQ3mukFBMMxlCMxv+Mr9KfV6Cy8syv7
Wc6R3PLsmb3RxqajxXHQ0RNr6qtfaYSxvns/pq+VVBYkT7SYbe8G0Z1pKSw0kgkUeG/UbLkC0PAW
B+TQCJtQjLObR/hlAlIba9Gir8cvgMDi3h+hAzRKGkOz5Q6Nsq75YKxbWrG3YB6t3nr0u4+L6MBz
tbME+N8WwzgMhoBKMtwZRizEjQsnCVm93TxABl8e/Z0bOD0Hoq/wSkZNnBpIu1bCCcqhnNjGE+qR
ytsrV0BZP1dfNg/h51iDE5RUgkUi4cYFt2H1HRmdGZ6sPVXm1MdPAQYdF0P47aLRPBpabNIuFHUd
CXZY//l4CvTTwhuayFhiGCSjyFNIge2Xs2s3lLlIlIypYVckTlMi/xKSoewuUjAd5Zr/XqBgF+e3
4OpEPKJlJ9ozD4la03syXrYTvJqHQr+YDJxBULN+OdeVkmsHtodXkKQ9K4YwPROBV904FoKo5ahS
uqBcYdUFHjXNH2NjQ3c5nQqiiKgBqGBaC+Dlcc3qeDIfG5CTkCdr4a1+jFkRo6Oc44TAOzqmiOgY
12n0p0UXCOMEHwQjKNOMgVogLYNI0SZqXxsFbZ7GT/RyB9e8KNFWpppa3K0XQwAsYVvlUV7owfm8
EmCnUIapnAG6QoXNIiwrJT2CLzF3VKyY8b6inJEJ354BctuwZkWF5fUsKo/EIMJ2fe362O7BF+J+
VCgYHgBfLU6vV8d8n0FNQzt0JYxUwE7AcxoqIJlmgNLI7L3Y2spt1HCHldUs091i/EiJNg7hkPKD
QzevtAn3Z9fgV6wwTt5iGs5YHkduh/J5QRIjosu/ucFcX3fJ1fn9smv1F50dOQ6LSFstgPGk2tTE
YPaBI860LOkVtgIKTTeQWNsTkgEmfCWnqAlfDgOgfJjzghEB5KIiRM1JGQ0Ab7Yrn49QwQf0Fzsq
xi2/HcUQ/p1tePaGDkTxW7Sjfakn91Xu5RR2HZzzkUyTPPPIOf5KDtVTKCjXfuMal6g5IYtZe8g5
GEa5SyTymkHkL8LRHiwGFH3KBri/FyQYSD26ckgObtIoq4Wi6JnXQnFkZ9vWtkjxuu1WRrFqL8Au
YtwWmDVSxKmegYQpZPwcJDy3o55ypftU8/IcyIQy5yDmaGS5+iIt7Lb6oG/dNaxa+uxiqLqQ0JJu
u7Unqzlr0IOc17OYLKxIT45Tt3g1EQQxKagKpKyZmQP95MZz4kp6QUblCu8alFo7ASTqgBM0vh2/
yR7wxJRMT0V3dwce7ZY3zJHXqhf6Z5Fe5YBMC+4XvlOJ0JABosT4Uh5bKwqEfPaQlPVq34RCORRa
dstN7Geb1KqcWgy5oOXAKyhR49XfUqsIoFhRLFdPdxjicIQURtIjOMUh73dETO+gleKEUG0Lb63I
QKfGBFinGgbazQ0hToApxt7Z08pPAf98GA85Ok5J9/vl+3ZCpJIM88/ncweK0GGiK8NleAAHajVQ
Y21NXPmV4zWxqHI3Lv1Q5mrkJxEgPCKJdJjpLFF76LEEuQ7eHuSLVFO0LCQ7zPhRatYHFMGkyUKP
O8ttbLYmBMwLnfehof5d0jXFTOlqwG0trd6Jnh/UYcy4o4GVRWDoZW01K87M1Ms6JBzwZAK7wlBV
xQiJGnJCbbP0jJVI3I5T8MOkBsZW30Nn9nrRKTVkjNW73w2cyBqqlPbTYB+gIx+WtvMl+kxhDzfQ
kLCsnuZ3VIzU7OcgZ9rPGCoUhXMxiGEfehv61abQKX3aSlS5FMK255kLN3fIUBSM8LNeLGsuBTjO
xLsmeu1cYMzJG+sQSAbBRSGTVp5RHLcKM1E4b0xghyj7UmwJeou/9QDshfAwIO3fxpUZHBAPpLDB
Utp97lrQW+kxcs9jsoYc0YO35gFkjV/KNa8F2jonofxcITcn/QZ7bhmV1cakDpZyhkYvRW0Ongfh
GA1HbAWL+K440EJERpQLrFqJ7puGs515S010cHwhLl62bY5QuXHvEx+j36jrSC+3IVq/PYr4Wxu7
oLiUFeRaUqngdcCOIm8GQdowkoq3FiEYdEIc0GvOaLt6SAqcGfJcxHzBiUJ/7pTS1kLRnWJjsQ2X
e1oXOdR/xdZQ205HiCxv80cAHKxQEAMjkXo1ADOS2nicHSPOT5c/DN5wU+x8pLCTo2f2ClydSI6V
abnmCGXPg1BJZRRBN4crZ1muZCEzZJajrLAs4cj1EsduzKlkfadsa1N7UjbdxInJReJBo+cE3HL4
oCmDllhqDcpE2ABc4CT4SkXraniGT9WgWNKPK4RT5IHOFR3Jvh4iJ4IcOipOnRXnQBsZWX3c7wiY
GCSqtC67b7zERIRJOkC6FOqWicdSMcpdpuzMTa3ge8gGQURtrH+Ahucj2yzTYxMn9yGykknV7QbF
AMaEySGOjZ1pxDNFg78RqZq+noZoImFV+JPZBKfgEuGstCk8JiWDkjpX1j6OoJCqn5uscQiBgbfo
gV5YnYgkbaY92dKF3iQ0bBjMh0zGWFbaaRMbk8tjcKuyrGK9Yc/3tJTrTm5jsVYiTWyMFlq7+MG5
mZavys3SbYkUfZCd47Tpr9J/vSfXNeQYCjg4xQwKgZsR702BzI5qknZhCrWof5/Wkz3g1TKRLoeM
Lt5Zwcgpa8/pV9t3B3/71/f//PTpm+cffv/v97+8/fS/309/+PrLH0+fP5/Ory+X4JJOGqlz5Ut/
fnlqMNUUHrO0X4Nm9bA8LNhHcahURkLzGaCbWuehk0ti9ABMIZom+dU1EROb7r6giwa4dCJnoekC
pvpUuwb49e/dApMpvW5MqV0w0YPvR2BpU6ljhAfU1HxQkTiS5mSaZESLTAfTyMZJO7NTPyFex8Kb
NVNQh9yIlka9vimu7GWzEe3cw1w8R2pU1EKMdhPeDR97Nhs84kopA3vU3WqtpPdFLteUpc/6tWWb
JZhmQGLnZWoxoS9Eq1ogjd5t0ZUZD3t/8QdTNlM9IKtx4QK0nUrMdhPFw3S4U01OfKAQV+i4gBHL
amd93XvIEVSpl5yh3VgtMjGIkn+9kbhWzbZB5kvdekf42eGbK6Ukq5nig5yIkcCJhd6ocA0AS+d9
WNGhiVAbON6VmEv3XTBKlgltLonbdy6lNQKv9XzkZHtQqlMJBHAavW7qaNi5QMmUlM+qlGj/AqVd
uci59+9RFTDKlNg8j7Uw2taVd6zoUvPIYXkZEGORes9IMiNbqazsmgZdKpJ1DbG/FnSf+edbG2A0
fUP1iDW4SkerSqb0LgH8IBhlT2YbI0XCY9P9nkNlQwMQUjLW67DuETAlGGq6pUdFw2mRujXhdwFY
Lqa9vGqIQ/YTjNdAqekahWarkb4EiuwXtSw86908bkzWN+XQaiMqNkgxXMHFUS6AxE9rsjzpg0hJ
ag2Ihu5VuLVuQuMiMdqrzcr6l4KsYesppYDe2jLSlmTZybn/AOjxGgR2PYrGtTKMsiQ53OeaTGPd
vLZ/oetuvQinO/eel2Sg6EQsIhf8Zg2OYwobvWIk/m5COFgRiP3biadhnRWG0593Zeu9SndsMcpH
oHn1MF6N6VemcmtFAaolRo4MWhl2eRZQDVtJltGxiaI4rlQsM25LOVjkHTVoOdGw6/JEVD2CZHWC
nVdDEyUOBgwLUIdKLqUmnm5rwmLQB+vuq/XlV2TVrcmS9eYggby+uN9JpAcxPqRD6l7ul8A4p3Fk
qQIjNv7+xqgiC9XUS3kMTtawruHPmOeGM9J77Aj8k1EYQ4eY3lMwpVIpGp0p0kM/jhZzFva82vy6
qLJcdbEiChQNtOiwyYxCv5Ur0JESiJC1y50agK7J/LWMsRy2/cr8h+l3grCk8nJRCOzcYBAb+BFz
ehCBpuOXJVtLkA/549YyQ1/gsYcKVqXrbx9x+wVdUI5qqVbUs1o7XVACqQOn8+FqBHMdnVQoVHOH
Zuzs/WH8uGWdxrAOBVFdoj6sWDbdRcW4TbPqVDT7+aLxo/upNqEFigyinmD8n9hUOhprdlSOXn7v
hofG/bdsg9J2/AayG+v50qX3jH5Ndv+kN6w7Bj6wnC9d3smAug1E9FsulZ+v0HJrSN+Dhpw3D+EB
V3FeQ5m1Foz03lwBV1YZShpt25BLseGo2i00H1E7oozO1IYz3TUXVP8f8fwShAplbmRzdHJlYW0K
ZW5kb2JqCjIgMCBvYmoKPDwvVHlwZSAvUGFnZQovUmVzb3VyY2VzIDw8L1Byb2NTZXQgWy9QREYg
L1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9FeHRHU3RhdGUgPDwvRzMgMyAwIFI+Pgov
Rm9udCA8PC9GNCA0IDAgUgovRjUgNSAwIFIKL0Y2IDYgMCBSCi9GNyA3IDAgUj4+Pj4KL01lZGlh
Qm94IFswIDAgNjEyIDc5Ml0KL0NvbnRlbnRzIDggMCBSCi9TdHJ1Y3RQYXJlbnRzIDAKL1BhcmVu
dCA5IDAgUj4+CmVuZG9iago5IDAgb2JqCjw8L1R5cGUgL1BhZ2VzCi9Db3VudCAxCi9LaWRzIFsy
IDAgUl0+PgplbmRvYmoKMTAgMCBvYmoKPDwvaC4zYnY0c2hqbTY1eTIgWzIgMCBSIC9YWVogNzIg
NzIwIDBdCi9oLjFvbWt3NXRxdWVxeCBbMiAwIFIgL1hZWiA3MiA2MTQuMTQyMDkgMF0KL2gud3Fh
Mnd0M2xqMzJ6IFsyIDAgUiAvWFlaIDcyIDMwNC44NTg0IDBdPj4KZW5kb2JqCjExIDAgb2JqCjw8
L1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDkgMCBSCi9EZXN0cyAxMCAwIFI+PgplbmRvYmoKMTIgMCBv
YmoKPDwvTGVuZ3RoMSAyNDgwNAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDEzMzg0Pj4g
c3RyZWFtCnic7XwJdFRF1v+teq/f673f63R6SXfSr9PpTkizZiEkRNJAAmgMO5pgIgkQWQRZggoj
ahhFEBcYx32cAZdxHYdOiEyCOuRzm3FBmNHR0VGJioozgzL+GVzJ+9+q7oZER47fd853/mf+Z97L
/dWtqvuq6lXdunWrXgMQAMhAEGHk5OqaSfRn9DYAmoepMydPnzYLMsEMQCoxbp08a84E82/l6zH+
BMZHTps1omjt8N1HUX4txpvPqa6rn37T0n8CFEwBUG9esLxlpTBXeADz/4z56xdcska7O/D63wAk
fF6afcHKRctfWtdwJ4BNwfhFi1raVoIXTFg+Pg/KomXrLriz/5ypAOVvAeRLixcuX7thXHk9Nrgd
wGRc3NqysM/1HJZH/o7yoxdjgrPYhG0nt2M8b/HyNWvrbjbWARimY9qyZSsWtGzdeNe9AMJszO9e
3rJ2pWG3DcsiWCZoF7Usb/U0j3obO8OKadUrV7St0QvhVuTZ+2krV7eujLxWtxcgsBnA8ltgfWfm
N7sEMAIFFYiuI8/yzoPPoBJ+DjKmKzACzsGSf4XPGTAu8GdAz2fl/4sLn5fH9U+FiQp8tfOrHyk8
ZdB1Xqr+4XgbWla3zAdtwbrVy0BbtLr1QtAWt85fDdqyljUXgXaqTDD47ty4dPKX8xyV/zT6jTz5
nvfzC1n44vSxu7/aeWKRAkZ8fxwHMuA5a4qnYEmlZeNNoBBvAqPwJlCKN4FqvAlMwZvA2XgTmAaz
EOdAPeJcvFl5grCZbMOeMBruNBRjcf5kKPwBLqBOo4FaJJGyS4RvvXndtKnTIA4VcKnhlf4ZpFge
RzrjrNN17N2o4XE2UiDylgLvZVdqNFyYuhhDN46FABKWMBmmwkxogVZYAivhYriUlfGt9GWwmqXr
73/3/s6InLoy/8f3xO+7yZCBN81O3sLq090GX/KWcpK3bOB3t6nJPNfSam3B+xOHw/GM8qjyaMZV
2G4ZRwd7S8Q5CEuhPcUT1LJLUjwFO/ZikhdwHApSvDhAxgBZKJXkJeQAxmMvLsEeXQZ1MBvnQSvG
2zBlBTDtLEUNHgUjMb+Op6yANbAOR6QV886E5Zi+CGUvQtRgGNKp0jQcp1ZMvxj5FkwdHDsl9xBK
FmENTE81bMFiXvZ3a5uIsdXIM2zB9GQLh/M6l6XqW4I1LMa8tlTtbfxtLkFcCMOl0yjF/9ZFy6Hn
v/uMVI79+j2X4Xdw17fid/9P2sUusQ3O+la8dmCc/A42D+Cvkh6GTSjDqJqFLJ0+DBtxQlfhe+Zh
2lWpNkmGPeBDyjI8AD4xiisH6B8hHWZh/xL9MMtnIf0rPtCdIoAH4VGyBB6FvfAUOYpP7cTe64Lf
gwft1l2wHm7GWiWcB7+Ha3F8Z6I2V8PNxKd3oQW/G7X6btiHsufCFbAH3MSrfwxXwkbhFXxqI9gg
FzVlOmrNDeRs/WJohIPiVVCGVvAiWEna9Xr9Rv0m/T74JfQIv9dPoC3NggV479M/MfxZfwu1uxFu
gTvgILnJ9BjOrnNxDvYIP0f9ulNoEom+SP8KWxCCS7ENIurvPtJLY1h6K3xEvGS9MBFLuVdP6M+g
VACaUE/vhD2klEymIUOjXqfvQ+s3DNZiqXdAJ+zGuxuehDeJ1XBUv08/Cj4YijPuSuyPl0mv0H9i
Q38V62zspSFQjjkr4LfwOzhAwuS/6AqD1VBkiBt+pL+KtnUU2vdz4QF88kPyOb0C7yuF58RJ+gSc
/xvhJ6y34Vl4l2SREWQaOYcOoSvoL4TVuGYO5bNyIc6ra+F2LP0dEiO7qZXuF+4VHxG/lrL7+3Q7
jkgUfoZr6X8RG76pRtrIj8lr5H06kc5Dn+U94WbxIfGPcgu+9fmo2TfAI/A5cZIxZAY5jywm68km
8hNyB9lHDpDDdDydTS+knwqLhVXCk+IEvGeJbeJVhmsM10mH++v7n+n/Q//nepF+DcxAfdiArb8F
foFv1gP74Q28D8J7xEAsxI63RkJkDrkM7yvIDeQe8iB5iHRhLQfIe+Rj8hn5J/maotGkEvXTEM3F
O0xX00vpzfQuuh/vA/Tv9EvBI+QKMaFUqBQahBXYqk3CNrwfE94Vs8T9oo79XGS41bDd8KDhEcNT
hqOSVf6xEYwvfXPvicIT7/RD/+b+W/s7+7v0d3EF8aFOBSCInscMtGEtaMfXoo/xS9TzV4gV+y6L
FJJx5GzsmXlkKVlF1mJPXk3uJL/kbf81eQJ76XXyKbbZRgO8zcNpKZ1Ap+F9Pm2lq+g2ehPtoq/R
rwRZsAgOIVMoFCYLTUKrsEZYJ9wqJISXhLeF94Tjwjd466JZDIq5YlSMiZPFeeLF4i/Ej8SPDI2G
Fw0fSGZpuXSN1C39Qx4tj5OnyzPkJnmrvFt+1diM2vk0PAa/GWQv+oQNQo3wGNxIi0UffZm+jPo8
DxYKdRQ1lT5INtPLSRfNM6yVxtKxZCocFaPY18/R7fQ4HSvUkVoyC5bSUcnSJJf4MAaV4tNwRHwC
3+1lLHmtZCVX0E8lK3QSZluBPCuMFGPCi/CmcJDI4t3wF9FMPOQIfUCYjlrwpDjOUA8h4S74tbCK
XA6P0Rp0y742Xo96PJWgPYPZpIh8IaBXSKeiFpUJ76MNuxB94iM4jzfDbWShuAhuhGKyHj6C+3FW
DDFcJBVKmeR5ukTcQjNIF1DxIWbnSR4RDC64mjQJd0qf0jdwpdsvmuEd4VfY+v3010KdeNQwkyzG
GXA5XAOr9A2wzlAv/pEsAoGcAxGxD63beqFIDGF4JVqVRrRpu3F270E7MF6owxQvas7ZqBdz0ELc
ifftaCdE1KAlOMfPRSv2MnRJs2k3LDLYCVodtOgv9s+Eufr9cIe+CC7Sb4JhaA826euxxAfhA9gK
D5KN/ZfhmpqDM+cdcrZhEt1vmKQPo1voG3QWvXXw+GJvR4gX/or3rzEyDv25LeLr6D9W6dfrf0Lt
LkALewfMx1XlEL7lJ1jDFKEXivun0g59krAS3/cgzNAf0IPEDIv1Zeh7PgG/lA3QIsdwjBPkj/i+
l0ErnamvEVr7l2A/bMVeiGNvXYz259r4xDmzx8erxp1RObaifExZaUlx0aiRI4YPGxorHFKQH43k
hXNDWjAnO+DP8nk97kxXhlNVHHab1WI2GWXJIAqUwNCa8KRmLRFtTojR8JQpw1g83IIJLQMSmhMa
Jk0aLJPQmrmYNlgyjpIXfEsynpSMn5QkilYJlcOGajVhLbGvOqx1k7kz6pG/oTrcoCWOcL6O89s4
b0M+FMIHtBrv4motQZq1msSkSxZvqWmuxuI6LOaJ4Ymt5mFDocNsQdaCXMITXtlBPOMIZ6inpqKD
gtGGjUpkhatrEr5wNWtBQojUtCxMTJ9RX1PtD4Uahg1NkIkLwvMTEJ6QcMS4CEzk1SSkiQmZV6Mt
YW8D12kdQ3u3XN+twPzmmHVheGFLY31CaGlgdagxrLc64fnRIe+pKBbunFi/aWCuX9hS412iseiW
LZu0xI4Z9QNzQwwbGrAMfJZGJjVvmYRVX4+dWDtLw9roxob6BNmIVWrsTdhbJd+vNVzDUpqXaglT
eEJ48ZalzTg0WVsSMHNdqDMrK96j90FWjbZldn04lKjyhxtaqgMdLtgyc90uX1zzDc4ZNrRDUZMd
22F3pBirbSDTejKPc1yccbUzT/YsYS0Kn4kKkdAWaNiS+jC+0xgGrWNgy4IxKIZXA8GnEgtxRJYk
TBObtygVLJ09nzBElLC25Z+AGhA+8vfBKS2pFCmi/BMYy/TkpKphfppPxGKJwkKmIvJEHFNs4zge
Lx029JJuGg6vVDQMsPtgOvZtS0PFCOz+UIgN8HXdcZiPkUT7jPpkXIP5/k6Ij4g1JGgzy+lN52TO
YTnt6ZyTjzeHUZO7uPedmTBGT/45FHdGzeKKBHGfJrs1mV87K1w7Y269VrOlOdW3tbMHxZL5Y07m
pbhExsR6wU9THPULPBeVsvGkMIvUWxNiBP8krtQLu2UjaiVPIdqkhNI8JYkN5lDoBz7UrR9lT/Hg
1GOpZiYqYoPjYwfFBzXPukXABuNSWTt77pYt5kF5qGrJCs9MBajxMLs+pE1MwBycmRH869Z7xzBq
8Cfi2GUTmQDqXzIpFR0k6E/xDXgx7Rw2dBIaui1bJoW1SVuat7R06+3zw5oS3tJDn6JPbVlZ05xW
nG59z3X+xKTrG7CvFpMKnBQUJnSEyeYZHXGyedbc+h4FQNs8u76TEjqxeUJDRx7m1fdoAHGeSlkq
S2QRjUWgluBLdlIjl/f3xAHaea7IE3h8QTcBnmZMpxFY0E2TaUo6jWKamEyL8zR2MRszcXb9QO3h
U7JhGF/wcN8CzRaz8XTbKGFgJCUpp2jAJaWI4p9RkiQQJUHix1NWi+kHl286FXzroXSVKC5YZFkG
URZkLmSzmE9XvjgwYv7vlC8my3fYLD+4fMupar71kDFFrHyb0WgEg1E0ciHFZoXTXIPKt56q5lvl
p19J5OWbTKfKV22205Vv+B+Ub8LyJaNo4kIZiv0Hl+9IBqxB33oo3WVYvqiYLRaQzAYzF8xUlNOV
Lw2MpCTtp6pKX9YUGVj5FqsFZItk4UJel/N05Q/S84xkoKZowGVLkYG59nabHYxW2c6F/G7X6cof
NPkyT1XzrYccKcLXldwOhwNMdqODC2b73D+4fM+pajIHiykpwteVfQp2udlhVLiQ5veervxB88h3
qhrPYLF0l7Hy/U5VBYticnKhkN/3g8vPSgbeFH1/+U6wqKnyI8HA6cofZDyyk4E/RQMuV4pY+cHM
zEywOs2ZXKgwTztd+YMmdygZ5KRowJXuMmyOOc/j8YDdZfXw9gyPhk9X/qDJnXeqmtBgsawUsfKj
WVlZ4PDYsrhQUUH0dOUPmqf5p6rJGywWSBG+rrUgEAiA6rMHgLV89LAhpyt/0DwtPFVN/mCxdJfh
69qGZefkgNPvyOZCFaOGnq78QcZj2KlqCgeLaSli5Y/SNA0yshUNWMsnlhedrvyMgZGSZDAyRQOu
SIrwdR3lkUgE3LkZEdwCA9RWjTld+YPmaUUyGJ2iAVf6lXAOqFWFhYXgi2YWQimmzJo87nTlD5qn
45NBZYoGXMNThLbSOXn48OEQKPQMh7GY0lhXc7ryswZGpiSDCSkacBWnCOeYq664uBiCw7OKeXsW
zq6F01yDJvfUU9VMGSw2JkVoK92zx4wZA6GiwBiYjCk9MFso2BX1Bg88IQyBPiQqDOmMZQd7hHwh
u3NsMN4thHc5M4sc44cJGvpeIzhqiCuQdiLtFdh3n3lCDqYriFcitSPtRNqLdAAJDTciy9WQViBt
R+pjOUK2EOjUgsr4fMGHz/rQiXIIHvgUSUcSIIg4Amka0jykrUjbkSQux1JWIF2JtBfpKM+JC57O
m4qx7Z7O63iwa+myIh5tSUYbm3h017kNybBuRjKsPjMpVpEUG1WSTB4+IRnmD02GzkhROwvNtqLe
8W7BjS/pxoavRCT0GXAQAkHYIWRCAomiL5hMiQvOXXnRou17BRGIQAUCCyGo9wqk06YWjTdTnX6K
Ohakn9AjyRx6ZJddLdo+/iz6HuxE2osk0Pfwfpe+C1fSPtbniFVI25H2Iu1H+hRJon14H8T7HfoO
OOjbMAKpCmke0nakvUifIsn0bUSFvsX2aRwZX4VE6VuICv0LvtZfEB30TeTepG9i017pLCsv6uFM
bESKCUZSjMefYpzuom76x84vh6BGRXGkUaMeF3JhHBQLuZ2RUcFuwdtZuSTYTd/fpcWCO8aPpK9C
Aom50q9iza+ChjQdqRlpJZKE3GvIvQbtSNuQdiAlkFDLEBUkjb6A9BLSazASKY40HclID3RiNd10
f2d0QnC8m75Mf4dGIEj30d/z8CX6HA9fpM/y8HkMczB8gT7XmROE8RbMB3xGwVDBcATmG+h/7cpz
BvXxKt2LfRdEHIFUhTQNaR7SViSJ7qW5nQuDTizkcXgBXZMg7YSPeXg/3GOE+NJgPDoRFVBjEK04
AzmE7dr2KI1Hb70DowyiN96EHIPo1dcjxyD6ow3IMYguuwQ5BtGFS5FjEJ07DzkG0WmzkUPopr/4
TV5+sGzahUQb76CXYi9dir10KfbSpSDSS9kNX4qsbT/rLCzEHrszHhtSGGzfQ9qfIO0zSfs9pL2V
tF9B2jeQ9krSfj5pj5H2AGnPIe1x0v44GYNd0U7iXYOi5XEvaX+BtD9K2ttIe5S0R0h7HmnXSFm8
m4Y6zyzmQQ0Pdo1nkw7DM8ah9XHQEPZoCHU+hDZhL+J+JJ3H4iik5SaFfTkszN1VWJWMD68oWjF+
Cn0aH3wah+FpOIgk4gA9jWr0NBbyNBbgQKxCmofUi/Qpko4koXQuNnwrRwfiCKQqpHlIVyJ9iiTx
5nyKRGFFqok7ecNGpBo9jcXo03izDxEhGopnKwElpkwRtgaII4dMy9FzaBm4mS/rVI1qN7Ht/tz2
xec2MI030RvpVvSFgnRbKtza+WV2sJvc3hl9PDg+k9wGOSJqHSmHKIlgOAbaeLwUAkYWlkCAPoJh
UWfgHHzM0RkdGtxD7Oyp3cEvA4eCHwe6KbKHA48HX9e6RdIZ/BOmPLI7+Grg2uDzI7qNmPJEtJtg
sEfjoj2BMcFHX+CiGzDjzs7gFSzYHbw8MDl4YYBntCYzzm/DWNwRnBmdG5yC5VUH5gfjbVjm7mBV
4PxgZVKqlD2zOzgSmxBLsoXY2CEBXmk4hxc4p6ybLI4PlW+V6+Vp8mi5SB4qh+SgnC37ZZfRaVSM
dqPVaMbtJe7OjNQIRle33hePsd8xuCT+Qw5JZChyXqEM2Y8VmNEjRgpnQSJDqKW1syaQ2kTvAqid
ryWOzwp3E/OMuQlDeAJJOGuhdvaExJhYbbesz0yUxWoT8vTz6jsIubEBUxN0czeB2fXdRGdJG/3s
fLQHCFE33uBnYcHGGxoawOu+pMpb5Rynlk+q/hfQnMLYqcs7iM9O3Fo7qz7xcHZDoogxenZDbeKn
7AC1h3xGjtZU95B/sKChvkcYRz6rmcnShXHVDQ213eQcLgca+QfKocb8g8sZcWFmcqAZc5Jydybl
Ivg8yuWxAOVw6xvhchGTicuJhMl1tOXVVHfk5XEZjwZtXKbNow2UeSGCMpEIl3G3wwtc5gV3O5NJ
jOMigQCK5AS4CMmCABcJkCwucs4pkREpkWtPilzLaxLIKZlAUsbWl5ax9aFM7IderRNiMbJrbMOC
Rnb43ByuaUVqTlx3yWJvon2+pnUsaEidSkeb5y9YzMKW1kRDuLU6sSBcrXWMbfwX2Y0se2y4ugMa
a2bXdzTGW6s7x8bH1oRbqht2TZ5eUjaormtP1lUy/V8UNp0VVsLqmlz2L7LLWPZkVlcZq6uM1TU5
PpnXBVzHp9d3GGFCw8TGZLiLWsyor83+UMMEt7JyHFfesSHvFf496K08CJZYQ8IanpCwIbGsYeOH
jWdZOKdYlp19YUhlea8YG/LvIQ+mshRMVsMTILbm4raLwVuzpDr514YXJq25mHV4EmNt33dhXk0i
3lLdtgZ3DYnCWbWJqhlz6ztkGVOb2SslKtJpFktNt96bTByOiRUsURBOCrK0SpZmMqUEvzv+F6fC
iWwWtNPHd5F4DlkDbQ1CIqd2NkVTMDt1lLsHfSm2PLQ14Au2kRhpS5eRanYsBsk4sHdO05qLU1yq
L9akwuST+EhbuktOXqyzYid7bA0WyC4BBMIugyAQim6m1/B3Sy98YdQBTaDeDyYw6SfYr+X47x4s
iFawItrAhmjn6AA7ogIORBXxG3RDVcQMcCK6IAMxE/Fr3EK4ED2QiehF/Ap84EE+C3zI+yELMcAx
G/yIORDQv0TXl6EG2YghdGy/hFzQEMOIX+BuOoQYgVzEKOLnuLUNIxZAHuIQiCIWcoxBvn4chkIB
4jCOw6EQcQTEEEfCMMRRiP+EIhiOWAwjEEtgpH4Mt4MMR8MoxDIoRhwDJfr/gXKOFVCKOJZjJYxG
PAPKEMfBGMQqKNc/Y79+QxwPYxEnQCXiRMR/QDWcgVgD4xAnQZV+FLdWccQpMB7xTJiAeBbHWpiI
eDZUI9bBJP1T3LQxnAaTEafDFMQZcKb+CczkOAvOQpwNtfoRmAN1iOdwPBemItbDNP3v0ADTEeci
HoHzYAbyjTALsQlmI57PcR7M0f8GzXAOYgucizgf8a+wABoQF8JcxFY4D/ECaNQ/hkUcF0MT4hI4
Xz8MS6EZ+Qs5LoMWxOUwH9MvggWIKziuhIX6R7AKWhFXwyLENo5rYLH+IVwMSxAvgaWIlyJ+AGvh
QsR1sBzxR3AR4mUc18MKxMthJeIVsEo/BFdybIc2xA2wBvHHcLHOvudfgng1x41wqf4eXANrETfB
OsTN8CPEa+Ey/V3YAusRr4PLMeV6xHfhBrgC8Ua4EnErbEDchtgHP4EfI94EVyH+FK7WD8LNHG+B
jYi3wibE22Az5t6OeBDugGsR74Qt+jvwM7gO8S64HvHnHH8BNyJuh62IO2Ab4t2Ib8M98BPEe+Em
xPvgp4i/hJv1t+B+uEX/CzwAtyI+CLchPsTxYbgd8RG4A/FX8DPERzn+Gu5C3Ak/R0zALxA7EN+E
TtiOuAt2IHbBPfob8Bjcq/8ZdnP8DdyH2A2/ROyB+xH3cHwcHkR8Ah7SX4cn4WHE33LcC48g9sKv
EP8LHkV8Cn6N+DTs1F+DZyCB+Cx06H+C5zj+DjoRfw+79FfheehCfAEeQ3wRdiO+BL9B3AfdiC9D
D+J+jgdgD+If4AnEP8KT+ivwCuIf4VX4LeKfYC/ia9Cr/wFe5/hneArxDXga8U14BvEvHN+CZxHf
hucQ34Hf6QfgIMc+eF7fD+/CC4jvwYuI73M8BC8hfgD7ED+ElxE/ggP6y3CY48fwB8S/wh/1ffA3
eAXx7xyPwKuIn8Br+kvwKbyOeJTjP+DPiJ/BG4j/B95EPMbxn/CW/iIch7cRP4d3EL9AfAG+hIOI
X0Ef4tfwLuI3HE/A+/rz0A+HEHX4APE/Nv1/36b/49/cpv/tB9v0j7/Hpn/8HZt++Hts+kffsekf
/gCbfuikTV89yKa//z02/X1u09//jk1/j9v09wbY9Pe4TX+P2/T3Btj0d79j0/u4Te/jNr3v39Cm
v/H/yKa/+h+b/h+b/m9n0//d/fR/X5v+fX76f2z6f2z6v7bpv///wKZT/g/+2K9hBPaTiZAaUiMI
BET4RhN6v4kbsABN7GU/GOsBINeIUS45Jq6JBpBkE5UqRaGSSKKZVo5Ao0bZN9e7jXff7o0px5pW
HYGqqiPKEaI6y8vxb9TIjNLiTAGpZ9++fULDvn3fPLBvHz6xXP/I0GN4BSJkajzL7/Jn0uZ8cr4x
gziFPLTlTg+NQA4l3XpvPNNqleYQInly7EIoRzIREs2P5HXr/V1W64Q5yHzWZbFw5nhcsdqQ0wRB
o1p+MxVot36oy+GgcygTs9k48yY+yJlj8WJWNl3dnk/ysykrLtvOyso2s3Kyo5qZmK2MNStM0OyL
LjjPG5uqHIvFmuqOxGKxOqXpODv+aqqsU05gWInvjb1ypOoIhrHKEyyOf6w7nNgZE9fFq8WwP5AV
8AUEyRpVIpnRYNQYEaPhiNeWHQK3IyOEwq4MTcZYriESIgGLJ0RcKkKOKRSCPAGBH9qRWEypVCpP
HsEVbiBN0ERKI6okhnPzaGmJM6+4SHR75OE0nCtJspTpcorFRaPLVOFsunxr/4Edf+7f3rWLTP/L
dkJuiu4Mzd+9YuNTl4bGbCL0J1ccHUerfkVO9K1u6yHn//k10ta1qPvmkSvb62ZcPW3z9mf6v2hv
KSMq+0RxF2pU0LAHTOSJ3YKX9aKxWz/8GGOcFjaC5ozMEqPX6qZzBMyIZzPOSHGQZKNLlo1UFgSj
SaTUJBtFlPiaD6yQHliWEjfxJE2SDN363/mIIvNZ3MKG1OBk44nxz+NRi0WaY2jSLESzTLc0W1Za
2i0Gi9HER9VkZoWYNAKsUTZsFP+9gKLQOZhynJfKGVYoMl/FLaxgEFmhGP+8iykBMl/EzTYbck3m
sQ2o9sdTA9CEA44qoDStOsailUmNgKrKqkqcCkQtL98kDo9tuvyZDon9+LMHBL3vN1a1xKgh4JA2
jBrJRnViY32XMT6pHN+7d/ekcmO8KMkWlcu5vnJU23d2+5AtSrIsNczZuCVcLttdSBksfmx3BrLZ
STYb2UzGftGRWZ5qLomdOgBuQCxWi4larIaJetfvBLrnd9/0G/Z8vUG88qtJYvvX7WgP7sZxfhTH
2Qu5tCIeclrsxDk6MDd4gXF5UDQprEuMHGWOOCF7+UyzYQs4Y00zljTj7Nbf2+XMKsHw6K7c/BKV
xbPzS5RU6EiFmP/nXdnRZD7KK6mQ5cfPRCZiPytwljbL0hhYHlhtWmtf59ho3uy4zfaQo9tx2P6R
Q7FbrZrqcKmqQ3VYTU4/DWW5zZJTVWxWg9dkcnuyfDke1mKmKR5ud9iwezwQykVDRMHrdTjsxpy0
3clJq2cOszsmZiRyova7JFRwrkhSWpEk9qWvhL2sJLFukZq0vJV57XlCXq6XmxwvV04vNzlejfww
nZS+VyfDYx9MmahYyjJxNUwZKt8hL7NbqJTMdlShhWKGKnYCI+UjnB7UUk/5JvvwmOFy5ZlRI0nT
oEN+pipNqJ5xszHuKHcoFaqzgikPWcU/RdhRB7N85SpqqRPJHg+UK7kupCDSSbVrKFZDRW53pkuS
3R63JyMsDKf50XBYxeTRo0tLouHQ3XTLMy/96IVX6grmnK0fe2rORecOC9W+S+7eeOvU2+7tH2nY
M+336+56LTuSN/Xi/lVk1NXXj7HIJy4WisvWTV58DVu5ztIPiwFxHHr/ZfTB+FCTzVTos2UVDrEV
FpbbRmeW+SsKzyxssjUVLrUtKWweucV2zZA73T/LesiWWcDGj/VtPrNUPsbd73u4YLfv8YJnfPsL
/pj5doGx2k1y2OKhsq53OhkarAxL2VBPY1zQE/TGhhaWlIvlQ88Upww9x9gQu8C4JHaJdZP1eeuX
ti9jalmJnYjKiLwST1HI5Z03ZMUQOiQwwl5l32rfbtfthu32nfZP7YKdjznTELuVKQPG/9rF1MPO
mhBSFAkz2MjbJYcDMWpDNbJzK2y3BwRPN304bvMO5Sp2iysQkOFk06Em31wUECxDWpQWrmNMiKkS
V3BkvonbWWkgceWLhPKY7WV1MyZpe/NEpo55bJm1WDhzjHcfMm/FLax1ebxdGP+Gq2peNz0vbs+P
Q1SJatGR0Z1RQzmbdnY7nRPt1l9LM8d2s6qjo8q5rc4Jl4ws7y2nO8pJuYe9wIWsaI+RNdQT8eaO
MDLpEVYWH8Hn04i8vdJ+iQalKolKLpYiuZiMxJ+R7HyOWvkE9fLJaWXtZ4hT1M4nKl/zpVFjThp4
pv6r2PQ5hoBmPsYymo6kpxo3/7HYBx8wB+BQrOrIidghlU+vk8+uSvoDzCHwoD8AfH6RVRjAqogk
hXOjpSWjR5fxu7QEp0WuJOePo8U4YTzuzEyX2xOOCpJsp8iylXx0qVC5sGfpzicmt00pvfDNRaS4
ZvOV67IT3osOXLv54emKyZP7RMAz/5kVjUXLlyy+J5p91ZxJj2ycumGqy27LyouYLxp2RsMq76rr
auMtZw1fe/TrjWeMIW8XBJSCuhFTms+bdsalbDbV4mzKwdmUCdnkF3EPbsQzcSVvMjSZ5lhahQsN
K0ytFmMmUwHWbWiiD8VnMi47wDDf+YbhK9fxLHGUs8I3KjDeWZc1PjDD2eibGWhxLs9qCayV1mYe
p8e9CriJw+bxTHc3u1e6BXfAsU3ZoVBFEf0Bswx76MNAUFGY/nG/0M5UQCGE3JIREC2oFUe53nrS
hhmZL7gSeeK4Ar3FLSgyn/BW2tg0YuNrY0WZ8gtLEjZiywpibFckWsLC3zClC5Kgm02ERlaQu1jh
2qNwDVO4zil5cjyvsCQoV8nTZEHmGihbWY6sMY2SuXbJAVa7bGfaJQdYvbKbr5S+nJKygeYanQhu
rw9h2qpY7PgqllaXNNlHTqCeHOKuZVPliVWVKSebmWmuSGTVauJhSgSqAsVFoLrkkJupCQlFuSoJ
5+8Z+knPx/2fEtdbfyJ28s1hc+fGBdefeJPOsI4559r1D5FzPPd2kSARiJUU9L/T/6Wi7dyzmNxy
zcTF9zNN2Mz+3xf0AHBHQB6I+6iZ+2ccJY4yR8Ime8qYJBlDmhFZZ2Yzjlq4S8dR4ihzxIdPpA1Q
kjGkGXz4BHqPyFGR9bDAUeIoc+Q1c5uVZgxphtdcwTjTaDYw00zbTDtMCVOv6aDpqEkGU9C00tRu
2p5K6jPpJnPQRIDIIhVMEnPB4sN4rVcQkAy4AZLkiAHE7eIOMSH2in2i1CseFSmImngAY6LILCnT
VpGZcA+zayK3lqKZ1S+6mDKISXPOmX6umbydZqYi4lTj5OkD/Es0IKtxwcYdVmXVkRgffZXvsUjT
6lWx77v4Bgz9us1dXV3i3/bv/zpTjH79JvPbr0IoY6NJ6uK2gWM5aPzi6rdHa9AIsaVk8HgMGgO2
SuAg8B43sMlVNqaEhyWlyXDkqGSYG+FhPJLpKXHgdmK74aBBnIZw1CAEDSsN7QbdIOLm1UyFCHfg
WUnckc8sLi3ZDqQX986U/VacbdJFSHc+95myWecD73zgnQ+888HIeh7SPY+MnnanUkMAU8XBQ8DG
gBl6Ngqs41ns2xc60upVXYY9X01ivbwJQIqi9QzT93ogI2WblLSRcqYZNc1kp7svkGb8aSYrzWQn
V9OUDGP8aSYrzVjTnqotzdjTjCPNZLBKuUVLM840o6aZDNaT3NKlGWeaUdMM9/C5/59mTOiwx+ss
tpKIeEg8ZHrX84Fm+JPhuEY9Ri1s8vo1kyCEcwJSZgAHQiZSOMunmA9EyLbIjgiNeDxZ9sg2lagi
G0LVyxZrlfscbCBVFxtIlTloHjaYKmWDqVrZYKrc28C8r/hIplrIGNIUz/EaBzjcXFm9kW1+4ucV
+E9W4OcVYPwTpvzI8R2g38wqwNR+ptTIWVlV/rRj42c1FAAtDvPiw3x1CPP1IBwhB4Bsgx1Ag1AF
09B+slKSWqlw50rhusl9EHCnfPtvulLqeSzuYlVBUiW5cwK+vEg3WbsrxNQzNvXYQP1MevyHlAGJ
3GkZ4MWcmFrTWv3hqtW4D6isRHtSpxxRjqiegQcVdqsrI+qyqn7itGX6CbD94ob0SvN9xgZVP3P0
aHRXPAwy1bBaEmUrT5JjpxCZ6qa7i+5fesltwSte+MXDu8KN41be3FW/8OwNFWL0lqnz5tfv2bn7
RD79+bJ5Fbfcd+I22rl27fQ7f3LijeRMEj7EmeQmHfEMgyBl0AeVbuV94aOMo8LxDAkN59F4Lqrc
OoXcrhzw9nl1r6gZXXaX2xkwoI65bWab3WpPK609PeO4Jx3kMyTPG2ca542zgbAUMN7iYsNkYcqh
sqGycDNiyeUS7EkLGy6Li40Vxr9MKofFzEbMwvaGfINgiRePLtEtBP8sU73MbA0tGV2S8B710pXe
Hd6Et9cregVanOnmeuPmOuTm2uPm9u54l6omrdkps+b5jllLH1V8FVe5xlCuMWLKuvXGndiKo+xX
pWkzOdWjHG8asHhwF7byWCX3bpsGrypMiXCfyA40qo6o5SSlKG5JNZmNZtksSEpUlex+4jA7UwrD
zqRWASolV4yUGztAKzbdc/HbzXdPV8xdhRdOaXtAjN62s2ZlXdHlJ9roNRctH3/TSyeeYH5HNXqg
+TjyNvCRvbszvex9MthOjTEOZghaGefjGU7Z7LNOlqYYz5EajIukJUZjiVLhrHCXemuUWmetu8bb
aGg0zVSanE3umd7lhuWmhcpy53L3Qu+lJNMkGWznCbMNs83nWZcJrYZW8zKr2RMQZRUNlSutMa7k
+QVnvohnsBFz5fnjTD38XHVkXNbZEDD/j3t+Sir1KN8dcYb7f4xhIyUn3VfOoGubFykZKROQFVlD
p5JpmZk7OaMOorViEsuZc4q8nauL3Zrc73FtzgOrnZ0aOLlhsXLtCHDt4O5nyn5wawlurh9xrI4Z
JgrccQVeGjNGiKOymIPKF8CmQZqA7mnT8VhT02D94GefuDCuagJ2KBA3zTLMMs03zDeJpKmBHzVl
KGWoCID7f+apZvB9TCm3DdX3XfvsX4j7sr9dd7D/SE/npms6d23c1EkzSP6Nl/S/e2Lf335Mcojt
pRdf+sOzL76Ajd3Uv0QMoVY4IYfcGl9jVYYpZyi1ililJTQa1IZYw9lFmUXZE7JXats0Y4Wnwn+W
5yx/g/E8a6On0b/UeKF1ibLcc6G/V3vF9bb37axXcg65DuX0abrmDosxJZZZKlYok8SzlLnKB5a/
ZfcrFtWO25IAW6/cAbsF7L60QvjSCuFjChFkvejLO2Amijlubja3m0WNq4XGVcTcrX8YtzDlMHtT
8a/4aZiZ7U7YGJlZcUwtzEy3S/nZ8xqSUUyLnXy8nXyknXycnBGAXkK2kR0kQY4SMUiqyDT04Lmj
zQwE4SsM4SsM4XpI+C6XMKPCtICLull1hB9joMFHDSG+4OQyLxm4N0kuLvxY89ghHqRSkyOPQ8/s
gpNvbJlrBKsy0uuBO9NF2fY2XxUGjPim+ypuWrz5wNKLD142d+tw9f5L1j7ywJq2jv4lhie3zJhx
vX77vf1fX3d2xYmvhfv2PfPin1584XXmUW1Ek/AcjrsK78TrRmQQRSRhsUScKM4SLxDXiJJJNZqM
JluGarKBYCQWPmBgNhVsMxJjrpZBMmiuyntQ5b2p8n5Uk25lXPm2iRzgSX4RVweYXIlPqkHrNO9F
kPisMvJ5NtU5+ZnBPnzSxh5Smo6tPoSdxrqsXOVHAuXloDy/yX75M6wDV5Om9GrqkflBANrLjfeM
W1J13vnjJkwYe74rR4zevWpKxQP5k6uaV594FdtcpR8WOrBnRgq4QnqSbg5HH8eCtJbmp5lomomk
mbw0E04zuWkmlGY09qpX8h1Zriu3wnSWqTrvnNzW3PWmG01X592f8cjQpwSbyZPl9YysHfqax+Cn
cyhViojZ22hsNDWaGy2N1kbbUuNS01LzUstS61JbV7Qr35EfzcvPGzI6b665wbIwurBgTXhNXnve
T813WW8quG3oLSPvMz9kvTf/voJd0Wej7oK0p5mbZsJpJi/NpN5XSr+ClH4pKf2aEnOl34k7c8rn
GvMjVrOYpUUzRcvw7Cx2bpbrG8qGOOir8k3zzfPt9O33SQ5f0LfCd9AnBn1bfdT3JGpAJv//6Ajq
jouJKyROqEIOEApEIfwb1i6Xu4SfWSh2tYSQ4Y3Zy7JpdiBTFpPnZXyP+GF6H/hhPIOpkRgYbglm
kaw8XzzDW1LEHi9lRsPnTSKb1T4300Sfxp70aewpHz+18vHTBZaLY7+Hngey/tluvkHPK8SCHguU
HygkhaxO9nxh+tCaM+z5QrYtZUUUspM4VkphFm9BKL+wpLmot4hWFbUX0SJ2/JIH3qQLy/VdS3Y+
5UrC34hrS5C1TeNaqOU5uBVy8LY7NCbsYC5LlDXBYWf1O/iRpkPiu5Xcg0CY10zBNyp1WtK0qu7Y
gFUHjXXsyOqp6SO5WGwVOzMZ4PAeQU+XCVYdWcUP5Ni+DS0YD05+ovMk/Zl4/rCcsME1NKoqTiVD
EaRcm+YHU4HsJ4ZhCDkujIbsYT/khm1W4xCznxTkm8xSTPRDUMlmnk/ywxwH7ioXxjZs2AADzCjb
sTedSmBCGWXupGHMj+YPp6Ulo8uShhMnP/eVXB52XJ5DkwtntKrTce1l69eWRn763B3Txo8p/Mms
y5+cqyasbUvWL3W7R/iv3nvbOUueu3z/G+SMwIWrW6vPCHsjRWdumDp5XUEwNuWyRd6ZjTPLwoHs
DHNe8fj1jXO3n/srZlvz9M9ooeEO8JBgD1hT20RLer9oTDNympHSjJmpeThaYmJaMguZdh8BYrWZ
iQBuxRRzmHHNFCwOJRdyiW3QMmZOLmNWosvGGlNNs7xSbpe3ySKg87NDTsi98gFZktnayMywnFwb
OfMZPy2Wkx59iuHHbUk3OelWsaUWOSnlXSWdRnkPXQpeMrrjgm/t7nFhO5J0gpVDxyqZO8O+4uKi
phYXK88P+CQS8bBhiJaq4dJitQwtdVh1sRGkStbZlfOXDb366l2PPZYRK8i5e7syrvUeuuB6Ii/r
v+H6Ez+tG5rFTl/QVvex/6OSXNUDWewQMtNTQrUMN/uodTTuc7pKYhkkz5jhtpIMtwUXMBX7D4rd
6f2LO+18uE/uX9wRr4dtNLL4LsbD9y8eJ+sjz8kTew9fvDwndy4evnNhh6XJnYuHb2s9bOdiY12m
e0ivh3imZrGBzWeblqyjWXRl1o6sRJaeJWZZ+VBa+VBa+UpqjZhOLqQmAibNdMDUZxJN6YXUdHIh
NfG2mMysHSZWI18/TXzXYqL8HGGqb9ABDM5w7nx+Z3uSXFTZeFVVJhdTPpmzRMVuc9ioJBslo8GI
WxTR6gebUfUD26AUFm5AVwWfDJXy0czH8SxWcaqxqTia8ULV+j+df+80xdJlUS+aMePGsV13dU1Z
Pq20jd50YtcNoybPmLV1My3/+k32T/gADL/BEXUa5vUAsK/T3B9P9gzr72z2iY/yHxQo/PTBkDzA
pPzwbMCx2V/ZVhOFuP2TOJqSTiLfrfKPgBNS5tGZzjCezJCl1AHQZ+yABKtMnldL/JxW5J/C0yd8
9pQeYGnW1HnUMZ5hPJkh8wxz0q7zc9RjyVM9NTeVcTh9tHs4eVioasnslF14J314+84uxnTQ5Ndv
J/sOxadt8vuSlPKFX+2y2miyNAvjVM2azOjtsidPU3vjIxinxnncrAoErOgeEclhBrPNKvFvzSqh
ollUzamzoqSFUNH279unvLZPeTW2jzlfVVWpLzGnDLEftdBFCsUhZnqWep56oyqw9+G+eF/6hLYv
/anjaNwUDJUogex8ZvmOxn8TzCsRJaspQ/KbfE6DCKJkMVnsRqcCGYJLDhj9lmzcoUXkQmPMXgKl
coVxrL1amCzF5TpjrWWiY7J6lvM8x0znhfJC4yLnOulH8hpjj7THsdv5T+lrU4FFLYACW769wJHv
HOEaA2XOS43XGG8XbrM+QB6kD1rutz4Gu6U99t+Lr0lvmA6Lhx0fOY9JX5kCFv7x2cpRkZIfDJNr
LN8zJ3+SEPeb7Q7RCapRNkZkR8TONhd2WbARa8TWrb8WL2Mz1UYjpJDvIGzElSGZLWrUHFNnizPN
jeoydb26RTWrZlEAwoYjOTCnurqJ+7kjYsfwj8WVQ+xOrsH454+7BIMBp6tsMJnNRlRns6KqaBFr
dxnAia7EmfELzA679rQqGzVZdTpjBtllMMh2HOeIze6y2exG3HfHzEYXPg4Gim0FF+H/jlZ2ikaH
arXbePOcaN2MRlmmlEhOh8NuB7PruGIjzbaVtnabYOsmD8TN2jQzWWG+0kzN3XRO3DRNJSvUK1Wq
sphFMZBmfjItGFD4MXI84/gF3Dvx1R1ravKid4F/Wb4TyH948oO7krqdycM29iMpleOmOv7bkE3D
vd8NUCs32ZVnZLtSyYjxjGoTwVn1XTbNqtEn9D70QPvArh/ogpEODedxHxmTuhpqEyWzcMYZ9QMd
8kjCE0KzahPFM+by1L4OWUumOjE1h6diQbvRN8Oy0RIc6JRHshI7YQzdk6zpZOEnn/Pw51S9b5dZ
EzVgGQ24XqZ+GvDqbmc5DEXCCd6RwX4M0JDeUsaSvyxY1ZQ+Ijg5Fb/vCpHiDM/osgxEBBIW8gVS
2//4noeqxOKHeraXnrF7Z3/X4w8NeV2MnvjZIfUFetGJ21/cRy/4+k26/rFv9gP8X958kTwKZW5k
c3RyZWFtCmVuZG9iagoxMyAwIG9iago8PC9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUg
L0FBQUFBQStBcmlhbE1UCi9GbGFncyA0Ci9Bc2NlbnQgOTA1LjI3MzQ0Ci9EZXNjZW50IC0yMTEu
OTE0MDYKL1N0ZW1WIDQ1Ljg5ODQzOAovQ2FwSGVpZ2h0IDcxNS44MjAzMQovSXRhbGljQW5nbGUg
MAovRm9udEJCb3ggWy02NjQuNTUwNzggLTMyNC43MDcwMyAyMDAwIDEwMDUuODU5MzhdCi9Gb250
RmlsZTIgMTIgMCBSPj4KZW5kb2JqCjE0IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL0ZvbnREZXNjcmlw
dG9yIDEzIDAgUgovQmFzZUZvbnQgL0FBQUFBQStBcmlhbE1UCi9TdWJ0eXBlIC9DSURGb250VHlw
ZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRv
YmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+PgovVyBbMCBbNzUwXSAyOSBb
Mjc3LjgzMjAzXSA0MiBbNzc3LjgzMjAzXSA0OSA1MyA3MjIuMTY3OTcgNjggNzIgNTU2LjE1MjM0
IDc2IDc5IDIyMi4xNjc5NyA4MCBbODMzLjAwNzgxXSA4MSA4MyA1NTYuMTUyMzQgODUgWzMzMy4w
MDc4MV0gODcgWzI3Ny44MzIwMyA1NTYuMTUyMzQgMCA3MjIuMTY3OTddXQovRFcgNTAwPj4KZW5k
b2JqCjE1IDAgb2JqCjw8L0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAyODk+PiBzdHJlYW0K
eJxdkdtqwzAMhu/9FLrsLkoOTZYOQqCkK+RiB5b1AVJb6QyLYxznIm8/28oymMGGD+n/JUtR3Zwb
JS1E72bkLVropRIGp3E2HOGGd6lYkoKQ3K4UXj50mkVO3C6TxaFR/cjKEiD6cNHJmgV2JzHe8IFF
b0agkeoOu2vdOm5nrb9xQGUhZlUFAnvn9NLp125AiIJs3wgXl3bZO81fxueiEdLACXXDR4GT7jia
Tt2RlbE7FZQXdyqGSvyLH0l16/lXZ3x2cnbZcXw4VZ7SU6CsCHRIiJ6J8kB5GijLAj0mREeinKgm
egqUk2dRhH7WyulvH1vb2YXsD6StSbvWJPsiXS1I5H/nt7CNjs/GuKmFVYVx+UFJhds29ai9yt8f
c8GUBwplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZSAvRm9udAovU3VidHlwZSAvVHlw
ZTAKL0Jhc2VGb250IC9BQUFBQUErQXJpYWxNVAovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2Nl
bmRhbnRGb250cyBbMTQgMCBSXQovVG9Vbmljb2RlIDE1IDAgUj4+CmVuZG9iagoxNiAwIG9iago8
PC9MZW5ndGgxIDEyMDAwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggNTYzNT4+IHN0cmVh
bQp4nO1ae3xUxfU/M3fu3Ud2N5tsks0L2GWzCZAnBHfDKwRIQAgkIQmw4RESSQKRQCJJeINUsWJa
wUc1PxCt9tfaj221dyOtIFClorbUR1Ss/nyUXy1PtUor2jaw9/7O3M0mu4Hax6f//D4f7nBn5syd
xzlnzpzznQ1AACAWMwaOWcUlM5lH+AiAOrDVN6uivCpO7SsEMN4IIIyfVbVg+qePvtWC9bn4va+8
Kndc5/LborH/RqTrVqypb6MvCLVIv4t0x4r1HQ72UVYrADmJ9JymtpVrVnyR8mMA6XlsO7Kyvr0N
9GDDehZ+N61s2dQkTv1jBoD9rwAJ51c1rNk4PmPsHwH0W7HPK6sa6xsCsW/WYX0/9veswgZzbHQH
0nz9tFVrOjZ2Pcp5sV7BNfpaWlfUn779458AmHG8sGNN/cY24XP6F+xfgP0da+vXNNrp2O0AIo4h
M9ta2zvUemjAuo9/b1vX2Dbh9JfTUTkoP8kBAhT5paoK0VgH8hzcAwlQDSKn8LGg5EBjQEJaAFAv
4Xszn+8aD47QtSgmAMOCvnnKAsN/64E8HdHhF9qs1BX7san7geXRk7+EJL325fjFmBxevk0q3+ub
F3gbx7bjegZcPPiMgQvwfVCgDOrIWPgJvAgnYSschHvxW5xSB3H0IXAITohiEyGe3Q1WUYY4KRHi
yeMQg3tjkU4NzMVlHt5ft2gU7pT2atzhqumYCIzHRKAAE4HJmAiU4PoEKlA/BBbCEsyXQS0Qchgl
oyCwPfQIag7EfWI+LjMiWApvQBPVJo7U1eAzq7x8FjghCzZLKCI06fZRcAD5Lv/GJqIkDkxC/xS8
jMOcaCWDOq20YguDHJiuceeDm6ENNsBm3FfAeUOt9dAC62CTqqqnh6ZIjiL4NMJGeBxY8cy51dCw
YtO6Fqhbua5xNdS11HeshWQoBN20xSUO8MyorMZ8ZuU0B+TMK5+Ledm0hZhXls/DvLqyFL+i/ag4
K+kvob8MKof10yhlS/PKehil5alaHtcvP+nvRwZePnoMWmiwFY0OirSS4o5K5AiWFbg/AsxBLQz2
SQ3rcxjLeeSo1meeNuMcANmUKUMm9BATzYRnyNhRIxIsoM98hhYVZDlieU0YaGP3blg60cVr4vq6
Us8wXpPcIxJjonhNNzBCPzF3ZGI0rxk8Wf0145LSiWOSeC2qMD8jVetnKisal5aANegxR+mQD0fJ
tubE4h45hrT3VMSQjp4dPGuLIZ09U+OxbTnPbuVZbjx+KOdZK8/28OynPFN5NiI+OKKTj+jkIzp7
opNwWGsSJ3ntc56NSMLOy3m2h2ev80zl2VTeLzeFj+BZrhOzqZhp+6eDxdwymQHrtbC7v05Qx7f1
1yl6l5b+ugBpcGN/nYXVRTx9I/vrEtYAKqEVbsK3A99stOZWnKMBZiPNLboZVuBpbETLbsd6K6zF
0zIOz8JYyAcvTNKoPKS8EfM4BuZxRMx07dbwkTPwbYNNuF4zrIRV2BZaYSzWZuHXVmxvQY74HGtx
dA7WpmFLC5aVA6PaNaoRS877eswbsCfIkFUqGyp8fkJ21xwk6h1y8TC/QVhemy2TLIejpLlYJnXZ
Ms2SyRhntixkOWbKgntmpc9V4+hydM1u6HLMdKyqb5CZWyvxQ2NXTa5DhipfM+bVPqdcVJMyUG2s
qZmYLTM+DdOm6arBCW7un+BmbQIcH8iWxaxShyykV/jm++QdxSlyUXFNitPpKJGfr/DJzxenOGtq
smVpgEdH0Gg1bnVZsjQmW9YHZ6jyyUUpMtR0dQUpl1Pe0dWV0oUShOjnI+mDBIY2FIU3oAZKDpId
FdqXHS5nCm9wOV1O5LCmOFs2ZJVW+UqQRSeyaMySXSXZclSWnIaFKcufQXY5uqp8h4rQDlcc1MOu
at8hcAnn22pSZBdO7th10AoDbVxKc5ZctOugAxb7/GlQnHII0oTzxTXZQZ9Ejhv0bIgjpYJwDfcq
XUWJ4a0ifwRRpBiD9VgFASmGnm7o7Nef/+AjinoNlQRjXx7Gt2DsS9ZiX7IW+5L7Y18oYmmRaHXj
urWgh1BcYlq8onQ7zkLJVt6XGhGPWMAcvpz6Jy2/+K+wGBxzzS9f/r3v6hdX07xfeF+1Rst/iClP
fU71qU+BVT2gHgdQFOVikMtrc6qexfcT9RPMfx/WikhRRbSrfoDvRxA70F41wMEXGs/R/e2vKi1f
L3nEmmf+qW4E8bgV105HPFeAOK4EZqKXng1zYT763ypERgsxbnEkR7EfT1EQg8mEY2KxzhGgTkOA
RhxbgkeUjyZQioloc1CcpQojVjUmCosw6aEGE8N5F+NxXoZJwvlrNUQbo61h1mY3a1jTpGFNo7aS
pK2k11aiyOlMnHcWpihcczbOOBdTcFWirScg9wtxXr6SqK0kaivp8HvQPvUYgxqwfzFacgFGmAIN
+XBdzMGRPhy3BEeh7OpOiMWXox8z5lW4YxwRxWGfcdgnBmebpZ6HG/GdjW8pvhQWqs/BEvUN7O/j
twXk7OvTOrgLnvrnEnF9TWrpT3v70x+GJtpMXxZGCNuEP7Ip7FmmihPEXZgelYZLq6VndcMw1epe
1Q/TN+m79ef05wwZhhXX0/X0/zKdMOYY34/qEB78O3fzf/Ihn6tdggkW01K8Uf0HH6ZA/L8zToyK
HMfegXsi6L+qP/2Ha+eDma3C23kCZLJmyGGTIY++CXPYRvUiu0m9QpMghlqUPt6X16VfYt8VaoCt
gSy2Sj2stZ/CNh0Y6BNQwG6CScJXsFT8BWi3HuFz9ddCQD3178h3/bn+XH+uP9eff/1hL8A09huY
oytEjDoH+NUZY58wSpQRtUqIiE14q6gAGUp8Ms1N8dOkwhqNACTAXFjTwxCLx07oEYOFLljotUI2
ftBjCjaYgw3UKls+yBvrdMY4hRhCYojgJDcQpzAqMJke9yifKc8S02kqKAqhgYAo931f1AW20Q2X
Y+jGQC2t3UVrMbyqXcr9pAC+QvydCLIh1y9KsjHT53w35RLy1ous5Y21ZXg9Xm++jo54YHZRrPuz
YaOV++d3rq49eVAJIMpeTC7TH9LTKGMsoFx+QgZmyBtLnF4n3R74YBR1k8sXsPcY9c+IkbPwbpEa
1ISEwksovB+ksHE2T0J8guSS0tM9v5qxnC6dMWMpW0zG0EXTpy+j1d9ciqthHGZvoW7NkADDYVNw
NoKzkav0agfCNWbPPXDK/rmdLjtwq32Pnd5yINo+ghet9luxsWeEnazzWwa579FZ7HwYWP3Rg60y
sfqHh4uYbxMTEnSSjmfMJQj2cR6vJz0jw+7BMiMjPkBeCigmy58W1eksyv+oD5Wca7nPYpm35OLL
rXdbkt58V5QJeeXQh03Df9D22hm6WdlAVi9Z3MjeprQBF+O/JaOkohElNaKGpwflFFA0ISSnJjSX
M4oInOGoXD+EMSxY/bEReyI4beI40EngykBmkVc3+c5i5f0AUT4llhircvjKJ5fW7x9ev1z5lJKA
igwqfW/9VoVLdHPvVsZ/jUbMI05CjnSQG7aLIX4040Z+ZMkawQjr5QaBq6NRiFal4k3l/TeVBZls
Bzt6eQY7+gW3R0RPYi3OHIX316t31IiEMUQwJJi5n9AhoeM6AML4IZGCBR48XhgkfmRwdeLEf4KW
0x+SRaQucIHkKEeeUx5T9lOX8j4pEo6QSwFHII9cURj9lB5H/ZvV88IfWAU4IBM6glwl4nKJ8ddi
ZMDoKEvkSxu1AjmXE63+mDDrijPyD1vluNxEmVn9zjBFGa1+tz5sx5zpXikjPd3rScu3o02lp2ek
SzrRk2ZHmxN0kl3nTvB6MyQ0QimBdprp5n27D0s6kvLZToskiFPGTV9qVs7oSPTLB3tjqkRqI0rs
5iWum/aXJEn6KaMnbGb0Z3f4j9JpzuG5NxBaMo08dIyytx4P9BXNGmt7ma09TNgSZ55nKv+bknqW
pUgAVjy/pdxjaEKbUGhTSB2hEz1oqJwwWf3xkUaZHGGUlGakZ+icuDseFMueIKKcGek6Aas2Zht+
5Vc/rhmtqMRIUtase/DhpyWq/K9BiLpjW2VZ+tbeXJqsgvKKyL7ZKUHgnS2MfvhC4dQFuU8JrFOp
bGES4X85y8R9PM+qkfOZwV20InPWENt6JPSaIwrbJEFv5ZsYZ9XzTbRa/fZwpt0JHq/bgozTqTQW
+G44xyPTgmRPIB+WrbISg+4b72x48SwTSArJ+d0z71Dlb3PnnsiMZsaTtGYOWffzJkEgxg+9UURP
bpDYuaOLGpikvLWm9Kf8b0s56jn2AOraBiPgRkBVDhpYiGkRCTGkawMSBi5BYpii0XsNi1B0gt3m
JC40qBxk3OstpJxde4LXxq2KpnYvu5mkKF9dsW56rPG/qpggSYl3vVylF4w7N/jmZXSuvIuVs046
pg867mZk1Qsbp07KfvzK5sAzc8fLgthJnlotCj9A3vPUj1k8q0Tf7IBmGGQvfugxSQYDV21y7oER
ybnJ9JaePclkWc/yZHKL36yPECP88NiCowxDNkTMoV6vJxYtKFanc0pcLLskCXhanNq5oeLu91tM
QvS+P9//xjvJ1kAzW7t8X8c3ppwdU7Ypj+yUJNFYFkfu+vyeUY8Q/R7GlLfPbGneTtmWR5euFLbQ
pu3Jo9ImToPg3+OEBikJfXM1DDqBCFtKGSIqP+XEMCiS3uo3h3tHqxzTi9FFjuvlQcU1lXpQDrsu
3YXs6/J1LqG8e797vyX5bM+UpUl5rtLV5ug33L3dQtNJ0vLki5Tafm8iZWW+k1f2AVUvKvPZItR/
CoyCVWExI+KQhgg7EvaQFUUhERWNOxMdxcNfuNplu9U/IvIQp5GIqI2HwO4VBYlxJ+VF/SNykDSH
JcYNGJlOmjCcRP3myQVuIviHKSfOtL0y/du1u9fuT7Wuv/+RZw0CGVZe2l5TndnR8qBNR4dfJhME
tqmZXP7k3SuMLpv/kw2MbWmbtp7Rc4emuGpvEVgTOVHLhAMPzMYIcgVxgQVPTSxMBjk2dzAihaSN
RiJ6aNxAOOU3RZwTj+ZdnbZ+P4Seifhvffyxbts65Wy7KBg71i3cpZzlDkn45W7KTh0LLKRPZjhb
kJsrigTa76pAM8WPEatEwzi4mpEBw0AoZ+6Vzbl+XTgGcmKgFNI9+R5UHOosnWQrp4+Q1Mt06bSi
WkoXzZy6nE0kthk+WjmtcCmlFbic0qfMpOniecSaiVAIVztnzUxxd/2GsH00WeWEXjkh12+VInCC
hFun7aLXZkv3eMeFGPn4l/Z3flRcaR/nvmPY8RTqKympoZhzfi5/62cnKI05G0XpfWw9sU1fRCun
zlikcUc0jXgl/n8GbBwrRmiBC4w6RiFJFOEhJvg/PKQmtOKRsA2udn4RBq0duRDhQMIR2mItVocI
CxIW7neI4NBwQqIGmfAs2iINO9Jp6rSgpJlEyCZG6sKtw0ZetN/+bMNO+55jD3SbaLtypp0R3S0d
VcJ2NBestq1eeKdy9jCbtOU+Rn2lTzDhpcNJgXL6tNvRLGy1B3Kp3+24WRBWBSibyJFQAO04GmWP
hXn/SHYtjpmHxDGUkMcuLov5alkieT+WeNuhvffFoWV3iIK5vdWHrB5hk3Z0M+G9Y4EK+nSGo0lg
qwMMWaOQpZ5n2RhHzZAEBdfgLXSmIlwHDHHVZDjFCw4GIW8sCDzg9+MaunbP6/UWu/Ly2btfu8mS
TAom0YVlt31HZAvKt3ezMrrn8l5FUY4xendfNzGRyYH5da2U/eXXde2UfYnmpR5W6lgy6o0jlAUw
CBtD3JmRMEewGj0Ux5kjsQobilUkyg8GugS3zsM4VuGAP4hVPCw2fteJLQ8vWYG+QSDM1kkKZQ5W
JFp645aK+e7NTbto8o+Uv+4Q2C0KiO+RNTv1p54rnFpXv46yFmV6IxO+H7R8wYSY0wyzepglGjcS
Br3zNW1+AApEWf00LFQaosQg9sVAwjcbec4fZ6fnJ7q7fdtwm4khuenBMQVCppF1BiajR9m518LP
nkG9ILyOHKTBcrh6tVQkUjWYm8qhUY9Jn9p/jixhIQ6datwg2eNIpbxTqtU/0hDhajMy0rwanLW7
PRkj0cfY7WgeHFmlZ4gJeEmh6623LlGOGkQiHnzmI6qcp9+eXh8VvWtU133lgnDrh5sPXKTEyL5X
1kjGVqTZa36/9xilv3iEfItOL6hwGpwLtvtW7qsW6G8eow9R/r9xClTE9mIxxu/+0xWHAsVF2AjX
ZZxVJr2Y+2PCpGK93EL0YRaC3eJ75fhc7jR5pNaQh07D7DaXN99Gp+YecB9YKqV6rDPjShd9a5dp
2V733hyxWPnqZOCjfA8l0odJlP7oXjrpJDFy7U9SLyDQmoinvx+rapYa4m/ghsWJGCRitKsP1QV/
GAiPZLLOKkcjonAHuXGG0B7ew+hjG3v2PxrbSZI3MMHYePvCO0nqEeVvbXcK9IMD9EhgmnNYg8Ca
qXr5JeRoKfqjHORIgoIe0OkHLFK7oEUYYYSP0hgThYHrF65LTpDxJC/wpfLnQ2Q4aaRvX34J5yX8
12vxM6yZoK5HNFuuvUKEFUachoGrRvglpAeiBO03lWBhjBrkxCXgP3R++cJJQkiSMuHTCuX4pxVE
H0NueIV0UfnyS/QHgSVsYmARfYJ75F8rN7IpyF80TIFBJBFaPoJLbXkOokDiZ9dvjPAfuLgkuUZm
eHEjvKiP18gNZGLgzuJnNubWxGd0FRX6SRrZTx+57NrzzfgPKGtuZ5m4/in0CZdwfcPX2kTE/YWB
duJ0Vr8Y7hJEnaYFt4i4mLi9Th1pJ8roK91OukRxjxZKHZ/QC8/RPfTjQxzHIOBl9yLWTYBkWBtc
OQkXS7om2o3AwQlIJFwVh6/GwZZIHByr4eD4IA725ve7Bl06dw0aEubQaFb3w+n3GdzE+nbVd8un
dHWu2GEzvJ/+Wjft4DApBWHx+FdOUepK+FMeXb4wB2GxFlc5cme/kxIRH7X2sKTkASuzIXu2lPD9
iw/HDCFCiyUhkQaAsy3C5/IfPvRhEprQYfRqHnhAgCC+9+bbRTwRTyycsmxDtJmjeeU0B/mm5EvH
Y54kXkVVzogjTQvLy5F9DvSXya8KupQ+I+4KyqEzS8kwGrLhWE9cTi7faHREmb0wqPuUwmvABc1h
hIiRSIwMEVlIZH39JYYTbiTcIWIMEmM4IXzt9SYhAlLx/XX1ymm9ckavPOpaFx68sKV58we33atp
zaltvXYRikq8cMB7E16E5jRHW0mZlEaMvzVWPzp/2u51S3fGG95zv96tnOlWnuhmZ5Uzh0kqV9+C
o69SEo/3pLlzatPeOk2I2/5ZLvUtyyGafjUT0SxENx/tfQx8rycuM2vAQiIUom39v6jeCCUmI5Ec
ItKRSP/HShyuHQzUmptrTR49VHFcUW6vx+uxc7uyhdubM3R9PNczaRlqbV6zOZosMqZ2b/v5XlKq
gnLmQvX02o0W0xvuN/oVxzW2+smXtJtlxZwaUnZy5QIqpvYZxZFRi+aV96sM/g9DRayoCmVuZHN0
cmVhbQplbmRvYmoKMTcgMCBvYmoKPDwvVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9C
QUFBQUErUm9ib3RvLUJvbGRJdGFsaWMKL0ZsYWdzIDY4Ci9Bc2NlbnQgOTI3LjczNDM4Ci9EZXNj
ZW50IC0yNDQuMTQwNjMKL1N0ZW1WIDEzNy4yMDcwMzEKL0NhcEhlaWdodCA3MTAuOTM3NQovSXRh
bGljQW5nbGUgLTEyCi9Gb250QkJveCBbLTcxMi40MDIzNCAtMjcwLjk5NjA5IDEyMDQuNTg5ODQg
MTA1Ni4xNTIzNF0KL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvVHlwZSAv
Rm9udAovRm9udERlc2NyaXB0b3IgMTcgMCBSCi9CYXNlRm9udCAvQkFBQUFBK1JvYm90by1Cb2xk
SXRhbGljCi9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lE
U3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBw
bGVtZW50IDA+PgovVyBbMCBbNDQ4LjI0MjE5XSAxNiBbMjQxLjY5OTIyIDM4MC44NTkzOCAyODYu
NjIxMDldIDM4IFs2MjQuMDIzNDRdIDUyIFs2MzAuMzcxMDkgMCAwIDAgNjA0Ljk4MDQ3IDAgMCAw
IDYyMS4wOTM3NV0gNjkgWzUyNC45MDIzNCA1NTAuNzgxMjUgNTEwLjc0MjE5IDU1MS4yNjk1MyA1
MjkuMjk2ODggMzUyLjUzOTA2IDU1OC41OTM3NSA1NDcuODUxNTYgMjYyLjIwNzAzIDI1Ni44MzU5
NCAwIDI2Mi4yMDcwMyA4NDQuNzI2NTYgNTQ4LjMzOTg0IDU1My4yMjI2NiA1NTAuNzgxMjUgMCAz
NTguODg2NzIgNTAzLjQxNzk3IDMzMi41MTk1MyA1NDcuODUxNTYgNDk1LjExNzE5IDcxNy43NzM0
NCAwIDQ5MS42OTkyMiA0OTguNTM1MTZdXQovRFcgMD4+CmVuZG9iagoxOSAwIG9iago8PC9GaWx0
ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMjk1Pj4gc3RyZWFtCnicXVFNa8MwDL37V+jYHUqcLG47
CIEt3SCHfbB0PyC1lc6wOMZxD/n3s+W2gxls8aT3JFnKmnbfGu0h+3CT7NDDoI1yOE9nJxGOeNKG
5QUoLf0F0SvH3rIsiLtl9ji2ZphYVQFknyE6e7fA6lFNR7xj2btT6LQ5weqr6QLuztb+4IjGA2d1
DQqHkOm1t2/9iJCRbN2qENd+WQfNH+OwWISCcJ66kZPC2fYSXW9OyCoeTg3VSzg1Q6P+xcukOg7y
u3eRXWwCm/OyqCO6LwkJntAuoTKhJqEd5b1kENd8t/I5J1pekCka0pYiVXkms8nJKfg1PTkTU6R+
xBOZbWpL7JMzybcPlw5SzfjJuIzbBOXZuTA82hhNLc5LG7wt1U42quL9BfcolWAKZW5kc3RyZWFt
CmVuZG9iago1IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAv
QkFBQUFBK1JvYm90by1Cb2xkSXRhbGljCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFu
dEZvbnRzIFsxOCAwIFJdCi9Ub1VuaWNvZGUgMTkgMCBSPj4KZW5kb2JqCjIwIDAgb2JqCjw8L0xl
bmd0aDEgMTI2MjgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCA1Njc1Pj4gc3RyZWFtCnic
7Tp7fJTFtWfme+wzyW6ym10SSHazJIGQkJCQBAPyMiGQgEQSIAESEkhCAuENERAj2iI0Fqm11ltq
FRSL1sf9sqUKrVZyiw+sYJBYtNVg1SoCPkC9VmC/vWdmH9ldYrG/+7t/3N+Pb/hm5sw3c+a85pwz
G4AAQCxWIjhKi0umiCnCqwB0MI7WlVbMrLQ/JXQDRCk4YWRp5ezJ53afaAMQ6vH7xZmV2bnr6+9I
w/mbEa5fvLxhFX1P2I3wOwj/cHH7OseIDvF3AKQX4anNq5YsX3gh4QkA+TEce25Jw9pVoIU47Gfi
d+OSto3NTz/94V8B7Lje3t7SuHzD5NEZlwG0jTjntZamhsbLJ99YgP0HcH5BCw4Y0jSdCG9AeGjL
8nUbHp1gaAEwv4d7XGxbubjh4YWPxQPoc5DmLcsbNqwSPhfMOH8MznesaFjeFPtS1n7kjeFMWrVy
7TrvcmB7VbPvq9Y0rcpoL8C1EvJHhgMBivRSrxdisA/kBdgJ8XAjSAzCJxo5B5oLMsICHwHvUoZv
gAdXaNpUI4Cu82KOmq/b5sfRP+GPfIS6Yh+X/zlnYcy4r2GQln85/IV5JGvfJLP+cjHH86Zum3Yt
ztXh5r4nAz6BvaAiZfVkFDwJL0IvbIYs/GJR68FCfwkOwQkGsQgs4g4wSQpYZDtYya/BLB+CaPmU
HxPjN8mPM5pDqCX+cspAD6lYCKRjITAc9yW4SxbWBTAG6yIsBEpgBtYVUIX1HKgDQv6AvDFcgriP
PofSA2mXlIfbJfta4Tg0U75BuLz6n9KZM0vBgTttkpFNaNbsogiSh9g3sQj5cWAR/ChYa8Ga8FaE
VdjawYQjWsRQBJPgBpgC05C+OdCKXzehfiH4pQS/zMIvDdAGa7xe74cDlUjdRdCthw3waxCLp0yv
gsbFG9e0Qf2SNU3LoL6tYd0KSIDxoJk0r8QBBTfMqsJ6yqxJDhg5Y+Z0rG+cNAfrWTNnYF01qxy/
ok15ESvxt+BvfcIS/TBy3da6pAGG8Xowry1+eRD/PBJ82eoMtFrfqBbfibylqGmZPIdtBWpMgDLU
Yv+cwSFz/oDtDPI8nzODYyzj9GhgHpO8qMN+HTT7+wTXBMbZiZrl7wt4msb5+2JIX4I0hHx9GXuA
K1bCInzX4ZsFk7Fuw3M2B5pgDaxFLa6EFWgBuTASRkEeFMJYDuUgVBi21hFcG2hDv96A7yrYiDhb
YQm04FgAyyjsleLXlTjehrs60EpWwGLcz4FW04bFgZgCq9ZyqAlbRl871o04ExTjCAVGgJsY6Ah4
lowalhwfDdoRz9LiokxHLOsJwTHxnpsXFLlYT2qvLy8YwnpyarLdbGA9zeSCjCS+QluUnWKPYT1d
Qaa/p59fXpQxiPUMl47uXlOCPXAbDRrc3VFya6u92J0TTda6FRNWFSayzr2FVatMZL17ggXHFrLq
NlZlW/DDTFatZNVOVv0nq7ysSrb4VqxnK9azFevdMXZcttLOQNb7nFXJdpy8kFU7WfU6q7ysmsDm
ZSewFazKdmA1AStUuAKZ5YquorqLkLtrDhDvVqV4SJdOWFiXpZBMh6OktVgh9VkKzVRIhjNLETId
UxQhdcqsaleNo9PROa2x0zHF0dLQqIipvMUPTZ012Q4FKqtbsa6qdioTaxKD3aaamqIsRWRoRI6m
swYRLPUjWMoR4HpPliJlljsUIa2i+qZqZUtxojKxuCbR6XSUKIcqqpVDxYnOmposRQ7S6PCJnFOr
yVTkjCxF68NQWa1MTFSgprPTB7mcypbOzsRO5CAAHwqHDxCIHJgYOoASKDlAtlTwL1tczkQ24HK6
nEhhTXGWosssr6wuQRKdSKI+U0kpyVIMmYoLG2NmVzrZ7uisrD44Ec/i4gNa2F5VfRBShNOrahIV
FyJ3bD9gguAY4zIqU5m4/YAD5lV3uaA48SC4hNPFNVk+P0MO67RipHcUhFDA18hYJCkI4oDMhoKP
xB5BktCXUS12QWCQhvWuPf9njyRrfdkH3HTV0oJ50cDlobDyHrxHCrDcghkBKycjC82jj9Bj9JgA
A5ZNwrtirni3eFm6UfqzbJKn89Ii92qSNSs1vZpebZx2k/ZlnUk3SfcT3dv6Ifo518q18v+ydBus
ht8ax/rzyRzMGX35ZALPJxN4PpngzycDWSDP7pY1rVkB7Oj6cj2R54BUSEMslJrYXPokHYf5sCns
vMdyHB9EugHvWW+P9yvv17x/zLsdfDcC8P72SpfhPc/rL9iq7+dkvJ/6au/nvP2I56zfPfv8VbB9
HZg18EzvlwOP+OkeYI13H2b7+7w53he8273V3qfB5N3vPez9Ark3qV/4eA3U3+eJlK/3HK/f+s75
Pvm8w+v3fTr6dx5vL+PQ+wZy8Tusvw77thitw4L3uXS8yWXh/a0I7z5TMMudBtPRp8+CSn5DmgcL
oBZzeYq7m7HE8DugzO+AFLPrQrSHMVh0/PYXjThK8BbAsBAox0I4LgGxVaLtVWERYC4WPdRgkRD/
PLTWBViicJ9a7NdhMfD9+m+bBqRxOK7v3ymG7yQhxVOQmlIs0bjnNNx7OhYhZFfKd5WRlzm4R/9+
xpD99LiPg58jAzwHbtiCWXsb3l+qEPtE/73WgNSwO28Bl1UZYqtGXLX87hOFdSVqiN2HLDieC/NR
ViKUek/DVHyn4VuOL96IcRbF+gWY7z2OvTHeY1CEejZCqnciYrZAibcP153FdWdx3VlcdxZxn8U1
H0GN9wzMQzy1+FIo836GWM5grxpP0HzvKUyifvwdvz/8G4+QACtoJXT8O2voZLj1u75Ji1ArrB2H
MsNH3AJ3iIvgjuDa2XDf1fBLibjmLJSIX8IwDo/14fw+j1gGxeLtsFLMhMniHfhWwlTaB0PEexDf
JmihybA8SEsydMif4txboFW8E+fiOj5+FseGwBi6H/RsjWiAKOnvMFiMBasogoBt2fel59pz7bn2
XHuuPf+7R+wDi/gxDNEshyFYMCiw2CcMkxSMwzLmCUbMEipAgZJqhWYndlH7+BoOAAJgHF/jFimY
Y69zS75G42u0vFH077iNvoEo3wA1KdHv5IxyOs1OwUyImQhOkk+cwjDPOHq4QP1M/T0xfkgFVSXU
45GUi3sljedWevMlM93gqaN122kdy8dXkEt0D/0QKYwFpKqLEEU/otr5VuJXNTmjiDPfSfd4jtI8
cukTNrvD+zV5kQzH3MPlFoxRSIaPHR1yoEMOugQ5ZHnh6IK83HirRXalpHXUTimtXTC1dMHdJXPm
lBTPno33g1sR22FxAaRBLF4WNFh7hTyUlBKTnTMKswiMqNIClJ4G86FS30YibiQG5MaFaPQDMgIy
E6JOpEw8uuwu6OfFreejjCUUEy+CcMBzoVHtpkkknjrVbk8faXuWZKq9KKsKmkydPDs6J16SDsPg
wP4G3MUQ2F9AQGD7G0xKTA/WXbH9OyqCqWtQGKgM7sH9ZXA6wJw/OnZoXi7YnGlprhRZY7XE5+UW
FIrfmtWXvaCeVl/4GYl75jIZbVd7Dds6f34f3bnrrh/pyT/OqhfIRjKt5g0y8Qn1wlc7bjv5/opz
f71tK9KK+Ys4C6VlwHyvXyIBWrngmHgMoszEY8jeX2QoM9DaUCkpoqmLhoCyqUsbbg9mp9X/Cp95
DtG9l3OEY2hNE+nN6qbzkvKl+qifkgKkRIfZ7ndrza2jok9R7od0pHZ/m26zjta6p2E/kiY5koh+
EtReYb9nAxJQ6XmK7b8d98fsjXTzUzfkX5w239Eh3WovycTJaG+M7i+wGw02WOyW7IMYeZJJie+5
mvFFIRDFeDL5jM8UbnwG4JwiJ/FhnLgYJw4RT4iGWJ0ETSB/dJrLRX/1udpLhxBK7Lf/gIxV/6jC
hdWb1288T62es5Ly0Rv3vTzW81S0oF3btKSd/YULrfRhtNJ0aHbHDhsePJV6pEofoDcJgSRGopCk
Z14kRp/E3coVRmsLIdzF5ypJpq7UMMJHpw1NT8sfXcDOd7zVOZoZMdqwTcTTLrpShqblOy3O3AJh
/Qb1lfn/3PrtLx/4apva27FmxaaddxE4o75/4TH13D0kiziWbSAds+c3jbrzg/aDLauP/aBxZe30
0vqMGR/+5vmTt/xlx/m5yB9m2OKr3A9kD2DZQUWgtYbZTU/AVvKd4qvqZLVXnSo+LD5/6Qbx+S8R
K/MuoxGrDGPcoNEGpUYQHwkglxCQIs+7G4jgcyY+T0IfIGXkRlVSX1Y1ZAZpFUsvVvgsqhg1I4s3
QhLe1Db60NsQic0ScSrDwwAVbUxDBhv4Tqp7p4HUKjZTV0yIamINbNJmJTbbzgwrOYRzdEQubYi6
nGnpzAWjvgrz8n26cvp0ZzXH26yp6HnyXSkajSWevm/RtT720HHv+a0zKqdVqqfW9f7wlbMkw/Pp
xLaEtrejyfT0ovUHfvzkATK+fN6U6+t2zz/yjDpi10zzketyfv9zc8EU5Hkl8jxeBox1iWiPcYOH
MCbiTIoBT5Eum3NqRE6NlkgvGubFJSNzU249bxSjqSsu3ErtYfZooq6UdA1TNnIVa05lTGrM6FML
C8TxfS8rrVHqZeJsfOSlv6unWpZ0js6/68eZVhqnXlbf3bZWBs/b69V31X9Ke+9frc5e0zkZrWOy
95zw36i5wTDDHT8kKWgdMUhgTIB0LQJaFvZCD7ugjWGUx8Uwk1JiIs48E7YzGsllMQBQBf4QYMXj
Q0dVNFISQ9qPbj6tfkX0p//8NVXP08ZZTUua36yetuLZJpJOxLiLJOPjQ1Wt9z6atO+nKG+kVDTL
7C/kdvRatkEJbFubCe0fUJz9Io4kul8TXN6ClsubN//CJeSMihsdm5drY+eKWRVNZaGr0Iw8TP7g
xQeXkBT1UnTbb174mDiXNt1ZWLD1OE31kMx2OuwirN1Gsr75j4dXkydWI91Tke4klLAVvXS7Oz4p
mdEdb1K0fm/L6bREno0ELT8UCdn7kxOyE+hq984EUutemEBWdxn7bV4BU5cp9LCAka3SRihDSoF8
jMTcZqzOeMaITZYFDMjO/LQ02vCZ+mbHxz/r83pmRu9o21d396S+x+YsiyE/pY0WMvTLwY8QchfG
am/70i0bH1qwRNiwrs1W38ryJMz+aJ9sBQs0uTXW+KD1cJ4SQg0/wKAJAVMkt0z2RNfPFdIfFaIZ
YlJie5Q49HN5Zlc+Hm1kxKZBTViteVaX+Y979hx/btxcYejoR06eFJp7FzxzxPKe7hdzey/vYr6p
RJ0jpqD8EzH/+oF7aPowJqGhJsXol38YefxcBgA7AvYwC4pmFiTbmQWZjPYIC3LH8y+KPdxLIW9D
r7SrQqfZIjNvlV7IUqL8fGZj+VLQyOSST4+4FxuJfPuZX938ftGWtl1rtzQ+8qfzxNm+5IfXFd3e
cjNN/ZbkbGq+dObuN1YsLFc23rK6aDUZdVl3777F5OXFv0HttGA8icETY4IyN8Y3rh1Tdn8wsYQ6
/ytCPFDJl3536cN8UEGeIw5Phc/1sMziR2ufJvWSeqqi9rbr1FOYcB7uVJd4yulTtTWLLntlpoPl
aCxd0seYqUTDBLcmxsQwa0wK9MCV5AStAjP/qB4kqEsOzbZ5NhPIuFPSyG61Dw/j0bnlZdU1P60R
i4h9UlXVpMlV7P/BdOC+u2WIyJASBs6QOCL2B1DCfnuSO9BmhsAGt8hP7AC2okFAE0Z0AODZc0Cg
cQjEBYBEBBKZdInGwK9AvEFRhB5jxc5Cuo1ZuS94+aUd1y910qFbe/j4jWtOKE+qfVPn35FL1FNl
NbcUqqfEoo07Hn306DHPDOpeMHuzZxDtqqtq9ggi+y21lVkE8mWGKrcxNm5gvsJY4UwGqOdBgVMP
GkY2mrYxzDY4vbYQ6yAbdev+9ORjlFnHpusZdbfe8+oRTwndv6CyxSMhUX7PfgNSFQWDoMRtTkhk
uM0+zx7MHiJl22UOz50jfDcL+2CzWQAvIfxUFfgygsmbP9n1N2I1UfWMmql+Qpzr2lrb25ctXUfT
91zuVL/6qOxb9QTJJFS765E9Xff/+lEW6dV68XqkLwbpW+WO89EX109fWJgPc+fcnURHplWSVuAx
iDdXjfkWFvPZQbNFxHzx+g+69zbhiTPqWx9/pU89tax5e17+9tdp3EX1xBqVSn9d2qG+pV6W79/b
opYs89s1PcElXeoWo2OC+udCHZCDoG8whF2Z3DqD5EsNA26Amyt9fWzW3jwkyayduysnQxihXekZ
Jxbdfl8U230M5hpv4O6pUOtOTEsPjxaWyBNCE3mkNmgT/SEtJiRCoGuw9riTfd8SMQ/Uhaft6UPz
fS4imLPH2/w3dMzZWQQsoAdb16kdn3cf+waNc/a0ivlvlf1DPbL9xAYSKy6tqZxNRuRfb7/pm590
/9cvx980OS9n7IjEqtd/9mzD44tmzJqA3Oi95+gOqRhjX5UbQmIfP++WCG/KzIX0oL/D04XxrEsM
4SUq7PaJtqyY2Pk3s9jG44FVdjkEFvnM5MjBgyMn5aTOnqf2yA8+KBWr/93r+XDcaM3fEkgeLe0l
eibnFjxPMXi0TEhZwO9fEdw4ZQEg7JLHQzSPAFF0oAiQysMW6tzCYhWqnn6z7Pmnn6XEueveQnTF
X6y445Vu+qKn5PFmql56iVGE6hcuIUUD3kHCTC0yW3aD5L+DxPnuIOIRMlK9Vz2n3ktGkgb69qWX
uGcbjLecbuwZod4tRUUPvEOYoYXZ/MDJORj4QZV8jd7QT4lLEFzEGReXJw6+m9jUcxeOHj2vniO2
HS8dJz+iXZdeoo975opFngqqMP6t6HeZBzYEfikII4vfXwe8KgW8rxv07Gbtln2NAPzSoJMhSBD7
nYfV1PAMyVdfI5PUV7sPqUewPUoK6DfkBs9nnrdIlfokHUZj2f+bVctFwm2k2A0hNhJGWNglIODL
3BDDdo/ICpAEDdpFer4NE/9CpEN4hRSoM+wNpyZMypx1ky1F3UoKyS/onktJ1/XG/Y3kFtWI1/v+
/6LwGtKhgylwZVQN2GXYxUME6o+ZUqhDkjRcGKlOqzOf/aBnJX+g5ssdxKPGCos/+UShu888waKN
BXVRhzmrFb35Vrc2we9eFFvP1XJXMwLmsOTwipSFAfEIxA+c1UaHZ7VxPYolmNUW+LLaYFrLcpLf
7dlDv/n7tu6MRW3jX33zTbqNpSiY4ua+9u7Yz4eYf5uJOS6LoTwTF5uRq3io87ERi1TEJoTqLkBs
4EfMcGJjr/hJTBNCu6EHR5ToHp/D9xMYJFsyO4XiOWWHT55U+5Di0733k0q1T3Lo901DApHequf+
7LhoYNJHOuVPkc40yIBud9yITH8sHeaXvhXpsSaEnterXyP4Tz4BYDgCwwfUSwoCKQEgHYH0q189
rKauxHCdOXoUZ48ytEdJHeg+4rxSjazgv5BbCmlEpd75p4xFy5lS1T71ASnKr9jA3SVUwUIzVzIJ
yi4dHnTHhfz+9T3FlIxA8oCSCbvouBBwXV0yWhaBMXYpg3uYWFAmKUwmStp3iwXNxBwmlzCZkLMn
fkLmqX1zyrkdqQ+EiOOmF5j99BsUu9nB/wAy8pUeCmVuZHN0cmVhbQplbmRvYmoKMjEgMCBvYmoK
PDwvVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9DQUFBQUErUm9ib3RvLUJvbGQKL0Zs
YWdzIDQKL0FzY2VudCA5MjcuNzM0MzgKL0Rlc2NlbnQgLTI0NC4xNDA2MwovU3RlbVYgODMuOTg0
Mzc1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL0l0YWxpY0FuZ2xlIDAKL0ZvbnRCQm94IFstNzI2LjU2
MjUgLTI3MC45OTYwOSAxMTkwLjkxNzk3IDEwNTYuMTUyMzRdCi9Gb250RmlsZTIgMjAgMCBSPj4K
ZW5kb2JqCjIyIDAgb2JqCjw8L1R5cGUgL0ZvbnQKL0ZvbnREZXNjcmlwdG9yIDIxIDAgUgovQmFz
ZUZvbnQgL0NBQUFBQStSb2JvdG8tQm9sZAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9DSURUb0dJ
RE1hcCAvSWRlbnRpdHkKL0NJRFN5c3RlbUluZm8gPDwvUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJp
bmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwPj4KL1cgWzAgWzQ0My4zNTkzOF0gMTcgWzM4Ny42
OTUzMV0gMzAgWzI4Mi4yMjY1Nl0gMzcgWzY3Mi44NTE1NiAwIDY1NC4yOTY4OCAwIDU2Mi41IDU0
Ny44NTE1NiAwIDAgMjkxLjUwMzkxXSA1NCBbNjM4LjE4MzU5IDYxNC43NDYwOSA2MTguNjUyMzQg
MCA2NTMuODA4NTldIDY5IFs1MzYuMTMyODEgNTYyLjk4ODI4IDUyMS40ODQzOCA1NjMuNDc2NTYg
NTQwLjUyNzM0IDM1OC4zOTg0NCA1NzAuODAwNzggNTU5LjU3MDMxIDI2NS4xMzY3MiAwIDAgMjY1
LjEzNjcyIDg2NS43MjI2NiA1NjAuMDU4NTkgNTY1LjQyOTY5IDU2Mi45ODgyOCAwIDM2NC43NDYw
OSA1MTQuMTYwMTYgMzM3Ljg5MDYzIDU1OS41NzAzMSA1MDUuMzcxMDkgNzM0Ljg2MzI4IDUwOC43
ODkwNiA1MDEuOTUzMTMgNTA4Ljc4OTA2XV0KL0RXIDA+PgplbmRvYmoKMjMgMCBvYmoKPDwvRmls
dGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDMwMT4+IHN0cmVhbQp4nF2Rz2rDMAzG734KHbtDSeIm
6QohUNoNctgflvUBElvpDItjHPeQt59tZR3MkMBP0qdPSMmpOTdaOUje7SRadDAoLS3O080KhB6v
SrOMg1TCrRT/YuwMS7y4XWaHY6OHiVUVQPLhs7OzC2yOcurxgSVvVqJV+gqby6n13N6M+cYRtYOU
1TVIHHynl868diNCEmXbRvq8csvWa/4qPheDwCNnNI2YJM6mE2g7fUVWpf7VUD37VzPU8l++JFU/
iK/Ohuos89Vpys91pKdIu2MkXkTKM6I90Y7oTHSI5AWBijJ6rt2LX6/7aPxAZlSdF6QtyfORWvAY
zFdrcilpgiKlkpyCJwqSvKDJ93ydgDzDAsKh7tsVN2v9YuM140bDLpXG+8HNZIIqfD/oZprVCmVu
ZHN0cmVhbQplbmRvYmoKNiAwIG9iago8PC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFz
ZUZvbnQgL0NBQUFBQStSb2JvdG8tQm9sZAovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRh
bnRGb250cyBbMjIgMCBSXQovVG9Vbmljb2RlIDIzIDAgUj4+CmVuZG9iagoyNCAwIG9iago8PC9M
ZW5ndGgxIDE0MjgwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggNjY0OD4+IHN0cmVhbQp4
nO1aeXxTxfY/c7ckTdom6RJoC00augAtLV2xIBSlRUCkUpaWtUgLFAotUDYFxQ1KAQFFQFZ9D5WC
ym1EIUWlfB4g9ClWRJ76wCcuPxBZ3EHa3PzOTBKahMLz93nvn9/nwx0yM2fuvTPfs8yZc24BAgBG
rAQw9++Xm8d/zz8LwCXgaGH//CEFHWThMkBgA4C4tX/B8HsuvvhJOQA/Bu9fH1KQnFqV/s4b+Pxi
pIsnTp9QeS0toAPSXyG9cOLcKnPXHaotAOQk0sMmVU6ePu9a8S4AaR+OvTN5wuxKUEMI9hPxvm5y
+YJJ5ZfW/QwQgfN3mDqlZPr8u/L6Ijh1FT7zwZTSCSUtU088jP3N+HzmFBwIqFeNQ3o+0p2mTK+a
f3S+MQkgpBjXuF5eMXFC7SX5B4CAHMS8ePqE+ZX8FV6Dz/fA580zJkwvNQpJAjJfiGOhlRWzq5zT
oQT7hfR+5azSyr9Mun4MeUeeyQAgwCFezumEYOwDOQCrIByGgUgpvIKQc+A6gYQ0z0bAOZXO18aF
b6jKFR2AZsD1SGWgJsU9R+sD77ERzmr8/PxLjeODe/0G7dXszqEfDd1o+ykZ+uv1SMenmhT1bCQ1
uLjr6gJbYDHUwHw4ias/AKNgKRTDCEjnesE7YINn4BA+FaoUQyi3Ccy8BbRCNoQKK0EvyhAqtYMw
8goYpAYIkj5Hblx4Oejonj+IUagx9mMocfVY6Iz9JCwEUqA71mmQjnUm9MC6J/TCOhelRRDJOCBk
P3LIAS8sIatRgiBuFNNwmWhXy38Mkzg2sbdIcryI/kOG9IccSGzmJVAAJqk2cmAGso3eE7KRDzMW
3j0FbUOxJqwVYAq24aDHEQm6IaoBMBjyEVshVMLDzTxqGCAR+uL4/TAEhsJImACzmlHzzm/9i1Tv
rzlvHUMAauEVEPrl3T8MSiYumFUOxZNnlU6D4vIJVTMgAnqDqu+oXDNk3jt0GNZ5Q/uaodvgIfdj
/UDfEVgPHTIY62FDB+FdtCcnzkrcLbhbl5AEN43clpdNngAJrI5idahbDsT9HLnxo293QSm4RtX4
y2Eth5qVyDvY5qOeeBiI8ml9Jsrrmf3YDibvsmcGsxkHMjwqtDuUuID7DfU9xt0n+E6+u8+hJd3j
7vNe44JXX4Q4XM3Vl7AHqI0KeAh/VfhLQqoUJsMcKKcaQssqxXo2lOG9Gaj/VNRud7TDLLQ/SlG7
zPJ7x3u+e/FXCQtwtAyfmIJjnre6Y68/3q3A8XJ834y2MQMm4vxmtJNyLGacyfPWbEaVYkvxzMW6
BLrJuq4ydAUb0XNdic1AsN5ryE6JjdSDuivsJff17GYJxe5ervC+Hgmsxw+9Nz02nPaEcYN7dW1P
e2JmYkz7YNqTZo7NS42kPdWaeWOyrbSnfnRy/l0RtKcZlpsZx2YJmFs8KLMD7WmfLHnA9Zzuc1vN
xF60Fxiq12kk2gvqlRofZaC94Jz0zh3Yu/r8vi5UYDNqVciAOXdRWbt+tj4RZLZtPK0eo1VyBKmy
DaFVBa1W0Wo3rZy0io4gc+gbc+gbc+gbc2zBHem7tLpCq+iO+Nx4Wq2i1Ue0ctKqT0d8uIJWyWZ8
rgIrNAIZEgfJmvzCOkKeKdpHnE/LT3Wo0/DjxyXJJNFszi3rJ5PiJJlLlEkXS5LMJ5rzZD42b2ih
tchcY64ZUFJjzjNPmVAiC7GsxRulNUXJZhkKCsuwHlZokXOKIm90S4uKspNkgU4jsGlqinCCqe4J
prIJ8H1HkiwmDjLLfFx+4YOF8uJ+kXJOv6JIi8WcKzfkF8oN/SItRUVJsnQDo9klT4ZWlShLXZJk
tWuGgkI5J1KGopoaF2W1yItraiJrkAMP3eBL7yPgP5DjPYASyN1HFuezO4utlkg6YLVYLYiwqF+S
rEkcVFCYixAtCDEgUU7ITZK1iXJnbHSJdfGk2lxTUGjPwf05cZ8aqocV2iGBP19ZFClbcXJz9T49
3BijXAYmyjnV+8wwqrCuM/SLtENn/ny/oiSX7yGHNGrBz2FyHAc3XRJeost/iWqkQBKRVEue+yK9
eFHkOJFTYxd4pASVIPjPfuf6L16iqHZFI+hDb18Ww3qw/6niJOPJHnKd6+UuI1l5hDvGHeOj+WlY
jgrpwnhW9oiam8qT4tdSpvS8pKgeVH2gNqoHqTeor2gCNHM1BwP0AXOwvKmN1s7S2rXf67J0j+oO
6Rx3yp3y/7EETgq0B+UFveWOMVMwjnTFmBEsxoxgMWaEO8b0RIYs4ptWOmsG0K3riv8EFhdywgac
heMT6LP8ZX4SRsdGn/3OKOc3bsrQlktw/sDq79zUBVZvdFO/4e9XWmN73PkYuLIHSu1vc66fWP1j
67x/9nJectXOK6z9Hxb73v6Nn/7ErL95obrF885fbj16qzedz7N6C2YSz2H9krPOucq5D/TOFc5D
lHvnmxDsjHO2uyGLH2+L8n+c56i83Jo4e9P9E228800bYxdb61uudcnryc/8rAWcT7P6F0/tnIsS
DL5xlyFT3rnd/H7zHWD1Sfq1wPmIcsnrzkzvOZ1nUfOfOv8FLBv3xuM81Mas3/15BF4XgQ6YOxox
442DeEjAvDeJ5Qg03+3BMt1cyMNsgWaPD2IeUICZ5QjMhsbAWMyEOJZ50mJgxYhFj3PFYn4Tj4XD
edKwzsKiw/l6YG7dE0swztsLAnHuXMyt6OwEBmEhbA0eVynA3TsMC4/56kjcz0VYRFx3FO73MViC
cP2x2B+HRYsrRDAUYQxBGEPAIUdxuGMojkDkLAFn74xFRP5S8CmKjCCX6fgeRRbAkIUwZDqGTELO
8xi+/sjbACxqlML9iIyiFBhKnqFUoUxGIFcUn8YLn8aNjyASgemxHsP9nbAdtsJaeAYWwlR8dgRm
iHn4I3iffnlIQUyZTPoDMWMfgZn8KBiNs3G4l54CI/5oXhqIdQHaLM1Vg/GZVHzGgKv0x7H78DcA
f4PwR0fO48h5HDmPI+fpVwvcVRzWb8Fo5/tI93DKWBeyryGjndvx3kDnZexdwF4hep/R1Ar5Fbf4
/vNnTe1Z6MBlQCwXCav/k3m8L7EHRAnNUCtmwDyxD9QKK6DW+z6XBHs9feEBqJVaXPfFxTBX1Ln6
wiXYIRyAfOEI2r37UrWHu0UB7vp36wujYLqwCFYIKTBGeBLGC3fDWO596IVjxcIUWEF+gpXke+cB
IQjbn2CzioflwlR8fjWMpu8xjG8hbYbx3BbQCGVQzX8FFomHrvxVTDKOQTi2hf8ted257lx3rjvX
nev2lzADooXl0Es6yeIBPDDo2ccniDL7zq7BCCEYZtp0eoPBeJes08vQRGuJ1RpWBzbhUZ9bKHPJ
kXVcx95FjAAkwNi7yCZwgG/aRFejcjVq1tQF6H616VwjgayROX1dkO7XlO4Wi8HCGwgxEN5CMoiF
T3D04g5lKpeVeqL7luMVhXAOhyhf3y6qHIu4ec0Gbr5jHDeumhtHIz3lS5IO/8Qoph3ImuQ6QZQD
uhZaPov8tYjih+SU7iHxmVkZaWGh0pKyccJbE5Uv73ty+atrShvx7Vgumgvk3kb+jYBM1RFy4+2U
7sSSYeEClXbkPBe9nkaVq52/kbnwMUoqyiUGFXKuQs7rONHrvaz0zNRwXC4mbvVds3r2nHXXhJSc
nJRuvXvTb2RRKPYOKHEVxmbDbAFaHRVFgF4W3JIVcErBI1kmZqObkJCQqJjVAkdfUifXQStcWwAb
pah5K0kjVmz5Dx1blx3hEndwSYcdg8mVa2Sh8hQKMp+L4GqRZ4wUhGrEEoQRbzSex2wZgsuQm1Rr
AkLXNCXXBXutqQ420VHQ1+lbR2Wir4v2lmOawcLkoQqntZUgmZmht8TSJj3Oaqklpy9dqSqZu0w5
r7xP7l6ySflaaSAxj65fsUr5VpQPNUza0tViX3zoK67W8evyh4lq46Pl86ejPuY5LwqfiYdQpv1d
2LUIV+vBziPBU+Fp9XJwE9Z1Ri+QvL6uvQ8pRzWh8CTBagZDRrqxU1oqmKxxcdYYLiws1JiWmpkl
fBapnL2sKMqxNSRg93nSznSw/avr9n18xPbirihy/FwzmUUyV/ydpL+sOL57Y7PyY/PKS8r5NXtQ
61TSR1DSWozje95GzlR2Oi9YKNlAf1EKRlNYKCeoeENaqjEjI52LryWb3iOdtpFtyueHPmn88ur3
p0R5h9J4bOxxpfEVTjQ2LyehzuHXSAhHrZhiyWNYHoRWw/IgYfZHNa4VJKpbrY+VyYK+jvMiJX2d
2nfLGCxh7h//lWMZd6ZlIv+cI4mbx73kaNkiyluVRIoB41cyj/mdDrdxKOgbrIY0Mq+hAR91I4/C
roj5xK03izfelO6xFEsamcrZWlYe3IIIXPNIQ5ndF0Hrgj7z+IuDEWok1B5Ch4SOCoqAwNydqwlg
TUp3DZdmsBpCcB+GYEteIqfJ6T8ajErMc4o1BPlpHiNsx42YxZU0lwobHNscxyiPHMx1XhQ1aNMG
3JFuSwnElQJvAhSorwvzVUyUjybQRKwxnbh4ly0LxrB4PYfGrGLGbMwSNauVa/Jryu/Pcc8S7Wu7
iXb1gab9b3/Mf2Kv/4Dnak8pB3fUkruOl50g9+yqVQ58yhGehCk//D6tWTlLgh3gtmqqmgDMMIfY
AkLD3L5M5/ZlbAd6gDN7Z4bFkzYMi/fZnogfpYa2HhYqWN2OIt5Cyhq49ldIsHL1qlJLijZu375K
2cxlO3Bn/Xrs5Hdb1ix7YjOPuHYgrmNMvyaYaBPbtafriXo5/N/6WCZqClLv8rF6Xx+rZcqlsg73
s3o3WElFwtDzuvFyB5SdB8nXvxPNc0+SEccdM0j8qtqXNihfcIMdb4ryV6eqG1Md63TchbULl66m
f3KBfPRos1D7cVBig/gEXKyNLRqBRARFLOllbRPdg0FeGOMi2L6N09eFeok3Qi9HN2FdF+MDPC4u
Ix2tAx2zFT1xjBQWGi5QL01NJy4jLTQc/V56HDfi6lkScnrdD48f3PHCM9vWk2kfTlQunlun4Jb6
2183/GUdt6z/RxteO1v1wYKn1i+qKHpk0iPbK+o+nX30sadeWHhqDvKFOaiwnp16yW0wdEMFyIqP
s2nyyDbDIqxXEg8oScIk0Xj9smjcSqV1N+7jSzir0bOPfQyO7VYPYUDC4CECkAjwqDwYiWC2j/kA
uoElVxPIGlzflIWnqSkrhB6p8SpCz9ZvojoT819I+4Torw8q23YrJ00m5dhu5cUG8veG1/lrLWr5
EP/t9XwhtqKi+Z/M42DOLRxnPndaG96f4WnT43gCDBsQank5miWwDl6Bt0EYa5PcQ8ukF6RayS7h
EIZxFLtGAhd2xIqA6b807iky9mslnfzjW2WjsuEb8pmSdpZ/guvm6OaI4Xo4jnJfcifonp7uvMhf
EB6AjpAAC22mzl3Ysa+Xze69Y0JEpoi2sN6IFTgT84Ra1uA+x9d9ogaj1uTeRV5hAj2frd62aYmL
l6wxzD7TMlzGaU3PzERjNRlCTWGxeCBnWM1osHyCPuDxN1/8kJDv91TNnLikfvbhuftPCnGKduRm
6xrltSrz0CVvLa/dP3zC7JL+D64v3L9dCXq+UL9y1H1fvj/yIcrzCtx1Zol+yWoPk2zGiEgKz6iX
eeRZndzq7SP8IwufsExU8+wA0PGu8Nk/3DD5uWdrTLwKjzdDptloiKcMqgx0uwnmbxs+rNTstFeS
mrP2Z5ftzR++5+m1nOGa8smaRRI4/rZcOaU4xHeP71QSdx5H2xqDGruIGusAg2z6jtE3fIYegekj
/I4un/2lpizKer0cSmtfgFS+aUEIkkZDLrGzaEjCaCic6z1xrXq3OPfwjDNKc9Xna9/+Sb1bvaps
5aaNT84fNXZHCYknEL319+ov3ihb+vcG6/5GKuXxiPNHlHIwRKCU20VGUTG1c0lZSm4VbITfAeuD
3ybyOiZl1lAph/hKuZ03EyHpeNaZUMZWaktchok6tCwDZWP8xQPvVdh3aiqOvHPJvmGJ/GDBa9Ub
uLg/SPITXPp1qKom6ddU+5q2kp9eYPtiLKL/BaUchnIut6mZnKkAPWcKAxjhvxUi1CzViUjecyDi
owhurH9w5xU220Jcz6r9DhcxBjJcGjAawizh1ESyTBKJkVSWjLg4bvBp5eIjZx7/5ILDKrxZ81B1
2sxq5fPKDUauo7o6lFh+jnnJsUq5oDgGv3g4/57Cj/nGvz4XtHIT9Z6YAXKNUhhyVGoLDjfdsBvG
idnb1CO8nag/j1ToxMeovENWDGjlkCY0MBq7WjNwJyMjJpXLkNLCrIZzu3bV78zpE5CcMeqhc+f4
Xasq3njPsE5T9tCsVS3DUe7Fygj+Z5R7e+gES2wxsXFURjH04IObAbK96CFYMhDqJpjbctkP5dQW
bNIy56SvM3ipIIzdpP6qg69VxdxsVVlphlDqoOKzqEoyMqiBZbXaV/GFg0cqNLV/nJjzVc/iea8t
XV/R8N4P9euW7h46fOdSNDQH6bpifvNXJ34uGVnx3IaasYtJ6i97P95GLm86gbpZgXn5vyT6d7yB
tgBjCNONPrn1sPTwKCIhevZIEBJB7LDgRHeCHeDjczLTzDQYZdtYZaChde4jh8lI3k7KKkZVx9nt
/N71yiJHBvfBnMriB1oc9L9wcLASjWUKxiT0f4D1sUmBQXRuDD2I97eAm6yC08sBTXiy1UneqTGN
53maHtPsmAy3249mlffoUZ4lZJPopN69R/WiRuk8oAwiRbiiDvNS9GmmdiwUo98j4BbOGNXsnYjQ
TxVhTXJYcp1e9Ikp9ZaY+AymLwNPLdGFY5Dy3d3p5vTefUOyMjIRTqaQ3TxAOWpcq763QNhPohP7
uJARKgtBJ9G/jc7xCiXN3k4qwj+ouWGLTDVqGlfmhGXDQBgFU+FhqIGNsBPqoREC8Ex3386U8qQR
0iRprrREWie9Ir0tHZECxiIHTG2GLNfBXl9lt08kD55VRpNTn5PfFihPSdAyfh4pUXo5ahDtZoQ8
XAK/LMvspyp3loXKoPomsByjqvnsPJlvE7zOE5+ddrO7i/BjlRGhSIR6iEgkIlmkpday70SsoQ7D
++tBOxr0maiXyHTba7rHXtPpGYnJVLY4r/GboZmvzyUlkn3qosnV2vpzb99rF7Lnr3jjgWJlqaMr
11g1+5EpjlTu8MVNLReEbPDsKeTLAMNsWveeuokvH1Y8R7t/nMgCbPQKWp/dZfLfXqSntPCo1/YS
sqs3e28vhMXBaIw90hFVMERCrk0X1cH97S3EO1fxPxJ9Dj3B50sGdU/0sAA8pyX0SeA69DJdIdTo
Rf9adYYYFpx99rRypf7VFStfqV2xbAcXv02pUY4rgVubV5DUFs2eL868bzvzBY2MlGKhI0MXAZW2
ENeZHdKa4fnsRA0SGh/Zhfb2DZhsos4vRrrd6e2KkajBm9jp5x0kdfz64OGZ9lrNzGN/+8a+uXrH
sIJdT2/hDFeVE4scV8Uv5q9QvlCuC3tPPu9oXvuJW/vceuQkEPrbhKDgG9pn5tqmVd/wrVqfbx42
jVZ0RddxLnNk6Ezc+i7d3+5r38OPfjUzil+r2uQAIXvRmiC6No189uPaNKvTeGV1PgKLQiKKyoiP
0lDhaOjXVqx9Ngfvm/RH6WVLE9Z1nXzklh7XiSZ21L/55XX0wMK8jkURPDdTOffykLO7931X//hD
pbOmkrDXCs7bnzg60y4un1X2GIkeVNBrWFX+0/veW3v/jML+9/brPWLByDW7x7xcPHb6cMqXxnmR
GyHmYAQxwRbkFUGw5MbDVwgSIR7Ck1/TsIB9naUfvHgvjgJ9PijRz3KGJtlIXYKBRgvsfA1jeQGN
JgxkaWNjZl9zjwG5Cx89fFjMUa6vckzo21e3LnRdDbdtFaH/078apX8a95qefm81GH1zah9gbbpu
FkYz1x3ItXWqxrIgAJ1yKD36McjhE8o/fv0tYj96Ms8uT3vs2GGuwZH7+1Y+pPkIorGgF6pHNBL0
sIFK3bbMmOn5Zxs2EHlmeLHs824a+Yno3lUWrlTmv9vM92k+4vJyXQHET7Crg2KbyM7qNub3sXOf
HdB2agNatm1FVxOgdeNgOTGFEhKSJgxssiuH1yl/OGGdcmTfpy3PO/mezUf49JYPhOyWU3wX9j8V
gG9EbFooaAMUy4LbzCxbs+AAlllKrsY/2w2hhyLP02yXXP3xM2UrmX7q+vV/kOnK1lPcbrLc8b3j
DHlemcZZOROiCVcG8TKiCcYYC9jfPNoAxWIqH7WEUhxB1AXUaXyCedyuLhCcNT4+w4RhOj2mL7cc
UQaXnrbmpo4ri+msPNpIgvmuzdHKz3zgOuH+0hlCN2D/SwH4NxGLBvK8/rLgb48+36IEYOao0teJ
3s5JVLl0YwmzZNA/YISRbG5By8vccMcePn39+mq+/QtP0qguGlf8kEX/7eFpm9qV82I+Y2r6P2UB
7ZBod1PwR4lwJML/8/yAxiaNu3Z99G7lruhFM+eVnTnDDaivxzxhzFuNd29OnTZtHOYJKDmWz/Df
I0fhMM7FghERGM3etuxzUt0E1HjTt22V9/cJ+qVNDmpyOX4XOCuDTI9bEfd9ysL7j547Z9+1izTU
lZKudnFi6IlpiA7Bzn19393XE6jcEaWUiijjcadug1YAPjGkhzAjYfaAZuz47A8P0QWJLh6iMxKd
PbxZkbB6iHgk4ilh1tdZvDiLbcJY3l8vkW1qxHKTflBDTEfeeRxZ7VLXrHllX35pVyqFZzG18Mrs
XKqbWj6OCYepz6U/JpkEKG/DBC1IWDw8JiCRQDmx+KRmchzjxKLHE0MWbmKJZetygp4yHNGER43c
4RZMujVq8FK0xeDLoVvHLpUrld7suZTdqn3MY+F/AW1iY/kKZW5kc3RyZWFtCmVuZG9iagoyNSAw
IG9iago8PC9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL0RBQUFBQStSb2JvdG8tUmVn
dWxhcgovRmxhZ3MgNAovQXNjZW50IDkyNy43MzQzOAovRGVzY2VudCAtMjQ0LjE0MDYzCi9TdGVt
ViA1My4yMjI2NTYKL0NhcEhlaWdodCA3MTAuOTM3NQovSXRhbGljQW5nbGUgMAovRm9udEJCb3gg
Wy03MzYuODE2NDEgLTI3MC45OTYwOSAxMTQ4LjQzNzUgMTA1Ni4xNTIzNF0KL0ZvbnRGaWxlMiAy
NCAwIFI+PgplbmRvYmoKMjYgMCBvYmoKPDwvVHlwZSAvRm9udAovRm9udERlc2NyaXB0b3IgMjUg
MCBSCi9CYXNlRm9udCAvREFBQUFBK1JvYm90by1SZWd1bGFyCi9TdWJ0eXBlIC9DSURGb250VHlw
ZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRv
YmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+PgovVyBbMCBbNDQzLjM1OTM4
XSAxNiBbMTk2LjI4OTA2IDI3NS44Nzg5MSAyNjMuMTgzNTldIDM3IFs2NTIuMzQzNzUgNjIyLjU1
ODU5IDY1MC44Nzg5MSA2NTUuNzYxNzIgNTY4LjM1OTM4IDAgMCAwIDI3MS45NzI2NiAwIDAgNTM4
LjA4NTk0IDg3My4wNDY4OCAwIDY4Ny41IDYzMC44NTkzOCAwIDYxNS43MjI2NiA1OTMuMjYxNzIg
NTk2LjY3OTY5IDAgMCA4ODcuMjA3MDMgNjI2Ljk1MzEzXSA2OSBbNTQzLjk0NTMxIDU2MS4wMzUx
NiA1MjMuNDM3NSA1NjMuOTY0ODQgNTI5Ljc4NTE2IDM0Ny4xNjc5NyA1NjEuMDM1MTYgNTUwLjc4
MTI1IDI0Mi42NzU3OCAyMzguNzY5NTMgNTA2LjgzNTk0IDI0Mi42NzU3OCA4NzYuNDY0ODQgNTUx
Ljc1NzgxIDU3MC4zMTI1IDU2MS4wMzUxNiAwIDMzOC4zNzg5MSA1MTUuNjI1IDMyNi42NjAxNiA1
NTEuMjY5NTMgNDg0LjM3NSA3NTEuNDY0ODQgNDk1LjYwNTQ3IDQ3My4xNDQ1MyA0OTUuNjA1NDdd
IDQ0NCBbNTY3Ljg3MTA5IDg1My41MTU2M11dCi9EVyAwPj4KZW5kb2JqCjI3IDAgb2JqCjw8L0Zp
bHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAzMDk+PiBzdHJlYW0KeJxdUU1vgzAMvedX5LgdKkgo
7SohpEFXicM+NLYfQBPTRRohCvTAv19is05apGD5+T0HPyd1c2ysmXny5kfVwsx7Y7WHabx6BfwM
F2OZkFwbNa8ZftXQOZYEcbtMMwyN7UdWFJwn76E6zX7hd496PMM9S169Bm/shd991m3I26tz3zCA
nXnKypJr6EOn5869dAPwBGWbRoe6mZdN0PwxPhYHXGIu6G/UqGFynQLf2QuwIg2n5MUpnJKB1f/q
q+rcq6/OR7Y8Bnaabg/IXvHDL+vWVKRIExKDrEvU5pQdqIVAMCNmJggkZpYRuCXwROCOwAcMuSSw
IrAmcI/glh7KSb6jh3KS508Y9igXFepEFac6Valcp6I5oh1xbTev1dX7YDPuFv2NzhoLt/W70UVV
vD8DfJ3nCmVuZHN0cmVhbQplbmRvYmoKNyAwIG9iago8PC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9U
eXBlMAovQmFzZUZvbnQgL0RBQUFBQStSb2JvdG8tUmVndWxhcgovRW5jb2RpbmcgL0lkZW50aXR5
LUgKL0Rlc2NlbmRhbnRGb250cyBbMjYgMCBSXQovVG9Vbmljb2RlIDI3IDAgUj4+CmVuZG9iagp4
cmVmCjAgMjgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDQx
NjggMDAwMDAgbiAKMDAwMDAwMDExMyAwMDAwMCBuIAowMDAwMDE5MTE3IDAwMDAwIG4gCjAwMDAw
MjYxNzEgMDAwMDAgbiAKMDAwMDAzMzMwMyAwMDAwMCBuIAowMDAwMDQxNTIwIDAwMDAwIG4gCjAw
MDAwMDAxNTAgMDAwMDAgbiAKMDAwMDAwNDQwNiAwMDAwMCBuIAowMDAwMDA0NDYxIDAwMDAwIG4g
CjAwMDAwMDQ2MDYgMDAwMDAgbiAKMDAwMDAwNDY2OCAwMDAwMCBuIAowMDAwMDE4MTQwIDAwMDAw
IG4gCjAwMDAwMTgzNzYgMDAwMDAgbiAKMDAwMDAxODc1NyAwMDAwMCBuIAowMDAwMDE5MjU2IDAw
MDAwIG4gCjAwMDAwMjQ5NzggMDAwMDAgbiAKMDAwMDAyNTIzMyAwMDAwMCBuIAowMDAwMDI1ODA1
IDAwMDAwIG4gCjAwMDAwMjYzMjAgMDAwMDAgbiAKMDAwMDAzMjA4MiAwMDAwMCBuIAowMDAwMDMy
MzI2IDAwMDAwIG4gCjAwMDAwMzI5MzEgMDAwMDAgbiAKMDAwMDAzMzQ0NiAwMDAwMCBuIAowMDAw
MDQwMTgxIDAwMDAwIG4gCjAwMDAwNDA0MjggMDAwMDAgbiAKMDAwMDA0MTE0MCAwMDAwMCBuIAp0
cmFpbGVyCjw8L1NpemUgMjgKL1Jvb3QgMTEgMCBSCi9JbmZvIDEgMCBSPj4Kc3RhcnR4cmVmCjQx
NjY2CiUlRU9GCg==

--_004_E21FCD8CDD3243DA885EEA0782EA9FAAarmcom_--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:40:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586164.917371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWylf-0002m2-H7; Fri, 18 Aug 2023 12:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586164.917371; Fri, 18 Aug 2023 12: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 1qWylf-0002lv-EK; Fri, 18 Aug 2023 12:39:55 +0000
Received: by outflank-mailman (input) for mailman id 586164;
 Fri, 18 Aug 2023 12:39: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 1qWyle-0002ll-Ih; Fri, 18 Aug 2023 12:39: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 1qWyle-0000eG-Ev; Fri, 18 Aug 2023 12:39: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 1qWyle-0003Wv-6b; Fri, 18 Aug 2023 12:39:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qWyle-00075Z-67; Fri, 18 Aug 2023 12:39:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rdBPGepowDMcOhiJXtY1MmJGu862bXAcRXIhNw7xnGQ=; b=ztTPXYz0avUuX++xdV25pE/QDk
	R+IWwol+CkIXN0mW8qUabFW3rpqchFurJsJJjEJ4AaFEVrqx6CGg12xXS6PSa5T+psFBJZuUbUGGU
	HAg5wbIUZ+OInFOVEFGbLPPkOrqxI3GBPsrnH7pPQ2S58OEDs7VXoCoHko5BJJm1lk8o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182379-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182379: 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=e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
X-Osstest-Versions-That:
    xen=38ba0466a1e262edd031500d24919fbf4e48c794
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 12:39:54 +0000

flight 182379 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182379/

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                  e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
baseline version:
 xen                  38ba0466a1e262edd031500d24919fbf4e48c794

Last test of basis   182370  2023-08-17 15:03:44 Z    0 days
Testing same since   182379  2023-08-18 09:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jens Wiklander <jens.wiklander@linaro.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
   38ba0466a1..e6cb27f2f2  e6cb27f2f20d09dd2ba135fbc341a4dc98656e10 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:42:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:42:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586172.917382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWynv-0004IR-UE; Fri, 18 Aug 2023 12:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586172.917382; Fri, 18 Aug 2023 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 1qWynv-0004IK-Qq; Fri, 18 Aug 2023 12:42:15 +0000
Received: by outflank-mailman (input) for mailman id 586172;
 Fri, 18 Aug 2023 12:42: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 1qWynu-0004IC-E6
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:42: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 1qWynu-0000pX-2v; Fri, 18 Aug 2023 12:42:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWynt-0006rd-SF; Fri, 18 Aug 2023 12:42: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=KZr/i5DYyYyiZA3jg5siO5bP4DQZ62W2MOkzckUaYfc=; b=uCWzU+tZUQuLylzw82jd/Gbp/Y
	Gb55ft2RUP4ALAX3FCRYRzpdUii0shlq6ETIMtdXKzAC7j6rmtCcvkJAiTuIi5uZhWVoX6KMUIUaC
	i013SonyNS/468rHLS0qzjVR5pzNsA779GZbacuXyG2QUmFpqJ/K2NQWTK5Nh/2/+XyY=;
Message-ID: <19059e45-bd74-4404-96ee-4e3ac8b09022@xen.org>
Date: Fri, 18 Aug 2023 13:42:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
 <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
 <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 18/08/2023 13:14, Juergen Gross wrote:
> On 18.08.23 13:22, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 14/08/2023 08:47, Juergen Gross wrote:
>>> In tools/xenstore there are living xenstored and xenstore clients.
>>> They are no longer sharing anything apart from the "xenstore" in their
>>> names.
>>>
>>> Move the xenstored sources into a new directory tools/xenstored while
>>> dropping the "xenstored_" prefix from their names. This will make it
>>> clearer that xenstore clients and xenstored are independent from each
>>> other.
>>
>> In term of naming, I would prefer if we follow what was done for the 
>> console. I.e:
>>
>> xenstore/client: All the clients
>> xenstore/daemon: C Xenstored
>>
>> This would avoid the one character difference between the two 
>> directories.
> 
> Yes, that would be the alternative (apart from renaming the xenstore 
> directory
> to something different, e.g. xs-clients).

xs-clients would be OK. I guess you didn't suggest xenstore-clients 
because it is too long?

> 
> The reason I was leaning towards my solution was that the clients are 
> meant to
> be used with any xenstored implementation. This wouldn't be reflected by 
> using
> a common tools/xenstore parent directory for the clients and C xenstored.

You have a point. I was also trying to avoid to have too many directoy 
in tools. But we already have 'qemu-trad' and 'qemu-upstream'...

> 
> In the end I could live with your proposal, too.

My main concern with your proposal was the one character difference in 
the name. xenstored and xs-clients/xenstore-clients would work for me.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:46:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:46:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586181.917392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyrj-0004v2-Cp; Fri, 18 Aug 2023 12:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586181.917392; Fri, 18 Aug 2023 12:46:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyrj-0004uv-9i; Fri, 18 Aug 2023 12:46:11 +0000
Received: by outflank-mailman (input) for mailman id 586181;
 Fri, 18 Aug 2023 12:46:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZyU=ED=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qWyri-0004uZ-7s
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:46:10 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 328a9fcf-3dc5-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 14:46:06 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9DF111F893;
 Fri, 18 Aug 2023 12:46:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5C19D138F0;
 Fri, 18 Aug 2023 12:46:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WpHvFA1o32Q9DgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 18 Aug 2023 12:46: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: 328a9fcf-3dc5-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692362765; 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=PfbCLGvo1xGn31rJMVoRC5qSUUtTBF81YvHoHArMgJs=;
	b=R1ak5bMWj0BpeDMJ/lLQQ+rgI+aB2sq7CEgFfw1JoAsWHJIUylKnsrPmcfyLuM13UTGZJ5
	khMgL8YYaxBGB7TIs450wRD9n5naU6FpSssWpcyAxxG7zJHXmkn7v2+LweuH9vjXAirQR0
	3MPYs6izEzdCjcEq4z0F70CsV75MUls=
Message-ID: <1b425c55-529a-43d8-8550-c35388be6e29@suse.com>
Date: Fri, 18 Aug 2023 14:46:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
Content-Language: en-US
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
 <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
 <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
 <19059e45-bd74-4404-96ee-4e3ac8b09022@xen.org>
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: <19059e45-bd74-4404-96ee-4e3ac8b09022@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tfNv9CsGWqMK0AW060ZJp6FI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tfNv9CsGWqMK0AW060ZJp6FI
Content-Type: multipart/mixed; boundary="------------VSqsF0ozaFuQcMJmcBNTfN4S";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, 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>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <1b425c55-529a-43d8-8550-c35388be6e29@suse.com>
Subject: Re: [PATCH v4 19/19] tools/xenstore: move xenstored sources into
 dedicated directory
References: <20230814074707.27696-1-jgross@suse.com>
 <20230814074707.27696-20-jgross@suse.com>
 <b9fc2c2e-7914-4484-92bf-403fbc0d9fee@xen.org>
 <0408a2b8-54f8-40dd-af42-d19a23df9143@suse.com>
 <19059e45-bd74-4404-96ee-4e3ac8b09022@xen.org>
In-Reply-To: <19059e45-bd74-4404-96ee-4e3ac8b09022@xen.org>

--------------VSqsF0ozaFuQcMJmcBNTfN4S
Content-Type: multipart/mixed; boundary="------------mLzb5PCUxNrIBPPE1HpO4Riq"

--------------mLzb5PCUxNrIBPPE1HpO4Riq
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDguMjMgMTQ6NDIsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE4LzA4LzIwMjMgMTM6MTQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAxOC4wOC4yMyAxMzoyMiwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAxNC8wOC8yMDIzIDA4OjQ3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBJbiB0b29scy94ZW5zdG9yZSB0aGVyZSBhcmUgbGl2aW5nIHhlbnN0b3JlZCBhbmQg
eGVuc3RvcmUgY2xpZW50cy4NCj4+Pj4gVGhleSBhcmUgbm8gbG9uZ2VyIHNoYXJpbmcgYW55
dGhpbmcgYXBhcnQgZnJvbSB0aGUgInhlbnN0b3JlIiBpbiB0aGVpcg0KPj4+PiBuYW1lcy4N
Cj4+Pj4NCj4+Pj4gTW92ZSB0aGUgeGVuc3RvcmVkIHNvdXJjZXMgaW50byBhIG5ldyBkaXJl
Y3RvcnkgdG9vbHMveGVuc3RvcmVkIHdoaWxlDQo+Pj4+IGRyb3BwaW5nIHRoZSAieGVuc3Rv
cmVkXyIgcHJlZml4IGZyb20gdGhlaXIgbmFtZXMuIFRoaXMgd2lsbCBtYWtlIGl0DQo+Pj4+
IGNsZWFyZXIgdGhhdCB4ZW5zdG9yZSBjbGllbnRzIGFuZCB4ZW5zdG9yZWQgYXJlIGluZGVw
ZW5kZW50IGZyb20gZWFjaA0KPj4+PiBvdGhlci4NCj4+Pg0KPj4+IEluIHRlcm0gb2YgbmFt
aW5nLCBJIHdvdWxkIHByZWZlciBpZiB3ZSBmb2xsb3cgd2hhdCB3YXMgZG9uZSBmb3IgdGhl
IGNvbnNvbGUuIA0KPj4+IEkuZToNCj4+Pg0KPj4+IHhlbnN0b3JlL2NsaWVudDogQWxsIHRo
ZSBjbGllbnRzDQo+Pj4geGVuc3RvcmUvZGFlbW9uOiBDIFhlbnN0b3JlZA0KPj4+DQo+Pj4g
VGhpcyB3b3VsZCBhdm9pZCB0aGUgb25lIGNoYXJhY3RlciBkaWZmZXJlbmNlIGJldHdlZW4g
dGhlIHR3byBkaXJlY3Rvcmllcy4NCj4+DQo+PiBZZXMsIHRoYXQgd291bGQgYmUgdGhlIGFs
dGVybmF0aXZlIChhcGFydCBmcm9tIHJlbmFtaW5nIHRoZSB4ZW5zdG9yZSBkaXJlY3RvcnkN
Cj4+IHRvIHNvbWV0aGluZyBkaWZmZXJlbnQsIGUuZy4geHMtY2xpZW50cykuDQo+IA0KPiB4
cy1jbGllbnRzIHdvdWxkIGJlIE9LLiBJIGd1ZXNzIHlvdSBkaWRuJ3Qgc3VnZ2VzdCB4ZW5z
dG9yZS1jbGllbnRzIGJlY2F1c2UgaXQgDQo+IGlzIHRvbyBsb25nPw0KDQpJIHdhcyBtb3Jl
IHRoaW5raW5nIGFib3V0IHBhdGggbmFtZSBjb21wbGV0aW9uIHdoZW4gdHlwaW5nLiBVc2lu
ZyB4cy1jbGllbnRzDQp3b3VsZCBhbGxvdyB0byB1c2UgdGhlIDx0YWI+IGFmdGVyIHRoZSBz
ZWNvbmQgY2hhcmFjdGVyIGFscmVhZHkuIDotKQ0KDQo+IA0KPj4NCj4+IFRoZSByZWFzb24g
SSB3YXMgbGVhbmluZyB0b3dhcmRzIG15IHNvbHV0aW9uIHdhcyB0aGF0IHRoZSBjbGllbnRz
IGFyZSBtZWFudCB0bw0KPj4gYmUgdXNlZCB3aXRoIGFueSB4ZW5zdG9yZWQgaW1wbGVtZW50
YXRpb24uIFRoaXMgd291bGRuJ3QgYmUgcmVmbGVjdGVkIGJ5IHVzaW5nDQo+PiBhIGNvbW1v
biB0b29scy94ZW5zdG9yZSBwYXJlbnQgZGlyZWN0b3J5IGZvciB0aGUgY2xpZW50cyBhbmQg
QyB4ZW5zdG9yZWQuDQo+IA0KPiBZb3UgaGF2ZSBhIHBvaW50LiBJIHdhcyBhbHNvIHRyeWlu
ZyB0byBhdm9pZCB0byBoYXZlIHRvbyBtYW55IGRpcmVjdG95IGluIHRvb2xzLiANCj4gQnV0
IHdlIGFscmVhZHkgaGF2ZSAncWVtdS10cmFkJyBhbmQgJ3FlbXUtdXBzdHJlYW0nLi4uDQo+
IA0KPj4NCj4+IEluIHRoZSBlbmQgSSBjb3VsZCBsaXZlIHdpdGggeW91ciBwcm9wb3NhbCwg
dG9vLg0KPiANCj4gTXkgbWFpbiBjb25jZXJuIHdpdGggeW91ciBwcm9wb3NhbCB3YXMgdGhl
IG9uZSBjaGFyYWN0ZXIgZGlmZmVyZW5jZSBpbiB0aGUgbmFtZS4gDQo+IHhlbnN0b3JlZCBh
bmQgeHMtY2xpZW50cy94ZW5zdG9yZS1jbGllbnRzIHdvdWxkIHdvcmsgZm9yIG1lLg0KDQpP
a2F5LCB0aGFua3MuDQoNCldpdGggYWJvdmUgcmVhc29uaW5nIEknbSBsZWFuaW5nIHRvd2Fy
ZHMgeHMtY2xpZW50cy4NCg0KDQpKdWVyZ2VuDQo=
--------------mLzb5PCUxNrIBPPE1HpO4Riq
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mLzb5PCUxNrIBPPE1HpO4Riq--

--------------VSqsF0ozaFuQcMJmcBNTfN4S--

--------------tfNv9CsGWqMK0AW060ZJp6FI
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/Ey8FAmTfaAwFAwAAAAAACgkQsN6d1ii/Ey9n
gQf+KVnG4jKYi/krs8uy7Wocapv/8IF/uTmOwWLRPJYaQ2l8uXZpQxNDAqoTVO6sGtruKVrBPa1z
UTFMwO2CbZeQjChpxjtN9/Z7zVQe0NhSxACrSiGM0sV94bUrUE5Tgavoj0R+xc8A8YEqSFcvAQZL
INQzuBiL1DjCBL2jSmG46kdEVs0AqkVeo14fR3I4f9WhBZBfk84Nq7nDJgpSqaxuGO/0rioDKvf6
zsUC0M6xj5n19gPMybsOj18qAx2YRZB/Et4UQv6P7N4ZoRz3B0w2UIXW35fseK3NXly30Wlq227q
TV4SM5coph6smfevSGtK37VQ6uw7JCjKKBxlGFnBjg==
=K+sf
-----END PGP SIGNATURE-----

--------------tfNv9CsGWqMK0AW060ZJp6FI--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:54:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:54:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586188.917402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWyzR-0006Td-3v; Fri, 18 Aug 2023 12:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586188.917402; Fri, 18 Aug 2023 12: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 1qWyzR-0006TW-1H; Fri, 18 Aug 2023 12:54:09 +0000
Received: by outflank-mailman (input) for mailman id 586188;
 Fri, 18 Aug 2023 12:54: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 1qWyzP-0006TQ-By
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:54: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 1qWyzP-00011A-3K; Fri, 18 Aug 2023 12:54:07 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWyzO-0007WS-Sc; Fri, 18 Aug 2023 12:54:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=+bNIGPNHvQ27fEWOQ3+fqi9IE4zKJPpMcP9VxxW+uic=; b=Nvw/z3LydCikekf9b8ph8MFjmm
	NvVyOWIRtYUcYEeIFeEG321bYeWWB5TDWz86R8VdA3gu8nPovkda+KIEz0A6IErgyJkTFfhW7YOIn
	0m9bhitqS6h0PlGDgwDc0UMQDs+ZqeJLeydX6FKcy8GqL9Srtt7skT2yJXQLl/aKtNqY=;
Message-ID: <7b3fb909-d3c6-45aa-9c1a-9f15ef44a9a5@xen.org>
Date: Fri, 18 Aug 2023 13:54:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/19] tools/xenstore: drop TDB
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230814074707.27696-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814074707.27696-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 14/08/2023 08:46, Juergen Gross wrote:
> Juergen Gross (19):
>    tools/xenstore: make hashtable key parameter const
>    tools/xenstore: let hashtable_add() fail in case of existing entry
>    tools/xenstore: add hashtable_replace() function
>    tools/xenstore: drop use of tdb
>    tools/xenstore: remove tdb code
>    tools/xenstore: let db_delete() return void
>    tools/xenstore: change talloc_free() to take a const pointer
>    tools/xenstore: move copying of node data out of db_fetch()
>    tools/xenstore: rework struct xs_tdb_record_hdr
>    tools/xenstore: don't use struct node_perms in struct node
>    tools/xenstore: use struct node_hdr in struct node
>    tools/xenstore: alloc new memory in domain_adjust_node_perms()
>    tools/xenstore: introduce read_node_const()
>    tools/xenstore: merge get_spec_node() into get_node_canonicalized()
>    tools/xenstore: merge is_valid_nodename() into canonicalize()
>    tools/xenstore: rework get_node()
>    tools/xenstore: introduce get_node_const()
>    tools/config: add XEN_RUN_STORED to config.h

I have committed up to this patch.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:57:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586194.917411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz2H-00075b-Iv; Fri, 18 Aug 2023 12:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586194.917411; Fri, 18 Aug 2023 12:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz2H-00075U-Fy; Fri, 18 Aug 2023 12:57:05 +0000
Received: by outflank-mailman (input) for mailman id 586194;
 Fri, 18 Aug 2023 12:57:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tYDY=ED=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qWz2F-00075O-Uu
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:57:03 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9346adb-3dc6-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 14:57:01 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 268A64EE0737;
 Fri, 18 Aug 2023 14:57:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9346adb-3dc6-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Fri, 18 Aug 2023 14:57:01 +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>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 07/11] xen: address MISRA C:2012 Rule 2.1
In-Reply-To: <alpine.DEB.2.22.394.2308161221580.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690985045.git.nicola.vetrini@bugseng.com>
 <7f8cbd8c8ad64cd3a0d099f31cb4d3fad48aa63b.1690985045.git.nicola.vetrini@bugseng.com>
 <e2d71138-e714-3c19-d5b9-94b322a47191@suse.com>
 <alpine.DEB.2.22.394.2308031648340.2127516@ubuntu-linux-20-04-desktop>
 <3a6ab847-fd31-60e4-2558-feed71d670dd@suse.com>
 <b0581f49ac01c923809c0e15c1a1dfed@bugseng.com>
 <6e1dbf093687e5fa66295621ce67e4dc@bugseng.com>
 <2b26baf0-6a82-0bff-99b5-ade067e0d74d@suse.com>
 <c9197dca7802b08765c0b2b6800e548c@bugseng.com>
 <e7e2eef0-5f88-e10e-81e3-57931f22f76a@suse.com>
 <alpine.DEB.2.22.394.2308161221580.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <f2e5410ecdbffd9890c303c938bdb388@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


> Jan has a point: I think we should record all our deviations and unique
> ways to interpret the rules under docs/misra. And the Eclair
> configuration should reflect that. It is not a good idea to only keep
> the information in the Eclair config because, even if it is now 
> upstream
> in xen.git, it is still a tool-specific configuration file -- it is not
> a proper document. MISRA C and its interpretation is important enough
> that we should have a plain English document to cover it (which now is
> docs/misra/rules.rst).
> 
> Nicola, I volunteer to send patches to make any necessary updates to
> docs/misra/rules.rst and other docs. Please send out to me a list of
> deviations/configurations and I'll make sure to reflect them under
> docs/misra so that they are in sync.
> 
> Cheers,
> 
> Stefano

Sure, I'll let you know when I have it.
Thanks,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:58:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586203.917422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz3I-0007gR-0o; Fri, 18 Aug 2023 12:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586203.917422; Fri, 18 Aug 2023 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 1qWz3H-0007gK-Sy; Fri, 18 Aug 2023 12:58:07 +0000
Received: by outflank-mailman (input) for mailman id 586203;
 Fri, 18 Aug 2023 12:58:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWz3H-0007Sb-1t
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:58:07 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddd0bffd-3dc6-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 14:58: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: ddd0bffd-3dc6-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692363485;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=kdCG/cIFV4Yb9rE+4QWTkcCVk62pxuWTWcDJcD7Lp20=;
  b=hKGgPzKbOABi0NHP3shDP4nQ1z6yTeb5M6tYE4yWRzGuESZx0jTY6DoX
   veL20dmZ3hML3sUHAGvXU1J7tKDeV1Zzh83OVt5L9SxlOw/+rgfoRtr1H
   7GGPNCryeRGWeKAKKtq1MAJ7/MXHNsNiVxu+4Moq32rLm0iFZFzObBS50
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119911552
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:7JxwD6gsVLcDzffljcfSo77aX161fxAKZh0ujC45NGQN5FlHY01je
 htvXG/XPqneZjH2L95wPdux8BtUvp6BzYVkTVA/qy9kECkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AaOzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQAASAIZSuCnNvv77WyUMRqvcEMIOnCadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 zOXpj2kX0ty2Nq35ySA0nXz2sX1tibiCNkOMJmBy+ZTqQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsVSIV5tLYoZoK1z3IR8xOFpWwodHVMGSlq
 9yVlxQWi7IWhM8N8qy0+1Hbnj6hzqT0oh4JChb/BTz8sF4gDGKxT8nxsAWAs64cRGqMZgPZ1
 EXojfRy+wzn4XulsCWWCNsAE7iyjxpuGG2N2AU/d3XNGtnExpJCQWyyyGsuTKuKGpxeEdMMX
 KM0kVoJjKK/xFPwMcdKj3uZUqzGN5TIG9X/TezzZdFTeJV3fwLv1HgwNBTKjj+1wRF3z/9X1
 XKnnSCEVyZy5UNPlmbeegvg+eVzmnBWKZ37FPgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnekm2
 483Cid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6ep6ItY4xfsIz7egE
 7PUchYw9WcTTEbvcW2iAk2Popu2NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:S9yVVKgqtXaBZbX6JAWH1PU1anBQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-Talos-CUID: 9a23:WVxJJmEyDIhlNiFtqmJ/3V4REfskaUSE43DZOWK+MmNGRJ28HAo=
X-Talos-MUID: 9a23:B1sWXAXWuF7cli3q/BHygRFla5tC2Y+rERBWjbEigvScDAUlbg==
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119911552"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/2] Rombios build fixes
Date: Fri, 18 Aug 2023 13:57:51 +0100
Message-ID: <20230818125753.876699-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

Andrew Cooper (2):
  rombios: Avoid using K&R function syntax
  rombiosn: Remove the use of egrep

 tools/firmware/rombios/32bit/Makefile          |  2 +-
 tools/firmware/rombios/32bit/tcgbios/tcgbios.c | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)


base-commit: e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:58:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586204.917432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz3J-0007vf-6o; Fri, 18 Aug 2023 12:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586204.917432; Fri, 18 Aug 2023 12: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 1qWz3J-0007vY-3o; Fri, 18 Aug 2023 12:58:09 +0000
Received: by outflank-mailman (input) for mailman id 586204;
 Fri, 18 Aug 2023 12:58:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWz3I-0007Sb-8e
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:58:08 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e050a167-3dc6-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 14:58: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: e050a167-3dc6-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692363487;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UNpEWxE+6YUF+fqP3uFTyRb6vwEhgZuthRJrbK+bZlA=;
  b=J/MoZBTROHzY/f4ikqvrnICaattLDHTyBG0z0hFtrUv6s7YHWRdsiJQr
   bEek8jutmhNzKGjp09T5p031U2Fdy73vjMP2LX5hl1Brxo+/jaUI6UAqP
   4Q/KmsTquEn1D7AEbN6sLZPS4K6K+jxto/cRWImT6hXMBUYIUDjE7RMkr
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119911553
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:aZMsfKpx09XxLq/ai4+feyHoSjdeBmIHZRIvgKrLsJaIsI4StFCzt
 garIBmOMqqOa2P2fNkiaImz9kNQ6sXSyoRiGQNppX1jQXgW9ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzilNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACgkfhWIvOOt+euUTeB2q8IYKebnHKpK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVxrl6PqLVxyG/U1AFri5DmMcbPe8zMTsJQ9qqdj
 jufrjWgW0xHb7RzzxKH7Sj9lMPjgB/4c9osFL7o6uBMm0Gqkzl75Bo+CgLg/KjRZlSFc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUSyiuA167V6AaxHXUfQ3hKb9lOnNAybSwn0
 BmOhdyBONB0mOTLEzTHrO7S9G7sf3FPdgfueBPoUyMdysnmq7oylSuWYdFqCoOztdjaFRHZl
 mXiQDcFu50fissC1qOe9F/Bgi6xqpWhcjPZ9jk7TUr+sFonOdfNi5iArAGCsK0edNrxokyp5
 iBspiSI0AwZ4XhhfgSpSf5FIrym7u3t3Nb00Q82RMlJG9hAFheekWFsDNNWfhcB3iUsI2WBj
 KrvVeR5vcc7AZdSRfUrC79d8uxzpUQaKfzrV+rPcv1FaYVreQmM8UlGPBDBhTq8zxB9yPphZ
 /93lPpA615AWcyLKxLsG48gPUIDnHhilQs/u7iqp/hY7VZuTCHMEupUWLd/Rus48LmFsG3oH
 yV3bqO3J+FkeLSmOEH/qNdDRW3m2FBnXfgaXeQLLL/cSuencUl9Y8LsLUQJItc8xfkPybqRr
 hlQmCZwkTLCuJEOEi3SAlgLVV8ldc8XQa4TVcD0AWuV5g==
IronPort-HdrOrdr: A9a23:dxkxu6FH/YGuq9Q1pLqEHseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV86faQslwssR4b9uxoVJPvfZqYz+8W3WBzB8bEYOCFghrKEGgK1+KLrwEIWReOk9K1vZ
 0KT0EUMqyVMbEVt6fHCAnTKade/DGEmprY+9s3GR1WPHBXg6IL1XYINu6CeHcGPTWvnfACZe
 ehDswsnUvZRV0nKv6VK1MiROb5q9jChPvdEGI7705O0nj0sduwgoSKaSSl4g==
X-Talos-CUID: 9a23:nSEkkGD27VEIvRX6EzFO5EsfIcE+SyTyy37KDkmDDEllaJTAHA==
X-Talos-MUID: 9a23:GnM6WQWdUirRR9Dq/D3z3mBwGOt136eFUH4NksUape+fKRUlbg==
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119911553"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] rombiosn: Remove the use of egrep
Date: Fri, 18 Aug 2023 13:57:53 +0100
Message-ID: <20230818125753.876699-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230818125753.876699-1-andrew.cooper3@citrix.com>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

As Alpine 3.18 container notes:

  egrep: warning: egrep is obsolescent; using grep -E

Adjust it.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/rombios/32bit/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/rombios/32bit/Makefile b/tools/firmware/rombios/32bit/Makefile
index c058c715514c..50d45647c23d 100644
--- a/tools/firmware/rombios/32bit/Makefile
+++ b/tools/firmware/rombios/32bit/Makefile
@@ -26,7 +26,7 @@ $(TARGET): 32bitbios_all.o
 32bitbios_all.o: 32bitbios.o tcgbios/tcgbiosext.o util.o pmm.o
 	$(LD) $(LDFLAGS_DIRECT) -s -r $^ -o 32bitbios_all.o
 	@nm 32bitbios_all.o |                                \
-	  egrep '^ +U ' >/dev/null && {                      \
+	  grep -E '^ +U ' >/dev/null && {                    \
 	    echo "There are undefined symbols in the BIOS:"; \
 	    nm -u 32bitbios_all.o;                           \
 	    exit 11;                                         \
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 12:58:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 12:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586215.917442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz3x-0000HM-Fr; Fri, 18 Aug 2023 12:58:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586215.917442; Fri, 18 Aug 2023 12:58:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWz3x-0000HE-DO; Fri, 18 Aug 2023 12:58:49 +0000
Received: by outflank-mailman (input) for mailman id 586215;
 Fri, 18 Aug 2023 12:58: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWz3v-0007Sb-RJ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 12:58:47 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7160129-3dc6-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 14:58: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: f7160129-3dc6-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692363526;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=57I9Q/U+6E375af+JHdMMxAsFMIEGopCo6I6/NQDaCg=;
  b=DUmatWUWCMxslT/DTK7occCAlMxS70vddUzbVsPhz+DsqjfldKN/mFMr
   m6AE5hQK0MQT3fZrVarhMWY5Jq/fyodqOHLHD5wB+DYeQaHTRZJ6KlufU
   i4qtyfftcZBnWlBWXWYBz4kNr1GPjjQeDPpGHvIkS51w6DiZSQil9KA29
   0=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119911584
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:sVCptqKElXHoKg31FE+Rz5UlxSXFcZb7ZxGr2PjKsXjdYENSgjYBn
 GIcWGGEOPuONGT9L9AlPI2+9UkBu5GAzdJrTwplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gVuPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5pX2ZE+
 8w6Bgs/RT2/2c2E3Ly0acBj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJQExx/F9
 j6uE2LRCTEnO+eZkRe+sX/yo8nKkC/rWIdLLejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9MzEFbyE0byU+0fLOnN8cvA7BQfVKH/vg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yTzFWyzyGskTKuMDirjUWaxC
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvJVXdrX42NBfLgT6FfK0QfUcXY
 8fznSGEVypyNEia5GDuG7d1PUEDl0jSOl8/tbiklk/6gNJylVaeSKsfMUvmUwzKxPrsnekhy
 P4Gb5Hi40wGAIXDjtz/rdZ7waYicSJqWvgbaqV/Koa+H+aRMDh6UqWMm+x8ItwNcmY8vr6gw
 0xRk3RwkDLX7UAr4y3TMhiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:44YQV6yaJnGnPzO76SSgKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7Y0mPH7P+VAssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkHNDSaNzlHZKjBjzVQa+xQouW6zA==
X-Talos-CUID: =?us-ascii?q?9a23=3Ahsea3GnL16kdmpOxUUse7Gh81RbXOWODy33eE22?=
 =?us-ascii?q?WMlRCZYHLZm2M9qxHusU7zg=3D=3D?=
X-Talos-MUID: 9a23:IyZRQAquOWfEmSHmdOEezzpCCchT5fyDMwMAz7AgvsSIJSx1Yg7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119911584"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] rombios: Avoid using K&R function syntax
Date: Fri, 18 Aug 2023 13:57:52 +0100
Message-ID: <20230818125753.876699-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230818125753.876699-1-andrew.cooper3@citrix.com>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The declarations for these functions in 32bitprotos.h are already Ansi
compatible.  Update the definitions to match.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/firmware/rombios/32bit/tcgbios/tcgbios.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c
index fa22c4460aac..ad0eac0d20c2 100644
--- a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c
+++ b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c
@@ -595,7 +595,7 @@ static void tcpa_add_measurement(uint32_t pcrIndex,
 /*
  * Add measurement to log about call of int 19h
  */
-void tcpa_calling_int19h()
+void tcpa_calling_int19h(void)
 {
 	tcpa_add_measurement(4, EV_ACTION, 0);
 }
@@ -603,7 +603,7 @@ void tcpa_calling_int19h()
 /*
  * Add measurement to log about retuning from int 19h
  */
-void tcpa_returned_int19h()
+void tcpa_returned_int19h(void)
 {
 	tcpa_add_measurement(4, EV_ACTION, 1);
 }
@@ -611,7 +611,7 @@ void tcpa_returned_int19h()
 /*
  * Add event separators for PCRs 0 to 7; specs 8.2.3
  */
-void tcpa_add_event_separators()
+void tcpa_add_event_separators(void)
 {
 	uint32_t pcrIndex = 0;
 	while (pcrIndex <= 7) {
@@ -624,7 +624,7 @@ void tcpa_add_event_separators()
 /*
  * Add a wake event to the log
  */
-void tcpa_wake_event()
+void tcpa_wake_event(void)
 {
 	tcpa_add_measurement_to_log(6,
 	                            EV_ACTION,
@@ -659,7 +659,7 @@ void tcpa_add_bootdevice(uint32_t bootcd, uint32_t bootdrv)
  * Add measurement to the log about option rom scan
  * 10.4.3 : action 14
  */
-void tcpa_start_option_rom_scan()
+void tcpa_start_option_rom_scan(void)
 {
 	tcpa_add_measurement(2, EV_ACTION, 14);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:05:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586227.917452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzAK-00026a-1b; Fri, 18 Aug 2023 13:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586227.917452; Fri, 18 Aug 2023 13: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 1qWzAJ-00026T-UE; Fri, 18 Aug 2023 13:05:23 +0000
Received: by outflank-mailman (input) for mailman id 586227;
 Fri, 18 Aug 2023 13: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWzAH-00026N-Vh
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:05:22 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1691a73-3dc7-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 15:05:19 +0200 (CEST)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 09:05:14 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6046.namprd03.prod.outlook.com (2603:10b6:5:391::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 13:05:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 13:05: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: e1691a73-3dc7-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692363919;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Io72RflFEs811+hdgO/38erN7cyQ/uKxhbX4yEzEtIw=;
  b=Vr4hWNT0oWpxTlOLG3BTCyfK0ZORAJySt+DgjUCDZ6VfpwrT+M4j3aOl
   CRQTvHzQybBHgG463bt0mRDQajm2+yGct9tqaNns6mPo2V01PgS/7vMXY
   tWNFPiC/xKlxYeKJ79wM7K7Mr9PM9t62Ip361cm2GvDdwaZ156MGYHNfQ
   4=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 122574622
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:TuV40qvW+bycZr73sD+oFWi5kufnVHtfMUV32f8akzHdYApBsoF/q
 tZmKWmOM62NZ2b9f9h0b4vk8k9UupWBmIBgT1Blqnw1FnkV+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+HxyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwDGwCaC+gvfmK/5mide1Hip8KHMXBM9ZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIa9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTirKM13APJnAT/DjULa2Onism7tHW1RvNeE
 Gc1q3ByrfELoRnDot7VGkfQTGS/lg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQC9
 HWEgtfoDjxHq6CORDSW8bL8hSy2ETgYKykFfyBscOcey9zqoYV2hBSQSN9mSfaxloesQW22x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:fANjwKot9R3JrIPKHDsqezAaV5rReYIsimQD101hICG9Evb0qy
 lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM
 VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf
 yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V
X-Talos-CUID: =?us-ascii?q?9a23=3AatcN1WhUp22F7RxnFZadTzcyaTJuViHSykjzGVS?=
 =?us-ascii?q?ENk1wd7m+RQS5yK9OnJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3AHdWAvQ/QoeNCbWZsX/wUta2Qf9pW27iFOEIzqp4?=
 =?us-ascii?q?bmsi/Hg0hYWud1Q3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="122574622"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QjV92D3kfNdAnYrGkFDe4hJOjMj65OthUT/Xb5i1HleOZAxh0k0JpxRGxbi3HnS84vyKhAp7NXAiEWenH5hvDMUq4u0d0s8U1NS3z2m45ZGRU5RSnE+7xQoQ3G5r4pD0VjlwG4sZPSJ1E8SWC/tjlKQNIVvQL86dcPH2u38jImsjSCl6UzXSd0qQroOGYWAZJUf97gvXfUp0f6jrnfUPtkAxYZZe966SlcAb72pkGqjY8ioP+3mvU45DQ99rm6ptaNYeYVygecRaeFaL8ir2te4GQaPGP+Dk/ww4gfmAQ2COL9BVHduSc0YS1cFnp4clUgH/7+cTh72N8f/n3jQ8oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uUivElGh2I3v9AsOPpxh3jFx3T5Epuq7Gi8aBNbOCHM=;
 b=D2Su1qJ6vlAq+o142fb5dq1t0ewuyrojKPFiSQWB6VcmHuGTM1O/MqDPNOoqvlJsmrDFpF4ZDTGm79f7pbbI2jAO2rxXVaRJyENx3SWpiQtbQIfb4sITtrbARmFZGj6VdBKaDvShbTmyosxJTcGHYX5PMDoSPbf6rlymEGhmDC764F0vsWFEp58WFuatSBtCWAY9Emel9V1jOSfilobstVhBnaW/CJlWkEP8ImQi5L1UfwhFF57+Z9RVx44jvIrAOdfLBchWY4idQqUSyPLsi0rQudAq8WOmS0CK2aDieCfe42DOxBHkzNx/8pkWX60ZfSf71vRXNSmIagAPCzr7eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uUivElGh2I3v9AsOPpxh3jFx3T5Epuq7Gi8aBNbOCHM=;
 b=IjG36W4HUJoOgQ7YAbPadEMhCmCQkq/FseP0HKcZrvbga6SKrCZEhXNeRrsUGTnrRdZkuVFl5SnS3159zjwtMV7OvXHkyGj1gXm9O6b00/BQBmh7ad+JLG5FeUQZep3BLsIdKRG+AZCgBW5KMtQ6wCQ0xVLOdDLDRLowF9VRiyY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9c9ac724-9f86-14bc-5a22-e6e64c64e48c@citrix.com>
Date: Fri, 18 Aug 2023 14:05:05 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 0/2] Rombios build fixes
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>, Wei Liu <wl@xen.org>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230818125753.876699-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0147.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6046:EE_
X-MS-Office365-Filtering-Correlation-Id: 459c1401-b7e6-40a9-3763-08db9febc133
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1zylqkPYg1jVRTUSxYaF1ChcoCA/klctF4nX3fIUYDswAk62C8YGRTbDF1peZXmc4HhQoQ2fuzi3RSNTZjldLSJog9VlHWOSwyuzbOvQxEpklLRnGiCu9gpEMj5V8YZVelpN3T/EKlgEd16SbBlkopHNtp6a2X2VRCvwPmSVL856Uw1MZvYn/KhIzH4YMwNRevgUQmvxcdI6cpv8MYTSVCpDvq2lH7Mr0N+bdaXATz3YVeeUfpIljStTs8y51XoA7tEtEDFCoI4+QOpa4Y6Bstuq7HtyQxTxOHL87DUqDGy3e5dNA4vO/G3FG6abO/zyzdlrm/4DR44NLF2A6N0UDmqpJelMm8FtkBYxpENTbYE6Ds/5C0fNZbtQeqRx8S9l/uJVRl67XzjttKQ+2OzK2/oiBExzgi6aW78pIUSmKutNM41WZHoGIIQRSBp4NzWSBTjIEV5EUQDgu8LbYl6joDexHMM4Zcj/zhR8pSAxQNeXfEhN5pXF5O2hF3yQYLFxd4zrAWnKii1ZVaTCBBnuF7l1cZJn4jsXNvCfr3pg3VImyD43W2zrP8oqyHp7tiuII53fG/J0ckhcUz27pcA+6YsyBA7Vj0JqvNfe9CCHjTWIfl0BqIKWHnTRKwnBQfGC6uctOiLrwCs+HaMU0HdbQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(376002)(366004)(186009)(1800799009)(451199024)(82960400001)(36756003)(86362001)(31696002)(31686004)(6916009)(54906003)(316002)(66476007)(66556008)(66946007)(478600001)(966005)(41300700001)(38100700002)(6486002)(6666004)(6512007)(6506007)(53546011)(26005)(2616005)(8676002)(4326008)(8936002)(5660300002)(4744005)(2906002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWFGbHo2MllTVURDN2ZONFhrS1ZnYlg4TW9UaDhCSkoxODhIOVNUTGpnWWlv?=
 =?utf-8?B?ZVRySDEvNnFZcE4yc2daSjI2a2dmT3c2WVM1aElwTXhROXFQbEk5TFlSNkVq?=
 =?utf-8?B?OVMwQVhVTmpGd1dmWnpvbE5ucW91b2xzVlcrZ0I5TXdNYnF5amR6aDdkUmcw?=
 =?utf-8?B?QzZYZ3lJQlJBODk1ZzA0WXpldXVVaXo2Y3lNSFFwS3NvcE1vRE1kOGxMQzZ4?=
 =?utf-8?B?NndHU1FhS2kwYUhEOGlsTGJyclVQUmFMdnNZU3lVcUxKUlBFTUdKenhBSTlw?=
 =?utf-8?B?c1BTMWFOL25rYzZvZHJvUWx1WUdaVHMyOGgwL0Z5amhjUE9Qb1ZJNzZCT1Av?=
 =?utf-8?B?YkxaZHlvdklHYWs1bGhheGI5MmtoYWtFaFY5WjdkZ09vOC9mVEJZQU1lVm1N?=
 =?utf-8?B?YWJhRDhPVklNb241aEd0K2plMkNSeFZ5MUVjZzkrbkxGTmJ3VHg5SEpoelAr?=
 =?utf-8?B?cS9NdTVJWmRNL1FHdkR2dGZEOTYrRVR0eXlZbnh4NXpQcVpDb1hJRmNadFc5?=
 =?utf-8?B?YmpEOERPR1RUQnM0ZGZWSWJEL3ZEcDZBRmt6cUNKQ3AvbWhwanNzcnZTWVNz?=
 =?utf-8?B?RU9ML1pqTGxseHdhM1JuU29JZUNPZTJmN3h4Y3J6aEdyYkpoL1lwTlQwQm4y?=
 =?utf-8?B?cWlDSHJQZU9WT1JJZFh4VVdFNkUrZmxZRTNJVjJqTzhhdWRROU9ON1RGVHFF?=
 =?utf-8?B?TmY4VXdVUnhDSDJoQ2JMS1QyWE9vNGNLK0NwcGZPT0lGODZuMFUxakducnUz?=
 =?utf-8?B?TjdxRWtMVFZnNlFxVG0rQWRyOFE3dEpBQzJJUVBpRGpocnhDR0dwUEQwTlJ0?=
 =?utf-8?B?U3BDQXovVlYrRExUSFZTeHZFaEFlazBVWVcrUkhWSXd2MFhHTEhaUnphTkd1?=
 =?utf-8?B?elp0TXpWVy9peW9NZ2NNVVBrN29tclN5VHk1cGpkaEVhL2F2OWszRHQ1eVJw?=
 =?utf-8?B?Q1pXNS9nZkY1WkFSNkxlZm5zTGRnMk9wUzVIWTdEMzlvK1R0Y2x3UEdZS0lV?=
 =?utf-8?B?VEUxYW1EYk1tWWs5dHJHMW02WkJFTkNYcUdWZjhHMlcxUGJSWW1JWHZ5Zm00?=
 =?utf-8?B?NVFxUjJOT1VWbnhaZHhUOUY4VUQyV0pVSWRISFBObXRHb1IySzdOeTdOQkZ2?=
 =?utf-8?B?YnU4MjduOCtObnJXZyt3VEt1UGNKNXpqdW9JQ094M0dGa3RFaFBtUGNIYk4y?=
 =?utf-8?B?NWlOVko5QmtiUUM5U1piZThZeWd5dmpTV2ZNSjJoZDRYbkkvN1J2L0JYakll?=
 =?utf-8?B?aHVKNVc4L0UrK2JTdTQyQWFBTmxsVm41eTYvdncybVJhS012UEIxRWs5WGZH?=
 =?utf-8?B?VGJDNCtZTER0OTM2d0JuV3V1NmxPQTBPblg5ZUNlL2pZLzc3S3ViRVl4WEln?=
 =?utf-8?B?L1BZZzJqZzhKU3UzZ25SL2dHSWQrbmRLczlLc1YzTDFmQmo5VzVWa3pTdXJj?=
 =?utf-8?B?dGRZU1RDcEVkdmg4MzFzTG0xdDNmaFoyY0FPdTIyQm5GUGgrZ0V5T3phQnBi?=
 =?utf-8?B?dzFKaG5LM1dTZ1F0aUZGS2IwdXIzSEprc1BBcWFzMFlOWVBKRTlFekNEbTNG?=
 =?utf-8?B?elNucjVFOThwTVIzaFI1dllhSFJ0dTNKNVovNzk2c3FHU09EUnc4UTVFZ1dF?=
 =?utf-8?B?VWpmUnZjLzIyRENpNGpGR2N2VGxsV2RCNE1ZeFBYTkdqa21TNTZZb2JRWjBw?=
 =?utf-8?B?amx4bEFCSXVRbGJQdE1BNkMydGN0Um1MRitrVWtLMXZFQURHSXR0Zk0zMUdr?=
 =?utf-8?B?dTVYRS9JTGdqWGpHWHJYTUw4YkVYbGFDbmwwZlJmQitFQVh4em9ydXZGZEs2?=
 =?utf-8?B?dnpNNVQyNGJLWEdKbW5hMnZPVTk2bkgvblhCejlIQ3NjR3I5bHk0SExRd0hL?=
 =?utf-8?B?VHViRG55N3VQUjNtL3dwcTl2WHllajJNVC9jT3RqUVBVcmVyVXNudTN3bTdW?=
 =?utf-8?B?Z1dvN0hUYU9Iemh1MXlIanFBc0VqQzNNc2tORXBkVXNIendodldaajZKbW5Z?=
 =?utf-8?B?WjUvTnA1Z0owN2txNmxSUS9mQmJnOS9YZkpWaGpGUndyUnJYUnlLendJclQx?=
 =?utf-8?B?eHBSa09JNXRlNEJrN3RNOTlFSzNSZk9BWDV6NUdCV0tqK0tDWjlNRTNHcWg4?=
 =?utf-8?B?VGVLeFJOV0FmYk9TV052REtDR1ovV1J4YzhhSW84QS95RllTMzJmL0FaT0Zx?=
 =?utf-8?B?VlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	hpWsVhhMpdGXmvl2RLTle1anblWLhFbUHAPvsWavhYgaTBkuk06GmxdZ5f962S1ldfXa6dbTwW3JBpSsLyWvtwXvPHM0v0EfHSeRoWqECXQv3yrqZ/qy3VEPk5Cvz11WoipRMusStP0xlzRd7pgZvxes1F/++dC1vsVCeIRapNprLKAjzh4VoGlkZhRl3nZwPwodC0YX2k9g4V9uy7jOqgn8NmY13ndtOxOU6pJQL9F6cTqvYdjhcandpYw1VVunxSJOakhmXQ6xhNa/hBlDv0MwmPyDLK1873dVmv8n8p1UsUTuvcjE4eIWuwjIsRYPeX3lA94dGWJGToGcpoOrcRSEqoTeLW7MgojFv+hUq44NX3phEbhAkFhIp2LkQpz2AWODEDpJgLSVX14lpZqJm1a9XoJwV42JncR5t5AyvFmLBBaUpF9Uc1rpUnWgTCf0NCOkIf55M+7P1o5S30pL5Z58dKHPstn7UG2eTQozkfp0fVlcrbGYC+ty5E5J6g9EV2g3lCPtSAky5gRBJGQj5Ng901KMw7525os2Ovl555wLMGaQQHvxWx6U9ymY5w61bzbDTcFZsaxkgl4kH4IdcB1rHaA5Km1NJg9pym6d5w2f99ii6cCHsVKl+rE6G1ZWnYjYwe8s3llE8SutaFBPeUWwfVzeSkGKriJTUslu/vKB54j+NRu1DH+bNaz6Xa/Fluts65sv97oqykZe4YlqVXinifc7qDu8G7q3WAhyhMh0jqGU97PmZT5xzYbXZBbtOP2ch0aoaq19oNsKaSBgOAtB2LcnuD229dPBjBBS86BhzmlmhurDbWdBdguFysxR
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 459c1401-b7e6-40a9-3763-08db9febc133
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:05:11.4277
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PjtxneAG6iXA4yVV77lQa0OTy4VeBaMN8lOZpxtBwYqlV2ooY9aZmBGr+g0EXgP47367ZMy9F1nWZh5bjaUCzH/CPuUUfCGFeW/ReCoUA+Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6046

On 18/08/2023 1:57 pm, Andrew Cooper wrote:
> Andrew Cooper (2):
>   rombios: Avoid using K&R function syntax
>   rombiosn: Remove the use of egrep
>
>  tools/firmware/rombios/32bit/Makefile          |  2 +-
>  tools/firmware/rombios/32bit/tcgbios/tcgbios.c | 10 +++++-----
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
>
> base-commit: e6cb27f2f20d09dd2ba135fbc341a4dc98656e10

Urgh, forgot to write what I meant to write.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/972116359

This gives a clean CI run when ROMBios is explicitly (re)activated.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:09:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:09:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586235.917462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzEK-0002lw-HW; Fri, 18 Aug 2023 13:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586235.917462; Fri, 18 Aug 2023 13:09:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzEK-0002lp-Cl; Fri, 18 Aug 2023 13:09:32 +0000
Received: by outflank-mailman (input) for mailman id 586235;
 Fri, 18 Aug 2023 13:09: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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWzEI-0002lj-Vm
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:09:31 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe02::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 763f2722-3dc8-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 15:09:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9429.eurprd04.prod.outlook.com (2603:10a6:20b:4db::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 13:09:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 13:09: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: 763f2722-3dc8-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m2Hhc977SkwGlBULu9YkkMG4b+d6CJKf0QdifU7YDmSEF6iA4k+xiPPZA7LAtGRvGAoQOs+A/5TRNo7jYgNpsbtFnf6QlMHpWLetKAi2zd+N7ChWD6DGc99qFGBHdubmOSSnr5todqzBSXNycE4yoxO1BW72EI0hMrj692ynkFkC9eGJ1CQO+1rIAvTh1uWHOK3Pa22g0cRNcIG1uaNmGo+lX7AOjKWyEOuHfDKxVP20/JQaLApW7jFW4tt6cSytY7gTaCByDb244Ex+SzkYaP6Y0R95p8drTff8AHzhoRDmfA6bYokokfbv4E7UqElGNygTMFQZjItxFkVxQ4qjGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9tubOERiUbNbRRu6CHyBe+nwrRGU8pOU1fNz4qv2rPE=;
 b=Ve/3S6SQ/N+0Yc/mLep7DuGizD+zuJJtzTcR55XMawZwLBXnyhytrTQtBGXkuBUl41G1Gwfnj4Sj0z0hEmptCYjWQIbYtZTuI+CDQweAQ9Da3kAKa+32/bxY4q2rcG18kEhyR2gvdmTb2traJsH3Iv+/R6f0n4rCW+hwM2TwFNnqnulNAB93kacx5koSTQ/9Ep96jnzBurPk4ZBWIQknJ8p3x/yAPjAcC4eoS7HOwKOTcihV7OPvqKrJcJdCz/Yto2Q2VPn59sH17WTFV3oBrF1OG/126Sqs6VRk7htmo9g/kNPrp3KkXYWZ8NPB29f+5mutaLBRrgQ9WqwJlkQQcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9tubOERiUbNbRRu6CHyBe+nwrRGU8pOU1fNz4qv2rPE=;
 b=dPKp/OOVuBF7HsjY4OY0wSUq+WyQPusChOYbysdYJiKlsSnvjYca+unU8ul302X7x6f5iq60bRvvM96oMyPXB+wEr1TrXOcR3dLXf1MoeVHlJAKttEEHYJWRp9x0QDCuqy2xHo/HdAaExk4TAeu4KuEy487mxg/nzOEmUqwSHyoSCnKl8crA/pCMqArX+2PydzlqJsqiGJsZWK720OHfVlgIlUh3+de9IWHalNBHrTvX3cSdtWDFV1JtmU9r2ZYhZZts+mwlzyUoCWlPdoKqZgrvQxzx+575D+aHZ6lm8yOjD4vE4PkKX7qn8vOdX2IzYuJm8K4qIOGvGzAwkrDd8w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5efbf7df-a487-bcc4-0522-7cc79fb9c4f4@suse.com>
Date: Fri, 18 Aug 2023 15:09:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/2] rombios: Avoid using K&R function syntax
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
 <20230818125753.876699-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230818125753.876699-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9429:EE_
X-MS-Office365-Filtering-Correlation-Id: 5527cea0-37e0-4384-d7dc-08db9fec57c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8ZE/tVCJ4L7yU6ntA1PkvMrQJlc3HRDQEkeqYGzqRSScqN6bBaKmIk6zEgaXFNyLeCAlfjAQYrEwke9FKVL/0IedWFdIggkmTlxcN3rPlVM0/ohwUfsgV2CGvshsMLt+F0legE1pyOqAc9U5yg1vtVaO0Os0KXCy+6nSEV2PK2ZYOphJ4DsRxEJlfgnm7UUlXFHksy7nT8EjQy558KHeZ3/jNVlB7z/h4lSOQ1skxtXWnjHflfgMeT1dhbQa67BD7esM98tkVQoBHAklB3Z8AjQ70ext/rcNZTRjKwa5oAj8dCnCgihyHFilwp/O77Zzu7O3ki9YBnZU1llrJzvVuAlrX5kMqahkj6O1eVqS+nnL8EwCwHxv0MvIANENWMoAH/FSc06GQy1HvFI59YDqYy35iCS33GFqumv0q5NL4LXtmXqM58xPw3NNia6nG+1zff0y22OUkVsMvhoTL2WIYuOoteGJTmfyFcLLhivd9ardynMSPuGlFBpegvjuAYe4SsfjKdOC+JnChBOZ+msnUnwZPjvfLja5biZSRT5hxhMfPC1irEmYAINGmDH28Ln0l2GeiJ1Uao2o4E4Z+0WJ1b6GKHEP9zmuCRWwpzntLVdmOFx63UzfKE6w1xYUW0C247zB9doXk/PI+KK8dTwvOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(558084003)(86362001)(31696002)(36756003)(38100700002)(2616005)(5660300002)(66556008)(478600001)(6506007)(66946007)(66476007)(53546011)(6486002)(54906003)(316002)(6916009)(26005)(6512007)(4326008)(8676002)(8936002)(41300700001)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlBnaHRVdm1weTk0OFd5WDFmNzVySkZONFlFcG52ZzF6TmtoUmgvV2gvampy?=
 =?utf-8?B?R3VRanNUSGZSd21iZUlXTkNaL3BwNDVXOWZYNmlpdDlzQ0M2NndteHR0YXRl?=
 =?utf-8?B?SXQvbUZuRVNidC90YkVJYmdJbEFEek4rc04za3pFR25ISEZJUkNpWWJITEJ2?=
 =?utf-8?B?aThTVURCRWJUUmJqVEIyUk53M0VVaU8vMVVzZnlKYUFoMlVkRk4xSEx5VVdx?=
 =?utf-8?B?V25SK0g5RXh0bHpBaTJPY0J2UlorYlhxMDdKaWlXaFJrL1BIc3lUcmJmNVZp?=
 =?utf-8?B?RHVKK0pQS2lIVlIvQlIvQk9FQXpvOWkzTEx5eDA0VXUwYTZUWFJ4aEhjZmxU?=
 =?utf-8?B?SG8yQktUZTBOQzdBYmdHNHpuSUVyc2Rqd2cyQzhEWXlQa3BJcnpMWFdRYTRD?=
 =?utf-8?B?c0dET3JZT2ZrM0JDdHpBQkZGWVZFSFBmWDMwOGxEZmw1RkdyeTI3TWJrZzBs?=
 =?utf-8?B?cForM00xSG8rL0FidUpHamhicTJoNk1WWjNJcHI5RS8yUnlZQWc3dEREVnJu?=
 =?utf-8?B?RC9nb0dKTjhTWXZFUCszMmZVaG5iNk1qSEZiMk11TkczZ2d1dGYyOE8rUThv?=
 =?utf-8?B?NUgvS0dFZ1orMEVDOStnMEtGdE1rVkUreU9wVWc0QzExRWRiNXdsc1pLNHdC?=
 =?utf-8?B?bjgyNGNtYzdzYWJVc0EvejhuanhJYlh2R09raUF1c2NnYnE2ZDJvZmx5MVNO?=
 =?utf-8?B?dXNwdEoxYm8xYjhmUytoTWZ6ZlY0RkhvR3Yxa29Hd0RiZmFaVm5vOS9PbHNw?=
 =?utf-8?B?NzMzZWFCQ0hoU2IvWjUwM05pS2RIMDdhZlBsVHlqZmpRODNiYzN3ZXgwaFNV?=
 =?utf-8?B?NzU1VzJZWU1JQ2tuNjhRTy80R0FHTjVQWFZ4dHBEZTZIN3NDNnFnYUxSbnFH?=
 =?utf-8?B?NnZLeEVETkhDSzlEczVmemM5RVpMWXpjOFRsNFQ3UmN2VEJoMUxOOTJSYXRm?=
 =?utf-8?B?TDBzamhJWUZhRElyZlFKQldzSlRYcXhxcytHNHN0bm9BeklwN1paSTJnWk5k?=
 =?utf-8?B?SWpETDdMN3dQVCtwZzlHdTNHK2lMMG1JNy9FeDFCRlg2SUVtSmRtbTBndE1u?=
 =?utf-8?B?MnFSTnhlWUdWZ1UrY0c3ZVB5KzNXZjFNMmxnN0JpbkhSK2pXYk5XM0FxQlZa?=
 =?utf-8?B?NXhKMUNqaE1RNDE0b1FGVDBmZys3RDVHYVBBVUtyMWlCVlRoY2U1MWZHbU5l?=
 =?utf-8?B?UGdBZzlWd0pGejhJYjNKd0I4R09VN1lLQ3d2UVN2TWkvOGJFMlpOYVhLSW9x?=
 =?utf-8?B?ZTJqN2VIYVZ5aWltcjlDcHRNc0Q3WCs3dDNuSzJseDdhMUpLUE5Jd25PSFFY?=
 =?utf-8?B?c0ZHS3U3dW5rd3V4NnpoUjNKemgyZE90YU1lbHY3dS9kL3phTUw5YmRQek1N?=
 =?utf-8?B?M1pKUisxdEZxeXdaUkoyQ2NjMmNQZi9SdDlIT3pLOFR5SmNRSmZ1MkhpaDd5?=
 =?utf-8?B?T29CRlhpNGdDZFVnRTF3elNRN1ZBU3AvdlZ4UFd0emJoUmJMZkd1eFJDRWJV?=
 =?utf-8?B?aFpFWlFJdDR5elg3dHlFV1ZVYTl4WEZ2ZEVwUXN1R2txMFZmV0ZYeEEvKzdh?=
 =?utf-8?B?bmViZlpSOE1naHdkRU1jN1dmaDN1REdOY1ltYTVjT21sL1l4QVBPUmNSbEUr?=
 =?utf-8?B?TnYvTVJNakwxRjBTQkhiUmNWQ3RUMzBHeFhRUVdaUDhzT05SZW0rZG9XejRH?=
 =?utf-8?B?dFVtWHZGSFBIN3hWSU80UVd4ZERxQWdkUHBkM2Fxa3RJclVaTGhSWEV3R2o5?=
 =?utf-8?B?QjU5ekFETWV2RFVyUFROQllBQzhFSktwQXhPMkhSY2dFbzhYVmtEV0o1RHJq?=
 =?utf-8?B?QW4wNXdCVlZQaGZCYytkb21ZdG5MSTl1K0JJK0pOR0VDb0JDb1lqMzllalVT?=
 =?utf-8?B?TGpIaWFLUTFvcENJZzhoSmhKRyszaUMvMVlJSVJJV0FnRHVYY2xzTTk1Rmgr?=
 =?utf-8?B?eUNUTUViWStNSXBBbEJRdlNWb0JSdVJ3K0U2SHR0alhpYksyWHpsR3pySjlN?=
 =?utf-8?B?NUpYd2RmOFErUC95UUdXWDh5TDc3TTA5aWo3a2M2NG5YenRvcmV5Uk1aWFo4?=
 =?utf-8?B?aWYxek44Z2dnV0hoRE5oMm5ZQTFPcXhmQ1VVYkVld0tudEZJTWEvRUlOMGE0?=
 =?utf-8?Q?5KpXdhyu/69FvGUsKJWw/sas8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5527cea0-37e0-4384-d7dc-08db9fec57c5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:09:23.8204
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2ydEIH53lxXjizuxXy8kEHmWKBG00ChspKukoRu9RhXLJD4IyYgcydQ/aNwZYN9f1WzdPoLbqb4iXcE4tSelPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9429

On 18.08.2023 14:57, Andrew Cooper wrote:
> The declarations for these functions in 32bitprotos.h are already Ansi
> compatible.  Update the definitions to match.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:09:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586238.917472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzEj-0003HX-Sb; Fri, 18 Aug 2023 13:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586238.917472; Fri, 18 Aug 2023 13:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzEj-0003HQ-Ph; Fri, 18 Aug 2023 13:09:57 +0000
Received: by outflank-mailman (input) for mailman id 586238;
 Fri, 18 Aug 2023 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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWzEi-0003Ft-IA
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:09:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe02::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 865b0e53-3dc8-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 15:09:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9429.eurprd04.prod.outlook.com (2603:10a6:20b:4db::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 13:09:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 13:09: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: 865b0e53-3dc8-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FyPL3ayX+CxoicYUKASER7C/625HI/rVCs/zQk/pKA0QeikhAftTwLf9U9CKRAbZ7jmMVXQyQxFFw9YecQyEIoplUQLS9+Q3CdtW73TR73hWqxe6W88LZ7L3+QRUWRrw8kxYuD2xKQN3E4tWTK46/TywvfX+0UrMv7gCzwAeZCearhbd4OLSajmJSRsOKpoWCA6Dm/fgVBPoQ8/i+DYeid57CdfTHkUEq0FschPg5h05XlZn0suoOfi5Q9lOLSh2Muxchmi04Un9LSfVM8CaqIp8nrb27jh5XCVMnawGDa+bFSR6hqsMP4GFWA7MiHmKBAf4C9ay347D4FQcpe4xXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O1LM/jT00umJMn9afHr1uH4Vl1oTiJ4uNS+qha4bEfs=;
 b=UHE8G9CQRK8kdJYgYFL1p+F8KWadRAGhQg07d8wb4MwHXPrmBMUad/Xm1kXZPkdJw1lXKFUtRaU/7JuIAW7oj/5ZaRDcm6Et+vZERTfc2vATnmVIfTFZ89qA6jUinUZDeHlyCUeXx86NKu9cdnS13S2aJNehivIAeqNQZB6edHgFzS9BCUdZHBrU3c1fml1/tGX7vLajBt8v+4ovtB5HA5QH2+5RWSg+qCzX4AthmqqBULCSF8o1JP0IjEW18xiHdCEk6diDBCCdkfXqX5ooNdPthszIdfkIGZTahGx6qqpwjGmYsHzRV0le7m1u2R5fNrCzeEB6j1C3is+L6E/r2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O1LM/jT00umJMn9afHr1uH4Vl1oTiJ4uNS+qha4bEfs=;
 b=bH11rGxzcnm1vDxMIcWD/Z7WFjzkrfH47alzGH67bVLCdbpMLSDbR26SH2ksDgnn0DfbDiJwqw3hF4R0a6iy1IwUBAV41x5a4QnUk07qLO45aK2PEQBstE3yqZDn7hujTrB0AjtotCOBf75wkCFjfUZsclP1FI3943rcu/GXkZ7mjUTAPzdz9Wg8jfcK9bBoyAvbP8dsp05yirEIEms1AnhONEvyFAmcEa+jVK5h/RPQS1bTku1dEl5xEea/UlJPxmC+bY5sxAVJjmTt2MaE536jBhBKek08FCt++f+O8iLKcvYsv5OCvWfrb7GsqlcE6YluKk+Tii9i0zBOGX81/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8c5bc145-6e30-4267-547d-e08454a126a9@suse.com>
Date: Fri, 18 Aug 2023 15:09:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/2] rombiosn: Remove the use of egrep
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
 <20230818125753.876699-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230818125753.876699-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0026.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9429:EE_
X-MS-Office365-Filtering-Correlation-Id: 22b1f2ae-0cbf-4166-32ce-08db9fec6991
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zJbl9imcb7mErpEei64LftlN9jhEFx1tZySoP1bmo8ASUz7vQS1fh9KvEVRj1NEj9PKIjOc49NOYiUpNzyJe1xkx89ZUjUGJ4Zi2nOZ8EMVu7Pwb/e+p6EzSacJv/yl/4DnuoNdAEbqvdDA0LAPmEikADwvSaGrUHoLNfbB4P6dlbbThuqJ2UyokPh9nj8UyGII4heJzbLVf7gJcs7m8yz10f+kg5bNjjdkGgyZHXOLFFRxQVncisd25FiKOc6m47yReZCwdDhrQDmFEY6S3ypP4Cti0qPMNvYhqYVrHN3QpD6u4h5u3h2KF47B+V1sJ+LC+NFphpc8dwi1xUrjOculVf7HmLr6D50f/b+9XmbDVO3DMkdx9R2CcklBXE25L/hoIAoMlJcHESHEcDbSvuoxFOvatQoiD6tTKMGWvFH5RdX0IhcDN7p2/4YSzbD0f6apCiyfx+PF2NxDQabnS3LOM4g5DUmpPltAajyJWMdSBwqD5l37C39+r9IxHAQAP/M5seXxoUrM1p/2BB7tmJ/BXv3wOsrMM6HjRiHd5INgcmC9sD3eBHFIPhqGCP+Xwc+CJbTNAxMgmA9Pg+rCToM5+eO5V14WDXbztvzkc/805uzUOmXtkk6308ExxqRTtG/DlkFGlvf/4sXTqz2PnNg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(558084003)(86362001)(31696002)(36756003)(38100700002)(2616005)(5660300002)(66556008)(478600001)(6506007)(66946007)(66476007)(53546011)(6486002)(54906003)(316002)(6916009)(26005)(6512007)(4326008)(8676002)(8936002)(41300700001)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WE9zSjBkNm5FSUh5cmxnbXk3NE85cFpGYUtIWnduREoxV2VzQnVDZlNFQzJF?=
 =?utf-8?B?L01mbkcxN2F6SmNjRW41dEY1RzFkakZnTXZ0cnBIZWFxQ3V3TlNqalMwTHVp?=
 =?utf-8?B?dTQ0WnZUeHNYQjZ6R0Q3Wlh2YnpqZ0N2Z2Z5dzdtd1Q1VmxUVWVZVktnRTRG?=
 =?utf-8?B?TUswMzFCbE9CUUZFYXhBT1Z2YTcrTVdsV3NPSkhGNnRmYy90c2JHQ3FWVG9a?=
 =?utf-8?B?azBkQ1YxWUdmODM5KzJaMUR1d2tOTjMxV1pwL0hKNWEzdEk0cjFESHp0VlBh?=
 =?utf-8?B?YVJIVFVlTjlsSUozUER5NmVYaERIN2ZYa244bkZVblpaMkZuR1ZvZGFObVAz?=
 =?utf-8?B?VE9Db0hRNEZQcFZ0OEczUGdabEtpT3M5cHdwTkFZVnNaUlV3KzBuYjhCSVhL?=
 =?utf-8?B?LzNOSVR1NitJMUdhOThiSWp4RWNOVGtMeWsvN3pkaFl1MlNpN2JCai9OVnpn?=
 =?utf-8?B?ajJmUDBkdkxuTTJackpSYS9ZNitXWENHZVh4ZkJtVCtFR1luUGJpMGZBRWho?=
 =?utf-8?B?REl5VzdzL2xjMUk0YlgvMG5DTk5iLzJUMGd1K1JNMFFuN1FqcFQ4RThEb2RJ?=
 =?utf-8?B?aWROcmdJR1grTVpxL1NKTTdSbzRkRDhmNWJ4OEowMjhsY284T3VPcHJtQTdl?=
 =?utf-8?B?eXgvR2dwWVNxS0RIQTZFR0h2TWFhSXVqcDdDVlF1Ukx5Z2tjaDF1bDlhNTFM?=
 =?utf-8?B?NlNVeDJldnplZHI3aDFGSnhmdGJ6bmNlaTd0K1Yvc1M4aSt5UVpLdW5SR3cr?=
 =?utf-8?B?bHZmSFRXY0Y2SGpvRldnMnNTbnRHTUUybFhHU29WTDloNVhWR2orMGVtMk1I?=
 =?utf-8?B?RXFkZGxUVHZ5NmkxV0ZoaGtHaXF6SjR5NGhHMEhLZDBWNWpLSU5GTGdkZ2xn?=
 =?utf-8?B?WWJiRWZQaEltUHM2bjUwd25pSncwRFAwaEMzcERwY1VGZFJVclB0bkozU1RV?=
 =?utf-8?B?Q2JWZFBZWXc2dGtlNHUxV1lTczFCRlVLZXhpQzdkaTB0RTJWQzRVbmpHWW8y?=
 =?utf-8?B?VEpuY09OSjZkdGpVaEJVbXB6cXJQRjdZNnVCSm5icll4V2x1TlJyYmVPdlVk?=
 =?utf-8?B?K1lGai9CcEVWc2ZMT05tTHJDSzE2L3NnMkVGaGtxbnRaV0RFcFdMa2ZBZkVs?=
 =?utf-8?B?c2RwTU5xZHhiNjJnSUcyMFBSU3pKMEt4N0VaTm5HM2FXZmFQRUFpVzhtN3Fy?=
 =?utf-8?B?V0RyR2duOGp1ZmdoWENKZm9ab1dzNDFtRmo4aytVZ2tESjM2cC84U0dLV2Z1?=
 =?utf-8?B?dXY2VWhvZEsyWEIyUUhYcFB6alkrNmtRUStsbFF2WW1nS3laZ0Rub1gralA3?=
 =?utf-8?B?cVROWGxBQzMzUzlpR3dpcVpVUldvS0VRb2sxbnRGaExXdFdnZmVQWlRxQnY1?=
 =?utf-8?B?OFgwaGx4OFBnYmRTNGxKd1FFdTgzSXIwQWhpNFM4WUtna3VKdXJqU1h4UGY4?=
 =?utf-8?B?U0JVaVNjWlBpSmhiSUhSVkpUMHE0T3R0OGlvYmFlaVJObEN6RlBDSCtMNFp2?=
 =?utf-8?B?eFpHU3ZjMGJMTnJZR3YyWEZHMnJURTNlWDNFL3IyZ1ZQV2czejFDTXA0TytY?=
 =?utf-8?B?VW1id3BpMnZqQzhDSVlUdnh3UWpJaUsyemJsMHhpQXJ5MmVLU0dYNzNBbTFD?=
 =?utf-8?B?UkpEaFJpaGVHU05MTjM4UHMzRXZnZElNZG1MUUhsV2ZJbTI0c09lV1hweFph?=
 =?utf-8?B?UGtabUxWQ3NCZDZWT0d1QWdFMTk5UlpXSkhRUHcrSVdVNXVvL1NSdnZ0K25y?=
 =?utf-8?B?dENaZFlaQU5peHc2eU5SZFFTdnMyNFhQSktWK1JzYVJJaFU4eUp4L1VhUkJ1?=
 =?utf-8?B?WGNPdVdLa2hZai92M0pFN3R1ZDl5U1g3am9UbW83c2ZQeVl4WGdZSGlYbDZk?=
 =?utf-8?B?Rkx4aXpBVjgzRm42Qmt4bmltYlpEbnEraWpVRE5CWjRROTU3aVRiLy9POWt2?=
 =?utf-8?B?cWNmZmdXbUFlOWsvMmErK2JXOExOZjJpeElQTjRkaUpkQmdyRVN0YlFtc0gw?=
 =?utf-8?B?UW5hVjNoVmJGNElRdlhtNjF1THVPZitiUVZqd1d2VnlmOXBqcmpWT0VHSmFR?=
 =?utf-8?B?bkZFeThXOXhJNDQwbnZ6S1dObHpEb3NDUDBWdWJHT0lHZGd5YmRNeXRaZmJJ?=
 =?utf-8?Q?XyX5Gy8/6r9j0aYL3oUmN37fz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22b1f2ae-0cbf-4166-32ce-08db9fec6991
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:09:53.6688
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j4X73IAsX6brXSjUdIKtlCC5jbueuReHpc3NR839GeFNbbkSSgwz5ihOU893wiNhhnGLd7M5Cuw8jvldloIWxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9429

On 18.08.2023 14:57, Andrew Cooper wrote:
> As Alpine 3.18 container notes:
> 
>   egrep: warning: egrep is obsolescent; using grep -E
> 
> Adjust it.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:13:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586250.917482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzHv-00050e-Af; Fri, 18 Aug 2023 13:13:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586250.917482; Fri, 18 Aug 2023 13: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 1qWzHv-00050X-7s; Fri, 18 Aug 2023 13:13:15 +0000
Received: by outflank-mailman (input) for mailman id 586250;
 Fri, 18 Aug 2023 13: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=dk2S=ED=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qWzHt-00050R-RH
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:13:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc0b9009-3dc8-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 15:13:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9429.eurprd04.prod.outlook.com (2603:10a6:20b:4db::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 13:13:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 13:13: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: fc0b9009-3dc8-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ApZCEFUftzrahO16Zr132X3ID6Ad4Zc6QRi5mpovdS099hzCoWs9FHVA8OnOHOovWpqXo8GF2jNTSmT7kzQwhKh1bCsiEC2FMplph3uX+z2aPLEUzogAWK1c4grvuvEAQJKNCu92iE5K9cHpTFDvC00kA8g2AJK3hxL7FKDiv0Zd3lxG+uRARvxVCMuT93Yre3aTo8xcmzFAfTrzKt4JstvQiCGF0PStgAvGa+yGKnSNNIYEJgk816f/y3llVN0qCRR4Yrg9zOXq0uqkKIYy09y3lfP4QsFkwH5TayZRdQDOWhuqJYxfyvfWdtTETzPnMiSeGOGJsobqcnLnoj/xeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KdxT7cBuCdXNxAiNN10sjXb8mbijkS8T7QVV8nVNzfY=;
 b=nt2Ntx5+gmxdasOR9WjZPrtZSG9tyIEcD8VEznA/zKC8oDytTusoLTtqzjYxjzgFCI6h6z+kk7bCb2HPpw09NEC2p8/8awIeP2K4X3W5Y7f6tW6etlX41D6r3jodzEj3Sfuhv0Xx1w4Wsea/EtLmCVdvh2jX/1gLBe6HLUgE+O9V3hBvEtcqRXwlaA3g09Ofcm+C23aJo1HmqI4eNMrmLjM0KzWxOFSt7C9dzD02Ij4sn9Px2AaY/TnuRZLDCRI6XaM8M52RrUj4qeT/kmIQcdRUxol4vBTvyxjTiV5L7ehVuOt9nMKzHndX0HnhuiTUj4XlJUhTP5ca+smt3jR+0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KdxT7cBuCdXNxAiNN10sjXb8mbijkS8T7QVV8nVNzfY=;
 b=axWQE3/txFVAEeyztc/BnRnvFXCanLMs1+Xummz1e1XoNLXmC2DbWXIKKkhEutZRp0VZVVxNsUcvP5Bq+Y4rUUsuJo919DwdA7muSLgnP18YjPTN3J9JMhTU5cx0O8QsmiJ9L++3ZDjycpGGf1lcrV0h0t+EFwZzzJjkzaECCqPCH63iWRTp/54gjW7MtznAXXoHcMa/a0h0aZyS9ju6FMLfASQR5L/wBHF3sirteWT7MgK8MTtYTvVQyixEsF8P16iqU8slfN6iET+4JMQmw+wT6yYSFHx+lkK2gDu2fbCtrEve53rguSL2OoACsHSCTii5XAH4taDBsZc72KkjSw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a59c7111-b349-4deb-326e-3fde6e5125f9@suse.com>
Date: Fri, 18 Aug 2023 15:13:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 0/2] Rombios build fixes
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
 <9c9ac724-9f86-14bc-5a22-e6e64c64e48c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9c9ac724-9f86-14bc-5a22-e6e64c64e48c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9429:EE_
X-MS-Office365-Filtering-Correlation-Id: b2980bc0-bdb2-4770-2ab5-08db9fecdf33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XL5MP7z8odLbw5VnAZGHus69VpOJJtt4a9fEnhzsn6nN0It4CCMNlOvwvTOr2blBmiRBWHLkSkKf9kpgX8Z58c5WDZS+CIdViegd5mZy2wwl/PImlkAfkMKpJJhKsXV1tn0+mFAQCq9VEP2I2yD96CmU7BH4iECCLyMpC6S/F4Uhn4M/mSx4H8b8h6ObvIOE0SoyD9xY/rd4k86Ok+wA52deOONulml/a9grHo4QDEmnk7ca37k+s39xL+TnIFdz9+FdU77poY1RzHPFZq0hPQH1sBO312wKaFCTJ6YtFW+FYTugn6Xv7ZV68FDiXiFJD7O3uMU3gNHWW3lkV758CJfiThuUcACw3O54IWEbLniREghqpRoJUjaIJn0RfJFGYvBvp05ig74Jn8g0ajOr2HpKO2fmoXByOcEa/E9FVcMShWOoy/PyjaPUzHQOMZkQ17+dADFWUCSD6atmntrMWcdke4Z4EVJopRnKslsSNFPtkysL3QBbgriJbzZkpSUMlztwmtc7rMoxgK8gsZ5xMopu3Zs0qK2G5CMMVQaHmq91NEs9WaxRITbiCuzUEmjTerhm0WC/MazQMKU5tx1+LpqV0S0R8rwmoQrrbpSt7AORainE7DYqM9lVFzKXSgzeTBvR3kf+GKcFITjOtyN3og==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(86362001)(31696002)(36756003)(38100700002)(966005)(2616005)(5660300002)(66556008)(478600001)(6506007)(66946007)(66476007)(53546011)(6666004)(6486002)(54906003)(316002)(6916009)(26005)(6512007)(4326008)(8676002)(8936002)(41300700001)(83380400001)(4744005)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmFVcVlzbjVWc0FGUUJDYlU5QWN5d0lEUVlDSW5OVzhzOStBQmt5TEJuWGxj?=
 =?utf-8?B?NUozVHA0R2xON3o1YmVXSE5GYUk0UCtVOVNPZmdyM1dDZ1R3ZENyQVpUWVVm?=
 =?utf-8?B?dDZNczBwTUtHZm5Yc09XRmxsNjNFck9jOVJ5OHFrNmd6SnhqSWtvcC9Qemdz?=
 =?utf-8?B?ZUdZbXhYZkJzZU8zNVNpRXJVVHM1dlJPRXVTaE1MM1RQbGF0bUtObUZkUzhp?=
 =?utf-8?B?U1cvU1A5SDJBVU9OMm82YkxsdFA4NWJsdkRZaE1qdnJDUXJEU0dMT29LS21F?=
 =?utf-8?B?aG1aNS9wd0RVaXEvRkJEK0JQVVptMFdwN3Z1TTVoR3lBai81U1dXNTNuUTdQ?=
 =?utf-8?B?aUFnRDFOc2hNN0ZLODBUVlBmS0p3VDh5RStmaGFHMHB1cjhPNkpDbkI3THdC?=
 =?utf-8?B?TklZMWtYR0FNNHFabHpmNzhrRGFpVWtkWG85Z253ZjllbFcyR3FZdlNNeWNH?=
 =?utf-8?B?VVAxQWREcDBISkFyUjY1MlJHS2ZDY1ptZ1M0cmovMW5ZaXlZTHhZVjdERm5T?=
 =?utf-8?B?QnRKOEtBNlAvakgyQk9wL0NLUUlYVTV0RVZIZEUzcEQrZEhVeFBTZFNxdjNx?=
 =?utf-8?B?QjJLSTZ1cHB6a3R1WFlldy9aTU45VEYxOVNFT0dBUlUvVDBhVjBSVmRpKzNX?=
 =?utf-8?B?amZ2TW1xN2lQVzlKbEUvQ281WGIzNHZCejRUeTIzdTZIUFFIa2R0S3lIV0sr?=
 =?utf-8?B?TWM4bllZYlJxcC9FZXN3RGxKZzZQSmxrdHVwNWk5WWhhck5jVVFsNnMyWm1N?=
 =?utf-8?B?dm9qSWptMG5SYzdlNmF0VnFDTlZNNDdjNzVmeU1NNTBPdXpoUlZrSEQxdmZn?=
 =?utf-8?B?R1dFTXNLYnMxMHJVNzZPQlFtUGJqSFpMMkdML0xXZktjTUhNc0tBK1laSFZ3?=
 =?utf-8?B?VkR5ak1JcWlwVmgydmluRUtlMEkydTR4djhUUE5vVVNXZ3FRT1VqZ21zTlk0?=
 =?utf-8?B?ZFgyNVl3dVNNVUdVcjJJR1RDM25Ha1pKcjQzSWdnYXFGVFVscDhWK3FidmVN?=
 =?utf-8?B?WmNNcXZXTGxnNThLYjlhbGl1YW5rbkF1bURDQXVJaHhINytuOHZFNHRUOCtY?=
 =?utf-8?B?a0ovWkJKZUxlMEYzbk9UU2RmN21YT0dNZzBtVENJRjQ3VWFMWW1BTGV2ZUdH?=
 =?utf-8?B?Q08zMlZRREsrMVJ6bEpaMkZIZW1yQVl1emIwMTgwS1JsemFjWm1zVUcrS1Vw?=
 =?utf-8?B?SWtNNEZOZSsrckpIWCtSVENRZWlOa1NoMnl1bWorSWdaUm5DSjh1Q3h2ZWUr?=
 =?utf-8?B?RkxJN3VaOWFEMTU0WHRHR2NwdURobzJzVUlPSnlkUDhVUG5VWnBKNFJNWGpL?=
 =?utf-8?B?b2VhbTRXeTFMelFOalQwbjliclkwVStUOFVhSHZTT0YxTzJBei8yOSttQ0t1?=
 =?utf-8?B?ZEFyVFE4TW1IQVJ3SDlBY05XTWxraXV6ZU5VbS93cXVjc1JXY3h1SlJTMXlv?=
 =?utf-8?B?WXZ0UjV5MXhrKzU1cVA4Q1hWKzlGTGMzWExqdVhIOGIzYUpCQ3NYM3F1S3B5?=
 =?utf-8?B?S1JHNzRlT0RzWk5panpHdFVxYmtwQVRuUS9vZVJzdDlGVmJZRmQxTWRocXRV?=
 =?utf-8?B?ZllXQU1UVktuT3VjV21nanFURzVEdk5mWndTVUlFVm5leWRRdDRsUHlIcWxz?=
 =?utf-8?B?LzgvNGd4OWE5SytvaXY0dlNIMEx1bVBHY2xwdHJEM0RKQndxT3lMMVVyNElr?=
 =?utf-8?B?SGJ4QVF1KzNPN1ZuQXVQdW83M3o3VE5NZzg1Q09jZVRyZDkvWmNoa2VBbXRW?=
 =?utf-8?B?eE1uY1F5ZXJTTGd5OGwvdnU1eDRTR1J0a0tJTkdJSXQzdHlDTks5SnVBUzZ3?=
 =?utf-8?B?R0JSQ3R5SmFpdGlWNFZzdXNYTG1NdVpIa2MzbENHalpycGxQUzlEZUwxUXhw?=
 =?utf-8?B?Y3JKODlWWVZjbGF2ZXE0QVJGR0pYcEs5aUV0VGdIWXFtNDc0cis0aXdNdmVr?=
 =?utf-8?B?UVoweTNpQUVSTFZKSkVPQXg0RzZjVDVtcFBxalhsZlJQaExITGcxcEM5aE5q?=
 =?utf-8?B?MFI4dEFsYi9NZzlmY09JcmV6c2V4VnVzSktQZXJPSnVBNVl6NmVvbzhuWGRC?=
 =?utf-8?B?RlhkWnRUdjFydTR0c2pZaVMwR1NmSGlQMUREWi84eE1PU1dCc3Z4ZVByL2Ez?=
 =?utf-8?Q?hIT1Rd2L23g2bHr+J1s1wRQDH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2980bc0-bdb2-4770-2ab5-08db9fecdf33
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:13:10.9818
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VGjIw761Vzijplj8qFTaRbqMrxAi+j0IsH+nyK1+4eBBhOIfvnHdpqvD5zCUFZYoWn+jk4ITbIhW91Lh9RCeAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9429

On 18.08.2023 15:05, Andrew Cooper wrote:
> On 18/08/2023 1:57 pm, Andrew Cooper wrote:
>> Andrew Cooper (2):
>>   rombios: Avoid using K&R function syntax
>>   rombiosn: Remove the use of egrep
>>
>>  tools/firmware/rombios/32bit/Makefile          |  2 +-
>>  tools/firmware/rombios/32bit/tcgbios/tcgbios.c | 10 +++++-----
>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>
>>
>> base-commit: e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
> 
> Urgh, forgot to write what I meant to write.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/972116359
> 
> This gives a clean CI run when ROMBios is explicitly (re)activated.

On irc you said "more array bounds issues in GET_BDA", yet nothing further
is being adjusted here in that regard?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:18:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:18:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586278.917505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzMx-0006LS-Bc; Fri, 18 Aug 2023 13:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586278.917505; Fri, 18 Aug 2023 13: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 1qWzMx-0006LL-7x; Fri, 18 Aug 2023 13:18:27 +0000
Received: by outflank-mailman (input) for mailman id 586278;
 Fri, 18 Aug 2023 13:18:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qWzMu-0006FP-Ty
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:18:25 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3e2ff66-3dc9-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 15:18:22 +0200 (CEST)
Received: from mail-mw2nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 09:18:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH3PR03MB7482.namprd03.prod.outlook.com (2603:10b6:610:19d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug
 2023 13:18:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 13:18:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3e2ff66-3dc9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692364702;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=l4R5g429eqaXZJM9n80ATdChTDiYQf0T2JINTYBur1I=;
  b=Hy1L7QGENDFSa28QcVJZhi7wPuxZGiljHjF20YC/VGxDMRc2kEX6PrR6
   V/HpZqOMg25o3hsZnOFQ3wb+g2Z4gkkCX4EIHngru3vcOFQ4MtGw11DcZ
   RNkcayKJ8aq6OPx8ejFuH96iXu9aIJDbTSE/S7VTGZ9H8PdhYjEXhK6oA
   w=;
X-IronPort-RemoteIP: 104.47.55.107
X-IronPort-MID: 119171111
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:l3FAVq/tdXvbnrqWMBNFDrUDrX+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 DAdWzqPOanYamr9Kt8nbIS2oUMEupHWxtdjSVRvqnw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNakb5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklV+
 60AMhIgVyzEitDsxLbiS+o2vc48eZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpj9ABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtDTeLhr6cz6LGV7kBKN00rfBy/mvSSkGKxVowCM
 3IQ1AN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxmdLngJSHhGctNOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgc/iTQsSAIE55zmv9s1hxeWFtJ7Svft0ZvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLztp6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:S+zToa165VQRFcoyf/CI+gqjBB8kLtp133Aq2lEZdPWaSK2lfq
 eV7ZImPH7P+VEssRQb8+xoV5PsfZqxz/JICMwqTNSftOePghrVEGgg1/qe/9XYcxeOidK1rJ
 0QDZSWaueRMbEKt7ef3ODiKadY/DDvysnB7ts2jU0dLz2CDZsO0+4TMHf/LqQZfmd77LMCZe
 uhz/sCiTq8WGgdKv+2DmMCWIH41qf2vaOjTx4aJgItrDKDhzOw6LL8DnGjr2wjegIK77c+0H
 TP1zf07KW7s/2911v12mLJ445N8eGRuedrNYijitU1Nj6psAquaYh7MofyxAwdre209VYsmM
 TNpRA7Vv4Dm0/sQg==
X-Talos-CUID: =?us-ascii?q?9a23=3Ai2sEF2hgipuA9PVgLsOkaUzjWjJuaXOM1G3yDna?=
 =?us-ascii?q?ETmtbErmREF6TophujJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3A3tlPug/4DA8x8N9ytFNiQ6yQf+sx3PSTIQcJqpg?=
 =?us-ascii?q?toeWLOHItIwmZoh3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119171111"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lwSbnVd6A+2yRAGrqWD5stm5z3rFxzCqLbTHOOyfBPjdQGsuZl4t+YAw+Y8lUG5iWbDIJNcCyM/4oFjXzvsPxyK2dHEJL4Rpy6gmiskd+t3YhTrdtaDzlpj03/53154Ox6nKhVkievOCP85R5mTd2UW6pK3RunMj7mme0OacaG2TqhJO2ONVfnMPm3IdZe+ANzmWX5WGnrKOGH76AwZSAaOqO2SfAb7twx4EvHIkghtMybKRb2e5Nk+fclB2et52pr3mlORy3fGfQhigDt1Tv0kN1ALMGFB51cm3xMDWsfrCD1pw9yOL5lKEVzkP08fxixzEbU/r37AuXRUrzIwm8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GbePUAEHyuEsP1r6aofGGlt/5LQiCW/v7+1psjgEzVw=;
 b=jAfRLYqSFijVGyQsjVeBVL6JhsvAHvRWRiB0H+lB72Yd03namfaF/NH2kB9znEzVzcUZV6x4sZmDPaF3iqlzdgreezVUxpAxoDt8eKBvCsnHmhKT+dhDU7CODJ6/VoeutaSnjNJijjxJulfVvQamJZyn0SFAfY6dNfjt3ssAkl9wogGywUOoP6vocxpPgCKg3jxAsem42NLMN0DOTdv3mdCXpdHClZxzDlbAsLXAJt+krh4ZdMamopvQSvspqAgerO5vx8DnxbTKhYqKUz96fR9JzLpiplDXa3/Wgmc/PLTvLWSuocDbHjybADeVlGtzxz9hYsWqhvt8AYX8Bbd00A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GbePUAEHyuEsP1r6aofGGlt/5LQiCW/v7+1psjgEzVw=;
 b=Zz+MirvquK6Og/f2u97D+3fqEAcNIXsX+LXUtvvqar4J8JmOdeGTOkxXqI0Q7MyIsuD6mAhMuXqdOaQMhlvzeNVCtAJUAJEM0v64HnqKiizZCx98fceRGB82yguGoutYKrv3diNeee07jGWG9eATH3l17iXacB+MSp0oa7wcSHc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0d2d18fb-c102-5e87-f836-cff428d96ffb@citrix.com>
Date: Fri, 18 Aug 2023 14:18:03 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 0/2] Rombios build fixes
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230818125753.876699-1-andrew.cooper3@citrix.com>
 <9c9ac724-9f86-14bc-5a22-e6e64c64e48c@citrix.com>
 <a59c7111-b349-4deb-326e-3fde6e5125f9@suse.com>
In-Reply-To: <a59c7111-b349-4deb-326e-3fde6e5125f9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0027.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH3PR03MB7482:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a3e2980-e86e-4600-2e62-08db9fed8fff
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VMKfWaTOUSFA44sxIqlfZbNTJ84yLU+So8asyLNnL9mv04Wvh5mLlkDYJ4hYb8bJmK5zeLiA8IeMyFJDSVrho8CNDMIGRgYklPPWz3pMS2VEuAdgZ8Ef0+ZPkFHrKSm4FlgZBtyMelQOB3wDP/wE6g7EmzkG/kgakPaFzzPGz2v2kqWO+8XlvywpZKCDZNfCJFGfKobNN4FZiH36nznnwwOFGto+ssm72Zncp2r2hRU4QkchYIltJev9GVX2KvupGI+k6a85AkcrSeO15mvmIDW1JwcSxFNZ2/T8g0LVCe61FN9PlBXPhCcakbiIcbfG+nc0Maxx4a/eglB5YH4wiyNEBq7gOEwcbWxMNfmnLTnuAS5Kl8es7jPjLzsaW6hBZ71ltE6GEdcUSfc2ywcMD29ps45/6zzw0t55Z6V6+3ThuyNkkvqrXiUyksjnu3CzwJi7Ec1yrrtso7aedvlKQbCGzp23nKVBNW/vkRQ3Yh35uQLFBgshGgqEhc+N0jzj9/VHyk1gmaB6jMgVjO130pcCM9Aub9k8p+LUF6GlvD5kxPAsQo+PSt+BF/3QX5M7oSA2Xxb41BEoi6vJKmy2xgsXNO2TLAp/zznA85n4vr60vDkzgE/fJxEzPjGw0EcPhjOJLPptua57FTwyOdu3lA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(376002)(39860400002)(396003)(136003)(1800799009)(186009)(451199024)(478600001)(316002)(5660300002)(6916009)(26005)(966005)(4326008)(8936002)(8676002)(54906003)(31686004)(66556008)(41300700001)(66476007)(66946007)(6506007)(53546011)(2906002)(6512007)(6666004)(2616005)(38100700002)(82960400001)(36756003)(6486002)(83380400001)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YStkWVlyT3cwNnRlTkQyWm93RG5NSXhpYjZlMFdpOEVaYWcxUFN6MkQ0REM2?=
 =?utf-8?B?SVRwbU5DeUI5RUdZcFBySzhwb3k1d0cxd0pHbndZRkliWHRCNUZlZi8zL2Qz?=
 =?utf-8?B?cm9IZDh6emxpR0NiV0dIWnVyTUEyNmwrTUgzdEU1ZXp6SnlDZkZMVGk3b0R0?=
 =?utf-8?B?L3FmUWlqdkVRMnBDMlNtSE4vQjBmbzEwRFYzSGJtc2k4b21EWXNDUEd5aDdS?=
 =?utf-8?B?anJKb3dPUTI3OFJPL1R6UEg0QWlIZ2pTTVRodm81Nm1WTlI5a0tZV3RCU25T?=
 =?utf-8?B?NXpqaENjWWlrYjUzZEJQSFA4Q2tBNEN3WldBZDFEUHpYM0V6Y3NFUVRWMVI3?=
 =?utf-8?B?L3lncXJ1cTRCNEpWREliQVdZc3ZLMkJLU3prV3JrSEI3RkhIM3ZNN2VCUDFC?=
 =?utf-8?B?eTUvcFgvV1RxbGd5dnMwVmFOWW1XbEVVUVhwUTFGS0cwaTRVaXI1VHZleTBx?=
 =?utf-8?B?NU1jbVR4alBKbnpnT0FUODhlMTUrVTVvanZzeEQ2SWpucTRVVDhUeUd0dml3?=
 =?utf-8?B?cTJJblo4SWs3Z0VsSHJCK2VwU1QrQUZDZzZxWi9zS3pCR2hoYlVvdG5UMHlH?=
 =?utf-8?B?THZyK2F2bXRFQ1ZDcmppb2ZkODFRanBWcWowb2dqenRnS21uQmk3emkwVksy?=
 =?utf-8?B?cERUZVg2R2FlL0tRaDJlTDFnaDFHdkFsWjUvTjN0U3NPNUNUWlFKK08xU2hy?=
 =?utf-8?B?Vzgwb0lBbWJGSTZlekJkSFhMVkY5YWpnbklQZm9nY1ZhbnFMb2hrWG9Vc3Zm?=
 =?utf-8?B?ejE1bnNHajFiSzRHS2x6UXp6VWVwb1RMVHVYQUZNMWZhSXFDLzlUT0JaQUdH?=
 =?utf-8?B?TFhxQTlqelBmYW5tUVpieEN1UU0zM003V3pkbm5uOEFCa3pHZ3pLaVlxTjdF?=
 =?utf-8?B?Zi9la2V0TEErTHV5bnFtRGhXTExPWGpkNkVXWHlSU3hwcGVUUHNBc2xyeHJ5?=
 =?utf-8?B?cG1KWXVUSlpxUWVQaEVoaGxTbWZxRG84c3VYRnRyRDJTSDRyNHIxY08vT2tX?=
 =?utf-8?B?ZHdQTndpZmdwL0dRVS9wVDFEOEpBV2tkWHI2TWs3NXJUdlAwMzR5dnA2VlVs?=
 =?utf-8?B?dmFLY2ZnMFRiUEpXNUhBcUw2QjFQY1ZpeDFkOHBOWDdKK0xjL1E2Tm50emYw?=
 =?utf-8?B?SzBTZXlSR3RoL1BLb0w5YUN0UHFXNGpaNDdId2pHcVJvMmZRbEw0UmxNbE4r?=
 =?utf-8?B?TTROWXRiS0hDY0tOenBrSmphRmdqRWM5eGZKOHllRFZwc20xY21nd3FYbFJ6?=
 =?utf-8?B?Y0ZtUkZ2am55b3JrdmE0M1NZZk5WUkMrVHdHTndML1FPcjM4SWR0dWY5OG15?=
 =?utf-8?B?MnhPem1xbk5QZnJUVHJTb1J3cVRyQ3VqcGFnUytPMDQyNHhZbnA4V2lsUklC?=
 =?utf-8?B?cUcwZElKOFdxTENLVEVDNVd6dGdCbVFnUG0rZ0NsckZ0VWlhbzVlTzVBRzQ1?=
 =?utf-8?B?NVoybitlZXlEWEtjZXRWQzNxT2RLcE1oSTBqQ2hmRTRvOUlpc1ZsK1lyZDlo?=
 =?utf-8?B?UTJ6aTk1VEZLV2Q1Z2FnWExOY0tOMnl3Z0syNit6TlJTVkhubDJKQ2h3eUt1?=
 =?utf-8?B?NUJuQ3ZYdkNpK1N2cnhKckZwcytzVzVCbXNmK1RwZUMyTDNCV0VGUjcvR2lF?=
 =?utf-8?B?ZTQ0SjZ1Yk5uNWhSalpXOSs5Sldwd01XaXZUZWNNVHRVb0R3aHVMOG9NNWFt?=
 =?utf-8?B?M2hWRWwzZHZqWG53OE9VSkljYmd2R0UwYllPc29BS21CL2FyNjl5YUo2SDNU?=
 =?utf-8?B?aTJyQ3k1ek1oa01KOVFJWmtkRjBNWnJWTXBkaGRvZUpZNjBMSW9uQWRzaFlw?=
 =?utf-8?B?ZFFGakxIOWU1UHZseXd6V0NWRzhOQWFnVENwUXdtNGMzNG9LaGtSaDNjMW9r?=
 =?utf-8?B?cEsySmg2UGlJMUxKYlVIeUZUUXpKbGxQRjBMbFF6dDlLQkhnTWN4bmNYd05k?=
 =?utf-8?B?aDNVN2lnSTBGeE9hbmdnbEwxdTJiTXdRb1VJQ1ArUTlyaG9Ocmg5NS90c3k3?=
 =?utf-8?B?Q3h1QU5kcVNnZG9VSm5CSkdIY09vN0J3TUJzU3VQN2pMMXBiTmh5YXlaTkRQ?=
 =?utf-8?B?TmFSV3k2bzBJNERXcEtoRThYc0J5emo5aEZZQ2Q3eDZSVlE5SEpZTnQ5QWZP?=
 =?utf-8?B?RHVmbGUyWDF2ZStmZFR0emYyRVNjam9iYzJrSHhvU1Jld2hYZGlpUTQ5aUlw?=
 =?utf-8?B?N0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	c1bpVsFnxXevksBlctehCorRQ02Ndp3XQc/5mNHWVQQTfX678/xfINhz4UeO+hZdeTtO2dD1gDAmlSQW+1snq8o+cL6GCmUd5xBbZWbxDWKDOrjMGpClKsZr1ChBSZ7N3R7eUhQpddBagiq0GYhntPXp2K+QGLfM6tTe8hDM6hxGOCwlLQzG78HGT7WWMANCzPly0Ls0AeVTzdvmdLz3biErjyFT1LTuxhEfM/suTYBQEnAhtS55sKVlSpqonrCst4cIQz7rKU9fkG6SQyESTWet9gTKvGGMa3X7BQRprG7gvK/SS6xOB9V9rOgpQosz7sBREQ/gqSZ+MPZyAUeCOBZfjnfrRo5fqEUwoA1CFXwY883rZZeYv5zqVgwoaBM20D9POtu4Q40m2Vv0LV+FwkuVWP5Yb694fqJGGOzVjQr6xcubMlkQEhXTnFkToj8afXVMQldg2Vq6p4ttjAjmHCo9MbS6aJVRvo//HIzloNYX8zu5STOzAtvFev84i+guqUlDpKppJbaBSt75qQu9Vq9Eibr7a6fb1CCxtk5+a9oTiApmfuejsMtfG9vfzzlZANT3qGiF0gMysVyEnLfusf1OSH89AQXTNte/5bo+LeOltvmKiyo2aZjDTgZEGkmbgJc47SgZ+MkNfqQcrO5mQu1ugBQEXdYn8NqkchhYUTnUzHaW8MoJVaW1/YRIllTnf0AFyGGuSNHzAMbGAIA8npBLigq5dbtM8J5Wz1SpBOIk8YBW86uFV6aOuelT6xL199mp+i6uwqmEb838x9QMlSMM6qcIVGCDGw4bt0MLF20uXZxwttUkGVzJn7Zw3wGX
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a3e2980-e86e-4600-2e62-08db9fed8fff
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:18:07.7434
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uZpCNFh2ToLrbJ3mNrKeX+TigTyFKg7C0kgPWli3HTi8prWSyl16tpYIqkdLmCDOU1rPFMKkvoJB32gttk84n5cUDv9aRTONr8c626s/lpA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7482

On 18/08/2023 2:13 pm, Jan Beulich wrote:
> On 18.08.2023 15:05, Andrew Cooper wrote:
>> On 18/08/2023 1:57 pm, Andrew Cooper wrote:
>>> Andrew Cooper (2):
>>>   rombios: Avoid using K&R function syntax
>>>   rombiosn: Remove the use of egrep
>>>
>>>  tools/firmware/rombios/32bit/Makefile          |  2 +-
>>>  tools/firmware/rombios/32bit/tcgbios/tcgbios.c | 10 +++++-----
>>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>>
>>>
>>> base-commit: e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
>> Urgh, forgot to write what I meant to write.
>>
>> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/972116359
>>
>> This gives a clean CI run when ROMBios is explicitly (re)activated.
> On irc you said "more array bounds issues in GET_BDA", yet nothing further
> is being adjusted here in that regard?

So yes, I did end up being confused about those.

They're from the iPXE build, not the RomBIOS build.Â  They can be seen in
https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/4899807239 but
there's clearly no -Werror going on.

I'm going to leave it for now.Â  The only reasonable fix would be to bump
the version of iPXE and I don't have time to that right now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:44:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586328.917551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzmX-0003Pz-5r; Fri, 18 Aug 2023 13:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586328.917551; Fri, 18 Aug 2023 13:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzmX-0003Pq-32; Fri, 18 Aug 2023 13:44:53 +0000
Received: by outflank-mailman (input) for mailman id 586328;
 Fri, 18 Aug 2023 13:44:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qWzmV-00034T-6g
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:44:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWzmV-0002FT-36; Fri, 18 Aug 2023 13:44:51 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWzmU-00023L-Rg; Fri, 18 Aug 2023 13:44:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=lf3E6qWM/eYtxtUMYYrXFPP69s9JP5c1zgdxZnGHfo4=; b=swKHiGCGFvxejmKdL/hpiUNxhz
	8ZF+q6EvrHvFPpN8MQQm0/6gaNJgVZLE9eioHmEJ57dct1wC911FKpZLKKiBsr7201nAVfRkO7NZ5
	ulmZuuFDt9abwG4IWVonkSF4HDFu8Dc0oFmXP4nL3SQ15/xBPoq4GCu5k1XScQiCznZM=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] xen/x86: ioapic: Bail out from timer_irq_works() as soon as possible
Date: Fri, 18 Aug 2023 14:44:41 +0100
Message-Id: <20230818134441.45586-3-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230818134441.45586-1-julien@xen.org>
References: <20230818134441.45586-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Currently timer_irq_works() will wait the full 100ms before checking
that pit0_ticks has been incremented at least 4 times.

However, the bulk of the BIOS/platform should not have a buggy timer.
So waiting for the full 100ms is a bit harsh.

Rework the logic to only wait until 100ms passed or we saw more than
4 ticks. So now, in the good case, this will reduce the wait time
to ~50ms.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/io_apic.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 4875bb97003f..0bd774962a68 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1509,6 +1509,8 @@ static void __init setup_ioapic_ids_from_mpc(void)
 static int __init timer_irq_works(void)
 {
     unsigned long t1, flags;
+    /* Wait for maximum 10 ticks */
+    unsigned long msec = (10 * 1000) / HZ;
 
     if ( no_timer_check )
         return 1;
@@ -1517,19 +1519,25 @@ static int __init timer_irq_works(void)
 
     local_save_flags(flags);
     local_irq_enable();
-    /* Let ten ticks pass... */
-    mdelay((10 * 1000) / HZ);
-    local_irq_restore(flags);
 
-    /*
-     * Expect a few ticks at least, to be sure some possible
-     * glue logic does not lock up after one or two first
-     * ticks in a non-ExtINT mode.  Also the local APIC
-     * might have cached one ExtINT interrupt.  Finally, at
-     * least one tick may be lost due to delays.
-     */
-    if ( (ACCESS_ONCE(pit0_ticks) - t1) > 4 )
+    while ( msec-- )
+    {
+        mdelay(1);
+        /*
+         * Expect a few ticks at least, to be sure some possible
+         * glue logic does not lock up after one or two first
+         * ticks in a non-ExtINT mode.  Also the local APIC
+         * might have cached one ExtINT interrupt.  Finally, at
+         * least one tick may be lost due to delays.
+         */
+        if ( (ACCESS_ONCE(pit0_ticks) - t1) <= 4 )
+            continue;
+
+        local_irq_restore(flags);
         return 1;
+    }
+
+    local_irq_restore(flags);
 
     return 0;
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:44:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586326.917531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzmU-0002vK-Oo; Fri, 18 Aug 2023 13:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586326.917531; Fri, 18 Aug 2023 13: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 1qWzmU-0002vD-MG; Fri, 18 Aug 2023 13:44:50 +0000
Received: by outflank-mailman (input) for mailman id 586326;
 Fri, 18 Aug 2023 13:44: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 1qWzmT-0002v1-2f
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:44: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 1qWzmS-0002F7-QD; Fri, 18 Aug 2023 13:44:48 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWzmS-00023L-Fj; Fri, 18 Aug 2023 13:44:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=V4Xe6wLkPxIFPqqCQPAxla8mfybHMGtBMzfkN78uEkA=; b=pPuRQ0
	rtQlo+4IxH4Ls48XsMs1enoV8Qf+w54MDyltVRdigU6rf74R4JXTDqnl8czzE567060MJU1x7vimj
	xJ+bXt9/I1ApGhj2qkF+ryZJnT1hHcs/p/VHYZBfPZzy0Ao+J1WL7bIvc/2714KcAn0B+j2dnc+qv
	uBMhP8uIz2A=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 0/2] xen/x86: Optimize timer_irq_works()
Date: Fri, 18 Aug 2023 14:44:39 +0100
Message-Id: <20230818134441.45586-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

At the moment timer_irq_works() will always wait 100ms even with
enough ticks elapsed. This is a bit wasteful when most of the HW
should not be buggy.

The admin may also know that their HW is not buggy so they could
decide to skip the full 100ms. Also, looking at Linux changes, it
was pointed out that the timer_irq_works() may always return false
on when using para-virtualized delay. It is not a problem for Xen,
but still it makes sense to provide an option to disable the timer
check.

Patch #1 of the series will add the command line option while patch
#2 will optimize timer_irq_works() for the good case.

Cheers,

Julien Grall (2):
  xen/x86: io_apic: Introduce a command line option to skip timer check
  xen/x86: ioapic: Bail out from timer_irq_works() as soon as possible

 docs/misc/xen-command-line.pandoc |  7 ++++++
 xen/arch/x86/io_apic.c            | 41 ++++++++++++++++++++++---------
 2 files changed, 37 insertions(+), 11 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 13:44:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 13:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586327.917542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzmV-0003A9-Vp; Fri, 18 Aug 2023 13:44:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586327.917542; Fri, 18 Aug 2023 13:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qWzmV-0003A2-Sc; Fri, 18 Aug 2023 13:44:51 +0000
Received: by outflank-mailman (input) for mailman id 586327;
 Fri, 18 Aug 2023 13:44: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 1qWzmU-0002v7-6t
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 13:44:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWzmU-0002FH-2Z; Fri, 18 Aug 2023 13:44:50 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qWzmT-00023L-Ot; Fri, 18 Aug 2023 13:44: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=BWbxLpVcdsByN5EAo3XWXuGnYzzBqiMaCs+W1sR2CtM=; b=XMFfOQU69Z2v/hs5HEQwqQrRKn
	uAVOYjQ8bZJZUmUytMc2iHxKKF8KUIgeLWwrBUvNcsdSFvuXLC8heMhKIu3yZbLvgIobQDjE7kzhK
	wDV/YRfTsjh69Lge3KLwu2VOphcKk84hDXIv1lkjLe66M3V2P7evp5A1BLBE0JC5feLk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/2] xen/x86: io_apic: Introduce a command line option to skip timer check
Date: Fri, 18 Aug 2023 14:44:40 +0100
Message-Id: <20230818134441.45586-2-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230818134441.45586-1-julien@xen.org>
References: <20230818134441.45586-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Currently, Xen will spend ~100ms to check if the timer works. If the
Admin knows their platform have a working timer, then it would be
handy to be able to bypass the check.

Introduce a command line option 'no_timer_check' (the name is
matching the Linux parameter) for this purpose.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/misc/xen-command-line.pandoc |  7 +++++++
 xen/arch/x86/io_apic.c            | 11 +++++++++++
 2 files changed, 18 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 4872b9098e83..1f9d3106383f 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1896,6 +1896,13 @@ This option is ignored in **pv-shim** mode.
 ### nr_irqs (x86)
 > `= <integer>`
 
+### no_timer_works (x86)
+> `=<boolean>`
+
+> Default: `true`
+
+Disables the code which tests for broken timer IRQ sources.
+
 ### irq-max-guests (x86)
 > `= <integer>`
 
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index b3afef8933d7..4875bb97003f 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -57,6 +57,14 @@ bool __initdata ioapic_ack_forced;
 int __read_mostly nr_ioapic_entries[MAX_IO_APICS];
 int __read_mostly nr_ioapics;
 
+/*
+ * The logic to check if the timer is working is expensive. So allow
+ * the admin to bypass it if they know their platform doesn't have
+ * a buggy timer.
+ */
+static bool __initdata no_timer_check;
+boolean_param("no_timer_check", no_timer_check);
+
 /*
  * Rough estimation of how many shared IRQs there are, can
  * be changed anytime.
@@ -1502,6 +1510,9 @@ static int __init timer_irq_works(void)
 {
     unsigned long t1, flags;
 
+    if ( no_timer_check )
+        return 1;
+
     t1 = ACCESS_ONCE(pit0_ticks);
 
     local_save_flags(flags);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 14:09:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 14:09:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586347.917563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX09n-0006mU-VM; Fri, 18 Aug 2023 14:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586347.917563; Fri, 18 Aug 2023 14: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 1qX09n-0006mN-R7; Fri, 18 Aug 2023 14:08:55 +0000
Received: by outflank-mailman (input) for mailman id 586347;
 Fri, 18 Aug 2023 14:08: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=aZyU=ED=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qX09m-0006mH-4z
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 14:08:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1bb875f-3dd0-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 16:08:51 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 395751F8A8;
 Fri, 18 Aug 2023 14:08:50 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DBA3F13441;
 Fri, 18 Aug 2023 14:08:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OfckNHF732QKOAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 18 Aug 2023 14:08:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1bb875f-3dd0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692367730; 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=x0k/xmMcEMB3HG/re1U02md6JsJVh4sxDz/E/SC1Hhs=;
	b=cW0Yh+wO08rS1WrPmlKVWUo+TdS863sU5+NkKBdER9omNWpBpbVYQmj9n+m2qd/yuWU45h
	j4+6KMXydJBvuoxVcxCvqUd499yqeEjN1pTvhMdz5UMf+TdFr/KlTqwxCdWQ8TBzCqspPh
	ZYnEswplPVW+fXzKIhsFfJa+NM9PmNk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH v5] tools/xenstore: move xenstored sources into dedicated directory
Date: Fri, 18 Aug 2023 16:08:48 +0200
Message-Id: <20230818140848.20220-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In tools/xenstore there are living xenstored and xenstore clients.
They are no longer sharing anything apart from the "xenstore" in their
names.

Move the xenstored sources into a new directory tools/xenstored while
dropping the "xenstored_" prefix from their names. This will make it
clearer that xenstore clients and xenstored are independent from each
other.

In order to avoid two very similar named directories below tools,
rename tools/xenstore to tools/xs-clients.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
After the large overhaul of xenstored I think such a reorg would make
sense to go into the same Xen version. Delaying it until the next
version would make potential backports for 4.18 harder.
V4:
- new patch
V5:
- rename xenstore directory to xs-clients (Julien Grall)
---
 .gitignore                                    | 22 ++++-----
 MAINTAINERS                                   |  3 +-
 stubdom/Makefile                              |  4 +-
 tools/Makefile                                |  3 +-
 tools/xenstored/Makefile                      | 48 +++++++++++++++++++
 tools/{xenstore => xenstored}/Makefile.common | 13 +++--
 tools/{xenstore => xenstored}/README          |  0
 .../control.c}                                |  8 ++--
 .../control.h}                                |  0
 .../xenstored_core.c => xenstored/core.c}     | 14 +++---
 .../xenstored_core.h => xenstored/core.h}     |  0
 .../xenstored_domain.c => xenstored/domain.c} | 10 ++--
 .../xenstored_domain.h => xenstored/domain.h} |  0
 tools/{xenstore => xenstored}/hashtable.c     |  0
 tools/{xenstore => xenstored}/hashtable.h     |  0
 tools/{xenstore => xenstored}/list.h          |  0
 .../xenstored_lu.c => xenstored/lu.c}         |  8 ++--
 .../xenstored_lu.h => xenstored/lu.h}         |  0
 .../lu_daemon.c}                              |  4 +-
 .../lu_minios.c}                              |  2 +-
 .../xenstored_minios.c => xenstored/minios.c} |  2 +-
 .../xenstored_osdep.h => xenstored/osdep.h}   |  0
 .../xenstored_posix.c => xenstored/posix.c}   |  4 +-
 tools/{xenstore => xenstored}/talloc.c        |  0
 tools/{xenstore => xenstored}/talloc.h        |  0
 .../{xenstore => xenstored}/talloc_guide.txt  |  0
 .../transaction.c}                            |  6 +--
 .../transaction.h}                            |  2 +-
 tools/{xenstore => xenstored}/utils.c         |  0
 tools/{xenstore => xenstored}/utils.h         |  0
 .../xenstored_watch.c => xenstored/watch.c}   |  6 +--
 .../xenstored_watch.h => xenstored/watch.h}   |  2 +-
 .../include => xenstored}/xenstore_state.h    |  0
 tools/{xenstore => xs-clients}/Makefile       | 30 ++----------
 .../xenstore_client.c                         |  0
 .../xenstore_control.c                        |  0
 36 files changed, 110 insertions(+), 81 deletions(-)
 create mode 100644 tools/xenstored/Makefile
 rename tools/{xenstore => xenstored}/Makefile.common (50%)
 rename tools/{xenstore => xenstored}/README (100%)
 rename tools/{xenstore/xenstored_control.c => xenstored/control.c} (98%)
 rename tools/{xenstore/xenstored_control.h => xenstored/control.h} (100%)
 rename tools/{xenstore/xenstored_core.c => xenstored/core.c} (99%)
 rename tools/{xenstore/xenstored_core.h => xenstored/core.h} (100%)
 rename tools/{xenstore/xenstored_domain.c => xenstored/domain.c} (99%)
 rename tools/{xenstore/xenstored_domain.h => xenstored/domain.h} (100%)
 rename tools/{xenstore => xenstored}/hashtable.c (100%)
 rename tools/{xenstore => xenstored}/hashtable.h (100%)
 rename tools/{xenstore => xenstored}/list.h (100%)
 rename tools/{xenstore/xenstored_lu.c => xenstored/lu.c} (98%)
 rename tools/{xenstore/xenstored_lu.h => xenstored/lu.h} (100%)
 rename tools/{xenstore/xenstored_lu_daemon.c => xenstored/lu_daemon.c} (97%)
 rename tools/{xenstore/xenstored_lu_minios.c => xenstored/lu_minios.c} (98%)
 rename tools/{xenstore/xenstored_minios.c => xenstored/minios.c} (97%)
 rename tools/{xenstore/xenstored_osdep.h => xenstored/osdep.h} (100%)
 rename tools/{xenstore/xenstored_posix.c => xenstored/posix.c} (98%)
 rename tools/{xenstore => xenstored}/talloc.c (100%)
 rename tools/{xenstore => xenstored}/talloc.h (100%)
 rename tools/{xenstore => xenstored}/talloc_guide.txt (100%)
 rename tools/{xenstore/xenstored_transaction.c => xenstored/transaction.c} (99%)
 rename tools/{xenstore/xenstored_transaction.h => xenstored/transaction.h} (98%)
 rename tools/{xenstore => xenstored}/utils.c (100%)
 rename tools/{xenstore => xenstored}/utils.h (100%)
 rename tools/{xenstore/xenstored_watch.c => xenstored/watch.c} (98%)
 rename tools/{xenstore/xenstored_watch.h => xenstored/watch.h} (98%)
 rename tools/{xenstore/include => xenstored}/xenstore_state.h (100%)
 rename tools/{xenstore => xs-clients}/Makefile (74%)
 rename tools/{xenstore => xs-clients}/xenstore_client.c (100%)
 rename tools/{xenstore => xs-clients}/xenstore_control.c (100%)

diff --git a/.gitignore b/.gitignore
index c1b73b0968..c6489c4e70 100644
--- a/.gitignore
+++ b/.gitignore
@@ -237,22 +237,22 @@ tools/xenmon/xentrace_setmask
 tools/xenmon/xenbaked
 tools/xenpaging/xenpaging
 tools/xenpmd/xenpmd
-tools/xenstore/xenstore
-tools/xenstore/xenstore-chmod
-tools/xenstore/xenstore-control
-tools/xenstore/xenstore-exists
-tools/xenstore/xenstore-list
-tools/xenstore/xenstore-ls
-tools/xenstore/xenstore-read
-tools/xenstore/xenstore-rm
-tools/xenstore/xenstore-watch
-tools/xenstore/xenstore-write
-tools/xenstore/xenstored
+tools/xenstored/xenstored
 tools/xentop/xentop
 tools/xentrace/xentrace_setsize
 tools/xentrace/tbctl
 tools/xentrace/xenctx
 tools/xentrace/xentrace
+tools/xs-clients/xenstore
+tools/xs-clients/xenstore-chmod
+tools/xs-clients/xenstore-control
+tools/xs-clients/xenstore-exists
+tools/xs-clients/xenstore-list
+tools/xs-clients/xenstore-ls
+tools/xs-clients/xenstore-read
+tools/xs-clients/xenstore-rm
+tools/xs-clients/xenstore-watch
+tools/xs-clients/xenstore-write
 xen/**/*.i
 xen/**/*.s
 xen/.banner
diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..bf71ac144c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -669,7 +669,8 @@ F:	tools/include/xenstore.h
 F:	tools/include/xenstore_lib.h
 F:	tools/include/xen-tools/xenstore-common.h
 F:	tools/libs/store/
-F:	tools/xenstore/
+F:	tools/xenstored/
+F:	tools/xs-clients/
 
 XENTRACE
 M:	George Dunlap <george.dunlap@citrix.com>
diff --git a/stubdom/Makefile b/stubdom/Makefile
index d5fb354e7e..52bf7f0e21 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -371,10 +371,10 @@ endef
 
 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
 
-xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
-xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
 LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
diff --git a/tools/Makefile b/tools/Makefile
index 311a9098d7..3a510663a0 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,8 @@ SUBDIRS-y :=
 SUBDIRS-y += libs
 SUBDIRS-y += flask
 SUBDIRS-y += fuzz
-SUBDIRS-y += xenstore
+SUBDIRS-y += xs-clients
+SUBDIRS-$(XENSTORE_XENSTORED) += xenstored
 SUBDIRS-y += misc
 SUBDIRS-y += examples
 SUBDIRS-y += hotplug
diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
new file mode 100644
index 0000000000..f3bd3d43c4
--- /dev/null
+++ b/tools/xenstored/Makefile
@@ -0,0 +1,48 @@
+XEN_ROOT=$(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+include Makefile.common
+
+xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
+xenstored: LDLIBS += $(LDLIBS_libxengnttab)
+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
+all: $(TARGETS)
+
+xenstored: $(XENSTORED_OBJS-y)
+	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
+
+.PHONY: clean
+clean::
+	$(RM) $(TARGETS) $(DEPS_RM)
+
+.PHONY: distclean
+distclean: clean
+
+.PHONY: TAGS
+TAGS:
+	etags `find . -name '*.[ch]'`
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
+	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)$(sbindir)/xenstored
+	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
+		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
+	fi
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstored/Makefile.common
similarity index 50%
rename from tools/xenstore/Makefile.common
rename to tools/xenstored/Makefile.common
index 41973a8a5e..189ab81b8d 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstored/Makefile.common
@@ -1,17 +1,16 @@
 # Makefile shared with stubdom
 
-XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
-XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
+XENSTORED_OBJS-y := core.o watch.o domain.o
+XENSTORED_OBJS-y += transaction.o control.o lu.o
 XENSTORED_OBJS-y += talloc.o utils.o hashtable.o
 
-XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o
+XENSTORED_OBJS-$(CONFIG_Linux) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_NetBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_FreeBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_MiniOS) += minios.o lu_minios.o
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-CFLAGS += -I./include
 CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
diff --git a/tools/xenstore/README b/tools/xenstored/README
similarity index 100%
rename from tools/xenstore/README
rename to tools/xenstored/README
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstored/control.c
similarity index 98%
rename from tools/xenstore/xenstored_control.c
rename to tools/xenstored/control.c
index 3bdf2edc34..b2f64d674f 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstored/control.c
@@ -27,10 +27,10 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_control.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "control.h"
+#include "domain.h"
+#include "lu.h"
 
 struct cmd_s {
 	char *cmd;
diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstored/control.h
similarity index 100%
rename from tools/xenstore/xenstored_control.h
rename to tools/xenstored/control.h
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstored/core.c
similarity index 99%
rename from tools/xenstore/xenstored_core.c
rename to tools/xenstored/core.c
index 7de4df2f28..092de76a2e 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstored/core.c
@@ -47,12 +47,12 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_watch.h"
-#include "xenstored_transaction.h"
-#include "xenstored_domain.h"
-#include "xenstored_control.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "watch.h"
+#include "transaction.h"
+#include "domain.h"
+#include "control.h"
+#include "lu.h"
 
 #ifndef NO_SOCKETS
 #if defined(HAVE_SYSTEMD)
@@ -64,7 +64,7 @@
 #include <systemd/sd-daemon.h>
 #endif
 
-extern xenevtchn_handle *xce_handle; /* in xenstored_domain.c */
+extern xenevtchn_handle *xce_handle; /* in domain.c */
 static int xce_pollfd_idx = -1;
 static struct pollfd *fds;
 static unsigned int current_array_size;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstored/core.h
similarity index 100%
rename from tools/xenstore/xenstored_core.h
rename to tools/xenstored/core.h
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstored/domain.c
similarity index 99%
rename from tools/xenstore/xenstored_domain.c
rename to tools/xenstored/domain.c
index 1bf138c8b1..a6cd199fdc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstored/domain.c
@@ -27,11 +27,11 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_control.h"
+#include "core.h"
+#include "domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "control.h"
 
 #include <xenevtchn.h>
 #include <xenctrl.h>
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstored/domain.h
similarity index 100%
rename from tools/xenstore/xenstored_domain.h
rename to tools/xenstored/domain.h
diff --git a/tools/xenstore/hashtable.c b/tools/xenstored/hashtable.c
similarity index 100%
rename from tools/xenstore/hashtable.c
rename to tools/xenstored/hashtable.c
diff --git a/tools/xenstore/hashtable.h b/tools/xenstored/hashtable.h
similarity index 100%
rename from tools/xenstore/hashtable.h
rename to tools/xenstored/hashtable.h
diff --git a/tools/xenstore/list.h b/tools/xenstored/list.h
similarity index 100%
rename from tools/xenstore/list.h
rename to tools/xenstored/list.h
diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstored/lu.c
similarity index 98%
rename from tools/xenstore/xenstored_lu.c
rename to tools/xenstored/lu.c
index f7f76acbf9..2f41d10c95 100644
--- a/tools/xenstore/xenstored_lu.c
+++ b/tools/xenstored/lu.c
@@ -13,10 +13,10 @@
 #include <time.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
-#include "xenstored_watch.h"
+#include "core.h"
+#include "domain.h"
+#include "lu.h"
+#include "watch.h"
 
 #ifndef NO_LIVE_UPDATE
 struct live_update *lu_status;
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstored/lu.h
similarity index 100%
rename from tools/xenstore/xenstored_lu.h
rename to tools/xenstored/lu.h
diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstored/lu_daemon.c
similarity index 97%
rename from tools/xenstore/xenstored_lu_daemon.c
rename to tools/xenstored/lu_daemon.c
index 8c7522b0e1..71bcabadd3 100644
--- a/tools/xenstore/xenstored_lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -13,8 +13,8 @@
 #include <xen-tools/xenstore-common.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "lu.h"
 
 #ifndef NO_LIVE_UPDATE
 void lu_get_dump_state(struct lu_dump_state *state)
diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstored/lu_minios.c
similarity index 98%
rename from tools/xenstore/xenstored_lu_minios.c
rename to tools/xenstored/lu_minios.c
index ae0483575e..ede8b4dd47 100644
--- a/tools/xenstore/xenstored_lu_minios.c
+++ b/tools/xenstored/lu_minios.c
@@ -14,7 +14,7 @@
 #include <xen-tools/common-macros.h>
 
 #include "talloc.h"
-#include "xenstored_lu.h"
+#include "lu.h"
 
 /* Mini-OS only knows about MAP_ANON. */
 #ifndef MAP_ANONYMOUS
diff --git a/tools/xenstore/xenstored_minios.c b/tools/xenstored/minios.c
similarity index 97%
rename from tools/xenstore/xenstored_minios.c
rename to tools/xenstored/minios.c
index aa384e50c8..b5c3a205e6 100644
--- a/tools/xenstore/xenstored_minios.c
+++ b/tools/xenstored/minios.c
@@ -17,7 +17,7 @@
 */
 #include <sys/types.h>
 #include <sys/mman.h>
-#include "xenstored_core.h"
+#include "core.h"
 #include <xen/grant_table.h>
 
 void write_pidfile(const char *pidfile)
diff --git a/tools/xenstore/xenstored_osdep.h b/tools/xenstored/osdep.h
similarity index 100%
rename from tools/xenstore/xenstored_osdep.h
rename to tools/xenstored/osdep.h
diff --git a/tools/xenstore/xenstored_posix.c b/tools/xenstored/posix.c
similarity index 98%
rename from tools/xenstore/xenstored_posix.c
rename to tools/xenstored/posix.c
index b20504d1b6..6ac45fdb45 100644
--- a/tools/xenstore/xenstored_posix.c
+++ b/tools/xenstored/posix.c
@@ -24,8 +24,8 @@
 #include <sys/mman.h>
 
 #include "utils.h"
-#include "xenstored_core.h"
-#include "xenstored_osdep.h"
+#include "core.h"
+#include "osdep.h"
 
 void write_pidfile(const char *pidfile)
 {
diff --git a/tools/xenstore/talloc.c b/tools/xenstored/talloc.c
similarity index 100%
rename from tools/xenstore/talloc.c
rename to tools/xenstored/talloc.c
diff --git a/tools/xenstore/talloc.h b/tools/xenstored/talloc.h
similarity index 100%
rename from tools/xenstore/talloc.h
rename to tools/xenstored/talloc.h
diff --git a/tools/xenstore/talloc_guide.txt b/tools/xenstored/talloc_guide.txt
similarity index 100%
rename from tools/xenstore/talloc_guide.txt
rename to tools/xenstored/talloc_guide.txt
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstored/transaction.c
similarity index 99%
rename from tools/xenstore/xenstored_transaction.c
rename to tools/xenstored/transaction.c
index 1f892b002d..167cd597fd 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstored/transaction.c
@@ -30,9 +30,9 @@
 #include <unistd.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "domain.h"
 #include "xenstore_lib.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstored/transaction.h
similarity index 98%
rename from tools/xenstore/xenstored_transaction.h
rename to tools/xenstored/transaction.h
index b196b1ab07..90435b4fc9 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstored/transaction.h
@@ -17,7 +17,7 @@
 */
 #ifndef _XENSTORED_TRANSACTION_H
 #define _XENSTORED_TRANSACTION_H
-#include "xenstored_core.h"
+#include "core.h"
 
 enum node_access_type {
     NODE_ACCESS_READ,
diff --git a/tools/xenstore/utils.c b/tools/xenstored/utils.c
similarity index 100%
rename from tools/xenstore/utils.c
rename to tools/xenstored/utils.c
diff --git a/tools/xenstore/utils.h b/tools/xenstored/utils.h
similarity index 100%
rename from tools/xenstore/utils.h
rename to tools/xenstored/utils.h
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstored/watch.c
similarity index 98%
rename from tools/xenstore/xenstored_watch.c
rename to tools/xenstored/watch.c
index 7d4d097cf9..b66a9f1a39 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstored/watch.c
@@ -25,11 +25,11 @@
 #include <assert.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_watch.h"
+#include "watch.h"
 #include "xenstore_lib.h"
 #include "utils.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
+#include "domain.h"
+#include "transaction.h"
 
 struct watch
 {
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstored/watch.h
similarity index 98%
rename from tools/xenstore/xenstored_watch.h
rename to tools/xenstored/watch.h
index ea247997ad..d9ac6a334a 100644
--- a/tools/xenstore/xenstored_watch.h
+++ b/tools/xenstored/watch.h
@@ -19,7 +19,7 @@
 #ifndef _XENSTORED_WATCH_H
 #define _XENSTORED_WATCH_H
 
-#include "xenstored_core.h"
+#include "core.h"
 
 int do_watch(const void *ctx, struct connection *conn,
 	     struct buffered_data *in);
diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstored/xenstore_state.h
similarity index 100%
rename from tools/xenstore/include/xenstore_state.h
rename to tools/xenstored/xenstore_state.h
diff --git a/tools/xenstore/Makefile b/tools/xs-clients/Makefile
similarity index 74%
rename from tools/xenstore/Makefile
rename to tools/xs-clients/Makefile
index dc39b6cb31..1c5740450a 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xs-clients/Makefile
@@ -1,18 +1,11 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-include Makefile.common
-
-xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
-xenstored: LDLIBS += $(LDLIBS_libxengnttab)
-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
+CFLAGS += -include $(XEN_ROOT)/tools/config.h
+CFLAGS += $(CFLAGS_libxenctrl)
+CFLAGS += $(CFLAGS_libxenguest)
+CFLAGS += $(CFLAGS_libxentoolcore)
+CFLAGS += $(CFLAGS_libxenstore)
 
 xenstore: LDLIBS += $(LDLIBS_libxenstore)
 xenstore: LDLIBS += $(LDLIBS_libxentoolcore)
@@ -28,9 +21,6 @@ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmo
 CLIENTS += xenstore-write xenstore-ls xenstore-watch
 
 TARGETS := xenstore $(CLIENTS) xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-TARGETS += xenstored
-endif
 
 .PHONY: all
 all: $(TARGETS)
@@ -38,9 +28,6 @@ all: $(TARGETS)
 .PHONY: clients
 clients: xenstore $(CLIENTS) xenstore-control
 
-xenstored: $(XENSTORED_OBJS-y)
-	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
-
 $(CLIENTS): xenstore
 	ln -f xenstore $@
 
@@ -64,10 +51,6 @@ TAGS:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
-ifeq ($(XENSTORE_XENSTORED),y)
-	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
-endif
 	$(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
 	set -e ; for c in $(CLIENTS) ; do \
@@ -79,9 +62,6 @@ uninstall:
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS))
 	rm -f $(DESTDIR)$(bindir)/xenstore
 	rm -f $(DESTDIR)$(bindir)/xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-	rm -f $(DESTDIR)$(sbindir)/xenstored
-endif
 	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
 		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
 	fi
diff --git a/tools/xenstore/xenstore_client.c b/tools/xs-clients/xenstore_client.c
similarity index 100%
rename from tools/xenstore/xenstore_client.c
rename to tools/xs-clients/xenstore_client.c
diff --git a/tools/xenstore/xenstore_control.c b/tools/xs-clients/xenstore_control.c
similarity index 100%
rename from tools/xenstore/xenstore_control.c
rename to tools/xs-clients/xenstore_control.c
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 14:21:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 14:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586355.917572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0M1-0000xP-4T; Fri, 18 Aug 2023 14:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586355.917572; Fri, 18 Aug 2023 14:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0M1-0000xI-0W; Fri, 18 Aug 2023 14:21:33 +0000
Received: by outflank-mailman (input) for mailman id 586355;
 Fri, 18 Aug 2023 14:21:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qX0Lz-0000xC-Ia
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 14:21:31 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84471c94-3dd2-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 16:21:28 +0200 (CEST)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 10:21:00 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5171.namprd03.prod.outlook.com (2603:10b6:a03:220::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 14:20:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 14:20:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84471c94-3dd2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692368488;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LfvPsHmQ3LVO/GDhLV3Vl++BnfPzrONlXaHfSsz3y/4=;
  b=QR9v10S4ccJKs9A696MaGR2UxxME5QirpBjPQCzlyM6JyErBxAtFiZuQ
   8LA0zg0P03CF3rBkHgu7jqSF4Geuf03aQSd7qz5KgB4tXRCTXItprgzzH
   Q0sQUL6Fr3a0LAwdz4/eUPltZagu4lP/B52CykwOzoWaXK0NgUTCDexju
   8=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 119177917
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KR1fsqlBIk8t+y2Jp3Itkono5gwEJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbDTzSPP+PY2ekLdx/YIq/9k4PvsfdyYRnTwpvrno2FCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5Q+GzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dJJEDtXaD+MveCv47akbNZKr845FeC+aevzulk4pd3YJdAPZMmZBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3iee3WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTezhqaE72QL7Kmo7OgNOD2G6ob6Dg1eSCtN9L
 WhJ9hAHhP1nnKCsZpynN/Gim1aGsQQbQMF4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5ty9v+pIA+iDrfQ9AlF7S65vXuAi35y
 T2OqCk4hp0QgNQN2qH9+krI6xqzorDZQwhz4R/YNkq+5wZkaYrje4yp41HG6epoIYCCC12Qu
 35CnNKRhN3iFrmInS2JBe8LTLeg4q/fNCWG2AE1WZ486z6q5nivO5hK5y1zL1toNcBCfiL1Z
 EjUukVa45o70GaWUJKbqrmZU6wCpZUM3/y5Dpg4svImjkBNSTK6
IronPort-HdrOrdr: A9a23:oDbQGK/ECJBcsv7OhIJuk+DbI+orL9Y04lQ7vn2ZKCYlEfBw8v
 rEoB1173XJYUkqKRYdcLy7VJVoOEmskaKdgrNwAV7BZmTbUQKTRelfBeGI+UyEJ8SZzIFgPM
 xbEpSWZuefMbAW5vyKgjWFLw==
X-Talos-CUID: 9a23:wK04EGOmCsTVle5Ddnhf/xQSNc8fcGT+yGj2HGmRA3xQYejA
X-Talos-MUID: 9a23:rxmQaQYV8LNnJOBThSG03gtjNIBS6r2CWUEvl7Fbt/OtHHkl
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119177917"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g8wysZi9umJeOtJ0a3JpPJhJFdB5goGtBNh87XGtdn0zLpts7IecPG7p0RP8sq6wgg4Wj2GILDIEMlLDTjTaZQQ9Bso5vX+3XdYM6VF2ue+eYD0QFoE9PWBaDORQ/Z3PAlJ+MXC7aBG0wQ+k7LwkCMR0AJMBtvnnSWDW6qKn2NwatwcjFxa5YJC+f87lgu5zc+p7+M5kl0T6tF3P8VH9Z6cVPA5rnqm8g7E6dU+XuoUC04VR7BjeNecFUoqcyzsK6iB5iviMyjiVG2BU29OIWSfTW+2b9OQY1gg0n6uLJvhm/j7Pn5XWVw3zc2mImy7qItlaN2Is2bQONHZUpDgdiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=faGpFtZljD00vfnDU73PgDPa3RSBzMPdsIfANGoV1JY=;
 b=bjsePqy9J+nCWHjDlPLk0R1i54cqzrCSURVg9IXviX+/ZhUDF6BY7VI4GWOHVEF52z8Jcnb6P47jrVyw90rSt7rNrUkv06pyuOD7fhGhIrD/5bN77wVsnogB9Q/gkjr5iiXd1EWJJGyjOn8640aWD/Fj8I0gQ3QIEhfd46BC2qARCpHnav9vQZ93Tpgd+Uln1gMpVIM+VwzB3Iu0XJJ935ntFgYP/YGjXFs5GBEeqtIAEf3Uf2dapyMuNBQR+yJCjLPjubSukpBoWZcILZ7goMhwyVrLMfjQqr4yT0Ko4eRj4HGP+Q6htYK62LpKwQXSMPlDIlMpOly7lc6dYaxM3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=faGpFtZljD00vfnDU73PgDPa3RSBzMPdsIfANGoV1JY=;
 b=tTIMtj5uktXWJGi4v9CCSesx8rbnyG+F3wGhFqF4MieK69CxVnFOM45y3/ZQKTqslILmIHvKHU7cHaTGJv2MJsPBFrglprBOY2UJkDBwzdu934HrrrXCks+dbrVGmVvciqwfKGh4FRNXWQyfmmHdjhUi3dGmowvlXHmvHlMyK3c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <53982682-c49c-6f3e-87c1-f4bd0ab385ce@citrix.com>
Date: Fri, 18 Aug 2023 15:20:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v5] tools/xenstore: move xenstored sources into dedicated
 directory
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230818140848.20220-1-jgross@suse.com>
In-Reply-To: <20230818140848.20220-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0322.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:390::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5171:EE_
X-MS-Office365-Filtering-Correlation-Id: ceb3d2df-4eb1-424b-cc2d-08db9ff656eb
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QpDuskBMGDL2sEWZO4mqHZ4fuS87oV6Yoqpl15kOZb/TjWkGIDUZN8AiSFrqBPoEcL6FtfdOcYntwT+UfRI/4edSdBFjZNSoobhjQ3dMiBXeJ6UMAuaHZ55+gjPqKHwyKhcviNlqD8PlpHEfkN1N1neeh7a4U8donz2emYhzw03jCDn9ZJGKsr89H0F01C5TvQmRnCbJ7oNcRIrevADoZyXyFNwGKJKANf75RxqeXyMlP/TflzHzL5GXe0FLcGd/boOTYOMATgYOEYGI1f6rGTiTgJa7q0/QKrzmA1OO2zRQiSVKmxK2p+lX5dX7QwW9k9qnOIuXiqCHwVor01je21iD02d5GrKqoO8PK1Q9Pmk3H488vwytWy9+t2zstAPXugUmcRzOUg2qfh4ExC0CbUvWjo1sdmIiSPJaskN6x5lq4bfbUQ/LywdeBP5GzZOaLe0O+4oh9Uwh6l4Vw/0G9bz6R659KcHmsdLPPEWeSNEKjRz+B7GKKPOaOrn+/c3awZ9F9Dqt2FYXrn7Ax3Ry/zVb6nhnyGP65RoHEYNzR7sfpSkEta486RVAGHLSJ8/SLCtq9SF2BVHnYKfwtoSMLLG08ecaojKtRk9Yn7LQ0Ez7z8f4RMWz+pKX4DX6Kw5ejqS4M1PHB09rb+WHnQeWdA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199024)(186009)(1800799009)(2616005)(26005)(6666004)(6486002)(6512007)(6506007)(53546011)(5660300002)(8936002)(8676002)(4326008)(2906002)(478600001)(41300700001)(66946007)(54906003)(66476007)(66556008)(316002)(38100700002)(82960400001)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T25VdFNUQWRNdXppSjZMZWpBbld1c0xMUDArdVUzL2NmMllzWWRXWVYwT3l1?=
 =?utf-8?B?NzBVOXJ1V01mdUlVYVFVcXlQTDhpS1o4VUVKWEE0Q2psR0F6b1JiSzR4WDR3?=
 =?utf-8?B?NDgvR0dsYjd1QnFoSWVqdE5BQzNDV1hsdmdTcFJhaU5GQWMvVE9GNnF2VjhI?=
 =?utf-8?B?ekJaY21NMmUzaXR5RHhuZVBOQWNzUHdWZzh5VzU0L2xYNGFGbkI0NTJPYUhY?=
 =?utf-8?B?clhrQTZnS1VKd2NHRHd5cUhONnRvZkxISE1JRkJEbUtob1NwVkFtWVptalBE?=
 =?utf-8?B?bWJEWkc5emhBcU9IOC94ZGxqSHZQRjRXSXZWM0hxQS9XcjVVNnRWL281RTJX?=
 =?utf-8?B?WkNNc0VxZkI2MFdOaWt6S1FXRkRtdm8zQ2IydGcyZXFFYktRNm1FR3pQN0ht?=
 =?utf-8?B?d0w4YTVsUFV1ZlBGUzN3cUhNeko0VTd5WWlYRjZrVTBkOVpXMzZjWmVYNnBB?=
 =?utf-8?B?d1JsbjIyVk9aZ0I2ZHQ0cXBGL1FXL0F3YkJJK01xY3lEdlMvQTc5SVFFNDhh?=
 =?utf-8?B?TVpMZnBidm1UbEEvZUxPRkFZQVhxeWh2TFNaVDhSRDU0U3pxdHY2M2FRQkN4?=
 =?utf-8?B?SllZOVRiQk1YdDI4Sm1xRmQzNzJQREZORnVvL1o2bXU3YnpjRTN1dDdudnM3?=
 =?utf-8?B?c29HdnRKV2QrL01nTUl6RnFST0RBZlpTMkFVME9UWGcyUFlJQzNyWTRBVjFF?=
 =?utf-8?B?Sm5XQ081RHZlM0lTZkg3RmtncXhNeWEyaUdpSlpJQ2hqazh3ZzZiNElXcEcx?=
 =?utf-8?B?Q0FJUlk2WHhDaWxmNWJId2hTdG9JNTNydVVpRVp1aERUYkhMRld1WUN4NDZ3?=
 =?utf-8?B?QkViU1VrVDlTcHI1bm56bFMyeXRudk5NL2tIUU1BZFdlTE96OXA2U2pvLy84?=
 =?utf-8?B?M2VubUlXQ0FWTkhrUnVVUWplOHJjcEw0T1VnUG9VTHpRQ1M1dkZWTVlqMGl2?=
 =?utf-8?B?NzNXenRJYVdMdXdFN01qK2RZMjVxSVFRd0d6eTVyTTNRall6M2NETytVOHNp?=
 =?utf-8?B?cTd5UGJ3b095eHJYTURFY0lVcXZ3OW9ZV3Fxd25GRkQ1T2hoaG5LTHBFYkhj?=
 =?utf-8?B?bzBJUzREVHNGb0kwSWoza0ttSTQ2ZFNsUy9RUzRYNmk3TldGUzFmbXZNRUIy?=
 =?utf-8?B?VU1hTElTZnhKUlpJdml1QUR6SkN0RTR1QkdMcnBxU0ozU3ZKT29MWXlxOGty?=
 =?utf-8?B?UkxCRGxDZWRDa0hyQjV2bHJEWDhtV0hqbEZkMjJuYk9RanlLYnE4Q2I2VGNQ?=
 =?utf-8?B?R2VvRWpqSEN6RTJxbXI4NEZuL2VnWSs2alV0U0VyZmd3bWUrWENjWTNNak5O?=
 =?utf-8?B?QzBhanI3MHdCc3FZV0puVVlqUU5nV3JXNnY2THFDQ3F2TS9kamZ2dlF4N2xB?=
 =?utf-8?B?RS9KQ05WNExoVzgvejVJUWRXZy9wejRxaVAyZ0xnOEVyL1RLU1haRzlNQm43?=
 =?utf-8?B?a0tRZmVWcVdYQVNxeVpoUW1tdkRybEo3RTlqeGdRVDFuNFp4OVBjb0svbkZF?=
 =?utf-8?B?a2YvbkZlQm53WnZKeXNtcmhhN3FudXNPS0pKaGgvVlRtbmNQNEFQcmpoYW5X?=
 =?utf-8?B?eXN1UjJhZ2ZCUW54TEcydlBMakE2Vi93Wno0Nk9yOTNuYk0xdUR2Z25DMCs0?=
 =?utf-8?B?N21yaERwaWdHNVM3Y3Q4M1RLSEx1eG5HWGNsTjNGMmk5a1NIT3lFUHRXK1g4?=
 =?utf-8?B?VFJuOVdtdmdCT2VWdU92ZnA0TE53bDV4Z2pQejNaQVJISGJsMWhLeWx5NVdP?=
 =?utf-8?B?SnhCakk3cHRQTmNCeDdQbUxhUiswdGNGOTU3R1BvZWVENTVlVHE0Q3NCSUNa?=
 =?utf-8?B?YUZXaHNZQks5Z3E4S2xVeEZkbGtJVHUrK2ZubDVtY0VFOU1xbjhubTc1VExM?=
 =?utf-8?B?Z2tuUzNxZEp1SldYd3pxeVh6cGd6a3RXWnlmUUxTZDdoeWRkVXRCcXNyTXMz?=
 =?utf-8?B?WjdlM0pNZUZjWkVhbkRXWHFmejBRNWpIY1VIODVTa29QYVFSbVpsOVdYMURu?=
 =?utf-8?B?NGhHSlNrTEU1NFZudlFjM05Xbjh6N01GTG5JamhMWXgrRWIrYk53QlVjc21u?=
 =?utf-8?B?OXFqeUI1bTZpcXJTZVRMMlV0bkdad09Fa0RPZE00Sm53NE1ma3NqRW5LT2JH?=
 =?utf-8?B?VHJSSWNjNmFGSmZMcUdEK1kwaVFDK3YrajBQWE5PUXkvdXoyMHVpMVRLVUNL?=
 =?utf-8?B?Mmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	qHl436ldKO6plthjxnQAkoXElWjATg8H304TVajB6HHn0V/fHud8GPyEABlZNUAx4AnO+VcM6sALzyDgTe+LPd7u9bXCW8aOyTeKiQYAeQ/wQeV91iPvU4Ka/hH1G7kkzoxEhNQjp3aWqK+lb08iozpaLIOgJNywo2gISuDRD7TC0B1rYLlzIuMtL+8qA5Rl+te8r5F2WFzabBeX7FVVp3+wZlhkQQ7x74/UVoWNOlUZf6X7RbjVjKreJ6b8mv2pUpHYuf0dqz4A/fxbhyDv6VSB+h1ZIJe4Ro6TUeL5xS/mVrkodfLO85WXzJhpUz4EbdbGkdBA1dkYPgVdPInLobn/J9V9H1OZmE9PZcPWAmevl8KdUCApG4V26wpAChTA1mLPweywonFoyK7jC30Rh8Go4Ic9nh8EVXTcSj2XK3h4sHxcGrsVBrSxbgCPrbXwRVwPvCa16ZJMm8xtW6B69or/Fu8Jo/VvHHW1h1vfNZsCzx8K5HdxuL9tzb0xKnhJ/v56CjU4yrx5d6y52U427aHMor36lKzdVPHf5GsEbwOasE5v+Q6GOMJGavreZNgo4AtZx7j6nkHxZX5l1oZyfvs9t931Ihe/P2JumDzqigxWmkQ0jJIumiGT33AD2shUvbmYwP5MJyevId0DrryO/RNn4POEXz8h1kSTdnswVkn3cnW0GGiOhwZzDR17380WXSmfzETpKzYGRlLtAfSlXEEKxp1OydXYGn6xnJSy2UpjYleHltZrHl6lJmUnv/+zd/tLHCSu9eGP6GheZeA++Ki20So1xfXD2+QsQbNtfu7GwW+MddufjtEpZDyoSXpXFAqKNhbLVqlpJzP/8Sq3jilLnFcbq92P574Sp/fu2jwRjywzn0xZJ/uPySTTPFnH
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ceb3d2df-4eb1-424b-cc2d-08db9ff656eb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 14:20:57.4805
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GadUZ/2OaGHOo1IXVWlStGE8eXM4jSs255gSDebXIOeb0fu4z6/IJS8weGch5H0M2jeKEV2v6aixDuZXduANS6z1OLFMruH1oa6VqTFre9Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5171

On 18/08/2023 3:08 pm, Juergen Gross wrote:
> diff --git a/.gitignore b/.gitignore
> index c1b73b0968..c6489c4e70 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -237,22 +237,22 @@ tools/xenmon/xentrace_setmask
>  tools/xenmon/xenbaked
>  tools/xenpaging/xenpaging
>  tools/xenpmd/xenpmd
> -tools/xenstore/xenstore
> -tools/xenstore/xenstore-chmod
> -tools/xenstore/xenstore-control
> -tools/xenstore/xenstore-exists
> -tools/xenstore/xenstore-list
> -tools/xenstore/xenstore-ls
> -tools/xenstore/xenstore-read
> -tools/xenstore/xenstore-rm
> -tools/xenstore/xenstore-watch
> -tools/xenstore/xenstore-write
> -tools/xenstore/xenstored
> +tools/xenstored/xenstored
>  tools/xentop/xentop
>  tools/xentrace/xentrace_setsize
>  tools/xentrace/tbctl
>  tools/xentrace/xenctx
>  tools/xentrace/xentrace
> +tools/xs-clients/xenstore
> +tools/xs-clients/xenstore-chmod
> +tools/xs-clients/xenstore-control
> +tools/xs-clients/xenstore-exists
> +tools/xs-clients/xenstore-list
> +tools/xs-clients/xenstore-ls
> +tools/xs-clients/xenstore-read
> +tools/xs-clients/xenstore-rm
> +tools/xs-clients/xenstore-watch
> +tools/xs-clients/xenstore-write
>  xen/**/*.i
>  xen/**/*.s
>  xen/.banner

Please take the opportunity to move these into local .gitignore files.Â 
One less area of churn in future renaming.Â  Probably can be fixed on
commit as its only mechanical.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 14:46:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 14:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586362.917582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0jy-0003ZO-2U; Fri, 18 Aug 2023 14:46:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586362.917582; Fri, 18 Aug 2023 14: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 1qX0jx-0003ZH-UX; Fri, 18 Aug 2023 14:46:17 +0000
Received: by outflank-mailman (input) for mailman id 586362;
 Fri, 18 Aug 2023 14:46:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qX0jw-0003Z8-UX
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 14:46:17 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8ad21f6-3dd5-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 16:46: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: f8ad21f6-3dd5-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692369972;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=/R4URd4Zx0LnRzBAdCRCuoOZ8hmSVzrLmf6Vz5PAdHk=;
  b=Erl7+axIpSdqcVpvZreSKYJevtbSbuWvt18d9069ap2jipgV5vd8PxK0
   j4JbvwjSOIo36AbrTUkUTMDzqlz6GY1Y6liC5KN+rOYBwFH7pIRaOrtOH
   VxmD7oDQpVvoOXzw14TKJMNz1vqYPpfVavAqpLVpk9RbKGnR/1dz14KZP
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119783866
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:l9W/AKkte6hz/KGc+D9y49jo5gxHJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIWCjzVPvqNNzT0co1zb9mzpEpS6sXTx9FlTgNr/yxhEiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5Q+GzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dYSJg9SMw3ZvLiV2baiZMlBo8ASPca+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/B9
 z2WpDSnXHn2MvSCmASa8mi+jNTxpj//BYkVSZ/o9udl1Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspQMc9qMY8SDgu1
 1mIt9DkHzpitPuSU3313qiQhSO/P24SN2BqTS0ZSQoI5fHzrYd1iQjAJuuPC4bs0IezQ2uph
 WnX8m5n3e57YdM3O7uT11rJvG3xu8LyFC0s4hz5fk+A6jJoa9vwD2C30mTz4fFFJYefa1COu
 nkYhsSThNwz4YGxeD+lG7tUQuzwjxqRGHiF2AM0QcF9n9i40yT7Fb289g2SM6uA3iwsXTbyK
 HHetgpKjHO4FCv7NPQnC25d5ilD8EQBKTgHfqqEBjatSsIrHONiwM2JTRfIt10BaGB2zckC1
 W6zKK5A90oyB6V91yaRTOwAy7ItzS1W7TqNFMqhnkv/gOPFOiD9pVI53L2mNLBRAESs+lm9z
 jqiH5HSl0U3vBPWM0E7DrL/3XhVdCNmVPgaWuRcd/KZIxoOJY3SI6a5/F/VQKQ8x/49vr6Rr
 hmAtrpwlAKXaYvvdV/bNRiOqdrHAf5CkJ7MFXV3YgvwhCh9MdzHAWV2X8JfQITLPddLlZZcJ
 8Tpse3fWZyjlhyvF+whUKTA
IronPort-HdrOrdr: A9a23:KSVJXK7GyNHC8RGJXAPXwD7XdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsyMc7Qx6ZJhOo7+90cW7L080sKQFg7X5Xo3SOzUO2lHYT72KhLGKq1Hd8m/Fh4tgPM
 9bGJSWY+eAaWSS4/ya3OG5eexQv+Vu8sqT9JnjJ6EGd3AaV0lihT0JejpyCidNNXB77QJSLu
 vg2iJAzQDQAUg/X4CAKVQuefPMnNHPnIKOW297O/Z2gDP+9g9B8dTBYmKl4is=
X-Talos-CUID: =?us-ascii?q?9a23=3ArXn6vWtZ2QgmqBxN+4AFVRlx6IsPeHPikyrNeXT?=
 =?us-ascii?q?iKn9tUZO1ZHqUybJrxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3A1CwIdgyJmwQMhocDrg6g2gUrFUKaqLn/Nl8Ni4c?=
 =?us-ascii?q?MgPe/KSgtMDDArmS3W4Byfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119783866"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: [PATCH] Drop remains of prior SCMs
Date: Fri, 18 Aug 2023 15:45:34 +0100
Message-ID: <20230818144534.1911457-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

None of the mercurial metadata has been updated since around Xen 4.2, making
them more than a decade stale.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
---
 .hgignore | 329 ------------------------------------------------------
 .hgsigs   |  11 --
 .hgtags   |  59 ----------
 3 files changed, 399 deletions(-)
 delete mode 100644 .hgignore
 delete mode 100644 .hgsigs
 delete mode 100644 .hgtags

diff --git a/.hgignore b/.hgignore
deleted file mode 100644
index 2d416706321b..000000000000
--- a/.hgignore
+++ /dev/null
@@ -1,329 +0,0 @@
-.*\.a$
-.*\.cmi$
-.*\.cmo$
-.*\.cmx$
-\..*\.d$
-.*\.o$
-.*\.opic$
-.*\.pyc$
-.*\.so$
-.*\.so\..*$
-.*\.tar\.bz2$
-.*\.tar\.gz$
-.*~$
-.*\.swp$
-.*\.tmp$
-.*\.flc$
-.*\.orig$
-.*\.rej$
-.*\.spot$
-.*\.spit$
-.*\.gcno$
-.*\.gcda$
-.*/a\.out$
-.*/Modules\.symvers$
-.*/cscope\..*$
-^cscope.*$
-^[^/]*\.bz2$
-^\.config$
-^\.pc
-(^|/)(tags|TAGS)$
-(^|/)(GTAGS|GPATH|GSYMS|GRTAGS)$
-^autom4te\.cache$
-^config\.log$
-^config\.status$
-^config\.cache$
-^config/Toplevel\.mk$
-^build-.*$
-^dist/.*$
-^docs/autom4te\.cache$
-^docs/config\.log$
-^docs/config\.status
-^docs/config/Toplevel\.mk
-^docs/.*\.aux$
-^docs/.*\.dvi$
-^docs/.*\.log$
-^docs/.*\.pdf$
-^docs/.*\.ps$
-^docs/.*\.toc$
-^docs/api/.*$
-^docs/figs/xenserver\.eps$
-^docs/html/.*$
-^docs/interface/WARNINGS$
-^docs/interface/images\.pl$
-^docs/interface/images\.tex$
-^docs/interface/img1\.png$
-^docs/interface/index\.html$
-^docs/interface/interface\.css$
-^docs/interface/interface\.html$
-^docs/interface/labels\.pl$
-^docs/figs/.*\.png
-^docs/man1/
-^docs/man5/
-^docs/pdf/.*$
-^docs/ps/.*$
-^docs/user/WARNINGS$
-^docs/user/images\.pl$
-^docs/user/images\.tex$
-^docs/user/img1\.png$
-^docs/user/img2\.png$
-^docs/user/img3\.png$
-^docs/user/index\.html$
-^docs/user/internals\.pl$
-^docs/user/labels\.pl$
-^docs/user/user\.css$
-^docs/user/user\.html$
-^docs/txt/.*$
-^docs/xen-api/vm_lifecycle.eps$
-^docs/xen-api/xenapi-datamodel-graph.eps$
-^docs/xen-api/xenapi.out$
-^extras/mini-os/include/list\.h$
-^extras/mini-os/include/mini-os$
-^extras/mini-os/include/x86/mini-os$
-^extras/mini-os/include/xen$
-^extras/mini-os/mini-os.*$
-^install/.*$
-^linux-[^/]*-paravirt/.*$
-^linux-2.6[^/]*/.*$
-^linux-[^/]*-rc/.*$
-^linux-[^/]*-tip/.*$
-^linux-[^/]*-git/.*$
-^linux-[^/]*\.patch$
-^mkddbxen$
-^netbsd-[^/]*-tools/.*$
-^netbsd-[^/]*-xen0/.*$
-^netbsd-[^/]*-xenU/.*$
-^netbsd-[^/]*\.patch$
-^patches/.*/\.makedep$
-^patches/ebtables-brnf-5_vs_2\.4\.25\.diff$
-^patches/ebtables\.diff$
-^patches/tmp/.*$
-^pristine-.*$
-^ref-.*$
-^tmp-.*$
-^stubdom/autom4te\.cache$
-^stubdom/binutils-.*$
-^stubdom/config\.log$
-^stubdom/config\.status$
-^stubdom/config\.cache$
-^stubdom/cross-root-.*$
-^stubdom/gcc-.*$
-^stubdom/include$
-^stubdom/ioemu$
-^stubdom/xenstore$
-^stubdom/libxc-.*$
-^stubdom/lwip-.*$
-^stubdom/mini-os-.*$
-^stubdom/mk-headers-.*$
-^stubdom/newlib-.*$
-^stubdom/pciutils-.*$
-^stubdom/zlib-.*$
-^stubdom/grub-.*$
-^stubdom/polarssl-.*$
-^stubdom/gmp-.*$
-^stubdom/tpm_emulator-.*$
-^stubdom/ocaml-.*$
-^stubdom/lwip/
-^stubdom/ioemu/
-^stubdom/stubdompath\.sh$
-^stubdom/vtpm/vtpm_manager\.h$
-^tools/.*/build/lib.*/.*\.py$
-^tools/check/\..*$
-^tools/console/xenconsole$
-^tools/console/xenconsoled$
-^tools/debugger/gdb/gdb-6\.2\.1-linux-i386-xen/.*$
-^tools/debugger/gdb/gdb-6\.2\.1/.*$
-^tools/debugger/gdb/gdb-6\.2\.1\.tar\.bz2$
-^tools/debugger/gdbsx/gdbsx$
-^tools/debugger/kdd/kdd$
-^tools/debugger/xenitp/xenitp$
-^tools/firmware/.*/biossums$
-^tools/firmware/.*\.bin$
-^tools/firmware/.*\.sym$
-^tools/firmware/.*bios/.*bios.*\.txt$
-^tools/firmware/etherboot/eb-roms\.h$
-^tools/firmware/etherboot/ipxe/.*$
-^tools/firmware/etherboot/ipxe\.git/.*$
-^tools/firmware/extboot/extboot.img$
-^tools/firmware/extboot/signrom$
-^tools/firmware/hvmloader/acpi/mk_dsdt$
-^tools/firmware/hvmloader/acpi/dsdt.*\.c$
-^tools/firmware/hvmloader/acpi/dsdt_.*\.asl$
-^tools/firmware/hvmloader/acpi/ssdt_.*\.h$
-^tools/firmware/hvmloader/hvmloader$
-^tools/firmware/hvmloader/roms\.inc$
-^tools/firmware/rombios/BIOS-bochs-[^/]*$
-^tools/firmware/rombios/_rombios[^/]*_\.c$
-^tools/firmware/rombios/rombios[^/]*\.s$
-^tools/firmware/rombios/32bit/32bitbios_flat\.h$
-^tools/firmware/vgabios/vbetables-gen$
-^tools/firmware/vgabios/vbetables\.h$
-^tools/firmware/xen-dir/.*\.old$
-^tools/firmware/xen-dir/linkfarm.stamp.*$
-^tools/firmware/xen-dir/xen-root$
-^tools/firmware/xen-dir/xen-shim$
-^tools/firmware/xen-dir/xen-shim-syms$
-^tools/flask/utils/flask-getenforce$
-^tools/flask/utils/flask-get-bool$
-^tools/flask/utils/flask-loadpolicy$
-^tools/flask/utils/flask-setenforce$
-^tools/flask/utils/flask-set-bool$
-^tools/flask/utils/flask-label-pci$
-^tools/fs-back/fs-backend$
-^tools/hotplug/common/hotplugpath\.sh$
-^tools/include/xen/.*$
-^tools/include/xen-foreign/.*\.(c|h|size)$
-^tools/include/xen-foreign/checker$
-^tools/libxl/_.*\.h$
-^tools/libxl/_.*\.c$
-^tools/libxl/libxlu_cfg_y\.output$
-^tools/libxl/xl$
-^tools/libxl/libxl-save-helper$
-^tools/libxl/testidl$
-^tools/libxl/testidl\.c$
-^tools/libxl/tmp\..*$
-^tools/libxl/.*\.new$
-^tools/libxl/_libxl\.api-for-check
-^tools/libxl/libxl\.api-ok
-^tools/libvchan/vchan-node[12]$
-^tools/misc/cpuperf/cpuperf-perfcntr$
-^tools/misc/cpuperf/cpuperf-xen$
-^tools/misc/xc_shadow$
-^tools/misc/xen_cpuperf$
-^tools/misc/xen-detect$
-^tools/misc/xen-hptool$
-^tools/misc/xen-hvmcrash$
-^tools/misc/xen-tmem-list-parse$
-^tools/misc/xenperf$
-^tools/misc/xenpm$
-^tools/misc/xen-hvmctx$
-^tools/misc/xen-lowmemd$
-^tools/misc/xenlockprof$
-^tools/misc/xencov$
-^tools/pygrub/build/.*$
-^tools/python/build/.*$
-^tools/python/xen/util/path\.py$
-^tools/python/xen/lowlevel/xl/_pyxl_types.c
-^tools/python/xen/lowlevel/xl/_pyxl_types.h
-^tools/remus/imqebt/imqebt$
-^tools/remus/kmod/.*(\.cmd|\.mod|\.ko|\.mod\.c|\.symvers|\.xen)$
-^tools/security/secpol_tool$
-^tools/security/xen/.*$
-^tools/security/xensec_tool$
-^tools/tests/x86_emulator/blowfish\.bin$
-^tools/tests/x86_emulator/blowfish\.h$
-^tools/tests/x86_emulator/test_x86_emulator$
-^tools/tests/x86_emulator/x86_emulate$
-^tools/tests/regression/installed/.*$
-^tools/tests/regression/build/.*$
-^tools/tests/regression/downloads/.*$
-^tools/tests/xen-access/xen-access$
-^tools/tests/mem-sharing/memshrtool$
-^tools/tests/mce-test/tools/xen-mceinj$
-^tools/vtpm/tpm_emulator-.*\.tar\.gz$
-^tools/vtpm/tpm_emulator/.*$
-^tools/vtpm/vtpm/.*$
-^tools/vtpm_manager/manager/vtpm_managerd$
-^tools/xcutils/lsevtchn$
-^tools/xcutils/xc_restore$
-^tools/xcutils/xc_save$
-^tools/xcutils/readnotes$
-^tools/misc/xenwatchdogd$
-^tools/xenfb/sdlfb$
-^tools/xenfb/vncfb$
-^tools/xenmon/xentrace_setmask$
-^tools/xenmon/xenbaked$
-^tools/xenpaging/xenpaging$
-^tools/xenpmd/xenpmd$
-^tools/xenstat/xentop/xentop$
-^tools/xenstore/testsuite/tmp/.*$
-^tools/xenstore/init-xenstore-domain$
-^tools/xenstore/xen$
-^tools/xenstore/xenstore$
-^tools/xenstore/xenstore-chmod$
-^tools/xenstore/xenstore-exists$
-^tools/xenstore/xenstore-list$
-^tools/xenstore/xenstore-read$
-^tools/xenstore/xenstore-rm$
-^tools/xenstore/xenstore-write$
-^tools/xenstore/xenstore-control$
-^tools/xenstore/xenstore-ls$
-^tools/xenstore/xenstore-watch$
-^tools/xenstore/xenstored$
-^tools/xenstore/xenstored_test$
-^tools/xenstore/xs_crashme$
-^tools/xenstore/xs_random$
-^tools/xenstore/xs_stress$
-^tools/xenstore/xs_tdb_dump$
-^tools/xenstore/xs_test$
-^tools/xenstore/xs_watch_stress$
-^tools/xentrace/xentrace_setsize$
-^tools/xentrace/tbctl$
-^tools/xentrace/xenctx$
-^tools/xentrace/xentrace$
-^tools/firmware/ovmf-remote
-^tools/firmware/ovmf$
-^tools/qemu-xen-traditional-dir-remote
-^tools/qemu-xen-traditional-dir$
-^tools/qemu-xen-dir-remote
-^tools/qemu-xen-dir$
-^tools/firmware/seabios-dir-remote
-^tools/firmware/seabios-dir$
-^tools/ocaml/.*/.*\.annot$
-^tools/ocaml/.*/.*\.cmx?a$
-^tools/ocaml/.*/META$
-^tools/ocaml/.*/\.ocamldep\.make$
-^tools/ocaml/libs/xl/_libxl_types\.ml\.in$
-^tools/ocaml/libs/xl/_libxl_types\.mli\.in$
-^tools/ocaml/libs/xl/_libxl_types\.inc$
-^tools/ocaml/libs/xl/xenlight\.ml$
-^tools/ocaml/libs/xl/xenlight\.mli$
-^tools/ocaml/xenstored/oxenstored$
-^tools/ocaml/test/xtl$
-^tools/ocaml/test/send_debug_keys$
-^tools/ocaml/test/list_domains$
-^tools/autom4te\.cache$
-^tools/config\.h$
-^tools/config\.log$
-^tools/config\.status$
-^tools/config\.cache$
-^config/Tools\.mk$
-^config/Stubdom\.mk$
-^config/Docs\.mk$
-^xen/\.banner.*$
-^xen/System.map$
-^xen/arch/arm/asm-offsets\.s$
-^xen/arch/arm/xen\.lds$
-^xen/arch/x86/asm-offsets\.s$
-^xen/arch/x86/boot/mkelf32$
-^xen/arch/x86/xen\.lds$
-^xen/arch/x86/boot/reloc\.S$
-^xen/arch/x86/boot/reloc\.bin$
-^xen/arch/x86/boot/reloc\.lnk$
-^xen/arch/x86/efi\.lds$
-^xen/arch/x86/efi/check\.efi$
-^xen/arch/x86/efi/disabled$
-^xen/arch/x86/efi/mkreloc$
-^xen/ddb/.*$
-^xen/include/headers\.chk$
-^xen/include/asm$
-^xen/include/asm-.*/asm-offsets\.h$
-^xen/include/compat/.*$
-^xen/include/hypervisor-ifs/arch$
-^xen/include/linux$
-^xen/include/public/public$
-^xen/include/xen/.*\.new$
-^xen/include/xen/acm_policy\.h$
-^xen/include/xen/banner\.h$
-^xen/include/xen/compile\.h$
-^xen/tools/figlet/figlet$
-^xen/tools/symbols$
-^xen/xsm/flask/include/av_perm_to_string\.h$
-^xen/xsm/flask/include/av_permissions\.h$
-^xen/xsm/flask/include/class_to_string\.h$
-^xen/xsm/flask/include/flask\.h$
-^xen/xsm/flask/include/initial_sid_to_string\.h$
-^xen/xen$
-^xen/xen-syms$
-^xen/xen\..*$
-^LibVNCServer.*
diff --git a/.hgsigs b/.hgsigs
deleted file mode 100644
index 7dc4a6128279..000000000000
--- a/.hgsigs
+++ /dev/null
@@ -1,11 +0,0 @@
-2a60be40e2cb2a3c62836e690927588c3e31d01c 0 iQEcBAABAgAGBQJNLxyGAAoJEIP+FMlX6CvZUjIH/1R0TcK4zBLl1FdXWF/LnOW+HgezYywSRHuJqNur6TweqVqKxnM6gCqjRvlGOrtWOhtEVnb3FmR7pRX4dEiQnBdO//b30ZbU8zOKvDlB7Pa0U81pcD19tloycV+LbHgulVxXnZXeQRTP/eLsUKTM4GKiqvDNN3EPdZADJyz+0MLf/BCJipXVkgmzbFefFlBDRtw05BGE899kiObqoA6LnPPVvZxBqW4nNxeYR6nK7mgps9RRrgMnt9fyPmSN0+ME1nxhfl6Gd9p9109S5ujHwnzwgO/5X+OQF/F0i1SQVvXsGQyM5eE/ZxHEpEKqtFyWPEIk4/eFLsqmdPAAr5XERaw=
-9dca60d88c630fcc7a07ad68fd3a0dce02aee646 0 iQEcBAABAgAGBQJNPtkLAAoJEIP+FMlX6CvZzPMH/Rwsp62u3DXfzune2FBh6WjJerPusvkkhfogDc21Mfy7ed/rJfr2ovLYdiJhc7Ml5F51rLc/1d2FshiCDB9x5nVGyKSx9VfWew6fU/YI5wc2BiQg47d9WM6WI8kP07E51c+ML9nQu9QOE4xI0JpFy2u1jByJtG/Wy9qgLwvhK1OoCjs0Z9/R9h5rvWhi61GpQ1z04/FdMRn0JqSOy7nLb4qWmXrNg5LfddJl63yNcK08HfHyp+KtnrLMNei8T8TKEAv3amC29h2t5xMmVsGMkfakjLuC3k9Jirn29YP25QHNqz405rH3aimFbVnIfwelNW7y+/5jfJ4r8Fnt8Oq0+Y4=
-e7b31cc0093c6002effce7d038e929d936ed023f 0 iQEcBAABAgAGBQJNRvWqAAoJEIP+FMlX6CvZwYMH/2TbgdFOUQbzBCp1WgKHA2foq+KFBAl72uyOm3SPeaZID8mGe+jySnZj1zTgdZkuZv3sC510Hsl0EbJ+0cXtdvMemLuZHusRGzvP1cY3fWW6Ltme1EkFlsqEI3opO+mourSo8GVC/BnMqOl7fV8vpGv72BDqXQ/bBM8qgLnYeWN0yale7soR8Akpp27gNcivUUqKSerusHvIYV1mBl9Xg3mfQTCxR+bmM6lp4SXje38wWnqzAEWd5v9YpGKNacc0ca5mxJGz6t+dmr7PSdR5puYsSVU0CK3aWoL8jxGzT/caw03l5dboMaRbBWSD2R0UeZEG4B1C3aXFE9aiBV2I/No=
-8df0c7f9cda6cb271a1414114e26f72e1d93a69a 0 iQEcBAABAgAGBQJNVB85AAoJEIP+FMlX6CvZ+aAIAL/+olR1XkxMyQyQlhV6pc9IPONHsUF1+xGcl1p3MRZCk32rNhdCM1NTMEW695Q9CRZ1/aZpCVJKSMNuuA3k6KEFEpyOMmAgWqRUgo7mMS/Jrp2qS0JCkKshQ3SoCJLsa6ENIJLKI/T4ZlUHTAK7MMfg7XjPLgHZU/l84LnpRDSfr8TeoQq4lcWYkAV+ra0VW0KXl1QrV5hMEmZAKqLhKHRYyRKgg3ZM81OHthe+zE8OUOd/yADxvwaovfai6c0wKoyHuRCi9Rzbp/aJbVFBkdDvZqhSWxq+IykC6MI/Yu3BlCTvwKVRgoYOtHJ4twjxln5qw+BExFZo3JfL16jQ6dE=
-d2d27d989ebce4325575f871415337cc54891dde 0 iQEcBAABAgAGBQJNXBYbAAoJEIP+FMlX6CvZTGIH/2bxz3UrQNNwsUMmx5tNKwoAzmTjX5IjpsibwZgIlWFTpZhmbdAK5jvUVdPgmAURgPUHIkcic9MRfXZepzqxEyE/zz2itCcDE6oo1ibb2cwn54c2RlHhcweaDzEDroRfcGZ2tEWXIjTEAyNwlhy9IQZ9wC3XAA0wTwXoHx7o9fUs3WSFahr+Cz93w/sc7uQ6LK52WvVvUd7UflSEx2X4uACDknxbKucG6POCxnQ3A+eVXJmdnHak5c+ySsjwu+fHiQ3/ca0JY1RlEF+8NT+aFobZ51kr7acCmFDvOsGd7h6hhgNVe0mujq5pyooklA4qW83/VudS/jOVPnSt+cGhBpE=
-7b6791dbfecdb2eba6acd2c8bf0ced17d06746b2 0 iQEcBAABAgAGBQJNa9NOAAoJEIP+FMlX6CvZK+sH/REZ7jV0iWnDbvfPgdl/KlxEVvj4LsmLFAVBa0sEHa8ih+THp3C8Bso7izIs424y667QH6Pq+wAiB5TELOOHRsp6VV5AxYXuNF1Vw9xD9YGUQ5ECAIfc9gldfZZAv4QZayHOgdz4zRnMOrO1D8rqNDVO7BcgNutgf25WtrLsg+mxxyLjcA9Q5Q7a6dY1WSzzSf6beOW9MLh6Hy2pGTzO3CcS6M0Aa6sXZKisy7CWMOueAbwSmRBmw3il1oM62I44ovAJUxBvLTQZm0mNPzeq0IP59rLrGzdhZ76+iE47GK/zGjcC7o/jSQUy6xhuUwgcx3PdB8vzJzNsz6p8mIR+UKo=
-6241fa0ad1a939d2eba11bdec929564276f56a9e 0 iQEcBAABAgAGBQJNcSJqAAoJEIP+FMlX6CvZbxEH/206722t0t46MfPq0/buPpQDNiB0HtFZY79u1Yc8xGTo23rQ2NTG10JdCurN2pyxwFesiSIZ4Ua3zqpZ0EA2EN6xAFY9Vua4WEPNJwK8pxxWABcHI017QTidQs41bEaUn92yyfmixq6iYCGvR+b46KWbip/i9Z6vZpw0g3JyOaxgAhkA+p4w90yUIKUkjTrtiuqnI31MUQE0urwWAXQUj78knrqEu3wb91+me1KLH9WzReBB7tt3/GmaK4qSdnHNpIkulVK0XJYzFkJzFr5eHVeYTGFb25Sgir2sIN2gxaCPI3/p90akFMJKmeNV5XCmOQ5g2GWUZTff8LGF6Fk0Me8=
-8e620dc570ce42564c1630de5798e23909ee809c 0 iQEcBAABAgAGBQJQFqUYAAoJEIP+FMlX6CvZDGEH/jxUFG29okRASHY6XwFrJ4AU7tLyC8Bt2vAH3ZaA/h1Tn2GWkQXf4tzBAvvwWNBrm1hdj73OaB7dD2l2kvL551AhoSd4/5z+pPtpC72ItwFFTr3Ep9GRZEvEHculuei5IUzw1lxZuNCPCScBxQl+KI+dZHIeP0YO46VZTtG+EeBlj0SJ7JojKN4REd382eIgSLvpEFHCM6vqeCWM9FtDyomiMXdSosDLcWdFauFmV7cdWybA5WPj6bkJenABwX0A1V9uf225S0DTdO0t/7ncZ8h+wXTzqiixywA+lqza+u+HzNyopWmwiFcseFZjuHbKx6M2v0EvKPBcyTgdRZF/+Kg=
-f4c47bcc01e13cb2e3b4b71fd588d86278875442 0 iQEcBAABAgAGBQJQIpupAAoJEIP+FMlX6CvZnBwH/3qlibrquTmD2p3rcdVi/JkWixaKK3KH4Ows/76sAJYCdx9YkmtkgC4zyz5aph4Rfy7dYnQIUhbwNNdZNBDd0XOVkjQm0ZX1wQjv3yA3Eq9NOUDmfFWldF+oosOG3h/+MLm/36CkB7gFku1ENQ8kagytXe4rN3QdOiJ9Rz84BAv6nJoT/1OX+m+MlBs948orC23aNEfWxrsrv2s92v5fJcAfSLW/AtER2JnASIxWECJ/TOkuHtrO2QPoBymSnifM2R624L+ySwRxSxo+Owfpooje5eekk0ekifvdYtaJ3pOfoOCv8yGEtb7mXv62WowVkasUZa/q+rGdVpHuK0UlBjI=
-d44f290e81df5f78f0e3545742e3c4ff5415b0a7 0 iQEcBAABAgAGBQJQNji7AAoJEIP+FMlX6CvZvBcIAJPiA6ydvolYCvZsfGgafqCpcpG3f+PbUOwQRWfUcaKHPWFKnwRkmx9MAP9tEjXFNZcbimktDrofmee6XfLb8NLnCcHWZT8trRXYTNw2lM6DpK+AROUpAcShF3gCHQEtCJC6+NArD75aUkUji3awbGlhplHbyWvgvSSULhga+2xfYszRC7eI/g+7/f4JNkvqeWllAtd9fwftXaGhQi2V4LT5IimpJI7PivlDi0wi+BtqXHcmZhlnw3zpR51NRujsMVTNZMqe733kGdt8Y8j3vvsfXBye4+YAkEKFrzW3jTYlA9ws71oNVvWmwmOjOHpx6ASfquP3hhAoiHvb2c6Wims=
-68640a3c99cefa86ae70fc49871025864e5671f2 0 iQEcBAABAgAGBQJQSdgUAAoJEIP+FMlX6CvZeWUH/1SeYnKXtkt7n+WuMyF2LvCzZQApmOo+hqVB7m0Pe4Yh9bEq1PAE+sJOAoQIBklCpY3WFsNGQN8yIbYyWRzbIM7oavknwoUoSn50zMk12HczqHigXvhL/eOghRKNsK9BrQnRV+byNHRjzSHPReNxpzueKBOTrCMlXtYMDb94swc+hatEDItT4TwZcaNPri3kiWND0DPmOk58Ke96ml9rpomS1ff976hYAZl+N1Q3Pt998SXiaglZ9EeL0Y8cY759XqZII4D4o6/oQW8MzWrQZr4woHHU7MfK3OWslelzP486esHyyjotEWeelhgl/RjIl0crNBbmCWU15BOAw7wSZh4=
diff --git a/.hgtags b/.hgtags
deleted file mode 100644
index e9fddab036d8..000000000000
--- a/.hgtags
+++ /dev/null
@@ -1,59 +0,0 @@
-42882b3e0dda89f3a8ec00da568f86e9b3c230f1 RELEASE-2.0.0
-475a162b66e2c19b1e9468b234a4ba705334905e RELEASE-2.0.1
-dc2f08429f17e6614fd2f1ab88cc09ca0a850f32 RELEASE-2.0.2
-6e1bbc13911751efa0b1c018425c1b085820fa02 RELEASE-2.0.3
-fb875591fd72e15c31879c0e9034d99b80225595 RELEASE-2.0.4
-1a522944f76540ea9d73fcc1b0d13d0f670183f0 RELEASE-2.0.5
-2a5814ad2e5634a5fa291b703a152e7fc0b4faf0 RELEASE-2.0.6
-487b2ee37d1cecb5f3e7a546b05ad097a0226f2f beta1
-6a65fe0f84c8339b5b89362d0ec34d8abab752b0 ia64-stable
-3d330e41f41ce1bc118c02346e18949ad5d67f6b latest-semistable
-30c521db4c71960b0cf1d9c9e1b658e77b535a3e latest-stable
-9afec5bc14aeb197ef37ea54a57eacd427463fc3 semistable
-30c521db4c71960b0cf1d9c9e1b658e77b535a3e split-1.0
-3d330e41f41ce1bc118c02346e18949ad5d67f6b split-1.1
-c8fdb0caa77b429cf47f9707926e83947778cb48 RELEASE-3.0.0
-af0573e9e5258db0a9d28aa954dd302ddd2c2d23 3.0.2-rc
-d0d3fef37685be264a7f52201f8ef44c030daad3 3.0.2-branched
-6ed4368b4a9e1924c983774c4b1a2b6baf8e98a6 3.0.3-branched
-057f7c4dbed1c75a3fbe446d346cee04cff31497 3.0.4-branched
-d2ef85c6bf84cc619ca2d42c2edfc6229e70a6ad 3.1.0-branched
-bd3d6b4c52ec809f080c89c4ffcf61dc6e445978 sparse-tree-deprecated
-1f0c6e0d74a4acc1d3796ff705adc8485eba9377 3.2.0-rc1
-458dc123dd02d38aaa9acb513d6f237a1c6e967e 3.2.0-rc2
-ed79613b48817d5e0d1f9b3cf104c0e4e8b0d8cf 3.2.0-rc3
-c5deb251b9dcece9e466a48a66d3528ca1797db4 3.2.0-rc4
-36bb2ab4722733d919d32e4555eb46cc6a06cb8f 3.2.0-rc5
-9facc624a238f2b9437b07fa28ff65884aa867f2 3.2.0-rc6
-c3494402098e26507fc61a6579832c0149351d6a 3.3.0-rc1
-dde12ff94c96331668fe38a7b09506fa94d03c34 3.3.0-rc2
-57fca3648f25dcc085ee380954342960a7979987 3.3.0-rc3
-96d0a48e87ee46ba7b73e8c906a7e2e0baf60e2e 3.3.0-rc4
-b4dba6a0e97cb6dd080fa566468e3cc972c34d7a 3.3.0-rc5
-bc372510f1794ee41a8b0501cc84f8a65d05e094 3.3.0-rc6
-daf1193bcd11345d566a4747fe1f12c90b44452c 3.3.0-rc7
-1e99ba54035623731bc7318a8357aa6a118c5da1 3.3.0-branched
-d611d9ac6d0271b53eb1d4e5d0c4ef20b269eea8 3.4.0-rc1
-087854cf3ed9e30ce6bcf7499c9675b759e1e9e7 3.4.0-rc2
-22e01301ff64c6f9f835f604523ac019f0f5e993 3.4.0-rc3
-67b5ad8ae87e64159807374ad66d5b5b2fb2ca1f 4.0.0-rc1
-e5e4573bcaba68a8b93a35768c825c1e8daa23be 4.0.0-rc2
-7d565d58f49859a2161f0e74844773d3b3312634 4.0.0-rc3
-912295f1b1f30307975c7514569f6f9c8faae4a7 4.0.0-rc4
-92f2ee87e5018073edc08734b425bc60bcd80bcd 4.0.0-rc5
-b4a1832a916f1e8f2aa2ad5b1efa155f9dd0cb4f 4.0.0-rc6
-ec8f2e7dea44905eb86bb794516506451e4771cb 4.0.0-rc7
-542211ba675c74813ed0df3be686d7cd201e82e9 4.0.0-rc8
-91232efdcfdcfb6402b4c0e3724716655ee42af6 4.0.0-branched
-2a60be40e2cb2a3c62836e690927588c3e31d01c 4.1.0-rc1
-9dca60d88c630fcc7a07ad68fd3a0dce02aee646 4.1.0-rc2
-e7b31cc0093c6002effce7d038e929d936ed023f 4.1.0-rc3
-8df0c7f9cda6cb271a1414114e26f72e1d93a69a 4.1.0-rc4
-d2d27d989ebce4325575f871415337cc54891dde 4.1.0-rc5
-7b6791dbfecdb2eba6acd2c8bf0ced17d06746b2 4.1.0-rc6
-6241fa0ad1a939d2eba11bdec929564276f56a9e 4.1.0-branched
-8e620dc570ce42564c1630de5798e23909ee809c 4.2.0-rc1
-f4c47bcc01e13cb2e3b4b71fd588d86278875442 4.2.0-rc2
-d44f290e81df5f78f0e3545742e3c4ff5415b0a7 4.2.0-rc3
-68640a3c99cefa86ae70fc49871025864e5671f2 4.2.0-rc4
-528f0708b6db392e10303b7ed2ab529bb8b512b7 4.2.0-branched

base-commit: cd36188b2762a05c322a5f56bcfce59c2d9cac2e
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 14:47:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 14:47:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586369.917592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0ku-00048x-Ei; Fri, 18 Aug 2023 14:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586369.917592; Fri, 18 Aug 2023 14:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0ku-00048q-Bk; Fri, 18 Aug 2023 14:47:16 +0000
Received: by outflank-mailman (input) for mailman id 586369;
 Fri, 18 Aug 2023 14:47: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 1qX0ks-00048W-KZ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 14:47: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 1qX0kr-0003gI-IB; Fri, 18 Aug 2023 14:47:13 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qX0kr-0004me-7W; Fri, 18 Aug 2023 14:47: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=/rlYdzE/U93wtK531F8XJ5d1qfa2PipvGOsUOQ2P0sQ=; b=m+Hi93KrKm0mv9ZliQdrQmoSfp
	OHJsGAWiOF8KRYOdvCGRpCIXmhTHPCBrGn9XPyPlTo2W5dMw++zpXLfIdz6qaUuv30oote2b8wB9I
	6GsZnH+XKtUFcXnrwm+B8snHh+zTuvfsqxIY0YUEGFBBWZhJTe9UIGgiTJs4enTCpJfc=;
Message-ID: <a59c03e7-0d22-4181-8ff2-f826b15ab4cb@xen.org>
Date: Fri, 18 Aug 2023 15:47:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Drop remains of prior SCMs
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Jan Beulich <JBeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20230818144534.1911457-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230818144534.1911457-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 18/08/2023 15:45, Andrew Cooper wrote:
> None of the mercurial metadata has been updated since around Xen 4.2, making
> them more than a decade stale.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

> ---
> CC: George Dunlap <George.Dunlap@eu.citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> ---
>   .hgignore | 329 ------------------------------------------------------
>   .hgsigs   |  11 --
>   .hgtags   |  59 ----------
>   3 files changed, 399 deletions(-)
>   delete mode 100644 .hgignore
>   delete mode 100644 .hgsigs
>   delete mode 100644 .hgtags
> 
> diff --git a/.hgignore b/.hgignore
> deleted file mode 100644
> index 2d416706321b..000000000000
> --- a/.hgignore
> +++ /dev/null
> @@ -1,329 +0,0 @@
> -.*\.a$
> -.*\.cmi$
> -.*\.cmo$
> -.*\.cmx$
> -\..*\.d$
> -.*\.o$
> -.*\.opic$
> -.*\.pyc$
> -.*\.so$
> -.*\.so\..*$
> -.*\.tar\.bz2$
> -.*\.tar\.gz$
> -.*~$
> -.*\.swp$
> -.*\.tmp$
> -.*\.flc$
> -.*\.orig$
> -.*\.rej$
> -.*\.spot$
> -.*\.spit$
> -.*\.gcno$
> -.*\.gcda$
> -.*/a\.out$
> -.*/Modules\.symvers$
> -.*/cscope\..*$
> -^cscope.*$
> -^[^/]*\.bz2$
> -^\.config$
> -^\.pc
> -(^|/)(tags|TAGS)$
> -(^|/)(GTAGS|GPATH|GSYMS|GRTAGS)$
> -^autom4te\.cache$
> -^config\.log$
> -^config\.status$
> -^config\.cache$
> -^config/Toplevel\.mk$
> -^build-.*$
> -^dist/.*$
> -^docs/autom4te\.cache$
> -^docs/config\.log$
> -^docs/config\.status
> -^docs/config/Toplevel\.mk
> -^docs/.*\.aux$
> -^docs/.*\.dvi$
> -^docs/.*\.log$
> -^docs/.*\.pdf$
> -^docs/.*\.ps$
> -^docs/.*\.toc$
> -^docs/api/.*$
> -^docs/figs/xenserver\.eps$
> -^docs/html/.*$
> -^docs/interface/WARNINGS$
> -^docs/interface/images\.pl$
> -^docs/interface/images\.tex$
> -^docs/interface/img1\.png$
> -^docs/interface/index\.html$
> -^docs/interface/interface\.css$
> -^docs/interface/interface\.html$
> -^docs/interface/labels\.pl$
> -^docs/figs/.*\.png
> -^docs/man1/
> -^docs/man5/
> -^docs/pdf/.*$
> -^docs/ps/.*$
> -^docs/user/WARNINGS$
> -^docs/user/images\.pl$
> -^docs/user/images\.tex$
> -^docs/user/img1\.png$
> -^docs/user/img2\.png$
> -^docs/user/img3\.png$
> -^docs/user/index\.html$
> -^docs/user/internals\.pl$
> -^docs/user/labels\.pl$
> -^docs/user/user\.css$
> -^docs/user/user\.html$
> -^docs/txt/.*$
> -^docs/xen-api/vm_lifecycle.eps$
> -^docs/xen-api/xenapi-datamodel-graph.eps$
> -^docs/xen-api/xenapi.out$
> -^extras/mini-os/include/list\.h$
> -^extras/mini-os/include/mini-os$
> -^extras/mini-os/include/x86/mini-os$
> -^extras/mini-os/include/xen$
> -^extras/mini-os/mini-os.*$
> -^install/.*$
> -^linux-[^/]*-paravirt/.*$
> -^linux-2.6[^/]*/.*$
> -^linux-[^/]*-rc/.*$
> -^linux-[^/]*-tip/.*$
> -^linux-[^/]*-git/.*$
> -^linux-[^/]*\.patch$
> -^mkddbxen$
> -^netbsd-[^/]*-tools/.*$
> -^netbsd-[^/]*-xen0/.*$
> -^netbsd-[^/]*-xenU/.*$
> -^netbsd-[^/]*\.patch$
> -^patches/.*/\.makedep$
> -^patches/ebtables-brnf-5_vs_2\.4\.25\.diff$
> -^patches/ebtables\.diff$
> -^patches/tmp/.*$
> -^pristine-.*$
> -^ref-.*$
> -^tmp-.*$
> -^stubdom/autom4te\.cache$
> -^stubdom/binutils-.*$
> -^stubdom/config\.log$
> -^stubdom/config\.status$
> -^stubdom/config\.cache$
> -^stubdom/cross-root-.*$
> -^stubdom/gcc-.*$
> -^stubdom/include$
> -^stubdom/ioemu$
> -^stubdom/xenstore$
> -^stubdom/libxc-.*$
> -^stubdom/lwip-.*$
> -^stubdom/mini-os-.*$
> -^stubdom/mk-headers-.*$
> -^stubdom/newlib-.*$
> -^stubdom/pciutils-.*$
> -^stubdom/zlib-.*$
> -^stubdom/grub-.*$
> -^stubdom/polarssl-.*$
> -^stubdom/gmp-.*$
> -^stubdom/tpm_emulator-.*$
> -^stubdom/ocaml-.*$
> -^stubdom/lwip/
> -^stubdom/ioemu/
> -^stubdom/stubdompath\.sh$
> -^stubdom/vtpm/vtpm_manager\.h$
> -^tools/.*/build/lib.*/.*\.py$
> -^tools/check/\..*$
> -^tools/console/xenconsole$
> -^tools/console/xenconsoled$
> -^tools/debugger/gdb/gdb-6\.2\.1-linux-i386-xen/.*$
> -^tools/debugger/gdb/gdb-6\.2\.1/.*$
> -^tools/debugger/gdb/gdb-6\.2\.1\.tar\.bz2$
> -^tools/debugger/gdbsx/gdbsx$
> -^tools/debugger/kdd/kdd$
> -^tools/debugger/xenitp/xenitp$
> -^tools/firmware/.*/biossums$
> -^tools/firmware/.*\.bin$
> -^tools/firmware/.*\.sym$
> -^tools/firmware/.*bios/.*bios.*\.txt$
> -^tools/firmware/etherboot/eb-roms\.h$
> -^tools/firmware/etherboot/ipxe/.*$
> -^tools/firmware/etherboot/ipxe\.git/.*$
> -^tools/firmware/extboot/extboot.img$
> -^tools/firmware/extboot/signrom$
> -^tools/firmware/hvmloader/acpi/mk_dsdt$
> -^tools/firmware/hvmloader/acpi/dsdt.*\.c$
> -^tools/firmware/hvmloader/acpi/dsdt_.*\.asl$
> -^tools/firmware/hvmloader/acpi/ssdt_.*\.h$
> -^tools/firmware/hvmloader/hvmloader$
> -^tools/firmware/hvmloader/roms\.inc$
> -^tools/firmware/rombios/BIOS-bochs-[^/]*$
> -^tools/firmware/rombios/_rombios[^/]*_\.c$
> -^tools/firmware/rombios/rombios[^/]*\.s$
> -^tools/firmware/rombios/32bit/32bitbios_flat\.h$
> -^tools/firmware/vgabios/vbetables-gen$
> -^tools/firmware/vgabios/vbetables\.h$
> -^tools/firmware/xen-dir/.*\.old$
> -^tools/firmware/xen-dir/linkfarm.stamp.*$
> -^tools/firmware/xen-dir/xen-root$
> -^tools/firmware/xen-dir/xen-shim$
> -^tools/firmware/xen-dir/xen-shim-syms$
> -^tools/flask/utils/flask-getenforce$
> -^tools/flask/utils/flask-get-bool$
> -^tools/flask/utils/flask-loadpolicy$
> -^tools/flask/utils/flask-setenforce$
> -^tools/flask/utils/flask-set-bool$
> -^tools/flask/utils/flask-label-pci$
> -^tools/fs-back/fs-backend$
> -^tools/hotplug/common/hotplugpath\.sh$
> -^tools/include/xen/.*$
> -^tools/include/xen-foreign/.*\.(c|h|size)$
> -^tools/include/xen-foreign/checker$
> -^tools/libxl/_.*\.h$
> -^tools/libxl/_.*\.c$
> -^tools/libxl/libxlu_cfg_y\.output$
> -^tools/libxl/xl$
> -^tools/libxl/libxl-save-helper$
> -^tools/libxl/testidl$
> -^tools/libxl/testidl\.c$
> -^tools/libxl/tmp\..*$
> -^tools/libxl/.*\.new$
> -^tools/libxl/_libxl\.api-for-check
> -^tools/libxl/libxl\.api-ok
> -^tools/libvchan/vchan-node[12]$
> -^tools/misc/cpuperf/cpuperf-perfcntr$
> -^tools/misc/cpuperf/cpuperf-xen$
> -^tools/misc/xc_shadow$
> -^tools/misc/xen_cpuperf$
> -^tools/misc/xen-detect$
> -^tools/misc/xen-hptool$
> -^tools/misc/xen-hvmcrash$
> -^tools/misc/xen-tmem-list-parse$
> -^tools/misc/xenperf$
> -^tools/misc/xenpm$
> -^tools/misc/xen-hvmctx$
> -^tools/misc/xen-lowmemd$
> -^tools/misc/xenlockprof$
> -^tools/misc/xencov$
> -^tools/pygrub/build/.*$
> -^tools/python/build/.*$
> -^tools/python/xen/util/path\.py$
> -^tools/python/xen/lowlevel/xl/_pyxl_types.c
> -^tools/python/xen/lowlevel/xl/_pyxl_types.h
> -^tools/remus/imqebt/imqebt$
> -^tools/remus/kmod/.*(\.cmd|\.mod|\.ko|\.mod\.c|\.symvers|\.xen)$
> -^tools/security/secpol_tool$
> -^tools/security/xen/.*$
> -^tools/security/xensec_tool$
> -^tools/tests/x86_emulator/blowfish\.bin$
> -^tools/tests/x86_emulator/blowfish\.h$
> -^tools/tests/x86_emulator/test_x86_emulator$
> -^tools/tests/x86_emulator/x86_emulate$
> -^tools/tests/regression/installed/.*$
> -^tools/tests/regression/build/.*$
> -^tools/tests/regression/downloads/.*$
> -^tools/tests/xen-access/xen-access$
> -^tools/tests/mem-sharing/memshrtool$
> -^tools/tests/mce-test/tools/xen-mceinj$
> -^tools/vtpm/tpm_emulator-.*\.tar\.gz$
> -^tools/vtpm/tpm_emulator/.*$
> -^tools/vtpm/vtpm/.*$
> -^tools/vtpm_manager/manager/vtpm_managerd$
> -^tools/xcutils/lsevtchn$
> -^tools/xcutils/xc_restore$
> -^tools/xcutils/xc_save$
> -^tools/xcutils/readnotes$
> -^tools/misc/xenwatchdogd$
> -^tools/xenfb/sdlfb$
> -^tools/xenfb/vncfb$
> -^tools/xenmon/xentrace_setmask$
> -^tools/xenmon/xenbaked$
> -^tools/xenpaging/xenpaging$
> -^tools/xenpmd/xenpmd$
> -^tools/xenstat/xentop/xentop$
> -^tools/xenstore/testsuite/tmp/.*$
> -^tools/xenstore/init-xenstore-domain$
> -^tools/xenstore/xen$
> -^tools/xenstore/xenstore$
> -^tools/xenstore/xenstore-chmod$
> -^tools/xenstore/xenstore-exists$
> -^tools/xenstore/xenstore-list$
> -^tools/xenstore/xenstore-read$
> -^tools/xenstore/xenstore-rm$
> -^tools/xenstore/xenstore-write$
> -^tools/xenstore/xenstore-control$
> -^tools/xenstore/xenstore-ls$
> -^tools/xenstore/xenstore-watch$
> -^tools/xenstore/xenstored$
> -^tools/xenstore/xenstored_test$
> -^tools/xenstore/xs_crashme$
> -^tools/xenstore/xs_random$
> -^tools/xenstore/xs_stress$
> -^tools/xenstore/xs_tdb_dump$
> -^tools/xenstore/xs_test$
> -^tools/xenstore/xs_watch_stress$
> -^tools/xentrace/xentrace_setsize$
> -^tools/xentrace/tbctl$
> -^tools/xentrace/xenctx$
> -^tools/xentrace/xentrace$
> -^tools/firmware/ovmf-remote
> -^tools/firmware/ovmf$
> -^tools/qemu-xen-traditional-dir-remote
> -^tools/qemu-xen-traditional-dir$
> -^tools/qemu-xen-dir-remote
> -^tools/qemu-xen-dir$
> -^tools/firmware/seabios-dir-remote
> -^tools/firmware/seabios-dir$
> -^tools/ocaml/.*/.*\.annot$
> -^tools/ocaml/.*/.*\.cmx?a$
> -^tools/ocaml/.*/META$
> -^tools/ocaml/.*/\.ocamldep\.make$
> -^tools/ocaml/libs/xl/_libxl_types\.ml\.in$
> -^tools/ocaml/libs/xl/_libxl_types\.mli\.in$
> -^tools/ocaml/libs/xl/_libxl_types\.inc$
> -^tools/ocaml/libs/xl/xenlight\.ml$
> -^tools/ocaml/libs/xl/xenlight\.mli$
> -^tools/ocaml/xenstored/oxenstored$
> -^tools/ocaml/test/xtl$
> -^tools/ocaml/test/send_debug_keys$
> -^tools/ocaml/test/list_domains$
> -^tools/autom4te\.cache$
> -^tools/config\.h$
> -^tools/config\.log$
> -^tools/config\.status$
> -^tools/config\.cache$
> -^config/Tools\.mk$
> -^config/Stubdom\.mk$
> -^config/Docs\.mk$
> -^xen/\.banner.*$
> -^xen/System.map$
> -^xen/arch/arm/asm-offsets\.s$
> -^xen/arch/arm/xen\.lds$
> -^xen/arch/x86/asm-offsets\.s$
> -^xen/arch/x86/boot/mkelf32$
> -^xen/arch/x86/xen\.lds$
> -^xen/arch/x86/boot/reloc\.S$
> -^xen/arch/x86/boot/reloc\.bin$
> -^xen/arch/x86/boot/reloc\.lnk$
> -^xen/arch/x86/efi\.lds$
> -^xen/arch/x86/efi/check\.efi$
> -^xen/arch/x86/efi/disabled$
> -^xen/arch/x86/efi/mkreloc$
> -^xen/ddb/.*$
> -^xen/include/headers\.chk$
> -^xen/include/asm$
> -^xen/include/asm-.*/asm-offsets\.h$
> -^xen/include/compat/.*$
> -^xen/include/hypervisor-ifs/arch$
> -^xen/include/linux$
> -^xen/include/public/public$
> -^xen/include/xen/.*\.new$
> -^xen/include/xen/acm_policy\.h$
> -^xen/include/xen/banner\.h$
> -^xen/include/xen/compile\.h$
> -^xen/tools/figlet/figlet$
> -^xen/tools/symbols$
> -^xen/xsm/flask/include/av_perm_to_string\.h$
> -^xen/xsm/flask/include/av_permissions\.h$
> -^xen/xsm/flask/include/class_to_string\.h$
> -^xen/xsm/flask/include/flask\.h$
> -^xen/xsm/flask/include/initial_sid_to_string\.h$
> -^xen/xen$
> -^xen/xen-syms$
> -^xen/xen\..*$
> -^LibVNCServer.*
> diff --git a/.hgsigs b/.hgsigs
> deleted file mode 100644
> index 7dc4a6128279..000000000000
> --- a/.hgsigs
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -2a60be40e2cb2a3c62836e690927588c3e31d01c 0 iQEcBAABAgAGBQJNLxyGAAoJEIP+FMlX6CvZUjIH/1R0TcK4zBLl1FdXWF/LnOW+HgezYywSRHuJqNur6TweqVqKxnM6gCqjRvlGOrtWOhtEVnb3FmR7pRX4dEiQnBdO//b30ZbU8zOKvDlB7Pa0U81pcD19tloycV+LbHgulVxXnZXeQRTP/eLsUKTM4GKiqvDNN3EPdZADJyz+0MLf/BCJipXVkgmzbFefFlBDRtw05BGE899kiObqoA6LnPPVvZxBqW4nNxeYR6nK7mgps9RRrgMnt9fyPmSN0+ME1nxhfl6Gd9p9109S5ujHwnzwgO/5X+OQF/F0i1SQVvXsGQyM5eE/ZxHEpEKqtFyWPEIk4/eFLsqmdPAAr5XERaw=
> -9dca60d88c630fcc7a07ad68fd3a0dce02aee646 0 iQEcBAABAgAGBQJNPtkLAAoJEIP+FMlX6CvZzPMH/Rwsp62u3DXfzune2FBh6WjJerPusvkkhfogDc21Mfy7ed/rJfr2ovLYdiJhc7Ml5F51rLc/1d2FshiCDB9x5nVGyKSx9VfWew6fU/YI5wc2BiQg47d9WM6WI8kP07E51c+ML9nQu9QOE4xI0JpFy2u1jByJtG/Wy9qgLwvhK1OoCjs0Z9/R9h5rvWhi61GpQ1z04/FdMRn0JqSOy7nLb4qWmXrNg5LfddJl63yNcK08HfHyp+KtnrLMNei8T8TKEAv3amC29h2t5xMmVsGMkfakjLuC3k9Jirn29YP25QHNqz405rH3aimFbVnIfwelNW7y+/5jfJ4r8Fnt8Oq0+Y4=
> -e7b31cc0093c6002effce7d038e929d936ed023f 0 iQEcBAABAgAGBQJNRvWqAAoJEIP+FMlX6CvZwYMH/2TbgdFOUQbzBCp1WgKHA2foq+KFBAl72uyOm3SPeaZID8mGe+jySnZj1zTgdZkuZv3sC510Hsl0EbJ+0cXtdvMemLuZHusRGzvP1cY3fWW6Ltme1EkFlsqEI3opO+mourSo8GVC/BnMqOl7fV8vpGv72BDqXQ/bBM8qgLnYeWN0yale7soR8Akpp27gNcivUUqKSerusHvIYV1mBl9Xg3mfQTCxR+bmM6lp4SXje38wWnqzAEWd5v9YpGKNacc0ca5mxJGz6t+dmr7PSdR5puYsSVU0CK3aWoL8jxGzT/caw03l5dboMaRbBWSD2R0UeZEG4B1C3aXFE9aiBV2I/No=
> -8df0c7f9cda6cb271a1414114e26f72e1d93a69a 0 iQEcBAABAgAGBQJNVB85AAoJEIP+FMlX6CvZ+aAIAL/+olR1XkxMyQyQlhV6pc9IPONHsUF1+xGcl1p3MRZCk32rNhdCM1NTMEW695Q9CRZ1/aZpCVJKSMNuuA3k6KEFEpyOMmAgWqRUgo7mMS/Jrp2qS0JCkKshQ3SoCJLsa6ENIJLKI/T4ZlUHTAK7MMfg7XjPLgHZU/l84LnpRDSfr8TeoQq4lcWYkAV+ra0VW0KXl1QrV5hMEmZAKqLhKHRYyRKgg3ZM81OHthe+zE8OUOd/yADxvwaovfai6c0wKoyHuRCi9Rzbp/aJbVFBkdDvZqhSWxq+IykC6MI/Yu3BlCTvwKVRgoYOtHJ4twjxln5qw+BExFZo3JfL16jQ6dE=
> -d2d27d989ebce4325575f871415337cc54891dde 0 iQEcBAABAgAGBQJNXBYbAAoJEIP+FMlX6CvZTGIH/2bxz3UrQNNwsUMmx5tNKwoAzmTjX5IjpsibwZgIlWFTpZhmbdAK5jvUVdPgmAURgPUHIkcic9MRfXZepzqxEyE/zz2itCcDE6oo1ibb2cwn54c2RlHhcweaDzEDroRfcGZ2tEWXIjTEAyNwlhy9IQZ9wC3XAA0wTwXoHx7o9fUs3WSFahr+Cz93w/sc7uQ6LK52WvVvUd7UflSEx2X4uACDknxbKucG6POCxnQ3A+eVXJmdnHak5c+ySsjwu+fHiQ3/ca0JY1RlEF+8NT+aFobZ51kr7acCmFDvOsGd7h6hhgNVe0mujq5pyooklA4qW83/VudS/jOVPnSt+cGhBpE=
> -7b6791dbfecdb2eba6acd2c8bf0ced17d06746b2 0 iQEcBAABAgAGBQJNa9NOAAoJEIP+FMlX6CvZK+sH/REZ7jV0iWnDbvfPgdl/KlxEVvj4LsmLFAVBa0sEHa8ih+THp3C8Bso7izIs424y667QH6Pq+wAiB5TELOOHRsp6VV5AxYXuNF1Vw9xD9YGUQ5ECAIfc9gldfZZAv4QZayHOgdz4zRnMOrO1D8rqNDVO7BcgNutgf25WtrLsg+mxxyLjcA9Q5Q7a6dY1WSzzSf6beOW9MLh6Hy2pGTzO3CcS6M0Aa6sXZKisy7CWMOueAbwSmRBmw3il1oM62I44ovAJUxBvLTQZm0mNPzeq0IP59rLrGzdhZ76+iE47GK/zGjcC7o/jSQUy6xhuUwgcx3PdB8vzJzNsz6p8mIR+UKo=
> -6241fa0ad1a939d2eba11bdec929564276f56a9e 0 iQEcBAABAgAGBQJNcSJqAAoJEIP+FMlX6CvZbxEH/206722t0t46MfPq0/buPpQDNiB0HtFZY79u1Yc8xGTo23rQ2NTG10JdCurN2pyxwFesiSIZ4Ua3zqpZ0EA2EN6xAFY9Vua4WEPNJwK8pxxWABcHI017QTidQs41bEaUn92yyfmixq6iYCGvR+b46KWbip/i9Z6vZpw0g3JyOaxgAhkA+p4w90yUIKUkjTrtiuqnI31MUQE0urwWAXQUj78knrqEu3wb91+me1KLH9WzReBB7tt3/GmaK4qSdnHNpIkulVK0XJYzFkJzFr5eHVeYTGFb25Sgir2sIN2gxaCPI3/p90akFMJKmeNV5XCmOQ5g2GWUZTff8LGF6Fk0Me8=
> -8e620dc570ce42564c1630de5798e23909ee809c 0 iQEcBAABAgAGBQJQFqUYAAoJEIP+FMlX6CvZDGEH/jxUFG29okRASHY6XwFrJ4AU7tLyC8Bt2vAH3ZaA/h1Tn2GWkQXf4tzBAvvwWNBrm1hdj73OaB7dD2l2kvL551AhoSd4/5z+pPtpC72ItwFFTr3Ep9GRZEvEHculuei5IUzw1lxZuNCPCScBxQl+KI+dZHIeP0YO46VZTtG+EeBlj0SJ7JojKN4REd382eIgSLvpEFHCM6vqeCWM9FtDyomiMXdSosDLcWdFauFmV7cdWybA5WPj6bkJenABwX0A1V9uf225S0DTdO0t/7ncZ8h+wXTzqiixywA+lqza+u+HzNyopWmwiFcseFZjuHbKx6M2v0EvKPBcyTgdRZF/+Kg=
> -f4c47bcc01e13cb2e3b4b71fd588d86278875442 0 iQEcBAABAgAGBQJQIpupAAoJEIP+FMlX6CvZnBwH/3qlibrquTmD2p3rcdVi/JkWixaKK3KH4Ows/76sAJYCdx9YkmtkgC4zyz5aph4Rfy7dYnQIUhbwNNdZNBDd0XOVkjQm0ZX1wQjv3yA3Eq9NOUDmfFWldF+oosOG3h/+MLm/36CkB7gFku1ENQ8kagytXe4rN3QdOiJ9Rz84BAv6nJoT/1OX+m+MlBs948orC23aNEfWxrsrv2s92v5fJcAfSLW/AtER2JnASIxWECJ/TOkuHtrO2QPoBymSnifM2R624L+ySwRxSxo+Owfpooje5eekk0ekifvdYtaJ3pOfoOCv8yGEtb7mXv62WowVkasUZa/q+rGdVpHuK0UlBjI=
> -d44f290e81df5f78f0e3545742e3c4ff5415b0a7 0 iQEcBAABAgAGBQJQNji7AAoJEIP+FMlX6CvZvBcIAJPiA6ydvolYCvZsfGgafqCpcpG3f+PbUOwQRWfUcaKHPWFKnwRkmx9MAP9tEjXFNZcbimktDrofmee6XfLb8NLnCcHWZT8trRXYTNw2lM6DpK+AROUpAcShF3gCHQEtCJC6+NArD75aUkUji3awbGlhplHbyWvgvSSULhga+2xfYszRC7eI/g+7/f4JNkvqeWllAtd9fwftXaGhQi2V4LT5IimpJI7PivlDi0wi+BtqXHcmZhlnw3zpR51NRujsMVTNZMqe733kGdt8Y8j3vvsfXBye4+YAkEKFrzW3jTYlA9ws71oNVvWmwmOjOHpx6ASfquP3hhAoiHvb2c6Wims=
> -68640a3c99cefa86ae70fc49871025864e5671f2 0 iQEcBAABAgAGBQJQSdgUAAoJEIP+FMlX6CvZeWUH/1SeYnKXtkt7n+WuMyF2LvCzZQApmOo+hqVB7m0Pe4Yh9bEq1PAE+sJOAoQIBklCpY3WFsNGQN8yIbYyWRzbIM7oavknwoUoSn50zMk12HczqHigXvhL/eOghRKNsK9BrQnRV+byNHRjzSHPReNxpzueKBOTrCMlXtYMDb94swc+hatEDItT4TwZcaNPri3kiWND0DPmOk58Ke96ml9rpomS1ff976hYAZl+N1Q3Pt998SXiaglZ9EeL0Y8cY759XqZII4D4o6/oQW8MzWrQZr4woHHU7MfK3OWslelzP486esHyyjotEWeelhgl/RjIl0crNBbmCWU15BOAw7wSZh4=
> diff --git a/.hgtags b/.hgtags
> deleted file mode 100644
> index e9fddab036d8..000000000000
> --- a/.hgtags
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -42882b3e0dda89f3a8ec00da568f86e9b3c230f1 RELEASE-2.0.0
> -475a162b66e2c19b1e9468b234a4ba705334905e RELEASE-2.0.1
> -dc2f08429f17e6614fd2f1ab88cc09ca0a850f32 RELEASE-2.0.2
> -6e1bbc13911751efa0b1c018425c1b085820fa02 RELEASE-2.0.3
> -fb875591fd72e15c31879c0e9034d99b80225595 RELEASE-2.0.4
> -1a522944f76540ea9d73fcc1b0d13d0f670183f0 RELEASE-2.0.5
> -2a5814ad2e5634a5fa291b703a152e7fc0b4faf0 RELEASE-2.0.6
> -487b2ee37d1cecb5f3e7a546b05ad097a0226f2f beta1
> -6a65fe0f84c8339b5b89362d0ec34d8abab752b0 ia64-stable
> -3d330e41f41ce1bc118c02346e18949ad5d67f6b latest-semistable
> -30c521db4c71960b0cf1d9c9e1b658e77b535a3e latest-stable
> -9afec5bc14aeb197ef37ea54a57eacd427463fc3 semistable
> -30c521db4c71960b0cf1d9c9e1b658e77b535a3e split-1.0
> -3d330e41f41ce1bc118c02346e18949ad5d67f6b split-1.1
> -c8fdb0caa77b429cf47f9707926e83947778cb48 RELEASE-3.0.0
> -af0573e9e5258db0a9d28aa954dd302ddd2c2d23 3.0.2-rc
> -d0d3fef37685be264a7f52201f8ef44c030daad3 3.0.2-branched
> -6ed4368b4a9e1924c983774c4b1a2b6baf8e98a6 3.0.3-branched
> -057f7c4dbed1c75a3fbe446d346cee04cff31497 3.0.4-branched
> -d2ef85c6bf84cc619ca2d42c2edfc6229e70a6ad 3.1.0-branched
> -bd3d6b4c52ec809f080c89c4ffcf61dc6e445978 sparse-tree-deprecated
> -1f0c6e0d74a4acc1d3796ff705adc8485eba9377 3.2.0-rc1
> -458dc123dd02d38aaa9acb513d6f237a1c6e967e 3.2.0-rc2
> -ed79613b48817d5e0d1f9b3cf104c0e4e8b0d8cf 3.2.0-rc3
> -c5deb251b9dcece9e466a48a66d3528ca1797db4 3.2.0-rc4
> -36bb2ab4722733d919d32e4555eb46cc6a06cb8f 3.2.0-rc5
> -9facc624a238f2b9437b07fa28ff65884aa867f2 3.2.0-rc6
> -c3494402098e26507fc61a6579832c0149351d6a 3.3.0-rc1
> -dde12ff94c96331668fe38a7b09506fa94d03c34 3.3.0-rc2
> -57fca3648f25dcc085ee380954342960a7979987 3.3.0-rc3
> -96d0a48e87ee46ba7b73e8c906a7e2e0baf60e2e 3.3.0-rc4
> -b4dba6a0e97cb6dd080fa566468e3cc972c34d7a 3.3.0-rc5
> -bc372510f1794ee41a8b0501cc84f8a65d05e094 3.3.0-rc6
> -daf1193bcd11345d566a4747fe1f12c90b44452c 3.3.0-rc7
> -1e99ba54035623731bc7318a8357aa6a118c5da1 3.3.0-branched
> -d611d9ac6d0271b53eb1d4e5d0c4ef20b269eea8 3.4.0-rc1
> -087854cf3ed9e30ce6bcf7499c9675b759e1e9e7 3.4.0-rc2
> -22e01301ff64c6f9f835f604523ac019f0f5e993 3.4.0-rc3
> -67b5ad8ae87e64159807374ad66d5b5b2fb2ca1f 4.0.0-rc1
> -e5e4573bcaba68a8b93a35768c825c1e8daa23be 4.0.0-rc2
> -7d565d58f49859a2161f0e74844773d3b3312634 4.0.0-rc3
> -912295f1b1f30307975c7514569f6f9c8faae4a7 4.0.0-rc4
> -92f2ee87e5018073edc08734b425bc60bcd80bcd 4.0.0-rc5
> -b4a1832a916f1e8f2aa2ad5b1efa155f9dd0cb4f 4.0.0-rc6
> -ec8f2e7dea44905eb86bb794516506451e4771cb 4.0.0-rc7
> -542211ba675c74813ed0df3be686d7cd201e82e9 4.0.0-rc8
> -91232efdcfdcfb6402b4c0e3724716655ee42af6 4.0.0-branched
> -2a60be40e2cb2a3c62836e690927588c3e31d01c 4.1.0-rc1
> -9dca60d88c630fcc7a07ad68fd3a0dce02aee646 4.1.0-rc2
> -e7b31cc0093c6002effce7d038e929d936ed023f 4.1.0-rc3
> -8df0c7f9cda6cb271a1414114e26f72e1d93a69a 4.1.0-rc4
> -d2d27d989ebce4325575f871415337cc54891dde 4.1.0-rc5
> -7b6791dbfecdb2eba6acd2c8bf0ced17d06746b2 4.1.0-rc6
> -6241fa0ad1a939d2eba11bdec929564276f56a9e 4.1.0-branched
> -8e620dc570ce42564c1630de5798e23909ee809c 4.2.0-rc1
> -f4c47bcc01e13cb2e3b4b71fd588d86278875442 4.2.0-rc2
> -d44f290e81df5f78f0e3545742e3c4ff5415b0a7 4.2.0-rc3
> -68640a3c99cefa86ae70fc49871025864e5671f2 4.2.0-rc4
> -528f0708b6db392e10303b7ed2ab529bb8b512b7 4.2.0-branched
> 
> base-commit: cd36188b2762a05c322a5f56bcfce59c2d9cac2e

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 14:52:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 14:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586380.917601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX0pW-0005o5-35; Fri, 18 Aug 2023 14:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586380.917601; Fri, 18 Aug 2023 14: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 1qX0pW-0005ny-09; Fri, 18 Aug 2023 14:52:02 +0000
Received: by outflank-mailman (input) for mailman id 586380;
 Fri, 18 Aug 2023 14:52: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 1qX0pU-0005nm-EF; Fri, 18 Aug 2023 14:52: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 1qX0pU-0003lS-DE; Fri, 18 Aug 2023 14:52: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 1qX0pU-0007B3-34; Fri, 18 Aug 2023 14:52:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX0pU-0003Ma-2g; Fri, 18 Aug 2023 14:52: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=jl8UabBgtg4LahbFtk5DMD64efxeY87dXvZXj1tBgnA=; b=V+05yTc1XyD0o5zQzC8CKgzBG3
	IUAh2VvB4/CvjRGLD187J/Qy/+EmKX6qzAeR7Cqn+MGdZ0mcgu1JRGEIWdjj5sA+AmDyjJggUYKA+
	QgUX70tfnIgNzV92pc9ZNYzHRhf4Z6zmqZ2UwDIDOEf9bOejlgiOHqmSON5kwI8gn/lM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182383-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182383: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=48089f3a7cdf308651234f5bf8d8a301f4b8acf9
X-Osstest-Versions-That:
    ovmf=eaffa1d7ff915d5af484e5e230a4dde41e4b9a00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 14:52:00 +0000

flight 182383 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182383/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 48089f3a7cdf308651234f5bf8d8a301f4b8acf9
baseline version:
 ovmf                 eaffa1d7ff915d5af484e5e230a4dde41e4b9a00

Last test of basis   182331  2023-08-14 15:12:20 Z    3 days
Testing same since   182383  2023-08-18 12:42:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin KĂ¶hne <corvink@FreeBSD.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   eaffa1d7ff..48089f3a7c  48089f3a7cdf308651234f5bf8d8a301f4b8acf9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:18:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586389.917612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1Ed-00009e-UF; Fri, 18 Aug 2023 15:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586389.917612; Fri, 18 Aug 2023 15:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1Ed-00009W-Qg; Fri, 18 Aug 2023 15:17:59 +0000
Received: by outflank-mailman (input) for mailman id 586389;
 Fri, 18 Aug 2023 15: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=Tvj9=ED=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1qX1Ec-00009Q-K5
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:17:58 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 687faa61-3dda-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 17:17:57 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (66.187.233.73 [66.187.233.73]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-196-5-27UoemOiOs2Fduap4kdQ-1; Fri, 18 Aug 2023 11:17:51 -0400
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 20E303C0FCB2;
 Fri, 18 Aug 2023 15:17:50 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.59])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id B651F492C13;
 Fri, 18 Aug 2023 15:17: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: 687faa61-3dda-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692371875;
	h=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=YU3tvQdVlHQciX3Nq3RK032672rmTsk7259azx2Vokk=;
	b=EckkSJN8Y0N5fiP6mXKYJJSHsFBupQz5nCcuaCydDXbvJRBZCdmlwxN7Bx8GJ7n3sntW64
	rz8V9OB4ePgHtGEwdJexTuZoDQ0nzCEzl9DEKmhJDPtCDNSbTTTgjvGxuqPjSXM+oJ59kc
	eS2w1sPhwGHN6NmF4pO4SHrSB9YB9Yk=
X-MC-Unique: 5-27UoemOiOs2Fduap4kdQ-1
Date: Fri, 18 Aug 2023 10:17:46 -0500
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, 
	Fam Zheng <fam@euphon.net>, xen-devel@lists.xenproject.org, 
	Anthony Perard <anthony.perard@citrix.com>, Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Julia Suvorova <jusual@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Aarushi Mehta <mehta.aaru20@gmail.com>, 
	Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, Ilya Maximets <i.maximets@ovn.org>
Subject: Re: [PATCH v2 3/4] virtio: use defer_call() in virtio_irqfd_notify()
Message-ID: <jvjrraxyqppcijrfrrkjycmel6yynie2ovymz6rukgrmppjbnf@l77gohyzccin>
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-4-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230817155847.3605115-4-stefanha@redhat.com>
User-Agent: NeoMutt/20230517
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10

On Thu, Aug 17, 2023 at 11:58:46AM -0400, Stefan Hajnoczi wrote:
> virtio-blk and virtio-scsi invoke virtio_irqfd_notify() to send Used
> Buffer Notifications from an IOThread. This involves an eventfd
> write(2) syscall. Calling this repeatedly when completing multiple I/O
> requests in a row is wasteful.
> 
> Use the defer_call() API to batch together virtio_irqfd_notify() calls
> made during thread pool (aio=threads), Linux AIO (aio=native), and
> io_uring (aio=io_uring) completion processing.
> 
> Behavior is unchanged for emulated devices that do not use
> defer_call_begin()/defer_call_end() since defer_call() immediately
> invokes the callback when called outside a
> defer_call_begin()/defer_call_end() region.
> 
> fio rw=randread bs=4k iodepth=64 numjobs=8 IOPS increases by ~9% with a
> single IOThread and 8 vCPUs. iodepth=1 decreases by ~1% but this could
> be noise. Detailed performance data and configuration specifics are
> available here:
> https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd
> 
> This duplicates the BH that virtio-blk uses for batching. The next
> commit will remove it.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  block/io_uring.c   |  6 ++++++
>  block/linux-aio.c  |  4 ++++
>  hw/virtio/virtio.c | 11 ++++++++++-
>  util/thread-pool.c |  5 +++++
>  4 files changed, 25 insertions(+), 1 deletion(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:19:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:19:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586396.917622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1GL-0000ll-CA; Fri, 18 Aug 2023 15:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586396.917622; Fri, 18 Aug 2023 15: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 1qX1GL-0000le-8b; Fri, 18 Aug 2023 15:19:45 +0000
Received: by outflank-mailman (input) for mailman id 586396;
 Fri, 18 Aug 2023 15:19: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=Tvj9=ED=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1qX1GJ-0000lR-Bs
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:19:43 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6b38e55-3dda-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 17:19:41 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-495-VpOQ1T_ZOICmNKsOMHtpTw-1; Fri, 18 Aug 2023 11:19:34 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C3D7585CBE0;
 Fri, 18 Aug 2023 15:19:33 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.59])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 82B4040C207B;
 Fri, 18 Aug 2023 15:19: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: a6b38e55-3dda-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1692371980;
	h=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=gFBq2wGBBrUe8nXH4yL+5rM1n+MrJZ5UlGLmB9Nu/Mc=;
	b=ZvZEXpuLkph063ujhWws3Boxk0E2snwvaSd1wwWSVU4pw/JsLoXBe9XHRBRES3kNFI+AMj
	yO8nYwotGZdHyyo21fe/eqCPDPkggF5vvS9kgj9LMJZfGD0YWahWhaZAWdtawCT11nMPe0
	ppu3EQ4ysjHx6VXlXnS+4MZfjJq4W14=
X-MC-Unique: VpOQ1T_ZOICmNKsOMHtpTw-1
Date: Fri, 18 Aug 2023 10:19:30 -0500
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, 
	Fam Zheng <fam@euphon.net>, xen-devel@lists.xenproject.org, 
	Anthony Perard <anthony.perard@citrix.com>, Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Julia Suvorova <jusual@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Aarushi Mehta <mehta.aaru20@gmail.com>, 
	Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, Ilya Maximets <i.maximets@ovn.org>
Subject: Re: [PATCH v2 4/4] virtio-blk: remove batch notification BH
Message-ID: <em632jvoci4rz6vmexpvn2lk6a74mnguxib5znlneyyw7xceip@75mou55janlx>
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-5-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230817155847.3605115-5-stefanha@redhat.com>
User-Agent: NeoMutt/20230517
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

On Thu, Aug 17, 2023 at 11:58:47AM -0400, Stefan Hajnoczi wrote:
> There is a batching mechanism for virtio-blk Used Buffer Notifications
> that is no longer needed because the previous commit added batching to
> virtio_notify_irqfd().
> 
> Note that this mechanism was rarely used in practice because it is only
> enabled when EVENT_IDX is not negotiated by the driver. Modern drivers
> enable EVENT_IDX.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  hw/block/dataplane/virtio-blk.c | 48 +--------------------------------
>  1 file changed, 1 insertion(+), 47 deletions(-)
>

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:46:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586404.917632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1fk-0004bi-FO; Fri, 18 Aug 2023 15:46:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586404.917632; Fri, 18 Aug 2023 15: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 1qX1fk-0004bb-Bh; Fri, 18 Aug 2023 15:46:00 +0000
Received: by outflank-mailman (input) for mailman id 586404;
 Fri, 18 Aug 2023 15:44: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1eK-0004U2-0j
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:44:32 +0000
Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com
 [2607:f8b0:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1dab217b-3dde-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 17:44:29 +0200 (CEST)
Received: by mail-pg1-x536.google.com with SMTP id
 41be03b00d2f7-565dc391be3so1570730a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:44:29 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 23-20020a17090a199700b0025023726fc4sm3699654pji.26.2023.08.18.08.44.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:44: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: 1dab217b-3dde-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373468; x=1692978268;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yoKPQt7SzhQrSiLbmNTYbyhlm9v0/RXwYbxS/KR/BjA=;
        b=lKWegdzWzxEbBId8prkrk/0PUJx0J6UngAykt80jZFwssJf9MrUefegyfJwdU/AaSx
         vG5e/RjATfFyioMQvl4oYiQHTSGeAsJ9hKde9Mzk6PnMAFfs8JAjbrAwo7n8MUymsUfA
         tl7L7ko91Cpmqj7m2udMfhFVkRpBayaOG765RwJ6yRWpKx8RydCbLbfYDsIs6Ej00QRw
         geqg6RXTTCkrQIrcVbmVdU3bFG0J1OBCvVDkIqmeh2j429y/EDHGXTsGYxnrO2tIFhwJ
         1Kwt+t3PcbP/LfpHUxorcBqZfpjhsJIhA14R3BV4J/BhargNxbr1W6ht9UBJKS+Jqbx7
         QH3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373468; x=1692978268;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yoKPQt7SzhQrSiLbmNTYbyhlm9v0/RXwYbxS/KR/BjA=;
        b=lXN84kQh++VN6sYddMus/3pAG6yp6jkloVYTQe4wc11EbTkZ5Ub4f/5Ip4nVODLTZK
         m7poRLnNuVqe0Bhtj27hHoZDQT0cwjkvNKBkjNgSXDQ4cd3cDYSelkvDBEUh6u/NN8iL
         ShRYTkMBlpfn2Z/qHUKx8b/AMngZQmKYVmc7EaFjQRaqtc0H3LUyJp5PSRYFEOAaDwN5
         jyL8cDK6uNwpaVfXLsEMzHehPt2DDgx+oGlbO4OPKknbNH4IwNzih4uPYzCm6qvNTK3M
         PRoTOaz7pcR02iOCXWip5e80MyRGSxta8FvXStsdAb0v0ZUrZh5Ohc9LtE8elkF8J4T5
         +7PQ==
X-Gm-Message-State: AOJu0YyG/fHLaoCPHL9IXxvOYQFRfjd2Cm8CdwzoOokvXaZXp5/cvVOK
	paizPdZEd+A2jCGEXdWOswE=
X-Google-Smtp-Source: AGHT+IE4RPrW+yW83ETBhM2j6t3nZOc4KOuenAjU4AyqfSV5gx3ZE6qT6Xzizxfyxv1htBXoEFkEVw==
X-Received: by 2002:a17:90a:c38b:b0:26b:69c1:9a6a with SMTP id h11-20020a17090ac38b00b0026b69c19a6amr7779380pjt.20.1692373467688;
        Fri, 18 Aug 2023 08:44:27 -0700 (PDT)
Message-ID: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Date: Sat, 19 Aug 2023 00:44:05 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 0/6] x86/debug: fix guest dr6 value for single stepping and HW
 breakpoints
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Xen has a bug where hardware breakpoint exceptions (DR_TRAP<n>) are
erroneously recognized as single-stepping exceptions (DR_STEP).  This
interferes with userland debugging and allows (otherwise restricted)
usermode programs to detect Xen HVM (or PVH).  This patch series aim to
fix this.

The last patch is optional and finishes incomplete plumbing work
initiated by commit 21867648033d (x86/debug: Plumb pending_dbg through
the monitor and devicemodel interfaces, 2018-05-31).

The following Linux x86-64 program demonstrates the bug:

--- (snip) ---

#include <stddef.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <signal.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <stdio.h>

#define ABORT_ON_ERR(x) if ((x) == -1) abort();

int main(void)
{
    unsigned long cur_rip, cur_eflags, cur_dr6;
    int wstatus, exit_code;
    pid_t pid;

    ABORT_ON_ERR(pid = fork());
    if (pid == 0) {
        ABORT_ON_ERR(ptrace(PTRACE_TRACEME, 0, NULL, NULL));
        ABORT_ON_ERR(raise(SIGSTOP));
        _exit(0);
    }

    /* Wait for first ptrace event */
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!WIFSTOPPED(wstatus)) abort();

    /* Obtain current RIP value and perform sanity check */
    cur_rip = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.rip), &cur_rip);
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    assert(cur_dr6 == 0xffff0ff0UL);

    /* Set up debug registers and set EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags | 0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[0]), (void *)cur_rip));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)1L));

    /* Continue execution to trigger hardware breakpoint */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFSTOPPED(wstatus) && WSTOPSIG(wstatus) == SIGTRAP)) abort();

    /* Detect if Xen has tampered with DR6 */
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    fprintf(stderr, "DR6 = 0x%08lx\n", cur_dr6);
    if (cur_dr6 == 0xffff0ff1UL)
    {
        fputs("Running on bare-metal, Xen PV, or non-Xen VMM\n", stdout);
        exit_code = EXIT_FAILURE;
    }
    else
    {
        fputs("Running on Xen HVM\n", stdout);
        exit_code = EXIT_SUCCESS;
    }

    /* Tear down debug registers and unset EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags & ~0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)0L));

    /* Continue execution to let child process exit */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFEXITED(wstatus) && WEXITSTATUS(wstatus) == 0)) abort();

    return exit_code;
}

--- (snip) ---

Jinoh Kang (6):
  x86/hvm: only populate info->cr2 for #PF in hvm_get_pending_event()
  x86emul: rename field 'cr2' of struct x86_event to 'extra'
  x86: don't assume #DB is always caused by singlestep if EFLAGS.TF is
    set
  x86/pv: set DR_STEP if single-stepping after ro page fault emulation
  x86/pv: factor out single-step debug trap injection
  x86/debug: actually plumb pending_dbg through the monitor and
    devicemodel interfaces

 xen/arch/x86/hvm/dm.c                  |  2 +-
 xen/arch/x86/hvm/emulate.c             |  3 +-
 xen/arch/x86/hvm/hvm.c                 | 11 ++++--
 xen/arch/x86/hvm/svm/nestedsvm.c       |  2 +-
 xen/arch/x86/hvm/svm/svm.c             | 48 ++++++++++++++++++++------
 xen/arch/x86/hvm/vmx/vmx.c             | 40 ++++++++++++++-------
 xen/arch/x86/include/asm/domain.h      | 14 +++++++-
 xen/arch/x86/include/asm/hvm/hvm.h     | 14 +++++++-
 xen/arch/x86/mm/shadow/multi.c         |  5 +--
 xen/arch/x86/pv/emulate.c              |  5 +--
 xen/arch/x86/pv/ro-page-fault.c        |  3 +-
 xen/arch/x86/pv/traps.c                | 18 +++++++---
 xen/arch/x86/x86_emulate/x86_emulate.h |  6 ++--
 13 files changed, 128 insertions(+), 43 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:46:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586409.917642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1gP-00054i-NO; Fri, 18 Aug 2023 15:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586409.917642; Fri, 18 Aug 2023 15:46:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1gP-00054b-Km; Fri, 18 Aug 2023 15:46:41 +0000
Received: by outflank-mailman (input) for mailman id 586409;
 Fri, 18 Aug 2023 15:46: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1gP-00054Q-45
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:46:41 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a88522d-3dde-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 17:46:38 +0200 (CEST)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-268bc714ce0so1578154a91.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:46:38 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 o4-20020a17090a5b0400b00263b4b1255esm3403185pji.51.2023.08.18.08.46.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:46: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: 6a88522d-3dde-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373597; x=1692978397;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+jx5RSLTw30Nq5GpRjwoFyWLugIiYJY9y8Xx3gRG6sI=;
        b=dCCwD3hqVs7Yr2LWpptrZcV6PcAZ6BDxhAhTcBtu8PJarJv3MYUgOR/N0K/T4vjvNl
         k37JFTrgIXU59YjTnEUbCqDhDJHGDpd8+u5eMGknQZWC44BqeFPKzBg3vj9g8Bajw/GB
         gnQRQ9M2DkbXmDUwDS5jH296X2j5WeNaC23GH36Fwi/1AYwwM4OWtXN2S7gWCnc2iAGM
         aQQIabgHDo376lGK/006z/RQs3nWgJ5eRWtVYXDj7S3R+1vOS0yWUeEghVnmJHShO8bW
         iv81PvYVhlpyKaRsU/k0pZ+nR6EoI8znqGqgIVVgtTLiTTgMyhaCGjXhWY30Phpjiecg
         sc7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373597; x=1692978397;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+jx5RSLTw30Nq5GpRjwoFyWLugIiYJY9y8Xx3gRG6sI=;
        b=EZELB0xXh9CqfxUPIQO1v61nOIbvFhSh00nzbDZQ6vsV3oS9uVbdia+7fwz2qESwCN
         J3k1jmu+zyBQo539Po/ZvjRGSxW2ApgwkxKM5OkgFvTZaxJz5uJr92wBrO1OnzXGywgY
         je4aAq3roV8TlQQIflfWSIS6k24NEg/9Gwtxl/XvAwcz4cK5bauChnqDEqSC8lv0zPcr
         t0sa2+lX6DIpnRahkShR+w1SX/5HDveEqpmImkmSrTWSiB3doHlcv0DNqUIObazsyKfl
         FyPT5uxLC5pDSJ/+zeBHGaSkk5pN35fmbyO+24zXL82au/rzNS3kmuDVIWyNIevuinv6
         oBXA==
X-Gm-Message-State: AOJu0YwZmDorGcSeoC3OhD/uHSUVu9SGKD/BAxy5Fl50iflQjuEuuTUy
	oWyuupn/MD4UuF2n41LlbCM=
X-Google-Smtp-Source: AGHT+IFItXjWmD7PhztM9Z2UGCNDAzLriU9yJ3S5cvEVu8a73PjHzSAClc7U+oxddT87zvdBX+jUwA==
X-Received: by 2002:a17:90b:3908:b0:268:2f6:61c4 with SMTP id ob8-20020a17090b390800b0026802f661c4mr3888963pjb.12.1692373596701;
        Fri, 18 Aug 2023 08:46:36 -0700 (PDT)
Message-ID: <46162899-50bb-30ac-133f-90355706347b@gmail.com>
Date: Sat, 19 Aug 2023 00:46:05 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 1/6] x86/hvm: only populate info->cr2 for #PF in
 hvm_get_pending_event()
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Prepare for an upcoming patch that overloads the 'cr2' field for #DB.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/hvm/hvm.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a99c0ff20be..48a77524f198 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -502,9 +502,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
 
 static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
 {
-    info->cr2 = v->arch.hvm.guest_cr[2];
+    if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
+        return false;
+
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_PF )
+        info->cr2 = v->arch.hvm.guest_cr[2];
 
-    return alternative_call(hvm_funcs.get_pending_event, v, info);
+    return true;
 }
 
 void hvm_do_resume(struct vcpu *v)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:47:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586414.917652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1gr-0005Wq-W7; Fri, 18 Aug 2023 15:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586414.917652; Fri, 18 Aug 2023 15:47: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 1qX1gr-0005Wj-S9; Fri, 18 Aug 2023 15:47:09 +0000
Received: by outflank-mailman (input) for mailman id 586414;
 Fri, 18 Aug 2023 15:47:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1gr-00054Q-29
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:47:09 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bb83a46-3dde-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 17:47:07 +0200 (CEST)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-1bc8a2f71eeso8232065ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:47:07 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 n9-20020a170902e54900b001bde65894d5sm1927812plf.109.2023.08.18.08.47.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:47:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb83a46-3dde-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373626; x=1692978426;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YufZI707Ujs7/EHXRSsM3OL/ONxDf9+knc8Qd0VFQb0=;
        b=ANvSuiNqMBOnMC7iWNij8pcQeyH6Aq0GtjMwfSJfuoHrl20GNw17WE+HCJXD53wHQO
         nDEg73h7OH5WYWVlubU28uDNluBJMc5FXzMZQGiufj0+kXHUvtFGlb3U4m5DsuRA8gvV
         Ax5YN4FUXAIM+o4p8fgIbOzEegzgjWwlfLLuhp5l4Dcx6k0c3awjpNpPqAjcdmXM4diX
         7+uYd+zy23CnK/oy88yVy+cymM/7hY95K6YsZXeFxbnLFw5oHtyPKkaRffonZbvZNBji
         IE84Nphrrk7Nn3zzGEyHK8ummAECI4iP2FjhkB0nb/51u2oje0beB4zebwKgFseLwFu5
         tXsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373626; x=1692978426;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YufZI707Ujs7/EHXRSsM3OL/ONxDf9+knc8Qd0VFQb0=;
        b=PPk8OA5+H+cMM1f1RlrjIQEINl//WURnR1+ah/+0iiZrGfbNTwmSHKRdS3p2rO1pyA
         YIKgfbaEdV0VSTZBnFMbZaVdAUX5A2GJkm8xXRFB78abe2vjfZjOhEQ9cIy36XPfXk6v
         5QBmuKrSoNCeXwyp1iBn7I24Gaz28mV8eV7EDGDz3iysBi5NBqRnAzZQyTROm8etwOL1
         BfdZLu8Zt1Wd/3fUK52dXJQe3CEa6G1C11d4xjA3NSbXc8kYQud7kFyclRUsGtBiYNR1
         IucA29QAlBZdYmRJVC66I/myi9PHNpwEKMTejVyz9dNRsTPnzR3ymgcbogYjK13eSXJw
         Dlxw==
X-Gm-Message-State: AOJu0YxMrScyqKFM8l9zAV16Gv8Zv7NhAPO2fe/RqDUAAQGbf0bNLn0g
	ZNV8KidZNXUgCy/Hhc7D8VI=
X-Google-Smtp-Source: AGHT+IHzLF0b96EvpA38KVA9ROOq938j//LDF2HFOhNJI+AGqrjTGq9l4olg7IfGeLyyFwf8BwheMg==
X-Received: by 2002:a17:902:b7c4:b0:1bf:c59:c944 with SMTP id v4-20020a170902b7c400b001bf0c59c944mr2775991plz.22.1692373625690;
        Fri, 18 Aug 2023 08:47:05 -0700 (PDT)
Message-ID: <0a5b5331-a77a-6dc7-a822-638be6ce598d@gmail.com>
Date: Sat, 19 Aug 2023 00:46:59 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 2/6] x86emul: rename field 'cr2' of struct x86_event to
 'extra'
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

XEN_DMOP_inject_event() copies the 'cr2' argument to struct x86_event.
'cr2' is overladed to mean pending_dbg for a debug trap, but consumers
of struct x86_event always interpret it as CR2.

Clarify the role of the 'cr2' field by renaming it to 'extra', in
preparation for an upcoming patch that uses it to actually populate dr6.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/hvm/dm.c                  | 2 +-
 xen/arch/x86/hvm/hvm.c                 | 4 ++--
 xen/arch/x86/hvm/svm/nestedsvm.c       | 2 +-
 xen/arch/x86/hvm/svm/svm.c             | 8 ++++----
 xen/arch/x86/hvm/vmx/vmx.c             | 2 +-
 xen/arch/x86/include/asm/domain.h      | 2 +-
 xen/arch/x86/include/asm/hvm/hvm.h     | 2 +-
 xen/arch/x86/pv/traps.c                | 8 ++++----
 xen/arch/x86/x86_emulate/x86_emulate.h | 4 ++--
 9 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index 462691f91d3c..48a0c09f7af3 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -314,7 +314,7 @@ static int inject_event(struct domain *d,
     v->arch.hvm.inject_event.type = data->type;
     v->arch.hvm.inject_event.insn_len = data->insn_len;
     v->arch.hvm.inject_event.error_code = data->error_code;
-    v->arch.hvm.inject_event.cr2 = data->cr2;
+    v->arch.hvm.inject_event.extra = data->cr2;
     smp_wmb();
     v->arch.hvm.inject_event.vector = data->vector;
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 48a77524f198..1abdec35257b 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -507,7 +507,7 @@ static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
 
     if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
          info->vector == X86_EXC_PF )
-        info->cr2 = v->arch.hvm.guest_cr[2];
+        info->extra = v->arch.hvm.guest_cr[2];
 
     return true;
 }
@@ -548,7 +548,7 @@ void hvm_do_resume(struct vcpu *v)
         if ( hvm_get_pending_event(v, &info) )
         {
             hvm_monitor_interrupt(info.vector, info.type, info.error_code,
-                                  info.cr2);
+                                  info.extra);
             v->arch.monitor.next_interrupt_enabled = false;
         }
     }
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index a09b6abaaeaf..9bd2a304ac01 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -842,7 +842,7 @@ int cf_check nsvm_vcpu_vmexit_event(
     ASSERT(vcpu_nestedhvm(v).nv_vvmcx != NULL);
 
     nestedsvm_vmexit_defer(v, VMEXIT_EXCEPTION_DE + event->vector,
-                           event->error_code, event->cr2);
+                           event->error_code, event->extra);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 01dd592d9b83..d5e8cb0722ca 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1252,7 +1252,7 @@ static void svm_emul_swint_injection(struct x86_event *event)
         {
             fault = X86_EXC_PF;
             ec = pfinfo.ec;
-            event->cr2 = pfinfo.linear;
+            event->extra = pfinfo.linear;
         }
 
         goto raise_exception;
@@ -1345,8 +1345,8 @@ static void cf_check svm_inject_event(const struct x86_event *event)
 
     case X86_EXC_PF:
         ASSERT(_event.type == X86_EVENTTYPE_HW_EXCEPTION);
-        curr->arch.hvm.guest_cr[2] = _event.cr2;
-        vmcb_set_cr2(vmcb, _event.cr2);
+        curr->arch.hvm.guest_cr[2] = _event.extra;
+        vmcb_set_cr2(vmcb, _event.extra);
         break;
     }
 
@@ -1430,7 +1430,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     if ( _event.vector == X86_EXC_PF &&
          _event.type == X86_EVENTTYPE_HW_EXCEPTION )
         HVMTRACE_LONG_2D(PF_INJECT, _event.error_code,
-                         TRC_PAR_LONG(_event.cr2));
+                         TRC_PAR_LONG(_event.extra));
     else
         HVMTRACE_2D(INJ_EXC, _event.vector, _event.error_code);
 }
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7ec44018d4ed..8823ca13e55d 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2051,7 +2051,7 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
 
     case X86_EXC_PF:
         ASSERT(_event.type == X86_EVENTTYPE_HW_EXCEPTION);
-        curr->arch.hvm.guest_cr[2] = _event.cr2;
+        curr->arch.hvm.guest_cr[2] = _event.extra;
         break;
     }
 
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index c2d9fc333be5..0e445cff5c08 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -735,7 +735,7 @@ static inline void pv_inject_page_fault(int errcode, unsigned long cr2)
         .vector = X86_EXC_PF,
         .type = X86_EVENTTYPE_HW_EXCEPTION,
         .error_code = errcode,
-        .cr2 = cr2,
+        .extra = cr2,
     };
 
     pv_inject_event(&event);
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 6d53713fc3a9..f3f6310ab684 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -532,7 +532,7 @@ static inline void hvm_inject_page_fault(int errcode, unsigned long cr2)
         .vector = X86_EXC_PF,
         .type = X86_EVENTTYPE_HW_EXCEPTION,
         .error_code = errcode,
-        .cr2 = cr2,
+        .extra = cr2,
     };
 
     hvm_inject_event(&event);
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 74f333da7e1c..e5c9734b8204 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -53,15 +53,15 @@ void pv_inject_event(const struct x86_event *event)
     if ( event->type == X86_EVENTTYPE_HW_EXCEPTION &&
          vector == X86_EXC_PF )
     {
-        curr->arch.pv.ctrlreg[2] = event->cr2;
-        arch_set_cr2(curr, event->cr2);
+        curr->arch.pv.ctrlreg[2] = event->extra;
+        arch_set_cr2(curr, event->extra);
 
         /* Re-set error_code.user flag appropriately for the guest. */
         error_code &= ~PFEC_user_mode;
         if ( !guest_kernel_mode(curr, regs) )
             error_code |= PFEC_user_mode;
 
-        trace_pv_page_fault(event->cr2, error_code);
+        trace_pv_page_fault(event->extra, error_code);
     }
     else
         trace_pv_trap(vector, regs->rip, use_error_code, error_code);
@@ -82,7 +82,7 @@ void pv_inject_event(const struct x86_event *event)
                 vector, vector_name(vector), error_code);
 
         if ( vector == X86_EXC_PF )
-            show_page_walk(event->cr2);
+            show_page_walk(event->extra);
     }
 }
 
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 698750267a90..bad957f9bcb2 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -78,7 +78,7 @@ struct x86_event {
     uint8_t       type;         /* X86_EVENTTYPE_* */
     uint8_t       insn_len;     /* Instruction length */
     int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
-    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
+    unsigned long extra;        /* CR2 if X86_EXC_PF h/w exception */
 };
 
 /*
@@ -831,7 +831,7 @@ static inline void x86_emul_pagefault(
     ctxt->event.vector = X86_EXC_PF;
     ctxt->event.type = X86_EVENTTYPE_HW_EXCEPTION;
     ctxt->event.error_code = error_code;
-    ctxt->event.cr2 = cr2;
+    ctxt->event.extra = cr2;
 
     ctxt->event_pending = true;
 }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:47:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:47:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586416.917662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1gy-0005sh-Aa; Fri, 18 Aug 2023 15:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586416.917662; Fri, 18 Aug 2023 15:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1gy-0005sU-71; Fri, 18 Aug 2023 15:47:16 +0000
Received: by outflank-mailman (input) for mailman id 586416;
 Fri, 18 Aug 2023 15:47: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1gw-0005WD-Tc
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:47:14 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fed8f25-3dde-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 17:47:14 +0200 (CEST)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1bd9b4f8e0eso8036285ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:47:14 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 x19-20020a170902ea9300b001b8b0ac2258sm1936083plb.174.2023.08.18.08.47.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:47: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: 7fed8f25-3dde-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373633; x=1692978433;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=djtTkadKsD4CONvDQuXhksDL4gNlsVo29HPt0IPnNF4=;
        b=OJ0/M2acxRmMUy0VRoHu5fSKWHh+FyuWJh10aZeHCfjueL9yxNygxC/kcOOfVehYji
         rDZtOXy0oLCv51mOwtGLsTwt3ribruEKr7jphDTXRaecRbU29AddnDq8jwkEoCy4C75G
         UNd9BxUAxts+MaQKDcZ5kFT9gqORNoPSzQUkrUTXIsIzyzKsO5DUtyJ6JnQS6Tw8/wI6
         YsIZLtNYLu9+F6uk9fO12XQWmMiqqeXriaA9ZY2eio0fI0PboRW+hlKC8ZR6m+hh5Uhi
         /3yeqsG/8rt0RJLIk1RjPa1Z87y00doL1BnYB7aSSWH77Njsm+iNDqwO7bvfxnAFm/4x
         hJAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373633; x=1692978433;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=djtTkadKsD4CONvDQuXhksDL4gNlsVo29HPt0IPnNF4=;
        b=FzEPOR8RQ+3N1J4ELzVwQe8UQuHA4om/uRnCUTKuPjtBjp5TCrJEwo65/Iu29zz6N1
         QGWsj0jW1rx64Ja7Gh0HdEGaLsZW5gwbYNlLbnsxYfx4krnMkFYWWtf7dv+b3Q/sP/Q9
         xuQELvkAz4x8rMWz+S74QNm4RqPo4rozjaGtnPAIt9syu7i1U2ObPv4zZOrg1PlAhWgC
         vIMLK0tKo6qeHwUtXgRcS2Pe+Y+uv1L41KEgCwH4M+3F8NPw892clsQfsqT8ISzqChvr
         Qty00AK5Ti2NIi75lFEBxA/djPJ08JoQJgUMliQsX++2TqkZZdTrqptB3jAQD6j3Wt4h
         vU1w==
X-Gm-Message-State: AOJu0Yy3ZMnzfiFg9ixIyW98eTaTOWG+XuV4KtdlZ3snJwVm61cikC6q
	VaDmBhHHY14SU5XjG3axhMY=
X-Google-Smtp-Source: AGHT+IHqy1TH7bzZekJKUHcP0iJmdUhe/OYKWuwUM06BtmA9yw8Kgbc5hJMHzUiMUdqGAITyzFbYlg==
X-Received: by 2002:a17:903:234f:b0:1bf:1:a4a8 with SMTP id c15-20020a170903234f00b001bf0001a4a8mr3653078plh.25.1692373632717;
        Fri, 18 Aug 2023 08:47:12 -0700 (PDT)
Message-ID: <a677e1cb-3a81-b42c-25c1-ab2b07d8996a@gmail.com>
Date: Sat, 19 Aug 2023 00:47:06 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 3/6] x86: don't assume #DB is always caused by singlestep if
 EFLAGS.TF is set
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Today, when a HVM (or PVH) guest triggers a hardware breakpoint while
EFLAGS.TF is set, Xen incorrectly assumes that this is a single stepping
exception and sets DR_STEP in dr6 in addition to DR_TRAP<n>.

This causes problems with Linux HW breakpoint handler, which ignores
DR_TRAP<n> bits when DR_STEP is set.  This prevents user-mode debuggers
from recognizing hardware breakpoints if EFLAGS.TF is set.

Fix this by not setting DR_STEP in {vmx,svm}_inject_event, unless the
emulator explicitly signals the single-stepping mode via the newly added
"singlestep" boolean field of struct x86_event.

Fixes: 8b831f4189 ("x86: single step after instruction emulation")
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/hvm/emulate.c             |  3 ++-
 xen/arch/x86/hvm/svm/svm.c             |  6 +++---
 xen/arch/x86/hvm/vmx/vmx.c             |  6 +++---
 xen/arch/x86/include/asm/hvm/hvm.h     | 12 ++++++++++++
 xen/arch/x86/mm/shadow/multi.c         |  5 +++--
 xen/arch/x86/x86_emulate/x86_emulate.h |  4 +++-
 6 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 9b6e4c8bc61b..5ad372466e1d 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -26,6 +26,7 @@
 #include <asm/hvm/support.h>
 #include <asm/iocap.h>
 #include <asm/vm_event.h>
+#include <asm/debugreg.h>
 
 struct hvmemul_cache
 {
@@ -2673,7 +2674,7 @@ static int _hvm_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt,
     }
 
     if ( hvmemul_ctxt->ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exception(DR_STEP);
 
     new_intr_shadow = hvmemul_ctxt->intr_shadow;
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index d5e8cb0722ca..f25d6a53f092 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -96,7 +96,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm.svm.vmcb->int_stat.intr_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exception(DR_STEP);
 }
 
 static void cf_check svm_cpu_down(void)
@@ -1328,10 +1328,10 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( regs->eflags & X86_EFLAGS_TF )
+        if ( event->extra )
         {
             __restore_debug_registers(vmcb, curr);
-            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | DR_STEP);
+            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | event->extra);
         }
         /* fall through */
     case X86_EXC_BP:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 8823ca13e55d..1795b9479cf9 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2022,10 +2022,10 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
+        if ( event->extra )
         {
             __restore_debug_registers(curr);
-            write_debugreg(6, read_debugreg(6) | DR_STEP);
+            write_debugreg(6, read_debugreg(6) | event->extra);
         }
         if ( !nestedhvm_vcpu_in_guestmode(curr) ||
              !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
@@ -3068,7 +3068,7 @@ void update_guest_eip(void)
     }
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exception(DR_STEP);
 }
 
 static void cf_check vmx_fpu_dirty_intercept(void)
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index f3f6310ab684..6a0b9e3ff01e 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -538,6 +538,18 @@ static inline void hvm_inject_page_fault(int errcode, unsigned long cr2)
     hvm_inject_event(&event);
 }
 
+static inline void hvm_inject_debug_exception(unsigned long pending_dbg)
+{
+    struct x86_event event = {
+        .vector = X86_EXC_DB,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = X86_EVENT_NO_EC,
+        .extra = pending_dbg,
+    };
+
+    hvm_inject_event(&event);
+}
+
 static inline bool hvm_event_pending(const struct vcpu *v)
 {
     return alternative_call(hvm_funcs.event_pending, v);
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index cf74fdf5dda6..365af5169750 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -24,6 +24,7 @@
 #include <asm/hvm/cacheattr.h>
 #include <asm/mtrr.h>
 #include <asm/guest_pt.h>
+#include <asm/debugreg.h>
 #include <public/sched.h>
 #include "private.h"
 #include "types.h"
@@ -2788,7 +2789,7 @@ static int cf_check sh_page_fault(
 #endif
 
     if ( emul_ctxt.ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exception(DR_STEP);
 
 #if GUEST_PAGING_LEVELS == 3 /* PAE guest */
     /*
@@ -2829,7 +2830,7 @@ static int cf_check sh_page_fault(
                 TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_EMULATION_LAST_FAILED);
 
                 if ( emul_ctxt.ctxt.retire.singlestep )
-                    hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+                    hvm_inject_debug_exception(DR_STEP);
 
                 break; /* Don't emulate again if we failed! */
             }
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index bad957f9bcb2..868a64ab20e6 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -78,7 +78,9 @@ struct x86_event {
     uint8_t       type;         /* X86_EVENTTYPE_* */
     uint8_t       insn_len;     /* Instruction length */
     int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
-    unsigned long extra;        /* CR2 if X86_EXC_PF h/w exception */
+
+    /* Type-specific extra data (%cr2 for #PF, pending_dbg for #DB) */
+    unsigned long extra;
 };
 
 /*
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:47:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586417.917672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1h3-0006CD-HK; Fri, 18 Aug 2023 15:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586417.917672; Fri, 18 Aug 2023 15:47:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1h3-0006C4-E2; Fri, 18 Aug 2023 15:47:21 +0000
Received: by outflank-mailman (input) for mailman id 586417;
 Fri, 18 Aug 2023 15:47:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1h2-0005WD-9t
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:47:20 +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 833a6e06-3dde-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 17:47:19 +0200 (CEST)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-26d54d3d984so329510a91.1
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:47:19 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 rm4-20020a17090b3ec400b0026094c23d0asm1717425pjb.17.2023.08.18.08.47.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08: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: 833a6e06-3dde-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373638; x=1692978438;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Vxu4BWosO06wdQVnGmCCgPXnQgECbdfZfm/WjoZh/WM=;
        b=X9F25AXnH9TmwZRfJJw7gbAbh5UWbe3it0a6R/9Bsl+60AGYSaXTaLV/I5l73MS2A+
         EqnW7YTe846s4OaRx1zI5G3QNIB75NL4fduaz2ElhIN4YVutFavh9Xd5qNC/9nEyNfju
         Zk0nvJiyAlLPJrrZZSjnfbpKB3RkB31vuEh3+wXiuj9aSBXKh550oEzYNl+7sGAsw1/O
         svNljWF58V67CanyRqg2wtzbvespKQSphq+HCudiLKKau3usCUS5OSxSAOR+Ye4Kwg0O
         vqk7hgWkpRpTJoilFLEPq8m63hqAPkp2TxusD8LwHP1ntPjahBmoSALc50Qt8QhGXV2S
         mLAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373638; x=1692978438;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Vxu4BWosO06wdQVnGmCCgPXnQgECbdfZfm/WjoZh/WM=;
        b=dr2PAwcmfJ7X5aOwH4Jwz0iQ4JzbOsMWJHVVugPThXwO/eQndpogkhihmEk++dmKNy
         eF8dtjZhGW+pPrYJmbnKbNIloUXtdnokyf7T+a7Z3MBcNcXY5UaNJnA5BfUx0GNGM+A0
         s9LLp9qnHvZWWfZKVnnsU5IwCwb6sQZgf1GMKeYKwIDwz3PWdk4tIWq9jWe0nfZrMDZT
         c8OkRdpU8/JuzN5dntg2y/s7hHeCD8/zDNQwvztOHzDU/v3Dxl+j9eqATE7DLHkjb7ib
         ECBaHH0XQ3m9RFK+y18vZGwIwl7GWEXzSkyI5q13hrQf06cb4N6ip+3oa7zVYrYI6bgx
         KB9A==
X-Gm-Message-State: AOJu0YxuttP2ITAXJBGWsKbJCVvey8Nr3uHusDOREw2pQ0VcNGXw353v
	7KmDHBuXwXm9KNSsEvXCTGE=
X-Google-Smtp-Source: AGHT+IFMeKKMDRP91za9mlECpdKbVEJw9ePs0osxm4JWhWj8/CiqALhLvv85YSHlIE+jCZ13VrPP9w==
X-Received: by 2002:a17:90a:d78a:b0:26b:1081:a432 with SMTP id z10-20020a17090ad78a00b0026b1081a432mr2707022pju.30.1692373638303;
        Fri, 18 Aug 2023 08:47:18 -0700 (PDT)
Message-ID: <2c68b5aa-843c-7d59-7137-5ea72363ea0d@gmail.com>
Date: Sat, 19 Aug 2023 00:47:12 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 4/6] x86/pv: set DR_STEP if single-stepping after ro page
 fault emulation
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/pv/ro-page-fault.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index cad28ef928ad..238bfbeb4ac4 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -10,6 +10,7 @@
 
 #include <asm/pv/trace.h>
 #include <asm/shadow.h>
+#include <asm/debugreg.h>
 
 #include "emulate.h"
 #include "mm.h"
@@ -390,7 +391,10 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
         /* Fallthrough */
     case X86EMUL_OKAY:
         if ( ctxt.retire.singlestep )
+        {
+            current->arch.dr6 |= DR_STEP | DR_STATUS_RESERVED_ONE;
             pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        }
 
         /* Fallthrough */
     case X86EMUL_RETRY:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:47:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586420.917682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1h9-0006Zp-Q1; Fri, 18 Aug 2023 15:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586420.917682; Fri, 18 Aug 2023 15:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1h9-0006Zi-Lm; Fri, 18 Aug 2023 15:47:27 +0000
Received: by outflank-mailman (input) for mailman id 586420;
 Fri, 18 Aug 2023 15:47: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1h8-0005WD-FL
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:47:26 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86cf8867-3dde-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 17:47:25 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bdb7b0c8afso7835985ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:47:25 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 s15-20020a170902ea0f00b001bbc8d65de0sm1943507plg.67.2023.08.18.08.47.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:47: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: 86cf8867-3dde-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373644; x=1692978444;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+UQOAr2es15lGNIQkp28TBH1fdCufuHHrfjqiigg570=;
        b=nJKjzEqTQmvgKRLNwxm5vRYBizrbO2NCA6BcKPVlXia+kIz0VShaLrmTiIe0rpFU3g
         3UeiBahNIgZ15SWSYY1ll2IUZTokVKAK5NTH4pY1V3xeO45QWIKZKz6k0zHRb58jMFO8
         BWyoiM3IzY9ziljVDVP8feuJ4q8+xXNeAPXNTwO27hyZwfDu7RgyJjcJ4E3fjgNU/Chc
         by10w7y4mKNlkeyZkUitaRPmk3mgQ92NpK310yQ7Iv5bLLJEJdExI97Yeu1d+TG/iW/C
         yrvoTZL4uulQrB2KCZI32fuKRwQ3Iqb3dVEncbmOXmYOVeyHH7apKMQIQ1Ew9HV60oIf
         +LFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373644; x=1692978444;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+UQOAr2es15lGNIQkp28TBH1fdCufuHHrfjqiigg570=;
        b=jaEO4fjCoSnpEsxTvwf+qAH3SwG5RPfimiaa7KuAWI0UVou+r/zcrd73BstXALx5E9
         01zg5YMZzFZV6rufC4MATNzhOH/r71U9D80xKl33oN+Tj/LzKwM9djLIr3LZNJhZnbMG
         MTvBkylfExquqpg403uXS3D3XAfMt9+sZSro5pKOt10g3keABiwMrYmuDh1/iJwNBl0p
         VyWh0Sa9PlJ8DnaQMj2sf3fYNd79siThk+/Kk0HwkmYdKmIX320k5k3EjMtd7Nx8xBit
         QRtKsUvF6YieyXifrGXhYcWqqljMlAC3d5snR4kZcxMxU++JOOei/AjD4qAIcIRzZX9v
         b+cQ==
X-Gm-Message-State: AOJu0YwHNrK0R0uqGqVf19L0lVmVCSt41o7d6pWAoXlWYeTntG004ITz
	H7x//nT2PlN0Qp53Q6tBf38=
X-Google-Smtp-Source: AGHT+IHfVY3KfelMtXzv0+WXeFdg+/KO8mkApg3yj5eWvyPb8Q6pcMAOuzfzXqLpugaz/ClRAD8UJw==
X-Received: by 2002:a17:903:486:b0:1bd:a22a:d40a with SMTP id jj6-20020a170903048600b001bda22ad40amr2493815plb.2.1692373644336;
        Fri, 18 Aug 2023 08:47:24 -0700 (PDT)
Message-ID: <5c1cd2ca-880a-72d4-e586-3d0838adf8eb@gmail.com>
Date: Sat, 19 Aug 2023 00:47:18 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 5/6] x86/pv: factor out single-step debug trap injection
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Add pv_inject_debug_exception() helper and use it wherever
applicable.

This helper corresponds to hvm_inject_debug_exception() in HVM.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/include/asm/domain.h | 12 ++++++++++++
 xen/arch/x86/pv/emulate.c         |  5 +----
 xen/arch/x86/pv/ro-page-fault.c   |  5 +----
 xen/arch/x86/pv/traps.c           | 10 ++++++++++
 4 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 0e445cff5c08..cfeb63da6cd6 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -741,6 +741,18 @@ static inline void pv_inject_page_fault(int errcode, unsigned long cr2)
     pv_inject_event(&event);
 }
 
+static inline void pv_inject_debug_exception(unsigned long pending_dbg)
+{
+    const struct x86_event event = {
+        .vector = X86_EXC_DB,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = X86_EVENT_NO_EC,
+        .extra = pending_dbg,
+    };
+
+    pv_inject_event(&event);
+}
+
 static inline void pv_inject_sw_interrupt(unsigned int vector)
 {
     const struct x86_event event = {
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index e7a1c0a2cc4f..865b05337192 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -72,10 +72,7 @@ void pv_emul_instruction_done(struct cpu_user_regs *regs, unsigned long rip)
     regs->rip = rip;
     regs->eflags &= ~X86_EFLAGS_RF;
     if ( regs->eflags & X86_EFLAGS_TF )
-    {
-        current->arch.dr6 |= DR_STEP | DR_STATUS_RESERVED_ONE;
-        pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-    }
+        pv_inject_debug_exception(DR_STEP);
 }
 
 uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index 238bfbeb4ac4..9c6042cab3b2 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -391,10 +391,7 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
         /* Fallthrough */
     case X86EMUL_OKAY:
         if ( ctxt.retire.singlestep )
-        {
-            current->arch.dr6 |= DR_STEP | DR_STATUS_RESERVED_ONE;
-            pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-        }
+            pv_inject_debug_exception(DR_STEP);
 
         /* Fallthrough */
     case X86EMUL_RETRY:
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index e5c9734b8204..4cf31558ac2f 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -15,6 +15,7 @@
 #include <asm/pv/trace.h>
 #include <asm/shared.h>
 #include <asm/traps.h>
+#include <asm/debugreg.h>
 #include <irq_vectors.h>
 
 void pv_inject_event(const struct x86_event *event)
@@ -64,7 +65,16 @@ void pv_inject_event(const struct x86_event *event)
         trace_pv_page_fault(event->extra, error_code);
     }
     else
+    {
+        if ( event->type == X86_EVENTTYPE_HW_EXCEPTION &&
+             vector == X86_EXC_DB )
+        {
+            if ( event->extra )
+                curr->arch.dr6 |= event->extra | DR_STATUS_RESERVED_ONE;
+        }
+
         trace_pv_trap(vector, regs->rip, use_error_code, error_code);
+    }
 
     if ( use_error_code )
     {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:47:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:47:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586426.917693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1hK-0007H5-6F; Fri, 18 Aug 2023 15:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586426.917693; Fri, 18 Aug 2023 15:47:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1hK-0007G5-08; Fri, 18 Aug 2023 15:47:38 +0000
Received: by outflank-mailman (input) for mailman id 586426;
 Fri, 18 Aug 2023 15:47:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1hJ-0005WD-Ae
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 15:47:37 +0000
Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com
 [2607:f8b0:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d49504b-3dde-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 17:47:36 +0200 (CEST)
Received: by mail-pf1-x432.google.com with SMTP id
 d2e1a72fcca58-6887ccba675so895641b3a.3
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 08:47:36 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 i23-20020aa787d7000000b0064d47cd116esm1696837pfo.161.2023.08.18.08.47.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 08:47:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d49504b-3dde-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692373655; x=1692978455;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=muARqwg7J0jXaBR6Kw/+0enh70UHMI8H+VpfrjX65HY=;
        b=GI4X1ZXl15ePzbLTKA3KP6YAaayNEue6osptafFWdlUkZcD0++bgp22YZZRYsR1EV4
         EX5UHl0dqumQ2fgQeX5j38N9KYJzS3l/8OiqopCoZtCJfuTm3gccPSt4N2LyfYnumEM/
         yt0OpGEQHkW2FfRTgyMMfafYaFHsPYy/FFptlbb/nLqYYAREqHE28Qxi7qDS4KH/EG3L
         2CO4durEoJicjPsce8weecxG4pRDYpiKkNCk6OOoN3B8pg5XsOdSymcduzvzAe+Ekxl9
         QNP6cySDtGu86iTvlkrAQY9Hf1DR3LsqvjXkoQHlOhc2OOe3F9HgcVWRsL2SRHDXMGHk
         WsSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692373655; x=1692978455;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=muARqwg7J0jXaBR6Kw/+0enh70UHMI8H+VpfrjX65HY=;
        b=EmOUzVb7Kd1o5JiOFh8Q9yV0gBYjev2zuUDNqSD5nUa5F9SSNbDAvyZi5UXEQmshGR
         NQ0fsx/CZ6DdVkXL4vRnS0ExJ1Pt6QEdn8lYvhZy681LCD7GffqUu4FrsAH1VUVOAHmp
         M9yFylH82KidIyO1UdUz5bbifowz+cEEMK4la8ALxFZpLGXowj9RugfHlqnDFawFHtsv
         pBCUeCV/D60xcBK/ElpomoMLTwtLMo/pd4V81I3lQUP3lNJOM9Op8rVhfIfo32eb+Ucp
         dYr8JdLALgy3tWZpXxQnaogPLACOLC3o+NwJKHnwaPGJlZSgYe0/NsPk4ZqzRyhmi1ui
         35aA==
X-Gm-Message-State: AOJu0YxxGjnFYlpjHYjDb21f+0/gOm8/0LN5YqTZIpt8Wt5/rPc5prm8
	KXyApP7kw7cuqA6SIAb1dls=
X-Google-Smtp-Source: AGHT+IFrEcSVZ5bF+25U50HXbWsCwjKMl5JjVl/wXApRgYbnKFmtiSaPsksLQzNm96WXHXvxM0L9RA==
X-Received: by 2002:a05:6a00:1acc:b0:687:5763:ef27 with SMTP id f12-20020a056a001acc00b006875763ef27mr3062865pfv.33.1692373655118;
        Fri, 18 Aug 2023 08:47:35 -0700 (PDT)
Message-ID: <231aa9dc-ca45-491f-26d2-72b4365219a6@gmail.com>
Date: Sat, 19 Aug 2023 00:47:28 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 6/6] x86/debug: actually plumb pending_dbg through the monitor
 and devicemodel interfaces
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Language: en-US
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Commit 21867648033d ("x86/debug: Plumb pending_dbg through the monitor
and devicemodel interfaces") introduced pending_dbg, but did not
actually populate or use the field.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/hvm/svm/svm.c | 34 +++++++++++++++++++++++++++++++---
 xen/arch/x86/hvm/vmx/vmx.c | 32 ++++++++++++++++++++++++--------
 2 files changed, 55 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index f25d6a53f092..139be9902dae 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2422,6 +2422,14 @@ static bool cf_check svm_get_pending_event(
     info->type = vmcb->event_inj.type;
     info->error_code = vmcb->event_inj.ec;
 
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_DB )
+    {
+        unsigned long dr6 = v->arch.hvm.flag_dr_dirty ?
+                            vmcb_get_dr6(vmcb) : v->arch.dr6;
+        info->extra = dr6 & ~DR_STATUS_RESERVED_ONE;
+    }
+
     return true;
 }
 
@@ -2733,16 +2741,28 @@ void svm_vmexit_handler(void)
         if ( !v->domain->debugger_attached )
         {
             unsigned int trap_type;
+            unsigned long exit_pending_dbg;
 
             if ( likely(exit_reason != VMEXIT_ICEBP) )
             {
                 trap_type = X86_EVENTTYPE_HW_EXCEPTION;
                 insn_len = 0;
+
+                __restore_debug_registers(vmcb, v);
+
+                /*
+                 * NOTE: This is slightly wrong; old bits in dr6 are not
+                 * automatically cleared by CPU on #DB, so it's not exactly
+                 * equivalent to PENDING_DBG_EXCEPTIONS in semantics.
+                 */
+                exit_pending_dbg = vmcb_get_dr6(vmcb) & ~DR_STATUS_RESERVED_ONE;
+                vmcb_set_dr6(vmcb, DR_STATUS_RESERVED_ONE);
             }
             else
             {
                 trap_type = X86_EVENTTYPE_PRI_SW_EXCEPTION;
                 insn_len = svm_get_insn_len(v, INSTR_ICEBP);
+                exit_pending_dbg = 0;
 
                 if ( !insn_len )
                     break;
@@ -2750,12 +2770,20 @@ void svm_vmexit_handler(void)
 
             rc = hvm_monitor_debug(regs->rip,
                                    HVM_MONITOR_DEBUG_EXCEPTION,
-                                   trap_type, insn_len, 0);
+                                   trap_type, insn_len, exit_pending_dbg);
             if ( rc < 0 )
                 goto unexpected_exit_type;
             if ( !rc )
-                hvm_inject_exception(X86_EXC_DB,
-                                     trap_type, insn_len, X86_EVENT_NO_EC);
+            {
+                if (trap_type == X86_EVENTTYPE_HW_EXCEPTION)
+                {
+                    /* Updates DR6 where debugger can peek. */
+                    hvm_inject_debug_exception(exit_pending_dbg);
+                }
+                else
+                    hvm_inject_exception(X86_EXC_DB,
+                                         trap_type, insn_len, X86_EVENT_NO_EC);
+            }
         }
         else
             domain_pause_for_debugger();
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1795b9479cf9..63411b62cb94 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2469,6 +2469,14 @@ static bool cf_check vmx_get_pending_event(
     info->type = MASK_EXTR(intr_info, INTR_INFO_INTR_TYPE_MASK);
     info->error_code = error_code;
 
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_DB )
+    {
+        unsigned long dr6 = v->arch.hvm.flag_dr_dirty ?
+                            read_debugreg(6) : v->arch.dr6;
+        info->extra = dr6 & ~DR_STATUS_RESERVED_ONE;
+    }
+
     return true;
 }
 
@@ -4240,13 +4248,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         {
         case X86_EXC_DB:
             /*
-             * Updates DR6 where debugger can peek (See 3B 23.2.1,
-             * Table 23-1, "Exit Qualification for Debug Exceptions").
+             * See 3B 23.2.1, Table 23-1, "Exit Qualification for Debug
+             * Exceptions".
              */
             __vmread(EXIT_QUALIFICATION, &exit_qualification);
             HVMTRACE_1D(TRAP_DEBUG, exit_qualification);
-            __restore_debug_registers(v);
-            write_debugreg(6, exit_qualification | DR_STATUS_RESERVED_ONE);
 
             /*
              * Work around SingleStep + STI/MovSS VMEntry failures.
@@ -4285,22 +4291,32 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
             if ( !v->domain->debugger_attached )
             {
-                unsigned long insn_len = 0;
+                unsigned long exit_pending_dbg = 0, insn_len = 0;
                 int rc;
                 unsigned long trap_type = MASK_EXTR(intr_info,
                                                     INTR_INFO_INTR_TYPE_MASK);
 
-                if ( trap_type >= X86_EVENTTYPE_SW_INTERRUPT )
+                if ( trap_type == X86_EVENTTYPE_HW_EXCEPTION )
+                    exit_pending_dbg = exit_qualification;
+                else if ( trap_type >= X86_EVENTTYPE_SW_INTERRUPT )
                     __vmread(VM_EXIT_INSTRUCTION_LEN, &insn_len);
 
                 rc = hvm_monitor_debug(regs->rip,
                                        HVM_MONITOR_DEBUG_EXCEPTION,
-                                       trap_type, insn_len, 0);
+                                       trap_type, insn_len, exit_pending_dbg);
 
                 if ( rc < 0 )
                     goto exit_and_crash;
                 if ( !rc )
-                    vmx_propagate_intr(intr_info);
+                {
+                    if ( trap_type == X86_EVENTTYPE_HW_EXCEPTION )
+                    {
+                        /* Updates DR6 where debugger can peek. */
+                        hvm_inject_debug_exception(exit_pending_dbg);
+                    }
+                    else
+                        vmx_propagate_intr(intr_info);
+                }
             }
             else
                 domain_pause_for_debugger();
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:50:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586455.917701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1kQ-0001Vg-Mc; Fri, 18 Aug 2023 15:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586455.917701; Fri, 18 Aug 2023 15:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1kQ-0001VZ-K4; Fri, 18 Aug 2023 15:50:50 +0000
Received: by outflank-mailman (input) for mailman id 586455;
 Fri, 18 Aug 2023 15:50: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 1qX1kP-0001VP-MB; Fri, 18 Aug 2023 15:50: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 1qX1kP-00055P-HR; Fri, 18 Aug 2023 15:50: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 1qX1kP-0000ND-3N; Fri, 18 Aug 2023 15:50:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX1kP-0006LQ-2u; Fri, 18 Aug 2023 15:50:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AQUXu2XAH+ytmThVuQGGNqPrriAAM0GZ54nug6CLK18=; b=BrD9HNBZ0NrtNAR7mJiTtxyKdn
	6Kvx65JOaUALEwnYXXWejf3SasAjNGmxqM19K0K2+9w3ET9PvAeidGyc+V93h3NbmcJBKAj8uHyyu
	8cZE4v0pzJZjQhQoQ3soeH4w3yp0oX2rpwVvJ82sqGVBiaKZjCmL0Pr0EOM3h0UHuBqg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182385-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182385: 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=5cd6585177e99947a5f62345edbe657663ad9fcc
X-Osstest-Versions-That:
    xen=e6cb27f2f20d09dd2ba135fbc341a4dc98656e10
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 15:50:49 +0000

flight 182385 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182385/

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                  5cd6585177e99947a5f62345edbe657663ad9fcc
baseline version:
 xen                  e6cb27f2f20d09dd2ba135fbc341a4dc98656e10

Last test of basis   182379  2023-08-18 09:00:26 Z    0 days
Testing same since   182385  2023-08-18 13:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e6cb27f2f2..5cd6585177  5cd6585177e99947a5f62345edbe657663ad9fcc -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 15:55:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 15:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586464.917711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1oY-000280-7Y; Fri, 18 Aug 2023 15:55:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586464.917711; Fri, 18 Aug 2023 15:55:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1oY-00027t-4r; Fri, 18 Aug 2023 15:55:06 +0000
Received: by outflank-mailman (input) for mailman id 586464;
 Fri, 18 Aug 2023 15:55: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 1qX1oW-00027j-Gw; Fri, 18 Aug 2023 15:55: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 1qX1oW-0005Ap-FE; Fri, 18 Aug 2023 15:55: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 1qX1oW-0000UD-4z; Fri, 18 Aug 2023 15:55:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX1oW-0000bd-4X; Fri, 18 Aug 2023 15:55:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qA6grZ6RN65IgwIIvlcMdVjOjqkdLdXNrquOPwjfqT0=; b=mPbAEgk49D/c0fEK1FyLLOsRFT
	wztBQrx1IuC4iNDxUcQB8r9fOGlkujfrtoRdkXlRdRlDbCCwCHJz4EtL4aX3T2dWrvhactvsWqgcc
	DbmzsSY58gd8P1vDY15SbalpXDQFYrpkRqblcaFbEpm21zBzX+zHGGbJBMObWzKCIxoU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182376-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182376: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-arm64-arm64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw: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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=edfce77ba210fe840ee4aede3e1a68b0b14a8ad6
X-Osstest-Versions-That:
    libvirt=5d8e842a0fe093e707e8e8e56d70923a0e8a58fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 15:55:04 +0000

flight 182376 libvirt real [real]
flight 182382 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182376/
http://logs.test-lab.xenproject.org/osstest/logs/182382/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 182382-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182368
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182368
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182368
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              edfce77ba210fe840ee4aede3e1a68b0b14a8ad6
baseline version:
 libvirt              5d8e842a0fe093e707e8e8e56d70923a0e8a58fe

Last test of basis   182368  2023-08-17 04:22:00 Z    1 days
Testing same since   182376  2023-08-18 04:18:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  GĂ¶ran Uddeborg <goeran@uddeborg.se>
  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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   5d8e842a0f..edfce77ba2  edfce77ba210fe840ee4aede3e1a68b0b14a8ad6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 16:03:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 16:03:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586473.917722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1wv-0004YE-1p; Fri, 18 Aug 2023 16:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586473.917722; Fri, 18 Aug 2023 16:03:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX1wu-0004Y7-VK; Fri, 18 Aug 2023 16:03:44 +0000
Received: by outflank-mailman (input) for mailman id 586473;
 Fri, 18 Aug 2023 16:03: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX1wt-0004Y1-Dv
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 16:03:43 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ccdb6eff-3de0-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 18:03:42 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-1bc8a2f71eeso8400015ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 09:03:42 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 i3-20020a170902c94300b001b890009634sm1933033pla.139.2023.08.18.09.03.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 09:03:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccdb6eff-3de0-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692374621; x=1692979421;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KDhmjj6vLTH24gqPSxJCz6A9Usv6xbM4AM10uUoY3mI=;
        b=B8FlgJoxjatT14f+eHFH5ulCz62v5Zw2+xIZaoCHcQPFVOA2AF4w4XJ7/B5Vh9x0fJ
         BC8VL9PXyrcfu7pFzZQp9nQxJZpexIKZiVsox+j25tl+Wo6h/X/PJ+kooN+t4DQSNjbv
         AEETM9Tb0ND4xn5QaIQR+lnyMS7eyA+Bsae7S9qFqTpyaPQir+11rBWYPSUfI0CJJIfD
         jIuw9qGtfaBYg5DQ0z+TJHMbTeMX+mYweSgLgNabOENW3R3k8Wl98ZWPnW4YYoZZcPPs
         zrzNal/3fpAhEzYBz42BDn+GOiwnHsik361LWXpj0kg2fZ2Q2IdrwZnggP5PDox0rTpa
         lJkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692374621; x=1692979421;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=KDhmjj6vLTH24gqPSxJCz6A9Usv6xbM4AM10uUoY3mI=;
        b=MR4l7TfSLxAVwgiu3uBk3E6JIVHJO5cmFDMyrT8BmCZwvax1NNL9+kPe8DlEzRkkPq
         KLBKqlRj14GXb9PrZ9VCQ4Kq8dzmxedWjHURju7W57aKA3uqS0fX19UTevPXwqLXFFqu
         XaG64rybNMYtOVL4LGm7tLSnFOa2kZK2xwXqfIa+vRp9Wf1zQAABfxJAopVeJPrjroZG
         LrLIqJTQeXOQE9X+EixriFLb+tYVt0xer/V5330mzjby8GNK4s+IyGvhTwZSTzWhdGil
         uSmyraw/HlbJMwgYRLxeMrTChtbdxNkXXTWztpYyQSUiTHiDGA3ITDzkMyOGVfoJ+FdR
         VbBw==
X-Gm-Message-State: AOJu0YxyZ9B9CJBM5+QpAXYWTGhr1UpuySj0/CMIbbJK1ikku36VTozl
	CbHmzoSh8w7w59JdQjR/xzCfzwgLRw7IXQ==
X-Google-Smtp-Source: AGHT+IGf5A/E4bJPfaEURTWVVz57YwNwlL+9GV+I/QJoYH31tU9b00unPIfsyJJinTC4CfI1mmYKrQ==
X-Received: by 2002:a17:903:2792:b0:1b6:7f96:42ca with SMTP id jw18-20020a170903279200b001b67f9642camr2462271plb.66.1692374620612;
        Fri, 18 Aug 2023 09:03:40 -0700 (PDT)
Message-ID: <0a8fabe0-3741-ebc2-d89e-cb3a849a2683@gmail.com>
Date: Sat, 19 Aug 2023 01:03:35 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH] x86/svm: invert valid condition in svm_get_pending_event()
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Fixes: 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/hvm/svm/svm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 01dd592d9b83..beb076ea8d62 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2415,7 +2415,7 @@ static bool cf_check svm_get_pending_event(
 {
     const struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( vmcb->event_inj.v )
+    if ( !vmcb->event_inj.v )
         return false;
 
     info->vector = vmcb->event_inj.vector;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 17:05:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 17:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586481.917742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX2uT-0003Qb-NB; Fri, 18 Aug 2023 17:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586481.917742; Fri, 18 Aug 2023 17: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 1qX2uT-0003QS-Jw; Fri, 18 Aug 2023 17:05:17 +0000
Received: by outflank-mailman (input) for mailman id 586481;
 Fri, 18 Aug 2023 17:05: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=K0mA=ED=citrix.com=prvs=58781cf72=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qX2uS-000395-EK
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 17:05:16 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64bb42df-3de9-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 19:05: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: 64bb42df-3de9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692378314;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=XlozQPIuWFh/+Ywlnuo0frOZwM+7n9JC+2QjZZiwnPA=;
  b=cwwS+isjZcYJYM9eg7ZNsleHfXXkRE16u/8KKRSoRfNIutWVIV+nCtJl
   QnsNGIdt4SDu3U+acaETuTTYuYmMA+9lJQRCFurIR4yjDaIWNXPIb8mfP
   KxlLvpWp4UvjCoHuHHlQSNpLLizT7dsXNlAWJTcDsOAQKbbTVN4JPc1vb
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119939033
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:7P6wBKv2cxyr5fdefgXSFSPr/OfnVJ1eMUV32f8akzHdYApBsoF/q
 tZmKTiFa/rcZGOjLd8nYY+0/BwOvcPSzYI2SARprXhnHi4T+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+HxyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwJG4US0yuve+N2ZGFSNI2qppzJ5DOFdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WzRetFKSo7tx+2XJxRZ9+LPsLMDUapqBQsA9ckOw/
 zuXrj+oWkpBXDCZ4Regq1ewhNTLpgmhVrMAS4+j7NtRv3TGkwT/DzVJDADm8JFVkHWWWc9bK
 kES0jojq+417kPDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpatM8vcsybTUv3
 02OmZXiAjkHmKKRYWKQ8PGTtzzaESoaN2gZfgcfUBAIpdLkpekbhwrCVN95HIapj9f+Hnf7x
 DXikcQlr+xN14hRjfz9pA2ZxWv2/fAlUzLZ+C3bAHuAsi5DabW8RLKq0gL3s6ZLdaOwGwzpU
 Gc/p+CS6+UHDJeonSOLQfkQELzB28tpIAEwknY0QcB/qm3FF2qLONkJvWogfBsB3tMsI2eBX
 aPFhe9GCHa/1lOOZLQ/XY++At9CIUPIRYW8DaC8gjajj/FMmO67EMNGPx74M4PFyhJEfUQD1
 XCzKJ7EMJriIf47pAdavs9EuVPR+ggwxHnIWbfwxAm93LyVaRa9EOlUagHfMbhotfja/m05F
 uqz0ePQm32zt8WkPkHqHXM7dwhWfRDX+7inwyCoSgJzClU/QzxwYxMg6bggZ5Zkj8xoehTgp
 xmAtrtj4AOn3xXvcFzaAk2PnZuzBf6TW1pnZ31zVbtpslB/CbuSAFA3LsBoIOF4pLIzl5aZj
 ZAtIq29PxiGcRyfkxx1UHU3hNUKmMiD7e5WAxeYXQ==
IronPort-HdrOrdr: A9a23:vKdJCqHdrFKTXR4DpLqE0seALOsnbusQ8zAXPhZKOHtom6uj5q
 OTdZUgtSMc5wx7ZJhNo7q90cq7IE80l6Qb3WBLB8bHYOCOggLBEGgF1+bfKlbbdREWmNQw6U
 /OGZIObuEZoTJB/KTHCKjTKadE/OW6
X-Talos-CUID: 9a23:P3aWVGH3gJgXZrDFqmJrqlcxRu0ff0bE70nSGBWUVzZiEZi8HAo=
X-Talos-MUID: =?us-ascii?q?9a23=3ArawR5Q8lh0jMC/nLRTs9/u+Qf+pNuoGyCnsJqr9?=
 =?us-ascii?q?ctfiWah5rIRKmsx3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119939033"
Date: Fri, 18 Aug 2023 18:05:07 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>, Wei
 Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] tools/libs: light: Remove the variable 'domainid'
 do_pci_remove()
Message-ID: <603d2542-ba94-4c1a-9480-a3319f75bdb0@perard>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-2-julien@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230809103305.30561-2-julien@xen.org>

On Wed, Aug 09, 2023 at 11:33:04AM +0100, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The function do_pci_remove() has two local variables 'domid' and
> 'domainid' containing the same value.
> 
> Looking at the history, until 2cf3b50dcd8b ("libxl_pci: Use
> libxl__ao_device with pci_remove") the two variables may have
> different value when using a stubdomain.
> 
> As this is not the case now, remove 'domainid'. This will reduce
> the confusion between the two variables.
> 
> Note that there are other places in libxl_pci.c which are using
> the two confusing names within the same function. They are left
> unchanged for now.
> 
> No functional changes intented.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 17:05:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 17:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586480.917732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX2uG-00039K-Eb; Fri, 18 Aug 2023 17:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586480.917732; Fri, 18 Aug 2023 17:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX2uG-00039D-C0; Fri, 18 Aug 2023 17:05:04 +0000
Received: by outflank-mailman (input) for mailman id 586480;
 Fri, 18 Aug 2023 17:05: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=K0mA=ED=citrix.com=prvs=58781cf72=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qX2uE-000395-Eh
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 17:05:02 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bb6913a-3de9-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 19:04: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: 5bb6913a-3de9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692378298;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=6JuWnuXFQBzL4AwWv5H41W08zPgDgJ1o2Il70G3bJ3s=;
  b=DM6GYvFHvECrjsOLH1ovuykaZmMv8jhZRJSWiuMSOJ2thf17OAWrDHhz
   X4Vk5moWHDysL+wbJlbJXQbZ/NgHjOhXtIa5RxMeS87c+8DCHr3EdwKQA
   0qcoUESaSBl9iydGTp/VB3W1UYQ3uoZl6hkYeqYuHM2tUzdBcO8G/3+7U
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 119196135
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:rl5CtK6IyGLfIF+cRktbsAxRtPPHchMFZxGqfqrLsTDasY5as4F+v
 mdLWG+POPaCM2akL4t+O4++804H6JDUnNc2TlE4/380Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mq
 KUZIjspbTq5mcm9zOzrdcYwicgJM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx/J/
 zOYpj+kav0cHPC6lx280FK0vcnwpx37RLM8DqOVz9c/1TV/wURMUUZLBDNXu8KRiFO6Wt9ZA
 1wZ/Gwpt6da3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsTDFbYdginMYzTC4t0
 BmCmNaBLSNrmK2YTzSa7Lj8hTG9Iy8ONkcZeDQJCwAC5rHLqZk+lBvVQv5/EaS+iZv+HjSY/
 tyRhHFg3fNJ15dNjvjluwmd2FpAu6QlUCZovwTdVUamxDlnT4WpOdyXxgTU4dxfedPxoka6g
 FAInM2X7eYrBJ6LlTCQTOhlIIxF98ppIxWH3wcxQsBJGyCFvif6INsOuG0WyFJBaJ5sRNP/X
 KPEVeq9Drd3NWDiU6J4apnZ5y8Cnfm5ToSNuhw5g7NzjnlNmO2vpnEGia24hTqFfK0QfUYXY
 M/zTCpUJSxGYZmLNRLvLwvn7Zclxzol2UTYTo3hwhKs3NK2PSDEE+1UbwPfN7tnsstoRTk5F
 f4FZ6NmLD0FDIXDjtT/q9ZPfTjm01BqbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYc1d9z4/1E
 oWGchYAkjLX3CSXQThmn1g/MNsDq74j9yNkVcHtVH70s0UejXGHtfxAKsNoLed3roSOD5dcF
 pE4RilJOdwXIhyvxtjXRcCVQFBKHPhzuT+zAg==
IronPort-HdrOrdr: A9a23:mD7TNasR5hsWN3EUI0wWXK/J7skDVNV00zEX/kB9WHVpm62j5q
 WTdZEgv3LJYVkqNE3I9eruBED4ewK6yXcX2/hyAV7BZmnbUQKTRelfBO3ZrQEIcBeOldK1u5
 0AT0FIMqyVMbErt63HCdGDYqwdKQO8gdiVbDrlvhFQpN1RGtpdBtlCe3um+iIffng+OaYE
X-Talos-CUID: =?us-ascii?q?9a23=3A5BcPDmh/SSUKtoO3My8ikJ9HUjJuLyTcxnz0IGW?=
 =?us-ascii?q?CF01iROPFdnDM969OjJ87?=
X-Talos-MUID: 9a23:KeUDpgYbSAw3nuBTmxqyowhAFN9TxZuUNkARoLscpeS9HHkl
X-IronPort-AV: E=Sophos;i="6.01,183,1684814400"; 
   d="scan'208";a="119196135"
Date: Fri, 18 Aug 2023 18:04:40 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Julien Grall <jgrall@amazon.com>, Wei
 Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach
 for HVM domain
Message-ID: <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230809103305.30561-3-julien@xen.org>

On Wed, Aug 09, 2023 at 11:33:05AM +0100, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Currently, libxl will grant IOMEM, I/O port and IRQ permissions when
> a PCI is attached (see pci_add_dm_done()) for all domain types. However,
> the permissions are only revoked for non-HVM domain (see do_pci_remove()).
> 
> This means that HVM domains will be left with extra permissions. While
> this look bad on the paper, the IRQ permissions should be revoked
> when the Device Model call xc_physdev_unmap_pirq() and such domain
> cannot directly mapped I/O port and IOMEM regions. Instead, this has to
> be done by a Device Model.
> 
> The Device Model can only run in dom0 or PV stubdomain (upstream libxl
> doesn't have support for HVM/PVH stubdomain).
> 
> For PV/PVH stubdomain, the permission are properly revoked, so there is
> no security concern.
> 
> This leaves dom0. There are two cases:
>   1) Privileged: Anyone gaining access to the Device Model would already
>      have large control on the host.
>   2) Deprivileged: PCI passthrough require PHYSDEV operations which
>      are not accessible when the Device Model is restricted.
> 
> So overall, it is believed that the extra permissions cannot be exploited.
> 
> Rework the code so the permissions are all removed for HVM domains.
> This needs to happen after the QEMU has detached the device. So
> the revocation is now moved in a separate function which is called
> from pci_remove_detached().
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
> 
> TODO: I am getting a bit confused with the async work in libxl. I am
> not entirely sure whether pci_remove_detached() is the correct place
> to revoke.

Whenever an async task in libxl takes more than one function to
complete, the next function (or callback) that is going to be executed
is further down in the current source file (usually). This is to try to
avoid too much confusion when reading through a set of async calls. So
pci_remove_detached() is after all the DM stuff are done, and it's
before we deal with stubdom case which will go through these step again,
so it seems appropriate.

So, this new pci_revoke_permissions() function been place before
do_pci_remove() will make it harder to follow what do_pci_remove() does.
Does it need to be a separate function? Can't you inline it in
pci_remove_detached() ?

If it does needs to be a separate function, a better way to lay it down
would be to replace calls to pci_remove_detached() by
pci_revoke_permissions() as appropriate, and rename it with the prefixed
"pci_remove_", that is pci_remove_revoke_permissions().

> TODO: For HVM, we are now getting the following error on detach:
> libxl: error: libxl_pci.c:2009:pci_revoke_permissions: Domain 3:xc_physdev_unmap_pirq irq=23: Invalid argument
> 
> This is because the IRQ was unmapped by QEMU. It doesn't feel
> right to skip the call. So maybe we can ignore the error?

The error is already ignore. But I guess you just want to skip writing
an error message. But I think we should still write something, at least
a DEBUG message. Also add a comment that QEMU also unmap it, so errors
are expected.

> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 7f5f170e6eb0..f5a4b88eb2c0 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -1980,75 +2052,19 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
>              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;
> -            return;
> +            if (!rc) return;

This is confusing, we usually check for error condition in libxl, not
success condition. So the currently written code is better.

> +            break;
>          case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
>              pci_remove_qmp_device_del(egc, prs); /* must be last */
>              return;
>          default:
>              rc = ERROR_INVAL;
> -            goto out_fail;
> +            break;

You can keep the goto here, this is the usual way to deal with error.
(except a label named "out" would be more appropriate, but out_fail is
fine).

>          }
>      } else {
> +        rc = 0;

You don't need to set rc in the else block and just set it after the if.
The true block of the "if(hvm)" can skip to out_fail on error to avoid
the rc=0. That's an expected pattern in libxl.


>      }
> -skip_irq:
> -    rc = 0;
> +
>  out_fail:
>      pci_remove_detached(egc, prs, rc); /* must be last */
>  }
> @@ -2242,6 +2258,8 @@ static void pci_remove_detached(libxl__egc *egc,
>      if (rc && !prs->force)
>          goto out;
>  
> +    pci_revoke_permissions(egc, prs);
> +
>      isstubdom = libxl_is_stubdom(CTX, domid, &domainid);
>  
>      /* don't do multiple resets while some functions are still passed through */

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 17:48:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 17:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586498.917751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX3aY-00009T-VS; Fri, 18 Aug 2023 17:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586498.917751; Fri, 18 Aug 2023 17:48: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 1qX3aY-00009M-Sj; Fri, 18 Aug 2023 17:48:46 +0000
Received: by outflank-mailman (input) for mailman id 586498;
 Fri, 18 Aug 2023 17:48: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 1qX3aX-00009C-Hj; Fri, 18 Aug 2023 17:48: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 1qX3aX-0008I3-Ds; Fri, 18 Aug 2023 17:48: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 1qX3aX-0003K9-33; Fri, 18 Aug 2023 17:48:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX3aX-0000O5-2U; Fri, 18 Aug 2023 17:48:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5DjkRIAmEc/nZ8++9OECYRg23N6wly/v2/t87nwxyrw=; b=W5drBhJ4naAaNDSSc1pFhAr62g
	UMgnN0rU6GOr6jwG3HC+VsIWGdNFLaHQ6OvCGU8OZnWh592PD5IRHHlvpGjKA/7tGenPgfw1aBLO1
	UqujVh/IeqHBX496uDt3pmKveGsTYiStGx+GtByuYRfNc6DbXyJace1P3biDXuJcIdBE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182377-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182377: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=38ba0466a1e262edd031500d24919fbf4e48c794
X-Osstest-Versions-That:
    xen=38ba0466a1e262edd031500d24919fbf4e48c794
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 17:48:45 +0000

flight 182377 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182377/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 182372
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182372
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182372
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182372
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182372
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182372
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182372
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182372
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182372
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182372
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182372
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182372
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-amd64-i386-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-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     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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  38ba0466a1e262edd031500d24919fbf4e48c794
baseline version:
 xen                  38ba0466a1e262edd031500d24919fbf4e48c794

Last test of basis   182377  2023-08-18 05:14:40 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 18:34:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 18:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586507.917762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX4It-0005dK-UR; Fri, 18 Aug 2023 18:34:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586507.917762; Fri, 18 Aug 2023 18:34:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX4It-0005dD-QS; Fri, 18 Aug 2023 18:34:35 +0000
Received: by outflank-mailman (input) for mailman id 586507;
 Fri, 18 Aug 2023 18:34: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 1qX4Is-0005d3-Qc; Fri, 18 Aug 2023 18:34: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 1qX4Is-0000vW-NL; Fri, 18 Aug 2023 18:34: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 1qX4Is-0004QM-7p; Fri, 18 Aug 2023 18:34:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX4Is-0006iL-7E; Fri, 18 Aug 2023 18:34:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9e9TRrQ8WA/WeemXJu05JnrRgDpCKF5SGFO0D2AzqyQ=; b=ktnDTq3o8OxEicC7cIVPTdSqLc
	8YKUd578qjHCZN9zEDdE+0/zvz/w09gkMCVEJ2uEBXfHOztK+ZCNHeanGWZTt3Q8z91UCHn4mXOKp
	KVsFvtd8kiKvY/9qmHGuaLgtlGd05mP+2WePekf8AEFympRDOLgqjwh1i4XqPl2CA65s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182386-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182386: 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=cd36188b2762a05c322a5f56bcfce59c2d9cac2e
X-Osstest-Versions-That:
    xen=5cd6585177e99947a5f62345edbe657663ad9fcc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 18:34:34 +0000

flight 182386 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182386/

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                  cd36188b2762a05c322a5f56bcfce59c2d9cac2e
baseline version:
 xen                  5cd6585177e99947a5f62345edbe657663ad9fcc

Last test of basis   182385  2023-08-18 13:00:25 Z    0 days
Testing same since   182386  2023-08-18 16:02:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

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
   5cd6585177..cd36188b27  cd36188b2762a05c322a5f56bcfce59c2d9cac2e -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 19:43:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 19:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586516.917772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5N0-0004f9-P4; Fri, 18 Aug 2023 19:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586516.917772; Fri, 18 Aug 2023 19: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 1qX5N0-0004f2-Kl; Fri, 18 Aug 2023 19:42:54 +0000
Received: by outflank-mailman (input) for mailman id 586516;
 Fri, 18 Aug 2023 19: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qX5Mz-0004ew-LJ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 19:42:53 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69b5fa3b-3dff-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 21:42:51 +0200 (CEST)
Received: from mail-co1nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 15:42:45 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5798.namprd03.prod.outlook.com (2603:10b6:510:35::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 19:42:43 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 19:42: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: 69b5fa3b-3dff-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692387771;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=V8ebfZtuIkfEJ0Dp+1DtTUHn40roQlWG7LfYvdzPDg4=;
  b=WSrnZZHPuEFYJlfkcqg0Awor+pkwPxPphxqjM8jlAPimv9oKk6mZmaO6
   nM3Ofnt9APYQgPFsieBjKf75+NkyFo66MegGZPLC+7dNN70X0WmXGQ7Yz
   qNqts5bgDHz6xTBdMC/CsZLVBNgCPUnFOZUwtJI0EZ+xSdYxNDuKYS8aj
   Q=;
X-IronPort-RemoteIP: 104.47.56.177
X-IronPort-MID: 120369544
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:P0CDxqj4T4KP2S49ooruJOQoX161pxEKZh0ujC45NGQN5FlHY01je
 htvUWqGPKuCYWOgLtonbN+19R9TupTWydNmSgBvr3w1Ri0b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AaOzyV94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQRBjIhRUuvwNmL46CkVsluvcQBAM/0adZ3VnFIlVk1DN4AaLWaGuDhwoYd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluGyb7I5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TefgraA73QHProAVIB0faQGrucKfsxa7SvJnG
 1RT9wo+vJFnoSRHSfG4BXVUukWsvB8aXNoWEOQ850eO0ILb5g+YAi4PSTspQN4sudIyRDcq/
 kSUhN6vDjtq2JWKTVqN+7HSqim9UQAFIGlHaSIaQA8t59j4vJp1nh/JVsxkEqO+kpvyAz6Y/
 tyRhC03hrFWhslS0ay+pAnDm2j1+cePSRMp7ALKWG7j9hl+eIOue42v7x7c8OpEK4GaCFKGu
 RDohvSj0QzHNrnV/ATlfQnHNOvxjxpZGFUwWWJSIqQ=
IronPort-HdrOrdr: A9a23:9ElJpaDxkAuOn1TlHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/
 xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM
 lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ==
X-Talos-CUID: =?us-ascii?q?9a23=3Axw7S1GuZskt3AQfUBT0wqf2J6IssXH/x5yz8ZHS?=
 =?us-ascii?q?FKnR2VJ2Xcl+y1KV7xp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AD4yimA++G9WGSlX78kflh4OQf8dh3/6+EHsrqM0?=
 =?us-ascii?q?Dqum8BTQ3NheNnQ3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,184,1684814400"; 
   d="scan'208";a="120369544"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KEtYWM/KJ5RFLDdjHks+UlsAmN95R0ThPB9jT/q6y8546yCj4/ooUYCliZP6/wpWPzaZmMNpsjBvGvJVlmITqqHxZq5nkoknPA4ksyz89C/kzplvyAqIVEn6nz7niMlYhmgAThMme3xCLVhQnDkV2yTQ3kUizsvH1IILKCZxrhct8o5ytYVgHvt2x2yTiB0D2erALWjhyALotRvVmHOY6LHMNF0vxgBa2ADrmnvm4Ud1Sf+eKcGpUQ6FgOGeqMhlSiS4d/hj5oxaZ7KMHf9K5lIyCTP5FtfWCf5SlzyRDoDb31bh330Gu9vPiUVV3HlBGBBZUlQ4f8Iwo9M+yAxjZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V8ebfZtuIkfEJ0Dp+1DtTUHn40roQlWG7LfYvdzPDg4=;
 b=gZAQrNWaAt4FuS6R4Ot+Idu/6SXPopd0gkjNEEazLPFfz3CezVLK/OUw/6ETwlQ/1jnMhNTJq9O+/MLyd3Lrca8mIBrLGCyi6L1SWTCUZltO9hyNi29euBdubjKYKZiHPiql2BSbNU+y6iQn4XV89xiskHNVrH1MPrMdNXByOUDkU5ZgdZMlAG5UamuK8KFdl7SdniD5G7p+ASMiKJR89+I4JagOPwZ6lFMu0mnTU0j/swEgFcn8JXaByHkLHDVxYAi+yI8KZTe1Dgp3X14cAOOueyZ+EiBtWPkz9X6ufevHDgYfxIu57HiRiBWMIs3gIm7vrM7JGjYB/3oZyw6Z+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V8ebfZtuIkfEJ0Dp+1DtTUHn40roQlWG7LfYvdzPDg4=;
 b=IL2I+ndZAq7Zt+hgSbHVN7MFpuH8x/kNaH0T9WiN3Fn8KwGeTtuYEyeHLegaLQnDvCceJ3sglb+671KKsZh5aDUqd4Wn88OHnmu+GUxfSxv2YyhYUhwLwBaCA9xtfYVyNE3l1vBDW0iljo3j2NRFS7nUQGio7Nm4T3gdSkPpxIk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <292e7e21-cd7c-ad2c-06d2-c07e5941c776@citrix.com>
Date: Fri, 18 Aug 2023 20:42:35 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/svm: invert valid condition in
 svm_get_pending_event()
Content-Language: en-GB
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <0a8fabe0-3741-ebc2-d89e-cb3a849a2683@gmail.com>
In-Reply-To: <0a8fabe0-3741-ebc2-d89e-cb3a849a2683@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0002.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5798:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c3281e9-ab31-4340-5965-08dba0234925
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E+789JqgmAQB0yEpNGvQk79vzemhkSUdpQ+oL4XGcMOaZE592KiXNqzryzsCFnc9ohdlcqoiPBdkaZEop52pq2zV44lSEeUgbjPiXlp0XrkTcEamd+hgJGyGGnUfijb4Vc8ZyzSh8anahUhOCkKtQ54r3w+YtufmAlodig35H/57rFeJK4xZJasM0bwaWBKaayuWpIwgh8oRIVdaA43W9RecKexjqXuzh9JQL82EefKV7uaezN1cK3+5Kvkfv5CPqdAvkvn1WervpdeVWRU6a23Qt/3lYXq3YAmfgE1KQwxCj62twz6MwES2Pv2YxZ55+nm4cYhmmEW4v657vNHczNMGkzU/yGX2HT/SGX05m/VDG1O5yL4nboeUjPyBx67y83HDRMBegXxPCYZts/WCeQA4sXSmDZ3HhQbYGK755GxZ+urujfqKAao+EqxJKC3Edn9BdPoMcRNNtjrPx1Se7GiGUye1VnXYNHYo3cwwMxBJK+NG/bDIyr19XEfTbJcrcUfzp5tD19Eih6vgy6PH6h7hZ1KILtO6Jyaph8qgvUPibw0eRpV/bqUu9WhgmlhbaJ+k2nfUPr3C41of9PGiOtQdPDgtXy+n7CRvv+rYhaQ0uBQEoJc5KfCouiR7+PPhXu484D3MSbQPTi1TM4ri7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(39860400002)(366004)(376002)(1800799009)(186009)(451199024)(6666004)(6486002)(6506007)(38100700002)(6512007)(53546011)(82960400001)(31696002)(26005)(83380400001)(36756003)(2616005)(66556008)(316002)(2906002)(6916009)(54906003)(66476007)(66946007)(4744005)(41300700001)(86362001)(5660300002)(8676002)(4326008)(8936002)(478600001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWZZUHF6RitTaUhqcytBejJ1K0QxcktVbit2VWFOMGJEeDA5SkZUQ090elU5?=
 =?utf-8?B?Z1VDc0l6NEtVTGpEMkRYV3NHUnRHZERxY0pLWlhzaHhkaHNJdnFuekNPZnpJ?=
 =?utf-8?B?RzVFWGFJNEZ4SWpNN2tiRTlPQlNPN2Vza0VCTjRHeTFoaGplRFk5Yk5wTUhP?=
 =?utf-8?B?YTRyVGlkTVhJbkpHWVI2MEJSbERDZXQ4aVRDbFh3ZVY1TmhxVTU0bGRUOFpk?=
 =?utf-8?B?cHVjdU1CV3haRG9QV2NEaHA3QzcvSUNGRXZJdG85T0U0b3RtQ2E4a3gvSEp1?=
 =?utf-8?B?bTR0cm04NVV5YTQzWlZ4eURsRng3aUNRT3F4VmFkcW1vYlNoc280cmVCaWFl?=
 =?utf-8?B?WEZxS2dJT3dtVnR6QTBSK2JRZTIxUEtmM1U4azV4Y05FeThqMHdwOGkxMzEw?=
 =?utf-8?B?WDM3YU5lZXRKTlEzY1JITys2aVg4UnhJZzNTOXdWVFNGOTJRalVXZ0ZOVDg4?=
 =?utf-8?B?enJpSDBNUFNqeUtMQ0VNMGQxaHh5L0VybDl3aVJLMi9vdkxOeEFxK2ZyRjF0?=
 =?utf-8?B?K3pKOUlpNVE5dHUxd2xQWW1lWUVJRUZVVVBjMVVGMXVFOWVNTzcwa2cxaG94?=
 =?utf-8?B?WWFNbkU1UGludW5DSktvOFNNaDM3U3g2MWJSbnFWdU9pY1ZWbkRubVk4aGd3?=
 =?utf-8?B?RXE3b0N5NTZ6S2FlZTN6aXIrS0psNG8welFlRXYwdHhTTnJ3OGdack9ZVEJp?=
 =?utf-8?B?ZHU0bjJNb1ltY0EwWmZNci81amgydkhTWHNOWG0ycmJBYVBaMHN5ZjB3L2o2?=
 =?utf-8?B?UExlRGVIaDd5ZXdjK05MeTFpYklqUmI4TUN4TWdRSC9seUdPendNT1pwR3dB?=
 =?utf-8?B?NUNUTDZ4WVdqbkJSS3hVeVQxK3E5ZERrbWNGamFxYTE4Vzd5Y1FnTXJZQmZj?=
 =?utf-8?B?azlpRnZldll6M0VSZWdNdUhmU0twK2FzeDdTT28zRThOczd3NWFjZlp1ekJG?=
 =?utf-8?B?alBtZy9kY2hyVk16QzhRdUE1MWlNSmhua2lWZTlod0l3bjBnR0p3T3Z5VlZF?=
 =?utf-8?B?OVUvZlllaG45b2FBME9xYUJvdlgrSlUwY241YW01dnQ5c21CdzdtODMrZ2lW?=
 =?utf-8?B?L2VFZ0dQTnorS29BdVhMQ1cralBmZ1NRcUdTR2dxaVNhTmdLVUFGeElnckhX?=
 =?utf-8?B?M2xWUi9CZFRKV0VYWmpuWGw4bVhqQ2ZBMWtuSDZEcjhudFlmL0hoeDQ4YVh1?=
 =?utf-8?B?dEE1b2gvdFMzZ2pjaWFNaUN6VjliLzAzZ3czd0IxWWJka3Y3cUpYSHhQZjNh?=
 =?utf-8?B?bWk5YysxNkJYK2ZNQXNieUJmZHFIcFJhSGVTQlJXckc3M2NzTDJZR1BUSm4z?=
 =?utf-8?B?bm9ZSFZ5R2JLUEJobCtEZXp5c1FVeFhhK3VrNUZyNmlRaDVNOTlVSDR0UzZz?=
 =?utf-8?B?dGlGdzNMOURXcUs5STZ0d0VSbWhBOER1b3JIa01sVlRNUUlRSytVTGVxZ1ZQ?=
 =?utf-8?B?eDdXSG1TNEx4VnhNYTIvTWNKdkdySkJkK1hZL3NNZ1NSSVl4Ull6MVo5TXNM?=
 =?utf-8?B?blBQNE9rKytub1NwckhRTll1VFRaTzR3b0haSXIrcjhXc0FLbmFnYVYzdjF1?=
 =?utf-8?B?OWVRSi9mL000MjJ2ekJqUDJUaENkei9wc0daQWUwUldzMG51Vk5ha2ZZUDRw?=
 =?utf-8?B?RjZjei9pQjRLRFcrVkViWCttUW1vVVV1V2c2YzlXd2paS0kzL0hNZ2taMEVt?=
 =?utf-8?B?dWk0MHY5eU9JWElud3dYWEU5Tkp6S09WZ3JjamNnL0R6Y1I4OG92V2lkVzd3?=
 =?utf-8?B?NkgzWTRMWURBZGI3SHQrV3NjS3hIN3hpQkU0Q1d0eWFZWDdNdjBQQlVVQjdD?=
 =?utf-8?B?UURFRW5aSHRnWEN4Zjl6aHZJK09hblhYckRLenlDa1g4TkRHdklkYjZ0ZXls?=
 =?utf-8?B?cFVzMkNQZFdIeDVWZUdCZmpKbjJvcGhmN1hyZEtMVm9INDJ0eDJoYm9PdFdj?=
 =?utf-8?B?akNGbGtVZE5xSXE5VW0vaGU4M0JWbnlWNFJtaVJEaktwR3VDWERteWhGcGlr?=
 =?utf-8?B?UFJmcUdvcmRia2dVS3ZwMXZNTmVHUHBYU3JLMVFmbk05Y08veVNGVi9ZaUxh?=
 =?utf-8?B?SnozVlBIV1lJTlNrT2t6OFpsLzV1MWxQKzRnSUlIQzBMWTlhOURQdjBiTVEy?=
 =?utf-8?B?em9hMXJ0ajNYNStqVnpKckVTNDA0R2YyS0xVM1plYm9WQkJLcFlKbmE4ZEZq?=
 =?utf-8?B?VlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	uGZ8eT5ovfgsfldBvImpYMcVP+0qi1pJo45RhPh4twsTQRzupkQko/IsMchH45g3K0cnZCmMabl3qKDxv6IYaaNWB6lth0f1sergbA/XLPty6AjS1R56AtRAIshnDGTu0gChJB4WZGzaVAm2MjS1Dfmw/zSOdYXk7/DMwLVGIioi5/P++LhHEMYJqot/XD9MGCqVUxQRIn/ly9GxUxQKTYlZPkVEhlUyaGgGPcSKkeQJ5eRc9yGPTaKyt2XSolka/nDHoiV0s3nGd2M9xNRwvcei/n7VeM/Od3HmxQu0VC2vkq+ZbKtVVaumygODc7v0+LLIQIrObGB5xAOzan8o0RNb7+2OOtOpOwVhSdl6VDiCPsFUBSK2i89AIK+Twt0poCCVx11+Hf4rxKN+8YjhebiWcsJz3IIYD0TjJ0HjsV84vF95kuT2iFc6sRR+UbhjEsuoEIdIHZ8GxxqlXHDevekhHdHR9d5DXXVKYthVtO9zd+8DsFDXTXRYGMSUw/QpRh0AH6fEzeR8QezO/uTLw1gvgleSjSYwsSYuNqFcJeo7PewPDhDaPvLVXhgyAkgyQyiNmEmPk5WKzflRPb30sQsugLijp8IrLM0XGd2ur7XefAgXdVWXlIbPOQVJhvMCwMxEc1aQjvHsa+l5VeJjLx8NohpKviACoojI9AiE09+8py5roek8cE6vqmboWe0JvdxaHsrfvcUJXzRUJFROUzTPtP0CTeOHx8oP2Y6qjgEdu1FaHkga3LRB4znWyyvJrIzBMHwcsZpSb+qcEzulHrsOqyY1vt0lwBdSuL7oPynemgy9KGIQ4QDauUWIDD/FwUWHv4LUoZguOJIoMEp83rTSy8cIu5Vyu0F9HX8Kovk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c3281e9-ab31-4340-5965-08dba0234925
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 19:42:42.9555
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DDc9ZOqPp/47QTBBpiLnorVRM3IMXARHKtGbOJBSOQeUfhV+ly+23BT2ob6qdaaYwrUTRUJbxA3zMAmV2dkZbdDNijaDQRFkH7eBRC/sfsk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5798

On 18/08/2023 5:03 pm, Jinoh Kang wrote:
> Fixes: 9864841914c2 ("x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT")
> Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>

Yeah, that's just straight up broken.Â  I'm not aware of anyone having
used this in anger on AMD systems yet.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

I've tweaked the commit message a little bit on commit, to make it
clearer what you're doing.Â  (You're not making the valid condition
invalid, which is one interpretation of "invert" in that context).


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 19:50:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 19:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586524.917782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5Uh-0006IM-KJ; Fri, 18 Aug 2023 19:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586524.917782; Fri, 18 Aug 2023 19: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 1qX5Uh-0006IF-H9; Fri, 18 Aug 2023 19:50:51 +0000
Received: by outflank-mailman (input) for mailman id 586524;
 Fri, 18 Aug 2023 19:50:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qX5Ug-0006I9-D3
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 19:50:50 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85c9c660-3e00-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 21:50:47 +0200 (CEST)
Received: from mail-bn8nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 15:50:45 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5346.namprd03.prod.outlook.com (2603:10b6:a03:226::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 19:50:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 19:50:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85c9c660-3e00-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692388247;
  h=message-id:date:from:subject:to:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=PdTcimKJGAEgg7OERLJU6KpXxD6UtrxNz0S3ZZZ1CBU=;
  b=JLRjg+4cr80cDNp7RBknSNjuoAa5qevra2KF7mDc+bFdHFwb/ddJnODh
   1lynh0VVm8RKpNEpCiYprQsrwadeTi0hlAnSfgYvI6DHc80YRRbuGvplS
   AaugbhpROdkSeoozt6CeKe1VF2z7wZcvl2mXfh5Apq6R0A34TyxPehnAW
   k=;
X-IronPort-RemoteIP: 104.47.55.171
X-IronPort-MID: 119952401
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:kKNN1K49rejAyAqcjZr/EwxRtDTGchMFZxGqfqrLsTDasY5as4F+v
 jYeUGHSb6zfN2fxftB1O97koR8Ev8CDm4AwTQY/qyg0Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35ZwehBtC5gZlPaAS7AeC/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 tZHOQ4PcC+/tu+H4J+pE+5VvOB6FZy+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+GF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtLRezlrKIy2TV/wEQSFBIsc3GSv8DpoRKFGPd6B
 lwP9w8h+P1aGEuDC4OVsweDiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6cLqScC0
 1aIm5bjA2xpubjME3aFrO7L9HW1JDQfKnIEaWkcVwwZ7tL/oYY1yBXSUtJkF63zhdrwcd3t/
 w23QOEFr+17paY2O2+TpDgrXxrESkD1czMI
IronPort-HdrOrdr: A9a23:U/OopKPoElRVr8BcTuOjsMiBIKoaSvp037BL7TEVdfUxSKb0qy
 nAppgmPHPP5wr5IUtQ/uxoW5PwI080l6QU3WB5B97LYOCBggWVxepZnOjfKlPbehEWwdQtsZ
 uII5IUNDQpNykBsS8h2njBLz/8+qjgzEl1v5ak856yd3AWV0kOhz0JczqmLg==
X-Talos-CUID: 9a23:yoc6TGO84DFhV+5DQwM45XAWBP8ZQ3Ds7FrCekiBM0IwcejA
X-Talos-MUID: =?us-ascii?q?9a23=3A4gIK8Q6aKorc6LHzgnCanswexoxp/6uULmokj6x?=
 =?us-ascii?q?WkJW/dglVFieGgRG4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.01,184,1684814400"; 
   d="scan'208";a="119952401"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TAa8Ri162LFB0g0OcsYJoIlqay7QDQiYlu3Z46K/F++stTUCKZSKdTU2XGF0KMJHkuycVUES/nu4aSfsZAFkZxI6RNzf+9gV6sUlj+fY718BdNiTwxjFH+LJ7o9cPiR4OerAYpwNCTJwlCk8/ngUjxhjlrgZiJoKJhUVa/fRRe7bpzwJ4O2uCvCS9kNYyJR99zcBt7FlxzhJORAiwjytIibJaa0DnbKXXJA2jSKHd0h8O5EM7POy5KZ99VODQJJnLPM8erRJitEFvpc3KZjmMYXcqC+t4qnbumV9vrOLYeUlfIF7EpANP/C2PIkU8DMVMsG3YWJuqjcI6nijI/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=IDzqrjw1YhNXByOxtuYV1M2FaVATqHIsBauoC8lELjo=;
 b=AfuopdjwSawbH5IaSmeu1IfxZ2cMXFH78JGKmnfPt1UZPhcsfzVpqCI2LRF3NoG7EeIHJW/m/JtrgCyXecsYMz9Jpww5aOcoeOOOT/CujkTJI2qMVKv2sNcOswjaBs6uIRXmK52aEV5Yl9SSU+m08lih3nQHfMqtDhY57z4FeA0wQgP4XYTGfTy7wvElJbEtTdj7u2iL/JlPGpLrm9LPbT5VFG2iuGY+kwIOm19yYZn1+ZzCRS3a9JRw3IAsOy0FN9WqValn7mGBLZnlQEUnlQJBszjBujcjVoMlqd0m4oguDTm+xatyqlcfe78PZKCt4H2xryAbHwPx7k3zW2McRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IDzqrjw1YhNXByOxtuYV1M2FaVATqHIsBauoC8lELjo=;
 b=FT/5OWG7SABPvQuMqZ6gYcPd0gpwU6gdmzyUBuIOEpNvLQLRUpnQVdJo4PWdRRxZgdGqo/X4ZE8vNIeg3ZvMgQhS5Kmsf0qXAOIgnIrEbQw5m5AM3R5JoAe2gaZDTLe46h9mm1KRilZltj5CpVaMV2nqUrJRfyO3lJbIZMtEabo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c59f4497-24ea-c250-58e9-b26fd3b00ce1@citrix.com>
Date: Fri, 18 Aug 2023 20:50:37 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH] xtf-runner: python3 fix
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230817105111.4413-1-anthony.perard@citrix.com>
In-Reply-To: <20230817105111.4413-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0086.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5346:EE_
X-MS-Office365-Filtering-Correlation-Id: 221a2137-5441-4204-dccb-08dba02467b8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ssMDIr0kcTfFR/FUBoPfyaxrYfHI0Cyz0UvNDYeP+2EFe3C5L3HeyLL502z2cLTNbCLQw+inQgkn5SQao74em0ppBSDj0BQMn7tSXgeHFBKZ2im0jNJUl+I2tzyRViBsb62w3blVJmDyh4aWQ6vEJT3xaYAPJzeemeTjEgR4EwVCDJtX092EHXhQqdlz+KJN2fXwCaRYravAkjf3MU1IFSceESGwbZXH3/1ncI+q++U4ojaIV6WcnNtGX28lmnGdorLDDRtEvuwMEOOrmxhJu3hADEAuf0kIbuNQ+mFGmFNeDuCdrufCj+ON9TfjI8q10fZ9+r5q+IuKTDDxWgTJs4DryamJkWwQrt2FXUYbJECY6drr/lyZANGvSYyIekc8+49Xgc7kiELAUAa0sAntvw92T7tJa1uEX7GcJFX1lAdajcEynSbfaIaZjXDIx8+7lll3tp3C4WUhL2dpABRpFt/ljRgDJ9kClGOy31vZmw6MVb7b3zKXkw5i0vaLTu67fyeEdIGCyInRutbbvuhRD6V1w9x8tf/C0vs8WJIKO6d2ECVW6GrrA6dZVjWiwgOZ6Vt4Ayr4SowizbcecdDBHZ5W9O3rNrlS1xD2sn5kD6CreLQjeshog5Ynb65IcqWOjLzBF4Kf3EFX81ZAv/6I2g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(136003)(396003)(376002)(451199024)(1800799009)(186009)(2616005)(26005)(6666004)(6512007)(6486002)(6506007)(53546011)(5660300002)(8936002)(8676002)(2906002)(4744005)(41300700001)(478600001)(66556008)(66476007)(316002)(66946007)(38100700002)(82960400001)(86362001)(31696002)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlZhWUFvQTVjUkM5citCUFEvSTNJUzM4UnhkL04wS1BsMms1b203aW5zMXFz?=
 =?utf-8?B?V1cvdGRoVjlOYkRDQ0FXSUdYQjBHcm1kVVkvMitCNmZxSDRvTXVkczhRMHdm?=
 =?utf-8?B?YTZkZjVHd25qYmRsQW5SODJtQ3NmWkd6bGJvM3BmZjhCODB5Z3REY01hWiti?=
 =?utf-8?B?Y0ZYVUV2UUFLMkxFNjZSUG9zVm1nSkRxTkxkcHpQZ0hENEtpSktMYnM2OFQ5?=
 =?utf-8?B?cHFhcnFJREtOQXpmZHdJM210NEpxNFFtaDlPUXlRWmZJb3FFWGxYZmhidE1i?=
 =?utf-8?B?cGczWHlCR3d2clh2Ymx2dkwrU3RYRWdHdHE5bnNRZ1dpYkFNV3dUcUEvRGlU?=
 =?utf-8?B?UTNMRXlwajZFRTlDZ2dhN1VhMHAwOEU2ZitPOE5xcFA2K2t3clpZMUtzM1By?=
 =?utf-8?B?WUNSK3R0VFlvQ3k0VVc5TjFnUHJ4V21oKzErdnp0R2luenBpYy9kTThmRzJD?=
 =?utf-8?B?UWZpeTNKL2lmVklpWllrOG0wYmtrS1YwMnZsRkVWL25vUG52OEhWUDdsZGxt?=
 =?utf-8?B?dGl0cXJyL3NCSENPbjdacUQraHI5U09NcGk0TG9Uc0dKUE9DRisydDRiMVBO?=
 =?utf-8?B?KzdzWUFkTVU2amI0b3NUMUZEbEcwamNiNWdwTWRxRnRMOFBGOWkzOURSQUQv?=
 =?utf-8?B?SmxNQ1ROcHlLd3V4U0FwMHVBU0plbyt0b0lGWi9QdVN2cE8wUnpXMUxxaURs?=
 =?utf-8?B?d0htSHdTQjBqdUo5eDczZlBCRW1hb2lpNWZnR0dSc2ZPY0Q0ZUN3b25RRjRl?=
 =?utf-8?B?emJHbm5BWVpPSFVkKzFTRks3ZHROODc5YUdtc3RWcytGYktjeVljMWJnaTRR?=
 =?utf-8?B?Zmo0WkFkdk5CNWNjUkN4M0wvK21LQnVOYmVwYm51VHZQd05OeGhyYTVvQ25m?=
 =?utf-8?B?dHJCWjlDVWN5a1BVL0dNYUIrbS9lc2RmT2U3cnE5Y01BbU1KOGlvVjVTV2R0?=
 =?utf-8?B?REkrcWZjVUZzYmx1MGlRUUxlZGRydHpWT1VCRnF3Q25YLzhCS25ITmxWalNR?=
 =?utf-8?B?d1ppT2loQ01lVlc3cVJTc0FqVkFtbHM2eUtYZTMrMEowbGJjdkJXY1NrZDh0?=
 =?utf-8?B?NzlRUnhiaFZxT0lqejgyTGJELzRKMHR2dDNxbXpwclZnMlcrbVlhdlI2LzJI?=
 =?utf-8?B?VEtlQ01BblY2NGxWMG1EcFg4YS9GclRJNzZxRDN6eDlGLzVLWExIZ2tpQVB3?=
 =?utf-8?B?WlhUWGpXYUhBUzYwYXRlRW9aeUI3VFlYWEYzbkpVKzZUa05LVTBvZ1Y3Vzhm?=
 =?utf-8?B?MDN5b3VveExNSGpObnJSeWhBZXVHNnlsOE0vM1Z2SFpja1M1aXJ3Nm5IYXUw?=
 =?utf-8?B?Q0hJUko3V2dXd3pyeWJualVaZnZDNXdodkNEKzZrTmE0bUg4a3JMOVVpOHZp?=
 =?utf-8?B?bkkzcUM4cHFQK3NKdExta1QxeXU4ditYT0ljR0pFK0pwNDVPQ1lVQWlWV1Q2?=
 =?utf-8?B?SW9FSzJxZjZyOStTU1dyaWVtVFMzalZDWDJMSkxNM2MvKzg4aTg1WjQyVXY1?=
 =?utf-8?B?MkNZQXZ3MXh3aTZRdHFXU3JlMkRaQVVLTE5EeVNLSDFwZzlWQVVvU1lyeTFm?=
 =?utf-8?B?eXlPSWF3d08wR01vOERMS2NEUSswS3hvK3Rsc1BPVDhZTmRwcDl1MGRyZ0lV?=
 =?utf-8?B?bHB4Y0FQUXN2WEk0YUFycksyZnlISE9VcnBqUjNPZ1NLdEoxYjZ2VXRvemZ4?=
 =?utf-8?B?VnY1NFdDWnhXVDluUHZGaUZZaUZGMythL1AxbURCRUl1TnRqVjlmZzhnTkl6?=
 =?utf-8?B?TWtKcGhBTm5PbVZYbWwyMEh0bkV6ejRGWFRxTzZIMjcrSm4vb0lOSWVQMWpI?=
 =?utf-8?B?d1o2UCtJdVE0dWlwdUVIRUNxeXZRYXJteDlQTUJmaURtWTJEV3hDVERNeUcz?=
 =?utf-8?B?eTFwQXJYaVA0RnEvYVdSSlVxRldHWmNXMzhnZm1tSElhUnl3UTdxdENORnRx?=
 =?utf-8?B?b09tR2F2RVVNQ3BNQUV3VFlxYkhhSFBsWW5yb3hHY1gyWUg2a0JEdVZaTXJN?=
 =?utf-8?B?OHdFYzFBWmhzM09naXpQVndVM0k0STRLUjg5ejl1MklLQ0ZiemFjeTVmSzdB?=
 =?utf-8?B?Z1ZOLzR5a2t4YXE4c0cyaUxMM21OWGs5eWRQUG16ckh1bDR6K0l4QnF5Y3FZ?=
 =?utf-8?B?UEtLS2s1NEFJOTFETnVpVHBsemZMYUVkdkxlTDUwSlhjQzhQb3l3NnBucE9p?=
 =?utf-8?B?VEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ayRbiKBoBH2vDCPq9FA6xcn/cop1lIoep3jq2+ruAIqCZ7EEU7oUKAXjKlmZB++4idDJdDfuU/uoAdaXPR81udi7DgrDOS+xwUyBO7TUk7GFYkonc21LTY7YlGLmBcCL7e0t9n6gFctoBQCpTk4I5/Bsi9hsUcHyXg80iZfQPJlxZTSIOb96seDEvk19DMJicwK0PuUbLoyluOVaKqAkpmy0vzXJh499bYyCeq1rpbuv0NzjDIeK8crDfQJVl/z1g8VFFTzYh4vAZNiNPUWKv6WS+TyfBMdF6HZ9nnQ680pCqk2+P8+OzWhiHZ4rnVm1dcuqPtBV6wfefCMIB/V1wmkKvlZkHl5PSfsu1hm/znxMBGJb8SnC63L/UO0iINZolITJtShZ8INz9/OClY67g6d0iqVc4aOagJrRQk2D5ZHOyYRCDGAB6dM1mn/Hjm2HwJLGYAGijKmA6pQik1aM5EfSW1P2oxWr4WvDPgKPNILwLYJXbya5mHK4vLoyE/GTOFH6a2Hobi5i2ryhM1VVumIEp71sVSm+sfQOorsX21X4XhnE4DwA2k7YkXaKfScyI8W9eCrVI2TR9dlWyIBlokdjnP5JGCwxcL38SY2eDYKtPNOZezQfhkVboKBTV2BeMqSy3OiFO0KjIzZT9+8qvoxdZyew52ezqCLWVPF8uovI/7nujvbwaE7ckGxtmbZeJsnCE/EPB7nSASL9sM8CEObNAwW8K5wq3+UDQNBFf4e6k7JFwaAxqqfAU8QXVDSC4ZJ47bMdrFWdGk+aMCVmuA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 221a2137-5441-4204-dccb-08dba02467b8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 19:50:42.5481
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lw8VpsdJVTgGMHU3mM2fUts1eCUa5FKdePwCscOYiKS5E4DJF7SIt2XQbIKGhDAtp0oKPpLtsu2FYKJ4lnuv08L00EWk3SrQ5GTJAUleGuY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5346

On 17/08/2023 11:51 am, Anthony PERARD wrote:
> issue:
>   File "/home/xtf/xtf-runner", line 410, in interpret_selection
>     if not line.startswith("xen_caps"):
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> TypeError: startswith first arg must be bytes or a tuple of bytes, not str
>
> Adding `universal_newlines` open stdout as text file, so line should
> be a `str`. `universal_newlines` is available on python 2.7. A new
> alias `text` is only available in python 3.7.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>
> Notes:
>     I've only tested the patch on Debian Bookworm, with python-is-python3
>     package (python symlink) as osstest run `./xtf-runner ...`.
>     
>     I haven't tried python2.7.

Seems to work on Py2.7.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> and pushed.Â  Thanks.


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 19:52:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 19:52:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586530.917791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5Wj-0006rI-TM; Fri, 18 Aug 2023 19:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586530.917791; Fri, 18 Aug 2023 19: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 1qX5Wj-0006rB-Qf; Fri, 18 Aug 2023 19:52:57 +0000
Received: by outflank-mailman (input) for mailman id 586530;
 Fri, 18 Aug 2023 19:52: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=gAsY=ED=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX5Wj-0006r3-AZ
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 19:52:57 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d165a24c-3e00-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 21:52:55 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 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.6678.31; Fri, 18 Aug
 2023 19:52:49 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6699.020; Fri, 18 Aug 2023
 19:52:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d165a24c-3e00-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FAg3MtR9IhmMd8aB7ycNLtUnHSmx7PvaTXjxxQQSyDxukVhUZFfZQNSwlbdtoHvHls/ixDWoilIra5pZFX8uR/ifs7V/CMvqH9cpQShLXeQeLUGaszg+TmftGI3QB+zz/Vee9h+zcNlC39cuZUaScpkHuBWuSk/iPloyuHhMlXyxu0JHFjSGyj3S0l5/PsYqw8ac1tCT6+Ak8pDFlVFBr57SwOPay2WCUNYENnvNDKw82Jb3lKbx5+5k8FIkItKjwlvFZbicu9tgOvHikC8x+2cF8ijglqu3Gsd7BfojufIkpvpg7Wp/jJhojT/xoUa1L8LqmblM0TM9xS4Y3qkY5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h2rDp46L9Qn+UqrEKRyjjTE9VMY+gbw3gMDpxf2aHuk=;
 b=UCF3lCsIIB1iHjD9EfFUpbcc60nzRNpDHE4Xacjcyet7MOVKgHO0cO1+QVk5HvJvflBDTdmmp4OcWRvRgkJR/+1AKYP2zm0YSY3wApZb+kaYKE6zj7ATvRK0+8QFIve0WHgt+fyOI66Agu4TXX0MIE5tcECcvSvxtdPm2z/bo7lpIErNZVbp5YLdCxQExg/TsstUQoEF8UVTD4D1B/zbZrnhXr91/lIYzIO33czJgakjUsHyL3ahaUtnnM4uSrY90EKurYtsrcH0r8Y+wzm2H7hGChEBIK14cD8UY/C48KMQl9/Pe+YRJ4ZJSOqEngyaEN/xQbGJ/fnZbzHPuwWVjA==
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=h2rDp46L9Qn+UqrEKRyjjTE9VMY+gbw3gMDpxf2aHuk=;
 b=HH+i6r9tGCfo1S0WapgYCorOBfLc06rCrXsWmt3th/BSD1aePEGoZO6gyNyVihPf8Z8pYbxCNGzDZQxId1EWqq19/GHaCu6N8Zpoira8XXgaJeyPLmyHy+moIsgY9BpBjhBLqh3Mym6n4Q7JPBcgzQQByJnkrXz2uwBRtgQGlw8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Fri, 18 Aug 2023 12:52:45 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZN/MDcuo+IS0m5Cz@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
 <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com>
X-ClientProxiedBy: BY3PR03CA0021.namprd03.prod.outlook.com
 (2603:10b6:a03:39a::26) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|MN0PR12MB6245:EE_
X-MS-Office365-Filtering-Correlation-Id: a94944dd-d0fa-42f7-ac27-08dba024b30a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T3oHdC5P4Akkvd6Zgl/1oMpGSiuHKVNMZX5hCoKqNmZDsU+uS6Q8eQaRLg75MDvlmGb9QTbksqneJjdGdSuCCCuhQXlNtzh3Ng1GT4G2JHcgcR8rpSSSHzmOjOKTSntqVED3guym8MegAXHfmldG4CBJ7xJ//hBUosjREYp91pdfBeTErSd4v6mIu3xnztpkqXsFpemw61bJ4QkW+JPBlzuT7P7+s7b6boUGO8cYk5XUYC4F/RPeqGXtTzxZlQubj6MFsPDfpMJteJmRZO5Qjg8cw2+sF8+KQ1LsVCpScSkMqeq+Xh+2h4VKAGdZAtEUgCgI/vg9BbfteXPpA/We17wAv/l4Yfl6q1MgzmKFT+fR1IfbspWfHj31lfv2GpHPk0vAMJjxGhF7PUSM89cimpF7XOK9jEqAWmQhLKRFHPbBGg82TNMg9KltL6I5OkFOXFeMCyN+4VaQZL63vnpIkVI7eh2bxOozS1THMA1RsrZ9zMofMr+bTEPKFnVlsYIF7Smf2rmxbl8FQGa6xvhZ3cUzTYNU/ZknJVhCAOyL0r1rKAWxfjlfMVhm8HUTMj5v
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(136003)(346002)(396003)(39860400002)(186009)(1800799009)(451199024)(2906002)(83380400001)(6666004)(6506007)(6916009)(66556008)(66946007)(54906003)(6486002)(53546011)(66476007)(316002)(44832011)(5660300002)(478600001)(2616005)(6512007)(8936002)(26005)(8676002)(41300700001)(4326008)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGNNN2NwUWxJS0c4QXdjNVp3bkFQT2J6alJ0NkR1Y1BjS200NmMvR2xuZFJL?=
 =?utf-8?B?UXdCckxLbkdZVXRZbitMT0JYNGhIMWRRSUpudnZCUkVhdklGOUphb2x6aktZ?=
 =?utf-8?B?dlkwa2xTNVBucnErYm1xQUZIaUg2OTZhdG4xZ213LzFjb2hyRUFFRHB1WkFB?=
 =?utf-8?B?aEdqUTVqa1hldHZpUUJXK3hSWThIYkcyeVFTMCs2VEMyUGFNYnpZUms4amQ4?=
 =?utf-8?B?YkltWjlmNlJsQmdjT0VQQWxFWW55MnBOOWRGV2JyckVTVjc5MXkxdmZRWnhX?=
 =?utf-8?B?dHE1QWRxTk1IMzJYamNXU2tTVmo2aUNEeTkwM0YxdWpQVnk3blloMzZiRmN5?=
 =?utf-8?B?aDJlNTRJM3g1aU1xQkF0M3JOR0xQSk9lRnRYcFhrSkJXS1FQYloyWDE3WElF?=
 =?utf-8?B?S0cveFo1SlM5YnNZSmg5Z1NDZFZLQ3Z0a3ZlUDlId1RLM1JyL1dJTktUZm5E?=
 =?utf-8?B?eDgyWVp0UDNTODczUDZjZnBKRmh3WGtZNk1GRXN6VUNKSitUYzNJTEhmY1FX?=
 =?utf-8?B?TEloWmpjdzhtU1JaZWkwWnphQStvTHUxM2hiNXdaU3NUZ2psampFVkJIVCs1?=
 =?utf-8?B?UC9IL0RWTnpNeUZ1enRGeTUwbS93dy9lL244bU9XRStiU05wekV0NVhrN0pi?=
 =?utf-8?B?UGVUYzhuNGJ6MEdoVzN3WjRQU1k5OXNmMzBQUW9GT0RpVGx0eHRmQ1dBb2la?=
 =?utf-8?B?bXBPaUJWeXU3ajhhV3oxKzF2d2x4aURDNkwwYnZMOGZWdElUZ2o2OTBFbVFG?=
 =?utf-8?B?NWh6bGZmcitKU3NXU3ZXNG51QTBQakQ4aWpFOFpwLzFLVFJ5R3RzUitYRk02?=
 =?utf-8?B?ZTV0YTEwK0RYYndBU2lFVUgzVy92Qk5MdWR0UmgxeVB2ZWRFR2NuYUlGOGN2?=
 =?utf-8?B?RktRMEZHdVhYc3ZQeEQ1TDBIRkR2dDRrOVdHeG9yckZiSUhyZ1dvei9SbWhh?=
 =?utf-8?B?Q0I1VUVhdG8vOGEwYnpKZG1KbjZuUzdUcloyMmhubDgvb0tIWWkrQUhMc3dk?=
 =?utf-8?B?VDJQY1pXY09BK3JBeDhHUm1rZElVY21OTDNPTjdpa3VNQTUvM044c1RCbjFj?=
 =?utf-8?B?RzJSekFXZ2F4cUFKZi9VTEQ5V2VvNlRWOXNMUytqaDZhV2g2NEh2T2pBUHMy?=
 =?utf-8?B?SUR1QURmY1Z4bE5rRXk5UDZkNzI5Myt5TWZjOXgwd1VhbXhsNURCZmRFK2I3?=
 =?utf-8?B?SHErR0tVaXZ5dHJZeFp3WDBrYm45ZVhIcFRNZHlhVStuKzI0NStjUGMwSUhX?=
 =?utf-8?B?ZHZFWDlKQllBMnlLNDV1bzdRUE9hNmhIZUdKUkRJdmNTNEpTejdDQWtBRTFF?=
 =?utf-8?B?cWl1cTU5RTJjL0dVM3R6eSs2UG1HVytNUzU4dVlicU81V21yZDQ3MzhJdE8v?=
 =?utf-8?B?S281Q1hka29FMzc2Q0w1Z3R0ZFEyMHpTNk03WTdKSUxKNjZyNDFxWDhST1FW?=
 =?utf-8?B?eExrR1Z3N0VQdU5iajNaQ0dhOTdQWFd1STVRd0s5a2hXZDltNGUxNW44Rytw?=
 =?utf-8?B?ZzdpQXp1YmtWZG5nZEVHbG40UEVOMDNjVDgrck1DbnNOVEdJb0ZYZENIUVV4?=
 =?utf-8?B?K0E0M2JRU2NPaXlHUzh0MDJhem11QjN5aElPTjJ0ZmRHYklEYW8vdkNMSkJ3?=
 =?utf-8?B?Und3QVFZaG1XVTh1c0t0Vm1WTHpVaVN3MjV6eFQ4MEtlUG9LNnF5MTVBaUZi?=
 =?utf-8?B?V3BqdWpFSERjNzMwZlpDNEV2ZEs1RHp6Nk1aQVhPcVgzMVdQNVJMN0NEY0Jj?=
 =?utf-8?B?SDk1Q1pHSUpvY1kzaEFWekpyVThweW9GOE15R0piV2JIa05rZ3MrMnpmS2xR?=
 =?utf-8?B?Qm5STFdrUWlVOTY0MWsxR281SXozakltYmZHdWFjMWkydlRsY1RSTHYzbnFv?=
 =?utf-8?B?M1BtOGFqaTBiOHNxQkVBcEFOVmlCdWxvSDJUL2hmR0NDSmRnUVppazQybXNj?=
 =?utf-8?B?ZFFXb21WUG4vWUF5U3pWbmF5ZjJhay9SVy8wQWI5L1kyV3V6ZGNRM3BoQlly?=
 =?utf-8?B?NVFiNjVGWEZqTDY5aGlLWUtnV05sMEE5dzNmZEsvejV5NzBIWnhadnkyNEFQ?=
 =?utf-8?B?c1haR1MycFo0OUxQdzRPOXBJOFkybVc3YWgzVHVjSHlSa2J1S2Zodi9LQWNH?=
 =?utf-8?Q?VjJhNHBlBSAaOraw8kpBvv4Ko?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a94944dd-d0fa-42f7-ac27-08dba024b30a
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 19:52:48.8710
 (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: EU0ByoqjAprPQOhpSk+9kEsj1psS26BE1X9TYRmbzRODRQEbb1sAV/bMVO3UlXjwolQNMmnYNBgFVgM8R4U5ZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6245

Hi Jan
On Thu, Aug 17, 2023 at 09:05:44AM +0200, Jan Beulich wrote:
> On 17.08.2023 02:39, Vikram Garhwal wrote:
> > --- /dev/null
> > +++ b/xen/include/xen/iommu-private.h
> 
> I don't think private headers should live in include/xen/. Judging from only
> the patches I was Cc-ed on, ...
Thank you for suggestion. Do you where can i place it then?
Please see another comment down regarding who might be using this function.
> 
> > @@ -0,0 +1,28 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * xen/iommu-private.h
> > + */
> > +#ifndef __XEN_IOMMU_PRIVATE_H__
> > +#define __XEN_IOMMU_PRIVATE_H__
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#include <xen/device_tree.h>
> > +
> > +/*
> > + * Checks if dt_device_node is assigned to a domain or not. This function
> > + * expects to be called with dtdevs_lock acquired by caller.
> > + */
> > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> > +#endif
> 
> ... I don't even see the need for the declaration, as the function is used
> only from the file also defining it. But of course if there is a use
> elsewhere (in Arm-only code, as is suggested by the description here), then
> the header (under a suitable name) wants to live under drivers/passthrough/
> (and of course be included only from anywhere in that sub-tree).
> 
This is also use in smmu.c:arm_smmu_dt_remove_device_legacy(). This is added in
12/19 patch(xen/smmu: Add remove_device callback for smmu_iommu ops).

I will make sure to cc you for all the patches in v9 series. I plan to send
it today.

> Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 20:01:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 20:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586538.917802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5eu-0000BN-Hx; Fri, 18 Aug 2023 20:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586538.917802; Fri, 18 Aug 2023 20:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5eu-0000BG-F4; Fri, 18 Aug 2023 20:01:24 +0000
Received: by outflank-mailman (input) for mailman id 586538;
 Fri, 18 Aug 2023 20:01: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=9btj=ED=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qX5eu-0000B9-4l
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 20:01:24 +0000
Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com
 [2607:f8b0:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00bc88a2-3e02-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 22:01:23 +0200 (CEST)
Received: by mail-pf1-x42d.google.com with SMTP id
 d2e1a72fcca58-68934672e7bso1135399b3a.2
 for <xen-devel@lists.xenproject.org>; Fri, 18 Aug 2023 13:01:22 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 k21-20020aa790d5000000b0068718aadda7sm1906641pfk.108.2023.08.18.13.01.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 18 Aug 2023 13: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: 00bc88a2-3e02-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692388881; x=1692993681;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:from:subject:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xB28u1zm3hf9AOaDTv+ZI8WbHsp8761+RoR6rEuHlUM=;
        b=B2gZJx27kSVHlxvBqZTyN1BAurEVrKACc+Xb4ywKpJfqBMSkNPZobaMQ66TMiAWxht
         sIGpr0efNtczDWai8vlWo8eFzpRF2Zbfpo7pUrAPuvdR+2enACwvi2KefxX8jC+DpI8h
         WI5l7ncIr4LZWhAckBByBUjbp7x+ypgCt81EAICCRU/4GSdaJI/cuEEA8nSho5UrTmhP
         TF+yTDJeWhTPe1NfULSd5dXJ/D6n0aoQE5IzzAdp9S/EjxorMJWWfxm4pIEoIhcf9Yyb
         UmQroGOqzZyOGdlRbrSbgAjxTK+l6Mj5bwYEzTmMQGg2h4EQZeoxlB/xZXY3UMlRdeiB
         PHpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692388881; x=1692993681;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:from:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xB28u1zm3hf9AOaDTv+ZI8WbHsp8761+RoR6rEuHlUM=;
        b=CovNOTbKKvfL9bLfMzSeTEdDQLzoQCA3fzzNkfmDOpqlkTlur32TFyfJJcfPUnGCOd
         ocynQYdFu8HKiFZbHw7uM1z67i5fganplplVfqdDABnDVgRq+tyN0/5Rz53Ljx1kA06Q
         bmrACgd+5T7yNipnEsHQVsF/RsX46oXtL7U6RfgIfMGHby2RgLOTH6QvSMIKq5nFIgV2
         bQIvEKAO4Krp362WiX/07xX4tGZ9NvF+PGxSBkBLdZ6xZ6jdwDSQiIkSwDOBFWEzez3N
         nmtR1u+MMi94ikv5tAfpDpdRNZm5pNRY3T0WqT90T0dX9MI63IfnhR8fcmQLlZH+TUf8
         y45w==
X-Gm-Message-State: AOJu0Yx4H1KFT9XzSTsVIaV10rasjRLRmpkQXJGdL1UOx3kRoG3pkK35
	Q2o+7PzKfRDfcRoYuO+eALc=
X-Google-Smtp-Source: AGHT+IESL7+d7AhD/bbtZ/bnPFgwirHGqlKiQcnh2af2eQgIImCwIoMrIczwZZ8Y9i+WkR3Rq/Ftkw==
X-Received: by 2002:a05:6a00:1806:b0:67e:4313:811e with SMTP id y6-20020a056a00180600b0067e4313811emr349780pfa.0.1692388881023;
        Fri, 18 Aug 2023 13:01:21 -0700 (PDT)
Message-ID: <7405b6f6-2252-ff0e-78bf-7c70edf5d042@gmail.com>
Date: Sat, 19 Aug 2023 05:01:14 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 3/6] x86: don't assume #DB is always caused by singlestep
 if EFLAGS.TF is set
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
 <a677e1cb-3a81-b42c-25c1-ab2b07d8996a@gmail.com>
Content-Language: en-US
In-Reply-To: <a677e1cb-3a81-b42c-25c1-ab2b07d8996a@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/19/23 00:47, Jinoh Kang wrote:
> Today, when a HVM (or PVH) guest triggers a hardware breakpoint while
> EFLAGS.TF is set, Xen incorrectly assumes that this is a single stepping
> exception and sets DR_STEP in dr6 in addition to DR_TRAP<n>.
> 
> This causes problems with Linux HW breakpoint handler, which ignores
> DR_TRAP<n> bits when DR_STEP is set.  This prevents user-mode debuggers
> from recognizing hardware breakpoints if EFLAGS.TF is set.
> 
> Fix this by not setting DR_STEP in {vmx,svm}_inject_event, unless the
> emulator explicitly signals the single-stepping mode via the newly added
> "singlestep" boolean field of struct x86_event.

s/the newly added "singlestep" boolean field/the 'extra' field/.  oops.

> 
> Fixes: 8b831f4189 ("x86: single step after instruction emulation")
> Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
> ---
>  xen/arch/x86/hvm/emulate.c             |  3 ++-
>  xen/arch/x86/hvm/svm/svm.c             |  6 +++---
>  xen/arch/x86/hvm/vmx/vmx.c             |  6 +++---
>  xen/arch/x86/include/asm/hvm/hvm.h     | 12 ++++++++++++
>  xen/arch/x86/mm/shadow/multi.c         |  5 +++--
>  xen/arch/x86/x86_emulate/x86_emulate.h |  4 +++-
>  6 files changed, 26 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> index 9b6e4c8bc61b..5ad372466e1d 100644
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -26,6 +26,7 @@
>  #include <asm/hvm/support.h>
>  #include <asm/iocap.h>
>  #include <asm/vm_event.h>
> +#include <asm/debugreg.h>
>  
>  struct hvmemul_cache
>  {
> @@ -2673,7 +2674,7 @@ static int _hvm_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt,
>      }
>  
>      if ( hvmemul_ctxt->ctxt.retire.singlestep )
> -        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +        hvm_inject_debug_exception(DR_STEP);
>  
>      new_intr_shadow = hvmemul_ctxt->intr_shadow;
>  
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index d5e8cb0722ca..f25d6a53f092 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -96,7 +96,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
>      curr->arch.hvm.svm.vmcb->int_stat.intr_shadow = 0;
>  
>      if ( regs->eflags & X86_EFLAGS_TF )
> -        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +        hvm_inject_debug_exception(DR_STEP);
>  }
>  
>  static void cf_check svm_cpu_down(void)
> @@ -1328,10 +1328,10 @@ static void cf_check svm_inject_event(const struct x86_event *event)
>      switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
>      {
>      case X86_EXC_DB:
> -        if ( regs->eflags & X86_EFLAGS_TF )
> +        if ( event->extra )
>          {
>              __restore_debug_registers(vmcb, curr);
> -            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | DR_STEP);
> +            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | event->extra);
>          }
>          /* fall through */
>      case X86_EXC_BP:
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 8823ca13e55d..1795b9479cf9 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2022,10 +2022,10 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
>      switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
>      {
>      case X86_EXC_DB:
> -        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> +        if ( event->extra )
>          {
>              __restore_debug_registers(curr);
> -            write_debugreg(6, read_debugreg(6) | DR_STEP);
> +            write_debugreg(6, read_debugreg(6) | event->extra);
>          }
>          if ( !nestedhvm_vcpu_in_guestmode(curr) ||
>               !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
> @@ -3068,7 +3068,7 @@ void update_guest_eip(void)
>      }
>  
>      if ( regs->eflags & X86_EFLAGS_TF )
> -        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +        hvm_inject_debug_exception(DR_STEP);
>  }
>  
>  static void cf_check vmx_fpu_dirty_intercept(void)
> diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
> index f3f6310ab684..6a0b9e3ff01e 100644
> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -538,6 +538,18 @@ static inline void hvm_inject_page_fault(int errcode, unsigned long cr2)
>      hvm_inject_event(&event);
>  }
>  
> +static inline void hvm_inject_debug_exception(unsigned long pending_dbg)
> +{
> +    struct x86_event event = {
> +        .vector = X86_EXC_DB,
> +        .type = X86_EVENTTYPE_HW_EXCEPTION,
> +        .error_code = X86_EVENT_NO_EC,
> +        .extra = pending_dbg,
> +    };
> +
> +    hvm_inject_event(&event);
> +}
> +
>  static inline bool hvm_event_pending(const struct vcpu *v)
>  {
>      return alternative_call(hvm_funcs.event_pending, v);
> diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
> index cf74fdf5dda6..365af5169750 100644
> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -24,6 +24,7 @@
>  #include <asm/hvm/cacheattr.h>
>  #include <asm/mtrr.h>
>  #include <asm/guest_pt.h>
> +#include <asm/debugreg.h>
>  #include <public/sched.h>
>  #include "private.h"
>  #include "types.h"
> @@ -2788,7 +2789,7 @@ static int cf_check sh_page_fault(
>  #endif
>  
>      if ( emul_ctxt.ctxt.retire.singlestep )
> -        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +        hvm_inject_debug_exception(DR_STEP);
>  
>  #if GUEST_PAGING_LEVELS == 3 /* PAE guest */
>      /*
> @@ -2829,7 +2830,7 @@ static int cf_check sh_page_fault(
>                  TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_EMULATION_LAST_FAILED);
>  
>                  if ( emul_ctxt.ctxt.retire.singlestep )
> -                    hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +                    hvm_inject_debug_exception(DR_STEP);
>  
>                  break; /* Don't emulate again if we failed! */
>              }
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
> index bad957f9bcb2..868a64ab20e6 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -78,7 +78,9 @@ struct x86_event {
>      uint8_t       type;         /* X86_EVENTTYPE_* */
>      uint8_t       insn_len;     /* Instruction length */
>      int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
> -    unsigned long extra;        /* CR2 if X86_EXC_PF h/w exception */
> +
> +    /* Type-specific extra data (%cr2 for #PF, pending_dbg for #DB) */
> +    unsigned long extra;
>  };
>  
>  /*

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Fri Aug 18 20:06:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 20:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586548.917829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5jM-0001H5-IV; Fri, 18 Aug 2023 20:06:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586548.917829; Fri, 18 Aug 2023 20:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5jM-0001Gv-FH; Fri, 18 Aug 2023 20:06:00 +0000
Received: by outflank-mailman (input) for mailman id 586548;
 Fri, 18 Aug 2023 20:05: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=ghuf=ED=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qX5jL-0000rT-GN
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 20:05: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 a2eccc17-3e02-11ee-877e-cb3800f73035;
 Fri, 18 Aug 2023 22:05:56 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 598806111E;
 Fri, 18 Aug 2023 20:05:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC739C433C8;
 Fri, 18 Aug 2023 20:05:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2eccc17-3e02-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692389152;
	bh=KFMQls2qQbP04nnIi7Z6Ix85k3XFJi5m/V1Rh5t4aKM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rbB+Tlktugf4uQ6Q7ElXTyGTzyzsl/uMPdgTObJbUUBrVTZ3whnPsSsg830xZlX1i
	 GBanKDkY5CmgFag+Z7Y4nPnKO2aXyi+AGCfDSsrfg1wYZ9+ITFPyoGeqKp+wCb2U1L
	 Fpm7TYh83SaSfXrsgkn70XS+jrfNKdSdHNvPmqjB4gGaslP0vcTrCBJNP7FM1xEFBD
	 kynErSaGbHbe0lZHmwmixjgJQiYU1FDzqoHi5CoUXQFzxCAw6MkFMGBbhnge7HSJiF
	 LDgDYYbr+64tebpqGkSDS8mVArRV9Lp5llBFz7NbKTf1GWha+/JrCEJoELc9kg8HAO
	 MhQsdCzc820Hw==
Date: Fri, 18 Aug 2023 13:05:50 -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: Kelly Choi <kelly.choi@cloud.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "xen-announce@lists.xenproject.org" <xen-announce@lists.xenproject.org>, 
    "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: Community Manager update - August 2023
In-Reply-To: <E21FCD8C-DD32-43DA-885E-EA0782EA9FAA@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308181305310.6458@ubuntu-linux-20-04-desktop>
References: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com> <E21FCD8C-DD32-43DA-885E-EA0782EA9FAA@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-582677185-1692389152=:6458"

  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-582677185-1692389152=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 18 Aug 2023, Bertrand Marquis wrote:
> Hi Kelly,
> 
> > On 18 Aug 2023, at 12:55, Kelly Choi <kelly.choi@cloud.com> wrote:
> >
> > Hi everyone! :)
> >
> > I hope you're all well.
> >
> > If we haven't met before, I'd like to introduce myself. I'm Kelly, the Community Manager for The Xen Project. My role is to support
> everyone and make sure the project is healthy and thriving.
> >
> > The latest update below requires your attention:
> >
> >Â Â Â Â  â€¢ We will be moving IRC channels fully to Matrix in September 2023. Once the channels have been created, further information will be
> shared.
> >Â Â Â Â  â€¢ New Mission Statement, goals, and purpose is attached to this email and will be shared publicly.
> > Should anyone have any concerns or feedback, please let me know
> 
> In embedded and automotive in particular one keyword that would be interesting to have is "Safety".
> 
> We could add it in the mission statement and in the embedded technology goals:
> - The project aims to enable innovation, scalability, safety and security in virtualization solutions.
> - Transform embedded and automotive sectors with mature, safe and secure solutions.
> 
> What do other think ?

I agree, good idea.


> >
> > Many thanks,
> > Kelly Choi
> >
> > Open Source Community Manager, XenServer
> > Cloud Software Group
> 
> 
> 
--8323329-582677185-1692389152=:6458--


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 20:22:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 20:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586586.917839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX5zE-0004he-N5; Fri, 18 Aug 2023 20:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586586.917839; Fri, 18 Aug 2023 20: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 1qX5zE-0004hX-K2; Fri, 18 Aug 2023 20:22:24 +0000
Received: by outflank-mailman (input) for mailman id 586586;
 Fri, 18 Aug 2023 20: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=OTTw=ED=citrix.com=prvs=587dba071=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qX5zC-0004hR-Vr
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 20:22:23 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edc20cc8-3e04-11ee-9b0c-b553b5be7939;
 Fri, 18 Aug 2023 22:22:19 +0200 (CEST)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 18 Aug 2023 16:22:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5281.namprd03.prod.outlook.com (2603:10b6:a03:226::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug
 2023 20:22:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023
 20:22:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edc20cc8-3e04-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692390140;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qi4bK1mzMXI9n0x0Ain8VmBz09gGRrw9CeApVtaxyk8=;
  b=YKGzcEn5eq2zTK9tskxqdazPryc37P+qwFjak6lv32MebUwp7M4mfTqz
   A/cNnNjh0UpJe4R7IVYpPPhduWsKBuqLWdPBf2cxZj6qqXekN0GZXlKZH
   Lo8FUKlUC0O/NAKQQpYIKSsP54gkEXGz0LK/q0zy84Rddh+h7vft8Lb/Q
   U=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 119814130
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JuRnTqlzbhEQKxLl44LVEMzo5gwaJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeXmDQafmJYzD9ctkkaYu1804F7MLQmINiGwFkrytjECMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5Q+GyxH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eQRC2gsNRunvPPo7LeXWuVdlOoMffC+aevzulk4pd3YJdAPZMmaBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3iea9WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTezor6Iz2wX7Kmo7LzYRRVKmkaKAuhCQdslFJ
 RQL+gpxsv1nnKCsZpynN/Gim1aGvxgbW5xTGus1rgKX4qXR6gedQGMDS1ZpatYrqcs3TjwCz
 UKSkpXiAjkHmKKRYWKQ8PGTtzzaETAcMGsqdSICCwwf7LHLopw1yBTGTd9hEau8ptzzBTz0h
 TuNqUAWhLgNjMhNy6Sy+3jGhS6hot7CSQtdzhnWW0q14wU/Y5SqD6S45F6e4fteIYKxSliao
 GNCi8WY9PoJD5yGiGqKWuplNJGk4eyUdgLVh1FHFoMksT+q/haekZt45Th/IAJjNJYCcDqwO
 UvL41oPtNlUIWegarJxb8SpEcM2wKP8FNPjEPfJct5JZZs3fwiClM1zWXOtM6nWuBBEuckC1
 V2zK65A0V5y5Xxb8QeL
IronPort-HdrOrdr: A9a23:cbQYr6GTvyUaviTYpLqFiJLXdLJyesId70hD6qkvc3Nom52j+/
 xGws536fatskdoZJhSo6H6BEDgewKUyXcR2+J+AV7MZniBhILFFvAA0WKA+UypJ8SdzJ8l6U
 4IScEXYryRMbEQt7ee3ODMKadG/DDxytHNuQ6x9QYOcShaL4VbqytpAAeSFUN7ACFAGJoCDZ
 KZouZXuja6fnwTT8KjQl0IRfLKqdHnnI/vJUduPW9s1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G
 DA1yDp+6m5tPm/6xnEk0ve9Y5fltfNwsZKQOaMls8WADPxjRvAXvUrZ5Sy+BQO5M2/4lcjl9
 fB5z06Od5o1n/Xdmap5TPwxgjJyl8VmjPf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3lieq4FcAXr77WvADpnzJl9Xf3iP0DofeN0o/j9iuEwlGf1sRLkkjQJo+VE7bWfHAc4cYa
 1T5YrnlYxrmBuhHg3kVy9UsZGRtz0Ib2u7a1lHtcqP3zdMmndli0Me2cwEh38FsIkwUp9e+o
 3/Q9BVfZx1P70rhJhGdZI8aNryDnaITQPHMWqUL1iiHKYbO2jVo5qy5Lku/umldJEB0ZN3wf
 36ISVlnH93f1irBdyF3ZVN/ByISGKhXS71wsUb45RioLXzSLfiLCXGQlEzlMmrpekZH6TgKo
 GOEYMTB+WmIXrlGI5P0QG7U55OKWMGWMlQodo/U0LmmLO5FmQrjJ2qTB/+HsudLd9/YBKBPp
 IqZkmMGPl9
X-Talos-CUID: 9a23:CTZJK2HlX41xLoOgqmJ//W1MO5suVkbMklvVD1+0OHRHZ+ysHAo=
X-Talos-MUID: 9a23:X+VgmwvVJDEowi96Zc2noxplJM510/+XOB4jvI4ctZGbNQwvJGLI
X-IronPort-AV: E=Sophos;i="6.01,184,1684814400"; 
   d="scan'208";a="119814130"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PXSiXkT4E6EUMy81bIQg3tD+zhRkKhrCPmai1/FXrReeCcLHRqD+iOldZOLtOsNZ1tfI1TYKWYLPbohpZFJZZXk1xruz0+ipCZvV0w2vcWFt2GiO97xzGIk2Xq85XVhYfKnn3r80YEMIRR+DLmm7Cpw1bJlULfHy1MT0d5H9yvURTAVgfIpnl5YcfDYhSCBWT4km2Vy1P2+qKq6OSv8HCC721gN8O2CpyDhjwAYBbnU/N57/aBN1dvcEdp1h+mQTotxsedypOEkoVnFdG4GOZvFxYfNrANTNh06EXFtoIXAeCNROwKlv7I+F1bC0PAejavC1otT+0+UkLy/zpN3JSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qi4bK1mzMXI9n0x0Ain8VmBz09gGRrw9CeApVtaxyk8=;
 b=I0QkhFOSRbdULTovrL5VTAq9RbcQJ2wxgsBuoCdP5uLuOCepxg40+fRwaLXsn1QUSvnQ7G15lTxEDzXLiEra+0jSibdC3Qn7AaAII3LWekVxgyLWJn3Fif+Bgt73TW4W9cOkTepJ6OVbrnCJ4X9vJqkE0KJeraGq2WW0ipvL4fd9kppvZZEeCh9h03VYUT5oU32VKDEOimbHlAOFxv/+Tnf8/mEIAzUVEn/M06JyTfG1LFFYn70UPGoAvt4SckrpqrD3qv/zo6OKjrGsH6X6hoJCoM0lJPLoElMTo0DMPc6u/cpGMvBddpu/hEBASxwONt5BRz2DfU7bPrtPAcpNIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qi4bK1mzMXI9n0x0Ain8VmBz09gGRrw9CeApVtaxyk8=;
 b=cjjLX2Hg4oSXIhsjGX1M6WuqD/uSG+d0itghbrZxEg4MY85kRIHvSMvwA7SaSan8sNEukGGzs+bCOpYSzmlSI9SUFrBBKa5gmtcfleQsCv2I8wXOltyS1R6y829xjVCIEDAmdmK/qF2ZpSaLDI57J4RN7eJj3fGcabf54BBv/Qw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <70c18a3b-452d-9d5a-1781-95a742db496a@citrix.com>
Date: Fri, 18 Aug 2023 21:22:03 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 0/6] x86/debug: fix guest dr6 value for single stepping
 and HW breakpoints
Content-Language: en-GB
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
In-Reply-To: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0511.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13b::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5281:EE_
X-MS-Office365-Filtering-Correlation-Id: 64a38a88-9bc9-4bbc-2749-08dba028ccb5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e0apcsJwch+6pWqIcvMp/3ubvugBRFeLpF6v47CCavbdsuEsUiOsQa7bwsJ5EpvZZsLSmVf8UNXLJ1lNf9W4vUahYUX1eHPiphmRwV/W2sReBmkwpWW39aHw50HWqdnXeMRGgaFbgDfED5jtbjot/uq+hlgymdU8Z15Vf4s+vhWfh+EzuCa61cdov/awn/qNQcrVyMiSniZqW5hsN7S2QpGLYPaumYbsRAIvjaHXz0icPVbglwh/q1YqzEPwxsWI1Iy/FbqjNe4mTWsTOiEaoorTDHhuYqzK9RI/RwOFx5pjMoiaJOK7DlkJv92OqsiemW6Of2Gm4++naA5tx8i29ZcmCB58YA2tx8xQrQCLHfD+m3W2+b2fQx6eiRWZWGWRmU8oTKNoNBcWF11CUBgDG/dNzBKy4PmnvZisCbDTOSn91c/4nCumyJLd4S9uL1gFvx3X5/Hik+9fr01ILHSOGiyRnZsOpl0wbZqXCLb6m7EHc+3zaS+2unJtmT/RJbycqmmuMMOdxQ6/qKfFAtVroE1TMpLxDd+CU9BERe2ZDAlw+JuQffTCCO1jDMT7vYyacqK6p1ffGj80kCT3rDZJvq/Fn5rCQCUjd/kc8/YohYGK6rO4jhz3FoTM8Hyaf0XpSKbwd7CNHKnUPERtyI6fxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(136003)(346002)(39860400002)(186009)(1800799009)(451199024)(82960400001)(31696002)(86362001)(36756003)(31686004)(66946007)(316002)(66476007)(6916009)(66556008)(54906003)(478600001)(966005)(41300700001)(38100700002)(6512007)(6486002)(6666004)(26005)(6506007)(53546011)(2616005)(4326008)(8676002)(5660300002)(8936002)(2906002)(83380400001)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmFIQTAwUDh0MmxCOG1qT2hydkhxaDRqMWpiZTJsSVVobkFnLzVXOVgwYlo0?=
 =?utf-8?B?YVdTR0ZiVzVuMTZrSTQxZlRGWUo0RmplZ1FDL3NSSlZRME1FWDdWYm9qUzM1?=
 =?utf-8?B?SGMzd21yTTEvZ2NDamxNWUs5NG83STJ2ZGJxbVE3UWhVbFZzbEk0TWN4Sk16?=
 =?utf-8?B?cHRXL1hjbzFuT1BnK1hub3FWWm1XZDgwNkUrZlNoTlY1dzdTcHd6MnNSYVVv?=
 =?utf-8?B?VGRKWUc1NDVzMGlzcE5Ha1ZkYlZKK00wNHdDYnJlTEhGaHBZajZDaUNUZERY?=
 =?utf-8?B?SmovS1pxYk5CbitZR0V1SG1VV1J2QVBkZ29JaFZ1T1h6T3dqdWhhTVkrOFBL?=
 =?utf-8?B?clhYdlZuWVdtMTdKWW1rQ3gvczJFeHUrLzJyeEp0MXZwclFPYndGMDNwc0d5?=
 =?utf-8?B?Qmw1L1lSZStiVFJmUEYrNkRCbXc1M2FnUFZNM1lEYTM5UkQ0SVRzZmR0Zjda?=
 =?utf-8?B?a1pHVk5mcjU0aExmRHdIa2lMVHQvcWlXbmZxbWorS3NmcUtmR0tpaXhXZ2lB?=
 =?utf-8?B?NmxEckdIaXZUTkVHaXJteHg0aFlsZmZOY2RPVzA3SjFFeC9NYW42SEFUSUhZ?=
 =?utf-8?B?VEFvd3NhMHNvMGtkdTJ4STYxMzRvekpnVUd0Yk95NGxMVVlQVVFsck4wMkUz?=
 =?utf-8?B?Y3VBZHlVdzMydkJ6blZGajFDS3FyeG1EMTBBM2c0UVA5ZXZ0Q2t4elZkZ2hQ?=
 =?utf-8?B?VloyS3M0MEg1bndqSWNUNXVndmU1Z0UwM2xyUmMva0QrdktOZjlVSUwwWW5z?=
 =?utf-8?B?NStTVU4yOFVnM1NvdnFCaElWTmw5ZXRGUS9id3FjN0N5SERXU21NWmlrNVJu?=
 =?utf-8?B?ZlVnQjhGdXl1eE1iTjNmY0RicXpDZFJnczFKck41Ulh6aW85bzFGNUlYL1Ro?=
 =?utf-8?B?aEtCckY0ZGpWTW9IcnV3U3o2TGxZS2RJNDdkRWFaQjNxNThWbEpCd0tid1dn?=
 =?utf-8?B?eGFubElsVFVyYjg4aGh0akwrQnN5cnJxdjM5V1QzOHYwa2wxLzhBdituck9V?=
 =?utf-8?B?bEtKaTV5a29hK0l0bVpkODFNV3kzWUYwaHJta2JERTZWa3ZVNEhhWldOSUI2?=
 =?utf-8?B?aWN3bm56R1lYclR0bjdSMXhzZm95ZDJWTm00ditkM2s1WFUxeWI2RWRVTkll?=
 =?utf-8?B?R0g2UmI2L3RtOTNhSmxPbmEyK2JZRWRRYit3Z2ZZN2tZaWxtRUUxQnFpUUxw?=
 =?utf-8?B?VUtFQStrMHZQK05YNnVBK0hrVkIrSllXUDBxekErOGN2WU43V2dNazVVSHpK?=
 =?utf-8?B?SGNtNFZ3akFBVWQvSnFYd1pTSkRhVzNmLzd0VncxelIrd2ovemJnaUkwWEVa?=
 =?utf-8?B?WTZzaVhETXZ2OGVXelIzWkVFM01QbWhHb3EvNUxSWU43VUE1dlRCeDNGeUNT?=
 =?utf-8?B?a295UnRVZ2hXNnlWSGRCODRJemhqdk96akZaN3VabFIybVpBc3pteHllcTZU?=
 =?utf-8?B?dGxRRTFvMXJabWxYV3VacHpOY21sUDREZGhNeXcrOFNQUjV2eWhBWDZvc1Vj?=
 =?utf-8?B?VEMxcmg3VWhFZEc0NEpHR0ptYU13N2g0Slh5VmVRNDlMOTQ0cFBQcWNtbEVB?=
 =?utf-8?B?Qjg5NGdYQXJLSXhjM3ZxMnNSc2hBenBxbStERUpYbkx5L2dyanF5QTV3R3pi?=
 =?utf-8?B?bDhXZWwzcnBqdm5kN05BK29URytDV2VRNVNkdUxPdHhsdW5OZ3BiMC9EcWMy?=
 =?utf-8?B?U0lOSGhFTE1mTGJTeEcrcnlSS2piVkZFcnZmM2x4bVJjYjFSQXcwb3Y0cGc5?=
 =?utf-8?B?SkQ2REY2ZjdQUkVzYk5BZk5rNXNqeDZ6bXBFVGU5YldnS01BQVpsRjVZZHIy?=
 =?utf-8?B?WnRrVTFTUUVOS2ZpdkdrQUtRWDJ2cExodnFqRTZOeHJSZlc0WFdGZGE1bzBx?=
 =?utf-8?B?SjBlV294VU9ZdzFuWlV6OTJaUEMvS1dDV3lMRTJ0a3NjdEIzL1QrRDAwL0NL?=
 =?utf-8?B?UkFtdGhsMGJmcDRIZGtFbERBd25KcU9XRTVCbU4yNHg0cVZTT3dWMlVXR2Qw?=
 =?utf-8?B?djYxTkxzS2pZQklzY3NtKytrUU1aY3kvaUdIbnZsNm9lbVZpQ1FPK2tjSXJ1?=
 =?utf-8?B?dlE3aWdWUXZNYjRGd2pnN1ZRQW42QWVaZTRaUUd5Z3FaSVZ4eFJvaU5oK3Yx?=
 =?utf-8?B?c2h1T1ZtbFBYWGYzRy9iTnZEVVUrc3lrMTh1YXFZUy9Pb0xHMGNycXhhZVFw?=
 =?utf-8?B?bWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	EVSiYMhAfohBgue3KXqRinxXuDV65M+IUdti11SMDf2OP3DIDe9VxxqIELdEnB6DHBGAmoBShIhaxOOQuE2ULkDC6WS1CF8nVazSaSE21SEjIaYwM+CjICI4e4HcFCCcs3rMU7iLvlJIc1EJEmzCFDkoNdRrlTlNx1Iaz/i1F9oUITY2PZZbBxM2rCojA7pHO+cSJ3VlgaM/g89og+MakXaI0tSGGS8/KLPOQmLBYDwazXZ68itsf/yKrnFDvG81+nxiI3J1nQCyOqesRK7ZElZ63g8DabkPpsJ53PbT7Y3NImCE7lR0woDGbP/EjwWhw64Ex9G8A1ZKUpiw5SPQqHypLiuREhfnROiUuxDeyG06cBAzSsQcK5TwP21kyBCOnr4fhhDTfogVgf9+42dOwTLqtLiIFihgE57mW5mgiXrcwSn76Mx8M/hIED5y93RFBkdXfUlhxEl6xvn1R9xUlnSt5Qthp1LIgocVpbV6IwDNpbllA1oGzS09fb+1Ez+uxsntbGWJOsA5O4vDx7w7TaqcNIk85C4l7wh6B2t/ISOSTbOkdYOgrxhAESNoBG7T/IerjXolFS9CzIHWpNY8lUQiKEZsnQWGqF3hrvDcQC/75REKLuccRYqV88C0LeuYrrMhRgjwl6a5KkLWmR8mKISOkA0544tlnwYCb71rOyoMVFa8oPp09IfTx/LTBEc/TNeAID+RAUxr0Zu9BDd8KJwfy5rnC+IrXw/kV4dgObw/YkO86JFDC7Yfj6VfQkS8WEffEBX3V4SEOClAYzhjEejYH4976xJsdA+HKM+TuVLA/Hmqs+kD2MYEeN0W8LI+FeOMd9QyfsAHKBgMuyZw2gG3UMrNFub19unfSyPKI71yFpZnwxMjQ1I3IwGWDI9uWzMnt9IGIqWSkzfNYgoN7w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64a38a88-9bc9-4bbc-2749-08dba028ccb5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 20:22:09.9652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9jkHh/Qs2OMEsGGDh8FPU8u8HSHROWgBRDpxBHuKTrzh0dv3dvXaBfSDPLmdZ/cDnYA1kWKSkZTnE3VjDf6aI0TGK/B6lWjqGebnr9p/9ag=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5281

On 18/08/2023 4:44 pm, Jinoh Kang wrote:
> Xen has a bug where hardware breakpoint exceptions (DR_TRAP<n>) are
> erroneously recognized as single-stepping exceptions (DR_STEP).

I expected this to come back and bite.

https://lore.kernel.org/xen-devel/1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com/

Xen's %dr6 handling is very broken, and then Spectre/Meltdown happened
and some how my bugfixes are now 5 years old and still incomplete.Â  I've
got a form of this series rebased onto staging, which I'll need to dust off.


That said, I was not aware of this specific case going wrong.Â  (But I
can't say I'm surprised.)

Thankyou for the test case.Â  If I'm reading it right, the problem is
that when %dr0 genuinely triggers, we VMExit (to break #DB infinite
loops), and on re-injecting the #DB back to the guest, we blindly set
singlestep?

This is wrong for #DB faults, and you're using an instruction breakpoint
so that matches.

However, it is far more complicated for #DB traps, where hardware leaves
it up to the VMM to merge status bits, and it's different between PV,
VT-x and SVM.

Worse than that, there is an bug on Intel hardware where if a singlestep
is genuinely pending, then data breakpoint information isn't passed to
the VMM on VMExit.Â  I have yet to persuade Intel to fix this, despite
quite a lot of trying.

Looking at patch 3, I think I can see how it fixes your bug, but I don't
think the logic is correct in all cases.Â  In particular, look at my
series for the cases whereÂ  X86_DR6_DEFAULT is used to flip polarity.Â 
Notably, PV and SVM have different dr6 polarity to VT-x's pending_dbg field.

Also, on Intel you're supposed to leave pending bits in pending_dbg and
not inject #DB directly, in order for the pipeline to get the exception
priority in the right order.Â  This I didn't get around to fixing at the
time.


I suspect what we'll need to do is combine parts of your series and
parts of mine.Â  I never got around to fixing the introspection bugs in
mine (that's a far larger task to do nicely), and yours is more targetted.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 20:35:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 20:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586593.917849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX6Bb-0006LL-Ox; Fri, 18 Aug 2023 20:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586593.917849; Fri, 18 Aug 2023 20: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 1qX6Bb-0006LE-LP; Fri, 18 Aug 2023 20:35:11 +0000
Received: by outflank-mailman (input) for mailman id 586593;
 Fri, 18 Aug 2023 20:35:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qX6Ba-0006L8-3H
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 20:35:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qX6BV-0003fN-Qf; Fri, 18 Aug 2023 20:35:05 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qX6BV-0008Uy-HS; Fri, 18 Aug 2023 20:35:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=lTegecKRxPelLYOnRTCZYrJKhUW0zCESgCNh55pqwHM=; b=65f5upiX6LNzOKDjhIHEYtaem4
	IP60NqNOH4OB6r54oDmi+zvjZzAqm3FoGLKhz02LoKsewVf5zgj7GOnDqh2F0ayOUC/4gw2rYoGqR
	1aACaxeyZlEDfB6neiyJEaHvqiPXj4uuXTEaAgpFscRTRcEy61FwV1tGAemBsaWiGY5w=;
Message-ID: <e667948d-944d-2649-7063-3725cc68ca8c@xen.org>
Date: Fri, 18 Aug 2023 21:35:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Vikram Garhwal <vikram.garhwal@amd.com>, Jan Beulich <jbeulich@suse.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
 <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com> <ZN/MDcuo+IS0m5Cz@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
In-Reply-To: <ZN/MDcuo+IS0m5Cz@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 18/08/2023 20:52, Vikram Garhwal wrote:
> Hi Jan
> On Thu, Aug 17, 2023 at 09:05:44AM +0200, Jan Beulich wrote:
>> On 17.08.2023 02:39, Vikram Garhwal wrote:
>>> --- /dev/null
>>> +++ b/xen/include/xen/iommu-private.h
>>
>> I don't think private headers should live in include/xen/. Judging from only
>> the patches I was Cc-ed on, ...
> Thank you for suggestion. Do you where can i place it then?
> Please see another comment down regarding who might be using this function.
>>
>>> @@ -0,0 +1,28 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * xen/iommu-private.h
>>> + */
>>> +#ifndef __XEN_IOMMU_PRIVATE_H__
>>> +#define __XEN_IOMMU_PRIVATE_H__
>>> +
>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>> +#include <xen/device_tree.h>
>>> +
>>> +/*
>>> + * Checks if dt_device_node is assigned to a domain or not. This function
>>> + * expects to be called with dtdevs_lock acquired by caller.
>>> + */
>>> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
>>> +#endif
>>
>> ... I don't even see the need for the declaration, as the function is used
>> only from the file also defining it. But of course if there is a use
>> elsewhere (in Arm-only code, as is suggested by the description here), then
>> the header (under a suitable name) wants to live under drivers/passthrough/
>> (and of course be included only from anywhere in that sub-tree).
>>
> This is also use in smmu.c:arm_smmu_dt_remove_device_legacy(). This is added in
> 12/19 patch(xen/smmu: Add remove_device callback for smmu_iommu ops).

AFAICT, the caller of this function (iommu_remove_dt_device()) will 
already check if the device was assigned and bail out if that's the case.


So why do we need to check it again in the SMMU driver?

And if you really need to then you most likely want to check the 
internal state of the SMMU driver rather than the generic state.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 21:24:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 21:24:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586600.917858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX6wc-0003kh-6C; Fri, 18 Aug 2023 21:23:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586600.917858; Fri, 18 Aug 2023 21:23: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 1qX6wc-0003ka-3e; Fri, 18 Aug 2023 21:23:46 +0000
Received: by outflank-mailman (input) for mailman id 586600;
 Fri, 18 Aug 2023 21:23: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 1qX6wa-0003kQ-5M; Fri, 18 Aug 2023 21:23: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 1qX6wa-00054w-0K; Fri, 18 Aug 2023 21:23: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 1qX6wZ-0004mf-KT; Fri, 18 Aug 2023 21:23:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX6wZ-0001lD-Ji; Fri, 18 Aug 2023 21:23: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=5cx40rBRdd+f+XvAhh1YOu/6DkrHELE5SngN2H+dZ5s=; b=pQUvvdeoC2rNnlznH19FZlQ0nl
	+wITutgo8+TjXAx8XfqGD/ENRvd1z+r5LbCjd/cgBSw9XAJr51qXXp3tclX4WmtAlLfI3JvkMZtEQ
	lAIhCKWhEpLdRJ0ki+wHe8wbUCRFQs6N2oqt8CbdLNPgqaOLqSyRA3WMwf2ErrlY76q8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182389-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 182389: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=cec23a34c03ffcf12d68d35f0e1d7f9ae85ab49c
X-Osstest-Versions-That:
    xtf=bf1c4eb6cb52785cf539eb83752dfcecfe66c5d1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 21:23:43 +0000

flight 182389 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182389/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  cec23a34c03ffcf12d68d35f0e1d7f9ae85ab49c
baseline version:
 xtf                  bf1c4eb6cb52785cf539eb83752dfcecfe66c5d1

Last test of basis   176259  2023-01-27 21:12:33 Z  203 days
Testing same since   182389  2023-08-18 20:10:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-pvops                                            pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   bf1c4eb..cec23a3  cec23a34c03ffcf12d68d35f0e1d7f9ae85ab49c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 23:13:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 23:13:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586609.917869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX8f0-0006wM-To; Fri, 18 Aug 2023 23:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586609.917869; Fri, 18 Aug 2023 23:13:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX8f0-0006wF-RB; Fri, 18 Aug 2023 23:13:42 +0000
Received: by outflank-mailman (input) for mailman id 586609;
 Fri, 18 Aug 2023 23:13: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 1qX8ez-0006w5-LD; Fri, 18 Aug 2023 23:13: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 1qX8ez-0007nZ-El; Fri, 18 Aug 2023 23:13: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 1qX8ez-0001pS-1x; Fri, 18 Aug 2023 23:13:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qX8ez-0004UV-1U; Fri, 18 Aug 2023 23:13:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dqJfKY4HqYUoNyepvT3MSNAtfrMJbRdnHF6ovuqzAOc=; b=2ehs8n7KHMAQkQQlnNgqk0NxSY
	EB7kA3YVYjFn4pAxBW7HLK7sN+kNl6LsNMZ79ytmq9ityp/0wn3ehlTr4NKek6Zf08qRSwB2iWDsF
	Yop7DRCkmFfIzXgUmlvf8S7cK4kiUNuDCpMY2CuZ4UgBuDphOtRcfu+y/CyMnosHj6s8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182388-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182388: 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=b2865c2b6f164d2c379177cdd1cb200e4eaba549
X-Osstest-Versions-That:
    xen=cd36188b2762a05c322a5f56bcfce59c2d9cac2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 18 Aug 2023 23:13:41 +0000

flight 182388 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182388/

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                  b2865c2b6f164d2c379177cdd1cb200e4eaba549
baseline version:
 xen                  cd36188b2762a05c322a5f56bcfce59c2d9cac2e

Last test of basis   182386  2023-08-18 16:02:00 Z    0 days
Testing same since   182388  2023-08-18 20:03:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jinoh Kang <jinoh.kang.kr@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cd36188b27..b2865c2b6f  b2865c2b6f164d2c379177cdd1cb200e4eaba549 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 18 23:35:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 Aug 2023 23:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586621.917895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX8zh-0001aK-5D; Fri, 18 Aug 2023 23:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586621.917895; Fri, 18 Aug 2023 23: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 1qX8zh-0001aC-1t; Fri, 18 Aug 2023 23:35:05 +0000
Received: by outflank-mailman (input) for mailman id 586621;
 Fri, 18 Aug 2023 23: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=9Vht=ED=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1qX8zf-0001Ao-Un
 for xen-devel@lists.xenproject.org; Fri, 18 Aug 2023 23:35:03 +0000
Received: from sonic312-24.consmr.mail.gq1.yahoo.com
 (sonic312-24.consmr.mail.gq1.yahoo.com [98.137.69.205])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7882cd8-3e1f-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 01:34:59 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.gq1.yahoo.com with HTTP; Fri, 18 Aug 2023 23:34:56 +0000
Received: by hermes--production-ne1-7b767b77cc-6vm8t (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 94c293947b44544087d2078bace9953b; 
 Fri, 18 Aug 2023 23:34:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7882cd8-3e1f-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1692401696; bh=O1Ir8W49uM5Bf6Y3rDKdVh7p6b9EefDHPDluFpH9mPY=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=Ld8oVD5yGngELdWXJnhQbe5Sb2Us4c4GUyFv60nDFamp3Qeg2HlYDjg/uJx7H84oZM6ctBZMx6E1tRMEIM619JjOWtyRDdaFdiYfQ5604o7uKkQAq0lLmgvAA5zbUTO/FXBS75R1uPDr4gfRSA9FDvj2NUGHHH6tkLVFfR3GIa02hubukvoxb7bb4PnVI1wgEpMK23PrGh3QN8/mXgzNzT2kzPkzy/E++YhVGglrENEEYSRG7QWk2LNyRmxclRBBCAs+7rQpYKJUvngR3zywUzmdWjVYtZ6n4Pap8VbSgcAb48S+hpxMcKFJF5wjeFbNB5hFk1y0A53c342lMC0ILw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1692401696; bh=Xvp1XBeItR2QYcKITmpE0diVDBmsIESbALjD0k7Ok1F=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=XyS2ss9ck+JWyJLlY/tGILzimzITTJiCN22u37yi6VSvLkG1o24jcdDTlYe6w7krqhNGXoT6O6x89AwCSS8Uq+CVu3NA99l0aMsH18f7BmpQ0t+KmIjGG7IKft3RU460fEsbgkHee2Lxu2T2J/NJQTqwt+eWegrNOg84ku/0fW/N1hyk4jmcdGM8Uix+zMQQCQzZJi18ykllv81XflG5lMjnf8yRR1jBCL/PqTNZQnzQcAwHJM8pi+HE8z3bOzeFO6OVSNaT12YSoyWjtA37gk4l9Q4gpb5IUHYJcgLju26OIXITWtV/ifhpxzqKBlX+M9i/y5TsiUWxl8axaIrbvw==
X-YMail-OSG: 9hFPjNEVM1k0G9EF1RhjOo8GKwhrIB1eqHiB0ozXMi0rb8WbUrBcN9UmxqSrdq0
 65n4LroPho4e5Re2n3JoF30DfEvD.RtBfR8L_A58HCxseCSjrljhHCDHNvuL76oZM.Q_HJiqPINK
 dkHIxebXgJFoLnvxSauEwottTNhBHFf1rhSMfcF1P.WZgQ4jaVYtnD_88iy6VzIihzOPFdRQFnRG
 mhHGhiBKSYjxJ20h49L_XDTYWCvl9VxhE4l2JuHLOBe41lh8jkAjUZtjB_4xoyMaFhKlRA25k82P
 OJSUKLo7uUVgFJidXjwOVrUC5sDND8PhtU7j3xAofXG3SP7FtP0L.Qu6OXfmrzgIcnZsi9h5kT1d
 TvDtm8FvkHbHPmH60gsABIrmlKW4r275EccmGSWH2RZPUdbaxV7OX6paSPeU5V.heXyxC_k4g8aD
 jehHVLTCFS1I8LQy37924j3HCoSHd6uDr11a.GnL6iqNlDaCsaywD2N7NG.f4oiQqD8y3uuY1Sbi
 sxJEe8EP34Uk6r7bz4d0pEf5Eln5L1tyhLBFCDPuml2MiMUu9S8RWPI54qc_dT3.72DLlVUTQB1Q
 QRZhKQoli39HKiQcvIbWqk8iLyJpZGAPqyWKuky.aT8_wi_oyiNHRNDdIAE6Zi36oBVZHttq7R6j
 PsqZwHJCkAdXoY7Hu.CFoaOKkGZSna2kSXDzviC5w.s8yVd.n6SYF3iGo4MCgxpWwdKl9UwEl3Vw
 nrm5vFZ9.7aI8cw2iwo1VDIwoRt08DR.bYqrA2vrHSRH23OvkHikkaD_knJKv7szTgQym0KUljbr
 X9MORJ4YD21GUAdVa6o6ZgTt_jkBCWqoHcjsZkjBcOgZuVyN6rdtSNTpsJQghYCWV8_Pprb2m20M
 CvsjDFMDBIYLrMj7ZFfu2TG8euf.lmM7DDGUaTm9U.fDrA5K0fjai5MNdSy71nniLeGhn87PrLVr
 zrsEISs8oEtflh2VAcQZ.qBCMoRQfUW3lscKtw6oJ313zxW8tEgKjglNvri7jpfWwOYZAT_S66r5
 irGnOuzEKbnrA7oFmyX8tmpoQwWnWeiKoruA6aPmSOTZi566FZBYMxzBNRmOLFXvoUd2cKJBp4u4
 Vj_SNeUnCKYBPB5F8WrvJE9VhioO49eDOTO9iRLgZvBusOeuBGEd5FsjRDhnYNMYAHD8GDnwEDRg
 MTwZvFf2K4CKD.w3O1JmwMpO_1BoKHPtGEiqUDxYuJubVfeNj3F_vRaG_9gd.Tbt9QmOpuBkti61
 c2FRNfmsWbBerr93jLykXARVapRqKip6yXqPm3.KOvc4uEMKbCmj8BcZ4GaNZQZZhtm5XRBvpMt6
 V7DrBLQm.jDEk1qNtvYoEDzbdxljHKZIq3De5zU8W9Ngj7udzgt_rog23MhjSjuIpGMnmTcm67vl
 BdmsTjCRQBSxNiwz738g.M9BySueCYUhzz2PHFeQehvUrswdEOzFRMzkDuViJtUQCD1Lcni5dlXF
 6Pa8RXHWGNOHOiu2xm.Xxws2RKLtKzhjcr42_FYd_RNBwWCM.P6JsofNCxt1fv35fzIJDKhd1nzF
 cDASyPwC3iDDnUV0v5k1bed08WTZrGS6Gg4ID1feoUfIp52dCT6FXEoYyu3xHhp3yGIvfsrpCJlK
 4dMlx74VbDrWg9PkoU9u.OW40kNye5oR7Zjrww8wfOXXluRPThFFFu_d8ToBCenRKeRildHyIKga
 VzgNFswfXx0dLiV_DZCXPczLJCQ4rQ1Bl4poIOXRKp7LU86q4gVQNTlUBtbcU5tsQZZfS4arinrT
 BYmTISRVCxOlmZpMX0C0mMFGcLPAFAqKC6bHXYAELDbd.c5Z4qHCSjDZrrfiN_kcbEV4BBwUZ16Q
 8FOn4mv63n78..FmN.JzfGZhFqK1jT0reZVWR4Yr52avb2mJxKtwgh0RyqpH48tUK2n4MoLJJQNH
 SUuf0gOERmzKJ2fGBrZNWUDO.Emyc8uTPQuJ9tBYaSl27WsqRA_HYpe9epAITOJ2Ok1.MmfyyTny
 yb0U_FicjkR3XLSWex8_2Iphq4wNIVevdXAikIBaIqI5LgPL8_tvA3HVIFLvoUSjUQx3EIhZFL.N
 KaQf6OzH_n8ywBCBrEofxrJNkpAWR46UGIKo_pzHHGVKUwaKHrHdVjTCcyMXScQbJCCvYovOtsRt
 cFwXB4PlkgXQbfttemagHuOotZtunY_LQ3tsxJqsQLT05_Dn5hQ3cZ8bZtATFe7Kea4KGxQUg37c
 gP8BlAiw2DeXpaAmX
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 5590ff70-b934-4e4a-8f60-50d4c78bef49
Message-ID: <ca3df86a-2204-441a-1b75-406f166fdf2f@netscape.net>
Date: Fri, 18 Aug 2023 19:34:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: Community Manager update - August 2023
To: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org,
 xen-announce@lists.xenproject.org, xen-users@lists.xenproject.org
References: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21732 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 940

On 8/18/2023 6:55 AM, Kelly Choi wrote:
> Hi everyone! :)Â 
> 
> I hope you're all well.Â 
> 
> If we haven't met before, I'd like to introduce myself. I'm Kelly, the CommunityÂ Manager for The Xen Project. My role is to support everyone and make sure the project is healthy and thriving.Â 
> 
> *The latest update below requires your attention:*
> *
> *
> 
>   * *We will be moving IRC channels fully to Matrix in September 2023. Once the channels have been created, further information will be shared.Â *
>   * *New Mission Statement, goals, and purpose is attached to this email and will be shared publicly.*
> 
> *Should anyone have any concerns or feedback, pleaseÂ let me know*
> 
> Many thanks,
> Kelly Choi
> 
> Open Source Community Manager, XenServer
> Cloud Software Group

This looks good, but I thought IBM rebranded Softlayer as IBM Cloud several years ago. Maybe IBM Softlayer should be changed to IBM Cloud? Thanks.

Chuck


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586690.917933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q4-0001iN-0R; Sat, 19 Aug 2023 00:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586690.917933; Sat, 19 Aug 2023 00: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 1qX9q3-0001iA-TP; Sat, 19 Aug 2023 00:29:11 +0000
Received: by outflank-mailman (input) for mailman id 586690;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q2-0001hl-Vv
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:10 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e83::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6871bd8b-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:08 +0200 (CEST)
Received: from DS7PR03CA0210.namprd03.prod.outlook.com (2603:10b6:5:3b6::35)
 by CYYPR12MB8924.namprd12.prod.outlook.com (2603:10b6:930:bd::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:05 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:5:3b6:cafe::91) by DS7PR03CA0210.outlook.office365.com
 (2603:10b6:5:3b6::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:04 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29: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.27; Fri, 18 Aug
 2023 19:29:03 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6871bd8b-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GqmgXLga2Qwq5Cp69wReUk5ulf3ZGqgVQEN78eJyuQnA3nJS7qXxF1S4veBLCmiulAdQibZGpCpK6sAiLzi3UTqaqCCcEd4NPIFEG7aJzG45coeMuF+amv+0q3Kp9FStce4K3CYNAPJcKh2mL5gaXDp2XyeIFTAAFgJC0wG+8LERFwHKgHb+rf8Yct/TLKXIEIqe/56VSMs4MPn1LrVKLFPuQr/N0v/HNCqg5DPQrLOD0Tfv6FnCBmePOyW07tUDoZCXfuc68uvTTf53h1CqD0WUP907TZm8eqKPORAmTHIGNyfgiBe8mWFfzKVY/UnFDJSL4Y1zK2ocBkaW1mpppw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OnAkiyK51E8/9hbpYvNOl4Id3yZ+E95/wfBvKWMf7tM=;
 b=k5C0M9u1I6g35Ld5hU59dLJZ6UNLv1+Sq59bQte8aJlJwAuVU6/WE0yW38pPLbi0D6LMyNColBzFfrQyEnyb1iD7BW9o7xFv9C6Jaq+/xhkm7+fK3ufESPgI2fZRsXaK31k2KYBMFbDIupwLLBc/3J5TZA0T7pp9qBcOzlNktUUWR54s91Pb6mgqoz0EePdqjndlLHx+OhryI6jgx9DxjqsqbyK39gJdFt9Dt5r9ih3KtKBKsFumfoDJMbtj/1wdKiEIgGvoMhIb7MVwPOdOb4sxPqvRN7JUMJj4fkzkRx34nf8H35NBl21eZ4SywcEkkL5gAQO12ikDBIG9GX21JQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OnAkiyK51E8/9hbpYvNOl4Id3yZ+E95/wfBvKWMf7tM=;
 b=aWxmEGmS7/31zUTyh52F/XGFBRlbWZk0GzwTFM3gzNFldYj3lyJkemWepEItlbemdi0jXXdBkGAJfYsbOKmeXo5q5hmGLnENlQNLtGSpnPgFNiwQ1/6ET1ulzzD9BLikvZqHcUHCEZdtVmtjIDW2i/l3eX/vdYuXrpqvDNww+ek=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 01/19] common/device_tree: handle memory allocation failure in __unflatten_device_tree()
Date: Fri, 18 Aug 2023 17:28:32 -0700
Message-ID: <20230819002850.32349-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|CYYPR12MB8924:EE_
X-MS-Office365-Filtering-Correlation-Id: d7c5cf87-aa63-4580-548d-08dba04b4ae0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZAQl0jlfYu4Gxs08r3+uNfTHzBE3pOdpSXHMK0SfuqSxswHz4mLIDTXggqjGhhGV9L2LXGxbaJgJx6kSPtrzT4DdACySDQwE8m38fiA+8QHLDvurCcGAHpxgfmm293qoaJIA+zJYzat+7eS62d74v4hMsdrf7899D6cEncSEmLHl/emR3Gv9QQffF6oj7goD8k1xgyv7RBMLPfgyHTQbPHQZ0iAZ8OmbVzAY4J4aMwCgNC4We3YYLEryfTwcuJXHNvmpEXcXbGspr7o7gyrDLxMSRy+6t2Ej+JMI1uIALF0rnuGHO8AIWfoctIVQs2nW+d3Smwg5EgZZLfVd7H1Hcl5TcTYpuAVlwu1McSo8mo8VJqkvEb7qURKPJp2qa/MQTwXxLSpeSYCfew1mn9iFitBtm1oNseM1VUDhLxF8psncRo3Bh4f18UQX1bGLcQWQdsKhnis30VfChNZBJNYLz8u743a+XlEOOgDlOKvS/UiGztg3IQH2bujn3EeWmi+Bc79QlJ41qQTJQeyyZdJSJBTjijZbHjCrxoWMkmTqv/JwSuT/CagYLbZJZ8GMRUMVhg/FuxhbaLXe7+ntAFe/OfFKVMOIA/hHXxz52eTt4v4dSdXiMB61gOmzMqRPvPw9QDoDvcojUvjHg1UCS4ZyNWKnebQ7lQZYai6M4JIyU5wPdWRyxDbmIjRcWz/8MCjIAmcpJmEnHWaauGC8Jedyb/Qcx5ZkSHBIrHg/ENUuA7R5XXeRcr1YTTMtPDDHTsj3mkH9vGQ7zoP2mFKAk6QldQ==
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:04.1170
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d7c5cf87-aa63-4580-548d-08dba04b4ae0
X-MS-Exchange-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: CYYPR12MB8924

Change __unflatten_device_tree() return type to integer so it can propagate
memory allocation failure. Add panic() in dt_unflatten_host_device_tree() for
memory allocation failure during boot.

Fixes: fb97eb614acf ("xen/arm: Create a hierarchical device tree")
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/device_tree.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0522fdf976..c91d54c493 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2092,8 +2092,8 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
  * @fdt: The fdt to expand
  * @mynodes: The device_node tree created by the call
  */
-static void __init __unflatten_device_tree(const void *fdt,
-                                           struct dt_device_node **mynodes)
+static int __init __unflatten_device_tree(const void *fdt,
+                                          struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2114,6 +2114,8 @@ static void __init __unflatten_device_tree(const void *fdt,
 
     /* Allocate memory for the expanded device tree */
     mem = (unsigned long)_xmalloc (size + 4, __alignof__(struct dt_device_node));
+    if ( !mem )
+        return -ENOMEM;
 
     ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeefU);
 
@@ -2131,6 +2133,8 @@ static void __init __unflatten_device_tree(const void *fdt,
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
+
+    return 0;
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
@@ -2215,7 +2219,11 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+
+    if ( error )
+        panic("__unflatten_device_tree failed with error %d\n", error);
+
     dt_alias_scan();
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586689.917923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9py-0001Su-OG; Sat, 19 Aug 2023 00:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586689.917923; Sat, 19 Aug 2023 00:29:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9py-0001Sn-La; Sat, 19 Aug 2023 00:29:06 +0000
Received: by outflank-mailman (input) for mailman id 586689;
 Sat, 19 Aug 2023 00:29:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9pw-0001Sg-LQ
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:04 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe59::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 647e9635-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:02 +0200 (CEST)
Received: from MW4PR04CA0086.namprd04.prod.outlook.com (2603:10b6:303:6b::31)
 by MN0PR12MB5714.namprd12.prod.outlook.com (2603:10b6:208:371::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:28:57 +0000
Received: from CO1PEPF000042AE.namprd03.prod.outlook.com
 (2603:10b6:303:6b:cafe::b6) by MW4PR04CA0086.outlook.office365.com
 (2603:10b6:303:6b::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:28:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AE.mail.protection.outlook.com (10.167.243.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Sat, 19 Aug 2023 00:28:56 +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.27; Fri, 18 Aug
 2023 19:28: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.27; Fri, 18 Aug
 2023 19:28:55 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:28: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: 647e9635-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FiLKi7AGrAuIMa8b6OIcONyRS7pPa8Rm8A7TcN8HcmnNTmrDgP79e1Wv6W/nk6AwNOvGS8a9toC7inJsosmKkH/L9bsToY8/A9JTFffGJu4dcqRto4wK86mbaKS4kMPqPco50kGL82CJ+dJtd5mBFQ9556jAmpmGekg+rHgKq3M5MKXDbm57tlXG9S6p5wSHUhfnEHJDgJHX3SsuHysVPll29ZWgm0upvLanhAreEx9fmomzgnIw/EGVuxxew5yDjjnRJkcr+LJdrGa563SYLNuOFqHSVN15ofEoyLKiCquqwTSiYDOE6nCrSlPKdqgrMLf6+rAPQVNZXm1Q1ue4KQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xg1tNGwcTKVe3KCopZqUmFR6lHi/qmqyg95nnfNE/cY=;
 b=n43KSrOtEXtb/MYAtsMcklbOsuWM/Mn4pffmfAWB04X1MbIVlakM8QCVx8x0sB0LSzZD8f221vW96yctQHwv9AqlY1zeOmRGF+04esfkV1/FhYh0nRE6mxSIt9IgRYDIxLhXW6zBvZX5Qph1aF1+UqUoEG2bojw7R6m2slCtcK6HWyLvxPielPevqhHn1z+czLKXU0nI1+GeGqqGI9LdALZ0/1wS6dtPTRPISR0g0KXxF000CjjPi8kHtFBvlEJzOpjEmVVQBvSk6AKw0q02cZMBnH+RElZ1j3iRrsydfwzA6aQSHMay5HM2PHshuLatn6NKZo64+1/lgEGVJwBAhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xg1tNGwcTKVe3KCopZqUmFR6lHi/qmqyg95nnfNE/cY=;
 b=OS2/2WfLBvQeHRbo6ikM8tlkhn2yhu8kJ/zn4BayrFNGwgWK8ozhSZcQ6HY7tpSjNwbaM6Kej1SlHTu8fLIbUwJjI0Va56Oo4oF2efKIC6uZbNCEQisUhphKoz/t3XWncs7vAW7c0srfP4sQNGmHWkevuZ/AEDd83OhyFuQArWE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Henry Wang <Henry.Wang@arm.com>, "Community
 Manager" <community.manager@xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>, Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Rahul Singh
	<rahul.singh@arm.com>, Anthony PERARD <anthony.perard@citrix.com>, "Juergen
 Gross" <jgross@suse.com>
Subject: [XEN][PATCH v9 00/19] dynamic node programming using overlay dtbo
Date: Fri, 18 Aug 2023 17:28:31 -0700
Message-ID: <20230819002850.32349-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AE:EE_|MN0PR12MB5714:EE_
X-MS-Office365-Filtering-Correlation-Id: 4edc11a8-a9f2-4334-244b-08dba04b466d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L6rGe04LiemrNyJw2jqq80Y5dO/UIfw/72p0nSJIoiw/z9wd5IP/on0lrjvnBT1cU8GcgVvAJ/d6JWoxg3T+Br6HzheBfsDj7rSLaC8ZB45ZDKbJ+LquE9f0O54I0mUF/i7BqbpTzW8+89AlxAEGr8Db7KxCui1Iwywd729ri10yHQPWdeOBupMZxmO/p58MtkLHxj2AR8GA0CfIns5UVSFYPjQ5FbU6f+Ut5QiHf1Y9tm9NY5txlZzHdS4YpyrDmnfEa/pnNHcNPLYMdjssAFfMP6rjeQfMMI/7xO0j99jlzESmQWRTwwXK6DzR9pcvT48xwnJ9EGxbFcYasJ+0Y/BrEJ7HX6ZKQRSQXYc27yTAa1JCODqTwzk2HvnNJUPiXY5cVYFG3V+0mQVCLAhsDS6GcpYH7y7FwCYN958vDkkdazxF4uFNVbc1+0LdGNNmR3+cli9M8DWwh4gQYnytEcK3PTCAZwtLpqzNgdeLXdu3TtXGMrJ3dML9UnFtmwHbv6acJEsSqaTZ//n03Ymhq0y5a5gVLDwANKSn1VVlkkxzn/HvR9uEt8Fq6Vg4FvRkg6YtEdb2L06d5I5ud6XG5sBkEvteIeeSbSWR6pPUgqjXtQkIBcRow39Kd6lfRZIC9v5Q59vWHR/VV6IdM+MnymTlIeUNhT5CjpMqzIJNe2h0mKUE24afzWHFK5uAuvObn1Dzw7vrhvqSs9KQoiWrnIvr1uZTXAWuiLm25Obd79JZmpyC5Fo/KoKrMUX75AtszxEQpRSQubOiVBncpBVkBg==
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)(4636009)(346002)(136003)(396003)(376002)(39860400002)(451199024)(82310400011)(1800799009)(186009)(46966006)(40470700004)(36840700001)(86362001)(36756003)(82740400003)(356005)(81166007)(40480700001)(44832011)(2616005)(5660300002)(70586007)(478600001)(316002)(70206006)(6666004)(6916009)(26005)(1076003)(41300700001)(8936002)(8676002)(4326008)(54906003)(47076005)(40460700003)(83380400001)(336012)(36860700001)(7416002)(426003)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:28:56.5887
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4edc11a8-a9f2-4334-244b-08dba04b466d
X-MS-Exchange-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:
	CO1PEPF000042AE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5714

Hi,
This patch series is for introducing dynamic programming i.e. add/remove the
devices during run time. Using "xl dt_overlay" a device can be added/removed
with dtbo.

For adding a node using dynamic programming:
    1. flatten device tree overlay node will be added to a fdt
    2. Updated fdt will be unflattened to a new dt_host_new
    3. Extract the newly added node information from dt_host_new
    4. Add the added node under correct parent in original dt_host.
    3. Map/Permit interrupt and iomem region as required.

For removing a node:
    1. Find the node with given path.
    2. Check if the node is used by any of domus. Removes the node only when
        it's not used by any domain.
    3. Removes IRQ permissions and MMIO access.
    5. Find the node in dt_host and delete the device node entry from dt_host.
    6. Free the overlay_tracker entry which means free dt_host_new also(created
in adding node step).

The main purpose of this series to address first part of the dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

To map IOREQ and IOMMU during runtime, there will be another small series after
this one where we will do the actual IOMMU and IRQ mapping to a running domain
and will call unmap_mmio_regions() to remove the mapping.

Change Log:
 v5 -> v6:
    Add separate patch for memory allocation failure in __unflatten_device_tree().
    Move __unflatten_device_tree() function type changes to single patch.
    Add error propagation for failures in unflatten_dt_node.
    Change CONFIG_OVERLAY_DTB status to "ARM: Tech Preview".
    xen/smmu: Add remove_device callback for smmu_iommu ops:
        Added check to see if device is currently used.
    common/device_tree: Add rwlock for dt_host:
        Addressed feedback from Henry to rearrange code.
    xen/arm: Implement device tree node removal functionalities:
        Changed file name to dash format.
        Addressed Michal's comments.
    Rectified formatting related errors pointed by Michal.

 v4 -> v5:
    Split patch 01/16 to two patches. One with function type changes and another
        with changes inside unflatten_device_tree().
    Change dt_overlay xl command to dt-overlay.
    Protect overlay functionality with CONFIG(arm).
    Fix rwlock issues.
    Move include "device_tree.h" to c file where arch_cpu_init() is called and
        forward declare dt_device_node. This was done to avoid circular deps b/w
        device_tree.h and rwlock.h
    Address Michal's comment on coding style.

 v3 -> v4:
    Add support for adding node's children.
    Add rwlock to dt_host functions.
    Corrected fdt size issue when applying overlay into it.
    Add memory allocation fail handling for unflatten_device_tree().
    Changed xl overlay to xl dt_overlay.
    Correct commit messages.
    Addressed code issue from v3 review.

 v2 -> v3:
    Moved overlay functionalities to dt_overlay.c file.
    Renamed XEN_SYSCTL_overlay to XEN_SYSCTL_dt_overlay.
    Add dt_* prefix to overlay_add/remove_nodes.
    Added dtdevs_lock to protect iommu_add_dt_device().
    For iommu, moved spin_lock to caller.
    Address code issue from v2 review.

 v1 -> v2:
    Add support for multiple node addition/removal using dtbo.
    Replaced fpga-add and fpga-remove with one hypercall overlay_op.
    Moved common domain_build.c function to device.c
    Add OVERLAY_DTB configuration.
    Renamed overlay_get_target() to fdt_overlay_get_target().
    Split remove_device patch into two patches.
    Moved overlay_add/remove code to sysctl and changed it from domctl to sysctl.
    Added all overlay code under CONFIG_OVERLAY_DTB
    Renamed all tool domains fpga function to overlay
    Addressed code issues from v1 review.

Regards,
Vikram

Vikram Garhwal (19):
  common/device_tree: handle memory allocation failure in
    __unflatten_device_tree()
  common/device_tree.c: unflatten_device_tree() propagate errors
  xen/arm/device: Remove __init from function type
  common/device_tree: Export __unflatten_device_tree()
  xen/arm: Add CONFIG_OVERLAY_DTB
  libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
  libfdt: overlay: change overlay_get_target()
  xen/device-tree: Add device_tree_find_node_by_path() to find nodes in
    device tree
  xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
  xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
  xen/iommu: Introduce iommu_remove_dt_device()
  xen/smmu: Add remove_device callback for smmu_iommu ops
  asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
  common/device_tree: Add rwlock for dt_host
  xen/arm: Implement device tree node removal functionalities
  xen/arm: Implement device tree node addition functionalities
  tools/libs/ctrl: Implement new xc interfaces for dt overlay
  tools/libs/light: Implement new libxl functions for device tree
    overlay ops
  tools/xl: Add new xl command overlay for device tree overlay support

 CHANGELOG.md                            |    3 +-
 MAINTAINERS                             |    1 +
 SUPPORT.md                              |    6 +
 tools/include/libxl.h                   |   11 +
 tools/include/xenctrl.h                 |    5 +
 tools/libs/ctrl/Makefile.common         |    1 +
 tools/libs/ctrl/xc_dt_overlay.c         |   51 ++
 tools/libs/light/Makefile               |    3 +
 tools/libs/light/libxl_dt_overlay.c     |   71 ++
 tools/xl/xl.h                           |    1 +
 tools/xl/xl_cmdtable.c                  |    6 +
 tools/xl/xl_vmcontrol.c                 |   52 ++
 xen/arch/arm/Kconfig                    |    5 +
 xen/arch/arm/device.c                   |  149 ++++
 xen/arch/arm/domain_build.c             |  147 ----
 xen/arch/arm/include/asm/domain_build.h |    2 -
 xen/arch/arm/include/asm/setup.h        |    6 +
 xen/arch/arm/include/asm/smp.h          |    4 +-
 xen/arch/arm/smpboot.c                  |    1 +
 xen/arch/arm/sysctl.c                   |   16 +-
 xen/common/Makefile                     |    1 +
 xen/common/device_tree.c                |   62 +-
 xen/common/dt-overlay.c                 | 1001 +++++++++++++++++++++++
 xen/common/libfdt/Makefile              |    4 +
 xen/common/libfdt/fdt_overlay.c         |   29 +-
 xen/common/libfdt/version.lds           |    1 +
 xen/drivers/passthrough/arm/smmu.c      |   63 ++
 xen/drivers/passthrough/device_tree.c   |   94 ++-
 xen/include/public/sysctl.h             |   24 +
 xen/include/xen/device_tree.h           |   36 +-
 xen/include/xen/dt-overlay.h            |   63 ++
 xen/include/xen/iommu-private.h         |   28 +
 xen/include/xen/iommu.h                 |    1 +
 xen/include/xen/libfdt/libfdt.h         |   18 +
 34 files changed, 1762 insertions(+), 204 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c
 create mode 100644 tools/libs/light/libxl_dt_overlay.c
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h
 create mode 100644 xen/include/xen/iommu-private.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586692.917953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q7-0002FQ-Lr; Sat, 19 Aug 2023 00:29:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586692.917953; Sat, 19 Aug 2023 00:29:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q7-0002FJ-JA; Sat, 19 Aug 2023 00:29:15 +0000
Received: by outflank-mailman (input) for mailman id 586692;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q5-0001Sg-KH
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:13 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe59::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bc1467d-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:12 +0200 (CEST)
Received: from MW4PR02CA0007.namprd02.prod.outlook.com (2603:10b6:303:16d::33)
 by SN7PR12MB6958.namprd12.prod.outlook.com (2603:10b6:806:262::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.32; Sat, 19 Aug
 2023 00:29:09 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:303:16d:cafe::dc) by MW4PR02CA0007.outlook.office365.com
 (2603:10b6:303:16d::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:08 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:07 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:07 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6bc1467d-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hnjeytWEKyFd+PwiRGnRe6EGCdDdQOIBb1zBP29dTVdp+SralL2Q4JMQFEn2WTjhCQtn643b6NiNbpoGa+yPz2DNkoioCpg6zPuEptmsG5867Wy9kUufs4lfTQkKIw0hn4UhRkVbbq5dNB0LmOpAhuknuaxlv1Rnrad8OD39bDHRZ5S/J1ljpdRaowlCHEEX7oZ6xb42Z2b8Qr5+FGWbff05R7etocsVjRXN6rnecSWYqwWqdi4KSStuovM5OihN9eoRDcWesbvLcHFo7IrcoAmrk9wXkq9Dj88Srr2mVcdnt55vKUrqHsKjUCO+KiaIOtjRuXO7pGQ4p+Hmio1wwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eGVNShdnG/aIBZ1qd0+shXMehlt+J631oNOuesBuA1Q=;
 b=IwjXKyi/p3ag7jr5wZtlZ+EvNLXBwZ6NpqtrOl0HlzuGD8nNHVRafGa2alTYiwslpCdsYZLzsQaMlZcoHMclq+ACwJG5BLzWhUtiIjNwLz9C4svWGwGDfzXKAf5wPw1IJWxA4mjFfd1ZrgKUiAuGiGzG+w9iiBW3vE8RX6tTcdxeVMSUivUHf9TH+UFX2VKRMtnesi5n5LcdJP6DmtxvoIf7sePOVjCrMH3oMQuVb2woxRUHlrj2bocgVF8Y6dJ/z3O/4QoidIqkKTIEY3/+9FXJP+3ZJfkel3LTIdjX6zRAAooeqQ/PnTq0xEsE5m6jAifrbBba9TDtHE50Kik2bQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eGVNShdnG/aIBZ1qd0+shXMehlt+J631oNOuesBuA1Q=;
 b=UattoSG+/s7577osdE4o1mqWCfBNGwa4X0ATAvRYt+s2eBf/TnceoY3D4RbFB0kp4g652bQ+ek1ehpFEm9/5PlWiPAJpurqT5OtovChWmv7cV3ImjOP4bmYpzPWeRYcJL4SukyeHRnpy/eAng74RjdXvReJz1mASSX7uwvwiBd8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Henry Wang
	<Henry.Wang@arm.com>, Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v9 05/19] xen/arm: Add CONFIG_OVERLAY_DTB
Date: Fri, 18 Aug 2023 17:28:36 -0700
Message-ID: <20230819002850.32349-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|SN7PR12MB6958:EE_
X-MS-Office365-Filtering-Correlation-Id: d29bd4cd-122b-49a9-ffce-08dba04b4d6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AhbbfRwO6DDmxp0sSfGgGtcD7T13dqnsFrqGdos40/OmFB5mru4ccTl8lFizqlpdvffacl1DB2QvvCu/d8LHBYxKhx0SK5Vbv5qU3ngL3yp+1md97eXWj4UdcYRaMmUxdEuX0j3yDdRvHv6dWBTa5okILkAsE/3ggiwtnh3Y6EGXV4aqGsbBjLZQocfiGS5zNLJtcVvVSc5tbg9d+dTwLWRfuDk/IlqsN0mVNb8v9Rr3aH0oyR2w9EVccIWK0+Kk5EiXo3nOMtgl5pGO1hw1cFQQsF3oHImfm7oUZNEwSm2rMNWD0/aKDPnoytMMruKZmH+DeCJYCr2EhZEiA+rGPyDt9H7h3xQw8vBKp7S88iX74IClf5n+JAEsqhE+JDOS2Tb9sKRYsqaCNlvvIbDdmAXjg7IYRnvMtf7GU6nRv/bCFR7fNKvbTFDeLgtiMMAOHZWuuzxtRqcrCuMyFOutT72AxqvCB0a0qBRxumCrMSnEtCn6tI6oXVRoW0TjWS6i6+pkutJsrZKvTR1JhvkyH/3I8Ask1EsejwkqNP7TTyhsrP7gZ4M6ocvnmL/1euy7yBYdv1yG2xr+T6wTiLsK2cmgZDmsojZEs36o6eAC8DjfcKpAbDsLsyWWhDLDlA2TP5tAkiH6pokmUTiH/13xYAoXPedIU2tBMy2QDOtAHtFucgzGuDiEEvL41uW0X8tv98ychHN9+AryQuSNNrVgq0of1nwQufrKcB7DirQKoDXySStp7lKT0lIfRs2MXvKxc743taVC31dtQMKZNk2m3Q==
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)(4636009)(346002)(376002)(396003)(136003)(39860400002)(186009)(82310400011)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(36756003)(86362001)(83380400001)(40460700003)(40480700001)(4001150100001)(1076003)(8676002)(26005)(5660300002)(4326008)(44832011)(8936002)(36860700001)(41300700001)(6666004)(2616005)(336012)(2906002)(47076005)(426003)(81166007)(316002)(7416002)(356005)(82740400003)(478600001)(54906003)(6916009)(70206006)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:08.3696
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d29bd4cd-122b-49a9-ffce-08dba04b4d6d
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6958

Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.

Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
Arm.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
Changes from v7:
    Add this feature as "experimental support" in CHANGELOG.md
---
---
 CHANGELOG.md         | 3 ++-
 SUPPORT.md           | 6 ++++++
 xen/arch/arm/Kconfig | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7d7e0590f8..47098dbfca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - xl/libxl can customize SMBIOS strings for HVM guests.
  - Add support for AVX512-FP16 on x86.
  - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
-
+ - On Arm, experimental support for dynamic addition/removal of Xen device tree
+   nodes using a device tree overlay binary(.dtbo).
 
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 35a6249e03..8eb006565c 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
 
     Status: Supported
 
+### Device Tree Overlays
+
+Add/Remove device tree nodes using a device tree overlay binary(.dtbo).
+
+    Status, ARM: Experimental
+
 ### ARM: Guest ACPI support
 
     Status: Supported
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd2..02c4796438 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -92,6 +92,11 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config OVERLAY_DTB
+	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	help
+	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
+
 config HVM
         def_bool y
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586695.917980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q9-0002w3-SX; Sat, 19 Aug 2023 00:29:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586695.917980; Sat, 19 Aug 2023 00: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 1qX9q9-0002ur-MZ; Sat, 19 Aug 2023 00:29:17 +0000
Received: by outflank-mailman (input) for mailman id 586695;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q7-0001Sg-Pz
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:15 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20622.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c54bd66-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:15 +0200 (CEST)
Received: from MW4PR02CA0014.namprd02.prod.outlook.com (2603:10b6:303:16d::29)
 by PH8PR12MB7327.namprd12.prod.outlook.com (2603:10b6:510:215::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:11 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:303:16d:cafe::2) by MW4PR02CA0014.outlook.office365.com
 (2603:10b6:303:16d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:10 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:10 +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.27; Fri, 18 Aug
 2023 19:29:09 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6c54bd66-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h5auFkWwJTP8cTAKU9HtmgRhFl5w5DtAQZVoxft6gyqDAD7lhOSfV/yMuJjluCbTN3qNf7fkhGbCcEQFBktNU5f2czuu27cO9Fw475unl4lhOzvxuTi0yNE1mRpZ1H2ZA9ixVyoJtejFd90nXSeINLdCQ5R5uSdoxyeFNB7ytAnvU/mtcsvABi2/WAy+8+uaFAPSyvYC1/2PBoTQPDDz6WCErLq5h8NVtbcnaFmaGZ0pExMF0AGwOGUiPly+BmGmTFuGFq3IrPz+hAH20WLog//75r5XiZGXY35Bi0IF/a6YUd//BAXsuxxejGhOFtKqUCMpB91H2kjGVSyT6ix7zQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=Z+r0909SufHVyCsdRPb+sZ3BTfrjBVRerFdMNSphs1XbCuRBpTFEN7BVvZxBmkwyh2ZyCNL0zO9quAc9bQZDiWiR2ezRcuZBjMWY92zU1WDIOHCV8KtskHd/LRMeJfsKqC1f1IZD6v9GUphmkQcAfgHoo9SEnpc9TVQWHGNZvEqOhKVypCot/5XsIUoKplB7oJeFm4wRKlHJbubHo24lA84vhEq5TBEwlVUE51XbKXpof6oNnbmy71ZTX3fJX29OW0ns7/gviCf8b9NIgs8l1tfAOL2NFrH0+falMnvOvpZkylcgXAJQX6R1e9xoEXvXKQEC2CZJhiEF3ib1wve44w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=mVUISxIeU/J4VQyiZH+Nxo0LTQ7dY3of4ohjID4n6Pcyn8TfPITPDfSulIMcyITkVLE9+Q/OG5knlnqn1ZhpucH5XruNyekWScC6SYLQLNw96mi8Yr0MGx+Zut9HXDNybn+rwhCBDKy1Pe57uuq+oNjNvFBgBdwGsC9OvZ0zZUM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Vikram Garhwal <fnu.vikram@xilinx.com>, David Gibson
	<david@gibson.dropbear.id.au>
Subject: [XEN][PATCH v9 07/19] libfdt: overlay: change overlay_get_target()
Date: Fri, 18 Aug 2023 17:28:38 -0700
Message-ID: <20230819002850.32349-8-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|PH8PR12MB7327:EE_
X-MS-Office365-Filtering-Correlation-Id: f2bda32c-6ac5-4022-f03f-08dba04b4ee1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6AGks3/9MJRUIwfmK5TGRNQkYk9QvaY8XpYs9wu0OaTfbBbspEV5fkssHGAAGj6yxtLbZideshLYUG5OYtwh1qmuji7rU+Zvuq3bFePTxayZhVUDAbvgMoKJwse3i96YJGlpx94p4rozDBWMCj0M9ynk+kI642l+mZI+DsJAccwo41Ov/+dxFgMqR4S/NLR7pfG2ltQ73zQiIr77H9yOe7YVmkli8xvjAsRd5f6ggcBllPdIynV+0Z6A5hgT1H/bnOZwq8p+uVbwG/k9kL7kHEvFrumiiWWx+0i7ThBbaWNbtLxi0+0KSCRNeFmRSS1WgBOctn/yl7XKOAPx45kmPSeiSy0fuogE8wDLDlcJqliiD/JKhZEGiI//zFzzrWKX7EMYfLXXw6W/Jl5NZeSLL0P7RXumc6sxpfDAJ1Jb1r+yIpxCPyfcZla3HkX3NrBXKIpNUZN7hrsyr1GiDIiWD7f2Dr8gVfHzapR3UWHlTTyLkwT06dfoL63WO7euUUUsKtM6oNVuywkZQT/5jOHXbB6kxIGmfrVGaXqjUMKKLI5piGv/JCuzvUj1NVaHFDymjOxs5TVHjHTHrR5iaFiIbdluW0nxf3U1sZnHfMUG8Mpm81ylmb0DhAR99ThqyiBJDIHjy1BbIqAa0JxvVLU/fRiFoku9uLzsGdmD1xzRAbTbDn439v/mUt5Jocj3+W3GdUZHCHRHgpk4PieqyxCZ8DC1s2Q/TH7wgjdB7Rhrw++YwySpqpBtHgdr9eMfPoWvH18/NQViEEMRRia+1b4f5Q==
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:10.8072
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2bda32c-6ac5-4022-f03f-08dba04b4ee1
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7327

Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.

This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the overlay nodes, e.g. mapping of
resources(IRQs and IOMMUs) to other VMs, creation of SMMU pagetables, etc.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Message-Id: <1637204036-382159-2-git-send-email-fnu.vikram@xilinx.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Origin: git://git.kernel.org/pub/scm/utils/dtc/dtc.git 45f3d1a095dd

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Juline Grall <jgrall@amazon.com>
---
 xen/common/libfdt/fdt_overlay.c | 29 +++++++----------------------
 xen/common/libfdt/version.lds   |  1 +
 xen/include/xen/libfdt/libfdt.h | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/xen/common/libfdt/fdt_overlay.c b/xen/common/libfdt/fdt_overlay.c
index 7b95e2b639..acf0c4c2a6 100644
--- a/xen/common/libfdt/fdt_overlay.c
+++ b/xen/common/libfdt/fdt_overlay.c
@@ -41,37 +41,22 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
 	return fdt32_to_cpu(*val);
 }
 
-/**
- * overlay_get_target - retrieves the offset of a fragment's target
- * @fdt: Base device tree blob
- * @fdto: Device tree overlay blob
- * @fragment: node offset of the fragment in the overlay
- * @pathp: pointer which receives the path of the target (or NULL)
- *
- * overlay_get_target() retrieves the target offset in the base
- * device tree of a fragment, no matter how the actual targeting is
- * done (through a phandle or a path)
- *
- * returns:
- *      the targeted node offset in the base device tree
- *      Negative error code on error
- */
-static int overlay_get_target(const void *fdt, const void *fdto,
-			      int fragment, char const **pathp)
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp)
 {
 	uint32_t phandle;
 	const char *path = NULL;
 	int path_len = 0, ret;
 
 	/* Try first to do a phandle based lookup */
-	phandle = overlay_get_target_phandle(fdto, fragment);
+	phandle = overlay_get_target_phandle(fdto, fragment_offset);
 	if (phandle == (uint32_t)-1)
 		return -FDT_ERR_BADPHANDLE;
 
 	/* no phandle, try path */
 	if (!phandle) {
 		/* And then a path based lookup */
-		path = fdt_getprop(fdto, fragment, "target-path", &path_len);
+		path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
 		if (path)
 			ret = fdt_path_offset(fdt, path);
 		else
@@ -638,7 +623,7 @@ static int overlay_merge(void *fdt, void *fdto)
 		if (overlay < 0)
 			return overlay;
 
-		target = overlay_get_target(fdt, fdto, fragment, NULL);
+		target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
 		if (target < 0)
 			return target;
 
@@ -781,7 +766,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 			return -FDT_ERR_BADOVERLAY;
 
 		/* get the target of the fragment */
-		ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+		ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 		if (ret < 0)
 			return ret;
 		target = ret;
@@ -803,7 +788,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 
 		if (!target_path) {
 			/* again in case setprop_placeholder changed it */
-			ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+			ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 			if (ret < 0)
 				return ret;
 			target = ret;
diff --git a/xen/common/libfdt/version.lds b/xen/common/libfdt/version.lds
index 7ab85f1d9d..cbce5d4a8b 100644
--- a/xen/common/libfdt/version.lds
+++ b/xen/common/libfdt/version.lds
@@ -77,6 +77,7 @@ LIBFDT_1.2 {
 		fdt_appendprop_addrrange;
 		fdt_setprop_inplace_namelen_partial;
 		fdt_create_with_flags;
+		fdt_overlay_target_offset;
 	local:
 		*;
 };
diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
index c71689e2be..fabddbee8c 100644
--- a/xen/include/xen/libfdt/libfdt.h
+++ b/xen/include/xen/libfdt/libfdt.h
@@ -2109,6 +2109,24 @@ int fdt_del_node(void *fdt, int nodeoffset);
  */
 int fdt_overlay_apply(void *fdt, void *fdto);
 
+/**
+ * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+ * @fdt: Base device tree blob
+ * @fdto: Device tree overlay blob
+ * @fragment_offset: node offset of the fragment in the overlay
+ * @pathp: pointer which receives the path of the target (or NULL)
+ *
+ * fdt_overlay_target_offset() retrieves the target offset in the base
+ * device tree of a fragment, no matter how the actual targeting is
+ * done (through a phandle or a path)
+ *
+ * returns:
+ *      the targeted node offset in the base device tree
+ *      Negative error code on error
+ */
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp);
+
 /**********************************************************************/
 /* Debugging / informational functions                                */
 /**********************************************************************/
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586694.917961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q8-0002Ob-9N; Sat, 19 Aug 2023 00:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586694.917961; Sat, 19 Aug 2023 00: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 1qX9q8-0002NA-50; Sat, 19 Aug 2023 00:29:16 +0000
Received: by outflank-mailman (input) for mailman id 586694;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q6-0001hl-4H
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:14 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ab3fcb3-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:12 +0200 (CEST)
Received: from DS7PR03CA0208.namprd03.prod.outlook.com (2603:10b6:5:3b6::33)
 by MW6PR12MB9017.namprd12.prod.outlook.com (2603:10b6:303:23b::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:07 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:5:3b6:cafe::c3) by DS7PR03CA0208.outlook.office365.com
 (2603:10b6:5:3b6::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:06 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:06 +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.27; Fri, 18 Aug
 2023 19:29:06 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6ab3fcb3-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PMjrYQfksDu95ajSOCgQ8ruu7xNKTuFMxgpgb3UDXjRpqU2oPglAS1DJJj58xKU5fXUl8NVBjfD4WNbI+o+8A2mNaYC2c6MBXp+X/lMvczwIuRQTGVt7nN2VEEZMXckyXhi6VeZqJyCJEY5517IJ5EPcFbka/COm6CPb//JQPm7PtURp0ek0vI02JpqVSGh/12LDiDFMOqoEFdQPjDGyjPe/6o2gH7lziKS952NpYQOvRjp7QG0iGvrLcPMnGz4JyguKxrCZ17FSO5l3VYXNU1uB4b5WS3SYCLNikLBxHS3qW53pZExedb21RCJXlxPrnYc+1WgSL/+Z6203mTx3ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=07WMr1ZLM39ba2ZtlvUhJ2PaUuqZrZEmQIHsuGgAwEE=;
 b=Nkx5FVO9axXc9AUmG+M0To6M/ZVewRahzgzgrZc6THEnhVrGQFQzBnDUnSe508b7SZf1VmuCf9t3+/i3Wj/vk0o86XkKnXBZLAIcbYVX/iVcxHuZiNm5AoDsB/K46WBUHmoM8wG2znt1fWhrgFWmC9Fi5XqIIKE37UDBpbKJ81aZizFXeY677GjkCtLVQszjxh+lVuGaz0PKl9zBzuwg++e2rPdf67yUAKYXtrn/IKRAD1qAsXtwrUPuVdUXYIIABdZ7ycO8E0PJjnk7Q9KSng/l+D/IkhkRzsUHUAxrwviB4WbHW4yeuIr9RgykdJ/rPSsq/HlL4yckhe66rWXJoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=07WMr1ZLM39ba2ZtlvUhJ2PaUuqZrZEmQIHsuGgAwEE=;
 b=artidS65jGcm72cSkKjLzmf0x4hPPv9fXWobCtaH7syj9wNF8SizVFHC5c/smmms6Ppmm5p8+RKb1MmlpfBz3x4US3AXpN4+AuT2JKNNxFgj5NeOr3fZWySSTYhx5acKblENGwlg/3cEeoudehit4LPF+WJfG8loJ6Z7JTdUxiI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 04/19] common/device_tree: Export __unflatten_device_tree()
Date: Fri, 18 Aug 2023 17:28:35 -0700
Message-ID: <20230819002850.32349-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|MW6PR12MB9017:EE_
X-MS-Office365-Filtering-Correlation-Id: 9171c701-fa13-424e-42f9-08dba04b4c54
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KRcvJgbEQoe5rE21Lz0VIWN1QcKF3WtU+5HJTKuyB5mQTwVcL1+Q1T50OhJNtMaS+aI4xUEhJDkLNaXSRLdhwagny/v8V4UPKM+qu2aek58ZvWta0eLOpZQiZMd6Fisk9EiiFdmlPosoSO5ksUJrRu58h32+ZmKnrtpqeqkP1ionFDZZisIWtb9M2ZH1sQmYhQE9I0i1UdM5NBfg+4gGZjwpdWSHVVu6/xixLzPUmLncMvXaXvknVotogwaa4X8ppJZKc6C4H6NdestlHgh8Jl+u5esScGDUpTQRalw9uWaA9qGESohdqW37qcjKMij+vmhFlP7uodML7YtLPdxZvFy16tprEUxK6WhlT7R7YisGA2zErOeEVgRdPqWP0m630R2LbTEz2ZzsJb7b0716wcVQB1i1M6WjnEg07aVQ2hpVLryGgGq3tc75TGjyXVVYwu212TrtUieoOan9T+KhtMl4acs3T3qxY2yacW4+rwiGEuItDyo9ddKrLpBAIq7gD6iC3RSB6JxC5sYFsnmxkjGQjN01xqdkPPSCcetQnvgbZrJolapgJTJrZOvZ2dwIZQbD0IhStdTCAy4f2s2RWmsb1U9Xod3vr3ukVaRTiDQdMF/pruarzd9M6mDm5Zx6WnPi2YYUnbakkcoq/18vr9zBnBI8DYDDWK8DXizWDR5mpHyMx+TfCIXt6GmkAzSz6S3ugyNA917cjEJTqEgtsCtLGm7MuHxhGWqqwKHnK5aRGurDwtjW+sZsIva9/uMDuOKNDyTazqpy2o7VgTiOXg==
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)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199024)(82310400011)(186009)(1800799009)(40470700004)(36840700001)(46966006)(2906002)(6916009)(54906003)(70206006)(4326008)(5660300002)(44832011)(8676002)(8936002)(316002)(41300700001)(70586007)(478600001)(6666004)(2616005)(1076003)(26005)(336012)(426003)(40460700003)(83380400001)(47076005)(36860700001)(82740400003)(86362001)(81166007)(356005)(40480700001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:06.5389
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9171c701-fa13-424e-42f9-08dba04b4c54
X-MS-Exchange-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: MW6PR12MB9017

Following changes are done to __unflatten_device_tree():
    1. __unflatten_device_tree() is renamed to unflatten_device_tree().
    2. Remove __init and static function type.

The changes are done to make this function useable for dynamic node programming
where new device tree overlay nodes are added to fdt and further unflattend to
update xen device tree during runtime.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Update the commit with why unflatten_device_tree() is changed.
    Move function documentation to device_tree.h
---
---
 xen/common/device_tree.c      | 17 +++--------------
 xen/include/xen/device_tree.h | 12 ++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index d70b6a7ac9..67e9b6de3e 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2082,18 +2082,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
     return mem;
 }
 
-/**
- * __unflatten_device_tree - create tree of device_nodes from flat blob
- *
- * unflattens a device-tree, creating the
- * tree of struct device_node. It also fills the "name" and "type"
- * pointers of the nodes so the normal device-tree walking functions
- * can be used.
- * @fdt: The fdt to expand
- * @mynodes: The device_node tree created by the call
- */
-static int __init __unflatten_device_tree(const void *fdt,
-                                          struct dt_device_node **mynodes)
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2232,10 +2221,10 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = unflatten_device_tree(device_tree_flattened, &dt_host);
 
     if ( error )
-        panic("__unflatten_device_tree failed with error %d\n", error);
+        panic("unflatten_device_tree failed with error %d\n", error);
 
     dt_alias_scan();
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 1d79e23b28..5941599eff 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -178,6 +178,18 @@ int device_tree_for_each_node(const void *fdt, int node,
  */
 void dt_unflatten_host_device_tree(void);
 
+/**
+ * unflatten_device_tree - create tree of device_nodes from flat blob
+ *
+ * unflattens a device-tree, creating the
+ * tree of struct device_node. It also fills the "name" and "type"
+ * pointers of the nodes so the normal device-tree walking functions
+ * can be used.
+ * @fdt: The fdt to expand
+ * @mynodes: The device_node tree created by the call
+ */
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes);
+
 /**
  * IRQ translation callback
  * TODO: For the moment we assume that we only have ONE
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586691.917938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q4-0001lo-Al; Sat, 19 Aug 2023 00:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586691.917938; Sat, 19 Aug 2023 00:29:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q4-0001lh-5i; Sat, 19 Aug 2023 00:29:12 +0000
Received: by outflank-mailman (input) for mailman id 586691;
 Sat, 19 Aug 2023 00:29:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q3-0001Sg-Ef
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a46c203-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:10 +0200 (CEST)
Received: from DS7PR03CA0202.namprd03.prod.outlook.com (2603:10b6:5:3b6::27)
 by CY8PR12MB7513.namprd12.prod.outlook.com (2603:10b6:930:91::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:06 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:5:3b6:cafe::e3) by DS7PR03CA0202.outlook.office365.com
 (2603:10b6:5:3b6::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:06 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29: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.27; Fri, 18 Aug
 2023 19:29:05 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6a46c203-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=inqBUaghLxlqeEIU/M0zkC0+oRZyjwyKDD91JaV1UqZ+EuZIKF6LVAMxX9jfX6IwWqIzgJlpHZZdVYeUmvRxAfrbHV5fUzoZ1U7cUEr/SD8VBK8IaziO9uosI0ZHFg/X6Dg7Mp5Slj++py0+60uzwr9Yr9WorQYrbgZ2VMxWjXij2Euy6mBBLYn88BtOeaxfG1ST/TbrNm1eC1BPqz4YOfPgExDmXEYhDimzznCbBLKnVBtCkVm2nVOfm52bP2knd8VGfwXSNZwtxowBHHcY+gUmHLfvfA79f6X8RS9HabA2w2nPOS8hkOQyFPqD1h9P9djmv41HSXwijew0TMUDAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ueRoAwRMX84PvKHly0/7xJCC6WZWwr2cF/eTQww9BPQ=;
 b=A+u72yrM3Z0tU5Sjj34IhC2xNPv8Dyg+l7oVTvgXUlOnsziiVDU/7FtxY5Ovm8Yvao8/nBTH7urg1+i4UScsCIrsJv1YZsWMm7ahpkvd+uP4TwaembAFJRIlx294OEk5Yo4bI25DS1oVBsqFq0pWSuZnfcxfnk2TD8oE3HJt7VlDKph+3BfPpkD/de8tRRd2YUzJu3hoVhI5ODjyBV1ldtBCZjjiTsyuKN+adJ2PYNioFUONv9hgojr9cQEQRTuN2/jcFOv2qDvp0xs6cjEhb0KC1h6nQO8qh5NWG8L3gE7m982oLmIKOgQ1AEEUBzqaP3TeNXIAgMiAw/8x1bMz3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ueRoAwRMX84PvKHly0/7xJCC6WZWwr2cF/eTQww9BPQ=;
 b=TPgvmEE9wL6TB9GeO8Yldnrp+0DSriv7E+/kQblNVLq1Vwfi23RKvqRJInKa2u3cCU1fh8BJ+AVymqa+3aH1L200sN7NCAvsJWItmnD32jwGIWtKkl3pEVH7yc25IE4hOdFQy45QkCASMRpEq6d+zLeK+e8QBXJyAtih4nwzJkg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v9 03/19] xen/arm/device: Remove __init from function type
Date: Fri, 18 Aug 2023 17:28:34 -0700
Message-ID: <20230819002850.32349-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|CY8PR12MB7513:EE_
X-MS-Office365-Filtering-Correlation-Id: 3dd5e09e-c8f4-48ec-6e3b-08dba04b4bfe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QJX051AvUoq1qbt5OlFPCp5FXbiv3R9TdxqzKutw7XFSOQuUtxnOXI+4HFcQCum8sckhWnHRXaSByqXij0ht1oDwQG9gEyUQWBiOb7fJplk7Da4YKtFBtXEhY3OSy8A2rheeD8toCVymODmkgd6PXevYwflQIcPDPdQcxxpa2ukHJL2qIWkaEtRoBPwXFYNQsc4cm9uumnSJ7udZT5TM0sDj9ec7ChCsJQJkzxP/gTfmKgfltbqfqgpXDcLJWKmIZLs05YY96k+LGiYH2+Hjdf+CCPkIWjv7doPe4hBobhMz42/sFe8zD500WX0TCbnr5gdBdMnux402nwkMhAFrx3DmUE6ZO9mMjX0ju2e+HgHwFhso+t4Kjs+lT0GPb8Ql4FR/ELtL+BxkFJFZOd2GhuTb4r6pph7Hp44bPp7BQQzWTEDCIBprqxWtsllReiJi7NczbP8TW17cINXVR+CJUDA5jp81wBY+aLS2ajKx4+9Hww0ZMzf3ddX3EKvY4AmaxyWQu96jXH4e4crbgTlTpEvrx2TMSX97hMVWA9me0w7TM5ZOndY84F292tymkMHsG7hhKB5vefU5rl/5rv1BwVlSjznspIhO7b6QRNWgvqo96DVKXS4ccSXS3OLYcCF1J37wH4EL8TJ8eTXn0s4SNpjQMZIZ2VGr7UZOwjlHB7GWVc7VXjEHi0pVFCj3M/8N/OiNLCnTH78m3NZgRl94rouUl2dYUu+sc6hy2JWRDphV4FDhX4u3IvBrKn1uzI1o8Zx1VZjvYrSpyAYy/FLb1g==
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)(4636009)(396003)(346002)(39860400002)(136003)(376002)(82310400011)(1800799009)(451199024)(186009)(40470700004)(36840700001)(46966006)(40480700001)(40460700003)(83380400001)(70206006)(6916009)(316002)(70586007)(54906003)(356005)(478600001)(82740400003)(81166007)(2906002)(44832011)(30864003)(41300700001)(1076003)(8936002)(4326008)(8676002)(5660300002)(47076005)(36860700001)(426003)(6666004)(26005)(336012)(2616005)(86362001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:05.9920
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3dd5e09e-c8f4-48ec-6e3b-08dba04b4bfe
X-MS-Exchange-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: CY8PR12MB7513

Remove __init from following function to access during runtime:
    1. map_irq_to_domain()
    2. handle_device_interrupts()
    3. map_range_to_domain()
    4. unflatten_dt_node()

Move map_irq_to_domain() prototype from domain_build.h to setup.h.

To avoid breaking the build, following changes are also done:
1. Move map_irq_to_domain(), handle_device_interrupts() and map_range_to_domain()
    to device.c. After removing __init type,  these functions are not specific
    to domain building, so moving them out of domain_build.c to device.c.
2. Remove static type from handle_device_interrupt().

Overall, these changes are done to support the dynamic programming of a nodes
where an overlay node will be added to fdt and unflattened node will be added to
dt_host. Furthermore, IRQ and mmio mapping will be done for the added node.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/device.c                   | 149 ++++++++++++++++++++++++
 xen/arch/arm/domain_build.c             | 147 -----------------------
 xen/arch/arm/include/asm/domain_build.h |   2 -
 xen/arch/arm/include/asm/setup.h        |   6 +
 xen/common/device_tree.c                |  12 +-
 5 files changed, 161 insertions(+), 155 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index ca8539dee5..1652d765bd 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -9,8 +9,10 @@
  */
 
 #include <asm/device.h>
+#include <asm/setup.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iocap.h>
 #include <xen/lib.h>
 
 extern const struct device_desc _sdevice[], _edevice[];
@@ -75,6 +77,153 @@ enum device_class device_get_class(const struct dt_device_node *dev)
     return DEVICE_UNKNOWN;
 }
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vgic_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared
+         */
+        vgic_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+    return 0;
+}
+
+int map_range_to_domain(const struct dt_device_node *dev,
+                        uint64_t addr, uint64_t len, void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    int res;
+
+    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
+    {
+        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
+               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
+        return -ERANGE;
+    }
+
+    /*
+     * reserved-memory regions are RAM carved out for a special purpose.
+     * They are not MMIO and therefore a domain should not be able to
+     * manage them via the IOMEM interface.
+     */
+    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
+                     strlen("/reserved-memory/")) != 0 )
+    {
+        res = iomem_permit_access(d, paddr_to_pfn(addr),
+                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                    d->domain_id,
+                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
+            return res;
+        }
+    }
+
+    if ( !mr_data->skip_mapping )
+    {
+        res = map_regions_p2mt(d,
+                               gaddr_to_gfn(addr),
+                               PFN_UP(len),
+                               maddr_to_mfn(addr),
+                               mr_data->p2mt);
+
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
+                   " - 0x%"PRIx64" in domain %d\n",
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
+                   d->domain_id);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
+               addr, addr + len, mr_data->p2mt);
+
+    return 0;
+}
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d,
+                             struct dt_device_node *dev,
+                             bool need_mapping)
+{
+    unsigned int i, nirq;
+    int res;
+    struct dt_raw_irq rirq;
+
+    nirq = dt_number_of_irq(dev);
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not the GIC
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
+                      i, dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        res = platform_get_irq(dev, i);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a5..57b6a43314 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2293,39 +2293,6 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
-int __init map_irq_to_domain(struct domain *d, unsigned int irq,
-                             bool need_mapping, const char *devname)
-{
-    int res;
-
-    res = irq_permit_access(d, irq);
-    if ( res )
-    {
-        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
-        return res;
-    }
-
-    if ( need_mapping )
-    {
-        /*
-         * Checking the return of vgic_reserve_virq is not
-         * necessary. It should not fail except when we try to map
-         * the IRQ twice. This can legitimately happen if the IRQ is shared
-         */
-        vgic_reserve_virq(d, irq);
-
-        res = route_irq_to_guest(d, irq, irq, devname);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - IRQ: %u\n", irq);
-    return 0;
-}
-
 static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
                                        const struct dt_irq *dt_irq,
                                        void *data)
@@ -2355,64 +2322,6 @@ static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
     return res;
 }
 
-int __init map_range_to_domain(const struct dt_device_node *dev,
-                               uint64_t addr, uint64_t len, void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    int res;
-
-    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
-    {
-        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
-               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
-        return -ERANGE;
-    }
-
-    /*
-     * reserved-memory regions are RAM carved out for a special purpose.
-     * They are not MMIO and therefore a domain should not be able to
-     * manage them via the IOMEM interface.
-     */
-    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
-                     strlen("/reserved-memory/")) != 0 )
-    {
-        res = iomem_permit_access(d, paddr_to_pfn(addr),
-                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
-                    d->domain_id,
-                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
-            return res;
-        }
-    }
-
-    if ( !mr_data->skip_mapping )
-    {
-        res = map_regions_p2mt(d,
-                               gaddr_to_gfn(addr),
-                               PFN_UP(len),
-                               maddr_to_mfn(addr),
-                               mr_data->p2mt);
-
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
-                   " - 0x%"PRIx64" in domain %d\n",
-                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
-                   d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
-               addr, addr + len, mr_data->p2mt);
-
-    return 0;
-}
-
 /*
  * For a node which describes a discoverable bus (such as a PCI bus)
  * then we may need to perform additional mappings in order to make
@@ -2440,62 +2349,6 @@ static int __init map_device_children(const struct dt_device_node *dev,
     return 0;
 }
 
-/*
- * handle_device_interrupts retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
-static int __init handle_device_interrupts(struct domain *d,
-                                           struct dt_device_node *dev,
-                                           bool need_mapping)
-{
-    unsigned int i, nirq;
-    int res;
-    struct dt_raw_irq rirq;
-
-    nirq = dt_number_of_irq(dev);
-
-    /* Give permission and map IRQs */
-    for ( i = 0; i < nirq; i++ )
-    {
-        res = dt_device_get_raw_irq(dev, i, &rirq);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        /*
-         * Don't map IRQ that have no physical meaning
-         * ie: IRQ whose controller is not the GIC
-         */
-        if ( rirq.controller != dt_interrupt_controller )
-        {
-            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
-                      i, dt_node_full_name(rirq.controller));
-            continue;
-        }
-
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
-        if ( res )
-            return res;
-    }
-
-    return 0;
-}
-
 /*
  * For a given device node:
  *  - Give permission to the guest to manage IRQ and MMIO range
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 34ceddc995..b9329c9ee0 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,8 +4,6 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
-int map_irq_to_domain(struct domain *d, unsigned int irq,
-                      bool need_mapping, const char *devname);
 int make_chosen_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..f532332d6c 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -165,9 +165,15 @@ void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
 u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
 
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname);
+
 extern lpae_t boot_pgtable[XEN_PT_LPAE_ENTRIES];
 
 #ifdef CONFIG_ARM_64
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index cd9a6a5c93..d70b6a7ac9 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -1847,12 +1847,12 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
  * @allnextpp: pointer to ->allnext from last allocated device_node
  * @fpsize: Size of the node path up at the current depth.
  */
-static unsigned long __init unflatten_dt_node(const void *fdt,
-                                              unsigned long mem,
-                                              unsigned long *p,
-                                              struct dt_device_node *dad,
-                                              struct dt_device_node ***allnextpp,
-                                              unsigned long fpsize)
+static unsigned long unflatten_dt_node(const void *fdt,
+                                       unsigned long mem,
+                                       unsigned long *p,
+                                       struct dt_device_node *dad,
+                                       struct dt_device_node ***allnextpp,
+                                       unsigned long fpsize)
 {
     struct dt_device_node *np;
     struct dt_property *pp, **prev_pp = NULL;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586693.917958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9q8-0002JB-2c; Sat, 19 Aug 2023 00:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586693.917958; Sat, 19 Aug 2023 00: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 1qX9q7-0002J0-SD; Sat, 19 Aug 2023 00:29:15 +0000
Received: by outflank-mailman (input) for mailman id 586693;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q5-0001Sg-RT
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7eab::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ae6c5fb-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:13 +0200 (CEST)
Received: from MW4PR04CA0265.namprd04.prod.outlook.com (2603:10b6:303:88::30)
 by IA1PR12MB8540.namprd12.prod.outlook.com (2603:10b6:208:454::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:06 +0000
Received: from CO1PEPF000042AD.namprd03.prod.outlook.com
 (2603:10b6:303:88:cafe::59) by MW4PR04CA0265.outlook.office365.com
 (2603:10b6:303:88::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:05 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:05 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:04 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6ae6c5fb-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jbFpBghYRnJUKXtI3ClucqSvq2ZgMXiIlXOyOiAtWBQPlic/LuB/MVNdEL+EoDPe8j6YDQu4fA4Ao89yTLxdGU2zv0LkI1AtWTryjdmBgLi7BKoW+CPqsvmTuJZ8vLrVFtng97grhNj//HrD47OdZ4mESLlZvb6c7xOM5MVkadK7N8NKApgHmhQcF99pmkAR0FVEJJsCT/f8hzhWep7hutJoEOxbNmxQEwfegVVhJzTIDVnYBqrv9CtBdGsu0okfwohSKA7l8+PdyXJQcXZZrabxwWTI19MFSvRH2Wq9zANjoTbYThwXRIepOIiYZQd2phz3duBHec6Wwg93yTIXZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zNJuXj7ZBUQRHz29zlrzeHOa0+tHLK1DzkscWEXkjVw=;
 b=KDk+B6DFnG+U9VbQehjedPFB5g9ME/Hb4vGgWIffyZG/aTDoGJKaIDqE40nOuevEV5ZZvobnx1EmEL0t5FtANz5az6jMeFDLSxH2pDKIC/fGEcC+wqlKFC6J1+t87N7Jz6fDsGsS/RtCzp+d0paPbBf6Tkkrz4qCBC9WwgiGLyTxFjJ/BWBQUubQY6QG34QDHRiy21Jhp1bFp9yTzAzIC/ATu+n5PfWoePkfT9sT1AUQslD7PXem+Sms8xLj5H0np9Mh6hYbasGan116vkKyp3DtBeQxK73cI7bjEO4dc4FWerKCNr3jjYFZjZes0Cym1Myw5NYthPpcilfZFjC4pw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zNJuXj7ZBUQRHz29zlrzeHOa0+tHLK1DzkscWEXkjVw=;
 b=Ne8DGQWMXygdCn+OWg7CqZ16BZ+e2YyXhnmAAD6vTZzMGGv3yq2Wh1dkozUCMdffxJ74zblon90gTeBaxkGQITVMVNSEEZ2zBEcdy4dnIocIHAVOeohYPHbPJPBMK4DViX6r/JBNecCQOgNi0vGeOYGE+4ZWn+Uxn0q7A0Dej8c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 02/19] common/device_tree.c: unflatten_device_tree() propagate errors
Date: Fri, 18 Aug 2023 17:28:33 -0700
Message-ID: <20230819002850.32349-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AD:EE_|IA1PR12MB8540:EE_
X-MS-Office365-Filtering-Correlation-Id: b2c81f05-ab15-499b-a562-08dba04b4b85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VUgHuXUpJ7zTA1Fi1DS2khempAAeqUtUfnioE2Yga5ZIjJWj6vpqT35hnF5Qox6Gc9vgTe+9uY0/uyrGvDBkbAd7Iz8U1EKF276kEyrLsZzMQkcGbhvedelMFxsQrJa84eBM94ZaYTZYGV6dIxVM7S5I4MeKvbvR2kLYwZ5UGZE4VP01EOTUQYcxdyyaurD07lHtzPl604gF8znjDQu0CWeZWR0l5I3JkFUOQzdXs824EXozclzHWm47z5z1txVROqfE9sFDh/63FtsTu7xM+V0TFpZOABjos4MP+c+bhJaWaqsHWgYwl6q520mIkyliUdmk3DNpUwzfEhJK+jzN1r8D+ynWP9hGlGYe2BmpoUizWu5lV9J2HBrgmTOJrK6ke5xkakJqz/NHdGGhlr0HusP/HK622VONn+Y6uAt+SJIWN5USz0xxkcZy2SHqLa4kwDuW/cPa/p2ntlGirgYQk32BnmBnWIAE8p+qIi2sgP8ZDI9gK0hDvZALD2DsIz4WCDInN/QzMj9Gk74drZRLXd56lF3D1fDo0mCVKri1W+h6r4pECdR0ok/fNcCvFU24JOErtfI8h1NNLf5x2amoQey1nAnvA1J9Ly0xE8PWfSfirHgOasAy22KHVoWN7C2HtxNRLAhnzM1cms30kOFW4BgUGWsrAZ+GMYO4vimUnEOh+HCJfkWr9cvF01KahnSCkB75CIqhIXsTJG/qcib7yVXPmqRdPPeuQ4bRnU00vsM/Rn9kwXJY6I6eL0sDG2hRH1LNC1hbK8PCkvEaQH5fUA==
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)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199024)(186009)(82310400011)(1800799009)(36840700001)(46966006)(40470700004)(86362001)(36756003)(40460700003)(40480700001)(83380400001)(8936002)(4326008)(5660300002)(36860700001)(1076003)(2906002)(8676002)(41300700001)(26005)(44832011)(426003)(47076005)(6666004)(336012)(2616005)(356005)(478600001)(82740400003)(81166007)(316002)(70206006)(70586007)(6916009)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:05.1535
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b2c81f05-ab15-499b-a562-08dba04b4b85
X-MS-Exchange-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: IA1PR12MB8540

This will be useful in dynamic node programming when new dt nodes are unflattend
during runtime. Invalid device tree node related errors should be propagated
back to the caller.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Free allocated memory in case of errors when calling unflatten_dt_node.
---
---
 xen/common/device_tree.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index c91d54c493..cd9a6a5c93 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2108,6 +2108,9 @@ static int __init __unflatten_device_tree(const void *fdt,
     /* First pass, scan for size */
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     size = unflatten_dt_node(fdt, 0, &start, NULL, NULL, 0);
+    if ( !size )
+        return -EINVAL;
+
     size = (size | 3) + 1;
 
     dt_dprintk("  size is %#lx allocating...\n", size);
@@ -2125,11 +2128,21 @@ static int __init __unflatten_device_tree(const void *fdt,
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
     if ( be32_to_cpup((__be32 *)start) != FDT_END )
-        printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n",
+    {
+        printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
                   *((u32 *)start));
+        xfree((__be64 *)mem);
+        return -EINVAL;
+    }
+
     if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeefU )
-        printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n",
+    {
+        printk(XENLOG_ERR "End of tree marker overwritten: %08x\n",
                   be32_to_cpu(((__be32 *)mem)[size / 4]));
+        xfree((__be64 *)mem);
+        return -EINVAL;
+    }
+
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586696.917993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qC-0003OZ-JT; Sat, 19 Aug 2023 00:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586696.917993; Sat, 19 Aug 2023 00: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 1qX9qC-0003OC-DS; Sat, 19 Aug 2023 00:29:20 +0000
Received: by outflank-mailman (input) for mailman id 586696;
 Sat, 19 Aug 2023 00:29:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q8-0001hl-UU
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:16 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d0657cd-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:15 +0200 (CEST)
Received: from DM6PR13CA0060.namprd13.prod.outlook.com (2603:10b6:5:134::37)
 by DM4PR12MB5309.namprd12.prod.outlook.com (2603:10b6:5:390::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:11 +0000
Received: from CY4PEPF0000EDD5.namprd03.prod.outlook.com
 (2603:10b6:5:134:cafe::42) by DM6PR13CA0060.outlook.office365.com
 (2603:10b6:5:134::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD5.mail.protection.outlook.com (10.167.241.209) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:10 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:10 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:09 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6d0657cd-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oo4HcIUXF+TaquVh8VxBPbRKxYU7FFR5iQM1GDufFU22UHyQIUazIwsmSks4tW9PoKYLHoqgJI3uO9ayf5eo9iYxlk0UwTv+wp5Dy7B0DpRKYMKK50lo6q/BHNxg97cs6V+XEFTJH/K0dRYLtkONfRCAxAiVzJJQuYcOa4xpacHWe3hoPLJ36TlT+2WeL2CEmPNCjMDsFgA+bAxMi7awu2UKLEzl/j2gL/woR8tMlK+TSe1vuP3u8dPyDyxgPCDlXJhFYtn0wHx8V7lugjlZPHDgSDFHHeCluP076wwNLN0vjSnoOHPwJfZYIBQMuK8aiuJ5Erzi0UG6p1qb1FwFvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/xHkFrH8SopbUhm47gT/XcnanhxswGsDSx0kdqePZ4A=;
 b=S7kSc7AkXGRu3zboOXJuXnY8zXz9XvjcQwVqbauTDN34RJWZcXxKxb3nt9QnkyWg15SRjXDeuB3DuuXRTAMg9Fk1IroP4T+/sqwFQQMX2epF66O4RGll8JuDx7JWrxmmcPGTXnftjcWUtD+0y95mAQrIW9fBIjx0IiqiKVdAeS2UNhIc10yqwc08FrGdeVYBCROSRjtgc9UgToDPOvm4DWgJJiFewrRlYh1ZSxrw2DPoezJ1v1cUc8l45XAIDMKcIJLZfYDoZXPCmngxSQ5SyvjFpVkeW2F2zHcmNI3T3+MStum9uhFrWRi0vCtHMbFk8UooZM4HpOOIxjgDWnpaKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/xHkFrH8SopbUhm47gT/XcnanhxswGsDSx0kdqePZ4A=;
 b=tbzc7hREMNnwzpS+kz/+e7f7DvW/LWsZHh90rz37Hf4ua+Fn7TKq9BOOl0s8HCz/xHR4kizoum8LhqQpteeN9AO+9QTbae3VEIJ/4dyNksby4Ouk8BSIWiYFLVfKdpldh482LFlnx7STcDEtJUbZ5Hz5FeuK/r8m0OMMrmS+nOo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 08/19] xen/device-tree: Add device_tree_find_node_by_path() to find nodes in device tree
Date: Fri, 18 Aug 2023 17:28:39 -0700
Message-ID: <20230819002850.32349-9-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD5:EE_|DM4PR12MB5309:EE_
X-MS-Office365-Filtering-Correlation-Id: f3039e27-d511-4e7d-6017-08dba04b4ed5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PQq/d55qwhy762VdxqtL3NgfXmZAb+cQWi958KinuveXgOqNEByqr/BZtTegQQBljC2cQCwKIQmZOWFZPPSX83nLenjWsb0SAytptHXBXAcNNMvTG0G7xDUekSit6GpdCuBaCMj50oJaL8tjzoUq6EIg2t5A0CjsqQxfF6HuilWruRoeKg46w/hbeR6VZ6uNqNbVgjaqQGas6OTUgbzSg26HW2HRJCfq2SjqiYXcOvBZy01d3zeXt7R/vVcc4ZoSUVjKyzcuFZ6fxGRCF5ddDtHJo8xlmhMkOB0sGlfZAP1nrpVriwESmgi+JqiMZxXAhewntR5HTMOWdEQFUH69hNXEULj+gsZG9/6zsyUYmpboGQxdC5g0sVlUO2FZIhXVOyMF1EAbOe7QvxIZVrBiDKb+2p4TMwQMSa/rci5Ey5rv8C2IBRuIo0wyB1o8IhD6HPavZ3vuBvBUMIqC5ACxREbtqk6mFvPSWN7RhjUTbHNCjv0wpchlkObziXsw6mtYkLE99cKxztEdt4vrELuvmzpRwmF/GCCOhAu4E7OhYWusCkFkSE5Ci3tiHzNTgysxVXh3nR6zjCahl6+BUzaxH/wyiS1szdl+j5zkbbIKzJyTcVR5a3IO2QpSzBmS1C/Qg101Yn6uy7KhNsnXmd20qF07nrNkMXWNs/NPJtmLQSZ4l4UcSMLtanG2RDI150C5xqGttnYK5ghbUvnDKJB4v850T6erR73dGq7ki96gt3XnfLI80+6tckbJJIdZQbmJDoXWQNBh8y1QYg8EIjaJxFB3qxYj3VTIbiWoKW45oPk=
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(37363002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:10.7717
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f3039e27-d511-4e7d-6017-08dba04b4ed5
X-MS-Exchange-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:
	CY4PEPF0000EDD5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5309

Add device_tree_find_node_by_path() to find a matching node with path for a
dt_device_node.

Reason behind this function:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, we need to find
    the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
    and add the nodes as child under their parent in the dt_host. Thus we need
    this function to search for node in different unflattened device trees.

Also, make dt_find_node_by_path() static inline.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
    Fix indentation.
---
---
 xen/common/device_tree.c      |  5 +++--
 xen/include/xen/device_tree.h | 18 ++++++++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 67e9b6de3e..0f10037745 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
     return np;
 }
 
-struct dt_device_node *dt_find_node_by_path(const char *path)
+struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
+                                                 const char *path)
 {
     struct dt_device_node *np;
 
-    dt_for_each_device_node(dt_host, np)
+    dt_for_each_device_node(from, np)
         if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
             break;
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 5941599eff..e507658b23 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -568,13 +568,27 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
 struct dt_device_node *dt_find_node_by_alias(const char *alias);
 
 /**
- * dt_find_node_by_path - Find a node matching a full DT path
+ * dt_find_node_by_path_from - Generic function to find a node matching the
+ * full DT path for any given unflatten device tree
+ * @from: The device tree node to start searching from
  * @path: The full path to match
  *
  * Returns a node pointer.
  */
-struct dt_device_node *dt_find_node_by_path(const char *path);
+struct dt_device_node *
+                    dt_find_node_by_path_from(struct dt_device_node *from,
+                                                  const char *path);
 
+/**
+ * dt_find_node_by_path - Find a node matching a full DT path in dt_host
+ * @path: The full path to match
+ *
+ * Returns a node pointer.
+ */
+static inline struct dt_device_node *dt_find_node_by_path(const char *path)
+{
+    return dt_find_node_by_path_from(dt_host, path);
+}
 
 /**
  * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586697.917998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qD-0003Sc-3B; Sat, 19 Aug 2023 00:29:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586697.917998; Sat, 19 Aug 2023 00:29:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qC-0003RH-PI; Sat, 19 Aug 2023 00:29:20 +0000
Received: by outflank-mailman (input) for mailman id 586697;
 Sat, 19 Aug 2023 00:29:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9q9-0001hl-Ek
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:17 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe59::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cbf578d-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:15 +0200 (CEST)
Received: from MW4PR02CA0027.namprd02.prod.outlook.com (2603:10b6:303:16d::32)
 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.6678.31; Sat, 19 Aug
 2023 00:29:12 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:303:16d:cafe::d3) by MW4PR02CA0027.outlook.office365.com
 (2603:10b6:303:16d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.17 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:11 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:11 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:10 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6cbf578d-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=msnI/WxbJYEDx9AqeN4VmrLyc227ujFBMd61mPLQESQIFZ4YBiF9uGaF6G3BgQNJniCeGelEojIiHqPTWPUKOIYqLggVozcOvdGxuYLaUIo1yWuwzetudKXelMuuuwVga4Iv/iq7GmcFaQvQzFSPHNMtTX/0n/xeltiGIsPr2GjVz9TPaAJFfA1JyYSb4T6Jsyrz9Cu6tGv+aYv3MR+8ft68BSYlhYHCPOssjywkNxR9QAFptBhwIk8Zne136ZEDkvYN7+ENphkWSpAf3v6tjSMuKERWAOUcLJEHXjD2u4ZBzawXGqPk91+WoZ1a+QAO2QtDVgNiMcTfj8VY4fsmtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qIyUzT1AUXykQrgYpXKigDmIsrdrXXxfGP25yLD3dds=;
 b=FeSA+zTAokyOPZGrBE/6q5e1Y3Dp3WR6zc7Idg4iqzl3SHIZ79SMbIUzmgiV6rWMv992k21RgxzhPdkE+bAqi5hOgMUGa0+/02jIlJuJZxiGCj0Gk1o1JmG0KqtdczNeEV0Z+fcjYQqKDRHAA4mW3liz6mb3m6AFRooA6TugPb/eKpA7QNAEozCXLQpdkq1gPo8NxGSTEhK+oif9ma6lCa0IQ+tlY6PlEIU1fYGQcVJl1cYK8s7jTi0oHQHDM8ZpCiNSKbPQ9TuNmirdV6f2uN9tZT5MtGMmmJsXMd8Yt2puLH63ehSePbuymUGepZ4xB0E3YSq194Er3rZNaMqjrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qIyUzT1AUXykQrgYpXKigDmIsrdrXXxfGP25yLD3dds=;
 b=hHQ8CZpyvbysa2+DHY+Kcfvs/GU0A+LIwZ9IOPK/ilbUGQHIelPjr2YtqGhhb/L4GS1RKBrmuQhI0Pi291jeqfaMt+f3rHYoCaUO7KsFRbE7X2YN4uBfLNErgI4dY53FpbyW0e+khAB4VqVKbI3NfhilS5F0xiS7l8FMLoupftg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN][PATCH v9 09/19] xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
Date: Fri, 18 Aug 2023 17:28:40 -0700
Message-ID: <20230819002850.32349-10-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|SN7PR12MB7812:EE_
X-MS-Office365-Filtering-Correlation-Id: d26b1754-4dfe-4e63-265b-08dba04b4f59
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b92X0J4++Nw9Vfwqjt1DWcnqTCYyviSLePgyMFozcQvwP3jGfSCBf/mZDrw6brXLsi7alcVqLKvLBy5LOJTPR6ZYhY22xTIOrjCX67dParWLBildk71r3qXqXZey/P4SE/LL4aq0UW2T1VsEepP/XTaHGvPh6OD36DC98U/lEbGy9bo2k3IX9QvxUzW6NDtFrwHt4SBcelh26e1ge0sLxibZK5fYwWGt+9URsocNKh5JQ9uxwS1Y3xBxVwqiVoqKTecymVUzKTrtwi1y5suf3wwctzhR/BaJ/ek7UUcEhT/YS/PuYV6QjoBWQI4jdb11dLl3FLM7ENllu3JUFAXFf+z2dEbCRpUkkZNL6gM0RYnHW/GmefX3XPyc4fRMfmzMK3t2BiNRWSWUOrSJIctbVzh23NHz6LJH8BrEhgkj67HzHxSp5szcYlNz0RyzG5GHQ1fD2X5+NOIZCu+ZkcW91jRoSUePd+0uz1zXga1eVTvwF8W9RZkjQSVgj96ar6MzYct++jQ08ZeKDvVl9et5T1gG19Ojn0Ko2IE0c56qTtHFrVdQNQ8sOzXjSb3ZgBOj/8XsV0TbXrPC2chjwXgL9kClZa6IvCQzkwJ5sI6lR+6LYjzdiM2v6bnnBbho5jxTtvstPI5ly9jdMyoWMNTFn9Wb9sDZESSjZdfIymeRZqDRry9Fo/H5ZrV/vx8PP03CJOcRP4jvp3peVDCRswmu3qAE8fBhQ3tU1gTk68HGih4xuN6cQWICyeqVA9OPwXddt2hQrkdY5TJR9aOIy29O/g==
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)(4636009)(346002)(136003)(396003)(376002)(39860400002)(451199024)(82310400011)(1800799009)(186009)(46966006)(40470700004)(36840700001)(86362001)(36756003)(82740400003)(356005)(81166007)(40480700001)(44832011)(2616005)(5660300002)(70586007)(478600001)(316002)(70206006)(6666004)(6916009)(26005)(1076003)(41300700001)(8936002)(8676002)(4326008)(54906003)(47076005)(40460700003)(83380400001)(336012)(36860700001)(426003)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:11.5884
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d26b1754-4dfe-4e63-265b-08dba04b4f59
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7812

Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
Remove static type so this can also be used by SMMU drivers to check if the
device is being used before removing.

Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
patches in this series introduces node add/remove feature.

Also, caller is required hold the correct lock so moved the function prototype
to a private header.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Update commit message.
    Add ASSERT().
---
---
 xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
 xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 xen/include/xen/iommu-private.h

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1c32d7b50c..5796ee1f93 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -18,6 +18,7 @@
 #include <xen/device_tree.h>
 #include <xen/guest_access.h>
 #include <xen/iommu.h>
+#include <xen/iommu-private.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xsm/xsm.h>
@@ -83,16 +84,16 @@ fail:
     return rc;
 }
 
-static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
+bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
 {
     bool_t assigned = 0;
 
+    ASSERT(spin_is_locked(&dtdevs_lock));
+
     if ( !dt_device_is_protected(dev) )
         return 0;
 
-    spin_lock(&dtdevs_lock);
     assigned = !list_empty(&dev->domain_list);
-    spin_unlock(&dtdevs_lock);
 
     return assigned;
 }
@@ -213,27 +214,44 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         if ( (d && d->is_dying) || domctl->u.assign_device.flags )
             break;
 
+        /*
+         * To ensure that the dev doesn't disappear between the time we look it
+         * up with dt_find_node_by_gpath() and we check the assignment later.
+         */
+        spin_lock(&dtdevs_lock);
+
         ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
                                     domctl->u.assign_device.u.dt.size,
                                     &dev);
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
             break;
+        }
 
         ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
             break;
+        }
 
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
         {
-            if ( iommu_dt_device_is_assigned(dev) )
+
+            if ( iommu_dt_device_is_assigned_locked(dev) )
             {
                 printk(XENLOG_G_ERR "%s already assigned.\n",
                        dt_node_full_name(dev));
                 ret = -EINVAL;
             }
+
+            spin_unlock(&dtdevs_lock);
             break;
         }
 
+        spin_unlock(&dtdevs_lock);
+
         if ( d == dom_io )
             return -EINVAL;
 
diff --git a/xen/include/xen/iommu-private.h b/xen/include/xen/iommu-private.h
new file mode 100644
index 0000000000..bb5c94e7a6
--- /dev/null
+++ b/xen/include/xen/iommu-private.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/iommu-private.h
+ */
+#ifndef __XEN_IOMMU_PRIVATE_H__
+#define __XEN_IOMMU_PRIVATE_H__
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+#include <xen/device_tree.h>
+
+/*
+ * Checks if dt_device_node is assigned to a domain or not. This function
+ * expects to be called with dtdevs_lock acquired by caller.
+ */
+bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
+#endif
+
+#endif /* __XEN_IOMMU_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586698.918002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qD-0003cT-Lv; Sat, 19 Aug 2023 00:29:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586698.918002; Sat, 19 Aug 2023 00:29:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qD-0003ZH-Cz; Sat, 19 Aug 2023 00:29:21 +0000
Received: by outflank-mailman (input) for mailman id 586698;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qA-0001hl-IK
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:18 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d907e7c-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:16 +0200 (CEST)
Received: from DS7PR03CA0188.namprd03.prod.outlook.com (2603:10b6:5:3b6::13)
 by IA1PR12MB7542.namprd12.prod.outlook.com (2603:10b6:208:42e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:12 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:5:3b6:cafe::e4) by DS7PR03CA0188.outlook.office365.com
 (2603:10b6:5:3b6::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:12 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:12 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:11 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:11 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6d907e7c-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fCoQ8wtHCHwHDrtwLz6Y+9J7/j7DVniT05wPorWsLHb5Q0FRLldPqFYYkngeNX4sc2wqY+TmykMGcIeF1a1gHKtw0EtWCHt/QIVvWf6AsaqhgeSZENbBR6bLGIJC7SOEhUIyfIKIW7/jKfK6fxpgqimZs+DC6r/NfBIgXGVnbViPo7D9grcxVImGLttq5Ydfa3iPS2DH/YTapJTK3Ag8leo+YEsVvid+rjRJyZEhgxMmzgc5aeDlRPGqG2GndZSmeWyVCcyyq5HWpX2mT4Q/qsBZh50FrtFXjulwCOLS19Hb6ILBikzkql0Tqxh7fV/w+BeSMgp5dqR5WD3E4Preng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YKa7svLG+XqwpbOJFC3IlsmtdaRP7xcFFG8yBKHlK2o=;
 b=lYqbKxBkBS+DAixYE4eEHDruUCrR02Hm/uTQ05vT9FpQKqFAWB6GvHp7VS1oQ++JL81ix0spO+O3oPQQap5XTVM5HoUfD6nlj9bWs3U+tgW5oubWw1UPKcPrpvHze4vil/m0MOrnYS85hoHvf6SMV6V/S7knjc3bXLuNInjNIQPJ6l0CB4r4ZCJcIwNz92IXhZ3dnA9vM4RglcID9kbquswJZgMF0UTcOfF2klua3shcKVoJb1aGKsHVA9+MmlMrZTp5XaA1CsAk/7QE666M3oDMHDZihNyB3pa/PDNBE8aNKXwOaMn8GS13sl+iVC/vbWoCGHgba6goGQaeEsWXrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YKa7svLG+XqwpbOJFC3IlsmtdaRP7xcFFG8yBKHlK2o=;
 b=U9NcNRMhl86OcEMA3RqVLMan6V+BtoR7UpMgM0HILXOir9puCbtwpApaiIScVrDkUv0y8BQPCBxXOLD/BJasfN+3TsPVlnv0PDRc+OWjGmBZQla29wEJL4L8TH+6Nx3CBJsoxmvK4lFqDW7fwTntKq/UiCmtNU3cMTox02epOK4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 10/19] xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
Date: Fri, 18 Aug 2023 17:28:41 -0700
Message-ID: <20230819002850.32349-11-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|IA1PR12MB7542:EE_
X-MS-Office365-Filtering-Correlation-Id: 37c7d478-d756-4786-a1df-08dba04b4fe0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dIy40HH0PFF1pcle0LDbxiEmxIQAakVosjp4cYAzGPlPTJgg912CwJDHQuyFj2i04off41lEhDaG8bTdISQO5/BMbv0UsCnHB9k5hu8cAwdevw0mtXOEV0nKwtDemuFFE5PEuP4VFpTdfJYmhbKOe+RzFkysmgqN2Wh3saH2oMI6P+2FVwUjRW2HmZrU+RQt9uWF0ZZ0lH4yIZJeQNp20OBsSbeLRg5XctQ9HqIkv+mOq7hqKbQ1n6gHn0Wy2MFZP/tZ5gTtOS0EXMugSqwYOpx8pAbjcT3YACGvDpD6kgj/G4w0U5noyk/qeXLQEjUxxejwySVyLmc4rbC2M8hw1I1p/PqZ9fsYaUVcfs8Iuj2JoMq23/aOaO3sueSvJcE3ffNIGgzxXRT2DTQpDoRXqt10wJcggX4FIY1XTbeNGPVnHgU5fm/ZVe8q/ExJCnRorF0nl0j+pL/+mqfROGhj37q4w7qZlg9UJMd9D1XnnMY67OgbJPN14MVHI0+4RnL8qCFIYEqMICX/8LxHGLYWMYQVx7FYsVGUEKrdQzLNL9X9szljyEef5+7a/YUo5um5621Hqw75QCjOy8dOdw5Bm06ySMU/0YSX+Fn5b/pTQqu7bTgdGuc92k42yS9ZAf2TXBeHkKmbnO4Lk8ncX8PUNayHPJiiMEd0FaMsI/D8GCRut/2FWUrm/lyJBSIib7G5Xr8lBgTlce3CWRwwVKvWWTTcm0PUOBQuNLjssriSOZUPFX/K7K+lJzapCSkIHp88ECtgEwps0KoLj6PH+Ly+4Q==
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)(4636009)(376002)(346002)(136003)(396003)(39860400002)(451199024)(82310400011)(1800799009)(186009)(46966006)(40470700004)(36840700001)(86362001)(36756003)(82740400003)(81166007)(356005)(40480700001)(44832011)(2616005)(5660300002)(41300700001)(70586007)(6666004)(316002)(70206006)(6916009)(26005)(8676002)(8936002)(1076003)(54906003)(4326008)(40460700003)(83380400001)(478600001)(47076005)(426003)(336012)(36860700001)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:12.5232
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37c7d478-d756-4786-a1df-08dba04b4fe0
X-MS-Exchange-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: IA1PR12MB7542

Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
to add/remove/assign/deassign.
With addition of dynamic programming feature(follow-up patches in this series),
this function can be concurrently access by pci device assign/deassign and also
by dynamic node add/remove using device tree overlays.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
    Changes from v7:
        Update commit message and fix indent.
---
---
 xen/drivers/passthrough/device_tree.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 5796ee1f93..096ef2dd68 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -148,6 +148,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( dev_iommu_fwspec_get(dev) )
         return 0;
 
+    spin_lock(&dtdevs_lock);
+
     /*
      * According to the Documentation/devicetree/bindings/iommu/iommu.txt
      * from Linux.
@@ -160,7 +162,10 @@ int iommu_add_dt_device(struct dt_device_node *np)
          * these callback implemented.
          */
         if ( !ops->add_device || !ops->dt_xlate )
-            return -EINVAL;
+        {
+            rc = -EINVAL;
+            goto fail;
+        }
 
         if ( !dt_device_is_available(iommu_spec.np) )
             break;
@@ -191,6 +196,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( rc < 0 )
         iommu_fwspec_free(dev);
 
+ fail:
+    spin_unlock(&dtdevs_lock);
     return rc;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586699.918011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qE-0003os-IV; Sat, 19 Aug 2023 00:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586699.918011; Sat, 19 Aug 2023 00: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 1qX9qE-0003mH-8Y; Sat, 19 Aug 2023 00:29:22 +0000
Received: by outflank-mailman (input) for mailman id 586699;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qB-0001Sg-IS
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:19 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e8d4ae6-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:18 +0200 (CEST)
Received: from CY5PR18CA0057.namprd18.prod.outlook.com (2603:10b6:930:13::6)
 by SN7PR12MB7201.namprd12.prod.outlook.com (2603:10b6:806:2a8::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:15 +0000
Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com
 (2603:10b6:930:13:cafe::a1) by CY5PR18CA0057.outlook.office365.com
 (2603:10b6:930:13::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:15 +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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:14 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:13 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:13 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6e8d4ae6-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RCHql4WcT+NTj2H5TM+h2OGcvXaFs5TjaPEsfoVfghL8DDw1s78kITfr2z32WygZadM1JVP7XtxHa8ifNkG1TgUccekskonxpgXEK5cVSwEdI9zRCduzVWvpcjR1wAuxfk3ukgHWde3u/cFYsirbczC5Jmv6UA1xoZUoxv/tmFzR9dFljGFzesIrjP+wRi1Jblzn3oxdfAX0jf9N711rR1iT1+S74Lsg0H61jQYTICpqwUDN4fCj7WJfp97guNub2LpgbYGzGp0ZGG2Mr6HtKtjVhKHCRWmotogwBw9dqnG4oynsG+VZfiie2pXlyHaT27wQ5LhkhsWqv19zquyNtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0z4VnR/rjV3DabEuQM1jMT4AHTgihliMWcytUKhZcwU=;
 b=hfNCPmAQQkSpICHgUNxnxYN43AJdhFPA/IydMhExP6gg/36/lD/+JosZU61+8Kwa8xB355YlsmDhZDyuhu0fKPJCFzQTzT1z1gUcEojCKixyPysh1XA8g7Sbqv3cTCbBBBQWIF+86cnMTZ00EwBxeycFnibi78+Gf2SFL9aCB1lK/EfyKaapsKlIDPEGkzx1lb/pP6up6wmSXgf4Z9lwYUHkl3HZMArWJvpI/tlDAaAtgV5pY9Gzjy+yLSwLg6WQ1nRsiyFDOIE8HAHBXU60yYAdftmhzeQwG3Ko3N32z2IqhoKQpUMc0ajF2lKZAb9JCncvfJ6KWHi+Uwk2zRkfyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0z4VnR/rjV3DabEuQM1jMT4AHTgihliMWcytUKhZcwU=;
 b=rl0ISqEsTen99LHFG60HmN1QXwn3IfPu/LYjKb8luTNZQpVYjHiUlVFFecinbpSxjO/9DLh/sOaO//s9f+ZhEdZsgDFEzdHvuE9yQuIorxvR6C8xQLOwu80FfUAUkgduDaeY5tvOQU/TZ506kTSijQ98Tchu+49XciUlOlyl3ps=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v9 12/19] xen/smmu: Add remove_device callback for smmu_iommu ops
Date: Fri, 18 Aug 2023 17:28:43 -0700
Message-ID: <20230819002850.32349-13-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|SN7PR12MB7201:EE_
X-MS-Office365-Filtering-Correlation-Id: 76e60ff5-c166-44e9-8f2f-08dba04b5111
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9WuJ/L3vJmIx4AY5ZE424qmYFGRJrGSm2dhu4tGIjc5mWEjzqezxruvN1DPN7rWvWpGOYClkv4d4tU9j9V+uDvkgBwPp7GO0NH67zJ2frK2Ndu3b/iYLQPVdTsgwYtF/AvrVP+IYfdy21r467BwtUrX9vHqbWXsY7A75ISFOo2b8M+w8aTTP6w30EE8/vRbhBcRIUEXuYIn/raRnoMhP93KiZP5BicOfQQg5BZ7QJD+4GPTH9uYQ1Qd1wla0XToaGRaA8nLB8ye4sJNEsO/xeOujQMrU0fEzo/hdKrksh2LPJ3uakxMRXo11oT9+gjEE9npN/pwN3GjctQLJeFmRVIdi8YhTKxKbrpni5WDoe3MRTAPLLKotUZDmgnUFfMUW2zSJc9PboHsckQA+wAlrhqYP99IAskkgTyWyuXGt8PoFxTEwDl3aXmUeS2kSxRYaVoqIGnmMxJvP0K6SjZlJ9uYjpK0mYKMyvD7qDT2Q1swfE75pJ9knRJE70IWTxpJug8rj+8KU35rK2etYyVsaUYV8Cf4/GcskVypzjzDTJrSJa2MqQmMrQBuytU0lOu7llhu089ppLwDUHHkG9D3ejWoDEfQxiLy0FTtJKviuTkI2wB3bvAfwASErcejxVcEPwoHT3urFzxMHJ1qfXfz8EI7A36MKnkPJQvDMP/qvRcy3BduCI6RFJ8fcLWhZPc7qkWUKPpZ2zuvNC1KNUl/Jsl3q9UeUdUABhjSlDhL6K1VYoKAPsieXryZJPmL/2OZSQ/j0AysygYGDmQgot0FUXw==
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)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199024)(186009)(82310400011)(1800799009)(36840700001)(46966006)(40470700004)(86362001)(36756003)(40460700003)(40480700001)(83380400001)(8936002)(4326008)(5660300002)(36860700001)(1076003)(2906002)(8676002)(41300700001)(26005)(44832011)(426003)(47076005)(6666004)(336012)(2616005)(356005)(478600001)(82740400003)(81166007)(316002)(70206006)(70586007)(6916009)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:14.5059
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 76e60ff5-c166-44e9-8f2f-08dba04b5111
X-MS-Exchange-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: SN7PR12MB7201

Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Check if device is currently in use.
3. Remove the SMMU master.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
 Changes from v7:
        Added comments on arm_smmu_dt_remove_device_generic().
---
---
 xen/drivers/passthrough/arm/smmu.c | 63 ++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c37fa9af13..e1e8e4528d 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -42,6 +42,7 @@
 #include <xen/errno.h>
 #include <xen/err.h>
 #include <xen/irq.h>
+#include <xen/iommu-private.h>
 #include <xen/lib.h>
 #include <xen/list.h>
 #include <xen/mm.h>
@@ -815,6 +816,19 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 	return 0;
 }
 
+static int remove_smmu_master(struct arm_smmu_device *smmu,
+			      struct arm_smmu_master *master)
+{
+	if (!smmu->masters.rb_node) {
+		ASSERT_UNREACHABLE();
+		return -ENOENT;
+	}
+
+	rb_erase(&master->node, &smmu->masters);
+
+	return 0;
+}
+
 static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 					 struct device *dev,
 					 struct iommu_fwspec *fwspec)
@@ -852,6 +866,34 @@ static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 	return insert_smmu_master(smmu, master);
 }
 
+static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
+					 struct device *dev)
+{
+	struct arm_smmu_master *master;
+	struct device_node *dev_node = dev_get_dev_node(dev);
+	int ret;
+
+	master = find_smmu_master(smmu, dev_node);
+	if (master == NULL) {
+		dev_err(dev,
+			"No registrations found for master device %s\n",
+			dev_node->name);
+		return -EINVAL;
+	}
+
+	if (iommu_dt_device_is_assigned_locked(dev_to_dt(dev)))
+		return -EBUSY;
+
+	ret = remove_smmu_master(smmu, master);
+	if (ret)
+		return ret;
+
+	dev_node->is_protected = false;
+
+	kfree(master);
+	return 0;
+}
+
 static int register_smmu_master(struct arm_smmu_device *smmu,
 				struct device *dev,
 				struct of_phandle_args *masterspec)
@@ -875,6 +917,26 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+/*
+ * The driver which supports generic IOMMU DT bindings must have this
+ * callback implemented.
+ */
+static int arm_smmu_dt_remove_device_generic(u8 devfn, struct device *dev)
+{
+	struct arm_smmu_device *smmu;
+	struct iommu_fwspec *fwspec;
+
+	fwspec = dev_iommu_fwspec_get(dev);
+	if (fwspec == NULL)
+		return -ENXIO;
+
+	smmu = find_smmu(fwspec->iommu_dev);
+	if (smmu == NULL)
+		return -ENXIO;
+
+	return arm_smmu_dt_remove_device_legacy(smmu, dev);
+}
+
 static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 {
 	struct arm_smmu_device *smmu;
@@ -2859,6 +2921,7 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arch_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
+    .remove_device = arm_smmu_dt_remove_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .assign_device = arm_smmu_assign_dev,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586700.918017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qE-0003vW-VI; Sat, 19 Aug 2023 00:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586700.918017; Sat, 19 Aug 2023 00: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 1qX9qE-0003th-Lr; Sat, 19 Aug 2023 00:29:22 +0000
Received: by outflank-mailman (input) for mailman id 586700;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qB-0001hl-Pk
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:19 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e70ad3f-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:18 +0200 (CEST)
Received: from MW4PR02CA0026.namprd02.prod.outlook.com (2603:10b6:303:16d::25)
 by MN2PR12MB4111.namprd12.prod.outlook.com (2603:10b6:208:1de::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:10 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:303:16d:cafe::ba) by MW4PR02CA0026.outlook.office365.com
 (2603:10b6:303:16d::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:10 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:09 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:08 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6e70ad3f-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GyZ4fcsLCVOjkIXzgnUa6ji+61VMET/U7h7KMIR2aX7RqGL9HS9jvWToAbQinVE4K9uECpGMmsAunH8n/gIvANkMUIWKGhhDvypFzDF+eV++2caX4Pl14NZobPlGW9lquptJGsyZbVB8eYl2YUDM7dVLD3shxVsSC1tmO5Ilu8cS38AOd48mnJwDY1ka3rI/brNtxqIZa83+YA72I8pLxVmlT3ET4cnytvkouKD2DYUymciq+R/16z/5VyxV199JNVBYyDlGQH4hVOHJEixWnJoK9mxmalriZn/WdK+g9mAhRGy6oQ+25ySHuZbMa/PA5mv8w8zzmEHI0CfWWTonOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=I4avalaNMVLwxKCpWNi4BmXBINW5qfumrsN5+9Sl6AySRojApVVpzLWIrOG27w2EZYn12E6E/tzcJ8tIOVByYgrc/H7dsmPWPfTdan8I3Dx6la5dhtE239bd9VM7TE44zEF2PZfhErNbdbBxqwF5uIZQOp8mBoRMRmo4kfjD8DPKDjP5gfCKspuNRtLvrNmilkry6bIIiIskRCqJ5yVVnjK2LNyZf4Cc8p6T9pPtmEPXn4vGrCgBS6B1GpdZ7PfoFGFfmf8fzrSJpQVOISp0m97JcOGbVilrmKZA4p1RhZTMgw7XGyoR1agZ5+LNzzM+/dsQqivPM5tXTZQD/Q8xnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=iWCDZQEM6u4AT6MxBi/F/m58WQ4LDOmxrp8cNjfvPAMm0mpuXI//gVDCNV7Izn3xpa9cFRr64F/FoHV1HLqoBsGqFWZ0FEmnnqZdflKjCq2GXxnL1hq4WNpG7nfwnb6ran6I7zBYPC0Rf++l7lCch6qXmGPXbrA/xwW0oqjo6aU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 06/19] libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
Date: Fri, 18 Aug 2023 17:28:37 -0700
Message-ID: <20230819002850.32349-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|MN2PR12MB4111:EE_
X-MS-Office365-Filtering-Correlation-Id: 3882f220-e7f2-4061-a760-08dba04b4e57
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FWBXhnZXhm6KYWTR/4SlGUbbfY89AIzY+ojC1kffJ7ZvxRmaVRtZmImfO0NnnTpTlMAfrYZTWu3CA2FlN/xmDCxjdeVQeU5n4jn6CNODtE3lAZ0YHzRRvJmAjKT9TQtNBAHN10nPSX+j9wHmb5O8EGvB6nvEFhlOqi3l37iwH6URWMgEqgu4ppsFLMLQt6+cFUlQUGDzdQqBOYJ8wQmOgtDnJNZCAwPAI3DQ0ey/jCMOkz5bF+eGgqsiKXdEYLREguCCyhiTnxd5UWuXNlzvkn2CyJf7D/ZoQCOKMVdk3CzgcAWfm+wXF9n1jgpS6MrftEkoDPTx6Cm8XsATwCP/fGFPqQMf2UrylD6+LQbwSSz4+nbZTAf1dL0xNkuJtbLjMEuJkCQsNZEgFzQQy90D58/nctFVc8m7wW+YNasqnwvtXgeLDjntGcbcrzaDF4uyOKDhy5jO6QEZRUqJ9WCnM/BWbtQ1FDKm5jrxUBPFsDr0F9LGtU4aq8kLnqvB+MM2FXfXhRpD7+4dr6pEijVTtO9IQ+0+OP/1L5ZjqGRHVGhGN6DDHsJVe+4vjfSEOfHa3WB91Rrr1RfKJpp4NMaXAli4Rc1yuP42rjfg3GDGk7IKK/zPRrD8pIkT0czG0ZGS8J7CMTkpGjR8iaaU0jMmPqRDqygmqUb5dixrThz9hJja5YoWB+9RXNIALfuLZxgp2pL97YXsPH2KJfN7TYwrYtM1puYFvCT3JqJh/7OJhJAaPvRTTN+v7oEs3LCC6pacwy0pY9XEk4jzn6ip5ZxrdQ==
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(4744005)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:09.9009
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3882f220-e7f2-4061-a760-08dba04b4e57
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4111

This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/libfdt/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 75aaefa2e3..d50487aa6e 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -1,7 +1,11 @@
 include $(src)/Makefile.libfdt
 
 SECTIONS := text data $(SPECIAL_DATA_SECTIONS)
+
+# For CONFIG_OVERLAY_DTB, libfdt functionalities will be needed during runtime.
+ifneq ($(CONFIG_OVERLAY_DTB),y)
 OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
+endif
 
 obj-y += libfdt.o
 nocov-y += libfdt.o
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586701.918028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qG-00049h-1P; Sat, 19 Aug 2023 00:29:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586701.918028; Sat, 19 Aug 2023 00:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qF-00042u-B4; Sat, 19 Aug 2023 00:29:23 +0000
Received: by outflank-mailman (input) for mailman id 586701;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qC-0001hl-9Z
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:20 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e89::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e54e402-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:18 +0200 (CEST)
Received: from MW4PR04CA0115.namprd04.prod.outlook.com (2603:10b6:303:83::30)
 by DM4PR12MB7551.namprd12.prod.outlook.com (2603:10b6:8:10d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:14 +0000
Received: from CO1PEPF000042A8.namprd03.prod.outlook.com
 (2603:10b6:303:83:cafe::46) by MW4PR04CA0115.outlook.office365.com
 (2603:10b6:303:83::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:14 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:13 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:12 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:12 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6e54e402-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jTvbpbHURLYVZIk33+9FqE2p7mFK+Rxz9TJMNoDK27JlBfUXvSP+y9R1/fw1fnoyurIjKT6RQidlBiK05gCVhZGc8wYHyDMmO8bOUD8pVfl2Aj4HGuHq1q1qibcsvSQh0bKkjlzjVyaF+zENWtJ5GYz+TW03Sk+/pRl/nHliil2rzeL0O4Xacj9xuk0f3y1jDRxYe1GxagAc44PesrsZxWoskRG/+9/7B9qCn294w7afXZ8g7tDR1xdlXhVAdYDJWz720PoDEMFJmKLo9mgFrAfArCrIsLd5JpFepA0iBrhtxnozebFrLZF+fGtVZviekqzCeHJPNyk3ErWR9HEjjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WkgaOMunYhLJojaFUq7GpIVcWqHAH/4vWBaqoyKkco0=;
 b=Tu+hs8WhZ5iejImEZ1e8ZgfWEL0tvhKW8zdzLob0NtMqQwE66ev6078Ri9s7J+ZRp+TbQbUlR9Sk7cQ9trCkSu1oyu8rvHubVIid2f9+hK/4kyPzfM7Dlcq6RQOPKltupJ6cenoauuU1X/CvrjYwESRMcrp7uaJ7HF5k7eAo3aIkWDj2DPyr2+kskbALWz13PVfZ5OmaL6atjAZ5vGqfKuhuHAif9gvc+uGy/eALhIk+Tpnk6w1pNyuOuzPmC3m0nmHpkXMzpSjIkhJYpxA99Yc8T6egz1lrGlB3zOQQk2yIEQ+3FT/qm59y2jfQo2WsaDl0ysHLvh8EzecjPF2A0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WkgaOMunYhLJojaFUq7GpIVcWqHAH/4vWBaqoyKkco0=;
 b=VlxCO9AJjPg27Bdeirua8lAXFlqjjT7unqzb536anLNfQeGMVqKTzca82eSWFCwXfLk3wEapmgvn9IPTxpr689P3gzM0edPLpkU9MMFSD4DTceJnaRZah3W83uS/uwKEF+7CP8MEuVXkoe6CNPI6XDGUTKhBeJlIkYBFrXTP5Os=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Paul Durrant <paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [XEN][PATCH v9 11/19] xen/iommu: Introduce iommu_remove_dt_device()
Date: Fri, 18 Aug 2023 17:28:42 -0700
Message-ID: <20230819002850.32349-12-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A8:EE_|DM4PR12MB7551:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ead8b6f-1022-4549-0c7f-08dba04b508e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kl8XK4OunBYC3R4iMs+7z2Dx3BacsubH0vTI/JLeUAtp0+Z3BJ2iZCL2kM/aZPmYylG9UOm7sCzifnAKQiuvQI5H3kBWr/KLbtaS4q/rIyfWsrLCEWKz0RWg7iFvgWhAMK6ld1FfS1f40S8ObHCj4GucilxAxmlkOH340/dyDMtajHRFzlfMSpxg0Fh3W35ChHnG0VA4hNx8Bv9p0yXucpEU4wLPmFCKoFsssglJXZDcN7RRsNeU2nQxC6QRMBcFgupFsloE6B3L4j9WW3pzCorRspwJPO6XiJrHeVIKwkoP0e398VzN3u/npFRQCdUBAOoXAb65czjZ6DE1zFCBeqwef+Y7NSoc1v9hXx4A3eBm3S8oQaR97t/Apk160g/p8WrGuxezz50LW15F2Siph4Ov5kVxO3CeqSoAVFp07E5gmWG8ZuCn1MVgR/wbeyazl/0XGqwGtDNYd5ohCFPfRN7D2eRvHHtafkpb9T841GxAG1TuVlYgRZ07uL5Gtb+Bd0QzNytT+IMaja3OuzuFKs9hwFMCbDljL3H0Gtuw0F2MxFfmApJ0PxIr2vujUz6UuYcpAGU+X/nHyEI6Eklk1YnU3YbnKZHsHHqY8i+wJVXeDlm/JFH8CKzhdvVE65psX4pp53NR2qcXxNzCSHH9sUWHQo/wQP/k0k3dc54TPv9M44ygny4WQ5GAIuypBzJLAFhMFrxDd81f2vj37gj08+qxa9yWQkPG9RepUfv5CYaa9VhZ1R1RpIDhYTgqcWl3PGCZCxizTFHgot5YSRYrCw==
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:13.6128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ead8b6f-1022-4549-0c7f-08dba04b508e
X-MS-Exchange-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:
	CO1PEPF000042A8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7551

Remove master device from the IOMMU. This will be helpful when removing the
overlay nodes using dynamic programming during run time.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>

---
Changes from v7:
    Add check if IOMMU is enabled.
    Fix indentation of fail.
---
---
 xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
 xen/include/xen/iommu.h               |  1 +
 2 files changed, 45 insertions(+)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 096ef2dd68..4cb32dc0b3 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
 
+int iommu_remove_dt_device(struct dt_device_node *np)
+{
+    const struct iommu_ops *ops = iommu_get_ops();
+    struct device *dev = dt_to_dev(np);
+    int rc;
+
+    if ( !iommu_enabled )
+        return 1;
+
+    if ( !ops )
+        return -EOPNOTSUPP;
+
+    spin_lock(&dtdevs_lock);
+
+    if ( iommu_dt_device_is_assigned_locked(np) )
+    {
+        rc = -EBUSY;
+        goto fail;
+    }
+
+    /*
+     * The driver which supports generic IOMMU DT bindings must have this
+     * callback implemented.
+     */
+    if ( !ops->remove_device )
+    {
+        rc = -EOPNOTSUPP;
+        goto fail;
+    }
+
+    /*
+     * Remove master device from the IOMMU if latter is present and available.
+     * The driver is responsible for removing is_protected flag.
+     */
+    rc = ops->remove_device(0, dev);
+
+    if ( !rc )
+        iommu_fwspec_free(dev);
+
+ fail:
+    spin_unlock(&dtdevs_lock);
+    return rc;
+}
+
 int iommu_add_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59f..a8e9bc9a2d 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
 
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
+int iommu_remove_dt_device(struct dt_device_node *np);
 
 #endif /* HAS_DEVICE_TREE */
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586702.918034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qG-0004Pe-TV; Sat, 19 Aug 2023 00:29:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586702.918034; Sat, 19 Aug 2023 00:29:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qG-0004M1-KP; Sat, 19 Aug 2023 00:29:24 +0000
Received: by outflank-mailman (input) for mailman id 586702;
 Sat, 19 Aug 2023 00:29: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qD-0001Sg-2R
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:21 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20611.outbound.protection.outlook.com
 [2a01:111:f400:7eab::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f7b96c4-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:29:20 +0200 (CEST)
Received: from MW4PR04CA0101.namprd04.prod.outlook.com (2603:10b6:303:83::16)
 by LV3PR12MB9118.namprd12.prod.outlook.com (2603:10b6:408:1a1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:16 +0000
Received: from CO1PEPF000042A8.namprd03.prod.outlook.com
 (2603:10b6:303:83:cafe::6) by MW4PR04CA0101.outlook.office365.com
 (2603:10b6:303:83::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:16 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:16 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:14 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:14 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 6f7b96c4-3e27-11ee-877e-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n9QpzAX86QxnQp1df+PAZWOOhRNKD/SWA9p0HQPiRsEQbtpcZkEJLfejX4iWlfPriTAPjnhcZlv8wUjV/QfZ0vBp94SPXQyvIZkEfEpwOrJWCu/SN5ij2SdfhglA0wjc9bCaoxZ/2XeC5n5ct/q/YBTbM8bvC2wdcUNjHCF5DD2xciruDTBBlcBVFKVcXp9Eo2tMFGYuVvvTGN7fuMo1Jq84ujuCDiOdv5trOOGs+8Q9g1/mMHhluEjRKna/w+1hPfa2Wt+8FuERg3fZxPsoyFFlRMiHSsAp+0bsfXeUsUNskfE55EFELZJ/6WWR62NY4UVxA7kvqp7zYxDUJbj3EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zbvEFTy0SN7hLXU1211NeYzv59Rers6Gren3/qiNJHg=;
 b=nPLc5ySIBkM4rnzFRBzLfL+VJY7Zr9p4evkGRR8mvMEbPgpj8SRUb9S5gtaoC+vWwfhs2vwcpsWxbC9qvDo0zDPqZeNIVDJzoEPj7YvOHzBvWtdcGFn7dmz4Z5xmpvOALXUNx3JqLd2jKsu/ygIAI13DuQ0hUTDJRR65kWL5JQH4AESQCyqY1ueWltsCDQKrz9eXarTB/dg9LjL2+IugQYWSt3GMWW7ldH4Po1Bc4KFHM8O8V4q5orfukeC5lE5OY2PHAdhgCIGk2OudsqfY64+tTOcRqBs79fOLoIadW+QJdGO+UertB672rexHT+vIg0zwr1cmtf3VCaBYyCchcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zbvEFTy0SN7hLXU1211NeYzv59Rers6Gren3/qiNJHg=;
 b=FyAdKOC/17V4S5KTIx5aB+3/6KZJ/vsjedjhsosprooCfAOT0fVZiTmc7EmhE+mJmAA+LJhg8noTwO8lTN1Lki7ndDcu9dLmdwdodxZlk+TP07fRKa4KfDPVNI3bdSCSdQdeyaJdELbNGJNiiv4QtmWzPWkciNTD8GFphmBOQzY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v9 13/19] asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
Date: Fri, 18 Aug 2023 17:28:44 -0700
Message-ID: <20230819002850.32349-14-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A8:EE_|LV3PR12MB9118:EE_
X-MS-Office365-Filtering-Correlation-Id: 56f25e01-1c8f-49a2-9824-08dba04b521e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ug0N0niiGUIt2GBGwe4IKaSPJAwJSLed8C130uqeAAjcFrigdX5t9Kpcxnj/tFog21ByEPeblxAs8kh4f6yKknbVMnOE3GAUuTT5GGYnD+SNTCH8kPC8ZjoO52iS+G8R4fGw/UmybB80k0Y0j66Cw603fKYP7aUCNFoKmKmyBAOWLWCa0evZROkMM09NA86NRUUyrXCDp+vs+uE95zXAKlDUFLdHFNoPGrvBEi1SSwOyGQIfq6g1KR7nX++MtKW4VLe+Qg/JW8VOzhetf0+GUig9PVvfAejxcMMpLDoZA8ySU707tRfdIdc5jPnZd5KCejJvkJyS3w6qLPNxe8cm6aTC0sz54kWGFPQfxb6JxbhIVHTwJpFp0gmQ0D3OAyIHHAhV5C1gFRQWkVZbZm9lrdCPt8ac+hvT3+CpDrD7V4SP0NMgGNEBHAca9bJslt5qlF2VnHixsPwANPzGtxcV5Hpy6gmYRpLWrG2J4omFO7LL4EeUhoq7q1JDH2oYAONcegyl7WwTEk1LbDb6kg/smjaMOAbBxQWI6gNq+2YbMGnlkbCGmCWU2p5uDQbEwe1Y3YTTsdX+RWomQBlZidFzj6RtNXN2NgdvDxlEzQRxbsRZSAi8GNNaGi+En2Zlcvn9ukym/qQCugjWQ4bb9ljEDY2HQWt3NKVgH6OcpQ3J67MA/aJTPXaTJHMdpyAoBP0l4l8F+1O2iZbTAGyKHAxn51KqUmIzEyEWHTYXRvcD/lGfBDgSgPJOQcdBpWih/eUmjcZ/b09FdrRlnDoPSdMCew==
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)(4636009)(346002)(136003)(396003)(376002)(39860400002)(451199024)(82310400011)(1800799009)(186009)(46966006)(40470700004)(36840700001)(86362001)(36756003)(82740400003)(356005)(81166007)(40480700001)(44832011)(2616005)(5660300002)(70586007)(478600001)(316002)(70206006)(6666004)(6916009)(26005)(1076003)(41300700001)(8936002)(8676002)(4326008)(54906003)(47076005)(40460700003)(83380400001)(336012)(36860700001)(426003)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:16.2378
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 56f25e01-1c8f-49a2-9824-08dba04b521e
X-MS-Exchange-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:
	CO1PEPF000042A8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9118

Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, we will need to add a rwlock to protect access to the dt_host.
However, adding rwlock in device_tree.h causes following circular dependency:
    device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h

To fix this, removed the "#include <xen/device_tree.h> and forward declared
"struct dt_device_node".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
    Changes from v7:
        Move struct dt_device_node declaration just above arch_cpu_init().
---
---
 xen/arch/arm/include/asm/smp.h | 4 +++-
 xen/arch/arm/smpboot.c         | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index a37ca55bff..4fabdf5310 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -3,7 +3,6 @@
 
 #ifndef __ASSEMBLY__
 #include <xen/cpumask.h>
-#include <xen/device_tree.h>
 #include <asm/current.h>
 #endif
 
@@ -23,6 +22,9 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
+
+struct dt_device_node;
+
 extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
 extern int arch_cpu_up(int cpu);
 extern void arch_cpu_up_finish(void);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..eeb76cd551 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -10,6 +10,7 @@
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/delay.h>
+#include <xen/device_tree.h>
 #include <xen/domain_page.h>
 #include <xen/errno.h>
 #include <xen/init.h>
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586703.918045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qI-0004ec-6l; Sat, 19 Aug 2023 00:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586703.918045; Sat, 19 Aug 2023 00:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qH-0004cm-Ij; Sat, 19 Aug 2023 00:29:25 +0000
Received: by outflank-mailman (input) for mailman id 586703;
 Sat, 19 Aug 2023 00:29:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qF-0001hl-7X
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:23 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7052373e-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:21 +0200 (CEST)
Received: from MW4PR04CA0102.namprd04.prod.outlook.com (2603:10b6:303:83::17)
 by CH3PR12MB8902.namprd12.prod.outlook.com (2603:10b6:610:17d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Sat, 19 Aug
 2023 00:29:17 +0000
Received: from CO1PEPF000042A8.namprd03.prod.outlook.com
 (2603:10b6:303:83:cafe::d3) by MW4PR04CA0102.outlook.office365.com
 (2603:10b6:303:83::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:17 +0000
Received: from SATLEXMB03.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.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:16 +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.27; Fri, 18 Aug
 2023 19:29:15 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 7052373e-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VyZ4biw1G0MOgvnNAfIyj8DmRsIwfjxiPLn3X7j841whfl4UQ1SCzm5RjLHR8csmrVpVEEA2S65a60906I6A3a/gJQ7qRbuD0zwsCN2fhiv4e/NEM2FOaIOsBkMLGPokPupwMOkkVtwGLh50VKzYJWksjKqEuuPiMzYolAfIew/yGPygccT6qKWLf4LHWxK1HVQiZoyIjNA4HV0MIf0+HPQhm5+aYih9ZXqAu6+JL0BQ/JosHT2/uqpIIm5u4wA0dPsFeEU5Q9WClsHaD6ACgPD8N/DhtwJS8t59WFJKO6OQHEPXM0VKp0M3JXq1IxEfOZJuOgP0J9bqM8hOeX6LBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nCyL0+8MSIKb4AwqqY4xSHJp57PvTVSjc1PRQ5LvHww=;
 b=hinGBmyAgoDYCdu8ukI9HDmyRJsffRX0y2QYXKr20607ZSI+E1EDU1+Xo+nH4kOaqRnNTLtF93rPFr0KQH855Uc305bFv9N1YKv++b0G5yCp0nT1tzXWPWBsnWAPSIKJnJKdtjR/e7Z3EZkMnou4Kh6kEEr/JpowUIAdTBAZvILiU7kZUPY0yXitxs9grUGL1hGmQ6/mnvhepEjimLSZMkF3z+We2X0I8I39lAzD6FvCtK15oFH0wy68UEBtGJFVXbIV8uXPJgn3PJal8lqKbC5QhVJ6uKi8kJpwILOnoAXkKelO4+SPeJ8vO25FBPhAhbAHeBpcaOUJs0m0SBa3iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nCyL0+8MSIKb4AwqqY4xSHJp57PvTVSjc1PRQ5LvHww=;
 b=AZEMiPB2TqwPQQX73BwA2drPi852+pREuYl/90JA9FbxDAMMh21NwNkhzpJDZ1Jqneb9YT3jwV74hbOzWkcm/O3nGaPTaoWPS4vgbi0YHVfLL4hfCBkvHL6Qmg7Mn0L/dfKnfyomqc9fr1x3hO6loRUnGDU5WENC9bgTa191ilk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 14/19] common/device_tree: Add rwlock for dt_host
Date: Fri, 18 Aug 2023 17:28:45 -0700
Message-ID: <20230819002850.32349-15-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A8:EE_|CH3PR12MB8902:EE_
X-MS-Office365-Filtering-Correlation-Id: a56f4a4c-349d-4678-bb16-08dba04b5282
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H/lccUykTBvxLfFhv9nu5rHPkujA6TFkYzxxi4pDwtbX2hh+ucubwIdYZOnM+42A0bktC09c3FvpRkHPR97kUad77Gs1LDME/G1Fm55J3Bf01Omuki29qfgwZMum/D8pOLNXbzX1d31CNV3NQoKcj4BbPXfUOShyfibDe2F1V71fcZ88H6LjVjWOSwQ0Pnel2pmDPNhk+GDzvzALKUK1s2Y7d+O/nmxtXWRsjRElIKgU4AKTrIxInMxlaP4R1+Z0AVXwYUFGoQn9+kxoYmU39frgtqCxwA5+WXh+h7n78zju8s6xTTNf7A8wIQdQ6j7xmSVhix8Hzhs7VuR33nStCr/ClAR+4kCSJG0CePANoFuBkqqY1lh9dw9l3o6J3THruez+7Ig8EGXTNzOaUQ78Y8HEv0EVyUPg9wE7lELpfoNkSs5hEOGG+0nJIxEsgJyURsivQ0nCtCcojqIAeB0Q54sHm8V4TRDglO6c6mAzFM0Q5ATpjpu8u8z1AuNLDgqNohWCjNv8eD2OvAb5QTouAIDL7cFZz3JAStWKquRwxiY+8Zgq/D3I+hhQr06kQ/D67qFbkOlYMjfpPg0HdLkP/tXOXEkMXX50mwcAUHk61WHKWBDhdwAFP4dzy64dYonQv+xOe65nuhc7yvEtCNGr9Lx/wtQccJ2u9Cz+6yXMWyhu326Aas93RgAQ8rlbrResmjfhnCjTCcW6nnXxrBlzFaG2PiYEvsVoCRYnoTbYHiAjTnBF+/q6NP3toWXeMucCUhGhA87l9T7fIwDXfwZiTA==
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)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199024)(82310400011)(186009)(1800799009)(40470700004)(36840700001)(46966006)(2906002)(6916009)(54906003)(70206006)(4326008)(5660300002)(44832011)(8676002)(8936002)(316002)(41300700001)(70586007)(478600001)(6666004)(2616005)(1076003)(26005)(336012)(426003)(40460700003)(83380400001)(47076005)(36860700001)(82740400003)(86362001)(81166007)(356005)(40480700001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:16.8941
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a56f4a4c-349d-4678-bb16-08dba04b5282
X-MS-Exchange-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:
	CO1PEPF000042A8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8902

 Dynamic programming ops will modify the dt_host and there might be other
 function which are browsing the dt_host at the same time. To avoid the race
 conditions, adding rwlock for browsing the dt_host during runtime. dt_host
 writer will be added in the follow-up patch titled "xen/arm: Implement device
 tree node addition functionalities."

 Reason behind adding rwlock instead of spinlock:
    For now, dynamic programming is the sole modifier of dt_host in Xen during
        run time. All other access functions like iommu_release_dt_device() are
        just reading the dt_host during run-time. So, there is a need to protect
        others from browsing the dt_host while dynamic programming is modifying
        it. rwlock is better suitable for this task as spinlock won't be able to
        differentiate between read and write access.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v7:
    Keep one lock for dt_host instead of lock for each node under dt_host.
---
---
 xen/common/device_tree.c              |  5 +++++
 xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
 xen/include/xen/device_tree.h         |  6 ++++++
 3 files changed, 26 insertions(+)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0f10037745..6b934fe036 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
 struct dt_device_node *dt_host;
 /* Interrupt controller node*/
 const struct dt_device_node *dt_interrupt_controller;
+rwlock_t dt_host_lock;
 
 /**
  * struct dt_alias_prop - Alias property in 'aliases' node
@@ -2137,7 +2138,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 
     dt_dprintk(" <- unflatten_device_tree()\n");
 
+    /* Init r/w lock for host device tree. */
+    rwlock_init(&dt_host_lock);
+
     return 0;
+
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 4cb32dc0b3..31815d2b60 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -114,6 +114,8 @@ int iommu_release_dt_devices(struct domain *d)
     if ( !is_iommu_enabled(d) )
         return 0;
 
+    read_lock(&dt_host_lock);
+
     list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
     {
         rc = iommu_deassign_dt_device(d, dev);
@@ -121,10 +123,14 @@ int iommu_release_dt_devices(struct domain *d)
         {
             dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
                     dt_node_full_name(dev), d->domain_id);
+
+            read_unlock(&dt_host_lock);
             return rc;
         }
     }
 
+    read_unlock(&dt_host_lock);
+
     return 0;
 }
 
@@ -251,6 +257,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
     int ret;
     struct dt_device_node *dev;
 
+    read_lock(&dt_host_lock);
+
     switch ( domctl->cmd )
     {
     case XEN_DOMCTL_assign_device:
@@ -304,7 +312,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         spin_unlock(&dtdevs_lock);
 
         if ( d == dom_io )
+        {
+            read_unlock(&dt_host_lock);
             return -EINVAL;
+        }
 
         ret = iommu_add_dt_device(dev);
         if ( ret < 0 )
@@ -342,7 +353,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
             break;
 
         if ( d == dom_io )
+        {
+            read_unlock(&dt_host_lock);
             return -EINVAL;
+        }
 
         ret = iommu_deassign_dt_device(d, dev);
 
@@ -357,5 +371,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         break;
     }
 
+    read_unlock(&dt_host_lock);
     return ret;
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index e507658b23..8191f30197 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -18,6 +18,7 @@
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
+#include <xen/rwlock.h>
 
 #define DEVICE_TREE_MAX_DEPTH 16
 
@@ -216,6 +217,11 @@ extern struct dt_device_node *dt_host;
  */
 extern const struct dt_device_node *dt_interrupt_controller;
 
+/*
+ * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
+ */
+extern rwlock_t dt_host_lock;
+
 /**
  * Find the interrupt controller
  * For the moment we handle only one interrupt controller: the first
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586704.918064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qM-0005fQ-2d; Sat, 19 Aug 2023 00:29:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586704.918064; Sat, 19 Aug 2023 00:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qL-0005bt-8V; Sat, 19 Aug 2023 00:29:29 +0000
Received: by outflank-mailman (input) for mailman id 586704;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qH-0001hl-Ux
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:26 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71fa9501-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:23 +0200 (CEST)
Received: from MW4PR04CA0063.namprd04.prod.outlook.com (2603:10b6:303:6b::8)
 by SN7PR12MB8060.namprd12.prod.outlook.com (2603:10b6:806:343::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:18 +0000
Received: from CO1PEPF000042AE.namprd03.prod.outlook.com
 (2603:10b6:303:6b:cafe::20) by MW4PR04CA0063.outlook.office365.com
 (2603:10b6:303:6b::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AE.mail.protection.outlook.com (10.167.243.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Sat, 19 Aug 2023 00:29:18 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:17 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:17 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 71fa9501-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hGY4gzkhGtcb7GVJWe0sp5Ktl3Oew/Hovtaq9NV/6mic2OZxbOCpGZ4kjVH0TwLlkORLezFVCoXjGLgyBYCfMDujbUicr8rk+BMyPuwBqX0Lb1OoMYfcVtGbD/zOJRVlbFvPbwsCu4iyamthEpWmJg1Yctu/t8y9uXc8/vsywvd17mVnhcY4rr5w4Yc8s05gmx4uCrErdBlXHxNNloK9aumcutO+ajQDGJ8S389vlhy377rUr1ZskMh/ProH/hcCS5Zz3eEfDSnE/fQGsh7TIZOMM/Q6Fn9fMglsEYBgmu9khm3YvkdTa+Y2QlPh4ItSOgiixlwTzDRGTRWoVp0GIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DnqhLCzoKU6cCIjyZvUUilDUxOXbklYD0OCgisXVVPU=;
 b=Q66ES6jkTlZpdJxPuj3jnGWMtQ2T8+cyDg4HyU6xx/2a9B0vjJksm8UbcPg/WGj2gjfhYe0fGAPZsMjCIN/ciZlo21pQlJ06Td/eKAfaIqieyH5MEDfo7Ffxvgu5k/mNCkXxinQxf/s1xstrlJALIoOUZ8z6ee7+wdcLCifMka4ZvjSNdU8VLtkyf//E0CWaPbAFVluxPcO8Ig3NU+etR8LXdnVfSa8qcoLaTWfecZMrdor81dQqQgn5EGSdAc5omkwjvFSsPJEp8dcGXIhhXRHio6UNLgQM01gtO5k1te0w1TbgtvvX0XpIJy48l+L4749qnTS5ElGzFtVDq2JrXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DnqhLCzoKU6cCIjyZvUUilDUxOXbklYD0OCgisXVVPU=;
 b=vFNWiXHnveqKxeRc528qBIpw2Zh0/YaCY4b+quDwQZrJMNKayMpCean6o+p/tbrgHZy83LqNC2MCdtseabN3jUeR12NPuvT0tN/tQ2LZoThIjY3Dqv6IuZgUMfLsLMVqPsS/J4XkzTQ1QMcDeCGYLvgbj5pMs2cg4AOjNlaUXfY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: [XEN][PATCH v9 16/19] xen/arm: Implement device tree node addition functionalities
Date: Fri, 18 Aug 2023 17:28:47 -0700
Message-ID: <20230819002850.32349-17-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AE:EE_|SN7PR12MB8060:EE_
X-MS-Office365-Filtering-Correlation-Id: 8868929c-fe2e-46d7-eb74-08dba04b5382
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ad984ZHmjGiHjHBZT7iYCPU2KpzghI4pVd4aDpp4I59Pithrrgt9H9ivtKGjmsZjIwtgs5R9/DZ1CP8zpUenJzSRdechy0HJZOIHHoOKzCqcxCvcP7gwjnfUD9GvLprEvQrPaNOCNJdVsUUJVVGnMjPK/LyeHCnDS1Si0zbaJNhyyeplqSOt8GtWQmH6P8s9BXegy0QpvNViJ+siFFX8hyy2QR2GNf5itkK4JTWR9WzQ//5vjyXbcGwI9ugCPQSJK1uFT5YhMU5BodC22fAWDKqL4KDJwFKTPrAX4p9VKWZpHHFGdKoheORXuLGYiaiXf4D15mH/SYsSfayGkr69iQ/A+jszhjigNVMOG6KGXHNqNHlkaNqyt3ud/foV7cN9Cqehh96v4DHbjqlm63fE+BtCRHulbZXV5YE3B0YPWNoYlcQGHmTzAy+Qct4IGiN7c4gvCrqS/jwbl8yWTN6BysIrbpPgFv1W3hZpd6SxTurxoXFwlIcU/V3tYEZKbIghZ2x89NFoJeGPBJeJWZwOmkNWYgQWcuHTk2AUeIJn9KsJlRXHv1LX0EoVjOq940UH6AztDGgE1FXSH1tkhRxUbXSoGbBkuIHyx1ijkiNwNhIJvRH9bZJ6VXV+L12cXF+FpO5qqdgT5oz9LyVI9/hrIeqZJFgI2a8ZG5X/PegYmM39M9EdGw5ot1aDsAG3OGBxjbA+5qENaYmU/wbLeykPC4Of2+UU8KC3z+4qmYGcCL0PJ58+aJb7Pi2tfj4JM18OKMqsP3/6brb9cU3cS8wydw==
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)(4636009)(376002)(346002)(136003)(396003)(39860400002)(451199024)(82310400011)(1800799009)(186009)(46966006)(40470700004)(36840700001)(86362001)(36756003)(82740400003)(81166007)(356005)(40480700001)(44832011)(2616005)(5660300002)(41300700001)(70586007)(6666004)(316002)(70206006)(6916009)(26005)(8676002)(8936002)(1076003)(54906003)(4326008)(40460700003)(66899024)(83380400001)(478600001)(47076005)(426003)(336012)(30864003)(36860700001)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:18.5418
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8868929c-fe2e-46d7-eb74-08dba04b5382
X-MS-Exchange-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:
	CO1PEPF000042AE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8060

Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.

xl dt-overlay add file.dtbo:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, it checks if any
    of the overlay nodes already exists in the dt_host. If overlay nodes doesn't
    exist then find the overlay nodes in dt_host_new, find the overlay node's
    parent in dt_host and add the nodes as child under their parent in the
    dt_host. The node is attached as the last node under target parent.

    Finally, add IRQs, add device to IOMMUs, set permissions and map MMIO for the
    overlay node.

When a node is added using overlay, a new entry is allocated in the
overlay_track to keep the track of memory allocation due to addition of overlay
node. This is helpful for freeing the memory allocated when a device tree node
is removed.

The main purpose of this to address first part of dynamic programming i.e.
making xen aware of new device tree node which means updating the dt_host with
overlay node information. Here we are adding/removing node from dt_host, and
checking/setting IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v8:
    Add rangeset to keep IRQs and IOMEM information.
Changes from v7:
    Move overlay_node_count() in this patch.
    Fix indent with goto statements.
    Rename handle_add_irq_iommu() to add_resources().
Changes from v6:
    Fix comment style and add comment regarding false flag in irq mapping.
    Move malloc for nodes_full_path to handle_add_overlay_nodes.
    Move node_num define to start of overlay_get_nodes_info().
    Remove "domain *d" from handle_add_irq_iommu().
    Fix error handling for handle_add_irq_iommu().
    Split handle_add_overlay_nodes to two functions.
    Create a separate function for freeing nodes_full_path.
    Fix xfree for dt_sysctl.
---
---
 xen/common/dt-overlay.c | 599 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 599 insertions(+)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 60bedf0852..8b47e41491 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -34,6 +34,25 @@ find_last_descendants_node(const struct dt_device_node *device_node)
     return child_node;
 }
 
+/*
+ * Returns next node to the input node. If node has children then return
+ * last descendant's next node.
+*/
+static struct dt_device_node *
+dt_find_next_node(struct dt_device_node *dt, const struct dt_device_node *node)
+{
+    struct dt_device_node *np;
+
+    dt_for_each_device_node(dt, np)
+        if ( np == node )
+            break;
+
+    if ( np->child )
+        np = find_last_descendants_node(np);
+
+    return np->allnext;
+}
+
 static int dt_overlay_remove_node(struct dt_device_node *device_node)
 {
     struct dt_device_node *np;
@@ -111,6 +130,78 @@ static int dt_overlay_remove_node(struct dt_device_node *device_node)
     return 0;
 }
 
+static int dt_overlay_add_node(struct dt_device_node *device_node,
+                               const char *parent_node_path)
+{
+    struct dt_device_node *parent_node;
+    struct dt_device_node *next_node;
+
+    parent_node = dt_find_node_by_path(parent_node_path);
+
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("Parent node %s not found. Overlay node will not be added\n",
+                   parent_node_path);
+        return -EINVAL;
+    }
+
+    /* If parent has no child. */
+    if ( parent_node->child == NULL )
+    {
+        next_node = parent_node->allnext;
+        device_node->parent = parent_node;
+        parent_node->allnext = device_node;
+        parent_node->child = device_node;
+    }
+    else
+    {
+        struct dt_device_node *np;
+        /*
+         * If parent has at least one child node.
+         * Iterate to the last child node of parent.
+         */
+        for ( np = parent_node->child; np->sibling != NULL; np = np->sibling );
+
+        /* Iterate over all child nodes of np node. */
+        if ( np->child )
+        {
+            struct dt_device_node *np_last_descendant;
+
+            np_last_descendant = find_last_descendants_node(np);
+
+            next_node = np_last_descendant->allnext;
+            np_last_descendant->allnext = device_node;
+        }
+        else
+        {
+            next_node = np->allnext;
+            np->allnext = device_node;
+        }
+
+        device_node->parent = parent_node;
+        np->sibling = device_node;
+        np->sibling->sibling = NULL;
+    }
+
+    /* Iterate over all child nodes of device_node to add children too. */
+    if ( device_node->child )
+    {
+        struct dt_device_node *device_node_last_descendant;
+
+        device_node_last_descendant = find_last_descendants_node(device_node);
+
+        /* Plug next_node at the end of last children of device_node. */
+        device_node_last_descendant->allnext = next_node;
+    }
+    else
+    {
+        /* Now plug next_node at the end of device_node. */
+        device_node->allnext = next_node;
+    }
+
+    return 0;
+}
+
 /* Basic sanity check for the dtbo tool stack provided to Xen. */
 static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
 {
@@ -171,6 +262,102 @@ static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
     return rc;
 }
 
+/* Count number of nodes till one level of __overlay__ tag. */
+static unsigned int overlay_node_count(const void *overlay_fdt)
+{
+    unsigned int num_overlay_nodes = 0;
+    int fragment;
+
+    fdt_for_each_subnode(fragment, overlay_fdt, 0)
+    {
+        int subnode;
+        int overlay;
+
+        overlay = fdt_subnode_offset(overlay_fdt, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, overlay_fdt, overlay)
+        {
+            num_overlay_nodes++;
+        }
+    }
+
+    return num_overlay_nodes;
+}
+
+/*
+ * overlay_get_nodes_info gets full name with path for all the nodes which
+ * are in one level of __overlay__ tag. This is useful when checking node for
+ * duplication i.e. dtbo tries to add nodes which already exists in device tree.
+ */
+static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
+{
+    int fragment;
+    unsigned int node_num = 0;
+
+    fdt_for_each_subnode(fragment, fdto, 0)
+    {
+        int target;
+        int overlay;
+        int subnode;
+        const char *target_path;
+
+        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
+                                           fragment, &target_path);
+        if ( target < 0 )
+            return target;
+
+        if ( target_path == NULL )
+            return -EINVAL;
+
+        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, fdto, overlay)
+        {
+            const char *node_name = NULL;
+            int node_name_len;
+            unsigned int target_path_len = strlen(target_path);
+            unsigned int node_full_name_len;
+
+            node_name = fdt_get_name(fdto, subnode, &node_name_len);
+
+            if ( node_name == NULL )
+                return node_name_len;
+
+            /*
+             * Magic number 2 is for adding '/' and '\0'. This is done to keep
+             * the node_full_path in the correct full node name format.
+             */
+            node_full_name_len = target_path_len + node_name_len + 2;
+
+            nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
+
+            if ( nodes_full_path[node_num] == NULL )
+                return -ENOMEM;
+
+            memcpy(nodes_full_path[node_num], target_path, target_path_len);
+
+            nodes_full_path[node_num][target_path_len] = '/';
+
+            memcpy(nodes_full_path[node_num] + target_path_len + 1,
+                    node_name, node_name_len);
+
+            nodes_full_path[node_num][node_full_name_len - 1] = '\0';
+
+            node_num++;
+        }
+    }
+
+    return 0;
+}
+
 static int remove_resources(struct dt_device_node *device_node)
 {
     int rc = 0;
@@ -355,6 +542,416 @@ static long handle_remove_overlay_nodes(const void *overlay_fdt,
     return rc;
 }
 
+/*
+ * Handles IRQ and IOMMU mapping for the overlay_node and all descendants of the
+ * overlay_node.
+ */
+static int add_resources(struct overlay_track *tr,
+                         struct dt_device_node *overlay_node)
+{
+    int rc;
+    unsigned int naddr, nirq, irq, i, len;
+    struct dt_device_node *np;
+
+    /*
+     * First let's handle the interrupts.
+     * For now, need_mapping is set to false which means it will only permit IRQ
+     * access to hardware_domain using irq_permit_access() but will never route
+     * as route_irq_to_guest() will not be called with false flag.
+     */
+    rc = handle_device_interrupts(hardware_domain, overlay_node, false);
+    if ( rc < 0 )
+    {
+        printk(XENLOG_ERR "Failed to retrieve interrupts configuration\n");
+        return rc;
+    }
+
+    nirq = dt_number_of_irq(overlay_node);
+
+    for ( i = 0; i < nirq; i++ )
+    {
+        irq = platform_get_irq(overlay_node, i);
+        if ( irq < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(overlay_node));
+            return irq;
+        }
+
+        rc = rangeset_add_singleton(tr->irq_ranges, irq);
+        if ( rc )
+            return rc;
+    }
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(overlay_node, "iommus", &len) )
+    {
+        /* Add device to IOMMUs. */
+        rc = iommu_add_dt_device(overlay_node);
+        if ( rc < 0 )
+        {
+            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
+                   dt_node_full_name(overlay_node));
+            return rc;
+        }
+    }
+
+    /* Set permissions. */
+    naddr = dt_number_of_address(overlay_node);
+
+    dt_dprintk("%s naddr = %u\n", dt_node_full_name(overlay_node), naddr);
+
+    /* Give permission to map MMIOs */
+    for ( i = 0; i < naddr; i++ )
+    {
+        uint64_t addr, size;
+
+        /*
+         * For now, we skip_mapping which means it will only permit iomem access
+         * to hardware_domain using iomem_permit_access() but will never map as
+         * map_range_p2mt() will not be called.
+         */
+        struct map_range_data mr_data = { .d = hardware_domain,
+                                          .p2mt = p2m_mmio_direct_c,
+                                          .skip_mapping = true
+                                        };
+
+        rc = dt_device_get_address(overlay_node, i, &addr, &size);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(overlay_node));
+            return rc;
+        }
+
+        rc = map_range_to_domain(overlay_node, addr, size, &mr_data);
+        if ( rc )
+            return rc;
+
+        rc = rangeset_add_range(tr->iomem_ranges, paddr_to_pfn(addr),
+                                paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));
+        if ( rc )
+            return rc;
+    }
+
+    /* Map IRQ and IOMMU for overlay_node's children. */
+    for ( np = overlay_node->child; np != NULL; np = np->sibling )
+    {
+        rc = add_resources(tr, np);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            return rc;
+        }
+    }
+
+    return rc;
+}
+
+static void free_nodes_full_path(int num_nodes, char **nodes_full_path)
+{
+    int i;
+
+    if ( nodes_full_path != NULL )
+    {
+        for ( i = 0; i < num_nodes && nodes_full_path[i] != NULL;
+              i++ )
+        {
+            xfree(nodes_full_path[i]);
+        }
+        xfree(nodes_full_path);
+    }
+
+    return;
+}
+
+static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
+
+{
+    int j, rc;
+    struct dt_device_node *overlay_node;
+
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        struct dt_device_node *prev_node, *next_node;
+
+        dt_dprintk("Adding node: %s\n", nodes_full_path[j]);
+
+        /* Find the newly added node in tr->dt_host_new by it's full path. */
+        overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
+                                                 nodes_full_path[j]);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        /*
+         * Find previous and next node to overlay_node in dt_host_new. We will
+         * need these nodes to fix the dt_host_new mapping. When overlay_node is
+         * take out of dt_host_new tree and added to dt_host, link between
+         * previous node and next_node is broken. We will need to refresh
+         * dt_host_new with correct linking for any other overlay nodes
+         * extraction in future.
+         */
+        dt_for_each_device_node(tr->dt_host_new, prev_node)
+            if ( prev_node->allnext == overlay_node )
+                break;
+
+        next_node = dt_find_next_node(tr->dt_host_new, overlay_node);
+
+        write_lock(&dt_host_lock);
+
+        /* Add the node to dt_host. */
+        rc = dt_overlay_add_node(overlay_node, overlay_node->parent->full_name);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+
+            /* Node not added in dt_host. */
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+
+        prev_node->allnext = next_node;
+
+        overlay_node = dt_find_node_by_path(overlay_node->full_name);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        rc = add_resources(tr, overlay_node);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            return rc;
+        }
+
+        /* Keep overlay_node address in tracker. */
+        tr->nodes_address[j] = (unsigned long)overlay_node;
+    }
+
+    return 0;
+}
+/*
+ * Adds device tree nodes under target node.
+ * We use tr->dt_host_new to unflatten the updated device_tree_flattened. This
+ * is done to avoid the removal of device_tree generation, iomem regions mapping
+ * to hardware domain done by handle_node().
+ */
+static long handle_add_overlay_nodes(void *overlay_fdt,
+                                     uint32_t overlay_fdt_size)
+{
+    int rc, j;
+    struct dt_device_node *overlay_node;
+    struct overlay_track *tr = NULL;
+    char **nodes_full_path = NULL;
+    unsigned int new_fdt_size;
+
+    tr = xzalloc(struct overlay_track);
+    if ( tr == NULL )
+        return -ENOMEM;
+
+    new_fdt_size = fdt_totalsize(device_tree_flattened) +
+                                 fdt_totalsize(overlay_fdt);
+
+    tr->fdt = xzalloc_bytes(new_fdt_size);
+    if ( tr->fdt == NULL )
+    {
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->num_nodes = overlay_node_count(overlay_fdt);
+    if ( tr->num_nodes == 0 )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->nodes_address = xzalloc_bytes(tr->num_nodes * sizeof(unsigned long));
+    if ( tr->nodes_address == NULL )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return rc;
+    }
+
+    /*
+     * Keep a copy of overlay_fdt as fdt_overlay_apply will change the input
+     * overlay's content(magic) when applying overlay.
+     */
+    tr->overlay_fdt = xzalloc_bytes(overlay_fdt_size);
+    if ( tr->overlay_fdt == NULL )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    memcpy(tr->overlay_fdt, overlay_fdt, overlay_fdt_size);
+
+    spin_lock(&overlay_lock);
+
+    memcpy(tr->fdt, device_tree_flattened,
+           fdt_totalsize(device_tree_flattened));
+
+    /* Open tr->fdt with more space to accommodate the overlay_fdt. */
+    rc = fdt_open_into(tr->fdt, tr->fdt, new_fdt_size);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Increasing fdt size to accommodate overlay_fdt failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    nodes_full_path = xzalloc_bytes(tr->num_nodes * sizeof(char *));
+    if ( nodes_full_path == NULL )
+    {
+        rc = -ENOMEM;
+        goto err;
+    }
+
+    /*
+     * overlay_get_nodes_info is called to get the node information from dtbo.
+     * This is done before fdt_overlay_apply() because the overlay apply will
+     * erase the magic of overlay_fdt.
+     */
+    rc = overlay_get_nodes_info(overlay_fdt, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Getting nodes information failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    rc = fdt_overlay_apply(tr->fdt, overlay_fdt);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding overlay node failed with error %d\n", rc);
+        goto err;
+    }
+
+    /*
+     * Check if any of the node already exists in dt_host. If node already exits
+     * we can return here as this overlay_fdt is not suitable for overlay ops.
+     */
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        overlay_node = dt_find_node_by_path(nodes_full_path[j]);
+        if ( overlay_node != NULL )
+        {
+            printk(XENLOG_ERR "node %s exists in device tree\n",
+                   nodes_full_path[j]);
+            rc = -EINVAL;
+            goto err;
+        }
+    }
+
+    /*
+    * Unflatten the tr->fdt into a new dt_host.
+    * TODO: Check and add alias_scan() if it's needed for overlay in future.
+    */
+    rc = unflatten_device_tree(tr->fdt, &tr->dt_host_new);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "unflatten_device_tree failed with error %d\n", rc);
+        goto err;
+    }
+
+    tr->irq_ranges = rangeset_new(hardware_domain, "Overlays: Interrupts", 0);
+    if (tr->irq_ranges == NULL)
+    {
+        printk(XENLOG_ERR "Creating IRQ rangeset failed");
+        goto err;
+    }
+
+    tr->iomem_ranges = rangeset_new(hardware_domain, "Overlay: I/O Memory", 0);
+    if (tr->iomem_ranges == NULL)
+    {
+        printk(XENLOG_ERR "Creating IOMMU rangeset failed");
+        goto err;
+    }
+
+    rc = add_nodes(tr, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding nodes failed. Removing the partially added nodes.\n");
+        goto remove_node;
+    }
+
+    INIT_LIST_HEAD(&tr->entry);
+    list_add_tail(&tr->entry, &overlay_tracker);
+
+    spin_unlock(&overlay_lock);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    return rc;
+
+/*
+ * Failure case. We need to remove the nodes, free tracker(if tr exists) and
+ * tr->dt_host_new.
+ */
+ remove_node:
+    tr->num_nodes = j;
+    rc = remove_nodes(tr);
+
+    if ( rc )
+    {
+        /*
+         * User needs to provide right overlay. Incorrect node information
+         * example parent node doesn't exist in dt_host etc can cause memory
+         * leaks as removing_nodes() will fail and this means nodes memory is
+         * not freed from tracker. Which may cause memory leaks. Ideally, these
+         * device tree related mistakes will be caught by fdt_overlay_apply()
+         * but given that we don't manage that code keeping this warning message
+         * is better here.
+         */
+        printk(XENLOG_ERR "Removing node failed.\n");
+        spin_unlock(&overlay_lock);
+
+        free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+        return rc;
+    }
+
+ err:
+    spin_unlock(&overlay_lock);
+
+    if ( tr->dt_host_new )
+        xfree(tr->dt_host_new);
+
+    xfree(tr->overlay_fdt);
+    xfree(tr->nodes_address);
+    xfree(tr->fdt);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    rangeset_destroy(tr->irq_ranges);
+    rangeset_destroy(tr->iomem_ranges);
+
+    xfree(tr);
+
+    return rc;
+}
+
 long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 {
     long ret;
@@ -386,6 +983,8 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 
     if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
         ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+    else
+        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
 
     xfree(overlay_fdt);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:29:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:29:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586705.918071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qN-0005q5-Hb; Sat, 19 Aug 2023 00:29:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586705.918071; Sat, 19 Aug 2023 00: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 1qX9qM-0005n0-Hp; Sat, 19 Aug 2023 00:29:30 +0000
Received: by outflank-mailman (input) for mailman id 586705;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qI-0001hl-9P
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:26 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 725a0d22-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:24 +0200 (CEST)
Received: from DM5PR07CA0095.namprd07.prod.outlook.com (2603:10b6:4:ae::24) by
 SN7PR12MB6671.namprd12.prod.outlook.com (2603:10b6:806:26d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:20 +0000
Received: from CY4PEPF0000EDD7.namprd03.prod.outlook.com
 (2603:10b6:4:ae:cafe::57) by DM5PR07CA0095.outlook.office365.com
 (2603:10b6:4:ae::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.17 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD7.mail.protection.outlook.com (10.167.241.211) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:19 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:18 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:18 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 725a0d22-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FofzKqMoQmBzi3NAKRtGjNZ7gDO8O3qYJMtNLTY4jfI0J9l88NXmvPqU+Rl+VFnu+rOo4g8oniXfzd4uVE+S0ASdfbg8XMLtVxGjLqnR/vUbHJs5ulKF2+Pd9TVflQjr396W/w4G2YLRGXPFkX3uYPd4innfWGZVp6IpYqHrIuFb6ssZ9TZzR7eKnrfKCQ/3dkSa5M8iYiIvf7IlMPHoaEmlBeUBxnHF5LeWXjRhZ9O0J6Sk4kjp2JcRXB16xke3SOzufL8aViQwbpMDnd/9tvBZOMTzqXnstTUHbGbqn4D0jlEC8Xj3tCqraWJjRapZ7aSqgqPh74lrZR0Ffgjl5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TSMRF97QlKBb4iu384YTAKHEZ9yf+f7ss37J2EfX8aY=;
 b=FDBhISok0p87Xj4mjb8VJYNyXpwX+DaURrGtt2lwvP8wm4MKKBMDMgmkguywkQxaBPIM4ycqQOWBTLkMg4ru28lV0Nz79nAd2e3aMJkSWZe6h0tgy1q8dCX7Rff6a5mEnrfBWk2TLtDKcke6F1st8hs6REsMdZo2jOz5RcK+4Iuc6I32DXVcWBCUcI+XSpne8PMqKlPdNhU4ZpuXzVnH1MKi9yoKfa5wfA6nwMks8sSmqVbAI/OJxVKSbOHiGzlkKVMd6tTkUG6o+F8ZVf0q0qolgh53aShA+diFK2h+ujWWR5sb9Z1omopwkKrSHtS8XU4jM/LQVrEdp4Hm/o5kFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TSMRF97QlKBb4iu384YTAKHEZ9yf+f7ss37J2EfX8aY=;
 b=e7eKMeOf3UMWT6ebZKwaQp8Qxdt6XFVAQNNiUxX4EN8vOErTXASynhroq5St2ufeMPObQN41fODLw1XSnYnJl7nDhNjK4mL7U42hl8WM84sozIS2DBMDYi8LnGQt0Qh/i9UT2uDXeE2RaoD/0vzdXlT3/TW2ZoaB7FqHSFLIHsQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v9 17/19] tools/libs/ctrl: Implement new xc interfaces for dt overlay
Date: Fri, 18 Aug 2023 17:28:48 -0700
Message-ID: <20230819002850.32349-18-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD7:EE_|SN7PR12MB6671:EE_
X-MS-Office365-Filtering-Correlation-Id: f99f7a5d-6375-43e7-06e2-08dba04b541b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1K0gE38sTvjRKD5yVLhsaFTRw9Xpm6g/UX13ez/FuIxkjDdU0iW6r0FxRUZ2f/nfq29VBKjh7ZQ5UtA2G0gTKsi3Mln6rjzbQ87NAudoZtDuYX2F3XGaag49tRYte5Cq1cK2vvZOawIaFhQHhoir3Kzk5i/YasM6FocFhb6Q4ywnIR+s1F+K2xGECUgBn6MAneL9r5fRj7TL+OWMZMYVDsA0q03sNWjv7dRuTIvc6dHQsCPsyWdC2bjEA8RQQReqTAglfBNXug3SoNlm2GYIiFPAc5cAzYRowfqimZBIMT9SpLU3p6TkLHayaAtjLzQOJmRrp2/i97zdSHLz89/HknK8qjC10oMgsLPHs1ezXonW+Zois0oADm5MhHRqnONox7P9vvfSMDCi1/w1sB+IfM8l0E2g0B5fFaoE0WAULwE0pMQa+VHRf6GeYLxTbeXZezI2CbhztAndu6uG2I7gQGwhwh7Ep0QoSbmZXySd5eebwEy9VGojt3pghNuey0lN2qdFk3QDNlUUvk5dEHpwbR+zzAcSJ/rDO/7BglzqaUArJmlev/YqZLFZ8a/mCYP80N+V5LDHJ+dh8mY31mkv+BsI5SCOtrnv6G83HQxAGnVCpiiVFGm/7lBttYfECAdsPjuIpRQFe6p9AF4T6aAZwDqjWR4FDzxvvEzxifrh2ek01XS1sq46K8fKqDtwuEWH/LyK5OPcL0jGuS8YStKVfFY+dwIF8YY5KI09EeywLiGV13T8uA/sujsIpIrodxfHBVucYg+4KGXIRdOht9+VwIM/uam7mjrrjPYkphkpWvI=
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)(4636009)(39860400002)(396003)(136003)(346002)(376002)(1800799009)(82310400011)(186009)(451199024)(40470700004)(46966006)(36840700001)(40480700001)(40460700003)(47076005)(426003)(2906002)(36860700001)(336012)(70586007)(6916009)(70206006)(478600001)(54906003)(6666004)(316002)(44832011)(2616005)(4326008)(1076003)(8676002)(8936002)(41300700001)(26005)(5660300002)(86362001)(36756003)(82740400003)(81166007)(356005)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:19.6012
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f99f7a5d-6375-43e7-06e2-08dba04b541b
X-MS-Exchange-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:
	CY4PEPF0000EDD7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6671

xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 tools/include/xenctrl.h         |  5 ++++
 tools/libs/ctrl/Makefile.common |  1 +
 tools/libs/ctrl/xc_dt_overlay.c | 51 +++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index faec1dd824..3da602586c 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2643,6 +2643,11 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
 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);
+#endif
+
 /* Compat shims */
 #include "xenctrl_compat.h"
 
diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
index 0a09c28fd3..247afbe5f9 100644
--- a/tools/libs/ctrl/Makefile.common
+++ b/tools/libs/ctrl/Makefile.common
@@ -24,6 +24,7 @@ OBJS-y       += xc_hcall_buf.o
 OBJS-y       += xc_foreign_memory.o
 OBJS-y       += xc_kexec.o
 OBJS-y       += xc_resource.o
+OBJS-$(CONFIG_ARM)  += xc_dt_overlay.o
 OBJS-$(CONFIG_X86) += xc_psr.o
 OBJS-$(CONFIG_X86) += xc_pagetab.o
 OBJS-$(CONFIG_Linux) += xc_linux.o
diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
new file mode 100644
index 0000000000..58283b9ef6
--- /dev/null
+++ b/tools/libs/ctrl/xc_dt_overlay.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Device Tree Overlay functions.
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "xc_private.h"
+
+int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op)
+{
+    int err;
+    DECLARE_SYSCTL;
+
+    DECLARE_HYPERCALL_BOUNCE(overlay_fdt, overlay_fdt_size,
+                             XC_HYPERCALL_BUFFER_BOUNCE_IN);
+
+    if ( (err = xc_hypercall_bounce_pre(xch, overlay_fdt)) )
+        goto err;
+
+    sysctl.cmd = XEN_SYSCTL_dt_overlay;
+    sysctl.u.dt_overlay.overlay_op = overlay_op;
+    sysctl.u.dt_overlay.overlay_fdt_size = overlay_fdt_size;
+    sysctl.u.dt_overlay.pad[0]= 0;
+    sysctl.u.dt_overlay.pad[1]= 0;
+    sysctl.u.dt_overlay.pad[2]= 0;
+
+    set_xen_guest_handle(sysctl.u.dt_overlay.overlay_fdt, overlay_fdt);
+
+    if ( (err = do_sysctl(xch, &sysctl)) != 0 )
+        PERROR("%s failed", __func__);
+
+err:
+    xc_hypercall_bounce_post(xch, overlay_fdt);
+
+    return err;
+}
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:30:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:30:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586743.918093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9qz-0002lv-8I; Sat, 19 Aug 2023 00:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586743.918093; Sat, 19 Aug 2023 00: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 1qX9qz-0002lm-59; Sat, 19 Aug 2023 00:30:09 +0000
Received: by outflank-mailman (input) for mailman id 586743;
 Sat, 19 Aug 2023 00:30:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qJ-0001hl-V0
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:27 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20609.outbound.protection.outlook.com
 [2a01:111:f400:7eab::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 739a1e64-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:26 +0200 (CEST)
Received: from BYAPR11CA0097.namprd11.prod.outlook.com (2603:10b6:a03:f4::38)
 by DS0PR12MB7828.namprd12.prod.outlook.com (2603:10b6:8:14b::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:22 +0000
Received: from CO1PEPF000042AC.namprd03.prod.outlook.com
 (2603:10b6:a03:f4:cafe::73) by BYAPR11CA0097.outlook.office365.com
 (2603:10b6:a03:f4::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:22 +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.27; Fri, 18 Aug
 2023 19:29:20 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 739a1e64-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O7n/v5ju94oU2iD8RROA18bYko0jBipOoOBfdNA4SXpZaVm68qE8gBq4U/8dXHswXf2ZbufugPt4cMk6aPsg/F2ZwWNQnH+xNwdFRoU0QNx4s2bicFPwsxUCJ8lTfA3iEuw/g5dlsxbViXW3WQ/TaUop7FDDxkB14MWM1GUg+LB9acbW0QxLyUQU1bd2xyA760LMoHeGchPBzugDmKDeQAUubezLNbfhMbxtyeELN10VDXt5Llf/jIONQ4V8ikGrgd+q5QF32NqKB585+zTfWeSvyluHRztomY3fYpXOxo8ijvBWqGZkyNVg4SarEVMJA6oKYzfwqSsrWLujI2kZgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=j6FwwfGKPqqre++4HDYv3+AdQjL0p3rgE4RMgV5euR6VOnKbbUe1LXI+GRp/Z6aVO2vHLd6RpAjPnKMun1jsXJ21OedHA49oOHDf0F4Sc1pRYW1MUsl/PcboCOmzImCgZwBn+8LPXbg8A9d2tHPe08ZPDAfoTr+ncFe5MJkmxQf59xgVxLjdl//cH99FpD5A8WVYPb64K3yfyJULo84/lELb33z/Nw+JALCNRf2bum7t0yy0QJZn5wxnftUEf3RDHrSPLTeOZRrTL71s6qEqcW/xHHugV0N6dlp8ogXBl7JUReDw2DiVVChpWBJhcmHiHU/NAf/ZQ+gnXU/ZZMcMSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=Gt4psFmTZfhrqK+xSgSl1zlSpDad9mlYcxexKg5UtLcTHGtsShk5CE6pk0O8E8L5RcL+eNRztU1+lVgyUlr/oqZgNUx/3vUq1FdexnEYXSCKkh0c4txPxKioTJE+oRTrHj6ZGUKKNcLNDA43BKT7ZFYAkPgvzE+Jw+tMiL9t9mU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>
Subject: [XEN][PATCH v9 19/19] tools/xl: Add new xl command overlay for device tree overlay support
Date: Fri, 18 Aug 2023 17:28:50 -0700
Message-ID: <20230819002850.32349-20-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|DS0PR12MB7828:EE_
X-MS-Office365-Filtering-Correlation-Id: 069ca356-ee90-4287-179e-08dba04b55a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gg0RPoycr29GSRoM0Z6biMj8S8kM/yVakj9sWPRoY9JWXrynfSQluGfDmMz+rrHB2d0KELAM92gFmduGCT/T4h8h927xRXUrICtjspNINf9BETy9xdeiHrB4WhYNmpYLFHeCrOxZLqEKKUrP3XKf4Mjh3H3B12G0SHPwjBtKAyZ1FkMVjqpLRj5MnWfbb1Acy574tTR+qU+3UL9Cm6BywcfvTWcgVg+KSWQQpCXlyMKGq7S1/q3siP5xLkPuxicQ27IAM4+/XC8MfewS3ChlCwwkCrk/X3JcBpTjAfnxKtFLlXDZUPQBWJWXYbp9Ua2qs6J21OmUDBMKFT5SoeM1uwtHNYY2OFjV8gPpBqp881kUSIlPQZE3zc5IesJnRhFMg3VqOj2oGdItafsDBySBt/ycROKyth6tJO8ikrPxUSd9srTiE09H9Y5NiOxbBqjnzol50HWhx4WZuEZ1L4Xl9KKNL+9joSiODc+gu1Vpe86AMrSnWMlvHjGLLDTL7/zYxGamuzx+EkI+5hgAbQzutlQMBir5q9YeV8Z/68Rva9UiNHhnPp9Sq9JDl3ngHiW42nsJI0Z3lG7YZ7VNIPL0+fiIrhhpc1QV8x+n6HAEYTHKCV8JUBtqZbwwi2uLnNPnALe+yd/EogJOrSLp4z7/jibOVVZyOXOIaged9Z22oXx3EzfnrqeviMLzUm4QSjEcPodltqfD5qL7AC+WsLilxlWxRP8h6FxoCTZhkb3I1SnQSPeqKzjcEhuamPWfRkeBotk9lwtQJu8pojFvxegIuQ==
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)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199024)(186009)(82310400011)(1800799009)(36840700001)(46966006)(40470700004)(86362001)(36756003)(40460700003)(40480700001)(83380400001)(8936002)(4326008)(5660300002)(36860700001)(1076003)(2906002)(8676002)(41300700001)(26005)(44832011)(426003)(47076005)(6666004)(336012)(2616005)(356005)(478600001)(82740400003)(81166007)(316002)(70206006)(70586007)(6916009)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:22.1328
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 069ca356-ee90-4287-179e-08dba04b55a2
X-MS-Exchange-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:
	CO1PEPF000042AC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7828

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xl/xl.h           |  1 +
 tools/xl/xl_cmdtable.c  |  6 +++++
 tools/xl/xl_vmcontrol.c | 52 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 72538d6a81..a923daccd3 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -138,6 +138,7 @@ int main_shutdown(int argc, char **argv);
 int main_reboot(int argc, char **argv);
 int main_list(int argc, char **argv);
 int main_vm_list(int argc, char **argv);
+int main_dt_overlay(int argc, char **argv);
 int main_create(int argc, char **argv);
 int main_config_update(int argc, char **argv);
 int main_button_press(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 67604e9536..2463521156 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -631,6 +631,12 @@ const struct cmd_spec cmd_table[] = {
       "Issue a qemu monitor command to the device model of a domain",
       "<Domain> <Command>",
     },
+    { "dt-overlay",
+      &main_dt_overlay, 0, 1,
+      "Add/Remove a device tree overlay",
+      "add/remove <.dtbo>"
+      "-h print this help\n"
+    },
 };
 
 const int cmdtable_len = ARRAY_SIZE(cmd_table);
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 03971927e9..cea5b4a88e 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1265,6 +1265,58 @@ int main_create(int argc, char **argv)
     return 0;
 }
 
+int main_dt_overlay(int argc, char **argv)
+{
+    const char *overlay_ops = NULL;
+    const char *overlay_config_file = NULL;
+    void *overlay_dtb = NULL;
+    int rc;
+    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");
+        return EXIT_FAILURE;
+    }
+
+    overlay_ops = argv[1];
+    overlay_config_file = argv[2];
+
+    if (strcmp(overlay_ops, "add") == 0)
+        op = overlay_add_op;
+    else if (strcmp(overlay_ops, "remove") == 0)
+        op = overlay_remove_op;
+    else {
+        fprintf(stderr, "Invalid dt overlay operation\n");
+        return EXIT_FAILURE;
+    }
+
+    if (overlay_config_file) {
+        rc = libxl_read_file_contents(ctx, overlay_config_file,
+                                      &overlay_dtb, &overlay_dtb_size);
+
+        if (rc) {
+            fprintf(stderr, "failed to read the overlay device tree file %s\n",
+                    overlay_config_file);
+            free(overlay_dtb);
+            return ERROR_FAIL;
+        }
+    } else {
+        fprintf(stderr, "overlay dtbo file not provided\n");
+        return ERROR_FAIL;
+    }
+
+    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);
+
+    free(overlay_dtb);
+
+    if (rc)
+        return EXIT_FAILURE;
+
+    return rc;
+}
 /*
  * Local variables:
  * mode: C
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:33:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:33:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586766.918104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9tu-0004Gi-N8; Sat, 19 Aug 2023 00:33:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586766.918104; Sat, 19 Aug 2023 00:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9tu-0004Gb-J3; Sat, 19 Aug 2023 00:33:10 +0000
Received: by outflank-mailman (input) for mailman id 586766;
 Sat, 19 Aug 2023 00:33:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IgEN=EE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qX9tt-0004GV-NN
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:33:09 +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 f74f6ab4-3e27-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 02:33:08 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2D27062D25;
 Sat, 19 Aug 2023 00:33:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F10FC433C7;
 Sat, 19 Aug 2023 00:33: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: f74f6ab4-3e27-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692405185;
	bh=+9TMKciaReS23IR9bUxPYz6n0wY3XsTXpnj5G81lttM=;
	h=From:To:Cc:Subject:Date:From;
	b=QtQEO1G1yqIlSwHY7W5g4OG+lfOhExzLIuarEu0t+RzziQwPuoRN0yOd+uJF8/uqp
	 NaNDyrdKmdIsVPP0Sn2fQ4FSa86+OyotNkluyK7SdrCUZBhj3/Y7q0jm+MUX0xp3+Y
	 CUscC7lvGddx3jiQgIDGOjz2n+a90uUIgCglc85uiNo1/yvyfsKS6BcfmlT51FRCfS
	 WCcwkXt2XDo0I7UWiYe2pCENdU4BOurCCLsGrS904a6vCkfGOWlyS0ThquenQLpq27
	 axXfdBPScJPaDKBRH9KDBeEu5l9inUFx9YuEzZYW304TXLjaPi+/Uiv6ABjRnAyu6S
	 EmUVhxUkENTuw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	bertrand.marquis@arm.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: document gcc-specific behavior with shifting signed integers
Date: Fri, 18 Aug 2023 17:33:03 -0700
Message-Id: <20230819003303.1744466-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- use "shift" instead of << or >>
- use All Architectures (I haven't changed all the other instances of
x86/arm in the file yet)
---
 docs/misra/C-language-toolchain.rst | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 785aed1eaf..f5ca7bd2c8 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -200,6 +200,12 @@ The table columns are as follows:
      - ARM64, X86_64
      - See Section "6.29 Designated Initializers" of GCC_MANUAL
 
+   * - Signed shift acts on negative numbers by sign extension
+     - All architectures
+     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
+       C language, GCC does not use the latitude given in C99 and C11
+       only to treat certain aspects of signed shift as undefined.
+
 
 Translation Limits
 __________________
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:35:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586784.918112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qX9wR-0005Fj-2z; Sat, 19 Aug 2023 00:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586784.918112; Sat, 19 Aug 2023 00: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 1qX9wR-0005FB-0P; Sat, 19 Aug 2023 00:35:47 +0000
Received: by outflank-mailman (input) for mailman id 586784;
 Sat, 19 Aug 2023 00:35: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qI-0001hl-Uz
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:26 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 722cae73-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:24 +0200 (CEST)
Received: from BYAPR11CA0089.namprd11.prod.outlook.com (2603:10b6:a03:f4::30)
 by MW6PR12MB8951.namprd12.prod.outlook.com (2603:10b6:303:244::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Sat, 19 Aug
 2023 00:29:21 +0000
Received: from CO1PEPF000042AC.namprd03.prod.outlook.com
 (2603:10b6:a03:f4:cafe::df) by BYAPR11CA0089.outlook.office365.com
 (2603:10b6:a03:f4::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:20 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:19 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:19 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 722cae73-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZlnmpfAf+0d0yqLlIBWJFe0CIm2r1P/GXXgkWJWsXT+C8NTZw3597UPOKTak8Hxgq+rS1PkeSCUi+PRWgA+0mDertEPasdBwsBfTaWcKECOukqTBDGj1CqfSiqL4rb4MPCA/SS7vaY5m7xjaCSgz9W9X+CaTXp0RrICS+xwG7uksEzqG+Xb5idkKJyS9qM2CRFMsHkoadc6FtA9cFQTPNtZolIVR6pY3OQVEYKzvih5L7rEw+1lQF/IojT+/oLEkimKRLqsYOvRfcB6MgNeF+QrSMqsaodmXWTCyDYF4mnLiDwBJdv+U/y9pXEZ1TCenpyisvIHm3tfBNHgPd8ldxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=eOM7K8Umq3fWB9LibAOCWCcI/i2SkAbtZn9aYp4vTmo0ZYnTcxE082F/awSwVFJtXqG5GgKc7LpqS36q7Gdze9fPBHkpYKrhZlSRr6R8ANhp1IjZ1UiBcwOsLI4r13yxHqtW5JIkY3P0m6/Ur2JUdXhvpOKrJbcODZJYmJrSksAkkIOXynSmEdrEioClkWKH4/plFU5yHsByjgXcOZ0Wrrw9+7NpovUqgClktSxY64ruyY1YH9BfbbtfuV15krwDxZvWPTcI+E/sMHCmhm6B2J0bsaabT5ViTjpGc3fmAkJcQt8bzuh0zOLC3p5lmSz1ISNZNV15zzsECwNgVCZJNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=QRPrLd/Jc43Y2IT8MtYFfMZr2qDZyqS9MwgFPosP4FRr/iMMtKQoI2T9yI+Ec8k8erMQRoWIvJXzRNzrdOpuFMTElCvttQGYwif2DRCrEvRLPceiLENnaxvdYK+vZmyJnrKvtokwhUGoFKXQ2aj8mxadgdj/OfLFy/AhbBbeYW0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v9 18/19] tools/libs/light: Implement new libxl functions for device tree overlay ops
Date: Fri, 18 Aug 2023 17:28:49 -0700
Message-ID: <20230819002850.32349-19-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|MW6PR12MB8951:EE_
X-MS-Office365-Filtering-Correlation-Id: b6fe3671-8a9b-49a4-4ab4-08dba04b5492
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fVFFnqgUBXQfVtUZZ+rdQLks6xvFaeVUh9LFHs8/K5KFYOc+HF9CPSjBdmA1ZuPYAg8rqxlMMA/gsnoICbOAwNjmfLhwsOw5shtQ0dL4mzscIC3V5sku2TPUvqFwTJGv00yGjwCxnKYWt8ngjKGiIdS9P69AbnAYCSuC3TBt5FWbYhS1iVbXc3+c2UYzvJAu2Ez2Kqc6aCiMgP5FPp0xNSEQamgBrq8VZXlN0GqbvqYkfjyGb8wor1SD/xXHhNhBHeshdn1/VjrO9xCyZw0b+NzsTvf9Vv6EofKmL+OK8JqA7d9CZpZNJEaq8e7roMhIWk7mBQYZ6n9u6meXX+QsQaGdoxqeaNmtNdhSqaajHxa3II1zvty4lWdGl0e8Gq9GbYIeW4I3mVtNqxcIG7r3EhFmBCu6Yo2nJXGqWK/aBjGbYPbNbXSeqz97jThDCwLFc/IdahWGmJKzvrYYDq/Op4N/UfG2E0QdB56Vn761BvdkIsTaY79GVLWXti3lKqfrNkvh9gD/hIFk4gqSoBYft8qizkz0L3Nj5oJZ4tBKE9i5HjPgdVv5MaGzIRJVPYUZ060XRzxITlAUmezfwUgSl6Wd4rgaTJBabO+AuKHAmOC8rfn7QgyEkRIkYcA2aSUqWSYEKcXs3Qr4AfGP+TZhTxuW8wxJ+rB5kYhmi8gOfzTVIoHy2yQvad9hH1+zKZSxoGeJR2d2u/TvK4pcMCd83Xy5f5s/u96cFbuQVBc1vhUfpj45qNqeg1rPcYUoI2ttpuyJ1EGvwcUxjSgO6kjfdo3IqsNVAC1q9BFxi9JJnmk=
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)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199024)(186009)(82310400011)(1800799009)(36840700001)(46966006)(40470700004)(86362001)(36756003)(40460700003)(40480700001)(8936002)(4326008)(5660300002)(36860700001)(1076003)(2906002)(8676002)(41300700001)(26005)(44832011)(426003)(47076005)(6666004)(336012)(2616005)(356005)(478600001)(82740400003)(81166007)(316002)(70206006)(70586007)(6916009)(54906003)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:20.3359
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b6fe3671-8a9b-49a4-4ab4-08dba04b5492
X-MS-Exchange-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:
	CO1PEPF000042AC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8951

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/include/libxl.h               | 11 +++++
 tools/libs/light/Makefile           |  3 ++
 tools/libs/light/libxl_dt_overlay.c | 71 +++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+)
 create mode 100644 tools/libs/light/libxl_dt_overlay.c

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index aa5b1c98d4..b4f2a69b34 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -259,6 +259,12 @@
  */
 #define LIBXL_HAVE_DEVICETREE_PASSTHROUGH 1
 
+#if defined(__arm__) || defined(__aarch64__)
+/**
+ * This means Device Tree Overlay is supported.
+ */
+#define LIBXL_HAVE_DT_OVERLAY 1
+#endif
 /*
  * libxl_domain_build_info has device_model_user to specify the user to
  * run the device model with. See docs/misc/qemu-deprivilege.txt.
@@ -2493,6 +2499,11 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
                                         int *num);
 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);
+#endif
+
 /*
  * Turns the current process into a backend device service daemon
  * for a driver domain.
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 5d7ff94b05..ba4c1b7933 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,9 @@ OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
 OBJS-y += _libxl_types_internal.o
 
+# Device tree overlay is enabled only for ARM architecture.
+OBJS-$(CONFIG_ARM) += libxl_dt_overlay.o
+
 ifeq ($(CONFIG_LIBNL),y)
 CFLAGS_LIBXL += $(LIBNL3_CFLAGS)
 endif
diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
new file mode 100644
index 0000000000..a6c709a6dc
--- /dev/null
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+#include "libxl_internal.h"
+#include <libfdt.h>
+#include <xenctrl.h>
+
+static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
+{
+    int r;
+
+    if (fdt_magic(fdt) != FDT_MAGIC) {
+        LOG(ERROR, "Overlay FDT is not a valid Flat Device Tree");
+        return ERROR_FAIL;
+    }
+
+    r = fdt_check_header(fdt);
+    if (r) {
+        LOG(ERROR, "Failed to check the overlay FDT (%d)", r);
+        return ERROR_FAIL;
+    }
+
+    if (fdt_totalsize(fdt) > size) {
+        LOG(ERROR, "Overlay FDT totalsize is too big");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
+                     uint8_t overlay_op)
+{
+    int rc;
+    int r;
+    GC_INIT(ctx);
+
+    if (check_overlay_fdt(gc, overlay_dt, overlay_dt_size)) {
+        LOG(ERROR, "Overlay DTB check failed");
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "Overlay DTB check passed");
+        rc = 0;
+    }
+
+    r = xc_dt_overlay(ctx->xch, overlay_dt, overlay_dt_size, overlay_op);
+
+    if (r) {
+        LOG(ERROR, "%s: Adding/Removing overlay dtb failed.", __func__);
+        rc = ERROR_FAIL;
+    }
+
+out:
+    GC_FREE;
+    return rc;
+}
+
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 00:41:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 00:41:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586827.918122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXA1Y-0007ER-PT; Sat, 19 Aug 2023 00:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586827.918122; Sat, 19 Aug 2023 00: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 1qXA1Y-0007EK-Mp; Sat, 19 Aug 2023 00:41:04 +0000
Received: by outflank-mailman (input) for mailman id 586827;
 Sat, 19 Aug 2023 00: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=Eu5+=EE=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qX9qQ-0001hl-3S
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 00:29:34 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e89::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76d45249-3e27-11ee-9b0c-b553b5be7939;
 Sat, 19 Aug 2023 02:29:31 +0200 (CEST)
Received: from DM5PR07CA0109.namprd07.prod.outlook.com (2603:10b6:4:ae::38) by
 CH0PR12MB5252.namprd12.prod.outlook.com (2603:10b6:610:d3::24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.20; Sat, 19 Aug 2023 00:29:18 +0000
Received: from CY4PEPF0000EDD7.namprd03.prod.outlook.com
 (2603:10b6:4:ae:cafe::b1) by DM5PR07CA0109.outlook.office365.com
 (2603:10b6:4:ae::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.33 via Frontend
 Transport; Sat, 19 Aug 2023 00:29:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD7.mail.protection.outlook.com (10.167.241.211) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Sat, 19 Aug 2023 00:29:17 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 19:29:16 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 18 Aug
 2023 17:29:16 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 18 Aug 2023 19:29: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: 76d45249-3e27-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l9wfl91oPHSnVoPMc5VCdIW66H54cBhK1iAjaAyZytG1OpBrkgzidPkrNXtVyW97aaQpevcXoRC9slt5fY6ELwkG27D8UBq8hA0nY7Ra74h43YluF7JSfP7MbE5a6hxWDAELNXN+QOHbi7H/iFgRPUE2U/CMX/z2gS98RIvXNPkoV2chzMJhVRtQY1oe1D2SCp+selDq099VZ4ESIu/gRr54ZuSivtL96czWpOy7HuUk1sQlD6lw3T0dy2L+2oTiFnrUHjdbfCFkLuJIEXsrTpBFOS6wT1YFLjmcMy2qUzKvp5443x16ilQMa+YnqKHgver9bFvqkWMufWqoflISIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ugKJjESE/lgn2sHfsBm5lNL7y6oNkUsxPJDU4RZyziE=;
 b=AB1EkVTDzxmmAEXZ27axodTCKIJj+1qpkVDEyE+ExqLAzLkhb165ZEr6SOLEDKuZbgh/m9B1INgJgzEloBBAU8WBTppABKVWkrqot56fg8zQhTP2VxeK5dZFDrwkHvScmXZ04dsHpr0b4eEP+7+iBJeaRer/E8fTh1Wgcf6lWLe6gcp1kjFwLGV1LUC4VkRA8GJ9Bpf9fO7eG/6ztaUaVJdGM+qp0fXHvV+m+O/Kz+T9lNbypQdP5V1naxvFosEX2nTkArNZ5Q4qM1W86t/bibEyK53iS1u259nt864mz8LVncOmUOPLte1ISZErHSuRDcm8P4PZ8uWzOh19Uxcrcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ugKJjESE/lgn2sHfsBm5lNL7y6oNkUsxPJDU4RZyziE=;
 b=FXbYixQnkrSWBn7BWybZmo+FryM1PEEKPdG5tX/sjcmKTBu/6qvugYSvRiY7bXf2MSz14ad3tcQ73XHVybvK5POekzPRfnRs+oe/DqtMnaJMbIKYyrCXTEk/ndeJTkTDT+NHicti5hAnFj3sFomQ81D6WnTyyC8uuuPV9otKOyc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v9 15/19] xen/arm: Implement device tree node removal functionalities
Date: Fri, 18 Aug 2023 17:28:46 -0700
Message-ID: <20230819002850.32349-16-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD7:EE_|CH0PR12MB5252:EE_
X-MS-Office365-Filtering-Correlation-Id: d324bc9d-2c47-4f23-ee52-08dba04b52dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tomXQG4OYn0NgtcGEXXetrFqejnM2La6cuiOxrqON8FP4oNIytaqsrN9gXpvv4xO6Sq4spfc5Veip+3dqhOT8/XNHDtWetbCAhfDU0fQzwYjHfli0PTC5Nrh404MNzWC8MKviiLgvSFtcKEwo8iHlo+W8Lj0+mEZz1aFzJGQCL5UDOl0xySxkkmTl6KKPKKiteE0OzCNoCITfk/TUVoLKI+8JrR5i5bHECsB7alXankg+MIe4+cxzwmdqzzP6K16Lwfk0oNw0ssnnP0tPfDBOA8NhqyDJaea7K2q0hWW2+MkG/0H9tg0JL1fcOY8RM+CLgO3y2q2VTBMZXb/qsbf855pMASO4O8d/tiPNPy5aQYQN9M3cITvJj5zsAozKXYy38aNpEjw3dcmQMCdACkMVmlQrk9g26oUVxHmhT3OIP0E0h7x7ArGZwRdEJ8/mlsu192sPpfxl3MK27wqP9rXnOU+rY0yLAZIJGYHTcbFuOU2/otfcuzPpNac/zqb+ptcGcd1fToR6wWf+RyzF8snLzojXAVrqqcHR5RdbbGlS+IiSPAeI6AMk3WhlIFV/Xd3vYdctS8M2CRvTPkT/g+gALYg+Xopf52DqR9ZQLlaaU70yXOkviNro/l69i4CwkLIVAkhC8QzLqb+S3+3Kry3VdkO0sDEl0E2sxvEMzQTY/an54+kYvVwg4W01ZBOYemKHtVBnhn1XakNR6NL6pSDhbuue74bKbPebR4ZJdtfwL8dvnZEdD3GHuwlbC18+ZBP7At7hxLnJRFlUmlCAUTDvwd8c2SDm7NQ7sBtxqbJO0xw+qgPQ6Nnx/5KdjEGpnIx
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)(4636009)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6666004)(40460700003)(36860700001)(426003)(336012)(40480700001)(1076003)(83380400001)(36756003)(47076005)(81166007)(356005)(82740400003)(26005)(2616005)(316002)(2906002)(6916009)(54906003)(41300700001)(30864003)(70206006)(70586007)(86362001)(5660300002)(44832011)(8676002)(8936002)(4326008)(478600001)(333604002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2023 00:29:17.5230
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d324bc9d-2c47-4f23-ee52-08dba04b52dd
X-MS-Exchange-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:
	CY4PEPF0000EDD7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5252

Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.

xl dt-overlay remove file.dtbo:
    Removes all the nodes in a given dtbo.
    First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
    in dt_host and delete the device node entries from dt_host.

    The nodes get removed only if it is not used by any of dom0 or domio.

Also, added overlay_track struct to keep the track of added node through device
tree overlay. overlay_track has dt_host_new which is unflattened form of updated
fdt and name of overlay nodes. When a node is removed, we also free the memory
used by overlay_track for the particular overlay node.

Nested overlay removal is supported in sequential manner only i.e. if
overlay_child nests under overlay_parent, it is assumed that user first removes
overlay_child and then removes overlay_parent.
Also, this is an experimental feature so it is expected from user to make sure
correct device tree overlays are used when adding nodes and making sure devices
are not being used by other domain before removing them from Xen tree.
Partially added/removed i.e. failures while removing the overlay may cause other
failures and might need a system reboot.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v8:
    Remove IRQs and IOMMU entries using rangesets instead of parsing each node.
Changes from v7:
    Add dt-overlay.c in MAINTAINERS.
    Add comments for dt_overlay_remove_node.
    Rename handle_remove_irq_iommu() to remove_resources().
    Add comment regarding false mapping flag for reason behind not removing the
    mapping..
    Remove irq_access_premitted() check.
    Add error handling for remove_all_descendant_nodes
    Change read_lock with write_lock.
    Remove check_overlay_fdt() call from handle_remove_overlay_nodes().
    Re-organize dt_sysctl and reutnr -EOPNOSTSUPP for error cases. Also, renamed
        this function to dt_overlay_sysctl.
    Remove unnecessary header includes in dt-overlay.h
    Correct indentation and make func   tion inputs const wherever possible.
    Make overlay_fdt const_void inside xen_sysctl_dt_overlay{}.
    Add comment regarding why we not removing IRQ and MMIO mappings.
    Move overlay_node_count() out of this patch as it's not being used here
        anymore.
Changes from v6:
    Add explicit padding for xen_system_dt_overlay{}
    Update license.
    Rearrange xfree in dt_sysctl()
    Update overlay_track struct comment with relevant message.
    Fix missing xen/errno.h for builds without CONFIG_OVERLAY_DTB cases.
    Fix header formatting.
---
---
 MAINTAINERS                  |   1 +
 xen/arch/arm/sysctl.c        |  16 +-
 xen/common/Makefile          |   1 +
 xen/common/dt-overlay.c      | 402 +++++++++++++++++++++++++++++++++++
 xen/include/public/sysctl.h  |  24 +++
 xen/include/xen/dt-overlay.h |  63 ++++++
 6 files changed, 506 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h

diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..c41a7c5440 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -301,6 +301,7 @@ M:	Julien Grall <julien@xen.org>
 S:	Supported
 F:	xen/common/libfdt/
 F:	xen/common/device_tree.c
+F:	xen/common/dt-overlay.c
 F:	xen/include/xen/libfdt/
 F:	xen/include/xen/device_tree.h
 F:	xen/drivers/passthrough/device_tree.c
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index e9a0661146..5cda0dc674 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -9,6 +9,7 @@
 
 #include <xen/types.h>
 #include <xen/lib.h>
+#include <xen/dt-overlay.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
 #include <asm/arm64/sve.h>
@@ -25,7 +26,20 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
-    return -ENOSYS;
+    long ret;
+
+    switch ( sysctl->cmd )
+    {
+    case XEN_SYSCTL_dt_overlay:
+        ret = dt_overlay_sysctl(&sysctl->u.dt_overlay);
+        break;
+
+    default:
+        ret = -ENOSYS;
+        break;
+    }
+
+    return ret;
 }
 
 /*
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..e7e96b1087 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
+obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
new file mode 100644
index 0000000000..60bedf0852
--- /dev/null
+++ b/xen/common/dt-overlay.c
@@ -0,0 +1,402 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/common/dt-overlay.c
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#include <asm/domain_build.h>
+#include <xen/dt-overlay.h>
+#include <xen/guest_access.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/xmalloc.h>
+
+static LIST_HEAD(overlay_tracker);
+static DEFINE_SPINLOCK(overlay_lock);
+
+/* Find last descendants of the device_node. */
+static struct dt_device_node *
+find_last_descendants_node(const struct dt_device_node *device_node)
+{
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node->sibling != NULL;
+          child_node = child_node->sibling );
+
+    /* If last child_node also have children. */
+    if ( child_node->child )
+        child_node = find_last_descendants_node(child_node);
+
+    return child_node;
+}
+
+static int dt_overlay_remove_node(struct dt_device_node *device_node)
+{
+    struct dt_device_node *np;
+    struct dt_device_node *parent_node;
+    struct dt_device_node *last_descendant = device_node->child;
+
+    parent_node = device_node->parent;
+
+    /* Check if we are trying to remove "/" i.e. root node. */
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("%s's parent node not found\n", device_node->name);
+        return -EFAULT;
+    }
+
+    /* Sanity check for linking between parent and child node. */
+    np = parent_node->child;
+    if ( np == NULL )
+    {
+        dt_dprintk("parent node %s's not found\n", parent_node->name);
+        return -EFAULT;
+    }
+
+    /* If node to be removed is only child node or first child. */
+    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
+    {
+        parent_node->child = np->sibling;
+
+        /*
+         * Iterate over all child nodes of device_node. Given that we are
+         * removing a node, we need to remove all it's descendants too.
+         * Reason behind finding last_descendant:
+         * If device_node has multiple children, device_node->allnext will point
+         * to first_child and first_child->allnext will be a sibling. When the
+         * device_node and it's all children are removed, parent_node->allnext
+         * should point to node next to last children.
+         */
+        if ( last_descendant )
+        {
+            last_descendant = find_last_descendants_node(device_node);
+            parent_node->allnext = last_descendant->allnext;
+        }
+        else
+            parent_node->allnext = np->allnext;
+
+        return 0;
+    }
+
+    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
+    {
+        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
+        {
+            /* Found the node. Now we remove it. */
+            np->sibling = np->sibling->sibling;
+
+            if ( np->child )
+                np = find_last_descendants_node(np);
+
+            /*
+             * Iterate over all child nodes of device_node. Given that we are
+             * removing parent node, we need to remove all it's descendants too.
+             */
+            if ( last_descendant )
+                last_descendant = find_last_descendants_node(device_node);
+
+            if ( last_descendant )
+                np->allnext = last_descendant->allnext;
+            else
+                np->allnext = np->allnext->allnext;
+
+            break;
+        }
+    }
+
+    return 0;
+}
+
+/* Basic sanity check for the dtbo tool stack provided to Xen. */
+static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
+{
+    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
+          fdt_check_header(overlay_fdt) )
+    {
+        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int irq_remove_cb(unsigned long s, unsigned long e, void *dom,
+                         unsigned long *c)
+{
+    int rc;
+    struct domain *d = dom;
+
+    /*
+     * TODO: We don't handle shared IRQs for now. So, it is assumed that
+     * the IRQs was not shared with another devices.
+     * TODO: Undo the IRQ routing.
+     */
+    rc = irq_deny_access(d, s);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "unable to revoke access for irq %lu\n", s);
+    }
+    else
+        *c += e - s + 1;
+
+    return rc;
+
+}
+
+static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
+                           unsigned long *c)
+{
+    int rc;
+    struct domain *d = dom;
+
+    /*
+    * Remove mmio access.
+    * TODO: Support for remove/add the mapping in P2M.
+    */
+    rc = iomem_deny_access(d, s, e);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Unable to remove dom%d access to"
+               " 0x%"PRIx64" - 0x%"PRIx64"\n",
+               d->domain_id,
+               s & PAGE_MASK, PAGE_ALIGN(e) - 1);
+    }
+    else
+        *c += e - s + 1;
+
+    return rc;
+}
+
+static int remove_resources(struct dt_device_node *device_node)
+{
+    int rc = 0;
+    domid_t domid;
+    unsigned int len;
+
+    domid = dt_device_used_by(device_node);
+
+    dt_dprintk("Checking if node %s is used by any domain\n",
+               device_node->full_name);
+
+    /* 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;
+    }
+
+    dt_dprintk("Removing node: %s\n", device_node->full_name);
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(device_node, "iommus", &len) )
+    {
+        rc = iommu_remove_dt_device(device_node);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/* Removes all descendants of the given node. */
+static int remove_all_descendant_nodes(const struct dt_device_node *device_node)
+{
+    int rc = 0;
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node != NULL;
+         child_node = child_node->sibling )
+    {
+        if ( child_node->child )
+        {
+            rc = remove_all_descendant_nodes(child_node);
+            if ( rc )
+                return rc;
+        }
+
+        rc = remove_resources(child_node);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/* Remove nodes from dt_host. */
+static int remove_nodes(const struct overlay_track *tracker)
+{
+    int rc = 0;
+    struct dt_device_node *overlay_node;
+    unsigned int j;
+    struct domain *d = hardware_domain;
+
+    for ( j = 0; j < tracker->num_nodes; j++ )
+    {
+        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
+        if ( overlay_node == NULL )
+        {
+            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
+                   overlay_node->full_name);
+            return -EINVAL;
+        }
+
+        rc = remove_all_descendant_nodes(overlay_node);
+        if ( rc )
+            return rc;
+
+        /* All children nodes are unmapped. Now remove the node itself. */
+        rc = remove_resources(overlay_node);
+        if ( rc )
+            return rc;
+
+        write_lock(&dt_host_lock);
+
+        rc = dt_overlay_remove_node(overlay_node);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+    }
+
+    /* Remove IRQ access. */
+    if ( tracker->irq_ranges )
+    {
+        rc = rangeset_consume_ranges(tracker->irq_ranges, irq_remove_cb, d);
+        if ( rc )
+            return rc;
+    }
+
+   /* Remove mmio access. */
+    if ( tracker->iomem_ranges )
+    {
+        rc = rangeset_consume_ranges(tracker->iomem_ranges, iomem_remove_cb, d);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/*
+ * First finds the device node to remove. Check if the device is being used by
+ * any dom and finally remove it from dt_host. IOMMU is already being taken care
+ * while destroying the domain.
+ */
+static long handle_remove_overlay_nodes(const void *overlay_fdt,
+                                        uint32_t overlay_fdt_size)
+{
+    int rc;
+    struct overlay_track *entry, *temp, *track;
+    bool found_entry = false;
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+        return rc;
+
+    spin_lock(&overlay_lock);
+
+    /*
+     * First check if dtbo is correct i.e. it should one of the dtbo which was
+     * used when dynamically adding the node.
+     * Limitation: Cases with same node names but different property are not
+     * supported currently. We are relying on user to provide the same dtbo
+     * as it was used when adding the nodes.
+     */
+    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
+    {
+        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
+        {
+            track = entry;
+            found_entry = true;
+            break;
+        }
+    }
+
+    if ( !found_entry )
+    {
+        rc = -EINVAL;
+
+        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
+               " Removing nodes is supported only for prior added dtbo.\n");
+        goto out;
+
+    }
+
+    rc = remove_nodes(entry);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Removing node failed\n");
+        goto out;
+    }
+
+    list_del(&entry->entry);
+
+    xfree(entry->dt_host_new);
+    xfree(entry->fdt);
+    xfree(entry->overlay_fdt);
+
+    xfree(entry->nodes_address);
+
+    rangeset_destroy(entry->irq_ranges);
+    rangeset_destroy(entry->iomem_ranges);
+
+    xfree(entry);
+
+ out:
+    spin_unlock(&overlay_lock);
+    return rc;
+}
+
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    long ret;
+    void *overlay_fdt;
+
+    if ( op->overlay_op != XEN_SYSCTL_DT_OVERLAY_ADD &&
+         op->overlay_op != XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        return -EOPNOTSUPP;
+
+    if ( op->overlay_fdt_size == 0 || op->overlay_fdt_size > KB(500) )
+        return -EINVAL;
+
+    if ( op->pad[0] || op->pad[1] || op->pad[2] )
+        return -EINVAL;
+
+    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
+
+    if ( overlay_fdt == NULL )
+        return -ENOMEM;
+
+    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
+    if ( ret )
+    {
+        gprintk(XENLOG_ERR, "copy from guest failed\n");
+        xfree(overlay_fdt);
+
+        return -EFAULT;
+    }
+
+    if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+
+    xfree(overlay_fdt);
+
+    return ret;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index fa7147de47..900239133a 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1059,6 +1059,25 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
 #endif
 
+#if defined(__arm__) || defined (__aarch64__)
+/*
+ * XEN_SYSCTL_dt_overlay
+ * Performs addition/removal of device tree nodes under parent node using dtbo.
+ * This does in three steps:
+ *  - Adds/Removes the nodes from dt_host.
+ *  - Adds/Removes IRQ permission for the nodes.
+ *  - Adds/Removes MMIO accesses.
+ */
+struct xen_sysctl_dt_overlay {
+    XEN_GUEST_HANDLE_64(const_void) overlay_fdt;  /* IN: overlay fdt. */
+    uint32_t overlay_fdt_size;              /* IN: Overlay dtb size. */
+#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. */
+};
+#endif
+
 struct xen_sysctl {
     uint32_t cmd;
 #define XEN_SYSCTL_readconsole                    1
@@ -1089,6 +1108,7 @@ struct xen_sysctl {
 #define XEN_SYSCTL_livepatch_op                  27
 /* #define XEN_SYSCTL_set_parameter              28 */
 #define XEN_SYSCTL_get_cpu_policy                29
+#define XEN_SYSCTL_dt_overlay                    30
     uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
     union {
         struct xen_sysctl_readconsole       readconsole;
@@ -1119,6 +1139,10 @@ struct xen_sysctl {
 #if defined(__i386__) || defined(__x86_64__)
         struct xen_sysctl_cpu_policy        cpu_policy;
 #endif
+
+#if defined(__arm__) || defined (__aarch64__)
+        struct xen_sysctl_dt_overlay        dt_overlay;
+#endif
         uint8_t                             pad[128];
     } u;
 };
diff --git a/xen/include/xen/dt-overlay.h b/xen/include/xen/dt-overlay.h
new file mode 100644
index 0000000000..c0567741ee
--- /dev/null
+++ b/xen/include/xen/dt-overlay.h
@@ -0,0 +1,63 @@
+ /* SPDX-License-Identifier: GPL-2.0-only */
+ /*
+ * xen/dt-overlay.h
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#ifndef __XEN_DT_OVERLAY_H__
+#define __XEN_DT_OVERLAY_H__
+
+#include <xen/device_tree.h>
+#include <xen/list.h>
+#include <xen/rangeset.h>
+
+/*
+ * overlay_track describes information about added nodes through dtbo.
+ * @entry: List pointer.
+ * @dt_host_new: Pointer to the updated dt_host_new which is unflattened from
+    the 'updated fdt'.
+ * @fdt: Stores the fdt.
+ * @overlay_fdt: Stores a copy of input overlay_fdt.
+ * @nodes_address: Stores each overlay_node's address.
+ * @num_nodes: Total number of nodes in overlay dtb.
+ * @iomem_ranges: Range set to keep track of all IOMEMs.
+ * @irq_ranges: Range set to keep track of all added IRQs.
+ */
+struct overlay_track {
+    struct list_head entry;
+    struct dt_device_node *dt_host_new;
+    void *fdt;
+    void *overlay_fdt;
+    unsigned long *nodes_address;
+    unsigned int num_nodes;
+    struct rangeset *iomem_ranges;
+    struct rangeset *irq_ranges;
+};
+
+struct xen_sysctl_dt_overlay;
+
+#ifdef CONFIG_OVERLAY_DTB
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op);
+#else
+#include <xen/errno.h>
+static inline long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    return -EOPNOTSUPP;
+}
+#endif
+
+#endif /* __XEN_DT_OVERLAY_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 01:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 01:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586843.918133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXAhP-00065H-0D; Sat, 19 Aug 2023 01:24:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586843.918133; Sat, 19 Aug 2023 01:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXAhO-00065A-Tp; Sat, 19 Aug 2023 01:24:18 +0000
Received: by outflank-mailman (input) for mailman id 586843;
 Sat, 19 Aug 2023 01:24:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IgEN=EE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qXAhO-00064o-Cf
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 01:24:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c6497c2-3e2f-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 03:24:16 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 28AC361B69;
 Sat, 19 Aug 2023 01:24:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52016C433C7;
 Sat, 19 Aug 2023 01:24:13 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c6497c2-3e2f-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692408254;
	bh=me7zOvwgCZOIaCP/W20OevzMLC8uORPtHBEeZ9iyYpY=;
	h=From:To:Cc:Subject:Date:From;
	b=PndH/HpZ0fyqVRyO6rB9171Y7bnL5hbkoIIq8v62nNdmYh39LwFkCk7U2ReTa8/Xc
	 XI7svsjQQL/FeSrMzI5pvSjHNkU8bH3fNCKHF7OuhZAXY39F+ssVdTiZXo7oL4Nz7m
	 b+ZL4/MVGAj45cs1XQU2Onu4A1CyyZ2LR9JgoLTS4Yu/TGqbXVHxDELHEmH/qDX/8c
	 SXyymYxO7J3kiBBLf+Rip2+T6AX+ac8m7W7qCdtIJml6no/HTnxjOznbeMCQaHzMtT
	 qPrRglEpXe0Fwe81jVr+lOWfb8+VP6oNC+4ci+eitnUbusSLyJ9tz1pFrGeELntg+Q
	 RrCUTkPcLYDqw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: add exceptions to rules
Date: Fri, 18 Aug 2023 18:24:10 -0700
Message-Id: <20230819012410.1754839-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

During the discussions that led to the acceptable of the Rules, we
decided on a few exceptions that were not properly recorded in
rules.rst. Other times, the exceptions were decided later when it came
to enabling a rule in ECLAIR.

Either way, update rules.rst with appropriate notes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Note that there might be more to add, but the below look correct to me
---
 docs/misra/rules.rst | 41 +++++++++++++++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 8 deletions(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25..ecbb04da96 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
      - Required
      - Precautions shall be taken in order to prevent the contents of a
        header file being included more than once
-     -
+     - Files that are intended to be included more than once do not need to
+       conform to the directive (e.g. autogenerated or empty header files)
 
    * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
      - Required
@@ -106,7 +107,23 @@ maintainers if you want to suggest a change.
    * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
      - Required
      - A project shall not contain unreachable code
-     -
+     - The following are allowed:
+         - Invariantly constant conditions (e.g. while(0) { S; })
+         - Switch with a controlling value incompatible with labeled
+           statements
+         - Functions that are intended to be never referenced from C
+           code, or are referenced in builds not under analysis (e.g.
+           'do_trap_fiq' for the former and 'check_for_unexpected_msi'
+           for the latter)
+         - Unreachability caused by the following macros/functions is
+           deliberate: BUG, assert_failed, ERROR_EXIT, ERROR_EXIT_DOM,
+           PIN_FAIL, __builtin_unreachable, panic, do_unexpected_trap,
+           machine_halt, machine_restart, machine_reboot,
+           ASSERT_UNREACHABLE
+         - asm-offsets.c, as they are not linked deliberately, because
+           they are used to generate definitions for asm modules
+         - pure declarations (i.e. declarations without
+           initialization) are safe, as they are not executed
 
    * - `Rule 2.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_06.c>`_
      - Advisory
@@ -117,7 +134,7 @@ maintainers if you want to suggest a change.
      - Required
      - The character sequences /* and // shall not be used within a
        comment
-     -
+     - Comments containing hyperlinks inside C-style block comments are safe
 
    * - `Rule 3.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_03_02.c>`_
      - Required
@@ -167,7 +184,7 @@ maintainers if you want to suggest a change.
    * - `Rule 5.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
      - Required
      - A typedef name shall be a unique identifier
-     -
+     - BOOLEAN, UINT{8,32,64} and INT{8,32,64} are allowed
 
    * - `Rule 6.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_06_01.c>`_
      - Required
@@ -183,7 +200,10 @@ maintainers if you want to suggest a change.
    * - `Rule 7.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_01.c>`_
      - Required
      - Octal constants shall not be used
-     -
+     - Usage of the following constants is safe, since they are given
+       as-is in the inflate algorithm specification and there is
+       therefore no risk of them being interpreted as decimal constants:
+       ^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$
 
    * - `Rule 7.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_02.c>`_
      - Required
@@ -239,13 +259,16 @@ maintainers if you want to suggest a change.
      - Required
      - All declarations of an object or function shall use the same
        names and type qualifiers
-     -
+     - The type ret_t is deliberately used and defined as int or long
+       depending on the architecture
 
    * - `Rule 8.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_04.c>`_
      - Required
      - A compatible declaration shall be visible when an object or
        function with external linkage is defined
-     -
+     - Allowed exceptions: asm-offsets.c (definitions for asm modules
+       not called from C code), gcov_base.c (definitions only used in
+       non-release builds)
 
    * - `Rule 8.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_05_2.c>`_
      - Required
@@ -369,7 +392,9 @@ maintainers if you want to suggest a change.
      - Required
      - Expressions resulting from the expansion of macro parameters
        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
 
    * - `Rule 20.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_20_13.c>`_
      - Required
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 01:41:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 01:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586851.918142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXAxZ-0000Nc-Fo; Sat, 19 Aug 2023 01:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586851.918142; Sat, 19 Aug 2023 01: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 1qXAxZ-0000NV-CR; Sat, 19 Aug 2023 01:41:01 +0000
Received: by outflank-mailman (input) for mailman id 586851;
 Sat, 19 Aug 2023 01:41: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 1qXAxY-0000NL-I9; Sat, 19 Aug 2023 01:41: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 1qXAxY-0005Nd-Fh; Sat, 19 Aug 2023 01:41:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXAxX-0006jS-TK; Sat, 19 Aug 2023 01:41:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXAxX-0003Mr-SM; Sat, 19 Aug 2023 01:40: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=c73PmuLFWdHVfB+LQ5sevjQ6IyHQRj5pRDDNUMzMTbQ=; b=vGH57NPA9M8azOb5zV45PAIXpM
	10nD580qN08+K4khj+ZmEvBr6sr7fVfulO3nYpTTdF1AypT4ql401gEiVvmjH5flx/gib/1Q5aDsJ
	mWgPrPuyPrG8dJEm5Ou6juXgZ9UtqO3dYarKhDWZ7G+Y2NlDlpajctZz6Fesw3k27l+4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182378-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182378: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start.2: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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=0e8860d2125f51ba9bca67a520d826cb8f66cf42
X-Osstest-Versions-That:
    linux=4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 01:40:59 +0000

flight 182378 linux-linus real [real]
flight 182390 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182378/
http://logs.test-lab.xenproject.org/osstest/logs/182390/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 18 guest-localmigrate/x10 fail REGR. vs. 182357

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail pass in 182390-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail pass in 182390-retest
 test-amd64-amd64-xl-credit1  23 guest-start.2       fail pass in 182390-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182357
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182357
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182357
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182357
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                0e8860d2125f51ba9bca67a520d826cb8f66cf42
baseline version:
 linux                4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6

Last test of basis   182357  2023-08-16 07:44:20 Z    2 days
Failing since        182371  2023-08-17 15:10:27 Z    1 days    3 attempts
Testing same since   182378  2023-08-18 08:43:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alfred Lee <l00g33k@gmail.com>
  Alok Prasad <palok@marvell.com>
  Andrii Staikov <andrii.staikov@intel.com>
  Artem Chernyshev <artem.chernyshev@red-soft.ru>
  Asad Kamal <asad.kamal@amd.com>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Chuck Lever <chuck.lever@oracle.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dave Airlie <airlied@redhat.com>
  David Heidelberg <david@ixit.cz>
  David S. Miller <davem@davemloft.net>
  Dragos Tatulea <dtatulea@nvidia.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Jakub Kicinski <kuba@kernel.org>
  James Zhu <James.Zhu@amd.com>
  Jani Nikula <jani.nikula@intel.com>
  Jason Wang <jasowang@redhat.com>
  Jason Xing <kernelxing@tencent.com>
  Jeff Layton <jlayton@kernel.org>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jesper Dangaard Brouer <hawk@kernel.org>
  Jiadong Zhu <Jiadong.Zhu@amd.com>
  John Harrison <John.C.Harrison@Intel.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Chen <justin.chen@broadcom.com>
  Karol Herbst <kherbst@redhat.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Leon Romanovsky <leonro@nvidia.com>
  Liang Chen <liangchen.linux@gmail.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Manish Chopra <manishc@marvell.com>
  Marcin Szycik <marcin.szycik@linux.intel.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Maxime Ripard <mripard@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Schmidt <mschmidt@redhat.com>
  Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
  Neil Armstrong <neil.armstrong@linaro.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Petr Machata <petrm@nvidia.com>
  Piotr Gardocki <piotrx.gardocki@intel.com>
  Pranjal Ramajor Asha Kanojiya <quic_pkanojiy@quicinc.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Shakeel Butt <shakeelb@google.com>
  Shay Drory <shayd@nvidia.com>
  Simon Horman <horms@kernel.org>
  Sishuai Gong <sishuai.system@gmail.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Tim Huang <Tim.Huang@amd.com>
  Tomi LeppĂ¤nen <tomi@tomin.site>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Umio Yasuno <coelacanth_dream@protonmail.com>
  Ville SyrjĂ¤lĂ¤ <ville.syrjala@linux.intel.com>
  Vinay Belgaumkar <vinay.belgaumkar@intel.com>
  Vlad Buslov <vladbu@nvidia.com>
  Wander Lairson Costa <wander@redhat.com>
  Xiang Yang <xiangyang3@huawei.com>
  Xin Long <lucien.xin@gmail.com>
  Zhengchao Shao <shaozhengchao@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                    fail    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2590 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 05:04:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 05:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586949.918279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXE7u-0008W6-62; Sat, 19 Aug 2023 05:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586949.918279; Sat, 19 Aug 2023 05:03:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXE7u-0008Vz-2I; Sat, 19 Aug 2023 05:03:54 +0000
Received: by outflank-mailman (input) for mailman id 586949;
 Sat, 19 Aug 2023 05:03:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXE7s-0008Vk-GB; Sat, 19 Aug 2023 05:03: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 1qXE7s-0002Mp-Dw; Sat, 19 Aug 2023 05:03: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 1qXE7r-0005u7-T7; Sat, 19 Aug 2023 05:03:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXE7r-0001uG-Sc; Sat, 19 Aug 2023 05:03: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=AIkfwYLX9hJOiRVICCwvA71qlirq7+dPNWkv2UNoz3Y=; b=KLeyTZyIAnci1F9vePSIl6JFEx
	1f4FNzVHY/AbdWx7msWcwr2LxxM0nCCEHq8hgpJ61aNjDw+NkPeJZcJDfM0lMl3FFBDROAXTmpM7I
	5yDG5mJBkGgaVFLNE6WKybolDH4CpmzYW8xOn1qIQ6PVrY6nzseoMdtESIVGaef7G1Ng=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182387-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182387: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5cd6585177e99947a5f62345edbe657663ad9fcc
X-Osstest-Versions-That:
    xen=38ba0466a1e262edd031500d24919fbf4e48c794
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 05:03:51 +0000

flight 182387 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182387/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182377
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182377
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182377
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182377
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182377
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182377
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182377
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182377
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182377
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182377
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182377
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182377
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  5cd6585177e99947a5f62345edbe657663ad9fcc
baseline version:
 xen                  38ba0466a1e262edd031500d24919fbf4e48c794

Last test of basis   182377  2023-08-18 05:14:40 Z    0 days
Testing same since   182387  2023-08-18 18:08:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jens Wiklander <jens.wiklander@linaro.org>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   38ba0466a1..5cd6585177  5cd6585177e99947a5f62345edbe657663ad9fcc -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 05:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 05:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586968.918324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXEWN-0003Gl-PZ; Sat, 19 Aug 2023 05:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586968.918324; Sat, 19 Aug 2023 05: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 1qXEWN-0003Ge-Mn; Sat, 19 Aug 2023 05:29:11 +0000
Received: by outflank-mailman (input) for mailman id 586968;
 Sat, 19 Aug 2023 05: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 1qXEWM-0003GU-8b; Sat, 19 Aug 2023 05: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 1qXEWM-0002zB-6z; Sat, 19 Aug 2023 05: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 1qXEWL-0006ho-TR; Sat, 19 Aug 2023 05:29:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXEWL-0003oF-T7; Sat, 19 Aug 2023 05:29: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=ochIEo4bXuXjzSJthxZacZBeI83hraBQZZHMVT2E01Y=; b=gxz80p4c1JhN0VWjc2Lz6Onogz
	9x4LD/Ff2yEtTEwiTj782pmd5jPUQmaKhmDL5pcT4swBLILDjaW2o6Tc5zKqjdNBWIqM0pd01BJyP
	aplz5N9tDtJ0omr014+HmqIoIdf/iEomZDi1H3IrLce2N1rCxyV4Hss5aLBSEmZoTqeQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182393-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182393: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=00b51e0d78a547dd78119ec44fcc74a01b6f79c8
X-Osstest-Versions-That:
    ovmf=48089f3a7cdf308651234f5bf8d8a301f4b8acf9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 05:29:09 +0000

flight 182393 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182393/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 00b51e0d78a547dd78119ec44fcc74a01b6f79c8
baseline version:
 ovmf                 48089f3a7cdf308651234f5bf8d8a301f4b8acf9

Last test of basis   182383  2023-08-18 12:42:20 Z    0 days
Testing same since   182393  2023-08-19 03:40:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@quicinc.com>
  Oliver Smith-Denny <osde@linux.microsoft.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   48089f3a7c..00b51e0d78  00b51e0d78a547dd78119ec44fcc74a01b6f79c8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 06:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 06:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.586977.918335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXFNc-0001PB-Mz; Sat, 19 Aug 2023 06:24:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 586977.918335; Sat, 19 Aug 2023 06:24:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXFNc-0001P4-IK; Sat, 19 Aug 2023 06:24:12 +0000
Received: by outflank-mailman (input) for mailman id 586977;
 Sat, 19 Aug 2023 06:24: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 1qXFNb-0001Ou-Eh; Sat, 19 Aug 2023 06:24: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 1qXFNb-0004HB-DC; Sat, 19 Aug 2023 06:24: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 1qXFNa-0000an-Uq; Sat, 19 Aug 2023 06:24:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXFNa-000744-UG; Sat, 19 Aug 2023 06:24: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=zf44MogUdcF1ctnd6z6qyn7PeaoR/fhBd96jkT6iEXQ=; b=4hhiLshdMsbSwjJFCEsT++Uons
	Lwp5WpBqJUXk5iAb28AwY5p/W4rtMVWdhVuCGuQkHb8jnf1ZkkHTzm9Kc3+ZkG8Y6J/Eyrr1lB5Yb
	hsPQ53BiWojM7gOOpTjoZMXcV99AP1Wa3CnzQ2wee8VgjM6LtydxCyuBf+ySgixpWXjo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182392-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182392: 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=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
X-Osstest-Versions-That:
    xen=b2865c2b6f164d2c379177cdd1cb200e4eaba549
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 06:24:10 +0000

flight 182392 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182392/

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                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f
baseline version:
 xen                  b2865c2b6f164d2c379177cdd1cb200e4eaba549

Last test of basis   182388  2023-08-18 20:03:50 Z    0 days
Testing same since   182392  2023-08-19 02:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b2865c2b6f..bf0bd6cf59  bf0bd6cf590a0a1b29845289159f0a17d5e4064f -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 12:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 12:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587037.918361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXL6T-0007Ax-4t; Sat, 19 Aug 2023 12:30:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587037.918361; Sat, 19 Aug 2023 12:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXL6T-0007Aq-2M; Sat, 19 Aug 2023 12:30:53 +0000
Received: by outflank-mailman (input) for mailman id 587037;
 Sat, 19 Aug 2023 12:30:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXL6R-0007Ag-Py; Sat, 19 Aug 2023 12:30:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXL6R-0004gK-Mw; Sat, 19 Aug 2023 12:30:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXL6R-0000sD-5T; Sat, 19 Aug 2023 12:30:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXL6R-0004IZ-4p; Sat, 19 Aug 2023 12:30:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QSjOMz+h0YeFkTgDcY7zUG/CqKebKbG/K7/FFTurKp4=; b=mG1/amipvOPXS8s/Eruh8nNsRm
	cWdy3f8+CclUlajws/BPloB3aroUMkfq8YbXdZ4qxreebuyDrj78R+Or9OlZV2hjERomBn7POHW6K
	NrUvy5/gTdZcH+cstrTblGSL9AyKJpf6EfxVtBzvtm4+jPbFzQ41bpaixndrNblZtOnY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182391-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182391: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-vhd:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=d4ddefee5160dc477d0e30c9d7a10ce8861c3007
X-Osstest-Versions-That:
    linux=4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 12:30:51 +0000

flight 182391 linux-linus real [real]
flight 182395 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182391/
http://logs.test-lab.xenproject.org/osstest/logs/182395/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-vhd   19 guest-localmigrate/x10 fail pass in 182395-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182357
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182357
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182357
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182357
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182357
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182357
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                d4ddefee5160dc477d0e30c9d7a10ce8861c3007
baseline version:
 linux                4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6

Last test of basis   182357  2023-08-16 07:44:20 Z    3 days
Failing since        182371  2023-08-17 15:10:27 Z    1 days    4 attempts
Testing same since   182391  2023-08-19 01:56:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Wu <wuyun.abel@bytedance.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alfred Lee <l00g33k@gmail.com>
  Alok Prasad <palok@marvell.com>
  Andrej Picej <andrej.picej@norik.com>
  Andrew Halaney <ahalaney@redhat.com> # sa8775p-ride
  Andrii Staikov <andrii.staikov@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Artem Chernyshev <artem.chernyshev@red-soft.ru>
  Asad Kamal <asad.kamal@amd.com>
  Aurelien Jarno <aurelien@aurel32.net>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bjorn Andersson <andersson@kernel.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Celeste Liu <CoelacanthusHex@gmail.com>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Christopher Obbard <chris.obbard@collabora.com>
  Chuck Lever <chuck.lever@oracle.com>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Baluta <daniel.baluta@nxp.com>
  Dave Airlie <airlied@redhat.com>
  David Heidelberg <david@ixit.cz>
  David S. Miller <davem@davemloft.net>
  dengxiang <dengxiang@nfschina.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dragos Tatulea <dtatulea@nvidia.com>
  Drew Fustini <dfustini@baylibre.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@denx.de>
  Felix Yan <felixonmars@archlinux.org>
  Florian Westphal <fw@strlen.de>
  Folker Schwesinger <dev@folker-schwesinger.de>
  Guo Ren <guoren@kernel.org>
  Guo Ren <guoren@linux.alibaba.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  jairaj-arava <jairaj.arava@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  James Zhu <James.Zhu@amd.com>
  Jani Nikula <jani.nikula@intel.com>
  Jason Wang <jasowang@redhat.com>
  Jason Xing <kernelxing@tencent.com>
  Jeff Layton <jlayton@kernel.org>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jerome Brunet <jbrunet@baylibre.com>
  Jesper Dangaard Brouer <hawk@kernel.org>
  Jiadong Zhu <Jiadong.Zhu@amd.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Joel Stanley <joel@jms.id.au>
  John Harrison <John.C.Harrison@Intel.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Chen <justin.chen@broadcom.com>
  Kailang Yang <kailang@realtek.com>
  Karol Herbst <kherbst@redhat.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Leon Romanovsky <leonro@nvidia.com>
  Liang Chen <liangchen.linux@gmail.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Lin Ma <linma@zju.edu.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Manish Chopra <manishc@marvell.com>
  Marcin Szycik <marcin.szycik@linux.intel.com>
  Marek BehĂºn <kabel@kernel.org>
  Marek Vasut <marex@denx.de>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org
  Mark Brown <broonie@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michael Walle <michael@walle.cc>
  Michal Schmidt <mschmidt@redhat.com>
  Michal Simek <michal.simek@amd.com>
  Mingzheng Xing <xingmingzheng@iscas.ac.cn>
  Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
  Nam Cao <namcaov@gmail.com>
  Nathan Chancellor <nathan@kernel.org>
  Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Ninad Naik <quic_ninanaik@quicinc.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Petr Machata <petrm@nvidia.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Piotr Gardocki <piotrx.gardocki@intel.com>
  Pranjal Ramajor Asha Kanojiya <quic_pkanojiy@quicinc.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
  Rob Herring <robh@kernel.org>
  Robert Nelson <robertcnelson@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ruizhe Pan <c141028@gmail.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Scott Mayhew <smayhew@redhat.com>
  Shakeel Butt <shakeelb@google.com>
  Shawn Guo <shawnguo@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shazad Hussain <quic_shazhuss@quicinc.com>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Shengyu Qu <wiagn233@outlook.com>
  Shiqi Zhang <shiqi@isrc.iscas.ac.cn>
  Shuming Fan <shumingf@realtek.com
  Shuming Fan <shumingf@realtek.com>
  Simon Horman <horms@kernel.org>
  Sishuai Gong <sishuai.system@gmail.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steve French <stfrench@microsoft.com>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tim Huang <Tim.Huang@amd.com>
  Tomi LeppĂ¤nen <tomi@tomin.site>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Umio Yasuno <coelacanth_dream@protonmail.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  Ville SyrjĂ¤lĂ¤ <ville.syrjala@linux.intel.com>
  Vinay Belgaumkar <vinay.belgaumkar@intel.com>
  Vlad Buslov <vladbu@nvidia.com>
  Wander Lairson Costa <wander@redhat.com>
  Wei Chen <harperchen1110@gmail.com>
  Xia Fukun <xiafukun@huawei.com>
  Xiang Yang <xiangyang3@huawei.com>
  Xiaolei Wang <xiaolei.wang@windriver.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yangtao Li <frank.li@vivo.com>
  Yibin Ding <yibin.ding@unisoc.com>
  Yogesh Hegde <yogi.kernel@gmail.com>
  Zev Weiss <zev@bewilderbeest.net>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhengchao Shao <shaozhengchao@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-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   4853c74bd7ab..d4ddefee5160  d4ddefee5160dc477d0e30c9d7a10ce8861c3007 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 14:48:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 14:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587053.918397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXNFA-0004Ts-3X; Sat, 19 Aug 2023 14:48:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587053.918397; Sat, 19 Aug 2023 14:48:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXNF9-0004Tl-VN; Sat, 19 Aug 2023 14:47:59 +0000
Received: by outflank-mailman (input) for mailman id 587053;
 Sat, 19 Aug 2023 14: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 1qXNF8-0004Tb-4X; Sat, 19 Aug 2023 14: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 1qXNF8-0008AE-1y; Sat, 19 Aug 2023 14: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 1qXNF7-0005cO-L8; Sat, 19 Aug 2023 14:47:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXNF7-00072i-Kk; Sat, 19 Aug 2023 14:47:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uZBJCmpWmyr6iNMRNQdcku0z+F6Epw66HwPvH/1Dp1w=; b=NL++MAtMB9sEGm0+2eKHlZzUf4
	loU/pQhlaygWETWNWDFGMQtyGdL5ppOmn+3CHxssdH2XzpkeTDh+gSwfvyZPlJgXe0NZx30jwAdu1
	9qmfGT8oYFHeSlXVEDG6JyeE9E+fVkahCAtCNrtby08g77GmuxfJGu++bulHTyWzupNs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182394-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182394: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b2865c2b6f164d2c379177cdd1cb200e4eaba549
X-Osstest-Versions-That:
    xen=5cd6585177e99947a5f62345edbe657663ad9fcc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 14:47:57 +0000

flight 182394 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182394/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182387
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182387
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182387
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182387
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182387
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182387
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182387
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182387
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182387
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182387
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182387
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182387
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  b2865c2b6f164d2c379177cdd1cb200e4eaba549
baseline version:
 xen                  5cd6585177e99947a5f62345edbe657663ad9fcc

Last test of basis   182387  2023-08-18 18:08:44 Z    0 days
Testing same since   182394  2023-08-19 05:06:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jinoh Kang <jinoh.kang.kr@gmail.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5cd6585177..b2865c2b6f  b2865c2b6f164d2c379177cdd1cb200e4eaba549 -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 19 15:00:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 15:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587064.918405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXNRC-00074K-8W; Sat, 19 Aug 2023 15:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587064.918405; Sat, 19 Aug 2023 15: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 1qXNRC-00074D-5s; Sat, 19 Aug 2023 15:00:26 +0000
Received: by outflank-mailman (input) for mailman id 587064;
 Sat, 19 Aug 2023 15: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=drps=EE=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qXNRA-000746-De
 for xen-devel@lists.xenproject.org; Sat, 19 Aug 2023 15:00:24 +0000
Received: from mail-oi1-x235.google.com (mail-oi1-x235.google.com
 [2607:f8b0:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1eec4d2d-3ea1-11ee-877e-cb3800f73035;
 Sat, 19 Aug 2023 17:00:23 +0200 (CEST)
Received: by mail-oi1-x235.google.com with SMTP id
 5614622812f47-3a76cbd4bbfso1324543b6e.3
 for <xen-devel@lists.xenproject.org>; Sat, 19 Aug 2023 08:00:23 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 ff17-20020a056a002f5100b0068713008f98sm3286260pfb.129.2023.08.19.08.00.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 19 Aug 2023 08:00:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1eec4d2d-3ea1-11ee-877e-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692457222; x=1693062022;
        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=ovKoIVT6BwtqLiCJEBaRoz3aMugrFyQ7y69ihWvWmQQ=;
        b=TOgyAOQai5VElim3UpX4kzHAVHkuwgRj3qT2RdJ9DspEohZDqhwRoBQvHUirBZoKoO
         0QkdbNzdFkDca7LweZI4cbEdF+AacOwcNmbHtYjsQosen/81c3tV+EAhyuZeAHT1vGt8
         kcQOyMKye+U5B2095yzgi2dUfDTCpnP9Kl75iJ/J/x38Xalrg5d7puDCBoO0VJ6BGHsb
         ttOYaCvaIfG5RvXc1mk2ys7sb9HlrdBsvZyS1Qy0kw6Nlbaex0ZHvjr4v5gGvDpfFofX
         h3nxn56Sf2QvdbTWB0jAA9MUXQL18shLPo/stvw5gLJSe7c4y4Vl79oHdOroIj2wWsiF
         yZ3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692457222; x=1693062022;
        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=ovKoIVT6BwtqLiCJEBaRoz3aMugrFyQ7y69ihWvWmQQ=;
        b=JJ9YNql6C9UbSXUvu4sWVtMIz+UtfrxNGnH16Q9MJmbfZk6UQJdbaEG+PezLXsjZpl
         kPNTCVQpDYQpCfcDxbMv/734qtdCwydAmDMhfDkDDEfPUf/2M/juWKgsnkHSi7Zsryq0
         7X3JKkNEjNKh9AvBLiRfzmMHM5YQ7u69QGqa14T/ixuRp/N4rmh5HNSyvA8RQn2Sopmt
         yCgtr7mCIX4cKhcI84pjD5ez9MPyPFOcV0JEt42ghVJpi4Fy5sF4EOI8sNq9jBnT2bhl
         nqy3BFdBZ6CSFu8rHWs2jReyQ2Mg5H5l5fo+xfDwmvyxJ7ax/WssOUU6kqxVfqGswQ+M
         XVQw==
X-Gm-Message-State: AOJu0YwvHTHdWHNvcs5eeT8nRe5t7kA4fepu+BJUAlEFJFYYPKI3BE5Y
	W4xfEhN89EbZU/bAS5dSGzQ=
X-Google-Smtp-Source: AGHT+IGsNplZnTxR7oOLWyMdO7mUlpH2uS/X3z12NlMhZiQIB1kfEcmxgxZnshkgXI4vvtdOghOqpg==
X-Received: by 2002:a54:4515:0:b0:3a7:b011:8960 with SMTP id l21-20020a544515000000b003a7b0118960mr2756132oil.40.1692457221943;
        Sat, 19 Aug 2023 08:00:21 -0700 (PDT)
Message-ID: <3e7b0517-2c05-99ba-e13f-5d14f512fa9f@gmail.com>
Date: Sun, 20 Aug 2023 00:00:14 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 0/6] x86/debug: fix guest dr6 value for single stepping
 and HW breakpoints
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>
References: <ca40fdab-fbe4-8679-9f7c-194d54a7ef34@gmail.com>
 <70c18a3b-452d-9d5a-1781-95a742db496a@citrix.com>
Content-Language: en-US
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
In-Reply-To: <70c18a3b-452d-9d5a-1781-95a742db496a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 8/19/23 05:22, Andrew Cooper wrote:
> I suspect what we'll need to do is combine parts of your series and
> parts of mine.Â  I never got around to fixing the introspection bugs in
> mine (that's a far larger task to do nicely), and yours is more targetted.

Unless I've done something wrong, your debug-fixes-v1 when rebased to master
seems to fix my problem, so I guess your patchset is the superset.

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Sat Aug 19 22:33:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 Aug 2023 22:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587075.918416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXUVE-0003Eq-9y; Sat, 19 Aug 2023 22:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587075.918416; Sat, 19 Aug 2023 22:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXUVE-0003Ej-6T; Sat, 19 Aug 2023 22:33:04 +0000
Received: by outflank-mailman (input) for mailman id 587075;
 Sat, 19 Aug 2023 22:33: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 1qXUVD-0003EZ-AH; Sat, 19 Aug 2023 22:33: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 1qXUVD-000288-2c; Sat, 19 Aug 2023 22:33: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 1qXUVC-0002GF-GC; Sat, 19 Aug 2023 22:33:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXUVC-0005xZ-Fi; Sat, 19 Aug 2023 22:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sXUbWg+87RrDgYNHsah3eZKi5yWeOimrNSlq4xb5oZY=; b=QjZ4AsGrJ/2lXyNzQP0ccKlZp1
	bieUjSWTGlYWLxa5Ld3sZIceDxCq7oyPFDL9qkdm0+Jb+z8k6u3DrDXC68soYY2tl3T2NH1SbpeyT
	/GCHv0kaMeN+BdCqBEXawNmmDbGd28aCQyJ5DIWf1UwTe0zCdzFrhSe2TITb9zhl4c1s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182396-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182396: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=aa9ea98cca3a56869df1dc6347f3e3bfe0c01f44
X-Osstest-Versions-That:
    linux=d4ddefee5160dc477d0e30c9d7a10ce8861c3007
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 19 Aug 2023 22:33:02 +0000

flight 182396 linux-linus real [real]
flight 182398 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182396/
http://logs.test-lab.xenproject.org/osstest/logs/182398/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvhv2-intel 20 guest-localmigrate/x10 fail pass in 182398-retest
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 182398-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182398-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182398-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182391
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182391
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182391
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182391
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182391
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182391
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182391
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182391
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                aa9ea98cca3a56869df1dc6347f3e3bfe0c01f44
baseline version:
 linux                d4ddefee5160dc477d0e30c9d7a10ce8861c3007

Last test of basis   182391  2023-08-19 01:56:54 Z    0 days
Testing same since   182396  2023-08-19 12:40:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Chen-Yu Tsai <wenst@chromium.org>
  Fabio Estevam <festevam@denx.de>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Nathan Chancellor <nathan@kernel.org>
  Nathan Lynch <nathanl@linux.ibm.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Sean Christopherson <seanjc@google.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   d4ddefee5160..aa9ea98cca3a  aa9ea98cca3a56869df1dc6347f3e3bfe0c01f44 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Aug 20 00:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 Aug 2023 00:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587084.918426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXWEX-0007B2-KP; Sun, 20 Aug 2023 00:23:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587084.918426; Sun, 20 Aug 2023 00: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 1qXWEX-0007Av-Hf; Sun, 20 Aug 2023 00:23:57 +0000
Received: by outflank-mailman (input) for mailman id 587084;
 Sun, 20 Aug 2023 00:23: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 1qXWEV-0007Al-JC; Sun, 20 Aug 2023 00:23: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 1qXWEV-0005Aa-G0; Sun, 20 Aug 2023 00:23: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 1qXWEU-0007Da-UF; Sun, 20 Aug 2023 00:23:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXWEU-0000lc-Tk; Sun, 20 Aug 2023 00:23:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R2agnu3fNug6vPIF5S/kQboBzqqRthaXdL9KTHEuPQo=; b=KA4V240QrVwhoDvDIq8qEQRg6o
	NpsX1sdppiVrx3DQ2iScMhWt2d4VIbFhbIH+NYeaNRyCCoEs8LlsPLS5nGawWbMny2x8bBjQME0hW
	2PvAgoDqCxi2DVaG5cOzyujB2YcfbLmv+rDwBE5dZRLbDKU1PmwRX8Ht/LoGle20TR5I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182397-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182397: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
X-Osstest-Versions-That:
    xen=b2865c2b6f164d2c379177cdd1cb200e4eaba549
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 20 Aug 2023 00:23:54 +0000

flight 182397 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182397/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 182394
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 182394
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 182394

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182394
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f
baseline version:
 xen                  b2865c2b6f164d2c379177cdd1cb200e4eaba549

Last test of basis   182394  2023-08-19 05:06:18 Z    0 days
Testing same since   182397  2023-08-19 15:10:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 broken  
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm host-install(5)

Not pushing.

------------------------------------------------------------
commit bf0bd6cf590a0a1b29845289159f0a17d5e4064f
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Thu Aug 17 11:55:42 2023 +0200

    misra: add more entires to exclude-list.json
    
    Add entries to the exclude-list.json for those files that need to be
    excluded from the analysis scan.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 6775d81325f7e3ac91c565582d9d7940dc2d1cfb
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Thu Aug 17 11:42:55 2023 +0200

    automation/eclair: update configuration
    
    Mark more files as "adopted" and configure Rule 8.3 in order to:
    - exclude violations involving the type ret_t;
    - exclude violations involving both an internal and an external file,
      thus avoiding touching adopted code.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 20 08:41:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 Aug 2023 08:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587101.918437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXe09-00031O-45; Sun, 20 Aug 2023 08:41:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587101.918437; Sun, 20 Aug 2023 08: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 1qXe08-00031H-UV; Sun, 20 Aug 2023 08:41:36 +0000
Received: by outflank-mailman (input) for mailman id 587101;
 Sun, 20 Aug 2023 08:41:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXe07-000317-O3; Sun, 20 Aug 2023 08:41: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 1qXe07-0003hA-LE; Sun, 20 Aug 2023 08:41: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 1qXe07-0007Ek-4H; Sun, 20 Aug 2023 08:41:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXe07-0000vc-3g; Sun, 20 Aug 2023 08:41:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KbDsl/bTmCu3n3elTgcV2Q5C/g3QmRlIv9l82XRNjsw=; b=rtU7JIamQRPDxTEKQi0p5LiT0Y
	hFfiSurg7fyt/xGBmTFTx3qWY/KhlNQDcVZN4Kowzgem7pHEkU21zKEmhWcWPZDbb2oCyef+t50i8
	KhtI/+HhmrYjLpznZM3nglkO1R5E80A2OxXAHXRAytCoPxfqXX9chEavKvJo1UucytIw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182399-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182399: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=9e6c269de404bef2fb50b9407e988083a0805e3b
X-Osstest-Versions-That:
    linux=aa9ea98cca3a56869df1dc6347f3e3bfe0c01f44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 20 Aug 2023 08:41:35 +0000

flight 182399 linux-linus real [real]
flight 182401 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182399/
http://logs.test-lab.xenproject.org/osstest/logs/182401/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail pass in 182401-retest
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 182401-retest
 test-amd64-amd64-xl-qemut-ws16-amd64 18 guest-localmigrate/x10 fail pass in 182401-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 182396

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop  fail in 182401 like 182396
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182396
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182396
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182396
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182396
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182396
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182396
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182396
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                9e6c269de404bef2fb50b9407e988083a0805e3b
baseline version:
 linux                aa9ea98cca3a56869df1dc6347f3e3bfe0c01f44

Last test of basis   182396  2023-08-19 12:40:04 Z    0 days
Testing same since   182399  2023-08-19 22:41:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akhil R <akhilrajeev@nvidia.com>
  Anand Jain <anand.jain@oracle.com>
  Andi Shyti <andi.shyti@kernel.org>
  Atul Raut <rauji.raut@gmail.com>
  Carlos Song <carlos.song@nxp.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Chris Mason <clm@fb.com>
  Chuck Lever <chuck.lever@oracle.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  David Sterba <dsterba@suse.com>
  Dong Aisheng <Aisheng.dong@nxp.com>
  Filipe Manana <fdmanana@suse.com>
  Helge Deller <deller@gmx.de>
  Jack Wang <jinpu.wang@ionos.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Josef Bacik <josef@toxicpanda.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Ming Lei <ming.lei@redhat.com>
  Parker Newman <pnewman@connecttech.com>
  Quan Nguyen <quan@os.amperecomputing.com>
  Ray Jui <ray.jui@broadcom.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
  Tam Nguyen <tamnguyenchi@os.amperecomputing.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  Wolfram Sang <wsa@kernel.org>
  xiaoshoukui <xiaoshoukui@gmail.com>
  xiaoshoukui <xiaoshoukui@ruijie.com.cn>
  Yicong Yang <yangyicong@hisilicon.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhu Wang <wangzhu9@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                    fail    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   aa9ea98cca3a..9e6c269de404  9e6c269de404bef2fb50b9407e988083a0805e3b -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Aug 20 10:28:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 Aug 2023 10:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587110.918446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXffG-0005Wf-7P; Sun, 20 Aug 2023 10:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587110.918446; Sun, 20 Aug 2023 10:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXffG-0005WY-4V; Sun, 20 Aug 2023 10:28:10 +0000
Received: by outflank-mailman (input) for mailman id 587110;
 Sun, 20 Aug 2023 10:28: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 1qXffF-0005WO-3L; Sun, 20 Aug 2023 10:28: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 1qXffE-0005xU-Vu; Sun, 20 Aug 2023 10:28: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 1qXffE-0003ji-8T; Sun, 20 Aug 2023 10:28:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXffE-00051w-7e; Sun, 20 Aug 2023 10:28: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=HWTy0zeGrfaRneTY8pHOa414PlH/hTdvtiyNhYgt5+M=; b=l/UJ4oVnODJB17amOCx3HTMq6f
	fn59/lHncZwMdl+QZE8B4nv7mkSWhWnasoXHsff5hIQ6Hbyj3/PX2WYq8RIssIcdnDnnWPf5jxgrK
	B/mKpr5cGy7Ol4WukyDiBK4ey3VxjT1Z8BsPEMzNtud1m5VZohOFngQx414tdcqYENKI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182400-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182400: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
X-Osstest-Versions-That:
    xen=b2865c2b6f164d2c379177cdd1cb200e4eaba549
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 20 Aug 2023 10:28:08 +0000

flight 182400 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182400/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>  broken in 182397
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 182394

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 5 host-install(5) broken in 182397 pass in 182400
 test-amd64-i386-xl-qemuu-ovmf-amd64 7 xen-install fail in 182397 pass in 182400
 test-amd64-i386-examine-bios  6 xen-install                fail pass in 182397

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182394
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-armhf-armhf-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f
baseline version:
 xen                  b2865c2b6f164d2c379177cdd1cb200e4eaba549

Last test of basis   182394  2023-08-19 05:06:18 Z    1 days
Testing same since   182397  2023-08-19 15:10:32 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm broken

Not pushing.

------------------------------------------------------------
commit bf0bd6cf590a0a1b29845289159f0a17d5e4064f
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Thu Aug 17 11:55:42 2023 +0200

    misra: add more entires to exclude-list.json
    
    Add entries to the exclude-list.json for those files that need to be
    excluded from the analysis scan.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 6775d81325f7e3ac91c565582d9d7940dc2d1cfb
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Thu Aug 17 11:42:55 2023 +0200

    automation/eclair: update configuration
    
    Mark more files as "adopted" and configure Rule 8.3 in order to:
    - exclude violations involving the type ret_t;
    - exclude violations involving both an internal and an external file,
      thus avoiding touching adopted code.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 20 18:08:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 Aug 2023 18:08:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587158.918473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXmqs-0003tn-28; Sun, 20 Aug 2023 18:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587158.918473; Sun, 20 Aug 2023 18:08:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXmqr-0003tg-UW; Sun, 20 Aug 2023 18:08:37 +0000
Received: by outflank-mailman (input) for mailman id 587158;
 Sun, 20 Aug 2023 18:08: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 1qXmqq-0003tW-7a; Sun, 20 Aug 2023 18:08: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 1qXmqq-00005f-4I; Sun, 20 Aug 2023 18:08: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 1qXmqp-0006bi-J5; Sun, 20 Aug 2023 18:08:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXmqp-0008T2-Ie; Sun, 20 Aug 2023 18:08: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=wE+jhOCumjLMCD/GmNw59daoeAUgpL1sETmo074UTWM=; b=vmVzxNNXrrMfTOLMCvw8Y8O1VZ
	bwM3jmoBI0ah2pNJ7HSUD2BpDqWfHO9wTpWN44La8K3z+C32fbsHs3yQvq9VBVEQySwKG2vAYztw3
	Pkm/rVATbm/KNzW2vSwFfu11NSCRqJtoaR8DFCWXgZp/t8trtz5JbUoaI5XfvahU/GF4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182402-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182402: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=b320441c04c9bea76cbee1196ae55c20288fd7a6
X-Osstest-Versions-That:
    linux=9e6c269de404bef2fb50b9407e988083a0805e3b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 20 Aug 2023 18:08:35 +0000

flight 182402 linux-linus real [real]
flight 182404 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182402/
http://logs.test-lab.xenproject.org/osstest/logs/182404/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 182399

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 182404-retest
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 182404-retest
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail pass in 182404-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop      fail blocked in 182399
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182399
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                b320441c04c9bea76cbee1196ae55c20288fd7a6
baseline version:
 linux                9e6c269de404bef2fb50b9407e988083a0805e3b

Last test of basis   182399  2023-08-19 22:41:54 Z    0 days
Testing same since   182402  2023-08-20 08:42:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  GĂ¼nther Noack <gnoack3000@gmail.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Jiri Slaby (SUSE) <jirislaby@kernel.org>
  Jiri Slaby <jirislaby@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miguel Ojeda <ojeda@kernel.org>
  Qingsong Chen <changxian.cqs@antgroup.com>
  Qiumiao Zhang <zhangqiumiao1@huawei.com>
  Sherry Sun <sherry.sun@nxp.com>
  Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
  Tony Lindgren <tony@atomide.com>
  Yi Yang <yiyang13@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        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 414 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 20 20:33:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 Aug 2023 20:33:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587169.918491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXp7H-0002xp-8G; Sun, 20 Aug 2023 20:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587169.918491; Sun, 20 Aug 2023 20: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 1qXp7H-0002xi-3G; Sun, 20 Aug 2023 20:33:43 +0000
Received: by outflank-mailman (input) for mailman id 587169;
 Sun, 20 Aug 2023 20:33: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 1qXp7G-0002xU-0u; Sun, 20 Aug 2023 20:33: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 1qXp7F-0003iY-UP; Sun, 20 Aug 2023 20:33: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 1qXp7F-0003Nr-Dw; Sun, 20 Aug 2023 20:33:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXp7F-0001CL-DW; Sun, 20 Aug 2023 20:33:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f8ezqSxl0Fwd6WG+U9FTQjUd9sn5LD74dJEvEg89OhE=; b=NNd458uAwsmNvsoUWedRP/E3HR
	cgF3pJSjjlvK1h29HXxQ+6iamHczTJPampkyC2tMQmIczkIK/B5E5pU4FBt/CIL9eJ+b7TRx08sHi
	IGzDEPDI+p0cKabPybzZ7spu3ZJCWceZAjB77bfAA9ymkG6IuhHHRsLTpL9IA5VP+Kjw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182403-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182403: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
X-Osstest-Versions-That:
    xen=b2865c2b6f164d2c379177cdd1cb200e4eaba549
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 20 Aug 2023 20:33:41 +0000

flight 182403 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182403/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-bios  6 xen-install      fail in 182400 pass in 182403
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 182400 pass in 182403
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 182400
 test-amd64-i386-libvirt-pair 10 xen-install/src_host       fail pass in 182400

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182394
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182394
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182394
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182394
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-armhf-armhf-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f
baseline version:
 xen                  b2865c2b6f164d2c379177cdd1cb200e4eaba549

Last test of basis   182394  2023-08-19 05:06:18 Z    1 days
Testing same since   182397  2023-08-19 15:10:32 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b2865c2b6f..bf0bd6cf59  bf0bd6cf590a0a1b29845289159f0a17d5e4064f -> master


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 01:29:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 01:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587179.918501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXtiy-0001yS-Fp; Mon, 21 Aug 2023 01:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587179.918501; Mon, 21 Aug 2023 01: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 1qXtiy-0001yK-AF; Mon, 21 Aug 2023 01:28:56 +0000
Received: by outflank-mailman (input) for mailman id 587179;
 Mon, 21 Aug 2023 01:28: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=BS7F=EG=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qXtix-0001yE-H1
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 01:28:55 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1456d1cf-3fc2-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 03:28:51 +0200 (CEST)
Received: from BYAPR05CA0066.namprd05.prod.outlook.com (2603:10b6:a03:74::43)
 by PH7PR12MB6657.namprd12.prod.outlook.com (2603:10b6:510:1fe::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 01:28:45 +0000
Received: from CO1PEPF000042A7.namprd03.prod.outlook.com
 (2603:10b6:a03:74:cafe::d) by BYAPR05CA0066.outlook.office365.com
 (2603:10b6:a03:74::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6723.10 via Frontend
 Transport; Mon, 21 Aug 2023 01:28:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 01:28:44 +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.27; Sun, 20 Aug
 2023 20:28:43 -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.27; Sun, 20 Aug
 2023 20:28:43 -0500
Received: from [172.22.191.126] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Sun, 20 Aug 2023 20: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: 1456d1cf-3fc2-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ofyfXaaY1hZkpz/zJMRnfjWtI3qF6Ryw9lWtsFnFzbjzv9pDiHjGvW5L9+ll9vd5uxD46TYKSan37c0MWU0I/HP6UyXCtau2ATgZj4WkNK1PoSrkl64ua0VEpIn+8KrlcnSvUSiHqHUGde25y6jHTqvhMHoOC/1+9PMjXS1SM1A+hhyXWYHRmfODexO4wyT4KL+dvjo0rcsoxFtgmi+DZ1QkzbsErbSu71Yi4wtvYwY5xpnPRG2NEVn8s3sRKiOP+dEe94pgKIYwvf4b0fVMbaNvslo1kXr/CfcHdkSbQmSGVXXcd1hpb1HvK6a+x5AfupiFPWwgERXVB1XX4zLLrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QawFhNY1hP7c1fV/Uccd/vDghLmwuS2+B+Tf4M2K+r8=;
 b=ftdaNS5/H2c04ps8ubabURxhmYOF8xCTkf/Xc8TRp3kJyEZdbK2VeHiuHavAiQlPYgmcBl48JzMWhYiDkUgn8s1861CjEN+FyK2TFvIk2C+3XjAVXPCapTTnBkfnm2ijZ91F7M+v6AKeyMdv03pF2eSdcUhc7+8jOwtsgL6KeI8YJp/oVECufsZx/zN8y1X59XfShoRhZY0gVq/i48WBUfQQlrMzSVk9Zp64Tg1qHGnhpArV43ekLtr1TrvAmuVqdk29BEdsUZOb7G+rQhwp0KxkatWb+msUIxCgy/G6ffwYTRgxUJO22lAC0bH/obifV4IXpwviKmcxEpSgV8vF0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QawFhNY1hP7c1fV/Uccd/vDghLmwuS2+B+Tf4M2K+r8=;
 b=RaLZr9GRb1kjm9jcDB6JT/G4VOGIR6y6+mrkJEhooJJZhdXVX5bDQ5Fq8u8rqzrvmAqefqbSwy/O/ZCPxRpkt1Jrs1Qw92MmjXHfTQhfBsYwJzt/BALYweCtk1N+l8sDyxSoHNJF21BU41tl+MzL0bjAB9AeuwAC8152qrf5+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
Message-ID: <7a0de486-9732-bc2e-3d70-ef2253caf8db@amd.com>
Date: Sun, 20 Aug 2023 21:28:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v2 1/2] xen/vpci: header: filter PCI capabilities
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
References: <20230816185035.82994-1-stewart.hildebrand@amd.com>
 <20230816185035.82994-2-stewart.hildebrand@amd.com>
 <ce7768c8-41bb-bbd8-3b6d-bf4d42ab2f3d@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ce7768c8-41bb-bbd8-3b6d-bf4d42ab2f3d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A7:EE_|PH7PR12MB6657:EE_
X-MS-Office365-Filtering-Correlation-Id: 784ce4bb-19bb-48eb-4a54-08dba1e5f5ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PQasw4r/e46N8BMvZv80VT7ezM4tNGua6cKMXYjsJVgVOgGox+JOy4p15VzEJ4iVc2gMJFdw9xAVsXGBc4C6Mw0S+xo8Rwy+yOJGzRIIU8znAB++qbBA/hcOPUot68Whd6ti+YNco5gOHgqurmyuEJQPwJMCZxFthZWZXpb+8FYMVydoM4/AipfsdJw6itp7uwdmHAjM7h03OxNggPNwizm8ZeEKZ9Um4F0KS2V+9VqXFSAJnSjTJFbhDRJTWLrpwMHMGRdU3O/DUOLGbQGjTgEY727LXM68fxHp5XPJrniuQK04Fy0gk0cJtfDv4OcHgs70hv63vzuCezGuchanhZNvI+nClA/2q2gTRIw8tarM92iruND2CWsr3Bg0XmQHnu9jer7t6Epu11btYFXRynjd5SOhkW2uWqnMUaiQits9WU6KDI7Dp/sPO8s4lPC10jCRrbtNGN7Q/w2Bs0XDtZaPxtjSG8f3Kt/c+QW+rMJYopTeFQh0KpOdq9ZdaZ3MvgnAJ0W3NKiYNhpPA/pzMTg6oStKAdSK6L6kBQ5IlpcSb3wN7pamUdcPoLA3z/3YVQqE+iB3KLJfQtWgfOPEtHea+EHaESKSi3VjfPUwO7SE9+X/4uaxooP8Ufrpi85XCYtAA8lRA7U6H6+61qCn78CUFW37rZ0WSTHrJRvUMvzvhUdDkff9uLM7VJ8Vxvk8U7WHtm3yLZhgYiAMMV8LNdrKpK11QMgRc+Q/JLpL0kf2ojvKCWXDkL8aoj8EQdj0wBMlNGWfOie5sWWRCrQ2AcH+0wmffK1hR3pHiTIxWVONo2W08kDW1LMxZaCEkFrFdb/O51DK1MOVhSGfkUl9vA==
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)(4636009)(396003)(39860400002)(136003)(346002)(376002)(186009)(1800799009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(31696002)(40480700001)(86362001)(36756003)(31686004)(356005)(40460700003)(16576012)(6916009)(316002)(70206006)(54906003)(70586007)(478600001)(41300700001)(82740400003)(81166007)(6666004)(26005)(47076005)(53546011)(426003)(336012)(36860700001)(8676002)(4326008)(2906002)(2616005)(44832011)(8936002)(5660300002)(43740500002)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 01:28:44.5014
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 784ce4bb-19bb-48eb-4a54-08dba1e5f5ce
X-MS-Exchange-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:
	CO1PEPF000042A7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6657

On 8/17/23 08:57, Jan Beulich wrote:
> On 16.08.2023 20:50, Stewart Hildebrand wrote:
>> If there are no capabilities to be exposed to the guest, a future status
>> register handler likely would want to mask the PCI_STATUS_CAP_LIST bit. See [1]
>> for a suggestion of how this might be tracked in struct vpci_header.
> 
> Can we actually get away without doing this right away? I'm not sure
> consumers are required to range check what they read from PCI_CAPABILITY_LIST.

I think you're right, this should be done right away. I'll add a status register handler with PCI_STATUS_CAP_LIST bit masking in the next version of the series. This will include a modification to vpci_write_helper() be able to handle rw1c registers properly.

>> --- a/xen/drivers/pci/pci.c
>> +++ b/xen/drivers/pci/pci.c
>> @@ -39,27 +39,27 @@ int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
>>      return 0;
>>  }
>>
>> -int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
>> +int pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos, bool (*is_match)(uint8_t),
>> +                      int *ttl)
> 
> Why plain int? When values can't go negative, respective variables generally
> want to be of unsigned types.

I'll change to unsigned int.

>>  {
>> -    u8 id;
>> -    int ttl = 48;
>> +    uint8_t id;
>>
>> -    while ( ttl-- )
>> +    while ( (*ttl)-- > 0 )
> 
> I don't see why you add "> 0" here.

I'll remove it.

>>      {
>> -        pos = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos);
>> +        pos = pci_conf_read8(sbdf, pos);
>>          if ( pos < 0x40 )
>>              break;
>>
>> -        pos &= ~3;
>> -        id = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos + PCI_CAP_LIST_ID);
>> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>>
>>          if ( id == 0xff )
>>              break;
>> -        if ( id == cap )
>> +        if ( is_match(id) )
>>              return pos;
>>
>> -        pos += PCI_CAP_LIST_NEXT;
>> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>>      }
>> +
>>      return 0;
>>  }
> 
> As said in context of v1, this function should remain usable for its
> original purpose. That, to me, includes the caller not needing to care about
> ttl. I could see you convert the original function the way you do, but under
> a new name, and then implement the original one simply in terms of this more
> general purpose function.

Will do.

> Also, while I appreciate the sbdf conversion, that wants to be a separate
> patch, which would then want to take care of the sibling functions as well.

OK, will do. To be clear, this means converting the following 4 functions to use pci_sbdf_t, along with all the call sites:
pci_find_cap_offset
pci_find_next_cap
pci_find_ext_capability
pci_find_next_ext_capability

>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -513,6 +513,18 @@ static void cf_check rom_write(
>>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>>  }
>>
>> +static bool cf_check vpci_cap_supported(uint8_t id)
>> +{
>> +    switch ( id )
>> +    {
>> +    case PCI_CAP_ID_MSI:
>> +    case PCI_CAP_ID_MSIX:
>> +        return true;
>> +    default:
>> +        return false;
>> +    }
>> +}
>> +
>>  static int cf_check init_bars(struct pci_dev *pdev)
>>  {
>>      uint16_t cmd;
>> @@ -544,6 +556,60 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>
>> +    if ( !is_hardware_domain(pdev->domain) )
>> +    {
>> +        if ( (pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST)
>> +             == 0 )
> 
> This fits on a single line when written this more commonly used way:
> 
>         if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )

I'll do this.

> Otherwise it needs wrapping differently - binary operators at a wrapping
> point belong on the earlier line in our style.
> 
>> +        {
>> +            /* RAZ/WI */
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   PCI_CAPABILITY_LIST, 1, NULL);
> 
> This last NULL is likely misleading to readers: It does not obviously
> represent the value 0 cast to void *. (Same then for the extended cap
> handler at the end.)

I'll change to (void *)0

>> +            if ( rc )
>> +                return rc;
>> +        }
>> +        else
>> +        {
>> +            /* Only expose capabilities to the guest that vPCI can handle. */
>> +            uint8_t next;
>> +            int ttl = 48;
>> +
>> +            next = pci_find_next_cap(pdev->sbdf, PCI_CAPABILITY_LIST,
>> +                                     vpci_cap_supported, &ttl);
>> +
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   PCI_CAPABILITY_LIST, 1,
>> +                                   (void *)(uintptr_t)next);
>> +            if ( rc )
>> +                return rc;
>> +
>> +            while ( next && (ttl > 0) )
> 
> Don't you need to mask off the low two bits first (rather than [only] ...

Yes, I'll fix this.

> 
>> +            {
>> +                uint8_t pos = next;
>> +
>> +                next = pci_find_next_cap(pdev->sbdf, pos + PCI_CAP_LIST_NEXT,
>> +                                         vpci_cap_supported, &ttl);
>> +
>> +                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
>> +                                       pos + PCI_CAP_LIST_ID, 1, NULL);
>> +                if ( rc )
>> +                    return rc;
>> +
>> +                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                       pos + PCI_CAP_LIST_NEXT, 1,
>> +                                       (void *)(uintptr_t)next);
>> +                if ( rc )
>> +                    return rc;
>> +
>> +                next &= ~3;
> 
> ... here)?
> 
> Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 03:37:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 03:37:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587191.918511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXvj3-00085e-DS; Mon, 21 Aug 2023 03:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587191.918511; Mon, 21 Aug 2023 03: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 1qXvj3-00085W-8K; Mon, 21 Aug 2023 03:37:09 +0000
Received: by outflank-mailman (input) for mailman id 587191;
 Mon, 21 Aug 2023 03:37:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXvj2-00085M-13; Mon, 21 Aug 2023 03:37:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qXvj1-0000Eo-SX; Mon, 21 Aug 2023 03:37: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 1qXvj1-0007Cq-Af; Mon, 21 Aug 2023 03:37:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qXvj1-0007Za-A6; Mon, 21 Aug 2023 03:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mKbQ3eAOdM7yQk9xVP5ESHmRIF6ZCXelbUsppOUDbfo=; b=JT7eR173aiHdA1jfT67cSxP+8E
	w9qbnOlPuwl3Mu22QqQ/6NHGsmEWAO5kkzq1mGFaAlZ8Moiy+LA1EC/WgvyfRzJaiXr9QBZ9/aXoV
	Y1nZQREf3A4IE0bK1+s50E851hofQkpxcBS1Az1YHSH+iAtwslebuWKgnhfe6o0FhNc8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182405-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182405: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit2:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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=706a741595047797872e669b3101429ab8d378ef
X-Osstest-Versions-That:
    linux=9e6c269de404bef2fb50b9407e988083a0805e3b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 21 Aug 2023 03:37:07 +0000

flight 182405 linux-linus real [real]
flight 182407 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182405/
http://logs.test-lab.xenproject.org/osstest/logs/182407/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2  23 guest-start.2       fail pass in 182407-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182407-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop      fail blocked in 182399
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat    fail  like 182399
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182399
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                706a741595047797872e669b3101429ab8d378ef
baseline version:
 linux                9e6c269de404bef2fb50b9407e988083a0805e3b

Last test of basis   182399  2023-08-19 22:41:54 Z    1 days
Failing since        182402  2023-08-20 08:42:51 Z    0 days    2 attempts
Testing same since   182405  2023-08-20 18:11:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  GĂ¼nther Noack <gnoack3000@gmail.com>
  Ilpo JĂ¤rvinen <ilpo.jarvinen@linux.intel.com>
  Jiri Slaby (SUSE) <jirislaby@kernel.org>
  Jiri Slaby <jirislaby@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miguel Ojeda <ojeda@kernel.org>
  Qingsong Chen <changxian.cqs@antgroup.com>
  Qiumiao Zhang <zhangqiumiao1@huawei.com>
  Sherry Sun <sherry.sun@nxp.com>
  Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
  Tony Lindgren <tony@atomide.com>
  Yi Yang <yiyang13@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                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   9e6c269de404..706a74159504  706a741595047797872e669b3101429ab8d378ef -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587204.918541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6S-0003mZ-LI; Mon, 21 Aug 2023 04:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587204.918541; Mon, 21 Aug 2023 04:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6S-0003mR-H0; Mon, 21 Aug 2023 04:01:20 +0000
Received: by outflank-mailman (input) for mailman id 587204;
 Mon, 21 Aug 2023 04:01: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=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6R-0003VX-6A
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6098f42e-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01:16 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E54652F4;
 Sun, 20 Aug 2023 21:01:56 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3255C3F740;
 Sun, 20 Aug 2023 21:01:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6098f42e-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 2/8] xen/arm: re-define a set of data structures for static shared memory region
Date: Mon, 21 Aug 2023 12:00:40 +0800
Message-Id: <20230821040046.2965665-3-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit introduces a set of separate data structures to deal with
static shared memory at different stages.

In boot-time host device tree parsing, we introduce a new structure
"struct shm_node" and a new field "shm_info" in bootinfo to describe and
store parsed shm info.
only SHMID and "nr_borrowers", which describes the number of borrower domain,
are considered here for per shm node.
We also introduce a new local global data "shm_data" in bootfdt.c, in which,
reserved memory bank is recorded together with shm node, to assist doing
shm node verification.

In order to apply above changes in acquire_nr_borrower_domain, we now use SHMID
to iterate "shminfo" to find requested shm node, then acquiring the information
of "nr_borrowers".

In the last, a new anonymized structure "shminfo", which is a array of
compound structure that contains SHMID and a "struct membank membank"
describing shared memory regions in guest address space, is created in "kinfo"
when dealing with domain information.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v1 -> v2:
- As the original "struct shm_membank" was making reserving memory more
complex and actually memory information could be still got from host Device\
Tree when dealing with domain construction, we introduce a new simple structure
"struct shm_node" in bootinfo to only store SHMID and "nr_borrowers"
- Further restrict the scope of the local variable
"struct meminfo *mem = &bootinfo.reserved_mem"
- Introduce a new local global data "shm_data" in bootfdt.c. In which, reserved
memory bank is recorded together with the shm node, to assist doing shm node
verification.
- Define a set of local variables that point to
"shm_data.shm_nodes[i].membank->start", etc, to make the code more readable.
- Use SHMID to iterate "shminfo" to find requested shm node, as we no
longer store host memory bank info in shm node.
- A new anonymized structure, which is a array of compound structure that
contains SHMID and a "struct membank membank", describing shared memory region
in guest, is introduced in "kinfo".
---
v2 -> v3:
- rebase and no changes
---
 xen/arch/arm/bootfdt.c            | 57 ++++++++++++++++++------
 xen/arch/arm/domain_build.c       | 74 +++++++++++++++----------------
 xen/arch/arm/include/asm/kernel.h |  9 +++-
 xen/arch/arm/include/asm/setup.h  | 21 +++++++--
 4 files changed, 104 insertions(+), 57 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1..66ad3ab3db 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -16,6 +16,16 @@
 #include <xsm/xsm.h>
 #include <asm/setup.h>
 
+#ifdef CONFIG_STATIC_SHM
+static __initdata struct {
+    unsigned int nr_nodes;
+    struct {
+        const struct shm_node *node;
+        const struct membank *membank;
+    } shm_nodes[NR_MEM_BANKS];
+} shm_data;
+#endif
+
 static bool __init device_tree_node_matches(const void *fdt, int node,
                                             const char *match)
 {
@@ -409,7 +419,6 @@ static int __init process_shm_node(const void *fdt, int node,
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
     paddr_t paddr, gaddr, size;
-    struct meminfo *mem = &bootinfo.reserved_mem;
     unsigned int i;
     int len;
     bool owner = false;
@@ -481,17 +490,21 @@ static int __init process_shm_node(const void *fdt, int node,
         return -EINVAL;
     }
 
-    for ( i = 0; i < mem->nr_banks; i++ )
+    for ( i = 0; i < shm_data.nr_nodes; i++ )
     {
+        paddr_t bank_start = shm_data.shm_nodes[i].membank->start;
+        paddr_t bank_size = shm_data.shm_nodes[i].membank->size;
+        const char *bank_id = shm_data.shm_nodes[i].node->shm_id;
+
         /*
          * Meet the following check:
          * 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
          */
-        if ( paddr == mem->bank[i].start && size == mem->bank[i].size )
+        if ( paddr == bank_start && size == bank_size )
         {
-            if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) == 0 )
+            if ( strncmp(shm_id, bank_id, MAX_SHM_ID_LENGTH) == 0 )
                 break;
             else
             {
@@ -503,9 +516,9 @@ static int __init process_shm_node(const void *fdt, int node,
         else
         {
             paddr_t end = paddr + size;
-            paddr_t bank_end = mem->bank[i].start + mem->bank[i].size;
+            paddr_t bank_end = bank_start + bank_size;
 
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
+            if ( (end <= paddr) || (bank_end <= bank_start) )
             {
                 printk("fdt: static shared memory region %s overflow\n", shm_id);
                 return -EINVAL;
@@ -515,7 +528,7 @@ static int __init process_shm_node(const void *fdt, int node,
                 return -EINVAL;
             else
             {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
+                if ( strcmp(shm_id, bank_id) != 0 )
                     continue;
                 else
                 {
@@ -527,16 +540,32 @@ static int __init process_shm_node(const void *fdt, int node,
         }
     }
 
-    if ( i == mem->nr_banks )
+    if ( (i == shm_data.nr_nodes) && (i == bootinfo.shminfo.nr_nodes) )
     {
-        if ( i < NR_MEM_BANKS )
+        struct meminfo *mem = &bootinfo.reserved_mem;
+
+        if ( (i < NR_MEM_BANKS) && (mem->nr_banks < NR_MEM_BANKS) )
         {
             /* 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;
-            mem->bank[mem->nr_banks].size = size;
-            mem->bank[mem->nr_banks].type = MEMBANK_STATIC_DOMAIN;
+            struct membank *membank = &mem->bank[mem->nr_banks];
+            struct shm_node *shm_node = &bootinfo.shminfo.node[i];
+
+            membank->start = paddr;
+            membank->size = size;
+            membank->type = MEMBANK_STATIC_DOMAIN;
             mem->nr_banks++;
+
+            /* Record static shared memory node info in bootinfo.shminfo */
+            safe_strcpy(shm_node->shm_id, shm_id);
+            bootinfo.shminfo.nr_nodes++;
+
+            /*
+             * Reserved memory bank is recorded together with shm
+             * node info in shm_data, to assist doing shm node verification.
+             */
+            shm_data.shm_nodes[i].node = shm_node;
+            shm_data.shm_nodes[i].membank = membank;
+            shm_data.nr_nodes++;
         }
         else
         {
@@ -549,7 +578,7 @@ static int __init process_shm_node(const void *fdt, int node,
      * to calculate the reference count.
      */
     if ( !owner )
-        mem->bank[i].nr_shm_borrowers++;
+        bootinfo.shminfo.node[i].nr_shm_borrowers++;
 
     return 0;
 }
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index ac78597bde..b639d3dc78 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -774,28 +774,25 @@ static void __init assign_static_memory_11(struct domain *d,
 }
 
 #ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
+static int __init acquire_nr_borrower_domain(const char *shm_id,
                                              unsigned long *nr_borrowers)
 {
-    unsigned int bank;
+    struct shm_node *shm_node;
+    unsigned int i;
 
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    /* Iterate to find requested static shared memory node. */
+    for ( i = 0; i < bootinfo.shminfo.nr_nodes; i++ )
     {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+        shm_node = &bootinfo.shminfo.node[i];
 
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
+        if ( strcmp(shm_id, shm_node->shm_id) == 0 )
+        {
+            *nr_borrowers = shm_node->nr_shm_borrowers;
+            return 0;
+        }
     }
 
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
+    return -EINVAL;
 }
 
 /*
@@ -859,7 +856,7 @@ static mfn_t __init acquire_shared_memory_bank(struct domain *d,
 
 static int __init assign_shared_memory(struct domain *d,
                                        paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
+                                       paddr_t gbase, const char *shm_id)
 {
     mfn_t smfn;
     int ret = 0;
@@ -893,7 +890,7 @@ 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);
+    ret = acquire_nr_borrower_domain(shm_id, &nr_borrowers);
     if ( ret )
         return ret;
 
@@ -929,13 +926,16 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
                                             paddr_t start, paddr_t size,
                                             const char *shm_id)
 {
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+    unsigned int nr_banks = kinfo->shminfo.nr_banks;
+    struct membank *membank = &kinfo->shminfo.bank[nr_banks].membank;
+
+    if ( nr_banks >= NR_MEM_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++;
+    membank->start = start;
+    membank->size = size;
+    safe_strcpy(kinfo->shminfo.bank[nr_banks].shm_id, shm_id);
+    kinfo->shminfo.nr_banks++;
 
     return 0;
 }
@@ -1019,7 +1019,7 @@ static 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,
-                                       pbase, psize, gbase);
+                                       pbase, psize, gbase, shm_id);
             if ( ret )
                 return ret;
         }
@@ -1405,12 +1405,12 @@ static int __init make_memory_node(const struct domain *d,
 static int __init make_shm_memory_node(const struct domain *d,
                                        void *fdt,
                                        int addrcells, int sizecells,
-                                       const struct meminfo *mem)
+                                       const struct kernel_info *kinfo)
 {
     unsigned int i = 0;
     int res = 0;
 
-    if ( mem->nr_banks == 0 )
+    if ( kinfo->shminfo.nr_banks == 0 )
         return -ENOENT;
 
     /*
@@ -1420,17 +1420,17 @@ static int __init make_shm_memory_node(const struct domain *d,
      */
     dt_dprintk("Create xen-shmem node\n");
 
-    for ( ; i < mem->nr_banks; i++ )
+    for ( ; i < kinfo->shminfo.nr_banks; i++ )
     {
-        uint64_t start = mem->bank[i].start;
-        uint64_t size = mem->bank[i].size;
+        uint64_t start = kinfo->shminfo.bank[i].membank.start;
+        uint64_t size = kinfo->shminfo.bank[i].membank.size;
         const char compat[] = "xen,shared-memory-v1";
         /* Worst case addrcells + sizecells */
         __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
         __be32 *cells;
         unsigned int len = (addrcells + sizecells) * sizeof(__be32);
 
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        res = domain_fdt_begin_node(fdt, "xen-shmem", start);
         if ( res )
             return res;
 
@@ -1448,7 +1448,7 @@ static int __init make_shm_memory_node(const struct domain *d,
         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", kinfo->shminfo.bank[i].shm_id);
         if ( res )
             return res;
 
@@ -1473,7 +1473,7 @@ static int __init make_shm_memory_node(const struct domain *d,
 static int __init make_shm_memory_node(const struct domain *d,
                                        void *fdt,
                                        int addrcells, int sizecells,
-                                       const struct meminfo *mem)
+                                       const struct kernel_info *kinfo)
 {
     ASSERT_UNREACHABLE();
     return -EOPNOTSUPP;
@@ -1483,13 +1483,13 @@ static int __init make_shm_memory_node(const struct domain *d,
 static int __init make_resv_memory_node(const struct domain *d,
                                         void *fdt,
                                         int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+                                        const struct kernel_info *kinfo)
 {
     int res = 0;
     /* Placeholder for reserved-memory\0 */
     const char resvbuf[16] = "reserved-memory";
 
-    if ( mem->nr_banks == 0 )
+    if ( kinfo->shminfo.nr_banks == 0 )
         /* No shared memory provided. */
         return 0;
 
@@ -1511,7 +1511,7 @@ static int __init make_resv_memory_node(const struct domain *d,
     if ( res )
         return res;
 
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    res = make_shm_memory_node(d, fdt, addrcells, sizecells, kinfo);
     if ( res )
         return res;
 
@@ -2763,8 +2763,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(d, kinfo->fdt, addrcells, sizecells, kinfo);
         if ( res )
             return res;
     }
@@ -3320,8 +3319,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(d, kinfo->fdt, addrcells, sizecells, kinfo);
     if ( ret )
         goto err;
 
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83b..590bc56f6c 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -38,7 +38,14 @@ struct kernel_info {
     void *fdt; /* flat device tree */
     paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
     struct meminfo mem;
-    struct meminfo shm_mem;
+    /* Static shared memory banks */
+    struct {
+        unsigned int nr_banks;
+        struct {
+            char shm_id[MAX_SHM_ID_LENGTH];
+            struct membank membank;
+        } bank[NR_MEM_BANKS];
+    } shminfo;
 
     /* kernel entry point */
     paddr_t entry;
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..840ef50ef5 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -50,10 +50,6 @@ 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 {
@@ -95,6 +91,17 @@ struct bootcmdlines {
     struct bootcmdline cmdline[MAX_MODULES];
 };
 
+#ifdef CONFIG_STATIC_SHM
+/*
+ * struct shm_node represents a static shared memory node shared between
+ * multiple domains, identified by the unique SHMID("xen,shm-id").
+ */
+struct shm_node {
+    char shm_id[MAX_SHM_ID_LENGTH];
+    unsigned int nr_shm_borrowers;
+};
+#endif
+
 struct bootinfo {
     struct meminfo mem;
     /* The reserved regions are only used when booting using Device-Tree */
@@ -105,6 +112,12 @@ struct bootinfo {
     struct meminfo acpi;
 #endif
     bool static_heap;
+#ifdef CONFIG_STATIC_SHM
+    struct {
+        unsigned int nr_nodes;
+        struct shm_node node[NR_MEM_BANKS];
+    } shminfo;
+#endif
 };
 
 struct map_range_data
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587202.918520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6M-0003Gk-5Q; Mon, 21 Aug 2023 04:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587202.918520; Mon, 21 Aug 2023 04: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 1qXw6M-0003Gd-2I; Mon, 21 Aug 2023 04:01:14 +0000
Received: by outflank-mailman (input) for mailman id 587202;
 Mon, 21 Aug 2023 04: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=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6K-0003GX-SM
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5c7766bc-3fd7-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 06:01: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 E4D021FB;
 Sun, 20 Aug 2023 21:01:49 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C0D2D3F740;
 Sun, 20 Aug 2023 21: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: 5c7766bc-3fd7-11ee-8782-cb3800f73035
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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: [PATCH v3 0/8] Follow-up static shared memory PART I
Date: Mon, 21 Aug 2023 12:00:38 +0800
Message-Id: <20230821040046.2965665-1-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some unsolving issues on current 4.17 static shared memory
feature[1], including:
- In order to avoid keeping growing 'membank', having the shared memory
info in separate structures is preferred.
- Missing implementation on having the host address optional in
"xen,shared-mem" property
- Removing static shared memory from extended regions
- Missing reference release on foreign superpage
- Missing "xen,offset" feature, which is introduced in Linux DOC[2]

All above objects have been divided into two parts to complete. And this
patch serie is PART I.

[1] https://lore.kernel.org/all/20220908135513.1800511-1-Penny.Zheng@arm.com/
[2] https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/xen%2Cshared-memory.txt

Penny Zheng (8):
  xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
  xen/arm: re-define a set of data structures for static shared memory
    region
  xen/arm: introduce allocate_domheap_memory and guest_physmap_memory
  xen/arm: use paddr_assigned to indicate whether host address is
    provided
  xen/arm: support static shared memory when host address not provided
  xen/arm: remove shm holes for extended regions
  xen/p2m: put reference for superpage
  xen/docs: refine docs about static shared memory

 docs/misc/arm/device-tree/booting.txt |  52 +-
 xen/arch/arm/bootfdt.c                | 125 +++--
 xen/arch/arm/domain_build.c           | 708 ++++++++++++++++++++------
 xen/arch/arm/include/asm/kernel.h     |   9 +-
 xen/arch/arm/include/asm/setup.h      |  57 ++-
 xen/arch/arm/p2m.c                    |  58 ++-
 6 files changed, 784 insertions(+), 225 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587203.918531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6Q-0003WI-D3; Mon, 21 Aug 2023 04:01:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587203.918531; Mon, 21 Aug 2023 04:01: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 1qXw6Q-0003WB-9L; Mon, 21 Aug 2023 04:01:18 +0000
Received: by outflank-mailman (input) for mailman id 587203;
 Mon, 21 Aug 2023 04:01:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6O-0003VX-AS
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5e750b8b-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01: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 498E31FB;
 Sun, 20 Aug 2023 21:01:53 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CCF7A3F740;
 Sun, 20 Aug 2023 21:01:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e750b8b-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 1/8] xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
Date: Mon, 21 Aug 2023 12:00:39 +0800
Message-Id: <20230821040046.2965665-2-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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>
---
v1 -> v2:
- new commit
---
v2 -> v3:
rebase and no change
---
 xen/arch/arm/domain_build.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 54bf5623c8..ac78597bde 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -858,7 +858,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)
 {
@@ -1020,7 +1019,6 @@ static 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.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587205.918551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6U-00043h-S2; Mon, 21 Aug 2023 04:01:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587205.918551; Mon, 21 Aug 2023 04:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6U-00043Y-Ot; Mon, 21 Aug 2023 04:01:22 +0000
Received: by outflank-mailman (input) for mailman id 587205;
 Mon, 21 Aug 2023 04: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=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6U-0003VX-53
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6289e56a-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01:20 +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 40FA11FB;
 Sun, 20 Aug 2023 21:02:00 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CED123F740;
 Sun, 20 Aug 2023 21:01:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6289e56a-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 3/8] xen/arm: introduce allocate_domheap_memory and guest_physmap_memory
Date: Mon, 21 Aug 2023 12:00:41 +0800
Message-Id: <20230821040046.2965665-4-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We split the code of allocate_bank_memory into two parts,
allocate_domheap_memory and guest_physmap_memory.

One is about allocating guest RAM from heap, which could be re-used later for
allocating static shared memory from heap when host address is not provided.
The other is building up guest P2M mapping.

We also define a set of MACRO helpers to access common fields in data
structure of "meminfo" type, e.g. "struct meminfo" is one of them, and
later new "struct shm_meminfo" is also one of them.
This kind of structures must have the following characteristics:
- an array of "struct membank"
- a member called "nr_banks" indicating current array size
- a field indicating the maximum array size
When introducing a new data structure, according callbacks with function type
"retrieve_fn" shall be defined for using MACRO helpers.
This commit defines callback "retrieve_meminfo" for data structure
"struct meminfo".

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v1 -> v2:
-  define a set of MACRO helpers to access common fields in data structure of
"meminfo" type. "struct meminfo" is one of them, and according callback
"retrieve_meminfo" is also introduced here.
- typo of changing 1ULL to 1UL
---
v2 -> v3
- rebase and no changes
---
 xen/arch/arm/domain_build.c      | 119 ++++++++++++++++++++++++-------
 xen/arch/arm/include/asm/setup.h |  33 +++++++++
 2 files changed, 127 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b639d3dc78..97f9db1175 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -99,6 +99,26 @@ int __init parse_arch_dom0_param(const char *s, const char *e)
  */
 #define DOM0_FDT_EXTRA_SIZE (128 + sizeof(struct fdt_reserve_entry))
 
+static void __init retrieve_meminfo(void *mem, unsigned int *max_mem_banks,
+                                    struct membank **bank,
+                                    unsigned int **nr_banks)
+{
+    struct meminfo *meminfo = (struct meminfo *)mem;
+
+    if ( max_mem_banks )
+        *max_mem_banks = NR_MEM_BANKS;
+
+    if ( nr_banks )
+        *nr_banks = &(meminfo->nr_banks);
+
+    if ( bank )
+        *bank = meminfo->bank;
+}
+
+retrieve_fn __initdata retrievers[MAX_MEMINFO_TYPE] = {
+    [NORMAL_MEMINFO] = retrieve_meminfo,
+};
+
 unsigned int __init dom0_max_vcpus(void)
 {
     if ( opt_dom0_max_vcpus == 0 )
@@ -413,34 +433,20 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+static bool __init allocate_domheap_memory(struct domain *d,
+                                           paddr_t tot_size,
+                                           void *mem, enum meminfo_type type)
 {
-    int res;
     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 = &kinfo->mem.bank[kinfo->mem.nr_banks];
-    bank->start = gfn_to_gaddr(sgfn);
-    bank->size = tot_size;
+    unsigned int *nr_banks = GET_NR_BANKS(mem, type);
 
     while ( tot_size > 0 )
     {
         unsigned int order = get_allocation_size(tot_size);
+        struct membank *membank;
 
         order = min(max_order, order);
-
         pg = alloc_domheap_pages(d, order, 0);
         if ( !pg )
         {
@@ -460,15 +466,78 @@ static bool __init allocate_bank_memory(struct domain *d,
             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 ( *nr_banks == MAX_MEM_BANKS(type) )
             return false;
-        }
+
+        membank = GET_MEMBANK(mem, type, *nr_banks);
+        membank->start = mfn_to_maddr(page_to_mfn(pg));
+        membank->size = 1ULL << (PAGE_SHIFT + order);
+        (*nr_banks)++;
+        tot_size -= membank->size;
+    }
+
+    return true;
+}
+
+static int __init guest_physmap_memory(struct domain *d,
+                                       void *mem, enum meminfo_type type,
+                                       gfn_t sgfn)
+{
+    unsigned int i;
+    int res;
+    unsigned int *nr_banks = GET_NR_BANKS(mem, type);
+
+    for ( i = 0; i < *nr_banks; i++ )
+    {
+        struct membank *membank = GET_MEMBANK(mem, type, i);
+        paddr_t start = membank->start;
+        paddr_t size = membank->size;
+        unsigned int order = get_order_from_bytes(size);
+
+        /* Size must be power of two */
+        BUG_ON(!size || (size & (size - 1)));
+        res = guest_physmap_add_page(d, sgfn, maddr_to_mfn(start), order);
+        if ( res )
+            return res;
 
         sgfn = gfn_add(sgfn, 1UL << order);
-        tot_size -= (1ULL << (PAGE_SHIFT + order));
+    }
+
+    return 0;
+}
+
+static bool __init allocate_bank_memory(struct domain *d,
+                                        struct kernel_info *kinfo,
+                                        gfn_t sgfn,
+                                        paddr_t total_size)
+{
+    struct membank *bank;
+    struct meminfo host = { 0 };
+
+    /*
+     * allocate_bank_memory can be called with a total_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 ( total_size == 0 )
+        return true;
+
+    bank = &kinfo->mem.bank[kinfo->mem.nr_banks];
+    bank->start = gfn_to_gaddr(sgfn);
+    bank->size = total_size;
+
+    if ( !allocate_domheap_memory(d, total_size, (void *)&host, NORMAL_MEMINFO) )
+    {
+        printk(XENLOG_ERR "Failed to allocate (%"PRIpaddr"MB) pages to %pd\n",
+               total_size >> 20, d);
+        return false;
+    }
+
+    if ( guest_physmap_memory(d, (void *)&host, NORMAL_MEMINFO, sgfn) )
+    {
+        printk(XENLOG_ERR "Failed to map (%"PRIpaddr"MB) pages to %pd\n",
+               total_size >> 20, d);
+        return false;
     }
 
     kinfo->mem.nr_banks++;
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 840ef50ef5..dba140d12f 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -57,6 +57,39 @@ struct meminfo {
     struct membank bank[NR_MEM_BANKS];
 };
 
+enum meminfo_type {
+    NORMAL_MEMINFO,
+    MAX_MEMINFO_TYPE,
+};
+
+/*
+ * Define a set of MACRO helpers to access meminfo_type, like "struct meminfo"
+ * as type of NORMAL_MEMINFO, etc.
+ * This kind of structure must have a array of "struct membank",
+ * a member called nr_banks indicating the current array size, and also a field
+ * indicating the maximum array size.
+ */
+typedef void (*retrieve_fn)(void *, unsigned int *, struct membank **,
+                            unsigned int **);
+
+#define MAX_MEM_BANKS(type) ({                              \
+    unsigned int _max_mem_banks;                            \
+    retrievers[type](NULL, &_max_mem_banks, NULL, NULL);    \
+    _max_mem_banks;                                         \
+})
+
+#define GET_MEMBANK(mem, type, index) ({                    \
+    struct membank *_bank;                                  \
+    retrievers[type]((void *)(mem), NULL, &_bank, NULL);    \
+    &(_bank[index]);                                        \
+})
+
+#define GET_NR_BANKS(mem, type) ({                          \
+    unsigned int *_nr_banks;                                \
+    retrievers[type]((void *)mem, NULL, NULL, &_nr_banks);  \
+    _nr_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
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587207.918561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6d-0004Si-9K; Mon, 21 Aug 2023 04:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587207.918561; Mon, 21 Aug 2023 04:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6d-0004SX-64; Mon, 21 Aug 2023 04:01:31 +0000
Received: by outflank-mailman (input) for mailman id 587207;
 Mon, 21 Aug 2023 04:01:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6b-0003VX-E3
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 66cbb6ce-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01:27 +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 3BDC81FB;
 Sun, 20 Aug 2023 21:02:07 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C8B823F7CE;
 Sun, 20 Aug 2023 21:01: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: 66cbb6ce-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 5/8] xen/arm: support static shared memory when host address not provided
Date: Mon, 21 Aug 2023 12:00:43 +0800
Message-Id: <20230821040046.2965665-6-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to support static shared memory when host address not provided,
we shall do the following modification:
- we shall let Xen allocate memory from heap for static shared memory
at first domain, no matter it is owner or borrower.
- In acquire_shared_memory_bank, as static shared memory has already
been allocated from heap, we shall assign them to the owner domain
using function "assign_pages".
- Function get_shm_pages_reference is created to add as many
additional reference as the number of borrowers.
- We implement a new helper "add_foreign_mapping_for_borrower" to set
up foreign memory mapping for borrower.

Instead of using multiple function parameters to deliver various shm-related
info, like host physical address, SHMID, etc, and with the introduction
of new struct "shm_memnode" to include banked host memory info, we switch to
use "shm_memnode" as function parameter to replace them all, to make codes more
clear and tidy.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v1 -> v2:
- combine commits 4 - 6 in Serie 1
- Adapt to changes of introducing "struct shm_memnode"
---
v2 -> v3
- fix infinite loop bug and bad indentation
- rebase
---
 xen/arch/arm/domain_build.c | 223 +++++++++++++++++++++++++-----------
 1 file changed, 155 insertions(+), 68 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index e37f3376a1..687420956f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -891,6 +891,11 @@ static void __init assign_static_memory_11(struct domain *d,
 }
 
 #ifdef CONFIG_STATIC_SHM
+static bool __init is_shm_allocated_from_heap(struct shm_memnode *node)
+{
+    return (node->meminfo.nr_banks != 0);
+}
+
 static int __init acquire_nr_borrower_domain(const char *shm_id,
                                              unsigned long *nr_borrowers)
 {
@@ -934,12 +939,12 @@ static struct shm_memnode * __init find_shm_memnode(const char *shm_id)
  * This function checks whether the static shared memory region is
  * already allocated to dom_io.
  */
-static bool __init is_shm_allocated_to_domio(paddr_t pbase)
+static bool __init is_shm_allocated_to_domio(struct shm_memnode *node)
 {
     struct page_info *page;
     struct domain *d;
 
-    page = maddr_to_page(pbase);
+    page = maddr_to_page(node->meminfo.bank[0].start);
     d = page_get_owner_and_reference(page);
     if ( d == NULL )
         return false;
@@ -957,67 +962,128 @@ 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)
+                                               struct shm_meminfo *meminfo,
+                                               bool paddr_assigned)
 {
-    mfn_t smfn;
-    unsigned long nr_pfns;
-    int res;
+    int res, i = 0;
 
-    /*
-     * Pages of statically shared memory shall be included
-     * into domain_tot_pages().
-     */
-    nr_pfns = PFN_DOWN(psize);
-    if ( (UINT_MAX - d->max_pages) < nr_pfns )
+    for ( ; i < meminfo->nr_banks; i++ )
     {
-        printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
-               d, nr_pfns);
-        return INVALID_MFN;
+        paddr_t pbase = meminfo->bank[i].start, psize = meminfo->bank[i].size;
+        unsigned long nr_pfns;
+
+        /*
+         * Pages of statically shared memory shall be included
+         * into domain_tot_pages().
+         */
+        nr_pfns = PFN_DOWN(psize);
+        if ( (UINT_MAX - d->max_pages) < nr_pfns )
+        {
+            printk(XENLOG_ERR "%pd: Over-allocation for d->max_pages: %lu.\n",
+                   d, nr_pfns);
+            return INVALID_MFN;
+        }
+        d->max_pages += nr_pfns;
+
+        if ( paddr_assigned )
+        {
+            res = acquire_domstatic_pages(d, maddr_to_mfn(pbase), nr_pfns, 0);
+            if ( res )
+            {
+                printk(XENLOG_ERR
+                       "%pd: failed to acquire static memory: %d.\n", d, res);
+                goto fail;
+            }
+        }
+        else
+            /*
+             * When host address is not provided, static shared memory is
+             * allocated from heap and shall be assigned to owner domain.
+             */
+            if ( assign_pages(maddr_to_page(pbase), nr_pfns, d, 0) )
+                goto fail;
     }
-    d->max_pages += nr_pfns;
 
-    smfn = maddr_to_mfn(pbase);
-    res = acquire_domstatic_pages(d, smfn, nr_pfns, 0);
-    if ( res )
+    return maddr_to_mfn(meminfo->bank[0].start);
+
+ fail:
+    while( --i >= 0 )
+        d->max_pages -= PFN_DOWN(meminfo->bank[i].size);
+    return INVALID_MFN;
+}
+
+static int __init get_shm_pages_reference(struct domain *d,
+                                          struct shm_meminfo *meminfo,
+                                          unsigned long count)
+{
+    struct page_info *page;
+    int i = 0, j;
+
+    for ( ; i < meminfo->nr_banks; i++ )
     {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
+        paddr_t pbase = meminfo->bank[i].start, psize = meminfo->bank[i].size;
+        unsigned long nr_pages = PFN_DOWN(psize);
+
+        page = maddr_to_page(pbase);
+        for ( j = 0; j < nr_pages; j++ )
+        {
+            if ( !get_page_nr(page + j, d, count) )
+            {
+                printk(XENLOG_ERR
+                       "Failed to add %lu references to page %"PRI_mfn".\n",
+                       count, mfn_x(page_to_mfn(page + j)));
+                goto fail;
+            }
+        }
     }
 
-    return smfn;
+    return 0;
+
+ fail:
+    while ( --j >= 0 )
+        put_page_nr(page + j, count);
+    while ( --i >= 0 )
+    {
+        page = maddr_to_page(meminfo->bank[i].start);
+        j = PFN_DOWN(meminfo->bank[i].size);
+        while ( --j >= 0 )
+            put_page_nr(page + j, count);
+    }
+    return -EINVAL;
 }
 
 static int __init assign_shared_memory(struct domain *d,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase, const char *shm_id)
+                                       struct shm_memnode *node, paddr_t gbase,
+                                       bool paddr_assigned)
 {
     mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
-           d, pbase, pbase + psize);
+    int ret;
+    unsigned long nr_borrowers, i;
+    struct shm_meminfo *meminfo = &node->meminfo;
 
-    smfn = acquire_shared_memory_bank(d, pbase, psize);
+    smfn = acquire_shared_memory_bank(d, meminfo, paddr_assigned);
     if ( mfn_eq(smfn, INVALID_MFN) )
         return -EINVAL;
 
-    /*
-     * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
+    for ( i = 0; i < meminfo->nr_banks; i++ )
     {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
+        paddr_t pbase = meminfo->bank[i].start, psize = meminfo->bank[i].size;
+
+        /*
+         * DOMID_IO is not auto-translated (i.e. it sees RAM 1:1). So we do
+         * not need to create mapping in the P2M.
+         */
+        if ( d != dom_io )
         {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
+            ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase),
+                                          maddr_to_mfn(pbase),
+                                          PFN_DOWN(psize));
+            if ( ret )
+            {
+                printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+                return ret;
+            }
+            gbase += psize;
         }
     }
 
@@ -1025,7 +1091,7 @@ 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(shm_id, &nr_borrowers);
+    ret = acquire_nr_borrower_domain(node->shm_id, &nr_borrowers);
     if ( ret )
         return ret;
 
@@ -1037,24 +1103,30 @@ static int __init assign_shared_memory(struct domain *d,
      * So if the borrower is created first, it will cause adding pages
      * in the P2M without reference.
      */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
+    return get_shm_pages_reference(d, meminfo, nr_borrowers);
+}
+
+static int __init add_foreign_mapping_for_borrower(struct domain *d,
+                                                   struct shm_memnode *node,
+                                                   paddr_t gbase)
+{
+    unsigned int i = 0;
+    struct shm_meminfo *meminfo = &node->meminfo;
+
+    for ( ; i < meminfo->nr_banks; i++ )
     {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
+        paddr_t pbase = meminfo->bank[i].start, psize = meminfo->bank[i].size;
+        int ret;
+
+        /* 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;
+        gbase += psize;
     }
 
     return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
 }
 
 static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
@@ -1178,7 +1250,7 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 
     dt_for_each_child_node(node, shm_node)
     {
-        paddr_t gbase, pbase, psize;
+        paddr_t gbase;
         int ret = 0;
         const char *role_str;
         const char *shm_id;
@@ -1207,15 +1279,30 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
                                          shm_id);
         if ( !shm_memnode )
             return -EINVAL;
-        pbase = shm_memnode->meminfo.bank[0].start;
-        psize = shm_memnode->meminfo.bank[0].size;
+
+        /*
+         * When host address is not provided in "xen,shared-mem",
+         * we let Xen allocate memory from heap at first domain.
+         */
+        if ( !paddr_assigned && !is_shm_allocated_from_heap(shm_memnode) )
+        {
+            if ( !allocate_domheap_memory(NULL, shm_memnode->meminfo.tot_size,
+                                          (void *)&shm_memnode->meminfo,
+                                          SHM_MEMINFO) )
+            {
+                printk(XENLOG_ERR
+                       "Failed to allocate (%"PRIpaddr"MB) pages as static shared memory from heap\n",
+                       shm_memnode->meminfo.tot_size >> 20);
+                return -EINVAL;
+            }
+        }
 
         /*
          * 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)) ||
+        if ( (owner_dom_io && !is_shm_allocated_to_domio(shm_memnode)) ||
              (!owner_dom_io && strcmp(role_str, "owner") == 0) )
         {
             /*
@@ -1223,16 +1310,14 @@ static 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,
-                                       pbase, psize, gbase, shm_id);
+                                       shm_memnode, gbase, paddr_assigned);
             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);
+            ret = add_foreign_mapping_for_borrower(d, shm_memnode, gbase);
             if ( ret )
                 return ret;
         }
@@ -1241,7 +1326,9 @@ static 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, gbase,
+                                        shm_memnode->meminfo.tot_size,
+                                        shm_memnode->shm_id);
         if ( ret )
             return ret;
     }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587208.918564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6d-0004W3-Hy; Mon, 21 Aug 2023 04:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587208.918564; Mon, 21 Aug 2023 04:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6d-0004Ug-Cw; Mon, 21 Aug 2023 04:01:31 +0000
Received: by outflank-mailman (input) for mailman id 587208;
 Mon, 21 Aug 2023 04:01:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6c-0003GX-1a
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 67bd9d06-3fd7-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 06:01: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 DFD982F4;
 Sun, 20 Aug 2023 21:02:08 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2AF343F740;
 Sun, 20 Aug 2023 21:01:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67bd9d06-3fd7-11ee-8782-cb3800f73035
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 4/8] xen/arm: use paddr_assigned to indicate whether host address is provided
Date: Mon, 21 Aug 2023 12:00:42 +0800
Message-Id: <20230821040046.2965665-5-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We use paddr_assigned to indicate whether host address is provided, by
checking the length of "xen,shared-mem" property.

The shm matching criteria shall also be adapt to cover the new scenario, by
adding when host address is not provided, if SHMID matches, the region size
must exactly match too.

During domain creation, right now, a static shared memory node could be
banked with a statically configured host memory bank, or a set of arbitrary
host memory banks allocated from heap. To cover both scenarios, we create
a new structure shm_meminfo. It is very alike meminfo, but with the maximum
array size being a smaller number NR_SHM_BANKS(16).
As "shm_meminfo" is also a new member of "enum meminfo_type", we shall implement
its own callback "retrieve_shm_meminfo" to have access to all MACRO
helpers, e.g. GET_MEMBANK(...).

Also, to make codes tidy and clear, we extract codes about parsing
"xen,shared-mem" property from function "process_shm" and move them into
a new helper "parse_shm_property".

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v1 -> v2
- In order to get allocated banked host memory info during domain creation,
we create a new structure shm_meminfo. It is very alike meminfo, with
the maximum array size being NR_SHM_BANKS. As shm_meminfo is a new
member of type meminfo_type, we shall implement its own callback
retrieve_shm_meminfo to have access to all MACRO helpers, e.g.
GET_MEMBANK(...)
- rename "acquire_shm_memnode" to "find_shm_memnode"
---
v2 -> v3
- rebase and no changes
---
 xen/arch/arm/bootfdt.c           | 100 ++++++++++-----
 xen/arch/arm/domain_build.c      | 207 +++++++++++++++++++++++++------
 xen/arch/arm/include/asm/setup.h |   3 +
 3 files changed, 243 insertions(+), 67 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 66ad3ab3db..7d86dffd45 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -21,7 +21,15 @@ static __initdata struct {
     unsigned int nr_nodes;
     struct {
         const struct shm_node *node;
-        const struct membank *membank;
+        /*
+         * For a static shared memory node, it is either banked with a reserved
+         * host memory bank, or arbitrary host memory which shall
+         * be allocated by Xen with a specified total size(tot_size).
+         */
+        union {
+            const struct membank *membank;
+            paddr_t tot_size;
+        };
     } shm_nodes[NR_MEM_BANKS];
 } shm_data;
 #endif
@@ -421,7 +429,7 @@ static int __init process_shm_node(const void *fdt, int node,
     paddr_t paddr, gaddr, size;
     unsigned int i;
     int len;
-    bool owner = false;
+    bool owner = false, paddr_assigned = true;
     const char *shm_id;
 
     if ( address_cells < 1 || size_cells < 1 )
@@ -462,7 +470,7 @@ static int __init process_shm_node(const void *fdt, int node,
     }
 
     /*
-     * xen,shared-mem = <paddr, gaddr, size>;
+     * xen,shared-mem = <paddr, gaddr, size>, and paddr could be optional
      * Memory region starting from physical address #paddr of #size shall
      * be mapped to guest physical address #gaddr as static shared memory
      * region.
@@ -473,16 +481,24 @@ static int __init process_shm_node(const void *fdt, int node,
 
     if ( len != dt_cells_to_size(address_cells + size_cells + address_cells) )
     {
+        /* paddr is not provided in "xen,shared-mem" */
         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;
+            paddr_assigned = false;
+        else
+        {
+            printk("fdt: invalid `xen,shared-mem` property.\n");
+            return -EINVAL;
+        }
     }
 
     cell = (const __be32 *)prop->data;
-    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
+    if ( !paddr_assigned )
+        device_tree_get_reg(&cell, address_cells, size_cells, &gaddr, &size);
+    else
+    {
+        device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
+        size = dt_next_cell(size_cells, &cell);
+    }
 
     if ( !size )
     {
@@ -495,23 +511,37 @@ static int __init process_shm_node(const void *fdt, int node,
         paddr_t bank_start = shm_data.shm_nodes[i].membank->start;
         paddr_t bank_size = shm_data.shm_nodes[i].membank->size;
         const char *bank_id = shm_data.shm_nodes[i].node->shm_id;
+        paddr_t tot_size = shm_data.shm_nodes[i].tot_size;
 
         /*
          * 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 == bank_start && size == bank_size )
+        if ( !paddr_assigned || ((paddr == bank_start) && (size == bank_size)) )
         {
             if ( strncmp(shm_id, bank_id, MAX_SHM_ID_LENGTH) == 0 )
-                break;
-            else
+            {
+                if ( !paddr_assigned && (size != tot_size) )
+                {
+                    printk("fdt: when host address is not provided, if xen,shm-id matches, size must stay the same too(%"PRIpaddr" -> %"PRIpaddr")\n",
+                           size, tot_size);
+                    return -EINVAL;
+                }
+            }
+            else if ( paddr_assigned )
             {
                 printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
                        shm_id);
                 return -EINVAL;
             }
+
+            /* host address is not provided, and with different SHMID. */
+            continue;
         }
         else
         {
@@ -542,37 +572,41 @@ static int __init process_shm_node(const void *fdt, int node,
 
     if ( (i == shm_data.nr_nodes) && (i == bootinfo.shminfo.nr_nodes) )
     {
-        struct meminfo *mem = &bootinfo.reserved_mem;
-
-        if ( (i < NR_MEM_BANKS) && (mem->nr_banks < NR_MEM_BANKS) )
+        if ( i < NR_MEM_BANKS )
         {
-            /* Static shared memory shall be reserved from any other use. */
-            struct membank *membank = &mem->bank[mem->nr_banks];
             struct shm_node *shm_node = &bootinfo.shminfo.node[i];
-
-            membank->start = paddr;
-            membank->size = size;
-            membank->type = MEMBANK_STATIC_DOMAIN;
-            mem->nr_banks++;
+            struct meminfo *mem = &bootinfo.reserved_mem;
 
             /* Record static shared memory node info in bootinfo.shminfo */
             safe_strcpy(shm_node->shm_id, shm_id);
             bootinfo.shminfo.nr_nodes++;
 
-            /*
-             * Reserved memory bank is recorded together with shm
-             * node info in shm_data, to assist doing shm node verification.
-             */
             shm_data.shm_nodes[i].node = shm_node;
-            shm_data.shm_nodes[i].membank = membank;
             shm_data.nr_nodes++;
+            if ( !paddr_assigned )
+                shm_data.shm_nodes[i].tot_size = size;
+            else if ( mem->nr_banks < NR_MEM_BANKS )
+            {
+                struct membank *membank = &mem->bank[mem->nr_banks];
+
+                membank->start = paddr;
+                membank->size = size;
+                membank->type = MEMBANK_STATIC_DOMAIN;
+                mem->nr_banks++;
+
+                /*
+                 * Reserved memory bank is recorded together with shm
+                 * node info in shm_data, to assist doing shm node verification.
+                 */
+                shm_data.shm_nodes[i].membank = membank;
+            }
+            else
+                goto fail;
         }
         else
-        {
-            printk("Warning: Max number of supported memory regions reached.\n");
-            return -ENOSPC;
-        }
+            goto fail;
     }
+
     /*
      * keep a count of the number of borrowers, which later may be used
      * to calculate the reference count.
@@ -581,6 +615,10 @@ static int __init process_shm_node(const void *fdt, int node,
         bootinfo.shminfo.node[i].nr_shm_borrowers++;
 
     return 0;
+
+ fail:
+    printk("Warning: Max number of supported memory regions reached\n");
+    return -ENOSPC;
 }
 #else
 static int __init process_shm_node(const void *fdt, int node,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 97f9db1175..e37f3376a1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -50,6 +50,51 @@ boolean_param("ext_regions", opt_ext_regions);
 static u64 __initdata dom0_mem;
 static bool __initdata dom0_mem_set;
 
+#ifdef CONFIG_STATIC_SHM
+#define NR_SHM_BANKS 16
+
+/*
+ * A static shared memory node could be banked with a statically
+ * configured host memory bank, or a set of arbitrary host memory
+ * banks allocated from heap.
+ */
+struct shm_meminfo {
+    unsigned int nr_banks;
+    struct membank bank[NR_SHM_BANKS];
+    paddr_t tot_size;
+};
+
+/*
+ * struct shm_memnode holds banked host memory info for a static
+ * shared memory node
+ */
+struct shm_memnode {
+    char shm_id[MAX_SHM_ID_LENGTH];
+    struct shm_meminfo meminfo;
+};
+
+static __initdata struct {
+    unsigned int nr_nodes;
+    struct shm_memnode node[NR_MEM_BANKS];
+} shm_memdata;
+
+static void __init retrieve_shm_meminfo(void *mem, unsigned int *max_mem_banks,
+                                        struct membank **bank,
+                                        unsigned int **nr_banks)
+{
+    struct shm_meminfo *meminfo = (struct shm_meminfo *)mem;
+
+    if ( max_mem_banks )
+        *max_mem_banks = NR_SHM_BANKS;
+
+    if ( nr_banks )
+        *nr_banks = &(meminfo->nr_banks);
+
+    if ( bank )
+        *bank = meminfo->bank;
+}
+#endif
+
 static int __init parse_dom0_mem(const char *s)
 {
     dom0_mem_set = true;
@@ -117,6 +162,9 @@ static void __init retrieve_meminfo(void *mem, unsigned int *max_mem_banks,
 
 retrieve_fn __initdata retrievers[MAX_MEMINFO_TYPE] = {
     [NORMAL_MEMINFO] = retrieve_meminfo,
+#ifdef CONFIG_STATIC_SHM
+    [SHM_MEMINFO] = retrieve_shm_meminfo,
+#endif
 };
 
 unsigned int __init dom0_max_vcpus(void)
@@ -864,6 +912,24 @@ static int __init acquire_nr_borrower_domain(const char *shm_id,
     return -EINVAL;
 }
 
+static struct shm_memnode * __init find_shm_memnode(const char *shm_id)
+{
+    unsigned int i;
+    struct shm_memnode *shm_memnode;
+
+    for ( i = 0 ; i < shm_memdata.nr_nodes; i++ )
+    {
+        shm_memnode = &shm_memdata.node[i];
+
+        if ( strcmp(shm_id, shm_memnode->shm_id) == 0 )
+            return shm_memnode;
+    }
+
+    shm_memnode = &shm_memdata.node[i];
+    safe_strcpy(shm_memnode->shm_id, shm_id);
+    return shm_memnode;
+}
+
 /*
  * This function checks whether the static shared memory region is
  * already allocated to dom_io.
@@ -1009,6 +1075,102 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
     return 0;
 }
 
+/* Parse "xen,shared-mem" property in static shared memory node */
+static struct shm_memnode * __init parse_shm_property(struct domain *d,
+                                    const struct dt_device_node *dt_node,
+                                    bool *paddr_assigned, paddr_t *gbase,
+                                    const char *shm_id)
+{
+    uint32_t addr_cells, size_cells;
+    const struct dt_property *prop;
+    const __be32 *cells;
+    uint32_t len;
+    unsigned int i;
+    paddr_t pbase, psize;
+    struct shm_memnode *shm_memnode;
+
+    /* xen,shared-mem = <pbase, gbase, size>; And pbase could be optional. */
+    prop = dt_find_property(dt_node, "xen,shared-mem", &len);
+    BUG_ON(!prop);
+    cells = (const __be32 *)prop->value;
+
+    addr_cells = dt_n_addr_cells(dt_node);
+    size_cells = dt_n_size_cells(dt_node);
+    if ( len != dt_cells_to_size(addr_cells + size_cells + addr_cells) )
+    {
+        /* pbase is not provided in "xen,shared-mem" */
+        if ( len == dt_cells_to_size(size_cells + addr_cells) )
+            *paddr_assigned = false;
+        else
+        {
+            printk("fdt: invalid `xen,shared-mem` property.\n");
+            return NULL;
+        }
+    }
+
+    /*
+     * If we firstly process the shared memory node with unique "xen,shm-id",
+     * we allocate a new member "shm_memnode" for it in shm_memdata.
+     */
+    shm_memnode = find_shm_memnode(shm_id);
+    BUG_ON(!shm_memnode);
+    if ( !(*paddr_assigned) )
+    {
+        device_tree_get_reg(&cells, addr_cells, size_cells, gbase, &psize);
+        if ( shm_memnode->meminfo.tot_size == 0 )
+            goto out_early1;
+        else
+            goto out_early2;
+    }
+    else
+    {
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, gbase);
+        psize = dt_read_number(cells, size_cells);
+    }
+
+    /*
+     * The static shared memory node #dt_node is banked with a
+     * statically configured host memory bank.
+     */
+    shm_memnode->meminfo.bank[0].start = pbase;
+    shm_memnode->meminfo.bank[0].size = psize;
+    shm_memnode->meminfo.nr_banks = 1;
+
+    if ( !IS_ALIGNED(pbase, PAGE_SIZE) )
+    {
+        printk("%pd: physical address 0x%"PRIpaddr" is not suitably aligned.\n",
+               d, pbase);
+        return NULL;
+    }
+
+    for ( i = 0; i < PFN_DOWN(psize); i++ )
+        if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
+        {
+            printk("%pd: invalid physical MFN 0x%"PRI_mfn"\n for static shared memory node\n",
+                   d, mfn_x(mfn_add(maddr_to_mfn(pbase), i)));
+            return NULL;
+        }
+
+ out_early1:
+    if ( !IS_ALIGNED(psize, PAGE_SIZE) )
+    {
+        printk("%pd: size 0x%"PRIpaddr" is not suitably aligned\n",
+               d, psize);
+        return NULL;
+    }
+    shm_memnode->meminfo.tot_size = psize;
+
+ out_early2:
+    if ( !IS_ALIGNED(*gbase, PAGE_SIZE) )
+    {
+        printk("%pd: guest address 0x%"PRIpaddr" is not suitably aligned.\n",
+               d, *gbase);
+        return NULL;
+    }
+
+    return shm_memnode;
+}
+
 static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
                               const struct dt_device_node *node)
 {
@@ -1016,51 +1178,17 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 
     dt_for_each_child_node(node, shm_node)
     {
-        const struct dt_property *prop;
-        const __be32 *cells;
-        uint32_t addr_cells, size_cells;
         paddr_t gbase, pbase, psize;
         int ret = 0;
-        unsigned int i;
         const char *role_str;
         const char *shm_id;
         bool owner_dom_io = true;
+        bool paddr_assigned = true;
+        struct shm_memnode *shm_memnode;
 
         if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
             continue;
 
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * TODO: 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;
-        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;
-        }
-
-        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;
-            }
-
         /*
          * "role" property is optional and if it is defined explicitly,
          * then the owner domain is not the default "dom_io" domain.
@@ -1075,6 +1203,13 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         }
         BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
 
+        shm_memnode = parse_shm_property(d, shm_node, &paddr_assigned, &gbase,
+                                         shm_id);
+        if ( !shm_memnode )
+            return -EINVAL;
+        pbase = shm_memnode->meminfo.bank[0].start;
+        psize = shm_memnode->meminfo.bank[0].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
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index dba140d12f..d607ad2723 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -59,6 +59,9 @@ struct meminfo {
 
 enum meminfo_type {
     NORMAL_MEMINFO,
+#ifdef CONFIG_STATIC_SHM
+    SHM_MEMINFO,
+#endif
     MAX_MEMINFO_TYPE,
 };
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587209.918581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6f-0004y4-03; Mon, 21 Aug 2023 04:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587209.918581; Mon, 21 Aug 2023 04:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6e-0004xV-R6; Mon, 21 Aug 2023 04:01:32 +0000
Received: by outflank-mailman (input) for mailman id 587209;
 Mon, 21 Aug 2023 04: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=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6d-0003GX-Bq
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 68b5c2a8-3fd7-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 06:01: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 8C8461FB;
 Sun, 20 Aug 2023 21:02:10 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2488D3F7CE;
 Sun, 20 Aug 2023 21:01:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68b5c2a8-3fd7-11ee-8782-cb3800f73035
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 6/8] xen/arm: remove shm holes for extended regions
Date: Mon, 21 Aug 2023 12:00:44 +0800
Message-Id: <20230821040046.2965665-7-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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>

---
v1 -> v2:
- new commit
---
v2 -> v3:
- error out non-zero res before remove_shm_holes_for_domU
- rebase
---
 xen/arch/arm/domain_build.c | 97 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 96 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 687420956f..1ab41f823e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1974,6 +1974,32 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
     return 0;
 }
 
+static int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                                           struct rangeset *rangeset)
+{
+    unsigned int i;
+
+    /* Remove static shared memory regions */
+    for ( i = 0; i < kinfo->shminfo.nr_banks; i++ )
+    {
+        struct membank membank = kinfo->shminfo.bank[i].membank;
+        paddr_t start, end;
+        int res;
+
+        start = membank.start;
+        end = membank.start + membank.size - 1;
+        res = rangeset_remove_range(rangeset, start, end);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                   start, end);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
 /*
  * 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
@@ -1982,6 +2008,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,static-shm"
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
                                     struct meminfo *ext_regions)
@@ -2058,6 +2086,14 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
         }
     }
 
+    /* Remove static shared memory regions */
+    if ( kinfo->shminfo.nr_banks != 0 )
+    {
+        res = remove_shm_from_rangeset(kinfo, mem_holes);
+        if ( res )
+            goto out;
+    }
+
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
     res = rangeset_report_ranges(mem_holes, PFN_DOWN(start), PFN_DOWN(end),
@@ -2073,6 +2109,62 @@ out:
     return res;
 }
 
+static int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                                            struct meminfo *orig_ext)
+{
+    struct rangeset *guest_holes;
+    unsigned int i = 0, tail;
+    int res;
+    paddr_t start, end;
+
+    /* No static shared memory region. */
+    if ( kinfo->shminfo.nr_banks == 0 )
+        return 0;
+
+    dt_dprintk("Remove static shared memory holes for extended regions of DomU\n");
+
+    guest_holes = rangeset_new(NULL, NULL, 0);
+    if ( !guest_holes )
+        return -ENOMEM;
+
+    for ( ; i < orig_ext->nr_banks; i++ )
+    {
+        start = orig_ext->bank[i].start;
+        end = start + orig_ext->bank[i].size - 1;
+
+        res = rangeset_add_range(guest_holes, start, end);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                   start, end);
+            goto out;
+        }
+    }
+
+    /* Remove static shared memory regions */
+    res = remove_shm_from_rangeset(kinfo, guest_holes);
+    if ( res )
+        goto out;
+
+    tail = orig_ext->nr_banks - 1;
+    start = orig_ext->bank[0].start;
+    end = orig_ext->bank[tail].start + orig_ext->bank[tail].size - 1;
+
+    /* Reset original extended regions to hold new value */
+    orig_ext->nr_banks = 0;
+    res = rangeset_report_ranges(guest_holes, start, end,
+                                 add_ext_regions, orig_ext);
+    if ( res )
+        orig_ext->nr_banks = 0;
+    else if ( !orig_ext->nr_banks )
+        res = -ENOENT;
+
+out:
+    rangeset_destroy(guest_holes);
+
+    return res;
+}
+
 static int __init find_domU_holes(const struct kernel_info *kinfo,
                                   struct meminfo *ext_regions)
 {
@@ -2100,7 +2192,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);
 }
 
 static int __init make_hypervisor_node(struct domain *d,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587212.918591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6m-0005km-9N; Mon, 21 Aug 2023 04:01:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587212.918591; Mon, 21 Aug 2023 04:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6m-0005kT-54; Mon, 21 Aug 2023 04:01:40 +0000
Received: by outflank-mailman (input) for mailman id 587212;
 Mon, 21 Aug 2023 04:01:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6l-0003VX-5m
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6caa1f95-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01:37 +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 37E501FB;
 Sun, 20 Aug 2023 21:02:17 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C50573F7CE;
 Sun, 20 Aug 2023 21:01:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6caa1f95-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 8/8] xen/docs: refine docs about static shared memory
Date: Mon, 21 Aug 2023 12:00:46 +0800
Message-Id: <20230821040046.2965665-9-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit amends docs(docs/misc/arm/device-tree/booting.txt) to include the
new scenario where host address is not provided in "xen,shared-mem" property,
and we also add a new example to explain in detail.

We also fix some buggy info in the docs, like SHMID is "my-shared-mem-1",
not "0x1".

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v1 -> v2:
- no new changes
---
v2 -> v3
- rebase and no change
---
 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 bbd955e9c2..ac4bad6fe5 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.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 04:01:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 04:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587218.918601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6o-00067L-Ih; Mon, 21 Aug 2023 04:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587218.918601; Mon, 21 Aug 2023 04:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXw6o-00066s-DY; Mon, 21 Aug 2023 04:01:42 +0000
Received: by outflank-mailman (input) for mailman id 587218;
 Mon, 21 Aug 2023 04:01:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Scea=EG=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qXw6n-0003VX-16
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 04:01:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6dae723c-3fd7-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 06:01:38 +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 DC86E2F4;
 Sun, 20 Aug 2023 21:02:18 -0700 (PDT)
Received: from a011292.shanghai.arm.com (a011292.shanghai.arm.com
 [10.169.190.94])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 74B913F740;
 Sun, 20 Aug 2023 21:01:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6dae723c-3fd7-11ee-9b0c-b553b5be7939
From: Penny Zheng <Penny.Zheng@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	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>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 7/8] xen/p2m: put reference for superpage
Date: Mon, 21 Aug 2023 12:00:45 +0800
Message-Id: <20230821040046.2965665-8-Penny.Zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
References: <20230821040046.2965665-1-Penny.Zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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>
---
v1 -> v2:
- new commit
---
v2 -> v3:
- rebase and no change
---
 xen/arch/arm/p2m.c | 58 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 43 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..b7b3db005e 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -851,17 +851,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
      *
@@ -869,16 +861,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)
@@ -907,9 +936,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.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 06:27:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 06:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587280.918611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXyNn-0006Xv-2N; Mon, 21 Aug 2023 06:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587280.918611; Mon, 21 Aug 2023 06:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXyNm-0006Xo-Uj; Mon, 21 Aug 2023 06:27:22 +0000
Received: by outflank-mailman (input) for mailman id 587280;
 Mon, 21 Aug 2023 06:27:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/hii=EG=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1qXyNm-0006Xi-3F
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 06:27:22 +0000
Received: from mail-ua1-x929.google.com (mail-ua1-x929.google.com
 [2607:f8b0:4864:20::929])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c807f069-3feb-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 08:27:20 +0200 (CEST)
Received: by mail-ua1-x929.google.com with SMTP id
 a1e0cc1a2514c-799761430c2so832983241.2
 for <xen-devel@lists.xenproject.org>; Sun, 20 Aug 2023 23:27:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c807f069-3feb-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692599239; x=1693204039;
        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=d3HEhziiMoRq8W+iz0cEqn9W08+Qli95DYLv6cEuSnY=;
        b=X5paJG+12fla41xVVoY7NvDb6EtN/SVGH2deq6rIztGbwz3pthUAAPC/2J7ik0brKd
         DRsJnlT1nthvz6krd5SBg2HSqXuV0kimoaGqiWfKFFg5Gorw1LbbBve+Cbh4Ii1fxAHs
         QvVrtQdyZ1FNd01gAqDAJVt/Yd+TFbvEmrvVdhc+0tuNF/YUT7FDfpMDW5lm7cfad1RR
         si4TDmNg/La2IZDQNod8IExo+2YpiQfU3wg8hhbO1o3ZliO0lTndkkvbw3+0LmOYXo8l
         12y3SpyYznkngnURKxda8b19pNixgw557SZsg14mjubBsn0TnfAu9iRTy1nVVVqXlVMk
         rncQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692599239; x=1693204039;
        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=d3HEhziiMoRq8W+iz0cEqn9W08+Qli95DYLv6cEuSnY=;
        b=Vws2qKN8/y1eEQLXZy7kGqJS1Okz7DzZpPcuZWWRBi9U2lx64aOoWENHgqi70adC+z
         9qaJcjcB5T/4t4oxt+WWTvN9HxRyqQfTrBt5Edi0/0913wrknf2YtatRBhmo6yrhhBEr
         Vfj2kb6eQkD2DXTYC+3CDkZsXOjS6mBGsEahUjPZFVr+OrbhaPhDbuVJykUQVeyWoJS5
         MQN81OP7VlztbEMfEmwWl91tOE3wQc8s8QhCh9Rkl20p4uw2+QhlBdtbUKD/6W+jcNUz
         075pkXuTNt706Zmtfme2IawDvRemVm3ENnTyg60LQaxTcz1bJzEWUZsrEPIAsfJhC+IK
         2Utw==
X-Gm-Message-State: AOJu0YxVfUaTaSk1co/kyTEnvt2WIx+Ueiore8rHJmw7lruRnRYrZlXy
	wSQpVf41AEwdu3KsdMsJuDEc3+Fjl4R1IkbHmJdXMQ==
X-Google-Smtp-Source: AGHT+IEBFaw+H2Pu/Q7Qzq8+pmK3GmRwVJC5nABLokpWQnMzwL0+z6jwMQBoHsv+0Hgk2AEyAU6mJTJINMNy4akm0Kw=
X-Received: by 2002:a67:f603:0:b0:445:1e73:3742 with SMTP id
 k3-20020a67f603000000b004451e733742mr4748077vso.4.1692599239679; Sun, 20 Aug
 2023 23:27:19 -0700 (PDT)
MIME-Version: 1.0
References: <20230731121536.934239-1-jens.wiklander@linaro.org> <e4b538d7-447b-4b4d-8c3a-bfb452cb76a8@xen.org>
In-Reply-To: <e4b538d7-447b-4b4d-8c3a-bfb452cb76a8@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 21 Aug 2023 08:27:08 +0200
Message-ID: <CAHUa44ERDnPw_0E=KAGn7x77utObEzD7Z5q20ZNkRhgxCWKTzg@mail.gmail.com>
Subject: Re: [XEN PATCH v11 00/14] Xen FF-A mediator
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
	Marc Bonnici <marc.bonnici@arm.com>, Achin Gupta <achin.gupta@arm.com>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Henry Wang <Henry.Wang@arm.com>, Community Manager <community.manager@xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

On Fri, Aug 18, 2023 at 10:32=E2=80=AFAM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi Jens,
>
> On 31/07/2023 13:15, Jens Wiklander wrote:
> > Jens Wiklander (14):
> >    xen/arm: ffa: add direct request support
> >    xen/arm: ffa: map SPMC rx/tx buffers
> >    xen/arm: ffa: send guest events to Secure Partitions
> >    xen/arm: ffa: support mapping guest RX/TX buffers
> >    xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
> >    xen/arm: move regpair_to_uint64() and uint64_to_regpair() to regs.h
> >    xen/arm: ffa: add defines for sharing memory
> >    xen/arm: ffa: add ABI structs for sharing memory
> >    xen/arm: ffa: support sharing memory
> >    xen/arm: ffa: add support to reclaim shared memory
> >    xen/arm: ffa: improve lock granularity
> >    xen/arm: ffa: list current limitations
> >    tools: add Arm FF-A mediator
> >    docs: add Arm FF-A mediator
>
> The series is now committed. Note, I had to resolve a context conflict
> in the CHANGELOG.md.

Thanks for the update, and a big thank you to all of you who have
helped me to get this into a committable state.

Cheers,
Jens

>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 06:32:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 06:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587287.918620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXyT6-00087S-Ki; Mon, 21 Aug 2023 06:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587287.918620; Mon, 21 Aug 2023 06: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 1qXyT6-00087L-I7; Mon, 21 Aug 2023 06:32:52 +0000
Received: by outflank-mailman (input) for mailman id 587287;
 Mon, 21 Aug 2023 06: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=phPX=EG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qXyT4-00087F-VU
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 06:32:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bd8d5df-3fec-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 08:32:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB10041.eurprd04.prod.outlook.com (2603:10a6:20b:67c::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 06:32:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Mon, 21 Aug 2023
 06:32:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bd8d5df-3fec-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nObhOLZFAIvNbnLSeOJOaa3hZ6E0xqUKcpnBPRoxSSnz86Tte8eMqWVWgIRcUDKXjc5SofQerZc44yPc3ay/ITOPtCmYQtZ5rwzFAYn+YC76qLqSg5B11wJUx5772LWr3gFlZhWuoziStqYr63UnlY3gxBU2Zn7RwF50qKa7zdxR/4MgOXju0yYVoLpigr5X1JAhUkfV50GyG/km8u1Ao/79IP74rEoOgQNLALOPku/4ASoZlcDoxcLxOnRiVJfjBxlICFJEl14nnsgNcH5i/0sDK6WsmOo/bfiVV2fdKPRn88DJr0iXsr2Tj3Hmz1NFGfJwi/B9Uer7MIhfh4b/PA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Oox7X6dqDFrH8db/lL1C3csEOWheN1jNkxceHeJOEA4=;
 b=XD8wvzmLS/IDs6BpuCCYmIyZFcnVbhkGz1IHGokLggV4OlP8w/82wBl2NEm295665EJxGrXnMVQUY7ZLSM4kwtCFQFS52RhQWsKnLGbv8JszGDGuIUO5jYxqkER95xPwE9IEY1JFPZGcCUt4G2mfqFF1IOODT4i08joqIMkC77qqlTxdjOOJksskix259lwPDNcTxQORJmi7pAiuexY3yRoxediJcNblAaYLU+MzbRegbzko1eov7YlkwPFOf9UaqPuJ1pstAiC9DsVO4DjKiFnVk1TXwdDoVqWkM3ThcoJn9mwXdu8WgFG1sih52kPakG9VaJePnf4ePtuUyhRHeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Oox7X6dqDFrH8db/lL1C3csEOWheN1jNkxceHeJOEA4=;
 b=nMRAEEdmjZeLUUn7xSc1vPPlSEnx+Zu96yw8CxfxrbElrjvVLGCUYFnIsMIL1K99HiuVyDl67P12+3E2EKtEV50hTP6+FXgH8+XdZi94AEN+zrbQEapQAIQbXCXvAy5t6D8noZ7fb4eEDLod2uyuXcMBS46FyLsxJ1yLhOK9XUTozX5Dyp0bLEwPlhb0aWBT5jf2XKkxEbFxvqp7MXr4qhQHdwg3LUMP6PvuN2nkJhpRnlUw69qxc3yjVsuGNXcLCW7+pMhSdjeVtAD+/K1hRbhxv5JIlESUGtM+OezawuChGMSBZaQ9lMHzgqaPoaWVLFExkY38fdYz5RIcfLtXyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <932ddc26-0cb6-07a5-b95b-1e103c0273c3@suse.com>
Date: Mon, 21 Aug 2023 08:32:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
 <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com> <ZN/MDcuo+IS0m5Cz@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZN/MDcuo+IS0m5Cz@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB10041:EE_
X-MS-Office365-Filtering-Correlation-Id: 47be8673-98a7-4577-4b38-08dba2106f1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NytVby11aNE58a54h+beBEdGwYbZHCuChmRHGRN8Yc/8bPxOri3Rw4mCuePY09Mauzz4cgkxVdbkBdHs03MGzKe72063eicoHfPCeeECEFdrQSsppKWGS1J1rIfPLPlT4/DtX2DNAYrSpz+OBMfKGC8VsQulfO6s18VBy+9epdeww2EFsZ6VoA7dclyVJlxxJi23XTy+AS91B+/5mxzMqaw+U91UrrBCj6DEw7xWskfaj0t/+c3cT6Fg2jrqvq1hvWXSK6jhaJN2GEhrPPZfw00D6EkSuk5lP4QuZs2iaWMTzbVfVAbzdsigLUqwVfTJOnI5oZrbEprcjq4PXU/WfWmx+LXvlfBXcYXwSAizIuFJCd7Km/PGdZn0ZwsB+1jfbdKxpFQP4qnSWtS3f2Hl5IpSO8+3V6N6H7HTASdqsLOVoDxr6N8Musnff4JPypo5EhMnpz37jfFm77eX3771OzZ3sZhLD27V1lS36eRLRs1DTBfXPjL2Biq6eajtoZfj9GiuZjS/S+yLoWhwjG7vRwhiC4nJNQamntNy4zgLLgyjRX3W/HntR/BQWdNFi5Mo+zzDHQFcvbOXjWpFE5pSR4RcsQhG9bYXy5zFbqSpg53l44K5S6OBQ9fbirBjkra/FWIBu8c9wiYCFeW3o+fZBg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(346002)(366004)(39860400002)(186009)(1800799009)(451199024)(6916009)(54906003)(66476007)(66556008)(66946007)(6512007)(316002)(8676002)(2616005)(8936002)(4326008)(36756003)(41300700001)(478600001)(38100700002)(53546011)(6506007)(6486002)(2906002)(83380400001)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2N5ODhXa0dsTElac1NqbTN0RWxiZWNyYklOSzhLYmFXU1FpY0xldUpmSisx?=
 =?utf-8?B?aldjdU5LNkMya1VXRk9UVzNrTkppdHRXNldRWmhrWGYyeHdBdUZCK0lmT2pt?=
 =?utf-8?B?U2UxdlVYMnJUY0RmVW1pMFJ2N1JVSmRBWDlnblo0cXB4bWR2QkluMkwxVnF3?=
 =?utf-8?B?Z2Fpd29tckRrWVNadzlKMGtDdVl1bmc2cnJpdFNpczlVWlQvbGtmdnJtN2xL?=
 =?utf-8?B?WWRkTC9sRHh3K0xXbGZybHpFUWRLTXQ0Z0Z0bGZFK2tOc1FYcUV4K1pRWXhq?=
 =?utf-8?B?OUFaQy9YRENVMVVIeFZFS0ovWDFISFNGbUtMY3MxMnI3dzJ2dFE2WU4vQTRQ?=
 =?utf-8?B?dzFDQnQ4QWVnUGdZUUdEN1JaUThjc0NMT0Y2MDdGbTQvV1ZWcXptdjlwZVNF?=
 =?utf-8?B?UVpTcWtlemxyb1hWZHpOWm5KcTN5OHNNaWx5ZjB6bWZ4Tk1VbzdpNG5obmtk?=
 =?utf-8?B?dWJMNDE3T0l6bVF5NzNHRE9say9UOFJUSzhyTUllT21YVFAwUVpRdW9nM0pY?=
 =?utf-8?B?dEZ5VXZ0VVZEbFpkc1MvZnVweDhtazdhVFZ0eFpzWS9QcEJ4bHFleGd1TzdI?=
 =?utf-8?B?UkhyMWJMOXFxZElKd2Mrb2tkMUw2a3VuOVdWdFZ1OWQxd1ZmbFFESVcydWZM?=
 =?utf-8?B?UFRUNnRBY1ZLTWZmZlVIT0Z0UmthZkFLb3hSMk1MVXdBWElrYkdhb3Q5YVRN?=
 =?utf-8?B?ZGdyU21wODFQVWl4Vm9yd3NMRE51YjFMblNodmVjM042S3BtSkh4eC9kbXRn?=
 =?utf-8?B?M2FJRnVzODVEbU5udHV4U083bEVTTGVMZWUxZGpCUDRiaUR3U0Z0SWlMdTgw?=
 =?utf-8?B?UTFpcitldFBJQWxPU3ZjNTVDWDhCa0xMRncvZDhmRncxa0g5cUkvaWZVbWkw?=
 =?utf-8?B?N3BIREE3WDkvbGhBbEx5Y1g5SXl2Y1FCajVEa0ZKOGJ1T2xmRDYvVnVYMy9G?=
 =?utf-8?B?ZitRQmVUSjRDbWlCRHhEYnUvaGZ4WDJsTTlVRkp4OEtucDdyZ2g5Q0tsVGpy?=
 =?utf-8?B?aldRUXdzN25zcFM2S0ZxZ2hod2RLb0dKK0lHQ2FZbHlhNTBCcmFCd056dXpZ?=
 =?utf-8?B?eDBuT0lJamFHQ1ZWOGx2cStSNlAyelE1dEk0VWNxL0ZKR2wyRnBsSTEzZ0lu?=
 =?utf-8?B?Ty9CT2hLQzFiSWNEYlovVXBqK0hud2VlUElUQnM2MndMY2VwWGZmbEdhOXR3?=
 =?utf-8?B?bkNQZmR0UHlFSjJYNW5IUXJab0NMWWp3TmpxdnVTVzJsZVA0RnpiUk9NQi9T?=
 =?utf-8?B?ZkY2b1VUclVOeWcySHJIcUluVTlWRExPQXNEOU9ReEFleGlENytNcXJiTjlz?=
 =?utf-8?B?UkNCS2dEcVBKWXZyYVdrY0pGMkpHL0ZRVU5YVW5rL0ljNi9GRFlHSUk5SUFy?=
 =?utf-8?B?NUtWL2ZxQUJSNGQ3clN0clJSV1BXcVRReGdCVzM3UHZkM3c2U1NpME9qOFEz?=
 =?utf-8?B?YnRxZHcwQ25VQXlvRk4yVklJRFFmM2FzYzZHQXJ0Z3BzekFSbk5JQmN6dlND?=
 =?utf-8?B?TlgrTklMZlViV0FUVlJLeTBLTVFnTmFUWWRvbVpKNWtoOTZtRThQbUM0dHNS?=
 =?utf-8?B?UURvUjVMeDM1RTM2dlhMbUNyWlhIM3QwMzVmNDE2UlZoMWlPdG45c1laaktu?=
 =?utf-8?B?cHNzSkxESHJ2MjVSY3BlZkVSU1hybGFrTktHZFFrUmJDajNreElnanBQZFR3?=
 =?utf-8?B?K29PcHdCSGthT3VpbmVpR1Q4ak9JRXFsRWxWNHhBa2o4bi9yaUsrV0tWMVJn?=
 =?utf-8?B?TE8xR3pqQVpJNjBsdEY1Vit1dHJXdTd6UHdRcUpPOGdCaHZQYU1BK2F2WHZC?=
 =?utf-8?B?VEpPQUtKV2dJZzcrUlVtdFVBZytqdkJ0bWFHckRmTncwa0hNMEY2TnJCZmlW?=
 =?utf-8?B?ZkhYK3h5cFI0RmRWM3pEUHdwRGpSUmg4cGFiUXgwaGVTdk1PaFhIZExGZWdI?=
 =?utf-8?B?TUtpSkdGR2tsZTN6Z21lbStxd0tvcDNna3g0b0IwcVAxYmxsMHg1Z2p0dERT?=
 =?utf-8?B?RzY1MWNpSnVDa1lHT0I4d0ZRM0VTSWtTNk1iaDkyRUtKSHpMVmg0QjREYW5I?=
 =?utf-8?B?UEd5MzhDVklHYTdIQjVBNk1EUXBQUG1BeWoyNGJqcUVFQm1CbHhZalNqV1pU?=
 =?utf-8?Q?S0uY4yoCuIZBMzSW4QWQ7oKO0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47be8673-98a7-4577-4b38-08dba2106f1d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:32:47.1575
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7YlFpXg/iwZ6hqGu6mKhHEpAhGOZEGOX9gIYHCCK6iRVncpifoS60FL1NiAUrGRz9noO1O5ZEC2AAUSAzC9mLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10041

On 18.08.2023 21:52, Vikram Garhwal wrote:
> On Thu, Aug 17, 2023 at 09:05:44AM +0200, Jan Beulich wrote:
>> On 17.08.2023 02:39, Vikram Garhwal wrote:
>>> --- /dev/null
>>> +++ b/xen/include/xen/iommu-private.h
>>
>> I don't think private headers should live in include/xen/. Judging from only
>> the patches I was Cc-ed on, ...
> Thank you for suggestion. Do you where can i place it then?

Irrespective of Julien's reply (potentially rendering this moot), see ...

> Please see another comment down regarding who might be using this function.
>>
>>> @@ -0,0 +1,28 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * xen/iommu-private.h
>>> + */
>>> +#ifndef __XEN_IOMMU_PRIVATE_H__
>>> +#define __XEN_IOMMU_PRIVATE_H__
>>> +
>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>> +#include <xen/device_tree.h>
>>> +
>>> +/*
>>> + * Checks if dt_device_node is assigned to a domain or not. This function
>>> + * expects to be called with dtdevs_lock acquired by caller.
>>> + */
>>> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
>>> +#endif
>>
>> ... I don't even see the need for the declaration, as the function is used
>> only from the file also defining it. But of course if there is a use
>> elsewhere (in Arm-only code, as is suggested by the description here), then
>> the header (under a suitable name) wants to live under drivers/passthrough/

... my earlier reply.

Jan

>> (and of course be included only from anywhere in that sub-tree).
>>
> This is also use in smmu.c:arm_smmu_dt_remove_device_legacy(). This is added in
> 12/19 patch(xen/smmu: Add remove_device callback for smmu_iommu ops).
> 
> I will make sure to cc you for all the patches in v9 series. I plan to send
> it today.
> 
>> Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 06:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 06:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587295.918631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXynI-0002UJ-9b; Mon, 21 Aug 2023 06:53:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587295.918631; Mon, 21 Aug 2023 06:53:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXynI-0002UC-6V; Mon, 21 Aug 2023 06:53:44 +0000
Received: by outflank-mailman (input) for mailman id 587295;
 Mon, 21 Aug 2023 06: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=phPX=EG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qXynH-0002U6-4t
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 06:53:43 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76d0bdec-3fef-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 08:53:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9776.eurprd04.prod.outlook.com (2603:10a6:10:4f0::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 06:53:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Mon, 21 Aug 2023
 06:53:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76d0bdec-3fef-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5RiF6LWgsiiK9M7ECvxVWRsXHcTa2s19F0sr8o+cdKWSf5cVzcA7N9eJcohdlZ+eHiZgTxyFwiPDHkN+937mklA4sVPNCJde6CZn7U9xpL15tFuY8dm3OCtX04udTF2sBtEg695O3hqYjczUhC8oo0RkenOVCyRsQkOxnLfxiA7Zs4fBMz7VfFVrU/CaeweD8HTr3hegvF+VUE1rJD47hecEd7qkSOURbW9EA1800rD4I7F1csiwMWsjSLnD5ogAynqIqW9Ge4b2ve+Mxks5/ojwWjCks/kB2Iy123+Xb/x8xWm8I6X7kFIlI0kcKHV0uqjvSDdH482PMJ2oHgeZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fa3FFB2fxkJ8H/dRpscRsqwJrWv1X8/QKjQcXgE4Ues=;
 b=K5A6dHGmxttic9yMFFFCfTpwt/TgpaRAzIIETK10sUUM5fsGgpWWU/UlEHxkzs9/qRVV8qyHL+52hEG++T0qnGPkn+p+cJ0n4N9nJi6LHg0xdX/kcO4OPpkJXYiGdYU3XaV3l8bpDc6bzutS35T+WP9fEpcmWcSAM6UAywfmR3XLAA5lR4YdiqZSdMT2YJd7wjrH+GsjsKI+YWLVzteLOzezUbivRdFmUbkbA+wfrEjJbKYeUjDNPMg6KYEF4UvhBpYoEoKQD4Xs+dcC1EtecLgrR/psYY/cVOgKzg3B0/6FwpsPOj1QBub3TgNZtjCCu+Offh2i48tUpRLKDpEbgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fa3FFB2fxkJ8H/dRpscRsqwJrWv1X8/QKjQcXgE4Ues=;
 b=334FjRBnPeBM+p8viDwgwpXRv3ybiokhe0lxYFX9fb5sRcpiDhY9aZ0YHO8Eo7xnlYiNfyWCrOuhUZOVelbCkmwIKjgWp5TmUKqgLwJ1I011XY5HS5ljdYKbF1WRjvHcs2sQVgAA5CNzevO2IK6MZ67cWwV+B/4doIRb9kTAGe3PNj5K8cj/7nk5kvvnPwJ3XxulDELTZ3HKZRcI2vdtkGHlJrKCUsw2FTnibJqt97we/GxfxrZlpuFsBhde6x9V0sZGZBo3znZOBIHRwmi/cw6bhlb6RZYZA/AHmtoWnLU/VjPYjfKeu8hThnRp7iO5dJyc3kkpLevgHl+TwR9RyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <86717900-39cf-c95c-46ce-f567abda00cc@suse.com>
Date: Mon, 21 Aug 2023 08:53:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v9 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-10-vikram.garhwal@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230819002850.32349-10-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0263.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9776:EE_
X-MS-Office365-Filtering-Correlation-Id: d455bc47-8cca-4fd5-11da-08dba21359b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TqxuKcrDmUQasasuooQD1GdHt0WwOCe5moxt0xXurraY0elDL844MlXEBJ2+52iTOb6TVRtUyaJ22i4VmRjRvxbYrpGxEovRVhaOD6/ENwIJwhJIQ086xgIWrorUAJtC1pPV4/hGjsT0TlaBCqgbQNb4Qr8eaESVeymXyIOTIRlFfbCG4aBKJSLPO+tM0QUD5PX+4y9rbNtRoqynQXykJZXrISdELDzfUxMAMSiaKBaU/RfdJx6C/8JzSAUD3w/yiPNI0INXFJ0hmBXfG+D5Az0jVoUahElLu6JBlFoZQVpSijypc+s+kCF5ET/qwrV1SidTl8C2kXdzipC2DcCD77FU8P7o+PWUACE93PSo55OvcYdmEJQBissuwIVkHZZyrQFG9t5QVfnnrdoX9LSyNzIa+V3f25k/nu+g66P8DMmlad+aWBN/jws3J98+0iYZ4Ux0sLHuNEcYVjWThtwynXYkm7wPXCSC4elRRM0qwkxX1pkLG/hSbEH6QpWZRSHExw8bzvSVPUf9PuNM8WxyA5lgtLI0FRXyyAPFjlF1LFcC76blzYKXECGaTL6kt5DvaJXuoFtr2z0KTz3e0Zz3CK3Ck6mKsuJUxVzI2XxoEmRaUFFW0ryBX1KIaCLbJO0vZwwgjubfv7cRlcWfkBA4Lg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(39860400002)(136003)(396003)(376002)(451199024)(186009)(1800799009)(2906002)(83380400001)(53546011)(38100700002)(6506007)(6486002)(5660300002)(26005)(86362001)(31686004)(31696002)(8676002)(2616005)(8936002)(4326008)(66946007)(316002)(6512007)(6916009)(54906003)(66556008)(66476007)(478600001)(36756003)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEdVZWhNcHB1SFBUQ1pycmVBTk1ockkxRWVCcnN3MHpOMGNrRlFYTm9JMGxk?=
 =?utf-8?B?TnlaTkk0Um85ZmlNaWdhaUxvR3BHSFd5Z2tqSmt4US9RTGMxU0JxY0ZDS0tC?=
 =?utf-8?B?R1p4bnRIYzBPU2ZmN0VodTVzREE4OUZRRCtGMVNMcFZ5cjdvMW42OVZJL2hE?=
 =?utf-8?B?UW9oUWFFMHB3WVRKMW5EKzJUc2JteHBybmpFTXdPK0FiQTgydjBVUmlLcEQ5?=
 =?utf-8?B?N1JrZnVmK1ZTdnpBSnlQaGg1bUNDRlpFamZKUzdwcGVyTndLeG92eDVJUm1y?=
 =?utf-8?B?N3RvbTVmUWkzQnJPcjB3WjJqMzFaYmJLaFNuR1ZhRWlKcnZ5d25MS0ZmWDY3?=
 =?utf-8?B?ZUJxQ2M4cjdNaEdSZTk2ek91VmVrQW1selhxTUxGYXVYTTNWdWplT1BQVkVT?=
 =?utf-8?B?TUszbWNrSVhyS2JwQ3BXRWtuQU1zRjhKVzdUTC9Ub0FoYjlIYW9HTmZaVlY4?=
 =?utf-8?B?Mm5KSzAyeDN5T21KQ3pMbGo1TVZ4d0lIenphSXlyK2lhU01uMlVHYVRFUkU2?=
 =?utf-8?B?RU1CRUgxcnFzRnFhZ0o0RWZXQ1lFTDRyelFSSzR5MjYrVXdnb0pkU0QrZEth?=
 =?utf-8?B?NFk4UWlvdzdwUGlKRVVDUlFXMjZtek9QRjNCNlZuRzlMd0dMR01jbDJaL3Bo?=
 =?utf-8?B?NzRQUTJrc0QwVVk3UXY5ZFA5a05rMFdtTDZZcWtBNXc4MUtMTXF6R3RiNnYz?=
 =?utf-8?B?K24zaUVpOUlOV3o3NWF6ZWdjTTBrSFVKQXVPMlprbUh1aHhldEFib2UyNk9K?=
 =?utf-8?B?SnJMZlAzWnNOcWVkbzBNNUVuRlpyVk1HYmU3dWUrSDMrVUZ0OXFuNUZIRlFQ?=
 =?utf-8?B?OGFQQ1hvN0JrL2s5bmV1TGtod2RpTk15TnY5YzBYTDdsUEJLcFhHVFArTzAy?=
 =?utf-8?B?L1RVZDdkMkhRTEJ1Vnl4aGZCK2xxSFc1Q2VJb05raVZXRlVYY3ExSkViSWdT?=
 =?utf-8?B?R0lEenA1ZDk2QlRkZ1IrWUh0WHZSck94R0Z3eVpkbTdkSFdnVmJtMmpTZU9O?=
 =?utf-8?B?N2VIKzBETTdBdWhyVEcvWUFmcjB3NWdqS2F2OThlMFNhK3ZneFlJTVlQelg0?=
 =?utf-8?B?QU54Z3c4amtEMTZPSkhjSXZxWlc2Q3YzMlFLUWErVThvaEpOZlNaNW8yMUVN?=
 =?utf-8?B?MExucVlrdlpJQmtkMHhZUkpQR3gvMXc2OUxBK2NzN20xUkEyWUMxN1dtZ2Mw?=
 =?utf-8?B?Ujd0UmRBK1BTb1ZES01iNURoY1prQitWbEdKKzFTRUpkdUNISm9sRzI4cHlz?=
 =?utf-8?B?VUlNSGhid1lQSkZjYmZTdXNnVjR5REo1aGJMdWdJb3NnUndHVjJxdmVYU2hz?=
 =?utf-8?B?Vi9CekdqRENnVktVWVlSTGhsU2JEaXpHTG9zT2p2UVg4QllhNU5KcTQrb29R?=
 =?utf-8?B?VVJCS1VXZ3BLRmVXQXVzdmJQdVdyTkd2YUI2TE9PMFdaMmFQZWNGT21DZ1pZ?=
 =?utf-8?B?Y05Ia01YTUl1SEtZOGVJRVA0SWJ4YjUzOHhPMzZQbExBL3ZTK0ZTZ3E1YklT?=
 =?utf-8?B?aHBOOHNkQnhRc0NOOG85c3N5T3NRb3c1bUpHY3FFVHNkaXZmd3dyNGdIbzg3?=
 =?utf-8?B?NWh6aGUwRW9jRFhQbENOQnp1K0ZXa05sdmxOQ2tJa2toWG95WFV5dFBVL1F1?=
 =?utf-8?B?NkZpYlpJSmMzczNwMndJdlJOQ1F1N3oya1lRayt6ZVRPNUJsT1RxaHF3a2ht?=
 =?utf-8?B?R1lUeEZZT0hWMStGUnVNYVdIUDR5MkllUHdZWnVQK0FZOEFFZXJ2MFNGYzJR?=
 =?utf-8?B?WFpOWXFWdHBLclFlcElhZHRMa3ZWZU5mOU42bVlkSjc0djJOM2xWZkpUcVps?=
 =?utf-8?B?QmdyNGltTW1tMjh4V2lHaHM2eGx4cVoycGFoT2hMZ0QrODVSS1p3cm54RW5t?=
 =?utf-8?B?Sm9MTWlwQ2RYSnRNU2VWeWgzU2tsQzgrZ0VuMEF5cmE5dTZidERDdVVXODJj?=
 =?utf-8?B?ckNRdE5Rbk5HYkpsNzBzV2tzMUtCMTA5OCtKa2MxdThCN0dsS29BRVY4Q1JN?=
 =?utf-8?B?STJZRlh4YnVsMXdsTHJWa0s0dkdmaHZTaG5wYysveit2WUR5emV6d2RzL1pt?=
 =?utf-8?B?U3ZYQmQ3TDJQOEl4NWJXUEZZdzk5eEUrSnZjdm9aMWE0SGNSMmpmY2RHS2Zy?=
 =?utf-8?Q?1PPz4qQr2tFRf/xCTwWOZU8IR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d455bc47-8cca-4fd5-11da-08dba21359b9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:53:40.4129
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4SRh947Y3wKIWL5F6PHOV2g3YpZb7cTvQ+PmO5eBeMp8GARHbho0wf1kvwa7bcuTlmuu8ngkdIzO696sv1/1Kw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9776

On 19.08.2023 02:28, Vikram Garhwal wrote:
> Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> Remove static type so this can also be used by SMMU drivers to check if the
> device is being used before removing.
> 
> Moving spin_lock to caller was done to prevent the concurrent access to
> iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> patches in this series introduces node add/remove feature.
> 
> Also, caller is required hold the correct lock so moved the function prototype
> to a private header.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v7:
>     Update commit message.
>     Add ASSERT().
> ---
> ---
>  xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
>  xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+), 4 deletions(-)
>  create mode 100644 xen/include/xen/iommu-private.h

I find it odd for new versions to be sent when discussion on the prior
version hasn't settled yet, and when you then also don't incorporate
the feedback given. I also find it odd to now be Cc-ed on the entire
series. Imo instead of that patches which aren't self-explanatory /
self-consistent simply need their descriptions improved (in the case
here to mention what further use of a function is intended). Yet
better would be to add declarations (and remove static) only at the
point that's actually needed. This then eliminates the risk of
subsequent changes in response to feedback (like Julien's here)
resulting in the declaration no longer being needed, thus leading to
a Misra violation (besides the general tidiness aspect).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 07:13:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 07:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587302.918641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXz5p-0005Dc-QQ; Mon, 21 Aug 2023 07:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587302.918641; Mon, 21 Aug 2023 07:12:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXz5p-0005DV-Nn; Mon, 21 Aug 2023 07:12:53 +0000
Received: by outflank-mailman (input) for mailman id 587302;
 Mon, 21 Aug 2023 07: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=phPX=EG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qXz5o-0005DP-AN
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 07:12:52 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe16::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22f73af3-3ff2-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 09:12:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7038.eurprd04.prod.outlook.com (2603:10a6:800:12d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 07:12:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Mon, 21 Aug 2023
 07:12:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22f73af3-3ff2-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=llGWVrwJyRf8+ySa7XCn3fb2TcPJJQBMWI7sakYPP8nM4ibKuC789wVOf9cqfy/0so5UuL7gUpATLt61QTC8IOKGp5fSOMpg4pBhYcVc4+P6yIqhdXj48SUZvt9gnRcl44HXchQQ3peWjawJ1+gFJVIwwHU6MT2LT/jpwPJYI7pty9ZtBawlHPTsLSGANQGxH7/OsZb3k3UjIb9Thjo5p3v1wd3Jj7CJW7wF4FxEF+sZRdm8r7V6DgC7aJh1k5y1P9MZMaQrAOB/xpi+/5BEgRV0/h20cYxTkxzmkZTFVT2dPhv5WJ/s833J4LD/iEwLUjzwAUrQ2qoEnV4XpkjvLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aD+JSGkPJBV3VIBzGn5OrL72bxp+yVyHJQ1IGIqcLE8=;
 b=RJuQP6kclIlWk+02u0/Ee9nXA5C/4U2HEftyIVnfNu4bfOS9pApksfSg60jZeNQgvoMVpxBsYUdDuof5z6r6L+6dtKx8hqMeQ0AJAEP1GIItS7gGH/+HxgX14gO4dulmtpGuJ81ZspNlRD4H7Vat2AbZISvsrVA1YPmla190qMNAs1hXzdecNyXEbwQFmhGYpHziQmrJOHeFs32ojm9JMsm+w7YjWxYPEtmsBBvXsq0cHdz5qKaCdEe6O74DWDhbUNBd18XFIqYdlzRmIRV0IDv90wNWp+VvqULoaWpbqBc4dkodzwc86yxo/apGh6YJ6pG3hLS6C1EXPbAmljWn2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aD+JSGkPJBV3VIBzGn5OrL72bxp+yVyHJQ1IGIqcLE8=;
 b=d4tB2RHLJhGtTVmLNnzBkPTFMJLllf0D+JSMHLbxnKeBHV6nnvPbpRsXhN0rarNAEm7qlKqlj5uSdZwRT+zzt3aoE/nnsr04R0vYOdp9FjgYgrUizj2wcF42glOzwwN1b0feVTpdYc5cXlg+VmWeVShrtS9fPMt9z/4HziVXwxeNOrWYjklQcbA2mfFy/QPQVqZiqKwcVCOiI3T+FF7JPhYqZOalHyEVK+662ILGhvyiSqn1J4RWc2JYJnF5PSz7LZKIZ2XBkGvYRWbGSSo4IqQkTGzfDtOuguSHtXPoNGq1gnvD9Fed9FM8Z73fIyZT5c4zG3Ms8vLRcWBXrqQOgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
Date: Mon, 21 Aug 2023 09:12:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add exceptions to rules
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230819012410.1754839-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230819012410.1754839-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0190.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7038:EE_
X-MS-Office365-Filtering-Correlation-Id: e98506f1-85ad-43e0-1ca1-08dba21604e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uPpTyL6UOn+OfGnrbWhzKq2gKNWdo9T0dAzU3kttFx64T/FWJZwzq6xfaTeS8fpCHdarrWaBu2Y7UegKa/jOuU0AKh+vFWjHYDJGq9jBHf6BKHkJuwKakZ9/bw/Z0HQjkmcyKBX1mRFu687NITzGn01T3J75dxvOtzCzs7aRFkE5qNdrVKQgfdqdkGe0NsH2IPIbczx0xnXR1tjLDLLGfZvaZXKN5iARY1DsoGXUAx/4OZ/FHcrEBu7d073pUsb5n2w95XzplEfsNgZ4CxXPS9uHRZeOwsQkoSX5pBMfHBpe/NCexXaxUrBti3gtGz+joZq8xWwMm88LWdg3zberiFqwytO0jfQlmgSgGjw2GTvdxqW0ClpGg8EDgZuxcWKrpQecxEoDZrM4j56g42c02DufuS7ilKdYxw+al3NvGtycHuKMQBgmUikuVnQm8vyOfNMBgnUzwrj7DxVGd+jfRVL68f3LzhIEW6izE8IOYnLFMYanAUvpCazEYBRtvoT8bHdOQ/3Ms60IsthVXsEMHrauzSmX+oiYC6dY0Z14hMLXoJQTjsum4sLH+Zyh7GVbYG6I8AwVQ/bUFYC6G0Z1L+/LazHq47H8UmvpFII6hpUDbPo2wmuhiVjJb996qPGltk3xlb+eqOhYKm+8t4oyPQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(366004)(39850400004)(376002)(451199024)(186009)(1800799009)(2906002)(66556008)(66476007)(6916009)(66946007)(4326008)(5660300002)(8676002)(8936002)(316002)(41300700001)(478600001)(53546011)(6486002)(6506007)(31686004)(6512007)(66899024)(26005)(2616005)(83380400001)(31696002)(38100700002)(86362001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?blBVbGgvRnpkUFVaZ2t4REdIVE9hNWJ6bXN6OEdUSUFvWlZMQW5SMkU3QytC?=
 =?utf-8?B?ZFdhaTY0M3h2MWpwYjhjYkJRSFB3UmZpTm0rQmU1TUkwdE0xMVFkcjFHanlQ?=
 =?utf-8?B?c2Rpa2VpTkRaVU92WjNYd3RsaVFtSGhwR3ZJdE1mcUdSTDI5bFQwQ09Cb2R2?=
 =?utf-8?B?UlN2R3BkZnpQM3lpVlhmU3UzVE5DK3dvOUptRWFyQnpDS1RXSyttZ0xQOXll?=
 =?utf-8?B?emtuYy9QZE1qYXBWSWNEcnZJSTNkMkpJTUR1elk5QUZVVEtIK2xWNnU2TVNE?=
 =?utf-8?B?STFteExxUUR5RC9QUS9la0dxYmVUY3hwNGZTOXpFWTBhZHVsaXVSWjU2Q1Nx?=
 =?utf-8?B?d2JnZ1dDQlh6VlIxY2d6RXV0NThITjNWVlUvL2xEZFlaQndaekhKcXJLaXZp?=
 =?utf-8?B?Y2d1QmRiUXpQR2pYK09tU2s1WGczT0E4QzNjT1g0MXNZM1A3NUJ2ZFBjZjBa?=
 =?utf-8?B?dDZpZk9YcFpPeVhqdG85dDc2NXdaS0YwT1JIMmJ1V2U3NVA3YU9LUlJZV0Nj?=
 =?utf-8?B?SFhZWXFMODlWNkswQXF5NktJckxIbVNtcFY4dzB6T1BIMDBhTXJreG9oSWcr?=
 =?utf-8?B?THR2SXpDUU9IT3hVUlMvOXRXZGI1ZU9uZG5WQjl1aFAwY2NuVlIyWXM0amxQ?=
 =?utf-8?B?TnBiWjBoU2dMUTVEczk4d2JpdUpsclhWaUVpRXU5MEMrdlNFNGZxeVRTWWdE?=
 =?utf-8?B?akl1blpjL3N1ekZudldpNW9nNC9rdWkvN0VHL2YydGpldVA0TjFxYzR1OExt?=
 =?utf-8?B?ZzhyR2xXZU1XYWNRNTFSY2d3TDB3azhuTGpVT2VDS2tid3dIOGlJTGVEZS9v?=
 =?utf-8?B?RWZtOVVzZngrdFVESEZGUjIyZ2lNQjMxUlpzbXNKcFNydkhVNm9wd0llWDRs?=
 =?utf-8?B?c2NjRE9YbnA0R1NtRnl5bmhqMFNUZ1V0VzIwYWk1UnljcGx0SlNITDd1SEpi?=
 =?utf-8?B?MStUTytnK1pOUnpTa0tnQWdLWW43cWN3NVlCVWlWMk8zSTZlV2kzL0tDdmFo?=
 =?utf-8?B?ME85QlJLdk1lSTVBS0Y2WnJSK3dSUnkwYkY3K3Q1aFZVZC9odFVmY3ZoU2t0?=
 =?utf-8?B?aFJsNDBLczI3RjJ1R1dDMjdYRnhZQjJkZTJuZW1RV0wxQ0NDZzFyYnBKSElX?=
 =?utf-8?B?UXRKamRaYS9XQ2srTzgvTlk1OHpyLyszc29CRDJPTUx2cGxuM2drU3FkRmRa?=
 =?utf-8?B?SkNldys0QVdJRHV5bE93bklHRlZxYUVOMHV0Ylk5eSt1bFJ4N0tlZEtxa2dG?=
 =?utf-8?B?M3ZnWG5oMldOQXVhL2lmV2psd2pFUnVNVFFiT0wrM1lOYTNpeUI4T1M1dWNO?=
 =?utf-8?B?L2h3RS9aaGR0Y3ZkNEVMZ3FMWUZPZ0ZQc0NCZXk5bG9KcE0vbjAvc1ZWNDVZ?=
 =?utf-8?B?dGM5WEpZYjZRMm13NHpBRGZEdmE1a0dpblFocW9qMStFYzRwSjBPMXRjQmFH?=
 =?utf-8?B?NHVJdWRxRDZoanNIOU4xYzR0K0lObENsY1M1c296cmh4anhWOHZHdEZwQWxa?=
 =?utf-8?B?Z3doa0RNamc3S2h2OW9nYS9qekthYUJDcnpQNVd2cEZXM3lpU1FFRkFOWmtN?=
 =?utf-8?B?SDNUTkdXUGVpT2VhMS9WK3VOUDVwWU9OdE8xVmpPKzdHY1VFcnBsVklYZ3FV?=
 =?utf-8?B?cFJLb0t1MXk3NFJSK2VmczQxdDI2Y0RiYjgxS0Fva0xqaERwYlJmVVNxL1Q2?=
 =?utf-8?B?RzZUbmlRdDFFZjBIditOVzRPa01LMUhxeGlRTUJQRTFhYTIrWWRPeGErVk9P?=
 =?utf-8?B?STJ3MU9yQjMrQ3piT3d0RENIZWY2NnYzTDNqM3dyK2VvOXlZRlNEclB1N2hZ?=
 =?utf-8?B?YW9uSmVKVk1wVmp6MlBlU29IdmRpR3Rwd0E2RGFtaG05MHh6S1hYWUkwbFNB?=
 =?utf-8?B?UEVQMFVmQkFtYlgxZXByak5CcHo5YlZ0RFYxL3l6SDBCb0Q0M0lxTTE1c1pC?=
 =?utf-8?B?Mnkvb1F1T0lzNVFWSi81eDFDSnZxL2l2WkpSV3BiSXRHRzdQcXhiZWFtYUUx?=
 =?utf-8?B?dDQzRHAybUNyUVpEZUd5QUdGSWtmaVB5QllGRUtMZStyV09RWTRkVGhnVG85?=
 =?utf-8?B?VExKUHZ3ZXp3SVBpQTdZenFUZWxWN3FoQTZZK09MSzVoNXI2OGowZHNtNjQy?=
 =?utf-8?Q?d+epAPyNmY42OIKwF082avN86?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e98506f1-85ad-43e0-1ca1-08dba21604e9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 07:12:45.9516
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kRBVoJe1IKwJdyAuU1GOpllzH8eX+zDYaGBJBsLipp6IqQlgWbHqZv/gDNycSucgupKcCUnjxyevOg71FLUFqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

On 19.08.2023 03:24, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptable of the Rules, we
> decided on a few exceptions that were not properly recorded in
> rules.rst. Other times, the exceptions were decided later when it came
> to enabling a rule in ECLAIR.

In a number of cases I'm unaware of such decisions. May be worth splitting
the patch into a controversial and an uncontroversial part, such that the
latter can go in while we discuss the former.

> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
>       - Required
>       - Precautions shall be taken in order to prevent the contents of a
>         header file being included more than once
> -     -
> +     - Files that are intended to be included more than once do not need to
> +       conform to the directive (e.g. autogenerated or empty header files)

Auto-generated isn't a reason for an exception here. The logic generating
the header can very well be adjusted. Same for empty headers - there's no
reason they couldn't gain guards. An exception is needed for headers which
we deliberately include more than once, in order to have a single central
place for attributes, enumerations, and alike.

> @@ -106,7 +107,23 @@ maintainers if you want to suggest a change.
>     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>       - Required
>       - A project shall not contain unreachable code
> -     -
> +     - The following are allowed:
> +         - Invariantly constant conditions (e.g. while(0) { S; })

When (and why) was this decided? The example given looks exactly like what
Misra wants us to not have.

> +         - Switch with a controlling value incompatible with labeled
> +           statements

What does this mean?

> +         - Functions that are intended to be never referenced from C
> +           code, or are referenced in builds not under analysis (e.g.
> +           'do_trap_fiq' for the former and 'check_for_unexpected_msi'
> +           for the latter)

I agree with the "not referenced from C", but I don't see why the other
kind couldn't be properly addressed.

> +         - Unreachability caused by the following macros/functions is
> +           deliberate: BUG, assert_failed, ERROR_EXIT, ERROR_EXIT_DOM,
> +           PIN_FAIL, __builtin_unreachable, panic, do_unexpected_trap,
> +           machine_halt, machine_restart, machine_reboot,
> +           ASSERT_UNREACHABLE

Base infrastructure items like BUG() are imo fine to mention here. But
specific items shouldn't be; the more we mention here, the more we invite
the list to be grown. Note also how you mention items which no longer
exist (ERROR_EXIT{,_DOM}, PIN_FAIL).

> +         - asm-offsets.c, as they are not linked deliberately, because
> +           they are used to generate definitions for asm modules
> +         - pure declarations (i.e. declarations without
> +           initialization) are safe, as they are not executed

I don't think "pure declarations" is a term used in the spec. Let's better
call it the way it is called elsewhere - declarations without initializer
(where, as mentioned before, the term "unreachable code" is questionable
anyway).

> @@ -167,7 +184,7 @@ maintainers if you want to suggest a change.
>     * - `Rule 5.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
>       - Required
>       - A typedef name shall be a unique identifier
> -     -
> +     - BOOLEAN, UINT{8,32,64} and INT{8,32,64} are allowed

I think this permission needs to be limited as much as possible.

> @@ -183,7 +200,10 @@ maintainers if you want to suggest a change.
>     * - `Rule 7.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_01.c>`_
>       - Required
>       - Octal constants shall not be used
> -     -
> +     - Usage of the following constants is safe, since they are given
> +       as-is in the inflate algorithm specification and there is
> +       therefore no risk of them being interpreted as decimal constants:
> +       ^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$

This is a very odd set of exceptions, which by stating them here you then
grant to be exercised everywhere. Once again I don't think special cases
dealing with a single source or sub-component should be globally named.

> @@ -239,13 +259,16 @@ maintainers if you want to suggest a change.
>       - Required
>       - All declarations of an object or function shall use the same
>         names and type qualifiers
> -     -
> +     - The type ret_t is deliberately used and defined as int or long
> +       depending on the architecture

That's not depending on the architecture, but depending on the type of
guest to service. I'd also suggest "may", not "is".

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 07:17:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 07:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587309.918651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzAA-0005q8-BA; Mon, 21 Aug 2023 07:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587309.918651; Mon, 21 Aug 2023 07:17:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzAA-0005q1-8E; Mon, 21 Aug 2023 07:17:22 +0000
Received: by outflank-mailman (input) for mailman id 587309;
 Mon, 21 Aug 2023 07:17: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=phPX=EG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qXzA9-0005pv-KN
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 07:17:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3b0d1c2-3ff2-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 09:17:19 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7038.eurprd04.prod.outlook.com (2603:10a6:800:12d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 07:17:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Mon, 21 Aug 2023
 07: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>
X-Inumbo-ID: c3b0d1c2-3ff2-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CubBdbilDiK/upV/sEjV3C/Db14AkP60ghtHDWoHLtX6KrIiWvom8j1Ax5B1yF+x6wIDs/OyLza9Ebc21r5nkTDkIFgBCxZpIh4RQ+lXq/37fh9HXfqVAFj3wdSDNe3FmCMbf/OwQuvSs0yXEmzuQH9t7qqyLoDrzv8BENOTMthl9VBVgNM2f6gxEhiEWLL0WnkArmKKXI7O2/nbxZmDeYX/cEG5T9r8HlpXiqgJ77vh0j0ayn14jTEgu7JoetwTlp7L/kEcJAsTBDqQOGxR5nixSe0YEWff42+jyb/BDLzdUFEGBDhruw136rlDsVlX0xaJOrPiOGrkYnksqtmp5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7qYDr79cjjTJeLcBqVX/vv/SaPOHQNoRE+hAF9Pg1VU=;
 b=kq7N2hlTF3u8g6/c2Cqv7t3R+8Hc7X4I4Ht0myoMvc76dG7/OqAGu9LcggTWOaRljnHtKl3Aehcdq++Wg6wryR1sS41yiWctS3rI11DujfOvi8uP5l0zuqEXnFF0W9gas70CUzAzzsW5u3SnSmSWyufpNQqzcqv+hW0JMr9KiEMiZ4Y6YRBC7QvFh9OAqUpPFUgLTFByTPz3Agqz+aOP7LzzY+0SNO2VGVf7bzKxVdujtzmEkCjHyOj98yqVIqyvTGxYbSew5YUGn/FecoLzVf1U/IzIoLUo1xdFdmJRjncCpug+vDSVBJ+9eYv9ui2sq6K/4myjV5Z1irdjdt2nZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7qYDr79cjjTJeLcBqVX/vv/SaPOHQNoRE+hAF9Pg1VU=;
 b=thCXvhgwYRGO87g6jbv4XUqDld9gP4HCHuNyNgrzVdu9c6xRNvyPqU7rLfFx46hESQrznJoPrDaz1rcEZzoITv1FcSTJzsvD01OISgtHO9VaKC7X5ELAiNey8WOlbWWravrHMgCoeBrqZfWS4sRODZCWw0WrgdRdtga9pM8eqwscmbd7ReZ5ptNvy4YmeM1z1zJevcInK1m2vKrODSutcjPEMORlbO2w7sYAPslsNOfLXQCN+Zj4EICBd6xqDdMSCPZ7xJd9PBQV8eG8Xt8RIR3RHWCf/YsplJ/8/73YOoenPAnuBaasryV44FoLd07YIhIn9H7+L9riR5WVoq/Mig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d52880c4-96e1-58de-d51e-8a5fbd784de7@suse.com>
Date: Mon, 21 Aug 2023 09:17:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: document gcc-specific behavior with shifting
 signed integers
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230819003303.1744466-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230819003303.1744466-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7038:EE_
X-MS-Office365-Filtering-Correlation-Id: 40cfe597-963f-437f-1ea5-08dba216a6e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4/7KazHygVUD4HDQkYqxtUbTuyd360W869F/xg3PGnnIH//AllYSo39xHoUBvRLg0z9BNTMFxZWeT+rONwawBC/0PkI5yJD+llFdNG7ydQeSaAtC7JUALUZo22INWNUCrGVQ5LyhBc2/lzgslC8hLr+5WKiSj6PY645NcILs0+pD3nAwIZ0A4+LybJqM8g8SsLyS4c0HVPJOyd9agO3rB244W8R1/kzChpvs66ZiwBy8pfZFo+1nw6KqTMDiKPceS6QUWwXuESfrb2tMhjB8jU4pu+u/wl+yse5cD1aRBDCpijAesySfeLBD0j6+cGB78UqFttX+WBkUBD/CZAmiCOZy6FEBWI3gu2b0Xvdee0Qn4SwA/VZKyznew/pwWndgZNgXJmWXQuVcvPpxwgoOpKh3yxhSAqlDwUxYJ4tPGqlTpjG3Fd0h0t3OMvNh6fkMb9Y8g6X60RLt4pWdNdYKcZz6Rfy8Xp60Brq0pGSuxOmjuq6EbYQQRMhjKhdgaLj136qY53IxT7X7eosFhFHOLPBTOkD6FrzB+qMNpnZA4g33qbBhjz6YJJDOKHupN+uoj8HYnpNZgyzc7mMc0GhCe2VG6zh8DwMaVBdHSiekFIjnkeNgQHyS89KATSWKW5J3zI2IOjOb8uXQoyymnXfwsA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(366004)(39850400004)(376002)(451199024)(186009)(1800799009)(2906002)(66556008)(66476007)(6916009)(66946007)(4326008)(5660300002)(8676002)(8936002)(316002)(41300700001)(478600001)(53546011)(6486002)(6506007)(31686004)(6512007)(26005)(2616005)(31696002)(38100700002)(86362001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTJHY3Mra1RTZHdGNVIrZmt3bVp2YVdKVmhERXkxdkF6OTI4UWo1Y0VoOHBm?=
 =?utf-8?B?c3pFWjUvN1NIbE53bnBXM2x1RmlCcUEvK2RnNUFDTWxDdkVtVTB4cjd1TEFw?=
 =?utf-8?B?ZmloWHoyY3RNeUJBMEEzQVhHZ1JpUmh3ZlhmRWFKK3ozY1V5T2ZMWGM4cEpO?=
 =?utf-8?B?a0wrcG9udktJUzZMMkJUbGJmei9xRTdmYTYyWXVKNkhybmp5TFNnWjdJeW5w?=
 =?utf-8?B?c0hyL1VMWlpmWHY1VlhPMlpEN3ZTeXc2VkJpWFE3V1Y4b2trU01LbSs3RHo4?=
 =?utf-8?B?QjNmUFJ2YnA2a1RXVytYUVRyZzRnNWM4ZndtMndWTXcxZ3BhUklGYW4wWVNW?=
 =?utf-8?B?ckRhdE93YndPZjJzZDhRVVhTZVFTUlFZS0pLNGhkUVpQOGpzZjk3Zklvd0lY?=
 =?utf-8?B?Yi9nRTVQSDZFQ0RGVDFXc3ZSUmpsTGd2WnMwUTVyZCtUNXdFWGlmS29WRGZ5?=
 =?utf-8?B?ZVI3dlhQNzdSQnhuSWlINXNjbUREbnA2RzJ6cEpsaGh4TVBoS0pDcDhNbFJn?=
 =?utf-8?B?Y1piWkVJdFpKOVRWTTY3K0dPeXNFRmdQUWdVeTg3VDExNnRZVDMycjhIVU05?=
 =?utf-8?B?SzR3S1lIdWtCcUprMDV1N3pmNFltM0JNQkdncEFMS2Z0Rzg2VmhHREpYUG5K?=
 =?utf-8?B?Ylc4c0VmNWVLRUtGM1hrZ2VUK2FyMTZQSTBzMkwzZHMxOWpYMVI3TFBzRGNU?=
 =?utf-8?B?SUhiYkhVSTJsdWNPNVpLcHBPKzErWFpjK1VWdW52cTNGN3hCUm1hQm1wdHJv?=
 =?utf-8?B?RVo0a1BRTTByaFFQZjVhK0lqS3E3a1JSN29BZTgyZ3I3WjBGQjEvSFB4N0tU?=
 =?utf-8?B?Sjh5QzlPQUtHRnUrc2RTQjdPTmg0TGNCQXR1YnJnaExQKzJwTjAreFJ1VUZS?=
 =?utf-8?B?dnJ1dTlobzZqNi9IeTBWMjJvRXhtYmN1elIzOXNxQUpUeVJNMHdHWTVSS0hu?=
 =?utf-8?B?TjVNc21PYlV2N2tNVzJTY2Y4WGE4aUVhdGZyTjZRWWpQQ0JZTkJJTWFtaWZP?=
 =?utf-8?B?ZHlUekovc0RFZDh6ZTJyUVNYZG9LQzdCMW5hSWNpVGlEeVR2MDRHK2NGRUR6?=
 =?utf-8?B?NzJCdW9PekxjOEo5L01OdEs4dHZHUTBXbnA0SHRKS1EvMHJXNWxrT3ZuOFh6?=
 =?utf-8?B?L3BjNFkySm56SWNiRHdFRVg0SlpxWXE4VEUvSXZzNmIxck4wSFFwOXdQOW1z?=
 =?utf-8?B?b1JkMFJ2ZkdsT21JaHJJbzVLWE1mNXZvT1J5dkVic2EzU0JsL2JZeFM4T3Jt?=
 =?utf-8?B?c2krY0JVZndvWklSQUMwNGo0Nnk3SjRZUTFxNzFxUnpreWNnK1BsSFFBZ1Bs?=
 =?utf-8?B?UkdRUDAxUk9UUkx3UlhoQ243SnowaXlnZGVnd3RtQUJWODJWa1RlRHN1V3FZ?=
 =?utf-8?B?RzN5TEpKMjI3QUpJTXpzY1JmRG01Sm4rZlZMYUVETmFTemJ4TFUzYTJSSUNV?=
 =?utf-8?B?OThjYytnVFRkcWNtSUgrY0U4YWt3SDJpeDQwZE1YSGRyMFdobS8wVFlaTFly?=
 =?utf-8?B?WklEYmNkZG5GelA1NnhwWFlpWTVacy83SHJIQWRRbUVyUHlleTJWR0c2bUkw?=
 =?utf-8?B?QTdFUDdZOUJNYk8xUEFjRE5UbU9zRjBCcTdiUXpKSHFNQlFZd2hnSUpsa3BF?=
 =?utf-8?B?cDk2cXBGRGJ6VndGem1INkt4QjJyR0J1MXc5TVo1QjZ5T05VUDRnMEVLajI2?=
 =?utf-8?B?Rk5Na0ZmN1JjNDRROGxlZERTT3RwWFdSWmxQeUlVQ2VUR09KaVFqeGJFSHJ2?=
 =?utf-8?B?bk16ZzI2VWZvWSs0bnJyL3F2S09oSUt1U25zRzE2aUVzbjhQYUNuZVgvdDd3?=
 =?utf-8?B?WTNGOUlSMHVJS2UyYjZVMDFvdW94dndIMWxTVG5ONUdldk13eDdiY29pRDQv?=
 =?utf-8?B?UFBuanVPYjJpL0tXTVcyRXNhSFJjSWd6R0FjcHM2MHU0WjlTYnVkK05YMHdL?=
 =?utf-8?B?bFNqTDJ3QXFubmJGKzNJWmN2Rjd0V2o3d3BiR0NENDRPMVN1WEdNOGNkVzNh?=
 =?utf-8?B?VjVOYk95M0hBNTJYV3FoNHRDUll3MGZMZS9zcDB4bTRETEpHczVFSGVPbXJP?=
 =?utf-8?B?bWNxUFRmaEFPSW0zK3VMUXJOUUo3a3NlckczRkJzWE9UVWRuRVRZcndDa2Fq?=
 =?utf-8?Q?/aQAUc7krJ3x1UT3bw9+A8kot?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40cfe597-963f-437f-1ea5-08dba216a6e0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 07:17:17.7045
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dtfsukv9gQj110Zr8z3UmDoVOBWdSxUnVNO/Y2F+9KV0QZyM66+r3wzZ5dvxXuPyGFrnxWFdAQBeurM6hkadXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

On 19.08.2023 02:33, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v2:
> - use "shift" instead of << or >>
> - use All Architectures (I haven't changed all the other instances of
> x86/arm in the file yet)
> ---
>  docs/misra/C-language-toolchain.rst | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> index 785aed1eaf..f5ca7bd2c8 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -200,6 +200,12 @@ The table columns are as follows:
>       - ARM64, X86_64
>       - See Section "6.29 Designated Initializers" of GCC_MANUAL
>  
> +   * - Signed shift acts on negative numbers by sign extension
> +     - All architectures
> +     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
> +       C language, GCC does not use the latitude given in C99 and C11
> +       only to treat certain aspects of signed shift as undefined.

I'm sorry, but that's still not what the doc says. Replacing << and >> by
"shifts" was imo wrong. What's needed instead is that either this is split
into two top-level bullet points (one for << and one for >>), or the first
sub-bullet-point (which acts as kind of the title) be generalized, with
the << and >> details fully moved to the "explanatory" sub-bullet-point.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 07:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 07:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587317.918660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzVs-0000Ba-3f; Mon, 21 Aug 2023 07:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587317.918660; Mon, 21 Aug 2023 07:39:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzVs-0000BT-12; Mon, 21 Aug 2023 07:39:48 +0000
Received: by outflank-mailman (input) for mailman id 587317;
 Mon, 21 Aug 2023 07: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=ixuA=EG=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qXzVr-0000BN-2j
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 07:39:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e46a67f2-3ff5-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 09:39:43 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5CC3F4EE0737;
 Mon, 21 Aug 2023 09:39: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: e46a67f2-3ff5-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Mon, 21 Aug 2023 09:39:42 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 andrew.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com>
 <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
 <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
 <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <b7246ceed209efc84a39099b3796931b@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 14/08/2023 23:45, Stefano Stabellini wrote:
> On Sat, 12 Aug 2023, Simone Ballarin wrote:
>> On 12/08/2023 00:04, Stefano Stabellini wrote:
>> > On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> > > With this patch, ECLAIR jobs will need to be manually
>> > > started for "people/.*" pipelines.
>> > >
>> > > This avoids occupying the runner on analyzes that might
>> > > not be used by developers.
>> > >
>> > > If developers want to analyze their own repositories
>> > > they need to launch them from GitLab.
>> > >
>> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> > > ---
>> > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>> > >  automation/gitlab-ci/build.yaml   |  6 ------
>> > >  automation/gitlab-ci/test.yaml    |  5 -----
>> > >  3 files changed, 10 insertions(+), 15 deletions(-)
>> > >
>> > > diff --git a/automation/gitlab-ci/analyze.yaml
>> > > b/automation/gitlab-ci/analyze.yaml
>> > > index 4aa4abe2ee..f04ff99093 100644
>> > > --- a/automation/gitlab-ci/analyze.yaml
>> > > +++ b/automation/gitlab-ci/analyze.yaml
>> > > @@ -20,21 +20,27 @@
>> > >        codequality: gl-code-quality-report.json
>> > >    needs: []
>> > >
>> > > -eclair-x86_64:
>> > > +.eclair-analysis:triggered:
>> > >    extends: .eclair-analysis
>> > > +  allow_failure: true
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> > > +      when: manual
>> > > +    - when: always
>> > > +
>> > > +eclair-x86_64:
>> > > +  extends: .eclair-analysis:triggered
>> > >    variables:
>> > >      LOGFILE: "eclair-x86_64.log"
>> > >      VARIANT: "X86_64"
>> > >      RULESET: "Set1"
>> > > -  allow_failure: true
>> > >
>> > >  eclair-ARM64:
>> > > -  extends: .eclair-analysis
>> > > +  extends: .eclair-analysis:triggered
>> > >    variables:
>> > >      LOGFILE: "eclair-ARM64.log"
>> > >      VARIANT: "ARM64"
>> > >      RULESET: "Set1"
>> > > -  allow_failure: true
>> > >
>> > >  .eclair-analysis:on-schedule:
>> > >    extends: .eclair-analysis
>> >
>> > Everything so far looks great and I am ready to Ack.
>> >
>> >
>> > > diff --git a/automation/gitlab-ci/build.yaml
>> > > b/automation/gitlab-ci/build.yaml
>> > > index 173613567c..e4b601943c 100644
>> > > --- a/automation/gitlab-ci/build.yaml
>> > > +++ b/automation/gitlab-ci/build.yaml
>> > > @@ -12,11 +12,6 @@
>> > >        - '*/*.log'
>> > >      when: always
>> > >    needs: []
>> > > -  except:
>> > > -    - master
>> > > -    - smoke
>> > > -    - /^coverity-tested\/.*/
>> > > -    - /^stable-.*/
>> > >
>> > >  .gcc-tmpl:
>> > >    variables: &gcc
>> > > @@ -269,7 +264,6 @@
>> > >  .test-jobs-artifact-common:
>> > >    stage: build
>> > >    needs: []
>> > > -  except: !reference [.test-jobs-common, except]
>> > >
>> > >  # Arm test artifacts
>> > >
>> > > diff --git a/automation/gitlab-ci/test.yaml
>> > > b/automation/gitlab-ci/test.yaml
>> > > index 8ccce1fe26..11cb97ea4b 100644
>> > > --- a/automation/gitlab-ci/test.yaml
>> > > +++ b/automation/gitlab-ci/test.yaml
>> > > @@ -1,11 +1,6 @@
>> > >  .test-jobs-common:
>> > >    stage: test
>> > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> > > -  except:
>> > > -    - master
>> > > -    - smoke
>> > > -    - /^coverity-tested\/.*/
>> > > -    - /^stable-.*/
>> > >
>> > >  .arm64-test-needs: &arm64-test-needs
>> > >    - alpine-3.18-arm64-rootfs-export
>> >
>> > These changes instead belongs to the first patch, right?
>> 
>> Yes, sorry. Moreover, it is the answer to your question on
>> the other patch.
> 
> No problem. Please re-send. One more comment. In the first patch we
> have:
> 
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~
> /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> 
> I think it is an excellent idea to skip "master" as well as the others,
> but maybe we could make them "manual" instead of "never" just in case
> someone wants to see the results on master. It might happen on special
> occasions.

"manual" cannot be used at workflow-level only at job-level.
I've made a couple of experiments and I find several problems in doing 
that:


-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 07:59:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 07:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587325.918671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzoo-0002nk-Hi; Mon, 21 Aug 2023 07:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587325.918671; Mon, 21 Aug 2023 07:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzoo-0002nd-EZ; Mon, 21 Aug 2023 07:59:22 +0000
Received: by outflank-mailman (input) for mailman id 587325;
 Mon, 21 Aug 2023 07:59: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 1qXzom-0002nX-Ux
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 07:59: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 1qXzom-0007JR-HY; Mon, 21 Aug 2023 07:59:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qXzom-00018f-AI; Mon, 21 Aug 2023 07: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sxyctZh337MYOgO8yucM3tPZPoExPa1vHb1KHvgi7ls=; b=siD1zhWs6eqAtHqSvxKlm7n+Qb
	9CseGZ3ckNAttNeqYcoGMDQLqE9eATxEWkhELnMftVm3aSGfdGuvSFovuuL1Iax8DkSA0fhHWzWSE
	ywdc8q9vN8XdkIxnQumhMH3/VgL4c7iQvH3dECygCf/cSzmWvGSqfB78GQuS95Ca36PQ=;
Message-ID: <e20b26b5-1422-46d1-a03c-54424bc864cd@xen.org>
Date: Mon, 21 Aug 2023 08:59:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] tools/xenstore: move xenstored sources into dedicated
 directory
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230818140848.20220-1-jgross@suse.com>
 <53982682-c49c-6f3e-87c1-f4bd0ab385ce@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <53982682-c49c-6f3e-87c1-f4bd0ab385ce@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 18/08/2023 15:20, Andrew Cooper wrote:
> On 18/08/2023 3:08 pm, Juergen Gross wrote:
>> diff --git a/.gitignore b/.gitignore
>> index c1b73b0968..c6489c4e70 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -237,22 +237,22 @@ tools/xenmon/xentrace_setmask
>>   tools/xenmon/xenbaked
>>   tools/xenpaging/xenpaging
>>   tools/xenpmd/xenpmd
>> -tools/xenstore/xenstore
>> -tools/xenstore/xenstore-chmod
>> -tools/xenstore/xenstore-control
>> -tools/xenstore/xenstore-exists
>> -tools/xenstore/xenstore-list
>> -tools/xenstore/xenstore-ls
>> -tools/xenstore/xenstore-read
>> -tools/xenstore/xenstore-rm
>> -tools/xenstore/xenstore-watch
>> -tools/xenstore/xenstore-write
>> -tools/xenstore/xenstored
>> +tools/xenstored/xenstored
>>   tools/xentop/xentop
>>   tools/xentrace/xentrace_setsize
>>   tools/xentrace/tbctl
>>   tools/xentrace/xenctx
>>   tools/xentrace/xentrace
>> +tools/xs-clients/xenstore
>> +tools/xs-clients/xenstore-chmod
>> +tools/xs-clients/xenstore-control
>> +tools/xs-clients/xenstore-exists
>> +tools/xs-clients/xenstore-list
>> +tools/xs-clients/xenstore-ls
>> +tools/xs-clients/xenstore-read
>> +tools/xs-clients/xenstore-rm
>> +tools/xs-clients/xenstore-watch
>> +tools/xs-clients/xenstore-write
>>   xen/**/*.i
>>   xen/**/*.s
>>   xen/.banner
> 
> Please take the opportunity to move these into local .gitignore files.
> One less area of churn in future renaming.Â  Probably can be fixed on
> commit as its only mechanical.
If you end up to the be committer then sure. I would prefer not doing it 
while committing.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:02:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587337.918681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzsA-0004st-Cz; Mon, 21 Aug 2023 08:02:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587337.918681; Mon, 21 Aug 2023 08:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzsA-0004sm-AE; Mon, 21 Aug 2023 08:02:50 +0000
Received: by outflank-mailman (input) for mailman id 587337;
 Mon, 21 Aug 2023 08:02: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 1qXzs9-0004sd-GT
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:02: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 1qXzs9-0007vi-0V; Mon, 21 Aug 2023 08:02:49 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qXzs8-0001PI-SC; Mon, 21 Aug 2023 08:02:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=/m+sXyxsV/3JaBAvTAsFNEPjvjKy1KO2kE4TwuBSvfI=; b=KdVR9lgVYL071c1E+hZlXAKZhV
	FtssnzZKeKA8dHlOaztXo3c/ypMV1OIYSWGxDs5WKnGQ8HgSbNYTXK+IzfGbjsUhtUdT2+hbMdmTZ
	z2DLZvA3nmMWxaA5159zcEI7wOnkQrWKtP9zcQZgsPdNzo86VSc0n2DD83xmt+A09wts=;
Message-ID: <47ec3b42-f3d6-4877-8b8e-e9eff76af2ff@xen.org>
Date: Mon, 21 Aug 2023 09:02:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] tools/xenstore: move xenstored sources into dedicated
 directory
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230818140848.20220-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230818140848.20220-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 18/08/2023 15:08, Juergen Gross wrote:
> In tools/xenstore there are living xenstored and xenstore clients.
> They are no longer sharing anything apart from the "xenstore" in their
> names.
> 
> Move the xenstored sources into a new directory tools/xenstored while
> dropping the "xenstored_" prefix from their names. This will make it
> clearer that xenstore clients and xenstored are independent from each
> other.
> 
> In order to avoid two very similar named directories below tools,
> rename tools/xenstore to tools/xs-clients.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:08:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587345.918691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzxW-0005Wj-1O; Mon, 21 Aug 2023 08:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587345.918691; Mon, 21 Aug 2023 08:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qXzxV-0005Wc-Uy; Mon, 21 Aug 2023 08:08:21 +0000
Received: by outflank-mailman (input) for mailman id 587345;
 Mon, 21 Aug 2023 08:08:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ixuA=EG=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qXzxU-0005WT-GL
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:08:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2d662c0-3ff9-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 10:08:18 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A755A4EE0737;
 Mon, 21 Aug 2023 10:08: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: e2d662c0-3ff9-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Mon, 21 Aug 2023 10:08:17 +0200
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 andrew.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 2/2] automation/eclair: avoid unintentional ECLAIR
 analysis
Reply-To: simone.ballarin@bugseng.com
In-Reply-To: <alpine.DEB.2.22.394.2308141451360.6458@ubuntu-linux-20-04-desktop>
References: <cover.1691760935.git.simone.ballarin@bugseng.com>
 <57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308111502540.2127516@ubuntu-linux-20-04-desktop>
 <7fe34af9cbfd47fa64b4e14ae2f0dbff@bugseng.com>
 <alpine.DEB.2.22.394.2308141445470.6458@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2308141451360.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <4d19eba42fac0c91541c6ca7158d639d@bugseng.com>
X-Sender: simone.ballarin@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 14/08/2023 23:52, Stefano Stabellini wrote:
> On Mon, 14 Aug 2023, Stefano Stabellini wrote:
>> On Sat, 12 Aug 2023, Simone Ballarin wrote:
>> > On 12/08/2023 00:04, Stefano Stabellini wrote:
>> > > On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> > > > With this patch, ECLAIR jobs will need to be manually
>> > > > started for "people/.*" pipelines.
>> > > >
>> > > > This avoids occupying the runner on analyzes that might
>> > > > not be used by developers.
>> > > >
>> > > > If developers want to analyze their own repositories
>> > > > they need to launch them from GitLab.
>> > > >
>> > > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> > > > ---
>> > > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>> > > >  automation/gitlab-ci/build.yaml   |  6 ------
>> > > >  automation/gitlab-ci/test.yaml    |  5 -----
>> > > >  3 files changed, 10 insertions(+), 15 deletions(-)
>> > > >
>> > > > diff --git a/automation/gitlab-ci/analyze.yaml
>> > > > b/automation/gitlab-ci/analyze.yaml
>> > > > index 4aa4abe2ee..f04ff99093 100644
>> > > > --- a/automation/gitlab-ci/analyze.yaml
>> > > > +++ b/automation/gitlab-ci/analyze.yaml
>> > > > @@ -20,21 +20,27 @@
>> > > >        codequality: gl-code-quality-report.json
>> > > >    needs: []
>> > > >
>> > > > -eclair-x86_64:
>> > > > +.eclair-analysis:triggered:
>> > > >    extends: .eclair-analysis
>> > > > +  allow_failure: true
>> > > > +  rules:
>> > > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> > > > +      when: manual
>> > > > +    - when: always
>> > > > +
>> > > > +eclair-x86_64:
>> > > > +  extends: .eclair-analysis:triggered
>> > > >    variables:
>> > > >      LOGFILE: "eclair-x86_64.log"
>> > > >      VARIANT: "X86_64"
>> > > >      RULESET: "Set1"
>> > > > -  allow_failure: true
>> > > >
>> > > >  eclair-ARM64:
>> > > > -  extends: .eclair-analysis
>> > > > +  extends: .eclair-analysis:triggered
>> > > >    variables:
>> > > >      LOGFILE: "eclair-ARM64.log"
>> > > >      VARIANT: "ARM64"
>> > > >      RULESET: "Set1"
>> > > > -  allow_failure: true
>> > > >
>> > > >  .eclair-analysis:on-schedule:
>> > > >    extends: .eclair-analysis
>> > >
>> > > Everything so far looks great and I am ready to Ack.
>> > >
>> > >
>> > > > diff --git a/automation/gitlab-ci/build.yaml
>> > > > b/automation/gitlab-ci/build.yaml
>> > > > index 173613567c..e4b601943c 100644
>> > > > --- a/automation/gitlab-ci/build.yaml
>> > > > +++ b/automation/gitlab-ci/build.yaml
>> > > > @@ -12,11 +12,6 @@
>> > > >        - '*/*.log'
>> > > >      when: always
>> > > >    needs: []
>> > > > -  except:
>> > > > -    - master
>> > > > -    - smoke
>> > > > -    - /^coverity-tested\/.*/
>> > > > -    - /^stable-.*/
>> > > >
>> > > >  .gcc-tmpl:
>> > > >    variables: &gcc
>> > > > @@ -269,7 +264,6 @@
>> > > >  .test-jobs-artifact-common:
>> > > >    stage: build
>> > > >    needs: []
>> > > > -  except: !reference [.test-jobs-common, except]
>> > > >
>> > > >  # Arm test artifacts
>> > > >
>> > > > diff --git a/automation/gitlab-ci/test.yaml
>> > > > b/automation/gitlab-ci/test.yaml
>> > > > index 8ccce1fe26..11cb97ea4b 100644
>> > > > --- a/automation/gitlab-ci/test.yaml
>> > > > +++ b/automation/gitlab-ci/test.yaml
>> > > > @@ -1,11 +1,6 @@
>> > > >  .test-jobs-common:
>> > > >    stage: test
>> > > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> > > > -  except:
>> > > > -    - master
>> > > > -    - smoke
>> > > > -    - /^coverity-tested\/.*/
>> > > > -    - /^stable-.*/
>> > > >
>> > > >  .arm64-test-needs: &arm64-test-needs
>> > > >    - alpine-3.18-arm64-rootfs-export
>> > >
>> > > These changes instead belongs to the first patch, right?
>> >
>> > Yes, sorry. Moreover, it is the answer to your question on
>> > the other patch.
>> 
>> No problem. Please re-send. One more comment. In the first patch we
>> have:
>> 
>> +workflow:
>> +  rules:
>> +    - if: $CI_COMMIT_BRANCH =~ 
>> /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
>> +      when: never
>> +    - when: always
>> 
>> I think it is an excellent idea to skip "master" as well as the 
>> others,
>> but maybe we could make them "manual" instead of "never" just in case
>> someone wants to see the results on master. It might happen on special
>> occasions.


"when:manual" cannot be used at workflow-level, but only at job-level.
I've made a couple of experiments and I found several problems in doing 
that
related to the clauses "allow_failure" and "needs".

> 
> One more thing: today the Eclair jobs always start even if WTOKEN is 
> not
> defined (hence the jobs cannot actually succeed). Would it make sense 
> to
> also add a check on the existence of WTOKEN? If WTOKEN exists, start 
> the
> Eclair jobs, otherwise do not ?

No problem.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:11:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587353.918701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY00X-000739-FZ; Mon, 21 Aug 2023 08:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587353.918701; Mon, 21 Aug 2023 08:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY00X-000732-Cl; Mon, 21 Aug 2023 08:11:29 +0000
Received: by outflank-mailman (input) for mailman id 587353;
 Mon, 21 Aug 2023 08:11:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Cwo=EG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qY00W-00072u-6Y
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:11:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53813233-3ffa-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 10:11:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 215BA22997;
 Mon, 21 Aug 2023 08:11:26 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D288813421;
 Mon, 21 Aug 2023 08:11:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7WcIMi0c42SJMwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 21 Aug 2023 08:11: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: 53813233-3ffa-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692605486; 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=tCId1GaHXcT9cKKQijph+UPDD2Fzx6isInW4IzUjt3Q=;
	b=ZQ8GXENlz957/q+dqUef/ZDnIMb+ji1oIPnMUhMDrK4NrKRvnljaHittNv0VCOIdq4vnnp
	pWj0RsWrqm4K76mIbT2kMC/oFL+b7YXoBE6bhiKW3spJ6+kKjrujwroPthtCyFpvmEFbJ2
	h2UfOCFZlPDcG/VemD4VrHFZzvCATAc=
Message-ID: <715dacd4-df67-4738-bfca-e47dbec98a1b@suse.com>
Date: Mon, 21 Aug 2023 10:11:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] tools/xenstore: move xenstored sources into dedicated
 directory
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20230818140848.20220-1-jgross@suse.com>
 <53982682-c49c-6f3e-87c1-f4bd0ab385ce@citrix.com>
 <e20b26b5-1422-46d1-a03c-54424bc864cd@xen.org>
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: <e20b26b5-1422-46d1-a03c-54424bc864cd@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------wR4ytxEggznXN2zbLI8qJNqG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------wR4ytxEggznXN2zbLI8qJNqG
Content-Type: multipart/mixed; boundary="------------YPgHmc9vYz0FL3MPjrTyWjSb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <715dacd4-df67-4738-bfca-e47dbec98a1b@suse.com>
Subject: Re: [PATCH v5] tools/xenstore: move xenstored sources into dedicated
 directory
References: <20230818140848.20220-1-jgross@suse.com>
 <53982682-c49c-6f3e-87c1-f4bd0ab385ce@citrix.com>
 <e20b26b5-1422-46d1-a03c-54424bc864cd@xen.org>
In-Reply-To: <e20b26b5-1422-46d1-a03c-54424bc864cd@xen.org>

--------------YPgHmc9vYz0FL3MPjrTyWjSb
Content-Type: multipart/mixed; boundary="------------z5wB5sOBAGjHwTyNoHZqS014"

--------------z5wB5sOBAGjHwTyNoHZqS014
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDguMjMgMDk6NTksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxOC8wOC8yMDIzIDE1OjIwLCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4gT24gMTgvMDgv
MjAyMyAzOjA4IHBtLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+IGRpZmYgLS1naXQgYS8u
Z2l0aWdub3JlIGIvLmdpdGlnbm9yZQ0KPj4+IGluZGV4IGMxYjczYjA5NjguLmM2NDg5YzRl
NzAgMTAwNjQ0DQo+Pj4gLS0tIGEvLmdpdGlnbm9yZQ0KPj4+ICsrKyBiLy5naXRpZ25vcmUN
Cj4+PiBAQCAtMjM3LDIyICsyMzcsMjIgQEAgdG9vbHMveGVubW9uL3hlbnRyYWNlX3NldG1h
c2sNCj4+PiDCoCB0b29scy94ZW5tb24veGVuYmFrZWQNCj4+PiDCoCB0b29scy94ZW5wYWdp
bmcveGVucGFnaW5nDQo+Pj4gwqAgdG9vbHMveGVucG1kL3hlbnBtZA0KPj4+IC10b29scy94
ZW5zdG9yZS94ZW5zdG9yZQ0KPj4+IC10b29scy94ZW5zdG9yZS94ZW5zdG9yZS1jaG1vZA0K
Pj4+IC10b29scy94ZW5zdG9yZS94ZW5zdG9yZS1jb250cm9sDQo+Pj4gLXRvb2xzL3hlbnN0
b3JlL3hlbnN0b3JlLWV4aXN0cw0KPj4+IC10b29scy94ZW5zdG9yZS94ZW5zdG9yZS1saXN0
DQo+Pj4gLXRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlLWxzDQo+Pj4gLXRvb2xzL3hlbnN0b3Jl
L3hlbnN0b3JlLXJlYWQNCj4+PiAtdG9vbHMveGVuc3RvcmUveGVuc3RvcmUtcm0NCj4+PiAt
dG9vbHMveGVuc3RvcmUveGVuc3RvcmUtd2F0Y2gNCj4+PiAtdG9vbHMveGVuc3RvcmUveGVu
c3RvcmUtd3JpdGUNCj4+PiAtdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkDQo+Pj4gK3Rvb2xz
L3hlbnN0b3JlZC94ZW5zdG9yZWQNCj4+PiDCoCB0b29scy94ZW50b3AveGVudG9wDQo+Pj4g
wqAgdG9vbHMveGVudHJhY2UveGVudHJhY2Vfc2V0c2l6ZQ0KPj4+IMKgIHRvb2xzL3hlbnRy
YWNlL3RiY3RsDQo+Pj4gwqAgdG9vbHMveGVudHJhY2UveGVuY3R4DQo+Pj4gwqAgdG9vbHMv
eGVudHJhY2UveGVudHJhY2UNCj4+PiArdG9vbHMveHMtY2xpZW50cy94ZW5zdG9yZQ0KPj4+
ICt0b29scy94cy1jbGllbnRzL3hlbnN0b3JlLWNobW9kDQo+Pj4gK3Rvb2xzL3hzLWNsaWVu
dHMveGVuc3RvcmUtY29udHJvbA0KPj4+ICt0b29scy94cy1jbGllbnRzL3hlbnN0b3JlLWV4
aXN0cw0KPj4+ICt0b29scy94cy1jbGllbnRzL3hlbnN0b3JlLWxpc3QNCj4+PiArdG9vbHMv
eHMtY2xpZW50cy94ZW5zdG9yZS1scw0KPj4+ICt0b29scy94cy1jbGllbnRzL3hlbnN0b3Jl
LXJlYWQNCj4+PiArdG9vbHMveHMtY2xpZW50cy94ZW5zdG9yZS1ybQ0KPj4+ICt0b29scy94
cy1jbGllbnRzL3hlbnN0b3JlLXdhdGNoDQo+Pj4gK3Rvb2xzL3hzLWNsaWVudHMveGVuc3Rv
cmUtd3JpdGUNCj4+PiDCoCB4ZW4vKiovKi5pDQo+Pj4gwqAgeGVuLyoqLyoucw0KPj4+IMKg
IHhlbi8uYmFubmVyDQo+Pg0KPj4gUGxlYXNlIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIG1v
dmUgdGhlc2UgaW50byBsb2NhbCAuZ2l0aWdub3JlIGZpbGVzLg0KPj4gT25lIGxlc3MgYXJl
YSBvZiBjaHVybiBpbiBmdXR1cmUgcmVuYW1pbmcuwqAgUHJvYmFibHkgY2FuIGJlIGZpeGVk
IG9uDQo+PiBjb21taXQgYXMgaXRzIG9ubHkgbWVjaGFuaWNhbC4NCj4gSWYgeW91IGVuZCB1
cCB0byB0aGUgYmUgY29tbWl0dGVyIHRoZW4gc3VyZS4gSSB3b3VsZCBwcmVmZXIgbm90IGRv
aW5nIGl0IHdoaWxlIA0KPiBjb21taXR0aW5nLg0KDQpJJ2xsIHNlbmQgYSBWNi4NCg0KDQpK
dWVyZ2VuDQoNCg==
--------------z5wB5sOBAGjHwTyNoHZqS014
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------z5wB5sOBAGjHwTyNoHZqS014--

--------------YPgHmc9vYz0FL3MPjrTyWjSb--

--------------wR4ytxEggznXN2zbLI8qJNqG
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/Ey8FAmTjHC0FAwAAAAAACgkQsN6d1ii/Ey+u
YAf/eL6TZcBiUFYQeneOVv2d8wgrd1RJwy44RvcszkhYNPCRUb0r7S1BvXWzXV3kzOu6bjfH1xp3
0r/7Ex9qlYXRmiXsHix1O8wMrYH6PqrNKdPjt7Lv8DWh4y0oQLgPnQfb2NdAQH+90KemN26kZu7n
5DWAnwxNjnMfShl0tcxuYffQWbF6bAXKDRR4WBFUXTLMQBLXQHT9vowOVSZwKP1ePUu35YFwPzYV
WM/YI4YhrtvruULzAixmmJwu0LPqa+24RAnaKENXeEjqIB7ZYHBw74qOQzp/9VO4495vMg5CROoJ
D9Pz7H9FKQVgAztTBYvVovIvfokVJ2/+tki17IqwFQ==
=wMTC
-----END PGP SIGNATURE-----

--------------wR4ytxEggznXN2zbLI8qJNqG--


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:14:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587361.918710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY03Q-0007gx-21; Mon, 21 Aug 2023 08:14:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587361.918710; Mon, 21 Aug 2023 08:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY03P-0007gq-VS; Mon, 21 Aug 2023 08:14:27 +0000
Received: by outflank-mailman (input) for mailman id 587361;
 Mon, 21 Aug 2023 08:14: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=5Cwo=EG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qY03N-0007gk-TN
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:14:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd2c032e-3ffa-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 10:14:24 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2F1142057E;
 Mon, 21 Aug 2023 08:14:24 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CC0A213421;
 Mon, 21 Aug 2023 08:14:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a1eTMN8c42T3NAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 21 Aug 2023 08:14:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd2c032e-3ffa-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692605664; 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=+vTyPY5xV3EpZsT+eQ8CKSxQi7BMW4ZGxy5ay15TpBI=;
	b=e/k+dIxMN8BqdSwph5z3S/Is1hPl59ksRD4izXnD76kRHhsdTeK3Ou8Hy0Qa9dLj47zu2T
	gLuXXMruKMiz594bJXb/pVpe/095H52Qpa21XtHbYEuVg4nI2Jrzp2itPTSdUDf9B8RBzD
	liXahbFZhND8xTfT561rlYIdNgL2+gU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6] tools/xenstore: move xenstored sources into dedicated directory
Date: Mon, 21 Aug 2023 10:14:22 +0200
Message-Id: <20230821081422.17027-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In tools/xenstore there are living xenstored and xenstore clients.
They are no longer sharing anything apart from the "xenstore" in their
names.

Move the xenstored sources into a new directory tools/xenstored while
dropping the "xenstored_" prefix from their names. This will make it
clearer that xenstore clients and xenstored are independent from each
other.

In order to avoid two very similar named directories below tools,
rename tools/xenstore to tools/xs-clients.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
After the large overhaul of xenstored I think such a reorg would make
sense to go into the same Xen version. Delaying it until the next
version would make potential backports for 4.18 harder.
V4:
- new patch
V5:
- rename xenstore directory to xs-clients (Julien Grall)
V6:
- use local .gitignore files (Andrew Cooper)
---
 .gitignore                                    | 11 -----
 MAINTAINERS                                   |  3 +-
 stubdom/Makefile                              |  4 +-
 tools/Makefile                                |  3 +-
 tools/xenstored/.gitignore                    |  1 +
 tools/xenstored/Makefile                      | 48 +++++++++++++++++++
 tools/{xenstore => xenstored}/Makefile.common | 13 +++--
 tools/{xenstore => xenstored}/README          |  0
 .../control.c}                                |  8 ++--
 .../control.h}                                |  0
 .../xenstored_core.c => xenstored/core.c}     | 14 +++---
 .../xenstored_core.h => xenstored/core.h}     |  0
 .../xenstored_domain.c => xenstored/domain.c} | 10 ++--
 .../xenstored_domain.h => xenstored/domain.h} |  0
 tools/{xenstore => xenstored}/hashtable.c     |  0
 tools/{xenstore => xenstored}/hashtable.h     |  0
 tools/{xenstore => xenstored}/list.h          |  0
 .../xenstored_lu.c => xenstored/lu.c}         |  8 ++--
 .../xenstored_lu.h => xenstored/lu.h}         |  0
 .../lu_daemon.c}                              |  4 +-
 .../lu_minios.c}                              |  2 +-
 .../xenstored_minios.c => xenstored/minios.c} |  2 +-
 .../xenstored_osdep.h => xenstored/osdep.h}   |  0
 .../xenstored_posix.c => xenstored/posix.c}   |  4 +-
 tools/{xenstore => xenstored}/talloc.c        |  0
 tools/{xenstore => xenstored}/talloc.h        |  0
 .../{xenstore => xenstored}/talloc_guide.txt  |  0
 .../transaction.c}                            |  6 +--
 .../transaction.h}                            |  2 +-
 tools/{xenstore => xenstored}/utils.c         |  0
 tools/{xenstore => xenstored}/utils.h         |  0
 .../xenstored_watch.c => xenstored/watch.c}   |  6 +--
 .../xenstored_watch.h => xenstored/watch.h}   |  2 +-
 .../include => xenstored}/xenstore_state.h    |  0
 tools/xs-clients/.gitignore                   | 10 ++++
 tools/{xenstore => xs-clients}/Makefile       | 30 ++----------
 .../xenstore_client.c                         |  0
 .../xenstore_control.c                        |  0
 38 files changed, 110 insertions(+), 81 deletions(-)
 create mode 100644 tools/xenstored/.gitignore
 create mode 100644 tools/xenstored/Makefile
 rename tools/{xenstore => xenstored}/Makefile.common (50%)
 rename tools/{xenstore => xenstored}/README (100%)
 rename tools/{xenstore/xenstored_control.c => xenstored/control.c} (98%)
 rename tools/{xenstore/xenstored_control.h => xenstored/control.h} (100%)
 rename tools/{xenstore/xenstored_core.c => xenstored/core.c} (99%)
 rename tools/{xenstore/xenstored_core.h => xenstored/core.h} (100%)
 rename tools/{xenstore/xenstored_domain.c => xenstored/domain.c} (99%)
 rename tools/{xenstore/xenstored_domain.h => xenstored/domain.h} (100%)
 rename tools/{xenstore => xenstored}/hashtable.c (100%)
 rename tools/{xenstore => xenstored}/hashtable.h (100%)
 rename tools/{xenstore => xenstored}/list.h (100%)
 rename tools/{xenstore/xenstored_lu.c => xenstored/lu.c} (98%)
 rename tools/{xenstore/xenstored_lu.h => xenstored/lu.h} (100%)
 rename tools/{xenstore/xenstored_lu_daemon.c => xenstored/lu_daemon.c} (97%)
 rename tools/{xenstore/xenstored_lu_minios.c => xenstored/lu_minios.c} (98%)
 rename tools/{xenstore/xenstored_minios.c => xenstored/minios.c} (97%)
 rename tools/{xenstore/xenstored_osdep.h => xenstored/osdep.h} (100%)
 rename tools/{xenstore/xenstored_posix.c => xenstored/posix.c} (98%)
 rename tools/{xenstore => xenstored}/talloc.c (100%)
 rename tools/{xenstore => xenstored}/talloc.h (100%)
 rename tools/{xenstore => xenstored}/talloc_guide.txt (100%)
 rename tools/{xenstore/xenstored_transaction.c => xenstored/transaction.c} (99%)
 rename tools/{xenstore/xenstored_transaction.h => xenstored/transaction.h} (98%)
 rename tools/{xenstore => xenstored}/utils.c (100%)
 rename tools/{xenstore => xenstored}/utils.h (100%)
 rename tools/{xenstore/xenstored_watch.c => xenstored/watch.c} (98%)
 rename tools/{xenstore/xenstored_watch.h => xenstored/watch.h} (98%)
 rename tools/{xenstore/include => xenstored}/xenstore_state.h (100%)
 create mode 100644 tools/xs-clients/.gitignore
 rename tools/{xenstore => xs-clients}/Makefile (74%)
 rename tools/{xenstore => xs-clients}/xenstore_client.c (100%)
 rename tools/{xenstore => xs-clients}/xenstore_control.c (100%)

diff --git a/.gitignore b/.gitignore
index c1b73b0968..50273adb8d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -237,17 +237,6 @@ tools/xenmon/xentrace_setmask
 tools/xenmon/xenbaked
 tools/xenpaging/xenpaging
 tools/xenpmd/xenpmd
-tools/xenstore/xenstore
-tools/xenstore/xenstore-chmod
-tools/xenstore/xenstore-control
-tools/xenstore/xenstore-exists
-tools/xenstore/xenstore-list
-tools/xenstore/xenstore-ls
-tools/xenstore/xenstore-read
-tools/xenstore/xenstore-rm
-tools/xenstore/xenstore-watch
-tools/xenstore/xenstore-write
-tools/xenstore/xenstored
 tools/xentop/xentop
 tools/xentrace/xentrace_setsize
 tools/xentrace/tbctl
diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..bf71ac144c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -669,7 +669,8 @@ F:	tools/include/xenstore.h
 F:	tools/include/xenstore_lib.h
 F:	tools/include/xen-tools/xenstore-common.h
 F:	tools/libs/store/
-F:	tools/xenstore/
+F:	tools/xenstored/
+F:	tools/xs-clients/
 
 XENTRACE
 M:	George Dunlap <george.dunlap@citrix.com>
diff --git a/stubdom/Makefile b/stubdom/Makefile
index d5fb354e7e..52bf7f0e21 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -371,10 +371,10 @@ endef
 
 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
 
-xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
-xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
 LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
diff --git a/tools/Makefile b/tools/Makefile
index 311a9098d7..3a510663a0 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,8 @@ SUBDIRS-y :=
 SUBDIRS-y += libs
 SUBDIRS-y += flask
 SUBDIRS-y += fuzz
-SUBDIRS-y += xenstore
+SUBDIRS-y += xs-clients
+SUBDIRS-$(XENSTORE_XENSTORED) += xenstored
 SUBDIRS-y += misc
 SUBDIRS-y += examples
 SUBDIRS-y += hotplug
diff --git a/tools/xenstored/.gitignore b/tools/xenstored/.gitignore
new file mode 100644
index 0000000000..edbb5d79fe
--- /dev/null
+++ b/tools/xenstored/.gitignore
@@ -0,0 +1 @@
+xenstored
diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
new file mode 100644
index 0000000000..f3bd3d43c4
--- /dev/null
+++ b/tools/xenstored/Makefile
@@ -0,0 +1,48 @@
+XEN_ROOT=$(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+include Makefile.common
+
+xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
+xenstored: LDLIBS += $(LDLIBS_libxengnttab)
+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
+all: $(TARGETS)
+
+xenstored: $(XENSTORED_OBJS-y)
+	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
+
+.PHONY: clean
+clean::
+	$(RM) $(TARGETS) $(DEPS_RM)
+
+.PHONY: distclean
+distclean: clean
+
+.PHONY: TAGS
+TAGS:
+	etags `find . -name '*.[ch]'`
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
+	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)$(sbindir)/xenstored
+	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
+		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
+	fi
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstored/Makefile.common
similarity index 50%
rename from tools/xenstore/Makefile.common
rename to tools/xenstored/Makefile.common
index 41973a8a5e..189ab81b8d 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstored/Makefile.common
@@ -1,17 +1,16 @@
 # Makefile shared with stubdom
 
-XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
-XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
+XENSTORED_OBJS-y := core.o watch.o domain.o
+XENSTORED_OBJS-y += transaction.o control.o lu.o
 XENSTORED_OBJS-y += talloc.o utils.o hashtable.o
 
-XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o
+XENSTORED_OBJS-$(CONFIG_Linux) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_NetBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_FreeBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_MiniOS) += minios.o lu_minios.o
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-CFLAGS += -I./include
 CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
diff --git a/tools/xenstore/README b/tools/xenstored/README
similarity index 100%
rename from tools/xenstore/README
rename to tools/xenstored/README
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstored/control.c
similarity index 98%
rename from tools/xenstore/xenstored_control.c
rename to tools/xenstored/control.c
index 3bdf2edc34..b2f64d674f 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstored/control.c
@@ -27,10 +27,10 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_control.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "control.h"
+#include "domain.h"
+#include "lu.h"
 
 struct cmd_s {
 	char *cmd;
diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstored/control.h
similarity index 100%
rename from tools/xenstore/xenstored_control.h
rename to tools/xenstored/control.h
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstored/core.c
similarity index 99%
rename from tools/xenstore/xenstored_core.c
rename to tools/xenstored/core.c
index 7de4df2f28..092de76a2e 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstored/core.c
@@ -47,12 +47,12 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_watch.h"
-#include "xenstored_transaction.h"
-#include "xenstored_domain.h"
-#include "xenstored_control.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "watch.h"
+#include "transaction.h"
+#include "domain.h"
+#include "control.h"
+#include "lu.h"
 
 #ifndef NO_SOCKETS
 #if defined(HAVE_SYSTEMD)
@@ -64,7 +64,7 @@
 #include <systemd/sd-daemon.h>
 #endif
 
-extern xenevtchn_handle *xce_handle; /* in xenstored_domain.c */
+extern xenevtchn_handle *xce_handle; /* in domain.c */
 static int xce_pollfd_idx = -1;
 static struct pollfd *fds;
 static unsigned int current_array_size;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstored/core.h
similarity index 100%
rename from tools/xenstore/xenstored_core.h
rename to tools/xenstored/core.h
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstored/domain.c
similarity index 99%
rename from tools/xenstore/xenstored_domain.c
rename to tools/xenstored/domain.c
index 1bf138c8b1..a6cd199fdc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstored/domain.c
@@ -27,11 +27,11 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_control.h"
+#include "core.h"
+#include "domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "control.h"
 
 #include <xenevtchn.h>
 #include <xenctrl.h>
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstored/domain.h
similarity index 100%
rename from tools/xenstore/xenstored_domain.h
rename to tools/xenstored/domain.h
diff --git a/tools/xenstore/hashtable.c b/tools/xenstored/hashtable.c
similarity index 100%
rename from tools/xenstore/hashtable.c
rename to tools/xenstored/hashtable.c
diff --git a/tools/xenstore/hashtable.h b/tools/xenstored/hashtable.h
similarity index 100%
rename from tools/xenstore/hashtable.h
rename to tools/xenstored/hashtable.h
diff --git a/tools/xenstore/list.h b/tools/xenstored/list.h
similarity index 100%
rename from tools/xenstore/list.h
rename to tools/xenstored/list.h
diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstored/lu.c
similarity index 98%
rename from tools/xenstore/xenstored_lu.c
rename to tools/xenstored/lu.c
index f7f76acbf9..2f41d10c95 100644
--- a/tools/xenstore/xenstored_lu.c
+++ b/tools/xenstored/lu.c
@@ -13,10 +13,10 @@
 #include <time.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
-#include "xenstored_watch.h"
+#include "core.h"
+#include "domain.h"
+#include "lu.h"
+#include "watch.h"
 
 #ifndef NO_LIVE_UPDATE
 struct live_update *lu_status;
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstored/lu.h
similarity index 100%
rename from tools/xenstore/xenstored_lu.h
rename to tools/xenstored/lu.h
diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstored/lu_daemon.c
similarity index 97%
rename from tools/xenstore/xenstored_lu_daemon.c
rename to tools/xenstored/lu_daemon.c
index 8c7522b0e1..71bcabadd3 100644
--- a/tools/xenstore/xenstored_lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -13,8 +13,8 @@
 #include <xen-tools/xenstore-common.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "lu.h"
 
 #ifndef NO_LIVE_UPDATE
 void lu_get_dump_state(struct lu_dump_state *state)
diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstored/lu_minios.c
similarity index 98%
rename from tools/xenstore/xenstored_lu_minios.c
rename to tools/xenstored/lu_minios.c
index ae0483575e..ede8b4dd47 100644
--- a/tools/xenstore/xenstored_lu_minios.c
+++ b/tools/xenstored/lu_minios.c
@@ -14,7 +14,7 @@
 #include <xen-tools/common-macros.h>
 
 #include "talloc.h"
-#include "xenstored_lu.h"
+#include "lu.h"
 
 /* Mini-OS only knows about MAP_ANON. */
 #ifndef MAP_ANONYMOUS
diff --git a/tools/xenstore/xenstored_minios.c b/tools/xenstored/minios.c
similarity index 97%
rename from tools/xenstore/xenstored_minios.c
rename to tools/xenstored/minios.c
index aa384e50c8..b5c3a205e6 100644
--- a/tools/xenstore/xenstored_minios.c
+++ b/tools/xenstored/minios.c
@@ -17,7 +17,7 @@
 */
 #include <sys/types.h>
 #include <sys/mman.h>
-#include "xenstored_core.h"
+#include "core.h"
 #include <xen/grant_table.h>
 
 void write_pidfile(const char *pidfile)
diff --git a/tools/xenstore/xenstored_osdep.h b/tools/xenstored/osdep.h
similarity index 100%
rename from tools/xenstore/xenstored_osdep.h
rename to tools/xenstored/osdep.h
diff --git a/tools/xenstore/xenstored_posix.c b/tools/xenstored/posix.c
similarity index 98%
rename from tools/xenstore/xenstored_posix.c
rename to tools/xenstored/posix.c
index b20504d1b6..6ac45fdb45 100644
--- a/tools/xenstore/xenstored_posix.c
+++ b/tools/xenstored/posix.c
@@ -24,8 +24,8 @@
 #include <sys/mman.h>
 
 #include "utils.h"
-#include "xenstored_core.h"
-#include "xenstored_osdep.h"
+#include "core.h"
+#include "osdep.h"
 
 void write_pidfile(const char *pidfile)
 {
diff --git a/tools/xenstore/talloc.c b/tools/xenstored/talloc.c
similarity index 100%
rename from tools/xenstore/talloc.c
rename to tools/xenstored/talloc.c
diff --git a/tools/xenstore/talloc.h b/tools/xenstored/talloc.h
similarity index 100%
rename from tools/xenstore/talloc.h
rename to tools/xenstored/talloc.h
diff --git a/tools/xenstore/talloc_guide.txt b/tools/xenstored/talloc_guide.txt
similarity index 100%
rename from tools/xenstore/talloc_guide.txt
rename to tools/xenstored/talloc_guide.txt
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstored/transaction.c
similarity index 99%
rename from tools/xenstore/xenstored_transaction.c
rename to tools/xenstored/transaction.c
index 1f892b002d..167cd597fd 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstored/transaction.c
@@ -30,9 +30,9 @@
 #include <unistd.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "domain.h"
 #include "xenstore_lib.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstored/transaction.h
similarity index 98%
rename from tools/xenstore/xenstored_transaction.h
rename to tools/xenstored/transaction.h
index b196b1ab07..90435b4fc9 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstored/transaction.h
@@ -17,7 +17,7 @@
 */
 #ifndef _XENSTORED_TRANSACTION_H
 #define _XENSTORED_TRANSACTION_H
-#include "xenstored_core.h"
+#include "core.h"
 
 enum node_access_type {
     NODE_ACCESS_READ,
diff --git a/tools/xenstore/utils.c b/tools/xenstored/utils.c
similarity index 100%
rename from tools/xenstore/utils.c
rename to tools/xenstored/utils.c
diff --git a/tools/xenstore/utils.h b/tools/xenstored/utils.h
similarity index 100%
rename from tools/xenstore/utils.h
rename to tools/xenstored/utils.h
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstored/watch.c
similarity index 98%
rename from tools/xenstore/xenstored_watch.c
rename to tools/xenstored/watch.c
index 7d4d097cf9..b66a9f1a39 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstored/watch.c
@@ -25,11 +25,11 @@
 #include <assert.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_watch.h"
+#include "watch.h"
 #include "xenstore_lib.h"
 #include "utils.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
+#include "domain.h"
+#include "transaction.h"
 
 struct watch
 {
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstored/watch.h
similarity index 98%
rename from tools/xenstore/xenstored_watch.h
rename to tools/xenstored/watch.h
index ea247997ad..d9ac6a334a 100644
--- a/tools/xenstore/xenstored_watch.h
+++ b/tools/xenstored/watch.h
@@ -19,7 +19,7 @@
 #ifndef _XENSTORED_WATCH_H
 #define _XENSTORED_WATCH_H
 
-#include "xenstored_core.h"
+#include "core.h"
 
 int do_watch(const void *ctx, struct connection *conn,
 	     struct buffered_data *in);
diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstored/xenstore_state.h
similarity index 100%
rename from tools/xenstore/include/xenstore_state.h
rename to tools/xenstored/xenstore_state.h
diff --git a/tools/xs-clients/.gitignore b/tools/xs-clients/.gitignore
new file mode 100644
index 0000000000..233fd8228a
--- /dev/null
+++ b/tools/xs-clients/.gitignore
@@ -0,0 +1,10 @@
+xenstore
+xenstore-chmod
+xenstore-control
+xenstore-exists
+xenstore-list
+xenstore-ls
+xenstore-read
+xenstore-rm
+xenstore-watch
+xenstore-write
diff --git a/tools/xenstore/Makefile b/tools/xs-clients/Makefile
similarity index 74%
rename from tools/xenstore/Makefile
rename to tools/xs-clients/Makefile
index dc39b6cb31..1c5740450a 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xs-clients/Makefile
@@ -1,18 +1,11 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-include Makefile.common
-
-xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
-xenstored: LDLIBS += $(LDLIBS_libxengnttab)
-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
+CFLAGS += -include $(XEN_ROOT)/tools/config.h
+CFLAGS += $(CFLAGS_libxenctrl)
+CFLAGS += $(CFLAGS_libxenguest)
+CFLAGS += $(CFLAGS_libxentoolcore)
+CFLAGS += $(CFLAGS_libxenstore)
 
 xenstore: LDLIBS += $(LDLIBS_libxenstore)
 xenstore: LDLIBS += $(LDLIBS_libxentoolcore)
@@ -28,9 +21,6 @@ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmo
 CLIENTS += xenstore-write xenstore-ls xenstore-watch
 
 TARGETS := xenstore $(CLIENTS) xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-TARGETS += xenstored
-endif
 
 .PHONY: all
 all: $(TARGETS)
@@ -38,9 +28,6 @@ all: $(TARGETS)
 .PHONY: clients
 clients: xenstore $(CLIENTS) xenstore-control
 
-xenstored: $(XENSTORED_OBJS-y)
-	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
-
 $(CLIENTS): xenstore
 	ln -f xenstore $@
 
@@ -64,10 +51,6 @@ TAGS:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
-ifeq ($(XENSTORE_XENSTORED),y)
-	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
-endif
 	$(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
 	set -e ; for c in $(CLIENTS) ; do \
@@ -79,9 +62,6 @@ uninstall:
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS))
 	rm -f $(DESTDIR)$(bindir)/xenstore
 	rm -f $(DESTDIR)$(bindir)/xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-	rm -f $(DESTDIR)$(sbindir)/xenstored
-endif
 	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
 		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
 	fi
diff --git a/tools/xenstore/xenstore_client.c b/tools/xs-clients/xenstore_client.c
similarity index 100%
rename from tools/xenstore/xenstore_client.c
rename to tools/xs-clients/xenstore_client.c
diff --git a/tools/xenstore/xenstore_control.c b/tools/xs-clients/xenstore_control.c
similarity index 100%
rename from tools/xenstore/xenstore_control.c
rename to tools/xs-clients/xenstore_control.c
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:34:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587368.918721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0MB-00024y-If; Mon, 21 Aug 2023 08:33:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587368.918721; Mon, 21 Aug 2023 08:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0MB-00024r-G3; Mon, 21 Aug 2023 08:33:51 +0000
Received: by outflank-mailman (input) for mailman id 587368;
 Mon, 21 Aug 2023 08:33: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 1qY0MA-00024l-Nf
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:33:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY0MA-0000DW-B4; Mon, 21 Aug 2023 08:33:50 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY0MA-0002fT-6Y; Mon, 21 Aug 2023 08:33:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=oKv5u/8N2ue/uuVt5cX9TOxiA/2Rc5Fs5DovXDhHP9w=; b=1UnEIU85s2rVOKmF625HIC4mH5
	W5UME32S01bI6+z3fMCIOCwVly6msfXvn2oNab3ze/auf8HiDdWpLSu+yjllJfFtnQ0pQ7pW/JzAA
	qMe6rkGPTuN7n+dQ+aiBqy0DPWefq/xb+oDEV3S5UvTGdc5bhAJfG7rEPB329E+zeCD4=;
Message-ID: <8795a659-38ef-45cb-a4f6-21cc24403af9@xen.org>
Date: Mon, 21 Aug 2023 09:33:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm()
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-2-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-2-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> At the moment, on MMU system, enable_mmu() will return to an
> address in the 1:1 mapping, then each path is responsible to
> switch to virtual runtime mapping. Then remove_identity_mapping()
> is called on the boot CPU to remove all 1:1 mapping.
> 
> Since remove_identity_mapping() is not necessary on Non-MMU system,
> and we also avoid creating empty function for Non-MMU system, trying
> to keep only one codeflow in arm64/head.S, we move path switch and
> remove_identity_mapping() in enable_mmu() on MMU system.
> 
> As the remove_identity_mapping should only be called for the boot
> CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
> enable_secondary_cpu_mm() for secondary CPUs in this patch.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com> > Signed-off-by: Henry Wang <Henry.Wang@arm.com>

One remark below. With or without it addressed:

Reviewed-by: Julien Grall <jgrall@amazon.com>

[...]

> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_secondary_cpu_mm:
> +        mov   x5, lr
> +
> +        load_paddr x0, init_ttbr
> +        ldr   x0, [x0]
> +
> +        bl    enable_mmu
> +        mov   lr, x5
> +
> +        /* Return to the virtual address requested by the caller. */
> +        ret
> +ENDPROC(enable_secondary_cpu_mm)

NIT: enable_mmu() could directly return to the virtual address. This 
would reduce the function to:

load_paddr x0, init_ttbr
ldr   x0, [x0]

/* Return to the virtual address requested by the caller.
b enable_mmu

> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   lr : Virtual address to return to.
> + *
> + * Clobbers x0 - x5
> + */
> +enable_boot_cpu_mm:
> +        mov   x5, lr
> +
> +        bl    create_page_tables
> +        load_paddr x0, boot_pgtable
> +
> +        bl    enable_mmu
> +
> +        /*
> +         * The MMU is turned on and we are in the 1:1 mapping. Switch
> +         * to the runtime mapping.
> +         */
> +        ldr   x0, =1f
> +        br    x0
> +1:
> +        mov   lr, x5
> +        /*
> +         * The 1:1 map may clash with other parts of the Xen virtual memory
> +         * layout. As it is not used anymore, remove it completely to avoid
> +         * having to worry about replacing existing mapping afterwards.
> +         * Function will return to the virtual address requested by the caller.
> +         */
> +        b     remove_identity_mapping
> +ENDPROC(enable_boot_cpu_mm)
> +
>   /*
>    * Remove the 1:1 map from the page-tables. It is not easy to keep track
>    * where the 1:1 map was mapped, so we will look for the top-level entry

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:40:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587376.918730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0Sf-0003k4-7d; Mon, 21 Aug 2023 08:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587376.918730; Mon, 21 Aug 2023 08:40:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0Sf-0003jx-52; Mon, 21 Aug 2023 08:40:33 +0000
Received: by outflank-mailman (input) for mailman id 587376;
 Mon, 21 Aug 2023 08:40:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY0Sd-0003jr-Qy
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:40:31 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 603d5161-3ffe-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 10:40:26 +0200 (CEST)
Received: from DUZPR01CA0128.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bc::21) by VI1PR08MB5440.eurprd08.prod.outlook.com
 (2603:10a6:803:134::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 08:40:23 +0000
Received: from DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4bc:cafe::6a) by DUZPR01CA0128.outlook.office365.com
 (2603:10a6:10:4bc::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 08:40:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT010.mail.protection.outlook.com (100.127.142.78) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 08:40:23 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Mon, 21 Aug 2023 08:40:23 +0000
Received: from 6a013e1d8ac7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 97C96652-ECA4-4261-8E03-BB35DFD96407.1; 
 Mon, 21 Aug 2023 08:40:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6a013e1d8ac7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 08:40:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB10281.eurprd08.prod.outlook.com (2603:10a6:102:367::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 08:40:13 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 08:40:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 603d5161-3ffe-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oRC81CpMIE1TvVzlsHMDBP1nBBT/Osj6kGEa1HN1P1U=;
 b=ozEmP4RHdxsunwpdwb2h88Hj2dNCw9jnh4cxF1+r1uqLx+TWEWqrx3mzqmg7gCArdASfZZs/bbpsmWrSfjjD04soUOFxjgCdOQBWTGzlajVASbekXEFITXA+iJfChGqa5e/eW5gqdrN5IN+XPvjnZ0C819v3poJjvpzTwy3GMi4=
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: 2d6e0e32a4b90250
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OAIt82mXNr/Phw3//JeX+XDM/70BZqUnNxdpqdz5GOncxL6UyFOVx6u0/bzOmKrWell4VH0r2H5v8dTEyJuTviEkjEVBRIhyahGpbQeQPvouXxrSsIT7CLbz4SF1TDSPDMwA6lUMwxsGKOO0kZXj2fsW7hk5vBYudbQzS/9uprPyhuzzUblrQzhbXUJ60VTRbJkJWkoYe1fle22E8/cIEdFKRcpSK9IwnFVQ6N+Ly8HMjH7gf/sB5k6vVj1NQN28zxwFUzUtnIPJI51gQNt+XYiUhbiLVnniwZ7YYZ9exok2JI8P6GqQASu+rOqzHoHBgb5oP86VmwJnj3JRUjSpYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oRC81CpMIE1TvVzlsHMDBP1nBBT/Osj6kGEa1HN1P1U=;
 b=VD9IuTu/L+t3h9Z4KClsHf/CGasvaoVMy+IS5M4F9/n4vw2sSNaUQysGLa19Gb6ZTwg5uoAHFCL8cEBzVo8svxyPB7DWZRERGy+Ey7om/qofw5zO+AbyfLsGdh0JYAGYMaV7eVwcoLQumxG4YviyrhxFIBTNOiD8glYcVyZaU26ZD5sJTI0GzXC8htBlD3tJwTODH7kwv79W2dh8B/XDYK4I1A54nY4f4PvbiHzEAJKFUUgPU/9/Fw6zm9V4Rt5g/YBsxwtu8xAeXDO+MQIxz4+/sy6tqUpOAICzoXFDxEw2o058rkjWWmGTBDroX155cKPl2IOIFIPp/0j8DLppWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=oRC81CpMIE1TvVzlsHMDBP1nBBT/Osj6kGEa1HN1P1U=;
 b=ozEmP4RHdxsunwpdwb2h88Hj2dNCw9jnh4cxF1+r1uqLx+TWEWqrx3mzqmg7gCArdASfZZs/bbpsmWrSfjjD04soUOFxjgCdOQBWTGzlajVASbekXEFITXA+iJfChGqa5e/eW5gqdrN5IN+XPvjnZ0C819v3poJjvpzTwy3GMi4=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Penny Zheng <Penny.Zheng@arm.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v5 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm()
Thread-Topic: [PATCH v5 01/13] xen/arm64: head.S: Introduce
 enable_{boot,secondary}_cpu_mm()
Thread-Index: AQHZzmdxxxwrdopbQkqcgqyAjPNzjq/0d5oAgAABuwA=
Date: Mon, 21 Aug 2023 08:40:12 +0000
Message-ID: <91647ABA-1123-45E0-B160-74BD6BE3696C@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-2-Henry.Wang@arm.com>
 <8795a659-38ef-45cb-a4f6-21cc24403af9@xen.org>
In-Reply-To: <8795a659-38ef-45cb-a4f6-21cc24403af9@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAWPR08MB10281:EE_|DBAEUR03FT010:EE_|VI1PR08MB5440:EE_
X-MS-Office365-Filtering-Correlation-Id: ba3b8029-dd99-450b-554f-08dba22242a6
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:
 d0vekTz0FYC+4ZMfkE04yOEUOhBfz5EOkiU7oLELkf7Kv8EOxdPF4Dg7qPnpyD6MOCjWNyfgznoPAXEtX6oNbhdvhMaVweS+Y0NiGsCSPQ/Ul4BcVoLQUqWPFV7CFrlJrpjstpbEPfrvGXwiBzPtKnCg2YC4DBCW/BhitNDQgBq0m0BOl/rTdzhLWOnXRb858VqJMMj8wpfvAYfDM0BEKUITasK/do9xtTIcm8Nu762rhUNGyXoHWj4Mr5FtkBahyeUPgA31Mw83w/We4A50Ir6ZVX8w4TqrsTfBJDMM2JbcEar5BWlp1RAjPmUAM89WEd+F0H7j7ykEO98TM+3MzCLFb6V0INQxZdYqzgr9h7rxS+qwLuYSwayz6/kawnGUdOTMHTky7IUkzGs/8QOEI3S7eZycrldQRTUQVjESWT51n/MtJ3wOuOo1KaPFR8jCeDlxH5fTyzeActGNTip27nVyujEYspsO0WegzpVdJOZ3zEZ6MWx8eSj7lhrkHT3aK0VmwI2DjQ+nvOoNzCsBXJOLPWgotjKtrlyLT/lJo6nZ3030zaUX/CWeeCLWg3fGigoYQdj+AvTpqZFO3wOFP9GZNSB7i9dvSY3WI0CQbUSC/3nnnTzM0/axjS70li38qZ31EtYZswLKvPBbnTsK4A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(39860400002)(366004)(376002)(1800799009)(186009)(451199024)(6486002)(71200400001)(38100700002)(6506007)(6512007)(122000001)(38070700005)(53546011)(83380400001)(36756003)(26005)(2616005)(33656002)(41300700001)(66556008)(2906002)(6916009)(66946007)(316002)(54906003)(66446008)(66476007)(91956017)(86362001)(76116006)(5660300002)(64756008)(8676002)(478600001)(4326008)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8B0FA67159E35843871DD11CD8AF5E0C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10281
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c9b9ec3b-2d15-4048-d4ea-08dba2223c50
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A8Df1wLctTOlKPBQGiiraQtQLwP6Hu7fc4OHol+2kw4e5HRtz/D6WvLyBSLURqwQPmEgF/BYhoRelp/yvBHYyDBN6RFoSqTwm5Wrv7kQGI6dAM7kzR5njZdrhBias9jQM+KqvvSRuQWdRC0IcjDag3+FpUre1vWh+LXSIoQ+RlPEowt72ql3/qFUmllDcnqY+Ht+iihEyjFHfisgpIF67LE2nEbjPuZMxspmmS1aDcHR/q4NgFzBKluXy3IcrYGX/T66v6RAJxTT2C0421wSjj33rw4SbKH7vJ4gSBid72ZHBxdBzZ8p9y043V29SctLo54aU5ZxgKSmSVCRqDNI1NF8wQziwbKhO+wu0hHPhp+ryjFf3rCghCcINVT52NigzUIlea3M0vr7N3493O067Pnt/ZELwVYFvwWrDc1ckgCxSmXHHu4GbRwDLJ0BXZv3QaeGhaQnMcSVNCJTK/vx6V3piL6gM07SP9lOI4Tvc6ZmFQ2VqdwGagSt0dcVpCRIgNOCVSLzwbCku+2E9ryNqjJVj+mmGuG4xRKHyBnzPycggru1F0a3LRJasr6RlxORXQI4l1nbJaSPahvz7CUb1zjLJrDVgDHBosa2o+5sEcWOQ4BA2OrmZkpSAcTDT11SFtZvORUfXiqkocNwbL80l4BDQl645uLchLOrvPJYHNfJCWGexal0IZ9UPRS+GYaDM1A35En6BeQM+7cAJtUZIA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(376002)(396003)(39850400004)(136003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(46966006)(2906002)(83380400001)(53546011)(40480700001)(6506007)(6486002)(5660300002)(336012)(33656002)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(6862004)(107886003)(4326008)(70206006)(316002)(6512007)(54906003)(70586007)(478600001)(82740400003)(356005)(81166007)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 08:40:23.3685
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba3b8029-dd99-450b-554f-08dba22242a6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5440

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMSwgMjAyMywgYXQgMTY6MzMsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAxNC8wOC8y
MDIzIDA1OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gRnJvbTogV2VpIENoZW4gPHdlaS5jaGVu
QGFybS5jb20+DQo+PiBBdCB0aGUgbW9tZW50LCBvbiBNTVUgc3lzdGVtLCBlbmFibGVfbW11KCkg
d2lsbCByZXR1cm4gdG8gYW4NCj4+IGFkZHJlc3MgaW4gdGhlIDE6MSBtYXBwaW5nLCB0aGVuIGVh
Y2ggcGF0aCBpcyByZXNwb25zaWJsZSB0bw0KPj4gc3dpdGNoIHRvIHZpcnR1YWwgcnVudGltZSBt
YXBwaW5nLiBUaGVuIHJlbW92ZV9pZGVudGl0eV9tYXBwaW5nKCkNCj4+IGlzIGNhbGxlZCBvbiB0
aGUgYm9vdCBDUFUgdG8gcmVtb3ZlIGFsbCAxOjEgbWFwcGluZy4NCj4+IFNpbmNlIHJlbW92ZV9p
ZGVudGl0eV9tYXBwaW5nKCkgaXMgbm90IG5lY2Vzc2FyeSBvbiBOb24tTU1VIHN5c3RlbSwNCj4+
IGFuZCB3ZSBhbHNvIGF2b2lkIGNyZWF0aW5nIGVtcHR5IGZ1bmN0aW9uIGZvciBOb24tTU1VIHN5
c3RlbSwgdHJ5aW5nDQo+PiB0byBrZWVwIG9ubHkgb25lIGNvZGVmbG93IGluIGFybTY0L2hlYWQu
Uywgd2UgbW92ZSBwYXRoIHN3aXRjaCBhbmQNCj4+IHJlbW92ZV9pZGVudGl0eV9tYXBwaW5nKCkg
aW4gZW5hYmxlX21tdSgpIG9uIE1NVSBzeXN0ZW0uDQo+PiBBcyB0aGUgcmVtb3ZlX2lkZW50aXR5
X21hcHBpbmcgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZvciB0aGUgYm9vdA0KPj4gQ1BVIG9ubHks
IHNvIHdlIGludHJvZHVjZSBlbmFibGVfYm9vdF9jcHVfbW0oKSBmb3IgYm9vdCBDUFUgYW5kDQo+
PiBlbmFibGVfc2Vjb25kYXJ5X2NwdV9tbSgpIGZvciBzZWNvbmRhcnkgQ1BVcyBpbiB0aGlzIHBh
dGNoLg0KPj4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+PiBT
aWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhlbmdAYXJtLmNvbT4gPiBTaWduZWQt
b2ZmLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+IA0KPiBPbmUgcmVtYXJr
IGJlbG93LiBXaXRoIG9yIHdpdGhvdXQgaXQgYWRkcmVzc2VkOg0KPiANCj4gUmV2aWV3ZWQtYnk6
IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQoNClRoYW5rcywgSSB3aWxsIHRha2Ug
dGhpcyB0YWcgd2l0aCAuLi4NCg0KPiANCj4gWy4uLl0NCj4gDQo+PiArLyoNCj4+ICsgKiBFbmFi
bGUgbW0gKHR1cm4gb24gdGhlIGRhdGEgY2FjaGUgYW5kIHRoZSBNTVUpIGZvciBzZWNvbmRhcnkg
Q1BVcy4NCj4+ICsgKiBUaGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gdG8gdGhlIHZpcnR1YWwgYWRk
cmVzcyBwcm92aWRlZCBpbiBMUiAoZS5nLiB0aGUNCj4+ICsgKiBydW50aW1lIG1hcHBpbmcpLg0K
Pj4gKyAqDQo+PiArICogSW5wdXRzOg0KPj4gKyAqICAgbHIgOiBWaXJ0dWFsIGFkZHJlc3MgdG8g
cmV0dXJuIHRvLg0KPj4gKyAqDQo+PiArICogQ2xvYmJlcnMgeDAgLSB4NQ0KPj4gKyAqLw0KPj4g
K2VuYWJsZV9zZWNvbmRhcnlfY3B1X21tOg0KPj4gKyAgICAgICAgbW92ICAgeDUsIGxyDQo+PiAr
DQo+PiArICAgICAgICBsb2FkX3BhZGRyIHgwLCBpbml0X3R0YnINCj4+ICsgICAgICAgIGxkciAg
IHgwLCBbeDBdDQo+PiArDQo+PiArICAgICAgICBibCAgICBlbmFibGVfbW11DQo+PiArICAgICAg
ICBtb3YgICBsciwgeDUNCj4+ICsNCj4+ICsgICAgICAgIC8qIFJldHVybiB0byB0aGUgdmlydHVh
bCBhZGRyZXNzIHJlcXVlc3RlZCBieSB0aGUgY2FsbGVyLiAqLw0KPj4gKyAgICAgICAgcmV0DQo+
PiArRU5EUFJPQyhlbmFibGVfc2Vjb25kYXJ5X2NwdV9tbSkNCj4gDQo+IE5JVDogZW5hYmxlX21t
dSgpIGNvdWxkIGRpcmVjdGx5IHJldHVybiB0byB0aGUgdmlydHVhbCBhZGRyZXNzLiBUaGlzIHdv
dWxkIHJlZHVjZSB0aGUgZnVuY3Rpb24gdG86DQo+IA0KPiBsb2FkX3BhZGRyIHgwLCBpbml0X3R0
YnINCj4gbGRyICAgeDAsIFt4MF0NCj4gDQo+IC8qIFJldHVybiB0byB0aGUgdmlydHVhbCBhZGRy
ZXNzIHJlcXVlc3RlZCBieSB0aGUgY2FsbGVyLg0KPiBiIGVuYWJsZV9tbXUNCg0K4oCmdGhpcyBm
aXhlZCBpbiB2NiBzaW5jZSBJIHRoaW5rIHRoZXJlIGlzIGxpa2VseSB0byBiZSBhIHY2LCBhbmQg
SSB0aGluayBJIGFsc28gbmVlZA0KdG8gYWRkcmVzcyB0aGUgY29tbWl0IG1lc3NhZ2Ugbml0IHBv
aW50ZWQgb3V0IGJ5IEphbiBpbiB0aGUgbGFzdCBwYXRjaC4NCg0KS2luZCByZWdhcmRzLA0KSGVu
cnkNCg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:43:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:43:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587382.918741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0VO-0004JK-LM; Mon, 21 Aug 2023 08:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587382.918741; Mon, 21 Aug 2023 08:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0VO-0004JD-Hn; Mon, 21 Aug 2023 08:43:22 +0000
Received: by outflank-mailman (input) for mailman id 587382;
 Mon, 21 Aug 2023 08:43: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 1qY0VN-0004J5-7t
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:43: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 1qY0VM-0000Yh-Ne; Mon, 21 Aug 2023 08:43:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY0VM-00032Q-II; Mon, 21 Aug 2023 08:43:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6mWBUftbpxrxoUVPJpp5HEf1rI5EL9wHTC0JSg1xFq0=; b=X2+ZeOo6ZDsm4vfDkqOCl9fwUF
	+zCrCZaAIRj8hlDqrd33mRdBuriUZSLHmN1yP6B7HXDELvTL5AaVUrEffd7vPBmIMP7iAPt426a+b
	AmbKGW0hYknO7UH8WgCjWqeIOTPFj35jP+XiNQ13pe1+BIy6Mg6rt5GcIZ5/K8x84swo=;
Message-ID: <71c23767-44fc-44d2-9bfd-0a0d0bdc69c1@xen.org>
Date: Mon, 21 Aug 2023 09:43:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 02/13] xen/arm: Introduce CONFIG_MMU Kconfig option
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-3-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-3-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> There are two types of memory system architectures available for
> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
> and the Protected Memory System Architecture (PMSA). According to
> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
> controls address translation, access permissions, and memory attribute
> determination and checking, for memory accesses made by the PE. And
> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
> scheme where an Memory Protection Unit (MPU) manages instruction and
> data access. Currently, Xen only suuports VMSA.

Typo: s/suuports/supports/

> 
> Introduce a Kconfig option CONFIG_MMU, which is currently default
> set to y and unselectable because currently only VMSA is supported.

NIT: It would be worth to explicit mention that this will be used in 
follow-up patches. So one will wonder what's the goal of introducing an 
unused config.

Or it could have been merged in the first patch splitting the MMU code 
so we don't introduce a config without any use.

> 
> Suggested-by: Julien Grall <jgrall@amazon.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:44:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:44:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587389.918750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0WQ-0004rV-TR; Mon, 21 Aug 2023 08:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587389.918750; Mon, 21 Aug 2023 08:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0WQ-0004rO-Qm; Mon, 21 Aug 2023 08:44:26 +0000
Received: by outflank-mailman (input) for mailman id 587389;
 Mon, 21 Aug 2023 08:44:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY0WP-0004rI-Bg
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:44:25 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY0WO-0000bM-VL; Mon, 21 Aug 2023 08:44:24 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY0WO-00032Q-Qi; Mon, 21 Aug 2023 08:44:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5szsNSxP3V1ZvcTQfGflSJChjKTa95IPl8p2VZx9ROI=; b=ypQmFM5KQXEBFvp1y75t7nQFvH
	AkGTjMwD2+eCXOg6R6QMjs9a6m+nPCF54hQjX+omT2Mp0+I99wGirT/81KNGaW/dDXjIvksQH3Okh
	Qw9IUkTS/5iIyyMlQqJGs67LC2veXHd4iK+9duH5Mea/xUVR30ecxYLMFq6TOYy3XGdw=;
Message-ID: <d6afb536-e0b6-42fd-81ea-cc37c00192f7@xen.org>
Date: Mon, 21 Aug 2023 09:44:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-4-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-4-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> We want to reuse head.S for MPU systems, but there are some
> code are implemented for MMU systems only. We will move such
> code to another MMU specific file. But before that we will
> do some indentations fix in this patch to make them be easier
> for reviewing:
> 1. Fix the indentations and incorrect style of code comments.
> 2. Fix the indentations for .text.header section.
> 3. Rename puts() to asm_puts() for global export
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Is this patch depends on the first two? If not, I will commit it before v6.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:46:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587396.918761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0Xz-0005T5-81; Mon, 21 Aug 2023 08:46:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587396.918761; Mon, 21 Aug 2023 08: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 1qY0Xz-0005Sy-4b; Mon, 21 Aug 2023 08:46:03 +0000
Received: by outflank-mailman (input) for mailman id 587396;
 Mon, 21 Aug 2023 08: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=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY0Xx-0005Sq-LW
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:46:01 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26acd1e4-3fff-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 10:45:59 +0200 (CEST)
Received: from DU2PR04CA0017.eurprd04.prod.outlook.com (2603:10a6:10:3b::22)
 by DB9PR08MB6427.eurprd08.prod.outlook.com (2603:10a6:10:25a::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 08:45:57 +0000
Received: from DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3b:cafe::d4) by DU2PR04CA0017.outlook.office365.com
 (2603:10a6:10:3b::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 08:45:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT018.mail.protection.outlook.com (100.127.142.74) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 08:45:57 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Mon, 21 Aug 2023 08:45:57 +0000
Received: from d620f8d2057d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5A2C9B06-8F99-4674-8371-C77341BFF9CA.1; 
 Mon, 21 Aug 2023 08:45:46 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d620f8d2057d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 08:45:46 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB9PR08MB9465.eurprd08.prod.outlook.com (2603:10a6:10:457::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 08:45:43 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 08:45:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26acd1e4-3fff-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BxS0xvry7hUaSbAyNLF2l5TwkUBYgSTilfARSSiU95Q=;
 b=mmacEz9PIDlW39IuOmRj7Le/U2r0p4NysWCiCTP2KMb0sZRg5z0hI8yErSuofCj/o1DCMkO0XgA5838YvdB00R3uUx29uFR5HvKBO0HR02w8g9AaxICjLJutwzHZNUsM7s5XY3gDjRz+CSMpuFlI0Ux6ki6wM+WFzev8zbO0gOs=
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: 69690af5d5c686d6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RLbdVzaqsTXAe3QDU9Gew//cpdB8vLS3kX2ZMtjwNfr3fNauwSZFTtR0dB6u5DvW7zOhqFJaLrFP+W+WdwYDqNTlryF3MIfYcsrSVMYYCw5AUufVe5tsDFlJf0GHbxPhGqLJeLKBS1rEtiUsH9bBLy7zhtuw9UtCxEnt7mF2jFS6CFvufw3bCyp5Winn//s35/IDT+PH3weGSE69e4glwB6bL5/IGLBYA7EvLPEvwGd9nOlycgXAWvfWBCetloZHvXox0/xCg1rHguodIpBAhM7PoV7oxP4eeXrmbwuRhm+6PHvs29aL6KL0xKk9tmlCrI5wqGRovwC3CtgNF0Q7Ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BxS0xvry7hUaSbAyNLF2l5TwkUBYgSTilfARSSiU95Q=;
 b=WpPVVm1/2NTs6ucgxsQK9Zzn2xpzZU+IKhN8o8yDqhrg0Ss2aJiPZHOgxPQgbkVS5u9F9aoeRPAV7xO+kySgQ0vcENkbDE+z8CgIajbOaTW0ptQZGkcGXC+v5B0uMAJlGOacTTwP6QwAbm5OBlL5n7u5Xc/jSoaAZPv9ODIa8XcN5TdnYd1mKzgE0by1G5WtXwR3gbULKp8mo6z7z+XLpzyPrHFDVh9N9hd6ndqVLXfrNLOfrYnN+kQvEPsrDG2vPlqCKpkkkW5v67w9VKl5lAlxuPtdw2Lr65NsAGx6y8fSSYJ/+U02sAKJbmeovyNB9xEeDxOemACG3OZdSsRZiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=BxS0xvry7hUaSbAyNLF2l5TwkUBYgSTilfARSSiU95Q=;
 b=mmacEz9PIDlW39IuOmRj7Le/U2r0p4NysWCiCTP2KMb0sZRg5z0hI8yErSuofCj/o1DCMkO0XgA5838YvdB00R3uUx29uFR5HvKBO0HR02w8g9AaxICjLJutwzHZNUsM7s5XY3gDjRz+CSMpuFlI0Ux6ki6wM+WFzev8zbO0gOs=
From: Henry Wang <Henry.Wang@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>, Wei
 Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v5 02/13] xen/arm: Introduce CONFIG_MMU Kconfig option
Thread-Topic: [PATCH v5 02/13] xen/arm: Introduce CONFIG_MMU Kconfig option
Thread-Index: AQHZzmd4NwPJsprWs0O6+0xd1gAzE6/0ekEAgAAAoAA=
Date: Mon, 21 Aug 2023 08:45:43 +0000
Message-ID: <5E6BC5CA-04C6-412F-91E0-77DBBB65878A@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-3-Henry.Wang@arm.com>
 <71c23767-44fc-44d2-9bfd-0a0d0bdc69c1@xen.org>
In-Reply-To: <71c23767-44fc-44d2-9bfd-0a0d0bdc69c1@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB9PR08MB9465:EE_|DBAEUR03FT018:EE_|DB9PR08MB6427:EE_
X-MS-Office365-Filtering-Correlation-Id: 7762e10f-cfcf-4821-f886-08dba22309a7
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:
 gBSVNm1pYttC/u9qkWkCwtXrgp8jEfsxBG/d8nyVOZN8kfEiDdNtKq1N3ROCfJywT21CAfl0JAh8R+oc99L8aiWvmGXl2BpLJppBnqoRsY/lIdSHxOnxmCsSKDDOssYXrlp0ITFxjzs09inPnveWpx9y7CyHxSGHwzRIRni0PZxxGIWPmkD3Zip5x3flXgmCDr7DIbFIjaiCo3HCFyF5Mq10HuVnZ5Vy+yKh7SNtRjqFoMZzxyxRElPOFc/mJNOhBZSNFqHOHZus6jy6c0Q7tAkzoqDVe2oCLODJkvzMS/zP4ZPaYOOQfbYD2qdWILngpPNWFWhf/FYmTzq354pb7vfb5UDcViWfgunGxeEBd2BezTfA0AvZQfeqxYjj1YxQAi3X7ce0bLIyHs3UCCLJ3cap8am1qkGwp2ECJSlFtIxBWlDRWH0GJgBl9TJSYe1CCbWKDdXc8+Yn78lpHI62VTtzOtORuIIpbpYf9eO5tdylz3gElHXqc3/iR5BH9WSySg2JzIXDKvIwvy4OGBx9dB3ZR40ia29603+6UfFvAucIC5Ng4UZUD92Pg0bIBmtw1+6b1ldRQ1Qvz5Ffaj/bV8bQaSxaHQiHA5AdOyX+KahGGAPLUsZk1iIjFlodg0tEgiLYfnwxR/oHCMFpHdIG4g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(136003)(39860400002)(451199024)(186009)(1800799009)(2906002)(83380400001)(53546011)(38100700002)(38070700005)(6506007)(6486002)(5660300002)(33656002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(64756008)(6916009)(54906003)(66446008)(66556008)(76116006)(66476007)(91956017)(478600001)(122000001)(71200400001)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3FBF9A800D3B514FA0C246628EC34AEE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9465
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:
 DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14975c18-f8b9-4e48-0d3e-08dba2230186
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xk+xX1GaqpQh+72JIEv9Da9KSsVHzkI+IsToevE5oIxLJhcWpTxDWV+6RdrOrVMZ62pRNSreMO0UHwSex/4yKJ5orQD/P2ubHPIPZVWbJRchaA9a5+MEPUuTliXqE+hN7nytyGmW8IsKNPmseZaxzrihlev9xTSSt9McCaxbi/MvOwqzmWOhFDKw+RQxw+/Bm7XSyZBryThvATGVf7xB5Q90eoHmIJHWgBVfngujD/l928+0dxB5lKj6FO/OxEafUG+0ZgOEROzFS0pC6CSoFS/ltSYzVcHk2jxK26+g+KTNT/+5IuHzNkVxz6oprDe3NcQpIU32grg+CkM9bxWI5Ot/cnIuuOYMb0mpn3JvE3HBxFhVtorCOx0RlTCeyQIN7sMHMu8ZdqQNH4+3LM2rRYCeDZVX0mr1s3+VRWDL/bl4mxKIKLYoe+t/RJm/g7y1QXJMI1SnplMufvqIE8nGmurtD03oNCWa7j43FI6f41O/rsq4xuEfgyB7RE6QjTtiIRSkjcIL/uu2P7d2Et0LJbzZ7yunAkmO89bIO/GOvtdGLOowAuSZfF9xnCSHGn/l00m3Juv/3prMin9hs7a2jgMbG63fgHfYFQlOYP4aiN5ZKL4vGDfJNU+LuN2TavzgTJoS2uxwFHSP8bN+MdQxDjlbpd17UGhbAmaT6a9dtfmQ6kp/64laGYZVbplUBGdfZ/A1sHqv1qnGqku0GR9iCtEBjjycJvZ4gY+6oQHwJ6s=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(376002)(396003)(136003)(39860400002)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(2906002)(83380400001)(53546011)(40480700001)(6506007)(6486002)(5660300002)(336012)(33656002)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(6862004)(107886003)(4326008)(70206006)(316002)(6512007)(54906003)(70586007)(478600001)(82740400003)(356005)(81166007)(40460700003)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 08:45:57.2615
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7762e10f-cfcf-4821-f886-08dba22309a7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6427

Hi Julien,

> On Aug 21, 2023, at 16:43, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 14/08/2023 05:25, Henry Wang wrote:
>> There are two types of memory system architectures available for
>> Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
>> and the Protected Memory System Architecture (PMSA). According to
>> ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
>> controls address translation, access permissions, and memory attribute
>> determination and checking, for memory accesses made by the PE. And
>> refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
>> scheme where an Memory Protection Unit (MPU) manages instruction and
>> data access. Currently, Xen only suuports VMSA.
>=20
> Typo: s/suuports/supports/

Oops, sorry about this, will fix in v6.

>=20
>> Introduce a Kconfig option CONFIG_MMU, which is currently default
>> set to y and unselectable because currently only VMSA is supported.
>=20
> NIT: It would be worth to explicit mention that this will be used in foll=
ow-up patches. So one will wonder what's the goal of introducing an unused =
config.
>=20
> Or it could have been merged in the first patch splitting the MMU code so=
 we don't introduce a config without any use.

Sure, I will think about this and fix in v6.

>=20
>> Suggested-by: Julien Grall <jgrall@amazon.com>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>=20
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks!

Kind regards,
Henry

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:54:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587406.918780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gK-0007V1-4e; Mon, 21 Aug 2023 08:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587406.918780; Mon, 21 Aug 2023 08:54:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gK-0007Uu-1d; Mon, 21 Aug 2023 08:54:40 +0000
Received: by outflank-mailman (input) for mailman id 587406;
 Mon, 21 Aug 2023 08:54:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ixuA=EG=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qY0gJ-0007FO-49
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:54:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b5077e5-4000-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 10:54:37 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 6D4DB4EE0737;
 Mon, 21 Aug 2023 10:54:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b5077e5-4000-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 0/2] automation: avoid unnecessary analyses
Date: Mon, 21 Aug 2023 10:54:05 +0200
Message-Id: <cover.1692607487.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to reduce the analyses performed by the ECLAIR
runner by avoiding some branches already excluded by other jobs
and requiring analyses on people/.* to be manually triggered.

---
Changes in v2:
- move some changes from 1/2 to 2/2.
- remove useless except clause in .yocto-test
- avoid ECLAIR jobs if the WTOKEN variable is not defined

Simone Ballarin (2):
  automation/eclair: avoid unintentional ECLAIR analysis
  automation: avoid pipelines on specific branches

 .gitlab-ci.yml                    |  6 ++++++
 automation/gitlab-ci/analyze.yaml | 22 +++++++++++++++++-----
 automation/gitlab-ci/build.yaml   | 11 -----------
 automation/gitlab-ci/test.yaml    |  5 -----
 automation/scripts/eclair         |  5 -----
 5 files changed, 23 insertions(+), 26 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:54:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587405.918771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gF-0007Fb-V0; Mon, 21 Aug 2023 08:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587405.918771; Mon, 21 Aug 2023 08:54:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gF-0007FU-Qb; Mon, 21 Aug 2023 08:54:35 +0000
Received: by outflank-mailman (input) for mailman id 587405;
 Mon, 21 Aug 2023 08:54:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY0gE-0007FO-4v
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:54:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5803aaf4-4000-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 10:54:31 +0200 (CEST)
Received: from DUZPR01CA0181.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::22) by DB9PR08MB7510.eurprd08.prod.outlook.com
 (2603:10a6:10:301::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 08:54:28 +0000
Received: from DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b3:cafe::32) by DUZPR01CA0181.outlook.office365.com
 (2603:10a6:10:4b3::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 08:54:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT047.mail.protection.outlook.com (100.127.143.25) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 08:54:28 +0000
Received: ("Tessian outbound 169aaa6bf2b7:v175");
 Mon, 21 Aug 2023 08:54:27 +0000
Received: from decdf67073bd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 87B3C6FE-FB05-4D74-9BED-90E6443AF19E.1; 
 Mon, 21 Aug 2023 08:54:20 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id decdf67073bd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 08:54:20 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 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.6699.24; Mon, 21 Aug
 2023 08:54:19 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 08: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>
X-Inumbo-ID: 5803aaf4-4000-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tT+Iwelypa5jSG7/ijsvg7irY2o5+ZrC4sNzUyV+gmM=;
 b=pPaDOG4DCTiH5AS6OK69abTGIoO/HXBgF+I9kQ62vDvck60sH/97o/f1Xgaxo3tn4G0iksDuH0elxoIGVXOu+u+wlAJD5M4A136LhvaVecKAukheJe1SlxU+ms2fTemses2cx4XWZ99ai/vUO5xMR7kfaD5KJn9qwDzmNAzRxoU=
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: 0494657980b76d3f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QPxqoNShdTS+izJpwsLU0KNrJ5zDjG48PdY/4K8HzsRJWxA5e/Gw6a4eYgepDy+O021lyPbAFsgfFjoh9bFtx2vlA+AWAyJBHBi5pfmxW0Yw2XuOncgxfkaYmd100Fm0JwUbDfCKjQszp0oFkGzw77V99/+qemehnlNMIPR23yhRsoyQIk4MtauI6SjgsAw0StC1GN2edY/XPEhmBTBR3p6GC28g7qQGL18ltN2ayTXp7co0aU9w/Kprse6UyYj2jEijXMI4gvQwhLo/h7ZELZAY0X3MNyGD8FKVOMLLZH6/tnoh0bdQibXsfkiiPidx9uy8HOt+QEf4o/4U0OujFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tT+Iwelypa5jSG7/ijsvg7irY2o5+ZrC4sNzUyV+gmM=;
 b=nHy9yb+id5idXI4rmUvThobco6ojQzakG5el8mSxzvnXZfEQAM7p4tp55VtRfyPiaS0vMcc56r09KwEECcO9wFH9VrryTZt15VgNjqAgQtNRyn9+WiQrhtRYPzFRLg3dqlTXoomlfCcC3gxW9OZ/KbTPeKu/ynWhdSNHPZgAwNTsGmh1uyLgJ5XEiDynbCuMm1E9dRw+3+mVQlKwXHVrj/CsJuwt0w1aud6IfmFK8V8I8p2h8wT2hZwsPuYvyU051EAJ/z/zhlcZZyM680Mi6t/oDtk2lwODctfRgxr/AVNyod/qYXPrRwhNT4iiyx6PHVEOokLbxj0kyqFXNoag1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=tT+Iwelypa5jSG7/ijsvg7irY2o5+ZrC4sNzUyV+gmM=;
 b=pPaDOG4DCTiH5AS6OK69abTGIoO/HXBgF+I9kQ62vDvck60sH/97o/f1Xgaxo3tn4G0iksDuH0elxoIGVXOu+u+wlAJD5M4A136LhvaVecKAukheJe1SlxU+ms2fTemses2cx4XWZ99ai/vUO5xMR7kfaD5KJn9qwDzmNAzRxoU=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <Penny.Zheng@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v5 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Thread-Topic: [PATCH v5 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Thread-Index: AQHZzmd24OlLZqf0JE+rdrv6VmJecK/0eo+AgAACuQA=
Date: Mon, 21 Aug 2023 08:54:19 +0000
Message-ID: <0D2191B5-C084-4AE7-852E-A18A555C93CB@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-4-Henry.Wang@arm.com>
 <d6afb536-e0b6-42fd-81ea-cc37c00192f7@xen.org>
In-Reply-To: <d6afb536-e0b6-42fd-81ea-cc37c00192f7@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9552:EE_|DBAEUR03FT047:EE_|DB9PR08MB7510:EE_
X-MS-Office365-Filtering-Correlation-Id: 93f77d40-8c0e-4ffd-1dad-08dba2243a20
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:
 FdumkueKND1gDXvI99T29ZBT0HtWst4RTGwasLjTgZQklH1GsXk1RSFFOdxn+Hw8g0wMlILKJZHHhlaTYsrYft7A219ibal2T2FpUvLk2ZfeHvz86KE+OaVHRJExO4aPt02SpHJQp+GBseFwo+9nrmBWBENhCZJAMkBSEjGFsQ3uY2uTFrZZQ5xSnzRStJalX7z1EuT2er3e1HRKJrZsbo8WTrydGfzLHmH/e41ac3YAclDGFCqWjW6lfyp/4A6cMFLkSoapq/BN/LbQk0QMJE++PnQKKQuWG78649Za2cF6T8j+2ZZXRlHu0F+TKjUd80sF1KNo65PQkfLA0QYiAcGIsuXmvymLeY4AKFsVNm/yMPKmZnnMaMeRqS3VpKyQB3fIfZsavGnztQlfOMFlX3ZKyLRSdiGq5JHMi6BlYyPTcN+Gq9BJvnW+2XIALa69uLdEJo8JPXviadFrUkYA0wHcZUAxASnUy+kgTZVEooQGr35dfLHyYUFGfWNCyvlQE4zZ2Fi5iddWrkk0v57ReoCp5hqlf97y+Tf/DC2wtyB04nswonEWsmzwitZw3qfCwdYQURm0Mu/a5A6rPk0VhUM9y7BbmrYj5zIdX9Vh1a7O5cFchNVNVv7/7bn9Ob62IKHeWCEvkSBdaMknpD7lhw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(136003)(39860400002)(451199024)(186009)(1800799009)(2906002)(83380400001)(53546011)(38100700002)(38070700005)(6506007)(6486002)(5660300002)(33656002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(64756008)(6916009)(54906003)(66446008)(66556008)(76116006)(66476007)(91956017)(478600001)(122000001)(71200400001)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CE1D9712BF6B7B4B8B3167AF4798F650@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9552
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4e891464-c14d-49da-6c04-08dba22434c6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yx64Sg9OABuvx8QIuiATND2oZA20gbMwBglSlNh+vz9jmZ/fEL7Q9Szuw3BhGGBQZDazCYUSAKkoUrKSPKoGJJC5bEtDiWCbF8He+Z3qCo9mCUsc4p4yDfeZkamVur+HSQsQj5xnHGEeNOw0Twdc2XatjIqOACfbTdjIZUav1x7mhDN2hd5MIhclWmER+dyHhqoPO+00Za4cf72B2DonL77dvxMxrELG7OWhmurxJkjN766+rmKj6jaSXjfWTLycyK7MDtYA5kYSRxVy5kCVfZ/XpBIu1ai5+UliKg9D8WxAjGUiWzuCsmN4HvoO0NWvWzGGrFjpaQMc5KOxQ/pB2M/tTYdK4HnMpVURZJZdXmcbCTc9HvDKd/8DhniaX1xZ8bOCgGsU/KIJi2OQnPUd4AQ0K6bKjPyGBi3LUyevGG61RYvbHabDLImUvbwf9UnzIpx8kWdlPGj4QzOkMEz3tfXRsdxwbALfwRwbmiGdcLfWGloyVsklf6ETIrx4AAZLSJnU6Gyz0bgzYQtgB2R77/Lx+zYQf41C1Um5QL1CPz0P0saoLYJzasPJH7pOSWlnGMjCzBjUYKKXZWTmPV3QPVh5vZCLl92Z9Rf+0FijCa1g/BzjoYvnWp50WpZABrI5RSwNCjMre87EkxHvGpSP+WPaJjp+e6Hpiz8qWmG+JYe0/RiLcKwKd7EtgJq+IthO1MYJYtJFNIrM5ivgCpKp4hSdtQah65lLXbZdwzBj/TM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(376002)(396003)(136003)(39860400002)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(2906002)(83380400001)(53546011)(40480700001)(6506007)(6486002)(5660300002)(336012)(33656002)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(6862004)(107886003)(4326008)(70206006)(316002)(6512007)(54906003)(70586007)(478600001)(82740400003)(356005)(81166007)(40460700003)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 08:54:28.0606
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93f77d40-8c0e-4ffd-1dad-08dba2243a20
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7510

Hi Julien,

> On Aug 21, 2023, at 16:44, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 14/08/2023 05:25, Henry Wang wrote:
>> From: Wei Chen <wei.chen@arm.com>
>> We want to reuse head.S for MPU systems, but there are some
>> code are implemented for MMU systems only. We will move such
>> code to another MMU specific file. But before that we will
>> do some indentations fix in this patch to make them be easier
>> for reviewing:
>> 1. Fix the indentations and incorrect style of code comments.
>> 2. Fix the indentations for .text.header section.
>> 3. Rename puts() to asm_puts() for global export
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>=20
> Is this patch depends on the first two? If not, I will commit it before v=
6.

Good point, no this patch is independent from the first two. Also I just
tested applying this patch on top of staging and building with and without
Earlyprintk. Xen and Dom0 boot fine on FVP for both cases.

So please commit this patch if you have time. Thanks!

Kind regards,
Henry

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:54:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587407.918791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gQ-0007oA-Aj; Mon, 21 Aug 2023 08:54:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587407.918791; Mon, 21 Aug 2023 08:54:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gQ-0007o3-81; Mon, 21 Aug 2023 08:54:46 +0000
Received: by outflank-mailman (input) for mailman id 587407;
 Mon, 21 Aug 2023 08:54: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=ixuA=EG=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qY0gP-0007nI-Ag
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:54:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f425fbf-4000-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 10:54:44 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4F7894EE0739;
 Mon, 21 Aug 2023 10:54: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: 5f425fbf-4000-11ee-8782-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 1/2] automation/eclair: avoid unintentional ECLAIR analysis
Date: Mon, 21 Aug 2023 10:54:06 +0200
Message-Id: <4de9a2e93015b12186675b9a3f7ebff7fcd71baa.1692607487.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692607487.git.simone.ballarin@bugseng.com>
References: <cover.1692607487.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With this patch, ECLAIR jobs will need to be manually
started for "people/.*" pipelines and will not be triggered
if the WTOKEN variable is missing.

This avoids occupying the runner on analyzes that might
not be used by developers.

If developers want to analyze their own repositories
they need to launch them from GitLab.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v2:
- avoid ECLAIR jobs if the WTOKEN variable is not defined.
---
 automation/gitlab-ci/analyze.yaml | 22 +++++++++++++++++-----
 automation/scripts/eclair         |  5 -----
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 4aa4abe2ee..bd9a68de31 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -18,28 +18,40 @@
       - '*.log'
     reports:
       codequality: gl-code-quality-report.json
+  rules:
+    - if: $WTOKEN == null
+      when: never
+    - when: always
   needs: []
 
-eclair-x86_64:
+.eclair-analysis:triggered:
   extends: .eclair-analysis
+  allow_failure: true
+  rules:
+    - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
+      when: manual
+    - !reference [.eclair-analysis, rules]
+
+eclair-x86_64:
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "Set1"
-  allow_failure: true
 
 eclair-ARM64:
-  extends: .eclair-analysis
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "Set1"
-  allow_failure: true
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
   rules:
-    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_PIPELINE_SOURCE != "schedule"
+      when: never
+    - !reference [.eclair-analysis, rules]
 
 eclair-x86_64-Set1:on-schedule:
   extends: .eclair-analysis:on-schedule
diff --git a/automation/scripts/eclair b/automation/scripts/eclair
index 813a56eb6a..14e47a6f97 100755
--- a/automation/scripts/eclair
+++ b/automation/scripts/eclair
@@ -4,11 +4,6 @@ ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
 ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
 ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
 
-if [ -z "${WTOKEN:-}" ]; then
-    echo "Failure: the WTOKEN variable is not defined." >&2
-    exit 1
-fi
-
 "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"
 
 ex=0
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 08:54:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 08:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587408.918801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY0gR-000852-I1; Mon, 21 Aug 2023 08:54:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587408.918801; Mon, 21 Aug 2023 08: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 1qY0gR-00084t-F2; Mon, 21 Aug 2023 08:54:47 +0000
Received: by outflank-mailman (input) for mailman id 587408;
 Mon, 21 Aug 2023 08:54: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=ixuA=EG=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qY0gP-0007nI-Vl
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 08:54:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60272ce1-4000-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 10:54:45 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C77444EE0737;
 Mon, 21 Aug 2023 10:54: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: 60272ce1-4000-11ee-8782-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	andrew.cooper3@citrix.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 2/2] automation: avoid pipelines on specific branches
Date: Mon, 21 Aug 2023 10:54:07 +0200
Message-Id: <8ca21d49e7b95e788a4c092c1b8dcd3d1245d638.1692607487.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692607487.git.simone.ballarin@bugseng.com>
References: <cover.1692607487.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch avoids the execution of pipelines in the
following branches:
- master
- smoke
- coverirty-tested/.*
- stable-.*

The job-level exclusions have been removed as they are
pointless with this new workspace-level exclusion.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v2:
- remove useless except clause in .yocto-test.
---
 .gitlab-ci.yml                  |  6 ++++++
 automation/gitlab-ci/build.yaml | 11 -----------
 automation/gitlab-ci/test.yaml  |  5 -----
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ee5430b8b7..ef4484e09a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,9 @@
+workflow:
+  rules:
+    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
+      when: never
+    - when: always
+
 stages:
   - analyze
   - build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 1a4a5e490d..b633facff4 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -12,11 +12,6 @@
       - '*/*.log'
     when: always
   needs: []
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .gcc-tmpl:
   variables: &gcc
@@ -214,11 +209,6 @@
 .yocto-test:
   stage: build
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
   script:
     - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT}
   variables:
@@ -269,7 +259,6 @@
 .test-jobs-artifact-common:
   stage: build
   needs: []
-  except: !reference [.test-jobs-common, except]
 
 # Arm test artifacts
 
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 810631bc46..8737f367c8 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -1,11 +1,6 @@
 .test-jobs-common:
   stage: test
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .arm64-test-needs: &arm64-test-needs
   - alpine-3.18-arm64-rootfs-export
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 09:18:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 09:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587437.918810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY134-0003Si-BO; Mon, 21 Aug 2023 09:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587437.918810; Mon, 21 Aug 2023 09:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY134-0003Sb-8p; Mon, 21 Aug 2023 09:18:10 +0000
Received: by outflank-mailman (input) for mailman id 587437;
 Mon, 21 Aug 2023 09:18: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 1qY132-0003SV-IK
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 09:18: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 1qY132-0001L3-3H; Mon, 21 Aug 2023 09:18:08 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY131-0004eW-U9; Mon, 21 Aug 2023 09:18:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PeR3DWP6ML9TMDhiiCrGMKnX38BXCKnT5/9aVEsTcnI=; b=Ux27h4UVueTHOuvGDjSdCxOMd9
	bO67xLQ9a/FN7sHa5Dvb6EM5mPOph/vJZzq5KRkbG4+KGoAz4NCgdikpWNoqLDDRMJqyhrLWbS+Jf
	WeUVWcPFgV6hrd8PwU3mlLk39lkKF2WxSV8JrdqnRfa88XlO5oWE5UFKAcSs/zaWuOYA=;
Message-ID: <bffdb783-fd63-4a93-b80b-42634643b2d3@xen.org>
Date: Mon, 21 Aug 2023 10:18:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S to
 mmu/head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-5-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-5-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> The MMU specific code in head.S will not be used on MPU systems.
> Instead of introducing more #ifdefs which will bring complexity
> to the code, move MMU related code to mmu/head.S and keep common
> code in head.S. Two notes while moving:
> - As "fail" in original head.S is very simple and this name is too
>    easy to be conflicted, duplicate it in mmu/head.S instead of
>    exporting it.
> - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
>    setup_fixmap to please the compiler after the code movement.

I am not sure I understand why you are saying "to please the compiler" 
here. Isn't it necessary for the linker (not the compiler) to find the 
function? And therefore there is no pleasing (as in this is not a bug in 
the toolchain).

Other than that, the split looks good to me.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 09:22:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 09:22:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587446.918821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY173-000534-Ud; Mon, 21 Aug 2023 09:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587446.918821; Mon, 21 Aug 2023 09: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 1qY173-00052x-RQ; Mon, 21 Aug 2023 09:22:17 +0000
Received: by outflank-mailman (input) for mailman id 587446;
 Mon, 21 Aug 2023 09:22: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 1qY172-00052r-Fy
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 09:22: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 1qY172-0001Q4-5M; Mon, 21 Aug 2023 09:22:16 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY171-0004tP-VW; Mon, 21 Aug 2023 09:22:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=F4aWz34myItYzHoNROXGKm1R7zviZhXHGfXUClxSW/8=; b=a/34EzSi2heKgnRp1c47psClwf
	gcyLv67AygQu7ycj1iZ2ZTJkg9Q190PS1yoh599MGPctvQr8kdsg/51TfjPYjrNHN5atqdXCQwiR/
	XYxz6VUert4Lh9FmdFxbRZ54Z1GW7OGvIA0NYe/LiNJ/HH/VaPoC/smnyPbFl7OB2LN8=;
Message-ID: <2178de3c-db05-44ac-a7d7-fa605723d16e@xen.org>
Date: Mon, 21 Aug 2023 10:22:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 06/13] xen/arm64: Fold setup_fixmap() to
 create_page_tables()
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-7-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-7-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> The original assembly setup_fixmap() is actually doing two seperate
> tasks, one is enabling the early UART when earlyprintk on, and the
> other is to set up the fixmap (even when earlyprintk is off).
> 
> Per discussion in [1], since commit
> 9d267c049d92 ("xen/arm64: Rework the memory layout"), there is no
> chance that the fixmap and the mapping of early UART will clash with
> the 1:1 mapping. Therefore the mapping of both the fixmap and the
> early UART can be moved to the end of create_pagetables().
> 
> No functional change intended.

I would drop this sentence because the fixmap is now prepared much 
earlier in the code. So there is technically some functional change.

> 
> [1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed80@xen.org/
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 09:30:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 09:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587454.918831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1F5-0006bF-QG; Mon, 21 Aug 2023 09:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587454.918831; Mon, 21 Aug 2023 09:30:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1F5-0006b8-N0; Mon, 21 Aug 2023 09:30:35 +0000
Received: by outflank-mailman (input) for mailman id 587454;
 Mon, 21 Aug 2023 09:30:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY1F4-0006b2-Gh
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 09:30:34 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60a02511-4005-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 11:30:33 +0200 (CEST)
Received: from AM6PR04CA0062.eurprd04.prod.outlook.com (2603:10a6:20b:f0::39)
 by GVXPR08MB7750.eurprd08.prod.outlook.com (2603:10a6:150:68::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 09:30:01 +0000
Received: from AM7EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::c4) by AM6PR04CA0062.outlook.office365.com
 (2603:10a6:20b:f0::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 09:30:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT034.mail.protection.outlook.com (100.127.140.87) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 09:30:00 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Mon, 21 Aug 2023 09:30:00 +0000
Received: from 523af7f451fb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9849C67A-183A-42EC-A6DC-F69612A379FC.1; 
 Mon, 21 Aug 2023 09:29:53 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 523af7f451fb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 09:29:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBAPR08MB5591.eurprd08.prod.outlook.com (2603:10a6:10:1ae::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 09:29:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 09:29:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60a02511-4005-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BQxnPckA8TIueSsLHUcrBSNPTsmk8PCrru6F01B/7Vs=;
 b=zgcJAt7s6cVsD9mj9FDzovAhex68hANvYQpXtENXTMQcXtlXTrrs3Ca1Y/+L3GKvC0yJqKejofqD9nEd5c1JvN66r9Aoh7E4DdegEcYbPKa0SOTkL/lh8r/vXPI80wklRl5cMB/shahFBcsPx2Uc5KaF+0R4Jg4imiQMLomwhLE=
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: e4d1d8be298c8f42
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vs2jttdllGym8hdpLJpm251bnv0sJUzxs3A7afCR0NhhzLu+FPi+XoS7RtF7mnl+Pm68o9vLDAI4KREN7ke+t4VrJL7dsBlWMSwg3qoQCfWDh5Z6sVTgzgnbAgQcNJ9x4IyUhYhq7DFCFf8NyEjKzaPzFLO0V2z6zcwXcuqeiTimt/SS+lfkAjGAPMqM/WmfXUoYpUF35k+RSNXtR3x9MvfjVX7jFqZGr2ezlc96ggRdIIQ7LT67c6JHq7xP+XCVi+ZUMJdmNJCuIIVigadkqd8FBdz2KkEauKP9eZWElis24NZUgTIMSCrJrRSU65KrX6+7O+v2AJv4D5POghk9Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BQxnPckA8TIueSsLHUcrBSNPTsmk8PCrru6F01B/7Vs=;
 b=We9vW/Stfi7J4pnyTN9bSiwItYeKUKtuAxjg2088jnWp72rC6EdqY+NfedsaaYYgwEyS2i3qrhFbiBbTppa7lyrJKh7D9mMtBEEljoD99A+91RcV7hpuqmc1v+iT7/ZgzQmSGCwI115vd9huNgjnP8kU2JzXX9RAvDY9Z4ydGDxnOI/yubACkgIsdHRsGDctA6Vaq+Vn1Xl6++gnz7kQRILAE5fs3+TXlkaaWbriVrLAipOJpSBsQ4ib9AHaFXJ9n3HFzTlEf7yG3iryjBHQEQObtcU6RWmjCHXSmJEd+yyXUY7vN16mFTG1Sob7bQWL4ebiHBQW2bCBsDMnddCrTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=BQxnPckA8TIueSsLHUcrBSNPTsmk8PCrru6F01B/7Vs=;
 b=zgcJAt7s6cVsD9mj9FDzovAhex68hANvYQpXtENXTMQcXtlXTrrs3Ca1Y/+L3GKvC0yJqKejofqD9nEd5c1JvN66r9Aoh7E4DdegEcYbPKa0SOTkL/lh8r/vXPI80wklRl5cMB/shahFBcsPx2Uc5KaF+0R4Jg4imiQMLomwhLE=
From: Henry Wang <Henry.Wang@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>, Penny
 Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S to
 mmu/head.S
Thread-Topic: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S
 to mmu/head.S
Thread-Index: AQHZzmd/BB25uAPEnE2BQngtG1/sgq/0g/oAgAADOQA=
Date: Mon, 21 Aug 2023 09:29:50 +0000
Message-ID: <5111F5D4-49E0-45B2-B58A-EE2F178E65AE@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-5-Henry.Wang@arm.com>
 <bffdb783-fd63-4a93-b80b-42634643b2d3@xen.org>
In-Reply-To: <bffdb783-fd63-4a93-b80b-42634643b2d3@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DBAPR08MB5591:EE_|AM7EUR03FT034:EE_|GVXPR08MB7750:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c96a844-ebca-427d-1c20-08dba229315c
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:
 ZjqSQA9WP0F2Xs3Zo9UxI8OPfnqG77cpJq0jiwLVWPq468vvO80wpfG+ZphANPcGAhAiyJKOK7NCirMGSsh72uBVYEQii0dT1PXWBnCDlikSCKo14Ro7xNH/H/HuquPOnOAP7qZGqytWMXcqJxXZrAuJlg0tFgTCCScQf+vTvYnyV8227U3kesPmXmKsXL1vbCXMolCF1sHx+bj9RPDoWxSmJ4GprG8tvdu7n3z73oBC+tCHeAtmI2H93cbLoKSxBkoM9gu3Ps+is0k92+NQKSdyFTEwAevl0jMkPo3/F8UdJq/JObXv3OjCMDbMXan1lMG54hZMMm6cTMQZdDF3rpm5KMDUj2nIiOiCV+lkamvMu1NoZ30AkUoecrnEXOKTJvcy1npL3sCO1rDRCsxxHCsr5FwOgDSXIebEKbb24bSqOHPpSVGCDr+1B1UNLX5gFBaDUkuHkvo9oazEcJ4LDh+fNxjdFRs7RwaojBVIHn1U0iUuGU8YIGWZn3X+s4tuLz2YdCpv2dfV0hOpkKCLwk36084GqbQCJ5sxBQYCUTfPPouuETYNzcG5kevVgPvJTcqciwTpe7ft+aRfFqsPK2jAHDVCsngkWXzKfQhP5Dgj6OaYqRD4H7DueDeuwsMGI72BlHdW1E825ci114BsnQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(39850400004)(136003)(451199024)(186009)(1800799009)(2906002)(53546011)(38100700002)(38070700005)(6506007)(6486002)(5660300002)(33656002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(64756008)(6916009)(54906003)(66446008)(66556008)(76116006)(66476007)(91956017)(478600001)(122000001)(71200400001)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DA4F1E996E6473469BF51D8AD898C82A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5591
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:
 AM7EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e3118d9a-0edb-4039-f081-08dba2292b5f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0Q5JMxw44supR7LrFmNpnCnVHF4qEz9Fd0dBxlj+qFilJswhpRcipIYItmofod/kzQEN7teI5MsymKWlNlCSj1uDWPMDLJlS/SiP9XdBZVSMoi3KMQLjHQXxidmJD9SS+jxl0no2HG/U00IpcjEaN6OnNGCsT/YyghJhMvW3e60pEVPvYGZxmjJTFazCzeSDVbJFz3WQr4SofeCYP5u0OQqCHwMy6prJEJktcyPO4KFGN3Xnn0v7DFSqERk62bmF7KK3gviFsco0ba6p4KXr0llpMHHidM6HsxUObXexWq4Cfw2ioJZvdW3LMVjWSLFArfHUUX8jsgzsgwfwY9hzU2UkgLOsHBvDZiX8Zw+9UY2E0a71W0QbHdE0WR3LaMd7NBayEk1vYGuKSI/X+rqQ3Yc68ybIHcLgaYddBDYX9lq61/IdDkqMX+XKODILVi9HhJKbUVNwoiH0DKPX9uZY3C9rrgEBpQAO814QPZD71x5GBcwPxcfCeXBK8FIHHEk8pm7aO1NM1fiiga3ZbWT0WACs2JOJFV6LNcCoaZsSvKO04+uyR7r5IZm9kabZcI1F8cDN+jywHI0rSpx3WYsCFjEKnnJOqFmCLGf50oe7y7A2Yz5htlnGPrACFltD3GqA4sSUKsbynN/cKCrqIiGcSnw5rNCt54s73TOcp2r5yRCq88NG3xHNyzsVnJFWpHQIer/RH1mtyf4HDUAQv1Hn0zqdwnSb1pBb7nOQbDWmMs98X+H+OIT8m/LmJrTfphqL
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(346002)(376002)(39860400002)(396003)(1800799009)(451199024)(82310400011)(186009)(46966006)(36840700001)(40470700004)(70206006)(54906003)(2906002)(6862004)(4326008)(478600001)(8936002)(8676002)(316002)(41300700001)(70586007)(5660300002)(53546011)(6506007)(6486002)(6512007)(2616005)(26005)(336012)(40460700003)(81166007)(47076005)(36860700001)(356005)(33656002)(82740400003)(86362001)(36756003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 09:30:00.7911
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c96a844-ebca-427d-1c20-08dba229315c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7750

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMSwgMjAyMywgYXQgMTc6MTgsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAxNC8wOC8y
MDIzIDA1OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gVGhlIE1NVSBzcGVjaWZpYyBjb2RlIGlu
IGhlYWQuUyB3aWxsIG5vdCBiZSB1c2VkIG9uIE1QVSBzeXN0ZW1zLg0KPj4gSW5zdGVhZCBvZiBp
bnRyb2R1Y2luZyBtb3JlICNpZmRlZnMgd2hpY2ggd2lsbCBicmluZyBjb21wbGV4aXR5DQo+PiB0
byB0aGUgY29kZSwgbW92ZSBNTVUgcmVsYXRlZCBjb2RlIHRvIG1tdS9oZWFkLlMgYW5kIGtlZXAg
Y29tbW9uDQo+PiBjb2RlIGluIGhlYWQuUy4gVHdvIG5vdGVzIHdoaWxlIG1vdmluZzoNCj4+IC0g
QXMgImZhaWwiIGluIG9yaWdpbmFsIGhlYWQuUyBpcyB2ZXJ5IHNpbXBsZSBhbmQgdGhpcyBuYW1l
IGlzIHRvbw0KPj4gICBlYXN5IHRvIGJlIGNvbmZsaWN0ZWQsIGR1cGxpY2F0ZSBpdCBpbiBtbXUv
aGVhZC5TIGluc3RlYWQgb2YNCj4+ICAgZXhwb3J0aW5nIGl0Lg0KPj4gLSBVc2UgRU5UUlkoKSBm
b3IgZW5hYmxlX3NlY29uZGFyeV9jcHVfbW0sIGVuYWJsZV9ib290X2NwdV9tbSBhbmQNCj4+ICAg
c2V0dXBfZml4bWFwIHRvIHBsZWFzZSB0aGUgY29tcGlsZXIgYWZ0ZXIgdGhlIGNvZGUgbW92ZW1l
bnQuDQo+IA0KPiBJIGFtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB3aHkgeW91IGFyZSBzYXlpbmcg
InRvIHBsZWFzZSB0aGUgY29tcGlsZXIiIGhlcmUuIElzbid0IGl0IG5lY2Vzc2FyeSBmb3IgdGhl
IGxpbmtlciAobm90IHRoZSBjb21waWxlcikgdG8gZmluZCB0aGUgZnVuY3Rpb24/IEFuZCB0aGVy
ZWZvcmUgdGhlcmUgaXMgbm8gcGxlYXNpbmcgKGFzIGluIHRoaXMgaXMgbm90IGEgYnVnIGluIHRo
ZSB0b29sY2hhaW4pLg0KDQpZZXMgaXQgbWVhbnQgdG8gYmUgbGlua2VyLCBzb3JyeSBmb3IgdGhl
IGNvbmZ1c2lvbi4gV2hhdCBJIHdhbnQgdG8gZXhwcmVzcyBpcw0Kd2l0aG91dCB0aGUgRU5UUlko
KSwgZm9yIGV4YW1wbGUgaWYgd2UgcmVtb3ZlIHRoZSBFTlRSWSgpIGFyb3VuZCB0aGUNCnNldHVw
X2ZpeG1hcCgpLCB3ZSB3aWxsIGhhdmU6DQoNCmBgYA0KYWFyY2g2NC1ub25lLWxpbnV4LWdudS1s
ZDogcHJlbGluay5vOiBpbiBmdW5jdGlvbiBgcHJpbWFyeV9zd2l0Y2hlZCc6DQovaG9tZS94aW53
YW4wMi9yZXBvc19mb3JfZGV2ZWxvcG1lbnQveGVuX3BsYXlncm91bmQveGVuL3hlbi9hcmNoL2Fy
bS9hcm02NC9oZWFkLlM6Mjc4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXR1cF9maXhtYXAn
DQovaG9tZS94aW53YW4wMi9yZXBvc19mb3JfZGV2ZWxvcG1lbnQveGVuX3BsYXlncm91bmQveGVu
L3hlbi9hcmNoL2FybS9hcm02NC9oZWFkLlM6Mjc4OigudGV4dC5oZWFkZXIrMHgxYTApOiByZWxv
Y2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9DQUxMMjYgYWdhaW5zdCB1bmRlZmlu
ZWQgc3ltYm9sIGBzZXR1cF9maXhtYXAnDQptYWtlWzJdOiAqKiogW2FyY2gvYXJtL01ha2VmaWxl
Ojk1OiB4ZW4tc3ltc10gRXJyb3IgMQ0KbWFrZVsxXTogKioqIFtidWlsZC5tazo5MDogeGVuXSBF
cnJvciAyDQptYWtlOiAqKiogW01ha2VmaWxlOjU5ODogeGVuXSBFcnJvciAyDQpgYGAgDQoNCkkg
d2lsbCB1c2UgdGhlIHdvcmQg4oCcbGlua2Vy4oCdIGluIHY2IGlmIHlvdSBhZ3JlZS4NCg0KPiAN
Cj4gT3RoZXIgdGhhbiB0aGF0LCB0aGUgc3BsaXQgbG9va3MgZ29vZCB0byBtZS4NCg0KTWF5IEkg
cGxlYXNlIHRha2UgdGhpcyBhcyBhIFJldmlld2VkLWJ5IHRhZz8gSSB3aWxsIGFkZCB0aGUgdGFn
IGlmIHlvdSBhcmUNCmhhcHB5IHdpdGggdGhhdC4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0K
PiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 09:30:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 09:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587455.918841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1FF-0006u9-1E; Mon, 21 Aug 2023 09:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587455.918841; Mon, 21 Aug 2023 09:30:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1FE-0006tx-Uh; Mon, 21 Aug 2023 09:30:44 +0000
Received: by outflank-mailman (input) for mailman id 587455;
 Mon, 21 Aug 2023 09:30:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY1FD-0006b2-S0
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 09:30:43 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6654c8ba-4005-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 11:30:43 +0200 (CEST)
Received: from AM6PR0502CA0046.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::23) by PAVPR08MB9114.eurprd08.prod.outlook.com
 (2603:10a6:102:327::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 09:30:40 +0000
Received: from AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:56:cafe::75) by AM6PR0502CA0046.outlook.office365.com
 (2603:10a6:20b:56::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 09:30:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT019.mail.protection.outlook.com (100.127.140.245) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 09:30:40 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Mon, 21 Aug 2023 09:30:40 +0000
Received: from fd0f4412be3e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 10049BA6-DD98-4B78-B3BE-C31579C55541.1; 
 Mon, 21 Aug 2023 09:30:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fd0f4412be3e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 09:30:32 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB9788.eurprd08.prod.outlook.com (2603:10a6:20b:603::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Mon, 21 Aug
 2023 09:30:29 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 09:30: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: 6654c8ba-4005-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0K1r+xUuTlNBa/CQDe3Ur6xvmag/JljLlf5SeK+2ZnA=;
 b=M3IgDP0/BQL3LrXyZQAcQwHgSwXQ8R0hR7txSFNWhGDKBApGdWQllrLPE3KV6Y4Gsv7JDYiG7V93KDidaOwrFf8/3B5Enm1sCrC/tQw3HEyJ2zVhMBtYKp/DefgnN9iNUNeBz35iTnH1+XfRnEMJc1R8zNPFRZoTEWLXVauAZNM=
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: bf97f13d62a00a5e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JMKea6OIEPmRB7DePxrS9g8PS1Tf5mAlVkollUJz2UEHR40dmOEfcGm8wRvfd367sT5CcjRFEl5CRwzxNd/vuTwj+TiCSQj+bpjPU/hw3WxTZlf4PKo9tC4hbt6drR6kyP8iOiIjXg8AhW2tGEwf0yztS7Rhz+izqWvkAK7C9pEHZZm5y56dWEkgehO8VSHHrUnnh+UT1urrIrvqFK2aIUsCPmM931AVaJIzGXnHsIH3sl+a8ZGAIRmNfS4mUmSdHjKOj7JHVL7l3QehiYPcwdVegcLn0TuaRI3hlSm7uaGydlioqRqzzz5/yVWlYq/6hOmj8aq4S0Xha7LWeX9Q8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0K1r+xUuTlNBa/CQDe3Ur6xvmag/JljLlf5SeK+2ZnA=;
 b=iCqitFd7ZMEM+pLVwkKGlcwshs3ba1/Ma7DjjYVFN/Na4rI0mCGdc5uypNtwIJY6SQqZjqnL/1PbONIYCfVuwMIOk1Gb4SrM36KPbg19Y+To39Wdx2iq8pjTk3t1yxwwK7DpenF+q5uendhMlPMTZRi40R2MilvcsIe0fWTIgLt1a/Ho3KGKtjVST3hwvvcH+pgJRiXOmCR3YcpGoQWL73x6z1AVqwQuFrmlG+1Dux0+tcYX7QZonH5aOJcV7ew7/vGd0EuT6ZGxaYPXPEYmCxggcLu4NQGRYLorvPDykakVdMnhzquagpMU31O0jnNJHaatTlx1L2BT6n0Md1sG3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=0K1r+xUuTlNBa/CQDe3Ur6xvmag/JljLlf5SeK+2ZnA=;
 b=M3IgDP0/BQL3LrXyZQAcQwHgSwXQ8R0hR7txSFNWhGDKBApGdWQllrLPE3KV6Y4Gsv7JDYiG7V93KDidaOwrFf8/3B5Enm1sCrC/tQw3HEyJ2zVhMBtYKp/DefgnN9iNUNeBz35iTnH1+XfRnEMJc1R8zNPFRZoTEWLXVauAZNM=
From: Henry Wang <Henry.Wang@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>, Wei
 Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 06/13] xen/arm64: Fold setup_fixmap() to
 create_page_tables()
Thread-Topic: [PATCH v5 06/13] xen/arm64: Fold setup_fixmap() to
 create_page_tables()
Thread-Index: AQHZzmd/r/JuiD2oz0+SIciGrMmW46/0hSIAgAACQQA=
Date: Mon, 21 Aug 2023 09:30:29 +0000
Message-ID: <611B2C47-851C-4754-81EE-BCE53A6CEBA2@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-7-Henry.Wang@arm.com>
 <2178de3c-db05-44ac-a7d7-fa605723d16e@xen.org>
In-Reply-To: <2178de3c-db05-44ac-a7d7-fa605723d16e@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS2PR08MB9788:EE_|AM7EUR03FT019:EE_|PAVPR08MB9114:EE_
X-MS-Office365-Filtering-Correlation-Id: 71139a04-210f-4d7f-8a5a-08dba229490e
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:
 3RRDoeKpCSJOuK6ik2tmPG7DEfV9tbi6GBalyQ6aNVkoPEN4uWwG2NGXm7EYHM5tl55orHKcvzHJzvVKT7p8w76pYK0hBX5U1aLPDfsgyzzDEhsR0eTfR/EG1HUr9Nx+LaODTCut4JeN+wkoEYR6oaEdUY1ALdeR/AeggxfqWGqYfXLTJL8B57SwK5fufHo4TjcPt+8QhigqaKEFkh43zSJPp3K2T5rwjIA7eEK0naa1H08r8QF9gVsf/UBJe6Dcnf5Z999rn18GSckdBgZ98YJNX6USOI7XyKmZRgdj5Ioiqr7Ofyklp9J4H583fonnFHf3DvA5f3y81FHDGVpzKkMKic5Eu321SkH4mVyKTMqqCNQiNMb7mtoJcoCVVi5TR/R7+oXk87V5Nm2URHVdw920QGD+RJej89a7AcsRUThZHHGcZ4V6tJPuiyvLGuvEHFC/FxZvmO9KkUPVmqse6Y8hFnitKhH3MQCufyN3TKW1Ak0QacdkRV6XSJdw9F6AWhocyhreiy9QIMkTt/XZ9SK1oRGeJDVWYVJWWG412yjrS+sxq/rcx3goYGtftKLSltLiHqVqg+/uPJh0GIxZIHufKJivIScEpCG7PsjnNbsPxbn933Y0umrV/4aahOYX
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(376002)(346002)(136003)(396003)(1800799009)(186009)(451199024)(86362001)(33656002)(36756003)(122000001)(6916009)(54906003)(64756008)(316002)(66556008)(66476007)(66446008)(91956017)(66946007)(478600001)(76116006)(966005)(41300700001)(38100700002)(38070700005)(26005)(71200400001)(6512007)(6506007)(6486002)(53546011)(2616005)(8676002)(4326008)(5660300002)(2906002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5F474B81ECD14E4AAC07940395CE52C9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9788
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f77be93a-e398-4dfc-3f7b-08dba2294256
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p3OvIW9mPdAY5cBEfGEMzvkLETZgrCbOKaiyO5n+75QL7UMZ6E4X6HGd9j3RBcBSxqWbgH0eSJhbcwdRdYckGuBb49lpmdHnGwtd7xrw0PoVAMG0MRVaG4Cxx+dCUoRCAmrkwlKyuygJU/hL2n5Ldve7Lq8EjeMpnMjliqNUl7hD3UbmKmOBR16GVgkeYOh8fgTxGb+yU/7ZQYD1WP4v+XZPrGd/ElwBOOuAyhpescCwV2Uqwkcm3sAXA8D7eyXixKss9vJ4HXaqDUgVf1dCsD0p0n7pDXA2MJg42Xk1Ghf77EXjNhxuuzn58yThdJdaqhai4h/JDM8XS4JVZCI+WzOV0Hp0uMuQbF145/MKQGaJYI+IVCHv0bEBGb5hbXInI7wMnVcyrSiaSrw/dKZ0dfknVBDjqvEy3K8UYev7Dw6Ux/TUN7ESwNi6sWrtbU6IujyrjplblF/ipWBOQffHi+pVVdXmthnTkphFP1Ae85hSpoXVI1BE4Bp+ZZMG2bQI+luntp9/+93xA4RO3gsSc8knz0yNkYMlLf9rmHUgsVrQVWwx2lHZR2M3NuXmwqXsU0vc6WTARTcCdDYPIfcuBnwok0CCQmfWiJFnMin1rfvaq5Eu+tJyOSjJMJ4H0InbeJcOoTxSNuSdCZ5qfoauYxCVF7SIm7KfPxmaXoSGI1TlzPl8yQKzc+O3axFqgRJ3yLTBE4IGMtP7Fo6umw6ZFMnT5jW25H3TLAekURrizf0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(396003)(136003)(39860400002)(376002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(6486002)(6506007)(6512007)(53546011)(40460700003)(36860700001)(336012)(107886003)(40480700001)(36756003)(26005)(81166007)(47076005)(356005)(82740400003)(2616005)(33656002)(41300700001)(2906002)(316002)(54906003)(70206006)(86362001)(5660300002)(70586007)(6862004)(8676002)(478600001)(4326008)(8936002)(966005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 09:30:40.5480
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 71139a04-210f-4d7f-8a5a-08dba229490e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9114



> On Aug 21, 2023, at 17:22, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 14/08/2023 05:25, Henry Wang wrote:
>> The original assembly setup_fixmap() is actually doing two seperate
>> tasks, one is enabling the early UART when earlyprintk on, and the
>> other is to set up the fixmap (even when earlyprintk is off).
>> Per discussion in [1], since commit
>> 9d267c049d92 ("xen/arm64: Rework the memory layout"), there is no
>> chance that the fixmap and the mapping of early UART will clash with
>> the 1:1 mapping. Therefore the mapping of both the fixmap and the
>> early UART can be moved to the end of create_pagetables().
>> No functional change intended.
>=20
> I would drop this sentence because the fixmap is now prepared much earlie=
r in the code. So there is technically some functional change.

Sure, I will drop this sentence in v6.

>=20
>> [1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed=
80@xen.org/
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>=20
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Thanks!

Kind regards,
Henry

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 10:08:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 10:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587468.918850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1pd-0002pf-UD; Mon, 21 Aug 2023 10:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587468.918850; Mon, 21 Aug 2023 10:08:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1pd-0002pY-Rc; Mon, 21 Aug 2023 10:08:21 +0000
Received: by outflank-mailman (input) for mailman id 587468;
 Mon, 21 Aug 2023 10:08: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 1qY1pb-0002pO-V3; Mon, 21 Aug 2023 10:08: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 1qY1pb-0002QP-Gn; Mon, 21 Aug 2023 10:08: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 1qY1pa-000209-Vb; Mon, 21 Aug 2023 10:08:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qY1pa-0001MK-V9; Mon, 21 Aug 2023 10:08: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=XGIWfoAQZuMy7qnWpzIKC05zGac/pGMCxq0KPBN0/TI=; b=ffnLx88NwrsdzdjEMU2QakFtJY
	fipEcRVnTvA/by+u+W8ka0fjjCm3EBJxeT/JUIshhMlNs+gyBttP5l3Uyenr5hUFCqSvlmiOKMmwJ
	JOQk4mqme0vyqqvyI3cn2QtHRpjq6nzWRzC9OwpY9YB5mZN5R4A6LaVF+Rm0Jdk1HsRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182406-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182406: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
X-Osstest-Versions-That:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 21 Aug 2023 10:08:18 +0000

flight 182406 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182406/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail in 182403 pass in 182406
 test-amd64-i386-libvirt-pair 10 xen-install/src_host fail in 182403 pass in 182406
 test-amd64-i386-examine-uefi  6 xen-install                fail pass in 182403
 test-amd64-i386-libvirt       7 xen-install                fail pass in 182403
 test-amd64-amd64-xl-rtds     22 guest-start/debian.repeat  fail pass in 182403
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182403

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt     15 migrate-support-check fail in 182403 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182403
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182403
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182403
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182403
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182403
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182403
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182403
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182403
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182403
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182403
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182403
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182403
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f
baseline version:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f

Last test of basis   182406  2023-08-21 01:55:19 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 10:16:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 10:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587478.918861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1xq-0004OH-Ts; Mon, 21 Aug 2023 10:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587478.918861; Mon, 21 Aug 2023 10:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY1xq-0004OA-Qf; Mon, 21 Aug 2023 10:16:50 +0000
Received: by outflank-mailman (input) for mailman id 587478;
 Mon, 21 Aug 2023 10:16: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 1qY1xp-0004O4-5A
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 10:16: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 1qY1xo-0002ju-Fh; Mon, 21 Aug 2023 10:16:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY1xo-0007Uv-Ai; Mon, 21 Aug 2023 10:16: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=Jp2sqK7b41yw99NSeeg/Az1LcvQzHQ796aMizxulcRw=; b=CcphioY9+DRDchGko/BJ9dacO/
	JK3WDi+OeLHwBobmEIZfIg2rcSsRx82FJs2bfoPAmykBUB4xJ6Hz3EQr1+kR/NvMdCJIGKlGUISOU
	9HkSAraXCDYTxTLr//5UCNDIAczEfqCwJzGllmxZ2Kb0YfxBetdS9l3eKCR4NRi8/0UE=;
Message-ID: <e2bb3025-e1e7-451f-8cdd-5d7ca14a9886@xen.org>
Date: Mon, 21 Aug 2023 11:16:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S to
 mmu/head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-5-Henry.Wang@arm.com>
 <bffdb783-fd63-4a93-b80b-42634643b2d3@xen.org>
 <5111F5D4-49E0-45B2-B58A-EE2F178E65AE@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5111F5D4-49E0-45B2-B58A-EE2F178E65AE@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 21/08/2023 10:29, Henry Wang wrote:
>> On Aug 21, 2023, at 17:18, Julien Grall <julien@xen.org> wrote:
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> The MMU specific code in head.S will not be used on MPU systems.
>>> Instead of introducing more #ifdefs which will bring complexity
>>> to the code, move MMU related code to mmu/head.S and keep common
>>> code in head.S. Two notes while moving:
>>> - As "fail" in original head.S is very simple and this name is too
>>>    easy to be conflicted, duplicate it in mmu/head.S instead of
>>>    exporting it.
>>> - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
>>>    setup_fixmap to please the compiler after the code movement.
>>
>> I am not sure I understand why you are saying "to please the compiler" here. Isn't it necessary for the linker (not the compiler) to find the function? And therefore there is no pleasing (as in this is not a bug in the toolchain).
> 
> Yes it meant to be linker, sorry for the confusion. What I want to express is
> without the ENTRY(), for example if we remove the ENTRY() around the
> setup_fixmap(), we will have:
> 
> ```
> aarch64-none-linux-gnu-ld: prelink.o: in function `primary_switched':
> /home/xinwan02/repos_for_development/xen_playground/xen/xen/arch/arm/arm64/head.S:278: undefined reference to `setup_fixmap'
> /home/xinwan02/repos_for_development/xen_playground/xen/xen/arch/arm/arm64/head.S:278:(.text.header+0x1a0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `setup_fixmap'
> make[2]: *** [arch/arm/Makefile:95: xen-syms] Error 1
> make[1]: *** [build.mk:90: xen] Error 2
> make: *** [Makefile:598: xen] Error 2
> ```
> 
> I will use the word â€œlinkerâ€ in v6 if you agree.

The sentence also need to be reworded. How about:

"Use ENTRY() for ... as they will be used externally."

> 
>>
>> Other than that, the split looks good to me.
> 
> May I please take this as a Reviewed-by tag? I will add the tag if you are
> happy with that.

Sure. Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 10:21:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 10:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587485.918870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY22d-00060S-Eg; Mon, 21 Aug 2023 10:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587485.918870; Mon, 21 Aug 2023 10:21:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY22d-00060L-Bv; Mon, 21 Aug 2023 10:21:47 +0000
Received: by outflank-mailman (input) for mailman id 587485;
 Mon, 21 Aug 2023 10:21:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=79xF=EG=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qY22b-00060F-MY
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 10:21:45 +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 8657c971-400c-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 12:21:43 +0200 (CEST)
Received: from AS4P190CA0015.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::19)
 by AS8PR08MB10361.eurprd08.prod.outlook.com (2603:10a6:20b:56d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 10:21:41 +0000
Received: from AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:5de:cafe::8f) by AS4P190CA0015.outlook.office365.com
 (2603:10a6:20b:5de::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 10:21:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT047.mail.protection.outlook.com (100.127.140.69) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.12 via Frontend Transport; Mon, 21 Aug 2023 10:21:40 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Mon, 21 Aug 2023 10:21:40 +0000
Received: from c88798c87a09.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A2726504-A764-4525-A6E4-24A9ED381F9D.1; 
 Mon, 21 Aug 2023 10:21:29 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c88798c87a09.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 21 Aug 2023 10:21:29 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9934.eurprd08.prod.outlook.com (2603:10a6:10:402::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 10:21:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 10:21: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: 8657c971-400c-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hRgYvTj8wV8X8LLf91UC7F94WM1Aew4R1zcWAuUR9rI=;
 b=BNnSzksRYmgLFVzGJkqOo/pWMaFDu4eDZzlPwcopFxzH6T3GBBrpJWfxP+ZP6KFD3cMP2IPvuzRvJNrYA6qD27bYL7L2WPg+ZhB4g2fgjJcxNFLWbqJzhh0jLPQ+DHPaOVRJ4UX/R+lDjgJIeGf6vFWtoIurckP8AqW3aM1z4Xg=
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: 906d24883230ce5b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kdNXKPMXmZ9ryeumSi6bEVG2Jg+VtBeE8FAqQB25i9q2ff1MMW38P0lRDC1IqyV7eWUe9E4TR2UYVq+tfjj2k1ProBaaPzmE0llJaGonuoJlctG2kWDoSe7JMyK0q0uwMvGmJWDoI6Py2w6BcG5ImbScL0XIoF+cNOKj1WCq5LaK7cF8N+tcTZ6oXq8PYx1GS1BQGDV5LKzN3dejBOjsnxNYxIttuefwWVvyODkanQdaroVLK3zTxUIWERK/cE2i8z9ywbnddJcL+Fbq09lQXn1PSOqy609BN1mR33B0OECneFxi5dpTuJknMbdXUv0YnuKG6H+RAA0WjmAGw6sjWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hRgYvTj8wV8X8LLf91UC7F94WM1Aew4R1zcWAuUR9rI=;
 b=LIz61pTiK/l2u8/z2/rOGM3qPvBevjF0kx5RK+87gWecSNbdXJwaJ1+DH8r5jDAIkK+9tafbf/MCL8bJzVS1uXLJxp7h6NV0rL+fd9gQCsFqjrXtnqwBLUGfJk4dUclNZPwrA0v16VVGDmJnAteuH7jWybEuSRflL9YrYzXt/YibshmLVX1p+jxXUr1PpebiT+kXrVvZKowSKYMRMTl3BflFd3prT/ikwegqpjUioL2UF0CU3cZ4lXuIMRBlD4u2c9PQgIhYTPWcj1NPyZqlm9zhCZOVUyStcmbr8lZ8ak3AeyQe3AIHzDph8dS4TIc91svcpWG9QkP+JGK3DKzTbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=hRgYvTj8wV8X8LLf91UC7F94WM1Aew4R1zcWAuUR9rI=;
 b=BNnSzksRYmgLFVzGJkqOo/pWMaFDu4eDZzlPwcopFxzH6T3GBBrpJWfxP+ZP6KFD3cMP2IPvuzRvJNrYA6qD27bYL7L2WPg+ZhB4g2fgjJcxNFLWbqJzhh0jLPQ+DHPaOVRJ4UX/R+lDjgJIeGf6vFWtoIurckP8AqW3aM1z4Xg=
From: Henry Wang <Henry.Wang@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>, Penny
 Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S to
 mmu/head.S
Thread-Topic: [PATCH v5 04/13] xen/arm64: Split and move MMU-specific head.S
 to mmu/head.S
Thread-Index: AQHZzmd/BB25uAPEnE2BQngtG1/sgq/0g/oAgAADOQCAAA0rAIAAAUAA
Date: Mon, 21 Aug 2023 10:21:25 +0000
Message-ID: <F9430E52-762E-465D-8E9C-DBB7750BAD95@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-5-Henry.Wang@arm.com>
 <bffdb783-fd63-4a93-b80b-42634643b2d3@xen.org>
 <5111F5D4-49E0-45B2-B58A-EE2F178E65AE@arm.com>
 <e2bb3025-e1e7-451f-8cdd-5d7ca14a9886@xen.org>
In-Reply-To: <e2bb3025-e1e7-451f-8cdd-5d7ca14a9886@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9934:EE_|AM7EUR03FT047:EE_|AS8PR08MB10361:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ddd79f4-fa8e-4653-3468-08dba230691d
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:
 4Yyoda3HBvbdiHxiCcnJwNjuTbF6h2T9KZuePkg5gSkdFUVUChtrgkXwRi3EbYM5D9Y3OmrU6cx4g76urhTzs5YgFjrNMZU7S2mKEmNwgVY6nDSbLgdj1mUObBIHkASDYeLYt+g3qhan5ByRcARjadNgDMoDOib6IVAH7NgId0dIFRQBzSDURiHn52JO7rx2G7EJa/Btg6pSx9P6/iPRasVr4zmS4C5XfECwW++a3fvcp0rKqC/ddNjlWX8Ka4bsyMeQDoJFoj20p9bACLZfVqOiIgV6COHhzimQsT3zWq2IT12oQyhRi2CVdCgZJZD9W9JqT9zu0MFvOnaYm+6ZodQ4O0mYh+vj9gOBQQwmfTPhu3bUVhENeWWW2TWostqG9xxpLi0cfVwQx9Rzj4nJV8wGgJyzI5YO7YJJ33jNJzmRqop0StZn01qNtsq7aMBTSV0nJnIRApKi1IkozNXbrAZs2tEO0gSg+eZPJhSn/qthjXfMOgitwNEgCmwzDwpN4mgFHAqGZAwmh7u6mUZI2udLQWqNHFaEmJutdrfi2QWAiAKt8NPfLRRCsAapVN3JJgSVke0KCFh9XznLz9DbY5vsJ0jd3N2R8WXGnRIZcJ5KLwBncsDBaCtbSXmQ822Hc+a2cTkV/LFZHoYd9/Fv9g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(346002)(136003)(39860400002)(396003)(451199024)(186009)(1800799009)(2906002)(53546011)(38100700002)(38070700005)(6506007)(6486002)(5660300002)(33656002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(64756008)(54906003)(6916009)(66446008)(66556008)(76116006)(66476007)(91956017)(478600001)(122000001)(71200400001)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <7CA2748A88FC2947AACE297BC2F17F01@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9934
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:
 AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5ec4ab3a-79ab-4886-604f-08dba2305fd5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NzD5laHkoOJDfC0Bu0a3AqyY01XKeMAX5ZXho8255ELl8vOiDqApZ+lxaLDk3tXohji7iz57b+CFfvQg12nf6TMfdCu5laOPiy6AgAMG5uXM3kD/NKYMZmSoTcpcHz/H08E+DoielUb5RN45CFgXe8B6By3HIy9apDRyA1Ps3Vo4lmwGFY+OMhIHiLTxvKR4pIYE6cP3HKVyDDVt0d6bREww3inCYCNSXQIL7cGdKv6uH/jwS+zz3RkznjBM7kQZr8+ifv2VCPyg8e1wWVuXsFNSiYmRNfUs7awfIDSGN69qyeBFGP0hrfHpVjaf4bJ4pcsLOc4rBNboIH1rL+ISkM5WP2D4qJaAQ/HEEKYNEil1WJE4R0vnJ1SKinczgZwO9EFH7s79V1Jzta7EJaUN01JRZK0FP7P/rfXpmgFpe9TJOnPwyg0YrsO+e4xzOsL9NRePXq3kbBBzK9CSPpBYfsAZpnZHzPJq5V/dlem+QsdhpCsbORCqS2zoiTjQoR00VLG5a+AboyLslm98qMAygFaAefQ5vwBNQFOMOK56vLRWfUP4DSo5UejA/QBy8EeVfRpYLuLSDNjvW8PqhNltYBE4f3hy6XTjkyc49V3GwI/sf78AV3TQ92XczyxZNlvrgn2gladTHlYowZK74pVDFxmI4m0wvtDNA0EueNOlQkwaPardaft4hIkftlzY5Yd1vSadXKWe2U20zx0SZBkgiPj5IyszrBAutZcNEd1ZvDILSMUdpKz6ICZE9L5EdORR
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(346002)(136003)(39860400002)(396003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(2906002)(53546011)(6506007)(6486002)(40480700001)(5660300002)(336012)(33656002)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(6862004)(4326008)(70206006)(316002)(6512007)(54906003)(70586007)(478600001)(82740400003)(356005)(81166007)(40460700003)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 10:21:40.8083
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ddd79f4-fa8e-4653-3468-08dba230691d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10361

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMSwgMjAyMywgYXQgMTg6MTYsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiBPbiAyMS8wOC8yMDIzIDEwOjI5LCBIZW5yeSBXYW5n
IHdyb3RlOg0KPj4+IE9uIEF1ZyAyMSwgMjAyMywgYXQgMTc6MTgsIEp1bGllbiBHcmFsbCA8anVs
aWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IE9uIDE0LzA4LzIwMjMgMDU6MjUsIEhlbnJ5IFdhbmcg
d3JvdGU6DQo+Pj4+IFRoZSBNTVUgc3BlY2lmaWMgY29kZSBpbiBoZWFkLlMgd2lsbCBub3QgYmUg
dXNlZCBvbiBNUFUgc3lzdGVtcy4NCj4+Pj4gSW5zdGVhZCBvZiBpbnRyb2R1Y2luZyBtb3JlICNp
ZmRlZnMgd2hpY2ggd2lsbCBicmluZyBjb21wbGV4aXR5DQo+Pj4+IHRvIHRoZSBjb2RlLCBtb3Zl
IE1NVSByZWxhdGVkIGNvZGUgdG8gbW11L2hlYWQuUyBhbmQga2VlcCBjb21tb24NCj4+Pj4gY29k
ZSBpbiBoZWFkLlMuIFR3byBub3RlcyB3aGlsZSBtb3Zpbmc6DQo+Pj4+IC0gQXMgImZhaWwiIGlu
IG9yaWdpbmFsIGhlYWQuUyBpcyB2ZXJ5IHNpbXBsZSBhbmQgdGhpcyBuYW1lIGlzIHRvbw0KPj4+
PiAgIGVhc3kgdG8gYmUgY29uZmxpY3RlZCwgZHVwbGljYXRlIGl0IGluIG1tdS9oZWFkLlMgaW5z
dGVhZCBvZg0KPj4+PiAgIGV4cG9ydGluZyBpdC4NCj4+Pj4gLSBVc2UgRU5UUlkoKSBmb3IgZW5h
YmxlX3NlY29uZGFyeV9jcHVfbW0sIGVuYWJsZV9ib290X2NwdV9tbSBhbmQNCj4+Pj4gICBzZXR1
cF9maXhtYXAgdG8gcGxlYXNlIHRoZSBjb21waWxlciBhZnRlciB0aGUgY29kZSBtb3ZlbWVudC4N
Cj4+PiANCj4+PiBJIGFtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB3aHkgeW91IGFyZSBzYXlpbmcg
InRvIHBsZWFzZSB0aGUgY29tcGlsZXIiIGhlcmUuIElzbid0IGl0IG5lY2Vzc2FyeSBmb3IgdGhl
IGxpbmtlciAobm90IHRoZSBjb21waWxlcikgdG8gZmluZCB0aGUgZnVuY3Rpb24/IEFuZCB0aGVy
ZWZvcmUgdGhlcmUgaXMgbm8gcGxlYXNpbmcgKGFzIGluIHRoaXMgaXMgbm90IGEgYnVnIGluIHRo
ZSB0b29sY2hhaW4pLg0KPj4gWWVzIGl0IG1lYW50IHRvIGJlIGxpbmtlciwgc29ycnkgZm9yIHRo
ZSBjb25mdXNpb24uIFdoYXQgSSB3YW50IHRvIGV4cHJlc3MgaXMNCj4+IHdpdGhvdXQgdGhlIEVO
VFJZKCksIGZvciBleGFtcGxlIGlmIHdlIHJlbW92ZSB0aGUgRU5UUlkoKSBhcm91bmQgdGhlDQo+
PiBzZXR1cF9maXhtYXAoKSwgd2Ugd2lsbCBoYXZlOg0KPj4gYGBgDQo+PiBhYXJjaDY0LW5vbmUt
bGludXgtZ251LWxkOiBwcmVsaW5rLm86IGluIGZ1bmN0aW9uIGBwcmltYXJ5X3N3aXRjaGVkJzoN
Cj4+IC9ob21lL3hpbndhbjAyL3JlcG9zX2Zvcl9kZXZlbG9wbWVudC94ZW5fcGxheWdyb3VuZC94
ZW4veGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUzoyNzg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g
YHNldHVwX2ZpeG1hcCcNCj4+IC9ob21lL3hpbndhbjAyL3JlcG9zX2Zvcl9kZXZlbG9wbWVudC94
ZW5fcGxheWdyb3VuZC94ZW4veGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUzoyNzg6KC50ZXh0Lmhl
YWRlcisweDFhMCk6IHJlbG9jYXRpb24gdHJ1bmNhdGVkIHRvIGZpdDogUl9BQVJDSDY0X0NBTEwy
NiBhZ2FpbnN0IHVuZGVmaW5lZCBzeW1ib2wgYHNldHVwX2ZpeG1hcCcNCj4+IG1ha2VbMl06ICoq
KiBbYXJjaC9hcm0vTWFrZWZpbGU6OTU6IHhlbi1zeW1zXSBFcnJvciAxDQo+PiBtYWtlWzFdOiAq
KiogW2J1aWxkLm1rOjkwOiB4ZW5dIEVycm9yIDINCj4+IG1ha2U6ICoqKiBbTWFrZWZpbGU6NTk4
OiB4ZW5dIEVycm9yIDINCj4+IGBgYA0KPj4gSSB3aWxsIHVzZSB0aGUgd29yZCDigJxsaW5rZXLi
gJ0gaW4gdjYgaWYgeW91IGFncmVlLg0KPiANCj4gVGhlIHNlbnRlbmNlIGFsc28gbmVlZCB0byBi
ZSByZXdvcmRlZC4gSG93IGFib3V0Og0KPiANCj4gIlVzZSBFTlRSWSgpIGZvciAuLi4gYXMgdGhl
eSB3aWxsIGJlIHVzZWQgZXh0ZXJuYWxseS4iDQoNClN1cmUsIEkgd2lsbCB1c2UgdGhlIHN1Z2dl
c3RlZCBzZW50ZW5jZS4NCg0KPiANCj4+PiANCj4+PiBPdGhlciB0aGFuIHRoYXQsIHRoZSBzcGxp
dCBsb29rcyBnb29kIHRvIG1lLg0KPj4gTWF5IEkgcGxlYXNlIHRha2UgdGhpcyBhcyBhIFJldmll
d2VkLWJ5IHRhZz8gSSB3aWxsIGFkZCB0aGUgdGFnIGlmIHlvdSBhcmUNCj4+IGhhcHB5IHdpdGgg
dGhhdC4NCj4gDQo+IFN1cmUuIFJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6
b24uY29tPg0KDQpUaGFua3MhDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IENoZWVy
cywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 10:49:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 10:49:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587508.918894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY2Tc-00016y-Pl; Mon, 21 Aug 2023 10:49:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587508.918894; Mon, 21 Aug 2023 10: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 1qY2Tc-00016r-M4; Mon, 21 Aug 2023 10:49:40 +0000
Received: by outflank-mailman (input) for mailman id 587508;
 Mon, 21 Aug 2023 10: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=Sik1=EG=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qY2Tb-00016j-N7
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 10:49:40 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bf31319-4010-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 12:49:38 +0200 (CEST)
Received: from DM6PR17CA0005.namprd17.prod.outlook.com (2603:10b6:5:1b3::18)
 by DM4PR12MB6351.namprd12.prod.outlook.com (2603:10b6:8:a2::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.24; Mon, 21 Aug 2023 10:49:34 +0000
Received: from CY4PEPF0000EE30.namprd05.prod.outlook.com
 (2603:10b6:5:1b3:cafe::4b) by DM6PR17CA0005.outlook.office365.com
 (2603:10b6:5:1b3::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.23 via Frontend
 Transport; Mon, 21 Aug 2023 10:49:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE30.mail.protection.outlook.com (10.167.242.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Mon, 21 Aug 2023 10:49:34 +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.27; Mon, 21 Aug
 2023 05:49:33 -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.27; Mon, 21 Aug
 2023 05:49:33 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 05:49:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bf31319-4010-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GzzaOBbCjHgcXiooIYhdb7eilEXFv2wFszhrelEv5WLzo2iepEmg3OnDCWBk2WYrW2KZfboWzgN55o19mgiWSPywapVESeMoGKjQ3OCVyHGe6mCWn1Cx8qhxZ9vhvuc5vdGJIchwDNZRjgEGvD3iGNh4cSpTpqvwJS+H4ECc4N+SnZZaITMxfnlQraZFNdIq6pqFvMAQ4XUvbhArVB1JxguxDBn7TBEn+z98qJSLYnhaUqfP7eDWqQvQe5VZxf2f0TigBEmIKyTTaab72jHsTKZfQbKy3xiK+Ee3gODvqqn5vVwwHwwRTG14rrbZrxvTTIplISwlb/3Y/1g7r4/yGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZSVLiKcBJDPblZpmJrHNhbojEefU3bY+AgfDCSTk7NE=;
 b=DV6TKfzhQEUDXaVfe6U/P1g0ffJF6rRS12coGwr3N05iK7oQb1aMPlhO8pqB1nIF8SoLTXsvqkUkT7xYSsxDuKEqMbf6M0JUOXHWADts23wEjNdHBGIa7uUj7aUsUm7ZRi0tW2Uqxkkk/w51HE4iizD7w5a5TUJhppCTYpz60sCkr9VC+dJDg8V1rXHdzTihD/akmYFShFVQRFM0/qWfIU/DjnvLzJHRghi2dmTEIjeShn4t3epuh/cH4+w4W4TLKkPK3OvNFAYGJcmgF23ZehCaj6O+Rs4YMtrNJj1ZTc3h07uNlr1jHpNs22tt/NGjlHTvQS/9BzOX0b8BiCbynQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZSVLiKcBJDPblZpmJrHNhbojEefU3bY+AgfDCSTk7NE=;
 b=QKRFrJRdBbLVrS3zCBHHok92qZpk50TicIXCKsYaEFMph+aqddmFJhgqawrYoXfMffn0c6nqQbeNMYfwRMnkTSB+zsZ5NA3Gp6Kxfoim6jmTSDQeCX+fRa/aJkvUBQ1895YjSl6KePhg8/zwb46G3j/jbmCiZQvq+ixZaYbvueA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <6fcbab6a-7126-21ee-e1bc-aa7ba2b07fc0@amd.com>
Date: Mon, 21 Aug 2023 12:49:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 0/8] Follow-up static shared memory PART I
Content-Language: en-US
To: Penny Zheng <Penny.Zheng@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@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: <20230821040046.2965665-1-Penny.Zheng@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230821040046.2965665-1-Penny.Zheng@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE30:EE_|DM4PR12MB6351:EE_
X-MS-Office365-Filtering-Correlation-Id: 79d61396-d311-4cec-06bd-08dba2344ea8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dAG3vYwqX5xXLvXzxHv8zcKi2jJSV6lLFFTmqK5R/Fq92a1HX250C+675VIFoUPHf6AHzfbrht7OhPy5rkz6NvISR8l0PVPsBhtgBPymTidKEphVwgQ9JmSimT9/YJtWWkXdjgxWnLSVeGGF4/hl2VXQ1s78EYedd9AuvE9SBLXOeHguqkFA5/vMTGrS6f+paTVq5WJ8IsQx8BJG5nTwlxCa8riAAFcatgf8zKyRvP0k9lDaC2+TRCnKZivdqH2eUYCCreRkDndJObguu3mUvK1Ta6yRZgWgVOgf9g1K4ceslsfaH56krZcZ+vsN057DmAUIFXs9a9gT0D/O2MQmn94rg6uY1BkgophwTt4Vo3RWIBQRAyy2xLv6aRA4JlhousLwCcR1VJvwZTspXOiPxZAHQ8TtZSbQguMoGvCaWg4I7DRjO1ggEHepbyVZ0t7wDgiT058NVbISvN8pv0hojpL1PjBJXHbp9j/3SngjNl0/kmXXy3DsvZOTH+2amlWxHaSV/jHu/Y0EAKSGLgxGYQiIoLvoChkZnBXU6Rd2wSNk+4JkusKSRkyY1ysgpNLkTEks4ESULmh+1aobGtOhuY7U5ny5RhscNXO/7Z6EGFFD/Z0CWbmRtUbJMAFLB0yPFHr7ppAWWhEoWPeoaASRar13Nm3Rys2NRNGq2hcz4PKQVsMMVzjIvaeA4eFh5nuW2FjPSHMMRhuwIR5itkkxfp0G3lNyQkddqrLBvv6oDeFeG3ySO4GlwPkCXKisOAZHpLttroKCuJjWovG1zi6a55DLQcSZ5j+kBzJPL6q7vrF1R0G0ZKfBTsDEXup5AVDvZv4c20ji95J95mW4UeH9Ww==
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)(4636009)(376002)(346002)(136003)(39860400002)(396003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(2906002)(83380400001)(53546011)(40480700001)(5660300002)(44832011)(336012)(426003)(26005)(86362001)(31686004)(36860700001)(31696002)(47076005)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(16576012)(54906003)(70586007)(110136005)(966005)(478600001)(82740400003)(356005)(81166007)(6666004)(40460700003)(41300700001)(36756003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 10:49:34.3753
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 79d61396-d311-4cec-06bd-08dba2344ea8
X-MS-Exchange-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:
	CY4PEPF0000EE30.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6351

Hi Penny,

On 21/08/2023 06:00, Penny Zheng wrote:
> 
> 
> There are some unsolving issues on current 4.17 static shared memory
> feature[1], including:
> - In order to avoid keeping growing 'membank', having the shared memory
> info in separate structures is preferred.
> - Missing implementation on having the host address optional in
> "xen,shared-mem" property
> - Removing static shared memory from extended regions
> - Missing reference release on foreign superpage
> - Missing "xen,offset" feature, which is introduced in Linux DOC[2]
> 
> All above objects have been divided into two parts to complete. And this
> patch serie is PART I.
> 
> [1] https://lore.kernel.org/all/20220908135513.1800511-1-Penny.Zheng@arm.com/
> [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/xen%2Cshared-memory.txt

It looks like there is a problem with the changes introduced in this series.
The gitlab static shared memory tests failed:
https://gitlab.com/xen-project/patchew/xen/-/pipelines/973985190
No Xen logs meaning the failure occurred before serial console initialization.

Now, I would like to share some observations after playing around with the current static shared mem code today.
1) Static shared memory region is advertised to a domain by creating a child node under reserved-memory.
/reserved-memory is nothing but a way to carve out a region from the normal memory specified in /memory node.
For me, such regions should be described in domain's /memory node as well. This is not the case at the moment
for static shm unlike to other sub-nodes of /reserved-memory (present in host dtb) for which Xen creates separate
/memory nodes.

2) Domain dtb parsing issue with two /reserved-memory nodes present.
In case there is a /reserved-memory node already present in the host dtb, Xen would create yet another /reserved-memory
node for the static shm (to be observed in case of dom0). This is a bug as there can be only one /reserved-memory node.
This leads to an error when dumping with dtc and leads to a shm node not being visible to a domain (guest OS relies on
a presence of a single /reserved-memory node). The issue is because in make_resv_memory_node(), you are not checking if
such node already exists.

I haven't looked closely at this series yet. It might be that these issues are fixed. If not, I would definitely
suggest to fix them in the first place.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 11:05:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 11:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587518.918903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY2ij-0003yQ-53; Mon, 21 Aug 2023 11:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587518.918903; Mon, 21 Aug 2023 11: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 1qY2ij-0003yJ-2U; Mon, 21 Aug 2023 11:05:17 +0000
Received: by outflank-mailman (input) for mailman id 587518;
 Mon, 21 Aug 2023 11:02: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=drCj=EG=ovn.org=i.maximets@srs-se1.protection.inumbo.net>)
 id 1qY2ft-0003rZ-Bn
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 11:02:21 +0000
Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net
 [217.70.183.195]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31ee5831-4012-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 13:02:18 +0200 (CEST)
Received: by mail.gandi.net (Postfix) with ESMTPSA id D6B7D60005;
 Mon, 21 Aug 2023 11:02: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: 31ee5831-4012-11ee-9b0c-b553b5be7939
Message-ID: <85341edc-ff82-79d2-7156-9623485a8c1c@ovn.org>
Date: Mon, 21 Aug 2023 13:02:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Cc: i.maximets@ovn.org, qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,
 xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@citrix.com>,
 Hanna Reitz <hreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Julia Suvorova <jusual@redhat.com>, Stefano Garzarella
 <sgarzare@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Aarushi Mehta <mehta.aaru20@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v2 3/4] virtio: use defer_call() in virtio_irqfd_notify()
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
References: <20230817155847.3605115-1-stefanha@redhat.com>
 <20230817155847.3605115-4-stefanha@redhat.com>
Content-Language: en-US
From: Ilya Maximets <i.maximets@ovn.org>
In-Reply-To: <20230817155847.3605115-4-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GND-Sasl: i.maximets@ovn.org

On 8/17/23 17:58, Stefan Hajnoczi wrote:
> virtio-blk and virtio-scsi invoke virtio_irqfd_notify() to send Used
> Buffer Notifications from an IOThread. This involves an eventfd
> write(2) syscall. Calling this repeatedly when completing multiple I/O
> requests in a row is wasteful.
> 
> Use the defer_call() API to batch together virtio_irqfd_notify() calls
> made during thread pool (aio=threads), Linux AIO (aio=native), and
> io_uring (aio=io_uring) completion processing.
> 
> Behavior is unchanged for emulated devices that do not use
> defer_call_begin()/defer_call_end() since defer_call() immediately
> invokes the callback when called outside a
> defer_call_begin()/defer_call_end() region.
> 
> fio rw=randread bs=4k iodepth=64 numjobs=8 IOPS increases by ~9% with a
> single IOThread and 8 vCPUs. iodepth=1 decreases by ~1% but this could
> be noise. Detailed performance data and configuration specifics are
> available here:
> https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd
> 
> This duplicates the BH that virtio-blk uses for batching. The next
> commit will remove it.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  block/io_uring.c   |  6 ++++++
>  block/linux-aio.c  |  4 ++++
>  hw/virtio/virtio.c | 11 ++++++++++-
>  util/thread-pool.c |  5 +++++
>  4 files changed, 25 insertions(+), 1 deletion(-)
> 
> diff --git a/block/io_uring.c b/block/io_uring.c
> index 3a1e1f45b3..7cdd00e9f1 100644
> --- a/block/io_uring.c
> +++ b/block/io_uring.c
> @@ -125,6 +125,9 @@ static void luring_process_completions(LuringState *s)
>  {
>      struct io_uring_cqe *cqes;
>      int total_bytes;
> +
> +    defer_call_begin();
> +
>      /*
>       * Request completion callbacks can run the nested event loop.
>       * Schedule ourselves so the nested event loop will "see" remaining
> @@ -217,7 +220,10 @@ end:
>              aio_co_wake(luringcb->co);
>          }
>      }
> +
>      qemu_bh_cancel(s->completion_bh);
> +
> +    defer_call_end();
>  }
>  
>  static int ioq_submit(LuringState *s)
> diff --git a/block/linux-aio.c b/block/linux-aio.c
> index 62380593c8..ab607ade6a 100644
> --- a/block/linux-aio.c
> +++ b/block/linux-aio.c
> @@ -205,6 +205,8 @@ static void qemu_laio_process_completions(LinuxAioState *s)
>  {
>      struct io_event *events;
>  
> +    defer_call_begin();
> +
>      /* Reschedule so nested event loops see currently pending completions */
>      qemu_bh_schedule(s->completion_bh);
>  
> @@ -231,6 +233,8 @@ static void qemu_laio_process_completions(LinuxAioState *s)
>       * own `for` loop.  If we are the last all counters droped to zero. */
>      s->event_max = 0;
>      s->event_idx = 0;
> +
> +    defer_call_end();
>  }
>  
>  static void qemu_laio_process_completions_and_submit(LinuxAioState *s)
> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> index 309038fd46..5eb1f91b41 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -15,6 +15,7 @@
>  #include "qapi/error.h"
>  #include "qapi/qapi-commands-virtio.h"
>  #include "trace.h"
> +#include "qemu/defer-call.h"
>  #include "qemu/error-report.h"
>  #include "qemu/log.h"
>  #include "qemu/main-loop.h"
> @@ -28,6 +29,7 @@
>  #include "hw/virtio/virtio-bus.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/virtio/virtio-access.h"
> +#include "sysemu/block-backend.h"

An artifact from the previous version.

>  #include "sysemu/dma.h"
>  #include "sysemu/runstate.h"
>  #include "virtio-qmp.h"
> @@ -2426,6 +2428,13 @@ static bool virtio_should_notify(VirtIODevice *vdev, VirtQueue *vq)
>      }
>  }
>  
> +/* Batch irqs while inside a defer_call_begin()/defer_call_end() section */
> +static void virtio_notify_irqfd_deferred_fn(void *opaque)
> +{
> +    EventNotifier *notifier = opaque;
> +    event_notifier_set(notifier);
> +}
> +
>  void virtio_notify_irqfd(VirtIODevice *vdev, VirtQueue *vq)
>  {
>      WITH_RCU_READ_LOCK_GUARD() {
> @@ -2452,7 +2461,7 @@ void virtio_notify_irqfd(VirtIODevice *vdev, VirtQueue *vq)
>       * to an atomic operation.
>       */
>      virtio_set_isr(vq->vdev, 0x1);
> -    event_notifier_set(&vq->guest_notifier);
> +    defer_call(virtio_notify_irqfd_deferred_fn, &vq->guest_notifier);

Should we move the trace from this function to deferred one?
Or maybe add a new trace?

>  }
>  
>  static void virtio_irq(VirtQueue *vq)
> diff --git a/util/thread-pool.c b/util/thread-pool.c
> index e3d8292d14..d84961779a 100644
> --- a/util/thread-pool.c
> +++ b/util/thread-pool.c
> @@ -15,6 +15,7 @@
>   * GNU GPL, version 2 or (at your option) any later version.
>   */
>  #include "qemu/osdep.h"
> +#include "qemu/defer-call.h"
>  #include "qemu/queue.h"
>  #include "qemu/thread.h"
>  #include "qemu/coroutine.h"
> @@ -175,6 +176,8 @@ static void thread_pool_completion_bh(void *opaque)
>      ThreadPool *pool = opaque;
>      ThreadPoolElement *elem, *next;
>  
> +    defer_call_begin(); /* cb() may use defer_call() to coalesce work */
> +
>  restart:
>      QLIST_FOREACH_SAFE(elem, &pool->head, all, next) {
>          if (elem->state != THREAD_DONE) {
> @@ -208,6 +211,8 @@ restart:
>              qemu_aio_unref(elem);
>          }
>      }
> +
> +    defer_call_end();
>  }
>  
>  static void thread_pool_cancel(BlockAIOCB *acb)



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 11:22:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 11:22:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587528.918913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY2zU-0006Yc-Ev; Mon, 21 Aug 2023 11:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587528.918913; Mon, 21 Aug 2023 11:22:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY2zU-0006YV-BN; Mon, 21 Aug 2023 11:22:36 +0000
Received: by outflank-mailman (input) for mailman id 587528;
 Mon, 21 Aug 2023 11:22:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M4ew=EG=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1qY2zS-0006YI-QM
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 11:22:34 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05e2a41f-4015-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 13:22:33 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-4ff8f2630e3so5008151e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 04:22:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05e2a41f-4015-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692616953; x=1693221753;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=pZDyCJOde/gelft6O61wieu2JY4LrUvkiV9x/AK6pmM=;
        b=hpPKeFfvOSpZP3UPXZ1DUT/T7JeDzUKHkRrvWQDKgukoH8ms9qqYR+KQBBhWhGd4Q+
         3B9jPKxd+QndZk0IMWEB9FOXEdgnRUQV5O0TYkJUVf4wktgonHCJJqbkPu1vpIYk68HG
         PRs8aRkZB6kf0BabXZkrDKZIN/pXavjnhfEDw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692616953; x=1693221753;
        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=pZDyCJOde/gelft6O61wieu2JY4LrUvkiV9x/AK6pmM=;
        b=ZtzCh8L8X3KFkwmQpT0r5s71ve5kOBu7XE85tUeYtvO8jO8Z2/2siePIlOFGE/cXd4
         8VTgHURo8/gTMdtID6YWmvCGtHZt6RnCJ/mIm1dNLRlGF1QKQt3QHxizMWRXdsg7quv+
         8114uIUir1IbLnO/oO+N3Rw+Vd9di4fYvecJqryYENlSGtjX7YZ6/srimOnyIDD9ntUO
         9AhT6BoAYctw90Lf70mypaijbhysdj/v7GFqcblAcpgjQmQnSaIpO2mwIjO/Si0MBpsK
         H5cs8bPGjgjDomp50l97gZzaCdZcue/Le17oFBqJPD1U6VOsCxBmLKO2COCq1DE9MOiy
         PiOw==
X-Gm-Message-State: AOJu0YypciaGw7nbRxt27ls3jxw7cAUmTtIyBqBN822HptjP5qUMQjYH
	SF653BaboeOj4gJvf2djQVYp9MawcA04TQQkHkCBow==
X-Google-Smtp-Source: AGHT+IFFtfpDj4/w2gpsm5zS+q5CqzU+spid68a5U920DlCEwpjlpemReBgXvOybvVDQTNKvx2EaaNoylaNlJc661ck=
X-Received: by 2002:a05:6512:318a:b0:4fe:1d88:2c61 with SMTP id
 i10-20020a056512318a00b004fe1d882c61mr5190971lfe.32.1692616952724; Mon, 21
 Aug 2023 04:22:32 -0700 (PDT)
MIME-Version: 1.0
References: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
 <ca3df86a-2204-441a-1b75-406f166fdf2f@netscape.net>
In-Reply-To: <ca3df86a-2204-441a-1b75-406f166fdf2f@netscape.net>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 21 Aug 2023 12:22:00 +0100
Message-ID: <CAO-mL=x=8g0eGFXp_euGF=V+rWg+tK2X80OVumg2jwDFytYE_Q@mail.gmail.com>
Subject: Re: Community Manager update - August 2023
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000003555b706036d1877"

--0000000000003555b706036d1877
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hey Chuck,

Thanks for your feedback and highlighting this to me.
You're correct, they did rebrand so I will update this to 'IBM Cloud'.

Many thanks,
Kelly Choi

Open Source Community Manager, XenServer
Cloud Software Group


On Sat, Aug 19, 2023 at 12:34=E2=80=AFAM Chuck Zmudzinski <brchuckz@netscap=
e.net>
wrote:

> On 8/18/2023 6:55 AM, Kelly Choi wrote:
> > Hi everyone! :)
> >
> > I hope you're all well.
> >
> > If we haven't met before, I'd like to introduce myself. I'm Kelly, the
> Community Manager for The Xen Project. My role is to support everyone and
> make sure the project is healthy and thriving.
> >
> > *The latest update below requires your attention:*
> > *
> > *
> >
> >   * *We will be moving IRC channels fully to Matrix in September 2023.
> Once the channels have been created, further information will be shared. =
*
> >   * *New Mission Statement, goals, and purpose is attached to this emai=
l
> and will be shared publicly.*
> >
> > *Should anyone have any concerns or feedback, please let me know*
> >
> > Many thanks,
> > Kelly Choi
> >
> > Open Source Community Manager, XenServer
> > Cloud Software Group
>
> This looks good, but I thought IBM rebranded Softlayer as IBM Cloud
> several years ago. Maybe IBM Softlayer should be changed to IBM Cloud?
> Thanks.
>
> Chuck
>

--0000000000003555b706036d1877
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey Chuck,<div><br></div><div>Thanks for your feedback and=
 highlighting this to me.=C2=A0</div><div>You&#39;re correct, they did rebr=
and so I will update this to &#39;IBM Cloud&#39;.</div><div><br clear=3D"al=
l"><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><di=
v><br></div><div><div style=3D"color:rgb(136,136,136)">Open Source Communit=
y Manager, XenServer</div><div style=3D"color:rgb(136,136,136)">Cloud Softw=
are Group</div></div></div></div></div><br></div></div><br><div class=3D"gm=
ail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Aug 19, 2023 at 12=
:34=E2=80=AFAM Chuck Zmudzinski &lt;<a href=3D"mailto:brchuckz@netscape.net=
">brchuckz@netscape.net</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 8/18/2023 6:55 AM, Kelly Choi wrote:<br>
&gt; Hi everyone! :)=C2=A0<br>
&gt; <br>
&gt; I hope you&#39;re all well.=C2=A0<br>
&gt; <br>
&gt; If we haven&#39;t met before, I&#39;d like to introduce myself. I&#39;=
m Kelly, the Community=C2=A0Manager for The Xen Project. My role is to supp=
ort everyone and make sure the project is healthy and thriving.=C2=A0<br>
&gt; <br>
&gt; *The latest update below requires your attention:*<br>
&gt; *<br>
&gt; *<br>
&gt; <br>
&gt;=C2=A0 =C2=A0* *We will be moving IRC channels fully to Matrix in Septe=
mber 2023. Once the channels have been created, further information will be=
 shared.=C2=A0*<br>
&gt;=C2=A0 =C2=A0* *New Mission Statement, goals, and purpose is attached t=
o this email and will be shared publicly.*<br>
&gt; <br>
&gt; *Should anyone have any concerns or feedback, please=C2=A0let me know*=
<br>
&gt; <br>
&gt; Many thanks,<br>
&gt; Kelly Choi<br>
&gt; <br>
&gt; Open Source Community Manager, XenServer<br>
&gt; Cloud Software Group<br>
<br>
This looks good, but I thought IBM rebranded Softlayer as IBM Cloud several=
 years ago. Maybe IBM Softlayer should be changed to IBM Cloud? Thanks.<br>
<br>
Chuck<br>
</blockquote></div>

--0000000000003555b706036d1877--


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 11:50:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 11:50:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587566.918940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY3Qa-0002qx-RP; Mon, 21 Aug 2023 11:50:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587566.918940; Mon, 21 Aug 2023 11:50:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY3Qa-0002qq-OV; Mon, 21 Aug 2023 11:50:36 +0000
Received: by outflank-mailman (input) for mailman id 587566;
 Mon, 21 Aug 2023 11:50: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 1qY3QZ-0002qg-Ir; Mon, 21 Aug 2023 11:50: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 1qY3QZ-0004uS-3M; Mon, 21 Aug 2023 11:50: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 1qY3QY-0004M7-Jr; Mon, 21 Aug 2023 11:50:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qY3QY-0003uj-JG; Mon, 21 Aug 2023 11:50:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=h7rDDzohI+3Ki4XYZ1CSxL5ZHsH1u1RJdBdEkdSS+aM=; b=yRN1wphZ2EJ3C1+RKsXrAhL9CJ
	YZnBs6w0vvpAZz38gbgDzC0HDIEAni/ZUWPP4WKhingfldpNhtmQjyIzpilvd1ra6gf92W95D6co7
	Re0+N8KazJKOSpfc9H3vYwlAnWCUzFy4HPw271mDmWx/sb8fA+rseCuNsxc87KDMmGZ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182408-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182408: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start.2:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f7757129e3dea336c407551c98f50057c22bb266
X-Osstest-Versions-That:
    linux=706a741595047797872e669b3101429ab8d378ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 21 Aug 2023 11:50:34 +0000

flight 182408 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182408/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64 18 guest-localmigrate/x10 fail REGR. vs. 182405
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 21 guest-start.2 fail REGR. vs. 182405
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 182405

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182405
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182405
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182405
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182405
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182405
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182405
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182405
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182405
 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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f7757129e3dea336c407551c98f50057c22bb266
baseline version:
 linux                706a741595047797872e669b3101429ab8d378ef

Last test of basis   182405  2023-08-20 18:11:48 Z    0 days
Testing same since   182408  2023-08-21 05:42:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Herbert Xu <herbert@gondor.apana.org.au>
  Linus Torvalds <torvalds@linux-foundation.org>
  Pavel Skripkin <paskripkin@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            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        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                                 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                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit f7757129e3dea336c407551c98f50057c22bb266
Merge: 4542057e18ca 080aa61e370b
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Aug 21 07:02:21 2023 +0200

    Merge tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
     "Fix a regression in the caam driver and af_alg"
    
    * tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: fix uninit-value in af_alg_free_resources
      Revert "crypto: caam - adjust RNG timing to support more devices"

commit 4542057e18caebe5ebaee28f0438878098674504
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Aug 21 06:11:33 2023 +0200

    mm: avoid 'might_sleep()' in get_mmap_lock_carefully()
    
    This might_sleep() goes back a long time: it was originally introduced
    way back when by commit 010060741ad3 ("x86: add might_sleep() to
    do_page_fault()"), and made it into the generic VM code when the x86
    fault path got re-organized and generalized in commit c2508ec5a58d ("mm:
    introduce new 'lock_mm_and_find_vma()' page fault helper").
    
    However, it turns out that the placement of that might_sleep() has
    always been rather questionable simply because it's not only a debug
    statement to warn about sleeping in contexts that shouldn't sleep (which
    was the original reason for adding it), but it also implies a voluntary
    scheduling point.
    
    That, in turn, is less than desirable for two reasons:
    
     (a) it ends up being done after we successfully got the mmap_lock, so
         just as we got the lock we will now eagerly schedule away and
         increase lock contention
    
    and
    
     (b) this is all very possibly part of the "oops, things went horribly
         wrong" path and we just haven't figured that out yet
    
    After all, the whole _reason_ for having that get_mmap_lock_carefully()
    rather than just doing the obvious mmap_read_lock() is because this code
    wants to deal somewhat gracefully with potential kernel wild pointer
    bugs.
    
    So then a voluntary scheduling point here is simply not a good idea.
    
    We could certainly turn the 'might_sleep()' into a '__might_sleep()' and
    make it be just the debug check that it was originally intended to be.
    
    But even that seems questionable in the wild kernel pointer case - which
    again is part of the whole point of this code.  The problem wouldn't be
    about the _sleeping_ part of the page fault, but about a bad kernel
    access.  The fact that that bad kernel access might happen in a section
    that you shouldn't sleep in is secondary.
    
    So it really ends up being the case that this is simply entirely the
    wrong place to do this debug check and related scheduling point at all.
    
    So let's just remove the check entirely.  It's been around for over a
    decade, it has served its purpose.
    
    The re-schedule will happen at return to user space anyway for the
    normal case, and the warning - if we even need it - might be better off
    done as a special case for "page fault from kernel mode" once we've
    dealt with any potential kernel oopses where the oops is the relevant
    thing, not some artificial "scheduling while atomic" test.
    
    Reported-by: Mateusz Guzik <mjguzik@gmail.com>
    Link: https://lore.kernel.org/lkml/20230820104303.2083444-1-mjguzik@gmail.com/
    Cc: Matthew Wilcox <willy@infradead.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 080aa61e370b9c5cafe71cacadbfe0e72db4d6df
Author: Pavel Skripkin <paskripkin@gmail.com>
Date:   Mon Aug 14 21:03:41 2023 +0300

    crypto: fix uninit-value in af_alg_free_resources
    
    Syzbot was able to trigger use of uninitialized memory in
    af_alg_free_resources.
    
    Bug is caused by missing initialization of rsgl->sgl.need_unpin before
    adding to rsgl_list. Then in case of extract_iter_to_sg() failure, rsgl
    is left with uninitialized need_unpin which is read during clean up
    
    BUG: KMSAN: uninit-value in af_alg_free_sg crypto/af_alg.c:545 [inline]
    BUG: KMSAN: uninit-value in af_alg_free_areq_sgls crypto/af_alg.c:778 [inline]
    BUG: KMSAN: uninit-value in af_alg_free_resources+0x3d1/0xf60 crypto/af_alg.c:1117
     af_alg_free_sg crypto/af_alg.c:545 [inline]
     af_alg_free_areq_sgls crypto/af_alg.c:778 [inline]
     af_alg_free_resources+0x3d1/0xf60 crypto/af_alg.c:1117
     _skcipher_recvmsg crypto/algif_skcipher.c:144 [inline]
    ...
    
    Uninit was created at:
     slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767
     slab_alloc_node mm/slub.c:3470 [inline]
     __kmem_cache_alloc_node+0x536/0x8d0 mm/slub.c:3509
     __do_kmalloc_node mm/slab_common.c:984 [inline]
     __kmalloc+0x121/0x3c0 mm/slab_common.c:998
     kmalloc include/linux/slab.h:586 [inline]
     sock_kmalloc+0x128/0x1c0 net/core/sock.c:2683
     af_alg_alloc_areq+0x41/0x2a0 crypto/af_alg.c:1188
     _skcipher_recvmsg crypto/algif_skcipher.c:71 [inline]
    
    Fixes: c1abe6f570af ("crypto: af_alg: Use extract_iter_to_sg() to create scatterlists")
    Reported-and-tested-by: syzbot+cba21d50095623218389@syzkaller.appspotmail.com
    Closes: https://syzkaller.appspot.com/bug?extid=cba21d50095623218389
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 83874b8e97f895e62d9ab03223318176d5e78203
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Fri Aug 18 16:47:02 2023 +0800

    Revert "crypto: caam - adjust RNG timing to support more devices"
    
    This reverts commit ef492d080302913e85122a2d92efa2ca174930f8.
    
    This patch breaks the RNG on i.MX8MM.
    
    Reported-by: Bastian Krause <bst@pengutronix.de>
    Link: https://lore.kernel.org/all/e1f3f073-9d5e-1bae-f4f8-08dc48adad62@pengutronix.de/
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 13:35:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 13:35:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587630.918970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY54G-0006bQ-0T; Mon, 21 Aug 2023 13:35:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587630.918970; Mon, 21 Aug 2023 13: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 1qY54F-0006bJ-TX; Mon, 21 Aug 2023 13:35:39 +0000
Received: by outflank-mailman (input) for mailman id 587630;
 Mon, 21 Aug 2023 13:35: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=5Cwo=EG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qY54E-0006b5-1g
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 13:35:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c1df651-4027-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 15:35:36 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8F61822C40;
 Mon, 21 Aug 2023 13:35:35 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5CDDD1330D;
 Mon, 21 Aug 2023 13:35:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ksFyFSdo42RkYgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 21 Aug 2023 13:35: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: 9c1df651-4027-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692624935; 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=RemgPkzn7YV1gXlFYwOOcos1TiBldSzEgE7RNTyAxDk=;
	b=HvcB9UZF4OBtvlqu8DRi1fr3RXwFQH+IhdAgRas3xUzUCro1WkccaSyu+mE733GirVXRaL
	bboby3uL1yz+pStj3bOIh0PkABaB2Iv3e+sNYmpInP03AncxogCBGxwtV/NUcAy4oqyE6E
	aYUTiA1EvvnvJUamFldhLPLy5BDFu10=
Message-ID: <70e1051e-b884-4c9b-8d14-698e3309ec19@suse.com>
Date: Mon, 21 Aug 2023 15:35:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: Fix one kernel-doc comment
To: Yang Li <yang.lee@linux.alibaba.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Abaci Robot <abaci@linux.alibaba.com>
References: <20230731030037.123946-1-yang.lee@linux.alibaba.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: <20230731030037.123946-1-yang.lee@linux.alibaba.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VofV00Z07tqJ5TyUB5S4lBcJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VofV00Z07tqJ5TyUB5S4lBcJ
Content-Type: multipart/mixed; boundary="------------CwEoT0Z79133mqqF0V4FVYM6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yang Li <yang.lee@linux.alibaba.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Abaci Robot <abaci@linux.alibaba.com>
Message-ID: <70e1051e-b884-4c9b-8d14-698e3309ec19@suse.com>
Subject: Re: [PATCH -next] xen: Fix one kernel-doc comment
References: <20230731030037.123946-1-yang.lee@linux.alibaba.com>
In-Reply-To: <20230731030037.123946-1-yang.lee@linux.alibaba.com>

--------------CwEoT0Z79133mqqF0V4FVYM6
Content-Type: multipart/mixed; boundary="------------3JSiEzVSTlz0P2aZHbUua5em"

--------------3JSiEzVSTlz0P2aZHbUua5em
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzEuMDcuMjMgMDU6MDAsIFlhbmcgTGkgd3JvdGU6DQo+IFVzZSBjb2xvbiB0byBzZXBh
cmF0ZSBwYXJhbWV0ZXIgbmFtZSBmcm9tIHRoZWlyIHNwZWNpZmljIG1lYW5pbmcuDQo+IHNp
bGVuY2UgdGhlIHdhcm5pbmc6DQo+IA0KPiBkcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jOjEw
NTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ25yX3BhZ2VzJyBu
b3QgZGVzY3JpYmVkIGluICdnbnR0YWJfZnJlZV9wYWdlcycNCj4gDQo+IFJlcG9ydGVkLWJ5
OiBBYmFjaSBSb2JvdCA8YWJhY2lAbGludXguYWxpYmFiYS5jb20+DQo+IENsb3NlczogaHR0
cHM6Ly9idWd6aWxsYS5vcGVuYW5vbGlzLmNuL3Nob3dfYnVnLmNnaT9pZD02MDMwDQo+IFNp
Z25lZC1vZmYtYnk6IFlhbmcgTGkgPHlhbmcubGVlQGxpbnV4LmFsaWJhYmEuY29tPg0KDQpB
Y2tlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4N
Cg0K
--------------3JSiEzVSTlz0P2aZHbUua5em
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------3JSiEzVSTlz0P2aZHbUua5em--

--------------CwEoT0Z79133mqqF0V4FVYM6--

--------------VofV00Z07tqJ5TyUB5S4lBcJ
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/Ey8FAmTjaCYFAwAAAAAACgkQsN6d1ii/Ey+u
ewf/cPDX6wzZma+BesKwqu1RmlzkpnotXi9XFxI0q9Xj+EO6INBetVXZi27d3/5hI32gx+k93uWc
rFw5lS13qUR3nttCD/9UiiHVEOKwJika8XOfxV/3LgYs2U7vTaEmu2UeEp326hu4PTCb+P0Sjzwn
3a1tG3ZpHrNvJzbwiEiRwcTd5YWu8fC118DKP6aL0gdmNVc57JPad3jG8a8HekxLbQaGEnwhY15y
Yi997Hpzyola8FdpamPdwszzljaWA8NUmOzhFA6sPYnXulXJgxAqHB/jCbaeWXGytwPRcvpsErlE
0r9yDMtbmqNyULzLpI4QSOC5dOLBjC3CH961i2H5IA==
=FbZy
-----END PGP SIGNATURE-----

--------------VofV00Z07tqJ5TyUB5S4lBcJ--


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 14:59:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 14:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587637.918980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY6NS-0007HN-W9; Mon, 21 Aug 2023 14:59:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587637.918980; Mon, 21 Aug 2023 14:59: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 1qY6NS-0007HG-Ta; Mon, 21 Aug 2023 14:59:34 +0000
Received: by outflank-mailman (input) for mailman id 587637;
 Mon, 21 Aug 2023 14:59:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=phPX=EG=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qY6NS-0007H8-BA
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 14:59:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5400432f-4033-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 16:59:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7352.eurprd04.prod.outlook.com (2603:10a6:10:1a8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 14:59:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Mon, 21 Aug 2023
 14:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5400432f-4033-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jUp9prpbGLGvWfMuH2KsB8Tx3QLQv95zp5FIuTd9H8gKFMqAoWNkjxIVZBnhzqEsdmNLtDUaF1fQ4Pbi++XI4ky4kXR26DqcfWM/OxyVOrZRxHpzHbblVGyi1DPl/OMift7GaLAgUqnPDPbQjPKyY7qZUYXNg8pOj/RK9Eg3JjkTn2Zdt8JFk8UyEBzsmccZMoXNVCk0E/Sfz7t20FxgR21ndGFrArbjj/eIDJkylFX+K6M+bNuBuI7YHpxgdYWkwV6h9/cji1Xz/dBfpUs7mO5WZBcu1TDsIVI96EktbECkTIpVcjfGSWiLgkqOfsefFyyt8Zhx0YppwpyKWSKSig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+r66bocOA0UbS6mOD9eyfcR2PTGKLa0wDuycQBVmTXU=;
 b=GSR20QT3RTGSofOWcXhAhKizLiLbs75xA9x4KGCB9/aWxWQwEtKULoGEorE15lMJ4Uqce+RQ/jWdIAKOYIF+M0prmTLLBEEASn32RZ4Z1mlol9qHjbgm8vvsmfEcVunFEbh7c7udFfHiXCf7ZvuQykfQyZhNmQIlA9dU+foEiElZha4I29iblq0JzvxGo+pLLg6Q1A5d7AFmi+y+d+gVcXDCyRVAFxDWqsHn3cQjXuQWvWoFiQ95Av9a25zE3tmH+sF82ZR31AOmVQyfLaXeN/PymGOzHV6p74CA3bcn0sC2kloFtTMoCSDwabfZw8s2Y8ba5Ntse+zrELFAG3ErYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+r66bocOA0UbS6mOD9eyfcR2PTGKLa0wDuycQBVmTXU=;
 b=3/UrRNfg3IhfP1RZ5ylRMUOIe/XIYCrJ7WNVAvVGUGNCljRxbDBLmQRZrZlb85fDo1U1gD6SjK5FhR+x5ychNlV5FGtVUI6USvmpPTN30vGbFVO6Rq3Qtd4dLpLXsjSeW6G9aCVzYGOE8fWAxjc0nV2bDjuSkITQeLX9+knvBPG4DFOoVAM3XZ6n6FNgAkIYjTMgpoR0Cy0Nq7h450FZ5c9LM1BaQEel+CqGIO3x7QAY7KhpoD1nEONd3hRKek3/m4FtxA4yn7G3ADaU/pdtRL6WIkFi1HLogue8+nRlNqDe5qYdHLIduvFdSBqWhKfQM4xvmuaAgE6IKTlas/Da9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <57ced9f0-95b8-a560-cac9-08d58e2f0b86@suse.com>
Date: Mon, 21 Aug 2023 16:59:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Ping: [PATCH] mem-sharing: move (x86) / drop (Arm)
 arch_dump_shared_mem_info()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b0a49d20-8e82-8264-8241-86a108139682@suse.com>
In-Reply-To: <b0a49d20-8e82-8264-8241-86a108139682@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7352:EE_
X-MS-Office365-Filtering-Correlation-Id: f5143953-2bd9-434c-545c-08dba257368e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xbb/eFjddi309NuV1z0XkeO/dOsd7PDohlWaGyC9FYNHkaGxsBeJSOQKJkftaM+j5zlwAA83i95lwEleCEyVvl4dET3pqAKAty0q6jd6inOEsaWoGL8ey25ezygpb4hgHT96dtPUQ0q6FPjIjSZiomaftsAu3dngFbdKAB3Sl2C5aXbOWN+QUpS5uA4MVMji/048vyaI4A7Gz5NXqMSArbSvgVe0xJiWwSJ9qqQ/kVeP3ziDrXeR2e2KdJnJqO4zrJmkj+fQTWmI9hULqCzemVYtu9gfBbopMP/IjZNZ47ZGlFjTKPpFxBN6Zqwhn5vHwt9sEzxmwYVLM/50tCjhRsRg07bHbTx046RE85I3ZYwJ4KMesHLQFZYDYK00aiKuHrpxhoB0sGUIGYYLoR1aNNmwjBAATky9MN9u3E33Vbnro1Pkc6d3JKSQ5gJ2tI9IDLbZH+dslLBEENu2zleAToqit4g5VwrOkGKF89kzpUoM+STefsNoCS5+hsdBhidX+lmvguliCOTDgnJS+28tngzqPsrGVh5dMOQ1H3cs7PYYQixGeZBKgB6FzrAE6uqDeDSNrZsBOPO7uyYSHnw63Lq7vtIGta+llNyDV/eKjzMATW4G0nF/rsJJ78bDHh3hvRzvw8PTMFJS6P3se40PRg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39850400004)(366004)(376002)(136003)(396003)(451199024)(186009)(1800799009)(2906002)(7416002)(53546011)(38100700002)(6506007)(6486002)(83380400001)(5660300002)(26005)(86362001)(31686004)(31696002)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(54906003)(6916009)(66556008)(66476007)(478600001)(36756003)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3FWc3NRNXBJZnlOU21rTE5LR2tkN3QwUXdSYzJybmpBNDBTb2xsQkpBTStT?=
 =?utf-8?B?WkxETks0eGNrUncvQnVKZ01vQ2lkUTZRQ2daaHJJbU9Mam5nay9tbGVvSGdq?=
 =?utf-8?B?TlFpZGRUYjJGZENHQnZmWm4vcnorUS9BNkcxU05NQ3lpUkJuTXB2T3J3Q2lP?=
 =?utf-8?B?UUY3NXd1c2g5Rk0rNkMwRG8rM3dBNXpFWVQyS0dNTkVuNm43RVZ3cFlaVVRI?=
 =?utf-8?B?aDlXakdWSktEVjl4TmRWQ3JjVGpSMHZ1MERhZDk5NVpJZDlYZnNDSjlpL01a?=
 =?utf-8?B?c0N2eVgwdXpHYXJxN1YwVTJldFFoZFNOaC9nVExUem1XdGlrRGdvYkwwbmZD?=
 =?utf-8?B?a3BMekZFMVUwcGhsbzZ6Tkt0OHdNZGxnRHdlazF5TndWSGd6YjZIN2FuRm9q?=
 =?utf-8?B?aDVFSDJ1ZnJmY2Fkd3hlMW9UdDMxWDNGOXNuSEpBVWR2NlVINFVia1FNbVFJ?=
 =?utf-8?B?ZDF3aUJxWjl2YUxiN3pONGg0RE8xQURNaFJrcmg2Qjh0N1o4dER4QWxqU1dy?=
 =?utf-8?B?VjN1S29adUtUYlpxQXhWYS9TSWxFNFdJQzNXdVFRbnRYSVdFTE15WU9CUXBJ?=
 =?utf-8?B?ZzZ4N0d1UHBRejhwbTZVdEhqNDJoTVZXaHcyMWNkUnA5LzVKbWkxZkNWUkpC?=
 =?utf-8?B?V0pJY2lERVlBWFV3YW56UGI2QU8vK1V4WWQ2TEliYzJjTXhhbi9hdzV4elQw?=
 =?utf-8?B?VHNOMzZhcm1JR0RWNmxzekRRQlh3d2NEc2IrQXcyK05BdHBaT3NBRlFJL1BW?=
 =?utf-8?B?QVd1NFVSeTJLb1BiSjNjUE5JYWc2eU9idDltTU1lbFhsa1FlK0ViLzFFRVEv?=
 =?utf-8?B?RXZzdjJ5R2Iycjl4TFJoaFRzeWZMNnkxSXgrYmRkVHVkZWJEMDM1Q2tHci8w?=
 =?utf-8?B?c3BMNlU5SndaQkhna2tPaFE1OGc5ekVHbXdpUC9QcHdXQXdzZTRLdVVSaTBa?=
 =?utf-8?B?QnB1cWo4OEtFWUppVkNvZGtjR2F2RUJSM0V2VDJ5bmJPL3dKVlEwTUw2ZmMz?=
 =?utf-8?B?NUUzV2lzZ2hlRnltTXFiOHB4MnNobVJ1Z29MWE5wVnFoL1RRNkNkVFFzVmtU?=
 =?utf-8?B?VTNZTGpzYnlvTXBLQ2FHVm5zdHU1TTBXaEhoRmJpcjZXSjFZd1JRYkpKMXZT?=
 =?utf-8?B?OURqY1RIT3ZGNG84TTk4b3J1eFFkbFY0V3BTQ3Z3c3oyUFVkalJaaTlKaGpv?=
 =?utf-8?B?OWdXR0dZSXpHSnNEaWhkcEcySGw5a2wzdUVLdTJ5eEtncW14OTN4YkRYcnYw?=
 =?utf-8?B?TWVRTUFPNVlKakFFaS94dFNMcE1DSmpZUmYzMWpsZis0NHp0L0g4TksrdExx?=
 =?utf-8?B?KzJ3QWx6MEY3Y0xKYlNnNnhXdFh6c3FtTUpIMS92K0xyY0tKcXlpQnpxYTA5?=
 =?utf-8?B?azN5aUZ1ZWtaaHhDNDhNNlNzN0w4TFJoYXJsTTFRQmdZU2NjNm5pUS9NWUcr?=
 =?utf-8?B?VW5LMDF3SElKNi9jZFFLN1R4V0grczh0QnJWekRxc2FzT1RiR09RelZVWFJ1?=
 =?utf-8?B?RVA5cGU5bElGTGVSQnlJcmNIdUNyWmJYYXQ3RFhiazF3YUhKdzRRbnpDMHpt?=
 =?utf-8?B?MlFPYjFSQ2gwWXdBMGF1L0ZiS2JSRDAvdFBEN0ZrM2hLd0hhTzNzR3pScDNF?=
 =?utf-8?B?UmRzQXdBd1ZSZ0ZFR3JGMjM5VXM3bDZoSU1tZUhaQ1NYSURmeVdPVDFBeTda?=
 =?utf-8?B?eHhQbWNORjljc0dDenhWS0tja01ENytMZG9rR25rd3VyVWtMNndWUmpLQWRi?=
 =?utf-8?B?VnhGTFZJMnFOSlJjY1B6NWc0QTBZcWNYUmp1WFhyRVh0SjBHblNXN2F5ZWV4?=
 =?utf-8?B?ZXZJcUlNUkZqM2NnNnZuZVhrUlBOdTQwMzhXZWM4N0xnSjg3VVVudmdjUU41?=
 =?utf-8?B?ZFJXNWJzZVlkZm5MRVNWMkJjRS9ielE0a2xYOWZaSlpUSkhXdm9pMFIyWXMx?=
 =?utf-8?B?YVRyNk5qWXBxd1ZtZlFvM3lHQWdNVEc2bk0rMEVEdE1PRE1meWUwdVkwdVkz?=
 =?utf-8?B?TWRRQXVpM01hbHl4aWxDK1o5WFEzUXZMSkJUZmhaTFpJRjNlNmp5TW4xVm5L?=
 =?utf-8?B?OFJmT0xUekU1N0grRVlHa0dkekcwT2RibzIzRmdobE5LU1ltQmZiUVVwbDdB?=
 =?utf-8?Q?tTPg+UsJJcobKEul12fpriDCQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f5143953-2bd9-434c-545c-08dba257368e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 14:59:26.6512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XxolXgZHIzdQavrJFnFFcohvNmfgWWjQKwVdrhTYp4gGbvqzAdlUqNPm6ez+iyZK2BmsRpKDLfaieAvEhmaheA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7352

On 08.08.2023 14:02, Jan Beulich wrote:
> When !MEM_SHARING no useful output is produced. Move the function into
> mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
> drop it altogether from Arm (and eliminating the need to introduce stubs
> on PPC and RISC-V).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Tamas - any chance of an ack?

Thanks, Jan

> ---
> I wasn't really sure whether introducing a stub in xen/mm.h would be any
> better than adding the (further) #ifdef to dump_domains().
> 
> We could go further and also eliminate the need for the stub variants
> of mem_sharing_get_nr_{shared,saved}_mfns() by moving the
> XENMEM_get_sharing_{shared,freed}_pages cases in
> {,compat_}arch_memory_op() into the already existing #ifdef-s there.
> Returning an error for those sub-ops may be slightly more appropriate
> than returning 0 when !MEM_SHARING.
> 
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -1297,10 +1297,6 @@ void free_init_memory(void)
>      printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
>  }
>  
> -void arch_dump_shared_mem_info(void)
> -{
> -}
> -
>  int steal_page(
>      struct domain *d, struct page_info *page, unsigned int memflags)
>  {
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6265,13 +6265,6 @@ void memguard_unguard_stack(void *p)
>      map_pages_to_xen((unsigned long)p, virt_to_mfn(p), 1, PAGE_HYPERVISOR_RW);
>  }
>  
> -void arch_dump_shared_mem_info(void)
> -{
> -    printk("Shared frames %u -- Saved frames %u\n",
> -            mem_sharing_get_nr_shared_mfns(),
> -            mem_sharing_get_nr_saved_mfns());
> -}
> -
>  const struct platform_bad_page *__init get_platform_badpages(unsigned int *array_size)
>  {
>      u32 igd_id;
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -2329,3 +2329,10 @@ int mem_sharing_domctl(struct domain *d,
>  
>      return rc;
>  }
> +
> +void arch_dump_shared_mem_info(void)
> +{
> +    printk("Shared frames %u -- Saved frames %u\n",
> +            mem_sharing_get_nr_shared_mfns(),
> +            mem_sharing_get_nr_saved_mfns());
> +}
> --- a/xen/common/keyhandler.c
> +++ b/xen/common/keyhandler.c
> @@ -365,7 +365,9 @@ static void cf_check dump_domains(unsign
>          }
>      }
>  
> +#ifdef CONFIG_MEM_SHARING
>      arch_dump_shared_mem_info();
> +#endif
>  
>      rcu_read_unlock(&domlist_read_lock);
>  }
> 



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587644.918991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY6eV-0001Y2-E6; Mon, 21 Aug 2023 15:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587644.918991; Mon, 21 Aug 2023 15:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY6eV-0001Xv-BM; Mon, 21 Aug 2023 15:17:11 +0000
Received: by outflank-mailman (input) for mailman id 587644;
 Mon, 21 Aug 2023 15:17:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiRE=EG=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qY6eU-0001Xn-1i
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:17:10 +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 caebbee8-4035-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 17:17:07 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fed6c2a5cfso28824005e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:17: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
 q1-20020a056000136100b003180027d67asm12637489wrz.19.2023.08.21.08.17.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Aug 2023 08:17: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: caebbee8-4035-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692631027; x=1693235827;
        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=YzQdfYs6xmhhgJ7jfDYbEyX3/BYgph1r4B5q0WoGV1U=;
        b=VjZcet6KE8z4c6eioLO3mkaxLCvzsdZySEekr8gZPnMNUzuIBLGy1sVO5aFno4YsYl
         L7Z1HYw13ch6w81pd0Nk/34ghBBUm6WRoa7uGQ4vyPCxs+n9oynqnygA8EHDJl0XDUSt
         BSjGj/ZLWxB2dM6leJIUug4r/L01tGMIZjvr4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692631027; x=1693235827;
        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=YzQdfYs6xmhhgJ7jfDYbEyX3/BYgph1r4B5q0WoGV1U=;
        b=Sq69hFaiQrkHddHuOTynG4PCAWKymaCR4JRAcVWEKHr2ly2zQotR64rI2Bza5eRVio
         salDHZY7UIilH9lcSDi4L63d6y9fU9ZCbGpUu0IPhAzg0HQHKSKNF+g2hFZHYIW+6m0D
         le9HaM8PwiyMsvEW+dIoaQiszu7+B7l9nAMyAeuXXXnOFNN2Fi0Hip/ugkr9U8yAUJ6f
         VKwvHyfrad3hTLDEvX2MclqOynlPlKMhRbtkRhf87TaNmPp5Ocdlyi7f8g6uUW0cfW/I
         pCHPR9qQjeb7A1FhJ1CO+sIF2ZZ6KCPrMZDxqKMsusXqzQecJ/Kt6hKjc5wlc48lbNmG
         wVdg==
X-Gm-Message-State: AOJu0Yyn4Xob4Tar50Xn6n7viiMSUzDTRtXVVojiEjzQR+IYMz6tWrbB
	Y+1cK7S5NSvSRN8m9C7WzmprjA==
X-Google-Smtp-Source: AGHT+IHgq/biSP89vVpL+IzoTIhTw7cJ9hlCS/ZumIEiMHSVf4xoOdnxzT6JtyKx4d6mMiDngaOd5A==
X-Received: by 2002:a1c:4b0e:0:b0:3fe:c7fe:206c with SMTP id y14-20020a1c4b0e000000b003fec7fe206cmr5241849wma.23.1692631027295;
        Mon, 21 Aug 2023 08:17:07 -0700 (PDT)
Date: Mon, 21 Aug 2023 16:17:06 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v6] tools/xenstore: move xenstored sources into dedicated
 directory
Message-ID: <9c10e5ba-6b5a-4d97-bce2-908a588729f6@perard>
References: <20230821081422.17027-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230821081422.17027-1-jgross@suse.com>

On Mon, Aug 21, 2023 at 10:14:22AM +0200, Juergen Gross wrote:
> diff --git a/tools/xenstored/.gitignore b/tools/xenstored/.gitignore
> new file mode 100644
> index 0000000000..edbb5d79fe
> --- /dev/null
> +++ b/tools/xenstored/.gitignore
> @@ -0,0 +1 @@
> +xenstored

Could you write that "/xenstored" ? The prefix "/" just makes sure that
only the file in the current directory is ignored, and not any
"xenstored" in subdirectory. Just in case.

> diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
> new file mode 100644
> index 0000000000..f3bd3d43c4
> --- /dev/null
> +++ b/tools/xenstored/Makefile
> @@ -0,0 +1,48 @@
> +XEN_ROOT=$(CURDIR)/../..
> +include $(XEN_ROOT)/tools/Rules.mk
> +
> +include Makefile.common
> +
> +xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
> +xenstored: LDLIBS += $(LDLIBS_libxengnttab)
> +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

Could you change that to := instead of += ? TARGETS is currently
introduced with a := (in tools/xenstore/Makefile).

> diff --git a/tools/xs-clients/.gitignore b/tools/xs-clients/.gitignore
> new file mode 100644
> index 0000000000..233fd8228a
> --- /dev/null
> +++ b/tools/xs-clients/.gitignore
> @@ -0,0 +1,10 @@
> +xenstore
> +xenstore-chmod
> +xenstore-control
> +xenstore-exists
> +xenstore-list
> +xenstore-ls
> +xenstore-read
> +xenstore-rm
> +xenstore-watch
> +xenstore-write

Same thing here, could you prefix all those entries with "/"?

> diff --git a/tools/xenstore/Makefile b/tools/xs-clients/Makefile
> similarity index 74%
> rename from tools/xenstore/Makefile
> rename to tools/xs-clients/Makefile
> index dc39b6cb31..1c5740450a 100644
> --- a/tools/xenstore/Makefile
> +++ b/tools/xs-clients/Makefile

I'm tempted to ask for the targets "clients-install" and
"clients-uninstall" to be removed from this makefile. Nothing is calling
them in our build system and something outside the git tree that rely on
that would need to be adjusted to the new directory. But maybe that can
be done in a followup patch as it would help with reverting it if the
targets are actually useful.


In any case, the patch is already good:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:19:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587650.919000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY6go-00027l-Pi; Mon, 21 Aug 2023 15:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587650.919000; Mon, 21 Aug 2023 15: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 1qY6go-00027e-ND; Mon, 21 Aug 2023 15:19:34 +0000
Received: by outflank-mailman (input) for mailman id 587650;
 Mon, 21 Aug 2023 15:19:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Cwo=EG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qY6gn-00027T-KA
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:19:33 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 206b3715-4036-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 17:19:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AC9BD1F459;
 Mon, 21 Aug 2023 15:19:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5AB0D13421;
 Mon, 21 Aug 2023 15:19:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +4OrFIKA42QrGgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 21 Aug 2023 15:19: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: 206b3715-4036-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692631170; 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=OfitHrWONvJzfnaXscuUap/3KxxQtEEPcKDFsJm5GAU=;
	b=ZatmB3w/b0bhM7CONpNqIKOv1JDKpERiREwYkdIXVgFe2jYTmRsbueVe4E13YW+42Jj/Sz
	BF/mqVZAwL8W3ymvbtCd3xcED/OsKDVWLqRUG9Dam7VNfckWiUVGdj48YUMggUd9ZgF0pf
	Nd31+eOQtnT1MiJPNXpJERxZwRn1xqg=
Message-ID: <6d165116-6c55-4fa1-a378-92f1a7a444b4@suse.com>
Date: Mon, 21 Aug 2023 17:19:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6] tools/xenstore: move xenstored sources into dedicated
 directory
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Julien Grall <jgrall@amazon.com>
References: <20230821081422.17027-1-jgross@suse.com>
 <9c10e5ba-6b5a-4d97-bce2-908a588729f6@perard>
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: <9c10e5ba-6b5a-4d97-bce2-908a588729f6@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------unbuT9EIY144VzHm0EYOK6fd"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------unbuT9EIY144VzHm0EYOK6fd
Content-Type: multipart/mixed; boundary="------------Cb52yfbrUwjjo0B0F00frywm";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Julien Grall <jgrall@amazon.com>
Message-ID: <6d165116-6c55-4fa1-a378-92f1a7a444b4@suse.com>
Subject: Re: [PATCH v6] tools/xenstore: move xenstored sources into dedicated
 directory
References: <20230821081422.17027-1-jgross@suse.com>
 <9c10e5ba-6b5a-4d97-bce2-908a588729f6@perard>
In-Reply-To: <9c10e5ba-6b5a-4d97-bce2-908a588729f6@perard>

--------------Cb52yfbrUwjjo0B0F00frywm
Content-Type: multipart/mixed; boundary="------------w5vRfPOuPvc0qfDRu9DK2Pa0"

--------------w5vRfPOuPvc0qfDRu9DK2Pa0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDguMjMgMTc6MTcsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBNb24sIEF1
ZyAyMSwgMjAyMyBhdCAxMDoxNDoyMkFNICswMjAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC8uZ2l0aWdub3JlIGIvdG9vbHMveGVu
c3RvcmVkLy5naXRpZ25vcmUNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAw
MDAwMDAwMDAwLi5lZGJiNWQ3OWZlDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi90b29s
cy94ZW5zdG9yZWQvLmdpdGlnbm9yZQ0KPj4gQEAgLTAsMCArMSBAQA0KPj4gK3hlbnN0b3Jl
ZA0KPiANCj4gQ291bGQgeW91IHdyaXRlIHRoYXQgIi94ZW5zdG9yZWQiID8gVGhlIHByZWZp
eCAiLyIganVzdCBtYWtlcyBzdXJlIHRoYXQNCj4gb25seSB0aGUgZmlsZSBpbiB0aGUgY3Vy
cmVudCBkaXJlY3RvcnkgaXMgaWdub3JlZCwgYW5kIG5vdCBhbnkNCj4gInhlbnN0b3JlZCIg
aW4gc3ViZGlyZWN0b3J5LiBKdXN0IGluIGNhc2UuDQoNCk9rYXkuDQoNCj4gDQo+PiBkaWZm
IC0tZ2l0IGEvdG9vbHMveGVuc3RvcmVkL01ha2VmaWxlIGIvdG9vbHMveGVuc3RvcmVkL01h
a2VmaWxlDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4u
ZjNiZDNkNDNjNA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmVk
L01ha2VmaWxlDQo+PiBAQCAtMCwwICsxLDQ4IEBADQo+PiArWEVOX1JPT1Q9JChDVVJESVIp
Ly4uLy4uDQo+PiAraW5jbHVkZSAkKFhFTl9ST09UKS90b29scy9SdWxlcy5taw0KPj4gKw0K
Pj4gK2luY2x1ZGUgTWFrZWZpbGUuY29tbW9uDQo+PiArDQo+PiAreGVuc3RvcmVkOiBMRExJ
QlMgKz0gJChMRExJQlNfbGlieGVuZXZ0Y2huKQ0KPj4gK3hlbnN0b3JlZDogTERMSUJTICs9
ICQoTERMSUJTX2xpYnhlbmdudHRhYikNCj4+ICt4ZW5zdG9yZWQ6IExETElCUyArPSAkKExE
TElCU19saWJ4ZW5jdHJsKQ0KPj4gK3hlbnN0b3JlZDogTERMSUJTICs9IC1scnQNCj4+ICt4
ZW5zdG9yZWQ6IExETElCUyArPSAkKFNPQ0tFVF9MSUJTKQ0KPj4gKw0KPj4gK2lmZXEgKCQo
Q09ORklHX1NZU1RFTUQpLHkpDQo+PiArJChYRU5TVE9SRURfT0JKUy15KTogQ0ZMQUdTICs9
ICQoU1lTVEVNRF9DRkxBR1MpDQo+PiAreGVuc3RvcmVkOiBMRExJQlMgKz0gJChTWVNURU1E
X0xJQlMpDQo+PiArZW5kaWYNCj4+ICsNCj4+ICtUQVJHRVRTICs9IHhlbnN0b3JlZA0KPiAN
Cj4gQ291bGQgeW91IGNoYW5nZSB0aGF0IHRvIDo9IGluc3RlYWQgb2YgKz0gPyBUQVJHRVRT
IGlzIGN1cnJlbnRseQ0KPiBpbnRyb2R1Y2VkIHdpdGggYSA6PSAoaW4gdG9vbHMveGVuc3Rv
cmUvTWFrZWZpbGUpLg0KDQpGaW5lIHdpdGggbWUuDQoNCj4gDQo+PiBkaWZmIC0tZ2l0IGEv
dG9vbHMveHMtY2xpZW50cy8uZ2l0aWdub3JlIGIvdG9vbHMveHMtY2xpZW50cy8uZ2l0aWdu
b3JlDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uMjMz
ZmQ4MjI4YQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvdG9vbHMveHMtY2xpZW50cy8u
Z2l0aWdub3JlDQo+PiBAQCAtMCwwICsxLDEwIEBADQo+PiAreGVuc3RvcmUNCj4+ICt4ZW5z
dG9yZS1jaG1vZA0KPj4gK3hlbnN0b3JlLWNvbnRyb2wNCj4+ICt4ZW5zdG9yZS1leGlzdHMN
Cj4+ICt4ZW5zdG9yZS1saXN0DQo+PiAreGVuc3RvcmUtbHMNCj4+ICt4ZW5zdG9yZS1yZWFk
DQo+PiAreGVuc3RvcmUtcm0NCj4+ICt4ZW5zdG9yZS13YXRjaA0KPj4gK3hlbnN0b3JlLXdy
aXRlDQo+IA0KPiBTYW1lIHRoaW5nIGhlcmUsIGNvdWxkIHlvdSBwcmVmaXggYWxsIHRob3Nl
IGVudHJpZXMgd2l0aCAiLyI/DQoNClllcy4NCg0KPiANCj4+IGRpZmYgLS1naXQgYS90b29s
cy94ZW5zdG9yZS9NYWtlZmlsZSBiL3Rvb2xzL3hzLWNsaWVudHMvTWFrZWZpbGUNCj4+IHNp
bWlsYXJpdHkgaW5kZXggNzQlDQo+PiByZW5hbWUgZnJvbSB0b29scy94ZW5zdG9yZS9NYWtl
ZmlsZQ0KPj4gcmVuYW1lIHRvIHRvb2xzL3hzLWNsaWVudHMvTWFrZWZpbGUNCj4+IGluZGV4
IGRjMzliNmNiMzEuLjFjNTc0MDQ1MGEgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9y
ZS9NYWtlZmlsZQ0KPj4gKysrIGIvdG9vbHMveHMtY2xpZW50cy9NYWtlZmlsZQ0KPiANCj4g
SSdtIHRlbXB0ZWQgdG8gYXNrIGZvciB0aGUgdGFyZ2V0cyAiY2xpZW50cy1pbnN0YWxsIiBh
bmQNCj4gImNsaWVudHMtdW5pbnN0YWxsIiB0byBiZSByZW1vdmVkIGZyb20gdGhpcyBtYWtl
ZmlsZS4gTm90aGluZyBpcyBjYWxsaW5nDQo+IHRoZW0gaW4gb3VyIGJ1aWxkIHN5c3RlbSBh
bmQgc29tZXRoaW5nIG91dHNpZGUgdGhlIGdpdCB0cmVlIHRoYXQgcmVseSBvbg0KPiB0aGF0
IHdvdWxkIG5lZWQgdG8gYmUgYWRqdXN0ZWQgdG8gdGhlIG5ldyBkaXJlY3RvcnkuIEJ1dCBt
YXliZSB0aGF0IGNhbg0KPiBiZSBkb25lIGluIGEgZm9sbG93dXAgcGF0Y2ggYXMgaXQgd291
bGQgaGVscCB3aXRoIHJldmVydGluZyBpdCBpZiB0aGUNCj4gdGFyZ2V0cyBhcmUgYWN0dWFs
bHkgdXNlZnVsLg0KDQpJJ2xsIHJlbW92ZSB0aG9zZS4NCg0KPiANCj4gDQo+IEluIGFueSBj
YXNlLCB0aGUgcGF0Y2ggaXMgYWxyZWFkeSBnb29kOg0KPiBBY2tlZC1ieTogQW50aG9ueSBQ
RVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+DQoNClRoYW5rcywNCg0KSnVlcmdl
bg0KDQo=
--------------w5vRfPOuPvc0qfDRu9DK2Pa0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------w5vRfPOuPvc0qfDRu9DK2Pa0--

--------------Cb52yfbrUwjjo0B0F00frywm--

--------------unbuT9EIY144VzHm0EYOK6fd
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/Ey8FAmTjgIEFAwAAAAAACgkQsN6d1ii/Ey8A
Iwf5AY/GTLPZlVkNj3gYO6QfBqCzPezV7f8LBNxxV/06HkBknunWRQSrivGIHU5MZUQ7pUuRwtul
HtbeGSPuaFTTVHxdELVqm3LqUh19WaIIXcTcPmEDG7LTAUyh4GmkF/avwRiEiJmD2rkrys1kHux9
MtLFTn3iCPjktrZCFrz87T9J5FAyHeX3u+5h3AgGPrFhLtr6CY+TqvjrqBVfRvKnRzFmFZG/c1Vi
VzwRwxQ27e91LhuXTEom8hJAT+DG8KpYMbsFQzQtnt5U07R4kjAWjuFVfLQlRx+1y4GJMr8tYUb5
/s9bQtWPbVgUycjSIQbWJhYf6M5+2yHzVCE6l4g9Xw==
=6pP3
-----END PGP SIGNATURE-----

--------------unbuT9EIY144VzHm0EYOK6fd--


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:55:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587659.919010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7Fd-0006yV-E9; Mon, 21 Aug 2023 15:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587659.919010; Mon, 21 Aug 2023 15:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7Fd-0006yO-BY; Mon, 21 Aug 2023 15:55:33 +0000
Received: by outflank-mailman (input) for mailman id 587659;
 Mon, 21 Aug 2023 15:55:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7Fb-0006yI-OL
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:55:31 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26ef79c6-403b-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 17:55:30 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-1bddac1b7bfso23465095ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:55:30 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 b13-20020a170902d50d00b001b87bedcc6fsm7184127plg.93.2023.08.21.08.55.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08:55:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26ef79c6-403b-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633329; x=1693238129;
        h=content-transfer-encoding:content-language:cc:to:subject:from
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cgX30HPBwkajxdCYjchpvUkjDfUAn1RqgjLWM9un3z8=;
        b=O1gx1bMmfDE+q/6LYeXwsjxfF3yQC/dVV6fcwNNDMYns/e9bQWZzFSA9c8rlhaipr5
         UcY9xWWc/nvLb4oll0E5WxzNbv/swoJk4eLluchbFR2s5jwKwOlQnUTy5ZM2b0Tw0VC2
         adHgy0wkoOL5XR7vU1MK6nj7wyVKe4J5vfU7ZHJOybEXpBHWNTq/lJ7CbbBpiboJCcAa
         k4N9uovhHqvLOJIgfVIlulmqpPbxpp3QZp9XsoitSWg2NFa3r9FiRjfOcEnEsDvUIIPR
         tUUT42QHR5NF+i/e3KeUV3uiuPi9/dw+r2bC73HZx0MjAQWR9Lk2q3a13PB0KmF5n2s8
         VMeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633329; x=1693238129;
        h=content-transfer-encoding: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=cgX30HPBwkajxdCYjchpvUkjDfUAn1RqgjLWM9un3z8=;
        b=ABbR5TjP81nwpz88kTWjr8PnMBeqYLusbEnv9RKeyS6epd9QGb41c/LzkVEYE6xfv8
         K71vx42U/usnmTsH6DUIaoXveffVvQFT91TZA/ctlLzGXOovNzKyZZogQABbwi5ArAwN
         P/BE6SODp1lTFz5a68AVYq1EvCygJXvlOlmujvkDP3HpJVzcmWjN7Jy/V1+jRNN+QXTr
         JX0XFjTpUoXaWKol3BCFj9hCsOXjqvnJpjsq0XA3Nu3UeNOg81+gIJGjyurZCe/v98qX
         T4xYerFDXHnh16DdoqDmF3A+MrvSFjyMHrEMwmILpk4smTRbEQ/KDTlhjfPkcmUVRaBD
         aLAQ==
X-Gm-Message-State: AOJu0YwVWF+pP1Tfh6NqoD50q8iUu8Rsg2ScE19bDsOxfs7HkgM0KEw4
	rHTUtVIvZl17gMRLzZ1dF7uNNWWaUkxPdQ==
X-Google-Smtp-Source: AGHT+IHViJ0ZnM1f6vuui1YBKch1ckFECFCcL4hqfwU4L0vevGnGthMaj64SKPQb8WI9qHiM6YFdlQ==
X-Received: by 2002:a17:903:41d1:b0:1bf:193a:70b6 with SMTP id u17-20020a17090341d100b001bf193a70b6mr10831284ple.5.1692633328877;
        Mon, 21 Aug 2023 08:55:28 -0700 (PDT)
Message-ID: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Date: Tue, 22 Aug 2023 00:55:22 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 0/5] Fixes to debugging facilities
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, 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>,
 Tim Deegan <tim@xen.org>, Razvan Cojocaru <rcojocaru@bitdefender.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

This is a rebased version of Andrew Cooper's debugging facilities patch:
https://lore.kernel.org/xen-devel/1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com/

> So this started as a small fix for the vmentry failure (penultimate patch),
> and has snowballed...
>
> I'm fairly confident that everything involving DEBUGCTL.BTF is broken, and
> there are definitely bugs with configuring DEBUGCTL.RTM (which really isn't
> helped by the fact that the GCC TSX intrinsics render the resulting code
> un-debuggable.)  I'll defer fixing these swamps for now.
>
> The first 4 patches probably want backporting to the stable trees, so I've
> taken care to move them ahead of patch 6 for backport reasons.  While all
> fixes would ideally be backported, I can't find a way of fixing %dr6 merging
> (as it needs to be done precicely once) without a behavioural change in the
> monitor subsystem.
>
> Patch 8 probably breaks introspection, so can't be taken at this point.  See
> that patch for discussion of the problem and my best guess at a solution.

6 out of 11 patches from the 2018 patch series above, including the
vmentry failure fix, have already been committed.  This covers the
remaining 5 patches.

One particular bug that the patch series fixes involves simultaneous
hardware breakpoint exception and single-stepping exception occurring at
the same PC (IP).  Xen blindly sets singlestep (DR6.BS := 1) in this
case, which interferes with userland debugging and allows (otherwise
restricted) usermode programs to detect Xen HVM (or PVH).  The following
Linux x86-64 program demonstrates the bug:

-----------------------------------8<-----------------------------------

#include <stddef.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <signal.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <stdio.h>

#define ABORT_ON_ERR(x) if ((x) == -1) abort();

int main(void)
{
    unsigned long cur_rip, cur_eflags, cur_dr6;
    int wstatus, exit_code;
    pid_t pid;

    ABORT_ON_ERR(pid = fork());
    if (pid == 0) {
        ABORT_ON_ERR(ptrace(PTRACE_TRACEME, 0, NULL, NULL));
        ABORT_ON_ERR(raise(SIGSTOP));
        _exit(0);
    }

    /* Wait for first ptrace event */
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!WIFSTOPPED(wstatus)) abort();

    /* Obtain current RIP value and perform sanity check */
    cur_rip = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.rip), &cur_rip);
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    assert(cur_dr6 == 0xffff0ff0UL);

    /* Set up debug registers and set EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags | 0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[0]), (void *)cur_rip));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)1L));

    /* Continue execution to trigger hardware breakpoint */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFSTOPPED(wstatus) && WSTOPSIG(wstatus) == SIGTRAP)) abort();

    /* Detect if Xen has tampered with DR6 */
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    fprintf(stderr, "DR6 = 0x%08lx\n", cur_dr6);
    if (cur_dr6 == 0xffff0ff1UL)
    {
        fputs("Running on bare-metal, Xen PV, or non-Xen VMM\n", stdout);
        exit_code = EXIT_FAILURE;
    }
    else
    {
        fputs("Running on Xen HVM\n", stdout);
        exit_code = EXIT_SUCCESS;
    }

    /* Tear down debug registers and unset EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags & ~0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)0L));

    /* Continue execution to let child process exit */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFEXITED(wstatus) && WEXITSTATUS(wstatus) == 0)) abort();

    return exit_code;
}

-----------------------------------8<-----------------------------------

Andrew Cooper (5):
  x86: Fix calculation of %dr6/7 reserved bits
  x86/emul: Add pending_dbg field to x86_event
  x86/hvm: RFC - PROBABLY BROKEN - Defer all debugging/monitor actions
    to {svm,vmx}_inject_event()
  x86: Fix merging of new status bits into %dr6
  x86/dbg: Cleanup of legacy dr6 constants

 xen/arch/x86/domain.c                  |   7 +-
 xen/arch/x86/hvm/emulate.c             |   3 +-
 xen/arch/x86/hvm/hvm.c                 |   8 +-
 xen/arch/x86/hvm/svm/svm.c             | 126 ++++++++++++++-----------
 xen/arch/x86/hvm/vmx/vmx.c             | 112 ++++++++++------------
 xen/arch/x86/include/asm/debugreg.h    |  94 +++++++++++++-----
 xen/arch/x86/include/asm/domain.h      |  12 +++
 xen/arch/x86/include/asm/hvm/hvm.h     |  15 ++-
 xen/arch/x86/include/asm/x86-defns.h   |  10 --
 xen/arch/x86/mm/shadow/multi.c         |   5 +-
 xen/arch/x86/pv/emul-priv-op.c         |  13 ++-
 xen/arch/x86/pv/emulate.c              |   6 +-
 xen/arch/x86/pv/misc-hypercalls.c      |  16 +---
 xen/arch/x86/pv/ro-page-fault.c        |   3 +-
 xen/arch/x86/pv/traps.c                |  17 +++-
 xen/arch/x86/traps.c                   |   8 +-
 xen/arch/x86/x86_emulate/x86_emulate.h |   5 +-
 17 files changed, 262 insertions(+), 198 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587665.919020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7H6-0007VL-PX; Mon, 21 Aug 2023 15:57:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587665.919020; Mon, 21 Aug 2023 15:57: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 1qY7H6-0007VE-Md; Mon, 21 Aug 2023 15:57:04 +0000
Received: by outflank-mailman (input) for mailman id 587665;
 Mon, 21 Aug 2023 15:57:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7H4-0007V2-M2
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:57:02 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c90cd57-403b-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 17:57:00 +0200 (CEST)
Received: by mail-pj1-x102c.google.com with SMTP id
 98e67ed59e1d1-26f7f71b9a7so308867a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:57:00 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 f22-20020a17090ac29600b00263f41a655esm6289831pjt.43.2023.08.21.08.56.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08:56:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c90cd57-403b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633419; x=1693238219;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/2S0z9KCvAaRErAryR0gpUbfAsu6gl92wga3E9uUth4=;
        b=Mconjy7Yf+r6vIKYmFbGdiTN6T/DewIdZjYxdi97et9rDNokWyE6VZUBfmUzZy4ut7
         imLiDtywDEK1ZUEkLWsJ61VfccZiaQg+5HofI+IglssYSvK21N6k4lH6ZAXXdmLryN9i
         K08U+NydR8oww2UXZIN3GNDEPoql/SJVEMkA6CHpZLkfgZo8kGqF3uAPeSuyu41ONgy9
         78UeB8MnBdNsENP5aBigo5+OFQk3a3lLHJz1fnPq4FaQdVJwLlqXAHuoCEBcXO/7ce4T
         caOKHOTTLXfpesww9E0SvgnRn7bab3iLcwTKjPesy0/wgYfSCb8X9uS+8bwIWOObGPPX
         KEJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633419; x=1693238219;
        h=content-transfer-encoding:in-reply-to: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=/2S0z9KCvAaRErAryR0gpUbfAsu6gl92wga3E9uUth4=;
        b=HpqerTCVX9M7VOfzUaJbvI9uS8YLqf/5HH5FfIstLWoPm84e//6CEvMJ1F2/mg5/BT
         wB+lmJWjWPzQzbH7f2KRbKyRid9imZxiaJI0LLRFIYm1aQ61KZNFjs8xEC6bgJ2/TSmo
         NP2GmeJs1dDrhFv26hZ+6fPJlSaouYW9irUWNwyExyk8oos8xn8C3KcO3gbcWb13RsEM
         mAoJ6IYOCnju0+x2uoGdjwvUwEDSYoO9kNsK8uQmQp9B4B9XWNJS5f9VvTVkZ9Kx9LNf
         8JOyCo5zAVwZYYzvidSS5J5OvGtB5kKZKAPTrolLjOWzM1dLmCWxjxPheFZNNGvYwp7g
         b7Zw==
X-Gm-Message-State: AOJu0YyAc9HzLlsKZZLODVh9LZMQaT20r5mq2bxBNF0+7zmAt2mX40RA
	e0Ux0qKc/xbg7lYwTGXiTE7tNP+alL+WXA==
X-Google-Smtp-Source: AGHT+IGcH8j7FW4s549lSLTCMkNwyP2n1sZ3ocgNK1HHJTek8E51XVy8+DH2mzTgO5wUO5bISqDcBQ==
X-Received: by 2002:a17:90b:a03:b0:267:f1d0:ca70 with SMTP id gg3-20020a17090b0a0300b00267f1d0ca70mr6265049pjb.47.1692633418866;
        Mon, 21 Aug 2023 08:56:58 -0700 (PDT)
Message-ID: <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
Date: Tue, 22 Aug 2023 00:56:54 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 1/5] x86: Fix calculation of %dr6/7 reserved bits
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Language: en-US
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

The reserved bit calculations for %dr6 and %dr7 depend on whether the VM has
the Restricted Transnational Memory feature available.

Introduce adjust_dr{6,7}_rsvd() and replace the opencoded logic and constants
(except for DR_STATUS_RESERVED_ONE which is (mis)used elsewhere and will be
removed after future bugfixes).  The use of these helpers in set_debugreg()
covers toolstack values for PV guests, but HVM guests need similar treatment.

The use of the guests cpuid policy is less than optimal in the create/restore
paths.  However in such cases, the policy will be the guest maximum policy,
which will be more permissive with respect to the RTM feature.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
 xen/arch/x86/domain.c               |  7 +++--
 xen/arch/x86/hvm/hvm.c              |  6 ++--
 xen/arch/x86/include/asm/debugreg.h | 44 +++++++++++++++++++++++++----
 xen/arch/x86/pv/misc-hypercalls.c   | 16 +++--------
 4 files changed, 50 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index fe86a7f853..a39710b5af 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1053,6 +1053,7 @@ int arch_set_info_guest(
     struct vcpu *v, vcpu_guest_context_u c)
 {
     struct domain *d = v->domain;
+    const struct cpu_policy *cp = d->arch.cpuid;
     unsigned int i;
     unsigned long flags;
     bool compat;
@@ -1165,10 +1166,10 @@ int arch_set_info_guest(
 
     if ( is_hvm_domain(d) )
     {
-        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); ++i )
+        for ( i = 0; i < ARRAY_SIZE(v->arch.dr) - 2; ++i )
             v->arch.dr[i] = c(debugreg[i]);
-        v->arch.dr6 = c(debugreg[6]);
-        v->arch.dr7 = c(debugreg[7]);
+        v->arch.dr6 = adjust_dr6_rsvd(c(debugreg[6]), cp->feat.rtm);
+        v->arch.dr7 = adjust_dr7_rsvd(c(debugreg[7]), cp->feat.rtm);
 
         if ( v->vcpu_id == 0 )
             d->vm_assist = c.nat->vm_assist;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a99c0ff20..66ead0b878 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -33,6 +33,7 @@
 #include <asm/shadow.h>
 #include <asm/hap.h>
 #include <asm/current.h>
+#include <asm/debugreg.h>
 #include <asm/e820.h>
 #include <asm/io.h>
 #include <asm/regs.h>
@@ -985,6 +986,7 @@ unsigned long hvm_cr4_guest_valid_bits(const struct domain *d)
 
 static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
 {
+    const struct cpu_policy *cp = d->arch.cpuid;
     unsigned int vcpuid = hvm_load_instance(h);
     struct vcpu *v;
     struct hvm_hw_cpu ctxt;
@@ -1166,8 +1168,8 @@ static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     v->arch.dr[1] = ctxt.dr1;
     v->arch.dr[2] = ctxt.dr2;
     v->arch.dr[3] = ctxt.dr3;
-    v->arch.dr6   = ctxt.dr6;
-    v->arch.dr7   = ctxt.dr7;
+    v->arch.dr6   = adjust_dr6_rsvd(ctxt.dr6, cp->feat.rtm);
+    v->arch.dr7   = adjust_dr7_rsvd(ctxt.dr7, cp->feat.rtm);
 
     hvmemul_cancel(v);
 
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 86aa6d7143..8be60910b4 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -10,9 +10,18 @@
 #define DR_STATUS    6
 #define DR_CONTROL   7
 
-/* Define a few things for the status register.  We can use this to determine
-   which debugging register was responsible for the trap.  The other bits
-   are either reserved or not of interest to us. */
+/*
+ * DR6 status bits.
+ *   N.B. For backwards compatibility, X86_DR6_RTM has inverted polarity.
+ */
+#define X86_DR6_B0              (1u <<  0)  /* Breakpoint 0 triggered  */
+#define X86_DR6_B1              (1u <<  1)  /* Breakpoint 1 triggered  */
+#define X86_DR6_B2              (1u <<  2)  /* Breakpoint 2 triggered  */
+#define X86_DR6_B3              (1u <<  3)  /* Breakpoint 3 triggered  */
+#define X86_DR6_BD              (1u << 13)  /* Debug register accessed */
+#define X86_DR6_BS              (1u << 14)  /* Single step             */
+#define X86_DR6_BT              (1u << 15)  /* Task switch             */
+#define X86_DR6_RTM             (1u << 16)  /* #DB/#BP in RTM region   */
 
 #define DR_TRAP0        (0x1)           /* db0 */
 #define DR_TRAP1        (0x2)           /* db1 */
@@ -21,7 +30,6 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
 #define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
@@ -61,8 +69,6 @@
    We can slow the instruction pipeline for instructions coming via the
    gdt or the ldt if we want to.  I am not sure why this is an advantage */
 
-#define DR_CONTROL_RESERVED_ZERO (~0xffff27ffUL) /* Reserved, read as zero */
-#define DR_CONTROL_RESERVED_ONE  (0x00000400UL) /* Reserved, read as one */
 #define DR_LOCAL_EXACT_ENABLE    (0x00000100UL) /* Local exact enable */
 #define DR_GLOBAL_EXACT_ENABLE   (0x00000200UL) /* Global exact enable */
 #define DR_RTM_ENABLE            (0x00000800UL) /* RTM debugging enable */
@@ -80,4 +86,30 @@
 long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
 void activate_debugregs(const struct vcpu *);
 
+static inline unsigned long adjust_dr6_rsvd(unsigned long dr6, bool rtm)
+{
+    /*
+     * DR6: Bits 4-11,17-31 reserved (set to 1).
+     *      Bit  16 reserved (set to 1) if RTM unavailable.
+     *      Bit  12 reserved (set to 0).
+     */
+    dr6 |= 0xfffe0ff0 | (rtm ? 0 : X86_DR6_RTM);
+    dr6 &= 0xffffefff;
+
+    return dr6;
+}
+
+static inline unsigned long adjust_dr7_rsvd(unsigned long dr7, bool rtm)
+{
+    /*
+     * DR7: Bit  10 reserved (set to 1).
+     *      Bit  11 reserved (set to 0) if RTM unavailable.
+     *      Bits 12,14-15 reserved (set to 0).
+     */
+    dr7 |= 0x00000400;
+    dr7 &= 0xffff23ff & (rtm ? 0 : ~DR_RTM_ENABLE);
+
+    return dr7;
+}
+
 #endif /* _X86_DEBUGREG_H */
diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index b11bd718b7..e44f2556c8 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -56,6 +56,7 @@ long do_fpu_taskswitch(int set)
 long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
 {
     struct vcpu *curr = current;
+    const struct cpu_policy *cp = curr->domain->arch.cpuid;
 
     switch ( reg )
     {
@@ -86,12 +87,7 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR6: Bits 4-11,16-31 reserved (set to 1).
-         *      Bit 12 reserved (set to 0).
-         */
-        value &= ~DR_STATUS_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_STATUS_RESERVED_ONE;  /* reserved bits => 1 */
+        value = adjust_dr6_rsvd(value, cp->feat.rtm);
 
         v->arch.dr6 = value;
         if ( v == curr )
@@ -108,12 +104,8 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR7: Bit 10 reserved (set to 1).
-         *      Bits 11-12,14-15 reserved (set to 0).
-         */
-        value &= ~DR_CONTROL_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_CONTROL_RESERVED_ONE;  /* reserved bits => 1 */
+        value = adjust_dr7_rsvd(value, cp->feat.rtm);
+
         /*
          * Privileged bits:
          *      GD (bit 13): must be 0.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:57:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:57:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587666.919030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7HI-0007oZ-1R; Mon, 21 Aug 2023 15:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587666.919030; Mon, 21 Aug 2023 15: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 1qY7HH-0007oS-V5; Mon, 21 Aug 2023 15:57:15 +0000
Received: by outflank-mailman (input) for mailman id 587666;
 Mon, 21 Aug 2023 15:57: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=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7HH-0007T4-Dh
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:57:15 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64b76b61-403b-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 17:57:14 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1bf0b24d925so20967405ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:57:14 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 f9-20020a170902ce8900b001ae0a4b1d3fsm7191686plg.153.2023.08.21.08.57.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08: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: 64b76b61-403b-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633432; x=1693238232;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=hSh7CjYmh4pzgCRYpqWLhaZZ/JE6zO58mEjCpiQd2qI=;
        b=f76C1e8xFy+qyoOxihP2DN4q0r9qi06GSdUr8g9MSCelkUNXFBjGQ6tIMjsy5uh+rZ
         zGJjr1vxNSO1fXU3CNqmO+rIUkphjLiSra6DbmiPHfrDnecvnPJqmCGbVnEcdOl6MEDP
         xExA6UKPcrkr+wf0j5vGKSyvccA9K9Z+cQjmi8oo3wgGMUIgZybVii7ttSui7ig4HVER
         JB2UFK2KReg3YmdHyOag1zoEf9gjYHGbYiUQ0jU0jxKRbUQxmjisy8nQBJSnAU29VapZ
         klCzlI4tWqsx8CrGYmj+4CSyfXxn64vHGWkUsKFH2ZpCHDKVEo8t3QIrKQ/BrMX8XqE2
         hJQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633432; x=1693238232;
        h=content-transfer-encoding:in-reply-to: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=hSh7CjYmh4pzgCRYpqWLhaZZ/JE6zO58mEjCpiQd2qI=;
        b=LY/XLpq92NFEsJCv9+W8BODtdfdgWtE3/wp2wyYXNibBWkVs7asH0NzLOBdk2xDW5S
         K+Qtnpp81p82SGbwdE9NOTqxmIViOjKi8xmdMhVFuvxjzFzc13yfLXiRdfBVWDl2mcJQ
         Va6yuKDSjccdvzOP1sO90d+X6vNFT5ZYaMUjdcCwC9bf8QIpornJKBxUPVuQ5XY7H/MY
         gdZ8h1fWusQORGKHYw9RBBFBt/yteLu+HfsOLEYI2AGc5SqkmHyqsZH0fC7Y76HDHBho
         eYY/thSz4irbq+XEyJaNgPhjGHYLKoVz7kidd3W074p6GYuhBpVKWci+VpMRKMg1kCe6
         F90A==
X-Gm-Message-State: AOJu0YwB82J7AKz3lM+4NL7JqD0Wk/WI8mMkpdSa4Br4MwC6NE6Am1RT
	kMZdVcRP0mgSIC4PYO68/NdwZC0kHBAmSA==
X-Google-Smtp-Source: AGHT+IGRQ+QsQ9szgfNdvXXaxuwNTqett1/4eESHiEzQvtoF2kdaWBk+HuAZFyNgb48bAI7hq0cqlQ==
X-Received: by 2002:a17:902:dac2:b0:1bb:99d3:6a53 with SMTP id q2-20020a170902dac200b001bb99d36a53mr5646803plx.20.1692633432525;
        Mon, 21 Aug 2023 08:57:12 -0700 (PDT)
Message-ID: <aa422104-be1b-dd6e-8c02-00b90ef2e64c@gmail.com>
Date: Tue, 22 Aug 2023 00:57:07 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 3/5] x86/hvm: RFC - PROBABLY BROKEN - Defer all
 debugging/monitor actions to {svm,vmx}_inject_event()
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, 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>,
 Razvan Cojocaru <rcojocaru@bitdefender.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Language: en-US
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

Currently, there is a lot of functionality in the #DB intercepts, and some
repeated functionality in the *_inject_event() logic.

The gdbsx code is implemented at both levels (albeit differently for #BP,
which is presumably due to the fact that the old emulator behaviour used to be
to move %rip forwards for traps), while the monitor behaviour only exists at
the intercept level.

Updating of %dr6 is implemented (buggily) at both levels, but having it at
both levels is problematic to implement correctly.

Rearrange the logic to have nothing interesting at the intercept level, and
everything implemented at the injection level.  Amongst other things, this
means that the monitor subsystem will pick up debug actions from emulated
events.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Razvan Cojocaru <rcojocaru@bitdefender.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>

This is RFC because it probably breaks introspection, as injection replies
from the introspection engine will (probably, but I haven't confirmed) trigger
new monitor events.

First of all, monitoring emulated debug events is a change in behaviour,
although IMO it is more of a bugfix than a new feature.  Also, similar changes
will happen to other monitored events as we try to unify the
intercept/emulation paths.

As for the recursive triggering of monitor events, I was considering extending
the monitor infrastructure to have a "in monitor reply" boolean which causes
hvm_monitor_debug() to ignore the recursive request.

Does this plan sound ok, or have I missed something more subtle with monitor
handling?
---
 xen/arch/x86/hvm/svm/svm.c | 126 ++++++++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vmx.c | 102 +++++++++++++-----------------
 2 files changed, 110 insertions(+), 118 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index ac3123c56f..bd3adde0ec 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1328,19 +1328,50 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( regs->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(vmcb, curr);
-            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | DR_STEP);
-        }
+        /*
+         * On AMD hardware, a #DB exception:
+         *  1) Merges new status bits into %dr6
+         *  2) Clears %dr7.gd and MSR_DEBUGCTL.{LBR,BTF}
+         *
+         * Item 1 is done by hardware before a #DB intercepted vmexit, but we
+         * may end up here from emulation so have to repeat it ourselves.
+         * Item 2 is done by hardware when injecting a #DB exception.
+         */
+        __restore_debug_registers(vmcb, curr);
+        vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | _event.pending_dbg);
+
         /* fall through */
     case X86_EXC_BP:
         if ( curr->domain->debugger_attached )
         {
             /* Debug/Int3: Trap to debugger. */
+            if ( _event.vector == X86_EXC_BP )
+            {
+                /* N.B. Can't use __update_guest_eip() for risk of recusion. */
+                regs->rip += _event.insn_len;
+                regs->eflags &= ~X86_EFLAGS_RF;
+                curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
+            }
+
             domain_pause_for_debugger();
             return;
         }
+        else
+        {
+            int rc = hvm_monitor_debug(regs->rip,
+                                       _event.vector == X86_EXC_DB
+                                       ? HVM_MONITOR_DEBUG_EXCEPTION
+                                       : HVM_MONITOR_SOFTWARE_BREAKPOINT,
+                                       _event.type, _event.insn_len,
+                                       _event.pending_dbg);
+            if ( rc < 0 )
+            {
+                gprintk(XENLOG_ERR, "Monitor debug error %d\n", rc);
+                return svm_crash_or_fault(curr);
+            }
+            if ( rc )
+                return; /* VCPU paused.  Wait for monitor. */
+        }
         break;
 
     case X86_EXC_PF:
@@ -2730,67 +2761,46 @@ void svm_vmexit_handler(void)
 
     case VMEXIT_ICEBP:
     case VMEXIT_EXCEPTION_DB:
-        if ( !v->domain->debugger_attached )
+    case VMEXIT_EXCEPTION_BP:
+    {
+        unsigned int vec, type, len, extra;
+
+        switch ( exit_reason )
         {
-            unsigned int trap_type;
+        case VMEXIT_ICEBP:
+            vec   = X86_EXC_DB;
+            type  = X86_EVENTTYPE_PRI_SW_EXCEPTION;
+            len   = svm_get_insn_len(v, INSTR_ICEBP);
+            extra = 0;
+            break;
 
-            if ( likely(exit_reason != VMEXIT_ICEBP) )
-            {
-                trap_type = X86_EVENTTYPE_HW_EXCEPTION;
-                insn_len = 0;
-            }
-            else
-            {
-                trap_type = X86_EVENTTYPE_PRI_SW_EXCEPTION;
-                insn_len = svm_get_insn_len(v, INSTR_ICEBP);
+        case VMEXIT_EXCEPTION_DB:
+            vec   = X86_EXC_DB;
+            type  = X86_EVENTTYPE_HW_EXCEPTION;
+            len   = 0;
+            /* #DB - Hardware has already updated %dr6 for us. */
+            extra = vmcb_get_dr6(vmcb) ^ X86_DR6_DEFAULT;
+            break;
 
-                if ( !insn_len )
-                    break;
-            }
+        case VMEXIT_EXCEPTION_BP:
+            vec   = X86_EXC_BP;
+            type  = X86_EVENTTYPE_SW_EXCEPTION;
+            len   = svm_get_insn_len(v, INSTR_INT3);
+            extra = 0; /* N/A */
+            break;
 
-            rc = hvm_monitor_debug(regs->rip,
-                                   HVM_MONITOR_DEBUG_EXCEPTION,
-                                   trap_type, insn_len, 0);
-            if ( rc < 0 )
-                goto unexpected_exit_type;
-            if ( !rc )
-                hvm_inject_exception(X86_EXC_DB,
-                                     trap_type, insn_len, X86_EVENT_NO_EC,
-                                     exit_reason == VMEXIT_ICEBP ? 0 :
-                                     /* #DB - Hardware already updated dr6. */
-                                     vmcb_get_dr6(vmcb) ^ X86_DR6_DEFAULT);
+        default:
+            ASSERT_UNREACHABLE();
+            goto unexpected_exit_type;
         }
-        else
-            domain_pause_for_debugger();
-        break;
 
-    case VMEXIT_EXCEPTION_BP:
-        insn_len = svm_get_insn_len(v, INSTR_INT3);
-
-        if ( insn_len == 0 )
-             break;
+        /* svm_get_insn_len() failure.  #GP queued up. */
+        if ( type >= X86_EVENTTYPE_SW_INTERRUPT && !len )
+            break;
 
-        if ( v->domain->debugger_attached )
-        {
-            /* AMD Vol2, 15.11: INT3, INTO, BOUND intercepts do not update RIP. */
-            __update_guest_eip(regs, insn_len);
-            current->arch.gdbsx_vcpu_event = X86_EXC_BP;
-            domain_pause_for_debugger();
-        }
-        else
-        {
-           rc = hvm_monitor_debug(regs->rip,
-                                  HVM_MONITOR_SOFTWARE_BREAKPOINT,
-                                  X86_EVENTTYPE_SW_EXCEPTION,
-                                  insn_len, 0);
-           if ( rc < 0 )
-               goto unexpected_exit_type;
-           if ( !rc )
-               hvm_inject_exception(X86_EXC_BP,
-                                    X86_EVENTTYPE_SW_EXCEPTION,
-                                    insn_len, X86_EVENT_NO_EC, 0 /* N/A */);
-        }
+        hvm_inject_exception(vec, type, len, X86_EVENT_NO_EC, extra);
         break;
+    }
 
     case VMEXIT_EXCEPTION_NM:
         svm_fpu_dirty_intercept();
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 716115332b..65166348f1 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2018,15 +2018,21 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
     unsigned long intr_info;
     struct vcpu *curr = current;
     struct x86_event _event = *event;
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
 
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(curr);
-            write_debugreg(6, read_debugreg(6) | DR_STEP);
-        }
+        /*
+         * On Intel hardware, a #DB exception:
+         *  1) Merges new status bits into %dr6
+         *  2) Clears %dr7.gd and MSR_DEBUGCTL.LBR
+         *
+         * All actions are left up to the hypervisor to perform.
+         */
+        __restore_debug_registers(curr);
+        write_debugreg(6, read_debugreg(6) | event->pending_dbg);
+
         if ( !nestedhvm_vcpu_in_guestmode(curr) ||
              !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
         {
@@ -2037,16 +2043,39 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
             __vmread(GUEST_IA32_DEBUGCTL, &val);
             __vmwrite(GUEST_IA32_DEBUGCTL, val & ~IA32_DEBUGCTLMSR_LBR);
         }
-        if ( cpu_has_monitor_trap_flag )
-            break;
+
         /* fall through */
     case X86_EXC_BP:
         if ( curr->domain->debugger_attached )
         {
             /* Debug/Int3: Trap to debugger. */
+            if ( _event.vector == X86_EXC_BP )
+            {
+                /* N.B. Can't use __update_guest_eip() for risk of recusion. */
+                regs->rip += _event.insn_len;
+                regs->eflags &= ~X86_EFLAGS_RF;
+                curr->arch.gdbsx_vcpu_event = X86_EXC_BP;
+            }
+
             domain_pause_for_debugger();
             return;
         }
+        else
+        {
+            int rc = hvm_monitor_debug(regs->rip,
+                                       _event.vector == X86_EXC_DB
+                                       ? HVM_MONITOR_DEBUG_EXCEPTION
+                                       : HVM_MONITOR_SOFTWARE_BREAKPOINT,
+                                       _event.type, _event.insn_len, 0);
+            if ( rc < 0 )
+            {
+                gprintk(XENLOG_ERR, "Monitor debug error %d\n", rc);
+                domain_crash(curr->domain);
+                return;
+            }
+            if ( rc )
+                return; /* VCPU paused.  Wait for monitor. */
+        }
         break;
 
     case X86_EXC_PF:
@@ -4242,14 +4271,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         switch ( vector )
         {
         case X86_EXC_DB:
-            /*
-             * Updates DR6 where debugger can peek (See 3B 23.2.1,
-             * Table 23-1, "Exit Qualification for Debug Exceptions").
-             */
             __vmread(EXIT_QUALIFICATION, &exit_qualification);
             HVMTRACE_1D(TRAP_DEBUG, exit_qualification);
-            __restore_debug_registers(v);
-            write_debugreg(6, exit_qualification | DR_STATUS_RESERVED_ONE);
 
             /*
              * Work around SingleStep + STI/MovSS VMEntry failures.
@@ -4286,53 +4309,15 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 }
             }
 
-            if ( !v->domain->debugger_attached )
-            {
-                unsigned long insn_len = 0;
-                int rc;
-                unsigned long trap_type = MASK_EXTR(intr_info,
-                                                    INTR_INFO_INTR_TYPE_MASK);
-
-                if ( trap_type >= X86_EVENTTYPE_SW_INTERRUPT )
-                    __vmread(VM_EXIT_INSTRUCTION_LEN, &insn_len);
-
-                rc = hvm_monitor_debug(regs->rip,
-                                       HVM_MONITOR_DEBUG_EXCEPTION,
-                                       trap_type, insn_len, 0);
-
-                if ( rc < 0 )
-                    goto exit_and_crash;
-                if ( !rc )
-                    vmx_propagate_intr(intr_info, exit_qualification);
-            }
-            else
-                domain_pause_for_debugger();
+            vmx_propagate_intr(intr_info, exit_qualification);
             break;
+
         case X86_EXC_BP:
+        case X86_EXC_AC:
             HVMTRACE_1D(TRAP, vector);
-            if ( !v->domain->debugger_attached )
-            {
-                unsigned long insn_len;
-                int rc;
-
-                __vmread(VM_EXIT_INSTRUCTION_LEN, &insn_len);
-                rc = hvm_monitor_debug(regs->rip,
-                                       HVM_MONITOR_SOFTWARE_BREAKPOINT,
-                                       X86_EVENTTYPE_SW_EXCEPTION,
-                                       insn_len, 0);
-
-                if ( rc < 0 )
-                    goto exit_and_crash;
-                if ( !rc )
-                    vmx_propagate_intr(intr_info, 0 /* N/A */);
-            }
-            else
-            {
-                update_guest_eip(); /* Safe: INT3 */
-                v->arch.gdbsx_vcpu_event = X86_EXC_BP;
-                domain_pause_for_debugger();
-            }
+            vmx_propagate_intr(intr_info, 0 /* N/A */);
             break;
+
         case X86_EXC_NM:
             HVMTRACE_1D(TRAP, vector);
             vmx_fpu_dirty_intercept();
@@ -4362,10 +4347,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
             hvm_inject_page_fault(regs->error_code, exit_qualification);
             break;
-        case X86_EXC_AC:
-            HVMTRACE_1D(TRAP, vector);
-            vmx_propagate_intr(intr_info, 0 /* N/A */);
-            break;
+
         case X86_EXC_NMI:
             if ( MASK_EXTR(intr_info, INTR_INFO_INTR_TYPE_MASK) !=
                  X86_EVENTTYPE_NMI )
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:57:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:57:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587667.919041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7HL-00086w-Ew; Mon, 21 Aug 2023 15:57:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587667.919041; Mon, 21 Aug 2023 15:57: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 1qY7HL-00086p-A2; Mon, 21 Aug 2023 15:57:19 +0000
Received: by outflank-mailman (input) for mailman id 587667;
 Mon, 21 Aug 2023 15:57:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7HK-0007V2-O6
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:57:18 +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 665de17f-403b-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 17:57:16 +0200 (CEST)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-1bf3a2f44ffso24607645ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:57:16 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 j10-20020a170902da8a00b001a5fccab02dsm7208314plx.177.2023.08.21.08.57.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08:57: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: 665de17f-403b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633435; x=1693238235;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=koUXgNo33NkQg7mV/s+CjTkEjQnqF6941wnkN2hmX0k=;
        b=IYVEF72TlmOtSXZ8/QHVjcuwh+UuhF8PLcwOopLQlmKmuqDsTnNUidItKCWBYYyqX8
         tIxOyYivlstDVUe1reaaWAJ059BQeT+dVWVgf70sZhwYbpCuVhvEmvwsjDLZrsXV+wcf
         i55eQ8d4a2osp85mwZsw7V+Gaap/1jcr0xlHYiTjKaMBSdG2kP4hcZNZkmfVlBRIBL46
         g9rNYgBGrhsg5b4h1gRI5n2a72tSxCQulU2fAXFDFo72RzV0jDW2pujX4l0JRHiqTh/H
         979sKKdKVN+J96Nk+ExZMueRM3P/9garyxjrjreTLUgvwqNfVdwj6eolNRvqgb2iOCcc
         Pkbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633435; x=1693238235;
        h=content-transfer-encoding:in-reply-to: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=koUXgNo33NkQg7mV/s+CjTkEjQnqF6941wnkN2hmX0k=;
        b=fa0zSnyOkxf4P8wsv56stPH/Jy2ty8kj/YkjLiIA/IczSGRFh6YDm0QF/UacIo0KKm
         eW2Yqyl9Y3LTRKZpDrd7Ncx7YZIzM2XE9AbvOrf6FMXdDbPDXZeVDcnZ1lZNTxQskO/u
         aUaAQfNdgWfGpW3PNVSJU6PMlpfmsFm51w3w4bjDbbS3fSRTeqOzkOl4JK1SgUP2ibII
         T2xpdcOOFaW/4WsCUPqHkNjom8kWztRrdimn/bYR97wuQwHMnVKbevatBEkRjuSUIhjQ
         Pu7CGIjXJnsdBkvx3w1HL171GDl8NZfD+zPxmrwm8AlfX+2FRr8qFwKp1qyX28UL3vLr
         cy4A==
X-Gm-Message-State: AOJu0YzKvAEyQKUiXIAAIw9Slo23DPWDUZmgiUEOj2XTHS7425/lLYOV
	1WbGSgcrishSv92f49nXFFlwcP58KrDQJQ==
X-Google-Smtp-Source: AGHT+IEAQP3ubFa0rv1Xj61latk7fdjmjugV/wzlkma7nTyCWeQFbKZrYjbeVHqauzgXtCdwLVubHA==
X-Received: by 2002:a17:903:1111:b0:1b9:de75:d5bb with SMTP id n17-20020a170903111100b001b9de75d5bbmr10714294plh.7.1692633435482;
        Mon, 21 Aug 2023 08:57:15 -0700 (PDT)
Message-ID: <2ba03e50-421c-9163-355c-d7c612f2f711@gmail.com>
Date: Tue, 22 Aug 2023 00:57:11 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 4/5] x86: Fix merging of new status bits into %dr6
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, 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>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Language: en-US
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

The current logic used to update %dr6 when injecting #DB is buggy.  The
architectural behaviour is to overwrite B{0..3} (rather than accumulate) and
accumulate all other bits.

Introduce a new merge_dr6() helper, which also takes care of handing RTM
correctly.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/svm/svm.c           |  3 ++-
 xen/arch/x86/hvm/vmx/vmx.c           |  3 ++-
 xen/arch/x86/include/asm/debugreg.h  | 30 +++++++++++++++++++++++++++-
 xen/arch/x86/include/asm/x86-defns.h | 10 ----------
 xen/arch/x86/pv/traps.c              |  3 ++-
 5 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bd3adde0ec..7a5652f3df 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1338,7 +1338,8 @@ static void cf_check svm_inject_event(const struct x86_event *event)
          * Item 2 is done by hardware when injecting a #DB exception.
          */
         __restore_debug_registers(vmcb, curr);
-        vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | _event.pending_dbg);
+        vmcb_set_dr6(vmcb, merge_dr6(vmcb_get_dr6(vmcb), _event.pending_dbg,
+                                     curr->domain->arch.cpuid->feat.rtm));
 
         /* fall through */
     case X86_EXC_BP:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 65166348f1..1fd902ed74 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2031,7 +2031,8 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
          * All actions are left up to the hypervisor to perform.
          */
         __restore_debug_registers(curr);
-        write_debugreg(6, read_debugreg(6) | event->pending_dbg);
+        write_debugreg(6, merge_dr6(read_debugreg(6), event->pending_dbg,
+                                    curr->domain->arch.cpuid->feat.rtm));
 
         if ( !nestedhvm_vcpu_in_guestmode(curr) ||
              !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index a1df74c02e..fd32846397 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -23,6 +23,14 @@
 #define X86_DR6_BT              (1u << 15)  /* Task switch             */
 #define X86_DR6_RTM             (1u << 16)  /* #DB/#BP in RTM region   */
 
+#define X86_DR6_BP_MASK                                 \
+    (X86_DR6_B0 | X86_DR6_B1 | X86_DR6_B2 | X86_DR6_B3)
+
+#define X86_DR6_KNOWN_MASK                                              \
+    (X86_DR6_BP_MASK | X86_DR6_BD | X86_DR6_BS | X86_DR6_BT | X86_DR6_RTM)
+
+#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
+
 #define DR_TRAP0        (0x1)           /* db0 */
 #define DR_TRAP1        (0x2)           /* db1 */
 #define DR_TRAP2        (0x4)           /* db2 */
@@ -30,7 +38,6 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
    The top two bytes of the control register consist of 4 fields of 4
@@ -74,6 +81,8 @@
 #define DR_RTM_ENABLE            (0x00000800UL) /* RTM debugging enable */
 #define DR_GENERAL_DETECT        (0x00002000UL) /* General detect enable */
 
+#define X86_DR7_DEFAULT         0x00000400  /* Default %dr7 value. */
+
 #define write_debugreg(reg, val) do {                       \
     unsigned long __val = val;                              \
     asm volatile ( "mov %0,%%db" #reg : : "r" (__val) );    \
@@ -102,6 +111,25 @@ static inline unsigned long adjust_dr6_rsvd(unsigned long dr6, bool rtm)
     return dr6;
 }
 
+static inline unsigned long merge_dr6(unsigned long dr6, unsigned long new,
+                                      bool rtm)
+{
+    /* Flip dr6 to have positive polarity. */
+    dr6 ^= X86_DR6_DEFAULT;
+
+    /* Sanity check that only known values are passed in. */
+    ASSERT(!(dr6 & ~X86_DR6_KNOWN_MASK));
+    ASSERT(!(new & ~X86_DR6_KNOWN_MASK));
+
+    /* Breakpoints 0-3 overridden.  BD, BS, BT and RTM accumulate. */
+    dr6 = (dr6 & ~X86_DR6_BP_MASK) | new;
+
+    /* Flip dr6 back to having default polarity. */
+    dr6 ^= X86_DR6_DEFAULT;
+
+    return adjust_dr6_rsvd(dr6, rtm);
+}
+
 static inline unsigned long adjust_dr7_rsvd(unsigned long dr7, bool rtm)
 {
     /*
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index e350227e57..7fbc74850a 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -100,16 +100,6 @@
 #define X86_XCR0_LWP_POS          62
 #define X86_XCR0_LWP              (1ULL << X86_XCR0_LWP_POS)
 
-/*
- * Debug status flags in DR6.
- */
-#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
-
-/*
- * Debug control flags in DR7.
- */
-#define X86_DR7_DEFAULT         0x00000400  /* Default %dr7 value. */
-
 /*
  * Invalidation types for the INVPCID instruction.
  */
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 4f5641a47c..65b41e6115 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -66,7 +66,8 @@ void pv_inject_event(const struct x86_event *event)
         break;
 
     case X86_EXC_DB:
-        curr->arch.dr6 |= event->pending_dbg;
+        curr->arch.dr6 = merge_dr6(curr->arch.dr6, event->pending_dbg,
+                                   curr->domain->arch.cpuid->feat.rtm);
         /* Fallthrough */
 
     default:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 15:57:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 15:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587669.919051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7HP-0008T1-LB; Mon, 21 Aug 2023 15:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587669.919051; Mon, 21 Aug 2023 15: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 1qY7HP-0008Sn-Hh; Mon, 21 Aug 2023 15:57:23 +0000
Received: by outflank-mailman (input) for mailman id 587669;
 Mon, 21 Aug 2023 15:57:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7HN-0007T4-Tu
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 15:57:21 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69179f1c-403b-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 17:57:21 +0200 (CEST)
Received: by mail-pj1-x1035.google.com with SMTP id
 98e67ed59e1d1-26b1adbd655so1683174a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 08:57:21 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 gk10-20020a17090b118a00b00263f5ac814esm8006442pjb.38.2023.08.21.08.57.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08: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: 69179f1c-403b-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633440; x=1693238240;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3h0/4vMhdc6NEPPkooWDGkHtRbVMqlbYe751/Lp+iP4=;
        b=mWSIgkZCck934AGqU7WG5KHhLW1pQeWfoIFz9a8LxWINvtYpDgE5Q8y2TeurJRSTPY
         raCgRIOVqQwYPS233mfh3hKSeUfKsb8aIZ+3bUA8ih1/kr/Q3Oz9JMh9duY6XGdQmLGM
         NztUs7Z9AnrPMslcb8ZlW2YSYQ+z6na9/jT1k0dmYDjV0zO/oNxrp5y23PjSgBAko2h+
         Zh8xVhnSwfmcuDd1sQ1EA2a87/qfKrrKtBCLosBfVMnHzHlHcipUAQzE304HdX+NoyqI
         mvtRcj2NiAAv+nELIuSAFokQF7y8Bm3BbyuC9edejyKfp15f+sJRcNJZYX2hw2FW0KNq
         nEsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633440; x=1693238240;
        h=content-transfer-encoding:in-reply-to: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=3h0/4vMhdc6NEPPkooWDGkHtRbVMqlbYe751/Lp+iP4=;
        b=A8makKs7xIKEzecC2850zwNJ3cpCZO+5+jhebGxa45/3tguk/ItMMz57kVWIxdeq3v
         1Z5r9W/9MLnVdeofjIK9yuLXnUyZhWEDpnhGcXDH0uH56frS28LREs8Rd4kbwd0Av8UP
         iaOeh5JTgW37A7U2yJLYaIyxKwfcLk+zDbjEKgiFvkZ1KwEd5bi/f8hhh9pYDHeK2yD2
         HqcVc1oZJwU80bOK8mDop40mDkF2XH43TKdx5THk7pktKSPC4GXfzSaH4fUj1eS4U/Fe
         gVm2EnRahcnOXwxGLhtWhWTWoUkFwa9m8RDZGZNXBrPb9t4zcW8F8QBFSsq8RtqEOs7g
         A+1g==
X-Gm-Message-State: AOJu0YwSYwHQCZe9MmGB59QrJzLqBZjDNH/sOgDMU7f2O2Ua75nI81wg
	xMj+xuyFelUmyxSAAc8J2YRnhsP/e3QdWg==
X-Google-Smtp-Source: AGHT+IFAEAp8qN0zy425H2mzixp+DP/gF9uDNT86EnfWADBY6jmQA7seN41nIAGrKeijPlLJrWveTw==
X-Received: by 2002:a17:90a:c691:b0:262:ecd9:ed09 with SMTP id n17-20020a17090ac69100b00262ecd9ed09mr4460482pjt.33.1692633440024;
        Mon, 21 Aug 2023 08:57:20 -0700 (PDT)
Message-ID: <f2ba8f0e-db04-8b1f-d349-526fdb7a1ede@gmail.com>
Date: Tue, 22 Aug 2023 00:57:16 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 5/5] x86/dbg: Cleanup of legacy dr6 constants
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Language: en-US
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

Replace the few remaining uses with X86_DR6_* constants.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/vmx/vmx.c          |  2 +-
 xen/arch/x86/include/asm/debugreg.h | 17 -----------------
 xen/arch/x86/pv/emul-priv-op.c      |  2 +-
 xen/arch/x86/traps.c                |  2 +-
 4 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1fd902ed74..43b57a444e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4306,7 +4306,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
                     __vmread(GUEST_PENDING_DBG_EXCEPTIONS, &pending_dbg);
                     __vmwrite(GUEST_PENDING_DBG_EXCEPTIONS,
-                              pending_dbg | DR_STEP);
+                              pending_dbg | X86_DR6_BS);
                 }
             }
 
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index fd32846397..1061fdaaae 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -1,15 +1,6 @@
 #ifndef _X86_DEBUGREG_H
 #define _X86_DEBUGREG_H
 
-
-/* Indicate the register numbers for a number of the specific
-   debug registers.  Registers 0-3 contain the addresses we wish to trap on */
-
-#define DR_FIRSTADDR 0
-#define DR_LASTADDR  3
-#define DR_STATUS    6
-#define DR_CONTROL   7
-
 /*
  * DR6 status bits.
  *   N.B. For backwards compatibility, X86_DR6_RTM has inverted polarity.
@@ -31,14 +22,6 @@
 
 #define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
 
-#define DR_TRAP0        (0x1)           /* db0 */
-#define DR_TRAP1        (0x2)           /* db1 */
-#define DR_TRAP2        (0x4)           /* db2 */
-#define DR_TRAP3        (0x8)           /* db3 */
-#define DR_STEP         (0x4000)        /* single-step */
-#define DR_SWITCH       (0x8000)        /* task switch */
-#define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-
 /* Now define a bunch of things for manipulating the control register.
    The top two bytes of the control register consist of 4 fields of 4
    bits - each field corresponds to one of the four debug registers,
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 72d0514e74..78a1f4aff7 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -1359,7 +1359,7 @@ int pv_emulate_privileged_op(struct cpu_user_regs *regs)
     {
     case X86EMUL_OKAY:
         if ( ctxt.ctxt.retire.singlestep )
-            ctxt.bpmatch |= DR_STEP;
+            ctxt.bpmatch |= X86_DR6_BS;
 
         if ( ctxt.bpmatch &&
              !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 640b60e0e5..829741ff78 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1955,7 +1955,7 @@ void do_debug(struct cpu_user_regs *regs)
          * If however we do, safety measures need to be enacted.  Use a big
          * hammer and clear all debug settings.
          */
-        if ( dr6 & (DR_TRAP3 | DR_TRAP2 | DR_TRAP1 | DR_TRAP0) )
+        if ( dr6 & X86_DR6_BP_MASK )
         {
             unsigned int bp, dr7 = read_debugreg(7);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:02:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:02:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587695.919061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7MC-00037f-6p; Mon, 21 Aug 2023 16:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587695.919061; Mon, 21 Aug 2023 16: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 1qY7MC-00037Y-45; Mon, 21 Aug 2023 16:02:20 +0000
Received: by outflank-mailman (input) for mailman id 587695;
 Mon, 21 Aug 2023 16: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=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7MA-00037S-Mc
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:02:18 +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 191a2662-403c-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 18:02:16 +0200 (CEST)
Received: by mail-qv1-xf30.google.com with SMTP id
 6a1803df08f44-64f383be0d4so11292386d6.3
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 09:02:16 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 w24-20020aa78598000000b0068892a66b5csm6326109pfn.77.2023.08.21.08.57.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 08:57:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 191a2662-403c-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692633735; x=1693238535;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=rcvI6BZjybNsQpnXFA/kOhrlUplNszr0VzIfXd6lzuc=;
        b=o0AEj9FV+uPHAhr5gDF077SdH56OuNRVmYupSAxDBzuFAMrSv7QmEDSgbdavflm1Po
         1RZXL00JNYwdUsmPudsPhG09nqrfZ1ipfaSL8gKztUPa6SiBkIHHVOSh67C1qAnE8Rnj
         aunrj4pb1EQiNfdJHWv5I818JFS0gFYi8E0G/51tWaYKrecjZGsGupK2OiN/Zgto4ToQ
         LINvd0KwyOFmpUQceQhoWpseFe1R35sgdt0DGd4AILC2cZ8EaMoo4oGqXwJC7BpobiX2
         VpXken/E6+41S0Sn6JzO/IuUFQYdRXT+C/k9WI+tc+YtvNiZTyxFA5FBZgoRVOER3aLs
         1eDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692633735; x=1693238535;
        h=content-transfer-encoding:in-reply-to: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=rcvI6BZjybNsQpnXFA/kOhrlUplNszr0VzIfXd6lzuc=;
        b=RHdbw0a2hI94xhTiG5qoH8x2ShlXaKZkViu+EyXWiBNcd18+uFAhoLefZfJ5pgj94N
         iXgfZfHNHFYG1zLNoQ9UljrCNQEPAfEfNeQuVzr6oqnhvzi4CvV2CAPdep85fQmiIioz
         5cow7LXDgnZLfn2SjlF9UC3aVa7hIlpqR9hE/4xxwRy/RvLveKt2rmyKaKO2e08orht+
         TBNve4B2ok4lZ8yA+Ogh6AIropV/MP1C0W47evmNPs4O1+xj7cnJR+zA2X/S3czW34IM
         F+MsMyqp29pAbf8v7wutXEkgHCsAqr4PTeCqTvboJWbcoPLpkVst7m0upPoosP0QdWGD
         SN6w==
X-Gm-Message-State: AOJu0YxRT2nakYuGF3A1jrPoiOhP79d2oboLf5yW7fV0c7NAY2k8+rlH
	phUZt713FqWk+Tb7zA7hZYx0/DeQs64Ghw==
X-Google-Smtp-Source: AGHT+IG9nzyYO7XWBCTfZ/MQCvZngajnf3c6sN3apWr2WuD5z1MrMNP2t6ssgvevRZYfN+Lfykthmw==
X-Received: by 2002:a05:6870:470e:b0:1c0:1caf:3324 with SMTP id b14-20020a056870470e00b001c01caf3324mr9797661oaq.44.1692633425056;
        Mon, 21 Aug 2023 08:57:05 -0700 (PDT)
Message-ID: <49f8d2f3-c468-774c-11d1-04a08169620d@gmail.com>
Date: Tue, 22 Aug 2023 00:57:00 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH 2/5] x86/emul: Add pending_dbg field to x86_event
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, 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>,
 Tim Deegan <tim@xen.org>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Language: en-US
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

All #DB exceptions result in an update of %dr6, but this isn't captured in
Xen's handling.

PV guests generally work by modifying %dr6 before raising #DB, whereas HVM
guests do nothing and have a single-step special case in the lowest levels of
{vmx,svm}_inject_event().  All of this is buggy, but in particular, task
switches with the trace flag never end up signalling BT in %dr6.

To begin resolving this issue, add a new pending_dbg field to x86_event
(unioned with cr2 to avoid taking any extra space), and introduce
{pv,hvm}_inject_debug_exn() helpers to replace the current callers using
{pv,hvm}_inject_hw_exception().

A key property is that pending_dbg is taken with positive polarity to deal
with RTM sensibly.  Most callers pass in a constant, but callers passing in a
hardware %dr6 value need to xor the value with X86_DR6_DEFAULT to flip the
polarity of RTM and reserved fields.

For PV guests, move the ad-hoc updating of %dr6 into pv_inject_event().  This
in principle breaks the handing of RTM in do_debug(), but PV guests can't
actually enable MSR_DEBUGCTL.RTM yet, so this doesn't matter in practice.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/emulate.c             |  3 ++-
 xen/arch/x86/hvm/hvm.c                 |  2 +-
 xen/arch/x86/hvm/svm/svm.c             |  9 ++++++---
 xen/arch/x86/hvm/vmx/vmx.c             | 13 ++++++++-----
 xen/arch/x86/include/asm/debugreg.h    |  3 +++
 xen/arch/x86/include/asm/domain.h      | 12 ++++++++++++
 xen/arch/x86/include/asm/hvm/hvm.h     | 15 ++++++++++++++-
 xen/arch/x86/mm/shadow/multi.c         |  5 +++--
 xen/arch/x86/pv/emul-priv-op.c         | 11 +++++------
 xen/arch/x86/pv/emulate.c              |  6 ++----
 xen/arch/x86/pv/ro-page-fault.c        |  3 ++-
 xen/arch/x86/pv/traps.c                | 16 ++++++++++++----
 xen/arch/x86/traps.c                   |  6 +-----
 xen/arch/x86/x86_emulate/x86_emulate.h |  5 ++++-
 14 files changed, 75 insertions(+), 34 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 9b6e4c8bc6..129403ad90 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -16,6 +16,7 @@
 #include <xen/paging.h>
 #include <xen/trace.h>
 #include <xen/vm_event.h>
+#include <asm/debugreg.h>
 #include <asm/event.h>
 #include <asm/i387.h>
 #include <asm/xstate.h>
@@ -2673,7 +2674,7 @@ static int _hvm_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt,
     }
 
     if ( hvmemul_ctxt->ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 
     new_intr_shadow = hvmemul_ctxt->intr_shadow;
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 66ead0b878..c3d46841c2 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3229,7 +3229,7 @@ void hvm_task_switch(
     }
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BT);
 
  out:
     hvm_unmap_entry(optss_desc);
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 01dd592d9b..ac3123c56f 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -96,7 +96,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm.svm.vmcb->int_stat.intr_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 }
 
 static void cf_check svm_cpu_down(void)
@@ -2755,7 +2755,10 @@ void svm_vmexit_handler(void)
                 goto unexpected_exit_type;
             if ( !rc )
                 hvm_inject_exception(X86_EXC_DB,
-                                     trap_type, insn_len, X86_EVENT_NO_EC);
+                                     trap_type, insn_len, X86_EVENT_NO_EC,
+                                     exit_reason == VMEXIT_ICEBP ? 0 :
+                                     /* #DB - Hardware already updated dr6. */
+                                     vmcb_get_dr6(vmcb) ^ X86_DR6_DEFAULT);
         }
         else
             domain_pause_for_debugger();
@@ -2785,7 +2788,7 @@ void svm_vmexit_handler(void)
            if ( !rc )
                hvm_inject_exception(X86_EXC_BP,
                                     X86_EVENTTYPE_SW_EXCEPTION,
-                                    insn_len, X86_EVENT_NO_EC);
+                                    insn_len, X86_EVENT_NO_EC, 0 /* N/A */);
         }
         break;
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7ec44018d4..716115332b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3068,7 +3068,7 @@ void update_guest_eip(void)
     }
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 }
 
 static void cf_check vmx_fpu_dirty_intercept(void)
@@ -3911,7 +3911,7 @@ static int vmx_handle_eoi_write(void)
  * It is the callers responsibility to ensure that this function is only used
  * in the context of an appropriate vmexit.
  */
-static void vmx_propagate_intr(unsigned long intr)
+static void vmx_propagate_intr(unsigned long intr, unsigned long pending_dbg)
 {
     struct x86_event event = {
         .vector = MASK_EXTR(intr, INTR_INFO_VECTOR_MASK),
@@ -3935,6 +3935,9 @@ static void vmx_propagate_intr(unsigned long intr)
     else
         event.insn_len = 0;
 
+    if ( event.vector == X86_EXC_DB )
+        event.pending_dbg = pending_dbg;
+
     hvm_inject_event(&event);
 }
 
@@ -4300,7 +4303,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 if ( rc < 0 )
                     goto exit_and_crash;
                 if ( !rc )
-                    vmx_propagate_intr(intr_info);
+                    vmx_propagate_intr(intr_info, exit_qualification);
             }
             else
                 domain_pause_for_debugger();
@@ -4321,7 +4324,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 if ( rc < 0 )
                     goto exit_and_crash;
                 if ( !rc )
-                    vmx_propagate_intr(intr_info);
+                    vmx_propagate_intr(intr_info, 0 /* N/A */);
             }
             else
             {
@@ -4361,7 +4364,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             break;
         case X86_EXC_AC:
             HVMTRACE_1D(TRAP, vector);
-            vmx_propagate_intr(intr_info);
+            vmx_propagate_intr(intr_info, 0 /* N/A */);
             break;
         case X86_EXC_NMI:
             if ( MASK_EXTR(intr_info, INTR_INFO_INTR_TYPE_MASK) !=
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 8be60910b4..a1df74c02e 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -83,6 +83,9 @@
     asm volatile ( "mov %%db" #reg ",%0" : "=r" (__val) );  \
     __val;                                                  \
 })
+
+struct vcpu;
+
 long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
 void activate_debugregs(const struct vcpu *);
 
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index c2d9fc333b..eba11adf33 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -729,6 +729,18 @@ static inline void pv_inject_hw_exception(unsigned int vector, int errcode)
     pv_inject_event(&event);
 }
 
+static inline void pv_inject_debug_exn(unsigned long pending_dbg)
+{
+    struct x86_event event = {
+        .vector      = X86_EXC_DB,
+        .type        = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code  = X86_EVENT_NO_EC,
+        .pending_dbg = pending_dbg,
+    };
+
+    pv_inject_event(&event);
+}
+
 static inline void pv_inject_page_fault(int errcode, unsigned long cr2)
 {
     const struct x86_event event = {
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 6d53713fc3..43989f1681 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -503,13 +503,14 @@ hvm_get_cpl(struct vcpu *v)
 
 static inline void hvm_inject_exception(
     unsigned int vector, unsigned int type,
-    unsigned int insn_len, int error_code)
+    unsigned int insn_len, int error_code, unsigned long extra)
 {
     struct x86_event event = {
         .vector = vector,
         .type = type,
         .insn_len = insn_len,
         .error_code = error_code,
+        .cr2 = extra, /* Any union field will do. */
     };
 
     hvm_inject_event(&event);
@@ -526,6 +527,18 @@ static inline void hvm_inject_hw_exception(unsigned int vector, int errcode)
     hvm_inject_event(&event);
 }
 
+static inline void hvm_inject_debug_exn(unsigned long pending_dbg)
+{
+    struct x86_event event = {
+        .vector      = X86_EXC_DB,
+        .type        = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code  = X86_EVENT_NO_EC,
+        .pending_dbg = pending_dbg,
+    };
+
+    hvm_inject_event(&event);
+}
+
 static inline void hvm_inject_page_fault(int errcode, unsigned long cr2)
 {
     struct x86_event event = {
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index cf74fdf5dd..6056626912 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -15,6 +15,7 @@
 #include <xen/perfc.h>
 #include <xen/domain_page.h>
 #include <xen/iocap.h>
+#include <asm/debugreg.h>
 #include <xsm/xsm.h>
 #include <asm/page.h>
 #include <asm/current.h>
@@ -2788,7 +2789,7 @@ static int cf_check sh_page_fault(
 #endif
 
     if ( emul_ctxt.ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 
 #if GUEST_PAGING_LEVELS == 3 /* PAE guest */
     /*
@@ -2829,7 +2830,7 @@ static int cf_check sh_page_fault(
                 TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_EMULATION_LAST_FAILED);
 
                 if ( emul_ctxt.ctxt.retire.singlestep )
-                    hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+                    hvm_inject_debug_exn(X86_DR6_BS);
 
                 break; /* Don't emulate again if we failed! */
             }
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 142bc4818c..72d0514e74 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -1360,12 +1360,11 @@ int pv_emulate_privileged_op(struct cpu_user_regs *regs)
     case X86EMUL_OKAY:
         if ( ctxt.ctxt.retire.singlestep )
             ctxt.bpmatch |= DR_STEP;
-        if ( ctxt.bpmatch )
-        {
-            curr->arch.dr6 |= ctxt.bpmatch | DR_STATUS_RESERVED_ONE;
-            if ( !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
-                pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-        }
+
+        if ( ctxt.bpmatch &&
+             !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
+            pv_inject_debug_exn(ctxt.bpmatch);
+
         /* fall through */
     case X86EMUL_RETRY:
         return EXCRET_fault_fixed;
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index e7a1c0a2cc..aa8af96c30 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -71,11 +71,9 @@ void pv_emul_instruction_done(struct cpu_user_regs *regs, unsigned long rip)
 {
     regs->rip = rip;
     regs->eflags &= ~X86_EFLAGS_RF;
+
     if ( regs->eflags & X86_EFLAGS_TF )
-    {
-        current->arch.dr6 |= DR_STEP | DR_STATUS_RESERVED_ONE;
-        pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-    }
+        pv_inject_debug_exn(X86_DR6_BS);
 }
 
 uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index cad28ef928..50c37fbd25 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -9,6 +9,7 @@
  */
 
 #include <asm/pv/trace.h>
+#include <asm/debugreg.h>
 #include <asm/shadow.h>
 
 #include "emulate.h"
@@ -390,7 +391,7 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
         /* Fallthrough */
     case X86EMUL_OKAY:
         if ( ctxt.retire.singlestep )
-            pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+            pv_inject_debug_exn(X86_DR6_BS);
 
         /* Fallthrough */
     case X86EMUL_RETRY:
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 74f333da7e..4f5641a47c 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -13,6 +13,7 @@
 #include <xen/softirq.h>
 
 #include <asm/pv/trace.h>
+#include <asm/debugreg.h>
 #include <asm/shared.h>
 #include <asm/traps.h>
 #include <irq_vectors.h>
@@ -50,9 +51,9 @@ void pv_inject_event(const struct x86_event *event)
     tb->cs    = ti->cs;
     tb->eip   = ti->address;
 
-    if ( event->type == X86_EVENTTYPE_HW_EXCEPTION &&
-         vector == X86_EXC_PF )
+    switch ( vector | -(event->type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
+    case X86_EXC_PF:
         curr->arch.pv.ctrlreg[2] = event->cr2;
         arch_set_cr2(curr, event->cr2);
 
@@ -62,9 +63,16 @@ void pv_inject_event(const struct x86_event *event)
             error_code |= PFEC_user_mode;
 
         trace_pv_page_fault(event->cr2, error_code);
-    }
-    else
+        break;
+
+    case X86_EXC_DB:
+        curr->arch.dr6 |= event->pending_dbg;
+        /* Fallthrough */
+
+    default:
         trace_pv_trap(vector, regs->rip, use_error_code, error_code);
+        break;
+    }
 
     if ( use_error_code )
     {
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index a898e1f2d7..640b60e0e5 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1989,17 +1989,13 @@ void do_debug(struct cpu_user_regs *regs)
         return;
     }
 
-    /* Save debug status register where guest OS can peek at it */
-    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
-    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
-
     if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
     {
         domain_pause_for_debugger();
         return;
     }
 
-    pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+    pv_inject_debug_exn(dr6 ^ X86_DR6_DEFAULT);
 }
 
 void do_entry_CP(struct cpu_user_regs *regs)
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 698750267a..e348e3c1d3 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -78,7 +78,10 @@ struct x86_event {
     uint8_t       type;         /* X86_EVENTTYPE_* */
     uint8_t       insn_len;     /* Instruction length */
     int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
-    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
+    union {
+        unsigned long cr2;         /* #PF */
+        unsigned long pending_dbg; /* #DB (new DR6 bits, positive polarity) */
+    };
 };
 
 /*
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:12:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587703.919070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7Vw-00050r-78; Mon, 21 Aug 2023 16:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587703.919070; Mon, 21 Aug 2023 16:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7Vw-00050k-4b; Mon, 21 Aug 2023 16:12:24 +0000
Received: by outflank-mailman (input) for mailman id 587703;
 Mon, 21 Aug 2023 16: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=0mH9=EG=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qY7Vv-00050e-Ho
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:12:23 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80c358b9-403d-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 18:12:20 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1bddac1b7bfso23597415ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 09:12:20 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 c15-20020a170903234f00b001b9be3b94d3sm7226088plh.140.2023.08.21.09.12.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Aug 2023 09: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: 80c358b9-403d-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692634339; x=1693239139;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rKTly9oTX4+KyayCl1SolSAY8q0smxB2Uu0g9MnMWxY=;
        b=W28CnbMKLuHAJ1nZAY0vLMW6QBC9vd2CAH1Q2WmdMWFXS0wV4wO9JhZMULuZWOKBuW
         xE7973PuBqORBU43eI7S6gLXmEQn7PTysuXSgresJF7EN/EhsJDcnoIQwo1BQ2+fIwFp
         QJaXAR2QynZeTS2zV2QknKpBZK6H/oBXzCGuDxARnJ+waqVLZvmTDAjUzBqBE+dc6qLk
         3CbEmKlHu8OrChXsNP19WZw1FCH1p4gXgbSyrT7i0UH7sKLryDYYctBT65s6Xl7FCMB3
         k1VHIEcPh+4jhECBnJ7xm8poGCVHZFfH1yGXpOs70mHGc/vNvDKAjYMZ8c3Q/eJPbv20
         T9dA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692634339; x=1693239139;
        h=content-transfer-encoding:in-reply-to: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=rKTly9oTX4+KyayCl1SolSAY8q0smxB2Uu0g9MnMWxY=;
        b=ZyICGxnfv+WAeOWqBIDBDek7xi1dj/hq0tZW63hnnPECCTzA75VnGX09i50yKbfYmn
         Ey1tnA+mVRft8W8CCb0aefB4pUvqLLW0KemkmvWdUVty5wEhDtSR4fk33lsN93dF9PUh
         8OCPHK4r6iHnnmM+vqMsvoIaUIrtZ2nVoF5VbcQSo76QA7D8LHUR0UojZ03TP3vQ6zIl
         hiwtkpct5l8Hjh9OpCBuvHdEWYu2qFcFOezDKd1OW4fxdVFbaJPOJ68XoHm0R/lncFEQ
         hZ4PyUVpf1bRHlhN0xS1FbCQdJqymDaGovDJ5UWFuOgQRfOmoUOFTMQeuvSyWhJApYCw
         BH/g==
X-Gm-Message-State: AOJu0YzHSd3zFMBo786tdfC+VxFnY8NZy/q8Z9ZGKncgNI3pioF111Cx
	9mZ4KmpPKqdViBMDNRwmRK8DsVmHeMnDzA==
X-Google-Smtp-Source: AGHT+IGRW7tIQT/a5noxRjopqMIqcfr4qLMkihuqTD3tp71vZzZfPFxv73L1vQNFK3rH1MuHBr823g==
X-Received: by 2002:a17:902:e806:b0:1be:f37f:a8d5 with SMTP id u6-20020a170902e80600b001bef37fa8d5mr12001822plg.10.1692634338630;
        Mon, 21 Aug 2023 09:12:18 -0700 (PDT)
Message-ID: <dcd6a5db-239a-9ade-0236-be91744e3b98@gmail.com>
Date: Tue, 22 Aug 2023 01:12:13 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/5] x86: Fix calculation of %dr6/7 reserved bits
Content-Language: en-US
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
To: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
In-Reply-To: <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/22/23 00:56, Jinoh Kang wrote:
> From: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> The reserved bit calculations for %dr6 and %dr7 depend on whether the VM has
> the Restricted Transnational Memory feature available.

s/Transnational/Transactional/.

It was in the original review, but I missed the change.  Apologies.

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:18:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587710.919081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7bq-0005dL-RV; Mon, 21 Aug 2023 16:18:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587710.919081; Mon, 21 Aug 2023 16:18:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY7bq-0005dE-Oc; Mon, 21 Aug 2023 16:18:30 +0000
Received: by outflank-mailman (input) for mailman id 587710;
 Mon, 21 Aug 2023 16:18: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=WiRE=EG=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qY7bp-0005d6-T8
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:18:29 +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 5cfcc873-403e-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 18:18:28 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-3fee06efd6bso13717005e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 09:18: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
 c1-20020a7bc001000000b003fee567235bsm9024709wmb.1.2023.08.21.09.18.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Aug 2023 09:18: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: 5cfcc873-403e-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692634708; x=1693239508;
        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=gEN2hXg7vP73QvnLrDyorfgNBzSnS89HtAfPQpE3PWI=;
        b=X1+xSccQW4JuFeI2LWd5r30Gl+ujJSvoPj0gPyGYOXsdtOi+2we5pRW95KQC8WOH0A
         HTlQuwl0r0fX4RdklmFKBeKPfwFgau0miAYW3d+WR4oT8PONk06uYdSUUcwmFNQBKBlG
         Z9HtZZrw2eE5XG35+Fx094jPh/3ik476PGJMQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692634708; x=1693239508;
        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=gEN2hXg7vP73QvnLrDyorfgNBzSnS89HtAfPQpE3PWI=;
        b=GDGoFxC34Vq9zSw22qkH9XfihMI/cDslos+U/CWf8orflOCjLGLZW6PHs1FDGvsjEc
         kSO6Zr0vV3GAK3poSgKcmdHSUAZSlxzajoI+1ku4ivJoMiM3oWnYxXG85s4Nc+FRfzJS
         i0h13X5qu/Rvv3+p1a6Ew6CqjE8vaCp6JwYKJZItsGr65ZXEMIQR3/gzd+dMM88ZYsy7
         Z3VoXyheMP3b/tTHvw2jMjIIBQvDwYXgT0zXUq4CRiExYofIRhNWCSRv+kKWpQ22MhkU
         tpvGFxzbUXJcWd/rtgWp0/7wK2D2i1WOGROkTsaXSzPqKLyn2UiL9bWTBQQUy3qpshqH
         ocig==
X-Gm-Message-State: AOJu0Yw9v5mpCQ6ZYMpOWx2847btgvpdGFBxhonJwNPFZ5LXN2n/6l+s
	2TyYVYko+YuUwVi9Yz8n2cBcPeKEQhExBhVXvxnQ9A==
X-Google-Smtp-Source: AGHT+IH39wVtsljzvIuPxTcd/VRxzRGcCcJ3RLrRQPQmbU4lJVb/dFmA1BU2G5XbpaJQhRtSlXG/jQ==
X-Received: by 2002:a05:600c:3646:b0:3fe:d45a:5bfd with SMTP id y6-20020a05600c364600b003fed45a5bfdmr5191426wmq.13.1692634708257;
        Mon, 21 Aug 2023 09:18:28 -0700 (PDT)
Date: Mon, 21 Aug 2023 17:18:27 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [XEN][PATCH v9 17/19] tools/libs/ctrl: Implement new xc
 interfaces for dt overlay
Message-ID: <b94a7e3f-8583-4ffc-85ea-cf59e85e1786@perard>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-18-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230819002850.32349-18-vikram.garhwal@amd.com>

On Fri, Aug 18, 2023 at 05:28:48PM -0700, Vikram Garhwal wrote:
> xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
> operation type i.e. add or remove to xen.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Hi Vikram,

I've given some comments on the v7 of this patch at [1], there's been no reply
and the patch hasn't changed.

[1] https://lore.kernel.org/xen-devel/9975f41c-c149-445a-8122-c15cfe5511b0@perard/

Did this fell through the cracks?

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:44:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:44:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587717.919091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY80d-00014l-L9; Mon, 21 Aug 2023 16:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587717.919091; Mon, 21 Aug 2023 16: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 1qY80d-00014e-IR; Mon, 21 Aug 2023 16:44:07 +0000
Received: by outflank-mailman (input) for mailman id 587717;
 Mon, 21 Aug 2023 16:44: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=fPgY=EG=gmail.com=tamas.k.lengyel@srs-se1.protection.inumbo.net>)
 id 1qY80c-00014Y-FH
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:44:06 +0000
Received: from mail-yw1-x112a.google.com (mail-yw1-x112a.google.com
 [2607:f8b0:4864:20::112a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f04c4df7-4041-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 18:44:05 +0200 (CEST)
Received: by mail-yw1-x112a.google.com with SMTP id
 00721157ae682-58c4f61ca12so39285387b3.3
 for <xen-devel@lists.xenproject.org>; Mon, 21 Aug 2023 09:44: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: f04c4df7-4041-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692636244; x=1693241044;
        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=b+F2jRBcLa1AI1IhGGWTgrljDVsVBLaFUBfyc+9vHQY=;
        b=h9gQVjzL/24yrVAU2+ni5E0xFo7n63n9tcS+78w5Z/PpLpA8y8N2VCfZiaP1/QkaGG
         +7GIzxzZSbp6qpPsywGK+qG8RVBLMnQD9VlpnvEv/hSD/+yppvbWsVIkGwtJnPOV6F4r
         QJn984VgfxOnrhG+B7VnL0b0jkkrK5leAYm9VhPwQ/GhnTRLd9EFBjuWTbBfcavkCiIx
         6TLMjyKLQOtAiZQhC9JQfJdiFzNCw6LQGQB3KoWR8LpguG4F60ExwbZFQRbHyqSODw3R
         YeGHD+hIxsu1WdQjATRSDwKVB1xHoLt7V0RpBf482RltzAyPwS2TUsrWpc8y1JxNICea
         kv5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692636244; x=1693241044;
        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=b+F2jRBcLa1AI1IhGGWTgrljDVsVBLaFUBfyc+9vHQY=;
        b=KGH82ZKiP6BpZohxIVrYtRsJxutSK2hrdMWUC6USqDcTavQgiBfU2bebVIgBlRcJ2U
         cvWm8qJDHZQ6TFGkG9qKY/oo5e9XS1ctOVb55fZ40sWSSe3vDZvXCTVSZ4022p1/7669
         Vos5mUqeOBqeNpNxgABErRkEGBjWgwZoJ+F5NXkWSAHY0KJsv99HNpXQpe6f/FOg+uzo
         va/7JnQETVZMwZRPQDz48aV2nkeoRgMBPM/U0NkRInfmRRh+HEzwVMaESntB0ZijC5mO
         vcxTAnemhqNDmxNwJ8Nu7piKlUyOdeWd01lVDGsPBIFrsLTmn06bhhMsCZM3F5ScQq9x
         wgzA==
X-Gm-Message-State: AOJu0YwmnO19ry6wqDUGAq4Mcnp3c7zIN4j+0HRYN3j8ckDbrvIhjCuU
	1BKD8q6n1ZY6o/vP/SRSUFOTVx/vWs7xQO65zenCgHeBgaeLqA==
X-Google-Smtp-Source: AGHT+IHO3RPAqBEQqs+3zQtGbLpwrx0rayeanswRJ7J57vyEWMxJ5P9wAMB3SLPKbSjNAwsbsNlGuibarfM7nHgetLU=
X-Received: by 2002:a25:858b:0:b0:d71:8f08:30a9 with SMTP id
 x11-20020a25858b000000b00d718f0830a9mr8558559ybk.14.1692636243863; Mon, 21
 Aug 2023 09:44:03 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1692181079.git.oleksii.kurochko@gmail.com> <5e9219fb6c5e3d0ad921d7d050abc2a802d1742b.1692181079.git.oleksii.kurochko@gmail.com>
In-Reply-To: <5e9219fb6c5e3d0ad921d7d050abc2a802d1742b.1692181079.git.oleksii.kurochko@gmail.com>
From: Tamas K Lengyel <tamas.k.lengyel@gmail.com>
Date: Mon, 21 Aug 2023 18:43:27 +0200
Message-ID: <CABfawhm3NrjsNYK77uFNQZWS9a5nJQWo3+0VXvGkit2YzCdVQg@mail.gmail.com>
Subject: Re: [PATCH v1 44/57] xen/riscv: introduce asm/vm_event.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 16, 2023 at 12:30=E2=80=AFPM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/include/asm/vm_event.h | 52 +++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
>  create mode 100644 xen/arch/riscv/include/asm/vm_event.h

I don't think we ought to replicate this header for every arch when
clearly the functions in them are only relevant for specific
architectures. Would make more sense to me to just conditionalize the
caller side to the specific archs where these functions are actually
defined, which would largely just be CONFIG_X86.

Tamas


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:55:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587727.919121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BI-00037m-KL; Mon, 21 Aug 2023 16:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587727.919121; Mon, 21 Aug 2023 16:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BI-000369-FV; Mon, 21 Aug 2023 16:55:08 +0000
Received: by outflank-mailman (input) for mailman id 587727;
 Mon, 21 Aug 2023 16:55: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=TIpk=EG=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qY8BH-0002jC-6V
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:55:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a1648ec-4043-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 18:55:05 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 3B28C4EE073D;
 Mon, 21 Aug 2023 18:55: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: 7a1648ec-4043-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [RFC PATCH 2/3] docs: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
Date: Mon, 21 Aug 2023 18:54:38 +0200
Message-Id: <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692636338.git.nicola.vetrini@bugseng.com>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To be able to check for the existence of the necessary subsections in
the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
file that is built.

This file is generated from 'C-runtime-failures.rst' in docs/misra
and the configuration is updated accordingly.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/Makefile       |  7 ++++++-
 docs/misra/Makefile | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 docs/misra/Makefile

diff --git a/docs/Makefile b/docs/Makefile
index 966a104490ac..ff991a0c3ca2 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -43,7 +43,7 @@ DOC_PDF  := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
 all: build
 
 .PHONY: build
-build: html txt pdf man-pages figs
+build: html txt pdf man-pages figs misra
 
 .PHONY: sphinx-html
 sphinx-html:
@@ -66,9 +66,14 @@ endif
 .PHONY: pdf
 pdf: $(DOC_PDF)
 
+.PHONY: misra
+misra:
+	$(MAKE) -C misra
+
 .PHONY: clean
 clean: clean-man-pages
 	$(MAKE) -C figs clean
+	$(MAKE) -C misra clean
 	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
 	rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core
 	rm -rf html txt pdf sphinx/html
diff --git a/docs/misra/Makefile b/docs/misra/Makefile
new file mode 100644
index 000000000000..f62cd936bfcc
--- /dev/null
+++ b/docs/misra/Makefile
@@ -0,0 +1,36 @@
+XEN_ROOT=$(CURDIR)/../..
+include $(XEN_ROOT)/Config.mk
+-include $(XEN_ROOT)/config/Docs.mk
+
+
+TARGETS := $(addprefix C-runtime-failures,.c .o)
+
+all: $(TARGETS)
+
+define MISRA_HEADER
+/*
+
+endef
+
+define MISRA_FOOTER
+
+*/
+
+endef
+export MISRA_HEADER
+export MISRA_FOOTER
+
+C-runtime-failures.c: C-runtime-failures.rst
+# sed is used in place of cat to prevent occurrences of '*/'
+# in the .rst from breaking the compilation
+	( \
+	  echo "$${MISRA_HEADER}"; \
+	  sed -e 's|*/|*//*|' $<; \
+	  echo "$${MISRA_FOOTER}" \
+	) > $@
+
+%.o: %.c
+	$(CC) -c $< -o $@
+
+clean:
+	rm -f *.c *.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:55:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587724.919101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BH-0002je-JP; Mon, 21 Aug 2023 16:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587724.919101; Mon, 21 Aug 2023 16:55:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BH-0002jX-Ey; Mon, 21 Aug 2023 16:55:07 +0000
Received: by outflank-mailman (input) for mailman id 587724;
 Mon, 21 Aug 2023 16:55: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=TIpk=EG=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qY8BG-0002jB-7h
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:55:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79982c8e-4043-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 18:55:04 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 75C424EE073C;
 Mon, 21 Aug 2023 18:55: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: 79982c8e-4043-11ee-8782-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 1/3] docs/misra: add documentation for MISRA C:2012 Dir 4.1
Date: Mon, 21 Aug 2023 18:54:37 +0200
Message-Id: <3635c6896e8c31a9b3bf12e0c8f0718ce0b7ee77.1692636338.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692636338.git.nicola.vetrini@bugseng.com>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The aforementioned directive requires the project to supply documentation
on the measures taken towards the minimization of run-time failures.

The 'rules.rst' file is updated accordingly to mention the newly
added documentation.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/misra/C-runtime-failures.rst | 239 ++++++++++++++++++++++++++++++
 docs/misra/rules.rst              |   7 +-
 2 files changed, 245 insertions(+), 1 deletion(-)
 create mode 100644 docs/misra/C-runtime-failures.rst

diff --git a/docs/misra/C-runtime-failures.rst b/docs/misra/C-runtime-failures.rst
new file mode 100644
index 000000000000..f72385b08417
--- /dev/null
+++ b/docs/misra/C-runtime-failures.rst
@@ -0,0 +1,239 @@
+===================================================================
+Measures taken towards the minimization of Run-time failures in Xen
+===================================================================
+
+This document specifies which procedures and techinques are used troughout the
+Xen codebase to prevent or minimize the impact of certain classes of run-time
+errors that can occurr in the execution of a C program, due to the very minimal
+built-in checks that are present in the language.
+
+The presence of such documentation is requested by MISRA C:2012 Directive 4.1,
+whose headline states: "Run-time failures shall be minimized".
+
+
+Documentation for MISRA C:2012 Dir 4.1: overflow
+________________________________________________
+
+To be written.
+Example: Pervasive use of assertions and extensive test suite.
+
+
+Documentation for MISRA C:2012 Dir 4.1: unexpected wrapping
+___________________________________________________________
+
+To be written.
+Example: The only wrapping the is present in the code concerns
+unsigned integers and they are all expected.
+
+
+Documentation for MISRA C:2012 Dir 4.1: invalid shift
+_____________________________________________________
+
+To be written.
+Example: Pervasive use of assertions and extensive test suite.
+
+
+Documentation for MISRA C:2012 Dir 4.1: division/remainder by zero
+__________________________________________________________________
+
+To be written.
+Example:
+There division or remainder operations in the project code ensure that
+their second argument is never zero.
+
+
+Documentation for MISRA C:2012 Dir 4.1: unsequenced side effects
+________________________________________________________________
+
+To be written.
+Example:
+No function in this project is meant to be executed from interrupt handlers
+or in multi-threading environments.
+
+
+Documentation for MISRA C:2012 Dir 4.1: read from uninitialized automatic object
+________________________________________________________________________________
+
+To be written.
+Example:
+Automatic variables are used to store temporary parameters and they
+are always initialized to either a default value or a proper value
+before usage.
+
+
+Documentation for MISRA C:2012 Dir 4.1: read from uninitialized allocated object
+________________________________________________________________________________
+
+To be written.
+Example:
+The code does not use dynamically allocated storage.
+
+
+Documentation for MISRA C:2012 Dir 4.1: write to string literal or const object
+_______________________________________________________________________________
+
+To be written.
+Example:
+The toolchain puts every string literal and const object into a read-only
+section of memory.  The hardware exception raised when a write is attempted
+on such a memory section is correctly handled.
+
+
+Documentation for MISRA C:2012 Dir 4.1: non-volatile access to volatile object
+______________________________________________________________________________
+
+To be written.
+Example:
+Volatile access is limited to registers that are always accessed
+through macros or inline functions.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access to dead allocated object
+_______________________________________________________________________
+
+To be written.
+Example:
+The code does not use dynamically allocated storage.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access to dead automatic object
+_______________________________________________________________________
+
+To be written.
+Example:
+Pointers to automatic variables are never returned, nor stored in
+wider-scoped objects.  No function does the same on any pointer
+received as a parameter.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access to dead thread object
+____________________________________________________________________
+
+To be written.
+Example:
+The program does not use per-thread variables.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access using null pointer
+_________________________________________________________________
+
+To be written.
+Example:
+All possibly null pointers are checked before access.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access using invalid pointer
+____________________________________________________________________
+
+To be written.
+Example:
+Usage of pointers is limited.  Pointers passed as parameters are
+always checked for validity.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access using out-of-bounds pointer
+__________________________________________________________________________
+
+To be written.
+Example:
+Pointers are never uses to access arrays: indices are always used
+instead.
+
+
+Documentation for MISRA C:2012 Dir 4.1: access using unaligned pointer
+______________________________________________________________________
+
+To be written.
+Example:
+Pointer conversion that may result in unaligned pointers are never used.
+
+
+Documentation for MISRA C:2012 Dir 4.1: mistyped access to object
+-----------------------------------------------------------------
+
+To be written.
+Example:
+Pointer conversions that may result in mistyped accesses to objects
+are never used.
+
+
+Documentation for MISRA C:2012 Dir 4.1: mistyped access to function
+___________________________________________________________________
+
+To be written.
+Example:
+The code never uses function pointers.
+
+
+Documentation for MISRA C:2012 Dir 4.1: invalid pointer arithmetic
+__________________________________________________________________
+
+To be written.
+Example:
+Pointer arithmetic is never used.
+
+
+Documentation for MISRA C:2012 Dir 4.1: invalid pointer comparison
+__________________________________________________________________
+
+To be written.
+Example:
+Arrays are always accessed using indices instead of pointers.  Pointers
+are only compared to NULL.
+
+
+Documentation for MISRA C:2012 Dir 4.1: overlapping copy
+________________________________________________________
+
+To be written.
+Example:
+The code never uses memcpy() and does not perform assignment of
+overlapping objects (which is doable only via pointers).
+
+
+Documentation for MISRA C:2012 Dir 4.1: invalid arguments to function
+_____________________________________________________________________
+
+To be written.
+Example:
+All parameters to functions are checked for validity.
+
+
+Documentation for MISRA C:2012 Dir 4.1: returned function error
+_______________________________________________________________
+
+To be written.
+Example:
+All functions that may produce an error, do returns a suitable status code
+that is checked at each call site.
+
+
+Documentation for MISRA C:2012 Dir 4.1: tainted input
+_____________________________________________________
+
+To be written.
+Example:
+All parameters of all functions in the API are checked before being used.
+
+
+Documentation for MISRA C:2012 Dir 4.1: data race
+_________________________________________________
+
+To be written.
+Example:
+No function in this code is meant to be executed from interrupt handlers or
+in a multi-threading environment.
+
+
+Documentation for MISRA C:2012 Dir 4.1: invariant violation
+___________________________________________________________
+
+To be written.
+
+
+Documentation for MISRA C:2012 Dir 4.1: communication error
+___________________________________________________________
+
+To be written.
+Example:
+This project does not involve any external communication.
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25f4..cebff854a95c 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -47,7 +47,12 @@ maintainers if you want to suggest a change.
    * - `Dir 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_02_01.c>`_
      - Required
      - All source files shall compile without any compilation errors
-     -
+
+   * - `Dir 4.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_01.c>`_
+     - Required
+     - Run-time failures shall be minimized
+     - The strategies adopted by Xen to prevent certain classes of runtime
+       failures are documented by `C-runtime-failures.rst <docs/misra/C-runtime-failures.rst>`_
 
    * - `Dir 4.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_07.c>`_
      - Required
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:55:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587725.919105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BH-0002n7-Qt; Mon, 21 Aug 2023 16:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587725.919105; Mon, 21 Aug 2023 16:55:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BH-0002mD-N3; Mon, 21 Aug 2023 16:55:07 +0000
Received: by outflank-mailman (input) for mailman id 587725;
 Mon, 21 Aug 2023 16:55:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TIpk=EG=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qY8BG-0002jC-HU
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:55:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 792ef2d4-4043-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 18:55:03 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 739D24EE0737;
 Mon, 21 Aug 2023 18:55:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 792ef2d4-4043-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [RFC PATCH 0/3] docs/misra: add documentation to address MISRA C:2012 Dir 4.1
Date: Mon, 21 Aug 2023 18:54:36 +0200
Message-Id: <cover.1692636338.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The headline of Directive 4.1 states: "Run-time failures shall be minimized".
Thus, it requires the project to supply documentation that pertains the measures
and techinques used to prevent run-time failures from happening. For ease of
reading, the documentation is in RST format, but since ECLAIR needs a source file
to check that the needed subsections and their format is the one expected, the
Makefiles for the docs/ are amended to generate such a file.

Moreover, the format and categories of the subsections in the .rst file can be
customized based on feedback from the community: the one provided is just a
basic skeleton that should be tailored to the project.

Nicola Vetrini (3):
  docs/misra: add documentation for MISRA C:2012 Dir 4.1
  docs: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
  automation/eclair: build docs/misra to address MISRA C:2012 Dir 4.1

 automation/eclair_analysis/build.sh   |  10 +-
 automation/eclair_analysis/prepare.sh |   1 +
 docs/Makefile                         |   7 +-
 docs/misra/C-runtime-failures.rst     | 239 ++++++++++++++++++++++++++
 docs/misra/Makefile                   |  36 ++++
 docs/misra/rules.rst                  |   7 +-
 6 files changed, 296 insertions(+), 4 deletions(-)
 create mode 100644 docs/misra/C-runtime-failures.rst
 create mode 100644 docs/misra/Makefile

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:55:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587726.919114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BI-0002vF-72; Mon, 21 Aug 2023 16:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587726.919114; Mon, 21 Aug 2023 16:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8BI-0002ue-0r; Mon, 21 Aug 2023 16:55:08 +0000
Received: by outflank-mailman (input) for mailman id 587726;
 Mon, 21 Aug 2023 16:55: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=TIpk=EG=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qY8BG-0002jB-SF
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:55:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a82cf48-4043-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 18:55:05 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 1AABD4EE073E;
 Mon, 21 Aug 2023 18:55: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: 7a82cf48-4043-11ee-8782-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [RFC PATCH 3/3] automation/eclair: build docs/misra to address MISRA C:2012 Dir 4.1
Date: Mon, 21 Aug 2023 18:54:39 +0200
Message-Id: <fc8a60f5224f4285f674c83c42cff5b3681c29cd.1692636338.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1692636338.git.nicola.vetrini@bugseng.com>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The documentation pertaining Directive 4.1 is contained in docs/misra.
The build script driving the analysis is amended to allow ECLAIR to
find it and thus resolving violations of the directive.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/build.sh   | 10 ++++++++--
 automation/eclair_analysis/prepare.sh |  1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/build.sh b/automation/eclair_analysis/build.sh
index ec087dd822fa..a0433eedeb4d 100755
--- a/automation/eclair_analysis/build.sh
+++ b/automation/eclair_analysis/build.sh
@@ -34,8 +34,14 @@ else
 fi
 
 (
-  cd xen
-
+  cd docs
+  make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
+       "CROSS_COMPILE=${CROSS_COMPILE}"         \
+       "CC=${CROSS_COMPILE}gcc-12"              \
+       "CXX=${CROSS_COMPILE}g++-12"             \
+       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
+       misra
+  cd ../xen
   make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
        "CROSS_COMPILE=${CROSS_COMPILE}"         \
        "CC=${CROSS_COMPILE}gcc-12"              \
diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
index 275a1a3f517c..10854741790e 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -35,6 +35,7 @@ else
 fi
 
 (
+    ./configure
     cd xen
     cp "${CONFIG_FILE}" .config
     make clean
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 21 16:59:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 16:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587754.919141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8FF-00052t-5v; Mon, 21 Aug 2023 16:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587754.919141; Mon, 21 Aug 2023 16:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8FF-00052m-21; Mon, 21 Aug 2023 16:59:13 +0000
Received: by outflank-mailman (input) for mailman id 587754;
 Mon, 21 Aug 2023 16:59:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY8FD-00052g-PP
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 16:59: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 1qY8FC-00040g-U7; Mon, 21 Aug 2023 16:59:10 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8FC-0003vU-No; Mon, 21 Aug 2023 16:59:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sm96LL/Ueuw7bpfF5KoaNjdtAjMXB9S5tqnKzZvLavc=; b=RGQFogqdy7Gt5vuyAPstEbn0aZ
	RFDugCbX4h1Fag76Y89RVSDQQX4pPjlMS4CEynEPTXVu2VIi8ENHt1Jn9jICi5cbK28Cn2AkNVjrX
	bQRnf6AsV31kGZg1rMbOMCw6G2IdQ51jEv7lPYTcuLUB9a/Ho5it+uhqM3MF7gj3G0U0=;
Message-ID: <42d720af-f0fd-4c05-8637-05bf16dfeed1@xen.org>
Date: Mon, 21 Aug 2023 17:59:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-3-julien@xen.org>
 <alpine.DEB.2.22.394.2308171602450.6458@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2308171602450.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 18/08/2023 00:04, Stefano Stabellini wrote:
> On Thu, 17 Aug 2023, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Switch to unsigned int for the return/parameters of the following
>> functions:
>>      * REG_RANK_NR(): 'b' (number of bits) and the return is always positive.
>>        'n' doesn't need to be size specific.
>>      * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
>>        's' (size of the access) are always positive.
>>      * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
>>      * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
>>        index) are always positive.
>>
>> Take the opportunity to propogate the unsignedness to the local
>> variable used for the arguments.
>>
>> This will remove some of the warning reported by GCC 12.2.1 when
>> passing the flags -Wsign-conversion/-Wconversion.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>>   xen/arch/arm/include/asm/vgic.h | 11 +++++++----
>>   xen/arch/arm/vgic-v2.c          | 12 ++++++++++--
>>   xen/arch/arm/vgic.c             | 21 ++++++++++++---------
>>   3 files changed, 29 insertions(+), 15 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
>> index 6901a05c0669..922779ce146a 100644
>> --- a/xen/arch/arm/include/asm/vgic.h
>> +++ b/xen/arch/arm/include/asm/vgic.h
>> @@ -252,7 +252,7 @@ struct vgic_ops {
>>    * Rank containing GICD_<FOO><n> for GICD_<FOO> with
>>    * <b>-bits-per-interrupt
>>    */
>> -static inline int REG_RANK_NR(int b, uint32_t n)
>> +static inline unsigned int REG_RANK_NR(unsigned int b, unsigned int n)
>>   {
>>       switch ( b )
>>       {
>> @@ -297,10 +297,13 @@ extern void gic_remove_from_lr_pending(struct vcpu *v, struct pending_irq *p);
>>   extern void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq);
>>   extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq);
>>   extern struct pending_irq *spi_to_pending(struct domain *d, unsigned int irq);
>> -extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n, int s);
>> +extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v,
>> +                                              unsigned int b,
>> +                                              unsigned int n,
>> +                                              unsigned int s);
>>   extern struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq);
>> -extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n);
>> -extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n);
>> +extern void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
>> +extern void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n);
>>   extern void vgic_set_irqs_pending(struct vcpu *v, uint32_t r,
>>                                     unsigned int rank);
>>   extern void register_vgic_ops(struct domain *d, const struct vgic_ops *ops);
>> diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
>> index 2a2eda2e6f4c..0aa10fff0f10 100644
>> --- a/xen/arch/arm/vgic-v2.c
>> +++ b/xen/arch/arm/vgic-v2.c
>> @@ -161,7 +161,11 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info,
>>   {
>>       struct hsr_dabt dabt = info->dabt;
>>       struct vgic_irq_rank *rank;
>> -    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
>> +    /*
>> +     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
>> +     * the difference will always be smaller than 32-bit.
>> +     */
>> +    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
>>       unsigned long flags;
>>   
>>       perfc_incr(vgicd_reads);
>> @@ -403,7 +407,11 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info,
>>   {
>>       struct hsr_dabt dabt = info->dabt;
>>       struct vgic_irq_rank *rank;
>> -    int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase);
>> +    /*
>> +     * gpa/dbase are paddr_t which size may be higher than 32-bit. Yet
>> +     * the difference will always be smaller than 32-bit.
>> +     */
>> +    unsigned int gicd_reg = info->gpa - v->domain->arch.vgic.dbase;
>>       uint32_t tr;
>>       unsigned long flags;
>>   
>> diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
>> index afcac791fe4b..269b804974e0 100644
>> --- a/xen/arch/arm/vgic.c
>> +++ b/xen/arch/arm/vgic.c
>> @@ -24,7 +24,8 @@
>>   #include <asm/gic.h>
>>   #include <asm/vgic.h>
>>   
>> -static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
>> +static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v,
>> +                                                  unsigned int rank)
>>   {
>>       if ( rank == 0 )
>>           return v->arch.vgic.private_irqs;
>> @@ -38,17 +39,17 @@ static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank)
>>    * Returns rank corresponding to a GICD_<FOO><n> register for
>>    * GICD_<FOO> with <b>-bits-per-interrupt.
>>    */
>> -struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n,
>> -                                              int s)
>> +struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, unsigned int b,
>> +                                       unsigned int n, unsigned int s)
>>   {
>> -    int rank = REG_RANK_NR(b, (n >> s));
>> +    unsigned int rank = REG_RANK_NR(b, (n >> s));
>>   
>>       return vgic_get_rank(v, rank);
>>   }
>>   
>>   struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq)
>>   {
>> -    int rank = irq/32;
>> +    unsigned int rank = irq / 32;
>>   
>>       return vgic_get_rank(v, rank);
>>   }
>> @@ -324,14 +325,14 @@ void arch_move_irqs(struct vcpu *v)
>>       }
>>   }
>>   
>> -void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
>> +void vgic_disable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
>>   {
>>       const unsigned long mask = r;
>>       struct pending_irq *p;
>>       struct irq_desc *desc;
>>       unsigned int irq;
>>       unsigned long flags;
>> -    int i = 0;
>> +    unsigned int i = 0;
>>       struct vcpu *v_target;
>>   
>>       /* LPIs will never be disabled via this function. */
>> @@ -361,7 +362,9 @@ void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
>>   #define VGIC_ICFG_MASK(intr) (1U << ((2 * ((intr) % 16)) + 1))
>>   
>>   /* The function should be called with the rank lock taken */
>> -static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
>> +static inline unsigned int vgic_get_virq_type(struct vcpu *v,
>> +                                              unsigned int n,
>> +                                              unsigned int index)
>>   {
>>       struct vgic_irq_rank *r = vgic_get_rank(v, n);
>>       uint32_t tr = r->icfg[index >> 4];
>> @@ -374,7 +377,7 @@ static inline unsigned int vgic_get_virq_type(struct vcpu *v, int n, int index)
>>           return IRQ_TYPE_LEVEL_HIGH;
>>   }
>>   
>> -void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
>> +void vgic_enable_irqs(struct vcpu *v, uint32_t r, unsigned int n)
>>   {
>>       const unsigned long mask = r;
>>       struct pending_irq *p;
> 
> It looks like you could also switch 'i' to unsigned int in
> vgic_enable_irqs like you did in vgic_disable_irqs

Indeed. I have updated the patch.

> 
> You could do that on commit:
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 17:01:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 17:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587763.919151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8Gx-0006aM-GY; Mon, 21 Aug 2023 17:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587763.919151; Mon, 21 Aug 2023 17: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 1qY8Gx-0006aF-CZ; Mon, 21 Aug 2023 17:00:59 +0000
Received: by outflank-mailman (input) for mailman id 587763;
 Mon, 21 Aug 2023 17:00: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 1qY8Gw-0006a7-EN
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 17:00: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 1qY8Gw-000455-08; Mon, 21 Aug 2023 17:00:58 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8Gv-00048G-Ok; Mon, 21 Aug 2023 17:00: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=Ba2RzImeiLr4433BR6NG8oR7/KNb3PwTEHjVHbBqv8g=; b=S5oTX1bdKLUlSq6v2fsID2WA5b
	LK0LN6GnDNSM9RQy0l+s+mnlN9+fjXiaZJ5myemQ65XY2Eg56l9ZFFJ+w6CB+ikBSbdrcMwGtrZjO
	hjYbZ+eA+ZYnZSeRwphipDcPV9v9QxtnYJa7ca4PtPi1PO+J+Dk2+h2ViEatSZRvzZBY=;
Message-ID: <778b0a63-0d2b-47c9-8dc5-21717e3e1eb5@xen.org>
Date: Mon, 21 Aug 2023 18:00:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm: vgic: Use 'unsigned int' rather than 'int'
 whenever it is possible
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230817214356.47174-1-julien@xen.org>
 <20230817214356.47174-3-julien@xen.org>
 <e3258b25-99fe-5c4a-e539-06b08fe85e2f@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e3258b25-99fe-5c4a-e539-06b08fe85e2f@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 18/08/2023 08:02, Michal Orzel wrote:
> On 17/08/2023 23:43, Julien Grall wrote:
>>
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Switch to unsigned int for the return/parameters of the following
>> functions:
>>      * REG_RANK_NR(): 'b' (number of bits) and the return is always positive.
>>        'n' doesn't need to be size specific.
>>      * vgic_rank_offset(): 'b' (number of bits), 'n' (register index),
>>        's' (size of the access) are always positive.
>>      * vgic_{enable, disable}_irqs(): 'n' (rank index) is always positive
>>      * vgic_get_virq_type(): 'n' (rank index) and 'index' (register
>>        index) are always positive.
> It looks like you forgot to mention the modification done to 'vgic_get_rank()'

I have added:

         * vgic_get_rank(): 'rank' is an index and therefore always 
positive.

> With this addressed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 17:05:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 17:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587771.919161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8Kj-0007CW-0t; Mon, 21 Aug 2023 17:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587771.919161; Mon, 21 Aug 2023 17:04:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8Ki-0007CI-Sc; Mon, 21 Aug 2023 17:04:52 +0000
Received: by outflank-mailman (input) for mailman id 587771;
 Mon, 21 Aug 2023 17:04:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY8Kh-0007BI-MG
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 17:04:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8Kg-00049Y-Rm; Mon, 21 Aug 2023 17:04:50 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8Kg-0004IE-Jk; Mon, 21 Aug 2023 17:04:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xMKydJGaHlyLJycJp0kcQ3ufIr0iXqXRlwyyBW+2SWM=; b=kddMa857fHNVT5NRmFRHsaMEMr
	CQaUg4Hu0j4/uLgeEvmkBhqxkPqifM98rrGRTRp4Md4Ozq6xYlhbWMoMcK5IwqBp8a0B5fPHqnJAp
	lWas8jbmufg9ZcmCI6KHcx0k+l1aAkedziWvodGYTq5Z8Z0C9baAebs8g/cCdefoaEK0=;
Message-ID: <b027d568-8ca7-4fb6-a010-a42e7336ee53@xen.org>
Date: Mon, 21 Aug 2023 18:04:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 03/13] xen/arm64: prepare for moving MMU related code
 from head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-4-Henry.Wang@arm.com>
 <d6afb536-e0b6-42fd-81ea-cc37c00192f7@xen.org>
 <0D2191B5-C084-4AE7-852E-A18A555C93CB@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0D2191B5-C084-4AE7-852E-A18A555C93CB@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 21/08/2023 09:54, Henry Wang wrote:
>> On Aug 21, 2023, at 16:44, Julien Grall <julien@xen.org> wrote:
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Wei Chen <wei.chen@arm.com>
>>> We want to reuse head.S for MPU systems, but there are some
>>> code are implemented for MMU systems only. We will move such
>>> code to another MMU specific file. But before that we will
>>> do some indentations fix in this patch to make them be easier
>>> for reviewing:
>>> 1. Fix the indentations and incorrect style of code comments.
>>> 2. Fix the indentations for .text.header section.
>>> 3. Rename puts() to asm_puts() for global export
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>>
>> Is this patch depends on the first two? If not, I will commit it before v6.
> 
> Good point, no this patch is independent from the first two. Also I just
> tested applying this patch on top of staging and building with and without
> Earlyprintk. Xen and Dom0 boot fine on FVP for both cases.

Thanks for confirming. It is now ...

> 
> So please commit this patch if you have time. Thanks!

... committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 17:05:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 17:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587772.919171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY8L7-0007ah-84; Mon, 21 Aug 2023 17:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587772.919171; Mon, 21 Aug 2023 17: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 1qY8L7-0007aa-4J; Mon, 21 Aug 2023 17:05:17 +0000
Received: by outflank-mailman (input) for mailman id 587772;
 Mon, 21 Aug 2023 17:05: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 1qY8L5-0007ZG-W9
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 17:05:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8L5-0004A6-J8; Mon, 21 Aug 2023 17:05:15 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY8L5-0004IE-Dd; Mon, 21 Aug 2023 17:05:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0uaJAuBw8+GJ1203pkCBmdfcFb2P4R9LcXNaH4Q1ERI=; b=JYQHhR3bkTCbS0KnJHG4B1Rh0K
	rBsQtf7kcL/YeEut3OtAYRGNp9Mh2FOy6K96a9HMrGnTbdQTHdKtQIw9oA2srWgwcO2IE1/Mb+3Mt
	gETVDpeT7InMMaDmTk8gU2YOr8fX2IeDJl38USVA2t5dFHtOe4nXRuM+5mRsGOb2IQCo=;
Message-ID: <8f4c4974-a348-47f4-828e-d13df953900a@xen.org>
Date: Mon, 21 Aug 2023 18:05:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/3] xen/arm: Some clean-up found with -Wconversion and
 -Warith-conversion
Content-Language: en-GB
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230817214356.47174-1-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230817214356.47174-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/08/2023 22:43, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Hi all,
> 
> This is a small series to fix some of the issues found while playing
> with -Wconversion and -Warith-conversion.
> 
> There are a lot more but the bulk are in
>   - bitmap
>   - cpumask
>   - nodemask
>   - bitops/atomics
>   - find_*
> 
> Some are not too difficult to address but other there are even
> prototype conflicts between arm x86.
> 
> Cheers,
> 
> Julien Grall (3):
>    xen/arm: vmmio: The number of entries cannot be negative
>    xen/arm: vgic: Use 'unsigned int' rather than 'int' whenever it is
>      possible
>    xen/public: arch-arm: All PSR_* defines should be unsigned

I have committed the series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 17:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 17:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587785.919180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY99Q-0005JN-Vg; Mon, 21 Aug 2023 17:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587785.919180; Mon, 21 Aug 2023 17: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 1qY99Q-0005JG-Sl; Mon, 21 Aug 2023 17:57:16 +0000
Received: by outflank-mailman (input) for mailman id 587785;
 Mon, 21 Aug 2023 17:57:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY99P-0005J8-Mg
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 17:57:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY99P-0005O3-7R; Mon, 21 Aug 2023 17:57:15 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY99O-0006QV-Vs; Mon, 21 Aug 2023 17:57:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XErJZJz/ysBPsMGb6H2muw/xQ+xiv9fGer87sHym944=; b=DfLpsVNwbgt4BDZkml3kRNNOkg
	Fr/6XxR8ERs3owVPUJc8yX72hBe2WPa0+1ZZcH8uXN5KqPxNKxgXWpSRKKgjkXJzHxfqWVBV/jA59
	k7MPdkEl/LKIe8x5W3GYKHHdVJObKDVxYl3zcEiYIPpC+CNlCbcvpf5xCb++xRThAIwg=;
Message-ID: <96c4e031-a448-47c9-a24a-48b9ef914b58@xen.org>
Date: Mon, 21 Aug 2023 18:57:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 07/13] xen/arm: Extract MMU-specific code
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-8-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-8-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> Currently, most of the MMU-specific code is in mm.{c,h}. To make the
> mm extendable, this commit extract the MMU-specific code by firstly:
> - Create a arch/arm/include/asm/mmu/ subdir.
> - Create a arch/arm/mmu/ subdir.
> 
> Then move the MMU-specific code to above mmu subdir, which includes
> below changes:
> - Move arch/arm/arm64/mm.c to arch/arm/arm64/mmu/mm.c
> - Move MMU-related declaration in arch/arm/include/asm/mm.h to
>    arch/arm/include/asm/mmu/mm.h
> - Move the MMU-related declaration dump_pt_walk() in asm/page.h
While I agree that dump_pt_walk() is better to be defined in mm.h, I am 
not entirely sure for ...

>    and pte_of_xenaddr() in asm/setup.h to the new asm/mmu/mm.h.

... pte_of_xenaddr(). It was defined in setup.h because this is an 
helper that is only intended to be used during early boot.


That said, it is probably not worth creating a new helper for that. So I 
would suggest to at least mark pte_of_xenaddr() __init to make clear of 
the intended usage.

> - Move MMU-related code in arch/arm/mm.c to arch/arm/mmu/mm.c.
> 
> Also modify the build system (Makefiles in this case) to pick above
> mentioned code changes.
> 
> This patch is a pure code movement, no functional change intended.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> With the code movement of this patch, the descriptions on top of
> xen/arch/arm/mm.c and xen/arch/arm/mmu/mm.c might need some changes,
> suggestions?
> v5:
> - Rebase on top of xen/arm: Introduce CONFIG_MMU Kconfig option and
>    xen/arm: mm: add missing extern variable declaration
> v4:
> - Rework "[v3,13/52] xen/mmu: extract mmu-specific codes from
>    mm.c/mm.h" with the lastest staging branch, only do the code movement
>    in this patch to ease the review.
> ---
>   xen/arch/arm/Makefile             |    1 +
>   xen/arch/arm/arm64/Makefile       |    1 -
>   xen/arch/arm/arm64/mmu/Makefile   |    1 +
>   xen/arch/arm/arm64/{ => mmu}/mm.c |    0
>   xen/arch/arm/include/asm/mm.h     |   20 +-
>   xen/arch/arm/include/asm/mmu/mm.h |   55 ++
>   xen/arch/arm/include/asm/page.h   |   15 -
>   xen/arch/arm/include/asm/setup.h  |    3 -
>   xen/arch/arm/mm.c                 | 1119 ----------------------------
>   xen/arch/arm/mmu/Makefile         |    1 +
>   xen/arch/arm/mmu/mm.c             | 1146 +++++++++++++++++++++++++++++

I noticed you transferred everything in mm.c But I think some part could 
go in arm{32,64}/mmu/mm.c.

>   11 files changed, 1208 insertions(+), 1154 deletions(-)
>   rename xen/arch/arm/arm64/{ => mmu}/mm.c (100%)
>   create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
>   create mode 100644 xen/arch/arm/mmu/Makefile
>   create mode 100644 xen/arch/arm/mmu/mm.c

(I haven't checked if the code was moved correctly. I only checked if 
the split makes sense).

To ease the review, I think this patch can be split in a more piecemeal 
patches. The first two pieces would be :
   * Patch #1 transfer xen_pt_update()/dump_pt_walk() and their dependencies
   * Patch #2 transfer root page-table allocation

Then you can have some for each small functions.

[...]

> diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mmu/mm.c
> similarity index 100%
> rename from xen/arch/arm/arm64/mm.c
> rename to xen/arch/arm/arm64/mmu/mm.c
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index aaacba3f04..dc1458b047 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -14,6 +14,10 @@
>   # error "unknown ARM variant"
>   #endif
>   
> +#ifdef CONFIG_MMU
> +#include <asm/mmu/mm.h>

I am guessing you will need to include <asm/mpu/mm.h> at some point. So 
I would add a:

#else
# error "Unknown memory management layout"

This would be easier to find out where includes might be missing.

[...]

> @@ -1233,11 +119,6 @@ int map_pages_to_xen(unsigned long virt,
>       return xen_pt_update(virt, mfn, nr_mfns, flags);
>   }
>   

[...]

> +/* MMU setup for secondary CPUS (which already have paging enabled) */
> +void mmu_init_secondary_cpu(void)
> +{
> +    xen_pt_enforce_wnx();
> +}
> +
> +#ifdef CONFIG_ARM_32

Rather than #ifdef, I would prefer if we move each implementation to 
arm32/mmu/mm.c and ...

> +/*
> + * Set up the direct-mapped xenheap:
> + * up to 1GB of contiguous, always-mapped memory.
> + */
> +void __init setup_directmap_mappings(unsigned long base_mfn,
> +                                     unsigned long nr_mfns)
> +{
> +    int rc;
> +
> +    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
> +                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
> +    if ( rc )
> +        panic("Unable to setup the directmap mappings.\n");
> +
> +    /* Record where the directmap is, for translation routines. */
> +    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
> +}
> +#else /* CONFIG_ARM_64 */
> +/* Map the region in the directmap area. */
> +void __init setup_directmap_mappings(unsigned long base_mfn,
> +                                     unsigned long nr_mfns)

... arm64/mmu/mm.c.

> +{
> +    int rc;
> +
> +    /* First call sets the directmap physical and virtual offset. */
> +    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
> +    {
> +        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
> +
> +        directmap_mfn_start = _mfn(base_mfn);
> +        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
> +        /*
> +         * The base address may not be aligned to the first level
> +         * size (e.g. 1GB when using 4KB pages). This would prevent
> +         * superpage mappings for all the regions because the virtual
> +         * address and machine address should both be suitably aligned.
> +         *
> +         * Prevent that by offsetting the start of the directmap virtual
> +         * address.
> +         */
> +        directmap_virt_start = DIRECTMAP_VIRT_START +
> +            (base_mfn - mfn_gb) * PAGE_SIZE;
> +    }
> +
> +    if ( base_mfn < mfn_x(directmap_mfn_start) )
> +        panic("cannot add directmap mapping at %lx below heap start %lx\n",
> +              base_mfn, mfn_x(directmap_mfn_start));
> +
> +    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
> +                          _mfn(base_mfn), nr_mfns,
> +                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
> +    if ( rc )
> +        panic("Unable to setup the directmap mappings.\n");
> +}
> +#endif
> +
> +/* Map a frame table to cover physical addresses ps through pe */
> +void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)

I looked at the implement for the MPU and the code is mainly the same. 
So can we keep this code in common and just ...

> +{
> +    unsigned long nr_pdxs = mfn_to_pdx(mfn_add(maddr_to_mfn(pe), -1)) -
> +                            mfn_to_pdx(maddr_to_mfn(ps)) + 1;
> +    unsigned long frametable_size = nr_pdxs * sizeof(struct page_info);
> +    mfn_t base_mfn;
> +    const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
> +    int rc;
> +
> +    /*
> +     * The size of paddr_t should be sufficient for the complete range of
> +     * physical address.
> +     */
> +    BUILD_BUG_ON((sizeof(paddr_t) * BITS_PER_BYTE) < PADDR_BITS);
> +    BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
> +
> +    if ( frametable_size > FRAMETABLE_SIZE )
> +        panic("The frametable cannot cover the physical region %#"PRIpaddr" - %#"PRIpaddr"\n",
> +              ps, pe);
> +
> +    frametable_base_pdx = mfn_to_pdx(maddr_to_mfn(ps));
> +    /* Round up to 2M or 32M boundary, as appropriate. */
> +    frametable_size = ROUNDUP(frametable_size, mapping_size);
> +    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
> +
> +    rc = map_pages_to_xen(FRAMETABLE_VIRT_START, base_mfn,
> +                          frametable_size >> PAGE_SHIFT,
> +                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);

abstract the frametable mapping? THis would also make clear that the 
BUILD_BUG_ON() above are not specific to the MMU code.

> +    if ( rc )
> +        panic("Unable to setup the frametable mappings.\n");
> +
> +    memset(&frame_table[0], 0, nr_pdxs * sizeof(struct page_info));
> +    memset(&frame_table[nr_pdxs], -1,
> +           frametable_size - (nr_pdxs * sizeof(struct page_info)));
> +
> +    frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
> +}

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 18:14:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 18:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587793.919190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY9Q8-00087d-Bl; Mon, 21 Aug 2023 18:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587793.919190; Mon, 21 Aug 2023 18: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 1qY9Q8-00087W-9A; Mon, 21 Aug 2023 18:14:32 +0000
Received: by outflank-mailman (input) for mailman id 587793;
 Mon, 21 Aug 2023 18:14:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY9Q7-00087Q-Gg
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 18:14:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY9Q6-0005xp-SL; Mon, 21 Aug 2023 18:14:30 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY9Q6-0007KU-M1; Mon, 21 Aug 2023 18:14:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=rjKtQRIQAM16CH/B8PTQkY0XqJSorE4nwCAzi3ur+Sg=; b=Mn5MVpuHwb6+3DfQPNQURu+TNT
	/Ee6BLyKmq88FvCtan8tzz8AZkzIKrIdl6pyl41GLRqFHkBEoS172Ks8XKEtmEra4eh7BadYtHdwA
	ABvgvsoa9IuEE7x81c1z0TTXVs3TXaKoaYPa3zEmlpn6OQtS30oboTE4ByutAHIZOvFs=;
Message-ID: <7503cbad-a0b9-4683-880f-1099ad62f2f7@xen.org>
Date: Mon, 21 Aug 2023 19:14:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-9-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-9-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> fixmap and pmap are MMU-specific features, so fold them to MMU system.
> Do the folding for pmap by moving the HAS_PMAP Kconfig selection under
> HAS_MMU. Do the folding for fixmap by moving the implementation of
> virt_to_fix() to mmu/mm.c, so that unnecessary stubs can be avoided.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v5:
> - Rebase on top of xen/arm: Introduce CONFIG_MMU Kconfig option
> v4:
> - Rework "[v3,11/52] xen/arm: mmu: fold FIXMAP into MMU system",
>    change the order of this patch and avoid introducing stubs.
> ---
>   xen/arch/arm/Kconfig              | 2 +-
>   xen/arch/arm/include/asm/fixmap.h | 7 +------
>   xen/arch/arm/mmu/mm.c             | 7 +++++++
>   3 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index eb0413336b..8a7b79b4b5 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -15,7 +15,6 @@ config ARM
>   	select HAS_DEVICE_TREE
>   	select HAS_PASSTHROUGH
>   	select HAS_PDX
> -	select HAS_PMAP
>   	select HAS_UBSAN
>   	select IOMMU_FORCE_PT_SHARE
>   
> @@ -61,6 +60,7 @@ config PADDR_BITS
>   
>   config MMU
>   	def_bool y
> +	select HAS_PMAP
>   
>   source "arch/Kconfig"
>   
> diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
> index 734eb9b1d4..5d5de6995a 100644
> --- a/xen/arch/arm/include/asm/fixmap.h
> +++ b/xen/arch/arm/include/asm/fixmap.h
> @@ -36,12 +36,7 @@ extern void clear_fixmap(unsigned int map);
>   
>   #define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
>   
> -static inline unsigned int virt_to_fix(vaddr_t vaddr)
> -{
> -    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
> -
> -    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
> -}
> +extern unsigned int virt_to_fix(vaddr_t vaddr);

AFAICT, virt_to_fix() is not going to be implemented for the MPU code. 
This implies that no-one should call it.

Also, none of the definitions in fixmap.h actually makes sense for the 
MPU. I would prefer if we instead try to lmit the include of fixmap to 
when this is strictly necessary. Looking for the inclusion in staging I 
could find:

42sh> ack "\#include" | ack "fixmap" | ack -v x86
arch/arm/acpi/lib.c:28:#include <asm/fixmap.h>
arch/arm/kernel.c:19:#include <asm/fixmap.h>
arch/arm/mm.c:27:#include <asm/fixmap.h>
arch/arm/include/asm/fixmap.h:7:#include <xen/acpi.h>
arch/arm/include/asm/fixmap.h:8:#include <xen/pmap.h>
arch/arm/include/asm/pmap.h:6:#include <asm/fixmap.h>
arch/arm/include/asm/early_printk.h:14:#include <asm/fixmap.h>
common/efi/boot.c:30:#include <asm/fixmap.h>
common/pmap.c:7:#include <asm/fixmap.h>
drivers/acpi/apei/erst.c:36:#include <asm/fixmap.h>
drivers/acpi/apei/apei-io.c:32:#include <asm/fixmap.h>
drivers/char/xhci-dbc.c:30:#include <asm/fixmap.h>
drivers/char/ehci-dbgp.c:16:#include <asm/fixmap.h>
drivers/char/ns16550.c:40:#include <asm/fixmap.h>
drivers/char/xen_pv_console.c:28:#include <asm/fixmap.h>

Some of them are gone after your rework. The only remaining that we care 
are in kernel.h (but I think it can be removed after your series).

So I think it would be feasible to not touch fixmap.h at all.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 18:32:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 18:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587800.919201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qY9hb-0002QG-RL; Mon, 21 Aug 2023 18:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587800.919201; Mon, 21 Aug 2023 18: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 1qY9hb-0002Q9-Nj; Mon, 21 Aug 2023 18:32:35 +0000
Received: by outflank-mailman (input) for mailman id 587800;
 Mon, 21 Aug 2023 18:32:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qY9ha-0002Py-6j
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 18:32:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY9hZ-0006IK-LV; Mon, 21 Aug 2023 18:32:33 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qY9hZ-0007ol-FB; Mon, 21 Aug 2023 18:32:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jDAjLywbQQ2qFbJip23pXPK4n8kQudBgutFd/sffvPw=; b=sK/KckO3VhGXfhFm5PzFGpQamG
	ZjKOmoUbN7SaW3mi6+0UUTO6iHVj1/5Lz3VYMvr49/fyEuqgOQFaXsKypvbRYQtq8Fr0E5dcHctRq
	OmZgihJgZZVUK0iPtKhakNMdiIfYiKkUI7UiPrmPrMjoXmspPBqFCjRrP4oRvSuVM4nY=;
Message-ID: <c039015f-43d4-491f-b44c-8ece186e08e4@xen.org>
Date: Mon, 21 Aug 2023 19:32:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function names
 for extendability
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-10-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-10-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> As preparation for MPU support, which will use some variables/functions
> for both MMU and MPU system, We rename the affected variable/function
> to more generic names:
> - init_ttbr -> init_mm,

You moved init_ttbr to mm/mmu.c. So why does this need to be renamed?

And if you really planned to use it for the MPU code. Then init_ttbr 
should not have been moved.

> - mmu_init_secondary_cpu() -> mm_init_secondary_cpu()
> - init_secondary_pagetables() -> init_secondary_mm()

The original naming were not great but the new one are a lot more 
confusing as they seem to just be a reshuffle of word.

mm_init_secondary_cpu() is only setting the WxN bit. For the MMU, I 
think it can be done much earlier. Do you have anything to add in it? If 
not, then I would consider to get rid of it.

For init_secondary_mm(), I would renamed it to prepare_secondary_mm().

> - Add a wrapper update_mm_mapping() for MMU system's
>    update_identity_mapping()
> 
> Modify the related in-code comment to reflect above changes, take the
> opportunity to fix the incorrect coding style of the in-code comments.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v5:
> - Rebase on top of xen/arm: mm: add missing extern variable declaration
> v4:
> - Extract the renaming part from the original patch:
>    "[v3,13/52] xen/mmu: extract mmu-specific codes from mm.c/mm.h"
> ---
>   xen/arch/arm/arm32/head.S           |  4 ++--
>   xen/arch/arm/arm64/mmu/head.S       |  2 +-
>   xen/arch/arm/arm64/mmu/mm.c         | 11 ++++++++---
>   xen/arch/arm/arm64/smpboot.c        |  6 +++---
>   xen/arch/arm/include/asm/arm64/mm.h |  7 ++++---
>   xen/arch/arm/include/asm/mm.h       | 12 +++++++-----
>   xen/arch/arm/mmu/mm.c               | 20 ++++++++++----------
>   xen/arch/arm/smpboot.c              |  4 ++--
>   8 files changed, 37 insertions(+), 29 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 33b038e7e0..03ab68578a 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -238,11 +238,11 @@ GLOBAL(init_secondary)
>   secondary_switched:
>           /*
>            * Non-boot CPUs need to move on to the proper pagetables, which were
> -         * setup in init_secondary_pagetables.
> +         * setup in init_secondary_mm.
>            *
>            * XXX: This is not compliant with the Arm Arm.
>            */
> -        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> +        mov_w r4, init_mm            /* VA of HTTBR value stashed by CPU 0 */
>           ldrd  r4, r5, [r4]           /* Actual value */
>           dsb
>           mcrr  CP64(r4, r5, HTTBR)
> diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
> index ba2ddd7e67..58d91c9088 100644
> --- a/xen/arch/arm/arm64/mmu/head.S
> +++ b/xen/arch/arm/arm64/mmu/head.S
> @@ -302,7 +302,7 @@ ENDPROC(enable_mmu)
>   ENTRY(enable_secondary_cpu_mm)
>           mov   x5, lr
>   
> -        load_paddr x0, init_ttbr
> +        load_paddr x0, init_mm
>           ldr   x0, [x0]
>   
>           bl    enable_mmu
> diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
> index 78b7c7eb00..ed0fc5ff7b 100644
> --- a/xen/arch/arm/arm64/mmu/mm.c
> +++ b/xen/arch/arm/arm64/mmu/mm.c
> @@ -106,7 +106,7 @@ void __init arch_setup_page_tables(void)
>       prepare_runtime_identity_mapping();
>   }
>   
> -void update_identity_mapping(bool enable)
> +static void update_identity_mapping(bool enable)

Why not simply renaming this function to update_mm_mapping()? But...

>   {
>       paddr_t id_addr = virt_to_maddr(_start);
>       int rc;
> @@ -120,6 +120,11 @@ void update_identity_mapping(bool enable)
>       BUG_ON(rc);
>   }
>   
> +void update_mm_mapping(bool enable)

... the new name it quite confusing. What is the mapping it is referring to?

If you don't want to keep update_identity_mapping(), then I would 
consider to simply wrap...

> +{
> +    update_identity_mapping(enable);
> +}
> +
>   extern void switch_ttbr_id(uint64_t ttbr);
>   
>   typedef void (switch_ttbr_fn)(uint64_t ttbr);
> @@ -131,7 +136,7 @@ void __init switch_ttbr(uint64_t ttbr)
>       lpae_t pte;
>   
>       /* Enable the identity mapping in the boot page tables */
> -    update_identity_mapping(true);
> +    update_mm_mapping(true);
>   
>       /* Enable the identity mapping in the runtime page tables */
>       pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
> @@ -148,7 +153,7 @@ void __init switch_ttbr(uint64_t ttbr)
>        * Note it is not necessary to disable it in the boot page tables
>        * because they are not going to be used by this CPU anymore.
>        */
> -    update_identity_mapping(false);
> +    update_mm_mapping(false);
>   }
>   
>   /*
> diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
> index 9637f42469..2b1d086a1e 100644
> --- a/xen/arch/arm/arm64/smpboot.c
> +++ b/xen/arch/arm/arm64/smpboot.c
> @@ -111,18 +111,18 @@ int arch_cpu_up(int cpu)
>       if ( !smp_enable_ops[cpu].prepare_cpu )
>           return -ENODEV;
>   
> -    update_identity_mapping(true);
> +    update_mm_mapping(true);

... with #ifdef CONFIG_MMU here...

>   
>       rc = smp_enable_ops[cpu].prepare_cpu(cpu);
>       if ( rc )
> -        update_identity_mapping(false);
> +        update_mm_mapping(false);

... here and ...


>   
>       return rc;
>   }
>   
>   void arch_cpu_up_finish(void)
>   {
> -    update_identity_mapping(false);
> +    update_mm_mapping(false);

... here.

>   }
>   
>   /*
> diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
> index e0bd23a6ed..7a389c4b21 100644
> --- a/xen/arch/arm/include/asm/arm64/mm.h
> +++ b/xen/arch/arm/include/asm/arm64/mm.h
> @@ -15,13 +15,14 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>   void arch_setup_page_tables(void);
>   
>   /*
> - * Enable/disable the identity mapping in the live page-tables (i.e.
> - * the one pointed by TTBR_EL2).
> + * In MMU system, enable/disable the identity mapping in the live
> + * page-tables (i.e. the one pointed by TTBR_EL2) through
> + * update_identity_mapping().
>    *
>    * Note that nested call (e.g. enable=true, enable=true) is not
>    * supported.
>    */
> -void update_identity_mapping(bool enable);
> +void update_mm_mapping(bool enable);
>   
>   #endif /* __ARM_ARM64_MM_H__ */
>   
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index dc1458b047..8084c62c01 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -170,7 +170,7 @@ struct page_info
>   #define PGC_need_scrub    PGC_allocated
>   
>   /* Non-boot CPUs use this to find the correct pagetables. */
> -extern uint64_t init_ttbr;
> +extern uint64_t init_mm;
>   
>   #ifdef CONFIG_ARM_32
>   #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
> @@ -205,11 +205,13 @@ extern void setup_pagetables(unsigned long boot_phys_offset);
>   extern void *early_fdt_map(paddr_t fdt_paddr);
>   /* Remove early mappings */
>   extern void remove_early_mappings(void);
> -/* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
> - * new page table */
> -extern int init_secondary_pagetables(int cpu);
> +/*
> + * Allocate and initialise pagetables for a secondary CPU. Sets init_mm to the
> + * new page table
> + */
> +extern int init_secondary_mm(int cpu);
>   /* Switch secondary CPUS to its own pagetables and finalise MMU setup */

Regardless what I wrote above, this comment is not accurate anymore as 
we don't switch the page tables for the secondary CPUs. We are only 
enable WxN.

In any case, this comment would need to be reworded to be more generic.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 18:54:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 18:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587807.919211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYA2K-0005Aa-Bc; Mon, 21 Aug 2023 18:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587807.919211; Mon, 21 Aug 2023 18:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYA2K-0005AT-84; Mon, 21 Aug 2023 18:54:00 +0000
Received: by outflank-mailman (input) for mailman id 587807;
 Mon, 21 Aug 2023 18:53:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tacK=EG=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qYA2I-0005AN-Ko
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 18:53:58 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20619.outbound.protection.outlook.com
 [2a01:111:f400:7eab::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13c08d35-4054-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 20:53:56 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DS7PR12MB8204.namprd12.prod.outlook.com (2603:10b6:8:e1::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.20; Mon, 21 Aug 2023 18:53:51 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 18:53:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13c08d35-4054-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iJa/Z53umpXkjwm075EVLYCW3lTkSmX2DBwSLkXqeGZgjRxcMUwIJ6lag/GmrdAe4nrw239rdAsK451QnAPks3rer8l2jFzi84dFi9dvDbkWcWAF9Ry45Gep3kmx6RKnqrFDyD9mPVo0p2kyUq0yLPXv93FavoHcL+eU+zoqfnaD9WIGna10df8MY9pIY6oWtti3t3wKT79Z9IUgN7HNvIIj5et/pVtOKRmNEz+rJgo+YvbR4Jy91yJD/5XEeOBzqpmqGTf4R8NaXltI3PbWdD+9u0K8PD/AIGaw+qCSUIqHrOQ367LuKD1RS1re5hw6D/kIr0PVdpfD5PwxJCfZWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4XORqzjkRDQRs+gzvQNmWi1nxp8pmHwakTvJuQ53vno=;
 b=DUDZfsteWkToBsCNdacX814UqPd5YLMkCtXWd7Q1yRq65PTqqWzenogqYNsbA+Qzg+qjbvP6k0+xTdhcYbLxt6P7Z65Y+PaKUvrD9f/QmhQeDSS9m/tcr/qU/4t3PT5rofnCNar7IenFS7cpBKUUYGMX4IfqXMVbTtpZ/OdWvIErgnHAz4+IcaR0oLVLrZ5mnaW3uRiIUXiQuKjgDOeFwZVe5t+MEUoFJ2uCwTYCcx3e7ZAuzwyi+JwAKryJrsWG4bXHFdS7DBtZnAJm4UzvIboOfaTk8NHIrppA+G4K4Klri+HePfwe52svjGAM8ZVBDcyuW564PMuyswGJDAObsQ==
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=4XORqzjkRDQRs+gzvQNmWi1nxp8pmHwakTvJuQ53vno=;
 b=PUMCYvalFjLPFYxQ7sbFzenmg+6lq7N/l5ybNifrTfKP3zczBGA+aG+PcMsVg0Zqf8oZ5pUcTmjzxurAXhBkvAWWrICCAN4fdW/HZdzSuUQ78y8CFU/uI0cGZuJgM2SnBMAAi1b5wNErew5k2fWIzV2WVti2lFyCL4U6H8iQKB8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 21 Aug 2023 11:53:48 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [XEN][PATCH v9 17/19] tools/libs/ctrl: Implement new xc
 interfaces for dt overlay
Message-ID: <ZOOyvGd51o09agRc@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-18-vikram.garhwal@amd.com>
 <b94a7e3f-8583-4ffc-85ea-cf59e85e1786@perard>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b94a7e3f-8583-4ffc-85ea-cf59e85e1786@perard>
X-ClientProxiedBy: SJ0PR05CA0049.namprd05.prod.outlook.com
 (2603:10b6:a03:33f::24) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DS7PR12MB8204:EE_
X-MS-Office365-Filtering-Correlation-Id: 782e60fa-81cb-483d-40bb-08dba277f5dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gnhbvLLRop98NpWZ+lelHqNsZ6G46FHXrLNDhIIz8x6FExPpuWe/LBPHkrevuhLLTZqCFDMicgJPXlsgFTX1TZb74h6Bx//N0yKkzU9ro7uRaSydqz6IvNuApWunq/AZZZZQH8q6A4cfoCzyL0bo0FMCikq60jqrxJB3xFS6a7tLUDC33KzyTA5KnbYfr4Hu1Md1jCRYbJu8qLKrT/cw2g5otDK9i1MFEPobV4f7auPv0n+CdLf+vshF2d659ZDvc6J8BKX97uHY2ZT/C8N3w3Lt/VLnH7VIPq+9VgkD4VSdKZjlSiyr2UMkSJm6WTekcfyG5CvpKN8JMDDllvoI237NOX+W5duHPbvbhgNrWlGVEkqRLuls4VsA9K5s7e8EfswEBoC7bYIEFgR1C7s0/T/T3txn3aZ1KH0I3wsPNN8/ktALT59qjtg5QmDvFzG7jGLGqhc4nVfzcjJ9DcEFvSm/1FNYdBKzaPIn5WFZN3LsswbuINBi2h+Z36l9KInAV0BclLst8FnkAkC6NLBo4FKmBfZrxQBCnhmrd91VuDo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(346002)(39860400002)(366004)(186009)(1800799009)(451199024)(54906003)(6916009)(66476007)(66556008)(316002)(66946007)(6512007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(966005)(478600001)(6666004)(38100700002)(6506007)(6486002)(83380400001)(4744005)(2906002)(86362001)(44832011)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXhmTDN1VHB6bkd6SGJ1Nk5KR0g3N0xmTk9JamhjNnB4OHRnNWI1elVYdk1R?=
 =?utf-8?B?cWI1cW9yNjNpOXhmTTRSeW90czVXSlErUUdUdEo5RytqaDZ4L2dOTnhXTHhs?=
 =?utf-8?B?RHQrQTBMWi9jVW5ENHllRGNDd3Y2NUJiaDltUTdPcDU5MzdDeHR4c1ppSFlx?=
 =?utf-8?B?Y3ZXdThibGJsdDdVbWUzcExWUDBSTXJ0akVYTlpOdGI1cFZHbC85UFpNQmxz?=
 =?utf-8?B?V3d0d1o4WnpkVGVUcmNjeDZRanVROWl1TzYyaWF3Sm5qVCt3K3FKV2RxSFF5?=
 =?utf-8?B?cTFXWGtSdjRhaHZvbVlnem81M05SVnd3Zzd3bkc1eWR6MGRHVFdNTWFudVIv?=
 =?utf-8?B?V3FyaG5KT1lPMU5hT05udEMvOXZqZFROTC9nMGoxc0xNNFNzbTBWQlV5NGpp?=
 =?utf-8?B?eGNHR3VsVnE5SUFhUkd0SSszdmxTbWt6ZXc0dmM5bXU2SWdPVDBDT1dwaE5B?=
 =?utf-8?B?d2xRY1dQWktSaDdtZSszakpYS2NxZUk0dnp6NWwrN09kTkdWUG5mRnlDVFNx?=
 =?utf-8?B?VUJqUXozS3I2cEs0V1NaY2VUQW9tZkdoYXBDYnRlbzdQSThQVjZTRXBrVkZ2?=
 =?utf-8?B?WWd4a2R6Y25aaTkwQml0ekMyTUZJd0N1WWtDUm13cUF3MGRGUGkvM3Yxd05W?=
 =?utf-8?B?Z0lYdWYzdkFwbERyQitFZ2F0cjZ5aDN2NFNoV3BJeFJtR25JVHU3MXljYlFV?=
 =?utf-8?B?WHBMa1hzaXpsRVhlVkVJZHdrT3owZVpHQ0JWcVZsUG9MRmZDWjUxWXJSV2Jy?=
 =?utf-8?B?K2FmK0E2SStHQVpmeG9nMC92ek9LcHhXMjhZd3pmYXVDOHh3L3VHVllkelFy?=
 =?utf-8?B?a0hWUVNiUUlBaTFicS96bnhZakFQSHFidyttYnFrZ2N3a3lkMk5pUWFXTTFz?=
 =?utf-8?B?cTc3NXIzMGRKTmZKZGJVS2JnalliVTZERmpVbkxPMCtQTGk2MjRveXFTL1hE?=
 =?utf-8?B?NkNjN3FWUHlLWmVtWHYybFZVbkY0WC9HZzNxeDlyUWxoQmx0ZHBiSkpveWkv?=
 =?utf-8?B?T0VhRTRYMWVybGF6QkY3VTNrdGFac3dHYVFXNmpYaDdhOGR0S2ExblFCQnhX?=
 =?utf-8?B?dVF6alFNV0NyS3I0c0p6K3Rud1FCVHRMQUJVY0x5azFBdEZXd1RrVXZROEJZ?=
 =?utf-8?B?NlpYNW52ak5ldzFBTEFOcmpXSlU1YUtCRkJrZjgxWk9tS1AweFQ1YWlVN0lE?=
 =?utf-8?B?aENsZDZpM09yQ0xSdWxRR2xyQTI5TW82TlMxVlljK3JXWVVsQUFCdzNiVVo2?=
 =?utf-8?B?VFNHcHFISFQ4NG1uT0N0SFgybm1pY0ZWV25heEdxbVhieERDUkxJcXJiZ05x?=
 =?utf-8?B?UW9KYlh2TlRsMFd1QjJralN6eGdjMjRYZUduQTlhNnNsbGJHQW9UUGF2NytN?=
 =?utf-8?B?ZExTSzZDQWlWVFlUdkVUT2tqYjV3b2k1NnlLV0FaQ0cycHRNaDI4dE9UQTll?=
 =?utf-8?B?VGJ3bElzd3U4SXhJQUdJSVlHRXNMV1A2QkdGOC9KUmhwTXd6Rk1UbndxeHpI?=
 =?utf-8?B?YTRLc29VODNMMTNHWDljNkVGWTJQOWFhMnJPenV2L1FPbzEwLysydFZSNGVE?=
 =?utf-8?B?azNoTWt4TGFwNHdmMkFOMVJqNlQ4N1ZmbzRjZDIyRW5ENmY1TXU0cWQyaHQ2?=
 =?utf-8?B?d0JDTzB2dlZJNStxQjJaM3Q5bnVCTXIyL3BkcS9TaG5hZCtCQnB1dnFSemNE?=
 =?utf-8?B?WXpYeCttQ3QzZkZJaHBPdmFxWm9mK2QwSTNacEwrL3dQNGE5R1BiVzBlQ1kv?=
 =?utf-8?B?bGFvWVZyQks3VjFMNmNFWFdiN0FETllWTE1pTFlrNFBxQUtqcDdKVEFWQmRU?=
 =?utf-8?B?MnYxdGlESUZ5emMreFZhcXVtanRqVThWVzJXaGFaSWVFcW9maFhqZWNtdGk2?=
 =?utf-8?B?ck10TnNoYkNuQWpISVNYQmFvR0FmVC9DaUpYWUoxSDhxZDBpSGN6ODFGWG5H?=
 =?utf-8?B?K3dkaytXbUo2NjJoL0haYjJFcnVsUHVWMmg3NGx6LzRuaWszZDh1OGVPZG4x?=
 =?utf-8?B?aHNGVUwveGoxUS9JWDJDN0tsSzV6RnBoOG9nZmdsK1JVc0pHeWRGd0RZSDB2?=
 =?utf-8?B?UUZ2eldPY0JON0VNQzgzaFlGazk5S1ZDL2IxT1cvYXAyUzRmaDJKTi9DOW44?=
 =?utf-8?Q?CuJNPmnlt8ZJCJODhVvhhK/eg?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 782e60fa-81cb-483d-40bb-08dba277f5dc
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 18:53:51.4526
 (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: pkutMMsU+SBs4Az47Y250fWpDUoNnGHFyyOiNO0r8AuCn2alW0gt7JWEHDfRjexcJ6k9VqZEsJMkuwp5ffJ1ow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8204

Hi Anthony,
On Mon, Aug 21, 2023 at 05:18:27PM +0100, Anthony PERARD wrote:
> On Fri, Aug 18, 2023 at 05:28:48PM -0700, Vikram Garhwal wrote:
> > xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
> > operation type i.e. add or remove to xen.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> Hi Vikram,
> 
> I've given some comments on the v7 of this patch at [1], there's been no reply
> and the patch hasn't changed.
> 
> [1] https://lore.kernel.org/xen-devel/9975f41c-c149-445a-8122-c15cfe5511b0@perard/
> 
> Did this fell through the cracks?
> 
Yes, you are right. It skipped through my update list. Sorry, for missing this.
Will change it in next version.

Thank you!
Vikram
> Cheers,
> 
> -- 
> Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 19:41:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 19:41:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587814.919221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYAmG-0002hf-QF; Mon, 21 Aug 2023 19:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587814.919221; Mon, 21 Aug 2023 19: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 1qYAmG-0002hY-NR; Mon, 21 Aug 2023 19:41:28 +0000
Received: by outflank-mailman (input) for mailman id 587814;
 Mon, 21 Aug 2023 19:41: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=tacK=EG=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qYAmE-0002hS-NE
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 19:41:26 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5123197-405a-11ee-8782-cb3800f73035;
 Mon, 21 Aug 2023 21:41:23 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM3PR12MB9433.namprd12.prod.outlook.com (2603:10b6:0:47::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug
 2023 19:41:20 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 19: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>
X-Inumbo-ID: b5123197-405a-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EWJ6kAFWC4h/NlK3BlaNYEpb4kKxo3ojE1LghpVsQkAXs8X0TvWD4uN2/fSpXz9TNmqub+dhOKUT1YpzuXDiMIEQRvZLB4gaWkStEf+yRooNZcmMgc1YWwuaRA+ncolnAA7TYf3p2OlMrEBp7QNj+rBQbW8geWOhuqbS/okYtvdvEAgCw65iyApFMOjT6SUqLGd0c/l7m8ytzwkEtpI7yYlTxkOhEKyIa7nLf+1JORyHPk6xXuoKiZzll7IeelCsARI5EBRtnpGcscGILtK5dHu32osj7i8Q9DH9sePFOHuTOpAxUdXf+OhKlao/itfBwC51iFRPhm+1Y93JQBvqLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HDjQpjjPMSu4jnJwNZ1wPlk9dbFDBEvbS8vyr1SrQwI=;
 b=k417MpRtKGiMdSr99KEwc8JfbPWmrv0KozBD0tlMC7MRd+RWvkK267nUz8noeh+CI2z5x66cal3dOJ9ekzL7eswY67gI5ls1Ws2HckLeGDbxQCKSMUHEyit3G4dA2VqvKZyY52KB+H/0PEvTTYi/MxxjrGfzleHoBTdOvYifIWdFezzAGCQ6wAaKF3KkiI17D+11y1Ka8MesGjizOLgYQJR5q4isVnyptPofSF13GxEdoA2vfZ75l63aYxblkSs23wnayqDmZT53LpEscp0ORLeDRDUCLVSJgw6ew9iOxQDNDDNnQ8Nep2h+0ud0Kwypaa99IxfJUWurgfiEfa9jSQ==
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=HDjQpjjPMSu4jnJwNZ1wPlk9dbFDBEvbS8vyr1SrQwI=;
 b=oKbprmT9ihAh1MXP5yWfYX913hGruQhLJuO22jJ18QNP+WH5DEabpAzEE5ZQhrC+T2bhvfCkTXfdhUBTNrNAznG5IZe8TrLe0jteRfykC5S+eTat5i+DZO8mBW1Fq2EbTwdjyS/BDDcjok8270f0X/PDEAbOC5QaUvNaLcjY16M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 21 Aug 2023 12:41:16 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: michal.orzel@amd.com, sstabellini@kernel.org,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN][PATCH v9 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZOO93JDsKyWGSacN@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-10-vikram.garhwal@amd.com>
 <86717900-39cf-c95c-46ce-f567abda00cc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <86717900-39cf-c95c-46ce-f567abda00cc@suse.com>
X-ClientProxiedBy: BY3PR05CA0035.namprd05.prod.outlook.com
 (2603:10b6:a03:39b::10) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM3PR12MB9433:EE_
X-MS-Office365-Filtering-Correlation-Id: b1580fd2-fdb2-43a0-dac7-08dba27e97b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9e73jT9uLEbPaRea/Y8S/A0RBUrS5l8Bl8rafykda76Y3ypNGi7S6dbCflV9B8+bleqEOSsGM2BHR4sxn5vJJfskGuGOf5uY3kYC5Hx1FbpEpv0VGgCDOZS2WCIYbQ86axbqMXcXymKi31RJsFjhY6dYYNVMwDooxUsuExijbPH1pzQBZIE3w1UiJuL3or+nmYVvEt61iTq8R/1lW82/9tbosIMaJ2xoUZTK15uWDbBxaXtZyb+xYBWXr4p02UBGDVh1u6L+YK/6NEigHn1vNFwEgjZs5QTBC1NlHdklfEVra3i/WECfye9yGR1ist8feq9J2TbuzQEQauqYMZcbgLAFYZZ1EI/XKntievwxLaFA1eMgs/gXIooHQkw1df3wXRWK7DuXOlud+rKxYM/yAVEzDEPXUk3L0KfMA+Z8VRJlg0mhA+RlcUJhDIKFgojPQ8N/7MOj9rMjSj8I7EyriIPl6xsEgfj4Vf8PgjVrPyOTOOjgDcnJzdSIPZvjdXa411HsifEVJSy96wiLXQ1y6mKBXWpLr1gxnmnfzaWUG8s62/mAniTfEliBKKgjUTFy
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(366004)(346002)(39860400002)(186009)(1800799009)(451199024)(54906003)(66556008)(6916009)(66476007)(66946007)(6512007)(316002)(2616005)(8676002)(8936002)(4326008)(41300700001)(36756003)(478600001)(6666004)(38100700002)(53546011)(6486002)(6506007)(83380400001)(2906002)(86362001)(44832011)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bVlMQTIrMTNnZXBMbmp2eHZOa0lhUllndUZza0ZhcUZHNWUwdjFJd2VHK1Vu?=
 =?utf-8?B?T29wVWxhTEF4SkJkbytoK3RkYS83OE9ERWxoNXFVeUUrWU0xVlVwZVJjcXAy?=
 =?utf-8?B?VlFKL3V6R2Q0Z1lvY0x6eTlKY2QweXY3NkpCa2VyVGJMYitzUHRaKzB1a1cw?=
 =?utf-8?B?NmFkaU5vVFROb1VBL3NSSDRXVXR6Ujlld2tPWlc4SVlDTHRFWXpaUUVyME96?=
 =?utf-8?B?OCtWeFdnN29aQ2pya2RRcityb05Wa2crWWd5eWFicGozUHRWOXI5amR5WWF5?=
 =?utf-8?B?TTJ3TmJGKzd6bTZDVWdXVWowZldqaHM4aHBvcjMzS1hhQ21pQnlIOHVOVXhq?=
 =?utf-8?B?UDEveFdIYkE4ZTdGSlJVQ3d6Ymg5d0IxV0tiTUp1dlFNbHRyNjNPNEl6Ynlt?=
 =?utf-8?B?OW5jYnovOW9YdDg0MUoyVFg3OEVYajh4N1l5MndWZjRXSG80MU84WEp4QWpP?=
 =?utf-8?B?V29jMVd4Vy9aa3pyWGplcWNzRnNTbGprRWRUc0NPSW5pQ0o0QTVUVi9Ja1I2?=
 =?utf-8?B?SHVhY1pPeE0yVGpua0Rrd1lVdTYwZDdvUVp3dTl4V204ckNiKzI1UXF1QW5Q?=
 =?utf-8?B?TXE3bHljdS9QNW9jQ2tlandQSXlTaWk0SmtDL0p6dmREWXlQUzZjWXRlZGNB?=
 =?utf-8?B?Q1FnbUJBczFmcDlNTnJTMmdVTXNMQXZVREFRdFU2azVHL1hrNk1Ua2E1TDhl?=
 =?utf-8?B?Skd4eHJzWkcvbS8xV1lVV2h1eStWNzBxZXZuRFhDd0M4US8zKzMrdzhPMFFN?=
 =?utf-8?B?VjhKZzFCZHpBOEN6ZjlKc3RVWERFM1VzMW85aHNhSVErUUNMa0RxOXY5Zkkw?=
 =?utf-8?B?RmVkdGZXVmhCWFlMZkgwRzFPVVFEU0FGWStHYURmc1VWMEJaMXl2aGNFSGFt?=
 =?utf-8?B?T3JhRUtpam5WUU03dWYxbXAwQkppbnVZTnUwRTh5QVZsZlBjZnZEOTNGNk1s?=
 =?utf-8?B?MkcxRkFHV2hnTVNBbFJpd3F3K1k1OXJFQklxUjN3OWgvbm5GLzhjU09nY2I3?=
 =?utf-8?B?UGJMMUhEMUtqTUhJWnJOWTJoZkxqc2xpRVdKWlpBdkRrM0RGK0VVc0FDY3Fj?=
 =?utf-8?B?RE5JMHRJWm1FWGdvNzdybHpOVG5xRk01ZXpiMUlTOGdkVHdMNDQ5L3lzN2du?=
 =?utf-8?B?SFR5WHkyVGhPR1d5VGJyVjM5QnYxdjF5L041V1V6aHUyMWt5aTNTV0Q1ZElp?=
 =?utf-8?B?S1diNWVjbVhLaHhXS1RtK0lnMWxPRFpSQnowdzdKaWlKOGdVQ2pzNGlrdXRI?=
 =?utf-8?B?VUc1VlAvSU95Z3p4cEN4YTBPMDAxamRmSjdZZUllbWR6L2ZaZ0pORFkrWjI3?=
 =?utf-8?B?eHN3bkFVOHBicEp6UE5RQXk0WEdKQ0hZVUpUOVcva01wSkF5VW55MDZockhR?=
 =?utf-8?B?c3hud0RCbGJlTjhUdFZ3ZWFIZFBod2JhL2xUNzhIRmt1OVp2aGMyL2VUMXYr?=
 =?utf-8?B?RnpiR2RLVGdZT0NIeVdUTXJHaUN1Rk5nM1FQRWRGcUNVM1MvUUQ5bkFLUWsv?=
 =?utf-8?B?ekxMc091ZnM2WHgzMy9QN0YwelBNdXZXaElrdWJJVGJZcjJEUjZra2JRaGgx?=
 =?utf-8?B?eHlSYi9wWGNnSkx6N3BOSVlFYWhhTXRKanM1R3RUbHR0NFlTQk9UNTFqRlJl?=
 =?utf-8?B?em5rWHYvY3VBVVlDTG1YekxKa083djhGcWdMTW9HVE13TEU3WE1YTW1JaEFZ?=
 =?utf-8?B?dE1EemFVWTVuYUdTV0d3cmRTREZGeUtFb1hCZERrQ25xTCtVZEtvSnVBNCtH?=
 =?utf-8?B?bUU1OUdWUFE0d0t4Y2lqMnl2dzJ1U2VjOFRYbG9CYlJLU0dHRTRadFZORENn?=
 =?utf-8?B?RzBWcTJEYVdYekNHSkZXM1p2Ny96ZGdCU0VZYnZpUnFGb0dUaU5JNG1MVnh0?=
 =?utf-8?B?ZysrRVZ3UElaSEFuRVFtelZZcENDWVpBVFVyZ0tnNVYxQlNuUy9WTm91ZzZW?=
 =?utf-8?B?ZFNOT3c2OWV5djhXN282WVV6ZDFRTDNPTU1WUmVzZnBCS1FseFBkOHpmTGNH?=
 =?utf-8?B?bENuNEhucXB1OXl0M3ZEbEc5dGI3aUJCeksraGYxTlJaN1VtSDZHUDUyTTFp?=
 =?utf-8?B?Y3loeE9hMDdQWjgxK3JscFV5ZkxhelB6VzVVUVlXNGlIVkdWeXBVWVBWZkdQ?=
 =?utf-8?Q?rEKEbkZe5qAA2CMhZGYeowGdZ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1580fd2-fdb2-43a0-dac7-08dba27e97b7
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 19:41:20.0779
 (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: NP7LuUOM0YJErQmV3HJ/X30qNZzbv+lwz1OPIeXVMVFy6Ripj9sUMxd6MOMBrWOB5+2BhMI4bo6P41+1TKIzcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9433

Hi Jen,
On Mon, Aug 21, 2023 at 08:53:38AM +0200, Jan Beulich wrote:
> On 19.08.2023 02:28, Vikram Garhwal wrote:
> > Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> > Remove static type so this can also be used by SMMU drivers to check if the
> > device is being used before removing.
> > 
> > Moving spin_lock to caller was done to prevent the concurrent access to
> > iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> > patches in this series introduces node add/remove feature.
> > 
> > Also, caller is required hold the correct lock so moved the function prototype
> > to a private header.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v7:
> >     Update commit message.
> >     Add ASSERT().
> > ---
> > ---
> >  xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
> >  xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
> >  2 files changed, 50 insertions(+), 4 deletions(-)
> >  create mode 100644 xen/include/xen/iommu-private.h
> 
> I find it odd for new versions to be sent when discussion on the prior
> version hasn't settled yet, and when you then also don't incorporate
> the feedback given. I also find it odd to now be Cc-ed on the entire
> series. Imo instead of that patches which aren't self-explanatory /
> self-consistent simply need their descriptions improved (in the case
> here to mention what further use of a function is intended). Yet
> better would be to add declarations (and remove static) only at the
> point that's actually needed. This then eliminates the risk of
> subsequent changes in response to feedback (like Julien's here)
> resulting in the declaration no longer being needed, thus leading to
> a Misra violation (besides the general tidiness aspect).
> 
Reason behind sending new version: Patch 15/19 is largest patch in terms of change
and there was a long discussion with Julien and Stefano regarding a big change.
Last week(after v8) we agreed on change and Stefano and Julien were okay to send
v9 so it will be easier to review with that change.

Regarding cc-ing you to whole series, there was following comment on v8 09/1
"I don't think private headers should live in include/xen/. Judging from only
the patches I was Cc-ed on." I thought you wanted to see the whole full series.
Looks like i misunderstood the comment and Will remove the from cc-list in next
version.

The function itself will be needed in further patches in this series.
I am okay with keeping static and other things same here to avoid MISRA violation
and change wherever they are called first time.

Regarding Julien's comment i am reply back in same thread on why this was
not taken in account.
> Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 19:46:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 19:46:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587822.919231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYArI-0003QU-Gw; Mon, 21 Aug 2023 19:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587822.919231; Mon, 21 Aug 2023 19:46:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYArI-0003QN-E9; Mon, 21 Aug 2023 19:46:40 +0000
Received: by outflank-mailman (input) for mailman id 587822;
 Mon, 21 Aug 2023 19:46:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tacK=EG=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qYArH-0003QH-BJ
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 19:46:39 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e89::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f82d91c-405b-11ee-9b0c-b553b5be7939;
 Mon, 21 Aug 2023 21:46:36 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SA0PR12MB7076.namprd12.prod.outlook.com (2603:10b6:806:2d5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 19:46:31 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::1280:3c61:6568:3908%5]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023
 19:46:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f82d91c-405b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xwp7ZQmz61vTA+3ylRHM+B0CfhSDPdaVXmg8/UTnGv4O3y1+/FGeGvgAMPdp10wm5QgEEerTyK7sc9HQqM+iuMVUiSvr21XpEtCJiZLoO9XbmnPaMEvcjHkXpOcKCle1aI4T2AiK9HiDzBnlE0231J/zcJcAAbcixupkBQKVcQlb30QrpwNPOWMUT88J3XHMsCnNlDKFj3M8HrjaLGU5ka5bQsXpSCdmrxGAVCPBkz+dNh1T1iIYqVeUDgWfYnRKAdZIMlPX0QvQCSuRNn6sDYyqOo2GVCTx5cpPaX/XT9uC69kilA8FlXEXZWJPbO+OP3pGnjZSMi61JEJeWq1faw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5c3qeAlpaGDIznTiV52LeUK73FrSjST/Uwpj7NRl5cc=;
 b=bu2g06DVOpERfSwy7TM1+nsJue/5WHWYEcz0+ZZzgmufC0eE3gs0XxYa5mJFKEM7xDSngzTsVnWg2H7s4MEIuLDZn26275+AD5sq3DfhWESFYLpwdtd8tXMopY3F4NUfmnzjEd65UIyxDMmHO5tEISMmovy1IQIeFv6SfbSROday7SYvztUZn8nwd5Ylh0f5DcMsIlKI6SHx+04AHgu9K6Aen/L7+XAtgUpCot55yjXLZUnsxhdHdY5DVQjhXaIzSX1/oPRSw5Trxvdm7047ZWzBcBYJ/wfJJnCv+rISDBQ4febDuEQnyFr1h9fTxgTikJntRWwY3NcpHGUXZcB94Q==
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=5c3qeAlpaGDIznTiV52LeUK73FrSjST/Uwpj7NRl5cc=;
 b=YL/jQRq2T/cUvRaLM2+hU5w9xxx6GUcC1qLHsxtACR+8vPRA+62cu5tVqv8ShXUDx8uPbNbgnHn6up7V4+oOOLWN63NsOzx/a2dSOFsl52NVALmdwwzfwZbpnTkYSQXmnoDLFpM9tyMTaLX/agDdqLzKQrfoGEEY5skzBpkoTQM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 21 Aug 2023 12:46:28 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
	sstabellini@kernel.org, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZOO/FDJaqA68eaAl@amd.com>
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
 <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com>
 <ZN/MDcuo+IS0m5Cz@amd.com>
 <e667948d-944d-2649-7063-3725cc68ca8c@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e667948d-944d-2649-7063-3725cc68ca8c@xen.org>
X-ClientProxiedBy: BY3PR10CA0009.namprd10.prod.outlook.com
 (2603:10b6:a03:255::14) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|SA0PR12MB7076:EE_
X-MS-Office365-Filtering-Correlation-Id: 7e2e8568-9370-4c5f-2524-08dba27f519d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mj/u02+HCVvxYRss830YNnxLr0XmhQFMBu4fyRh8XGMU8WqKA26/b1NVdIeNKhBROeHh53UMNIii2fLIZaehyiCK1EwMOWPRhYa7+lYjT+vtONV7O3GNgUo8uGAjP3bJqPcphaq7zypKBdDQnj5FZD+UtqhBycPbiQhq5jIhrT383yLi3mpfeec89y3KDY/7cK85U6XNwjG6XTkkDMSTEphSR9eVnViwYvrjjiL96sCb+5xmj0ZyT2QbDWfF3lAZj5ngXrl1CadgyNcDZ8E2b0hsW5mRhesyfwufKSWFv4Y4W7QTRj7SNqCy6Tf9lHc4Buq4X0Ds2hqwv+ksQsKxfXRda9h96AAAUhuOsR5pLVOMqaUI6vqEU0RQK6it2S3E00vAx0fLjYTZ4sMLU+yXnhKweED9sJa6jVxSzVQPgGIX5M1UhNhHX5KakEs1f0uKw8LfmDvDi5vQExc1C8cOm6L8pkfcB7KDVYeknhlE0pQn88zMkQOvYU5bJSA9x7U+9/7v/sBptMMJzZbJp86z3rrJD6mHPTzVUX2n6PTca/U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(346002)(39860400002)(366004)(186009)(1800799009)(451199024)(54906003)(6916009)(66476007)(66556008)(316002)(66946007)(6512007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(6666004)(38100700002)(53546011)(6506007)(6486002)(83380400001)(2906002)(86362001)(44832011)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmhrcHlEczFnWE0zQnliMFdHVXRSekZBM0lUUERGSGtuZkFhbVJUMktLMWhJ?=
 =?utf-8?B?VUpBcDFBOS94UHlVKzJ1VzVTeHgvUTA5dWZDa3RsKzVua0t1UFhSWkg1VlJE?=
 =?utf-8?B?RDhPRU5WdEhhOCtsckwrY2lWa3Z1bWhWOUtlN2dIVFVSZU5aODAvaGNyVjlU?=
 =?utf-8?B?UUo1UituTnhYenpMZFJ5U3FtN0tPNnlWbEhKaEx2NEhZaXNXL25SSHVHYnhO?=
 =?utf-8?B?RmVIczAvYlVTYTBoSWhjdVZla0JkVzZRazljYWxlcWw5QzM5QjNRYnJZMWVM?=
 =?utf-8?B?UjJsbjd6d1dvaWhkSWJZSkJzZG5DODd1US9Leks4c0UwcnFEeW5MMHBVeGU3?=
 =?utf-8?B?R1JEWU9OSXhRbG5wRTYzZzc5ay9DK1pNNXNMWUdHYU9Sc0lnMTAzTUhXZUZ5?=
 =?utf-8?B?QWk0UjNTaytRUnlNNDVyNGxRSjBBdS9QQVU1YjlZc3hWdkdMcEVvNWc0T1ZC?=
 =?utf-8?B?WEI1SWtvSzZEMmNUNVkxdVp1L1UwdVpnR2c2QXpXZ3JWcFlQMGFHTWQvMmZ1?=
 =?utf-8?B?YTdKeThzY0hiQnl6T1FMcExKVkw3TktOUFBBZEI5Q2tSM3c4N0U3WWpJdXdS?=
 =?utf-8?B?MDZSUXQ2SWlKbTd5S0psSGI3bHlBaDRGQlhzQ0MvZld6SEU4OGsyM1VBVzJx?=
 =?utf-8?B?VWNWb1hvSVYxN1ZBN0FXZWdGVGNKc3RwUWV3NlZJYVUzMWRvS2VNczF2Q2o5?=
 =?utf-8?B?MmxJazk0SnZZb3BhTTdLTXZDeHhpSk0xOVBFOW5mWkkxd21WWnd4RFh5Nzho?=
 =?utf-8?B?STlBYWZBK091VFJrQmxTWXFaVkxQMm9ZVkY4SEg2cjJGcHU0bmE0cWZGdlFE?=
 =?utf-8?B?S3hPcjhNdURNbW5VWlQ5SzZWL244dlg2R0srbjNkb3pPYnJaMEVrZzROaFFY?=
 =?utf-8?B?NmJxVk1STDZHWDRIVDRra0NSQlMrRDJ0NC9hUC8yK1ZPaWl2L2N2cW1OQU5a?=
 =?utf-8?B?cE9MRFl6N0oxeVdwTERXSVp4S0FMZm1UajVqeVVzbjdWdjJtVitmYTVpamkz?=
 =?utf-8?B?ZVlOdHFqOXZ1Vk1DZG1lYUVDUCs0U2ZVMlpBeFA2eitETmtVcVpKc20yMi8v?=
 =?utf-8?B?VEc1NXBGWHRJd0xYUXg0OWwxVzBWNW11ZGoyK1JEYkxFZFBQdjFEaWdSVkQ1?=
 =?utf-8?B?ZG1YWmNvRkEwSzcwTVJCTzlxZlpEWUE2MDNPbjBwTndmZHdoK3ljRFhrS0lT?=
 =?utf-8?B?SWxDTzFGNkZ3aDEwRFgyZUtpekhEWkE1REFOcHk3cys5Q09Obkdia3pKUDVX?=
 =?utf-8?B?a0haWU5SQmdyOWhLRGxqQ3JrMmtuRHNjSW04c2x1RHVIcGE3NHFOMTNIVWF1?=
 =?utf-8?B?a3dnM3hLNytSMXN4YjlKallWVzFzc2U2QWk1R3lQV1o5VlhoaWlnam5iYnly?=
 =?utf-8?B?VENybEt1Q2czak1XeVk4OFdNa0lpOU9FVENuSkFUaXZyYUZOSEJzQmV3NDVu?=
 =?utf-8?B?ejN4dy9OcnpXYS9OREFNUTdtK3pYTXYvN2VNc3ZseUlQd0FVYklqWllwa1BN?=
 =?utf-8?B?aU4rSzFjRUtRQUh2MzlITjBoTThnRUs1RGo2WDlzNVMvdU9zWnBwQnlWQjNa?=
 =?utf-8?B?aGlrYWRyWS9BajJSTnFOK3BabWJFV2Nnb3VxQlVaUFpIdFpxcGF2R29Qc0d0?=
 =?utf-8?B?a084MHFJQ084ZmlQUDc5bzZSNzc5ZXZ1QXBwRXp5dU1LUE45UGZVVVR5YjZG?=
 =?utf-8?B?b01YSDBHM3Nnc3FpYjZISWtGSkRFWHp1b0JudnJ3bndIQ0hJZ0J5RjQrNXFJ?=
 =?utf-8?B?T1pDMXhGME1lUGVXeGtEaTdEOGN0UTY1UkRYdW95ZGY0Mm5YSlhBTGc2V1k3?=
 =?utf-8?B?Q0JPeW1rdExGYzdvU28yek9FQmZiM0k5dWVOcjR6MHlCYzRmRnVTQ25DSjF6?=
 =?utf-8?B?b3BhcGgybXhzQXl3WmRQdjVKNFd6dURSZlZVOUZnNGFoaUlYcE1EeWRLOUJx?=
 =?utf-8?B?N0djSmY2WWRmbFlmWUg3R29QdTFiRkcwZ2V5M1FoQ3hQSmZWdDM0WnhGTkJl?=
 =?utf-8?B?U0E3ZEQ3M2YreUtJWFd1bEN4RUx1R2szUVltYm5IUmpWSDQyYXpZWmJaSGRR?=
 =?utf-8?B?NlZ1T01OdzZXV3ZSUHhTV2wyY3JxMitUUzhqZ2VFNE9RRWNTelp5bTNDMmZm?=
 =?utf-8?Q?N8rX8dXw+IeHWoJM85X1sy01G?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7e2e8568-9370-4c5f-2524-08dba27f519d
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 19:46:31.8552
 (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: g8qn+tXCp8UIPUEKuMloBkqzC6SoHVR6LODYTb4b7FETMHnSqj40+9bBJ6ULVBie2t7g6/S2lQO3pIM5QgJfpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB7076

Hi Julien
On Fri, Aug 18, 2023 at 09:35:02PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 18/08/2023 20:52, Vikram Garhwal wrote:
> > Hi Jan
> > On Thu, Aug 17, 2023 at 09:05:44AM +0200, Jan Beulich wrote:
> > > On 17.08.2023 02:39, Vikram Garhwal wrote:
> > > > --- /dev/null
> > > > +++ b/xen/include/xen/iommu-private.h
> > > 
> > > I don't think private headers should live in include/xen/. Judging from only
> > > the patches I was Cc-ed on, ...
> > Thank you for suggestion. Do you where can i place it then?
> > Please see another comment down regarding who might be using this function.
> > > 
> > > > @@ -0,0 +1,28 @@
> > > > +/* SPDX-License-Identifier: GPL-2.0-only */
> > > > +/*
> > > > + * xen/iommu-private.h
> > > > + */
> > > > +#ifndef __XEN_IOMMU_PRIVATE_H__
> > > > +#define __XEN_IOMMU_PRIVATE_H__
> > > > +
> > > > +#ifdef CONFIG_HAS_DEVICE_TREE
> > > > +#include <xen/device_tree.h>
> > > > +
> > > > +/*
> > > > + * Checks if dt_device_node is assigned to a domain or not. This function
> > > > + * expects to be called with dtdevs_lock acquired by caller.
> > > > + */
> > > > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> > > > +#endif
> > > 
> > > ... I don't even see the need for the declaration, as the function is used
> > > only from the file also defining it. But of course if there is a use
> > > elsewhere (in Arm-only code, as is suggested by the description here), then
> > > the header (under a suitable name) wants to live under drivers/passthrough/
> > > (and of course be included only from anywhere in that sub-tree).
> > > 
> > This is also use in smmu.c:arm_smmu_dt_remove_device_legacy(). This is added in
> > 12/19 patch(xen/smmu: Add remove_device callback for smmu_iommu ops).
> 
> AFAICT, the caller of this function (iommu_remove_dt_device()) will already
> check if the device was assigned and bail out if that's the case.
> 
> 
> So why do we need to check it again in the SMMU driver?
> 
This was comment from you in v2:
"Even if the IOMMU subsystem check it, it would be good that the SMMU 
driver also check the device is not currently used before removing it.

If it is, then we should return -EBUSY."
Link:https://patchew.org/Xen/1636441347-133850-1-git-send-email-fnu.vikram@xilinx.com/1636441347-133850-7-git-send-email-fnu.vikram@xilinx.com/

And there was similar comment from Michal in v5.

That's why this was kept.

Regards,
Vikram

> And if you really need to then you most likely want to check the internal
> state of the SMMU driver rather than the generic state.
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 20:15:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 20:15:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587830.919257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBJW-0007hT-RH; Mon, 21 Aug 2023 20:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587830.919257; Mon, 21 Aug 2023 20:15:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBJW-0007hM-Ok; Mon, 21 Aug 2023 20:15:50 +0000
Received: by outflank-mailman (input) for mailman id 587830;
 Mon, 21 Aug 2023 20:15: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 1qYBJV-0007h6-Ui
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 20:15: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 1qYBJR-0000rU-Kh; Mon, 21 Aug 2023 20:15:45 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYBJR-0004Ll-Am; Mon, 21 Aug 2023 20:15:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9c70gnoBq74Ea+dYVJRDVhCvaL/ymvGyAQ6wSO2z6io=; b=xmcGNU0H4JRIoRIcAZ7hlWo+Ps
	NsS/U9De4/+gkAb/olLsQjVC0yS72oAAOT0kPXeES267nlDLJqtCRGTBd30x6ZcF0mCRAOh2HSYYQ
	WtzRYoBoWd8sdVnLMbWGZwnHCg7U/lgm7r1Z1lBHqTUZ2pntQLlcIzjW7NCIyKENLEsk=;
Message-ID: <d1b5172e-6d46-d91b-1d42-9e94ff93e810@xen.org>
Date: Mon, 21 Aug 2023 21:15:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [XEN][PATCH v8 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 sstabellini@kernel.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230817003947.3849-1-vikram.garhwal@amd.com>
 <20230817003947.3849-10-vikram.garhwal@amd.com>
 <4905ac18-85ba-40c1-4542-7355cecafdf4@suse.com> <ZN/MDcuo+IS0m5Cz@amd.com>
 <e667948d-944d-2649-7063-3725cc68ca8c@xen.org> <ZOO/FDJaqA68eaAl@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZOO/FDJaqA68eaAl@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/08/2023 20:46, Vikram Garhwal wrote:
> Hi Julien
> On Fri, Aug 18, 2023 at 09:35:02PM +0100, Julien Grall wrote:
>> Hi Vikram,
>>
>> On 18/08/2023 20:52, Vikram Garhwal wrote:
>>> Hi Jan
>>> On Thu, Aug 17, 2023 at 09:05:44AM +0200, Jan Beulich wrote:
>>>> On 17.08.2023 02:39, Vikram Garhwal wrote:
>>>>> --- /dev/null
>>>>> +++ b/xen/include/xen/iommu-private.h
>>>>
>>>> I don't think private headers should live in include/xen/. Judging from only
>>>> the patches I was Cc-ed on, ...
>>> Thank you for suggestion. Do you where can i place it then?
>>> Please see another comment down regarding who might be using this function.
>>>>
>>>>> @@ -0,0 +1,28 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>>>> +/*
>>>>> + * xen/iommu-private.h
>>>>> + */
>>>>> +#ifndef __XEN_IOMMU_PRIVATE_H__
>>>>> +#define __XEN_IOMMU_PRIVATE_H__
>>>>> +
>>>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>>>> +#include <xen/device_tree.h>
>>>>> +
>>>>> +/*
>>>>> + * Checks if dt_device_node is assigned to a domain or not. This function
>>>>> + * expects to be called with dtdevs_lock acquired by caller.
>>>>> + */
>>>>> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
>>>>> +#endif
>>>>
>>>> ... I don't even see the need for the declaration, as the function is used
>>>> only from the file also defining it. But of course if there is a use
>>>> elsewhere (in Arm-only code, as is suggested by the description here), then
>>>> the header (under a suitable name) wants to live under drivers/passthrough/
>>>> (and of course be included only from anywhere in that sub-tree).
>>>>
>>> This is also use in smmu.c:arm_smmu_dt_remove_device_legacy(). This is added in
>>> 12/19 patch(xen/smmu: Add remove_device callback for smmu_iommu ops).
>>
>> AFAICT, the caller of this function (iommu_remove_dt_device()) will already
>> check if the device was assigned and bail out if that's the case.
>>
>>
>> So why do we need to check it again in the SMMU driver?
>>
> This was comment from you in v2:
> "Even if the IOMMU subsystem check it, it would be good that the SMMU
> driver also check the device is not currently used before removing it.
> 
> If it is, then we should return -EBUSY."
> Link:https://patchew.org/Xen/1636441347-133850-1-git-send-email-fnu.vikram@xilinx.com/1636441347-133850-7-git-send-email-fnu.vikram@xilinx.com/

A lot of water flown under the bridge since that discussion. If you want 
to check the device is not attached in the SMMU driver, then you should 
use the internal SMMU state rather than the generic state.

You can look at arm_smmu_attach_dev() for an example how to do it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 20:48:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 20:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587870.919267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBp8-0003hy-BO; Mon, 21 Aug 2023 20:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587870.919267; Mon, 21 Aug 2023 20:48:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBp8-0003hr-8d; Mon, 21 Aug 2023 20:48:30 +0000
Received: by outflank-mailman (input) for mailman id 587870;
 Mon, 21 Aug 2023 20:48:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYBp6-0003hh-Ks; Mon, 21 Aug 2023 20:48:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYBp6-0001dA-7o; Mon, 21 Aug 2023 20:48:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYBp5-0001Su-Mr; Mon, 21 Aug 2023 20:48:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYBp5-000795-MM; Mon, 21 Aug 2023 20:48: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=LKMWyK4Gsk6CUDdFGz01Uo7ijbXYQTuF046nW/L2UBs=; b=JLg4jrBZBBqFBrPs/9hA/8rfye
	nKOn9R/bfp1fujK8kZXpCBn5kbKxyaRpnz9KQ8HSXF6lov6AWDA32iHy4wcWmO48JE7JqeO1aTkOL
	bv+dzQ/1VMRFIiJLyPLZitXdKNQHVtWjfmblBLSeUeC0lBhkeuGPQw17/x9VyDoyP/aM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182409-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182409: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:windows-install:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-examine: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-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-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f7757129e3dea336c407551c98f50057c22bb266
X-Osstest-Versions-That:
    linux=706a741595047797872e669b3101429ab8d378ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 21 Aug 2023 20:48:27 +0000

flight 182409 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182409/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build   fail in 182408 REGR. vs. 182405

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-amd64 18 guest-localmigrate/x10 fail in 182408 pass in 182409
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 21 guest-start.2 fail in 182408 pass in 182409
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot           fail pass in 182408
 test-amd64-amd64-dom0pvh-xl-intel 22 guest-start/debian.repeat fail pass in 182408
 test-amd64-amd64-xl-qemut-win7-amd64 12 windows-install    fail pass in 182408

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 182408 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 182408 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop  fail in 182408 like 182405
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182408 like 182405
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182405
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182405
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182405
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182405
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182405
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182405
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f7757129e3dea336c407551c98f50057c22bb266
baseline version:
 linux                706a741595047797872e669b3101429ab8d378ef

Last test of basis   182405  2023-08-20 18:11:48 Z    1 days
Testing same since   182408  2023-08-21 05:42:03 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Herbert Xu <herbert@gondor.apana.org.au>
  Linus Torvalds <torvalds@linux-foundation.org>
  Pavel Skripkin <paskripkin@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit f7757129e3dea336c407551c98f50057c22bb266
Merge: 4542057e18ca 080aa61e370b
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Aug 21 07:02:21 2023 +0200

    Merge tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
     "Fix a regression in the caam driver and af_alg"
    
    * tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: fix uninit-value in af_alg_free_resources
      Revert "crypto: caam - adjust RNG timing to support more devices"

commit 4542057e18caebe5ebaee28f0438878098674504
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Aug 21 06:11:33 2023 +0200

    mm: avoid 'might_sleep()' in get_mmap_lock_carefully()
    
    This might_sleep() goes back a long time: it was originally introduced
    way back when by commit 010060741ad3 ("x86: add might_sleep() to
    do_page_fault()"), and made it into the generic VM code when the x86
    fault path got re-organized and generalized in commit c2508ec5a58d ("mm:
    introduce new 'lock_mm_and_find_vma()' page fault helper").
    
    However, it turns out that the placement of that might_sleep() has
    always been rather questionable simply because it's not only a debug
    statement to warn about sleeping in contexts that shouldn't sleep (which
    was the original reason for adding it), but it also implies a voluntary
    scheduling point.
    
    That, in turn, is less than desirable for two reasons:
    
     (a) it ends up being done after we successfully got the mmap_lock, so
         just as we got the lock we will now eagerly schedule away and
         increase lock contention
    
    and
    
     (b) this is all very possibly part of the "oops, things went horribly
         wrong" path and we just haven't figured that out yet
    
    After all, the whole _reason_ for having that get_mmap_lock_carefully()
    rather than just doing the obvious mmap_read_lock() is because this code
    wants to deal somewhat gracefully with potential kernel wild pointer
    bugs.
    
    So then a voluntary scheduling point here is simply not a good idea.
    
    We could certainly turn the 'might_sleep()' into a '__might_sleep()' and
    make it be just the debug check that it was originally intended to be.
    
    But even that seems questionable in the wild kernel pointer case - which
    again is part of the whole point of this code.  The problem wouldn't be
    about the _sleeping_ part of the page fault, but about a bad kernel
    access.  The fact that that bad kernel access might happen in a section
    that you shouldn't sleep in is secondary.
    
    So it really ends up being the case that this is simply entirely the
    wrong place to do this debug check and related scheduling point at all.
    
    So let's just remove the check entirely.  It's been around for over a
    decade, it has served its purpose.
    
    The re-schedule will happen at return to user space anyway for the
    normal case, and the warning - if we even need it - might be better off
    done as a special case for "page fault from kernel mode" once we've
    dealt with any potential kernel oopses where the oops is the relevant
    thing, not some artificial "scheduling while atomic" test.
    
    Reported-by: Mateusz Guzik <mjguzik@gmail.com>
    Link: https://lore.kernel.org/lkml/20230820104303.2083444-1-mjguzik@gmail.com/
    Cc: Matthew Wilcox <willy@infradead.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 080aa61e370b9c5cafe71cacadbfe0e72db4d6df
Author: Pavel Skripkin <paskripkin@gmail.com>
Date:   Mon Aug 14 21:03:41 2023 +0300

    crypto: fix uninit-value in af_alg_free_resources
    
    Syzbot was able to trigger use of uninitialized memory in
    af_alg_free_resources.
    
    Bug is caused by missing initialization of rsgl->sgl.need_unpin before
    adding to rsgl_list. Then in case of extract_iter_to_sg() failure, rsgl
    is left with uninitialized need_unpin which is read during clean up
    
    BUG: KMSAN: uninit-value in af_alg_free_sg crypto/af_alg.c:545 [inline]
    BUG: KMSAN: uninit-value in af_alg_free_areq_sgls crypto/af_alg.c:778 [inline]
    BUG: KMSAN: uninit-value in af_alg_free_resources+0x3d1/0xf60 crypto/af_alg.c:1117
     af_alg_free_sg crypto/af_alg.c:545 [inline]
     af_alg_free_areq_sgls crypto/af_alg.c:778 [inline]
     af_alg_free_resources+0x3d1/0xf60 crypto/af_alg.c:1117
     _skcipher_recvmsg crypto/algif_skcipher.c:144 [inline]
    ...
    
    Uninit was created at:
     slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767
     slab_alloc_node mm/slub.c:3470 [inline]
     __kmem_cache_alloc_node+0x536/0x8d0 mm/slub.c:3509
     __do_kmalloc_node mm/slab_common.c:984 [inline]
     __kmalloc+0x121/0x3c0 mm/slab_common.c:998
     kmalloc include/linux/slab.h:586 [inline]
     sock_kmalloc+0x128/0x1c0 net/core/sock.c:2683
     af_alg_alloc_areq+0x41/0x2a0 crypto/af_alg.c:1188
     _skcipher_recvmsg crypto/algif_skcipher.c:71 [inline]
    
    Fixes: c1abe6f570af ("crypto: af_alg: Use extract_iter_to_sg() to create scatterlists")
    Reported-and-tested-by: syzbot+cba21d50095623218389@syzkaller.appspotmail.com
    Closes: https://syzkaller.appspot.com/bug?extid=cba21d50095623218389
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 83874b8e97f895e62d9ab03223318176d5e78203
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Fri Aug 18 16:47:02 2023 +0800

    Revert "crypto: caam - adjust RNG timing to support more devices"
    
    This reverts commit ef492d080302913e85122a2d92efa2ca174930f8.
    
    This patch breaks the RNG on i.MX8MM.
    
    Reported-by: Bastian Krause <bst@pengutronix.de>
    Link: https://lore.kernel.org/all/e1f3f073-9d5e-1bae-f4f8-08dc48adad62@pengutronix.de/
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 20:59:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 20:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587880.919278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBzN-0005Ky-GZ; Mon, 21 Aug 2023 20:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587880.919278; Mon, 21 Aug 2023 20:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYBzN-0005Kr-C2; Mon, 21 Aug 2023 20:59:05 +0000
Received: by outflank-mailman (input) for mailman id 587880;
 Mon, 21 Aug 2023 20:59: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 1qYBzM-0005Kg-0G; Mon, 21 Aug 2023 20:59: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 1qYBzL-0001pC-PO; Mon, 21 Aug 2023 20:59: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 1qYBzL-00024R-C2; Mon, 21 Aug 2023 20:59:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYBzL-0004C1-BZ; Mon, 21 Aug 2023 20:59: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=r0twBiCzTOyb5GzPwa6BCsLhTnPWMESJETIkA+5yWdM=; b=TXsPZWZl8zgWz8qJb0K5i+rAzS
	VhlMnt4zHuQwQxW16bIjn3WGVKaTHRh1msfUYEW9szgGfWKHxm5osrb1kDjbKSSGHPY9HSdPb6BbA
	n7ZualNS9etI0GFbq4lZeIO86pV29wsV3J9/Ena7itDEmJN50JuHgfsTmMw3mIULX0r0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182412-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182412: 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=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
X-Osstest-Versions-That:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 21 Aug 2023 20:59:03 +0000

flight 182412 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182412/

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                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
baseline version:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f

Last test of basis   182392  2023-08-19 02:00:26 Z    2 days
Testing same since   182412  2023-08-21 18:02:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   bf0bd6cf59..3fae7c56b3  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 21:19:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 21:19:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587889.919288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYCJB-0007ub-45; Mon, 21 Aug 2023 21:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587889.919288; Mon, 21 Aug 2023 21: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 1qYCJB-0007uU-0U; Mon, 21 Aug 2023 21:19:33 +0000
Received: by outflank-mailman (input) for mailman id 587889;
 Mon, 21 Aug 2023 21:19:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYCJ9-0007uO-Gc
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 21:19:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYCJ8-0002My-Sq; Mon, 21 Aug 2023 21:19:30 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYCJ8-000749-HX; Mon, 21 Aug 2023 21:19:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=HEdre+l/Qu9vvgeRBiRh6CtkhDdhZuy9tB8MbMhRsOQ=; b=RCXZxMQf0/WHxmW8QWOwLLICU/
	bnXztQOOWqEHSRNyi4hliaZ6jCOdU1HWRN0T0UDPutG0PCdAJhAYKmdZyPIwa+GHJ8fzWp5v+C/MN
	5DmMlDS9mTnA+a/OuVEnqf0jwX7eZWUKL9zfQSDfH4eqtgIX/KokI0rkLYS0HUCpBx2M=;
Message-ID: <a665733f-5b57-436f-df02-81ed1c9ecd28@xen.org>
Date: Mon, 21 Aug 2023 22:19:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-11-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v5 10/13] xen/arm: mmu: move MMU-specific setup_mm to
 mmu/setup.c
In-Reply-To: <20230814042536.878720-11-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> setup_mm is used for Xen to setup memory management subsystem at boot
> time, like boot allocator, direct-mapping, xenheap initialization,
> frametable and static memory pages.
> 
> We could inherit some components seamlessly in later MPU system like
> boot allocator, whilst we need to implement some components differently
> in MPU, like xenheap, etc. There are some components that is specific
> to MMU only, like direct-mapping.
> 
> In the commit, we move MMU-specific components into mmu/setup.c, in
> preparation of implementing MPU version of setup_mm later in future
> commit. Also, make init_pdx(), init_staticmem_pages(), setup_mm(), and
> populate_boot_allocator() public for future MPU inplementation.

Typo: s/inplementation/implementation/

> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v5:
> - No change
> v4:
> - No change
> ---
>   xen/arch/arm/include/asm/setup.h |   5 +
>   xen/arch/arm/mmu/Makefile        |   1 +
>   xen/arch/arm/mmu/setup.c         | 339 +++++++++++++++++++++++++++++++
>   xen/arch/arm/setup.c             | 326 +----------------------------
>   4 files changed, 349 insertions(+), 322 deletions(-)
>   create mode 100644 xen/arch/arm/mmu/setup.c
> 
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index f0f64d228c..0922549631 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -156,6 +156,11 @@ 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);
>   
> +extern void init_pdx(void);
> +extern void init_staticmem_pages(void);
> +extern void populate_boot_allocator(void);
> +extern void setup_mm(void);

Please avoid the 'extern' for new function declaration.

> +
>   extern uint32_t hyp_traps_vector[];
>   void init_traps(void);
>   
> diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
> index b18cec4836..4aa1fb466d 100644
> --- a/xen/arch/arm/mmu/Makefile
> +++ b/xen/arch/arm/mmu/Makefile
> @@ -1 +1,2 @@
>   obj-y += mm.o
> +obj-y += setup.o
> diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
> new file mode 100644
> index 0000000000..e05cca3f86
> --- /dev/null
> +++ b/xen/arch/arm/mmu/setup.c
> @@ -0,0 +1,339 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * xen/arch/arm/mmu/setup.c
> + *
> + * MMU-specific early bringup code for an ARMv7-A with virt extensions.

You modify the comment in arm/setup.c to mention ARMv8 but not here. The 
former feels somewhat unrelated.

> + */
> +
> +#include <xen/init.h>
> +#include <xen/serial.h>
> +#include <xen/libfdt/libfdt-xen.h>
> +#include <xen/mm.h>
> +#include <xen/param.h>
> +#include <xen/pfn.h>
> +#include <asm/fixmap.h>
> +#include <asm/page.h>
> +#include <asm/setup.h>
> +
> +#ifdef CONFIG_ARM_32

AFAICT, mmu/mm.c has nothing common between arm32 and arm64. So can we 
introduce arm{32, 64}/mmu/setup.c and move the respective code there?

[...]

> +void __init setup_mm(void)
> +{
> +    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 )
> +        panic("No memory bank\n");
> +
> +    /* We only supports instruction caches implementing the IVIPT extension. */
> +    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
> +        panic("AIVIVT instruction cache not supported\n");

Thi check is unlikely going to be MMU setup.c.

> +
> +    init_pdx();
> +
> +    ram_start = bootinfo.mem.bank[0].start;
> +    ram_size  = bootinfo.mem.bank[0].size;
> +    ram_end   = ram_start + ram_size;
> +
> +    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
> +    {
> +        bank_start = bootinfo.mem.bank[i].start;
> +        bank_size = bootinfo.mem.bank[i].size;
> +        bank_end = bank_start + bank_size;
> +
> +        ram_size  = ram_size + bank_size;
> +        ram_start = min(ram_start,bank_start);
> +        ram_end   = max(ram_end,bank_end);
> +    }
> +
> +    total_pages = ram_size >> PAGE_SHIFT;
> +
> +    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;
> +
> +            bank_start = bootinfo.reserved_mem.bank[i].start;
> +            bank_size = bootinfo.reserved_mem.bank[i].size;
> +            bank_end = bank_start + bank_size;
> +
> +            static_heap_size += bank_size;
> +            static_heap_end = max(static_heap_end, bank_end);
> +        }
> +
> +        heap_pages = static_heap_size >> PAGE_SHIFT;
> +    }
> +    else
> +        heap_pages = total_pages;
> +
> +    /*
> +     * If the user has not requested otherwise via the command line
> +     * then locate the xenheap using these constraints:
> +     *
> +     *  - must be contiguous
> +     *  - must be 32 MiB aligned
> +     *  - must not include Xen itself or the boot modules
> +     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
> +          heap if enabled) if less

While you are moving the code can you add '*'? Could be done as a 
follow-up patch as well.

[...[

> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 44ccea03ca..b3dea41099 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -2,7 +2,7 @@
>   /*
>    * xen/arch/arm/setup.c
>    *
> - * Early bringup code for an ARMv7-A with virt extensions.
> + * Early bringup code for an ARMv7-A/ARM64v8R with virt extensions.

You are not yet supporting ARMv8-R. But we are supporting ARMv8-A which 
is not mentioned here. That said, I don't really the benefits of 
mentioning the major revision of the Arm Arm we support. For instance, 
we are likely going to be able to boot on Armv9.

So I would just remove anything from 'for'.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 21:31:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 21:31:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587896.919298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYCUO-0001yP-4O; Mon, 21 Aug 2023 21:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587896.919298; Mon, 21 Aug 2023 21:31: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 1qYCUO-0001yI-1G; Mon, 21 Aug 2023 21:31:08 +0000
Received: by outflank-mailman (input) for mailman id 587896;
 Mon, 21 Aug 2023 21:31:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYCUL-0001yC-So
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 21:31: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 1qYCUL-0002Yu-Cm; Mon, 21 Aug 2023 21:31:05 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYCUL-0007Pw-4W; Mon, 21 Aug 2023 21:31:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=EI7sjwyUiL3xnfsPS51UK4EPcLqDIAcWWzXsAZTGZZk=; b=WDEfx5piIOqnAdMyM1SzfQzTGS
	IRmjESRJp941rPa0Ia93CqjEW//TuHGX1vexPiB9HE2ZFO41Ki9xea7WsO/qyVCd55fZLdqV/rUtF
	1EAvkkn+QPMedVe4/CXk8DBuk5iTrSe/IlNh2UhNuh5rf83mIhkbVms82PE8pWXGeoWQ=;
Message-ID: <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
Date: Mon, 21 Aug 2023 22:31:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
In-Reply-To: <20230814042536.878720-13-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> Function copy_from_paddr() is defined in asm/setup.h, so it is better
> to be implemented in setup.c.

I don't agree with this reasoning. We used setup.h to declare prototype 
for function that are out of setup.c.

Looking at the overall of this series, it is unclear to me what is the 
difference between mmu/mm.c and mmu/setup.c. I know this is technically 
not a new problem but as we split the code, it would be a good 
opportunity to have a better split.

For instance, we have setup_mm() defined in setup.c but 
setup_pagetables() and mm.c. Both are technically related to the memory 
management. So having them in separate file is a bit odd.

I also don't like the idea of having again a massive mm.c files. So 
maybe we need a split like:
   * File 1: Boot CPU0 MM bringup (mmu/setup.c)
   * File 2: Secondary CPUs MM bringup (mmu/smpboot.c)
   * File 3: Page tables update. (mmu/pt.c)

Ideally file 1 should contain only init code/data so it can be marked as 
.init. So the static pagetables may want to be defined in mmu/pt.c.

Bertrand, Stefano, any thoughts?

[...]

> diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
> index e05cca3f86..889ada6b87 100644
> --- a/xen/arch/arm/mmu/setup.c
> +++ b/xen/arch/arm/mmu/setup.c
> @@ -329,6 +329,33 @@ void __init setup_mm(void)
>   }
>   #endif
>   
> +/*

Why did the second '*' disappear?

> + * copy_from_paddr - copy data from a physical address
> + * @dst: destination virtual address
> + * @paddr: source physical address
> + * @len: length to copy
> + */
> +void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
> +{
> +    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
> +
> +    while (len) {
> +        unsigned long l, s;
> +
> +        s = paddr & (PAGE_SIZE-1);
> +        l = min(PAGE_SIZE - s, len);
> +
> +        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
> +        memcpy(dst, src + s, l);
> +        clean_dcache_va_range(dst, l);
> +        clear_fixmap(FIXMAP_MISC);
> +
> +        paddr += l;
> +        dst += l;
> +        len -= l;
> +    }
> +}
> +
>   /*
>    * Local variables:
>    * mode: C

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 21 21:34:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 Aug 2023 21:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587903.919307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYCXq-0002YB-J8; Mon, 21 Aug 2023 21:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587903.919307; Mon, 21 Aug 2023 21:34:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYCXq-0002Y4-GA; Mon, 21 Aug 2023 21:34:42 +0000
Received: by outflank-mailman (input) for mailman id 587903;
 Mon, 21 Aug 2023 21:34:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYCXp-0002Xy-LJ
 for xen-devel@lists.xenproject.org; Mon, 21 Aug 2023 21:34:41 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYCXp-0002dO-5T; Mon, 21 Aug 2023 21:34:41 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYCXo-0007eZ-UM; Mon, 21 Aug 2023 21:34:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Qa3s1YolGB3ar4TNKgUfeOUYGBgoB/JRJVVzTqWfkfk=; b=dhBHsRdN371HyC3v7ny5ewVuX9
	GTkta/jGn2/mPg8wB4/TCEHf0VK/97i+2G2b2sZvSOvKzXT07izouQiALMysqEG6U+SPUSpydSi4X
	+4Fo+qx2ztLjqTckEXfHH/y7bHM0Wut+xksFxcDbPiN8OYpBCR3BTcnszUPTi6+CkNfw=;
Message-ID: <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
Date: Mon, 21 Aug 2023 22:34:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-14-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> SMMU subsystem is only supported in MMU system, so we make it dependent
> on CONFIG_HAS_MMU.

"only supported" as in it doesn't work with Xen or the HW is not 
supporting it?

Also, I am not entirely convinced that anything in passthrough would 
properly work with MPU. At least none of the IOMMU drivers are. So I 
would consider to completely disable HAS_PASSTHROUGH.

> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> v5:
> - Add Acked-by tag from Jan.
> v4:
> - No change
> v3:
> - new patch
> ---
>   xen/drivers/passthrough/Kconfig | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 864fcf3b0c..ebb350bc37 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -5,6 +5,7 @@ config HAS_PASSTHROUGH
>   if ARM
>   config ARM_SMMU
>   	bool "ARM SMMUv1 and v2 driver"
> +	depends on MMU
>   	default y
>   	---help---
>   	  Support for implementations of the ARM System MMU architecture
> @@ -15,7 +16,7 @@ config ARM_SMMU
>   
>   config ARM_SMMU_V3
>   	bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" if EXPERT
> -	depends on ARM_64 && (!ACPI || BROKEN)
> +	depends on ARM_64 && (!ACPI || BROKEN) && MMU
>   	---help---
>   	 Support for implementations of the ARM System MMU architecture
>   	 version 3. Driver is in experimental stage and should not be used in

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 00:45:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 00:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587946.919345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFWf-0007eO-Sa; Tue, 22 Aug 2023 00:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587946.919345; Tue, 22 Aug 2023 00:45:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFWf-0007eH-PS; Tue, 22 Aug 2023 00:45:41 +0000
Received: by outflank-mailman (input) for mailman id 587946;
 Tue, 22 Aug 2023 00:45: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=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYFWe-0007P4-Fm
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 00:45:40 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36c014c5-4085-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 02:45:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 82B5660C08;
 Tue, 22 Aug 2023 00:45:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1939AC433C8;
 Tue, 22 Aug 2023 00:45: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: 36c014c5-4085-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692665137;
	bh=qoLgfJQBWiPHTzycW67/vN/z3+TsS+y7d+PacMcrhnY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PKwFWqy4qynyI1zaCBqO4CJ6aTYQe8/EvWMlTJ9cvyQd7TBLGpwkN8tCAhxUCOxKD
	 peqxajrpgYUnLWFyvSbN+VoWLK7dvPaBrpIYLRJpv8l+68r9Vkt+8Xcg38YtSLFMQ2
	 trhykHEy1k1OvFNnuzaZHZtWCGV1VudiAhR3sdNYEBx++CdknGlQiICzaIaB0Bk3AW
	 q3LGqB6BN/g1fFFN4dR4n10lCvc1ysznKapoBbLtbt9Cwe8rWZGNOBD4z+XPY6i6xG
	 cVHZwLBXXY6XAkpE0YfL7zTscf5NRRAPX5XDEHOwlRBsFAj4ZP6ayb2H8CKNZiDCW4
	 VJiUfJEtKR3LA==
Date: Mon, 21 Aug 2023 17:45:35 -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.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 2/2] automation: avoid pipelines on specific
 branches
In-Reply-To: <8ca21d49e7b95e788a4c092c1b8dcd3d1245d638.1692607487.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308211744110.6458@ubuntu-linux-20-04-desktop>
References: <cover.1692607487.git.simone.ballarin@bugseng.com> <8ca21d49e7b95e788a4c092c1b8dcd3d1245d638.1692607487.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 Mon, 21 Aug 2023, Simone Ballarin wrote:
> This patch avoids the execution of pipelines in the
> following branches:
> - master
> - smoke
> - coverirty-tested/.*
> - stable-.*
> 
> The job-level exclusions have been removed as they are
> pointless with this new workspace-level exclusion.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
> - remove useless except clause in .yocto-test.
> ---
>  .gitlab-ci.yml                  |  6 ++++++
>  automation/gitlab-ci/build.yaml | 11 -----------
>  automation/gitlab-ci/test.yaml  |  5 -----
>  3 files changed, 6 insertions(+), 16 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index ee5430b8b7..ef4484e09a 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -1,3 +1,9 @@
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> +
>  stages:
>    - analyze
>    - build
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 1a4a5e490d..b633facff4 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -12,11 +12,6 @@
>        - '*/*.log'
>      when: always
>    needs: []
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .gcc-tmpl:
>    variables: &gcc
> @@ -214,11 +209,6 @@
>  .yocto-test:
>    stage: build
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>    script:
>      - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT}
>    variables:
> @@ -269,7 +259,6 @@
>  .test-jobs-artifact-common:
>    stage: build
>    needs: []
> -  except: !reference [.test-jobs-common, except]
>  
>  # Arm test artifacts
>  
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 810631bc46..8737f367c8 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -1,11 +1,6 @@
>  .test-jobs-common:
>    stage: test
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .arm64-test-needs: &arm64-test-needs
>    - alpine-3.18-arm64-rootfs-export
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 00:45:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 00:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587945.919336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFWb-0007PH-Mr; Tue, 22 Aug 2023 00:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587945.919336; Tue, 22 Aug 2023 00: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 1qYFWb-0007PA-IY; Tue, 22 Aug 2023 00:45:37 +0000
Received: by outflank-mailman (input) for mailman id 587945;
 Tue, 22 Aug 2023 00:45:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYFWZ-0007P4-VD
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 00:45:36 +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 330804d3-4085-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 02:45:33 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 257B060C08;
 Tue, 22 Aug 2023 00:45:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6E1CC433C9;
 Tue, 22 Aug 2023 00:45:30 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 330804d3-4085-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692665131;
	bh=LGFvy6Cve+NiEbSpSdmRmU4wTER060so0bQr8Z7NCY8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=biWlCxfMKKnbpA+ecGXfPQPT1f/2UrO5kT3sTe+CiyYqoerZ4ssbF2jssXHfp0QSI
	 t45pmcCkAbdYV9f1opxegyPDx2JQoha7RX9NRKt28pfqvrp7oOpEb+wUo7/Ypb1neU
	 jm0PlGvgKnqYi4Fwh85D2A9YfsGr4O5WZCPwlJ1+C4nzBSD7PONDqHIQFixKdq57e1
	 LGzcbNH4lsBNEcPznEcj+WKXQk6tr394L7PSoXS/q9NvUBgKQf2RO8CLCGU5lUqRoZ
	 ssHiu/JO2qzd1UhRFbqL2wCuo6PE542Z2zwk9es9YTWMLElF28Y57gf0JtJ2u2ztJS
	 l9+N+K14FVsgQ==
Date: Mon, 21 Aug 2023 17:45:29 -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.cooper3@citrix.com, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 1/2] automation/eclair: avoid unintentional ECLAIR
 analysis
In-Reply-To: <4de9a2e93015b12186675b9a3f7ebff7fcd71baa.1692607487.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308211745150.6458@ubuntu-linux-20-04-desktop>
References: <cover.1692607487.git.simone.ballarin@bugseng.com> <4de9a2e93015b12186675b9a3f7ebff7fcd71baa.1692607487.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 Mon, 21 Aug 2023, Simone Ballarin wrote:
> With this patch, ECLAIR jobs will need to be manually
> started for "people/.*" pipelines and will not be triggered
> if the WTOKEN variable is missing.
> 
> This avoids occupying the runner on analyzes that might
> not be used by developers.
> 
> If developers want to analyze their own repositories
> they need to launch them from GitLab.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Great job!

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
> - avoid ECLAIR jobs if the WTOKEN variable is not defined.
> ---
>  automation/gitlab-ci/analyze.yaml | 22 +++++++++++++++++-----
>  automation/scripts/eclair         |  5 -----
>  2 files changed, 17 insertions(+), 10 deletions(-)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 4aa4abe2ee..bd9a68de31 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -18,28 +18,40 @@
>        - '*.log'
>      reports:
>        codequality: gl-code-quality-report.json
> +  rules:
> +    - if: $WTOKEN == null
> +      when: never
> +    - when: always
>    needs: []
>  
> -eclair-x86_64:
> +.eclair-analysis:triggered:
>    extends: .eclair-analysis
> +  allow_failure: true
> +  rules:
> +    - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> +      when: manual
> +    - !reference [.eclair-analysis, rules]
> +
> +eclair-x86_64:
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  eclair-ARM64:
> -  extends: .eclair-analysis
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis
>    rules:
> -    - if: $CI_PIPELINE_SOURCE == "schedule"
> +    - if: $CI_PIPELINE_SOURCE != "schedule"
> +      when: never
> +    - !reference [.eclair-analysis, rules]
>  
>  eclair-x86_64-Set1:on-schedule:
>    extends: .eclair-analysis:on-schedule
> diff --git a/automation/scripts/eclair b/automation/scripts/eclair
> index 813a56eb6a..14e47a6f97 100755
> --- a/automation/scripts/eclair
> +++ b/automation/scripts/eclair
> @@ -4,11 +4,6 @@ ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
>  ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
>  ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
>  
> -if [ -z "${WTOKEN:-}" ]; then
> -    echo "Failure: the WTOKEN variable is not defined." >&2
> -    exit 1
> -fi
> -
>  "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"
>  
>  ex=0
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:02:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587960.919355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFmp-0004Pr-DX; Tue, 22 Aug 2023 01:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587960.919355; Tue, 22 Aug 2023 01:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFmp-0004Pk-8a; Tue, 22 Aug 2023 01:02:23 +0000
Received: by outflank-mailman (input) for mailman id 587960;
 Tue, 22 Aug 2023 01: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=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYFmn-0004Pe-Nd
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:02:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b2a5354-4087-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 03:02:20 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CCBE66270F;
 Tue, 22 Aug 2023 01:02:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2EE35C433C8;
 Tue, 22 Aug 2023 01:02:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b2a5354-4087-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692666138;
	bh=9IaAwidUTFekLCuEocezif/1Reboazonr9m+Bz5jBUA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UYjTFzUqaMLMMYX0ienjFbYcMkXQGqNOUVux8WrBRN2MyFgtGHKznwZ1oX1Gifu8g
	 7g3Hm5clKS979LguZYO/czLIaLhluV989LWDBdKzhzGIjIy9wkIAldd47MZmiY2DxI
	 KgyYLwdYXZFD+J0AX9nphVJ+Aev0oew/D+MIsHlK0zAj54k/Yo/I4iS6KzRI+5JCo2
	 214pGIC8G7wNDjgEO6gVIHUQFSyMAdLahgDeoQWixk9Jzo6KTyR3CMcP1MkuN6u8rP
	 w1UWN5rOtBeSzn6WopkSvFRr9BKrHMX81/pYEykbvopTdQ9OnIHUBLmtsScxG8MnXY
	 DjxcbaooyKF/A==
Date: Mon, 21 Aug 2023 18:02:15 -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, 
    roger.pau@citrix.com, julien@xen.org, bertrand.marquis@arm.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: document gcc-specific behavior with shifting
 signed integers
In-Reply-To: <d52880c4-96e1-58de-d51e-8a5fbd784de7@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308211802060.6458@ubuntu-linux-20-04-desktop>
References: <20230819003303.1744466-1-sstabellini@kernel.org> <d52880c4-96e1-58de-d51e-8a5fbd784de7@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, 21 Aug 2023, Jan Beulich wrote:
> On 19.08.2023 02:33, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > Changes in v2:
> > - use "shift" instead of << or >>
> > - use All Architectures (I haven't changed all the other instances of
> > x86/arm in the file yet)
> > ---
> >  docs/misra/C-language-toolchain.rst | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> > index 785aed1eaf..f5ca7bd2c8 100644
> > --- a/docs/misra/C-language-toolchain.rst
> > +++ b/docs/misra/C-language-toolchain.rst
> > @@ -200,6 +200,12 @@ The table columns are as follows:
> >       - ARM64, X86_64
> >       - See Section "6.29 Designated Initializers" of GCC_MANUAL
> >  
> > +   * - Signed shift acts on negative numbers by sign extension
> > +     - All architectures
> > +     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
> > +       C language, GCC does not use the latitude given in C99 and C11
> > +       only to treat certain aspects of signed shift as undefined.
> 
> I'm sorry, but that's still not what the doc says. Replacing << and >> by
> "shifts" was imo wrong. What's needed instead is that either this is split
> into two top-level bullet points (one for << and one for >>), or the first
> sub-bullet-point (which acts as kind of the title) be generalized, with
> the << and >> details fully moved to the "explanatory" sub-bullet-point.

I think I got your point now


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:02:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587962.919365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYFnB-0004n6-Kv; Tue, 22 Aug 2023 01:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587962.919365; Tue, 22 Aug 2023 01: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 1qYFnB-0004mz-Ha; Tue, 22 Aug 2023 01:02:45 +0000
Received: by outflank-mailman (input) for mailman id 587962;
 Tue, 22 Aug 2023 01:02: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=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYFnA-0004md-2K
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:02:44 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97d65bf5-4087-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 03:02:41 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 70A3360D2C;
 Tue, 22 Aug 2023 01:02:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A4F5C433C8;
 Tue, 22 Aug 2023 01:02: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: 97d65bf5-4087-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692666159;
	bh=oqGlp1QphlXQd9In5/s+e5b8lust1hznp7EARgpYgxo=;
	h=From:To:Cc:Subject:Date:From;
	b=i7jsHgtKgkbofj7zS1N1gdJh+tXpYN9+TSPQmR4CqQXw5jl8Yl+x8fMqIScIgFeqk
	 eqSGj8KjcGoIdXqNhHsMw/dSdB5oOhZcsfzwayxdOJU/6TriGXo6DrzA1DIbChL1R7
	 qMQwrOXUROPv1TISn/SifX0xgfkegB9Pbuc4CoasvF8FsXwKV8fxP1MvRJpvtyvZor
	 T18RSxFeAgNeKLA3AdHIw8bvK2MTykpx4ereY/PnKdi5NMuzGwUmrVFtW/u4SxSnup
	 M1MXhHeZLDfWZU9rPnFUjYUShjYNx/J+LjOpvRiOmd0GF1iAROBgyab0IUejwuH4tQ
	 E/rga4iWQqirQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] docs/misra: document gcc-specific behavior with shifting signed integers
Date: Mon, 21 Aug 2023 18:02:28 -0700
Message-Id: <20230822010228.2517542-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
v2:
- split << and >>
- do not use the word "shift" instead of << or >>
---
 docs/misra/C-language-toolchain.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 785aed1eaf..4c4942a113 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -200,6 +200,15 @@ The table columns are as follows:
      - ARM64, X86_64
      - See Section "6.29 Designated Initializers" of GCC_MANUAL
 
+   * - Signed << compiler-defined behavior
+     - All architectures
+     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
+       C language, GCC does not use the latitude given in C99 and C11
+       only to treat certain aspects of signed << as undefined.
+
+   * - Signed >> acts on negative numbers by sign extension
+     - All architectures
+     - See Section "4.5 Integers" of GCC_MANUAL.
 
 Translation Limits
 __________________
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:17:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:17:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587974.919375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYG1I-0006lm-RP; Tue, 22 Aug 2023 01:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587974.919375; Tue, 22 Aug 2023 01: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 1qYG1I-0006le-OT; Tue, 22 Aug 2023 01:17:20 +0000
Received: by outflank-mailman (input) for mailman id 587974;
 Tue, 22 Aug 2023 01:17: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 1qYG1H-0006lT-CB; Tue, 22 Aug 2023 01:17: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 1qYG1H-0001va-1W; Tue, 22 Aug 2023 01:17:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYG1G-0007gz-Go; Tue, 22 Aug 2023 01:17:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYG1G-0007JQ-Fx; Tue, 22 Aug 2023 01:17:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0s4ahMLHJygkHJhINDxGePvdLr60EJluP4mCQCvuTRk=; b=K9ZkmOvWH7AMmx5INUGwfufvq+
	bhlV9SgrOLYp3G+uE290sIW1uLlcClrEt1MaNsUg2kdPGDEencDgB1G1Oj+WERkZEYGlvbwBP1ooi
	LmKaUqROZYe/0MK88uVVTEKbYuoV3uVfTM8T5ae0N9q6axfPBlZNV/7JZVgs+ovoyHA8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182410-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182410: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-xl-shadow: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl: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-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-libvirt:migrate-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-arndale: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-arndale:saverestore-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-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8d84be5b557b27e9cc53e48285aebad28a48468c
X-Osstest-Versions-That:
    xen=322a20add00a4687cd46d9183616fa6fecbef81f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 01:17:18 +0000

flight 182410 xen-4.17-testing real [real]
flight 182415 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182410/
http://logs.test-lab.xenproject.org/osstest/logs/182415/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow 22 guest-start/debian.repeat fail pass in 182415-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182237
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182237
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182237
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182237
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182237
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182237
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182237
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182237
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182237
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182237
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182237
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182237
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  8d84be5b557b27e9cc53e48285aebad28a48468c
baseline version:
 xen                  322a20add00a4687cd46d9183616fa6fecbef81f

Last test of basis   182237  2023-08-08 17:08:09 Z   13 days
Testing same since   182410  2023-08-21 14:09:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   322a20add0..8d84be5b55  8d84be5b557b27e9cc53e48285aebad28a48468c -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587986.919397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGDv-0000xM-1K; Tue, 22 Aug 2023 01:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587986.919397; Tue, 22 Aug 2023 01:30: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 1qYGDu-0000xF-UN; Tue, 22 Aug 2023 01:30:22 +0000
Received: by outflank-mailman (input) for mailman id 587986;
 Tue, 22 Aug 2023 01:30: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=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYGDt-0000x3-7p
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:30:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7414f001-408b-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 03:30:19 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 365EF631CD;
 Tue, 22 Aug 2023 01:30:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D4BAC433C9;
 Tue, 22 Aug 2023 01:30: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: 7414f001-408b-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692667817;
	bh=x7ZIUaab4xQmU47UhZ5g+A3jXBvHCK6jXJMADn63+h8=;
	h=From:To:Cc:Subject:Date:From;
	b=Bxt3gNtorgJ3Ch3z5sjXPayTQ58QZinFGNNUdWouHsTYaMyhNnIKM+w/1jdrpbOV8
	 Wq9d52IhYsKwMFcf9hu32m9OmFRdXAD9STauhcs9bex2cUvoLdlEc+mQYWp/ib4Izq
	 OO3ku68lTcSsa1Tv+qGxtG7Z4Wm9fyU6xcJzRISYqK+TDvJJQuXvuoYyH5+bulBW/H
	 MSUs3B9E6Js31yZ+UjWaSR4AfzbZDqHy/SnNIhrWm0xyiAe/amgDfLieueI5H1FFnh
	 +cdF16AdjHNKdYuyQOS8agQAqlLOrXoBLyYdOgWhcnXXywN5hk9AEzZI5w4sV/v60M
	 1YyAcPXR1fxUw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] docs/misra: add exceptions to rules
Date: Mon, 21 Aug 2023 18:30:14 -0700
Message-Id: <20230822013014.2523202-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

During the discussions that led to the acceptable of the Rules, we
decided on a few exceptions that were not properly recorded in
rules.rst. Other times, the exceptions were decided later when it came
to enabling a rule in ECLAIR.

Either way, update rules.rst with appropriate notes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
v2:
- remove autogenerated from D4.10
- remove R2.1
- remove R5.6
- remove R7.1
- reword R8.3
---
 docs/misra/rules.rst | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25..62bd4620fd 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
      - Required
      - Precautions shall be taken in order to prevent the contents of a
        header file being included more than once
-     -
+     - Files that are intended to be included more than once do not need to
+       conform to the directive
 
    * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
      - Required
@@ -117,7 +131,7 @@ maintainers if you want to suggest a change.
      - Required
      - The character sequences /* and // shall not be used within a
        comment
-     -
+     - Comments containing hyperlinks inside C-style block comments are safe
 
    * - `Rule 3.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_03_02.c>`_
      - Required
@@ -239,13 +256,16 @@ maintainers if you want to suggest a change.
      - Required
      - All declarations of an object or function shall use the same
        names and type qualifiers
-     -
+     - The type ret_t maybe be deliberately used and defined as int or
+       long depending on the type of guest to service
 
    * - `Rule 8.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_04.c>`_
      - Required
      - A compatible declaration shall be visible when an object or
        function with external linkage is defined
-     -
+     - Allowed exceptions: asm-offsets.c (definitions for asm modules
+       not called from C code), gcov_base.c (definitions only used in
+       non-release builds)
 
    * - `Rule 8.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_05_2.c>`_
      - Required
@@ -369,7 +389,9 @@ maintainers if you want to suggest a change.
      - Required
      - Expressions resulting from the expansion of macro parameters
        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
 
    * - `Rule 20.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_20_13.c>`_
      - Required
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587987.919402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGDv-00010L-BU; Tue, 22 Aug 2023 01:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587987.919402; Tue, 22 Aug 2023 01:30: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 1qYGDv-0000zK-5l; Tue, 22 Aug 2023 01:30:23 +0000
Received: by outflank-mailman (input) for mailman id 587987;
 Tue, 22 Aug 2023 01:30: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=MiiM=EH=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYGDt-0000x4-9o
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:30:21 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72979f87-408b-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 03:30:18 +0200 (CEST)
Received: from MW4PR04CA0146.namprd04.prod.outlook.com (2603:10b6:303:84::31)
 by DM4PR12MB7766.namprd12.prod.outlook.com (2603:10b6:8:101::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 01:30:13 +0000
Received: from CO1PEPF000044EF.namprd05.prod.outlook.com
 (2603:10b6:303:84:cafe::1d) by MW4PR04CA0146.outlook.office365.com
 (2603:10b6:303:84::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 01:30:13 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044EF.mail.protection.outlook.com (10.167.241.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Tue, 22 Aug 2023 01:30:12 +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.27; Mon, 21 Aug
 2023 20:30:10 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 20:30: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: 72979f87-408b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MP0zm67+1B4m35uORS/grVn/DkDd8FJeh/nsU2MVb9nFeuBO4CFZXXbAJK9xEjxiTLf5Zqi3eLlg3mpYmSG1wdhRs6PfJYSkNjJIEqagJpBzIy5t5PL82xo8glOTIWiCbOcT/7bmGR8R4M8GKxDc4y4FEMXLyLobp4vJPyck1rCYdSBh1fxr1DMweFTwLS4bxUX6ofBmWRlyq94wtZgvt1c1gO/zvTLCYSQs9k+exSeZ5Z4BLl/Y9vHetkecJ5Ervk+++uqO+bWdOURZIynh+IheyMF1OwiXWvf5XQjwtKZrTcAdj1A0baCnHO7N5KVhisMJi07XEjWzE/e8mhCCfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VL6lMQVeMDc9PDrdGemq8BetWEBzdrBiDPf1TKvHKwo=;
 b=n34YAKLAvY/z7MH9KQW1D1+65RO62aCdcuayRxq/3ZpyGO3GXAkswRURaQII27jH2176CC0HtWElriDZnWBvmuqFEqVrEpvQWOvNMXTaGWQ5F+4dBhY0LgCAAaM53UWMgggFlSCILDof94lxDP7AM8936RkfU2ffSDbu5hUpJID/u7z+p8iOqdAAADfQQRm7yFbz5mYd55lGraj6D5nv4ELgD6Bkg3AFCX+V/SD+10MQ5yEhUpRO8OZQhX7KvtwvGVXga8PL+e2+TRAUpwaNwpdPFqJooqCYetDBRfBccRB9AuvErXFgmCMjYUWcrUJk37PtkHVTWwCd7iPkMn8Opw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VL6lMQVeMDc9PDrdGemq8BetWEBzdrBiDPf1TKvHKwo=;
 b=pCJSMgRu14HXaTtcBweUAwcAkBMXUCSEMtbEIql9TzLV3oAtBIoxmOC2NedZHIJzB9JbmMg2QCDLbitVEZL7VAxze2qPm4mRGDduhjeFmflGTW25K/IITBWPTpcl1Ox41hbh4Fm4iQ65rrcmg7R96185AcyXd9McYF0rAeZV5ik=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v3 0/4] vPCI capabilities filtering
Date: Mon, 21 Aug 2023 21:29:48 -0400
Message-ID: <20230822012955.312930-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044EF:EE_|DM4PR12MB7766:EE_
X-MS-Office365-Filtering-Correlation-Id: b196264d-ae01-4631-d8b4-08dba2af5486
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YQA9CwIotRzSoOh5NxcbH+bIEW7GfZV+g5Z0HCWxNnEqGpLeEMQWP0R8SKzxvU+eK/JByoUCfY47IHUzJSyBQHSpoUwHI7PJlmO4ENTWabWMgC5zma/X5cuvB5XVZQNmPo1KH58q4Mzp0s0kCZzrcs0UtLzkqbhqE/Ww1gAA9liXt+gVEzYEYp2HLbgoNJMhNZyjJJWGdYi6ENjOrzfi+6q8g6+TSCxu/x0MVAZw2Snu6KaPWGFHdYlQ3cLoEWcPZr1rps0HcvmaCscDvtogwzUgKuys/62JeBbL7ArtHSc3QG1zuGdMLCFnlO9OXo8lzi2zcop9GZEdhfk5Y3LLHM7MVWAcUNY1GvckW8T2n6zksosC67ynUelonLqeIaJzIocjKCBHq+XxPkCjdr61I5YB35AFk70einf5PhGqP+nW7sgJNRLvOgu6UZbWOm9Chy9Q+wCqzPLBvuzzeiW9frJKaNZ+gLDwEE6QOUqNmIH5qLCB6Ez0E0u+hFCMS/6asOXmQxS009Xvun5NX3mzT6S9bdnod1Uhd/Z5qcUZFiX9oWJawrElct6clJfXfXJzZ/MCnANb3wGy3Av3aUVudev69EFKU54HxwSxcjJlbV9+wJAwpngcG/xl/hpL9RzwPzdsYwSvfVJCpN7e9tve6rQ+qVQEtyvQInMgUHUGWUNMr7CCYB8PQH53AwUN7q01Jpd2nsd5gWF3K86PTVmpgcSqvlaRqoh9A/bKhAfIIDpqpR/XEu5L05CC+yk5E9MJ3IqsxmnOQlzaepPluvS9iA==
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)(4636009)(396003)(136003)(39860400002)(346002)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70586007)(6916009)(66899024)(70206006)(316002)(8936002)(8676002)(2616005)(4326008)(1076003)(40460700003)(41300700001)(36756003)(82740400003)(356005)(81166007)(478600001)(966005)(6666004)(40480700001)(2906002)(7416002)(83380400001)(86362001)(47076005)(36860700001)(336012)(44832011)(426003)(5660300002)(26005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 01:30:12.2438
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b196264d-ae01-4631-d8b4-08dba2af5486
X-MS-Exchange-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:
	CO1PEPF000044EF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7766

This small series enables vPCI to filter which PCI capabilities we expose to a
domU. This series adds vPCI register handlers within
xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.

Note there are minor rebase conflicts with the in-progress vPCI series [1].
These conflicts fall into the category of functions and code being added
adjacent to one another, so are easily resolved. I did not identify any
dependency on the vPCI locking work, and the two series deal with different
aspects of emulating the PCI header.

Future work may involve adding handlers for more registers in the vPCI header,
such as VID/DID, etc. Future work may also involve exposing additional
capabilities to the guest for broader device/driver support.

v2->v3:
* drop RFC "xen/vpci: header: avoid cast for value passed to vpci_read_val"
* minor misra C violation fixup in preparatory patch
* switch to pci_sbdf_t in preparatory patch
* introduce status handler

v1->v2:
* squash helper functions into the patch where they are used to avoid transient
  dead code situation
* add new RFC patch, possibly throwaway, to get an idea of what it would look
  like to get rid of the (void *)(uintptr_t) cast by introducing a new memory
  allocation

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html

Stewart Hildebrand (4):
  xen/pci: address a violation of MISRA C:2012 Rule 8.3
  xen/pci: convert pci_find_*cap* to pci_sbdf_t
  xen/vpci: header: filter PCI capabilities
  xen/vpci: header: status register handler

 xen/arch/x86/msi.c                         | 47 +++--------
 xen/drivers/char/ehci-dbgp.c               |  3 +-
 xen/drivers/passthrough/amd/iommu_detect.c |  2 +-
 xen/drivers/passthrough/ats.c              |  4 +-
 xen/drivers/passthrough/ats.h              |  6 +-
 xen/drivers/passthrough/msi.c              |  6 +-
 xen/drivers/passthrough/pci.c              | 20 ++---
 xen/drivers/passthrough/vtd/quirks.c       | 10 +--
 xen/drivers/passthrough/vtd/x86/ats.c      |  3 +-
 xen/drivers/pci/pci.c                      | 50 +++++++-----
 xen/drivers/vpci/header.c                  | 93 ++++++++++++++++++++++
 xen/drivers/vpci/msi.c                     |  4 +-
 xen/drivers/vpci/msix.c                    |  4 +-
 xen/drivers/vpci/vpci.c                    | 53 +++++++++---
 xen/include/xen/pci.h                      | 11 ++-
 xen/include/xen/vpci.h                     | 14 ++++
 16 files changed, 221 insertions(+), 109 deletions(-)


base-commit: 3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:31:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.587995.919418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGEe-00021I-SU; Tue, 22 Aug 2023 01:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 587995.919418; Tue, 22 Aug 2023 01:31: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 1qYGEe-00021B-Mg; Tue, 22 Aug 2023 01:31:08 +0000
Received: by outflank-mailman (input) for mailman id 587995;
 Tue, 22 Aug 2023 01:31: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=MiiM=EH=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYGEd-0000x4-E3
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:31:07 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f54285e-408b-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 03:31:05 +0200 (CEST)
Received: from SJ0PR05CA0059.namprd05.prod.outlook.com (2603:10b6:a03:33f::34)
 by CY8PR12MB7414.namprd12.prod.outlook.com (2603:10b6:930:5e::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 01:31:01 +0000
Received: from CO1PEPF000042AD.namprd03.prod.outlook.com
 (2603:10b6:a03:33f:cafe::b5) by SJ0PR05CA0059.outlook.office365.com
 (2603:10b6:a03:33f::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6723.14 via Frontend
 Transport; Tue, 22 Aug 2023 01:31:01 +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.6699.14 via Frontend Transport; Tue, 22 Aug 2023 01:31: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.27; Mon, 21 Aug
 2023 20:30: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.27; Mon, 21 Aug
 2023 20:30:34 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 20:30:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f54285e-408b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m4WdhzEJ06FDB4ekZ+JGQ2ejilZ3m4iTzIFV/aeMTKcj9oDZiLKgWgVX1KcihrirBORH53syIgjXv4eN87MJ2si5MLYvAG6dr2+p13yiIHhZheoxBc6c0Cdrhlt8hHAFAmDSRnFVTvWpNRtfNu8fLxocDmbbV2DEu4fi933hBEprEP1yU44MjCR72iwq1qo2R6nKMjMEJfQILo30IQ4dyTcSyPj8xR5+bPgXQbnYdDnBMv9PD0FVZFamvw+zcoXIAXd8PJD3f4t3pAIDwj6kI/GFf2j/tsr3en4bN/Kfn/t4pmkT4aenIuTjM8QWXHNFwwrzf2BOb/F0WbiOJt+aAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5oL8/mLXOI79PD0AEV7EPeuneKGMtclOpYPZNKxydew=;
 b=WfrTgmYedw6X+swMhkiUdPSnXgd7wOAqMa+CsyIL+F2tbohoLFccyKNjh7BrCkq6+1aTo6BRmiuC49ehDq+pR9Z2sa9QC6D5F9KOS9nDgcxPAb4HdV14/QGVtTf8V5aI15htpXOsPyi8DCq2Z4HRbdsIhazb7VEKgIq+1RKBlXT0LCUUyLrGLyTg4P7vtEYM+Zz2AF/9jZxJbPN4XA1sCNg9P2OwGkpA0A/zKxZj058bmuWatMnqzYjk2oHBgW6rleTnWzf/s3pm3Vu6eGTbXa8ZjoDmNW2KpW8+F5uxGAIX8vMNu+cQgzZwfIr9M3yDgQKmoYmMlm4Flb1orCd0XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5oL8/mLXOI79PD0AEV7EPeuneKGMtclOpYPZNKxydew=;
 b=xrJiYlomGx1oG5ZCnKJYFl4tsFEZruyhSmBmhbPceZ+GCfWfzYG1gUjYKja6j92IkyrrOqfYTzTDfgCkBovdcMqy1WqoSHHC5O3jNhZosK9Hn3xE+Zx7gw3tBTWXbWkolYyQxonEKQESLEuvob5dKWc9fWbWp4ka1iBx4Ufqq4Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/4] xen/pci: address a violation of MISRA C:2012 Rule 8.3
Date: Mon, 21 Aug 2023 21:29:49 -0400
Message-ID: <20230822012955.312930-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230822012955.312930-1-stewart.hildebrand@amd.com>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AD:EE_|CY8PR12MB7414:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d7cdd29-a747-4aa5-7240-08dba2af716d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JQaaAb5rIfVljNLCymAZsdvg09nnVBRrV7eHjCXyw/7WfCzcOhbNyzzISmtXBFfc1enZSTOEZ9bjH5mAzW6jUIwPZIOBebanCu+Y20EhDs4YweCy9TUZhlG3rPz0oaJYjCBuUXCeBMGPyQcxalfR7d5HHI8EfRFV9Zq1DKV0owT6BRO/sKp6RiPk9I8JOYlGvNyjyfHcr02NnkHL0AVZP2ilPMdhqbhlp+sPuGy167jFBIFv4k1QRHxXXoqszf51wzy+hATgbhlC+f8FqoSFlVcKveKgMGfgLJMZqu4FrSfGylvYuSDu1Lbs4BKmab2LNtqHAiChJA885HTLP3sU9JIJPP+Kpq1jJe1WL1zX1j+yFnoQ8g3aLPnXfviTs8MHjg0B8lqhYlyhmRrYPcAPlkjV/xlKC5Rnho44swE69gLhvU2QnN/XubDiilRX6NqKCHlUTPv3sxpGZg9jJW7PErftIrL8qANYkb+FrbrqL4ZD79fzQqvlv7Y5yzYsZbT5qn59iEdcTTW8WDu5v3IbQ8WAhH+KnA5tbn5FsrZiZiMjHG43Pi5Sni2WZTSmBqIHAKNKjR5WWO5BzW2G4HUgbJs4kQyByCDF+Ip/xjwOGTg5aG9qC9lrnV/hH8W10DBnnCtmKp4K+IuTBvPW0uInTul8U6cxNUSIqrWSYXrgc4pJmdIA9shrX4ADO7xK7q9W95XaJIKA8iZPX0HLixYfi573B85RXqSau87XObnhrWzrX5x7fstAmd46Rkod1EwNAEPJyFlNSB4dWnEfo8sCEw==
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)(4636009)(346002)(39860400002)(136003)(376002)(396003)(82310400011)(451199024)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(40480700001)(83380400001)(5660300002)(44832011)(336012)(426003)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(70586007)(6916009)(54906003)(478600001)(356005)(82740400003)(81166007)(6666004)(36756003)(41300700001)(40460700003)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 01:31:00.7312
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d7cdd29-a747-4aa5-7240-08dba2af716d
X-MS-Exchange-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: CY8PR12MB7414

Make the paramater names of the prototype match the definition. No functional
change.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v2->v3:
* new patch
---
 xen/drivers/pci/pci.c | 2 +-
 xen/include/xen/pci.h | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index e411876a1518..c73a8c4124af 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -80,7 +80,7 @@ int pci_find_ext_capability(int seg, int bus, int devfn, int cap)
 /**
  * pci_find_next_ext_capability - Find another extended capability
  * @seg/@bus/@devfn: PCI device to query
- * @pos: starting position
+ * @start: starting position
  * @cap: capability code
  *
  * Returns the address of the requested extended capability structure
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 5975ca2f3032..a8c8c4ff11c3 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -196,7 +196,8 @@ int pci_mmcfg_write(unsigned int seg, unsigned int bus,
 int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
 int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
 int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
-int pci_find_next_ext_capability(int seg, int bus, int devfn, int pos, int cap);
+int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
+                                 int cap);
 const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus,
                       unsigned int *dev, unsigned int *func);
 const char *parse_pci_seg(const char *, unsigned int *seg, unsigned int *bus,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:31:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588001.919427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGF3-0002VB-3P; Tue, 22 Aug 2023 01:31:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588001.919427; Tue, 22 Aug 2023 01:31: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 1qYGF3-0002V4-0D; Tue, 22 Aug 2023 01:31:33 +0000
Received: by outflank-mailman (input) for mailman id 588001;
 Tue, 22 Aug 2023 01: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=MiiM=EH=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYGF1-0000x4-1U
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:31:31 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20610.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cc527ed-408b-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 03:31:28 +0200 (CEST)
Received: from MW4PR04CA0386.namprd04.prod.outlook.com (2603:10b6:303:81::31)
 by CH0PR12MB8531.namprd12.prod.outlook.com (2603:10b6:610:181::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 01:31:24 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:303:81:cafe::af) by MW4PR04CA0386.outlook.office365.com
 (2603:10b6:303:81::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 01:31:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Tue, 22 Aug 2023 01:31: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.27; Mon, 21 Aug
 2023 20:31:21 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 20:31: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: 9cc527ed-408b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bpyQdlPYuaT7L+0tvcW8UVhtSzAikGq7V1RtNyl7qQOPhFH7Q7I8gf8yi2PEJB6nxrbSx72hSjyn2qZqgOR63Ri0pfx34nRfJloMvfxS594QxTpxYBZArXo9MLsm6lIzIM304qJKjrbFF9ClYDUmv/eATu1mEelKaKn130b5uWQsYWT2ui/0XGHU+BNL9xvkqGAZosFGWRzhMF4p2Vwvm1ysetVYGWveN1PLO9H1zQwo8DJJmnTVlmCewH1P//uZMSO3d3R1hRJznaMSFS63ZJ+YpMJqUuOFGs+xO63+lcx8JBONaO4FiWX1tJUB3Q7llmvzt9Y9W0u+HYPdGbLhrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z48CuLPSHvch6OlJ6rBBQjOhGn404jnXwk0sx8bu/wA=;
 b=cCs0EnuIddXvqkkCND40qU8Tpx1uqnJipnm+cUIpb7OCFjiPxjRb/xDykgzOXNUAGkvR3kcj8+sO4uAyJMRooR+ifM6Xd5FRE/79jyovKJXjSKZnZlszhI3/fTEbiIMG0wHikn7Ayfd5ER8mMsRI6/4NoZUbuUEsz9Gof+cIBQJB+XRZFo1eb2yRSa34VgXoBasuyTyKYLRtpzVoxuUomkTnCzccLh9KHLdlyTQjAJIU0gFA6kL28y8pbIHekI+lDR9d5e22OeNWWIEt15ti8wYQEuV6S9c5kA2s543wLHqtMW5Dg/zBQv9s8kBQWlPB17GI6rbk8HaQt/UkY/vh/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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z48CuLPSHvch6OlJ6rBBQjOhGn404jnXwk0sx8bu/wA=;
 b=LBaj930kzzLLAfdJmXCmJH73iXI7I2vH7CnCtg8DUtTURYdaJG+eBdj4hB9yA/6bx2//61Z8Vf6/gTq2W7lHIqREbj5ljDipKbygYeeWO7lXjTXmH4aBURyPZqSIGvMNoLmHBJlQ/kdcvqnUM3MsRG+U+Ky9uUcN/rJvojoQb/g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>, Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v3 2/4] xen/pci: convert pci_find_*cap* to pci_sbdf_t
Date: Mon, 21 Aug 2023 21:29:50 -0400
Message-ID: <20230822012955.312930-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230822012955.312930-1-stewart.hildebrand@amd.com>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|CH0PR12MB8531:EE_
X-MS-Office365-Filtering-Correlation-Id: 2379a4e4-acc9-491e-c50c-08dba2af7e9e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D+rUf/7jWu+iLY9fSUbL1lgpk0ZZyiyGag45j8BygHj+jrvIGn+vOrrFA8VwnNQI3ZVZhNTqyPhVS4f3awIcU6vohYgHGGWPFXs9M+iPVYxtjI/J9Bg37cB8dzYAckIeaWJyD8b/vql4+4VfILQqHqEEUod2lp3SglxOSthapHqlSoEM5AugXAwPPzAvED6h+MLltsDfxnEv5T+AN2KjdSan6YkuzoOM25+ahTVdi619TjPR5QRVmBdpz7bLfQzOR7Ghk4npaBtaaMjtEeiwXarU5S3Wm4AMIdPy6yUzW/hQ/cUtGj0HEEtPJ6dGBVyW5xH0zNvq75B3pwHmArk1rXyTqmnZOQIDnapgp/uRtl0UXOHq/A6NDIQ+nft5m53t39SATjrguyMaC+tk9EuJ6iLTDIVwdgY3KxIFFOsgUi/y+Kc9en17BOqsm9jnTOdaBCmg9I8Ac7M2v0JdHERWCKrZAiStI9HC8dwkH3pSQ0Wg7eVDEaBDcZ/zegDPCNS5+9jkany3e8w1/YRKymET5vvC0f1S0H6CkeEzR0wVnhMQpdtYKexsqcH+OSbRvjkEXSdrgAEsmXAXr/CP0mbJm8AtM7HrAILAqV4pifPRBzTyMfllx5Lyq3aREF6wlm/om8Nbne13TxQCXmJgK4vJvPgPvLnKiCBxqEOATMG4OwFCHVlI3qeUzyhSRsoglfYHcwRFARqCz/PNiuo9zW1/rRPRrPWCmUOmeBoLnMzVxJ/PJvnSz5OtydTagI4jNc1gle4mDUT/VCTIBJiAMXyMNg==
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)(4636009)(346002)(39860400002)(136003)(376002)(396003)(82310400011)(451199024)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(30864003)(7416002)(40480700001)(83380400001)(5660300002)(44832011)(336012)(426003)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(70586007)(6916009)(54906003)(478600001)(356005)(82740400003)(81166007)(6666004)(36756003)(41300700001)(40460700003)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 01:31:22.8649
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2379a4e4-acc9-491e-c50c-08dba2af7e9e
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8531

Convert pci_find_*cap* functions and call sites to pci_sbdf_t, and remove some
now unused local variables. No functional change.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
I built with EXTRA_CFLAGS_XEN_CORE="-Wunused-but-set-variable" (and
unfortunately -Wno-error=unused-but-set-variable too) to identify locations of
unneeded local variables as a result of the change to pci_sbdf_t.

v2->v3:
* new patch
---
 xen/arch/x86/msi.c                         | 47 ++++++----------------
 xen/drivers/char/ehci-dbgp.c               |  3 +-
 xen/drivers/passthrough/amd/iommu_detect.c |  2 +-
 xen/drivers/passthrough/ats.c              |  4 +-
 xen/drivers/passthrough/ats.h              |  6 ++-
 xen/drivers/passthrough/msi.c              |  6 +--
 xen/drivers/passthrough/pci.c              | 20 ++++-----
 xen/drivers/passthrough/vtd/quirks.c       | 10 ++---
 xen/drivers/passthrough/vtd/x86/ats.c      |  3 +-
 xen/drivers/pci/pci.c                      | 28 ++++++-------
 xen/drivers/vpci/msi.c                     |  4 +-
 xen/drivers/vpci/msix.c                    |  4 +-
 xen/include/xen/pci.h                      |  9 ++---
 13 files changed, 53 insertions(+), 93 deletions(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1def..13a1f0319a8a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -283,7 +283,7 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
     u8 slot = PCI_SLOT(dev->devfn);
     u8 func = PCI_FUNC(dev->devfn);
 
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSI);
     if ( pos )
         __msi_set_enable(seg, bus, slot, func, pos, enable);
 }
@@ -291,12 +291,9 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
 static void msix_set_enable(struct pci_dev *dev, int enable)
 {
     int pos;
-    u16 control, seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
+    u16 control;
 
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSIX);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
     if ( pos )
     {
         control = pci_conf_read16(dev->sbdf, msix_control_reg(pos));
@@ -318,17 +315,12 @@ static bool msi_set_mask_bit(struct irq_desc *desc, bool host, bool guest)
 {
     struct msi_desc *entry = desc->msi_desc;
     struct pci_dev *pdev;
-    u16 seg, control;
-    u8 bus, slot, func;
+    u16 control;
     bool flag = host || guest, maskall;
 
     ASSERT(spin_is_locked(&desc->lock));
     BUG_ON(!entry || !entry->dev);
     pdev = entry->dev;
-    seg = pdev->seg;
-    bus = pdev->bus;
-    slot = PCI_SLOT(pdev->devfn);
-    func = PCI_FUNC(pdev->devfn);
     switch ( entry->msi_attrib.type )
     {
     case PCI_CAP_ID_MSI:
@@ -608,13 +600,10 @@ static int msi_capability_init(struct pci_dev *dev,
     struct msi_desc *entry;
     int pos;
     unsigned int i, mpos;
-    u16 control, seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
+    u16 control;
 
     ASSERT(pcidevs_locked());
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSI);
     if ( !pos )
         return -ENODEV;
     control = pci_conf_read16(dev->sbdf, msi_control_reg(pos));
@@ -685,8 +674,8 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
     {
         struct pci_dev *pdev = pci_get_pdev(NULL,
                                             PCI_SBDF(seg, bus, slot, func));
-        unsigned int pos = pci_find_ext_capability(seg, bus,
-                                                   PCI_DEVFN(slot, func),
+        unsigned int pos = pci_find_ext_capability(PCI_SBDF(seg, bus, slot,
+                                                            func),
                                                    PCI_EXT_CAP_ID_SRIOV);
         uint16_t ctrl = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
                                         pos + PCI_SRIOV_CTRL);
@@ -777,8 +766,7 @@ static int msix_capability_init(struct pci_dev *dev,
     u8 slot = PCI_SLOT(dev->devfn);
     u8 func = PCI_FUNC(dev->devfn);
     bool maskall = msix->host_maskall, zap_on_error = false;
-    unsigned int pos = pci_find_cap_offset(seg, bus, slot, func,
-                                           PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
 
     if ( !pos )
         return -ENODEV;
@@ -1102,12 +1090,7 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
 static void __pci_disable_msix(struct msi_desc *entry)
 {
     struct pci_dev *dev = entry->dev;
-    u16 seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
-    unsigned int pos = pci_find_cap_offset(seg, bus, slot, func,
-                                           PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
     u16 control = pci_conf_read16(dev->sbdf,
                                   msix_control_reg(entry->msi_attrib.pos));
     bool maskall = dev->msix->host_maskall;
@@ -1211,8 +1194,7 @@ void pci_cleanup_msi(struct pci_dev *pdev)
 
 int pci_reset_msix_state(struct pci_dev *pdev)
 {
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus, pdev->sbdf.dev,
-                                           pdev->sbdf.fn, PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
 
     ASSERT(pos);
     /*
@@ -1234,10 +1216,6 @@ int pci_reset_msix_state(struct pci_dev *pdev)
 int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
                                  unsigned int size, uint32_t *data)
 {
-    u16 seg = pdev->seg;
-    u8 bus = pdev->bus;
-    u8 slot = PCI_SLOT(pdev->devfn);
-    u8 func = PCI_FUNC(pdev->devfn);
     struct msi_desc *entry;
     unsigned int pos;
 
@@ -1245,8 +1223,7 @@ int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
     {
         entry = find_msi_entry(pdev, -1, PCI_CAP_ID_MSIX);
         pos = entry ? entry->msi_attrib.pos
-                    : pci_find_cap_offset(seg, bus, slot, func,
-                                          PCI_CAP_ID_MSIX);
+                    : pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
         ASSERT(pos);
 
         if ( reg >= pos && reg < msix_pba_offset_reg(pos) + 4 )
diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
index 72be4d9cc970..00cbdd5454dd 100644
--- a/xen/drivers/char/ehci-dbgp.c
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -687,7 +687,8 @@ static unsigned int __init __find_dbgp(u8 bus, u8 slot, u8 func)
     if ( (class >> 8) != PCI_CLASS_SERIAL_USB_EHCI )
         return 0;
 
-    return pci_find_cap_offset(0, bus, slot, func, PCI_CAP_ID_EHCI_DEBUG);
+    return pci_find_cap_offset(PCI_SBDF(0, bus, slot, func),
+                               PCI_CAP_ID_EHCI_DEBUG);
 }
 
 static unsigned int __init find_dbgp(struct ehci_dbgp *dbgp,
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
index 2317fa6a7d8d..cede44e6518f 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -27,7 +27,7 @@ static int __init get_iommu_msi_capabilities(
 {
     int pos;
 
-    pos = pci_find_cap_offset(seg, bus, dev, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(PCI_SBDF(seg, bus, dev, func), PCI_CAP_ID_MSI);
 
     if ( !pos )
         return -ENODEV;
diff --git a/xen/drivers/passthrough/ats.c b/xen/drivers/passthrough/ats.c
index 7f7b16dc490c..eec6eec00043 100644
--- a/xen/drivers/passthrough/ats.c
+++ b/xen/drivers/passthrough/ats.c
@@ -24,11 +24,9 @@ boolean_param("ats", ats_enabled);
 int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list)
 {
     u32 value;
-    u16 seg = pdev->seg;
-    u8 bus = pdev->bus, devfn = pdev->devfn;
     int pos;
 
-    pos = pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS);
     BUG_ON(!pos);
 
     if ( iommu_verbose )
diff --git a/xen/drivers/passthrough/ats.h b/xen/drivers/passthrough/ats.h
index c202f4ecdd67..08a901187c54 100644
--- a/xen/drivers/passthrough/ats.h
+++ b/xen/drivers/passthrough/ats.h
@@ -32,7 +32,8 @@ static inline int pci_ats_enabled(int seg, int bus, int devfn)
     u32 value;
     int pos;
 
-    pos = pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(PCI_SBDF(seg, bus, devfn),
+                                  PCI_EXT_CAP_ID_ATS);
     BUG_ON(!pos);
 
     value = pci_conf_read16(PCI_SBDF(seg, bus, devfn), pos + ATS_REG_CTL);
@@ -45,7 +46,8 @@ static inline int pci_ats_device(int seg, int bus, int devfn)
     if ( !ats_enabled )
         return 0;
 
-    return pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    return pci_find_ext_capability(PCI_SBDF(seg, bus, devfn),
+                                   PCI_EXT_CAP_ID_ATS);
 }
 
 #endif /* _ATS_H_ */
diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
index fb78e2ebe8a4..13d904692ef8 100644
--- a/xen/drivers/passthrough/msi.c
+++ b/xen/drivers/passthrough/msi.c
@@ -24,8 +24,7 @@ int pdev_msi_init(struct pci_dev *pdev)
 
     INIT_LIST_HEAD(&pdev->msi_list);
 
-    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI);
     if ( pos )
     {
         uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
@@ -33,8 +32,7 @@ int pdev_msi_init(struct pci_dev *pdev)
         pdev->msi_maxvec = multi_msi_capable(ctrl);
     }
 
-    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSIX);
+    pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
     if ( pos )
     {
         struct arch_msix *msix = xzalloc(struct arch_msix);
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 33452791a8e0..219b357efb14 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -361,8 +361,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
             break;
 
         case DEV_TYPE_PCIe_ENDPOINT:
-            pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn),
-                                      PCI_FUNC(devfn), PCI_CAP_ID_EXP);
+            pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP);
             BUG_ON(!pos);
             cap = pci_conf_read16(pdev->sbdf, pos + PCI_EXP_DEVCAP);
             if ( cap & PCI_EXP_DEVCAP_PHANTOM )
@@ -565,13 +564,12 @@ struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf)
 static void pci_enable_acs(struct pci_dev *pdev)
 {
     int pos;
-    u16 cap, ctrl, seg = pdev->seg;
-    u8 bus = pdev->bus;
+    u16 cap, ctrl;
 
     if ( !is_iommu_enabled(pdev->domain) )
         return;
 
-    pos = pci_find_ext_capability(seg, bus, pdev->devfn, PCI_EXT_CAP_ID_ACS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ACS);
     if (!pos)
         return;
 
@@ -704,7 +702,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
 
     if ( !pdev->info.is_virtfn && !pdev->vf_rlen[0] )
     {
-        unsigned int pos = pci_find_ext_capability(seg, bus, devfn,
+        unsigned int pos = pci_find_ext_capability(pdev->sbdf,
                                                    PCI_EXT_CAP_ID_SRIOV);
         uint16_t ctrl = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_CTRL);
 
@@ -916,7 +914,7 @@ enum pdev_type pdev_type(u16 seg, u8 bus, u8 devfn)
 {
     u16 class_device, creg;
     u8 d = PCI_SLOT(devfn), f = PCI_FUNC(devfn);
-    int pos = pci_find_cap_offset(seg, bus, d, f, PCI_CAP_ID_EXP);
+    int pos = pci_find_cap_offset(PCI_SBDF(seg, bus, devfn), PCI_CAP_ID_EXP);
 
     class_device = pci_conf_read16(PCI_SBDF(seg, bus, d, f), PCI_CLASS_DEVICE);
     switch ( class_device )
@@ -1184,10 +1182,7 @@ static int hest_match_pci(const struct acpi_hest_aer_common *p,
 static bool_t hest_match_type(const struct acpi_hest_header *hest_hdr,
                               const struct pci_dev *pdev)
 {
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus,
-                                           PCI_SLOT(pdev->devfn),
-                                           PCI_FUNC(pdev->devfn),
-                                           PCI_CAP_ID_EXP);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP);
     u8 pcie = MASK_EXTR(pci_conf_read16(pdev->sbdf, pos + PCI_EXP_FLAGS),
                         PCI_EXP_FLAGS_TYPE);
 
@@ -1258,8 +1253,7 @@ bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
 {
     struct aer_hest_parse_info info = { .pdev = pdev };
 
-    return pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                               PCI_FUNC(pdev->devfn), PCI_CAP_ID_EXP) &&
+    return pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP) &&
            apei_hest_parse(aer_hest_parse, &info) >= 0 &&
            info.firmware_first;
 }
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
index fcc8f73e8b90..e1946c268beb 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -495,8 +495,6 @@ int me_wifi_quirk(struct domain *domain, uint8_t bus, uint8_t devfn,
 
 void pci_vtd_quirk(const struct pci_dev *pdev)
 {
-    int seg = pdev->seg;
-    int bus = pdev->bus;
     int pos;
     bool_t ff;
     u32 val, val2;
@@ -532,12 +530,10 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
     /* Sandybridge-EP (Romley) */
     case 0x3c00: /* host bridge */
     case 0x3c01 ... 0x3c0b: /* root ports */
-        pos = pci_find_ext_capability(seg, bus, pdev->devfn,
-                                      PCI_EXT_CAP_ID_ERR);
+        pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ERR);
         if ( !pos )
         {
-            pos = pci_find_ext_capability(seg, bus, pdev->devfn,
-                                          PCI_EXT_CAP_ID_VNDR);
+            pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_VNDR);
             while ( pos )
             {
                 val = pci_conf_read32(pdev->sbdf, pos + PCI_VNDR_HEADER);
@@ -546,7 +542,7 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
                     pos += PCI_VNDR_HEADER;
                     break;
                 }
-                pos = pci_find_next_ext_capability(seg, bus, pdev->devfn, pos,
+                pos = pci_find_next_ext_capability(pdev->sbdf, pos,
                                                    PCI_EXT_CAP_ID_VNDR);
             }
             ff = 0;
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 04d702b1d6b1..d9d93df0260f 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -57,8 +57,7 @@ int ats_device(const struct pci_dev *pdev, const struct acpi_drhd_unit *drhd)
         return 0;
 
     ats_drhd = find_ats_dev_drhd(drhd->iommu);
-    pos = pci_find_ext_capability(pdev->seg, pdev->bus, pdev->devfn,
-                                  PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS);
 
     if ( pos && (ats_drhd == NULL) )
     {
diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index c73a8c4124af..3bcb74040284 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -8,25 +8,25 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 
-int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
+int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap)
 {
     u8 id;
     int max_cap = 48;
     u8 pos = PCI_CAPABILITY_LIST;
     u16 status;
 
-    status = pci_conf_read16(PCI_SBDF(seg, bus, dev, func), PCI_STATUS);
+    status = pci_conf_read16(sbdf, PCI_STATUS);
     if ( (status & PCI_STATUS_CAP_LIST) == 0 )
         return 0;
 
     while ( max_cap-- )
     {
-        pos = pci_conf_read8(PCI_SBDF(seg, bus, dev, func), pos);
+        pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
         pos &= ~3;
-        id = pci_conf_read8(PCI_SBDF(seg, bus, dev, func), pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
@@ -39,19 +39,19 @@ int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
     return 0;
 }
 
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
+int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap)
 {
     u8 id;
     int ttl = 48;
 
     while ( ttl-- )
     {
-        pos = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos);
+        pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
         pos &= ~3;
-        id = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
@@ -65,21 +65,21 @@ int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
 
 /**
  * pci_find_ext_capability - Find an extended capability
- * @seg/@bus/@devfn: PCI device to query
+ * @sbdf: PCI device to query
  * @cap: capability code
  *
  * Returns the address of the requested extended capability structure
  * within the device's PCI configuration space or 0 if the device does
  * not support it.
  */
-int pci_find_ext_capability(int seg, int bus, int devfn, int cap)
+int pci_find_ext_capability(pci_sbdf_t sbdf, int cap)
 {
-    return pci_find_next_ext_capability(seg, bus, devfn, 0, cap);
+    return pci_find_next_ext_capability(sbdf, 0, cap);
 }
 
 /**
  * pci_find_next_ext_capability - Find another extended capability
- * @seg/@bus/@devfn: PCI device to query
+ * @sbdf: PCI device to query
  * @start: starting position
  * @cap: capability code
  *
@@ -87,13 +87,13 @@ int pci_find_ext_capability(int seg, int bus, int devfn, int cap)
  * within the device's PCI configuration space or 0 if the device does
  * not support it.
  */
-int pci_find_next_ext_capability(int seg, int bus, int devfn, int start, int cap)
+int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap)
 {
     u32 header;
     int ttl = 480; /* 3840 bytes, minimum 8 bytes per capability */
     int pos = max(start, 0x100);
 
-    header = pci_conf_read32(PCI_SBDF(seg, bus, devfn), pos);
+    header = pci_conf_read32(sbdf, pos);
 
     /*
      * If we have no capabilities, this is indicated by cap ID,
@@ -109,7 +109,7 @@ int pci_find_next_ext_capability(int seg, int bus, int devfn, int start, int cap
         pos = PCI_EXT_CAP_NEXT(header);
         if ( pos < 0x100 )
             break;
-        header = pci_conf_read32(PCI_SBDF(seg, bus, devfn), pos);
+        header = pci_conf_read32(sbdf, pos);
     }
     return 0;
 }
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 8f2b59e61aa4..78261c3f6e37 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -184,9 +184,7 @@ static void cf_check mask_write(
 
 static int cf_check init_msi(struct pci_dev *pdev)
 {
-    uint8_t slot = PCI_SLOT(pdev->devfn), func = PCI_FUNC(pdev->devfn);
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus, slot, func,
-                                           PCI_CAP_ID_MSI);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI);
     uint16_t control;
     int ret;
 
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 25bde77586a4..626e7058c964 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -659,14 +659,12 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
 static int cf_check init_msix(struct pci_dev *pdev)
 {
     struct domain *d = pdev->domain;
-    uint8_t slot = PCI_SLOT(pdev->devfn), func = PCI_FUNC(pdev->devfn);
     unsigned int msix_offset, i, max_entries;
     uint16_t control;
     struct vpci_msix *msix;
     int rc;
 
-    msix_offset = pci_find_cap_offset(pdev->seg, pdev->bus, slot, func,
-                                      PCI_CAP_ID_MSIX);
+    msix_offset = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
     if ( !msix_offset )
         return 0;
 
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index a8c8c4ff11c3..8a482b15745c 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -193,11 +193,10 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
                    unsigned int devfn, int reg, int len, u32 *value);
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
-int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
-int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
-int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
-                                 int cap);
+int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap);
+int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap);
+int pci_find_ext_capability(pci_sbdf_t sbdf, int cap);
+int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap);
 const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus,
                       unsigned int *dev, unsigned int *func);
 const char *parse_pci_seg(const char *, unsigned int *seg, unsigned int *bus,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:32:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588008.919437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGFT-00038g-JU; Tue, 22 Aug 2023 01:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588008.919437; Tue, 22 Aug 2023 01: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 1qYGFT-00038Z-EN; Tue, 22 Aug 2023 01:31:59 +0000
Received: by outflank-mailman (input) for mailman id 588008;
 Tue, 22 Aug 2023 01: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=MiiM=EH=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYGFR-0000x4-Mj
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:31:57 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id adc9c927-408b-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 03:31:55 +0200 (CEST)
Received: from MW4PR04CA0380.namprd04.prod.outlook.com (2603:10b6:303:81::25)
 by MW5PR12MB5682.namprd12.prod.outlook.com (2603:10b6:303:19f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 01:31:51 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:303:81:cafe::34) by MW4PR04CA0380.outlook.office365.com
 (2603:10b6:303:81::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 01:31:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Tue, 22 Aug 2023 01:31:50 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug
 2023 20:31:50 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 20:31: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: adc9c927-408b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CdZXYD8eMfHrczPHd31YEBi7lKuPsgOr3FP41IwcQy0BzruO/2uSriZhlxFxsmjRa4Gf98WObc26f3257uxPoio3mVKE8QGauEQkji/t3oTFJF/Dz1X6R1PfSr7Fq76i7ZF7gjfpzx+EcDB5K4/z1bgkTIMMOH8eCzhtgCfg2C+58BXhDQzV38KcprcL6wTByB7pFhWa0oI82uj9O0ICxw36CJNHMebf6eCJaBU/+ddTQsEJiVSd7SuYvHUHfI4h8Xark0ImEyIGf2PeGiIUMEJYoa4Ue8BrTMceY/uFJTkXdwypS1CA2W0RCXeYakjir44OwKwGHW1exwAH3wiXYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2dly4to6LYqbONjIY1DEXYph5RrSOJfNV6FXB7NX/h0=;
 b=NdzxPmUDpLt66evvqFUNki/1AtbTSrz8tpXxlwM1ae+JolAHLhtvN7YD07UM2VGf9Z5sbAdMMDggUAXFyZK5yGIxDQcR2by+8Li7x8AGGrGIgIpeOHUKNRQvVhyIdaw/4mQJlH6GQqfiEWWUj3mK7cI655xIhFdBCyd08fHp/D+72NqSPP/Z+dJHuI0RmelxFkx8yu9NJkQzAOKt5c9jRqo2uxOD1/d9UMxcXj5omy6FldS//uFLLlSkpenKGArCFkAhAhTCU1FbcyXUjLVTov+5T2DJJCpGAJROfBwqQCEt75Ka4d1BJ8e1RctzkC9RyH1F78Oe5fAAKFMRIQaO3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2dly4to6LYqbONjIY1DEXYph5RrSOJfNV6FXB7NX/h0=;
 b=UA5a6x8bMuVNwbTzR8Ijcn55KTqAVPzFY09kK7h/eQTb1kgwxU8FPY45X22nk841Q2sSpx16rLsK5TLI0c4mu6ywBTZ0pes3VXWEqDzu9DTscp2OK4b6CSRKwopxmY3zgHDA9OvR8vR9L3sygrdspHFvSIH2Vz5GW8HarDrBj7w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 3/4] xen/vpci: header: filter PCI capabilities
Date: Mon, 21 Aug 2023 21:29:51 -0400
Message-ID: <20230822012955.312930-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230822012955.312930-1-stewart.hildebrand@amd.com>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|MW5PR12MB5682:EE_
X-MS-Office365-Filtering-Correlation-Id: 597c7468-e19e-4d5a-3e7e-08dba2af8f4f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qK/Rz00xXvTtSo3waVIr3BihBIYM3A7A5IA6RP+2d+ztn/vcUa69lcpnu5u5voG1wajIhGEyMCSQyi9W7rtV0RpwZsVRpa99+6UIPqtCgl9VblHanrAleL72cOfwjYw1nGgPgYU2F/f44BwJPDSPyzfZkfHzj/QzEtMcyvWTPttwi8M2gbPoD9cqvuXEGjVErDdE25lf01EwjGjIKxXWzEBjOeyc54B7D3a++P3/OMChezYqCRh7mDip4TskEAb9qMtF8uOGLFF41+1cHHybSY/fTWsiJ66bdUpIHlyxtyDiv8MGsoMNSFzjFDktN7mVlIRTqtTkKs16SlO7Mmo2wHH0ibtseemRpiduZ4ZfAc9D9qniatvM6z5yiqQgf2MREXNOYsFwfoUJ/HPYsic4eJDcQ6VePZp1ddEFKR+qbfME3SMmxct9mLZDkmTv03A9oIKNuzCS+1le160ITPiV6M+2AzZjdjsIcvpq9QUT2O/xauOMf43VzKzZ9c3R1QcHdDR+B8KCb5tkGS6XahGhuBe3jAH1ZR5S3warm1meBm701d2EyYKO+cJ2nFcFJdRvggmeC9UDoJ8tSigjYPl2bomAfSNpqcWo8AuXGHyFsfcXSMuX2yayg8lIZqkB/RGZvPk4jR0mwvLZzicYHBgD3whpfu2A7lAMNhekmjTjF1e8dle89agYWhj1zmntTffHDffWub8OGTMA5Ou15GHU0+fvRd1eMQHC2bOKFRmpJuydWXINZuMPSKgGnxncPYdIEzLtNXTOnjy0OUZ+eGMvrA==
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)(4636009)(346002)(39860400002)(136003)(376002)(396003)(82310400011)(451199024)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(40480700001)(83380400001)(5660300002)(44832011)(336012)(426003)(26005)(86362001)(36860700001)(47076005)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(70586007)(6916009)(54906003)(478600001)(356005)(82740400003)(81166007)(6666004)(36756003)(41300700001)(40460700003)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 01:31:50.8806
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 597c7468-e19e-4d5a-3e7e-08dba2af8f4f
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR12MB5682

Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
Hide all other PCI capabilities (including extended capabilities) from domUs for
now, even though there may be certain devices/drivers that depend on being able
to discover certain capabilities.

We parse the physical PCI capabilities linked list and add vPCI register
handlers for the next elements, inserting our own next value, thus presenting a
modified linked list to the domU.

Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
helper function returns a fixed value, which may be used for RAZ registers, or
registers whose value doesn't change.

Introduce pci_find_next_cap_ttl() helper while adapting the logic from
pci_find_next_cap() to suit our needs, and implement the existing
pci_find_next_cap() in terms of the new helper.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v2->v3:
* get rid of > 0 in loop condition
* implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
  that hypothetical future callers wouldn't be required to pass &ttl.
* change NULL to (void *)0 for RAZ value passed to vpci_read_val
* change type of ttl to unsigned int
* remember to mask off the low 2 bits of next in the initial loop iteration
* change return type of pci_find_next_cap and pci_find_next_cap_ttl
* avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0

v1->v2:
* change type of ttl to int
* use switch statement instead of if/else
* adapt existing pci_find_next_cap helper instead of rolling our own
* pass ttl as in/out
* "pass through" the lower 2 bits of the next pointer
* squash helper functions into this patch to avoid transient dead code situation
* extended capabilities RAZ/WI
---
 xen/drivers/pci/pci.c     | 24 +++++++++-----
 xen/drivers/vpci/header.c | 69 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 12 +++++++
 xen/include/xen/pci.h     |  5 ++-
 xen/include/xen/vpci.h    |  5 +++
 5 files changed, 106 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index 3bcb74040284..f60051694dc5 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -39,30 +39,38 @@ int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap)
     return 0;
 }
 
-int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap)
+uint8_t pci_find_next_cap_ttl(pci_sbdf_t sbdf, uint8_t pos,
+                              bool (*is_match)(uint8_t), unsigned int *ttl)
 {
-    u8 id;
-    int ttl = 48;
+    uint8_t id;
 
-    while ( ttl-- )
+    while ( (*ttl)-- )
     {
         pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
-        pos &= ~3;
-        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
-        if ( id == cap )
+        if ( is_match(id) )
             return pos;
 
-        pos += PCI_CAP_LIST_NEXT;
+        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
     }
+
     return 0;
 }
 
+uint8_t pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos,
+                          bool (*is_match)(uint8_t))
+{
+    unsigned int ttl = 48;
+
+    return pci_find_next_cap_ttl(sbdf, pos, is_match, &ttl) & ~3;
+}
+
 /**
  * pci_find_ext_capability - Find an extended capability
  * @sbdf: PCI device to query
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 60f7049e3498..b531ab03cec1 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -513,6 +513,18 @@ static void cf_check rom_write(
         rom->addr = val & PCI_ROM_ADDRESS_MASK;
 }
 
+static bool cf_check vpci_cap_supported(uint8_t id)
+{
+    switch ( id )
+    {
+    case PCI_CAP_ID_MSI:
+    case PCI_CAP_ID_MSIX:
+        return true;
+    default:
+        return false;
+    }
+}
+
 static int cf_check init_bars(struct pci_dev *pdev)
 {
     uint16_t cmd;
@@ -544,6 +556,63 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
+        {
+            /* RAZ/WI */
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1, (void *)0);
+            if ( rc )
+                return rc;
+        }
+        else
+        {
+            /* Only expose capabilities to the guest that vPCI can handle. */
+            uint8_t next;
+            unsigned int ttl = 48;
+
+            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
+                                         vpci_cap_supported, &ttl);
+
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1,
+                                   (void *)(uintptr_t)next);
+            if ( rc )
+                return rc;
+
+            next &= ~3;
+
+            while ( next && ttl )
+            {
+                uint8_t pos = next;
+
+                next = pci_find_next_cap_ttl(pdev->sbdf,
+                                             pos + PCI_CAP_LIST_NEXT,
+                                             vpci_cap_supported, &ttl);
+
+                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
+                                       pos + PCI_CAP_LIST_ID, 1, NULL);
+                if ( rc )
+                    return rc;
+
+                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                       pos + PCI_CAP_LIST_NEXT, 1,
+                                       (void *)(uintptr_t)next);
+                if ( rc )
+                    return rc;
+
+                next &= ~3;
+            }
+        }
+
+        /* Extended capabilities RAZ/WI */
+        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4,
+                               (void *)0);
+        if ( rc )
+            return rc;
+    }
+
     if ( pdev->ignore_bars )
         return 0;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index d73fa7630237..4a96aa50494d 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -133,6 +133,18 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return (uintptr_t)data;
+}
+
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return pci_conf_read8(pdev->sbdf, reg);
+}
+
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 8a482b15745c..b30034ecccba 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -194,7 +194,10 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
 int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap);
-int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap);
+uint8_t pci_find_next_cap_ttl(pci_sbdf_t sbdf, uint8_t pos,
+                              bool (*is_match)(uint8_t), unsigned int *ttl);
+uint8_t pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos,
+                          bool (*is_match)(uint8_t));
 int pci_find_ext_capability(pci_sbdf_t sbdf, int cap);
 int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap);
 const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus,
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 0b8a2a3c745b..17fd252746ec 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -45,7 +45,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
+
 /* Passthrough handlers. */
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:32:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588011.919447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGFl-0003Yh-SG; Tue, 22 Aug 2023 01:32:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588011.919447; Tue, 22 Aug 2023 01: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 1qYGFl-0003YW-NX; Tue, 22 Aug 2023 01:32:17 +0000
Received: by outflank-mailman (input) for mailman id 588011;
 Tue, 22 Aug 2023 01: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=MiiM=EH=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYGFl-0000x3-18
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:32:17 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9fd4221-408b-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 03:32:16 +0200 (CEST)
Received: from MW4PR04CA0235.namprd04.prod.outlook.com (2603:10b6:303:87::30)
 by SJ2PR12MB8955.namprd12.prod.outlook.com (2603:10b6:a03:542::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 01:32:11 +0000
Received: from CO1PEPF000042AB.namprd03.prod.outlook.com
 (2603:10b6:303:87:cafe::7d) by MW4PR04CA0235.outlook.office365.com
 (2603:10b6:303:87::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 01:32:11 +0000
Received: from SATLEXMB03.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.6699.15 via Frontend Transport; Tue, 22 Aug 2023 01:32:11 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug
 2023 20:32:10 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 21 Aug 2023 20:32: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: b9fd4221-408b-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c8OEjwnlsvr7Lk9u/0W5YWXHeZT5a2US3Ixw5ZJiTrOeTiaYE5VoSh4NW2XsOBE9trfo8OEKoHUAV3MXS26IVXmyinz2ne2Jn5v7lg/esU8zJ7p5m7oU5R6jS8LzGR3iEhu7x1ycF9xJMotVZSORVP1Dg21XXenowaPxGGFJx9W5+4LEDMsKcxTCyIW6ur91y1a3VYtmf9/+Yy4JDLwQJgIICgU8r6c8tOeXP2u6PTDFtEp21QPACNKL2rHXyTut55wDhiliPN9N0+fVuVh4IiQf/m6RdbV5l6XRwCD7NrNeYgpR5gfQWoek26QTKND8WvC4fvSsN8Y0HqXZc3B2VA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0n1yyNK6sHaopm2rNEybK0BDTFSOqSy/3YHjVA/ulc0=;
 b=OiHtNLn1vuFjBt2sfCrLYT1uk5odD78ncqrL6w0S3kV7fdQb2/kyZnXLHzePjviXPNTd9JdqUDPVb8ACb8xtnEhJtBzAaDaDvYVv8k0Os+ZoAmUYecZ8mQKdyiSMu2HSDzr7SfshKDtv+hWJXPY2VR2oVZVQKzzFZ3XYkAHgP+yvsO9A7B2wtr5iOhHP5OAUn/J/ui3DZFl7Rtq0FkZmhUF9tOFqPS3Y1OtZNSS8vB3EzumAWQRCc2xtBVT4THV0o5O8CUD9KdebEZ7E64vJD1c0lWp4s3lXJ0j91ykw+K3ykWIrwrPzSyEHW9pGaAOPfZR3Dwc4u/bzgAE+wirtZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0n1yyNK6sHaopm2rNEybK0BDTFSOqSy/3YHjVA/ulc0=;
 b=2LCh8dP6COnO9KItM2RD80vyBfTzzrU1nDlTA/laucbg3nu4RAMGm5dLl8lFl2PnS4LNZsvC2n3YXXao9tkh1qdj+LwwQIkpQCIB+rJPXYfH02vPCvDsscqKhkRL6vbrT7f5kJQXNX0XZQxu/Gw3fJmmzLqdcOKG2qqj7JX44Qc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 4/4] xen/vpci: header: status register handler
Date: Mon, 21 Aug 2023 21:29:52 -0400
Message-ID: <20230822012955.312930-5-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230822012955.312930-1-stewart.hildebrand@amd.com>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AB:EE_|SJ2PR12MB8955:EE_
X-MS-Office365-Filtering-Correlation-Id: f5def659-3b9b-4ad9-1f94-08dba2af9b8b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MsQb/n10me63qZXGgoZJ2qBLKZmjWw8KNEdalPBGgW+ryqY63xwiNauy6CFV+hCLRzjrx5x725yvpdMm+OMJZlEQjyXMDOLee5Q6wwPzf0Pp5+5Kmy7xrwzuyIkeVFyKxymcAEmbhD7b1Wu7bb/XawhLyqkpDAyX13UXlh4hyMQO/U4y7sTfT2o/BPw7FKdwz4MUVXzaBVoYgDWyq5T0HyiVDizr+CIEVV+BKZa08aSGOQRVjYk+u+KxeZvJyGXXfmDV4s5uD/zxT6Gx8zWs6lhYGep03hzt8CTUgua83ue4iPri0bMRob1MG5gm2EmlZgRXr1XgbJHLEBeQ73L+94RBC2RS6EUEFD4/LpJfWanMVEAu8hrBip1b5j/lULJWXYldm3adJLUreo5k6QFBbB9tbS1bP0loQxhEwqPYTPL6ZoF4UYh4zrO6zM0rGGk8iavToTJ2bNI+Z70ov0PUT90ApnI8sVYo55g+1/6KdOuDEW35f1gYk0h1ev4wXsoS4pih68K0flj580pzWZbmu37FoEW2LULQSY4oh+6tzsigeYslpZVW5hTfvSn5vlogiID1/cMxXRrMh8V+X3D4Hl6bPfLl4WoBUT0DgSc7IWWwd2MHcxEGUTaNuNbx8RaPi5tERv1RpTwvGunMcJRM/TXuvCWZM5q3NBBrQ1KZOIHu55f+2TY+Z4xbUlId8vcUx9vt8XKajEDrXFOBhg7DNtjBBOO6RivQLuFqxnlyhEe4cqdDfkFk9Plttz5zcuB4pQAxfjCiZMtaeOx5VMCFLw0O/CuwIY0YrGLcIMoLiXI=
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(82310400011)(451199024)(186009)(1800799009)(40470700004)(46966006)(36840700001)(356005)(40460700003)(66899024)(1076003)(36860700001)(2616005)(336012)(426003)(6666004)(26005)(47076005)(83380400001)(5660300002)(44832011)(8936002)(4326008)(8676002)(2906002)(478600001)(41300700001)(70586007)(54906003)(316002)(70206006)(6916009)(82740400003)(40480700001)(86362001)(36756003)(81166007)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 01:32:11.3588
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f5def659-3b9b-4ad9-1f94-08dba2af9b8b
X-MS-Exchange-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:
	CO1PEPF000042AB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8955

Introduce a handler for the PCI status register, with ability to mask the
capabilities bit. The status register is write-1-to-clear, so introduce handling
for this type of register in vPCI.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v2->v3:
* new patch
---
 xen/drivers/vpci/header.c | 24 +++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 41 +++++++++++++++++++++++++++++----------
 xen/include/xen/vpci.h    |  9 +++++++++
 3 files changed, 64 insertions(+), 10 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index b531ab03cec1..7061b85e337b 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -413,6 +413,17 @@ static void cf_check cmd_write(
         pci_conf_write16(pdev->sbdf, reg, cmd);
 }
 
+static uint32_t cf_check status_read(const struct pci_dev *pdev,
+                                     unsigned int reg, void *data)
+{
+    struct vpci_header *header = data;
+
+    if ( header->mask_cap_list )
+        return pci_conf_read16(pdev->sbdf, reg) & ~(PCI_STATUS_CAP_LIST);
+
+    return pci_conf_read16(pdev->sbdf, reg);
+}
+
 static void cf_check bar_write(
     const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
 {
@@ -556,6 +567,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
+                                PCI_STATUS, 2, header);
+    if ( rc )
+        return rc;
+
     if ( !is_hardware_domain(pdev->domain) )
     {
         if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
@@ -583,6 +599,14 @@ static int cf_check init_bars(struct pci_dev *pdev)
 
             next &= ~3;
 
+            if ( !next )
+                /*
+                 * If we don't have any supported capabilities to expose to the
+                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
+                 * register.
+                 */
+                header->mask_cap_list = true;
+
             while ( next && ttl )
             {
                 uint8_t pos = next;
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 4a96aa50494d..a34d85f4ed3c 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -29,6 +29,7 @@ struct vpci_register {
     unsigned int offset;
     void *private;
     struct list_head node;
+    bool rw1c : 1;
 };
 
 #ifdef __XEN__
@@ -157,9 +158,15 @@ uint32_t cf_check vpci_hw_read32(
     return pci_conf_read32(pdev->sbdf, reg);
 }
 
-int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
-                      vpci_write_t *write_handler, unsigned int offset,
-                      unsigned int size, void *data)
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
+{
+    pci_conf_write16(pdev->sbdf, reg, val);
+}
+
+static int _vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                              vpci_write_t *write_handler, unsigned int offset,
+                              unsigned int size, void *data, bool rw1c)
 {
     struct list_head *prev;
     struct vpci_register *r;
@@ -179,6 +186,7 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     r->size = size;
     r->offset = offset;
     r->private = data;
+    r->rw1c = rw1c;
 
     spin_lock(&vpci->lock);
 
@@ -205,6 +213,22 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     return 0;
 }
 
+int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                      vpci_write_t *write_handler, unsigned int offset,
+                      unsigned int size, void *data)
+{
+    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
+                              data, false);
+}
+
+int vpci_add_rw1c_register(struct vpci *vpci, vpci_read_t *read_handler,
+                           vpci_write_t *write_handler, unsigned int offset,
+                           unsigned int size, void *data)
+{
+    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
+                              data, true);
+}
+
 int vpci_remove_register(struct vpci *vpci, unsigned int offset,
                          unsigned int size)
 {
@@ -419,11 +443,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 
 /*
  * Perform a maybe partial write to a register.
- *
- * Note that this will only work for simple registers, if Xen needs to
- * trap accesses to rw1c registers (like the status PCI header register)
- * the logic in vpci_write will have to be expanded in order to correctly
- * deal with them.
  */
 static void vpci_write_helper(const struct pci_dev *pdev,
                               const struct vpci_register *r, unsigned int size,
@@ -433,9 +452,11 @@ static void vpci_write_helper(const struct pci_dev *pdev,
 
     if ( size != r->size )
     {
-        uint32_t val;
+        uint32_t val = 0;
+
+        if ( !r->rw1c )
+            val = r->read(pdev, r->offset, r->private);
 
-        val = r->read(pdev, r->offset, r->private);
         data = merge_result(val, data, size, offset);
     }
 
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 17fd252746ec..518d381b2df7 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -37,6 +37,11 @@ int __must_check vpci_add_register(struct vpci *vpci,
                                    vpci_write_t *write_handler,
                                    unsigned int offset, unsigned int size,
                                    void *data);
+int __must_check vpci_add_rw1c_register(struct vpci *vpci,
+                                        vpci_read_t *read_handler,
+                                        vpci_write_t *write_handler,
+                                        unsigned int offset, unsigned int size,
+                                        void *data);
 int __must_check vpci_remove_register(struct vpci *vpci, unsigned int offset,
                                       unsigned int size);
 
@@ -55,6 +60,8 @@ uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
     const struct pci_dev *pdev, unsigned int reg, void *data);
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data);
 
 /*
  * Check for pending vPCI operations on this vcpu. Returns true if the vcpu
@@ -99,6 +106,8 @@ struct vpci {
          * upon to know whether BARs are mapped into the guest p2m.
          */
         bool bars_mapped      : 1;
+        /* Store whether to hide all capabilities from the guest. */
+        bool mask_cap_list : 1;
         /* FIXME: currently there's no support for SR-IOV. */
     } header;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 01:41:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 01:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588031.919457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGO4-0005hX-RT; Tue, 22 Aug 2023 01:40:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588031.919457; Tue, 22 Aug 2023 01:40: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 1qYGO4-0005hQ-O1; Tue, 22 Aug 2023 01:40:52 +0000
Received: by outflank-mailman (input) for mailman id 588031;
 Tue, 22 Aug 2023 01:40: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=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYGO3-0005hK-OW
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 01:40: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 ebc2b388-408c-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 03:40:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 751DF62301;
 Tue, 22 Aug 2023 01:40:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D520C433C7;
 Tue, 22 Aug 2023 01:40: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: ebc2b388-408c-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692668447;
	bh=FlRsgH0jiWAFYSD8qTsL+JVQ+9L0OQUNEhW6Yxu0G9c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RsJHMc3u4z5s7NpNMkFc78vdUsbEViwXMqL+8qLONXlRUrcpoE9y7BCwS/BNeE5UF
	 Oi7b060dmnta7J2rtOjLK8lM19SFsZB9LbdNgDjYc9gPonHgjOlxaDSz2X6JuWHsFB
	 s3Agi5kTmmlHIddKAZBd8w/zdQXesb0QGdLsN027uQ9qJ+UYMtdyV0xl/kDW+m2P/w
	 hkgxhqmrSiEWvMhP0kE2RHUbNI/ZSKYjSnI82FiWIykTFayWHQNZtBlSDN2fqD0qyU
	 Bbuz7V7Csd0NzRfJaZGlMEc3vfXNEFyo/3YYr5/bYjlAcHvThZqdpt0q7C2TrFmYB7
	 3GGcFuhZozSoA==
Date: Mon, 21 Aug 2023 18:40:45 -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, 
    roger.pau@citrix.com, julien@xen.org, bertrand.marquis@arm.com, 
    nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add exceptions to rules
In-Reply-To: <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
References: <20230819012410.1754839-1-sstabellini@kernel.org> <5400f672-5ae6-4559-920f-5244bcd83c57@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, 21 Aug 2023, Jan Beulich wrote:
> On 19.08.2023 03:24, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > During the discussions that led to the acceptable of the Rules, we
> > decided on a few exceptions that were not properly recorded in
> > rules.rst. Other times, the exceptions were decided later when it came
> > to enabling a rule in ECLAIR.
> 
> In a number of cases I'm unaware of such decisions. May be worth splitting
> the patch into a controversial and an uncontroversial part, such that the
> latter can go in while we discuss the former.

yes, I'll extract a couple of non-controversial changes and send them
out


> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
> >       - Required
> >       - Precautions shall be taken in order to prevent the contents of a
> >         header file being included more than once
> > -     -
> > +     - Files that are intended to be included more than once do not need to
> > +       conform to the directive (e.g. autogenerated or empty header files)
> 
> Auto-generated isn't a reason for an exception here. The logic generating
> the header can very well be adjusted. Same for empty headers - there's no
> reason they couldn't gain guards. An exception is needed for headers which
> we deliberately include more than once, in order to have a single central
> place for attributes, enumerations, and alike.

OK


> > @@ -106,7 +107,23 @@ maintainers if you want to suggest a change.
> >     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
> >       - Required
> >       - A project shall not contain unreachable code
> > -     -
> > +     - The following are allowed:
> > +         - Invariantly constant conditions (e.g. while(0) { S; })
> 
> When (and why) was this decided? The example given looks exactly like what
> Misra wants us to not have.

This covers things like:

if (IS_ENABLED(CONFIG_HVM))

which could resolve in if (0) in certain configurations. I think we gave
feedback to Roberto that we wanted to keep this type of things as is.


> > +         - Switch with a controlling value incompatible with labeled
> > +           statements
> 
> What does this mean?

I am not certain about this one actually. It could be when we have:

switch (var) {
  case 1:
      something();
      break;
  case 2:
      something();
      break;
}

and var could be 3 in theory?

Nicola, please confirm.


> > +         - Functions that are intended to be never referenced from C
> > +           code, or are referenced in builds not under analysis (e.g.
> > +           'do_trap_fiq' for the former and 'check_for_unexpected_msi'
> > +           for the latter)
> 
> I agree with the "not referenced from C", but I don't see why the other
> kind couldn't be properly addressed.

I think you have a point


> > +         - Unreachability caused by the following macros/functions is
> > +           deliberate: BUG, assert_failed, ERROR_EXIT, ERROR_EXIT_DOM,
> > +           PIN_FAIL, __builtin_unreachable, panic, do_unexpected_trap,
> > +           machine_halt, machine_restart, machine_reboot,
> > +           ASSERT_UNREACHABLE
> 
> Base infrastructure items like BUG() are imo fine to mention here. But
> specific items shouldn't be; the more we mention here, the more we invite
> the list to be grown. Note also how you mention items which no longer
> exist (ERROR_EXIT{,_DOM}, PIN_FAIL).

The question is whether we want this list to be exhaustive (so we want
to mention everything for which we make an exception) or only an example
(in which case just BUG is fine.)

Let's say we only mention BUG. Where should we keep the exhaustive list?
Is it OK if it only lives as an ECLAIR config file under
automation/eclair_analysis? There is another very similar question
below.

BTW I think both options are OK.

If we only mention BUG, we are basically saying that as a general rule
only BUG is an exception. Then we have a longer more detailed list for
ECLAIR because in practice things are always complicated.

On the other hand if we have the full list here, then the documentation
is more precise, but it looks a bit "strange" to see such a detailed
list in this document and also we need to make sure to keep the list
up-to-date.


> > +         - asm-offsets.c, as they are not linked deliberately, because
> > +           they are used to generate definitions for asm modules
> > +         - pure declarations (i.e. declarations without
> > +           initialization) are safe, as they are not executed
> 
> I don't think "pure declarations" is a term used in the spec. Let's better
> call it the way it is called elsewhere - declarations without initializer
> (where, as mentioned before, the term "unreachable code" is questionable
> anyway).

OK


> > @@ -167,7 +184,7 @@ maintainers if you want to suggest a change.
> >     * - `Rule 5.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
> >       - Required
> >       - A typedef name shall be a unique identifier
> > -     -
> > +     - BOOLEAN, UINT{8,32,64} and INT{8,32,64} are allowed
> 
> I think this permission needs to be limited as much as possible.

Maybe we should take this out completely given that they should be
limited to efi and acpi code that is excepted anyway


> > @@ -183,7 +200,10 @@ maintainers if you want to suggest a change.
> >     * - `Rule 7.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_01.c>`_
> >       - Required
> >       - Octal constants shall not be used
> > -     -
> > +     - Usage of the following constants is safe, since they are given
> > +       as-is in the inflate algorithm specification and there is
> > +       therefore no risk of them being interpreted as decimal constants:
> > +       ^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$
> 
> This is a very odd set of exceptions, which by stating them here you then
> grant to be exercised everywhere. Once again I don't think special cases
> dealing with a single source or sub-component should be globally named.

Actually I agree with you there. The problem is where to put them.

Right now we have docs/misra/rules.rst with the list of accepted rules
and their special interpretations by Xen Project. We also have the
ECLAIR configuration under automation/eclair_analysis with a bunch of
ECLAIR specific config files.

Is it OK if the constants above only live under
automation/eclair_analysis and nowhere else? Or should we have another
rst document under docs/misra for special cases dealing with a single
source? 

 
> > @@ -239,13 +259,16 @@ maintainers if you want to suggest a change.
> >       - Required
> >       - All declarations of an object or function shall use the same
> >         names and type qualifiers
> > -     -
> > +     - The type ret_t is deliberately used and defined as int or long
> > +       depending on the architecture
> 
> That's not depending on the architecture, but depending on the type of
> guest to service. I'd also suggest "may", not "is".

OK


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 02:12:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 02:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588038.919467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYGsq-0001T2-5v; Tue, 22 Aug 2023 02:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588038.919467; Tue, 22 Aug 2023 02:12: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 1qYGsq-0001Sv-2r; Tue, 22 Aug 2023 02:12:40 +0000
Received: by outflank-mailman (input) for mailman id 588038;
 Tue, 22 Aug 2023 02:12: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=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYGso-0001Sp-Nf
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 02:12:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c10450f-4091-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 04:12:35 +0200 (CEST)
Received: from DUZPR01CA0270.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b9::22) by DB3PR08MB9060.eurprd08.prod.outlook.com
 (2603:10a6:10:430::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 02:12:27 +0000
Received: from DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b9:cafe::b6) by DUZPR01CA0270.outlook.office365.com
 (2603:10a6:10:4b9::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 02:12:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT014.mail.protection.outlook.com (100.127.143.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 02:12:26 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Tue, 22 Aug 2023 02:12:26 +0000
Received: from cf04edc68c22.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F557BFAD-C1E7-4766-BC20-174C3F54F0BC.1; 
 Tue, 22 Aug 2023 02:11:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cf04edc68c22.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 02:11:42 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV1PR08MB7683.eurprd08.prod.outlook.com (2603:10a6:150:62::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 02:11:35 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 02:11:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c10450f-4091-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sz04x7MikqIpqJE7huYTdA/1SCRnDCEzFbo1Pi515EU=;
 b=BS2sT37ciNDzCVt8+XNlJ8wnRHzzWYkX/Z9CH0T/abGLFscOjrDGO5fZYZ4KGHEs1Mxj8y23J/HfsTyryMtKJSnOd7fRu+NrMCqGUJ2d76kjOxWhoSHRbzGnj+0anhNsIfldAomOPqqMjKdFk43FpAXyviAHsFTY4qdnYH9b4c0=
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: 9177491152bf0778
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T7QAXa/EYo/5Xeq4XkkuYamkLhGSu2C/9rddXqKTIbLczjExUg3JFKlN25UxfUfK+ymuqxu4LBdAC+9RjmGoWZuje4zw1weEjd0CAADsZOKtNxEnDDAz33q2N7G2j6Pa87wiER7UbyHd8CFL6W9qZUyGgtsIB8EcDIog+9sHz3GsbN5BMOEK7kEqryMFsSCXbC57rdSkf582ptX2mY7e3zVF4DM3VLSLl7Wnr47N3aPwQK+KvSQ2+NzwQdt5LuC4ZZ/SJ4oBebIWpCNu/Jn2R+1rPv0a4hsBllSG5YSEINNpFF0q896cuKKUb5AoO9PduMNmeHgZm0CI+7fG32jjyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sz04x7MikqIpqJE7huYTdA/1SCRnDCEzFbo1Pi515EU=;
 b=I0lEwfijTqAY+TibECIwkfq+XtuoefxvT6yjrahvAD68qBvj4NM7CopLC+mrHlq/rrrLyqzS0IxfYYQXZRKV5gCOx47hR9qYek1gvnqA2t7MhhSTlOD02eCKXwJocSeCPCLiqpL7F7ZAbVs2R4dDlbyTubwEri0tegMqsDf3uE/WaQRPB3tEh2L05wY7o/K90m5pYFrox8VRTrDxvFr21vwnd45EfTWVu9lwttKs7nNbimdZKU6jXliE3YpLvO261Zq2KA1Ds9VZkg3CaJMrEm3l517nlE10cnnhnj+HPgw/dq6Zpuv25H5C+YXnclMvyUK2ArnAFbFzOJQTNZv2cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=sz04x7MikqIpqJE7huYTdA/1SCRnDCEzFbo1Pi515EU=;
 b=BS2sT37ciNDzCVt8+XNlJ8wnRHzzWYkX/Z9CH0T/abGLFscOjrDGO5fZYZ4KGHEs1Mxj8y23J/HfsTyryMtKJSnOd7fRu+NrMCqGUJ2d76kjOxWhoSHRbzGnj+0anhNsIfldAomOPqqMjKdFk43FpAXyviAHsFTY4qdnYH9b4c0=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Topic: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Index: AQHZzmeUay8NQ4kvrE+CkZdRGQuMz6/1UcMAgABNUIA=
Date: Tue, 22 Aug 2023 02:11:33 +0000
Message-ID: <FA20A514-B1D2-4FBA-97F4-93981E1F0636@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
 <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
In-Reply-To: <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV1PR08MB7683:EE_|DBAEUR03FT014:EE_|DB3PR08MB9060:EE_
X-MS-Office365-Filtering-Correlation-Id: e829f9f2-62bd-4ef5-a479-08dba2b53b08
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:
 L5k/a0OpLik7FdxDhVOpiSl0RGeOwC1K2uQUalI2dffT/RRe20OCUx7UeQ0mON27y4y39XtBJ8PoHhD1c7R5vip7ve3scOMuywUctLdefAKAezTCJHh+f/9+IpMVYvfPpg5YW98G/eEECJWay8N0PXMKBdS3cpom1PNBLNvCimCsGBmY2T97zQBp7CeTvQgXBw5gzjCbjxHws6Sm4GUHY9hQVVtO8MPnnvANggMBqJ5kbFHQmu0il0riRGXKBVTIuQZZ5DYoAzRxpBhzWYMBb6wnn/XEzYF9a59y3/Z/KZwJlsJyDt4tB3yv170Grw5BEXQ2HoLyGBsfsyF5PuD1hi4cXTdV0Gu3eyql4d6QJB7PXMAloIlVgxfvKwDVl1r5UTUAkr/hL1WSrONV0iDjs5KsLHQFLgtSnS2TCa2YPYdkeJa5LFAAn+mFPfE8732TXvKsgKQmxWRkzfb8Tu+Aehz2JxHBaJf6Gy0/wbxdyFDxaEVpszt/Jmcc1n9S+zoY6k1ywtcisbUKnf/Cr67/4eA0MKzytEktNb7pW2jxLjvZJnGaz+S6SfgC+MZdMezmbTWwJGuJ55LjbaRpkwrMhGH3VX4L10IFShXg2yzV1JUP96aBzDU/uUBZpF1WZwioMhZm0Li8iTZ9HRYvr++AvA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(136003)(346002)(39860400002)(186009)(1800799009)(451199024)(86362001)(33656002)(36756003)(122000001)(64756008)(316002)(66556008)(91956017)(66446008)(66476007)(6916009)(54906003)(76116006)(41300700001)(38100700002)(478600001)(66946007)(38070700005)(6486002)(6506007)(71200400001)(6512007)(53546011)(26005)(83380400001)(8676002)(4326008)(2906002)(2616005)(8936002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8190E7A2624D974581D3BD1410D96C5C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7683
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7e64c933-689d-465a-2dbd-08dba2b51b5b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ycr9L+L9wRgTupBlwR2hmHuBywwRUGovmzVHa+/gbE4NOU1bRbVhdYOg9z72Y+WAm5u9VwKeILxfrEZDFU/7FHJOJ1HGq9dt5bkLfEKL7alZbnbHCd81l0p/JEigjKNCBsgmNZWNAu0H0t4zHxcVS02z+zYjSbhCsNXC19tsXmMmjYxNPgrX6ajcsNI6UlWSfVOqIOhWxJMRwps3VLzsGOJ4mIyUBijzhUBHPGbXzEyxPN74dQs+AysNi3qK8uvMmdZtz7b0w4gs0AWkNxnMfRTZPkRp+rUTBEsB4T5deTkDoG9jL/CnNXww8Adg+hS09sNrHrVUOyMt6+6RY65jNsDLz8/UgBoYL4QevYMDZzyR9bJPMJdwX3SdG42fKN9U/Jt/Gj/hTyqZsHLO5Cw70bqM9CmrvWXeAohfS0wVdBNtYfP09h04GZO2G9aFo3xqCqmTI4WPiBCqS9P6tdUIHINLtuK27DWc3JId0eUMKGayN0HeYQorE5j0UdR588xMXRtq1FMLrz5v8Kn6IhgCzd/R7UIaz0Er9LRk+VkSE29GQGlBQr8IqwMn8pAyVY1VW6JiZkLa+gdc6Mi8ea+cjbHKox2V5Zbk4SnbA9iD4KjYS/+yQ6kfGSymSH7gnuu4OKka9tgkChkP7Zr9w/9iZTc2O8dTu5iQxkQpzkCZKYQ5mawUTTxwZGS3F5kZ47O0J8Ef33s0k+wqvwLsqbs+wl7nwoO4SPy6ZgGNLRi0V9c=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(136003)(396003)(346002)(376002)(82310400011)(186009)(1800799009)(451199024)(36840700001)(40470700004)(46966006)(33656002)(86362001)(40480700001)(36756003)(81166007)(478600001)(40460700003)(70206006)(54906003)(316002)(70586007)(41300700001)(82740400003)(356005)(6486002)(26005)(53546011)(6512007)(47076005)(336012)(2906002)(5660300002)(6862004)(8676002)(6506007)(36860700001)(4326008)(2616005)(83380400001)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 02:12:26.6103
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e829f9f2-62bd-4ef5-a479-08dba2b53b08
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9060

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMiwgMjAyMywgYXQgMDU6MzQsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAxNC8wOC8yMDIzIDA1
OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gRnJvbTogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5n
QGFybS5jb20+DQo+PiBTTU1VIHN1YnN5c3RlbSBpcyBvbmx5IHN1cHBvcnRlZCBpbiBNTVUgc3lz
dGVtLCBzbyB3ZSBtYWtlIGl0IGRlcGVuZGVudA0KPj4gb24gQ09ORklHX0hBU19NTVUuDQo+IA0K
PiAib25seSBzdXBwb3J0ZWQiIGFzIGluIGl0IGRvZXNuJ3Qgd29yayB3aXRoIFhlbiBvciB0aGUg
SFcgaXMgbm90IHN1cHBvcnRpbmcgaXQ/DQoNCkkgdGhpbmsgY3VycmVudGx5IHRoZXJlIGFyZSBu
byBoYXJkd2FyZSBjb21iaW5hdGlvbiBvZiBNUFUgKyBTTU1VLCBidXQNCnRoZW9yZXRpY2FsbHkg
SSB0aGluayB0aGlzIGlzIGEgdmFsaWQgY29tYmluYXRpb24gc2luY2UgU01NVSBzdXBwb3J0cyB0
aGUgbGluZWFyDQptYXBwaW5nLiBTbyB3b3VsZCBiZWxvdyByZXdvcmQgbG9va3MgZ29vZCB0byB5
b3U6DQoNCuKAnEN1cnJlbnRseSB0aGUgaGFyZHdhcmUgdXNlIGNhc2Ugb2YgY29ubmVjdGluZyBT
TU1VIHRvIE1QVSBzeXN0ZW0gaXMgcmFyZWx5DQpzZWVuLCBzbyB3ZSBtYWtlIENPTkZJR19BUk1f
U01NVSBhbmQgQ09ORklHX0FSTV9TTU1VX1YzDQpkZXBlbmRlbnQgb24gQ09ORklHX01NVS4iIA0K
DQo+IA0KPiBBbHNvLCBJIGFtIG5vdCBlbnRpcmVseSBjb252aW5jZWQgdGhhdCBhbnl0aGluZyBp
biBwYXNzdGhyb3VnaCB3b3VsZCBwcm9wZXJseSB3b3JrIHdpdGggTVBVLiBBdCBsZWFzdCBub25l
IG9mIHRoZSBJT01NVSBkcml2ZXJzIGFyZS4gU28gSSB3b3VsZCBjb25zaWRlciB0byBjb21wbGV0
ZWx5IGRpc2FibGUgSEFTX1BBU1NUSFJPVUdILg0KDQpJIGFncmVlLCBkbyB5b3UgdGhpbmsgYWRk
aW5nIGJlbG93IGFkZGl0aW9uIGRpZmYgdG8gdGhpcyBwYXRjaCBtYWtlcyBzZW5zZSB0byB5b3U/
DQpJZiBzbyBJIGd1ZXNzIHdvdWxkIGFsc28gbmVlZCB0byBtZW50aW9uIHRoaXMgaW4gY29tbWl0
IG1lc3NhZ2UuDQoNCmBgYA0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVu
L2FyY2gvYXJtL0tjb25maWcNCmluZGV4IDhhN2I3OWI0YjUuLmZkMjlkMTRlZDYgMTAwNjQ0DQot
LS0gYS94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KKysrIGIveGVuL2FyY2gvYXJtL0tjb25maWcNCkBA
IC0xMyw3ICsxMyw3IEBAIGNvbmZpZyBBUk0NCiAgICAgICAgZGVmX2Jvb2wgeQ0KICAgICAgICBz
ZWxlY3QgSEFTX0FMVEVSTkFUSVZFDQogICAgICAgIHNlbGVjdCBIQVNfREVWSUNFX1RSRUUNCi0g
ICAgICAgc2VsZWN0IEhBU19QQVNTVEhST1VHSA0KKyAgICAgICBzZWxlY3QgSEFTX1BBU1NUSFJP
VUdIIGlmIE1NVQ0KICAgICAgICBzZWxlY3QgSEFTX1BEWA0KICAgICAgICBzZWxlY3QgSEFTX1VC
U0FODQogICAgICAgIHNlbGVjdCBJT01NVV9GT1JDRV9QVF9TSEFSRQ0KYGBgDQoNCktpbmQgcmVn
YXJkcywNCkhlbnJ5DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 02:43:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 02:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588045.919476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYHME-00056d-AA; Tue, 22 Aug 2023 02:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588045.919476; Tue, 22 Aug 2023 02: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 1qYHME-00056W-7T; Tue, 22 Aug 2023 02:43:02 +0000
Received: by outflank-mailman (input) for mailman id 588045;
 Tue, 22 Aug 2023 02: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=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYHMC-00056Q-Ha
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 02:43:00 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a257923-4095-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 04:42:58 +0200 (CEST)
Received: from AM0PR04CA0037.eurprd04.prod.outlook.com (2603:10a6:208:1::14)
 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.6699.20; Tue, 22 Aug
 2023 02:42:55 +0000
Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:1:cafe::cc) by AM0PR04CA0037.outlook.office365.com
 (2603:10a6:208:1::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 02:42:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Tue, 22 Aug 2023 02:42:53 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Tue, 22 Aug 2023 02:42:53 +0000
Received: from 2de5b0799983.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E290881E-C97D-4FDE-9BEE-95E1364DC09B.1; 
 Tue, 22 Aug 2023 02:42:42 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2de5b0799983.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 02:42:42 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB10097.eurprd08.prod.outlook.com (2603:10a6:20b:63f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 02:42:39 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 02:42:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a257923-4095-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UXrd6Ho9PBYykrx0+H6PFqj7CsmYZlUgMmxn7dsK4ww=;
 b=YFDGT2/3wkpMOAdt5hz4Zsji8bP1ruYQbAbjsmfQHGhu+wbi30YPWEbYWKGKX7K65vxxLk2nPX0fe/aq7LVLXcwfJubUs4KO/LcjyJCNP61gTAepOS+rguo9zfDqU9g/5JsAAciYqD+Kw+8BSw8mtlohQAJvqgQwWfgBeQpfdlU=
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: 052639f825cab308
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A7O0wCvrPuZzLGfYSCQO4hHYEjoQMCxWT2G/TB4ejlr7bOIPr6XZWll/KI9vfGhfO70u93E5EmhZSMC11IV488UWE9CM9DQAUsGcdT47+jjZ4ZDKdPiXlBwNsieNFBw2pY4ViG0dTFZOjjJdZdI+2OFv2JG1by4g+t/sHqtGcah7oZYzmHd3pMB7ADUeQoDoK8n9SOINqekvcgZSAd6x4hgKIkUBWADVXGph15g0r2dq+LWu06y1A4QgYZKJD0e+OMrXYRCIvse81l4n4meeF6LsgGjOuK8nu0R+dgIgsWG7WHzJRc7M7+dV6YzIujJRONsfMsccnp7lXqVEZ+3Hsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UXrd6Ho9PBYykrx0+H6PFqj7CsmYZlUgMmxn7dsK4ww=;
 b=gN2Ih+pDZcwxPGauyh4rMiAQns4K7/e7zPAyN6qDoiV72hJLs36xi+kk2XDV9coKnhxKZH/ewcHdTU6FhNaYIjxZwWJUIDUID49jICTgSyTsiYyJy4S0SFTTGAHDyfHtKC8NiUYEIrIjNIVHkdFW6JmveugV/iQmdAL0wTAw86dRN3XMw8yndSlK5cpwYidbRraAUUbQ9O1hflfgNr480O/k/It92mgEvXUoMlyIox5h7Rl1iHTEg9+JJmc6j/gIl1zmDCuQer2w8ytKg2I8Jy3NomZbRUji4KS3HE+32IP/NNntNpj4AOi5NrqKxm/a1V5JvI1o6woRLbKgYNOLkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=UXrd6Ho9PBYykrx0+H6PFqj7CsmYZlUgMmxn7dsK4ww=;
 b=YFDGT2/3wkpMOAdt5hz4Zsji8bP1ruYQbAbjsmfQHGhu+wbi30YPWEbYWKGKX7K65vxxLk2nPX0fe/aq7LVLXcwfJubUs4KO/LcjyJCNP61gTAepOS+rguo9zfDqU9g/5JsAAciYqD+Kw+8BSw8mtlohQAJvqgQwWfgBeQpfdlU=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Thread-Topic: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Thread-Index: AQHZzmeE4KXhY3mNtkSLYSr+mWg0ta/1GdYAgACN7QA=
Date: Tue, 22 Aug 2023 02:42:37 +0000
Message-ID: <65B3F435-4086-4DDE-A050-A7B741D67973@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-9-Henry.Wang@arm.com>
 <7503cbad-a0b9-4683-880f-1099ad62f2f7@xen.org>
In-Reply-To: <7503cbad-a0b9-4683-880f-1099ad62f2f7@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB10097:EE_|AM7EUR03FT018:EE_|DB9PR08MB9705:EE_
X-MS-Office365-Filtering-Correlation-Id: 611a58dc-6293-497c-ac5a-08dba2b97c20
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:
 EG7RB9j5XFBXXiFmJUT367uec2+/Z6jm2sxy7C7OK1aUc4gHNjSRRn2S74uH8vFo0VBtHETj1aFSkOZe1SB/TTzpBX1CtM0Uvo4YfIcjXqN9eyM0k7og84ZenoMwwpFNNc1JgLY/6RyvzWVexK1ODb3KhRjyTdpgbvfHzKj4cXvW+kBFrs49cQHJnvEUopsGjKIrU5lHHMW5dttG/lnz2TtwKJ60ung4U7Bm9wM06JYhNs1dogLs3WhOAmiLVVOGGF7o0667AZ00Vaaru9xpA4z2TSqeep6XAbVVk7fD6nCHyY98zA5aGAyxphe4Zh41H4Umym2rN73PsVGTqyY03tka1BKSBW4QdSeOMut+5jvyvX6YGTrrR8OG273xyEsTKIf2bUyGlrbTaM2PW7p452rAVBwr+LhFqNsmNjI6Fj91oQem8g82Tdaxrz2kn36yY6p+f1uyMOdxtKWxeDcOj/fmPi3Jej5sh1mwvbDEjIc2/nBlxEYuDy9nTEaeLeMFCG/6BY9s/CIv1/w8uNFpqknhTuMAnm3CTsvNELPqAlJ/+gdaA29vjmtr2XWJgwrB1f+ZCWjqiGPI/Nvo9Rd7eRqrE53etI9eBG2gR2D+nF7kmUfwYWsrgwjwwU1ZMhST/a1dF/zIDhMZlf+iff8nKw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(376002)(346002)(366004)(1800799009)(186009)(451199024)(54906003)(6916009)(66446008)(76116006)(66476007)(66556008)(64756008)(316002)(66946007)(6512007)(91956017)(8676002)(8936002)(2616005)(4326008)(41300700001)(36756003)(122000001)(478600001)(71200400001)(38100700002)(38070700005)(53546011)(6506007)(6486002)(83380400001)(2906002)(86362001)(5660300002)(33656002)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <264F5B5A660F224F96B177A2260E7DAB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10097
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1b020050-8b25-4f9b-ca06-08dba2b9725f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u6GZ8O9oE2hjArkHx487gAyNP7uY+slQUdg6WitHxagHgK0yIUKzVYGCLLEotdD+M8sBNkhuzIriZkJUoa42D0XxhmluA325sEWVQDrmyZY1Jmj0gkopS2Rekmjha/eMWmStGHfDylNO26w3YJxtsHiqaaOd/Z07Ax1dM8VVAFFDuODDnAU4ZAdgw//0R9a1HuIFgl5hg+pAghHvAMs69Fmw3nrDeBRtxf+DjNEYQjlJgBZ7mTh76HkPXBEhMWGoNKCKJR8iKf3PZxZnri7w95b42/ZCW9PHUEFhSkjq1jS3M29TmHRQtVDGiaLDTwv6lYXSbEEbJdZAYXbrchp32NEZzSWfoycwpY6PUwU/zvCV9+dC5vXmUQcZN9ULpCjqJiPJd1qrsUc9kbnXCl286YmgTEO2zEg64CUn2zkmyZpA3yHnEgmMVTZxgStdP5U+i0/uZT7RvsQDVgaAywIa7Pf6KmFYz7Pvdr4RrnGNft3WkkTFt4BMGNyxoNawXYsAe5rQmYxDR7JsjpokjAojny3IEm+6dkRO/+77Pj4nkZgj6WiWg2LB84Mv4PuRo/Q5Q9I99hAHyB6zj/d6s1yPBKZ2O86GdG7DAPtvsrTcfntiQEVsgvjFuxCou3als0PiWWiy6BTaFiGm2sMiQtm6qBl6OljppoXtrnj8yGcN8C8cTOvFlVegEEy2XqNrm8NZ2otfNu+YdjWkNthLvmqzDEist9aK/Qe3DkCtKMkGomM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(136003)(39860400002)(376002)(346002)(1800799009)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(54906003)(70586007)(70206006)(316002)(6512007)(8676002)(8936002)(2616005)(6862004)(107886003)(4326008)(41300700001)(40460700003)(36756003)(82740400003)(356005)(81166007)(478600001)(53546011)(6506007)(40480700001)(6486002)(83380400001)(2906002)(86362001)(47076005)(36860700001)(336012)(5660300002)(33656002)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 02:42:53.7597
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 611a58dc-6293-497c-ac5a-08dba2b97c20
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9705

Hi Julien,

> On Aug 22, 2023, at 02:14, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 14/08/2023 05:25, Henry Wang wrote:
>> From: Penny Zheng <penny.zheng@arm.com>
>>=20
>>  diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/a=
sm/fixmap.h
>> index 734eb9b1d4..5d5de6995a 100644
>> --- a/xen/arch/arm/include/asm/fixmap.h
>> +++ b/xen/arch/arm/include/asm/fixmap.h
>> @@ -36,12 +36,7 @@ extern void clear_fixmap(unsigned int map);
>>    #define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
>>  -static inline unsigned int virt_to_fix(vaddr_t vaddr)
>> -{
>> -    BUG_ON(vaddr >=3D FIXADDR_TOP || vaddr < FIXADDR_START);
>> -
>> -    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
>> -}
>> +extern unsigned int virt_to_fix(vaddr_t vaddr);
>=20
> AFAICT, virt_to_fix() is not going to be implemented for the MPU code. Th=
is implies that no-one should call it.
>=20
> Also, none of the definitions in fixmap.h actually makes sense for the MP=
U. I would prefer if we instead try to lmit the include of fixmap to when t=
his is strictly necessary. Looking for the inclusion in staging I could fin=
d:
>=20
> 42sh> ack "\#include" | ack "fixmap" | ack -v x86
> arch/arm/acpi/lib.c:28:#include <asm/fixmap.h>
> arch/arm/kernel.c:19:#include <asm/fixmap.h>
> arch/arm/mm.c:27:#include <asm/fixmap.h>
> arch/arm/include/asm/fixmap.h:7:#include <xen/acpi.h>
> arch/arm/include/asm/fixmap.h:8:#include <xen/pmap.h>
> arch/arm/include/asm/pmap.h:6:#include <asm/fixmap.h>
> arch/arm/include/asm/early_printk.h:14:#include <asm/fixmap.h>
> common/efi/boot.c:30:#include <asm/fixmap.h>
> common/pmap.c:7:#include <asm/fixmap.h>
> drivers/acpi/apei/erst.c:36:#include <asm/fixmap.h>
> drivers/acpi/apei/apei-io.c:32:#include <asm/fixmap.h>
> drivers/char/xhci-dbc.c:30:#include <asm/fixmap.h>
> drivers/char/ehci-dbgp.c:16:#include <asm/fixmap.h>
> drivers/char/ns16550.c:40:#include <asm/fixmap.h>
> drivers/char/xen_pv_console.c:28:#include <asm/fixmap.h>
>=20
> Some of them are gone after your rework. The only remaining that we care =
are in kernel.h (but I think it can be removed after your series).

I think you are correct, so I reverted the virt_to_fix() change from this p=
atch,
deleted the include of asm/fixmap.h in kernel.c and put this patch as the (=
last - 1)th
patch of the series. The building of Xen works fine.

Does below updated patch look good to you?
```
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index eb0413336b..8a7b79b4b5 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -15,7 +15,6 @@ config ARM
        select HAS_DEVICE_TREE
        select HAS_PASSTHROUGH
        select HAS_PDX
-       select HAS_PMAP
        select HAS_UBSAN
        select IOMMU_FORCE_PT_SHARE

@@ -61,6 +60,7 @@ config PADDR_BITS

 config MMU
        def_bool y
+       select HAS_PMAP

 source "arch/Kconfig"

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 0d433a32e7..bc3e5bd6f9 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -16,7 +16,6 @@
 #include <xen/vmap.h>

 #include <asm/byteorder.h>
-#include <asm/fixmap.h>
 #include <asm/kernel.h>
 #include <asm/setup.h>
```

I will update the commit message accordingly.

Kind regards,
Henry

>=20
> So I think it would be feasible to not touch fixmap.h at all.
>=20
> Cheers,
>=20
> --=20
> Julien Grall
>=20



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:48:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:48:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588053.919487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKEy-0007h0-DR; Tue, 22 Aug 2023 05:47:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588053.919487; Tue, 22 Aug 2023 05:47:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKEy-0007gt-95; Tue, 22 Aug 2023 05:47:44 +0000
Received: by outflank-mailman (input) for mailman id 588053;
 Tue, 22 Aug 2023 05:47:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKEx-0007gn-BL
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:47:43 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67efc47e-40af-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 07:47:40 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B9BB71F381;
 Tue, 22 Aug 2023 05:47:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 900F813251;
 Tue, 22 Aug 2023 05:47:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kt/jIftL5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:47: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: 67efc47e-40af-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683259; 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=EYrApyEOJTEQS4JO61Z+CQUaDUhQ5C2l7dQL6VRn1JY=;
	b=LN9bjf02yZYM8R6HxkHILiRdNbjwkSSlar6YGeJ9Y6lq2AAViuIm/OPbb2iPCdMw1LO/C1
	p9zfgfQx6+d0IRri/Y2PW3qG2pWTcZ776SKj13kqGn1UeH1L9JIlaHRJbpezwQDW7DvY6x
	yYaIg8x8742J5GZZYM9oXAcQKc3GY8M=
Message-ID: <e7cec145-4381-433b-84cc-fbf334d2abeb@suse.com>
Date: Tue, 22 Aug 2023 07:47:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/xenbus: Avoid a lockdep warning when adding a watch
Content-Language: en-US
To: Petr Pavlu <petr.pavlu@suse.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20230607123624.15739-1-petr.pavlu@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: <20230607123624.15739-1-petr.pavlu@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Pp8coBDRhGO3RbOHVSoIpJ27"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Pp8coBDRhGO3RbOHVSoIpJ27
Content-Type: multipart/mixed; boundary="------------N6LcqclRiV84yhka9fMnf30Y";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Petr Pavlu <petr.pavlu@suse.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <e7cec145-4381-433b-84cc-fbf334d2abeb@suse.com>
Subject: Re: [PATCH] xen/xenbus: Avoid a lockdep warning when adding a watch
References: <20230607123624.15739-1-petr.pavlu@suse.com>
In-Reply-To: <20230607123624.15739-1-petr.pavlu@suse.com>

--------------N6LcqclRiV84yhka9fMnf30Y
Content-Type: multipart/mixed; boundary="------------bvB0joPLfikJGZ70x1eeUomf"

--------------bvB0joPLfikJGZ70x1eeUomf
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMDYuMjMgMTQ6MzYsIFBldHIgUGF2bHUgd3JvdGU6DQo+IFRoZSBmb2xsb3dpbmcg
bG9ja2RlcCB3YXJuaW5nIGFwcGVhcnMgZHVyaW5nIGJvb3Qgb24gYSBYZW4gZG9tMCBzeXN0
ZW06DQo+IA0KPiBbICAgOTYuMzg4Nzk0XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gWyAgIDk2LjM4ODc5N10gV0FSTklORzog
cG9zc2libGUgY2lyY3VsYXIgbG9ja2luZyBkZXBlbmRlbmN5IGRldGVjdGVkDQo+IFsgICA5
Ni4zODg3OTldIDYuNC4wLXJjNS1kZWZhdWx0KyAjOCBUYWludGVkOiBHICAgICAgICAgICAg
RUwNCj4gWyAgIDk2LjM4ODgwM10gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFsgICA5Ni4zODg4MDRdIHhlbmNvbnNvbGVkLzEz
MzAgaXMgdHJ5aW5nIHRvIGFjcXVpcmUgbG9jazoNCj4gWyAgIDk2LjM4ODgwOF0gZmZmZmZm
ZmY4MmFjZGQxMCAoeHNfd2F0Y2hfcndzZW0peysrKyt9LXszOjN9LCBhdDogcmVnaXN0ZXJf
eGVuYnVzX3dhdGNoKzB4NDUvMHgxNDANCj4gWyAgIDk2LjM4ODg0N10NCj4gICAgICAgICAg
ICAgICAgIGJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBsb2NrOg0KPiBbICAgOTYuMzg4
ODQ5XSBmZmZmODg4MTAwYzkyMDY4ICgmdS0+bXNnYnVmZmVyX211dGV4KXsrLisufS17Mzoz
fSwgYXQ6IHhlbmJ1c19maWxlX3dyaXRlKzB4MmMvMHg2MDANCj4gWyAgIDk2LjM4ODg2Ml0N
Cj4gICAgICAgICAgICAgICAgIHdoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9uIHRoZSBu
ZXcgbG9jay4NCj4gDQo+IFsgICA5Ni4zODg4NjRdDQo+ICAgICAgICAgICAgICAgICB0aGUg
ZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJzZSBvcmRlcikgaXM6DQo+IFsg
ICA5Ni4zODg4NjZdDQo+ICAgICAgICAgICAgICAgICAtPiAjMiAoJnUtPm1zZ2J1ZmZlcl9t
dXRleCl7Ky4rLn0tezM6M306DQo+IFsgICA5Ni4zODg4NzRdICAgICAgICBfX211dGV4X2xv
Y2srMHg4NS8weGIzMA0KPiBbICAgOTYuMzg4ODg1XSAgICAgICAgeGVuYnVzX2Rldl9xdWV1
ZV9yZXBseSsweDQ4LzB4MmIwDQo+IFsgICA5Ni4zODg4OTBdICAgICAgICB4ZW5idXNfdGhy
ZWFkKzB4MWQ3LzB4OTUwDQo+IFsgICA5Ni4zODg4OTddICAgICAgICBrdGhyZWFkKzB4ZTcv
MHgxMjANCj4gWyAgIDk2LjM4ODkwNV0gICAgICAgIHJldF9mcm9tX2ZvcmsrMHgyYy8weDUw
DQo+IFsgICA5Ni4zODg5MTRdDQo+ICAgICAgICAgICAgICAgICAtPiAjMSAoeHNfcmVzcG9u
c2VfbXV0ZXgpeysuKy59LXszOjN9Og0KPiBbICAgOTYuMzg4OTIzXSAgICAgICAgX19tdXRl
eF9sb2NrKzB4ODUvMHhiMzANCj4gWyAgIDk2LjM4ODkzMF0gICAgICAgIHhlbmJ1c19iYWNr
ZW5kX2lvY3RsKzB4NTYvMHgxYzANCj4gWyAgIDk2LjM4ODkzNV0gICAgICAgIF9feDY0X3N5
c19pb2N0bCsweDkwLzB4ZDANCj4gWyAgIDk2LjM4ODk0Ml0gICAgICAgIGRvX3N5c2NhbGxf
NjQrMHg1Yy8weDkwDQo+IFsgICA5Ni4zODg5NTBdICAgICAgICBlbnRyeV9TWVNDQUxMXzY0
X2FmdGVyX2h3ZnJhbWUrMHg3Mi8weGRjDQo+IFsgICA5Ni4zODg5NTddDQo+ICAgICAgICAg
ICAgICAgICAtPiAjMCAoeHNfd2F0Y2hfcndzZW0peysrKyt9LXszOjN9Og0KPiBbICAgOTYu
Mzg4OTY1XSAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNTM4LzB4MjI2MA0KPiBbICAgOTYu
Mzg4OTcyXSAgICAgICAgbG9ja19hY3F1aXJlKzB4YzYvMHgyYjANCj4gWyAgIDk2LjM4ODk3
Nl0gICAgICAgIGRvd25fcmVhZCsweDJkLzB4MTYwDQo+IFsgICA5Ni4zODg5ODNdICAgICAg
ICByZWdpc3Rlcl94ZW5idXNfd2F0Y2grMHg0NS8weDE0MA0KPiBbICAgOTYuMzg4OTkwXSAg
ICAgICAgeGVuYnVzX2ZpbGVfd3JpdGUrMHg1M2QvMHg2MDANCj4gWyAgIDk2LjM4ODk5NF0g
ICAgICAgIHZmc193cml0ZSsweGU0LzB4NDkwDQo+IFsgICA5Ni4zODkwMDNdICAgICAgICBr
c3lzX3dyaXRlKzB4YjgvMHhmMA0KPiBbICAgOTYuMzg5MDExXSAgICAgICAgZG9fc3lzY2Fs
bF82NCsweDVjLzB4OTANCj4gWyAgIDk2LjM4OTAxN10gICAgICAgIGVudHJ5X1NZU0NBTExf
NjRfYWZ0ZXJfaHdmcmFtZSsweDcyLzB4ZGMNCj4gWyAgIDk2LjM4OTAyM10NCj4gICAgICAg
ICAgICAgICAgIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6DQo+
IA0KPiBbICAgOTYuMzg5MDI1XSBDaGFpbiBleGlzdHMgb2Y6DQo+ICAgICAgICAgICAgICAg
ICAgIHhzX3dhdGNoX3J3c2VtIC0tPiB4c19yZXNwb25zZV9tdXRleCAtLT4gJnUtPm1zZ2J1
ZmZlcl9tdXRleA0KPiANCj4gWyAgIDk2LjQxMzQyOV0gIFBvc3NpYmxlIHVuc2FmZSBsb2Nr
aW5nIHNjZW5hcmlvOg0KPiANCj4gWyAgIDk2LjQxMzQzMF0gICAgICAgIENQVTAgICAgICAg
ICAgICAgICAgICAgIENQVTENCj4gWyAgIDk2LjQxMzQzMF0gICAgICAgIC0tLS0gICAgICAg
ICAgICAgICAgICAgIC0tLS0NCj4gWyAgIDk2LjQxMzQzMV0gICBsb2NrKCZ1LT5tc2didWZm
ZXJfbXV0ZXgpOw0KPiBbICAgOTYuNDEzNDMyXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jayh4c19yZXNwb25zZV9tdXRleCk7DQo+IFsgICA5Ni40MTM0MzNdICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrKCZ1LT5tc2didWZmZXJfbXV0ZXgpOw0K
PiBbICAgOTYuNDEzNDM0XSAgIHJsb2NrKHhzX3dhdGNoX3J3c2VtKTsNCj4gWyAgIDk2LjQx
MzQzNl0NCj4gICAgICAgICAgICAgICAgICAqKiogREVBRExPQ0sgKioqDQo+IA0KPiBbICAg
OTYuNDEzNDM2XSAxIGxvY2sgaGVsZCBieSB4ZW5jb25zb2xlZC8xMzMwOg0KPiBbICAgOTYu
NDEzNDM4XSAgIzA6IGZmZmY4ODgxMDBjOTIwNjggKCZ1LT5tc2didWZmZXJfbXV0ZXgpeysu
Ky59LXszOjN9LCBhdDogeGVuYnVzX2ZpbGVfd3JpdGUrMHgyYy8weDYwMA0KPiBbICAgOTYu
NDEzNDQ2XQ0KPiANCj4gQW4gaW9jdGwgY2FsbCBJT0NUTF9YRU5CVVNfQkFDS0VORF9TRVRV
UCAocmVjb3JkICMxIGluIHRoZSByZXBvcnQpDQo+IHJlc3VsdHMgaW4gY2FsbGluZyB4ZW5i
dXNfYWxsb2MoKSAtPiB4c19zdXNwZW5kKCkgd2hpY2ggaW50cm9kdWNlcw0KPiBvcmRlcmlu
ZyB4c193YXRjaF9yd3NlbSAtLT4geHNfcmVzcG9uc2VfbXV0ZXguIFRoZSB4ZW5idXNfdGhy
ZWFkKCkNCj4gb3BlcmF0aW9uIChyZWNvcmQgIzIpIGNyZWF0ZXMgeHNfcmVzcG9uc2VfbXV0
ZXggLS0+ICZ1LT5tc2didWZmZXJfbXV0ZXguDQo+IEFuIFhTX1dBVENIIHdyaXRlIHRvIHRo
ZSB4ZW5idXMgZmlsZSB0aGVuIHJlc3VsdHMgaW4gYSBjb21wbGFpbiBhYm91dA0KPiB0aGUg
b3Bwb3NpdGUgbG9jayBvcmRlciAmdS0+bXNnYnVmZmVyX211dGV4IC0tPiB4c193YXRjaF9y
d3NlbS4NCj4gDQo+IFRoZSBkZXBlbmRlbmN5IHhzX3dhdGNoX3J3c2VtIC0tPiB4c19yZXNw
b25zZV9tdXRleCBpcyBzcHVyaW91cy4gQXZvaWQNCj4gaXQgYW5kIHRoZSB3YXJuaW5nIGJ5
IGNoYW5naW5nIHRoZSBvcmRlcmluZyBpbiB4c19zdXNwZW5kKCksIGZpcnN0DQo+IGFjcXVp
cmUgeHNfcmVzcG9uc2VfbXV0ZXggYW5kIHRoZW4geHNfd2F0Y2hfcndzZW0uIFJldmVyc2Ug
YWxzbyB0aGUNCj4gdW5sb2NraW5nIG9yZGVyIGluIHhzX3N1c3BlbmRfY2FuY2VsKCkgZm9y
IGNvbnNpc3RlbmN5LCBidXQga2VlcA0KPiB4c19yZXN1bWUoKSBhcyBpcyBiZWNhdXNlIGl0
IG5lZWRzIHRvIGhhdmUgeHNfd2F0Y2hfcndzZW0gdW5sb2NrZWQgb25seQ0KPiBhZnRlciBl
eGl0aW5nIHhzIHN1c3BlbmQgYW5kIHJlLWFkZGluZyBhbGwgd2F0Y2hlcy4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IFBldHIgUGF2bHUgPHBldHIucGF2bHVAc3VzZS5jb20+DQoNClJldmll
d2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNClNvcnJ5IGl0IHRv
b2sgc28gbG9uZywNCg0KDQpKdWVyZ2VuDQoNCg==
--------------bvB0joPLfikJGZ70x1eeUomf
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------bvB0joPLfikJGZ70x1eeUomf--

--------------N6LcqclRiV84yhka9fMnf30Y--

--------------Pp8coBDRhGO3RbOHVSoIpJ27
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/Ey8FAmTkS/sFAwAAAAAACgkQsN6d1ii/Ey+K
OAf/RVTGECMSWqhHkDp41PIih1x96DGqoe0XV4gmn9yJ/peG/7E9RHfYcydzycNk8XJ66QUzEIYD
dx8CNh7jR/zaPhFzIPCIW14eCeFYL3B9Lhs432QyGxOSiH4CtaJAL6g2edgyJSa5Wf4CmB1AqWrH
NgOeT+k34xVHkhaXVzDIZLQF56grYIFUmY98pARYX2tLKNeJoEWjPFW819Gs1gaIJhjna4PgEpWg
HAo1g87O2PZjgHq4WHeYpMsBC1TGXBZrCoQk7i4CMa9B/2MTHktPeCweKk96SKqMcN+pJr+5huT+
KSFehe4Ajap9qu22PYZ4oOApKmkwg6NY13ghjmBLDw==
=XGlq
-----END PGP SIGNATURE-----

--------------Pp8coBDRhGO3RbOHVSoIpJ27--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:49:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:49:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588058.919496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKGJ-0008Cz-MK; Tue, 22 Aug 2023 05:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588058.919496; Tue, 22 Aug 2023 05:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKGJ-0008Cs-JV; Tue, 22 Aug 2023 05:49:07 +0000
Received: by outflank-mailman (input) for mailman id 588058;
 Tue, 22 Aug 2023 05:49: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKGI-0008CU-Bu
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:49:06 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99d9719a-40af-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:49:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B3D5522C44;
 Tue, 22 Aug 2023 05:49:03 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 89A6F13251;
 Tue, 22 Aug 2023 05:49:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QN6yH09M5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:49: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: 99d9719a-40af-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683343; 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=vXl13OYwzqP3btuTipb1YwlJ+A0lerjLj9pWdPMs6q4=;
	b=KatofwXdVgnZ4llciBDlpPDVUsMUZ8ajkfL0/YjHGrGtfJrjiX4x4q3HaqqENXW0s2IwlZ
	rRgJoTzxWsfXKcZ3VCuHpiy3uUO7wwR9mfaj2tbd4Efpt24j6HA5ea1J2w/nBHFjlEwBMk
	6nnQkjNW4P10sW7Wwt/gcRyKMpFyfqY=
Message-ID: <9a0faba7-8e89-4e00-befa-01771b3227e5@suse.com>
Date: Tue, 22 Aug 2023 07:49:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
Content-Language: en-US
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, rahul.singh@arm.com
Cc: xen-devel@lists.xenproject.org
References: <20230801145413.40684-1-yuehaibing@huawei.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: <20230801145413.40684-1-yuehaibing@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------IiVbKgMhg1y0SyDgf2EceUgD"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------IiVbKgMhg1y0SyDgf2EceUgD
Content-Type: multipart/mixed; boundary="------------Aa4wk0Nm4aC1400VXa8emzGB";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, rahul.singh@arm.com
Cc: xen-devel@lists.xenproject.org
Message-ID: <9a0faba7-8e89-4e00-befa-01771b3227e5@suse.com>
Subject: Re: [PATCH -next] xen/evtchn: Remove unused function declaration
 xen_set_affinity_evtchn()
References: <20230801145413.40684-1-yuehaibing@huawei.com>
In-Reply-To: <20230801145413.40684-1-yuehaibing@huawei.com>

--------------Aa4wk0Nm4aC1400VXa8emzGB
Content-Type: multipart/mixed; boundary="------------C9H4KsFCflFajjfWQe19plPw"

--------------C9H4KsFCflFajjfWQe19plPw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMDguMjMgMTY6NTQsIFl1ZSBIYWliaW5nIHdyb3RlOg0KPiBDb21taXQgNjc0NzNi
ODE5NGJjICgieGVuL2V2ZW50czogUmVtb3ZlIGRpc2Z1bmN0IGFmZmluaXR5IHNwcmVhZGlu
ZyIpDQo+IGxlYXZlIHRoaXMgdW51c2VkIGRlY2xhcmF0aW9uLg0KPiANCj4gU2lnbmVkLW9m
Zi1ieTogWXVlIEhhaWJpbmcgPHl1ZWhhaWJpbmdAaHVhd2VpLmNvbT4NCg0KUHVzaGVkIHRv
IHhlbi90aXAuZ2l0IGZvci1saW51cy02LjYNCg0KDQpKdWVyZ2VuDQoNCg==
--------------C9H4KsFCflFajjfWQe19plPw
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------C9H4KsFCflFajjfWQe19plPw--

--------------Aa4wk0Nm4aC1400VXa8emzGB--

--------------IiVbKgMhg1y0SyDgf2EceUgD
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/Ey8FAmTkTE8FAwAAAAAACgkQsN6d1ii/Ey/s
5wf/SihVjv+qe3pKB6BbUQUTUYZvqab4hTB4YvgkLsY0lLQuArRVljn1Mq7cDrHFDlh0xzPpc+F8
9zVYXBI5LY2V1RBqMyjlscpyK+mW7iQ/SXfusuws+VTAVoBYVdFmad8Rxc6VD/kLv7mXpNFR78r/
Iqp2eK25ecyHR6qTgFUhvKW6X+hq+ELINgZZtw4yPHT6GBx6gT6CcOxIMO8pJoO4zMzZ/n7mkGus
OqyMcCTMfhAkX6hWYAnLfPdxDzVBNu04shI5bTh8O0oECLXBDXh65p7F6TqfErkwupVznindSPsj
1szc1vZ45XVR63ZiSdzjw2NzNPtc/tVFqR5eQ+KpYw==
=jzAn
-----END PGP SIGNATURE-----

--------------IiVbKgMhg1y0SyDgf2EceUgD--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:49:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:49:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588062.919506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKGm-0000GE-Ug; Tue, 22 Aug 2023 05:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588062.919506; Tue, 22 Aug 2023 05: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 1qYKGm-0000G7-Rg; Tue, 22 Aug 2023 05:49:36 +0000
Received: by outflank-mailman (input) for mailman id 588062;
 Tue, 22 Aug 2023 05: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKGl-0000EN-DM
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:49:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab8eac36-40af-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 07:49:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9444022C2B;
 Tue, 22 Aug 2023 05:49:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3E0E413251;
 Tue, 22 Aug 2023 05:49:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iAT5C21M5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05: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: ab8eac36-40af-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683373; 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=3ceUnHM3MdAboschXSSic0CfMj7VA6Ed3vzqg3V8bWo=;
	b=r0QWl8MQ2PpEZSuUec7KxlQmpC7zOVtYaisok1uvNX4PWPYsYo9HpI7nXSNqk6dpIWfetw
	ggMZ6uOQ4Lv5sXjtj72Dh3b5yAFM/7BVo3Q4A0+3ugASBpbxg/R5ddPDsRZgsK1NSUO2WJ
	1w8h5muSN6MVyWahw5OHWqF3Ibb+WG0=
Message-ID: <85e1244c-b657-43a9-abac-bf7464d4794d@suse.com>
Date: Tue, 22 Aug 2023 07:49:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen: remove a confusing comment on auto-translated
 guest I/O
Content-Language: en-US
To: Petr Tesarik <petrtesarik@huaweicloud.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>,
 "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
 "H. Peter Anvin" <hpa@zytor.com>,
 "moderated list:XEN HYPERVISOR X86" <xen-devel@lists.xenproject.org>,
 "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
 <linux-kernel@vger.kernel.org>
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
References: <20230802163151.1486-1-petrtesarik@huaweicloud.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: <20230802163151.1486-1-petrtesarik@huaweicloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------qqJIlfO7HnRrDj42ICzZODzZ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------qqJIlfO7HnRrDj42ICzZODzZ
Content-Type: multipart/mixed; boundary="------------z6xVhrRcDMnGURa8ckUK80ba";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Petr Tesarik <petrtesarik@huaweicloud.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>,
 "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
 "H. Peter Anvin" <hpa@zytor.com>,
 "moderated list:XEN HYPERVISOR X86" <xen-devel@lists.xenproject.org>,
 "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
 <linux-kernel@vger.kernel.org>
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Message-ID: <85e1244c-b657-43a9-abac-bf7464d4794d@suse.com>
Subject: Re: [PATCH v1] xen: remove a confusing comment on auto-translated
 guest I/O
References: <20230802163151.1486-1-petrtesarik@huaweicloud.com>
In-Reply-To: <20230802163151.1486-1-petrtesarik@huaweicloud.com>

--------------z6xVhrRcDMnGURa8ckUK80ba
Content-Type: multipart/mixed; boundary="------------388wybnVcA7JyfyYrCXYzNND"

--------------388wybnVcA7JyfyYrCXYzNND
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDIuMDguMjMgMTg6MzEsIFBldHIgVGVzYXJpayB3cm90ZToNCj4gRnJvbTogUGV0ciBU
ZXNhcmlrIDxwZXRyLnRlc2FyaWsuZXh0QGh1YXdlaS5jb20+DQo+IA0KPiBBZnRlciByZW1v
dmluZyB0aGUgY29uZGl0aW9uYWwgcmV0dXJuIGZyb20geGVuX2NyZWF0ZV9jb250aWd1b3Vz
X3JlZ2lvbigpLA0KPiB0aGUgYWNjb21wYW55aW5nIGNvbW1lbnQgd2FzIGxlZnQgaW4gcGxh
Y2UsIGJ1dCBpdCBub3cgcHJlY2VkZXMgYW4NCj4gdW5yZWxhdGVkIGNvbmRpdGlvbmFsIGFu
ZCBjb25mdXNlcyByZWFkZXJzLg0KPiANCj4gRml4ZXM6IDk4OTUxM2E3MzVmNSAoInhlbjog
Y2xlYW51cCBwdmggbGVmdG92ZXJzIGZyb20gcHYtb25seSBzb3VyY2VzIikNCj4gU2lnbmVk
LW9mZi1ieTogUGV0ciBUZXNhcmlrIDxwZXRyLnRlc2FyaWsuZXh0QGh1YXdlaS5jb20+DQoN
ClB1c2hlZCB0byB4ZW4vdGlwLmdpdCBmb3ItbGludXMtNi42DQoNCg0KSnVlcmdlbg0KDQo=

--------------388wybnVcA7JyfyYrCXYzNND
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------388wybnVcA7JyfyYrCXYzNND--

--------------z6xVhrRcDMnGURa8ckUK80ba--

--------------qqJIlfO7HnRrDj42ICzZODzZ
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/Ey8FAmTkTG0FAwAAAAAACgkQsN6d1ii/Ey/r
Gwf7B24NQTsBPH9af8qpXPWkUhCCsrh0JTzZVIAf8g1oaPltvUBqfLPHOLDVTHxvP0xxJfmGcFpw
HG4LBYBgCsGWd3tCErZHv3YKxKQrmvXYIZ5fzk+4NqDwDgVwnnWbndeZsC7PHjDHQl+zzSosXKWQ
BDm6WONS4pJ0aHDFl3VJSIpAeF/IeXAjCpeRzKoOJLS70jzOt0OWar838yY/G1rttL1fIOvdTc43
e7jI0jn6CGcbrqsTQFU7x/tN1B2rz1mX9XuLfiXMuErrgC17g9aqkgNEsNbHrnni9XLA+mIfv0dn
bm9yLiHn56LOsFD1VWKRd4y0ohpX8IQNpE89Y/fuZA==
=MlBP
-----END PGP SIGNATURE-----

--------------qqJIlfO7HnRrDj42ICzZODzZ--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:50:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588071.919516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKHK-0001sl-9D; Tue, 22 Aug 2023 05:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588071.919516; Tue, 22 Aug 2023 05: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 1qYKHK-0001se-6Y; Tue, 22 Aug 2023 05:50:10 +0000
Received: by outflank-mailman (input) for mailman id 588071;
 Tue, 22 Aug 2023 05:50:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKHI-0000WF-8J
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:50:08 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfbe7c36-40af-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:50:07 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 752471F85D;
 Tue, 22 Aug 2023 05:50:07 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2E59113251;
 Tue, 22 Aug 2023 05:50:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id aMvCCY9M5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:50:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfbe7c36-40af-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683407; 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=zWPx0WthQYn2Gk8iCQpP4fzg+K4ErLNanF/wDoeH9pc=;
	b=rvoX4bUtSYAlnvfkOWOf7PDD6blrBC/ye5oa+cpEScose/nYUXWE7A24kakuJjDdQHohzd
	BCp7v4G8ivNapRUmE9cCr9QoDAPFkcLQnTro/gtGHWXfRPagZKUo3kqh8hlV/GscGplmJW
	f4aT4LL9rq5+WPW79vW4E0JalyjglL4=
Message-ID: <f7423d4e-b24b-4bf4-8ec9-39107a09590c@suse.com>
Date: Tue, 22 Aug 2023 07:50:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/xen: Make virt_to_pfn() a static inline
Content-Language: en-US
To: Linus Walleij <linus.walleij@linaro.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
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: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------AVuXEM9h6sZbNt7MZV2r00hd"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------AVuXEM9h6sZbNt7MZV2r00hd
Content-Type: multipart/mixed; boundary="------------OsVmAI6DUB6lxOWEF6gTunUP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Linus Walleij <linus.walleij@linaro.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <f7423d4e-b24b-4bf4-8ec9-39107a09590c@suse.com>
Subject: Re: [PATCH] x86/xen: Make virt_to_pfn() a static inline
References: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>
In-Reply-To: <20230810-virt-to-phys-x86-xen-v1-1-9e966d333e7a@linaro.org>

--------------OsVmAI6DUB6lxOWEF6gTunUP
Content-Type: multipart/mixed; boundary="------------0VLF67F0FSd0a6UOSN96QXqu"

--------------0VLF67F0FSd0a6UOSN96QXqu
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMDguMjMgMDk6MjcsIExpbnVzIFdhbGxlaWogd3JvdGU6DQo+IE1ha2luZyB2aXJ0
X3RvX3BmbigpIGEgc3RhdGljIGlubGluZSB0YWtpbmcgYSBzdHJvbmdseSB0eXBlZA0KPiAo
Y29uc3Qgdm9pZCAqKSBtYWtlcyB0aGUgY29udHJhY3Qgb2YgYSBwYXNzaW5nIGEgcG9pbnRl
ciBvZiB0aGF0DQo+IHR5cGUgdG8gdGhlIGZ1bmN0aW9uIGV4cGxpY2l0IGFuZCBleHBvc2Vz
IGFueSBtaXN1c2Ugb2YgdGhlDQo+IG1hY3JvIHZpcnRfdG9fcGZuKCkgYWN0aW5nIHBvbHlt
b3JwaGljIGFuZCBhY2NlcHRpbmcgbWFueSB0eXBlcw0KPiBzdWNoIGFzICh2b2lkICopLCAo
dW5pdHB0cl90KSBvciAodW5zaWduZWQgbG9uZykgYXMgYXJndW1lbnRzDQo+IHdpdGhvdXQg
d2FybmluZ3MuDQo+IA0KPiBBbHNvIGZpeCBhbGwgb2ZmZW5kaW5nIGNhbGwgc2l0ZXMgdG8g
cGFzcyBhICh2b2lkICopIHJhdGhlcg0KPiB0aGFuIGFuIHVuc2lnbmVkIGxvbmcuIFNpbmNl
IHZpcnRfdG9fbWZuKCkgaXMgd3JhcHBpbmcNCj4gdmlydF90b19wZm4oKSB0aGlzIGZ1bmN0
aW9uIGhhcyBiZWNvbWUgcG9seW1vcnBoaWMgYXMgd2VsbA0KPiBzbyB0aGUgdXNhZ2UgbmVl
ZCB0byBiZSBmaXhlZCB1cC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IExpbnVzIFdhbGxlaWog
PGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4NCg0KUHVzaGVkIHRvIHhlbi90aXAuZ2l0IGZv
ci1saW51cy02LjYNCg0KDQpKdWVyZ2VuDQoNCg==
--------------0VLF67F0FSd0a6UOSN96QXqu
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0VLF67F0FSd0a6UOSN96QXqu--

--------------OsVmAI6DUB6lxOWEF6gTunUP--

--------------AVuXEM9h6sZbNt7MZV2r00hd
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/Ey8FAmTkTI8FAwAAAAAACgkQsN6d1ii/Ey8G
kQgAluqlNq78cnIv+VtU5Mmleim5Y5qQsaY6O8bWhojVBO4qZYKzgR614WGHXfO27x0T1yLBGqXM
UpHup9X0aVjzGAHQsHNxSnKCgpb+kTTrj6m5sB+SfIcLSBiBIfvw53O0umMGZ0Fk0CIu+JqJcwaz
kkLHO5ZtcqSFQI9S60f5hg4avIkzdElJmyprH78hvCaiiRuuRWkWh/TpMZMQxF43K401zbBnHewJ
8cDy4iNrDWlDRLQByrVmkihWnH3wl7MDKeTROaCV36nVLTrpgcZ/5+k5S9E3AUM4/kKDPaid6ird
dWnzFLf9il4a6BCVk7nZX1qaJfKvoZkSALRWVQh8zA==
=iA+x
-----END PGP SIGNATURE-----

--------------AVuXEM9h6sZbNt7MZV2r00hd--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:50:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588075.919527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKHl-0002OA-K4; Tue, 22 Aug 2023 05:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588075.919527; Tue, 22 Aug 2023 05: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 1qYKHl-0002Nz-FC; Tue, 22 Aug 2023 05:50:37 +0000
Received: by outflank-mailman (input) for mailman id 588075;
 Tue, 22 Aug 2023 05: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKHk-0000WF-Aj
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:50:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d07e8330-40af-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:50:35 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9053722C44;
 Tue, 22 Aug 2023 05:50:35 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6B7DA13251;
 Tue, 22 Aug 2023 05:50:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YMSaGKtM5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:50:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d07e8330-40af-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683435; 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=qC+IxPdh0tpsdRXJ4F86vv4wtwOlEu7B4ocSrRdw/io=;
	b=iP06WW9xMLXXaCL3p82fGiU7VkbPdnH/K45loxrLFhUI+gmL+x9WDo0WD52jgN+/bFg8Hb
	oH+FkQK3Amur7gayQzDQEnffNdjGCybXpclP5iOC2tjOIjZjbkguos7M83g8dhHnh0qYOh
	ezL3lfRdWHZXcfZJTeJoqq4k86SpThk=
Message-ID: <80442a00-72a2-44d6-a584-cf5339ce96ae@suse.com>
Date: Tue, 22 Aug 2023 07:50:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen-pciback: Remove unused function declarations
Content-Language: en-US
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org
References: <20230808150912.43416-1-yuehaibing@huawei.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: <20230808150912.43416-1-yuehaibing@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------qfrej7kHvhrgFDiwj5JfWN7f"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------qfrej7kHvhrgFDiwj5JfWN7f
Content-Type: multipart/mixed; boundary="------------XBicS01S0Z0pnC0U5twB6lj1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yue Haibing <yuehaibing@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org
Message-ID: <80442a00-72a2-44d6-a584-cf5339ce96ae@suse.com>
Subject: Re: [PATCH -next] xen-pciback: Remove unused function declarations
References: <20230808150912.43416-1-yuehaibing@huawei.com>
In-Reply-To: <20230808150912.43416-1-yuehaibing@huawei.com>

--------------XBicS01S0Z0pnC0U5twB6lj1
Content-Type: multipart/mixed; boundary="------------OXJqkWW5yT7NcAUgeQVlXG05"

--------------OXJqkWW5yT7NcAUgeQVlXG05
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMDguMjMgMTc6MDksIFl1ZSBIYWliaW5nIHdyb3RlOg0KPiBDb21taXQgYTkyMzM2
YTExNzZiICgieGVuL3BjaWJhY2s6IERyb3AgdHdvIGJhY2tlbmRzLCBzcXVhc2ggYW5kIGNs
ZWFudXAgc29tZSBjb2RlLiIpDQo+IGRlY2xhcmVkIGJ1dCBuZXZlciBpbXBsZW1lbnRlZCB0
aGVzZSBmdW5jdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBZdWUgSGFpYmluZyA8eXVl
aGFpYmluZ0BodWF3ZWkuY29tPg0KDQpQdXNoZWQgdG8geGVuL3RpcC5naXQgZm9yLWxpbnVz
LTYuNg0KDQoNCkp1ZXJnZW4NCg0K
--------------OXJqkWW5yT7NcAUgeQVlXG05
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------OXJqkWW5yT7NcAUgeQVlXG05--

--------------XBicS01S0Z0pnC0U5twB6lj1--

--------------qfrej7kHvhrgFDiwj5JfWN7f
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/Ey8FAmTkTKsFAwAAAAAACgkQsN6d1ii/Ey9z
cgf/dNFtptY3FvJ//tqzoTBWhvbDeh2gd1dGBAcF/1d2kcyVInwgKrFr9BlKVSW4/OROGxnp9rtj
ScPq12831tmvqQt+BZVXLaqmjUJR7z8M/q2nWId1b4GlzzZJzD7JKVFxZETzaTTVQHlNp920LZzb
X4jOj7CkvvS5OtKFTNnZepwkQwy4ejwhQKpBlNI61Kt/USzUMHJmPvhNnb6SpywJRZonNsa2SIBY
6b16DWmEg7iK77BsUSwILjHqLsT38I2iZFb/M2iHML207BhoWR9EZsGC4+0ACCL/ReIlUxUfzJ9C
KU7G7gpXHMzh5ZVkVhBgu9jk3xBb30s601CRyKIuSg==
=U9MW
-----END PGP SIGNATURE-----

--------------qfrej7kHvhrgFDiwj5JfWN7f--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:51:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:51:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588082.919536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKID-0002wB-RQ; Tue, 22 Aug 2023 05:51:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588082.919536; Tue, 22 Aug 2023 05:51:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKID-0002w4-OZ; Tue, 22 Aug 2023 05:51:05 +0000
Received: by outflank-mailman (input) for mailman id 588082;
 Tue, 22 Aug 2023 05:51: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKIC-0000WF-IB
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:51:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1536d4d-40af-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:51:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CABF522C44;
 Tue, 22 Aug 2023 05:51:03 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9F7E713251;
 Tue, 22 Aug 2023 05:51:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6NFNJcdM5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:51:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1536d4d-40af-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683463; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=J0kb2HgsMQTUDxkWR/e9dtVAmo24C7b7oYSAi/cCx8A=;
	b=HvrByRce8Rs33tR9cpT4SXmzkb3jjdR7E3+ADAva5c23bvRHILta4qhO7xCeyLbaXLeOZ2
	APhyVWSAln+Q59sVJySpmC508BpGYKJlXAZFzjbM8M7pOyDiusnvw+VWsEo16dAI8WpyS4
	x1nSvmgLyUs1DaoDM+DGEbmXoZcczSo=
Message-ID: <462b0ab1-216a-4a1e-a398-abe1b76927d9@suse.com>
Date: Tue, 22 Aug 2023 07:51:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: Switch to use kmemdup() helper
Content-Language: en-US
To: Ruan Jinjie <ruanjinjie@huawei.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230815092434.1206386-1-ruanjinjie@huawei.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: <20230815092434.1206386-1-ruanjinjie@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------R2t0G9BLzasWdHt3C7nsxUXI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------R2t0G9BLzasWdHt3C7nsxUXI
Content-Type: multipart/mixed; boundary="------------N6PvwfWY9Vl1qTi3NBarqYZW";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ruan Jinjie <ruanjinjie@huawei.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Message-ID: <462b0ab1-216a-4a1e-a398-abe1b76927d9@suse.com>
Subject: Re: [PATCH -next] xen: Switch to use kmemdup() helper
References: <20230815092434.1206386-1-ruanjinjie@huawei.com>
In-Reply-To: <20230815092434.1206386-1-ruanjinjie@huawei.com>

--------------N6PvwfWY9Vl1qTi3NBarqYZW
Content-Type: multipart/mixed; boundary="------------JXBeq7Q7HzIA7m4lmK1CmLzY"

--------------JXBeq7Q7HzIA7m4lmK1CmLzY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMDguMjMgMTE6MjQsIFJ1YW4gSmluamllIHdyb3RlOg0KPiBVc2Uga21lbWR1cCgp
IGhlbHBlciBpbnN0ZWFkIG9mIG9wZW4tY29kaW5nIHRvDQo+IHNpbXBsaWZ5IHRoZSBjb2Rl
Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogUnVhbiBKaW5qaWUgPHJ1YW5qaW5qaWVAaHVhd2Vp
LmNvbT4NCg0KUHVzaGVkIHRvIHhlbi90aXAuZ2l0IGZvci1saW51cy02LjYNCg0KDQpKdWVy
Z2VuDQoNCg==
--------------JXBeq7Q7HzIA7m4lmK1CmLzY
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------JXBeq7Q7HzIA7m4lmK1CmLzY--

--------------N6PvwfWY9Vl1qTi3NBarqYZW--

--------------R2t0G9BLzasWdHt3C7nsxUXI
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/Ey8FAmTkTMcFAwAAAAAACgkQsN6d1ii/Ey8m
rwf9FpIf7oHounDtXxKZazrpOaPBX2+GV1xDeVAklUAYDOdkJd98qCHovm5miTcGvkgZMN63Eocl
Q+NeV7YI8+08sn7X2hsgT+Y9dj+F/MhXTwcLvy7v/qNMixIm+xDbwNpm9jmm8a59MxcYkigg0Wu6
oBJ9NQM1Oq1pSLIFESPdCQhuxz5qq01t19xHFu2xEJB3qi12XhD8hGtzQAl80Crtpv5aulNw9RTk
xXK/6OYZnQk5N4cv1orWR916g+JEOgUyGHRaBbGG3pl4NdoY8TX/tv/vj1GvLaINjhttgFt9yLX+
WcLCPKXbSCbFleYM/X8CXzrlIFDu4EdjIZMDDR8Zxw==
=/h00
-----END PGP SIGNATURE-----

--------------R2t0G9BLzasWdHt3C7nsxUXI--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:51:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588086.919547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKIe-0003WY-8z; Tue, 22 Aug 2023 05:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588086.919547; Tue, 22 Aug 2023 05:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKIe-0003WP-4l; Tue, 22 Aug 2023 05:51:32 +0000
Received: by outflank-mailman (input) for mailman id 588086;
 Tue, 22 Aug 2023 05:51: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKIc-0000WF-Th
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:51:30 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f118db15-40af-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:51:30 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 466BE22C2B;
 Tue, 22 Aug 2023 05:51:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 11A4B13251;
 Tue, 22 Aug 2023 05:51:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iCOYAuJM5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05: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>
X-Inumbo-ID: f118db15-40af-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683490; 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=H4r5qnbgplaQDVPufEaAmcFTZyAmufvVPkRYkzTfdw4=;
	b=BGyapUm1I2PZRKgB5crgWOTRaSrzgLWHM73zaNwicQ/ylZ5O6UMIx10Dx2J35lNRP9awP5
	sAht9RFodB+WoU71HCUC5XrUSr3BbpdX3bqzjfF1EQWm7Ls6OKuV/xCHUMx+vGOOGv7qpr
	ugae5TcQs7JgitYtmsblozrR0M6aWmE=
Message-ID: <cfad343e-b91d-47af-baa3-68c8c860057f@suse.com>
Date: Tue, 22 Aug 2023 07:51:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: xenbus: Use helper function IS_ERR_OR_NULL()
Content-Language: en-US
To: Li Zetao <lizetao1@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, wsa+renesas@sang-engineering.com
Cc: gregkh@linuxfoundation.org, xen-devel@lists.xenproject.org
References: <20230817014736.3094289-1-lizetao1@huawei.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: <20230817014736.3094289-1-lizetao1@huawei.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------s7u97frKj3tdP8j4Nr2h6mep"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------s7u97frKj3tdP8j4Nr2h6mep
Content-Type: multipart/mixed; boundary="------------W7g2QzyOgTEwWZFqJ9aQj0GS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Li Zetao <lizetao1@huawei.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, wsa+renesas@sang-engineering.com
Cc: gregkh@linuxfoundation.org, xen-devel@lists.xenproject.org
Message-ID: <cfad343e-b91d-47af-baa3-68c8c860057f@suse.com>
Subject: Re: [PATCH -next] xen: xenbus: Use helper function IS_ERR_OR_NULL()
References: <20230817014736.3094289-1-lizetao1@huawei.com>
In-Reply-To: <20230817014736.3094289-1-lizetao1@huawei.com>

--------------W7g2QzyOgTEwWZFqJ9aQj0GS
Content-Type: multipart/mixed; boundary="------------0TlLMSgCYl80cQIkGQ8lqIoJ"

--------------0TlLMSgCYl80cQIkGQ8lqIoJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTcuMDguMjMgMDM6NDcsIExpIFpldGFvIHdyb3RlOg0KPiBVc2UgSVNfRVJSX09SX05V
TEwoKSB0byBkZXRlY3QgYW4gZXJyb3IgcG9pbnRlciBvciBhIG51bGwgcG9pbnRlcg0KPiBv
cGVuLWNvZGluZyB0byBzaW1wbGlmeSB0aGUgY29kZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IExpIFpldGFvIDxsaXpldGFvMUBodWF3ZWkuY29tPg0KDQpQdXNoZWQgdG8geGVuL3RpcC5n
aXQgZm9yLWxpbnVzLTYuNg0KDQoNCkp1ZXJnZW4NCg0K
--------------0TlLMSgCYl80cQIkGQ8lqIoJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0TlLMSgCYl80cQIkGQ8lqIoJ--

--------------W7g2QzyOgTEwWZFqJ9aQj0GS--

--------------s7u97frKj3tdP8j4Nr2h6mep
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/Ey8FAmTkTOIFAwAAAAAACgkQsN6d1ii/Ey93
0wgAnlxxtiz0pKq6C05OzwWbRQOi9BUFWMpx7hJRQT5EyZkHkbwqQkCl0svtztf6ipTvoqvlXUcz
cUJyhDFoMvei4laFiHQdHG8m5dIiRmDFk4tgNVGwtchpo6e3VsiZDKFna/p7t6GC8r2BMJVwod9w
sz9iH1IWS2T61Zj1YpvwPjZYyzx8HiXjf00Zwjv+qC8R8Tw2bcG9eAf8FOO6qEFjaMplZLTI7R8q
Ei+M72dxlyp0qQoiAAf1zQ111shPBZvw38+Fw4F40gSedR8PB3OEnnmXLUAIh4r9KvYrPiTVEyEU
iIessuiy0/RYotzdE1ebMJfuuxT2uJZyU20P9FM+hw==
=1Tbd
-----END PGP SIGNATURE-----

--------------s7u97frKj3tdP8j4Nr2h6mep--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 05:51:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 05:51:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588090.919557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKJ4-00044G-Gl; Tue, 22 Aug 2023 05:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588090.919557; Tue, 22 Aug 2023 05:51:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKJ4-000448-Cq; Tue, 22 Aug 2023 05:51:58 +0000
Received: by outflank-mailman (input) for mailman id 588090;
 Tue, 22 Aug 2023 05: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYKJ2-0000WF-Al
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 05:51:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 003d1c58-40b0-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 07:51:55 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A857522C2B;
 Tue, 22 Aug 2023 05:51:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 728A713251;
 Tue, 22 Aug 2023 05:51:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uPAjGvtM5GQeMwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 05:51:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 003d1c58-40b0-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692683515; 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=qH5PR/Av96/YJomkJW2WBOpclnIbtmQt1tZwl1VOhWo=;
	b=Nq1bAugO2DPJe7D0NOE/lRWhjrnbx2R15cxdWjnSo1oH7EebNlyG/xSKEEmGVwKZT5vzW/
	BZdwFez0wx+R4ueD6BfxhWssgyruhUwvhPZPwQq/QNbfpakyuuTYQNZcKz0RpElhQU/MBx
	78NM/hgVWMgDzSKD8yNk5RNsGh1F7sw=
Message-ID: <3884ae8a-f445-42ab-bb37-e21edf61e35a@suse.com>
Date: Tue, 22 Aug 2023 07:51:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH -next] xen: Fix one kernel-doc comment
Content-Language: en-US
To: Yang Li <yang.lee@linux.alibaba.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Abaci Robot <abaci@linux.alibaba.com>
References: <20230731030037.123946-1-yang.lee@linux.alibaba.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: <20230731030037.123946-1-yang.lee@linux.alibaba.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------N6hqAAMF2Z7b3teUToTiC0cm"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------N6hqAAMF2Z7b3teUToTiC0cm
Content-Type: multipart/mixed; boundary="------------NCqL5uJisiGEQtR4tNY6IDHP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yang Li <yang.lee@linux.alibaba.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Abaci Robot <abaci@linux.alibaba.com>
Message-ID: <3884ae8a-f445-42ab-bb37-e21edf61e35a@suse.com>
Subject: Re: [PATCH -next] xen: Fix one kernel-doc comment
References: <20230731030037.123946-1-yang.lee@linux.alibaba.com>
In-Reply-To: <20230731030037.123946-1-yang.lee@linux.alibaba.com>

--------------NCqL5uJisiGEQtR4tNY6IDHP
Content-Type: multipart/mixed; boundary="------------F3ieuJJNDev20AObTU4IKMde"

--------------F3ieuJJNDev20AObTU4IKMde
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzEuMDcuMjMgMDU6MDAsIFlhbmcgTGkgd3JvdGU6DQo+IFVzZSBjb2xvbiB0byBzZXBh
cmF0ZSBwYXJhbWV0ZXIgbmFtZSBmcm9tIHRoZWlyIHNwZWNpZmljIG1lYW5pbmcuDQo+IHNp
bGVuY2UgdGhlIHdhcm5pbmc6DQo+IA0KPiBkcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jOjEw
NTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ25yX3BhZ2VzJyBu
b3QgZGVzY3JpYmVkIGluICdnbnR0YWJfZnJlZV9wYWdlcycNCj4gDQo+IFJlcG9ydGVkLWJ5
OiBBYmFjaSBSb2JvdCA8YWJhY2lAbGludXguYWxpYmFiYS5jb20+DQo+IENsb3NlczogaHR0
cHM6Ly9idWd6aWxsYS5vcGVuYW5vbGlzLmNuL3Nob3dfYnVnLmNnaT9pZD02MDMwDQo+IFNp
Z25lZC1vZmYtYnk6IFlhbmcgTGkgPHlhbmcubGVlQGxpbnV4LmFsaWJhYmEuY29tPg0KDQpQ
dXNoZWQgdG8geGVuL3RpcC5naXQgZm9yLWxpbnVzLTYuNg0KDQoNCkp1ZXJnZW4NCg0K
--------------F3ieuJJNDev20AObTU4IKMde
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F3ieuJJNDev20AObTU4IKMde--

--------------NCqL5uJisiGEQtR4tNY6IDHP--

--------------N6hqAAMF2Z7b3teUToTiC0cm
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/Ey8FAmTkTPsFAwAAAAAACgkQsN6d1ii/Ey8v
wgf7BCVRXGfMVpBlcRB+eWC4t4BD4ZRhDnkAWkEzbEZ5D71cPiemhlIA33Pov7fUlhapsaNKWJw4
GtIditm/7IfEO1Yzsp1iMnjq2HTInkaGPh196S8xSLxB4kHLaK5DsmVZLp1TcUtgVtWGIt9hYb6h
a2ueRiIONE2KpRup6H1PCrsp4bZhABMkdLs2cX4vTBd1yeSkXTbVIo2A/EmI/YQPHvLLE/da1g38
XgGWhaoI58M+qH6oZ1KwWKIqOd5fvvJmXfRO1CExIZJmzh/bJffejDygPMJa5nmWqUH9q8sIbWeh
4qG0JLfMdR4qzkvxPoESejRsDZVXFOOfhMjyNh8UoQ==
=vjKn
-----END PGP SIGNATURE-----

--------------N6hqAAMF2Z7b3teUToTiC0cm--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:11:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588111.919567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKbx-0007HX-1p; Tue, 22 Aug 2023 06:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588111.919567; Tue, 22 Aug 2023 06:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKbw-0007HQ-V9; Tue, 22 Aug 2023 06:11:28 +0000
Received: by outflank-mailman (input) for mailman id 588111;
 Tue, 22 Aug 2023 06:11:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYKbw-0007HK-Ad
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:11:28 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe12::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b96c20e5-40b2-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:11:25 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS4PR04MB9508.eurprd04.prod.outlook.com (2603:10a6:20b:4cb::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 22 Aug
 2023 06:11:23 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:11:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b96c20e5-40b2-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WJCKNFpd+Wu8Rjznv2LOd5lajoiUPc/lcpt3873vUe3hLHXTBI+Ke+C6dN6BbzgMRNfDr/SPxh1Kv5NuVpSixHx+x50/A1TRs2gSDYecPu8FJ6oPDrk1TWMjKHl2rSRpqhGT5BWkkdxoTeUu56W3iATRIvAkX2G9TPSoEdlxe91wd0yqXf1eepF5+PMt0dlgVqhiiVr+6cXGa7i2E1foqOzl++9fpp68hnjXmwdqEoL5FtdUg55wmjn7dFHwt/qv6/kNrtFwfOR1sA1npPDHpK0ciMEYUGzNVVB47oFvvEvHXLuvNcZLLzKNPeqQVI5hCEesYzgWFvEoo5kcrARQNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CnLEAw++czESjGt7Xvw23vbMd7aJHSWd5LtoFIQGk9Y=;
 b=AZAOci5gHvaT9E6srP2gSY3GRRtVtcxHQJxtVdQDE6H313zUo4orSzxQUjzD9A6qz10su4iCAph+r77QOPfT4I8S99VWJxk37YHxFzTc/VHcLzWPSQyqg7tRaVQGK2VS26axq/Te9TgmJTvqOS6LYsYKeJM75YEc5ojneumK9NNcWDeDt4lH+zn45wABFaR7KmF0/cV/zkT91ZpbtvORlXdT1CnilQvV6a3qQAtt+HihpWmF4eUTsSpUNydfnOegs1UgLWuzkjbjATho5HXOTqbf2fOpt1+r61YZUYKegCIMPSYV+WSC58gPmDJ1nk6gfMCbwVtXckPwOUJGcTxANQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CnLEAw++czESjGt7Xvw23vbMd7aJHSWd5LtoFIQGk9Y=;
 b=E+BvYjggXVq/i87NTRZktb6Tjfxw50tJpxX0whHbfQWfjWvvZ2WxT/e1egAMkAEN5onh+eje3h3BhZ4YOY5jeHm5NE+DPbf4p8k8LI0HT/2Q3tuo/tYhm7PYhKj//cTrdFrlm8+pYG4bn+AGysDMUZXJ1mvOYzXzZjikmpv0DJ0Xu1ndDa7XSvQWomDZLaVY7MWhoLmTFECV1Ha2ehGLFT1+0Damd2WWa0mNkxOTK92QIm4BELkZ4zDx1G/zVN9dUO5EepSac5i5UESuR/8QrAdoLsSvtd5hBvCWu03POW9vp56VfShj3JBVicGiLjs2nSygR2ZqhCgD4yGvIFv0TA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1fd0b3b6-0771-66ad-9b3d-85358ab4102c@suse.com>
Date: Tue, 22 Aug 2023 08:11:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add exceptions to rules
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230819012410.1754839-1-sstabellini@kernel.org>
 <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
 <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::13) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS4PR04MB9508:EE_
X-MS-Office365-Filtering-Correlation-Id: 8362aafe-44f9-4384-d74d-08dba2d69c0c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7T0FWxbr8oC8Km3ACNh3ayEMh7X/bt6T06lnihVyK4kssnCaF5P+ZOahOLc5AOqiP2vTLRi9bfKbeR7+jfZnXX9lK8UZjnVkVp8E5w4kdsXHNL8oYANDEpxAQzlfjmavgdMPRmWcUPhOzhEn/aIADT06EznjakbSzuKyVQePHlRQFyptEk+8fJeJ/lBTI4YO8FXa3WaQxlFMa7k5uMlyxRQ64qU2sLRSGuY+kWMRvoBJIVHwJg8CS7CTjmDzvUYE4hflldj15m6FkyLD86XatqRwk8YMnQx9G4lU+Ve24qQtQLsF/TgknNxGnyhEyYbHH+goWhbOnF2XTJECYCadWkLKD3ZjDLHt8+pBA0oAzYI1dZpDXXHWbt/DFfNFfVebiWS5Qf/eseOH9+nMybL02JT5oCXo+Yq0FY1qdB6m8UfLVphO+WbtIEb+K243k5ghYqjgBMgZhzYHPYYPc9wAku4IFf8jO2ALc+Y+S6LDY9i3pKf8LsVzRKDWlQStndlWmFvmMw8cWpW/moHYPP8Grr5/bO2KmN+267OwnRUxk4DZL8B4iualMYPIZnj3q9Ytq0xirPncnk1UN9rt6NbfZFrvA9Ss0tG+xHM3v7uXCrzh0FZW7GHOFH8Cwn1q7GgMvD0z5JqZsPIiDIk9UYx5Tw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(396003)(346002)(366004)(136003)(186009)(1800799009)(451199024)(66899024)(2616005)(6512007)(6486002)(26005)(53546011)(6506007)(83380400001)(5660300002)(4326008)(8936002)(8676002)(2906002)(478600001)(41300700001)(316002)(66476007)(66556008)(6916009)(66946007)(38100700002)(31696002)(36756003)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RW9tSjJMYXc2U2hlMk9PS1pIMnhLY21VY1FEZUIyU2ZPbk1mTG80R2ZCQVVi?=
 =?utf-8?B?UHhoVU9lRzJjSmx4d0dhNEU5MlpWMWR2WG9DSnBmdE9VVzk0ZUtnZ2h6a0d0?=
 =?utf-8?B?dFFIeGtOOWN1UEc2VUZJajZrZlBtUjdwV3I0NGs0NDFuZmljdERpRTAwSEk0?=
 =?utf-8?B?Q2w5UHZDQlV0VkV1OXlGTXJFS1hKODdqUFd6Q1lOeFRpV0lPYWJzNk1wVkpU?=
 =?utf-8?B?YmpZbGVYZUJUcDA4aFMwdHh6amZPL2xEQ1BLRVdXSUJJWGVhQXh6c1V6Zkhj?=
 =?utf-8?B?cTB6QWVxbFJVRlBxTzdjZGt3UkVra0NqUUNlZ1EvS3VVUWlid3F3Q2x5Z0hN?=
 =?utf-8?B?ejB0bE1IMUpzL1lRLzNiSFlBbEhXUVNFVTMrZnRTSFI3cTh4NEFrL2VscExm?=
 =?utf-8?B?ZlViN201dUU2Tk1mKzJWVmNZTFpkdW5rZEFNaGdyakF2U2REME4wOTdqUE1w?=
 =?utf-8?B?czF2bTlTZWxRL3dPZ1Nib0NJSWVBTmFURVUyTHY5SzViUG1qV3VDTG4rQUta?=
 =?utf-8?B?bWM1Zi9HSHFCQWoyMG05UnpjVFNqalNyVGpYWEFWZFlxVXF2bXkvN0tRdVRv?=
 =?utf-8?B?U1JNSGJ3aXRwM2pPQnVaMy9wd0RDU1pCNzVveEFNMlFRM1ZiU20xdUVOSWxZ?=
 =?utf-8?B?ME8vL0YwaFhTNm5WdENIQTlKZVdhckl1TkdEM2Roa1dpQjlxbGVya2lqRlN1?=
 =?utf-8?B?TVhibUczSDY1aVdsTC9uU0ZLdC9OSHdoeW92dkNzUzFNUUxnb2VpQ1JnYUdh?=
 =?utf-8?B?Q1lMSFVhamkvekZsb1NnZ2d2U2kxaHJRQ0ZvTTBMUmpaUHBqVmU5Y3NoV29o?=
 =?utf-8?B?SEF3dDNVMHFqT1dQRFdSWWY3SUl0VFJjT0NpaTUzUmFUQTNZOEJndERBN3d6?=
 =?utf-8?B?dmlLTTRxdDVJaEtnbTZ4SUxiMS92OVZDTE1CZGtmNE1nS2VHMU5jOGpObDVT?=
 =?utf-8?B?clBFZXlaUy93WW1jcDBUU0xhMEtKSTh0R2lTWU9lUktuaWdQV2dYZmRCb3hy?=
 =?utf-8?B?M1NzajAvZGNOR0l4bGd2RTdIcEN5RFFBcmtqYzFrY08xNDE0VWlmRFo3dUNk?=
 =?utf-8?B?eGxCSUhtVmxUQ1lEU200MlpINVAwQXVHclozbk1PNlN4MGpRRk9vNnBJWnBX?=
 =?utf-8?B?MmQySVNwQWJBa2R0bEdnL1F5NzJSaVdnNjNKUVh0cmxmU1loWVNQOFBMRzRm?=
 =?utf-8?B?Mkc3ekYycnN0YjNwd0k1UEVxb1IvVXhZMDhRWk9UUm1KNURydUhTSXphdFM1?=
 =?utf-8?B?Sm9xb1pKSzFBSGo4SWx6U1ptTDV0dEQ1R0V2ZHpMSXlHc2JRUHUza0tYTDI1?=
 =?utf-8?B?Y2lraEl0YzNZR2hmMDdodlA2T2F1aWtIVWRwNktsb1RKZXZ2NlZvVnA2c1la?=
 =?utf-8?B?NlROeGxiRWcvL2tLLzhNMm1MMW5PdFZRYkhndFZ6UFA2eWR4cFRVbllxQVNw?=
 =?utf-8?B?dHBtVXcxN0h1b1ZuaFpMTmc5TVBKR0hjYUUyOHl6eXo1SW9JT2lEMlVUaVNJ?=
 =?utf-8?B?alZQODRwcDFUcmZJc2kyR3E0V3hGeW03TWJudlZOOHlRdnBUSlovbTF4R0Fw?=
 =?utf-8?B?Y01EdHJvOUxJdHE3R3NZTUZ4aGxaQi9IeEZBK0pKRFROc2xQZVAzTVR6VmxD?=
 =?utf-8?B?UTBNNStQcDFhTDNOT1pPdTJCdEZJQ3RKaUVMM0RNQmpEZmhEd0REaFRPTFFL?=
 =?utf-8?B?UVI4YVJQcnNTVk53VThrcmVwWFIrRTdackU4cWh5VDFCR25DR1FrUmp2QnRm?=
 =?utf-8?B?WThVcnNyZlBPWFBSVmtRQ2x6MytIVGxoV2FRbkpIYS82TFlxelNXQThNV3Jz?=
 =?utf-8?B?cDdGMVhIdEVFT0h6REZiUWg0N1lIWWNGUVFaUmFvWVdMMjBhWTJGQS9yKzhH?=
 =?utf-8?B?MjFWZFQ4MlVMdjNaVkgwMXA5RzBRbUgrOG1PK1JNdTIzWHprdlB3YWR5UGRH?=
 =?utf-8?B?TEZncXUxdFZ1Tk9sR21BTVE3Y0tMblRvbStEaGtqTEI2WnNNR1crM1NaYmxL?=
 =?utf-8?B?VHRNdFFGN1lVaVdEWVFpTTkvdXlwWFBEVW00NWpKTzNEUFBzMjl1eVZmNVly?=
 =?utf-8?B?dThKVE1yUk9wOXZkT3l0R0hrRGxnSk1YL2RaQnhYMjBVSVAxZ2U0alBwYzBy?=
 =?utf-8?Q?kYx38jnLjR7dDSKyTyHczJJDv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8362aafe-44f9-4384-d74d-08dba2d69c0c
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:11:22.9415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TIqDay6yE+RVhsDkJIh9VWBg3ib3cS4hlzgBhpdc+jB0k1ACFXlod6w82Tab43JI9yWcgyld3FL27QlSSTHgZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9508

On 22.08.2023 03:40, Stefano Stabellini wrote:
> On Mon, 21 Aug 2023, Jan Beulich wrote:
>> On 19.08.2023 03:24, Stefano Stabellini wrote:
>>> @@ -106,7 +107,23 @@ maintainers if you want to suggest a change.
>>>     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>>>       - Required
>>>       - A project shall not contain unreachable code
>>> -     -
>>> +     - The following are allowed:
>>> +         - Invariantly constant conditions (e.g. while(0) { S; })
>>
>> When (and why) was this decided? The example given looks exactly like what
>> Misra wants us to not have.
> 
> This covers things like:
> 
> if (IS_ENABLED(CONFIG_HVM))
> 
> which could resolve in if (0) in certain configurations. I think we gave
> feedback to Roberto that we wanted to keep this type of things as is.

Ah, I see. But then perhaps mention that rather than plain 0 here? See
below as to whether a complete list of excepted constructs is wanted.

>>> +         - Switch with a controlling value incompatible with labeled
>>> +           statements
>>
>> What does this mean?
> 
> I am not certain about this one actually. It could be when we have:
> 
> switch (var) {
>   case 1:
>       something();
>       break;
>   case 2:
>       something();
>       break;
> }
> 
> and var could be 3 in theory?

That would be a unhandled value, but no unreachable code.

>>> +         - Unreachability caused by the following macros/functions is
>>> +           deliberate: BUG, assert_failed, ERROR_EXIT, ERROR_EXIT_DOM,
>>> +           PIN_FAIL, __builtin_unreachable, panic, do_unexpected_trap,
>>> +           machine_halt, machine_restart, machine_reboot,
>>> +           ASSERT_UNREACHABLE
>>
>> Base infrastructure items like BUG() are imo fine to mention here. But
>> specific items shouldn't be; the more we mention here, the more we invite
>> the list to be grown. Note also how you mention items which no longer
>> exist (ERROR_EXIT{,_DOM}, PIN_FAIL).
> 
> The question is whether we want this list to be exhaustive (so we want
> to mention everything for which we make an exception) or only an example
> (in which case just BUG is fine.)
> 
> Let's say we only mention BUG. Where should we keep the exhaustive list?
> Is it OK if it only lives as an ECLAIR config file under
> automation/eclair_analysis? There is another very similar question
> below.

First and foremost we need to have a single place where everything is
recorded, or where at least a pointer exists to where further details
are. As to this being the Eclair config file: Shouldn't any such
constructs rather be listed in the deviations file, such that e.g.
cppcheck can also benefit?

> BTW I think both options are OK.
> 
> If we only mention BUG, we are basically saying that as a general rule
> only BUG is an exception. Then we have a longer more detailed list for
> ECLAIR because in practice things are always complicated.
> 
> On the other hand if we have the full list here, then the documentation
> is more precise, but it looks a bit "strange" to see such a detailed
> list in this document and also we need to make sure to keep the list
> up-to-date.

Thing is: This list shouldn't grow very long anyway, and also better
would grow / change much over time.

>>> @@ -167,7 +184,7 @@ maintainers if you want to suggest a change.
>>>     * - `Rule 5.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
>>>       - Required
>>>       - A typedef name shall be a unique identifier
>>> -     -
>>> +     - BOOLEAN, UINT{8,32,64} and INT{8,32,64} are allowed
>>
>> I think this permission needs to be limited as much as possible.
> 
> Maybe we should take this out completely given that they should be
> limited to efi and acpi code that is excepted anyway

I would favor that, yes.

>>> @@ -183,7 +200,10 @@ maintainers if you want to suggest a change.
>>>     * - `Rule 7.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_01.c>`_
>>>       - Required
>>>       - Octal constants shall not be used
>>> -     -
>>> +     - Usage of the following constants is safe, since they are given
>>> +       as-is in the inflate algorithm specification and there is
>>> +       therefore no risk of them being interpreted as decimal constants:
>>> +       ^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$
>>
>> This is a very odd set of exceptions, which by stating them here you then
>> grant to be exercised everywhere. Once again I don't think special cases
>> dealing with a single source or sub-component should be globally named.
> 
> Actually I agree with you there. The problem is where to put them.

safe.json?

> Right now we have docs/misra/rules.rst with the list of accepted rules
> and their special interpretations by Xen Project. We also have the
> ECLAIR configuration under automation/eclair_analysis with a bunch of
> ECLAIR specific config files.
> 
> Is it OK if the constants above only live under
> automation/eclair_analysis and nowhere else? Or should we have another
> rst document under docs/misra for special cases dealing with a single
> source? 

As per above, I think putting anything in Eclair's config file should
only ever be a last resort. Wherever possible we should try to put stuff
in files which aren't tool specific. Where necessary special tool
settings can then be (machine-)derived from there.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:16:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588119.919577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKhD-0008CD-Nv; Tue, 22 Aug 2023 06:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588119.919577; Tue, 22 Aug 2023 06: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 1qYKhD-0008C6-KX; Tue, 22 Aug 2023 06:16:55 +0000
Received: by outflank-mailman (input) for mailman id 588119;
 Tue, 22 Aug 2023 06:16:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYKhC-0008C0-Oi
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:16:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d0329d3-40b3-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 08:16:53 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PA4PR04MB9271.eurprd04.prod.outlook.com (2603:10a6:102:2a6::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 06:16:51 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:16:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d0329d3-40b3-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qxn9h92ersZdAIRIpqf2x2qf3Ryek397QLNiTcXhtB4Cma3OJLBtmzFh1XrpBvUVPG9UqXp0X5lccjwm6eDsnSVTLxgNiME/2PAfUOS/7g/6jiCo7znwZv+FTGzooDZ1NvSufAJKWC94yGQ4ax/z37b3Oo4TconwN7EP2l4Ui2KMofK28r2mk9CDXYRGd+tXfh1H4dIlRWX9wzJHNz+OnSK6XWJa8HzvxJhwLsXdllTc7O8JhY27nwucdl1Q0PaEseEcTTBMcAaUd7L+u5E/hOpe0YvJxJAH4DoFDVE20w0DthdNxB3H+mhawhYWWm9FKGCG+p5AoaBnszl/jYDGFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RLPgt4xzAP2iQGhYFPKU0Eumy0+k+sw4sxFp22ApvYk=;
 b=YuBJKpANWLBPSjb5xUnh7DbWnFjMOs1b80f0hVwycbx0EkrwyWdjwXmLC2tBgyA5nocoH+e+X7qAIERS3l87B/lfrj/8qouZwqXexrQdqw29bkMvMo5FpJBvbRXH92mMFaxH1IU+4m1jV2dAHPDvuG6ce3GUrmYTpP+wc/+oMC3SueIa5OKz2buOQJZbMNMiDtk/B1+WZ2nkfSWwJn29g8JMHnlBkAeaO0ax5S05HMWNJyP60V6DcCrU2DjpOIk2j4Erz5Ut3iqDWUktzeeD/9VZqFt8SqHZ/HLfKYn5HTbR4twx5SkWs662k4Ch5k7p4Tvgfxh7P82kY+U6TP1HUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RLPgt4xzAP2iQGhYFPKU0Eumy0+k+sw4sxFp22ApvYk=;
 b=pnLVbaqgq+0q5vYR9o/dkugLcqmUbebGYG8/tzNoOLvPsQJJUfU3ow2uL2axoRDyXcylvoRYoElN01RfYcvTlbunBxLZch3b96TC5fDsVabRArL+1mcwXBWmUakLfK0uxGFY2X6eeAODV/Hu/D+cpnCTA+Y5rHq8DKBZypKP0mYojFG4Ap5i0/hHWB5KQudEvHqgZjr3Rre6NqNRmijbJozIwQuXzUxI/PKaOdmZlMW9piw8ssKxBDpyerzbVa7vx2v/AEOUpnOQSYGXQuQpi7cVAW0QWzCCJjmet9vXZPeXL/LNyeNhZMCDTS3pwt9hgr6i16uDxJXyCJBLq8OM1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf1b1eed-1029-df44-b5c5-9935433640fc@suse.com>
Date: Tue, 22 Aug 2023 08:16:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 0/5] Fixes to debugging facilities
Content-Language: en-US
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: 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>, Tim Deegan <tim@xen.org>,
 Razvan Cojocaru <rcojocaru@bitdefender.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PA4PR04MB9271:EE_
X-MS-Office365-Filtering-Correlation-Id: df1cd515-078c-4c7c-33ff-08dba2d75fc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ghCHoN0lzEN3loTWD8P9fQoRhrEVRH7cUWBZEOPvdLgLsDkLfGrnaY/MY3TJvOOaPb2nqyRlIX/qBALS035CZnk4oGWoFfrIj512QeWwnn1AiboGCmek89VMRLiHJ80ZBCUAbsx9HPRVDAu6KsNEJHCzAcvMcOVrOan71C1Rog4PSY3iOOwVpR7guAZiduLwx1EhM57lD2hD29lmAJ2bKKMyJJxyDn7YFkjWjhI+szrnwt5wEWAyEr5zpi8mSixfwgTlj1a9Rxl6MWo5hmftLuK90BfT6w04H+9vAxGCxhnmPI83YrLIglk/AUNPwZwgpfugD8zaiCocGThKkqqme/34O+90rGJ8Sb5VJS29BVbDot/Xm40XuwW0KzxPdAZ+2i5j5m27cr2ZLvVSczlXyE9BYlP0qcTfW5X7yPQNmIKWhs/g+qRR0H4Is+e+r2NK+Q2vzm+YGtKxh8UcvY2XE4pGOIjgIbDCa24w9Ien7uEe2w3Gc3ZYFGbFNUe9fTnPN6np5N0uGyS19G3d+CqYN3vlNbbwzdk8GOCWqGHGZtqOeUiM/O+5rlRYIdw/J2RoKe/FAPUOogUaymY2/kenvvBmpMHNDqPLxvrbvP+RqdPCqbju9S5mLzZHmIXknbhsv/Br+V4kb9jQXmPIYW8k3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(376002)(39860400002)(346002)(136003)(186009)(1800799009)(451199024)(86362001)(31696002)(36756003)(31686004)(316002)(66556008)(66476007)(6916009)(54906003)(966005)(41300700001)(478600001)(38100700002)(66946007)(6486002)(6506007)(6512007)(53546011)(26005)(83380400001)(4326008)(2906002)(66899024)(8676002)(2616005)(8936002)(5660300002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzZjWGZiZU1zTEQvbHBkaWNGdkpSajU2bUFzYks4SXF5dzJUMEVjNXRRSndO?=
 =?utf-8?B?MEN2K1E5QitsVitqTlkvVmlyVllVS2JROVRsVm8rZGJFL1ZZcFplNWVDR21M?=
 =?utf-8?B?VzFwZmROa3BHS0NaSzdBUFp4SWR3UGtGTGJIRndpd29LWXl1R0RCQXJyWEt2?=
 =?utf-8?B?M2xkUUFuYTJDSHNwUGxqSHBlRnFkWVdXWFZoUnhIVm1ubmRKZ0lYdW1vei9y?=
 =?utf-8?B?ZkZ2WEVhbDdudDhYOHQwanZPZms3ZTlJWkZCT0R2WnlOL2tnckEydncxSXJJ?=
 =?utf-8?B?bGdaRmRZcHdWRDl4YXNGdmVrYWZEeUdZRnVDeWVhcXBYZVk5SkhVclBZYkJB?=
 =?utf-8?B?SFdXOC9uL3lLeDBkQ29tTmZuT3pKMGJDVGIreVBnMnVjb244cEFyRUpkN2o2?=
 =?utf-8?B?Y01Ddjlwa0wraStFQlE4cmFHeGhNeHRKcytONUt2R0xHNUNQZTJrdkNZOENN?=
 =?utf-8?B?MHByTHNSWEFrdmpUdmVFZGM4MWhnOVpGSDdHajY4eGpqK3ZIbjkvR2hUV0JH?=
 =?utf-8?B?emdKMEZYR3FJdnVaWWk1Z0I3N1NjNU90ck1MVll6UnFkYVl1LzVpNUhlUk5X?=
 =?utf-8?B?VkVPcHNYcFhHYzRabjJXZEwrbnJ3Z0o0YWJFbVZDWVFlKzR3K1ZIdi96SHdj?=
 =?utf-8?B?eitoOC8rdENTVm1PcnJ5SGloVHlpMmRYRDVUeUs3aUJXcldPMDhTdEdoWTQ2?=
 =?utf-8?B?WlMrVGhhaWsyZFgzcHQ3K1JNRFFnOGF2MDhMeDFyemtiUlhmN0V4ZzQycVNG?=
 =?utf-8?B?YjhuR2h0R3hCVTNCTjE5dE4vRW9tZ21HV09CZWtndTh1RGpXbTFHZithTUlC?=
 =?utf-8?B?N2UrRE8yTHpxMHI1YlAva2lyUXN3VVVxTnhXN1ZJWVFCRnpuWmtZOEdkU25i?=
 =?utf-8?B?bndOZ3VHbTcraEE2MTh3U3E5YmJ3bTAxd2VsTW00aVBFZXgvZUVyNkNSM2g1?=
 =?utf-8?B?a1hjbXB0eVJkMnp3emV4M21ZY1dKZThLRklDcEFybjdsNHJLM2E5ZGIzQ1JI?=
 =?utf-8?B?Ym9mOE9SbkdYUjdHK0RUTHphQzhlM2lzYmJYZ1hodUU1bWpWK240N21mdGNr?=
 =?utf-8?B?b1pvdTRZQmFMWHc2azFRS0dUQm9yYUY4ZnhiMm5TMkZBWW1DQytNY21WRjE5?=
 =?utf-8?B?ejd4RkJ6a2ZoVDVjM2JSUnc3NXZ1Myt1ejF2dVhXTEtLdkptTmEzTXNjVmRK?=
 =?utf-8?B?bk9XVE81M2tkand1TUNCLzRqcEl4a21DRHBGWEloSmQ3RmhnTjJ5eTd6a0k4?=
 =?utf-8?B?NDFjYW4rdDlkdHE3aHMyczlPa0FMd0IzcWtRZG1FdXQ1cTM5WEg3aVByeGdp?=
 =?utf-8?B?cURVaGwrcjdGNXVPSTR1UUNWT0JQTnZDeEkvdUQ4c3BBNzZyKy9zV21GNEFM?=
 =?utf-8?B?S1dLekg5ZVpOMVlMNzVJcVVScGZaMnhJekF1MzhhaFpoMWJuM1VjNzZIOG00?=
 =?utf-8?B?KzFEUHhSRDdWS092TnovVnNzenpPNDJyd0IxdDgrRkY2cUpXREZVY3VUZ0tM?=
 =?utf-8?B?Vk0rUGpkZEE2dmd5STFqQkxxMEw2N0UzMW90REhjYnJVWXlpckd0MzV1Z3Jl?=
 =?utf-8?B?bWRRWGxTVVpPUXZrS0l5dWJSd25PS2dQdytENlpHd3JqckV1UXJIWGdRVVdJ?=
 =?utf-8?B?QzFuN3U2c0JGeENRTW1RM3FadGd0THpMT3JvaDhicFJETnpMWWZLMW9XUHE3?=
 =?utf-8?B?TzZYZUtxc0tSVmlidi8xOHlBalRESXZOcWkzeUcwQ3lKNkhNb1dUNlJHbWpT?=
 =?utf-8?B?UkJ5cGNQbUVhTEQ5Qy8xSm12cm9pVTB4NkdRSEsvVkxiRHJwSWNBV2o4U1Zt?=
 =?utf-8?B?amhVZFo0V05GN3U1SWNiVWxWUXR2S1cwdFlPWlRod1BkaTRJN0FKZjc2Z1Er?=
 =?utf-8?B?SlZtZDVhN0pLc0hHaDIvTU9YN295ZG5qSmJaREVLQzlBNnNWVXpwWEdOZDhN?=
 =?utf-8?B?eTZkYlpzRUcreVVuS3FLckd4WDVFMStHTTBhS29IRWZqZWg3Nks1UVVvOW1R?=
 =?utf-8?B?NVNHd3JrQUw4cWN3L3lLVnd4eHd5eldWWTBxeDY5ZHZHY1BjNytxQmZXOXAv?=
 =?utf-8?B?SDlEc2ZMMXJ3VWFQUjRaVTJiazg1ZjhNVWZ2ZXJCZ0FNYTdMWDRzY2lrSmgr?=
 =?utf-8?Q?iAmv2vNVvvdgCO00QmNN0zVP/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df1cd515-078c-4c7c-33ff-08dba2d75fc7
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:16:51.2987
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +kj0tpRzPNcjySd64OxxOZZ5vqtCUYtW+kllzuajeGTvfXwd4X+qZZVV0YdnGunz+TgE85nf7a9iVCnbi9hOiw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9271

On 21.08.2023 17:55, Jinoh Kang wrote:
> This is a rebased version of Andrew Cooper's debugging facilities patch:
> https://lore.kernel.org/xen-devel/1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com/
> 
>> So this started as a small fix for the vmentry failure (penultimate patch),
>> and has snowballed...
>>
>> I'm fairly confident that everything involving DEBUGCTL.BTF is broken, and
>> there are definitely bugs with configuring DEBUGCTL.RTM (which really isn't
>> helped by the fact that the GCC TSX intrinsics render the resulting code
>> un-debuggable.)  I'll defer fixing these swamps for now.
>>
>> The first 4 patches probably want backporting to the stable trees, so I've
>> taken care to move them ahead of patch 6 for backport reasons.  While all
>> fixes would ideally be backported, I can't find a way of fixing %dr6 merging
>> (as it needs to be done precicely once) without a behavioural change in the
>> monitor subsystem.
>>
>> Patch 8 probably breaks introspection, so can't be taken at this point.  See
>> that patch for discussion of the problem and my best guess at a solution.
> 
> 6 out of 11 patches from the 2018 patch series above, including the
> vmentry failure fix, have already been committed.  This covers the
> remaining 5 patches.

One important formal question: Where did Andrew's S-o-b go on all of the
patches?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588126.919587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKmQ-0001R1-BX; Tue, 22 Aug 2023 06:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588126.919587; Tue, 22 Aug 2023 06: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 1qYKmQ-0001Qu-7W; Tue, 22 Aug 2023 06:22:18 +0000
Received: by outflank-mailman (input) for mailman id 588126;
 Tue, 22 Aug 2023 06: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYKmO-0001Qo-ME
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:22:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7d00::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bcc64e1-40b4-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:22:14 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS5PR04MB9769.eurprd04.prod.outlook.com (2603:10a6:20b:679::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 06:22:12 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:22:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bcc64e1-40b4-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KO78a/oZTNoP5DDanwypa3XlL17dEFukHdbieZ00oaeX/3gTSr13mXcM13JQPc/B87nF63rlpbVjZUKFptEoh5lE0YARiRyVNP15EcX58G+M9mTsFMFiSAnOrfuyh/k8gMMluq5b1FjOYLqsRhsP9hxJd+i8UQpXrkmvzmSnphkDIqsecWE0fEGXUvgZKJL1b9Z7WcBjsV2X26X2JY3eGkqjdP/rslHuONUHOz49u5O1F/tShKBoJ6EleZwl5kMl9nJ9shc4d0NhZkdYNivGKZao4hAk1Jn6KnL5/rvzYYPfEIy8F6DIQEAPCmsbf4hqsTDMArC6g7cgQqydY1tFkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e30PmsaaCMK2uylKSzktY/m/GLlWqH4G7kOZAR3C3tM=;
 b=XYuvrP6fWS4m97VtklaN9vi55Z4E+rV/1auoa5cR909ck6pF1niOF+OLt/7LM+v2Mi6hcOJS07+f2jc6V00GiGFHU01vxnIiW6evzzInHTBER0aDrAKF4ec70pDM9fj0Agp8LYv/1srOYJYyusNyXBfV/yULXdp4SlsD5zcZltvs5BtZ4upbJaNF1OuH5zw8Hk9clVOsWIArvrwBcbRmLHm9xrqnR1tPtLK8neMRgwkPh5mRey8jAfgu/jLnQOV6o5kD+YWg9XW0ANXJV9GoOJ1TFI6FP68AvrD8mps9ZpjO9Bwq/Z0P0BEdFVMjS76TusI+4m6afVdKSmGFQArRvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e30PmsaaCMK2uylKSzktY/m/GLlWqH4G7kOZAR3C3tM=;
 b=l68jrMx+6CfYyyvc3rCVuM3HdHDSFSRPqHSBnAe7UbSUc68Gvg1WAm4BGu5xk6sCS9eAkMS0lkwf4Vot/4tW0k9DMGAstG7GXWegN+YX8PYZI9qsYEfZkvI7lMi1MwIzliljpeSugVRZ1TaOGedJbBd5g4QYBqOle8oTUAD5obWC0ge+VUUqVp5b8lVBS+8JSkSK87avVnIqZ9zLRqFJKVJnQmqtXrJHIeQccV5K2x+J2LfGxw+WznH5crQGRbjvmEb6ljDPomMqVdXfJdnBaJkwv0zxUsvVq02IEsKwBvEuhXL0sKklKgY2RkRkN04C6IGcsaNA5rwwe3tdca1aJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b7ad6a92-3c59-a33b-903a-fd0af2fb88af@suse.com>
Date: Tue, 22 Aug 2023 08:22:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 45/57] xen/riscv: add definition of __read_mostly
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
 <e11462a0dd6e71884aa114493d75674411e26701.1692181079.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e11462a0dd6e71884aa114493d75674411e26701.1692181079.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::19) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS5PR04MB9769:EE_
X-MS-Office365-Filtering-Correlation-Id: e8bdcdf5-eb69-4ba7-fe72-08dba2d81ee7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	knD6dcX0VazxBRfrrbH44Fz/XX6f7ZhajGDAlVx7izZjf89GpPQnVuDjkIt5mbdxkvx9leNnk5Tf/BNrglWyct5ybMZFwX8JAIQHKIBkPusPfh8yaCxyKjn7hZEoYLTnfb++R4/ceW82OqA82eYooU+UhLzqJ5io/jRZCPy6gh7C83sCOApqwoZERz19m+v/LzbbIqd7zModo2AZaGpH5qNqSEgqYCeGHMPMpzm01GpLvmXXq5teutLql5g/H5qdpSdHmqbkns/99pAiVV+dHt76bQO6BEfFgwUXyMN8TgpLYk0nIZlLgftPOScQgmoibJCO3F18rVEtuQGaxVCv4g1zbm4Mtbv70XaH34Hr4Pn9vf7NZuMCmzFAuwJxLWM7Eiii2ys4tSiXOs8YZ9RBwwAX/9bzCG6f7sUGd4MSJtRVlmcm4hUinzrBr4bzx73hg10dktAd4ESgPQmQ1D8pHFlUfUe8msQ+h4HL7YZKPMUHjV4KPwDHSg1llS3RdbKUlvgr5FQm9b0Odg7xQaW2TSIsMZe/xpiWguWQr+arTjg8GKu1GAcnoba1q4WEZKc0rSQTzEZCNCRNbnXXn4S6cnE/A70otadLwmxGTFV1nxAZnMuLX8DpX1UzmxEkINGRB84zhftgENXKF/AiKAEm5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(396003)(366004)(346002)(376002)(186009)(1800799009)(451199024)(54906003)(66476007)(66556008)(316002)(6512007)(66946007)(110136005)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(53546011)(6506007)(6486002)(4744005)(2906002)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVZIYTFRb2FETmk3alVBQzVmQWVqSFZOVFNHSGd2N0tUcFYzaWc4VXQ5NkRL?=
 =?utf-8?B?Z0VVZTMyQzNJRmVIclpGMzFTUGhHZlpLUDRxNFgvTEFTczBlVGNuMlU1ZCtD?=
 =?utf-8?B?bDNjdUZ2QUw4QThlOG1ITDZtcXI4RkEzOFlJZTlhUmlMUTY4WXdaalpoOTcv?=
 =?utf-8?B?dnZtK0xZRmJacmhxNzJ5UG9FbFJSM3lvcWZqbTM4Mlp2TVY5MHhieHJwV2dF?=
 =?utf-8?B?SHJJdVRxNU16Y0Vxd3RBZlpUYUZtR3FBdUZWVGMxZlFtSkE0WWpnMlRYYlFz?=
 =?utf-8?B?R2ZpLzVXV2lka0QxM2FHRmQvSE5jUnJpZlorYmtEcEFVRXdESXhNaVpLNXVG?=
 =?utf-8?B?VllDMUZ4RVJBdXdsWFdLOHZOSkJqeDA1L2R5NFE2UmIvUlpzUGhtR1VTN1g0?=
 =?utf-8?B?Mk5hWUlUcnZrdll4aC93R3BmM08vWkMvYThDM3Njend3TXpaZ3lWemtSWFZ5?=
 =?utf-8?B?ZEgzMlZNbTUrVVdiRmhRZTZWNDlTclhxY01hMEI1NVFmSklxQnNNdEZ5TUNP?=
 =?utf-8?B?K1JJS0Y1OWVGOVZFRStJWkZobERUWXpUanQ5YzlPY1g5TnhZd25YSVJRc2hu?=
 =?utf-8?B?QVlWVENnWE5uODFkU2psRXVLOGY3bHJWMnZ3L0NudTN1TTIydUZrREFjcVRk?=
 =?utf-8?B?d1MyZmFoNmZuVmdsOUJEaEgwZS9rSjhub2NtQk1yUW1SYmMzNjB4bFpPaTlj?=
 =?utf-8?B?Y0xHaG15MlI0RFRneDd1d010RW9mMTUvd3hIcXVsNzE4OG4zcTk3WitMcHIv?=
 =?utf-8?B?MmNrMmZOOC80MS9YVFVlTmY4czdpd2xHZXo5b0d1QUVXcXo1UVZFQXRNeTA5?=
 =?utf-8?B?a3ZBRG9DS0FqcVVmUE11SzVXZFNjNWtJNkNRL2VMSGFhLzR6eDcvVTkreFNE?=
 =?utf-8?B?WG5DeU8xSG5JWVY5eUZiTnd2QnVDR2RhY0QzZDhkendwbXg5bDVnUklXM2ts?=
 =?utf-8?B?czhUaWxnRmNHY2luOWJTWTRsRVArTXhZT2lkZHYyTlRSRzlwWHZORlpUSHpY?=
 =?utf-8?B?dCtrbmk3L1pSbVVuNUVxTWlhYUpOM0x2MFdKU2hiY0RQT1lNbUhLMDZmUG1Q?=
 =?utf-8?B?MkNUOG4vUm95L1IvK1JVdk1uS0txOFFLYjR3dGR1a0ZpMlZKNXZaSyt2WlJq?=
 =?utf-8?B?NVlrYUpwZ0JPR3NlenE1b2xLWVBNTk92UEFyeXYxMUlBUFNkWDdsV1BYV3FQ?=
 =?utf-8?B?bFU0RGlaWGpPT25MdlBveUZzdC9KZmY4c1VmYldqSWNHU1ljTnNxemxKZ1I4?=
 =?utf-8?B?Qi9ucmhUcVV1ZlJTM3EydlJRV0k4RVV6aVhMSTZSbVdsM1RkVGNkTTJjajh3?=
 =?utf-8?B?NnlIVHY1R2tzOStNUHZtclRpS05RbFF3aHZEY0FqZlRtRUhRUEh4NnJ6U0RI?=
 =?utf-8?B?UkVqZVNjaTZSNEZjNFJWc2o4LzJzdy91Y1Z4dnFaMEJEMmNLU3FwZy9XVkdZ?=
 =?utf-8?B?cE40WmlnRjFUYy92RWdvQXlwVXlDdVBUNFJUTmJpaGYxa29Qb2RvMEpPRzg1?=
 =?utf-8?B?QnNnS1dsQi9DWisrUHB6d1A1TXFFV2ZkS2paVUE4V3hNMjEzYTJXTENRYnF5?=
 =?utf-8?B?cFJHN2Jqdk0zVWI0cCtoSGQxSUZWeVJPQ21YOHkwMC9kbXpsM0NIdHIzZnBo?=
 =?utf-8?B?VFF1THphV1NINDNHN2xKelg1UDJ3bGJLalJiMTBLR3lYb0p1aWNURlVHZm9z?=
 =?utf-8?B?TzJvaWc3NFdiNmlod21TYllhQXUyRkVDaDNCSVVLRmtZWE80UGpQalZnamU0?=
 =?utf-8?B?Z1owSWVhTTlPV2hQSXQ2YTVRQTVzbEc4WFVONGpVaG84ejh0aVVDaTdoSGRK?=
 =?utf-8?B?SC92RXlGVzdpSnJYQTNiQTk5MFRNZWlMMWV2MXV1T01CQWVmaFFCNHJUdkdT?=
 =?utf-8?B?emZwbGx4TDA2eW1ZU29aTTJhYlFFcW9KRHdQZ3VRWVl5Qy9nTzI5N2xIb0Mw?=
 =?utf-8?B?SUJXcVlnQU5QQzVab3lYeHk2QmFvSklyd3REQVZ4V3d1anhqMC9hbjMzWHNz?=
 =?utf-8?B?dzBpREYrdDc4L3BtSzk3UXF5Ykx3VnNFZXUzZHBMNmtEK20wSjZ6ZzhXa2hS?=
 =?utf-8?B?a0U0eVlQMEl4S1FTbnV4QVZXOVZXOERHYzlkMENlR2RVRXNBT2c1TkpoQ090?=
 =?utf-8?Q?fB1AzvbnxmHzZpKOVvk8jZJfp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8bdcdf5-eb69-4ba7-fe72-08dba2d81ee7
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:22:11.9556
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3TPq43jmZwmXk9nLISCjaWywjrpn6xunehUCnAfqzCP13tBaAuRa+JkykzF3mnyeBUy9JieVyfrBcdUplN2/tA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9769

On 16.08.2023 12:19, Oleksii Kurochko wrote:
> --- 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")

I did already post a patch eliminating the need for this. It's just that
Andrew doesn't like the new placement of the construct, yet neither
suggested a reasonable alternative nor showed willingness to accept the
change as an intermediate step.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:26:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:26:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588133.919597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKq8-00022S-RJ; Tue, 22 Aug 2023 06:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588133.919597; Tue, 22 Aug 2023 06:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYKq8-00022L-Mo; Tue, 22 Aug 2023 06:26:08 +0000
Received: by outflank-mailman (input) for mailman id 588133;
 Tue, 22 Aug 2023 06:26: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYKq7-00022F-Ds
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:26:07 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe12::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5c6be16-40b4-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:26:05 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS5PR04MB9769.eurprd04.prod.outlook.com (2603:10a6:20b:679::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 06:26:03 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06: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: c5c6be16-40b4-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lDh26FaFC3HawwnhrwKKlWzhVX9bQbU/krVtE1zrZwZGGjZKbP1uUlZ02V6jwlfkM9pkJgtUQPi7rkz7/N8roBPyxtyT5B+kyjOKEw/KydKMnLjNw16EuuQzpMsAUeMJLo0V+rj7ZgEn3tF4Wi9BFe9qMhkGXqvtjQQF2VfGl2LV7Nmzi5vfasomy9tZ2zXhl93CDwSzLF/+iX1MpJjE10xiLxCUAUyvOQ6DTrvHSJScd4qtbZj2WwCQ8/ULocT9ZayWou2tMp9o5pVxsFuluBpai30Ib2AYveF7j71hLKRN9IPyCS9YvGDmSrYKulA7C1MRqSGmLXNd9wIMSlUNPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3fS0wcyaXjA0y9s1h5ERIA6nNU4ghccNYKKrmSC/oBw=;
 b=jmEg/hJiTJX/eGb+y1XJwWnZa5b/rnQQhk06Hqevi+PhyX4rIkhbgSnwtJj81Y1OG8eQCJkGRSrU2CWnxDq1W/fJwzhE1GI+mXPFP+xi1L43sqAcJLLvNGz5ZdI+SDGak8T3Fm3n824Y6APmPwzITcWv3pKNKFxi3T09SbHmLHKGRTHuAeVxMSTcGRbRij2299yQYAzuON6Ujf2PYKQ9JMt4eUMoiBG/SSW2MLB7F7xhAR3Qvvc6dTPrW6aThOSgKUWB9bEDwYotSZzWHsQ1vpg3BP+BQxftSo8GSq6GZCPMZt1H+/DO+PAEOTV14r9cv6P+GprZe2fajvekX2s0/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3fS0wcyaXjA0y9s1h5ERIA6nNU4ghccNYKKrmSC/oBw=;
 b=FzdXbHcIDRQ3fAr3du63VEdQrmM65c47eb/SkvjbyAnWhXOfqGV1059C9FV+pZhtaXRpp29C/D2Us+Qo6IDMovHU1gzslZult1D7VBEDSIr1jwERpsrY9UOddtbL959pkeQBe4lnaa4Zb40Fgh2sW2i+kM27BqZAsjtj0YvXtm0taNOEgbKbJuemT8iuZOGi4lD84KQspXVq26/QK5e32EZqBrN7n2Mo5cGYxsnDMhrrfmzKtksz9xWoEi9UGXeZkfaP8wLCo8Ec8qNHgLvXTQlv6QNKBjUOQZ06XmXCutloDGNxzR83m494NwA2bOTOz2uxbaYbLb4XF4+yhZAvxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1fc9f792-142a-3868-57e8-e84e0858cf62@suse.com>
Date: Tue, 22 Aug 2023 08:26:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 1/4] xen/pci: address a violation of MISRA C:2012 Rule
 8.3
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-2-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822012955.312930-2-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::10) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS5PR04MB9769:EE_
X-MS-Office365-Filtering-Correlation-Id: 00b0a99b-844b-4f4c-7f0e-08dba2d8a908
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V9r8VON6zBDpj+Iea2QCYMgHfRdLsAJ+bobwM1hZ3GF7y8ovSSFkxACAOs2Em3puyh5F3bHc09anXRDnlionf6EFi99a3UV4i5b3wLvLpd92R2EBKbSNYoZaWNwapT/x31hUA8cTyfzNif7xPNDH8A/Q9NXLqAhelxSar1h1Ifoc6pFg1uY2rCSS/TOkes/G1/M8mavuWblPj8IATYl0JmqdzCj0ZCErIoD9v/u5zjLwz8gdrGBM6EKRC2295tl9mQS2J3oA8uqyotZbwZfReh3G7ACC7gla9iq+nc83W3WO9tpG73LkFS/kEu5x9DGjxco03vVDPPoqL16IO6tQafhnIYyOKzHsKek15K6bk70Xb/oVjZ6ZshjJ9Ezf05MmO8GdsOXnzAYuinh2qZ7foVQ29+v5I9L9avUS5FTP36BQ4G2vIOVa19+SQoVFS1LjTRhH4XjDv8JoF2l0YE+p3wsv+dRnUkmOVy+qqsqM6zDhJTducDQr7cyj5eC54IwNJMD5SvU2Vo4FgoJr/ykhrjX56QTYgoklAptbaqaU5lcuIuy0ntXPDB55CWKPEpzFqU3NoQQfXKpmaDvwcrj93ySDIfJL6BiqE6lGgJT6Ze/KdgzqKxC8RtNorMsBg58cXCn8VuYlQmIHiMyeQxtIpQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(396003)(366004)(346002)(376002)(186009)(1800799009)(451199024)(54906003)(6916009)(66476007)(66556008)(316002)(6512007)(66946007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(53546011)(6506007)(6486002)(558084003)(2906002)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MC9LZDM0Uk9sd0ZrUkd2TUtpdWVVTFlvNmR4azBWOVFGR01EMy9Kc3Q5dWNk?=
 =?utf-8?B?ZmlqL0FtSWhOcU13b1NBVW80TkYyODh6QStXQm9IQmRFQTdFWVcyWkZ4TTFP?=
 =?utf-8?B?L2dIRGJzNy81N2JZRGRVMkxJcWJ3T1hGb0NBOXhtNDUzSCtkZkhPR0o1U2JO?=
 =?utf-8?B?MlB4ZVVoaDZaaCttakdGakxxYTc1MGJhTmhnV1RZcmNQRkVEL2NoeVF6VlVn?=
 =?utf-8?B?SVVFdyt5bDRGeXErZzJKcmVTVmxPcExaeWdRdUxuem1LMjhRQnNxdDBFbWR0?=
 =?utf-8?B?cEROM2lkRHhFc2pHUTZWNUNkYlluZ0ZDeXF2T3ZqT3ZCUDYxZ08rMUUyOVNw?=
 =?utf-8?B?anZJQXRQUkp4Z1dzOHlnVmkvaTk2SGxPTzJvbTZDT2VwYUFjN2lOWUJYK2dT?=
 =?utf-8?B?N1pjQ1J0Wnd4N09EWW10YkpObCsrcnoxL1YzcmFTMWlycG0yUUZ1WVdOdHlr?=
 =?utf-8?B?Q2pBakJweE5neE95a2o1bHhGYkFCdFl0QnE4MXg1bEkya0E1TW9rRkk2OHRN?=
 =?utf-8?B?cXN2Qm9OVmtmL1RvUVRiVXdROXkxZmp2NTZtRFRqekY3UFBFNU9qTmlOWHBD?=
 =?utf-8?B?Nmo0Vmp5SDlqbEFyUFNpYUpLYklTVWJTd3VTeTVKbFZ2WVkvWkN5MmFzd2g4?=
 =?utf-8?B?ZldRa2M3N0trZy9EbDBqTytmeHZObUV4eWlzRFp1bUR5bGs5SjZUengxOFR6?=
 =?utf-8?B?aW80UWpTM2c3TXVVVktwQnEzNzQvQlEvNFdKVkZXaGdQWlIvZDk0bSs5d3R6?=
 =?utf-8?B?bGVRcnNwYXFDNHpxT21UbVJLaGF0eTdqc3B3MVpvWDAwNzA5ZG1QSEVDMjYw?=
 =?utf-8?B?OXhIOEpITmpwNEdQa2FYZStaQkNMM05JRnR3ZzV1QmwyYm1WYm9TdmY2bEJr?=
 =?utf-8?B?cHhWN05mNVkyZ0VNMWZPd1JIWEJxbWFPejdoYnIyOTVaVERmNTFKZ2dHcU9a?=
 =?utf-8?B?MzlOeHB5WDNHWHlEOC9wYWVwclFFbmY5aUFyNlltR2Q2bE5yUlJwUDNrczNh?=
 =?utf-8?B?YllYZngvbFAya1pUSHBmaGlKVGVhZXcwZm5pWG1mUGlLaWZRd3M3S2c4amIy?=
 =?utf-8?B?VERsMit2VmdlNDduMm0yZk9HSzEwOUZLRThJWGQ1UjdUcTlyYVFlVUl2aWlB?=
 =?utf-8?B?SXF5RnByZjgwbWVZS2NVUHc1TzVUS1dKR2pMcW00SDIvVzhWbXZFQ0I4R09k?=
 =?utf-8?B?ck9zb3ZWR253amZEMXVpODZCbWhYMkFNVmlQL0FIT0c4NHpBZjJOZEpOQXhK?=
 =?utf-8?B?emMwYng3RHVVemhwV1NQeEtRZ1NJZERHTDIvMTNPYWkva3JPNFVtM3hzMnFU?=
 =?utf-8?B?Q1Y0dVpZbE53ZmtmUENpT0lsaG5PcEwwOUNpNkRiMDBuRkpDZWRneVc4UzhE?=
 =?utf-8?B?TE9WSlZYL29Vam9QZlFYQnhxNkRJT29GRVVVcjhhY241bmtqY3pDdElLWHBL?=
 =?utf-8?B?RzdEMXlhQkV6YzJMMkpKSjdIMVlFeE5RV3RQOFErcmY3YkFod2lWYUlZelFO?=
 =?utf-8?B?VmNENHhlbWp5dkpCV3NYTDQ1OWpBN1lYeHVDSERYRnpRRHFmUHVVa0lZUWFz?=
 =?utf-8?B?Wmt6aWRwTkVYUG5Vd0dwcElKcWxONmtmclhDaklKZXhLVFlvdEpjY2NVc2Ez?=
 =?utf-8?B?bXB0blZaV1dFdlZzM0pwRkNMZmViUWUyV21KUXlaMjQwdDJaOGkvcVgwNy93?=
 =?utf-8?B?K05lOVVJRy91TUZ1a3BRR1YvWjVTbnl5Zk5KSjJUR2JoOVZFVndtRmJTV3dt?=
 =?utf-8?B?NXZCdGQ3VjhPT0hxcE56bTdWQzIvQUlDYlJReUxFVXRSdXdndkNMZjFiZ083?=
 =?utf-8?B?SERvWklTaUVDZXROUDFnMjZTSjY5L2VTd2RLUzU2TzZQUHJ5cUhIeXFQZGdJ?=
 =?utf-8?B?bmw2NUtoak1sMWhRY29KMVpuNFZ0ai9TaWFnWkFmOEdQMC9VYm5kN2FUZU1j?=
 =?utf-8?B?N1kwRWR5UDhOejI2TFJYODdJQ2ZvbExzc2w2eHpMVFVkZGxTYUp3ZjJQalRk?=
 =?utf-8?B?MXBKaTgyZ3B1RXozek5GN0Q0NERoOEVBRlV3OWl4a3Z4dk1HMElEZDN3Tm5m?=
 =?utf-8?B?MGlRdjNMV2JHNTViTDR0eExUc3RsYVBtTktZbHR3Qi9XOFIxRWJ3elgwZkFu?=
 =?utf-8?Q?1gkBgcLHHYEydH1TKnkBBwe5q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00b0a99b-844b-4f4c-7f0e-08dba2d8a908
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:26:03.6804
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T54Wo3VjKmj27Rc0JwGt+6KWljSN1FcvJnpNDqAKaU76RHC/M6swTPx0bjFUb8l5UfWRuCbj/9ffxra416+roA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9769

On 22.08.2023 03:29, Stewart Hildebrand wrote:
> Make the paramater names of the prototype match the definition. No functional
> change.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:39:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588141.919606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYL2g-0003n8-0l; Tue, 22 Aug 2023 06:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588141.919606; Tue, 22 Aug 2023 06:39:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYL2f-0003n1-UB; Tue, 22 Aug 2023 06:39:05 +0000
Received: by outflank-mailman (input) for mailman id 588141;
 Tue, 22 Aug 2023 06:39: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYL2f-0003mv-8C
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:39:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95a94f00-40b6-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 08:39:03 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS8PR04MB8964.eurprd04.prod.outlook.com (2603:10a6:20b:42f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Tue, 22 Aug
 2023 06:39:01 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:39: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: 95a94f00-40b6-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=chAuXmcOmBk/6w7H/SqXW5U6H2zdL7e5807lsknrpbOS47JIV0TE9hlzKZhus3ZQLxhT1gu6IV5LFyZGLcU78+wgvW79brvsrjOjZ+cLAqNWYMBdJoYGVCmJ1lqwveOeysBKivY5E7AquhetG2zyoNO1lcIAtfrwMqYDA1jE9jiP/Eu/7LkWtrSOtCRmn6tqyykEl0IH0PFoTKKH6Niqyg8o+57EWhz24cR4yXEujieT7wAoAyC1YCc3bNFGfOGP+YXmaohqolsw8NcaawcXUI2ke02iNr3OVyH51uGgRgXvr2B1XJZn9vMDk4b7buIO8ciryv93l9Z5RlgaK+CUFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CQpHGDdzzsNpcCUIxBtd5IUq4fKOlheR0piZaDIJjAY=;
 b=bjbKX7V5Q6nGlW5YSn0obBghj34XVXo4h7FwVCtjz6GcIwLd6qS5EFdB56NVCB/v1TxRKX++otvXs645XFOyPI9tWvWuM8ZHx7LFbFfNFmx0jMuGPWjYVRz9iU/G0QiE48erWy77qlOiMUZgLEV0/L7f4uww3zfYiMQNpajnOMzDb7e3UmUm8Vs6x4qrsxfnE2/juGZ2a+poq5vsiQQCqge9183wOl0SKOJ9V0Z8XQaLrX8xNLGp8zqt+ZABu4cK7gkmetc9Yw3YuuF7GteM1YLIq/DQjruRJcxnu1SyaiOD3FetHkEIVizlyxfHyyg5HoAEYvgogeV6fYeHybJLNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CQpHGDdzzsNpcCUIxBtd5IUq4fKOlheR0piZaDIJjAY=;
 b=l22lmcWvVhK+Uvi9Gr/3pHxkelRtBmkRHSsx0hwefwCDJdGhTy7gfg6FxA8BIXw6QkVWdpd4QBw29aymtEFo27EK+dfZ0FvUFlQyPKzomVHsMFs1PVB8cTcSUbd9mJwTfne8WER/nErQKEy3gFgGLxtNG3tJPBfdwQOYyKqO5SM1fTENelDlkJ/85RLjyIAPi2pTscBRSvF6LGUpz/buqAbt3GKKdXX173KPhbiVqTOm0SNFF25uj4O4RsrTvbRLKdA/hwTa5kh6ZqgGQj2/ZPJ1rBj2OdOfKc5f/erRjY4xkSGN1SLmruJo2l2igxxxxC0YaTCwLZ8fvlF3Br707g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eaef1c3f-490d-a21d-92d1-cfbee50dbdd9@suse.com>
Date: Tue, 22 Aug 2023 08:38:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
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, 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>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
 <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0081.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::11) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS8PR04MB8964:EE_
X-MS-Office365-Filtering-Correlation-Id: add08ee9-abfe-4fb5-4212-08dba2da7888
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ujc/zTY7nvvsb0m48HaCKNblxkiNzCjDAURMiAHDgDkCvhIKHmUU4Ld+SbjMnN0QG7tsH2OMtkqdQVrzvUEu9l1Z2b70LoSqcrea/Fnacf0R2pp7MWBQKNm1ccRPPkBQk21lfVOh14PgD5BBzt3QJliIsTC1mZ9620DzPyEE7Bzv9elw8G9eooEu1p5fLDYhRx9LfZHG7XnlZ0ZIQl5V6AXK1rHRC+EPKxc+ip0UWcHdzNGgmgcr7O3Y/hHLPWo/jvh2lDYiIqU+CJVTgkPiPSvoH/rkSE9gNzbvusBoDrd/6/MVgTXSYLgGHvevedCN4rZUJ4qlem+qHDyPTQuoZdb44DhpIGsLvHK2tVQcnjkXmb/LmJ9hiWOFgE3eTva/fPXapDxoQPuH7D7cCaAAjAUsQK3+qV3zEhZImTmBDetKcd/aVyUtnd7VvYUqqzA1FOiKp96FVB+VB/pvC6a2ERLcjFy/cx7/XIudzMdFEv5T0Q6/e1oEgNmafdQDCcMz+FB35xQ613v1PvF5cjB2u0xcTC+DSypOu8UVeIH7q54AHsxXT//xUIY7f3k2mneqMkseVyc8nwmbB35dmd31FhFWpfCELXTrWKFN0quYuYS5CL3OijQy5vJgKqFMVVXg3v9/1yD1rBUcEkxlRGf/Gw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(31686004)(86362001)(36756003)(31696002)(38100700002)(8676002)(5660300002)(26005)(2616005)(66946007)(66476007)(6506007)(66556008)(6486002)(53546011)(6512007)(41300700001)(478600001)(4326008)(8936002)(54906003)(316002)(83380400001)(2906002)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V0hTcElGclZoMU5YSHBRRGpEVDFsSk5SWVkraXJJdGpmUnlEUHdMSWRTZDRM?=
 =?utf-8?B?SU1OTnVvOWtWTm02MjducnlKZ0FmbVVDSGZOQ3UzMFZXdEZJVTJ0YXRadm1P?=
 =?utf-8?B?ZlVsTWszMlh6YjNJNEpDUnhyOFVjTVNpY0h5ZkpweG9IS1ZZalR0TmUwWklh?=
 =?utf-8?B?eTN3MnBhVkZUTzNNNGxlNmJWQVRFeVNmM2ZnY01DWER0Rm8yV0Z6Qk9RS2Jy?=
 =?utf-8?B?Qit0aTM3dkt5bS8yREVTaHI3SWVKSTE4b215UVlYbzl5OTloY2FXTHAzS2lh?=
 =?utf-8?B?dHlGcDF1bVM2U3hCYXcxbjN4dzIxYmFxVHRoaytnSFFmamtuUlA1QUlISHVh?=
 =?utf-8?B?c3h6NW43RzJTZWtnN1RzSmswQmxZTXlmNHhCdy9qNlZiNm55R2M0Y2Rabjhk?=
 =?utf-8?B?SjF0OHlmZWlSTFM0aC9kK09HUGh6TzRYemMzck9yRDdzcXhHaEt0d2VwQTNh?=
 =?utf-8?B?NTdPSzZvU284WWFURXYyd3pKZnBUYlBUVEZiSm5qZWxWakhVendLcGpGTGt4?=
 =?utf-8?B?VW5YR2ZIN0dWVWdYdFFsaURpUkh0ZmpHZjY0MXkvWldHN2VMdmViMHBKdW80?=
 =?utf-8?B?Rk1LbDhudEVrakhNNTdDL09lY090ZllFZGV2RFpYV1lyZUg2MG02TXUrR2Vj?=
 =?utf-8?B?a2tQakFzTGd0N3BuQi9kVmlmL2Zrb0dlQkRaT1Ntdk5BTzE4SkZTR1ZXNENO?=
 =?utf-8?B?NTBTU09xMVhQQzkxTTZRN0d2TWR2cHVrZG9NTDcyWWRiWThNYncxQUcxQ2w1?=
 =?utf-8?B?UXRCNG02NmhjNXlqZnB0dlBud2NwemJLY01CZEhOWXAwQjlBNk5HeVZDaUcw?=
 =?utf-8?B?bzhXWWN6WG5zelRVVVFvN1NZMjByeHFvNDhJemNTWm8rU1N4N2pPS1dHSmwx?=
 =?utf-8?B?dHJGNTVIR2s3WFFLR0p6L0dzWjRBOVpiR0REeWxOeDVMbkVvbE1JMzlSMnkv?=
 =?utf-8?B?SCsyYmVnQ01la3o3RVBXUzNXdWJITHlzQ0d2L1BwZVo2Tk1rRXpNeXNSV0Jk?=
 =?utf-8?B?aTNvazJLT2E1TnNPY3ViQmNTazVuZ05ha25XekRFRDRBNU1uLzNoQy9DZU1M?=
 =?utf-8?B?WXdLeCs0Rmh5dzIrdDRlYURJbVRTUW9WV2JKeGRvQ2laVEh2bitzQWErSnA2?=
 =?utf-8?B?eUc2SE8vS3NSSGhqY0dFWGhEbUpadUVENjBMV0ZmelBxMzIrVDQ5bmFoRG12?=
 =?utf-8?B?cW5idThCd29jVTQ0WHBVRFQ5WERxa2JKSlZ1YjFmNkVMRTk0elplcGJRZGxj?=
 =?utf-8?B?Wjd3N2pPd29MamI4c2xzRmIyVkkzMEZoajJWOWVHSzh1ZXZrU2hEdFd4d3VX?=
 =?utf-8?B?ZGdvUktkV2hjWURRNDk0UmdGRE5tL0J5VCt5Lyt1cWx0U0hjNmNPTmU2Zk1N?=
 =?utf-8?B?THNwdEJIbnEvNmpRcktZZ0N3UW5aNVVTM0RnU1I2ejA4U3VJakhYS2V3cDdC?=
 =?utf-8?B?M1hVNy9PcHR4K0FvanRlVFFkZW9yWUpqaVovMDNZZWZhdnRyS0VJZ2xkcFRr?=
 =?utf-8?B?ZnVMQnhtQnRjbE5YODlmcFRzVUZWL2JwaExGNk5tZVhFTzhSNVYzamQvbisv?=
 =?utf-8?B?OFM4R0ErZTZJNEhBYXlJdy9VOFMyUU42cjlENjBOcHo0QjJVeGFkR0JuU3B1?=
 =?utf-8?B?WUZmSnpaaTlyMmxBOUNxZmFyVkZMd1QrMEFQNys4V3FiQUZZYW1VV0FpN1NY?=
 =?utf-8?B?QXozTUFyckN5WFlqdkZPVDNjbXEzMkFoRXQ1WDJMNHIvdEhpUXFnVkF3K3FV?=
 =?utf-8?B?eDd1cjQ0K0JzM1UwaXNGM0xuSWt5SE9uOURyektDRDFDcUw2U3FVRTJ1czds?=
 =?utf-8?B?ZTl6dWNZc2FyUmhqTWFKbzkzSE52bFlGSDMraWdmVWthL3J1dW9JLzhZTUlD?=
 =?utf-8?B?dHRSam1FMlBPVGRrN1JuRk8vMGxJRW9nanlXVldWQzZxbGtmZ3AvR1FlYStk?=
 =?utf-8?B?RnJLREw0UWtaOEpjWWwvTGRyK1ZJNVBIeG04SUgrT0ZjYWtkNE5zQTJRc3ZZ?=
 =?utf-8?B?ZWxCWlJlODRYZ0tJL1FoMjR6cEJPOU9Ob2NzUnkvbDFoNk92ZUFjTVZBeU5R?=
 =?utf-8?B?ZjdEci9BTU04alA1bm1XMy9kSFd5ckpoa3JQNS9PRmxzMS9CdXJCWE40a0ZP?=
 =?utf-8?Q?2/Gce/trUclGK1uAiujhZgEa8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: add08ee9-abfe-4fb5-4212-08dba2da7888
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:39:01.2904
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zLQM/JQoV/E5U0ITj+RmqR8a4zyZ/zbYrb8mN35hLY9PPVKMdblOAfYZ1ZenqUDxNzqSnxJUr1B0ib7A/DGhdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8964

On 21.08.2023 18:54, Nicola Vetrini wrote:
> To be able to check for the existence of the necessary subsections in
> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> file that is built.
> 
> This file is generated from 'C-runtime-failures.rst' in docs/misra
> and the configuration is updated accordingly.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  docs/Makefile       |  7 ++++++-
>  docs/misra/Makefile | 36 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 42 insertions(+), 1 deletion(-)
>  create mode 100644 docs/misra/Makefile
> 
> diff --git a/docs/Makefile b/docs/Makefile
> index 966a104490ac..ff991a0c3ca2 100644
> --- a/docs/Makefile
> +++ b/docs/Makefile
> @@ -43,7 +43,7 @@ DOC_PDF  := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
>  all: build
>  
>  .PHONY: build
> -build: html txt pdf man-pages figs
> +build: html txt pdf man-pages figs misra
>  
>  .PHONY: sphinx-html
>  sphinx-html:
> @@ -66,9 +66,14 @@ endif
>  .PHONY: pdf
>  pdf: $(DOC_PDF)
>  
> +.PHONY: misra
> +misra:
> +	$(MAKE) -C misra
> +
>  .PHONY: clean
>  clean: clean-man-pages
>  	$(MAKE) -C figs clean
> +	$(MAKE) -C misra clean
>  	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
>  	rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core
>  	rm -rf html txt pdf sphinx/html
> diff --git a/docs/misra/Makefile b/docs/misra/Makefile
> new file mode 100644
> index 000000000000..f62cd936bfcc
> --- /dev/null
> +++ b/docs/misra/Makefile
> @@ -0,0 +1,36 @@
> +XEN_ROOT=$(CURDIR)/../..
> +include $(XEN_ROOT)/Config.mk
> +-include $(XEN_ROOT)/config/Docs.mk

Why do you include this? I can't spot what you consume from there. Also,
why the leading -? _If_ you need something from there, surely you always
need it (and hence you require ./configure to have been run up front)?

> +
> +

Nit (style): No double blank lines please.

> +TARGETS := $(addprefix C-runtime-failures,.c .o)

Does the .c really need listing here?

> +all: $(TARGETS)
> +
> +define MISRA_HEADER
> +/*
> +
> +endef
> +
> +define MISRA_FOOTER
> +
> +*/
> +
> +endef
> +export MISRA_HEADER
> +export MISRA_FOOTER

Style-wise I would say: Either you put each export immediately after its
define, or you merge both into a single line.

> +C-runtime-failures.c: C-runtime-failures.rst
> +# sed is used in place of cat to prevent occurrences of '*/'
> +# in the .rst from breaking the compilation
> +	( \
> +	  echo "$${MISRA_HEADER}"; \
> +	  sed -e 's|*/|*//*|' $<; \
> +	  echo "$${MISRA_FOOTER}" \
> +	) > $@

The rule of thumb is to generate into a temporary file (then you also
don't need to wrap everything in parentheses [or braces]), and then
use mv to produce the final output. This escapes anomalies with failed
or interrupted commands.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:44:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588149.919616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYL7n-0005Mz-IK; Tue, 22 Aug 2023 06:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588149.919616; Tue, 22 Aug 2023 06: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 1qYL7n-0005Ms-FP; Tue, 22 Aug 2023 06:44:23 +0000
Received: by outflank-mailman (input) for mailman id 588149;
 Tue, 22 Aug 2023 06:44: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYL7m-0005Mm-SK
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:44:22 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52bed8d1-40b7-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:44:21 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PA4PR04MB8015.eurprd04.prod.outlook.com (2603:10a6:102:c6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 06:44:19 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:44:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52bed8d1-40b7-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EFSwaYAEDCLAecGsUvelPqTEyYWfo2JRHlV6yC1Q7yGYs1MPoPSyKwEAc0YCp7Yztm3CfqaPW8VvtnO2x6hooQsMdL5VeouSxUzhI800Zcst6QdgtvwWBha8Kpqq+ABoQTlR21Ili2Ms54z/F7RqTtd7n4djtpjwxlq94cWBFHFqU09CnW5B0W+easImd0N9aP3rw3YI0crExHmCVqIWlwkKClJXTBkcgPTWwVOLmCwGzynIsLjYZpIPOKo3FjtB0hVo8UsYiFHQFzmhNjlxHKVGxg9FnCMb0B0b+lz2qxDeybjnqIlwSYXofjZnhwB/xOalal0eL/TxZrTPAWi25g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Is3GJPKxYa+7R02bR7mGzTs4JFZQO8ApWsFqwnoPeZ8=;
 b=R4JJi96silhHVTja4nbMyVdAQFijqGLjccCxT+3Y1eOiDYibGC5/3+cqMC62s2jwWAy5gsi/+uQbaeAyVj3dGGVesguBoD4AvwIYNbgA+VixnRGonxBBDkrw+mZ6A8iRpAnXn70YWTGCUqChy22ZMadXAlFasoleub+7S8pfOxfRFLIyrRfevtf/Nq26wpEFmvmBizuVehlNPodg0K7hrj+ZtJzpyQvesNywyfdb13jmlXY0eOZdKuXOhnJJg1JChvuPP524CzoECYvPat4eQTlQztLiTt+iSg8+Rkx3U7gGxpQu/j1dfSHSpmkstg6OZBqhQkA1BXgIr8r79nCoYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Is3GJPKxYa+7R02bR7mGzTs4JFZQO8ApWsFqwnoPeZ8=;
 b=ugAnhWdA9/Dfp9Jrqqp92AQ1fca5o119ONhSzTbzCmJLeB3kUto0oL1PkfFb79Cev/2sacPH9TJCnfuUOHrxCzswqrp+dspepCPZKa3NtTpHLTQNjJA6yuMl0+vExSDzqx17RiTulTiYaJAwN8X9S7yCz124v1OiVU6hyqH2EVOOEyk6HvV4op+e5fhcXzDoyJPmhWe9o9kT4pxJegyZ5+C8h7ZToY2P4FPwBpet1GWmRJ5S4gMCIKtsaTt19/OUGN5pXdX30sgkN3mRsugCGO5AcSd401q+OGAy6rONfBzuoL4VWLUOImk9ofb9rTJIr/kkOUHJpfjT8oMZBX2XqA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c0a71d3-5f7a-0539-eb77-c312508bada6@suse.com>
Date: Tue, 22 Aug 2023 08:44:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] docs/misra: document gcc-specific behavior with
 shifting signed integers
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230822010228.2517542-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822010228.2517542-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::13)
 To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PA4PR04MB8015:EE_
X-MS-Office365-Filtering-Correlation-Id: fb6caf6b-2196-4c69-d55a-08dba2db35d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HbFPTk7+qY2F9hYOpYTZn6M1WddRi2AWH9mWYowq8Lj6nCItzGyvAP/K5A51IfFnXZw9Ir+a3JVwhWaYWgbY9SkUcWxp7vkBcFWj9fOfXOUtb/24E58e5Pdf/lQHCrzdqTqr0FK3GZKhFQQ8gS52Tz9uq4bzziYnUiByPvkVqqzHtjxLtkAtL0/G9FOTlovKEK1x3OVm0xhvh62PLMVEJ9ZHjDH8VCxg+JIwsebIqh2ePQLm6kNiVM5qyVxRn1t9KD4EEKNJBRX8/ijux3PGCfue6nUY/l+zwGk/GzzlFiws+YkXs2vVmDLmjKbGqfW8XNg26Rs0yAQE+FJv+QlYjBHR5PCwJwTArPRVcLY01OmACD30TD43Nlscd6ocgtdFIn5bcJ6QtBTUe6ahISHmXGo/0Iw9S0M+b5aqXHLDrlE+Tca+gykdt603yg8V/ryUZHsLKJSHsObgskReDHQ3zFqgyuBlm+n/NVtRDwCH1zVwOxaMKfW/dij8UMgpxPMJGDQuczKLjVgnPGocQxX3aFY4H7OB60ZGiIlkQ18DfkHVm6LR5GwCcXbG06zcUdqfRn+HfxOpdEmPoXAWcDOV+XZp8HtBBZbCMYdBNrAGAvTpgmosj7fwpuPJOw5teAe39FBg8Sk/Bl7zsdNT7y7dJw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(39860400002)(366004)(376002)(1800799009)(186009)(451199024)(6486002)(53546011)(6506007)(38100700002)(6512007)(31696002)(558084003)(36756003)(26005)(41300700001)(2616005)(66556008)(2906002)(6916009)(316002)(66946007)(66476007)(86362001)(5660300002)(478600001)(8676002)(8936002)(4326008)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGkvTE9rS2NNYlo2VjR1Umw0MnoxM3FBS3JjUGpSc0txVnp4bFliQlEzR2Js?=
 =?utf-8?B?d09va3BYTS83eUUyOFRJZVJRWGh6Qzg2dFdwb3pxR1pwMllMUTRnekRHRG1s?=
 =?utf-8?B?UzY1cnJBNVF0elBtc1RBQjlVQ1drWSszSVBaUWlXb2tBb0RJMFIzTU01akNN?=
 =?utf-8?B?eSsrVzd6TkJQWmVYY2VoMXhBMTR0NldpN05aUmtmdlJQQXdVcERVRlpFK3lz?=
 =?utf-8?B?eTdCeWhTYVljaHlIQ3FIOWxibUpJMDJCLzZqMlQ2TkZlblUwRm1WTTF5dDIy?=
 =?utf-8?B?UUNsZ1N6VUIxcUNaekg1UjZhemI3VlBud0ZCRWwwQzVDaFZpckV5dmJ2Q0tj?=
 =?utf-8?B?WGMxbUVrNklncVNxZ3BRbFhCZG9pQy9GNUc5RlMzRVlGdW5MeDRLR1NoYURT?=
 =?utf-8?B?bzJGbFRIcXNYc3Q5MkdjVkJnaHptZ1RBU2NBQ0grOGcwRW5pTHFzdXRqTHg3?=
 =?utf-8?B?UHV2T09NWmIrdWlEazRSSEJxb2JIOFZ5K3hobitQQThHT0d2b2NqRTE4TnVu?=
 =?utf-8?B?dnUxMTNpcUdxdXYyaVladzc2ZWpLcnZSanc5MTd1YmpDYVVWYVJFcTN4eTZr?=
 =?utf-8?B?aVZWdktrdWE3KzJJMm50SFl3ZXhta3dQU2RRNFlsVUIxd2J6SXJiei8vcFdL?=
 =?utf-8?B?ZmVWY1Y0NTV0QlNLUGd3RmtXcmdtR1dkUTN4VFRoRS95bnlQVlZIN0ZFMkxZ?=
 =?utf-8?B?cDJKZisvRThmWjh6cmhVc1AvRTIzRlVzSEh5WWRBQ0UvdEQvK2RlNm9GYTEz?=
 =?utf-8?B?MktDRFpzd3VoMC9zS0pDOHBZaTZZajlwZDJ0alF4OGZwUE1OY3VrSUwrRFd4?=
 =?utf-8?B?c2JkK3RHRTRuVmtBN2UxV3RRSElvZklYRnY4dFZhL1BEYThVZG1RMjQ0cVFj?=
 =?utf-8?B?dUJET040MjBvdnFsNy9zd1E5ZjhGY21lNmxUWW9VQVNvU3dBMGNMa3dBL3FE?=
 =?utf-8?B?NXZ5Qk4vSTdRMWtYb3VEbWJ0TUFIcnU2UC9VdnBiV1JkRXk0Z2dUZjB0cnI0?=
 =?utf-8?B?Ym5GV0R3WGtxRG13dzU5a2FmelEyaCtqeE9XR2tuMHFNKzRtUHZTeFA5ditn?=
 =?utf-8?B?aWMrQnZDbGxiRW9jQzZXOVRGVFpIbzJFY3MxR0FNTVRTSXBhYW1HZ011azkx?=
 =?utf-8?B?MW1ZWjZtdVR2MzhYWHdVT2hPOUUyMEg1WFVLL1A2N1dIQURVT0dBaHVveXd0?=
 =?utf-8?B?QVlBT1ltSHBZU21RRXFNYkJ6YWg4TjQrbVcwSEhmN0lrREREL3ZKWUpWTUxu?=
 =?utf-8?B?MStFZVE5VkluL0JKQnFBczB2ZUQvbFVGbXkrdHVGckpWWW1PV0tUbVM1MmVD?=
 =?utf-8?B?RHpSUk1vQkl2YkNLbGZYUFBzTmcrS0w5U1pQeERCSENKbk9jMWVRSWwxMWZy?=
 =?utf-8?B?YmZBeUluM2RCQ0VLMlBWRlNPY1ZEdHNzS1p6UHJKb05lN1BtNXkvRlJCQ0Rn?=
 =?utf-8?B?bzdrcEZBV0QxUldjV3NGR2VqYlJpazZDM2V1bzM3V1preWkvWWxuUndGdHNx?=
 =?utf-8?B?UjBVVEtBTnlGN3d0UUMvQkJsYjlobmY0NDByU3dNU3g2ZzdGRVBTa09DM1B5?=
 =?utf-8?B?QkZ1akRkVkg0dEY3czVnZ1RlTWZzWVA5Q3pUbHFScUVGMThFclNVMUg0M0Fs?=
 =?utf-8?B?UnRXQURQN3ppRXg1bDUrRVkzL1d0U2pqSGdIbURGdDZRc1VMbi92dHhUSE1k?=
 =?utf-8?B?RTg5Q28zbnh5bXdXTHducmRuM1lNaGh5M1dsUm1CcTQzbE0zZE5kdms4MWFF?=
 =?utf-8?B?M1hoT0NadlZoRnlSUE1RN1J1cE1LbGwwS01XV0VvYjhEdlk0SC9udktnVkdB?=
 =?utf-8?B?NllEVGIrNEtlMnl6ajFTTkY3ZCtJeFFQN0VaSmtoUXhRbWJZSjNteTV0NmZa?=
 =?utf-8?B?SzRXVmZXWnpIaUpVOFcvZmVwL2NBc3g5MnpOWHRLSXIvWEhJNFVQZE80TkJa?=
 =?utf-8?B?cUhNdDZXNG0xY2l5MHcvdFFTYXlyaFhSWHVMakdOK041TjlCemJoQ01uNHI4?=
 =?utf-8?B?b3ZVOUxNYWY0T1d1TGNTYW9aaVQ3aTRYTGFQV21aRFNoT2dSOGZ2Q1kvUmlj?=
 =?utf-8?B?UzE0NGZnZ3BjQU82dlg4MFU3NGtxUmtYRzlvQUlzOGo0d0x2R0xVZXJxaXVN?=
 =?utf-8?Q?/TuLNd9jF97myo/B7pskwa2Jl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb6caf6b-2196-4c69-d55a-08dba2db35d5
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:44:18.8875
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vEAwVQlW9LYLxJ3oeKO9qbJAjTYJowUqEqf9PDGl5n8Pc2SHP+i1PXxLdIICKtIMPwO6xYOAYtVUVI2QLFSdBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8015

On 22.08.2023 03:02, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588155.919627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYL9J-0005w9-T6; Tue, 22 Aug 2023 06:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588155.919627; Tue, 22 Aug 2023 06:45:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYL9J-0005w2-Pz; Tue, 22 Aug 2023 06:45:57 +0000
Received: by outflank-mailman (input) for mailman id 588155;
 Tue, 22 Aug 2023 06:45: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYL9I-0005vu-AI
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:45:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a7550c0-40b7-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:45:54 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PA4PR04MB8015.eurprd04.prod.outlook.com (2603:10a6:102:c6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 06:45:52 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 06:45: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: 8a7550c0-40b7-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lRuglntHcpsw3k6sEuEJPGlWb2NebDrh4NUgXhfofGu84y9wnrCb8wZt67V/0olp9rg9+2VoBOtko8bJ9H5mSe6WvqALpn3IZynrrg5ezvirawOIDJGAzQwr5XpO8CShBElZp+Oqu9duCNixfoGRWI/7NqKb9umqiIPwS09znEsHYOKjp7CkR3HKj3UtyG/pL7qqJ48GrQn/2XZVTheTFUY6xa6YoELVueJnrjUUS7ha/k6CSbNsEXHYgrOCzCANERSSB5U2q7/kspj6OYUt5XLTPADDnoa7CnL/uDOJzK67VG8PSehRySArJOPwZdLvh2Vj6dmuX0J/vApQho/u5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JN4afLUHwdu/SbqTyT1sDAKRUKs8AVVdi8jlPxvSCHQ=;
 b=asaDQ2NzBsT1+X1pHN+socHHLy8VPiXalPqdGr3ubvSmqCFqz4TKtaUZwCdDbLVN7wed//F9XvcA+xm6T1154J+SmmFQMcEukvbDh/xqQE8t0AmlBtkRywH1Y0OQm/89igeLMsNt47wp/hQLwlENFMiKSUEj0+GT/SCcMXzzp0zFEBDx3akY0uDm9+Z2c860//+jofyHwn2uFj1cn32MgOo+mpAVQRlo6zZ73jyWgKXC4lWaq5fM3B5WpQ5dChfDs23+IpUOS/O7sXUCFFGGB3F+JYitg0O5BG3FqbUtq5rCqwaiJc49HsnWb2Jm/LBnS9Nk0vhoxtswftCBxmtuww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JN4afLUHwdu/SbqTyT1sDAKRUKs8AVVdi8jlPxvSCHQ=;
 b=ve/t3CYuWNqNyNbr4H5epLooJmzVIcD6G4eFshg013JR3XknjbZ1/gI5qMjh83ruI02wGWfNIEOFf+uQFtCKlSdtfGZu7TYqgipyEiTvtfhNPaGrt4LIfJGzfi/luoLsKc2rF6zsEAV4KAi92XdVgXH/3+Jyb+4bTRFCCGd3/IzfcdMak9sZXDyFkMn1k2rkdqM5NgQAk7jf66K6gBLBrVZfIdQo/FTwoweit4tVtGOSu9dKTRSUYjPYXubr3EWvKJLQHA5pi+e5Q8Zk0M/XADdLyu3b9WSmmIb0m57bK5cvoRPkGBnnWpb9PB9oll2g7gcD1oUnAHEFh2QGNLgE4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ab73c4cc-7706-a64e-f1ca-286d2378ebc0@suse.com>
Date: Tue, 22 Aug 2023 08:45:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v3] x86/hpet: Disable legacy replacement mode after
 IRQ test
Content-Language: en-US
To: Simon Gaiser <simon@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>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a112f0fbbb333fc29a35d0a81853d59409a33fde.1690798460.git.simon@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PA4PR04MB8015:EE_
X-MS-Office365-Filtering-Correlation-Id: 1191725c-3a56-4217-888e-08dba2db6dce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Mz2hsugRTFTKxyvnI1iEhRGB9WKHbGKxKdA/ZvkR5IXEcSCL7krs/HMZZWsLefqJ9eQlM2lWedfHN8KsvjDSJrMBbfxRaTikWa1D+mB43G/WB4dsxBQuF/JSNxMrrpKgmv2eFt7itXsY3WW4Qx3yE5kQvZjy4VgitejEHQDWKSIZgqI00DhDJN0QissMxno0lSaNIKYCwcGmViS57uPCdjQtTWn5gznXrbqLgMt0DbVI5Yjbc3RFF4wG+aOK22UsvI6KNbK2xrZVsEAGqVb9ZChs+LdSYIV4tloBmXGHkKO1+0Q+FJPa6T2fs/hkACFZA1zmcv6LjihnTAL96aclstXxK4S7OSbidvKkUzF8kDZX13w4ku1JEOMXoJs4rzq0PXlCj9m21lW+WLO+hFWezk+pJpAR8cH8eL2MlFilpnpMLvlZ1KMqOYkJg7PX6N1vdOSBWNfjG3vAdUQ00Z0bIEhxR1c9uT9r5j+irsRe+GJZzzKA62uyH8/tJs0TbciveMLsKl0IOAWh5DLFzziNEdBFblEU5mlSw8MvpHp+pb4qUWz7au6jJSjSzb1G1tqfzN0pSbqi2Nzl0H1zo4jtDeBHIq5/CfArzP8GIsRd+CMZL9x0h5gjB3N2uIiQJJXhOTUe1xOyUEp0ANrR+Xwe1A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(39860400002)(366004)(376002)(1800799009)(186009)(451199024)(6486002)(53546011)(6506007)(38100700002)(6512007)(31696002)(36756003)(26005)(41300700001)(2616005)(66556008)(2906002)(6916009)(316002)(66946007)(54906003)(4744005)(66476007)(86362001)(5660300002)(478600001)(8676002)(8936002)(4326008)(31686004)(966005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0hVc3krSVp5ZDJtSDI2TkREenBvM1pZVzZZQXVNQWxFV0J5U2lXQyszeU9q?=
 =?utf-8?B?d0p3dEkyS1dqNHF2Qk5zVTJIVjR0THZiOHA5Z2NBU1l5RmkxZWpMWk9za0xK?=
 =?utf-8?B?YTd3di9CVHZzSWVyZVRMMFJwOEdKZUg2aEJ1STRVdnEyYmo2dlp6QjNLdSs4?=
 =?utf-8?B?SkZuZnFvOStJVlo4eURuMFlGUFJuNm9tN0pkNVR1V0VOMHZnQ25OUUV2dzBM?=
 =?utf-8?B?ZVhsOTB2bXdYek5mdlBDcjMrT3dyN0FEeUNJZ0VJaFU4d2RSNDBWellqbUpV?=
 =?utf-8?B?d1dtRlZoclAyVW1CSlF5bExiVkRmMThremhMV0dFcWJSdmFNczdaMGU5R3Ir?=
 =?utf-8?B?blovdHJGRWlWUDRNTWx4b2FTQVorMmc4NWNoSlpzWWJzdHZyRU93MDU0UTlF?=
 =?utf-8?B?ZFduR1FmbTFEckNCdHBBRzVRVFhVaFl1UXdRTVV5Lzg5SG1rd3htcnFaLzZu?=
 =?utf-8?B?amV3ekJsSStRUFBXeVdUVFZxUmpqUGl2NFJiV3NJQ21qUm14amVSc2FCd09a?=
 =?utf-8?B?blRNdnlzdVJRbTZwaVB3VkhNUFdmenZKYW5KMTcwellHaDA2bEZEWXhIRGk2?=
 =?utf-8?B?emNxS0NsTjJ0RFV1VzlqaTFyWTVNR1E1ekJqa0pTRldRRjFuNmVqRVZwaWhk?=
 =?utf-8?B?R3JuenBaNktkRkVzMmFHRlpvbGo1NEZlUzZqK08ydTF4NDIwanZPTmlCanVY?=
 =?utf-8?B?enJuQ0hMUTNXN3h4cGVSa1pBVHVXSDUzY0I0aDNHZ1V5dUtQMzc4SkNDWHZI?=
 =?utf-8?B?YzJpODlvdENOR1cvdlpqQlQySGNXQi85ZVVNSXBRZUs2a0NiNldVTG9aU2RV?=
 =?utf-8?B?YURqUVQ0Zm42RytwRmlLbWI2NU56SVl5VE9FMEVrWjd2bWRXRWJhRGlLejhl?=
 =?utf-8?B?ZXB1SVV0UGhMUVhWQmhsMVFKdlFOeXJvU1JKUDNYdEIxNjhkKzF0S3Z3bVNy?=
 =?utf-8?B?Q1Y0UURmUDk3eHdGYXFJWHhTcjVPVDVzMGFsTlhQQTJINXFHVGJ6aG1JamhM?=
 =?utf-8?B?UU5rZHlQMFRST1kxcWMzMTR2QnNhRDYrSFU5anBGRGZmaVpuQXNBVzVCbUZU?=
 =?utf-8?B?cEk4Vm5HM1R3djMvVGdodjFSSGdTL1FydjNrYVlmTGFFcWVkVStNeTlBWTBS?=
 =?utf-8?B?OGp2TjdJQTFRMm44TWlLTFZMeWZkQ0hLdmtvQmpZMkR5MGhLVkc1NWFxT1ZU?=
 =?utf-8?B?OXRMTWx2VXFZZ3JUc1YvM2xxQU9VL0Z6T21LTkhaZXg4YjFYOTZRSnpuR2VR?=
 =?utf-8?B?TnFlQ2NiNHdLKzF0S3dsWXVmaFZXbS9lQmZZUjIraHRUUk9lbldCNEpPK1VU?=
 =?utf-8?B?Q3JLVkpZb0NheU1zenVrV3NsUUxQazd3K25tai9pL1ZzSVhUeUlPTnRnMlBa?=
 =?utf-8?B?WnIzd2ZMSlNTeENsYWQzUUZ4dUJsRFUySGN1VTNPZ3dTUXhSRElrZDVxeENh?=
 =?utf-8?B?OTFpcUs2ckwxSGZOUTVYT3ZlWWxYZ0dKWmJmSWhoeFRGTDVrMEhCUkhFcGZM?=
 =?utf-8?B?WjZYeHFKLzhxNHNjQS9naVd2N0JuU28wTk5wbW1tb2NCOC92Rzg2cFZ2SXNk?=
 =?utf-8?B?YlhrczJ2ZTNXZk11VzVrWDBOb0c1UjZ0Mm94Qk1FS0dHTWpDc0hMSDJnTTE3?=
 =?utf-8?B?Wk5tdjk0MU8rcmJSL2daMVc1S2VuVjVRTEhIL28vNE01NnZPSlVtTjJTY0Zm?=
 =?utf-8?B?RlVmWklOUHRJYVpwYVM5V0NoWEdOTDRtN0E2ZmVQZWRMSUF1UjBIMWJPQkp2?=
 =?utf-8?B?M0JseUVPVWJuMngxYXV1WmJHWVpzWmRvTHI5U3lFNVpPbThRSEx1UGo0Wm9t?=
 =?utf-8?B?UlBnZkJDSDJIU3ZlazJvaVpFN25BTDFrQ1J5RG0vR2NVOFk2UGFvN2hxSy9a?=
 =?utf-8?B?M1B0Z3ZheVRWaEpYajhndTQyck5tSC9nWDVwYThNUlNRellKKzFKdkFDM2k0?=
 =?utf-8?B?RmpuTTdqbDFmL3NqdFpvRlg1RnFPTWx1RGh1S0tyMDRkY1BmSlBIK3ljYzBD?=
 =?utf-8?B?NklYcU81dGQ3TzRKaGdUSkx6Z3lHbDFPRXNyTzkvWFF3bFU1VjZsaTJ3L09p?=
 =?utf-8?B?eGZiVGFVRFozZW04Y1g2N2hROXIyeS9OclBGWExpWHFrc25XZEtQQXIzYU1J?=
 =?utf-8?Q?T4Js8406uLQdEHYipKHEGLa0d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1191725c-3a56-4217-888e-08dba2db6dce
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 06:45:52.7807
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6DIcRaekfo3G1YlEeVZmeGJ5Ertqu+i8QAF1I9glv3tbCX00Sj+0mliw/ICp2oBxFs046Y37Cf5CyEGmLuGU3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8015

On 07.08.2023 13:28, Simon Gaiser wrote:
> As far as I understand the HPET legacy mode is not required after the
> timer IRQ test. For previous discussion see [1] and [2]. Keeping it
> enabled prevents reaching deeper C-states on some systems and thereby
> also S0ix residency. So disable it after the timer IRQ test worked. Note
> that this code path is only reached when opt_hpet_legacy_replacement < 0,
> so explicit user choice is still honored.
> 
> Link: https://lore.kernel.org/xen-devel/cb408368-077d-edb5-b4ad-f80086db48c1@invisiblethingslab.com/ # [1]
> Link: https://lore.kernel.org/xen-devel/20230718122603.2002-1-simon@invisiblethingslab.com/ # [2]
> Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Albeit I'll likely wrap the printk() slightly while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 06:48:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 06:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588163.919636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYLBg-0006aG-93; Tue, 22 Aug 2023 06:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588163.919636; Tue, 22 Aug 2023 06:48:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYLBg-0006a9-6T; Tue, 22 Aug 2023 06:48:24 +0000
Received: by outflank-mailman (input) for mailman id 588163;
 Tue, 22 Aug 2023 06:48:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYLBf-0006a0-Ap
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 06:48:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e17cb829-40b7-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 08:48:20 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AB61022C44;
 Tue, 22 Aug 2023 06:48:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 63BCB132B9;
 Tue, 22 Aug 2023 06:48:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gEfnFjNa5GT1RQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 06:48: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: e17cb829-40b7-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692686899; 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=APnjFGwfih6UCAXoJMMRdQoOq8OBAmD6tC504XVu2hI=;
	b=bkwRhsaNBr7hSCKRdCiTWuVi4gmgk2wU/CZXn9i1WP5nUbWsubap59D0RKgZhAPMvqgAn+
	tHlmT28NkT8ql+7GpI/XExWnlfBPR0yes3G9BRSAR3iAFuECjrtiKXPKvGq/8kqY+D5V0+
	gIqBb+pKx1aeQ90DZ+EwK6IgpBXsV9k=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	xen-devel@lists.xenproject.org,
	Dan Carpenter <dan.carpenter@linaro.org>
Subject: [PATCH] xen/scsifront: shost_priv() can never return NULL
Date: Tue, 22 Aug 2023 08:48:17 +0200
Message-Id: <20230822064817.27257-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no need to check whether shost_priv() returns a non-NULL
value, as the pointer returned is just an offset to the passed in
parameter.

While at it replace an open coded shost_priv() instance.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/scsi/xen-scsifront.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c
index caae61aa2afe..9ec55ddc1204 100644
--- a/drivers/scsi/xen-scsifront.c
+++ b/drivers/scsi/xen-scsifront.c
@@ -743,7 +743,7 @@ static int scsifront_sdev_configure(struct scsi_device *sdev)
 	if (info->host_active == STATE_ERROR)
 		return -EIO;
 
-	if (info && current == info->curr) {
+	if (current == info->curr) {
 		err = xenbus_printf(XBT_NIL, info->dev->nodename,
 			      info->dev_state_path, "%d", XenbusStateConnected);
 		if (err) {
@@ -761,7 +761,7 @@ static void scsifront_sdev_destroy(struct scsi_device *sdev)
 	struct vscsifrnt_info *info = shost_priv(sdev->host);
 	int err;
 
-	if (info && current == info->curr) {
+	if (current == info->curr) {
 		err = xenbus_printf(XBT_NIL, info->dev->nodename,
 			      info->dev_state_path, "%d", XenbusStateClosed);
 		if (err)
@@ -903,7 +903,7 @@ static int scsifront_probe(struct xenbus_device *dev,
 		xenbus_dev_fatal(dev, err, "fail to allocate scsi host");
 		return err;
 	}
-	info = (struct vscsifrnt_info *)host->hostdata;
+	info = shost_priv(host);
 
 	dev_set_drvdata(&dev->dev, info);
 	info->dev = dev;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 07:03:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 07:03:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588171.919646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYLQ8-0000vO-GB; Tue, 22 Aug 2023 07:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588171.919646; Tue, 22 Aug 2023 07:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYLQ8-0000vH-DJ; Tue, 22 Aug 2023 07:03:20 +0000
Received: by outflank-mailman (input) for mailman id 588171;
 Tue, 22 Aug 2023 07:03:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYLQ6-0000vB-VA
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 07:03:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f79e64eb-40b9-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 09:03:16 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS8PR04MB8325.eurprd04.prod.outlook.com (2603:10a6:20b:3f6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 07:03:13 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 07:03:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f79e64eb-40b9-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eOj5Fjp6XkwDewT1B8P9uDpb7iPLQh6jaDr61wjbEi7N/+t1qLAaGV+p7+PxEXt3zhmpLC9wePM4e+k+h/fcwBSdi2DewBzj52kHpKQ88MkWrUEHjGJXZpYV2gAWBk+VODUzjTEjLQf7wgBaXimByFqpcC4daQ2gYQITsOSu30lGejaK6Isc6Ws0mVJek7JOHJePz/QtNugqvzr71uS5Y80p9v0q9xygRmkVAa4uBBY+FVW3DN6A5Br6J94HL7/hBTVax0Oqk9AqV0lTdVyL4xDfcCnDL8ZFcSwe3k84G7UrwVoWIp/aB7LDn3WtLD7x7D7Hg3p+NlN2DplBNS75Mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=igG/KmPKVy2voYzaiWRr9FXRC6eKpTDZ0Ri/lUqc3oc=;
 b=NO0DPZIJv5QSdMiw6fl41u2AhqKu4X+8YPU+H0G3KTdsAC42d1zda+/3YseRYAT2EQfsSXeTEU8ey9nQDwgkXLi2CXfzYC/14dv2oFVBZLOR5jTsDWSqqsgTtTu8YDabBZdxC9Fs6xwyLYuAPIL/YQY3sjQGaMlaIGH/4iF9FaZNeQaHasc2gbEuIdMLZHV49GNn+JwWxsXR9BSmkrIlOH5x6QYxMYXn8cGrd3J/yJP4YtOS42eICEDhBPJeJ92WQ3HM0WfF9hEPVqFrlUrryVSu06TkH0LY9hBXrhFIuA0uM7MauesfzTmIOgjHs7QxzmXEQxi+Y/W+g3Rbjt38MQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=igG/KmPKVy2voYzaiWRr9FXRC6eKpTDZ0Ri/lUqc3oc=;
 b=Y6PFg72LJOMUwwO9UCVRXF0Myt3hpW5wamF6d/FROX/GGoFLUhco9ZLiGZttkBL2HRzyUBycuX1Jm6A7fyuuFrtE6sp9/VNHRl2jdWMa4kUyWAr+QqRvrhicVaEN4HCYJklRdZpavl7poTDMR+F9pciWoZuJKh7KEPTCxpAC9J0icSeWylCNv0rlTE4/+L7lIdTuoyVpAd/W+bG4zfdD47Ds2KHfUAjJ9fBUp0r1JJVgsXEtpGiqj+kWrkIE/j8ojj/kWrmc9Y3BB+GDoVMl3uVgRudYn6FIaICOPhkEgjVGu1zxa2+N584/Z7dNDent8pNlUmoxHoyZYgbNWnl8JQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <370dd885-0f80-5d18-62b9-9ccbc2696d28@suse.com>
Date: Tue, 22 Aug 2023 09:03:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230822013014.2523202-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822013014.2523202-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::17) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS8PR04MB8325:EE_
X-MS-Office365-Filtering-Correlation-Id: 222119e2-e3cb-4967-5dd8-08dba2ddda40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AGGHF3iiFjpijQcBLc5MqnzABadisO2chwspZeK3FuSoq+NoMrUh1Rt47qXrU5+iTMLU/lKZfy+fGjJF549owKFOALGERi7JJzn+LY/bNMb0KuvwDwg8LtPP2qH3RN2iN071UTIAe66iuuevrLb5J9h3Sgr0g4TalERclXjtoJYKj/08wUTcYpsjnVj/CPP+P6pWK9WU9Zhc2NuaFhdPhrp/mCZuY1Fq3VxgvNkIyyBqrjypNRqrHEYSHcnNx7RN6auWeQnLbzAPkfpJxK7vteyw0VzORAGQc+kybK5p3eguhjM+3SfdJjx1Yqag8Ao7IQQK637Dhn6AAP0apkO0QlnG2MssFJt49uEkFVS/7FRQ+ntNnrdurkRfcJtWd1hgtOdO51aoZ/IO52uJv0xmclYrZlkdZlkiP4VXO/WNvsWmK2X+aZtnGyCasQG6jwKqug20tNOAbpFPuLj5cQK3cRLh9jvwszuGmJ2qF6tCw4YJ5dKcJAMqn0Co2H6mUObQTBJUrGtP1mfwVQdQ42DMUoY7zdZxydsX82xR3KfC8RCdAHQr1q4S85JEm0HycSgNqIykmT0kDsJEK+39VIkh5CeikY4oAMGCE2x9Q6EyGC4n6Tj1qPtXdEC0jsz4/Kj3Gpb+PtIFNFKiB2C1eVNeDQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(346002)(376002)(366004)(1800799009)(186009)(451199024)(6916009)(66476007)(66556008)(316002)(66946007)(6512007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(53546011)(6506007)(6486002)(83380400001)(2906002)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkdhZGY4UmQ0bHIwbXoyNEVzaDJoUlJnd0tERzgxa2I1UjBlMTlXUGNISEhW?=
 =?utf-8?B?dmpqZzN2akR2NnBnUnpLbzJ2YTRRakVyMjlNcWZLS21WZEFuNFBHRjVtbDAx?=
 =?utf-8?B?RG13N285cEMrVkkwQ1dCM1pGeC9aSFZXUy8rTTFKNDVaN1NGRmpLZEk3VUpG?=
 =?utf-8?B?YkFqRXB1djBydjR4U1pydFBIRmRyZldmcnU3ZE1oYnQyMHlJYU1mZGp0Z3pR?=
 =?utf-8?B?dllZMThqd3VmdXBwM001T0N4QjZmMndOYzBjWnV3NXhoMFFwSWRBNVFneFJr?=
 =?utf-8?B?cW82QWNPNW5uNzZCNHB0NS84QnlJVEppNDhOd0xFNDdVWFFEVDRFLytpa2Jn?=
 =?utf-8?B?RkRSZXYyOThaNkV2OXNuQlBhZUVBWmluSXBNNE1PckU4QkwwanFJbzZiRlAw?=
 =?utf-8?B?d29LVURyL0pTUjZpcEljKzNVNW1uVzNZR2g3MXpRK3FIK255V0JHb2pCcVQ5?=
 =?utf-8?B?OTd2VTVlbHFBbjk5bVI5RE5ZdXduMTJvTHpCYjhsd2N6WlVVd1NlUEdGcS9S?=
 =?utf-8?B?N0ZpNWRuc1QvQnVMNit6d1NBbHN1N2lqY3Jmam00elZUUGFHVWd6dGVuaHdi?=
 =?utf-8?B?K3hPNDJVZUYvVmpadnlyZHZyVHd6SUFzTGs3dk5JaFpXRFBuTGhMUUdIb3Q4?=
 =?utf-8?B?UktqN0IycEo3eVJJT3NaUzFzMkc4RjZGbEsxNWNDaDlVVG1hMEprK2lEek1j?=
 =?utf-8?B?d2FDZW1BbzI5eDhHRlRpa2t4OEs1UWV2NXhCdURaVHhBL2thU1JhRWpTeU9k?=
 =?utf-8?B?Y2hBQVFNN3hXR2dCVnpxSUFheGRFWnRqMW5kclpwMTNUNVFNUTJHVjZyL09j?=
 =?utf-8?B?d2ZsTy80OG9YZ3A5UFBYWTMxdXhIcENUTzhBL1NIR0RhYnpDWXdUVFV2N1Fr?=
 =?utf-8?B?clcwMGVmV25nSlRaNmZTMVQrMmFlRzBmSjVXbVU5ZE9QL0llZzVwV0w5SUFB?=
 =?utf-8?B?dHNNSHREUHVNMWw5WGwzT0RTb0YxdG55cGFTditUMk16TDRmbDgzU3h5cCs5?=
 =?utf-8?B?R2JCM0QzdDEydkQ2SWs0UUd1ODBacGI4YWFlNHBNSlZxeGhPM2UvVzJWSTVY?=
 =?utf-8?B?WmJWSEgyZVNhM1htK2JiUy8xVWRhalJPMDkxaEg1ano0eHN0czVQcHk0UjFu?=
 =?utf-8?B?TSt1and1MldiODIyRU0zUTFJZmFheVJZaFVlcmhFZVE5MmV3aDN5TmYxdE9a?=
 =?utf-8?B?ZitUWDFEL0Jjei9aNUtSREVGZCt3MUZCWVhoQ3BlUnIzRFBsQzN3akwvOUtv?=
 =?utf-8?B?Yld6QWZESjFWbWlYdUJPTE8wM2dVQi9PNTRMcGpvTC95endRZ3dzRm12L21E?=
 =?utf-8?B?TjEwd3JqRkRzOElmbkZKeWxSVUJpOXp4Qy9yamtkaVRjZG54aTJkVUhJeXEv?=
 =?utf-8?B?Qkg5cklNaEdGYUR4Z2RGRmh5M0VQWVNYbnhsTkxIUGppRm1HbTlmVGs3V3ZM?=
 =?utf-8?B?T3ZweThtZ3kxUmFSdlJjSXhqeXA4czd0Y2o1MlVuUHlsVGJOeGQ4UDRhd0dU?=
 =?utf-8?B?UkRUNjB1ZUlCRmxVbWxRUThIbmJJclNaNFJoN3NBN0hOQkVtNWhJS3liYzlh?=
 =?utf-8?B?bkZJVUZER3phSnBabjZEWXBXMnl4UU9OazZqTkJEQ244d1BNbEhBWHZObnlW?=
 =?utf-8?B?bWFGTjBQM3ROZzVVbFZuc2w4L3dKQk1rWWMvL3RmdDhuclB2R3VWSDdISU5q?=
 =?utf-8?B?VSt5T1ZmR01pQmhEV05UU2NZL3pvVm1kalFkaG5NLys1VlQyKzhDamtrRTlK?=
 =?utf-8?B?cWQyVFJ2bnZOQmtYczhyYXN2dkk4ZEdESjJraTR6YlREeXIzcy9KRFFaeENP?=
 =?utf-8?B?OCtEUEJHc1hESVgyUGVvUFNsYUZ3RXR1VFlHbUhpMG9KcFUvaUhzSXF1UTJ6?=
 =?utf-8?B?ZmVKL3lmcmdkaVkzMGg1NjBTS0JKYTRadlI2Y3lJK21FMy81YWhvaVM0YUVL?=
 =?utf-8?B?amFpdTlsTDdTdStUaWpPWm9IZXZoTVllZWZjYW5YR2dmRUJhbSsxdmRLVm9Y?=
 =?utf-8?B?TUorUlJhcEkrYmJkeWY1VndDck1DMjQvUElTelRlOEhydCtxdnVwYmlJR0hK?=
 =?utf-8?B?dGN5TldkeitMdEZ0cGx1S3Qra0lLYUhlZTZRWEhqV2RiTTM3L3Z2ME0wZEVL?=
 =?utf-8?Q?zwWqGHCfV6xgCttVrcxDpAL9o?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 222119e2-e3cb-4967-5dd8-08dba2ddda40
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 07:03:13.7285
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vbHHNIs+e9D7+N8hNfKTEssCnM4nyMF4V/4JJa1dj3TlIKXGFbUQI+93p0IICgVQqQJ00TgZmkqixdV/Sk+Qtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8325

On 22.08.2023 03:30, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptable of the Rules, we

Nit: acceptance

> decided on a few exceptions that were not properly recorded in
> rules.rst. Other times, the exceptions were decided later when it came
> to enabling a rule in ECLAIR.
> 
> Either way, update rules.rst with appropriate notes.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>[...]
> @@ -239,13 +256,16 @@ maintainers if you want to suggest a change.
>       - Required
>       - All declarations of an object or function shall use the same
>         names and type qualifiers
> -     -
> +     - The type ret_t maybe be deliberately used and defined as int or
> +       long depending on the type of guest to service
>  
>     * - `Rule 8.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_04.c>`_
>       - Required
>       - A compatible declaration shall be visible when an object or
>         function with external linkage is defined
> -     -
> +     - Allowed exceptions: asm-offsets.c (definitions for asm modules
> +       not called from C code), gcov_base.c (definitions only used in
> +       non-release builds)

Doesn't this want to be

     - Allowed exceptions: asm-offsets.c, definitions for asm modules
       not called from C code, and gcov_base.c (definitions only used in
       non-release builds)

? As to coverage: Why "only used in non-release builds"? COVERAGE doesn't
depend on DEBUG, and people may actually want to enable it for release
builds. Just likely not for production ones.

If you agree with and make respective adjustments:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 07:44:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 07:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588178.919656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYM3v-0005jl-Hk; Tue, 22 Aug 2023 07:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588178.919656; Tue, 22 Aug 2023 07:44:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYM3v-0005je-F6; Tue, 22 Aug 2023 07:44:27 +0000
Received: by outflank-mailman (input) for mailman id 588178;
 Tue, 22 Aug 2023 07:44: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=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYM3u-0005jV-NW
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 07:44:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6b2e669-40bf-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 09:44:24 +0200 (CEST)
Received: from AM6PR02CA0006.eurprd02.prod.outlook.com (2603:10a6:20b:6e::19)
 by PAWPR08MB8839.eurprd08.prod.outlook.com (2603:10a6:102:338::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 07:44:21 +0000
Received: from AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::69) by AM6PR02CA0006.outlook.office365.com
 (2603:10a6:20b:6e::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 07:44:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT061.mail.protection.outlook.com (100.127.140.72) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Tue, 22 Aug 2023 07:44:21 +0000
Received: ("Tessian outbound 30c9f5e988c5:v175");
 Tue, 22 Aug 2023 07:44:21 +0000
Received: from 8b4a09a81b2a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 00081C54-3023-4702-851F-03298AE7B2D8.1; 
 Tue, 22 Aug 2023 07:44:14 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8b4a09a81b2a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 07:44:14 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBBPR08MB6170.eurprd08.prod.outlook.com (2603:10a6:10:200::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 07:44:11 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 07:44: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: b6b2e669-40bf-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LwqjmdAwt4NXz27B1JZWsYzsZQ4iiTpE41S6OUVXTPo=;
 b=IrGouWxdvHaRh2s1+i8NWKLBNVWYUKu8InVCBusALWhnKRk6Q/Xr54Bn40BBNn4MEmQNwpr92+aeleSrtqEpZdZHzDb1RD9WUmRnbMH5rwmeIso05tXuRa3mH3Qg1PvDuAF84XL1Q3TtrYgMUomw25moor66G0bJkoLevFycHlI=
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: d77f0457618a1354
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VUCVere5qzgfBQ56SF7XaBzXg7V7YJfz9bSMZtFj1e494fHndg0FuZTvHdWxc4dcqmfFq2pPH97TwBpGuM1oBuVqY6Cgbz8meaA8xVm5ew7cbkSkPYNCUk/bRrtPH/tejdSWaBlT/b17bUVKupgXUl9/H6JJvEPGcUbHJ5oXq3zs4nR6t9wpBdXEWuezpDtEp22eTQV79bUlpmUe469vVrH0g+B+mcPVzOLUoosx6cxQvz2fiYQppABZcUJ/RMcKBtIiMsVNCi2ToK0WczmGIv5EWHxMVgMpDU+5CcMFNWS1GSSBBuMJGf0Y5VInxFmHobTeEBmzqld9NzS8AVCAhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LwqjmdAwt4NXz27B1JZWsYzsZQ4iiTpE41S6OUVXTPo=;
 b=Ej00+FIDwfESOSpPh9I4Z9w+ai4acvFq1NZBtg7OyerHcJ0yud5ErWuFn/pHm/BKy7rNnCVNYzDPyJjg78HgWfOqTLqKWT5gAz7kpWNc2eV23N3n47MgMQZhwNNXUesiD4MncdM8koroFuXPKoD5wKIz2tCAhIEbth3VUoZ14EawR+BT3BLMat1y4Y2S+F2L9qEwjuoYDHtTEOitVYvm0QEpXQildfY7TYEl08TBzfO403tqzjjwBggqV7xe/7clCOLHyI6Rlg2oL2jg4PWIIv1Be+rvIwIEtTv421I76K/7XDbw5vrl6ByIaUcTLCoE0a24LeOknzPwe3oUDH815w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=LwqjmdAwt4NXz27B1JZWsYzsZQ4iiTpE41S6OUVXTPo=;
 b=IrGouWxdvHaRh2s1+i8NWKLBNVWYUKu8InVCBusALWhnKRk6Q/Xr54Bn40BBNn4MEmQNwpr92+aeleSrtqEpZdZHzDb1RD9WUmRnbMH5rwmeIso05tXuRa3mH3Qg1PvDuAF84XL1Q3TtrYgMUomw25moor66G0bJkoLevFycHlI=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei
 Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Topic: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Index: AQHZzmeOkWUgiqEb9U2fOmI3mEWP3a/1UMEAgACrQQA=
Date: Tue, 22 Aug 2023 07:44:11 +0000
Message-ID: <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
 <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
In-Reply-To: <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DBBPR08MB6170:EE_|AM7EUR03FT061:EE_|PAWPR08MB8839:EE_
X-MS-Office365-Filtering-Correlation-Id: b60b8d76-ca3b-46d0-887c-08dba2e39941
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:
 W1tZEENDPVL4OAvwquCAU4Fn0uiBooujCyxQzvD+N9GDLn4QvfbNUke0hztanEq3zKm+UqGBWG8hrv5oJT05QHUyGzIOC5XhcO2ncaM5JMbo8K5stxL7RX1ZBkelN31b4/jrXGTovR9wEma+EwcFv7S1YsvcE2dEcIp6jkJ+1qCSn0+SY1DtammHjIAKjp2QRkhrUMxcqy2QQnhtXrB5CLjYnAJyfcHhishM43RHwnuP9DfHbwaTSsksUTuLGqgKGAq6ky52pso5gRPw9HoO0LHgv43m5PvKEyn9Gfbx1BkI96NJhJXhVtkc0IL5mjRqE3qb5xngff8XygatGg3cS45QazbSKLPWHspRmzBRwyxpWyUUeWNZYc9XdcgdymgrW4dtUBzL2gP3MTn3E71WmXf+rWJL9IOzcCUlY3GlLCWqFleXh9QbR6vgcdEA5tVAm5OwINGrvwiYu/PQnxRfxCU6VHqRpjXdJqjOjkqNZa52Yri29ZXuKr3Ngi3DRt0YXrkHMlQKtwagBWwMjhGsNqNiYaNyA/W5W5l8Cf5eE2NEOMIG2ZZNstXLov21asO7yStqk7OW/J7xfdQ7R0tu0eqWsWk7gDwa415ruG+ZuEINCP7TdK1ofqkpkfGxanNX/5LZHDNBP3mSqjaQVK1KFQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(346002)(376002)(366004)(1800799009)(186009)(451199024)(54906003)(6636002)(66446008)(76116006)(66476007)(66556008)(64756008)(316002)(66946007)(6512007)(66899024)(110136005)(91956017)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(122000001)(478600001)(71200400001)(38070700005)(38100700002)(53546011)(6506007)(6486002)(83380400001)(2906002)(86362001)(5660300002)(33656002)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <A688F988F12B26418C126A3305A148CB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6170
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:
 AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	55e89d0f-4014-4ce6-6ddd-08dba2e39322
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KFXQ+b8kOHfjfbZDgGXgdrzKYkD/YcEF3+DYaQ4jHuz4B2NEzhqYgrftFKhJkl6k3RoPtmrfGrYYTINgTUbSsMrxSGX2nQhyp+Ct/8Jc6vBVTK6yn89HtIiQTyNxpLfULdsMk/4zfC/fAqrZvydjGGO1M76A23vyLo8TyGJJXv+/bynfu7DBW8eA6lHLJcvE+pr6nEy8pSQlTaFpzHGVSob0cQXflno2kab3dI5KpNU40baspfdPHZ9QfiA4uVkRW5ch8Vghy5C7IYq/Iflm3jIVa3IOX4/CloOB68r3RIdVIb9NnAEnHNRvXu7Q7gCKa72tIgvpwSt4sZallrARuZbNgoRyfq8WKfjGJUANoDVY93FOveKsrbn5kBWfN8e3zqiOxBjRddGwvEu2q3TgADUDKOE13kcjKcLCdEFrmEr7iIMrU+t6gFKYFSi0YmIZ0XWtr8Ywjpy20V5dGofWmeIsJ7tzSdKViCsRXMB4B9pRN9ei3L/u1FSebf7jqPXBz+I7eemPpw3KDKpo2vtyxlCvS1dm11qn6Tl2kPGp5vViDh1qfkkGvG6ljzf9/ba7sD+dJecxrFU5GAsoWsa7OYSsiiEJiLwh7LABucGrX05/+6mXpz1L6y78bhkmrV8OzJZWk3wCzvaVa0/Qik4G/kw5RGfw8BHvj2r3BdNh6Y4+KO3j8G5wH8RUMDluFNEjTimpxxeobKGZ451/4UMSq2uCKw04mI1yXB5gPdVaNrY=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(39860400002)(346002)(376002)(136003)(186009)(451199024)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(2616005)(336012)(26005)(66899024)(6512007)(47076005)(40480700001)(356005)(33656002)(36756003)(82740400003)(81166007)(36860700001)(86362001)(40460700003)(83380400001)(8936002)(316002)(8676002)(478600001)(41300700001)(110136005)(70206006)(6636002)(70586007)(54906003)(2906002)(4326008)(6506007)(6486002)(53546011)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 07:44:21.4604
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b60b8d76-ca3b-46d0-887c-08dba2e39941
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8839

SGkgSnVsaWVuLCBTdGVmYW5vLCBCZXJ0cmFuZCwNCg0KPiBPbiBBdWcgMjIsIDIwMjMsIGF0IDA1
OjMxLCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiAN
Cj4gT24gMTQvMDgvMjAyMyAwNToyNSwgSGVucnkgV2FuZyB3cm90ZToNCj4+IEZyb206IFBlbm55
IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPg0KPj4gRnVuY3Rpb24gY29weV9mcm9tX3BhZGRy
KCkgaXMgZGVmaW5lZCBpbiBhc20vc2V0dXAuaCwgc28gaXQgaXMgYmV0dGVyDQo+PiB0byBiZSBp
bXBsZW1lbnRlZCBpbiBzZXR1cC5jLg0KPiANCj4gSSBkb24ndCBhZ3JlZSB3aXRoIHRoaXMgcmVh
c29uaW5nLiBXZSB1c2VkIHNldHVwLmggdG8gZGVjbGFyZSBwcm90b3R5cGUgZm9yIGZ1bmN0aW9u
IHRoYXQgYXJlIG91dCBvZiBzZXR1cC5jLg0KPiANCj4gTG9va2luZyBhdCB0aGUgb3ZlcmFsbCBv
ZiB0aGlzIHNlcmllcywgaXQgaXMgdW5jbGVhciB0byBtZSB3aGF0IGlzIHRoZSBkaWZmZXJlbmNl
IGJldHdlZW4gbW11L21tLmMgYW5kIG1tdS9zZXR1cC5jLiBJIGtub3cgdGhpcyBpcyB0ZWNobmlj
YWxseSBub3QgYSBuZXcgcHJvYmxlbSBidXQgYXMgd2Ugc3BsaXQgdGhlIGNvZGUsIGl0IHdvdWxk
IGJlIGEgZ29vZCBvcHBvcnR1bml0eSB0byBoYXZlIGEgYmV0dGVyIHNwbGl0Lg0KPiANCj4gRm9y
IGluc3RhbmNlLCB3ZSBoYXZlIHNldHVwX21tKCkgZGVmaW5lZCBpbiBzZXR1cC5jIGJ1dCBzZXR1
cF9wYWdldGFibGVzKCkgYW5kIG1tLmMuIEJvdGggYXJlIHRlY2huaWNhbGx5IHJlbGF0ZWQgdG8g
dGhlIG1lbW9yeSBtYW5hZ2VtZW50LiBTbyBoYXZpbmcgdGhlbSBpbiBzZXBhcmF0ZSBmaWxlIGlz
IGEgYml0IG9kZC4NCg0KU2tpbW1pbmcgdGhyb3VnaCB0aGUgY29tbWVudHMsIGl0IGxvb2tzIGxp
a2Ugd2UgaGF2ZSBhIGNvbW1vbiBwcm9ibGVtDQppbiBwYXRjaCA3LCA5LCAxMCwgMTIgYWJvdXQg
aG93IHRvIG1vdmUvc3BsaXQgdGhlIGNvZGUuIFNvIGluc3RlYWQgb2YgaGF2aW5nDQp0aGUgZGlz
Y3Vzc2lvbiBpbiBlYWNoIHBhdGNoLCBJIHdvdWxkIGxpa2UgdG8gcHJvcG9zZSB0aGF0IHdlIGNh
biBkaXNjdXNzIGFsbA0Kb2YgdGhlc2UgaW4gYSBjb21tb24gcGxhY2UgaGVyZS4NCg0KPiANCj4g
SSBhbHNvIGRvbid0IGxpa2UgdGhlIGlkZWEgb2YgaGF2aW5nIGFnYWluIGEgbWFzc2l2ZSBtbS5j
IGZpbGVzLiBTbyBtYXliZSB3ZSBuZWVkIGEgc3BsaXQgbGlrZToNCj4gICogRmlsZSAxOiBCb290
IENQVTAgTU0gYnJpbmd1cCAobW11L3NldHVwLmMpDQo+ICAqIEZpbGUgMjogU2Vjb25kYXJ5IENQ
VXMgTU0gYnJpbmd1cCAobW11L3NtcGJvb3QuYykNCj4gICogRmlsZSAzOiBQYWdlIHRhYmxlcyB1
cGRhdGUuIChtbXUvcHQuYykNCj4gDQo+IElkZWFsbHkgZmlsZSAxIHNob3VsZCBjb250YWluIG9u
bHkgaW5pdCBjb2RlL2RhdGEgc28gaXQgY2FuIGJlIG1hcmtlZCBhcyAuaW5pdC4gU28gdGhlIHN0
YXRpYyBwYWdldGFibGVzIG1heSB3YW50IHRvIGJlIGRlZmluZWQgaW4gbW11L3B0LmMuDQoNClNv
IGJhc2VkIG9uIEp1bGllbuKAmXMgc3VnZ2VzdGlvbiwgUGVubnkgYW5kIEkgd29ya2VkIGEgYml0
IG9uIHRoZSBjdXJyZW50DQpmdW5jdGlvbnMgaW4g4oCcYXJjaC9hcm0vbW0uY+KAnSBhbmQgd2Ug
d291bGQgbGlrZSB0byBwcm9wb3NlIGJlbG93IHNwbGl0DQpzY2hlbWUsIHdvdWxkIHlvdSBwbGVh
c2UgY29tbWVudCBvbiBpZiBiZWxvdyBtYWtlcyBzZW5zZSB0byB5b3UsDQp0aGFua3MhDQoNCiIi
Ig0Kc3RhdGljIHZvaWQgX19pbml0IF9fbWF5YmVfdW51c2VkIGJ1aWxkX2Fzc2VydGlvbnMoKSAg
ICAgIC0+IGFyY2gvYXJtL21tLmMNCnN0YXRpYyBscGFlX3QgKnhlbl9tYXBfdGFibGUoKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0Kc3RhdGljIHZvaWQgeGVuX3VubWFw
X3RhYmxlKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQp2b2lkIGR1
bXBfcHRfd2FsaygpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11
L3B0LmMNCnZvaWQgZHVtcF9oeXBfd2FsaygpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtPiBtbXUvcHQuYw0KbHBhZV90IG1mbl90b194ZW5fZW50cnkoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQp2b2lkIHNldF9maXhtYXAoKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMgIA0Kdm9pZCBj
bGVhcl9maXhtYXAoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1t
dS9wdC5jDQp2b2lkIGZsdXNoX3BhZ2VfdG9fcmFtKCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYz8NCmxwYWVfdCBwdGVfb2ZfeGVuYWRkcigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0Kdm9pZCAqIF9faW5pdCBl
YXJseV9mZHRfbWFwKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zZXR1cC5j
DQp2b2lkIF9faW5pdCByZW1vdmVfZWFybHlfbWFwcGluZ3MoKSAgICAgICAgICAgICAgICAgICAg
ICAgLT4gbW11L3NldHVwLmMNCnN0YXRpYyB2b2lkIHhlbl9wdF9lbmZvcmNlX3dueCgpICAgICAg
ICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYywgZXhwb3J0IGl0DQpzdGF0aWMgdm9pZCBj
bGVhcl90YWJsZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3NtcGJv
b3QuYw0Kdm9pZCBfX2luaXQgc2V0dXBfcGFnZXRhYmxlcygpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0+IG1tdS9zZXR1cC5jDQpzdGF0aWMgdm9pZCBjbGVhcl9ib290X3BhZ2V0YWJsZXMo
KSAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3NtcGJvb3QuYw0KaW50IGluaXRfc2Vjb25k
YXJ5X3BhZ2V0YWJsZXMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zbXBib290
LmMNCnZvaWQgbW11X2luaXRfc2Vjb25kYXJ5X2NwdSgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtPiBtbXUvc21wYm9vdC5jDQp2b2lkIF9faW5pdCBzZXR1cF9kaXJlY3RtYXBfbWFwcGlu
Z3MoKSAgICAgICAgICAgICAgICAgICAgLT4gbW11L3NldHVwLmMNCnZvaWQgX19pbml0IHNldHVw
X2ZyYW1ldGFibGVfbWFwcGluZ3MoKSAgICAgICAgICAgICAgICAgICAtPiBtbXUvc2V0dXAuYw0K
dm9pZCAqX19pbml0IGFyY2hfdm1hcF92aXJ0X2VuZCgpICAgICAgICAgICAgICAgICAgICAgICAg
IC0+IGFyY2gvYXJtL21tLmMgb3IgbW11L3NldHVwLmM/DQp2b2lkICppb3JlbWFwX2F0dHIoKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMNCnZvaWQgKmlv
cmVtYXAoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUv
cHQuYw0Kc3RhdGljIGludCBjcmVhdGVfeGVuX3RhYmxlKCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0+IG1tdS9wdC5jIA0Kc3RhdGljIGludCB4ZW5fcHRfbmV4dF9sZXZlbCgpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQpzdGF0aWMgYm9vbCB4ZW5fcHRfY2hl
Y2tfZW50cnkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMgDQpzdGF0aWMg
aW50IHhlbl9wdF91cGRhdGVfZW50cnkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11
L3B0LmMNCnN0YXRpYyBpbnQgeGVuX3B0X21hcHBpbmdfbGV2ZWwoKSAgICAgICAgICAgICAgICAg
ICAgICAgICAtPiBtbXUvcHQuYyANCnN0YXRpYyB1bnNpZ25lZCBpbnQgeGVuX3B0X2NoZWNrX2Nv
bnRpZygpICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYyANCnN0YXRpYyBpbnQgeGVuX3B0X3Vw
ZGF0ZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYyANCmludCBt
YXBfcGFnZXNfdG9feGVuKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBt
bXUvcHQuYyANCmludCBfX2luaXQgcG9wdWxhdGVfcHRfcmFuZ2UoKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtPiBtbXUvcHQuYw0KaW50IGRlc3Ryb3lfeGVuX21hcHBpbmdzKCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQppbnQgbW9kaWZ5X3hlbl9tYXBw
aW5ncygpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMNCnZvaWQg
ZnJlZV9pbml0X21lbW9yeSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBt
bXUvc2V0dXAuYw0Kdm9pZCBhcmNoX2R1bXBfc2hhcmVkX21lbV9pbmZvKCkgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCmludCBzdGVhbF9wYWdlKCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQppbnQgcGFn
ZV9pc19yYW1fdHlwZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0KdW5zaWduZWQgbG9uZyBkb21haW5fZ2V0X21heGltdW1fZ3BmbigpICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCnZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9n
dWVzdCgpICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQppbnQgeGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0KbG9uZyBhcmNoX21lbW9yeV9vcCgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCnN0YXRpYyBzdHJ1Y3QgZG9tYWluICpwYWdl
X2dldF9vd25lcl9hbmRfbnJfcmVmZXJlbmNlKCkgICAtPiBhcmNoL2FybS9tbS5jDQpzdHJ1Y3Qg
ZG9tYWluICpwYWdlX2dldF9vd25lcl9hbmRfcmVmZXJlbmNlKCkgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0Kdm9pZCBwdXRfcGFnZV9ucigpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCnZvaWQgcHV0X3BhZ2UoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQpib29sIGdl
dF9wYWdlX25yKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0KYm9vbCBnZXRfcGFnZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCmludCBnZXRfcGFnZV90eXBlKCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQp2b2lkIHB1
dF9wYWdlX3R5cGUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0KaW50IGNyZWF0ZV9ncmFudF9ob3N0X21hcHBpbmcoKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCmludCByZXBsYWNlX2dyYW50X2hvc3RfbWFw
cGluZygpICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQpib29sIGlz
X2lvbWVtX3BhZ2UoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJj
aC9hcm0vbW0uYw0Kdm9pZCBjbGVhcl9hbmRfY2xlYW5fcGFnZSgpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCnVuc2lnbmVkIGxvbmcgZ2V0X3VwcGVyX21m
bl9ib3VuZCgpICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQoiIiINCg0K
PiANCj4gQmVydHJhbmQsIFN0ZWZhbm8sIGFueSB0aG91Z2h0cz8NCj4gDQo+IFsuLi5dDQo+IA0K
Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tbXUvc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9t
bXUvc2V0dXAuYw0KPj4gaW5kZXggZTA1Y2NhM2Y4Ni4uODg5YWRhNmI4NyAxMDA2NDQNCj4+IC0t
LSBhL3hlbi9hcmNoL2FybS9tbXUvc2V0dXAuYw0KPj4gKysrIGIveGVuL2FyY2gvYXJtL21tdS9z
ZXR1cC5jDQo+PiBAQCAtMzI5LDYgKzMyOSwzMyBAQCB2b2lkIF9faW5pdCBzZXR1cF9tbSh2b2lk
KQ0KPj4gIH0NCj4+ICAjZW5kaWYNCj4+ICArLyoNCj4gDQo+IFdoeSBkaWQgdGhlIHNlY29uZCAn
KicgZGlzYXBwZWFyPw0KDQpBY2NvcmRpbmcgdG8gdGhlIENPRElOR19TVFlMRSwgd2Ugc2hvdWxk
IHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KDQovKg0KICogRXhhbXBsZSwgbXVsdGktbGluZSBj
b21tZW50IGJsb2NrLg0KICoNCiAqIE5vdGUgYmVnaW5uaW5nIGFuZCBlbmQgbWFya2VycyBvbiBz
ZXBhcmF0ZSBsaW5lcyBhbmQgbGVhZGluZyAnKicuDQogKi8NCg0KSW5zdGVhZCBvZiAiLyoq4oCd
IGluIHRoZSBiZWdpbm5pbmcuIEJ1dCBJIHRoaW5rIHlvdSBtYWRlIGEgcG9pbnQsIEkgbmVlZA0K
dG8gbWVudGlvbiB0aGF0IEkgdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8gZml4IHRoZSBjb21tZW50
IHN0eWxlIGluIGNvbW1pdA0KbWVzc2FnZS4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiAN
Cj4+ICsgKiBjb3B5X2Zyb21fcGFkZHIgLSBjb3B5IGRhdGEgZnJvbSBhIHBoeXNpY2FsIGFkZHJl
c3MNCj4+ICsgKiBAZHN0OiBkZXN0aW5hdGlvbiB2aXJ0dWFsIGFkZHJlc3MNCj4+ICsgKiBAcGFk
ZHI6IHNvdXJjZSBwaHlzaWNhbCBhZGRyZXNzDQo+PiArICogQGxlbjogbGVuZ3RoIHRvIGNvcHkN
Cj4+ICsgKi8NCj4+ICt2b2lkIF9faW5pdCBjb3B5X2Zyb21fcGFkZHIodm9pZCAqZHN0LCBwYWRk
cl90IHBhZGRyLCB1bnNpZ25lZCBsb25nIGxlbikNCj4+ICt7DQo+PiANCj4gDQo+IENoZWVycywN
Cj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 07:45:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 07:45:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588183.919667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYM4Z-0006KI-Ty; Tue, 22 Aug 2023 07:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588183.919667; Tue, 22 Aug 2023 07:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYM4Z-0006KB-Qu; Tue, 22 Aug 2023 07:45:07 +0000
Received: by outflank-mailman (input) for mailman id 588183;
 Tue, 22 Aug 2023 07:45: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYM4Z-0006Jy-0G
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 07:45:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf0cb860-40bf-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 09:45:05 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 846441F381;
 Tue, 22 Aug 2023 07:45:04 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3135513919;
 Tue, 22 Aug 2023 07:45:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +CKnCoBn5GQ3WgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 07:45:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf0cb860-40bf-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692690304; 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=O9RtAv9jURfsxw/veCsBpJ0O2mx8GT/ncDaTN+R0Xzc=;
	b=G9XjytzerdEdZgkgqRJWZDdWBcIiNMj9nE9E++snrqsRP+feZspupuh20JEoYV+5lkitBm
	twF/wGu+9pWDHLftHv59qn/GxZqYjDwt6sZsVlHxw/V/DAQiMo3alzJAl/BeUiTmmFVhlf
	Bbvq/sZdR11h4K+q7COqyI+skc081vI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v7] tools/xenstore: move xenstored sources into dedicated directory
Date: Tue, 22 Aug 2023 09:45:02 +0200
Message-Id: <20230822074502.5543-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In tools/xenstore there are living xenstored and xenstore clients.
They are no longer sharing anything apart from the "xenstore" in their
names.

Move the xenstored sources into a new directory tools/xenstored while
dropping the "xenstored_" prefix from their names. This will make it
clearer that xenstore clients and xenstored are independent from each
other.

In order to avoid two very similar named directories below tools,
rename tools/xenstore to tools/xs-clients.

Drop the make targets [un]install-clients as those are not used in
the Xen tree.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
After the large overhaul of xenstored I think such a reorg would make
sense to go into the same Xen version. Delaying it until the next
version would make potential backports for 4.18 harder.
V4:
- new patch
V5:
- rename xenstore directory to xs-clients (Julien Grall)
V6:
- use local .gitignore files (Andrew Cooper)
V7:
- prepend local .gitignore entries with "/" (Anthony PERARD)
- drop [un]install-clients make targets (Anthony PERARD)
- init xenstored TARGETS make variable with ":=" (Anthony PERARD)
---
 .gitignore                                    | 11 -----
 MAINTAINERS                                   |  3 +-
 stubdom/Makefile                              |  4 +-
 tools/Makefile                                |  3 +-
 tools/xenstored/.gitignore                    |  1 +
 tools/xenstored/Makefile                      | 48 +++++++++++++++++++
 tools/{xenstore => xenstored}/Makefile.common | 13 +++--
 tools/{xenstore => xenstored}/README          |  0
 .../control.c}                                |  8 ++--
 .../control.h}                                |  0
 .../xenstored_core.c => xenstored/core.c}     | 14 +++---
 .../xenstored_core.h => xenstored/core.h}     |  0
 .../xenstored_domain.c => xenstored/domain.c} | 10 ++--
 .../xenstored_domain.h => xenstored/domain.h} |  0
 tools/{xenstore => xenstored}/hashtable.c     |  0
 tools/{xenstore => xenstored}/hashtable.h     |  0
 tools/{xenstore => xenstored}/list.h          |  0
 .../xenstored_lu.c => xenstored/lu.c}         |  8 ++--
 .../xenstored_lu.h => xenstored/lu.h}         |  0
 .../lu_daemon.c}                              |  4 +-
 .../lu_minios.c}                              |  2 +-
 .../xenstored_minios.c => xenstored/minios.c} |  2 +-
 .../xenstored_osdep.h => xenstored/osdep.h}   |  0
 .../xenstored_posix.c => xenstored/posix.c}   |  4 +-
 tools/{xenstore => xenstored}/talloc.c        |  0
 tools/{xenstore => xenstored}/talloc.h        |  0
 .../{xenstore => xenstored}/talloc_guide.txt  |  0
 .../transaction.c}                            |  6 +--
 .../transaction.h}                            |  2 +-
 tools/{xenstore => xenstored}/utils.c         |  0
 tools/{xenstore => xenstored}/utils.h         |  0
 .../xenstored_watch.c => xenstored/watch.c}   |  6 +--
 .../xenstored_watch.h => xenstored/watch.h}   |  2 +-
 .../include => xenstored}/xenstore_state.h    |  0
 tools/xs-clients/.gitignore                   | 10 ++++
 tools/{xenstore => xs-clients}/Makefile       | 42 ++--------------
 .../xenstore_client.c                         |  0
 .../xenstore_control.c                        |  0
 38 files changed, 110 insertions(+), 93 deletions(-)
 create mode 100644 tools/xenstored/.gitignore
 create mode 100644 tools/xenstored/Makefile
 rename tools/{xenstore => xenstored}/Makefile.common (50%)
 rename tools/{xenstore => xenstored}/README (100%)
 rename tools/{xenstore/xenstored_control.c => xenstored/control.c} (98%)
 rename tools/{xenstore/xenstored_control.h => xenstored/control.h} (100%)
 rename tools/{xenstore/xenstored_core.c => xenstored/core.c} (99%)
 rename tools/{xenstore/xenstored_core.h => xenstored/core.h} (100%)
 rename tools/{xenstore/xenstored_domain.c => xenstored/domain.c} (99%)
 rename tools/{xenstore/xenstored_domain.h => xenstored/domain.h} (100%)
 rename tools/{xenstore => xenstored}/hashtable.c (100%)
 rename tools/{xenstore => xenstored}/hashtable.h (100%)
 rename tools/{xenstore => xenstored}/list.h (100%)
 rename tools/{xenstore/xenstored_lu.c => xenstored/lu.c} (98%)
 rename tools/{xenstore/xenstored_lu.h => xenstored/lu.h} (100%)
 rename tools/{xenstore/xenstored_lu_daemon.c => xenstored/lu_daemon.c} (97%)
 rename tools/{xenstore/xenstored_lu_minios.c => xenstored/lu_minios.c} (98%)
 rename tools/{xenstore/xenstored_minios.c => xenstored/minios.c} (97%)
 rename tools/{xenstore/xenstored_osdep.h => xenstored/osdep.h} (100%)
 rename tools/{xenstore/xenstored_posix.c => xenstored/posix.c} (98%)
 rename tools/{xenstore => xenstored}/talloc.c (100%)
 rename tools/{xenstore => xenstored}/talloc.h (100%)
 rename tools/{xenstore => xenstored}/talloc_guide.txt (100%)
 rename tools/{xenstore/xenstored_transaction.c => xenstored/transaction.c} (99%)
 rename tools/{xenstore/xenstored_transaction.h => xenstored/transaction.h} (98%)
 rename tools/{xenstore => xenstored}/utils.c (100%)
 rename tools/{xenstore => xenstored}/utils.h (100%)
 rename tools/{xenstore/xenstored_watch.c => xenstored/watch.c} (98%)
 rename tools/{xenstore/xenstored_watch.h => xenstored/watch.h} (98%)
 rename tools/{xenstore/include => xenstored}/xenstore_state.h (100%)
 create mode 100644 tools/xs-clients/.gitignore
 rename tools/{xenstore => xs-clients}/Makefile (62%)
 rename tools/{xenstore => xs-clients}/xenstore_client.c (100%)
 rename tools/{xenstore => xs-clients}/xenstore_control.c (100%)

diff --git a/.gitignore b/.gitignore
index c1b73b0968..50273adb8d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -237,17 +237,6 @@ tools/xenmon/xentrace_setmask
 tools/xenmon/xenbaked
 tools/xenpaging/xenpaging
 tools/xenpmd/xenpmd
-tools/xenstore/xenstore
-tools/xenstore/xenstore-chmod
-tools/xenstore/xenstore-control
-tools/xenstore/xenstore-exists
-tools/xenstore/xenstore-list
-tools/xenstore/xenstore-ls
-tools/xenstore/xenstore-read
-tools/xenstore/xenstore-rm
-tools/xenstore/xenstore-watch
-tools/xenstore/xenstore-write
-tools/xenstore/xenstored
 tools/xentop/xentop
 tools/xentrace/xentrace_setsize
 tools/xentrace/tbctl
diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..bf71ac144c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -669,7 +669,8 @@ F:	tools/include/xenstore.h
 F:	tools/include/xenstore_lib.h
 F:	tools/include/xen-tools/xenstore-common.h
 F:	tools/libs/store/
-F:	tools/xenstore/
+F:	tools/xenstored/
+F:	tools/xs-clients/
 
 XENTRACE
 M:	George Dunlap <george.dunlap@citrix.com>
diff --git a/stubdom/Makefile b/stubdom/Makefile
index d5fb354e7e..52bf7f0e21 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -371,10 +371,10 @@ endef
 
 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
 
-xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
-xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile.common
+xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
 	$(do_links)
 
 LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
diff --git a/tools/Makefile b/tools/Makefile
index 311a9098d7..3a510663a0 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,8 @@ SUBDIRS-y :=
 SUBDIRS-y += libs
 SUBDIRS-y += flask
 SUBDIRS-y += fuzz
-SUBDIRS-y += xenstore
+SUBDIRS-y += xs-clients
+SUBDIRS-$(XENSTORE_XENSTORED) += xenstored
 SUBDIRS-y += misc
 SUBDIRS-y += examples
 SUBDIRS-y += hotplug
diff --git a/tools/xenstored/.gitignore b/tools/xenstored/.gitignore
new file mode 100644
index 0000000000..cec482f21f
--- /dev/null
+++ b/tools/xenstored/.gitignore
@@ -0,0 +1 @@
+/xenstored
diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
new file mode 100644
index 0000000000..e0897ed1ba
--- /dev/null
+++ b/tools/xenstored/Makefile
@@ -0,0 +1,48 @@
+XEN_ROOT=$(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+include Makefile.common
+
+xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
+xenstored: LDLIBS += $(LDLIBS_libxengnttab)
+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
+all: $(TARGETS)
+
+xenstored: $(XENSTORED_OBJS-y)
+	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
+
+.PHONY: clean
+clean::
+	$(RM) $(TARGETS) $(DEPS_RM)
+
+.PHONY: distclean
+distclean: clean
+
+.PHONY: TAGS
+TAGS:
+	etags `find . -name '*.[ch]'`
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
+	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)$(sbindir)/xenstored
+	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
+		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
+	fi
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/xenstore/Makefile.common b/tools/xenstored/Makefile.common
similarity index 50%
rename from tools/xenstore/Makefile.common
rename to tools/xenstored/Makefile.common
index 41973a8a5e..189ab81b8d 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstored/Makefile.common
@@ -1,17 +1,16 @@
 # Makefile shared with stubdom
 
-XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
-XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
+XENSTORED_OBJS-y := core.o watch.o domain.o
+XENSTORED_OBJS-y += transaction.o control.o lu.o
 XENSTORED_OBJS-y += talloc.o utils.o hashtable.o
 
-XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o
-XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o
+XENSTORED_OBJS-$(CONFIG_Linux) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_NetBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_FreeBSD) += posix.o lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_MiniOS) += minios.o lu_minios.o
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-CFLAGS += -I./include
 CFLAGS += $(CFLAGS_libxenevtchn)
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_libxenguest)
diff --git a/tools/xenstore/README b/tools/xenstored/README
similarity index 100%
rename from tools/xenstore/README
rename to tools/xenstored/README
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstored/control.c
similarity index 98%
rename from tools/xenstore/xenstored_control.c
rename to tools/xenstored/control.c
index 3bdf2edc34..b2f64d674f 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstored/control.c
@@ -27,10 +27,10 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_control.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "control.h"
+#include "domain.h"
+#include "lu.h"
 
 struct cmd_s {
 	char *cmd;
diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstored/control.h
similarity index 100%
rename from tools/xenstore/xenstored_control.h
rename to tools/xenstored/control.h
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstored/core.c
similarity index 99%
rename from tools/xenstore/xenstored_core.c
rename to tools/xenstored/core.c
index 7de4df2f28..092de76a2e 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstored/core.c
@@ -47,12 +47,12 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_watch.h"
-#include "xenstored_transaction.h"
-#include "xenstored_domain.h"
-#include "xenstored_control.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "watch.h"
+#include "transaction.h"
+#include "domain.h"
+#include "control.h"
+#include "lu.h"
 
 #ifndef NO_SOCKETS
 #if defined(HAVE_SYSTEMD)
@@ -64,7 +64,7 @@
 #include <systemd/sd-daemon.h>
 #endif
 
-extern xenevtchn_handle *xce_handle; /* in xenstored_domain.c */
+extern xenevtchn_handle *xce_handle; /* in domain.c */
 static int xce_pollfd_idx = -1;
 static struct pollfd *fds;
 static unsigned int current_array_size;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstored/core.h
similarity index 100%
rename from tools/xenstore/xenstored_core.h
rename to tools/xenstored/core.h
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstored/domain.c
similarity index 99%
rename from tools/xenstore/xenstored_domain.c
rename to tools/xenstored/domain.c
index 1bf138c8b1..a6cd199fdc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstored/domain.c
@@ -27,11 +27,11 @@
 
 #include "utils.h"
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_control.h"
+#include "core.h"
+#include "domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "control.h"
 
 #include <xenevtchn.h>
 #include <xenctrl.h>
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstored/domain.h
similarity index 100%
rename from tools/xenstore/xenstored_domain.h
rename to tools/xenstored/domain.h
diff --git a/tools/xenstore/hashtable.c b/tools/xenstored/hashtable.c
similarity index 100%
rename from tools/xenstore/hashtable.c
rename to tools/xenstored/hashtable.c
diff --git a/tools/xenstore/hashtable.h b/tools/xenstored/hashtable.h
similarity index 100%
rename from tools/xenstore/hashtable.h
rename to tools/xenstored/hashtable.h
diff --git a/tools/xenstore/list.h b/tools/xenstored/list.h
similarity index 100%
rename from tools/xenstore/list.h
rename to tools/xenstored/list.h
diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstored/lu.c
similarity index 98%
rename from tools/xenstore/xenstored_lu.c
rename to tools/xenstored/lu.c
index f7f76acbf9..2f41d10c95 100644
--- a/tools/xenstore/xenstored_lu.c
+++ b/tools/xenstored/lu.c
@@ -13,10 +13,10 @@
 #include <time.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_domain.h"
-#include "xenstored_lu.h"
-#include "xenstored_watch.h"
+#include "core.h"
+#include "domain.h"
+#include "lu.h"
+#include "watch.h"
 
 #ifndef NO_LIVE_UPDATE
 struct live_update *lu_status;
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstored/lu.h
similarity index 100%
rename from tools/xenstore/xenstored_lu.h
rename to tools/xenstored/lu.h
diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstored/lu_daemon.c
similarity index 97%
rename from tools/xenstore/xenstored_lu_daemon.c
rename to tools/xenstored/lu_daemon.c
index 8c7522b0e1..71bcabadd3 100644
--- a/tools/xenstore/xenstored_lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -13,8 +13,8 @@
 #include <xen-tools/xenstore-common.h>
 
 #include "talloc.h"
-#include "xenstored_core.h"
-#include "xenstored_lu.h"
+#include "core.h"
+#include "lu.h"
 
 #ifndef NO_LIVE_UPDATE
 void lu_get_dump_state(struct lu_dump_state *state)
diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstored/lu_minios.c
similarity index 98%
rename from tools/xenstore/xenstored_lu_minios.c
rename to tools/xenstored/lu_minios.c
index ae0483575e..ede8b4dd47 100644
--- a/tools/xenstore/xenstored_lu_minios.c
+++ b/tools/xenstored/lu_minios.c
@@ -14,7 +14,7 @@
 #include <xen-tools/common-macros.h>
 
 #include "talloc.h"
-#include "xenstored_lu.h"
+#include "lu.h"
 
 /* Mini-OS only knows about MAP_ANON. */
 #ifndef MAP_ANONYMOUS
diff --git a/tools/xenstore/xenstored_minios.c b/tools/xenstored/minios.c
similarity index 97%
rename from tools/xenstore/xenstored_minios.c
rename to tools/xenstored/minios.c
index aa384e50c8..b5c3a205e6 100644
--- a/tools/xenstore/xenstored_minios.c
+++ b/tools/xenstored/minios.c
@@ -17,7 +17,7 @@
 */
 #include <sys/types.h>
 #include <sys/mman.h>
-#include "xenstored_core.h"
+#include "core.h"
 #include <xen/grant_table.h>
 
 void write_pidfile(const char *pidfile)
diff --git a/tools/xenstore/xenstored_osdep.h b/tools/xenstored/osdep.h
similarity index 100%
rename from tools/xenstore/xenstored_osdep.h
rename to tools/xenstored/osdep.h
diff --git a/tools/xenstore/xenstored_posix.c b/tools/xenstored/posix.c
similarity index 98%
rename from tools/xenstore/xenstored_posix.c
rename to tools/xenstored/posix.c
index b20504d1b6..6ac45fdb45 100644
--- a/tools/xenstore/xenstored_posix.c
+++ b/tools/xenstored/posix.c
@@ -24,8 +24,8 @@
 #include <sys/mman.h>
 
 #include "utils.h"
-#include "xenstored_core.h"
-#include "xenstored_osdep.h"
+#include "core.h"
+#include "osdep.h"
 
 void write_pidfile(const char *pidfile)
 {
diff --git a/tools/xenstore/talloc.c b/tools/xenstored/talloc.c
similarity index 100%
rename from tools/xenstore/talloc.c
rename to tools/xenstored/talloc.c
diff --git a/tools/xenstore/talloc.h b/tools/xenstored/talloc.h
similarity index 100%
rename from tools/xenstore/talloc.h
rename to tools/xenstored/talloc.h
diff --git a/tools/xenstore/talloc_guide.txt b/tools/xenstored/talloc_guide.txt
similarity index 100%
rename from tools/xenstore/talloc_guide.txt
rename to tools/xenstored/talloc_guide.txt
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstored/transaction.c
similarity index 99%
rename from tools/xenstore/xenstored_transaction.c
rename to tools/xenstored/transaction.c
index 1f892b002d..167cd597fd 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstored/transaction.c
@@ -30,9 +30,9 @@
 #include <unistd.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_transaction.h"
-#include "xenstored_watch.h"
-#include "xenstored_domain.h"
+#include "transaction.h"
+#include "watch.h"
+#include "domain.h"
 #include "xenstore_lib.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstored/transaction.h
similarity index 98%
rename from tools/xenstore/xenstored_transaction.h
rename to tools/xenstored/transaction.h
index b196b1ab07..90435b4fc9 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstored/transaction.h
@@ -17,7 +17,7 @@
 */
 #ifndef _XENSTORED_TRANSACTION_H
 #define _XENSTORED_TRANSACTION_H
-#include "xenstored_core.h"
+#include "core.h"
 
 enum node_access_type {
     NODE_ACCESS_READ,
diff --git a/tools/xenstore/utils.c b/tools/xenstored/utils.c
similarity index 100%
rename from tools/xenstore/utils.c
rename to tools/xenstored/utils.c
diff --git a/tools/xenstore/utils.h b/tools/xenstored/utils.h
similarity index 100%
rename from tools/xenstore/utils.h
rename to tools/xenstored/utils.h
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstored/watch.c
similarity index 98%
rename from tools/xenstore/xenstored_watch.c
rename to tools/xenstored/watch.c
index 7d4d097cf9..b66a9f1a39 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstored/watch.c
@@ -25,11 +25,11 @@
 #include <assert.h>
 #include "talloc.h"
 #include "list.h"
-#include "xenstored_watch.h"
+#include "watch.h"
 #include "xenstore_lib.h"
 #include "utils.h"
-#include "xenstored_domain.h"
-#include "xenstored_transaction.h"
+#include "domain.h"
+#include "transaction.h"
 
 struct watch
 {
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstored/watch.h
similarity index 98%
rename from tools/xenstore/xenstored_watch.h
rename to tools/xenstored/watch.h
index ea247997ad..d9ac6a334a 100644
--- a/tools/xenstore/xenstored_watch.h
+++ b/tools/xenstored/watch.h
@@ -19,7 +19,7 @@
 #ifndef _XENSTORED_WATCH_H
 #define _XENSTORED_WATCH_H
 
-#include "xenstored_core.h"
+#include "core.h"
 
 int do_watch(const void *ctx, struct connection *conn,
 	     struct buffered_data *in);
diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstored/xenstore_state.h
similarity index 100%
rename from tools/xenstore/include/xenstore_state.h
rename to tools/xenstored/xenstore_state.h
diff --git a/tools/xs-clients/.gitignore b/tools/xs-clients/.gitignore
new file mode 100644
index 0000000000..6a0a7941d5
--- /dev/null
+++ b/tools/xs-clients/.gitignore
@@ -0,0 +1,10 @@
+/xenstore
+/xenstore-chmod
+/xenstore-control
+/xenstore-exists
+/xenstore-list
+/xenstore-ls
+/xenstore-read
+/xenstore-rm
+/xenstore-watch
+/xenstore-write
diff --git a/tools/xenstore/Makefile b/tools/xs-clients/Makefile
similarity index 62%
rename from tools/xenstore/Makefile
rename to tools/xs-clients/Makefile
index dc39b6cb31..4e78d365e0 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xs-clients/Makefile
@@ -1,18 +1,11 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-include Makefile.common
-
-xenstored: LDLIBS += $(LDLIBS_libxenevtchn)
-xenstored: LDLIBS += $(LDLIBS_libxengnttab)
-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
+CFLAGS += -include $(XEN_ROOT)/tools/config.h
+CFLAGS += $(CFLAGS_libxenctrl)
+CFLAGS += $(CFLAGS_libxenguest)
+CFLAGS += $(CFLAGS_libxentoolcore)
+CFLAGS += $(CFLAGS_libxenstore)
 
 xenstore: LDLIBS += $(LDLIBS_libxenstore)
 xenstore: LDLIBS += $(LDLIBS_libxentoolcore)
@@ -28,9 +21,6 @@ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmo
 CLIENTS += xenstore-write xenstore-ls xenstore-watch
 
 TARGETS := xenstore $(CLIENTS) xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-TARGETS += xenstored
-endif
 
 .PHONY: all
 all: $(TARGETS)
@@ -38,9 +28,6 @@ all: $(TARGETS)
 .PHONY: clients
 clients: xenstore $(CLIENTS) xenstore-control
 
-xenstored: $(XENSTORED_OBJS-y)
-	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
-
 $(CLIENTS): xenstore
 	ln -f xenstore $@
 
@@ -64,10 +51,6 @@ TAGS:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(bindir)
-ifeq ($(XENSTORE_XENSTORED),y)
-	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
-endif
 	$(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
 	set -e ; for c in $(CLIENTS) ; do \
@@ -79,23 +62,8 @@ uninstall:
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS))
 	rm -f $(DESTDIR)$(bindir)/xenstore
 	rm -f $(DESTDIR)$(bindir)/xenstore-control
-ifeq ($(XENSTORE_XENSTORED),y)
-	rm -f $(DESTDIR)$(sbindir)/xenstored
-endif
 	if [ -d $(DESTDIR)$(includedir)/xenstore-compat ]; then \
 		rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/xenstore-compat; \
 	fi
 
-.PHONY: clients-uninstall
-clients-uninstall:
-	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(CLIENTS))
-
-.PHONY: clients-install
-clients-install: clients
-	$(INSTALL_DIR) $(DESTDIR)$(bindir)
-	$(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
-	set -e ; for c in $(CLIENTS) ; do \
-		ln -f $(DESTDIR)$(bindir)/xenstore $(DESTDIR)$(bindir)/$${c} ; \
-	done
-
 -include $(DEPS_INCLUDE)
diff --git a/tools/xenstore/xenstore_client.c b/tools/xs-clients/xenstore_client.c
similarity index 100%
rename from tools/xenstore/xenstore_client.c
rename to tools/xs-clients/xenstore_client.c
diff --git a/tools/xenstore/xenstore_control.c b/tools/xs-clients/xenstore_control.c
similarity index 100%
rename from tools/xenstore/xenstore_control.c
rename to tools/xs-clients/xenstore_control.c
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 07:56:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 07:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588193.919677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMFP-0008Dg-Tz; Tue, 22 Aug 2023 07:56:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588193.919677; Tue, 22 Aug 2023 07: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 1qYMFP-0008DZ-QH; Tue, 22 Aug 2023 07:56:19 +0000
Received: by outflank-mailman (input) for mailman id 588193;
 Tue, 22 Aug 2023 07:56: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 1qYMFO-0008DR-9e
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 07:56: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 1qYMFN-0003xJ-Rv; Tue, 22 Aug 2023 07:56:17 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMFN-00011O-Il; Tue, 22 Aug 2023 07: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Ut+C0+dTd3V9XjICXYZXQ5j+jjK8kfAdRIER5oYUQLs=; b=Me6SGQwGEUT+kkx3NGfXiXIKt1
	uoLplD6Tkro4EmLsZBADfQXlNrF9EdYCLog8oXD6Vjp1Zf8LFNqqRiWblP28MxYHe7MndOoEkb2Ps
	RcML9HeCuMD+S9A82JsKMiTUHW3jl0NQ6vooZO2uiDum6P6wl3Xq2pNWM34P0bPMCES4=;
Message-ID: <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org>
Date: Tue, 22 Aug 2023 08:56:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230822013014.2523202-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230822013014.2523202-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 22/08/2023 02:30, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptable of the Rules, we
> decided on a few exceptions that were not properly recorded in
> rules.rst. Other times, the exceptions were decided later when it came
> to enabling a rule in ECLAIR.
> 
> Either way, update rules.rst with appropriate notes.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> v2:
> - remove autogenerated from D4.10
> - remove R2.1
> - remove R5.6
> - remove R7.1
> - reword R8.3
> ---
>   docs/misra/rules.rst | 36 +++++++++++++++++++++++++++++-------
>   1 file changed, 29 insertions(+), 7 deletions(-)
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 8f0e4d3f25..62bd4620fd 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
>        - Required
>        - Precautions shall be taken in order to prevent the contents of a
>          header file being included more than once
> -     -

It is not clear to me why this line is removed. Was it added by mistake 
in a previous commit?

> +     - Files that are intended to be included more than once do not need to
> +       conform to the directive
>   
>      * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
>        - Required
> @@ -117,7 +131,7 @@ maintainers if you want to suggest a change.
>        - Required
>        - The character sequences /* and // shall not be used within a
>          comment
> -     -
> +     - Comments containing hyperlinks inside C-style block comments are safe
>   
>      * - `Rule 3.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_03_02.c>`_
>        - Required
> @@ -239,13 +256,16 @@ maintainers if you want to suggest a change.
>        - Required
>        - All declarations of an object or function shall use the same
>          names and type qualifiers
> -     -
> +     - The type ret_t maybe be deliberately used and defined as int or
> +       long depending on the type of guest to service
>   
>      * - `Rule 8.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_04.c>`_
>        - Required
>        - A compatible declaration shall be visible when an object or
>          function with external linkage is defined
> -     -
> +     - Allowed exceptions: asm-offsets.c (definitions for asm modules
> +       not called from C code), gcov_base.c (definitions only used in
> +       non-release builds)
>   
>      * - `Rule 8.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_05_2.c>`_
>        - Required
> @@ -369,7 +389,9 @@ maintainers if you want to suggest a change.
>        - Required
>        - Expressions resulting from the expansion of macro parameters
>          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
>   
>      * - `Rule 20.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_20_13.c>`_
>        - Required

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588208.919687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMLT-00026N-3j; Tue, 22 Aug 2023 08:02:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588208.919687; Tue, 22 Aug 2023 08:02:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMLS-00026G-WE; Tue, 22 Aug 2023 08:02:35 +0000
Received: by outflank-mailman (input) for mailman id 588208;
 Tue, 22 Aug 2023 08:02:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=z6jt=EH=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qYMLS-000267-5X
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:02:34 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f514b81-40c2-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 10:02:32 +0200 (CEST)
Received: from DB7PR02CA0015.eurprd02.prod.outlook.com (2603:10a6:10:52::28)
 by DU0PR08MB10368.eurprd08.prod.outlook.com (2603:10a6:10:408::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 08:02:24 +0000
Received: from DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::3a) by DB7PR02CA0015.outlook.office365.com
 (2603:10a6:10:52::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 08:02:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT051.mail.protection.outlook.com (100.127.142.148) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 08:02:24 +0000
Received: ("Tessian outbound 5c548696a0e7:v175");
 Tue, 22 Aug 2023 08:02:24 +0000
Received: from 9e832e56ebb2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 62993AA9-62AD-4E1F-9B23-0D7804273A15.1; 
 Tue, 22 Aug 2023 05:32:14 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9e832e56ebb2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 05:32:14 +0000
Received: from DB7PR05CA0072.eurprd05.prod.outlook.com (2603:10a6:10:2e::49)
 by GV1PR08MB7362.eurprd08.prod.outlook.com (2603:10a6:150:21::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 05:32:12 +0000
Received: from DBAEUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::74) by DB7PR05CA0072.outlook.office365.com
 (2603:10a6:10:2e::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 05:32:11 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT020.mail.protection.outlook.com (100.127.143.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 05:32:11 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 22 Aug
 2023 05:32:11 +0000
Received: from [10.169.172.116] (10.169.172.116) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend
 Transport; Tue, 22 Aug 2023 05:32:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f514b81-40c2-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LsS4oWBA9/vtIEFbwcGqI3MGXfMc95jve6vSxzHI7NQ=;
 b=bzdXKcYtK93D72iwQ0nMPdIW+Khz0LHV15roCXFQGCxikbxDMj+Qv88b0VS+0yQHwm19E1BXQPo5h+Z74vduSQ1f2C93qA0/n5oGPqSKCfQiXGExFVCp81OhIJbwRYDliephvmncrm0A2Qt6G5DgtSEl9I29wEhwIi1838S7Tzk=
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: 756c036c4ccdaba3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K3wUPdqNB9mE61T1Pc3GxBSsjI+94o4kWxKPF1FJI3RhbsRjOHlYJwqdBu06ZW0Fa0qhrPN1Hkl5417WvMyCecAAd8Pzufbu8pVD+Yxz7y0ceX3w9CqaCyOip8gcbPcg8Bf7A1WQ3sVTsuCn718Oln5+UW7iVGYBVQY/kyd9xWx8cQjzuGj54+YSJqwhsUVdmpTv2u/TbD/Sg/iRhGvy49w2VXpHEss/Ef6ZHC/IIlkBGGfxfCpjM/IMulkz6t6lZDVIxU8iTCvHrKXI/XR6azucHwCIAjjM+9WPuWzhFxAzk3fIyTGVPRgYM96MxsdxlxIncHV4Vldbzr67efqRQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LsS4oWBA9/vtIEFbwcGqI3MGXfMc95jve6vSxzHI7NQ=;
 b=YurdAJ264dQ5HryUKK4JyA/X0njn0H6lzQoZ5M1IfbTEuTiY0T4Pdh1fRZxoTLwYeoGaWUxGQ8TnDUL7EXej0UiU31o1SS3PuY2/WdwYbinBpp+ulU1+MilBcc/YhHkTa8bs6vdmJ8kS8Sv1nLqLKtcCWzEafvPevZfYEemEDfs7bFZij9I7xbA4g0bOJb3emOxxfR0/0Dm+tZlRVud8OT+VmrL/WN3LRlq84DeMv4XDH9K94vX+TO+O5v6Kq39hrrSZ4clVCfgJueuRhZHMZ+KzropzL/KqpmNgqmcn0q+uFGjhhXe5YmFXBz4SxlQykFq/yYO9pe6ASNL8I6glzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=amd.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message
 not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LsS4oWBA9/vtIEFbwcGqI3MGXfMc95jve6vSxzHI7NQ=;
 b=bzdXKcYtK93D72iwQ0nMPdIW+Khz0LHV15roCXFQGCxikbxDMj+Qv88b0VS+0yQHwm19E1BXQPo5h+Z74vduSQ1f2C93qA0/n5oGPqSKCfQiXGExFVCp81OhIJbwRYDliephvmncrm0A2Qt6G5DgtSEl9I29wEhwIi1838S7Tzk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
Message-ID: <1fae4dde-f1b5-fa13-d021-3bdde7184fbe@arm.com>
Date: Tue, 22 Aug 2023 13:32:05 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v3 0/8] Follow-up static shared memory PART I
To: Michal Orzel <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@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: <20230821040046.2965665-1-Penny.Zheng@arm.com>
 <6fcbab6a-7126-21ee-e1bc-aa7ba2b07fc0@amd.com>
Content-Language: en-US
From: Penny Zheng <penny.zheng@arm.com>
In-Reply-To: <6fcbab6a-7126-21ee-e1bc-aa7ba2b07fc0@amd.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
	DBAEUR03FT020:EE_|GV1PR08MB7362:EE_|DBAEUR03FT051:EE_|DU0PR08MB10368:EE_
X-MS-Office365-Filtering-Correlation-Id: c33fb604-d59f-4d30-787b-08dba2e61ec2
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:
 tw2dDOqpMPzH7Id2EildTfhZ9eoNLfvxC1PwQ16bRYWRfY9gOLJiJkHcYRqzh12jEY/oDjIS+jf/pKuK/nnRibHS38ffUJFUR6OY23WITPoWDYOofLwSfVfKLIxoTgQ4pVQryBGcHtaOBlLfFG44pnAIz0PLF3Gk8m2+piYI0q/aIyKb0r+0qm7PCQDZzCkzEZ7PcAUk7hGUbXiCIdqYZW+zbrWwCQrAeeSFTAjnv1nYkgIMPgBP3Vfx6Xo4hLa367mlqogFUKaPxCTW85Cy34CnHAmLGPYPJcKzyAH3B7Gol5Wh3GzIRa5UGbLCSm1Jyi5pAAjWZNsQGmV3Bw9P8Jhk1vHZ5wgUjxb1jeO3bg3d5snfJfTL9cddYNbrHCtE1rIyqyeUSWO6EAE/Z1BLZdjMWA+xxB7PW0GdL0LZdYPSmODdT9nTcQGBTKR8gGa9JwRBMOSwAjFgiTCDywCm/rWkZ50nSpqPsLyfkFVibmuAzPEGw8PSK7dIHYuyHSDlTZSYRkF/ZOYDX5vEFyGEZI54XrgOEqgdWGxZB/qYDPLC3JEHdOlm3IzfD3uuoVfYabk9Ssx1uI2JWzucp53VGGDSUdwCTHLETbtfYB4Y98GuBGqJptOW7gibPKYzL3abXU3IGiEnYviOCPNVSUQEAo+riPkyC7L4+zvqKfe28Yh/TmdeekNC4YLo2r6kS3eQGnWweYaqfSjuTbxyjBOdb9jfJzU8GCc2XhlmFmcoc21lmRyaOC4Q/rcoFtK7ZpSyOTUrfTz5H1aN0xZlVI5zCDr2SKqdblQq8jA+W7XwGu6cJz/Rg6wCzC+GTGBFx0d32rShO0n8NSxIdKtLljUZVw0b0Dgw0AqCT+/ldSb5sJo=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70206006)(16576012)(316002)(70586007)(110136005)(8676002)(8936002)(2616005)(4326008)(40460700003)(36756003)(41300700001)(356005)(82740400003)(81166007)(966005)(478600001)(6666004)(53546011)(40480700001)(83380400001)(2906002)(86362001)(31686004)(47076005)(36860700001)(31696002)(336012)(44832011)(426003)(5660300002)(26005)(3940600001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7362
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6853238c-6a18-4af0-acb8-08dba2d122c0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fXkLQAARRhFtX83TBlGsefrC3Drk88Fj9OPfvklYmc9BprDDBTUbZTju5a+cAvi8fzk4Z+hdCqZZfg10PlAxnCR1rcaK4TW3P7xcsg2qvy7AgQeSYOfDlj6+KufWdkh4b+SR/MICsaaVF9YCx5myLAUHJrw4Nw42cF8fGcO7ZHQW6aK3C2vT/Si1EjE7QKmkfwihBtwdhLciklNN2QIWhan1d29UX9VQNR1G7GQnalmsHM41Zk3heRulYMfVczPilvKwEERjtWA6N6awvwouEy55mhdQ7KGyXX9Nj7X5x/WUdkNUo9CE1bYF7eGAYZUvdPJe6NlNSK5R3RAlZXAlv89x5TRyxoaZ/fvRA+geYGBs/uVFX7lWRL9Ra5gHO5+u+xtJP0hERhTb2/qZXvl3zpzQJ3kBtesF+FDdRAhjik3oDyvOYy+cYs92tZ12ztguwkTUcN2Hb9AiLq1A70xgEC2yCDelTmuftEp7cUVAESMp9UWqEPX1OflQOO+IeoxEMz5OaJZjdoOxZnOCh6EHoPZ+kgyqmRc9aiXmADCdlt0gqLCYYVJoB2fqNe6pyIadZLFG+SOxE2QnjOumfRpinlxiBRP5qW4v8OVuaYKihsEZzTDlXA3L7GOD75ZQR977ptWK/EKhlwEPVVTcCyxEQIZQ/9hbDVA2Pc/ZVHOd7rppuory4o9qgvupUpJLz4NpJYAYxZaHNNwBK6I/8FqZ3pIqWAgMAtJKdRW1VgqIAEteIp8cBYQN3CdGWmTcOICX2MbcROMgCkeZCZsmg9DxIzx5vZw9eL35mjD8dersMgpVCK7C+BzqGUR/Yzq32QdgnIxWhyQFrrwlEBcnQaAx7A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(346002)(376002)(39860400002)(396003)(82310400011)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(6666004)(53546011)(40460700003)(31696002)(426003)(36860700001)(336012)(40480700001)(107886003)(83380400001)(36756003)(26005)(82740400003)(47076005)(81166007)(41300700001)(2616005)(2906002)(316002)(16576012)(54906003)(70206006)(110136005)(86362001)(5660300002)(70586007)(44832011)(478600001)(8676002)(8936002)(4326008)(31686004)(966005)(3940600001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 08:02:24.5140
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c33fb604-d59f-4d30-787b-08dba2e61ec2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB10368

Hi, michal

On 2023/8/21 18:49, Michal Orzel wrote:
> Hi Penny,
> 
> On 21/08/2023 06:00, Penny Zheng wrote:
>>
>>
>> There are some unsolving issues on current 4.17 static shared memory
>> feature[1], including:
>> - In order to avoid keeping growing 'membank', having the shared memory
>> info in separate structures is preferred.
>> - Missing implementation on having the host address optional in
>> "xen,shared-mem" property
>> - Removing static shared memory from extended regions
>> - Missing reference release on foreign superpage
>> - Missing "xen,offset" feature, which is introduced in Linux DOC[2]
>>
>> All above objects have been divided into two parts to complete. And this
>> patch serie is PART I.
>>
>> [1] https://lore.kernel.org/all/20220908135513.1800511-1-Penny.Zheng@arm.com/
>> [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/xen%2Cshared-memory.txt
> 
> It looks like there is a problem with the changes introduced in this series.
> The gitlab static shared memory tests failed:
> https://gitlab.com/xen-project/patchew/xen/-/pipelines/973985190
> No Xen logs meaning the failure occurred before serial console initialization.
> 
> Now, I would like to share some observations after playing around with the current static shared mem code today.
> 1) Static shared memory region is advertised to a domain by creating a child node under reserved-memory.
> /reserved-memory is nothing but a way to carve out a region from the normal memory specified in /memory node.
> For me, such regions should be described in domain's /memory node as well. This is not the case at the moment
> for static shm unlike to other sub-nodes of /reserved-memory (present in host dtb) for which Xen creates separate
> /memory nodes.
> 

Hmm, correct me if I'm wrong,
If we describe twice in domain's /memory node too, it will be treated as 
normal memory, then any application could use it. The reason why we put 
static shm under /reserved-memory is that we only hope special driver, 
like static shm linux driver, could access it.

If you track down in make_memory_node(), only memory range that is 
reserved for device (or firmware) will be described twice as normal 
memory in Dom0. Memory like static shm, will get passed.

> 2) Domain dtb parsing issue with two /reserved-memory nodes present.
> In case there is a /reserved-memory node already present in the host dtb, Xen would create yet another /reserved-memory
> node for the static shm (to be observed in case of dom0). This is a bug as there can be only one /reserved-memory node.
> This leads to an error when dumping with dtc and leads to a shm node not being visible to a domain (guest OS relies on
> a presence of a single /reserved-memory node). The issue is because in make_resv_memory_node(), you are not checking if
> such node already exists.

Yes, you're true.
In Dom0, we could see two /reserved-memory nodes. I think, if there is a 
/reserved-memory node already present in the host dtb, we shall reserve 
it in kinfo for make_resv_memory_node().

> 
> I haven't looked closely at this series yet. It might be that these issues are fixed. If not, I would definitely
> suggest to fix them in the first place.
> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:03:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:03:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588213.919697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMMj-0002dK-Ct; Tue, 22 Aug 2023 08:03:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588213.919697; Tue, 22 Aug 2023 08:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMMj-0002dD-A2; Tue, 22 Aug 2023 08:03:53 +0000
Received: by outflank-mailman (input) for mailman id 588213;
 Tue, 22 Aug 2023 08:03: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 1qYMMi-0002d7-7C
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:03: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 1qYMMh-0004dA-8k; Tue, 22 Aug 2023 08:03:51 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMMh-0001SF-2L; Tue, 22 Aug 2023 08:03: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=7uGygNoSEeND/ygDnmTHVw77TbgvBGr9JfNizRux7CM=; b=6XrEP7Qxu7N5ainuNVPlLmiYA7
	wHfLmk3RiJzI3dDVxxyTvW6oHvDBDCl1353JasnEHOzjihM4D60v/MvfXY8slXV/uGb+IaTOG2X1K
	masNaEhDWJu33sAAgrS5PrRZHgSjC/8lsiGMVPRQkTJxG4P17136oyukdIEsy4RJ+27E=;
Message-ID: <de59a660-1566-44eb-8fd8-b99499e97e99@xen.org>
Date: Tue, 22 Aug 2023 09:03:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: document gcc-specific behavior with
 shifting signed integers
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230822010228.2517542-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230822010228.2517542-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 22/08/2023 02:02, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> v2:
> - split << and >>
> - do not use the word "shift" instead of << or >>
> ---
>   docs/misra/C-language-toolchain.rst | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> index 785aed1eaf..4c4942a113 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -200,6 +200,15 @@ The table columns are as follows:
>        - ARM64, X86_64
>        - See Section "6.29 Designated Initializers" of GCC_MANUAL
>   
> +   * - Signed << compiler-defined behavior
> +     - All architectures
> +     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
> +       C language, GCC does not use the latitude given in C99 and C11
> +       only to treat certain aspects of signed << as undefined.
> +
> +   * - Signed >> acts on negative numbers by sign extension
> +     - All architectures
> +     - See Section "4.5 Integers" of GCC_MANUAL.

I noticed that all this document is referring to GCC. But we also 
support CLang. Did you confirm that CLang abide with this behavior?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:06:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588221.919707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMPC-0003G4-Ou; Tue, 22 Aug 2023 08:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588221.919707; Tue, 22 Aug 2023 08:06:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMPC-0003Fx-M9; Tue, 22 Aug 2023 08:06:26 +0000
Received: by outflank-mailman (input) for mailman id 588221;
 Tue, 22 Aug 2023 08:06: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 1qYMPB-0003Fr-Tx
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:06: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 1qYMPB-0004gt-If; Tue, 22 Aug 2023 08:06:25 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMPB-0001Zx-Cc; Tue, 22 Aug 2023 08: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=x5hXNjO3nZQsDdqrCuGSnO1F6b29AuzWuWIUOcURrLg=; b=B03q6qa9Z84hIzIIyyCeHpSacu
	Q/3ipxbG69d0EHpzuN3TEQL6mDE3x1YQM+VUbpokCnndYFy6vfA3xF9po7az8ebLMy1RB7XUKdPh8
	j3Y+XsogcONw3X8hw8cKOLZjzpjpVT89L9y/ToZEB1MtaIjS4nFE0yUfLVxJaFHdDprY=;
Message-ID: <a19f88f6-3c5e-48a1-805f-8afcad22ba4b@xen.org>
Date: Tue, 22 Aug 2023 09:06:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-9-Henry.Wang@arm.com>
 <7503cbad-a0b9-4683-880f-1099ad62f2f7@xen.org>
 <65B3F435-4086-4DDE-A050-A7B741D67973@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <65B3F435-4086-4DDE-A050-A7B741D67973@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 22/08/2023 03:42, Henry Wang wrote:
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 0d433a32e7..bc3e5bd6f9 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -16,7 +16,6 @@
>   #include <xen/vmap.h>
> 
>   #include <asm/byteorder.h>
> -#include <asm/fixmap.h>
>   #include <asm/kernel.h>
>   #include <asm/setup.h>
> ```

The changes in kernel.c should go in patch #12 where the fixmap user is 
moved out.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588228.919717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMRa-0003pa-4I; Tue, 22 Aug 2023 08:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588228.919717; Tue, 22 Aug 2023 08:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMRa-0003pT-18; Tue, 22 Aug 2023 08:08:54 +0000
Received: by outflank-mailman (input) for mailman id 588228;
 Tue, 22 Aug 2023 08:08:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYMRY-0003pJ-7C
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:08:52 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe16::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20e8b009-40c3-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 10:08:51 +0200 (CEST)
Received: from AM6PR0502CA0038.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::15) by PAWPR08MB10260.eurprd08.prod.outlook.com
 (2603:10a6:102:369::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 08:08:44 +0000
Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:56:cafe::1b) by AM6PR0502CA0038.outlook.office365.com
 (2603:10a6:20b:56::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 08:08:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 08:08:44 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Tue, 22 Aug 2023 08:08:43 +0000
Received: from cd249ff62977.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5AACFEDC-0FB1-43FF-8F86-3043A75261FA.1; 
 Tue, 22 Aug 2023 08:08:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cd249ff62977.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 08:08:36 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB6022.eurprd08.prod.outlook.com (2603:10a6:20b:295::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 08:08:35 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 08:08: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: 20e8b009-40c3-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=19rMcGGnAmktaHpjkPeOK319Ti2TVQpElHBIt/oZu+o=;
 b=cx3ZFP2Y28wj19ugWrtRp0endSJiMGKghnRutUOY2mlkWnXtZnot4Z2He1sRjMdr9A/r2bMCb2fMTIFuOG+GLj+m+PefeMtUQbzv0Xq3jxDOn4t7HLHwWWaIP3+bEIPJnv/SKVHF8azGSBCA3gJcmUYiwztUTagjcdxVUkGWm8k=
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: e815ffca696627df
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rr2GfAodEAr0sFc3v05Vj0IsrCUXs4Y76TCtTeyTSxzrN3gyX7YAlzMUSlVG3DFKNhr3zGl1bvA137mNsJFxvUbgEvwP/ppvTjWHoukeL/bgaDmyeIJ1P9w+RAKwtMKAvsWdhOzjhZa+a7XVFmNkbuPPqQS4AzJykxeFgJ5IePkN6nU380k9K49EHdbMzmQWx5elCvtzdXZ2WUPeztI5ZkUFZcHJF0vFrIVusx4CtHVmTZwQnhMEz6i5r4i/CDKjXfq4/yHIPqAMc6jditC56KR6A9SyzkOoZY8tEifheA0FRS+BHb8SRhZp8YSV66rubLsyEXpqEe96ORIU9sQxGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=19rMcGGnAmktaHpjkPeOK319Ti2TVQpElHBIt/oZu+o=;
 b=A0Bl+1aokS7TdGA3wGtjKTiBrzf2XpQq5KTXgzPUlORiYNnV4nf0DCQLA6B1wtdrB5IhHWU9+wDBaRJEj5gU+lp1RfRcP/n4bSiWcys2R29YjFRETPUoRLgG8NTtdxwYRzQUJNoHLxtZtlJcNdYdWuIvtuG88sqlJG6750DuTxPLjDPihL6rYQkTi8dzcEQ+rvEdIeNr4EWM8ypyrlaheNkMuckqWIESysd5RTBLgov/rzWzQ83Y6K63pvwETR1kLv5cMU+96To6NWs9GcK+psLjrGja+NKn3ou1D7rp/GdYUXrv4iwZXNjJ+vUx3b1qXwLr5VlWAUm0l0asOkCbPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=19rMcGGnAmktaHpjkPeOK319Ti2TVQpElHBIt/oZu+o=;
 b=cx3ZFP2Y28wj19ugWrtRp0endSJiMGKghnRutUOY2mlkWnXtZnot4Z2He1sRjMdr9A/r2bMCb2fMTIFuOG+GLj+m+PefeMtUQbzv0Xq3jxDOn4t7HLHwWWaIP3+bEIPJnv/SKVHF8azGSBCA3gJcmUYiwztUTagjcdxVUkGWm8k=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Thread-Topic: [PATCH v5 08/13] xen/arm: Fold pmap and fixmap into MMU system
Thread-Index: AQHZzmeE4KXhY3mNtkSLYSr+mWg0ta/1GdYAgACN7QCAAFqCgIAAAI+A
Date: Tue, 22 Aug 2023 08:08:34 +0000
Message-ID: <575A067A-1CF1-4197-A7C1-511A453FCF5D@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-9-Henry.Wang@arm.com>
 <7503cbad-a0b9-4683-880f-1099ad62f2f7@xen.org>
 <65B3F435-4086-4DDE-A050-A7B741D67973@arm.com>
 <a19f88f6-3c5e-48a1-805f-8afcad22ba4b@xen.org>
In-Reply-To: <a19f88f6-3c5e-48a1-805f-8afcad22ba4b@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB6022:EE_|AM7EUR03FT017:EE_|PAWPR08MB10260:EE_
X-MS-Office365-Filtering-Correlation-Id: de42faba-2571-4422-ae50-08dba2e7010e
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:
 2YP+8eZ8tdxYegB/d2yqFo/y4LVoZirnijjI0KzKQUT4J7heTaHbu6uSIdC1dtbNAJiL78SZftKZ7VhQIg1IcNCmpw3XqfGZtHLpto9hLT/hDQ1b7ZB6Apl1e57ZSUBqcWSFPsY02CUZ9ENPRhC/pFC7hEXPlMw3myp8nFniLMXwfRVMHUXA/Yrd4FrHNJVBs9JJNXL6Te1W9JljfD4AyzOR24J1pVrRVo5uO96QPuHakqz2UIcQEF8KXIBqet0UJhMFZjWIgra33uQro890AdCfdI8e8mwMjk7XiwvNGi6fvAjmG/08PLWoE88nWm+nm6SsB/rxeKqkHpkp+HjwcZt8HBhbSts1HEpsgVfVJTdpq9n9QDfUbt6cgDJxiG5JlT518Cl1z9bn+VGY/F9nVaz/8DJ1bpva2jk0qMldPmm1Blu3twkz8GFooOD/zEMcXcxzWqk2ieqsFQy1JcJJ45WSWugISBdZov8SJct8wpymyV3uNfQ9YbnnIoD0xmNXtzvoTKTo2klFLzn2beQXI+d7wLUR2HkG3oBSRCkxH7LB6qRumywUbh3wG05toKz/2pIu4rZr1vfl6cRDxheRgrOqTx34XWBfut1aZv6U3ufiIYyAJQV1vYCTnMD37USkXSfueBZ9y/7Hoz5QQfH/xg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(39860400002)(136003)(396003)(451199024)(1800799009)(186009)(2906002)(4744005)(53546011)(38070700005)(38100700002)(6486002)(6506007)(5660300002)(33656002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(64756008)(66446008)(6916009)(54906003)(76116006)(66556008)(66476007)(91956017)(478600001)(122000001)(71200400001)(36756003)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9F25861EFBCFF14B89B3D00C089503E5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6022
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b41bffd6-935c-4305-13f7-08dba2e6fb9a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ew5ifMgmkEbVoguLwtrbmWDa7RvGWPATVYhpg7eelSlNYfyDq/PxRjUhI6nQrb2yBIjP1/84dvVc+RKj/gqwKgpJ3vXWI+JEqBsAipztohMUI4yvJu81sZnd8DvxrKzesgHyoyAUtzW6I/JD1PAManjp5dcWT/ZeFFZaxIgcUtKxqFoV4+YdPA8tQFTE2yW4GJlPnzDQQRubrX9KbFNvseENPVcKRhyBDdIcfhoAjZoJmylmagFOiIq1RBrRH5oZPJYjO6ZQtqSgB6IpSCSIIqnsMco9BFV3gxGJ9WlVo8F1Oab7KceCcyjREax5OQzlvKjKPa6keo/fHq4NeTM8FFCwI+6CALLxIG/iVXFOqqugbOikXyMvwzMmBTpGmvpXb1E6K6bsL4WSBBl5Df/0Uo157OFaKQvsqboWKoyolJ9Vx/wrbgazL2lYBRVv4uAv3q8ohO0jMZF240Hp+v4s0o5GyDkWgHS0mCbQa0AoJ9UgXpfyO0KAlbgUQfq1kW5BNDtcbRzDNZCFTV3dakdOEfk3m7LT+LMx0aDAOjQpBTAOdEGp9HUAEZyGrjn8sE7Axi6VRcpI3LOgjxaq+F4XZRfMv31dL7uI1Hnx004XMgaruDhNHNRTlXerv4oCqfu6CGf0fvdEOgDPR7gnv49KA0uLp1tVHsx8RO8t8sjfdB3q/AGerGHC4pwcKfNH3fmADvJwffNZxFAYeMhP8yI8QUbvgUYuK4yN7+7Xn/KSF3CMVD3f48/7qFc5WqVMmX5l
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(346002)(376002)(39860400002)(396003)(82310400011)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(6486002)(6506007)(6512007)(53546011)(40460700003)(36860700001)(336012)(40480700001)(107886003)(83380400001)(36756003)(26005)(356005)(82740400003)(47076005)(81166007)(41300700001)(2616005)(33656002)(2906002)(316002)(54906003)(4744005)(70206006)(86362001)(5660300002)(70586007)(478600001)(8676002)(6862004)(8936002)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 08:08:44.1316
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de42faba-2571-4422-ae50-08dba2e7010e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10260

Hi Julien,

> On Aug 22, 2023, at 16:06, Julien Grall <julien@xen.org> wrote:
>=20
> Hi,
>=20
> On 22/08/2023 03:42, Henry Wang wrote:
>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>> index 0d433a32e7..bc3e5bd6f9 100644
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -16,7 +16,6 @@
>>  #include <xen/vmap.h>
>>  #include <asm/byteorder.h>
>> -#include <asm/fixmap.h>
>>  #include <asm/kernel.h>
>>  #include <asm/setup.h>
>> ```
>=20
> The changes in kernel.c should go in patch #12 where the fixmap user is m=
oved out.

Thanks, sounds good. I will fix it in v6.

Kind regards,
Henry

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:18:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588237.919727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMak-0005fF-4T; Tue, 22 Aug 2023 08:18:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588237.919727; Tue, 22 Aug 2023 08: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 1qYMak-0005f8-19; Tue, 22 Aug 2023 08:18:22 +0000
Received: by outflank-mailman (input) for mailman id 588237;
 Tue, 22 Aug 2023 08:18: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 1qYMaj-0005f2-15
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:18: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 1qYMai-00052k-EX; Tue, 22 Aug 2023 08:18:20 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMai-00029B-5I; Tue, 22 Aug 2023 08:18: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=AgqBKrTx0Fh/SoEjNb2Rx3JKNglrk1XnzaoSVI/O/0w=; b=qybHLfz5yQ7PrqcutyaP6RRlvH
	QPZkrbvnDB329yYj2oHNI/d4hSq3XEGJdo26TRjDl3fKc7lJzPv5TllJMPfjDRnoWsBlmK5OBRldg
	Jm9LNUjVHiZL+mmPnblBc+GciUY66SKNDML21UKLYx2rLcrzC0GM9rnVFKziryZV4PBs=;
Message-ID: <3413dc3c-f343-4e88-aa08-d5a0634c1ef4@xen.org>
Date: Tue, 22 Aug 2023 09:18:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
 <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
 <FA20A514-B1D2-4FBA-97F4-93981E1F0636@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <FA20A514-B1D2-4FBA-97F4-93981E1F0636@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/08/2023 03:11, Henry Wang wrote:
> Hi Julien,

Hi,

>> On Aug 22, 2023, at 05:34, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Penny Zheng <Penny.Zheng@arm.com>
>>> SMMU subsystem is only supported in MMU system, so we make it dependent
>>> on CONFIG_HAS_MMU.
>>
>> "only supported" as in it doesn't work with Xen or the HW is not supporting it?
> 
> I think currently there are no hardware combination of MPU + SMMU, but
> theoretically I think this is a valid combination since SMMU supports the linear
> mapping. So would below reword looks good to you:
> 
> â€œCurrently the hardware use case of connecting SMMU to MPU system is rarely
> seen, so we make CONFIG_ARM_SMMU and CONFIG_ARM_SMMU_V3
> dependent on CONFIG_MMU."

I read this as there might be MPU system with SMMU in development. What 
you want to explain is why we can't let the developper to select the 
SMMU driver on an MPU system.

 From my understanding this is because the drivers are expecting to use 
the page-tables and the concept doesn't exist in the MPU system. So the 
drivers are not ready for the MPU.

> 
>>
>> Also, I am not entirely convinced that anything in passthrough would properly work with MPU. At least none of the IOMMU drivers are. So I would consider to completely disable HAS_PASSTHROUGH.
> 
> I agree, do you think adding below addition diff to this patch makes sense to you?

I think it should be a replacement because none of the IOMMU drivers 
works for the MPU. So I would rather prefer if we avoid adding "depends 
on" on all of them (even if there are only 3) for now.

> If so I guess would also need to mention this in commit message.

Did you confirm that Xen MPU still build without HAS_PASSTHROUGH?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:40:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:40:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588244.919737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMwC-0000zn-S9; Tue, 22 Aug 2023 08:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588244.919737; Tue, 22 Aug 2023 08: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 1qYMwC-0000zg-PR; Tue, 22 Aug 2023 08:40:32 +0000
Received: by outflank-mailman (input) for mailman id 588244;
 Tue, 22 Aug 2023 08: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYMwB-0000za-Cl
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:40:31 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c431099-40c7-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 10:40:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 694B3228D1;
 Tue, 22 Aug 2023 08:40:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1F2B4132B9;
 Tue, 22 Aug 2023 08:40:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id J5AIBnx05GQ9cgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 08:40:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c431099-40c7-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692693628; 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=LG9O2KGeMPzFPG5JFKGZKTgTsaslzicynmcozWZXKX4=;
	b=DOxBGTbjyj7coPWT3Ic3Q8hdngfOquxCbZHNlHAEfhZGpm0sUqMSMOW9hvoRXta34SppL1
	vGGqMJnxE/7ZDbnG/pgQ5Bt0TEa+jxkIo4WQa3fFHZvv4C4HMCTvt7VJWgrIFO35OoOo6o
	zby01hYkKkdpLPe6hYkhxiqZsrg1fEI=
Message-ID: <6cd949cd-c8a4-4d08-9cc7-b1204bcb23a3@suse.com>
Date: Tue, 22 Aug 2023 10:40:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V4] xen: privcmd: Add support for irqfd
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>
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: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------wTeFPGizepIyYG5w0FQp94uA"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------wTeFPGizepIyYG5w0FQp94uA
Content-Type: multipart/mixed; boundary="------------pzr9xPbaKIEgCoynYHet0Vub";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <6cd949cd-c8a4-4d08-9cc7-b1204bcb23a3@suse.com>
Subject: Re: [PATCH V4] xen: privcmd: Add support for irqfd
References: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>
In-Reply-To: <d783b8689395e60d0c314f9dad476443ca7773cf.1690282439.git.viresh.kumar@linaro.org>

--------------pzr9xPbaKIEgCoynYHet0Vub
Content-Type: multipart/mixed; boundary="------------JUndqxuIc2a0Bi3LHZhfwsMF"

--------------JUndqxuIc2a0Bi3LHZhfwsMF
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjUuMDcuMjMgMTI6NTcsIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gWGVuIHByb3ZpZGVz
IHN1cHBvcnQgZm9yIGluamVjdGluZyBpbnRlcnJ1cHRzIHRvIHRoZSBndWVzdHMgdmlhIHRo
ZQ0KPiBIWVBFUlZJU09SX2RtX29wKCkgaHlwZXJjYWxsLiBUaGUgc2FtZSBpcyB1c2VkIGJ5
IHRoZSBWaXJ0aW8gYmFzZWQNCj4gZGV2aWNlIGJhY2tlbmQgaW1wbGVtZW50YXRpb25zLCBp
biBhbiBpbmVmZmljaWVudCBtYW5uZXIgY3VycmVudGx5Lg0KPiANCj4gR2VuZXJhbGx5LCB0
aGUgVmlydGlvIGJhY2tlbmRzIGFyZSBpbXBsZW1lbnRlZCB0byB3b3JrIHdpdGggdGhlIEV2
ZW50ZmQNCj4gYmFzZWQgbWVjaGFuaXNtLiBJbiBvcmRlciB0byBtYWtlIHN1Y2ggYmFja2Vu
ZHMgd29yayB3aXRoIFhlbiwgYW5vdGhlcg0KPiBzb2Z0d2FyZSBsYXllciBuZWVkcyB0byBw
b2xsIHRoZSBFdmVudGZkcyBhbmQgcmFpc2UgYW4gaW50ZXJydXB0IHRvIHRoZQ0KPiBndWVz
dCB1c2luZyB0aGUgWGVuIGJhc2VkIG1lY2hhbmlzbS4gVGhpcyByZXN1bHRzIGluIGFuIGV4
dHJhIGNvbnRleHQNCj4gc3dpdGNoLg0KPiANCj4gVGhpcyBpcyBub3QgYSBuZXcgcHJvYmxl
bSBpbiBMaW51eCB0aG91Z2guIEl0IGlzIHByZXNlbnQgd2l0aCBvdGhlcg0KPiBoeXBlcnZp
c29ycyBsaWtlIEtWTSwgZXRjLiBhcyB3ZWxsLiBUaGUgZ2VuZXJpYyBzb2x1dGlvbiBpbXBs
ZW1lbnRlZCBpbg0KPiB0aGUga2VybmVsIGZvciB0aGVtIGlzIHRvIHByb3ZpZGUgYW4gSU9D
VEwgY2FsbCB0byBwYXNzIHRoZSBpbnRlcnJ1cHQNCj4gZGV0YWlscyBhbmQgZXZlbnRmZCwg
d2hpY2ggbGV0cyB0aGUga2VybmVsIHRha2UgY2FyZSBvZiBwb2xsaW5nIHRoZQ0KPiBldmVu
dGZkIGFuZCByYWlzaW5nIG9mIHRoZSBpbnRlcnJ1cHQsIGluc3RlYWQgb2YgaGFuZGxpbmcg
dGhpcyBpbiB1c2VyDQo+IHNwYWNlICh3aGljaCBpbnZvbHZlcyBhbiBleHRyYSBjb250ZXh0
IHN3aXRjaCkuDQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byBpbmplY3QgYSBz
cGVjaWZpYyBpbnRlcnJ1cHQgdG8gZ3Vlc3QgdXNpbmcNCj4gdGhlIGV2ZW50ZmQgbWVjaGFu
aXNtLCBieSBwcmV2ZW50aW5nIHRoZSBleHRyYSBjb250ZXh0IHN3aXRjaC4NCj4gDQo+IElu
c3BpcmVkIGJ5IGV4aXN0aW5nIGltcGxlbWVudGF0aW9ucyBmb3IgS1ZNLCBldGMuLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9y
Zz4NCj4gLS0tDQo+IFYzLT5WNA0KPiAtIERyb3AgdGhlIGltcG9ydGVkIGRlZmluaXRpb25z
IHRvIGh2bS9kbV9vcC5oLg0KPiAtIE1ha2UgdGhlIGNhbGxlciBwYXNzIGEgcG9pbnRlciB0
byBwcmUtZmlsbGVkICJzdHJ1Y3QgeGVuX2RtX29wIiBpbnN0YW5jZSBhbmQNCj4gICAgZ2V0
IHJpZCBvZiBpcnEgYW5kIGxldmVsIGZpZWxkcy4NCj4gLSBFbmFibGUgdGhlIGlycWZkIGZl
YXR1cmUgdW5kZXIgYSBuZXcgS2NvbmZpZyBlbnRyeS4NCj4gDQo+IFYyLT5WMw0KPiAtIFNl
bGVjdCBFVkVOVEZEIGZyb20gS2NvbmZpZw0KPiANCj4gVjEtPlYyOg0KPiAtIEltcHJvdmUg
ZXJyb3IgaGFuZGxpbmcuDQo+IC0gUmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSB1c2FnZSBvZiBs
aXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoKS4NCj4gLSBSZXN0cmljdCB0aGUgdXNlIG9mIFhF
Tl9ETU9QX3NldF9pcnFfbGV2ZWwgdG8gb25seSBBUk02NC4NCj4gLSBJbXBvcnQgZGVmaW5p
dGlvbnMgZnJvbSBYZW4gdG8gaHZtL2RtX29wLmguDQo+IA0KPiAgIGRyaXZlcnMveGVuL0tj
b25maWcgICAgICAgIHwgICA4ICsrDQo+ICAgZHJpdmVycy94ZW4vcHJpdmNtZC5jICAgICAg
fCAyODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgIGluY2x1
ZGUvdWFwaS94ZW4vcHJpdmNtZC5oIHwgIDE0ICsrDQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAz
MDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL3hlbi9LY29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZw0KPiBpbmRleCBkNWQ3
YzQwMmI2NTEuLmM3ZmFiZmFiNGMyMCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy94ZW4vS2Nv
bmZpZw0KPiArKysgYi9kcml2ZXJzL3hlbi9LY29uZmlnDQo+IEBAIC0yNjksNiArMjY5LDE0
IEBAIGNvbmZpZyBYRU5fUFJJVkNNRA0KPiAgIAkgIGRpc2FnZ3JlZ2F0ZWQgWGVuIHNldHVw
cyB0aGlzIGRyaXZlciBtaWdodCBiZSBuZWVkZWQgZm9yIG90aGVyDQo+ICAgCSAgZG9tYWlu
cywgdG9vLg0KPiAgIA0KPiArY29uZmlnIFhFTl9QUklWQ01EX0lSUUZEDQo+ICsJYm9vbCAi
WGVuIGlycWZkIHN1cHBvcnQiDQo+ICsJZGVwZW5kcyBvbiBYRU5fUFJJVkNNRCAmJiBYRU5f
VklSVElPICYmIEVWRU5URkQNCj4gKwlkZWZhdWx0IG0NCg0KIm0iPyBJIGd1ZXNzIHlvdSBt
ZWFudCAibiI/IEluIHRoaXMgY2FzZSB0aGUgImRlZmF1bHQiIGxpbmUgc2hvdWxkIGp1c3QN
CmJlIGRyb3BwZWQuDQoNCj4gKwloZWxwDQo+ICsJICBpcnFmZCBpcyBhIG1lY2hhbmlzbSB0
byBpbmplY3QgYSBzcGVjaWZpYyBpbnRlcnJ1cHQgdG8gYSBVc2VyIFZNIHVzaW5nDQo+ICsJ
ICBhIGRlY291cGxlZCBldmVudGZkIG1lY2hhbmlzbS4NCg0KSSB0aGluayB0aGUgaGVscCB0
ZXh0IHNob3VsZCBtZW50aW9uICJ2aXJ0aW8iLg0KDQpXaGF0IGFib3V0Og0KDQoiVXNpbmcg
dGhlIGlycWZkIG1lY2hhbmlzbSBhIHZpcnRpbyBiYWNrZW5kIHJ1bm5pbmcgaW4gYSBkYWVt
b24gY2FuIHNwZWVkDQogIHVwIGludGVycnVwdCBpbmplY3Rpb24gaW50byBhIGd1ZXN0LiIN
Cg0KPiArDQo+ICAgY29uZmlnIFhFTl9BQ1BJX1BST0NFU1NPUg0KPiAgIAl0cmlzdGF0ZSAi
WGVuIEFDUEkgcHJvY2Vzc29yIg0KPiAgIAlkZXBlbmRzIG9uIFhFTiAmJiBYRU5fUFZfRE9N
MCAmJiBYODYgJiYgQUNQSV9QUk9DRVNTT1IgJiYgQ1BVX0ZSRVENCj4gZGlmZiAtLWdpdCBh
L2RyaXZlcnMveGVuL3ByaXZjbWQuYyBiL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPiBpbmRl
eCBlMmY1ODBlMzBhODYuLjU4NGM4ZGU1NmM1ZSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy94
ZW4vcHJpdmNtZC5jDQo+ICsrKyBiL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPiBAQCAtOSwx
MSArOSwxNiBAQA0KPiAgIA0KPiAgICNkZWZpbmUgcHJfZm10KGZtdCkgInhlbjoiIEtCVUlM
RF9NT0ROQU1FICI6ICIgZm10DQo+ICAgDQo+ICsjaW5jbHVkZSA8bGludXgvZXZlbnRmZC5o
Pg0KPiArI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4NCj4gICAjaW5jbHVkZSA8bGludXgva2Vy
bmVsLmg+DQo+ICAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiArI2luY2x1ZGUgPGxp
bnV4L211dGV4Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcG9sbC5oPg0KPiAgICNpbmNsdWRl
IDxsaW51eC9zY2hlZC5oPg0KPiAgICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+DQo+ICAgI2lu
Y2x1ZGUgPGxpbnV4L3N0cmluZy5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5o
Pg0KPiAgICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPg0KPiAgICNpbmNsdWRlIDxsaW51eC9t
bS5oPg0KPiAgICNpbmNsdWRlIDxsaW51eC9tbWFuLmg+DQo+IEBAIC04MzMsNiArODM4LDI2
NyBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX21tYXBfcmVzb3VyY2Uoc3RydWN0IGZp
bGUgKmZpbGUsDQo+ICAgCXJldHVybiByYzsNCj4gICB9DQo+ICAgDQo+ICsjaWZkZWYgQ09O
RklHX1hFTl9QUklWQ01EX0lSUUZEDQo+ICsvKiBJcnFmZCBzdXBwb3J0ICovDQo+ICtzdGF0
aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmlycWZkX2NsZWFudXBfd3E7DQo+ICtzdGF0
aWMgREVGSU5FX01VVEVYKGlycWZkc19sb2NrKTsNCj4gK3N0YXRpYyBMSVNUX0hFQUQoaXJx
ZmRzX2xpc3QpOw0KPiArDQo+ICtzdHJ1Y3QgcHJpdmNtZF9rZXJuZWxfaXJxZmQgew0KPiAr
CXN0cnVjdCB4ZW5fZG1fb3BfYnVmIHhidWZzOw0KPiArCWRvbWlkX3QgZG9tOw0KPiArCWJv
b2wgZXJyb3I7DQo+ICsJc3RydWN0IGV2ZW50ZmRfY3R4ICpldmVudGZkOw0KPiArCXN0cnVj
dCB3b3JrX3N0cnVjdCBzaHV0ZG93bjsNCj4gKwl3YWl0X3F1ZXVlX2VudHJ5X3Qgd2FpdDsN
Cj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7DQo+ICsJcG9sbF90YWJsZSBwdDsNCj4gK307
DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGlycWZkX2RlYWN0aXZhdGUoc3RydWN0IHByaXZjbWRf
a2VybmVsX2lycWZkICpraXJxZmQpDQo+ICt7DQo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgm
aXJxZmRzX2xvY2spOw0KPiArDQo+ICsJbGlzdF9kZWxfaW5pdCgma2lycWZkLT5saXN0KTsN
Cj4gKwlxdWV1ZV93b3JrKGlycWZkX2NsZWFudXBfd3EsICZraXJxZmQtPnNodXRkb3duKTsN
Cj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQgaXJxZmRfc2h1dGRvd24oc3RydWN0IHdvcmtf
c3RydWN0ICp3b3JrKQ0KPiArew0KPiArCXN0cnVjdCBwcml2Y21kX2tlcm5lbF9pcnFmZCAq
a2lycWZkID0NCj4gKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBwcml2Y21kX2tlcm5l
bF9pcnFmZCwgc2h1dGRvd24pOw0KPiArCXU2NCBjbnQ7DQo+ICsNCj4gKwlldmVudGZkX2N0
eF9yZW1vdmVfd2FpdF9xdWV1ZShraXJxZmQtPmV2ZW50ZmQsICZraXJxZmQtPndhaXQsICZj
bnQpOw0KPiArCWV2ZW50ZmRfY3R4X3B1dChraXJxZmQtPmV2ZW50ZmQpOw0KPiArCWtmcmVl
KGtpcnFmZCk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGlycWZkX2luamVjdChzdHJ1
Y3QgcHJpdmNtZF9rZXJuZWxfaXJxZmQgKmtpcnFmZCkNCj4gK3sNCj4gKwl1NjQgY250Ow0K
PiArCWxvbmcgcmM7DQo+ICsNCj4gKwlldmVudGZkX2N0eF9kb19yZWFkKGtpcnFmZC0+ZXZl
bnRmZCwgJmNudCk7DQo+ICsNCj4gKwl4ZW5fcHJlZW1wdGlibGVfaGNhbGxfYmVnaW4oKTsN
Cj4gKwlyYyA9IEhZUEVSVklTT1JfZG1fb3Aoa2lycWZkLT5kb20sIDEsICZraXJxZmQtPnhi
dWZzKTsNCj4gKwl4ZW5fcHJlZW1wdGlibGVfaGNhbGxfZW5kKCk7DQo+ICsNCj4gKwkvKiBE
b24ndCByZXBlYXQgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIGNvbnNlY3V0aXZlIGZhaWx1cmVz
ICovDQo+ICsJaWYgKHJjICYmICFraXJxZmQtPmVycm9yKSB7DQo+ICsJCXByX2VycigiRmFp
bGVkIHRvIGNvbmZpZ3VyZSBpcnEgZm9yIGd1ZXN0IGRvbWFpbjogJWRcbiIsDQo+ICsJCSAg
ICAgICBraXJxZmQtPmRvbSk7DQo+ICsJfQ0KPiArDQo+ICsJa2lycWZkLT5lcnJvciA9ICEh
cmM7DQoNCk5vIG5lZWQgZm9yIHRoZSAiISEiLg0KDQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBp
bnQNCj4gK2lycWZkX3dha2V1cCh3YWl0X3F1ZXVlX2VudHJ5X3QgKndhaXQsIHVuc2lnbmVk
IGludCBtb2RlLCBpbnQgc3luYywgdm9pZCAqa2V5KQ0KPiArew0KPiArCXN0cnVjdCBwcml2
Y21kX2tlcm5lbF9pcnFmZCAqa2lycWZkID0NCj4gKwkJY29udGFpbmVyX29mKHdhaXQsIHN0
cnVjdCBwcml2Y21kX2tlcm5lbF9pcnFmZCwgd2FpdCk7DQo+ICsJX19wb2xsX3QgZmxhZ3Mg
PSBrZXlfdG9fcG9sbChrZXkpOw0KPiArDQo+ICsJaWYgKGZsYWdzICYgRVBPTExJTikNCj4g
KwkJaXJxZmRfaW5qZWN0KGtpcnFmZCk7DQo+ICsNCj4gKwlpZiAoZmxhZ3MgJiBFUE9MTEhV
UCkgew0KPiArCQltdXRleF9sb2NrKCZpcnFmZHNfbG9jayk7DQo+ICsJCWlycWZkX2RlYWN0
aXZhdGUoa2lycWZkKTsNCj4gKwkJbXV0ZXhfdW5sb2NrKCZpcnFmZHNfbG9jayk7DQo+ICsJ
fQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkDQo+ICtp
cnFmZF9wb2xsX2Z1bmMoc3RydWN0IGZpbGUgKmZpbGUsIHdhaXRfcXVldWVfaGVhZF90ICp3
cWgsIHBvbGxfdGFibGUgKnB0KQ0KPiArew0KPiArCXN0cnVjdCBwcml2Y21kX2tlcm5lbF9p
cnFmZCAqa2lycWZkID0NCj4gKwkJY29udGFpbmVyX29mKHB0LCBzdHJ1Y3QgcHJpdmNtZF9r
ZXJuZWxfaXJxZmQsIHB0KTsNCj4gKw0KPiArCWFkZF93YWl0X3F1ZXVlX3ByaW9yaXR5KHdx
aCwgJmtpcnFmZC0+d2FpdCk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgcHJpdmNtZF9p
cnFmZF9hc3NpZ24oc3RydWN0IHByaXZjbWRfaXJxZmQgKmlycWZkKQ0KPiArew0KPiArCXN0
cnVjdCBwcml2Y21kX2tlcm5lbF9pcnFmZCAqa2lycWZkLCAqdG1wOw0KPiArCXN0cnVjdCBl
dmVudGZkX2N0eCAqZXZlbnRmZDsNCj4gKwlfX3BvbGxfdCBldmVudHM7DQo+ICsJc3RydWN0
IGZkIGY7DQo+ICsJdm9pZCAqZG1fb3A7DQo+ICsJaW50IHJldDsNCj4gKw0KPiArCWtpcnFm
ZCA9IGt6YWxsb2Moc2l6ZW9mKCpraXJxZmQpICsgaXJxZmQtPnNpemUsIEdGUF9LRVJORUwp
Ow0KPiArCWlmICgha2lycWZkKQ0KPiArCQlyZXR1cm4gLUVOT01FTTsNCj4gKwlkbV9vcCA9
IGtpcnFmZCArIDE7DQo+ICsNCj4gKwlpZiAoY29weV9mcm9tX3VzZXIoZG1fb3AsIGlycWZk
LT5kbV9vcCwgaXJxZmQtPnNpemUpKSB7DQo+ICsJCXJldCA9IC1FRkFVTFQ7DQo+ICsJCWdv
dG8gZXJyb3Jfa2ZyZWU7DQo+ICsJfQ0KPiArDQo+ICsJa2lycWZkLT54YnVmcy5zaXplID0g
aXJxZmQtPnNpemU7DQo+ICsJc2V0X3hlbl9ndWVzdF9oYW5kbGUoa2lycWZkLT54YnVmcy5o
LCBkbV9vcCk7DQo+ICsJa2lycWZkLT5kb20gPSBpcnFmZC0+ZG9tOw0KPiArCUlOSVRfTElT
VF9IRUFEKCZraXJxZmQtPmxpc3QpOw0KDQpJIGRvbid0IHRoaW5rIElOSVRfTElTVF9IRUFE
KCkgaXMgbmVlZGVkIGhlcmUuIGxpc3RfYWRkX3RhaWwoKSBkb2Vzbid0DQpyZXF1aXJlIHRo
YXQuDQoNCj4gKwlJTklUX1dPUksoJmtpcnFmZC0+c2h1dGRvd24sIGlycWZkX3NodXRkb3du
KTsNCj4gKw0KPiArCWYgPSBmZGdldChpcnFmZC0+ZmQpOw0KPiArCWlmICghZi5maWxlKSB7
DQo+ICsJCXJldCA9IC1FQkFERjsNCj4gKwkJZ290byBlcnJvcl9rZnJlZTsNCj4gKwl9DQo+
ICsNCj4gKwlldmVudGZkID0gZXZlbnRmZF9jdHhfZmlsZWdldChmLmZpbGUpOw0KPiArCWlm
IChJU19FUlIoZXZlbnRmZCkpIHsNCj4gKwkJcmV0ID0gUFRSX0VSUihldmVudGZkKTsNCj4g
KwkJZ290byBlcnJvcl9mZF9wdXQ7DQo+ICsJfQ0KPiArDQo+ICsJa2lycWZkLT5ldmVudGZk
ID0gZXZlbnRmZDsNCg0KSSBkb24ndCBzZWUgd2h5IHlvdSBuZWVkIHRoZSBsb2NhbCBldmVu
dGZkIHZhcmlhYmxlLg0KDQo+ICsNCj4gKwkvKg0KPiArCSAqIEluc3RhbGwgb3VyIG93biBj
dXN0b20gd2FrZS11cCBoYW5kbGluZyBzbyB3ZSBhcmUgbm90aWZpZWQgdmlhIGENCj4gKwkg
KiBjYWxsYmFjayB3aGVuZXZlciBzb21lb25lIHNpZ25hbHMgdGhlIHVuZGVybHlpbmcgZXZl
bnRmZC4NCj4gKwkgKi8NCj4gKwlpbml0X3dhaXRxdWV1ZV9mdW5jX2VudHJ5KCZraXJxZmQt
PndhaXQsIGlycWZkX3dha2V1cCk7DQo+ICsJaW5pdF9wb2xsX2Z1bmNwdHIoJmtpcnFmZC0+
cHQsIGlycWZkX3BvbGxfZnVuYyk7DQo+ICsNCj4gKwltdXRleF9sb2NrKCZpcnFmZHNfbG9j
ayk7DQo+ICsNCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgJmlycWZkc19saXN0LCBs
aXN0KSB7DQo+ICsJCWlmIChraXJxZmQtPmV2ZW50ZmQgPT0gdG1wLT5ldmVudGZkKSB7DQo+
ICsJCQlyZXQgPSAtRUJVU1k7DQo+ICsJCQltdXRleF91bmxvY2soJmlycWZkc19sb2NrKTsN
Cj4gKwkJCWdvdG8gZXJyb3JfZXZlbnRmZDsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiArCWxp
c3RfYWRkX3RhaWwoJmtpcnFmZC0+bGlzdCwgJmlycWZkc19saXN0KTsNCj4gKwltdXRleF91
bmxvY2soJmlycWZkc19sb2NrKTsNCj4gKw0KPiArCS8qDQo+ICsJICogQ2hlY2sgaWYgdGhl
cmUgd2FzIGFuIGV2ZW50IGFscmVhZHkgcGVuZGluZyBvbiB0aGUgZXZlbnRmZCBiZWZvcmUg
d2UNCj4gKwkgKiByZWdpc3RlcmVkLCBhbmQgdHJpZ2dlciBpdCBhcyBpZiB3ZSBkaWRuJ3Qg
bWlzcyBpdC4NCj4gKwkgKi8NCj4gKwlldmVudHMgPSB2ZnNfcG9sbChmLmZpbGUsICZraXJx
ZmQtPnB0KTsNCj4gKwlpZiAoZXZlbnRzICYgRVBPTExJTikNCj4gKwkJaXJxZmRfaW5qZWN0
KGtpcnFmZCk7DQo+ICsNCj4gKwkvKg0KPiArCSAqIERvIG5vdCBkcm9wIHRoZSBmaWxlIHVu
dGlsIHRoZSBraXJxZmQgaXMgZnVsbHkgaW5pdGlhbGl6ZWQsIG90aGVyd2lzZQ0KPiArCSAq
IHdlIG1pZ2h0IHJhY2UgYWdhaW5zdCB0aGUgRVBPTExIVVAuDQo+ICsJICovDQo+ICsJZmRw
dXQoZik7DQo+ICsJcmV0dXJuIDA7DQo+ICsNCj4gK2Vycm9yX2V2ZW50ZmQ6DQo+ICsJZXZl
bnRmZF9jdHhfcHV0KGV2ZW50ZmQpOw0KPiArDQo+ICtlcnJvcl9mZF9wdXQ6DQo+ICsJZmRw
dXQoZik7DQo+ICsNCj4gK2Vycm9yX2tmcmVlOg0KPiArCWtmcmVlKGtpcnFmZCk7DQo+ICsJ
cmV0dXJuIHJldDsNCj4gK30NCg0KSnVlcmdlbg0KDQo=
--------------JUndqxuIc2a0Bi3LHZhfwsMF
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------JUndqxuIc2a0Bi3LHZhfwsMF--

--------------pzr9xPbaKIEgCoynYHet0Vub--

--------------wTeFPGizepIyYG5w0FQp94uA
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/Ey8FAmTkdHsFAwAAAAAACgkQsN6d1ii/Ey9j
9Af/TxI2nKLUkt5RAhyutWWHqmiBiq5+JqAyASJGJFba23cTR26+l5ROzfu0/J7gSTCwcGuIdQ8q
Zl+LV96JQBoUzVK0W/VClNpd6dXvKkbDMVc5rHeKTVPEi0fzR4pd8EogNCdgPZNvGl39bVDJW1pc
PyJQKXuheKLSTawWyLVJrCy/2u4cYYKkVH0xI9MFScudVYrxWzIIG9dloorfn4xABbG804MfhKNB
otpVx9PJ9TBLqRbUtEIkEvy/9h+rfJKHLJBtCiE43XiIUBtHJNHtdq4G8TMmGr7i+Bw1LxhfD5re
s1Vl0a4icqroPR6G3LYEzBQ5Y0LjP3kvmZ2odLKFEw==
=f9ct
-----END PGP SIGNATURE-----

--------------wTeFPGizepIyYG5w0FQp94uA--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:42:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588250.919746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMy9-0001Yw-7Q; Tue, 22 Aug 2023 08:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588250.919746; Tue, 22 Aug 2023 08:42:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYMy9-0001Yp-4W; Tue, 22 Aug 2023 08:42:33 +0000
Received: by outflank-mailman (input) for mailman id 588250;
 Tue, 22 Aug 2023 08:42:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYMy7-0001Yh-QI
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:42:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMy6-0005cw-V7; Tue, 22 Aug 2023 08:42:30 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYMy6-00033T-Mo; Tue, 22 Aug 2023 08:42:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=w19jLVhwOIag+OSo/0CqM6UbVXoJ9yoKdhb8WFtwHys=; b=1jz5tooOZj0JUL6mMK1/pSF16i
	gwh2su97Qu40tbo1sv95mVMUf93ZWMWAuY4uO3otZjIcYNAK0NUWnsDkXzVufkaSS/vHFq4uNXUdb
	tFrpGKwLGkal4OTYmc/58ehxbzL29upyA3++cyMnYdPzFkBGCJvVKquuX4Z8C88zZOeQ=;
Message-ID: <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
Date: Tue, 22 Aug 2023 09:42:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
 <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
 <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/08/2023 08:44, Henry Wang wrote:
>> On Aug 22, 2023, at 05:31, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Penny Zheng <Penny.Zheng@arm.com>
>>> Function copy_from_paddr() is defined in asm/setup.h, so it is better
>>> to be implemented in setup.c.
>>
>> I don't agree with this reasoning. We used setup.h to declare prototype for function that are out of setup.c.
>>
>> Looking at the overall of this series, it is unclear to me what is the difference between mmu/mm.c and mmu/setup.c. I know this is technically not a new problem but as we split the code, it would be a good opportunity to have a better split.
>>
>> For instance, we have setup_mm() defined in setup.c but setup_pagetables() and mm.c. Both are technically related to the memory management. So having them in separate file is a bit odd.
> 
> Skimming through the comments, it looks like we have a common problem
> in patch 7, 9, 10, 12 about how to move/split the code. So instead of having
> the discussion in each patch, I would like to propose that we can discuss all
> of these in a common place here.

+1.

> 
>>
>> I also don't like the idea of having again a massive mm.c files. So maybe we need a split like:
>>   * File 1: Boot CPU0 MM bringup (mmu/setup.c)
>>   * File 2: Secondary CPUs MM bringup (mmu/smpboot.c)
>>   * File 3: Page tables update. (mmu/pt.c)
>>
>> Ideally file 1 should contain only init code/data so it can be marked as .init. So the static pagetables may want to be defined in mmu/pt.c.
> 
> So based on Julienâ€™s suggestion, Penny and I worked a bit on the current
> functions in â€œarch/arm/mm.câ€ and we would like to propose below split
> scheme, would you please comment on if below makes sense to you,
> thanks!
> 
> """
> static void __init __maybe_unused build_assertions()      -> arch/arm/mm.c

All the existing build assertions seems to be MMU specific. So shouldn't 
they be moved to mmu/mm.c.

> static lpae_t *xen_map_table()                            -> mmu/pt.c
> static void xen_unmap_table()                             -> mmu/pt.c
> void dump_pt_walk()                                       -> mmu/pt.c
> void dump_hyp_walk()                                      -> mmu/pt.c
> lpae_t mfn_to_xen_entry()                                 -> mmu/pt.c
> void set_fixmap()                                         -> mmu/pt.c
> void clear_fixmap()                                       -> mmu/pt.c
> void flush_page_to_ram()                                  -> arch/arm/mm.c?

I think it should stay in arch/arm/mm.c because you will probably need 
to clean a page even on MPU systems.

> lpae_t pte_of_xenaddr()                                   -> mmu/pt.c
> void * __init early_fdt_map()                             -> mmu/setup.c
> void __init remove_early_mappings()                       -> mmu/setup.c
> static void xen_pt_enforce_wnx()                          -> mmu/pt.c, export it

AFAIU, it would be called from smpboot.c and setup.c. For the former, 
the caller is mmu_init_secondary_cpu() which I think can be folded in 
head.S.

If we do that, then xen_pt_enforce_wnx() can be moved in setup.c and 
doesn't need to be exported.

> static void clear_table()                                 -> mmu/smpboot.c
> void __init setup_pagetables()                            -> mmu/setup.c
> static void clear_boot_pagetables()                       -> mmu/smpboot.c
> int init_secondary_pagetables()                           -> mmu/smpboot.c
> void mmu_init_secondary_cpu()                             -> mmu/smpboot.c
> void __init setup_directmap_mappings()                    -> mmu/setup.c
> void __init setup_frametable_mappings()                   -> mmu/setup.c
> void *__init arch_vmap_virt_end()                         -> arch/arm/mm.c or mmu/setup.c?

AFAIU, the VMAP will not be used for MPU systems. So this would want to 
go in mmu/. I am ok with setup.c.

> void *ioremap_attr()                                      -> mmu/pt.c
> void *ioremap()                                           -> mmu/pt.c
> static int create_xen_table()                             -> mmu/pt.c
> static int xen_pt_next_level()                            -> mmu/pt.c
> static bool xen_pt_check_entry()                          -> mmu/pt.c
> static int xen_pt_update_entry()                          -> mmu/pt.c
> static int xen_pt_mapping_level()                         -> mmu/pt.c
> static unsigned int xen_pt_check_contig()                 -> mmu/pt.c
> static int xen_pt_update()                                -> mmu/pt.c
> int map_pages_to_xen()                                    -> mmu/pt.c
> int __init populate_pt_range()                            -> mmu/pt.c
> int destroy_xen_mappings()                                -> mmu/pt.c
> int modify_xen_mappings()                                 -> mmu/pt.c
> void free_init_memory()                                   -> mmu/setup.c
> void arch_dump_shared_mem_info()                          -> arch/arm/mm.c
> int steal_page()                                          -> arch/arm/mm.c
> int page_is_ram_type()                                    -> arch/arm/mm.c
> unsigned long domain_get_maximum_gpfn()                   -> arch/arm/mm.c
> void share_xen_page_with_guest()                          -> arch/arm/mm.c
> int xenmem_add_to_physmap_one()                           -> arch/arm/mm.c
> long arch_memory_op()                                     -> arch/arm/mm.c
> static struct domain *page_get_owner_and_nr_reference()   -> arch/arm/mm.c
> struct domain *page_get_owner_and_reference()             -> arch/arm/mm.c
> void put_page_nr()                                        -> arch/arm/mm.c
> void put_page()                                           -> arch/arm/mm.c
> bool get_page_nr()                                        -> arch/arm/mm.c
> bool get_page()                                           -> arch/arm/mm.c
> int get_page_type()                                       -> arch/arm/mm.c
> void put_page_type()                                      -> arch/arm/mm.c
> int create_grant_host_mapping()                           -> arch/arm/mm.c
> int replace_grant_host_mapping()                          -> arch/arm/mm.c
> bool is_iomem_page()                                      -> arch/arm/mm.c
> void clear_and_clean_page()                               -> arch/arm/mm.c
> unsigned long get_upper_mfn_bound()                       -> arch/arm/mm.c
> """

The placement of all the ones I didn't comment on look fine to me. It 
would be good to have a second opinion from either Bertrand or Stefano 
before you start moving the functions.

>>> diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
>>> index e05cca3f86..889ada6b87 100644
>>> --- a/xen/arch/arm/mmu/setup.c
>>> +++ b/xen/arch/arm/mmu/setup.c
>>> @@ -329,6 +329,33 @@ void __init setup_mm(void)
>>>   }
>>>   #endif
>>>   +/*
>>
>> Why did the second '*' disappear?
> 
> According to the CODING_STYLE, we should use something like this:
> 
> /*
>   * Example, multi-line comment block.
>   *
>   * Note beginning and end markers on separate lines and leading '*'.
>   */
> 
> Instead of "/**â€ in the beginning. But I think you made a point, I need
> to mention that I took the opportunity to fix the comment style in commit
> message.

We have started to use /** which I think is for Doxygen (see the PDX 
series). So I think the CODING_STYLE needs to be updated rather than 
removing the extra *.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:48:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:48:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588263.919774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYN4G-0002Tl-7P; Tue, 22 Aug 2023 08:48:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588263.919774; Tue, 22 Aug 2023 08:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYN4G-0002Te-2c; Tue, 22 Aug 2023 08:48:52 +0000
Received: by outflank-mailman (input) for mailman id 588263;
 Tue, 22 Aug 2023 08:48: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 1qYN4E-0002TU-8w; Tue, 22 Aug 2023 08:48: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 1qYN4D-0005jo-Sm; Tue, 22 Aug 2023 08:48:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYN4D-0007HF-GE; Tue, 22 Aug 2023 08:48:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYN4D-0005TS-Fm; Tue, 22 Aug 2023 08:48:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=x2mUzq6Jzs+D8EBotiyYVPquBqtaPbwKE0K0TJeVUw8=; b=Yljk8HIzZax7NMVtMIVZmsys0C
	YhGRCF6739jKBe9+EAkg22dh1jR3gSCmzmUI/4A+6tOTRirNcN+gjWgr+bZeJ+lnjuzlhp2l10dSz
	3ovTwBvwAYwlOLkq4/hXE3UJL33aJcMsKoDYg8rqE0BAwB1MseHjoZKwlX2ST8w5+CZI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182413-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182413: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
X-Osstest-Versions-That:
    xen=bf0bd6cf590a0a1b29845289159f0a17d5e4064f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 08:48:49 +0000

flight 182413 xen-unstable real [real]
flight 182418 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182413/
http://logs.test-lab.xenproject.org/osstest/logs/182418/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 182418-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 182418-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182406
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182406
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182406
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182406
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182406
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182406
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182406
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182406
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182406
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182406
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182406
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182406
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
baseline version:
 xen                  bf0bd6cf590a0a1b29845289159f0a17d5e4064f

Last test of basis   182406  2023-08-21 01:55:19 Z    1 days
Testing same since   182413  2023-08-21 21:06:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   bf0bd6cf59..3fae7c56b3  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:49:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588267.919783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYN4a-0002sC-FD; Tue, 22 Aug 2023 08:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588267.919783; Tue, 22 Aug 2023 08:49:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYN4a-0002s5-Bt; Tue, 22 Aug 2023 08:49:12 +0000
Received: by outflank-mailman (input) for mailman id 588267;
 Tue, 22 Aug 2023 08: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=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYN4Y-0002rF-Ox
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:49:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1229f55-40c8-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 10:49:07 +0200 (CEST)
Received: from DU7PR01CA0035.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:50e::16) by AS4PR08MB7999.eurprd08.prod.outlook.com
 (2603:10a6:20b:582::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 08:49:04 +0000
Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:50e:cafe::5f) by DU7PR01CA0035.outlook.office365.com
 (2603:10a6:10:50e::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 08:49:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT034.mail.protection.outlook.com (100.127.142.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 08:49:03 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Tue, 22 Aug 2023 08:49:03 +0000
Received: from 178e3dfe1f74.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F171F036-B525-413D-A4DC-4E26439CEF12.1; 
 Tue, 22 Aug 2023 08:48:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 178e3dfe1f74.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 08:48:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB9988.eurprd08.prod.outlook.com (2603:10a6:20b:642::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 08:48:21 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 08:48: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: c1229f55-40c8-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SvNcUCCjHhQiKEMqkLpckhqgQAIi/m3zc2iIKsFud7k=;
 b=NrOWHHfm6b4MYIrFuQTaoFc1eKnnrrlTqHYLFCTBsVgkgsMb8CfkPTjhhiJNZAdUebdap+SViaxLnULW4fQfTllS0648hq/fquBdWMbHySx/PnQb7Vgu0YOdt8YZRORrHl+oKSBclO6iKgIgxMZQTGA+v0pdqvOpKvhvNbDHbtE=
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: 8ca13b3051e153e6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WDPI7Ma9eKZk+TwUd/rzqYn+/d4kxkTku93Tq4dKlH8nQaFszO71iuMSU6W+se0tDO72jpYW/E8uEKp1RZp2twz1mZJQASk8naz5lfDfFxsJi0+tVFgn+xd8yak8g7ve7DkpUjufQdnGVsir5n+J1bGQ3xUje7gmBfSHzX+XkAkSY5gBiSPximX4zHgl0cEP5i0DD+PrSwMa0HEGH4WAkIRX9Y5cnaA0y3z1tC97ChR4noq0WXOQbNRwsGGEQ9M4+QtspHHFEl8FfUOeexRjcpKsBMRJj5uPjNUjy0G+sFk5flbD52ear+GoQi8dr/NI85yM1l33mxkjsW7zcDbr4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SvNcUCCjHhQiKEMqkLpckhqgQAIi/m3zc2iIKsFud7k=;
 b=i1Vc7aJcpCYIHbWS3W05tezT0u2ri4WRk/LgSX41Xk1022NpE0zY3RXj1wAgFrZzf5FUIZ5JGxnoQ7xk5tPvFj4/X8rB6/36MTkZUYZ75rYN6+F7p1zQ7u+TQ+/th1O72HHp8AGAjtoNDSVWYYn9LinzApr+1dDrUqKaZdCzhxeHlf+7DH67I1mrmX8TrSdRHy4TfrH46X+aGa49jvjw2h/aRiQD6IvONlGt1yPU1KoKlrm7NYjJX1XigQ6J5/ctvxDtKdtKUjMAphhLbFsVd+EvJbpFF7wzXqFlSnjDPHgXhM2eLRmEp2H/wOpjQk+rZje8h/fFCHrMxVXSPQtKzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=SvNcUCCjHhQiKEMqkLpckhqgQAIi/m3zc2iIKsFud7k=;
 b=NrOWHHfm6b4MYIrFuQTaoFc1eKnnrrlTqHYLFCTBsVgkgsMb8CfkPTjhhiJNZAdUebdap+SViaxLnULW4fQfTllS0648hq/fquBdWMbHySx/PnQb7Vgu0YOdt8YZRORrHl+oKSBclO6iKgIgxMZQTGA+v0pdqvOpKvhvNbDHbtE=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Topic: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Thread-Index: AQHZzmeUay8NQ4kvrE+CkZdRGQuMz6/1UcMAgABNUICAAGaFgIAACFcA
Date: Tue, 22 Aug 2023 08:48:20 +0000
Message-ID: <AAA444BB-00F4-44D6-A8E1-5C84A4EB8092@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
 <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
 <FA20A514-B1D2-4FBA-97F4-93981E1F0636@arm.com>
 <3413dc3c-f343-4e88-aa08-d5a0634c1ef4@xen.org>
In-Reply-To: <3413dc3c-f343-4e88-aa08-d5a0634c1ef4@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS2PR08MB9988:EE_|DBAEUR03FT034:EE_|AS4PR08MB7999:EE_
X-MS-Office365-Filtering-Correlation-Id: a97bb484-2d2c-4163-3000-08dba2eca341
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:
 Jh7hrho2TZKOhB9AxPEkfJYJBDR3VdQpu1YXcGilNyfG5wnZluOvES+YGLzMOgJ82XEsvyCyWI8wkCgbk0g7AP+EdM57MQiib59/ClVTYRBQbSpzqLiHliL6m+Y/q1tWHM5dm6DYg4+CmEfHsrebsJcuJBlTEWiclD4nZ36Mp69XqMiStKKN4UCHeUa42cEPGMXNU0KHqrq35y8/fz/T8GFKi1Lz+kxTfNWlc4d32E2+EreBj6OaV3qTBF18OJbVqYTQ3JooqlrxftVnaEs9nBPb67w+8kyRMPE9ykxiJkNh1grJkCZ8FlYn6pBr2tbCaYVVPABD9prgWkUy+tZxAHiuEbg6y0tFCPC5K2g3ypw3HEFS+m4qPVVXb2Zr9Eb7z7QN6Bcj0fpwjHr/cNfOAkd1qArPlgKpgGxHtezTKdcJAl4IWWjMwsUFx9ZhysRmgzEEnvbEklNZtK2D57CMfF4PW6JU0XMl4/LV5ArGzgfw5tbB7y3LtKXjrsJVaWDoA9IBPU6EIRlnpRSz7thGGr2na3WzCkZFqs+oSDmI2foQJALNU5I/De5vb2BQ6S5ZUkIzeFLnylbKal9ONFXjWiTUlWDmTau312R2zW6JV7UlPmw3QMLjtkhuv62ZT+hn8RzqjByUzg6ok4GcK72tNw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(346002)(376002)(366004)(1800799009)(186009)(451199024)(54906003)(76116006)(66446008)(6916009)(66476007)(66556008)(64756008)(316002)(66946007)(6512007)(91956017)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(122000001)(478600001)(71200400001)(38070700005)(38100700002)(53546011)(6506007)(6486002)(83380400001)(2906002)(86362001)(5660300002)(26005)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DEA8DB7E01BC8D4BB03DA665A2292CD7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9988
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	72691f4f-5727-46b7-d7f4-08dba2ec8980
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S7NaQivnXcPQ05wZJau8C9mU/kTgvOWAs25IiCF4XaQA3uiPqfLo6i+Y/xRTHAVZ6Pgd7XdoO19/Wgg21JG29Fnlh63tU+Y0OFxXcCkSZCmct2xvZtrmayu/xpfQuk8IQT7i/GDvDJfBro77IluOOIvZevWtP3oYw4spve9GHM0XISjkU3lBHJOAOpnHdJfoxefnfsnECAVpyCUEsfELmeSBwlLcej/fly5NRrH/J6HFKNOb8pMILIPcZc3SzmhwVVZZST491ya8P5XpBPK7Ifv4CqcxQ+EZvUp7aqM4rZg4VXYAHOVERLjm+DvXcb90rTR80oQ0vhjVzViFO/QGIRg8xgrS41cB3kWVyA3pI9/lG5I6xr6K8dEM3EcKECaw0hJhL2Ptnt0BbWvXb/HkOEnCHGoMO6aF+/h4ItKJn+5oM66FFj1nfdD2SPmQT6ChhDB45Z4hM9Uq61+l7dL8qGR4n7cxvs4TLWn1PxgDRaDeTfUOyRgdWyKI2hOcHGxb5saDXYtsPMzizwjKiaemlBOFZ2a8TuAkvA3pGEESZmQmh9L7LpPjlmlv7HsE7uVEV9TW3B4nHcpICvj6hgcxKCrqdGnbPtNkXT/s3NANZ57DAPjL7VosxlB/0Hoj7xQQEZnMV1XNOP/wFMaOjecdnaj+6HAYR4Z9cNnfMWOocyOlAQdE5y2gnQkrwtDEpqsY9M314QXtHqhoP96RP1ObdO4lwvGr6eUMx5mYgjx5KfhUio+jzZFOrmwxzFj7LcVn
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(136003)(39860400002)(346002)(376002)(1800799009)(186009)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(70206006)(70586007)(316002)(6512007)(8676002)(8936002)(2616005)(6862004)(4326008)(40460700003)(36756003)(41300700001)(82740400003)(356005)(81166007)(478600001)(53546011)(6506007)(6486002)(40480700001)(83380400001)(2906002)(86362001)(47076005)(36860700001)(336012)(5660300002)(26005)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 08:49:03.7997
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a97bb484-2d2c-4163-3000-08dba2eca341
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7999

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMiwgMjAyMywgYXQgMTY6MTgsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gT24gMjIvMDgvMjAyMyAwMzoxMSwgSGVucnkg
V2FuZyB3cm90ZToNCj4+IEhpIEp1bGllbiwNCj4gDQo+IEhpLA0KPiANCj4+PiBPbiBBdWcgMjIs
IDIwMjMsIGF0IDA1OjM0LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+
PiANCj4+PiBIaSwNCj4+PiANCj4+PiBPbiAxNC8wOC8yMDIzIDA1OjI1LCBIZW5yeSBXYW5nIHdy
b3RlOg0KPj4+PiBGcm9tOiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT4NCj4+Pj4g
U01NVSBzdWJzeXN0ZW0gaXMgb25seSBzdXBwb3J0ZWQgaW4gTU1VIHN5c3RlbSwgc28gd2UgbWFr
ZSBpdCBkZXBlbmRlbnQNCj4+Pj4gb24gQ09ORklHX0hBU19NTVUuDQo+Pj4gDQo+Pj4gIm9ubHkg
c3VwcG9ydGVkIiBhcyBpbiBpdCBkb2Vzbid0IHdvcmsgd2l0aCBYZW4gb3IgdGhlIEhXIGlzIG5v
dCBzdXBwb3J0aW5nIGl0Pw0KPj4gSSB0aGluayBjdXJyZW50bHkgdGhlcmUgYXJlIG5vIGhhcmR3
YXJlIGNvbWJpbmF0aW9uIG9mIE1QVSArIFNNTVUsIGJ1dA0KPj4gdGhlb3JldGljYWxseSBJIHRo
aW5rIHRoaXMgaXMgYSB2YWxpZCBjb21iaW5hdGlvbiBzaW5jZSBTTU1VIHN1cHBvcnRzIHRoZSBs
aW5lYXINCj4+IG1hcHBpbmcuIFNvIHdvdWxkIGJlbG93IHJld29yZCBsb29rcyBnb29kIHRvIHlv
dToNCj4+IOKAnEN1cnJlbnRseSB0aGUgaGFyZHdhcmUgdXNlIGNhc2Ugb2YgY29ubmVjdGluZyBT
TU1VIHRvIE1QVSBzeXN0ZW0gaXMgcmFyZWx5DQo+PiBzZWVuLCBzbyB3ZSBtYWtlIENPTkZJR19B
Uk1fU01NVSBhbmQgQ09ORklHX0FSTV9TTU1VX1YzDQo+PiBkZXBlbmRlbnQgb24gQ09ORklHX01N
VS4iDQo+IA0KPiBJIHJlYWQgdGhpcyBhcyB0aGVyZSBtaWdodCBiZSBNUFUgc3lzdGVtIHdpdGgg
U01NVSBpbiBkZXZlbG9wbWVudC4gV2hhdCB5b3Ugd2FudCB0byBleHBsYWluIGlzIHdoeSB3ZSBj
YW4ndCBsZXQgdGhlIGRldmVsb3BwZXIgdG8gc2VsZWN0IHRoZSBTTU1VIGRyaXZlciBvbiBhbiBN
UFUgc3lzdGVtLg0KPiANCj4gRnJvbSBteSB1bmRlcnN0YW5kaW5nIHRoaXMgaXMgYmVjYXVzZSB0
aGUgZHJpdmVycyBhcmUgZXhwZWN0aW5nIHRvIHVzZSB0aGUgcGFnZS10YWJsZXMgYW5kIHRoZSBj
b25jZXB0IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIE1QVSBzeXN0ZW0uIFNvIHRoZSBkcml2ZXJzIGFy
ZSBub3QgcmVhZHkgZm9yIHRoZSBNUFUuDQoNCkkgYWdyZWUuDQoNCj4gDQo+Pj4gDQo+Pj4gQWxz
bywgSSBhbSBub3QgZW50aXJlbHkgY29udmluY2VkIHRoYXQgYW55dGhpbmcgaW4gcGFzc3Rocm91
Z2ggd291bGQgcHJvcGVybHkgd29yayB3aXRoIE1QVS4gQXQgbGVhc3Qgbm9uZSBvZiB0aGUgSU9N
TVUgZHJpdmVycyBhcmUuIFNvIEkgd291bGQgY29uc2lkZXIgdG8gY29tcGxldGVseSBkaXNhYmxl
IEhBU19QQVNTVEhST1VHSC4NCj4+IEkgYWdyZWUsIGRvIHlvdSB0aGluayBhZGRpbmcgYmVsb3cg
YWRkaXRpb24gZGlmZiB0byB0aGlzIHBhdGNoIG1ha2VzIHNlbnNlIHRvIHlvdT8NCj4gDQo+IEkg
dGhpbmsgaXQgc2hvdWxkIGJlIGEgcmVwbGFjZW1lbnQgYmVjYXVzZSBub25lIG9mIHRoZSBJT01N
VSBkcml2ZXJzIHdvcmtzIGZvciB0aGUgTVBVLiBTbyBJIHdvdWxkIHJhdGhlciBwcmVmZXIgaWYg
d2UgYXZvaWQgYWRkaW5nICJkZXBlbmRzIG9uIiBvbiBhbGwgb2YgdGhlbSAoZXZlbiBpZiB0aGVy
ZSBhcmUgb25seSAzKSBmb3Igbm93Lg0KDQpJIGFtIGEgYml0IGNvbmZ1c2VkLCBJIHJlYWQgeW91
ciBhYm92ZSBleHBsYW5hdGlvbiB0byB0aGUgY29tbWl0IG1lc3NhZ2UgYXMgeW91DQphZ3JlZSB3
aXRoIHRoZSBpZGVhIHRoYXQgbWFraW5nIFNNTVUgZHJpdmVyIG5vdCBzZWxlY3RhYmxlIGJ5IE1Q
VSBzeXN0ZW0uIElmIHdlDQpyZXBsYWNlIHRoaXMgd2l0aCDigJxzZWxlY3QgSEFTX1BBU1NUSFJP
VUdIIGlmIE1NVeKAnSwgdGhlIFNNTVUgZHJpdmVyIHdpbGwgYmUNCnNlbGVjdGFibGUgYnkgTVBV
IHN5c3RlbS4NCg0KQnV0Li4uDQoNCg0KPiANCj4+IElmIHNvIEkgZ3Vlc3Mgd291bGQgYWxzbyBu
ZWVkIHRvIG1lbnRpb24gdGhpcyBpbiBjb21taXQgbWVzc2FnZS4NCj4gDQo+IERpZCB5b3UgY29u
ZmlybSB0aGF0IFhlbiBNUFUgc3RpbGwgYnVpbGQgd2l0aG91dCBIQVNfUEFTU1RIUk9VR0g/DQoN
CuKApnRoaXMgaXMgYSBnb29kIGNhdGNoLCBubyBNUFUgaXMgbm90IGJ1aWxkYWJsZSB3aXRob3V0
IEhBU19QQVNTVEhST1VHSCwgd2UNCndpbGwgaGF2ZToNCg0KYGBgDQpJbiBmaWxlIGluY2x1ZGVk
IGZyb20gLi9pbmNsdWRlL3hlbi9zY2hlZC5oOjEyLA0KZnJvbSAuL2luY2x1ZGUveGVuL2lvY2Fw
Lmg6MTAsDQpmcm9tIGFyY2gvYXJtL3AybS5jOjM6DQphcmNoL2FybS9wMm0uYzogSW4gZnVuY3Rp
b24gJ3AybV9zZXRfd2F5X2ZsdXNoJzoNCi4vaW5jbHVkZS94ZW4vaW9tbXUuaDozNjY6NDA6IGVy
cm9yOiAnc3RydWN0IGRvbWFpbicgaGFzIG5vIG1lbWJlciBuYW1lZCAnaW9tbXUnDQozNjYgfCAj
ZGVmaW5lIGRvbV9pb21tdShkKSAoJihkKS0+aW9tbXUpDQp8IF5+DQouL2luY2x1ZGUveGVuL2lv
bW11Lmg6MzcxOjM2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2RvbV9pb21tdScNCjM3
MSB8ICNkZWZpbmUgaW9tbXVfdXNlX2hhcF9wdChkKSAoZG9tX2lvbW11KGQpLT5oYXBfcHRfc2hh
cmUpDQp8IF5+fn5+fn5+fg0KYXJjaC9hcm0vcDJtLmM6NjE3OjEwOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ2lvbW11X3VzZV9oYXBfcHQnDQo2MTcgfCBpZiAoIGlvbW11X3VzZV9oYXBf
cHQoY3VycmVudC0+ZG9tYWluKSApDQp8IF5+fn5+fn5+fn5+fn5+fn4NCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuL2luY2x1ZGUveGVuL3NjaGVkLmg6MTIsDQpmcm9tIC4vYXJjaC9hcm0vaW5jbHVk
ZS9hc20vZ3JhbnRfdGFibGUuaDo3LA0KZnJvbSAuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmg6
MjksDQpmcm9tIGFyY2gvYXJtL2RvbWFpbi5jOjQ6DQphcmNoL2FybS9kb21haW4uYzogSW4gZnVu
Y3Rpb24gJ2FyY2hfZG9tYWluX2NyZWF0aW9uX2ZpbmlzaGVkJzoNCi4vaW5jbHVkZS94ZW4vaW9t
bXUuaDozNjY6NDA6IGVycm9yOiAnc3RydWN0IGRvbWFpbicgaGFzIG5vIG1lbWJlciBuYW1lZCAn
aW9tbXUnDQozNjYgfCAjZGVmaW5lIGRvbV9pb21tdShkKSAoJihkKS0+aW9tbXUpDQp8IF5+DQou
L2luY2x1ZGUveGVuL2lvbW11Lmg6MzcxOjM2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g
J2RvbV9pb21tdScNCjM3MSB8ICNkZWZpbmUgaW9tbXVfdXNlX2hhcF9wdChkKSAoZG9tX2lvbW11
KGQpLT5oYXBfcHRfc2hhcmUpDQp8IF5+fn5+fn5+fg0KYXJjaC9hcm0vZG9tYWluLmM6ODgwOjEx
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2lvbW11X3VzZV9oYXBfcHQnDQo4ODAgfCBp
ZiAoICFpb21tdV91c2VfaGFwX3B0KGQpICkNCnwgXn5+fn5+fn5+fn5+fn5+fg0KQ0MgYXJjaC9h
cm0vc2h1dGRvd24ubw0KQ0MgbGliL3N0cmxlbi5vDQpDQyBhcmNoL2FybS9zbXAubw0KQ0MgYXJj
aC9hcm0vc21wYm9vdC5vDQpDQyBjb21tb24veG1hbGxvY190bHNmLm8NCkNDIGxpYi9zdHJuY2Fz
ZWNtcC5vDQptYWtlWzJdOiAqKiogW1J1bGVzLm1rOjI0NzogYXJjaC9hcm0vcDJtLm9dIEVycm9y
IDENCm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uDQpgYGANCg0K
S2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGll
biBHcmFsbA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:55:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588281.919793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNAA-0004oy-8q; Tue, 22 Aug 2023 08:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588281.919793; Tue, 22 Aug 2023 08:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNAA-0004or-4Z; Tue, 22 Aug 2023 08:54:58 +0000
Received: by outflank-mailman (input) for mailman id 588281;
 Tue, 22 Aug 2023 08:54: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=3hUC=EH=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYNA9-0004ol-DP
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:54:57 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 906bf0dc-40c9-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 10:54:55 +0200 (CEST)
Received: from AS9PR06CA0349.eurprd06.prod.outlook.com (2603:10a6:20b:466::24)
 by AM8PR08MB5842.eurprd08.prod.outlook.com (2603:10a6:20b:1d7::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 08:54:52 +0000
Received: from AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:466:cafe::d) by AS9PR06CA0349.outlook.office365.com
 (2603:10a6:20b:466::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 08:54:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT033.mail.protection.outlook.com (100.127.140.129) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Tue, 22 Aug 2023 08:54:51 +0000
Received: ("Tessian outbound d084e965c4eb:v175");
 Tue, 22 Aug 2023 08:54:51 +0000
Received: from 43111b7e0bad.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8B0BB285-A697-4D16-88A3-2843771AF72D.1; 
 Tue, 22 Aug 2023 08:54:40 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 43111b7e0bad.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 22 Aug 2023 08:54:40 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV2PR08MB8196.eurprd08.prod.outlook.com (2603:10a6:150:7c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 08:54:37 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 08:54:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 906bf0dc-40c9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/1IU4sh8/CsRI3M3MS7RVasmjwTq6WStyqHwtlmO85U=;
 b=9uC1J3BRdfGez+pyBmsvRR+u7FtZCtq/Lp/PQx4WH6p7TebanmaPRTBEgkRP3mQE5Xy/Nrvmstpx4YVbPfJStMTexbBINANdQ/yiRfgWnnjVmSg3tMFKh0pp2Oo5f45DYXmR5ZuxpCH7vNqDGi+1E27oqOsxYu7iTUGUR7DEZ18=
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: 25170a65e82d0a16
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VSimtJd0pGr1CDM10eGFNEXd39WgU4azi5ApbBaeGb2y2kSa/ihGyYeQtdTkKYLO+ViirLq+lLrHjNhZxvJcKPzYV8VDsHKagAkzhCJn7c0G/4JfYsdwSWk4PdxYA/K8ByOZu0Ix7KTy8PdQgCyeZ+tj5KH1JVpx85rEB99kP9nZ1EsqjshYZO+A95APlEyjrymkLWCQsfcOMy2Nlk+HaDppBCv8JgvL4GQlw8ABHZPBQj3mrN0FKBCPLdUAWUb2esVdcbojZ7MPosfo+uUNMxNk42UqyNzSnwTTo6ryRUYm070XhT3wFd4YGu6ipIi7e1k80xQgMSbwwC/w7Culfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/1IU4sh8/CsRI3M3MS7RVasmjwTq6WStyqHwtlmO85U=;
 b=T/CTJDCxxkysA/HsWVoNlnyt/DuNbOJk+dhOCvPpW3Zl+Iviigh0uYEpAbXNE468WShdbOVMRgGGxal7NJtuvO8Zcj8Pwsm5i1ud5s6qSW5qGbjewAY0SUXTjMuLB/FMqrR7w72P7yyzfl2ldOb4lwovosvNnuLtQPO41LMmJWU+jX4DEY1BhFOCDfulv9SuT9sFUj7M1NQCpz9alE/CG/XUv2vbT7hzRwCPhI5d0aC8IjdcR05YU8J/8hXSrchKW/mRivxY6eBgDM4clUvq+DjR5XO144pQAol7EHahSR1Hue4q1+EadJSYHrPyO4PoJ0ELnQvS9grNTPIo7gSSVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=/1IU4sh8/CsRI3M3MS7RVasmjwTq6WStyqHwtlmO85U=;
 b=9uC1J3BRdfGez+pyBmsvRR+u7FtZCtq/Lp/PQx4WH6p7TebanmaPRTBEgkRP3mQE5Xy/Nrvmstpx4YVbPfJStMTexbBINANdQ/yiRfgWnnjVmSg3tMFKh0pp2Oo5f45DYXmR5ZuxpCH7vNqDGi+1E27oqOsxYu7iTUGUR7DEZ18=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Xen-devel <xen-devel@lists.xenproject.org>, Penny
 Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Topic: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Index: AQHZzmeOkWUgiqEb9U2fOmI3mEWP3a/1UMEAgACrQQCAABBYAIAAA1gA
Date: Tue, 22 Aug 2023 08:54:37 +0000
Message-ID: <A4D0D589-6B85-4B0B-B095-C8764F738C1E@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
 <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
 <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
 <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
In-Reply-To: <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV2PR08MB8196:EE_|AM7EUR03FT033:EE_|AM8PR08MB5842:EE_
X-MS-Office365-Filtering-Correlation-Id: 46b19b65-c6f5-4b1f-7d8a-08dba2ed72bd
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:
 +54/RcdNePzzUiEY9LOcFEry8lpfhymj667USLBemhayUDPnxeU9qe9hMvQlraGx7D667repYVrxuyn2pH2h6iB1Bs27H/b1QXX1rYC2bmqUIbH58KY4xpE3TUSVN4PRbwArbc6cRhQVe7plChiTl0XBE8sCdelCflpr5Z6cVkbBESJ8kCsWQcf8bT+npm508iHf8GIvpsB/HuGGqPtlqfhugqSD1iCFr6lsMC6SOHHKytEb7B9sn1mzbpUm5CIeo86jPeMADG1iUpiZw7o4zr6MtK3osK0i3TBQL9gOGq83QAv4XaJAUogSQzsIuenueUNgtomN84R8iSIO2+sDsUl+qJqZfTp2tgYSGk2WHjs7nggy+x1gX8D9iC7EK5JfANWMIqpctpbPYYNeuibE/YS6LbGiNQWb0slyU7BdeNxSpQdjDmifzV2OiKxmoQvIXBuoy64iovaB5/AwMc14i+y8LywFjNdOrbU1Dl4LcA4SX/Z+1nK2yGh/NeTzjwRqNAnVUdDHiqmU6oQTVYW1mImHoX5FIyrvrH3Ah1kuOEHlnFPeE3HO2TuYlKmHntOZwcdmWVNER/IjMYO649rbM/MNHD9k+gzZWj5HeHe0E7oAWBgdLc/8fwqzqxQrz2haOpr3qGtGOSmIQ/a1GkH18w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(136003)(39860400002)(396003)(376002)(1800799009)(451199024)(186009)(91956017)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(2906002)(4326008)(8676002)(41300700001)(8936002)(316002)(6916009)(76116006)(478600001)(53546011)(5660300002)(6486002)(6506007)(71200400001)(66899024)(6512007)(2616005)(26005)(83380400001)(38070700005)(122000001)(86362001)(36756003)(38100700002)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9968B103717E3C468D6588788EDDBF1B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8196
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:
 AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	25a59bde-1e7d-47bc-30c1-08dba2ed6a41
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TpzrANqa2l8+NIt9uZOuYXGJmxhNW2+KT/iZgLi6FfoEVk4+MLjEJZ18ExTlvKtEnStzszB8zcaJwCn2IeyWtZccj99oIvLAnp3TMZWCQC2sYPFv6XvNuloDuMsHXt70v99YQ5uQu/KdD6baS5/FFRBqpojCndI4csDjglEH66+juBD+GqT5UdmxYqmjcNwqwxwQvpt8TCRntx31UWs/WqKfKbGxxpaD+TJx5qx/LLYVnFmGMZFgdRm/qdy6jKEz5F/4qEGy3/1kowe5XLg010yCH202Fz+dv7XyxlFvy0BWdX+tLc2yrZYP06wj96/wjpQYW71r05kdyvXKgO8nwRQUGi5B+I60dEI/BvmO8Le8ros5ZcJBZzD4QhWjUe2ZaAAKoj4Clwie1c0DHjpdJAKKrdGIuGK3ZcFDM7kjs+WROQaPOLcPr8zj15LusA4l1uXnIF8s76BPKVhBT7KNQWOZoDrMpSOpbxpYgR+pE8LV/lPOr2kvyCMNUW4KEwt5PLyiEPSeDFKnsV68TjamcqMcX0lucHupQS9WUrebbP3ddMh5BJP4r0oz64h2PyzYWT+84BhRNlqiq+7H520/OLOk5/8P+up57f+TPzuUHg0TiWooNUevNzsW61eXm8ke2wSuFUdYrlRL7Ah3kR/MKzsAOMypCjMf1XMvHSRUzS1ixdwzg8HllowUtMPtn4Vo4JS8MTMbCSGU88QB58VYoHkSi4pXxhF4wL8kK+2cZJ4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(136003)(39860400002)(346002)(376002)(1800799009)(186009)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(70206006)(70586007)(316002)(6512007)(66899024)(8676002)(8936002)(2616005)(6862004)(4326008)(40460700003)(36756003)(41300700001)(82740400003)(356005)(81166007)(478600001)(53546011)(6506007)(6486002)(40480700001)(83380400001)(2906002)(86362001)(47076005)(36860700001)(336012)(5660300002)(26005)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 08:54:51.7308
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 46b19b65-c6f5-4b1f-7d8a-08dba2ed72bd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5842

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMiwgMjAyMywgYXQgMTY6NDIsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gT24gMjIvMDgvMjAyMyAwODo0NCwgSGVucnkg
V2FuZyB3cm90ZToNCj4+PiBPbiBBdWcgMjIsIDIwMjMsIGF0IDA1OjMxLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBIaSwNCj4+PiANCj4+PiBPbiAxNC8w
OC8yMDIzIDA1OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4+PiBGcm9tOiBQZW5ueSBaaGVuZyA8
UGVubnkuWmhlbmdAYXJtLmNvbT4NCj4+Pj4gRnVuY3Rpb24gY29weV9mcm9tX3BhZGRyKCkgaXMg
ZGVmaW5lZCBpbiBhc20vc2V0dXAuaCwgc28gaXQgaXMgYmV0dGVyDQo+Pj4+IHRvIGJlIGltcGxl
bWVudGVkIGluIHNldHVwLmMuDQo+Pj4gDQo+Pj4gSSBkb24ndCBhZ3JlZSB3aXRoIHRoaXMgcmVh
c29uaW5nLiBXZSB1c2VkIHNldHVwLmggdG8gZGVjbGFyZSBwcm90b3R5cGUgZm9yIGZ1bmN0aW9u
IHRoYXQgYXJlIG91dCBvZiBzZXR1cC5jLg0KPj4+IA0KPj4+IExvb2tpbmcgYXQgdGhlIG92ZXJh
bGwgb2YgdGhpcyBzZXJpZXMsIGl0IGlzIHVuY2xlYXIgdG8gbWUgd2hhdCBpcyB0aGUgZGlmZmVy
ZW5jZSBiZXR3ZWVuIG1tdS9tbS5jIGFuZCBtbXUvc2V0dXAuYy4gSSBrbm93IHRoaXMgaXMgdGVj
aG5pY2FsbHkgbm90IGEgbmV3IHByb2JsZW0gYnV0IGFzIHdlIHNwbGl0IHRoZSBjb2RlLCBpdCB3
b3VsZCBiZSBhIGdvb2Qgb3Bwb3J0dW5pdHkgdG8gaGF2ZSBhIGJldHRlciBzcGxpdC4NCj4+PiAN
Cj4+PiBGb3IgaW5zdGFuY2UsIHdlIGhhdmUgc2V0dXBfbW0oKSBkZWZpbmVkIGluIHNldHVwLmMg
YnV0IHNldHVwX3BhZ2V0YWJsZXMoKSBhbmQgbW0uYy4gQm90aCBhcmUgdGVjaG5pY2FsbHkgcmVs
YXRlZCB0byB0aGUgbWVtb3J5IG1hbmFnZW1lbnQuIFNvIGhhdmluZyB0aGVtIGluIHNlcGFyYXRl
IGZpbGUgaXMgYSBiaXQgb2RkLg0KPj4gU2tpbW1pbmcgdGhyb3VnaCB0aGUgY29tbWVudHMsIGl0
IGxvb2tzIGxpa2Ugd2UgaGF2ZSBhIGNvbW1vbiBwcm9ibGVtDQo+PiBpbiBwYXRjaCA3LCA5LCAx
MCwgMTIgYWJvdXQgaG93IHRvIG1vdmUvc3BsaXQgdGhlIGNvZGUuIFNvIGluc3RlYWQgb2YgaGF2
aW5nDQo+PiB0aGUgZGlzY3Vzc2lvbiBpbiBlYWNoIHBhdGNoLCBJIHdvdWxkIGxpa2UgdG8gcHJv
cG9zZSB0aGF0IHdlIGNhbiBkaXNjdXNzIGFsbA0KPj4gb2YgdGhlc2UgaW4gYSBjb21tb24gcGxh
Y2UgaGVyZS4NCj4gDQo+ICsxLg0KPiANCj4+PiANCj4+PiBJIGFsc28gZG9uJ3QgbGlrZSB0aGUg
aWRlYSBvZiBoYXZpbmcgYWdhaW4gYSBtYXNzaXZlIG1tLmMgZmlsZXMuIFNvIG1heWJlIHdlIG5l
ZWQgYSBzcGxpdCBsaWtlOg0KPj4+ICAqIEZpbGUgMTogQm9vdCBDUFUwIE1NIGJyaW5ndXAgKG1t
dS9zZXR1cC5jKQ0KPj4+ICAqIEZpbGUgMjogU2Vjb25kYXJ5IENQVXMgTU0gYnJpbmd1cCAobW11
L3NtcGJvb3QuYykNCj4+PiAgKiBGaWxlIDM6IFBhZ2UgdGFibGVzIHVwZGF0ZS4gKG1tdS9wdC5j
KQ0KPj4+IA0KPj4+IElkZWFsbHkgZmlsZSAxIHNob3VsZCBjb250YWluIG9ubHkgaW5pdCBjb2Rl
L2RhdGEgc28gaXQgY2FuIGJlIG1hcmtlZCBhcyAuaW5pdC4gU28gdGhlIHN0YXRpYyBwYWdldGFi
bGVzIG1heSB3YW50IHRvIGJlIGRlZmluZWQgaW4gbW11L3B0LmMuDQo+PiBTbyBiYXNlZCBvbiBK
dWxpZW7igJlzIHN1Z2dlc3Rpb24sIFBlbm55IGFuZCBJIHdvcmtlZCBhIGJpdCBvbiB0aGUgY3Vy
cmVudA0KPj4gZnVuY3Rpb25zIGluIOKAnGFyY2gvYXJtL21tLmPigJ0gYW5kIHdlIHdvdWxkIGxp
a2UgdG8gcHJvcG9zZSBiZWxvdyBzcGxpdA0KPj4gc2NoZW1lLCB3b3VsZCB5b3UgcGxlYXNlIGNv
bW1lbnQgb24gaWYgYmVsb3cgbWFrZXMgc2Vuc2UgdG8geW91LA0KPj4gdGhhbmtzIQ0KPj4gIiIi
DQo+PiBzdGF0aWMgdm9pZCBfX2luaXQgX19tYXliZV91bnVzZWQgYnVpbGRfYXNzZXJ0aW9ucygp
ICAgICAgLT4gYXJjaC9hcm0vbW0uYw0KPiANCj4gQWxsIHRoZSBleGlzdGluZyBidWlsZCBhc3Nl
cnRpb25zIHNlZW1zIHRvIGJlIE1NVSBzcGVjaWZpYy4gU28gc2hvdWxkbid0IHRoZXkgYmUgbW92
ZWQgdG8gbW11L21tLmMuDQo+IA0KPj4gc3RhdGljIGxwYWVfdCAqeGVuX21hcF90YWJsZSgpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiBzdGF0aWMgdm9pZCB4ZW5f
dW5tYXBfdGFibGUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMNCj4+
IHZvaWQgZHVtcF9wdF93YWxrKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtPiBtbXUvcHQuYw0KPj4gdm9pZCBkdW1wX2h5cF93YWxrKCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiBscGFlX3QgbWZuX3RvX3hlbl9lbnRy
eSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMNCj4+IHZvaWQg
c2V0X2ZpeG1hcCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBt
bXUvcHQuYw0KPj4gdm9pZCBjbGVhcl9maXhtYXAoKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiB2b2lkIGZsdXNoX3BhZ2VfdG9fcmFtKCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYz8NCj4gDQo+IEkg
dGhpbmsgaXQgc2hvdWxkIHN0YXkgaW4gYXJjaC9hcm0vbW0uYyBiZWNhdXNlIHlvdSB3aWxsIHBy
b2JhYmx5IG5lZWQgdG8gY2xlYW4gYSBwYWdlIGV2ZW4gb24gTVBVIHN5c3RlbXMuDQo+IA0KPj4g
bHBhZV90IHB0ZV9vZl94ZW5hZGRyKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0+IG1tdS9wdC5jDQo+PiB2b2lkICogX19pbml0IGVhcmx5X2ZkdF9tYXAoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLT4gbW11L3NldHVwLmMNCj4+IHZvaWQgX19pbml0IHJlbW92ZV9l
YXJseV9tYXBwaW5ncygpICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvc2V0dXAuYw0KPj4g
c3RhdGljIHZvaWQgeGVuX3B0X2VuZm9yY2Vfd254KCkgICAgICAgICAgICAgICAgICAgICAgICAg
IC0+IG1tdS9wdC5jLCBleHBvcnQgaXQNCj4gDQo+IEFGQUlVLCBpdCB3b3VsZCBiZSBjYWxsZWQg
ZnJvbSBzbXBib290LmMgYW5kIHNldHVwLmMuIEZvciB0aGUgZm9ybWVyLCB0aGUgY2FsbGVyIGlz
IG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSB3aGljaCBJIHRoaW5rIGNhbiBiZSBmb2xkZWQgaW4g
aGVhZC5TLg0KPiANCj4gSWYgd2UgZG8gdGhhdCwgdGhlbiB4ZW5fcHRfZW5mb3JjZV93bngoKSBj
YW4gYmUgbW92ZWQgaW4gc2V0dXAuYyBhbmQgZG9lc24ndCBuZWVkIHRvIGJlIGV4cG9ydGVkLg0K
PiANCj4+IHN0YXRpYyB2b2lkIGNsZWFyX3RhYmxlKCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtPiBtbXUvc21wYm9vdC5jDQo+PiB2b2lkIF9faW5pdCBzZXR1cF9wYWdldGFibGVz
KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3NldHVwLmMNCj4+IHN0YXRpYyB2
b2lkIGNsZWFyX2Jvb3RfcGFnZXRhYmxlcygpICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUv
c21wYm9vdC5jDQo+PiBpbnQgaW5pdF9zZWNvbmRhcnlfcGFnZXRhYmxlcygpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLT4gbW11L3NtcGJvb3QuYw0KPj4gdm9pZCBtbXVfaW5pdF9zZWNvbmRh
cnlfY3B1KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zbXBib290LmMNCj4+
IHZvaWQgX19pbml0IHNldHVwX2RpcmVjdG1hcF9tYXBwaW5ncygpICAgICAgICAgICAgICAgICAg
ICAtPiBtbXUvc2V0dXAuYw0KPj4gdm9pZCBfX2luaXQgc2V0dXBfZnJhbWV0YWJsZV9tYXBwaW5n
cygpICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zZXR1cC5jDQo+PiB2b2lkICpfX2luaXQgYXJj
aF92bWFwX3ZpcnRfZW5kKCkgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0u
YyBvciBtbXUvc2V0dXAuYz8NCj4gDQo+IEFGQUlVLCB0aGUgVk1BUCB3aWxsIG5vdCBiZSB1c2Vk
IGZvciBNUFUgc3lzdGVtcy4gU28gdGhpcyB3b3VsZCB3YW50IHRvIGdvIGluIG1tdS8uIEkgYW0g
b2sgd2l0aCBzZXR1cC5jLg0KPiANCj4+IHZvaWQgKmlvcmVtYXBfYXR0cigpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4gdm9pZCAqaW9yZW1hcCgp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+
PiBzdGF0aWMgaW50IGNyZWF0ZV94ZW5fdGFibGUoKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLT4gbW11L3B0LmMNCj4+IHN0YXRpYyBpbnQgeGVuX3B0X25leHRfbGV2ZWwoKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4gc3RhdGljIGJvb2wgeGVuX3B0X2No
ZWNrX2VudHJ5KCkgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiBzdGF0
aWMgaW50IHhlbl9wdF91cGRhdGVfZW50cnkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g
bW11L3B0LmMNCj4+IHN0YXRpYyBpbnQgeGVuX3B0X21hcHBpbmdfbGV2ZWwoKSAgICAgICAgICAg
ICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4gc3RhdGljIHVuc2lnbmVkIGludCB4ZW5fcHRf
Y2hlY2tfY29udGlnKCkgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiBzdGF0aWMgaW50
IHhlbl9wdF91cGRhdGUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0
LmMNCj4+IGludCBtYXBfcGFnZXNfdG9feGVuKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtPiBtbXUvcHQuYw0KPj4gaW50IF9faW5pdCBwb3B1bGF0ZV9wdF9yYW5nZSgpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5jDQo+PiBpbnQgZGVzdHJveV94ZW5f
bWFwcGluZ3MoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gbW11L3B0LmMNCj4+
IGludCBtb2RpZnlfeGVuX21hcHBpbmdzKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtPiBtbXUvcHQuYw0KPj4gdm9pZCBmcmVlX2luaXRfbWVtb3J5KCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zZXR1cC5jDQo+PiB2b2lkIGFyY2hfZHVtcF9zaGFy
ZWRfbWVtX2luZm8oKSAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYw0K
Pj4gaW50IHN0ZWFsX3BhZ2UoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0+IGFyY2gvYXJtL21tLmMNCj4+IGludCBwYWdlX2lzX3JhbV90eXBlKCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQo+PiB1bnNpZ25lZCBs
b25nIGRvbWFpbl9nZXRfbWF4aW11bV9ncGZuKCkgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9h
cm0vbW0uYw0KPj4gdm9pZCBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KCkgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCj4+IGludCB4ZW5tZW1fYWRkX3RvX3BoeXNt
YXBfb25lKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQo+PiBs
b25nIGFyY2hfbWVtb3J5X29wKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LT4gYXJjaC9hcm0vbW0uYw0KPj4gc3RhdGljIHN0cnVjdCBkb21haW4gKnBhZ2VfZ2V0X293bmVy
X2FuZF9ucl9yZWZlcmVuY2UoKSAgIC0+IGFyY2gvYXJtL21tLmMNCj4+IHN0cnVjdCBkb21haW4g
KnBhZ2VfZ2V0X293bmVyX2FuZF9yZWZlcmVuY2UoKSAgICAgICAgICAgICAtPiBhcmNoL2FybS9t
bS5jDQo+PiB2b2lkIHB1dF9wYWdlX25yKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYw0KPj4gdm9pZCBwdXRfcGFnZSgpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMNCj4+IGJvb2wg
Z2V0X3BhZ2VfbnIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBh
cmNoL2FybS9tbS5jDQo+PiBib29sIGdldF9wYWdlKCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYw0KPj4gaW50IGdldF9wYWdlX3R5cGUo
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IGFyY2gvYXJtL21tLmMN
Cj4+IHZvaWQgcHV0X3BhZ2VfdHlwZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtPiBhcmNoL2FybS9tbS5jDQo+PiBpbnQgY3JlYXRlX2dyYW50X2hvc3RfbWFwcGluZygp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYw0KPj4gaW50IHJlcGxh
Y2VfZ3JhbnRfaG9zdF9tYXBwaW5nKCkgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IGFyY2gv
YXJtL21tLmMNCj4+IGJvb2wgaXNfaW9tZW1fcGFnZSgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jDQo+PiB2b2lkIGNsZWFyX2FuZF9jbGVhbl9w
YWdlKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gYXJjaC9hcm0vbW0uYw0KPj4g
dW5zaWduZWQgbG9uZyBnZXRfdXBwZXJfbWZuX2JvdW5kKCkgICAgICAgICAgICAgICAgICAgICAg
IC0+IGFyY2gvYXJtL21tLmMNCj4+ICIiIg0KPiANCj4gVGhlIHBsYWNlbWVudCBvZiBhbGwgdGhl
IG9uZXMgSSBkaWRuJ3QgY29tbWVudCBvbiBsb29rIGZpbmUgdG8gbWUuIEl0IHdvdWxkIGJlIGdv
b2QgdG8gaGF2ZSBhIHNlY29uZCBvcGluaW9uIGZyb20gZWl0aGVyIEJlcnRyYW5kIG9yIFN0ZWZh
bm8gYmVmb3JlIHlvdSBzdGFydCBtb3ZpbmcgdGhlIGZ1bmN0aW9ucy4NCg0KSSBhZ3JlZSB0byBh
bGwgeW91ciBhYm92ZSBjb21tZW50cywgYW5kIHN1cmUgSSBjYW4gd2FpdCBmb3IgYSBmZXcgZGF5
cyBmb3Igb3RoZXINCm1haW50YWluZXJzIG9waW5pb24gYmVmb3JlIHN0YXJ0IG1vdmluZyB0aGUg
Y29kZS4NCg0KPiANCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tbXUvc2V0dXAuYyBi
L3hlbi9hcmNoL2FybS9tbXUvc2V0dXAuYw0KPj4+PiBpbmRleCBlMDVjY2EzZjg2Li44ODlhZGE2
Yjg3IDEwMDY0NA0KPj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vbW11L3NldHVwLmMNCj4+Pj4gKysr
IGIveGVuL2FyY2gvYXJtL21tdS9zZXR1cC5jDQo+Pj4+IEBAIC0zMjksNiArMzI5LDMzIEBAIHZv
aWQgX19pbml0IHNldHVwX21tKHZvaWQpDQo+Pj4+ICB9DQo+Pj4+ICAjZW5kaWYNCj4+Pj4gICsv
Kg0KPj4+IA0KPj4+IFdoeSBkaWQgdGhlIHNlY29uZCAnKicgZGlzYXBwZWFyPw0KPj4gQWNjb3Jk
aW5nIHRvIHRoZSBDT0RJTkdfU1RZTEUsIHdlIHNob3VsZCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhp
czoNCj4+IC8qDQo+PiAgKiBFeGFtcGxlLCBtdWx0aS1saW5lIGNvbW1lbnQgYmxvY2suDQo+PiAg
Kg0KPj4gICogTm90ZSBiZWdpbm5pbmcgYW5kIGVuZCBtYXJrZXJzIG9uIHNlcGFyYXRlIGxpbmVz
IGFuZCBsZWFkaW5nICcqJy4NCj4+ICAqLw0KPj4gSW5zdGVhZCBvZiAiLyoq4oCdIGluIHRoZSBi
ZWdpbm5pbmcuIEJ1dCBJIHRoaW5rIHlvdSBtYWRlIGEgcG9pbnQsIEkgbmVlZA0KPj4gdG8gbWVu
dGlvbiB0aGF0IEkgdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8gZml4IHRoZSBjb21tZW50IHN0eWxl
IGluIGNvbW1pdA0KPj4gbWVzc2FnZS4NCj4gDQo+IFdlIGhhdmUgc3RhcnRlZCB0byB1c2UgLyoq
IHdoaWNoIEkgdGhpbmsgaXMgZm9yIERveHlnZW4gKHNlZSB0aGUgUERYIHNlcmllcykuIFNvIEkg
dGhpbmsgdGhlIENPRElOR19TVFlMRSBuZWVkcyB0byBiZSB1cGRhdGVkIHJhdGhlciB0aGFuIHJl
bW92aW5nIHRoZSBleHRyYSAqLg0KDQpBaGhoIHRoYW5rcyBmb3IgdGhlIGNvbnRleHQsIEkgdG90
YWxseSBmb3Jnb3QgdGhlIERveHlnZW7igKZUaGVuIEkgd2lsbCB1c2UNCiIvKirigJ0gaW4gdjYu
DQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0KPiBK
dWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:55:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588286.919802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNAt-0005L0-GM; Tue, 22 Aug 2023 08:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588286.919802; Tue, 22 Aug 2023 08:55:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNAt-0005Kt-Db; Tue, 22 Aug 2023 08:55:43 +0000
Received: by outflank-mailman (input) for mailman id 588286;
 Tue, 22 Aug 2023 08:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYNAs-0005Kf-At
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYNAr-0005sH-Rk; Tue, 22 Aug 2023 08:55:41 +0000
Received: from [54.239.6.178] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYNAr-0003m2-LY; Tue, 22 Aug 2023 08:55:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=WLvRjLNW1Ev/p04chmADKbh8+xMlzGMs1kVPyBEsOiU=; b=Yc78kUxDdx3T5pdYUFcgB6BCMF
	ZQnrYodBou8htAKxqkYqhVqra9l2qurc7YnU/Sxp9k5OgukZkQvf9eboQV/h4Ti32RswbQXEMCgUW
	F/26CMJrzujbv4MIV2UiMOBzJH7vVWeq1D+ZKgFI608cQO6TsRhFGkVFMxK5cKyb5aM8=;
Message-ID: <d5f06a9a-bb54-4184-93e0-78dbb3fd8800@xen.org>
Date: Tue, 22 Aug 2023 09:55:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 13/13] xen/arm: mmu: enable SMMU subsystem only in MMU
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>, Jan Beulich <jbeulich@suse.com>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-14-Henry.Wang@arm.com>
 <67f4015f-fb63-f097-ce1b-ea6264232a1e@xen.org>
 <FA20A514-B1D2-4FBA-97F4-93981E1F0636@arm.com>
 <3413dc3c-f343-4e88-aa08-d5a0634c1ef4@xen.org>
 <AAA444BB-00F4-44D6-A8E1-5C84A4EB8092@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AAA444BB-00F4-44D6-A8E1-5C84A4EB8092@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 22/08/2023 09:48, Henry Wang wrote:
> Hi Julien,
> 
>> On Aug 22, 2023, at 16:18, Julien Grall <julien@xen.org> wrote:
>>
>> On 22/08/2023 03:11, Henry Wang wrote:
>>> Hi Julien,
>>
>> Hi,
>>
>>>> On Aug 22, 2023, at 05:34, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 14/08/2023 05:25, Henry Wang wrote:
>>>>> From: Penny Zheng <Penny.Zheng@arm.com>
>>>>> SMMU subsystem is only supported in MMU system, so we make it dependent
>>>>> on CONFIG_HAS_MMU.
>>>>
>>>> "only supported" as in it doesn't work with Xen or the HW is not supporting it?
>>> I think currently there are no hardware combination of MPU + SMMU, but
>>> theoretically I think this is a valid combination since SMMU supports the linear
>>> mapping. So would below reword looks good to you:
>>> â€œCurrently the hardware use case of connecting SMMU to MPU system is rarely
>>> seen, so we make CONFIG_ARM_SMMU and CONFIG_ARM_SMMU_V3
>>> dependent on CONFIG_MMU."
>>
>> I read this as there might be MPU system with SMMU in development. What you want to explain is why we can't let the developper to select the SMMU driver on an MPU system.
>>
>>  From my understanding this is because the drivers are expecting to use the page-tables and the concept doesn't exist in the MPU system. So the drivers are not ready for the MPU.
> 
> I agree.
> 
>>
>>>>
>>>> Also, I am not entirely convinced that anything in passthrough would properly work with MPU. At least none of the IOMMU drivers are. So I would consider to completely disable HAS_PASSTHROUGH.
>>> I agree, do you think adding below addition diff to this patch makes sense to you?
>>
>> I think it should be a replacement because none of the IOMMU drivers works for the MPU. So I would rather prefer if we avoid adding "depends on" on all of them (even if there are only 3) for now.
> 
> I am a bit confused, I read your above explanation to the commit message as you
> agree with the idea that making SMMU driver not selectable by MPU system. 

No. I would rather prefer if HAS_PASSTHROUGH is completely disabled 
because I doubt the IOMMU infrastructure will work without any change 
for the MPU.

So it sounds incorrect to enable HAS_PASSTHROUGH until one of you 
confirm it works.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 08:58:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 08:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588293.919813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYND8-0005xM-T7; Tue, 22 Aug 2023 08:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588293.919813; Tue, 22 Aug 2023 08:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYND8-0005xF-QE; Tue, 22 Aug 2023 08:58:02 +0000
Received: by outflank-mailman (input) for mailman id 588293;
 Tue, 22 Aug 2023 08:58:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gYve=EH=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qYND7-0005x9-7Y
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 08:58:01 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e89::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd97bc6c-40c9-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 10:57:59 +0200 (CEST)
Received: from MW4PR03CA0284.namprd03.prod.outlook.com (2603:10b6:303:b5::19)
 by PH0PR12MB8030.namprd12.prod.outlook.com (2603:10b6:510:28d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 08:57:55 +0000
Received: from MWH0EPF000989EB.namprd02.prod.outlook.com
 (2603:10b6:303:b5:cafe::10) by MW4PR03CA0284.outlook.office365.com
 (2603:10b6:303:b5::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Tue, 22 Aug 2023 08:57:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989EB.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.6699.15 via Frontend Transport; Tue, 22 Aug 2023 08:57:55 +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.27; Tue, 22 Aug
 2023 03:57:53 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 22 Aug
 2023 01:57:53 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 22 Aug 2023 03:57: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: fd97bc6c-40c9-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gPGSt5fHqz96ha+WACImhWpsTxe0v2dLHr6iNfEz+eaht7JXzJ2xj3IHz6Ho4tLP/kQkeziiPH20/GD9aZiy4A9kuCLnN2P7xaK16UV6Em2ElVBwvWN0iVLkSdcDcWIIGz/8VKm7uy5M2JouLd4HvciNhg9aEgMI4ma6Q0SzhEa/w31OH99bRmXV3Ip23dx3wSnXkDvU3PhWeqM5kkmcNOjWHzxVEn7PDqXsei+06zICli92bSGoPLKOasBu7kpH8BizQ8EROZ7aLjHiV4O0Z0sD8QxZV0uamVBS0tGpeRSg+grS32CVlQuOn1zDqtdVATqZ96p7Fh3bcnF1UBPmQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DnVzyT1WPT4U0usZ1u/xD0TWAPwoR3r4QSUfbYF69eY=;
 b=c04yLtJbwr8Zo/BgJeOo+iUBH+gFJihlZYGeDU10faXp5z1gj98lVLGkFIzj6cjrhl7Ce7F6bklYMAB5v6UNF0aQX1yvSDVv5z1cjQydLD+s/TAcEmyfg5dgJFlvL8qp8EYNEl6DOPoIJivJVn77zP4xduuK0BaSVXFUZFJl7erQgSw850bq0tftmZoe/e5wqtPCz6uyT5WiDv7FS+4Ml4vxBXjuQlJlxWLqVYUqt9z9u2cKW3ak/xwgDXo+y80y6OAFyKbQGzknoIgxoeRl6X+j730z/A9bQe0IQADlaZs1HTR1R5reaX8TjAS0OoevmZmOihiGsCTNKfWORYaaLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DnVzyT1WPT4U0usZ1u/xD0TWAPwoR3r4QSUfbYF69eY=;
 b=wGgXsyudGqyFn1gHmVnIS8DQiJcbm7r8G+YKWiLQuTnWqBk5j1LZ5t11BgVNBmFRTbhn43F/WwwA9ncTRE/fPs53oICanmMefGyVM9I15k164MsAy1qn6jvR/fBl4XK0eS03wCRzgRRUF1gEUZba1TNSjwAtQJDQe3lDOxX4trI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <c26aeffa-9d41-ad7d-b006-bd4ea8ab7f40@amd.com>
Date: Tue, 22 Aug 2023 10:57:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 0/8] Follow-up static shared memory PART I
To: Penny Zheng <penny.zheng@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@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: <20230821040046.2965665-1-Penny.Zheng@arm.com>
 <6fcbab6a-7126-21ee-e1bc-aa7ba2b07fc0@amd.com>
 <1fae4dde-f1b5-fa13-d021-3bdde7184fbe@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <1fae4dde-f1b5-fa13-d021-3bdde7184fbe@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989EB:EE_|PH0PR12MB8030:EE_
X-MS-Office365-Filtering-Correlation-Id: fa01415e-173e-4ef6-21e3-08dba2eddff9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7Ko5VkNJRIC0aLAmoSXtnTY2773+Byap6v82OzySs0JRJHLHI1RyXGJXJZa3I0VQdr4/IKrwuFipoTj5mO7Eip69YdoGZSQO3mnhx5fkVIf37Pfio/l/wrfe9usXCMyDd/4xy2PJnD0V/uAJxpbYlFfLgiLA6y6KFx2J+xByJH5ZmriGxcq3bsgLIlzCFSPWhX06a6VEtb2vUJB/i+3YAdBRMwsdLHSKVuxu1uyIYYTI69CsK3Xb0HL9tdIquY+/7Pa1pans4h1tC8LO6z9FOfbjOKoLLHV0m8jZHswrh6UlRL2FbveFP/TnCcQUvm7FsAtjwFgYNVQQGCgii3Y3nRW0FoEN2Lf/FNhJdGbWaOUmz2quVsGnA419ApS13DtQixAMJ8vJ3hwWRuGWWGk0bohTQD/pqr4Zjh2OrCmepVFhu9/hOwkwcO5dXTLB9b0SIxDUi8kJ7VTyCc2rK37MhkWHhtHMfKzzx7UFHzL5+v7oGUEyQm3jMz08/sIA/908/We/zTtOdeMMRaU1Xu+Gm5fB7I3ffVXwdCRb8YEUCj4bPP0i9DT5BrOt4hTfairR1AcaXII+LG/kQ2C4hB8ql93B5JalzyNLSbE50v9v/b1lN9RWIFt/KuKS0RyE9WX3T0Ve3RE9rzR7eJPKNdPP7b80NVptwhfWPAnOd7YskVVzLD9cD0DiZ8lMl9ZKCIBNciwbx3eu6p3DGyTItRZgX6hyUjMgxm2dM1d4xqgp5qXwvJiWCMdcqN8yu9yFFm1OEFEesE5ZOoLxrF2AdzKJlqZnUJisEC9KuhnP5u5Gwn3LUgkUDg2bFMK2teBZG6sHV+Dn1X3MfpDeEUEhON/1MA==
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)(4636009)(396003)(136003)(39860400002)(346002)(376002)(1800799009)(186009)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(54906003)(70206006)(16576012)(70586007)(316002)(110136005)(8676002)(8936002)(2616005)(4326008)(40460700003)(36756003)(41300700001)(82740400003)(356005)(81166007)(966005)(478600001)(6666004)(53546011)(40480700001)(83380400001)(2906002)(86362001)(31686004)(47076005)(36860700001)(31696002)(336012)(44832011)(426003)(5660300002)(26005)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 08:57:55.0089
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fa01415e-173e-4ef6-21e3-08dba2eddff9
X-MS-Exchange-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:
	MWH0EPF000989EB.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8030

Hi Penny,

On 22/08/2023 07:32, Penny Zheng wrote:
> 
> 
> Hi, michal
> 
> On 2023/8/21 18:49, Michal Orzel wrote:
>> Hi Penny,
>>
>> On 21/08/2023 06:00, Penny Zheng wrote:
>>>
>>>
>>> There are some unsolving issues on current 4.17 static shared memory
>>> feature[1], including:
>>> - In order to avoid keeping growing 'membank', having the shared memory
>>> info in separate structures is preferred.
>>> - Missing implementation on having the host address optional in
>>> "xen,shared-mem" property
>>> - Removing static shared memory from extended regions
>>> - Missing reference release on foreign superpage
>>> - Missing "xen,offset" feature, which is introduced in Linux DOC[2]
>>>
>>> All above objects have been divided into two parts to complete. And this
>>> patch serie is PART I.
>>>
>>> [1] https://lore.kernel.org/all/20220908135513.1800511-1-Penny.Zheng@arm.com/
>>> [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/xen%2Cshared-memory.txt
>>
>> It looks like there is a problem with the changes introduced in this series.
>> The gitlab static shared memory tests failed:
>> https://gitlab.com/xen-project/patchew/xen/-/pipelines/973985190
>> No Xen logs meaning the failure occurred before serial console initialization.
>>
>> Now, I would like to share some observations after playing around with the current static shared mem code today.
>> 1) Static shared memory region is advertised to a domain by creating a child node under reserved-memory.
>> /reserved-memory is nothing but a way to carve out a region from the normal memory specified in /memory node.
>> For me, such regions should be described in domain's /memory node as well. This is not the case at the moment
>> for static shm unlike to other sub-nodes of /reserved-memory (present in host dtb) for which Xen creates separate
>> /memory nodes.
>>
> 
> Hmm, correct me if I'm wrong,
> If we describe twice in domain's /memory node too, it will be treated as
> normal memory, then any application could use it. The reason why we put
> static shm under /reserved-memory is that we only hope special driver,
> like static shm linux driver, could access it.
> 
> If you track down in make_memory_node(), only memory range that is
> reserved for device (or firmware) will be described twice as normal
> memory in Dom0. Memory like static shm, will get passed.

Reserved memory is a region of RAM (not MMIO) carved out for a special purpose which can be used by a driver for e.g. shared dma pool.
Therefore, such region shall be described both under /memory (used to present the total RAM and reserved memory is in RAM)
and under /reserved-memory. The OS parses /memory and then parses /reserved-memory to exclude the regions from normal usage
(there is also no-map property to tell OS not to create virtual mapping). So you do not need to worry about OS making use of something we marked as reserved.
This is exactly what Xen does if there are regions described as reserved in the host dtb:
1. Xen parses host dtb, adds reserved regions into bootinfo.reserved_mem so that it will not be used e.g. for allocator
2. While copying nodes from host dtb, Xen copies reserved memory nodes to dom0 dtb and only maps the regions in p2m without permitting iomem access
3. Xen creates another /memory node to contain the reserved memory ranges

I guess static shm is not exception to this flow. It is part of RAM suited for memory sharing.

> 
>> 2) Domain dtb parsing issue with two /reserved-memory nodes present.
>> In case there is a /reserved-memory node already present in the host dtb, Xen would create yet another /reserved-memory
>> node for the static shm (to be observed in case of dom0). This is a bug as there can be only one /reserved-memory node.
>> This leads to an error when dumping with dtc and leads to a shm node not being visible to a domain (guest OS relies on
>> a presence of a single /reserved-memory node). The issue is because in make_resv_memory_node(), you are not checking if
>> such node already exists.
> 
> Yes, you're true.
> In Dom0, we could see two /reserved-memory nodes. I think, if there is a
> /reserved-memory node already present in the host dtb, we shall reserve
> it in kinfo for make_resv_memory_node().
This way you will only take the reference of a region but what about all the properties, node names, etc. that you need to copy?
This is why Xen first copies the reserved memory nodes from host dtb and then adds ranges to /memory.
In our shm case, we would need to insert the shm node into existing reserved memory node. This is a bit tricky as you can no longer
make use of fdt_{begin,end}_node and instead use the helpers operating on offsets.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 09:11:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 09:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588327.919823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNQO-0000RD-NC; Tue, 22 Aug 2023 09:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588327.919823; Tue, 22 Aug 2023 09: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 1qYNQO-0000R6-KO; Tue, 22 Aug 2023 09:11:44 +0000
Received: by outflank-mailman (input) for mailman id 588327;
 Tue, 22 Aug 2023 09:11:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYNQN-0000R0-V8
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 09:11:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e86ac024-40cb-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 11:11:41 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id EE0E122C00;
 Tue, 22 Aug 2023 09:11:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B8EB4132B9;
 Tue, 22 Aug 2023 09:11:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id pJfbK8x75GTrfgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 09:11:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e86ac024-40cb-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692695500; 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=rgRK/+wO5bE0BEKzv9bthbQwjatmS8j+HdBI8x6U6ZM=;
	b=ldBC8Xui7pYT0R3+ZDSRwHnMWOPZaCvMEJFGV432hd/Ebc4h9Fb5G+0AAxF4hZ44nhUyV/
	LVPbuuMW68UqWaFRKfma4SDWDPkl4aM68Hxn1zBPFQJffjW2An5eV7jvL8YXllGWuDoXF7
	gRSsJd70t4TZfXmTPK0NFSyxMsKF9yE=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	kernel test robot <lkp@intel.com>,
	Dan Carpenter <error27@gmail.com>
Subject: [PATCH] xenbus: fix error exit in xenbus_init()
Date: Tue, 22 Aug 2023 11:11:38 +0200
Message-Id: <20230822091138.4765-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In case an error occurs in xenbus_init(), xen_store_domain_type should
be set to XS_UNKNOWN.

Fix one instance where this action is missing.

Fixes: 5b3353949e89 ("xen: add support for initializing xenstore later as HVM domain")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/r/202304200845.w7m4kXZr-lkp@intel.com/
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/xenbus/xenbus_probe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index 639bf628389b..3205e5d724c8 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -1025,7 +1025,7 @@ static int __init xenbus_init(void)
 			if (err < 0) {
 				pr_err("xenstore_late_init couldn't bind irq err=%d\n",
 				       err);
-				return err;
+				goto out_error;
 			}
 
 			xs_init_irq = err;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 09:45:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 09:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588335.919832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYNwt-00048N-9E; Tue, 22 Aug 2023 09:45:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588335.919832; Tue, 22 Aug 2023 09:45: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 1qYNwt-00048G-6E; Tue, 22 Aug 2023 09:45:19 +0000
Received: by outflank-mailman (input) for mailman id 588335;
 Tue, 22 Aug 2023 09:45: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=/1P6=EH=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1qYNwr-00048A-OT
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 09:45:17 +0000
Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com
 [2607:f8b0:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 973d7542-40d0-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 11:45:13 +0200 (CEST)
Received: by mail-ot1-x333.google.com with SMTP id
 46e09a7af769-6bd77864e05so3077494a34.3
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 02:45:13 -0700 (PDT)
Received: from localhost ([122.172.87.195]) by smtp.gmail.com with ESMTPSA id
 x33-20020a17090a6c2400b00267d9f4d340sm9977765pjj.44.2023.08.22.02.45.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 02:45: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: 973d7542-40d0-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692697512; x=1693302312;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9VfBCvp+lAdhb3vS0UcFySyoen6a3yAs2OXAZaKdJ+8=;
        b=tx52sTenxUlwKNo0bL0jQLNA7dojDYxud0ywtmQOi6Wsa/LpFYFhGzcDQR/eEUiFP1
         Kai5Bt5dm9cKZbQyLtvI5Nhgh9ai0vS1wWoDQ9+SmbQbKgp4gbVNLiYM3XYP5lKAQ7Tb
         yDl/uMs2L4qE4evH0sF2ttPMXVZPohJhaCvNwsGNsEHim73wn87QoXHUsVGmX3h+S7nb
         0Kp6vnn04bjxdN3NqB2slka9SQapzC7ic5tstRPXEVFb44VSGWtWj2+WxfH8xOz/RlHJ
         pldgSZ7yyrE4+ZRUzqBljgCP56J0DCpXFE/WOCf/2m45Mi6ElQpkZu5xLadEvVzQAUU6
         E2xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692697512; x=1693302312;
        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=9VfBCvp+lAdhb3vS0UcFySyoen6a3yAs2OXAZaKdJ+8=;
        b=AhoGq/ldM2sKjzHURZ24PUthfpOdgp2W95Pb9FYX+EduoCG2lDIilrigaNAlShcA2R
         KlbA1R4q38JiyV0m8GNtn+uGzYj234BL48Ad8EO2EiOiTaVEyvvwzgWgbRSpj849WY3o
         Fmkndsil8bVTzgl4wlbeMLHhL3snus8kUt2u61Oy9L7tsHxEw0uFUnhbTZQsFqBSR8Uk
         PoRNy5VRJWXlRTY8Qx6Uvig3OjLLJ9XaKPKm69/7pSDaUGghWjWWk+C4ywCGd06Hjc8y
         OBEWQNNg6O/yYS/aNlS4dDfqS3VsReB+eax7uhsNql92e/RDg0Mj6C4uBY/nc2MwIcYN
         Nwag==
X-Gm-Message-State: AOJu0YzMAJ03Y879UpwDRxVxuQU7G00XCy64gvXspbfbSFR5lyaVcs/G
	RRcA1UzEcRhvswa1+c9fDcAlVQ==
X-Google-Smtp-Source: AGHT+IE+iHecosexqebaSGs2cp0IYCYy55vkn9aeuegJ7zhQLKrPZoKbcw/+cfe+SShEk+jeSVs9tw==
X-Received: by 2002:a05:6870:a9a8:b0:1c1:2a3e:8e1f with SMTP id ep40-20020a056870a9a800b001c12a3e8e1fmr11554193oab.30.1692697512302;
        Tue, 22 Aug 2023 02:45:12 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Erik Schilling <erik.schilling@linaro.org>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH V5] xen: privcmd: Add support for irqfd
Date: Tue, 22 Aug 2023 15:15:07 +0530
Message-Id: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xen provides support for injecting interrupts to the guests via the
HYPERVISOR_dm_op() hypercall. The same is used by the Virtio based
device backend implementations, in an inefficient manner currently.

Generally, the Virtio backends are implemented to work with the Eventfd
based mechanism. In order to make such backends work with Xen, another
software layer needs to poll the Eventfds and raise an interrupt to the
guest using the Xen based mechanism. This results in an extra context
switch.

This is not a new problem in Linux though. It is present with other
hypervisors like KVM, etc. as well. The generic solution implemented in
the kernel for them is to provide an IOCTL call to pass the interrupt
details and eventfd, which lets the kernel take care of polling the
eventfd and raising of the interrupt, instead of handling this in user
space (which involves an extra context switch).

This patch adds support to inject a specific interrupt to guest using
the eventfd mechanism, by preventing the extra context switch.

Inspired by existing implementations for KVM, etc..

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V4->V5
- Drop "default m" and update description in Kconfig.
- Drop INIT_LIST_HEAD() for kirqfd->list.
- Drop local "eventfd" variable.
- Drop unnecessary !! usage.

V3->V4
- Drop the imported definitions to hvm/dm_op.h.
- Make the caller pass a pointer to pre-filled "struct xen_dm_op" instance and
  get rid of irq and level fields.
- Enable the irqfd feature under a new Kconfig entry.

V2->V3
- Select EVENTFD from Kconfig

V1->V2:
- Improve error handling.
- Remove the unnecessary usage of list_for_each_entry_safe().
- Restrict the use of XEN_DMOP_set_irq_level to only ARM64.
- Import definitions from Xen to hvm/dm_op.h.

 drivers/xen/Kconfig        |   7 +
 drivers/xen/privcmd.c      | 282 ++++++++++++++++++++++++++++++++++++-
 include/uapi/xen/privcmd.h |  14 ++
 3 files changed, 301 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index d5d7c402b651..d43153fec18e 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -269,6 +269,13 @@ config XEN_PRIVCMD
 	  disaggregated Xen setups this driver might be needed for other
 	  domains, too.
 
+config XEN_PRIVCMD_IRQFD
+	bool "Xen irqfd support"
+	depends on XEN_PRIVCMD && XEN_VIRTIO && EVENTFD
+	help
+	  Using the irqfd mechanism a virtio backend running in a daemon can
+	  speed up interrupt injection into a guest.
+
 config XEN_ACPI_PROCESSOR
 	tristate "Xen ACPI processor"
 	depends on XEN && XEN_PV_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index e2f580e30a86..120af57999fc 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -9,11 +9,16 @@
 
 #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt
 
+#include <linux/eventfd.h>
+#include <linux/file.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/poll.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/string.h>
+#include <linux/workqueue.h>
 #include <linux/errno.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
@@ -833,6 +838,263 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
+#ifdef CONFIG_XEN_PRIVCMD_IRQFD
+/* Irqfd support */
+static struct workqueue_struct *irqfd_cleanup_wq;
+static DEFINE_MUTEX(irqfds_lock);
+static LIST_HEAD(irqfds_list);
+
+struct privcmd_kernel_irqfd {
+	struct xen_dm_op_buf xbufs;
+	domid_t dom;
+	bool error;
+	struct eventfd_ctx *eventfd;
+	struct work_struct shutdown;
+	wait_queue_entry_t wait;
+	struct list_head list;
+	poll_table pt;
+};
+
+static void irqfd_deactivate(struct privcmd_kernel_irqfd *kirqfd)
+{
+	lockdep_assert_held(&irqfds_lock);
+
+	list_del_init(&kirqfd->list);
+	queue_work(irqfd_cleanup_wq, &kirqfd->shutdown);
+}
+
+static void irqfd_shutdown(struct work_struct *work)
+{
+	struct privcmd_kernel_irqfd *kirqfd =
+		container_of(work, struct privcmd_kernel_irqfd, shutdown);
+	u64 cnt;
+
+	eventfd_ctx_remove_wait_queue(kirqfd->eventfd, &kirqfd->wait, &cnt);
+	eventfd_ctx_put(kirqfd->eventfd);
+	kfree(kirqfd);
+}
+
+static void irqfd_inject(struct privcmd_kernel_irqfd *kirqfd)
+{
+	u64 cnt;
+	long rc;
+
+	eventfd_ctx_do_read(kirqfd->eventfd, &cnt);
+
+	xen_preemptible_hcall_begin();
+	rc = HYPERVISOR_dm_op(kirqfd->dom, 1, &kirqfd->xbufs);
+	xen_preemptible_hcall_end();
+
+	/* Don't repeat the error message for consecutive failures */
+	if (rc && !kirqfd->error) {
+		pr_err("Failed to configure irq for guest domain: %d\n",
+		       kirqfd->dom);
+	}
+
+	kirqfd->error = rc;
+}
+
+static int
+irqfd_wakeup(wait_queue_entry_t *wait, unsigned int mode, int sync, void *key)
+{
+	struct privcmd_kernel_irqfd *kirqfd =
+		container_of(wait, struct privcmd_kernel_irqfd, wait);
+	__poll_t flags = key_to_poll(key);
+
+	if (flags & EPOLLIN)
+		irqfd_inject(kirqfd);
+
+	if (flags & EPOLLHUP) {
+		mutex_lock(&irqfds_lock);
+		irqfd_deactivate(kirqfd);
+		mutex_unlock(&irqfds_lock);
+	}
+
+	return 0;
+}
+
+static void
+irqfd_poll_func(struct file *file, wait_queue_head_t *wqh, poll_table *pt)
+{
+	struct privcmd_kernel_irqfd *kirqfd =
+		container_of(pt, struct privcmd_kernel_irqfd, pt);
+
+	add_wait_queue_priority(wqh, &kirqfd->wait);
+}
+
+static int privcmd_irqfd_assign(struct privcmd_irqfd *irqfd)
+{
+	struct privcmd_kernel_irqfd *kirqfd, *tmp;
+	__poll_t events;
+	struct fd f;
+	void *dm_op;
+	int ret;
+
+	kirqfd = kzalloc(sizeof(*kirqfd) + irqfd->size, GFP_KERNEL);
+	if (!kirqfd)
+		return -ENOMEM;
+	dm_op = kirqfd + 1;
+
+	if (copy_from_user(dm_op, irqfd->dm_op, irqfd->size)) {
+		ret = -EFAULT;
+		goto error_kfree;
+	}
+
+	kirqfd->xbufs.size = irqfd->size;
+	set_xen_guest_handle(kirqfd->xbufs.h, dm_op);
+	kirqfd->dom = irqfd->dom;
+	INIT_WORK(&kirqfd->shutdown, irqfd_shutdown);
+
+	f = fdget(irqfd->fd);
+	if (!f.file) {
+		ret = -EBADF;
+		goto error_kfree;
+	}
+
+	kirqfd->eventfd = eventfd_ctx_fileget(f.file);
+	if (IS_ERR(kirqfd->eventfd)) {
+		ret = PTR_ERR(kirqfd->eventfd);
+		goto error_fd_put;
+	}
+
+	/*
+	 * Install our own custom wake-up handling so we are notified via a
+	 * callback whenever someone signals the underlying eventfd.
+	 */
+	init_waitqueue_func_entry(&kirqfd->wait, irqfd_wakeup);
+	init_poll_funcptr(&kirqfd->pt, irqfd_poll_func);
+
+	mutex_lock(&irqfds_lock);
+
+	list_for_each_entry(tmp, &irqfds_list, list) {
+		if (kirqfd->eventfd == tmp->eventfd) {
+			ret = -EBUSY;
+			mutex_unlock(&irqfds_lock);
+			goto error_eventfd;
+		}
+	}
+
+	list_add_tail(&kirqfd->list, &irqfds_list);
+	mutex_unlock(&irqfds_lock);
+
+	/*
+	 * Check if there was an event already pending on the eventfd before we
+	 * registered, and trigger it as if we didn't miss it.
+	 */
+	events = vfs_poll(f.file, &kirqfd->pt);
+	if (events & EPOLLIN)
+		irqfd_inject(kirqfd);
+
+	/*
+	 * Do not drop the file until the kirqfd is fully initialized, otherwise
+	 * we might race against the EPOLLHUP.
+	 */
+	fdput(f);
+	return 0;
+
+error_eventfd:
+	eventfd_ctx_put(kirqfd->eventfd);
+
+error_fd_put:
+	fdput(f);
+
+error_kfree:
+	kfree(kirqfd);
+	return ret;
+}
+
+static int privcmd_irqfd_deassign(struct privcmd_irqfd *irqfd)
+{
+	struct privcmd_kernel_irqfd *kirqfd;
+	struct eventfd_ctx *eventfd;
+
+	eventfd = eventfd_ctx_fdget(irqfd->fd);
+	if (IS_ERR(eventfd))
+		return PTR_ERR(eventfd);
+
+	mutex_lock(&irqfds_lock);
+
+	list_for_each_entry(kirqfd, &irqfds_list, list) {
+		if (kirqfd->eventfd == eventfd) {
+			irqfd_deactivate(kirqfd);
+			break;
+		}
+	}
+
+	mutex_unlock(&irqfds_lock);
+
+	eventfd_ctx_put(eventfd);
+
+	/*
+	 * Block until we know all outstanding shutdown jobs have completed so
+	 * that we guarantee there will not be any more interrupts once this
+	 * deassign function returns.
+	 */
+	flush_workqueue(irqfd_cleanup_wq);
+
+	return 0;
+}
+
+static long privcmd_ioctl_irqfd(struct file *file, void __user *udata)
+{
+	struct privcmd_data *data = file->private_data;
+	struct privcmd_irqfd irqfd;
+
+	if (copy_from_user(&irqfd, udata, sizeof(irqfd)))
+		return -EFAULT;
+
+	/* No other flags should be set */
+	if (irqfd.flags & ~PRIVCMD_IRQFD_FLAG_DEASSIGN)
+		return -EINVAL;
+
+	/* If restriction is in place, check the domid matches */
+	if (data->domid != DOMID_INVALID && data->domid != irqfd.dom)
+		return -EPERM;
+
+	if (irqfd.flags & PRIVCMD_IRQFD_FLAG_DEASSIGN)
+		return privcmd_irqfd_deassign(&irqfd);
+
+	return privcmd_irqfd_assign(&irqfd);
+}
+
+static int privcmd_irqfd_init(void)
+{
+	irqfd_cleanup_wq = alloc_workqueue("privcmd-irqfd-cleanup", 0, 0);
+	if (!irqfd_cleanup_wq)
+		return -ENOMEM;
+
+	return 0;
+}
+
+static void privcmd_irqfd_exit(void)
+{
+	struct privcmd_kernel_irqfd *kirqfd, *tmp;
+
+	mutex_lock(&irqfds_lock);
+
+	list_for_each_entry_safe(kirqfd, tmp, &irqfds_list, list)
+		irqfd_deactivate(kirqfd);
+
+	mutex_unlock(&irqfds_lock);
+
+	destroy_workqueue(irqfd_cleanup_wq);
+}
+#else
+static inline long privcmd_ioctl_irqfd(struct file *file, void __user *udata)
+{
+	return -EOPNOTSUPP;
+}
+
+static inline int privcmd_irqfd_init(void)
+{
+	return 0;
+}
+
+static inline void privcmd_irqfd_exit(void)
+{
+}
+#endif /* CONFIG_XEN_PRIVCMD_IRQFD */
+
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
 {
@@ -868,6 +1130,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_mmap_resource(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_IRQFD:
+		ret = privcmd_ioctl_irqfd(file, udata);
+		break;
+
 	default:
 		break;
 	}
@@ -992,15 +1258,27 @@ static int __init privcmd_init(void)
 	err = misc_register(&xen_privcmdbuf_dev);
 	if (err != 0) {
 		pr_err("Could not register Xen hypercall-buf device\n");
-		misc_deregister(&privcmd_dev);
-		return err;
+		goto err_privcmdbuf;
+	}
+
+	err = privcmd_irqfd_init();
+	if (err != 0) {
+		pr_err("irqfd init failed\n");
+		goto err_irqfd;
 	}
 
 	return 0;
+
+err_irqfd:
+	misc_deregister(&xen_privcmdbuf_dev);
+err_privcmdbuf:
+	misc_deregister(&privcmd_dev);
+	return err;
 }
 
 static void __exit privcmd_exit(void)
 {
+	privcmd_irqfd_exit();
 	misc_deregister(&privcmd_dev);
 	misc_deregister(&xen_privcmdbuf_dev);
 }
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index d2029556083e..375718ba4ab6 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -98,6 +98,18 @@ struct privcmd_mmap_resource {
 	__u64 addr;
 };
 
+/* For privcmd_irqfd::flags */
+#define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0)
+
+struct privcmd_irqfd {
+	void __user *dm_op;
+	__u32 size; /* Size of structure pointed by dm_op */
+	__u32 fd;
+	__u32 flags;
+	domid_t dom;
+	__u8 pad[2];
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -125,5 +137,7 @@ struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
+#define IOCTL_PRIVCMD_IRQFD					\
+	_IOC(_IOC_NONE, 'P', 8, sizeof(struct privcmd_irqfd))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 09:56:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 09:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588342.919842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYO7P-0005kc-9A; Tue, 22 Aug 2023 09:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588342.919842; Tue, 22 Aug 2023 09:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYO7P-0005kV-5l; Tue, 22 Aug 2023 09:56:11 +0000
Received: by outflank-mailman (input) for mailman id 588342;
 Tue, 22 Aug 2023 09:56: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 1qYO7N-0005kL-Tf; Tue, 22 Aug 2023 09:56: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 1qYO7N-0007NV-Of; Tue, 22 Aug 2023 09:56: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 1qYO7N-0001Ci-8P; Tue, 22 Aug 2023 09:56:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYO7N-0008QP-75; Tue, 22 Aug 2023 09:56: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=bhYypm7uCBWFBopAqfM8iOgpRZioDFY9eII1iHTTBcc=; b=IIBMYtsYCx6I20gvE2ANBGBTD1
	A74JjrS1xCwccTsytaPxPA/8HoqZ+RTNniC6l2YBHxGFGtny/Ek+BZCs/Fubj1PQfCWisRbbdW4j7
	UuwymY6dGQf6BIQAuEObFcikYrNPQt/gqLhJwuIp2L1vRsY4D2x4SI7SOUfnU+pfiXPY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182414-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182414: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:windows-install:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f7757129e3dea336c407551c98f50057c22bb266
X-Osstest-Versions-That:
    linux=706a741595047797872e669b3101429ab8d378ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 09:56:09 +0000

flight 182414 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182414/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot fail in 182409 pass in 182414
 test-amd64-amd64-dom0pvh-xl-intel 22 guest-start/debian.repeat fail in 182409 pass in 182414
 test-amd64-amd64-xl-qemut-win7-amd64 12 windows-install fail in 182409 pass in 182414
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore          fail pass in 182409
 test-amd64-amd64-xl-qemut-ws16-amd64 18 guest-localmigrate/x10 fail pass in 182409

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop  fail in 182409 like 182405
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182405
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182405
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182405
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182405
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail like 182405
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182405
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182405
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182405
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f7757129e3dea336c407551c98f50057c22bb266
baseline version:
 linux                706a741595047797872e669b3101429ab8d378ef

Last test of basis   182405  2023-08-20 18:11:48 Z    1 days
Testing same since   182408  2023-08-21 05:42:03 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Herbert Xu <herbert@gondor.apana.org.au>
  Linus Torvalds <torvalds@linux-foundation.org>
  Pavel Skripkin <paskripkin@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   706a74159504..f7757129e3de  f7757129e3dea336c407551c98f50057c22bb266 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:10:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588353.919853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOLN-0008Ri-Ki; Tue, 22 Aug 2023 10:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588353.919853; Tue, 22 Aug 2023 10:10: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 1qYOLN-0008Rb-IA; Tue, 22 Aug 2023 10:10:37 +0000
Received: by outflank-mailman (input) for mailman id 588353;
 Tue, 22 Aug 2023 10:10: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYOLM-0008RU-Qn
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:10:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 207b3467-40d4-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 12:10:32 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PR3PR04MB7433.eurprd04.prod.outlook.com (2603:10a6:102:86::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 10:10:30 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 10:10: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: 207b3467-40d4-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OzC4cdlskZU8e/yR52BQfgP73mmgfzCz5Z2R9J6HGg2BRciDrUGekyHnaMpSV+X9+hr+eOIPagibHk/eyWdPSaE6Q5m3IX4XMNVmS8V4kxsN9BX+FHgzw/H6eBaLfkT4c59amoiLycvGlG+O5TUiD6AU3LDXXbI9Mms+f7p2cPcwUFW8iduJ77fm0qfcVL5l0zbHmG+rC5RtFbg4p2dAGF7ZoxxfjIbMXAeXrUQkRioBKNwmBRTI02D9gz+UJFwfAhxSirvmotsNF9iY8OrWqj8TUr/bbb4T11cDkCZpywdBLCSyQtHgLZ/V0vJXPImsoTl7tzN6pnmd9f4TevJ+/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KGVRD9WRRBN34gsmqp52PvyjeGnZinUBSkxiM0NpBxg=;
 b=BdpfpSaLaY6I2bmIZRoSX7YiK8GtobrocswIREa3lARNwmPvxce2vFEErQfQSST/dJ+oxxD5wU3uuVNi6JYs0Pyl1ROT4XuCn6i85J3kZHKmfqQnXt5eVQXgoqvakW7ffbeKav9icIGwEpGvsIuWuH4/2US4N+2meJ2bvVaFrxz782TpoDd0fKLoFt4HEhd5a51HvVUIcpogCFhYrjvnWK2Z44OlnNqqHmMze9yu5GWrmAbXAq8H3LrQIICpn8Tinr/VAbuwc0jYXTQrGbgGN6Fpd6Sm57HFbNdjUoXlsLxfRpclCFkDzBc/29QMzh9m/hQqWVlO+hEeJBvE/prtwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KGVRD9WRRBN34gsmqp52PvyjeGnZinUBSkxiM0NpBxg=;
 b=FosVsZWQLDnMVN/ZGcMhUCddUpSmPMJtEKsOPxNDtfJt1JCvcJXPBcf2pR/SmcS5BQv+tDkWb1zfME2Xk1XscVUBxbpbYqmGfCYNOlRbkJWfdrBgL5mwHzdT+r7FoQYFYHctGYyDXz6PPTIBI2WllNz3207UnJOElZee6v/9DGkkJVVbshnCz3RwiATAdcQe1zsOfEP+JUwMkwG94Rhe8giRixZQHP7jAuu7XJdsuEBlrJPT2eI4sd47WvaHpYBvqkskPGFIlBrzSXK3d7Ql3b2rwwdCGBAR7RdQ7xIKSZ81GNL5EtaIocrP+0d8Qw7RRu7bWkHLAb6bWQQFnxblxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a7c22fd2-4a5a-3987-1dfe-691107790c87@suse.com>
Date: Tue, 22 Aug 2023 12:10:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [RFC PATCH 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
 <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
 <eaef1c3f-490d-a21d-92d1-cfbee50dbdd9@suse.com>
 <bc278b7fbc9d3cb85ac2dd44088ab818@bugseng.com>
Content-Language: en-US
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
In-Reply-To: <bc278b7fbc9d3cb85ac2dd44088ab818@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0014.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::24)
 To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PR3PR04MB7433:EE_
X-MS-Office365-Filtering-Correlation-Id: e49ee3e8-ef7c-429f-b8f7-08dba2f803d8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3aQO55IalHsLxLIXJYe3qzRDzyKH8buMLCAktbOFVbya4LrfaSUKJO3gQuHFi+JGBIFZjs3ZtCtqHjqCRpz44T4VnL/gCNr9syZooN8ZKuiHM+0XerGq/AoOeR6f3ojEUdj91ZR4DwBlbQtaLWp8wRlHRLWzL7pVkJexOh7CtumXSMQ88Bsz7sgB8SplrG1fmo3KZDXbm0K0BpaexZN5LyZimzPuFsJVDOU3mnE2chRfIltm0qw3TYf7RdFjoDeE/GgHH6gzNSVvuh0Rd2/pjU8NGa2YXvohOabvoX/jw9HNRuXBNjJ2836el17u1cZI3C5dTGUAUbaaY7l39UItNSSJFlNNQS06vyAUDn7wNRRark6FJzob9tVhCGEttVjjewJwOugzpUPjr6ReCy1y9whJH60hmV+3h0qSAXb7YjozuVosrorR60MJkQJUZCGGeORrhIJiuP5X0G1bBzjlkFNsyEKaXjjZ5ve1EBLlhZKeGRRUgktZNVzQhv37pGWPDlIBEjFlGOZZDRgVNDhsRm44zCrpzoKogA4IwoTGHMqy4mvW17t8n+B83c+DD0620vT3FU8MgP/aGTpo91lGrhpGUqEKXEuCqKX/A2EsxMQrlAEyB/KdyV2rwNdS5IU5MRnXIxLVnRV6ugz72GoUfA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(396003)(39860400002)(136003)(451199024)(186009)(1800799009)(2906002)(83380400001)(6506007)(53546011)(6486002)(38100700002)(5660300002)(26005)(31686004)(86362001)(31696002)(8676002)(8936002)(2616005)(4326008)(6916009)(316002)(6512007)(66556008)(66476007)(478600001)(66946007)(41300700001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1o3SFdBL0lDcThsN0lUU0FxcUY3SmhjaFRXKzNiWCtuWnFFT1A2WHcwTEEv?=
 =?utf-8?B?VmxPQ0dJdHc1MlhtM1hyNXAzSjVpZjRtTzlzR3dHTHN0NmdYdWMyVHVpWDl6?=
 =?utf-8?B?OVlrNVIwZUVmRVIvSmQ2ZGU5eENUMkpxSTNsd0s2Z0NQRWp4a1g0cFhvMUl2?=
 =?utf-8?B?U2RpaSs0WHpnQ2czd0xmZGNCemo1TUVST3dXUXRZaTlzV1BxQ29tTTIwRkd0?=
 =?utf-8?B?cGdFSEd5RzVMc1lJWW1YRmJLemlxYTIzblhJVkwyQ2ZHRFFmZTE1RS8rTFNZ?=
 =?utf-8?B?SkpGa0xXT3dzRy9vUXVVQnFQZHpFM1h4a1YwaHZzL3Z0cWNzSlh1Zm9COGF3?=
 =?utf-8?B?bnlibld6VXdmRlZMZVcvc2IyU2k0a1Zsdmo5YUZsMytCSFZVRTY2b1BGRzBT?=
 =?utf-8?B?ZEpGemtxZkQ5cStMNzVKT3UvdlZOTlM5c0JSZXJPVklLMjZzT3p0ei96WXhz?=
 =?utf-8?B?cXA0ZWk4eXEyQmVrS1ZRdGt3djJLSGI0S2ZMazZ4S21nMXRFRXZrSXRjOWZa?=
 =?utf-8?B?aHVFcU94UFljaHBZUVNUT25EWnlONk1uYjREa1g5ZVhybHFyTkdFa2xJaUJ4?=
 =?utf-8?B?UFd4aVVJQ2ZXeWFoM1ZsSWE3ODZRV2lqbjFQWjZ0SW90VjZkamNiUmlMRnJt?=
 =?utf-8?B?QjIxWms5MEk1dVZXR2FpUSsyaWxsU1h3OWVPOXZpSHczV05pRGtZZlZYQk9M?=
 =?utf-8?B?SjdLVmwzL21Jc2dEZUcwVDRCaEN1YUt5bVdTeHlTM2h1cWt1ZUJvZWVMS00v?=
 =?utf-8?B?Q0lUT1ZRZ2NORU5mVkNjbWQwWkhtWmVMRitaQlloa2VYWHJPdGVheUJuT3JP?=
 =?utf-8?B?R0VkY0pjNlZ3S2FHaXFFaFcwZURFL2hHenBEaXM5eTBOVWh5eWZJRjNlZ2dV?=
 =?utf-8?B?U0xFL3YwQVZLQTRVaG4ybVp5cUpNMnNLYm01SmVSSGpIa2FUdDhKQ0dJR1E3?=
 =?utf-8?B?b2dBUDJ6QmdFRDArRDRpMm82OEo4Y2h6RTNaWUNtcGM2cGhJR2o1cDk5b0JM?=
 =?utf-8?B?aENZTEMyK2cvZHVoRis1anRrb2JXd3dJSU9CdVFRNDkrMGI0c3IwOVZKVW9I?=
 =?utf-8?B?VmZXQVVyVHZrdzdnWUcrenhBb1l2b1NXR0w0UVdsUEJ3TldURGNFbEh0ZjQ2?=
 =?utf-8?B?ai9GaDNldVVxOStwMG9YNFBXUjFJRUZzOUZYbFlpZ3NESkNBYUVxYTNveW1U?=
 =?utf-8?B?dzZidkg3eGxDaDZsaUErdCtJQ3Bab0JoL1NkU1pRNlFpYkFoMlNhTEtKT0VY?=
 =?utf-8?B?cTdCZWtqd1BvT0M3Z2Qxbk41QTd4WWtWa2U5RVFHcFVWbTFDVjRPc1h4Nlph?=
 =?utf-8?B?Y041OFdhZmNmbEV0aWsxc1I4SUpkSmJZQWtJbThocDhKcWJqZGxHT1RQWURk?=
 =?utf-8?B?NDFaeDN3emcrN2x2Smx1VDB0cDJEbHJmTUhlenN2YUxMYjB4NUVadWpsM1J5?=
 =?utf-8?B?ZEMvRFY5OGJwKytsSXVXRUYrVkJlODBPTTVKMlg3cjBYRmpZRXlJYTJpUGdj?=
 =?utf-8?B?Qjd5RnhETzdwd3JoaHQ1STBjRHo1blk4SW1FSXNlempjd0V1Z01qcyt4Qk00?=
 =?utf-8?B?SlptRUZkd05DSFZuRG9nU1dMaC9ZT3dkeG9Ka1NibzR0SVZYT0lDSjhocUVS?=
 =?utf-8?B?OERUQTF2U0RDRjJ5WlVraVo1TEJYaTJVbXg0NmxZZEhpbkJFdHRDNThFRWZR?=
 =?utf-8?B?Tm0xTG54c2x3MHFHcHRKQUJFM05COUdyL3hMZ2paYnA5b3RiZTRWS3hSTTFY?=
 =?utf-8?B?Sm82c0RKQWdBckJTUTdNenRua2lVN2Q5NjI2Y09nRnVMZG5TUnlDQk9aV2tM?=
 =?utf-8?B?SUQreGIwcVlFWkJPa1p3OVVwdi90elZZSGYzRnlPdmZlaXlWZ1N5ZCtKOUo1?=
 =?utf-8?B?SEQzUFM3UFhvcTZuVndJK2t4OFVmMWNwU2wyOCtVZGNFUjg5MDJhV0dwcjJ4?=
 =?utf-8?B?aTJ4bTVyVU5jY2h2TmI2alN6TlYxcDRKbVZXaWFvS1dNclNQSU1wOXJvZkEr?=
 =?utf-8?B?ZUFCKzFkcE9WODRwK2wwdHVrSTM3R0ZTN2VJL2E1aHI0YldoZjBlanNHT3k5?=
 =?utf-8?B?VCtReDBRajhlcnowUWhwWXhGbUFXNkoySlRNTU5VUVVOZlFXQzYxbE91akRa?=
 =?utf-8?Q?E8NGs96uC67dm6JIYIzrnfpux?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e49ee3e8-ef7c-429f-b8f7-08dba2f803d8
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 10:10:30.4263
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aqXX7CcDrPA1JdOv8GStRYbShYkK0aebeaca7S+TbwAK/Lb89Q9k/Ax4SFSYYqr99GOdLHGM713tmy8+A3HjUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7433

(Nicola, I'm sorry for the duplicate, but I didn't mean to drop xen-devel@.)

On 22.08.2023 10:27, Nicola Vetrini wrote:
>>> +C-runtime-failures.c: C-runtime-failures.rst
>>> +# sed is used in place of cat to prevent occurrences of '*/'
>>> +# in the .rst from breaking the compilation
>>> +	( \
>>> +	  echo "$${MISRA_HEADER}"; \
>>> +	  sed -e 's|*/|*//*|' $<; \
>>> +	  echo "$${MISRA_FOOTER}" \
>>> +	) > $@
>>
>> The rule of thumb is to generate into a temporary file (then you also
>> don't need to wrap everything in parentheses [or braces]), and then
>> use mv to produce the final output. This escapes anomalies with failed
>> or interrupted commands.
>>
> 
> I do see your point for temporary files, though wrapping commands with 
> parentheses is a
> fairly common pattern in Xen Makefiles afaict.

Now I'm curious: Grepping for ') >' underneath xen/ I couldn't find a
single instance in any makefile. (I'm not going to exclude there are a
few uses, but then likely not merely to combine multiple commands'
output.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:12:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588358.919863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYON8-0000Z9-1W; Tue, 22 Aug 2023 10:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588358.919863; Tue, 22 Aug 2023 10: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 1qYON7-0000Z2-UR; Tue, 22 Aug 2023 10:12:25 +0000
Received: by outflank-mailman (input) for mailman id 588358;
 Tue, 22 Aug 2023 10:12:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYON6-0000Ys-LY
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:12:24 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62b37021-40d4-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 12:12:22 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AM7PR04MB6902.eurprd04.prod.outlook.com (2603:10a6:20b:107::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 10:12:20 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 10:12: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: 62b37021-40d4-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UF5LVmtY5VnSkL2Wrci9kW+/tDGkuHuczvVjUmjd+7opmLh1XzsRwPIgVK897rRhW1mXk+i96WHEB5DHjFCabm0FQcqf01nR2yrcE3aWBFJrCaHYUt33a4vPb7WEDT179LtEjKyybw2CmRSJwfS56jSqtPHZYRWam8isZ/FVP7kyf0dTKsEkIxkQWWlQspUxWzRkjoXG8RNZ5xF5qrPSxDbkXw2JpzW/Dz+y4eACVilMYXK0dPkKcABDlfflIxnI1FjllFeJLynroFGlcngH8E62iLlDj0lGGUJnRD9aJNJQF/cLW1wY0tOYGKX3qFRg9AnaLhG5FisOYUiOj5zcfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SSQbIB30pzcT0a5XP+b1k0QJXvspq2CTTZMGfYu1ohY=;
 b=eNhzl7Q+BYvLVwt29deO1F8xldd03PEh26SjpaBQPWkwzx1EmqtrksGAmiH2wXSVLUEbv/M2zSwDnmg4KeeK0iWn4Kzyg66wX/ZBp1OCLxaQHNXdwtR9aDL8TJi+S+9osEv28ClCsYK3wZxLg3tFBiSiF7CWiMVaJ9ftZHDndP+QaUzu9FbVaxtfFarYOM5cQpQpL7JHCyeFXmAIwzY2vhzoeaxTjMi3m6XiNRZfqpemTEpkU/esKF+r5pFSDfILDS1mtjODXFg6bVwEvclMn/6bsXwrl7Gwxw59oOR+G7bYor/VZt1SjbLFVd9Eo/cuOKISImBTeKEHpuiC787mjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SSQbIB30pzcT0a5XP+b1k0QJXvspq2CTTZMGfYu1ohY=;
 b=O9Iu7zu6FsipqRz7HBtdoiYRcYHiHPMBWH7apzVcQ8KKjxr+SbQSN5UWfA1WZRq21eS1zz6tADR4H8gG4G2eNN14knTznyJcaQoDsiUPC+3HCc44fAeqymvd/G8LDalzI6jmFSY8Xd+i6eV3K7g2oo/bjJgu584FKI8RA+KHWl0z2ym5bt2/HHHTNJ+SOQCeMhcewza6CeUYDZE5sOHQ+NgjI21HX3wkQGy5eZEnJc43wQgnTDXd2oH+UBZChqQkAfBP4qPVbAglgdTM2qbVqNgnZlcmiQTh85gmI0PPcRVkMWB7iF+1J1b+FIgdr/26WCjGRU1im2NwAfs1QiEpUQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ee6fe3b0-92ab-e215-ea0e-091658b87138@suse.com>
Date: Tue, 22 Aug 2023 12:12:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20230822013014.2523202-1-sstabellini@kernel.org>
 <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::10) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AM7PR04MB6902:EE_
X-MS-Office365-Filtering-Correlation-Id: 02b90867-a69a-4418-c728-08dba2f8455c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZB316ahcSVWXJLuINxc6Z4c81I8XjvMOLd+YLJjKZIQeF5dTj7C+hYDiStc3YTqF3D86LIoV6Gh75xQ6in5ZwrVl7JNp5PV5yFemf97oVpZ2chSlodCN51bzVswhYT587wCDx70pa1Ko3l09ALxjxuYgcqvVcO91fR3E5s1wVjRdJ4rAql5rNTWDBJNkKugDzeqgBzI7XT8POjHuhdnt5YakcPRy4Ht+HbV+62ykyUyXp0i31Dvy/lUVjFFyQL+Km9CxvN76Z13c4Nmv8Lj0X1reSlqeXoUwFUzABEktmOwEek52tdDPKt2o86saE9XYkpu0GwPvb0nv0FQYbf2FfauZn0U4HE5M446+SDVHLK8mpCbs+vKwb9QCHozEYw+ZGxiAYrGzCn5uWaumAHGpkcbWBITvljKkBMpPFDfHCFSkXtLe3Bs6D3AKYZ2mxpbfVr8nn/daKv8LeWd0W0fI7tAf9FnQOhqlb9uU3HgUzfX3hggeqrkLZVLQpNmtB9TAa3+Vi0CJOhTwzjUOhYxoJYbvAEiHqO03muVPBBT5BDB55yrOr92IsvnmxbU+bQlx4ghiLDWzfVIQijd/AMKFuByN0RmfqnySBMUD/utibU8c84QYwhLbX+PTnBOrAG9+7qwaos/gsnXm+6kf2Si9Cg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(346002)(366004)(39850400004)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66556008)(316002)(66946007)(6512007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(6506007)(6486002)(53546011)(83380400001)(4744005)(2906002)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTEyVVJVQTBSVitra0p0cE82YmVlTWt6N0IvK2tNWk5kbE12UDRZMFZvcjBy?=
 =?utf-8?B?bVZHOUVGNDR0RStES0N5Q090Y2swSjNHbkc1S2RBMGpEdFZjZmdraGxGSWVF?=
 =?utf-8?B?RFhJeUFPdlRRdksrR1pnSTN0T2VYNTJIc0pPeDBlN2t0L0gwUzh6eUVHaTBO?=
 =?utf-8?B?Y1hmOUhVV2dqcGFFRHpNYnlaWUh4MmxQb00wc25WVE5xZ0lYblRMNjFRWU4v?=
 =?utf-8?B?TDhHNmJ1LzJwR2R0MDc0UXVKbUlYUUtkcWZ4RXphRnRHMTBoem5lN1FDMlE1?=
 =?utf-8?B?NWs0SG05c1BmOUJGaVZOZFNKT09CTklnY0VyMk5Ic2dVSVNPQ2ZWZytsU1Vz?=
 =?utf-8?B?NnZjY1lQTk9TSWMyRnk4M2NwcGN1UzlHMGM4SnBSTWpqR0tWRzU2T1dUWDRM?=
 =?utf-8?B?anBGOXpVR24rZDNTMjZ4ODZFa0VlK2FtS1ZkWFpkN1R0TUI3WEcxNzJRUFRZ?=
 =?utf-8?B?Q2pONkk1T2JCajE5bENITWxzcVpOa0xYVzVtdXRNMFJGNmMvTGI5cGxvWHJ4?=
 =?utf-8?B?U0R5Zm42Si9taG83b01tU250bnlzdWlnajRvVllseHJxM3hvb00wS3UzRGRl?=
 =?utf-8?B?ZkdlUjlpanB2WmI1YUh2L08vY0tvQVNRaVZtdUFHNTBOVW0vZGdoNDMyd1My?=
 =?utf-8?B?TGIxTDJUT0wrOElGWmhrRThFSDkwTC9OUFAzbVBQVCtjZVozY3RYMzdSNXBm?=
 =?utf-8?B?dFpkeUR2UXpodWdKNExBTDRIZkNWY011WTVwRnNiMkhkN2ZEc25TMDdkU2hu?=
 =?utf-8?B?dFJkYWx5YndoNE0zSllzRG01dXZkczZBQTZpYkFySjk0Q0J3Znh6SUIwRUF2?=
 =?utf-8?B?V004VzJTNHZ2QjJOMWRaNjlLMk9YK2dqcjNnWHFjaG5GMkF2V2dDSFo2dm0r?=
 =?utf-8?B?OGZBWTBBcDcxQ2xpeVlIN0ZRa2IxdzNGOUx3aFpBVkhOQURhc1hMdDVOUHlW?=
 =?utf-8?B?ZXN6NWhqbmU3cGZCdi81SHdFMXJGWVFxbkZTMm92Vnd1SWpDczJmQWJLdHVZ?=
 =?utf-8?B?YTNCbmMvVnMweEtaZ0VEUDNtTkhNMm5xZm9jbW8zd2dESTlFS3FUaWVZNWp6?=
 =?utf-8?B?S2lyUHVMY1c4K1JPaENGOEhENDg2MWUvd0V6UkQ1emZVV1g2U1poYTJRODQ4?=
 =?utf-8?B?RzRwYittamRmckdmRHBkcnluckFoeUxwMDJOQlhIZEV1TUdlNUhDWHhuOGhn?=
 =?utf-8?B?MWFUOENJKzUrN055ME92M2tEQjFoMHpTU28vREdPd2RQcVhUMHlxbm94cU56?=
 =?utf-8?B?TFpNUit0TUFvMUJBVG5jNzZmdHBIS3hOb3h6U1YvM25HR05rRGZ5SExTcVNy?=
 =?utf-8?B?TXh0dVNqRWQ5dXJWS0ZwNmtMTkxyUmsvMHZjL1NtUGtLcThXdHA5TFdDZFlT?=
 =?utf-8?B?MnYzd05LYW5pZE9YWENkQUlLUTh6aHVnMW5JaHpxZElwcFlhL1FnWjREaUVo?=
 =?utf-8?B?MWJDUjZydy93RjVzUCtObGRCM2hCRXhBQk1yNkhJRHhETTZEMzBhNHp0UkJH?=
 =?utf-8?B?WmIyblZWUG9JY3pPV1YxT0dVVXc0QWhDZEorZ2VQY0kyU2RCd2svY0d1QjM4?=
 =?utf-8?B?R2JmZG55WW4rcndWQWtEZWxnT24vZjltS2pkRXVEVkwxZ0o5S0lYZW9ZcHBJ?=
 =?utf-8?B?WHd6c21VUlgvNWppUG92S0U3MnNxQkhDWDFkSDZtU0ZWZjl6ZG5oeHZsSGpl?=
 =?utf-8?B?M08rcGRsVzdTRFRrR2RzZlEwYURRRnhEeGh1M2c5dk42elpwemo4QVpRWGRJ?=
 =?utf-8?B?MS9BZmlDRWVlTFVpK2xSdGxxZmRFNXd3NFJtVktxK1ZRZ01NWlJxY2sxUlF3?=
 =?utf-8?B?YTJlOWU3cFNIdnFXK3lxS3A0d3ZvSXM4ZDduUXNzL1BpSzl2T0FCUkl1M1hv?=
 =?utf-8?B?K1orSFZsVjgwMUoycVp6a1lPQXdjd1ozVzBKOGFCUGdsQmRNMmc2dEIvSkgz?=
 =?utf-8?B?TzczNFNvVzd1L1RZZlk3a3J3eXJqYyt5bWRpNlVKR0ZROWthbTN0QzdJbjd4?=
 =?utf-8?B?cTFGeFZVUTl2c0lSM1l4TGJQWHZvOXJ5eFNWbnplWm9RdTFFVjRuM0EyV2F5?=
 =?utf-8?B?UXBML0xOY2NrS0RpSXRCOVg5QnBwQUx3bkJqaXdvT2NmbDdlWUNEc0V6bk4y?=
 =?utf-8?Q?qeA7T4hEpDSRZ7dTfkL2foppw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02b90867-a69a-4418-c728-08dba2f8455c
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 10:12:20.3310
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M2Wwbm6xO1anUscBkPNHkxxUMrLn0Ltma1EI00pQKpjCMg+ZMMNgfQOKtLBHd0QiX2gQKc0dj+1+KcSk4OAMag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6902

On 22.08.2023 09:56, Julien Grall wrote:
> On 22/08/2023 02:30, Stefano Stabellini wrote:
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
>>        - Required
>>        - Precautions shall be taken in order to prevent the contents of a
>>          header file being included more than once
>> -     -
> 
> It is not clear to me why this line is removed. Was it added by mistake 
> in a previous commit?

The patch is replacing an empty comment ...

>> +     - Files that are intended to be included more than once do not need to
>> +       conform to the directive

... with a non-empty one.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:13:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588365.919873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOO4-000173-AF; Tue, 22 Aug 2023 10:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588365.919873; Tue, 22 Aug 2023 10:13:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOO4-00016w-7F; Tue, 22 Aug 2023 10:13:24 +0000
Received: by outflank-mailman (input) for mailman id 588365;
 Tue, 22 Aug 2023 10: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=Qkm5=EH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYOO3-00014l-6o
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:13:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 863482ae-40d4-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 12:13:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E2FD022C0E;
 Tue, 22 Aug 2023 10:13:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 92FB013919;
 Tue, 22 Aug 2023 10:13:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0EiQIkGK5GTqHQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 22 Aug 2023 10:13: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: 863482ae-40d4-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692699201; 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=xxCcJFVkWGPHiHfALfVE0+DCBpvjCYia2iGwSRYbf5w=;
	b=KQx9SdXusYeOdhZYEB6tFvaZ3ekgvv0NUG5SjUl+6toL/UGNYm8VhFUwKeaztbS1lh7F5p
	xsfiJ6TJXM1WjQNFkNZxEecQmGe7wIopHs1/WQ8170L4hzf2zULhINQCM1CKGCKpI5/fDw
	1StxxGOm8nN5RyTYtZHR/VUoUWyZfNk=
Message-ID: <54463c4e-53a3-42ef-9d9f-541f89e8c9ef@suse.com>
Date: Tue, 22 Aug 2023 12:13:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V5] xen: privcmd: Add support for irqfd
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
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: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ta7AK0jE88raaRbponKSi42H"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ta7AK0jE88raaRbponKSi42H
Content-Type: multipart/mixed; boundary="------------11VIutkP0Hpet8JeFn8Lb0aZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <54463c4e-53a3-42ef-9d9f-541f89e8c9ef@suse.com>
Subject: Re: [PATCH V5] xen: privcmd: Add support for irqfd
References: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
In-Reply-To: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>

--------------11VIutkP0Hpet8JeFn8Lb0aZ
Content-Type: multipart/mixed; boundary="------------tabT1XCUkQLuhkT5gVwGPtP8"

--------------tabT1XCUkQLuhkT5gVwGPtP8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDguMjMgMTE6NDUsIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gWGVuIHByb3ZpZGVz
IHN1cHBvcnQgZm9yIGluamVjdGluZyBpbnRlcnJ1cHRzIHRvIHRoZSBndWVzdHMgdmlhIHRo
ZQ0KPiBIWVBFUlZJU09SX2RtX29wKCkgaHlwZXJjYWxsLiBUaGUgc2FtZSBpcyB1c2VkIGJ5
IHRoZSBWaXJ0aW8gYmFzZWQNCj4gZGV2aWNlIGJhY2tlbmQgaW1wbGVtZW50YXRpb25zLCBp
biBhbiBpbmVmZmljaWVudCBtYW5uZXIgY3VycmVudGx5Lg0KPiANCj4gR2VuZXJhbGx5LCB0
aGUgVmlydGlvIGJhY2tlbmRzIGFyZSBpbXBsZW1lbnRlZCB0byB3b3JrIHdpdGggdGhlIEV2
ZW50ZmQNCj4gYmFzZWQgbWVjaGFuaXNtLiBJbiBvcmRlciB0byBtYWtlIHN1Y2ggYmFja2Vu
ZHMgd29yayB3aXRoIFhlbiwgYW5vdGhlcg0KPiBzb2Z0d2FyZSBsYXllciBuZWVkcyB0byBw
b2xsIHRoZSBFdmVudGZkcyBhbmQgcmFpc2UgYW4gaW50ZXJydXB0IHRvIHRoZQ0KPiBndWVz
dCB1c2luZyB0aGUgWGVuIGJhc2VkIG1lY2hhbmlzbS4gVGhpcyByZXN1bHRzIGluIGFuIGV4
dHJhIGNvbnRleHQNCj4gc3dpdGNoLg0KPiANCj4gVGhpcyBpcyBub3QgYSBuZXcgcHJvYmxl
bSBpbiBMaW51eCB0aG91Z2guIEl0IGlzIHByZXNlbnQgd2l0aCBvdGhlcg0KPiBoeXBlcnZp
c29ycyBsaWtlIEtWTSwgZXRjLiBhcyB3ZWxsLiBUaGUgZ2VuZXJpYyBzb2x1dGlvbiBpbXBs
ZW1lbnRlZCBpbg0KPiB0aGUga2VybmVsIGZvciB0aGVtIGlzIHRvIHByb3ZpZGUgYW4gSU9D
VEwgY2FsbCB0byBwYXNzIHRoZSBpbnRlcnJ1cHQNCj4gZGV0YWlscyBhbmQgZXZlbnRmZCwg
d2hpY2ggbGV0cyB0aGUga2VybmVsIHRha2UgY2FyZSBvZiBwb2xsaW5nIHRoZQ0KPiBldmVu
dGZkIGFuZCByYWlzaW5nIG9mIHRoZSBpbnRlcnJ1cHQsIGluc3RlYWQgb2YgaGFuZGxpbmcg
dGhpcyBpbiB1c2VyDQo+IHNwYWNlICh3aGljaCBpbnZvbHZlcyBhbiBleHRyYSBjb250ZXh0
IHN3aXRjaCkuDQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byBpbmplY3QgYSBz
cGVjaWZpYyBpbnRlcnJ1cHQgdG8gZ3Vlc3QgdXNpbmcNCj4gdGhlIGV2ZW50ZmQgbWVjaGFu
aXNtLCBieSBwcmV2ZW50aW5nIHRoZSBleHRyYSBjb250ZXh0IHN3aXRjaC4NCj4gDQo+IElu
c3BpcmVkIGJ5IGV4aXN0aW5nIGltcGxlbWVudGF0aW9ucyBmb3IgS1ZNLCBldGMuLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9y
Zz4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0K
DQpKdWVyZ2VuDQoNCg==
--------------tabT1XCUkQLuhkT5gVwGPtP8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------tabT1XCUkQLuhkT5gVwGPtP8--

--------------11VIutkP0Hpet8JeFn8Lb0aZ--

--------------ta7AK0jE88raaRbponKSi42H
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/Ey8FAmTkikEFAwAAAAAACgkQsN6d1ii/Ey+b
ZQf/c2Y5JkxuVsReoIua5GNLlHD+KlZJZhhjGbu4BjqyPmDLamsF3OHciwYdiIB/dtLjR/0S/c2a
GYF7KqPHeN34f+dv+fmZ8MdDETgql012DXoFSzKcR/9l1mgG9uwFd1WgyJhVrS3t6j4RXzdmQpm7
j4W8QZALDS+W58XYma8/x2IlNcNVE0I202EkU7b0TpnleXg+6g1FjGdlLTUMiA9uER0AG/VysO7l
OWiuAzCKa527YbY9DCYo2ssV+tNEvFyi2AjyL+6uyZ6J3XltSdzGkazbFtxIzCQhoiraJxPJJ6Wm
U++p7oNrhxBrX6NOqDxL1ikiqFtpmpw6bEVuBoAUYQ==
=XKIk
-----END PGP SIGNATURE-----

--------------ta7AK0jE88raaRbponKSi42H--


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:16:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588375.919883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYORM-0001pB-TU; Tue, 22 Aug 2023 10:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588375.919883; Tue, 22 Aug 2023 10: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 1qYORM-0001p4-PP; Tue, 22 Aug 2023 10:16:48 +0000
Received: by outflank-mailman (input) for mailman id 588375;
 Tue, 22 Aug 2023 10:16: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 1qYORL-0001ou-Ju; Tue, 22 Aug 2023 10:16: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 1qYORL-00083f-B5; Tue, 22 Aug 2023 10:16: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 1qYORL-00029g-1W; Tue, 22 Aug 2023 10:16:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYORL-0002YU-17; Tue, 22 Aug 2023 10:16:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mFIBELs6G3pX8DqiK1fH0vrf1rrhZT+TeY1aNxi98P4=; b=3RcgdyXid59Ra10ltKVikUaxka
	+unM/fhB75cuD8lMkLLsyv0AwX1eFWu7h8jeD0ExyBFT8O+15dgYW+u07UGXx6OURiqLKfJZuRCCT
	Ge26lrqQBmkq9PbgylQv05aeBrzmbJxKKVzaW9LVcULNzq1+uR/vPF/qlzgO/1vzKSlk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182417-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182417: 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=a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
X-Osstest-Versions-That:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 10:16:47 +0000

flight 182417 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182417/

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                  a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
baseline version:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e

Last test of basis   182412  2023-08-21 18:02:03 Z    0 days
Testing same since   182417  2023-08-22 07:02:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.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
   3fae7c56b3..a7d04b0e79  a7d04b0e7935620e9f8b9e693d818bf043a5ecd6 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:26:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588384.919892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOaX-0003UD-O9; Tue, 22 Aug 2023 10:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588384.919892; Tue, 22 Aug 2023 10:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOaX-0003U6-Le; Tue, 22 Aug 2023 10:26:17 +0000
Received: by outflank-mailman (input) for mailman id 588384;
 Tue, 22 Aug 2023 10:26: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=0QVw=EH=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYOaW-0003U0-Nk
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:26:16 +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 5269c09b-40d6-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 12:26:14 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-31977ace1c8so3923664f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 03:26: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
 l13-20020a5d410d000000b003142e438e8csm15449156wrp.26.2023.08.22.03.26.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 03:26: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: 5269c09b-40d6-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692699974; x=1693304774;
        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=SKYeOORBZ1RJnca57QBYDVsctt9Qy/3uL0qeoMx/vcc=;
        b=StdNGFd4pVG/Pa8dL13kTxIP97eKDIIOhVgsmUv0mr4ky1HCg7/J/k7DtLZIHheTWW
         25SQYJ9HcoiJlb/TzgJDqY5MXlsqZw1D5Vsg/Ijmy44RqdvkN8ypyympChqMxNsQvNLz
         +T20OCG4u2tWj3lEfcC1j8ypmZZQ7He6Y54Wc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692699974; x=1693304774;
        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=SKYeOORBZ1RJnca57QBYDVsctt9Qy/3uL0qeoMx/vcc=;
        b=WzXfyQR1drjp8YuUxYPPmA1xw3QTUMmdiX0E8X28V3873FxIe7XKD86lw0zLeykIZV
         aDo0XZU1o/fpLexzJs9+OT1mI42ST/2UU9uWj97u5zoYhB75BclR5dJEQ+s6rUjyFEBw
         KsMjuPOgsqHZJO6qmxQpEPNWhWxry/RPMk+fNHE2yMgSEaVQ2aLMu9vtAwmQWVoPKgbm
         CDjsQwv9tQJgJto5MSjcak/dKq1DjKjb+3w3b3VBGHjZN5qcr4HezyynS70B7uYjxk3y
         e7AtV4FPxFLM0czUmoDcxP3O8KnZ1B1IMvEs889ND35sX9Fa3eDBK9zIanyXcEPtvICg
         dBAg==
X-Gm-Message-State: AOJu0Ywlkba2erMKqp6eOlFh7zi8D4nDJtYA2L0zHn1FndZjihmzH8ue
	/Y+1PgC4i5MPtbafatLH6lCwNnkHGeJkIhucmhjVVg==
X-Google-Smtp-Source: AGHT+IFLswrSj3VDOqj78mvZi5n4OncOfAJbxrKZ+Ej09Ub1HdNycPHI/Dl+40twUz7iSdYMu1JG0A==
X-Received: by 2002:adf:f6cc:0:b0:313:fbd0:9813 with SMTP id y12-20020adff6cc000000b00313fbd09813mr5868160wrp.28.1692699973995;
        Tue, 22 Aug 2023 03:26:13 -0700 (PDT)
Date: Tue, 22 Aug 2023 11:26:13 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v3 1/5] build: make cc-option properly deal with
 unrecognized sub-options
Message-ID: <917c0f5f-f664-4631-9464-29f22d61a05c@perard>
References: <10ce72fb-4fb7-67de-41ec-7291dbac0038@suse.com>
 <60da37cf-abec-be58-d433-e98eec0c59bd@suse.com>
 <9dd1134b-8bc8-4fea-a2d7-dd20bd6af9c5@perard>
 <7aa1ecac-6978-ef52-ccad-a71ff878e42a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7aa1ecac-6978-ef52-ccad-a71ff878e42a@suse.com>

On Wed, Aug 16, 2023 at 08:06:52AM +0200, Jan Beulich wrote:
> On 11.08.2023 15:48, Anthony PERARD wrote:
> > But isn't it doing doing pattern matching on an error message going to
> > lead sometime to false positive? Linux's build system seems to works
> > fine by just using the exit value. They've got a few trick to deal with
> > -Wno-* and with clang.
> > 
> > For -Wno-$(warning), they test -W$(warning) instead. For clang, they've
> > enable additional warnings:
> >     -Werror=unknown-warning-option
> >     -Werror=ignored-optimization-argument
> >     -Werror=option-ignored
> >     -Werror=unused-command-line-argument
> 
> I think using just -Werror is going to be enough. The completely changed

Yes, looks like -Werror is enough. I'm not sure why Linux has them
because they tests flags with -Werror in most cases.

> patch below appears to be doing fine, but of course requires me to drop
> ...
> 
> > In any case, the patch is fine.
> > Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> ... this.
> 
> Jan
> 
> --- a/Config.mk
> +++ b/Config.mk
> @@ -81,17 +81,17 @@ PYTHON_PREFIX_ARG ?= --prefix="$(prefix)
>  
>  # cc-option: Check if compiler supports first option, else fall back to second.
>  #
> -# This is complicated by the fact that unrecognised -Wno-* options:
> +# This is complicated by the fact that with most gcc versions unrecognised
> +# -Wno-* options:
>  #   (a) are ignored unless the compilation emits a warning; and
>  #   (b) even then produce a warning rather than an error
> -# To handle this we do a test compile, passing the option-under-test, on a code
> -# fragment that will always produce a warning (integer assigned to pointer).
> -# We then grep for the option-under-test in the compiler's output, the presence
> -# of which would indicate an "unrecognized command-line option" warning/error.
> +# Further Clang also only warns for unrecognised -W* options.  To handle this
> +# we do a test compile, substituting -Wno-* by -W* and adding -Werror.  This
> +# way all unrecognised options are diagnosed uniformly, allowing us to merely
> +# check exit status.
>  #
>  # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
> -cc-option = $(shell if test -z "`echo 'void*p=1;' | \
> -              $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2:-Wa$(comma)%=%) -`"; \
> +cc-option = $(shell if $(1) $(2:-Wno-%=-W%) -Werror -c -o /dev/null -x c /dev/null >/dev/null 2>&1; \
>                then echo "$(2)"; else echo "$(3)"; fi ;)

I've try to compare the result of cc-option with and without this change
in the gitlab CI, and it seems that the result is the same for the flags
we tests. So this change looks fine:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:27:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:27:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588390.919903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYObV-000414-28; Tue, 22 Aug 2023 10:27:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588390.919903; Tue, 22 Aug 2023 10:27:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYObU-00040x-VE; Tue, 22 Aug 2023 10:27:16 +0000
Received: by outflank-mailman (input) for mailman id 588390;
 Tue, 22 Aug 2023 10:27: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYObT-0003zz-O5
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:27:15 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7662a5bc-40d6-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 12:27:15 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PAXPR04MB8605.eurprd04.prod.outlook.com (2603:10a6:102:218::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 10:27:12 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 10:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7662a5bc-40d6-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cJMkrhUJdcjR35JIwpDp0/thvPggDAHQHjZoXgCWirgds6JDKVz89k9tLFTDNhftUyO2tjOv1XdoGfwxWmo6Q/wXbvgR4P12ipYB4+GOh5TX7fkOeoqhl3k7jFx0rNnue9wtmVAXRhrgnBWZXSOlcU2gFDt5PCuP+eFzNVUHRFwynnQeCdIc5M9CxFV0uXoG/rC+nqzUpCbHjgJdo/sN2SE1F3sKQcYa8KnkcJ1TN/41GrEx+irKrTFR3q6T51Rb+PEOSH0+ksPbHddC8IsvaNdRqiggLvUUZxot5uwE4szRgED/RFIuP5ewGx63sjs7eVDRj8rigauzvDK3pSqJqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xrxqIlHykt0KIFQ9pGDd8kFqyJME4x89aJa7B5TbtfM=;
 b=N7/zTNZCyZQpXmb5g3KToIrMqIja4luG6uyo0q+ZaIeV6J412YXS8jFk4iYzYmO5J3MYYAjlsLCdp1WehtTl6l09kV+W7eV/51899I0G4HILW083r931UCTnLsxuVfB40Hry36NqeS8hvtIfcrkpriLanWWTA1bs/II3pBnUMRk+RF2DLS3XX10W5yGh8/6oicNYz6yvWua/qO0NdnsvBw8Rvf5gPB7VaPQ9HAGUXE6KDZV2SSWXYH0t7sDu9UG7yhS7iANYLVqSHv9fOMQrqo+Bs0YfYvZFtxBwoZv6u7a7bEaczY/ah9ACQFmCUE+V7wICNW3sxOeVc2Slcl/mag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xrxqIlHykt0KIFQ9pGDd8kFqyJME4x89aJa7B5TbtfM=;
 b=KMwZiLQxwROnJ+IjmzDXa8kaideuG1lPNEOUi+NpUgSixoAcc6fHUEluo9TXHUIf/VjVIvwScf+YMqeMomjBH4XQSAi8kap75jdeJHTdmM1Fm2xffbGRWTYplfqP9i444/JhCdAEMHWit2WScw9epkc7V0irAHG+MeNsTEjodFe7XVv/AaVYtPKSRx8PNstQjVaPW5KA4ddiZATfMvigFSfvwDpl/3DQvpDmfmPDuonW0QoFgsHLXHv0CaRczC86K/Iwi/3W5RZ05mnjI4YdAxVx0syAqc01uWJanX+MUaOkfKql9Il2G25aJCHt/h6UlSwCfWcwjOG8bt5tcarrBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2256ee98-e34e-2229-66ac-baf2337d7c30@suse.com>
Date: Tue, 22 Aug 2023 12:27:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 5/6] libxl: use the cpuid feature names from
 cpufeatureset.h
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20230725130558.58094-1-roger.pau@citrix.com>
 <20230725130558.58094-6-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230725130558.58094-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::16) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PAXPR04MB8605:EE_
X-MS-Office365-Filtering-Correlation-Id: 46769caa-18a5-4e29-a7fe-08dba2fa58e6
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rBNPeBWZFHmnBlGQmxuZfGH1GIVnh+UC4KV6HZzexTrAvxObt4oGoKcvqIFZy2MEyQT2lEAse4SVnZwdV+LGumSXq+KzhywMz8JAE4os6BMLVkmBGN4jWs4S4JkUu36g04qtBSQgDkPD+s7yPgd+lAsz1nXpII/etbIwKAJSb+i4xrv+qTlzgxEjAG9RxOVYRT0zjR1pxeJ50Z/0OJnMfOvw9FdcamFGyHORRGJcaqNRqZB5Uc5wIaka3rw+UHb2+nnWWDfr1+Rs7v962/p/u+xceVOjLvul3nzVzzEpOGO9UkoUpl98qeKNQMYBMWyx9L5iwSyaj4eOww9UGCdjNAARBEj3qNhUoi497bgIPWs40RCsZHfRFIod5sCfvgL4msa7ytusSvQA0DPAp+dMTkTR3gIZhi+L+rpifs9qTYAY4Fb+WnBxB/2NUpi8tmbiS5Uhz3z0URqsAZfCtLQoUiahqn3wwoui9uLJ50d7fHyj24rY7+EKBbxWcsnzKAHxOPy1Ihl1pXvNQ88wkAtUVQBWcdx0b1znZdsw2cbOxyvzp0B9qnyQRTkOjvz+oeA85C0N3a1c5C3+bFQg9k1pwvQ+J3v0fgaCO1QueHDVDJ0AQ/I7ZNXNsZ3iPQJhhQnm1mfbRv4JEcYGvP50a2R0yA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(366004)(396003)(39860400002)(1800799009)(186009)(451199024)(8676002)(8936002)(4326008)(5660300002)(53546011)(86362001)(38100700002)(2616005)(31696002)(6506007)(6512007)(6486002)(26005)(66574015)(478600001)(41300700001)(66556008)(66476007)(66946007)(36756003)(54906003)(316002)(6916009)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZC9oV25YMm5DVGp6aTViQ3MyVUpoOTJwcmsvNWlvTWtiWkxQSWhma0xsMWV1?=
 =?utf-8?B?MDR6MDl1dEdaSStGNU1UTlNYclB0QnNJLzhOWmh3Q1RKTllvRDMvY3dkOEQ0?=
 =?utf-8?B?QUhOaVJTbThnWmZUNWVOS0RlRmY3QmZKSVoySzMwb084VEpwZ2JObVAwNWJX?=
 =?utf-8?B?WmFaRmNEREFJMTJlREJZN0U3NHhQamVnVm1FaTd0TXZoRjc3OWxGeEwzeUUr?=
 =?utf-8?B?VmM4STdTNTR0eVFwNmU2UTFZancrREFqdWpwSVlSR0FrSXZ2bnZnSUlkT3FW?=
 =?utf-8?B?N1lHS0k1RmpoNnBwTGpDQlJ0cE5aREZqR3lvVFRLSXBJUWNkRStaRFdpQlFT?=
 =?utf-8?B?QnFyUGx3V3RxSjY1aEpwcUJiWFdoNS92R1IzTFJaaUF4bXRtTk1GUlRHWFIv?=
 =?utf-8?B?dUlqSmJ3Wk5HaHBqbVFqNXA0K1VrNmNYVUhzd2o1ekl2a2pmSVVBWGFvS0pv?=
 =?utf-8?B?R09VNlo4UlY3SUxmSFFHRlRjTzBEaE5FS3VXcTRLNXQ4aWpiazEzQy91TFpn?=
 =?utf-8?B?L29mbE13cGxySmcrc1VkMWpJTHVVSTdMdnVQS3BBMUlHTDNYVHlIVDY2OHpW?=
 =?utf-8?B?eThqQXNadE5sNm5oS2t0OCs0ZGUyaEZJZlkrbHdqV3dEcnRxU2RaQzcrbUFN?=
 =?utf-8?B?Rnhqayt3d0ljbFY0M1BUbXVoS3UxRC9kcXpsN3llVzdGZjhrdHY2M3Y3M0FP?=
 =?utf-8?B?a2lQcU5HTmtJa0VqbVEyQW82enBFM3BOdEM3ODdwUVpPekpGaEdFbTJtZWJz?=
 =?utf-8?B?d21kc0ZMZmdxWGZ2U3hOU3IwMTVZOVgwKzU0NElxMWdBK3dXR3ViczR3ZExq?=
 =?utf-8?B?THFERHhOa3VvUHQwWWJwbEZ1a3BSdlIxaWc0bUZub2tDVUV3eTNzTmxrMmpQ?=
 =?utf-8?B?Qmc2YnVLc0ZzTzVUbm9nbnVKaHJiMXo3M3l0eDNFQVA2T3NBOXJlaFdkYm15?=
 =?utf-8?B?bmFjbGJMWGZoNmFULzczTlpRVytRZFN5K0FHVTJTd28zQ2dBZzQ1TGtVdmtV?=
 =?utf-8?B?TGFiYVUrLzFGMlRDRXZGREEyUTdIamxPalJMWURMVTloNGx3UHlUSkZmV0cz?=
 =?utf-8?B?VzdSOTVGZDlnT255S0tiRXNvWHl1eGlpVVkxL0VYS1YvTDlNN252NzM3SExl?=
 =?utf-8?B?U1oxOUlaY3ErNG1iWnloNFo3R2hWVVJLUVRZNUgxS2RpL1V6dXFueXpDS2lP?=
 =?utf-8?B?SitBNisxYTFWUU1iZVR3ckozZS9ZWXR5dVBjWGNscWp6YkYwNHpUd3FpbkFy?=
 =?utf-8?B?NzluQUJxRG5VYU80QmlpU3NCQXh5SnpPTzJBSmhkbTEwK0lHQ1FWNW94aUdy?=
 =?utf-8?B?djh3RlZ4Q2ZBaTVjWXAvemkvS3QveHI0ajdtRjBxcXFUV1hJd01ISDRVcVhy?=
 =?utf-8?B?aFV1ZFhQMEkzU2IxWVZTMkpIa2RyYnIwaGpVcGNLUWgvL3VXcEpFVkRaMVRq?=
 =?utf-8?B?N2V5aFRJYitKRVBSUUtKWU8xTDM0bS9FcnVDU0VNcllzY05lN2JyUWgxUkNO?=
 =?utf-8?B?b0dBcXRLUmgvMzB1UXk0K1BjR21rSmJEZzZEa2M4VVFJTjZiYnpRd29pN1J1?=
 =?utf-8?B?c0JqUXZnU0NnUjEyT2hjYWNTWmcxUG5Zc2VjNGlUcGZKU24vMWRVUU51Q1ZV?=
 =?utf-8?B?eEdVTytQRFVoelRpVmZMczNxK1pPcC95VWFYUkxTcjEwTzRhODg2OW80VUpN?=
 =?utf-8?B?WWt5RFA4cklLWmllbHA0KzdmNXh0empaZDU5OGl3aTJ6Ym1BS0ZpbDY0blYw?=
 =?utf-8?B?VU9xa3R0NExMVXVCUGN1em1FeXJ6SG5lZjdxc3VlUFlYNmVJS3Jxd052MkNp?=
 =?utf-8?B?SWlKVHlpRmxjelZJbGNybkR4TFUwaEVodzlpQUUzSFRFYWROMmlONUxNQUpS?=
 =?utf-8?B?SnVWSnV4dHI5R2MxaUJKSGFxYU51NGh4NGRiVUtteW5wMVZKbkR6dE10UGV0?=
 =?utf-8?B?RGZYNlBmS0tqRXpmaDV6bHNlUUV6c241K0lPSUlWdFBIWjNBN3h6a0ZhRk5p?=
 =?utf-8?B?bDIyYThrZ2YyczhPbWl5b0VUUzRqUzQwYzRmRC9RY0grMlk4Rmp5akZuL202?=
 =?utf-8?B?T3dxQTcvZXQ2Lzc2SUZQZGJzbzVXemxSV2Jja0htL2dLQ0l5UXJ4L2Z4S0tz?=
 =?utf-8?Q?xFnlANxKtHpeyUkgMjPaX+tzg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46769caa-18a5-4e29-a7fe-08dba2fa58e6
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 10:27:12.1577
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3DHYn9SllacW3BlQVi1YGvseS6zpW8D4vt2lHcoKvb1YWjaU3ekoIr5yIRKMCVNqHA3xnDypHV2aG0JIvnHt9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8605

On 25.07.2023 15:05, Roger Pau Monne wrote:
>          {"invtsc",       0x80000007, NA, CPUID_REG_EDX,  8,  1},
>  
> -        {"clzero",       0x80000008, NA, CPUID_REG_EBX,  0,  1},
> -        {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
> -        {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
> -        {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
> -        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
> -        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
> -        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
> -        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
> -        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
> -        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},
> -        {"no-lmsl",      0x80000008, NA, CPUID_REG_EBX, 20,  1},
>          {"ppin",         0x80000008, NA, CPUID_REG_EBX, 23,  1},
> -        {"amd-ssbd",     0x80000008, NA, CPUID_REG_EBX, 24,  1},
> -        {"virt-ssbd",    0x80000008, NA, CPUID_REG_EBX, 25,  1},
> -        {"ssb-no",       0x80000008, NA, CPUID_REG_EBX, 26,  1},
> -        {"psfd",         0x80000008, NA, CPUID_REG_EBX, 28,  1},
>          {"btc-no",       0x80000008, NA, CPUID_REG_EBX, 29,  1},
> -        {"ibpb-ret",     0x80000008, NA, CPUID_REG_EBX, 30,  1},

Noticing only now, while doing further backports: Why was btc-no kept
here?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:33:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588398.919913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOhZ-0005fX-M3; Tue, 22 Aug 2023 10:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588398.919913; Tue, 22 Aug 2023 10:33:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOhZ-0005fQ-JB; Tue, 22 Aug 2023 10:33:33 +0000
Received: by outflank-mailman (input) for mailman id 588398;
 Tue, 22 Aug 2023 10:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYOhY-0005fK-4v
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYOhU-0008QS-TQ; Tue, 22 Aug 2023 10:33:28 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYOhU-0008L6-O4; Tue, 22 Aug 2023 10:33:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=IqCk8t5Gih/6Xn73nPsCubatd35DupqecbM+TV+Til8=; b=WSu6CO6VvouuWwMa+u94wzR2h/
	BtIEvScxHTbGYqn9tXD7e5P1meoNi6ef++xWXmfNXQusQaFtVGyszs1qq8WDHm5/Fjp69QvrVqxnR
	KBU/HPei+GQ8PJMAFbUMXdVp8GL+Mwk3yYWiwmML0HMl+5JSETWxDt7lTjZ+N/VdGUL0=;
Message-ID: <efd756ff-9fc1-49a7-b5d7-841915a9ee63@xen.org>
Date: Tue, 22 Aug 2023 11:33:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20230822013014.2523202-1-sstabellini@kernel.org>
 <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org>
 <ee6fe3b0-92ab-e215-ea0e-091658b87138@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ee6fe3b0-92ab-e215-ea0e-091658b87138@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 22/08/2023 11:12, Jan Beulich wrote:
> On 22.08.2023 09:56, Julien Grall wrote:
>> On 22/08/2023 02:30, Stefano Stabellini wrote:
>>> --- a/docs/misra/rules.rst
>>> +++ b/docs/misra/rules.rst
>>> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
>>>         - Required
>>>         - Precautions shall be taken in order to prevent the contents of a
>>>           header file being included more than once
>>> -     -
>>
>> It is not clear to me why this line is removed. Was it added by mistake
>> in a previous commit?
> 
> The patch is replacing an empty comment ...
> 
>>> +     - Files that are intended to be included more than once do not need to
>>> +       conform to the directive
> 
> ... with a non-empty one.

I understand that... My question is more related to why we originally 
added one? If this was done on purpose, then why are we removing it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 10:35:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 10:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588404.919923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYOjA-0006FK-0u; Tue, 22 Aug 2023 10:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588404.919923; Tue, 22 Aug 2023 10: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 1qYOj9-0006FD-U3; Tue, 22 Aug 2023 10:35:11 +0000
Received: by outflank-mailman (input) for mailman id 588404;
 Tue, 22 Aug 2023 10:35: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYOj9-0006Er-9N
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 10:35:11 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91c47475-40d7-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 12:35:10 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PAXPR04MB8703.eurprd04.prod.outlook.com (2603:10a6:102:21e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 10:35:09 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 10:35:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91c47475-40d7-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H/VceEl59zgkhMkYw8YJFHpI90EmRrQ3fp8mxNHW+7LOmvPvB4hamxam17y4uONKrvTDL3haOVX54lN730DupFsx5Xr3CbXSuho2CJFXbN/hYy2mD0275ftV8IGl/leqokZ9h5CJy2AgAWinzX3qgR4oN2yw1n66GfuXhBqp6gdCZdVxADzGedylAYforqUWJXrIfSIzwP69L5tLcbaJ8C4FMnPbgmNzGv0sRD9nR8CJDZTE9iXbfZpEC7dnrOMY3raZrYV7SBh7TLY7MV4QxjdzyvUP2LnjeT9HL60lyrGGR8QHR3GRvYkdQAqnCr+jkEGx5QxnB5tqxhJjoJ550g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PGuOoiNX4r4Yu6Ha5lLQw9b0S5VPebQt9k795FeBvc4=;
 b=ZzHVxfkLDfsjSxH/ybYiFn+FsfIEVplWFITM1Ytncpcr0uVDruOnphBCiMGoUFbs8xQquNdangvwVYijftoZfET32KDOLpxVV+Gx9uNgu9ksy/T+O0O7+oZkvN1D1el8R+VG276Hvl07z1BdiMbyjoVZ5nOLjhoyhAyOzen6YrF+Ix95B1MIwkxtlyigCKFsnmwWHX7fGXDUzai0j2zGgwDdPeYxD+M3Mz4eVR81OPOgWuECIQiAzW7IO7sKFvWi+bHK/EalQFmrpxpqfxk5kKC/PT9PhZSPmWqEt+YZGfgPfk+oLIf75HBtjVetSQTUZo1TDODvoM+nC9icR1AW4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PGuOoiNX4r4Yu6Ha5lLQw9b0S5VPebQt9k795FeBvc4=;
 b=mP3e8fh5RvR0EkAU5A9dgaD/ieMSWOBW8xQRQ40GluVAHyP2WguJMyn1UxEmjDrvFyx2Q2EptJC9lDNZHseYv3Ev/qKD/2IOQySnFyLjIVlrXQwXolCKLBLFnAc3hIaNRrjMMY49xX7qzDWDl7yxjA5qn1oZ6ed3mhYx/zgn7SSECxd6iH2FWw1kKRP64gas+J/94jT5dysxWUPo8j638TYr2swe4LQOK5RhwlK1OUQ9KIbxZMeXpvRNL9oa8GyImcVU/eS8ogGBbeTd/qdNgXJuD+BSR90jNcUK6H+qRDfJkoWWsgtSedfoqEVdBgTa5r7xsCThGa+2/AuqJ89sdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <659abb38-67ff-bb6e-bd62-b1ee90860304@suse.com>
Date: Tue, 22 Aug 2023 12:35:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20230822013014.2523202-1-sstabellini@kernel.org>
 <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org>
 <ee6fe3b0-92ab-e215-ea0e-091658b87138@suse.com>
 <efd756ff-9fc1-49a7-b5d7-841915a9ee63@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <efd756ff-9fc1-49a7-b5d7-841915a9ee63@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::18) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PAXPR04MB8703:EE_
X-MS-Office365-Filtering-Correlation-Id: e271bb44-7247-4339-7f4f-08dba2fb750f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4wXKcVxIHbXj0C2Skmt0gwPq6B3M1XNWrquoBDDXR8hHEF+rZz/K7fYknDIp9MrBhqWfXscgsWutrLvlMc80BIHUM+KhMPMVpcIpV9N6FAeKjGaVN6nRJxJ5ajNRp1FQoABw0/ig71nemIKZ/Y4Hx1NyrhJhaEoEKwRdvvoKHdHjh9EA0B7aMemsnh35lKE6xfMfw4VESWLRUcBTR7lT8qVCCTqF+ewTb8tDA/uO83cHOrNazbqQHH6SRzHN5KfL0Tx6M5ft3Ev/Gtud/93ikDl7Nu1WYTpYbFUz1fKAltLizSVeStX8hkBGOajQG3naQoAGxEjk25KEErERGKJNDjrNq8f6XReEfgQAZpA2upHSZzNOZqMTvISnY7J4zyOfKUBBr8gF5Fm/O6l6FXCKF+Ie2G9igHzT83BqYcuwfd+R2J0+Kl7GDlIpj9EgnoU3pVjFk37c4JnVc2IxAKhGd28Y4X6iKHM5pW3FLjtkBbY4B9ikCMIP3WZKSt6OAsEEjmaPW3E4brk9yhIxFNvIi56MSnHXZ1G/fFxPvSt/y8YpsXhJnJ1aRkHJ8LPRTl/OitaUcXpRpjrdgr1nD/HMYGNADvoef1B1YBV3qxv1/qTUXTPQljBqSi9k3UIdGRsawFkD08Qu933NougTSjKXrQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(136003)(396003)(346002)(366004)(186009)(451199024)(1800799009)(2616005)(26005)(6512007)(31696002)(38100700002)(36756003)(86362001)(83380400001)(8936002)(316002)(8676002)(478600001)(41300700001)(6916009)(66556008)(66946007)(54906003)(2906002)(66476007)(4326008)(6506007)(6486002)(31686004)(53546011)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3lqNk5wSWRzTHp5Rk0wTUdhMktFcUhVN0VVbmgva3kwWTNVQ2dzNkdWQjYx?=
 =?utf-8?B?SVZKUUNQRzgxL2I2K2IyS3B6Mmtwdy9aYkw2YnRyMHgwQlBFRlc4QjRaem5O?=
 =?utf-8?B?Wm5XbUVHdkI0TTVHcnNrNkw1cFJNOWlmbzd0VkJDUEY1ZmQvdkZ0dlMvZXMr?=
 =?utf-8?B?dHI0SGRVcGJ6aWcxbUZHWnRkdFpIaGtwMXFBTXZwcGFPM2xlenJRTjAwWWUy?=
 =?utf-8?B?ZU8xSVpLS2sxeW1yMmtCZXQreVc4Mk12ZUM1aTU3elErQWswNjQ2VHZrYUI4?=
 =?utf-8?B?b1luUjQzc1I1bFljZWpmdEpoSnRVc21LM1IzaTZvYk5pcUVNdlh4SlVKZjUv?=
 =?utf-8?B?N3hZT09nS0ljRDZwUS9pby9iYmY0U3BmaFA4eDdxT2hTQ1J3MFBjMit0U3dS?=
 =?utf-8?B?ekFlZ2N5VHNHVW9RY0JLdWtZRU9ZbDVrdDBhVWMzczZFNnF1VnkzZmpGY0RN?=
 =?utf-8?B?OTN0bHNDdHZkV3hnSEllK29qQ0NhMTVucGlTVGJoT1h5M2hibm1qb0RiSDJn?=
 =?utf-8?B?TS9YQmpOeURIMjlRNjBCZlBoeUpnblgzZkhOdGIxTnFtMnczOUprTElhZWxI?=
 =?utf-8?B?ZWh0WDJxMkR4eFl5U0pKOFh1WW1yM2ROZVZKQ2k0a0RBaUtvdkFhMmk1dURS?=
 =?utf-8?B?Ky83WjNZSXVBZFh2bFpYajI3SlBCb2tiWmR6OVl0aGRqcmJPME1PSFQwNEMv?=
 =?utf-8?B?eDVxK1M1VDJ2UXAvclBSVjlBam1KSS9GaHdmMHF6TXRZcW81SjJMbGhNNFJF?=
 =?utf-8?B?UWlGRUs0NnBlWG8xMVJibWFHUkxPbTlhVlFvUElvSFE5ZkYrb295OHZHOUdq?=
 =?utf-8?B?OHN2OVljclhhd2FRY1IzNmcxZ1RlNUdqeTVsLzFsUDVyZXdRRmFGZ2wrTFU1?=
 =?utf-8?B?Q29NL1NuTW43dm4zMXF1Uk5VTnNPSkVsaHp3WXVlcTdINUt2dXJZa1o0dHc4?=
 =?utf-8?B?SE1uRkJPT2ZOa09qdGZPTS9kMXA3dHlqMi9aZWxhZjEvUDlmVXNjS1cxNERH?=
 =?utf-8?B?YkhYL20wLzkxWkNyYy9Yc3M4MEdlbk1kUEdiRGoxTC9wbHAydVRuQldic0ww?=
 =?utf-8?B?R1ozT0NoYmtWRE9oYVY3RWV6TEw3QVh5b2p1SVl2REIyRWNmeDhpQ2tLVVFM?=
 =?utf-8?B?S2haMm0xdnlpbnVHdmJESi8vb1ZLRGFaTHhBV2xkN2phV2p0SCtUbUNFZ0Rr?=
 =?utf-8?B?ZXFTWDNTWS9HSXY0STZKL21IWENybHVOeEUzNEQrRkxkeFBYU2pQQ0VRUDZ2?=
 =?utf-8?B?U0N4TUVHdHZuZFFCSTJGdW1aR0VhK1pnRTdnRUIzUTVReWwyVnNEbHp1Mncw?=
 =?utf-8?B?TnBUK2lxZTJZNXZmMmNrMUdYaDM2eWFuUnJyVnZUNFNSNUNtUERuQTcxc0dJ?=
 =?utf-8?B?UjhhVVlHdEVSZzY1YmlLWlpPZUtwRngyN3FWampibXJGKzM3VXNQeTdiRzhX?=
 =?utf-8?B?eEtnODkxaXlQUFZOV2Ziai92TmFReTUzb2JKOWdidkVGMWVreTZ5cGpNQkQr?=
 =?utf-8?B?MUROUVJNdmNOcVY5WGNSSzZIdFpsMThNY0FoS2p5Y1owNTRNRHhXNGJlRkhJ?=
 =?utf-8?B?SVk1RHZjQW1tSGZvUWNrY1F6NTBSeGVtRW1odjBDbE9oTGVhTkJnSkNLUlJm?=
 =?utf-8?B?bFhVS1FIZVA5TnNETmxibktRbnpRWkxsT0hhQXBGckVnSkY4MXl3SXowZkJp?=
 =?utf-8?B?MTlPbTlRb3lYUmIwMG0yQ2xYMkVUcEhQSkhoTVUwMFBLeEdPYytEQ3VyZ1Z3?=
 =?utf-8?B?OEZTVHNvdENvZllLOGwvWWdjWUFHQ1Z5dkpKbVhBT2pGM1pGSkpiZWJ6ZmRn?=
 =?utf-8?B?UGYxTUVFYlhqTVNvTW1HS2xUeTAwMDYyWWdDTU93b1VYS2VqQWxBbEgyZ2w0?=
 =?utf-8?B?ZDd1Q3YzVng2V09XeThNemtEdk9WRVp6MWJpOFBLTzRpWWU2aklGOFBIaWIx?=
 =?utf-8?B?b0YyUlorUGo5cHNqNnFHbHBJOSthUDZCU2d4cm11SDF0aHhpdVV1YUY0eDg1?=
 =?utf-8?B?VUlTemppTlNadi9jb1lEeHM0Sk91SllEd2NURk5Id3lMVVpVQ3ppM09FUkdP?=
 =?utf-8?B?bkRqaGpiNXhSRDRCZVo3QTNWYTQxMzFnbGFLSmdrSDEveE4rZVcrNS9INHBl?=
 =?utf-8?Q?0+2NNEb47a1Bvc/jLdvkDC+TL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e271bb44-7247-4339-7f4f-08dba2fb750f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 10:35:08.8479
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XTe6PrShic5mHFNyg4pALmWDtmf0gfHhQuvBj2GtrCRYKVOYUFYAfz5IHdrovOeJWsg0XVuM6R1vcKMkK99xcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8703

On 22.08.2023 12:33, Julien Grall wrote:
> Hi Jan,
> 
> On 22/08/2023 11:12, Jan Beulich wrote:
>> On 22.08.2023 09:56, Julien Grall wrote:
>>> On 22/08/2023 02:30, Stefano Stabellini wrote:
>>>> --- a/docs/misra/rules.rst
>>>> +++ b/docs/misra/rules.rst
>>>> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
>>>>         - Required
>>>>         - Precautions shall be taken in order to prevent the contents of a
>>>>           header file being included more than once
>>>> -     -
>>>
>>> It is not clear to me why this line is removed. Was it added by mistake
>>> in a previous commit?
>>
>> The patch is replacing an empty comment ...
>>
>>>> +     - Files that are intended to be included more than once do not need to
>>>> +       conform to the directive
>>
>> ... with a non-empty one.
> 
> I understand that... My question is more related to why we originally 
> added one? If this was done on purpose, then why are we removing it?

I think the goal is for the file to be easily machine readable, and hence
the same number of sub-items want to appear for every main item.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 12:54:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 12:54:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588443.919940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYQtW-0004id-Vy; Tue, 22 Aug 2023 12:54:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588443.919940; Tue, 22 Aug 2023 12:54:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYQtW-0004iW-TC; Tue, 22 Aug 2023 12:54:02 +0000
Received: by outflank-mailman (input) for mailman id 588443;
 Tue, 22 Aug 2023 12:54:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYQtV-0004iN-Gy
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 12:54:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2040.outbound.protection.outlook.com [40.107.7.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f51f566a-40ea-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 14:53:59 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS5PR04MB9969.eurprd04.prod.outlook.com (2603:10a6:20b:67c::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 12:53:28 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 12:53:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f51f566a-40ea-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mAu4J20mkb2TLVfrKYgDFrfQhA+wuAJ0FK5MoRIg3TQU/Y1w62+KvqP3NhvtdoKwziECNs4FNJaqGwuP7x/uMuY10bwH+SYxPBfn9Liyd4vjdwhnWEYKFbTDaXcu5qInvIHJqpRUiqcg+bVTTlhR9SUtlAsdRB7Gdfk5X3opYtAiA4xUTfPa3TqYqqbnLfbBCmCvwmX0JRfPiOCIAxyFHEOvTlewuHh1wItvQsnQzx9YYZIf9dmydB/CTRn8xpCcxFSmHf7t+NiZT3fzwsfeKBGBLhk/QMOcC+RbQrQD4g84uSyvvR7DPI+I5NocNdxYrnzmWw+zUlDbtsF7f5clGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AW33a4gSbvOY3I2Cu/stQ74P9tsFG1s7Qcrsxxj+CXI=;
 b=BHaS/VpqDIyIgVdLCSJM6fulwTbazbuXZwoDsvYM9iBusn67bjfTJcTqutbjf1v0khIeyOd26BkdXpipSamKJCOWuaIGbtPpJ8ZsBobA7OExk+bD277SMZcPQHMPFEFqgyzB56oZMGwJ4U6vakeEkFk20CzikoCmONTnM1cSaXiUZaM3tQl8XVjIOW/T6NVUfx8R1MAoYOfWC95ciBucyxnGdeG0syiPkEzW2UL6SIvvN+w17WRgZnzTcde3PjatbStz72hkmz22csHoDQ6eK2x2ivNKU3w4rgmGSmgYz18o1lFtZJ/Zvh6tlQEIif+/OANCLUwf2AE+Tci6eg3Sdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AW33a4gSbvOY3I2Cu/stQ74P9tsFG1s7Qcrsxxj+CXI=;
 b=O5XGy6U63D88Fw0pKbFbzWEurMCNCTxr/WKFvwtG+MttAA9/r3NRzbdbaX3xYqdJ7OpsDRgiiOJiyhaijMxz4rYFZ8wA4QjSsSLV9W/aQbxja54fIsuNFC+X7/lTTJYIcRqQsb2FV5APihEjk+nUNk26URl/6lCqTvd772UxF6oAGAY+SjnPO3Mo+SP25HpRxreY6VtblFAwOa4lcfkUVOmXOoI8D3UhLhfXhWcuoHfghDYnIiVMtD3phCOHvT+Qr1lDfV4zxXWbTAFw9HFq6tdOZrlFz0lger6FbbaOoc13ez0ogNIcHHXVvE7pV0Uc/KsJ5UTXatNoGZcTVt+/rw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <31d4ae2d-1b25-b272-a5c1-2fef3dffb7af@suse.com>
Date: Tue, 22 Aug 2023 14:53:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/4] xen/pci: convert pci_find_*cap* to pci_sbdf_t
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822012955.312930-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS5PR04MB9969:EE_
X-MS-Office365-Filtering-Correlation-Id: 136772f0-1282-486c-d66c-08dba30ec7a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w5gXAV5gASkc85BSLzi0m3R+NwAwdvw0l9Pix6kYK/DmaKqA5hLj2neYKti/rneXHYoZsEvZcGrNiUaaU08Tauy2B1gCrhqcfNqQkAdIy5j+1hb9Ej1OOnfeveUoz4HtwNj/Y5meyPbEfFq/PeYiQ3KVspjNKzwLNhwRRt52EgK6npQT82DfV/PmuEyhOkPPmURE9tB5KBniwkKANM1EKLwF0dLBa7j/wWnXMY3U4oxfa01Mg+pFc38egkoXl0FhRx3+px1Obkiwg3kqrqzQUHKS0201tG+jOxtoO7ZrRUwM3Vs1oY94CzMi3at7d6kVWNlXsbzbt+HDPOjRcVriZYfFUneV0Mu1+dohNqBxnHEiWOR3cdFhFWpTQ+5UzxQffJwLazAWLWIAaTRLyDelBGYcaRLHDGD9CAx408cFvb4qXFKD5XJzK69sGz5o3/BtWcoYC81FiXnwatr3J03TRkHg6dkfxMwMKHjOa1AXIeoytqgiLtv8AvRgRUCrM3WMry5jvbqILfQofnIlvL8IUsoUBEhtbrru7KNeJgo2R5P4djdB5dbU4FQfMw7h+pw++XL6fhzmpP555feKOR96zIhpshYsZN/7LAwByCexZuoTX7ZhiBx9aPmc1HZ8mYufzGU60DjoGpA9LY84Jxo0/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(366004)(39860400002)(346002)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66556008)(316002)(66946007)(6512007)(66899024)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(6666004)(38100700002)(6486002)(53546011)(6506007)(83380400001)(2906002)(7416002)(86362001)(31686004)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dW9GVU5aVEx3anhreTNFZjVtSnJwWkNzbk9BRkR5Rk9lWkYzNEVLT0ZEeXJQ?=
 =?utf-8?B?QWFPVS8xSUJ4VmF0dk5EdzUyNkY2cUUyY20xVnkyOGR3R1A2RVJscGZzb2FW?=
 =?utf-8?B?bzNENFFkbTFXM0pzcTYxOFpXWlZTZzgrRjR6WDZJQUVKbU1KL045U2t1aWpq?=
 =?utf-8?B?NkFXblZkemJId09vclVuUGNzMHBNMkd1Z24wMTI0ajkwN2NoREJrOGxqZUU0?=
 =?utf-8?B?SVNpaEgrbjA4Q1JxM3dXOUhobW1Rc1BNZng1QUlubTEvbnRuSS83T3VsQnps?=
 =?utf-8?B?RGpUa0pmVmVmTFNHRUk4MzFHekhRQVZ3TVMwUWZIbWpiQ0lRQk1oS0RkeGti?=
 =?utf-8?B?ZUFHWlk5b0xGUnl4RStDZjhWTXNNM3AvOWhnaGhQY0Fjd1l2aTBOOEV0U1l1?=
 =?utf-8?B?ZGt0MDlvT0V3TWtpZ1liRjVIbmdpS0tHUFJYVjFRWkxEUWI1VXFqYUpWcFNa?=
 =?utf-8?B?SXNvcHZSMENtTEMzSjRNaE9hTXIxbTNqaC9vdytVSUx3YkNzWWlQVXgySHlT?=
 =?utf-8?B?M293elVHbWxnVURZcFY4TDhZZmlsd1JqeFhOVGFaUzE0T1ZId254UlowbjBN?=
 =?utf-8?B?anIrS2pEMTIrUjdJbnI2cHhHZ2FFZlUvelZLZUltT0dxMUtEM2JCVXJsS21i?=
 =?utf-8?B?L2Y4bThoSEZWb04wRTVETmZDT1AzMThOU1JnaTJ2N3Nob3ZBamsxQ1o5Y0lY?=
 =?utf-8?B?U24rMjJmOHJjWHUraHFhWTJwS21mYVNKZXhaekhjTmhQQXNFcU9aOE5QQUh1?=
 =?utf-8?B?cjBJVHRoNmI3WTJkTTcxZ3FuWFNPaWU2azFjNXd3akpFb1A3aW85Rk9vTndI?=
 =?utf-8?B?WC8zalByN2R2Q0pLbEM5a0VPUW91clRaR2xHK0IwSm8xbk11MjRjWDRmNFN1?=
 =?utf-8?B?cFFaWjZ0UmJhcWhaNVUvNFQ1QmRaZHF2SFFKWSsvVkdrUFVDLzJzcXlkMjBm?=
 =?utf-8?B?NFFrWHN1ZTEvZDNTcVg4U0F2dUxQMU53WlozUnkwNGRYbjFwclcyLzB6WjVi?=
 =?utf-8?B?NTdTclZUSjJVSWtpTk43MnppZkp4T1FqUUhxd1gwTy9nanhCaEhEZ1dyV0sz?=
 =?utf-8?B?aFVRTjY4ZWxTaGxrNHdIRnBFVFpHd1hoanU3TzVkZzNiZitsVVVrMHZwTmpT?=
 =?utf-8?B?STBBQVdueEtmS3NyVHlqYVZyL2ZaMzk1eUlRYkZMU082WWhZeVNRUmtXZVAv?=
 =?utf-8?B?djdZa1IvWVFwUXRINUpvTW9uUEVFODlYa3pKRHB2RWVHTG9SRmM2V2FjQnE1?=
 =?utf-8?B?T0JxMnJOZ1dhaEpuK2VYVFZmZGZaSjdBZmtlVDJTcHlJZlNnb01YcGxZZzY0?=
 =?utf-8?B?blRTc1J2eXVENkFyOHdGWFhWd2ZtMzJqeCtQQ3dQc0djYS8xWkhlYWZDMHU2?=
 =?utf-8?B?TnBXWlViT3lmNFFZcTBpRXd2bnQwQVhaUlMxTVh4U0lVNEppeUV3Um9PcHp4?=
 =?utf-8?B?d1FNQlJ4bnJFYmxVME0wVk0yR1RsR1BaNktRQk5zMjlIZzg4eUdHdlVURW5S?=
 =?utf-8?B?U0FsZ1duWUlDU0poR1RjNkpuY3p6a2pYN0phR3U3bkg0MEFPYWszNHhteHY3?=
 =?utf-8?B?Uldra2dSUVBYcUk5ZVJFUHlBR1NDdE9aQzVEWGxVZDNJY2JMeXZXR3VhZUhC?=
 =?utf-8?B?OXRDWTlmek1uNmVCb3BJVng2aGZLQXhjRkxXZXhPcVdzNTJTMEtibUxyeGtk?=
 =?utf-8?B?ZzNhZHI2Wjd0UHBOOFVLMkxzUG1QKy9ET2pMRkxBVzhmMUtpek40SUxqMXpI?=
 =?utf-8?B?T2ZrTUkvNm5hcHo1akxSNDFtdjgyRzdJSm1KQ2x5M01zVlV1Yi9zZTR0YjNa?=
 =?utf-8?B?S0NNNGR1U3hXSkhqVlFHc21mV3c2UklGUStReUhZQkZDV2kxNDFrT2V6TndZ?=
 =?utf-8?B?SUZxc1JGWEJOV3JvQjUxdENDZWFWenhIZTMyVVRJT2NuMURpQ014ZGE2ZGVP?=
 =?utf-8?B?ZWR4TlVicWwwQ0RDUzJaVWRKaU80NUx5N2Rxa0F0OWdycVh4SUtKT2ZmdDFP?=
 =?utf-8?B?S0Z0UTIxRVM4Q1ZYeVVMTEM3QW5FdXZCeHhaNHdlVUxSaENnenEvOGsrcEJQ?=
 =?utf-8?B?STJlbVluSFV5OWRZbFFqMUhyRlNHWGNaNG9OQzRUOHl6SHhWbFpOc1JHN0w1?=
 =?utf-8?Q?gkWcnzpkQYmkOCAqwnvxBz9uf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 136772f0-1282-486c-d66c-08dba30ec7a7
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 12:53:27.9249
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IGzjBnJ9ufNMWURDZKQ2os26WgTnSDqAVgLYFTAls5l5VqEsiAIpm2ho5qLqL/p2gUYhx81DPS5I4R2epESeWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9969

On 22.08.2023 03:29, Stewart Hildebrand wrote:
> @@ -291,12 +291,9 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
>  static void msix_set_enable(struct pci_dev *dev, int enable)
>  {
>      int pos;
> -    u16 control, seg = dev->seg;
> -    u8 bus = dev->bus;
> -    u8 slot = PCI_SLOT(dev->devfn);
> -    u8 func = PCI_FUNC(dev->devfn);
> +    u16 control;

As you touch such places, it would be nice to also switch to uint16_t at
the same time. (Similarly when you touch "pos" declarations anyway,
converting them to unsigned int when they're wrongly plain int would also
be nice.)

> @@ -318,17 +315,12 @@ static bool msi_set_mask_bit(struct irq_desc *desc, bool host, bool guest)
>  {
>      struct msi_desc *entry = desc->msi_desc;
>      struct pci_dev *pdev;
> -    u16 seg, control;
> -    u8 bus, slot, func;
> +    u16 control;
>      bool flag = host || guest, maskall;
>  
>      ASSERT(spin_is_locked(&desc->lock));
>      BUG_ON(!entry || !entry->dev);
>      pdev = entry->dev;
> -    seg = pdev->seg;
> -    bus = pdev->bus;
> -    slot = PCI_SLOT(pdev->devfn);
> -    func = PCI_FUNC(pdev->devfn);
>      switch ( entry->msi_attrib.type )
>      {
>      case PCI_CAP_ID_MSI:

You don't further alter the function, so this looks like an unrelated
(but still desirable for at least Misra) change.

> @@ -685,8 +674,8 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
>      {
>          struct pci_dev *pdev = pci_get_pdev(NULL,
>                                              PCI_SBDF(seg, bus, slot, func));

With this, ...

> -        unsigned int pos = pci_find_ext_capability(seg, bus,
> -                                                   PCI_DEVFN(slot, func),
> +        unsigned int pos = pci_find_ext_capability(PCI_SBDF(seg, bus, slot,
> +                                                            func),
>                                                     PCI_EXT_CAP_ID_SRIOV);

... please use pdev->sbdf here. Albeit I guess some further re-arrangement
is wanted here, to eliminate all of those PCI_SBDF() (and then also dealing
with the otherwise necessary NULL check). IOW perhaps fine the way you have
it, and then to be subject to a follow-on change.

> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -193,11 +193,10 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
>                     unsigned int devfn, int reg, int len, u32 *value);
>  int pci_mmcfg_write(unsigned int seg, unsigned int bus,
>                      unsigned int devfn, int reg, int len, u32 value);
> -int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
> -int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
> -int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
> -int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
> -                                 int cap);
> +int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap);
> +int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap);
> +int pci_find_ext_capability(pci_sbdf_t sbdf, int cap);
> +int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap);

The remaining types want converting, too: Neither fixed-width nor plain int
are appropriate here. (It's a few too many type adjustments to make, for me
to offer doing so while committing.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:02:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588451.919951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYR1L-0006Jm-Q6; Tue, 22 Aug 2023 13:02:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588451.919951; Tue, 22 Aug 2023 13:02: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 1qYR1L-0006Jf-Mx; Tue, 22 Aug 2023 13:02:07 +0000
Received: by outflank-mailman (input) for mailman id 588451;
 Tue, 22 Aug 2023 13:02: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=u85s=EH=citrix.com=prvs=59133c41f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYR1K-0006JZ-Qw
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:02:06 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 160bb14a-40ec-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 15:02: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: 160bb14a-40ec-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692709324;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=TlVAlZ31s9tX04Xo26upFirMQYSev2Qp3mm81UZZICQ=;
  b=J5lKD4p4OcrNEAVAaaG4EydFsvHart6h8NEBJGCJhPutlQ+ODksA88FU
   OQk3S740A7X2msb8qtNC/6HOjPkGOwiN/Q1+CAw2iHop+CAlqrpdE0CcQ
   KvW7nhpLF5Hc8roFP+f/aZl8q+u8a7luavjJ8dA38c6fQ2+qegi/v0nzX
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 118928949
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:6KOb0KjmVD90NF0gFdJiTS7UX161aBAKZh0ujC45NGQN5FlHY01je
 htvW2iDOvnYNDamKtx2b9vk9hwHu5fczoRqSwVor309RC8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AWEzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ9LSIxfC2n2tmW64KpWuVHgPgoDPHCadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 zKXpTSoXkBy2Nq30Hmbo0mjpPD2oQTCeJkoDoKzscYxnwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O/Yh9AiHx67Q4gCYLmsJVDhMbJohrsBeeNAx/
 gbXxZWzX2Up6eDLDyvHrd94sA9eJwAwKH0+dxIgEDAlyOnxsI0YiC7Ebu5KRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoS7LkWN4umsWyKJV3iEsIGSBX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YgLlHbpnA3NRTAhwgBdXTAdollZ
 f+mnTuEVy5GWcyLMhLrLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtaTOzghQCxPrc+m39q
 o8PX/ZmPj0DCIUSlAGLq99MRb3LRFBnba3LRzt/L7/celc/RDh/UZc8A9oJIuRYokicrc+Ql
 lnVZ6OS4AWXaaHvQelSVk1eVQ==
IronPort-HdrOrdr: A9a23:rV4Rfa5gng2VK40TJQPXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-Talos-CUID: =?us-ascii?q?9a23=3AoRrnz2tOJoSbV9233eIPcJuQ6IsAd2/h3kr0fnS?=
 =?us-ascii?q?YIlZ7WLG+T2Ob2JtNxp8=3D?=
X-Talos-MUID: 9a23:3R6JFwUGd4Ch4xPq/CavmmBZO+V32piJMWAWq485sI68bjMlbg==
X-IronPort-AV: E=Sophos;i="6.01,193,1684814400"; 
   d="scan'208";a="118928949"
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>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] CI: Update FreeBSD to 12.4
Date: Tue, 22 Aug 2023 14:01:42 +0100
Message-ID: <20230822130142.430189-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

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>

Example run:

  https://cirrus-ci.com/task/4911727880437760
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 9bb6cce4ead3..7e0beb200d7b 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -17,7 +17,7 @@ freebsd_template: &FREEBSD_TEMPLATE
 task:
   name: 'FreeBSD 12'
   freebsd_instance:
-    image_family: freebsd-12-3
+    image_family: freebsd-12-4
   << : *FREEBSD_TEMPLATE
 
 task:

base-commit: a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588458.919961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYR4a-0006vD-8u; Tue, 22 Aug 2023 13:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588458.919961; Tue, 22 Aug 2023 13:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYR4a-0006v6-5C; Tue, 22 Aug 2023 13:05:28 +0000
Received: by outflank-mailman (input) for mailman id 588458;
 Tue, 22 Aug 2023 13:05:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nKjN=EH=citrix.com=prvs=59114b803=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYR4Y-0006uy-Tb
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:05:27 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e364151-40ec-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 15:05:25 +0200 (CEST)
Received: from mail-mw2nam12lp2040.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Aug 2023 09:05:08 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB7158.namprd03.prod.outlook.com (2603:10b6:510:29a::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 13:05:03 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 13:05:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e364151-40ec-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692709525;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=ON1VZJ3f6fNVRk7vYW1bpwMguPFtxe8VCJscMEBXXYw=;
  b=A/oRrUeikAfYMrAZV4hhmIPfhnDiYcmLUlDYVcWJwkWp42mkj/zhyaf0
   n6X6U+Xx7k5cHoJ98LSi/Fjht6DNLOxowKemrpI8pzLafTJklEYJyeCLw
   nWBnW0DOCCt7N8s+JnVltkAnr6HU5tbnaqdvsE8GHfSKKJ/bZdA9477Wv
   w=;
X-IronPort-RemoteIP: 104.47.66.40
X-IronPort-MID: 119524328
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:UAfgSarplnd1UUr/dKQPHryzGfReBmIBZBIvgKrLsJaIsI4StFCzt
 garIBmCOarcMWH1f9EgbIWxpk4B75KGytVkSwBuqyhnFX9E9JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzSNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAA4WPwiTvt6U+6OcYMUrnuAvLu7uZJxK7xmMzRmBZRonabbqZvyQoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3juarbIK9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiAdNPTuHjrK4CbFu733QcVBwbFnmBm/i7j3G9aslHC
 VAS5X97xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnNQtWTUg2
 1uNntXoLT9iqruYTTSa7Lj8kN+pES0cLGtHYDBeSwIAuoPnuNtr0kqJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNf7D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:f+ckg6qrwP835UHZgPFu0g4aV5tMLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssREb9uxo9pPwJE800aQFmbX5Wo3SJzUO2VHYVb2KiLGP/9SOIU3DH4JmpM
 Rdmu1FeafN5DtB/LnHCWuDYrEdKbC8mcjH5Ns2jU0dKz2CA5sQkzuRYTzrdnGeKjM2Z6bQQ/
 Gnl7d6TnebCD0qhoPRPAh3Y8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzSIwxsEVDtL4LE6tU
 zIiRbw6KmPu+yyjka07R6f071m3P/ajvdTDs2FjcYYbh3qlwaTfYxkH5GSoTwvp+mryVAy1P
 3BuQ0pMchf427YOku1vRzu8Q/91ytG0Q6p9XaoxV/Y5eDpTjMzDMRMwapfbxvi8kIl+PVxyr
 hC0W61v4deSUqoplW32/H4EzVR0makq3srluAey1RZTIslcbdU6agS5llcHpssFD/zrKonDO
 5tJsfB4+s+SyLTU1np+k1UhPC8VHU6GRmLBmAEp8yuyjBT2Et0ykMJrfZv6ksoxdYYcd1p9u
 7EOqNnmPVlVckNd59wA+8HXI+eFnHNaQikChPSHX3XUIU8f17doZ/+57s4oMuwfoYT8Zc0kJ
 PdFHtFqG8JfV70A8Hm5uwEzvn0ehT/Yd3R8LAd23Ag0YeMAYYDcBfzB2zGqvHQ48n2WabgKr
 KO0JE/OY6XEYKhI/cP4+TEYegjFZAvarxqhj8FYSP+nivqEPycigWJSoekGJPdVRAZZ0jYPl
 wvGBDOGeQo1DHYZpa/ummcZ0/Q
X-Talos-CUID: =?us-ascii?q?9a23=3Ab7cdGmjEeQWYEyK+wflSHvw38zJuTGaM1GfpH22?=
 =?us-ascii?q?DGEFDZPqNbVOS36Y8jJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3A3WChhA8XpSFnEgDrMUCDzR2Qf95w7PivBQMvq68?=
 =?us-ascii?q?Hucy7Nh1rIxWBiiviFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,193,1684814400"; 
   d="scan'208";a="119524328"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h/I61DS8eBe4VbHOFItxqCDd1Z2JBv0GduLAMSGy2a6xOqJFkJgbI/hrhH1UdAslsnSMbSjiFxxH4ei+TUgTM1HQAaUe5Cpe0D8OFIrDBcDXvnYzfO1Db2/8bf/boeMVmdm1hWW/ZtoTwFfqTKtcA3p6uP4MlS+5x2/VCg6tzivONxPm05GbDEIWUekzQJ+VSoBe2Ov49zHNBx6Jbs1tkA6kDEsxZ5TmgWyuXcEMUH9ynO0x2GlotXRhXGGgBvmqbPjHXN5rz02G+XvDx6UOvBFCPz6eLkq+SBynMx5CWeHNc6bPxpkOksD1xRHARfaUNtOx1QS1KFK49ndcBiSgFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ON1VZJ3f6fNVRk7vYW1bpwMguPFtxe8VCJscMEBXXYw=;
 b=h/Bn0RtYuqSwHP0WTy9RoASUB0cMFc0JDifD+zTrMaIUXmaQpNR8dYFhhzIskuk7CYSayNGtSlWe7hJmmPHLtKcpkUp0luiBj8aciKftwZTCPMq5HjjdZIwU5RLuCxKh5wySlyf2UiN5E9UcaBK6x/dRvK3rBhmJbNBweix/pT9iLUsxWXnRr2U/xmjdZ38/sj9p67p4l4AKPNQ7gLXzfsQZfdvUBDW5yh54Ty42SXodZ2l2EPGmYUCCDuM63gRfO/cjwggiQ2g9vewsf7GJNBqMoD57Hst1WMyJY7ZDqtqFbKUnbQH656hsNmEoLHOSPjURYaIsn9F5w6hQL1XWgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ON1VZJ3f6fNVRk7vYW1bpwMguPFtxe8VCJscMEBXXYw=;
 b=wRuiAm9sJ6tUPvmYZASXONrRRWTzJsspOyaI7bH1S19rS9jbfvSu7Azn9yG56id1Na9Cf/2zGDwkYECyoO+eNmZ8jNu5r1Hdr2kfRKLemU+KkR60EKGDu3bHRxR8v2oEukHoBwlgWmyHImLCqLlqtgFlc7C6MtftdPF4VaRn5TI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 22 Aug 2023 15:04:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] CI: Update FreeBSD to 12.4
Message-ID: <ZOSyeniR-L7Zf6Zj@MacBook-Air-de-Roger.local>
References: <20230822130142.430189-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230822130142.430189-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: LO2P265CA0345.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:d::21) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB7158:EE_
X-MS-Office365-Filtering-Correlation-Id: 8db2a664-4ea6-454b-e272-08dba3106601
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yzs3pWYKTi7EFjYOg+VSX/OfVLDdg4bI+qB9y/z3V73LQ8fu0C4k3BiNhpQ0MiXvs2AQ5r5AKnuSYwnj7LtTp7SlRiccLMPBjyrf5MOZawYD6VAGkcAirZZp5uAoykfKvteJ8pkIomQTC3N96ISvY1S/hTANhfM/RrF6IWe30/0xID/AQ8PkgLQFABh7N0ZkdEsjyUl8tbGuhy/pXKQBg1MDhGhdV8U5/2w7PYnhA0IbLlkFYoyI4sINXQnP8ffuCQ8MpDa5+gjfMLof4X9qRRuRzFxUDwrnyThtvKvErCUWHdV5OearE9n4mxcCw4lDtPZnrP7gfYO+YAl4iMhJTpYIvuiigL5htdwXRJKjze7JKU5sv+A/7vFk5CQNcIV+ZNOzL3x5sYiu3jCXvX9X2+BTalulPPJYhd45A9g/y066CdEs5z4V0nlmQBhB3z0Ckbz3j/c1gJfmlz7aDW3yP8WYpDPe+/Gu5unek1SX1/GnK2t0klCM0BsIU9tgp8z0wKRmJKuy8ti8QKWS0CQlr2rf50JcBbKDTaN2eOsVxhUCWzWaH8xCp4mx/oUUcSph
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(366004)(39860400002)(346002)(1800799009)(186009)(451199024)(54906003)(66476007)(66556008)(6636002)(316002)(9686003)(66946007)(6512007)(82960400001)(8676002)(8936002)(6862004)(4326008)(85182001)(41300700001)(478600001)(6666004)(38100700002)(6486002)(6506007)(558084003)(2906002)(86362001)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDIrUDNwQnJpNkNad1ltVlJKM01ibjhUZDR5MGtWWHpNTE92Qm1WaVptem90?=
 =?utf-8?B?N0c0M0FQaFowMm1uQ2RybEpOdDFac2o4NkZrcVZTUWV5YWRiOEo2SG5reUxm?=
 =?utf-8?B?RHFSemJ2S3F1N1hoa0NSbjAzWFZNd1VxYlBUeGJRcFVLcUNEQ3dCVXhHcmNp?=
 =?utf-8?B?K2I3UDVmUXlQSGg4REVUMUJGTS82aytTTDcwS2J0cjFFTytibXg0R3NMTHV2?=
 =?utf-8?B?WUZaNXVVWmxMMjZDakNzcDVIcGEwQWRuUXJEaEZZWXRkU3B3Q0VUUm5IQi9R?=
 =?utf-8?B?ZGlUaGJQVDQ0eUlmQXc0QnVHOElFY29kMTlmYXA4Smw2aWUvZ09nUko3bWhG?=
 =?utf-8?B?ejlxWUJZVyt5N3UwcDdYRGkvYUVxbWJPTE0vcWNmeDA5SHQ2TG1ERWs3NG1O?=
 =?utf-8?B?Q2xTSUhJOG1wZGJrZUozamsrYXhjb2ZMWml5Wk9kRkgzMjJwSTRid0EyeG9t?=
 =?utf-8?B?MUhpZXBSM0EybTV0YUVZb2pXOTFadG51ZDJVUlRmT1FBT1ZBYzVnblVwOHdS?=
 =?utf-8?B?OGp0dW9Wa001Z09kNDBmY1JNTVVvWE0vSmVJKzB0c0Z5ZnZNZWNFUEVvNzBo?=
 =?utf-8?B?RkZTZXN2TmpwbGxoQXBWOThPWDJXTXFrcUQxVlQ4TEM0NytKa3l3VVJlaHZ4?=
 =?utf-8?B?M251aUtFUmN3QlNZOStJV2NpTmh5blQvbHlnNjVnRFdFSWdXN1JIWWVFNnBt?=
 =?utf-8?B?cjBZbUVIMTFLSW1xdHNqZjNOWE1aQ2NxeEtXQ1VFUEtWVUd0c25RVkx6WE9E?=
 =?utf-8?B?bllmS3dmUnQzbEZXL0xnK1VvR1QzaDZJZ044NzB1c2xwREswWFFXQm9neXdx?=
 =?utf-8?B?eGhUV0k3SGxldXB6azQyQkwwelpKbEhYWFJ0bnJUZXpTaUNzTW96eXZHQ044?=
 =?utf-8?B?MlZVcGEwa2V3QkIrMWxxcHdaS1Uwd21Fcmd4cS9NaTU5OUZaTnVQYktBNm80?=
 =?utf-8?B?L2FDV0pTU1NLVEF5QklUZi94aS9ibTkrVDJQa0xuWjBlYmJNL0Y4TVVFRWhJ?=
 =?utf-8?B?WVFzU2l0M1Vkc2t3Q2VGNGFIcFYyL0ZieW1BMnRvZ1NKUTJFNlNPSm0yaitx?=
 =?utf-8?B?Y1A1YnJwSW1nbUdIVUpiczUvSnpPYjFpLzIrSjBFMUNqQkxlQ0ZIV2pEQUdn?=
 =?utf-8?B?Q3ZHQlFib3RoemZQWU5MdTVURlJWSXRvNXdBTjhiVXlmTmJPcFlrbjhTdlo0?=
 =?utf-8?B?R094NG4ybEdnVHU3KzBMTml3R29kTzN1cXEwUVk3UDR3b2dJRkpMcnZVMVBx?=
 =?utf-8?B?Y3BTT2o1QlhRTWszUlBRMWlZQXVGcG5rVExMTTVobXpwYXpMVVVrTHgvTEt4?=
 =?utf-8?B?L2UyZ3NwNjJhcGNiVGRWeDZ0OTloRGV1aGp4MGZVMGRTYkxjRGg2cHYySXU0?=
 =?utf-8?B?ZG8zUnR1V0pZR1lwQjViU2R2L1R2Q2o0NjNvKzlIdWNoTExTcmVzMkhRN2NL?=
 =?utf-8?B?dHNpNUdpa2d5OHRQNENNYWd5bEcyd2FHaW8wMThPdlk5OWYyYWsrNjFLdzVh?=
 =?utf-8?B?OGZ3VFNBSmMrN0R6OUxNZkZMSnUwa012dVVvUitJQ0xzdDI2UmdaWlBnVE0w?=
 =?utf-8?B?NTNhamlMcnlCcWhLb2NzQm42UmREUTZRZEtQOG0vTWg1aS9wb1FYMjgxdkIw?=
 =?utf-8?B?dWFORCtRaXpLaUpHTUxvYWJxcnVTR2JVZVo0SU1jRGhRMXJnMmlWS29EMUR0?=
 =?utf-8?B?RGdtTzdOTFppNkRDVDViT2hHNlhTVDJMSXZZb0lSVUg3a0JuNXdVV2g2dEtB?=
 =?utf-8?B?UElJd2pRYjFmSmpQTDgyZmt2YmRsbEk2TmJLdExMdnZTdWVpbHNxMUpWQmdV?=
 =?utf-8?B?aTgrYkx5WXc2dU01ZmpudlVxYnNlVFBMdFdWQ3N0SmM2OXRQVGJ0VXVMalVI?=
 =?utf-8?B?NTdxL2FFZ1FiUDRiYWNXdGRpZjR4amUzSC9ReEx1czY1T3N3UTZXdWJySFJD?=
 =?utf-8?B?TVhaQzloWEprV1FmdzJZV0g2enovMFFLYTIzdVEvOWZJUlRnR2ZuNkZoRzBo?=
 =?utf-8?B?SzVsc0dqeXdJL0RodmhOcSs1ak9CeWdoUHNSOVl2UG5hQW5KcTV0dmNQeVVl?=
 =?utf-8?B?ejFIRnhXWXEyMnVDRFhmUTJ6SkxaZGJTdkU3RGlNRXh0cG5Uc3BDaGt0YWRy?=
 =?utf-8?Q?NqjNBOS/17nNQJdd7wjtYboZ5?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	lXWLM4noEPRWUKJ3n4pz2D0NQwMgT2F7TJa4U4CGCD+Z5bV4V3NFu1IbLXNtfm8lRkW9eirKFRdkvhb+FTeyZOGfx6T0ajr++wzDWQPqwXXcS4lez5p0EFlJmt+ymmU1Y8x4ExrJgrfJPgabnKUNSbdeASjbq1NnhKxKFyUpXYaESKsJmJxz+Cr1zPyYjz/h/jozb69q7BdPss6HZ2elh5dPWPdoj/lSH9uY2pLlAE382U2/74/IEeUEPFc6okwDKX3T2Vd0oDz7lRiJUecrvqqkGAVsCnuYujcr3hJawubdsnXVzKAwh+MN9Ie/xnHF/9dHbXm/Cq5Gt3jl9MFQf38pxAxgdeH7IZj4TPbcJeeE3mBXnEfXB6m8qP+bAS0YWUOyPpcCwMJ+Bw/TlpR1y/BEijzJVHU8AnFrd+vRS0mjJWDqSmOIFTrAvIoRMZIK8lD4DcyhGaFUXJdmYjFM8a3E0N+lTH5+6TMgvKzIFDSkOpQzFZ9s8+z2/xsbMGzEuf5wmsooeMEMWUOCk0o436jVTF9rYsZ4YX8OdyELzZSlJqLVnQVNGbfsUEwkdu1OLttO8vvG2N2+26CCWV/ZhhUPtBnJB3BAa5rDKJSrSCGbdeZTbCmSKvTCkPWlYcer9z1nyDvikG4AcAg2ZmorJdnBKycYUcRmC9Ep0bibEBPM8SKYjid2w/TJzUmRokqwGzE/VTHA4ay4HVBxz958d2ViMHoDL6zP8Mc1XGehRJ8L2piy1F1AzKGpcg4aluML4X62muv9Yj5WzA6yo4QLVNvDFA8yWGasCY55QW3DW6O034/14uuVjJbetFSh3QTg
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8db2a664-4ea6-454b-e272-08dba3106601
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 13:05:03.1345
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X6d/+O9f0epq8sDTFJZIEzeHvJNaetQLIwtI5tg8AcRcFaf2uJrHOi9xDWt3EHCI9vT3RtMlvO1/JZefEaEZ8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7158

On Tue, Aug 22, 2023 at 02:01:42PM +0100, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:09:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588468.919970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYR8o-0007Z9-SO; Tue, 22 Aug 2023 13:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588468.919970; Tue, 22 Aug 2023 13: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 1qYR8o-0007Z2-PT; Tue, 22 Aug 2023 13:09:50 +0000
Received: by outflank-mailman (input) for mailman id 588468;
 Tue, 22 Aug 2023 13:09: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=nKjN=EH=citrix.com=prvs=59114b803=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYR8n-0007Yw-KL
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:09:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29f78c98-40ed-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 15:09:47 +0200 (CEST)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Aug 2023 09:09:43 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by SA3PR03MB7304.namprd03.prod.outlook.com (2603:10b6:806:2fa::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 13:09:39 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 13:09: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: 29f78c98-40ed-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692709787;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=mAVF277SHkWjbdgvdHBYYXut7rzZc8my1fM29NIroIc=;
  b=QitO28dDC+VtIH67Hzeuq/HkFb1QX4htTVbgtZqKQmKaqiG+5JJ6w157
   1Z5letE0jqF3zgFFL42zdYv3621EY1JmU4CAnBNbBPdBzMUd6VbLPtbrB
   Dmlw6rn9W4E/q/dCaQ07fa1MVKQ+5kwlLnNm7CR8zrKrDaTtW0HEhwFbr
   8=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 120684737
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7r671qkbClHzGGtP0X0RJozo5gywJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXXmzTOP6LYGH3co9+Po+/pEsBvcfXx9A1TAFuqStmRSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K2aVA8w5ARkPqgb5gWGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fs0C2oqRCidu6G38ruXeNlCpPYsdOC+aevzulk4pd3YJdAPZMmZBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkV03iee2WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHmjBtJOS+bnnhJsqHfLxEhQK0VJaUm+rOa81kueRf8He
 3VBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpQN4prsgtXhQxy
 0SE2djuAFRHoLCTDH6Q6LqQhTezIjQOa38PYzceSgkI6MWlp5s85i8jVf5mGa+xy9HwRzf5x
 mnQqDBk3upIy8kWy6+84FbLxSq2oYTERRI04QORWX+56gR+Z8iuYInABUXn0Mus5b2xFjGp1
 EXoUeDHhAzSJflhTBCwfdg=
IronPort-HdrOrdr: A9a23:MUJPFas4IVhDaINIX3gep/NX7skDoNV00zEX/kB9WHVpm62j5q
 STdZEguHPJYVkqNk3I9ergBED4ewK6yXct2/h2AV7AZniChILLFu5fBOLZqlWLJ8SZzI5gPM
 9bGJSWY+eAb2SS4/yKgzVRx74bsaG6GL/Bv5ah8599JTsaEp2J8W9Ce32m+0dNNXZ77cdQLu
 vn2iJezwDQBEj+dayAdwU4Y9Q=
X-Talos-CUID: 9a23:NVAPjmGYJyZRk1VGqmJg2G1OPeodbEGezUXZD32IJ0RbR+W8HAo=
X-Talos-MUID: 9a23:Z+7x8Qt8gHPISjZFFc2nrmlgEIRLu/uSGkUAjpBavumaGHQgAmLI
X-IronPort-AV: E=Sophos;i="6.01,193,1684814400"; 
   d="scan'208";a="120684737"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KI4WlmupnEmtcgnstoQ8pkpWXUaLP3ib2HQkYs8oWEn8CddRiNeGtdYhTHIXftbyxkU4eXjMp/bUqRyM3lQKgvB7Nx+xMhtB09b0VtLZNNsElOj3yZtmRmim59E2alcNt5KScOSyHuvhntNn1CEssjJNmFuZRk2SHvaakAPhW01tjpXa+hDWUM55cdJlSoJPfvtpKKwLk0N87+3hO5g0gc53QT+UbmKCa/uLiQG1DzLoaxBY53DutWPpCGAlokE/fqfyvAVBchemV/VAABDzNsApWQbou89rYqpbGtxfCFhuEjOfkYbJD0atN8f9ZQzONuDcFtFU2mWj7YhOuQueUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sXtAKe+JGF6NbMKJ5iiobtXIovKnXoNNruM/MNvIG4c=;
 b=BoGGr55sD/EQPzE2DPCjZiEps5ARYcDd0BHfSsXLMUqtcY4irwv7t3+9mZVSPRc+2rauZiaYEVx6ElnxSjYcpmGZDVSXnu9a5mD6ahNKAKdMxOYeVk2Gxf/o0YbF53akt5JBJvuufBQGtVrUMMi1YVvFZsS33eryZpxcjXIkYHefzuVND1IGSRVa2Z17A2H32/1pgRPvw6WPVASCh0P6lji48/EYkUToLVQun8fPUSUAfS+T/+tT3hwN7x90Z/ypETkR6MvrVMvAqIZNDqPCkTpkliqqJMZBYyAWatTnakmmHYve9LQI1dbp5uF6c057jD+K66Ylq3383hbbI7TQwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sXtAKe+JGF6NbMKJ5iiobtXIovKnXoNNruM/MNvIG4c=;
 b=YSF6ipkatGKlWJkrB152zoGDSaJXyjlqBnAJAIbPfg7wpZdGCLe0ZgFX4DsYelppP7j+rReV/GG1v2CKExJDQSmf0rsi44aPq130gCzYRDkPECoeh5IzSNJeD4+xUvyJj+KMiAF665Xj0dHVSUttpAX9Ywx9tSi6Up6shAmWt/E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 22 Aug 2023 15:09:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 5/6] libxl: use the cpuid feature names from
 cpufeatureset.h
Message-ID: <ZOSzjldwiDdSIFyF@MacBook-Air-de-Roger.local>
References: <20230725130558.58094-1-roger.pau@citrix.com>
 <20230725130558.58094-6-roger.pau@citrix.com>
 <2256ee98-e34e-2229-66ac-baf2337d7c30@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2256ee98-e34e-2229-66ac-baf2337d7c30@suse.com>
X-ClientProxiedBy: LO4P123CA0153.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::14) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|SA3PR03MB7304:EE_
X-MS-Office365-Filtering-Correlation-Id: 57dc768c-338f-443d-3a52-08dba3110ade
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NT0OUUPRNuoJ5MfaO+m77OQ9DEqxPnMhsRZSrapXloj3V0N+h2JaJull8STRc7lHOWyM46qthJCp2r0/n9PX17P9hWHlBDVHto2fD17P3fi8n+1M/tW1qmhy6wBeO8e2ZN17O0pVwTNrD5/RFEyYwx1DycX8FZxbfnXOrX10rpVU6ulYbC16IVnlHq8OI6OTAb99wKp+UGeFqmuHsySLCzgUxPSY4vn6Za1RGtV0mEhWzAmOubt+SUF7RRlzJodnOXySQj3QNXWTB5Ibw8+L7bwQqwrmAucG6Z3pIpY29gnIVfIx2HTrP55jP7dWFm80d9qtaSVB5Y2c2EGitXn1H6KE3aYJFBcis7d04yNAm8LKEkzYzjBteL9PU1ChYYwAq1wHNoMZCOf5knLgOpYK1yQI36xx10RkBAUvDDk1CN/W4J5E4hhqcV/u0J3Qp+Y2poliNfUe+MGx/a8xQXZRAwQrrblFCm/ZwR2/sze/WmXOeNEmsJhAL3ivZlQSiPNeuXVxApDkExG7m+65niXDxCbuZTk/MYRfVHIItNlSFEb7mIfQje3gDAaPScbqHQdb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(451199024)(186009)(1800799009)(86362001)(5660300002)(66556008)(66476007)(66946007)(316002)(6916009)(2906002)(54906003)(8676002)(478600001)(4326008)(8936002)(41300700001)(82960400001)(6666004)(6486002)(53546011)(38100700002)(9686003)(6506007)(6512007)(26005)(85182001)(66574015);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ukg0TzhRb2ltek9sZ3BmNktUR1huMjhpTWVwV0t0UkhmaDQ1aEZPZjJoSWgr?=
 =?utf-8?B?SERyNmVoUkYrWGlBcGdGN3oySGdhVmdmSjVSa1RrVVpmdzFiWlBaYzE1dTJG?=
 =?utf-8?B?OW1NR2xZVGJnMjVpejVHVzUzWFFsTVd0REJLakI5L1hGZzhHUGEwRXdaN0l0?=
 =?utf-8?B?RXRIajdpNGVYSHM2dXlQWkVJODJRUFB1TWpob1dHNjNwbitZY0Zid25wb3Fn?=
 =?utf-8?B?Q0RLR1d3MFJXTTMzTmhvY2FRVEc2RXJGZ3ZEbkh4SFp2NXhHYklKUFlOUjRp?=
 =?utf-8?B?bE9yVjM1akU2ZVA3SGR1eEFwSXg2clFkVW1JbXNnb0JJaGppOFJ2Wm9oMEt6?=
 =?utf-8?B?anFRZGFjdXNmUk41T1Q2VHJmQjNLcjdvZXdhZDU5YlA3WkZJQy9IYjNNWkZE?=
 =?utf-8?B?eExoYjNxZFNGSS9YTkpVQnI1bGVmeHFkUFlSUENSa3FWc1cxb2k4WGY5THBM?=
 =?utf-8?B?aEh2cTVLWjNkQk43aWpRUGJoeEVjaW5leStRLzlwa05DVHFLVDQ2ZVNPNjFx?=
 =?utf-8?B?SnlqU0o5Vk1DNGJaLzJ0UndXL05EdnYvWS84UFQ0OHRXRGJySW1XK2tOdHpx?=
 =?utf-8?B?bDYyNWt1UnFYKzdYK2NVWTlkcmVaQUpxcTFLVEhLWmxnSDZRVndZejE5WFBD?=
 =?utf-8?B?dzdtcURYMWFhYmU0VC83UjBDcm0xYlgwV1Q5ZVVDZEI5cTRxK09iRFFOZEQr?=
 =?utf-8?B?U0laZXZ0RkV5VHI3Yi9HVHpxRnozeFUxOWNvUkRSdzU2T3dSNHFXTDF0b1gx?=
 =?utf-8?B?SmFhZ1BCbUxGeHdsYXNaY2JaZUFESmFCTGVHbDFqWndDYzR3ZjBiU0lTak44?=
 =?utf-8?B?RnI5aG9ESTJGbm0wRFE2d0I0Z1JUVXFjMkZHUlRHRkdSVGJTUzh4R3BBTmJK?=
 =?utf-8?B?MFhoNUR3d09lZFVXd2FGUm44bFpaTThwUjlvUGZjUWVLNng3VW9yQWZKWnFR?=
 =?utf-8?B?d2t1MWFGM3dPc0ZOTElySVl3dUlSaXlwMDdvNjlyMzFvZTdYd08xSnEyUjNo?=
 =?utf-8?B?MXdnc1VDL2FvYmJHV3pURDBoZmVCNUpxdzNnMFppWW1YRlBMeVF6MjdkdlBE?=
 =?utf-8?B?c2NNUUFEZmJZTmdVQVlDUkxybGdSQUYvemh2QytpVlRvSHJ0L2kwS1J1S0dn?=
 =?utf-8?B?NTc5RXEzeEZGWElRR2Eyb0JmVmZVS21SWG9vcmtxd3k5Y1Z5MG5DY2RDbDhz?=
 =?utf-8?B?VXE1Rm15aGhjdnJ6d3hkTGQwbVkybVZHYWd4QjdoVUFkeXppUFlRZmt5YldM?=
 =?utf-8?B?N1didWY3RklqU2hWblVKbENYRVl0WmxpME9DbjBCNklYemQxc0pVWXRmeVRy?=
 =?utf-8?B?MmloNkNJcG9zWkFlSEY3dWp4WEI3dmV2Q3A3VCtwTXRmVnBzMDYvRkJzRk1P?=
 =?utf-8?B?eUZwNHVRTXJBbWtFUVo1OXhCaWRJUXNFTEI0QUtkQVR2dFJTcnFQc2RaZlZz?=
 =?utf-8?B?R3dqT3lWSjZRM21nUktrVmVmOGxtblpYbXlWOUlENHZVQ1lSY2UxRHlLazBr?=
 =?utf-8?B?bVRKbVh0NktGS05rd2c3Vlp4MXoyNDAzWWNVSFU3TVFobjYyajNnWDBIc2U5?=
 =?utf-8?B?SXNEZVd5ZFdTcXNwMUhKTWFCbDNvTFgwZk9Vb0hUYWVPbWQxSEhqVktUeFFw?=
 =?utf-8?B?L05mc0JGVVJpam9TdWpvc1JDZUJneStCZkhSdmdKRXlTL0FSVzQxbzJKTmpM?=
 =?utf-8?B?MVk1VTdWVzJjTGhNUGo0ekx0aURtTFZLR09aR2VNOGhmNDNwUmdzejlpMElB?=
 =?utf-8?B?S1JHRWxXVmlmajBTTzlWU2V4K3FuakdKQ2tackIrNXhpY0FrRGhwUTJzUnBh?=
 =?utf-8?B?UWNJNUxnaUJKTVpNMkJCNlhtVm1KaEdXWUJXLzlFQ09lNVJyZWp5YXJWVTJK?=
 =?utf-8?B?czAzWmR3UGt1V1dWa2dmTlZkNUUyT2JKSXBYZDduRjN4dUhvcVBxeWlOZ1RD?=
 =?utf-8?B?VmEyci9aa1EraklKT1JFL29UdmIxbG45a1dkeDZPd1h0SEJZSXBZWVo2KzZl?=
 =?utf-8?B?SzFGckhKUjB0cnRnTEc2UldhNkJ6ckhQeDdvL3djUmlPV0prZDFpNXcwSjNu?=
 =?utf-8?B?Q0ExU29aZFNzQVYxSE0zSHo3NytHMTRlRlNNTHFsOURzSndIRkZCdWhQQ2pG?=
 =?utf-8?B?N1JBdUVjNHBoT1hhOGNSQzBnbVZMSDl0VTBJUFV0ZldQSzdLVkN4R29MT0U0?=
 =?utf-8?B?ZHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	IYJ4j6OmlW+xWLrnekODD1JHqTvRi1Yq0UpA9IUyBypRQh4hvbJQb+3myeIqbzYHgbN6fQuYsVvXHpAs3Dct9CLkpIsgRyblGNxWxiI/5cXzeIVCEoRccEpctq3S54qruTXfrf4M6r7JLvCUg81tPJUPmFQhlSXqZpDsXuh0Fd6e8uY2TY5njl/Q0XUGP/xLnJ1ScGyMHqf6MoYD8Us5NzY0qdiUL5iP6BuG06Sbxvj7iuhOm7/JZNf3fUs7eSBjsFnLXoGt8VwtcNd24tynmutX7DsOSFPWFFkBoXOyxKezzjbr7SNTJpWdrWgiKveGfQM+B2ZJ467N5XD/vmeUOOYMg0N24zMsVvAeKq0gaF33Y6hltFVwKbUUVkaM3bbpLAyJQ7U6i/4bdToh0Xvq6p2ZlTNFVTSBNaoHqWyLAHZDWBu2qXq2cjlHwarZ48zbJ33L9LsqAW8nqHRlLbeXRtrTG6ijaX8iTHAruQ3W1rMUJDW3yEbIxS8mp7STv2t/1GJq6xAqIFeoIlm7aWRkEL6fHnu5FXqofXt+zFeQg+iwtUDuFmnIdLJNG4VuwZ3fPJhJ+WsZiaYnGvu8lYzCOiJpIv7MXso82V3ZUHoWAlyJebgw0JsFVXWhOTIx7K+j1cQzv7sMLmV06iPDambwvk+m26VkY3SHQmkOeaq9TAg85yThyiflkviu6O/vfLuEUt1mONUkaRXKcAwVAWE7JPspR1jno5crzhuLdGz8+3AYxWL+u7O8XCXql+GIN8Pnl/HKUQFqqz47jjtNbZ6BxkEBlz2P9Cmoo9puFca96H6eQZ1O2gYa9w2g8Rd8jPFB
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57dc768c-338f-443d-3a52-08dba3110ade
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 13:09:39.7901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KhthqhgiPzdSvCJZt2ctxC2uuNJ/slzld34uI15JoVJwnQRv3tUkqcK5iA6Tu8ar3PMezIJOQGI4i0C+dezJ+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7304

On Tue, Aug 22, 2023 at 12:27:10PM +0200, Jan Beulich wrote:
> On 25.07.2023 15:05, Roger Pau Monne wrote:
> >          {"invtsc",       0x80000007, NA, CPUID_REG_EDX,  8,  1},
> >  
> > -        {"clzero",       0x80000008, NA, CPUID_REG_EBX,  0,  1},
> > -        {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
> > -        {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
> > -        {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
> > -        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
> > -        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
> > -        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
> > -        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
> > -        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
> > -        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},
> > -        {"no-lmsl",      0x80000008, NA, CPUID_REG_EBX, 20,  1},
> >          {"ppin",         0x80000008, NA, CPUID_REG_EBX, 23,  1},
> > -        {"amd-ssbd",     0x80000008, NA, CPUID_REG_EBX, 24,  1},
> > -        {"virt-ssbd",    0x80000008, NA, CPUID_REG_EBX, 25,  1},
> > -        {"ssb-no",       0x80000008, NA, CPUID_REG_EBX, 26,  1},
> > -        {"psfd",         0x80000008, NA, CPUID_REG_EBX, 28,  1},
> >          {"btc-no",       0x80000008, NA, CPUID_REG_EBX, 29,  1},
> > -        {"ibpb-ret",     0x80000008, NA, CPUID_REG_EBX, 30,  1},
> 
> Noticing only now, while doing further backports: Why was btc-no kept
> here?

An oversight, would you mind sending a patch to remove it?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:40:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588479.919980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYRcQ-0003ya-2T; Tue, 22 Aug 2023 13:40:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588479.919980; Tue, 22 Aug 2023 13:40: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 1qYRcP-0003yT-W9; Tue, 22 Aug 2023 13:40:25 +0000
Received: by outflank-mailman (input) for mailman id 588479;
 Tue, 22 Aug 2023 13:40: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYRcO-0003yN-Qz
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:40:24 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71229482-40f1-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 15:40:23 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by PAWPR04MB9741.eurprd04.prod.outlook.com (2603:10a6:102:37e::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug
 2023 13:40:20 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 13:40: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: 71229482-40f1-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eYb3JDOkrnynJKZW3hf/98l68r5XKWDLp94liixhy7FwFZuVfDTSMEZGN/ov7OlRQ8pPaZoQpXFkVJzMxJ4cMk+BTKYqTupw4iq76uBeu7gTJmOtEeFhiEGedAXe6G6i3GK2RHKjCMdKBp5EmTqNBAAR0nkaxejo6Etq7FOiIXI4fBbuXQ3v29E6MNLHeUxzWmqn9ZwfoAtWek4wqZZCuXcVy9ySrSSa0Nraq93/DD2W2GLXU6sEWV56PDzDB8n2978k3d+kI/zNrTllMXukENwDJ57V/q4f+D9SESGkdR5P4JS6BooFb18+/E0tclyXCFUA4Mt2NoCkUiglXgC7rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eSZoM99ookfYqK8mLVpIPqwIoQbLgyvrXM2nSJsj/xs=;
 b=VOYBCcyEDH0eHPE7I7vQL81o1RuhosfpmW/ra/0nt4dLLJJGXmo4Qdxne7pd1z5IaJnvpama4xvH+Wx7iQ9sWDaum+CYoHYs+qK7KEOhAV+wCkveR7JkWTxWgAQe+T0InLJETEBxySI7M5p28ZaTEsQPO5YVkGWs1GWDdl2fLCPBqSU9UeUmZiE/LfGorCo6Yarjb7x2A9KoVBGXmtLZV4NgML5weW+To39eV4w5n3dAnL39Gw3v/5x/2nvR6AdA+3f9V93iJsjJeusaYY0ztGtAF6X0V+j6xoI7HYV8uuJgWqOnnBllX8myGh2p5nFWUZTpibtBq5o+xxYGfTE+Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eSZoM99ookfYqK8mLVpIPqwIoQbLgyvrXM2nSJsj/xs=;
 b=gtKk9yRR1XQ1XAd6YwY0CgqHr8yp2MHLsIn32ihT9Px4Wr9Wreo2c7WWCEARSkreHJXs0obD4fJQWsYJGZ9934N49bZkHorVpnuztBz8O5Pew7LWikErF9TGZbmixaMNdltkdse7NaurtBOdqx7l5PN1k3flufrxWEcWqTCEuXbcHezdaZegQYQSWZQA+w3n5buYXQ+UKDZVHEJ98jmjFetZK8BDnaPkUsIIz8VPkmxXRA1h5mzgsyKhMZqsR4WNmsjvWXZjujuoFjGTlxtVqPACOHsBKyBoLUS+do1lsdkI53ZMsHmam9Mj9AxKOGEIxAWa8e3pS0qMnM2ahSdzEQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b29df408-0ba9-c8a7-4817-6c2066763d15@suse.com>
Date: Tue, 22 Aug 2023 15:40:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 3/4] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-4-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822012955.312930-4-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::10) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|PAWPR04MB9741:EE_
X-MS-Office365-Filtering-Correlation-Id: 653f8d6d-cbe9-4ffc-5f19-08dba31553ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	81BbOuZSXZwn8XcGr6p0zVGUoRbl5n6rt5YcLh4bxYpUp3wopUN+EQ2LgS9zFNp3MwVKeZrsDQXAMB2HWC6rnC8YZjbqKN5fV6Bg+S5+lnrXwynBlizS5xjIN2vLnsNfCjloIrV0VyoBU2/tbWzRIdUNbq/r58tG8KlAtyaTJ/r6P7pAElQPI7T4CF5v0mXq7+Z25gNePrmuUiNab9abtgJuwzQE9vMpxIc4bEHN70JX4OVJqW/ETQx7rGdvgi5vkJQsEcTGqnqkk09bV8d4X99KgbZsEJjBL9BtrEH1OvKWkTbEdChfA2ufWL8dTmp+Txk/u5M9QuvKaJFxRptvP1lwwtLngPsuP4i0xcQxxxKSYbDMx0u+5Q5nE5XMFghEBcsUUlXRSLvf1dm4k25r0jj26ejGtXcf993or/Xkza9OpeqfrU7p8Wqq27Wh7321VAwDQxKFWzn6t99aPED2OGmeqpYU23EMj3zlQoPA3GmTGlO8Nl4BVkvH7DipEoXzkvnYbPFej394E+S8Axn4a06nSZaIFFdpc9hqO23ne67qEkn8W5oV5vv7P4cNos4KS1GlB0Yu8I6sj4z2Lg8EUcQeukKUPIqdkorw3RD49XXWHCrEUOJ5ubT83TDUhF5rv40kGnHL1ak182duRlpK+A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199024)(1800799009)(186009)(2906002)(38100700002)(53546011)(6506007)(6486002)(5660300002)(26005)(86362001)(31686004)(31696002)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(6916009)(54906003)(66556008)(66476007)(478600001)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1NtQ0FZRkYxV1JxM3AzREZPK0VreldyaFNuNjRnSTZWd1ZLNGdaUG9VQkIw?=
 =?utf-8?B?YWVRUDBYOEZHdHJHM2ZyTXdrcDBNR01tNTJqSVVSVXNOSkxydStCNEdBdm4y?=
 =?utf-8?B?YWo2dWx1U3BYYzlwNWxObDJpSHhXd3F4VEQzVTJ6NEhzUFBBK0Q5djhxM0cw?=
 =?utf-8?B?czJmYmI5Vnh3WUR6b1p0dnJZTHc1OHAwVWloSkV1MVkvQXlZQjh5L05uYjMx?=
 =?utf-8?B?WVAxVXI0djQwQmRpUE5OSVZnMkVrVGJzeDQvVkRyNmZmbmdIbkxuakVMa2JC?=
 =?utf-8?B?NGRKR2JWa0NmTkdZRFRYK245QWx3SVBpRXJIQjhGKzhOZ1BzaHFYU3UyY29x?=
 =?utf-8?B?WGZGaHdURTR1WGJVcmhydmlxdldUYjU4SnlhbEdPaTNZazNPK3FUcWdCVyt4?=
 =?utf-8?B?TnNXaWNPb3lDc1k0NUV2WXo2Q3FzT1BCQjlPYUJSc3NJL0xvVVBPN21ER0JV?=
 =?utf-8?B?ZDZkVjZpN3V5RExUVHh4WDhEaGZIb2J1eXdNRm5SSXZkUG1GQ1BOZHh6clk2?=
 =?utf-8?B?WWd4TnlObEdOOVBQVUxPdmltdk8xY2VTUEpyU2pQM3VvdFU5cnpNS2tOK2pt?=
 =?utf-8?B?cXB1VlN4N1ExR09ubDdWQTMwVmVUbnZXQ2ZEODFTY21Sckc5TEFmTWF3dUJ4?=
 =?utf-8?B?d2Z0UC8wcVR2YVN2aTBlWklEY2VZZGZQUzdEN3FqcEh1cVd1ekY5RnQ1VmJV?=
 =?utf-8?B?TTYrUlpubGdBekdXNlRReEYvNkxOWlNXck5QT3lsbk5zS3lDUENoT0d3RmVK?=
 =?utf-8?B?Wk5oSnBub1U1ZGl1ZVhoMUV3amI5WnZkTzJtN3l1bFV3cjl3M3lVb2RFbDFF?=
 =?utf-8?B?QXpXbEx4TXgyeUV6UjZzUEI4KzliREFyc3pyK1UzNnc5SHZwM2N1SW03Rm8x?=
 =?utf-8?B?Ui9oeHVuM1N6ZkZ6N2YrL09wUm81cjZUa1BSY21zVFRwekNwYUR0a01IZnVp?=
 =?utf-8?B?V09jMGtLbnQ0dTZ4T1NOQ3JiNkh2cGhvY1hwUHpmRHVFSWJLZS9oSFI5aU1N?=
 =?utf-8?B?REZ2L215TXU3S1Y5RjVpcTZ6ZGh5S2xrNVVOd05WUFR3QmdzbDVTYzF5L3NB?=
 =?utf-8?B?NkQxSExXQ1dDWVpZWG5Fb2R1b0tzd0pLQkZIcFJHZ1U2d2RBSGtIN09Ub0du?=
 =?utf-8?B?YUN1empPd0FtTkxwcDZCZU1NejM3VDhjRmJaSG5YSXFTOXhKVG1vNFJzL1pE?=
 =?utf-8?B?ZmRlV2pHK2ZaMWM4Z3k5MG15MTVDSVg4UjAvNk1sR0ZERVZoWTBib2hHMDBT?=
 =?utf-8?B?aTdnYWJXK05uMktQU3ZzMTZaMktVS1d5TWR4S2p4aFV0N0NEbVJsakk4MHll?=
 =?utf-8?B?OVZScVdWT0tPWEpFamN6YUl2QUo1QmZuZEl1Vm5lbXRJa3ByeFhPYWdSNUJV?=
 =?utf-8?B?ODFTb3JMbjNNRXZNTjg5VnduVnhlYVhUYnI1V0VyZ1ZFOUx4bWNtZ0FSKy9t?=
 =?utf-8?B?SGhKeTBJVGVueWExcUVadyt1UTF5OGw0NEt6Nm9xN01Sck1xV0dqZ2wzUlN0?=
 =?utf-8?B?QmkxV1h4UHhJRDlBSWFoejdjYzBGTHQ1NWFjL1J3T25JeWZYMEdIRlgweTB5?=
 =?utf-8?B?cWFRcGluSWhOQ2NNeDFJU3hodWJiMThqSnpTeXd0SFpHMGhpeUFtOEx4RkU1?=
 =?utf-8?B?T09TcitnaklFc1dISW4yZi9qeGxiWjNJNTl3QWZTdDBXMzFVbE41TkJGMDRK?=
 =?utf-8?B?a1Zqb0dCYkNXUXRnb3ZVV1d0a1RaWXdIdk5IWjhudXFmQ0FFVXJMck1xczdL?=
 =?utf-8?B?SHVLYjNDMWY4akovZjEwNWNtdGd1NzZsWXFDNGl1NFR3THhvTFgrSnZhRStv?=
 =?utf-8?B?THJ5SU10S0R6SXMrMmJQdFcvTFRjWDg3akZ3YW9zdGI5V2FxS05ET2JyemFL?=
 =?utf-8?B?dStZbUh1c0dvdTNCVU9XNi9Wbk1NRjJsYWRWQnp5SHdycGpZM1ZJdUZTaFR2?=
 =?utf-8?B?bVNDUXR3VnVhY2ZZd3NMOFhHRkhScVkvQStMb05QMHRiZCtGelhyK3QvVkw5?=
 =?utf-8?B?L25VRHlMdlVGUmFOa1JIQlFTM1FOUy95SXE1NFhiajZNZkxMOHVtanRNeW52?=
 =?utf-8?B?WVRadXBvK3lYWUJFR0crRVQ0ZVIwVFlmL01qSVJldWVtZUgxSS9GcndQMFdi?=
 =?utf-8?Q?frHZ0P81v40kFdmdaM4bWuwPI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 653f8d6d-cbe9-4ffc-5f19-08dba31553ac
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 13:40:19.8773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /6PdH8VJlcAVdy1vwG/gS0lwBaWe9XF+hLnK35QgfbRYHox9FHwWRoO7UG5CMHozoHs1ycEB5cBJNu+EZD3z0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9741

On 22.08.2023 03:29, Stewart Hildebrand wrote:
> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
> Hide all other PCI capabilities (including extended capabilities) from domUs for
> now, even though there may be certain devices/drivers that depend on being able
> to discover certain capabilities.
> 
> We parse the physical PCI capabilities linked list and add vPCI register
> handlers for the next elements, inserting our own next value, thus presenting a
> modified linked list to the domU.
> 
> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
> helper function returns a fixed value, which may be used for RAZ registers, or
> registers whose value doesn't change.
> 
> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
> pci_find_next_cap() to suit our needs, and implement the existing
> pci_find_next_cap() in terms of the new helper.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v2->v3:
> * get rid of > 0 in loop condition
> * implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
>   that hypothetical future callers wouldn't be required to pass &ttl.
> * change NULL to (void *)0 for RAZ value passed to vpci_read_val
> * change type of ttl to unsigned int
> * remember to mask off the low 2 bits of next in the initial loop iteration
> * change return type of pci_find_next_cap and pci_find_next_cap_ttl
> * avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0

Looks mostly okay to me now, just two things (pointed out before):

> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -39,30 +39,38 @@ int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap)
>      return 0;
>  }
>  
> -int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap)
> +uint8_t pci_find_next_cap_ttl(pci_sbdf_t sbdf, uint8_t pos,
> +                              bool (*is_match)(uint8_t), unsigned int *ttl)
>  {
> -    u8 id;
> -    int ttl = 48;
> +    uint8_t id;
>  
> -    while ( ttl-- )
> +    while ( (*ttl)-- )
>      {
>          pos = pci_conf_read8(sbdf, pos);
>          if ( pos < 0x40 )
>              break;
>  
> -        pos &= ~3;
> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>  
>          if ( id == 0xff )
>              break;
> -        if ( id == cap )
> +        if ( is_match(id) )
>              return pos;
>  
> -        pos += PCI_CAP_LIST_NEXT;
> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>      }
> +
>      return 0;
>  }
>  
> +uint8_t pci_find_next_cap(pci_sbdf_t sbdf, uint8_t pos,
> +                          bool (*is_match)(uint8_t))
> +{
> +    unsigned int ttl = 48;
> +
> +    return pci_find_next_cap_ttl(sbdf, pos, is_match, &ttl) & ~3;
> +}

You still change the original function's signature. In this patch, the
prototype for it should not need touching at all.

The other is the imo excessive use of fixed width types. "pos" has no
business being uint8_t (but that'll be taken care of in the earlier
patch for the case here), and similarly e.g. id doesn't need to be (in
the earlier function). But I can see that at least some of the cases
here are on the edge ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:55:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588486.919990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYRqe-0005jO-9K; Tue, 22 Aug 2023 13:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588486.919990; Tue, 22 Aug 2023 13:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYRqe-0005jH-6i; Tue, 22 Aug 2023 13:55:08 +0000
Received: by outflank-mailman (input) for mailman id 588486;
 Tue, 22 Aug 2023 13:55:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYRqc-0005jB-7D
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:55:06 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7db30816-40f3-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 15:55:02 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AM9PR04MB8226.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Tue, 22 Aug
 2023 13:55:00 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 13:55:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7db30816-40f3-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jU5WKzGC/GgC+Lam+S/vMDhYBwqBTsm8HR/BS7Z+cEYurQlRDDLYD7wB4hIcUHClSVHZekhXUPzKw7J3A4bUIkZiFx4/NAw3hrGc8fJnWQuJB1I94RJhIrgi+YsjlEGIMYxpYpBQxRoOIFlqR4EDpKEo4l63I8kmMt991nVamfN5luFlxCcX7tuPO8Y6FhzurGxHnQpZloK0scOjPJiqotCsb3/++PysRM92/qd9gtZYZeqtYiKC/GNwPS0Jq/JyqX1qkxZ8/bo9reOmWdiD8sI77w35/ahFry07p3GCYFwztPNPCm6dNDHSNIRVouM95cfH6xA9eMbUZZfUiU8iow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4pqM5/Nkh7/MlsZwIxGpRCzb6J9NexECHN3wo8sweNg=;
 b=neUmVJAD2pCAdzgu0T14QBUIZnQeO6/8BbZxqejAJJUHhk98c684+qu8e0amIdbKZAEUI+Q4MBR91LeE3Thq1dTWRrMAJn3OF2XFPB3VRzxbFVINUp/9sNX0nZ0crTPx1kOIVJ759fFNWqdWMVsrUn6QvzRmq9goDo22nprzI9GWpTHtzwK4wvHJGL6AOb+PbSp6OOROKaQDgL3U/Vlp6670dPAGATXh0Tb80gYpezPdXWYWHoG4/CGu+841Kdgk2K6T1jOeHBn11BNsYv6QiGO7ph5msR0pEL/ByiSPzvCO0I5EN37Y+ai/mOAXlj3E9uv6vNrGW8yb3yxIyJYE4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4pqM5/Nkh7/MlsZwIxGpRCzb6J9NexECHN3wo8sweNg=;
 b=4cRIIfQEQd0+uK+42lhcOXaahkPAmNWbmeSxSpl4vnNSmCnCxqY4QG2JCmPKXqbURMyzB3ztX1WFntXLr57vBw5J/1gRZ3Jn/Lx/S2surJkn6y0Zbh2dTXmKC8Ki+BIQmmjniqNkn5q4u3XJph/40qm+38RyZFlnck8cengEVDdmSj4tjp22p2vgS0aVsjT00/qm2CV4pxefxeXorBkh9+FbA3npvhfyBHvQ2IfAr5DieonV9NwY82KUocQ4djvoxrPwreN06kdYXBIPp7NOGywW9xVnFR4aiob1NnxcIF+NuV3Gag7PQX5saTmsBbz/KT/ti3QB7RWLpSIfCb7SQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f61146cf-096d-606c-591d-516d659528c5@suse.com>
Date: Tue, 22 Aug 2023 15:54:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 4/4] xen/vpci: header: status register handler
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-5-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230822012955.312930-5-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::7) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AM9PR04MB8226:EE_
X-MS-Office365-Filtering-Correlation-Id: b7b7d843-3d75-4e86-34e4-08dba31760bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5+jxJrmOsfq3n6pvqNQGUc2Xeok4wjAB0iCGNO3YggBtqbidbWhQ/gSVS1rwu03vAtSagEiKXNQte0x5f/hNH55kc+WJHjFx8v9ixTWZEAtYpJIeYTHm+Z0VsiTytxkA1NIYby6T//A7ULL0oK5ihBpP9jLPHbdhXW1u4g0fLIfAcScTyC/6gW27jHxA6/Bw+stFIoDZ83BwmjH/XTVNgP21EqzfOXY6VhrktVwkO0mKzklT3zyn0xFIBGmUqTj5oLsyffq8Qn1dda7swUxbMPeEslN9/2GlvkpH049/19q/5o57zQxhi6cSR92Lc/eJSTcm8WmEWNx5e6dTLPWczlF4fpdwi3Fywhs5DtfhawSiIjiOx0noW23OA6+bHbx0wwrleezJvRy7PXhV3fyI/MMlejWcHMM20xRXzJSLGFFXnP79L4hAwvgqlOIgnAfutHdtc4gV2Ov/hpSS+NF0SFEGHAvTBhj+T8nxKFeskyZ083f0vClzeEsrBLoqJQPk9YCOizXkRIkciNghdZlROrESUApr2uuJs3M/ZBDB9mj5FNNiiUwhcGe/8CNMPZKI0NNaY4vEwPJl2qnvN+XsMr1MsA58RaAJEnZe5ElKiWkLPcKwtpVWWa1/361AqHaX1LgtjSelpKDQPt8j/xye36hcvNCZHGv66yBw3nY0KbD3UFYPN6knJWyrAGETdtEs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(396003)(136003)(366004)(376002)(1800799009)(451199024)(186009)(31686004)(86362001)(36756003)(31696002)(38100700002)(8676002)(5660300002)(26005)(2616005)(66476007)(6506007)(66946007)(53546011)(66556008)(6486002)(6916009)(6512007)(478600001)(41300700001)(8936002)(4326008)(316002)(83380400001)(2906002)(43740500002)(45980500001)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTNOSVJMVitXeFNHVUhrMFZMV3VoQXI1cnRtZWpFVkc1VXYraldNTXMyVC95?=
 =?utf-8?B?cTRVQWNyZzkrVnNxYk1FMThubnIvMjNlUDM0TVlJUWU2RHozT3pHcnpORHJ6?=
 =?utf-8?B?VWQ5Ny9HOVB5RWRIY1ZlTHJ0QUtKQkJNbHZhWVQyamFoRUUxVWdrMVFZUzhJ?=
 =?utf-8?B?Y3lXV0U3YlVPQ2ovZmQraGNnRzU3N3NnRnJaTVlDNG5zSjc2N3pkdGtSSVV3?=
 =?utf-8?B?QVhVemNGazVBa0RvVC9xY2RPOHJ1ZC83MjBvUEh0amRQSUs0OE1wZHRxNDBV?=
 =?utf-8?B?N2hTbmRSNnB3YU9ZQldKUVZQUnI4UmxoR2s4QnRnRnBxN1I2SWFjd3NqUk1R?=
 =?utf-8?B?S1Y2OFdxMmhNRnlCYTc5MmFsZGFtbi9KeHlpeS9KUDVWM1JGNkJzV0tBOHJm?=
 =?utf-8?B?eUlsV0RKbXRmbFNMWkdzSlU0ajBoUzd5aThsc1NlMjhKRkEvdGtERlpqNUNK?=
 =?utf-8?B?RTZWZG00aUpWeTc2czFCbHdjZms0MnNXelJsdGRwek9WQ0YrbkZEQ1BVZkh2?=
 =?utf-8?B?NTVhK1VwZzBBTno0YUdBZm9zcVFGTzdZeWF2bGEzZW94QXBtNW53bUtQU24z?=
 =?utf-8?B?Qy9VVXd1cXZEQ3R6N3dnNnpFWVlkamY4Q0FQU0VEcUszcm1ubEVnTmxQRk9N?=
 =?utf-8?B?YXZSL3c5R08yanZyL1dFMTZ1bUFHNkRtUGM0LzFmYTY3L29XcXBLYUhoYVB2?=
 =?utf-8?B?WFRPbGZCVGg5MWExaGgycktqU0VpNmtKRWFqdXdSK1NiOVQ3VzhLKzRFUWl3?=
 =?utf-8?B?T0o4eUdyaXRvK20wd21pKzBzbTMxYkZhK2ZGbFBvS2RDN3Z2RnJ3aGNHSkJm?=
 =?utf-8?B?K1J5MC9mTlFUNld6SVRHbzBXQ0VoVE5pendsV3R2ZHMwZ3FYc1BEdkppb3d1?=
 =?utf-8?B?bGxncllHUEIyUVVzZkVLdkVRbDVVQmpXS3kvMUlTTE5odlg5aTlIckU4NUIw?=
 =?utf-8?B?SnZZaWdlRFh2NEtteGRUV3lhQW5ubUlBNGxTZDY0ZHR1NkFpNkgvbmdxQ2J5?=
 =?utf-8?B?K3ZISnhwaU5UeGM2RmVHRDRaNzF0M0VWcTBJdUI5ZHNQNUtIYmNXWFJMdzRE?=
 =?utf-8?B?S1k1czE1bVljTmpCNUh0QW9JZ2E0QU1BQW5jVloyY09RQndPcWNGUTBiS0dH?=
 =?utf-8?B?MWtCcG0xaVdnaitHNlNjV0kzTGZoTTFHZlcrTm9BY0tIT0V3MWsrSUVueVlh?=
 =?utf-8?B?dmc2TXRMcXBac2Uva2YxZ1lna09Tb1ppQ3cxRXlWcFBqcEpoVExBL05rUGNm?=
 =?utf-8?B?R3cwZFlyb1dralBKTW1MNU1uRHFWTVg5VitGSWhZWVVqMVVXU2g1cEV2Y2hJ?=
 =?utf-8?B?S21TTmhxKy9LR2ExOWVGQy9GZncwSzNYK2IwQzNrRkgyMXN3c2dBQVdGKzh0?=
 =?utf-8?B?U01MZTdMUU1UN0FUL2thdyt5eDRhMDQ3YjB6S2REMyt3bnR6LytVMzh1aWt4?=
 =?utf-8?B?STd5eVRJRDFhNWJRWUZmZUFKVk5KSE9TbWtZelFBN0FMWWZQSFhpaG5rSFh6?=
 =?utf-8?B?R0dPMG9yUUhGNHRxYU90S0lCeGllN1NwZjlqZ1JWZDZUN2xEUktGWlhNVjlX?=
 =?utf-8?B?N1VNVXA4NDJuL2dUTldIVGM5cWdDT0g3YVlMVnBiQXgwemlWY0hsOXpubUVO?=
 =?utf-8?B?cWJMa0Y5aUJQMXUzYmVDOGd1a0VWeXc2ZVhBdzlWMVhJejVEZVc2c24xVG4v?=
 =?utf-8?B?OU0wMXRGeFVvVGZMNUZTdTFTempwcXJvYXhaUWJnUHd3MXowNVVvS2RpVm9F?=
 =?utf-8?B?cWVGVm4wZlFLZytTeFpBdjgwMlZnQWN1WDFwUFNCNWk4WmhkNEIxQlkxSW9a?=
 =?utf-8?B?WWhDWVdDdDMxMzlkeGc5OHVpR1JrTG9QdUVWaHBGWWRrUk1nTTlSbm9vaFNm?=
 =?utf-8?B?ajE5dWkxREJGVU9ZWGRmUWQvdnVvZFJCWXNMaHVnZGhGR0xuT0ZJNjlINTV2?=
 =?utf-8?B?cDRqVWxScUVOMDZXRUxROTV2OXZ0OG5BTnF3VFVOcGhpVlF3RVJJU2ZqYTVB?=
 =?utf-8?B?UWh6L0IrUGpBUTgzRzhUdEJTS3RtQWwxREVoUVhSM1RLQ2hWUXRyY2dTcFFY?=
 =?utf-8?B?MjlnNzdlMVk1OW85b0swYVhZa09WUGN4WC9rQmdZM2I1MXQ5cFBhVjBFT0Yy?=
 =?utf-8?Q?qzj4O7ypFa7IwwoJaLOEALYtL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7b7d843-3d75-4e86-34e4-08dba31760bb
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 13:55:00.6898
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u2QQgD7vGENy49dBwfTCZrU5i9W4MrVhdG9CJ3feeCrBS//NTO3YCB+4dy7nk772JzVdzgfxJwrY9E4lLIechg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8226

On 22.08.2023 03:29, Stewart Hildebrand wrote:
> Introduce a handler for the PCI status register, with ability to mask the
> capabilities bit. The status register is write-1-to-clear, so introduce handling
> for this type of register in vPCI.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v2->v3:
> * new patch

This being a prereq to the cap list filtering, I think the order of the
patches wants to be inverted.

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -413,6 +413,17 @@ static void cf_check cmd_write(
>          pci_conf_write16(pdev->sbdf, reg, cmd);
>  }
>  
> +static uint32_t cf_check status_read(const struct pci_dev *pdev,
> +                                     unsigned int reg, void *data)
> +{
> +    struct vpci_header *header = data;
> +
> +    if ( header->mask_cap_list )
> +        return pci_conf_read16(pdev->sbdf, reg) & ~(PCI_STATUS_CAP_LIST);

No need for parentheses around a constant.

> +    return pci_conf_read16(pdev->sbdf, reg);

I think this function would better issue the read just in a single place,
and then do any fiddling that may be needed.

> @@ -556,6 +567,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
> +                                PCI_STATUS, 2, header);

Is it really correct to treat the entire register as rw1c, and with write-
through to hardware for all bits? There are reserved bit there, and -
however likely that may seem - it's guesswork whether they would also end
up r/o or rw1c once getting assigned some meaning.

> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -29,6 +29,7 @@ struct vpci_register {
>      unsigned int offset;
>      void *private;
>      struct list_head node;
> +    bool rw1c : 1;
>  };

I'm not the maintainer of this code, so what I say here may be void, but
generally we have blanks to the left and/or right of colons in bitfield
declarations only when we mean to pad for alignment with other nearby
bitfields.

> @@ -205,6 +213,22 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      return 0;
>  }
>  
> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                      vpci_write_t *write_handler, unsigned int offset,
> +                      unsigned int size, void *data)
> +{
> +    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
> +                              data, false);
> +}
> +
> +int vpci_add_rw1c_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                           vpci_write_t *write_handler, unsigned int offset,
> +                           unsigned int size, void *data)
> +{
> +    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
> +                              data, true);
> +}

I'm always a little irritated by local functions still retaining the
subsystem prefix. Just add_register() for the now static helper would
imo be enough here and overall shorter to read/type.

> @@ -433,9 +452,11 @@ static void vpci_write_helper(const struct pci_dev *pdev,
>  
>      if ( size != r->size )
>      {
> -        uint32_t val;
> +        uint32_t val = 0;
> +
> +        if ( !r->rw1c )
> +            val = r->read(pdev, r->offset, r->private);

Along with the earlier question: Doesn't rw1c need to be a bit mask,
not a single boolean covering the entire register?

> @@ -99,6 +106,8 @@ struct vpci {
>           * upon to know whether BARs are mapped into the guest p2m.
>           */
>          bool bars_mapped      : 1;
> +        /* Store whether to hide all capabilities from the guest. */
> +        bool mask_cap_list : 1;

I think the intention here is for the colons to align.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 13:56:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 13:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588492.920000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYRru-0006JK-Nf; Tue, 22 Aug 2023 13:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588492.920000; Tue, 22 Aug 2023 13:56: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 1qYRru-0006JD-Kq; Tue, 22 Aug 2023 13:56:26 +0000
Received: by outflank-mailman (input) for mailman id 588492;
 Tue, 22 Aug 2023 13:56: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=3ZPx=EH=ffwll.ch=daniel@srs-se1.protection.inumbo.net>)
 id 1qYRrt-0006Hp-6b
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 13:56:25 +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 adc55ba0-40f3-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 15:56:23 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-31c5ee810e3so184739f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 06:56:23 -0700 (PDT)
Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa])
 by smtp.gmail.com with ESMTPSA id
 u5-20020a05600c210500b003fc02e8ea68sm19456835wml.13.2023.08.22.06.56.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 06:56: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: adc55ba0-40f3-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ffwll.ch; s=google; t=1692712583; x=1693317383;
        h=in-reply-to:content-disposition:mime-version:references
         :mail-followup-to:message-id:subject:cc:to:from:date:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LXzMnEM8moHL5KfliVx5cD1lb3aAd5NGNjk14fqFYLY=;
        b=OvQvaauBf9P71X6OM3iV6zJjVstVKwDXVeR2TcNPjDcJz2f399JP5BZxFUiXHkTWc/
         r5lP7XQ7vkvpSMptW40PFm8KnzYip/IftCKI/V7U1LWv+OZcsOEZqcqKXDKRf7oBDJOP
         RNOespNYAQNJ9FavrWx3YuWYiBeKAeIF+XsTA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692712583; x=1693317383;
        h=in-reply-to:content-disposition:mime-version:references
         :mail-followup-to:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LXzMnEM8moHL5KfliVx5cD1lb3aAd5NGNjk14fqFYLY=;
        b=VbOS/8x8WmELQ2a6CoamaEi7dBjhM9mUWIbuQfjULYQgT0L/YGgokvbGz/eM03mlyJ
         iNKykJ7qBfxkhDLLpd/oXX0yBLZXERBZO3jAnAnfD+vFA95q1yOywM9YW7WzwoaHVPmm
         +5RgzBi8FwKoBR41sPHDpv5Dm0zJ0GVoAu7jnQn8+Sarfo9C/eE1OeKGGv0cTnZoXk7i
         4EYnmL/JA/SjlWgQHuJOu7sK4TLGFUk7IWdGsO800klCTaCH3dhvknEKIXaUOzGNvJI4
         lLWOqwfEKrlaLBxF8YzyUvbwA6GWXWcHAMPmqDtOafZAM5hilEwNeLdT7dFkheA7gKdy
         rosw==
X-Gm-Message-State: AOJu0Yx1dzE7kxPeb+9jYbJa0xcJLmQDAUYvFHiL7QOoDlZ1zD5YOlxR
	vAbWYO5smmFK8ukErh+DYVlxXw==
X-Google-Smtp-Source: AGHT+IHJQrlSrCu8WgUX5s8XkdDm6/hR/jwfxds8mVBdQgFEL5tBYnuf/oIT+VMpj8Z6S8wRiH/+Kw==
X-Received: by 2002:a5d:65c5:0:b0:319:8dcf:5c10 with SMTP id e5-20020a5d65c5000000b003198dcf5c10mr6979657wrw.6.1692712582669;
        Tue, 22 Aug 2023 06:56:22 -0700 (PDT)
Date: Tue, 22 Aug 2023 15:56:19 +0200
From: Daniel Vetter <daniel@ffwll.ch>
To: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru,
	vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org,
	brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu,
	steven.price@arm.com, cel@kernel.org, senozhatsky@chromium.org,
	yujie.liu@intel.com, gregkh@linuxfoundation.org,
	muchun.song@linux.dev, simon.horman@corigine.com,
	dlemoal@kernel.org, kvm@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
	dm-devel@redhat.com, linux-mtd@lists.infradead.org, x86@kernel.org,
	cluster-devel@redhat.com, xen-devel@lists.xenproject.org,
	linux-ext4@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	rcu@vger.kernel.org, linux-bcache@vger.kernel.org,
	Muchun Song <songmuchun@bytedance.com>, linux-raid@vger.kernel.org,
	linux-nfs@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v4 43/48] drm/ttm: introduce pool_shrink_rwsem
Message-ID: <ZOS+g51Yx9PsYkGU@phenom.ffwll.local>
Mail-Followup-To: Qi Zheng <zhengqi.arch@bytedance.com>,
	akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru,
	vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org,
	brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu,
	steven.price@arm.com, cel@kernel.org, senozhatsky@chromium.org,
	yujie.liu@intel.com, gregkh@linuxfoundation.org,
	muchun.song@linux.dev, simon.horman@corigine.com,
	dlemoal@kernel.org, kvm@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
	dm-devel@redhat.com, linux-mtd@lists.infradead.org, x86@kernel.org,
	cluster-devel@redhat.com, xen-devel@lists.xenproject.org,
	linux-ext4@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	rcu@vger.kernel.org, linux-bcache@vger.kernel.org,
	Muchun Song <songmuchun@bytedance.com>, linux-raid@vger.kernel.org,
	linux-nfs@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-btrfs@vger.kernel.org
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-44-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230807110936.21819-44-zhengqi.arch@bytedance.com>
X-Operating-System: Linux phenom 6.3.0-2-amd64 

On Mon, Aug 07, 2023 at 07:09:31PM +0800, Qi Zheng wrote:
> Currently, the synchronize_shrinkers() is only used by TTM pool. It only
> requires that no shrinkers run in parallel.
> 
> After we use RCU+refcount method to implement the lockless slab shrink,
> we can not use shrinker_rwsem or synchronize_rcu() to guarantee that all
> shrinker invocations have seen an update before freeing memory.
> 
> So we introduce a new pool_shrink_rwsem to implement a private
> synchronize_shrinkers(), so as to achieve the same purpose.
> 
> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
> Reviewed-by: Muchun Song <songmuchun@bytedance.com>

On the 5 drm patches (I counted 2 ttm and 3 drivers) for merging through
some other tree (since I'm assuming that's how this will land):

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/gpu/drm/ttm/ttm_pool.c | 15 +++++++++++++++
>  include/linux/shrinker.h       |  2 --
>  mm/shrinker.c                  | 15 ---------------
>  3 files changed, 15 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
> index c9c9618c0dce..38b4c280725c 100644
> --- a/drivers/gpu/drm/ttm/ttm_pool.c
> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
> @@ -74,6 +74,7 @@ static struct ttm_pool_type global_dma32_uncached[MAX_ORDER + 1];
>  static spinlock_t shrinker_lock;
>  static struct list_head shrinker_list;
>  static struct shrinker *mm_shrinker;
> +static DECLARE_RWSEM(pool_shrink_rwsem);
>  
>  /* Allocate pages of size 1 << order with the given gfp_flags */
>  static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
> @@ -317,6 +318,7 @@ static unsigned int ttm_pool_shrink(void)
>  	unsigned int num_pages;
>  	struct page *p;
>  
> +	down_read(&pool_shrink_rwsem);
>  	spin_lock(&shrinker_lock);
>  	pt = list_first_entry(&shrinker_list, typeof(*pt), shrinker_list);
>  	list_move_tail(&pt->shrinker_list, &shrinker_list);
> @@ -329,6 +331,7 @@ static unsigned int ttm_pool_shrink(void)
>  	} else {
>  		num_pages = 0;
>  	}
> +	up_read(&pool_shrink_rwsem);
>  
>  	return num_pages;
>  }
> @@ -572,6 +575,18 @@ void ttm_pool_init(struct ttm_pool *pool, struct device *dev,
>  }
>  EXPORT_SYMBOL(ttm_pool_init);
>  
> +/**
> + * synchronize_shrinkers - Wait for all running shrinkers to complete.
> + *
> + * This is useful to guarantee that all shrinker invocations have seen an
> + * update, before freeing memory, similar to rcu.
> + */
> +static void synchronize_shrinkers(void)
> +{
> +	down_write(&pool_shrink_rwsem);
> +	up_write(&pool_shrink_rwsem);
> +}
> +
>  /**
>   * ttm_pool_fini - Cleanup a pool
>   *
> diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
> index c55c07c3f0cb..025c8070dd86 100644
> --- a/include/linux/shrinker.h
> +++ b/include/linux/shrinker.h
> @@ -103,8 +103,6 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
>  void shrinker_register(struct shrinker *shrinker);
>  void shrinker_free(struct shrinker *shrinker);
>  
> -extern void synchronize_shrinkers(void);
> -
>  #ifdef CONFIG_SHRINKER_DEBUG
>  extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
>  						  const char *fmt, ...);
> diff --git a/mm/shrinker.c b/mm/shrinker.c
> index 3ab301ff122d..a27779ed3798 100644
> --- a/mm/shrinker.c
> +++ b/mm/shrinker.c
> @@ -650,18 +650,3 @@ void shrinker_free(struct shrinker *shrinker)
>  	kfree(shrinker);
>  }
>  EXPORT_SYMBOL_GPL(shrinker_free);
> -
> -/**
> - * synchronize_shrinkers - Wait for all running shrinkers to complete.
> - *
> - * This is equivalent to calling unregister_shrink() and register_shrinker(),
> - * but atomically and with less overhead. This is useful to guarantee that all
> - * shrinker invocations have seen an update, before freeing memory, similar to
> - * rcu.
> - */
> -void synchronize_shrinkers(void)
> -{
> -	down_write(&shrinker_rwsem);
> -	up_write(&shrinker_rwsem);
> -}
> -EXPORT_SYMBOL(synchronize_shrinkers);
> -- 
> 2.30.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:22:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588501.920012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSGy-0001kS-Pq; Tue, 22 Aug 2023 14:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588501.920012; Tue, 22 Aug 2023 14:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSGy-0001kL-LS; Tue, 22 Aug 2023 14:22:20 +0000
Received: by outflank-mailman (input) for mailman id 588501;
 Tue, 22 Aug 2023 14:22:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYSGx-0001kF-Rw
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:22:19 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe16::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c13b829-40f7-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 16:22:17 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS8PR04MB9173.eurprd04.prod.outlook.com (2603:10a6:20b:448::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 14:22:15 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 14:22:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c13b829-40f7-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zd8Pgc3uY9NNXKgi8RD10kk7N6ZMztU9HQgXz2mwR6HDxwYB7ESx2teAVt2b8dzSnUIpj8ZhvQJZVzXJjjjNN+L+07+ngeMrVfk8xtyiiNVj5I78rqVpIu7aiVIfE0dlz08IdzvCu5283FqJMAv4IvwtwwVlMVV56Wxa83zI6Cgi68ZPhKJbLstxKGWIpsJF2RN8BuBXNcJ+WYzEHaFObbfk6R8w7YlEbTR07do28p7ZXYTOESS/OS1oyqEGBZglagYlsGPv6QWkkkhSJ7Nvo6VNIUS1ndkoY5fUYzazHhie50XWf5IXz80Bv2GMz4x58zdizEMYeKO6WVtG0kElYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+rimVZimHKKy59YK9PiaDDDNC//LNm9xS2QFG7NPHwU=;
 b=faiYWhANPWU0utOfEXi8x5uz4fHwRx05neKQfF9rlETsth4isX2XrfiJr4LYOpKcM7pMIoYntdkKH+REea+Rop1ZHAJWsnHct9zJHXrsHpTLNRBawrkRN2GVLEoqf7PUn8V2KAFRpjep8qjjQoCu4kHOFwFomFMfOJNnNadd3hcl4n1nu8v7F0tQTgy8GymyjNlb1bjTll12WyBlVb2ZiDuLxgSd23Ecxl87HbgHllNBAl9olYFmBSNlnR7bchsums9q9YIPo1dtPxtZ1ebxqijrXvtWeQ4eSkWsRNR3aVhSNen4mq+vTsS1UqIUXgpGI0qyEVTwZcLlNW5XmDG9qg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+rimVZimHKKy59YK9PiaDDDNC//LNm9xS2QFG7NPHwU=;
 b=TPgesFTcspFMXxQ710a1NMJFoUt1xJJLtK1A/zG0bRveXvw9mKsUqH6/gW8lYB9K/nrZB78ieNPOwRV8quQJ65Jvw/zE1Jb9V/1gJQvt5JDgZJqkf56+68IkobeVuYpBnVd53i5Ywv68n7/4Z7EOC/5lzKE0RaSiBuybDHkXzi5xYrFdB6rl7v0L6Qzk0604T2L9JR1qKeTDFuGevtjtxC6fI6j/RgDrmvTWxrGIxuz7j1rMSyY8V0POgBhNqx2c1yxyYTK4+9mEiYgPorC8YSg5r/lhuwA1BbONiljxn6nsK6TcDqnSShKLzDVdlw5HcAu8BzzqXIQAu5b2Hz6NFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ec9ee16b-71d8-9142-a314-0e782b481bef@suse.com>
Date: Tue, 22 Aug 2023 16:22:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/AMD: extend Zenbleed check to models "good" ucode isn't
 known for
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0236.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::8) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS8PR04MB9173:EE_
X-MS-Office365-Filtering-Correlation-Id: 0dd17076-c47e-437d-0ac5-08dba31b2edb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IAjy8O00gypVvvBproqBMETwq6TkJdOCT9M+N8ECmSYO8doCKktSXb/Myf3u1b+OW2ZmhcvvktqaEWljAGLx0Vb8FjQkF4px7YiWK57T63r5nL6Z5KicnRQHJyUq1CqKCo85TaArvjhBiiktPvv4URtgTd2psEAZdWGKFlz0agtwoM2XV2y8t5CW7t/26VpxZiOR8zsppz4C2ZvrK5KIJ2Cbg91UZvqzRFPVbN9StI/viu88OM+fh8MxAU0dHnSX3lc+v+Y8vYp/vYCBL/Iqsh8gQ4Rv01dYLol2LglABcL6UZZj3EKqEBSN5re4TT5sRxHqJ1+MvzL1KxJZiXKTW6OQ0R2dTp4DKKBN6lILg66pP7hyORVUbKTtVtSlH18voR2yN9h4E3Q03md1u1yRrG0wFuvomucCh8UKGbWpXHS1N+A+uR4P5sd3l/jYueUk/yXjjvulgADZUw2Z9BKrNsQWDNr4NRzi7x0IHuOD4rjzCpP6KDmVMxJxDe3P7X9wkAbO3WdYbtm0LOKA3R67SmkNZJ8uY/iu8UjX8qIy6ehehZQTZQelLdlBewkQdzjfoGtF/RkShyTN2CvHeCcQoPi4z5IgIruflZpOpJspFG6Q3N1HBYzyT9rTJ2GCwq2HpcgUcv6Kf2u9q4rzy5ymvQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(39860400002)(346002)(366004)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66556008)(6512007)(316002)(66946007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(6486002)(6506007)(4744005)(2906002)(31686004)(31696002)(86362001)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azFwREorUzd5MnI0bUJ5QlhVc2ZuZmwvY2xLV2hsUTlMZUtkN2ErK3pSaWZ4?=
 =?utf-8?B?SW55b0ZvV1Jzb3ozbzlROWZsbm1BcGxWYmhXelRrcFNVZmd3YTQ2cW9mNFdv?=
 =?utf-8?B?MVp3MEVTckZvMGhud0x2UjVPejZSZm1LZjA0UGduRDJSSzhEWlRUL2ZJQzdq?=
 =?utf-8?B?TmN6amFSWEhhY01lWWlCYkx1bE5US3RSeTlqc0tXUmZZeTVpbE1aVkVpaXB2?=
 =?utf-8?B?THFDT3ZvejhoTGNuWVltcnhncFpaMW9BOThYZkdJcU9vNEJyTC9JZk94aWNa?=
 =?utf-8?B?MWZZS25Zai9RZjZwQUhVOHVLb29tSTM1WElPYS9udVZFSStzZW0zckJ4NHcx?=
 =?utf-8?B?a1pHdFZpdHB2RmQzbGJWRlJkRDNZNGh3QXN3dnQ5SXNxQXNpY3NsazluZm4z?=
 =?utf-8?B?dXNZU2pNYzZXQmRFY3NjYk1KTHlYcnpuaEpNdTZVVXZnMW01V3dPWmFmc1Nj?=
 =?utf-8?B?aVlGQ3lVVDVaamc4WGNVT2R6NkZMS0JIdDFMSm9ocHRGNjg3K01aNEVTMElP?=
 =?utf-8?B?Wm5OVWRsUEF3VW8rR0lhZjg5NnZhUE9KcnBRbG0wYTl1K3NNdTdjdGJFdExl?=
 =?utf-8?B?emVoc0crNlhvNHRLRXdpZ2dXRkdSMXd1YmxMTXFDK21RaDJIM1pBanpmYzFE?=
 =?utf-8?B?NlFKSEJReStSeEh6QXlBeDZVL1NBcVdyOXpZcy91SFJReWxHOTFjZGI4ZXh0?=
 =?utf-8?B?ZW5RSWpYOENnNnQxRlhjYkUybVEyZHgvSW15U3F2UmxOKy9MQjkwTkdtckM3?=
 =?utf-8?B?NjNMZ292ZW9VdE12NVRIY3VqUUttb1kvTUlXRWtjTFRyaG1TSG50MmIvN1BC?=
 =?utf-8?B?ZWVocC9kSU9DbXZyOUZ0L3kwcjFyNTJSVHpsQWRjb1BaNmJxWkJlbmpQNlF1?=
 =?utf-8?B?emVFeUUxdnVzRDRCYUlnWHNmeUcwSmVXMGpsV05xRVd1UlRHVUxvZkVmUTZw?=
 =?utf-8?B?L1VSK2ZUYUhpbWUzSURGUnJNb3JNanpJSFcyMzR2MXlKbk5nUms5ajB5RWJM?=
 =?utf-8?B?MVJtZzZ1RS9zYlp1SEFrYjZERlpQRE1oNm43QXdLTzNvOC9iTTc2c0JHM0xR?=
 =?utf-8?B?RGlCeW5wK3V6Y0NJeTMyckxLdkM2OGpQV1N0UnhGOHE4WFIyckpzREozVUQr?=
 =?utf-8?B?WG5JemJTeS9MU2R1ZW5ORnFEb0d3a2M4Z0lNa0xRb0JQQVJUN3BGRHorQUFH?=
 =?utf-8?B?aDlyL2I1TjJqRGNVZDB6aENTeGpINW80NHp4Q1pIUlNUNHltNzdLVGNkRXFJ?=
 =?utf-8?B?WnV6VXN0YXQ5bFVRQ2dYa1p4TENpVzBnaWIyS1FQRGI1dFIrd0dDRTBxeFZo?=
 =?utf-8?B?cjRycUwwNmlQcXg3MXppRzdFRXg0alNVbVM3bVZ3WGx1SzQ3YzZuYnJZYlVL?=
 =?utf-8?B?d2JQREFJeCt0YmxHRGxUbllKSFRtTXNKMy9OSVZTdHVHNDNTWTQ0NmxTcWd4?=
 =?utf-8?B?M3F5endWb1F2d2dMenNlVm5uK2pxMmhCRW5oVVFQODNoeWhHSWxzYitOYW5G?=
 =?utf-8?B?VEVBQmpNdDIvZUhNT0FEbzRmcXJ5bTUrRnpUUHMwd2gvS0xmZnQ0QVNIUk01?=
 =?utf-8?B?WXVrZ2h0eWhVMFh6UDBoRUZaNjBFWWNFTWhQa1hadTQ2QWpsajc5aEV2RnhN?=
 =?utf-8?B?d2R0dkxRSjRCMVVVRWNlL1dtcENDR1hncFRISVBlR3pYcGNRdUxZS1FSSzhp?=
 =?utf-8?B?RjB6MW9TUFZMTnV5eEk3bDlnWHRheW9HM2ZPZFVxWWtiWXo3aVpqSjF6ZmlV?=
 =?utf-8?B?K0Flc2VKYXlKMzZBMDZtdCttNlcyWEVJb3g4UWJzZUQ3SjZ3ZC84SjBKLyt0?=
 =?utf-8?B?YTA1REV0STBlakNFY0JycGsvQVZGL0NUUU9DT0tMaGVXazhjZ0k5b0FvMFVO?=
 =?utf-8?B?TUJuVWhPbSsyUUxtOTFaUHRGUEl6V1F3TFcyaXJTVkZkSmdOVzJWM0ZQeDQv?=
 =?utf-8?B?SFFDSzh3K1lTN1cyeUpDaUNEcnVuMW1vRG1DWjlMcHJES0xrdm1mRWhjT1BH?=
 =?utf-8?B?b0VVNWFaeUhhckl6aE8vdE1jaHN1VWZlU0dUQ3Erb3ZwTUxqTEFyeVZCVUlX?=
 =?utf-8?B?UEFGaUFxSFVQbWE0ZmFLUERZbEl3RW9GTUw1bkJ5VUUrUW55Z0pzZmhyR3Az?=
 =?utf-8?Q?BMox9ZFnOIIwRYdqfQutitdjC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0dd17076-c47e-437d-0ac5-08dba31b2edb
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 14:22:14.9696
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y3PuW72gXQugy/OTz4epEqxYh3ATr0ohgowNFobeWiBOZLPPvR4JtcdvEhqLT8AShyiIS95KHGTckmeyB/YllQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9173

Reportedly the AMD Custom APU 0405 found on SteamDeck, models 0x90 and
0x91, (quoting the respective Linux commit) is similarly affected. Put
another instance of our Zen1 vs Zen2 distinction checks in
amd_check_zenbleed(), forcing use of the chickenbit irrespective of
ucode version (building upon real hardware never surfacing a version of
0xffffffff).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -936,10 +936,14 @@ void amd_check_zenbleed(void)
 	case 0xa0 ... 0xaf: good_rev = 0x08a00008; break;
 	default:
 		/*
-		 * With the Fam17h check above, parts getting here are Zen1.
-		 * They're not affected.
+		 * With the Fam17h check above, most parts getting here are
+		 * Zen1.  They're not affected.  Assume Zen2 ones making it
+		 * here are affected regardless of microcode version.
 		 */
-		return;
+		if (!boot_cpu_has(X86_FEATURE_AMD_STIBP))
+			return;
+		good_rev = ~0u;
+		break;
 	}
 
 	rdmsrl(MSR_AMD64_DE_CFG, val);


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:24:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:24:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588507.920020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSIp-0002Ih-2Z; Tue, 22 Aug 2023 14:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588507.920020; Tue, 22 Aug 2023 14:24:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSIp-0002Ia-00; Tue, 22 Aug 2023 14:24:15 +0000
Received: by outflank-mailman (input) for mailman id 588507;
 Tue, 22 Aug 2023 14:24: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 1qYSIn-0002I7-HN; Tue, 22 Aug 2023 14:24: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 1qYSIn-0005PD-AA; Tue, 22 Aug 2023 14:24: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 1qYSIm-0006KZ-TK; Tue, 22 Aug 2023 14:24:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYSIm-0004ks-So; Tue, 22 Aug 2023 14:24: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=FnuAzwwLMRlOy917HnWjXLMAscREhs8r6iKlgEP3Ht8=; b=K971XGwh8S7uuLw5sXNIugzTAL
	XflwOTc85haCowP5Ux7iPygO6SmVJEVAkvf6ovDOLa8tMp4Eo/dRr5dAFiAdGt+V+1Q7oFD9qNTbi
	YGTNgVzsKQMznBBl7JLgPmBh9X3fu5BXNY24MUf78V15GRRt2qm1cwRfkScOT6m+3ir0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182416-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182416: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=07b6189ef4af31f1a83d327a08b37f317b963f6f
X-Osstest-Versions-That:
    libvirt=edfce77ba210fe840ee4aede3e1a68b0b14a8ad6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 14:24:12 +0000

flight 182416 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182416/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182376
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182376
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182376
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              07b6189ef4af31f1a83d327a08b37f317b963f6f
baseline version:
 libvirt              edfce77ba210fe840ee4aede3e1a68b0b14a8ad6

Last test of basis   182376  2023-08-18 04:18:56 Z    4 days
Testing same since   182416  2023-08-22 04:22:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   edfce77ba2..07b6189ef4  07b6189ef4af31f1a83d327a08b37f317b963f6f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588519.920031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSXA-0003xX-Eu; Tue, 22 Aug 2023 14:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588519.920031; Tue, 22 Aug 2023 14:39:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSXA-0003xQ-BD; Tue, 22 Aug 2023 14:39:04 +0000
Received: by outflank-mailman (input) for mailman id 588519;
 Tue, 22 Aug 2023 14:39:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0QVw=EH=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYSX8-0003xK-Qy
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:39:03 +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 a1fe5897-40f9-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 16:39:00 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-3fef2f05356so18543145e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 07:39: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
 m7-20020a5d6247000000b00317f29ad113sm16076223wrv.32.2023.08.22.07.38.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 07:38: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: a1fe5897-40f9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692715140; x=1693319940;
        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=2nsSNRBvkBaamjaYyJnaTiWuBSsisszAikLeLc6+clU=;
        b=M7IimoSKmFBUmWXhAlms5NmBgOb+OhvWhn4Mg0A9+8a+i7GSXl59iyl5g+nnTye8W1
         qq2Qunk5tjPyDN5brXLMNgwCLRhiDPNgZPK9GDQiB1zIjPCcbf4hehXxQbiQED0gC5Tw
         CNo33tXvDpBYKxa28F5SdraU8kApYR/J7ga94=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692715140; x=1693319940;
        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=2nsSNRBvkBaamjaYyJnaTiWuBSsisszAikLeLc6+clU=;
        b=PtJF36yjFwJEGGq/+gYSZPwS6BjU/4tug6k/ZBQVbIN2sEmOPHuyEE6A9WqmjGug2s
         U29JRD8w3G8i+p3z9W8nVpT5UCOTH2yl0Wt6YWUWPI0glH+3350CMtaGCWfUwB7vId9x
         Lw6F0P+k1TPO6pPfVbPriiqZ/qKRh5EKG1xKOwWuX0Txx5bCXWh+c/YpvBa0fuMyASsZ
         HGnDZsBqXwRDJTm6cPXaS7VLNW2+4sVfsfBiYOsgGd60LTsCOtn2licoMRAR8fRR9UtE
         8t40fPBYIkbAg4UPlvZPLebmiPVGSZvicoySBC+Cin1AGscn4s3DpCK5Mb81oepQlCgr
         56pg==
X-Gm-Message-State: AOJu0Yz5s8xQNY40WaNI+YDOqelAYW1QPx1NhwA37huWNrWYO/DgVlKY
	z/l0hcbs9JixCJVafvJuyCHYiQ==
X-Google-Smtp-Source: AGHT+IGddo3xctG6R8/6dfFIkR2CSFLaVLQL03W/a7ewlYuof6jACon3Gp5r1aMRru09ry3aJvZR5A==
X-Received: by 2002:a5d:6308:0:b0:313:e953:65d0 with SMTP id i8-20020a5d6308000000b00313e95365d0mr7653541wru.28.1692715139871;
        Tue, 22 Aug 2023 07:38:59 -0700 (PDT)
Date: Tue, 22 Aug 2023 15:38:59 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
Message-ID: <c5aeffbb-8383-4fc0-9cc5-180586d36fb5@perard>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
 <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
 <eaef1c3f-490d-a21d-92d1-cfbee50dbdd9@suse.com>
 <bc278b7fbc9d3cb85ac2dd44088ab818@bugseng.com>
 <a7c22fd2-4a5a-3987-1dfe-691107790c87@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a7c22fd2-4a5a-3987-1dfe-691107790c87@suse.com>

On Tue, Aug 22, 2023 at 12:10:28PM +0200, Jan Beulich wrote:
> On 22.08.2023 10:27, Nicola Vetrini wrote:
> >>> +C-runtime-failures.c: C-runtime-failures.rst
> >>> +# sed is used in place of cat to prevent occurrences of '*/'
> >>> +# in the .rst from breaking the compilation
> >>> +	( \
> >>> +	  echo "$${MISRA_HEADER}"; \
> >>> +	  sed -e 's|*/|*//*|' $<; \
> >>> +	  echo "$${MISRA_FOOTER}" \
> >>> +	) > $@
> >>
> >> The rule of thumb is to generate into a temporary file (then you also
> >> don't need to wrap everything in parentheses [or braces]), and then
> >> use mv to produce the final output. This escapes anomalies with failed
> >> or interrupted commands.
> >>
> > 
> > I do see your point for temporary files, though wrapping commands with 
> > parentheses is a
> > fairly common pattern in Xen Makefiles afaict.
> 
> Now I'm curious: Grepping for ') >' underneath xen/ I couldn't find a
> single instance in any makefile. (I'm not going to exclude there are a
> few uses, but then likely not merely to combine multiple commands'
> output.)

Maybe using `{ } > out` might be better that using `( ) > out`. I think
it would result in one less fork of the shell, without changing the
resulting file, so always good to take.

You should add also `set -e` at the beginning, to take care of the `sed`
command failing.

Or just use a temporary file.


-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:40:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:40:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588526.920041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSYg-0005Wu-Ru; Tue, 22 Aug 2023 14:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588526.920041; Tue, 22 Aug 2023 14:40:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSYg-0005Wn-Oh; Tue, 22 Aug 2023 14:40:38 +0000
Received: by outflank-mailman (input) for mailman id 588526;
 Tue, 22 Aug 2023 14:40:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYSYf-0005WZ-Ci
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:40:37 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da12cfd7-40f9-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 16:40:34 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by DUZPR04MB9966.eurprd04.prod.outlook.com (2603:10a6:10:4d9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 14:40:32 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 14:40: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: da12cfd7-40f9-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MMvSrXM+S9YMyW2OZvdWQkD77fHAY3iNm9YLULDCnW53253mT8Z7EEriOcVMjkVxzarNVH6KB3dpV18W8h9ZsqN2N+O1fFOuWVjy/7gDr2XU5A6RLnmZbX95Dj/k64qjXPoIInb9aI1MW3GCvFa6BwGzwizN5AJddc/4/laFTLF4UPtzHtDWq+5L+DAFhcSdxexQz9PvVZzms/XvVUPrvFgG4vXp9keQLzjg2xHNaDtNUVDzB/YwdyW1diTuqDdbeZ5Dtm+4GtSYygKBQFF4jA0ryjiPnw4ekqrtbAQNU5EggeLWoCucMFw1Y07+7YJOfTQvv95gVoavS2ZuVnrfdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cOnmBsZVUhOyXn7ANGfKQMiD6by24qbj7+r6DfGxaXg=;
 b=jCGoSpZWop5nbIWybSxBBG7bn4mX3k9g7skl4+LhVuwcIks/tS30LMb+mwL3fE/1g+2QlcrX5yRh1P+U6k+Zs4cqvjKP+BNBdwscGNaNMqsocUhmNVQm8Ql8T1ghVqC6AuA5wXYkeYyPEzDrtKiM6O1NjO/v1wZLFsBR97TpSWJ1MhHhSpKxB1jwzyakkCiwdPsFYHHk9RPbl8QaY2KO3UXC+EbTKwmPEGKhwE8wEmnRB/CNfqNw8I7VR9zO9oQucYSbTB6iN2DrSY/iZxZc5qeFUBNecCm/IGF7LH9UJMzeVC2GzjfWMKkKOOdHDKXONG+JsZGw4t1mcmdhzH5QCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cOnmBsZVUhOyXn7ANGfKQMiD6by24qbj7+r6DfGxaXg=;
 b=COMJOP2MpsBy6hd5fLuRXVTHJ7LlYL9sh7m4p4BNw/uX4TIM2lEiB7XZFRdRRgs+/HEdpTC/SdIcJ3iQk3n6rD8nSku6f+Gvrfqcel+29qsuQZwo8fgulswiVfzBGvrLRJH8sICeszOsCuuIMcHD0CXAVNhLccZetEijZM66fLpUkSzrviCuB1Mfnmu8ZXIj6p9SjgLxgll+zfG7E5VkgqGVL3r7hcWggwC+AiBpn2LHe1ue774sXBnAvWMLTD2ketDVFHRon5liWp6+ZgyjGODKOKypMZMi13GnSpl12qvDE6/vNFP/Cz5arg+utXaQDwjU+1DfhSWH13pnaWTNaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a5913ad-c273-0ee6-11c8-9d18e9a4a84b@suse.com>
Date: Tue, 22 Aug 2023 16:40:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] build: restrict gcc11 workaround to versions earlier than
 11.3.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::23) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|DUZPR04MB9966:EE_
X-MS-Office365-Filtering-Correlation-Id: 96f948cf-1a2e-4712-2960-08dba31dbd02
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BSyYaM9aCjLJaNMBeaeYCfQd7jxWUmopkWSXducY/SCE0oKPDZWlV6M4KNYA31G/qpeLL/gK/vpCkd057/2GfE5SyJRBrXuewcUNdJc9lHwGii0hxri87XNiHcIXnv7PT/gWOIQp92mkYh4tLdeyr9xkKK0XgQhToosR3WFoLZw+7T2Nm7UbVB+GGuYZe6kW95EPbN414oFSi9nBjaJW3r2S1rQ1jFSPCnBTRmihGQqEUKtwQisND+bjlue0Z0n0Scc+HDvQd0bAOhmDaGhZ0Q+uKSyDCea+ThKIT0vVE5k/u6QrKxXfkKra0tmamTL44A9yXCqXgaJ0MGjFBs54P4l1QzBKqNLXVt3uOf8aCrrPWCkmkdA+4VwmYgEIrUFcqDyrzoJyRY0LBEJxhQwKADWLTiO33R1vyD8ygOHLkQBuqzoiVk4tHuLPwm7myprAT/kamhViYi0lGdyYwsqk1PuUPmLqrwlNeKQ8ymtni6537nINgfX1Dg9EQfS7d5kT2nyVhx+/qcER/vT0dAGCYJTWVJ8Et+7ORSQjmYAbemsdJW9Y9VP8m6Syw7KlYUpQpdy4eNm300sk5WPVSR7aqxC7Wx+LVoY6Z8XdGS1ZyIv7BQ/XCmd2H3TD5OZbbM6ihdAdT0KgReBAyC3SrWDbsQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(346002)(376002)(366004)(186009)(1800799009)(451199024)(54906003)(6916009)(66946007)(66556008)(6512007)(316002)(66476007)(8936002)(8676002)(4326008)(2616005)(36756003)(41300700001)(478600001)(6666004)(38100700002)(6506007)(6486002)(4744005)(2906002)(86362001)(31696002)(31686004)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amtMWFV4cVk0cHFjRk1INTRXQXNjSFFDbHZxWVRIK0xKd3A0YTV3ZDZaQ3I0?=
 =?utf-8?B?Vjlaa2wwUWQwTFRaUHZLdjhnc1U1TEl4SnZyS1VwMnh1aGpHMXZieWhHVFMy?=
 =?utf-8?B?emJDMVlVTWdoNVRaRmx6WC9OQU9RL3FFcFZJR3VGNU9ubTFzbXE1VVpQZDl4?=
 =?utf-8?B?Vk9icmJIeW5OKzFOMXFiMVpRckRxWDN0dXRQc2t3azlYN2M5bnMyZG9DWGpZ?=
 =?utf-8?B?U0ZUbzZPTDRxNGpKTDNaVkN5NjdiOU4zei9vOVRhVGorZ3VWQzQwTTd1VFJZ?=
 =?utf-8?B?ZnRLTzdHaGxnejVzb0VJUkdVZ0gzMUdWaU9oZWFYSFVFUnVyYnJtWVJ1ZkxN?=
 =?utf-8?B?QWNsczhtVG1jMVh2dG1sdFdpcnBFNWc1MzFkYXYyYnUvNkNKOUtSbUdiOGs0?=
 =?utf-8?B?TldCWjZHc0txeFUrUGtCU0o0SUlkV0FkNmpnaXhNT0pTWFRMa3ZCOTN0c1dO?=
 =?utf-8?B?ZmJrWmw3YkJ5TzdWVmZuS3hoTXNTSnVPa091Uk1vZnpBbjNEeGFpWEtpNmNk?=
 =?utf-8?B?Und1MlgvbDd1U3FMWmZEeS9qMFRVMFdKMFJRQSs5Q3Y3RncxSTNCTk9kb2hk?=
 =?utf-8?B?TDBzV0t2Z2ZlR2lWeG5TenZJdjZpdkJDMDFRQU5leWtkd0dqRFQvaTBBYzcz?=
 =?utf-8?B?d1hYSFZQQ1psYkFTOFNYR1MzNkhPMVZ5YTFwa29BYnJqSnMxRGhUeEVOSlI4?=
 =?utf-8?B?T1MzSzhCRnpQa1oreU1JRkJEaW0ydGJxU1puZTZOek1CVlh5M2t6S2ZwK21k?=
 =?utf-8?B?b1hrS3Nuci91UEFsbTd6Rk1vNFVuWHJJb3c4NVIxN3F2NkdKQzUwZUF4WnVh?=
 =?utf-8?B?cHVUMzZUbVFpU2c5RUlSZlRuWWg0T0NWNndEc2NRTzBHM2MxMndjSGRlWE1M?=
 =?utf-8?B?SStSN1lIMnZLdmFKcit5QnRpN00vK3FnZFhIZE1xTWU3LzFRc1JFOXQvRDZY?=
 =?utf-8?B?K2s0NENZRDBOcG1XQnJxV2E1OHE1R1pNVHRXaHZmRFNRcUNNdTI0TXZ4eDgz?=
 =?utf-8?B?bzV3SjZMZVpDWU9HQ1RiUUhFcE9HTzg5eWFVNVJzMHh2QTNSSGMyQkdxMHFD?=
 =?utf-8?B?aVJRRnllVlFvQU0rZkpFdU5lQTBxdXA2UVVmTE9uUXNTZDVUWDRTVFBVZkto?=
 =?utf-8?B?b1l6UHI0MHh3aktIcEl4bkVMdUszakJYd0dFekhjU0Q5ZVNQZWhvMUVOZWhr?=
 =?utf-8?B?dGNteDBJcHBkNERpTEN0VERSRFlVejdHenk2U2lxK0FaR28yVnl6b2h6NjJi?=
 =?utf-8?B?YXhlSUhpdXB4MnQwYmdhT0dtbGMwWDQwcjltVHJNNUFuNGxKUjgyTHNOcXNt?=
 =?utf-8?B?cDJRWDVmbk9MWmFjM2J2dUdwdHNhTk9BSHNuWGtaUDg5a1R3SE84K3YzcEJT?=
 =?utf-8?B?dkw0K3dKS2QxQ2xLOWRzRmtFYjZUK1JEb1QxU29WWlhMdzVjYWhvQkpiQkJR?=
 =?utf-8?B?YkRLVzllVHlOMG41SXFLZHlKcnJuR3BrNUtMYW1TbmF1clJ3T21ZcWcwc0p4?=
 =?utf-8?B?SzhwTmZhSy9BeFhZS3MrakdoMXVCL2RGcVlPL3czcndvb0xxNS8zSVNhc2tM?=
 =?utf-8?B?ZWl6MkcvNEJqM2pUdkJ2c3hpb01weFFrcVBGTCtwMWdVTXViOUpaTUV3MDc5?=
 =?utf-8?B?Z1BJTmZvNnp3SnQrK1VTVUwrbGo5WllzTnhBejNmQVBPQ25YQnlSN3U3dnRB?=
 =?utf-8?B?OFhkTHFwUFBlNmtndHQ5dlNVbHZ2SHk4YUUrZVd1amhmZkxPY3phemRiT1Za?=
 =?utf-8?B?RnVFUGQyQnIzM3pwY3ZOUW9qZENyMkFVbDBPK2RPWU1Lb3ZRS1NSVFFmWmwx?=
 =?utf-8?B?SC9ibEQrRjV2R1c5STA0Y3lEQUtaNFVSOSs4RnJnOFNJczl5QTRZcVpuZ0oz?=
 =?utf-8?B?VEdqR1VZcnN5MGtlRExWS3VzelR6d2ZCaUpPbmsxc1FLeTVobHlzVCtqZnVu?=
 =?utf-8?B?bmN1OEt2UUZCQXgwbnV6VGFzTHRaWW1HLzYrMng3WWdUclArYmpzMFZaTWNq?=
 =?utf-8?B?eHRERnZ1Ym42Z045ckxJRjFqS2hkNno5SGVOYXY2cUZaL0xxQ01xaUJKeW9p?=
 =?utf-8?B?WGJmaGlacmpZUUhUSWhkZjNQUVhkWi9IdFpidzFLWG1aT0hLcEFVaHpiNTZt?=
 =?utf-8?Q?pIDzkSz+CRYAPx66e7oRsvQtE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96f948cf-1a2e-4712-2960-08dba31dbd02
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 14:40:32.4849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /Do7fiqZj1CGj/tsSb3zfjbeyFzt6cuBOTNr96P8icemFMwx4CzGWQlxJJgS2+uMkC6UgUC7Dund9ldWAtQ0Zw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9966

The fix for this issue was backported to 11.3, so let's not unduly
engage the workaround.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -146,7 +146,8 @@
     __asm__ ("" : "=r"(__ptr) : "0"(ptr));      \
     (typeof(ptr)) (__ptr + (off)); })
 
-#if CONFIG_GCC_VERSION >= 110000 /* See gcc bug 100680. */
+/* See gcc bug 100680. */
+#if CONFIG_GCC_VERSION >= 110000 && CONFIG_GCC_VERSION < 110300
 # define gcc11_wrap(x) RELOC_HIDE(x, 0)
 #else
 # define gcc11_wrap(x) (x)


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:46:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588534.920051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSe7-0006AX-H5; Tue, 22 Aug 2023 14:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588534.920051; Tue, 22 Aug 2023 14: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 1qYSe7-0006AQ-DF; Tue, 22 Aug 2023 14:46:15 +0000
Received: by outflank-mailman (input) for mailman id 588534;
 Tue, 22 Aug 2023 14:46: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=/ibS=EH=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qYSe6-0006A1-Fk
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:46:14 +0000
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com
 [2607:f8b0:4864:20::d35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a38258de-40fa-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 16:46:13 +0200 (CEST)
Received: by mail-io1-xd35.google.com with SMTP id
 ca18e2360f4ac-79194701ce9so152832939f.1
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 07:46:13 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 o9-20020a639209000000b0056946623d7esm8050500pgd.55.2023.08.22.07.46.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 07:46: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: a38258de-40fa-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692715572; x=1693320372;
        h=content-transfer-encoding:in-reply-to:subject:from:content-language
         :references:cc:to:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0HcrzFgjOKNgRJoCpuCt3hagbFqDOGLYwzwCox6Hr+A=;
        b=o9c9P7rNOsruoqrPbIVB+aU3Qcvl77f/uHXxEgzSl1rFQjAoWZd348aQhMZiKLEhrZ
         qa4IeyzeOByT4Ye3ejvW/XJer4nGN9lqht4hjkFH7Co9mjgwpqL+jT4S+WDR/Tlf8g0A
         ubv1WybDsGNuVs0sXlxQeTA+hiPz9/7IfANpzl1r8e9MW3QMXuj3Nkx48y9vtxFWt66F
         +vi7J5StaNe/Ef6MA18svQIFj7s+PwGaXjDzKUw9uDNbLXUsb//fF+TS7ZbrdmzxWO1z
         +NSROPlOrE8SteYSEG2vK2sOPSciHDyPjA9SUMqnvpcwTa7OacbUEYE5ZJIujnouidXK
         vBLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692715572; x=1693320372;
        h=content-transfer-encoding:in-reply-to:subject:from:content-language
         :references:cc:to:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0HcrzFgjOKNgRJoCpuCt3hagbFqDOGLYwzwCox6Hr+A=;
        b=khwJq6HoM53MxSu8sMtxJE1mIYmUgFIowIb54hj82pLrpI7J6Uxbu/0/MzHeziFb11
         8XlxeVUpLavdVqYpYx2juLMfFdEgRAAVXLu0KJJipooSdTwAy4Y/C96IacE+1LkQJRSw
         /KH6AooWytN/5K0BMmlTx78+46kY4xldb3YLrUqap1xoOB4kaIYPzz6Jps5hWUQ5ndew
         TSdFu1D2gwsDdoHeIPp2lMWuTg8i/4qZ7GK9J2PjQKgLWkJ40IB8UtFnVAmmeZuPZJCO
         O/HOdQlhJdRFqIjo1moM33eHw06G2it2g4Wd6ewM1hBcapX8sUwIlZstTYEgdBQz790N
         LwOg==
X-Gm-Message-State: AOJu0YxRcaTZfdj2x5ShYmgw3sL3Is4zoZDw2L2jhWnrn+A3+y7vl6+M
	el0Q63giWgVxyAg4p9hSqsk=
X-Google-Smtp-Source: AGHT+IEpTwaz8pY4HrN4OoOIXTn7eyeKsX9UF7jIBQgqPUOu28u+k8BxNwq2Zcb4QTcUWhra67fSyQ==
X-Received: by 2002:a05:6e02:1806:b0:349:296c:9b8a with SMTP id a6-20020a056e02180600b00349296c9b8amr14652902ilv.2.1692715571836;
        Tue, 22 Aug 2023 07:46:11 -0700 (PDT)
Message-ID: <11ff64ac-050b-7529-416c-4173b29b17cd@gmail.com>
Date: Tue, 22 Aug 2023 23:46:04 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>,
 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>,
 Razvan Cojocaru <rcojocaru@bitdefender.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <aa422104-be1b-dd6e-8c02-00b90ef2e64c@gmail.com>
 <CABfawh=-cTX8PfQpiT1UCXMKmB_MMy-Oc0YJUDLnU7X8=6vEeg@mail.gmail.com>
Content-Language: en-US
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: Re: [PATCH 3/5] x86/hvm: RFC - PROBABLY BROKEN - Defer all
 debugging/monitor actions to {svm,vmx}_inject_event()
In-Reply-To: <CABfawh=-cTX8PfQpiT1UCXMKmB_MMy-Oc0YJUDLnU7X8=6vEeg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 8/22/23 01:34, Tamas K Lengyel wrote:
> On Mon, Aug 21, 2023 at 5:57â€¯PM Jinoh Kang <jinoh.kang.kr@gmail.com> wrote:
>> This is RFC because it probably breaks introspection, as injection replies
>> from the introspection engine will (probably, but I haven't confirmed) trigger
>> new monitor events.
>>
>> First of all, monitoring emulated debug events is a change in behaviour,
>> although IMO it is more of a bugfix than a new feature.  Also, similar changes
>> will happen to other monitored events as we try to unify the
>> intercept/emulation paths.
>>
>> As for the recursive triggering of monitor events, I was considering extending
>> the monitor infrastructure to have a "in monitor reply" boolean which causes
>> hvm_monitor_debug() to ignore the recursive request.
>>
>> Does this plan sound ok, or have I missed something more subtle with monitor
>> handling?
> 
> Sorry but from a monitor perspective this is a no-go. AFAIU injection
> will only happen once the vCPU gets rescheduled after the exit, which
> may take a long time, introducing potentially significant delay.

AFAIU hvm_monitor_debug() call still happens *before* VMEntry when the softirq
processing and actual injection takes place.  vmx_inject_event() is responsible
for queueing an event to the inject slot, not processing what is already
injected.

> The monitor agent itself may need to inject events or alter what gets
> injected, so now it may need to undo the injection of the event from
> where it was called from - if that's even possible.

The monitor still gets the chance to drop the injection; 'rc > 0' from
hvm_monitor_debug() still results in the injection request simply being
ignored.

> I also find the
> change in behavior whereby we would be getting events for emulated
> events on the monitor ring equiavelly problematic, making it very hard
> to reason about the state of the VM on the monitor side. If that could
> be made optional that a monitor user can subscribe to that would be
> fine, but doing so unconditionally is also no-go.

We could use an additional field to 'struct x86_event' to indicate the
source of the injected exception--be it VMExit, emulator, or
monitor-triggered events.  I'd like to hear about Andrew's opinion on
this first, though.

> 
> Tamas

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588541.920061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSlP-0007nn-7M; Tue, 22 Aug 2023 14:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588541.920061; Tue, 22 Aug 2023 14:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSlP-0007ng-4a; Tue, 22 Aug 2023 14:53:47 +0000
Received: by outflank-mailman (input) for mailman id 588541;
 Tue, 22 Aug 2023 14:53: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=u85s=EH=citrix.com=prvs=59133c41f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYSlN-0007na-Jz
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:53:45 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aef8b34b-40fb-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 16:53:43 +0200 (CEST)
Received: from mail-mw2nam12lp2042.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Aug 2023 10:53:39 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5181.namprd03.prod.outlook.com (2603:10b6:208:1e5::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 14:53:36 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 14:53: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: aef8b34b-40fb-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692716022;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2EbZ4rJ9gZYNKWuXpq4J5/iZjOjNY0gk4nmVUhP8ugk=;
  b=PQ+MCdVQcxa7atkMccBPAExlSOTDrtRTComT0Y5qk6NVjVGIXFq0Str/
   /qoHJTFjXt8fPyamGZ3Oa2btrGp2VqTMG44p7I28KJVa7VRyd37oycqKk
   /1aQisxsAu9zy0ADGC9LVtXAS3xU8QbLhZPCbYmeo5Gi32U1X3eV4m2zw
   4=;
X-IronPort-RemoteIP: 104.47.66.42
X-IronPort-MID: 120144765
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:i0+BsqjOg/cgEsg25FYQGGfpX161QhEKZh0ujC45NGQN5FlHY01je
 htvXz+BaK6CY2D8c4x0PYm290hV65SGyYBiGwBvrn1mFyMb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AWEzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQldAEnPzGcqNuY0Z2/S+5en/R8I5jSadZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluS3WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuXhqqI13gD7Kmo7ITAxBEfquOOAgGWmaswcC
 FMw6AcihP1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+LqRuiNC5TKnUNDRLoViMA6tjn5YQs1BTGS485FLbv1oGvXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:9scwBa+r6ewtqSmXY3Buk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-Talos-CUID: 9a23:1ifegW9Gm4aPBjNnknaVv3NIK+p0U2Ly9VnBDEu5DlRweOKaGGbFrQ==
X-Talos-MUID: 9a23:0FcZqAQhWD9yc16LRXTFqRYzKJZx+Z2kI1g8j9YlpO2WGCBZbmI=
X-IronPort-AV: E=Sophos;i="6.01,193,1684814400"; 
   d="scan'208";a="120144765"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HyBBoN/C/KJMJ827tjDfGbZZHTXzHZ9djqw5H1rhiEQsxQbjKkSzSMVbe4QI+p10qFRG4PhZczR08mpmgBuWMLutoGqQolaXdT96ej9ApMxa2DWswom/yS0UnOb/R6BRipjrWI8W8HMXVZS3D/2TXRdGXppJSenCGaW5WTnOVkVM+1Zb2VsDFOjeEFXcYuwbOcx8Z/svethQRlde/OQo+EY6rIuMw2QS5WuQkSL6HIvgj6eUv8F8Jh+4phEjhXxd+rNtv9F2b2g4ngtnHtTU9LxFoMHGZo8jQ0hARlGTgWKJk7wNsRkl0j3MMvjQT1XyzQtVbhtDBXT+GqUTtBNGlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VIO/0woE3ROzSflQqHF58TwkUs1PXZSon8/dyJQgys0=;
 b=bjBODkMEc0Yvp3zV4+RevKwjippP8hMEmPrIFiQg/GHpMOqBAT7KPd2nxmnE5fFzjlMGeYUjBpVLESPZD7g4uU6n/4OMJTjhZlidj6vuW5zYA/lSWjv1l7+qPOrsg+Yyf/hXNS/BUfpyBY5b+sDEYN9I52xjjfvZWF5mX5JD5/4tBj+QUnZnAsQChcqTfCo+wNxiqvvZCBi2RELjgkeo4xGbnxcdQSn8L+XaMa1grubRJXA225VXIL8WWL6aHJFDfj84xEKsjMGJvlF2HuiFZ2zlV68Z0jpSXYCDp3GzblhTf4k552MOsrITFGosrEPWROUvatta2WEvsuK8NwE2Pw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VIO/0woE3ROzSflQqHF58TwkUs1PXZSon8/dyJQgys0=;
 b=mcDouKa9a6p+JQztK8G0BfAdAJjIKiTZZJsEIP99xKbDJSHRSC2y+9nWrpEpl35/EWaCt7IUZONwQA+6WnvhTSPwF6FnMBAN8+LdbwC8g325MUhlYR+nGjSPkX/KN13MSmGSKWNuZbGn+aRT61UM9uaZSqyRtAK995aIEnnh+OY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <599d0304-c249-b4f7-3d11-7b40339c6bcd@citrix.com>
Date: Tue, 22 Aug 2023 15:53:30 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/AMD: extend Zenbleed check to models "good" ucode
 isn't known for
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <ec9ee16b-71d8-9142-a314-0e782b481bef@suse.com>
In-Reply-To: <ec9ee16b-71d8-9142-a314-0e782b481bef@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0036.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5181:EE_
X-MS-Office365-Filtering-Correlation-Id: e7113d56-3493-45ab-125a-08dba31f8fe7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	44aktH/nyz4YXd5ABhPeK4BwsJmoEVBQG8LOo2BPTAetfdYy7S0Fto9/R3DufhWz7c2XXHNsplXRQDziOihx1b/owycPsU5zuTtsDKnwFwipdPu3eYViouc632pU5vr2EbZHQ81CHiCqvat0IEB3s8xJ5KnKZZyaW0RutFS0muSW4ffPOUxErWOLxKsIKesgrokz0xxzV6oRelVgpzsujvyDps6jrvABbSilcPTzrKwvh3NwVowNPpWZnhGJPGGc5TZl8t6OTaVEIB5vNM6qC65Zqdn3WvneA6rguUWf9JYheU11FBfQBmpkeeqacIGoKtnfwUu9+h41qF87iAYY8wdexL4vaZb3+SOF7IczGDUfZ95BqaPPEdPZweocnbz/Vh/7MTwc40XvuxEvY3m2heS6ddzhtEGLClAYUzAA/gAbsdceU4RptUZjPYwsA87+thIobqRMZ4wap2c9aWSmfx1SaxOhJDKTE6v4QgbCiEIVd/Ygh+3YmVFbtDY67e+MhJhyxFwxnJ2PC2gVT0I00M9U51f9eOCHrXXykEbskWzbwLMiIX3MpmvDqd9PrmK3nPFUmxlMEVjx2XzDCjkLI6raC+mjbUcFhvBuk4CuWYh16B/7flElO0z4ELP72SHaXwt+k3yos2GuqQ+/CzN15g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(39860400002)(136003)(396003)(451199024)(1800799009)(186009)(2906002)(6506007)(38100700002)(53546011)(6486002)(5660300002)(26005)(31696002)(86362001)(31686004)(8676002)(8936002)(2616005)(82960400001)(107886003)(4326008)(6512007)(316002)(66476007)(54906003)(66556008)(66946007)(110136005)(478600001)(6666004)(36756003)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3J3dFNDa3FRVzg2ZVhnWnhOQzVMUm5POTBoRXhiVnAvQTV1TDlYcGJBREtF?=
 =?utf-8?B?Wk5YdnMxaHdRYWVtOStqSXhYZ1BjVURaVXZnaWRmSFVYd05JaVZ6bGxmL3gx?=
 =?utf-8?B?bkhRc3NyeU1pSXBsd1hiY3N4K3dvTjlxSXU5UTZNaFl4R0dMY0Z6cUVseVRU?=
 =?utf-8?B?WFRiSXp1RWJGRFVIZnM5dVRvdUdIdHNjVUt1WjJFZGtsVXdCVUNtWTZkZlBT?=
 =?utf-8?B?YTA1UkdTa3JiWXl5NGljMHNnQ2U2WlRvVjlFU2lScVZjQ1VUaUEwdjZ2djRs?=
 =?utf-8?B?TnBkaDA3KzVMQzd1cG42bG1Cdm82YW1rV1p6L0ZQWU8zQy9NcUZ3a2ZxZFVs?=
 =?utf-8?B?Vm5LZFlUdXY4NmVEdU51YTArbWIzU0p1VEE3c0plTEpJZ3VBeDVqMS9PbWMr?=
 =?utf-8?B?eG9ja2c0ZCtxbXdGb0FqTjhaL2twQUVTaVRmR2lGMEYyclJEdFJocXQrNlpy?=
 =?utf-8?B?eDFLMzExS3Q4S0E3SmVrQTN1RmtGUGdoTTNDc3Vna2JvZC9FV2tYL2xvcDZp?=
 =?utf-8?B?M09oYWMrWisvT0EvbmlTUjhOSnZHTXF5Qkd3NVJUbjc0b3ZkaFpSWmFWaVQ1?=
 =?utf-8?B?RTlOOStFbWMxZDFzN3IwQ0hWWnR0aGx5VTJlTXBoUzRRMXR4dW9heFhXd1I4?=
 =?utf-8?B?b2RtdUVXYnY0cHhEb2NUUTBsaWRQcU5DZ2xNSTV3N0VrSWtIZEx5b1o2WkVU?=
 =?utf-8?B?MWJKM2cyUk0xTlJ5SVFWVkNBa3R6U0xPaUh6S1FLWkQwZXE3NlRGR1dGaExs?=
 =?utf-8?B?cnhqQzB6ZHhQMWFmY0pEZ280c05oNnpFanRMQWc5cTcvM01Wbm9TUG9jczJM?=
 =?utf-8?B?dEk4bDNFNGMrY3hqVFJRVnpBRkt3VUNNNHhyNm9xblZUSXpFei9pUGxOaSti?=
 =?utf-8?B?VGUxVGxIWXpTNzQyTHdxSjk2alFTWmtQV3lrY0lIZU0wOUxFRitUdnRHTDZD?=
 =?utf-8?B?dzEwR0szNVhHb05HVFpicGRoVWRqMWoxUVJ4ODNBSGkvK3diWWw5Rjd1VVR1?=
 =?utf-8?B?YnNsM0YwSkk5UDE1SlZoWWZYVHh0Ujc4cVA1b3R3bVZZd2Z2WWYrb0I0OUpo?=
 =?utf-8?B?cC9qQksxNnFWRmlEU0RiK0FuZ1lCdkJwakdoKzZscXhIUVAycGdkUFREUXRH?=
 =?utf-8?B?d0N1MXFJblM3TEZ6Y2RPZVRRbVAxTy9sZFI5d1BnOUovb0tXaWh5cVBvTUpM?=
 =?utf-8?B?TU1ObHoxWmhwUElTWDU5YUNxbjhkWGs3ekdNQnpLbnhRYkh0bWs1bnN6ZVFR?=
 =?utf-8?B?SVJ6VzJJTTBMTVFKaVBybVFrUEhxRkpDd0tNQ21QMmlDd3NMUmMvUzVOclFo?=
 =?utf-8?B?RDVzeWVVa0FncG5URXprY0YwdlZZdGRoQUtSdGNNV1lua0VIcXcxbGJNZy83?=
 =?utf-8?B?b1hlVVV0b2lVcml6NGVyclBEOGw0eU1EaEEwUmFDRDUwS2J0aUdNSTNIeUQ4?=
 =?utf-8?B?VjJWRThOZ21LUmFvOExLNUR0Q3hCeDlaQVlMcTdUaHNiN0w1SHZiL0dBd2tk?=
 =?utf-8?B?b2hwL1daMS9TSkhLT1JIUDhDUTd2dXFOSGdRUjlnYmNCbDhFbkZEczFCQXVY?=
 =?utf-8?B?NDZ6TWQ1UldVRUVzSWdOUXJCaXZtWVpRS041OUxUdmZ5NXdYb1ZWOTZjYlk1?=
 =?utf-8?B?RlRYWnl2aHF5N1NKd0pyZC8xMXZSSTRYZzhiREUzdUJ1aThZd2NlSmE2TW9r?=
 =?utf-8?B?M2x2WW5FbnBycVNoc3R5ZUluS3c5d24xVnpZbVVBWS8yZ3piUS9ySkxQMXJR?=
 =?utf-8?B?SXRHbHNERGNlOU5DWDFuT0xHOE9nVTZnaHlvRTI4QngvWlkrLzl5MVpWbUxF?=
 =?utf-8?B?UnJRTldjOW04L0Q2N0poN25OcDE4ZHFsOUdXYk83NHI1Vis5U2JlQ0dEU0RV?=
 =?utf-8?B?NFluclNCblZxeTdBN1NlYitRZzJtb0RvaXhVbVNieVh2ODJDU1RYNGNSd0xj?=
 =?utf-8?B?QVgyR3FoVUk1MWpobEs2NUFBVkdTc2lGN25hNGZvSlIvUXB3ZXZ4NXJFZWpP?=
 =?utf-8?B?NDlneUdEelNPQTQ5WVlmNjExbngzQm1ZempBOXR4bW5ZemxaSWN3bWtJZm9j?=
 =?utf-8?B?d2Jodi9tTHVTOXJDUy9VODh4V1p0T3ZLLzFuWjhtR1V0ejVOTGxKb3g3a2FG?=
 =?utf-8?B?Uy9Bdy9rekw1RmVlYjhEVHJlUzROenZMV21jQTF2STFPNmZ4MThHUys0TS9K?=
 =?utf-8?B?NEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	AsXHZntOFOeid/mOUJGBWl6uZ/9O9tj28irK8sJLaVplkNG0bYxqrIQHFHc6AQIEVuI+iVTt36P0DU0PZLDu/AffP7hSZmX9TejaXwYJ7ThE495ym7IDq8j+dRnqRLu9TXJaXUndtxbeUP4HdyEOaxq5JQUpyYXbEdsuPCctruKNYAwt+q6IP7VmnagfYJNXp2n71k4VLd1eMVrYt6I2EZdkcbN9V2mOqngqZpLjtF2ffVVO9YZq08NEZjtEu2kUHelHKBH1nlxrfSoxXW3A2w/QjxX0guBKr3D1/0iAc3EXmjNesiXXRh6XhWUwW/gT51wFrgQBhooBFOLmpXJRBU47UQ7YgW4j4XrXwvabQAG266ejg0TXL1Vq/me+0Q0EKZhf9AzbjuYz6pnpDsiif8A7C9NyKHn1BPOKb4miq2aHOp6iBJf919CwoewRiwGU2faKqv9ruDSY62B4YAM27uJYAyG+cUMSO8oIBf11zjRI2Jk+n5wNJzljAivu1hdlJKtJATKWe3B5l9BTNPuhSeEIDflYJ5eObApoFuoe+o69IwsMT9hx2pFLwn2bjhDJYMxKHw28F8oU+hiOHyr5P09LJ20/xxEs6tF2TUj6lpgx10f+eIPpBfedTztgrcRlBvaoWoiOozZR89vE5TTydfD64ThAMfymxpuvKrOe/G0HgnuAIpJnHnxlyQv3uuYBhwA8EJRQz47366QQkzG5Nfc8/eHaXIozG0hDRbojmf0dhAjcdeCF9gq1vD5GZ3Yo4zP9QfDT/+2+H4fH5/n1QQk/mw5XYiBFpMkIF5bvthVP0HplEUYdMS2p+6jjnTeE
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7113d56-3493-45ab-125a-08dba31f8fe7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 14:53:35.9537
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WDe0buRfgw++4DMPXZQNnwbYOjzdFx9Pkwogc42YfHipD1KqDo6GK3EhTH5gvVdFqN8UjYrvTw3J5i7jlGLjdktiKSvfZ9KuuR6QfoGSPWY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5181

On 22/08/2023 3:22 pm, Jan Beulich wrote:
> Reportedly the AMD Custom APU 0405 found on SteamDeck, models 0x90 and
> 0x91, (quoting the respective Linux commit) is similarly affected. Put
> another instance of our Zen1 vs Zen2 distinction checks in
> amd_check_zenbleed(), forcing use of the chickenbit irrespective of
> ucode version (building upon real hardware never surfacing a version of
> 0xffffffff).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -936,10 +936,14 @@ void amd_check_zenbleed(void)
>  	case 0xa0 ... 0xaf: good_rev = 0x08a00008; break;
>  	default:
>  		/*
> -		 * With the Fam17h check above, parts getting here are Zen1.
> -		 * They're not affected.
> +		 * With the Fam17h check above, most parts getting here are
> +		 * Zen1.  They're not affected.  Assume Zen2 ones making it
> +		 * here are affected regardless of microcode version.

It's not really "assume Zen2 are vulnerable".Â  All Zen2 *are*
vulnerable, but we keep on finding new CPUs that AMD did for special
circumstances and haven't documented in their model lists.

Furthermore, there needs to be another sentence:

"Because we still don't have an correct authoritative list of Zen1 vs
Zen2 by model number, use STIBP as a heuristic to distinguish."

Or something like this.Â  It is important to state that STIBP is our
model-heuristic here.

With some kind of note explaining what's going on, Reviewed-by: Andrew
Cooper <andrew.cooper3@citrix.com>

>  		 */
> -		return;
> +		if (!boot_cpu_has(X86_FEATURE_AMD_STIBP))
> +			return;
> +		good_rev = ~0u;

While I hate to review like this, someone is going to come along and
swap this u for U for MISRA reasons.Â  Probably best to adjust it now.

~Andrew

> +		break;
>  	}
>  
>  	rdmsrl(MSR_AMD64_DE_CFG, val);



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:55:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588548.920071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSmo-0008QW-Ll; Tue, 22 Aug 2023 14:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588548.920071; Tue, 22 Aug 2023 14:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSmo-0008QP-Iv; Tue, 22 Aug 2023 14:55:14 +0000
Received: by outflank-mailman (input) for mailman id 588548;
 Tue, 22 Aug 2023 14:55:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYSmn-0008QI-Fq
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:55:13 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2072.outbound.protection.outlook.com [40.107.13.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5126ea5-40fb-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 16:55:12 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by AS8PR04MB7959.eurprd04.prod.outlook.com (2603:10a6:20b:289::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 14:54:42 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 14:54:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5126ea5-40fb-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n6tVTRkgkqNvH5j4O8b8NUIKooml1abV3VSEFHalrTW/yASMn2g6qi//1li1XyZsfRYKMBnXXAcChvjnOaexjyf4K6Mc0nh3VOrXYJwTNi4dOzf/TuZW9W8xXsXCktjmPiE0Pl54xpiiY5b3h0rvlb8IhhO+Uazfy3s8szUdjkMaVzXJEhr/7VUyOMFeGh8IFqgDXK427gkgh7b9/Qk7xYsK3WRXANhCnR2wZd8nCtnPOhhglpAJZRJg/MS/tqN0HFfoXTPG7IxBNOeLH1hHFygmqit2OeD+QSr+bnkXVqtHWvZEsI+YH5+Ru06RP9P1OIqKeLlFPFwnoEdR82ul4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CIfo4HV8aFKQpwe/tio0Wh8AgzZFvgpGq+yW8M32Un4=;
 b=MBb68NNQqECIJeBFK3Lvp7MX3oTnZQhexjJj5QxVvcPuu2tMIC/GZf7eKFG+inrni9PP2yRQsP9G7WKONMlQTL7KnJXLnJr0Hys3XLp0h2kSPfS3g5evR62zjaZu9lDlOXgtu2PcJfjmVyyD1FuxB+uteJfwtTrzfWleK3GJAaiEMWGzk3Ck1Ba6mWVYF6qWe09U67aBpNmIWwKkNbEjPbc6cqbh9QPOIFJ+rcXR492FcR8IOg0BW70sAsGLGyOz7HKPgqVKcjGIvA6hSJMhtopWnnTAdzAQvnE3Cux0t+3Wn3mG9inJ9RgTPIqITPtLHcw887ZriJ+mRDry/sNtqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CIfo4HV8aFKQpwe/tio0Wh8AgzZFvgpGq+yW8M32Un4=;
 b=Vzqh0C2kVvnJWZs9kPqdMf3VZImyBLwvqivyw82JDz/+ItPvNBj4VWTnFCByyos2eMRZ2cX0i/K0rg4il5eYI68Zz56R47Q8wninppreaqFUnLj0Rvm9Ovq8NNb0aEIYj9KK6TNrPzr3Zi/R/pNVj0VT1XyOR40DJ/XJQqgHVy+VK2Wu5FGySP1wPbuP4PzRiHa2upcKb7TA/ShKpu1cQLnTTp60HHsFT4tFzodMsPlll3C1jxcpHOra/hJWru2NcPRKCTUCpesNTxPGs5kgOtSUikoSBxmuKYCkgHFj9sM6BGottYpylvXtK5DvB29qbY7sz7V291qmFYpFj2N4LQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a99eb8b6-2e3b-d216-f85b-272161e79185@suse.com>
Date: Tue, 22 Aug 2023 16:54:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/5] x86: Fix calculation of %dr6/7 reserved bits
Content-Language: en-US
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
 <dcd6a5db-239a-9ade-0236-be91744e3b98@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <dcd6a5db-239a-9ade-0236-be91744e3b98@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::19) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS8PR04MB7959:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fbe0453-05bf-4d85-b3ca-08dba31fb7aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0kq7dYPL3aWgr46CNfNnpoIxczVeBeRZ3WCF5A43Zf5ZBcEmxsS3SH9e17V2hJ+D3jM2YOqBmedKN7GKbDKD0/llD1II94wKYw3drJ38TMX/OMAlu5OonTXhEKBrS/Ki8Kpj9i0HEeGqYneQe/qrf3uGmYpUCIJAkSBfQJX4pDALh7v8VZdcZ5qgn+f3n7QDiNhWRfa0RP2xUc4azy8947Qfw2Os7bBiCXKksxf5X06ZyQItNUCxyOioXzgc4W6BLc2GxKf1yPmJVZWRUh16hxH1FTB1POsthF8peET3XQbEpWwmANTGQOxLVuom4cxfYlwjkOHzTurHsJouWRAvC9jnG/cN4EPuuum0+DVFFAU3SU+l0O/29YcCHk0I1euLb50b9CyUfIQCbuN8L1+EsIX/z4mP7zwkS7NjVjYa/Y3PUwOFhZWlWz0sQkCV/N0tIK5r7BSxtuSgkLHl30deFbaRqe8gW6I20kA1ZmDngCK1einr5eSz/oqdTu2wPPriPJmxoFw1oz/hdzpPlQHNUTCpOeKaO8eetYy2OLCaP5U2jbsDfIaZe9jls8bQdoo4abHDuutFhbMSQP39iC70lfXcHg4orDb+Fy1koj+Uz3c7OPfquNkfA5RFRQEj/Oy0OZe0OMOzxdETczuZp+DaaQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(39860400002)(346002)(366004)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66556008)(6512007)(316002)(66946007)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(6486002)(53546011)(6506007)(83380400001)(4744005)(2906002)(31686004)(31696002)(86362001)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTUyQXlEaXJhdTl4ZkhMeGxuRUFQdDV6QmZ3Z0pPbjI3Wkt2OXdaWUprS21x?=
 =?utf-8?B?MHJMcWVWQTVxUStTNy9kZGtyNEF1NXhJZ1U3YVJZa0tLUnM4Q1R4dG4yYlBN?=
 =?utf-8?B?amluRENtZWttcVJzNUUxSDJYYlE5WlQwQmdtbzJYM25YTVo0OXdPOXg5RXVO?=
 =?utf-8?B?YzRFWDZHYTZjZm9UbmpjU3lESHdMUmVCZEpQeG1WMWFrRXFWUlMxcGFyRFBE?=
 =?utf-8?B?ZGhCOCs4N1RSRmxZNVk4KzdPZHM1OVZJZnJLRWRSL1hWVEpvUTJndmd6MnR3?=
 =?utf-8?B?eFUxZnNMay9YWGpQcVpZVUlNbGUwM3NkcnJvUkNkQ1dGQ0E0N2hnYU44WkVx?=
 =?utf-8?B?MjZoMUFMbU9XUFU5SFVNM2dCTjV4NXRnb09aRlhYbUtCcExhZ0RlbG1QcHh1?=
 =?utf-8?B?d0JsR3hxTG81cUdhUFNGZUVmZFVZc21tUTVLbnZxaWJEVGlpK2NXaUprVzJs?=
 =?utf-8?B?V0Vwb3VFL0ZsTEI0d29IdXhNNG92K1doNGJxN1VqZkMzWVBlWWswV0ZvUmFX?=
 =?utf-8?B?RjByVVFRV0ZHNlZ2QzU1N1BwUGxrdU5iOVQ2bUtuSHhIdGt2QTcrMm1xL3pi?=
 =?utf-8?B?K0tYVC9MOVpYbUhHTGJTSUl0WmZYMWZMYzdodEJNQzlXZGdEVTdVeVRkc3NK?=
 =?utf-8?B?SlVTQ0hVUGF3N1RSOWgxQTgwWVFYdlU3ZmYzUllVRkI3U0tET3RoTzhwbXQ3?=
 =?utf-8?B?b0FzZFBvZERLdnZ6THZMYmh4cHFWWnVQSnM1anJhOEFRVlpmamExTjA4dzFE?=
 =?utf-8?B?MU1naThkTHhjYjU2TGs0VUdlZXRvc2hUd3dwSER6UEYwRHBZZGJ6R2k5clpr?=
 =?utf-8?B?V0FMMWV4MTMrbHgrL2YyckRSL3E1RlVFUTVwbjJ4OS8vdldNbng5bUNNK3Ux?=
 =?utf-8?B?S1VMdWx4dkRrZ3REaCtldE5TVzlqSTcvbnlGb0Y2UWwya2VQVG0xenNWeFI0?=
 =?utf-8?B?UGtUbTFPNjQzbXhLdC9MTTV1Z1dYTGRBS0UwQUs2cXhBTVpjUFAzS1RJM3pp?=
 =?utf-8?B?RSt5ajE1aUlQcDlxRWl1RjI2dEt6WGhocURZSm9WbWpJSzQ1ZUdLK1N2NUR6?=
 =?utf-8?B?OTFZSGdGOU5yQTl0M2ozemdod1pCWmdSNyt0cnVoV05JTCtZdUxyUG9ISG5h?=
 =?utf-8?B?ZWdaV2lMY2lRZ1FLTDZySE4vNllzZ0FwUHRvcU5jb3RJbEZHbVQ5QWprTk9z?=
 =?utf-8?B?a2IwWVNuWVRpTVdSb1pTM041Qm9mb3dMS0g1WDdlVU95c1lhY0V0cE1lYzlS?=
 =?utf-8?B?RXhEVXI0c3czc1lZeG9DNFNHY0daRGcvVEdqbTNWWVVOSDVNV0Vtb1hraVdy?=
 =?utf-8?B?elFJOW5nbHpQQWhTb0t5S2pCZG1TZHp6YTh1c3N4WTRwR016UDBqMTdRblY0?=
 =?utf-8?B?cVo2bXdwSXIrd0NzcWFwb2VOZ2NveEFuUXN5UzR1eTFlU3RENHJNL2prYXZ2?=
 =?utf-8?B?SkpKY0VYM1VkbThib3RrbldwMGJzc3Ird1g1bmNCdFBrWDJmYm9QZG40MzZ2?=
 =?utf-8?B?MXVDS0R3cXZjZVJlTHNEVHp1UHJOWnJPQjNmTmtxODdHMHp2aWpRbmhDWmZU?=
 =?utf-8?B?dGZpQXMvTmlNTWY5TUlOZU80M3Y2aVpQdDU5YjZtalNLZGhPSndWYTZKS1Mw?=
 =?utf-8?B?UUpnSGM2SXhHd1QvbzNUSXBYQ0lQaVJ1L0h6SXFaempWMDVUd1ljL01BWlhR?=
 =?utf-8?B?ZDlVNFpyMm01ZVViLzkwZEpTOUxlMTdhRE9JaUZOTStRN3grZDFMQXRscFdY?=
 =?utf-8?B?NW16RjRZQU0reTJaM3VxaDY5NjZwbnlVMTBFL2N0YUdYUm5wS3NOTUJKYlF6?=
 =?utf-8?B?S3JuK2swa3dGblVHRzZyS0pqcXVVaDJaWCtFZlFnUjFjMTByYyt3dThQTkpr?=
 =?utf-8?B?RlhMM05LWWdHNml4L2ltditrQ0VwQ3NQVGRtRVp5QUt5UnRNckxNcGcyMExD?=
 =?utf-8?B?amxWMm9aNkNrU0trMEpwRWlrdENrcmNlZy9nSjRra3pMbkFiVnBMVGJDMkZq?=
 =?utf-8?B?dS9pK1l4U0ZQSHIrSlJyWHpSSEZvU1luT0x4Ykc3N1FzaytnbXZ3ejRXTmkx?=
 =?utf-8?B?bzNMTjN2RWRtNWo5NHdPYmxaT3Nxa1E2V1V5Si9ZT092ZGVmdFRnZ1V5RzdH?=
 =?utf-8?Q?vuUu26UrsXg2MRNgnxLL95+2+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fbe0453-05bf-4d85-b3ca-08dba31fb7aa
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 14:54:42.4909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VnGETB4TREC2yJiutG25NR7H2rMH1FE8pAg1mvPxl/aVmzl4WGlHTJCjo4WJgAQwMDBA8xpb3JyVqOUukY5Eyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7959

On 21.08.2023 18:12, Jinoh Kang wrote:
> On 8/22/23 00:56, Jinoh Kang wrote:
>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> The reserved bit calculations for %dr6 and %dr7 depend on whether the VM has
>> the Restricted Transnational Memory feature available.
> 
> s/Transnational/Transactional/.
> 
> It was in the original review, but I missed the change.  Apologies.

But that's not the only change that was requested back then. There was
one aspect Andrew didn't like, so leaving that part as is would be
fine. But for the items he didn't further respond to, I'd expect a
re-submission to take care of them. Plus, if you didn't address
anything, you would want to (a) mention that and (b) take Roger's R-b
that was provided at the time (unless of course re-basing was resulting
in massive changes).

As I expect the same to be the case for the other patches, I'm not sure
it's worth looking at them (again).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 14:55:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 14:55:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588551.920081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSnS-0000RB-U4; Tue, 22 Aug 2023 14:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588551.920081; Tue, 22 Aug 2023 14:55:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSnS-0000R4-RS; Tue, 22 Aug 2023 14:55:54 +0000
Received: by outflank-mailman (input) for mailman id 588551;
 Tue, 22 Aug 2023 14:55: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=/ibS=EH=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qYSnR-0008QI-OD
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 14:55:53 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd1e651d-40fb-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 16:55:53 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id
 41be03b00d2f7-5694a117254so3147863a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 07:55:53 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 e15-20020a62ee0f000000b00679a4b56e41sm7896974pfi.43.2023.08.22.07.55.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 07:55: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: fd1e651d-40fb-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692716151; x=1693320951;
        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=9ago3tcm0WwYbC/EMB9P0vXWxqznWK7OB+FtzI3fi/Q=;
        b=BmlHlO10xUZ9m1Q7ZsfYGEte5ZhMjNH8lGgQXwsc63cKIjh0MGMZzbxiHI87lrZvEf
         22GaxkGOfNTM+T9fNYi1Yipp1VQEZg09591fP68GTG+rE9+CmZLHI/yOu8bc+3d4k0Le
         nSIztfdhTYA0xU1H+mp3x9IqzSA8oToBJKX8ACzSLtHQQ6xzAqFKs3f8BjzL8+JAjjXR
         aH1V/v+bcCGC7SRWYRMlK836ro/wALO6/tiuwj5Hy8d/bhoBNjq30PxmRmlAGix0yGx/
         SJf21abFPD5WOBZNoUDPSUD8wCTuitCaYZmjS8ea0BQhPvXDuSzQ5fkO5ke9KY3IwWRc
         dO4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692716151; x=1693320951;
        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=9ago3tcm0WwYbC/EMB9P0vXWxqznWK7OB+FtzI3fi/Q=;
        b=gNI77yB7frhUu50hjXqxX+p8dIR+FOr61HHGZ4m1FVcjXeZNXF3+wMLGQYKG/tTKaZ
         yqPPSq9Z3klG9p6scZpqiyRDtnSIrlXZdxE1KwdHfxDS3sB0LA5l3I0RXM4UsTYeW8+y
         HABUK+W0K4OS7nI1s74o/+9jHQN4z9T1QtUF40YuZRAvXaOCbmtIKO6jhOHOXPt9C+HR
         eVJaEdpTUcQiGIe9kIvqJQpxnKdlLeKUbzz29maPvZ+4Iser1sea1DxVIk4hbn150nyB
         v4dbYKYSpj/LlFU6orlsW+wlSlDaViZIIfmQRSBllFPS4Lnwaqz3XpB+ih75q1hAdNHF
         Wb6w==
X-Gm-Message-State: AOJu0YyeM4lkS82R0R8qpwIajx+ihzHVbXF/bB3JMn2n/dHQXmCOvdjO
	JRYMo/oj6o4ePoJE+bBtwVM=
X-Google-Smtp-Source: AGHT+IGvCdTJ0p+uNtc1oqBjYPm9lgmpd7JtVrrL/sM8BrHpP/LThf4cp8RuhMX5xYb9ZVFjdjDSLA==
X-Received: by 2002:a05:6a21:47c7:b0:13b:a261:5cfe with SMTP id as7-20020a056a2147c700b0013ba2615cfemr10831174pzc.32.1692716151523;
        Tue, 22 Aug 2023 07:55:51 -0700 (PDT)
Message-ID: <af5508bd-d96e-3248-2fc3-f8a2c10f0aee@gmail.com>
Date: Tue, 22 Aug 2023 23:55:44 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 0/5] Fixes to debugging facilities
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: 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>, Tim Deegan <tim@xen.org>,
 Razvan Cojocaru <rcojocaru@bitdefender.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <cf1b1eed-1029-df44-b5c5-9935433640fc@suse.com>
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
In-Reply-To: <cf1b1eed-1029-df44-b5c5-9935433640fc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/22/23 15:16, Jan Beulich wrote:
> One important formal question: Where did Andrew's S-o-b go on all of the
> patches?

Thanks for catching it.  Looks like I confused the submission process with that
of another (non-LF) project.  I'll re-read the docs to see if I missed something
else w.r.t. tagging rules.

> 
> Jan

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:00:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:00:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588563.920091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSs4-000278-Fs; Tue, 22 Aug 2023 15:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588563.920091; Tue, 22 Aug 2023 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 1qYSs4-000271-Bi; Tue, 22 Aug 2023 15:00:40 +0000
Received: by outflank-mailman (input) for mailman id 588563;
 Tue, 22 Aug 2023 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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYSs2-00026p-Dm
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:00:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6880958-40fc-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 17:00:36 +0200 (CEST)
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 by DBAPR04MB7333.eurprd04.prod.outlook.com (2603:10a6:10:1b2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 15:00:34 +0000
Received: from AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d]) by AS8PR04MB8788.eurprd04.prod.outlook.com
 ([fe80::9d93:f481:7a9b:345d%5]) with mapi id 15.20.6678.031; Tue, 22 Aug 2023
 15:00:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6880958-40fc-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RRDzgFX8QLBBv9nBkywzOn8Z2faBgaqCn7Lur3/Tywt32lsc+ZDnp2BkaVeIKqn2rI2CUX+IPfPuJ6RNr/C4DE5awIWykelY1l7EncM/HuP71o8u/x+BfWxy8Ox2gr5eYKfP3zBdS3EFSli7P0Qg3UN3VxSnEOYPlu0h5keMHYVYpV76xfD3A6bgc9oCh7FNBEimSOHl8ebcF+sthz+5c4z1FHa2ZslonrRh0Lt30gnHr5h5BOZ7Q9eqljtLFqho2pkqfPJifyWIxSIU47UR9kpP6fQnBPh7huhZMPMpV/qWO93DW8YSMhgyp7qSC16XDu8BmRnNatmnzpyB5FT/XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t8ltrA6vXnHwqwFuksLnw1O3/O93cqzqGv8V5sm8PRg=;
 b=jJe0miHUgJawNlOeoU5ChkgDN9Z9rFmuKEvRFA6F8GfXTT7nsP5Lqy5yegM+/euvdYKEsX9wwFSG7XhRfcoYQguhHYc+ii6wAbT6gsYGux5AjpASXAjo9cmVcFkWAVtVB17BeAjxiVoQmTsZhq3kE+0KqQBmMDLs562VB/b8w6X9/KzvhmTyzQ9CAXUuEHNYRXKCiTCODINPwqkjz+Oq1SdPrqA2c884ZfE0mhpV02uTaUD7W2Z91ktYpZlsE7WaZJzJT4KpYif+Iz2TfFDBUfuFPzh9rRLlMCLCi869cjTBHet+1ILk49y00skMrxiu2cNOiTgmfgly4DsJzzCwMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t8ltrA6vXnHwqwFuksLnw1O3/O93cqzqGv8V5sm8PRg=;
 b=smHf22mJVmHaZMAKQoWjx6PCxgAr+f/8pqaKFj3N86M3Eb6mOlUAAm/Gs76Ge8e/Twae0nbuWgTD/u6/WHklajKmyWHbvRsttf/r2P3wuZvw+cAbAmZxM+eVd6yfYrnB19LuTXkgxm0YKyUks2g4gwnVb09JogrQ8/bOm+5Qn+gAQAPwmYZsFlEEKOlMbtVvha4dq+TGm502eDdoBqPna2b52Tz/TPR5ektQGXJRRsQJOVmXFxshJAq7glufZRtBBZIC0kxPK7mJPCjpqM8QQgbkp/kmoReuXF2n6Xyf058pznmxTaRYmRqLi3LUOcaWkIFDdkhtaRtXC/syuO/wvg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <327ac154-3230-802c-19f3-b0da21a92dfa@suse.com>
Date: Tue, 22 Aug 2023 17:00:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86/AMD: extend Zenbleed check to models "good" ucode
 isn't known for
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.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: <ec9ee16b-71d8-9142-a314-0e782b481bef@suse.com>
 <599d0304-c249-b4f7-3d11-7b40339c6bcd@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <599d0304-c249-b4f7-3d11-7b40339c6bcd@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::16) To AS8PR04MB8788.eurprd04.prod.outlook.com
 (2603:10a6:20b:42f::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|DBAPR04MB7333:EE_
X-MS-Office365-Filtering-Correlation-Id: bfb285d6-ebdd-46d3-0430-08dba320896b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tl7vsLXiS6loCuPNWa3k0gAlsHTBn+IvQuAnKTEmuDmflt13aEaBFjNeWG5KJY9XJTldIEZl0/3dftZJiCaB7K++th5k5YfLe8QntRybczhdBvdcPk1U2gTVVHtpFA2vmZqzhJaKfAwGxREqzGdYuN9peaMd3ZR7OaPzWFtZH/F6I3uPSDVZ2z/GrltVRnjF4F1hvNGWyey8y+X36dIKyJBWR+AK/8Z6V92koqmIyT/f9T+4h3vBZvYsNEjB3Yp/0ZmIXCOSOYHizN7pEZsC8KGAq2VZW/zU0edjKLzYaodsEpdjhl1uMMhwmCCqqbKaoFuiYNlI2W+HrfRIQvTkUcS8jvV0915L8Fy1Duf9vhK09bMqe1AIGGEbAj1/qBWnnoDt8GPFJ5A6aCFFIs3gu+sTZCTh/vyFL15oddrvNUkZC49kvK+9RZA6p+SeIOAD49B2KfZj2QQGFaD/dbtZ5cBMfm9kjTQEvz7H/8lP/2lem2V2FnnK0kjM+0y49ntTFNd1H3knWK5AuCbJ7mtpBw2UtxaH1tX+qmL6IPr0nTJ+Ut7NOualUSpSkgozcm/eL+cFCa+XFgsXI3zGUJ/14SxoSO1pIBYesukBzxvXFA8s6J/87QyPXDGVYkWVqAyLkTp+m5wMSpdBlhn6KAtmuQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39850400004)(136003)(376002)(346002)(366004)(1800799009)(186009)(451199024)(54906003)(66476007)(66556008)(6512007)(316002)(66946007)(110136005)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(6486002)(53546011)(6506007)(2906002)(31686004)(31696002)(86362001)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHE0R1ZXb3NqRlM2REpvSitkb203VFNEdkgwSXpqWkVRczFhaG16bzluWHcw?=
 =?utf-8?B?cXdENTBMQW14QTZFSk03N3VLd1gwQ3pRUnNwcXpBd1JONzFnemRxUFlRVGhW?=
 =?utf-8?B?S2R2em03ZzB0U3NuWWFMVVR2WXAydGVmYy9BWmZYbkx5MW5hcno0eG43UGlo?=
 =?utf-8?B?UE9yb1FJQ3RneGFRcG9sbU8zeHArTmRFVUduYXdFWVJCTWsrWk04SnFYQTJl?=
 =?utf-8?B?Mk1lTnQxYXFYZGdmT3VUQm9KUFY4aWRJaWYzU0lEVXhIcm9lK25oem1PcGc5?=
 =?utf-8?B?WXBwbmZJMk9QTUkxT0ZVMSttSURxUWg0aHduMytkRnNHaWZyZEE3REl0Zld2?=
 =?utf-8?B?NHpGQUpuL21qQTNwS3pFSDI0OUFITTU5dGFyR0ZJK2JmRHQ5U0dOamVoRzF2?=
 =?utf-8?B?VWZBbnRzMlNJNmVxaGIrMFZYWDFwUHRUVmFhZWRsSFE5LzRLZ3U0TVRyejYw?=
 =?utf-8?B?cE5FSWw1UXlnaktVSFVtS3I1eVVleWxZZkovSE9DUW1temp5RVBBblFqSUZO?=
 =?utf-8?B?RVRrVW95N2Uyc21pdWM3a29TTk55MTNTMXpLOEhlZHE0YmxHa2J3KzN4bXl0?=
 =?utf-8?B?ZDdxdkFRczdIc2pLbk0wVGd0OVp6UHh4R2NTOWxxRHpncXVwV1ByYUhzeDVy?=
 =?utf-8?B?cGtTMmFDZ0NvS2hXQWw1eXVVTldvbkVYV1BISU1CU1I0b3lsakdOa082N2Rn?=
 =?utf-8?B?M3Y0TmpSNUJlVjV5bnJyUEE3cmQxUkRaUzJmMGJjVlFENkVsRXYwYzNITGRz?=
 =?utf-8?B?enZ1bG9TS3dtdWxUdnJaN2Q0b2k2L1lMU1NvU2tMbE01RmthK200bkx3N1Ru?=
 =?utf-8?B?QWVMVU04N2Q2dlVBdEJGeEtPeTFCaWVJNG5zYlpiTGlqQ2RSQ2hMQUpjaFE2?=
 =?utf-8?B?S2tSTHRTdEUzT0UvZ3lRQW1zT01vTzVEaVZGandBOEYzY1orME9lRmVDN0FB?=
 =?utf-8?B?YlJTK2txOWNqd1N0SzZMZWliT2lBNHB1aDZrdEFyUkhtbGZuSEI3dTN2UzZk?=
 =?utf-8?B?U2pLUjEvQ2VPOXJjRXpOTTlUc0NFQnhIdFZqWXJqOGdLWUZXVm1UZVJvcGgy?=
 =?utf-8?B?MEg1S3BzNlF5aTlOR0VOb243QVZYV2JmQTZhWFBjd0REVU9qT3E1Tk1UOEZl?=
 =?utf-8?B?MGpUOXlnQXYzSFdmRHJ1aTcwVEFmbkZ2KzI2WjVsc2k2bXNyV3dCQ3FPVzgx?=
 =?utf-8?B?Y2FlRjJRK3k0OWt6WUo2c0NFQlFoUjRjVVlINnNVSG14dkg5RHVsZ1JQSHFR?=
 =?utf-8?B?UkZBTEsvU3BjOE11eHFqODRLWDMwWVo5Q3NyNnJ0VHBUalRqd3JrMUFtV2RQ?=
 =?utf-8?B?bUVLL2VxTXZRd1NrYWx4VUttcVFrYnc5YXpnWUI1VE1sS1loVTBXNGd4YTMr?=
 =?utf-8?B?UjU0UUVMMzVxVWoySVpLMzIzdHZSNjA0UFpyNzUwQ1AyeExUN2tQNmtFZ2dt?=
 =?utf-8?B?eExyeGJXQXhZMmE1OW5uU3lpRExCbEJNUTVxWU0yOFJMc21lQ0NXdU5vbkM0?=
 =?utf-8?B?UWM1UVYvUk82OUI5cXBGa2ZuUmFvSmUreUlCOSs4aVVxSU9haElKNG5MSXg2?=
 =?utf-8?B?TW1EampmS0VwQ1JXVFZPZWlBeExKdXVOUE9JbTN2L21YcDNZMFYxRi9KaFcy?=
 =?utf-8?B?NkZ2cFllN1loeUt0MjRWZksvRUZTMGR5V2F0ajJZNmwxc3dTYlBYK2xQZDJB?=
 =?utf-8?B?KzBodXNsY1FKMmRwU3ppQTFYRmY5TUFtK1lqV3Z2cWZZQW9lRTFKYjFrUnJ2?=
 =?utf-8?B?TEJ1ZTdQdHd1YjNnVXBrR2E5QVVHcElyVDZOM2lwMXc4Z2RjMm1Db244M1Rm?=
 =?utf-8?B?SDRzMmxWbWc4ZVJoSXdBc3ZWb3VmRHNNSkxNNDYrN29iZXlGMkt4dTEwZklu?=
 =?utf-8?B?N2VVc2p4d002TCtIcFhXRlRlWWFvTVpaZjNJRENDNFhycU1Oa3BObWlQLzZv?=
 =?utf-8?B?eDU4OVovZUdEYmV1bHdrbGkvTExqbjdXR1ZEeEVsei8zRW9tNUZ6ckRRZHhT?=
 =?utf-8?B?aEh3bitGQkRvZG5UdXEzN3NBMTBhVHdvQmF4Q0hrZ2V3TWJiSlRGd2FMS3dL?=
 =?utf-8?B?TVdEUU5sZEZUaG1BN3ZaeWU4SEdlbktiaDRzYWhyeXhFSFhvOXovUmxsMFZZ?=
 =?utf-8?Q?CDPD+DxgdPtkcpMF05G0FAgva?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfb285d6-ebdd-46d3-0430-08dba320896b
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 15:00:34.4250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +YPAYkpeNqK68K1bXo5L3/2NWNLbVqR1jT72a5MBU8Yh/LbFUUeZWqwolH0lf6GQxNc/z5djKxFIwm1NltQ1Hg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7333

On 22.08.2023 16:53, Andrew Cooper wrote:
> On 22/08/2023 3:22 pm, Jan Beulich wrote:
>> Reportedly the AMD Custom APU 0405 found on SteamDeck, models 0x90 and
>> 0x91, (quoting the respective Linux commit) is similarly affected. Put
>> another instance of our Zen1 vs Zen2 distinction checks in
>> amd_check_zenbleed(), forcing use of the chickenbit irrespective of
>> ucode version (building upon real hardware never surfacing a version of
>> 0xffffffff).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -936,10 +936,14 @@ void amd_check_zenbleed(void)
>>  	case 0xa0 ... 0xaf: good_rev = 0x08a00008; break;
>>  	default:
>>  		/*
>> -		 * With the Fam17h check above, parts getting here are Zen1.
>> -		 * They're not affected.
>> +		 * With the Fam17h check above, most parts getting here are
>> +		 * Zen1.  They're not affected.  Assume Zen2 ones making it
>> +		 * here are affected regardless of microcode version.
> 
> It's not really "assume Zen2 are vulnerable".

But that's also not what the comment says. It says "regardless of
microcode version".

>Â  All Zen2 *are*
> vulnerable, but we keep on finding new CPUs that AMD did for special
> circumstances and haven't documented in their model lists.
> 
> Furthermore, there needs to be another sentence:
> 
> "Because we still don't have an correct authoritative list of Zen1 vs
> Zen2 by model number, use STIBP as a heuristic to distinguish."
> 
> Or something like this.Â  It is important to state that STIBP is our
> model-heuristic here.

Will add.

> With some kind of note explaining what's going on, Reviewed-by: Andrew
> Cooper <andrew.cooper3@citrix.com>

Thanks.

>>  		 */
>> -		return;
>> +		if (!boot_cpu_has(X86_FEATURE_AMD_STIBP))
>> +			return;
>> +		good_rev = ~0u;
> 
> While I hate to review like this, someone is going to come along and
> swap this u for U for MISRA reasons.Â  Probably best to adjust it now.

Oh, right, will do.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:05:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588570.920101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSwA-0002sn-VB; Tue, 22 Aug 2023 15:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588570.920101; Tue, 22 Aug 2023 15:04:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSwA-0002sg-S2; Tue, 22 Aug 2023 15:04:54 +0000
Received: by outflank-mailman (input) for mailman id 588570;
 Tue, 22 Aug 2023 15:04: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=/ibS=EH=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qYSwA-0002sa-JD
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:04:54 +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 3f3bacf7-40fd-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 17:04:53 +0200 (CEST)
Received: by mail-pg1-x52e.google.com with SMTP id
 41be03b00d2f7-53fa455cd94so2675626a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 08:04:53 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 30-20020a17090a001e00b00263b9e75aecsm8657132pja.41.2023.08.22.08.04.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 08:04: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: 3f3bacf7-40fd-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692716692; x=1693321492;
        h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qLf1q44Ic29eJmQo+SkjX1zncwxojzkc2RLslHAe60A=;
        b=Dj1bMKz+Vy2z1ZuNjXY1yxg41IVSJ71zmBj3xgFJcj3VHymnr6sdPW+puNGpPRwBC0
         cfIJQD1SHsZ7PMX8b6cPpWH9rLO98KMHn4vpzHEJgtlEB54Nte1jMbCX72exuOhgIE7l
         qYwWibnsqlwkbrpba89vL+qm2aJVshyPnk56EQ+0pJeDFFXqIwV3/JJkazArjtA/x9mJ
         bWWoqts37tvjyWX/9p0KSx2Luu9hdHJRhXaKOZz1EHYZR5xfOkqjyKPSESPHuDyYRoB4
         ExFXrThnX+2HmJWSt6IJm6VXztfjtWF8RbswsO0drOytUnSByrkiYEiI+IxvXyB+TkbH
         RGCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692716692; x=1693321492;
        h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qLf1q44Ic29eJmQo+SkjX1zncwxojzkc2RLslHAe60A=;
        b=lM1czmxkrGd4B6AwE8IOIwbYX/J9O588U262K9WWXJE+jNBLXzwbyP/fLsc6SG0Q7E
         q+W2BZLHNeM21p/mOy52tBkOTdaxcqSLhNGBpglirRGLfwuGhY+iCiI/raHxA56BfHzn
         xtPNqKx3OaeIJYj998y/VESIALo71La1ChTzqsGiUeHul297xIEGmFiCXaZNbejgGCCV
         JqpU8nocHngWHjxuShHmk0G6/t//YOOb96QSymKS0DZx2jaNbzB5C8nHdmZ9Z6y/CiCe
         znxkXVugrTlgySShEz93f+OADfeTEz/hpV86izvcl8BPKEPa2uyxqDFA6DkREP4dP+yp
         TRuw==
X-Gm-Message-State: AOJu0YwSQHcGA04kPeQ/reCHfGReKjk00XoHCIzVNHUt838VUEUr5kPG
	h5Up/i7zOmUpgTmEOT87Seo=
X-Google-Smtp-Source: AGHT+IHX8FUHjE6kzS+Rd0SmughxecUjpvR1huNnRlKD7189MpT88uX7NWA1+DypSy4hBVBEGmffmw==
X-Received: by 2002:a17:90a:f496:b0:26b:1424:219e with SMTP id bx22-20020a17090af49600b0026b1424219emr6539990pjb.44.1692716691759;
        Tue, 22 Aug 2023 08:04:51 -0700 (PDT)
Message-ID: <2b0e95d4-386a-bbec-d49a-dd71e7c53688@gmail.com>
Date: Wed, 23 Aug 2023 00:04:46 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
 <dcd6a5db-239a-9ade-0236-be91744e3b98@gmail.com>
 <a99eb8b6-2e3b-d216-f85b-272161e79185@suse.com>
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: Re: [PATCH 1/5] x86: Fix calculation of %dr6/7 reserved bits
In-Reply-To: <a99eb8b6-2e3b-d216-f85b-272161e79185@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/22/23 23:54, Jan Beulich wrote:
> On 21.08.2023 18:12, Jinoh Kang wrote:
>> On 8/22/23 00:56, Jinoh Kang wrote:
>>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> The reserved bit calculations for %dr6 and %dr7 depend on whether the VM has
>>> the Restricted Transnational Memory feature available.
>>
>> s/Transnational/Transactional/.
>>
>> It was in the original review, but I missed the change.  Apologies.
> 
> But that's not the only change that was requested back then. There was
> one aspect Andrew didn't like, so leaving that part as is would be
> fine. But for the items he didn't further respond to, I'd expect a
> re-submission to take care of them. Plus, if you didn't address
> anything, you would want to (a) mention that

Right.  I'll try to address the rest and provide rationale for those that
aren't feasible.

> and (b) take Roger's R-b
> that was provided at the time (unless of course re-basing was resulting
> in massive changes).

There were many changes, some arguably cosmetic and some not-so-syntactic
ones.  Quite a long time has been passed, so I was unsure if the R-b's
held up to the present moment.

> 
> As I expect the same to be the case for the other patches, I'm not sure
> it's worth looking at them (again).

ACK.  Please consider this patchset withdrawn.

> 
> Jan

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:07:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588577.920111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSyw-0003Vs-G6; Tue, 22 Aug 2023 15:07:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588577.920111; Tue, 22 Aug 2023 15:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSyw-0003Vl-Cw; Tue, 22 Aug 2023 15:07:46 +0000
Received: by outflank-mailman (input) for mailman id 588577;
 Tue, 22 Aug 2023 15:07:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Uya+=EH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qYSyv-0003Vf-1R
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:07:45 +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 a4d1d55c-40fd-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 17:07:43 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-50091b91a83so492099e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 08:07:43 -0700 (PDT)
Received: from [192.168.100.67] ([78.152.69.193])
 by smtp.gmail.com with ESMTPSA id
 l23-20020aa7c3d7000000b0052a023e9b5dsm5305482edr.47.2023.08.22.08.07.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 08:07: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: a4d1d55c-40fd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692716863; x=1693321663;
        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=A+VqRrDF3jVnznhLVnJ2azEYu+VpxcRz/NmPtqT3gDs=;
        b=ccQ/8v6MvY9LXGXNHaAiloPvVoPNCcRetENSdx2NBHQtqvHn6wiHn1SBMGOAPbnIzp
         qwmoTfKODY8LDViHphwJEQgxPd043CCBQZ2hOAOHYGLoFjdCFuC9TZxM+yrKBm58XIG/
         QP2ak01pK3/mmaziO+Ihn7HxFuOptc2nAmtfk/+k42uQKsJ33QpYf9kNM3WoUR+y2p1A
         A9KC4HP5/WmaqBK4qnPTRZ26zI5EGJeMhooI2+ZM3ysFTieIoohoYfy77dvS60VilMIR
         ENuPQooZ3FrH84CGxWyvdILD6WpF8DPn5WFk1JkP/5pQ7/YCZnn9mok1N8XbJfWQuM78
         rTLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692716863; x=1693321663;
        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=A+VqRrDF3jVnznhLVnJ2azEYu+VpxcRz/NmPtqT3gDs=;
        b=akUcbpFgQMt/7M3UfOdavQeMLSrn9v4klDjlPyVeH5WMr9vbeFTMIC/aamUyV6GskK
         z19ZCVqzB/BIObUbrdVJUNC3Up+KBuQ6u8uFxzyOz5srnRpktLfEwcmTr7r8mpKGWgHs
         pF73eGpKkZUn3e6JTXIOaVOyiZG/+h96LdgKdPt/Z6yay2y8hO97XtrxB9MpJ41rf4Pk
         Asuw+rwGOpn0nnGA6sAQtdM0IXa3jLRhVWDAcN0DhNRjUc4uRWN3Js1TReoogE9JAO2m
         l1GZwc+ktp35AhqT2BSKMQ8buBxgE6Eqp8mEla4KIClbG8j7N/JlG4pbfc9OMbYZeDOP
         1+Rg==
X-Gm-Message-State: AOJu0Yw0eVd1HnHWninMLq3DbIYb6vlym7KJaQ2cH5OdZ+scq11n9HUd
	ZT9gjDScZ3oyOqjhGd8nEOM=
X-Google-Smtp-Source: AGHT+IFcvHg3Cny9BaBeAFeS+F8ikAPrVWZ/C7fA3ZEcIhq80SWHWn0M5SIqfKubhho0ktNi2VS4KQ==
X-Received: by 2002:a05:6512:3085:b0:500:7fe6:793b with SMTP id z5-20020a056512308500b005007fe6793bmr5005355lfd.35.1692716862312;
        Tue, 22 Aug 2023 08:07:42 -0700 (PDT)
Message-ID: <fefda615259a0f16e09e62e6747768843e3627c1.camel@gmail.com>
Subject: Re: [PATCH v1 45/57] xen/riscv: add definition of __read_mostly
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>
Cc: Bob Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
	 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org
Date: Tue, 22 Aug 2023 18:07:41 +0300
In-Reply-To: <b7ad6a92-3c59-a33b-903a-fd0af2fb88af@suse.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
	 <e11462a0dd6e71884aa114493d75674411e26701.1692181079.git.oleksii.kurochko@gmail.com>
	 <b7ad6a92-3c59-a33b-903a-fd0af2fb88af@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Tue, 2023-08-22 at 08:22 +0200, Jan Beulich wrote:
> I did already post a patch eliminating the need for this. It's just
> that
> Andrew doesn't like the new placement of the construct, yet neither
> suggested a reasonable alternative nor showed willingness to accept
> the
> change as an intermediate step.
Thanks for notifying me.

I'll check your patch.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:08:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588583.920121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYSzt-00041i-PE; Tue, 22 Aug 2023 15:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588583.920121; Tue, 22 Aug 2023 15: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 1qYSzt-00041b-LK; Tue, 22 Aug 2023 15:08:45 +0000
Received: by outflank-mailman (input) for mailman id 588583;
 Tue, 22 Aug 2023 15: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=0QVw=EH=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYSzs-000408-AV
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:08:44 +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 c811edc2-40fd-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 17:08:42 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-3fef2f05356so18860725e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 08:08: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
 p1-20020a05600c204100b003fefaf299b6sm1946868wmg.38.2023.08.22.08.08.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 08: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: c811edc2-40fd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692716922; x=1693321722;
        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=ksES7XdW7KICYuNCB7I+pKc0l0fFKB6dLx+Z80Hvio0=;
        b=mGkECUiVOIoN/RaqZB+Bu5AJzPtM+XYZLw8ge9yYbtoG8cyW4fksojA0RWPmCTXgIK
         a3L64n9Wj7GpEaOkuy7BRb2+EnGswI0U0lZOOX/e01SDClIzfefw0mRVZOu9pkOI0qpD
         g5BTyXf9mSDpGpB13DyFaiQjiMcnVXDqlgGvU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692716922; x=1693321722;
        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=ksES7XdW7KICYuNCB7I+pKc0l0fFKB6dLx+Z80Hvio0=;
        b=Abi0sR/acEo1CzncbF9hNlIi8raqNleXc4RBWlRaRMVOOpL11v5gV54QcY6HBOss7O
         I6FGZWIStCQuietxJeQvDWAuaU0fiXhefqjR3p5rBoHvNIFmpobBV8cy0pRJQFTlljQ2
         8TxTFsyez5N0d3pNaRINmxVyyXewYCbD4MrYiqGny8N710iHyDcGET1etbvr4fjbpfE8
         Gh+aasmDBCaN1mZlnIICasnuixKDI1WJN6n7m/UcK7wOzZ4g3J/gG95xYdibF/TmLwRc
         fDRL95OyMjbkLgWx9ipcfyq56JSj5fGnc8nb+yQxgrjxeuyVwc8AYk5CwQJYCCb5DeGd
         4fDA==
X-Gm-Message-State: AOJu0Yxnsv87TAEssJy7aXje7xhSjn7oabQgnREihWq1CyxWoorbce/T
	+0C//dY/BGTGmmIPQAp6jhKQfA==
X-Google-Smtp-Source: AGHT+IGdk8jmzCqco1gqvTwIYeNT1kY53kKjAs7QMbN9SUgOvWWhP4bkGhPDSEqFguNaNUqeCtcw/g==
X-Received: by 2002:a1c:7707:0:b0:3fe:179d:d42e with SMTP id t7-20020a1c7707000000b003fe179dd42emr7871662wmi.23.1692716921762;
        Tue, 22 Aug 2023 08:08:41 -0700 (PDT)
Date: Tue, 22 Aug 2023 16:08:40 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
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,
	Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Subject: Re: [RFC PATCH 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
Message-ID: <8d17e090-720d-4887-8650-4e7e6b3e4c44@perard>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com>
 <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <857dd398240accabea73e5660ae77f3925727ee9.1692636338.git.nicola.vetrini@bugseng.com>

On Mon, Aug 21, 2023 at 06:54:38PM +0200, Nicola Vetrini wrote:
> diff --git a/docs/misra/Makefile b/docs/misra/Makefile
> new file mode 100644
> index 000000000000..f62cd936bfcc
> --- /dev/null
> +++ b/docs/misra/Makefile
> @@ -0,0 +1,36 @@
> +XEN_ROOT=$(CURDIR)/../..
> +include $(XEN_ROOT)/Config.mk
> +-include $(XEN_ROOT)/config/Docs.mk
> +
> +
> +TARGETS := $(addprefix C-runtime-failures,.c .o)
> +
> +all: $(TARGETS)
> +
> +define MISRA_HEADER
> +/*
> +
> +endef
> +
> +define MISRA_FOOTER
> +
> +*/
> +
> +endef
> +export MISRA_HEADER
> +export MISRA_FOOTER
> +
> +C-runtime-failures.c: C-runtime-failures.rst

Any reason not to use "%.c: %.rst" ? You could even write
    "C-runtime-failures.c: %.c: %.rst"
(Or even $(TARGETS:.o=.c): %.c %.rst", if TARGETS only had the .o, and
if we expect all *.c to be generated from *.rst in this Makefile)

> +# sed is used in place of cat to prevent occurrences of '*/'
> +# in the .rst from breaking the compilation

I think I'd like this comment just before the rule, rather than between
the target line and the recipe. That just push the recipe far way from
the target due to the indentation.

> +	( \
> +	  echo "$${MISRA_HEADER}"; \

Would it be ok to just do `echo "/*"` here instead of defining a make
variable and using it via the environment? I'd like to try to avoid the
dollar escape $$ which make shell code harder to read when written in
makefile.

> +	  sed -e 's|*/|*//*|' $<; \

The first '*' in this command is awkward, as its a special character.
I'd rather not rely on `sed` to convert it to non-special, so could you
escape it?

Also, this pattern only takes care of the first occurrence of '*/' on a
line, but they could be more than one.

> +	  echo "$${MISRA_FOOTER}" \
> +	) > $@
> +
> +%.o: %.c
> +	$(CC) -c $< -o $@
> +
> +clean:
> +	rm -f *.c *.o

This `rm -f *.c` is prone to mistake. I hope no one is going to write a
C file in this directory, run `make clean` and lost their source. Or,
copy this makefile somewhere else. Would it be ok to just spell out all
the .c files that are expected to be generated by this makefile?

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:08:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588585.920131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYT06-0004NW-VQ; Tue, 22 Aug 2023 15:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588585.920131; Tue, 22 Aug 2023 15:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYT06-0004NK-Sg; Tue, 22 Aug 2023 15:08:58 +0000
Received: by outflank-mailman (input) for mailman id 588585;
 Tue, 22 Aug 2023 15:08:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Uya+=EH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qYT05-000408-DH
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:08: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 d01174ed-40fd-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 17:08:55 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5298e43bb67so8268422a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 08:08:55 -0700 (PDT)
Received: from [192.168.100.67] ([78.152.69.193])
 by smtp.gmail.com with ESMTPSA id
 e14-20020a50fb8e000000b00523653295f9sm7808426edq.94.2023.08.22.08.08.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 08:08:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d01174ed-40fd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692716935; x=1693321735;
        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=FvSmEK7PSI6jrlAj0aRA1PIieG5kdHGSz+t9CsxkGlM=;
        b=N3nHErNaC8x2GmOcdI+3I69HRY/pQHqcWvEmBLu6ysbJDrEG3k8xyGzIqE2YJEnX0A
         oMiteVcWMLZbQ3IwNWMDMw0cbqULtSXEQqLI3YGEhkNhPhqFKeI1l5x1J5v6kiCaKgRo
         WtqDl0NmkQy4qH22TCmJp/Cf1ufyF7Ah/BX1nQmGmH0LgAKvkYPsJ78dUWPU+HnUPwvs
         9hCaiYB4jNcrBc50vuu7ht/2I7AhjnoZZ+IJPSnvK32EVF8WOTiV8RcmD8YDCUXL502b
         6DIE6SCGOUiIYMxK9oaDxBK1QP5DrBUdwEPkaKXQA7qLHsXsolnxJPX8CS1ch544bybd
         DSGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692716935; x=1693321735;
        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=FvSmEK7PSI6jrlAj0aRA1PIieG5kdHGSz+t9CsxkGlM=;
        b=Fvfe4yBZb8Vf5cF9YV9BGKB7rmEr3UpUM/wItGy3tUOb8T5uyx0TgrjApiVzj30KjX
         4ucH6R48jNoskfON7D9WIrXMykZVwzI8eCjszY5/KsoTs24Ykj7uU4l7RBsqBqc4Q03e
         L0/ssSQJ9upAYWxxLgLyX1g6ZSeQMZIcnaay3wv1JtIfo8Ucjburlwcf4aH02uVbE7Wq
         y1jVlHMU5lTa2BXitnivOHuFAExlFNCvVywTnGhzHvujAH7d2ugqCr/ZOXeX2BIEP9iQ
         Sg4GoefZuLQuWHfqnwMWppNHBwM5w9Hlw7fcqqC6EBjbK+IdnyXLhG9av+ZzWRXxu5w1
         hz4A==
X-Gm-Message-State: AOJu0YzenMJT4/hyfj6QcyBg4NuwIpantvVqNQyTfT5mnclYvh3+vFjD
	BvGEZCe+XuWK0fMjW9VURaY=
X-Google-Smtp-Source: AGHT+IEGGBwCYxNbpcwHRs2kO1TSCRAFeYalt1swJ02P4DHn9uncgZB4rkShjDvF9IboU3LtZusmLg==
X-Received: by 2002:aa7:d952:0:b0:528:9284:61c6 with SMTP id l18-20020aa7d952000000b00528928461c6mr12997074eds.0.1692716935047;
        Tue, 22 Aug 2023 08:08:55 -0700 (PDT)
Message-ID: <e208383afc3580ca8c0ca739128649912caea1e6.camel@gmail.com>
Subject: Re: [PATCH v1 44/57] xen/riscv: introduce asm/vm_event.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Tamas K Lengyel <tamas.k.lengyel@gmail.com>
Cc: xen-devel@lists.xenproject.org, Bob Eshleman <bobbyeshleman@gmail.com>, 
 Alistair Francis <alistair.francis@wdc.com>, Connor Davis
 <connojdavis@gmail.com>
Date: Tue, 22 Aug 2023 18:08:54 +0300
In-Reply-To: <CABfawhm3NrjsNYK77uFNQZWS9a5nJQWo3+0VXvGkit2YzCdVQg@mail.gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
	 <5e9219fb6c5e3d0ad921d7d050abc2a802d1742b.1692181079.git.oleksii.kurochko@gmail.com>
	 <CABfawhm3NrjsNYK77uFNQZWS9a5nJQWo3+0VXvGkit2YzCdVQg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-08-21 at 18:43 +0200, Tamas K Lengyel wrote:
> On Wed, Aug 16, 2023 at 12:30=E2=80=AFPM Oleksii Kurochko
> <oleksii.kurochko@gmail.com> wrote:
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > =C2=A0xen/arch/riscv/include/asm/vm_event.h | 52
> > +++++++++++++++++++++++++++
> > =C2=A01 file changed, 52 insertions(+)
> > =C2=A0create mode 100644 xen/arch/riscv/include/asm/vm_event.h
>=20
> I don't think we ought to replicate this header for every arch when
> clearly the functions in them are only relevant for specific
> architectures. Would make more sense to me to just conditionalize the
> caller side to the specific archs where these functions are actually
> defined, which would largely just be CONFIG_X86.

Thanks. I'll take it into account.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 15:12:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 15:12:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588599.920140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYT3V-0006KT-AZ; Tue, 22 Aug 2023 15:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588599.920140; Tue, 22 Aug 2023 15:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYT3V-0006KM-7i; Tue, 22 Aug 2023 15:12:29 +0000
Received: by outflank-mailman (input) for mailman id 588599;
 Tue, 22 Aug 2023 15:12:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Uya+=EH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qYT3U-0006KG-3E
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 15:12: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 4d3b2aa1-40fe-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 17:12:25 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-99c93638322so947127866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 08:12:25 -0700 (PDT)
Received: from [192.168.100.67] ([78.152.69.193])
 by smtp.gmail.com with ESMTPSA id
 s16-20020a1709067b9000b009932337747esm8309085ejo.86.2023.08.22.08.12.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Aug 2023 08:12: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: 4d3b2aa1-40fe-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692717145; x=1693321945;
        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=5Qbs5FwgStYpp4ZIEriO03EqGqlxJEfaARBGWHqOty8=;
        b=qj6tcB/FIQ/dgVw5Mtnb85W8/X5uJ7CAEBclGxBpGoYc25VlwL8GMBTWH3Ewydjf0M
         xgf2ouC+RfvuMUodolVxjsVl3Chrv+3WoZO4/rG47DMgJ/NOJXlz6G7OtSy1BDPCeOku
         AGC5fIKImsWDTy78mSmXxT1T0l7AlgXp7jQb/LyheFhObMzTnDhPyW7c/MqJqwfPXvMf
         qx8tpd4oomPD88DNlYug29yQMS62O7hbMKd/+Aq6znfY9CLbuIcDhEwXdnP2z/cIafhb
         Kbpb4XTtD5rtN9LPjf1AYa9fFnbkCn07gUs72RIwkdYS4HJU9W7pdzBXBwHne7nerFun
         /HLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692717145; x=1693321945;
        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=5Qbs5FwgStYpp4ZIEriO03EqGqlxJEfaARBGWHqOty8=;
        b=gtFMwUO5sY/tJCDN8n27+YOwkdTpt0PPpQy0Qawm17nWXSTlJNxmCSieTLfOAoYLwt
         aJHVmF/Cn7ECYAMFwA+hms1WSgLfKpw5UnjjUC67C9ArUmziA7DzWiM4uVlEYTp5ZC0F
         Xag5/b/zAxRHmw9E9YkgfSCMg03AXKgNluAaWqY4h2R7/qbOPDIjhGerzuKkrJae9UwU
         DB40UO2m+TWYOh4qmqynKN2s1QMMUcMVIN1zHzQsEBmcu0HxiDLcXzbzEKC+hWCYQSlj
         RSeFLjWUQV45vPWpJzgIDYag1iRurJ4A+pR3Ofm0XSvYD4Jh4t5ryQBMeFPeCFseWtZ0
         yYZw==
X-Gm-Message-State: AOJu0Yx12v8djODEsoMfhFmpCD5WhkEUyAPFosOzsgt8odica4/LFEfY
	USoSq0QQaXZdf/nDUbiko33B0NcORxgRCg==
X-Google-Smtp-Source: AGHT+IHEYWmQVZA+HjLumayFAaio7k/EWBVcQZNbxju/NvAOGbIrdCjpISxmZjOUPqT3p9/65DYo/w==
X-Received: by 2002:a17:907:3ea2:b0:99c:2e3:cad7 with SMTP id hs34-20020a1709073ea200b0099c02e3cad7mr11218810ejc.5.1692717144913;
        Tue, 22 Aug 2023 08:12:24 -0700 (PDT)
Message-ID: <523d35bd6a3c21a83d82218ee394dd45f37e1d18.camel@gmail.com>
Subject: Re: [PATCH v1 57/57] xxxen/riscv: WIP ( need advise )
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bob Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, Konrad
 Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>
Date: Tue, 22 Aug 2023 18:12:23 +0300
In-Reply-To: <85c3008696e5f9568f6a6504c915a319ca326537.1692181079.git.oleksii.kurochko@gmail.com>
References: <cover.1692181079.git.oleksii.kurochko@gmail.com>
	 <85c3008696e5f9568f6a6504c915a319ca326537.1692181079.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

T24gV2VkLCAyMDIzLTA4LTE2IGF0IDEzOjIwICswMzAwLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3Rl
Ogo+IFRoZXNlIGNoYW5nZXMgYXJlIG5lZWRlZCBvbmx5IHRvIG1ha2UgR2l0TGFiIENJIGhhcHB5
IGlzIGl0IGRvZXNuJ3QKPiB0YWtlIGludG8gYWNjb3VudCB0aW55NjRfZGVmY29uZmlnIHdoZXJl
IHVubmVjZXNzYXJ5IGNvbmZpZ3MgYXJlCj4gZGlzYWJsZWQuCj4gCj4gSSB0cmllZCBkaWZmZXJl
bnQgYXBwcm9hY2hlcyB0byBkZWFsIHdpdGggaXQ6Cj4gMS4gT3ZlcnJpZGUgRVhUUkFfWEVOX0NP
TkZJRyBhbmQgRVhUUkFfRklYRURfUkFORENPTkZJRyBpbiB0aGUKPiBmb2xsb3dpbmcgd2F5Ogo+
IMKgwqAgRVhUUkFfWEVOX0NPTkZJRzoKPiDCoMKgwqDCoCBDT05GSUdfMT1uCj4gwqDCoMKgwqAg
Q09ORklHXzI9bgo+IMKgwqDCoMKgIC4uLgo+IDIuIE92ZXJyaWRlIGluIGFyY2gtc3BlY2lmaWMg
S0NvbmZpZzoKPiDCoMKgwqDCoCBDT05GSUdfMToKPiDCoMKgwqDCoMKgwqDCoCBkZWZhdWx0IG4K
PiAKPiBFYWNoIG9wdGlvbiBkb2Vzbid0IHdvcmsgZm9yIG1lIGZ1bGx5Lgo+IAo+IENvdWxkIHlv
dSBwbGVhc2Ugc3VnZ2VzdCBvdGhlciBvcHRpb25zIG9yIG1vcmUgY29ycmVjdCB3YXk/Cj4gCgpJ
dCBsb29rcyBsaWtlIGlmIHRvIGRvIHVud2FudGVkIGNvbmZpZ3MgZm9yIG5vdyBhcyBhbiBpbnZp
c2libGUgY29uZmlnCmluIGFyY2gtc3BlY2lmaWMgS0NvbmZpZyBpdCBzaG91bGQgd29yay4gU29t
ZXRoaW5nIGxpa2U6CgogIGNvbmZpZyBHUkFOVF9UQUJMRQoJYm9vbAoJZGVmYXVsdCBuCgogSSds
bCBkb3VibGUtY2hlY2sgdG9tb3Jyb3cuCgp+IE9sZWtzaWkKCj4gU2lnbmVkLW9mZi1ieTogT2xl
a3NpaSBLdXJvY2hrbyA8b2xla3NpaS5rdXJvY2hrb0BnbWFpbC5jb20+Cj4gLS0tCj4gwqB4ZW4v
YXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hc21fZGVmbnMuaMKgwqDCoMKgIHwgNDQgKysrKysrKysr
KysrKysrKysKPiDCoHhlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2dyYW50X3RhYmxlLmjCoMKg
IHwgNTcKPiArKysrKysrKysrKysrKysrKysrKysrCj4gwqB4ZW4vYXJjaC9yaXNjdi9pbmNsdWRl
L2FzbS9ndWVzdF9hdG9taWNzLmggfCAxNiArKysrKy0KPiDCoHhlbi9hcmNoL3Jpc2N2L2luY2x1
ZGUvYXNtL2xpdmVwYXRjaC5owqDCoMKgwqAgfMKgIDAKPiDCoHhlbi9hcmNoL3Jpc2N2L2luY2x1
ZGUvYXNtL21tLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA1ICsrCj4gwqB4ZW4vYXJjaC9y
aXNjdi9pbmNsdWRlL2FzbS9wMm0uaMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMjQgKysrKysrKysr
Cj4gwqB4ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wYWdlLmjCoMKgwqDCoMKgwqDCoMKgwqAg
fCAxNiArKysrKysKPiDCoHhlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BlcmZjX2RlZm4uaMKg
wqDCoCB8wqAgMAo+IMKgeGVuL2FyY2gvcmlzY3YvbW0uY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzMyArKysrKysrKysrKysrCj4gwqA5IGZpbGVzIGNo
YW5nZWQsIDE5NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gwqBjcmVhdGUgbW9kZSAx
MDA2NDQgeGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtX2RlZm5zLmgKPiDCoGNyZWF0ZSBt
b2RlIDEwMDY0NCB4ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9saXZlcGF0Y2guaAo+IMKgY3Jl
YXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BlcmZjX2RlZm4uaAo+
IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hc21fZGVmbnMuaAo+
IGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtX2RlZm5zLmgKPiBuZXcgZmlsZSBtb2Rl
IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAuLmRkMDUxMWE5YzYKPiAtLS0gL2Rldi9udWxsCj4g
KysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtX2RlZm5zLmgKPiBAQCAtMCwwICsx
LDQ0IEBACj4gKyNpZm5kZWYgX19BUk1fQVNNX0RFRk5TX0hfXwo+ICsjZGVmaW5lIF9fQVJNX0FT
TV9ERUZOU19IX18KPiArCj4gKyNpZm5kZWYgQ09NUElMRV9PRkZTRVRTCj4gKy8qIE5CLiBBdXRv
LWdlbmVyYXRlZCBmcm9tIGFyY2gvLi4uL2FzbS1vZmZzZXRzLmMgKi8KPiArI2luY2x1ZGUgPGFz
bS9hc20tb2Zmc2V0cy5oPgo+ICsjZW5kaWYKPiArI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4K
PiArCj4gKy8qIE1hY3JvcyBmb3IgZ2VuZXJpYyBhc3NlbWJseSBjb2RlICovCj4gKyNpZiBkZWZp
bmVkKENPTkZJR19SSVNDVl8zMikKPiArIyBkZWZpbmUgX19PUDMyCj4gKyMgZGVmaW5lIEFTTV9S
RUcoaW5kZXgpIGFzbSgiciIgIyBpbmRleCkKPiArI2VsaWYgZGVmaW5lZChDT05GSUdfUklTQ1Zf
NjQpCj4gKyMgZGVmaW5lIF9fT1AzMiAidyIKPiArLyoKPiArICogQ2xhbmcgPCA4LjAgZG9lc24n
dCBzdXBwb3J0IHJlZ2lzdGVyIGFsbGxvY2F0aW9uIHVzaW5nIHRoZSBzeW50YXgKPiByTi4KPiAr
ICogU2VlIGh0dHBzOi8vcmV2aWV3cy5sbHZtLm9yZy9yTDMyODgyOS4KPiArICovCj4gKyMgZGVm
aW5lIEFTTV9SRUcoaW5kZXgpIGFzbSgieCIgIyBpbmRleCkKPiArI2Vsc2UKPiArIyBlcnJvciAi
dW5rbm93biBBUk0gdmFyaWFudCIKPiArI2VuZGlmCj4gKwo+ICsjZGVmaW5lIFJPREFUQV9TVFIo
bGFiZWwsIG1zZynCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiArLnB1c2hz
ZWN0aW9uIC5yb2RhdGEuc3RyLCAiYU1TIiwgJXByb2diaXRzLCAxIDsgXAo+ICtsYWJlbDrCoCAu
YXNjaXogbXNnO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPiArLnBvcHNlY3Rpb24KPiArCj4gKyNkZWZpbmUgQVNNX0lOVChsYWJlbCwg
dmFsKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiArwqDCoMKgIC5wMmFsaWdu
IDI7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgXAo+ICtsYWJlbDogLmxvbmcgKHZhbCk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiArwqDCoMKgIC5zaXplIGxhYmVsLCAuIC0gbGFiZWw7wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqAgLnR5cGUgbGFiZWwsICVv
YmplY3QKPiArCj4gKyNlbmRpZiAvKiBfX0FSTV9BU01fREVGTlNfSF9fICovCj4gKy8qCj4gKyAq
IExvY2FsIHZhcmlhYmxlczoKPiArICogbW9kZTogQwo+ICsgKiBjLWZpbGUtc3R5bGU6ICJCU0Qi
Cj4gKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cj4gKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAo+ICsg
KiBFbmQ6Cj4gKyAqLwo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9n
cmFudF90YWJsZS5oCj4gYi94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9ncmFudF90YWJsZS5o
Cj4gaW5kZXggNjAwZmIxMDY2OS4uOGI3ODgwZDNlZCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9y
aXNjdi9pbmNsdWRlL2FzbS9ncmFudF90YWJsZS5oCj4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5j
bHVkZS9hc20vZ3JhbnRfdGFibGUuaAo+IEBAIC0xLDQgKzEsNjEgQEAKPiDCoCNpZm5kZWYgX19B
U01fUklTQ1ZfR1JBTlRUQUJMRV9IX18KPiDCoCNkZWZpbmUgX19BU01fUklTQ1ZfR1JBTlRUQUJM
RV9IX18KPiDCoAo+ICsjZGVmaW5lIElOSVRJQUxfTlJfR1JBTlRfRlJBTUVTIDFVCj4gKwo+ICsj
ZGVmaW5lIGdudHRhYl9zaGFyZWRfcGFnZSh0LCBpKcKgwqAgdmlydF90b19wYWdlKCh0KS0+c2hh
cmVkX3Jhd1tpXSkKPiArCj4gKyNkZWZpbmUgZ250dGFiX3N0YXR1c19wYWdlKHQsIGkpwqDCoCB2
aXJ0X3RvX3BhZ2UoKHQpLT5zdGF0dXNbaV0pCj4gKwo+ICsjZGVmaW5lIGdudHRhYl9zaGFyZWRf
Z2ZuKGQsIHQsCj4gaSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiArwqDCoMKgIHBhZ2VfZ2V0X3hl
bmhlYXBfZ2ZuKGdudHRhYl9zaGFyZWRfcGFnZSh0LCBpKSkKPiArCj4gKyNkZWZpbmUgZ250dGFi
X3N0YXR1c19nZm4oZCwgdCwKPiBpKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqAgcGFn
ZV9nZXRfeGVuaGVhcF9nZm4oZ250dGFiX3N0YXR1c19wYWdlKHQsIGkpKQo+ICsKPiArI2RlZmlu
ZSBnbnR0YWJfc2V0X2ZyYW1lX2dmbihndCwgc3QsIGlkeCwgZ2ZuLAo+IG1mbinCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqAgKGdmbl9lcShnZm4s
Cj4gSU5WQUxJRF9HRk4pwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqDC
oCA/IGd1ZXN0X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoKGd0KS0KPiA+ZG9tYWluLMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdu
dHRhYl9nZXRfZnJhbWVfZ2ZuKGd0LCBzdCwKPiBpZHgpLMKgwqDCoMKgwqAgXAo+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IG1mbiwKPiAwKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqDCoCA6IDApCj4gKwo+ICsjZGVmaW5lIGdudHRh
Yl9nZXRfZnJhbWVfZ2ZuKGd0LCBzdCwgaWR4KQo+ICh7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgIChzdCkgPyBnbnR0YWJf
c3RhdHVzX2dmbihOVUxMLCBndCwKPiBpZHgpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiArwqDCoMKgwqDCoMKgwqAgOiBnbnR0
YWJfc2hhcmVkX2dmbihOVUxMLCBndCwKPiBpZHgpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ICt9KQo+ICsKPiArI2RlZmluZSBn
bnR0YWJfbmVlZF9pb21tdV9tYXBwaW5nKGQpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgXAo+ICvCoMKgwqAgKGlzX2RvbWFpbl9kaXJlY3RfbWFwcGVkKGQpICYmIGlzX2lv
bW11X2VuYWJsZWQoZCkpCj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgZ250dGFiX3JlbGVhc2Vf
aG9zdF9tYXBwaW5ncyhjb25zdCBzdHJ1Y3QgZG9tYWluCj4gKmQpCj4gK3sKPiArwqDCoMKgIEJV
RygpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZ250dGFiX21hcmtfZGlydHkoc3Ry
dWN0IGRvbWFpbiAqZCwgbWZuX3QgbWZuKQo+ICt7Cj4gKyNpZm5kZWYgTkRFQlVHCj4gK8KgwqDC
oCBwcmludGtfb25jZShYRU5MT0dfR19XQVJOSU5HICJnbnR0YWJfbWFya19kaXJ0eSBub3QgaW1w
bGVtZW50ZWQKPiB5ZXRcbiIpOwo+ICsjZW5kaWYKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2
b2lkIGdudHRhYl9jbGVhcl9mbGFncyhzdHJ1Y3QgZG9tYWluICpkLAo+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB1bnNpZ25lZCBpbnQgbWFzaywgdWludDE2X3QKPiAqYWRkcikKPiArewo+ICvCoMKgwqAg
QlVHKCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBnbnR0YWJfaG9zdF9tYXBwaW5n
X2dldF9wYWdlX3R5cGUoYm9vbCBybywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0Cj4gZG9tYWluICpsZCwKPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0Cj4gZG9t
YWluICpyZCkKPiArewo+ICvCoMKgwqAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICtpbnQgY3Jl
YXRlX2dyYW50X2hvc3RfbWFwcGluZyh1aW50NjRfdCBncGFkZHIsIG1mbl90IGZyYW1lLAo+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgaW50Cj4gY2FjaGVfZmxhZ3MpOwo+ICtpbnQg
cmVwbGFjZV9ncmFudF9ob3N0X21hcHBpbmcodWludDY0X3QgZ3BhZGRyLCBtZm5fdCBmcmFtZSwK
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHVpbnQ2NF90IG5ld19ncGFkZHIsIHVuc2lnbmVkIGludAo+IGZsYWdzKTsKPiArCj4g
wqAjZW5kaWYgLyogX19BU01fUklTQ1ZfR1JBTlRUQUJMRV9IX18gKi8KPiBcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20v
Z3Vlc3RfYXRvbWljcy5oCj4gYi94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9ndWVzdF9hdG9t
aWNzLmgKPiBpbmRleCA3MWIwYjExYTI1Li44YzhmZDY0N2Q2IDEwMDY0NAo+IC0tLSBhL3hlbi9h
cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2d1ZXN0X2F0b21pY3MuaAo+ICsrKyBiL3hlbi9hcmNoL3Jp
c2N2L2luY2x1ZGUvYXNtL2d1ZXN0X2F0b21pY3MuaAo+IEBAIC0zNSw5ICszNSwyMyBAQCBndWVz
dF90ZXN0b3AodGVzdF9hbmRfY2hhbmdlX2JpdCkKPiDCoAo+IMKgI3VuZGVmIGd1ZXN0X3Rlc3Rv
cAo+IMKgCj4gLQo+IMKgI2RlZmluZSBndWVzdF90ZXN0X2JpdChkLCBuciwgcCkgKCh2b2lkKShk
KSwgdGVzdF9iaXQobnIsIHApKQo+IMKgCj4gKyNkZWZpbmUgZ3Vlc3RfY21weGNoZyhkLCBwdHIs
IG8sIG4pwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwK
PiArwqDCoMKgICgoX190eXBlb2ZfXygqKHB0cikpKV9fZ3Vlc3RfY21weGNoZyhkLCBwdHIswqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh1bnNpZ25l
ZCBsb25nKShvKSxcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh1bnNpZ25lZCBsb25nKShu
KSxcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVvZiAoKihwdHIpKSkpCj4gKwo+ICtz
dGF0aWMgYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIF9fZ3Vlc3RfY21weGNoZyhzdHJ1Y3Qg
ZG9tYWluICpkLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHZvbGF0aWxlIHZvaWQKPiAqcHRyLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcKPiBvbGQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZwo+IG5ldywKPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQKPiBzaXplKQo+
ICt7Cj4gK8KgwqDCoCBCVUcoKTsKPiArfQo+ICsKPiDCoCNlbmRpZiAvKiBfX0FTTV9SSVNDVl9H
VUVTVF9BVE9NSUNTX0ggKi8KPiDCoC8qCj4gwqAgKiBMb2NhbCB2YXJpYWJsZXM6Cj4gZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2xpdmVwYXRjaC5oCj4gYi94ZW4vYXJj
aC9yaXNjdi9pbmNsdWRlL2FzbS9saXZlcGF0Y2guaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9yaXNj
di9pbmNsdWRlL2FzbS9tbS5oCj4gYi94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9tbS5oCj4g
aW5kZXggMWQ0NjRhZmVjOS4uMzc5MTZmOWJlNyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9yaXNj
di9pbmNsdWRlL2FzbS9tbS5oCj4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW0u
aAo+IEBAIC0yNzYsNCArMjc2LDkgQEAgdm9pZCBzZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXModm9p
ZCk7Cj4gwqB2b2lkIGVuYWJsZV9tbXUodm9pZCk7Cj4gwqB2b2lkIGNvbnRfYWZ0ZXJfbW11X2lz
X2VuYWJsZWQodm9pZCk7Cj4gwqAKPiArc3RhdGljIGlubGluZSBnZm5fdCBwYWdlX2dldF94ZW5o
ZWFwX2dmbihjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwKQo+ICt7Cj4gK8KgwqDCoCBCVUcoKTsK
PiArfQo+ICsKPiDCoCNlbmRpZiAvKiBfQVNNX1JJU0NWX01NX0ggKi8KPiBkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcDJtLmgKPiBiL3hlbi9hcmNoL3Jpc2N2L2luY2x1
ZGUvYXNtL3AybS5oCj4gaW5kZXggOTkzYWVjNmQyYy4uODUzN2NlMTJmZCAxMDA2NDQKPiAtLS0g
YS94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wMm0uaAo+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2
L2luY2x1ZGUvYXNtL3AybS5oCj4gQEAgLTI5LDYgKzI5LDI4IEBAIHR5cGVkZWYgZW51bSB7Cj4g
wqDCoMKgwqAgcDJtX21heF9yZWFsX3R5cGUswqAgLyogVHlwZXMgYWZ0ZXIgdGhpcyB3b24ndCBi
ZSBzdG9yZSBpbiB0aGUKPiBwMm0gKi8KPiDCoH0gcDJtX3R5cGVfdDsKPiDCoAo+ICsvKiBXZSB1
c2UgYml0bWFwcyBhbmQgbWFzayB0byBoYW5kbGUgZ3JvdXBzIG9mIHR5cGVzICovCj4gKyNkZWZp
bmUgcDJtX3RvX21hc2soX3QpICgxVUwgPDwgKF90KSkKPiArCj4gKy8qIFJBTSB0eXBlcywgd2hp
Y2ggbWFwIHRvIHJlYWwgbWFjaGluZSBmcmFtZXMgKi8KPiArI2RlZmluZSBQMk1fUkFNX1RZUEVT
IChwMm1fdG9fbWFzayhwMm1fcmFtX3J3KSB8wqDCoMKgwqDCoMKgwqAgXAo+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwMm1fdG9fbWFzayhwMm1fcmFtX3Jv
KSkKPiArCj4gKy8qIEdyYW50IG1hcHBpbmcgdHlwZXMsIHdoaWNoIG1hcCB0byBhIHJlYWwgZnJh
bWUgaW4gYW5vdGhlciBWTSAqLwo+ICsjZGVmaW5lIFAyTV9HUkFOVF9UWVBFUyAocDJtX3RvX21h
c2socDJtX2dyYW50X21hcF9ydykgfMKgIFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHAybV90b19tYXNrKHAybV9ncmFudF9tYXBfcm8pKQo+ICsK
PiArLyogRm9yZWlnbiBtYXBwaW5ncyB0eXBlcyAqLwo+ICsjZGVmaW5lIFAyTV9GT1JFSUdOX1RZ
UEVTIChwMm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ25fcncpIHwgXAo+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHAybV90b19tYXNrKHAybV9t
YXBfZm9yZWlnbl9ybykpCj4gKwo+ICsvKiBVc2VmdWwgcHJlZGljYXRlcyAqLwo+ICsjZGVmaW5l
IHAybV9pc19yYW0oX3QpIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fUkFNX1RZUEVTKQo+ICsjZGVm
aW5lIHAybV9pc19mb3JlaWduKF90KSAocDJtX3RvX21hc2soX3QpICYgUDJNX0ZPUkVJR05fVFlQ
RVMpCj4gKyNkZWZpbmUgcDJtX2lzX2FueV9yYW0oX3QpIChwMm1fdG9fbWFzayhfdCkgJsKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoUDJNX1JBTV9UWVBFUyB8IFAyTV9H
UkFOVF9UWVBFUyB8wqAgXAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBQMk1fRk9SRUlHTl9UWVBFUykpCj4gKwo+IMKgI2luY2x1ZGUg
PHhlbi9wMm0tY29tbW9uLmg+Cj4gwqAKPiDCoHN0YXRpYyBpbmxpbmUgaW50IGdldF9wYWdlX2Fu
ZF90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsCj4gQEAgLTEwMiw0ICsxMjQsNiBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgcDJtX2FsdHAybV9jaGVjayhzdHJ1Y3QgdmNwdQo+ICp2LCB1aW50MTZf
dCBpZHgpCj4gwqDCoMKgwqAgLyogTm90IHN1cHBvcnRlZCBvbiBSSVNDVi4gKi8KPiDCoH0KPiDC
oAo+ICtib29sIGlzX2lvbWVtX3BhZ2UobWZuX3QgbWZuKTsKPiArCj4gwqAjZW5kaWYgLyogX19B
U01fUklTQ1ZfUDJNX0hfXyAqLwo+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+IGRpZmYg
LS1naXQgYS94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wYWdlLmgKPiBiL3hlbi9hcmNoL3Jp
c2N2L2luY2x1ZGUvYXNtL3BhZ2UuaAo+IGluZGV4IGFiYmFlNzVhYWYuLjUyZWI1MTc2NjkgMTAw
NjQ0Cj4gLS0tIGEveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGFnZS5oCj4gKysrIGIveGVu
L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGFnZS5oCj4gQEAgLTgzLDYgKzgzLDIyIEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBmbHVzaF9wYWdlX3RvX3JhbSh1bnNpZ25lZCBsb25nCj4gbWZuLCBib29s
IHN5bmNfaWNhY2hlKQo+IMKgwqDCoMKgIEJVRygpOwo+IMKgfQo+IMKgCj4gK3N0YXRpYyBpbmxp
bmUgaW50IGNsZWFuX2RjYWNoZV92YV9yYW5nZShjb25zdCB2b2lkICpwLCB1bnNpZ25lZCBsb25n
Cj4gc2l6ZSkKPiArewo+ICvCoMKgwqAgQlVHKCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUg
aW50IGludmFsaWRhdGVfZGNhY2hlX3ZhX3JhbmdlKGNvbnN0IHZvaWQgKnAsIHVuc2lnbmVkCj4g
bG9uZyBzaXplKQo+ICt7Cj4gK8KgwqDCoCBCVUcoKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGlu
ZSBpbnQgY2xlYW5fYW5kX2ludmFsaWRhdGVfZGNhY2hlX3ZhX3JhbmdlCj4gK8KgwqDCoCAoY29u
c3Qgdm9pZCAqcCwgdW5zaWduZWQgbG9uZyBzaXplKQo+ICt7Cj4gK8KgwqDCoCBCVUcoKTsKPiAr
fQo+ICsKPiDCoCNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KPiDCoAo+IMKgI2VuZGlmIC8qIF9B
U01fUklTQ1ZfUEFHRV9IICovCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUv
YXNtL3BlcmZjX2RlZm4uaAo+IGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGVyZmNfZGVm
bi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi5lNjlkZTI5YmIy
Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3Jpc2N2L21tLmMgYi94ZW4vYXJjaC9yaXNjdi9tbS5j
Cj4gaW5kZXggMGY0MDY0MWRiNy4uNjk2YTFlODQ0OCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9y
aXNjdi9tbS5jCj4gKysrIGIveGVuL2FyY2gvcmlzY3YvbW0uYwo+IEBAIC0zMjMsMyArMzIzLDM2
IEBAIGludCBtYXBfcGFnZXNfdG9feGVuKHVuc2lnbmVkIGxvbmcgdmlydCwKPiDCoMKgwqDCoCBh
c3NlcnRfZmFpbGVkKF9fZnVuY19fKTsKPiDCoMKgwqDCoCByZXR1cm4gLTE7Cj4gwqB9Cj4gKwo+
ICtib29sIGlzX2lvbWVtX3BhZ2UobWZuX3QgbWZuKQo+ICt7Cj4gK8KgwqDCoCBCVUcoKTsKPiAr
fQo+ICsKPiAraW50IHJlcGxhY2VfZ3JhbnRfaG9zdF9tYXBwaW5nKHVpbnQ2NF90IGdwYWRkciwg
bWZuX3QgZnJhbWUsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50NjRfdCBuZXdfZ3BhZGRyLCB1bnNpZ25lZCBpbnQKPiBm
bGFncykKPiArewo+ICvCoMKgwqAgQlVHKCk7Cj4gK30KPiArCj4gK2ludCBjcmVhdGVfZ3JhbnRf
aG9zdF9tYXBwaW5nKHVpbnQ2NF90IGdwYWRkciwgbWZuX3QgZnJhbWUsCj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQg
aW50IGZsYWdzLCB1bnNpZ25lZCBpbnQKPiBjYWNoZV9mbGFncykKPiArewo+ICvCoMKgwqAgQlVH
KCk7Cj4gK30KPiArCj4gK3N0cnVjdCBkb21haW4gKnBhZ2VfZ2V0X293bmVyX2FuZF9yZWZlcmVu
Y2Uoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKPiArewo+ICvCoMKgwqAgQlVHKCk7Cj4gK30KPiAr
Cj4gK3ZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl
LCBzdHJ1Y3QgZG9tYWluCj4gKmQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbnVtIFhFTlNIQVJFX2ZsYWdzIGZsYWdzKQo+
ICt7Cj4gK8KgwqDCoCBCVUcoKTsKPiArfQo+ICsKPiArYm9vbCBnZXRfcGFnZShzdHJ1Y3QgcGFn
ZV9pbmZvICpwYWdlLCBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb21haW4pCj4gK3sKPiArwqDCoMKg
IEJVRygpOwo+ICt9Cj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgo=



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 16:07:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 16:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588607.920151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYTuB-0004b2-BN; Tue, 22 Aug 2023 16:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588607.920151; Tue, 22 Aug 2023 16: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 1qYTuB-0004av-8o; Tue, 22 Aug 2023 16:06:55 +0000
Received: by outflank-mailman (input) for mailman id 588607;
 Tue, 22 Aug 2023 16:06: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=MJFy=EH=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYTuA-0004am-II
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 16:06:54 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e70ac70c-4105-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 18:06:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8891.eurprd04.prod.outlook.com (2603:10a6:20b:40a::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Tue, 22 Aug
 2023 16:06:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Tue, 22 Aug 2023
 16: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>
X-Inumbo-ID: e70ac70c-4105-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=La02r7iDSl0K+Ye1JSWlC1Rmxy74LSkkNX0GKDsFOWrpsy1mcP5Gxy0WgYEj7oGuI6uIJODD2FSFvIqpA8wBNe1XEbvfYn/I8iFh3ngVnNGHzI02Zg6kCNH3ROM4KDMurQ4zVPldQFFgW51yJMHL7UDo3HKv117WlGp4GsX6sMRKiTmhYnpZaVC8R9Udn6SQ4zhJNSqDd/Tcm1V2fuKoSlWRyrkYV3LXVj825AnWblEER1+9uy3rD4qGer3ttr43pmX8O7escMLw+wzofyri23k5BqEBxfuvIscPmHCOxKZ3fRxDhfN+VeolzQDfC0xnh5Jup2kfgHzBZ5sdl8SpAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2EbZgH7SeckSf9BV9v2xl/XwY32LO8ezUZPwITIBIjk=;
 b=JAkl2o1KuumUDe+bOvq61JG4aafp3fh20x4kncArnPKKhBSVx//0FJBKez88vOcw/gd1oD1ynsjv8O/tNc62jgbe6Nsn4/Jg9JQ5QW52drppwb+xa+qrf57BgKK1IyZRMUc3DGjo/Mqq8ouKyI3tQVdqakYTUoZMaMZiT5g81bRNjafhYbw5piXpH5rXu0qrORAFr2JNreuxyelLYiq64m0sw3HVFkBH7eP8jAmE8au5Rnurnv0UpLWQzXa4wxjDW1VViC81SRgozEWYZ/4B73oSRgoeHFDI09vnlsSOJK1xXuki9/1UOtyokp8aKmH23ny5WzJnVzmSwXdXdJKoBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2EbZgH7SeckSf9BV9v2xl/XwY32LO8ezUZPwITIBIjk=;
 b=QEOmc2K0Spt8DlAjVS0hC5SSoZGTORwfq+0RAZNDCPh5d1m9B4RlkCvbiA1/zRURbjkZ3Z+P75DpsJ9I0u0EbK7s4BlZcusg7uABd36wb8cmo16EqJXMX56aUV/hiXy6eNQidIpZ+aIfFSPtGn2jC11vuOJxh2xlhpf0Eywmogxbh0G5v9fM2LxURjKnBUEUAeYhQvcXyXCNJecAOWRHNlqg2j7aK6CXtCWyWZJWR+0asmSNfwDGNie0wGXJlK6XUuqMTuvlGRHpWLgjcfcCITBn+8wULywkTWG3a+QYsT1LZQvDgoPvioXk22XGxLYjItZkPaNoMsDtjUSuSp1zQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cb10f21e-afe4-6593-f10a-fefd1731bf90@suse.com>
Date: Tue, 22 Aug 2023 18:06:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add exceptions to rules
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230819012410.1754839-1-sstabellini@kernel.org>
 <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
 <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
 <89c57dd1494de14168dc0c7f4aed959e@bugseng.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <89c57dd1494de14168dc0c7f4aed959e@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8891:EE_
X-MS-Office365-Filtering-Correlation-Id: f301ad16-86ba-4a30-799c-08dba329c46c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HTvO6tCWFxFWSwU6ZIw6xfnCKm/aSXVRuTq/acaD4C8qk5hMTf3mW2xkxQk5dSJ1ICUc6vzDqT2KzzKj/ZfolC1lDNJ9vMKc2hwF/UeetAPRqpTp4AEaZocRy2g3OPNGTI68188XLl1isI5VeaDXDnIx5IukCPd72J9Ds4eF3hcLNAGriwmUungDOn29Iane44tI1MBkuGLmxWgxSP0UFC7zhx78lRjfV3sFnUle9RdNUL7QJyzRZTndZzmYwFijZMt46KlArEl3OwZhFW8QNhyKYiYqEwAHo1SyeAP0zf5YIWbCRqHHOh+ew9mcqdUV9x1uoOLmSewojJGy1OOAJo78yFkQu1yS5JLuUK/vSH7eaGq8TQ4Ady4ChDq27i10oAYySdJH4vmGkdnhk07miCedyJNQbcTkpp9+5DlRpbUlCaceyPntUbC+tpRSqCpM4q8Sa3X9vaESJZh+4BNCoM+ZVA56RjtcXrZ5BuCNc5T2HpBJTk79JozGRbCkKUazF969QSWunoyTgQ3oI9HjWvv17ToeP6pmAA4gpNu6VIN9Wu/GSNygf/ow4CZucN5DvM/aqlhGSgeeWHYrIi6om0NDC2e/6kHZpRz+aQFG5wIiZcDN/gA28tng7j14aofpAApFUlmoEZdMIawR/agamQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(396003)(376002)(39860400002)(346002)(451199024)(1800799009)(186009)(8676002)(2906002)(83380400001)(66476007)(6506007)(66946007)(53546011)(66556008)(6486002)(6666004)(110136005)(5660300002)(26005)(2616005)(8936002)(4326008)(41300700001)(316002)(478600001)(6512007)(36756003)(86362001)(31696002)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVQ4TmNIQmFpclNzV2NzQVJEaFNhWUxKRkw2WUwyZnNBelNiblZsY3dUS0hW?=
 =?utf-8?B?REZWVGNsVWVLSTJFTVVKN2hDdHFHd0JnanhuU21CZzdrNHExbTdIVjlpeHlx?=
 =?utf-8?B?U21Sa3hBaDZ0RlBWc3ZMQ3I5Z0NxTTlnajVYTWxUN1RvK0g3MWh1NFhmMkNZ?=
 =?utf-8?B?bEhqbFkrVlc3cjB0L2VZc0RCbXUxQUN2QnJjaEY0S3J1L0VnZzByeEh5Wlln?=
 =?utf-8?B?b0txa0l1dEhObWdDWjR2TEJoa0xzendxWitvOTNhcHpHR0l1bExoa2QwdVZs?=
 =?utf-8?B?M1phcm1lenZXeG5ybTIxelRTMFIwUmEwenlpd3ZBZno3akYwTUtUT3JOTG5G?=
 =?utf-8?B?RUFaYXBnS0hXTFVqTWVBT3VRZ2ZmL2FYZzh2dVlvaUhhR1RVTGJQcVhrblht?=
 =?utf-8?B?bHBTOGQvK2JkNzhkNnRtMDkxS0RRMUtzWkVDQ3ZVblg3NXNwRytwbzhSNFpu?=
 =?utf-8?B?TFZMYnp0TUp0N05iRWllMmZkYUt3a1dRWVRxMzgvaDVLVk11bklMQWhsY3NQ?=
 =?utf-8?B?MlZ0T3k2Znl5cDVpakpqdFVkUHJMZXU4bTd6ODd0aldGMW9taEJIMERDS3dJ?=
 =?utf-8?B?ODUrb2pCN09jN0ZZSTJVbUdSbW4wN25rd0wyTFhpelU4dHMwUWFDWXhrNkxY?=
 =?utf-8?B?S2xmNzZsTmdJclFOeXNpVUxCTjlrUjlhSVE1b3VxUU5mNGN0QzY5bWozWjli?=
 =?utf-8?B?dUI1VE92OUcvdTZqYlpzQjhxb0MvWGJFUDZzR1JPcC8yVzBXN0V6YmErUm9Y?=
 =?utf-8?B?V2dDZWdFUGpGQjMzemlkWUNaWUNhanlYZWJLTGVVK2xGR29BNkNkQ3hVdlZW?=
 =?utf-8?B?T0FsRmtsSU9iWnY4MDIzQ21lcGhzdnJFcGIyd2loNFZCUGVFNVcxbkl0dlhV?=
 =?utf-8?B?MHNrRFFVUFc0aXdHUFVyek9hdFVTc1J3ZDN6WTdJV2JOK2dvOURXTUVOK3Fj?=
 =?utf-8?B?QWdWY1lmakx3L3Yya2tKTzZwTEdVdSs3eDdwT29aRHlNQXpxRENkczdDT0w5?=
 =?utf-8?B?TW9NTGNXamh1K2h0OGI4OTYvYTl4SEV4aXFwZlFUc2JJMEs3dzRoUDV1VmNy?=
 =?utf-8?B?NmVJeEdqb0FtSm5iYi9EbVp4VUFvN0cxd3ZIMGZ0aUNUMkRzQk96UkJ0U2tq?=
 =?utf-8?B?eUJweU43cG9GN2xScG1JcGE2L096b2ZsU3p5WFJzUk40RVJPSEpOeSttZFJY?=
 =?utf-8?B?cy95QmRhNTZPRWdUUjFNS28rRXg2T1ZsM3l0QUFSak5xM3g5V25pUXRvMG1j?=
 =?utf-8?B?WUliRVlKY1laaWQxdEtMSlpFQmFtVnRjZFQreGR4ZDJnS1J3NXM5eGJNZXFI?=
 =?utf-8?B?bHdKOXRjVnV6ak9vdjBOQmd0eXRBMlBkMHNrRUw2bStGV29RaTJQbHF2ZzFS?=
 =?utf-8?B?UnkxQSt6QWd6WXdwdWFJU3hGcWZGdGR5WWxBL1Z1c3IrQkk0bWRPQzBTeW80?=
 =?utf-8?B?Z2ExQmZ6SDdOTjZvbDk5V05UV2txLzRlRFlwdGxRUER3N2JIOEZSZENKZ3RS?=
 =?utf-8?B?dGVqMEcveDZJNFBTOTZhTUo1aytKUUpwU01CdldHbXBOZTJvSmd3MGpJZm5B?=
 =?utf-8?B?Z0RuTWJJVHN4elRUUGp0cWg5bTdTNERDUVo4L3YwREtkOTZ6MmlTVFkyaWhw?=
 =?utf-8?B?cG1oVjZlYmtsVE41SFkrWEpoaEhveGVKeDFzeWErR1VWbE1yNWxaeVZ2NVU2?=
 =?utf-8?B?RHV1RGo4MU92UHBuUnRhcGpQSUxhRGJxOUZ2eFJUS0huSE9zbmZKV3ZtU3Rz?=
 =?utf-8?B?VEtlTStXUk1ieFM3M2NWL2ZOQzB2d3loOGErVU1jbG55TjFHclh5Q3dTblRM?=
 =?utf-8?B?NGFnRW05RWt4SjNGaEFGWjhrVk1hbnIxbVl3NWt6K2xUcjNXRXdFQ29Nck9O?=
 =?utf-8?B?Ym56R1E3dWpQdU5YVnpTQ2ZqbmtxZFQ2Q0RiQlloV25rWlA1Tm5jaTF6T1kv?=
 =?utf-8?B?ZWxZcklkNGxLNEdiQmdXOEEvSytmcndINW4vZm0zM056ZDBZQkRDTFJ5RXYv?=
 =?utf-8?B?MFNuTkxReUtrU1REOVFXOVU2K2xxVjNMYXZmTHV2TzFnSlR3OEh0QXIxZVhx?=
 =?utf-8?B?M1NQNkpXOTkzbjg3b05KMytLSDJOS1JoMDFpMjE0WlZwRTVzWHdQelBkWHMy?=
 =?utf-8?Q?7Xyxm3Vo///crJDSc9thfVcA9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f301ad16-86ba-4a30-799c-08dba329c46c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 16:06:48.0424
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JGAdx5Ovu/mbIf3L8TGzi2rWyXv+haVZdTpGuBw4LyA8Z3fyMKTzFJsu+Xz9jG66KkvdkKZRyQQ8XjMEU7mhtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8891

(re-adding xen-devel@)

On 22.08.2023 17:09, Nicola Vetrini wrote:
> 
>>>> +         - Switch with a controlling value incompatible with labeled
>>>> +           statements
>>>
>>> What does this mean?
>>
>> I am not certain about this one actually. It could be when we have:
>>
>> switch (var) {
>>   case 1:
>>       something();
>>       break;
>>   case 2:
>>       something();
>>       break;
>> }
>>
>> and var could be 3 in theory?
>>
>> Nicola, please confirm.
>>
>>
> 
> This one is about case labels that are statically determined not to be 
> reachable (and hence
> saying that the code under that label is unreachable is not inaccurate) 
> because the
> controlling expression of the switch statement can never have such 
> value. An example below:
> 
> $ cat p.c
> int f(void) {
>    char c;
>    switch (c) {
>      case 260:
>        return 260;
>      case 4:
>        return 4;
>    }
> }
> 
> $ eclair_env -enable=MC3.R2.1,B.REPORT.TXT -- gcc -c p.c
> violation for rule MC3.R2.1: (required) A project shall not contain 
> unreachable code. (untagged)
> p.c:3.3-3.8: Loc #1 [culprit: `switch' statement has a controlling value 
> incompatible with labeled statement]
>    switch (c) {
>    <~~~~>
> p.c:5.14-5.16: Loc #2 [evidence: integer literal is unreachable]
>        return 260;
>               <~>
> 
> This is also true for things like
> 
> switch(sizeof(int)) {
>    case 2:
>      ...
>    case 4:
>      ...
> }

Ah yes, we certainly have quite a few of those. Not sure how to best
describe such for the doc, but what was suggested (still visible at
the top) doesn't get this across, I'm afraid,

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 16:11:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 16:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588614.920161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYTyt-000689-Sq; Tue, 22 Aug 2023 16:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588614.920161; Tue, 22 Aug 2023 16:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYTyt-000682-QJ; Tue, 22 Aug 2023 16:11:47 +0000
Received: by outflank-mailman (input) for mailman id 588614;
 Tue, 22 Aug 2023 16: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=/ibS=EH=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qYTyt-00067w-1r
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 16:11:47 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 964b5386-4106-11ee-9b0c-b553b5be7939;
 Tue, 22 Aug 2023 18:11:45 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bc3d94d40fso36450405ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 09:11:45 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 q6-20020a170902a3c600b001bbd8cf6b57sm9410571plb.230.2023.08.22.09.11.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 09:11:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 964b5386-4106-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692720703; x=1693325503;
        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=gyHTv8g9eIWz9KF5f4m6MN4EcZmXIrcB+421PcK/03Q=;
        b=lqprgTEzEW00dqyjOHsnEF+ZyI95AuLFD7zXhVQ8wrRdoAO9QmAEheOrfZ2lf+/8X4
         qAu5A6ppA9TSjV/AZ9Ybtxi2VKSi2al4635Q33UMtNcBX+W8m47ucHwOOuMuDbVY8oCy
         H99UdR47Iom+fzwqE4LyEEtS7zjLVkOaQPXWagoa7PpiElpoSNB4UK/MMoEiVW9eE0Bd
         On74ufR5yNHcl1YVAXq3te6BKFcEIEsz57LnJ8mVlNBtaV54OZnk24UMO/cMmqR+MO4p
         lgecna8pVYhrJmapqTAjoBf8IN6pCT20N1hXEV08K1ttNpjuJYIl9OOK1CztzN/Exvaf
         4p5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692720703; x=1693325503;
        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=gyHTv8g9eIWz9KF5f4m6MN4EcZmXIrcB+421PcK/03Q=;
        b=B/RC+BQuL/ChtWxSxzME3W8PaaiOwweUOeRKDtKPiFSlqiFMxkQYf0hQCa+lBTzzYZ
         Xzia8btX7atJR98SSXSz/zPLRdivvZPharo6jPOXcmkCDMIj5TaA5fIYh4MEkTyq/eRV
         Qby/NKGtpz9kcn3Nlkjpe2Xc9yH86bLZjS1nGo0c5PTgvYBB9UgMiNOBOSQqOKEzNUFJ
         IykfpE7tlYd09aBvuvko58aU2ODzYxJ5X9Bf3HoI8bUh0gpsdeYRgAWP7WT0NMH+Ctet
         xrqML82sHxar0Ypl/t8MZrMVrPfNaHGFfjvkqXXZcgd72icWBon1o/Zmye2i7R4qgm0V
         1x9w==
X-Gm-Message-State: AOJu0YxPNZc7BK/tDwYWaR1JL5NEa/vn+BYypuTyvJFndOZPnSrUrxDF
	NQWw8wYDhKUJGvskS287NplZZetyPsJVTg==
X-Google-Smtp-Source: AGHT+IFFG+j8BTBOP2dtFi7MJPx0Uve5wC4SDdMtWJ2M3L1ydc/9JAI9lklTZ4EAWiisjIPD+cuKIw==
X-Received: by 2002:a17:902:e802:b0:1bd:b073:a55e with SMTP id u2-20020a170902e80200b001bdb073a55emr11522813plg.5.1692720703613;
        Tue, 22 Aug 2023 09:11:43 -0700 (PDT)
Message-ID: <4548ce1a-8dbe-46a9-e963-00da447396d7@gmail.com>
Date: Wed, 23 Aug 2023 01:11:38 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 1/5] x86: Fix calculation of %dr6/7 reserved bits
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
References: <5fa229fc-9514-abc6-5e72-2447a2c637d0@gmail.com>
 <eb2a3feb-b226-0d90-51e8-c541b5e2dfd8@gmail.com>
 <dcd6a5db-239a-9ade-0236-be91744e3b98@gmail.com>
 <a99eb8b6-2e3b-d216-f85b-272161e79185@suse.com>
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
In-Reply-To: <a99eb8b6-2e3b-d216-f85b-272161e79185@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/22/23 23:54, Jan Beulich wrote:
> But that's not the only change that was requested back then. There was
> one aspect Andrew didn't like, so leaving that part as is would be
> fine. But for the items he didn't further respond to, I'd expect a
> re-submission to take care of them.

Somehow I assumed that Andrew's branch had already contained the relevant
updates, which was clearly wrong and was a sloppy thinking on my part.
Also, rushing to submission didn't _really_ help.

Again, apologies for wasting your time.

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 16:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 16:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588621.920171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYUGr-0000Gi-C6; Tue, 22 Aug 2023 16:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588621.920171; Tue, 22 Aug 2023 16: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 1qYUGr-0000Gb-9I; Tue, 22 Aug 2023 16:30:21 +0000
Received: by outflank-mailman (input) for mailman id 588621;
 Tue, 22 Aug 2023 16:30:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYUGq-0000GR-32; Tue, 22 Aug 2023 16:30:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYUGp-0000Fr-Sv; Tue, 22 Aug 2023 16:30: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 1qYUGp-0006il-8t; Tue, 22 Aug 2023 16:30:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYUGp-0005QL-8T; Tue, 22 Aug 2023 16:30:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0cl70js4RZLD4pOgqwhqxOg68wI/TXu5ouEnAozAeZg=; b=qGqpR9KMkU3cEmGr9CLOCwU1Oy
	DxaPaJiZ3Dis9kHQ88cliZb1KSfhU1TMgalNFi1hemTCpLjPFAazfMi3oB1TcAJr7Y63/eOXxChUV
	6fyX/cuNXRvRH3zeQ09xGWOYETkraBpuv3rQ43nEDrIkDd2GQyP5JJm0SrDEJgf+fBxE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182421-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182421: 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=a73560896ce3c513460f26bd1c205060d6ec4f8a
X-Osstest-Versions-That:
    xen=a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 16:30:19 +0000

flight 182421 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182421/

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                  a73560896ce3c513460f26bd1c205060d6ec4f8a
baseline version:
 xen                  a7d04b0e7935620e9f8b9e693d818bf043a5ecd6

Last test of basis   182417  2023-08-22 07:02:02 Z    0 days
Testing same since   182421  2023-08-22 14:04:00 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
   a7d04b0e79..a73560896c  a73560896ce3c513460f26bd1c205060d6ec4f8a -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 16:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 16:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588630.920180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYUPm-00011D-7t; Tue, 22 Aug 2023 16:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588630.920180; Tue, 22 Aug 2023 16:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYUPm-000116-52; Tue, 22 Aug 2023 16:39:34 +0000
Received: by outflank-mailman (input) for mailman id 588630;
 Tue, 22 Aug 2023 16:39:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=THXG=EH=rabbit.lu=slack@srs-se1.protection.inumbo.net>)
 id 1qYUPl-000110-4D
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 16:39:33 +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 77e9b007-410a-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 18:39:31 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-3fef56f7223so15254125e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 09:39:31 -0700 (PDT)
Received: from [192.168.2.1] (82-64-138-184.subs.proxad.net. [82.64.138.184])
 by smtp.googlemail.com with ESMTPSA id
 b19-20020a05600c06d300b003fe24df4182sm862813wmn.1.2023.08.22.09.39.30
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 09:39:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77e9b007-410a-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=rabbit-lu.20221208.gappssmtp.com; s=20221208; t=1692722371; x=1693327171;
        h=content-transfer-encoding:subject:from:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/eLWOQSsrvP+WahVtJLlPd0HyX+o2lHO9vBjYk2y7kQ=;
        b=CaVbX7m5jTSsK9CA4YoZ6zQfCVlVm56WfrcYVXomyZgo/L0mSdTYXa8bW6QWeu7KqK
         LXq5cVwwZXtyBWKF5kuubA0bwKA8c/SM8LcfUX7sVin1CTg5S+8tI8NlhUu/jfNz6jRM
         CdUDy2EKz1FwO8o88tHT8ZSj8d1O1XrY1wYJBh1sXWRDxRPhr3acMRchR0UkkeLRoDjS
         N/cU2+GxtCiGQ5MUcxzM9QGOoeyT1b3ygbszkMB4LHcCG//1iqMP7z+Z3WJqYZwbThZx
         mjh4yJISSFdtSN3PtXsuQvsb9ac+yYiSVSbKzws5SQ6ACdbN+BGPwqzE+uFcSDtcyOyP
         Bgtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692722371; x=1693327171;
        h=content-transfer-encoding:subject:from:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/eLWOQSsrvP+WahVtJLlPd0HyX+o2lHO9vBjYk2y7kQ=;
        b=iUieqvsk3eXNjqeKdak8lljOL7IfnTZWtVI13An12QnBkV4qVJIHOA+qYEwP473VY3
         Eu7yiGHW39gfTjp3NRaH181rCGiX0CIHDm3FI+6YPI+jk/IcE2Hqlnigt4GayISJ2Myd
         5PmmOcL4H1LL8XXosD4TkXxHxI4hL/HitZ5UjNKQs+B6zmwORM6vmr0r5RbVPLL/1rM8
         XgFTiD0u+kFmY1HwEmLsojPGq4P6+xiUlLIht6a3IX2TRLf3D/fQTQhffxt6BgKHlyo/
         z69q2ihctQZ5dtJ8RcY6n3LNn6/s5+Cd1UQfeWa+SDI06zzIMzShVCKGz9w5DAgD8Cgi
         HnfQ==
X-Gm-Message-State: AOJu0YxdoDOrAVUY408Fvm2JaHt2PLamDAyClkdYIoAvU6fHsLaBbSE9
	0EW6/EcpbFX+k4ULO5SlnPeDcGcTA4p1vcAWnevcug==
X-Google-Smtp-Source: AGHT+IFPYwidEJt5spFUnLWIFziv5NXZRefT0pLZH3PCgW+bi8ZRaJh+1TFsyZLgBuBF3tlgca9cNA==
X-Received: by 2002:a7b:c7c3:0:b0:3f9:b748:ff37 with SMTP id z3-20020a7bc7c3000000b003f9b748ff37mr7983545wmk.20.1692722370681;
        Tue, 22 Aug 2023 09:39:30 -0700 (PDT)
Message-ID: <ad821a92-04d7-b744-c491-9c8fd71ff349@rabbit.lu>
Date: Tue, 22 Aug 2023 18:39:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: xen-devel@lists.xenproject.org
From: zithro <slack@rabbit.lu>
Subject: [RFC] network hotplug scripts - set qlen 1000 by default
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello all,

would it be useful and/or right to add ...
   ip link set dev ${dev} qlen 1000
... to one of the hotplug scripts ?

For now, all vifs are created with "qlen 32", but (most?) domUs use 1000 
by default.

I can propose the patch.

I tested locally by putting :
   ip link set dev ${dev} qlen 1000
in "xen-network-common.sh" on line 140 (right after "ip link set dev 
${dev} up").

What do you think ?

Thanks,

-- 
++
zithro / Cyril


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 18:01:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 18:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588639.920191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYVh4-0002Ir-2Q; Tue, 22 Aug 2023 18:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588639.920191; Tue, 22 Aug 2023 18:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYVh3-0002Ik-Vj; Tue, 22 Aug 2023 18:01:29 +0000
Received: by outflank-mailman (input) for mailman id 588639;
 Tue, 22 Aug 2023 18: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 1qYVh2-0002Ie-8l
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 18:01: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 1qYVgl-0002ag-UV; Tue, 22 Aug 2023 18:01:11 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYVgl-0008Sm-Pz; Tue, 22 Aug 2023 18:01:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=2nZN30c0T8+kEB6r3uJXpTg0wzd12OJ4cIiiJX07xSM=; b=w2/d/ES8thZJcaYYXwtVv1j8qO
	FJcGO4bzqfFQ94xYWZhIezkwdvrNNp8zQGNzqnqpMQ9ZmlCSyK76TGwVstidBdSlojF+tb34YmYXx
	DnAy/GATuoZLbS+KZ8tdh72dzIYo1gOKSKqOb1v92yWmfB1qI5xY3C18yWGqXBGosT7U=;
Message-ID: <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
Date: Tue, 22 Aug 2023 19:01:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230814042536.878720-12-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 14/08/2023 05:25, Henry Wang wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> Current P2M implementation is designed for MMU system only.
> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
> Also expose previously static functions p2m_vmid_allocator_init(),
> p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()

Looking at the code, it seemsm that you need to keep expose 
__p2m_set_entry() because of p2m_relinquish_mapping(). However, it is 
not clear how this code is supposed to work for the MPU. So should we 
instead from p2m_relinquish_mapping() to mmu/p2m.c?

Other functions which doesn't seem to make sense in p2m.c are:
   * p2m_clear_root_pages(): AFAIU there is no concept of root in the 
MPU. This also means that we possibly want to move out anything specific 
to the MMU from 'struct p2m'. This could be done separately.
   * p2m_flush_vm(): This is built with MMU in mind as we can use the 
page-table to track access pages. You don't have that fine granularity 
in the MPU.

> for futher MPU usage.

typo: futher/further/

> 
> With the code movement, global variable max_vmid is used in multiple
> files instead of a single file (and will be used in MPU P2M
> implementation), declare it in the header and remove the "static" of
> this variable.
> 
> Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
> work does not need p2m_tlb_flush_sync().

And there are no specific barrier required? Overall, I am not sure I 
like the #ifdef rather than providing a stub helper.

If the other like the idea of the #ifdef. I think a comment on top would 
be necessary to explain why there is nothing to do in the context of the 
MPU.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 18:11:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 18:11:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588646.920201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYVqn-0003np-Vd; Tue, 22 Aug 2023 18:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588646.920201; Tue, 22 Aug 2023 18: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 1qYVqn-0003ni-Sm; Tue, 22 Aug 2023 18:11:33 +0000
Received: by outflank-mailman (input) for mailman id 588646;
 Tue, 22 Aug 2023 18:11:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYVql-0003nc-Og
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 18:11:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYVql-0002uV-Ea; Tue, 22 Aug 2023 18:11:31 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYVql-0000bN-9Y; Tue, 22 Aug 2023 18:11:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=3wUSgsV7i3tFMHletwRMdkCO43PEeh+5KzdeLQWpuZA=; b=vuT6yaPKoJuo2znZCQuE3YBC1r
	6duB68YZhbWUMWDXIzAbNzO7WzFjcETDOrVpa0lrkSzZz+HDEIPb7gYABe3rBd8yEIhGwRlMx+7Op
	5Rd8hGDlVpbzpDowYwXRpUolY9MJGf7xDJJrHkBdCppAAi4Pa3vyIurgeiDx2A+baQbQ=;
Message-ID: <e1b45a1f-321d-4107-9f8b-97a0da596d63@xen.org>
Date: Tue, 22 Aug 2023 19:11:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 02/19] common/device_tree.c:
 unflatten_device_tree() propagate errors
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-3-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-3-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> This will be useful in dynamic node programming when new dt nodes are unflattend
> during runtime. Invalid device tree node related errors should be propagated
> back to the caller.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v7:
>      Free allocated memory in case of errors when calling unflatten_dt_node.
> ---
> ---
>   xen/common/device_tree.c | 17 +++++++++++++++--
>   1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index c91d54c493..cd9a6a5c93 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -2108,6 +2108,9 @@ static int __init __unflatten_device_tree(const void *fdt,
>       /* First pass, scan for size */
>       start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
>       size = unflatten_dt_node(fdt, 0, &start, NULL, NULL, 0);
> +    if ( !size )
> +        return -EINVAL;
> +
>       size = (size | 3) + 1;
>   
>       dt_dprintk("  size is %#lx allocating...\n", size);
> @@ -2125,11 +2128,21 @@ static int __init __unflatten_device_tree(const void *fdt,
>       start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
>       unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
>       if ( be32_to_cpup((__be32 *)start) != FDT_END )
> -        printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n",
> +    {
> +        printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
>                     *((u32 *)start));
> +        xfree((__be64 *)mem);

I know that 'mem' is an 'unsigned long' so you need to cast it to a 
pointer. But '__be64 *' seems a rather odd choice. Why not using 'void *'?

Better would be to convert 'mem' to a 'void *' as we allow pointer 
arithmetic in Xen. But that can be dealt separately.

> +        return -EINVAL;
> +    }
> +
>       if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeefU )
> -        printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n",
> +    {
> +        printk(XENLOG_ERR "End of tree marker overwritten: %08x\n",
>                     be32_to_cpu(((__be32 *)mem)[size / 4]));
> +        xfree((__be64 *)mem);

Same remark here.

> +        return -EINVAL;
> +    }
> +
>       *allnextp = NULL;
>   
>       dt_dprintk(" <- unflatten_device_tree()\n");

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 18:39:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 18:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588654.920211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWHl-0006gE-53; Tue, 22 Aug 2023 18:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588654.920211; Tue, 22 Aug 2023 18:39:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWHl-0006g7-12; Tue, 22 Aug 2023 18:39:25 +0000
Received: by outflank-mailman (input) for mailman id 588654;
 Tue, 22 Aug 2023 18:39: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 1qYWHk-0006fx-4N; Tue, 22 Aug 2023 18:39: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 1qYWHj-0003NY-Pv; Tue, 22 Aug 2023 18:39: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 1qYWHj-0005Ig-Ex; Tue, 22 Aug 2023 18:39:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYWHj-0001sC-ER; Tue, 22 Aug 2023 18:39:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uKj2Lyds0Q7dwQYMkpqQLzWoN1Dwu7NmTyV01lonCrY=; b=qml53OcDDkBXjYP4bmEdq4+Raw
	H+e+XFt991COpShfKQG+BSB7PtO1fnWXtCOzwAc3Urg8sNqeDSYs7bkQz4RmNco2Tyjlx246uhism
	saxfOwIMs/aX7nha7KfJxw8YNxFEA7wget7dIw8fRI1NmWULtsVuc1WXSJpmZP6zUcZc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182419-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182419: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
X-Osstest-Versions-That:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 22 Aug 2023 18:39:23 +0000

flight 182419 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182419/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 182413 pass in 182419
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 182413 pass in 182419
 test-amd64-i386-examine-bios  6 xen-install                fail pass in 182413
 test-amd64-i386-migrupgrade  11 xen-install/dst_host       fail pass in 182413

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182413
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182413
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182413
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182413
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182413
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182413
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182413
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182413
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182413
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182413
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182413
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182413
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
baseline version:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e

Last test of basis   182419  2023-08-22 08:52:42 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 18:59:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 18:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588663.920221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWay-0000ml-PE; Tue, 22 Aug 2023 18:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588663.920221; Tue, 22 Aug 2023 18: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 1qYWay-0000me-Mg; Tue, 22 Aug 2023 18:59:16 +0000
Received: by outflank-mailman (input) for mailman id 588663;
 Tue, 22 Aug 2023 18:59: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 1qYWax-0000mY-W3
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 18:59: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 1qYWax-0003uG-EW; Tue, 22 Aug 2023 18:59:15 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWax-0002KS-9H; Tue, 22 Aug 2023 18:59:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=zdH57o07CaOqHZk1+ry8ha+NYkUxYsEBmwsrr7TqcKs=; b=gc2SSA0+VPYoDavaK/6Tj596/e
	o88b+a7wUD+W9aNVGFmp49cNw6LyzrIe4/I5k2N+x2u6QxXDu/fJQz8Oekl9fc61flR4i2pR+c0fa
	RDPW2lhWM2ZOl1VwjqAvbfM2nFCZWcY/rcOMYMImZJGl4Biv/Y0a2+uvCz+EV1Pe567A=;
Message-ID: <734587ea-4066-4f60-8903-7f43a10bb1b6@xen.org>
Date: Tue, 22 Aug 2023 19:59:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 03/19] xen/arm/device: Remove __init from function
 type
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-4-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-4-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Remove __init from following function to access during runtime:
>      1. map_irq_to_domain()
>      2. handle_device_interrupts()
>      3. map_range_to_domain()
>      4. unflatten_dt_node()

We are at v9 now, so this is more a remark for the future. In general we 
are trying to avoid modifying the same code multiple time within the 
series because this makes it more difficult to review. In this case, you 
could have removed the __init in patch #4 where you also export it.

> 
> Move map_irq_to_domain() prototype from domain_build.h to setup.h.
> 
> To avoid breaking the build, following changes are also done:

I am guessing by "breaking the build", you mean that you will get an 
error because an non-init function is implemented in domain_build.c. 
Right? If so, I think this should be spelled out.

> 1. Move map_irq_to_domain(), handle_device_interrupts() and map_range_to_domain()
>      to device.c. After removing __init type,  these functions are not specific
>      to domain building, so moving them out of domain_build.c to device.c.
> 2. Remove static type from handle_device_interrupt().

Typo: s/interrupt/interrupts/ to match the function name. But I don't 
link the name when it is exported as it leads to think this is dealing 
with real interrupt.

Looking at the overlay code, the caller (i.e. add_resources()) is very 
similar to handle_device(). AFAICT the only differences are:
    1/ add_resources() doesn't deal with mapping (you said it will in 
the future)
    2/ You need to update some rangeset

For 1/ it means this is a superset. For 2/, I think this could be 
abstracted by adding a pointer to the rangesets in map_range_data. They 
could be NULL for the domain build case.

So can you look at abstracting? This will make easier to maintain a 
single place to parse a device node and map it.

A possible name for the function would be dt_map_resources_to_domain().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:05:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588669.920231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWgs-0002KV-Ea; Tue, 22 Aug 2023 19:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588669.920231; Tue, 22 Aug 2023 19: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 1qYWgs-0002KO-AY; Tue, 22 Aug 2023 19:05:22 +0000
Received: by outflank-mailman (input) for mailman id 588669;
 Tue, 22 Aug 2023 19:05:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYWgq-0002KI-RO
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:05:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWgq-00043L-Er; Tue, 22 Aug 2023 19:05:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWgq-0002mm-7v; Tue, 22 Aug 2023 19:05:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=58vE52QJ2EmlGKKcYp+KPAndaIMScQeRiP+D+lLE4Ag=; b=6ePgxSxZTKr0rjxfIffdtJHMaP
	LDFH0yJeVArQNmtSj+Gi12pijA3YW9bTW2eqytAleb/EfAjSGaGrw7bLioQULQguudCrHrBkIOvDb
	/zGnBqvla80pZxfjhmCrCfyPwtUJ7YTUbTAIskAacBT6fsngCEi2tuIVrJvgIDPD2byk=;
Message-ID: <90fcd05a-3b89-401d-8321-7f792b3fa52c@xen.org>
Date: Tue, 22 Aug 2023 20:05:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 04/19] common/device_tree: Export
 __unflatten_device_tree()
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-5-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-5-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Following changes are done to __unflatten_device_tree():
>      1. __unflatten_device_tree() is renamed to unflatten_device_tree().
>      2. Remove __init and static function type.
> 
> The changes are done to make this function useable for dynamic node programming
> where new device tree overlay nodes are added to fdt and further unflattend to
> update xen device tree during runtime.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

It is not clear to me whether you saw my reply about using ERR_PTR() as 
I can't find an answer.

Anyway, I am not against this interface:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:07:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588675.920241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWiS-0002ro-PH; Tue, 22 Aug 2023 19:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588675.920241; Tue, 22 Aug 2023 19: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 1qYWiS-0002rh-LG; Tue, 22 Aug 2023 19:07:00 +0000
Received: by outflank-mailman (input) for mailman id 588675;
 Tue, 22 Aug 2023 19:06:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYWiQ-0002rZ-WD
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:06:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWiQ-00044d-RN; Tue, 22 Aug 2023 19:06:58 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWiQ-0002mm-ME; Tue, 22 Aug 2023 19:06:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=yaFW+7PoDIYTu6VLmzp6R7ykz53NCbyzrjMTuxeg2OY=; b=x4QKj6sFJpi+WT2lUrTFiFdoG3
	e45Kr8ZuhpZczamZTPr//62C8m9Teyg1CSwSrjSp3MnxXjrm2tSYG8MA7q5S7M4nToZFWEZU4FT3a
	LVvpn3OJL3LX2i36eIH1H1x5AysfLr8kv1SXfdkmq2KMleT8/YdKksAhpZIIi4kGP7Jo=;
Message-ID: <5453df68-b2a6-4801-8d09-cafbd1d805fe@xen.org>
Date: Tue, 22 Aug 2023 20:06:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 01/19] common/device_tree: handle memory
 allocation failure in __unflatten_device_tree()
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-2-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-2-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Change __unflatten_device_tree() return type to integer so it can propagate
> memory allocation failure. Add panic() in dt_unflatten_host_device_tree() for
> memory allocation failure during boot.
> 
> Fixes: fb97eb614acf ("xen/arm: Create a hierarchical device tree")
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> ---
>   xen/common/device_tree.c | 14 +++++++++++---
>   1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index 0522fdf976..c91d54c493 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -2092,8 +2092,8 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
>    * @fdt: The fdt to expand
>    * @mynodes: The device_node tree created by the call
>    */

While looking at patch #4, I noticed that the comment wasn't updated to 
mention the meaning of the return value. Can this be done?

If you propose a new comment on the ML, I can update it while committing 
patch. IOW no need to resend a new version for this patch.

> -static void __init __unflatten_device_tree(const void *fdt,
> -                                           struct dt_device_node **mynodes)
> +static int __init __unflatten_device_tree(const void *fdt,
> +                                          struct dt_device_node **mynodes)
>   {
>       unsigned long start, mem, size;
>       struct dt_device_node **allnextp = mynodes;
> @@ -2114,6 +2114,8 @@ static void __init __unflatten_device_tree(const void *fdt,
>   
>       /* Allocate memory for the expanded device tree */
>       mem = (unsigned long)_xmalloc (size + 4, __alignof__(struct dt_device_node));
> +    if ( !mem )
> +        return -ENOMEM;
>   
>       ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeefU);
>   
> @@ -2131,6 +2133,8 @@ static void __init __unflatten_device_tree(const void *fdt,
>       *allnextp = NULL;
>   
>       dt_dprintk(" <- unflatten_device_tree()\n");
> +
> +    return 0;
>   }
>   
>   static void dt_alias_add(struct dt_alias_prop *ap,
> @@ -2215,7 +2219,11 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
>   
>   void __init dt_unflatten_host_device_tree(void)
>   {
> -    __unflatten_device_tree(device_tree_flattened, &dt_host);
> +    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
> +
> +    if ( error )
> +        panic("__unflatten_device_tree failed with error %d\n", error);
> +
>       dt_alias_scan();
>   }
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:10:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:10:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588682.920251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWlX-0004UD-A6; Tue, 22 Aug 2023 19:10:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588682.920251; Tue, 22 Aug 2023 19:10:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWlX-0004U6-75; Tue, 22 Aug 2023 19:10:11 +0000
Received: by outflank-mailman (input) for mailman id 588682;
 Tue, 22 Aug 2023 19:10:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYWlV-0004U0-R7
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:10:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWlT-00049M-GE; Tue, 22 Aug 2023 19:10:07 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWlT-000333-AU; Tue, 22 Aug 2023 19:10:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FPOe5mcQ0YlWrGpVUZp7DR+CBYOvNUr5HZkuKLLmcYI=; b=P8psgXvHZg0nl58NXLYtDGcSHO
	SKmnlqyBWFdukkS4A8XZdJHiWxUK3cIHs7cDSwDTZJJyFPFHSP9UyqE0WM3ZR9LLeL35S/misN+F8
	cmmZ1peLkWTG69dNM7ltXsvXpXeKIgjYJV8PXfuQxCRIJvztgspLr6Nx3oudBxU9yFOs=;
Message-ID: <5c38c1da-8d7f-45cf-98b7-c80a55557b36@xen.org>
Date: Tue, 22 Aug 2023 20:10:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 05/19] xen/arm: Add CONFIG_OVERLAY_DTB
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-6-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-6-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Introduce a config option where the user can enable support for adding/removing
> device tree nodes using a device tree binary overlay.
> 
> Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
> Arm.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Acked-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ---
> Changes from v7:
>      Add this feature as "experimental support" in CHANGELOG.md
> ---
> ---
>   CHANGELOG.md         | 3 ++-
>   SUPPORT.md           | 6 ++++++
>   xen/arch/arm/Kconfig | 5 +++++
>   3 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 7d7e0590f8..47098dbfca 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>    - xl/libxl can customize SMBIOS strings for HVM guests.
>    - Add support for AVX512-FP16 on x86.
>    - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
> -
> + - On Arm, experimental support for dynamic addition/removal of Xen device tree
> +   nodes using a device tree overlay binary(.dtbo).

Typo: missing space before (.

>   
>   ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
>   
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 35a6249e03..8eb006565c 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
>   
>       Status: Supported
>   
> +### Device Tree Overlays
> +
> +Add/Remove device tree nodes using a device tree overlay binary(.dtbo).

Same here. I don't suggest to handle it on commit because this is not 
something I want to merge without the rest of the series.

> +
> +    Status, ARM: Experimental
> +
>   ### ARM: Guest ACPI support
>   
>       Status: Supported
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index fd57a82dd2..02c4796438 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -92,6 +92,11 @@ config HAS_ITS
>           bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
>           depends on GICV3 && !NEW_VGIC && !ARM_32
>   
> +config OVERLAY_DTB
> +	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
> +	help
> +	  Dynamic addition/removal of Xen device tree nodes using a dtbo.

Do we have any documentation in the tree of the limitations and how this 
works?

The reason I am asking is the wording here suggests that it would be 
possible to remove nodes from the original Device-Tree. AFAIU this is 
not possible with the implementation and you are not planning to handle 
it. Correct?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:21:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588691.920261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYWwK-0006D1-9j; Tue, 22 Aug 2023 19:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588691.920261; Tue, 22 Aug 2023 19:21: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 1qYWwK-0006Cu-6i; Tue, 22 Aug 2023 19:21:20 +0000
Received: by outflank-mailman (input) for mailman id 588691;
 Tue, 22 Aug 2023 19:21: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 1qYWwJ-0006Co-QM
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:21: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 1qYWwJ-0004W0-D4; Tue, 22 Aug 2023 19:21:19 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYWwJ-0003VD-7r; Tue, 22 Aug 2023 19:21:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7dlJyCUWxd/FO4FA7hNRogTRseOCS5sG9YhbqorsCpM=; b=J0wE6VBGsNYmolFF7zXyWRgXTV
	xVT/OQyIVacmzpdTY6dKmYD3bMjtrcZW16GB+VxKHukXeQuMYjX+9fATheIaVghw1csS/KXrIRCkX
	t/Mi7QI1R2E2gSohDMZgdnOb3vp+269R9KWElDM/g0cpcVz3yYKQcPNt++AFpcTccsSc=;
Message-ID: <b18ef35f-a4df-4121-9b3c-aa96a8002d87@xen.org>
Date: Tue, 22 Aug 2023 20:21:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 08/19] xen/device-tree: Add
 device_tree_find_node_by_path() to find nodes in device tree
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-9-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-9-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Add device_tree_find_node_by_path() to find a matching node with path for a
> dt_device_node.
> 
> Reason behind this function:
>      Each time overlay nodes are added using .dtbo, a new fdt(memcpy of

Typo: missing space before (.

>      device_tree_flattened) is created and updated with overlay nodes. This
>      updated fdt is further unflattened to a dt_host_new. Next, we need to find
>      the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
>      and add the nodes as child under their parent in the dt_host. Thus we need
>      this function to search for node in different unflattened device trees.
> 
> Also, make dt_find_node_by_path() static inline.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

> ---
> Changes from v7:
>      Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
>      Fix indentation.
> ---
> ---
>   xen/common/device_tree.c      |  5 +++--
>   xen/include/xen/device_tree.h | 18 ++++++++++++++++--
>   2 files changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index 67e9b6de3e..0f10037745 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
>       return np;
>   }
>   
> -struct dt_device_node *dt_find_node_by_path(const char *path)
> +struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
> +                                                 const char *path)

Any change this both 'from' and the return can be const?

>   {
>       struct dt_device_node *np;
>   
> -    dt_for_each_device_node(dt_host, np)
> +    dt_for_each_device_node(from, np)
>           if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
>               break;
>   
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index 5941599eff..e507658b23 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -568,13 +568,27 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
>   struct dt_device_node *dt_find_node_by_alias(const char *alias);
>   
>   /**
> - * dt_find_node_by_path - Find a node matching a full DT path
> + * dt_find_node_by_path_from - Generic function to find a node matching the
> + * full DT path for any given unflatten device tree
> + * @from: The device tree node to start searching from
>    * @path: The full path to match
>    *
>    * Returns a node pointer.
>    */
> -struct dt_device_node *dt_find_node_by_path(const char *path);
> +struct dt_device_node *
> +                    dt_find_node_by_path_from(struct dt_device_node *from,
> +                                                  const char *path);

Coding style: The indentation look rather odd. I am not sure it will 
render properly here. But one style that is closer to the rest of the 
file and Xen is:

struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node 
*from,
                                                  const char *path);

Where the return type, function name and first parameter is one line and 
the second parameter is on the second line with the type aligned with 
the type of the first parameter.

>   
> +/**
> + * dt_find_node_by_path - Find a node matching a full DT path in dt_host
> + * @path: The full path to match
> + *
> + * Returns a node pointer.
> + */
> +static inline struct dt_device_node *dt_find_node_by_path(const char *path)
> +{
> +    return dt_find_node_by_path_from(dt_host, path);
> +}
>   
>   /**
>    * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:26:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588698.920270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYX13-0006p0-ST; Tue, 22 Aug 2023 19:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588698.920270; Tue, 22 Aug 2023 19:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYX13-0006ot-Pk; Tue, 22 Aug 2023 19:26:13 +0000
Received: by outflank-mailman (input) for mailman id 588698;
 Tue, 22 Aug 2023 19:26:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u85s=EH=citrix.com=prvs=59133c41f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYX12-0006on-W3
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:26:13 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be43eaf2-4121-11ee-8782-cb3800f73035;
 Tue, 22 Aug 2023 21:26:09 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Aug 2023 15:26:02 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6032.namprd03.prod.outlook.com (2603:10b6:5:393::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug
 2023 19:26:00 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023
 19:26:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be43eaf2-4121-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692732369;
  h=message-id:date:to:cc:from:subject:
   content-transfer-encoding:mime-version;
  bh=9RyAhmxVAgXw8vKE3ZMff8xIGMb/io3NgEjlvIQwtNQ=;
  b=GdpfTIpynR56VyFc31OekAs8p6P8OSqxOf2Q39jxivxZoFsxlxE7D6B5
   7S7NZJujoM6DTO0tP2ASyNmp9FexB+uGNMx72DvCkCSq35K8yG2oCAiH2
   k7DfpaV72cyXAJnvDa0m/358jznKhJw0Ug1TyK1KRh6qCxxvd7GHwIj0R
   k=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 119568923
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7l8ibqs7iRayA67CEo+YLHSv4efnVE9fMUV32f8akzHdYApBsoF/q
 tZmKWiFP/3eMTSnKN9yaY2y90hXv5bSyN5nSVRrryphEihD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+EzSFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwFB0HZQ2dqbuPm52aUbVLpNguAuy2I9ZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOThp6M00AzJnQT/DjVLfHqdn6TkrnesVuJEL
 VU523IRoqQboRnDot7VGkfQTGS/lg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQC1
 FWEgtfoDjxHq6CORDSW8bL8kN+pES0cLGtHbylUSwIAuoDnuNtq0EOJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:Mg44K65ux3i9f+MTcQPXwCDXdLJyesId70hD6qkRc20mTiX8ra
 uTdZsgpG/JYCp4YhwdcK+7SdO9qB/nhOBICPAqU4tKPzOWx1dATrsM0WKK+VSJcREWntQw6U
 4KSdkMNDSfNykKsS6XizPIb+rIuOPnzEjG7d2uskuEgGlRGtpdB+QQMHf4LqWVLDM2fabQ8f
 Knl6l6T9zJQxQqhj/SPAh9YwAmz+e7864PhnY9dnsaAPHnt0LN1FYCeyLouCsjbw==
X-Talos-CUID: 9a23:j5ON0G1mcIvJ1dPMfLO2ILxfJu0veWDD4i7peGCZEjpOaqGYZ3rN5/Yx
X-Talos-MUID: 9a23:R7MaRwUa0Zrmtijq/GLFpRdcaZpM2rajOFsLiLgn4/aLOQUlbg==
X-IronPort-AV: E=Sophos;i="6.01,194,1684814400"; 
   d="scan'208";a="119568923"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bxxas6vHotCu1SVaagZmBArnD8+IOQ8ERmiHIaDxOM1tr6zcEctX1jUhSoKtJUfenom6Hr6DxH6P9YaQpRGXqtssfTEfICipNNB8PzPCkNd2ZmfJtFcvO0c4ULoxU3/9JWnT24avKwRR7wyaEtsantYj3Obg1/HQ8Pm+9b0Wl0WZNNJcfbVkzROREBRCa3i8qvl5xnrSH+eXdXeQLi4WJHtRjsQxsqpxf/0DnDzxq9MRF3VqzCQniqC9eWYt/e7EfkWqmZGkf/IuXrX0EwKGl22a+iFw6Pt+jUOuVbg0CjOWsYMj6kNiuafT/l7xu5akcV+ZxnwGOPP/dssOOpeEFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9RyAhmxVAgXw8vKE3ZMff8xIGMb/io3NgEjlvIQwtNQ=;
 b=NqI2gPqlAfXc+z8J5fqicMJAla5zFMuptKD1PKwh2EN1VnnQuFMeLFGCgxHoTGgDRPvomFcXnmcJsx2l4KWiKobmnG4KByfqU4KznasojmZpEfhwdRdy0EiPkRO/OEPVVh1/FmYpWuf/5t8jc5p6V4wdq4Kyogv8ePmdOocv4UyIMvBrEkTtizMDeZ21DXOO/5n1TXV5BfzRGHZU/CeqNSkWrLG4VHOljUp6U9qB8ZMS5oCs0djebaSVqw5Kkm5Xg9eJI28Hz5jm2xwgXLXDfXs1n+UI7yuR4RxV/R27kcXFI9nxazUhMDEXmv/2trZ1+CBrMjCFLdlkUp08YK11xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9RyAhmxVAgXw8vKE3ZMff8xIGMb/io3NgEjlvIQwtNQ=;
 b=mlAtADTOCRpPCZzs6YeFosYlI9lPaNCIsDyFJq8dKoq0N3VGFyV9nylDaqz7OkzKIQ3ofQ27zSGHGR7zTI3B5W0l45dXpMnJl9pJs+rlf+J9c7PkzhGTaJ7WVApdFRGW+Q7z5p5rHbgdEVqhbgNkGtTjo+9CZfuDVLwTCxdOsb8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <033f7255-9f9c-5ab8-3035-6b79084f9663@citrix.com>
Date: Tue, 22 Aug 2023 20:25:54 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
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>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: 4.17 backports
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0056.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6032:EE_
X-MS-Office365-Filtering-Correlation-Id: 89acdcae-9618-4d3d-ab39-08dba3459dda
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B6xkJ1633Ap4Ijfez/evzqxrztOOnDK2uZZQkaFbp3YRo6ACBxZKkwZhgbOhL4YrDUxYE1FnL/r5lW6xLhnxs0DA5z713N1fcOubI2EZdfVBcdiS4lPYzohtemGI2gF1vv5v16WQYYH+G8atBiuRpr+4uVKLRTPxe9K5UoZL9oIaVOdgN+oZ+TBVXSLWhmV7KKr/IKGdex7HE4v34J080sRLtiniBovVMPzUBFTaxoNgI4IbIpXq4l4eiaVz366AJRUXiSJKEbm80BEpHGv91SUzFfGpK/OD2OpgRTBJPbewTeunNXkPu72USHgxWe3U9qgsKM1H7sOCAmYibKgTvRTti2QKU1qdAQV92DYrniNjHcvXLn35lBlARMc06LWAWMqDuDOc/2uuoqQf2EAFVSWAPLj630Y6t2Lvp2wB96qsNhjRJW4JCcMJpKAD7qao0pc83S4xpriWZxY7y/7bIuYq++X1F3BdXxH6P8PIZ6umZThGoDUJ1YuuB852LgFPvbVtm2fKXV5K7bAv5Qd/r62iFoRc8YyvtLKSTkJ3+6bB8ZE2rG3pFUolEYQrGNOcHEOLK+QbYxkMFhgiUlaNinek3ipHQUMo9/7leFjsLCynp6aH32M+JSHrxJTUx3EwsVuLqvFWY00w0jrkJD+uDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(39860400002)(346002)(366004)(186009)(1800799009)(451199024)(54906003)(6916009)(66946007)(66556008)(6512007)(66476007)(316002)(8936002)(8676002)(4326008)(2616005)(107886003)(82960400001)(36756003)(41300700001)(478600001)(6666004)(38100700002)(6486002)(6506007)(2906002)(4744005)(83380400001)(86362001)(31696002)(31686004)(5660300002)(26005)(7116003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmhsWitjYTRwTEZ3a243TTgvL1JmRW1uWTRCeXZkUG1weUN4ZDhYemdtWmhi?=
 =?utf-8?B?U3d5V2xzTmFCZ1piYU1MZC9nckRtNTR2N3ZoMnBPcHNaVjh1aXIzRmRXWHI3?=
 =?utf-8?B?TUkzZHBBTE1IekdJWHBLSGlNclFMZU1zTll4bGFFQms4OEF0TUlkVjF2TFJ2?=
 =?utf-8?B?akdLY2E3OXQ0SlZIdnpIZ24vUGFIR2RwN1hPSVRwMms2QmN6ZWFJR1J1ZGNG?=
 =?utf-8?B?eWdoSlAxY3pkbmYyZUNwRm1abkRPK2M1bElHTUx3QUtNdWJ4LzdaeFFpNGox?=
 =?utf-8?B?RDFNQlJIMGh1OStTeFBhdjZjOFY1M3RDWnUyNnFpQmdLa1ZldWZkNVg1RExv?=
 =?utf-8?B?ZURTbXV0eGYzU25SVVpnYm9KOWdlRjVtUGp5RnN2dDNlZnNXTHpHZ3VwQWtI?=
 =?utf-8?B?NW0rOFBTempMeml0MzBOMFBFbzN4UWYvYXpyNk9SOTdjQnNvSmxmamlOM3A1?=
 =?utf-8?B?WEF3YUlCakdXSnNaZFJ2VkxpbHhYZ3ZlU0RNT1NySVV2UFEvNTFOU24rNk1j?=
 =?utf-8?B?WmhTZy9RU1hrc3E4aXhaMHViNlg4N0w5ZlI4cU4rS3FLSnF1V1BmeHZTLytF?=
 =?utf-8?B?b0RCb2RkbHd2OXJhWTJleFhXU3k2eUk5QXBPblRDMXlvRU1tZG9Mbkh1cWtN?=
 =?utf-8?B?eGZQK28yNjVSUTVvQlNlVk4wSWRObmxFTDJKZG5Rd1JJVkp0K25weUhmYjV2?=
 =?utf-8?B?SjluVkNiZW1CL3dTUlMxcURYaDdIb2NRWFYzUnhaYlVsTVBZTGtJaGRMRDJz?=
 =?utf-8?B?NkV6NklGVUJVOWt3T3JQZHpzeGFJYm5kclYxRmEzQVE3bkZ2SXZNY004WTZ2?=
 =?utf-8?B?cDFYb2NtMDBOTU5qSnRNVmhKM0k0UGFKYlpuZUJPWGRPZ2xqc0NvWUordTRo?=
 =?utf-8?B?bGkvNmtycC9zTUdPTURPVzV1TFRucmpkU0w2TGljUmhhU29XdWFTYkdrSUJq?=
 =?utf-8?B?QXpxai9qT1NlUVUyd0lBeE5EaERRZFAzam1XWjRpeW1xTUxSZGtvalE1QkMx?=
 =?utf-8?B?K3hRSEx3aUM1VkFtY2NONUhlemFmZlV6RDdRcUFoS216Q1V4T3VVdURaSkYw?=
 =?utf-8?B?QUpIUGVqT2FiN2lMeE5GTTZWcVRmZFRHeDludDNiY21MRnFWOEhSajRCZDJV?=
 =?utf-8?B?YmVZUi82SEJkV3NablF4dHpHVnAzOXA0YnhtajFWRXBWSzhSanBOdjJUYnJ1?=
 =?utf-8?B?UHBoQVZPd0ZITmN0VmZKWGJTVnZRUXVLUFV3dExTbEtwVURSRCtnTWF6VFZq?=
 =?utf-8?B?a2VuM2d4RjMvSFFjK0RmZjR5U0doMDkyWHZlUFdRWmUwZXZaM0NwaFBPTHEr?=
 =?utf-8?B?bXZMTENwQUE4c1FEcGM2bWxvNGdPcjlURjlxMlZJcHZJNlhzQVVYYklzdnZC?=
 =?utf-8?B?WXcvWm11c25sd2NMMUxvRmQrRXkwc2Y2aEpYZUhZN2ZRUnJoYmtZNUNjY1ZU?=
 =?utf-8?B?b2tuMEQ0eWxvZGd0cW5ScXJIc28vaS8xdDhYaFlzd2hpcEVXblFLeWNZVUtJ?=
 =?utf-8?B?cEJ6ZHFyQU5JQW9wR1l6NktYaEJ1S0NNbFZ3M1NGR2k4WDQ0eTRteVBGN3Zz?=
 =?utf-8?B?eGVoTUlodVVxdzVPMnQ1eDNUOHZrbjYra2M3SDZNTFRYT05NelR3bVVEbHR1?=
 =?utf-8?B?NGIwM1BwTUg2aElIM2JJVkNEUzJqZzI1dVVsNEVjYml3eFdWd0tUaTBxL1Iz?=
 =?utf-8?B?Ui81dHJOY3V0ZkxEc2FGMUptN3dSWjlKTzFJMFA2L0FRMm9neEM5Ykp3eDNT?=
 =?utf-8?B?ckZ0RUMvQkd4UitycGtEZVloNStXVlkrTjBnVUl4V3dKZGRaSXNLMkZORG02?=
 =?utf-8?B?Q29BR1Z2T1FaSEZacUdmNnI3QWMyQTNZYzFVNVFseUhXbERpQ3VyKytCKzJQ?=
 =?utf-8?B?QTZpN04yZFhLNW9yaDBaSlYwQ0Vobys2ZmhqT2ZqMEJoUXBCbkN3OXh5Vmt6?=
 =?utf-8?B?K1FKcmZiNGtMVC9VeDNwTHYyYVBEV2d4MkF5MitsRTlMZzEyV0dNRTVvdkxO?=
 =?utf-8?B?cXAzTXRaOGhNTnl4WWR5SndZMVlLODZ0WVgxV2dnWWhUYlN4MUNGeTVRNHNB?=
 =?utf-8?B?TCs1cTJrRXp1NXBQQ1FMa0FYakFodlpROXdFMVlZalUxeG9zUnRUdS9TY3Jj?=
 =?utf-8?B?dHFLeDR4b2tJYnpNaDNBTzVLY3hneDBjdkxFUTJ4WE0ybWp2QkVtZ0hSeGt1?=
 =?utf-8?B?cmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	dVbXiOr0yZGykv1k8MbvuDSEqBmAMbjLkbSx7Dw6UEvAlNpsuX0ZzqElBZZkvG1Vq4BkFT9KaLRKYPNGhBb5p2oyFGj4Wi3DimjmlNdu2BGsOjgUY8bN7LhZNHaEmCaqWx5kYpUZpvhlDxyV/KEZpcdkEjoPLlZrKXiq6bWibjHZS3AkMnbJZI6ZrCpKMxUSXWomlN6Zo0AknL1+PPfVNNCxrlDlG883ddT2ZLq4oQfoAYOEpXmy680wtx/aT0u+wb7kqY5MJNyL6vytBwA6baZNdmPKepWRlwYZTus3WRhAyA/ACp/90T7JN+Van8SHF3ksAz9/P+WPEl1g/R2AmpTKFYSTd/IYp0ri1BdE2uaJW81dI8bfpUYIixBRU79G8/SQi2+/5hnNNMjzzO60/zQwuG4bbOsJsKyFDur77EJeoiBgLC/31d5HEDoEf71Lfn2/VWsoo5rq2cM4l+USG0/ErNlB2gsKBIgQAFYqlpIk6prF4/o+KxP72/6r9eh9TLQPb4yxyP+qwYJvV2dYHSkEVMAxZZTjUSsZPw6nBAMCE70YYShcvUNMFKMtGNP3DqYSM4t9hiaLCB5wQApXtRHGAwOcZt1+bJXcX8V2Mpl05zVVKRKN+bf94GJrQam2qIt7sDsCOutYUny1MCg1qg36/Emb7g9feYNBxTYMcn8mUGSszRRGAs75EMymTPPkDbk4A6HxklhamS5V858s426uIRMuHp3LF+6AbOcurnLRMd3/OnzKOZ4BaTEZRKqr+/Tmf/EgFHs+96gNjRYEgFcr2MVpcrfZVk1rd6IwoGE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89acdcae-9618-4d3d-ab39-08dba3459dda
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2023 19:26:00.2755
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y6PblJFaM+8pjngjYw7Bt5MR69CnEktSyjJXTWhyO/svIhWFnCnfrhYkuB5U/qkSZnmHQg+XkdLgozWKAAH6URrNYm5MXUAp+KzjNwdgINc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6032

Hello,

Looking at the patchqueue, the following should be considered for backport:

19c6cbd90965 xen/vcpu: ignore VCPU_SSHOTTMR_future
0946068e7fae x86/head: check base address alignment
eaa324bfebcf x86/trampoline: load the GDT located in the trampoline page
aab4b38b5d77 xenalyze: Handle start-of-day ->RUNNING transitions
c81b287e00b1 xenalyze: Basic TRC_HVM_EMUL handling
813da5f0e73b x86/ioapic: sanitize IO-APIC pins before enabling lapic
LVTERR/ESR
cdc48cb5a74b x86/ioapic: add a raw field to RTE struct
ef7995ed1bcd x86/ioapic: RTE modifications must use ioapic_write_entry
a478b38c01b6 iommu/vtd: rename io_apic_read_remap_rte() local variable
3e033172b025 x86/iommu: pass full IO-APIC RTE for remapping table update

Everything here is fixes for issues we've had customer bugs about.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:43:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588705.920280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYXHn-00018p-6G; Tue, 22 Aug 2023 19:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588705.920280; Tue, 22 Aug 2023 19:43: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 1qYXHn-00018i-3V; Tue, 22 Aug 2023 19:43:31 +0000
Received: by outflank-mailman (input) for mailman id 588705;
 Tue, 22 Aug 2023 19:43: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 1qYXHm-00018c-9H
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:43: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 1qYXHl-00051b-JP; Tue, 22 Aug 2023 19:43:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYXHl-0004Uh-Cz; Tue, 22 Aug 2023 19:43:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=/P5CHVsFqmLOZaued0ELCHI8ljq1iu8qA78eDjLrPjs=; b=aphdeWe6ZEj9zXBnDU06VBdaWs
	xaKG//0DpHCR3eudGyle4d7JUKuyZG8mKTrdALtclHic2Y5eivGHUaC6fSYJFfzOdamETYdR/DU1Q
	xwl4xxjDg43O1UTDyvOfKwwJrLJ7sF2/abOwxuQ302ZIITN3O1dpOJ7CB5u5BjG+o9j4=;
Message-ID: <e77c9551-a167-468f-b889-e2a0a18471c6@xen.org>
Date: Tue, 22 Aug 2023 20:43:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-10-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-10-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> Remove static type so this can also be used by SMMU drivers to check if the
> device is being used before removing.

I have commented on v8. But I will comment here to make easier to keep 
track of comment.

I don't think iommu_dt_device_is_assigned_locked() should be called from 
the SMMU. If you want to check a device is assigned then it would be 
best to use the internal state of the SMMU.

This has two benefits:
   * This avoids what I view as a layer of violation
   * This confirmed that the internal state match with what we expect

> 
> Moving spin_lock to caller was done to prevent the concurrent access to
> iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> patches in this series introduces node add/remove feature.
> 
> Also, caller is required hold the correct lock so moved the function prototype
> to a private header.

I don't understand how requiring the caller to hold the correct lock 
means you need to move the protype in a private header. Can you clarify?

> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v7:
>      Update commit message.
>      Add ASSERT().
> ---
> ---
>   xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
>   xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
>   2 files changed, 50 insertions(+), 4 deletions(-)
>   create mode 100644 xen/include/xen/iommu-private.h
> 
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 1c32d7b50c..5796ee1f93 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -18,6 +18,7 @@
>   #include <xen/device_tree.h>
>   #include <xen/guest_access.h>
>   #include <xen/iommu.h>
> +#include <xen/iommu-private.h>
>   #include <xen/lib.h>
>   #include <xen/sched.h>
>   #include <xsm/xsm.h>
> @@ -83,16 +84,16 @@ fail:
>       return rc;
>   }
>   
> -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
>   {
>       bool_t assigned = 0;
>   
> +    ASSERT(spin_is_locked(&dtdevs_lock));
> +
>       if ( !dt_device_is_protected(dev) )
>           return 0;
>   
> -    spin_lock(&dtdevs_lock);
>       assigned = !list_empty(&dev->domain_list);
> -    spin_unlock(&dtdevs_lock);
>   
>       return assigned;
>   }
> @@ -213,27 +214,44 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>           if ( (d && d->is_dying) || domctl->u.assign_device.flags )
>               break;
>   
> +        /*
> +         * To ensure that the dev doesn't disappear between the time we look it
> +         * up with dt_find_node_by_gpath() and we check the assignment later.
> +         */
> +        spin_lock(&dtdevs_lock);

This change doesn't look to be explained in the commit message. But 
looking at the code after this series is applied, you justified the 
addition of read_lock(&dt_host_lock) to protect access to the 
device-tree. This will be held longer than dtdevs_lock. So is it 
actually necessary to move the locking earlier?

> +
>           ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
>                                       domctl->u.assign_device.u.dt.size,
>                                       &dev);
>           if ( ret )
> +        {
> +            spin_unlock(&dtdevs_lock);
>               break;
> +        }
>   
>           ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
>           if ( ret )
> +        {
> +            spin_unlock(&dtdevs_lock);
>               break;
> +        }
>   
>           if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
>           {
> -            if ( iommu_dt_device_is_assigned(dev) )
> +
> +            if ( iommu_dt_device_is_assigned_locked(dev) )
>               {
>                   printk(XENLOG_G_ERR "%s already assigned.\n",
>                          dt_node_full_name(dev));
>                   ret = -EINVAL;
>               }
> +
> +            spin_unlock(&dtdevs_lock);
>               break;
>           }
>   
> +        spin_unlock(&dtdevs_lock);
> +
>           if ( d == dom_io )
>               return -EINVAL;
>   
> diff --git a/xen/include/xen/iommu-private.h b/xen/include/xen/iommu-private.h
> new file mode 100644
> index 0000000000..bb5c94e7a6
> --- /dev/null
> +++ b/xen/include/xen/iommu-private.h
> @@ -0,0 +1,28 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/iommu-private.h
> + */
> +#ifndef __XEN_IOMMU_PRIVATE_H__
> +#define __XEN_IOMMU_PRIVATE_H__
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#include <xen/device_tree.h>
> +
> +/*
> + * Checks if dt_device_node is assigned to a domain or not. This function
> + * expects to be called with dtdevs_lock acquired by caller.
> + */
> +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> +#endif
> +
> +#endif /* __XEN_IOMMU_PRIVATE_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 19:47:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 19:47:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588713.920291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYXLN-0001nq-Ne; Tue, 22 Aug 2023 19:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588713.920291; Tue, 22 Aug 2023 19: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 1qYXLN-0001nj-Kb; Tue, 22 Aug 2023 19:47:13 +0000
Received: by outflank-mailman (input) for mailman id 588713;
 Tue, 22 Aug 2023 19:47: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 1qYXLM-0001nd-E5
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 19:47: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 1qYXLM-00058O-8u; Tue, 22 Aug 2023 19:47:12 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYXLM-0004i0-47; Tue, 22 Aug 2023 19:47: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=GiJ6uhqypT4pjYtrWNuNL0lLs2pqGSE2nMq3IATYJEk=; b=m4nAjxrHvE/VuBNs3MXjviuoqR
	wp+8/4WX2XKZLXUBpokwM9L/3FMKRk61KUjw45x65yeXbwvOMqLnRFGzfmMJBCOiNv8Anr3K0MuSo
	NwRUkK+tdPGG2Wi+aXBQKcN9o5HsOBn2vSfiPqtnHDSkO04bE/jylP8phQPPQtQsJInY=;
Message-ID: <62c19920-cfe4-405d-9294-7ed426b3a99f@xen.org>
Date: Tue, 22 Aug 2023 20:47:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 10/19] xen/iommu: protect iommu_add_dt_device()
 with dtdevs_lock
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-11-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-11-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
> to add/remove/assign/deassign.
> With addition of dynamic programming feature(follow-up patches in this series),

Typo: missing space before '('.

> this function can be concurrently access by pci device assign/deassign and also

I couldn't find any use of this function in the PCI code. So are you 
talking about not yet upstreamed patches?

Also, typo: s/access/accessed/

> by dynamic node add/remove using device tree overlays.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

The code itself looks good to me. So I will provide my reviewed-by tag 
once my question about the commit message is answered.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 20:01:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 20:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588720.920301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYXYo-0004UU-PZ; Tue, 22 Aug 2023 20:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588720.920301; Tue, 22 Aug 2023 20:01:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYXYo-0004UN-MP; Tue, 22 Aug 2023 20:01:06 +0000
Received: by outflank-mailman (input) for mailman id 588720;
 Tue, 22 Aug 2023 20:01: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 1qYXYn-0004UH-1a
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 20:01: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 1qYXYm-0005SK-Db; Tue, 22 Aug 2023 20:01:04 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYXYm-0005Gz-0F; Tue, 22 Aug 2023 20:01:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=KF0OuaUolrDrGVRKxbCjilaIPfcg+pmCUGAM4vgbmAQ=; b=CaVQQI6UfHhPnJllojnPldFVxu
	ALq60d94c+g1N97j3Ekqq1FgCczIZxeOK5Zs7vdRNn9u97t7MVRHZuOJmu2cJQg25mAi2W2744DdM
	F8098cbSdg/Ly0mEsTCQkkvkXWtxmf+gc2DYXUAeQpM1PrTIwytLT29r7kDTs+qn5wfc=;
Message-ID: <40bdb9a0-abaf-45af-92df-a64e6b4f2748@xen.org>
Date: Tue, 22 Aug 2023 21:01:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 11/19] xen/iommu: Introduce
 iommu_remove_dt_device()
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-12-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-12-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Remove master device from the IOMMU. This will be helpful when removing the
> overlay nodes using dynamic programming during run time.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> ---
> Changes from v7:
>      Add check if IOMMU is enabled.
>      Fix indentation of fail.
> ---
> ---
>   xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
>   xen/include/xen/iommu.h               |  1 +
>   2 files changed, 45 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 096ef2dd68..4cb32dc0b3 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
>       return 0;
>   }
>   
> +int iommu_remove_dt_device(struct dt_device_node *np)
> +{
> +    const struct iommu_ops *ops = iommu_get_ops();
> +    struct device *dev = dt_to_dev(np);
> +    int rc;
> +
> +    if ( !iommu_enabled )
> +        return 1;

The caller doesn't seem to check if the error code is > 0. So can we 
instead return a -ERRNO?

If you want to continue to return a value > 0 then I think it should be 
documented in a comment like we did for iommu_add_dt_device().

> +
> +    if ( !ops )
> +        return -EOPNOTSUPP;
> +
> +    spin_lock(&dtdevs_lock);
> +
> +    if ( iommu_dt_device_is_assigned_locked(np) )
> +    {
> +        rc = -EBUSY;
> +        goto fail;
> +    }
> +
> +    /*
> +     * The driver which supports generic IOMMU DT bindings must have this
> +     * callback implemented.
> +     */

I have questioned this message in v7 and I still question it. I guess 
you copied the comment on top of add_device(), this was add there 
because we have a different way to add legacy device.

But here there are no such requirement. In fact, you are not adding the 
the callback to all the IOMMU drivers... Yet all of them support the 
generic IOMMU DT bindings.

> +    if ( !ops->remove_device )
> +    {
> +        rc = -EOPNOTSUPP;
> +        goto fail;
> +    }
> +
> +    /*
> +     * Remove master device from the IOMMU if latter is present and available.

I read this as this will not return an error if the device is protected. 
However, AFAICT, the implement in the SMMU driver provided in this 
series will return an error. So I would suggest to replace this sentence 
with:

de-register the device from the IOMMU driver.

> +     * The driver is responsible for removing is_protected flag.

Can you add an assert in the 'if ( !rc )' block to confirm that 
is_protected was effectively removed. Something like:

ASSERT(!dt_device_is_protected(dev));

This would help to confirm the driver is respecting what you expect.

> +     */
> +    rc = ops->remove_device(0, dev);
> +
> +    if ( !rc )
> +        iommu_fwspec_free(dev);
> +
> + fail:
> +    spin_unlock(&dtdevs_lock);
> +    return rc;
> +}
> +
>   int iommu_add_dt_device(struct dt_device_node *np)
>   {
>       const struct iommu_ops *ops = iommu_get_ops();
> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> index 110693c59f..a8e9bc9a2d 100644
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
>   
>   int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>                          XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
> +int iommu_remove_dt_device(struct dt_device_node *np);
>   
>   #endif /* HAS_DEVICE_TREE */
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 22:19:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 22:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588729.920311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYZiK-0001dl-BW; Tue, 22 Aug 2023 22:19:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588729.920311; Tue, 22 Aug 2023 22:19:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYZiK-0001de-8r; Tue, 22 Aug 2023 22:19:04 +0000
Received: by outflank-mailman (input) for mailman id 588729;
 Tue, 22 Aug 2023 22:19: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYZiJ-0001dY-Bc
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 22:19:03 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2976b9a-4139-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 00:18:58 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 90AF08284FA8;
 Tue, 22 Aug 2023 17:18:55 -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 JrS0JRIztabt; Tue, 22 Aug 2023 17:18:54 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B28BC828524D;
 Tue, 22 Aug 2023 17:18:54 -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 Hqq8wi4c1PQr; Tue, 22 Aug 2023 17:18:54 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 53CC98284FA8;
 Tue, 22 Aug 2023 17:18:54 -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: e2976b9a-4139-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B28BC828524D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692742734; bh=K9i50J5crpBftPwPzzGHwUIT2KQOC2K6yXOMHdvrams=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=kqpv8gGomFjzDAxAtYmKSY+ZDAWRd/yxrURP95JwwpWMghwRt9J94VLckKiSAr1h8
	 1DGVi+xgLZkbb4ePk4oEYRdpPyPmtx/xP3fwF1EM1e1Wuf21xsgfcMJ5KHB45yfs2r
	 eDfqQ9ufMUGOL8xEO1CvYrnbkHE5AzYJ3/kzskJ0=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <83ab8ddd-9461-075e-cc9f-d8fb02918ce4@raptorengineering.com>
Date: Tue, 22 Aug 2023 17:18:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/3] xen/ppc: Relocate kernel to physical address 0 on
 boot
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
 <6b965917ffb2185c541f04ff18a624282ca6e211.1691620546.git.sanastasio@raptorengineering.com>
 <c59ef4ea-f6a9-fee5-282b-76a4533e04fc@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <c59ef4ea-f6a9-fee5-282b-76a4533e04fc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/14/23 8:09 AM, Jan Beulich wrote:
> On 10.08.2023 00:48, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/ppc64/head.S
>> +++ b/xen/arch/ppc/ppc64/head.S
>> @@ -17,6 +17,33 @@ ENTRY(start)
>>      addis   %r2, %r12, .TOC.-1b@ha
>>      addi    %r2, %r2, .TOC.-1b@l
>>
>> +    /*
>> +     * Copy Xen to physical address zero and jump to XEN_VIRT_START
>> +     * (0xc000000000000000). This works because the hardware will ignore the top
>> +     * four address bits when the MMU is off.
>> +     */
>> +    LOAD_REG_ADDR(%r1, _start)
>> +    LOAD_IMM64(%r12, XEN_VIRT_START)
>> +
>> +    /* If we're at the correct address, skip copy */
>> +    cmpld   %r1, %r12
>> +    beq     .L_correct_address
>> +
>> +    /* Copy bytes until _end */
>> +    LOAD_REG_ADDR(%r11, _end)
>> +    addi    %r1, %r1, -8
>> +    li      %r13, -8
>> +.L_copy_xen:
>> +    ldu     %r10, 8(%r1)
>> +    stdu    %r10, 8(%r13)
>> +    cmpld   %r1, %r11
>> +    blt     .L_copy_xen
>> +
>> +    /* Jump to XEN_VIRT_START */
>> +    mtctr   %r12
>> +    bctr
>> +.L_correct_address:
> 
> Somewhat related to my earlier remark towards using %sp instead of
> %r1: Are you intentionally fiddling with the stack pointer here,
> corrupting any earlier stack that the boot loader might have set?
> This ...
> 
>>      /* set up the initial stack */
>>      LOAD_REG_ADDR(%r1, cpu0_boot_stack)
>>      li      %r11, 0
> 
> ... is where you actually switch stacks. Using the stack pointer
> here is likely okay, albeit a bit unusual, the more that you have
> ample registers available for use.

This was intentional -- I just chose it as a free register to use, since
as you point out it preceeds the stack set-up code. I agree it might be
a bit confusing though and we do have an ample amount of registers to
play with, so I'll change it to something else for clarity's sake.

> Jan

Thanks,
Shawn



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 22:48:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 22:48:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588736.920320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaAF-0005Q8-Fg; Tue, 22 Aug 2023 22:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588736.920320; Tue, 22 Aug 2023 22: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 1qYaAF-0005Q1-D4; Tue, 22 Aug 2023 22:47:55 +0000
Received: by outflank-mailman (input) for mailman id 588736;
 Tue, 22 Aug 2023 22: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYaAE-0005Pv-6Z
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 22:47:54 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec978956-413d-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 00:47:52 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E08D08284EB8;
 Tue, 22 Aug 2023 17:47:50 -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 gwz7t3zSptTL; Tue, 22 Aug 2023 17:47:49 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B50ED82852D4;
 Tue, 22 Aug 2023 17:47:49 -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 321fouMU8AdC; Tue, 22 Aug 2023 17:47: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 5592F8284EB8;
 Tue, 22 Aug 2023 17:47: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: ec978956-413d-11ee-8782-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B50ED82852D4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692744469; bh=3l3hLjZKSbyFk7NSZfPTtihlIO/zJo0R0cIRozFZlr4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Q71gX37w4Ymye8diHo51HM/us9YFmR5w65jOJuxmh8PZII+CvquNXwSuz4dYU27Mh
	 ljgmCPcIMklFC/gUA6TiUijBe9RWxzYkWGJEeNaXcBgVo8arhPNJ/MlNEfmLRImBvD
	 FOysOGj0EQu/75TWzW8ZESgxf6Z03/mp+spzlbU0=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <e2945a92-b12f-1a50-3618-d8eec73cee80@raptorengineering.com>
Date: Tue, 22 Aug 2023 17:47:49 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691620546.git.sanastasio@raptorengineering.com>
 <6bacc1ca18273654229672e6ba2741da01a92f04.1691620546.git.sanastasio@raptorengineering.com>
 <17a21607-1c41-c073-94bd-6d2cc1eea2b7@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <17a21607-1c41-c073-94bd-6d2cc1eea2b7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/14/23 8:27 AM, Jan Beulich wrote:
> On 10.08.2023 00:48, Shawn Anastasio wrote:
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/page.h
>> @@ -0,0 +1,181 @@
>> +#ifndef _ASM_PPC_PAGE_H
>> +#define _ASM_PPC_PAGE_H
>> +
>> +#include <xen/types.h>
>> +
>> +#include <asm/bitops.h>
>> +#include <asm/byteorder.h>
>> +
>> +#define PDE_VALID     PPC_BIT(0)
>> +#define PDE_NLB_MASK  0xfffffffffffffUL
>> +#define PDE_NLB_SHIFT 5UL
>> +#define PDE_NLS_MASK  0x1f
>> +
>> +#define PTE_VALID     PPC_BIT(0)
>> +#define PTE_LEAF      PPC_BIT(1)
>> +#define PTE_REFERENCE PPC_BIT(55)
>> +#define PTE_CHANGE    PPC_BIT(56)
>> +
>> +/* PTE Attributes */
>> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
>> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
>> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
>> +
>> +/* PTE Encoded Access Authority*/
>> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
>> +#define PTE_EAA_READ       PPC_BIT(61)
>> +#define PTE_EAA_WRITE      PPC_BIT(62)
>> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
>> +
>> +/* Field shifts/masks */
>> +#define PTE_RPN_MASK  0x1fffffffffffUL
>> +#define PTE_RPN_SHIFT 12UL
> 
> I still don't understand why you need two constants here. Even more so that
> now all their uses are as (PTE_RPN_MASK << PTE_RPN_SHIFT). With (only)
> 
> #define PTE_RPN_MASK  0x1fffffffffff000UL
> 
> instead, as indicated before, you would then (should the need arise) have
> this usable with MASK_EXTR() / MASK_INSR(). The again you likely know much
> better than me what further uses are going to appear.

Yes, this patch was submitted before I saw your follow-up comment to my
MASK_EXTR/INSR comment, but I agree now that just having a single mask
constant with the shift built-in would be perfectly adequate. I'll make
that change.

> 
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/regs.h
>> @@ -0,0 +1,138 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> 
> There's still an SPDX header and a full license here.
>

Will fix.

>> --- /dev/null
>> +++ b/xen/arch/ppc/mm-radix.c
>> @@ -0,0 +1,265 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include <xen/init.h>
>> +#include <xen/kernel.h>
>> +#include <xen/types.h>
>> +#include <xen/lib.h>
>> +
>> +#include <asm/bitops.h>
>> +#include <asm/byteorder.h>
>> +#include <asm/early_printk.h>
>> +#include <asm/mm.h>
>> +#include <asm/page.h>
>> +#include <asm/processor.h>
>> +#include <asm/regs.h>
>> +#include <asm/msr.h>
>> +
>> +void enable_mmu(void);
>> +
>> +#define INITIAL_LVL1_PD_COUNT      1
>> +#define INITIAL_LVL2_LVL3_PD_COUNT 2
>> +#define INITIAL_LVL4_PT_COUNT      256
>> +
>> +static size_t initial_lvl1_pd_pool_used;
>> +static struct lvl1_pd initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
>> +
>> +static size_t initial_lvl2_lvl3_pd_pool_used;
>> +static struct lvl2_pd initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
>> +
>> +static size_t initial_lvl4_pt_pool_used;
>> +static struct lvl4_pt initial_lvl4_pt_pool[INITIAL_LVL4_PT_COUNT];
> 
> The initial_lvl..._pool_used variables can likely all be __initdata?
>

Yes, that's reasonable. I'll do that.

>> +static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
>> +                                         vaddr_t map_start,
>> +                                         vaddr_t map_end,
>> +                                         paddr_t phys_base)
>> +{
>> +    uint64_t page_addr;
>> +
>> +    if ( map_start & ~PAGE_MASK )
>> +    {
>> +        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\n");
>> +        die();
>> +    }
>> +
>> +    if ( phys_base & ~PAGE_MASK )
>> +    {
>> +        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n");
>> +        die();
>> +    }
>> +
>> +    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 = (struct lvl2_pd *)__va(pde_to_paddr(*pde));
> 
> I don't think the cast here (and similar ones below) is needed.
>

Good catch. Will drop the explicit casts.

>> +static void __init setup_partition_table(struct lvl1_pd *root)
>> +{
>> +    unsigned long ptcr;
>> +
>> +    /* Configure entry for LPID 0 to enable Radix and point to root PD */
>> +    uint64_t patb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1 |
>> +                     PATB0_HR;
>> +    uint64_t patb1 = __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB1_GR;
>> +    initial_patb[0].patb0 = cpu_to_be64(patb0);
>> +    initial_patb[0].patb1 = cpu_to_be64(patb1);
> 
> Nit: Blank line please between declaration(s) and statement(s).
>

Will fix.

>> +    ptcr = __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
>> +    mtspr(SPRN_PTCR, ptcr);
>> +}
>> +
>> +static void __init setup_process_table(struct lvl1_pd *root)
>> +{
>> +    /* Configure entry for PID 0 to point to root PD */
>> +    uint64_t prtb0 = RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_1;
>> +    initial_prtb[0].prtb0 = cpu_to_be64(prtb0);
> 
> Same here then.
>

Ditto.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:04:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588744.920341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaPz-0008Dy-0e; Tue, 22 Aug 2023 23:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588744.920341; Tue, 22 Aug 2023 23:04: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 1qYaPy-0008Dr-Tk; Tue, 22 Aug 2023 23:04:10 +0000
Received: by outflank-mailman (input) for mailman id 588744;
 Tue, 22 Aug 2023 23: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYaPx-0007yq-BI
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:04:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31de8818-4140-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 01:04:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4DA5F8285C17;
 Tue, 22 Aug 2023 18:04:06 -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 axUd1Ts1Lpmb; Tue, 22 Aug 2023 18:04:05 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DEECD82857CB;
 Tue, 22 Aug 2023 18:04:04 -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 45BfNRKhIR-9; Tue, 22 Aug 2023 18:04:04 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 87B9E8285C16;
 Tue, 22 Aug 2023 18:04:04 -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: 31de8818-4140-11ee-8782-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DEECD82857CB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692745444; bh=c/ScpJBAoqO7Ayezju79eP3M6kUnX6Q+8cbzALAb4So=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=tAWWtxIppkKKLJg92gB2sJj+nBnXFxgiljSlk/irCOIA0LFzfEk/3AunLalvHWiCl
	 REwokrq0lGKATibPs6m9FQUP7Jtck9GnMRqvGAA30ql3RTQgE6gRLYVSWcANJFG8yd
	 q+piAmgv19bFG6VjHMy+TVgkV+mF0qJGetaZAiDc=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 1/3] xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
Date: Tue, 22 Aug 2023 18:03:50 -0500
Message-Id: <a419cece7fc01870fc75ce9b374d7ca1a38f0e67.1692744718.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692744718.git.sanastasio@raptorengineering.com>
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

In preparation for implementing ISA3+ Radix MMU support, drop ISA 2.07B
from the supported ISA list to avoid having a non-working
configuration in tree. It can be re-added at a later point when Hash
MMU support is added.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v4: no changes.
v3: no changes.
v2: no changes.

 xen/arch/ppc/Kconfig | 7 +------
 xen/arch/ppc/arch.mk | 1 -
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index b32dce39b8..ab116ffb2a 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -20,15 +20,10 @@ menu "ISA Selection"

 choice
 	prompt "Base ISA"
-	default POWER_ISA_2_07B
+	default POWER_ISA_3_00
 	help
 	  This selects the base ISA version that Xen will target.

-config POWER_ISA_2_07B
-	bool "Power ISA 2.07B (POWER8)"
-	help
-	  Target version 2.07B of the Power ISA (POWER8) or later
-
 config POWER_ISA_3_00
 	bool "Power ISA 3.00 (POWER9)"
 	help
diff --git a/xen/arch/ppc/arch.mk b/xen/arch/ppc/arch.mk
index 3bf79bac37..d05cbf1df5 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -1,7 +1,6 @@
 ########################################
 # Power-specific definitions

-ppc-march-$(CONFIG_POWER_ISA_2_07B) :=3D power8
 ppc-march-$(CONFIG_POWER_ISA_3_00) :=3D power9

 CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:04:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588743.920331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaPx-0007zD-RC; Tue, 22 Aug 2023 23:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588743.920331; Tue, 22 Aug 2023 23: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 1qYaPx-0007z2-MQ; Tue, 22 Aug 2023 23:04:09 +0000
Received: by outflank-mailman (input) for mailman id 588743;
 Tue, 22 Aug 2023 23:04: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYaPw-0007yq-Nt
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:04:08 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31c52ef4-4140-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 01:04:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D79748286A01;
 Tue, 22 Aug 2023 18:04:05 -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 mVjyBCyAE0pm; Tue, 22 Aug 2023 18:04:04 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 9463A8285C17;
 Tue, 22 Aug 2023 18:04:04 -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 yCEmo55SRW5F; Tue, 22 Aug 2023 18:04:04 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 288F682857CB;
 Tue, 22 Aug 2023 18:04:04 -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: 31c52ef4-4140-11ee-8782-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 9463A8285C17
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692745444; bh=/WhqIJ65h0YcP24tL7yjcDeKZ00DQM1KFDHp8v7ihfc=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=NI2i0EEGZaApUiDaemPa0oLXq5CKG2HD1dJf1ZZZRq3SGmRPMg+k48roQWObjZmc1
	 bqDWjNO5OY+PivKeD92UIlrQC9AWdbm1ziydAOIow63KfWkzJHLexMvogm28g2MHcH
	 2lj9fc45JpNaKiwmWeTXSyG+jYhhfG5FsNTxp/Uk=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 0/3] xen/ppc: Add early Radix MMU support
Date: Tue, 22 Aug 2023 18:03:49 -0500
Message-Id: <cover.1692744718.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hello all,

This series adds support for bringing up the Radix MMU with basic
identity-mapped page tables.

In order to simplify the memory layout, the series changes XEN_VIRT
_START to 0xC000_0000_0000_0000, which has a couple of convenient
properties. When the MMU is off, the top 4 address bits are ignored by
the hardware, so this is equivalent to physical address 0.  When the MMU
is enabled, the top 4 address bits are used to select the memory
quadrant, and 0xC corresponds to quadrant 3 which is used for kernel
memory. Thus, by linking the kernel here and ensuring its physical load
address is 0x0, we are able to run at the correct address both before
and after the MMU is enabled.

Additionally, as the Radix MMU was only added in ISA 3.0 (POWER9), this
series also drops support for POWER8 for now, to avoid having a
non-working build configuration in-tree.

Thanks,
Shawn

Shawn Anastasio (3):
  xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
  xen/ppc: Relocate kernel to physical address 0 on boot
  xen/ppc: Implement initial Radix MMU support

 xen/arch/ppc/Kconfig                 |   7 +-
 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/arch.mk                 |   1 -
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/config.h    |   2 +-
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 180 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 124 +++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 267 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  42 +++++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 15 files changed, 780 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:04:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588746.920361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaQ0-0000I8-OE; Tue, 22 Aug 2023 23:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588746.920361; Tue, 22 Aug 2023 23:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaQ0-0000Hw-Jl; Tue, 22 Aug 2023 23:04:12 +0000
Received: by outflank-mailman (input) for mailman id 588746;
 Tue, 22 Aug 2023 23: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYaPz-0007yq-1R
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:04:11 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 335360cb-4140-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 01:04:09 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C2E138285376;
 Tue, 22 Aug 2023 18:04:08 -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 vZpe8t76-tsn; Tue, 22 Aug 2023 18:04:05 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C2BE482869EE;
 Tue, 22 Aug 2023 18:04:05 -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 T60WEqVGfGFZ; Tue, 22 Aug 2023 18:04:05 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 572CE82869F6;
 Tue, 22 Aug 2023 18:04:05 -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: 335360cb-4140-11ee-8782-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C2BE482869EE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692745445; bh=uRHp8hWZvujDTHxR66BKEvGJKrPwYHYYKePJfccsVz4=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=qGaSwPO+fHFxiCqqdMCvjOZd6FLGgtqcNmJThaWNDn6qAky1+xTBglyVKlYbrFqj/
	 AxqIZ8daOxGIUzII2gGbRG4SLxmnBW47GYJqP1OnNtMC5LYicK7Oq2/DrAp1dAGT1j
	 xUM2MpKKhO+u3NtisHaQTWQmb6BNK7IzUMn2t4Rg=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 3/3] xen/ppc: Implement initial Radix MMU support
Date: Tue, 22 Aug 2023 18:03:52 -0500
Message-Id: <7cebc2962002c36ecfe712bf1bcb251e083910b8.1692744718.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692744718.git.sanastasio@raptorengineering.com>
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Add code to construct early identity-mapped page tables as well as the
required process and partition tables to enable the MMU.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v4:
  - (page.h) Drop *_SHIFT constants in page.h and include shift directly =
in
    corresponding *_MASK constant instead.
  - (regs.h) Drop full license text header
  - (mm-radix.c) Mark *_pd_pool_used counters as __initdata
  - (mm-radix.c) Drop pointer unnecessary casts of __va()'s return value
  - (mm-radix.c) Add newline separator between declarations and statement=
s
    in setup_{partition,process}_table()
v3:
  - Add XEN_PT_SIZE_LVL() macro for calculating the size in bytes
    of a page directory/page table structure.
  - Add alignment to struct lvl$N_{pd,pt} types.
  - Don't require aligned `paddr` in paddr_to_{pde,pte}
  - Fix RTS_FIELD comment bit numbering

v2:
  - Add missing ')' to mm.h/maddr_to_virt definition
  - Add missing parens around `va` argument in XEN_PT_INDEX_LVL
  - Drop '&' asm constraint modifier in processor.h/mfmsr()
  - Fix asm constraint formatting in processor.h
  - Change mtspr,mfspr to functions in processor.h
  - Drop unnecessary _Static_assert in mm-radix.c
  - Drop unnecessary cast in setup_initial_mapping
  - Use __va() to obtain pde/pte addresses in setup_initial_mapping
  - Wrap >80col lines in mm-radix.c
  - Drop unnecessary parameters in setup_{process,partition}_table
  - Add __init to setup_{process,partition}_table
  - Drop unnecessary opal.c changes
  - Drop manual prototype of setup_initial_pagetables in setup.c in
    favor of using the one already in asm/mm.h
  - Fix formatting of tlbiel asm block in tlb-radix.c

 xen/arch/ppc/Makefile                |   2 +
 xen/arch/ppc/include/asm/bitops.h    |   9 +
 xen/arch/ppc/include/asm/mm.h        |  18 ++
 xen/arch/ppc/include/asm/page-bits.h |   3 +-
 xen/arch/ppc/include/asm/page.h      | 180 ++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |  34 ++++
 xen/arch/ppc/include/asm/regs.h      | 124 +++++++++++++
 xen/arch/ppc/include/asm/types.h     |   1 +
 xen/arch/ppc/mm-radix.c              | 267 +++++++++++++++++++++++++++
 xen/arch/ppc/ppc64/head.S            |  15 ++
 xen/arch/ppc/setup.c                 |   3 +
 xen/arch/ppc/tlb-radix.c             |  96 ++++++++++
 12 files changed, 751 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/ppc/include/asm/bitops.h
 create mode 100644 xen/arch/ppc/include/asm/mm.h
 create mode 100644 xen/arch/ppc/include/asm/page.h
 create mode 100644 xen/arch/ppc/include/asm/regs.h
 create mode 100644 xen/arch/ppc/mm-radix.c
 create mode 100644 xen/arch/ppc/tlb-radix.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 0c0a7884a1..a059ac4c0a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -2,8 +2,10 @@ obj-$(CONFIG_PPC64) +=3D ppc64/

 obj-y +=3D boot-of.init.o
 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
+obj-y +=3D mm-radix.o
 obj-y +=3D opal.o
 obj-y +=3D setup.o
+obj-y +=3D tlb-radix.o

 $(TARGET): $(TARGET)-syms
 	cp -f $< $@
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm=
/bitops.h
new file mode 100644
index 0000000000..548e97b414
--- /dev/null
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -0,0 +1,9 @@
+#ifndef _ASM_PPC_BITOPS_H
+#define _ASM_PPC_BITOPS_H
+
+/* PPC bit number conversion */
+#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
+#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
+#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+
+#endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.=
h
new file mode 100644
index 0000000000..c85a7ed686
--- /dev/null
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -0,0 +1,18 @@
+#ifndef _ASM_PPC_MM_H
+#define _ASM_PPC_MM_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 virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
+
+/* Convert between Xen-heap virtual addresses and machine addresses. */
+#define __pa(x)             (virt_to_maddr(x))
+#define __va(x)             (maddr_to_virt(x))
+
+void setup_initial_pagetables(void);
+
+#endif /* _ASM_PPC_MM_H */
diff --git a/xen/arch/ppc/include/asm/page-bits.h b/xen/arch/ppc/include/=
asm/page-bits.h
index 4c01bf9716..0286177520 100644
--- a/xen/arch/ppc/include/asm/page-bits.h
+++ b/xen/arch/ppc/include/asm/page-bits.h
@@ -2,6 +2,7 @@
 #define __PPC_PAGE_BITS_H__

 #define PAGE_SHIFT              16 /* 64 KiB Pages */
-#define PADDR_BITS              48
+#define PADDR_BITS              53
+#define VADDR_BITS              52

 #endif /* __PPC_PAGE_BITS_H__ */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/p=
age.h
new file mode 100644
index 0000000000..3c90e8bf19
--- /dev/null
+++ b/xen/arch/ppc/include/asm/page.h
@@ -0,0 +1,180 @@
+#ifndef _ASM_PPC_PAGE_H
+#define _ASM_PPC_PAGE_H
+
+#include <xen/types.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+
+#define PDE_VALID     PPC_BIT(0)
+#define PDE_NLB_MASK  0x1ffffffffffffe0UL
+#define PDE_NLS_MASK  0x1f
+
+#define PTE_VALID     PPC_BIT(0)
+#define PTE_LEAF      PPC_BIT(1)
+#define PTE_REFERENCE PPC_BIT(55)
+#define PTE_CHANGE    PPC_BIT(56)
+
+/* PTE Attributes */
+#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
+#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
+#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
+
+/* PTE Encoded Access Authority*/
+#define PTE_EAA_PRIVILEGED PPC_BIT(60)
+#define PTE_EAA_READ       PPC_BIT(61)
+#define PTE_EAA_WRITE      PPC_BIT(62)
+#define PTE_EAA_EXECUTE    PPC_BIT(63)
+
+/* Field shifts/masks */
+#define PTE_RPN_MASK  0x1fffffffffff000UL
+#define PTE_ATT_MASK  0x30UL
+#define PTE_EAA_MASK  0xfUL
+
+#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
+#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_=
CHANGE)
+#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
+#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
+
+/*
+ * Radix Tree layout for 64KB pages:
+ *
+ * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
+ *                     |
+ *                     |
+ *                     v
+ *            [ PAGE TABLE ENTRY ]
+ */
+
+#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512G=
B =3D 4PB */
+#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB =
=3D 512GB */
+#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K =
=3D 2MB */
+
+#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_=
LVL_2)
+#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_=
LVL_3)
+#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_=
LVL_4)
+#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
+
+#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
+#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
+#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl=
))
+#define XEN_PT_SIZE_LVL(lvl)         (sizeof(uint64_t) * XEN_PT_ENTRIES_=
LVL(lvl))
+#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
+#define XEN_PT_INDEX_LVL(lvl, va)    (((va) >> XEN_PT_SHIFT_LVL(lvl)) & =
XEN_PT_MASK_LVL(lvl))
+
+/*
+ * Calculate the index of the provided virtual address in the provided
+ * page table struct
+ */
+#define pt_index(pt, va) _Generic((pt), \
+    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
+    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
+    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
+    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
+
+#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
+
+typedef struct
+{
+    __be64 pde;
+} pde_t;
+
+typedef struct
+{
+    __be64 pte;
+} pte_t;
+
+struct lvl1_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(1)];
+} __aligned(XEN_PT_SIZE_LVL(1));
+
+struct lvl2_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(2)];
+} __aligned(XEN_PT_SIZE_LVL(2));
+
+struct lvl3_pd
+{
+    pde_t entries[XEN_PT_ENTRIES_LVL(3)];
+} __aligned(XEN_PT_SIZE_LVL(3));
+
+struct lvl4_pt
+{
+    pte_t entries[XEN_PT_ENTRIES_LVL(4)];
+} __aligned(XEN_PT_SIZE_LVL(4));
+
+static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
+{
+    paddr_t paddr_aligned =3D paddr & PTE_RPN_MASK;
+
+    return (pte_t){ .pte =3D cpu_to_be64(paddr_aligned | flags | PTE_LEA=
F) };
+}
+
+static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, uns=
igned long nls)
+{
+    paddr_t paddr_aligned =3D paddr & PDE_NLB_MASK;
+
+    return (pde_t){ .pde =3D cpu_to_be64(paddr_aligned | flags | nls) };
+}
+
+static inline paddr_t pte_to_paddr(pte_t pte)
+{
+    return be64_to_cpu(pte.pte) & PTE_RPN_MASK;
+}
+
+static inline paddr_t pde_to_paddr(pde_t pde)
+{
+    return be64_to_cpu(pde.pde) & PDE_NLB_MASK;
+}
+
+static inline bool pte_is_valid(pte_t pte)
+{
+    return pte.pte & be64_to_cpu(PTE_VALID);
+}
+
+static inline bool pde_is_valid(pde_t pde)
+{
+    return pde.pde & be64_to_cpu(PDE_VALID);
+}
+
+/*
+ * ISA 3.0 partition and process table entry format
+ */
+struct patb_entry {
+	__be64 patb0;
+	__be64 patb1;
+};
+#define PATB0_HR PPC_BIT(0) /* host uses radix */
+#define PATB1_GR PPC_BIT(0) /* guest uses radix; must match HR */
+
+struct prtb_entry {
+	__be64 prtb0;
+	__be64 reserved;
+};
+
+/*
+ * We support 52 bits, hence:
+ * bits 52 - 31 =3D 21, 0b10101
+ * RTS encoding details
+ * bits 0 - 2 of rts -> bits 5 - 7 of unsigned long
+ * bits 3 - 4 of rts -> bits 61 - 62 of unsigned long
+ */
+#define RTS_FIELD ((0x2UL << 61) | (0x5UL << 5))
+
+void tlbie_all(void);
+
+#endif /* _ASM_PPC_PAGE_H */
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 2300640787..6b70569eb8 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -133,6 +133,40 @@ struct cpu_user_regs
     uint32_t entry_vector;
 };

+static __inline__ void sync(void)
+{
+    asm volatile ( "sync" );
+}
+
+static __inline__ void isync(void)
+{
+    asm volatile ( "isync" );
+}
+
+static inline unsigned long mfmsr(void)
+{
+    unsigned long msr;
+    asm volatile ( "mfmsr %0" : "=3Dr" (msr) );
+    return msr;
+}
+
+static inline void mtmsrd(unsigned long msr)
+{
+    asm volatile ( "mtmsrd %0" : : "r" (msr) );
+}
+
+static inline void mtspr(uint16_t spr, unsigned long val)
+{
+    asm volatile ( "mtspr %0, %1" : : "K" (spr), "r" (val) );
+}
+
+static inline unsigned long mfspr(uint16_t spr)
+{
+    unsigned long val;
+    asm volatile ( "mfspr %0, %1" : "=3Dr" (val) : "K" (spr) );
+    return val;
+}
+
 /*
  * panic() isn't available at the moment so an infinite loop will be
  * used temporarily.
diff --git a/xen/arch/ppc/include/asm/regs.h b/xen/arch/ppc/include/asm/r=
egs.h
new file mode 100644
index 0000000000..cbf1a9c8e4
--- /dev/null
+++ b/xen/arch/ppc/include/asm/regs.h
@@ -0,0 +1,124 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright IBM Corp. 2005, 2007
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ *          Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
+ */
+
+#ifndef _ASM_REG_DEFS_H_
+#define _ASM_REG_DEFS_H_
+
+/* Special Purpose Registers */
+#define SPRN_VRSAVE 256
+#define SPRN_DSISR  18
+#define SPRN_DAR    19
+#define SPRN_DEC    22
+#define SPRN_SRR0   26
+#define SPRN_SRR1   27
+#define SPRN_TBRL   268
+#define SPRN_TBRU   269
+#define SPRN_SPRG0  272
+#define SPRN_SPRG1  273
+#define SPRN_SPRG2  274
+#define SPRN_SPRG3  275
+#define SPRN_TBWL   284
+#define SPRN_TBWU   285
+
+#define SPRN_HSPRG0 304
+#define SPRN_HSPRG1 305
+#define SPRN_HDEC   310
+#define SPRN_HIOR   311
+#define SPRN_RMOR   312
+#define SPRN_HRMOR  313
+#define SPRN_HSRR0  314
+#define SPRN_HSRR1  315
+#define SPRN_LPIDR  319
+
+#define SPRN_PTCR	0x1D0	/* Partition table control Register */
+#define SPRN_PID	0x030	/* Process ID */
+
+/* Performance monitor spr encodings */
+#define SPRN_MMCRA  786
+#define   MMCRA_SAMPHV    _AC(0x10000000, UL) /* state of MSR HV when SI=
AR set */
+#define   MMCRA_SAMPPR    _AC(0x08000000, UL) /* state of MSR PR when SI=
AR set */
+#define   MMCRA_SAMPLE_ENABLE _AC(0x00000001, UL) /* enable sampling */
+#define NUM_PMCS 8
+#define SPRN_PMC1   787
+#define SPRN_PMC2   788
+#define SPRN_PMC3   789
+#define SPRN_PMC4   790
+#define SPRN_PMC5   791
+#define SPRN_PMC6   792
+#define SPRN_PMC7   793
+#define SPRN_PMC8   794
+#define SPRN_MMCR0  795
+#define   MMCR0_FC      _AC(0x80000000, UL) /* freeze counters */
+#define   MMCR0_FCS     _AC(0x40000000, UL) /* freeze in supervisor stat=
e */
+#define   MMCR0_FCP     _AC(0x20000000, UL) /* freeze in problem state *=
/
+#define   MMCR0_FCM1    _AC(0x10000000, UL) /* freeze counters while MSR=
 mark =3D 1 */
+#define   MMCR0_FCM0    _AC(0x08000000, UL) /* freeze counters while MSR=
 mark =3D 0 */
+#define   MMCR0_PMAE    _AC(0x04000000, UL) /* performance monitor alert=
 enabled */
+#define   MMCR0_PMAO    _AC(0x00000080, UL) /* performance monitor alert=
 occurred */
+#define   MMCR0_FCH     _AC(0x00000001, UL) /* freeze conditions in hype=
rvisor */
+#define SPRN_SIAR   796
+#define SPRN_SDAR   797
+#define SPRN_MMCR1  798
+
+/* As defined for PU G4 */
+#define SPRN_HID0   1008
+#define SPRN_HID1   1009
+#define SPRN_HID4   1012
+
+#define SPRN_DABR   1013
+#define SPRN_HID5   1014
+#define SPRN_DABRX  1015
+#define SPRN_HID6   1017
+#define SPRN_HID7   1018
+#define SPRN_HID8   1019
+#define SPRN_PIR    1023
+
+#define SPRN_LPCR	0x13E	/* LPAR Control Register */
+#define   LPCR_VPM0		_AC(0x8000000000000000, UL)
+#define   LPCR_VPM1		_AC(0x4000000000000000, UL)
+#define   LPCR_ISL		_AC(0x2000000000000000, UL)
+#define   LPCR_VC_SH		61
+#define   LPCR_DPFD_SH		52
+#define   LPCR_DPFD		(_AC(7, UL) << LPCR_DPFD_SH)
+#define   LPCR_VRMASD_SH	47
+#define   LPCR_VRMASD		(_AC(0x1f, UL) << LPCR_VRMASD_SH)
+#define   LPCR_VRMA_L		_AC(0x0008000000000000, UL)
+#define   LPCR_VRMA_LP0		_AC(0x0001000000000000, UL)
+#define   LPCR_VRMA_LP1		_AC(0x0000800000000000, UL)
+#define   LPCR_RMLS		0x1C000000	/* Implementation dependent RMO limit se=
l */
+#define   LPCR_RMLS_SH		26
+#define   LPCR_HAIL		_AC(0x0000000004000000, UL)   /* HV AIL (ISAv3.1) *=
/
+#define   LPCR_ILE		_AC(0x0000000002000000, UL)   /* !HV irqs set MSR:LE=
 */
+#define   LPCR_AIL		_AC(0x0000000001800000, UL)	/* Alternate interrupt l=
ocation */
+#define   LPCR_AIL_0		_AC(0x0000000000000000, UL)	/* MMU off exception o=
ffset 0x0 */
+#define   LPCR_AIL_3		_AC(0x0000000001800000, UL)   /* MMU on exception =
offset 0xc00...4xxx */
+#define   LPCR_ONL		_AC(0x0000000000040000, UL)	/* online - PURR/SPURR c=
ount */
+#define   LPCR_LD		_AC(0x0000000000020000, UL)	/* large decremeter */
+#define   LPCR_PECE		_AC(0x000000000001f000, UL)	/* powersave exit cause=
 enable */
+#define     LPCR_PECEDP	_AC(0x0000000000010000, UL)	/* directed priv dbe=
lls cause exit */
+#define     LPCR_PECEDH	_AC(0x0000000000008000, UL)	/* directed hyp dbel=
ls cause exit */
+#define     LPCR_PECE0		_AC(0x0000000000004000, UL)	/* ext. exceptions c=
an cause exit */
+#define     LPCR_PECE1		_AC(0x0000000000002000, UL)	/* decrementer can c=
ause exit */
+#define     LPCR_PECE2		_AC(0x0000000000001000, UL)	/* machine check etc=
 can cause exit */
+#define     LPCR_PECE_HVEE	_AC(0x0000400000000000, UL)	/* P9 Wakeup on H=
V interrupts */
+#define   LPCR_MER		_AC(0x0000000000000800, UL)	/* Mediated External Exc=
eption */
+#define   LPCR_MER_SH		11
+#define	  LPCR_GTSE		_AC(0x0000000000000400, UL)  	/* Guest Translation =
Shootdown Enable */
+#define   LPCR_TC		_AC(0x0000000000000200, UL)	/* Translation control */
+#define   LPCR_HEIC		_AC(0x0000000000000010, UL)   /* Hypervisor Externa=
l Interrupt Control */
+#define   LPCR_LPES		0x0000000c
+#define   LPCR_LPES0		_AC(0x0000000000000008, UL)      /* LPAR Env selec=
tor 0 */
+#define   LPCR_LPES1		_AC(0x0000000000000004, UL)      /* LPAR Env selec=
tor 1 */
+#define   LPCR_LPES_SH		2
+#define   LPCR_RMI		_AC(0x0000000000000002, UL)      /* real mode is cac=
he inhibit */
+#define   LPCR_HVICE		_AC(0x0000000000000002, UL)      /* P9: HV interru=
pt enable */
+#define   LPCR_HDICE		_AC(0x0000000000000001, UL)      /* Hyp Decr enabl=
e (HV,PR,EE) */
+#define   LPCR_UPRT		_AC(0x0000000000400000, UL)      /* Use Process Tab=
le (ISA 3) */
+#define   LPCR_HR		_AC(0x0000000000100000, UL)
+
+#endif /* _ASM_REG_DEFS_H_ */
diff --git a/xen/arch/ppc/include/asm/types.h b/xen/arch/ppc/include/asm/=
types.h
index b62ae0e7ae..ffaf378a4d 100644
--- a/xen/arch/ppc/include/asm/types.h
+++ b/xen/arch/ppc/include/asm/types.h
@@ -4,6 +4,7 @@
 #define _ASM_PPC_TYPES_H

 typedef unsigned long paddr_t;
+typedef unsigned long vaddr_t;
 #define INVALID_PADDR (~0UL)
 #define PRIpaddr "016lx"

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
new file mode 100644
index 0000000000..3feeb90ebc
--- /dev/null
+++ b/xen/arch/ppc/mm-radix.c
@@ -0,0 +1,267 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/init.h>
+#include <xen/kernel.h>
+#include <xen/types.h>
+#include <xen/lib.h>
+
+#include <asm/bitops.h>
+#include <asm/byteorder.h>
+#include <asm/early_printk.h>
+#include <asm/mm.h>
+#include <asm/page.h>
+#include <asm/processor.h>
+#include <asm/regs.h>
+#include <asm/msr.h>
+
+void enable_mmu(void);
+
+#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_COU=
NT];
+
+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 POWE=
R9 */
+#define PATB_SIZE      (1UL << PATB_SIZE_LOG2)
+#define PRTB_SIZE_LOG2 12
+#define PRTB_SIZE      (1UL << PRTB_SIZE_LOG2)
+
+static struct patb_entry
+    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_ent=
ry)];
+
+static struct prtb_entry
+    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_ent=
ry)];
+
+static __init struct lvl1_pd *lvl1_pd_pool_alloc(void)
+{
+    if ( initial_lvl1_pd_pool_used >=3D INITIAL_LVL1_PD_COUNT )
+    {
+        early_printk("Ran out of space for LVL1 PD!\n");
+        die();
+    }
+
+    return &initial_lvl1_pd_pool[initial_lvl1_pd_pool_used++];
+}
+
+static __init struct lvl2_pd *lvl2_pd_pool_alloc(void)
+{
+    if ( initial_lvl2_lvl3_pd_pool_used >=3D INITIAL_LVL2_LVL3_PD_COUNT =
)
+    {
+        early_printk("Ran out of space for LVL2/3 PD!\n");
+        die();
+    }
+
+    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
+}
+
+static __init struct lvl3_pd *lvl3_pd_pool_alloc(void)
+{
+    BUILD_BUG_ON(sizeof(struct lvl3_pd) !=3D sizeof(struct lvl2_pd));
+
+    return (struct lvl3_pd *) lvl2_pd_pool_alloc();
+}
+
+static __init struct lvl4_pt *lvl4_pt_pool_alloc(void)
+{
+    if ( initial_lvl4_pt_pool_used >=3D INITIAL_LVL4_PT_COUNT )
+    {
+        early_printk("Ran out of space for LVL4 PT!\n");
+        die();
+    }
+
+    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_l=
en)
+{
+    uint64_t cur;
+    size_t i =3D buf_len - 1;
+
+    /* Null terminate buffer */
+    out_buf[i] =3D '\0';
+
+    /* Add digits in reverse */
+    cur =3D val;
+    while ( cur && i > 0 )
+    {
+        out_buf[--i] =3D "0123456789ABCDEF"[cur % 16];
+        cur /=3D 16;
+    }
+
+    /* Pad to 16 digits */
+    while ( i > 0 )
+        out_buf[--i] =3D '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 =3D 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,
+                                         paddr_t phys_base)
+{
+    uint64_t page_addr;
+
+    if ( map_start & ~PAGE_MASK )
+    {
+        early_printk("Xen _start be aligned to 64k (PAGE_SIZE) boundary\=
n");
+        die();
+    }
+
+    if ( phys_base & ~PAGE_MASK )
+    {
+        early_printk("Xen should be loaded at 64k (PAGE_SIZE) boundary\n=
");
+        die();
+    }
+
+    for ( page_addr =3D map_start; page_addr < map_end; page_addr +=3D P=
AGE_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 =3D pt_entry(lvl1, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl2 =3D lvl2_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl2), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_2);
+        }
+        else
+            lvl2 =3D __va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 3 PD if necessary */
+        pde =3D pt_entry(lvl2, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl3 =3D lvl3_pd_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl3), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_3);
+        }
+        else
+            lvl3 =3D __va(pde_to_paddr(*pde));
+
+        /* Allocate LVL 4 PT if necessary */
+        pde =3D pt_entry(lvl3, page_addr);
+        if ( !pde_is_valid(*pde) )
+        {
+            lvl4 =3D lvl4_pt_pool_alloc();
+            *pde =3D paddr_to_pde(__pa(lvl4), PDE_VALID,
+                                XEN_PT_ENTRIES_LOG2_LVL_4);
+        }
+        else
+            lvl4 =3D __va(pde_to_paddr(*pde));
+
+        /* Finally, create PTE in LVL 4 PT */
+        pte =3D pt_entry(lvl4, page_addr);
+        if ( !pte_is_valid(*pte) )
+        {
+            unsigned long paddr =3D (page_addr - map_start) + phys_base;
+            unsigned long flags;
+
+            radix_dprint(paddr, "being mapped to ");
+            radix_dprint(page_addr, "!\n");
+            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_ad=
dr) )
+            {
+                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
+                flags =3D PTE_XEN_RX;
+            }
+            else if ( is_kernel_rodata(page_addr) )
+            {
+                radix_dprint(page_addr, "being marked as RODATA (RO)\n")=
;
+                flags =3D PTE_XEN_RO;
+            }
+            else
+            {
+                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n"=
);
+                flags =3D PTE_XEN_RW;
+            }
+
+            *pte =3D paddr_to_pte(paddr, flags);
+            radix_dprint(paddr_to_pte(paddr, flags).pte,
+                             "is result of PTE map!\n");
+        }
+        else
+        {
+            early_printk("BUG: Tried to create PTE for already-mapped pa=
ge!");
+            die();
+        }
+    }
+}
+
+static void __init setup_partition_table(struct lvl1_pd *root)
+{
+    unsigned long ptcr;
+
+    /* Configure entry for LPID 0 to enable Radix and point to root PD *=
/
+    uint64_t patb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1 |
+                     PATB0_HR;
+    uint64_t patb1 =3D __pa(initial_prtb) | (PRTB_SIZE_LOG2 - 12) | PATB=
1_GR;
+
+    initial_patb[0].patb0 =3D cpu_to_be64(patb0);
+    initial_patb[0].patb1 =3D cpu_to_be64(patb1);
+
+    ptcr =3D __pa(initial_patb) | (PATB_SIZE_LOG2 - 12);
+    mtspr(SPRN_PTCR, ptcr);
+}
+
+static void __init setup_process_table(struct lvl1_pd *root)
+{
+    /* Configure entry for PID 0 to point to root PD */
+    uint64_t prtb0 =3D RTS_FIELD | __pa(root) | XEN_PT_ENTRIES_LOG2_LVL_=
1;
+
+    initial_prtb[0].prtb0 =3D cpu_to_be64(prtb0);
+}
+
+void __init setup_initial_pagetables(void)
+{
+    struct lvl1_pd *root =3D lvl1_pd_pool_alloc();
+    unsigned long lpcr;
+
+    setup_initial_mapping(root, (vaddr_t)_start, (vaddr_t)_end, __pa(_st=
art));
+
+    /* Enable Radix mode in LPCR */
+    lpcr =3D mfspr(SPRN_LPCR);
+    mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR);
+    early_printk("Enabled radix in LPCR\n");
+
+    /* Set up initial process table */
+    setup_process_table(root);
+
+    /* Set up initial partition table */
+    setup_partition_table(root);
+
+    /* Flush TLB */
+    tlbie_all();
+    early_printk("Flushed TLB\n");
+
+    /* Turn on the MMU */
+    enable_mmu();
+}
diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index a149339ad0..e600ddb05f 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -2,6 +2,7 @@

 #include <asm/asm-defns.h>
 #include <asm/asm-offsets.h>
+#include <asm/msr.h>

     .section .text.header, "ax", %progbits

@@ -66,3 +67,17 @@ ENTRY(start)

     .size start, . - start
     .type start, %function
+
+ENTRY(enable_mmu)
+    mflr %r3
+    mfmsr %r4
+
+    /* enable instruction and data relocation (MMU) */
+    ori %r4, %r4, (MSR_IR | MSR_DR)
+
+    mtsrr0 %r3 /* return to caller after MMU enable */
+    mtsrr1 %r4
+    rfid
+
+    .size enable_mmu, . - enable_mmu
+    .type enable_mmu, %function
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 8ab7bc19ee..0106e9c9da 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -2,6 +2,7 @@
 #include <xen/init.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
+#include <asm/mm.h>
 #include <asm/processor.h>

 /* Xen stack for bringing up the first CPU. */
@@ -27,6 +28,8 @@ void __init noreturn start_xen(unsigned long r3, unsign=
ed long r4,
         boot_opal_init((void *)r3);
     }

+    setup_initial_pagetables();
+
     early_printk("Hello, ppc64le!\n");

     for ( ; ; )
diff --git a/xen/arch/ppc/tlb-radix.c b/xen/arch/ppc/tlb-radix.c
new file mode 100644
index 0000000000..3dde102c62
--- /dev/null
+++ b/xen/arch/ppc/tlb-radix.c
@@ -0,0 +1,96 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on arch/powerpc/mm/book3s64/radix_tlb.c from Linux with the fol=
lowing
+ * copyright notice:
+ *
+ * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation.
+ */
+#include <xen/stringify.h>
+
+#include <asm/bitops.h>
+#include <asm/msr.h>
+#include <asm/processor.h>
+
+/* TLB flush actions. Used as argument to tlbiel_flush() */
+enum
+{
+    TLB_INVAL_SCOPE_LPID,   /* invalidate TLBs for current LPID */
+    TLB_INVAL_SCOPE_GLOBAL, /* invalidate all TLBs */
+};
+
+#define POWER9_TLB_SETS_RADIX 128 /* # sets in POWER9 TLB Radix mode */
+
+#define RIC_FLUSH_TLB 0
+#define RIC_FLUSH_PWC 1
+#define RIC_FLUSH_ALL 2
+
+static void tlbiel_radix_set_isa300(unsigned int set, unsigned int is,
+                                    unsigned int pid, unsigned int ric,
+                                    unsigned int prs)
+{
+    unsigned long rb;
+    unsigned long rs;
+
+    rb =3D (set << PPC_BITLSHIFT(51)) | (is << PPC_BITLSHIFT(53));
+    rs =3D ((unsigned long) pid << PPC_BITLSHIFT(31));
+
+    asm volatile ( "tlbiel %0, %1, %2, %3, 1"
+                   :: "r" (rb), "r" (rs), "i" (ric), "i" (prs)
+                   : "memory" );
+}
+
+static void tlbiel_all_isa300(unsigned int num_sets, unsigned int is)
+{
+    unsigned int set;
+
+    asm volatile ( "ptesync" : : : "memory" );
+
+    /*
+     * Flush the first set of the TLB, and the entire Page Walk Cache
+     * and partition table entries. Then flush the remaining sets of the
+     * TLB.
+     */
+
+    if ( mfmsr() & MSR_HV )
+    {
+        /* MSR[HV] should flush partition scope translations first. */
+        tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 0);
+
+        for ( set =3D 1; set < num_sets; set++ )
+            tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 0);
+    }
+
+    /* Flush process scoped entries. */
+    tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 1);
+
+    for ( set =3D 1; set < num_sets; set++ )
+        tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 1);
+
+    asm volatile ( "ptesync" : : : "memory" );
+}
+
+void radix__tlbiel_all(unsigned int action)
+{
+    unsigned int is;
+
+    switch ( action )
+    {
+    case TLB_INVAL_SCOPE_GLOBAL:
+        is =3D 3;
+        break;
+    case TLB_INVAL_SCOPE_LPID:
+        is =3D 2;
+        break;
+    default:
+        die();
+    }
+
+    tlbiel_all_isa300(POWER9_TLB_SETS_RADIX, is);
+
+    asm volatile ( "slbia 7; isync" : : : "memory" );
+}
+
+void tlbie_all(void)
+{
+    radix__tlbiel_all(TLB_INVAL_SCOPE_GLOBAL);
+}
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:04:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588745.920348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaPz-0008HP-Ah; Tue, 22 Aug 2023 23:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588745.920348; Tue, 22 Aug 2023 23: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 1qYaPz-0008Gi-57; Tue, 22 Aug 2023 23:04:11 +0000
Received: by outflank-mailman (input) for mailman id 588745;
 Tue, 22 Aug 2023 23:04: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=SWhE=EH=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYaPx-0007yw-LL
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:04:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31e5af81-4140-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 01:04:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5B78B82857CB;
 Tue, 22 Aug 2023 18:04:06 -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 6gYpXrOsn9zj; Tue, 22 Aug 2023 18:04:05 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5B0D782869F7;
 Tue, 22 Aug 2023 18:04:05 -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 qGk5eU5ANTiC; Tue, 22 Aug 2023 18:04:05 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D066682869EE;
 Tue, 22 Aug 2023 18:04:04 -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: 31e5af81-4140-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 5B0D782869F7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692745445; bh=nBHc/NSB1GzcgAwDsGUzug5+YbfZfT8y28R3niPgy2g=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=hZDut9wwhtDOvcbYsba+tu11w4wZAs/KRvzxanzJ53aRlYW5JtN1E44JPfv0Hd2El
	 Ya+MgDm9F+f/v53DhkB2eS9ap06pKmUl5j5LQnP9sTOUfhLuSTM5bBrmOhSBmHYiVX
	 LgU74GacLLvZKv/S+CRjvfqH0b7nMfWCDco0xnJ0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 2/3] xen/ppc: Relocate kernel to physical address 0 on boot
Date: Tue, 22 Aug 2023 18:03:51 -0500
Message-Id: <03ef20c327c6f4a0ce47078dae52465b3cb32d2e.1692744718.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692744718.git.sanastasio@raptorengineering.com>
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Introduce a small assembly loop in `start` to copy the kernel to
physical address 0 before continuing. This ensures that the physical
address lines up with XEN_VIRT_START (0xc000000000000000) and allows us
to identity map the kernel when the MMU is set up in the next patch.

We are also able to start execution at XEN_VIRT_START after the copy
since hardware will ignore the top 4 address bits when operating in Real
Mode (MMU off).

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v4:
  - Don't re-use stack pointer register (%r1) for non-stack-related purpo=
ses
    in head.S
v3: no changes.
v2:
  - Fix definition of XEN_VIRT_START macro which incorrectly used
    _AT instead of _AC.
  - Use _start instead of start as symbol referring to beginning of
    Xen binary
 xen/arch/ppc/include/asm/config.h |  2 +-
 xen/arch/ppc/ppc64/head.S         | 27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index d060f0dca7..30438d22d2 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -39,7 +39,7 @@
     name:
 #endif

-#define XEN_VIRT_START _AT(UL, 0xc000000000000000)
+#define XEN_VIRT_START _AC(0xc000000000000000, UL)

 #define SMP_CACHE_BYTES (1 << 6)

diff --git a/xen/arch/ppc/ppc64/head.S b/xen/arch/ppc/ppc64/head.S
index 8f1e5d3ad2..a149339ad0 100644
--- a/xen/arch/ppc/ppc64/head.S
+++ b/xen/arch/ppc/ppc64/head.S
@@ -17,6 +17,33 @@ ENTRY(start)
     addis   %r2, %r12, .TOC.-1b@ha
     addi    %r2, %r2, .TOC.-1b@l

+    /*
+     * Copy Xen to physical address zero and jump to XEN_VIRT_START
+     * (0xc000000000000000). This works because the hardware will ignore=
 the top
+     * four address bits when the MMU is off.
+     */
+    LOAD_REG_ADDR(%r14, _start)
+    LOAD_IMM64(%r12, XEN_VIRT_START)
+
+    /* If we're at the correct address, skip copy */
+    cmpld   %r14, %r12
+    beq     .L_correct_address
+
+    /* Copy bytes until _end */
+    LOAD_REG_ADDR(%r11, _end)
+    addi    %r14, %r14, -8
+    li      %r13, -8
+.L_copy_xen:
+    ldu     %r10, 8(%r14)
+    stdu    %r10, 8(%r13)
+    cmpld   %r14, %r11
+    blt     .L_copy_xen
+
+    /* Jump to XEN_VIRT_START */
+    mtctr   %r12
+    bctr
+.L_correct_address:
+
     /* set up the initial stack */
     LOAD_REG_ADDR(%r1, cpu0_boot_stack)
     li      %r11, 0
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:17:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:17:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588773.920371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYacw-00038f-5W; Tue, 22 Aug 2023 23:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588773.920371; Tue, 22 Aug 2023 23:17:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYacw-00038Y-34; Tue, 22 Aug 2023 23:17:34 +0000
Received: by outflank-mailman (input) for mailman id 588773;
 Tue, 22 Aug 2023 23:17:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYacu-00038S-MA
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:17: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 105ff808-4142-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 01:17:30 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B6EDA61FFA;
 Tue, 22 Aug 2023 23:17:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02BC1C433C8;
 Tue, 22 Aug 2023 23:17: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: 105ff808-4142-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692746246;
	bh=0URZlRbDFdXEX/8bh8iSvBI9MmJgmODB1NonCxdvCSU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Y1IRmHN9Ga97EZO9DRLZbcc7xQiXl+31LwjOVsw7TPUJykbWq9vewbIgEijtsrH77
	 d/vprdSILnqA3x2DjiFovn0BRAyH5QO+q8CpZ3G1BvKXUhdHsGK4f3S0fDHNA5vJcd
	 ws8Eu+sx0d5/NXqJwbmXpQco81yliBToUFSVjpJuVk426umxs+IcBg6E3lSe50aivH
	 MbAbm9oOeUsqovtFlg8jlQSoR/poAqmonYAjOBF/5j5JbFJ5Cg/KtQYTBNpindTDRx
	 N0MNfHd048vE+UDdi3MD9FekCfCq/A9aamPbpeAWg4Kqu1o1Mh5+jn9wxDqzm2T8gs
	 iH/RJnjsk6lJw==
Date: Tue, 22 Aug 2023 16:17:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Julien Grall <julien@xen.org>, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, george.dunlap@citrix.com, bertrand.marquis@arm.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
In-Reply-To: <659abb38-67ff-bb6e-bd62-b1ee90860304@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308221617180.6458@ubuntu-linux-20-04-desktop>
References: <20230822013014.2523202-1-sstabellini@kernel.org> <f3ea87fe-cc05-453a-87b0-e7f795e24459@xen.org> <ee6fe3b0-92ab-e215-ea0e-091658b87138@suse.com> <efd756ff-9fc1-49a7-b5d7-841915a9ee63@xen.org> <659abb38-67ff-bb6e-bd62-b1ee90860304@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 22 Aug 2023, Jan Beulich wrote:
> On 22.08.2023 12:33, Julien Grall wrote:
> > Hi Jan,
> > 
> > On 22/08/2023 11:12, Jan Beulich wrote:
> >> On 22.08.2023 09:56, Julien Grall wrote:
> >>> On 22/08/2023 02:30, Stefano Stabellini wrote:
> >>>> --- a/docs/misra/rules.rst
> >>>> +++ b/docs/misra/rules.rst
> >>>> @@ -59,7 +59,8 @@ maintainers if you want to suggest a change.
> >>>>         - Required
> >>>>         - Precautions shall be taken in order to prevent the contents of a
> >>>>           header file being included more than once
> >>>> -     -
> >>>
> >>> It is not clear to me why this line is removed. Was it added by mistake
> >>> in a previous commit?
> >>
> >> The patch is replacing an empty comment ...
> >>
> >>>> +     - Files that are intended to be included more than once do not need to
> >>>> +       conform to the directive
> >>
> >> ... with a non-empty one.
> > 
> > I understand that... My question is more related to why we originally 
> > added one? If this was done on purpose, then why are we removing it?
> 
> I think the goal is for the file to be easily machine readable, and hence
> the same number of sub-items want to appear for every main item.

Yes, it is to respect the RST table format so that gets rendered as a
table in HTML/PDF/etc.


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588780.920380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYaiu-0004lf-PM; Tue, 22 Aug 2023 23:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588780.920380; Tue, 22 Aug 2023 23: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 1qYaiu-0004lY-Mq; Tue, 22 Aug 2023 23:23:44 +0000
Received: by outflank-mailman (input) for mailman id 588780;
 Tue, 22 Aug 2023 23:23:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYait-0004lQ-Rv
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:23:43 +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 ed77c1b2-4142-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 01:23:41 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A9FCF62236;
 Tue, 22 Aug 2023 23:23:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0049BC433C7;
 Tue, 22 Aug 2023 23:23: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: ed77c1b2-4142-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692746619;
	bh=EBY87oWIPn3k66W6fK7Ox2GKasMHen2d4O315s4l+cM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lud944Crnd0V5cRJbUTBYFL+1R+ELe81Njv1/pC1hmNKgmxWKwcUIVnDyE0WZ4Pm7
	 0bWYa0Uf9Dxdu4/0fTl/kmjzKjsIrv5t2gwSu6RjmxRO7MC0YTw9lso8RI/t7pUY7R
	 Gf7NnKZVecAJkV3wfWMYZ7xIRQgGcVUYG9Zigxzj1Qne2+vfAA1k+h7yTqglEvipem
	 rImbObu7pgVOkOY4gWCVXJG/8pTu6HNUjyiMrnbZDfFQAz53FJEZfNiRmWFy4BOMvy
	 9QgK83a7g6Ww2+9gHIbajGNOQa9wEXfFVZLxoYyGb/tYek2Sr0ADWT5KlPveD70Vsd
	 uK7GtlbAGz80A==
Date: Tue, 22 Aug 2023 16:23: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>, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, julien@xen.org, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] docs/misra: add exceptions to rules
In-Reply-To: <370dd885-0f80-5d18-62b9-9ccbc2696d28@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308221623250.6458@ubuntu-linux-20-04-desktop>
References: <20230822013014.2523202-1-sstabellini@kernel.org> <370dd885-0f80-5d18-62b9-9ccbc2696d28@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 22 Aug 2023, Jan Beulich wrote:
> On 22.08.2023 03:30, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > During the discussions that led to the acceptable of the Rules, we
> 
> Nit: acceptance
> 
> > decided on a few exceptions that were not properly recorded in
> > rules.rst. Other times, the exceptions were decided later when it came
> > to enabling a rule in ECLAIR.
> > 
> > Either way, update rules.rst with appropriate notes.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> >[...]
> > @@ -239,13 +256,16 @@ maintainers if you want to suggest a change.
> >       - Required
> >       - All declarations of an object or function shall use the same
> >         names and type qualifiers
> > -     -
> > +     - The type ret_t maybe be deliberately used and defined as int or
> > +       long depending on the type of guest to service
> >  
> >     * - `Rule 8.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_04.c>`_
> >       - Required
> >       - A compatible declaration shall be visible when an object or
> >         function with external linkage is defined
> > -     -
> > +     - Allowed exceptions: asm-offsets.c (definitions for asm modules
> > +       not called from C code), gcov_base.c (definitions only used in
> > +       non-release builds)
> 
> Doesn't this want to be
> 
>      - Allowed exceptions: asm-offsets.c, definitions for asm modules
>        not called from C code, and gcov_base.c (definitions only used in
>        non-release builds)
> 
> ? As to coverage: Why "only used in non-release builds"? COVERAGE doesn't
> depend on DEBUG, and people may actually want to enable it for release
> builds. Just likely not for production ones.
> 
> If you agree with and make respective adjustments:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Yes I agree to the changes and I made them on commit


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:32:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588787.920391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYarN-0006Jp-LI; Tue, 22 Aug 2023 23:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588787.920391; Tue, 22 Aug 2023 23:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYarN-0006Ji-Gm; Tue, 22 Aug 2023 23:32:29 +0000
Received: by outflank-mailman (input) for mailman id 588787;
 Tue, 22 Aug 2023 23:32:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYarM-0006Jc-TR
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:32:28 +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 269e8362-4144-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 01:32:26 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 05277639FC;
 Tue, 22 Aug 2023 23:32:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 387E2C433C8;
 Tue, 22 Aug 2023 23:32: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: 269e8362-4144-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692747144;
	bh=/LmPNMp2lqWs2FiJacKfkAUWQLIiik16dBKmml8Bqb8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=abw1XUk345OKKiB1u5rlbGdnkm8Y4PNCGcJUofLneoTDXy/8t74OE2J0Ii+91QD92
	 MNMfxdbAd7eSHeFIQqPGnPT1Dj93jv0Cc7A0407yIfNY24EtvfOIh2drwa/08uBT4A
	 /N1ENkzljzD+AG1vHx/2IMQENGP8PRLhTRJTu8W8nJfp+SmAZodIhoA9m2DJMy2nvW
	 QqT2V+Nb04RZ49vknC2IOwvMR89ek9E1yuI7sef4+ab5YpSv4upqmdjJo0YCTGqlAe
	 4ZWzAYmT/kMrh2tu9XCHBdBcq6mo6baovPjMHGWbhmv/BVcZaR+oNLSKNd/5Xz3YPW
	 qpBWCKlxGaHbg==
Date: Tue, 22 Aug 2023 16:32:21 -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, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com, 
    nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2] docs/misra: document gcc-specific behavior with
 shifting signed integers
In-Reply-To: <de59a660-1566-44eb-8fd8-b99499e97e99@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308221624280.6458@ubuntu-linux-20-04-desktop>
References: <20230822010228.2517542-1-sstabellini@kernel.org> <de59a660-1566-44eb-8fd8-b99499e97e99@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 22 Aug 2023, Julien Grall wrote:
> Hi Stefano,
> 
> On 22/08/2023 02:02, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > v2:
> > - split << and >>
> > - do not use the word "shift" instead of << or >>
> > ---
> >   docs/misra/C-language-toolchain.rst | 9 +++++++++
> >   1 file changed, 9 insertions(+)
> > 
> > diff --git a/docs/misra/C-language-toolchain.rst
> > b/docs/misra/C-language-toolchain.rst
> > index 785aed1eaf..4c4942a113 100644
> > --- a/docs/misra/C-language-toolchain.rst
> > +++ b/docs/misra/C-language-toolchain.rst
> > @@ -200,6 +200,15 @@ The table columns are as follows:
> >        - ARM64, X86_64
> >        - See Section "6.29 Designated Initializers" of GCC_MANUAL
> >   +   * - Signed << compiler-defined behavior
> > +     - All architectures
> > +     - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
> > +       C language, GCC does not use the latitude given in C99 and C11
> > +       only to treat certain aspects of signed << as undefined.
> > +
> > +   * - Signed >> acts on negative numbers by sign extension
> > +     - All architectures
> > +     - See Section "4.5 Integers" of GCC_MANUAL.
> 
> I noticed that all this document is referring to GCC. But we also support
> CLang. Did you confirm that CLang abide with this behavior?

Hi Julien,

No, only GCC. The analysis and documentation so far has been done only
for GCC, as you can see from all the various mentions and pointers to
the GCC manual scattered through C-language-toolchain.rst. Actually I
think it would be very useful for our users to do the same also for
CLang, given that some safety compilers are based on CLang. And it would
be very useful to know if there are any difference. If collectively we
start to find corresponding references to the CLang manual we could add
them one by one to C-language-toolchain.rst as we find them.


From xen-devel-bounces@lists.xenproject.org Tue Aug 22 23:34:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 Aug 2023 23:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588793.920401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYatC-0006s2-V3; Tue, 22 Aug 2023 23:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588793.920401; Tue, 22 Aug 2023 23:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYatC-0006rv-RL; Tue, 22 Aug 2023 23:34:22 +0000
Received: by outflank-mailman (input) for mailman id 588793;
 Tue, 22 Aug 2023 23:34:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gk3p=EH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYatB-0006rp-Ac
 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2023 23:34:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a4a1fe9-4144-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 01:34:20 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B154463A52;
 Tue, 22 Aug 2023 23:34:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0326C433C7;
 Tue, 22 Aug 2023 23:34:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a4a1fe9-4144-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692747258;
	bh=eI3DM2SXl024x9UIB0LpBIHV2IXfh7qFJua/gY5uHbE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Mx+4fXCydDJJuPV14CcDlUmv4nBib7X9m1qtEpe9nJLRiNWNGrxMg8PG+X8/scIvs
	 p6o37sJBZyQLZSuKi8dARY1V11jMLNyvnmuUFK6TlDxP0Cq1tUF0lCdal4R0B2xYJ6
	 QhTbKM7/LRZA6rq15s7wZm+7l3rYtGtvFkNjF9txcMxVbJ7HwSkcT+ygR50mWoS5x0
	 3cED19srgjVt32N2KxMSBVzc2K93SaWpz4tSPWzeZlHuY8Xn5MdfhyiJFSsZXhcPBo
	 RTEqI5qQXxsLSs0Rs4uqKt47UUDp1lBXwGZl3KiuVDxDFh6Firv61JBY0we6bolBha
	 UkIpVZsd6wzyg==
Date: Tue, 22 Aug 2023 16:34:15 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [RFC PATCH 3/3] automation/eclair: build docs/misra to address
 MISRA C:2012 Dir 4.1
In-Reply-To: <fc8a60f5224f4285f674c83c42cff5b3681c29cd.1692636338.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308221634090.6458@ubuntu-linux-20-04-desktop>
References: <cover.1692636338.git.nicola.vetrini@bugseng.com> <fc8a60f5224f4285f674c83c42cff5b3681c29cd.1692636338.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 Mon, 21 Aug 2023, Nicola Vetrini wrote:
> The documentation pertaining Directive 4.1 is contained in docs/misra.
> The build script driving the analysis is amended to allow ECLAIR to
> find it and thus resolving violations of the directive.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  automation/eclair_analysis/build.sh   | 10 ++++++++--
>  automation/eclair_analysis/prepare.sh |  1 +
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/eclair_analysis/build.sh b/automation/eclair_analysis/build.sh
> index ec087dd822fa..a0433eedeb4d 100755
> --- a/automation/eclair_analysis/build.sh
> +++ b/automation/eclair_analysis/build.sh
> @@ -34,8 +34,14 @@ else
>  fi
>  
>  (
> -  cd xen
> -
> +  cd docs
> +  make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
> +       "CROSS_COMPILE=${CROSS_COMPILE}"         \
> +       "CC=${CROSS_COMPILE}gcc-12"              \
> +       "CXX=${CROSS_COMPILE}g++-12"             \
> +       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
> +       misra
> +  cd ../xen
>    make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>         "CROSS_COMPILE=${CROSS_COMPILE}"         \
>         "CC=${CROSS_COMPILE}gcc-12"              \
> diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
> index 275a1a3f517c..10854741790e 100755
> --- a/automation/eclair_analysis/prepare.sh
> +++ b/automation/eclair_analysis/prepare.sh
> @@ -35,6 +35,7 @@ else
>  fi
>  
>  (
> +    ./configure
>      cd xen
>      cp "${CONFIG_FILE}" .config
>      make clean
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:10:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:10:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588806.920411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbRw-0003qZ-5q; Wed, 23 Aug 2023 00:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588806.920411; Wed, 23 Aug 2023 00:10:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbRw-0003qS-2Y; Wed, 23 Aug 2023 00:10:16 +0000
Received: by outflank-mailman (input) for mailman id 588806;
 Wed, 23 Aug 2023 00:10: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYbRu-0003qM-4z
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 00:10: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 6bbb22ca-4149-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 02:10:10 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B22A963E32;
 Wed, 23 Aug 2023 00:10:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE0F6C433C9;
 Wed, 23 Aug 2023 00:10: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: 6bbb22ca-4149-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692749408;
	bh=uk1Hl9USxu4up6h5O9g0vTC317SzaqVg7tVlFDrcRYc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rv2QR2TXbulwJXgAHhAXhRgiRQLuTJomvkmUTxbOmjsXLnnXZv2UmSf6V5bwDTBHi
	 CU0NqoZVith9nkBvaOShRsjEn5jwO36RNWC/SoDWEV5eDJwW8AIMDYJ1CRM6F4tWkI
	 yKExIlg/EeuM+uAwbIuMWa5zn4JLmd0Ym6PetiJBc/JtphlFPAk7hKA/b7yK0EBkyB
	 VMyG5+LHffQldmvR7KDui5xmUW7sOmfnV5kcGlau/s/h6iOdVgXGpsKYoIqBN466SJ
	 53zu/CHCqwI2UPMijJPSVrxO+Dyc6ySScf9slHjK4OCtR7Aq55VHst0rImsjgoeNkf
	 iPoRj2pci+rkg==
Date: Tue, 22 Aug 2023 17:10: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: Henry Wang <Henry.Wang@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Penny Zheng <Penny.Zheng@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
In-Reply-To: <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308221656400.6458@ubuntu-linux-20-04-desktop>
References: <20230814042536.878720-1-Henry.Wang@arm.com> <20230814042536.878720-13-Henry.Wang@arm.com> <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org> <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com> <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-416300-1692748692=:6458"
Content-ID: <alpine.DEB.2.22.394.2308221658280.6458@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-416300-1692748692=:6458
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308221658281.6458@ubuntu-linux-20-04-desktop>

On Tue, 22 Aug 2023, Julien Grall wrote:
> > > I also don't like the idea of having again a massive mm.c files. So maybe
> > > we need a split like:
> > >   * File 1: Boot CPU0 MM bringup (mmu/setup.c)
> > >   * File 2: Secondary CPUs MM bringup (mmu/smpboot.c)
> > >   * File 3: Page tables update. (mmu/pt.c)
> > > 
> > > Ideally file 1 should contain only init code/data so it can be marked as
> > > .init. So the static pagetables may want to be defined in mmu/pt.c.
> > 
> > So based on Julienâ€™s suggestion, Penny and I worked a bit on the current
> > functions in â€œarch/arm/mm.câ€ and we would like to propose below split
> > scheme, would you please comment on if below makes sense to you,
> > thanks!
> > 
> > """
> > static void __init __maybe_unused build_assertions()      -> arch/arm/mm.c
> 
> All the existing build assertions seems to be MMU specific. So shouldn't they
> be moved to mmu/mm.c.
> 
> > static lpae_t *xen_map_table()                            -> mmu/pt.c
> > static void xen_unmap_table()                             -> mmu/pt.c
> > void dump_pt_walk()                                       -> mmu/pt.c
> > void dump_hyp_walk()                                      -> mmu/pt.c
> > lpae_t mfn_to_xen_entry()                                 -> mmu/pt.c
> > void set_fixmap()                                         -> mmu/pt.c
> > void clear_fixmap()                                       -> mmu/pt.c
> > void flush_page_to_ram()                                  -> arch/arm/mm.c?
> 
> I think it should stay in arch/arm/mm.c because you will probably need to
> clean a page even on MPU systems.

I take you are referring to flush_page_to_ram() only, and not the other
functions above


> > lpae_t pte_of_xenaddr()                                   -> mmu/pt.c
> > void * __init early_fdt_map()                             -> mmu/setup.c
> > void __init remove_early_mappings()                       -> mmu/setup.c
> > static void xen_pt_enforce_wnx()                          -> mmu/pt.c,
> > export it
> 
> AFAIU, it would be called from smpboot.c and setup.c. For the former, the
> caller is mmu_init_secondary_cpu() which I think can be folded in head.S.
> 
> If we do that, then xen_pt_enforce_wnx() can be moved in setup.c and doesn't
> need to be exported.
> 
> > static void clear_table()                                 -> mmu/smpboot.c
> > void __init setup_pagetables()                            -> mmu/setup.c
> > static void clear_boot_pagetables()                       -> mmu/smpboot.c

Why clear_table() and clear_boot_pagetables() in mmu/smpboot.c rather
than mmu/setup.c ? It is OK either way as it does seem to make much of a
difference but I am curious.


> > int init_secondary_pagetables()                           -> mmu/smpboot.c
> > void mmu_init_secondary_cpu()                             -> mmu/smpboot.c
> > void __init setup_directmap_mappings()                    -> mmu/setup.c
> > void __init setup_frametable_mappings()                   -> mmu/setup.c
> > void *__init arch_vmap_virt_end()                         -> arch/arm/mm.c
> > or mmu/setup.c?
> 
> AFAIU, the VMAP will not be used for MPU systems. So this would want to go in
> mmu/. I am ok with setup.c.
> 
> > void *ioremap_attr()                                      -> mmu/pt.c
> > void *ioremap()                                           -> mmu/pt.c
> > static int create_xen_table()                             -> mmu/pt.c
> > static int xen_pt_next_level()                            -> mmu/pt.c
> > static bool xen_pt_check_entry()                          -> mmu/pt.c
> > static int xen_pt_update_entry()                          -> mmu/pt.c
> > static int xen_pt_mapping_level()                         -> mmu/pt.c
> > static unsigned int xen_pt_check_contig()                 -> mmu/pt.c
> > static int xen_pt_update()                                -> mmu/pt.c
> > int map_pages_to_xen()                                    -> mmu/pt.c
> > int __init populate_pt_range()                            -> mmu/pt.c
> > int destroy_xen_mappings()                                -> mmu/pt.c
> > int modify_xen_mappings()                                 -> mmu/pt.c
> > void free_init_memory()                                   -> mmu/setup.c
> > void arch_dump_shared_mem_info()                          -> arch/arm/mm.c
> > int steal_page()                                          -> arch/arm/mm.c
> > int page_is_ram_type()                                    -> arch/arm/mm.c
> > unsigned long domain_get_maximum_gpfn()                   -> arch/arm/mm.c
> > void share_xen_page_with_guest()                          -> arch/arm/mm.c
> > int xenmem_add_to_physmap_one()                           -> arch/arm/mm.c
> > long arch_memory_op()                                     -> arch/arm/mm.c
> > static struct domain *page_get_owner_and_nr_reference()   -> arch/arm/mm.c
> > struct domain *page_get_owner_and_reference()             -> arch/arm/mm.c
> > void put_page_nr()                                        -> arch/arm/mm.c
> > void put_page()                                           -> arch/arm/mm.c
> > bool get_page_nr()                                        -> arch/arm/mm.c
> > bool get_page()                                           -> arch/arm/mm.c
> > int get_page_type()                                       -> arch/arm/mm.c
> > void put_page_type()                                      -> arch/arm/mm.c
> > int create_grant_host_mapping()                           -> arch/arm/mm.c
> > int replace_grant_host_mapping()                          -> arch/arm/mm.c
> > bool is_iomem_page()                                      -> arch/arm/mm.c
> > void clear_and_clean_page()                               -> arch/arm/mm.c
> > unsigned long get_upper_mfn_bound()                       -> arch/arm/mm.c
> > """
> 
> The placement of all the ones I didn't comment on look fine to me. It would be
> good to have a second opinion from either Bertrand or Stefano before you start
> moving the functions.

It looks good in principle and it also looks like a great clean up. It
is not always super clear to me the distinction between mmu/pt.c,
mmu/smpboot.c and mmu/setup.c but it doesn't seem important. The
distinction between mmu/* and arch/arm/mm.c is clear and looks fine to
me.

I am looking forward to this!

--8323329-416300-1692748692=:6458--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:20:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588813.920421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbbL-0004cp-2G; Wed, 23 Aug 2023 00:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588813.920421; Wed, 23 Aug 2023 00:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbbK-0004ci-UT; Wed, 23 Aug 2023 00:19:58 +0000
Received: by outflank-mailman (input) for mailman id 588813;
 Wed, 23 Aug 2023 00:19: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYbbK-0004ca-BE
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 00:19:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9b333bf-414a-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 02:19:57 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 823586153F;
 Wed, 23 Aug 2023 00:19:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12DDBC433C8;
 Wed, 23 Aug 2023 00:19:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9b333bf-414a-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692749994;
	bh=a3GUZjo0LqA5h9rsjua3j8UNvNddK4w+CzPyMg8A8hY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=vBNBTx4sF2L/58DjZ+C/Lq+OGbTDBiZAXwU6bk0Ss6AtL87nEaoWzOQnD+/1jNIyA
	 3mZbVMBFTezbWWgRt7/B4JUlW6G7Hl+ilDcxDTyR/xBT1HwHaucuajXzsM5U2gyoi8
	 x7ZP9aK95HomStbiJreJ4UnvGDDtu0ZJjLfT5m0BH48wD3DmT/TYQcGw2LPDzo3ONI
	 RW1L/GCgo5vMsIAf35CT/ZJmbc/OryNZ1VTWXPfnf+m5FdAzryAVX1IMzvCGRdfEp4
	 oen+N+8YMw70wmcoapIpSdpP2XvX07xYH07H0KSc28kFIivzlbIGYd56wcUmJTYn7V
	 dp1jxGouAM6dw==
Date: Tue, 22 Aug 2023 17:19:52 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] docs/misra: add exceptions to rules
In-Reply-To: <cb10f21e-afe4-6593-f10a-fefd1731bf90@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308221715290.6458@ubuntu-linux-20-04-desktop>
References: <20230819012410.1754839-1-sstabellini@kernel.org> <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com> <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop> <89c57dd1494de14168dc0c7f4aed959e@bugseng.com>
 <cb10f21e-afe4-6593-f10a-fefd1731bf90@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 22 Aug 2023, Jan Beulich wrote:
> (re-adding xen-devel@)
> 
> On 22.08.2023 17:09, Nicola Vetrini wrote:
> > 
> >>>> +         - Switch with a controlling value incompatible with labeled
> >>>> +           statements
> >>>
> >>> What does this mean?
> >>
> >> I am not certain about this one actually. It could be when we have:
> >>
> >> switch (var) {
> >>   case 1:
> >>       something();
> >>       break;
> >>   case 2:
> >>       something();
> >>       break;
> >> }
> >>
> >> and var could be 3 in theory?
> >>
> >> Nicola, please confirm.
> >>
> >>
> > 
> > This one is about case labels that are statically determined not to be 
> > reachable (and hence
> > saying that the code under that label is unreachable is not inaccurate) 
> > because the
> > controlling expression of the switch statement can never have such 
> > value. An example below:
> > 
> > $ cat p.c
> > int f(void) {
> >    char c;
> >    switch (c) {
> >      case 260:
> >        return 260;
> >      case 4:
> >        return 4;
> >    }
> > }
> > 
> > $ eclair_env -enable=MC3.R2.1,B.REPORT.TXT -- gcc -c p.c
> > violation for rule MC3.R2.1: (required) A project shall not contain 
> > unreachable code. (untagged)
> > p.c:3.3-3.8: Loc #1 [culprit: `switch' statement has a controlling value 
> > incompatible with labeled statement]
> >    switch (c) {
> >    <~~~~>
> > p.c:5.14-5.16: Loc #2 [evidence: integer literal is unreachable]
> >        return 260;
> >               <~>
> > 
> > This is also true for things like
> > 
> > switch(sizeof(int)) {
> >    case 2:
> >      ...
> >    case 4:
> >      ...
> > }
> 
> Ah yes, we certainly have quite a few of those. Not sure how to best
> describe such for the doc, but what was suggested (still visible at
> the top) doesn't get this across, I'm afraid,

What about: "switch with a controlling value statically determined not
to match one or more case statements"

I'll send it as part of a separate new patch to update rules.rst for 2.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588821.920431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbf1-0006DX-Kg; Wed, 23 Aug 2023 00:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588821.920431; Wed, 23 Aug 2023 00:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbf1-0006DQ-Gf; Wed, 23 Aug 2023 00:23:47 +0000
Received: by outflank-mailman (input) for mailman id 588821;
 Wed, 23 Aug 2023 00:23:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYbf0-0006DG-AI; Wed, 23 Aug 2023 00:23:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYbf0-0003g2-4U; Wed, 23 Aug 2023 00:23:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYbez-0007f7-JG; Wed, 23 Aug 2023 00:23:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYbez-0008D6-Iu; Wed, 23 Aug 2023 00:23:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ufChtTbeAxElJI+iwAUxkzfXg2QaS8+ppkCE9t5QbUg=; b=0oMRGBxCe9e2kHpPXOrPdahpnp
	fUbi8HomUqiYRhQVvaIisAXato0G3l8H1lovmQGhqDx4PoLvkeMiTe2yfrm7zvxUv63vFyCOJEvig
	poqO7SSm269FWb4Tjf8hHjVSsES7G/mr0hYYto6PjArVyiBNUHXML/ztVQKod/M3S4xc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182422-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182422: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b0dd9a7d6dd15a6898e9c585b521e6bec79b25aa
X-Osstest-Versions-That:
    qemuu=0d52116fd82cdd1f4a88837336af5b6290c364a4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 00:23:45 +0000

flight 182422 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182422/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182355
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182355
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182355
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182355
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182355
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182355
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182355
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182355
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                b0dd9a7d6dd15a6898e9c585b521e6bec79b25aa
baseline version:
 qemuu                0d52116fd82cdd1f4a88837336af5b6290c364a4

Last test of basis   182355  2023-08-16 02:55:57 Z    6 days
Testing same since   182422  2023-08-22 14:39:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   0d52116fd8..b0dd9a7d6d  b0dd9a7d6dd15a6898e9c585b521e6bec79b25aa -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:24:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588824.920440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbfK-0006a8-SZ; Wed, 23 Aug 2023 00:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588824.920440; Wed, 23 Aug 2023 00: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 1qYbfK-0006a1-Pr; Wed, 23 Aug 2023 00:24:06 +0000
Received: by outflank-mailman (input) for mailman id 588824;
 Wed, 23 Aug 2023 00:24: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYbfJ-0006Xe-Dy
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 00:24:05 +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 5b3fdff9-414b-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 02:24:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1D37B60FBC;
 Wed, 23 Aug 2023 00:24:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0483EC433C8;
 Wed, 23 Aug 2023 00:23: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: 5b3fdff9-414b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692750239;
	bh=A75RqVeGHuBNiHFToPKHR8bPx5v5AC123F8DAsHbQYo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KoH29ZoaJLbTjHrv1TLgSZV4dy0m3EeArepZWUlwnWIuHlS6/C6Rs+hRQYXo6s6If
	 eOj4ffRRc9VLI9H0mtuH+YbEI0NHRIPmRrew7TlpkEjlDbKPnHAfRKPazNC1/8eNeQ
	 BitZiHKHVXVFcKoXl67rFGvyyc4POHyKk0THxxpGINkl2O+R8FIpTr/vb4v2L/VuO9
	 LicEjeZ3FLz5hpqeRelLRLkMyyrYxIy5s6zEgJtVEh6Ts2e2GJJHkad0s4hkGcIn2f
	 9JXN0fstBCjqc3W4siKwqAI/C5g2OO8rffHCma0V7uaSbp6cVPGnXOo8Az7pPb1JKw
	 IOYYe1DFtkToQ==
Date: Tue, 22 Aug 2023 17:23:56 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, julien@xen.org, bertrand.marquis@arm.com, 
    nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add exceptions to rules
In-Reply-To: <1fd0b3b6-0771-66ad-9b3d-85358ab4102c@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308221712070.6458@ubuntu-linux-20-04-desktop>
References: <20230819012410.1754839-1-sstabellini@kernel.org> <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com> <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop> <1fd0b3b6-0771-66ad-9b3d-85358ab4102c@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 22 Aug 2023, Jan Beulich wrote:
> On 22.08.2023 03:40, Stefano Stabellini wrote:
> > On Mon, 21 Aug 2023, Jan Beulich wrote:
> >> On 19.08.2023 03:24, Stefano Stabellini wrote:
> >>> @@ -106,7 +107,23 @@ maintainers if you want to suggest a change.
> >>>     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
> >>>       - Required
> >>>       - A project shall not contain unreachable code
> >>> -     -
> >>> +     - The following are allowed:
> >>> +         - Invariantly constant conditions (e.g. while(0) { S; })
> >>
> >> When (and why) was this decided? The example given looks exactly like what
> >> Misra wants us to not have.
> > 
> > This covers things like:
> > 
> > if (IS_ENABLED(CONFIG_HVM))
> > 
> > which could resolve in if (0) in certain configurations. I think we gave
> > feedback to Roberto that we wanted to keep this type of things as is.
> 
> Ah, I see. But then perhaps mention that rather than plain 0 here?

Yes, I'll do


> See below as to whether a complete list of excepted constructs is
> wanted.

[...]

> >>> +         - Unreachability caused by the following macros/functions is
> >>> +           deliberate: BUG, assert_failed, ERROR_EXIT, ERROR_EXIT_DOM,
> >>> +           PIN_FAIL, __builtin_unreachable, panic, do_unexpected_trap,
> >>> +           machine_halt, machine_restart, machine_reboot,
> >>> +           ASSERT_UNREACHABLE
> >>
> >> Base infrastructure items like BUG() are imo fine to mention here. But
> >> specific items shouldn't be; the more we mention here, the more we invite
> >> the list to be grown. Note also how you mention items which no longer
> >> exist (ERROR_EXIT{,_DOM}, PIN_FAIL).
> > 
> > The question is whether we want this list to be exhaustive (so we want
> > to mention everything for which we make an exception) or only an example
> > (in which case just BUG is fine.)
> > 
> > Let's say we only mention BUG. Where should we keep the exhaustive list?
> > Is it OK if it only lives as an ECLAIR config file under
> > automation/eclair_analysis? There is another very similar question
> > below.
> 
> First and foremost we need to have a single place where everything is
> recorded, or where at least a pointer exists to where further details
> are. As to this being the Eclair config file: Shouldn't any such
> constructs rather be listed in the deviations file, such that e.g.
> cppcheck can also benefit?

Yes, you are right. Basically the choice is whether we want a
project-wide deviation, something like a change in how we interpret the
rules, or a regular deviation for one macro or one function.

After reading your comments, I also think that all the macros above
should be covered by safe.json and in-code comments instead.



> > BTW I think both options are OK.
> > 
> > If we only mention BUG, we are basically saying that as a general rule
> > only BUG is an exception. Then we have a longer more detailed list for
> > ECLAIR because in practice things are always complicated.
> > 
> > On the other hand if we have the full list here, then the documentation
> > is more precise, but it looks a bit "strange" to see such a detailed
> > list in this document and also we need to make sure to keep the list
> > up-to-date.
> 
> Thing is: This list shouldn't grow very long anyway, and also better
> would grow / change much over time.

+1


> >>> @@ -167,7 +184,7 @@ maintainers if you want to suggest a change.
> >>>     * - `Rule 5.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
> >>>       - Required
> >>>       - A typedef name shall be a unique identifier
> >>> -     -
> >>> +     - BOOLEAN, UINT{8,32,64} and INT{8,32,64} are allowed
> >>
> >> I think this permission needs to be limited as much as possible.
> > 
> > Maybe we should take this out completely given that they should be
> > limited to efi and acpi code that is excepted anyway
> 
> I would favor that, yes.
> 
> >>> @@ -183,7 +200,10 @@ maintainers if you want to suggest a change.
> >>>     * - `Rule 7.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_01.c>`_
> >>>       - Required
> >>>       - Octal constants shall not be used
> >>> -     -
> >>> +     - Usage of the following constants is safe, since they are given
> >>> +       as-is in the inflate algorithm specification and there is
> >>> +       therefore no risk of them being interpreted as decimal constants:
> >>> +       ^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$
> >>
> >> This is a very odd set of exceptions, which by stating them here you then
> >> grant to be exercised everywhere. Once again I don't think special cases
> >> dealing with a single source or sub-component should be globally named.
> > 
> > Actually I agree with you there. The problem is where to put them.
> 
> safe.json?

Yes you are right

 
> > Right now we have docs/misra/rules.rst with the list of accepted rules
> > and their special interpretations by Xen Project. We also have the
> > ECLAIR configuration under automation/eclair_analysis with a bunch of
> > ECLAIR specific config files.
> > 
> > Is it OK if the constants above only live under
> > automation/eclair_analysis and nowhere else? Or should we have another
> > rst document under docs/misra for special cases dealing with a single
> > source? 
> 
> As per above, I think putting anything in Eclair's config file should
> only ever be a last resort. Wherever possible we should try to put stuff
> in files which aren't tool specific. Where necessary special tool
> settings can then be (machine-)derived from there.

I agree. I'll send out another patch to update rules.rst. And later as a
follow-up I'll see what I can do to update safe.json.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:25:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588835.920451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbgJ-0007I5-6o; Wed, 23 Aug 2023 00:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588835.920451; Wed, 23 Aug 2023 00:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYbgJ-0007Hy-40; Wed, 23 Aug 2023 00:25:07 +0000
Received: by outflank-mailman (input) for mailman id 588835;
 Wed, 23 Aug 2023 00:25:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYbgH-0007Hd-Hy
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 00:25: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 80b6b78c-414b-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 02:25:04 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DDC70621B6;
 Wed, 23 Aug 2023 00:25:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3A51C433C9;
 Wed, 23 Aug 2023 00:25: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: 80b6b78c-414b-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692750302;
	bh=0fnDgd9VqxOhuS1+2vFxp51JlrQK6RbDCPZVAh1WEwE=;
	h=From:To:Cc:Subject:Date:From;
	b=EfY29OCnM0trBR+PwPXWgCjBxczMgTxavenZipD4kGdt4omD3F8erEFhhHdG8y+oQ
	 e/MWUy2URAIuAl+54kBOAtRJwd4MsipfjGMkcU0K/+Kvy2l6LA5cBXSCIjXW0NBQ+z
	 5WGGl3ZRZCDXopTLsBSawqXz6hG8xioEjIS/J8V4oXX2CSGq+lcnAHGCwHtCBT4Y+4
	 rbzydXECI7WCxyWFQjgNbeuTria4fHR2vC6pIKgdLnvja4TeiI7/2tbRUF02OlT52p
	 Z3+bwmzc2h8ry7kMtOZ+S6nhi43QYuo4O3g1ZlFA0KZv7uCkasWe+z7Tm4KCSwUYrc
	 vMLYnkfKyxX6Q==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: add rule 2.1 exceptions
Date: Tue, 22 Aug 2023 17:24:58 -0700
Message-Id: <20230823002458.2738365-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

During the discussions that led to the acceptable of Rule 2.1, we
decided on a few exceptions that were not properly recorded in
rules.rst. Add them now.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 docs/misra/rules.rst | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index b6d87e076b..8f38227994 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -107,7 +107,18 @@ maintainers if you want to suggest a change.
    * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
      - Required
      - A project shall not contain unreachable code
-     -
+     - The following are allowed:
+         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
+         - Switch with a controlling value statically determined not to
+           match one or more case statements
+         - Functions that are intended to be never referenced from C
+           code (e.g. 'do_trap_fiq')
+         - Unreachability caused by the certain macros/functions is
+           deliberate, e.g. BUG, assert_failed, panic, etc.
+         - asm-offsets.c, as they are not linked deliberately, because
+           they are used to generate definitions for asm modules
+         - declarations without initializer are safe, as they are not
+           executed
 
    * - `Rule 2.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_06.c>`_
      - Advisory
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 00:59:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 00:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588845.920461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYcDU-0002s7-SI; Wed, 23 Aug 2023 00:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588845.920461; Wed, 23 Aug 2023 00: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 1qYcDU-0002s0-Pe; Wed, 23 Aug 2023 00:59:24 +0000
Received: by outflank-mailman (input) for mailman id 588845;
 Wed, 23 Aug 2023 00:59:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iGE6=EI=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYcDS-0002ru-HL
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 00:59:22 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a371453-4150-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 02:59:20 +0200 (CEST)
Received: from DU2PR04CA0179.eurprd04.prod.outlook.com (2603:10a6:10:2b0::34)
 by AM9PR08MB6306.eurprd08.prod.outlook.com (2603:10a6:20b:2d6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 00:59:12 +0000
Received: from DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b0::4) by DU2PR04CA0179.outlook.office365.com
 (2603:10a6:10:2b0::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25 via Frontend
 Transport; Wed, 23 Aug 2023 00:59:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT047.mail.protection.outlook.com (100.127.143.25) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.16 via Frontend Transport; Wed, 23 Aug 2023 00:59:11 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Wed, 23 Aug 2023 00:59:11 +0000
Received: from 2ecfea0de9db.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 128662C8-D6B9-4AD0-B0C8-DB06619CCA5B.1; 
 Wed, 23 Aug 2023 00:59:00 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2ecfea0de9db.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 23 Aug 2023 00:59:00 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU2PR08MB7327.eurprd08.prod.outlook.com (2603:10a6:10:2e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 00:58:58 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 00:58:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a371453-4150-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m0Vb+PFpyVNmv4TmOKhB0VIx+EXYu/A3OO+at38wZOE=;
 b=6xODFnY3JZ8x3+iPq4Jg3dSJmq5aU0Sn5gWpTXbyzo5B0ntfZytFxBO+1h6sishXrjr4FPd+Tep/loSPveyv9SmMMJCoICNIPO4m02mRbd44TdsWWuTUtlj6x6exsc3mqMflYVcNVn0uaN5QrZgnalbp5vqq6dawQPKIFR3QQ90=
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: 31904cd7c4bcea58
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GK85c2z5woaqKS6Jho6UHIhKWJkimf4sxIzBaEN5Y4Erbui114G1p4ZxQThJSJ15Z766/jZQZvQxYZ1PTyvt4dv9zmoptrqqQPHRGoPGBBnfjrhkAzG0VDw2b/uyAKQJGO54L92s2awxhZLayi0RO7NRTkHDdCiQKIbBjGtpS5Cu8ximPh6Z1NFgqJ/sXna7wudnEHRHL5trDabZGyOvMyHZUiavJKmlYbd1lRXLiwu3663Py7FFpIGX0hAraTZVy9IZCPZ4Y9DjfUebthaaQdq9athMLsZH40FyOQuZ3aCICQw22+EYihq9axC135rG9vEpHdtdUtHTDCS12Ccunw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m0Vb+PFpyVNmv4TmOKhB0VIx+EXYu/A3OO+at38wZOE=;
 b=GH5Ia1yNvF15KX0x8jPu39GzXjE8pY5V9N2UjqvUtk+iSs4vFkLueOsvSdJQAoftOnA5O1IKobazncN7cw3qw9CikOqbXK288uCmwcN4BGPFn4c1Cq/Evyc74YQ9rMkrAO53Q3AwLA3bFi7lmWdEUp28Fll3GlI6V7vwe/vzcarVn9QV1wNG/cxp+evqeeRHmcWaCQA7Nk+pohUbVbqY1QmYd+XOhYaT8u/FeMsamtTiwWauSOcVnOU8zre6iWnQQQpuPWMQajp+ZOkZh4W50jDgqET7qO9xlylajgobTiUGW3LB3Q4aC3v7wnSC3dU4UmOZ5xXO9CuUvV68k6Xa3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=m0Vb+PFpyVNmv4TmOKhB0VIx+EXYu/A3OO+at38wZOE=;
 b=6xODFnY3JZ8x3+iPq4Jg3dSJmq5aU0Sn5gWpTXbyzo5B0ntfZytFxBO+1h6sishXrjr4FPd+Tep/loSPveyv9SmMMJCoICNIPO4m02mRbd44TdsWWuTUtlj6x6exsc3mqMflYVcNVn0uaN5QrZgnalbp5vqq6dawQPKIFR3QQ90=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Xen-devel <xen-devel@lists.xenproject.org>, Penny
 Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Topic: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Thread-Index: AQHZzmeOkWUgiqEb9U2fOmI3mEWP3a/1UMEAgACrQQCAABBYAIABAyyAgAANmwA=
Date: Wed, 23 Aug 2023 00:58:57 +0000
Message-ID: <1CB3A225-F309-4CCB-B559-A9DDD8740099@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
 <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
 <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
 <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
 <alpine.DEB.2.22.394.2308221656400.6458@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2308221656400.6458@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU2PR08MB7327:EE_|DBAEUR03FT047:EE_|AM9PR08MB6306:EE_
X-MS-Office365-Filtering-Correlation-Id: d31b8443-1d26-4f09-104a-08dba37429cd
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:
 KSoSjfxQ9rJS/xbkqgduDlcnCuvYjNUSg+4lVXaMN/PDJ0FVaN+rng5sk7OZWD1J3L1JMgYbzI0TdkCBfw5SH6Bcus0VUuJB/uF1IOuX0vwsMtp1IvMLn72O9swov+ap5UrxxqYHHkrkHK3rWJWjyEAsRVktsD2+sV/Tr0ZQLOSkkio+iTNJ1dav+eHe3H6MyKqw2wg2pA/4Mt1Gx7DAFgY5KVmkdCJ8wPRZzTQoIWsgRpl9Ko1i0dmnspHs/tg6a2E3/gOnbCcJkUtFeF3aAqU//H9jASxgrwKqBMweaKcDhd0WHz9X98kYRFbVDaDBiziOnY6P+D+CwfdHILCx001Rju6FpYdA1oNFqRc2YUG7CncTYlcMCSgm6maFewRF2GGOThHZxufz5GWUl2ZhzUVW30zFzlZOX/XtckTVAdYurOyt0ya7yxTdk2HtaY6pa1eft82uSF7CO9+zUg3Du6VC2Ae/aN0aSXmNAzSp4kK130AT7IFOEg/cCmzQQRqmQsVS0XJj5ZvkVHjbyPO/4EKZQR+89ursO7W08D+29uODfx0GXAsNCo+ITRgbMH5CvmFWy6gFS24gnhzc78dGSLcBAI9WgExAYM0O2jW1hNZXe8wxLyZ1CDS/yJIPuwQoBQdBwbf97n/lNurM2avnXg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39850400004)(136003)(396003)(376002)(451199024)(1800799009)(186009)(2906002)(38070700005)(38100700002)(6506007)(53546011)(6486002)(83380400001)(5660300002)(26005)(33656002)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(64756008)(6512007)(6916009)(54906003)(76116006)(66446008)(66556008)(66476007)(91956017)(66899024)(478600001)(122000001)(71200400001)(36756003)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <01A6C99B1DFD7442892B09F6987055E2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7327
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	91595398-bad1-4a25-142b-08dba37421b5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vPd39HU6yLJgjF92ZLfserrgszsHTG9lgG3y/Iw2d8w3DpsHfpFh4pybbF3gHhKCboHSg98mkbYLFs01hGuKvQZbWY/ODGKGuSSvOvjW+7qqWskGL7qpX1nDdavX900Xg3aniHjOHUs66kFoYJuxFxLjt1VRXmNEbQADD+r3GAy0WHfQtM0DyBGQ1xSpn2jorFWkdD7TjkgSU65/rHi1r5TvXi+kcUiMYnf9vZeMZg3f0EuY8FZ7Gyhk+aan7Xut9toLak4GV3yXOlJthEeXJjHnrlQR5+JCSlPaOof768wZOVwqD+tjE4NP++t+3Am7mwDL2K+kwRqCcu0QF7jo/oG94OzWyXe5Boa0BMAqPH77WHXxzfwhgYW0GjpB0g+4/AtUJuhawTJOk+FuaBu8p6ZjPE7muAcGg7ZqxhUG8+1DQC082OgM5kxUeg0Wq8vVMCBdYsQdZw9Cs76p/MwELh8R8mt7qjATBlOMrLNQ2/RiBBjooPGuxXiGu0GFu03mQuhWkC9nNFya/qSJJ/rQ4xdUQO/VjHX3SCWYlVOg1ZkiLNnIjhQLUvqRChsv/iFnYsga32zMwJY7TNfKM2boOqwDeQiWRmMCDkwEGz/Gj3JjiRNDv0BY6ll5LzLkhjBy37MdlJpJj3ljgGTtw8IgBo/qTWKEFXNk1YcwyqtEZwqvbUriW1CqQmXSJAQyJCsD9TiZ3zj88ZqpADN2sA8vv8lDT9xF16YAPnn8+Wvksc65LNvgskhIZO/9RvJfRufi
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(396003)(136003)(346002)(39860400002)(82310400011)(451199024)(186009)(1800799009)(36840700001)(46966006)(40470700004)(83380400001)(40480700001)(336012)(66899024)(2906002)(36860700001)(40460700003)(47076005)(316002)(6486002)(6506007)(54906003)(53546011)(70206006)(70586007)(478600001)(86362001)(33656002)(36756003)(356005)(82740400003)(5660300002)(81166007)(26005)(2616005)(41300700001)(6512007)(8676002)(8936002)(6862004)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 00:59:11.5895
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d31b8443-1d26-4f09-104a-08dba37429cd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6306

SGkgU3RlZmFubywNCg0KPiBPbiBBdWcgMjMsIDIwMjMsIGF0IDA4OjEwLCBTdGVmYW5vIFN0YWJl
bGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOg0KPiANCj4gT24gVHVlLCAyMiBB
dWcgMjAyMywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+PiBJIGFsc28gZG9uJ3QgbGlrZSB0aGUg
aWRlYSBvZiBoYXZpbmcgYWdhaW4gYSBtYXNzaXZlIG1tLmMgZmlsZXMuIFNvIG1heWJlDQo+Pj4+
IHdlIG5lZWQgYSBzcGxpdCBsaWtlOg0KPj4+PiAgKiBGaWxlIDE6IEJvb3QgQ1BVMCBNTSBicmlu
Z3VwIChtbXUvc2V0dXAuYykNCj4+Pj4gICogRmlsZSAyOiBTZWNvbmRhcnkgQ1BVcyBNTSBicmlu
Z3VwIChtbXUvc21wYm9vdC5jKQ0KPj4+PiAgKiBGaWxlIDM6IFBhZ2UgdGFibGVzIHVwZGF0ZS4g
KG1tdS9wdC5jKQ0KPj4+PiANCj4+Pj4gSWRlYWxseSBmaWxlIDEgc2hvdWxkIGNvbnRhaW4gb25s
eSBpbml0IGNvZGUvZGF0YSBzbyBpdCBjYW4gYmUgbWFya2VkIGFzDQo+Pj4+IC5pbml0LiBTbyB0
aGUgc3RhdGljIHBhZ2V0YWJsZXMgbWF5IHdhbnQgdG8gYmUgZGVmaW5lZCBpbiBtbXUvcHQuYy4N
Cj4+PiANCj4+PiBTbyBiYXNlZCBvbiBKdWxpZW7igJlzIHN1Z2dlc3Rpb24sIFBlbm55IGFuZCBJ
IHdvcmtlZCBhIGJpdCBvbiB0aGUgY3VycmVudA0KPj4+IGZ1bmN0aW9ucyBpbiDigJxhcmNoL2Fy
bS9tbS5j4oCdIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgYmVsb3cgc3BsaXQNCj4+PiBz
Y2hlbWUsIHdvdWxkIHlvdSBwbGVhc2UgY29tbWVudCBvbiBpZiBiZWxvdyBtYWtlcyBzZW5zZSB0
byB5b3UsDQo+Pj4gdGhhbmtzIQ0KPj4+IA0KPj4+ICIiIg0KPj4+IHN0YXRpYyB2b2lkIF9faW5p
dCBfX21heWJlX3VudXNlZCBidWlsZF9hc3NlcnRpb25zKCkgICAgICAtPiBhcmNoL2FybS9tbS5j
DQo+PiANCj4+IEFsbCB0aGUgZXhpc3RpbmcgYnVpbGQgYXNzZXJ0aW9ucyBzZWVtcyB0byBiZSBN
TVUgc3BlY2lmaWMuIFNvIHNob3VsZG4ndCB0aGV5DQo+PiBiZSBtb3ZlZCB0byBtbXUvbW0uYy4N
Cj4+IA0KPj4+IHN0YXRpYyBscGFlX3QgKnhlbl9tYXBfdGFibGUoKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4+IHN0YXRpYyB2b2lkIHhlbl91bm1hcF90YWJsZSgp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4+IHZvaWQgZHVtcF9w
dF93YWxrKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQu
Yw0KPj4+IHZvaWQgZHVtcF9oeXBfd2FsaygpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtPiBtbXUvcHQuYw0KPj4+IGxwYWVfdCBtZm5fdG9feGVuX2VudHJ5KCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0KPj4+IHZvaWQgc2V0X2ZpeG1h
cCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvcHQuYw0K
Pj4+IHZvaWQgY2xlYXJfZml4bWFwKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtPiBtbXUvcHQuYw0KPj4+IHZvaWQgZmx1c2hfcGFnZV90b19yYW0oKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtPiBhcmNoL2FybS9tbS5jPw0KPj4gDQo+PiBJIHRoaW5r
IGl0IHNob3VsZCBzdGF5IGluIGFyY2gvYXJtL21tLmMgYmVjYXVzZSB5b3Ugd2lsbCBwcm9iYWJs
eSBuZWVkIHRvDQo+PiBjbGVhbiBhIHBhZ2UgZXZlbiBvbiBNUFUgc3lzdGVtcy4NCj4gDQo+IEkg
dGFrZSB5b3UgYXJlIHJlZmVycmluZyB0byBmbHVzaF9wYWdlX3RvX3JhbSgpIG9ubHksIGFuZCBu
b3QgdGhlIG90aGVyDQo+IGZ1bmN0aW9ucyBhYm92ZQ0KPiANCj4gDQo+Pj4gbHBhZV90IHB0ZV9v
Zl94ZW5hZGRyKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9wdC5j
DQo+Pj4gdm9pZCAqIF9faW5pdCBlYXJseV9mZHRfbWFwKCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0+IG1tdS9zZXR1cC5jDQo+Pj4gdm9pZCBfX2luaXQgcmVtb3ZlX2Vhcmx5X21hcHBp
bmdzKCkgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9zZXR1cC5jDQo+Pj4gc3RhdGljIHZv
aWQgeGVuX3B0X2VuZm9yY2Vfd254KCkgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IG1tdS9w
dC5jLA0KPj4+IGV4cG9ydCBpdA0KPj4gDQo+PiBBRkFJVSwgaXQgd291bGQgYmUgY2FsbGVkIGZy
b20gc21wYm9vdC5jIGFuZCBzZXR1cC5jLiBGb3IgdGhlIGZvcm1lciwgdGhlDQo+PiBjYWxsZXIg
aXMgbW11X2luaXRfc2Vjb25kYXJ5X2NwdSgpIHdoaWNoIEkgdGhpbmsgY2FuIGJlIGZvbGRlZCBp
biBoZWFkLlMuDQo+PiANCj4+IElmIHdlIGRvIHRoYXQsIHRoZW4geGVuX3B0X2VuZm9yY2Vfd254
KCkgY2FuIGJlIG1vdmVkIGluIHNldHVwLmMgYW5kIGRvZXNuJ3QNCj4+IG5lZWQgdG8gYmUgZXhw
b3J0ZWQuDQo+PiANCj4+PiBzdGF0aWMgdm9pZCBjbGVhcl90YWJsZSgpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLT4gbW11L3NtcGJvb3QuYw0KPj4+IHZvaWQgX19pbml0IHNldHVw
X3BhZ2V0YWJsZXMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBtbXUvc2V0dXAuYw0K
Pj4+IHN0YXRpYyB2b2lkIGNsZWFyX2Jvb3RfcGFnZXRhYmxlcygpICAgICAgICAgICAgICAgICAg
ICAgICAtPiBtbXUvc21wYm9vdC5jDQo+IA0KPiBXaHkgY2xlYXJfdGFibGUoKSBhbmQgY2xlYXJf
Ym9vdF9wYWdldGFibGVzKCkgaW4gbW11L3NtcGJvb3QuYyByYXRoZXINCj4gdGhhbiBtbXUvc2V0
dXAuYyA/IEl0IGlzIE9LIGVpdGhlciB3YXkgYXMgaXQgZG9lcyBzZWVtIHRvIG1ha2UgbXVjaCBv
ZiBhDQo+IGRpZmZlcmVuY2UgYnV0IEkgYW0gY3VyaW91cy4NCg0KSSB0aGluayBpdCBpcyBiZWNh
dXNlIGJlbG93IGNhbGwgc2VxdWVuY2U6DQppbml0X3NlY29uZGFyeV9tbSgpIC0+IGNsZWFyX2Jv
b3RfcGFnZXRhYmxlcygpIC0+IGNsZWFyX3RhYmxlKCkNCg0KV2UgaGF2ZSB0aGUgc3VnZ2VzdGlv
biBmcm9tIEp1bGllbiB0aGF0Og0KIkZpbGUgMjogU2Vjb25kYXJ5IENQVXMgTU0gYnJpbmd1cCAo
bW11L3NtcGJvb3QuYynigJ0sIGFuZCBoZW5jZQ0KSSBzdWdnZXN0ZWQgdGhlIHNtcGJvb3QuYw0K
DQo+PiANCj4+IFRoZSBwbGFjZW1lbnQgb2YgYWxsIHRoZSBvbmVzIEkgZGlkbid0IGNvbW1lbnQg
b24gbG9vayBmaW5lIHRvIG1lLiBJdCB3b3VsZCBiZQ0KPj4gZ29vZCB0byBoYXZlIGEgc2Vjb25k
IG9waW5pb24gZnJvbSBlaXRoZXIgQmVydHJhbmQgb3IgU3RlZmFubyBiZWZvcmUgeW91IHN0YXJ0
DQo+PiBtb3ZpbmcgdGhlIGZ1bmN0aW9ucy4NCj4gDQo+IEl0IGxvb2tzIGdvb2QgaW4gcHJpbmNp
cGxlIGFuZCBpdCBhbHNvIGxvb2tzIGxpa2UgYSBncmVhdCBjbGVhbiB1cC4gSXQNCj4gaXMgbm90
IGFsd2F5cyBzdXBlciBjbGVhciB0byBtZSB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBtbXUvcHQu
YywNCj4gbW11L3NtcGJvb3QuYyBhbmQgbW11L3NldHVwLmMgYnV0IGl0IGRvZXNuJ3Qgc2VlbSBp
bXBvcnRhbnQuIFRoZQ0KPiBkaXN0aW5jdGlvbiBiZXR3ZWVuIG1tdS8qIGFuZCBhcmNoL2FybS9t
bS5jIGlzIGNsZWFyIGFuZCBsb29rcyBmaW5lIHRvDQo+IG1lLg0KDQpJIGdlbmVyYWxseSBmb2xs
b3dlZDoNCiIqIEZpbGUgMTogQm9vdCBDUFUwIE1NIGJyaW5ndXAgKG1tdS9zZXR1cC5jKQ0KICog
RmlsZSAyOiBTZWNvbmRhcnkgQ1BVcyBNTSBicmluZ3VwIChtbXUvc21wYm9vdC5jKQ0KICogRmls
ZSAzOiBQYWdlIHRhYmxlcyB1cGRhdGUuIChtbXUvcHQuYykiDQoNCj4gDQo+IEkgYW0gbG9va2lu
ZyBmb3J3YXJkIHRvIHRoaXMhDQoNCisxLCB3aWxsIHBvc3QgdGhlIHVwZGF0ZWQgcGF0Y2ggc29v
biENCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 01:42:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 01:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588852.920471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYcst-0002M5-V1; Wed, 23 Aug 2023 01:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588852.920471; Wed, 23 Aug 2023 01:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYcst-0002Ly-Pv; Wed, 23 Aug 2023 01:42:11 +0000
Received: by outflank-mailman (input) for mailman id 588852;
 Wed, 23 Aug 2023 01:42: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=iGE6=EI=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qYcst-0002Ls-99
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 01:42:11 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe02::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43a073e5-4156-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 03:42:08 +0200 (CEST)
Received: from AS9PR06CA0201.eurprd06.prod.outlook.com (2603:10a6:20b:45d::19)
 by DB5PR08MB10234.eurprd08.prod.outlook.com (2603:10a6:10:4a6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Wed, 23 Aug
 2023 01:42:01 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45d:cafe::48) by AS9PR06CA0201.outlook.office365.com
 (2603:10a6:20b:45d::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Wed, 23 Aug 2023 01:42:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Wed, 23 Aug 2023 01:42:00 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
 Wed, 23 Aug 2023 01:42:00 +0000
Received: from b6bfc4a4b323.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 887A00BA-FC09-4D4B-8B09-B7CD03AB548D.1; 
 Wed, 23 Aug 2023 01:41:54 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b6bfc4a4b323.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 23 Aug 2023 01:41:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB5895.eurprd08.prod.outlook.com (2603:10a6:20b:298::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 01:41:51 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 01:41: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: 43a073e5-4156-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N+N+nKzBgAS5utOMHckaYI2DSxktHRan19Jlv1A2XEM=;
 b=hYIFzu/X2RmWri6lSbeJuQGITFTwCHi1uZGt4c96GDKXMk1k4wl0qqFc3sduGj/H1fxYmMy/u07Wav4/KI/FDODcBAsuDUuhqetc0zfKyUpT9N5Q6HgRkNX3sxPp7Murl0l8cTJWlNh09uql37+Da4fcA30kBoms9dX83iryv/o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=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: f5a52d4831b6ce26
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EF0NaH9RQ4RpaXtRtFWQtM09s3Q3CSOljaJB6mqosDp23yF8RxJDqHfCLjZYxXlBWVzcXGwkidtIim35w81F8CQNGkkBktp8Hh39gnSwxDvbKT/hctouRhm/BMXadSEK/bax4sjk22R/4y37sQe2x/xazOxGuo9SKJf4TRaV31OlEHXkWFmKaTziYBbqIYv7cah1ME8AODb/b00wYzz3Rw0IkJPiNh/rXJtO0n1Hot2wyvHUarSBjik6C41D467Xj0oRj7+u3io2BIEep7u93H/Yo4UiyfMX+brov9nAFBAno5ONpsaZjYg8HQIE8StLcMBCJwTh2IGQ/2hLdWnV7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N+N+nKzBgAS5utOMHckaYI2DSxktHRan19Jlv1A2XEM=;
 b=eff0iikyVLN/BQ0AVgDHizGQFsgg3r2ULuUQz6WmE+aMUSOEavXWNwaGD/AHYrLZIJVlu8YJiNugJ6T7WMez7WPpAeZx3YiLh5rS9RGZ54C2Z3dO0yCojjXoED6B6S2zuOs0QTx4gou0VWCQ9FJP/O6G3NZKjvt2+JRPTDBB9jNRHvT9yKwUTBrLERaoadNU9UFuN4bLNW9mPYiqBw+P92eRiB8JjypgpgwwKEkxOVDQDlCz2TebNZSRQdoQIDl2+AdGDMql4kjdNi1ImxgzRXRwBKHdc3SpZAU8lC+Mn6MNWEvCv764weG1UZ6PePyAbq7D1A/rdiPsuHPlrXzTpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N+N+nKzBgAS5utOMHckaYI2DSxktHRan19Jlv1A2XEM=;
 b=hYIFzu/X2RmWri6lSbeJuQGITFTwCHi1uZGt4c96GDKXMk1k4wl0qqFc3sduGj/H1fxYmMy/u07Wav4/KI/FDODcBAsuDUuhqetc0zfKyUpT9N5Q6HgRkNX3sxPp7Murl0l8cTJWlNh09uql37+Da4fcA30kBoms9dX83iryv/o=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Topic: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Index: AQHZzmeLeyiYpsCVck6zI0bQS/LJfq/2qHQAgACAqQA=
Date: Wed, 23 Aug 2023 01:41:51 +0000
Message-ID: <AD09B38F-EE24-4163-8443-B6A86550F24D@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
 <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
In-Reply-To: <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB5895:EE_|AM7EUR03FT036:EE_|DB5PR08MB10234:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ad7808a-fdae-4c98-764b-08dba37a2518
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:
 2/3H2UF/Oii2tMyszUfTeZJ6FXlrkGcRbJCGEn0ieRlwzAJVNVBTWnuOqrsjtVxWXZhpBWz+hnPhkw77r0CTeAr5qQa0PZ8/8MKSrtTOvbHlBqMzcIgJ0T9mwE3H86KGDIiiJGhmFBoeZXIn+2y1PI8qP+jbNX1ZJlPe1CrqZ01IMGyaQxvtkjo2ZsgKDphWSbwo/z9+20VmAlA/3hFKOIiX7hwPZTeoLFuF+O3q0urvuHkZQBeTZxVsMyFb8ggIn2Zmz6m5Qe58/kcfcSc0khI636h6kBag5Amz2Z5cYOGXsnhvCJ85C6T0797K61fel4Ahema6ERoz5p7Fxw3eS1Mn0Sk03Ah6+9ZHgPsmPN8mPu3IqbmSKZ+rYyLtAZEUeKnR7udsOWzJbHiSIKsVBu8NpE/Io9zLnFK3tb/L7HpeV8sOKcsxnDJQ79Rv7tKgqfFi0TGEPgtxL1DLN6J0tIuwPG5CVh/KcljJnXC1SVhsuVylh84DolMKW2A9YIG5Twibt5qEO2BmZf5/WIqLjasVqkDGDRO+vF8R0ZmqhPzCq3m/PVZQWiabvkRc2cqmGdrZXZC87JVYxBiDjuEsQMIhYfZXnap0vhSHHvVnK2yzzddcxRLE75pT/5H44zl8jfNZ0yvlh0368HyCGO5Gwg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(346002)(366004)(39860400002)(1800799009)(186009)(451199024)(76116006)(54906003)(6916009)(66476007)(66556008)(66446008)(66946007)(6512007)(64756008)(316002)(66899024)(91956017)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(122000001)(71200400001)(38100700002)(38070700005)(6486002)(6506007)(53546011)(83380400001)(2906002)(86362001)(5660300002)(26005)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <812B2FA41321BC4F945EC09D35FAAB1B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5895
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bdda8f23-5636-48f1-240e-08dba37a1f9b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JhNLglgeON8AuLZvM6AgfEEQ0d2a5dq9kUHI/3eEG/RYptUzxllj8xu701VSanCME1Z/Jb5MnPGWqh+ngaWs/7SIWnrY2bPlsUmYr46Lq24SRpVX7A0FhvFecLUnEJpgOnDSe4FYaV5ESxWb6VSeYXgGBfPkjLlbvj0dBJfSGLOnHaeyBvjsV5rJ8GLLgOhPZv6d1s8E8m/WASGibElNGYQ+e3dydW+VlITWOKkWY2oJG39Ll5iPzOK5aOJaxGNIC0NmMpOKgsWjlX1gwS7LunkOVtoOgzzMMFS+LLB2JdkPm4nv3QavuA4BGQKwHEU9NHi96zA9rE0eVxEiYg4B2jBV+zTOFRLnq/JuEBvXgJbon3G56GT/QUyeb/VwbuX4wuyiMBs3lFSp3rB7GHV5q8JFX0ZG6BTi5kI55ExLlqfVA2pC4GWfXNUhD+Ii/+Sj9pi1SJJRH/hoXetKjWrER7SlpaABuF65QuxSlOu9avQ1KKTBxESK7akxw3z+/rDzmy9GOQ01Cakdh1nr4GbdiyV9JUFYQx98WDrLcik6dEbj3J2IKuL+TD0uscNIvXPxeLab3lsT1DZPxwwcwNu/BAl+vkj8vw0eLjAke1s3A2AprQC6FuYkbRsv/kADPNMPLg3TITSMqy74eMrK8wTucl9PpmQj7Jmg76gGAl0aHb7ffU1aeq+/87Lek/I072u1IUU24bAqORBtf1tCAyFSTRkCnDXJGsWwVtkLN7WCfVRjzyESyuPLq9sZh3EVkIdH
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(396003)(376002)(346002)(39850400004)(186009)(1800799009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(8676002)(40460700003)(8936002)(4326008)(6862004)(66899024)(5660300002)(2616005)(82740400003)(86362001)(356005)(81166007)(36860700001)(336012)(6512007)(26005)(53546011)(6506007)(41300700001)(47076005)(83380400001)(478600001)(6486002)(70206006)(33656002)(316002)(54906003)(70586007)(40480700001)(2906002)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 01:42:00.6129
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ad7808a-fdae-4c98-764b-08dba37a2518
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10234

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMywgMjAyMywgYXQgMDI6MDEsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAxNC8wOC8y
MDIzIDA1OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gRnJvbTogUGVubnkgWmhlbmcgPHBlbm55
LnpoZW5nQGFybS5jb20+DQo+PiBDdXJyZW50IFAyTSBpbXBsZW1lbnRhdGlvbiBpcyBkZXNpZ25l
ZCBmb3IgTU1VIHN5c3RlbSBvbmx5Lg0KPj4gV2UgbW92ZSB0aGUgTU1VLXNwZWNpZmljIGNvZGVz
IGludG8gbW11L3AybS5jLCBhbmQgb25seSBrZWVwIGdlbmVyaWMNCj4+IGNvZGVzIGluIHAybS5j
LCBsaWtlIFZNSUQgYWxsb2NhdG9yLCBldGMuIFdlIGFsc28gbW92ZSBNTVUtc3BlY2lmaWMNCj4+
IGRlZmluaXRpb25zIGFuZCBkZWNsYXJhdGlvbnMgdG8gbW11L3AybS5oLCBzdWNoIGFzIHAybV90
bGJfZmx1c2hfc3luYygpLg0KPj4gQWxzbyBleHBvc2UgcHJldmlvdXNseSBzdGF0aWMgZnVuY3Rp
b25zIHAybV92bWlkX2FsbG9jYXRvcl9pbml0KCksDQo+PiBwMm1fYWxsb2Nfdm1pZCgpLCBfX3Ay
bV9zZXRfZW50cnkoKSBhbmQgc2V0dXBfdmlydF9wYWdpbmdfb25lKCkNCj4gDQo+IExvb2tpbmcg
YXQgdGhlIGNvZGUsIGl0IHNlZW1zbSB0aGF0IHlvdSBuZWVkIHRvIGtlZXAgZXhwb3NlIF9fcDJt
X3NldF9lbnRyeSgpIGJlY2F1c2Ugb2YgcDJtX3JlbGlucXVpc2hfbWFwcGluZygpLiBIb3dldmVy
LCBpdCBpcyBub3QgY2xlYXIgaG93IHRoaXMgY29kZSBpcyBzdXBwb3NlZCB0byB3b3JrIGZvciB0
aGUgTVBVLiBTbyBzaG91bGQgd2UgaW5zdGVhZCBmcm9tIHAybV9yZWxpbnF1aXNoX21hcHBpbmco
KSB0byBtbXUvcDJtLmM/DQoNClN1cmUsIEkgd2lsbCB0cnkgdGhhdC4NCg0KPiANCj4gT3RoZXIg
ZnVuY3Rpb25zIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBtYWtlIHNlbnNlIGluIHAybS5jIGFyZToN
Cj4gICogcDJtX2NsZWFyX3Jvb3RfcGFnZXMoKTogQUZBSVUgdGhlcmUgaXMgbm8gY29uY2VwdCBv
ZiByb290IGluIHRoZSBNUFUuIFRoaXMgYWxzbyBtZWFucyB0aGF0IHdlIHBvc3NpYmx5IHdhbnQg
dG8gbW92ZSBvdXQgYW55dGhpbmcgc3BlY2lmaWMgdG8gdGhlIE1NVSBmcm9tICdzdHJ1Y3QgcDJt
Jy4gVGhpcyBjb3VsZCBiZSBkb25lIHNlcGFyYXRlbHkuDQo+ICAqIHAybV9mbHVzaF92bSgpOiBU
aGlzIGlzIGJ1aWx0IHdpdGggTU1VIGluIG1pbmQgYXMgd2UgY2FuIHVzZSB0aGUgcGFnZS10YWJs
ZSB0byB0cmFjayBhY2Nlc3MgcGFnZXMuIFlvdSBkb24ndCBoYXZlIHRoYXQgZmluZSBncmFudWxh
cml0eSBpbiB0aGUgTVBVLg0KDQpJIGFncmVlLCB3aWxsIGFsc28gbW92ZSB0aGVzZSB0byBtbXUv
IGluIHY2Lg0KDQo+IA0KPj4gZm9yIGZ1dGhlciBNUFUgdXNhZ2UuDQo+IA0KPiB0eXBvOiBmdXRo
ZXIvZnVydGhlci8NCg0KVGhhbmtzLCB3aWxsIGZpeC4NCg0KPiANCj4+IFdpdGggdGhlIGNvZGUg
bW92ZW1lbnQsIGdsb2JhbCB2YXJpYWJsZSBtYXhfdm1pZCBpcyB1c2VkIGluIG11bHRpcGxlDQo+
PiBmaWxlcyBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZpbGUgKGFuZCB3aWxsIGJlIHVzZWQgaW4gTVBV
IFAyTQ0KPj4gaW1wbGVtZW50YXRpb24pLCBkZWNsYXJlIGl0IGluIHRoZSBoZWFkZXIgYW5kIHJl
bW92ZSB0aGUgInN0YXRpYyIgb2YNCj4+IHRoaXMgdmFyaWFibGUuDQo+PiBBZGQgI2lmZGVmIENP
TkZJR19IQVNfTU1VIHRvIHAybV93cml0ZV91bmxvY2soKSBzaW5jZSBmdXR1cmUgTVBVDQo+PiB3
b3JrIGRvZXMgbm90IG5lZWQgcDJtX3RsYl9mbHVzaF9zeW5jKCkuDQo+IA0KPiBBbmQgdGhlcmUg
YXJlIG5vIHNwZWNpZmljIGJhcnJpZXIgcmVxdWlyZWQ/IE92ZXJhbGwsIEkgYW0gbm90IHN1cmUg
SSBsaWtlIHRoZSAjaWZkZWYgcmF0aGVyIHRoYW4gcHJvdmlkaW5nIGEgc3R1YiBoZWxwZXIuDQoN
CkkgdGhpbmsgZm9yIE1QVSBzeXN0ZW1zIHdlIGRvbuKAmXQgbmVlZCB0byBmbHVzaCB0aGUgVExC
LCBoZW5jZSB0aGUgI2lmZGVmLiBEbyB5b3UgbWVhbiB3ZSBzaG91bGQNCnByb3ZpZGUgYSBzdHVi
IGhlbHBlciBvZiBwMm1fdGxiX2ZsdXNoX3N5bmMoKSBmb3IgTVBVPyBJZiBzbyBJIHRoaW5rIG1h
eWJlIHRoZSBuYW1pbmcgb2YgdGhpcyBzdHViDQpoZWxwZXIgaXMgbm90IHJlYWxseSBpZGVhbD8N
Cg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gSWYgdGhlIG90aGVyIGxpa2UgdGhlIGlk
ZWEgb2YgdGhlICNpZmRlZi4gSSB0aGluayBhIGNvbW1lbnQgb24gdG9wIHdvdWxkIGJlIG5lY2Vz
c2FyeSB0byBleHBsYWluIHdoeSB0aGVyZSBpcyBub3RoaW5nIHRvIGRvIGluIHRoZSBjb250ZXh0
IG9mIHRoZSBNUFUuDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 03:00:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 03:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588861.920481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYe6A-0002Dx-Li; Wed, 23 Aug 2023 02:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588861.920481; Wed, 23 Aug 2023 02:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYe6A-0002Dj-Iu; Wed, 23 Aug 2023 02:59:58 +0000
Received: by outflank-mailman (input) for mailman id 588861;
 Wed, 23 Aug 2023 02:59: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=9eHo=EI=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qYe68-0002CX-G9
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 02:59:56 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f71b7e0-4161-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 04:59:50 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1befe39630bso9174945ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 19:59:49 -0700 (PDT)
Received: from ?IPV6:fdbd:ff1:ce00:1c25:884:3ed:e1db:b610?
 ([2408:8000:b001:1:1f:58ff:f102:103])
 by smtp.gmail.com with ESMTPSA id
 z2-20020a17090a1fc200b00262ca945cecsm11045048pjz.54.2023.08.22.19.59.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 22 Aug 2023 19:59: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: 1f71b7e0-4161-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1692759588; x=1693364388;
        h=content-transfer-encoding:in-reply-to:cc:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=bhgEqLuvf9ApSnTvUwn1L76c2o2W1Ei/QD6yE6yt7Vo=;
        b=RzbIwpF/0rWWCHIbil/kmvbYsiH+zzV8cteo0NeX4iqS5Th3aMObOrBBZ5QIYYiYNO
         EzLvxXnwaU3C6HJ66DVx0SYeH6DBUUXE/parOT0tZRTGaLZHY6BYCVv0BWvKsae2+Z4V
         HEkSBtQA++hJt6hjIX8coUzQJXYdSMU0EhPZnC3wJk9rsU5aMcdQM2J2gdrxRnnAl7ZG
         8NIlks8SUC7HZyd+TSNVs6GUNYerNVLSzTLDuAq02G7Vh6n7NQtQV5W2S/tTxnIxqdnK
         Yk0AUrfOj+V8sxulrYV9L4sfBNDgKCkzUecP9KTfiIS3EGmzpdtRXoZ4mpHHvApm3vtv
         04iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692759588; x=1693364388;
        h=content-transfer-encoding:in-reply-to:cc: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=bhgEqLuvf9ApSnTvUwn1L76c2o2W1Ei/QD6yE6yt7Vo=;
        b=boOsQ/WwxbK6V8bSZ3AwFs6Xp99ItCHFUaAOXjTP5C9pyussbioR3YS6ewHHKNo4dP
         zmYUK0/wuEQ47SNDVUhib9f/WRVjJnT0zYylzbvQBC+fMHZ5g5WXxY1cqcWmHiMmDDxr
         K6CdE6TcepvAA2Ne+6Xgy8tArQzIiaqYqD9S4wgPTuHkgkUNzJaitpCmTGx7oJld8wn0
         c+l0MCFtC5595DzhjwkfrBhoLGUzBmXp2aE98rukDxQj2ZxxpH3do2P13Neol6kw6Czb
         DkOyUXi+9ZpbHce93Za5JufhYlIWU92KRQ62c+0TcMcg+4VY4Zjl+ZSYwujVW8gbIVRD
         Yo+A==
X-Gm-Message-State: AOJu0YzmJyjNxk9rTM8YvtWNezpv6v/VGGWYhYRUpBO6jXGmKoTf//gK
	qkGYjo/qr5s8qURtHKSuutAsmw==
X-Google-Smtp-Source: AGHT+IEfrTZGJtg+pRH2EfLUkWhGiT4SJbELosEEcEbXeeoUMWHqtsVXqJsCto+j1ri8qfTaL4v/sQ==
X-Received: by 2002:a17:90a:2f41:b0:26d:4ade:fcf0 with SMTP id s59-20020a17090a2f4100b0026d4adefcf0mr10521410pjd.4.1692759588304;
        Tue, 22 Aug 2023 19:59:48 -0700 (PDT)
Message-ID: <63dc1d86-2a15-6b7e-f63a-63fccb25eae2@bytedance.com>
Date: Wed, 23 Aug 2023 10:59:34 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v4 43/48] drm/ttm: introduce pool_shrink_rwsem
Content-Language: en-US
To: daniel@ffwll.ch
References: <20230807110936.21819-1-zhengqi.arch@bytedance.com>
 <20230807110936.21819-44-zhengqi.arch@bytedance.com>
 <ZOS+g51Yx9PsYkGU@phenom.ffwll.local>
From: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru,
 vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org,
 brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
 cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
 gregkh@linuxfoundation.org, muchun.song@linux.dev,
 simon.horman@corigine.com, dlemoal@kernel.org, kvm@vger.kernel.org,
 dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org,
 linux-mm@kvack.org, dm-devel@redhat.com, linux-mtd@lists.infradead.org,
 x86@kernel.org, cluster-devel@redhat.com, xen-devel@lists.xenproject.org,
 linux-ext4@vger.kernel.org, linux-arm-msm@vger.kernel.org,
 rcu@vger.kernel.org, linux-bcache@vger.kernel.org,
 Muchun Song <songmuchun@bytedance.com>, linux-raid@vger.kernel.org,
 linux-nfs@vger.kernel.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net,
 linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
 linux-erofs@lists.ozlabs.org, linux-btrfs@vger.kernel.org,
 daniel.vetter@ffwll.ch
In-Reply-To: <ZOS+g51Yx9PsYkGU@phenom.ffwll.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

On 2023/8/22 21:56, Daniel Vetter wrote:
> On Mon, Aug 07, 2023 at 07:09:31PM +0800, Qi Zheng wrote:
>> Currently, the synchronize_shrinkers() is only used by TTM pool. It only
>> requires that no shrinkers run in parallel.
>>
>> After we use RCU+refcount method to implement the lockless slab shrink,
>> we can not use shrinker_rwsem or synchronize_rcu() to guarantee that all
>> shrinker invocations have seen an update before freeing memory.
>>
>> So we introduce a new pool_shrink_rwsem to implement a private
>> synchronize_shrinkers(), so as to achieve the same purpose.
>>
>> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
>> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
> 
> On the 5 drm patches (I counted 2 ttm and 3 drivers) for merging through
> some other tree (since I'm assuming that's how this will land):

Yeah, there are 5 drm patches: PATCH v4 07/48 23/48 24/48 25/48 43/48.

> 
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks for your review!

Qi

> 
>> ---
>>   drivers/gpu/drm/ttm/ttm_pool.c | 15 +++++++++++++++
>>   include/linux/shrinker.h       |  2 --
>>   mm/shrinker.c                  | 15 ---------------
>>   3 files changed, 15 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
>> index c9c9618c0dce..38b4c280725c 100644
>> --- a/drivers/gpu/drm/ttm/ttm_pool.c
>> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
>> @@ -74,6 +74,7 @@ static struct ttm_pool_type global_dma32_uncached[MAX_ORDER + 1];
>>   static spinlock_t shrinker_lock;
>>   static struct list_head shrinker_list;
>>   static struct shrinker *mm_shrinker;
>> +static DECLARE_RWSEM(pool_shrink_rwsem);
>>   
>>   /* Allocate pages of size 1 << order with the given gfp_flags */
>>   static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
>> @@ -317,6 +318,7 @@ static unsigned int ttm_pool_shrink(void)
>>   	unsigned int num_pages;
>>   	struct page *p;
>>   
>> +	down_read(&pool_shrink_rwsem);
>>   	spin_lock(&shrinker_lock);
>>   	pt = list_first_entry(&shrinker_list, typeof(*pt), shrinker_list);
>>   	list_move_tail(&pt->shrinker_list, &shrinker_list);
>> @@ -329,6 +331,7 @@ static unsigned int ttm_pool_shrink(void)
>>   	} else {
>>   		num_pages = 0;
>>   	}
>> +	up_read(&pool_shrink_rwsem);
>>   
>>   	return num_pages;
>>   }
>> @@ -572,6 +575,18 @@ void ttm_pool_init(struct ttm_pool *pool, struct device *dev,
>>   }
>>   EXPORT_SYMBOL(ttm_pool_init);
>>   
>> +/**
>> + * synchronize_shrinkers - Wait for all running shrinkers to complete.
>> + *
>> + * This is useful to guarantee that all shrinker invocations have seen an
>> + * update, before freeing memory, similar to rcu.
>> + */
>> +static void synchronize_shrinkers(void)
>> +{
>> +	down_write(&pool_shrink_rwsem);
>> +	up_write(&pool_shrink_rwsem);
>> +}
>> +
>>   /**
>>    * ttm_pool_fini - Cleanup a pool
>>    *
>> diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
>> index c55c07c3f0cb..025c8070dd86 100644
>> --- a/include/linux/shrinker.h
>> +++ b/include/linux/shrinker.h
>> @@ -103,8 +103,6 @@ struct shrinker *shrinker_alloc(unsigned int flags, const char *fmt, ...);
>>   void shrinker_register(struct shrinker *shrinker);
>>   void shrinker_free(struct shrinker *shrinker);
>>   
>> -extern void synchronize_shrinkers(void);
>> -
>>   #ifdef CONFIG_SHRINKER_DEBUG
>>   extern int __printf(2, 3) shrinker_debugfs_rename(struct shrinker *shrinker,
>>   						  const char *fmt, ...);
>> diff --git a/mm/shrinker.c b/mm/shrinker.c
>> index 3ab301ff122d..a27779ed3798 100644
>> --- a/mm/shrinker.c
>> +++ b/mm/shrinker.c
>> @@ -650,18 +650,3 @@ void shrinker_free(struct shrinker *shrinker)
>>   	kfree(shrinker);
>>   }
>>   EXPORT_SYMBOL_GPL(shrinker_free);
>> -
>> -/**
>> - * synchronize_shrinkers - Wait for all running shrinkers to complete.
>> - *
>> - * This is equivalent to calling unregister_shrink() and register_shrinker(),
>> - * but atomically and with less overhead. This is useful to guarantee that all
>> - * shrinker invocations have seen an update, before freeing memory, similar to
>> - * rcu.
>> - */
>> -void synchronize_shrinkers(void)
>> -{
>> -	down_write(&shrinker_rwsem);
>> -	up_write(&shrinker_rwsem);
>> -}
>> -EXPORT_SYMBOL(synchronize_shrinkers);
>> -- 
>> 2.30.2
>>
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 03:03:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 03:03:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588868.920491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYe9P-0003pU-3e; Wed, 23 Aug 2023 03:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588868.920491; Wed, 23 Aug 2023 03:03: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 1qYe9P-0003pN-0u; Wed, 23 Aug 2023 03:03:19 +0000
Received: by outflank-mailman (input) for mailman id 588868;
 Wed, 23 Aug 2023 03:03: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=dNfX=EI=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qYe9N-0003pD-Qk
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 03:03:17 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 990e0d1d-4161-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 05:03:15 +0200 (CEST)
Received: from SA0PR11CA0181.namprd11.prod.outlook.com (2603:10b6:806:1bc::6)
 by BY5PR12MB4886.namprd12.prod.outlook.com (2603:10b6:a03:1c5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 03:03:10 +0000
Received: from SN1PEPF000252A0.namprd05.prod.outlook.com
 (2603:10b6:806:1bc:cafe::f8) by SA0PR11CA0181.outlook.office365.com
 (2603:10b6:806:1bc::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Wed, 23 Aug 2023 03:03:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Wed, 23 Aug 2023 03:03: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.27; Tue, 22 Aug
 2023 22:03:08 -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.27; Tue, 22 Aug
 2023 20:03:07 -0700
Received: from [172.22.191.126] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 22 Aug 2023 22:03: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: 990e0d1d-4161-11ee-8782-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VlychS8lp8pw471MySgtXYN4ThGDwsODfDrnE37kG3yOKHoxVTCJp83zFLX7sbs3hT8jNTxbs2qpDLYk5ULWMHGDhwFVwI01lTK+4dHBsF7YL03tuKd/MN6u3/mdif5dgJnWqhvJSDF77oc50nVLC0ys81HtiYGHJeMXfH76enTiOyDJh7boI0jjFl6oJd1wTBIwBddNoY/aorEYLxfLrYzg9zD8ll2LOZ9pCw0hYjOMp/RQC88R5J/ZjdXgtKh5BNX1/E4ipvWlVG3i33Bre+u/pGqMaUAqilgWNRZQl0JDqcCgbzep1q6N/KVFA6cxr+G1Oyr/p4JzLb4EcNP6zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Y5GmR1bldnGn180PaYbi+W9QCk0oY72SxkDRaeWjZs=;
 b=l9mdYp2J1WejXsZMtDb7sM8sYWdBd8h7rIB7oTLxCS8ftQGa6j1ZZZcHAdubMM5X/J30jJ+L9/VP9dOZaXCR/CTRDUCZinDzAkIlHB+tX6ajZfQAwV1jwcDTm+RnGW5f/ox7rdaKOK56r+ruz6uL1PHpBYSSfzALY3DPhwsv7x5I/+h//0O1BoOMO3DGDa7NKT1xpnH9NeXkKZfnsO9kcNpLf/q2IsEguDfCuGd6LF08J6VFiaG7sbgritlryklV/CL6w2uqI0DSnH+CTL304C8vSjg3JyCradolhreNUFyAvbE+iJlwzpmzTYeIyGzU+2PjmHtFwQwB7tUsvx9Rqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2Y5GmR1bldnGn180PaYbi+W9QCk0oY72SxkDRaeWjZs=;
 b=djbz3apwEMSlt0rkDtb0txS2ItRLUj6RcooMoAhXzcVbFSaOXlEfFBaY6jTfzO0Hb3nKk5+EVPY5xJhXKnbz1yZwkhJ7ZrEMZKfkVjwYl4B98xXcriY+bM975dEuLFxHDtEV2oV+uT8OzXYCnz74TB6HO8ob3UjN27MfHVqKpNY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e5bedf64-aeeb-2e10-7684-7e46590e92e8@amd.com>
Date: Tue, 22 Aug 2023 23:03:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v3 2/4] xen/pci: convert pci_find_*cap* to pci_sbdf_t
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
	<xen-devel@lists.xenproject.org>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-3-stewart.hildebrand@amd.com>
 <31d4ae2d-1b25-b272-a5c1-2fef3dffb7af@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <31d4ae2d-1b25-b272-a5c1-2fef3dffb7af@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|BY5PR12MB4886:EE_
X-MS-Office365-Filtering-Correlation-Id: c578f59b-1d24-4fd0-ed9c-08dba3857b49
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MbW7AVGALtYiuq4e0jol+Z2Bc628hNrheoIC/NXqDSKGxviSIrapnw27ljtBQCLKANohifLeF4IE0DA5XPTnZqjJm2hrWoqllOD3rTWfzxxPYtgGobEx2zzNnJy9QvjhMhpi7QPF5lZKEZorgJ1ZQr/Rs8cFlzzrrP0H4YWcjgZkQKJ7cZSls/KMzdlF/73t/hvhZfJiIWeJ25p7P+CrHI54CrS14/Gryt0V5G9Utvhsd/YcGz0KRpvRc9CRn1cLN9lLZ8WbaTOMuEWknbfq+U+gXZP7vgONIDttG97UEA/RvhOZKhPlX4F7q5xzF1C6gZfXwlQF+1nC012LT7W1PGshAaQNq49Z+Zv5EODYhvJ/AKLabyIIV9aQnAkqiw8hp4O+wdCTkgnd8Yl0Vq/njSQVfDl37WaSOaowvlPte6m3DscBXH6nd87uxk/YOI2WZsY/OjO5WarHbNMYpxgiGADNUmkU7ba04eAay1hi67brfhyJ2zSM/xiO007IPfXd38vyoFYNtQmj2x2s58u2JbXeelc5cTz6MruCcfHBugSfqh4WSX3OJ64wbvxUrbD/9Y/G5cDke7YTYhUeNnVnSDPRleqmqXPbiFxesov/VLAUNJyblUfars8LJArnFM1IR6HenU4OtwWV7QA3DAs33Zy0sappdCSAWOK4rdg0iT+bbf1CU/bdbTHmOLMAOc0BNnYFXIZWslM0KSpuyi6vU3vb+y8Nifx6Bbvcc2y4Az8tGkDlDmQxwMWSaRHsNxGuSHjouMMHSCQJMR4yqEe+fPME2jGvhFgy4RB9QJm96fU0KYZAdHZa4fhXyf71au5Y
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(451199024)(82310400011)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(7416002)(40480700001)(53546011)(83380400001)(5660300002)(44832011)(426003)(336012)(26005)(31686004)(36860700001)(31696002)(86362001)(47076005)(8676002)(2616005)(8936002)(4326008)(70586007)(316002)(6916009)(54906003)(16576012)(66899024)(70206006)(478600001)(356005)(81166007)(82740400003)(40460700003)(36756003)(41300700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 03:03:09.6852
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c578f59b-1d24-4fd0-ed9c-08dba3857b49
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000252A0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4886

On 8/22/23 08:53, Jan Beulich wrote:
> On 22.08.2023 03:29, Stewart Hildebrand wrote:
>> @@ -291,12 +291,9 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
>>  static void msix_set_enable(struct pci_dev *dev, int enable)
>>  {
>>      int pos;
>> -    u16 control, seg = dev->seg;
>> -    u8 bus = dev->bus;
>> -    u8 slot = PCI_SLOT(dev->devfn);
>> -    u8 func = PCI_FUNC(dev->devfn);
>> +    u16 control;
> 
> As you touch such places, it would be nice to also switch to uint16_t at
> the same time. (Similarly when you touch "pos" declarations anyway,
> converting them to unsigned int when they're wrongly plain int would also
> be nice.)

OK. For clarity's sake (and for my own sake), I'll bound the scope of these changes to lines/statements/declarations that are being modified anyway as a result of the switch to pci_sbdf_t. Also, with the s/int/unsigned int/ changes, I will remove "No functional change" from the commit description (not sure it should have been there in the first place).

>> @@ -318,17 +315,12 @@ static bool msi_set_mask_bit(struct irq_desc *desc, bool host, bool guest)
>>  {
>>      struct msi_desc *entry = desc->msi_desc;
>>      struct pci_dev *pdev;
>> -    u16 seg, control;
>> -    u8 bus, slot, func;
>> +    u16 control;
>>      bool flag = host || guest, maskall;
>>
>>      ASSERT(spin_is_locked(&desc->lock));
>>      BUG_ON(!entry || !entry->dev);
>>      pdev = entry->dev;
>> -    seg = pdev->seg;
>> -    bus = pdev->bus;
>> -    slot = PCI_SLOT(pdev->devfn);
>> -    func = PCI_FUNC(pdev->devfn);
>>      switch ( entry->msi_attrib.type )
>>      {
>>      case PCI_CAP_ID_MSI:
> 
> You don't further alter the function, so this looks like an unrelated
> (but still desirable for at least Misra) change.

Right. These instances of -Wunused-but-set-variable warnings were the result of a previous pci_sbdf_t conversion. I'll split it into a separate patch, perhaps with a fixes tag:
Fixes: 0c38c61aad21 ("pci: switch pci_conf_write32 to use pci_sbdf_t")

>> @@ -685,8 +674,8 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
>>      {
>>          struct pci_dev *pdev = pci_get_pdev(NULL,
>>                                              PCI_SBDF(seg, bus, slot, func));
> 
> With this, ...
> 
>> -        unsigned int pos = pci_find_ext_capability(seg, bus,
>> -                                                   PCI_DEVFN(slot, func),
>> +        unsigned int pos = pci_find_ext_capability(PCI_SBDF(seg, bus, slot,
>> +                                                            func),
>>                                                     PCI_EXT_CAP_ID_SRIOV);
> 
> ... please use pdev->sbdf here. Albeit I guess some further re-arrangement
> is wanted here, to eliminate all of those PCI_SBDF() (and then also dealing
> with the otherwise necessary NULL check). IOW perhaps fine the way you have
> it, and then to be subject to a follow-on change.

OK. I'll keep it as-is in this patch, then create a follow-on patch that: uses pdev->sbdf instead of PCI_SBDF inside this code block, and moves the NULL check earlier.

>> --- a/xen/include/xen/pci.h
>> +++ b/xen/include/xen/pci.h
>> @@ -193,11 +193,10 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
>>                     unsigned int devfn, int reg, int len, u32 *value);
>>  int pci_mmcfg_write(unsigned int seg, unsigned int bus,
>>                      unsigned int devfn, int reg, int len, u32 value);
>> -int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
>> -int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
>> -int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
>> -int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
>> -                                 int cap);
>> +int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap);
>> +int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap);
>> +int pci_find_ext_capability(pci_sbdf_t sbdf, int cap);
>> +int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap);
> 
> The remaining types want converting, too: Neither fixed-width nor plain int
> are appropriate here. (It's a few too many type adjustments to make, for me
> to offer doing so while committing.)

Understood, I'm happy to make the change for v4. Is the following what you'd expect it to look like?

unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
                               unsigned int cap);
unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
unsigned int pci_find_next_ext_capability(pci_sbdf_t sbdf, unsigned int start,
                                          unsigned int cap);


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 03:28:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 03:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588877.920501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYeXj-0006rJ-42; Wed, 23 Aug 2023 03:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588877.920501; Wed, 23 Aug 2023 03: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 1qYeXj-0006rC-1C; Wed, 23 Aug 2023 03:28:27 +0000
Received: by outflank-mailman (input) for mailman id 588877;
 Wed, 23 Aug 2023 03:28:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t3Wx=EI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1qYeXh-0006r6-Co
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 03:28:25 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1adeb267-4165-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 05:28:22 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id C579F32008FE
 for <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 23:28:17 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 22 Aug 2023 23:28:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Tue, 22 Aug 2023 23:28:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1adeb267-4165-11ee-9b0c-b553b5be7939
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:sender
	:subject:subject:to:to; s=fm1; t=1692761297; x=1692847697; bh=gn
	jA2iKUYatWW7hRJF8hQb4zrGwNWXEXT0U/V5VW8HQ=; b=Q+jOJP2jibzWQi0odK
	/Jpuzi/TQexP2noDoc5cSmYnTbq4M6qc5AiayYTxSbnfqLOtGAcv90QeQmyHbvS4
	TYaqGOUIaoU5OYcyW1YHKUa4Brbr081TLuoVPg2cd+2CaIlHeuviMXHamPOiYdJw
	HHlmh/VDWDebAbE8YKgx9m+tD7SVTwbRtuL09C1PQ0Tyirf19eB/McUj4cuLkFRZ
	DOLIcWCMDP5b+fypwHA2Y50von7/i5PSMkCxuNNX64/A1dI9qCmHwmvko2/Prb92
	lKjXJclVvhNbKmG4edtXrBTYH8ljpYE5tzLVusrnBLMB8kXt0PjxU8eWJrJQQ2mp
	Ea7w==
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:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1692761297; x=1692847697; bh=gnjA2iKUYatWW7hRJF8hQb4zrGwNWXEXT0U
	/V5VW8HQ=; b=v/9kPJmxGDzUtc0Qzn2Zcx7JO+PA5CWdqC49y0L59/cF/wBfAda
	QqIPcQSWXsMR53qqSDFBA316U/+RirkjLDNloSIvHDMTKcW46zPdcSJaxnzlcSoN
	rdlU9Blglsov1xNgjcmwx5f0p88g6XlR7WG+RzwfN5xWKT4zG4IMWiwThyGhy57Y
	6nR+dlIRQ1toB3PAU5zRZytFSuX4qNteY/8i6te10K6GXioY9nYF2Y4aObnt9Btu
	Re8/cQd6YEdWXzSVshK3z6WIVDnR6cXWYj8W+/63/DJGSJ8P8ilh7Pr/vFf+A+fz
	yGij0RN5guOJfzKF08d3X+F0eKsvPCRR9Fw==
X-ME-Sender: <xms:0XzlZNiIxv5DucSKDKJpzLN9VQ2pOeWr94yQ6gz6CbrzWvl0U0fJcw>
    <xme:0XzlZCBwkJjEozEDbluvqVpKpkNrQcxxfdqOpCN5G6Y_lkRpU7TJUgUE1--cuWdAY
    dg2aRmsm2XSIw>
X-ME-Received: <xmr:0XzlZNHVHM9Uwpmqp3O4FlPN-IqzIbIZPBLb4ADrska4leIJLYHX5nvq>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedruddvvddgjedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertd
    dtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhi
    uceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnhepteduteeiudevkeegvefhtdekhfelgffhhedukedvvdeuuddv
    jeehvddtieehudfgnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:0XzlZCQ88LYx4beZJFddmVjt7M7urLN7FWQdhbc9J1YpS2TMy0Sn_Q>
    <xmx:0XzlZKy3xZ_qYQ1vsL3fJgl-gzUjk1C08y34i4qWTMX8WBFBL72oxA>
    <xmx:0XzlZI5YqqUJjEy8Pf0qfdghKWlQj2jVIAZHxylNJyYDQuuuroGf1w>
    <xmx:0XzlZJ82HqIwSgLchKM-RuOr2NuBLSUGPU6Y_Q_Rfit_tkKP113yIQ>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 23 Aug 2023 05:28:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: "rcu_preempt detected stalls" with xen_free_irq involved - regression
Message-ID: <ZOV8zMeie3oprrGg@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7ceitNQtwpiO/KqD"
Content-Disposition: inline


--7ceitNQtwpiO/KqD
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 23 Aug 2023 05:28:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: "rcu_preempt detected stalls" with xen_free_irq involved - regression

Hi,

Since updating from 5.15.124 to 6.1.43, I observe rather often an issue
like in the subject. This happens on a domU with heavy vchan usage
(several connections established and released per second).

The domain in question is a PVH with 16 vCPUs and generally is rather
busy (CPU time, but also some noticeable network and disk I/O), but I've
seen this happening also in less intensive times (but still several
vchan connections being handled).

This is running on Xen 4.17.2, AMD EPYC (Zen3), with smt=3Doff.

Any ideas?

Full message:

    rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
    rcu:       9-...0: (0 ticks this GP) idle=3D2364/1/0x4000000000000000 s=
oftirq=3D20505/20505 fqs=3D11999                                           =
                                                     =20
       (detected by 12, t=3D60004 jiffies, g=3D79009, q=3D1863 ncpus=3D16) =
                                                                           =
                                                       =20
    Sending NMI from CPU 12 to CPUs 9:                                     =
                                                                           =
                                               =20
    NMI backtrace for cpu 9                                                =
                                                                           =
                                               =20
    CPU: 9 PID: 18266 Comm: qrexec-agent Not tainted 6.1.43-1.qubes.fc37.x8=
6_64 #1                                                                    =
                                               =20
    RIP: 0010:queued_write_lock_slowpath+0x64/0x124                        =
                                                                           =
                                               =20
    Code: ff 90 0f 1f 44 00 00 5b 5d c3 cc cc cc cc f0 81 0b 00 01 00 00 ba=
 ff 00 00 00 b9 00 01 00 00 8b 03 3d 00 01 00 00 74 0b f3 90 <8b> 03 3d 00 =
01 00 00 75 f5 89 c8 f0 0f b1 13 74 be eb e2 65=20
                                                                           =
                                                                           =
                                               =20
    RSP: 0018:ffffc9000229fd30 EFLAGS: 00000006                            =
                                                                           =
                                               =20
    RAX: 0000000000000500 RBX: ffffffff8468de60 RCX: 0000000000000100      =
                                                                           =
                                               =20
    RDX: 00000000000000ff RSI: ffff8881004b86d8 RDI: ffffffff8468de60      =
                                                                           =
                                               =20
    RBP: ffffffff8468de64 R08: ffff8881004b8860 R09: ffffffff82d47600      =
                                                                           =
                                               =20
    R10: 0000000000000000 R11: 0000000000000000 R12: ffff88810464e3e0      =
                                                                           =
                                               =20
    R13: ffff8881012a76a0 R14: ffff88838d1f5a90 R15: 0000000000000000      =
                                                                           =
                                               =20
    FS:  0000716dc7f6b780(0000) GS:ffff8883dc040000(0000) knlGS:00000000000=
00000                                                                      =
                                               =20
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033                      =
                                                                           =
                                               =20
    CR2: 0000716dc7f7c060 CR3: 00000001e3d0c001 CR4: 0000000000770ee0      =
                                                                           =
                                               =20
    PKRU: 55555554                                                         =
                                                                           =
                                               =20
    Call Trace:                                                            =
                                                                           =
                                               =20
     <NMI>                                                                 =
                                                                           =
                                               =20
     ? show_trace_log_lvl+0x1d3/0x2ef                                      =
                                                                           =
                                               =20
     ? show_trace_log_lvl+0x1d3/0x2ef                                      =
                                                                           =
                                               =20
     ? show_trace_log_lvl+0x1d3/0x2ef                                      =
                                                                           =
                                               =20
     ? __raw_write_lock_irqsave+0x3d/0x50
     ? nmi_cpu_backtrace.cold+0x1b/0x76
     ? queued_write_lock_slowpath+0x64/0x124
     ? nmi_cpu_backtrace_handler+0xd/0x20
     ? nmi_handle+0x5d/0x120
     ? queued_write_lock_slowpath+0x64/0x124
     ? default_do_nmi+0x69/0x170
     ? exc_nmi+0x13c/0x170
     ? end_repeat_nmi+0x16/0x67
     ? queued_write_lock_slowpath+0x64/0x124
     ? queued_write_lock_slowpath+0x64/0x124
     ? queued_write_lock_slowpath+0x64/0x124
     </NMI>
     <TASK>
     __raw_write_lock_irqsave+0x3d/0x50
     xen_free_irq+0x43/0x170
     unbind_from_irqhandler+0x40/0x80
     evtchn_release+0x27/0x8e [xen_evtchn]
     __fput+0x91/0x250
     task_work_run+0x59/0x90
     exit_to_user_mode_loop+0x121/0x150
     exit_to_user_mode_prepare+0xaf/0xc0
     syscall_exit_to_user_mode+0x17/0x40
     do_syscall_64+0x67/0x80
     ? handle_mm_fault+0xdb/0x2d0
     ? preempt_count_add+0x47/0xa0
     ? up_read+0x37/0x70=20
     ? do_user_addr_fault+0x1bb/0x570
     ? exc_page_fault+0x70/0x170
     entry_SYSCALL_64_after_hwframe+0x63/0xcd
    RIP: 0033:0x716dc81077ea
    Code: 48 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 7c=
 24 0c e8 d3 ce f8 ff 8b 7c 24 0c 89 c2 b8 03 00 00 00 0f 05 <48> 3d 00 f0 =
ff ff 77 36 89 d7 89 44 24 0c e8 33 cf f8 ff 8b=20
   =20
    RSP: 002b:00007ffce6ce80e0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
    RAX: 0000000000000000 RBX: 000055aae7e8c150 RCX: 0000716dc81077ea
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000014
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000716dc80086b8 R11: 0000000000000293 R12: 000055aae7e8ad70
    R13: 0000000000000003 R14: 0000716dc8020bf8 R15: 00007ffce6ce81a0
     </TASK>


I've seen also few other flavors of the above, for example:
https://gist.github.com/marmarek/a8b79ef2a877443c7aa57fdca366a701

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--7ceitNQtwpiO/KqD
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmTlfM0ACgkQ24/THMrX
1yxtJAf/SNJHhVBEdEWqwRxZcf/jTdTYItl0EI1m+jqFQpslOvPk8s2L7Fc/KRMj
GxD6OUI+OE+28Lpfr1B01qjh8eT+PvV0qaYKgkpJGWyUwoGM2r4mzqVLXNEvZ5fo
BFicSxbxu1BusQQ8luocQJgjx4GX463IkXLQ/rQVjOmPCAwlKO+f71aKBUrIw2OR
h78KwyL+yRxCLBhAtH+OGTmoiyJEm/iDXZ4pOqmff+zRMqHpyo6Se3CGcjQOJoZi
GUBPMrkqYgCaMLwqBGV3i2TNhJkRgHdxzHF5FmXk2rqv4jWlvq/klxpJRNEUrT7p
OErN9B3qThe8yiIcaD4FDboOBrtNhw==
=oS0w
-----END PGP SIGNATURE-----

--7ceitNQtwpiO/KqD--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 03:48:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 03:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588888.920511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYer3-0001Gt-T1; Wed, 23 Aug 2023 03:48:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588888.920511; Wed, 23 Aug 2023 03:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYer3-0001Gm-QC; Wed, 23 Aug 2023 03:48:25 +0000
Received: by outflank-mailman (input) for mailman id 588888;
 Wed, 23 Aug 2023 03:48: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=863I=EI=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1qYer2-0001Gg-Bl
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 03:48:24 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6fac688-4167-11ee-8782-cb3800f73035;
 Wed, 23 Aug 2023 05:48:21 +0200 (CEST)
Received: from AM5PR1001CA0020.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::33)
 by AS2PR08MB8997.eurprd08.prod.outlook.com (2603:10a6:20b:5f9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 03:48:17 +0000
Received: from AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:2:cafe::b8) by AM5PR1001CA0020.outlook.office365.com
 (2603:10a6:206:2::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26 via Frontend
 Transport; Wed, 23 Aug 2023 03:48:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT020.mail.protection.outlook.com (100.127.140.196) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.15 via Frontend Transport; Wed, 23 Aug 2023 03:48:16 +0000
Received: ("Tessian outbound 30c9f5e988c5:v175");
 Wed, 23 Aug 2023 03:48:16 +0000
Received: from 7afd324abde3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8804DC05-03E5-437E-A934-F18A878C4CB4.1; 
 Wed, 23 Aug 2023 03:47:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7afd324abde3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 23 Aug 2023 03:47:21 +0000
Received: from DUZPR01CA0350.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b8::22) by DBBPR08MB5964.eurprd08.prod.outlook.com
 (2603:10a6:10:20c::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 03:47:20 +0000
Received: from DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b8:cafe::b4) by DUZPR01CA0350.outlook.office365.com
 (2603:10a6:10:4b8::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25 via Frontend
 Transport; Wed, 23 Aug 2023 03:47:20 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DBAEUR03FT011.mail.protection.outlook.com (100.127.142.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6723.15 via Frontend Transport; Wed, 23 Aug 2023 03:47:19 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 23 Aug
 2023 03:47:18 +0000
Received: from [10.169.172.116] (10.169.172.116) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend
 Transport; Wed, 23 Aug 2023 03: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: e6fac688-4167-11ee-8782-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QQS5/ImYKfplwvZsmm9beds8WlJAzZqBVmgBkcTY0IA=;
 b=DyWGq7FfIPEgbTYs1qqqpRYFms3G/SxMYAk1vSNOSuSxK6LXPtBmF+UNv+WYB6uHHpMdhm5MJi8H5JU3aufNFboSOqOwKwm1sLN74Kf5Imwj+70JwS8TkW2Sg6lrZhgpyRif/p+08U0rDkxpRXZ6GK3cLUgHXfQUron+WhwzJiQ=
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: fa56542680004969
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OcmZoqxjbdpxHimxGKmEu9D9YOjd6cPLtg2iL2dxJtb/1Dczwo4FM3vWF7pGRwoT1qoc1luAGxdkfGtqWDuXRKdW6cbOXvwaGKMWdiMKjPC/4d/cRQeffo0+S3yMLP+sXu9AGi8d2i/0NkORlX3YfNWMNXvhOzdtDPNLeFcyZz4yb+0YEQRk0pKe2LwNn3YyMHeXoc/yV1WWxlCjcBKYdI3IljUEewXU6vXVjhDcQLWxOKqGPn8J9SPw/dTPl04rTPUFSsXsbbctDvtEmTcAcKACk/L4DoDULuS3llZmRdFcxvCnNMaXXRIdR9PmliewNepiR/RQ5WVyFzkfxbGp6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QQS5/ImYKfplwvZsmm9beds8WlJAzZqBVmgBkcTY0IA=;
 b=cQIIz+Fe8CwYKDCiqeOqaa+O44pcV/5X5YErmzjHOGI0uc+HY2oGxzN2SPbQGV4Bh8GkUM1P8tvN5beLjW5pKf3mJGqMx+60XnZ0e7+HQODNgDyrvCpzw2kS+z2cTaGyLsfOXKTbydR0hx9ysVLSethZiYjpoDcSx1X6kHfYYhOl7z5IaHTj+zKpOIjVVOXxw3fWRP6Q0NoH7LwcphOFCoPl6a5JXMKrChF15FbaY7PW4mSCtotHxytwNlWclx00CHTCmzSJTkcyn8PB3lo8uIo0E0qHh2XvvN5oOHPOB1GBMBMFgoOH2lXA59DXCryCeRz5OrZl94sXcoLk09r98Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=xen.org smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message
 not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QQS5/ImYKfplwvZsmm9beds8WlJAzZqBVmgBkcTY0IA=;
 b=DyWGq7FfIPEgbTYs1qqqpRYFms3G/SxMYAk1vSNOSuSxK6LXPtBmF+UNv+WYB6uHHpMdhm5MJi8H5JU3aufNFboSOqOwKwm1sLN74Kf5Imwj+70JwS8TkW2Sg6lrZhgpyRif/p+08U0rDkxpRXZ6GK3cLUgHXfQUron+WhwzJiQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
Message-ID: <b23d8afb-281b-6de8-3046-674a45ff6494@arm.com>
Date: Wed, 23 Aug 2023 11:47:14 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.13.0
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
 <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
From: Penny Zheng <penny.zheng@arm.com>
In-Reply-To: <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
	DBAEUR03FT011:EE_|DBBPR08MB5964:EE_|AM7EUR03FT020:EE_|AS2PR08MB8997:EE_
X-MS-Office365-Filtering-Correlation-Id: fc264b5a-6f4f-4b19-cbe0-08dba38bc8c0
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:
 nyWHx5+O8mcQeiT3HXfzU8GdtuOfKSU5eJeeHcWseI+PZUwrku6NfCph1NuzyQZN9xi96E1MINglAnpFEOkff42wbAEQ6oOico94cR6dW3D5BNQHFIn+BTnSTr7RKaTWF6pIVhJa4xcLRh1B/j77NEedhPFpT7UUNzusE3MbQ9c3qbgJpYqFmr8mh7lJS3wmADFw+qtjy4Xsg9Y5uYGbkIXBHePKjweS6Y4mlQ3aN8kquL8vk066NcOJC1G/2isOW8JE3hrXRRrQUKsZTrf/QZcopDsmI0o1KkFBHMmXBLhh1EYSjhnTAocf4xmWPTom5ZI5FmwFOpDqJkid9EZCqHXy8W43Cz+Ug8DwpfkdsjaySG6Qv++UW+Q7q7Ig/Tu4pAaTdIkU8h5DPn46FhU+wu5YG/VzF/JMWRwZvMnqHWuNR4+a6OBLRI+tUz4IxmeoemqFPknBn1Qvy9Vfu47pgNukNvSIiOMSpGhMJetmgyWxDJtkYEni3CGCzGuQf5DQL+uxHFjPc/i3riqmQ4osbcs7yKTb9G6TyL/UT4isJayXb19hQ/sG48e49TaxrulFTfrK2YA7k93wHlz0P+GSH3TN2bvdGZrPFWszH88c6OyorNkkxNlh/vVlkooScx2hxHXURcXjieD1ExefZq0SStpS9iphmKz4X9aDCGqWX4soziLSDjeNoyg0NnrS0KEdw9LYvPmgJsX5e5NS898loMbzkpjjSSwKlcbC789agTBp6bCGj3YsnmiYpyorVBwOr9v8rsS77eWyGQ78vRhl6vr4osL1fs4jMhcsBHh2KvbNFf3hD/IinMh4nYx+9VYZ
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(346002)(39860400002)(136003)(396003)(376002)(451199024)(82310400011)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(40480700001)(53546011)(83380400001)(5660300002)(44832011)(426003)(336012)(26005)(31686004)(36860700001)(31696002)(86362001)(47076005)(8676002)(2616005)(8936002)(4326008)(966005)(70586007)(316002)(54906003)(16576012)(110136005)(70206006)(478600001)(356005)(81166007)(82740400003)(40460700003)(36756003)(41300700001)(3940600001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5964
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c242ee78-c38a-420b-c357-08dba38ba6aa
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I+NCLnFgSE0jLVyTAzanhOoDHvJMhTmh7IUUpEwc55ElIGemIHOm2xH8XBFlVR5yONWh/AP9FVTp083CdgGSa4DmvZOHtHek/S5pjms5HPiddeqRfsnrNLn8x37dTUKAZI9KyDvJk3CcINwS1k5zoQk/TbHUDFbiDU3w/7PZae8tP+IoG2NsIcSPXYhvZJDn8odJNR0LgCFpVP9AjuNJqBHIlM+h/ILMvpb13CDTP1zY+ed4T83zLXxc8BWSJPCvB2EvZow8ULjNfcZbSN08w7vjsOkytmM2aDhQiD6bHZym7WlCe3DZsJXdhUqopq2kYwAKtcsykzBOLHAfHM3y1WvyxaUwEsV8+UYuqCouPh1ZuXzpgPpGqpg1d1OloQE3dS3Aupzv3Bf430ByaprlwpCaut46DezkwuvtxzWBAZh2UDr2VTpQykQOimMYUp8+5XTUy5I0VruylX/grWe9e63vnp7/TPMsD5n4gAPbtK7sZAwu7sBFwhpO/YR4Y4KPjWMBtjl1LsXKP8PV4gwl22vR6IfJ1OKfXgDwKyKY7c+x1Zl9jOmC5/QjuF3s19jTgk7C/RmBHHNtO0twXTgDkbtJWa3EWZRwRlg6rxed8rhMYfe15g0oXg2VzdKvSYrTzneZlZtS4HyumRDckfRObFw9mTvyQ74Xl23AO0MwPhVN21/ogDgMIssEUQ15SgK7vg6/Gcc/wyEEbtancaVN48kfGznleUmL7LRmXbFgWMtscNQgdMZSGW3Pl4n3GueRGxWr1WBrqVoQh6Sw5OTv/88mO6YRG25hsjzvjOVyz04=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(451199024)(82310400011)(1800799009)(186009)(36840700001)(40470700004)(46966006)(2906002)(40480700001)(53546011)(83380400001)(5660300002)(44832011)(426003)(336012)(26005)(31686004)(36860700001)(31696002)(86362001)(47076005)(8676002)(2616005)(8936002)(4326008)(966005)(70586007)(316002)(54906003)(16576012)(110136005)(70206006)(478600001)(81166007)(82740400003)(40460700003)(36756003)(41300700001)(3940600001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 03:48:16.6292
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fc264b5a-6f4f-4b19-cbe0-08dba38bc8c0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8997

Hi Julien

On 2023/8/23 02:01, Julien Grall wrote:
> Hi Henry,
> 
> On 14/08/2023 05:25, Henry Wang wrote:
>> From: Penny Zheng <penny.zheng@arm.com>
>>
>> Current P2M implementation is designed for MMU system only.
>> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
>> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
>> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
>> Also expose previously static functions p2m_vmid_allocator_init(),
>> p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()
> 
> Looking at the code, it seemsm that you need to keep expose 
> __p2m_set_entry() because of p2m_relinquish_mapping(). However, it is 
> not clear how this code is supposed to work for the MPU. So should we 
> instead from p2m_relinquish_mapping() to mmu/p2m.c?
> 

p2m->root stores per-domain P2M table, which is actually an array of MPU
region(pr_t). So maybe we should relinquish mapping region by region,
instead of page by page. Nevertheless, p2m_relinquish_mapping() shall be
moved to mmu/p2m.c and we need MPU version of it.

> Other functions which doesn't seem to make sense in p2m.c are:
>  Â  * p2m_clear_root_pages(): AFAIU there is no concept of root in the 
> MPU. This also means that we possibly want to move out anything specific 
> to the MMU from 'struct p2m'. This could be done separately.

Current MPU implementation is re-using p2m->root to store P2M table.
Do you agree on this, or should we create a new variable, like 
p2m->mpu_table, for MPU P2M table only?
How we treat p2m_clear_root_pages also decides how we destroy P2M at 
domain destruction stage, current MPU flow is as follows:
```
     PROGRESS(mapping):
         ret = relinquish_p2m_mapping(d);
         if ( ret )
             return ret;

     PROGRESS(p2m_root):
         /*
          * We are about to free the intermediate page-tables, so clear the
          * root to prevent any walk to use them.
          */
         p2m_clear_root_pages(&d->arch.p2m);

#ifdef CONFIG_HAS_PAGING_MEMPOOL
     PROGRESS(p2m):
         ret = p2m_teardown(d);
         if ( ret )
             return ret;

     PROGRESS(p2m_pool):
         ret = p2m_teardown_allocation(d);
         if( ret )
             return ret;
#endif
```
We guard MMU-specific intermediate page-tables destroy with the new 
Kconfig CONFIG_HAS_PAGING_MEMPOOL, check 
https://gitlab.com/xen-project/people/henryw/xen/-/commit/7ff6d351e65f43fc34ea694adea0e030a51b1576
for more details.

If we destroy MPU P2M table in relinquish_p2m_mapping, region by region,
we could provide empty stub for p2m_clear_root_pages, and move it to 
mmu/p2m.c

>  Â  * p2m_flush_vm(): This is built with MMU in mind as we can use the 
> page-table to track access pages. You don't have that fine granularity 
> in the MPU.
> 

Understood

>> for futher MPU usage.
> 
> typo: futher/further/
> 
>>
>> With the code movement, global variable max_vmid is used in multiple
>> files instead of a single file (and will be used in MPU P2M
>> implementation), declare it in the header and remove the "static" of
>> this variable.
>>
>> Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
>> work does not need p2m_tlb_flush_sync().
> 
> And there are no specific barrier required? Overall, I am not sure I 
> like the #ifdef rather than providing a stub helper.
> 
> If the other like the idea of the #ifdef. I think a comment on top would 
> be necessary to explain why there is nothing to do in the context of the 
> MPU.
> 
> Cheers,
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 04:32:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 04:32:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588897.920521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYfXc-0007HL-0H; Wed, 23 Aug 2023 04:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588897.920521; Wed, 23 Aug 2023 04: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 1qYfXb-0007HE-TE; Wed, 23 Aug 2023 04:32:23 +0000
Received: by outflank-mailman (input) for mailman id 588897;
 Wed, 23 Aug 2023 04:32:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYfXa-0007Gl-FJ; Wed, 23 Aug 2023 04:32:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYfXa-0003si-7z; Wed, 23 Aug 2023 04:32:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYfXZ-0000Lg-Ki; Wed, 23 Aug 2023 04:32:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYfXZ-0002zf-KK; Wed, 23 Aug 2023 04:32: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=/bPuyYH9XRy9rMZa312FhgqpmRP6y1cCQFzJLzuY/tw=; b=HoTOIZOAPUG4S135AZfbiFJ7+j
	R6fFzmfszV5sQLd/w7sEYIzuqAicJXGCeFKd7nABzap1xyx5+hV2oCrCP7JZjuPuelXDeCHsop/w6
	GfuqCn5KaSPtU+UgcV4jMKAYnsbxG98ueGaOnB0Eu/6VOzDPsjGFy7p+aRtsC3M6VIoM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182423-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182423: regressions - FAIL
X-Osstest-Failures:
    xen-4.17-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.17-testing:build-amd64-prev:xen-build:fail:regression
    xen-4.17-testing:build-amd64:xen-build:fail:regression
    xen-4.17-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-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-amd64-amd64-xl-xsm: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-rtds: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:build-amd64-libvirt: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: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: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: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: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-credit2: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-xl-credit1: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-libvirt-vhd: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-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-nested-intel: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-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pygrub: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-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt: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
    xen-4.17-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd: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-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl: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-libvirt: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-credit2: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-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-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-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-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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=052a8d24bc670ab6503e21dfd2fb8bccfc22aa73
X-Osstest-Versions-That:
    xen=8d84be5b557b27e9cc53e48285aebad28a48468c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 04:32:21 +0000

flight 182423 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182423/

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. 182410
 build-amd64-prev              6 xen-build                fail REGR. vs. 182410
 build-amd64                   6 xen-build                fail REGR. vs. 182410

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182410
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182410
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182410
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-libvirt-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  052a8d24bc670ab6503e21dfd2fb8bccfc22aa73
baseline version:
 xen                  8d84be5b557b27e9cc53e48285aebad28a48468c

Last test of basis   182410  2023-08-21 14:09:52 Z    1 days
Testing same since   182423  2023-08-22 17:10:17 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>
  Jason Andryuk <jandryuk@gmail.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             fail    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 052a8d24bc670ab6503e21dfd2fb8bccfc22aa73
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Aug 8 14:53:42 2023 +0100

    tools/vchan: Fix -Wsingle-bit-bitfield-constant-conversion
    
    Gitlab reports:
    
      node.c:158:17: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
    
            ctrl->blocking = 1;
                           ^ ~
      1 error generated.
      make[4]: *** [/builds/xen-project/people/andyhhp/xen/tools/vchan/../../tools/Rules.mk:188: node.o] Error 1
    
    In Xen 4.18, this was fixed with c/s 99ab02f63ea8 ("tools: convert bitfields
    to unsigned type") but this is an ABI change which can't be backported.
    
    Swich 1 for -1 to provide a minimally invasive way to fix the build.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit f00d56309533427981f09ef2614f1bae4bcab62e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 17 11:16:32 2023 +0000

    CI: Resync FreeBSD config with staging
    
    CI: Update FreeBSD to 13.1
    
    Also print the compiler version before starting.  It's not easy to find
    otherwise, and does change from time to time.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    (cherry picked from commit 5e7667ea2dd33e0e5e0f3a96db37fdb4ecd98fba)
    
    CI: Update FreeBSD to 13.2
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit f872a624cbf92de9944483eea7674ef80ced1380)
    
    CI: Update FreeBSD to 12.4
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
    (cherry picked from commit a73560896ce3c513460f26bd1c205060d6ec4f8a)

commit e418a77295e6b512d212b57123c11e4d4fb23e8c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Aug 18 11:05:00 2023 +0100

    rombios: Remove the use of egrep
    
    As the Alpine 3.18 container notes:
    
      egrep: warning: egrep is obsolescent; using grep -E
    
    Adjust it.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 5ddac3c2852ecc120acab86fc403153a2097c5dc)

commit 24487fec3bbebbc1fd3f00d16bca7fb0f56a5f30
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Aug 18 10:47:46 2023 +0100

    rombios: Avoid using K&R function syntax
    
    Clang-15 complains:
    
      tcgbios.c:598:25: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
      void tcpa_calling_int19h()
                              ^
                               void
    
    C2x formally removes K&R syntax.  The declarations for these functions in
    32bitprotos.h are already ANSI compatible.  Update the definitions to match.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit a562afa5679d4a7ceb9cb9222fec1fea9a61f738)

commit ae1045c42954772e48862162d0e95fbc9393c91e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 17 21:32:53 2023 +0100

    rombios: Work around GCC issue 99578
    
    GCC 12 objects to pointers derived from a constant:
    
      util.c: In function 'find_rsdp':
      util.c:429:16: error: array subscript 0 is outside array bounds of 'uint16_t[0]' {aka 'short unsigned int[]'} [-Werror=array-bounds]
        429 |     ebda_seg = *(uint16_t *)ADDR_FROM_SEG_OFF(0x40, 0xe);
      cc1: all warnings being treated as errors
    
    This is a GCC bug, but work around it rather than turning array-bounds
    checking off generally.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit e35138a2ffbe1fe71edaaaaae71063dc545a8416)

commit 37f1d68fa34220600f1e4ec82af5da70127757e5
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 18 15:04:28 2023 +0200

    x86emul: rework wrapping of libc functions in test and fuzzing harnesses
    
    Our present approach is working fully behind the compiler's back. This
    was found to not work with LTO. Employ ld's --wrap= option instead. Note
    that while this makes the build work at least with new enough gcc (it
    doesn't with gcc7, for example, due to tool chain side issues afaict),
    according to my testing things still won't work when building the
    fuzzing harness with afl-cc: While with the gcc7 tool chain I see afl-as
    getting invoked, this does not happen with gcc13. Yet without using that
    assembler wrapper the resulting binary will look uninstrumented to
    afl-fuzz.
    
    While checking the resulting binaries I noticed that we've gained uses
    of snprintf() and strstr(), which only just so happen to not cause any
    problems. Add a wrappers for them as well.
    
    Since we don't have any actual uses of v{,sn}printf(), no definitions of
    their wrappers appear (just yet). But I think we want
    __wrap_{,sn}printf() to properly use __real_v{,sn}printf() right away,
    which means we need delarations of the latter.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    (cherry picked from commit 6fba45ca3be1c5d46cddb1eaf371d9e69550b244)

commit 476d2624ec3cf3e60709580ff1df208bb8f616e2
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Mon Jul 31 15:02:34 2023 +0200

    Config.mk: evaluate XEN_COMPILE_ARCH and XEN_OS immediately
    
    With GNU make 4.4, the number of execution of the command present in
    these $(shell ) increased greatly. This is probably because as of make
    4.4, exported variable are also added to the environment of $(shell )
    construct.
    
    So to avoid having these command been run more than necessary, we
    will replace ?= by an equivalent but with immediate expansion.
    
    Reported-by: Jason Andryuk <jandryuk@gmail.com>
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Tested-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit a07414d989cf52e5e84192b78023bee1589bbda4)

commit a1f68fb56710c507f9c1ec8e8d784f5b1e4088f1
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Mon Jul 31 15:02:18 2023 +0200

    build: evaluate XEN_BUILD_* and XEN_DOMAIN immediately
    
    With GNU make 4.4, the number of execution of the command present in
    these $(shell ) increased greatly. This is probably because as of make
    4.4, exported variable are also added to the environment of $(shell )
    construct.
    
    Also, `make -d` shows a lot of these:
        Makefile:15: not recursively expanding XEN_BUILD_DATE to export to shell function
        Makefile:16: not recursively expanding XEN_BUILD_TIME to export to shell function
        Makefile:17: not recursively expanding XEN_BUILD_HOST to export to shell function
        Makefile:14: not recursively expanding XEN_DOMAIN to export to shell function
    
    So to avoid having these command been run more than necessary, we
    will replace ?= by an equivalent but with immediate expansion.
    
    Reported-by: Jason Andryuk <jandryuk@gmail.com>
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Tested-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0c594c1b57ee2ecec5f70826c53a2cf02a9c2acb)

commit 36e84ea02e1e8dce8f3a4e9351ab1c72dec3c11e
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Wed Jul 5 08:29:49 2023 +0200

    build: remove TARGET_ARCH, a duplicate of SRCARCH
    
    The same command is used to generate the value of both $(TARGET_ARCH)
    and $(SRCARCH), as $(ARCH) is an alias for $(XEN_TARGET_ARCH).
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit ac27b3beb9b7b423d5563768de890c7594c21b4e)

commit 56076ef445073458c39c481f9b70c3b4ff848839
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Wed Jul 5 08:27:51 2023 +0200

    build: remove TARGET_SUBARCH, a duplicate of ARCH
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit a6ab7dd061338c33faef629cbe52ed1608571d84)

commit 1c3927f8f6743538a35aa45a91a2d4adbde9f277
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Wed Jul 5 08:25:03 2023 +0200

    build: define ARCH and SRCARCH later
    
    Defining ARCH and SRCARCH later in xen/Makefile allows to switch to
    immediate evaluation variable type.
    
    ARCH and SRCARCH depend on value defined in Config.mk and aren't used
    for e.g. TARGET_SUBARCH or TARGET_ARCH, and not before they're needed in
    a sub-make or a rule.
    
    This will help reduce the number of times the shell rune is been
    run.
    
    With GNU make 4.4, the number of execution of the command present in
    these $(shell ) increased greatly. This is probably because as of make
    4.4, exported variable are also added to the environment of $(shell )
    construct.
    
    Also, `make -d` shows a lot of these:
        Makefile:39: not recursively expanding SRCARCH to export to shell function
        Makefile:38: not recursively expanding ARCH to export to shell function
    
    Reported-by: Jason Andryuk <jandryuk@gmail.com>
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Tested-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 58e0a3f3b2c430f8640ef9df67ac857b0008ebc8)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:14:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588913.920552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYh8X-0001mW-0b; Wed, 23 Aug 2023 06:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588913.920552; Wed, 23 Aug 2023 06:14:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYh8W-0001mP-U0; Wed, 23 Aug 2023 06:14:36 +0000
Received: by outflank-mailman (input) for mailman id 588913;
 Wed, 23 Aug 2023 06:14: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=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYh8V-0001mJ-6C
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:14:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52e466e1-417c-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 08:14:33 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2BED01F38A;
 Wed, 23 Aug 2023 06:14:31 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C3BC213458;
 Wed, 23 Aug 2023 06:14:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +wEOLsaj5WTlHwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 06:14:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52e466e1-417c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692771271; 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=sLpmujmfGv2fKbh+tnGb1Iu1ytSGqvpDOQreoj71qkE=;
	b=D97KaffnF+kDp8mRhow++Q9hiOOb6QAvAsQpNJydKnTeNrWXqbKGaapWrm+DZL3xe+WO/z
	YPkUHyFfU9UsshcWWtoAxO+CHJqFChsme6/yauVWCObOr6uX/JakixsU+4hKZTgrwFXCN/
	OS7BfzdPe16JGY6LUv5ZNFKcTWJzqU0=
Message-ID: <8df104b6-02e4-4a1f-8d5e-79a0a5c8b1fb@suse.com>
Date: Wed, 23 Aug 2023 08:14:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V5] xen: privcmd: Add support for irqfd
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
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: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Ia5cGm0D105gkiQzW6kmzgsJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Ia5cGm0D105gkiQzW6kmzgsJ
Content-Type: multipart/mixed; boundary="------------xGJjl9FqNFOy13x0T3q3B84T";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 stratos-dev@op-lists.linaro.org, Erik Schilling <erik.schilling@linaro.org>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <8df104b6-02e4-4a1f-8d5e-79a0a5c8b1fb@suse.com>
Subject: Re: [PATCH V5] xen: privcmd: Add support for irqfd
References: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>
In-Reply-To: <8e724ac1f50c2bc1eb8da9b3ff6166f1372570aa.1692697321.git.viresh.kumar@linaro.org>

--------------xGJjl9FqNFOy13x0T3q3B84T
Content-Type: multipart/mixed; boundary="------------caFsV4UquXuBIF3oz1Guwt0R"

--------------caFsV4UquXuBIF3oz1Guwt0R
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDguMjMgMTE6NDUsIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gWGVuIHByb3ZpZGVz
IHN1cHBvcnQgZm9yIGluamVjdGluZyBpbnRlcnJ1cHRzIHRvIHRoZSBndWVzdHMgdmlhIHRo
ZQ0KPiBIWVBFUlZJU09SX2RtX29wKCkgaHlwZXJjYWxsLiBUaGUgc2FtZSBpcyB1c2VkIGJ5
IHRoZSBWaXJ0aW8gYmFzZWQNCj4gZGV2aWNlIGJhY2tlbmQgaW1wbGVtZW50YXRpb25zLCBp
biBhbiBpbmVmZmljaWVudCBtYW5uZXIgY3VycmVudGx5Lg0KPiANCj4gR2VuZXJhbGx5LCB0
aGUgVmlydGlvIGJhY2tlbmRzIGFyZSBpbXBsZW1lbnRlZCB0byB3b3JrIHdpdGggdGhlIEV2
ZW50ZmQNCj4gYmFzZWQgbWVjaGFuaXNtLiBJbiBvcmRlciB0byBtYWtlIHN1Y2ggYmFja2Vu
ZHMgd29yayB3aXRoIFhlbiwgYW5vdGhlcg0KPiBzb2Z0d2FyZSBsYXllciBuZWVkcyB0byBw
b2xsIHRoZSBFdmVudGZkcyBhbmQgcmFpc2UgYW4gaW50ZXJydXB0IHRvIHRoZQ0KPiBndWVz
dCB1c2luZyB0aGUgWGVuIGJhc2VkIG1lY2hhbmlzbS4gVGhpcyByZXN1bHRzIGluIGFuIGV4
dHJhIGNvbnRleHQNCj4gc3dpdGNoLg0KPiANCj4gVGhpcyBpcyBub3QgYSBuZXcgcHJvYmxl
bSBpbiBMaW51eCB0aG91Z2guIEl0IGlzIHByZXNlbnQgd2l0aCBvdGhlcg0KPiBoeXBlcnZp
c29ycyBsaWtlIEtWTSwgZXRjLiBhcyB3ZWxsLiBUaGUgZ2VuZXJpYyBzb2x1dGlvbiBpbXBs
ZW1lbnRlZCBpbg0KPiB0aGUga2VybmVsIGZvciB0aGVtIGlzIHRvIHByb3ZpZGUgYW4gSU9D
VEwgY2FsbCB0byBwYXNzIHRoZSBpbnRlcnJ1cHQNCj4gZGV0YWlscyBhbmQgZXZlbnRmZCwg
d2hpY2ggbGV0cyB0aGUga2VybmVsIHRha2UgY2FyZSBvZiBwb2xsaW5nIHRoZQ0KPiBldmVu
dGZkIGFuZCByYWlzaW5nIG9mIHRoZSBpbnRlcnJ1cHQsIGluc3RlYWQgb2YgaGFuZGxpbmcg
dGhpcyBpbiB1c2VyDQo+IHNwYWNlICh3aGljaCBpbnZvbHZlcyBhbiBleHRyYSBjb250ZXh0
IHN3aXRjaCkuDQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byBpbmplY3QgYSBz
cGVjaWZpYyBpbnRlcnJ1cHQgdG8gZ3Vlc3QgdXNpbmcNCj4gdGhlIGV2ZW50ZmQgbWVjaGFu
aXNtLCBieSBwcmV2ZW50aW5nIHRoZSBleHRyYSBjb250ZXh0IHN3aXRjaC4NCj4gDQo+IElu
c3BpcmVkIGJ5IGV4aXN0aW5nIGltcGxlbWVudGF0aW9ucyBmb3IgS1ZNLCBldGMuLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9y
Zz4NCg0KUHVzaGVkIHRvIHhlbi90aXAuZ2l0IGZvci1saW51cy02LjYNCg0KDQpKdWVyZ2Vu
DQoNCg==
--------------caFsV4UquXuBIF3oz1Guwt0R
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------caFsV4UquXuBIF3oz1Guwt0R--

--------------xGJjl9FqNFOy13x0T3q3B84T--

--------------Ia5cGm0D105gkiQzW6kmzgsJ
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/Ey8FAmTlo8YFAwAAAAAACgkQsN6d1ii/Ey9J
hQf/ewSOhFFsb1uDLQwF560YkCVZKvGf0UZP2sv4u/+w4FEjlcFTPESduFVe4y1NtA7ct3SmJouO
QJEf2+CSUAyNQI6GCZzL1fqKdAj2dnMyphS6uRx9Vgzh//LcAM1xoQC6/r1hyCt9NJEPHxR+9GHC
VZb40dkAAHnTV1IKU+Le6qNovb2wVlUL9oqg1gbD69x8OytLud+ZpgswG/hoQEenkHrpb4wZiejP
pVXhyo04HWzdbKpuebIKz6qf3z4+Sk7lOkjXAVpmMeZPtWtxb5/40iWKNmt2skwn8vmNSNRxAKj0
VBWIprfNsnRLoVhBjgek/R2zAt75jzNWnKePqW6l5g==
=mXNP
-----END PGP SIGNATURE-----

--------------Ia5cGm0D105gkiQzW6kmzgsJ--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:15:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588914.920562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYh8x-0002AL-7a; Wed, 23 Aug 2023 06:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588914.920562; Wed, 23 Aug 2023 06: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 1qYh8x-0002AE-4g; Wed, 23 Aug 2023 06:15:03 +0000
Received: by outflank-mailman (input) for mailman id 588914;
 Wed, 23 Aug 2023 06:15:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYh8w-0001mJ-29
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:15:02 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64546448-417c-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 08:15:01 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E8D221F38A;
 Wed, 23 Aug 2023 06:15:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BE92B13458;
 Wed, 23 Aug 2023 06:15:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EE+YK+Sj5WTlHwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 06:15:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64546448-417c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692771300; 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=XX0SFi0xAKsABvy9DKR2kuVvokpN2st0DbYsF+zBs4g=;
	b=HxFOIXZhJv400/U2a4/aYilt9YwRNsVziKoouDLwz0hSJabV8a+u1RcGu/Fdkjgc+pUz7m
	b+I8jsruUnLjB6ry8tPQRRKMU4GPbpJHzBgygToYF4ijOaRRCt8zzTPWk8luOVI/bpSu2G
	hEzAtYWIdlMCfXd42gRB7Pn0QE9Q3PU=
Message-ID: <626874c3-cdd6-4547-87d7-710320c4e23f@suse.com>
Date: Wed, 23 Aug 2023 08:15:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/xenbus: Avoid a lockdep warning when adding a watch
Content-Language: en-US
To: Petr Pavlu <petr.pavlu@suse.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20230607123624.15739-1-petr.pavlu@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: <20230607123624.15739-1-petr.pavlu@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dXh4gafvuiQmFtCEUo0Ovfbq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dXh4gafvuiQmFtCEUo0Ovfbq
Content-Type: multipart/mixed; boundary="------------42ZRJ49UHDDY0uYFOcH0jiv9";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Petr Pavlu <petr.pavlu@suse.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <626874c3-cdd6-4547-87d7-710320c4e23f@suse.com>
Subject: Re: [PATCH] xen/xenbus: Avoid a lockdep warning when adding a watch
References: <20230607123624.15739-1-petr.pavlu@suse.com>
In-Reply-To: <20230607123624.15739-1-petr.pavlu@suse.com>

--------------42ZRJ49UHDDY0uYFOcH0jiv9
Content-Type: multipart/mixed; boundary="------------yzuoFKRHnC0S0MoXwIsE14h9"

--------------yzuoFKRHnC0S0MoXwIsE14h9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMDYuMjMgMTQ6MzYsIFBldHIgUGF2bHUgd3JvdGU6DQo+IFRoZSBmb2xsb3dpbmcg
bG9ja2RlcCB3YXJuaW5nIGFwcGVhcnMgZHVyaW5nIGJvb3Qgb24gYSBYZW4gZG9tMCBzeXN0
ZW06DQo+IA0KPiBbICAgOTYuMzg4Nzk0XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gWyAgIDk2LjM4ODc5N10gV0FSTklORzog
cG9zc2libGUgY2lyY3VsYXIgbG9ja2luZyBkZXBlbmRlbmN5IGRldGVjdGVkDQo+IFsgICA5
Ni4zODg3OTldIDYuNC4wLXJjNS1kZWZhdWx0KyAjOCBUYWludGVkOiBHICAgICAgICAgICAg
RUwNCj4gWyAgIDk2LjM4ODgwM10gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFsgICA5Ni4zODg4MDRdIHhlbmNvbnNvbGVkLzEz
MzAgaXMgdHJ5aW5nIHRvIGFjcXVpcmUgbG9jazoNCj4gWyAgIDk2LjM4ODgwOF0gZmZmZmZm
ZmY4MmFjZGQxMCAoeHNfd2F0Y2hfcndzZW0peysrKyt9LXszOjN9LCBhdDogcmVnaXN0ZXJf
eGVuYnVzX3dhdGNoKzB4NDUvMHgxNDANCj4gWyAgIDk2LjM4ODg0N10NCj4gICAgICAgICAg
ICAgICAgIGJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBsb2NrOg0KPiBbICAgOTYuMzg4
ODQ5XSBmZmZmODg4MTAwYzkyMDY4ICgmdS0+bXNnYnVmZmVyX211dGV4KXsrLisufS17Mzoz
fSwgYXQ6IHhlbmJ1c19maWxlX3dyaXRlKzB4MmMvMHg2MDANCj4gWyAgIDk2LjM4ODg2Ml0N
Cj4gICAgICAgICAgICAgICAgIHdoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9uIHRoZSBu
ZXcgbG9jay4NCj4gDQo+IFsgICA5Ni4zODg4NjRdDQo+ICAgICAgICAgICAgICAgICB0aGUg
ZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJzZSBvcmRlcikgaXM6DQo+IFsg
ICA5Ni4zODg4NjZdDQo+ICAgICAgICAgICAgICAgICAtPiAjMiAoJnUtPm1zZ2J1ZmZlcl9t
dXRleCl7Ky4rLn0tezM6M306DQo+IFsgICA5Ni4zODg4NzRdICAgICAgICBfX211dGV4X2xv
Y2srMHg4NS8weGIzMA0KPiBbICAgOTYuMzg4ODg1XSAgICAgICAgeGVuYnVzX2Rldl9xdWV1
ZV9yZXBseSsweDQ4LzB4MmIwDQo+IFsgICA5Ni4zODg4OTBdICAgICAgICB4ZW5idXNfdGhy
ZWFkKzB4MWQ3LzB4OTUwDQo+IFsgICA5Ni4zODg4OTddICAgICAgICBrdGhyZWFkKzB4ZTcv
MHgxMjANCj4gWyAgIDk2LjM4ODkwNV0gICAgICAgIHJldF9mcm9tX2ZvcmsrMHgyYy8weDUw
DQo+IFsgICA5Ni4zODg5MTRdDQo+ICAgICAgICAgICAgICAgICAtPiAjMSAoeHNfcmVzcG9u
c2VfbXV0ZXgpeysuKy59LXszOjN9Og0KPiBbICAgOTYuMzg4OTIzXSAgICAgICAgX19tdXRl
eF9sb2NrKzB4ODUvMHhiMzANCj4gWyAgIDk2LjM4ODkzMF0gICAgICAgIHhlbmJ1c19iYWNr
ZW5kX2lvY3RsKzB4NTYvMHgxYzANCj4gWyAgIDk2LjM4ODkzNV0gICAgICAgIF9feDY0X3N5
c19pb2N0bCsweDkwLzB4ZDANCj4gWyAgIDk2LjM4ODk0Ml0gICAgICAgIGRvX3N5c2NhbGxf
NjQrMHg1Yy8weDkwDQo+IFsgICA5Ni4zODg5NTBdICAgICAgICBlbnRyeV9TWVNDQUxMXzY0
X2FmdGVyX2h3ZnJhbWUrMHg3Mi8weGRjDQo+IFsgICA5Ni4zODg5NTddDQo+ICAgICAgICAg
ICAgICAgICAtPiAjMCAoeHNfd2F0Y2hfcndzZW0peysrKyt9LXszOjN9Og0KPiBbICAgOTYu
Mzg4OTY1XSAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNTM4LzB4MjI2MA0KPiBbICAgOTYu
Mzg4OTcyXSAgICAgICAgbG9ja19hY3F1aXJlKzB4YzYvMHgyYjANCj4gWyAgIDk2LjM4ODk3
Nl0gICAgICAgIGRvd25fcmVhZCsweDJkLzB4MTYwDQo+IFsgICA5Ni4zODg5ODNdICAgICAg
ICByZWdpc3Rlcl94ZW5idXNfd2F0Y2grMHg0NS8weDE0MA0KPiBbICAgOTYuMzg4OTkwXSAg
ICAgICAgeGVuYnVzX2ZpbGVfd3JpdGUrMHg1M2QvMHg2MDANCj4gWyAgIDk2LjM4ODk5NF0g
ICAgICAgIHZmc193cml0ZSsweGU0LzB4NDkwDQo+IFsgICA5Ni4zODkwMDNdICAgICAgICBr
c3lzX3dyaXRlKzB4YjgvMHhmMA0KPiBbICAgOTYuMzg5MDExXSAgICAgICAgZG9fc3lzY2Fs
bF82NCsweDVjLzB4OTANCj4gWyAgIDk2LjM4OTAxN10gICAgICAgIGVudHJ5X1NZU0NBTExf
NjRfYWZ0ZXJfaHdmcmFtZSsweDcyLzB4ZGMNCj4gWyAgIDk2LjM4OTAyM10NCj4gICAgICAg
ICAgICAgICAgIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6DQo+
IA0KPiBbICAgOTYuMzg5MDI1XSBDaGFpbiBleGlzdHMgb2Y6DQo+ICAgICAgICAgICAgICAg
ICAgIHhzX3dhdGNoX3J3c2VtIC0tPiB4c19yZXNwb25zZV9tdXRleCAtLT4gJnUtPm1zZ2J1
ZmZlcl9tdXRleA0KPiANCj4gWyAgIDk2LjQxMzQyOV0gIFBvc3NpYmxlIHVuc2FmZSBsb2Nr
aW5nIHNjZW5hcmlvOg0KPiANCj4gWyAgIDk2LjQxMzQzMF0gICAgICAgIENQVTAgICAgICAg
ICAgICAgICAgICAgIENQVTENCj4gWyAgIDk2LjQxMzQzMF0gICAgICAgIC0tLS0gICAgICAg
ICAgICAgICAgICAgIC0tLS0NCj4gWyAgIDk2LjQxMzQzMV0gICBsb2NrKCZ1LT5tc2didWZm
ZXJfbXV0ZXgpOw0KPiBbICAgOTYuNDEzNDMyXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jayh4c19yZXNwb25zZV9tdXRleCk7DQo+IFsgICA5Ni40MTM0MzNdICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrKCZ1LT5tc2didWZmZXJfbXV0ZXgpOw0K
PiBbICAgOTYuNDEzNDM0XSAgIHJsb2NrKHhzX3dhdGNoX3J3c2VtKTsNCj4gWyAgIDk2LjQx
MzQzNl0NCj4gICAgICAgICAgICAgICAgICAqKiogREVBRExPQ0sgKioqDQo+IA0KPiBbICAg
OTYuNDEzNDM2XSAxIGxvY2sgaGVsZCBieSB4ZW5jb25zb2xlZC8xMzMwOg0KPiBbICAgOTYu
NDEzNDM4XSAgIzA6IGZmZmY4ODgxMDBjOTIwNjggKCZ1LT5tc2didWZmZXJfbXV0ZXgpeysu
Ky59LXszOjN9LCBhdDogeGVuYnVzX2ZpbGVfd3JpdGUrMHgyYy8weDYwMA0KPiBbICAgOTYu
NDEzNDQ2XQ0KPiANCj4gQW4gaW9jdGwgY2FsbCBJT0NUTF9YRU5CVVNfQkFDS0VORF9TRVRV
UCAocmVjb3JkICMxIGluIHRoZSByZXBvcnQpDQo+IHJlc3VsdHMgaW4gY2FsbGluZyB4ZW5i
dXNfYWxsb2MoKSAtPiB4c19zdXNwZW5kKCkgd2hpY2ggaW50cm9kdWNlcw0KPiBvcmRlcmlu
ZyB4c193YXRjaF9yd3NlbSAtLT4geHNfcmVzcG9uc2VfbXV0ZXguIFRoZSB4ZW5idXNfdGhy
ZWFkKCkNCj4gb3BlcmF0aW9uIChyZWNvcmQgIzIpIGNyZWF0ZXMgeHNfcmVzcG9uc2VfbXV0
ZXggLS0+ICZ1LT5tc2didWZmZXJfbXV0ZXguDQo+IEFuIFhTX1dBVENIIHdyaXRlIHRvIHRo
ZSB4ZW5idXMgZmlsZSB0aGVuIHJlc3VsdHMgaW4gYSBjb21wbGFpbiBhYm91dA0KPiB0aGUg
b3Bwb3NpdGUgbG9jayBvcmRlciAmdS0+bXNnYnVmZmVyX211dGV4IC0tPiB4c193YXRjaF9y
d3NlbS4NCj4gDQo+IFRoZSBkZXBlbmRlbmN5IHhzX3dhdGNoX3J3c2VtIC0tPiB4c19yZXNw
b25zZV9tdXRleCBpcyBzcHVyaW91cy4gQXZvaWQNCj4gaXQgYW5kIHRoZSB3YXJuaW5nIGJ5
IGNoYW5naW5nIHRoZSBvcmRlcmluZyBpbiB4c19zdXNwZW5kKCksIGZpcnN0DQo+IGFjcXVp
cmUgeHNfcmVzcG9uc2VfbXV0ZXggYW5kIHRoZW4geHNfd2F0Y2hfcndzZW0uIFJldmVyc2Ug
YWxzbyB0aGUNCj4gdW5sb2NraW5nIG9yZGVyIGluIHhzX3N1c3BlbmRfY2FuY2VsKCkgZm9y
IGNvbnNpc3RlbmN5LCBidXQga2VlcA0KPiB4c19yZXN1bWUoKSBhcyBpcyBiZWNhdXNlIGl0
IG5lZWRzIHRvIGhhdmUgeHNfd2F0Y2hfcndzZW0gdW5sb2NrZWQgb25seQ0KPiBhZnRlciBl
eGl0aW5nIHhzIHN1c3BlbmQgYW5kIHJlLWFkZGluZyBhbGwgd2F0Y2hlcy4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IFBldHIgUGF2bHUgPHBldHIucGF2bHVAc3VzZS5jb20+DQoNClB1c2hl
ZCB0byB4ZW4vdGlwLmdpdCBmb3ItbGludXMtNi42DQoNCg0KSnVlcmdlbg0KDQo=
--------------yzuoFKRHnC0S0MoXwIsE14h9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------yzuoFKRHnC0S0MoXwIsE14h9--

--------------42ZRJ49UHDDY0uYFOcH0jiv9--

--------------dXh4gafvuiQmFtCEUo0Ovfbq
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/Ey8FAmTlo+QFAwAAAAAACgkQsN6d1ii/Ey+M
RwgAmYVg8iwB8QzOZkrF2CucnZZHgCOnq7doZmYwc+NIOUZGxybCmUBNsjUQQHY/RFHY7nYR2VFX
Gyo04E8g0tbg77PcdMy6/lF++s+W3WGOWcvtS+ZPh6Rdh694qxVH0dlcytHs8xkAk14qZZeaiApk
P2k6pQv47j1RiZfex/o/2KMK7ZCXQ9r+Eyf5xJyXklgXLTQvluOp4cFI/9UTock6BfeUrgpPhExn
z2xlF4UV3DfysB4ZboRVJaJzFYUUkgdsjKzyE/MKFxB4QB+Y2YPhfgQPt4EA3sTSMeAPlKMHbyUN
uAt3V0C+NpQD6xUpX/kEPtFrcxMet5XfLF2WG6tguQ==
=I71y
-----END PGP SIGNATURE-----

--------------dXh4gafvuiQmFtCEUo0Ovfbq--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:21:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:21:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588927.920572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhFX-0003yd-TH; Wed, 23 Aug 2023 06:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588927.920572; Wed, 23 Aug 2023 06:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhFX-0003yW-Qh; Wed, 23 Aug 2023 06:21:51 +0000
Received: by outflank-mailman (input) for mailman id 588927;
 Wed, 23 Aug 2023 06:21:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhFW-0003yQ-Ac
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:21:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20629.outbound.protection.outlook.com
 [2a01:111:f400:7d00::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 577183ed-417d-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 08:21:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7178.eurprd04.prod.outlook.com (2603:10a6:10:12e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 06:21:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06:21: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: 577183ed-417d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dAVrEWrUWZsppHqnu+kfpd5ybnHTRAqrjU3LqJEW/ISlJwCs9M1FIsV7wYlElloTQmOkCrQ35sz85rXFfqyuIKBS7gJUD5oOFKSppbPnFd1TiBs5WNdj1jo5/681+FYofflLHt/mXL7Ep+R6s2fkwouVKmn7gLqiJgI7jqAMvk809hi8VGrHN+QoGrUu4tlIUj0VHTKGhJHCYq6GFjaknSe1gw7AD2hO7ik9jRV/trbK/TUyupSPsnimiNjLvy+FvOPBpgXQ0d1owdbXa2c82djA4njuCe/fH+7n/uux79fvodd94IpipWepcs6o2KJ3+xCR6CImAYW46DoC8EaJqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DyiwMAJTlgMP6fFouvJQ5uXVFFxVGZmBdQArCVEfQ8A=;
 b=JCAjQ8VEoJf0n+AwLjN+Qq5g3LGZwQQXBFU6sqCFXfZ3QMIbWN+uysuLLAfgMGMj0Q65jM471qEcE8Cn/vNgXT9pioLAAL416+ZaAphyLqlrp+CNR/QSZwQZUREECNoAV7rhxAwgsLKrMosI2x15lr5Q1s/osQ/b5n0N4pN5yMKDyXe1PE2X8T+ObyzJsZam8I0s2nsjvSaaf5ehv5SWfYXHpX3+KGekQu/eCsqzDQi1ybFS/UVpkHY82vFImD84D1ep58tRStR54J87XPIYWeIYJsbJtlKu9wTIvhobzi3Zd+D2Ldj9JOSeqsD1ajOeyTIcKFuzSEmNrOGmEKO/Jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DyiwMAJTlgMP6fFouvJQ5uXVFFxVGZmBdQArCVEfQ8A=;
 b=kbkE+GdF0VudVSEOPpAIdK2diINtsJNM2GcJy+R+t9eZMtoN9J4+O9oljKyogo/1ahLqvFgygOXFxsG0hJaeVVCj6l3WHk6oAWB7fUWv3eZL07EW/ONRbOolp7Pl03jzB1rzb1dYfz/VyfQjFGbbhLcgEXS4RZTBnUGIGqQKrFZ5yusExtRoKGxQ6vAmALJOFzVknvfy4OpoxC0biFFuI+RAWRhY51iC+GBXbmPRUwrRDxftgwjpDTSoTIp0jL0T/v4RriZ/sA8ZtH5bZst0Vv52d9MyVKRCRhANBgjfYwy9A6nVnGMEWIox/P10vj5Jp9ven4hVR+3oZhaaZgm4bw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d69f21a-2043-05f7-7f6e-7c368d975e94@suse.com>
Date: Wed, 23 Aug 2023 08:21:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/4] xen/pci: convert pci_find_*cap* to pci_sbdf_t
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-3-stewart.hildebrand@amd.com>
 <31d4ae2d-1b25-b272-a5c1-2fef3dffb7af@suse.com>
 <e5bedf64-aeeb-2e10-7684-7e46590e92e8@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5bedf64-aeeb-2e10-7684-7e46590e92e8@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7178:EE_
X-MS-Office365-Filtering-Correlation-Id: 5671ffc2-d5d2-4fec-0fb5-08dba3a139ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UmmWKt9R7z3JQSyDG+aSC1uUT+4pswn3ioHaNyFmlG/fPn9cue2h6NmlSKaRPurMWXPuN4qiw1X3izAm2HQHDSA0MyZJRkeR46zMlZSOfbVy1RD7nGcs8yjxcb7vlws/vHorG02dZtkmLUsXoTU8ZFi/FTe5vBWBZLNUjImmXozGljPsGqM/KYF6rseDXEP07LRbLMBCE6ozyW4s90WoY+Ufo9Qm2iLurro494MW9x60WrcOy3rQH0hsnI13S4E1VzwRav2qq7y2wK2HeZEyu4SAXHGGRxTLpIZy9KARPjjiqju3JitJ52lk5EjLT+DlV154oaWqS92n8XKoYzMnOgFhBX405DtGxtZL1zjRQQ4s2dms/52m+3zPgZMFlJSykfmD+6T3Tmrg2r2e1YRxbUgb96ksA0xZnfgxO+sFTsD+Kboo3amxT1IfantzCdWp907F7DyzyWBJbze9DlUdZsSeyL8LJ+9v6FlXcbvHvB+3QOucpVD/cYM9moMqiQdZh//lHe/52v+V2OajhLs0EtRh2VyI/xb7v7uRwl6HgK0BR1Of8BqxKdENIeRmx6QjxFXC4L0ERr9ZvK5H8NoqE9IHkhVpXK+yWaJBbnlmFCZ045BmcTEoBdJeamSiurd5tO3LrfW8BkCqJQtF6ZsrOw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199024)(1800799009)(186009)(2906002)(7416002)(38100700002)(6506007)(53546011)(6486002)(5660300002)(26005)(31686004)(31696002)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(6916009)(54906003)(66556008)(66476007)(66899024)(478600001)(6666004)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzMyU003cGUwQ0FJSlJ1YzBpRC9JOGp1S2NTVkxxZDFZbWliclRrc2lINGds?=
 =?utf-8?B?NjduNFBwb0EraUsvV2grbzZCM1hKOWI1dTkza2Y4dU82VE85WVB4WG9LMzc5?=
 =?utf-8?B?akFrWjdBU2RjZXlyZkxDVmpJZGM4eml3UWZxamg0RkwrNjU5cW5pT3YvL21j?=
 =?utf-8?B?RWtmK2Z6OHpHeXNkdlo3NWI5TzhwOU1FUW85dFVDNEtuTjE0SGNXdWtEZ0hj?=
 =?utf-8?B?c09xNllIZDNrTFkvUjhURFkyMXIzUksrcWN4dm9rWGQybGI0QW1kNGw5Z0Vm?=
 =?utf-8?B?c1JVSXpFdnAvMmRiWExON0FhYXgvZUJ4U09ic2c5d1phNHdnckV3OWI0K3Bu?=
 =?utf-8?B?bXdpalc0ZTBBUlNWMTgyUEplOGwvR3o4K1Z0RVludjFQbzM4enRVaXI5dHZB?=
 =?utf-8?B?NUJleEduaUhFKzJ4RFArNVk5VE1QbkV0RUZ6V3lzdEEyWG4reWFJZVlpbjJR?=
 =?utf-8?B?dFFLYmw2Rm5wdDhIdGppWWlJYVdyMndqbHZRYmlqaVpGa2tyMHV4VGx5WlNE?=
 =?utf-8?B?KzhqQVcrcFdqb2paMHFOSDcrV0kxcUJLRkR1UlhIR2tucTJUOWdpWkQyQzBi?=
 =?utf-8?B?WlZweFhFRTA0QkIzVTBMclljWGs0Mm1BTzJLWkJMdEEvRHJDaEpOMzlXVzRC?=
 =?utf-8?B?aWtpeGoxakZ2NGdHNG8vcHRCcFAxSTJnc2ZMVXNMQmRBbFhiYjdpc3lFbWd0?=
 =?utf-8?B?ZmcrVmFMcHpTcnNDcTZDa05JN01JT2lGK2RlQ3VHRVdISWFrNkx3MHNaK0lk?=
 =?utf-8?B?eTJ4Wnc1MWtxL3F5VXQyWGZ3b2VPZlJpNC9vNDRMNll3akkwYmkzSjNibEFK?=
 =?utf-8?B?bGhKMGd1TWhocjhab1o5R0FXbVAvdjc0LzcvdmEwbkJHOUV0RHFLZWJPZW9Y?=
 =?utf-8?B?a0hqRlExZE0xVmNoRktoMjFSb2d2bnNhYzVRWkoydnAzS09xQ0xoNWd0MGph?=
 =?utf-8?B?a3hnM2ZBSzdTTHkzcysxMFpoN0kxSXk3QmFlVml3VWlYczF2MVI2TllDenJH?=
 =?utf-8?B?OWF1Q1M5cUgvbVRXMFF4VmJDczhUdldxcHA2ZlhMenRCc2xDUE1zT2xKeUFF?=
 =?utf-8?B?VURnbnpRSVFJNldDbjRNNVpjdVIvUG5kSFdDZDlwUjBkNjhMSElTYzY4NVRJ?=
 =?utf-8?B?dlpGOGw0Ym9Jd28vNXkvbzVFMmh2M0hoRUliVkkxRG9yMTJjb0JtOEYzcHRH?=
 =?utf-8?B?NGpPSy9VTmFUeVUybjhqQ0tZcTVGNjZnZUtpcnQ1Y1BtV2k0QS9aTnNhSVNh?=
 =?utf-8?B?d01hZGVhdGRkcmc4am5STHQwM3B6bCtrSG1zSGdiOFl6cllWT09hV3g1WVd5?=
 =?utf-8?B?azRpZmZDcnFiQ0FMQ0NpQWpwWjZJdGpYMWZUeTc0OFlrd01OQ0JNMlhkRmEz?=
 =?utf-8?B?SWJjRkJWTXRNTVk0TDA5SzJnYzdGa1U0ZEhObjd6RmR4K1pIQlo4NTYvWjFC?=
 =?utf-8?B?czIvZjBwblRCNzg4YUpnU2VETWxWVUd0UVFHK0ZJS3NEaXAvb3RTMnQxMnlu?=
 =?utf-8?B?Mk5MdG5veGQ5Nm43dWlibmRCRitqR2Y3eWxraCtkZmVQMUNPQld3VlNzY0Fz?=
 =?utf-8?B?WmMvdm5kSDNJNzZmWHc3UFM4VFYxcDNsUGp6QTRIYm1Dak9Kd3NudjdJSnMx?=
 =?utf-8?B?QmNTT3dBbDNFbGsxRU8vWWl6OXZGOWZaMUh5RVdrSEg1c1U5eFZnZ0dMaXRQ?=
 =?utf-8?B?bUVEa0d2b2hGWGRTWFR0UHN4UUtsWHJVNFRIdVVtRTVhV1Nxek9GVlUvSTEx?=
 =?utf-8?B?M2I0WDB2OW9RQklqeW1hUGh5ajFySnF5UE0zalhQSHo4cUErOUhRcko2Z0xR?=
 =?utf-8?B?M05QcERVQS9IMjRYKzkwWEdQTnlpd09UNVFra0VsYjRnWW1sVFluK2VaYm9H?=
 =?utf-8?B?T1VtbnE4T0dkL0FnLzFrQXFuT2J1MitlTmpKVGdMVHZOOGx3djY5d1AyaGh2?=
 =?utf-8?B?ZEdWa2k2R3N4V3JUOVhFVDM3dXc4TFFmV210bUI5NXdxRVJBRDJuUVRsYm03?=
 =?utf-8?B?NTZ4bGxFcGtqZ21QVllyWDBTSTArZDQyRDNvS3c2NnU5eW1oMFlGdk92S1dl?=
 =?utf-8?B?SUVSN0hrRERzcHVnQWtwdkkwN2JXamRXYzJNRnNjSDdHR3JqYlZ2cktOMlhZ?=
 =?utf-8?Q?Uc5KDXg/lVtQyJZrte53K+IR7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5671ffc2-d5d2-4fec-0fb5-08dba3a139ce
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:21:45.9455
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lWwXLTLYgqbTgBYpyb4+zwlSYKxVk8wjRfB/LCoVLVCJydkTsK5gzjw/OulsbRN2aFk/8ymaQleii5Ajp2HgIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7178

On 23.08.2023 05:03, Stewart Hildebrand wrote:
> On 8/22/23 08:53, Jan Beulich wrote:
>> On 22.08.2023 03:29, Stewart Hildebrand wrote:
>>> --- a/xen/include/xen/pci.h
>>> +++ b/xen/include/xen/pci.h
>>> @@ -193,11 +193,10 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
>>>                     unsigned int devfn, int reg, int len, u32 *value);
>>>  int pci_mmcfg_write(unsigned int seg, unsigned int bus,
>>>                      unsigned int devfn, int reg, int len, u32 value);
>>> -int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
>>> -int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
>>> -int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
>>> -int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
>>> -                                 int cap);
>>> +int pci_find_cap_offset(pci_sbdf_t sbdf, u8 cap);
>>> +int pci_find_next_cap(pci_sbdf_t sbdf, u8 pos, int cap);
>>> +int pci_find_ext_capability(pci_sbdf_t sbdf, int cap);
>>> +int pci_find_next_ext_capability(pci_sbdf_t sbdf, int start, int cap);
>>
>> The remaining types want converting, too: Neither fixed-width nor plain int
>> are appropriate here. (It's a few too many type adjustments to make, for me
>> to offer doing so while committing.)
> 
> Understood, I'm happy to make the change for v4. Is the following what you'd expect it to look like?
> 
> unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
> unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>                                unsigned int cap);
> unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
> unsigned int pci_find_next_ext_capability(pci_sbdf_t sbdf, unsigned int start,
>                                           unsigned int cap);

Yes, this looks correct. Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:42:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588937.920588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhZK-0006ld-Nm; Wed, 23 Aug 2023 06:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588937.920588; Wed, 23 Aug 2023 06:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhZK-0006lW-Jw; Wed, 23 Aug 2023 06:42:18 +0000
Received: by outflank-mailman (input) for mailman id 588937;
 Wed, 23 Aug 2023 06:42:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhZJ-0006lO-Lf
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:42:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 326e7fb5-4180-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 08:42:15 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8067.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25; Wed, 23 Aug
 2023 06:42:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06:42: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: 326e7fb5-4180-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=etbpmJ2RT7Q56v+4cLZKTZcyAb/dnDNJ1O3ZY50fOS+Jc7NbSvg2HB5Tt2iOomr9gvgd1ilWTSk/RvN7CmWylYoz6RK6F2FIQGMfM/RjgZu2ly9bORThLkVLbaslQoE5ZPUewaCgQBeIhPiSjhVH6JtlbY8lzSBUH0A4eTH5XoVVfrgaIO+1FVXhHn5IWlKpuWtMvSOln+Fk27Ba7UtZaQy1r/RQdOxoOTsgvVP14ZbkozsafP9DxE2kKJa25ieObK1J8Cr4rZBoZas2p0y0HmD9zWEaRaTzE8vgHlZNeCns8u6Rm9hXA+nCij7vTGR4Fw4tl491ZcLovYW6RQ4MKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=phSsjkXKzy+yW2tsv7VHKyg6GR6ls6gy0kdRJtNmjPk=;
 b=l6wuSX/nilJ068r5aCZOSsFSyDJZSyKrVH29RKyfwop7GPamZRChNRI1GP9crPTgGNzIG6Gt1TqjOjifSMjrzrAwiF3XvcyJ3Fniiweg7qIN1oYFhH3fYrE8wQXjonGTxftXZ+xEMr8CYI/M72xuqFJDLhwWf/ikTFF1TLDMgykfLpMRPaTVMomTfBw85XzqBQQsIdJN0Wzx/eDF4wM1gq47srH7Ou14NKe8NjmCIHE9VXMzrMKZ3VDNZSg1KRZg1R7gLx/+dXMNMTVg9tqTQ3nty25zVwcj69byV1uhhdwd5Iu+WjXES+Ae3C+j6g3/7hFLxQX4ZiLY00oNra4f6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=phSsjkXKzy+yW2tsv7VHKyg6GR6ls6gy0kdRJtNmjPk=;
 b=RWGY4Fn8M54xR/EVi/cgHZP0Xftho6549zA+KK6376WgoY8Y5F+u5B+jrj7NR2oCflBoqnEXpRT5VSRvq82C1ncsyib34wEOWjwLWbKcPtX7lBaqWzrjP0htznr8wI9gKzTtiGrsGgX+hcb3TsE4FeIicN+RvYmIqc6nsQPOt/IERypEqRiDLcx/VOT5CRxXB84rPmMemCV2II0k2MVCjqJB0Moy99ZzO+sii7b14OdK9WUv2jofy7gRFkc8YYnCcCXP1EZGbIyRlL8iaQJmkSpxriMmOfbUF4SX+BP9dyrhNiu/AXtcGPcFAYD5vF5Vz78nLeQTl3ncZ/K9f0XIzA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d78fbd65-008b-ac5c-4459-86f4526f814e@suse.com>
Date: Wed, 23 Aug 2023 08:42:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add exceptions to rules
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230819012410.1754839-1-sstabellini@kernel.org>
 <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
 <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
 <89c57dd1494de14168dc0c7f4aed959e@bugseng.com>
 <cb10f21e-afe4-6593-f10a-fefd1731bf90@suse.com>
 <alpine.DEB.2.22.394.2308221715290.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308221715290.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8067:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ce7384c-9b5b-4b99-08b6-08dba3a415a5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VX/GXAmrz5eCZycuDIJoirh4PZRRsg1JrKlw4P5iyVoLhGy3ZLKl97HIgTzdJkAHCGSxAruLfC3XcU0I6Rp0Rp6M2lMuYrWAhF7iDsxOcC1Y3Vm2MMCKvQnTtAJaowwwGbA8BXbUxgmwNvBSgDL5QH81n90FGfezvksfqvi1PKUEXNQKDPEspbQxpuK+PVY4HmuoG8brurYGmDixhouLckgpHlQ2vkIC5+zA4IxeVMnBnbtvpIKFjj2aPItQ3H84TMkif0LPCFS5UJZ35JC97um95O4WVGqilyV1I7DQsnqNpaSCkeY1IHo9o9udKqSefsdBI+AfXn5GZfae58KjEEcU5bYvRD2cXtXnKcAkjbVhKqBBF06oFjB9HMouGF4B8sqSRvfsnSdSX1jOPSJP3YDJMvl1FnSc/dT44iLl/m0tXkkhbLYb8E57KA9wbYrsofQEkRQfAxBmKu3nKy/ENex8bzLZMDrVgxZJIACKEHEXEEJEbONzINm+4mBgtDldJqOXcyuWvuM7Lc6nYiHMQ/w+YXwRDycB9CWrJbYWcqYU3jo+5I+xnpvEQBoaocmCagIO8M9BoJVh933ia/C0FE/+I/6halDorBMZBnbptbiJjFWGYcIKd+AbxbVzqDAy/b371t/s9i68PBYvM6f/7A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(346002)(39860400002)(366004)(451199024)(1800799009)(186009)(83380400001)(2906002)(6916009)(316002)(66556008)(6486002)(66476007)(6506007)(54906003)(53546011)(66946007)(478600001)(86362001)(36756003)(31686004)(31696002)(5660300002)(26005)(2616005)(38100700002)(41300700001)(6512007)(8676002)(8936002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WGxyekkzZXNZT2UvSnB0TlBYMFY0MDc2cnNpWW1BdHNNRkZTbVZzL0pLSTBT?=
 =?utf-8?B?WUZyR2t4MExWelA0anBQTFpGUmhKbUtqSm0yTmExcVJCeDBaVld3YlYzYU8x?=
 =?utf-8?B?WHQ1bzkrODZrelpTYlQ0K2RjWXcyWmZVMkUxTVQxY21XWTBMci9sZDZDeVIz?=
 =?utf-8?B?NTdYL1cxTkYvQlhIME9UTGR1Vmp6cEkxNkYxY2Y3VUw1aE1ScUFYOVp3VDFn?=
 =?utf-8?B?NmdPV3hFODlpcEtoK0dKK2VZUHJjaHRlR0ZPV1pBT0NBem94VEZITzhUUUhD?=
 =?utf-8?B?SUVWd0RqYWRoWm1TcEZwY3FpZVlKVnFabGMxNjJua2ZaQUYvYk95VlRyZVc4?=
 =?utf-8?B?UWJULzhxUW9tYU8zdUE5My9uSUdWYWk1dEJ2eUZHUVpHOHVMaDBhQjY3R01h?=
 =?utf-8?B?VlRSL09xWndsd3g2MjVadyt2QmdGZ0xFeWprRWhxSmZoQys1c20ra1lqZVB5?=
 =?utf-8?B?Qmxrc1EyOWlPZ2JsRWJnZ2czdGp5K2RoMjhxRjNscGt2OEZQM3ZQWnpXWmxk?=
 =?utf-8?B?Nk5nczZnbFlLY1grMmR6eFUrYnlTMDB6K21ncXlWUnRnVWt2b0lRbi9TSmU1?=
 =?utf-8?B?WSthSFl4MG9VcDRqRGlOditsbHZFcUFvZ0pWNWpzcEtzRXNXMlljRVRJU3Az?=
 =?utf-8?B?aFpzd3M4ZHBrVHBSQnJNYzhMZnpQSS9VNWFpNGtxZjhwMkh2UG82aFowQXQ2?=
 =?utf-8?B?SEhzR0hOUXJSTHhHbGFCRExTSHRNNGVxTnlxc3IzS3p5bEVZekNCbi9peW50?=
 =?utf-8?B?QU1VcTlzV1NHNkZ3TWtuRi80TGxyQ2lqTFBibnd5TGY4amZXVktES1k4dUZX?=
 =?utf-8?B?SGp2czZtWVdvRFZqV0ZqQlBxc1RqWHFSTWU1S0F5bVBRLzNsT3doNCtrWS9O?=
 =?utf-8?B?ZGFLdUVpVm9ieWNFOUdNV1RPM2w5UU03UjRxVjdSWFhTYUJkNVYzUzJFcURt?=
 =?utf-8?B?Qy9WZm9uWGZiaXQwcGNUQkZmNHJwTDhyNUo3RE54cVFNUityTmxHYmZxbDJk?=
 =?utf-8?B?Y2cyZ3RHbXhjKzV2akhsTzcxemdkY0IwY3EzN0FGZjY3NHVMVWx3YWdubVUr?=
 =?utf-8?B?V0R5U2Y2cXgwNzJjaXJ0REtuSHRHcDJmcHJkS2pNekY2cjJxbmwyQk1UWXJZ?=
 =?utf-8?B?cHpKZUZjZEw3Tm8yWjJNRHVRZXlQaVVmdVNaT2E1NWhxUEpTbXAwZTloQm9z?=
 =?utf-8?B?TVZ5aEdkY2E1M081S2RCYWFoOXY0UERyTlh1bkN5SXBRb3VxK0hrZHd5SG4y?=
 =?utf-8?B?TzdMZVhrZEFaaUN0SEsrZmdKZTBKYzQrdVplZFpuN3ZxTHJ4bGtUS1FNZ0h5?=
 =?utf-8?B?MXFJVDJoK2Nxdzkrc2F5S3RMRWVPWElZdEJUT2hZemhBdWx2blhoY2FTZ0hn?=
 =?utf-8?B?RkVDTHphL1lVZndvdS9BV0NScnpLWU1zd1F0RUFUbG55bUU1ZlB0VFAwb3oy?=
 =?utf-8?B?QXhNTVhRajFCS3dFSXRMRGFvejNkcDJtTDV3TnBSalRRbG9KVFRac1Z6K0tp?=
 =?utf-8?B?Y1dwdnFweVhjYnNnZE9JdEkwUlFUbzVESlpySmN5RVByT1k0dkxlOE80ZElm?=
 =?utf-8?B?SGo0YkVTZnlvSjBYMEVDemR1aXRGbHhFTVJhbExEemFUVU5VMTM4alI5b1d3?=
 =?utf-8?B?SlZaL1BxRGRWVUlYQ1pYdnpreXdiVjkyUGVWZGs5bVBEZElTMEd2Z0t0Y1pj?=
 =?utf-8?B?NzlXdDIyd3YrWXZPMlNGNTFBNHJZalpDb0dRMnZZQ1JXTTNCTzVqeHlMbkY5?=
 =?utf-8?B?WExYcGp1dHhORm81UjhuaE1ZYXZaT25KWmtzWTVva3VMMUE0czdwWjczbjBj?=
 =?utf-8?B?OGp2ejJXOEZ6WkZRYVNzZG5EZ1grV0ZRN250MmxndWtocDNCNkVrbDF3Q3Jk?=
 =?utf-8?B?QWNaQ05uSnhDSU9IQlMxQnRzOFlwell6T1hhbmdqNEU0d2pUZ2JkRHlEaXEr?=
 =?utf-8?B?ZDN5cFhTQWtJODJBV0NIREJjVldmOHNYbmFEdVllMVlZdlZzc2svMVdSekRD?=
 =?utf-8?B?VHhBVlRTcEUrNWtMdFFWdVRTOHJoTUVBd2RFU2JzZkNUWDVud0pld0I1NTEx?=
 =?utf-8?B?dWplRVd0aCtqMHhYKzc4SGZuNFF5UENhdFBCYU9lYnoybHkwaU1KdVp3Zy9p?=
 =?utf-8?Q?Bh77IAotL2vd80+xaiD+pF6PJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ce7384c-9b5b-4b99-08b6-08dba3a415a5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:42:13.7393
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w+W2TNgI9yNQmzdgxiAciszdO9WRXEK9+pCfFstnsk4yW1b0xM62gFFJhwiU1a2sAHcihp+xOoidXHfHdZmGRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8067

On 23.08.2023 02:19, Stefano Stabellini wrote:
> On Tue, 22 Aug 2023, Jan Beulich wrote:
>> (re-adding xen-devel@)
>>
>> On 22.08.2023 17:09, Nicola Vetrini wrote:
>>>
>>>>>> +         - Switch with a controlling value incompatible with labeled
>>>>>> +           statements
>>>>>
>>>>> What does this mean?
>>>>
>>>> I am not certain about this one actually. It could be when we have:
>>>>
>>>> switch (var) {
>>>>   case 1:
>>>>       something();
>>>>       break;
>>>>   case 2:
>>>>       something();
>>>>       break;
>>>> }
>>>>
>>>> and var could be 3 in theory?
>>>>
>>>> Nicola, please confirm.
>>>>
>>>>
>>>
>>> This one is about case labels that are statically determined not to be 
>>> reachable (and hence
>>> saying that the code under that label is unreachable is not inaccurate) 
>>> because the
>>> controlling expression of the switch statement can never have such 
>>> value. An example below:
>>>
>>> $ cat p.c
>>> int f(void) {
>>>    char c;
>>>    switch (c) {
>>>      case 260:
>>>        return 260;
>>>      case 4:
>>>        return 4;
>>>    }
>>> }
>>>
>>> $ eclair_env -enable=MC3.R2.1,B.REPORT.TXT -- gcc -c p.c
>>> violation for rule MC3.R2.1: (required) A project shall not contain 
>>> unreachable code. (untagged)
>>> p.c:3.3-3.8: Loc #1 [culprit: `switch' statement has a controlling value 
>>> incompatible with labeled statement]
>>>    switch (c) {
>>>    <~~~~>
>>> p.c:5.14-5.16: Loc #2 [evidence: integer literal is unreachable]
>>>        return 260;
>>>               <~>
>>>
>>> This is also true for things like
>>>
>>> switch(sizeof(int)) {
>>>    case 2:
>>>      ...
>>>    case 4:
>>>      ...
>>> }
>>
>> Ah yes, we certainly have quite a few of those. Not sure how to best
>> describe such for the doc, but what was suggested (still visible at
>> the top) doesn't get this across, I'm afraid,
> 
> What about: "switch with a controlling value statically determined not
> to match one or more case statements"

Sounds okay, assuming this is the only case we want to treat specially.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:44:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588943.920597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhbh-0007Kb-3k; Wed, 23 Aug 2023 06:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588943.920597; Wed, 23 Aug 2023 06: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 1qYhbh-0007KU-19; Wed, 23 Aug 2023 06:44:45 +0000
Received: by outflank-mailman (input) for mailman id 588943;
 Wed, 23 Aug 2023 06:44: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhbf-0007KG-62
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:44:43 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89f17df8-4180-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 08:44:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8432.eurprd04.prod.outlook.com (2603:10a6:10:243::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 06:44:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06:44: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: 89f17df8-4180-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EpGwkopt+2bXQXdnd/os/aQFRYbMVFu3KUqChpGQ3Q4qvRW9Ruene/zQZ+9eEVczwBKdPjQcW6RR1sNjLeQ2FxUFpX5qAtmYsArYvrSiSbt3cJ5w0B34ZseXPWFvGRHcbArSZEyIWISqr762OPgb/tRXM/9z90hnyatzv2NbaWjZi63A1RpQixutmE3habsztLfOJWu49kaQIs49WpvRF1yfA2srOqHm8VoQrHtCX3tZZdsU1IWgZec+c5K81dYOGpBqVWSoIgeT08zhBbk7iJ0tHSUviQC8E0DoysyZOPjDT+m2C51LK/DZpreicoZQYh7q3exXp8lbcSCMCnlv6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OjL8phfs8yZ7oxcefTCszhz3o3NCvSLL8CNDgov9eP8=;
 b=Xp4iiVm0hhukrD/0FUzceMf6/Eq/9VPUaFGctlhmvgU8OJAZsWh+s6T7rYxyUGxq3z8XXPyv4Sq+JgRkccaXryOMwUkB/AHreqno14u9aHNi/KARJJ25C/6LtHgigqk6pfN4m5Gt5COEp15TpC11CAJBg5N1r56s2ZY54Nd/3hF8KMybvPzulPodcnh4FfjM0qvJszAfxb5oOArgBNM9heqo+HnWDwj0S78UtY4d8S5vHczuAfxL5LZcS7Pvh8f7oohL0QAmKPZUNRKCnFq0MQMX5Q9aofyIsH2VwNL9cLWyWiOGqta8Brl5hEBMMoV7Sr3MFAU0bXGXecXPmhinog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OjL8phfs8yZ7oxcefTCszhz3o3NCvSLL8CNDgov9eP8=;
 b=BPflQgQiQ0siOpF01G/1J0z2CmxbnbJHykNMQk3dJc/Vh1skliNY1dgLVtPpeSIVNhQa0FNsyhU7yL5NxxPeDdguPX46DhUP2BqCZJQz/SFnnCWMswa7pFGSEwRdMd5LitN9sozVmp8xGAd1Rfk4y2ZHw/N9Ffky5tlh2aShCGltKsTcyByjjq4feZRYKOpKWSkcYlPAufSubIJcUnZkbDM7Ek4CPQbR7nfRvbLlinglHLS8g/ljPPDNCWG8FwGzSmZvZImxHHcNbv5+YEEOZ3KVTiTnGiWetpcLmNejfr1NoxpV3DUASXlq9kFXV/6kwdeabVh8xxy4yZ2lq29VdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cb370876-eacd-e637-2562-20266e4a96b5@suse.com>
Date: Wed, 23 Aug 2023 08:44:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add exceptions to rules
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 bertrand.marquis@arm.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230819012410.1754839-1-sstabellini@kernel.org>
 <5400f672-5ae6-4559-920f-5244bcd83c57@suse.com>
 <alpine.DEB.2.22.394.2308211803170.6458@ubuntu-linux-20-04-desktop>
 <1fd0b3b6-0771-66ad-9b3d-85358ab4102c@suse.com>
 <alpine.DEB.2.22.394.2308221712070.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308221712070.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8432:EE_
X-MS-Office365-Filtering-Correlation-Id: cc26a66a-983d-4a27-c214-08dba3a46c2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	47jgaV/yoy6H8SeWZtnhgJC/ffMzfLbjnuZIa54W80MjYW8162F1Bfh0z57A3fYwPlijxclTCoJPdHcoCr/2xOK9Y0ezx9EdVV/sN9A4nrceIHjkRe5ChpNIPj1TT7bdBT5BT9Aw131frrEbRG+czgK6wjomxn6EJnm3c8n3zUcRFFQrYM/0r0hgU+MycdX8AXV45iYIMdObxSM6kEv9VXrMC7wnTvnU53PW7Y18q8Rv2o5pkYOqkRGm6psqVROhzk+o5FujJMh/yqUyxP/Ooifv3++HfDRfe5iQvZnAm4A1RdD8C3wi1qRWqEjcZEIFdCwolqdKf7Pp8gtlov7+yTOaFX1JEffpcc08bDq7fGg7dfVVVrZ7ZNDVxERCf02o4Dwqz5OCNwdH0HKq4VJm3Uf7q2EWA6g/nn9H7ZLTXBNCaAP7jIfKSDVmWH3GaPq1XWf7K9KJKwVlXcGmUJa5vCPLrHGszZ0CKvtdP188DDQAEf7auvZ2TP2VaAwPsZ8V3UASII+ArJMLlQO0ALqhJfFuN1DkwUGL4UNdLxrS+W16HN9K/U4zcXytz0LhgVVVqIVoHT10gMgVlpaUvBFdG/eFu9ozt3OekcQBFpUOBxKJauaEozPBsnR9tLMoVJh1eetnOrfmP4lY4AG+Lm5ShA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199024)(1800799009)(186009)(2906002)(4744005)(38100700002)(6506007)(53546011)(6486002)(5660300002)(26005)(31686004)(31696002)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(6916009)(66556008)(66476007)(478600001)(6666004)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?STdlbkhDbHBDeHMySDNrUkx1ODZ2dEVubUVOTkYyVzRGaktCUkZnZlJPNkJx?=
 =?utf-8?B?Rmo5bGRNNTZHMWtYWTB5MXBvVit6RFd6QmJzeUdBLzNTdGJ0U05wWHVQM3Zq?=
 =?utf-8?B?V05XSnpYcmE5aHFKSjhkM2M5WjE3MmtuOS9jRDVpV0RpMXpaUnhWdFU2a3dJ?=
 =?utf-8?B?L0VpTy91Nmk2Qmp0OFBRMXFMOE1XR1VEaTVFdnBTUzJkcTRnSFRhMXVMYVhl?=
 =?utf-8?B?c0grZVhSamlHaUJCTjRGdXZCSEx3QjR1dlpsS1h4M2k1ZVM2ZEVMVk8vQTEw?=
 =?utf-8?B?bXU1MnBhQUhHeU9zbWNsQXJsQWJxc2pVS2c5MGRndGlOcVlQby9RT3UwWFlh?=
 =?utf-8?B?NE01b2Z5c3QzRUpCSEVTZlE0K0t6Wlp2aWVUQjl6OGVYM3Vka3RPTTFwc2tZ?=
 =?utf-8?B?V2l1NWxlRW9wWnVOY3pDZEVDUG5ieXJXWHI1b3JIREN2YmN6R0s2UEVaN0kx?=
 =?utf-8?B?WkhLN2VkTkpyMU05NExuYUhDQ2xZdXRRbHMzS2ZDZEVnR0MwOWdTbVlMYTZ6?=
 =?utf-8?B?VEI1NHByYXlETVY2eHlXNDNpWHhVaTEyUjNsMnhMK3BoQWpCd0ZaTmswUmh3?=
 =?utf-8?B?UThLZFhwbjE2OUU4bHF3WU5MaXlWTHM1UWJteWRSSXNpZFIzTGIwOGVzMmxS?=
 =?utf-8?B?TFVPaDU3d0lqN1VyZWpZRUZwbUdPaHNvS1JXYklNTkp0L2E5RjBkdFcwZjFt?=
 =?utf-8?B?SU9oem9MVG44Sk41YkNaNVZpSm82azl6aDhmWDVtb2loZE5rY3Jkbmp4OG1r?=
 =?utf-8?B?OHM5YjdiQmR1OTl2TkgzT29LNm9RYm5aOU9kUDIwZm9SaG15WjJqSDhLUnpT?=
 =?utf-8?B?UXZYbEhCQi9RdFNRdlBtdEM3WUNHNmNkem40WjhobjhYVGt1dGFkbnpLN0pp?=
 =?utf-8?B?VVZlYzBBTXBDSzRoeEVLL3ZZQm1oMWtnY2RFQ3djUnVxd1hFK1RxU3pHc1VN?=
 =?utf-8?B?MWJXYjdSaEdlRkd3SzNrT1EwOXJteGU4eEtRRWxxY1h6VFJueURCYStJUzVr?=
 =?utf-8?B?TGdhbXFNVUdvOE9iVitWbXhDQmkzUW5DV082eWd3azhXQnZJYW16dFAzaWQ1?=
 =?utf-8?B?RVZ0bHRIUGpnMS9lSi83amhwSWk5d3AxVFN3cFpBY1Uxb09vUG4wT1ROOHM5?=
 =?utf-8?B?UHN3Q0NEbXJwSGdEbzdrVGZrc0c3U1FIbUdkbzdJbEI4TTlLZFN6V04zOUhj?=
 =?utf-8?B?WWFueFVoTFVoZnN1V3JOKyt6eURrRXJJWU13QTFRdTRsNlVhcnNUNFEwaFlN?=
 =?utf-8?B?YkVsUFlRTnlFS3ZxUmNycG5sVDNycEtZYWZPS1hRcXZrOVIwRG5wcTd5ekFW?=
 =?utf-8?B?Zi9YcW8wU0d3anRGRTlCckNhc3dHcXg1T3JDbnRuTzhGVjJaVHlGWTN2Q0R1?=
 =?utf-8?B?aXNsWGd3WmR1QktoVzJwZTArVEFxMHF5ZnU2TGpjNWNOQVFvZXo2R0JZaHdF?=
 =?utf-8?B?OUllZ1BXWUFXbEg0VVo3R0VEWmo5RndEVFUrWWNRaVpaSjVBSnFzMklzS05o?=
 =?utf-8?B?V0Y5Z3ZBT0hyNjV0cWVUMy9hdWZmbzJCdmpxQk82UTVlenVLdnRUNS8yVlJh?=
 =?utf-8?B?RjBnTGZRcm9kd0FEekV6aDI5REdkdExQYlNsVFVra3UrZERBc05iNHNpTE9q?=
 =?utf-8?B?WGM1ZTY5d2lVZERlUThDZHg2cWxjZTdWTmJmUnNPbXdvMnpRdlpTSWpNZ0lJ?=
 =?utf-8?B?Z0ZVVy9QL2Zjb25Wc0V2eWx0UU5xOEZuTExlRGN2ekF6bWVhb2JYaHhqQ2hI?=
 =?utf-8?B?L2h3aHZTeDFHcW9iRU5BSXRDT2dHa1R6MTd3MTUvVzBIU00rSWJrRDZjS05U?=
 =?utf-8?B?UGZ3OEdXMGZnaXNsaXNVUTN2eEJuR3dyYW5ZQmRzaWp5L3o0czBFZ3Vlbm92?=
 =?utf-8?B?UmdBeFJIWXJYMW9Ic2FGczhvMnhwNVVzS1BGbkpielZsV05nSHZUd2xBQ1BU?=
 =?utf-8?B?aFdJb3VGdmJuMDBzSklWaGlJem5mUjQ0TXR0ZlgyQUFSMjFCaEk4NXJWbEZV?=
 =?utf-8?B?ZE9keW9MSFUwcHhDbE1IenRhTUhaZ3dyTW5XSnZrQUhycnhHb01UUnp2a2RV?=
 =?utf-8?B?TlNzenM5a3d2a0dHUVQ5RG9INm9HMWVoTUF3N3JodElOSmxsZ1o3SmZoazNi?=
 =?utf-8?Q?rxMIiXUIX0pbuxNkTNcRnoE0v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc26a66a-983d-4a27-c214-08dba3a46c2f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:44:38.9323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kBoCJEnTEvFgmV75lhGpqBXFx3VMNa63UarBRTpvFJd4QjWYGXSeEWCEtDr/1ZjAI79hfaJK/XMy6pLLkbex4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8432

On 23.08.2023 02:23, Stefano Stabellini wrote:
> On Tue, 22 Aug 2023, Jan Beulich wrote:
>> On 22.08.2023 03:40, Stefano Stabellini wrote:
>>> If we only mention BUG, we are basically saying that as a general rule
>>> only BUG is an exception. Then we have a longer more detailed list for
>>> ECLAIR because in practice things are always complicated.
>>>
>>> On the other hand if we have the full list here, then the documentation
>>> is more precise, but it looks a bit "strange" to see such a detailed
>>> list in this document and also we need to make sure to keep the list
>>> up-to-date.
>>
>> Thing is: This list shouldn't grow very long anyway, and also better
>> would grow / change much over time.
> 
> +1

I assume you read what was meant (wouldn't), not what was written (would).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:47:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:47:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588950.920608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhdr-0007ve-Gg; Wed, 23 Aug 2023 06:46:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588950.920608; Wed, 23 Aug 2023 06:46:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhdr-0007vX-E0; Wed, 23 Aug 2023 06:46:59 +0000
Received: by outflank-mailman (input) for mailman id 588950;
 Wed, 23 Aug 2023 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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhdr-0007vP-1V
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:46:59 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da433a3d-4180-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 08:46:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB8059.eurprd04.prod.outlook.com (2603:10a6:10:1e9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 06:46:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06: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>
X-Inumbo-ID: da433a3d-4180-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dVKn7hPxTpDpGoITUPkPOIMvqm+sGwrcTjgyF+UGF+d1QrKIUyHMirv4zlfXpomQbYnlFObp34mkfHMUtTyoccRhEhqw75ybStcyXt/zpoTKX9gpBoQ1gbi3IDg9zxdpx3xDCenMeZ07W6NrDzgt9FSzLFH8h/uDkRX0wfHh+kGXJvRvN2mb1MY5zGQPXooxDqxYPQiJo5vYJnmjluB5GBDOkij9b7OUcaNbjlYMvAMk4h8xa+vPSJ+3LsKE8tGMUppWj6fYGfJ6wWxWWbj62DuWk45vM13S9bVSso8zEKsVvz8ZQ+FRmndvzlc5wjM//4upywK67jjeKX2PqB35ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YAXB94WaoqXfvOCrGeO6Bus7E5zQ1Mlgi8S9k7oqavE=;
 b=GLkmhRWBsJZwy1kTbvZdy43svC5NZN8m0qMslYNrJvkvKclmsXNabXpX19gB82rCA3SQZ2jdpWSnzqzvxxw3XjmEF1DnPW5zwzC/xvi34xdUa2TzGVyLspoeO/oH99jRPrM59oW4o9840oZE5TaXI+F+D9ujvn4yZ7rHbkha7Ne3/txzGNCA3DjVXly+lqHuyL6wamaOcLVBGmBhWZOoZItDZqbpLAjHSw45ItKKD/26pb6mw0IXECIqrKGJ+XBisBs8YzhQX9HipgS/MTXlR9vBA33E5YHlPp7cD8lRGIsQTNATAgKtjXNw560m/mOuyisPreTCHKMwDAhD12BPwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YAXB94WaoqXfvOCrGeO6Bus7E5zQ1Mlgi8S9k7oqavE=;
 b=hiDNHcGLvDMTQ5XLwtQ04Z1zv0hp2Nqr0FiY0IHFSkpMbNIxLQKUiRHPGUNNy/pB7zSyL9t22AFwMx4JHJAoL87swsb430CEykbtmphaXFQCV29AdbfM9D/KFfkAMkUwU1AxKGFglM8I0X+hyKhWF4fvWDVDFN9Xx/WLDQHsvVRlb65x6S0r7Im7hmdc9LFupo7ZUgjgcsIuiP9mLoI4Zyq2wtPvG/B3lAhvbCkTI+iujRBaACU4X/Mjsd/nMAwU9deo5ARjs8T0VtoT5edLDymPtd14dhaXAeyL9KsP+zesw0fwpdXP370rAVGjYx2PSU6nH12z2TS/TvZuKYE0eA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e8bcb512-a153-35bb-61c7-bc22e46e421a@suse.com>
Date: Wed, 23 Aug 2023 08:46:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 1/3] xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
 <a419cece7fc01870fc75ce9b374d7ca1a38f0e67.1692744718.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a419cece7fc01870fc75ce9b374d7ca1a38f0e67.1692744718.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB8059:EE_
X-MS-Office365-Filtering-Correlation-Id: 12035d6c-5d01-4d08-5d97-08dba3a4bd3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qr0c0ZUeisXXhlqEmX71lfehWbiyvtDUYttysTsA4UkdSSHI7otioiUFfIclGQU/R45l8vYSij8TvN57WGJwl5cu3OlCbzv0qthsZF4ASrry3DJZOD6ww7XoKC05FQP1+yhkqT4E77jwqcm3TzJvi6emI3N58FKWMSAa2BvIn50q4YkU+LxVza/RYE7TpLrBr1Nb3kKee60fuyh8ZJY0YOz4sq5YA+ZsoMZ1jwF3hEMm5QUBDlfBO0TlZgEtkROjBaDos+mEV2LWnv3pHnMAwlVPUW6ZcjPpeCykBQutShN4xxMdkQWzN/aISSNiK+hSi1U9g6XTnYbuPAUZ7aLB7/mq8DQ247l/5JS++3CP4eUp1TEK+nXZ/uIHs9840QOU1Y9HLhjpcvf14QHrU6SmPqfpqWfGFESFBmfFmK3Zq8jrOArzG+6zooBPdCsvUV5gAP8MkZBL5wyDXXb8dzU9Plqtp0LLkzQ5Bd7mTARuV5OLGihJ0YkF5Hw/CzLKmA9clhZYc6lGzZEyFLAUESndm22494nigL3CaXkN2PHS5L1DC3U1dLwW6L7gTzKqvRE0GFPd/8wr2D0Kxv353+E0UOWu3aXIfSxB97ofxOiLaSn+HJyYVhAuuSMDSt0hubaQx5UBtm+MRBMLei1YvnInbA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(39860400002)(346002)(366004)(1800799009)(186009)(451199024)(31696002)(86362001)(36756003)(5660300002)(2616005)(26005)(4326008)(8936002)(8676002)(2906002)(4744005)(478600001)(6506007)(6486002)(66946007)(53546011)(66556008)(316002)(6916009)(66476007)(54906003)(6512007)(41300700001)(31686004)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTl4bDczMEw4d1FrSy94RUhEOWVZc1hRLzRCWnJIdytreHhwVm1nWVcrZERr?=
 =?utf-8?B?Yng0bmxsaWtzMndYODQvVU12Q1hPL1lEQm9EdWVJS2UvKzRrdFU0aVRueXR6?=
 =?utf-8?B?NGFvSzBFNmJUdGc1a3UraUZrN0hQVHN1RVRDWmx3OUJpclZHNHhqNTF5Y1J5?=
 =?utf-8?B?YlZvbnl4aU1qSjZhelE3QTViS1lYdGpmTlZkTEV5dFhKaWVEQ1pLSW1lakwv?=
 =?utf-8?B?RWY3UVF5bkF2Q0VoZmx1WEhzM25EQ1lTbWRkdGdlaS9heFBwZ0duWUY0OXBt?=
 =?utf-8?B?dEN1QW5ycmk4U25Va1k4dkszSEFaWU1rQzZaKzBEMEk2eTFUVDhYMTZROTc4?=
 =?utf-8?B?WmVQanprU2Yva1N5Vms0ZStFcmlyRjdvNFpUSzR3NEpaaTFlU0VwTisyNXJL?=
 =?utf-8?B?ZEZ1Q0Y1Uit3QVRhcWs3bER1MWFQdDI0VzhlQ3NYZXJrNjd2OVkyeHlINVg2?=
 =?utf-8?B?TnUrYzlNUWF0eURycnpUVUM4dGV4UUlvRHF6R3pZM2JJUjJxNVUyMGF6NHJZ?=
 =?utf-8?B?NmMvUm5WTmw5aDkrMmxsQTF4YmRreEJRb3RvSTd2c0ZUOHVCamZyek5WZUVQ?=
 =?utf-8?B?cEd3eFJnLzIwaFJYSE15eStHelFpelkzU3pZTHc3cWVmaGRSSXFOektLQWc5?=
 =?utf-8?B?RlBPb1EzNzlZbkVaQ1lDQ1hXd3N1bkpuaHlla285Y1BaYWRZWVRKcWhpQVhH?=
 =?utf-8?B?UndtTWJudk92VmE0eTJpYUtOaEtrTk4wcHJadk5HM3BRWWx6dUYwT3Z0Rm5s?=
 =?utf-8?B?ZE9GdXVtSzdCZ1hhQW80blcvLzNaYVgxM0g2aFBFWDVjWlFCdHNYTWNyb3A1?=
 =?utf-8?B?NXVBTm4vWkE4K24vQVQ1dXpLM1FEUk1OQldyQ0ZYOU1VZUs1TitacHV5Q0JN?=
 =?utf-8?B?VkZSU2RiemFzTGZMNVlKOW1BYVVMRmRka3NCRDBMdml3TGJZanVJRnN5OGNM?=
 =?utf-8?B?aDVsTnZxcWI3bEtVeXFWYzNyWlhsSm5mcUpJdUphRHNKYU5FRzBJNStjY0E0?=
 =?utf-8?B?KzJ6cXVRdC9McnpObktUTGtQUndDM1ZnZzNNUzd5bVZySllCNmltS2NGY2do?=
 =?utf-8?B?eXRuSHB3Y0ZvZlJvMWUrTXAxQ3pMN3g5Uld6MmFaaW4vRmxXRFhwajVENm9i?=
 =?utf-8?B?dmRFMlhHVm5Sdksyck9IY0dGS0U5ako3SjU5UDNrdnh5ODBXSlJDRUlQdjRn?=
 =?utf-8?B?U3FhNWd2UXBQQ3VKVHNPVHphcnVzZG9CMjNzYzd4d3h1OSszNVk2VnMrVG9R?=
 =?utf-8?B?K25LT3EvR2xEN0N4LzZlS2VYb2Q4VmR5RGdyek1ER3dFa0t2eWNuakltVkln?=
 =?utf-8?B?Vk9vNmhZVGtmWTFkWm8zeGNJL1kxRWtubnl3MnkyMVBoekh3Q2xpRDF4NlJl?=
 =?utf-8?B?UEcyRjNVTmd4RDlBaVhDdGVqT29YeC9wYmxrQU90SmZjZE1KVzRHOXI3L3RJ?=
 =?utf-8?B?cHdBNEZFWTRRVFppMUlMdzZmUCtzMTZhMkdEY2laajF5TWRWS3EzMzJFM3gv?=
 =?utf-8?B?ckJiOHU3bjMxeTY0UG5Cb2NsQUJFS05TQkJIbFFweVFHV3dvOU15Z3drN3Ju?=
 =?utf-8?B?b2k1R0tUbWVRRlUzWWZVRkVIWXNhb3VacTE1bHJFMGp6TnNxTXhSZVpOZExt?=
 =?utf-8?B?ZzNSK2sraW5yZ1NyK1pmNFo2UWVXMWlvNk9OTjFZbG9PUjdVaTVJUTFYdVpW?=
 =?utf-8?B?dzh3TTJQK1VLaktlM3E2M0wzcjI1cW1kbWsxaFFGWjg1bXJLRW9NZUh0Y0FK?=
 =?utf-8?B?SHdUMk53dzVocXNPdWwxQktYLzg3ZkdJWmZEazg4Z0huTEdvd2JqUFhSMHNv?=
 =?utf-8?B?aElIRERMZUVpSm5xTWFKTE9CN2R5ZVRXTmd3MXJHRzlKNkxwT3dUeEhyanFs?=
 =?utf-8?B?VGFnZXIyT2pIMER3L3IrNExhZk5IdjZjMXdoMkRWSHgyd0NaVDBUbG1JY0NR?=
 =?utf-8?B?cFJoazZraFZxZ1l0blpSVmRxZnFFQlQwSm5USjF6L1RoRkpYMTlnNE4rWWw5?=
 =?utf-8?B?UE9zQ3NUOXBhUFdqME03VDlTVVJnUmZQWWRaeU8waThHY3FCS1Y0dk41dHEw?=
 =?utf-8?B?VmprWFJROEQ2ZlRCa0hWVHlHRmhyU0RzU1o1UnNObmNzNHlSUHd0OUtQOFRK?=
 =?utf-8?Q?KwGrH3nKFibMLcLrXkUHC6Mid?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12035d6c-5d01-4d08-5d97-08dba3a4bd3e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:46:55.0252
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0dY6bItcVShyrtNgF0O91llxkkbP33gJcF6c15EhXWSjTdRX6nzfyfRaeLdswpm2sKU+UaJ/ukza81281AGPAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8059

On 23.08.2023 01:03, Shawn Anastasio wrote:
> In preparation for implementing ISA3+ Radix MMU support, drop ISA 2.07B
> from the supported ISA list to avoid having a non-working
> configuration in tree. It can be re-added at a later point when Hash
> MMU support is added.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:47:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:47:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588951.920618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhe7-0008H0-T8; Wed, 23 Aug 2023 06:47:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588951.920618; Wed, 23 Aug 2023 06:47:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhe7-0008Gt-QT; Wed, 23 Aug 2023 06:47:15 +0000
Received: by outflank-mailman (input) for mailman id 588951;
 Wed, 23 Aug 2023 06:47:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhe6-0007vP-Gb
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:47:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7d00::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3a58e70-4180-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 08:47:13 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB8059.eurprd04.prod.outlook.com (2603:10a6:10:1e9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 06:47:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06:47: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: e3a58e70-4180-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XZ86ozLRJiCyXNX/0T5vJ0DgWIuxLky3+bmkm2z6IClRbEkky9fRYV4fB6PL87kO07ChJYaD9FZRKTxtdba9dVZMuNfQRZ98K1iAYvuMZ8ej0e8DhEa38zLvOrhAW7sVVPyLMHk5s+FvMSFAvSJpIH/45bxp273iZnLSlKgoASLnMjEKkrOyCNojoG6272Y/74e/BZFUqxQqFRSRbchnioMEvFiwJ/R7bWE43MObEElGREHQXQP4Fs33pmUjwpwuB8q/AqOgwzpHwSR2WzgEoEM5ll4NGVogyyXXmZgsEpcGqbdU5R5sxlWf7xu+CcwGI6eVZ6vk/TNNhofSmbFmNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/1FW8H7ts+jquUs3dV0eG6ORjyxJ5M/RQm71UlNl58=;
 b=bFV0NWkFPqhCe7RN4saMqGGzB6BLjTjiU5IPIV3p6vZydDIiBkc9cIY8jfAY1g/GGPFRueDyklNeFVLxu0RSrSoyNm5O6yj7BqfrHjZI6DSxzSnKY1OQ8V8aTQwg52FngrixEmDghhMdQoU8MCc+K0Coc6XDF14DHJclRIvJjTGDMU5bCB2i1dpeldVakmgAqzdNZ7VXZjX1N5X4rCBzmIMuAgSW8VewjgeB8iAoYKUz1r+jgkr8aj1VjMsX5qQLMZBEs+6Gw1yn4PRNrXSEgiwXwEm5TRpBlo4aScreTqxvfwAbNjEzrgwNaF7epjEauoo9LLjEegaCNGj/4rVygg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b/1FW8H7ts+jquUs3dV0eG6ORjyxJ5M/RQm71UlNl58=;
 b=aRCGUWlXewGNoq9teu/IFyVwiPn0HVMPv9zhmdxWqZ/nK7oOovJRyhBktTo+fVRc6I/jTZw6aOoLye8KWM53BYH822slC2cfvigbXrUJCt0id+FmR1cVAU6DspYHr6/dnMvMfa9wDzWHwNW3DKJQ7KFUNvnBL/MnSz8hS1jngAxh2uv9SeeusS46PXMkGJBhF720q3UKDgzW1qojHQyTb32+sZrIdM/C+s7WO5huWEoaLaidu6vrqpMakGgP6sTD6XVj/8rTj5UYCDyqTZwz45vkZ85d7u46yenXNPj8Mw+OPn3EYuSUUISaZC47+vU7hgkzp18EBrhaPkE+jR2Rcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19f313cb-4554-dd5e-6cef-3b962f37c7b7@suse.com>
Date: Wed, 23 Aug 2023 08:47:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 2/3] xen/ppc: Relocate kernel to physical address 0 on
 boot
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
 <03ef20c327c6f4a0ce47078dae52465b3cb32d2e.1692744718.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <03ef20c327c6f4a0ce47078dae52465b3cb32d2e.1692744718.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB8059:EE_
X-MS-Office365-Filtering-Correlation-Id: 38415ffb-8b46-4d70-3e96-08dba3a4c6d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LIGkM+AZmzM3Nxg73FHcH/3iyAbd+EwvEGGTu30JHwjSJ0O6SklJXrB1XCP5uwL92cnBh81wDntgQT8L9driZvCRveTfKxDRDYJzJmhGlUoeBxBKXovvHUO1cwgeyB+hzR6IYLsiwxsD4yPYgUon51n/UOi4pZsMjnAKIwuBLIXAnAObRk6czECzKGYAawjpdsdhj30ANw/E/nVlmEMA2REfdqhRIt/Gy4SXLW4ntP2xqVBHLrJYkW1vXbW0LsIg6tIZIFvKtxCzQh/Z48ggFslhEOAhYApK/lyNtj84LqT2XBUbqkZs7rPnGrgau5c++Oc2CBrCEoYBscHAwoehMXrAkDQ8Wh2yrXrtx1xIVUDa833E4EswG015Z2AjKULsmXt3LzRRhDU5MlG0Q1K5zWLMhWujfzD0mWOU9Z2ClojvenAqqjEuVJuYbkqK9NUrZub6/TUEgVXfuzPeGPklHhzBPNoRbAy0TN4cD5dS/dUe9AbX523WJoZHSanKMdG8kjo/KVejikaqYZhHQEQVrCrKAaogBTIajmYKrvYgEq6Em3w2aAHmEAFAHiUyYtR5DLcL8SwAxShrZhPGKh8UJFoxvxSFzdWvfP7ZlQ9kFFg5x5e89kXLEmoDkdFMlNUC7Tfk8YJgPTnz1XrpQ9DTDw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(39860400002)(346002)(366004)(1800799009)(186009)(451199024)(31696002)(86362001)(36756003)(5660300002)(2616005)(26005)(4326008)(8936002)(8676002)(2906002)(4744005)(478600001)(6506007)(6486002)(66946007)(53546011)(66556008)(316002)(6916009)(66476007)(54906003)(6512007)(41300700001)(31686004)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDU0SEdNbGhjd29RZjU3K3ljRWNzaXJTWHNCMGJpc3RjdjlPNHp4bHc2NjVx?=
 =?utf-8?B?Snhucy9MWi9zQkpVVkxQRVJacm8wcHRUb0hJZWRvalRlYVNOZW4wT2FGWldD?=
 =?utf-8?B?dTQ1TWRRK09VUmVKT0ptd3NyNVEvQlRiQmV6SEN2aUJmcFhWblliWUd3L0di?=
 =?utf-8?B?czltRUVHRWlrUmFoWS9Tc2tSNE9HM1VxTlAwM3hVYzVoTXRHUzc5YUZ3RU5Y?=
 =?utf-8?B?aml0bFVOQjVDMnhqL0NZUDd5V0NET0VtVGJQSVpURXNsWTZWTk9IVnVVd1JY?=
 =?utf-8?B?ZzJSWno2NHhYR1cwc2x1dmM1RktvcEJlL08wQVFTZTA5Ky82ZVpmSk9oMEZZ?=
 =?utf-8?B?SFNiY0w2UVNrUmFPZ1R1UlhWS2l5NldJaDRYVEl0MHc4SnpkT3BoNHlmT1FZ?=
 =?utf-8?B?ZHF1ZURCeUs2WkJqMmxramNyMW1oTndLT21uditxL0s1T1pJTVMzd095cFZI?=
 =?utf-8?B?S0Q4QVpBV241RXZLdVF3RTJoVW8vaGFPZGRxb2VvbUZyYXp4VUNqbnhCSE1C?=
 =?utf-8?B?ZXhyRG9sanVaaGduN09CVnlxaXNDNHJXeEJlNHQrTUtTdW1HWGFFend0Z09r?=
 =?utf-8?B?ZUR4VVFzNlNjM2UxM0p0REJmd1dQakJhRDlYdnRmUWJQOXZZdXBwcmw4S1JX?=
 =?utf-8?B?Rm5ldDFnSlY2ZGcxT1ZzVTlIb0FTOGtvNVJXL0QraTEwaDFLcFlVczIxMnVX?=
 =?utf-8?B?TXVCeUI1QW9nWHp0eWNGdmIrOS9rR3lLMXA3TmsyM0YyWnE1Tnh4ZWp4cldh?=
 =?utf-8?B?RWIxOUVMcnF6NlFIZlQxc01yT0sxVkdsZkw0T2dtZEVoNWtNKzczNi9jeVpH?=
 =?utf-8?B?RFB1SkFTU0RPMm5lMFBQMis2VmVBK0VTR2pJTTlnMFppTjdRYW41UDJMV3J0?=
 =?utf-8?B?aCtUNFl4VDc2bUV0L1QvN0JGUTk0VllpK01rOFpnbG1sV0JvNzZOYUxPcjR0?=
 =?utf-8?B?WXlqc0NhNFFPdkx2L1gwcHg2YzN1K0lHekZXNnQwdmt3YVpjR1FnajVyYmx3?=
 =?utf-8?B?OGpVRkpHV0ovYkhQVmllMzBXNERXUVNscE15NVg3WHNxdldtMUoySjFpUW9J?=
 =?utf-8?B?UkRpczkrRW1rT0pwQ2ZPdDFzaFhiODFqdTdGbUdLbW9oZjhMQzRXTi9vYWg0?=
 =?utf-8?B?ZkNGUUMrTnRQcTNmKzlWamgvQVpYbFZIOUtUU2w1b0pHN0lRVHhDdERoMGVm?=
 =?utf-8?B?SUR2VXhyUTZqaVdhSlJHdExaL1d6aWg0SGtiWHFrS1RyQVR2ZFpEUUcvL2tj?=
 =?utf-8?B?dFgrT0hOZkU1UXZNWExrUlFaQ1VnNWZUSks1Rmg0WEdXT3NhMkVwY3hoR2Vu?=
 =?utf-8?B?amZ3YngvcDZJWWYxeldGZXg4RFNqTzQ3cWRqeElYWTRnTVIrZnRjeDc5d0Nj?=
 =?utf-8?B?UGh0TmRyNGxYamlHRjE4dnRuNTBFcE9YaHBzajZneXREMG5lenh4clFBV0M1?=
 =?utf-8?B?N3EvdFU0SzJvOTV0TjJmM1ZMOXUrMzRMUXN0cmdwdWI2L242SEZtbTZVc1Qr?=
 =?utf-8?B?WGlTRHlqVHBtWWEyTFZxMlkyR3Vza0NzTWFOK1VZcXVMcUVRV1R4b3dGTkNs?=
 =?utf-8?B?bVhuMGpmSEJqZWdMUGxhSU1ITzhER2IreUJNTVNRVUVpLzZPQVovOXdiVjg1?=
 =?utf-8?B?TzZjT3lZTkNQeGljYjJYNVA1c3hVU21tWnBZR2VlQkxNblM0bWdPRy9pR2Nz?=
 =?utf-8?B?STQ2dFdRNTlIYXB3bm5TYWVYZXRZQlNhaE9Gei9pUnd2b0ZzQ09YaXFic0g3?=
 =?utf-8?B?ZGtrQkFOVVJ4dWpHNDZmSkV5UnU4MkxsUGxleUU3N2RvUE16Q0lvaHNSa3Zl?=
 =?utf-8?B?U3dwaFNsUUk2MHdvWmtwbmlHMVNBTjNtOEx5RlpwaXlIS2llbnJ1aEVaOFVM?=
 =?utf-8?B?aWFDc0ZPNDFTaVdZSHU3Ukt0MWNMY3k0U3BabXRXOXRXQWhueWNiNW1GejNh?=
 =?utf-8?B?RGRUK2tTQTdGKy9abjZxWWRWRGdNQ2Rxb2JvazJXaE5uTkFHKzYrdUNaNEVa?=
 =?utf-8?B?U1NzNEplbHZDQVZkWEdlWVNBZG41dVkzcHZyTEU3TmVtRXhxWDNzcHFpUDNx?=
 =?utf-8?B?Y245c3lMQkFHOWxnSlJSU1A3Y29weS9jR0hpYmYyTVFRNVVQaklRMVR3cWtO?=
 =?utf-8?Q?/zvJGau76Wx3gOD7l+s53PNjP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38415ffb-8b46-4d70-3e96-08dba3a4c6d3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:47:11.0175
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w1fXW7uRQu7Voa+oMB0O4MmOrxEI0AYpwEM8JCxbL68DRHXTP34MPg0MUqgiZtX+S/TuDglubD9dgycNfi7cEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8059

On 23.08.2023 01:03, Shawn Anastasio wrote:
> Introduce a small assembly loop in `start` to copy the kernel to
> physical address 0 before continuing. This ensures that the physical
> address lines up with XEN_VIRT_START (0xc000000000000000) and allows us
> to identity map the kernel when the MMU is set up in the next patch.
> 
> We are also able to start execution at XEN_VIRT_START after the copy
> since hardware will ignore the top 4 address bits when operating in Real
> Mode (MMU off).
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Aug 23 06:56:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 06:56:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588965.920628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhmf-0001tT-NT; Wed, 23 Aug 2023 06:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588965.920628; Wed, 23 Aug 2023 06: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 1qYhmf-0001tM-Kl; Wed, 23 Aug 2023 06:56:05 +0000
Received: by outflank-mailman (input) for mailman id 588965;
 Wed, 23 Aug 2023 06:56: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhme-0001tG-Qb
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 06:56:04 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe16::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f7c5311-4182-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 08:56:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8237.eurprd04.prod.outlook.com (2603:10a6:102:1cc::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 23 Aug
 2023 06:56:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 06:56: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: 1f7c5311-4182-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RQyZuGo6/Hugnz2edWO76euLxLVPPhlabLBzlIQy479zQKF9VLcvgDZPFrxs8F8vyF1aQxK+0I0Ik7BUTAcwScq/EIAU25Hs6L6IQ5vlcwLF783sAhbGhJIEvYN71erRIFaAeznepD6iAIdvur0vjEzlCAp8VF9t5vCr6xSHtj5SryNTil0OSsQYWwq8bLEPEYHeRnrlEBDkUHUVfAn+KTbGsnJOmoydMVcfWmMHOiVKWQuHDNL4REXFO3+cj41EulnQRzlPA7MQegvj4nmelq8Lztl+fXVBlXMME7zFb7tlQX9L0izpdl7ogDUPPx9b8RBtXC9j4n0GSH7oe7gUXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lXnadGLEX1PVRHhnDnCP4H+Nrv4kKX5YbCgEP1SFTIQ=;
 b=LdnqrT7VSwMJzAivZ8XL3TpdoXBsKYBDi5ZYjmI4S4BeK19/484FSe7gylIs4N5mKSrdQVg4tPSFtN6C2L2ZMSxwUpLDO/li+rxyyC9AtcMarN+RacSKZBhgq9lYM5icIXNOjfgEC4osvfpjRbSDH42t8u25v5oJWGXdQyL24yV55K53kVY/EswhGCS30R193cHape6e0WdIwqRJ9gyr4rn25Tf3vTV+7gqUQprrlY8g1aVpUm5cSD6AOIcjPVVJavnsuVAPTLRVV0b1JnbjnWxR+tuuUHFCGvDXMYv1PhYmG4rosotSLINy0ydoE4lZ2LqTNUcBjQ++deNLN5rt1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lXnadGLEX1PVRHhnDnCP4H+Nrv4kKX5YbCgEP1SFTIQ=;
 b=Dlbl7beAmstdoh/XSMuD19DypFVDhnSh+8YzgjeI/00yXTwHLgYHeQQmubpUd9NQfM7Bl32EROH1ovyGfFoK1RjrZVM13X4pNxymVmMGcxvCkrX7Cr+uVWFm/kJZzAjlkSuMSu+UZIG1V65NgM/Yz/Y/kx8kUH+HPiOr8KDG2rUfipb1fx/Em1OB6j/CNSR58TZJAD5s7upTnS0UqwniZRU8wY1z1SjF93sjEXrH1zV9xj+Q3nmKZDMEZqwmmbS0POL8ifjqO6g3+fC3or3gPjBtizZH90uRNne3FElC0cll73y+2SK9pVCizVB5dMiiCIxaKnGNC1V2C5xtNqcRYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6776ed41-de83-91f5-d7f8-e84f65c65db7@suse.com>
Date: Wed, 23 Aug 2023 08:55:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add rule 2.1 exceptions
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230823002458.2738365-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230823002458.2738365-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8237:EE_
X-MS-Office365-Filtering-Correlation-Id: e186d430-31c1-47d8-68ab-08dba3a60264
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ARj7sqMTe64foBC+EBvEx8XOKn7qZscoxkSMDPz8Ctw/racz7SkyQIVhK31TQW9R3s/J2sM52nhmeItreAsNfSBKXvXM3Ot6MJPqfn8sqw3hoNdiGZKBqrcIRmoapjjUK4JB/PoYn0/5SSYOodAooRLmIOt6S02phSSAFTRh2ATp/29uiOrmW3Pmz2qpnIHGOdbhtFbH7OSK7iSLvxkscjTHcVT3PrvjJcf3z2OXQ8ORtMehkWCPZ9ofg9RPVJkyLw8G8q/GThi8hdlqpMPet+fOp+JjjFHkJrL1UgFjlZCaPfeYa0qD69/tgsMFJ1kHsqrYSlIR1FcJ1xNvld1zPcps3ZVDcjMuiqwuH4Ldq5QmKq7XN9V1ogD8c4PzWvoQjAMkvqAD07FD5IqsLiunochaEE40UvH5Hz1ub7pzIe+tyfrq29GjO1xaMnhtOKMIgenhmA32mZwHnw5jxo2zyxn9YjqqexbHAgkjZ8NlgqmIUzZL6gqegmUQ7PKX7sqYARLX/YXRLh17sJXvOIKw+NYxbBs+n70R6t/R+xO53Q1YXJVy5BfzugjK+abZM/bF7OLEEoguaP6OFfXV0B2w5qtWpLizCIWFSBp2uy1NZ6dXum/iVQX5uUPYmZuLP1SSfVgtEgW6/WqF0GvN1W3Uig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(376002)(396003)(39860400002)(136003)(451199024)(186009)(1800799009)(2616005)(53546011)(6486002)(38100700002)(6512007)(31696002)(41300700001)(86362001)(36756003)(8676002)(4326008)(8936002)(316002)(6916009)(66476007)(66556008)(66946007)(6506007)(5660300002)(2906002)(478600001)(83380400001)(26005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzZIaGEyTjkyZUlWNlZiZmtiOHR5QjBZNk5XWEYvOFJ3UW14MkVEUmVmM3Fv?=
 =?utf-8?B?N2FnVDBiTmVlWk53YU5VSHZmeldTWU1oUzBXL002dTM4eWJmaXFXeFY4U3dj?=
 =?utf-8?B?dUFjclFybUpYQ1F0bzY0aDdKOStEQXJObUcyVWlOLythZFF1ZU5wY3Z5Tzc3?=
 =?utf-8?B?dDh0QWpsMXZuNFJtY21PR3VoZkVoY1VlRXZDYTJFdHVxdkpvcEhJTEtGeUdv?=
 =?utf-8?B?VGFXaXRjM04yTUowR1l0RFVLMTMza3FqOERZRUVCSVA5UEkvbzYxcDdNWFpJ?=
 =?utf-8?B?VUJZdnpZbDhSUkdtbVlpRll1RjltV2VnUmw5Zk1JMXFIeEwrdGRJbkFjZmsy?=
 =?utf-8?B?cC9VamZLdzNLcEw2M0doRXdZZ1p6VCtlTzI1TjI1SHdkalVuR0NsU0dicGRm?=
 =?utf-8?B?VUNscGZNODIyMTlSOTRUOGFZTlkwZWNYWFcrei92OEw1cStCR25SUE1XZGg2?=
 =?utf-8?B?ZkdEVlU5TVI1QjhvMGhmOVVnbVp6T2pRSk16Zkt0eVR0K3lwdVBkTWFOck5v?=
 =?utf-8?B?a3g3Q2lJSEhsdXlPTEs2cUZDWmhQSEZHMjNWQkMzWng2R2RWbFpEOEZCWnlZ?=
 =?utf-8?B?L01VUmpueEozTG4vYS9qaUhHbjVkMTRhSmFaZGxGeUFJZWR3UFBOWmVmM1RY?=
 =?utf-8?B?U09DNkovUDk2UVI4Z01mUllxdmJkUTJWT2t5R0NORUdiOFYyY0hmSGErK2dK?=
 =?utf-8?B?V09hNmJuc1U4RnpHYUlPeEN5elJoaDI1Q2d6MjNxVkRxTHNjOVZScXdTcTNW?=
 =?utf-8?B?N2piTkR5TU0vUGJWT09ibXlqeDRlS0xOOXB2RFRqN1VGbVB6RVhzNWc5b1h0?=
 =?utf-8?B?UURlOGhTZmdKeEc4RmM1VGM2RDhUemxCMG1ESmp5WlVCME5OWlk1RzJTUHZw?=
 =?utf-8?B?QjBxTHlxUEdPbWxNTmdRR1ZuVmJqOUQwTHVhK2x4dmdubzlhdmRQNzVmbTV6?=
 =?utf-8?B?bXhqclNCeEp0VHlLZVphcERkUjE2blE5a3FodkU3cWJXNUo1Vzhpdmw0djVP?=
 =?utf-8?B?WGpsbnNuREM3SS94VS9tK0JXYkV0WjZXNTUvaGdsZTZvQWZ4MVlmT1hJWngz?=
 =?utf-8?B?NDlOWGwrM2NsNjJqRzFhSmJ1OVN2dXlNeFcyaDcyTVNlZzJmQVRQN0xpU3Ba?=
 =?utf-8?B?Njk0Q1dVLzQ4NlBHaXVFbURNd05icXBYU3Uza3I1VUtWOEFUUE11RXBwSEFx?=
 =?utf-8?B?SGtIdndrTnYxVVUvTGVwOXRSSHVRbERFdTE1b29yQ3VoOUhyWStvTW1ERytB?=
 =?utf-8?B?UVBZNHBuYmZXYTViSUI3UytHT0Z5OVB4Q21DeDI4aURaL2xrUnZQbktFOUpq?=
 =?utf-8?B?QWpFTFl2OUtQd1BVdkFDaURJWGdZcGVQOFAwT3pObDNnTEY2NGxJZU45STlm?=
 =?utf-8?B?a0E5cm1kK080WGhJY2I1ZkxnK2pqSzl4QkpRbmI4eDl2aEZTVzZKZGI4S0t2?=
 =?utf-8?B?QUNEWUtjT0hwWnZxTUZxZWR2QVJ4YmQ0NjhYZnhIYi9lQVNMaC9SOWhsd0oz?=
 =?utf-8?B?ejBaL2djUEJFcDhwMFNUekRNWkV3V1F6UE1YQUFFSTlTSHRkY3MvQnFqODVs?=
 =?utf-8?B?aythUGxrRFpCYWFySzJLTmxDeDkyTjNNWDNpcXRyUk5GTml6K0o4cWdaYUVG?=
 =?utf-8?B?ZTNtK1cxeTZlZzhYbVJ0VEp5ZVgzY05wYlRQaGcvOVlMNzhHaVFTcnZaQm05?=
 =?utf-8?B?azJFM1M1NWprYUVhTkRSdG9RcURSUDBmdGUxanVnS1FteWtDT3k3YnlmMGZV?=
 =?utf-8?B?eWFHTnc0SFRxK2JieVRlSXlJMXUzN1FCMkpkNUlzZWJBOUduSzhIcERaZ2pZ?=
 =?utf-8?B?ZnlOSFlveThKYzhQZ3VJRk1zWkgxYm1iS01rMkhOaWdod2t5eDgwWmozL08x?=
 =?utf-8?B?YjVJcWpzSjJOU2N5RkhJYnMyeE9sUWFiME1KRFVmQU00MFEvY0xtKzNyYWFj?=
 =?utf-8?B?TDVzVVFocEw2UUNwUGFvRGVMcFZuWmhtb0NWYlFIYS9IdzdXMWI5R0dWclJ5?=
 =?utf-8?B?UU85em5oOGtkeTBFampNVUcvQ3dDaVhzQWdXTFpab3o4Q2VEcnRlcUk2RmpH?=
 =?utf-8?B?cldnUWdoK01POURZS1M3Z3huay9HVDFUUnVFTGVjd2lLRFp5OGc3VDhKVEEv?=
 =?utf-8?Q?vQg7eUOsFfoK10tTSn6jVlvDx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e186d430-31c1-47d8-68ab-08dba3a60264
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 06:56:00.3995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 85krvpTbE23NP0mpBRbWVY3yRivJKvFcudxtUL1DKW4OF7BAbSCLfoMHbc9RSTPuXZxjVvVwjXH8p9rlzd+Kcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8237

On 23.08.2023 02:24, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptable of Rule 2.1, we

Nit (as before): "acceptance"?

> decided on a few exceptions that were not properly recorded in
> rules.rst. Add them now.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>  docs/misra/rules.rst | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index b6d87e076b..8f38227994 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -107,7 +107,18 @@ maintainers if you want to suggest a change.
>     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>       - Required
>       - A project shall not contain unreachable code
> -     -
> +     - The following are allowed:
> +         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
> +         - Switch with a controlling value statically determined not to
> +           match one or more case statements
> +         - Functions that are intended to be never referenced from C
> +           code (e.g. 'do_trap_fiq')

Maybe better put it the other way around, "only referenced from assembly
code"? This is because "never referenced from C" also includes truly
unreferenced functions/data.

> +         - Unreachability caused by the certain macros/functions is
> +           deliberate, e.g. BUG, assert_failed, panic, etc.

I think the "the" here wants dropping, and even then the result doesn't
read very well imo. How about "Deliberate unreachability caused by
certain macros/functions, e.g. BUG, assert_failed, panic, etc"?

> +         - asm-offsets.c, as they are not linked deliberately, because
> +           they are used to generate definitions for asm modules
> +         - declarations without initializer are safe, as they are not
> +           executed

Provided additionally this sub-sub-bullet-list then also translates
correctly to the various derived formats, then:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 07:04:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588972.920637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhuz-0003dq-HI; Wed, 23 Aug 2023 07:04:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588972.920637; Wed, 23 Aug 2023 07:04: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 1qYhuz-0003dj-EW; Wed, 23 Aug 2023 07:04:41 +0000
Received: by outflank-mailman (input) for mailman id 588972;
 Wed, 23 Aug 2023 07:04: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=nI0R=EI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qYhux-0003dd-Pq
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:04:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52a6ce10-4183-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 09:04:38 +0200 (CEST)
Received: from Dell.homenet.telecomitalia.it
 (host-79-55-201-67.retail.telecomitalia.it [79.55.201.67])
 by support.bugseng.com (Postfix) with ESMTPSA id 3D6474EE0737;
 Wed, 23 Aug 2023 09:04: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: 52a6ce10-4183-11ee-8783-cb3800f73035
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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012 Rule 8.3
Date: Wed, 23 Aug 2023 09:04:30 +0200
Message-Id: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make function declarations and definitions consistent to address
violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
function shall use the same names and type qualifiers").

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- change compat_grant_table_op() definition instead of the declaration;
- use unsigned int for multicall()'s parameter in accordance with XEN coding
  style.
---
 xen/common/compat/grant_table.c | 22 +++++++++++-----------
 xen/common/multicall.c          |  2 +-
 xen/include/hypercall-defs.c    |  4 ++--
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index f8177c84c0..e00bc24a34 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -57,7 +57,7 @@ CHECK_gnttab_cache_flush;
 #undef xen_gnttab_cache_flush
 
 int compat_grant_table_op(
-    unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) cmp_uop, unsigned int count)
+    unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     int rc = 0;
     unsigned int i, cmd_op;
@@ -71,7 +71,7 @@ int compat_grant_table_op(
     {
 #define CASE(name) \
     case GNTTABOP_##name: \
-        if ( unlikely(!guest_handle_okay(guest_handle_cast(cmp_uop, \
+        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
                                                            gnttab_##name##_compat_t), \
                                          count)) ) \
             rc = -EFAULT; \
@@ -119,7 +119,7 @@ int compat_grant_table_op(
 
 #undef CASE
     default:
-        return do_grant_table_op(cmd, cmp_uop, count);
+        return do_grant_table_op(cmd, uop, count);
     }
 
     if ( (int)count < 0 )
@@ -148,7 +148,7 @@ int compat_grant_table_op(
         case GNTTABOP_setup_table:
             if ( unlikely(count > 1) )
                 rc = -EINVAL;
-            else if ( unlikely(__copy_from_guest(&cmp.setup, cmp_uop, 1)) )
+            else if ( unlikely(__copy_from_guest(&cmp.setup, uop, 1)) )
                 rc = -EFAULT;
             else if ( unlikely(!compat_handle_okay(cmp.setup.frame_list, cmp.setup.nr_frames)) )
                 rc = -EFAULT;
@@ -193,7 +193,7 @@ int compat_grant_table_op(
                 } while (0)
                 XLAT_gnttab_setup_table(&cmp.setup, nat.setup);
 #undef XLAT_gnttab_setup_table_HNDL_frame_list
-                if ( unlikely(__copy_to_guest(cmp_uop, &cmp.setup, 1)) )
+                if ( unlikely(__copy_to_guest(uop, &cmp.setup, 1)) )
                     rc = -EFAULT;
                 else
                     i = 1;
@@ -203,7 +203,7 @@ int compat_grant_table_op(
         case GNTTABOP_transfer:
             for ( n = 0; n < COMPAT_ARG_XLAT_SIZE / sizeof(*nat.xfer) && i < count && rc == 0; ++i, ++n )
             {
-                if ( unlikely(__copy_from_guest_offset(&cmp.xfer, cmp_uop, i, 1)) )
+                if ( unlikely(__copy_from_guest_offset(&cmp.xfer, uop, i, 1)) )
                     rc = -EFAULT;
                 else
                 {
@@ -222,7 +222,7 @@ int compat_grant_table_op(
             {
                 XEN_GUEST_HANDLE_PARAM(gnttab_transfer_compat_t) xfer;
 
-                xfer = guest_handle_cast(cmp_uop, gnttab_transfer_compat_t);
+                xfer = guest_handle_cast(uop, gnttab_transfer_compat_t);
                 guest_handle_add_offset(xfer, i);
                 cnt_uop = guest_handle_cast(xfer, void);
                 while ( n-- )
@@ -237,7 +237,7 @@ int compat_grant_table_op(
         case GNTTABOP_copy:
             for ( n = 0; n < COMPAT_ARG_XLAT_SIZE / sizeof(*nat.copy) && i < count && rc == 0; ++i, ++n )
             {
-                if ( unlikely(__copy_from_guest_offset(&cmp.copy, cmp_uop, i, 1)) )
+                if ( unlikely(__copy_from_guest_offset(&cmp.copy, uop, i, 1)) )
                     rc = -EFAULT;
                 else
                 {
@@ -267,7 +267,7 @@ int compat_grant_table_op(
             {
                 XEN_GUEST_HANDLE_PARAM(gnttab_copy_compat_t) copy;
 
-                copy = guest_handle_cast(cmp_uop, gnttab_copy_compat_t);
+                copy = guest_handle_cast(uop, gnttab_copy_compat_t);
                 guest_handle_add_offset(copy, i);
                 cnt_uop = guest_handle_cast(copy, void);
                 while ( n-- )
@@ -285,7 +285,7 @@ int compat_grant_table_op(
                 rc = -EINVAL;
                 break;
             }
-            if ( unlikely(__copy_from_guest(&cmp.get_status, cmp_uop, 1) ||
+            if ( unlikely(__copy_from_guest(&cmp.get_status, uop, 1) ||
                           !compat_handle_okay(cmp.get_status.frame_list,
                                               cmp.get_status.nr_frames)) )
             {
@@ -303,7 +303,7 @@ int compat_grant_table_op(
             if ( rc >= 0 )
             {
                 XEN_GUEST_HANDLE_PARAM(gnttab_get_status_frames_compat_t) get =
-                    guest_handle_cast(cmp_uop,
+                    guest_handle_cast(uop,
                                       gnttab_get_status_frames_compat_t);
 
                 if ( unlikely(__copy_field_to_guest(get, nat.get_status,
diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 1f0cc4cb26..5330997144 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -34,7 +34,7 @@ static void trace_multicall_call(multicall_entry_t *call)
 }
 
 ret_t do_multicall(
-    XEN_GUEST_HANDLE_PARAM(multicall_entry_t) call_list, uint32_t nr_calls)
+    XEN_GUEST_HANDLE_PARAM(multicall_entry_t) call_list, unsigned int nr_calls)
 {
     struct vcpu *curr = current;
     struct mc_state *mcs = &curr->mc_state;
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 6d361ddfce..d1892fd14f 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -135,8 +135,8 @@ xenoprof_op(int op, void *arg)
 #ifdef CONFIG_COMPAT
 prefix: compat
 set_timer_op(uint32_t lo, int32_t hi)
-multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
-memory_op(unsigned int cmd, void *arg)
+multicall(multicall_entry_compat_t *call_list, unsigned int nr_calls)
+memory_op(unsigned int cmd, void *compat)
 #ifdef CONFIG_IOREQ_SERVER
 dm_op(domid_t domid, unsigned int nr_bufs, void *bufs)
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 07:05:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588979.920648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhvb-0004Dh-UH; Wed, 23 Aug 2023 07:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588979.920648; Wed, 23 Aug 2023 07:05:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYhvb-0004Da-RF; Wed, 23 Aug 2023 07:05:19 +0000
Received: by outflank-mailman (input) for mailman id 588979;
 Wed, 23 Aug 2023 07:05: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYhva-0003zL-KJ
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:05:18 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69b492d4-4183-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 09:05:16 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8490.eurprd04.prod.outlook.com (2603:10a6:102:1de::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 07:05:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 07:05:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69b492d4-4183-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BaDHullD8weYvqwg0ymMXMI96/qkfYD7vlRtC5YbZchfa+CFUvGiEfxDFupdAV2rrLvxTmPEcvj72RsbI5Zp199ZAESUx44G8SBXwxUPdqsouaDGMYtMgQoRV5bDifAD2vmj/nTnx95SQJ8Aq06HiqbSKbAxEnEFmYSj/mhxXYmYZUyoWZeXBvxz8uOFhDx5cqQ9Jn4dV4fC6l2XAhzP6qeGLyUOD4+ZuRrIwII1KaipY2lNUvj/b+YG0F1zLiQlU6d66r3JeKGDTW0I4Pah8ttZ2WxbiheoNr7lEad3NC2LVfa0W5rNxCgrzjrf4q1vL0GNmB/Trx/THNt+xlyjpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D/H9Ae9YDA4dWnlvhiCra2Zhj/+uJOe6NvBfUyamyDI=;
 b=OHouph8Uspxy0mje7zoo223SA2moGYsx3yCzM0NH9D49UUb0+QrdsQThm08qiLscah5ztHj1V6bjixUD15gHBTTlYjF5cXIAxa5xx3/21kC6XzC+/GksXkL4fxxNpmacMhZpDkgnqUDBENIcrEsdNLMpJqni9r3hcDhLir7guzoxzPOom6rpCD3vyk0RpfPDqaBUKxunJauurd1xB3AJvW/DMHBfMItDkEA4P24YI/tFCgwoMINhMergQqFLJdsw6xpZl7Al2hMvtaD52vH4yEy282WaqkCwkv5/NEIGreH+QfImVazUSM5EzgefLh0gyZJ+sGcWHYEzfpBp6uVazw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D/H9Ae9YDA4dWnlvhiCra2Zhj/+uJOe6NvBfUyamyDI=;
 b=20hGwK/VPa9Zk3a0hpVZh8G/kvPkYf+NBp7oeQEUMxMAhvVYtVNCLSY1UUW7wlXkzDENNRv+X/41jIAuSeGVJSUWhkVG3X9GJnBLvmRsTXbKv9uT99j67p98kXmkilnvbc8eSkGFZAuKl0pUd5BgLllUrjrR8tMBr2hfKWT5Cdlx05rkodtAbemazI+IU8BLz6dQXN7YWwzPAPOaRYIoK6Ba9OOl3/e+SWcL5cF+ovGF/RYRAfp5NBxYVT68jtrj4RhnfLgEoKSmixcsC8l9QEM5lX91Md0qelruxWlvioPEpm0HKPgguGCqIBVj9DmO1pqbyUwhqyQrQYmXAoXpmg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <49570fa5-abf5-4179-f046-97bb40614ae6@suse.com>
Date: Wed, 23 Aug 2023 09:05:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [xen-4.17-testing test] 182423: regressions - FAIL
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <osstest-182423-mainreport@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <osstest-182423-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8490:EE_
X-MS-Office365-Filtering-Correlation-Id: 5046b517-f05e-41de-cf09-08dba3a74c77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zrDKxREL4E0opQSfoydz1DCtYGqCpCQdPR0IGCwvcVVBAfZJXUh3uHoqu7HZ8yKdlTPTjl28jqJImH+OXLYm5FcN+E18/BCovoGYESi5QsmP1+F5xUtRS6XbDAY9ZLHJRhIYUO4os/9QR6VZ+3UmgIi536Vj78PWi36DOQ4EJc1ZmnN9QOKIfnaz7y+acEV/j10Y/GRntWCS1KK0+QttgLqf4oyQEO+t3rf01Z8pnKYdGTCo239X8hsFWU8L0GJiPakfzS09bwycgsREkDR0zfSNopeATHw3EvFc8F4W1DmNAZB9tGWF1/2/Ch+0M/w2X+/WBNAqFk/IamcFq6PfOZ+JMDlUCeYFx0SBOWkvRXgQH9p5QuqRD9HE5VVOr7rhgRm8Vp7j6J1fDVJu71+Wl9qBVTYQKlZyds3UsFkMRSZt07M84rqd3XUTNvf6kfdUaKyziEqk/7Vyw4FqJZdxDS6UWnN3t9GDl7wzJV2fPqjrsvHezYWLMFDQP4H83cFFUsnFQp4783PlavqE9msdwEUr/ikgs5v0GaCrO1vC8CqeMQX9cIRoz0h4PRZNXIUiKsX/fjEEQcNqJuiG7nwUpC9TBd8yuEoYHOE+3QzcsDiInV+ydVkJhA/lO1dqV0v/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(186009)(451199024)(1800799009)(2616005)(6506007)(6486002)(316002)(6916009)(53546011)(4326008)(8676002)(8936002)(66946007)(66556008)(66476007)(41300700001)(6512007)(26005)(5660300002)(478600001)(966005)(31686004)(83380400001)(4744005)(31696002)(36756003)(86362001)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y29oc1pSdEcvakVGTWRab0Q5ckRkQVZyN3doNVBMblIrMDI2T1BkMGhQVVVx?=
 =?utf-8?B?UmdEVVFyb0R2YzAxeWNCMzBkdlp5cXFkSTlpN0FHc2hQSnJMRGtwaHIyKzNF?=
 =?utf-8?B?b2RvOXF3bTNqVzRPSFVwRGFLMFJHY3NkWWRISkU5SEo5Y2UramIxMExITFIz?=
 =?utf-8?B?cUVtcVFYMnIxTlRsMndnNGJmWXp2OHdBUE9BdkhEUk04Q2dFTXMvQndYUWE2?=
 =?utf-8?B?S2o3bmc5UWpabm51clNtdHRNbWI1NG9nUVB6NUFIcXIyMG1MRzMyc0N3NlhB?=
 =?utf-8?B?UXVZZ1pLZU9SYmlNMCs5S0ZZS0I4R3JUblN1ZUVzRUFUb3dXUnRsSE5nUUxy?=
 =?utf-8?B?M25JcTR0Unpaa0tCZkFoY3RqQWxma1FkQlo1R1IrQ3p0dXBubUpFYm5kTVFX?=
 =?utf-8?B?T1gvUnRDZUdFU3ZWc1lkbENETU1IYWNWNmlNZFF3YkRrUmh2cHcxaEx0WGRP?=
 =?utf-8?B?VzA2QUoxVGlZZFBsQnluMzc5YnhHRGdIK2NjYldGWGNEMndFOVJ0Ymlmek1R?=
 =?utf-8?B?aXRsWmZVY2ZMbGE4UGdBYTJQZzNqb1JtZW90bHdZUmhHaGlReTJvbmFYeEwx?=
 =?utf-8?B?M09zUlZoVGRtSGgxVE1lai9BMEp2bk1KdklkbzVYUm8rcGdnVHVDNnlBNUM5?=
 =?utf-8?B?WTRCckp0Z1dIMHlGdW9hVDRoazYrWTlVUmFMNk9kQTR1WWpEeGJ4cEwrRDN0?=
 =?utf-8?B?UTJhdzhsT3JwUWVUbE5nQ1QxUXIzbFYxNlVweVNGaXJDRUNJMjhGK1Brd1Y5?=
 =?utf-8?B?ZHNsRVpzUG1VbGhLZUdsdUtHRnZCUk9OcDVBQkpYc1l0Vlk5M0tlNzkvejh6?=
 =?utf-8?B?OVR2OVBPTlpub1pKZlZWcStkdkRCcXJnRFliUVk0Q2N5bCtHZ05aWkRUKzV3?=
 =?utf-8?B?aldJUkdES2VxZ2hHWGpCK2diYzVCbS9lekN6RUZYVTRxRUY5WmVGRVRWSGpE?=
 =?utf-8?B?QUhlVEljbEFzY1hwZW55azErOVRVQis1eXJ0bEt6Y1FqZnJEc3o3K2hHZ3M3?=
 =?utf-8?B?Z3JOM2F5KzZoMnJwRUYzOW93d0J4ZlRaWm4yekdDY0lsdUZ3cCt3ODJGV0l4?=
 =?utf-8?B?eDNXU0Y2azVBTE9UbURZUFBkanhYYW5rRitaSFR2NVloek9Lekt5eklrdnpl?=
 =?utf-8?B?UGVWMTdSRW0rTll3QlcyME9nZGdtUUdoSjlQb1psN25sYnMvWVZ6QzRIOGVa?=
 =?utf-8?B?aUxMOGQ1SlJvdnFJRVdXUmU0UXZxb09iVU52TUNUdGYzbFVDdnFYTlljYVpN?=
 =?utf-8?B?TitkVnhONmxpZ1VlRzlsRnBRQlIydVdnVHFVaGFGUmI5WVZFZ1JuNFlkNmlj?=
 =?utf-8?B?VE1lYmxYNU5DWUxUMmxTSmdOS2JQakxuZ1VLUGZmcWZqMXVsWnpmS2t5Q1kx?=
 =?utf-8?B?SW5xcnRTU2R4bUhGWXNYUWJzdGxjQURsSmxyZVVRcVV0TzlJekFQdlpQOTVs?=
 =?utf-8?B?a2QvRStaNTN3VlFXVG1VYUoxbDRjd1BJMkhtSWZxRGxZZzNxeXdETXZycmpR?=
 =?utf-8?B?Rk5vRTlKZFhqT05tRS8rYUt4SlQxMGRvUllidFZ5RyszaVNEZGhMZHkxd001?=
 =?utf-8?B?Sk1JWnlld3dNT29DMHZ5LzhTL21XWitwdFEzUGZSa3pPeE1NYmU2QUFnV05m?=
 =?utf-8?B?SFhYQXc3MEN1SXlScExIQS9RdERDK3JFeEZSRFNXR1djMDRYQjdtZHNGZWl0?=
 =?utf-8?B?WEFjNlVkNmhsR3UvUU53UFVZRThYUG1pS0ZmcXYyc2NHQ0ptNmNTcitCUWMx?=
 =?utf-8?B?MTN4bm1JcGlEZXQrb3N0NCtES0N4SGJTa0luWXpCb2xJUEVIT0F0T1lRS0Y4?=
 =?utf-8?B?YUU4UklWV1pGZ3dUak9Ra0w2SWhUa0tWSEo1TGlqc1pVWVUrbDBoKzQ5dzc3?=
 =?utf-8?B?TnZSSWpqVjFoazV2RkV4ZGpzNHI4aVFscUF3MHF6OU9SUEh2cWRPenRHTTUr?=
 =?utf-8?B?c3NlbHByRmIrZ1c0VmlVWStrTVRPWFlGaDBXdHVKWGU0YlM1SU9hL1RHRDlO?=
 =?utf-8?B?TStqc2ttMm5NZ3FYVU1LM0NHSmhBLzhPWkl5SHJHZTlqU1FOdjE4T042VHIx?=
 =?utf-8?B?K1VlUVh4dUFidnBqYkhKZ1RKZkVSNlFaOCtsRWlrdzcyb3F6MHpieCsxZFVv?=
 =?utf-8?Q?U7YDYgbHgynsjRw+3yovtFyhj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5046b517-f05e-41de-cf09-08dba3a74c77
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 07:05:14.2065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ha6T+/LnP/ODzXDoX1T/wO9RDEBoZImIsSOf30XhzuDsKOqe9jvkXWKUo85Rjh9iNUWpqb3uJJV0e3zDOTD9yg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8490

On 23.08.2023 06:32, osstest service owner wrote:
> flight 182423 xen-4.17-testing real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/182423/
> 
> 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. 182410
>  build-amd64-prev              6 xen-build                fail REGR. vs. 182410
>  build-amd64                   6 xen-build                fail REGR. vs. 182410

Looks like an infrastructure problem at the first glance, as all three
logs have

Timeout, server 10.149.64.36 not responding.

near the failure point. It's also at the same instant (2023-08-22 18:12:34)
when the failures were detected in all three cases.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 07:11:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588988.920658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYi1j-0005rY-I5; Wed, 23 Aug 2023 07:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588988.920658; Wed, 23 Aug 2023 07:11:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYi1j-0005rR-FV; Wed, 23 Aug 2023 07:11:39 +0000
Received: by outflank-mailman (input) for mailman id 588988;
 Wed, 23 Aug 2023 07: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYi1i-0005rL-B1
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:11:38 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2058.outbound.protection.outlook.com [40.107.13.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4bf05b1e-4184-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 09:11:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9809.eurprd04.prod.outlook.com (2603:10a6:800:1dc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Wed, 23 Aug
 2023 07:11:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 07:11:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bf05b1e-4184-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mAWaNtISyqSfP0wbyW6XejfNZxNkja2aFRY38f5NJ6QlSjsBM5CiKrWitvMTe/vJ4PZy2iFs7bFLGS/xGkh+8TmEfWC2ieUZ80JxGVQCuEPdlriYWxs4WGwBm3ukMbLyCUDajkeo7N7Fn67SS8XNc9d5iLphtym4hJ8V7cun/7+6qoVJcDF/FIHHnkS3di00vID/lU61feKMAtv+tEyoANnr85C/PXJvF2q7iCpuuxtj5/H6Xtmaz2eS1/zGDdyJb3zFmjCuFgHj2R+IEpMlXEJXWWSaVMfhI2k/4n87zb9NRGSW7YRMZG5PT3xwlBaNIrgBubRiP7dKtLgo8KIUEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cdNTbxP8ZkLMPYnZfHNUWxXnJOVnS+TEYOF5PKJCW5A=;
 b=bjtx2U4vVSVkikSherzS6CYa+Zgqtl6phQcdw1vTa45X/LayxY4iMdPDd4VI/Gx7IFMSOphcSjTzn9/A3enR+OqJ7liCvMdbeHM4um7rT0fCt95xSpxfyIoai8j+C6mLZ3xxEPuiZDXdlBvRDDtNCMxxfByUxOoTy+eWoNT2XW5PX4NdnCMPPCiX9A75VkBl/Rpv2FOmTjmW0VYrn0f+EpjnyUH3bz4HbF+UN4jfrSGNHokVMpf+r6awwlpaYN36xcKDdT/Nm50p6YW8EQCSsQxbROG0Xl1USWzvaRqXzdoeeqD0UGVsfDCkqV+so0IuBozN4bGm1gWO7Zj1zl+MnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cdNTbxP8ZkLMPYnZfHNUWxXnJOVnS+TEYOF5PKJCW5A=;
 b=wU+aLqiyDjSMD6Iv/1nV20Ogb03MGoBCfhIPhPEoxI6z6Z+R9FkExT24azlQBl+pBAVeRmOFjY/B+hZURHYXvWmnDHzFYKh+Qfo6GPJ7QYBuRKLr1iqX4bXXValenw85UjfFWlT6drf0wFnwpKb7FvnD+l50RZoJ0NXtoTLCH+jRz2WEmyzQzywSkkYCMCpaJMCouRQdqiELWkSlBdCxLH2CluOztabBueRg4kF2baM4gsMWlE6z012BjceJK6EEh7RmhRdkIS/xRjvG7iAmSTdyVqLJZxIuVQsxgB5GiLSFrhOzYpPAQdWA8502vbpaubugVj9FIHRRZjFwFWj/4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0e7b444e-0b68-ee38-906c-c7d389058154@suse.com>
Date: Wed, 23 Aug 2023 09:11:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9809:EE_
X-MS-Office365-Filtering-Correlation-Id: e046d3f2-98fc-4106-7216-08dba3a81dab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aLAM8t+ueEdRtHGlNUs1nyeLZNtiMQIWtc0/oKPS3Te2VYCdPr+CmN3RCBtn2+XRsWBnV0GgUlMJYqGJh7R5PRtesNeJFdYSwA3B1SoC153UfJr949JM0wwNymIxP3GU5790q/D4/y7ZxC+u8BUJpqMV6/R7VNMwq3cZEQqKkco8iJEJ56hQycIXfB2G5RpAgAP3ezuIgiyCsX2xPg8QKfy2OnO9MWSEtwAL+otOb3CT9BUAZcNkDj9YoteUbwElbpQ4dFXJz3UsTuxgYs7TUH1yQiJF2ZHIFMq2wlyVgzU82tEffFKXocAXKEx7BuMjjonVEy4YKZJcU6WmGNezG5OU4+TLUEJ3MuB6e/Ua+xzYTsYqMq9Hfg1M3PQLjuX/AaDb3RgJuX7diqDxA7xlepYkS7mdfq2N6MWGdFrJT9/0PkJA8zbnfmJF9K9AaKV6fe3I0m8ZD0Sylbewd88vLA7guMc263tjHnYEdMcmjcco8xSSE62U5tnKLoPgbAv6X2oQxHnaYi87fixoL7yMDd20DCz2amXTvAKjpaZnvOdZI7yTxkT748/t33fFSJAMFVX6h/OjiTJem1+Y8iyd7hrSUqG++hXtSedK64ohSu+P32x/a8UcL8QwgfTdpFn23bx4c/qPCOeGl2IDzMN5RA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39850400004)(376002)(346002)(366004)(186009)(1800799009)(451199024)(54906003)(6916009)(66476007)(66556008)(66946007)(6512007)(316002)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(6666004)(38100700002)(6506007)(6486002)(53546011)(4744005)(2906002)(31686004)(31696002)(86362001)(5660300002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TCtLOG1CTmZoT2x6dGk2amhIMWZzYTNXUnhFMlFITnpRTVJyUWdzV0EvTHRK?=
 =?utf-8?B?eFd4V25mY1k0Um9ENy9vRTF5eEVWaFVnNitpWVlGeU9peFZQam9HbjQ4NDlx?=
 =?utf-8?B?c0ZIVkNGZ0lLdTVUOTFkMVRxVjVKc2lIaDZBSXdGMkd1Wk9oWEUrTWlURHdM?=
 =?utf-8?B?ZUJUclZYUzFJU3pZTTkrR0QxSXFHdUprRU1sTXNkK1ZiSTlOR2IweTVHSXRw?=
 =?utf-8?B?SWw1bzJ4MlNVb0VBbTVvNWNJNitwUHBTODNmVmRQSmdVcnVaVHd6SVpvWFUz?=
 =?utf-8?B?bE5GWTlqS1J6dUJCSEJ1RytRcmQ2WFF0bTk4cjRPdFlENDdsQTRsYU54Ni81?=
 =?utf-8?B?UjE1c3U1dXRkS2FGZnJTR2NCZmxtQmNDYUd0TkNHalJ3aFhZcm5YU2JKL2Jv?=
 =?utf-8?B?enFJRDh4b0tudEc5eEt5SnpvdE9qWUtZbHZQTk43Q3BLdU5heG1Ec2dNVmc2?=
 =?utf-8?B?Nm1ZUHlXUkN6RitsWXMxQTJTVEE1SzZpM3NwK2NjQVNLeC9kT2tvU2hIcjJj?=
 =?utf-8?B?bkNFem4zbXM3Z2NuQUdZOEFid2pZaFVaTEZJbHNVSXFYbndnWW4rby92T2Q0?=
 =?utf-8?B?MDJweDBWbFVPWDh2UVhEd3lLWEVhYVI3M0paaGNIcWVpcjBPM3NxWlk4L0dG?=
 =?utf-8?B?STM3TFBHekVlOC8zYnp3OFJqT1R2dzBPT3g5MnJnUjUyZno2cXhGK01RemxV?=
 =?utf-8?B?elorRm9jdGE3TU4xeGdxRVZaOHlmcERwaGxza0N1b0JmRlVCT2lFVXhYcGhy?=
 =?utf-8?B?SEgxcnJHRUxrRnFYaUJxajk0Q1lDMEdzREY3QkpmNkNoUTAyWmQ2b1pQQVJ5?=
 =?utf-8?B?MTR6WkxsK09WSlRER2NWeDd2TDBPTk1wYVJ5YmlLWHgzTVROMzRycGhKWXJG?=
 =?utf-8?B?cDVVMlI5V1RScmdHTnpvelRjRXp4RG9Zbmd0VFBSeUVxNmdBT2tBclowOGJq?=
 =?utf-8?B?d0pOWFBaR1VZcTJBak9mUitpbEZ5bDBOUS82K3JUSzJlNVJjZVRQanRsUkRM?=
 =?utf-8?B?ZGY2cGtYTzJsVENtaVZ2TUlMU0I3aCt5akVoSTRQSnBXckl5dXIwVVd3ZHZQ?=
 =?utf-8?B?TW9FemNoMEcvT3RRdEZTTnVjV1h2NkNxY2RTZDhxRm5VMm5CK3U0bUJKdHBU?=
 =?utf-8?B?NEV6aWg5V0pXY1lRajl1YUZ1am1WSzh0MDhVNGVKY2tkUkhXVmU3ajUyM084?=
 =?utf-8?B?a2w3QSsrYnN4WEdpNjVDUmVuM3VBcmV1U1VSb2NYKzY2cS9rQU5NWmJ4NkIr?=
 =?utf-8?B?eTRHOEU3akxPNEZDOHJsQk5qWU55eHpRRWN1NEQ4OXFnMVcrOXloTllyL0pZ?=
 =?utf-8?B?RWZhWFJjS2VVQXIzby83cHhKd2IvbXJXdm9EYUVKalJKTjJtTTczVWxROVAx?=
 =?utf-8?B?YjlvdEU4T2xvMkpYNFVHOUUweElSZ0p4MlllMG40eWJnM0pjOTBoSTlmS2h1?=
 =?utf-8?B?U2xqaTlJYWJBRktLdU5LSnNtMnVxUXBYSWxFYWhZMDJqNisyaHJwcTlNNUdP?=
 =?utf-8?B?bzBWcXBzV043NUwvcTZ0Uy9EeFRkc3YwM20vMUk4VVBkK0ZBL1IyMU8yM0Rr?=
 =?utf-8?B?Ry8wbVZEUmI5SnRMeE9JNi9ZQWkrb1BBVm5ESldZRmZwNk1ndXEwSmZMRUdk?=
 =?utf-8?B?NDZvTWJBZDRieVVGM2UwSW05dUtHNlU0OXBvS1NteXMwUUhiMk80dXRYeVFt?=
 =?utf-8?B?YlJLekVrVnRTZkJ0aytzY09sTEQydGhmUDJHY3RGUkVOc1E2ZW5WWFVhZEFF?=
 =?utf-8?B?M0NZWGR4eC9kQ0x5ZVVqQUFtQTB2WUVxajQ0azY0aU9PR1hMMlRXMTJhUW5U?=
 =?utf-8?B?bnJ3TDJkOFoxTUFwWDR6ZUNkRnh4b3ZwTUgyb1RjTFY5VHRtbHY1YTYwWC9k?=
 =?utf-8?B?VjdPaU9jemlQZi9lZ1M5aUtTY2FjN1JjS1pOQ2tKZlBYVC9jT3ZLS0F6bmtq?=
 =?utf-8?B?RTN1dFN6TXFBOVU3bGRpTEdPVHpSbE1NMnNJQ3FKN2JOakgvSXMrTTBaa2JQ?=
 =?utf-8?B?RTJjY0UyM0QxalVzeDhPOWZIT1NwRUtBbFZHM3lnUllnQVU5Wm44bXJrbERq?=
 =?utf-8?B?bnV5OUxhNVdFcURwWStUWWxIU056TXc0dXNuVnk4OUViZUQxc1hGdklYU3lz?=
 =?utf-8?Q?eIDiAX1OyZHzEOBFAGtSvZC4E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e046d3f2-98fc-4106-7216-08dba3a81dab
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 07:11:05.2135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xUC390+VW8pWafaRMgGwG3J+uVezN/kmP564mZ5EaXk82X53+89n7tYe2izSQsPALEqeL7zp/r5QjICwQW0q9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9809

On 23.08.2023 09:04, Federico Serafini wrote:
> Make function declarations and definitions consistent to address
> violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
> function shall use the same names and type qualifiers").
> 
> 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 Aug 23 07:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.588995.920668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYiBK-0007dO-Cf; Wed, 23 Aug 2023 07:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 588995.920668; Wed, 23 Aug 2023 07: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 1qYiBK-0007dH-9r; Wed, 23 Aug 2023 07:21:34 +0000
Received: by outflank-mailman (input) for mailman id 588995;
 Wed, 23 Aug 2023 07: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYiBI-0007dB-Rs
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:21:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae5b7759-4185-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 09:21:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7658.eurprd04.prod.outlook.com (2603:10a6:10:20d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 07:21:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 07:21: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: ae5b7759-4185-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hijwJGXS6487shl6WS0kjyPd59wunI/aNhz4lZ9ceVD55xbmxR/DZLIE8/J1s0L0BgOHJXaQIT9EmeAJPHl8xjAufU/5PvPO/tqoCXuxdOZ7SpP6/s8T3s76k7fVwkkraQBRctq+x5cI2bgClQ50aREX2htJFNiO4XaxzMiC5vDuR9Cx2QaJQf5J3A1b4Xr1i91ZFilZxc3BiOYJhojfNL6Ag9X7OT5HjshH/P71qxfOd8NpzlVvFc9zaMqq/97R3H9oRIEOdBcnEheOMwVDqgCf5SWQz4itKS0FHOILdPPBhVzf7OZGI2iL9DuL0F28bdfbp3Rb4FrnU+IFu2Vvsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tf0oYnqYn/LfglmQ1aNeY2174tGgepv6jmssSRTXF/c=;
 b=erIUOeuTFU/z8k2zL1QQTWKGaLNFEC+jGuHi51ZHwOvwKf+82JJgWy55OvVBp39u3ieTc57b3AuNuHlc1YGzZugRWOTeQxxghZYnlMKDP7bamovUGrJjt7RJ6gIC6NBlIao/LTsn2BL9BwbcHd3v63njpT2e9a3wT3Rx7qh6JWgIQEkCCTnQpkcyBCv+7uR3dyo+Yvak6FwD+3N03JXsnSeGMAcs3512TThnULa+DJq6UXw+3mBJJR7KLxgL4S6CZqD9T9P+R1MFrf67ni2jENP7q14ecqw25hqJOB8B1Y9GTGZXkJEC5ohiqsfyflOJj0w+c9gRMgnAI7rAD8HmGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tf0oYnqYn/LfglmQ1aNeY2174tGgepv6jmssSRTXF/c=;
 b=kToX+A4VaL6tDkU/SD8/2747MaAY7YU2K8OmLiW/3e4ryeg1egFqz/1r8B+bhS8Un1QTNPtRDLYPDwPc0bIYN1kJUxyAzwt5pWa7ebp3cQKHBbHgLZUR9uWss1EqoTObM6JXe6/W/p/e2dae9QTQes7EXrZvJRgH61AKbaIOjy/Lu0vw1yn+DTv03OhFRmC9uP6RYzv5TGzbDKiedeZgoEoXR3Udv6vmauVNvJnDUn0aGAMQoxGX6Yk3BySHgGuvD52NTe6BHQN9V0Wt7MEblbu06ArsOtcMd8Qdj9Ne8WvKt5blkt6snhOtAnmaXyiRJXefcLfoKnU02c0wQq5bUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1517da3b-7d39-47b9-2714-d97dac217678@suse.com>
Date: Wed, 23 Aug 2023 09:21:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] libxl/CPUID: drop two more feature flag table entries
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7658:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e3ea0fc-4e19-4d13-0b3f-08dba3a99138
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZwB+pZhzGhIpwZ4Q/q7JHV9/7x33XLuZweGQWNup8PT1QrCOYizyMfo2NBTC4trV7jUIw+4cRUZ80qGlrNINWB7oTjWQsus9ykOFbu0HlD/InqgBbUy4W4pdLi+jGdBgE98LkEoOVtOXPWaIM/3pX4WN2pTFOOApEk6QpmWBgOvEYoCSELCdQApVztkrXha/y6/ruC9VOccb4RfToljv9remaWZlpLotFKBFM//aler7lOfEeQVybJ0qjrNRvMbZR6Zd2iLpWTkLXWOEzisI4cpmi/WA7w0J99NTI5B4Aj7/sA7U4x31P0uzuYxMFueL+n5zkDk0Oq/Z0DS9J2edD9b9QoQI76RM/H0WAt4FEQNTr1Tt0sSG+cvNkd3ns43I97D6cP3TPy2eRAJpvQpRgKQp0l5jQkNNWNkW/MNRUviE895iGP8w67m9tYu17oI+LzGT/vEUYJH3N1QrGA1ipGX8qvozGC9Am4wwhuExXsV9GXtIXgDcaby02DBoHevUpDdoglOe21VoTdeANMoh2lekxGjFavWOrQEmZdQjA3wjy+sE0G6MNuvrFqPpnJ2Kc0+ZW3N3IfXABC0OXxTk72o/z3uIJhJNaP2H9g2QY+JMbGLJcNMTbD4bOd8YTBDvi94ktODMArEdwZpkjqDeaA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(346002)(136003)(376002)(396003)(1800799009)(451199024)(186009)(2906002)(66946007)(6486002)(6506007)(478600001)(2616005)(26005)(5660300002)(66574015)(4326008)(8936002)(8676002)(38100700002)(31686004)(66556008)(316002)(6916009)(66476007)(54906003)(41300700001)(6512007)(31696002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2JnRkMzK3loOTE2RUlLdDRLZkNwR1hTTFNOUHE2aGpPQXYrK1dhL3F1QXpQ?=
 =?utf-8?B?K01aQ2lmSkM2TE9mMFowaDNFak9nVENkdTNMOWdGU2pRSjkyYWttRmZHRjVY?=
 =?utf-8?B?dGtYb2J4Rjg4WmhjdDZpRHg4WXFJS2RkKzRMNUo0c1N2ZDFHRWt0emxyUzhj?=
 =?utf-8?B?eDZGMEhBdi9EWmlrVzZ5bVpOcEwrTlZqbUtiTlE2ZWpiTjdvVk5VNnBRcTJt?=
 =?utf-8?B?MEdlM0psc2NndTJoT0hIdTRyZVZmUEM0blczOEpnUFFVTTZQdkYxakIvWmx5?=
 =?utf-8?B?Tks4R3VVbGJuTm9HQUhpeGhYZXFGZHNuaVdNRWt0S1ZsQ0xmYkxNdzZmekRM?=
 =?utf-8?B?MHlvaVNYVHh0WUx2ZVBzR2hOVXJpRnhnUStnbFh2YTdHQ25QeFVZdlRWTFFL?=
 =?utf-8?B?M09oRjJLUlE5WlY0OHo2UExpYWpGcENjVVhLOTRRQU9XYjdVbVA3ZitGTEdu?=
 =?utf-8?B?ajJ1VnhvSVBJVW4rcnRBWkh6MWE5NGtjY2tQamx2L045blhyUUt2Vis4Mzlu?=
 =?utf-8?B?Z0d5cnJKQnlmU3VKOVl0ZzIrOHI5ZkVwNkRZUkdLRHRRb0ViZTd1cmV4L0dS?=
 =?utf-8?B?SktHNk00NmtVcUM4ZjNpdGtBektHajFrSTZPaHFQT0ZMUFhJdmx3UnpFZ0I4?=
 =?utf-8?B?SHpVUS9sSG1YUVdBbjVOaGIyUS9PU082L1dLT1ZWTkh2bW5WN2xHRmxaU1VE?=
 =?utf-8?B?ZjlRdmhCTGlDT3dlTnRDM0RaenhEbC80dU82TUVvTlRhUWZBNWtjcDB6KzFX?=
 =?utf-8?B?YjBmSC9zOG9mdk8vZElCQy9RNTdrcWV0SWQ0eVZxcTE5TDRSaWF1K1RBMHhT?=
 =?utf-8?B?bVBLMzJyODRHM2pScGMwbEpiZzdsN1Z6SUE0Qno2RHZqZ1RRQytsWjE2VTZU?=
 =?utf-8?B?L3Fyc3c4OHpneHFpSmc3dTZISGZheEJpWWtVa3JraXg4OXAyZ2RlMEY1UkYx?=
 =?utf-8?B?WUtNbUptTEh0R2hQMmJvOENDS1czU1JHcWlYRi9oZUZTaEs1QVQ1MkNTNEhn?=
 =?utf-8?B?S1ZxTERFWEVLWHJ2Njc3VDhZZi9KM0ZucmF5Z21FUnk4MENMUWx1MFJVcGI4?=
 =?utf-8?B?MWp3b3lYUS9HcWQ5QlgyUFRmVzR1NDRHeC9JNThJTytZMUUrV0VPMmJUUjdT?=
 =?utf-8?B?a1BmY3Q2R0RLOGdGNEd6anUwc3l3OHA1V05ic3VtMXp0emthbXZUekNTZFB2?=
 =?utf-8?B?b0pRalc4c1RqSEk4UHZXVE5KWHQ3ekNUbngxejY3cTBPc3dOZzJ6Z1lPVW85?=
 =?utf-8?B?U0o3cmQySjFER1BWcmNsbllEU3VlbW4ydmxoMkt2bUl0ZVRXWmp1VkFJZ2Qy?=
 =?utf-8?B?V0ljUC84TnVCdkd3NndHOGhocVpCVDRyQUp1UEtaTFphWmsvWUl2ZDk0aUZJ?=
 =?utf-8?B?LzlIWG9KM2lyMmwxQkFVUk05bS83alN4blBZeXpJTzZqWkZKVGdlNUZiNmlm?=
 =?utf-8?B?RW9EMllMREpGLzdsNEVnak5xQ0pSQlF6U1djOG5YTGNHZERaTFdCQk9ZWmtG?=
 =?utf-8?B?Q28rbEM4a0twdXlYUkRTNm44UlB6TjAyYmkyZDRyTk9BQmRWWmgxYkZjY1Q0?=
 =?utf-8?B?WXY0VnAvM1dzdnJ6UHptdHd1WDBwb29PbVRzenRwMGhaOWwrWnd0NnJLaGc5?=
 =?utf-8?B?NjBaVWJaVTRMRDVpMDNnSzkyZFRTVzJvT25VQ2tDTm5UNFFWaFc1RUozOGNF?=
 =?utf-8?B?N0FnSklLUHlJYTd4cHlrV1FDT2pxcXB3TUc3MmlKbVNHQjVCeDdLYWhUZmhT?=
 =?utf-8?B?N3AvVG9NSmtNMzBuSTQwNlF0NjNrYU1qVnExR3V6b2lSdWdWRkx6WlJtZVRY?=
 =?utf-8?B?NU9ESjh5b2J0UDdEN1VTUEZUTWg1ZjhlN1BPVlI1SUU0QkhuV3llTmJtODFa?=
 =?utf-8?B?T0RLZHhoTUF4WGNxNU1rMUNwUHFGSHlHYWFCWlZ3L2NpZzNodytxSjZaRE1i?=
 =?utf-8?B?MFBPTEM0WWtKTFluOUdoOUNLTS81YUVyK2JYK0VXcE5tWmdMbGQrbDRyOTJH?=
 =?utf-8?B?ZXZsbEE4cSszeEJ2Qmc1aE9QaGwzTk1ZaGRHUThjM0dZS1QwMjFyUXhJZi9V?=
 =?utf-8?B?c1EyRjJicjJWSVFuZi82UlB2Ri8vcWpKbjNnN2tpOGdsM0dmTE4wYVB4K2hi?=
 =?utf-8?Q?oB7QZ8FTACIB1jNNgn7vlSxo8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e3ea0fc-4e19-4d13-0b3f-08dba3a99138
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 07:21:28.5105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Zpn5xO90iSdEqlf5oiTO/aaxlZDBx1+XjQTxKHMIlOz2mRwVYQPk9Xce0z4V4nl77Q/08P4V+Y8SKocdAi7k1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7658

Two entries were left in place by d638fe233cb3 ("libxl: use the cpuid
feature names from cpufeatureset.h"), despite matching the generated
names.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Permitting "psn", "ia64, "cntxid", and "perfctr_*" when the hypervisor
doesn't even know of the bits (perhaps wrongly so) is kind of odd as
well. Permitting bits like "est", which the hypervisor knows of but
doesn't expose to guests, is also questionable.

I wouldn't really call this a bug fix (the entries are simply redundant,
but nothing bad would happen with them there), hence no Fixes: tag.

--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -260,7 +260,6 @@ int libxl_cpuid_parse_config(libxl_cpuid
         {"clfsh",        0x00000001, NA, CPUID_REG_EDX, 19,  1},
         {"tm",           0x00000001, NA, CPUID_REG_EDX, 29,  1},
         {"ia64",         0x00000001, NA, CPUID_REG_EDX, 30,  1},
-        {"pbe",          0x00000001, NA, CPUID_REG_EDX, 31,  1},
 
         {"arat",         0x00000006, NA, CPUID_REG_EAX,  2,  1},
 
@@ -279,7 +278,6 @@ int libxl_cpuid_parse_config(libxl_cpuid
         {"invtsc",       0x80000007, NA, CPUID_REG_EDX,  8,  1},
 
         {"ppin",         0x80000008, NA, CPUID_REG_EBX, 23,  1},
-        {"btc-no",       0x80000008, NA, CPUID_REG_EBX, 29,  1},
 
         {"nc",           0x80000008, NA, CPUID_REG_ECX,  0,  8},
         {"apicidsize",   0x80000008, NA, CPUID_REG_ECX, 12,  4},


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 07:28:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589003.920678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYiIN-0008K3-7B; Wed, 23 Aug 2023 07:28:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589003.920678; Wed, 23 Aug 2023 07:28:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYiIN-0008Jw-4O; Wed, 23 Aug 2023 07:28:51 +0000
Received: by outflank-mailman (input) for mailman id 589003;
 Wed, 23 Aug 2023 07:28:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYiIL-0008Jq-M6
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:28:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b16144c8-4186-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 09:28:47 +0200 (CEST)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 03:28:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6102.namprd03.prod.outlook.com (2603:10b6:208:31c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 07:28:39 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 07:28: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: b16144c8-4186-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692775727;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=74I7GoTmOxm/kbTPQTbF7c619ja+kyE1davo/UZFABA=;
  b=O3P5jWVnoLWlJ5upO8kOOg06l52BDUTAF/i3zUYro0T46sczM7+gh+4R
   mRhB6/n2TyjFlcOJ7iuH8kDvCoABbIjM3lAIvAU0IZagT6tGkBP94RQ4K
   kqctyIYY7WsDax5DWE1t1DR9LODfIyCpK0X9AzNL6SXgDrLGBEKSSEnxz
   s=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 120780658
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9/4aCKLzvKghtI8vFE+RU5QlxSXFcZb7ZxGr2PjKsXjdYENS0DYDz
 zEeC2rQOfuDY2f2fNoia9u190kDu8fdytdjHVRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4uM01Mq
 tsRdApRYwmCg/mz+u/haeNj05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGNnWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHmjB9JKSuDonhJsqH+0zWpOUjcGaWPli+m2pxa5dthZK
 WVBr0LCqoB3riRHVOLVURC0rWSFtRlaQNdKGuM77gClwLfb+AufCS4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9JmgEfjIAUQoD7PHpvY4ogxTACN1kFcadjNf4BDXxy
 DCitzUlivMYistj/6em+VHKhRq8q56PSRQ6ji3MRX6s5A59YI+jZqSr5ELd4PIGK5yWJnGeu
 FAUls7Y6/oBZaxhjwSISeQJWbquvvCMNWSFhUY1RsdwsTOw53SkYIZcpilkI1tkOdoFfjmvZ
 1LPvQRW59lYO37CgbJLXr9dwv8ClcDIfekJnNiOBjaSSvCdrDO6wRw=
IronPort-HdrOrdr: A9a23:QMga46tQxCGHFCWLXo9eAItj7skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-Talos-CUID: 9a23:K8Rq8m3p0JMXf2h+ZGSH+bxfQ/IJcCL6xSvqf0KhCGJyTYfIE3ya9/Yx
X-Talos-MUID: 9a23:q7fT8gpPNzdp7ehMyR4ezxNFP8E1uY6+NHhTu4UJlpGDGCZ2OR7I2Q==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120780658"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FL0bGzHCaMV92QIUTbMcOLi4DJ2wHMJeqWaWm2mTytZH+RvhnuE7eGOxUt+QRKXbDa9vwpyNfYUQ13QGY9aQ0vL/sAv7kc0uvvA7EbQOqecFil83ikeRYsB2f4jZQoVWpS4Xz1l1uGpYVN7HprOYDY+xURacoUU2LhEDJqN1oj4kQaGQwpCut5JYLimFIzFaPTdYZ6BKskL+VV8TaM5K1OT4n1DG8pZn//9qpB+q5o0ThnSNoPV/PDtRz9splqvcjOkLO6275o+Vnm4ft+B6TYePzjmYSEYVZTz/zve/DCur35LD/C9yyKryPa61JrWT7UhDZ+UenQBlvFbZSBFHOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vYeb64JCwWvXk7Z2bH5oaqf4AGb0MMwXWawtvf0cB9E=;
 b=dTrXIwIOA05njw0xdV6aDlNfVQd3+TlEYwEY4tIy7LP9UhLokJ9+gP5G8UtIm/+DUqeflM4ifPOVVagGIy5Ur+hfx6JW2K9JU80aygavj0cv1S8sUTYZE1NyF8d4jZK7phveSBCbcfP806KTjUGKZlZfYuVT6sRbnWOIWIj77ej491zFLotNu3i+Ruswe2IMy18RZq76lxxjbjHr84KkTBdX8fBEJr0iRtDqgfQ7qhempe71k+3avrmpfynM7Dri56T/H2Q4jpC4ltJ63MZf4E5DOJ1oo7WJBNi7QFruia33IHIML7eYS6oRKuao80ck8dVIXSfNHpGQG9m+uWfPPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vYeb64JCwWvXk7Z2bH5oaqf4AGb0MMwXWawtvf0cB9E=;
 b=aI9I6ppyi26u8YZsDwlC40TjD9tHvXv/3ztvXaU4RDN7n2sNWG/rVJom+q9iSZTEBVBxzbAoWzUzTPeb4GuhuDX/E6mC1vjJnauc8sQ5dLLNtD868VxNQ093TYJSbD9/XRMM3O0XkTfoW/+dzYWWSKFIWR8hQncJd4ycl5jgWuQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com>
Date: Wed, 23 Aug 2023 08:28:32 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
In-Reply-To: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0216.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::36) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6102:EE_
X-MS-Office365-Filtering-Correlation-Id: ae6d3275-c726-4ff3-2bc4-08dba3aa91b7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5kodF7lFsJPEn072Ooq5wKoIiaP+uCs8bl4cTO/NT3K4FncuSH8Tqk7Fi3IX0iywW3zVDSKZDu9EffkNx3zSU+Q2NlfEPHEiBsZCASv7IVC9xW0MOklCRmLB8j3yEEY9oQflwI4TaxkY203bxAtcFfc392d66DzSMnvGP9PXzIYBsBH8yweqZ736p6/gGsMwxS0P12RmvStcMzmpAMjd0WublC30DURyX0Nrm1/khnAAx/+dAscI9vnriRmzDEn+q7Xds1Z1mqAos+TaeD1pddVXL8iWVks7hpVKDa8kMSWCIEUGN/A+reF6VgFQ4AzfkacjEj/gY1Z5fVWmOfQn479D1gAsMG1PEY63YfTeWWI1SBabKPammc8Odthx+ljP11nU3kWgdzMqCJfWKy+XhHcekIBhNB/WQO2Edz+MfVIkePHLSSIQTTBrJUC0TKr211H3vuG54raa63Rhtdo3jUdjQmFVLLzzMv2l5rtn1LVzU+J2hhJ4vXwEcSuf4/cpLr8J5tjZV1PszHvKNv3FrX3cfPqn2VgzpTFY186qfaFzqw8NOvHo84XvUpPd79JO2aredvlh05zYkzfANKLFwx2mcywaAPliruyToXwY95ITf0oV5RO/hrMYKH1D56kbnkU0mJmMN3Z5cLVphqfCLQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(186009)(451199024)(1800799009)(2616005)(6506007)(6486002)(316002)(53546011)(4326008)(8676002)(8936002)(66946007)(66556008)(66476007)(54906003)(41300700001)(6512007)(26005)(5660300002)(6666004)(478600001)(31686004)(83380400001)(31696002)(36756003)(86362001)(82960400001)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk5PUWdQQjFpMVhnTVJRZVE5b01jMXFSVC92c2J2d1pOelJUR0dlNzBWdld6?=
 =?utf-8?B?bkNMRlFpdW5rTHF1cUprNGY1M0hkb2NkZHIvaGtVTWljRUtNbG9OMFhJM0RB?=
 =?utf-8?B?YzZMSGdIT0phY2ZmZ1ZYLzNWVUJtKzZ4dHJYZUNIbVEyR2xjY3ZBSzNYVkhl?=
 =?utf-8?B?UThHOTk3U3ZQZ1h3SExqMG9EcW1DYVRVSDg5aVh2YkZmdC9KVno3dDBmMEFN?=
 =?utf-8?B?c05EeGhLRlVra1BmYTNOZUlibHRQelZ5S3NjeUltTjhrOUpEVjU0MFpTckpF?=
 =?utf-8?B?UkJjRS8zR0VGRUgrL3hlVjFSc0R5K0R4WTBDWCt2K2pFSHdXUWgvWTlrUzJp?=
 =?utf-8?B?Wi9GdWxCYm9CNWlRVW8yUVhQMm9aU1lFKzREN1hsb2ZNSnpWaGxFTkxYWDM0?=
 =?utf-8?B?SVdFOVdGQ1BvWVNFT3VDc3AreWJOMEJTTkRhSzdqVDRPdzlvcXhuRnorWmV2?=
 =?utf-8?B?c01xZGxtTmZGcGdsUTRXYUdnQWlWWmtTT25hTGorUTI4TXA5Q25pQlRvRWk4?=
 =?utf-8?B?UVJVWERmU29qMklvUUwwOUNvbVlybEMvclhlU1BVV1B1V3hIZXVjS1JLT0tX?=
 =?utf-8?B?dy9lSm4xSU13eHFTdy9kSG1jMEVZZlRac1JwdFF4Si9aTXFVdlBBVlFhTTA5?=
 =?utf-8?B?aGJFUHprZ1hPdHdmL2JkRWtpdDFvaWZ0OEpFcCtoVW5QZmljOHRBSVpCTVRt?=
 =?utf-8?B?cEk1dkFnM0lkMXg4R1Y0ZGc4SE5GZUxENG40RW4xTkdIK3JmODFMa2IzZlBx?=
 =?utf-8?B?L01mYWk1aTRCa1NOSXptcUtzbEdIMzljSE9peU5FVFJyNFEySktST2Z1Z2FD?=
 =?utf-8?B?RkFZMzh3WTNrOHh5YUZ4T2RjR1cvdUtJU2cvVjRBeUV4dkZlb09XZEFVajVT?=
 =?utf-8?B?Ti9ocHVyTGJjOWhjUGE2NXdZZlF6OHR0OXp3cEVGdmhlSmJidUYwM2tiRzB6?=
 =?utf-8?B?Ukw2UkR5MFNsbFVzdnVubWJUOERSUHdaY1JrajFQWUdaY0xkeEE5TW8zTytJ?=
 =?utf-8?B?OUlsUElPY21CQ3dpUWpPQ2lLY3ZuMkcvY1dSOVJBaTBTK2orU2JoNkNSbHFh?=
 =?utf-8?B?bUIrS1o2cXp4WE1LQlorNWs1dC9pWlJWNVJHb2o0Y0VKQitxTHVKMjBsRGM1?=
 =?utf-8?B?NDBFcys1TEQzK3ZPc29DNG1DKzRKWkZldzluVVd4U21qTktYc0Z5R1IwZ3VE?=
 =?utf-8?B?TERZR3BLUittcDdmOE5KSVp6bEszK3pzNU5KUFFLZU1FUThERHR4TlRaeUVY?=
 =?utf-8?B?d0NFWm1TQ1IwWEpYWnRLQ0RZSXpMc041azIrbFpoU1NFRUFOdk56TkxTOE05?=
 =?utf-8?B?NVI5NFV0RzdUMTVsMWVuS2gxQTVnRjhpays4UHlWUEJsa0F0aHNBakF4NXVX?=
 =?utf-8?B?dmpmVjNBK3lKQVg1NGJNRlNRajY2MzFiRTI4bWxpTXpwZGN0TFlJS05NR1Y0?=
 =?utf-8?B?dndpNm5XMXhmTDNtbXNKVmRIVU0reVZjNTkvV3NBNWFyclJtR3lpK2dWZzU3?=
 =?utf-8?B?Uk9HVm1CTWJiMFdoYUQ3NWh5aG1YQ0VzRTFONlFubEFtNEVnNzRqeFFVNzJJ?=
 =?utf-8?B?Qk9Wdys3SnkwS29RY1dvU0dTeExpZy9ZM0lGODFEa3NERWtwdXRzZkhVUmF4?=
 =?utf-8?B?amhkMWlvVUpuWmRRSkVSOHl2U05EeFdiNGJKTUZwa1dVNndjTXJEN0l6Rm9o?=
 =?utf-8?B?TDZsUVdCN1M1MENMbHZwenJwdEJnM1RQcGxWQnlYditsTXFvT2tmKytBWDNY?=
 =?utf-8?B?MzQ0U2hvZ2lwcUNnTmF0a1E5cWROWXNZdnZOaWoxVkZVa21zRnNvQm90NVVN?=
 =?utf-8?B?T3ZsUXVBeHMzRC9CbytyS2U1clVCOTV6SUVuRnR2SFhPcjRRc3VEWlVjUGg1?=
 =?utf-8?B?bDZ2amg1NG5wWlA5SHNpTGVkMStIcW55K095ZXJqeVZoTlA2L1lsY0ozbjcr?=
 =?utf-8?B?a08ya0dhQThzNVVwb0E2dVBwRG02bkw2QXVaKzUvNlR4enJYckZia3IzQTd3?=
 =?utf-8?B?Z0FqbSswRm9hMXZ5Vy8wUEI2QWJjalVkeE1Db1FpVitqQkRrQktQWG5uaXlI?=
 =?utf-8?B?clJvWXlxbjRHSUlpYVc3aVR1UUVqQXVsdThCc1FobzFtYXZuSzBRa0R6UThG?=
 =?utf-8?B?V211RXVjc2JoMHM5TGN0K05GMmJROHlkbFU3UGtpbnB3UmloTkVOdC8zRmpF?=
 =?utf-8?B?V0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UEkKs/rdWKPPJXxpo9PMSxdY5EjRtFOIi4naBwTMTQc/lsY2CIEscZ3Xr5B4r/Czt9sBNwjrrBmV90cZT+Tw8nycEWidjA8GbwZv5gizgPQ+vre+NU7hgIU2ofGLsQb7ybY0DYzwOue7MTXedebAgyaQTQTp6EkcHbPn+NLvqMrEoGPoqfOGlSQ4MceMkwNM2jDL3ZZNwtYnTLS8nk40KT+nA1K6IcfMltYsM9i2kDuPM6zUYYDla8yUIRg8iCAZ/2TYRn/XbVmiDlRfM07VZbNPrGjqzp8PbZxQW2+t2//paevIcVPfqMFKlxA6GgA6nNrGOhJqBC81bLrNvNqW8jBIm3VY7W+vRloliBIGh0SFzbpZf/tUosP+2EQCNgYCmQqCCnDOQK74Xw8JsorUp7pn231fgxHm5KM+G04CjEgfkiwTdp8i6/nE5XsaXLPJTbnpHXONMi312EwFqeirQSSAWFu8RksiAOs1XJwg13fAsG/SeqFWxZuiEgd3TUhNU29xEq17q7bTvVtiQKo6rpqcZrkG2R/ut8Dh0zxWtSpPQz7waNyjMXa8hYKecOQqYDj6unKeiVK2sAopSlEYIDaHBujSGbThRk36zkJi1CITn0BRpkfuU2tSb3+ATrwQPPAQH+pcsoq9tQD0uj7KnlWo+10ugk067KTa4qOut5ENmRZ+sm8uYoXRnQS6Mb4vGGRRip2HS24jO7iSH3mxLeYrmtK+Xs2+qvhzmfFBN9l7PbYtO0SWlOxa0iCaevyZM936AzKaoxVYPT3Xe+VXq/2+JNUyLHyg+gz/ZBHVen4PeFN3ujmOGIQX4VVBj4+Vh//BTSUZ4iSBhpyQ+mbYHJq7jEhqorlsrBVEanZHGvIklboih9AOcXMoqFEpsWKe
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae6d3275-c726-4ff3-2bc4-08dba3aa91b7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 07:28:39.0336
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tHAroHpjtiyPXHNWBP3OH7R4NqOu0fEKA59HsHGrRXn++S3/MTl681VFSVGWeaPwkS/bCIng8ABeyYHuNcDesTyFQGsD8RHDxbOZZ8UQ4dY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6102

On 23/08/2023 8:04 am, Federico Serafini wrote:
> Make function declarations and definitions consistent to address
> violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
> function shall use the same names and type qualifiers").
>
> No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
> Changes in v2:
> - change compat_grant_table_op() definition instead of the declaration;
> - use unsigned int for multicall()'s parameter in accordance with XEN coding
>   style.

Nack.

You were correct in v1, and the request to change it was erroneous.

> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
> index 6d361ddfce..d1892fd14f 100644
> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -135,8 +135,8 @@ xenoprof_op(int op, void *arg)
>  #ifdef CONFIG_COMPAT
>  prefix: compat
>  set_timer_op(uint32_t lo, int32_t hi)
> -multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
> -memory_op(unsigned int cmd, void *arg)
> +multicall(multicall_entry_compat_t *call_list, unsigned int nr_calls)

This, unfortunately for many reasons, is an ABI with guests.

It is buggy that the entire file doesn't use unsigned long (i.e. one
full GPR width) to begin with.Â  It these types alone which cause
explicit truncation of the guest-provided hypercall parameter values.

But it is even more buggy to take something that at least truncates to a
fixed width, and replace it with something that explicitly does not have
a fixed width.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 07:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 07:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589010.920688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYiPC-0001cS-Tg; Wed, 23 Aug 2023 07:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589010.920688; Wed, 23 Aug 2023 07:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYiPC-0001cL-QE; Wed, 23 Aug 2023 07:35:54 +0000
Received: by outflank-mailman (input) for mailman id 589010;
 Wed, 23 Aug 2023 07:35: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYiPA-0001cF-ON
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 07:35:52 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2049.outbound.protection.outlook.com [40.107.13.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af787201-4187-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 09:35:51 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9626.eurprd04.prod.outlook.com (2603:10a6:10:309::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 07:35:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 07:35: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: af787201-4187-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tj/tTMR+enkLQSjP4onIBkoJtvRBEPq6vl0O3+ERKWhd3duFBvbrxi7y/mF1xXP4wbGq5k23JMDf/YDLQyjCuscADNh1+nrzzU+148FvOqXITi7nb1y4p3DOA5Bamme4NcYTVwNVR5SBoBR4uOnXibAHicpCghdTT89dB3OF7dejhC8L+328nZIfgoFxkN7Bv6WfdvpgDao+A3s+a/yivKcFqKSeHqQFGPDVMPX5oypAENRRk1SgydCNtFamp2DVPgbdBgJYd8KwwoX9Pc9pVx/I+vCPI14tBUoNQuwQbphF7tKm4WCdXs1v3k45D3vp2w5AiYl1bhv8rpCxd51zSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c+aZsetn+lvqpKkoMc4QhTq7SuYbTqfyPzocRjaN3Ps=;
 b=oZV+alpj4n56H1Jv42LYBItSqGDn6+Ny9HfCXcZtz15VWy0ipnVYuvgNoheuGormX8Er2K81Lbi5aOKNKlodhvsZrZwrQ7cXhn7aD2/Ny+bGiNYFmeUf23M+ScuwfYg3BGf2Zl23mAS4SFhtUJ9W9xfwcV9KImCGSzDftankbZ+AFAkl6Gw8YHasDsFVP8ZypIVOXQzwa9wliTe4v/6KwJ38zI0zWA99VeF6X0Hh3xCLkfgiL9kcm4bJOMpkxr2Rw3W9zYfIdzO3ZQJCfFPz0t5FxnmtozOiVRpFRoo9A8twuiEg5sMKKIhb18p4hW2QI07muVGgIbC/CJ7If2ghxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c+aZsetn+lvqpKkoMc4QhTq7SuYbTqfyPzocRjaN3Ps=;
 b=0WhQ9/RarAlGjZf7zv5i1mZixFim5wXYdX2Y08/R90s9c0d1Sckt015EHiuhJc6DpGVqJcPhM+4fleOLArIEiugyC802AY/InGplGuOSYblIYt5feeho1aX+EcrzAw3WWUZ+xjnOxLHZhEbuj4HLsIUT1lSZ6TG1RNpOpbcLkvDjoCyRWyU0kDeAeN9Y4vnNAiT8UuTV3BHN20z0TGuXg5+MMD1yvH2GkkeQaaPdkyrRqjI14pe7aMCFGS/FZCkc6sxqpZd9WAR2UUwV13kDJh4JRZDc4ZXW858w3+v4ty0GFvLOwY07v6OJ474w3kgkKpCp6hFX6nq758ihDTMvWA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com>
Date: Wed, 23 Aug 2023 09:35:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
 <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0235.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9626:EE_
X-MS-Office365-Filtering-Correlation-Id: 07025aae-7b10-42aa-ad79-08dba3ab8225
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BEZ1bqtJQPtyzz0ZQm96GgPJc2W+7gjDifqxFxyZ2fIA58HjdOxn3rXnhoJClTwxfyCyeU4hxoL2p1ZkzMcK+G+8JFFdXqhH+YPmAUCCDFmX7gyruV0sMyvA1VGCexIhgDnrY4wcJ8ksU3qBQRu434NMxtOk5Z7tFisTLJiG7NTQ8InaBdVK8HBQF965qGlSsO4Ad/aNOWPDxjPEkDNAzJECcbGNvO7klKahyxnrtPF8rXeUClwS7HOVj8vZHr/Vi8UPO8vfuJbrT4h1623U3+OBvZzd1WQMvO8rxkknE4BT70J3V7LzoJgWu8tT3QdzavkL40BhpVQaiZHiRx9yMhRdwGWgUSPeE6sRRIxvWq7h4u/inuSJYWezuLedoqWGr3+ZOButu5N/zq2yr+1wZq76bV2KuBAvxzigsDKIw1NsThNeTr1+mx+the9DzM3eK7ivh0WHvIL8r4KcBB+e9gSto0UA5zedPADzXV/QWXY924HR2cH6hTsq7/xO/SHjjskkSsrMs66NOEQlVVrAUuwCzRcYN0GTGee/cPpQLbIoaGSodCIp3IjIXdlB/vP0k4bPiDTbo0kdKS6ixS/UHF8vCj6yTqbylWp3mAhv9Utf1mQn8SmBep0yfzcbXg873o4aQKRb8t0p1gWj3qZiFA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(366004)(39860400002)(346002)(1800799009)(186009)(451199024)(66476007)(6512007)(66946007)(54906003)(316002)(66556008)(110136005)(8676002)(4326008)(8936002)(2616005)(36756003)(41300700001)(478600001)(6666004)(6506007)(53546011)(6486002)(38100700002)(2906002)(83380400001)(31686004)(86362001)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2xIcmZDS1RNNktOSkRDVGp4UHE1dEJqTCszaHNEWG5MUWlNSUVESWRNM0Qw?=
 =?utf-8?B?bW5QdDhYMVc0THh2NkVKbllSbStIcm13Z2RHYVpvSlJwcU1Vem00TzhPMWtM?=
 =?utf-8?B?aHdRRjVTd1BUeWlsZ0dVZDBwM01pZEU0aWFHMHBkZ2RTZXI2M0poYzlTdzFm?=
 =?utf-8?B?cHdIakZMYVVRdHlzTWlzcWgzQWtLL3JOUWl0OSs4cVFvWkNyeFBzU1ZVbWkx?=
 =?utf-8?B?Wnh0UXhrUDlXK2tpL3YzNWgrU0JTRkNtd0Nyb2M3WXdUQ3lZdE54NG9uRVd3?=
 =?utf-8?B?Mng2Q2ZENEJ5VUN1TVhEL2x1ZEU1S1l3aEJmNUExSnAzcFkyWVh0ekFLRjBu?=
 =?utf-8?B?bHpKYjloZGNYNzdJVE9TajlzRFQ2QWNoS1dzNGdNYnVndlh1T3NON3BUOGlB?=
 =?utf-8?B?UnJzS0ZBajdwckFacXZMT0lEWkk5TE9HbXhpOG1qK3JJN2VwWmwwT3k2d3V1?=
 =?utf-8?B?VkJieExaNmt0dGtOTDluKytZbG5Fdml3dVB5SWNKenQ5SWdBaS9lQWJCbXRN?=
 =?utf-8?B?YjJ6YWd2UC9uaW0yTm9iVFc4aGFEd2JuZ1ppb2Q3aHRkOUNOamZxZ0UvSktZ?=
 =?utf-8?B?ZnBySzRPNW5pZFluRzZYSnRlR2JKVC9QSUh0WCtUc3FnK1dvR1RpZEMvUG5W?=
 =?utf-8?B?eWZ4K0FoNENHWUFPSXdtSE1BbEUweWZCU25wVlZkTktXNjcyMm5BcXR3eUFH?=
 =?utf-8?B?ZEVMUlFNRXgyakpCYU1SRWhlbTNoNmp6Z2QrNWUrbXZIaU9Kd1MyS0N5UnZi?=
 =?utf-8?B?cjZvMkRhRnBVbGdlNWp1OFpwTFVnaFIvdnkyL2xYMlJRcnlma0F6YTZ1T0o3?=
 =?utf-8?B?M25GMm1laVZCcEo4a1ppQm1WSE5weVZhd1NDU0dpcTJlWTlhc3FreU9QZGNo?=
 =?utf-8?B?ZldSSjAwMTNOOStXdzRGWGVMc1l4RGJyT2EzQ0JLUGVNNHdmMzQyZzM5YmNx?=
 =?utf-8?B?K2pIQmFmVlRBOU1UcUd2NUdva1dsVm5RVVpRYVVuNGFhUUs2T2k0Z1czSmFm?=
 =?utf-8?B?ejRRTFR2T2FRem5sd2JXYm03bCtndWIybk55eVRiZG1HWERhTm5pNkFFWFNz?=
 =?utf-8?B?TFVIaWNCVWptWHBveitZODNZNzVFOUwrOHcvbXliNEZMMVJhSTE3WTB0NS9s?=
 =?utf-8?B?WlRHSmIvMlRVUG1mL2VTWnFIRktaR0RyQkw3dmdOdVJGUWxiSXJaRkgzczl1?=
 =?utf-8?B?VDg1b1R0SXJzczBSNVBVdXZCK09yWUZMVkRRYUlPUld1VVJnQzE1VnhsSzlO?=
 =?utf-8?B?YytXMVYwRGU0VFJvOW5FM3ZDamJjcXVhVndwZWxGbDJscHZNcWVpeFpFY05p?=
 =?utf-8?B?Tm56RlVORm9jRytWTXErK3p3ZVlkckRTWVFaOGtrVnhNMGpxYUdzWHo1cFNi?=
 =?utf-8?B?N0JHLzc0ZTArNmR4c24wUDh6cVdaT1hGU0RQUWhJZklNUmsvU20veW1talhY?=
 =?utf-8?B?clZGWDNYTnJmZElaaXRPMEt5MUhhVGh1bEllL3J5ZmVkTTUxWnV0eUZsK0Jq?=
 =?utf-8?B?V3hjRi9IOUtQcnhjVUoxN0ljcFk3aHhmSThpenRFY2VsdEZDd1NMNk5sQUNI?=
 =?utf-8?B?eWR3Vnpyd25BMkxoR0tTNk0wRGNKczFlaHpFZ3BodWh0L1JZNGw1Y0FuVC9G?=
 =?utf-8?B?Wk9FUkxUMEJHNnE5UUJiQ1BiMjFzSjFNL3RtQjlEVFl6eFVwMkl5aG9DeHdz?=
 =?utf-8?B?Syt3RURaU0xmQWFoamlsdDZVN0Nrd1NYNjdjY2oweERlcVBHdkNqck1LU1I4?=
 =?utf-8?B?bTVtQWhRaHVGZzdTVmlEaEN4YS9XV1F2Q1pIeDhlSE1tYzMrR0RYa0tML0o3?=
 =?utf-8?B?SHRtREc1cHBwTmY5SWxMZkIyQkE5cmpLMElyTHpMWnRGQmhhVkNHRm9JeVNI?=
 =?utf-8?B?ajdzUWJxU0ZkTmVJUmNQY3BtY1E2VXVhdjdUTmExOG9HaHdZT0hCanFPVlRG?=
 =?utf-8?B?VjZLTEwvNVhPKzh5NytFNS9LVmNPbzY2Y1B0V2ZuUWUrR1BVbnJSWlJaK1F5?=
 =?utf-8?B?M2oxSnBVdnM3dlhZM3pyd2ZYeWQzaDZHZ3ZXMW1CeUVzbGE0Q0ZpdnpIWWY4?=
 =?utf-8?B?V2txWlBIL3BvVTNJMFJUcUdPSEFVQ3NkbzcwaXlSR3V0dGhZSWt4UUs1WFcx?=
 =?utf-8?Q?kbreoBmGlTvTXlria1lu2edxN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07025aae-7b10-42aa-ad79-08dba3ab8225
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 07:35:22.2327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jxpl7pOi31DqUaF+RhGK48dWg7s9mZ1aw41sB3k7BUoV9ROduXiuTGu5iA885BrbXhAwrVnABrDPGpaXORtxxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9626

On 23.08.2023 09:28, Andrew Cooper wrote:
> On 23/08/2023 8:04 am, Federico Serafini wrote:
>> Make function declarations and definitions consistent to address
>> violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
>> function shall use the same names and type qualifiers").
>>
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>> Changes in v2:
>> - change compat_grant_table_op() definition instead of the declaration;
>> - use unsigned int for multicall()'s parameter in accordance with XEN coding
>>   style.
> 
> Nack.

Oh, I'm sorry, I committed this just before seeing your reply. I'll
revert right away, until we can settle the discussion.

> You were correct in v1, and the request to change it was erroneous.
> 
>> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
>> index 6d361ddfce..d1892fd14f 100644
>> --- a/xen/include/hypercall-defs.c
>> +++ b/xen/include/hypercall-defs.c
>> @@ -135,8 +135,8 @@ xenoprof_op(int op, void *arg)
>>  #ifdef CONFIG_COMPAT
>>  prefix: compat
>>  set_timer_op(uint32_t lo, int32_t hi)
>> -multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
>> -memory_op(unsigned int cmd, void *arg)
>> +multicall(multicall_entry_compat_t *call_list, unsigned int nr_calls)
> 
> This, unfortunately for many reasons, is an ABI with guests.
> 
> It is buggy that the entire file doesn't use unsigned long (i.e. one
> full GPR width) to begin with.Â  It these types alone which cause
> explicit truncation of the guest-provided hypercall parameter values.
> 
> But it is even more buggy to take something that at least truncates to a
> fixed width, and replace it with something that explicitly does not have
> a fixed width.

I disagree on all the points you make. Handling compat guests is quite
fine to use unsigned int in hypercall prototypes. Fixed width isn't
needed (just like you don't demand uint64_t, but suggest unsigned long),
and wider than 32 bits (i.e. long) isn't needed either because can't
pass in wider values anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 08:15:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 08:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589037.920739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYj1S-0007EE-IS; Wed, 23 Aug 2023 08:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589037.920739; Wed, 23 Aug 2023 08: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 1qYj1S-0007E7-Fu; Wed, 23 Aug 2023 08:15:26 +0000
Received: by outflank-mailman (input) for mailman id 589037;
 Wed, 23 Aug 2023 08: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYj1R-0007Dl-8B
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 08:15:25 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3552aac9-418d-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 10:15:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9709.eurprd04.prod.outlook.com (2603:10a6:102:26b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25; Wed, 23 Aug
 2023 08:15:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 08:15:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3552aac9-418d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dBrWTeEvaxpHgQkA29JXKSvF22csSXcZ+2C0r6DPUiNKcKSnxwoVAeEIo+lnKgcW0bb8t1VBVil7blRi78Rc0V/A4pd8fZXCdZ2F+wGhduDryFFYBQwpPHMh8WR9dygChYFbo8FN/2Ag39Fy6shfMRWEss5TIOLqqc4L6iRyRO/1//N83bgAUDr55ykzM03YPqm8pJGSssNbQW9k81sZpmb4V03In84RoRDUd49ZAyH4zsfjbOkg3Sb0+nI8IKo5vcyGWkRmlb0/u/lredmAYGIBCyyN1n/QTCYSV0Mzz2OTLWspGEnsM7qVehJR8GUepgf0HCeG67NW0TRR3wr3OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AcYt0Sz6AdMExX7RMtFa6+Z83TI09FhfagIrtxUX9D0=;
 b=QHJBOf9Brh2l/sBQEHogBDx9x5DhKW5SbdwuFnIpCXRJBud7Vvy00NCsNnPigitRX8e2lV7RLIPFTtEnaTVSzDJCR1yAb5bU5Ym2VxB+UwwWDRMxZOvSt8EhrkU1OX5tVNfUUB38NwL+t0y5W+ZOUGBCNJM8rX9PxBATJpWpYB4uqUceVxTAC62UPLTJeU38nKdInGzLFWKP5z0Ebs8HYJ27NWbl9aXxXfCBLcOavW+POLqXZAFE4e7VIhzzc/1fkO4ApQ45/5NoDhgqY0nfRlrmUd73f1tUg68GJsvLqg7bw8PrM2Y+fLN1s43ZUSVU4SUK9Hd0bhVoIJ6SG4wfVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AcYt0Sz6AdMExX7RMtFa6+Z83TI09FhfagIrtxUX9D0=;
 b=uknzyYol9JrV4n5aUCF2OjkoRe+YEQcMnl/G/HEPzK4XFZNRNbkYC+4kvqSEe5bNDQ2KnBBAh0pMSCWejuOiXmupZxLESI5IAKAfq0KaepXe6ryBmuvF1J+UN0e0Fc+Zj3WILvmY/ZyuzkpkrLe5uO5nvrSd/ZLFclQHBMxM7QPLtteHTeo1UJHKOTsogo569efGiXZ0aE4VVPez7a0HhzQfBdA8xlFtx2qjifRt18vQRSbDDIvtazIpaQO0XzE8ua+IuB8oXjkGrRQZeDd4AEMKdjFCzZx2nJyrp5hiRZLP2qECPIpC3M7nb+9nYMlMv/+KZh/GQlbNsrC4bxrarA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd594b48-365e-0bee-aaa6-f413fc93267f@suse.com>
Date: Wed, 23 Aug 2023 10:15:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 00/13] xen: address violations of MISRA C:2012 Rule
 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1691053438.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9709:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f99c43d-6875-448c-76fc-08dba3b117d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Jma4XClRtZF4xGP6sjHYr4gUn3GcEH+DTTQrbBZJ6IotQ7GpArnTEB0vuKNAQW9oGUKI1a2lxFWGMng+dZ9IqO08CruaDoJ0dc/+rJNMM+e1BFjU4lEEQS4JQHc2rTnvhbgs28X8yivxb5ZJcoQbAPrc1SoU/7Gyz4eWnSkT756k3NlHkQ1cUxhMzuh50yStGO494ihXnT1hcn1hN6cXo+QnnANYu6kHdHbxtf0EU3cvktioWRWNleT0DZeaDqIZdehJjek1erxRKVUba/g8D03D9VnhoH1q+JZCeIPgTnKDCqqrppveW2CpyTx8kLp0K6HDxT40NZrv9TXwpsLEZh/SU4NiLFU9b+VrvBkubDoyYZmadIcTNB5eTulgm1uu+KmHu1SR7p3pusFjYfEXIH5Jj9MWISpVxpBE+lte2zgCjHHNysLbz2hBAxosGzbI/kamPWAUdrlt1HvNyix9VVY4KWr7FRV/Ga2ydRjNng4kFZpWyMpKlqv2y7c85UPHZkRBKKwqvxvvmjP678vZoZPaaAKhIQzumhLiRVxs/5/Jk8ugkr9Es2nhpbuGBVYsXId7caw83fh+DaMkF6JOCC+qOYpC+vzsBqQz+mOOGuc8RmQHGwvcJFmBcieEakV2jbOrK6sq3IvjPOoVzVyyKg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(376002)(396003)(39860400002)(451199024)(186009)(1800799009)(36756003)(31686004)(31696002)(478600001)(86362001)(6486002)(66556008)(6506007)(316002)(66476007)(6916009)(54906003)(6666004)(66946007)(53546011)(41300700001)(6512007)(38100700002)(8676002)(8936002)(4326008)(5660300002)(26005)(2616005)(7416002)(83380400001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZnJsWjI4VjFBZ3hrTEJCTmtqc3FKdFpiaGJINjBFUWsrVW52cG85UkFRcndS?=
 =?utf-8?B?SER5bG4vY3RVcTFnZk1wUDRONnduR1dwMkZkNmFtQlpueFUwOFA0d3E5Nk43?=
 =?utf-8?B?MGh6MnpEUVZENjFrVUNBRVhFc3V0Rmtpb1ptWHJENGh5MW1oRkNmdFh5NHF2?=
 =?utf-8?B?TlBXRmRkZENhd2VTYXAxK3lNVjUvSHRPMkRqeEUxUGtnQkhJa3FodWFEMGxn?=
 =?utf-8?B?UDMxVVBZdEJpbTQ3YWRUZnZMcGhpcWRXeUxLeXVIazFpYTBaZ1BIdzFyckVT?=
 =?utf-8?B?T3hWSWpYZktWdFkwSjQwVk1ST3pQa3Q0MVhIWEZjb014OHdFOFZSVzNkVWNB?=
 =?utf-8?B?MGFxMlh2R05YYndpTjJTQmk0dEw3RnNFU3hYNDd4TDJUQkppQWZqdHVBMDVi?=
 =?utf-8?B?TWp6Y0FpQzl0YnVleVd2TCtsamJ5TUpyOE51cHdKbVY3d0lMYmZodmNCazh0?=
 =?utf-8?B?Z3BuSmxvWUJYU2lYU1dXKzZBNjZMWi9hRytBRDNaL0FaL2dxUDBKTFZnZFlJ?=
 =?utf-8?B?M0toekpmQVBqMkFJOG12SWZTN25iNUtobW9malZRRm91TEpyaHNBWldqSlEx?=
 =?utf-8?B?YW5ybnhENTZsMU5SNkxUaHpHVHE3TDBvby8yY0JKU0d6ZmMxWndSUnZuTkF4?=
 =?utf-8?B?Q3lYc2I3d1lNUGdhdGptQ0FxSFJ1N3pmaDVRZ3lHeVk2WDZKSUFEN0ROR284?=
 =?utf-8?B?eitEYmhiNTN2bHlodjBPZVZFbmlmbHpIVVpmeUw5dHRyVmg2Y3FraE9XOFQw?=
 =?utf-8?B?bVRBbUVCRXQvNlNCNE1oeHJFdUdrZXBkd2VlNisrMjhVZHdPaG8yMU52a3Vs?=
 =?utf-8?B?cTd0bjNmSUU4cFpaWkhwb0pPUUpkanBERWRDa3BwcUIrd2ttSHIwS1dlb2hr?=
 =?utf-8?B?WTF2WVZ5Y2UzL0tvemh5OEovSTY3VXo3UXRaMVhVQnZLMkp6YnJ4ck9PRTZY?=
 =?utf-8?B?ZFFNNGY5QTNsekVWRVk0OW5lWDlnVTllcjZnc0NSQ1J2b1c1VVdDLytqODhP?=
 =?utf-8?B?TExpbllhTXJXWmxJMUJGdTBidnJ6VDZnZ01hK1FLT1RJZmRqUWNBREVma3lq?=
 =?utf-8?B?a2MwNGZmRjNab3NrWHBmdlhTc3hQMG9ua0VkR1ZjWndwS0YwajVVOFQ4d0lh?=
 =?utf-8?B?MUpZTURna0NndjV0QjFSV01OT1ljNXpsUC8zbEJ3MTVGdW5HYVRCamxpS3lt?=
 =?utf-8?B?c0RqNkMrQ3dUZk9NaTdWMU1xSzJXTld1OW55djZoeFBJbStFWUJST3NvQ05X?=
 =?utf-8?B?WFgvZnJEK09SUURWa2RlK1pKNGJFZnZHTGhKamJVcWxuSXRTa3NtY0tXNURl?=
 =?utf-8?B?TjRVdUNURkJqUUdHa3VNeDc5aXY2Yzl0R3B5cUJIRkMwUGVpdzNXbXYzdTlT?=
 =?utf-8?B?QVZRZDl5UVdPcEJ0V3pVWUQxY1lxVVliYTNzTnduTklpSEVtUGdSL0RkRCts?=
 =?utf-8?B?a0cwSlJybndYeFd3MFNwTzlKTWdNblh6THZoY0h0SlJ1WEJML3dGdy90cGNV?=
 =?utf-8?B?cmVlTFMvZDJLT3FzSnZFLy9EeTJ0RlU2cGhnbVd3MWhqL3hXRXVJbHA5K2hq?=
 =?utf-8?B?bFJ5NCtGRHBKQmhhL2pVVThNQk1QamlranVHWlY4clFoWk9HYUcyR0ZVNUJO?=
 =?utf-8?B?NlVWN1FjN3lxVDFPUkhtSXR5aWRmRkJZMWdzY1EwVnEzQ0NFY1BpRmwrczBF?=
 =?utf-8?B?SU5ZYW50eTl2elUwZ1pzYUhRZElMang2TFl2VTByMG5KU1dyb21LTHVJRHBI?=
 =?utf-8?B?Q1R6VEV6bUVOT3J1c1FCanYwcGZHL2U4NGR0aFNlNENKN1NQb2dzZFBVTThn?=
 =?utf-8?B?RXFXYmo4NnZVaEVUUUNOdkJJNVE4cDFTZllyMXhIYXBlOGlnMmFISUtyQnEw?=
 =?utf-8?B?dGttY2kzU0F1VnBOU3VTM3VUNjNUQ0lDblcrUmpQNUJqcnhVb28zN2x2N0pX?=
 =?utf-8?B?dW4wZklkSnFxenQyQ1RTdVNZVUdSSTlid2haVE9GckU2SWlQVFladmlQZk9a?=
 =?utf-8?B?NEZrTmIzbGdMQU92RFhJdnk2SGlXMDZTYzJVTGNFOFFMMm00b3VXNm43UDdl?=
 =?utf-8?B?ajlWVHc2aGhsR2RzUWErVU9CQnFuNHVTN2xyRjhGTitMaUJaL0FuTzNnc0lD?=
 =?utf-8?Q?4Io7MqPpmjRCeXbzb290J3EUH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f99c43d-6875-448c-76fc-08dba3b117d9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 08:15:20.9314
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nTXZQEirbY4oxdLf331xY7kmJMgr45xFE7boOp0j0tqzp7XJjPtqz43ztZVJGxstKxCVOULVYdKcQWwtcN4bQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9709

On 03.08.2023 12:22, Simone Ballarin wrote:
> This series aims to address some violations ofMISRA C:2012 Rule 7.3:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> This patch replaces "l" suffixes with "L", to comply with the rule.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> Gianluca Luparini (13):
>   AMD/IOMMU: address violations of MISRA C:2012 Rule 7.3
>   x86/svm: address violations of MISRA C:2012 Rule 7.3
>   xen/arm: address violations of MISRA C:2012 Rule 7.3
>   x86/IOMMU: address violations of MISRA C:2012 Rule 7.3
>   xen/ioreq: address violations of MISRA C:2012 Rule 7.3
>   xen/mem_access: address violations of MISRA C:2012 Rule 7.3
>   xen/vpci: address violations of MISRA C:2012 Rule 7.3
>   xen/hvm: address violations of MISRA C:2012 Rule 7.3
>   x86/mm: address violations of MISRA C:2012 Rule 7.3
>   x86/viridian: address violations of MISRA C:2012 Rule 7.3
>   xen/x86: address violations of MISRA C:2012 Rule 7.3
>   xen/common: address violations of MISRA C:2012 Rule 7.3
>   xen: address violations of MISRA C:2012 Rule 7.3

Since about half the patches are still pending due to missing acks,
just to mention it: It's normally the submitter who is to chase them.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 08:32:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 08:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589046.920756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjHu-0001Yy-1e; Wed, 23 Aug 2023 08:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589046.920756; Wed, 23 Aug 2023 08: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 1qYjHt-0001Yr-VJ; Wed, 23 Aug 2023 08:32:25 +0000
Received: by outflank-mailman (input) for mailman id 589046;
 Wed, 23 Aug 2023 08:32: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=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYjHs-0001Yl-7O
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 08:32:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94a063c1-418f-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 10:32:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E8A2222186;
 Wed, 23 Aug 2023 08:32:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B57BA13458;
 Wed, 23 Aug 2023 08:32:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tce2KhXE5WTAXgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 08:32: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: 94a063c1-418f-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692779541; 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=KZf5kSjJWu8FUoC0WchwMriRXqjv94Z9qL9dZfUWNBE=;
	b=FSxXvCL3K3xQCCMZxACpojMWqRzH8e0oQAMpjwUFoEwxW7RGKeHeekFjqekVx40acqnTJG
	cAvglFsh/fJ62we81sDm6jaWkyiwCeUzxEsTY/R+/qou8MXQlLXeIIPeR6RUBT2Y2HETv4
	DDNI8OfOXHczkTOshkRQAyHNP1ksytw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH] stubdom: remove openssl related clean actions
Date: Wed, 23 Aug 2023 10:32:19 +0200
Message-Id: <20230823083219.19517-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When introducing polarssl into stubdom building the clean targets of
stubdom/Makefile gained actions for removing openssl directories and
files additional to polarssl ones.

As those openssl files are never downloaded or created during build,
the related actions can be dropped.

Fixes: bdd516dc6b2f ("vtpm/vtpmmgr and required libs to stubdom/Makefile")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 stubdom/Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index d5fb354e7e..23ea8bb92e 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -670,7 +670,6 @@ crossclean: clean
 	rm -fr ioemu xenstore xenstorepvh
 	rm -fr gmp-$(XEN_TARGET_ARCH)
 	rm -fr polarssl-$(XEN_TARGET_ARCH)
-	rm -fr openssl-$(XEN_TARGET_ARCH)
 	rm -fr tpm_emulator-$(XEN_TARGET_ARCH)
 	rm -f mk-headers-$(XEN_TARGET_ARCH)
 	rm -fr ocaml-$(XEN_TARGET_ARCH)
@@ -682,7 +681,6 @@ patchclean: crossclean
 	rm -fr newlib-$(NEWLIB_VERSION)
 	rm -fr gmp-$(XEN_TARGET_ARCH)
 	rm -fr polarssl-$(XEN_TARGET_ARCH)
-	rm -fr openssl-$(XEN_TARGET_ARCH)
 	rm -fr tpm_emulator-$(XEN_TARGET_ARCH)
 	rm -fr lwip-$(XEN_TARGET_ARCH)
 	rm -fr grub-upstream
@@ -699,7 +697,6 @@ downloadclean: patchclean
 	rm -f lwip-$(LWIP_VERSION).tar.gz
 	rm -f ocaml-$(OCAML_VERSION).tar.gz
 	rm -f polarssl-$(POLARSSL_VERSION)-gpl.tgz
-	rm -f openssl-$(POLARSSL_VERSION)-gpl.tgz
 
 .PHONY: distclean
 distclean: downloadclean
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 08:39:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 08:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589053.920765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjOy-0002C3-P9; Wed, 23 Aug 2023 08:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589053.920765; Wed, 23 Aug 2023 08:39:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjOy-0002Bw-Mh; Wed, 23 Aug 2023 08:39:44 +0000
Received: by outflank-mailman (input) for mailman id 589053;
 Wed, 23 Aug 2023 08:39:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYjOx-0002Bn-Ft
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 08:39:43 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9af1cbe1-4190-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 10:39:42 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3545D1F45A;
 Wed, 23 Aug 2023 08:39:42 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EAF0F13458;
 Wed, 23 Aug 2023 08:39:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +9EPOM3F5WQeYgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 08:39:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9af1cbe1-4190-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692779982; 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=d4byF+rn6QX6KvQ/TU6fu/RGem5w5N1coOjP+nnUbU0=;
	b=X26wbqqmPDKVLyxkZSqUWm7Mf7EmruhsnyBC1IdRgBVj/m28PMgX5/nKjHeTcBmYyzL2ZC
	BfoQeG5gDQp9i5AdBeCWQMCo7awpt2Lnx5RKyr8oXYJGoCug5BlMN6f9uoEUh2vKInZN1c
	6WIcOEMtf2cTZzwO7oo+myrJbtTW2ic=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] build: simplify clean handling of extras directory
Date: Wed, 23 Aug 2023 10:39:40 +0200
Message-Id: <20230823083940.20020-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The extras directory is used only as a download target for Mini-OS
sources. Instead of special handling extras/mini-os* in .gitignore and
the clean targets, just use extras for that purpose.

So add "extras" to .gitignore and remove it when doing a
"make distclean".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore | 2 +-
 .hgignore  | 6 +-----
 Makefile   | 2 +-
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/.gitignore b/.gitignore
index c1b73b0968..2d4baa4395 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,7 +63,7 @@ docs/man7/
 docs/man8/
 docs/pdf/
 docs/txt/
-extras/mini-os*
+extras/
 install/*
 stubdom/*-minios-config.mk
 stubdom/autom4te.cache/
diff --git a/.hgignore b/.hgignore
index 2d41670632..030d97803e 100644
--- a/.hgignore
+++ b/.hgignore
@@ -77,11 +77,7 @@
 ^docs/xen-api/vm_lifecycle.eps$
 ^docs/xen-api/xenapi-datamodel-graph.eps$
 ^docs/xen-api/xenapi.out$
-^extras/mini-os/include/list\.h$
-^extras/mini-os/include/mini-os$
-^extras/mini-os/include/x86/mini-os$
-^extras/mini-os/include/xen$
-^extras/mini-os/mini-os.*$
+^extras/
 ^install/.*$
 ^linux-[^/]*-paravirt/.*$
 ^linux-2.6[^/]*/.*$
diff --git a/Makefile b/Makefile
index b93b22c752..a6ca348476 100644
--- a/Makefile
+++ b/Makefile
@@ -246,6 +246,7 @@ clean-docs:
 # clean, but blow away tarballs
 .PHONY: distclean
 distclean: $(TARGS_DISTCLEAN)
+	rm -rf extras
 	$(MAKE) -C tools/include distclean
 	rm -f config/Toplevel.mk
 	rm -rf dist
@@ -265,7 +266,6 @@ distclean-stubdom:
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
 endif
-	rm -rf extras/mini-os extras/mini-os-remote
 
 .PHONY: distclean-docs
 distclean-docs:
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 08:58:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 08:58:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589064.920782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjgs-00053y-Ci; Wed, 23 Aug 2023 08:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589064.920782; Wed, 23 Aug 2023 08:58:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjgs-00053r-8O; Wed, 23 Aug 2023 08:58:14 +0000
Received: by outflank-mailman (input) for mailman id 589064;
 Wed, 23 Aug 2023 08:58:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dmRg=EI=citrix.com=prvs=59206e676=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYjgq-00053l-9x
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 08:58:13 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cd12f6b-4193-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 10:58:08 +0200 (CEST)
Received: from mail-mw2nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 04:57:38 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by DM4PR03MB6144.namprd03.prod.outlook.com (2603:10b6:5:397::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 08:57:32 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 08:57:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cd12f6b-4193-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692781088;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=3/TyvNW2GVqOih1sAeJN8t8pMIa15OeTSSTgyzku0A8=;
  b=Y+QtuuMjn7Urcl/YXWVv+KVcomRh+f6B3AHGphTHJWeK7V8RKmsVX1Tf
   0APXQ0ciJZZxSBGl6rqwWrcWy6mPSWZ2tQ7KS70qKHIcRPhvkYjlrOEQj
   oN9ZiblinN4HthZU0eR8FDy96oiCzWYzbQaev3K+UokFt2d8D6rz8z/u5
   c=;
X-IronPort-RemoteIP: 104.47.55.101
X-IronPort-MID: 119035283
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FM3Nf62J69iZz6oZ7PbD5btxkn2cJEfYwER7XKvMYLTBsI5bpzVUy
 mIZXzzUMvzfM2f0fN4jPI+z8B5Tvcfcm4UxSVRvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxkPqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfM0sRq
 9gcKi82Nh2YoMPv6Yq0Ca5+v5F2RCXrFNt3VnBI6xj8VK5jZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvi6KlFUZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r1376Xxn6hCNl6+LuQ1v5OjUeq/WUvWDIOeQO64uCIk3SyRIcKQ
 6AT0m90xUQoz2SJT8D8Vhv+i36JuDYVXtYWGOo/gCmW0bbd6QudAmkCTxZCZcYguctwQiYlv
 neLld70AT1ksJWOVGmQsLyTqFuaAyEEa08fbCkLZQIA75/op4RbpgLCSJNvHbC4ivXxGCrs2
 HaaoS4mnbIRgMUXkaKh8jjvqjahtpHPQgMvoCnaQ2ml4xlRbYupIYev7DDzxvZaLZ2FT1CH+
 lsDls6f48gHCJ3LnyuIKM02ALy27uyZdh3dhVJiFYMo8TiF8nuvO4tX5VlWLlpzIM8AfjPuf
 0b7tgZY5ZsVN3yvBYdXZIS+D8krlO7ACN3jWdjda9YIaZ90HCel4SVvbAii32nrn2AllK15M
 pCeGftAFl4fAKVjiT+pHeEU1OZzwjhknDuKA5fm0x6gzLySImaPTqsIO0ePaeZ/676YpALS8
 JBUMM7iJwhjbdASqxL/qeY7RW3m51BiVPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:geDtKa1FswIwHGM681wlLwqjBdVxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5OEtOpTlPAtjkfZr5z+8M3WB3B8bYYOCGghrQEGgG1+ffKlLbexEWmtQttp
 uINpIOcuEYbmIK8voSgjPIdOrIqePvmM7IuQ6d9QYKcegDUdAd0+4TMHf+LqQZfnglOXJvf6
 Dsm/av6gDQMEj+Ka+Adwo4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/PwmE0gwYWzZvx65n1W
 TeiQT26oiqrvn+k3bnpiLuxqUTvOGk5spIBcSKhMRQAjLwijywbIAkd6yesCszqOSP7k9vtN
 XXuR8vM+l69nuUVGCophnG3RXmzV8VmjXf4G7dpUGmjd3yRTo8BcYErYVFciHB405lmN1nyq
 pE00+QqpISVHr77W/AzumNcysvulu/oHIkn+JWp3tDUbEGYLsUiYAE5ktaHLoJASq/woE6F+
 tFCt3a+Z9tABunRkGcmlMq7M2nX3w1EBvDak8euvaN2zwTp3x9x1tw/r1qol4wsLYGD7VU7e
 XNNapl0JtUSNUNUK57DOAdBeOqF23kW3v3QSOvCGWiMJtCF2PGqpbx7rlwzvqtYoY0wJw7n4
 mEeE9EtFQ1Z1nlBaS1rdN2Gyj2MSaAtAnWu4NjD8ATgMy4eFOrC1zNdLkWqbrhnx1FaferH8
 paO/ptcorexCXVaMF0NjbFKulvwEklIbMoU+kAKiOzS+LwW/rXX7/gAYDuDYuoNwoYcUXCJV
 ZGdATPBax7nzKWsznD8VTsZ08=
X-Talos-CUID: =?us-ascii?q?9a23=3AVvRZOmlEBxHTEfs7ECsWpY9AVZjXOU/3kyn0J02?=
 =?us-ascii?q?nMj5kU5q0EHao9+AjgfM7zg=3D=3D?=
X-Talos-MUID: 9a23:ImBiswilrPcYx0Thp5XfnMMpFMdM7r6XM0kxwboel5GFdjVBIg2Rk2Hi
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="119035283"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lb691/LSx7BqV9ASUwL+aoltY/b4bRqs9H1vCciVf08KjcjzX8w+Qt3qwU3Qj6OrzBdvHbzb2MWPBKZXtgcMA4KlOyybTrOTUPMt0d0tcIky49Tq4O50Ukbu4Z00b6TVcZ6Wa90IXdLKsF/kHaqpqXon5EBvLphogpFi0XLyAJsZJy0Lw4q3d36dG2ZelvuC/z37Dbl/OjO1J8THbqQzb8ZgC3zxZWmFGV9RKX3jFuUfjBQwneVjiGtJIc8DQkoZI0Vs9Ld6Sdba3iLDfqbSV8pQZL+uHlCQLenDPl3SJEPOpiJs8B/Dw9pPL4kGtpMa0oK7HbiswOtkbR7C89UGyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O0nNEOtUxbaY5nSKEukRbat0USR8PkqvD/v6uyh48LA=;
 b=bPXS+A4smp2iu7rK0DR51EsrDnR2xRE3rUjol//x75d66ae8jVEzzpB5wTi0PXUjws/fyw1RiygLVSvnOnJX/g6EH5WgYGOw4gmMNmUaKEgJQ9irM8RscnLpcpVJNIwy0IOgN3HJwcmWz+KKhDxx6aE5RnGnNWLpOe3cVTpwMXz48x+oiSBJ6v/LMlYm08f99NV6AT/tz2GJiSFuxE5h7n0PKrFWwZkN+dQCIRWcifknSrb+81p/7qyX5+JDuFUoJGb6UdjLOGi7lIfvYqcNRmJ0Vnlavj949P9ErUz9apMbJDMuS0HTrcb2I/mWQZpJknU41UvumgvD+MoZAodTxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O0nNEOtUxbaY5nSKEukRbat0USR8PkqvD/v6uyh48LA=;
 b=UF42HPGd7vkvuogozK0BUpW11TdXAuIa8zjw2ZD3aU5/eJ9+yACqAixOxU0058lvQDFKjoGR81oxMS8RMXrV/yaFG1tnQfQ6/p74EGr2mFm2hvS1/n3icTjAfoMMcW+RWnrlbF/Nm+qxhuCNkcOkJmCRbwr8po71VW1+mcdeNwo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 23 Aug 2023 10:57:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZOXJ9s8hb96l8ys2@MacBook-Air-de-Roger.local>
References: <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849773109F9A9C6AE4D824EE705A@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB5849773109F9A9C6AE4D824EE705A@BL1PR12MB5849.namprd12.prod.outlook.com>
X-ClientProxiedBy: LO4P265CA0284.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:38f::9) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|DM4PR03MB6144:EE_
X-MS-Office365-Filtering-Correlation-Id: 4864ed53-7253-47a6-70da-08dba3b6fc8e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i+ukRFiS+KwEDuXhnIO1PakxEURLtTAbpMyrUyeE03nB7y2RN9nV4Qk67HemDlarBjzEBLKRddlAmEyXdnkfra576cmcwnwO0KQzvphM7nEn/eeihiBI8pE/zQXOUo9ieLVUQQW8aacWnPBcZuXfMN9T6Pb9yxPO0ph65FuYPgxmc3RE68jJPp5HhL2w5qKN0LvEZDBHD6LOlwKRT+BKR8DXCMsHF2k+fHAjdaUPHARrzBez7s/OBfoYsZ3ng1iUy67BuH07NjyRQFPBgJHA6O27TTFJlADm9BzOk4m/YVdKwSs1OWei90JSDyWHDyxIDeBcdbMbJ/Z14ig/1KZSD73wfM0eVMZ1Ht3nXMwz3TeegsvZpUy9QrFNIo9K4EmoXc81vektvhj3KEUMeA4n4Zbckms7/aacMTuqxrc6Kum2hZpt4ciI2eAEbwllTPW5QMGtmoKayV+R3Dk45Nixo0eCZAE3wAiyrGTbjhRz/ITA+gxC1k+UXhDYltrqcJQS5HDXzymK1SUeV87ZtWFavO9F3HzGaM4Hd7Rju4lgCmwOtM3YH/hMXNt8S/KwbJdK9QpbiYsXWp+H6KKLlBKl/nZxxKJ7x/ES64qDslFhec0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(136003)(376002)(39860400002)(451199024)(186009)(1800799009)(86362001)(85182001)(478600001)(5660300002)(8936002)(8676002)(4326008)(26005)(38100700002)(7416002)(83380400001)(2906002)(30864003)(6512007)(9686003)(82960400001)(6506007)(6666004)(53546011)(316002)(6486002)(66476007)(66556008)(54906003)(41300700001)(6916009)(66946007)(579004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RC9JbE9KaU50bXFsdjFkRDRhazVDbWZHMlZ2YTluWlEvbmZjK3MxelVzVGpi?=
 =?utf-8?B?dlBZN0RyMlJpcnBBSklkY0VHUW5zNlJBVjNnQ21hdzU2OFdYdk9TbEhoWDBE?=
 =?utf-8?B?S29QOU0zWGNoRHRMRXprMlVZK1B4aW5Jd0NmQmxSeWY1NDJHZTBkYThhWGhu?=
 =?utf-8?B?bThNQnpaa2J5czdyeU1HNGdFc2dkcmxEU0k1UjBsamNKR1VwSDRKN1FnNmRz?=
 =?utf-8?B?YnhUTk5ab2NtUmI5MXZIUmhyemY4alJRVVZoRzFTVmQ4TC9ZYm91azNLL3RT?=
 =?utf-8?B?bWxjVXNScmRLTmdQNkl5SGlkWDE4ZWhxZWR6b2pOMW9zZVdIZk9QMGRQRkho?=
 =?utf-8?B?ek5odXFWclQ4TlF3Sk43ck52VlkrSDZJandVS3VkbDBPOGZZbExnQURZZjFj?=
 =?utf-8?B?RWNLSGZHb1h0bXkrT0lROGRCR2JkaTRJamVYbDUrdHB0a0NQcHVJUEhWdUtU?=
 =?utf-8?B?c0V0WXJwTCs5bU85VEZMSmpwWS9YWk1kYnJoY05UbzBnQmI3eHh1RGRTL1Vs?=
 =?utf-8?B?VDBOUVpBTktXb1NmY0tEQmoyVVA1YTF1Vm9VMGN4SEpPcG5lQTFkelRMcGdU?=
 =?utf-8?B?NUVxcGRMeFVIU3BDQU1zeGlHUXNaOWhvWWJLdzJDTy80S2NUWUExa0hOcVVR?=
 =?utf-8?B?RldwVDNua0p1RXJWNGw2WmNKMVpOVlY4L0t2K09ReXlmaUxCcTg0L0hTU2xX?=
 =?utf-8?B?cnpROWRNY2VyeWZHdmdZYkNNOGJLNzYzWndOVE9QVUNqNTY2UEU2bVF2a1dq?=
 =?utf-8?B?M2srOVQ1dzFTRjgzSUEzM1lEMHo0Z0VZOG43eHVGc2pjMWVvTmgvT1c2c3c1?=
 =?utf-8?B?U3NlVlhnR0p2dEFrSk96Q3I3ajZjV0h3UWVibGNmVk8weXBQcUt3em5mY0lJ?=
 =?utf-8?B?RFpqUURIS3BaR05PMVEvZlRLK3NDeW9Qa0pzVVIwdHplL3FsTE8yenJOb0k2?=
 =?utf-8?B?L2I0SnE4eWUveGI0TG03cXhNTDNQd0tySjlSWDlnVG9zS0dacDBMMUUxYjNx?=
 =?utf-8?B?ZmtNVmRQQkVpajlOcitJYlUvd1EyTnoyYy90OHRtSXJ6NVN5NTlLcDBKUy9q?=
 =?utf-8?B?S0VqTmRxQWJUUUFnbHd2WE5SZ3hLRjcyejBwdTcvYjlMcERoUU5CRk10WHAv?=
 =?utf-8?B?eHR1NFgyS0dsTkxyWG83cEhMRlVHVnpOd0Z3bVovSDVkdHVqNnNsWDVhQlVG?=
 =?utf-8?B?UVNrYVk2VmE0Vy8xZjJZMWJ0TDlkYnFsUkR4eTRBRUt0Q053VFQ5bmMwZDdP?=
 =?utf-8?B?SHJrVVY5RlF5TlVqNm4xODNtOVp1VkczMVk1dVNWc1VCNXJsT29qZHZUeVBS?=
 =?utf-8?B?TmVNU0JXdENDRDV3dW5MNjB0Y05ydkdCbEhjb01zTEZORnZCU1ZTQ09HeHFO?=
 =?utf-8?B?SnJxZUV2NDhtWWlCemh3NXJDRG8ya2UvYmhkblhFTWlsQzlJZkt6aVdFM3o0?=
 =?utf-8?B?YXpqdmgraFZ5cjNSLzcvdUJ6VUZWMHJXVlZuZG1oQ3FtdmVaMHYvVXc4U0lN?=
 =?utf-8?B?MnYxekIvSjNELy9BNlgwaE00RnoyWkhWL0wvZ1ppL3ZQVkl1WGZEM1pndmxR?=
 =?utf-8?B?R3JNeTI4cFZvSHNrVTlwa3N3WUZ6UktqK2o1RUVTdDAxNEV1bHBQTXd0SHlQ?=
 =?utf-8?B?akh3c3Y5Vkt0S09PNUNIUnFnRkpGVDhtckgrWTk0ZlBFY1pRZXRldGlhSHVX?=
 =?utf-8?B?cExUL2FCTVFlaFpGMTM4bXl5STluMmQ5U2tVOWliWnBXcHk1N3B4OEJIbmgv?=
 =?utf-8?B?dlpZUm5sUSt5THhPU1V3amFlRVhBV3ZHRzdqMmZVVGVReVYzVS81MHRlRjQ2?=
 =?utf-8?B?QUF1eUtVWGlrd3lMeVVwZEJQR2pTS25OWUdNUkloQS91VXBWbGs4b2VETUI1?=
 =?utf-8?B?ZFppcWFJNng1YVVFdmVhVkoxc2txUEEvWHQvcnpJOW5lMWoxSXBDWE5TM0lz?=
 =?utf-8?B?MENsdWRVUERmWUpXVlFCYm4rYVZzRGxQT0FoV0VaRWQrVzBTVTZuZFpvbENz?=
 =?utf-8?B?YzFqS1RwVlA3eGRrV1B0cmN0YnJUQUVnNVlXRFRJNVRkV2RNeGg1c2cvYk55?=
 =?utf-8?B?aU1rbTFRczNPRnJ4Y0dqUHVGeG12ZXROMzJIZkc5RkZrUUZuM1A1R3FKRkI1?=
 =?utf-8?B?SHlXanJsU2lBZGE1MER0WU9sUlFma3hmZkJlYUthUUVUOFlKYW5sMjM4bWRV?=
 =?utf-8?B?Ymc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bd1FGcQxwqQsktfAIHbL8xKZX7aHo3CSZ3TmlrVmAbWDPpwyE7kDsywtKWsjGGBAeHeGKk3+vtxP0Ci6LKznjYHrXq0W4lUMCYYWMcv9S6pMlw8OtbNcBRamlkE1aqIG0ZLuIzJ2BumwSf9BN1dNOAl+vZDVjT8f8HdDemthpeTDlAWjdTSLf87CFwXRRi4BMHwZ8MCtdrG7qAJJx1kU2rwTTHEGNr5uLFrXzU5IAlon+K/niwxW38YUe3MJzLJrthtMVbSpZ7bmr0taUZ3WunAEogwT66ByWHAnGl9HXwq6V+xu18lQ7D1KCMnFlCjbB+aKC8ViFBJC4luP1RF+nh1W4X+iBda2b6pDCLZVsqK1ri3ghxAvncOx7F4h4k9PuMgXGw0ftBFlm5jAT/pnvLcobv44GoAalOcLjf0FRFkPkPZFYA/+1UTGBOG9Z4OFLpE7QuyRb2vcRPMoW6OIL5r0Z9+FlqeLbKOvFq4N16rOV9QXdLlaHyjQvLLCfb1Ti9wYeMMCqHt/VjwDFxw1uMIXvJivABF1wR5rEZtH+dRDiYPTxnMvM1/2fmuFCcGDLUzVrsBQuCcJ3BXLBLTNUUYgxaf+EkdSNpOSxLbOcOVn4943LSIfFhgIsZzGWOJNtczGtK6Uyfh3eQt8+BFlS0HPeRNi/JfGbCWqtYAQWc3VqRlV1vfbPzNJu34VC6exQNduusmYgTaNRHp/jlDJMDPblaEJfMS+qInattnbO+DyLc3NrUlJdMRmvtAia9jUyf2Cck1D21NDVA4I3xOxIpd/FWXPEcERF+t7nJPy/rlTITVngus1BwdqFkUYmKailKP5Ybxyil0pJViduC7TB6tchMEyC2FvwnVK2rnj/ORKCoXhQ4yoLaGMtK853EYk
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4864ed53-7253-47a6-70da-08dba3b6fc8e
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 08:57:32.3337
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UCYD3DVa2alNT0a8UqzcFS8HCKSVkZ5YVsiPoLly9TaFjhgCG1e6uksf8vQUKjixiwy+bMdt+HUHM8zbmgIIRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6144

On Mon, Jul 31, 2023 at 04:40:35PM +0000, Chen, Jiqian wrote:
> Hi,
> 
> On 2023/3/18 04:55, Stefano Stabellini wrote:
> > On Fri, 17 Mar 2023, Roger Pau MonnĂ© wrote:
> >> On Fri, Mar 17, 2023 at 11:15:37AM -0700, Stefano Stabellini wrote:
> >>> On Fri, 17 Mar 2023, Roger Pau MonnĂ© wrote:
> >>>> On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> >>>>> On 17.03.2023 00:19, Stefano Stabellini wrote:
> >>>>>> On Thu, 16 Mar 2023, Jan Beulich wrote:
> >>>>>>> So yes, it then all boils down to that Linux-
> >>>>>>> internal question.
> >>>>>>
> >>>>>> Excellent question but we'll have to wait for Ray as he is the one with
> >>>>>> access to the hardware. But I have this data I can share in the
> >>>>>> meantime:
> >>>>>>
> >>>>>> [    1.260378] IRQ to pin mappings:
> >>>>>> [    1.260387] IRQ1 -> 0:1
> >>>>>> [    1.260395] IRQ2 -> 0:2
> >>>>>> [    1.260403] IRQ3 -> 0:3
> >>>>>> [    1.260410] IRQ4 -> 0:4
> >>>>>> [    1.260418] IRQ5 -> 0:5
> >>>>>> [    1.260425] IRQ6 -> 0:6
> >>>>>> [    1.260432] IRQ7 -> 0:7
> >>>>>> [    1.260440] IRQ8 -> 0:8
> >>>>>> [    1.260447] IRQ9 -> 0:9
> >>>>>> [    1.260455] IRQ10 -> 0:10
> >>>>>> [    1.260462] IRQ11 -> 0:11
> >>>>>> [    1.260470] IRQ12 -> 0:12
> >>>>>> [    1.260478] IRQ13 -> 0:13
> >>>>>> [    1.260485] IRQ14 -> 0:14
> >>>>>> [    1.260493] IRQ15 -> 0:15
> >>>>>> [    1.260505] IRQ106 -> 1:8
> >>>>>> [    1.260513] IRQ112 -> 1:4
> >>>>>> [    1.260521] IRQ116 -> 1:13
> >>>>>> [    1.260529] IRQ117 -> 1:14
> >>>>>> [    1.260537] IRQ118 -> 1:15
> >>>>>> [    1.260544] .................................... done.
> >>>>>
> >>>>> And what does Linux think are IRQs 16 ... 105? Have you compared with
> >>>>> Linux running baremetal on the same hardware?
> >>>>
> >>>> So I have some emails from Ray from he time he was looking into this,
> >>>> and on Linux dom0 PVH dmesg there is:
> >>>>
> >>>> [    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
> >>>> [    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55
> >>>>
> >>>> So it seems the vIO-APIC data provided by Xen to dom0 is at least
> >>>> consistent.
> >>>>  
> >>>>>> And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> >>>>>> 112 (which is the one causing issues):
> >>>>>>
> >>>>>> __acpi_register_gsi->
> >>>>>>         acpi_register_gsi_ioapic->
> >>>>>>                 mp_map_gsi_to_irq->
> >>>>>>                         mp_map_pin_to_irq->
> >>>>>>                                 __irq_resolve_mapping()
> >>>>>>
> >>>>>>         if (likely(data)) {
> >>>>>>                 desc = irq_data_to_desc(data);
> >>>>>>                 if (irq)
> >>>>>>                         *irq = data->irq;
> >>>>>>                 /* this IRQ is 112, IO-APIC-34 domain */
> >>>>>>         }
> >>>>
> >>>>
> >>>> Could this all be a result of patch 4/5 in the Linux series ("[RFC
> >>>> PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
> >>>> __acpi_register_gsi hook is installed for PVH in order to setup GSIs
> >>>> using PHYSDEV ops instead of doing it natively from the IO-APIC?
> >>>>
> >>>> FWIW, the introduced function in that patch
> >>>> (acpi_register_gsi_xen_pvh()) seems to unconditionally call
> >>>> acpi_register_gsi_ioapic() without checking if the GSI is already
> >>>> registered, which might lead to multiple IRQs being allocated for the
> >>>> same underlying GSI?
> >>>
> >>> I understand this point and I think it needs investigating.
> >>>
> >>>
> >>>> As I commented there, I think that approach is wrong.  If the GSI has
> >>>> not been mapped in Xen (because dom0 hasn't unmasked the respective
> >>>> IO-APIC pin) we should add some logic in the toolstack to map it
> >>>> before attempting to bind.
> >>>
> >>> But this statement confuses me. The toolstack doesn't get involved in
> >>> IRQ setup for PCI devices for HVM guests?
> >>
> >> It does for GSI interrupts AFAICT, see pci_add_dm_done() and the call
> >> to xc_physdev_map_pirq().  I'm not sure whether that's a remnant that
> >> cold be removed (maybe for qemu-trad only?) or it's also required by
> >> QEMU upstream, I would have to investigate more.
> > 
> > You are right. I am not certain, but it seems like a mistake in the
> > toolstack to me. In theory, pci_add_dm_done should only be needed for PV
> > guests, not for HVM guests. I am not sure. But I can see the call to
> > xc_physdev_map_pirq you were referring to now.
> > 
> > 
> >> It's my understanding it's in pci_add_dm_done() where Ray was getting
> >> the mismatched IRQ vs GSI number.
> > 
> > I think the mismatch was actually caused by the xc_physdev_map_pirq call
> > from QEMU, which makes sense because in any case it should happen before
> > the same call done by pci_add_dm_done (pci_add_dm_done is called after
> > sending the pci passthrough QMP command to QEMU). So the first to hit
> > the IRQ!=GSI problem would be QEMU.
> 
> 
> Sorry for replying to you so late. And thank you all for review. I realized that your questions mainly focus on the following points: 1. Why irq is not equal with gsi? 2. Why I do the translations between irq and gsi? 3. Why I call PHYSDEVOP_map_pirq in acpi_register_gsi_xen_pvh()? 4. Why I call PHYSDEVOP_setup_gsi in acpi_register_gsi_xen_pvh()? 
> Please forgive me for making a summary response first. And I am looking forward to your comments.

Sorry, it's been a bit since that conversation, so my recollection is
vague.

One of the questions was why acpi_register_gsi_xen_pvh() is needed.  I
think the patch that introduced it on Linux didn't have much of a
commit description.

> 1. Why irq is not equal with gsi?
> As far as I know, irq is dynamically allocated according to gsi, they are not necessarily equal.
> When I run "sudo xl pci-assignable-add 03:00.0" to assign passthrough device(Taking dGPU on my environment as an example, which gsi is 28). It will call into acpi_register_gsi_ioapic to get irq, the callstack is: 
> acpi_register_gsi_ioapic
> 	mp_map_gsi_to_irq
> 		mp_map_pin_to_irq
> 			irq_find_mapping(if gsi has been mapped to an irq before, it will return corresponding irq here)
> 			alloc_irq_from_domain
> 				__irq_domain_alloc_irqs
> 					irq_domain_alloc_descs
> 						__irq_alloc_descs

Won't you perform double GSI registrations with Xen if both
acpi_register_gsi_ioapic() and acpi_register_gsi_xen_pvh() are used?

> 
> If you add some printings like below:
> ---------------------------------------------------------------------------------------------------------------------------------------------
> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> index a868b76cd3d4..970fd461be7a 100644
> --- a/arch/x86/kernel/apic/io_apic.c
> +++ b/arch/x86/kernel/apic/io_apic.c
> @@ -1067,6 +1067,8 @@ static int mp_map_pin_to_irq(u32 gsi, int idx, int ioapic, int pin,
>                 }
>         }
>         mutex_unlock(&ioapic_mutex);
> +       printk("cjq_debug mp_map_pin_to_irq gsi: %u, irq: %d, idx: %d, ioapic: %d, pin: %d\n",
> +                       gsi, irq, idx, ioapic, pin);
> 
>         return irq;
>  }
> diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
> index 5db0230aa6b5..4e9613abbe96 100644
> --- a/kernel/irq/irqdesc.c
> +++ b/kernel/irq/irqdesc.c
> @@ -786,6 +786,8 @@ __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node,
>         start = bitmap_find_next_zero_area(allocated_irqs, IRQ_BITMAP_BITS,
>                                            from, cnt, 0);
>         ret = -EEXIST;
> +       printk("cjq_debug __irq_alloc_descs irq: %d, from: %u, cnt: %u, node: %d, start: %d, nr_irqs: %d\n",
> +                       irq, from, cnt, node, start, nr_irqs);
>         if (irq >=0 && start != irq)
>                 goto unlock;
> ---------------------------------------------------------------------------------------------------------------------------------------------
> You will get output on PVH dom0:
> 
> [    0.181560] cjq_debug __irq_alloc_descs irq: 1, from: 1, cnt: 1, node: -1, start: 1, nr_irqs: 1096
> [    0.181639] cjq_debug mp_map_pin_to_irq gsi: 1, irq: 1, idx: 2, ioapic: 0, pin: 1
> [    0.181641] cjq_debug __irq_alloc_descs irq: 2, from: 2, cnt: 1, node: -1, start: 2, nr_irqs: 1096
> [    0.181682] cjq_debug mp_map_pin_to_irq gsi: 2, irq: 2, idx: 0, ioapic: 0, pin: 2
> [    0.181683] cjq_debug __irq_alloc_descs irq: 3, from: 3, cnt: 1, node: -1, start: 3, nr_irqs: 1096
> [    0.181715] cjq_debug mp_map_pin_to_irq gsi: 3, irq: 3, idx: 3, ioapic: 0, pin: 3
> [    0.181716] cjq_debug __irq_alloc_descs irq: 4, from: 4, cnt: 1, node: -1, start: 4, nr_irqs: 1096
> [    0.181751] cjq_debug mp_map_pin_to_irq gsi: 4, irq: 4, idx: 4, ioapic: 0, pin: 4
> [    0.181752] cjq_debug __irq_alloc_descs irq: 5, from: 5, cnt: 1, node: -1, start: 5, nr_irqs: 1096
> [    0.181783] cjq_debug mp_map_pin_to_irq gsi: 5, irq: 5, idx: 5, ioapic: 0, pin: 5
> [    0.181784] cjq_debug __irq_alloc_descs irq: 6, from: 6, cnt: 1, node: -1, start: 6, nr_irqs: 1096
> [    0.181813] cjq_debug mp_map_pin_to_irq gsi: 6, irq: 6, idx: 6, ioapic: 0, pin: 6
> [    0.181814] cjq_debug __irq_alloc_descs irq: 7, from: 7, cnt: 1, node: -1, start: 7, nr_irqs: 1096
> [    0.181856] cjq_debug mp_map_pin_to_irq gsi: 7, irq: 7, idx: 7, ioapic: 0, pin: 7
> [    0.181857] cjq_debug __irq_alloc_descs irq: 8, from: 8, cnt: 1, node: -1, start: 8, nr_irqs: 1096
> [    0.181888] cjq_debug mp_map_pin_to_irq gsi: 8, irq: 8, idx: 8, ioapic: 0, pin: 8
> [    0.181889] cjq_debug __irq_alloc_descs irq: 9, from: 9, cnt: 1, node: -1, start: 9, nr_irqs: 1096
> [    0.181918] cjq_debug mp_map_pin_to_irq gsi: 9, irq: 9, idx: 1, ioapic: 0, pin: 9
> [    0.181919] cjq_debug __irq_alloc_descs irq: 10, from: 10, cnt: 1, node: -1, start: 10, nr_irqs: 1096
> [    0.181950] cjq_debug mp_map_pin_to_irq gsi: 10, irq: 10, idx: 9, ioapic: 0, pin: 10
> [    0.181951] cjq_debug __irq_alloc_descs irq: 11, from: 11, cnt: 1, node: -1, start: 11, nr_irqs: 1096
> [    0.181977] cjq_debug mp_map_pin_to_irq gsi: 11, irq: 11, idx: 10, ioapic: 0, pin: 11
> [    0.181979] cjq_debug __irq_alloc_descs irq: 12, from: 12, cnt: 1, node: -1, start: 12, nr_irqs: 1096
> [    0.182006] cjq_debug mp_map_pin_to_irq gsi: 12, irq: 12, idx: 11, ioapic: 0, pin: 12
> [    0.182007] cjq_debug __irq_alloc_descs irq: 13, from: 13, cnt: 1, node: -1, start: 13, nr_irqs: 1096
> [    0.182034] cjq_debug mp_map_pin_to_irq gsi: 13, irq: 13, idx: 12, ioapic: 0, pin: 13
> [    0.182035] cjq_debug __irq_alloc_descs irq: 14, from: 14, cnt: 1, node: -1, start: 14, nr_irqs: 1096
> [    0.182066] cjq_debug mp_map_pin_to_irq gsi: 14, irq: 14, idx: 13, ioapic: 0, pin: 14
> [    0.182067] cjq_debug __irq_alloc_descs irq: 15, from: 15, cnt: 1, node: -1, start: 15, nr_irqs: 1096
> [    0.182095] cjq_debug mp_map_pin_to_irq gsi: 15, irq: 15, idx: 14, ioapic: 0, pin: 15
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 24, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 25, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 26, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 27, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 28, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 29, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 30, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 31, nr_irqs: 1096
> [    0.186111] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 32, nr_irqs: 1096
> [    0.188491] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 33, nr_irqs: 1096
> [    0.188491] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 34, nr_irqs: 1096
> [    0.188491] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 35, nr_irqs: 1096
> [    0.188491] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 36, nr_irqs: 1096
> [    0.188491] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 37, nr_irqs: 1096
> [    0.192282] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 38, nr_irqs: 1096
> [    0.192282] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 39, nr_irqs: 1096
> [    0.192282] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 40, nr_irqs: 1096
> [    0.192282] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 41, nr_irqs: 1096
> [    0.192282] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 42, nr_irqs: 1096
> [    0.196208] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 43, nr_irqs: 1096
> [    0.196208] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 44, nr_irqs: 1096
> [    0.196208] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 45, nr_irqs: 1096
> [    0.196208] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 46, nr_irqs: 1096
> [    0.196208] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 47, nr_irqs: 1096
> [    0.198199] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 48, nr_irqs: 1096
> [    0.198416] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 49, nr_irqs: 1096
> [    0.198460] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 50, nr_irqs: 1096
> [    0.198489] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 51, nr_irqs: 1096
> [    0.198523] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 52, nr_irqs: 1096
> [    0.201315] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 53, nr_irqs: 1096
> [    0.202174] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 54, nr_irqs: 1096
> [    0.202225] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 55, nr_irqs: 1096
> [    0.202259] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 56, nr_irqs: 1096
> [    0.202291] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 57, nr_irqs: 1096
> [    0.205239] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 58, nr_irqs: 1096
> [    0.205239] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 59, nr_irqs: 1096
> [    0.205239] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 60, nr_irqs: 1096
> [    0.205239] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 61, nr_irqs: 1096
> [    0.205239] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 62, nr_irqs: 1096
> [    0.208653] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 63, nr_irqs: 1096
> [    0.208653] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 64, nr_irqs: 1096
> [    0.208653] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 65, nr_irqs: 1096
> [    0.208653] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 66, nr_irqs: 1096
> [    0.208653] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 67, nr_irqs: 1096
> [    0.210169] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 68, nr_irqs: 1096
> [    0.210322] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 69, nr_irqs: 1096
> [    0.210370] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 70, nr_irqs: 1096
> [    0.210403] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 71, nr_irqs: 1096
> [    0.210436] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 72, nr_irqs: 1096
> [    0.213190] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 73, nr_irqs: 1096
> [    0.213190] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 74, nr_irqs: 1096
> [    0.213190] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 75, nr_irqs: 1096
> [    0.213190] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 76, nr_irqs: 1096
> [    0.214151] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 77, nr_irqs: 1096
> [    0.217075] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 78, nr_irqs: 1096
> [    0.217075] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 79, nr_irqs: 1096
> [    0.217075] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 80, nr_irqs: 1096
> [    0.217075] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 81, nr_irqs: 1096
> [    0.217075] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 82, nr_irqs: 1096
> [    0.220389] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 83, nr_irqs: 1096
> [    0.220389] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 84, nr_irqs: 1096
> [    0.220389] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 85, nr_irqs: 1096
> [    0.220389] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 86, nr_irqs: 1096
> [    0.220389] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 87, nr_irqs: 1096
> [    0.222215] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 88, nr_irqs: 1096
> [    0.222366] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 89, nr_irqs: 1096
> [    0.222410] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 90, nr_irqs: 1096
> [    0.222447] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 91, nr_irqs: 1096
> [    0.222478] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 92, nr_irqs: 1096
> [    0.225490] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 93, nr_irqs: 1096
> [    0.226225] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 94, nr_irqs: 1096
> [    0.226268] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 95, nr_irqs: 1096
> [    0.226300] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 96, nr_irqs: 1096
> [    0.226329] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 97, nr_irqs: 1096
> [    0.229057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 98, nr_irqs: 1096
> [    0.229057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 99, nr_irqs: 1096
> [    0.229057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 100, nr_irqs: 1096
> [    0.229057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 101, nr_irqs: 1096
> [    0.229057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 102, nr_irqs: 1096
> [    0.232399] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 103, nr_irqs: 1096
> [    0.248854] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 104, nr_irqs: 1096
> [    0.250609] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 105, nr_irqs: 1096
> [    0.372343] cjq_debug mp_map_pin_to_irq gsi: 9, irq: 9, idx: 1, ioapic: 0, pin: 9
> [    0.720950] cjq_debug mp_map_pin_to_irq gsi: 8, irq: 8, idx: 8, ioapic: 0, pin: 8
> [    0.721052] cjq_debug mp_map_pin_to_irq gsi: 13, irq: 13, idx: 12, ioapic: 0, pin: 13
> [    1.254825] cjq_debug mp_map_pin_to_irq gsi: 7, irq: -16, idx: 7, ioapic: 0, pin: 7
> [    1.333081] cjq_debug mp_map_pin_to_irq gsi: 1, irq: 1, idx: 2, ioapic: 0, pin: 1
> [    1.375882] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 106, nr_irqs: 1096
> [    1.375951] cjq_debug mp_map_pin_to_irq gsi: 32, irq: 106, idx: -1, ioapic: 1, pin: 8
> [    1.376072] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 107, nr_irqs: 1096
> [    1.376121] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 107, idx: -1, ioapic: 1, pin: 13
> [    1.472551] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 107, idx: -1, ioapic: 1, pin: 13
> [    1.472697] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 107, nr_irqs: 1096
> [    1.472751] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 107, idx: -1, ioapic: 1, pin: 14
> [    1.484290] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 107, idx: -1, ioapic: 1, pin: 14
> [    1.768163] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 107, nr_irqs: 1096
> [    1.768627] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 108, nr_irqs: 1096
> [    1.769059] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 109, nr_irqs: 1096
> [    1.769694] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 110, nr_irqs: 1096
> [    1.770169] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 111, nr_irqs: 1096
> [    1.770697] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 112, nr_irqs: 1096
> [    1.770738] cjq_debug mp_map_pin_to_irq gsi: 28, irq: 112, idx: -1, ioapic: 1, pin: 4
> [    1.770789] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 113, nr_irqs: 1096
> [    1.771230] cjq_debug mp_map_pin_to_irq gsi: 28, irq: 112, idx: -1, ioapic: 1, pin: 4
> [    1.771278] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 114, nr_irqs: 1096
> [    2.127884] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 115, nr_irqs: 1096
> [    3.207419] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 116, nr_irqs: 1096
> [    3.207730] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 116, idx: -1, ioapic: 1, pin: 13
> [    3.208120] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 117, nr_irqs: 1096
> [    3.208475] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 117, idx: -1, ioapic: 1, pin: 12
> [    3.208478] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 118, nr_irqs: 1096
> [    3.208861] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 116, idx: -1, ioapic: 1, pin: 13
> [    3.208933] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 119, nr_irqs: 1096
> [    3.209127] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 120, nr_irqs: 1096
> [    3.209383] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 121, nr_irqs: 1096
> [    3.209863] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 122, nr_irqs: 1096
> [    3.211439] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 123, nr_irqs: 1096
> [    3.211833] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 124, nr_irqs: 1096
> [    3.212873] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 125, nr_irqs: 1096
> [    3.243514] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 126, nr_irqs: 1096
> [    3.243689] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 126, idx: -1, ioapic: 1, pin: 14
> [    3.244293] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 127, nr_irqs: 1096
> [    3.244534] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 128, nr_irqs: 1096
> [    3.244714] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 129, nr_irqs: 1096
> [    3.244911] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 130, nr_irqs: 1096
> [    3.245096] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 131, nr_irqs: 1096
> [    3.245633] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 132, nr_irqs: 1096
> [    3.247890] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 133, nr_irqs: 1096
> [    3.248192] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 134, nr_irqs: 1096
> [    3.271093] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 135, nr_irqs: 1096
> [    3.307045] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 136, nr_irqs: 1096
> [    3.307162] cjq_debug mp_map_pin_to_irq gsi: 48, irq: 136, idx: -1, ioapic: 1, pin: 24
> [    3.307223] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 137, nr_irqs: 1096
> [    3.331183] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 137, nr_irqs: 1096
> [    3.331295] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 138, nr_irqs: 1096
> [    3.331366] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 139, nr_irqs: 1096
> [    3.331438] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 140, nr_irqs: 1096
> [    3.331511] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 141, nr_irqs: 1096
> [    3.331579] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 142, nr_irqs: 1096
> [    3.331646] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 143, nr_irqs: 1096
> [    3.331713] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 144, nr_irqs: 1096
> [    3.331780] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 145, nr_irqs: 1096
> [    3.331846] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 146, nr_irqs: 1096
> [    3.331913] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 147, nr_irqs: 1096
> [    3.331984] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 148, nr_irqs: 1096
> [    3.332051] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 149, nr_irqs: 1096
> [    3.332118] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 150, nr_irqs: 1096
> [    3.332183] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 151, nr_irqs: 1096
> [    3.332252] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 152, nr_irqs: 1096
> [    3.332319] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 153, nr_irqs: 1096
> [    8.010370] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 116, idx: -1, ioapic: 1, pin: 13
> [    9.545439] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 117, idx: -1, ioapic: 1, pin: 12
> [    9.545713] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 154, nr_irqs: 1096
> [    9.546034] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 155, nr_irqs: 1096
> [    9.687796] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 156, nr_irqs: 1096
> [    9.687979] cjq_debug mp_map_pin_to_irq gsi: 39, irq: 156, idx: -1, ioapic: 1, pin: 15
> [    9.688057] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 157, nr_irqs: 1096
> [    9.921038] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 158, nr_irqs: 1096
> [    9.921210] cjq_debug mp_map_pin_to_irq gsi: 29, irq: 158, idx: -1, ioapic: 1, pin: 5
> [    9.921403] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 159, nr_irqs: 1096
> [    9.926373] cjq_debug mp_map_pin_to_irq gsi: 39, irq: 156, idx: -1, ioapic: 1, pin: 15
> [    9.926747] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 160, nr_irqs: 1096
> [    9.928201] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 117, idx: -1, ioapic: 1, pin: 12
> [    9.928488] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 161, nr_irqs: 1096
> [   10.653915] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 162, nr_irqs: 1096
> [   10.656257] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 163, nr_irqs: 1096
> 
> You can find that the allocation of irq is not always based on the value of gsi. It follows the principle of requesting first, distributing first, like gsi 32 get 106 but gsi 28 get 112. And not only acpi_register_gsi_ioapic() will call into __irq_alloc_descs, but other functions will call, even earlier.
> Above output is like baremetal. So, we can get conclusion irq != gsi. See below output on linux:

It does seem weird to me that it does identity map legacy IRQs (<16),
but then for GSI >= 16 it starts assigning IRQs in the 100 range.

What uses the IRQ range [24, 105]?

Also IIRC on a PV dom0 GSIs are identity mapped to IRQs on Linux?  Or
maybe that's just a side effect of GSIs being identity mapped into
PIRQs by Xen?

> [    0.105053] cjq_debug mp_map_pin_to_irq gsi: 1, irq: 1, idx: 2, ioapic: 0, pin: 1
> [    0.105061] cjq_debug mp_map_pin_to_irq gsi: 2, irq: 0, idx: 0, ioapic: 0, pin: 2
> [    0.105069] cjq_debug mp_map_pin_to_irq gsi: 3, irq: 3, idx: 3, ioapic: 0, pin: 3
> [    0.105078] cjq_debug mp_map_pin_to_irq gsi: 4, irq: 4, idx: 4, ioapic: 0, pin: 4
> [    0.105086] cjq_debug mp_map_pin_to_irq gsi: 5, irq: 5, idx: 5, ioapic: 0, pin: 5
> [    0.105094] cjq_debug mp_map_pin_to_irq gsi: 6, irq: 6, idx: 6, ioapic: 0, pin: 6
> [    0.105103] cjq_debug mp_map_pin_to_irq gsi: 7, irq: 7, idx: 7, ioapic: 0, pin: 7
> [    0.105111] cjq_debug mp_map_pin_to_irq gsi: 8, irq: 8, idx: 8, ioapic: 0, pin: 8
> [    0.105119] cjq_debug mp_map_pin_to_irq gsi: 9, irq: 9, idx: 1, ioapic: 0, pin: 9
> [    0.105127] cjq_debug mp_map_pin_to_irq gsi: 10, irq: 10, idx: 9, ioapic: 0, pin: 10
> [    0.105136] cjq_debug mp_map_pin_to_irq gsi: 11, irq: 11, idx: 10, ioapic: 0, pin: 11
> [    0.105144] cjq_debug mp_map_pin_to_irq gsi: 12, irq: 12, idx: 11, ioapic: 0, pin: 12
> [    0.105152] cjq_debug mp_map_pin_to_irq gsi: 13, irq: 13, idx: 12, ioapic: 0, pin: 13
> [    0.105160] cjq_debug mp_map_pin_to_irq gsi: 14, irq: 14, idx: 13, ioapic: 0, pin: 14
> [    0.105169] cjq_debug mp_map_pin_to_irq gsi: 15, irq: 15, idx: 14, ioapic: 0, pin: 15
> [    0.398134] cjq_debug mp_map_pin_to_irq gsi: 9, irq: 9, idx: 1, ioapic: 0, pin: 9
> [    1.169293] cjq_debug mp_map_pin_to_irq gsi: 8, irq: 8, idx: 8, ioapic: 0, pin: 8
> [    1.169394] cjq_debug mp_map_pin_to_irq gsi: 13, irq: 13, idx: 12, ioapic: 0, pin: 13
> [    1.323132] cjq_debug mp_map_pin_to_irq gsi: 7, irq: 7, idx: 7, ioapic: 0, pin: 7
> [    1.345425] cjq_debug mp_map_pin_to_irq gsi: 1, irq: 1, idx: 2, ioapic: 0, pin: 1
> [    1.375502] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 24, nr_irqs: 1096
> [    1.375575] cjq_debug mp_map_pin_to_irq gsi: 32, irq: 24, idx: -1, ioapic: 1, pin: 8
> [    1.375661] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 25, nr_irqs: 1096
> [    1.375705] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 25, idx: -1, ioapic: 1, pin: 13
> [    1.442277] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 25, idx: -1, ioapic: 1, pin: 13
> [    1.442393] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 25, nr_irqs: 1096
> [    1.442450] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 25, idx: -1, ioapic: 1, pin: 14
> [    1.453893] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 25, idx: -1, ioapic: 1, pin: 14
> [    1.456127] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 25, nr_irqs: 1096
> [    1.734065] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 26, nr_irqs: 1096
> [    1.734165] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 27, nr_irqs: 1096
> [    1.734253] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 28, nr_irqs: 1096
> [    1.734344] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 29, nr_irqs: 1096
> [    1.734426] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 30, nr_irqs: 1096
> [    1.734512] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 31, nr_irqs: 1096
> [    1.734597] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 32, nr_irqs: 1096
> [    1.734643] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 33, nr_irqs: 1096
> [    1.734687] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 34, nr_irqs: 1096
> [    1.734728] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 35, nr_irqs: 1096
> [    1.735017] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 36, nr_irqs: 1096
> [    1.735252] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 37, nr_irqs: 1096
> [    1.735467] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 38, nr_irqs: 1096
> [    1.735799] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 39, nr_irqs: 1096
> [    1.736024] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 40, nr_irqs: 1096
> [    1.736364] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 41, nr_irqs: 1096
> [    1.736406] cjq_debug mp_map_pin_to_irq gsi: 28, irq: 41, idx: -1, ioapic: 1, pin: 4
> [    1.736434] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 42, nr_irqs: 1096
> [    1.736701] cjq_debug mp_map_pin_to_irq gsi: 28, irq: 41, idx: -1, ioapic: 1, pin: 4
> [    1.736724] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 43, nr_irqs: 1096
> [    3.037123] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 44, nr_irqs: 1096
> [    3.037313] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 44, idx: -1, ioapic: 1, pin: 13
> [    3.037515] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 44, idx: -1, ioapic: 1, pin: 13
> [    3.037738] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 45, nr_irqs: 1096
> [    3.037959] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 46, nr_irqs: 1096
> [    3.038073] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 47, nr_irqs: 1096
> [    3.038154] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 48, nr_irqs: 1096
> [    3.038179] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 47, idx: -1, ioapic: 1, pin: 12
> [    3.038277] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 49, nr_irqs: 1096
> [    3.038399] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 50, nr_irqs: 1096
> [    3.038525] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 51, nr_irqs: 1096
> [    3.038657] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 52, nr_irqs: 1096
> [    3.038852] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 53, nr_irqs: 1096
> [    3.052377] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 54, nr_irqs: 1096
> [    3.052479] cjq_debug mp_map_pin_to_irq gsi: 38, irq: 54, idx: -1, ioapic: 1, pin: 14
> [    3.052730] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 55, nr_irqs: 1096
> [    3.052840] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 56, nr_irqs: 1096
> [    3.052918] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 57, nr_irqs: 1096
> [    3.052987] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 58, nr_irqs: 1096
> [    3.053069] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 59, nr_irqs: 1096
> [    3.053139] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 60, nr_irqs: 1096
> [    3.053201] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 61, nr_irqs: 1096
> [    3.053260] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 62, nr_irqs: 1096
> [    3.089128] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 63, nr_irqs: 1096
> [    3.089310] cjq_debug mp_map_pin_to_irq gsi: 48, irq: 63, idx: -1, ioapic: 1, pin: 24
> [    3.089376] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 64, nr_irqs: 1096
> [    3.103435] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 65, nr_irqs: 1096
> [    3.114190] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 64, nr_irqs: 1096
> [    3.114346] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 66, nr_irqs: 1096
> [    3.121215] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 67, nr_irqs: 1096
> [    3.121350] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 68, nr_irqs: 1096
> [    3.121479] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 69, nr_irqs: 1096
> [    3.121612] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 70, nr_irqs: 1096
> [    3.121726] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 71, nr_irqs: 1096
> [    3.121841] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 72, nr_irqs: 1096
> [    3.121955] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 73, nr_irqs: 1096
> [    3.122025] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 74, nr_irqs: 1096
> [    3.122093] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 75, nr_irqs: 1096
> [    3.122148] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 76, nr_irqs: 1096
> [    3.122203] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 77, nr_irqs: 1096
> [    3.122265] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 78, nr_irqs: 1096
> [    3.122322] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 79, nr_irqs: 1096
> [    3.122378] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 80, nr_irqs: 1096
> [    3.122433] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: 0, start: 81, nr_irqs: 1096
> [    7.838753] cjq_debug mp_map_pin_to_irq gsi: 37, irq: 44, idx: -1, ioapic: 1, pin: 13
> [    9.619174] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 47, idx: -1, ioapic: 1, pin: 12
> [    9.619556] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 82, nr_irqs: 1096
> [    9.622038] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 83, nr_irqs: 1096
> [    9.634900] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 84, nr_irqs: 1096
> [    9.635316] cjq_debug mp_map_pin_to_irq gsi: 39, irq: 84, idx: -1, ioapic: 1, pin: 15
> [    9.635405] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 85, nr_irqs: 1096
> [   10.006686] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 86, nr_irqs: 1096
> [   10.006823] cjq_debug mp_map_pin_to_irq gsi: 29, irq: 86, idx: -1, ioapic: 1, pin: 5
> [   10.007009] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 87, nr_irqs: 1096
> [   10.008723] cjq_debug mp_map_pin_to_irq gsi: 39, irq: 84, idx: -1, ioapic: 1, pin: 15
> [   10.009853] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 88, nr_irqs: 1096
> [   10.010786] cjq_debug mp_map_pin_to_irq gsi: 36, irq: 47, idx: -1, ioapic: 1, pin: 12
> [   10.010858] cjq_debug __irq_alloc_descs irq: -1, from: 24, cnt: 1, node: -1, start: 89, nr_irqs: 1096
> 
> 2. Why I do the translations between irq and gsi?
> 
> After answering question 1, we get irq != gsi. And I found, in QEMU, (pci_qdev_realize->xen_pt_realize->xen_host_pci_device_get->xen_host_pci_get_hex_value) will get the irq number, but later, pci_qdev_realize->xen_pt_realize->xc_physdev_map_pirq requires us to pass into gsi,

So that's quite a difference.  For some reason on a PV dom0
xen_host_pci_get_hex_value will return the IRQ that's identity mapped
to the GSI.

Is that because a PV dom0 will use acpi_register_gsi_xen() instead of
acpi_register_gsi_ioapic()?

> it will call into Xen physdev_map_pirq-> allocate_and_map_gsi_pirq to allocate pirq for gsi. And then the error occurred.
> Not only that, the callback function pci_add_dm_done-> xc_physdev_map_pirq also need gsi.
> 
> So, I added the function xc_physdev_map_pirq() to translate irq to gsi, for QEMU.
> 
> And I didn't find similar functions in existing linux codes, and I think only "QEMU passthrough for Xen" need this translation, so I added it into privcmd. If you guys know any other similar functions or other more suitable places, please feel free to tell me.
> 
> 3. Why I call PHYSDEVOP_map_pirq in acpi_register_gsi_xen_pvh()?
> 
> Because if you want to map a gsi for domU, it must have a mapping in dom0. See QEMU code:
> pci_add_dm_done
> 	xc_physdev_map_pirq
> 	xc_domain_irq_permission
> 		XEN_DOMCTL_irq_permission
> 			pirq_access_permitted
> xc_physdev_map_pirq will get the pirq which mapped from gsi, and xc_domain_irq_permission will use pirq and call into Xen. If we don't do PHYSDEVOP_map_pirq for passthrough devices on PVH dom0, then pirq_access_permitted will get a NULL irq from dom0 and get failed.

I'm not sure of this specific case, but we shouldn't attempt to fit
the same exact PCI pass through workflow that a PV dom0 uses into a
PVH dom0.  IOW: it might make sense to diverge some paths in order to
avoid importing PV specific concepts into PVH without a reason.

> So, I added PHYSDEVOP_map_pirq for PVH dom0. But I think it is only necessary for passthrough devices to do that, instead of all devices which call __acpi_register_gsi. In next version patch, I will restrain that only passthrough devices can do PHYSDEVOP_map_pirq.
> 
> 4. Why I call PHYSDEVOP_setup_gsi in acpi_register_gsi_xen_pvh()?
> 
> Like Roger's comments, the gsi of passthrough device doesn't be unmasked and registered(I added printings in vioapic_hwdom_map_gsi(), and I found that it never be called for dGPU with gsi 28 in my environment).
> So, I called PHYSDEVOP_setup_gsi to register gsi.
> But I agree with Roger and Jan's opinion, it is wrong to do PHYSDEVOP_setup_gsi for all devices.
> So, in next version patch, I will also restrain that only passthrough devices can do PHYSDEVOP_setup_gsi.

Right, given how long it's been since the last series, I think we need
a new series posted in order to see how this looks now.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 09:01:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 09:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589071.920791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjjd-0006kq-Sb; Wed, 23 Aug 2023 09:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589071.920791; Wed, 23 Aug 2023 09:01:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjjd-0006kj-Pp; Wed, 23 Aug 2023 09:01:05 +0000
Received: by outflank-mailman (input) for mailman id 589071;
 Wed, 23 Aug 2023 09:01: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 1qYjjc-0006kd-8V
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 09:01: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 1qYjjb-0002kB-Bi; Wed, 23 Aug 2023 09:01:03 +0000
Received: from [15.248.3.2] (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 1qYjjb-0004iq-47; Wed, 23 Aug 2023 09:01:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=c8wHa6JANL2FiH/aVKCtcCVMUHoBM7HfCik9d/XFX5Y=; b=D7xxXKfZ7qigBVHPICV3atwq1n
	Fmzcf+EYfTgqUsNkg3yTu9Wfyoq9gaUU1q71DKeU6fMklfcUQEtnSBOrV8CpVI9N9gAiTLxdfrUo4
	LK/xXdvh93pV1nPWNz66fLqifBp06M8U7rN4taSz89+px1nejL+Y1nKhOc0SWgGm3TrU=;
Message-ID: <19addc0d-973f-4c3a-8db5-0531e065fdde@xen.org>
Date: Wed, 23 Aug 2023 10:01:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs/misra: add rule 2.1 exceptions
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230823002458.2738365-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230823002458.2738365-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 23/08/2023 01:24, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptable of Rule 2.1, we
> decided on a few exceptions that were not properly recorded in
> rules.rst. Add them now.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>   docs/misra/rules.rst | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index b6d87e076b..8f38227994 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -107,7 +107,18 @@ maintainers if you want to suggest a change.
>      * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>        - Required
>        - A project shall not contain unreachable code
> -     -
> +     - The following are allowed:
> +         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
> +         - Switch with a controlling value statically determined not to
> +           match one or more case statements
> +         - Functions that are intended to be never referenced from C
> +           code (e.g. 'do_trap_fiq')
> +         - Unreachability caused by the certain macros/functions is
> +           deliberate, e.g. BUG, assert_failed, panic, etc.

I find the wording quite ambiguous. How will an assessor be able to know 
this is deliberate? I think it would be better if this is based on a 
keyword in the code such as a function that has the attribute noreturn 
and/or there is an unreachable() statement.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 09:14:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 09:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589087.920806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYjwM-00008e-Vr; Wed, 23 Aug 2023 09:14:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589087.920806; Wed, 23 Aug 2023 09: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 1qYjwM-00008X-Ri; Wed, 23 Aug 2023 09:14:14 +0000
Received: by outflank-mailman (input) for mailman id 589087;
 Wed, 23 Aug 2023 09: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=dmRg=EI=citrix.com=prvs=59206e676=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYjwL-00008R-Er
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 09:14:13 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b8be907-4195-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 11:14:11 +0200 (CEST)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 05:14:07 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by MW4PR03MB6377.namprd03.prod.outlook.com (2603:10b6:303:11c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 09:14:02 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 09:14: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: 6b8be907-4195-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692782052;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=taVnE1srKcTCboeXj1Qk/3/nnqIiigyrNjsu3lFpvPo=;
  b=cmKXk0zPw9+m7pAZzkGphfylVs//9O17nPsjYoAxYFO3N2vmsL/87K+p
   QFNGggl3M5K5+W+q0UDDtd4oIcJg+i8dNMKAhcgnK7Z8th3s9v0DCh5/K
   wGoUs6dGp3dQXn5JGXAokM0qIY9ASQ184bbzeCHPmdnsgcwRZfNBNbgT0
   A=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 119630562
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Wg8jGa3zcF/0h8fCrPbD5TRwkn2cJEfYwER7XKvMYLTBsI5bpzAFy
 2sdW2qEaKmOYjH2KN1zOo6z8hgFvJ7QzoRjTAQ4pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb8XuDgNyo4GlD5gxkPqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfUT9A2
 NgqNiw3YxWahvKWh6m0Vct1r5F2RCXrFNt3VnBI6xj8VK9jareaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6Kk1QZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r1376RxnumBth6+LuQ+eFGuwXUwEspUjI2Fl+WvtKYhki9cocKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS8wCIzaz84gCHB3MFRDpMdNwnssAtQTUgk
 FSOmrvBGjhHoLCTD3WH+d+8qDqoPCEPIGwqZCkaTBAE6d3uvIEyiB3USt9pVqWyi7XdCTz2h
 jyHsiU6r7ESltIQkbW2+0jdhDChrYSPSRQ6jjg7RUqg5wJ9IYWiPoqh7AGC6e4addnBCF6co
 HIDhs6SqvgUCo2AnzCMR+NLG6y14/GCM3vXhlsH84QdyglBMkWLJeh4iAyS7m81WirYUVcFu
 HPuhD4=
IronPort-HdrOrdr: A9a23:JVkPl6yUBNB0soOSv0poKrPw2r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726TtN91YhsdcL+7V5VoLUmzyXcx2/hyAV7AZniAhILLFvAA0WKK+VSJdxEWtNQtsJ
 uIG5IUNDSaNykfsS+V2miF+9ZL+qj5zEir792usUuEm2tRGtBdBwQSMHfqLqVvLjM2fKbQjP
 Cnl7d6TzzLQwVuUu2LQkMrcsLkvNPxmJfvcXc9dmIaAFnnt0LS1FbieSLopCsjbw==
X-Talos-CUID: =?us-ascii?q?9a23=3AkJXPIGu+CtTNGkcuOELlybGY6It1LHPw6EXOP3W?=
 =?us-ascii?q?1DH9oWJ3SUlCP2rpNxp8=3D?=
X-Talos-MUID: 9a23:aKuVMAQdWRyTX0gHRXTjmx1ZbIBuxJ70J2BOlbgZkOiIMy9ZbmI=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="119630562"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H6sqK6K5lsi5jp1A+kuALp5hCdrkkzx+uxgn1rizM+5rJnxiFoch+3PqLVxU4fNdzQ8h4+DiItIHQ0wThRSg0iw3hFsO1udh+h9j5s3z3+pJW+lE1Nid+4g8Q1ZAgOLHKAtv5J8HDUnLtX6d47ct+w8xXryIbTMmJccvE4gxVRw06vuwqaG5GQgt8qMvDgeApDhEc8DXAK2lqRWSK+C1cKfuZ/TOD6Za6OqCKhaha9JiuVXuq9iVlqh38hN+TCP5EYReSst5OWDUGMv1+FaxjNVe3Vvg9CeRrffmMbe43y9RyGWw84s1LhJ54p/uNIWVvTXrl9FpPWpsXmrE031SsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kobuQxGY/jhkcbYwpQ8DfphLWkB4zKrJTYceNw4LwDE=;
 b=AbkYRes52DQ76Q1CvNJLF4h4pAxrGp8593KudgJKGtqhRAX/p+aPTcH3lukg3zLNTEQpvxMW8zbdYhMLXm9epfZ85vUFJL7YO9fN+d4hJ0rdij24ZrmIQtlg9gxiso9XXilh5B709VCkmFx6WMAhcTNICrH2wcwx9JP0wcI1H6Gz++PID/fk2XMP8WvL/RSdJpYSIi9fBh/iNHyU2Q77M/8PADESlp0mSYu3W3kdO4lo0smSHeltugzdgMkRqJuXv1QKCUykCraJDue9ZK15siTn9+6MGOy2r9Qiv4SmAsEQBMXgTkwoQxle6ZL3i1910At6HIpgr6eg710aBc/J4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kobuQxGY/jhkcbYwpQ8DfphLWkB4zKrJTYceNw4LwDE=;
 b=AjrXhua5V7N8r2TdIByRtY+vg9UcQ9d1HWz7+ruJhIHvxPSuNGXSMHnPKzGJf6dfDruNT8Ix3eXJPD20P4v6edQzClzesXbrebNCd51QC7ZA5PqRcpUYx0okB5l7Ec6S9SgmpGQSpyAMG9dZLTYaR7aq4MdKCyqHCJcqTNoaytE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 23 Aug 2023 11:13:56 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Simon Gaiser <simon@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Message-ID: <ZOXN1MDWvzW_Pjxg@MacBook-Air-de-Roger.local>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
X-ClientProxiedBy: LNXP265CA0018.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5e::30) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|MW4PR03MB6377:EE_
X-MS-Office365-Filtering-Correlation-Id: cc979212-a734-4dec-ffca-08dba3b94a88
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PqmE7RGxrWQUGW2MGLDEZ22eI4d3Tgb35dRxYZyclfr+tMrOtsnQMegI5R/bOK/E481F5H2+4nsj7NIYKbhSNNuTN7zBoldhNgz2a2uJA7jUrBoWg733d9oQNwPKV1i0ra+swb6L3ua5mXAKOVZKoINmeD2GGJ6RdUqmXfVssRmQoeU3ACbjkwuwnffkn4MqVtT0F8iGiiU9cbHr4gxcgMp4bvziugYblonPeJ3FnI6M5VISvUxYsk6Tx1V//hq4h5ndE+aTPZBFQ49ClXphwodUp63ads4hUR7ErVhy5neyAkDyYoSQmWK4q8Xohqg3vCD0SixaPBQTSmKoxCzvSvvkqGyXmF7FErGzr9X+2ButVyum5ppApCzPdgCdqjPqaBokA4temXnkGBOI1YYhG4kASr6wrWqnk6yag0BJc4K/BaNYTKC10dp04TEIySCXmS91GRlUdLGep3iDdOkJsgcK5cmO0g/ITOF4w2iugL4UclE0C9vmkwIkUeFhA2q3NSLD7Vj/aZz24VxyuAIziMIP6Kw/xps55T6qyiPLsmHaS7QmIiU2U0OqHVF30XrA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66556008)(66946007)(6512007)(9686003)(316002)(82960400001)(8676002)(8936002)(4326008)(41300700001)(85182001)(478600001)(6666004)(38100700002)(6506007)(6486002)(53546011)(83380400001)(4744005)(2906002)(86362001)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjQ5VnJ1d2xVeERjczlENWRDMUZubGtpc1VhMHAvcFVCa2ErNnI3S3Q5SEZx?=
 =?utf-8?B?dEVweEZCTFRiZGJRQWZiTTVRZ3RWZXplZ1BqT3NmY3RHM0x6eUV1STEraVdv?=
 =?utf-8?B?d3BHQ3JjUjREblhMeU5adUgzbHdRZmhWMVN0blVEWGJxeGsyTXczS0YwM1FR?=
 =?utf-8?B?UGFBRThLMjdUR1RKRTluUFk3eW1Na3BEQnJLUDByR0R4UDNyUGVMLzlMSmJB?=
 =?utf-8?B?cXRCc3FPY2xPeGlucTJOdmdFZFVQazd4V3F5bUdQNE96Q0ZjMXFnR1BqempI?=
 =?utf-8?B?SzNCWGgxMnVWZG9WMUVRTG5seDZteStvckVHU1dnaTdaMmZ2b2FxZVhueDh1?=
 =?utf-8?B?czdLbURvaENhOVZ3Q2Y2bUtGR3lZUTlGTEpjQUFnaktVT1NhaEdWem1wbDlr?=
 =?utf-8?B?SVhnUTVrYUNVYWMzT0ZoM3UyOUYrN3Z2QnF6R0NqMUhCZGxlaVdCbVk5RnlK?=
 =?utf-8?B?UzZpTUNNWFFMWDFYTTMrVVVoR1FaVS9TWFVzdlNjZ0M3OHJ0NzdRNFBsaXZh?=
 =?utf-8?B?bm5WTmZLQUtmaUVpSEVBRDF3OFZOTVhJUURzSUVLNW1xenhUeVFSUmhFSXZn?=
 =?utf-8?B?RStEU2xwTEs1cXRNMmVxQXFOMSt2aVVpK3RKTlJSSFg0MHExbXVveTlWNWlB?=
 =?utf-8?B?SHpMWmlSQ1hwN216YUhRaGdlWENrTklvUDdsQkU1d3RKaGFxR2xySFhOZHNO?=
 =?utf-8?B?ckFST2ZaODFaR21ySFJ1NTkwelRhTlF4SjZEMGRaM1JQN1c3TW0vZzZ3U1hv?=
 =?utf-8?B?ZFYvSEozK2tVdlIxZTVNSnNxbFF3ekJSazFyN0QybHd2dUt6ZldBYnJFR0gv?=
 =?utf-8?B?cFp1UzRIT0RDc1VxNDhSN3R2bXk0S1NoVnE4SmNXaktuTW5nU2FYdldnaDFG?=
 =?utf-8?B?anhYanpoWVYxTnhzajlnK0xLRFR0WnNvbHVhN3IwMUJ0OW5DMkE4WW1DSUor?=
 =?utf-8?B?UFp5V0VSY2lJSU1SVTViSmhvQjdLK2p0NWJka3NnNHR0emUrUVpIMkdRYVl2?=
 =?utf-8?B?eXVwUTZnSXgvcTJnRCtMYjd4c3U2cEtaQVQ0ZjZKTTVkaEJRWDVzNkhSNHo5?=
 =?utf-8?B?K1BnZnNDNDl1b0lNZHg2eUpBVjloSldwS0YvZStBQlBTV003c3lrckJyVGV0?=
 =?utf-8?B?cGozSmRISW1uQ0FPdVVEOWl6NXowZ1lwRzMva2ZPdnlHMGYwK2FLcFY0WW41?=
 =?utf-8?B?UnVVekdzYXlGQnQzS3c2YkZsd2ptanBJL0xJMjVJekxnakNmdHlqMWVWQytK?=
 =?utf-8?B?V2JyUDRvTXRLaXZzeUlocEJDQ09WUHVIbEhvTlllVWowS2pTazk3bmZZMk9V?=
 =?utf-8?B?MHBrb0tNUlFHSVlqb0cxVUgvNHZPc2ZkSWpXSWwzdmRTeFJhN3JqV0tQdlRY?=
 =?utf-8?B?QUJFMDBhZDlsWDdDR2R1MVR5R1pza3E1NWdySG5YMDNVemZqampYOSt3TDBx?=
 =?utf-8?B?NlpFTW0zVmNYb0tseldwdEljZmhCazZCY2twVlhYa0xrNXZ2Y29WOXlQbkp1?=
 =?utf-8?B?aWNKam1xYjFXNGtqY1pDRWxmNE1Sb0FYOThUbGNob21USHlhaWIrRHpYTFNC?=
 =?utf-8?B?eWs2OWZWMWNjamtpMU5DUk41NWFFcmpyaGhsU2ltWVFOMkFxa0hkdHVHZGt2?=
 =?utf-8?B?MGpQUkd3NFI2NXlWaXBISHpyUTI3bFNDclNyWC9SSXdCbHo0RStrd1BUQ2w0?=
 =?utf-8?B?ZERtbjE2RXBnMlNnbHIrbVdnZ0JlRGdtZ2t4N0VnRzlQME5aOUJKR2hPc0RT?=
 =?utf-8?B?MDZYQ0dkYVBPQzUrK2Z1Zmt0ZVlkcFJHT2l2c3NqOXFEZDlqeGN3cUpZNEpL?=
 =?utf-8?B?YSs4QklXamRpQXBJcURIWmdSdXkxZDVjdW43YlZkNVZMR2ZRbmxzY09yMkVw?=
 =?utf-8?B?MUVmTTlHdlBmdVpGWmVFZ0JUbnQxdUtjVDR0Y2dlTmR4eUZoOTVzbXpaTjhv?=
 =?utf-8?B?VzVEai8xYXcvbmdtWGFLN3FFb05XU2lpU3c3cFJYZmtpTHBud3JBR3BFVEND?=
 =?utf-8?B?d1RXVVNjSWlxUENIc0laMVNyNitGd0tQRkNqSW0wclFtcDNLQ2JDSjdWZ2Ex?=
 =?utf-8?B?bmxIQk5mQUN1VDd0YTNYRnBTdHRocVMyd2NSR3lkYlphNkNXRUljUkt1emJ6?=
 =?utf-8?B?ZU1lc2RVemlXUkVsR2xLTEFJVis2LzNReXhuckJLZTdHRzczMExJWldHbU5H?=
 =?utf-8?B?ckE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jmmxyfHJKzVjpP9zx7FNY5YOclS0+F0H/3pVaw2+xIBtbcJsxUul4x9Y6AGIyVvX6e62Pn3oxj8C7Z137DiOnngSjM7YZ6O2VQ/+fADqjyIe53UTUZUpJ7LHRSLCQYXzvgZXh7cp9dVF4/c4ZBe8wUuySJ/KWqsD146hZ4no7zlbeVwhKa52RbDlWcJRwCysmd9cY2hH8xN2A8W4MuRhq/SYYxkKzenNCvyvcae0v8QTitrnoQLjNP4N5hsW3jJjhXVMqAkxmJVVSp9bKFWJvWlgAvrySJoi/cGCkB84/+4ATv2c8cElGOLDNejI9WGe1zMTNLIUOxxS/ZL/WtN5MZqUGr6d8UOGmhSlQJ7RD7RaBn4VwbMOaeiC06bCfHB1tybMLGtIAXzID3zPjY+DuL/e6LkrFkGYS6DllMXT7ilRqZNpqbDaTL7gvkvBrw4c0eQCiiMuJXh9FDr3uGvgvTv363s8EuTx5jS7S9Om16yOXsmnBM/sxSwgLp2TUuJU07rfZi5dp88KKGsHirAMNrLpM1T/prZmdF/QVtbpC+3F+8GknjWzucOOf+Mni1pLHyFmM0eYFink0EDfYCR0hOKj4IJccot+Z2L40VOqYV6VHGmEYityln3NwhRSaR3wbDWi3yF/OoDJ0XQzhd5D70E5cPYlx1xRAT3KXjD1+WZY+eNF/4uBFz13GfYe0OXEBA8eDG7OMrUFfEnNhMT9Ycw1/j7t1ycWkCeiRL1vwGWBPpmuk2qkPomFtLYLL/9NNyhBoeYiBLxp3z3LXgAt0nF29AT5q7Z0NQbHx+Vprn1yLPL3eVR14cKZ4wrp6Bj3O0eKlYYLAad6S+v7We9PBI9IeuIqSxBxtZPjd+9Tmxf+G3phHhn9eLPGR5lRusjZ
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc979212-a734-4dec-ffca-08dba3b94a88
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 09:14:02.0875
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xN/132fjeDT69cwPqiQEuMIblrwh0Yea+hFWRC4NpAsws+OVLaXUNyqHWHeU/TxonP2rAwUB5nCSCCAb+tsyeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6377

On Mon, Aug 07, 2023 at 03:17:18PM +0200, Jan Beulich wrote:
> On 07.08.2023 14:55, Simon Gaiser wrote:
> > Jan Beulich:
> >> On 07.08.2023 11:38, Simon Gaiser wrote:
> >>> It seems some firmwares put dummy entries in the ACPI MADT table for non
> >>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
> >>> 0xff. Linux already has code to handle those cases both in
> >>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
> >>> same check to Xen.
> >>
> >> I'm afraid it doesn't become clear to me what problem you're trying to
> >> solve.
> > 
> > I want Xen to not think there are possible CPUs that actually never can
> > be there.
> 
> Did you try using "maxcpus=" on the command line? If that doesn't work
> well enough (perhaps because of causing undesirable log messages), maybe
> we need some way to say "no CPU hotplug" on the command line.

A Kconfig option to disable CPU hotplug at build time would also be
interesting IMO.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 09:21:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 09:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589094.920816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYk3F-0001pX-MU; Wed, 23 Aug 2023 09:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589094.920816; Wed, 23 Aug 2023 09:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYk3F-0001pQ-IW; Wed, 23 Aug 2023 09:21:21 +0000
Received: by outflank-mailman (input) for mailman id 589094;
 Wed, 23 Aug 2023 09:21: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=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYk3D-0001pK-AF
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 09:21:19 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6870db56-4196-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 11:21:16 +0200 (CEST)
Received: from mail-sn1nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 05:21:13 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by DS7PR03MB5592.namprd03.prod.outlook.com (2603:10b6:5:2c2::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 09:21:08 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2%5]) with mapi id 15.20.6699.026; Wed, 23 Aug 2023
 09:21:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6870db56-4196-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692782476;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WrSH3Zk7Y59xjaBOmCiILqLUlQVv9gVYPXkkZ/PzVrg=;
  b=ck9HoMcsmjE488UxqDcNjNMZgiViXGzrB/rWmkqaWg9fBZkzGJ0kQVeO
   7ZjAp4wPUdI+/IMeQRws47snK/Mqp9MSsl64TpKxF8nhKw/H0qTC6eoCV
   MYvKkUeemvE4FLU54kamzVLJXOwXmq9u20j/88RY0PH3jN0zt3Ax4VOGM
   U=;
X-IronPort-RemoteIP: 104.47.57.49
X-IronPort-MID: 120378320
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:s9hsrarkW2e6itrFUx7UTvSu4PVeBmLnZBIvgKrLsJaIsI4StFCzt
 garIBmGPP6CMGD0Ld9wPIqypkNVu5DRndViT1drr381EnsV95uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GpwUmAWP6gR5weOzSJNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADZOQk6Aveep+uyUFsZQq8AvEc7EOoxK7xmMzRmBZRonabbqZv2QoOR+hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeerbIu9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTirqU10AbJngT/DjUHW3W5m8aGlnW0UvBDN
 wtXqyMq95E9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQv3
 0WMlsnkBhRutqOUUnOX8rqIrTK0NjMRJGVEbigBJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7pdIE07WT+VHBni62oZ7IXkg5623/RWOg6QVRZYi7Zpep41zW8fZBKomCSlCL+
 nMDnqCjAPsmCJiMkGmWRrwLFbTxvfKdamWA0BhoAoUr8Cmr9zi7Z4dM7TpiJUBvdMEZZTvuZ
 0yVsgRUjHNOAEaXgWZMS9rZI6wXIWLITLwJiti8ggJyX6VM
IronPort-HdrOrdr: A9a23:jo3EUqh74b8LVfKas0A78SQqBHBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-Talos-CUID: 9a23:PXhe+2GBhRZsFqmsqmJht2JKGfogbUeD4yv/H2K8BVtuZ7uaHAo=
X-Talos-MUID: 9a23:AMPSSgRoSDWeWdCXRXT9ih9gDvhX/5+kAWIRjdJF6sCAbxV/bmI=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120378320"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MCBaHG82DxXVdXB8mNsIzcwio1Orr8L4vDh6m2nqZEIqtiGKJM7XKK9ixKmaUSePFbL1tcYqumgeVU0S0Hu6m+E0T7R2hvghUNMd4lA+2WgJo7HElTYakHealQchOXU1PlA5EPaO7fdlL2wBXYizfmhz+BOHDBPtGJ8Ng6YYHdEQFLei/tqs9zn78R7apiSSWZX+ekc8F3qj0i1Xyo3ewpICzl60vOUCrjdNfb1d1vP87HY44OaC+bWhnNpDD47rHL6gS9+jefeXRLOoLjThzGox1BRtnCOsqS3kEa2CQjDTlJOhBw0sEugLeSIhAjg0ULADjbFzG/6EgOKkXsnLlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WrSH3Zk7Y59xjaBOmCiILqLUlQVv9gVYPXkkZ/PzVrg=;
 b=D6CtaRhqW4bo2CkS6EjdG/OVn/wDS+M/QTKhSo1Luy3ikyyZCO1MpovTr22k3JjPdAx5y9JKwLyuJLWBFLN7VjSKwWCSAwB3uAy5u6unJU/vvqF/NR2p46QyJ2qgOQbnmF1CKiCS/sUUJvXdkXYilvT7Qrl0n1v93hEUDcGIDn9VMVweqCKJg4ZtyX5OJwJWmmJhUjsAZo/hF3MQ0Njx9LTBcyxMf0hzY4rfgdpJX/BLX3iPGGVjJCozjeDMuDiML2USAuJzDmvMGSV6xVXnT90GH7ljHAre1rhdPCI51zKOlBGkUsqUnqCXh92ndAYm6X/7eTYNRYfyFd9MQ0hCbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WrSH3Zk7Y59xjaBOmCiILqLUlQVv9gVYPXkkZ/PzVrg=;
 b=JWft8OPMCc17sbAxxP0yPXX4ujxfoxTgSU+2ON3gLppY1C7GgAXVfT/1GaoWNnhoV+rEf3e3Vv4WZsh15kTNg2BRyrP7D1/8NV1zJiprnuKtYCz3GhoKoTiLOQy0ZfXCUSK6G22gcYr0ALdNnxzp9iViKuFrWcLd150B1WOd8II=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
Date: Wed, 23 Aug 2023 10:21:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Thomas Gleixner <tglx@linutronix.de>,
 Simon Gaiser <simon@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
In-Reply-To: <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0622.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::7) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|DS7PR03MB5592:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d86fdc2-d2af-4b78-e635-08dba3ba4819
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d//fSa95FLYLEOFUP5DKQ4KRLL+3YkIMu+bIKBadWuCTsxU6+vlC6nI9NzdXbbRDX/AwiLQZW/Gzs58/xSf3cfxhc7Ztzk1tURH8OkR4PWHZisZQN1sS6wVx4ePya7WakuzLgQj8PfMIWFCCMVcHTNqvIXmHDXRivTWIomeTVi5MQ/Jhb7eh3ErzrA4z8gWmU1q0azzGOgHRdNJnO2TMRV4S0zBaB+6v8a/TDfVcCdYbFy/jCTioF/w7qw0ihn0quXH3B1Dl87KusPZs4L8tuOKjuq+JGqUjpBT7Oagc2Z49ku96kkUDJ4Eiqo6mDsYk1NDkn+A3PyWrOak1XAk2IQrYv9aLNlZ/Z7SN7sVJd+eVFQrkgNCZ7RgjQ7taBgLh+j0mhe8hXEXBgD++NPYsAwVYRpbNUQ/mLGgQAex3DIluS0ToxGBH03a1EvfWQg06vSM1SMUqJ0zRZ9cPG/j7JOV3y+E1QABVzUG+LwxBoAfmxRzqF2RuHFF0gjwWfztL4qnKSBt4uhHvA1r7etY5AUT95fu5vz5Rqgj6uj3tVX4tQdYgWNmdDEo2v/as64kvSthbYzW+VmNA3KDxEbucJVYW/WdMhzctdbDTGj83XlTG6AopZv/RKHtiiMgTPmaeuyF10pPCxDZHLVxpRbJ6RQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(136003)(346002)(366004)(186009)(451199024)(1800799009)(2616005)(6486002)(6506007)(316002)(6916009)(53546011)(4326008)(8676002)(8936002)(66946007)(66556008)(66476007)(54906003)(6512007)(41300700001)(26005)(5660300002)(6666004)(478600001)(31686004)(83380400001)(31696002)(36756003)(86362001)(82960400001)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Um1Xc2dsR2Rid2RZcEIvVVJuOWk1R1Y3VmhrU1lDZndnSmlWR0lKUnhiN3Fs?=
 =?utf-8?B?ZklYWkdodG9jYmd6dVhibGNEODJHTlR3amlYQVlpVmNiR0JVamlFMDRoZTVt?=
 =?utf-8?B?cmRsTFZZSlhCVVp3aG1uVDRQWUhWWVNLN09FQ1FMNW0xcWhRVVJHVXg0b3N6?=
 =?utf-8?B?bDdNNnluYVpRL1c4aGtnOEhUY3dMMzNvaGkyVmVnUGlJaEtBcXBPRVE2S3ds?=
 =?utf-8?B?K0xoVWpkR0RyTFM5dkFOczF4NEM4L3FjK3hFK2VRMUVQZnlwSjZXSXNmR1RP?=
 =?utf-8?B?ZVU1RFNodUhweDZKRzJyWmRTK3VGWmduN2hTZzlrQ1lKNXRIVzRIeWRQL3NY?=
 =?utf-8?B?LzJBRm93TGVKenEzNkd3eS9NU1E0MlZVQnI3b1Frc2c5Rk9kNm8vc1VUNDFr?=
 =?utf-8?B?SnlJVXJ0eUtIVDZ3dWF1NVdmRHpyL3Z6TlYzVllvc2JlZHllMlZtYzhadlVj?=
 =?utf-8?B?TzluU0NWblp4cGRGRVRmSWQ3OUo2ZlR6djgyYVJvWmFsNStTR2VxYXl3VEtq?=
 =?utf-8?B?L3dYVkpiU1JVOVAzWkNLZW9MRkVvYlppcFdNRGhFbWdYQmpSdU9GNXQxVmVy?=
 =?utf-8?B?ZGNDZGcyeGE2V1I2MjBGeVljUFlPdDVpWFYzZjBuUHI4TURSc1UzbHRUaXpR?=
 =?utf-8?B?OEIrdVVzNXNZdmdVN2FnRllwNmRVcENvSG1Ma2ZPcFpYQ1FkT1NZb1VRUUdU?=
 =?utf-8?B?SldCVmFvaUhQZ0NPZzBVU3crQnVZdDdQTFpMQ2Q0b1JMaEFSYkFpNFdVWk9i?=
 =?utf-8?B?b2tWbjlqUk9HdFlnYWI0Vm1JY1FQLzV0WnpqZzJMb3BaV0ZhenBLelhWZnQ5?=
 =?utf-8?B?RmxxeTZCWG9DSnVVbFlZNllKeFBUeVpXWUNiaTd1SGo0OXcyN0V0T2VJUlVU?=
 =?utf-8?B?QkpSbmhuZURYUVZBbG1oYU0vNThLcTJtSnVoTHhMRnNpQkNjdFVxeFBOd3pP?=
 =?utf-8?B?bzk1YnE1QUFWekp4OEJ6NFU0TmFmd1BobDRkK0dkWkRlbXV4NVE3RVpNb2hZ?=
 =?utf-8?B?V2xaNXR3ZTNldnNZb0g5NzRnd3htSTRMbWRJNHBlTWw5YkZCbDdPL2VCbmRU?=
 =?utf-8?B?a1NxQlNvL1l3cEpzMmpSc2FvQmdNVGVPUmpDbDl2Q3dQWklnSSt2c0dNT1d5?=
 =?utf-8?B?cFdRUy84UmU5ZFo2cDNUQksrOGNDSXR1MGpBbk9ucDMyZTJvTTRla1RVSGhY?=
 =?utf-8?B?alhCQ3dVbDh6eXNTblpzTDI3OTUzL0tIc0c1Y2VYM3N6bVpVdUtvejJycFcx?=
 =?utf-8?B?RHc5RmZ3cUdvVjlNQjlxRGJiYVFLaVhGRThFMEpTWVRWb0ZVY0NhZXFLZEFK?=
 =?utf-8?B?dkVxcTM1a0t1bHM1YUdvYkFoMmszTzZud25ibzNheVlsR21TN0RVY081dEhs?=
 =?utf-8?B?cTg4UnBoYXFGSHUrNGNFWmJQdmhWc1c2d0w0VWJhTENqOW55WDg4elVDT0FQ?=
 =?utf-8?B?cmNOY1pIK2hraXFvWkE1SHFldExRbFg2Qk5HdnJlQVVRR2Y3TUY5UlpFem9W?=
 =?utf-8?B?bzFpdS9OdkF5dG52MDl1RWEvU2Qrc0FDWTJ5N1JUQjQrU0RaWmJPU3Ntc0Nx?=
 =?utf-8?B?amhuYXM1OVZjVXJkZHZYTVNMRWVBamQvQktZNG9SRXNKYXc1U3ZCVnFpRWtt?=
 =?utf-8?B?Z2ZGVmVVQ2RELzN2d2YyckxXMFNhbHg3OWRpWEJQY3hTQWlaS2d3VFU0MWp1?=
 =?utf-8?B?cXpkRFR0dG04QnRSNDd2dXM5NTBxOEt0MjhzeSswK3MrblBWa1c2SW1jeEo4?=
 =?utf-8?B?OEJ2c2ZFNm5EOGR3c09vNGhYU0xuUnlUWURpRFNtc1doYzZnSUsrcUdEREVx?=
 =?utf-8?B?eEFkMVYyb2trcG1sZGd0YnlzZC91RmZUN1lRTUNGQXdrSXRKQWtFZG90dHJh?=
 =?utf-8?B?UjB4Rm5mSVlZcjJXR05WTGtnTjdyckZ2dHo0OVF1OFp6dTF6eDNGUWUvMkIw?=
 =?utf-8?B?QTJiZCsrL1E5RDFpdm4rWDFhRU42czArSE5ZTDd6c0JLSGw4RTdnR2ZpcjNx?=
 =?utf-8?B?QkVCNU04UEhOdHVuZUJ6Z2Z4WWNJR3FYRjFlNWh6OURVZWNYUGIxYlFYSVB0?=
 =?utf-8?B?ZFpWU2ZFMkFqV2dEMERud3pTSWtnV1dmNmlPc3hnY01ZSFY3OTU1RnlTZmRr?=
 =?utf-8?B?VG00UDIvc3hKVUR4MkNMWjM5QVNEdHV0Wll0VXBwRUUzblQrWFlQNFNPVnhJ?=
 =?utf-8?B?dFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	0nW1DjLpHUlRVf1fOxW+mfnQEAWUb+VoBCuF2BhvSyk8SW4d7zzdulqKvCwp8S9Ii7Sj8A1SJJJxgjyYeuulT8Tf1BD/WtnhkBc3g7PTkyAE7zWXTHHwHt97NQA+zRs3HkFQWx0+cybKI/LIfxuIxQsOEiRj8KTkNlLe2vT1TL+frf5Di2eOYuIyYhG5KHE8ECkM2maVfur9uopwF7brnGAmydIF/MSk/ZjDzheNcAWd6vJMbHF/Y0JIt3atX0ppOhFIfflUdNAtJlYM03I0jahmmJfFmpSHN3aeDxH1xWKiF7KJcmN/uDadgBPlYvKetKZ8YLP/Ka5cE8PrZiEYeGx3FEVQUNDzWc2CZtXjoTgsMRMz4RVmQpq0TnGorpeuSC5oYjdwi2WBw7XbLSTB0n3/GNpmJ9UA8xkvQuzOjDwYeVSe4+m0TJroVXo1L98Ry2mS1muujRNwXhP2hcGjfrwnyO/p6z1hcMLzVtelxdGqiEJU5obBKm1wx/NiUG7XmZ3UerNWK7CDdpdypIbEpv4+iZjHOOvLrr/4xan2v+ZnhCeVEi/4OIDQaqMDbMzVdr2h8DyDms2+8IhavLF7PA4fvLNZuKi2GOjnkfn8ssx/GS5Vwg155TE6hhbOPZOLzzHhkY6EnMwPkFti9eCh0o3tGOMhyBQsefayPQOj1wVKAJDGYzPvPx89XQ5dUAPMVRA7TB6F/GwyvbnQofn7ctRcRpI3FeBNw0zxUGog5Nz1r6F/v7wGUcqL9wEmwNRP/LBlNp4P6eLKJJwXzU2q+Darj2CP0f6/hgNrETcWkk/5VXVmjUtfAr+dM74YoiRWBCaXcUe82fM4/FivOje7HU/W0r9q9qsE5ory0OKJ6P/Cu+RtSZ9dotrjGAC2PKMiT2JRC8RLD7P4wOfrZIKRNCnhWhI5Pb2sWpLf9GkZJe0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d86fdc2-d2af-4b78-e635-08dba3ba4819
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 09:21:08.0099
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aIXjAE5m6ZdTF1s3SJ8oJmG6VxTvKyE11UlGz+1QtgYJLJ7GXlghQGEv29QnK/VvGX9cuWERtIny+4PzH8vLcNgGJGzcN0GoiNUj8Ga104c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5592

On 07/08/2023 3:18 pm, Jan Beulich wrote:
> On 07.08.2023 16:04, Andrew Cooper wrote:
>> On 07/08/2023 2:17 pm, Jan Beulich wrote:
>>> On 07.08.2023 14:55, Simon Gaiser wrote:
>>>> Jan Beulich:
>>>>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>>>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>>>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>>>>> 0xff. Linux already has code to handle those cases both in
>>>>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>>>>> same check to Xen.
>>>>> I'm afraid it doesn't become clear to me what problem you're trying to
>>>>> solve.
>>>> I want Xen to not think there are possible CPUs that actually never can
>>>> be there.
>>> Did you try using "maxcpus=" on the command line? If that doesn't work
>>> well enough (perhaps because of causing undesirable log messages), maybe
>>> we need some way to say "no CPU hotplug" on the command line.
>> The ACPI tables are broken, and Xen's parsing of them is wrong.
>>
>> And irrespective - it's unreasonable to have users work around bugs in
>> Xen by adding more command line.
> Well, considering how rare CPU hotplug appears to be, such a new option
> could default to "no hotplug".

... or Xen could not be buggy and think there's a chance of hotplug on
the 99% of servers where there isn't.

>
>>>> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
>>>> that there are 8 logical CPUs that are currently disabled but could be
>>>> hotplugged.
>>> Yet it's exactly this which ACPI is telling us here (with some vagueness,
>>> which isn't easy to get around; see below).
>>>
>>>> I'm moderately sure that soldering in another CPU is not supported, even
>>>> less so at runtime ;]
>>> On your system. What about others, which are hotplug-capable?
>> It is required that all APIC ID are stated *ahead of time*.
> Would you mind pointing me at where this is stated?

In the spec, exactly where you'd expect to find them...

"OSPM does not expect the information provided in this table to be
updated if the processor information changes during the lifespan of an
OS boot."

Which is wordsmithing for "Some firmware was found to be modifying them
and this was deemed to be illegal under the spec".

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 09:32:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 09:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589102.920826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYkEC-0003b9-Pr; Wed, 23 Aug 2023 09:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589102.920826; Wed, 23 Aug 2023 09:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYkEC-0003b2-Md; Wed, 23 Aug 2023 09:32:40 +0000
Received: by outflank-mailman (input) for mailman id 589102;
 Wed, 23 Aug 2023 09:32:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYkEB-0003au-Em
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 09:32:39 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd9ad485-4197-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 11:32:36 +0200 (CEST)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 05:32:33 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by MN2PR03MB5053.namprd03.prod.outlook.com (2603:10b6:208:1a8::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Wed, 23 Aug
 2023 09:32:31 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2%5]) with mapi id 15.20.6699.026; Wed, 23 Aug 2023
 09:32:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd9ad485-4197-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692783156;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=GvAi7JgvUJaHha88qOlXcr42sQyRVJZsDVb6Co8nffY=;
  b=KyZXYZFQkA75U49VM0n5uZocQGY67OMxhNWNVsyiCnKLbxhT4hEkemoF
   b3osgbFlKUJGjrK/Rh/htR+fK+KMzE5pes21CpGN7LWq2ElxVNqaled/y
   fQ147xqBu3HB35z4SY5hq5w850QT42pJYqwDA0oUw4T6edf3LtwvVxtw4
   s=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 120238342
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:L1AO5qKUSGZfrFG5FE+RM5QlxSXFcZb7ZxGr2PjKsXjdYENS0TcDz
 DYfCm2POfaCMGamKYsnPo+29RlT6sfWzoI3SlRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5vWD5U/
 vIVAwoVTU+8qeOu+YOpV9RV05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGMkmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHmjAtlCT+HinhJsqBrInDUxGEwkb0Xhn9iDrxWZfvdEK
 ENBr0LCqoB3riRHVOLVRBy9p3isvxgCWsFRGek39AGMzKXP5w+TQGMDS1ZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9UQAXJ2IfYS4PTSMe/sLu5oo0i3rnUdJLAKOzyNrvFlnYx
 jmQqSEkirY7jMgV1r6691TKnzKtoJfSSgc/oA7QWwqYAhhRYYekY8mj7gHd5PMZdYKBFADe4
 j4DhtSU6/0IAdeVjiuRTe4RHbavofGYLDnbhl0pFJ4kn9iwx0OekUlryGkWDC9U3gwsIFcFv
 Ge7Vdtt2aJu
IronPort-HdrOrdr: A9a23:+im0XKGC1Qys6JufpLqEMceALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPGDP5gr5NEtApTmrAsm9qArnhP1ICNAqTNWftWrdyQ6Vxf9ZnO/fKmbbakrDH4dmvM
 9dms5FebvN5DNB4PoSjjPTLz7VquP3iZxA/d2ut0uExmpRGtpdB40TMHfgLqXOLzM2eKYEKA
 ==
X-Talos-CUID: 9a23:PDZKrW8wxXEUbgjjZoqVv1ZNRdoufHD29m/zfHCWCH5Qea+IdGbFrQ==
X-Talos-MUID: 9a23:g0zEggrROcG8nJeKDUMez3Y5bp5K8/WcMl5Xr7Q8npKjEAlrODjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120238342"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cSH77QJJ3+ybj6gxp6XhynoaDXanBYaDrPz+vgbhMwPK6XLriKYAF1PD45SnyaFUZ7xYWrG+OaSd5OS5VXbK/rQIoVLRfQgAKf1LCzg9LS6gMur89SHn5aoOg7YTsrBmuRw6r+psMZjcrY7gX4hDcP2MuCrQVNHReZdzP6/WB/mlL40tJ7D6RyKvqGQVaTUfkGRpvQbTbcL5395yXif+R8/FD/6EYAVkRSIESBe1CKbZ7V15tr7zlcJV5JppsfJ8HB4QUQFWJKDBtMaVrWMh3gComYP3ln0pV40x7u4icYxIGwBb28FYkK7BOjUmzEmc9hMveBWIy0peVkNFLe8LwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/csi6HXDQXgudvsz+56a8rZ68eRR8lyq2H86xcgfGCs=;
 b=bU/Famu0mk/am9z6Gha3bG3sWBisHQkvhPrk2foMtnKgXgVuLF5Mmj2FRKUDISbU0/bumsX/6KVX2nIw/+yzKlH8tYT7dJ1r+GeIZEhVNQW7hSVFFs3BYrcBbmxRdtFMS9QRa2f73EL5OCUQEOW03lGIEWcRq8+7S4B3NXKMm2GyI+Q3HgXZo8WWUKWmUhDRgpXgoxzW2L9ZvBVM/PH8blGWq6XirkP+cpJwPgT5DHPtPJ/5TOreuVkUYcALLEHe0ciip4POsFpoLmD0TgM2IGBblIMzSAj4Q78ikGtnfC99xMqNou+OWuHNuOoainh+gdkTGVN0sBYKKUqXUa4iSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/csi6HXDQXgudvsz+56a8rZ68eRR8lyq2H86xcgfGCs=;
 b=Co3LV4n7Lvkn31y09qdqU27xc5edEBwThnEWcKn0VHaWio52MV+lovOSgrlYQDC7BS4HxvZGv0oO+4DHjRcaROfdHMCbxKckilH4nexzomNR2HbJXNsHQH2O7Gv9HkV0EdXmA3+n9EWUQXO+wKyiu50+U3iK1BTk+KvmWPKB7BE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6f81176c-2df8-d3d3-b3a6-ac6349b97ef2@citrix.com>
Date: Wed, 23 Aug 2023 10:32:26 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-GB
To: Simon Gaiser <simon@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <d5a99971-059b-022f-1b17-ca22431fad4f@citrix.com>
 <80bae614-052e-0f90-cf13-0e5e4ed1a5cd@invisiblethingslab.com>
In-Reply-To: <80bae614-052e-0f90-cf13-0e5e4ed1a5cd@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0107.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::22) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|MN2PR03MB5053:EE_
X-MS-Office365-Filtering-Correlation-Id: be712d60-fbcd-4bcb-632c-08dba3bbdfab
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5ByRq034HqPjwihYb1mWGNexcXGrPv+6sl6ChhuIqW0pc3ngfXEF7UTfKdj0veOsxTKrnEsbVeN75CN8ar4maEhDbI/tUNmXsemc6LY22QLL3dwshmbcWdA4uQBYDtYF7nJ7XmtwAuA5Pxm2YgWaLfIbE43PaqIVAAHnxmJ1PLZxjGY3jMrmqrei3V1KOjeZLJZCPIDSm5f29Ely357Wwq8xgXnYv8MSz5ssfqSQC+o1CHYQtiVJHcSfTFiv7xx3LBIHljmruT9yOKldFp3gwSmih4teugPDFBpefpXCkxYuk6hP1vs6UXQ3sap2ywEczVMcqEbky+NNCEyNIcNxPiwKPwHEdr8oPvaXldqmWTLEIBdsct+7mEQOQmgaHtH2CXsi3l5WcFZ6eRQUmS3p0X+Y+CDMIXGcWCWGP2VrNyQ1J8Y2ZIYZCqQOcEuSYM5woqa+Svf5G1/cKUtaJQGLpJxhXXLksXXbk6VGixdEENT67fgeVU1K1wgFakj9e0TA11HAZWcRPzyERa/ZVr5vvU8/1qY7VGucJ2iva0sbYkMjxJHEoWimJOdcN52pqCN3a34qb0Wp7kTXkxcszJELxWms0RGuiUtpS20bKTvS4dxaMtmYymptU2e7y1mCCgC0PYKbIrErIUmI8bOpfOGwGw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(396003)(346002)(136003)(451199024)(186009)(1800799009)(86362001)(41300700001)(5660300002)(54906003)(66556008)(2616005)(66476007)(2906002)(66946007)(316002)(966005)(8676002)(478600001)(4326008)(8936002)(31686004)(82960400001)(31696002)(6486002)(6666004)(53546011)(6506007)(38100700002)(6512007)(26005)(36756003)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVJBYWtuaHpRMDh1eWRHZzJWYnZuVlN5TWRDclBkcXZYUkYrMEZ3azlxQ05a?=
 =?utf-8?B?SlJvWWtsZlhXOUtTQ2Z0OXZPNEF0djBiVThtdGJRdzdTSG54V3dhbmY3Y2Fm?=
 =?utf-8?B?ajRkckJzMU5VMFRpT1U4ekhTdmZ6YXZ0cUJqb3d0NU9wSFh2bnZGOTZsaWhU?=
 =?utf-8?B?OGpHOW9nY2NMcElSUG1yQjVLREQwSkkxakZqT3BMK3d6NlROYXF0NkljU0Ry?=
 =?utf-8?B?cXR1VFVnYkZjL1RTRHc4VmZiSFZiR2M2VkhINEQ0ejI0QlZLQUxISUdrbmtu?=
 =?utf-8?B?VXpjLytCdkVLZXB0LzhpNWkxY1NrbFc1T2E4M20zbGUwU0t5QjFxbWx1MTZK?=
 =?utf-8?B?MTNVeGEvR0hPUTZ1R0dXcEVQU1VKeDYyNzNhNG13Y0M5cEN1T0xHSkN4ckpP?=
 =?utf-8?B?VEp1T245OHJzMVJqY3JRYmpINHprekVlWnczcVZlTWRyTloxVVdqQll1TVU5?=
 =?utf-8?B?NFF0L0NDUUtJS25KcGNodEVVV2RqcXhzZUpDNUNLeFUyWm4vRTBGUkJqRjdR?=
 =?utf-8?B?SGU1V05KcEhHV1AvSGVLdVFacFdkRXp4cjJGdXFUWEpiS2ZKdWFjbWoybXNr?=
 =?utf-8?B?OENMV3ViUDZ3NTdCV0U5bGRKMk9FTlhlZG1laFlXZlNtWHNnMFVqY0QwOWRO?=
 =?utf-8?B?M0dsYmhvenJ4ZW41RnJhSHBTclZWc0pSRXhYei9PQkhiV0t1YnR4MGJpVCt3?=
 =?utf-8?B?aVlsTWcxUFZydnRzb3MyenJBa0NkNFFMSVpYOHpwNEhSYWRHNU5zYTdzK3RF?=
 =?utf-8?B?VDlRbnJoQ00rUzUxdkRac01tc3BXak4vekR2ZEZEQTVFWnNsZlFFcExQZHd1?=
 =?utf-8?B?T3NYNTNTSVdqTlVPN2tqcHBoKy9GK1oyVy80QVhrd01iZ3NNR2RoVy94Si8v?=
 =?utf-8?B?blpUUWxnM0RxazJjRTdHRitOdzZPVVNQbmxGaEJSL1ZWT0ZDRFFVRWRvQmFs?=
 =?utf-8?B?ZnJWOXhGYy9yKzNIZVE5b0dBaWN5dW1kMHJBZk1mL3BDam9XNmQvY2cyNFVI?=
 =?utf-8?B?d1grV2pNVG43MTZpNThyS3VuTWxYcUp6eldQZjhRK3B6OGVSRitTNHI5ZU9F?=
 =?utf-8?B?N0p0MXAzVjZxZ0ozdHJ2c2tzaUVhb2dlWFByc0p5UnBVQ1NmSHp2bWpDVERz?=
 =?utf-8?B?OU9acllyaDUwTUJyYUcrbW50U0FaT3RNNHQ0dmhKT0M1SzdJc2ZlVmV6ZVFv?=
 =?utf-8?B?L2E5S2NJR3VFUU5jdnM0TmxYekZQUTRIWFY5VXRzOGtCL3E5OW1FKzdZVGlm?=
 =?utf-8?B?ZmtVa2R3cmVRSlF2OHJxRkxYLzZZYlc4NXYwemZFcTJDQVFIY2dLcWRQa2pu?=
 =?utf-8?B?YW5UT0VwaGdObVBhUnF0RlpLcE9EbThxMHMzTGllbXFmQkE1VmRoOVEwNzNv?=
 =?utf-8?B?Y0RUblU5dDViZk1SOHJoa1JHL2ZTVUNhNi9kR3ljWVhFVlBiblo1bDJpTXc4?=
 =?utf-8?B?WUxUUzZsaDYwV2x0RWNrOXYrbDR2ZWlvR21BT1B6VUY4UXUvS3RGR3Yrc3Vl?=
 =?utf-8?B?am5xbjBKMW1JNWdURERlQXpyYXRmb2JHRXU1dndDcjlINmxUK0hUdFcwclRO?=
 =?utf-8?B?WjF4MXhKditkb1VkNHYzZlgrM3BLNDViRXZQYUhydkg1MTdCaExpTXdSckhh?=
 =?utf-8?B?eGhQQTFhVkY1dmEvZlJ3Yll6RHNWT3lKbHFFcjU0eDJsTFlSbUpLY1QxVmFq?=
 =?utf-8?B?Q3VKcTAwR2N4cTNobk1lRXU0eWZTOFE1R3F6ZEhqWjdWVkIzUWlUZGQ2cEZD?=
 =?utf-8?B?UG9BUFBhMXB4M1JmdHJRT1RINk55Qk5tVkpvQjJIYVJpbWRiRzRIZFUvYVg3?=
 =?utf-8?B?T2dQVnB6YU5qOVZxaldXSDc0M1REZmVVOGpUV0U3QXl0bzNjYmNjaDMySXJ6?=
 =?utf-8?B?YWllY3hPd1ZEc0ZObzZzaDF3T0JiRmk3bGd3LzFKcGQ5ZTFIK3NUV1RNV1VN?=
 =?utf-8?B?R3Zia2JCdmhBNGV5MDZVQ2tTVlJDbUVxaWYvNW9DWjN5R3A1MTF6bTNjWGlB?=
 =?utf-8?B?eXlFekYyc25aVjhXbVlsdm12Nm52WkJlWnpEWVJLMWlaeGRJcmRlVldWYmJx?=
 =?utf-8?B?STRzTFVWa0o0b2kwMk9zOTBzdWp2MjFBWFhmWTJXZzBYUVI3UEZRazMrclo4?=
 =?utf-8?B?M3ZlRndQM1Y1bExFSkM1cFdJTitSR1o1NHhUeDI5SHhVK0FhTzVwSElQSzFH?=
 =?utf-8?B?UUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Xt5ar8930wRsePO02ECX0D4YozAssztcKeK4SCpff7O7C9DNDKdLWT+YOaq7S1h8EECImRxzPzPU8Q+pXOGLcBX82q4D09gRF99LBLxPJArEQ/AM58oLpR/oHYkXFoJgUFZr/xqh3NRUMSFXUTM3HoOMxITnd5Og2owdfP/PFs3H+4hRNblskapbhRrBnG3sutFg8IMVJtweri017vFf0Wy0XrD02cZkn7OPL8LXgVL5JAYL+YXimi69CmaFjgNhFzzCYdAac1Xvb3IslWW1p5aKdwgCo4VUbwV41aoswJoxB2F67Gp+RPmvDY6q75R2xFLCCs1GlbTMaSZ329RXaatLge0ILxx+xL+IapvMFJcs4inhe12Vv62BPwNrD1QfdSI6znTVV+F0kWwJVOUcDx0WuMJ88FJJS3H+V7w2PKP2/a45s0DzHWtSfdXUr41i4pwvNbdKzx2GbjnrCeH969cUX4g7YupSrfg6m3Bs5YO6m/xQ+NG3DubCnfUOqYbXVdU5EfLNGMfot4Ub0vXE36KYOXELrf/lKFYLgRiqA+immg7bsfRlAY3egxC0pEr5LOFAKIhZ8Ox087thUaEuMvzMQlvKH5H365O6mp9DwqmGxE9TYoEF08zfyjvu3rDoWQ5CIklybp89Ci30E60DGQebhMuXIc20dLlQjm5TDaior0D5KNlvi751KjGqkwWr/odCxhlUxTfs6fS594NOS0tWqbs8znZ7CH3zYxxsEmMCzLqKNbji07JfM17rLXs9/tp9dJldaTZgxFe7Aymrw4v06DwN9ChpnBO3jd/QBx+rr6ON92siEwlUS6XCdIQp52AgkwuOXwd9LnGppQwNkGf0uP0UdDLmpcUdGb8yRLiMgnr/I1F2erVOIxMeYGdc
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be712d60-fbcd-4bcb-632c-08dba3bbdfab
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 09:32:31.3065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gP6MMduriqzw0ZlAmT1ApYPugZpfd5IMt7lYjfIrahX0S0m6Ltq+1+XVxv/9K1SfHMcYbf4S/dpqTlrdRP7r4aOBpLTZgDgd2v76+VNnyBo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5053

On 07/08/2023 3:45 pm, Simon Gaiser wrote:
> Andrew Cooper:
>> On 07/08/2023 10:38 am, Simon Gaiser wrote:
>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>> 0xff. Linux already has code to handle those cases both in
>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>> same check to Xen.
>>>
>>> Note that on some older (2nd gen Core i) laptop of mine I also saw dummy
>>> entries with a valid APIC ID. Linux would still ignore those because
>>> they have !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE. But in Xen
>>> this check is only active for madt_revision >= 5. But since this version
>>> check seems to be intentionally I leave that alone.
>> I recall there being a discussion over this, ultimately with the version
>> check being removed.  IIRC it was a defacto standard used for a long
>> time prior to actually getting written into the ACPI spec, so does exist
>> in practice in older MADTs.
> So I noticed that the check in Linux is actually slightly different than
> I thought. Since [3] it always considers the CPU usable if
> ACPI_MADT_ENABLED is set. Otherwise it consider it only usable if
> MADT revision >= 5 and ACPI_MADT_ONLINE_CAPABLE is set.
>
> So I checked what the ACPI spec says:
>
> Up to 6.2 Errata B [6] it only defines ACPI_MADT_ENABLE as:
>
>     If zero, this processor is unusable, and the operating system
>     support will not attempt to use it.
>
> And the bit that later will be ACPI_MADT_ONLINE_CAPABLE is reserved with
> "Must be zero".
>
> 6.3 [7] Then adds ACPI_MADT_ONLINE_CAPABLE and changes the meaning of
> ACPI_MADT_ENABLE:
>
>     Enabled
>         If this bit is set the processor is ready for use. If this bit
>         is clear and the Online Capable bit is set, system hardware
>         supports enabling this processor during OS runtime. If this bit
>         is clear and the Online Capable bit is also clear, this
>         processor is unusable, and OSPM shall ignore the contents of the
>         Processor Local APIC Structure.
>
>     Online Capbable
>         The information conveyed by this bit depends on the value of the
>         Enabled bit. If the Enabled bit is set, this bit is reserved and
>         must be zero. Otherwise, if this this bit is set, system
>         hardware supports enabling this processor during OS runtime.
>
> So with confirming firmwares it should be safe change the simply ignore
> the entry if !ACPI_MADT_ENABLED && !ACPI_MADT_ONLINE_CAPABLE
>
> We can also do it like Linux and ignore ACPI_MADT_ONLINE_CAPABLE
> completely if revision < 5.
>
> Note that the revision was already increased to 5 before 6.3.
>
> ACPI spec version    MADT revision
>                   
> 6.2 [4]              4
> 6.2 Errata A [5]     45 (typo I guess)
> 6.2 Errata B         5
> 6.3                  5
>
> [3]: https://git.kernel.org/torvalds/c/e2869bd7af608c343988429ceb1c2fe99644a01f
> [4]: http://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf
> [5]: http://www.uefi.org/sites/default/files/resources/ACPI%206_2_A_Sept29.pdf
> [6]: https://uefi.org/sites/default/files/resources/ACPI_6_2_B_final_Jan30.pdf
> [7]: https://uefi.org/sites/default/files/resources/ACPI_6_3_May16.pdf

Honestly, the reserved must be zero means there's no need for a version
check at all.Â  That bit will not be set even in older MADT revisions.

That said, it's likely easier to retain the version check than to set up
a quirks infrastructure for buggy older MADTs.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 10:07:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 10:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589123.920878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYkll-0007jm-Nb; Wed, 23 Aug 2023 10:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589123.920878; Wed, 23 Aug 2023 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 1qYkll-0007jf-Kx; Wed, 23 Aug 2023 10:07:21 +0000
Received: by outflank-mailman (input) for mailman id 589123;
 Wed, 23 Aug 2023 10:07:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYklj-0007jV-Vw; Wed, 23 Aug 2023 10:07:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYklj-0004Gn-UF; Wed, 23 Aug 2023 10:07:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYklj-0006xq-Kr; Wed, 23 Aug 2023 10:07:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYklj-0006fh-KS; Wed, 23 Aug 2023 10:07:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pYvcRQoM9Nj4DJICVz3zG9GLzmDnbql+zhNxEuhZ81Y=; b=UtRD0LY+y6oSDlAwrA44EsOaSl
	HZE3wQQ1q6HW0RnCxWyN4ZY80TuJDKorPF8sIcqBtlT1610rXwdweF/s+B+GEIfKBhsldurrPNswj
	y+73imqdBcpHT37DEx8vkOkWBSwruuChe6NL3efyhXrq+OuXUc5+BxeFgdk2H2f9SmyA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182424-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182424: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=53663f4103ff6738e4697004d6f84864d052333d
X-Osstest-Versions-That:
    linux=f7757129e3dea336c407551c98f50057c22bb266
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 10:07:19 +0000

flight 182424 linux-linus real [real]
flight 182442 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182424/
http://logs.test-lab.xenproject.org/osstest/logs/182442/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm  8 xen-boot            fail pass in 182442-retest
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 182442-retest
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail pass in 182442-retest
 test-amd64-amd64-xl-vhd 21 guest-start/debian.repeat fail pass in 182442-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail in 182442 never pass
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182409
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182414
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182414
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182414
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182414
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182414
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182414
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182414
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                53663f4103ff6738e4697004d6f84864d052333d
baseline version:
 linux                f7757129e3dea336c407551c98f50057c22bb266

Last test of basis   182414  2023-08-21 21:10:19 Z    1 days
Testing same since   182424  2023-08-22 18:10:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Benjamin Coddington <bcodding@redhat.com>
  Christian GĂ¶ttsche <cgzones@googlemail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Ido Schimmel <idosch@nvidia.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paul Moore <paul@paul-moore.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   f7757129e3de..53663f4103ff  53663f4103ff6738e4697004d6f84864d052333d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 10:25:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 10:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589137.920899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYl3L-00023R-EH; Wed, 23 Aug 2023 10:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589137.920899; Wed, 23 Aug 2023 10: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 1qYl3L-00023K-Bn; Wed, 23 Aug 2023 10:25:31 +0000
Received: by outflank-mailman (input) for mailman id 589137;
 Wed, 23 Aug 2023 10:25: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 1qYl3K-00023A-3T; Wed, 23 Aug 2023 10:25: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 1qYl3J-0004n4-N6; Wed, 23 Aug 2023 10:25: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 1qYl3J-0007m6-G9; Wed, 23 Aug 2023 10:25:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYl3J-0001nV-Fa; Wed, 23 Aug 2023 10:25:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+QKp4zopP0LAf4vFuQJraTZS7lcmRO4ZADbPz2Sl1Is=; b=Rc1Cd3uYqSZQLxBx8Z94CBt+xZ
	5JKsESc5dsvHyTTAwhSy7WiKbZgkoDADcLadqZcm6UlclyMKNBQ0XBEkDPSIQrz1+9GI1a3uMvuD9
	cPkKPmyo1dJBSxmQXZApWT9TfWaUy+sC5KmkR9xz08OvFHhtc8QU7PrAkFc0/Ijz4V/g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182436-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182436: 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=a943a4f119cd0d969631b4ada878974828a7064d
X-Osstest-Versions-That:
    xen=a73560896ce3c513460f26bd1c205060d6ec4f8a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 10:25:29 +0000

flight 182436 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182436/

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                  a943a4f119cd0d969631b4ada878974828a7064d
baseline version:
 xen                  a73560896ce3c513460f26bd1c205060d6ec4f8a

Last test of basis   182421  2023-08-22 14:04:00 Z    0 days
Testing same since   182436  2023-08-23 08:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.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
   a73560896c..a943a4f119  a943a4f119cd0d969631b4ada878974828a7064d -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 10:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 10:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589147.920920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlQA-0004wC-JJ; Wed, 23 Aug 2023 10:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589147.920920; Wed, 23 Aug 2023 10:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlQA-0004w5-FL; Wed, 23 Aug 2023 10:49:06 +0000
Received: by outflank-mailman (input) for mailman id 589147;
 Wed, 23 Aug 2023 10:49:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Lx4x=EI=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qYlQ8-0004h7-E8
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 10:49:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9ea6c99-41a2-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 12:48:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1F89B21EDA;
 Wed, 23 Aug 2023 10:48:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0486813592;
 Wed, 23 Aug 2023 10:48:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hdjcABrk5WQsIAAAMHmgww
 (envelope-from <jack@suse.cz>); Wed, 23 Aug 2023 10:48:58 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id 0E216A0774; Wed, 23 Aug 2023 12:48:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9ea6c99-41a2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1692787738; 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=czbolVCNdiRIhtzRMydBVuDGtNoMVf0uK7rI8VUw4Wg=;
	b=cea+STFByaV36NWMjg8zifEKP9bUJaVFrhrdsQ1BHrDjc+6YKTyOk0XUYe/aGcn7z1GdBW
	Sp5Xg8/PcrR30C9G8GkmtNgleVHgoFT9VpO4HmYAD81nOJQ/2ts6Z2GJ97FCPouubZqTfM
	7Ki5cRwEgj/8O3iByHVAhCDVhrdgZS0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1692787738;
	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=czbolVCNdiRIhtzRMydBVuDGtNoMVf0uK7rI8VUw4Wg=;
	b=ccloVX/Tox8MPvEstSnU1swyihs7KV2puBqol0j3M4wpbT7Z67JF74RuKmYp8i9zsSQ2aK
	Q/J06H24OiSZjOBw==
From: Jan Kara <jack@suse.cz>
To: Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	<linux-fsdevel@vger.kernel.org>,
	<linux-block@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jan Kara <jack@suse.cz>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>,
	Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>,
	David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com,
	drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>,
	Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-mm@kvack.org,
	linux-mtd@lists.infradead.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org,
	linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>,
	Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com,
	reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>,
	Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org,
	Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 0/29] block: Make blkdev_get_by_*() return handle
Date: Wed, 23 Aug 2023 12:48:11 +0200
Message-Id: <20230818123232.2269-1-jack@suse.cz>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=3781; i=jack@suse.cz; h=from:subject:message-id; bh=cMBb8bZk7tVGWo+BW5D78pH+ebOvNFFLsxdd3Uvzd/w=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBk5ePhrEMij+4xGF6e8K//xuADex0OXIFxlpO0VT6g 42vu5BeJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCZOXj4QAKCRCcnaoHP2RA2RqoB/ 91nt6Qs4NSStbt9M1WXY1akBbAqu+Bv3ZXdZ6WMy9kKyYwY7zCnyQziikP60M2MjCrud4NP9os4YAr 4uXdyOyVcdJ9TjbciDgTyoYdfkFl7g+rZhj1pyPeep1xmvDMn3QtNJ28EbhLegdC+nkmL6+bxPGEwd IdsuBKGrdIIEryWwhBq0+BWowL3nzmQjs5GoDtXLoHADfHYhgC8RKYK/4FaML1/SsAZRvGJ/C8wFB4 JUGsDGFE4CJx9XgiRx407CSIGNSoCciqBpMaMA7x/dbq9Tu76xcqN4/DZrtT2qyG4I7GZYetndEl3F vWMZMQFPauZmB2S1r30HY+nn2IOCrM
X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C
Content-Transfer-Encoding: 8bit

Hello,

this is a v3 of the patch series which implements the idea of blkdev_get_by_*()
calls returning bdev_handle which is then passed to blkdev_put() [1]. This
makes the get and put calls for bdevs more obviously matching and allows us to
propagate context from get to put without having to modify all the users
(again!). In particular I need to propagate used open flags to blkdev_put() to
be able count writeable opens and add support for blocking writes to mounted
block devices. I'll send that series separately.

The series is based on Christian's vfs tree as of today as there is quite
some overlap. Patches have passed some reasonable testing - I've tested block
changes, md, dm, bcache, xfs, btrfs, ext4, swap. More testing or review is
always welcome. Thanks! I've pushed out the full branch to:

git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle

to ease review / testing. Since there were not many comments for v2 and
Christoph has acked the series I think we should start discussing how to merge
the series. Most collisions with this series seem to happen in the filesystems
area so VFS tree would seem as the least painful way to merge this. Jens,
are you OK with that?

Changes since v2:
* Rebased on top of current vfs tree
* Added some acks
* Reflected minor nits from Christoph
* Added missing conversion of blkdev_put() calls in cramfs and erofs
* Fixed possible leak of bdev handle in xfs if logdev is the same as fs dev

Changes since v1:
* Rebased on top of current vfs tree
* Renamed final functions to bdev_open_by_*() and bdev_release()
* Fixed detection of exclusive open in blkdev_ioctl() and blkdev_fallocate()
* Fixed swap conversion to properly reinitialize swap_info->bdev_handle
* Fixed xfs conversion to not oops with rtdev without logdev
* Couple other minor fixups

								Honza

[1] https://lore.kernel.org/all/ZJGNsVDhZx0Xgs2H@infradead.org

CC: Alasdair Kergon <agk@redhat.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Anna Schumaker <anna@kernel.org>
CC: Chao Yu <chao@kernel.org>
CC: Christian Borntraeger <borntraeger@linux.ibm.com>
CC: Coly Li <colyli@suse.de
CC: "Darrick J. Wong" <djwong@kernel.org>
CC: Dave Kleikamp <shaggy@kernel.org>
CC: David Sterba <dsterba@suse.com>
CC: dm-devel@redhat.com
CC: drbd-dev@lists.linbit.com
CC: Gao Xiang <xiang@kernel.org>
CC: Jack Wang <jinpu.wang@ionos.com>
CC: Jaegeuk Kim <jaegeuk@kernel.org>
CC: jfs-discussion@lists.sourceforge.net
CC: Joern Engel <joern@lazybastard.org>
CC: Joseph Qi <joseph.qi@linux.alibaba.com>
CC: Kent Overstreet <kent.overstreet@gmail.com>
CC: linux-bcache@vger.kernel.org
CC: linux-btrfs@vger.kernel.org
CC: linux-erofs@lists.ozlabs.org
CC: <linux-ext4@vger.kernel.org>
CC: linux-f2fs-devel@lists.sourceforge.net
CC: linux-mm@kvack.org
CC: linux-mtd@lists.infradead.org
CC: linux-nfs@vger.kernel.org
CC: linux-nilfs@vger.kernel.org
CC: linux-nvme@lists.infradead.org
CC: linux-pm@vger.kernel.org
CC: linux-raid@vger.kernel.org
CC: linux-s390@vger.kernel.org
CC: linux-scsi@vger.kernel.org
CC: linux-xfs@vger.kernel.org
CC: "Md. Haris Iqbal" <haris.iqbal@ionos.com>
CC: Mike Snitzer <snitzer@kernel.org>
CC: Minchan Kim <minchan@kernel.org>
CC: ocfs2-devel@oss.oracle.com
CC: reiserfs-devel@vger.kernel.org
CC: Sergey Senozhatsky <senozhatsky@chromium.org>
CC: Song Liu <song@kernel.org>
CC: Sven Schnelle <svens@linux.ibm.com>
CC: target-devel@vger.kernel.org
CC: Ted Tso <tytso@mit.edu>
CC: Trond Myklebust <trond.myklebust@hammerspace.com>
CC: xen-devel@lists.xenproject.org

Previous versions:
Link: http://lore.kernel.org/r/20230629165206.383-1-jack@suse.cz # v1
Link: http://lore.kernel.org/r/20230810171429.31759-1-jack@suse.cz # v2


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 10:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 10:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589146.920910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlQ9-0004hQ-A9; Wed, 23 Aug 2023 10:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589146.920910; Wed, 23 Aug 2023 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 1qYlQ9-0004hJ-7X; Wed, 23 Aug 2023 10:49:05 +0000
Received: by outflank-mailman (input) for mailman id 589146;
 Wed, 23 Aug 2023 10:49:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Lx4x=EI=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qYlQ7-0004h7-Si
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 10:49:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9ee3fcb-41a2-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 12:48:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5EFF421EFE;
 Wed, 23 Aug 2023 10:48:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 50AF113A1B;
 Wed, 23 Aug 2023 10:48:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id zKexExrk5WQ8IAAAMHmgww
 (envelope-from <jack@suse.cz>); Wed, 23 Aug 2023 10:48:58 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id 33AA6A0780; Wed, 23 Aug 2023 12:48:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9ee3fcb-41a2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1692787738; 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=ta1LCjic01AbdL80q5ntMXxRBs4CGtenSiuCJ0/ca5s=;
	b=3AG6qpqRXE8rAmd/ZGJEULjavvIbhhEB5R5NwFX6v3CgCvTESUeUqZVdyOCDfv2lbXitw3
	5tmBzUFlMgq+JV01OhXpJXsLupb6Zp4qI75ib2OydERvHvvpRoee2VtTdXO5OylCwZZszd
	vGn8CdTb2VzYbNxmd7O8eP+JwRabDF0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1692787738;
	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=ta1LCjic01AbdL80q5ntMXxRBs4CGtenSiuCJ0/ca5s=;
	b=Wm+AD4Wu6zrAIfMuK17QfMJiDODz7SqQY+OZMzpXKCUrU3q5YGMgLf7nh4R8SGHiYGIkHZ
	7/qi5wrHGmRyeWDg==
From: Jan Kara <jack@suse.cz>
To: Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	<linux-fsdevel@vger.kernel.org>,
	<linux-block@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jan Kara <jack@suse.cz>,
	xen-devel@lists.xenproject.org,
	Christoph Hellwig <hch@lst.de>
Subject: [PATCH 07/29] xen/blkback: Convert to bdev_open_by_dev()
Date: Wed, 23 Aug 2023 12:48:18 +0200
Message-Id: <20230823104857.11437-7-jack@suse.cz>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230818123232.2269-1-jack@suse.cz>
References: <20230818123232.2269-1-jack@suse.cz>
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=6194; i=jack@suse.cz; h=from:subject; bh=PSJt+0LeX7itk49X6SZenWswOkp8VIMO9RZLQ+K7HEM=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBk5eP0iJi8sPdnhhBzwfHC0vgE18xL/D7JO93InPBQ u9DQxzKJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCZOXj9AAKCRCcnaoHP2RA2cdKB/ 97UaRgj6kXgB06Gm1GJpwV/iVNnpoDEAwXR7shYLyepmiR4g4eU2ihiWc1MoHBxDD4+xutoHdV9OOs bW7Z0PVDaJtC+1WRzSZ5/5SdwbsjzyBq4I7rcFDwb95WmYEqlmiTPgrZwUNS7pZICYAfm5ENCb4zkO MlIGjchM3rVyUgHB+czcMJBPulqZmgj1ZFCI7wcWOM4hAB758W5EMrFid3n4XEWKPvJts1BSOo7pXZ ucWt3M713mxKHpo4ge48OmchJPkKBkY7plrGWXVKp+RtzGsuHeQvXOAAQTyntF61M2RjP/YLdtMSIY upkYkK9jUWUBPRW+ySdYSf3fLU6KO/
X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C
Content-Transfer-Encoding: 8bit

Convert xen/blkback to use bdev_open_by_dev() and pass the
handle around.

CC: xen-devel@lists.xenproject.org
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
---
 drivers/block/xen-blkback/blkback.c |  4 +--
 drivers/block/xen-blkback/common.h  |  4 +--
 drivers/block/xen-blkback/xenbus.c  | 40 +++++++++++++++--------------
 3 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index c362f4ad80ab..4defd7f387c7 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -465,7 +465,7 @@ static int xen_vbd_translate(struct phys_req *req, struct xen_blkif *blkif,
 	}
 
 	req->dev  = vbd->pdevice;
-	req->bdev = vbd->bdev;
+	req->bdev = vbd->bdev_handle->bdev;
 	rc = 0;
 
  out:
@@ -969,7 +969,7 @@ static int dispatch_discard_io(struct xen_blkif_ring *ring,
 	int err = 0;
 	int status = BLKIF_RSP_OKAY;
 	struct xen_blkif *blkif = ring->blkif;
-	struct block_device *bdev = blkif->vbd.bdev;
+	struct block_device *bdev = blkif->vbd.bdev_handle->bdev;
 	struct phys_req preq;
 
 	xen_blkif_get(blkif);
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 40f67bfc052d..5ff50e76cee5 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -221,7 +221,7 @@ struct xen_vbd {
 	unsigned char		type;
 	/* phys device that this vbd maps to. */
 	u32			pdevice;
-	struct block_device	*bdev;
+	struct bdev_handle	*bdev_handle;
 	/* Cached size parameter. */
 	sector_t		size;
 	unsigned int		flush_support:1;
@@ -360,7 +360,7 @@ struct pending_req {
 };
 
 
-#define vbd_sz(_v)	bdev_nr_sectors((_v)->bdev)
+#define vbd_sz(_v)	bdev_nr_sectors((_v)->bdev_handle->bdev)
 
 #define xen_blkif_get(_b) (atomic_inc(&(_b)->refcnt))
 #define xen_blkif_put(_b)				\
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index bb66178c432b..e34219ea2b05 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -81,7 +81,7 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 	int i;
 
 	/* Not ready to connect? */
-	if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev)
+	if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev_handle)
 		return;
 
 	/* Already connected? */
@@ -99,12 +99,13 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 		return;
 	}
 
-	err = sync_blockdev(blkif->vbd.bdev);
+	err = sync_blockdev(blkif->vbd.bdev_handle->bdev);
 	if (err) {
 		xenbus_dev_error(blkif->be->dev, err, "block flush");
 		return;
 	}
-	invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping);
+	invalidate_inode_pages2(
+			blkif->vbd.bdev_handle->bdev->bd_inode->i_mapping);
 
 	for (i = 0; i < blkif->nr_rings; i++) {
 		ring = &blkif->rings[i];
@@ -472,9 +473,9 @@ static void xenvbd_sysfs_delif(struct xenbus_device *dev)
 
 static void xen_vbd_free(struct xen_vbd *vbd)
 {
-	if (vbd->bdev)
-		blkdev_put(vbd->bdev, NULL);
-	vbd->bdev = NULL;
+	if (vbd->bdev_handle)
+		bdev_release(vbd->bdev_handle);
+	vbd->bdev_handle = NULL;
 }
 
 static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
@@ -482,7 +483,7 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 			  int cdrom)
 {
 	struct xen_vbd *vbd;
-	struct block_device *bdev;
+	struct bdev_handle *bdev_handle;
 
 	vbd = &blkif->vbd;
 	vbd->handle   = handle;
@@ -491,17 +492,17 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 
 	vbd->pdevice  = MKDEV(major, minor);
 
-	bdev = blkdev_get_by_dev(vbd->pdevice, vbd->readonly ?
+	bdev_handle = bdev_open_by_dev(vbd->pdevice, vbd->readonly ?
 				 BLK_OPEN_READ : BLK_OPEN_WRITE, NULL, NULL);
 
-	if (IS_ERR(bdev)) {
+	if (IS_ERR(bdev_handle)) {
 		pr_warn("xen_vbd_create: device %08x could not be opened\n",
 			vbd->pdevice);
 		return -ENOENT;
 	}
 
-	vbd->bdev = bdev;
-	if (vbd->bdev->bd_disk == NULL) {
+	vbd->bdev_handle = bdev_handle;
+	if (vbd->bdev_handle->bdev->bd_disk == NULL) {
 		pr_warn("xen_vbd_create: device %08x doesn't exist\n",
 			vbd->pdevice);
 		xen_vbd_free(vbd);
@@ -509,14 +510,14 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 	}
 	vbd->size = vbd_sz(vbd);
 
-	if (cdrom || disk_to_cdi(vbd->bdev->bd_disk))
+	if (cdrom || disk_to_cdi(vbd->bdev_handle->bdev->bd_disk))
 		vbd->type |= VDISK_CDROM;
-	if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
+	if (vbd->bdev_handle->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
 		vbd->type |= VDISK_REMOVABLE;
 
-	if (bdev_write_cache(bdev))
+	if (bdev_write_cache(bdev_handle->bdev))
 		vbd->flush_support = true;
-	if (bdev_max_secure_erase_sectors(bdev))
+	if (bdev_max_secure_erase_sectors(bdev_handle->bdev))
 		vbd->discard_secure = true;
 
 	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
@@ -569,7 +570,7 @@ static void xen_blkbk_discard(struct xenbus_transaction xbt, struct backend_info
 	struct xen_blkif *blkif = be->blkif;
 	int err;
 	int state = 0;
-	struct block_device *bdev = be->blkif->vbd.bdev;
+	struct block_device *bdev = be->blkif->vbd.bdev_handle->bdev;
 
 	if (!xenbus_read_unsigned(dev->nodename, "discard-enable", 1))
 		return;
@@ -930,15 +931,16 @@ static void connect(struct backend_info *be)
 		goto abort;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "sector-size", "%lu",
-			    (unsigned long)
-			    bdev_logical_block_size(be->blkif->vbd.bdev));
+			    (unsigned long)bdev_logical_block_size(
+					be->blkif->vbd.bdev_handle->bdev));
 	if (err) {
 		xenbus_dev_fatal(dev, err, "writing %s/sector-size",
 				 dev->nodename);
 		goto abort;
 	}
 	err = xenbus_printf(xbt, dev->nodename, "physical-sector-size", "%u",
-			    bdev_physical_block_size(be->blkif->vbd.bdev));
+			    bdev_physical_block_size(
+					be->blkif->vbd.bdev_handle->bdev));
 	if (err)
 		xenbus_dev_error(dev, err, "writing %s/physical-sector-size",
 				 dev->nodename);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 11:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 11:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589162.920936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlpk-0000tW-Dd; Wed, 23 Aug 2023 11:15:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589162.920936; Wed, 23 Aug 2023 11:15:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlpk-0000tP-As; Wed, 23 Aug 2023 11:15:32 +0000
Received: by outflank-mailman (input) for mailman id 589162;
 Wed, 23 Aug 2023 11:15: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=dmRg=EI=citrix.com=prvs=59206e676=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYlpj-0000tJ-Ap
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 11:15:31 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cc17b1a-41a6-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 13:15:28 +0200 (CEST)
Received: from mail-mw2nam04lp2170.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 07:15:21 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB6737.namprd03.prod.outlook.com (2603:10b6:510:114::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Wed, 23 Aug
 2023 11:15:19 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 11:15:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cc17b1a-41a6-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692789328;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=o/F9bkKD7/DO9J11db8imjUM0ihY77zWC3Jux0z7IYc=;
  b=MFxZhY7/V/7rYf2nSUfw21DaYh6VIF9F60fgSBHOaSDEDH/tID0zF+x+
   cS/eM1OgkJX+73y5hStiUDhYY8u3UgBx5yCDQHf2iArjqgp8FSIIi3erj
   SgFc4DdGrqxBLQawq9ZkxG/u2UTTTKj/hZogN4L6ibV7WDMo8t0nMbw1D
   0=;
X-IronPort-RemoteIP: 104.47.73.170
X-IronPort-MID: 123061752
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:EBVCgKNpyDCpqK7vrR1ylsFynXyQoLVcMsEvi/4bfWQNrUp30jcOx
 zMcDT/Uaa2KN2f0c9F+YYXn8ktS7Z/UmNM3SAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5AdmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0u11Pl9+9
 MVHEjwQMh6gmNmExfGXZPY506zPLOGzVG8ekldJ6GmFSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vFxujeLpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyj33rGWwn6hMG4UPLSa26NB3Qyf/EU8SwNKDFnqhqKL11HrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAmZDNcbN0ttOctWCcnk
 FSOmrvBGjhHoLCTD3WH+d+8ry60fy4cLmYAZCoNZQoD/9Tn5oo0i3rnTdt9Eajzktz8Hxnxx
 SyHqG41gLB7sCIQ/6Cy/FSChi32oJHMFlIx/l+OATrj6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQQ3d3X931xBI0KeQL0=
IronPort-HdrOrdr: A9a23:8AEPZaH4qcTMm6KNpLqEHseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV86faQslwssR4b9uxoVJPvfZqYz+8W3WBzB8bEYOCFghrKEGgK1+KLrwEIWReOk9K1vZ
 0KT0EUMqyVMbEVt6fHCAnTKade/DGEmprY+9s3GR1WPHBXg6IL1XYINu6CeHcGPTWvnfACZe
 ehDswsnUvZRV0nKv6VK1MiROb5q9jChPvdEGI7705O0nj0sduwgoSKaSSl4g==
X-Talos-CUID: =?us-ascii?q?9a23=3AtLtJDWj++SL9ktAE+6W3LHR/NDJueX/i8kfRGhC?=
 =?us-ascii?q?CBXs1Rp6Kcm2Vu49KjJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3AgYkpdQxvwQovahQ0oBgQfu1xETiaqK2MJR0mzMQ?=
 =?us-ascii?q?KgeCrdjIsYjXMq2+FH5Byfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="123061752"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ilgySVASb8+3RFCBooJ2e87XybfHw8Zl+WeADUE2XToFciodyPj7mZ0zj1dEiCeBqr6aRAsuYtU8eSa6GvybZyD9vkKtZhMLYwp2bzf8ckvuRWQHEfOeFVwlbz0DskF1Gq/odcNtZ8rgwFTVKmeOxql4KOhsnhZyDp9t2G/YUzq62ssWl5LpWJL83QDq9qNMy3IdnMA/Jo/qycD0hIbM4eUj1Mp/GJAQKwrFLIV+uzYnHJiupLE1PTCtZaxKlzVsah/canLod7eoEYeOrBPvPwTQm/z+W2chnbg2BKQTxlQqinYaThtsjQ/b6sxSQLA2/Q4uOSny1BWoEyF7r+lQZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oJOSI1bfhk6CvcNHgIETlBtsvAZCk6pCYtSawyuL7E0=;
 b=KwvLhGGHgDYFc62zVt+cKtdJC6BEuNCalNI/D5FgFXhFPcKr3ihYXqhy+1BDNNm9CoKJSMriqNf6evBM00+qvWCkW4b1wgrDjlqUC9M+32RGxILU4nTTlEMml0dqQYH8J8HdlH0XRJjDt+iO5Se3gwuYya8GP3YMCONK7aIbZDCqD5OtYiq9vSz8CE48DJnrfIbnuGJKd1PcUnmUrpvXbjWsy0Wdzn2eerSyuLZbEVmuEJcuIoc/m5IfcIdAE/655BkAPtdPc+AZp98n0nas/UXww5UjRH3ARKzjxQcOhBswzL6vT9PVZ7GUkPK10o9gsNkeGpBzisfnc9M5aadTDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oJOSI1bfhk6CvcNHgIETlBtsvAZCk6pCYtSawyuL7E0=;
 b=l1NMoQqncHFjRYBnfGmKFzNa2ZryXYFhU1QdSSZGzGbMOyjWrDeCe1hRTd5FlofMroBjiHKwBVDbIi7/7iNzQUwc0emElCoQRAupVUBJkGNrjzXGa5evUwng+o0OOGSkxecLcsTzulRK0yBZ8BcOwn8GiQ6jQb01pHfwsOgu1Sc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 23 Aug 2023 13:15:14 +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>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before
 re-entering guest"
Message-ID: <ZOXqQrFOpofVR_B3@MacBook-Air-de-Roger.local>
References: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: LNXP265CA0033.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5c::21) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB6737:EE_
X-MS-Office365-Filtering-Correlation-Id: 4fc885f6-2ada-40a6-8b45-08dba3ca3bc8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dJuNDXa3UG6GG3oAkhCnhBtBz0s0v9+k0cnn7fXa2B5mhFSO51HPRfuSkkPhvccGZR7nRQrU2NFMIH98+HOrDG++0q9aBboj7m2g3InH4WaEUkwSC0pPII4b+4pW3zIDrrUFL9n3HlotTKUhjkpLYlJslBz6Xs5/VNwkKvf7r2L9rumUc3MVtLLWi89LCUbWLJ/r6PS2Oy68Q0qIvEJ00SZOUWAkPI0BS2toNuRrILw185swr+hKKJRS3f7pA7xxOTHUeszvOM7GqZLROqzP9BU0cC0rMQBRDSI5xtlTo2FXHk3pVYN9vgH5ORfb7OKs4IgkMv0tFciKXboahfWPGhI6uTeQWIwdyqZQCINq7a2bCUWShPF5halRAfraBexEY0Hq44Avap/cqPD0o7/m0Kvt/zEx+9LCx4YryRR5oehH3yetmHI/ZdrLD3mICX5Z3CnG39qZfFNx0q0edMq3ZuxvGXZIgY3bjFaGciK9lzzVHXnnN0yaI6Zl/I6NLoLKKjPjShIOrDid32EBTMADWojoFaQ+fNC5CHgIIRvq9FTVj1kIpsCI0baTsN4x4YB2
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(39860400002)(366004)(376002)(346002)(1800799009)(186009)(451199024)(54906003)(66476007)(66946007)(9686003)(6512007)(316002)(66556008)(82960400001)(6636002)(8676002)(8936002)(6862004)(4326008)(41300700001)(85182001)(478600001)(6666004)(38100700002)(6506007)(6486002)(83380400001)(2906002)(86362001)(5660300002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmJyeE9OdHdaY2tRWHlPNlYvbzdlWDZONlNEN3I4TG9oVkhXV2JacW5EUFB6?=
 =?utf-8?B?RTJVanZLOHJyeEU3djNzNUFEMmo1aFdDclAwWHMxOGdZd2JCV016c2ZaT0lB?=
 =?utf-8?B?YlAvZUMrNjZvUDJHUkJiS0Z4YmZKVTE5UmJFYnllZWJvbGZiK3EwOXZQblhP?=
 =?utf-8?B?Mmx1RXN0RVVUVjI2c3pUZHIvMXpTNWlubGh4TEpuUm5FK3pYMi82RHorell1?=
 =?utf-8?B?R3lWbWQ1SHNqMGRIbDBlVDVWZnQyQWJzYklhTHlYTmNINDlyUWlvVllXMDZS?=
 =?utf-8?B?bFFGOXVPMUltTGR2Y0FHT2tjR0FLVW1hWHVjNm1JYzdlZ2ZiazgzaW04bWNX?=
 =?utf-8?B?bW9PcnZQNG1xRytiRkluVlRyOTN5VkNoYnRXUXFpWFF2eGRhelZPSjVtWmdu?=
 =?utf-8?B?aU56M0ZRL0xCeFYrNzZRWjVVYkFySjVyY0RweFFqUGptbWNxU0hDdUduMllD?=
 =?utf-8?B?UEI4cHBQOUxsTkFOdjM1bE5Uakt1SnlvaTU5SDhCOGx6WG14VElZaGtpc08r?=
 =?utf-8?B?RExNTW96ZDA2bGVzQ3pnd0pwUk1GNW14OWVFVWg2Si9HUXgzSytTL2VSQ2Ra?=
 =?utf-8?B?bWNlNXNra2RWTU9Sc3ZnQ3pMbDlRWUVFY3ZDNU5FZ0M3WHM4TTZQbVk2Qks5?=
 =?utf-8?B?WWpMUDgzOTZML2VaeW1QVVJ4M2F3bjhQVnVwOHl0UjFGUVMrTG5qcUVxWWNr?=
 =?utf-8?B?d2VZd2IyTldBTHFRN2s0VWRvYTVFSktuQVNqbENKYllRUmd2YXZwSjlOYzVV?=
 =?utf-8?B?a0lXWnFGclR2MFc0MkNyaUo1cUZHZml5cGEzcGExcGJkb2NkS0lOVkFiU2tS?=
 =?utf-8?B?Y3hObmp4ZVNDSy9RWGF0UmpKSmltd3FuckpGQnc0ckRmUEhXb2E1NEcxNXBT?=
 =?utf-8?B?RUV3azhJR2ZsS2N0d1ZKSDlCNnNzdmg4MmtuaWtncGZEb25lem5QV1FFTytT?=
 =?utf-8?B?M1pEbmJKUGxlZkRSNHNWVFU3bTZuamR4eW9QYUJvS0tSUFNTSWY0ZENDNXNP?=
 =?utf-8?B?VnNMNHRKQ25MQ3g3aW5lc1R0TFQwVjlUakdDZDRpbEpMUmVIVmR4MkhuZkdL?=
 =?utf-8?B?TCtxdXRKME4vTGxRZlFIem5BSm1mc3JnTEJ1WUFzZ0FESldyalAya2IvRDdi?=
 =?utf-8?B?TDRuUjRqL0NvalRpRUVxRVdnNEpjM01mOWVIbFVERzR1aXlGVy9qdXZEd3Ev?=
 =?utf-8?B?UmZzaUpuL1RMeGRXckVZcXdhYlhwK2dhS1FyWjRvQUIrQTVoMGFXM2VvK0Na?=
 =?utf-8?B?Q2JkQnU3akdJSks0Y0VxWDNnRzEzbUk0Y3JoSXhrWjB4QnU5NWg1a1ZoanBa?=
 =?utf-8?B?ZENoT2t3UnpXUnRxVW9JejM1ZTlBbHZkYnF2Y1B6OVZrdk55Ti8vczNXcnd1?=
 =?utf-8?B?aFI1bVhtSTExOUdUalNxOXFCRktlamNvOFJ2U1Rxb2Fna1lkblAwdDZSZGVy?=
 =?utf-8?B?TXNBd01mMXI0K0I2dmdFb1grK1MvUW1uYk9OZmhidjVQMjFvNS9sdWFlWUVh?=
 =?utf-8?B?R1ZCSE85OVlwM3hWbDRnL3Qvd0ZqMTFUalZvWk5ZU0xIMkpJWUticTRmYnh6?=
 =?utf-8?B?RWFFaGpuTlh1ZmZPYzZZS1lzZDdnTTZxUjBZcG1EZXNLTWp1aWhwTEdTL2U0?=
 =?utf-8?B?NHZ5Z0hMZkY1NU9sWUY5aXpoOG5DQUZCcitnSFk2Z2sxWGRBQ1RseFIxeVdk?=
 =?utf-8?B?ZFU4eXF0a3hsTXZTUGkyQjBGK1lMNHlRTVQ1cllpeTZXQTFDTUtxN1JScStV?=
 =?utf-8?B?c0hTRk0rL2dVck11OWhCbzNQbGZyOG9FQXFuRXRaZURzUkJEZWoyUFFOcVJY?=
 =?utf-8?B?QWVsOXJ5VWZqblF0Sy85ZVQ4QU9yR3JicDZsZCtLTHo2d1JZYUc5VDJHL0hv?=
 =?utf-8?B?KzNzWUEyRTlvd1J3WFZjQ1VVbTZVUWlFdkRQaEZYdjVJcjNzeTFjbnBwNmp1?=
 =?utf-8?B?Nm5ITnMvNnFQRXVuRmhtNzBITE51WUo5UEM2bW4wOWhDRG9FamNONEw5b2RE?=
 =?utf-8?B?R2EvMGM4RVM0cFZ3QlJubDZYbU1RSWFkaWt1UG9QWVlISEZudzByeUNsR21Y?=
 =?utf-8?B?TW9YTTc0a2pDUmJBMGNNaGluUGFNVThNQU1GMjJyNitWaG9BQUV3RFNwV2hx?=
 =?utf-8?B?a1kyNWFnSG04UEgvV3YySTJRR0RDcSsxNmFlSkR5UEV1bG1aeXR2RVg5YnFY?=
 =?utf-8?B?OGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	nJ/4SAcYUZTtPGdEX4ICqajksFIs0zzhhFi7cc58J9qEEDEjijm3Cl1NkB4Rd5hmyetymMxqMLVnM/SZG1GYaOGvRC943MD4kPymRxOy+//Gw+ysa4axI6JSp+Zw6ljHFI611X8u3v/ENmOfOybAhyCvEPNKrG3Sb+VO3VZ9nHtZjAKnDxuLqLna9MhwiDBg45FKBdamQXlz3+Mvfi2dzpvdGwfqFIUkpv9FDKJqrBUxvV5J8/3FhVAWhxEGep4zsmm4ccAGAkADw0Wby7k0HpAzW/2IgHu8zhwxL7FVAY3AK+asnbPVKqgsvKzd4bAiEf5JNlaJ/Mgl72wz8dfGZAe3KD5gwiX4OGQQcO580CqO9mTMuXjDfYrV6UWjNoc8hBK8+mvvjMHGPLHn27azYQTXdI67gpMFy5JeqycKhO7qrFmGy3hgGkd+EigGM400tcEbMzbEdaDUAi6iUrfGcV8xrneooXTodZqlFd2qmLd4XvuLJELb69RNBZpi8E6CT6LrGrrDKT7E1KY4bkY9Jd3rjN4z6ksbyHshlckfNJ8UevSDlxFKoQ/fcGRD21AT6BUc5CIgcE59IugoIslCFX69uhMSdu1fx3Fk8WCgLxkWnU8wwVKJX8jJvwXMim13n/b7kviSTj/YVHwTu1FPXIrHzzusoLzzxB32BkTB7BSJ0ESsvpM+tWg3/ywKt0YFzjmQLOXuT8Qu5SkiDlKCvpZm9UH9Q0Xf2uf3UweayG0jJgQm1lMdaT9DPdFN4Z4DsAW525XKOtKL8Od+zD/44JaTGMX9vkEStV8FZDzZa5WgIu6d97XE8tstAMHYQHe2LaeASOA+C0LWzk4I8Od+Wa7JYXX5+CAuNxRVz0CHAK8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4fc885f6-2ada-40a6-8b45-08dba3ca3bc8
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 11:15:18.8088
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +3RYZbfc+yKiuzx+pnAeFq169ydqDQj32lVQ5G+S07X/vz+Go2cK94WXRBMrEsUKR+J2kdGzpTcxvgucJirldg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6737

On Wed, Apr 05, 2023 at 10:52:45PM +0100, Andrew Cooper wrote:
> At the time of XSA-170, the x86 instruction emulator was genuinely broken.  It
> would load arbitrary values into %rip and putting a check here probably was
> the best stopgap security fix.  It should have been reverted following c/s
> 81d3a0b26c1 "x86emul: limit-check branch targets" which corrected the emulator
> behaviour.
> 
> However, everyone involved in XSA-170, myself included, failed to read the SDM
> correctly.  On the subject of %rip consistency checks, the SDM stated:
> 
>   If the processor supports N < 64 linear-address bits, bits 63:N must be
>   identical
> 
> A non-canonical %rip (and SSP more recently) is an explicitly legal state in
> x86, and the VMEntry consistency checks are intentionally off-by-one from a
> regular canonical check.
> 
> The consequence of this bug is that Xen will currently take a legal x86 state
> which would successfully VMEnter, and corrupt it into having non-architectural
> behaviour.
> 
> Furthermore, in the time this bugfix has been pending in public, I
> successfully persuaded Intel to clarify the SDM, adding the following
> clarification:
> 
>   The guest RIP value is not required to be canonical; the value of bit N-1
>   may differ from that of bit N.
> 
> Fixes: ffbbfda377 ("x86/VMX: sanitize rIP before re-entering guest")

I think the fixes tag should likely be "x86emul: limit-check branch
targets", since it's that commit that missed the revert done here?

> 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 Wed Aug 23 11:22:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 11:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589170.920946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlw1-0002ap-7K; Wed, 23 Aug 2023 11:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589170.920946; Wed, 23 Aug 2023 11:22:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYlw1-0002ai-4Y; Wed, 23 Aug 2023 11:22:01 +0000
Received: by outflank-mailman (input) for mailman id 589170;
 Wed, 23 Aug 2023 11:21: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=3PRN=EI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYlvz-0002ac-LM
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 11:21:59 +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 456cf858-41a7-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 13:21:57 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2bcde83ce9fso5310491fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 04:21: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: 456cf858-41a7-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692789717; x=1693394517;
        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=LE07tyZV5YnRshFuZVP/wL3+K3eSSgJuIPcoHM8HS+M=;
        b=sGlaVDkVWx4pfFqST0S+Kdw2UtVWFMftPdRQgv3URZ0SfM4tKWWXUamNTT6JwfGNCl
         syKwpjYaJCWwKKNJLVPxp2Q9pGRoG/Vv4gR1iCO354yJikic4mETukn8o7VUeWTqp1YS
         epgO0H9dIi+uIJue3+QDtglI2pztle5BJRWj4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692789717; x=1693394517;
        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=LE07tyZV5YnRshFuZVP/wL3+K3eSSgJuIPcoHM8HS+M=;
        b=U9qTPwTF4RaWMQZdnOvNpNtEjh/n1uNxwfxO9mkHzRghKnJZ2CLvYswM1Px7hiJnJy
         gIcGtKBVpSaa+sRFeLRi9cnlSkCw86eqQUEzxw4tiD39hdmAJiHAFyfb1lB61QPswSj9
         34gExz7pRxSCao2XZ8CEUCuxdkNChUFRq6a6M/cirVRr8hGUDwqNS5Payq4I7D25mAkI
         JEfNSFDEenjMESZ7pM0jHDWZxoiuIr90gKfvQ/9sewrdjALwgssPAX/QdnKcBsUpGQnF
         ud2cdBoyKqxghe8aHv7zI8a1BdDMfak4qaNUzr5C1xfyGugN9eddKlZhTiJo/WV3Q+LF
         DBEw==
X-Gm-Message-State: AOJu0YyUgcY0kHiBSxJeO0+TCPkMu4fQSNUe3SjDaKWPM/TAmhWyKKa2
	JJFKccJqIeGffdkDJKFBT5+g8KrWvrRbQ2V2e1eMRd7IxtFYyRSy7VPhiA==
X-Google-Smtp-Source: AGHT+IFsATq3uLYoA702Ql8pu35KJKgcLeVZSW4phKPHfvLzYjE3FYfMh2iuRZvn/GuxNANtTnqSMAZ2XKXuU0uvFcI=
X-Received: by 2002:a2e:9851:0:b0:2b9:f1ad:94f5 with SMTP id
 e17-20020a2e9851000000b002b9f1ad94f5mr9234769ljj.40.1692789717036; Wed, 23
 Aug 2023 04:21:57 -0700 (PDT)
MIME-Version: 1.0
References: <osstest-182423-mainreport@xen.org> <49570fa5-abf5-4179-f046-97bb40614ae6@suse.com>
In-Reply-To: <49570fa5-abf5-4179-f046-97bb40614ae6@suse.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Wed, 23 Aug 2023 12:21:46 +0100
Message-ID: <CAKoJhMS1NtbreH2Q7zEsjZeivxjOCVrcvteREzwbjxv_9xZ=WA@mail.gmail.com>
Subject: Re: [xen-4.17-testing test] 182423: regressions - FAIL
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, 
	osstest service owner <osstest-admin@xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 23, 2023 at 8:05=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 23.08.2023 06:32, osstest service owner wrote:
> > flight 182423 xen-4.17-testing real [real]
> > http://logs.test-lab.xenproject.org/osstest/logs/182423/
> >
> > 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=
. 182410
> >  build-amd64-prev              6 xen-build                fail REGR. vs=
. 182410
> >  build-amd64                   6 xen-build                fail REGR. vs=
. 182410
>
> Looks like an infrastructure problem at the first glance, as all three
> logs have
>
> Timeout, server 10.149.64.36 not responding.
>
> near the failure point. It's also at the same instant (2023-08-22 18:12:3=
4)
> when the failures were detected in all three cases.

It was the same machine used for all builds, godello0.

I don't know what happened to the machine, osstest rebooted it to
gather log, but nothing useful in it.

Cheers,

--=20
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 11:57:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 11:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589183.920973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYmU0-0006eP-14; Wed, 23 Aug 2023 11:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589183.920973; Wed, 23 Aug 2023 11:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYmTz-0006eI-UP; Wed, 23 Aug 2023 11:57:07 +0000
Received: by outflank-mailman (input) for mailman id 589183;
 Wed, 23 Aug 2023 11: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=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYmTx-0006eC-V2
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 11:57:05 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b5188b6-41ac-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 13:57:03 +0200 (CEST)
Received: from mail-dm6nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 07:56:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5487.namprd03.prod.outlook.com (2603:10b6:a03:284::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 11:56:56 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.026; Wed, 23 Aug 2023
 11:56:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b5188b6-41ac-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692791823;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=dO8nthrLPK99O/mOiQpQJjzeKKBVcHN/o2qICtAJ/XA=;
  b=Us9pGnWnHT2HH40iwbVzEIvXN2Mu0izygjsJHEX/VE+SerEDeUuaY8Pz
   QnviSiRPyBqtZL5GG6bUxGLhbuo50WuzTwGYtufYUcGfomQTgYDQ1yZ2+
   memVJGCCtOr3+fW/ndzVjkjy50X8+IuH+nMbyxfq8XUhMRoW4bA9wIAj/
   0=;
X-IronPort-RemoteIP: 104.47.58.102
X-IronPort-MID: 120252634
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lDqlEKKpDAZOWjSkFE+RApQlxSXFcZb7ZxGr2PjKsXjdYENS0zRSm
 jAaXjvVb62Ka2X9fo1/ad6+/UtQvp6GzoAxTQVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5oHEJp1
 d0HKAwPRT7drbuu2pWFVOlj05FLwMnDZOvzu1lG5BSAVbMKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGLlmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHmjAt9ISubknhJsqEGy+0E9Ej5Gb3XlhqeipGS+cuNnN
 ENBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQEnsIrQT0h1
 neSgsjkQzdotdW9Vna15rqS6zSoNkA9L3IEIykNTgIH4tzqiIA1kh/LCN1kFcadjdDrGDe23
 zGDqgA/gakeiYgA0KDTwLzcqzelp5yMQgtr4AzSBzqh9lkgPNTjYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr327FF6KLFWyI3AxDGQ==
IronPort-HdrOrdr: A9a23:cgB4uq3BoCBBhab9BoMVLwqjBfdyeYIsimQD101hICG9E/bo4v
 xG+c5xuyMc5wxwZJheo6H9BEDtexLhHP1OkPos1MmZLWvbUQKTRekJ0WKI+UyCJ8SRzJ856U
 9qG5IOd+EZZTJB4foTi2ODfOrJD7O8nZyAtKPm6zNIcCkvUqdn6m5Ce3Sm+o8dfng5OXL8fq
 DslvauYlCbCAUqh7+Adx04dtmGncTPiJXlJTYeHnccmXCzpALt0qf+Dx+bmjwDUzZDqI1SjF
 TtokjC/6C+tPP+7RfZ2wbonvNrseqk8MJHGMuPzu4KLTn24zzYArhJavm5pTUop+Pq0nYG+e
 O82ysIDoBI8nbMeWPwmxf3xAX69z4r5xbZuCSlqEqmm9X9WDU5T/VMnphYdByx0TtbgO1B
X-Talos-CUID: =?us-ascii?q?9a23=3AeAn6Z2lSHvpfJjo+CR5HHLf1l/jXOWLA71DwAlC?=
 =?us-ascii?q?4NWRCZuO/EEeK3516k8U7zg=3D=3D?=
X-Talos-MUID: 9a23:4DT4Cgox2OK2adSbJp0ezy1DCepG+Yf+Mm5TtssdleOEHB1IJDjI2Q==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120252634"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Df9h5AtUEKrQz+/FkAf9nUlAhbaIJqPlibRlHByBcHU5odc946klmtRjHhIm//3FoBf0avlBWomDl2RHlRB9Aab/7KvKTqfYLI0kqXurqeSlp1bxQPdLIg02PF5aK1zmwDPk9TTT+eddoRvGEJ01kWS41q2qdhr59EmzXIgcrPNGm9tmrqscGY8TVVHMGe+bn0aPuk5+7X+vS6l0V3ziMd4E8YtdlpnQFP7AlVGbXLwZijWiKa2WMRpmQl7TOoOVhzgny1zZsiwl6Tr0Wl53z950fsKz4YNcovI4YoFZih2X5vEKHuSJAIcAK9jrZv7nd4pdYSHBlTOnMxJHRbJx3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z0Wug4dijtKcrLO1XSoqljFh6bVixogOAiEtJ8eHht8=;
 b=k8qKI8Eg+iWKh21hjXfFYUac6LEB6e92MFmGB3rzoQEqghUEuvHuBfP+37kNA0FWDC6R+RKsEVYc08j8xrpt7FP226EHVh1BP3KJF1dsUmP9xYgPEQ/ZL9uuI+QCWB6v919ndzddsdbR39U8f4Me8dTaAMyh5h2GdSiofAogz7ajqmKmDt8DlQJ4Rzsw2kWoNhMC/DGpSAP/0Z2kYx31jjiJtRSefHXG3XRxkOGzhIJEY7F6W7uPOBwtSQFXNdlVLV6xg9a+ESBQ0YIyUNxmPe+FBWq0RScaFzwGS0aD71I/SlAh2CMOKO7WO64Ey6ZJT78Fni61yWZgLkaT3hLZ9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z0Wug4dijtKcrLO1XSoqljFh6bVixogOAiEtJ8eHht8=;
 b=tw6K1mNxfeERLLnXueDw3klk5Sc3AtWLXSM8hU8Zxzh4O7A8h+Eg+awiR9eY5XNHvnOBgmnV6yFaa4sxon9ev+nAqpsrey33AJcyXSn9WRn44hKScO4PotAYk9W306dTYdjUy+VTmCTd1dpgzFBVJfVIcOMs3ezjrbUcXuFj6M8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <327109c1-f8ad-f8c4-01b9-ea19dc5df247@citrix.com>
Date: Wed, 23 Aug 2023 12:56:48 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before re-entering
 guest"
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
 <ZOXqQrFOpofVR_B3@MacBook-Air-de-Roger.local>
In-Reply-To: <ZOXqQrFOpofVR_B3@MacBook-Air-de-Roger.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0033.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5c::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5487:EE_
X-MS-Office365-Filtering-Correlation-Id: 72c80e8b-a9d7-446e-bbc7-08dba3d00c12
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V0On7ynHOLx13kJ96YJR8rzBsnLAxpLHWrZfLddY4pEHUOITMSEkjNNrZ6juTPsBuWEBo1s8Q7vz5RSEcP0/2PFr6B2gS3gerDwJUfewDVzXZbjPNsrwRTQIuqtHgDQwMxoElW/7l7kwbLnt1oC7FvTMRxbEMDQrr0fqKt2Tqoy8wmK+GrQmMzWMjpRu8f102e8F92UTUaCtB2uRZKAgsGQ9cy832Lwnl7/S9tW3GPKFPDjDdy3BVARgd+SymyH+Xwl1KPgiUtJLaOBL5ROPpWXxB27i3utm01AQawWvGFNmzleMMYcDBMYOqw7mCVpvCThgQROwuovad2PS3Z7r+iwzZ52+jX89Yu34vqRwUIHVaqJLfuHW2BpkwdfvWn3Uz5Z/5qyvN1C03XE7zb97yy0SkrCzkxP67Mw8mj2NKusl5zUoeSB3ppYOTdE99zDoe6woI5RToQbqGQrtFqHp7SzOw0TXAWK1hTMeD0lx0zpGcHczSY/tnPaEDgXCN9GSf8kX4WJgOXFCeYU5nG5XAUv7217WumGvxROeVRuHBTLosBiYtSEpKqipHem5cwVBf6YjXkO6BBGO/daER17I5Rs2CWfw/Dads5o6v1qskCGe4udYDoOGYzVewcawgLJTCNZaHE3OQubpNsUzzrOFUQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(136003)(396003)(39860400002)(451199024)(1800799009)(186009)(2906002)(83380400001)(6506007)(6486002)(53546011)(38100700002)(5660300002)(26005)(31686004)(86362001)(31696002)(8676002)(2616005)(4326008)(6862004)(8936002)(316002)(37006003)(6512007)(66556008)(54906003)(66476007)(82960400001)(478600001)(66946007)(6666004)(41300700001)(36756003)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDc4bG1vUzl6NjhiRnUvdmp2V3hnZHhldmRNSFVoNXc5S0dKT2FlRHY4T1pF?=
 =?utf-8?B?TzNWNzJMdk9DNlROcUl3ZHFEbjBDTmhvMTdmZ0NIUkNMWXpKcnZXOXlHWUIz?=
 =?utf-8?B?NmV4M2VUaGQwaTlyLzZHTjlRUzJlK1JpLzNndjJkdm5VVHc4ZG01T3V6Yld4?=
 =?utf-8?B?Zis3MWJ5Q2ZBWHBNSVJRT09KODBWZjdvR0RxUHZmYyt4M0luQldsMXdacHVM?=
 =?utf-8?B?WVpQaHBwWEw5TmdMcUNzOHRCOE5tdjFTS3ZlcWI4M3hUL0NhanZtbDJ3MXli?=
 =?utf-8?B?UnZLVGlDM2lIaHhHZXRBdG92ajl1L2ZxNzU2M1VVZzNPRHNxQ1E1YTZoVWlu?=
 =?utf-8?B?RHc3OEMrYkg2TGJnZ0lQZ3NpNXhiOEIzLzhIWUhBN3BlaHRNNys1S2Q4L3RE?=
 =?utf-8?B?bDZlUUgyS2xwWnRDcWN6RHJFWjVBV21ZWTBrTlFnSGpHNFRSYTZ6b0ZGUU1k?=
 =?utf-8?B?VWp1MUcyY0pDTlFVTjJzcXNjKzNTOEFYaWo0SGN0MWFuTmdLazlNalkwR3Fu?=
 =?utf-8?B?SnpzSE4zYzhTZG9EdXpzQmt0c2c1enZvMVZxQWQ4MzBnS1lyYUZxdjZWdGRL?=
 =?utf-8?B?VkRSaFkwQnhValEvbG0wejZEUVRXTy9oZ0YxdUVrUjJKR0l4MlhEeWVYdFZH?=
 =?utf-8?B?OTcwbjc3Y2dFbFVYMEh3SEwyMlU5NVhIL1UvcFNFdXVTdk53RXZzT3VJK0Ra?=
 =?utf-8?B?UTJTQWpsMDJiUnZ0dEtSd2dpWHhFQlBCU1ZFeE5DaXRuNldsWlpnL1FqRjR2?=
 =?utf-8?B?VEFENVJzdkJwaG1Kb0VJL0J2b2VBbDhoNFlRdWNDYUJpaXordHlCQW9RVWd1?=
 =?utf-8?B?SFhaTjYzdGhRbThDUUdtWmFlTzQ5VTJKY1pVZHdBcjl0bHZwUFUwQ0tIcVdQ?=
 =?utf-8?B?dkZxNzczelhYdG9pUE1JQS8vNTRNcStEMll1Njl0U2lwSURad053a2Uvd2Zp?=
 =?utf-8?B?T2V2TWcwMk9vSXAxYkUzbk1meXhBeEVJdUV1OGdYNTVVWFZVSlR3bHFVVExO?=
 =?utf-8?B?Y2k4eUtmN29KN3FJK0pQWGdsT2FpYmZyeWxWcEFrQ2pobFp1NGc1Ykt2NFJw?=
 =?utf-8?B?WUd6a3F2U1V2K1plbHkzUm1VMGFrVG9ObXR0RGR6b3prc0VsZ2dPVUZaQjA4?=
 =?utf-8?B?N2hRY2wyK0ZXVll2LzdSQnV2NE1yaUVYU0NneTdBYXEyZVVPekNTb29Uc0xB?=
 =?utf-8?B?YWVRc2JMYk9EcW1IY3FoTE1vUGhjVzRpSHFSL0wvQm1rWVU4Z2RuNDBqYkxN?=
 =?utf-8?B?c1lKaWUzMHBvWHVMZGU0bERDeFVQSzVCMldaV3RjNngvTGpRb2JrTmRvSmYw?=
 =?utf-8?B?MlkxUWxDRUJ4WG5PcEE3YzgyTisrZkdKTUlEQ0ltSXJvQnBBU2VJeFhkT2di?=
 =?utf-8?B?SjFOeW9ZTmFxU3RWKzQ1a3ZVSXZaMTc3YlhIeDc0TE5lM0huM2lBTldvVFZI?=
 =?utf-8?B?VHVwWnl5OHYzMmlZOGV4MGI5WUV6cmxaNUoyZFpSU0JGaVJTbmEzc3JaWW9S?=
 =?utf-8?B?YlcrU3UzRXAveXVrU0dzZmlUQmpKeVczVFdRQXB4dWdSdkdJVWw2WHpyc2Rq?=
 =?utf-8?B?aUl0dkxHV09abEZxQ1JJZXQ2Y2MrQktrOGVSMzZiQVJoMFlMdThQWFlTQUpF?=
 =?utf-8?B?dXBibGUyT3Urcm9oQ29ERm0rY3ZvNG4wdkw4V0JoU1lBTzM5bVQ5KzFVNjBS?=
 =?utf-8?B?N0ZNM3ZNaWRTNE9adWJQdnphb1JFbXlCc1FZMW1VdmFrc01oU25oQXlhQVZo?=
 =?utf-8?B?SmQwNTRXanlYRDVGTWpLWkxiUi9GM0xWV1hjVDlOOUcyWTVCcitwV2dQSytR?=
 =?utf-8?B?TFo1aFM1NGdZcnlOZHZ0aVVOUTVWUVE0bXovLzhscmtoeG11K3NPTkU5Q3Ba?=
 =?utf-8?B?U2JLemxVQ0pPWTFqU2JJUmJkOHNhK2hSM3lHU0hFRXNZekFKemErNkxteEl5?=
 =?utf-8?B?KzQ4bGNkdXJ0QnYrUnB0c094VnZLano2d09PY3IyV1FqSU4xc3RyZEV4OWdE?=
 =?utf-8?B?SCtoMkhNK1VuR3llc3djME5xTFdYMW9yR3Y5OURTbWlPRXRlUFJvRWMyek9q?=
 =?utf-8?B?WU9jQUhXNXRKT3pPNUNid2taSncyTHI2aFFQRDVKVmJ5Y0NFMFBoTUpPd0VU?=
 =?utf-8?B?eVJsdzBQRXJpNWVlM1UvOUg2THNFVlQ1RTVoa3lON2lPVWJlUGdWRnlzZ3I1?=
 =?utf-8?B?RGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7V5v1CV005dKbBbbN0e3xONC2nxIxV9JOyutlmt/2tmpL/5pFkV0TDWwgMGMTgLCxZ2harpnAYjVVkKghaAyV9SuKsWDuGfd02W5swS4U/SBC4G6fyu4qPtf2unYlIKXnRQjxbiLETUhHhH10XnzrAH1pzahznjc/MMEcJtidNbs/xQWoSCe5OxX/tnHHvNgJAJD22vO4nKBElip0ek7tfV5zp41s76DsYkhbfFGoYN0BPjPXT0lOdFY/nqbM4/zedq5ODBCEulsqUvk+u5J/CU13q7XCb8fke6ZR0MJVhWrPxMJ2XMyAPXWKYUM8GIxbhFBsMzzPz5q3+9VSilzs5r17l5ltDsOdu+quhfCQSFZZS6XKq1JPIIYu0LSqIzqKEbLP6+dPDwKcDM6PY4EFOI8CvqTeUi6MGYaEwbULZqPvYCPHLpM9Z/zhZop4NYTXd85EbCY4gr4r4mw5f3hsqxP7BTAtOo6CuZe0jx80CI2oZ/2Wu9L2WL5d79TIqj54dv9/F4RERXNn9tTbe+dU8gKMnwDqdYZc9iRIP09iTuUkSfKU7erNuEz0ljWcW9udeY9TobQ5r8BbgYAo2gCzen2+q3rRPAJxrHRykC7AoSIQuxmXljf03mkLhl18zML7obdXqv2qReo21bI1ji6dhqiIjE5yoTUDfQCmpZC7/KOq9OYY1Lul5SivIxt6Oak5bkqOHJ2J18dWcrRtFmydKxN1jw69+/cbvWPno6FoQVJNpOhNInI+ogIeu5XQEU2NPrwjII+5YLLeK/9n/3BqOkewXw4nK6ks0i6tBY3brCatyANER/uRZT9wLRfbteepUgRNOWEv8ypT3Tg6xVXQzREz8rQawGRNsCC1st0+lg=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72c80e8b-a9d7-446e-bbc7-08dba3d00c12
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 11:56:55.8039
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J8iKvk4zH59VNrwXyYvPHnxGHF7K/bcGY8dCzgRI6/Tyj/jxVXYhPIHLy7DNpDQmpRuS4B3kT4WmxX/rdvwpiQbfK1BI7UXHya0EqoukxFw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5487

On 23/08/2023 12:15 pm, Roger Pau MonnĂ© wrote:
> On Wed, Apr 05, 2023 at 10:52:45PM +0100, Andrew Cooper wrote:
>> At the time of XSA-170, the x86 instruction emulator was genuinely broken.  It
>> would load arbitrary values into %rip and putting a check here probably was
>> the best stopgap security fix.  It should have been reverted following c/s
>> 81d3a0b26c1 "x86emul: limit-check branch targets" which corrected the emulator
>> behaviour.
>>
>> However, everyone involved in XSA-170, myself included, failed to read the SDM
>> correctly.  On the subject of %rip consistency checks, the SDM stated:
>>
>>   If the processor supports N < 64 linear-address bits, bits 63:N must be
>>   identical
>>
>> A non-canonical %rip (and SSP more recently) is an explicitly legal state in
>> x86, and the VMEntry consistency checks are intentionally off-by-one from a
>> regular canonical check.
>>
>> The consequence of this bug is that Xen will currently take a legal x86 state
>> which would successfully VMEnter, and corrupt it into having non-architectural
>> behaviour.
>>
>> Furthermore, in the time this bugfix has been pending in public, I
>> successfully persuaded Intel to clarify the SDM, adding the following
>> clarification:
>>
>>   The guest RIP value is not required to be canonical; the value of bit N-1
>>   may differ from that of bit N.
>>
>> Fixes: ffbbfda377 ("x86/VMX: sanitize rIP before re-entering guest")
> I think the fixes tag should likely be "x86emul: limit-check branch
> targets", since it's that commit that missed the revert done here?

Well, not really.Â  ffbbfda377 really does have a bug, irrespective of
the changes in the emulator.

The presence of 81d3a0b26c1 is why this bugfix is a full revert of
ffbbfda377, and not just an off-by-1 adjustment.

>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 12:46:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 12:46:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589200.920990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnFR-0004J1-Rh; Wed, 23 Aug 2023 12:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589200.920990; Wed, 23 Aug 2023 12: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 1qYnFR-0004Is-Op; Wed, 23 Aug 2023 12:46:09 +0000
Received: by outflank-mailman (input) for mailman id 589200;
 Wed, 23 Aug 2023 12:46: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 1qYnFQ-0004Ii-S2; Wed, 23 Aug 2023 12:46: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 1qYnFQ-0008I7-Kc; Wed, 23 Aug 2023 12:46:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYnFQ-0004bQ-C5; Wed, 23 Aug 2023 12:46:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYnFQ-00057b-Bg; Wed, 23 Aug 2023 12:46:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jk6baFbCociJyTeMHQDm3heooM91ieJHWZoeKSuPbh0=; b=DxuoFzTvkqMJpNbIXjd/Gh8MOT
	4G86pPd8syBlp0JinVodydMl4PyQs8IbUy6IaHX9Uwhcd6gMJbiAsYHZ2Zw5Qcz89vEx5bp+AJeQU
	Nq/sJnf95IiSkWvrha/ItViHOSSvhKr7WE+yyED3jEb6iw8m7eCqCFXbE8Y8oIDUjvg4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182455-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182455: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    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=4442c8dd0b2437851a1dfaa88c8911c9afe2daf9
X-Osstest-Versions-That:
    xen=a943a4f119cd0d969631b4ada878974828a7064d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 12:46:08 +0000

flight 182455 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182455/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 182436

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 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                  4442c8dd0b2437851a1dfaa88c8911c9afe2daf9
baseline version:
 xen                  a943a4f119cd0d969631b4ada878974828a7064d

Last test of basis   182436  2023-08-23 08:00:27 Z    0 days
Testing same since   182455  2023-08-23 11:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 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.

(No revision log; it would be 314 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 12:57:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 12:57:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589209.921000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnPp-0005tv-O4; Wed, 23 Aug 2023 12:56:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589209.921000; Wed, 23 Aug 2023 12:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnPp-0005to-KT; Wed, 23 Aug 2023 12:56:53 +0000
Received: by outflank-mailman (input) for mailman id 589209;
 Wed, 23 Aug 2023 12:56: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYnPo-0005ti-Ea
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 12:56:52 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8632272d-41b4-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 14:56:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6812.eurprd04.prod.outlook.com (2603:10a6:10:f8::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 12:56:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 12:56: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: 8632272d-41b4-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BPpTEYyLGEwlzOZw5glAxaCsQlamlMPPwHOPCjzeOaXZWhm8PIF/+UjD2LHI8Qa5eTBJjQy8VrWdA3zhISk3Ufiij7DanwhlSEf22l2GAQIurUH1r3CabiEzFgcY+/Ih87XDV/bfVl+cCXj1r8+Fhb6rsADtpySXafwKo8NZB7ngPX1FNRDPr9CR8l5mnZW4gjOqs+7LiFHxda9LdcxiWWq6oPz776yWUmEH/8vVl6PdCF2ZD4wDkJfskmil8+4vVBGhZVdFQNgWEylQ/s56Llpv5eAyn2Wter8mXdENHHS/u3CoZFMxQftXh6mKSVI/SSxbvo1bGVBDBmTh7W0nJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I0epKzk3TasY2gvBS8OqyDEHuZsZVEDBQwqn8QQc5As=;
 b=DWOBSTaPC00J9hWkL/M6qI8vgdCFEGhwePRZ77PSXWJIwyPeueiFIHR3S74u5H9amFM/XA6C3X2Hx6E60/8CRddAByFA3A5ikfbKKBEGrrWKhIKvoojMnljD8Eyqa35cEzTjx5UeflvAlAYCs/aIyLV6cRR1VCmXbvpiKxmCAuuQeblhLW2eCuGe2UiHZ8gh6wuDUhWBfhWfAUekQON6Pt7Ro8MjyUKxkLyLKXLjlTJ0o4xAE8RBcD/OJoHeuuephtXBb0L7lHAF5ZvodTySDpVpe7wINOrIhFmfPgbVZGl4xnmklU9z0NYiX2t/9PcPTIYxRA1rtnU8Vnuc9GOyow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I0epKzk3TasY2gvBS8OqyDEHuZsZVEDBQwqn8QQc5As=;
 b=kW4hMWioBeO5Cq1R7RaIz338m1OTD/MTocm9zOZw6achW/y3T+So2PWnpGvRBggX2Z2OQruskn82G40INkxIn+C1JQjnw5c5SIMCSk8iU8ypI7X1IwSzAjtpn3PdEdS8IcMG+Jxou1F4nKnqSx1XHGbz2eKwIDMdhkI0u0U27o5auhZJRH7CvSBUfXxB9HhOR8NIPPMehRTUMBfZ3/N21KZ0eteA/++i8COpCliKdG+gFz2yCfyZkdTcyvPkIT3x2osAyHWNgeaoFgpZALjR1JSYAP4Dr5BAx0SuuosfRJyV1+V13ui+FYaeaWxiPn8602GdZXLDB7cOtMztvAiLOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com>
Date: Wed, 23 Aug 2023 14:56:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Thomas Gleixner <tglx@linutronix.de>,
 Simon Gaiser <simon@invisiblethingslab.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
 <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6812:EE_
X-MS-Office365-Filtering-Correlation-Id: 575a0185-6b04-4865-ba28-08dba3d868e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1nmwfLRXxSpaV1EEz13+OFz+6pv5zuB7xT0S6sW1GCRJEbTiLlnxZHEKjd1cWTshU0cUyV+VIiTNw/xMD92jA+wOZ4uh4YPwJ3b5JacQ3K0N1R7DpS6dUcRTDayleOmnaP+g/9K+e+W8BaQs8AFbJtYSWnrMFte1lFyLVLqHakFaOSDGG21omoPbFxhmS7bhP1OrZiHWuuB9b72z/yAiuoLTPs4BBHv9D7hccNsBzbwMPYF+hjVJVOSEEde8bFd196DFTdUi0NZNTxnT3ONr7lpDgwes0nM0XXJL+hBMmy/u5hRKb/NYx8mxfRwPVGW8PPRRDQoNheR6qdfxNUJOlCcdXk0D98D7YBfCJRI0kxoqvZ9E54gO73KLc3bC53TUj79TqfCOCSC4MhX1RCQodUxY6Nfpdki9+C2d1btpwkShW+vIT/AioPlB/gqVf3cIZ7az0nZEJXBA7lf48wJUwKnJaZcqdWNPKzP20MgOMQA+CAVHRbeqseEH0s991mpBjBd5wdW05aH7bPkhdejVLoS3GQtyDTe8q95KD2ugTNPcA7wloCJltkDIOgi1096P2+0HapxbCTA/qSC3RiO5dGYdb8CQKxkM/bqh65lRlKuD5WlGs8isXnUguf5v67SCugOcDrbti/vwgKwVSxnYSA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39850400004)(376002)(366004)(136003)(396003)(451199024)(1800799009)(186009)(2906002)(53546011)(6486002)(6506007)(38100700002)(83380400001)(5660300002)(86362001)(31686004)(31696002)(26005)(2616005)(8936002)(4326008)(66946007)(316002)(54906003)(66476007)(66556008)(6916009)(6512007)(478600001)(8676002)(41300700001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0haaTlBR0srUFlzdmJobHhpYVFoK2piTDFJV2laL0ZWUWJrZmc2aVZ0SkVh?=
 =?utf-8?B?QWpBamc2b083cDVoUE1BMEU1ekVwK0JFRHRndmZCc1pOSEsvOXArUjBvYWtx?=
 =?utf-8?B?aXRsOFh6Q3pDditpM0piYlVyTmVSemc3MnJjT3BOZXgrYXRiNXNVYnYvT3Ft?=
 =?utf-8?B?Q09oVVhYT2hpajlUdkcwQjBIWDk2d0FDTFJVTlVEY0NGUXBhWUlXb1dEZ3h6?=
 =?utf-8?B?NzdsSHhHejlwRFNrUlJScE1INnNoOGRWWmtUMzMxcFMraVh6eExXd2RXV1NG?=
 =?utf-8?B?cnlEK2laUzFZL2ZlUkdhWXdLODVGOXlGU2tFaUZaeFVOMlEyUXpBTlgyNnJw?=
 =?utf-8?B?NGJ3NWNYc0xabTl6RExXdzNaMU5TR3A4c1pGd01qTittTzJhUEdKWjBOVDRw?=
 =?utf-8?B?ZEZxdEc4cDFNT0RlVTNjTjlNSkE3UEwyQm1uNURQdVdNcXprMGhnWWZpT1FW?=
 =?utf-8?B?cm1neDY5NElVRUY2QjY2RWxubG0wZEFVUm5IbGRPbFVZYjYyR2lBQlU5NmFB?=
 =?utf-8?B?QVBmRUczdHFuaDQ3ZXc1blowYTRyM21MNmNxcTV6c1c0eU9wQjNxN0NjVk40?=
 =?utf-8?B?Smpoc1lrMzdycmtucGd1eVNnUmR2eVdIRFlNcSsxVXcvRTRzcFpDOHZzV0wx?=
 =?utf-8?B?WlBCN3VPVGdGdndxRkhJS21UK01pZ2VHODByWUdiOEhvNXB1UDM2NEFyZUNs?=
 =?utf-8?B?d3hob1FnTHZBOVI3K1FtZ2UrdzQwU29uUFBYcFFKM0NRL0JvWmk0TG1tbk1W?=
 =?utf-8?B?akdFSVA0Nm9pcXFXUlR3TG0waGI4MlBYL2xraUVPd2IxM3h0TlNuaUVLTEl5?=
 =?utf-8?B?NTFNZ0Y3cjFCMkdhbDhqbEtHb05kMFhLL2E2VnlxRjNFbHFUM2E1VzhmMzlW?=
 =?utf-8?B?QUtKUEZhWVpoL1BoMm9OZzdIQTlmOWVhdzJDREhWRi9RdWtmblF2TVpRcW5n?=
 =?utf-8?B?a0tEVWQ2QmJzV3ZpaHpNUUwvM01YZm0wOWtQZGxsOWVDVTdkZ2RDU1l0T21J?=
 =?utf-8?B?SGtzUG5iYzZnVzFJNVVaOXg0UDFmaC9xbkZLYkhwaVJQa3lIU3ZhbFowbnhD?=
 =?utf-8?B?NkpjRFh3RnA5N0dNNXB6V0xBSWJnQTdSYXZ2dCtsZ2pSbnpLQTB5SGMrYU9k?=
 =?utf-8?B?R1FXU29KZzhlSVBHNnhBUDAySEdJeWlFdkJQMkNqTDE1R29ZQWVKNnd1ZzFV?=
 =?utf-8?B?aXh1MFBRV3FIZkx2ckk2eGtMTC9FQ0ZETlZZbjFVYkozSmpsRDl0aXByY29T?=
 =?utf-8?B?TjR0bjJ4cmZoRzZDSldWV0xOanZwQmxlMXorUktNNU5JQTJTV25CR1VaeGIw?=
 =?utf-8?B?WnJndUxKd1lteWVZNVlwZEpFT1JRUjZUbkNGWlJTMno2d25FeTZDSU8zYXF5?=
 =?utf-8?B?T2RzTU9OZjZRYkFBbGt6TWxJSnlzbGFtVW1HZERHQ3lJTE52cXBrSVdhSVhu?=
 =?utf-8?B?NnZFTUFTdS9scVlyMXhkcGlrMW1RbUlSUzNvZDZoaTlWbHAraXhvd200REpE?=
 =?utf-8?B?ZFhBMUZuYUZUTlJPWVc4eURueTZFR3Vnb3c4aGtad1VoZFBEL1JTcWdyK2xr?=
 =?utf-8?B?bm9iL1FKZGpPYzRtV2dSK2o3YWVwYW5uZ0toQXhYVGlzc0dtUE1WYlFQbzZt?=
 =?utf-8?B?Y2VWaGVFL0R4Z2VkM2p5QnN0bnlVMy94bGZ0ZEFXTkRIeEx3dUdzSytzV2Iz?=
 =?utf-8?B?U3NlOVlZNU9EbjhWejI1YnRLaEVYeWJsT2ExMkpGc3pJTWwrQ0NTQnB5SFJY?=
 =?utf-8?B?T0VoQjlTNDNVQkV0azRPcDJkZlhTVExpWjNtRnExaExrL3I0TmVTWFBZRkNu?=
 =?utf-8?B?dlhRcjRmc09GcHRmV0xaWmlWM2ZJbmxMdnMyNC9ZNGhubTFHdE9lRWRpMW5u?=
 =?utf-8?B?OGN5L05CU1F3cXZLQU9YcEJaYS9FS0RUN2pJOVBGaStOU1NGb2JodExZc1Rn?=
 =?utf-8?B?WGFCYzVMTHJHeXgrTmwrK1Bhc2NyMjlVVS84NzIrNUluakpuVWUzcjFqaDFI?=
 =?utf-8?B?QytGNnJtY3ljNUxjV3RTc1FYZjlDS2dZM0xiMytsaTAvd0lqY0VvYXluQ1FF?=
 =?utf-8?B?MVBlWmxYQU4xTXM1eDhwd2phQ1RvbnJLSnkzd2xTOWNuTDNpbytockc4bjZy?=
 =?utf-8?Q?K3JmAGVMJmfHi3nZUouILxRyh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 575a0185-6b04-4865-ba28-08dba3d868e5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 12:56:47.2619
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rYb5eRAQjWlTNOUE23307AHgf61kq1knIgDnaiiIJruav0za1sl37NbuNp+DmVy0yVJYPpEXiY7IWIiSIZrkMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6812

On 23.08.2023 11:21, Andrew Cooper wrote:
> On 07/08/2023 3:18 pm, Jan Beulich wrote:
>> On 07.08.2023 16:04, Andrew Cooper wrote:
>>> On 07/08/2023 2:17 pm, Jan Beulich wrote:
>>>> On 07.08.2023 14:55, Simon Gaiser wrote:
>>>>> Jan Beulich:
>>>>>> On 07.08.2023 11:38, Simon Gaiser wrote:
>>>>>>> It seems some firmwares put dummy entries in the ACPI MADT table for non
>>>>>>> existing processors. On my NUC11TNHi5 those have the invalid APIC ID
>>>>>>> 0xff. Linux already has code to handle those cases both in
>>>>>>> acpi_parse_lapic [1] as well as in acpi_parse_x2apic [2]. So add the
>>>>>>> same check to Xen.
>>>>>> I'm afraid it doesn't become clear to me what problem you're trying to
>>>>>> solve.
>>>>> I want Xen to not think there are possible CPUs that actually never can
>>>>> be there.
>>>> Did you try using "maxcpus=" on the command line? If that doesn't work
>>>> well enough (perhaps because of causing undesirable log messages), maybe
>>>> we need some way to say "no CPU hotplug" on the command line.
>>> The ACPI tables are broken, and Xen's parsing of them is wrong.
>>>
>>> And irrespective - it's unreasonable to have users work around bugs in
>>> Xen by adding more command line.
>> Well, considering how rare CPU hotplug appears to be, such a new option
>> could default to "no hotplug".
> 
> ... or Xen could not be buggy and think there's a chance of hotplug on
> the 99% of servers where there isn't.

Why do you say "buggy" when there's no clear cut indication of whether
hotplug is possible, even not all so old ACPI versions?

>>>>> Without ignoring those dummy entries Xen thinks my NUC has 2 sockets and
>>>>> that there are 8 logical CPUs that are currently disabled but could be
>>>>> hotplugged.
>>>> Yet it's exactly this which ACPI is telling us here (with some vagueness,
>>>> which isn't easy to get around; see below).
>>>>
>>>>> I'm moderately sure that soldering in another CPU is not supported, even
>>>>> less so at runtime ;]
>>>> On your system. What about others, which are hotplug-capable?
>>> It is required that all APIC ID are stated *ahead of time*.
>> Would you mind pointing me at where this is stated?
> 
> In the spec, exactly where you'd expect to find them...
> 
> "OSPM does not expect the information provided in this table to be
> updated if the processor information changes during the lifespan of an
> OS boot."

I don't think this tells us anything about the ID not possibly changing.
It merely tells us that OSPM is not expected to parse this table again
(IOW firmware updating just this table isn't going to be enough). IDs
possibly changing is expressed by (a) the "if the processor information
changes", and (b) the next sentence, forbidding them to change while the
system is asleep: "While in the sleeping state, logical processors must
not be added or removed, nor can their ... ID or ... Flags change."

> Which is wordsmithing for "Some firmware was found to be modifying them
> and this was deemed to be illegal under the spec".

That's your reading of it; I certainly don't infer such from that
sentence.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:16:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589225.921036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnib-0000E9-Hl; Wed, 23 Aug 2023 13:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589225.921036; Wed, 23 Aug 2023 13:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnib-0000E2-F9; Wed, 23 Aug 2023 13:16:17 +0000
Received: by outflank-mailman (input) for mailman id 589225;
 Wed, 23 Aug 2023 13:16:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYnia-0000Dt-21
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:16:16 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe12::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a6b3bfb-41b7-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 15:16:14 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9900.eurprd04.prod.outlook.com (2603:10a6:10:4da::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 13:16:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 13:16:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a6b3bfb-41b7-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UJ0n4XLBp3VE8b3WV+4BSmBAr/obBVjXPEGOVgcUl6TwpwpG+6f//m1Smh7uzdT0C3bdnTDIzlznumuE5LVl8coZ8L7xOdZG80F63QUZ1cg4PbnYJnY2cPXCdrarSyi5D0iw2acKg+CvbBxoURL9XKRAtUkOUSunvhvx9407PcdwYxXDnNkmirnmRfswlOCkC9ZeFAmSvsTzz9UB+n9C/WQEd97qBO/+LCOc9jHIF9Ej6u3AFVlQA6BB2JjnXIaIIIZHzDydKYUF8xjw063wiaof77WFhweihrZra3OyjpawTkh6eQBcqTZgsIoQMJ52LaSt8XSmFJRO1BfpO6eJ0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OiBoAiF1hPydvZjvvmgG82qlfftm6SeyRMA9iZtTf+k=;
 b=Mkl2l3C0jk5TxpULmvcHYvIEVqvWbVDB1GPVIEHfLEuXlHGOlf2lRdaZAJg0au7+/uGA0SNkiNSDTHWV/vG1tcvU8+yZpr4RrsLbl85FbEktrVzAm9dL1bCc8GdzgPkhXFRTzxhQPhsejIYBrBI3DW/jfl/J3cfCXo80UnOtFF5J7A2gGPBmvDB31dBHBj8TYH/zBHeQyAP91OtitKFGProGrBLB97lu4Jw7pRWg1lmtCX//o5XkUc1UyKX9erGrw/t4logUi2zEjTguYvQlJAmGe3ECORcK1BzrDhj4ujK95f5M5RcwNyig5qoOI0GZ04OM/LYd9XoGOpTY4j387g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OiBoAiF1hPydvZjvvmgG82qlfftm6SeyRMA9iZtTf+k=;
 b=dDQ5AE7060KYTzGPSnzN1oPXx4rmxnbVX1vvBiJhPy+jlOAR0S5AYyAj6+sXm8xJq9bx5Tc85X4bJowvr+JEJ2o1sUbfxGHH4SRtvDaI1mxGG0+vCn1j7Bzotyp/0he6QHYOfv4HEsSY57cCJqze3ft3IuT6XvLh6Y5Vda7cGtcnWw7dSLfTxdpRRPZ7L1IW+8hV+XKafPDkFUPjsRZ1TglBJXgcsKb1X0/nMsL8mh3u0N3WDdxS9YghgVIZNThqodrbyObBobbDfUC22qDG1Q/zqFGZkA3Ma1Izh/yjWFLQKcwvSQmpNv1ct0OCmQH1PxVmnN9LLPLjmHR9QnFylw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c853c27-7ee0-e27a-75c3-837fd5bbc5a0@suse.com>
Date: Wed, 23 Aug 2023 15:16:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v8 04/15] xen/sysctl: Nest cpufreq scaling options
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>, 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: <20230807185119.98333-1-jandryuk@gmail.com>
 <20230807185119.98333-5-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230807185119.98333-5-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9900:EE_
X-MS-Office365-Filtering-Correlation-Id: ba808bf5-64ba-4fd0-2318-08dba3db1cd9
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mzE4kSVmZbanwLo9unli/pM3tiRNsGMHGExRcifbp7MI6fPc0s2Hvzuar0iB0dKNu98wXJG5azvbuY4hJmfj/apZillGo/lIDDVlt4k2n3DY+xH2TubAJ/mGQYWt8kPQe/yXPPBlhXE0JocsNbxHGp3R8jI5PcWjlVtmWTsfhIYFWBMfaYHbwXQdkYbLmGmFoAdmzVYP+yuaNGDHrfDlre8FVletsoxH/MdatYR+SVrBOFH7How7rsZcy+9SxZXREbwTtocDzKW1CzEPAh7aJ8u2ki4TmevnTd5rbu4c6WN36XBc2yGwMenLl+hhOAWhX2doYwSp7Yfp8HP6uxv02rQOFjtMLQl0mxEuw4+xO611egdBq6DiLfM/ByQ+Ih9SZtSQE3ufqq9Y9kXyVj+6V1daaDQdgIprovUJjUAIZqBI17CNn/55K3U9FXfH3SotOZHomJHavXM/kJEV7aLS0U5+RLv9Vyoq15kqhYPOQbP6i4AKXhFL4N1SAKlOsYbZYUgfQXeWO5WN1oNX6r0sdE11DsUOxDL8trlYDkkvTsq0mk+Zdl9h22WR0Pz2H9Oov9p9rH6pbtyDYXcl6Ck0fTORAPkDiMeF8YtIEW+HrQowz0C7cxYSF8T4S+7IOYusGVokSQ317i7wJV2xquHoww==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(376002)(396003)(136003)(451199024)(1800799009)(186009)(2906002)(6506007)(38100700002)(53546011)(6486002)(5660300002)(26005)(31686004)(31696002)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(66556008)(66946007)(6512007)(54906003)(6916009)(66476007)(66899024)(478600001)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ak5sOEtDcVd1NEZKQTFTcUErRHNQQkw0alRKalRjUmJSTU5CMGxCb3BkeVhT?=
 =?utf-8?B?NDlaelpwU0YxbzJZaDFPT1R3SnNxODBkbDNQVXovK3puaHZRMUpWWHU5WHNR?=
 =?utf-8?B?Mi82S1VZZVl6a0x5QlB5bVdnaUJZcUpkOVZIN2U2cmxmaE1SOFRiMWpQckxU?=
 =?utf-8?B?RnVmb0hMM29aMjFldURYbkhZRFdsYmRMSlJZY1BvM0JiTXNnaUoyUFFLYjR1?=
 =?utf-8?B?SjhzYXhjQktvRzJVK1RmWDhXMjRGeVI4Y29HQURYYVlpTXE2OUpHaTNtQnFu?=
 =?utf-8?B?enJvenJIdDJvNkRkQThPc0xlMVE0eGljTWNrMkNwaWlKanB1VXdobFVIUE1G?=
 =?utf-8?B?czZCYUNRYSsra01RMXlQTEFoT3NPTStacU56am5XaFZpb011Y1ZrRFV0aWsz?=
 =?utf-8?B?WWNQSktVaFNyLzlHRGZKMHB2a1M5Uno3YklMVGNMSkZwNDVZYkpmbS9LbmFN?=
 =?utf-8?B?TTBIVlB0SkRqelFUSzlxVzk0eDdvT25zc2hyaFh4TDMyaW1heEIwalZFSWZt?=
 =?utf-8?B?cURML0ZuQ0w4T3JqczRlbEplcVNXTmxZSjBibDBVUi9ETDlFNEd1cTcxOHVJ?=
 =?utf-8?B?NmhGd1NvV2RhUmxHTHZxMElhNHpEcEhBd2ZqKzFDVlJCcEs3SWErekFGL0NQ?=
 =?utf-8?B?c1BEeEdnRDNReUY0WGs1eDVyUVowd1pjdnNkZ1l1OEw2VWoveEtocU5FV1Bv?=
 =?utf-8?B?dzFxWDd1YndIZmEvWlcvMmVXNHBzSGlIU2xueVd4UzZxdWdBWHRLbjRtdnh2?=
 =?utf-8?B?L1dkcDhad0J2WVpYZ1hMbGZqcDhEKzdLWnJxYno3c3hLMEZ5Q0h5dDRpUDRP?=
 =?utf-8?B?UnR6SkhNaU9JQWRMQzMwT3JBVGhrVDBqQmlNTDd4Szd0a3liQnJmNGdtSVhD?=
 =?utf-8?B?ellsTnhSVnlBMllzTHNCZTF2OUcxaFJCbDNzZWNsdUFaMkVlMWQyZ3ZDdEd3?=
 =?utf-8?B?K0NKUHlyd2lUcGoraHNiYytUYnV6QnEvVGpWbnhoVGh4NzhnTkhlSy9aVjlv?=
 =?utf-8?B?MlUxaXd6dkF4RERST0VTU3BXSjBFa0dOQTk2UDJNUFB0Ry9WRW50cHJtWktF?=
 =?utf-8?B?cGoyNVUxK1B5MVZLUEsrZzBNUHNVYWMyWERkenJyKzhYdzJ3YmJ2MmVZVEtL?=
 =?utf-8?B?Wm8zWUVxQWFoVE1VUzBxcndacDYzZFRuZlhpWnZWMUR3U1FtTzNJMStHR1l1?=
 =?utf-8?B?c1pORy9GQkY5SUtET3lkVzllT3VTTlVIbnVPWkZHY3gxTU9UT1ZpUzMzeWRM?=
 =?utf-8?B?ZnR3OVlwZHZBNkFlb2FDSEU2dStiNXNlMm9aNW5YNEVENGQ1L0NGWjRlTHBI?=
 =?utf-8?B?YUM5L2xkQVAwOWxmL2lTd0Vicld4dk11elM0ZGdXbjA0NW5WZ2NYeThMZzJE?=
 =?utf-8?B?NUZ6VTg4WTAyd216UVRqYThvYjM4d2RUVWU2K2N2WUVMYk41YnZZVkw0QVRV?=
 =?utf-8?B?TkpxcittWjRqa0hpMENZYitGYkhMUUdXVWsybWFJN2xZcUZxQ3BRNFBzRkpU?=
 =?utf-8?B?eFo5dFQ2TmxRSFVyYXAybTY4N3crNGpQU1o3RHVHRGFQQUpsY2p2RC9uMnFY?=
 =?utf-8?B?S1lGWFlENktKQ3FoQ0diYnhrVGlJTzQrRWxoU0FJellscGFEcUhnUG5BZUF4?=
 =?utf-8?B?MURwR1lTMnJCSlNMcXMyeTNlemlsNmpMam5pVlNVdVJFVFJYZEVSUHpaZ0Vz?=
 =?utf-8?B?Skt4THExYjR2ZWNsTzVyS3QyNGlzaEhkWWdxc2NKd3ExZVZ5akdlWUVpdy9p?=
 =?utf-8?B?Z3FabHgxUENwNitiZDd0QlUwT0VDV1M2T0l2anlpc2tIWGtoZXNBSWo4aVhU?=
 =?utf-8?B?NkJaVDJVNGZ2WEEranpFcXhkZURZK2FYWFdyVnRVVER6UXkzQmNYRk9rbEVv?=
 =?utf-8?B?UU1wSktQbXdmZUJaaEcrR1llaFErSVY3bWQyWHNvaDIxZ0lQQ2dLL1B2andX?=
 =?utf-8?B?THlFRUdRekZPOEhDYlFzL3UySGhTL0ZEYmF4MFg1ME9kWUVzQWpNeDJwUGxN?=
 =?utf-8?B?N3h4M01BYnRKT24wdVZxRmpaSDRlSEw1RnBWRHZpUHgzUjl1VWhmOGtsRlEv?=
 =?utf-8?B?MSt4dEtBd0M4aGg3RU1tS0RVbWRjMVJDYm8vc0pKQnRnOTFVWnd4MlFFR0hv?=
 =?utf-8?Q?uFz6L96TebGmFlte6QxvAWtWd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba808bf5-64ba-4fd0-2318-08dba3db1cd9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 13:16:08.1847
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 386GbYmImkCuJE42KBFiMhgi7vRqHIu0eF5u0GAhi8oQ3Kgs/HxneT0dkExYG0+GBidFrbmnQwTGi26aXkD5PQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9900

On 07.08.2023 20:51, Jason Andryuk wrote:
> --- a/tools/libs/ctrl/xc_pm.c
> +++ b/tools/libs/ctrl/xc_pm.c
> @@ -245,6 +245,45 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>      sys_para->freq_num = user_para->freq_num;
>      sys_para->gov_num  = user_para->gov_num;
>  
> +    /* Sanity check struct layout */
> +    BUILD_BUG_ON(sizeof(*user_para) != sizeof(*sys_para));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpu_num) !=
> +                 offsetof(typeof(*sys_para),  cpu_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), freq_num) !=
> +                 offsetof(typeof(*sys_para),  freq_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), gov_num) !=
> +                 offsetof(typeof(*sys_para),  gov_num));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), affected_cpus) !=
> +                 offsetof(typeof(*sys_para),  affected_cpus));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_frequencies) !=
> +                 offsetof(typeof(*sys_para),  scaling_available_frequencies));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_governors) !=
> +                 offsetof(typeof(*sys_para),  scaling_available_governors));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_driver) !=
> +                 offsetof(typeof(*sys_para),  scaling_driver));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_cur_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_cur_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_max_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_max_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_min_freq) !=
> +                 offsetof(typeof(*sys_para),  cpuinfo_min_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_cur_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_cur_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_governor) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_governor));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_max_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_max_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_min_freq) !=
> +                 offsetof(typeof(*sys_para),  u.s.scaling_min_freq));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.userspace) !=
> +                 offsetof(typeof(*sys_para),  u.s.u.userspace));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.ondemand) !=
> +                 offsetof(typeof(*sys_para),  u.s.u.ondemand));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), u.cppc_para) !=
> +                 offsetof(typeof(*sys_para),  u.cppc_para));
> +    BUILD_BUG_ON(offsetof(typeof(*user_para), turbo_enabled) !=
> +                 offsetof(typeof(*sys_para),  turbo_enabled));

As the build breakage shows, these checks are too aggressive. The two
layouts can't possibly be the same with 32-bit tool stacks (and hence
pointers being 32 bits wide). But we also don't need all these checks;
what may need checking is only what subsequently is subject to
memcpy(), not anything that's dealt with by field-wise copying.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:31:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589241.921070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYnxR-00031V-5J; Wed, 23 Aug 2023 13:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589241.921070; Wed, 23 Aug 2023 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 1qYnxR-00031O-2O; Wed, 23 Aug 2023 13:31:37 +0000
Received: by outflank-mailman (input) for mailman id 589241;
 Wed, 23 Aug 2023 13: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=dmRg=EI=citrix.com=prvs=59206e676=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYnxO-00031I-Fc
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:31:34 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e472337-41b9-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 15:31:31 +0200 (CEST)
Received: from mail-dm6nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 09:31:28 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by DM4PR03MB5966.namprd03.prod.outlook.com (2603:10b6:5:389::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 13:31:27 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 13:31:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e472337-41b9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692797491;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=5RfTx1J1XvZqRy6wl+tk1NMB4UY6EpcATgAX4Vw4GvQ=;
  b=PZC+brhiPpAZxlWym3QOUsg8purfJ+I1hhV3a4PCfcNTLcuh/wYafMo7
   T5zRga4FFtvcxrSLGJdwQ26UJ2q0JhRzaLua3m8IdRZn/GgMZ3J53u8uo
   BuTRYPX6qcxqdJUJacmFN2LB7GxGPewVoXkx91sEJOltfDStD6GMIYmY2
   c=;
X-IronPort-RemoteIP: 104.47.58.107
X-IronPort-MID: 120404847
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Rz2B1qPhCrAursvvrR1xlsFynXyQoLVcMsEvi/4bfWQNrUomgzcAm
 GEWX2mOaPeNNjDxKN4kao2+9UhQ7JTdm9NqGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/vrRC9H5qyo42tI5AdmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rdQEFFq/
 +JDFBMqVSiSuLzt8vWqY+Y506zPLOGzVG8ekldJ6GiBSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujCMpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyj02reTzX+kMG4UPJaD0e5lpVGd/2w4KEAqSkahn+ei2kHrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAmZDNcbN0ttOctWCcnk
 FSOmrvBGjhHoLCTD3WH+d+8ry60fy4cLmYAZCoNZQoD/9Tn5oo0i3rnTdt9Eajzktz8Hxnxx
 SyHqG41gLB7sCIQ/6Cy/FSCjzfyoJHMF1Yx/l+OBj3j6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQcH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:8HjxgqoeBlbvGAN5RMrBpLkaV5rReYIsimQD101hICG9Evb0qy
 lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM
 VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf
 yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V
X-Talos-CUID: 9a23:GTZxOm47oCcoAOPyTNsspWkFKuQvbCbh71DrG16HVz1bD6y8RgrF
X-Talos-MUID: 9a23:id288QU28wd3Sbzq/BTXoyFtEctm2qSFKB0xjogchdefZSMlbg==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120404847"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GkTDPLz54CEy7/VZfoo6jpugBB4kIIgfLVlOE/HUjpzUiHUEeiUmt5pUFVxoNIZXa0saTKhlHies/CkZiU3+X1BY4hrzNw7X2QTTpvUDGkzmasZMUeBBVGLKdJh07GhDRiF59fP1+w0rfJgX+Kim38dkrLUtnwHtpf7cQxPFlZ4/G6K9v5HIyTYyVDPYMmiceLwXVNkvHWwWEQyDd6DeCS4zTEKUw2idrJCDU3n6L69/orlcj3lppT8cGLK0P67F5g5XQPqT1GqyyZuhts0DZ6hm5ETWl0qz2+SWtotJ7F8OxpaOofCpSmC0uSrdapMBS0A20iax4jb3vMnTSOuerw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4IhcFbDYVzEkZuOzrHZ8RaicR1GnnISMLxAUpr9BDOE=;
 b=Utes5OKlqQFEFKt1NcJIFDBkuSRxzgIJcBeSi5teFeAXmXqvs/7k+xLmRyVIOZYPB6hlygt5iAZXKAxKOBMzIQpgXGnsvl2nxJuJDYPPff+/nNWi7NFA6nGbxjww4uiIQJRPvtNtfJcDN/HKocyDqiWprOOHvO5SsUG1LoW4nmOV6EJPIQHeIPr9ZB71ot5Ohm6Vcwukof/2w4gaoxsWVnr9WXoexSucL2PJfH1995Hf9j+RdANMDAKfNTvEAhnsH9hW9y0xI0bD/9T+sktdXXFsxsfLxqfChre/ZeBI0FBG3HMf5jGMK8onJBVVEvDlFY/iZBLz4pQHS3Cmbj72NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4IhcFbDYVzEkZuOzrHZ8RaicR1GnnISMLxAUpr9BDOE=;
 b=k8zo9GfZtupW5BsGzhXDSQR9H+FL+QltGlqtG1d72t4bo1XN/U8gIOwyA311Lk3C99WpxQAv9G0w/uN6E6z7muMJxYxyOoNv8C/i90+18cFsnRr0OcIek6DxZDza+3wRHxC/aHQB0uxlRyDH44YXymJiC7zcliFoPaJgYvzXHkU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 23 Aug 2023 15:31:21 +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>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before
 re-entering guest"
Message-ID: <ZOYKKS60iWq6Zx51@MacBook-Air-de-Roger.local>
References: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
 <ZOXqQrFOpofVR_B3@MacBook-Air-de-Roger.local>
 <327109c1-f8ad-f8c4-01b9-ea19dc5df247@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <327109c1-f8ad-f8c4-01b9-ea19dc5df247@citrix.com>
X-ClientProxiedBy: LO4P123CA0139.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::18) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|DM4PR03MB5966:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f0ec529-ecec-43fc-eb49-08dba3dd406b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h6CXW2P1A+5GHNXNBTEX1og1EGZeWMItiDMSCr/SL/+b4TIiPQQhy4/HlD9XS1qvx77Sr1HNi9BlKcWnhN9xTL6q/lKrilxSBBeuN4ftNhhCcpUFcZ66ueEeMVxEoOsyBdd3LpeCjd2Tdp449xWwZHPHTdfzDqR220908AgObpj9YGqzIIZ+PZOpFNc9BtL7JXjE5AgI2I0rGBqzejRfB0RKy6NZ4DIBr53oAGAmKxmEFq0QrlIwhFdFLOYAUbltZRkwbPb6DCN0dM7LnvWphzQEOE7ZSZP1ap8vBUizOIsNYW9/Nl8Ndgnk2MRAj1pn9xn/Evmh811A6lvxERM/1g7ve+T0TezjDIhXeXayxTGLOcWVsTjnknc1CZCL1RyT4DDYgLb6P5srQwLB+IqNrznHeuq8vUipyIx0Rf0ckzJujiYUkBQ38X64qKP1LeEKXkFPXmhBfpotOvgHBPmdeG/djpfCY9UUuKEZZaIK3r9Kvc7FHNrc4uwqjzWOuornZoWYWRWeQrKOpeHk+iKDh3OrdohepTjTCL7gWuGrXsGTugY1himlE4iRyO+HyrLt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(376002)(366004)(396003)(1800799009)(186009)(451199024)(83380400001)(2906002)(66946007)(6506007)(53546011)(6486002)(478600001)(5660300002)(26005)(6862004)(4326008)(8936002)(8676002)(38100700002)(6666004)(66476007)(9686003)(66556008)(54906003)(316002)(41300700001)(6512007)(6636002)(82960400001)(86362001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3hiKzg5QmFxeDJOWjRSZVJVVVpCZDQ0bUc1NkRjUDd2bVYzd3JjS2UxZnBO?=
 =?utf-8?B?ejAzK0lxM2d4N3JBQXdsdnF6b0UzdENzZkJnTjdkcXZoOVYwOXlmQTBaeDc0?=
 =?utf-8?B?WlJsd01WQ2x6UHJMN3FYekNQc1htU1I1WWFvdWl4TVVEKy9rd3RvR0Znb0p1?=
 =?utf-8?B?akdRN2VDSS96TmVMN1RkNFdNZHpNNS9Va21tZUVpbkRUR3JHZUFsL2lNdVhq?=
 =?utf-8?B?SXREejhLSUFPR0N6cWtWb1hWRG1LbG5weUl4aE01QnR1djVNL0duaXlaVWQ1?=
 =?utf-8?B?ZFBic0pGM1N0UGJrbHhWSC9oS0x6WHpsWS9zYUVxYUFGckhzT2w0R1lnN3FK?=
 =?utf-8?B?Uk1uMmpCRkk5RHF6YitFYkZpQ3BBbjVzbkJkd0NBdCs1WGFuSUhkTWFMWmdB?=
 =?utf-8?B?SzArUkEvU2QyOXRsZ3NLT2kxc1lHQ09iNHdPYTlHcmFnVmk4VnRFbUpNSzVN?=
 =?utf-8?B?Q2EzbTJna09OemdiY0ZPYWpHdy91SWN3elA4blNZRy9lZWJKVWkvNkRqaERl?=
 =?utf-8?B?UGhMYU5OcEMrWnlsTktvNFIzRDlNUVVJaFhKS0RNZTljZXZPV3ZTRHZjVC9U?=
 =?utf-8?B?WlU3RzZwWVI4UWRlcFYwb1BTK05GSGJCTENCMVg1NzF6YlFoVU0yd25tanRj?=
 =?utf-8?B?U2RIbkRCMlRPTStqa3poOGNyYTFneG9XaURkNHFCeGhNMG5kYVl0bE5zaUdq?=
 =?utf-8?B?K2tYbHg0dzZJeVNUWmErT3l5YU5Pb3NPSGZuWG10ZWJQekZFK3BwNFc3T2VD?=
 =?utf-8?B?LzB5ZmxuMklXY2JqOTlDT3p6ZmlvUC9NR2N3cFhVVnVHS1hEZTN4VlExQ200?=
 =?utf-8?B?dWpQdU4xS0szNGF0MW15Q2dzVU1wOWVPVDNPeERIcVZtYml2TWp3Vm01QU1W?=
 =?utf-8?B?dTFKaUMvUDgyY3k1YUlnRk9xMXgwOFJORG96K25aSXNOcnZUNXNNcGRsQTdS?=
 =?utf-8?B?KzhxOStrV3hScDVyN2pkbW0wc2t1S2pEODM1WWJlQ3NsUzFrcG96d01VUnJv?=
 =?utf-8?B?UmtKYUExUVJlS1Y5RWhqQVMwY0F1UXRQeXUxNE00WjNaTWZZNks1cmd2UHV6?=
 =?utf-8?B?OW16Z01nSHVXKy9EYjFvREtHN0pGMkFNQnQ5d1NHRTFXT2NOWTRUNzBsQ25L?=
 =?utf-8?B?Q3NvVWh6Z09PN1NMUXZVY2x2VzlzbjkxbWxXY0FTSmdCWkNyb3A4N0FnVC9x?=
 =?utf-8?B?U1Y2OUd5dC9kZmVpY0U4eGJNRW81eS9lQ25nZEFFNThXcHNCU3ZRZlVDbmI5?=
 =?utf-8?B?eGFqTUJHVUJHQlRmK2RjTnVaWU1IeitMUnFDQ0JuTkc4a2VjNFBFb0lRdUl0?=
 =?utf-8?B?K1hzYno1YzY4YzhzekoxcEUrd1hFaFlQUnQrL3NzNHMrbGdsMkNySlNVYkxY?=
 =?utf-8?B?Rk5scFNCQXZ6dmNtS0d6Uy9SVk1aUXZTRG02T1cwWVdkUWJpVU90VmVVUUY5?=
 =?utf-8?B?V0RZMEVpMXpQK0tPRmU5TzlpUDRoRzk2Y2JWMFFqUmVKWlJBcElnSjY5ZFQ1?=
 =?utf-8?B?R01ic0lOM1dOSWVGMGJ2R2VsYkVYemI0elNSQ2poNDlkL255alpCcjl1NFFk?=
 =?utf-8?B?RXZrZnEwalNWOUxmV3lZVzlaN0ZMQTBRZGJDTU5PeFhvZEJ4SDdVc1hPQlpN?=
 =?utf-8?B?b1BvSHF5YjdUZlhaNFgvZE8ya1ovd2k1V1JEeXFELzI5TjM4bTZxV3B2Y00x?=
 =?utf-8?B?bW1RMXZDUmd1SEhZTkpHa0VjUGJUSGpuRFErbmVNWkpmK3oxT1F0c2pHSWdV?=
 =?utf-8?B?cCsxaU10dlpNNWxwaEdVdHg0TTlXeHpFaE56WkNjOE94QnFpVVZ0amlxSk8w?=
 =?utf-8?B?aTQ3ZndPYTFUbUZFK2QzbUFGd3ZxQVptOGEzbERJSlRhaTJ5NStNQ1lKMkp2?=
 =?utf-8?B?QmU0a2JESVFDbThFSkdWMDlFbWtDTkxjVWJQbFE0b2lwMEFlYnlmai9ONjVO?=
 =?utf-8?B?WjUvMUloRFJTNkF5QUt1RHNvazl1VnNJR0pKMFp5dDZzYmNhZmZ6dmFRUDRh?=
 =?utf-8?B?UmJiWWZiYlEzVnlGNmtDRTRnM0QvZy81SVVjUFordkpsZUp3U0paWUV6YTVa?=
 =?utf-8?B?TC8veVVEbXpUN2xOeUNUdks5SGZreHMyU2FURWZEVHcvT0U2ZGVhR3doc0JK?=
 =?utf-8?B?cERUV1F0Mk5pNCtvOS82Zk5Edm1PZXRodlBmeEVxOUx0NDZxUWZEREliVDg3?=
 =?utf-8?B?bUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	9v2PqdsZrTV5U1fopFfSdaJJNY3bFlS9PY4N9CfnoQecnXRm6dbAomTb5rpLzjUEF798cVXEhf+aMrWp3UScwcX46SoqxXdtldT/kkv4j5fXTuND1VX5E2qw2Gu29Zx2eM+0TXdNNdZ/qFber8Fza9tg8z5P9GWuShiz07QzkmttQzWoUUIXTHZ7aqr3TlTiGyU89KnrRB5dd37J81bgARyhRCPSSLy8rIo60pQ3pMrMTa2JP+HpoJyR95InXfcvw3fM7iOSlTzpK/tyxfmnhrlvzU7GE0cI0Dolb7lvstg7mjHvfp+4xcQ6hxYjyts2rj2dlFTqXPJbmGvQcJ2CN+xV63agI3wTwwK1yliZ0wGbbXe4uw32ihsSmnY+zdykiQh7dT3MEH27cwYXJCd4WZgupLppAegSrZFw7Caa8psfF4m1crZ/W0OBhuagKPyQaYRAms/oMerDI1KqNIzPvMZJX8s9RsJYk3L/QFc2/wm8ACsiguN+9tRq6lWfp2WlUhmgcj86uKNOxgfbSgYZilyesfIIWunDEYsaCtYOTu7v16c1+MqBE554Md7vZ05J9fDD7EPWZrYxugBoBNnlXVknzxmsKCDA/dAh68pbhz0+atcoi0N63Tgev2cympnMB8Ql1F0dhI2PMAqcU7zOfURDjTKp0Agzm46ifiBbCb746+8Pgs2DUpD2ZE1cW31AlmLMAi81GrGZ0+HuiYdiKBwHtxMbHVckWv5MLeW1L2qdOApRIjVXANwlyt8EQMLBpPLxaxM3HBITlJBz2kIxH+2hHct42lgUy6Qw6VwGufS31iDealMVTtHf9OSGLIjVaDcWW3449Oe99dnHH8SNnekUsgIYjJR6/O0zkrGlxpY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f0ec529-ecec-43fc-eb49-08dba3dd406b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 13:31:27.0331
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vl5DATY3SO8nv+/sqI/Pl8B+bDPTVpTB/EtcQ6VIZ1Ies6ZnT/KbtpHU5YEbDyWpm5xGm4IkMMDO3aK91WcA8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB5966

On Wed, Aug 23, 2023 at 12:56:48PM +0100, Andrew Cooper wrote:
> On 23/08/2023 12:15 pm, Roger Pau MonnĂ© wrote:
> > On Wed, Apr 05, 2023 at 10:52:45PM +0100, Andrew Cooper wrote:
> >> At the time of XSA-170, the x86 instruction emulator was genuinely broken.  It
> >> would load arbitrary values into %rip and putting a check here probably was
> >> the best stopgap security fix.  It should have been reverted following c/s
> >> 81d3a0b26c1 "x86emul: limit-check branch targets" which corrected the emulator
> >> behaviour.
> >>
> >> However, everyone involved in XSA-170, myself included, failed to read the SDM
> >> correctly.  On the subject of %rip consistency checks, the SDM stated:
> >>
> >>   If the processor supports N < 64 linear-address bits, bits 63:N must be
> >>   identical
> >>
> >> A non-canonical %rip (and SSP more recently) is an explicitly legal state in
> >> x86, and the VMEntry consistency checks are intentionally off-by-one from a
> >> regular canonical check.
> >>
> >> The consequence of this bug is that Xen will currently take a legal x86 state
> >> which would successfully VMEnter, and corrupt it into having non-architectural
> >> behaviour.
> >>
> >> Furthermore, in the time this bugfix has been pending in public, I
> >> successfully persuaded Intel to clarify the SDM, adding the following
> >> clarification:
> >>
> >>   The guest RIP value is not required to be canonical; the value of bit N-1
> >>   may differ from that of bit N.
> >>
> >> Fixes: ffbbfda377 ("x86/VMX: sanitize rIP before re-entering guest")
> > I think the fixes tag should likely be "x86emul: limit-check branch
> > targets", since it's that commit that missed the revert done here?
> 
> Well, not really.Â  ffbbfda377 really does have a bug, irrespective of
> the changes in the emulator.
> 
> The presence of 81d3a0b26c1 is why this bugfix is a full revert of
> ffbbfda377, and not just an off-by-1 adjustment.

Right, but taking this patch without also having 81d3a0b26c1 will lead
to a vulnerable system, hence why I think the dependency would better
be on 81d3a0b26c1.

Anyway, I don't think it's worth arguing over, so if you want to leave
it as-is I won't object.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:45:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589248.921081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoAY-0004gu-9x; Wed, 23 Aug 2023 13:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589248.921081; Wed, 23 Aug 2023 13:45: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 1qYoAY-0004gn-73; Wed, 23 Aug 2023 13:45:10 +0000
Received: by outflank-mailman (input) for mailman id 589248;
 Wed, 23 Aug 2023 13:45: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=3PRN=EI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYoAW-0004ge-NK
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:45:08 +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 458a6801-41bb-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 15:45:07 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-319559fd67dso5121270f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 06:45: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
 m14-20020adffe4e000000b00317b0155502sm19537353wrs.8.2023.08.23.06.45.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Aug 2023 06:45: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: 458a6801-41bb-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692798307; x=1693403107;
        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=fQ5GaiT0sZIp6gIQXTOGRDxpxHA+t700hx68Ehib/FM=;
        b=eyEhnZwjhRY3GGR9zHAUSh8FAimxzhZZ0xIBDGW330ZnbI3GQgh7XEC0YWeKqFrqtN
         J0Yd2wGDgh3Efb9uNtJ5qrg7d8RZ3u6OAuGyLcOgPHsbHa5Pk1D0WTgoaF1mplbVW0ii
         iEEFWhKP9Vv4AG2nejz3ghzpT8DmjeSXx7iyg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692798307; x=1693403107;
        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=fQ5GaiT0sZIp6gIQXTOGRDxpxHA+t700hx68Ehib/FM=;
        b=cr22UJn2IHUHDnYA8whZ42a8ZUkOh7HXYWlud6ImptM/FUnMx90881hS2Vcnk+qIqG
         OPlyYgI98TDEAxPmVQKpGCgLtHLVq5USKnSU8Idj0ujZnhf8eLNdveKeOX0uMJ27zieK
         Xni8Rw++FRVnPgvtVWQijFdNdzJnEoPJQ9KF3LS52cZwD1y4JAkCml9eCr1Ax0ck30i4
         0f7lEuFymr65niZPEec8frWb3qM/OqI2RhJFmSRsr0fFs88myUPgrdaVHw39Mrcnv2FZ
         JORwPPN+vTyBr4CCwT0GE/R1PQjn7L7fDNNkU6lZBRqOpVbzYymr6+nQK9Ogb3bjLlaO
         bwRw==
X-Gm-Message-State: AOJu0Ywu9LVIV5ZvumBS/V7SHdhHxw5CRp1T9Bf8qruZhxbArI/p86rn
	P/GjdzS0MEM7EKeOlCAP/guSbQ==
X-Google-Smtp-Source: AGHT+IHlDzZY0UEI+cOAySVz9M9j3Ruhqgy5Q3zcqNJDHw5JH8pFHDk8WTco/aHUkWkskzqkNXR01w==
X-Received: by 2002:adf:e6c9:0:b0:31a:e744:1297 with SMTP id y9-20020adfe6c9000000b0031ae7441297mr9031737wrm.50.1692798307200;
        Wed, 23 Aug 2023 06:45:07 -0700 (PDT)
Date: Wed, 23 Aug 2023 14:45:06 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] libxl/CPUID: drop two more feature flag table entries
Message-ID: <0fec10d1-b56f-416e-a417-b887a3219fea@perard>
References: <1517da3b-7d39-47b9-2714-d97dac217678@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1517da3b-7d39-47b9-2714-d97dac217678@suse.com>

On Wed, Aug 23, 2023 at 09:21:26AM +0200, Jan Beulich wrote:
> Two entries were left in place by d638fe233cb3 ("libxl: use the cpuid
> feature names from cpufeatureset.h"), despite matching the generated
> names.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

> ---
> Permitting "psn", "ia64, "cntxid", and "perfctr_*" when the hypervisor
> doesn't even know of the bits (perhaps wrongly so) is kind of odd as
> well. Permitting bits like "est", which the hypervisor knows of but
> doesn't expose to guests, is also questionable.

I think those are just aliases, to a specific bit in a bitmap. Even if
we remove those aliases, it is still possible to instruct libxl to do
something with those bits. So there presence isn't permission, I don't
think.

Looks like "est" is just an alias for "eist", so it doesn't seems useful
to remove it either.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:47:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589254.921091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoCc-0005FI-Mc; Wed, 23 Aug 2023 13:47:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589254.921091; Wed, 23 Aug 2023 13:47: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 1qYoCc-0005FB-Is; Wed, 23 Aug 2023 13:47:18 +0000
Received: by outflank-mailman (input) for mailman id 589254;
 Wed, 23 Aug 2023 13:47:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3PRN=EI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYoCb-0005F5-Bi
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:47:17 +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 9243064b-41bb-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 15:47:16 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-31c479ede21so2919251f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 06:47:16 -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
 v6-20020a7bcb46000000b003fbb25da65bsm19048963wmj.30.2023.08.23.06.47.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Aug 2023 06:47: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: 9243064b-41bb-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692798436; x=1693403236;
        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=k0aPLN/EaS/YF5ywh2B6zULMXaN4Yrpyic2bVj2iISw=;
        b=hUUjRe96aaonb5z5HnCVJ6+zAclSuiXSdP37lREJIoPbZEwdpXbrWYCP4SqpEMH/kO
         1Mg8Mjc9WRy4aV+tJirtdsC5iuW/296658QQSkxqe3W9YYuGYpuu4FqhR+H5i4OgaWo6
         U3VcWnhgSNUxTPudzcAAvIO9hVvPBOqQ/CIaI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692798436; x=1693403236;
        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=k0aPLN/EaS/YF5ywh2B6zULMXaN4Yrpyic2bVj2iISw=;
        b=NRs+tuNnPjdsa9DOb+nVroiy2hgK6K8HbfcOAH6FqcbPX/gcsZZiVUf4IlKvs+ccBc
         yysB5y2NQIei1WncNc77A9msObGuOW1MQ8y2see1BEgtCSFNTf/iCEfR2opQR9rA8TTB
         ec4XWXPA9zXlPHnDeSqC6XMpRd0ERhZ838WF0Mj2VnpDkASq/glohXbrlRtjvxUakY3N
         8MZ7O7Y1KcaQ1oZv361DPEy5NDSnbVyUhBKcqV4DycdoxI9SiFmZe09jb+4GUxSLfTmc
         lWIgTQ295ddV8Zf7pWeklfvHM05n29lUgoBLbyRPgOHC7Wapi6mIDhOXpcbkWRFZ7DgT
         hyFw==
X-Gm-Message-State: AOJu0YzGswfr/XzyA5zzdod0ab4Bm8PyqhDSwyhr/XWvkaKfBmVp27UD
	HI8fLd4LoSZEjGQChPp2A3PHVJvI/USJym/PXWVGJQ==
X-Google-Smtp-Source: AGHT+IEhQVN+NfCxL6CZOwuqqPxqEgmMKGkvlSlPWx2Klmr2lMN1NVRMqtjk+BA7uXwHszCQkiQwew==
X-Received: by 2002:a5d:4286:0:b0:317:73d3:441a with SMTP id k6-20020a5d4286000000b0031773d3441amr9016488wrq.46.1692798435955;
        Wed, 23 Aug 2023 06:47:15 -0700 (PDT)
Date: Wed, 23 Aug 2023 14:47:15 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: [PATCH] stubdom: remove openssl related clean actions
Message-ID: <e7521955-b979-47f3-83b9-1a4095df8b0c@perard>
References: <20230823083219.19517-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230823083219.19517-1-jgross@suse.com>

On Wed, Aug 23, 2023 at 10:32:19AM +0200, Juergen Gross wrote:
> When introducing polarssl into stubdom building the clean targets of
> stubdom/Makefile gained actions for removing openssl directories and
> files additional to polarssl ones.
> 
> As those openssl files are never downloaded or created during build,
> the related actions can be dropped.
> 
> Fixes: bdd516dc6b2f ("vtpm/vtpmmgr and required libs to stubdom/Makefile")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:47:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589255.921101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoCx-0005aQ-Uc; Wed, 23 Aug 2023 13:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589255.921101; Wed, 23 Aug 2023 13: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 1qYoCx-0005aJ-RD; Wed, 23 Aug 2023 13:47:39 +0000
Received: by outflank-mailman (input) for mailman id 589255;
 Wed, 23 Aug 2023 13:47:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYoCw-0005F5-Iq
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:47:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9eca1ff9-41bb-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 15:47:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 13:47:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 13:47:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9eca1ff9-41bb-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mhFIuCCn14JoP471XYPI40x07aBjXBtR91iNRCasHiuFjfvPb350rHyHpSaaTWKPCVuKm3qWewH2xW9HKGCAKgeu1/UcXLS3FHr9zazrjTZFs9PXMNfztyF85qGVG4Hnkb4rolfVugbjwN/dRzH6bvV8Cnch7CvMhZ2nUpUiUu3VsqaIChK6RSeXAptw8mvK/oBGGBvfzRiKtgy+JLP9XbxfEkbKXhHgd6+AG9FK/skza0tYmv95x9l27a9hMGkK0TOLA9hHNa4Ks/meINTykeLUd7wdpLVvYYuXD6latgPRARIm3CmWcjA6F6n7O4bs4FrQ/4+WKXmhSdNQ+8FeUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CIxt7hMLQ6hhZMWbOHJvcK1Rpe3xiwvE+0oqWF42BV4=;
 b=eYBb/s1xYJNvfQMW080hqyIZRMSihFE+Pw6vDYsDtq1wYyyLEcHUA7kHNm5HUho9woNL4TOC6DyBsL49tBW+c9/oQ47NJgXrti4Z8R8XYTIXdnYYzX4TfOYI8LS5uzHVGOBg2/fhu/5Z1y9GA3/GfowaZao974xuHJVwfw4KqVZ+8561unkkdnI/WRDhiDHQ07J/4rVSZ2VEI9GkwyyX4fBb5WFaQV6Ug6P0r0M6t1vDYylaz3YFqnj18kadwBWGjEMxLTj6rtNKo/JKb3g4132ppi5lLFYmQn6Qaa0kSt+/zaDGz+wXlbp7hQNkWFnp2AzslvmQDAS3eBKzanJ7nA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CIxt7hMLQ6hhZMWbOHJvcK1Rpe3xiwvE+0oqWF42BV4=;
 b=rikvLaJqI4tO7wjaVatmwhV52UdvlgwA7QDwQCoEkD4buWOsCCcyn6aKbmToYOk2V4brxL0MYOk9Ap1Zi53HHX8oYpqYi3sPvhRoZFLwMbjyme8dsjOD8/UYjYCXd+5jig3sMv4G4dsWTR2wPjzqxBBxC5uTtwUUUJ0wAb1DJCponbZeQdnWFsj1QwG9lHzBUjLvMaRRpkE4qMiZXJ6cuhkCfmxC5p09Beh4JOhbwl6DH/DpoFWNpZ3hpPn0lV9W7Mzqi5WyxCi/Ouuh12bbKGJjmd6+3Z/a1x/OilhtXDY+zVYqVWbS21yg2l318+vU6TmLEA3ANY9leUtwyWjhqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
Date: Wed, 23 Aug 2023 15:47:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Jason Andryuk <jandryuk@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0079.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 058a2fc3-1ea0-4548-0a35-08dba3df7125
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DoVq2gD7VZvnCXdfF/fWkIW1yFd7wMBUd2U4uKyvCTI+hyjSAoieEn2xl2RCEDJ80z15N18AYvMPTu8CauePebwv5tGNPWqXOHsV36MXINfmXqNuG81WfNpp8CjZEZI5+PDXTAjhXEyPbl6SKqsHCpKNlviBh9F277/eeWQ70z3S8JDpbr5n/Ce6PTjTXR96Oti0Yx6Rdz3/XDvkKmU6gMPIlyelUDufzNI8so2EqHEU5pqbvlPWveu9v74m8Lm+R9DVUjccoNmhQTG1nAlFJ1+tr/87N5hRCwWfl8cRVDR1noHZ97IybM0CDzUxu911db8yPAxQqpPOX/CcuAZPann/R/O+7ZZZ8D8t3EM64zb2O+vR4dg8tZ9nRZisSHxQ+h/mlOdPFHTV8ngmd5JGhhUCIIrF0ihMVUyfzL8VwvlUIQwGzdXjipwFhGKECDyChsAPusUH5KfA8f/Ab4b336BhT3q2wNgWyZ15cz9Z98KPVHYSu4KO1n4tjEMKlL6vJ1Q0iK/Fsv14O8aYkA2YWyg364q7YoiQdsvZ5oNi29/Mclo+/m/QOni2Mj9GGKOX502kyEOUo1QYY+jIx2PocZA8lAcqaw0MfoY2iXzcHiyvufxMLnLfAJHKqlhBeqJNHKyEYxjelc6igwyri5VzLA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(346002)(366004)(39860400002)(1800799009)(186009)(451199024)(54906003)(6916009)(66476007)(66946007)(6512007)(66556008)(316002)(8676002)(8936002)(2616005)(4326008)(36756003)(41300700001)(478600001)(38100700002)(6506007)(6486002)(83380400001)(2906002)(31686004)(31696002)(86362001)(5660300002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXQ1RnFvWHJ4QnhpWU9yeEE1a3NoN2U0U1g2ZlV4ZklUaVhhaE02eTUvZ3Yz?=
 =?utf-8?B?QXFJYk9MSk52dGNLengxT2d5S0RNc3BRYmt0VDdKU3hKRzB3czUvalhuZ241?=
 =?utf-8?B?ZnR0d1FReENZaityNTlEMUVYR2xTWlkvSlpONnBEK3ErU3lBekJsRjk4MnZr?=
 =?utf-8?B?OTFsaFlQenFOS2pTME1DeERSaTVneVBubFVsTkV6UkZ3dXRVL2doN09kSEMw?=
 =?utf-8?B?Wk4zeGkzdXoyRURySnhadmxjQjNBeVgyWjBDZ25YTWlJeVZNT3RGQm5UWnlu?=
 =?utf-8?B?blBVRmxXMUdTQVFaR2xERGZsTjVYSHhuL0tkZmkwYjVBR3U3Zm9iendXa1V4?=
 =?utf-8?B?WTZpK2c0NXpjaWsxSjY5L0Y1ZFJVZkloTWhWaFJPU21kRVR1a0tjZkp3clg5?=
 =?utf-8?B?L0dqK21kOW5QN0lUUVVOaklkNzFZTGZBV3Y5SlJOTDlyY25zVW5iSkZWcUJZ?=
 =?utf-8?B?SWM5NEtuSDZzUDZlcHU2dWRISWhqcUtzdnpkK0RxZUZRTTFJKzJnZnQvN2Q4?=
 =?utf-8?B?N3BWUkErOWxLMmNiV1ZZVDhaM0I1OVZ0Q3RTMnVxbHplK1VHSy9YRG9jQ2VB?=
 =?utf-8?B?VktNaTFZamhlSE5od3FoRlgrV2NsOEU4UjVDOVg2VFdjd05xcmh6eGh5ZVBI?=
 =?utf-8?B?STU3NVFCR0tFVU1raTRRbzNGVG1HSGNYOGdDYWJqcmhIV2kyS29kTGo5ZGdO?=
 =?utf-8?B?OENkSmtYbHllMHRKdXR1QlpxTnlVaFNYU1RIaFU2N3BSc3N2OHA1R25XL2Vv?=
 =?utf-8?B?VTljcEJHWFRZeUY5NTA4MG1XOFlSQThSOUZMVm8xa3huNjcyazdYdG5ITDRZ?=
 =?utf-8?B?b3lNUWJnSWNLcVRja1B5LzlHM3VnL1hFVkVPcXhFK1dBK0IyVDlDSlYyanFx?=
 =?utf-8?B?UnpGbzVJMTN6Rk9WdEU2WmpyYjR3ZkRoMm5rQUI4N0VuYlZmV1lDeks0dUQ1?=
 =?utf-8?B?VmZwK3VIOVQyT3lVUWZZTnFQcnJoei9sVjVSd2ZMMlU0YlkrM09mVnZ3THJ2?=
 =?utf-8?B?YlAra1RDaXZra0ZQYnVNYXNTQmI2NzhQTnlhVjc4SGNpd1RCOUlHOXpGemJa?=
 =?utf-8?B?cDc3V2FDV1BycFJrVXVCeldiTENFT1NQY3lYWG5CY0pjb0xPYXpYcXRlRjBm?=
 =?utf-8?B?SHI1anNtTkVzN3BCSnVabnZRMXBqampTNldFTkY3SFlwRGxkN2Z6KzJYQWJk?=
 =?utf-8?B?YlRFT3RGSUtKRkVYQmxrTEtRQVl4czZWYlBtWHlSYjZycWE3ODhxbXlNZ0lB?=
 =?utf-8?B?UDBETFJCNWIxWUdrUEF5NWZydU1DZW9PTmRuaU1VUG9uVFEzazVqTCtkVHRs?=
 =?utf-8?B?NFBQemRpNVVTY3QzckltaGZpS3lybTltbUZVYmhjR25ENEh1aURvTnNOQkFM?=
 =?utf-8?B?aXMxZDJMN2xEWUpvU1l5ZzNONXJGeHpBWnNSYnM5UTZaMk10QW1tTEF5UlRs?=
 =?utf-8?B?NURSaTNPbWdKRWJDVVYrc1pFRHZUZDhycWRMUFJKcUNvL21Sa3psRXBPc25V?=
 =?utf-8?B?R29TTUZ6U1g4VUxESWNZbGI2MGN4Rm1Fd1I5anJkdC92VGsvaEtpaWpQY3dG?=
 =?utf-8?B?RkJ0b1VMSW15YXM1Nkl1VzNGRnkwMlZrRCsraVFRVzVHRFh3MGtkWjN0U2Fl?=
 =?utf-8?B?VGtwZ3ZDbEJWTUlSV2JYbWlBUzlpYkJuNnZHaWdzTllRcG41eVZEa1dhRDhM?=
 =?utf-8?B?WDhoeUgwQXRVY0lNemxQUDZYbWZBbkdGL0gyVWUwZlpReHdaT1VPMXRTN2Ju?=
 =?utf-8?B?NlU2NXAxNzBFbTc3d1dEQmZmR3RtVjZ5TGk5SFFmRlMwR3hkYnU2UWpnSjMz?=
 =?utf-8?B?KzdBSGF1QzVjRFFLVU42MG80T3dkUWcxR1dzVmF3T1lSMDI4cTBxSVdHczBz?=
 =?utf-8?B?Ylk0cWFzV2N1TzEvTnpidHNFN28xOHJRaytMTHFlQkVXejlOUDdUMUl3S21Q?=
 =?utf-8?B?ZTM0d2ZMc1Y3WUhOaC93djBmZEpydTJpVG1GYUJWc29mL0tSQUdaeDJFSmRa?=
 =?utf-8?B?ckRsVTc4MURPb3V4OFc1MEo3YkczbE90bWdySW9BY2VuOUYrZG1pN3lZY3RW?=
 =?utf-8?B?LzRJT3F3d3FuZTlXU1pxcjNBNk1YQ2tBQTdidERmVWs0YldWdXhkcmRRY3Y4?=
 =?utf-8?Q?p/vV+UxjPfwzVYNezxUmfNTXD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 058a2fc3-1ea0-4548-0a35-08dba3df7125
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 13:47:07.5914
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jsvuyTUQ5LG8ZAMIiwDamyMofcpRkZoJBz6fUE9oF1E2I1i9/XdYrwVjUYf95B9bBSpxtpZ3eL3SXzVGgZBeYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

The full structures cannot match in layout, as soon as a 32-bit tool
stack build comes into play. But it also doesn't need to; the part of
the layouts that needs to match is merely the union that we memcpy()
from the sysctl structure to the xc one. Keep (in adjusted form) only
the relevant ones.

Since the whole block needs touching anyway, move it closer to the
respective memcpy() and use a wrapper macro to limit verbosity.

Fixes: 2381dfab083f ("xen/sysctl: Nest cpufreq scaling options")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -248,45 +248,6 @@ int xc_get_cpufreq_para(xc_interface *xc
     sys_para->freq_num = user_para->freq_num;
     sys_para->gov_num  = user_para->gov_num;
 
-    /* Sanity check struct layout */
-    BUILD_BUG_ON(sizeof(*user_para) != sizeof(*sys_para));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), cpu_num) !=
-                 offsetof(typeof(*sys_para),  cpu_num));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), freq_num) !=
-                 offsetof(typeof(*sys_para),  freq_num));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), gov_num) !=
-                 offsetof(typeof(*sys_para),  gov_num));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), affected_cpus) !=
-                 offsetof(typeof(*sys_para),  affected_cpus));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_frequencies) !=
-                 offsetof(typeof(*sys_para),  scaling_available_frequencies));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_governors) !=
-                 offsetof(typeof(*sys_para),  scaling_available_governors));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_driver) !=
-                 offsetof(typeof(*sys_para),  scaling_driver));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_cur_freq) !=
-                 offsetof(typeof(*sys_para),  cpuinfo_cur_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_max_freq) !=
-                 offsetof(typeof(*sys_para),  cpuinfo_max_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_min_freq) !=
-                 offsetof(typeof(*sys_para),  cpuinfo_min_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_cur_freq) !=
-                 offsetof(typeof(*sys_para),  u.s.scaling_cur_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_governor) !=
-                 offsetof(typeof(*sys_para),  u.s.scaling_governor));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_max_freq) !=
-                 offsetof(typeof(*sys_para),  u.s.scaling_max_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_min_freq) !=
-                 offsetof(typeof(*sys_para),  u.s.scaling_min_freq));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.userspace) !=
-                 offsetof(typeof(*sys_para),  u.s.u.userspace));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.ondemand) !=
-                 offsetof(typeof(*sys_para),  u.s.u.ondemand));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), u.cppc_para) !=
-                 offsetof(typeof(*sys_para),  u.cppc_para));
-    BUILD_BUG_ON(offsetof(typeof(*user_para), turbo_enabled) !=
-                 offsetof(typeof(*sys_para),  turbo_enabled));
-
     ret = xc_sysctl(xch, &sysctl);
     if ( ret )
     {
@@ -316,6 +277,22 @@ int xc_get_cpufreq_para(xc_interface *xc
         BUILD_BUG_ON(sizeof(((struct xc_get_cpufreq_para *)0)->u) !=
 		     sizeof(((struct xen_get_cpufreq_para *)0)->u));
 
+        /* Sanity check layout of the union subject to memcpy() below. */
+        BUILD_BUG_ON(sizeof(user_para->u) != sizeof(sys_para->u));
+#define CHK_FIELD(fld) \
+        BUILD_BUG_ON(offsetof(typeof(user_para->u), fld) != \
+                     offsetof(typeof(sys_para->u),  fld))
+
+        CHK_FIELD(s.scaling_cur_freq);
+        CHK_FIELD(s.scaling_governor);
+        CHK_FIELD(s.scaling_max_freq);
+        CHK_FIELD(s.scaling_min_freq);
+        CHK_FIELD(s.u.userspace);
+        CHK_FIELD(s.u.ondemand);
+        CHK_FIELD(cppc_para);
+
+#undef CHK_FIELD
+
         memcpy(&user_para->u, &sys_para->u, sizeof(sys_para->u));
     }
 


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:52:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:52:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589268.921110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoHJ-0007WW-Hj; Wed, 23 Aug 2023 13:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589268.921110; Wed, 23 Aug 2023 13:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoHJ-0007WP-Ei; Wed, 23 Aug 2023 13:52:09 +0000
Received: by outflank-mailman (input) for mailman id 589268;
 Wed, 23 Aug 2023 13:52: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=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYoHH-0007WJ-Rp
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:52:07 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3eac3402-41bc-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 15:52:05 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 258E0223A7;
 Wed, 23 Aug 2023 13:52:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E727413458;
 Wed, 23 Aug 2023 13:52:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id LQD+NgQP5mSzegAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 13:52: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: 3eac3402-41bc-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692798725; 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=OQciu18TxlJAhYlv/+uPF5dMg4/KQ89fbNRV9dnSCaQ=;
	b=G49FBzxsxf7Fyxn8uvBX/Z3P0CtF+ACph14ptZ88hYYpHODunjs3mIerUIJ2jGnV+Tv8Hb
	ZUeZdH27tA/JnkPxI9ickyEFDmMpm90mCuJf86DMvsYf0rnavhgi2JeLrcovinVO6zBMKR
	PfJDw9kgJHYFVAU49ZwyAxByUBNtMaI=
Message-ID: <32ab093d-7547-44c6-8e3f-bd21c8455770@suse.com>
Date: Wed, 23 Aug 2023 15:52:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Jason Andryuk <jandryuk@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@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: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------4RxWN3NOodVpyqP8drmFJ5N3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------4RxWN3NOodVpyqP8drmFJ5N3
Content-Type: multipart/mixed; boundary="------------w0cgUxu0NBaYsv50aM85DJUP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Jason Andryuk <jandryuk@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <32ab093d-7547-44c6-8e3f-bd21c8455770@suse.com>
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
In-Reply-To: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>

--------------w0cgUxu0NBaYsv50aM85DJUP
Content-Type: multipart/mixed; boundary="------------7Rgkt15q7GzQxy0pRcAVnMkE"

--------------7Rgkt15q7GzQxy0pRcAVnMkE
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDguMjMgMTU6NDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBUaGUgZnVsbCBzdHJ1
Y3R1cmVzIGNhbm5vdCBtYXRjaCBpbiBsYXlvdXQsIGFzIHNvb24gYXMgYSAzMi1iaXQgdG9v
bA0KPiBzdGFjayBidWlsZCBjb21lcyBpbnRvIHBsYXkuIEJ1dCBpdCBhbHNvIGRvZXNuJ3Qg
bmVlZCB0bzsgdGhlIHBhcnQgb2YNCj4gdGhlIGxheW91dHMgdGhhdCBuZWVkcyB0byBtYXRj
aCBpcyBtZXJlbHkgdGhlIHVuaW9uIHRoYXQgd2UgbWVtY3B5KCkNCj4gZnJvbSB0aGUgc3lz
Y3RsIHN0cnVjdHVyZSB0byB0aGUgeGMgb25lLiBLZWVwIChpbiBhZGp1c3RlZCBmb3JtKSBv
bmx5DQo+IHRoZSByZWxldmFudCBvbmVzLg0KPiANCj4gU2luY2UgdGhlIHdob2xlIGJsb2Nr
IG5lZWRzIHRvdWNoaW5nIGFueXdheSwgbW92ZSBpdCBjbG9zZXIgdG8gdGhlDQo+IHJlc3Bl
Y3RpdmUgbWVtY3B5KCkgYW5kIHVzZSBhIHdyYXBwZXIgbWFjcm8gdG8gbGltaXQgdmVyYm9z
aXR5Lg0KPiANCj4gRml4ZXM6IDIzODFkZmFiMDgzZiAoInhlbi9zeXNjdGw6IE5lc3QgY3B1
ZnJlcSBzY2FsaW5nIG9wdGlvbnMiKQ0KPiBSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxp
Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8
amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------7Rgkt15q7GzQxy0pRcAVnMkE
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------7Rgkt15q7GzQxy0pRcAVnMkE--

--------------w0cgUxu0NBaYsv50aM85DJUP--

--------------4RxWN3NOodVpyqP8drmFJ5N3
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/Ey8FAmTmDwQFAwAAAAAACgkQsN6d1ii/Ey8e
oAf+P7L4dlD6ZansCh+bvp2O4KMwMiqRHE9EBloxH7kpblQPCGR+hyntDHrrbaa3hCOwKsXH4vfC
kkBVAoihkxqVbBwUOcVhJNvomy2K5IgiL+vT6pD58Oa3M7FwgsGBJTTF5ZwswzpLugi9KX+hdcjk
edp5lSWeFjXLfVGuk6maB34nzKmbMOoOM7YmNi92hkAN/z7pVyAOGw5tbtexnNfgz3phF1Sowe0S
4Abil9r7VofIX4ocztRNedc7YQi3GMHsAVzWyFmtVVf31lFgjdH3r1NvOVH/26KxJVNyH4UxelcL
c2ZIR29YhQBDw1z4JJl/rqiPrkxShZBpB8KKGvKClg==
=TkQ+
-----END PGP SIGNATURE-----

--------------4RxWN3NOodVpyqP8drmFJ5N3--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:53:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589276.921121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoIY-00083H-Ru; Wed, 23 Aug 2023 13:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589276.921121; Wed, 23 Aug 2023 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoIY-00083A-OL; Wed, 23 Aug 2023 13:53:26 +0000
Received: by outflank-mailman (input) for mailman id 589276;
 Wed, 23 Aug 2023 13:53: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYoIW-000830-Oh
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:53:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7d00::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c7e4e92-41bc-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 15:53:22 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8948.eurprd04.prod.outlook.com (2603:10a6:20b:42f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Wed, 23 Aug
 2023 13:53:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 13:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c7e4e92-41bc-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HqDOD82FTeBW8qDageJ4VX71Dgr46X043stpng7/C4wKOmlAaP0iH4qASfhxCRyLe64UGW5ngoMtWpcKj5tvriSixYqMP61fHNeZ7rwnPYPqbcNS6nxcEM1HV4n1IXFsrGaI6e51QT+QTiTWW34BuvWur/IKZpEOcA1ek6TNQ9J1ZmbnwDfCXQSxWnVyD6CmpdauznTuQ0QPxyrwIfZp1M3eOxiGXwkwkvvZiRs5cbV/GOwLfVNmuybfJPMriPrZNP/c+VzyMZDhYskqYSI8qGnKIKqAsAoptgIsUGLg5/rDSX1CgoNu3ESD05i6kWJNsrT06OyUDMc/MucZBLcgvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1U38fg8lBM8azfpzS7TxC4bRSqxC3VNBO7YVE0qdvwU=;
 b=E0w1PHLQ5LLu81GYr1cPcrmpvSvBGmcey+JNg0kerBHsCBh+yp6f7xnhdbjBRJ42KCNoBzmHHk7eyNA9BDqZCbk0VKdSsjkpltf69eHDQ2yKSIMEIXNrW90FwG0JupiWyC6BBssM9775SIRonfpE8nQ8xmYt0JA4plCBXgq2L3b1ozfoSaIME4Vl1PSagko+fxnsnguZr4nwAP5kMRq4jfz19q7WIjuwXcCvXIpb0u/YpcusJIlhb8BqMcYDxwjaG2WYj8NKISHhHgyyo7dhWkQ0Ye92DKGJlsdeLQOC+0dXsc7I8hL/LXRHjVV9Szdnuhwb5mPFXq/RXyU05QikAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1U38fg8lBM8azfpzS7TxC4bRSqxC3VNBO7YVE0qdvwU=;
 b=R3YJ6HtMEX9tP35ye+USKiLmO3V8+A9yqfPlJ5WjlGHAvpCqzKGLUklzXn5krQpZ2cvMo7nPFbBITAIj/6aQUU8rF9S3Uf0QkPF6Rnk+tExJeYFrffJ2wMOfg0rwZ7WhOPj1jOgW78KBalF7vGuZzhrmJ84HNm8261xtO9d8TpPMNMlZk980givtzE6QwpQgtH9zcN2OLrA48r1V3GwQUPm8wnJ1XYmUKzSNq79i9CjwihtcWYH8/NAXI79BUnd6ilwHgcMAStN+iVE3sG6/bwUZMMdweiW2ClC/XP5maxtkP5NiiwnaGunF/MF3OdX+N87gq0M7WaoKjfaX00svQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <523312fd-1be4-c184-8b4d-d8817a183291@suse.com>
Date: Wed, 23 Aug 2023 15:53:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] libxl/CPUID: drop two more feature flag table entries
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <1517da3b-7d39-47b9-2714-d97dac217678@suse.com>
 <0fec10d1-b56f-416e-a417-b887a3219fea@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0fec10d1-b56f-416e-a417-b887a3219fea@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8948:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c3863bc-0714-4d64-c383-08dba3e04f77
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QD8NhzbWbF1+UEkmLWPHSafRIxHi5KN9MrHQiUQki9rQ27fWDph/alyyWOYGK/K9zqeFPe6dvpB0f0d6Sleikote3WQHUtYAnAkDqXvX+BBh6F6LdUxu+pCngO/qQ8yuUlA5E2QRnewUv1rSYFCH/hJYDd5WYDYIGEc1k5fmxIcBqjU18up74ptMRsOfJbyN5a4GUImk2zmMoEeK+bzMsC0y9VZwhrbeKe6c73kBF8XEhHaRz/IzU9DHCzp717+6rB6cCqVSB39a3v+0qI4freqEJRLTrNHwertXQBNJmKnIK35km3W74MyjXyG5ryYj2YRf0cyZ++dZdKDHHZKe3G4uN1gzoLVJA5aVH1BR3EHuQXev0i0wIxhZq9SjOJVjJ5dqMJzxuXnn2pD/Ca1voHFR13Y662SjqIjuys8PUCBqykrnqpCGF7j2cNkLqXl4Tkj8wNIdDdsj+s9iv/W60V6HSdDvSDkL3UtPvZggrruQrTdpjJVSdXMBTXeQJR9VdXhg6Y72RUGNBqSVYkUfZfjWylFL0TdiXbN+L6n85Bb4jjN3kJmvsbhZTWuz9I7/ilpl8xCEEATv/LI627kd3QIgCEghP/1MEBH12Lje52AmJMKnZeDw5ZNWvERWrjbH4v2gipGKPAju+RAEQfOhmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(136003)(346002)(396003)(1800799009)(451199024)(186009)(8676002)(66899024)(2906002)(6506007)(83380400001)(53546011)(66476007)(66556008)(8936002)(6916009)(6486002)(5660300002)(26005)(66946007)(2616005)(478600001)(4326008)(41300700001)(316002)(54906003)(6512007)(31696002)(86362001)(36756003)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGRsdyt1UjVhS01lem1Kc3B2aXN1NWNKNUJDaFJCd3RUeHowTElaRUkyWm9t?=
 =?utf-8?B?UkVaTjJzVUEwSG1KMWtRakQ2YklVdmhGempWV0dlMlEzRXRqLzk0RG9wTGgy?=
 =?utf-8?B?TEdmMHMwTnJ3UWVRaDNCMDJ4Uk91V3J1RHlBdzcvNmRFRVl1YUI1MUMxNlky?=
 =?utf-8?B?dkd5SEU2RGFJVWpIR05aZEdTY2ttSHJhcHpMcFp1REpzOVhSMS9BK2hseTBi?=
 =?utf-8?B?SUtUN2RsK1FubCs1WWVKbkVreG90WVpTczZuVURVTERnM2VYZnFzb1dtZEN0?=
 =?utf-8?B?R2tzOGtwSkZiSGFhSU83Zk93emFxdWxnK1RseEJGNjhZQmRZdWNvRnBjcnpT?=
 =?utf-8?B?bWg1dTJtZzQvUEtlOVBKVVEwN1h4bW1SM0d4OCtZbzhNRU8wN3B6WWtMMVYy?=
 =?utf-8?B?NFY3Vm1CNFQ3eDQ2TTdLdGNrNmVjZzh3WEMxRXAxS3Jzbmkra3o5OW9ZYnVp?=
 =?utf-8?B?NThCWXNrWUROM2NtMk1MVGhKOFdDQmxmcFExSm0wdmJqRFp0SkFOMTE0b2Mz?=
 =?utf-8?B?RXVoYkZNdURnVmdOV2xhdTZnVWxzOHI1ZlQza0dzNmUxMUpaVXZaU1FiMTNT?=
 =?utf-8?B?MEtPWURYd3Ztc2FiWUM5cGx1ZTZ4ZnhyM2k4TlBhLzQ3U0puRFNNNDdVOWJM?=
 =?utf-8?B?d0RCVWZWUEhjcjFPdEs0dTVXVDc3MUZxZjRMeG5pWGJLY1o4QUxzc0E4RWhN?=
 =?utf-8?B?T1dLYVdtYi9QcUY5TnVnTkFqS2dDU1JjNUNxVE5TVzNMcTBvS095ZkZjbFlT?=
 =?utf-8?B?RlgyNTVyVVd2ZnpvdG1nYWpRd0pOS1NDOTQyMFZjZjF6M09uT3BIdVk1ZHZj?=
 =?utf-8?B?L3BNYldYLzFBQUxRWWViZVhhMk4zV0hsZEVhOVM3VWNJbjFHRDRIaUljSlhW?=
 =?utf-8?B?dThOdmlDYyt0TEpsNnBVd0cxSHc5Vmo1ZVRjVHJIaGZOSFdBZVZwaDNsTlBZ?=
 =?utf-8?B?WWZBRjJIdGN5QmtzVjV3djR4aGU3VHZkbW1BY3NoZi9oTTMrU1lmQ0czREhh?=
 =?utf-8?B?NWF5Lzh2T3dDTHdoNXhwSlpuUEVISzhuLzBVSlJpUXZZYWJBR1NhclVQZ01m?=
 =?utf-8?B?T3ZCQkdtQ0s5NVUrY3FnQTZZT0xOell2VTlEN3l4UTJLVzNKb3hEbHlsQVF1?=
 =?utf-8?B?VkdQc2RFUTFqODh4MU1kazJCeis5a1MvQ1hzWnhNR1JUMG9mTnBNM1N0QUpN?=
 =?utf-8?B?Mjd4WXU5QXdzNFRDK05oU0NYVFBGRUp6YytNVThUOFF0ajJnNUxQQStyYUc4?=
 =?utf-8?B?cHhQeEtDWmlYSXFJK3IwdFJKeXNhaFk5OGVTR0NVRWwxME5ZSGNJTDJnWnpq?=
 =?utf-8?B?SUN4NWlhZXl0aUZYeTdiWGw0U3A0RDJ1Z1dzdk9PSi9RTFBIL1BRa1BrL2d2?=
 =?utf-8?B?cllnVzdLKzN1SHVEbndkMU1zWWFHVGFDUUk4MzhzTGpBUnJ3ZElSL3o3R1M0?=
 =?utf-8?B?WGpWNEpHUGluYWpvQmdCWS9vZUYvdFBaM2MyYlNMVE1WQ3dyTmhneC9QMG8x?=
 =?utf-8?B?SzErS2JHUGlHdTNHMDZCSnVvUGlpRnZuWjRUQnM5bGpzdnlhdnBlbHVSQ1lL?=
 =?utf-8?B?Wnk2blRwWmJrcXhHRWtta1k3VDVxM1VwSXpIL09zY3BjWklSOUI2MHp1THpQ?=
 =?utf-8?B?anZFMGpRSFdaZ2QyellOampmenRrZkxrZndIWmdSK2E1blRmakRiSmFOTWMx?=
 =?utf-8?B?dHZHeFp5QStpTldQTmFTWHdreDh4Qkt3M1lUUUV2UDVuek4xTTZQY1JlL0g2?=
 =?utf-8?B?WFpGaFpCS3Q1clpRTFY4YzUzeXljTVFuTEJ5VGpiQ1JBRlZCdzJHUUh1NzVP?=
 =?utf-8?B?OXBnWUlreDZZOGFLTGZub3FOUkNSMm5XOGRsc1JYTW1Sd1A0Q2k5OXlkbGJJ?=
 =?utf-8?B?K1c0c3BtV3RQUHAxeGNINFF3V1c5RlJKeC9xc0gxVFJmVGZvcG84c1lqTW1v?=
 =?utf-8?B?TTNTRGxGaW1DNncvSGxaQ0NQblh4ZmF6bHdheklBN2liZmpnYVhFTUxYRzlB?=
 =?utf-8?B?dkpjM1o3TzRhRGRwNHNKeG9xUGVTMllFSThVT3NBbjBZbHg2SktiRkU2eTRI?=
 =?utf-8?B?QWhpRFRpL0JkZFQzWnZ0SW10THNMVWhVVGlPaithSHlBc0p5bnpheDQ3dUg1?=
 =?utf-8?Q?lWid/BoiMuiGfftCl19YUw8Ii?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c3863bc-0714-4d64-c383-08dba3e04f77
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 13:53:20.5446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QNl2aBi8feiqkcznY31TIY61PivPTxkiLHomJ5QuhzbnjHiNpeuH0oRyG0l0lzf82zixbvOQTpc/wfCR1nUQpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8948

On 23.08.2023 15:45, Anthony PERARD wrote:
> On Wed, Aug 23, 2023 at 09:21:26AM +0200, Jan Beulich wrote:
>> Two entries were left in place by d638fe233cb3 ("libxl: use the cpuid
>> feature names from cpufeatureset.h"), despite matching the generated
>> names.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.

>> ---
>> Permitting "psn", "ia64, "cntxid", and "perfctr_*" when the hypervisor
>> doesn't even know of the bits (perhaps wrongly so) is kind of odd as
>> well. Permitting bits like "est", which the hypervisor knows of but
>> doesn't expose to guests, is also questionable.
> 
> I think those are just aliases, to a specific bit in a bitmap. Even if
> we remove those aliases, it is still possible to instruct libxl to do
> something with those bits. So there presence isn't permission, I don't
> think.

It's not permission, but recognizing the field name when its use then
(in the best case) doesn't do anything is at least misleading.

> Looks like "est" is just an alias for "eist", so it doesn't seems useful
> to remove it either.

Well, I'm effectively also questioning the exposure of "eist". Using
INIT_FEATURE_NAMES here was likely okay as a quick first approach, but
I think we want to limit what is recognized to what actually is useful
in at least some cases (yet better would of course be to also not
recognize e.g. HVM-only options when we're dealing with a PV guest).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 13:58:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 13:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589286.921137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoNE-0000Hz-FE; Wed, 23 Aug 2023 13:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589286.921137; Wed, 23 Aug 2023 13:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoNE-0000Hs-BO; Wed, 23 Aug 2023 13:58:16 +0000
Received: by outflank-mailman (input) for mailman id 589286;
 Wed, 23 Aug 2023 13:58:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Pnhk=EI=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qYoNC-0000Hm-Ug
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 13:58:14 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1987b189-41bd-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 15:58:12 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-4fe27849e6aso8648531e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 06:58:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1987b189-41bd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692799092; x=1693403892;
        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=5w//bEIcqwvXyCBc+5NauKKk+KikT0DyA08jlIENWhE=;
        b=B6fG8tgNzEmjEceDK3VWAqF31XFMZQkAVejDlHF7KxPZVPnWswL3WpWlZ2EbcSUMVB
         nwxOvomRJm/xJbOjmkIn4q6Ibg5whBvCR/dohQv+HGj0deNPzp/MJ5IbCd7tGz7gInMa
         38QQBVL6lYvKp4TXWn138w3tAM5ttZXGReB6iGI5viatCEb0Tc+mpI8pcQ5FJKB3khrA
         5pEdC2byrVxsg0N7CkYeAw4MvR7nMfZl2sRAbq+wHfVPGP/RihvpIw55CzoHgfipcPou
         AijTpryNiSWRVcs/uBPif12qKvL8Mt7gbil9JBLKBYxyYqlsbTDWCbeEDvsiT6ivyfuJ
         hbtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692799092; x=1693403892;
        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=5w//bEIcqwvXyCBc+5NauKKk+KikT0DyA08jlIENWhE=;
        b=Yw5pFMEXkSCcqc2+HlbW2/7DI+rGcwB/y2H7T0JCB1WFqlaVIH1mx2pBSg7pUkZ6Gh
         BcgZurnEwZRUCVSzt7MdXa5z6sh6xSH2yDqjTilaKWtQmgfwbmN+6jic72pA5IvmCO4Z
         T2mIcCBa2h931SCTX+vK4Tv34Ww2x9XZfDWVf3FayO9woRzBLR5cPZUfAamQrQEmccJN
         FJr/A+ERPXX2/weDKP+LgtTDIVv3rB5Ug8N427fj/YWiGO5MuQy0JbZxaTa9jcF6PQMJ
         3vJfIDj5xn6j8Ehyt0cyU1okEn/chKyr6betZiKO9ELIvCRXeuadoWuvuQBiJOI1/7SI
         cEmw==
X-Gm-Message-State: AOJu0Yw8sq522naA9R0yKTFbdm9IaoTxhyl/267XIrKptjF5HOintlmp
	Bx0lukPPQw8Gk6zy8lMhrxMUk16QELoKx7b0620=
X-Google-Smtp-Source: AGHT+IGYNtnihY/uzzx6e9kliQsXDQaaWj/otse7zMaoeS9ybzB6xv9dXA5CfLdjGUf8dHEtzKQecuygnG/y1PEwoPg=
X-Received: by 2002:a05:6512:ad5:b0:4f8:5604:4b50 with SMTP id
 n21-20020a0565120ad500b004f856044b50mr9982999lfu.64.1692799091968; Wed, 23
 Aug 2023 06:58:11 -0700 (PDT)
MIME-Version: 1.0
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
In-Reply-To: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 23 Aug 2023 09:57:59 -0400
Message-ID: <CAKf6xpvZ4JBEmp0tL4vQgjbEo2uB-nYp8-_dUoQo26x+sfHtKg@mail.gmail.com>
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s BUILD_BUG_ON()s
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.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 Wed, Aug 23, 2023 at 9:47=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> The full structures cannot match in layout, as soon as a 32-bit tool
> stack build comes into play. But it also doesn't need to; the part of
> the layouts that needs to match is merely the union that we memcpy()
> from the sysctl structure to the xc one. Keep (in adjusted form) only
> the relevant ones.
>
> Since the whole block needs touching anyway, move it closer to the
> respective memcpy() and use a wrapper macro to limit verbosity.
>
> Fixes: 2381dfab083f ("xen/sysctl: Nest cpufreq scaling options")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/tools/libs/ctrl/xc_pm.c
> +++ b/tools/libs/ctrl/xc_pm.c
> @@ -248,45 +248,6 @@ int xc_get_cpufreq_para(xc_interface *xc
>      sys_para->freq_num =3D user_para->freq_num;
>      sys_para->gov_num  =3D user_para->gov_num;
>
> -    /* Sanity check struct layout */
> -    BUILD_BUG_ON(sizeof(*user_para) !=3D sizeof(*sys_para));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), cpu_num) !=3D
> -                 offsetof(typeof(*sys_para),  cpu_num));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), freq_num) !=3D
> -                 offsetof(typeof(*sys_para),  freq_num));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), gov_num) !=3D
> -                 offsetof(typeof(*sys_para),  gov_num));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), affected_cpus) !=3D
> -                 offsetof(typeof(*sys_para),  affected_cpus));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_frequenc=
ies) !=3D
> -                 offsetof(typeof(*sys_para),  scaling_available_frequenc=
ies));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_available_governor=
s) !=3D
> -                 offsetof(typeof(*sys_para),  scaling_available_governor=
s));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), scaling_driver) !=3D
> -                 offsetof(typeof(*sys_para),  scaling_driver));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_cur_freq) !=3D
> -                 offsetof(typeof(*sys_para),  cpuinfo_cur_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_max_freq) !=3D
> -                 offsetof(typeof(*sys_para),  cpuinfo_max_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), cpuinfo_min_freq) !=3D
> -                 offsetof(typeof(*sys_para),  cpuinfo_min_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_cur_freq) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.scaling_cur_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_governor) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.scaling_governor));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_max_freq) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.scaling_max_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.scaling_min_freq) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.scaling_min_freq));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.userspace) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.u.userspace));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.s.u.ondemand) !=3D
> -                 offsetof(typeof(*sys_para),  u.s.u.ondemand));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), u.cppc_para) !=3D
> -                 offsetof(typeof(*sys_para),  u.cppc_para));
> -    BUILD_BUG_ON(offsetof(typeof(*user_para), turbo_enabled) !=3D
> -                 offsetof(typeof(*sys_para),  turbo_enabled));
> -
>      ret =3D xc_sysctl(xch, &sysctl);
>      if ( ret )
>      {
> @@ -316,6 +277,22 @@ int xc_get_cpufreq_para(xc_interface *xc
>          BUILD_BUG_ON(sizeof(((struct xc_get_cpufreq_para *)0)->u) !=3D
>                      sizeof(((struct xen_get_cpufreq_para *)0)->u));

This check...

> +        /* Sanity check layout of the union subject to memcpy() below. *=
/
> +        BUILD_BUG_ON(sizeof(user_para->u) !=3D sizeof(sys_para->u));

And this check are the same?  Your newer one is nicer, so maybe drop the fi=
rst?

> +#define CHK_FIELD(fld) \
> +        BUILD_BUG_ON(offsetof(typeof(user_para->u), fld) !=3D \
> +                     offsetof(typeof(sys_para->u),  fld))
> +
> +        CHK_FIELD(s.scaling_cur_freq);
> +        CHK_FIELD(s.scaling_governor);
> +        CHK_FIELD(s.scaling_max_freq);
> +        CHK_FIELD(s.scaling_min_freq);
> +        CHK_FIELD(s.u.userspace);
> +        CHK_FIELD(s.u.ondemand);
> +        CHK_FIELD(cppc_para);
> +
> +#undef CHK_FIELD
> +
>          memcpy(&user_para->u, &sys_para->u, sizeof(sys_para->u));
>      }
>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Sorry about the breakage. I started looking at this locally, but you beat m=
e.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:04:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589297.921156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoTa-0002Fw-9H; Wed, 23 Aug 2023 14:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589297.921156; Wed, 23 Aug 2023 14:04:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoTa-0002Fp-6D; Wed, 23 Aug 2023 14:04:50 +0000
Received: by outflank-mailman (input) for mailman id 589297;
 Wed, 23 Aug 2023 14:04:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYoTZ-0002Fj-7d
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:04:49 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04e7379a-41be-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:04:48 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7640.eurprd04.prod.outlook.com (2603:10a6:20b:297::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 14:04:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 14:04:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04e7379a-41be-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EPHvLaH8Uf8heL5NQ3peqTNGP0gMxx/GsBcaaoIKC1BkE4VN2P/XTO/o6nAWFQqN0AIzKva9RaQl9xRXOB+yzu6vm4MsNT4NhPq4XFexltq0hL6qnqBmyotYBp+vwP8DszBT/roF9d73pCQc+sU2Q4wjxwfoojaCVb0xMsOlNAx5SnbEtyN9JszGL3xtf1SrSS1i1uOkhT2GrjJpQWuYTd65qWCuUGvlXljiJMi6/YtA08w08Tqz4OLzooRFBhD7YfWulzxjV5FsRmbyq2n962S41a2CDo9Kc3UI54tLzwkhDl1ymaAPylU8X1dMHCsx0s/5R7DidfmeG92GPEVhdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c8orRgI0xJBLYjHFWBC40ypxjZSlooJCE2oSuKG1qxw=;
 b=lqlJkj0coXI1dac34Eog7YTzqJ/e33kk0zvct1V0Yc6BnOtAXvzjc8xfkazpRFJjvqadNd7GUzIOFTCjj6sWm+smafzqrv0BjN3e50Jdy4/nmhjEBNKKWzXTTjqLPsmXHDSqk+sp28EdWIBqA2Xxgpwwb4/52Yzb+gof8n6hQAujaOngOrE/Jia0C6/QOE9y7krra6ZumhysaFWmSexBCJQ83XKYXnjIx7Li76lx5M8vsMhysGeMNfapARCMGg1lh6ULSkN9DicER6Ziv8rYaEHjehioQW1kuR0xxlgE5/gY0+YNneK8jtsXBYOCd5w/KuM8TzdKaXl5+re5oya+gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c8orRgI0xJBLYjHFWBC40ypxjZSlooJCE2oSuKG1qxw=;
 b=m+d/ujR3Ok6/OimlGchtSw+jjIhgSHPA6IiUET3oFhs67lbxfRef+woTZnQMrEb3RaXEC7eYHnnrmrPk95wWJIV1krnetGjVLZZiA9t4/U8Hpgknnuu2DZLPGlcEfuSBawrQyC7WLHx4xp3u8ICsg6jwfUQ+crEf9YxCycOlqumyWSfo5JvE9cuK2SPrpgFmUyHJINVBUK4fcmXrgkHiJ7prDLv24fl6PDhdocazDL6axO8U8g2c2ke74EcMB1R7E7tOFZpCgh1rBPEGoUMn5T5naPn7dFdLNkiEFnMXtaTfPrPl1STNIw5ZbuwSP/qDgcQsmE7qs8JflGD7WODa2w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e942f853-3536-2033-f214-1beccdfc8240@suse.com>
Date: Wed, 23 Aug 2023 16:04:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
 <7cebc2962002c36ecfe712bf1bcb251e083910b8.1692744718.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7cebc2962002c36ecfe712bf1bcb251e083910b8.1692744718.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7640:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b91aa27-e34a-44d7-c3fb-08dba3e1e754
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n3bpeWB1wCMOzzMZ+QzhbwOhnUwYQTuQ4w1JoYhDBrc10DfdxI2IjUq4isisbSVtTWimq68VLbY5ZOoB/h8xTLCJ+jKsHsXZN0wNpPvQRxV35IKEdwOyEC8tpazaVC4k/0kTV79TQGL+UwCCyUUC0hBoaDEoKAG7Gb4Alge5bUy9kyJsUHCVuJ2d6s8tKcu+bf/1PNV37ERdxAvfF/MfH3UOKqiVcAuOUfiVzBsIrj0IiTOY3wERm8wr6kBTK767xEt9N/Ci+Tof7dKoemBQQ0QoawL4tcPdX3Q82tlxTvzhuz0lO2DOAWSME+woLQFrLGY4NVdJ1ISUWLWk1ks+fpZgbM6aAjzrsbiw7lupWdvpQevBMuRCpk5Ehl6uluvIDNs+1EJk4ZLSJHHON3zCHB1A8cG5N4hC/pPHvpqPHNUgWEqIIpsOpGDl922ICAHygu87B9hV6OKg2vqPw71igP//ZQoCPlDsQT5q76Uf2Ojz+vHT7hyWobsGUJ6T8eqgQJI9yKHrP0RAQ7YyMZrQj/U2zbCrMH53mLKXiiUnrR2cEJ9p6mEfXYSCOzV+Crakf5tFlkOYcnWOeDUcjV9LPT7Xv0leMUVO5si7uV+l2wvwuihhnzeTyk5rEtzisXdnXv9yRZ/i3YGvj+7cqJlZsg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(136003)(39850400004)(1800799009)(186009)(451199024)(83380400001)(36756003)(2906002)(38100700002)(86362001)(31696002)(6512007)(41300700001)(54906003)(66476007)(66556008)(66946007)(6506007)(6486002)(6916009)(316002)(53546011)(2616005)(8936002)(4326008)(8676002)(478600001)(31686004)(26005)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TzIzb1lPYzk3aTdFVmk1NWJSelhzRFludXI1SnJ0dm51U29NS01CcmtjNU9a?=
 =?utf-8?B?OFUyRUpuclRXS3BFOEJ0V21mcUlkNE9zdHpZcVdmc1NzTkZGaEJxcElPdFVw?=
 =?utf-8?B?MFRQY1BYbEx1bTJYOTd0UCt0ZTA3VEZ2MGRjQ2xQVkVRVllHQ1Z6cmorYzl4?=
 =?utf-8?B?M1diRTZSdDhEZHFFZXJ0SEk3SC9aeHFubkN3c3ZqUkwyb1MwQ3IyTERPYmQx?=
 =?utf-8?B?emVSVUVISGRNNC8xVWQyUFd0TjM3RllzcXM5MjEvZkVqTWtWUkNkQXQzSnEy?=
 =?utf-8?B?dTZXUDhvbmxrR2s1bm92dlNiU0xiQWNieGlab1JkNG1MNlR0aEtsc0hqNzl6?=
 =?utf-8?B?TVp2UlM5SEwrYmZ3YUtMTHFXOHRkRGFxaUFqZVF3NVBBUFRTR015NFVTTFNn?=
 =?utf-8?B?NlNLd1dpTlFTa3FJS2NuTHkvVFhNaVd1aFdpNWsvSExwOHRrR2ZYaGdDQXMz?=
 =?utf-8?B?bWNNaWpROVZoV2pWMkJnYW1rc1NKS1ZidnlmTzBPNVc1TW1LYnhrMm9icFBO?=
 =?utf-8?B?d2RLZkFMT2hzcjF5eVF0RmdGUllOK05JNXNUUk9CZFB5TEh5Vm96UEkwdmdq?=
 =?utf-8?B?V0Iyc281QnBaN2JHdmp6blYyVEdTd29QaG5tV01pNWRZRU92UnJCQnNiZDhJ?=
 =?utf-8?B?VDRXVGk5dnZWaEtBL1l6bVQzU3BRWTNKMHBCSnBPK0kvc2N2aUVSRFBObHp0?=
 =?utf-8?B?djRiREVXOWRINWRRdGZ5MHRWSWV3OGxuVEc5YTJoOHNwOVhIUXBSYjdLNWVH?=
 =?utf-8?B?ZjVpL3NLSXpXYWMyWTdxTHJRQWQ0am9nZCtoNzl4ekZkdGhzRkVIWitrNm40?=
 =?utf-8?B?NjZiMTEyMGcyOFNmaUZFMlRWNUhMcFptOXlRa09WSzgyYmIzR01NdzRXdGlY?=
 =?utf-8?B?WFduVFp2Q3lEUk9uYzcyeHV0VHJEQkpZdWltTWZKUVFGMitmdWkvQkNlR1hZ?=
 =?utf-8?B?WGd6NG5YRFJGVkpEKzRpdmRuQitkY3VUajNkOVZjVnBkME9EcDltdnRVbXcw?=
 =?utf-8?B?U3MxMWJZR0MzMTZNSko3N29NNEFaVTdqU3hUSVZMbmI2MjdUZ00zNFcyTW1p?=
 =?utf-8?B?bm5qUTF1U1AzZUF1aFhZY09jTmV2N3lRMEppSUVhOVJQTTExc3ZXdGtlWWpD?=
 =?utf-8?B?TytSK0lDNTJaOU8vYkxmUHdldytmOUZkQm1LUFhnOThtWTRJSnFRZjlhSmNQ?=
 =?utf-8?B?dVRUa3BvT1Z1VWU2VEhDQ09DQUZNN3hGQ2ZsRmxMTFR2VnZoWFdpbGd6S2NX?=
 =?utf-8?B?QXYvY2VRUm5PdkNiZFp4QkJ1UXl6UmxYUDFLRU5BUWJpMEJkM2V0aUpaL1c3?=
 =?utf-8?B?VE15ang5bzJJMU1uaDFiek1XZEVsbVBOSmZzTXFYeGFvYzhtZW90ZnR2WlV4?=
 =?utf-8?B?M2lHYUUyczJ0QlR3OCtDYVZxWnBwNXFkOXkxUEN6cDBLaWJpMGZ5anJuS0hh?=
 =?utf-8?B?cVhuZE5yTHRRcDlGUGFaMzQ2WEFpV1ZmRkxRUGlhNkc0RlV1b2h4Zml5MWpE?=
 =?utf-8?B?WGY5blZySG1VNlExQXZHYzlySEZ2NUV6eVBWZGVadk5EWUJQLzU5Y0lwdFho?=
 =?utf-8?B?SVBiMThWOEFESHR4Nm9XQjA1YVRhRGV5S3p1NCtzTzBqMTZDWVF3dVJtbW1M?=
 =?utf-8?B?QnhVVlREcjlmdFcvWTJzZzhFaVpvdHhLYTZpY3huZmNtZ3FZYW9IK3Vlb0tB?=
 =?utf-8?B?L0Zmd2UyZTFZUHFnVVRaVHVzM1BPWTJUZDE2c3NrZ0IzaUlXMUg2L1E0WmdM?=
 =?utf-8?B?bGc4VzJkZERpZ1dtdWM3eWtrb2ZYVlpWOEhhN3c5Q0Z6eHlTWXpXU2RtL1hr?=
 =?utf-8?B?QW5NeFRUVExhU3RBUEFlWWJlb012SmhKZE1DQzZKaDE3NW03dkhkTGQ5ajNl?=
 =?utf-8?B?WTNhZTlFekY3eW1pd2IyRzc4dlVGbmJCaVc0dzVPNDd0clRCMkV3SUdtREVR?=
 =?utf-8?B?ZDBBYmNieE13dnphNlU3eE1nay9PbzFkbXFpYmtadjB6MWIvTEFTYVhyWk5a?=
 =?utf-8?B?UmF5Q0h5TUhBeE5PaHhXOFRjT2RDdlV0eXRUS3FTVk9BYU9MWng3MGdNMzVj?=
 =?utf-8?B?dlJvZkFjeUNIQ0tybk56TnhvOVdNR3luZFpnRVAwZXJFaFBWcnFPM2tRSTNt?=
 =?utf-8?Q?aLrp/EhlfE0+jvAKH9xn+Q7tY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b91aa27-e34a-44d7-c3fb-08dba3e1e754
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 14:04:44.8745
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NcnYsqpJZgy6fZIUqTEWYMjp/GzbMFHaLcyaaZF6vE9QfMyGTnIRXlsJ09bvAbCmJuXEyz7RPY1y3+dXZdLsNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7640

On 23.08.2023 01:03, Shawn Anastasio wrote:
> Add code to construct early identity-mapped page tables as well as the
> required process and partition tables to enable the MMU.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with two nits, which I'll be happy to take care of while committing,
so long as you agree:

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/page.h
> @@ -0,0 +1,180 @@
> +#ifndef _ASM_PPC_PAGE_H
> +#define _ASM_PPC_PAGE_H
> +
> +#include <xen/types.h>
> +
> +#include <asm/bitops.h>
> +#include <asm/byteorder.h>
> +
> +#define PDE_VALID     PPC_BIT(0)
> +#define PDE_NLB_MASK  0x1ffffffffffffe0UL
> +#define PDE_NLS_MASK  0x1f
> +
> +#define PTE_VALID     PPC_BIT(0)
> +#define PTE_LEAF      PPC_BIT(1)
> +#define PTE_REFERENCE PPC_BIT(55)
> +#define PTE_CHANGE    PPC_BIT(56)
> +
> +/* PTE Attributes */
> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
> +
> +/* PTE Encoded Access Authority*/
> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
> +#define PTE_EAA_READ       PPC_BIT(61)
> +#define PTE_EAA_WRITE      PPC_BIT(62)
> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
> +
> +/* Field shifts/masks */
> +#define PTE_RPN_MASK  0x1fffffffffff000UL
> +#define PTE_ATT_MASK  0x30UL
> +#define PTE_EAA_MASK  0xfUL
> +
> +#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
> +#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_CHANGE)
> +#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
> +#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
> +
> +/*
> + * Radix Tree layout for 64KB pages:
> + *
> + * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
> + *                     |
> + *                     |
> + *                     v
> + *            [ PAGE TABLE ENTRY ]
> + */
> +
> +#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512GB = 4PB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
> +#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K = 2MB */
> +
> +#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_LVL_2)
> +#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_LVL_3)
> +#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_LVL_4)
> +#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
> +
> +#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
> +#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
> +#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl))
> +#define XEN_PT_SIZE_LVL(lvl)         (sizeof(uint64_t) * XEN_PT_ENTRIES_LVL(lvl))
> +#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
> +#define XEN_PT_INDEX_LVL(lvl, va)    (((va) >> XEN_PT_SHIFT_LVL(lvl)) & XEN_PT_MASK_LVL(lvl))
> +
> +/*
> + * Calculate the index of the provided virtual address in the provided
> + * page table struct
> + */
> +#define pt_index(pt, va) _Generic((pt), \
> +    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
> +    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
> +    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
> +    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
> +
> +#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
> +
> +typedef struct
> +{
> +    __be64 pde;
> +} pde_t;
> +
> +typedef struct
> +{
> +    __be64 pte;
> +} pte_t;
> +
> +struct lvl1_pd
> +{
> +    pde_t entries[XEN_PT_ENTRIES_LVL(1)];
> +} __aligned(XEN_PT_SIZE_LVL(1));
> +
> +struct lvl2_pd
> +{
> +    pde_t entries[XEN_PT_ENTRIES_LVL(2)];
> +} __aligned(XEN_PT_SIZE_LVL(2));
> +
> +struct lvl3_pd
> +{
> +    pde_t entries[XEN_PT_ENTRIES_LVL(3)];
> +} __aligned(XEN_PT_SIZE_LVL(3));
> +
> +struct lvl4_pt
> +{
> +    pte_t entries[XEN_PT_ENTRIES_LVL(4)];
> +} __aligned(XEN_PT_SIZE_LVL(4));
> +
> +static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
> +{
> +    paddr_t paddr_aligned = paddr & PTE_RPN_MASK;
> +
> +    return (pte_t){ .pte = cpu_to_be64(paddr_aligned | flags | PTE_LEAF) };
> +}
> +
> +static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, unsigned long nls)

Nit: Overlong line.

> --- a/xen/arch/ppc/include/asm/processor.h
> +++ b/xen/arch/ppc/include/asm/processor.h
> @@ -133,6 +133,40 @@ struct cpu_user_regs
>      uint32_t entry_vector;
>  };
> 
> +static __inline__ void sync(void)
> +{
> +    asm volatile ( "sync" );
> +}
> +
> +static __inline__ void isync(void)
> +{
> +    asm volatile ( "isync" );
> +}

Why __inline__, not inline, ...

> +static inline unsigned long mfmsr(void)

... as you have here any below?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589303.921166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoW6-0002wI-NN; Wed, 23 Aug 2023 14:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589303.921166; Wed, 23 Aug 2023 14:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoW6-0002wB-JI; Wed, 23 Aug 2023 14:07:26 +0000
Received: by outflank-mailman (input) for mailman id 589303;
 Wed, 23 Aug 2023 14:07: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=iSH1=EI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qYoW5-0002w3-JA
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:07:25 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe02::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 620d08c5-41be-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:07:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7640.eurprd04.prod.outlook.com (2603:10a6:20b:297::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 14:07:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.025; Wed, 23 Aug 2023
 14:07:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 620d08c5-41be-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MWFCFMicWTaFSfMo+LYWlI8JvUCSyhF3FpCENvYXEL80IK5JVCur0yMWbV952GWS/k4JPf/MI/P0XMqzSJyDdNEKR9Zt+q2jIC8zCdrIuqp2ouozgDs7cFajsY/9RTiNhK/f1bXyBwkHmfD36ldoK4KGnbRAI00lpaGKbNGEaa5S5iIflKH0IB+HuPgZC4wSAkl5TtBQq4+dBBiiXTylyYIPVNsuksP4e20OszbL/bcrYo/cg8yiBhJ0NhDLxxr+oUYr5hrjs4YjDy7kX2hYOE10QgBtaFVRxYdgG+qAxCAnByMfXJPYFFfk5MK01OquLSzLdnxE6wG60rVZ9lbPcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BluEsgde5iQVwCaqHqou98H9ocXrZ5rnSh9sqHpwZtM=;
 b=HmWvRMIBbUB4u7FUBXoT1YtD6pmOdQvGMRHpGfaK9eSVIyUKlKYoVbw4xBOhVSLQ4xRwIEHNyVK9TmuJWQX9bYeqr2tRjmVaMzySEjxGsFgAaYjgIaR2B+WIxPTJoz8WcKrs7Q6aHHxEu7eSJXnpQEwAA/7qsj+NokcuCYlOuVBChNTgAoenJu4K1UNG7RAiy/Sagb0cj1IQwzXh0XHYkZdQZQGubs6SKdtbdEa5/LoDQAfWW2y8RGZnTOXUFZCJI1ungobwjmkULTqgo8RS4f/tJimwMqdQSBmhcLcA8lz+HotJWXIR7dJ1ZBZqy23eAcrLm+rYYatP29KQeS0xNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BluEsgde5iQVwCaqHqou98H9ocXrZ5rnSh9sqHpwZtM=;
 b=eHwZYYKHKlstP6Kx1MWBWpTbE7WKECh3iDfWa849aTYRji2wzeJon6Oy8rQUMawE+lLL+XS37OdLUyaMlYFB/moiRr7LFdLUuWASUsHYGfpY7boPSwpAsYtARFecC69BLHj9E3BduiIMD7x+4kPpM7Qm+Mv34JUH1ArS/HPGnIG2h0siP/6WS8btQAZtZEhV5iBajQgyxP7FEm6gnBfqfdkmMeYBO8iCrzfrLt018GMCQLop0DF+eADP8bNhYHF2DT+kndGOm8L+fcwe0rASpE+YHOSRoMSIfEe92PY04Z8jwieit6W+lg4uOb2RR75STCmsNOWtkidvnp9lu7u4Mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6022d27-b38c-f41c-7725-60434691de0c@suse.com>
Date: Wed, 23 Aug 2023 16:07:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
 <CAKf6xpvZ4JBEmp0tL4vQgjbEo2uB-nYp8-_dUoQo26x+sfHtKg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xpvZ4JBEmp0tL4vQgjbEo2uB-nYp8-_dUoQo26x+sfHtKg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7640:EE_
X-MS-Office365-Filtering-Correlation-Id: 02572f42-7e3f-4c2b-766c-08dba3e2453f
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ly5MblZ0H2L8ZdrNRqBPXaFYE8tS4+O7f+uAamW4/76m2wjppV6XAhYRcFzP+Bz3Uls1XWmJblrygZkpeWn1IJXUTU/v0XQChFg3kO6KFPki58mvjsF6Ucdh1+DITlaDI78wHkJ3Z2q5GNMrt/gBplJNWG0+wjVky/23yqP9+bVD5Jcv7osa5P8u+vMzqt39eq91bmqQs48gzo1pe61paTns0s0RNTjeXX9B7xrDKw8+w50DF/L+xt4U9CrzLA7aepBda/GC760G65Lq/L7b+hYoZVrBzEebIKNlvw9dBIqtsic5QOqP+Xx48NDpG9eLTwE4b1dFUED0kEHEz7ygyWnSuGd+gKjvjSV+5LuiDWIVHRBjmmaPobrsSshloxb1Y6kM9abepIVIS+++nxc0H/pqU9DND4b7lLbQjTWDlOHIgaDwOVIqg+kF0zzGzmALqN/WHNdEhZrxoWNQyusYhWB5ZfwlsFDaCPQkBBMJxr30Sz0tUMezjCHt+NBgwbE+UNVnfLv5Nc4T09sEUKAASqBz/FiCpCaYypnXpXxdmeOGMIXg6LL/kwoAt33mOA+9sCaSnpeNBummGosYKnQpkwE/rxPhiRDYR3AxCuuptbhgirLKpErPXgOCw1jOBQrHrqGeQSjInTRO9usk1vGUgg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(136003)(39850400004)(1800799009)(186009)(451199024)(83380400001)(36756003)(2906002)(38100700002)(86362001)(31696002)(6512007)(41300700001)(54906003)(66476007)(66556008)(66946007)(6506007)(6486002)(6916009)(316002)(53546011)(2616005)(8936002)(4326008)(8676002)(478600001)(31686004)(26005)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TnZta01FWjV2SnNtWTBTSndMQ1ZldngrMzhiaFhyaUxoaFo4SkJkdlY1NW9l?=
 =?utf-8?B?VWV2MkMvKyt2MkJZSG9jOWlWajdwN2VFMEx1Z0VHNHVEWWRsdEcwVTZ2VHdy?=
 =?utf-8?B?dFV3WE5aRHkyekxaeUV2Qi9wUWNLbW1aSGY4SllIalVCWnlUejQ0REk0M0Nh?=
 =?utf-8?B?Z0RSN1RxQkFqN0tlYno4ZjlIVmN0MlUwbm5tb2xvb09JR3VjUWFENTN6Z0lh?=
 =?utf-8?B?b3o0R255OUhRTUM1VkVoeC8yY1cydzAvVjdHMmdJbHFQazRBNk5YV3VJdm1q?=
 =?utf-8?B?czBGSzBQWnZ4b0xPejFxYmp4VnhlT2wzcXg3cVFQM3E4Qzd3SEZYc1BRZ3Fi?=
 =?utf-8?B?OVMvRkFNMnVXRzlRdERHNDBHVCsxalMxenpPOVRhMzdmcUo5cWZ0elZkNVlQ?=
 =?utf-8?B?K2VsK2JpVUdyNnAxNG1SRHpoRk45WEhzZUR6RE8xQ05DMTljYVU3cWhESlFF?=
 =?utf-8?B?MUlnWWp3VHpkc1ZkVlB1T3ZtbzliU0hjUlRiZXBEV2dGSDcrT2piNGlyV1M0?=
 =?utf-8?B?ZGg3KzJmRnd1NGVNVld5bzdPMHJ2bUdxcE1mOWsvdGlaWDBUY0dkc2RFZVBJ?=
 =?utf-8?B?bFpJZjQxT1NtcFhrTUxielhFMDNXZ1l6NW1qTWdzQVFlKzArRXdxTGthYkMr?=
 =?utf-8?B?UTFnRjBBZVVDTFI1QW9HSHVuQlp1RnRmczh3cmt0ZGh6ZS9jMnQ2eDVEZi92?=
 =?utf-8?B?dzZIeGU4cTJVMDkvUnk4WitlVkdHWEFOdTl0SGpwcGNPcWYxSGpNNVExbjF1?=
 =?utf-8?B?R3YrTHRzaWN3UnhIcFNaOFRSZlFGY3h3enBJL2FoV2JXZWxid3ptbjNGV2Q4?=
 =?utf-8?B?TlJHODk4Q0xKRjhXUWo3VUNpZGdBVTI1bWZLUGJjTmJLMC9iUDZ1WXNiakor?=
 =?utf-8?B?RktuSmo5MDZzWGNRc2EvRWN6ZlBRdDhRVnQ0SkxqUzBRLzY0RldsSmdCcUhr?=
 =?utf-8?B?Q2plaTNOTlJYRlY4RVU3eWpGSGo0VnhCWW53MzhDb2ZLN0ZtVkZvUXRGN1Qx?=
 =?utf-8?B?eXhWazIvcWxQVUl0a3NsY253UlEzbDRKVm4yN1ZkeVN4WDFhL2JDSWxsQUds?=
 =?utf-8?B?S0ZabEtDSDQrTnV1YmZqSjJoN1l0bTV1ZFEvS1ZYcThvWlZHdjdDL1ZIT0M3?=
 =?utf-8?B?Y1dJbHY2cVhWbTdqNjhia3RzQzYxYkNuUVZyRENKUVJIN05CSFlCT05WYnIw?=
 =?utf-8?B?WVN3aTNIeUhSaVp1b2ttVHEwN2tkK0s1Ri9zdG9hVTNPWSs5RDFmcWRQWHdt?=
 =?utf-8?B?SFhTU0tnYVNPd3B4QjBQbUZXdFUzUXN6T2E3dm1UYzFKT3J3Vm9JakdWblRx?=
 =?utf-8?B?UDB6aDRPMldwMTd6cTBoT21jdTREUTZkQitpUTBiOGVwTHBPemNNR1RiSkJK?=
 =?utf-8?B?ajBPelljQ2xJWWpBVW9USEZkTlViK3BWUmN2RG43WExITXZrVXh2OEZiU0NC?=
 =?utf-8?B?NHdkWlloQW12c0lCbXltYk13Yjl4N3pSYWdlMndlWUtzd3B0Q0IxdUY3NHd4?=
 =?utf-8?B?czdHYndqQ2ZkOUtrS3ZpR3pUNVdBaGJmWWJRclBSVDRlTEwvMS9YQTJhV01u?=
 =?utf-8?B?YkNOellHM2Y2RHdPaXUvdlVZUDVkOTcrb2RBd1J1RVZVcEtwKzA5c3VYcnpB?=
 =?utf-8?B?QXVKNlRJbGRoOHNYZzZhL0NLNnVMN0hpMzVtRlo1THpSc29zRDBzNG9SYmY2?=
 =?utf-8?B?bDFNWnJrRjJUNUpPOFpabE1LcGJrN3o5YnZ6NkFxSHBFUXVmbFBLeC9Rbmox?=
 =?utf-8?B?NHBLSmFLWWJ4ZmdQRUlxWmxtMlFNMFVxR3NsaDRRTWxvbDlheVdMM3NQc0Z4?=
 =?utf-8?B?T2U2WUE2VTlmS21rVHZSSGgrOXpZR0E0Y3l5WE9IS2piSTR6VWZNN0E3QmZj?=
 =?utf-8?B?Nld5Vk9WbUxCOTNmRUh5WWVmTm1TMGgvTE40QjRUZlhiYzc4YXR6akxnb1Vu?=
 =?utf-8?B?SU43cFR2NW03STQ5ZnQ5a3ZwVFFXTEF0QVpKK1ZJUXRPa3J6YVBBVDF5cnZY?=
 =?utf-8?B?YyszRW5nM0g5YjNLNkR0c3JGeTlsUXFIc2Jxd0l3MkRNZ3hUUGUwTHhZWUkw?=
 =?utf-8?B?dXhTVk1ZR1BUWXZhSEZXN3kzQllIaDdoZG16aDlBRU1nQk03VmxBeUREZGRH?=
 =?utf-8?Q?6jvsoQV1/J68r5pDMzaFiRvKg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02572f42-7e3f-4c2b-766c-08dba3e2453f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 14:07:22.4157
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HmmTSk43BENlnJX1y4evsu/edh5YHfav6HHsw7HlScqpEkyeVNHNbJXjHQmq/LlLqEV0xl19jQ1pEfm8gWa/qg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7640

On 23.08.2023 15:57, Jason Andryuk wrote:
> On Wed, Aug 23, 2023 at 9:47â€¯AM Jan Beulich <jbeulich@suse.com> wrote:
>> @@ -316,6 +277,22 @@ int xc_get_cpufreq_para(xc_interface *xc
>>          BUILD_BUG_ON(sizeof(((struct xc_get_cpufreq_para *)0)->u) !=
>>                      sizeof(((struct xen_get_cpufreq_para *)0)->u));
> 
> This check...
> 
>> +        /* Sanity check layout of the union subject to memcpy() below. */
>> +        BUILD_BUG_ON(sizeof(user_para->u) != sizeof(sys_para->u));
> 
> And this check are the same?  Your newer one is nicer, so maybe drop the first?

Oh, indeed. Will do (and JĂ¼rgen, I'll assume this won't invalidate your
R-b).

>> +#define CHK_FIELD(fld) \
>> +        BUILD_BUG_ON(offsetof(typeof(user_para->u), fld) != \
>> +                     offsetof(typeof(sys_para->u),  fld))
>> +
>> +        CHK_FIELD(s.scaling_cur_freq);
>> +        CHK_FIELD(s.scaling_governor);
>> +        CHK_FIELD(s.scaling_max_freq);
>> +        CHK_FIELD(s.scaling_min_freq);
>> +        CHK_FIELD(s.u.userspace);
>> +        CHK_FIELD(s.u.ondemand);
>> +        CHK_FIELD(cppc_para);
>> +
>> +#undef CHK_FIELD
>> +
>>          memcpy(&user_para->u, &sys_para->u, sizeof(sys_para->u));
>>      }
>>
> 
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:08:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:08:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589309.921176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoWk-0003Os-UW; Wed, 23 Aug 2023 14:08:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589309.921176; Wed, 23 Aug 2023 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 1qYoWk-0003Ol-Rs; Wed, 23 Aug 2023 14:08:06 +0000
Received: by outflank-mailman (input) for mailman id 589309;
 Wed, 23 Aug 2023 14:08: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=2ZVo=EI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qYoWj-0003OC-DW
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:08:05 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a1bf7ae-41be-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:08:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id F036E223C8;
 Wed, 23 Aug 2023 14:08:03 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C008D1351F;
 Wed, 23 Aug 2023 14:08:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TWb/LMMS5mQIBAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 23 Aug 2023 14:08:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a1bf7ae-41be-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692799683; 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=POyUBbKLxMf/PBEze5OZHYkp8bKh7/PKxFyqKKyRL1Y=;
	b=dquXP6VO6KiSqUv3IaVlfrW+gRrnUqJeWVFIRcYx7J0ExLqw9ED+04UDWL4vEsW84j5n6k
	oeJJ6obQK/3V1q/hzThOw8OQU35nmeTqdWHS4N9hA8lG2cFeOaCf1bnj7Dq/J7B2o7l8D8
	9i8QJkqsHKiLW+tzhf909D10dnnaBbo=
Message-ID: <e7327ac2-6344-4b5a-a1c5-c1a997867c76@suse.com>
Date: Wed, 23 Aug 2023 16:08:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jandryuk@gmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
 <CAKf6xpvZ4JBEmp0tL4vQgjbEo2uB-nYp8-_dUoQo26x+sfHtKg@mail.gmail.com>
 <d6022d27-b38c-f41c-7725-60434691de0c@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: <d6022d27-b38c-f41c-7725-60434691de0c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------iBnC4NW0oTY0yC65RM6YcAyi"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------iBnC4NW0oTY0yC65RM6YcAyi
Content-Type: multipart/mixed; boundary="------------od5IZmThZSBUI5axjncOgEUr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jandryuk@gmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <e7327ac2-6344-4b5a-a1c5-c1a997867c76@suse.com>
Subject: Re: [PATCH] libxc: remove / adjust xc_get_cpufreq_para()'s
 BUILD_BUG_ON()s
References: <91bb3d4e-46e6-c210-2610-c4771996adfb@suse.com>
 <CAKf6xpvZ4JBEmp0tL4vQgjbEo2uB-nYp8-_dUoQo26x+sfHtKg@mail.gmail.com>
 <d6022d27-b38c-f41c-7725-60434691de0c@suse.com>
In-Reply-To: <d6022d27-b38c-f41c-7725-60434691de0c@suse.com>

--------------od5IZmThZSBUI5axjncOgEUr
Content-Type: multipart/mixed; boundary="------------0R3FGpjHILQKSmWY7A5JtIOg"

--------------0R3FGpjHILQKSmWY7A5JtIOg
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDguMjMgMTY6MDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMy4wOC4yMDIz
IDE1OjU3LCBKYXNvbiBBbmRyeXVrIHdyb3RlOg0KPj4gT24gV2VkLCBBdWcgMjMsIDIwMjMg
YXQgOTo0N+KAr0FNIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+
Pj4gQEAgLTMxNiw2ICsyNzcsMjIgQEAgaW50IHhjX2dldF9jcHVmcmVxX3BhcmEoeGNfaW50
ZXJmYWNlICp4Yw0KPj4+ICAgICAgICAgICBCVUlMRF9CVUdfT04oc2l6ZW9mKCgoc3RydWN0
IHhjX2dldF9jcHVmcmVxX3BhcmEgKikwKS0+dSkgIT0NCj4+PiAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKCgoc3RydWN0IHhlbl9nZXRfY3B1ZnJlcV9wYXJhICopMCktPnUpKTsN
Cj4+DQo+PiBUaGlzIGNoZWNrLi4uDQo+Pg0KPj4+ICsgICAgICAgIC8qIFNhbml0eSBjaGVj
ayBsYXlvdXQgb2YgdGhlIHVuaW9uIHN1YmplY3QgdG8gbWVtY3B5KCkgYmVsb3cuICovDQo+
Pj4gKyAgICAgICAgQlVJTERfQlVHX09OKHNpemVvZih1c2VyX3BhcmEtPnUpICE9IHNpemVv
ZihzeXNfcGFyYS0+dSkpOw0KPj4NCj4+IEFuZCB0aGlzIGNoZWNrIGFyZSB0aGUgc2FtZT8g
IFlvdXIgbmV3ZXIgb25lIGlzIG5pY2VyLCBzbyBtYXliZSBkcm9wIHRoZSBmaXJzdD8NCj4g
DQo+IE9oLCBpbmRlZWQuIFdpbGwgZG8gKGFuZCBKw7xyZ2VuLCBJJ2xsIGFzc3VtZSB0aGlz
IHdvbid0IGludmFsaWRhdGUgeW91cg0KPiBSLWIpLg0KDQpDb3JyZWN0Lg0KDQoNCkp1ZXJn
ZW4NCg==
--------------0R3FGpjHILQKSmWY7A5JtIOg
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0R3FGpjHILQKSmWY7A5JtIOg--

--------------od5IZmThZSBUI5axjncOgEUr--

--------------iBnC4NW0oTY0yC65RM6YcAyi
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/Ey8FAmTmEsMFAwAAAAAACgkQsN6d1ii/Ey+A
QAf9FGpcXYNLfE0Q1RNIxWVhvY2H3rv1xmvg6wxwjFhOLoyiJa9+tIgAY9uoLBm3T3PMCDsbWnvc
AiGAQOw6Most64dxY6+/kxBd8/fx5JsoqHHHWbc5AYR4AIkUtVKL6gLfsq6PvlOM+Ts/feT1+ISy
LrLIShOmO4R3SA4R0b+V5hynGidEtbzCS+GBa/kBTAxTWS8GQ9cyv/mklbRmx6Sxb6N9pJxO4JRP
04Do4ScZLAyu9LJN2sLXNrtM/j2GbthoTLoBWZAhRt5ODw2Skc+1JyszBcRkrhUuY7hNa4JTLdJl
0unItq250GTID4uHjqwGZ/z1121mMc6ePdZ4MjUEKw==
=0Cek
-----END PGP SIGNATURE-----

--------------iBnC4NW0oTY0yC65RM6YcAyi--


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:09:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589318.921188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoYD-00047i-Ds; Wed, 23 Aug 2023 14:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589318.921188; Wed, 23 Aug 2023 14: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 1qYoYD-00047b-BF; Wed, 23 Aug 2023 14:09:37 +0000
Received: by outflank-mailman (input) for mailman id 589318;
 Wed, 23 Aug 2023 14: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=JPpt=EI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qYoYC-00047V-NQ
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:09:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b038391b-41be-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:09:35 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id BE3A14EE0737;
 Wed, 23 Aug 2023 16:09:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b038391b-41be-11ee-8783-cb3800f73035
MIME-Version: 1.0
Date: Wed, 23 Aug 2023 16:09:34 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, =?UTF-8?Q?Roger_Pau?=
 =?UTF-8?Q?_Monn=C3=A9?= <roger.pau@citrix.com>, Julien Grall
 <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 2/3] vpci/msix: make 'get_slot' static
In-Reply-To: <c6e270c813ef1a4da7045a5fcf7bd9e1b8f21947.1692275359.git.nicola.vetrini@bugseng.com>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <c6e270c813ef1a4da7045a5fcf7bd9e1b8f21947.1692275359.git.nicola.vetrini@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <83384f49acf61489588faf76e54fa106@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 17/08/2023 14:39, Nicola Vetrini wrote:
> The function can become static since it's used only within this file.
> This also resolves a violation of MISRA C:2012 Rule 8.4 due to the 
> absence
> of a declaration before the function definition.
> 
> Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X 
> table")
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v2:
> - Corrected wrong prefix in the commit subject.
> 
> CC-ing maintainers from "THE REST" as well, perhaps this trivial change 
> can go
> in straight away.
> ---
>  xen/drivers/vpci/msix.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 25bde77586a4..f9df506f29bf 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -223,7 +223,7 @@ static void __iomem *get_table(const struct vpci
> *vpci, unsigned int slot)
>      return msix->table[slot];
>  }
> 
> -unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
> +static unsigned int get_slot(const struct vpci *vpci, unsigned long 
> addr)
>  {
>      unsigned long pfn = PFN_DOWN(addr);
> 
> --
> 2.34.1

Any chance of an ack? The maintainer for that file is Roger Pau MonnĂ© as 
far as I can tell.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:10:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589319.921199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoYX-0004WY-LT; Wed, 23 Aug 2023 14:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589319.921199; Wed, 23 Aug 2023 14:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYoYX-0004WP-IP; Wed, 23 Aug 2023 14:09:57 +0000
Received: by outflank-mailman (input) for mailman id 589319;
 Wed, 23 Aug 2023 14: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=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYoYW-00047V-Pv
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:09:56 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbb960c3-41be-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:09:55 +0200 (CEST)
Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 10:09:49 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ2PR03MB7168.namprd03.prod.outlook.com (2603:10b6:a03:4fc::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25; Wed, 23 Aug
 2023 14:09:46 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.026; Wed, 23 Aug 2023
 14:09:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbb960c3-41be-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692799795;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=EAPAF3epERkGQ7DhetVe7AhB22LqjduDKjcThwq8YaY=;
  b=GZGkAH5uNgvrn+STIr5ZoafelFpVkku5764bYBdW2mRqEkfD9YppB315
   yzezMy0k6M1mzaaAVW0dT7R09AweORFT+2OoWrF/c8Fl8vDxCUC04bAhn
   0aymAf4eerPyLsZQbF1scESeQ8N7gX2Tpa7Ch4kbfgLQBnD+Fg1On/IwH
   o=;
X-IronPort-RemoteIP: 104.47.55.102
X-IronPort-MID: 119663041
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:G7LrDq/Zcb7icQFfy+CdDrUDU3+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GBLD2qBOf6LN2qhL95xa9+09hsFuJ/XnINqTQA5pHs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks21BjOkGlA5AdmNaoQ5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklM2
 KYmFgshTiqsrL2q+qz8UMtwheU8eZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpitABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtDSuPjrqIz6LGV7mc/LlpRdneHnfSGjGqHcPwHF
 0FE4jV7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3OcUbzE30
 l6Cn/vyGCdi9raSTBq16bO8vT60fy8PIgcqZzICCw0M4NDhoYQ6phPJUttnVqWyi7XdGjzuw
 jbMsCk3gZ0Si9IG0+Ow+lWvvt63jp3ATwpw4xqNWGugt1t9fNT8P9bu7kXH5/FdKorfVkOGo
 HUPh8mZ6qYJEI2JkyuOBu4KGdlF+sq4DdEVunY3d7FJythn0yfLkVx4iN2mGHpUDw==
IronPort-HdrOrdr: A9a23:85dJQql86DwrF0zQ9GjAnfmHHALpDfIo3DAbv31ZSRFFG/Fwwf
 re+MjztCWVtN9/YhodcLy7UpVoIkm8yXcW2+Ys1OyZLWzbUQKTRelfBO3ZrgEIcBeRygcy78
 tdmwcVMqyWMbDX5/yKgzVRsrwbsbu6zJw=
X-Talos-CUID: 9a23:7WKx1mP9NZFMJO5DWgQ9ynAvNuAfXVaC0E3OZFWaFWVIV+jA
X-Talos-MUID: 9a23:T/gVNQgcVpAF6i6N89zigsMpP+tOpOONJHwxnKoAn/CvG3RMNmeFk2Hi
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="119663041"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d+752N9TjkHlD6LXeC0ZVgeFhCwY8SFv87HRCpKEfdxhbm8mX0nEssDOj1HYw4+TzYg46b8XutGJnnBHDs0ia5k7RQCo1nCH4pwE1w+ddwCRoWXRGZUC8+tMxEIycUEePmA4jJ0dgNrXovB2puS/eDeHrmd6agVOmJ4U9GImsJg1hTSZcBWrNHrg0dhLo8qG07voogffK67m+fZPn5oL/m5O60b+M+oJjPR7Blap0mSuRSh0q0ITFi7bErjNIIkS+zquoO11w+zp4loWcRVQzt28jugUaniRkq4s0FYQPnZ1ydoTCd36udYced66s0LzTcgyG4M+LwRJtaIWuqpw9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DMD2cGxup2f5jsgp180LJscr98gtNO5DFaRWD2K9ddo=;
 b=QKR9voS4gEWP8Na4R1VI79rLCyXw2lyUZf8sfL8SXKzyOGJ32/pr3UY3Quri6SYI26px7n/KgSntT0CMtvp2Vn6m3eKnQycnOAtBmexZXQV1Hj+uUM15XTyC5Hth8W2919ETi+YhXIGRw0yBAjYTrAYAP65yuPQS8oDZrMHQchIxo2aV+WNP7aW7oP2d0t8Y3g2wjN3D0SXbkapz7zBgfgbHWA4NsZqp5nOhkFMyLrV4ewux10zuptG2BX8DOa8JqaGKvMnlfz43lgKsKEQ3PwgkWETTo3vr6zSOZTje9L7FKbSoclJOj6flZ6oZ91jS8k/cjX9RzQwyoCJNE4rbWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DMD2cGxup2f5jsgp180LJscr98gtNO5DFaRWD2K9ddo=;
 b=PtCsTLCD7QhIQchHbqo7QwfX01sNSQfLaWU8c+b9dVK3HIBw4xg/6+4QGpg7/+NgPQCBuV7AH8i2glQABF/LvoPIFagNpwbSXQH+yBmTBifuhH3NhCYiKwYHB33x5Ek2GunD8nCtenaqXGku9XDI83oB2HuT1EHhf6vUD2UiCvs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <228007b0-3e19-7a2d-0dd0-7d37a5801387@citrix.com>
Date: Wed, 23 Aug 2023 15:09:40 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before re-entering
 guest"
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
 <ZOXqQrFOpofVR_B3@MacBook-Air-de-Roger.local>
 <327109c1-f8ad-f8c4-01b9-ea19dc5df247@citrix.com>
 <ZOYKKS60iWq6Zx51@MacBook-Air-de-Roger.local>
In-Reply-To: <ZOYKKS60iWq6Zx51@MacBook-Air-de-Roger.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0133.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ2PR03MB7168:EE_
X-MS-Office365-Filtering-Correlation-Id: 210c32a1-a975-4f94-314c-08dba3e29aec
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jrTK6DHoWZ/xrgUemmLyaspxwL1LLsRoh4z/bSIl68FPQCW/X9g8PccW2Qo8JzQHBkauxvKSWPGwHdVgGjivBpwPCK1EjzO971L6l/JJoqeuQCL/5CmPpuJhuqGl0QpAnXSGWgwb/iDSU7tXmunyEHme5uqkl0xk5Mg7665+krbEk/MOU8inRM9eD47/WO4IcA3eaAy0iQanoRnCkHLoAVGUXbcuQd71hQAsposPmT0xsBBQrIWaFFJgtGI0yokgApcGeEFeGwMQfP4Gpzw6YhrX9RFNxryN1W6sM6wx+XSCCfSSOisQ6R0VXQKnk4tAdLdTNTV4gm+CJ+ZlwCHPkC519Ik/zf3aWhclPFWLs5ZHAER9RK/k1g+POKateOLXlB9UfGNhY8SmeMMOpUtao4D0q+dZ90Q2bkYHP7x2Wo98UWX5IRLHpzAagbMzHyzUJ25ueTAPzbe1XT5ZPBeRxjIEHKyytVd2qLXj78rHxstf08nrw/MckefYwLPpGj9KlqhNEGLA8eN6X51bTJV0rrOj4ll+L+s5JNMQ4AVQMQsfNla7fNqU7cfkYU4uWEzlDwbGS0rlm2b477dqinYTI094BS6QGJlWcfJGurlZVQ7XQTg+wQWMJF4Ndb8GnuUtc+AQFe374+PCgZvDEJtdIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199024)(1800799009)(186009)(83380400001)(478600001)(26005)(31686004)(6486002)(6506007)(2616005)(6512007)(53546011)(6666004)(31696002)(4326008)(5660300002)(2906002)(66556008)(37006003)(6862004)(316002)(82960400001)(54906003)(38100700002)(6636002)(41300700001)(66476007)(36756003)(8936002)(8676002)(66946007)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGF2Vjl6TlR1aXlKRzltV1czSU5JUXV3dUhjeDBpQ0FKZXRFYS9kbytGNmNa?=
 =?utf-8?B?U1VWWmdFZHRHdDZQZFRueTBMYmZiREl0M0ZudUxEQjR3OVA0NnBCQjNYaDVP?=
 =?utf-8?B?R2JvTFR1aXhCd3JzVTZYdlpwQ3ptcSttQVJXRjlwRG5RWHBhTXN4VUM2L2Nn?=
 =?utf-8?B?RUYvT3FDMEFHZDZmTnJxNnBYcWNLWVJzMjk2Uk9hcWpMbmgrWFFHL1ltZk1t?=
 =?utf-8?B?RkZrbWdXT1NPSFBvMm5uaUNDYzgzeTVTRGF1L1lkb0MyeDdLRTFyemE1RHND?=
 =?utf-8?B?YktvK1lsRlY5ODlVcXVocWlZcUlpS1R6SllBVDVMSG14TC8yb2VmVE44ZGNp?=
 =?utf-8?B?cDBxZEVWc0N4S0oxZDVBV2dRcGVGU1ZjUjBnNkdoTW5vaDUxQ242cmlLV0lZ?=
 =?utf-8?B?MDJndTFzdy9yWGhBK3Vtem5IT2pGMVV1WEdocDVJVGpUb3BZK0Njd0FhTEcv?=
 =?utf-8?B?MkdlNEE1WEw3K3ZQTTVHZG91THQ2ZmZVK21TSmtJa3hEb0pVR2tpSk9qb056?=
 =?utf-8?B?dlpIalNoVGpnQ1FHQlVDMHRxbnQ3UGNHamM0aTcvUDhPWVpkSTJyZXdMdWJj?=
 =?utf-8?B?cmFMdFNCT2E3QUhCQ3pUQzQwY29vODRhQ1gzL1VUTWhsLzlzK0FzR3Zlb3BT?=
 =?utf-8?B?RHlSQUlRWTg0cFhtaFZQOFNRTkxUSnIrZkpzaTh5NTErUXlqRDNubkhkUzhi?=
 =?utf-8?B?K2pCZjVlM2srWGIrWmVZMzR1aThFR2gwTFVoWVkwekVVVjJLSXd3NlcyT0JN?=
 =?utf-8?B?cEFaR0tkNUc1UHZmVzJKM21uWUdTNWRad3pBQkJCN0dXeVF2L1FtOElONGFz?=
 =?utf-8?B?WjdMb1hFNndETSt4V0d5djdQcnNPNzNFd0FaTVIxbFFwUzRmL1VvUmd3QW1x?=
 =?utf-8?B?cS9Ebi9sb1dITWU3d2w5dlJ5ZkhNU0hhOXRic0tZdkJSNXBSZnZ2bmFXNFNt?=
 =?utf-8?B?RGZmRmI3akFzZWhnYmhURTNoRzZBM0Vwald3N0twNmxlVTJtKzlFQkdXNERS?=
 =?utf-8?B?Y1FORFlBcGE4YVAxRWg3SEcxSC95bSsyRTdQdzdvRytWNmtYaWsrTi8wQjlv?=
 =?utf-8?B?enc1bVdEOEJReVZueDZOYlYzMHZkZ2JobXZlY3JoZjMxVWZ4R0lyLzFIQ3FU?=
 =?utf-8?B?Ni9sOWRrOXlzMTZqRmxNRkEzTCs3MitKZytvZXJWZ3JMNzlIRzRhWHFOVUNm?=
 =?utf-8?B?SlQ4aTJia1dNT1BQSitzRnFHWlZGd3RlbU9UM01ZbGlnc3dBUnZjaEo2U3Y2?=
 =?utf-8?B?NFk5NTF0cGxHaHZ0YXk1ZHR0L29Yd1pZMUVkMG95YTVWWDI3ZnROdDRKVWpS?=
 =?utf-8?B?YW5ZVHE2OE03TkozZkQ3RTd6NENMZDVTanRsK01HRlVpKzM5UlFoaTAzMGZz?=
 =?utf-8?B?T2VMaHZhakFMeS9xUVJlUEM1UkdCOHlKV3FpdVlER0ZLNWZpRmFhQ1Jub3RL?=
 =?utf-8?B?VGlFdTZwSDZWSmVQcDZXOVdVRk9ReFRZVkpOL3ViZmtWdjFITkZYa2hUZE8w?=
 =?utf-8?B?SE8rWkFheGtEdWc2alViTFB6OXRKaVJ1ZHRNU1FSYzVkWWlTaTkyem9FNFov?=
 =?utf-8?B?dm04NCswS3JXMWZEbWRCRGp5ZU1qaDdvb1hZQ1VIVXJGQ0REVFNqMFQrZ1lW?=
 =?utf-8?B?Rm1pVWZ2eXEwS0RickdmTDZBazh5T3FMRGRPQmFVMDVxaWMrc3hDMEZ1SDMx?=
 =?utf-8?B?ZDl6ZTFBbDRWdlQybVVFU1ZmUC8vWmhmOE5PeWZGM1JGaG40dEx2bGkveTJj?=
 =?utf-8?B?bTRJT212OEl1ZGRXeTFPRUVqY0lwbzVSaUcwcFZHNkhuWG5RRzl3Si9tbDhP?=
 =?utf-8?B?Q3BiSWtEdk1PVlNkTnFBcVc1eGRRSy9ldys3WFRUYTBUMzRmaXl0MXRkb3Va?=
 =?utf-8?B?YXBVS0Qwai8vQ04wUEk5REVwRURVdlRRbkNOOU56MU10N1diaSsydzdKZUha?=
 =?utf-8?B?R01oSE0ra1JXZ2prNU10OVFVdjVyeUJLNmlGc3hRdTBxQjltbzlOYjN1Vkdz?=
 =?utf-8?B?WVlFTlEwYzlkNS9MbTVhN0V5cGtUMjV4Qm1IQjFZbTF6eHNBU2FMYXFFVUt0?=
 =?utf-8?B?eUR4TDVVdFJaK1FPTmRyKzNJUmwzK0E1VExhZUhjTXpEOGVnTWxNOXp5L2VJ?=
 =?utf-8?B?UmJyc0Zrd0R5RlFSVlFsN2lFR1lpdElibkg2ejk5WFgwR1RRczlkMlFaVmZD?=
 =?utf-8?B?dlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6H7d+XmS4EOss431eitAy6yjuApYspdKMP2Maa2DfO1BI11QjDCgO9SWpaD3u1HsbjI4KdasaC0iM6To/knG/Dj8XTNnNFvs1JL8ZrCxPOmbshszD7yQkJ1iHkJe1+dhYuNueLZnW8HOJSdqXRp+UOtXZDFdLfRJ2ucG6WYB8T+AgUXK9gWN1gTrbSuaF/TvpDroVVE2lqeaPyA4ztbMrjApohsGGsjr396sOiKD/YoiJFGAJL0h1ufb9dmZmVJT3uMeevVPBLMVgz2bplJ9BZU4FXlfq32cLl5rTAP4Lcyq+UvvMnJrv0cq8ZwXXZpGPPEyTW5XzzqjFvnBtei/iJPUlxoxkS5pzatVfIX/2XFUPvy8o70oC2Vanz2p9auYjCpQpxQNl5TvK/1rjIGD/grwEoOYrb6GLnMKyRoqAekFk7yp/prA1ape2hFM04qCNb31Nvn4EywNMMooAcRSG5Sex0BocWvnESP0Qf7VRBF+LCmUg03ihz8/1UmL44U3K2dTJhugtDhuAMlbhcJAnq3SIm4BjD7MAg1bONZQgFvvYWZSYoULdmFTlEgpOBGsNdDlQONLLCoKRcx8J16P4MG62WmG1mPoKZX1AXwJoosGXplVR5Fs9wkMp90p4OS2A+5ZOjgJyvBjq9MMXSFZFZp1j7chrCM9D43SnYoN0GA4qn6JQ7RCxgK5TIBbQmlCaV/iKJNTtX/7lLcVtBFnl52gvss/hS7SwyaSld61Zs427n0WFzH9WUQtfUtSuE7pq7+e1gQCYlt8FPKTUH43qpVe8iIqwbXClqg9pdImLCWyY/KdGzCbT0ljwtu1wx0UXHon4MpyAu3xi2uTqVNH3Rz8upLoHtYOIk1z4gCgSro=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 210c32a1-a975-4f94-314c-08dba3e29aec
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 14:09:46.4448
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KoXedNhFsWl9Y3DNqRkan7BWb7kcrSZtzxGUvwLY3FFIIGhVPwLQEQIztwPka128t9pGwlhZXSc+aSsJV6A5byPQh9MJ6MkAzYE24c/W0yU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7168

On 23/08/2023 2:31 pm, Roger Pau MonnĂ© wrote:
> On Wed, Aug 23, 2023 at 12:56:48PM +0100, Andrew Cooper wrote:
>> On 23/08/2023 12:15 pm, Roger Pau MonnĂ© wrote:
>>> On Wed, Apr 05, 2023 at 10:52:45PM +0100, Andrew Cooper wrote:
>>>> At the time of XSA-170, the x86 instruction emulator was genuinely broken.  It
>>>> would load arbitrary values into %rip and putting a check here probably was
>>>> the best stopgap security fix.  It should have been reverted following c/s
>>>> 81d3a0b26c1 "x86emul: limit-check branch targets" which corrected the emulator
>>>> behaviour.
>>>>
>>>> However, everyone involved in XSA-170, myself included, failed to read the SDM
>>>> correctly.  On the subject of %rip consistency checks, the SDM stated:
>>>>
>>>>   If the processor supports N < 64 linear-address bits, bits 63:N must be
>>>>   identical
>>>>
>>>> A non-canonical %rip (and SSP more recently) is an explicitly legal state in
>>>> x86, and the VMEntry consistency checks are intentionally off-by-one from a
>>>> regular canonical check.
>>>>
>>>> The consequence of this bug is that Xen will currently take a legal x86 state
>>>> which would successfully VMEnter, and corrupt it into having non-architectural
>>>> behaviour.
>>>>
>>>> Furthermore, in the time this bugfix has been pending in public, I
>>>> successfully persuaded Intel to clarify the SDM, adding the following
>>>> clarification:
>>>>
>>>>   The guest RIP value is not required to be canonical; the value of bit N-1
>>>>   may differ from that of bit N.
>>>>
>>>> Fixes: ffbbfda377 ("x86/VMX: sanitize rIP before re-entering guest")
>>> I think the fixes tag should likely be "x86emul: limit-check branch
>>> targets", since it's that commit that missed the revert done here?
>> Well, not really.Â  ffbbfda377 really does have a bug, irrespective of
>> the changes in the emulator.
>>
>> The presence of 81d3a0b26c1 is why this bugfix is a full revert of
>> ffbbfda377, and not just an off-by-1 adjustment.
> Right, but taking this patch without also having 81d3a0b26c1 will lead
> to a vulnerable system, hence why I think the dependency would better
> be on 81d3a0b26c1.
>
> Anyway, I don't think it's worth arguing over, so if you want to leave
> it as-is I won't object.

We don't really have a depends-on tag, or only-safe-with or whatever,
and a change like that is stretching the definition of Fixes IMO.

81d3a0b26c1 is more than 7 years old now, so there's not going to be a
practical problem backporting.Â  For everything else, I expect people to
read the commit message and apply common sense.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:14:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:14:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589336.921212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYodA-0006co-7Z; Wed, 23 Aug 2023 14:14:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589336.921212; Wed, 23 Aug 2023 14: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 1qYodA-0006ch-4a; Wed, 23 Aug 2023 14:14:44 +0000
Received: by outflank-mailman (input) for mailman id 589336;
 Wed, 23 Aug 2023 14: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=dmRg=EI=citrix.com=prvs=59206e676=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qYod8-0006cY-F2
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:14:42 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65a26a60-41bf-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 16:14:41 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 10:14:37 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by BLAPR03MB5457.namprd03.prod.outlook.com (2603:10b6:208:29b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Wed, 23 Aug
 2023 14:14:34 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023
 14:14:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65a26a60-41bf-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692800080;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=JHYkfzGXuwOHKbXSVHjs4P5GRXUGbylRMMm8Q6MUfjA=;
  b=ahr5Q1Hub7acpjFbgFyJAK4+1ZUPn/KG5SQcK5iYi0nHtXT8ugFTcius
   yCXvUb8dj0gGzVXFUVejK12ZtTKngQmzZOTtjqTnWjcjIcY2Jf4nBydE2
   gc8dpgllL1yOGXkOHBiDM6USjxSSbMi7K70Fgxz3cpthpvcuEmlqD1x7g
   Q=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 120410922
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:rNZudKJ+O4klINRSFE+RnpUlxSXFcZb7ZxGr2PjKsXjdYENShGYHm
 2QcXjzXOf+PYmOgf49wYY209B4AvsXUm9NjGgtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA7gZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5JKHhu6
 f8zAgw9QVeemv+K8qqxbtVz05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv23rOWxXKhAur+EpWA/PM70E+36lcCJyMxRwGBhdSJhmOhDoc3x
 0s8v3BGQbIJ3EqqRd75VlumrWKevxgdc9BNHPY37g7Lwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qyPsTq4NCwRLGkDTSwJVw0I55/kuo5bphfORdZqFOiylM/4HRn5x
 jzMpy87750DgMgK3uOh9F/Gij6lpZ/UZgcw6kPcWWfNxgpobYjjZJGt4EKd7f9EIIuDZlCEs
 D4PnM32xOsJC4qQkDCMRuolFqym/PuDP3vXhlsHN5s88zWg/VazcIYW5ytxTG9rOMsZfT7iY
 GfIpBhcopRUOROCcqtfc4+3TcMwwsDd+c/NU/nVap9EZMh3fQrepSV2PxfOjibqjVQmlrw5N
 dGDa8GwAH0GCKNhij2rW+Ma1rxtzSc7rY/Oea3GI92c+eL2TBaopX0taTNisshRAHu4nTjo
IronPort-HdrOrdr: A9a23:FasTNKsgqrxsfAf8iQHTDDRK7skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-Talos-CUID: 9a23:7fDzwGwlaZVk5eu8vJjKBgUqM9kFbn725kvgDAilFHtVeqWfbWOPrfY=
X-Talos-MUID: 9a23:2o4xZAlHMaB2hKI9V3u1dnpaPso5s7aKJHscvqshqZO+EQFANxqC2WE=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120410922"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RibFO8GnMhp5HUnQsJAog2OxQlt5fcd8DGF0qzJ32oBx1cFCMcSH7jidkbbi0fy46jpdSBbIWZc85pjy7h27pPFe8tQTKQfOzgt9kfOv/1DtsHxsHcO14TIdkKzks7BB2TLisAoDG64HoKa343MHwL3YNIzCgvb+K3EmAlAjDZOnNm2Dh3GpEJhVnxGaRGs1Zz7w8atRZNXYk4c1YhchsCKOHZ93cRxm20+DgzvODt5lQdMgnq89AXmrkDJXFYckE9P9IlopSb1P/U55ALYt+glfsQ61nkx61h8AJqblLI7i+XEEFrrZH7+P29xV05kOHX2/EHALT0T1AHKJhxZbMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fUsrN5T4FZnQblj0u5TDFm71/MJW8OASu6ZHgaa0RE4=;
 b=L3nlbC+7VTO1K9KelypyCVW5iFQU6ai67Wfo6Fo2nB9AkPwxrVp5c3LZOu4SMVOjul3sBWio+IuJbW1owZKgMPPrzTEGDHc22zZJX6Iz6Fc6r6noh9SRTNZNh2ZYxS8A+EkvNwlej9P2j3nvODXjJKiJkRXPd1KL4N5TjhXN0a53z4ORrPVqaTU/rx+XSb4TrFs5ozeFGyDw37Wu3yE/VBxzCuw3Sr0ktuH9BNZNug4owUpQ0feXbT69eW/ZGXj1g0zRUA41DVSaHoikRo1T9gXJYx7olPgkt7HTIPcn2aBiUlKhFEI5oLMnOM/s24My1C2TgQdWL3gQ6HFr3zwqgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fUsrN5T4FZnQblj0u5TDFm71/MJW8OASu6ZHgaa0RE4=;
 b=fALaF3nwPSa60qOdUt5tMV6mJznkWryNkLupUiCsOCblQOhB7fngTQ26Ce4v5CLnhLmVSDpzc6aKFl1bk7NzCB2uvfxKGVqVwFqLYf9new6oidrKpuOXuHqgNUUTSG8L8yUdiogdVU7F+wTP8CqTSqM14VyUfsIByssdPvSxTAU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 23 Aug 2023 16:14:30 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
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,
	Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2 2/3] vpci/msix: make 'get_slot' static
Message-ID: <ZOYURt0D1_CWJzRn@MacBook-Air-de-Roger.local>
References: <cover.1692275359.git.nicola.vetrini@bugseng.com>
 <c6e270c813ef1a4da7045a5fcf7bd9e1b8f21947.1692275359.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c6e270c813ef1a4da7045a5fcf7bd9e1b8f21947.1692275359.git.nicola.vetrini@bugseng.com>
X-ClientProxiedBy: LO6P123CA0046.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::8) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|BLAPR03MB5457:EE_
X-MS-Office365-Filtering-Correlation-Id: cdf1f33d-280e-4ff8-128e-08dba3e3468d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tIrc4Vf3VevwwK/hpgIM0KIHTIaRS66aP1PpX2+8+eI23umclPEM+6FUxTOf/6aEnq8ynMFYn1bHoN4Y4f+WCIrXKIr82xC23FrG2X6M1NKN+Zg5vt7/dKgWFlgIZ7Ai8KnfrXDHlhIjOEQe5Gy7YZ1emBaKhmn5tmO/G7u8fKXlLHo9xYjZnxaOQWlGdG8KynuMFfgsz9z1G84JVQSjumZOk9a9+Rhg3S+BQp19ai+xF9+xk1OTNG2tJCmOp7y2fGaz/0Ibs/vqLm2pOFsuo2Aewe8cwRVQFqX5MLxbuJ8qW4AFzm++OofVviPpLBuQrEADPENcO6zv01Y2wH+PB4wTOdG7r+/RoMMqvH3mnzh4Z+oUI28P34ZdnkxKm31Hlg6DPiowb3py2eFaA8PV5gOIIVSaObhiaoatdkteLmt1CBam+pmNCBCBW3k0ffY5tbscQhP7KTVGPI851lJY0NF/kq3ypK72vKL6lZeP64NRov7gqho0T/77LT/P/DB8MrJXBapcZEe9gzCCnBqSCmbJxbCXtdA756h/5Dx6MTea9K7CKkFDKO6rSZGooqW4
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(366004)(396003)(136003)(39860400002)(451199024)(186009)(1800799009)(83380400001)(4744005)(7416002)(2906002)(6916009)(316002)(6486002)(6506007)(66556008)(66476007)(54906003)(6666004)(66946007)(478600001)(86362001)(85182001)(5660300002)(26005)(82960400001)(38100700002)(41300700001)(9686003)(6512007)(8676002)(8936002)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHlNZWxqenEwTXIxeE9ubnVzU1FKc1dMbGlIT092NHE0MU5WcU0ybXQya3Bl?=
 =?utf-8?B?ZWZJdGcxRWs0VUtNc000cFBpMW5xMGRRSlFDNmFGUW1icEdPaUdOQmcvR3N3?=
 =?utf-8?B?VnAxaFBRbW1ZMkV2QnUwZTZjOWQ4Qm5GR08xTGFjVVh5N1NUUzRCQ0txcjY3?=
 =?utf-8?B?L013SGNrL1JWYXhwZHRhVzRsdUpoZHhiV2dRc3kycDkvRnlydnd5anVWZlNv?=
 =?utf-8?B?eUVoQmNSZUNLZlVxQlVoZVRPVFZ2WTRkUnJSKzk5QVRJZEFvVnd3OWZBVTNr?=
 =?utf-8?B?RS9GWDlPUkh1dStwaTBkaE5QRWdKell6NU0wZlg2V0lLR1dNR21xVlltWC9r?=
 =?utf-8?B?N0JsVktMUk5vYkFmWE4zWjZGb3lYZjMrRDBneFJucTVCaVcrdXFsQ1VlNUpS?=
 =?utf-8?B?ZzF0bmxTWHpma3N4TFlkOHY1VjFtQnZuUTRsb2xUUTZOR09nV1ArWm9TQk02?=
 =?utf-8?B?MGhZa3F3RXQwMVU4SWpwZm8ycG1sd0hIOVdOS0I3R0NsRUpxUFI0RmZqeWRG?=
 =?utf-8?B?M3pXOHphNFArTUNZOFBRK2M5SDZNbC9ZZjE3bEFaWWFlVHQ2dGJVMnMwbXNa?=
 =?utf-8?B?Y3IyVjl4UENiZWxaYklaL2ZlZkNYSkc4NE1zN1VReDEzR0VVV0ZEOEw0WUM5?=
 =?utf-8?B?cE1vZGdld1hic2U0VVJCOWdpUjVpeHNXUGdGQkhvMlFmUjRaK3g3dGt0eCtQ?=
 =?utf-8?B?bkJVWnROYUY1VHVKTVg0RDRUTFB1QjduZUVMVkJnUTIxTXM4L1JZQW45TVJI?=
 =?utf-8?B?WWJSSExueW5DTHB5TVl4RzVaVWRXZ29SdUorQ0lpbnZqNjNPVzV6Si9nWGNh?=
 =?utf-8?B?ZERLMEhZdHBYQzJPeFZxNmZGU2RsTGIvWTVxRzQ3LytqR0RsNkpqU1lpaUd0?=
 =?utf-8?B?YTJHOWVuK2Y3b0N0SHEwREQ1ZmpUQkVPUjRTaDdGSzhDRXN2SERlZjdLYitM?=
 =?utf-8?B?cmY5cWxwcnJJTDgvUThob3JyTk50UmhYNU1LSnJxNElnSEQ3aWw1ajUzUGVU?=
 =?utf-8?B?eUNKQ3NJdHI1U2VvNEJ4NlFOR0xYblBoMVJDa2JzRWdWTkZtcU92a0xRcFN3?=
 =?utf-8?B?S1E4aHByaWlHNWFFcDNCa3lYaFF2Qm9uOWJlUUJVdGd3K2lpSFo1RWg0S1Bu?=
 =?utf-8?B?VUlYdUdTUUZPeVdXcHNLYWk4QUt2WUd1WjZoYlFBRThOczdZVW1KRDdmWjd5?=
 =?utf-8?B?Yjg4aVk1QXJsQnZpWnFvK0JKNWdlKzV6U2Rmc0RTRHQ2blBwL0t5Yit6SHJn?=
 =?utf-8?B?WVlZbjVseGc1bXdDVmtUZjFIdk0vMEJnSzIzdTFmanJDNzRpck5MYzZZcmdX?=
 =?utf-8?B?dW91d2l6cjhsbmZETVZKRXNOcERJcDFsNVBRVUgrblVPSHdiYmgrNjk4VjBu?=
 =?utf-8?B?THpWNGZ2Y3E1ZkxvREs0eE5ndURaV2dBb1RiVlZvQ2lmaE0zdFppai9BVEV4?=
 =?utf-8?B?N0RmSGwrWDdxWkFoZzB1ZytGSGkxdUNDbE1RMlhDcU1DNGxRUDhnQkJ4Qi8x?=
 =?utf-8?B?ZExRd2ZwajVlclJXYVN1MElGVmNxdnlSTFhYMFlnTU5CS2NoZWRqZU4vVHJK?=
 =?utf-8?B?RFNhTEY4YzBLZEN2V1J4eDYzWXgxc3hTUXBuU3cyeHB3RVR6OVhBK2d4ckJH?=
 =?utf-8?B?aW4wbjB4aXJDOElLZnk1RkF1VmE1RXEvOHkrc3FyQXA1bmw5RnRyalhHVVdV?=
 =?utf-8?B?OHFsT05Tb0p4MzE2R21GcUFodVNOSGJxcWtmYXJuMUdSSXJBWFl0dXh3TndS?=
 =?utf-8?B?N3NyNVZiN3VFT1N5eE41MXhaa1hmMkhPakY3aTBBWnJ6K1Q1V3d4N3ZjZXJV?=
 =?utf-8?B?dC9STVBvTFZRUW9kRDZLZDBiQkdxcExIRzNqb09PS3J2N3hMeUV3YTFiV1lH?=
 =?utf-8?B?YTJiTGVzTjRGY3dhYXMwaWpidXJHOWFqdFI1YUpkQ1VPSDd0ZGZmMlNHK011?=
 =?utf-8?B?eUw4S1NKN1Fsek1TZjVMeG5zcG5ReDhuRytQdHM3KzBrZDIzaUYvNnEyTUl0?=
 =?utf-8?B?WU83VjdaU25Od0d2VlNSNFBZcU45YXc4d3I0R0Z5VFdmVnFhRnU5YmpHYjRZ?=
 =?utf-8?B?N3BWUDFLczMxM3h2VjhFb3NZN0Fha1FtQVAyOHFlc3NRdW9xWXpmbENtZEhp?=
 =?utf-8?B?Q09JYUtodW5jWStTbnpjRFk4SWxmampIREpYMWtwL2ZMMFNHZHFQSGFEVmxq?=
 =?utf-8?B?M3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	iyqEW2wAMAuGcwXDbmP3FukB26kqq3f6wztTkVojIJA9FhOWsotqNsFfMp4JG3LmnX4TZGF9zphnqJHu3iLLFSKLix4///RCnqY5LmPYq8KnzC84eapxDgD8b+sbq47EvJz3Cqv/t7+GlmfNdVbTo3tQyJfWEVFys2AyIAq9ACSo+p4bN5C7CeOaP09gyZKcMGw3wKrjV74aWzYtU06gCBE95/CymfAOk51kHVcy1ZksynfVuHeWy6PUNNaYgihiNAj4eP7h8I7A6qcVlVOH8l7ZHthc9aQc0kRJ4u9dyb/Gc+oeI+mo4D3XqgSEV9D3yVma9dUgVx+47CFAC0gcCIJkhsvRg+VvZS2+qfUc1vUuzwNi+NKYRTz3vkN023yODjtOb0wO3Sh+rV5EzsBwFtQvfoUwJnd1DM8JjBDk4uSoscPreOVby7wbiMtoyR4OWna+hBZPrR8cqFLK7t0fB7+a5Y7qK7XWpGitLEnbV2aRRyvxtMl7VOuak2R/NhgA9VBhftuijLR2wPqDR9/tR9N2tY2s0WW1GJFrtva06M78xzzMW4vgZM9rRlNoZ1doPk4dVZzujRWje5nRShtkgBzkRH5NJhSOq3jR+HtN1rWUa7+gfhWerIl2CFBhDjTVZRNjAVwEGtOdOq1xSqYTDjZuOFvaoTYBmFaJ3Vadqro41iF+v8DIpozPBNR5i5/da/rnp9AQdSZTQgSgbfgBT8h23EzCtxAai9AGsZF6clZnCfipSwau6fElr70nC2JwvKdRSuQB2HC6UwSDXag38/ztPRsNN01nUYI3ObVdoKPgdh8/+0Q2U6WsZwwVGH0H6H/ub+Ms6jKDw058oc3ygIpScQK5v8AQtcfPLIhsDl88jss5na2aOrYBzXSP2EkRZJV/upSvU87vhI8YB4DemA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdf1f33d-280e-4ff8-128e-08dba3e3468d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 14:14:34.0847
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s3vb7VqgNbR7uKYAfHi8VgS03TFT/uYCAAQWAkPbvt+4zSwqZUsTAVcOJb8pyuAVjalWOzIKB1q0oj3eD2oA5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5457

On Thu, Aug 17, 2023 at 02:39:27PM +0200, Nicola Vetrini wrote:
> The function can become static since it's used only within this file.
> This also resolves a violation of MISRA C:2012 Rule 8.4 due to the absence
> of a declaration before the function definition.
> 
> Fixes: b177892d2d0e ("vpci/msix: handle accesses adjacent to the MSI-X table")
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Sorry for the delay.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:27:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589347.921227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYopa-0000AJ-Gb; Wed, 23 Aug 2023 14:27:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589347.921227; Wed, 23 Aug 2023 14:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYopa-0000AB-E1; Wed, 23 Aug 2023 14:27:34 +0000
Received: by outflank-mailman (input) for mailman id 589347;
 Wed, 23 Aug 2023 14:27: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=JPpt=EI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qYopY-0000A1-NR
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:27:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30fcd634-41c1-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 16:27:30 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 155154EE0737;
 Wed, 23 Aug 2023 16:27: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: 30fcd634-41c1-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
Date: Wed, 23 Aug 2023 16:27:11 +0200
Message-Id: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Directive 4.3 prescribes the following:
"Assembly language shall be encapsulated and isolated",
on the grounds of improved readability and ease of maintenance.
The Directive is violated in this case by asm code in between C code.

A macro is the chosen encapsulation mechanism.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
A couple of remarks:
- An inline function is another possible encapsulation technique
- A #define wrapper() do { asm volatile (...) } while(0); is also allowed,
  but I don't think this is needed in the specific case.
---
 xen/arch/arm/arm64/vfp.c | 74 ++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 34 deletions(-)

diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 2d0d7c2e6ddb..0248601453ec 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -4,6 +4,44 @@
 #include <asm/vfp.h>
 #include <asm/arm64/sve.h>

+#define save_state(fpregs)                           \
+    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"     \
+                 "stp q2, q3, [%1, #16 * 2]\n\t"     \
+                 "stp q4, q5, [%1, #16 * 4]\n\t"     \
+                 "stp q6, q7, [%1, #16 * 6]\n\t"     \
+                 "stp q8, q9, [%1, #16 * 8]\n\t"     \
+                 "stp q10, q11, [%1, #16 * 10]\n\t"  \
+                 "stp q12, q13, [%1, #16 * 12]\n\t"  \
+                 "stp q14, q15, [%1, #16 * 14]\n\t"  \
+                 "stp q16, q17, [%1, #16 * 16]\n\t"  \
+                 "stp q18, q19, [%1, #16 * 18]\n\t"  \
+                 "stp q20, q21, [%1, #16 * 20]\n\t"  \
+                 "stp q22, q23, [%1, #16 * 22]\n\t"  \
+                 "stp q24, q25, [%1, #16 * 24]\n\t"  \
+                 "stp q26, q27, [%1, #16 * 26]\n\t"  \
+                 "stp q28, q29, [%1, #16 * 28]\n\t"  \
+                 "stp q30, q31, [%1, #16 * 30]\n\t"  \
+                 : "=Q" (*fpregs) : "r" (fpregs));
+
+#define restore_state(fpregs)                        \
+    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"     \
+                 "ldp q2, q3, [%1, #16 * 2]\n\t"     \
+                 "ldp q4, q5, [%1, #16 * 4]\n\t"     \
+                 "ldp q6, q7, [%1, #16 * 6]\n\t"     \
+                 "ldp q8, q9, [%1, #16 * 8]\n\t"     \
+                 "ldp q10, q11, [%1, #16 * 10]\n\t"  \
+                 "ldp q12, q13, [%1, #16 * 12]\n\t"  \
+                 "ldp q14, q15, [%1, #16 * 14]\n\t"  \
+                 "ldp q16, q17, [%1, #16 * 16]\n\t"  \
+                 "ldp q18, q19, [%1, #16 * 18]\n\t"  \
+                 "ldp q20, q21, [%1, #16 * 20]\n\t"  \
+                 "ldp q22, q23, [%1, #16 * 22]\n\t"  \
+                 "ldp q24, q25, [%1, #16 * 24]\n\t"  \
+                 "ldp q26, q27, [%1, #16 * 26]\n\t"  \
+                 "ldp q28, q29, [%1, #16 * 28]\n\t"  \
+                 "ldp q30, q31, [%1, #16 * 30]\n\t"  \
+                 : : "Q" (*fpregs), "r" (fpregs))
+
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
@@ -13,23 +51,7 @@ void vfp_save_state(struct vcpu *v)
         sve_save_state(v);
     else
     {
-        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                     "stp q2, q3, [%1, #16 * 2]\n\t"
-                     "stp q4, q5, [%1, #16 * 4]\n\t"
-                     "stp q6, q7, [%1, #16 * 6]\n\t"
-                     "stp q8, q9, [%1, #16 * 8]\n\t"
-                     "stp q10, q11, [%1, #16 * 10]\n\t"
-                     "stp q12, q13, [%1, #16 * 12]\n\t"
-                     "stp q14, q15, [%1, #16 * 14]\n\t"
-                     "stp q16, q17, [%1, #16 * 16]\n\t"
-                     "stp q18, q19, [%1, #16 * 18]\n\t"
-                     "stp q20, q21, [%1, #16 * 20]\n\t"
-                     "stp q22, q23, [%1, #16 * 22]\n\t"
-                     "stp q24, q25, [%1, #16 * 24]\n\t"
-                     "stp q26, q27, [%1, #16 * 26]\n\t"
-                     "stp q28, q29, [%1, #16 * 28]\n\t"
-                     "stp q30, q31, [%1, #16 * 30]\n\t"
-                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+        save_state(v->arch.vfp.fpregs);
     }

     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
@@ -47,23 +69,7 @@ void vfp_restore_state(struct vcpu *v)
         sve_restore_state(v);
     else
     {
-        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                     "ldp q2, q3, [%1, #16 * 2]\n\t"
-                     "ldp q4, q5, [%1, #16 * 4]\n\t"
-                     "ldp q6, q7, [%1, #16 * 6]\n\t"
-                     "ldp q8, q9, [%1, #16 * 8]\n\t"
-                     "ldp q10, q11, [%1, #16 * 10]\n\t"
-                     "ldp q12, q13, [%1, #16 * 12]\n\t"
-                     "ldp q14, q15, [%1, #16 * 14]\n\t"
-                     "ldp q16, q17, [%1, #16 * 16]\n\t"
-                     "ldp q18, q19, [%1, #16 * 18]\n\t"
-                     "ldp q20, q21, [%1, #16 * 20]\n\t"
-                     "ldp q22, q23, [%1, #16 * 22]\n\t"
-                     "ldp q24, q25, [%1, #16 * 24]\n\t"
-                     "ldp q26, q27, [%1, #16 * 26]\n\t"
-                     "ldp q28, q29, [%1, #16 * 28]\n\t"
-                     "ldp q30, q31, [%1, #16 * 30]\n\t"
-                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+        restore_state(v->arch.vfp.fpregs);
     }

     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
--
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 14:59:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 14:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589359.921249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpK5-00045A-0f; Wed, 23 Aug 2023 14:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589359.921249; Wed, 23 Aug 2023 14:59:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpK4-000453-Tu; Wed, 23 Aug 2023 14:59:04 +0000
Received: by outflank-mailman (input) for mailman id 589359;
 Wed, 23 Aug 2023 14:59: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 1qYpK3-00044w-Um
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 14:59: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 1qYpK2-0002yd-Si; Wed, 23 Aug 2023 14:59:02 +0000
Received: from [15.248.3.2] (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 1qYpK2-0004f1-LT; Wed, 23 Aug 2023 14:59:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kTe+RaKLC6YFwnpP4z+Zwcd44TIXajD0zXa6Aa2R3HE=; b=GE+8LtXXkpfGVVY7gW0DyxWMeP
	smOu09lA21aPMqCySKkvVcRWbwnha05DFRxV2L4BKq9WFFScsaE5W8i4/lBbA6aekGEtaFTy5+B+9
	xusPYJkebqkcpbMTF+8xlnDCLfnQW1YkFAiPFbh61cOUhtgo+0KxRi2XKfGxCsYYNSP0=;
Message-ID: <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
Date: Wed, 23 Aug 2023 15:59:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 23/08/2023 15:27, Nicola Vetrini wrote:
> Directive 4.3 prescribes the following:
> "Assembly language shall be encapsulated and isolated",
> on the grounds of improved readability and ease of maintenance.
> The Directive is violated in this case by asm code in between C code.
> 
> A macro is the chosen encapsulation mechanism.

I would rather prefer if we use a static inline.

> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> A couple of remarks:
> - An inline function is another possible encapsulation technique
> - A #define wrapper() do { asm volatile (...) } while(0); is also allowed,
>    but I don't think this is needed in the specific case.
> ---
>   xen/arch/arm/arm64/vfp.c | 74 ++++++++++++++++++++++------------------
>   1 file changed, 40 insertions(+), 34 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
> index 2d0d7c2e6ddb..0248601453ec 100644
> --- a/xen/arch/arm/arm64/vfp.c
> +++ b/xen/arch/arm/arm64/vfp.c
> @@ -4,6 +4,44 @@
>   #include <asm/vfp.h>
>   #include <asm/arm64/sve.h>
> 
> +#define save_state(fpregs)                           \
> +    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"     \
> +                 "stp q2, q3, [%1, #16 * 2]\n\t"     \
> +                 "stp q4, q5, [%1, #16 * 4]\n\t"     \
> +                 "stp q6, q7, [%1, #16 * 6]\n\t"     \
> +                 "stp q8, q9, [%1, #16 * 8]\n\t"     \
> +                 "stp q10, q11, [%1, #16 * 10]\n\t"  \
> +                 "stp q12, q13, [%1, #16 * 12]\n\t"  \
> +                 "stp q14, q15, [%1, #16 * 14]\n\t"  \
> +                 "stp q16, q17, [%1, #16 * 16]\n\t"  \
> +                 "stp q18, q19, [%1, #16 * 18]\n\t"  \
> +                 "stp q20, q21, [%1, #16 * 20]\n\t"  \
> +                 "stp q22, q23, [%1, #16 * 22]\n\t"  \
> +                 "stp q24, q25, [%1, #16 * 24]\n\t"  \
> +                 "stp q26, q27, [%1, #16 * 26]\n\t"  \
> +                 "stp q28, q29, [%1, #16 * 28]\n\t"  \
> +                 "stp q30, q31, [%1, #16 * 30]\n\t"  \
> +                 : "=Q" (*fpregs) : "r" (fpregs));
> +
> +#define restore_state(fpregs)                        \
> +    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"     \
> +                 "ldp q2, q3, [%1, #16 * 2]\n\t"     \
> +                 "ldp q4, q5, [%1, #16 * 4]\n\t"     \
> +                 "ldp q6, q7, [%1, #16 * 6]\n\t"     \
> +                 "ldp q8, q9, [%1, #16 * 8]\n\t"     \
> +                 "ldp q10, q11, [%1, #16 * 10]\n\t"  \
> +                 "ldp q12, q13, [%1, #16 * 12]\n\t"  \
> +                 "ldp q14, q15, [%1, #16 * 14]\n\t"  \
> +                 "ldp q16, q17, [%1, #16 * 16]\n\t"  \
> +                 "ldp q18, q19, [%1, #16 * 18]\n\t"  \
> +                 "ldp q20, q21, [%1, #16 * 20]\n\t"  \
> +                 "ldp q22, q23, [%1, #16 * 22]\n\t"  \
> +                 "ldp q24, q25, [%1, #16 * 24]\n\t"  \
> +                 "ldp q26, q27, [%1, #16 * 26]\n\t"  \
> +                 "ldp q28, q29, [%1, #16 * 28]\n\t"  \
> +                 "ldp q30, q31, [%1, #16 * 30]\n\t"  \
> +                 : : "Q" (*fpregs), "r" (fpregs))
> +
>   void vfp_save_state(struct vcpu *v)
>   {
>       if ( !cpu_has_fp )
> @@ -13,23 +51,7 @@ void vfp_save_state(struct vcpu *v)
>           sve_save_state(v);
>       else
>       {
> -        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> -                     "stp q2, q3, [%1, #16 * 2]\n\t"
> -                     "stp q4, q5, [%1, #16 * 4]\n\t"
> -                     "stp q6, q7, [%1, #16 * 6]\n\t"
> -                     "stp q8, q9, [%1, #16 * 8]\n\t"
> -                     "stp q10, q11, [%1, #16 * 10]\n\t"
> -                     "stp q12, q13, [%1, #16 * 12]\n\t"
> -                     "stp q14, q15, [%1, #16 * 14]\n\t"
> -                     "stp q16, q17, [%1, #16 * 16]\n\t"
> -                     "stp q18, q19, [%1, #16 * 18]\n\t"
> -                     "stp q20, q21, [%1, #16 * 20]\n\t"
> -                     "stp q22, q23, [%1, #16 * 22]\n\t"
> -                     "stp q24, q25, [%1, #16 * 24]\n\t"
> -                     "stp q26, q27, [%1, #16 * 26]\n\t"
> -                     "stp q28, q29, [%1, #16 * 28]\n\t"
> -                     "stp q30, q31, [%1, #16 * 30]\n\t"
> -                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
> +        save_state(v->arch.vfp.fpregs);
>       }
> 
>       v->arch.vfp.fpsr = READ_SYSREG(FPSR);
> @@ -47,23 +69,7 @@ void vfp_restore_state(struct vcpu *v)
>           sve_restore_state(v);
>       else
>       {
> -        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
> -                     "ldp q2, q3, [%1, #16 * 2]\n\t"
> -                     "ldp q4, q5, [%1, #16 * 4]\n\t"
> -                     "ldp q6, q7, [%1, #16 * 6]\n\t"
> -                     "ldp q8, q9, [%1, #16 * 8]\n\t"
> -                     "ldp q10, q11, [%1, #16 * 10]\n\t"
> -                     "ldp q12, q13, [%1, #16 * 12]\n\t"
> -                     "ldp q14, q15, [%1, #16 * 14]\n\t"
> -                     "ldp q16, q17, [%1, #16 * 16]\n\t"
> -                     "ldp q18, q19, [%1, #16 * 18]\n\t"
> -                     "ldp q20, q21, [%1, #16 * 20]\n\t"
> -                     "ldp q22, q23, [%1, #16 * 22]\n\t"
> -                     "ldp q24, q25, [%1, #16 * 24]\n\t"
> -                     "ldp q26, q27, [%1, #16 * 26]\n\t"
> -                     "ldp q28, q29, [%1, #16 * 28]\n\t"
> -                     "ldp q30, q31, [%1, #16 * 30]\n\t"
> -                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
> +        restore_state(v->arch.vfp.fpregs);
>       }
> 
>       WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
> --
> 2.34.1

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 15:18:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 15:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589390.921283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpcO-0007pv-S0; Wed, 23 Aug 2023 15:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589390.921283; Wed, 23 Aug 2023 15:18:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpcO-0007po-P7; Wed, 23 Aug 2023 15:18:00 +0000
Received: by outflank-mailman (input) for mailman id 589390;
 Wed, 23 Aug 2023 15:17:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JPpt=EI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qYpcN-0007oH-E0
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 15:17:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3db21cc6-41c8-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 17:17:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 886B54EE0737;
 Wed, 23 Aug 2023 17:17:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3db21cc6-41c8-11ee-8783-cb3800f73035
MIME-Version: 1.0
Date: Wed, 23 Aug 2023 17:17:57 +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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
 <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <5d9ae833749502c5d0d773645c79e32d@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 23/08/2023 16:59, Julien Grall wrote:
> Hi,
> 
> On 23/08/2023 15:27, Nicola Vetrini wrote:
>> Directive 4.3 prescribes the following:
>> "Assembly language shall be encapsulated and isolated",
>> on the grounds of improved readability and ease of maintenance.
>> The Directive is violated in this case by asm code in between C code.
>> 
>> A macro is the chosen encapsulation mechanism.
> 
> I would rather prefer if we use a static inline.
> 

Ok

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 15:24:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 15:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589407.921303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpiA-00018P-L0; Wed, 23 Aug 2023 15:23:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589407.921303; Wed, 23 Aug 2023 15: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 1qYpiA-00018G-EQ; Wed, 23 Aug 2023 15:23:58 +0000
Received: by outflank-mailman (input) for mailman id 589407;
 Wed, 23 Aug 2023 15:23:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3PRN=EI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qYpi8-00017m-H3
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 15:23:56 +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 1206e825-41c9-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 17:23:54 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-400a087b0bfso3370125e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 08:23:54 -0700 (PDT)
Received: from l14.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z13-20020a05600c220d00b003fee9cdf55esm717036wml.14.2023.08.23.08.23.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Aug 2023 08:23:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1206e825-41c9-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692804233; x=1693409033;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=oeLwisFv1BV9FGVHhIjbkDhM+7cMdC7hocZ9RXZddtM=;
        b=bLPv8dsy8uAviZKmcz9Yx2sfx9hh+cqOBrX6RhD2oFCjr+kgP/sZi9P1q9DVU2/Ij4
         jzEGHk3c19f/V5FKGfwmz9pZqfSvEeO9T6+y51vIHoqHZZB42xE92cIRVY39cZpHHqJo
         UGWD8+t6frKKwjMWlJ30B7L8EYZU/DtTizvGg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692804233; x=1693409033;
        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=oeLwisFv1BV9FGVHhIjbkDhM+7cMdC7hocZ9RXZddtM=;
        b=gEFr7nO6LuW05tO8MH9W+8iFL3yG1VDuabzpxI45/RiwB8XPPh323Ib2kZlp6Nq80m
         ews8bnAhFV+v/nnp4qI2d/k2p47+g584BGPC/0Ew+urxqm8+QNwMz1MK6ryO0Nx22SxM
         rpBh8gmtoMzrC1RodTqUa6ZQTZGA6EHgcSJ2sGkVHkd4RA3Y44AhTRX5FDgLB0ggQURn
         X78gpc8pUSHqBLjSOUHAW+yMGtfn2bYp4w8UBV8YX03VYXIGlK6kIZqvzkR1ti8y2w1w
         74rfF+gCdVE/AvME6Qape6nzGRPAoJlj0sOe/IUWfSXKHzgdIzeJtQRRGZ4i+Xdd/oPK
         apaQ==
X-Gm-Message-State: AOJu0Yw+NJkXXM+p/3n+uJy1CMrQ2ytalK3383zVo8LpSsd74FC6Ff0G
	RBWBmSh8RTZchSQZ2RLhJ35J2BNMbTbHWHmLH8ee/g==
X-Google-Smtp-Source: AGHT+IG73DjuatAhZum8KCIuXxP/aaVKLo139jAX5jsQILPm2BgmWjAbNQLIp7rRd3nrHO0x6lScSA==
X-Received: by 2002:a05:600c:3486:b0:3fb:c9f4:1506 with SMTP id a6-20020a05600c348600b003fbc9f41506mr10117933wmq.1.1692804233535;
        Wed, 23 Aug 2023 08:23:53 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] CI: Always move the bisect build log back
Date: Wed, 23 Aug 2023 16:23:34 +0100
Message-Id: <20230823152334.8867-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On failure of "build"-each-commit script, the next command that move
the log back into the build directory isn't executed. Fix that by
using "after_script" which is always executed even if the main
"script" fails. (We would still miss the log when the jobs times out.)

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 automation/gitlab-ci/test.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 810631bc46..5099f2e6b6 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -140,6 +140,7 @@ build-each-commit-gcc:
     CC: gcc
   script:
     - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
+  after_script:
     - mv ../build-each-commit-gcc.log .
   artifacts:
     paths:
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 15:35:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 15:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589417.921315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpso-0002uT-Ke; Wed, 23 Aug 2023 15:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589417.921315; Wed, 23 Aug 2023 15:34:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYpso-0002uM-FV; Wed, 23 Aug 2023 15:34:58 +0000
Received: by outflank-mailman (input) for mailman id 589417;
 Wed, 23 Aug 2023 15:34: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 1qYpsn-0002uC-Fv; Wed, 23 Aug 2023 15:34: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 1qYpsn-0003nR-3m; Wed, 23 Aug 2023 15:34: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 1qYpsm-0002F7-RI; Wed, 23 Aug 2023 15:34:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYpsm-00046Y-Qn; Wed, 23 Aug 2023 15:34:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/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/WYhi9Hq/17Z/LuC7EEE66fpqwL61tnJgPShusP+w=; b=3D+9X0EPkT3fI1MdMld28RIbUK
	7QC2HcoW1I00inRdnrg6UwLvpD5OeUbt5Sz+QBuxkPXLxCKQp4u7dXcPyGaiIL9oYj0sa1Drih6X0
	ir3TOkBmIluVyXbMWoiGUFCc21joSHkwhkK+h+V09Y1k3uVs/DSLCAzV0R/qmzoM3etc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182425-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182425: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:xen-boot:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a73560896ce3c513460f26bd1c205060d6ec4f8a
X-Osstest-Versions-That:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 15:34:56 +0000

flight 182425 xen-unstable real [real]
flight 182471 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182425/
http://logs.test-lab.xenproject.org/osstest/logs/182471/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-raw 13 guest-start    fail in 182471 REGR. vs. 182419

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw  8 xen-boot            fail pass in 182471-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182419
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182419
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182419
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182419
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  a73560896ce3c513460f26bd1c205060d6ec4f8a
baseline version:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e

Last test of basis   182419  2023-08-22 08:52:42 Z    1 days
Testing same since   182425  2023-08-22 19:08:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a73560896ce3c513460f26bd1c205060d6ec4f8a
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Aug 22 13:56:17 2023 +0100

    CI: Update FreeBSD to 12.4
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

commit a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
Author: Stewart Hildebrand <stewart.hildebrand@amd.com>
Date:   Tue Aug 22 08:53:56 2023 +0200

    xen/pci: address a violation of MISRA C:2012 Rule 8.3
    
    Make the paramater names of the prototype match the definition. No functional
    change.
    
    Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit b3bb51f718bd513264129a407fc1836682b689a7
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Tue Aug 22 08:53:24 2023 +0200

    vm_event: rework inclusions to use arch-indipendent header
    
    The arch-specific header <asm/vm_event.h> should be included by the
    common header <xen/vm_event.h>, so that the latter can be included
    in the source files.
    
    This also resolves violations of MISRA C:2012 Rule 8.4 that were
    caused by declarations for
    'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
    in <asm/vm_event.h> not being visible when
    defining functions in 'xen/arch/x86/vm_event.c'
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit db75dfdb11dc4e837585bf61cc25dc0c8f048288
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Aug 22 08:52:49 2023 +0200

    mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()
    
    When !MEM_SHARING no useful output is produced. Move the function into
    mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
    drop it altogether from Arm (and eliminating the need to introduce stubs
    on PPC and RISC-V).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> #arm
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit 5eb8c15171f72f155a5cba8400eb940b44187867
Author: Simon Gaiser <simon@invisiblethingslab.com>
Date:   Tue Aug 22 08:51:38 2023 +0200

    x86/hpet: Disable legacy replacement mode after IRQ test
    
    As far as I understand the HPET legacy mode is not required after the
    timer IRQ test. For previous discussion see [1] and [2]. Keeping it
    enabled prevents reaching deeper C-states on some systems and thereby
    also S0ix residency. So disable it after the timer IRQ test worked. Note
    that this code path is only reached when opt_hpet_legacy_replacement < 0,
    so explicit user choice is still honored.
    
    Link: https://lore.kernel.org/xen-devel/cb408368-077d-edb5-b4ad-f80086db48c1@invisiblethingslab.com/ # [1]
    Link: https://lore.kernel.org/xen-devel/20230718122603.2002-1-simon@invisiblethingslab.com/ # [2]
    Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 16:09:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 16:09:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589434.921336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYqQ0-0007Pd-Cp; Wed, 23 Aug 2023 16:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589434.921336; Wed, 23 Aug 2023 16:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYqQ0-0007PW-AF; Wed, 23 Aug 2023 16:09:16 +0000
Received: by outflank-mailman (input) for mailman id 589434;
 Wed, 23 Aug 2023 16:09:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JPpt=EI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qYqPz-0007PQ-CW
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 16:09:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66c5ef7b-41cf-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 18:09:13 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EE6C34EE0737;
 Wed, 23 Aug 2023 18:09:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66c5ef7b-41cf-11ee-8783-cb3800f73035
MIME-Version: 1.0
Date: Wed, 23 Aug 2023 18:09:12 +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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
 <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <3b4d895999ad4fc51f280c8f7e854cab@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 23/08/2023 16:59, Julien Grall wrote:
> Hi,
> 
> On 23/08/2023 15:27, Nicola Vetrini wrote:
>> Directive 4.3 prescribes the following:
>> "Assembly language shall be encapsulated and isolated",
>> on the grounds of improved readability and ease of maintenance.
>> The Directive is violated in this case by asm code in between C code.
>> 
>> A macro is the chosen encapsulation mechanism.
> 
> I would rather prefer if we use a static inline.

Just to prevent an possible back and forth on a similar patch:
is it ok to adopt the same approach with the inline asm in
xen/arch/arm/arm64/lib/bitops.c in the definition of the macros
'bitop' and 'testop'?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 16:35:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 16:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589444.921353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYqpU-0002rA-Fd; Wed, 23 Aug 2023 16:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589444.921353; Wed, 23 Aug 2023 16:35:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYqpU-0002r3-Cs; Wed, 23 Aug 2023 16:35:36 +0000
Received: by outflank-mailman (input) for mailman id 589444;
 Wed, 23 Aug 2023 16:35: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 1qYqpT-0002qt-8Y; Wed, 23 Aug 2023 16:35: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 1qYqpS-0005kK-VC; Wed, 23 Aug 2023 16:35: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 1qYqpS-0003eh-Lh; Wed, 23 Aug 2023 16:35:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYqpS-0002es-LD; Wed, 23 Aug 2023 16:35:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EVGX/aEAruIKrKnsvg0xYR0/3cxnCSOdBjtE/sLVXq4=; b=fhXIgPbYYcLRnnJ1+w+hA5Bxzm
	+pIMsNGVKekmG3ud6SFbQ2Kkk8grnzUGGvPQ5PkOiZbsgx8/Ym+8BO0+BnsLU1GUIYTtmEF7v7cc2
	x1kUzLULd+g7a42b+AvPOa0FNeUMIxywIKyRNbmu3ZhX2/4rBpL/o1BmjOSLyALwOgsI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182461-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182461: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    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=4442c8dd0b2437851a1dfaa88c8911c9afe2daf9
X-Osstest-Versions-That:
    xen=a943a4f119cd0d969631b4ada878974828a7064d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 16:35:34 +0000

flight 182461 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182461/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 182436

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 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                  4442c8dd0b2437851a1dfaa88c8911c9afe2daf9
baseline version:
 xen                  a943a4f119cd0d969631b4ada878974828a7064d

Last test of basis   182436  2023-08-23 08:00:27 Z    0 days
Testing same since   182455  2023-08-23 11:00:25 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 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.

(No revision log; it would be 314 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 16:48:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 16:48:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589454.921363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYr26-0004W4-Fe; Wed, 23 Aug 2023 16:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589454.921363; Wed, 23 Aug 2023 16:48:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYr26-0004Vx-Cz; Wed, 23 Aug 2023 16:48:38 +0000
Received: by outflank-mailman (input) for mailman id 589454;
 Wed, 23 Aug 2023 16:48: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 1qYr26-0004Vr-0R
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 16:48: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 1qYr25-00066p-0F; Wed, 23 Aug 2023 16:48:37 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.29.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYr24-0000jd-O6; Wed, 23 Aug 2023 16:48:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=GHF1s+OSwRlPm6iSSAG4oUQvZpTWp8W+BXKPbrCwAN0=; b=0JMhTS2EgqRO53i1fNCYBWpzva
	R1DNcAPhynj4cEvwDOzV2/Tr8W15XMbKD721qR371SF19pnPzPwNUC+jEKUw/5a6Fzcc19SkhkfqN
	NyIwNU3hwBk608u79BIuzLO1sURnLAsmzyV5WzZe6n50eiBfCX7eHkvg4EZJBBRB8RMU=;
Message-ID: <59fad669-afc2-45e2-b647-8a0878774ba8@xen.org>
Date: Wed, 23 Aug 2023 17:48:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
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 <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
 <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
 <3b4d895999ad4fc51f280c8f7e854cab@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3b4d895999ad4fc51f280c8f7e854cab@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 23/08/2023 17:09, Nicola Vetrini wrote:
> On 23/08/2023 16:59, Julien Grall wrote:
>> Hi,
>>
>> On 23/08/2023 15:27, Nicola Vetrini wrote:
>>> Directive 4.3 prescribes the following:
>>> "Assembly language shall be encapsulated and isolated",
>>> on the grounds of improved readability and ease of maintenance.
>>> The Directive is violated in this case by asm code in between C code.
>>>
>>> A macro is the chosen encapsulation mechanism.
>>
>> I would rather prefer if we use a static inline.
> 
> Just to prevent an possible back and forth on a similar patch:
> is it ok to adopt the same approach with the inline asm in
> xen/arch/arm/arm64/lib/bitops.c in the definition of the macros
> 'bitop' and 'testop'?

So, in the VFP I agree that moving the assembly part outside of 
vfp_*_state() makes sense even without MISRA. But I don't agree with 
moving the assembly code out as the C function is tightly coupled with 
the assembly code.

So this would please MISRA but IHMO would make the code more difficult 
to understand. So I think we should deviate for the bitops.

Bertrand, Stefano, what do you think?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 17:36:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 17:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589465.921384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYrmG-00028x-Sr; Wed, 23 Aug 2023 17:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589465.921384; Wed, 23 Aug 2023 17:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYrmG-00028q-QH; Wed, 23 Aug 2023 17:36:20 +0000
Received: by outflank-mailman (input) for mailman id 589465;
 Wed, 23 Aug 2023 17: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=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYrmG-00028k-3w
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 17:36:20 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9038a6fe-41db-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 19:36:17 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 012EC82869D9;
 Wed, 23 Aug 2023 12:36: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 31x5xL5EwFj1; Wed, 23 Aug 2023 12:36:14 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 571F482869E2;
 Wed, 23 Aug 2023 12:36:14 -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 tWfMebrKupXJ; Wed, 23 Aug 2023 12:36:14 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D04EB82869D9;
 Wed, 23 Aug 2023 12:36:13 -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: 9038a6fe-41db-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 571F482869E2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692812174; bh=i3syzsKEFu67pmlqq9/3CIsmCHz41JeKp7q060O4770=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=fHsCZf35cr7HKEqh/INi9bVAQ3kVRT2C/wUwexF1V73AdUozfd6aAFmV9/kILaWMm
	 GAJkPEF0YLswLj6J8FzI3aI+O5EKO1x9BxgwYVogFfSGChnYJ/QNeUpVTPRtEBhMD5
	 v1oD6PQ5K3x2xRdiYNaTd8po1iHONotdz2U0Ml7o=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <8a9c0fba-132b-1245-caf7-d4a3a670e9d9@raptorengineering.com>
Date: Wed, 23 Aug 2023 12:36:13 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 3/3] xen/ppc: Implement initial Radix MMU support
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1692744718.git.sanastasio@raptorengineering.com>
 <7cebc2962002c36ecfe712bf1bcb251e083910b8.1692744718.git.sanastasio@raptorengineering.com>
 <e942f853-3536-2033-f214-1beccdfc8240@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <e942f853-3536-2033-f214-1beccdfc8240@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/23/23 9:04 AM, Jan Beulich wrote:
> On 23.08.2023 01:03, Shawn Anastasio wrote:
>> Add code to construct early identity-mapped page tables as well as the
>> required process and partition tables to enable the MMU.
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> with two nits, which I'll be happy to take care of while committing,
> so long as you agree:
> 
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/page.h
>> @@ -0,0 +1,180 @@
>> +#ifndef _ASM_PPC_PAGE_H
>> +#define _ASM_PPC_PAGE_H
>> +
>> +#include <xen/types.h>
>> +
>> +#include <asm/bitops.h>
>> +#include <asm/byteorder.h>
>> +
>> +#define PDE_VALID     PPC_BIT(0)
>> +#define PDE_NLB_MASK  0x1ffffffffffffe0UL
>> +#define PDE_NLS_MASK  0x1f
>> +
>> +#define PTE_VALID     PPC_BIT(0)
>> +#define PTE_LEAF      PPC_BIT(1)
>> +#define PTE_REFERENCE PPC_BIT(55)
>> +#define PTE_CHANGE    PPC_BIT(56)
>> +
>> +/* PTE Attributes */
>> +#define PTE_ATT_SAO            PPC_BIT(59) /* Strong Access Ordering */
>> +#define PTE_ATT_NON_IDEMPOTENT PPC_BIT(58)
>> +#define PTE_ATT_TOLERANT       (PPC_BIT(58) | PPC_BIT(59))
>> +
>> +/* PTE Encoded Access Authority*/
>> +#define PTE_EAA_PRIVILEGED PPC_BIT(60)
>> +#define PTE_EAA_READ       PPC_BIT(61)
>> +#define PTE_EAA_WRITE      PPC_BIT(62)
>> +#define PTE_EAA_EXECUTE    PPC_BIT(63)
>> +
>> +/* Field shifts/masks */
>> +#define PTE_RPN_MASK  0x1fffffffffff000UL
>> +#define PTE_ATT_MASK  0x30UL
>> +#define PTE_EAA_MASK  0xfUL
>> +
>> +#define PTE_XEN_BASE (PTE_VALID | PTE_EAA_PRIVILEGED | PTE_REFERENCE)
>> +#define PTE_XEN_RW   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_WRITE | PTE_CHANGE)
>> +#define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
>> +#define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
>> +
>> +/*
>> + * Radix Tree layout for 64KB pages:
>> + *
>> + * [ L1 (ROOT) PAGE DIRECTORY (8192 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *    [ L2 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *    [ L3 PAGE DIRECTORY (512 * sizeof(pde_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *      [ L4 PAGE TABLE (32 * sizeof(pte_t)) ]
>> + *                     |
>> + *                     |
>> + *                     v
>> + *            [ PAGE TABLE ENTRY ]
>> + */
>> +
>> +#define XEN_PT_ENTRIES_LOG2_LVL_1 13 /* 2**13 entries, maps 2**13 * 512GB = 4PB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_2 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_3 9  /* 2**9  entries, maps 2**9  * 1GB = 512GB */
>> +#define XEN_PT_ENTRIES_LOG2_LVL_4 5  /* 2**5  entries, maps 2**5  * 64K = 2MB */
>> +
>> +#define XEN_PT_SHIFT_LVL_1    (XEN_PT_SHIFT_LVL_2 + XEN_PT_ENTRIES_LOG2_LVL_2)
>> +#define XEN_PT_SHIFT_LVL_2    (XEN_PT_SHIFT_LVL_3 + XEN_PT_ENTRIES_LOG2_LVL_3)
>> +#define XEN_PT_SHIFT_LVL_3    (XEN_PT_SHIFT_LVL_4 + XEN_PT_ENTRIES_LOG2_LVL_4)
>> +#define XEN_PT_SHIFT_LVL_4    PAGE_SHIFT
>> +
>> +#define XEN_PT_ENTRIES_LOG2_LVL(lvl) (XEN_PT_ENTRIES_LOG2_LVL_##lvl)
>> +#define XEN_PT_SHIFT_LVL(lvl)        (XEN_PT_SHIFT_LVL_##lvl)
>> +#define XEN_PT_ENTRIES_LVL(lvl)      (1UL << XEN_PT_ENTRIES_LOG2_LVL(lvl))
>> +#define XEN_PT_SIZE_LVL(lvl)         (sizeof(uint64_t) * XEN_PT_ENTRIES_LVL(lvl))
>> +#define XEN_PT_MASK_LVL(lvl)         (XEN_PT_ENTRIES_LVL(lvl) - 1)
>> +#define XEN_PT_INDEX_LVL(lvl, va)    (((va) >> XEN_PT_SHIFT_LVL(lvl)) & XEN_PT_MASK_LVL(lvl))
>> +
>> +/*
>> + * Calculate the index of the provided virtual address in the provided
>> + * page table struct
>> + */
>> +#define pt_index(pt, va) _Generic((pt), \
>> +    struct lvl1_pd * : XEN_PT_INDEX_LVL(1, (va)), \
>> +    struct lvl2_pd * : XEN_PT_INDEX_LVL(2, (va)), \
>> +    struct lvl3_pd * : XEN_PT_INDEX_LVL(3, (va)), \
>> +    struct lvl4_pt * : XEN_PT_INDEX_LVL(4, (va)))
>> +
>> +#define pt_entry(pt, va) (&((pt)->entries[pt_index((pt), (va))]))
>> +
>> +typedef struct
>> +{
>> +    __be64 pde;
>> +} pde_t;
>> +
>> +typedef struct
>> +{
>> +    __be64 pte;
>> +} pte_t;
>> +
>> +struct lvl1_pd
>> +{
>> +    pde_t entries[XEN_PT_ENTRIES_LVL(1)];
>> +} __aligned(XEN_PT_SIZE_LVL(1));
>> +
>> +struct lvl2_pd
>> +{
>> +    pde_t entries[XEN_PT_ENTRIES_LVL(2)];
>> +} __aligned(XEN_PT_SIZE_LVL(2));
>> +
>> +struct lvl3_pd
>> +{
>> +    pde_t entries[XEN_PT_ENTRIES_LVL(3)];
>> +} __aligned(XEN_PT_SIZE_LVL(3));
>> +
>> +struct lvl4_pt
>> +{
>> +    pte_t entries[XEN_PT_ENTRIES_LVL(4)];
>> +} __aligned(XEN_PT_SIZE_LVL(4));
>> +
>> +static inline pte_t paddr_to_pte(paddr_t paddr, unsigned long flags)
>> +{
>> +    paddr_t paddr_aligned = paddr & PTE_RPN_MASK;
>> +
>> +    return (pte_t){ .pte = cpu_to_be64(paddr_aligned | flags | PTE_LEAF) };
>> +}
>> +
>> +static inline pde_t paddr_to_pde(paddr_t paddr, unsigned long flags, unsigned long nls)
> 
> Nit: Overlong line.
>

My bad -- feel free to fix this.

>> --- a/xen/arch/ppc/include/asm/processor.h
>> +++ b/xen/arch/ppc/include/asm/processor.h
>> @@ -133,6 +133,40 @@ struct cpu_user_regs
>>      uint32_t entry_vector;
>>  };
>>
>> +static __inline__ void sync(void)
>> +{
>> +    asm volatile ( "sync" );
>> +}
>> +
>> +static __inline__ void isync(void)
>> +{
>> +    asm volatile ( "isync" );
>> +}
> 
> Why __inline__, not inline, ...
> 
>> +static inline unsigned long mfmsr(void)
> 
> ... as you have here any below?
>

This was an oversight -- the sync/isync routines were copied from the
old Xen port. Feel free to change it to inline.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 17:59:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 17:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589472.921395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYs8a-0004yQ-Od; Wed, 23 Aug 2023 17:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589472.921395; Wed, 23 Aug 2023 17: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 1qYs8a-0004yJ-Kc; Wed, 23 Aug 2023 17:59:24 +0000
Received: by outflank-mailman (input) for mailman id 589472;
 Wed, 23 Aug 2023 17:59:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYs8Z-0004yD-DA
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 17:59:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYs8Y-0007be-0J; Wed, 23 Aug 2023 17:59:22 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.29.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYs8X-0000ar-N4; Wed, 23 Aug 2023 17:59:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=rc1oVAKoclNXg8FCrjpb2j/3/hIAKW6WNPNzzFaOdjI=; b=cy8UUZR/ZEbAKzpihyL/x0cCU4
	Ws4nKlDz9v2aAYntyJjDn5DeLV+IkVS7JGM1MFNAt9ckQBBNgoyM9aebwwUQRQ+xwfsxoTJI2rzTs
	b66I/6Bie4NyYSoJ6jS+n8i1OPLP5I73hbclxzmp53PROqKkJIyP5utGpSkR4xjCyb4k=;
Message-ID: <5264912e-b2bf-4b5e-9f3f-460df21c5141@xen.org>
Date: Wed, 23 Aug 2023 18:59:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/13] xen/arm: mmu: relocate copy_from_paddr() to
 setup.c
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
 <Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-13-Henry.Wang@arm.com>
 <b9476973-519b-210d-6ca2-ca614d1e1279@xen.org>
 <2FABB940-CFFB-4EA2-8BC5-758E58025EF0@arm.com>
 <82f36b28-9452-4b4b-92ed-8df784cb07b9@xen.org>
 <alpine.DEB.2.22.394.2308221656400.6458@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2308221656400.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 23/08/2023 01:10, Stefano Stabellini wrote:
> On Tue, 22 Aug 2023, Julien Grall wrote:
>>>> I also don't like the idea of having again a massive mm.c files. So maybe
>>>> we need a split like:
>>>>    * File 1: Boot CPU0 MM bringup (mmu/setup.c)
>>>>    * File 2: Secondary CPUs MM bringup (mmu/smpboot.c)
>>>>    * File 3: Page tables update. (mmu/pt.c)
>>>>
>>>> Ideally file 1 should contain only init code/data so it can be marked as
>>>> .init. So the static pagetables may want to be defined in mmu/pt.c.
>>>
>>> So based on Julienâ€™s suggestion, Penny and I worked a bit on the current
>>> functions in â€œarch/arm/mm.câ€ and we would like to propose below split
>>> scheme, would you please comment on if below makes sense to you,
>>> thanks!
>>>
>>> """
>>> static void __init __maybe_unused build_assertions()      -> arch/arm/mm.c
>>
>> All the existing build assertions seems to be MMU specific. So shouldn't they
>> be moved to mmu/mm.c.
>>
>>> static lpae_t *xen_map_table()                            -> mmu/pt.c
>>> static void xen_unmap_table()                             -> mmu/pt.c
>>> void dump_pt_walk()                                       -> mmu/pt.c
>>> void dump_hyp_walk()                                      -> mmu/pt.c
>>> lpae_t mfn_to_xen_entry()                                 -> mmu/pt.c
>>> void set_fixmap()                                         -> mmu/pt.c
>>> void clear_fixmap()                                       -> mmu/pt.c
>>> void flush_page_to_ram()                                  -> arch/arm/mm.c?
>>
>> I think it should stay in arch/arm/mm.c because you will probably need to
>> clean a page even on MPU systems.
> 
> I take you are referring to flush_page_to_ram() only, and not the other
> functions above

That's correct.

> 
> 
>>> lpae_t pte_of_xenaddr()                                   -> mmu/pt.c
>>> void * __init early_fdt_map()                             -> mmu/setup.c
>>> void __init remove_early_mappings()                       -> mmu/setup.c
>>> static void xen_pt_enforce_wnx()                          -> mmu/pt.c,
>>> export it
>>
>> AFAIU, it would be called from smpboot.c and setup.c. For the former, the
>> caller is mmu_init_secondary_cpu() which I think can be folded in head.S.
>>
>> If we do that, then xen_pt_enforce_wnx() can be moved in setup.c and doesn't
>> need to be exported.
>>
>>> static void clear_table()                                 -> mmu/smpboot.c
>>> void __init setup_pagetables()                            -> mmu/setup.c
>>> static void clear_boot_pagetables()                       -> mmu/smpboot.c
> 
> Why clear_table() and clear_boot_pagetables() in mmu/smpboot.c rather
> than mmu/setup.c ? It is OK either way as it does seem to make much of a
> difference but I am curious.

I initially wondered the same. But then I didn't comment because 
clear_boot_pagetables() is only used in order to prepare the page-tables 
for the secondary boot CPU.

Also, even if today we don't support CPU hotplug, there is nothing 
preventing us to do (in fact there was a series on the ML for that). 
This means clear_table() & co would need to be outside of the init 
section and we would need to remove the check that all 
variables/functions defined in setup.c are residing in it.

Saying that, we should not need to clear the boot page tables anymore 
for arm64 because secondary CPUs will directly jump to the runtime 
page-tables. So the code could be cleaned up a bit. Anyway, this is not 
a request for this series and could be done afterwards by someone else.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 18:06:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 18:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589479.921405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYsFG-0006en-Eq; Wed, 23 Aug 2023 18:06:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589479.921405; Wed, 23 Aug 2023 18: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 1qYsFG-0006eg-Ao; Wed, 23 Aug 2023 18:06:18 +0000
Received: by outflank-mailman (input) for mailman id 589479;
 Wed, 23 Aug 2023 18:06:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AP4=EI=citrix.com=prvs=59274c529=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qYsFE-0006ea-Un
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 18:06:17 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be6abb01-41df-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 20:06:14 +0200 (CEST)
Received: from mail-dm3nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Aug 2023 14:06:04 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7324.namprd03.prod.outlook.com (2603:10b6:510:2f7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 23 Aug
 2023 18:06:02 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.026; Wed, 23 Aug 2023
 18:06:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be6abb01-41df-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692813974;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Q3XKVbDNg1o9FGBJpW7HFK8yGqCLP5NN0ZMYHMFTIw0=;
  b=Ep+HB4c8EFdDimHg+zf9Uz9ruoc9ZyqdTFEADok6Yyve2dKG89sOPrAh
   byfVqE0xMl9dZA5c0De+pXQrEHxRHJDYAWxyVU/kIHLqIb0NcGsbwTksg
   0W+InRcJYk8u3ifCiVV4E3UfoMC0YfA1EOY9PM50l/+waFykorhkaKVN3
   s=;
X-IronPort-RemoteIP: 104.47.56.49
X-IronPort-MID: 119100571
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5ffxcqxfNyNWPkhnnmN6t+cBxyrEfRIJ4+MujC+fZmUNrF6WrkVTy
 DdNXGCOOfvcambwKtAkOdi09k0D7JaHydVgGVForSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EoHUMja4mtC5QRuP6sT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KV5U8
 eUVBQk9UjDZqduGkZ2YQcl13e12eaEHPKtH0p1h5RfwKK58BLzmGODN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjaVkF0ZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqiCdtKTODnr5aGhnXK4mEcARYoBGGr+9ydhGqbQ/9DB
 249r39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOv8YsSTsn/
 lSAhd/uCHpkt7j9YWmG6r6eoDe2OC4UBWwPfykJSU0C+daLnW0ophfGT9ImHKvuiNTwQWv02
 2rS8Hl4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CFsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:a8pRjK5sumFH3wgjAgPXwD7XdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsyMc7Qx6ZJhOo7+90cW7L080sKQFg7X5Xo3SOzUO2lHYT72KhLGKq1Hd8m/Fh4tgPM
 9bGJSWY+eAaWSS4/ya3OG5eexQv+Vu8sqT9JnjJ6EGd3AaV0lihT0JejpyCidNNXB77QJSLu
 vg2iJAzQDQAUg/X4CAKVQuefPMnNHPnIKOW297O/Z2gDP+9g9B8dTBYmKl4is=
X-Talos-CUID: =?us-ascii?q?9a23=3A3PTiYmtnAJm+d3c4wK8HDMGW6IsaaHnEwVrpE3O?=
 =?us-ascii?q?YU0hQeOy6alSw4fhNxp8=3D?=
X-Talos-MUID: 9a23:CuQq0wQiKdHH7YLHRXS1oDxtPcxWsp6+UmUpn7Ejo+SYGQ5ZbmI=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="119100571"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PvCo5y2hfxDkaWnHGefApqctpe2MbE7HsclPW9fvuN1i/pzCKWD5zwcGRVn3Xsimreq5vrhV5pIR4AmQzShiApXJd3yisweACMg0xhmik7wzJe/uNN+AKgRBqdIP80rYdqlZwHyw0oPuehkjFpFYp1c5BPnykYQ6X16Y223PF/BacTZ1jPtGrPPZTE3ekp49VJ0CbMjWNko0NcqMMjYqT4nF2RoQyW/cQiWaODmdaT/oTFWFECac8+jqDzNN8Y5h0rsDvLEtQYh+5ocDuT17jXdzUoPXJAOAe8bxuR8QuXt8xDikID5SEtaaMAuwfEO0pgjf4VrPfKMGxI0qd6p0Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4nmTV/b9ScOHn0uyS/cUErv+YXN36z3aGvNJbNYKmiY=;
 b=OdjdWr85CjA1Qeq5wNF0Dmw6w6YORI82TREVGMgeKYoOI8NXm3JULV7EfNPvK9lE2dgox8PABtq1d290oRNOya9+I0NCjIJAXjPWrpqVAWGhuvI9zFSsXev1UyxE6wT2fjrLkJRyJaiyfdGRXkaecpdjkN0qhobfQwxIoRPrv7LFf6QVGkqDkt50WFvFn28Ma1w5ma3phs87659hjroakC/L/8iJzXri/6Sn0GtVZmZG6OLutwv+4lgNQtkoEUvZPgfRHI9nzwQM74ZJF6vaTyFMxonvcdssPiKFkciZS7gIOkTiy7vi3yF0v5Fpm3C9LiARlexyyde4NUULbZCteA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4nmTV/b9ScOHn0uyS/cUErv+YXN36z3aGvNJbNYKmiY=;
 b=Fb4/Whir2c1QPSJxvXjlM1KnxK94VRxtutVjLLr9FjJqBJJNGO4jtAWehxY8Kl6eoGsgBbkZUz10t/2cJP2CKwyIiuHoRrQwGqVUHdWBzcjemb+r5BulyNPVVZ7bIcFkdQUuH6pybADNDjl0bRrKnyKCcBK9X55BSjVWdbIAeiA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>
Date: Wed, 23 Aug 2023 19:05:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [XEN PATCH] CI: Always move the bisect build log back
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230823152334.8867-1-anthony.perard@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230823152334.8867-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0081.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7324:EE_
X-MS-Office365-Filtering-Correlation-Id: a479f5ac-9f3a-4b55-1b86-08dba4039c20
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rWDnSZBduUzabLUlg8iPoCAiSCtxnlGuU3RqoqTU5094FTi9EVqOiAwjSDfZCB6pqCntwluVcdp93yI1dZHoPBTv9vnhsuukLRYuwyfwGEacNCpdCP+k8hMzjO6V5gP6eNbxXoCfGPjKcRCduJknEmwhv1ESLkqX14RGcFgtTZH0Ots3/ANPtmvLc6JfWC85JXvKwrbpiUWZNl9eQYt4VawfionSKlhll1eKSlzLBxpiVy27H7nRtmOXtbKwdFHlGK0c3ceNCQE/95UZt9KXtaVyhSABp/K1gfTcazQ9YILtdi+tABcoLoxtOST7XzxW31JLR8JSQVUouXCvSjF7Z994VcodurM4QwDmSdaPciVwIu3oo9dWQhe32PvQCjpIeeROpnXazyvEkLL0vrSHByD/tOiX/DTpR05p7359hcYgkDf2hn4XI4NAPQvy+/QUunO9J/XK2NF9/hai5QRiA8/dgArXoDDPW8OW8qLzPCzphArzZet8Frz8KjBfCjWlU3ynyf1MWkFlSTtsMR8RUwTpCrXXer7saKlklM3g1r8/fWIKrQsfCJn5niLywUMB9YwwUuMbF47tZaqcXr1K0jB+fZ5hsImQWIae76z8/ZRtHE9mwo1Wp5we24f9TfC/zf6I/6YhS5zF3bxhI/IuxA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(346002)(366004)(39860400002)(1800799009)(186009)(451199024)(66476007)(66556008)(54906003)(6512007)(316002)(82960400001)(8676002)(4326008)(2616005)(8936002)(41300700001)(36756003)(478600001)(66946007)(6666004)(38100700002)(6486002)(53546011)(6506007)(2906002)(83380400001)(31686004)(86362001)(31696002)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkVXMWgvbTZOajlqekxUeVAwQnd5WkJHWnh6ZjVhTDlab0toKzBJL0lSUm4z?=
 =?utf-8?B?WmR0a2U4N09JTGZEWHRiODlTeEpkQ1JhR1RxU1dCY3FqSG9EbkNDWWxXbnND?=
 =?utf-8?B?RFhta2I4N05oWXduWXlQT2ovRjhqZTVIeGJERnduRjUvWXpkTmczSEJoTmZ0?=
 =?utf-8?B?OGpyeVUwYkt1VE9XWU5TWkx1ZFl0YjJSQTZwZlhGN3p5MW5nSHpHK0E4S091?=
 =?utf-8?B?L1pJUzlZeWd5TGo0RWZYWWUzcCt4bUQ1ZFlkVXdnS0Z6Y2RNMThkaDBMR2JQ?=
 =?utf-8?B?SkFEd1ZhR1R0VFlJUmJ6NDdRNVRueFVBNndYRFVySjNCMzdPWkRmNUl1SWlo?=
 =?utf-8?B?NHR1QllMV1JmdC9DMlB3VitFbzA0UVdpMTVTSnlISzhFcTZDTEVBZVIzYmF5?=
 =?utf-8?B?TytubHNYMi9XUDJ0MmFMRndQOFZNN094RTY4aDhHWUlCVGl0ZzVoRFRQbVN5?=
 =?utf-8?B?akJrWTVzYXNmWnJleEpCalBsVUt1U3psdGY5QnlIM1piT1NtSEpLeHVCWVdz?=
 =?utf-8?B?R2cyQXkvSHdMSGh6V0M0dTc2ZDZnSnk1bEs1UkowRzhjUjNjbStBTzF3dHNO?=
 =?utf-8?B?NGZzQXNaYU1Dd2JPSldWYUluWTZ2MGtrN0NLWHdDWVRLVUcxYjkwb1dvaysy?=
 =?utf-8?B?cWJnOEhaVGZudGxpNjVpODdLcmxmamFHSWtiTjVBS29WYm9qMjlzdndPTWRW?=
 =?utf-8?B?QkZaRkFVYlRYRmQ5ZzI5ZTVkK2lYd2tGbDZYSUxpNE5sdnMxLzdJbVpWWHU4?=
 =?utf-8?B?SzBPYi9Kcis5S3J3K3VqdzNCVUlnS3Nzeit5MllMekZZR25KZkxoa2FXWER0?=
 =?utf-8?B?UWVDb0o5SnpvdEhMZzIvWWZJekcwR21xbDVtdDg4SlpON2NwMDNHMUVLWnlj?=
 =?utf-8?B?c0psVEh0MG8vVjhMUFZJaU1QUGhxMEUvbzBvYXhCUi9iMTlQZnk5ZW44em0v?=
 =?utf-8?B?dTV5RE8zNlpzNG5EK0F2b0ZxRkVjM01pMWVnS3loZ1prbGpOUWE0QmRwRlFU?=
 =?utf-8?B?eDdtcHVTa0Z0V2s1V1hYbWJDNkRmRkpDT202ZVlaVHFWbDIxSm85YmVJYUZu?=
 =?utf-8?B?UkVHbkN2dHc3RkVzTC9BZ3B1aCsvVWNvZzV0SFYzSlI4UVJNWWVrLzJXZnF1?=
 =?utf-8?B?dU8wT2U1QXA4RmV3M2RPRWw1YW43TjMranB1dFR4TzVqL1dLRW1PdnNIa0Uy?=
 =?utf-8?B?d3pZUWFhSjlkSktaSGpaTUM3elpzR2UzRGJmK24yS2NOVHI0TFFHUm1FN0xH?=
 =?utf-8?B?WUxGK2xaczJXSm8yQ2pHWlBRRFlDL0Z4UVRLYTk3L3EvVVN5YmlMQmpwZkdl?=
 =?utf-8?B?MGs1YWhHYmdyZFYvcmhtSmZ3MVNFVnRVNGZGb3ltUm9TY0tvMUsyNzVkdTJ6?=
 =?utf-8?B?WllNQzZyYzNWNTVGb2hmVy9NaG1neGtveWtZKzRPUi9FMDhRb2dIVCs2emNv?=
 =?utf-8?B?UldsaW1nSXRxNzdERDc5RWtsR1hmNFF6UWw5T0ltZHhTZUlMQklMNnZtZVhI?=
 =?utf-8?B?NzljZEN1NnVoeVNhcWM3MmZDMWc2Ykxob3R5bTJJeUVlejArelVBM0tSSTky?=
 =?utf-8?B?QTl4dkt5ZDA0RWpUT0NKM3U4Tys0QkVwc1FES2xoQXNUOXhwMkVpTkZlNlFO?=
 =?utf-8?B?VGcyWWVWZWdvS3cvUDdtanBpYnZWdG01NU11TE5QakdCWVdhcUd3OUJWNEph?=
 =?utf-8?B?TEdTR0dYY0t3UXhVY0pudDN2NjF3MlVtYi9sTHhXZzczanFSaEM3UjhHcFpy?=
 =?utf-8?B?NHBQV0hYMDJ4bkorcnVBZlF0SkcxbEwwb2FZQUlFeVIvRmFRMjFQeVloa1U2?=
 =?utf-8?B?TGVDQklHVG1vVDh1aWpwODQ3dzFkWTJxREMyVEJPcVVMbzM0d3F6eURqQU14?=
 =?utf-8?B?REhRTitUZkYwbkpMZDFwYVlaQnkwV2JweVJ0MUdFV2ZJVGczN21CYUMrc25L?=
 =?utf-8?B?YUhiNzRhbnQ4bkFNSGxQMFlWZzNDNzVwd1BWd2ZQVFBSaE4vRGV2dXZQVmNV?=
 =?utf-8?B?bWdWWEw0cEFQdkpkVCtHTDVIY1I4QUdrTy80bTBjSktMdk90R3oyV0JTYkdW?=
 =?utf-8?B?OUJUTnVOdEU5MnRpZEk3UThGWjhLV2xGU2tlVnFBSitZQU9DamdCSGM5RGQv?=
 =?utf-8?B?Q09UNWJBUVpZbzN5QVBmRmpQTy9SV2hXelovZFRjL2EwRVNGNlVYM1N4aVdj?=
 =?utf-8?B?Vnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	JvqiSRMP3ZrvbxMNf3ZstoDYmb9FsStkJxaVk4PJy+Ag0sk22mIlJ52hndcATY19I0fFgee42n/MvJnicRYE+gNNTHtavtHNzqjd8CBjGu4RLOtiLHgEG+SkckxDwTU9mg6bFqcYYSfK7Ij0yPnsn9Tx9IUBh95YXuCbhJ9InGpW9zjVFFts1dgRDF1fAmeg4p4FiJr231scDd6Lwlh4hWXPMSzP354SRToGeF/dmGsxlifCKEtyx5T6jljWhuYBRFYAiVru4ebVPapqCf1z0ixaBv7NTdNaMcmtaVW6OszOFtmwDNIZ5tgCR87OL0MQd2I/8yZ0ZXde9jjgzHuArb4m5Kd7lrixwwGaWDOh5mWxLkji0M4+mJT7dJi/qACoVVbcytRXJq4xq8YBdcpmTrba0WVCIPdZl6pUddTn/4NKDsWHot5Rvpuxyklc3maGZiuVFBWraDSAJjRIqLC6zSlR0hEEo/EvSYCM03m38wfxxEVsFzfrakCNBrhMMq67HaJYoKkWHS8GMq3ZdVFP+VVBTOO9wUZSNwSWTQo6KeXfr32MEGMEyBzjhqVpds6eJYEL9IFL5Iia/SyW8mKygtdG4Gb959mxy8mIUNvzQ6H2a3BElGmuq/JVun+dd8pgdLgexc2lsgy7Dskbfjmf6d2lPxHIb+dyQiVwM9wnjn/dj/QVUCWRBHEeYJEg6c7E2Wbnu9x5LpDImUouxoYKTOkw+abxNXfM5oQoTy0wyU9664Dqxovy22iZb84SvMgU0anyV2OIX3ospwFUhnTSksh0ATFs/NkbnHkNnVoakczimRDmxlZL19cBpUkE5SHK/7E6gVcsGGdzyUfTOpxYHg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a479f5ac-9f3a-4b55-1b86-08dba4039c20
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 18:06:01.7760
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9w+FrmblWaUAN0tVsjCmPJCGmuhaMcSuJsNb7wp6gk6eSxdqW9veURMqEo0/BsNXOeAma32hmgN3ler2XPIkKPXGZtIm3BH5v8gzFvFM+2k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7324

On 23/08/2023 4:23 pm, Anthony PERARD wrote:
> On failure of "build"-each-commit script, the next command that move
> the log back into the build directory isn't executed. Fix that by
> using "after_script" which is always executed even if the main
> "script" fails. (We would still miss the log when the jobs times out.)
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  automation/gitlab-ci/test.yaml | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 810631bc46..5099f2e6b6 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -140,6 +140,7 @@ build-each-commit-gcc:
>      CC: gcc
>    script:
>      - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
> +  after_script:
>      - mv ../build-each-commit-gcc.log .
>    artifacts:
>      paths:

Thanks for looking into this, and yeah that is dumb, but why play games
with the parent directory?

$ git diff
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 810631bc4624..b4c2f22a1b07 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -136,11 +136,11 @@ build-each-commit-gcc:
Â Â  extends: .test-jobs-common
Â Â  variables:
Â Â Â Â  CONTAINER: debian:stretch
+Â Â Â  LOGFILE: build-each-commit-gcc.log
Â Â Â Â  XEN_TARGET_ARCH: x86_64
Â Â Â Â  CC: gcc
Â Â  script:
-Â Â Â  - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}}
TIP=${TIP_SHA:-${CI_COMMIT_SHA}}
./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee
../build-each-commit-gcc.log
-Â Â Â  - mv ../build-each-commit-gcc.log .
+Â Â Â  - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}}
TIP=${TIP_SHA:-${CI_COMMIT_SHA}}
./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ${LOGFILE}
Â Â  artifacts:
Â Â Â Â  paths:
Â Â Â Â Â Â  - '*.log'


This is prevailing style of the other tests, and also e.g. won't emit
the (whole) log file if e.g. disk space fills up.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 18:08:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 18:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589486.921415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYsHT-0007HI-VY; Wed, 23 Aug 2023 18:08:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589486.921415; Wed, 23 Aug 2023 18:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYsHT-0007HB-SE; Wed, 23 Aug 2023 18:08:35 +0000
Received: by outflank-mailman (input) for mailman id 589486;
 Wed, 23 Aug 2023 18:08:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYsHR-0007H3-Uu
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 18:08:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYsHR-0007qZ-FY; Wed, 23 Aug 2023 18:08:33 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.29.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYsHR-00018G-97; Wed, 23 Aug 2023 18:08:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=X9QysCVU4jEQ1r6HHLD2aOKevcyJ4y/i7C2dwJg9yjA=; b=VocTMWmmZXSktw7u3Yq1G3jTCv
	BKCcUFAcAvgbrWGmx7tbdhrbtyjBvJx7OrwyVl4e3q7cHJ6ES40WwAY0ZSPyqBnWaMvrcmNUeHqFo
	OwsTYoRCePD0tMKPppN2Z/AfLizphFOf6yrrFPjpAEZxic0lSZd48DvFyIaNPs3t4VXI=;
Message-ID: <9a0273a3-b7c0-46c9-8ba6-bfeaf57b91cb@xen.org>
Date: Wed, 23 Aug 2023 19:08:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
 <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
 <AD09B38F-EE24-4163-8443-B6A86550F24D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AD09B38F-EE24-4163-8443-B6A86550F24D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/08/2023 02:41, Henry Wang wrote:
> Hi Julien,

Hi Henry,

>> On Aug 23, 2023, at 02:01, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Henry,
>>
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Penny Zheng <penny.zheng@arm.com>
>>> Current P2M implementation is designed for MMU system only.
>>> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
>>> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
>>> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
>>> Also expose previously static functions p2m_vmid_allocator_init(),
>>> p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()
>>
>> Looking at the code, it seemsm that you need to keep expose __p2m_set_entry() because of p2m_relinquish_mapping(). However, it is not clear how this code is supposed to work for the MPU. So should we instead from p2m_relinquish_mapping() to mmu/p2m.c?
> 
> Sure, I will try that.
> 
>>
>> Other functions which doesn't seem to make sense in p2m.c are:
>>   * p2m_clear_root_pages(): AFAIU there is no concept of root in the MPU. This also means that we possibly want to move out anything specific to the MMU from 'struct p2m'. This could be done separately.
>>   * p2m_flush_vm(): This is built with MMU in mind as we can use the page-table to track access pages. You don't have that fine granularity in the MPU.
> 
> I agree, will also move these to mmu/ in v6.
> 
>>
>>> for futher MPU usage.
>>
>> typo: futher/further/
> 
> Thanks, will fix.
> 
>>
>>> With the code movement, global variable max_vmid is used in multiple
>>> files instead of a single file (and will be used in MPU P2M
>>> implementation), declare it in the header and remove the "static" of
>>> this variable.
>>> Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
>>> work does not need p2m_tlb_flush_sync().
>>
>> And there are no specific barrier required? Overall, I am not sure I like the #ifdef rather than providing a stub helper.
> 
> I think for MPU systems we donâ€™t need to flush the TLB, hence the #ifdef.

I wasn't necessarily thinking about a TLB flush but instead a DSB/DMB. 
At least for the MMU case, I think that in theory we need a DSB when the 
there is no TLB flush to ensure new entry in the page-tables are seen 
before p2m_write_unlock() completes.

So far we are getting away because write_pte() always have a barrier 
after. But at some point, I would like to remove it as this is a massive 
hammer.

> Do you mean we should
> provide a stub helper of p2m_tlb_flush_sync() for MPU? If so I think maybe the naming of this stub
> helper is not really ideal?

See above. I am trying to understand the expected sequence when updating 
the MPU tables. Are you going to add barriers after every update to the 
entry?

Having an helper would also be a good place to explain why some 
synchronization is not needed. I am not sure about a name though.

Maybe p2m_sync() and p2m_force_sync()?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 18:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 18:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589495.921425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYslI-0002cR-AN; Wed, 23 Aug 2023 18:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589495.921425; Wed, 23 Aug 2023 18:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYslI-0002cK-6c; Wed, 23 Aug 2023 18:39:24 +0000
Received: by outflank-mailman (input) for mailman id 589495;
 Wed, 23 Aug 2023 18:39:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYslH-0002cE-QC
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 18:39:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5fdeb993-41e4-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 20:39:21 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CAF7F82853FB;
 Wed, 23 Aug 2023 13:39:19 -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 KaieLyvc8Qos; Wed, 23 Aug 2023 13:39:18 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C849082855C8;
 Wed, 23 Aug 2023 13:39: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 BcM9rDYdRGd1; Wed, 23 Aug 2023 13:39:18 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 6F10582853FB;
 Wed, 23 Aug 2023 13:39:18 -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: 5fdeb993-41e4-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C849082855C8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692815958; bh=mB0pDrmvGRu9sIiaCknPr8DjB0toCXd0cLbTYaV0q7g=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=VSUh/gWsrOPXiK+xJ4lonCuNzIgR0bQZpvFg9keUkNLOnXmDTt87dFAUTwPcRGqx7
	 NZeHKZl7Rk+8zHyzeVdzKBi8QI+MRTDwqHFgP+z79rfDWfcZ4lEfd1V/5cn22pA27V
	 fWE237Xqw0uHW0WrxXNqxak7ybQLFZ4TpQCA7T9U=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <b24f0eb8-5dd3-8fba-fd05-e98bcf45c60a@raptorengineering.com>
Date: Wed, 23 Aug 2023 13:39:18 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
 <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/8/23 5:27 AM, Jan Beulich wrote:
> On 03.08.2023 01:03, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/mm-radix.c
>> +++ b/xen/arch/ppc/mm-radix.c
>> @@ -266,3 +266,47 @@ void __init setup_initial_pagetables(void)
>>      /* Turn on the MMU */
>>      enable_mmu();
>>  }
>> +
>> +
> 
> Nit: No double blank lines please.
>

Will fix.

>> +/*
>> + * TODO: Implement the functions below
>> + */
>> +unsigned long total_pages;
> 
> Hmm, yet one more prereq patch for me to make: There should be no need
> for every arch to have a definition, when common code requires the
> variable. While looking there I found max_page, which common code
> references as well. I'm surprised you get away without. I guess I'll
> learn why that is when making the patch moving both.
>

Since your patch for this has gone though, I'll drop this in v2.

>> +unsigned long frametable_base_pdx __read_mostly;
> 
> While we still have many instances like this, we prefer this form:
> 
> unsigned long __read_mostly frametable_base_pdx;
>

Will update.

>> +
>> +void put_page(struct page_info *p)
>> +{
>> +    BUG();
>> +}
>> +
>> +void arch_dump_shared_mem_info(void)
>> +{
>> +    BUG();
>> +}
> 
> And perhaps one further prereq patch to avoid the need for this.
>

Will remove from this series pending merge of your prereq patch.

>> +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();
>> +}
>> +
>> +int destroy_xen_mappings(unsigned long s, unsigned long e)
>> +{
>> +    BUG();
>> +}
>> +
>> +int map_pages_to_xen(unsigned long virt,
>> +                     mfn_t mfn,
>> +                     unsigned long nr_mfns,
>> +                     unsigned int flags)
> 
> There's a patch in flight regarding the naming of this last parameter.
> I guess PPC would best be in sync right away.
>

I can't seem to find the patch in question and it doesn't seem like it
has been merged in the meantime. Could you provide a link?

>> --- a/xen/arch/ppc/setup.c
>> +++ b/xen/arch/ppc/setup.c
>> @@ -1,5 +1,8 @@
>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include <xen/lib.h>
>>  #include <xen/init.h>
>> +#include <xen/mm.h>
>> +#include <public/version.h>
>>  #include <asm/boot.h>
>>  #include <asm/early_printk.h>
>>  #include <asm/processor.h>
> 
> There's no need for xen/lib.h to come ahead of xen/init.h, is there?
>

There is not -- I'll fix the ordering.

>> --- /dev/null
>> +++ b/xen/arch/ppc/stubs.c
>> @@ -0,0 +1,351 @@
>> [...]
>> +static void ack_none(struct irq_desc *irq)
>> +{
>> +    BUG();
>> +}
>> +
>> +static void end_none(struct irq_desc *irq)
>> +{
>> +    BUG();
>> +}
>> +
>> +hw_irq_controller no_irq_type = {
>> +    .typename = "none",
>> +    .startup = irq_startup_none,
>> +    .shutdown = irq_shutdown_none,
>> +    .enable = irq_enable_none,
>> +    .disable = irq_disable_none,
>> +    .ack = ack_none,
>> +    .end = end_none
>> +};
> 
> I would recommend to avoid filling pointers (and hence having private
> hook functions) where it's not clear whether they'll be required. "end",
> for example, is an optional hook on x86. Iirc common code doesn't use
> any of the hooks.
>

Alright, I'll drop the `end_none` stub and leave the .end pointer as
NULL.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 19:59:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 19:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589502.921435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu0l-0002sx-Nu; Wed, 23 Aug 2023 19:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589502.921435; Wed, 23 Aug 2023 19:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu0l-0002sq-Jq; Wed, 23 Aug 2023 19:59:27 +0000
Received: by outflank-mailman (input) for mailman id 589502;
 Wed, 23 Aug 2023 19:59: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 1qYu0k-0002se-ML; Wed, 23 Aug 2023 19:59: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 1qYu0k-0001zy-BG; Wed, 23 Aug 2023 19:59: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 1qYu0k-0005TJ-1G; Wed, 23 Aug 2023 19:59:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYu0k-0002Vi-0q; Wed, 23 Aug 2023 19:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bPA+yetGHRHtObSRR3aJ1815ss9RxUAy/qUu6mbDn2M=; b=Pf5kdHuAkdlBuEjfRIM3y8Zivy
	jNZMSnDamiBcJTBnZ//Q+7FVSuUv3j2ilZgkRy7oizhOALp05WMqJmGu7lqGVnplhcbmJ5IJ8Jzk9
	vLFq0aVUnakibFSbW/pge0UzOMYUbjTgB7d8oKOFLh1AwHK5vrrK8an8LcCtLDerPGQw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182488-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182488: 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=ed317b8619a77a6c874495f65013d92ab8d5e0ba
X-Osstest-Versions-That:
    xen=a943a4f119cd0d969631b4ada878974828a7064d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 19:59:26 +0000

flight 182488 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182488/

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                  ed317b8619a77a6c874495f65013d92ab8d5e0ba
baseline version:
 xen                  a943a4f119cd0d969631b4ada878974828a7064d

Last test of basis   182436  2023-08-23 08:00:27 Z    0 days
Failing since        182455  2023-08-23 11:00:25 Z    0 days    3 attempts
Testing same since   182488  2023-08-23 17:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   a943a4f119..ed317b8619  ed317b8619a77a6c874495f65013d92ab8d5e0ba -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589513.921465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8g-00051B-4a; Wed, 23 Aug 2023 20:07:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589513.921465; Wed, 23 Aug 2023 20: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 1qYu8g-000512-1l; Wed, 23 Aug 2023 20:07:38 +0000
Received: by outflank-mailman (input) for mailman id 589513;
 Wed, 23 Aug 2023 20:07:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8e-0004Vt-RP
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1a7cf85-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1852182855DC;
 Wed, 23 Aug 2023 15:07:32 -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 uZoO9KfOnNA8; Wed, 23 Aug 2023 15:07:31 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3457682854AE;
 Wed, 23 Aug 2023 15:07:31 -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 LcVz9PzYzhOf; Wed, 23 Aug 2023 15:07:31 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 733AE828556D;
 Wed, 23 Aug 2023 15:07:30 -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: b1a7cf85-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3457682854AE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821251; bh=uqKv0cI8bm6fBXMRvyKP1NoJ1ooRWBO2+LzKlpR82/4=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=ovKK6ImsM4R5NCJFZ1t6DSwnX9zJEsrlW1yPlwnYq8v80cnLGc0SAIbqfcrQqPiVH
	 yLWvAzIih5Lg6HnMqPAoW30U18qtJOzhPcoHKk6hNvj78VZXGHLt7B93TO9A+Vy2RQ
	 p9ZcEjmQMBgwOK8PBBbLg25Gix94zQoKHLTeEz04=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@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>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 1/8] xen/common: Add missing #includes treewide
Date: Wed, 23 Aug 2023 15:07:12 -0500
Message-Id: <e786dd5bbd6c235c69f5b2e49d485397f155d393.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

A few files treewide depend on defininitions in headers that they
don't include. This works when arch headers end up including the
required headers by chance, but broke on ppc64 with only minimal/stub
arch headers.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - (xen/domain.h) Drop <public/domctl.h> include in favor of a forward
    declaration of struct xen_domctl_createdomain.

 xen/common/memory.c       | 1 +
 xen/common/symbols.c      | 1 +
 xen/common/xmalloc_tlsf.c | 1 +
 xen/include/xen/domain.h  | 1 +
 xen/include/xen/iommu.h   | 1 +
 xen/include/xen/sched.h   | 1 +
 6 files changed, 6 insertions(+)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index b1dcbaf551..fa165ebc14 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -28,6 +28,7 @@
 #include <asm/current.h>
 #include <asm/hardirq.h>
 #include <asm/p2m.h>
+#include <asm/page.h>
 #include <public/memory.h>
 #include <xsm/xsm.h>

diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 9377f41424..691e617925 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -19,6 +19,7 @@
 #include <xen/virtual_region.h>
 #include <public/platform.h>
 #include <xen/guest_access.h>
+#include <xen/errno.h>

 #ifdef SYMBOLS_ORIGIN
 extern const unsigned int symbols_offsets[];
diff --git a/xen/common/xmalloc_tlsf.c b/xen/common/xmalloc_tlsf.c
index c603c39bb9..349b31cb4c 100644
--- a/xen/common/xmalloc_tlsf.c
+++ b/xen/common/xmalloc_tlsf.c
@@ -27,6 +27,7 @@
 #include <xen/mm.h>
 #include <xen/pfn.h>
 #include <asm/time.h>
+#include <asm/page.h>

 #define MAX_POOL_NAME_LEN       16

diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index d35af34841..81fb05a642 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -77,6 +77,7 @@ void arch_vcpu_destroy(struct vcpu *v);
 int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned int offset=
);
 void unmap_vcpu_info(struct vcpu *v);

+struct xen_domctl_createdomain;
 int arch_domain_create(struct domain *d,
                        struct xen_domctl_createdomain *config,
                        unsigned int flags);
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59f..7368df9138 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -24,6 +24,7 @@
 #include <xen/page-defs.h>
 #include <xen/pci.h>
 #include <xen/spinlock.h>
+#include <xen/errno.h>
 #include <public/domctl.h>
 #include <public/hvm/ioreq.h>
 #include <asm/device.h>
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index b4f43cd410..d8c8dd85a6 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -21,6 +21,7 @@
 #include <xen/smp.h>
 #include <xen/perfc.h>
 #include <asm/atomic.h>
+#include <asm/current.h>
 #include <xen/vpci.h>
 #include <xen/wait.h>
 #include <public/xen.h>
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589511.921445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8d-0004W1-G9; Wed, 23 Aug 2023 20:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589511.921445; Wed, 23 Aug 2023 20:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8d-0004Vu-D1; Wed, 23 Aug 2023 20:07:35 +0000
Received: by outflank-mailman (input) for mailman id 589511;
 Wed, 23 Aug 2023 20:07: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=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8c-0004Vf-9g
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:34 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1a07918-41f0-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 22:07:32 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B7063828556D;
 Wed, 23 Aug 2023 15:07:31 -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 BqzCzCq5iCkc; Wed, 23 Aug 2023 15:07:30 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7B75C82855DC;
 Wed, 23 Aug 2023 15:07: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 sB7DRz0y0DOz; Wed, 23 Aug 2023 15:07:30 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id EC4FB82854AE;
 Wed, 23 Aug 2023 15:07: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: b1a07918-41f0-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7B75C82855DC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821250; bh=nlIU48HQ2yi2f+3BsZi02EOPrJtql+H7fvyUot2YPQ0=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=uHSWJGE6sPafFX+X2qlJtFPI6McDq9lrFCYvdU/LI52eawfjUYcKd6E84F65GF+Pn
	 2AtYTvG3EWJS+eZRJbwx5Gb8KQNbuKgl9nwXEM5xKnHiATBZ2hpTHN5fqX31f5muGi
	 dRSr2ft8m1dgKIWji4r/npcnUuSGC0zemvkwDIX4=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@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>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 0/8] ppc: Enable full Xen build
Date: Wed, 23 Aug 2023 15:07:11 -0500
Message-Id: <cover.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hello all,

This patch series performs all of the additions necessary to drop the
build overrides for PPC 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, unimplemented stubs
that just call BUG_ON("unimplemented").

A few miscellaneous changes were also made to non-ppc code as well,
specifically a few missing header fixes in common.

Thanks,
Shawn

--
v2: Address review comments from v1. Some changes are still pending until
the following patches are merged:
  - [PATCH] mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_inf=
o()
  https://lists.xen.org/archives/html/xen-devel/2023-08/msg00887.html

  - [PATCH] move max_page and total_pages to common code
  https://lists.xen.org/archives/html/xen-devel/2023-08/msg00874.html

Shawn Anastasio (8):
  xen/common: Add missing #includes treewide
  xen/ppc: Add public/arch-ppc.h
  xen/ppc: Implement atomic.h
  xen/ppc: Implement bitops.h
  xen/ppc: Define minimal stub headers required for full build
  xen/ppc: Define bug frames table in linker script
  xen/ppc: Add stub function and symbol definitions
  xen/ppc: Enable full Xen build

 xen/arch/ppc/Kconfig                     |   1 +
 xen/arch/ppc/Makefile                    |  17 +-
 xen/arch/ppc/arch.mk                     |   3 -
 xen/arch/ppc/include/asm/altp2m.h        |  25 ++
 xen/arch/ppc/include/asm/atomic.h        | 390 +++++++++++++++++++++++
 xen/arch/ppc/include/asm/bitops.h        | 332 ++++++++++++++++++-
 xen/arch/ppc/include/asm/bug.h           |   9 +
 xen/arch/ppc/include/asm/cache.h         |   2 +
 xen/arch/ppc/include/asm/config.h        |   9 +
 xen/arch/ppc/include/asm/cpufeature.h    |   9 +
 xen/arch/ppc/include/asm/current.h       |  42 +++
 xen/arch/ppc/include/asm/delay.h         |  11 +
 xen/arch/ppc/include/asm/device.h        |  53 +++
 xen/arch/ppc/include/asm/div64.h         |  14 +
 xen/arch/ppc/include/asm/domain.h        |  46 +++
 xen/arch/ppc/include/asm/event.h         |  35 ++
 xen/arch/ppc/include/asm/flushtlb.h      |  23 ++
 xen/arch/ppc/include/asm/grant_table.h   |   0
 xen/arch/ppc/include/asm/guest_access.h  |  54 ++++
 xen/arch/ppc/include/asm/guest_atomics.h |  14 +
 xen/arch/ppc/include/asm/hardirq.h       |  18 ++
 xen/arch/ppc/include/asm/hypercall.h     |   0
 xen/arch/ppc/include/asm/io.h            |  15 +
 xen/arch/ppc/include/asm/iocap.h         |   7 +
 xen/arch/ppc/include/asm/iommu.h         |   7 +
 xen/arch/ppc/include/asm/irq.h           |  32 ++
 xen/arch/ppc/include/asm/mem_access.h    |   0
 xen/arch/ppc/include/asm/memory.h        |  34 ++
 xen/arch/ppc/include/asm/mm.h            | 249 ++++++++++++++-
 xen/arch/ppc/include/asm/monitor.h       |  46 +++
 xen/arch/ppc/include/asm/nospec.h        |  18 ++
 xen/arch/ppc/include/asm/numa.h          |  26 ++
 xen/arch/ppc/include/asm/p2m.h           | 105 ++++++
 xen/arch/ppc/include/asm/page.h          |  19 ++
 xen/arch/ppc/include/asm/paging.h        |   7 +
 xen/arch/ppc/include/asm/pci.h           |   7 +
 xen/arch/ppc/include/asm/percpu.h        |  24 ++
 xen/arch/ppc/include/asm/procarea.h      |  20 ++
 xen/arch/ppc/include/asm/processor.h     |  10 +
 xen/arch/ppc/include/asm/random.h        |   9 +
 xen/arch/ppc/include/asm/setup.h         |   6 +
 xen/arch/ppc/include/asm/smp.h           |  18 ++
 xen/arch/ppc/include/asm/softirq.h       |   8 +
 xen/arch/ppc/include/asm/spinlock.h      |  15 +
 xen/arch/ppc/include/asm/system.h        | 229 ++++++++++++-
 xen/arch/ppc/include/asm/time.h          |  20 ++
 xen/arch/ppc/include/asm/vm_event.h      |  49 +++
 xen/arch/ppc/include/asm/xenoprof.h      |   0
 xen/arch/ppc/mm-radix.c                  |  44 ++-
 xen/arch/ppc/setup.c                     |   8 +
 xen/arch/ppc/stubs.c                     | 345 ++++++++++++++++++++
 xen/arch/ppc/tlb-radix.c                 |   2 +-
 xen/arch/ppc/xen.lds.S                   |  10 +
 xen/common/memory.c                      |   1 +
 xen/common/symbols.c                     |   1 +
 xen/common/xmalloc_tlsf.c                |   1 +
 xen/include/public/arch-ppc.h            | 110 +++++++
 xen/include/public/hvm/save.h            |   2 +
 xen/include/public/pmu.h                 |   2 +
 xen/include/public/xen.h                 |   2 +
 xen/include/xen/domain.h                 |   1 +
 xen/include/xen/iommu.h                  |   1 +
 xen/include/xen/sched.h                  |   1 +
 63 files changed, 2607 insertions(+), 11 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/arch/ppc/include/asm/atomic.h
 create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
 create mode 100644 xen/arch/ppc/include/asm/current.h
 create mode 100644 xen/arch/ppc/include/asm/delay.h
 create mode 100644 xen/arch/ppc/include/asm/device.h
 create mode 100644 xen/arch/ppc/include/asm/div64.h
 create mode 100644 xen/arch/ppc/include/asm/domain.h
 create mode 100644 xen/arch/ppc/include/asm/event.h
 create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
 create mode 100644 xen/arch/ppc/include/asm/grant_table.h
 create mode 100644 xen/arch/ppc/include/asm/guest_access.h
 create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
 create mode 100644 xen/arch/ppc/include/asm/hardirq.h
 create mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/arch/ppc/include/asm/io.h
 create mode 100644 xen/arch/ppc/include/asm/iocap.h
 create mode 100644 xen/arch/ppc/include/asm/iommu.h
 create mode 100644 xen/arch/ppc/include/asm/irq.h
 create mode 100644 xen/arch/ppc/include/asm/mem_access.h
 create mode 100644 xen/arch/ppc/include/asm/memory.h
 create mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/arch/ppc/include/asm/nospec.h
 create mode 100644 xen/arch/ppc/include/asm/numa.h
 create mode 100644 xen/arch/ppc/include/asm/p2m.h
 create mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/arch/ppc/include/asm/pci.h
 create mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/ppc/include/asm/procarea.h
 create mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/ppc/include/asm/setup.h
 create mode 100644 xen/arch/ppc/include/asm/smp.h
 create mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/ppc/include/asm/spinlock.h
 create mode 100644 xen/arch/ppc/include/asm/time.h
 create mode 100644 xen/arch/ppc/include/asm/vm_event.h
 create mode 100644 xen/arch/ppc/include/asm/xenoprof.h
 create mode 100644 xen/arch/ppc/stubs.c
 create mode 100644 xen/include/public/arch-ppc.h

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589512.921450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8d-0004Yt-Nz; Wed, 23 Aug 2023 20:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589512.921450; Wed, 23 Aug 2023 20:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8d-0004Y5-KP; Wed, 23 Aug 2023 20:07:35 +0000
Received: by outflank-mailman (input) for mailman id 589512;
 Wed, 23 Aug 2023 20:07: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=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8c-0004Vf-Tu
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:34 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b209b77c-41f0-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 22:07:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B772182867AA;
 Wed, 23 Aug 2023 15:07:32 -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 bA0joZWNG15C; Wed, 23 Aug 2023 15:07:31 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A3E95828673D;
 Wed, 23 Aug 2023 15:07:31 -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 zdPqsOnk9JTT; Wed, 23 Aug 2023 15:07:31 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 3BF4F8285AAD;
 Wed, 23 Aug 2023 15:07: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: b209b77c-41f0-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com A3E95828673D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821251; bh=9nVzFL8mf98lW8LMjk2/1F+wWeQACbM53mGneF01BrE=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=vf4FuqWQv59VlnJBhvvYQra6ycKaFSkoZ3LdMjp0DuwanfGhKDTtUNRoHKjmwcYGt
	 3qqarE4Te+s9TDwmjGqiJAO84oWoADx/SsMdvr68QfRlcqXnmzlh+kULp9/HRTKmQ7
	 osNf3Yu307zYQuhJ9GrnOaOHn/8xY/Bbu0oNL8fE=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@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>
Subject: [PATCH v2 2/8] xen/ppc: Add public/arch-ppc.h
Date: Wed, 23 Aug 2023 15:07:13 -0500
Message-Id: <85bc5f57ad41a54f84ac9fa118ff0d9e02b71461.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Drop full license text in favor of SPDX header
  - Fix include guard naming (s/PPC64/PPC/g)
  - Use __aligned__ instead of aligned keyword
  - Fix macro naming conventions (use trailing underscore)
  - Drop unused MEMORY_PADDING, TRAP_INSTR definitions
  - Drop XENCOMM_INLINE_FLAG definition
  - Fix vcpu_guest_core_regs comment styling and spelling
  - Drop trailing comment at bottom of file

 xen/include/public/arch-ppc.h | 110 ++++++++++++++++++++++++++++++++++
 1 file changed, 110 insertions(+)
 create mode 100644 xen/include/public/arch-ppc.h

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.=
h
new file mode 100644
index 0000000000..b7864b67ef
--- /dev/null
+++ b/xen/include/public/arch-ppc.h
@@ -0,0 +1,110 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) IBM Corp. 2005, 2006
+ * Copyright (C) Raptor Engineering, LLC 2023
+ *
+ * Authors: Hollis Blanchard <hollisb@us.ibm.com>
+ *          Timothy Pearson <tpearson@raptorengineering.com>
+ *          Shawn Anastasio <sanastasio@raptorengineering.com>
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_PPC_H__
+#define __XEN_PUBLIC_ARCH_PPC_H__
+
+#define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
+#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
+
+#ifndef __ASSEMBLY__
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
+    typedef union { type *p; unsigned long q; }                 \
+        __guest_handle_ ## name;                                \
+    typedef union { type *p; uint64_aligned_t q; }              \
+        __guest_handle_64_ ## name
+
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, =
name)
+#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
+#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
+#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
+#define set_xen_guest_handle_raw(hnd, val)                  \
+    do {                                                    \
+        __typeof__(&(hnd)) sxghr_tmp_ =3D &(hnd);             \
+        sxghr_tmp_->q =3D 0;                                  \
+        sxghr_tmp_->p =3D (val);                                \
+    } while ( 0 )
+#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val=
)
+
+#ifdef __XEN_TOOLS__
+#define get_xen_guest_handle(val, hnd)  do { val =3D (hnd).p; } while (0=
)
+#endif
+
+typedef uint64_t xen_pfn_t;
+#define PRI_xen_pfn PRIx64
+#define PRIu_xen_pfn PRIu64
+
+/*
+ * Maximum number of virtual CPUs in legacy multi-processor guests.
+ * Only one. All other VCPUS must use VCPUOP_register_vcpu_info.
+ */
+#define XEN_LEGACY_MAX_VCPUS 1
+
+typedef uint64_t xen_ulong_t;
+#define PRI_xen_ulong PRIx64
+#endif
+
+#ifndef __ASSEMBLY__
+
+typedef uint64_t xen_ulong_t;
+
+/*
+ * User-accessible registers: most of these need to be saved/restored
+ * for every nested Xen invocation.
+ */
+struct vcpu_guest_core_regs
+{
+    uint64_t gprs[32];
+    uint64_t lr;
+    uint64_t ctr;
+    uint64_t srr0;
+    uint64_t srr1;
+    uint64_t pc;
+    uint64_t msr;
+    uint64_t fpscr;             /* XXX Is this necessary */
+    uint64_t xer;
+    uint64_t hid4;              /* debug only */
+    uint64_t dar;               /* debug only */
+    uint32_t dsisr;             /* debug only */
+    uint32_t cr;
+    uint32_t __pad;             /* good spot for another 32bit reg */
+    uint32_t entry_vector;
+};
+typedef struct vcpu_guest_core_regs vcpu_guest_core_regs_t;
+
+typedef uint64_t tsc_timestamp_t; /* RDTSC timestamp */ /* XXX timebase =
*/
+
+/* ONLY used to communicate with dom0! See also struct exec_domain. */
+struct vcpu_guest_context {
+    vcpu_guest_core_regs_t user_regs;         /* User-level CPU register=
s     */
+    uint64_t sdr1;                     /* Pagetable base               *=
/
+    /* XXX etc */
+};
+typedef struct vcpu_guest_context vcpu_guest_context_t;
+DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
+
+struct arch_shared_info {
+    uint64_t boot_timebase;
+};
+
+struct arch_vcpu_info {
+};
+
+struct xen_arch_domainconfig {
+};
+
+typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
+
+#endif
+
+#endif /* __XEN_PUBLIC_ARCH_PPC_H__ */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589514.921475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8h-0005IG-GH; Wed, 23 Aug 2023 20:07:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589514.921475; Wed, 23 Aug 2023 20:07:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8h-0005I0-AJ; Wed, 23 Aug 2023 20:07:39 +0000
Received: by outflank-mailman (input) for mailman id 589514;
 Wed, 23 Aug 2023 20: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=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8f-0004Vt-25
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:37 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b283a07a-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8F0E582854AE;
 Wed, 23 Aug 2023 15:07:33 -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 YTJzfzVQV2hR; Wed, 23 Aug 2023 15:07:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2F7E682869C8;
 Wed, 23 Aug 2023 15:07: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 6s5iL9zWkkxd; Wed, 23 Aug 2023 15:07:32 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A7A2B82867AA;
 Wed, 23 Aug 2023 15:07: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: b283a07a-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 2F7E682869C8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821252; bh=XCBWqK2VpcokHzQVBLv4ZPgd/MF7ZgElAFHIz8B9Ncc=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=Z4GIiAUk6EbG+TlS14V8exhvwUovzAOF0xu18NZiBRAnGRoyd+yF7zkA40YlKKA03
	 mav32eNkWx745nWrDNG0bX9JBOuM1AzGgBXZDt4TxAReN0idTZZUiFb0ObrHBDlJ0i
	 2EMvp2pm72gGxjJXP23bUPnUAwpjEAsiyN+H81CU=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 3/8] xen/ppc: Implement atomic.h
Date: Wed, 23 Aug 2023 15:07:14 -0500
Message-Id: <6d97bdeb1c114026105e72c6ee6e1b024565bf95.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Implement atomic.h for PPC, based off of the original Xen 3.2
implementation.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Fix style of asm block constraints to include required spaces
  - Fix macro local variable naming (use trailing underscore instead of
    leading)
  - Drop unnecessary parens in __atomic_add_unless

 xen/arch/ppc/include/asm/atomic.h | 390 ++++++++++++++++++++++++++++++
 xen/arch/ppc/include/asm/memory.h |  34 +++
 2 files changed, 424 insertions(+)
 create mode 100644 xen/arch/ppc/include/asm/atomic.h
 create mode 100644 xen/arch/ppc/include/asm/memory.h

diff --git a/xen/arch/ppc/include/asm/atomic.h b/xen/arch/ppc/include/asm=
/atomic.h
new file mode 100644
index 0000000000..43febda7ab
--- /dev/null
+++ b/xen/arch/ppc/include/asm/atomic.h
@@ -0,0 +1,390 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * PowerPC64 atomic operations
+ *
+ * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
+ * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
+ * Copyright Raptor Engineering LLC
+ *
+ * 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.
+ */
+
+#ifndef _ASM_PPC64_ATOMIC_H_
+#define _ASM_PPC64_ATOMIC_H_
+
+#include <xen/atomic.h>
+
+#include <asm/memory.h>
+#include <asm/system.h>
+
+static inline int atomic_read(const atomic_t *v)
+{
+    return *(volatile int *)&v->counter;
+}
+
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+
+static inline void atomic_set(atomic_t *v, int i)
+{
+    v->counter =3D i;
+}
+
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter =3D i;
+}
+
+void __bad_atomic_read(const volatile void *p, void *res);
+void __bad_atomic_size(void);
+
+#define build_atomic_read(name, insn, type)                             =
       \
+    static inline type name(const volatile type *addr)                  =
       \
+    {                                                                   =
       \
+        type ret;                                                       =
       \
+        asm volatile ( insn "%U1%X1 %0,%1" : "=3Dr" (ret) : "m<>" (*addr=
) );     \
+        return ret;                                                     =
       \
+    }
+
+#define build_atomic_write(name, insn, type)                            =
       \
+    static inline void name(volatile type *addr, type val)              =
       \
+    {                                                                   =
       \
+        asm volatile ( insn "%U0%X0 %1,%0" : "=3Dm<>" (*addr) : "r" (val=
) );     \
+    }
+
+#define build_add_sized(name, ldinsn, stinsn, type)                     =
       \
+    static inline void name(volatile type *addr, type val)              =
       \
+    {                                                                   =
       \
+        type t;                                                         =
       \
+        asm volatile ( "1: " ldinsn " %0,0,%3\n"                        =
       \
+                       "add%I2 %0,%0,%2\n"                              =
       \
+                       stinsn " %0,0,%3 \n"                             =
       \
+                       "bne- 1b\n"                                      =
       \
+                       : "=3D&r" (t), "+m" (*addr)                      =
         \
+                       : "r" (val), "r" (addr)                          =
       \
+                       : "cc" );                                        =
       \
+    }
+
+build_atomic_read(read_u8_atomic, "lbz", uint8_t)
+build_atomic_read(read_u16_atomic, "lhz", uint16_t)
+build_atomic_read(read_u32_atomic, "lwz", uint32_t)
+build_atomic_read(read_u64_atomic, "ldz", uint64_t)
+
+build_atomic_write(write_u8_atomic, "stb", uint8_t)
+build_atomic_write(write_u16_atomic, "sth", uint16_t)
+build_atomic_write(write_u32_atomic, "stw", uint32_t)
+build_atomic_write(write_u64_atomic, "std", uint64_t)
+
+build_add_sized(add_u8_sized, "lbarx", "stbcx.",uint8_t)
+build_add_sized(add_u16_sized, "lharx", "sthcx.", uint16_t)
+build_add_sized(add_u32_sized, "lwarx", "stwcx.", uint32_t)
+
+#undef build_atomic_read
+#undef build_atomic_write
+#undef build_add_sized
+
+static always_inline void read_atomic_size(const volatile void *p, void =
*res,
+                                           unsigned int size)
+{
+    ASSERT(IS_ALIGNED((vaddr_t) p, size));
+    switch ( size )
+    {
+    case 1:
+        *(uint8_t *)res =3D read_u8_atomic(p);
+        break;
+    case 2:
+        *(uint16_t *)res =3D read_u16_atomic(p);
+        break;
+    case 4:
+        *(uint32_t *)res =3D read_u32_atomic(p);
+        break;
+    case 8:
+        *(uint64_t *)res =3D read_u64_atomic(p);
+        break;
+    default:
+        __bad_atomic_read(p, res);
+        break;
+    }
+}
+
+static always_inline void write_atomic_size(volatile void *p, void *val,
+                                            unsigned int size)
+{
+    ASSERT(IS_ALIGNED((vaddr_t) p, size));
+    switch ( size )
+    {
+    case 1:
+        write_u8_atomic(p, *(uint8_t *)val);
+        break;
+    case 2:
+        write_u16_atomic(p, *(uint16_t *)val);
+        break;
+    case 4:
+        write_u32_atomic(p, *(uint32_t *)val);
+        break;
+    case 8:
+        write_u64_atomic(p, *(uint64_t *)val);
+        break;
+    default:
+        __bad_atomic_size();
+        break;
+    }
+}
+
+#define read_atomic(p)                                                  =
       \
+    ({                                                                  =
       \
+        union {                                                         =
       \
+            typeof(*(p)) val;                                           =
       \
+            char c[0];                                                  =
       \
+        } x_;                                                           =
       \
+        read_atomic_size(p, x_.c, sizeof(*(p)));                        =
       \
+        x_.val;                                                         =
       \
+    })
+
+#define write_atomic(p, x)                                              =
       \
+    do                                                                  =
       \
+    {                                                                   =
       \
+        typeof(*(p)) x_ =3D (x);                                        =
         \
+        write_atomic_size(p, &x_, sizeof(*(p)));                        =
       \
+    } while ( 0 )
+
+#define add_sized(p, x)                                                 =
       \
+    ({                                                                  =
       \
+        typeof(*(p)) x_ =3D (x);                                        =
        \
+        switch ( sizeof(*(p)) )                                         =
       \
+        {                                                               =
       \
+        case 1:                                                         =
       \
+            add_u8_sized((uint8_t *) (p), x_);                          =
      \
+            break;                                                      =
       \
+        case 2:                                                         =
       \
+            add_u16_sized((uint16_t *) (p), x_);                        =
      \
+            break;                                                      =
       \
+        case 4:                                                         =
       \
+            add_u32_sized((uint32_t *) (p), x_);                        =
      \
+            break;                                                      =
       \
+        default:                                                        =
       \
+            __bad_atomic_size();                                        =
       \
+            break;                                                      =
       \
+        }                                                               =
       \
+    })
+
+static inline void atomic_add(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%3\n"
+                   "add %0,%2,%0\n"
+                   "stwcx. %0,0,%3\n"
+                   "bne- 1b"
+                   : "=3D&r" (t), "+m" (v->counter)
+                   : "r" (a), "r" (&v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_add_return(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%2\n"
+                   "add %0,%1,%0\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r" (t)
+                   : "r" (a), "r" (&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_sub(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%3\n"
+                   "subf %0,%2,%0\n"
+                   "stwcx. %0,0,%3\n"
+                   "bne- 1b"
+                   : "=3D&r" (t), "=3Dm" (v->counter)
+                   : "r" (a), "r" (&v->counter), "m" (v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_sub_return(int a, atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%2\n"
+                   "subf %0,%1,%0\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r" (t)
+                   : "r" (a), "r" (&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_inc(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%2\n"
+                   "addic %0,%0,1\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   : "=3D&r" (t), "=3Dm" (v->counter)
+                   : "r" (&v->counter), "m" (v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_inc_return(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%1\n"
+                   "addic %0,%0,1\n"
+                   "stwcx. %0,0,%1\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r" (t)
+                   : "r" (&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+static inline void atomic_dec(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( "1: lwarx %0,0,%2\n"
+                   "addic %0,%0,-1\n"
+                   "stwcx. %0,0,%2\n"
+                   "bne- 1b"
+                   : "=3D&r" (t), "=3Dm" (v->counter)
+                   : "r" (&v->counter), "m" (v->counter)
+                   : "cc" );
+}
+
+static inline int atomic_dec_return(atomic_t *v)
+{
+    int t;
+
+    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
+                   "1: lwarx %0,0,%1\n"
+                   "addic %0,%0,-1\n"
+                   "stwcx. %0,0,%1\n"
+                   "bne- 1b"
+                   PPC_ATOMIC_EXIT_BARRIER
+                   : "=3D&r" (t)
+                   : "r" (&v->counter)
+                   : "cc", "memory" );
+
+    return t;
+}
+
+/*
+ * Atomically test *v and decrement if it is greater than 0.
+ * The function returns the old value of *v minus 1.
+ */
+static inline int atomic_dec_if_positive(atomic_t *v)
+{
+    int t;
+
+    asm volatile( PPC_ATOMIC_ENTRY_BARRIER
+                  "1: lwarx %0,0,%1 # atomic_dec_if_positive\n"
+                  "addic. %0,%0,-1\n"
+                  "blt- 2f\n"
+                  "stwcx. %0,0,%1\n"
+                  "bne- 1b\n"
+                  PPC_ATOMIC_EXIT_BARRIER
+                  "2:"
+                  : "=3D&r" (t)
+                  : "r" (&v->counter)
+                  : "cc", "memory" );
+
+    return t;
+}
+
+static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
+                                             atomic_t *v)
+{
+    atomic_t rc;
+    rc.counter =3D __cmpxchg(&v->counter, old.counter, new.counter, size=
of(int));
+    return rc;
+}
+
+#define arch_cmpxchg(ptr, o, n)                                         =
       \
+    ({                                                                  =
       \
+        __typeof__(*(ptr)) o_ =3D (o);                                  =
        \
+        __typeof__(*(ptr)) n_ =3D (n);                                  =
        \
+        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) o_,       =
      \
+                                       (unsigned long) n_, sizeof(*(ptr)=
));   \
+    })
+
+static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+{
+    return arch_cmpxchg(&v->counter, old, new);
+}
+
+#define ATOMIC_OP(op, insn, suffix, sign) \
+    static inline void atomic_##op(int a, atomic_t *v)                  =
         \
+    {                                                                   =
         \
+        int t;                                                          =
         \
+        asm volatile ( "1: lwarx %0,0,%3\n"                             =
         \
+                       insn "%I2" suffix " %0,%0,%2\n"                  =
         \
+                       "stwcx. %0,0,%3 \n"                              =
         \
+                       "bne- 1b\n"                                      =
         \
+                       : "=3D&r" (t), "+m" (v->counter)                 =
           \
+                       : "r" #sign (a), "r" (&v->counter)               =
         \
+                       : "cc" );                                        =
         \
+    }
+
+ATOMIC_OP(and, "and", ".", K)
+
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) =3D=3D 0;
+}
+
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) =3D=3D 0;
+}
+
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) =3D=3D 0;
+}
+
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+
+static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+{
+	int c, old;
+
+	c =3D atomic_read(v);
+	while (c !=3D u && (old =3D atomic_cmpxchg(v, c, c + a)) !=3D c)
+		c =3D old;
+	return c;
+}
+
+static inline int atomic_add_unless(atomic_t *v, int a, int u)
+{
+    return __atomic_add_unless(v, a, u);
+}
+
+#endif /* _ASM_PPC64_ATOMIC_H_ */
diff --git a/xen/arch/ppc/include/asm/memory.h b/xen/arch/ppc/include/asm=
/memory.h
new file mode 100644
index 0000000000..7b12e01b1a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/memory.h
@@ -0,0 +1,34 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, =
USA.
+ *
+ * Copyright (C) IBM Corp. 2005
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ */
+
+#ifndef _ASM_MEMORY_H_
+#define _ASM_MEMORY_H_
+
+#include <xen/config.h>
+
+#ifdef CONFIG_SMP
+#define PPC_ATOMIC_ENTRY_BARRIER "sync\n"
+#define PPC_ATOMIC_EXIT_BARRIER  "sync\n"
+#else
+#define PPC_ATOMIC_ENTRY_BARRIER
+#define PPC_ATOMIC_EXIT_BARRIER
+#endif
+
+#endif
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589515.921480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8h-0005Kt-PF; Wed, 23 Aug 2023 20:07:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589515.921480; Wed, 23 Aug 2023 20:07:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8h-0005JN-Iv; Wed, 23 Aug 2023 20:07:39 +0000
Received: by outflank-mailman (input) for mailman id 589515;
 Wed, 23 Aug 2023 20: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=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8f-0004Vt-CU
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:37 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2bd0b43-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F03868286986;
 Wed, 23 Aug 2023 15:07:33 -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 QlQax3gP5LTl; Wed, 23 Aug 2023 15:07:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 81BF18285AAD;
 Wed, 23 Aug 2023 15:07: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 cqP7OtOrBn1X; Wed, 23 Aug 2023 15:07:32 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 1E9438286986;
 Wed, 23 Aug 2023 15:07: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: b2bd0b43-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 81BF18285AAD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821252; bh=C9G3ckTTRQdKQGZnT0twiZzhJueuoUyDowDgUgvktSk=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=g4f70lhHdrNP79k1YbDXYzrWTx0EBheC35UWJmeRu+BP3yO0tsgQyTHaQWfY+D86g
	 70pdPO2Byn59XmqRvACFc+yH32F/bgMuU2imuK1nejXV/NtUjJPR6hj3Ft0eorOA3D
	 uyVnV91WDLVCmPiV1s68Hn08QWS/KlHmSD2XdvXE=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 4/8] xen/ppc: Implement bitops.h
Date: Wed, 23 Aug 2023 15:07:15 -0500
Message-Id: <583ed0d715aa70e777e7aa62a287acafc52d5a24.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Implement bitops.h, based on Linux's implementation as of commit
5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc. Though it is based off of
Linux's implementation, this code diverges significantly in a number of
ways:
  - Bitmap entries changed to 32-bit words to match X86 and Arm on Xen
  - PPC32-specific code paths dropped
  - Formatting completely re-done to more closely line up with Xen.
    Including 4 space indentation.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Clarify changes from Linux implementation in commit message
  - Use PPC_ATOMIC_{ENTRY,EXIT}_BARRIER macros from <asm/memory.h> instea=
d
    of hardcoded "sync" instructions in inline assembly blocks.
  - Fix macro line-continuing backslash spacing
  - Fix hard-tab usage in find_*_bit C functions.

 xen/arch/ppc/include/asm/bitops.h | 332 +++++++++++++++++++++++++++++-
 1 file changed, 329 insertions(+), 3 deletions(-)

diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm=
/bitops.h
index 548e97b414..dc35e54838 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -1,9 +1,335 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Adapted from Linux's arch/powerpc/include/asm/bitops.h.
+ *
+ * Merged version by David Gibson <david@gibson.dropbear.id.au>.
+ * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don
+ * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard.  They
+ * originally took it from the ppc32 code.
+ */
 #ifndef _ASM_PPC_BITOPS_H
 #define _ASM_PPC_BITOPS_H

+#include <asm/memory.h>
+
+#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
+
 /* PPC bit number conversion */
-#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
-#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
-#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+#define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
+#define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
+#define PPC_BITMASK(bs, be)  ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
+
+/* Macro for generating the ***_bits() functions */
+#define DEFINE_BITOP(fn, op, prefix)                                    =
       \
+static inline void fn(unsigned long mask,                               =
       \
+        volatile unsigned int *_p)                                      =
       \
+{                                                                       =
       \
+    unsigned long old;                                                  =
       \
+    unsigned int *p =3D (unsigned int *)_p;                             =
         \
+    asm volatile (                                                      =
       \
+    prefix                                                              =
       \
+"1: lwarx %0,0,%3,0\n"                                                  =
       \
+    #op "%I2 %0,%0,%2\n"                                                =
       \
+    "stwcx. %0,0,%3\n"                                                  =
       \
+    "bne- 1b\n"                                                         =
       \
+    : "=3D&r" (old), "+m" (*p)                                          =
         \
+    : "rK" (mask), "r" (p)                                              =
       \
+    : "cc", "memory");                                                  =
       \
+}
+
+DEFINE_BITOP(set_bits, or, "")
+DEFINE_BITOP(change_bits, xor, "")
+
+#define DEFINE_CLROP(fn, prefix)                                        =
       \
+static inline void fn(unsigned long mask, volatile unsigned int *_p)    =
       \
+{                                                                       =
       \
+    unsigned long old;                                                  =
       \
+    unsigned int *p =3D (unsigned int *)_p;                             =
         \
+    asm volatile (                                                      =
       \
+    prefix                                                              =
       \
+"1: lwarx %0,0,%3,0\n"                                                  =
       \
+    "andc %0,%0,%2\n"                                                   =
       \
+    "stwcx. %0,0,%3\n"                                                  =
       \
+    "bne- 1b\n"                                                         =
       \
+    : "=3D&r" (old), "+m" (*p)                                          =
         \
+    : "r" (mask), "r" (p)                                               =
       \
+    : "cc", "memory");                                                  =
       \
+}
+
+DEFINE_CLROP(clear_bits, "")
+
+static inline void set_bit(int nr, volatile void *addr)
+{
+    set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(=
nr));
+}
+static inline void clear_bit(int nr, volatile void *addr)
+{
+    clear_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WOR=
D(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 long *p =3D (const volatile unsigned lon=
g *)addr;
+        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)=
));
+}
+
+static inline unsigned long test_and_clear_bits(unsigned long mask, vola=
tile void *_p)
+{
+    unsigned long old, t;
+    unsigned int *p =3D (unsigned int *)_p;
+
+    asm volatile (
+        PPC_ATOMIC_ENTRY_BARRIER
+        "1: lwarx %0,0,%3,0\n"
+        "andc %1,%0,%2\n"
+        "stwcx. %1,0,%3\n"
+        "bne- 1b\n"
+        PPC_ATOMIC_EXIT_BARRIER
+        : "=3D&r" (old), "=3D&r" (t)
+        : "r" (mask), "r" (p)
+        : "cc", "memory");
+
+    return (old & mask);
+}
+
+static inline int test_and_clear_bit(unsigned int nr,
+                                       volatile void *addr)
+{
+    return test_and_clear_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) !=3D=
 0;
+}
+
+#define DEFINE_TESTOP(fn, op, eh)                                       =
       \
+static inline unsigned long fn(                                         =
       \
+        unsigned long mask,                                             =
       \
+        volatile unsigned int *_p)                                      =
       \
+{                                                                       =
       \
+    unsigned long old, t;                                               =
       \
+    unsigned int *p =3D (unsigned int *)_p;                             =
         \
+    __asm__ __volatile__ (                                              =
       \
+    PPC_ATOMIC_ENTRY_BARRIER                                            =
       \
+"1:" "lwarx %0,0,%3,%4\n"                                               =
       \
+    #op "%I2 %1,%0,%2\n"                                                =
       \
+    "stwcx. %1,0,%3\n"                                                  =
       \
+    "bne- 1b\n"                                                         =
       \
+    PPC_ATOMIC_EXIT_BARRIER                                             =
       \
+    : "=3D&r" (old), "=3D&r" (t)                                        =
           \
+    : "rK" (mask), "r" (p), "n" (eh)                                    =
       \
+    : "cc", "memory");                                                  =
       \
+    return (old & mask);                                                =
       \
+}
+
+DEFINE_TESTOP(test_and_set_bits, or, 0)
+
+static inline int test_and_set_bit(unsigned long nr, volatile void *addr=
)
+{
+    return test_and_set_bits(BITOP_MASK(nr), (volatile unsigned int *)ad=
dr + BITOP_WORD(nr)) !=3D 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 =3D BITOP_MASK(nr);
+        volatile unsigned int *p =3D
+                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
+        unsigned int old =3D *p;
+
+        *p =3D old | mask;
+        return (old & mask) !=3D 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 =3D BITOP_MASK(nr);
+        volatile unsigned int *p =3D
+                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
+        unsigned int old =3D *p;
+
+        *p =3D old & ~mask;
+        return (old & mask) !=3D 0;
+}
+
+#define flsl(x) generic_flsl(x)
+#define fls(x) generic_fls(x)
+#define ffs(x) ({ unsigned int __t =3D (x); fls(__t & -__t); })
+#define ffsl(x) ({ unsigned long __t =3D (x); flsl(__t & -__t); })
+
+/* 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
+ *
+ * The Hamming Weight of a number is the total number of bits set in it.
+ */
+#define hweight64(x) generic_hweight64(x)
+#define hweight32(x) generic_hweight32(x)
+#define hweight16(x) generic_hweight16(x)
+#define hweight8(x) generic_hweight8(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);
+}
+
+/**
+ * find_first_set_bit - find the first set bit in @word
+ * @word: the word to search
+ *
+ * Returns the bit-number of the first set bit (first bit being 0).
+ * The input must *not* be zero.
+ */
+#define find_first_set_bit(x) ({ ffsl(x) - 1; })
+
+/*
+ * Find the first set bit in a memory region.
+ */
+static inline unsigned long find_first_bit(const unsigned long *addr,
+                                           unsigned long size)
+{
+    const unsigned long *p =3D addr;
+    unsigned long result =3D 0;
+    unsigned long tmp;
+
+    while (size & ~(BITS_PER_LONG-1)) {
+        if ((tmp =3D *(p++)))
+            goto found;
+        result +=3D BITS_PER_LONG;
+        size -=3D BITS_PER_LONG;
+    }
+    if (!size)
+        return result;
+
+    tmp =3D (*p) & (~0UL >> (BITS_PER_LONG - size));
+    if (tmp =3D=3D 0UL)        /* Are any bits set? */
+        return result + size;    /* Nope. */
+found:
+    return result + __ffs(tmp);
+}
+
+static inline unsigned long find_next_bit(const unsigned long *addr,
+                                          unsigned long size,
+                                          unsigned long offset)
+{
+    const unsigned long *p =3D addr + BITOP_WORD(offset);
+    unsigned long result =3D offset & ~(BITS_PER_LONG-1);
+    unsigned long tmp;
+
+    if (offset >=3D size)
+        return size;
+    size -=3D result;
+    offset %=3D BITS_PER_LONG;
+    if (offset) {
+        tmp =3D *(p++);
+        tmp &=3D (~0UL << offset);
+        if (size < BITS_PER_LONG)
+            goto found_first;
+        if (tmp)
+            goto found_middle;
+        size -=3D BITS_PER_LONG;
+        result +=3D BITS_PER_LONG;
+    }
+    while (size & ~(BITS_PER_LONG-1)) {
+        if ((tmp =3D *(p++)))
+            goto found_middle;
+        result +=3D BITS_PER_LONG;
+        size -=3D BITS_PER_LONG;
+    }
+    if (!size)
+        return result;
+    tmp =3D *p;
+
+found_first:
+    tmp &=3D (~0UL >> (BITS_PER_LONG - size));
+    if (tmp =3D=3D 0UL)        /* Are any bits set? */
+        return result + size;    /* Nope. */
+found_middle:
+    return result + __ffs(tmp);
+}
+
+/*
+ * This implementation of find_{first,next}_zero_bit was stolen from
+ * Linus' asm-alpha/bitops.h.
+ */
+static inline unsigned long find_next_zero_bit(const unsigned long *addr=
,
+                                               unsigned long size,
+                                               unsigned long offset)
+{
+    const unsigned long *p =3D addr + BITOP_WORD(offset);
+    unsigned long result =3D offset & ~(BITS_PER_LONG-1);
+    unsigned long tmp;
+
+    if (offset >=3D size)
+        return size;
+    size -=3D result;
+    offset %=3D BITS_PER_LONG;
+    if (offset) {
+        tmp =3D *(p++);
+        tmp |=3D ~0UL >> (BITS_PER_LONG - offset);
+        if (size < BITS_PER_LONG)
+            goto found_first;
+        if (~tmp)
+            goto found_middle;
+        size -=3D BITS_PER_LONG;
+        result +=3D BITS_PER_LONG;
+    }
+    while (size & ~(BITS_PER_LONG-1)) {
+        if (~(tmp =3D *(p++)))
+            goto found_middle;
+        result +=3D BITS_PER_LONG;
+        size -=3D BITS_PER_LONG;
+    }
+    if (!size)
+        return result;
+    tmp =3D *p;
+
+found_first:
+    tmp |=3D ~0UL << size;
+    if (tmp =3D=3D ~0UL)    /* Are any bits zero? */
+        return result + size;    /* Nope. */
+found_middle:
+    return result + ffz(tmp);
+}

 #endif /* _ASM_PPC_BITOPS_H */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589516.921487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8i-0005WA-FO; Wed, 23 Aug 2023 20:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589516.921487; Wed, 23 Aug 2023 20:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8i-0005Sg-5O; Wed, 23 Aug 2023 20:07:40 +0000
Received: by outflank-mailman (input) for mailman id 589516;
 Wed, 23 Aug 2023 20:07:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8g-0004Vt-A0
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:38 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3144e82-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 886A58285AAD;
 Wed, 23 Aug 2023 15:07: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 JI6P4Lpkb6Si; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7F1E082869C3;
 Wed, 23 Aug 2023 15:07: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 1aMetp_PCimj; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 23104828673D;
 Wed, 23 Aug 2023 15:07: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: b3144e82-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7F1E082869C3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821253; bh=GeGECnKBSpninCMh4v2k/q/3WkfOACULzVkAztOkkWU=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=gk5eRib8yTv1SeODNU176oFuRMTBaL0ZyZHLBO1Pfc1giUpmLfSJYTP2gFFypnMhQ
	 Yw7vVLuCqgsgqR//uUzSu34Jv391y1PpI4INmGLNtAIyeAqMk0YFuCDlqOgdqT0OHy
	 SEiWFQ54jUp4HiX9vCkjjn1i01JFFn1C/ZTZZMIQ=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 6/8] xen/ppc: Define bug frames table in linker script
Date: Wed, 23 Aug 2023 15:07:17 -0500
Message-Id: <f81914771ec96a48adf25c55329aa5f739f174d0.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Define the bug frames table in ppc's linker script as is done by other
architectures.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v2: Add extra space to fix alignment of newly added lines
 xen/arch/ppc/xen.lds.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 2fa81d5a83..9e46035155 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -41,6 +41,16 @@ SECTIONS
     . =3D ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata =3D .;          /* Read-only data */
+        /* Bug frames table */
+        __start_bug_frames =3D .;
+        *(.bug_frames.0)
+        __stop_bug_frames_0 =3D .;
+        *(.bug_frames.1)
+        __stop_bug_frames_1 =3D .;
+        *(.bug_frames.2)
+        __stop_bug_frames_2 =3D .;
+        *(.bug_frames.3)
+        __stop_bug_frames_3 =3D .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589517.921494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8j-0005eU-3K; Wed, 23 Aug 2023 20:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589517.921494; Wed, 23 Aug 2023 20:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8i-0005cc-NO; Wed, 23 Aug 2023 20:07:40 +0000
Received: by outflank-mailman (input) for mailman id 589517;
 Wed, 23 Aug 2023 20:07:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8h-0004Vt-AL
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:39 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b332a71c-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B8ED582869C3;
 Wed, 23 Aug 2023 15:07: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 i6-Th2QQ6sdT; Wed, 23 Aug 2023 15:07:34 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0B02782869DC;
 Wed, 23 Aug 2023 15:07: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 ClzfHwa3dJBs; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id B696982869C8;
 Wed, 23 Aug 2023 15:07: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: b332a71c-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0B02782869DC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821254; bh=5754nu+iJhBZxY2tO6d/yrG6Rc1radbJWoxq94901VU=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=f22hjpPz42WvZjFyJa3bBUWF1e2GRayw9/iLIcXAQXfQGRI+u/SDwvbW8RJcnRV4n
	 RjpGUPAIRZNnTcnqiySQtb7uxhioippfdHgKEhEzsCpfIhuhO1EIbJA8ZIuahulRrp
	 FM4IF53Z+6DGdgkreRp3sFJja3Pc7s1rq7HYztVQ=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 8/8] xen/ppc: Enable full Xen build
Date: Wed, 23 Aug 2023 15:07:19 -0500
Message-Id: <95e3590bb5d70ff718a3e13999d86beda27d8066.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Bring ppc's Makefile and arch.mk in line with arm and x86 to disable the
build overrides and enable the full Xen build.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/ppc/Makefile | 16 +++++++++++++++-
 xen/arch/ppc/arch.mk  |  3 ---
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 969910b3b6..7b68b5ace2 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
 	cp -f $< $@

 $(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=3Dsysv $(dot-target).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).0.S
+	$(MAKE) $(build)=3D$(@D) $(dot-target).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(dot-target).0.o -o $(dot-target).1
+	$(NM) -pa --format=3Dsysv $(dot-target).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).1.S
+	$(MAKE) $(build)=3D$(@D) $(dot-target).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=3Dsysv $@ \
 		| $(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/ppc/arch.mk b/xen/arch/ppc/arch.mk
index d05cbf1df5..917ad0e6a8 100644
--- a/xen/arch/ppc/arch.mk
+++ b/xen/arch/ppc/arch.mk
@@ -7,6 +7,3 @@ CFLAGS +=3D -m64 -mlittle-endian -mcpu=3D$(ppc-march-y)
 CFLAGS +=3D -mstrict-align -mcmodel=3Dmedium -mabi=3Delfv2 -fPIC -mno-al=
tivec -mno-vsx -msoft-float

 LDFLAGS +=3D -m elf64lppc
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y =3D arch/$(SRCARCH)/built_in.o common/libfdt/built_i=
n.o lib/built_in.o
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589518.921513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8k-0006Bi-EA; Wed, 23 Aug 2023 20:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589518.921513; Wed, 23 Aug 2023 20: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 1qYu8k-0006AK-2u; Wed, 23 Aug 2023 20:07:42 +0000
Received: by outflank-mailman (input) for mailman id 589518;
 Wed, 23 Aug 2023 20:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8i-0004Vt-Am
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:40 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b34560b5-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D61A982869C8;
 Wed, 23 Aug 2023 15:07: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 eEVkNmHHpVgh; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B31DC828673D;
 Wed, 23 Aug 2023 15:07: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 9RMwogFN0qdf; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 707D98286986;
 Wed, 23 Aug 2023 15:07: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: b34560b5-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B31DC828673D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821253; bh=OP1yRYoT484rqbI/VcCziSHlG0pqVoiZy/oXsN7OFbo=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=Ne34v2THba4K9cV4fSHRAbwp4hlm4YzO/hcY0hOmz9XTnjB1a+xZN3k1Ec9rB/1Yf
	 TJhfj18I+3lQ6ckZ9oK5wDaT/aUEgKEeX1u7q+jAcQv/l4A6GE8iRmXCZ6iAliOrM3
	 VgFqOZEe9Rz6Rl/nJSuUzh3aRKkuQVIGXG2PJcFE=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 7/8] xen/ppc: Add stub function and symbol definitions
Date: Wed, 23 Aug 2023 15:07:18 -0500
Message-Id: <1fcde99f8eae396ac7741913e0a3b84039eb7adb.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Add stub function and symbol definitions required by common code. If the
file that the definition is supposed to be located in doesn't already
exist yet, temporarily place its definition in the new stubs.c

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Use BUG_ON("unimplemented") instead of BUG() for unimplemented functi=
ons
    to make searching easier.
  - (mm-radix.c) Drop total_pages definition
  - (mm-radix.c) Move __read_mostly from after variable name to before it=
 in
    declaration of `frametable_base_pdx`
  - (setup.c) Fix include order
  - (stubs.c) Drop stub .end hw_irq_controller hook

 xen/arch/ppc/Makefile   |   1 +
 xen/arch/ppc/mm-radix.c |  42 +++++
 xen/arch/ppc/setup.c    |   8 +
 xen/arch/ppc/stubs.c    | 345 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 396 insertions(+)
 create mode 100644 xen/arch/ppc/stubs.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index a059ac4c0a..969910b3b6 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.init.o
 obj-y +=3D mm-radix.o
 obj-y +=3D opal.o
 obj-y +=3D setup.o
+obj-y +=3D stubs.o
 obj-y +=3D tlb-radix.o

 $(TARGET): $(TARGET)-syms
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 06129cef9c..3b30c8a15e 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -265,3 +265,45 @@ void __init setup_initial_pagetables(void)
     /* Turn on the MMU */
     enable_mmu();
 }
+
+/*
+ * TODO: Implement the functions below
+ */
+unsigned long __read_mostly frametable_base_pdx;
+
+void put_page(struct page_info *p)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_dump_shared_mem_info(void)
+{
+    BUG_ON("unimplemented");
+}
+
+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");
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    BUG_ON("unimplemented");
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    BUG_ON("unimplemented");
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    BUG_ON("unimplemented");
+}
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 0106e9c9da..3b07a39ecb 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -1,5 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
+#include <public/version.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
 #include <asm/mm.h>
@@ -38,3 +41,8 @@ void __init noreturn start_xen(unsigned long r3, unsign=
ed long r4,

     unreachable();
 }
+
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    BUG_ON("unimplemented");
+}
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
new file mode 100644
index 0000000000..f07b4186f5
--- /dev/null
+++ b/xen/arch/ppc/stubs.c
@@ -0,0 +1,345 @@
+/* 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 <public/vm_event.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 =3D { { [0] =3D 1UL } };
+
+/* time.c */
+
+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");
+}
+
+/* traps.c */
+
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_hypercall_tasklet_result(struct vcpu *v, long res)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_show_execution_state(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+/* shutdown.c */
+
+void machine_restart(unsigned int delay_millisecs)
+{
+    BUG_ON("unimplemented");
+}
+
+void machine_halt(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/* vm_event.c */
+
+void vm_event_fill_regs(vm_event_request_t *req)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_set_registers(struct vcpu *v, vm_event_response_t *rsp)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on PPC. */
+}
+
+/* domctl.c */
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    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");
+}
+
+static void ack_none(struct irq_desc *irq)
+{
+    BUG_ON("unimplemented");
+}
+
+hw_irq_controller no_irq_type =3D {
+    .typename =3D "none",
+    .startup =3D irq_startup_none,
+    .shutdown =3D irq_shutdown_none,
+    .enable =3D irq_enable_none,
+    .disable =3D irq_disable_none,
+    .ack =3D ack_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) ar=
g)
+{
+    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");
+}
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:07:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589519.921525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYu8m-0006hI-Gy; Wed, 23 Aug 2023 20:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589519.921525; Wed, 23 Aug 2023 20: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 1qYu8m-0006h3-D6; Wed, 23 Aug 2023 20:07:44 +0000
Received: by outflank-mailman (input) for mailman id 589519;
 Wed, 23 Aug 2023 20:07:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z2Dg=EI=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qYu8k-0004Vt-0Q
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:07:42 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b513dbc4-41f0-11ee-9b0c-b553b5be7939;
 Wed, 23 Aug 2023 22:07:38 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D1E6682854AE;
 Wed, 23 Aug 2023 15:07:37 -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 dcTAXJDuBkyU; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3873982868FA;
 Wed, 23 Aug 2023 15:07: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 nF0yzY36hzvc; Wed, 23 Aug 2023 15:07:33 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 7266E82854AE;
 Wed, 23 Aug 2023 15:07: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: b513dbc4-41f0-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3873982868FA
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692821253; bh=HJHTXHhHNpB7M0TwUJHdqIgAN7uZQPOfPJNQwoCc0tY=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=EiTUgW7OghMkZKZ7YBos1AkX/sksCRFyKGxBshQUpiV7TrkQJzOZCXliAfBBB61vM
	 lkP5Ib7A6NIlEI+dyV2ucdcLWRDZRzW+1j93UzIYPn0rfaVEER4vNd+RtVMojji8uN
	 2iNtV3P8rpp/BFozx7LkU4uMm5CkQawS/uG6VmsQ=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@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>
Subject: [PATCH v2 5/8] xen/ppc: Define minimal stub headers required for full build
Date: Wed, 23 Aug 2023 15:07:16 -0500
Message-Id: <a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1692816595.git.sanastasio@raptorengineering.com>
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Additionally, change inclusion of asm/ headers to corresponding xen/ ones
throughout arch/ppc now that they work.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
v2:
  - Use BUG_ON("unimplemented") instead of BUG() for unimplemented functi=
ons
    to make searching easier.
  - (altp2m.h) Drop Intel license in favor of an SPDX header
  - (altp2m.h) Drop <xen/sched.h> include in favor of <xen/bug.h> and
    forward declarations of struct domain and struct vcpu.
  - (bug.h) Add TODO comments above BUG and BUG_FRAME implementations
  - (desc.h) Drop desc.h
  - (mm.h) Drop <asm/config.h> include
  - (mm.h) Drop PGC_static definition
  - (mm.h) Drop max_page definition
  - (mm.h/mm-radix.c) Drop total_pages definition
  - (monitor.h) Drop <xen/sched.h> and <public/domctl.h> includes in favo=
r
    of just <xen/errno.h>
  - (page.h) Drop PAGE_ALIGN definition
  - (percpu.h) Drop <xen/types.h> include
  - (procarea.h) Drop license text in favor of SPDX header
  - (procarea.h) Drop unnecessary forward declarations and <xen/types.h>
    include
  - (processor.h) Fix macro parameter naming (drop leading underscore)
  - (processor.h) Add explanation comment to cpu_relax()
  - (regs.h) Drop stray hunk adding <xen/types.h> include
  - (system.h) Drop license text in favor of SPDX header
  - (system.h) Drop <xen/config.h> include
  - (opal.c) Drop stray hunk changing opal.c includes

 xen/arch/ppc/Kconfig                     |   1 +
 xen/arch/ppc/include/asm/altp2m.h        |  25 +++
 xen/arch/ppc/include/asm/bug.h           |   9 +
 xen/arch/ppc/include/asm/cache.h         |   2 +
 xen/arch/ppc/include/asm/config.h        |   9 +
 xen/arch/ppc/include/asm/cpufeature.h    |   9 +
 xen/arch/ppc/include/asm/current.h       |  42 ++++
 xen/arch/ppc/include/asm/delay.h         |  11 +
 xen/arch/ppc/include/asm/device.h        |  53 +++++
 xen/arch/ppc/include/asm/div64.h         |  14 ++
 xen/arch/ppc/include/asm/domain.h        |  46 +++++
 xen/arch/ppc/include/asm/event.h         |  35 ++++
 xen/arch/ppc/include/asm/flushtlb.h      |  23 +++
 xen/arch/ppc/include/asm/grant_table.h   |   0
 xen/arch/ppc/include/asm/guest_access.h  |  54 +++++
 xen/arch/ppc/include/asm/guest_atomics.h |  14 ++
 xen/arch/ppc/include/asm/hardirq.h       |  18 ++
 xen/arch/ppc/include/asm/hypercall.h     |   0
 xen/arch/ppc/include/asm/io.h            |  15 ++
 xen/arch/ppc/include/asm/iocap.h         |   7 +
 xen/arch/ppc/include/asm/iommu.h         |   7 +
 xen/arch/ppc/include/asm/irq.h           |  32 +++
 xen/arch/ppc/include/asm/mem_access.h    |   0
 xen/arch/ppc/include/asm/mm.h            | 249 ++++++++++++++++++++++-
 xen/arch/ppc/include/asm/monitor.h       |  46 +++++
 xen/arch/ppc/include/asm/nospec.h        |  18 ++
 xen/arch/ppc/include/asm/numa.h          |  26 +++
 xen/arch/ppc/include/asm/p2m.h           | 105 ++++++++++
 xen/arch/ppc/include/asm/page.h          |  19 ++
 xen/arch/ppc/include/asm/paging.h        |   7 +
 xen/arch/ppc/include/asm/pci.h           |   7 +
 xen/arch/ppc/include/asm/percpu.h        |  24 +++
 xen/arch/ppc/include/asm/procarea.h      |  20 ++
 xen/arch/ppc/include/asm/processor.h     |  10 +
 xen/arch/ppc/include/asm/random.h        |   9 +
 xen/arch/ppc/include/asm/setup.h         |   6 +
 xen/arch/ppc/include/asm/smp.h           |  18 ++
 xen/arch/ppc/include/asm/softirq.h       |   8 +
 xen/arch/ppc/include/asm/spinlock.h      |  15 ++
 xen/arch/ppc/include/asm/system.h        | 229 ++++++++++++++++++++-
 xen/arch/ppc/include/asm/time.h          |  20 ++
 xen/arch/ppc/include/asm/vm_event.h      |  49 +++++
 xen/arch/ppc/include/asm/xenoprof.h      |   0
 xen/arch/ppc/mm-radix.c                  |   2 +-
 xen/arch/ppc/tlb-radix.c                 |   2 +-
 xen/include/public/hvm/save.h            |   2 +
 xen/include/public/pmu.h                 |   2 +
 xen/include/public/xen.h                 |   2 +
 48 files changed, 1317 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
 create mode 100644 xen/arch/ppc/include/asm/current.h
 create mode 100644 xen/arch/ppc/include/asm/delay.h
 create mode 100644 xen/arch/ppc/include/asm/device.h
 create mode 100644 xen/arch/ppc/include/asm/div64.h
 create mode 100644 xen/arch/ppc/include/asm/domain.h
 create mode 100644 xen/arch/ppc/include/asm/event.h
 create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
 create mode 100644 xen/arch/ppc/include/asm/grant_table.h
 create mode 100644 xen/arch/ppc/include/asm/guest_access.h
 create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
 create mode 100644 xen/arch/ppc/include/asm/hardirq.h
 create mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/arch/ppc/include/asm/io.h
 create mode 100644 xen/arch/ppc/include/asm/iocap.h
 create mode 100644 xen/arch/ppc/include/asm/iommu.h
 create mode 100644 xen/arch/ppc/include/asm/irq.h
 create mode 100644 xen/arch/ppc/include/asm/mem_access.h
 create mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/arch/ppc/include/asm/nospec.h
 create mode 100644 xen/arch/ppc/include/asm/numa.h
 create mode 100644 xen/arch/ppc/include/asm/p2m.h
 create mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/arch/ppc/include/asm/pci.h
 create mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/ppc/include/asm/procarea.h
 create mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/ppc/include/asm/setup.h
 create mode 100644 xen/arch/ppc/include/asm/smp.h
 create mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/ppc/include/asm/spinlock.h
 create mode 100644 xen/arch/ppc/include/asm/time.h
 create mode 100644 xen/arch/ppc/include/asm/vm_event.h
 create mode 100644 xen/arch/ppc/include/asm/xenoprof.h

diff --git a/xen/arch/ppc/Kconfig b/xen/arch/ppc/Kconfig
index ab116ffb2a..a6eae597af 100644
--- a/xen/arch/ppc/Kconfig
+++ b/xen/arch/ppc/Kconfig
@@ -1,6 +1,7 @@
 config PPC
 	def_bool y
 	select HAS_DEVICE_TREE
+	select HAS_PDX

 config PPC64
 	def_bool y
diff --git a/xen/arch/ppc/include/asm/altp2m.h b/xen/arch/ppc/include/asm=
/altp2m.h
new file mode 100644
index 0000000000..6faef7661e
--- /dev/null
+++ b/xen/arch/ppc/include/asm/altp2m.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_PPC_ALTP2M_H__
+#define __ASM_PPC_ALTP2M_H__
+
+#include <xen/bug.h>
+
+struct domain;
+struct vcpu;
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on PPC. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on PPC, should not be reached. */
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+#endif /* __ASM_PPC_ALTP2M_H__ */
diff --git a/xen/arch/ppc/include/asm/bug.h b/xen/arch/ppc/include/asm/bu=
g.h
index e5e874b31c..35d4568402 100644
--- a/xen/arch/ppc/include/asm/bug.h
+++ b/xen/arch/ppc/include/asm/bug.h
@@ -4,6 +4,7 @@
 #define _ASM_PPC_BUG_H

 #include <xen/stringify.h>
+#include <asm/processor.h>

 /*
  * Power ISA guarantees that an instruction consisting of all zeroes is
@@ -15,4 +16,12 @@

 #define BUG_FN_REG r0

+/* TODO: implement this properly */
+#define BUG() do { \
+    die(); \
+} while (0)
+
+/* TODO: implement this properly */
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do { } while (0)
+
 #endif /* _ASM_PPC_BUG_H */
diff --git a/xen/arch/ppc/include/asm/cache.h b/xen/arch/ppc/include/asm/=
cache.h
index 8a0a6b7b17..0d7323d789 100644
--- a/xen/arch/ppc/include/asm/cache.h
+++ b/xen/arch/ppc/include/asm/cache.h
@@ -3,4 +3,6 @@
 #ifndef _ASM_PPC_CACHE_H
 #define _ASM_PPC_CACHE_H

+#define __read_mostly __section(".data.read_mostly")
+
 #endif /* _ASM_PPC_CACHE_H */
diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm=
/config.h
index 30438d22d2..91ba0764cb 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -41,6 +41,15 @@

 #define XEN_VIRT_START _AC(0xc000000000000000, UL)

+#define VMAP_VIRT_START (XEN_VIRT_START + GB(1))
+#define VMAP_VIRT_SIZE  GB(1)
+
+#define FRAMETABLE_VIRT_START  (XEN_VIRT_START + GB(32))
+#define FRAMETABLE_SIZE        GB(32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
 #define SMP_CACHE_BYTES (1 << 6)

 #define STACK_ORDER 0
diff --git a/xen/arch/ppc/include/asm/cpufeature.h b/xen/arch/ppc/include=
/asm/cpufeature.h
new file mode 100644
index 0000000000..3552b9231d
--- /dev/null
+++ b/xen/arch/ppc/include/asm/cpufeature.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_PPC_CPUFEATURE_H__
+#define __ASM_PPC_CPUFEATURE_H__
+
+static inline int cpu_nr_siblings(unsigned int cpu)
+{
+    return 1;
+}
+
+#endif /* __ASM_PPC_CPUFEATURE_H__ */
diff --git a/xen/arch/ppc/include/asm/current.h b/xen/arch/ppc/include/as=
m/current.h
new file mode 100644
index 0000000000..87a854d6b0
--- /dev/null
+++ b/xen/arch/ppc/include/asm/current.h
@@ -0,0 +1,42 @@
+#ifndef __ASM_PPC_CURRENT_H__
+#define __ASM_PPC_CURRENT_H__
+
+#include <xen/percpu.h>
+
+#ifndef __ASSEMBLY__
+
+struct vcpu;
+
+/* 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 =3D (vcpu); } while (0)
+#define get_cpu_current(cpu)  (per_cpu(curr_vcpu, cpu))
+
+/* Per-VCPU state that lives at the top of the stack */
+struct cpu_info {
+    struct cpu_user_regs guest_cpu_user_regs;
+    unsigned long elr;
+    uint32_t flags;
+};
+
+static inline struct cpu_info *get_cpu_info(void)
+{
+#ifdef __clang__
+    unsigned long sp;
+
+    asm ("mr %0, 1" : "=3Dr" (sp));
+#else
+    register unsigned long sp asm ("r1");
+#endif
+
+    return (struct cpu_info *)((sp & ~(STACK_SIZE - 1)) +
+                               STACK_SIZE - sizeof(struct cpu_info));
+}
+
+#define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_PPC_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/delay.h b/xen/arch/ppc/include/asm/=
delay.h
new file mode 100644
index 0000000000..36be1775f8
--- /dev/null
+++ b/xen/arch/ppc/include/asm/delay.h
@@ -0,0 +1,11 @@
+#ifndef __ASM_PPC_DELAY_H__
+#define __ASM_PPC_DELAY_H__
+
+#include <xen/lib.h>
+
+static inline void udelay(unsigned long usecs)
+{
+    BUG_ON("unimplemented");
+}
+
+#endif /* __ASM_PPC_DELAY_H__ */
diff --git a/xen/arch/ppc/include/asm/device.h b/xen/arch/ppc/include/asm=
/device.h
new file mode 100644
index 0000000000..cb8454f605
--- /dev/null
+++ b/xen/arch/ppc/include/asm/device.h
@@ -0,0 +1,53 @@
+#ifndef __ASM_PPC_DEVICE_H__
+#define __ASM_PPC_DEVICE_H__
+
+enum device_type
+{
+    DEV_DT,
+    DEV_PCI,
+};
+
+struct device {
+    enum device_type type;
+#ifdef CONFIG_HAS_DEVICE_TREE
+    struct dt_device_node *of_node; /* Used by drivers imported from Lin=
ux */
+#endif
+};
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_GIC,
+    DEVICE_PCI_HOSTBRIDGE,
+    /* Use for error */
+    DEVICE_UNKNOWN,
+};
+
+struct device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* List of devices supported by this driver */
+    const struct dt_device_match *dt_match;
+    /*
+     * Device initialization.
+     *
+     * -EAGAIN is used to indicate that device probing is deferred.
+     */
+    int (*init)(struct dt_device_node *dev, const void *data);
+};
+
+typedef struct device device_t;
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") =3D {                                          \
+    .name =3D _namestr,                                               \
+    .class =3D _class,                                                \
+
+#define DT_DEVICE_END                                               \
+};
+
+#endif /* __ASM_PPC_DEVICE_H__ */
diff --git a/xen/arch/ppc/include/asm/div64.h b/xen/arch/ppc/include/asm/=
div64.h
new file mode 100644
index 0000000000..6959c3fb26
--- /dev/null
+++ b/xen/arch/ppc/include/asm/div64.h
@@ -0,0 +1,14 @@
+#ifndef __ASM_PPC_DIV64_H__
+#define __ASM_PPC_DIV64_H__
+
+#include <xen/types.h>
+
+#define do_div(n,base) ({                       \
+    uint32_t __base =3D (base);                   \
+    uint32_t __rem;                             \
+    __rem =3D ((uint64_t)(n)) % __base;           \
+    (n) =3D ((uint64_t)(n)) / __base;             \
+    __rem;                                      \
+})
+
+#endif /* __ASM_PPC_DIV64_H__ */
diff --git a/xen/arch/ppc/include/asm/domain.h b/xen/arch/ppc/include/asm=
/domain.h
new file mode 100644
index 0000000000..4ade3d484e
--- /dev/null
+++ b/xen/arch/ppc/include/asm/domain.h
@@ -0,0 +1,46 @@
+#ifndef __ASM_PPC_DOMAIN_H__
+#define __ASM_PPC_DOMAIN_H__
+
+#include <xen/xmalloc.h>
+#include <public/hvm/params.h>
+
+struct hvm_domain
+{
+    uint64_t              params[HVM_NR_PARAMS];
+};
+
+#define is_domain_direct_mapped(d) ((void)(d), 0)
+
+/* TODO: Implement */
+#define guest_mode(r) ({ (void) (r); BUG_ON("unimplemented"); 0; })
+
+struct arch_vcpu_io {
+};
+
+struct arch_vcpu {
+};
+
+struct arch_domain {
+    struct hvm_domain hvm;
+};
+
+#include <xen/sched.h>
+
+static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void)
+{
+    return xmalloc(struct vcpu_guest_context);
+}
+
+static inline void free_vcpu_guest_context(struct vcpu_guest_context *vg=
c)
+{
+    xfree(vgc);
+}
+
+struct guest_memory_policy {};
+static inline void update_guest_memory_policy(struct vcpu *v,
+                                              struct guest_memory_policy=
 *gmp)
+{}
+
+static inline void arch_vcpu_block(struct vcpu *v) {}
+
+#endif /* __ASM_PPC_DOMAIN_H__ */
diff --git a/xen/arch/ppc/include/asm/event.h b/xen/arch/ppc/include/asm/=
event.h
new file mode 100644
index 0000000000..3141127f31
--- /dev/null
+++ b/xen/arch/ppc/include/asm/event.h
@@ -0,0 +1,35 @@
+#ifndef __ASM_PPC_EVENT_H__
+#define __ASM_PPC_EVENT_H__
+
+#include <xen/lib.h>
+
+/* TODO: implement */
+static inline void vcpu_kick(struct vcpu *v) { BUG_ON("unimplemented"); =
}
+static inline void vcpu_mark_events_pending(struct vcpu *v) { BUG_ON("un=
implemented"); }
+static inline void vcpu_update_evtchn_irq(struct vcpu *v) { BUG_ON("unim=
plemented"); }
+static inline void vcpu_block_unless_event_pending(struct vcpu *v) { BUG=
_ON("unimplemented"); }
+
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+/* No arch specific virq definition now. Default to global. */
+static inline bool arch_virq_is_global(unsigned int virq)
+{
+    return true;
+}
+
+static inline int local_events_need_delivery(void)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+static inline void local_event_delivery_enable(void)
+{
+    BUG_ON("unimplemented");
+}
+
+#endif /* __ASM_PPC_EVENT_H__ */
diff --git a/xen/arch/ppc/include/asm/flushtlb.h b/xen/arch/ppc/include/a=
sm/flushtlb.h
new file mode 100644
index 0000000000..1af3bd2301
--- /dev/null
+++ b/xen/arch/ppc/include/asm/flushtlb.h
@@ -0,0 +1,23 @@
+#ifndef __ASM_PPC_FLUSHTLB_H__
+#define __ASM_PPC_FLUSHTLB_H__
+
+#include <xen/cpumask.h>
+
+/*
+ * Filter the given set of CPUs, removing those that definitely flushed =
their
+ * TLB since @page_timestamp.
+ */
+/* XXX lazy implementation just doesn't clear anything.... */
+static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timest=
amp) {}
+
+#define tlbflush_current_time()                 (0)
+
+static inline void page_set_tlbflush_timestamp(struct page_info *page)
+{
+    page->tlbflush_timestamp =3D tlbflush_current_time();
+}
+
+/* Flush specified CPUs' TLBs */
+void arch_flush_tlb_mask(const cpumask_t *mask);
+
+#endif /* __ASM_PPC_FLUSHTLB_H__ */
diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/includ=
e/asm/grant_table.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/guest_access.h b/xen/arch/ppc/inclu=
de/asm/guest_access.h
new file mode 100644
index 0000000000..1919e0566f
--- /dev/null
+++ b/xen/arch/ppc/include/asm/guest_access.h
@@ -0,0 +1,54 @@
+#ifndef __ASM_PPC_GUEST_ACCESS_H__
+#define __ASM_PPC_GUEST_ACCESS_H__
+
+#include <xen/mm.h>
+
+/* TODO */
+
+static inline unsigned long raw_copy_to_guest(void *to, const void *from=
, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+static inline unsigned long raw_copy_to_guest_flush_dcache(void *to, con=
st void *from,
+                                             unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+static inline unsigned long raw_copy_from_guest(void *to, const void *fr=
om, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+static inline unsigned long raw_clear_guest(void *to, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Copy data to guest physical address, then clean the region. */
+static inline unsigned long copy_to_guest_phys_flush_dcache(struct domai=
n *d,
+                                              paddr_t gpa,
+                                              void *buf,
+                                              unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+static inline int access_guest_memory_by_gpa(struct domain *d, paddr_t g=
pa, void *buf,
+                               uint32_t size, bool is_write)
+{
+    BUG_ON("unimplemented");
+}
+
+
+#define __raw_copy_to_guest raw_copy_to_guest
+#define __raw_copy_from_guest raw_copy_from_guest
+#define __raw_clear_guest raw_clear_guest
+
+/*
+ * Pre-validate a guest handle.
+ * Allows use of faster __copy_* functions.
+ */
+/* All PPC guests are paging mode external and hence safe */
+#define guest_handle_okay(hnd, nr) (1)
+#define guest_handle_subrange_okay(hnd, first, last) (1)
+
+#endif /* __ASM_PPC_GUEST_ACCESS_H__ */
diff --git a/xen/arch/ppc/include/asm/guest_atomics.h b/xen/arch/ppc/incl=
ude/asm/guest_atomics.h
new file mode 100644
index 0000000000..bf4f802a15
--- /dev/null
+++ b/xen/arch/ppc/include/asm/guest_atomics.h
@@ -0,0 +1,14 @@
+#ifndef __ASM_PPC_GUEST_ATOMICS_H__
+#define __ASM_PPC_GUEST_ATOMICS_H__
+
+#include <xen/lib.h>
+
+/* TODO: implement */
+#define guest_test_bit(d, nr, p)            ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+#define guest_clear_bit(d, nr, p)           ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+#define guest_set_bit(d, nr, p)             ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+#define guest_test_and_set_bit(d, nr, p)    ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+#define guest_test_and_clear_bit(d, nr, p)  ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+#define guest_test_and_change_bit(d, nr, p) ({ (void) (d); (void) (nr); =
(void) (p); BUG_ON("unimplemented"); false; })
+
+#endif /* __ASM_PPC_GUEST_ATOMICS_H__ */
diff --git a/xen/arch/ppc/include/asm/hardirq.h b/xen/arch/ppc/include/as=
m/hardirq.h
new file mode 100644
index 0000000000..51ef290961
--- /dev/null
+++ b/xen/arch/ppc/include/asm/hardirq.h
@@ -0,0 +1,18 @@
+#ifndef __ASM_PPC_HARDIRQ_H__
+#define __ASM_PPC_HARDIRQ_H__
+
+#include <xen/cache.h>
+
+typedef struct {
+        unsigned long __softirq_pending;
+        unsigned int __local_irq_count;
+} __cacheline_aligned irq_cpustat_t;
+
+#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t a=
bove */
+
+#define in_irq() (local_irq_count(smp_processor_id()) !=3D 0)
+
+#define irq_enter()     (local_irq_count(smp_processor_id())++)
+#define irq_exit()      (local_irq_count(smp_processor_id())--)
+
+#endif /* __ASM_PPC_HARDIRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/hypercall.h b/xen/arch/ppc/include/=
asm/hypercall.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/io.h b/xen/arch/ppc/include/asm/io.=
h
new file mode 100644
index 0000000000..f8f3bd6ff7
--- /dev/null
+++ b/xen/arch/ppc/include/asm/io.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_PPC_IO_H__
+#define __ASM_PPC_IO_H__
+
+#include <xen/lib.h>
+
+/* TODO */
+#define readb(c)                ({ (void)(c); BUG_ON("unimplemented"); 0=
; })
+#define readw(c)                ({ (void)(c); BUG_ON("unimplemented"); 0=
; })
+#define readl(c)                ({ (void)(c); BUG_ON("unimplemented"); 0=
; })
+
+#define writeb(v,c)             ({ (void)(v); (void)(c); BUG_ON("unimple=
mented"); })
+#define writew(v,c)             ({ (void)(v); (void)(c); BUG_ON("unimple=
mented"); })
+#define writel(v,c)             ({ (void)(v); (void)(c); BUG_ON("unimple=
mented"); })
+
+#endif /* __ASM_PPC_IO_H__ */
diff --git a/xen/arch/ppc/include/asm/iocap.h b/xen/arch/ppc/include/asm/=
iocap.h
new file mode 100644
index 0000000000..16ae0cf1c8
--- /dev/null
+++ b/xen/arch/ppc/include/asm/iocap.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_IOCAP_H__
+#define __ASM_PPC_IOCAP_H__
+
+#define cache_flush_permitted(d)                        \
+    (!rangeset_is_empty((d)->iomem_caps))
+
+#endif /* __ASM_PPC_IOCAP_H__ */
diff --git a/xen/arch/ppc/include/asm/iommu.h b/xen/arch/ppc/include/asm/=
iommu.h
new file mode 100644
index 0000000000..fb1a381518
--- /dev/null
+++ b/xen/arch/ppc/include/asm/iommu.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_IOMMU_H__
+#define __ASM_PPC_IOMMU_H__
+
+struct arch_iommu {
+};
+
+#endif /* __ASM_PPC_IOMMU_H__ */
diff --git a/xen/arch/ppc/include/asm/irq.h b/xen/arch/ppc/include/asm/ir=
q.h
new file mode 100644
index 0000000000..99d30dd2bf
--- /dev/null
+++ b/xen/arch/ppc/include/asm/irq.h
@@ -0,0 +1,32 @@
+#ifndef __ASM_PPC_IRQ_H__
+#define __ASM_PPC_IRQ_H__
+
+#include <xen/lib.h>
+#include <xen/device_tree.h>
+#include <public/device_tree_defs.h>
+
+/* TODO */
+#define nr_irqs 0U
+#define nr_static_irqs 0
+#define arch_hwdom_irqs(domid) 0U
+
+#define domain_pirq_to_irq(d, pirq) (pirq)
+
+struct arch_pirq {
+};
+
+struct arch_irq_desc {
+    unsigned int type;
+};
+
+static inline void arch_move_irqs(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+static inline int platform_get_irq(const struct dt_device_node *device, =
int index)
+{
+    BUG_ON("unimplemented");
+}
+
+#endif /* __ASM_PPC_IRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/mem_access.h b/xen/arch/ppc/include=
/asm/mem_access.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.=
h
index c85a7ed686..2303a89e50 100644
--- a/xen/arch/ppc/include/asm/mm.h
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -1,10 +1,23 @@
 #ifndef _ASM_PPC_MM_H
 #define _ASM_PPC_MM_H

+#include <public/xen.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+#include <asm/config.h>
 #include <asm/page-bits.h>

+void setup_initial_pagetables(void);
+
 #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))

 #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
 #define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
@@ -13,6 +26,240 @@
 #define __pa(x)             (virt_to_maddr(x))
 #define __va(x)             (maddr_to_virt(x))

-void setup_initial_pagetables(void);
+/* Convert between Xen-heap virtual addresses and machine frame numbers.=
 */
+#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
+#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
+
+/* 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;
+}
+
+/*
+ * 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)
+
+#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.              =
   */
+
+ /* 2-bit count of uses of this frame as its current type. */
+#define PGT_count_mask    PG_mask(3, 3)
+
+/* 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) =3D=3D PGC_s=
tate_##st)
+/* Page is not reference counted */
+#define _PGC_extra        PG_shift(10)
+#define PGC_extra         PG_mask(1, 10)
+
+/* Count of references to this frame. */
+#define PGC_count_width   PG_shift(10)
+#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
+
+/*
+ * Page needs to be scrubbed. Since this bit can only be set on a page t=
hat 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
+
+#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) >=3D virt_to_maddr(&_start)) &&           \
+     (mfn_to_maddr(mfn) <=3D 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 =3D (_d))
+
+/* TODO: implement */
+#define mfn_valid(mfn) ({ (void) (mfn); 0; })
+
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define domain_set_alloc_bitsize(d) ((void)0)
+#define domain_clamp_alloc_bitsize(d, b) (b)
+
+#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
+
+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) !=3D 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) =3D=3D=
 0). */
+        union {
+            struct {
+                /*
+                 * Index of the first *possibly* unscrubbed page in the =
buddy.
+                 * One more bit than maximum possible order to accommoda=
te
+                 * 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, but not as a shadow. */
+        struct {
+            /* Owner of this page (zero 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 flushe=
s.
+         * Only valid for: a) free pages, and b) pages with zero type co=
unt
+         */
+        u32 tlbflush_timestamp;
+    };
+    u64 pad;
+};
+
+
+#define FRAMETABLE_VIRT_START  (XEN_VIRT_START + GB(32))
+#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)));
+}
+
+/*
+ * 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 ty=
pe)
+{
+    return 1;
+}
+
+static inline void put_page_type(struct page_info *page)
+{
+    return;
+}
+
+/* TODO */
+static inline bool get_page_nr(struct page_info *page, const struct doma=
in *domain,
+                        unsigned long nr)
+{
+    BUG_ON("unimplemented");
+}
+static inline void put_page_nr(struct page_info *page, unsigned long nr)
+{
+    BUG_ON("unimplemented");
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * PPC 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) =3D=3D SHARED_M2P_ENTRY)
+
+/* Xen always owns P2M on PPC */
+#define set_gpfn_from_mfn(mfn, pfn) do { (void) (mfn), (void)(pfn); } wh=
ile (0)
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define PDX_GROUP_SHIFT (16 + 5)
+
+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) a=
rg)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32; /* TODO */
+}
+
+/*
+ * On PPC, all the RAM is currently direct mapped in Xen.
+ * Hence return always true.
+ */
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned lo=
ng nr)
+{
+    return true;
+}

 #endif /* _ASM_PPC_MM_H */
diff --git a/xen/arch/ppc/include/asm/monitor.h b/xen/arch/ppc/include/as=
m/monitor.h
new file mode 100644
index 0000000000..f9e7dde08c
--- /dev/null
+++ b/xen/arch/ppc/include/asm/monitor.h
@@ -0,0 +1,46 @@
+/* Derived from xen/arch/arm/include/asm/monitor.h */
+#ifndef __ASM_PPC_MONITOR_H__
+#define __ASM_PPC_MONITOR_H__
+
+#include <public/domctl.h>
+#include <xen/errno.h>
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace=
)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_o=
p *mop)
+{
+    /* No arch-specific monitor ops on PPC. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on PPC. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on PPC. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    uint32_t capabilities =3D 0;
+
+    capabilities =3D (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST |
+                    1U << XEN_DOMCTL_MONITOR_EVENT_PRIVILEGED_CALL);
+
+    return capabilities;
+}
+
+#endif /* __ASM_PPC_MONITOR_H__ */
diff --git a/xen/arch/ppc/include/asm/nospec.h b/xen/arch/ppc/include/asm=
/nospec.h
new file mode 100644
index 0000000000..4d8ec923e9
--- /dev/null
+++ b/xen/arch/ppc/include/asm/nospec.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * From arch/arm/include/asm/nospec.h.
+ * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserve=
d.
+ */
+#ifndef __ASM_PPC_NOSPEC_H__
+#define __ASM_PPC_NOSPEC_H__
+
+static inline bool evaluate_nospec(bool condition)
+{
+    return condition;
+}
+
+static inline void block_speculation(void)
+{
+}
+
+#endif /* __ASM_PPC_NOSPEC_H__ */
diff --git a/xen/arch/ppc/include/asm/numa.h b/xen/arch/ppc/include/asm/n=
uma.h
new file mode 100644
index 0000000000..d857bba2ba
--- /dev/null
+++ b/xen/arch/ppc/include/asm/numa.h
@@ -0,0 +1,26 @@
+#ifndef __ASM_PPC_NUMA_H__
+#define __ASM_PPC_NUMA_H__
+
+#include <xen/types.h>
+#include <xen/mm.h>
+
+typedef uint8_t nodeid_t;
+
+/* Fake one node for now. See also node_online_map. */
+#define cpu_to_node(cpu) 0
+#define node_to_cpumask(node)   (cpu_online_map)
+
+/*
+ * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
+ * is required because the dummy helpers are using it.
+ */
+extern mfn_t first_valid_mfn;
+
+/* XXX: implement NUMA support */
+#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
+#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
+#define __node_distance(a, b) (20)
+
+#define arch_want_default_dmazone() (false)
+
+#endif /* __ASM_PPC_NUMA_H__ */
diff --git a/xen/arch/ppc/include/asm/p2m.h b/xen/arch/ppc/include/asm/p2=
m.h
new file mode 100644
index 0000000000..851e9f011a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/p2m.h
@@ -0,0 +1,105 @@
+#ifndef __ASM_PPC_P2M_H__
+#define __ASM_PPC_P2M_H__
+
+#include <asm/page-bits.h>
+
+#define paddr_bits PADDR_BITS
+
+/*
+ * List of possible type for each page in the p2m entry.
+ * The number of available bit per page in the pte for this purpose is 4=
 bits.
+ * So it's possible to only have 16 fields. If we run out of value in th=
e
+ * future, it's possible to use higher value for pseudo-type and don't s=
tore
+ * them in the p2m entry.
+ */
+typedef enum {
+    p2m_invalid =3D 0,    /* Nothing mapped here */
+    p2m_ram_rw,         /* Normal read/write guest RAM */
+    p2m_ram_ro,         /* Read-only; writes are silently dropped */
+    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO are=
a */
+    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-c=
acheable */
+    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cache=
able */
+    p2m_map_foreign_rw, /* Read/write RAM pages from foreign domain */
+    p2m_map_foreign_ro, /* Read-only RAM pages from foreign domain */
+    p2m_grant_map_rw,   /* Read/write grant mapping */
+    p2m_grant_map_ro,   /* Read-only grant mapping */
+    /* The types below are only used to decide the page attribute in the=
 P2M */
+    p2m_iommu_map_rw,   /* Read/write iommu mapping */
+    p2m_iommu_map_ro,   /* Read-only iommu mapping */
+    p2m_max_real_type,  /* Types after this won't be store in the p2m */
+} p2m_type_t;
+
+#include <xen/p2m-common.h>
+
+static inline int get_page_and_type(struct page_info *page,
+                                    struct domain *domain,
+                                    unsigned long type)
+{
+    BUG_ON("unimplemented");
+    return 1;
+}
+
+/* Look up a GFN and take a reference count on the backing page. */
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+static inline void memory_type_changed(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+
+static inline int guest_physmap_mark_populate_on_demand(struct domain *d=
, unsigned long gfn,
+                                                        unsigned int ord=
er)
+{
+    BUG_ON("unimplemented");
+    return 1;
+}
+
+static inline int guest_physmap_add_entry(struct domain *d,
+                            gfn_t gfn,
+                            mfn_t mfn,
+                            unsigned long page_order,
+                            p2m_type_t t)
+{
+    BUG_ON("unimplemented");
+    return 1;
+}
+
+/* Untyped version for RAM only, for compatibility */
+static inline int __must_check
+guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn,
+                       unsigned int page_order)
+{
+    return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
+}
+
+static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+    return _mfn(0);
+}
+
+static inline bool arch_acquire_resource_check(struct domain *d)
+{
+    /*
+     * The reference counting of foreign entries in set_foreign_p2m_entr=
y()
+     * is supported on PPC.
+     */
+    return true;
+}
+
+static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    /* Not supported on PPC. */
+}
+
+#endif /* __ASM_PPC_P2M_H__ */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/p=
age.h
index 3c90e8bf19..aef6d237a4 100644
--- a/xen/arch/ppc/include/asm/page.h
+++ b/xen/arch/ppc/include/asm/page.h
@@ -36,6 +36,9 @@
 #define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
 #define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)

+/* TODO */
+#define PAGE_HYPERVISOR 0
+
 /*
  * Radix Tree layout for 64KB pages:
  *
@@ -177,4 +180,18 @@ struct prtb_entry {

 void tlbie_all(void);

+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 /* _ASM_PPC_PAGE_H */
diff --git a/xen/arch/ppc/include/asm/paging.h b/xen/arch/ppc/include/asm=
/paging.h
new file mode 100644
index 0000000000..eccacece29
--- /dev/null
+++ b/xen/arch/ppc/include/asm/paging.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_PAGING_H__
+#define __ASM_PPC_PAGING_H__
+
+#define paging_mode_translate(d)              (1)
+#define paging_mode_external(d)               (1)
+
+#endif /* __ASM_PPC_PAGING_H__ */
diff --git a/xen/arch/ppc/include/asm/pci.h b/xen/arch/ppc/include/asm/pc=
i.h
new file mode 100644
index 0000000000..e76c8e5475
--- /dev/null
+++ b/xen/arch/ppc/include/asm/pci.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_PPC_PCI_H__
+#define __ASM_PPC_PCI_H__
+
+struct arch_pci_dev {
+};
+
+#endif /* __ASM_PPC_PCI_H__ */
diff --git a/xen/arch/ppc/include/asm/percpu.h b/xen/arch/ppc/include/asm=
/percpu.h
new file mode 100644
index 0000000000..e7c40c0f03
--- /dev/null
+++ b/xen/arch/ppc/include/asm/percpu.h
@@ -0,0 +1,24 @@
+#ifndef __PPC_PERCPU_H__
+#define __PPC_PERCPU_H__
+
+#ifndef __ASSEMBLY__
+
+extern char __per_cpu_start[], __per_cpu_data_end[];
+extern unsigned long __per_cpu_offset[NR_CPUS];
+void percpu_init_areas(void);
+
+#define smp_processor_id() 0 /* TODO: Fix this */
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, smp_processor_id()))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, smp_processor_id()))
+
+#endif
+
+#endif /* __PPC_PERCPU_H__ */
diff --git a/xen/arch/ppc/include/asm/procarea.h b/xen/arch/ppc/include/a=
sm/procarea.h
new file mode 100644
index 0000000000..97aef26ccb
--- /dev/null
+++ b/xen/arch/ppc/include/asm/procarea.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) IBM Corp. 2005
+ *
+ * Authors: Hollis Blanchard <hollisb@us.ibm.com>
+ */
+
+#ifndef _ASM_PROCAREA_H_
+#define _ASM_PROCAREA_H_
+
+struct processor_area
+{
+    unsigned int whoami;
+    unsigned int hard_id;
+    struct vcpu *cur_vcpu;
+    void *hyp_stack_base;
+    unsigned long saved_regs[2];
+};
+
+#endif
diff --git a/xen/arch/ppc/include/asm/processor.h b/xen/arch/ppc/include/=
asm/processor.h
index 6b70569eb8..0e651d0aa9 100644
--- a/xen/arch/ppc/include/asm/processor.h
+++ b/xen/arch/ppc/include/asm/processor.h
@@ -110,6 +110,10 @@
 /* Macro to adjust thread priority for hardware multithreading */
 #define HMT_very_low()  asm volatile ( "or %r31, %r31, %r31" )

+/* TODO: This isn't correct */
+#define cpu_to_core(cpu)   (0)
+#define cpu_to_socket(cpu) (0)
+
 /*
  * User-accessible registers: most of these need to be saved/restored
  * for every nested Xen invocation.
@@ -178,6 +182,12 @@ static inline void noreturn die(void)
         HMT_very_low();
 }

+/*
+ * Implemented on pre-POWER10 by setting HMT to low then to medium using
+ * the special OR forms. See HMT_very_low above.
+ */
+#define cpu_relax() asm volatile ( "or %r1, %r1, %r1; or %r2, %r2, %r2" =
)
+
 #endif /* __ASSEMBLY__ */

 #endif /* _ASM_PPC_PROCESSOR_H */
diff --git a/xen/arch/ppc/include/asm/random.h b/xen/arch/ppc/include/asm=
/random.h
new file mode 100644
index 0000000000..2f9e9bbae4
--- /dev/null
+++ b/xen/arch/ppc/include/asm/random.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_PPC_RANDOM_H__
+#define __ASM_PPC_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_PPC_RANDOM_H__ */
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/=
setup.h
new file mode 100644
index 0000000000..e4f64879b6
--- /dev/null
+++ b/xen/arch/ppc/include/asm/setup.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_PPC_SETUP_H__
+#define __ASM_PPC_SETUP_H__
+
+#define max_init_domid (0)
+
+#endif /* __ASM_PPC_SETUP_H__ */
diff --git a/xen/arch/ppc/include/asm/smp.h b/xen/arch/ppc/include/asm/sm=
p.h
new file mode 100644
index 0000000000..eca43f0e6c
--- /dev/null
+++ b/xen/arch/ppc/include/asm/smp.h
@@ -0,0 +1,18 @@
+#ifndef __ASM_SMP_H
+#define __ASM_SMP_H
+
+#include <xen/cpumask.h>
+#include <xen/percpu.h>
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when w=
e
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+#endif
diff --git a/xen/arch/ppc/include/asm/softirq.h b/xen/arch/ppc/include/as=
m/softirq.h
new file mode 100644
index 0000000000..a0b28a5e51
--- /dev/null
+++ b/xen/arch/ppc/include/asm/softirq.h
@@ -0,0 +1,8 @@
+#ifndef __ASM_PPC_SOFTIRQ_H__
+#define __ASM_PPC_SOFTIRQ_H__
+
+#define NR_ARCH_SOFTIRQS 0
+
+#define arch_skip_send_event_check(cpu) 0
+
+#endif /* __ASM_PPC_SOFTIRQ_H__ */
diff --git a/xen/arch/ppc/include/asm/spinlock.h b/xen/arch/ppc/include/a=
sm/spinlock.h
new file mode 100644
index 0000000000..4bdb4b1e98
--- /dev/null
+++ b/xen/arch/ppc/include/asm/spinlock.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_SPINLOCK_H
+#define __ASM_SPINLOCK_H
+
+#define arch_lock_acquire_barrier() smp_mb()
+#define arch_lock_release_barrier() smp_mb()
+
+#define arch_lock_relax() cpu_relax()
+#define arch_lock_signal()
+#define arch_lock_signal_wmb()      \
+({                                  \
+    smp_wmb();                      \
+    arch_lock_signal();             \
+})
+
+#endif /* __ASM_SPINLOCK_H */
diff --git a/xen/arch/ppc/include/asm/system.h b/xen/arch/ppc/include/asm=
/system.h
index 94091df644..7cef54e822 100644
--- a/xen/arch/ppc/include/asm/system.h
+++ b/xen/arch/ppc/include/asm/system.h
@@ -1,6 +1,233 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) IBM Corp. 2005
+ * Copyright (C) Raptor Engineering LLC
+ *
+ * Authors: Jimi Xenidis <jimix@watson.ibm.com>
+ *          Shawn Anastasio <sanastasio@raptorengineering.com>
+ */
+
 #ifndef _ASM_SYSTEM_H_
 #define _ASM_SYSTEM_H_

-#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
+#include <xen/lib.h>
+#include <asm/memory.h>
+#include <asm/time.h>
+#include <asm/processor.h>
+#include <asm/msr.h>
+
+#define xchg(ptr,x) 							       \
+({									       \
+	__typeof__(*(ptr)) _x_ =3D (x);					       \
+	(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr)));=
 \
+})
+
+#define build_xchg(fn, type, ldinsn, stinsn) \
+static inline unsigned long \
+fn(volatile type *m, unsigned long val) \
+{ \
+    unsigned long dummy; \
+                                                    \
+    __asm__ __volatile__(                           \
+    PPC_ATOMIC_ENTRY_BARRIER                        \
+"1: " ldinsn " %0,0,%3\n"                           \
+    stinsn " %2,0,%3\n"                             \
+"2:  bne- 1b"                                       \
+    PPC_ATOMIC_EXIT_BARRIER                         \
+    : "=3D&r" (dummy), "=3Dm" (*m)                      \
+    : "r" (val), "r" (m)                            \
+    : "cc", "memory");                              \
+    return dummy;                                   \
+}
+
+build_xchg(__xchg_u8, uint8_t, "lbarx", "stbcx.")
+build_xchg(__xchg_u16, uint16_t, "lharx", "sthcx.")
+build_xchg(__xchg_u32, uint32_t, "lwarx", "stwcx.")
+build_xchg(__xchg_u64, uint64_t, "ldarx", "stdcx.")
+
+#undef build_xchg
+
+/*
+ * This function doesn't exist, so you'll get a linker error
+ * if something tries to do an invalid xchg().
+ */
+extern void __xchg_called_with_bad_pointer(void);
+
+static inline unsigned long
+__xchg(volatile void *ptr, unsigned long x, int size)
+{
+    switch (size) {
+    case 1:
+        return __xchg_u8(ptr, x);
+    case 2:
+        return __xchg_u16(ptr, x);
+    case 4:
+        return __xchg_u32(ptr, x);
+    case 8:
+        return __xchg_u64(ptr, x);
+    }
+    __xchg_called_with_bad_pointer();
+    return x;
+}
+
+
+static inline unsigned long
+__cmpxchg_u32(volatile int *p, int old, int new)
+{
+    unsigned int prev;
+
+    __asm__ __volatile__ (
+    PPC_ATOMIC_ENTRY_BARRIER
+"1: lwarx   %0,0,%2     # __cmpxchg_u32\n\
+    cmpw    0,%0,%3\n\
+    bne-    2f\n\
+    stwcx.  %4,0,%2\n\
+    bne-    1b"
+    PPC_ATOMIC_EXIT_BARRIER
+    "\n\
+2:"
+    : "=3D&r" (prev), "=3Dm" (*p)
+    : "r" (p), "r" (old), "r" (new), "m" (*p)
+    : "cc", "memory");
+
+    return prev;
+}
+
+static inline unsigned long
+__cmpxchg_u64(volatile long *p, unsigned long old, unsigned long new)
+{
+    unsigned long prev;
+
+    __asm__ __volatile__ (
+    PPC_ATOMIC_ENTRY_BARRIER
+"1: ldarx   %0,0,%2     # __cmpxchg_u64\n\
+    cmpd    0,%0,%3\n\
+    bne-    2f\n\
+    stdcx.  %4,0,%2\n\
+    bne-    1b"
+    PPC_ATOMIC_EXIT_BARRIER
+    "\n\
+2:"
+    : "=3D&r" (prev), "=3Dm" (*p)
+    : "r" (p), "r" (old), "r" (new), "m" (*p)
+    : "cc", "memory");
+
+    return prev;
+}
+
+/* This function doesn't exist, so you'll get a linker error
+   if something tries to do an invalid cmpxchg().  */
+extern void __cmpxchg_called_with_bad_pointer(void);
+
+static always_inline unsigned long
+__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int =
size)
+{
+    switch (size) {
+    case 2:
+        BUG_ON("unimplemented"); return 0; /* XXX implement __cmpxchg_u1=
6 ? */
+    case 4:
+        return __cmpxchg_u32(ptr, old, new);
+    case 8:
+        return __cmpxchg_u64(ptr, old, new);
+    }
+    __cmpxchg_called_with_bad_pointer();
+    return old;
+}
+
+#define cmpxchg_user(ptr,o,n) cmpxchg(ptr,o,n)
+
+#define cmpxchg(ptr,o,n)                         \
+  ({                                     \
+     __typeof__(*(ptr)) _o_ =3D (o);                   \
+     __typeof__(*(ptr)) _n_ =3D (n);                   \
+     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,       \
+                    (unsigned long)_n_, sizeof(*(ptr))); \
+  })
+
+
+/*
+ * Memory barrier.
+ * The sync instruction guarantees that all memory accesses initiated
+ * by this processor have been performed (with respect to all other
+ * mechanisms that access memory).  The eieio instruction is a barrier
+ * providing an ordering (separately) for (a) cacheable stores and (b)
+ * loads and stores to non-cacheable memory (e.g. I/O devices).
+ *
+ * mb() prevents loads and stores being reordered across this point.
+ * rmb() prevents loads being reordered across this point.
+ * wmb() prevents stores being reordered across this point.
+ * read_barrier_depends() prevents data-dependent loads being reordered
+ *  across this point (nop on PPC).
+ *
+ * We have to use the sync instructions for mb(), since lwsync doesn't
+ * order loads with respect to previous stores.  Lwsync is fine for
+ * rmb(), though.
+ * For wmb(), we use sync since wmb is used in drivers to order
+ * stores to system memory with respect to writes to the device.
+ * However, smp_wmb() can be a lighter-weight eieio barrier on
+ * SMP since it is only used to order updates to system memory.
+ */
+#define mb()   __asm__ __volatile__ ("sync" : : : "memory")
+#define rmb()  __asm__ __volatile__ ("lwsync" : : : "memory")
+#define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
+#define read_barrier_depends()  do { } while(0)
+
+#define set_mb(var, value)  do { var =3D value; smp_mb(); } while (0)
+#define set_wmb(var, value) do { var =3D value; smp_wmb(); } while (0)
+
+#define smp_mb__before_atomic()    smp_mb()
+#define smp_mb__after_atomic()     smp_mb()
+
+#ifdef CONFIG_SMP
+#define smp_mb()    mb()
+#define smp_rmb()   rmb()
+#define smp_wmb()   __asm__ __volatile__ ("lwsync" : : : "memory")
+#define smp_read_barrier_depends()  read_barrier_depends()
+#else
+#define smp_mb()    __asm__ __volatile__("": : :"memory")
+#define smp_rmb()   __asm__ __volatile__("": : :"memory")
+#define smp_wmb()   __asm__ __volatile__("": : :"memory")
+#define smp_read_barrier_depends()  do { } while(0)
+#endif /* CONFIG_SMP */
+
+#define local_save_flags(flags) ((flags) =3D mfmsr())
+#define local_irq_restore(flags) do { \
+        __asm__ __volatile__("": : :"memory"); \
+        mtmsrd((flags)); \
+} while(0)
+
+static inline void local_irq_disable(void)
+{
+        unsigned long msr;
+        msr =3D mfmsr();
+        mtmsrd(msr & ~MSR_EE);
+        __asm__ __volatile__("" : : : "memory");
+}
+
+static inline void local_irq_enable(void)
+{
+        unsigned long msr;
+        __asm__ __volatile__("" : : : "memory");
+        msr =3D mfmsr();
+        mtmsrd(msr | MSR_EE);
+}
+
+static inline void __do_save_and_cli(unsigned long *flags)
+{
+    unsigned long msr;
+    msr =3D mfmsr();
+    *flags =3D msr;
+    mtmsrd(msr & ~MSR_EE);
+    __asm__ __volatile__("" : : : "memory");
+}
+
+#define local_irq_save(flags) __do_save_and_cli(&flags)
+
+static inline int local_irq_is_enabled(void)
+{
+    return !!(mfmsr() & MSR_EE);
+}
+
+#define arch_fetch_and_add(x, v) __sync_fetch_and_add(x, v)

 #endif /* _ASM_SYSTEM_H */
diff --git a/xen/arch/ppc/include/asm/time.h b/xen/arch/ppc/include/asm/t=
ime.h
new file mode 100644
index 0000000000..7872d3c15b
--- /dev/null
+++ b/xen/arch/ppc/include/asm/time.h
@@ -0,0 +1,20 @@
+#ifndef __ASM_PPC_TIME_H__
+#define __ASM_PPC_TIME_H__
+
+#include <xen/lib.h>
+#include <asm/processor.h>
+#include <asm/regs.h>
+
+struct vcpu;
+
+/* TODO: implement */
+static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG_O=
N("unimplemented"); }
+
+typedef unsigned long cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+	return mfspr(SPRN_TBRL);
+}
+
+#endif /* __ASM_PPC_TIME_H__ */
diff --git a/xen/arch/ppc/include/asm/vm_event.h b/xen/arch/ppc/include/a=
sm/vm_event.h
new file mode 100644
index 0000000000..346653f32a
--- /dev/null
+++ b/xen/arch/ppc/include/asm/vm_event.h
@@ -0,0 +1,49 @@
+#ifndef __ASM_PPC_VM_EVENT_H__
+#define __ASM_PPC_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <xen/vm_event.h>
+#include <public/domctl.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct v=
cpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t =
*rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Not supported on PPC. */
+}
+
+static inline
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Not supported on PPC. */
+}
+
+#endif /* __ASM_PPC_VM_EVENT_H__ */
diff --git a/xen/arch/ppc/include/asm/xenoprof.h b/xen/arch/ppc/include/a=
sm/xenoprof.h
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 3feeb90ebc..06129cef9c 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -1,13 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #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/mm.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 #include <asm/regs.h>
diff --git a/xen/arch/ppc/tlb-radix.c b/xen/arch/ppc/tlb-radix.c
index 3dde102c62..74213113e0 100644
--- a/xen/arch/ppc/tlb-radix.c
+++ b/xen/arch/ppc/tlb-radix.c
@@ -5,9 +5,9 @@
  *
  * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation.
  */
+#include <xen/bitops.h>
 #include <xen/stringify.h>

-#include <asm/bitops.h>
 #include <asm/msr.h>
 #include <asm/processor.h>

diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.=
h
index 464ebdb0da..2cf4238daa 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -89,6 +89,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
 #include "../arch-x86/hvm/save.h"
 #elif defined(__arm__) || defined(__aarch64__)
 #include "../arch-arm/hvm/save.h"
+#elif defined(__powerpc64__)
+#include "../arch-ppc.h"
 #else
 #error "unsupported architecture"
 #endif
diff --git a/xen/include/public/pmu.h b/xen/include/public/pmu.h
index eb87a81e7b..5a176b6ac3 100644
--- a/xen/include/public/pmu.h
+++ b/xen/include/public/pmu.h
@@ -11,6 +11,8 @@
 #include "arch-x86/pmu.h"
 #elif defined (__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined (__powerpc64__)
+#include "arch-ppc.h"
 #else
 #error "Unsupported architecture"
 #endif
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 920567e006..b812a0a324 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -16,6 +16,8 @@
 #include "arch-x86/xen.h"
 #elif defined(__arm__) || defined (__aarch64__)
 #include "arch-arm.h"
+#elif defined(__powerpc64__)
+#include "arch-ppc.h"
 #else
 #error "Unsupported architecture"
 #endif
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 20:30:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 20:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589578.921538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYuV9-0004uS-Iv; Wed, 23 Aug 2023 20:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589578.921538; Wed, 23 Aug 2023 20:30:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYuV9-0004uL-Ft; Wed, 23 Aug 2023 20:30:51 +0000
Received: by outflank-mailman (input) for mailman id 589578;
 Wed, 23 Aug 2023 20:30: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYuV8-0004uF-Ny
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 20:30:50 +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 f1439a16-41f3-11ee-8783-cb3800f73035;
 Wed, 23 Aug 2023 22:30:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 46A1F62194;
 Wed, 23 Aug 2023 20:30:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3DCF8C433C8;
 Wed, 23 Aug 2023 20:30: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: f1439a16-41f3-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692822646;
	bh=X8Cci+LH2FhyFEZkBXMrsneCOKhkqIjvkuxBMSUYfHQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ShsFKm3okSb0lpTqyy/Ll0goXzZP9SP+uu30OoDBRTOV42UI8tcBOghbrQ+M9hGiP
	 PDsX9HOfiULQr0D/5F5fWY5FJziC8Jr/mxQphOXCvcQf71+jNYbTDa1SQok7FeCGv+
	 1pDCyFfNN5lfp9hT1rPv5eqTiQpzTL/Vkmsxd2EZfwP+6Op5iBuC8y2U0HusTMs+2y
	 afT3MBscUgVghy1dXGVIXGR68Hi84SZ022515pft+JrGS9Fj7/bxtonV2FsL59sOlk
	 PJfCY+xOOma9EcYziy0ejzB+whIe/+6/G8ZGy8aL9oUxne2ycXIjWITzctgCaTzf0b
	 w0OaHc1FUdBMg==
Date: Wed, 23 Aug 2023 13:30:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    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 <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <59fad669-afc2-45e2-b647-8a0878774ba8@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308231327570.6458@ubuntu-linux-20-04-desktop>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com> <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org> <3b4d895999ad4fc51f280c8f7e854cab@bugseng.com> <59fad669-afc2-45e2-b647-8a0878774ba8@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, 23 Aug 2023, Julien Grall wrote:
> Hi Nicola,
> 
> On 23/08/2023 17:09, Nicola Vetrini wrote:
> > On 23/08/2023 16:59, Julien Grall wrote:
> > > Hi,
> > > 
> > > On 23/08/2023 15:27, Nicola Vetrini wrote:
> > > > Directive 4.3 prescribes the following:
> > > > "Assembly language shall be encapsulated and isolated",
> > > > on the grounds of improved readability and ease of maintenance.
> > > > The Directive is violated in this case by asm code in between C code.
> > > > 
> > > > A macro is the chosen encapsulation mechanism.
> > > 
> > > I would rather prefer if we use a static inline.
> > 
> > Just to prevent an possible back and forth on a similar patch:
> > is it ok to adopt the same approach with the inline asm in
> > xen/arch/arm/arm64/lib/bitops.c in the definition of the macros
> > 'bitop' and 'testop'?
> 
> So, in the VFP I agree that moving the assembly part outside of vfp_*_state()
> makes sense even without MISRA. But I don't agree with moving the assembly
> code out as the C function is tightly coupled with the assembly code.
> 
> So this would please MISRA but IHMO would make the code more difficult to
> understand. So I think we should deviate for the bitops.
> 
> Bertrand, Stefano, what do you think?

I agree. I think bitops.c is already encapsulated and introducing
additional macros or functions is likely to make the code worse. testop
and bitop are the encapsulating functions, as you can see there is very
little else other than the asm volatile and a do/while loop.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 21:18:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 21:18:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589587.921554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYvEk-0001Ni-Us; Wed, 23 Aug 2023 21:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589587.921554; Wed, 23 Aug 2023 21:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYvEk-0001Nb-Rs; Wed, 23 Aug 2023 21:17:58 +0000
Received: by outflank-mailman (input) for mailman id 589587;
 Wed, 23 Aug 2023 21:17:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYvEj-0001NR-DN
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 21:17:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYvEj-00041i-11; Wed, 23 Aug 2023 21:17:57 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYvEi-0000kM-Qd; Wed, 23 Aug 2023 21:17:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=ZRGDpuTDRWxPz1UzcFTFV1/LWNpLfTxqICK17Db/Uyw=; b=NDlQ+2RE+T+x1YUfxSXtMua+BX
	tvLVJe9WJ1wb2eqvH4wGWe2fs8b1Vlld7kxKSiXPaPiV1ZVWQCdC/sWnaZ/ODn1QCU3Tv95kWeFV/
	/ECJmq/5dwHqBtgSGj/+5qKF+wezxaWuhD/1wP4+02BPAwzsLTQVjbwWmj0jWGUhPRLM=;
Message-ID: <352bd670-ad44-4cf1-b73c-2f050a6b9a17@xen.org>
Date: Wed, 23 Aug 2023 22:17:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
 <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
 <AD09B38F-EE24-4163-8443-B6A86550F24D@arm.com>
 <9a0273a3-b7c0-46c9-8ba6-bfeaf57b91cb@xen.org>
In-Reply-To: <9a0273a3-b7c0-46c9-8ba6-bfeaf57b91cb@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 23/08/2023 19:08, Julien Grall wrote:
>>>> With the code movement, global variable max_vmid is used in multiple
>>>> files instead of a single file (and will be used in MPU P2M
>>>> implementation), declare it in the header and remove the "static" of
>>>> this variable.
>>>> Add #ifdef CONFIG_HAS_MMU to p2m_write_unlock() since future MPU
>>>> work does not need p2m_tlb_flush_sync().
>>>
>>> And there are no specific barrier required? Overall, I am not sure I 
>>> like the #ifdef rather than providing a stub helper.
>>
>> I think for MPU systems we donâ€™t need to flush the TLB, hence the #ifdef.
> 
> I wasn't necessarily thinking about a TLB flush but instead a DSB/DMB. 
> At least for the MMU case, I think that in theory we need a DSB when the 
> there is no TLB flush to ensure new entry in the page-tables are seen 
> before p2m_write_unlock() completes.
> 
> So far we are getting away because write_pte() always have a barrier 
> after. But at some point, I would like to remove it as this is a massive 
> hammer.
> 
>> Do you mean we should
>> provide a stub helper of p2m_tlb_flush_sync() for MPU? If so I think 
>> maybe the naming of this stub
>> helper is not really ideal?
> 
> See above. I am trying to understand the expected sequence when updating 
> the MPU tables. Are you going to add barriers after every update to the 
> entry?

I have looked at your branch mpu_v5. In theory the P2M can be modified 
at any point of the life-cycle of the domain. This means that another 
pCPU may have the regions loaded.

If that's the case then you would likely want to ensure the entries are 
synchronized. The easiest way would be to pause/unpause the domain when 
taking/releasing the lock. There might be other way, but this indicates 
that helper would be needed for the MPU.

That said, it is not clear to me if there is any use-case where you 
would want to update the P2M at runtime. If you have known, then you 
might be able to simply return an error if the P2M is modified after the 
domain was created.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 21:39:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 21:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589594.921563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYvZG-000434-IU; Wed, 23 Aug 2023 21:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589594.921563; Wed, 23 Aug 2023 21:39:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYvZG-00042x-Fx; Wed, 23 Aug 2023 21:39:10 +0000
Received: by outflank-mailman (input) for mailman id 589594;
 Wed, 23 Aug 2023 21:39:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYvZF-00042r-Fb
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 21:39:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYvZE-0004Nz-UC; Wed, 23 Aug 2023 21:39:08 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYvZE-0001Zo-Os; Wed, 23 Aug 2023 21:39:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=l9gJOLk3rHBcw2ve/yUZ9Cm+IeAsE5mMWTbtKBi5gYU=; b=ybmXgvDIqUvYZNwjH+3ymsRfFf
	Per6IThgj2L3+J28+ti9e0a6uyHNMbR6bSoLv3WQoEMASenyYadqUtqBdUxsv7ae3Zm1Sp4/HfnQD
	j7eBJnUT+WIzAblscdWBGVcHJi2tDbxzMNLBkSk5INj/MNPgFzc7zmaDb9/D2527ujY0=;
Message-ID: <a90b4307-a82b-45a7-9132-1a71f4f0d482@xen.org>
Date: Wed, 23 Aug 2023 22:39:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/13] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
To: Penny Zheng <penny.zheng@arm.com>, Henry Wang <Henry.Wang@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-12-Henry.Wang@arm.com>
 <5356f905-4b14-46b4-b5b4-c236989e1ec8@xen.org>
 <b23d8afb-281b-6de8-3046-674a45ff6494@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b23d8afb-281b-6de8-3046-674a45ff6494@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/08/2023 04:47, Penny Zheng wrote:
> Hi Julien

Hi Penny,

> On 2023/8/23 02:01, Julien Grall wrote:
>> Hi Henry,
>>
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Penny Zheng <penny.zheng@arm.com>
>>>
>>> Current P2M implementation is designed for MMU system only.
>>> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
>>> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
>>> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
>>> Also expose previously static functions p2m_vmid_allocator_init(),
>>> p2m_alloc_vmid(), __p2m_set_entry() and setup_virt_paging_one()
>>
>> Looking at the code, it seemsm that you need to keep expose 
>> __p2m_set_entry() because of p2m_relinquish_mapping(). However, it is 
>> not clear how this code is supposed to work for the MPU. So should we 
>> instead from p2m_relinquish_mapping() to mmu/p2m.c?
>>
> 
> p2m->root stores per-domain P2M table, which is actually an array of MPU
> region(pr_t). So maybe we should relinquish mapping region by region,
> instead of page by page. Nevertheless, p2m_relinquish_mapping() shall be
> moved to mmu/p2m.c and we need MPU version of it.
> 
>> Other functions which doesn't seem to make sense in p2m.c are:
>> Â Â  * p2m_clear_root_pages(): AFAIU there is no concept of root in the 
>> MPU. This also means that we possibly want to move out anything 
>> specific to the MMU from 'struct p2m'. This could be done separately.
> 
> Current MPU implementation is re-using p2m->root to store P2M table.
> Do you agree on this, or should we create a new variable, like 
> p2m->mpu_table, for MPU P2M table only?

I have looked at the mpu_v5 tree to check how you use p2m->root. The 
common pattern is:

table = (pr_t *)page_to_virt(p2m->root);

AFAICT the "root" is always mapped in your case. So this is a bit 
inneficient to have to convert from a page to virt every single time you 
need to modify the P2M.

Therefore it would be better to introduce something more specific to the 
MPU. Rather than introduce a field in the structure p2m, it would be 
better if we introduce a structure that would be defined in 
{mmu,mpu}/p2m.h, would include there specific fields and be embedded in 
struct p2m.

> How we treat p2m_clear_root_pages also decides how we destroy P2M at 
> domain destruction stage, current MPU flow is as follows:
> ```
>  Â Â Â  PROGRESS(mapping):
>  Â Â Â Â Â Â Â  ret = relinquish_p2m_mapping(d);
>  Â Â Â Â Â Â Â  if ( ret )
>  Â Â Â Â Â Â Â Â Â Â Â  return ret;
> 
>  Â Â Â  PROGRESS(p2m_root):
>  Â Â Â Â Â Â Â  /*
>  Â Â Â Â Â Â Â Â  * We are about to free the intermediate page-tables, so clear the
>  Â Â Â Â Â Â Â Â  * root to prevent any walk to use them.
>  Â Â Â Â Â Â Â Â  */
>  Â Â Â Â Â Â Â  p2m_clear_root_pages(&d->arch.p2m);
> 
> #ifdef CONFIG_HAS_PAGING_MEMPOOL
>  Â Â Â  PROGRESS(p2m):
>  Â Â Â Â Â Â Â  ret = p2m_teardown(d);
>  Â Â Â Â Â Â Â  if ( ret )
>  Â Â Â Â Â Â Â Â Â Â Â  return ret;
> 
>  Â Â Â  PROGRESS(p2m_pool):
>  Â Â Â Â Â Â Â  ret = p2m_teardown_allocation(d);
>  Â Â Â Â Â Â Â  if( ret )
>  Â Â Â Â Â Â Â Â Â Â Â  return ret;
> #endif
> ```
> We guard MMU-specific intermediate page-tables destroy with the new 
> Kconfig CONFIG_HAS_PAGING_MEMPOOL, check 
> https://gitlab.com/xen-project/people/henryw/xen/-/commit/7ff6d351e65f43fc34ea694adea0e030a51b1576
> for more details.
> 
> If we destroy MPU P2M table in relinquish_p2m_mapping, region by region,

It would seem to be better to handle it region by region. Note that you 
will still need to handle preemption and that may happen in the middle 
of the region (in particular if they are big).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 21:41:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 21:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589600.921573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYvbe-0005ZG-Uf; Wed, 23 Aug 2023 21:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589600.921573; Wed, 23 Aug 2023 21: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 1qYvbe-0005Z9-S5; Wed, 23 Aug 2023 21:41:38 +0000
Received: by outflank-mailman (input) for mailman id 589600;
 Wed, 23 Aug 2023 21:41: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 1qYvbd-0005Z1-Ip
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 21:41: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 1qYvbd-0004bF-76; Wed, 23 Aug 2023 21:41:37 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYvbd-0001dQ-03; Wed, 23 Aug 2023 21:41:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=6MXRR/V0olNLHzpA754gywBZykkrjki1ZAMf6CjQ47s=; b=bA57UFeK2K9q8ELmujbWuYgHKI
	jNsyvXZyVW3+n4dbwpHxcDyfYbclmXDMx8+X/7it79kxC1Y5kpb2wUOLkBZACyTpALmLNcbfs8pAH
	xvsCF1Fn/o83qv2hw+PW8A0dIm9qsuN8mglzHbPJSqDvS0ywM6g2YsE26hTqzMcUEong=;
Message-ID: <95eae735-b306-42d1-a1f0-68dcceb413a7@xen.org>
Date: Wed, 23 Aug 2023 22:41:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 13/19] asm/smp.h: Fix circular dependency for
 device_tree.h and rwlock.h
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-14-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-14-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Dynamic programming ops will modify the dt_host and there might be other
> function which are browsing the dt_host at the same time. To avoid the race
> conditions, we will need to add a rwlock to protect access to the dt_host.
> However, adding rwlock in device_tree.h causes following circular dependency:
>      device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h
> 
> To fix this, removed the "#include <xen/device_tree.h> and forward declared
> "struct dt_device_node".
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 22:07:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 22:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589610.921590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYw0G-0008Pj-1B; Wed, 23 Aug 2023 22:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589610.921590; Wed, 23 Aug 2023 22:07:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYw0F-0008Pc-Sy; Wed, 23 Aug 2023 22:07:03 +0000
Received: by outflank-mailman (input) for mailman id 589610;
 Wed, 23 Aug 2023 22:07:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYw0E-0008PU-49
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 22:07:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYw0D-00052r-Hx; Wed, 23 Aug 2023 22:07:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYw0D-0002dZ-D2; Wed, 23 Aug 2023 22: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>
DKIM-Signature: v=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=4GdTVlycM1Lt6UK+BDRm9UAv5uRmAcCByuVPxXBXJKA=; b=7IeH+JCO3fDSnx9x6BZKQm52Kn
	6xgBCTuvSIOuMxVlRVLtKXG0ILZ7uBtd3MCeadg2pppTpLUU0rIlMmii3MlNkzn5FfSBORmuqw1H6
	mp1ckjW/mC1xp+3ubAyra+GyjpI7QO/YaaPl5tXihS+yCm/EkUv56JWcmrMpjSbUsAUM=;
Message-ID: <d5e658e4-e30e-4783-8fcc-0bd93126abf3@xen.org>
Date: Wed, 23 Aug 2023 23:06:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 14/19] common/device_tree: Add rwlock for dt_host
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-15-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-15-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 19/08/2023 01:28, Vikram Garhwal wrote:
>   Dynamic programming ops will modify the dt_host and there might be other
>   function which are browsing the dt_host at the same time. To avoid the race

Typo: I think you want to write 'functions'

>   conditions, adding rwlock for browsing the dt_host during runtime. dt_host
>   writer will be added in the follow-up patch titled "xen/arm: Implement device
>   tree node addition functionalities."

I would prefer if we avoid mention the name of the follow-up commit. 
This will reduce the risk that the name of the commit is incorrect if we 
decide to commit this patch before the rest of the series is ready.

Also, the commit message seems to be indented. Was it intended?

> 
>   Reason behind adding rwlock instead of spinlock:
>      For now, dynamic programming is the sole modifier of dt_host in Xen during
>          run time. All other access functions like iommu_release_dt_device() are
>          just reading the dt_host during run-time. So, there is a need to protect
>          others from browsing the dt_host while dynamic programming is modifying
>          it. rwlock is better suitable for this task as spinlock won't be able to
>          differentiate between read and write access.

The indentation looks odd here as well.

> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v7:
>      Keep one lock for dt_host instead of lock for each node under dt_host.
> ---
> ---
>   xen/common/device_tree.c              |  5 +++++
>   xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
>   xen/include/xen/device_tree.h         |  6 ++++++
>   3 files changed, 26 insertions(+)

I am not sue where to put the comment. I noticed that you didn't touch 
iommu_remove_dt_device() and iommu_add_dt_device(). Does this mean the 
caller is expected to held the lock? If so, then this should be 
documented and an ASSERT() should be added.

> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index 0f10037745..6b934fe036 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
>   struct dt_device_node *dt_host;
>   /* Interrupt controller node*/
>   const struct dt_device_node *dt_interrupt_controller;
> +rwlock_t dt_host_lock;
>   
>   /**
>    * struct dt_alias_prop - Alias property in 'aliases' node
> @@ -2137,7 +2138,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
>   
>       dt_dprintk(" <- unflatten_device_tree()\n");
>   
> +    /* Init r/w lock for host device tree. */
> +    rwlock_init(&dt_host_lock);

Calling rwlock_init() from unflattent_device_tree() seems to be 
incorrect as it would lead to re-initialize the lock every time we are 
create a new DT overlay.

Instead you want to replace the definition of dt_host_lock with:

DEFINE_RWLOCK(dt_host_lock)

> +
>       return 0;
> +

Spurious change?

>   }
>   
>   static void dt_alias_add(struct dt_alias_prop *ap,
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 4cb32dc0b3..31815d2b60 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -114,6 +114,8 @@ int iommu_release_dt_devices(struct domain *d)
>       if ( !is_iommu_enabled(d) )
>           return 0;
>   
> +    read_lock(&dt_host_lock);
> +
>       list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
>       {
>           rc = iommu_deassign_dt_device(d, dev);

So iommu_deassign_dt_device() is now called with the read lock. I am 
assuming the intention is all the caller will need to fist held the 
lock. If so, then I think this would require an ASSERT() in 
iommu_deassign_dt_device() and a comment on top of the function because 
it is exported.

I am guessing that iommu_assign_dt_device() is in the same situation.


> @@ -121,10 +123,14 @@ int iommu_release_dt_devices(struct domain *d)
>           {
>               dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
>                       dt_node_full_name(dev), d->domain_id);
> +
> +            read_unlock(&dt_host_lock);

Coding style: Usually we add the newline before the return. So I would 
switch around the two lines.

>               return rc;
>           }
>       }
>   
> +    read_unlock(&dt_host_lock);
> +
>       return 0;
>   }
>   
> @@ -251,6 +257,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>       int ret;
>       struct dt_device_node *dev;
>   
> +    read_lock(&dt_host_lock);
> +
>       switch ( domctl->cmd )
>       {
>       case XEN_DOMCTL_assign_device:
> @@ -304,7 +312,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>           spin_unlock(&dtdevs_lock);
>   
>           if ( d == dom_io )
> +        {
> +            read_unlock(&dt_host_lock);
>               return -EINVAL;

NIT: Rather than adding the unlock here, you could use:

rc = -EINVAL;
break;

> +        }
>   
>           ret = iommu_add_dt_device(dev);
>           if ( ret < 0 )
> @@ -342,7 +353,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>               break;
>   
>           if ( d == dom_io )
> +        {
> +            read_unlock(&dt_host_lock);
>               return -EINVAL;
> +        }

NIT: Same here.

>   
>           ret = iommu_deassign_dt_device(d, dev);
>   
> @@ -357,5 +371,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>           break;
>       }
>   
> +    read_unlock(&dt_host_lock);

Coding style: Please add a newline.

>       return ret;
>   }
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index e507658b23..8191f30197 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -18,6 +18,7 @@
>   #include <xen/string.h>
>   #include <xen/types.h>
>   #include <xen/list.h>
> +#include <xen/rwlock.h>
>   
>   #define DEVICE_TREE_MAX_DEPTH 16
>   
> @@ -216,6 +217,11 @@ extern struct dt_device_node *dt_host;
>    */
>   extern const struct dt_device_node *dt_interrupt_controller;
>   
> +/*
> + * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
> + */

The wording suggests that any update to any node would require to hold 
the write lock. However.. it looks like you are only holding the read 
when setting is_protected in the SMMU remove callback. Is this intended?

Or maybe you expect is_protected by to protected by dtdevs_lock? If so, 
then I think it would be good to spell it out. Possibly on top of 
is_protected.

Lastly, there are plenty of place in Xen where the lock is not taken. 
They mostly seem to be at boot, so I would mention that for boot only 
code, then lock may not be taken.

Lastly, this is a single line comment, so the coding style should be:

/* ... */

> +extern rwlock_t dt_host_lock;
> +
>   /**
>    * Find the interrupt controller
>    * For the moment we handle only one interrupt controller: the first

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 22:19:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 22:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589617.921599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwCD-0001bI-0i; Wed, 23 Aug 2023 22:19:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589617.921599; Wed, 23 Aug 2023 22:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwCC-0001bB-UE; Wed, 23 Aug 2023 22:19:24 +0000
Received: by outflank-mailman (input) for mailman id 589617;
 Wed, 23 Aug 2023 22:19:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qYwCB-0001b5-B5
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 22:19:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYwC7-0005QT-60; Wed, 23 Aug 2023 22:19:19 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qYwC6-00033Q-Pv; Wed, 23 Aug 2023 22: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>
DKIM-Signature: v=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=33s2DgLQamOcLT2FRHeQPnLr2AQuUoKCZImE8zMUQDU=; b=2PbsnHGQUb+wuUqKPFtqCPZTNA
	78fDNdZeOeS/UPZY7kvOca8gXQe9pAryKph8rqGvDeS+hxEZDkwlnkX3i5o/7kfABBjRd/Vfs5iio
	vqQKDN/sGtOM1HA10kOHMylbdRpPExZVCVOx6A3+E/qb+zu4/kPl6Mt7dA1e681xopAg=;
Message-ID: <3bf898d4-b07f-4036-9b8e-15ec995252ed@xen.org>
Date: Wed, 23 Aug 2023 23:18:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 00/19] dynamic node programming using overlay dtbo
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, jbeulich@suse.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Rahul Singh <rahul.singh@arm.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230819002850.32349-1-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 19/08/2023 01:28, Vikram Garhwal wrote:
> Hi,

Hi Vikram,

> This patch series is for introducing dynamic programming i.e. add/remove the
> devices during run time. Using "xl dt_overlay" a device can be added/removed
> with dtbo.

Do you have any pointer where one can find more details about the dtbo? 
How can it be created? What's the internal device-tree format?

> 
> For adding a node using dynamic programming:
>      1. flatten device tree overlay node will be added to a fdt
>      2. Updated fdt will be unflattened to a new dt_host_new
>      3. Extract the newly added node information from dt_host_new
>      4. Add the added node under correct parent in original dt_host.
>      3. Map/Permit interrupt and iomem region as required.
> 
> For removing a node:
>      1. Find the node with given path.
>      2. Check if the node is used by any of domus. Removes the node only when
>          it's not used by any domain.
>      3. Removes IRQ permissions and MMIO access.
>      5. Find the node in dt_host and delete the device node entry from dt_host.
>      6. Free the overlay_tracker entry which means free dt_host_new also(created
> in adding node step).
> 
> The main purpose of this series to address first part of the dynamic programming
> i.e. making Xen aware of new device tree node which means updating the dt_host
> with overlay node information. Here we are adding/removing node from dt_host,
> and checking/set IOMMU and IRQ permission but never mapping them to any domain.
> Right now, mapping/Un-mapping will happen only when a new domU is
> created/destroyed using "xl create".

I am ok with this restriction. However are you planning to handle it 
because this goes out of tech preview?

The reason I am asking is, AFAICT, your code will not even look at the 
xen,passthrough (which is used to indicate that only permissions will be 
given). So if the ABI becomes stable, then we would need to invent a new 
property to say "Please map the device resources".

I would rather want the behavior of the dt-overlay to act the same as 
for the host DT. IOW, the device would be mapped to dom0 by default 
unless the propery "xen,passthrough" is added.

I would be OK to say that we don't currently support DT overlay if the 
property "xen,passthrough" is not present in the top-level node.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 22:19:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 22:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589622.921610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwCi-000298-Bv; Wed, 23 Aug 2023 22:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589622.921610; Wed, 23 Aug 2023 22: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 1qYwCi-000291-8y; Wed, 23 Aug 2023 22:19:56 +0000
Received: by outflank-mailman (input) for mailman id 589622;
 Wed, 23 Aug 2023 22:19: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYwCg-00027Z-QW
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 22:19:54 +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 2cf936c7-4203-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 00:19:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 722EA63FA0;
 Wed, 23 Aug 2023 22:19:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 65DE0C433C7;
 Wed, 23 Aug 2023 22:19:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cf936c7-4203-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692829188;
	bh=+SDmP6+LmLgdegbWEvwhVCvg7R9VgbWUfr2HWxu9cWc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aiPMueCJUjQMaHdbI437fjC2Af5Vw8H2pD4GrxVJLeeTt70eAio5fiCmLAnpj9uVR
	 N9vXreOam7q2wTCeaK5/fSmFPDAkdBwngYW8pQXW7fbDfRvjTNyc7icYDLMgvTeRpt
	 705BLketvgchYChvEYx1qjqCgGO99YF+52LMjkpeqtxLZP0V+FRx1BRwMH3BqTOmgr
	 KkanXlmfZ5NrAq8BMKQEHpLlaV2v/AfYMTGIRvYMAC/aEn18xpSMxvi74OvkcoVvjd
	 IuXrmWHh9f//jKDH7SaHMfj1KRsW6sS1ZznY4yvIUWVXLP+QNBr7SpW4vZkeMiSwgb
	 hDHuUalb6U6vA==
Date: Wed, 23 Aug 2023 15:19:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] docs/misra: add rule 2.1 exceptions
In-Reply-To: <19addc0d-973f-4c3a-8db5-0531e065fdde@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308231513110.6458@ubuntu-linux-20-04-desktop>
References: <20230823002458.2738365-1-sstabellini@kernel.org> <19addc0d-973f-4c3a-8db5-0531e065fdde@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, 23 Aug 2023, Julien Grall wrote:
> Hi Stefano,
> 
> On 23/08/2023 01:24, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > During the discussions that led to the acceptable of Rule 2.1, we
> > decided on a few exceptions that were not properly recorded in
> > rules.rst. Add them now.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> >   docs/misra/rules.rst | 13 ++++++++++++-
> >   1 file changed, 12 insertions(+), 1 deletion(-)
> > 
> > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > index b6d87e076b..8f38227994 100644
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -107,7 +107,18 @@ maintainers if you want to suggest a change.
> >      * - `Rule 2.1
> > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
> >        - Required
> >        - A project shall not contain unreachable code
> > -     -
> > +     - The following are allowed:
> > +         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM))
> > { S; }
> > +         - Switch with a controlling value statically determined not to
> > +           match one or more case statements
> > +         - Functions that are intended to be never referenced from C
> > +           code (e.g. 'do_trap_fiq')
> > +         - Unreachability caused by the certain macros/functions is
> > +           deliberate, e.g. BUG, assert_failed, panic, etc.
> 
> I find the wording quite ambiguous. How will an assessor be able to know this
> is deliberate? I think it would be better if this is based on a keyword in the
> code such as a function that has the attribute noreturn and/or there is an
> unreachable() statement.

You are right that it is not precise enough. I am thinking of changing
this to (also following Jan's suggestion):

Deliberate unreachability caused by certain macros/functions, e.g. BUG,
assert_failed, panic, etc. See safe.json.

In particular the important part is "See safe.json". Right now there is
nothing in safe.json about it, but it is should be the right place to
maintain the list of deviations and tags. Then we can add the tag at the
declaration site of BUG, panic, etc. Nicola is also checking if this
approach works with ECLAIR.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 22:20:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 22:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589623.921619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwCs-0003Cj-Ix; Wed, 23 Aug 2023 22:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589623.921619; Wed, 23 Aug 2023 22:20: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 1qYwCs-0003Cc-FS; Wed, 23 Aug 2023 22:20:06 +0000
Received: by outflank-mailman (input) for mailman id 589623;
 Wed, 23 Aug 2023 22:20: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYwCr-0001zt-4z
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 22:20: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 34d479b0-4203-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 00:20:04 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0C3FB63380;
 Wed, 23 Aug 2023 22:20:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00198C433C7;
 Wed, 23 Aug 2023 22:20: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: 34d479b0-4203-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692829202;
	bh=+BvySKB3zySm940naGwU4h0llPrfXLkKVWAeiXOt8Bs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JIveYnEz34Z1NpIBpOUa3igO97WDDO2amk6H/6RN1QOqq4ZW23Mqo5WBxxWiJwOJP
	 JPDiUN1bYxM+v6JX/SEXsB/QATQ6I8fho4zumiEU4+DH6V7V/VRtJdEzaPs5+U1I9N
	 Tuvi0GUQT0N88crGqOx5VboT+jRPKW+Fm4lZ3vBNxD+fZ/qniwPSGQpdiyg9bIFlHr
	 TTSztrk5pUh174JzoUdcq7nzwlHY4LAv/fFZ5RkvXx2tWqVceCpuehLuXi/xnyBRUn
	 lSAy0sqdQ9E+3/mEf5SglPwzw8TEILRFZEPxEaXUTH1ylMSj4FEMwX+Mg8PVs4NUaq
	 gX0LdkX9d6grg==
Date: Wed, 23 Aug 2023 15:19:59 -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, 
    roger.pau@citrix.com, julien@xen.org, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add rule 2.1 exceptions
In-Reply-To: <6776ed41-de83-91f5-d7f8-e84f65c65db7@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308231512490.6458@ubuntu-linux-20-04-desktop>
References: <20230823002458.2738365-1-sstabellini@kernel.org> <6776ed41-de83-91f5-d7f8-e84f65c65db7@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, 23 Aug 2023, Jan Beulich wrote:
> On 23.08.2023 02:24, Stefano Stabellini wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > During the discussions that led to the acceptable of Rule 2.1, we
> 
> Nit (as before): "acceptance"?
> 
> > decided on a few exceptions that were not properly recorded in
> > rules.rst. Add them now.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> >  docs/misra/rules.rst | 13 ++++++++++++-
> >  1 file changed, 12 insertions(+), 1 deletion(-)
> > 
> > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > index b6d87e076b..8f38227994 100644
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -107,7 +107,18 @@ maintainers if you want to suggest a change.
> >     * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
> >       - Required
> >       - A project shall not contain unreachable code
> > -     -
> > +     - The following are allowed:
> > +         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
> > +         - Switch with a controlling value statically determined not to
> > +           match one or more case statements
> > +         - Functions that are intended to be never referenced from C
> > +           code (e.g. 'do_trap_fiq')
> 
> Maybe better put it the other way around, "only referenced from assembly
> code"? This is because "never referenced from C" also includes truly
> unreferenced functions/data.
> 
> > +         - Unreachability caused by the certain macros/functions is
> > +           deliberate, e.g. BUG, assert_failed, panic, etc.
> 
> I think the "the" here wants dropping, and even then the result doesn't
> read very well imo. How about "Deliberate unreachability caused by
> certain macros/functions, e.g. BUG, assert_failed, panic, etc"?
> 
> > +         - asm-offsets.c, as they are not linked deliberately, because
> > +           they are used to generate definitions for asm modules
> > +         - declarations without initializer are safe, as they are not
> > +           executed
> 
> Provided additionally this sub-sub-bullet-list then also translates
> correctly to the various derived formats, then:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Yes I checked. Also thanks for the good suggestions, I'll make the
changes and resend.


From xen-devel-bounces@lists.xenproject.org Wed Aug 23 22:40:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 22:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589668.921647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwW2-0006a1-G8; Wed, 23 Aug 2023 22:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589668.921647; Wed, 23 Aug 2023 22:39:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYwW2-0006Zu-CS; Wed, 23 Aug 2023 22:39:54 +0000
Received: by outflank-mailman (input) for mailman id 589668;
 Wed, 23 Aug 2023 22:39: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYwW0-0006YH-9k
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 22:39:52 +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 f753d59c-4205-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 00:39:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DD4E560FAD;
 Wed, 23 Aug 2023 22:39:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AFE03C433C7;
 Wed, 23 Aug 2023 22:39: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: f753d59c-4205-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692830387;
	bh=E9W2QjNI6ycZiWfJtdywMvws2mKzbaJYzNzgODHfcXE=;
	h=From:To:Cc:Subject:Date:From;
	b=NYQWQOGeRY8HS9AhqMVQKvygbAeS1EjBZgwClaVUYnaP0BF9zRK+g+NN7EdDocQra
	 ZY1exZqUf3tcFmVypqAKJp9Pxx1RmOuaHrFiro4X5RcF3JLr3FPoYxFOiX9bwo3Trx
	 vRnvZITotpZOCNkYi1C3SDrZWvBkbtZjlRwx3ER+pAhHTqPJHf/Dd2neAHzZs3fPwY
	 c27aXLv72l7fVAnuudPN9WQZ0g7+AJl+zNFyNQIYVjSxeygYHExU+C4/aoAibPByWJ
	 MkjIOzPZlcm/W1PEo7ndDRZNpnm0Twlivh8XrndhBEYOfHNSkpwmN+YWCx1Y5sI9YL
	 ucwu6ZmG0nMZg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] docs/misra: add rule 2.1 exceptions
Date: Wed, 23 Aug 2023 15:39:42 -0700
Message-Id: <20230823223942.2981782-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

During the discussions that led to the acceptance of Rule 2.1, we
decided on a few exceptions that were not properly recorded in
rules.rst. Add them now.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Note that safe.json and the codebase are not yet updated with an
appropriate tag for BUG, panic and friends.

v2:
- fix typo in commit message
- use "only referenced from assembly"
- use "Deliberate unreachability caused by"
- add "See safe.json"
- add acked-by (although I also added "See safe.json")
---
 docs/misra/rules.rst | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 8f0e4d3f25..4f33ed4ba6 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -106,7 +106,18 @@ maintainers if you want to suggest a change.
    * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
      - Required
      - A project shall not contain unreachable code
-     -
+     - The following are allowed:
+         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
+         - Switch with a controlling value statically determined not to
+           match one or more case statements
+         - Functions that are intended to be referenced only from
+           assembly code (e.g. 'do_trap_fiq')
+         - Deliberate unreachability caused by certain macros/functions,
+           e.g. BUG, assert_failed, panic, etc. See safe.json.
+         - asm-offsets.c, as they are not linked deliberately, because
+           they are used to generate definitions for asm modules
+         - Declarations without initializer are safe, as they are not
+           executed
 
    * - `Rule 2.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_06.c>`_
      - Advisory
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 23:15:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 23:15:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589685.921663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYx41-0002sY-TG; Wed, 23 Aug 2023 23:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589685.921663; Wed, 23 Aug 2023 23:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYx41-0002sR-QX; Wed, 23 Aug 2023 23:15:01 +0000
Received: by outflank-mailman (input) for mailman id 589685;
 Wed, 23 Aug 2023 23:15: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=0q6w=EI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qYx40-0002sL-MM
 for xen-devel@lists.xenproject.org; Wed, 23 Aug 2023 23:15:00 +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 e0249049-420a-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 01:14:58 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7657763B11;
 Wed, 23 Aug 2023 23:14:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2DB9DC433C7;
 Wed, 23 Aug 2023 23:14:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0249049-420a-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692832495;
	bh=u5YxRFuGu2jZ9/pHKYs95TIDdXZRweR9403INlcXW90=;
	h=From:To:Cc:Subject:Date:From;
	b=lmAI0g46m0xI1NRvLgi6nRcZEeCdh1YbWvBKBbvnMNAvhi2de9OxAJpGpL59ipgOp
	 wicADG5n2d97uJ2fWrRWK5DZx6veAniGmrxVLeCsHFaRYNQjvYlo6y1Lqr1SCvcn/6
	 hpOv6yEN0CLdown5gvGvLfQEYBiP01t7EFeT+9JKrGixjdbZKkT95vnqav/tIfRBO4
	 jRZmJAw7+U1wwNSL9+8bOLftpZo8sLrdElZfGRvwz1GZwePobJJOacMOzykD9iV7R4
	 Yvjxpcxy9zTf97q0qmQnnErQMKzE4uDzcwpJtEKuBXmNAc6Oss3fC79LTYXczMivSZ
	 TBzn6Lel3exFA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	roberto.bagnara@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: add rules 10.1 10.2 10.3 10.4
Date: Wed, 23 Aug 2023 16:14:51 -0700
Message-Id: <20230823231451.2989262-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

10.1 with several caveats, described in the notes.
10.3 and 10.4 as "aspirational" guidelines, as clarified in the notes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 docs/misra/rules.rst | 52 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 4f33ed4ba6..2f16451703 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -318,6 +318,58 @@ maintainers if you want to suggest a change.
      - An element of an object shall not be initialized more than once
      -
 
+   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_01.c>`_
+     - Required
+     - Operands shall not be of an inappropriate essential type
+     - The following are allowed:
+         - Value-preserving conversions of integer constants
+         - Bitwise and, or, xor, one's complement, bitwise and assignment,
+           bitwise or assignment, bitwise xor assignment (bitwise and, or, xor
+           are safe on non-negative integers; also Xen assumes two's complement
+           representation)
+         - Left shift, right shift, left shift assignment, right shift
+           assignment (see C-language-toolchain.rst for assumptions on
+           compilers' extensions)
+         - Implicit conversions to boolean for logical operators' arguments
+
+   * - `Rule 10.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_02.c>`_
+     - Required
+     - Expressions of essentially character type shall not be used
+       inappropriately in addition and subtraction operations
+     -
+
+   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_03.c>`_
+     - Required
+     - The value of an expression shall not be assigned to an object
+       with a narrower essential type or of a dierent essential type
+       category
+     - Please beware that this rule has many violations in the Xen
+       codebase today, and its adoption is aspirational. However, when
+       submitting new patches please try to decrease the number of
+       violations when possible.
+
+       gcc has a helpful warning that can help you spot and remove
+       violations of this kind: conversion. For instance, you can use
+       it as follows:
+
+       cd xen; CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make
+
+   * - `Rule 10.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_04.c>`_
+     - Required
+     - Both operands of an operator in which the usual arithmetic
+       conversions are performed shall have the same essential type
+       category
+     - Please beware that this rule has many violations in the Xen
+       codebase today, and its adoption is aspirational. However, when
+       submitting new patches please try to decrease the number of
+       violations when possible.
+
+       gcc has a helpful warning that can help you spot and remove
+       violations of this kind: arith-conversion. For instance, you
+       can use it as follows:
+
+       cd xen; CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make
+
    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_
      - Mandatory
      - The sizeof operator shall not have an operand which is a function
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 23 23:34:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 Aug 2023 23:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589692.921673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYxMm-0005PF-F7; Wed, 23 Aug 2023 23:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589692.921673; Wed, 23 Aug 2023 23: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 1qYxMm-0005P8-Bi; Wed, 23 Aug 2023 23:34:24 +0000
Received: by outflank-mailman (input) for mailman id 589692;
 Wed, 23 Aug 2023 23:34:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYxMl-0005Oy-KR; Wed, 23 Aug 2023 23:34:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qYxMl-00079L-Cj; Wed, 23 Aug 2023 23:34: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 1qYxMl-0001lS-5W; Wed, 23 Aug 2023 23:34:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYxMl-0000xR-51; Wed, 23 Aug 2023 23:34:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oDwA5xQz5yflrZW96LdbdB4CbdMVif1+/UWt/3WIxgA=; b=iSr8Ze0SH5ErcAY7ZRHpqmM0MI
	Y45jiruFj7PL498k+0ph0mlJh4OzNu+2yYy8jH0GZouexpLGpc/IO99zjqDfraEnb2aWoNgkvNxKb
	7UPRRGmM9WKQfxH938tL7qsqbxDO9zGEyzNo1inSwNB8gQmp+rOv1ryyXEPhOyeOeRJ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182490-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182490: 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=5c293058b130f50b881d4a9895a9a23f080b0ba8
X-Osstest-Versions-That:
    xen=ed317b8619a77a6c874495f65013d92ab8d5e0ba
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 23 Aug 2023 23:34:23 +0000

flight 182490 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182490/

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                  5c293058b130f50b881d4a9895a9a23f080b0ba8
baseline version:
 xen                  ed317b8619a77a6c874495f65013d92ab8d5e0ba

Last test of basis   182488  2023-08-23 17:00:25 Z    0 days
Testing same since   182490  2023-08-23 20:02:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@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
   ed317b8619..5c293058b1  5c293058b130f50b881d4a9895a9a23f080b0ba8 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 00:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 00:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589714.921733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYyTo-0005VP-C2; Thu, 24 Aug 2023 00:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589714.921733; Thu, 24 Aug 2023 00:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qYyTo-0005V1-6l; Thu, 24 Aug 2023 00:45:44 +0000
Received: by outflank-mailman (input) for mailman id 589714;
 Thu, 24 Aug 2023 00:45: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 1qYyTm-0005UM-D1; Thu, 24 Aug 2023 00:45: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 1qYyTm-00016d-BT; Thu, 24 Aug 2023 00:45: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 1qYyTl-0004g7-Ua; Thu, 24 Aug 2023 00:45:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qYyTl-0004zs-U0; Thu, 24 Aug 2023 00:45:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wMhTAS6S7IJXKis8DvFngV+sBYd++h5A66N8tF2KToo=; b=IUmxYegocO8BZngTfagAhWxfa2
	VkgYmkcv3Duhp+6IojOZH+1tqUM+O191UJo0/67d+WqqAKym4UGr/PovmpOsdfmer6axB2hwp4BYd
	FYe7UVMxkjCUrDFrhCf2z7UHGbiJi22YfeE/ol2F0UmCneuk3aly4gHUKOqX15PqD85o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182427-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 182427: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-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-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-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: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing: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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd: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-arm64-arm64-xl-thunderx: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:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=052a8d24bc670ab6503e21dfd2fb8bccfc22aa73
X-Osstest-Versions-That:
    xen=8d84be5b557b27e9cc53e48285aebad28a48468c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 00:45:41 +0000

flight 182427 xen-4.17-testing real [real]
flight 182494 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182427/
http://logs.test-lab.xenproject.org/osstest/logs/182494/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 182494-retest
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host fail pass in 182494-retest
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182494-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182410
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182410
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182410
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182410
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182410
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182410
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182410
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182410
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182410
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182410
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182410
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182410
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  052a8d24bc670ab6503e21dfd2fb8bccfc22aa73
baseline version:
 xen                  8d84be5b557b27e9cc53e48285aebad28a48468c

Last test of basis   182410  2023-08-21 14:09:52 Z    2 days
Testing same since   182423  2023-08-22 17:10:17 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@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                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   8d84be5b55..052a8d24bc  052a8d24bc670ab6503e21dfd2fb8bccfc22aa73 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 03:11:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 03:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589725.921743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ0kw-0006hE-IT; Thu, 24 Aug 2023 03:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589725.921743; Thu, 24 Aug 2023 03: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 1qZ0kw-0006h6-Cs; Thu, 24 Aug 2023 03:11:34 +0000
Received: by outflank-mailman (input) for mailman id 589725;
 Thu, 24 Aug 2023 03:11:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ0kv-0006gw-Fp; Thu, 24 Aug 2023 03:11:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ0kv-0006xC-9I; Thu, 24 Aug 2023 03:11:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ0kv-0000ou-0f; Thu, 24 Aug 2023 03:11:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ0kv-0005Xu-06; Thu, 24 Aug 2023 03:11:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DH3pnZc3lsRux86QuPQznGwpyePnXn6ddVCN2nquPz8=; b=CMTzTJ48YHhSIE9cNEwzuLyF9c
	fmy6rr5djCKpx/9ydgAOlKfyND+6yawuCDdBB2ImTxGYtJR6Z8yzuCuu6fTgGCGL3I3PQaGhn3tls
	9kVCMeeOK7d6lQtZzX3tetNoCmn3d6o8hoxfFRJhlrjW87Mm4+Q4rx6QjpkQyHqzpkUk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182426-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182426: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=cb3bc96e6759d447181bc874563afb489ddb19d4
X-Osstest-Versions-That:
    libvirt=07b6189ef4af31f1a83d327a08b37f317b963f6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 03:11:33 +0000

flight 182426 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182426/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182416
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182416
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182416
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              cb3bc96e6759d447181bc874563afb489ddb19d4
baseline version:
 libvirt              07b6189ef4af31f1a83d327a08b37f317b963f6f

Last test of basis   182416  2023-08-22 04:22:01 Z    1 days
Testing same since   182426  2023-08-23 04:22:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Erik Skultety <eskultet@redhat.com>
  Pavel Hrdina <phrdina@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   07b6189ef4..cb3bc96e67  cb3bc96e6759d447181bc874563afb489ddb19d4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 03:44:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 03:44:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589734.921753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ1Gv-0001mq-Tj; Thu, 24 Aug 2023 03:44:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589734.921753; Thu, 24 Aug 2023 03:44: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 1qZ1Gv-0001mj-QQ; Thu, 24 Aug 2023 03:44:37 +0000
Received: by outflank-mailman (input) for mailman id 589734;
 Thu, 24 Aug 2023 03:44: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=1Lin=EJ=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qZ1Gu-0001md-0l
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 03:44:36 +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 88e7e09f-4230-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 05:44:33 +0200 (CEST)
Received: by mail-pf1-x434.google.com with SMTP id
 d2e1a72fcca58-68a32506e90so1062098b3a.1
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 20:44:32 -0700 (PDT)
Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 t6-20020a63b246000000b005579f12a238sm10533157pgo.86.2023.08.23.20.44.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Aug 2023 20:44: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: 88e7e09f-4230-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1692848671; x=1693453471;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fL9UzNFH9xRc40ovijxQr7+deLFTeJc0QRJlNk7UAJE=;
        b=bY9LD4tgkqWxkQKKd/RDOoX5W8qpuGAecHeEhLMfDjHuJUY0svZZBxoximm9J6Y19i
         IqrrH7xW9H7peP2arsnyh17grC5SQNfshLtri8kPslLmcIm+7WgUocRo8Yx/4Tfw2jXR
         c3uYDXcSM/kuK3tPVglakJG9pBHZK8VSYZiPXSkCgitJGmj1bNL4q/waTdyTfhOKwshR
         aTWnSB7OVezKYHSxHn7x3sc27R1ATOK+S6Og+iQUPKgoVWwop02aWHbGt7Gzi+eH1aCx
         GxgOchcaZoRBNIXtV5nUG7kDq0z3sxxuYYxZNhstl4e05qGO/BrwD9AQR8U5OepcAJBK
         FutQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692848671; x=1693453471;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fL9UzNFH9xRc40ovijxQr7+deLFTeJc0QRJlNk7UAJE=;
        b=FrSTwSDNG78xtJW5o7/Ku4D3q8UQO8dTBM6t84iWNICkBFpCG4kky0Injbju33ps8m
         jQBYQdxodsZPSqPUhIrU0aiGuvXG4LtoV8o5ujEzJ6taZRxvD5u5cgTwSVuxM9kdKiXc
         YBIBBXO7+bl0nM7/CmbwcFrqRi3IwiGbWxBODEIvWhgS1/+7pszeTaMfkr9Tcp1DD3wP
         MTcJIGaD9wK7i2VqZ/563z62dO7F5BdWXUytuZIynVx7djENOH634jV3EJSC67n6bMjL
         7f+U32Jr8gmLuqF2+SKxuQij9dOEhNCytQtSC81/Buwn9k0lClRYokBXRJnvsknhLfKB
         0Tbw==
X-Gm-Message-State: AOJu0YxcQVQMpHbw3Y9YT0CiolGlXOgSuYm6tWuJeHDRmakrEjbxmYhE
	VetBfjwwVlfS2hEddFufLAtkGA==
X-Google-Smtp-Source: AGHT+IF9XwmI1K/7s22ZAfh1q1VXcTL8c0ROJkv/uTQnOzzzUix0h5W4i5ROCPEGbt2KzyOxEQAr3A==
X-Received: by 2002:a05:6a20:938d:b0:13c:bda3:79c3 with SMTP id x13-20020a056a20938d00b0013cbda379c3mr17551017pzh.4.1692848671217;
        Wed, 23 Aug 2023 20:44:31 -0700 (PDT)
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: akpm@linux-foundation.org,
	david@fromorbit.com,
	tkhai@ya.ru,
	vbabka@suse.cz,
	roman.gushchin@linux.dev,
	djwong@kernel.org,
	brauner@kernel.org,
	paulmck@kernel.org,
	tytso@mit.edu,
	steven.price@arm.com,
	cel@kernel.org,
	senozhatsky@chromium.org,
	yujie.liu@intel.com,
	gregkh@linuxfoundation.org,
	muchun.song@linux.dev
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org,
	Qi Zheng <zhengqi.arch@bytedance.com>,
	Muchun Song <songmuchun@bytedance.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v5 05/45] xenbus/backend: dynamically allocate the xen-backend shrinker
Date: Thu, 24 Aug 2023 11:42:24 +0800
Message-Id: <20230824034304.37411-6-zhengqi.arch@bytedance.com>
X-Mailer: git-send-email 2.24.3 (Apple Git-128)
In-Reply-To: <20230824034304.37411-1-zhengqi.arch@bytedance.com>
References: <20230824034304.37411-1-zhengqi.arch@bytedance.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use new APIs to dynamically allocate the xen-backend shrinker.

Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
CC: Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
CC: xen-devel@lists.xenproject.org
---
 drivers/xen/xenbus/xenbus_probe_backend.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c
index da96c260e26b..929c41a5ccee 100644
--- a/drivers/xen/xenbus/xenbus_probe_backend.c
+++ b/drivers/xen/xenbus/xenbus_probe_backend.c
@@ -284,13 +284,9 @@ static unsigned long backend_shrink_memory_count(struct shrinker *shrinker,
 	return 0;
 }
 
-static struct shrinker backend_memory_shrinker = {
-	.count_objects = backend_shrink_memory_count,
-	.seeks = DEFAULT_SEEKS,
-};
-
 static int __init xenbus_probe_backend_init(void)
 {
+	struct shrinker *backend_memory_shrinker;
 	static struct notifier_block xenstore_notifier = {
 		.notifier_call = backend_probe_and_watch
 	};
@@ -305,8 +301,16 @@ static int __init xenbus_probe_backend_init(void)
 
 	register_xenstore_notifier(&xenstore_notifier);
 
-	if (register_shrinker(&backend_memory_shrinker, "xen-backend"))
-		pr_warn("shrinker registration failed\n");
+	backend_memory_shrinker = shrinker_alloc(0, "xen-backend");
+	if (!backend_memory_shrinker) {
+		pr_warn("shrinker allocation failed\n");
+		return 0;
+	}
+
+	backend_memory_shrinker->count_objects = backend_shrink_memory_count;
+	backend_memory_shrinker->seeks = DEFAULT_SEEKS;
+
+	shrinker_register(backend_memory_shrinker);
 
 	return 0;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 04:26:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 04:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589742.921763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ1vG-0006hp-Tz; Thu, 24 Aug 2023 04:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589742.921763; Thu, 24 Aug 2023 04:26: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 1qZ1vG-0006hi-Qx; Thu, 24 Aug 2023 04:26:18 +0000
Received: by outflank-mailman (input) for mailman id 589742;
 Thu, 24 Aug 2023 04:26:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OU3w=EJ=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1qZ1vF-0006hb-GO
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 04:26:18 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b77d789-4236-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 06:26:14 +0200 (CEST)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Aug 2023 21:26:11 -0700
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by fmsmga007.fm.intel.com with ESMTP; 23 Aug 2023 21:26:11 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27; Wed, 23 Aug 2023 21:26:10 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.27 via Frontend Transport; Wed, 23 Aug 2023 21:26:10 -0700
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.105)
 by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.27; Wed, 23 Aug 2023 21:26:10 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by SN7PR11MB6751.namprd11.prod.outlook.com (2603:10b6:806:265::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 24 Aug
 2023 04:26:08 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::dcf3:7bac:d274:7bed]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::dcf3:7bac:d274:7bed%4]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 04:26:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b77d789-4236-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1692851174; x=1724387174;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2YCQ36XlDDBYKoRH3/pEy+TulW1T9BQ+WYYvrW+KKNM=;
  b=hL1Sr3FcN+EBNvBl67XBieFukAmzO7+ky9FTOQ3HbTj2r67uw0QTX7+W
   b6v+5TEoUtGCzq3EQ43FEiLMwK+PQaW8We/kl8ssOBMcCnRPhdE+ZxC/g
   28sVgjj72ILdT16idGEnWJ5nBEakU+shCaPqZBBMcmTB07bEOhPK8OaRS
   qUqAMuQit45zqiPr7b9SXr6oCkZTHOEjmbmkYlL2ztg89ZQljiWw74d73
   CH+emYrB4v3fIJPXgHr7H+orSQZxUk8g9Jsf9URvn+GyfskH4ox0+Joxk
   bY/XYBmu8VoidPqEqif6aW3KqrXdtNp6E2/0p6AWaQb4r13UOToPKp2ba
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="364511860"
X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; 
   d="scan'208";a="364511860"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="740025129"
X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; 
   d="scan'208";a="740025129"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jk7NENYGGapeeBQL4ylEhPScv/AL9pqPZqy+3S962VrL9AgHKNl98BXhcVbN/SV5I13Z7oN/uUPBHD7CP0bCKRV34sWjnPUS3F9/lsUeCCl8Kb0eEnEEHeIVPlYF60UwtavYibzxi233SbHoFLJBt9XyvYTMrrYoHbjyO9rlobIqBe0j8GGlfv9QBaR/qTHGL10oSITpCz/IACaTPHqQ+4isNNs7olNiGtfsZYrNg9MpFcIa9jKmcwEKI+lG0+zr5M6uVMrE7+UMCGSWJls7r/mzirDV8osVclepdWpAxf2Yu2APbILtM0NoTjoNUpEroXIq3gsoiFzcpYNDg/EN8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2YCQ36XlDDBYKoRH3/pEy+TulW1T9BQ+WYYvrW+KKNM=;
 b=C9g2hTi/DWGXlXavjKQa/uXW/tbd1AelG1j8JSUXvKBOBLzfKuM0eMFEIp2C3BG41vJcAGcFnE5mCh0N/isP+32HabAr5flwX7nBLERJ28rHyazUpzqLy3lAHw42yLHnPyup05PF2tL2sMIrwKVF+mkwUmLMttkdHbF8RBGoieotC6QiYpLXcxB0QbbxEt4b2XZ8tYj6WVDQz8HtRP2BKrI224OoxktxiFJ9WOiyOKpBLDsA2lLETD9ceh1/bMZweq25/gyx3gWMa4CJFNH9+DxPWswMCqIR0nGgA1HbIfPFhQRNPL3BcWllDP2TTFQACYjahxx0aEfQQErCdRMU+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, "Beulich, Jan"
	<JBeulich@suse.com>, =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Nakajima, Jun"
	<jun.nakajima@intel.com>
Subject: RE: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before re-entering
 guest"
Thread-Topic: [PATCH] x86/vmx: Revert "x86/VMX: sanitize rIP before
 re-entering guest"
Thread-Index: AQHZaAkTaZqJ/lBq3kixDzLj4TJx56/5tglw
Date: Thu, 24 Aug 2023 04:26:08 +0000
Message-ID: <BN9PR11MB5276438F5DA8FDC0A59C16C88C1DA@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230405215245.2137356-1-andrew.cooper3@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|SN7PR11MB6751:EE_
x-ms-office365-filtering-correlation-id: c16a86f1-819a-4499-58cb-08dba45a3d52
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: g+WktrGh5Cx9cacADlg6bXCUrEuRUyIccRkJtHtPNfugshcsd2pn2QXpPV3dHsohqgDP7nyHHTXPBb4ykgAGFw+1CCJ4CgHfaymrPnw4pm4NTLFQ8NBUKUTWX6LgDOog/2hF4Cx7TUSPI+bBjp7F7YEJXVULoucq77HwwPjO1aBD24lbmhNNWJ0tVY/Q/NPIyadE9y/hvq2iuUgLCQwc3QXqPUx765rB8R5nJKtTDRt0c2zFuZ8dj43ON8qwAb/Q7WJkSILJqurjZolxtaLVegcb97VJhg+cCtwB/32vBbD6PnX1RgiBorakhI01h+GS1iT8bJPtBVFAHrS506LdLrvagqZQWgIFb+aGtQH8B1Z6bFg5zLLS9Kz8S6qg+uYEIY1TvXV4JQiBMcha+/3HhogkfcbFOdMBBmtO6MnVoBIOh9xnMu2S+fDg7IeT4F3VKT2A3u2o4Xe++X1jxJs5pD+N01BMuZyUhH0cNQhkbD232QmOhnR7EQX3sW/FQVff5cZrH7R9LVi7CGqkFDf/OGR0nwo6BNgAO8VD2cmnRETNxrMuQvROoNLRoIxMq0j5Q4/eOsnc1iLBszZNqgfne4NFooEpkwYdS8u9S+ToH05JwFCC+Ka2H4gTcSvOw8OJ
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(366004)(136003)(396003)(186009)(451199024)(1800799009)(122000001)(33656002)(38070700005)(38100700002)(86362001)(82960400001)(55016003)(107886003)(54906003)(76116006)(478600001)(71200400001)(52536014)(66476007)(7696005)(110136005)(6506007)(66556008)(64756008)(66946007)(9686003)(4326008)(5660300002)(316002)(8936002)(8676002)(41300700001)(66446008)(2906002)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?KzVSODh2MmVjM0tPSklVRlR2VVp5RnBRNHdCaTRLL3k5akJoNmN4SFpwZXFJ?=
 =?utf-8?B?WEhXaHlKaTNVelNzTW5VN1FLWUkzUXlZNGs3dSt5d2dYZUc2Q0dZdUd4cUVQ?=
 =?utf-8?B?eWptZGdmNVhHb1k1RTV2ZDdTdkZCeVl3NzQ1SjI5WVhESndTNkU2KzMvT0Fi?=
 =?utf-8?B?bFBDUEJMdFR5ZXFjc2ZsL3g2bFU4NVZDZHh5ZzIvckFkSUZuTHBkNWhBVjlC?=
 =?utf-8?B?b1F6eWdaSk56WURtK0hmVFhtdUg0STZEZnhhVVl0QjhwWDQxUFB1T2luc0Jl?=
 =?utf-8?B?S29CM3FOKzhYUnZKWG5NdG1TZE1kZzl2TXFiNjFxbGNCSkpPakFmOVpBd1Mv?=
 =?utf-8?B?ZHBGN01UUW4rK3JSMkJXVmxKbWxWYW5SMDQ1R3FDYkhLUXhRL1pzZWt4N1hT?=
 =?utf-8?B?K2o0ZGlvb1RUK2trcXJ3YVdjTzRDZFZ5Q3ljZW05L2NpWXcyL2RYUTFQUUxM?=
 =?utf-8?B?SXZpcnpPMGUwNGhSNlhBc3NQVEt4V1NzWkt1QjhyZ0Q4Z0VPWk9XYWZvN2sv?=
 =?utf-8?B?Tm82aDhsWUptY0hjMUptWWQ2bWxwT2VNWit2ZzF2SFQwNHdvMFh2WWNJNDhu?=
 =?utf-8?B?Tlc1RGxmSHJ3VDVkR2M5K2Y0bmF2ampjb2xub3N5Qk1ZSGNZY0U5Y1djV0Mw?=
 =?utf-8?B?bkNBR0NGL2ZxanpycFpRNzg1ZGxpRWdaV1FDcWhVQWRSMTEvUVp2VnlqZlFQ?=
 =?utf-8?B?RVBiamJsOVFuN0wzSERxRkFJbFM1Q1JDbGdBRXBGbld5UzlXcXpkb1ZGdUkr?=
 =?utf-8?B?TitFTEduNmRucjBvcHBxSXZmUUxLUzg2QVQ2VS80OGszbnpEdTR3RDVQMDVj?=
 =?utf-8?B?aGp4OVg3VHJHazRmeTNpYkJsdUhVVWF4V0JtQlo4dCtqVTdpeFFnMGNDY3N4?=
 =?utf-8?B?cEMxVFZsUWYrblIyV0JPMVR4Q0phR2hsZHZ1aVFxKytsR2IzNUF6T0RYNDdS?=
 =?utf-8?B?M2luVkVoN1Zjd0I5V1VOZXFpNmoyUXlacTdUTjVVOWpNRVBid3krU2JMVmtI?=
 =?utf-8?B?TEF5ZGFuWW12RkZodkRlTFg1c09oNHgzUy85OE40UWVwVDFRWEdTZC9remlK?=
 =?utf-8?B?TXlUNXlCWUZheUhxNHhMSE5rbm54V2tyb2duVXlIRVp5ZlNXOVJiV1oyMnpW?=
 =?utf-8?B?Q29mY29lVm5uL2FyYW5GOC92UWE1dG5QMUloV1JEdHZ1bjcyODZEOWJzOFUr?=
 =?utf-8?B?bndIYVFaMW9vaFhDWERPdmFLRi9WTDJVc2VURDRaR1B1RDJZcENVNVFXbE9F?=
 =?utf-8?B?QTF1YWgzNllGNER6SzNhMXh1RDZYenFnZ0tnM2hYRG9mdmIweTZMbGpWOWJM?=
 =?utf-8?B?amQyZVltaFRGQ1hLYmtGc20wL0hNOUJDMDBxKzNPU3NzWGw0eTl6YmI0eDVw?=
 =?utf-8?B?NHRQbFdsVVdEaDQwUkVVTHp1REN6ZXdrcFEyUmpiYVZwTHpCcU1jVlRvWXdR?=
 =?utf-8?B?UHlNVXA1WmQ4S2tBWWwyaWlUU3NLUm5HRWo4a1NpeUJDY0dxUlBVQmtkeFN6?=
 =?utf-8?B?aFFoaHdrWXZhQ1AxdHRoTDF1amIxMzR2ckdWaWtKeWFpd1U5dytXRFk3bCtV?=
 =?utf-8?B?RFdoZkdBZ0c4SDVJS1VlS0w2MVdTN3lxR0lzN3dKTFZmNUtQSityUWJYV2NV?=
 =?utf-8?B?ODkwbFRmN1QwTnBJbDFuN3A1OGFLY2drK2NTRlBvc2d4MlRPd21LdHVFbE9K?=
 =?utf-8?B?cnZGb0E1dnBkemc1azR1L0hpTHpIakljbWRDdzBLdVFBMWtxdFVCbkVLUi9Z?=
 =?utf-8?B?c01aZ3lvaytaSDgrVkc3bk56RHNPT2VsTnh0SEc2dDEzKzN6cXJTSTc3TGU1?=
 =?utf-8?B?S0wrSUE0WmxjVnNOK0xGZDdKUGpjVWpLWHIybk1JTHQzTSthUXIzOW1YUFRz?=
 =?utf-8?B?MUt5NHBVTXVZVzUvR0J4NGNnRzZtQnllSmtEc3JkSkdZYWJLTWhCRVllaXpZ?=
 =?utf-8?B?eFc1cWtYMXRSK3ZyK0JHa09QLzEwL0k1dlFBSktOQ1ZRVDdqVTh2cUszdk1U?=
 =?utf-8?B?UEwyWmU0MVJHaklMQjM3Q2FmdURKYnRvT3dUVHFQclhVNkNEZ2RDZFB5blhq?=
 =?utf-8?B?b1ViS1pmb2VKWkhUd0ZoalN3RXFKaXVCMFRveW1pdW13N3dOUmFpNUNTY2lC?=
 =?utf-8?Q?bbDM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c16a86f1-819a-4499-58cb-08dba45a3d52
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2023 04:26:08.5863
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: pgqjZYKjz189WcnYX5Xj4ATTNaKvw/CFSC4/2/q4twWyOzsNlwtAPsrEhvcLgoiqGt+M0k8xGiMiXZEMIHCOEQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6751
X-OriginatorOrg: intel.com

PiBGcm9tOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBTZW50
OiBUaHVyc2RheSwgQXByaWwgNiwgMjAyMyA1OjUzIEFNDQo+IA0KPiBBdCB0aGUgdGltZSBvZiBY
U0EtMTcwLCB0aGUgeDg2IGluc3RydWN0aW9uIGVtdWxhdG9yIHdhcyBnZW51aW5lbHkgYnJva2Vu
Lg0KPiBJdA0KPiB3b3VsZCBsb2FkIGFyYml0cmFyeSB2YWx1ZXMgaW50byAlcmlwIGFuZCBwdXR0
aW5nIGEgY2hlY2sgaGVyZSBwcm9iYWJseSB3YXMNCj4gdGhlIGJlc3Qgc3RvcGdhcCBzZWN1cml0
eSBmaXguICBJdCBzaG91bGQgaGF2ZSBiZWVuIHJldmVydGVkIGZvbGxvd2luZyBjL3MNCj4gODFk
M2EwYjI2YzEgIng4NmVtdWw6IGxpbWl0LWNoZWNrIGJyYW5jaCB0YXJnZXRzIiB3aGljaCBjb3Jy
ZWN0ZWQgdGhlDQo+IGVtdWxhdG9yDQo+IGJlaGF2aW91ci4NCj4gDQo+IEhvd2V2ZXIsIGV2ZXJ5
b25lIGludm9sdmVkIGluIFhTQS0xNzAsIG15c2VsZiBpbmNsdWRlZCwgZmFpbGVkIHRvIHJlYWQg
dGhlDQo+IFNETQ0KPiBjb3JyZWN0bHkuICBPbiB0aGUgc3ViamVjdCBvZiAlcmlwIGNvbnNpc3Rl
bmN5IGNoZWNrcywgdGhlIFNETSBzdGF0ZWQ6DQo+IA0KPiAgIElmIHRoZSBwcm9jZXNzb3Igc3Vw
cG9ydHMgTiA8IDY0IGxpbmVhci1hZGRyZXNzIGJpdHMsIGJpdHMgNjM6TiBtdXN0IGJlDQo+ICAg
aWRlbnRpY2FsDQo+IA0KPiBBIG5vbi1jYW5vbmljYWwgJXJpcCAoYW5kIFNTUCBtb3JlIHJlY2Vu
dGx5KSBpcyBhbiBleHBsaWNpdGx5IGxlZ2FsIHN0YXRlIGluDQo+IHg4NiwgYW5kIHRoZSBWTUVu
dHJ5IGNvbnNpc3RlbmN5IGNoZWNrcyBhcmUgaW50ZW50aW9uYWxseSBvZmYtYnktb25lIGZyb20g
YQ0KPiByZWd1bGFyIGNhbm9uaWNhbCBjaGVjay4NCj4gDQo+IFRoZSBjb25zZXF1ZW5jZSBvZiB0
aGlzIGJ1ZyBpcyB0aGF0IFhlbiB3aWxsIGN1cnJlbnRseSB0YWtlIGEgbGVnYWwgeDg2IHN0YXRl
DQo+IHdoaWNoIHdvdWxkIHN1Y2Nlc3NmdWxseSBWTUVudGVyLCBhbmQgY29ycnVwdCBpdCBpbnRv
IGhhdmluZyBub24tDQo+IGFyY2hpdGVjdHVyYWwNCj4gYmVoYXZpb3VyLg0KPiANCj4gRnVydGhl
cm1vcmUsIGluIHRoZSB0aW1lIHRoaXMgYnVnZml4IGhhcyBiZWVuIHBlbmRpbmcgaW4gcHVibGlj
LCBJDQo+IHN1Y2Nlc3NmdWxseSBwZXJzdWFkZWQgSW50ZWwgdG8gY2xhcmlmeSB0aGUgU0RNLCBh
ZGRpbmcgdGhlIGZvbGxvd2luZw0KPiBjbGFyaWZpY2F0aW9uOg0KPiANCj4gICBUaGUgZ3Vlc3Qg
UklQIHZhbHVlIGlzIG5vdCByZXF1aXJlZCB0byBiZSBjYW5vbmljYWw7IHRoZSB2YWx1ZSBvZiBi
aXQgTi0xDQo+ICAgbWF5IGRpZmZlciBmcm9tIHRoYXQgb2YgYml0IE4uDQo+IA0KPiBGaXhlczog
ZmZiYmZkYTM3NyAoIng4Ni9WTVg6IHNhbml0aXplIHJJUCBiZWZvcmUgcmUtZW50ZXJpbmcgZ3Vl
c3QiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPg0KDQpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 04:30:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 04:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589749.921773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ1zj-0008HZ-Dp; Thu, 24 Aug 2023 04:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589749.921773; Thu, 24 Aug 2023 04:30:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ1zj-0008HS-BE; Thu, 24 Aug 2023 04:30:55 +0000
Received: by outflank-mailman (input) for mailman id 589749;
 Thu, 24 Aug 2023 04:30:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ1zi-0008HH-2X; Thu, 24 Aug 2023 04:30:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ1zh-0000SH-QX; Thu, 24 Aug 2023 04:30: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 1qZ1zh-0002h7-Hc; Thu, 24 Aug 2023 04:30:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ1zh-0003GN-H2; Thu, 24 Aug 2023 04:30:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Osw+RnnwKQKwqxbcJ1jXsYlj8Y+y/kCqNCtEAC+XrDU=; b=lfhPk+Gy7iYjCb83u3aSP4OxWr
	HvxFLdcfSJ6zTAoZIFrLklZETri9A164hEq81v8xTgk1+/XCv5lBgVFDQe9QvWdtjUZHvV9gcLaOv
	c07g445UTOU6E2Path1CJJksnpyCaBhocSNtMELr/f0bAjrUnUtL0wZEf+Co9gaIuZfI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182497: 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=b0cd7499ddd281033548a702c6d61ab13fdd1f67
X-Osstest-Versions-That:
    xen=5c293058b130f50b881d4a9895a9a23f080b0ba8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 04:30:53 +0000

flight 182497 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182497/

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                  b0cd7499ddd281033548a702c6d61ab13fdd1f67
baseline version:
 xen                  5c293058b130f50b881d4a9895a9a23f080b0ba8

Last test of basis   182490  2023-08-23 20:02:27 Z    0 days
Testing same since   182497  2023-08-24 02:05:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <stefano.stabellini@amd.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
   5c293058b1..b0cd7499dd  b0cd7499ddd281033548a702c6d61ab13fdd1f67 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 05:00:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 05:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589759.921784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ2Rr-0002gQ-Pt; Thu, 24 Aug 2023 04:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589759.921784; Thu, 24 Aug 2023 04:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ2Rr-0002gJ-LX; Thu, 24 Aug 2023 04:59:59 +0000
Received: by outflank-mailman (input) for mailman id 589759;
 Thu, 24 Aug 2023 04:59: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 1qZ2Rq-0002g9-2e; Thu, 24 Aug 2023 04:59: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 1qZ2Rp-0001Q6-OL; Thu, 24 Aug 2023 04:59: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 1qZ2Rp-0003Pr-Cb; Thu, 24 Aug 2023 04:59:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ2Rp-0003pz-C3; Thu, 24 Aug 2023 04:59: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=HkTvNrLYiTo7FEJ7QHdKJPQAgE67fq7I3/B1s7SzDUU=; b=o6hf0X+n7Va/gd0A5Vl1WGSicQ
	/HZkj7QCAUulaD9HfLIKa050/6eJ0cF9NSyvlI6XiN/fF8xMeJLU64KJxGtQEVHUOuVsm26o0/Otl
	fnTs1WvJN+ACytZtdcLnQ9fKsaW/WGK+QM+KPs0i0+e0K5TRpmWiwHpjO6ZEbSoceEjc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182452-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182452: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=89bf6209cad66214d3774dac86b6bbf2aec6a30d
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 04:59:57 +0000

flight 182452 linux-linus real [real]
flight 182496 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182452/
http://logs.test-lab.xenproject.org/osstest/logs/182496/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 182424

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot       fail pass in 182496-retest
 test-amd64-amd64-xl-shadow   19 guest-saverestore.2 fail pass in 182496-retest
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail pass in 182496-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                89bf6209cad66214d3774dac86b6bbf2aec6a30d
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    1 days
Testing same since   182452  2023-08-23 10:10:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Linus Torvalds <torvalds@linux-foundation.org>
  Peng Fan <peng.fan@nxp.com>
  Rik van Riel <riel@surriel.com>
  Rob Herring <robh@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          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-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  starved 
 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                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 89bf6209cad66214d3774dac86b6bbf2aec6a30d
Merge: 53663f4103ff 7882541ca06d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Aug 22 11:16:23 2023 -0700

    Merge tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes from Rob Herring:
    
     - Fix DT node refcount when creating platform devices
    
     - Fix deadlock in changeset code due to printing with devtree_lock held
    
     - Fix unittest EXPECT strings for parse_phandle_with_args_map() test
    
     - Fix IMA kexec memblock freeing
    
    * tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      of/platform: increase refcount of fwnode
      of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
      of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
      mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer

commit 7882541ca06d51a6c12d687827176c16d5e05f65
Author: Peng Fan <peng.fan@nxp.com>
Date:   Mon Aug 21 10:39:28 2023 +0800

    of/platform: increase refcount of fwnode
    
    commit 0f8e5651095b
    ("of/platform: Propagate firmware node by calling device_set_node()")
    use of_fwnode_handle to replace of_node_get, which introduces a side
    effect that the refcount is not increased. Then the out of tree
    jailhouse hypervisor enable/disable test will trigger kernel dump in
    of_overlay_remove, with the following sequence
    "
       of_changeset_revert(&overlay_changeset);
       of_changeset_destroy(&overlay_changeset);
       of_overlay_remove(&overlay_id);
    "
    
    So increase the refcount to avoid issues.
    
    This patch also release the refcount when releasing amba device to avoid
    refcount leakage.
    
    Fixes: 0f8e5651095b ("of/platform: Propagate firmware node by calling device_set_node()")
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Link: https://lore.kernel.org/r/20230821023928.3324283-2-peng.fan@oss.nxp.com
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 914d9d831e6126a6e7a92e27fcfaa250671be42c
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:57 2023 -0500

    of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
    
    While originally it was fine to format strings using "%pOF" while
    holding devtree_lock, this now causes a deadlock.  Lockdep reports:
    
        of_get_parent from of_fwnode_get_parent+0x18/0x24
        ^^^^^^^^^^^^^
        of_fwnode_get_parent from fwnode_count_parents+0xc/0x28
        fwnode_count_parents from fwnode_full_name_string+0x18/0xac
        fwnode_full_name_string from device_node_string+0x1a0/0x404
        device_node_string from pointer+0x3c0/0x534
        pointer from vsnprintf+0x248/0x36c
        vsnprintf from vprintk_store+0x130/0x3b4
    
    Fix this by moving the printing in __of_changeset_entry_apply() outside
    the lock. As the only difference in the multiple prints is the action
    name, use the existing "action_names" to refactor the prints into a
    single print.
    
    Fixes: a92eb7621b9fb2c2 ("lib/vsprintf: Make use of fwnode API to obtain node names and separators")
    Cc: stable@vger.kernel.org
    Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-2-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 0aeae3788e28f64ccb95405d4dc8cd80637ffaea
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:56 2023 -0500

    of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
    
    Commit 12e17243d8a1 ("of: base: improve error msg in
    of_phandle_iterator_next()") added printing of the phandle value on
    error, but failed to update the unittest.
    
    Fixes: 12e17243d8a1 ("of: base: improve error msg in of_phandle_iterator_next()")
    Cc: stable@vger.kernel.org
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-1-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit f0362a253606e2031f8d61c74195d4d6556e12a4
Author: Rik van Riel <riel@surriel.com>
Date:   Thu Aug 17 13:57:59 2023 -0400

    mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer
    
    The code calling ima_free_kexec_buffer runs long after the memblock
    allocator has already been torn down, potentially resulting in a use
    after free in memblock_isolate_range.
    
    With KASAN or KFENCE, this use after free will result in a BUG
    from the idle task, and a subsequent kernel panic.
    
    Switch ima_free_kexec_buffer over to memblock_free_late to avoid
    that issue.
    
    Fixes: fee3ff99bc67 ("powerpc: Move arch independent ima kexec functions to drivers/of/kexec.c")
    Cc: stable@kernel.org
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Suggested-by: Mike Rappoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20230817135759.0888e5ef@imladris.surriel.com
    Signed-off-by: Rob Herring <robh@kernel.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 05:56:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 05:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589768.921793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ3KL-00012T-Rz; Thu, 24 Aug 2023 05:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589768.921793; Thu, 24 Aug 2023 05: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 1qZ3KL-00012M-P3; Thu, 24 Aug 2023 05:56:17 +0000
Received: by outflank-mailman (input) for mailman id 589768;
 Thu, 24 Aug 2023 05:56: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=xm8A=EJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZ3KK-00012D-5P
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 05:56:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7d00::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edfae616-4242-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 07:56:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8396.eurprd04.prod.outlook.com (2603:10a6:10:24a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 05:56:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 05: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>
X-Inumbo-ID: edfae616-4242-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZJaOTIAFjZUye+SGRv9YQgNWlHyj9SKy5CgAiKF/Xh5xERrIdYlfkunNiqQfSnt5Tx8DDrnkGDTZG7DFSSI/IgeMwjBXF7wTLAKNjFOTrFzdE5W3WOfmum/63aZ/5Ip35mnSSKJoA+0Lt8GUtX8gf4eI2VoQbo9XmlcKuyxziZSsC98C3rTtMq11VYz9FEQbq1bvlDUcMRFQaldZOdp1tDXOPh0WQvuiDvYNfDi7gHwESvTl6qZCcT78EqPTe+jlVULvoHSYgDWaOhZDwZRJSNReNQ2jCHi0jKKWuqdSXdgx9wIGvdBLNQQJuhmcp+dPjZuc6licRxfQc+Mq2kHUYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vbMDKYXHmEoQyj1A3yy35uDnidbrrMOCLJc8HuTCpeU=;
 b=n0rxAzwuoUQCwSKFrjb4VFgeetYQfQOauPPoIlAZmJz5rNbJK5SHapU8VYvzYjpX1DSz2+9uqqb5DDdYy1yhSoy312cO3gzV1ejuVao5RqwzFtXYamKCjtVyi0Rrtite0IIH9aB/GFUBSNzvOwKMpWbHhb550AGu6TVjnQ8UJIdNUCTOGX0opesPDGmu6CSHWouuhxP/DRAI4Z65sqz4KHuH/Rzj3tzgs/hyQZ4WItRGfLewuXlvbpD1KZDX5XhDmxRQUDwlzeK87H1lKlHGI0kbf+7Zp+6HQoJKetldNERTk4dHCtDwet10l+8YmfB37N9Fl3bON/jMWVpYuG1Scw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vbMDKYXHmEoQyj1A3yy35uDnidbrrMOCLJc8HuTCpeU=;
 b=RXjuNvhSUxmvfWekDghgK0Aw7XLLGXGwxTDauqet7eR8r1tT98SaICr9Z+DxiDA3ZLLDcP4GuB63qWGqGe6e5eBF8iljHcd1urmWAPsXZn4c44SFr4hdiGcdtWYo430RFn6YvKpRH9IOis42qzWYd1s89xGsFXzYfK8/8KddqrXV62CErqF11aiE55gfFL0MjFLwaOGlBZl24GsbWcqvveVcxBMnjqyFxxU/RagrgJ6abHhTHbksAwT0wnanoUdZNXSkO6FTiS+YZoCmhJv/teX9NRxkYV3U+OKuCjPbpIWoueDY9oFZZalmbyr1HIc+VklnmsG+06rPwmsJSBD6yg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c51a46e-3eea-cffe-d31a-bda04cc43a78@suse.com>
Date: Thu, 24 Aug 2023 07:56:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/8] xen/common: Add missing #includes treewide
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <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>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <e786dd5bbd6c235c69f5b2e49d485397f155d393.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e786dd5bbd6c235c69f5b2e49d485397f155d393.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0212.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8396:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b214d12-38c2-44f3-1e19-08dba466d105
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pnn/HUwdrcIqx9/Cskm5T2ekrYNTbfN60tIcZYPwj9nC6PwZQBO13n4zOaAEHeQgG0YvLucKY39irOIOvbCg0ARbSGAPp+6cQo3Wu9okkPwbYx75BRMqz1AZYxwYT4x8v/m/0QQqyJwfkCiPlwuyovcMxk3yXfnxUNwVvvbtQp52F5p1me/PaBmDX1mnNL0Qz5Jdk27NlmctXMF4F7+3g2nZDB4z1lAXh/RjR+TYGgn1gCZ+42fllVekAN0hAjAfANbVE2QHVWc9oazKP/CtqHEEeaT4Rzw9foUpy3jfdqoUjoYpPIYlQ/MGUuXGNdGiwiqk8T+CxIBtPDsgAMWJElHMvDtCWPLugfg4f4C07rwmssNmjcLOxirIHwHs9T9n/91egU27ddKO12QVfKARJYE8vrCjQqdh/NCiJzdH0udqRcBIlQoPP0TtbPs1B1q4bRNvsLngwlsEtQhkyYYPfus1lznLhr9NLluIt4z7LtnZ2N7DYzPXbuPrBHvpDffqvluzBL0vFqQzk7D4BuSm+JqbeicB7/9RaJKWphfjTU+IsloAt5F3JM5WVnnjYVqVJv211Jw+MACBXXd4dfQH0bou6HsVPxNQzvY3Zj4SlpMFQ1bRsSWYkeRW66vIRgpQsVuwH/yF1k0t/LdMCcWE4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(366004)(136003)(346002)(186009)(1800799009)(451199024)(2616005)(5660300002)(4326008)(8676002)(8936002)(36756003)(4744005)(7416002)(26005)(6666004)(38100700002)(66946007)(66556008)(66476007)(54906003)(316002)(6916009)(478600001)(31686004)(41300700001)(53546011)(6512007)(6506007)(2906002)(86362001)(6486002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U050YjJkS05scXNMTUkvU1dRSXlRVGNwZFFaT2pGcTkyWFI2bHpqSzg0Nitn?=
 =?utf-8?B?N0Y0Wk5xQ1FwSlFLaFJPamR4RjN5bUZxZHBtTDVsRnEwclR2bXR3TE1XT2h2?=
 =?utf-8?B?NG1kcVFNRkkzRTJIbWxnTmtZQTh0NUdiOVNZRDI2b2lBa3ZtMTl5V0dqdC9O?=
 =?utf-8?B?N3BtVzdiekYzZG12cTFscVp3dkNVTkVQd2JLcGVpRWFpbjVLVTJiWG5EQVJM?=
 =?utf-8?B?alIwM3k4US94d01WckVPM2U0M1dnWndBMGRFMGxqUTRaTy94NE9OcDlHbmVs?=
 =?utf-8?B?U3ZJTWVBL2Rid0lYRDFQbmRIK2Rqb2VVc3V4MXdWeXZtL1l3NGpaTDhtNlFF?=
 =?utf-8?B?c05JVklGVkJPZnZMOEpmNmpzNnhKY0VrZUhqc09lTUhpbm9EOWluaFoxL3hO?=
 =?utf-8?B?bjUycjVjNU5oQzJQWHdyQmRiNlM1bitaSWNXNVJCYy93bjZDYU1CcDZvWlhQ?=
 =?utf-8?B?YTlTUkw3dHFtWDBOWXdGWSswMjhSN0hBV05IRElSRzdDZklrQzZzQjcwYXRa?=
 =?utf-8?B?ZFk0MnJnZ3hnaGFQVTRaSDd3cGFyZjkvd0hDOUJHc3hWRkVTcVplTjI4RzlP?=
 =?utf-8?B?Tm9NNGFhUFJvWGtSQ2padDRYaHplKzIrZGloTG0vcUxBZnl0Y3o5dmJXaUpR?=
 =?utf-8?B?bmxmTlNadVRhaXN0b0htbm1NUkpBeHZKQ0lDLzBOalN6MEFpeTFWSGNQVm9F?=
 =?utf-8?B?ZnZXWjVGeEw0NXVPbEVrdU1BWHlCZWxJbVg5aEkvTmdHQk9MZ2dWNTllbG43?=
 =?utf-8?B?SENCbmFYeVBzOHIxRWM3cUtLd0JCOVgyYzI5bXd1V0tKSGJqZVR0cnNlVGpx?=
 =?utf-8?B?QnIvdUIzWWxJeWNzdW9rSW5OVmduejJaUzJ3SVNLK1RxdkNUdnZ4Y0dudUxZ?=
 =?utf-8?B?WHV2b3Q2a1VkM2M5cE9EdmtJSHJ5YzF4aTRVZmpicERJSUxNV1ZIcW5tbDlO?=
 =?utf-8?B?cTFqUnlaR3FQalNtV3V5SHoweFBoNE5xWlhjMVNBS3Y3UFJoNFQrQjhRTEUz?=
 =?utf-8?B?c3gxcThaaWVRN29Fb3U5V0RxNmdtTm03dERrd0Vsbjd5UC94WHppb21XU2U3?=
 =?utf-8?B?dU9NZ1pGRzlyL2FNaDZyTUZTandZSHpFbHFQbGFuZXY5d0ExTXo3cXBNSFl0?=
 =?utf-8?B?b0w3aDYwOVdNdkVobldyQ094dEJTdm9kZWNlejNTMmlLcEJMbUZtajZ2NjJm?=
 =?utf-8?B?cXMrSEhHSTNTRW92NmNodE9taHNWeTlOM050MVNkODlSdUdvZWdWZTRORjRj?=
 =?utf-8?B?RkYvdDUvM21VQzVpdzBoRVcyZXlSSjQ1ODN1UVIyVUUrNERCckN1Wk11b2ZT?=
 =?utf-8?B?T2FUdElZTHExSmt4UHpOM21tblNqQmFCY1h3ZEI2OHlFT25kbkpaWGlFMEtF?=
 =?utf-8?B?RUtHaW1uV3JJYzR0WVZqR09qc3plRzlCK1dVTjhoc29PNlh6R1ZoRnhMYmQr?=
 =?utf-8?B?VGxYeXgvenRHeFgyUUpyYUpLd2lBMG5aUFgvbUtRVUIvQXVnY1lvWmFzSlpV?=
 =?utf-8?B?bmtsaTAxWTdaL3c2cHFTNGVTb2xjakg4amg5MWNGaFBzQzd4MUR2SVhWamp6?=
 =?utf-8?B?MjFnNHNUWDA1TVVISjZKWmxFRDF5cmRISm9DdExDNzN6aHplaENwajArUVlD?=
 =?utf-8?B?MmR0MnF2dTVicFE3TmpRUmpLWnd0RUM4Wkd2bnk4dVYyZk1CTnBMMVFPOUVN?=
 =?utf-8?B?YXNoQzNRL29qdUdya2ZLeWtLU3IxT3Zlb1RDMHRhQlRRblNsalZRRUlTeE1v?=
 =?utf-8?B?c3o4QnkxSE9BWXhEZmJzZ3VHdnQwOWd0MXM0Nkl3dnNCSXo4SHN1bWJuYisx?=
 =?utf-8?B?Q2ozTzFFNHZpWnV3amw3TWs0RW5nTTRwRFNPY1RlQ0p3Y1RvMTBVM0FIeGxQ?=
 =?utf-8?B?OEVaeUR1OCtsUjJDUDJCOEVPWTZ6L0lMUmYyQ0R0RjM4WW1ld1VPK2drczFt?=
 =?utf-8?B?N21hc2syV2JUOTRXcElpNjVrbWFuRjhxc2V1WFRiK3VuU1NtK1h6dGwvR01G?=
 =?utf-8?B?bllXQXB4THk2TDVUN3hFWXlvcHRZc2wrU1hKMGNCbG5MeEVtWmtQdHptbWlM?=
 =?utf-8?B?Q29ibHBuL2NoSzB3YmM2czZMd2hkYzdJYUxQWVhZNWlOOW9BdTNhUXVEUkt2?=
 =?utf-8?Q?2RhioDYpyhWAE3EQ+IGrQvEeq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b214d12-38c2-44f3-1e19-08dba466d105
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 05:56:10.5726
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 65wRtISdEr3EGGNGfvEnhekovb4KE29zZlSj9zdKqZssqoTOo2XJ/sApI57lDx4VaNkq3b0LNv7dA351sTpTCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8396

On 23.08.2023 22:07, Shawn Anastasio wrote:
> A few files treewide depend on defininitions in headers that they
> don't include. This works when arch headers end up including the
> required headers by chance, but broke on ppc64 with only minimal/stub
> arch headers.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Aug 24 06:00:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 06:00:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589775.921803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ3OF-0002ht-Fc; Thu, 24 Aug 2023 06:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589775.921803; Thu, 24 Aug 2023 06:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ3OF-0002hm-CB; Thu, 24 Aug 2023 06:00:19 +0000
Received: by outflank-mailman (input) for mailman id 589775;
 Thu, 24 Aug 2023 06:00:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=E907=EJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qZ3OE-0002hZ-05
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 06:00:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7faf560e-4243-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 08:00:17 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id F32C722BA4;
 Thu, 24 Aug 2023 06:00:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5D782139BC;
 Thu, 24 Aug 2023 06:00:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wrN7Fe/x5mSCfQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 24 Aug 2023 06:00: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: 7faf560e-4243-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692856816; 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=rgtpOEJRoTaISf3F796ZnEdX+OfMuNfBjq/l8WrNV5g=;
	b=RNyByOPWqEsJXaeGy32t4323lDcaQ1lckjCeaW4hpJxcY4fbVvOOL6AarYDBYRVKH0W6Xm
	ewbMk5b/8SeLz5fVAMrWO+Ri4OBMgrVgZ2O3DiMuKVnDrUWH5R8YLVjDMfbQBzaqxug++U
	8W/ygrJuthO8ZCykFoNIPF9/4/rTXbI=
Message-ID: <d07d52b1-6e6d-4b29-a9ce-7e325e7b1f11@suse.com>
Date: Thu, 24 Aug 2023 08:00:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 05/45] xenbus/backend: dynamically allocate the
 xen-backend shrinker
Content-Language: en-US
To: Qi Zheng <zhengqi.arch@bytedance.com>, akpm@linux-foundation.org,
 david@fromorbit.com, tkhai@ya.ru, vbabka@suse.cz, roman.gushchin@linux.dev,
 djwong@kernel.org, brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu,
 steven.price@arm.com, cel@kernel.org, senozhatsky@chromium.org,
 yujie.liu@intel.com, gregkh@linuxfoundation.org, muchun.song@linux.dev
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
 linux-fsdevel@vger.kernel.org, Muchun Song <songmuchun@bytedance.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230824034304.37411-1-zhengqi.arch@bytedance.com>
 <20230824034304.37411-6-zhengqi.arch@bytedance.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: <20230824034304.37411-6-zhengqi.arch@bytedance.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------v2KR0uAowWL0nhRoEjKsG72M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------v2KR0uAowWL0nhRoEjKsG72M
Content-Type: multipart/mixed; boundary="------------0tEYiN9YHgcStCvfdomJqqrq";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Qi Zheng <zhengqi.arch@bytedance.com>, akpm@linux-foundation.org,
 david@fromorbit.com, tkhai@ya.ru, vbabka@suse.cz, roman.gushchin@linux.dev,
 djwong@kernel.org, brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu,
 steven.price@arm.com, cel@kernel.org, senozhatsky@chromium.org,
 yujie.liu@intel.com, gregkh@linuxfoundation.org, muchun.song@linux.dev
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
 linux-fsdevel@vger.kernel.org, Muchun Song <songmuchun@bytedance.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Message-ID: <d07d52b1-6e6d-4b29-a9ce-7e325e7b1f11@suse.com>
Subject: Re: [PATCH v5 05/45] xenbus/backend: dynamically allocate the
 xen-backend shrinker
References: <20230824034304.37411-1-zhengqi.arch@bytedance.com>
 <20230824034304.37411-6-zhengqi.arch@bytedance.com>
In-Reply-To: <20230824034304.37411-6-zhengqi.arch@bytedance.com>

--------------0tEYiN9YHgcStCvfdomJqqrq
Content-Type: multipart/mixed; boundary="------------Zt4c9vDiUzzYm3RbCEHLzW0O"

--------------Zt4c9vDiUzzYm3RbCEHLzW0O
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDguMjMgMDU6NDIsIFFpIFpoZW5nIHdyb3RlOg0KPiBVc2UgbmV3IEFQSXMgdG8g
ZHluYW1pY2FsbHkgYWxsb2NhdGUgdGhlIHhlbi1iYWNrZW5kIHNocmlua2VyLg0KPiANCj4g
U2lnbmVkLW9mZi1ieTogUWkgWmhlbmcgPHpoZW5ncWkuYXJjaEBieXRlZGFuY2UuY29tPg0K
PiBSZXZpZXdlZC1ieTogTXVjaHVuIFNvbmcgPHNvbmdtdWNodW5AYnl0ZWRhbmNlLmNvbT4N
Cj4gQ0M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gQ0M6IFN0ZWZhbm8g
U3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gQ0M6IE9sZWtzYW5kciBU
eXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4gQ0M6IHhlbi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KDQpBY2tlZC1ieTogSnVlcmdlbiBHcm9zcyA8
amdyb3NzQHN1c2UuY29tPg0KDQpKdXN0IG9uZSBub3RlOiBpdCBzZWVtcyBhcyBpZiBtb3N0
IHVzZXJzIHdpbGwgc2V0IHNlZWtzIHRvIERFRkFVTFRfU0VFS1MuDQpXb3VsZG4ndCBpdCBi
ZSBiZXR0ZXIgdG8gZG8gdGhpcyBpbiBzaHJpbmtlcl9hbGxvYygpIGFuZCBsZXQgb25seSBj
YWxsZXJzDQp3aG8gd2FudCBhIGRpZmZlcmVudCB2YWx1ZSBvdmVyd3JpdGUgdGhhdD8NCg0K
DQpKdWVyZ2VuDQo=
--------------Zt4c9vDiUzzYm3RbCEHLzW0O
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Zt4c9vDiUzzYm3RbCEHLzW0O--

--------------0tEYiN9YHgcStCvfdomJqqrq--

--------------v2KR0uAowWL0nhRoEjKsG72M
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/Ey8FAmTm8e4FAwAAAAAACgkQsN6d1ii/Ey8G
Kwf/dPS+drwibhZ9A9USTzF2HJwby3OQ1B1vCaKRil324tHZ39S3tymCGsvXZvCMlrpgD9UKlS1I
55kQ4E4rPSyR68cfqPh43tQdwHaVfzzwUDWZHmEwOSnwWH/moUIzuR54685ib2WSlJ4/xAvgJEnX
gL10ACI3SBW/5f9kXLv1o8YFLUDkFZuXOAEWQucWZkhDDdO/lZSuLXmpHCdjKT/CbJdYD3BlTPzH
wXOxZwkmUOqSDNz6p7LL0HpYsEcFrduMlmXhJ/Dq26LH9FKD7khMXge9fT/GIBvZYQ1QOvfGkJWN
FBuRs4G2iudYaYo3VIEY2Zt1aU2Gt2qZuGVrZUDadg==
=KMo5
-----END PGP SIGNATURE-----

--------------v2KR0uAowWL0nhRoEjKsG72M--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 06:24:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 06:24:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589783.921813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ3ll-0005Ux-Bt; Thu, 24 Aug 2023 06:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589783.921813; Thu, 24 Aug 2023 06:24:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ3ll-0005Uq-8F; Thu, 24 Aug 2023 06:24:37 +0000
Received: by outflank-mailman (input) for mailman id 589783;
 Thu, 24 Aug 2023 06:24:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Lin=EJ=bytedance.com=zhengqi.arch@srs-se1.protection.inumbo.net>)
 id 1qZ3li-0005Uk-PU
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 06:24:35 +0000
Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com
 [2607:f8b0:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1a9b9a8-4246-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 08:24:31 +0200 (CEST)
Received: by mail-pf1-x432.google.com with SMTP id
 d2e1a72fcca58-68bbd45d0d5so331618b3a.1
 for <xen-devel@lists.xenproject.org>; Wed, 23 Aug 2023 23:24:31 -0700 (PDT)
Received: from [10.70.252.135] ([203.208.167.146])
 by smtp.gmail.com with ESMTPSA id
 ey6-20020a056a0038c600b00686f048bb9dsm6577558pfb.74.2023.08.23.23.24.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 23 Aug 2023 23:24: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: e1a9b9a8-4246-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bytedance.com; s=google; t=1692858269; x=1693463069;
        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=YAWLL6d+tB1TW/sa+M7W81IeOtWmeLLF2BjX95heF8Y=;
        b=WC7DtczIl2huODCCK2FUQBPFySR8Fgdq+0RzN3EpYCF6xc5qlgt5yYNUyGMzGD3Vfd
         sCmovMwZKx7eCaX+kb4GhOATxvPvZalq8HdXwztGZ/H374MK4JcYUpPJJsgpKNLIKxot
         DmBT4zE6v8oseL1JDCpoVcqcxZf5N5NE7wvMO3NRJDeqxBq3NCwRJPiax64qfPuWSob5
         mcJU3k0lorHBX5pSNWGBJw+GJKMZc4VAy8jbjqfXszKYvDjyOYUFsPD/PZLQycXFE2uX
         l6MCDqrZ3yavMHHn+nS97IILA+7i5RFenYBam2Bp94XJlGvvguZGUp/ZdPOc/jOY5cia
         xE5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692858269; x=1693463069;
        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=YAWLL6d+tB1TW/sa+M7W81IeOtWmeLLF2BjX95heF8Y=;
        b=TdugXXk7dzMjTrX8UEYVaPREdqC0Ft4dWNhKzUgFM7wPCU5LVVAPXDgUKBtbNUpIit
         CMidQahg+H0Y+8NsW8d0d213dyWtxaGl7rW1M0spf2hApHAWwgew/WQT9SY6RG55S/UA
         XKZqyRrUAh1mpllgewCky2msTRy4dnlnondkYw2KP1BX7liBlIstwF2yVjBuX1B7kmvd
         t9IPTNS+lXNv/77XU7fD5562TP10poOMaDgB07+NH8A1YrmLgq96n0L1evnkKtOZgnhD
         +MiIUMrgyM5ZFGjVugEjJIb0JizNcXuv34T5vhGGT6hzZ+Cu4d2cU3j3gXdTlU1r4iZv
         0npQ==
X-Gm-Message-State: AOJu0YzQUbkvmTQ2c6O6HgB6UegW0aEVeriU84t22qDuos8EgapgjT2R
	YmoqUloDY0XJ2SKyq/iOA8WCSg==
X-Google-Smtp-Source: AGHT+IEs+IcDk16YZ3T8sMPMS+c78NyGGAK7cNqbsAY3c0HgSGha1qj1+0CJyvlKa4AYIkTewnV0cA==
X-Received: by 2002:a05:6a20:8e19:b0:13e:1d49:723c with SMTP id y25-20020a056a208e1900b0013e1d49723cmr15644854pzj.2.1692858269010;
        Wed, 23 Aug 2023 23:24:29 -0700 (PDT)
Message-ID: <144fd7ac-154f-79b9-5483-56b15941f62f@bytedance.com>
Date: Thu, 24 Aug 2023 14:24:16 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v5 05/45] xenbus/backend: dynamically allocate the
 xen-backend shrinker
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru,
 vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org,
 brauner@kernel.org, paulmck@kernel.org, tytso@mit.edu, steven.price@arm.com,
 cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com,
 gregkh@linuxfoundation.org, muchun.song@linux.dev,
 linux-kernel@vger.kernel.org, linux-mm@kvack.org,
 linux-fsdevel@vger.kernel.org, Muchun Song <songmuchun@bytedance.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230824034304.37411-1-zhengqi.arch@bytedance.com>
 <20230824034304.37411-6-zhengqi.arch@bytedance.com>
 <d07d52b1-6e6d-4b29-a9ce-7e325e7b1f11@suse.com>
From: Qi Zheng <zhengqi.arch@bytedance.com>
In-Reply-To: <d07d52b1-6e6d-4b29-a9ce-7e325e7b1f11@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 2023/8/24 14:00, Juergen Gross wrote:
> On 24.08.23 05:42, Qi Zheng wrote:
>> Use new APIs to dynamically allocate the xen-backend shrinker.
>>
>> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
>> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
>> CC: Juergen Gross <jgross@suse.com>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> CC: xen-devel@lists.xenproject.org
> 
> Acked-by: Juergen Gross <jgross@suse.com>

Thanks for your review!

> 
> Just one note: it seems as if most users will set seeks to DEFAULT_SEEKS.
> Wouldn't it be better to do this in shrinker_alloc() and let only callers
> who want a different value overwrite that?

I think it makes sense, will do.

Thanks,
Qi

> 
> 
> Juergen


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 07:36:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 07:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589790.921823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ4sf-0005RZ-6i; Thu, 24 Aug 2023 07:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589790.921823; Thu, 24 Aug 2023 07: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 1qZ4sf-0005RS-3i; Thu, 24 Aug 2023 07:35:49 +0000
Received: by outflank-mailman (input) for mailman id 589790;
 Thu, 24 Aug 2023 07: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=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ4sd-0005RM-TE
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 07:35:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5ec62ad-4250-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 09:35:45 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 838CD4EE0737;
 Thu, 24 Aug 2023 09:35: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: d5ec62ad-4250-11ee-8783-cb3800f73035
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 09:35:44 +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,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <alpine.DEB.2.22.394.2308231327570.6458@ubuntu-linux-20-04-desktop>
References: <998ecebdda92f1704fa35e8692b1f7e37b674d16.1692800477.git.nicola.vetrini@bugseng.com>
 <a0a4a13a-3ada-4586-81cf-86a9e583fc60@xen.org>
 <3b4d895999ad4fc51f280c8f7e854cab@bugseng.com>
 <59fad669-afc2-45e2-b647-8a0878774ba8@xen.org>
 <alpine.DEB.2.22.394.2308231327570.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <cda5d3116f4218a42c26fbe8b2b026c4@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 23/08/2023 22:30, Stefano Stabellini wrote:
> On Wed, 23 Aug 2023, Julien Grall wrote:
>> Hi Nicola,
>> 
>> On 23/08/2023 17:09, Nicola Vetrini wrote:
>> > On 23/08/2023 16:59, Julien Grall wrote:
>> > > Hi,
>> > >
>> > > On 23/08/2023 15:27, Nicola Vetrini wrote:
>> > > > Directive 4.3 prescribes the following:
>> > > > "Assembly language shall be encapsulated and isolated",
>> > > > on the grounds of improved readability and ease of maintenance.
>> > > > The Directive is violated in this case by asm code in between C code.
>> > > >
>> > > > A macro is the chosen encapsulation mechanism.
>> > >
>> > > I would rather prefer if we use a static inline.
>> >
>> > Just to prevent an possible back and forth on a similar patch:
>> > is it ok to adopt the same approach with the inline asm in
>> > xen/arch/arm/arm64/lib/bitops.c in the definition of the macros
>> > 'bitop' and 'testop'?
>> 
>> So, in the VFP I agree that moving the assembly part outside of 
>> vfp_*_state()
>> makes sense even without MISRA. But I don't agree with moving the 
>> assembly
>> code out as the C function is tightly coupled with the assembly code.
>> 
>> So this would please MISRA but IHMO would make the code more difficult 
>> to
>> understand. So I think we should deviate for the bitops.
>> 
>> Bertrand, Stefano, what do you think?
> 
> I agree. I think bitops.c is already encapsulated and introducing
> additional macros or functions is likely to make the code worse. testop
> and bitop are the encapsulating functions, as you can see there is very
> little else other than the asm volatile and a do/while loop.

Ok, thanks.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 07:37:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 07:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589797.921833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ4uh-0005zH-IJ; Thu, 24 Aug 2023 07:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589797.921833; Thu, 24 Aug 2023 07:37:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ4uh-0005zA-FS; Thu, 24 Aug 2023 07:37:55 +0000
Received: by outflank-mailman (input) for mailman id 589797;
 Thu, 24 Aug 2023 07:37: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=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ4uh-0005z2-0D
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 07:37:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2201cdbf-4251-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 09:37:52 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C7CE54EE0737;
 Thu, 24 Aug 2023 09:37: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: 2201cdbf-4251-11ee-9b0c-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2] arm64/vfp: address MISRA C:2012 Dir 4.3
Date: Thu, 24 Aug 2023 09:37:34 +0200
Message-Id: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Directive 4.3 prescribes the following:
"Assembly language shall be encapsulated and isolated",
on the grounds of improved readability and ease of maintenance.

A static inline function is the chosen encapsulation mechanism.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Switched to a static inline function
---
 xen/arch/arm/arm64/vfp.c | 78 ++++++++++++++++++++++------------------
 1 file changed, 44 insertions(+), 34 deletions(-)

diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 2d0d7c2e6ddb..5c884380ee42 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -4,6 +4,48 @@
 #include <asm/vfp.h>
 #include <asm/arm64/sve.h>
 
+static inline void save_state(uint64_t *fpregs)
+{
+    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
+                 "stp q2, q3, [%1, #16 * 2]\n\t"
+                 "stp q4, q5, [%1, #16 * 4]\n\t"
+                 "stp q6, q7, [%1, #16 * 6]\n\t"
+                 "stp q8, q9, [%1, #16 * 8]\n\t"
+                 "stp q10, q11, [%1, #16 * 10]\n\t"
+                 "stp q12, q13, [%1, #16 * 12]\n\t"
+                 "stp q14, q15, [%1, #16 * 14]\n\t"
+                 "stp q16, q17, [%1, #16 * 16]\n\t"
+                 "stp q18, q19, [%1, #16 * 18]\n\t"
+                 "stp q20, q21, [%1, #16 * 20]\n\t"
+                 "stp q22, q23, [%1, #16 * 22]\n\t"
+                 "stp q24, q25, [%1, #16 * 24]\n\t"
+                 "stp q26, q27, [%1, #16 * 26]\n\t"
+                 "stp q28, q29, [%1, #16 * 28]\n\t"
+                 "stp q30, q31, [%1, #16 * 30]\n\t"
+                 : "=Q" (*fpregs) : "r" (fpregs));
+}
+
+static inline void restore_state(uint64_t *fpregs)
+{
+    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
+                 "ldp q2, q3, [%1, #16 * 2]\n\t"
+                 "ldp q4, q5, [%1, #16 * 4]\n\t"
+                 "ldp q6, q7, [%1, #16 * 6]\n\t"
+                 "ldp q8, q9, [%1, #16 * 8]\n\t"
+                 "ldp q10, q11, [%1, #16 * 10]\n\t"
+                 "ldp q12, q13, [%1, #16 * 12]\n\t"
+                 "ldp q14, q15, [%1, #16 * 14]\n\t"
+                 "ldp q16, q17, [%1, #16 * 16]\n\t"
+                 "ldp q18, q19, [%1, #16 * 18]\n\t"
+                 "ldp q20, q21, [%1, #16 * 20]\n\t"
+                 "ldp q22, q23, [%1, #16 * 22]\n\t"
+                 "ldp q24, q25, [%1, #16 * 24]\n\t"
+                 "ldp q26, q27, [%1, #16 * 26]\n\t"
+                 "ldp q28, q29, [%1, #16 * 28]\n\t"
+                 "ldp q30, q31, [%1, #16 * 30]\n\t"
+                 : : "Q" (*fpregs), "r" (fpregs));
+}
+
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
@@ -13,23 +55,7 @@ void vfp_save_state(struct vcpu *v)
         sve_save_state(v);
     else
     {
-        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                     "stp q2, q3, [%1, #16 * 2]\n\t"
-                     "stp q4, q5, [%1, #16 * 4]\n\t"
-                     "stp q6, q7, [%1, #16 * 6]\n\t"
-                     "stp q8, q9, [%1, #16 * 8]\n\t"
-                     "stp q10, q11, [%1, #16 * 10]\n\t"
-                     "stp q12, q13, [%1, #16 * 12]\n\t"
-                     "stp q14, q15, [%1, #16 * 14]\n\t"
-                     "stp q16, q17, [%1, #16 * 16]\n\t"
-                     "stp q18, q19, [%1, #16 * 18]\n\t"
-                     "stp q20, q21, [%1, #16 * 20]\n\t"
-                     "stp q22, q23, [%1, #16 * 22]\n\t"
-                     "stp q24, q25, [%1, #16 * 24]\n\t"
-                     "stp q26, q27, [%1, #16 * 26]\n\t"
-                     "stp q28, q29, [%1, #16 * 28]\n\t"
-                     "stp q30, q31, [%1, #16 * 30]\n\t"
-                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+        save_state(v->arch.vfp.fpregs);
     }
 
     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
@@ -47,23 +73,7 @@ void vfp_restore_state(struct vcpu *v)
         sve_restore_state(v);
     else
     {
-        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                     "ldp q2, q3, [%1, #16 * 2]\n\t"
-                     "ldp q4, q5, [%1, #16 * 4]\n\t"
-                     "ldp q6, q7, [%1, #16 * 6]\n\t"
-                     "ldp q8, q9, [%1, #16 * 8]\n\t"
-                     "ldp q10, q11, [%1, #16 * 10]\n\t"
-                     "ldp q12, q13, [%1, #16 * 12]\n\t"
-                     "ldp q14, q15, [%1, #16 * 14]\n\t"
-                     "ldp q16, q17, [%1, #16 * 16]\n\t"
-                     "ldp q18, q19, [%1, #16 * 18]\n\t"
-                     "ldp q20, q21, [%1, #16 * 20]\n\t"
-                     "ldp q22, q23, [%1, #16 * 22]\n\t"
-                     "ldp q24, q25, [%1, #16 * 24]\n\t"
-                     "ldp q26, q27, [%1, #16 * 26]\n\t"
-                     "ldp q28, q29, [%1, #16 * 28]\n\t"
-                     "ldp q30, q31, [%1, #16 * 30]\n\t"
-                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+        restore_state(v->arch.vfp.fpregs);
     }
 
     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 08:01:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 08:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589810.921842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ5Hc-0001ck-Oj; Thu, 24 Aug 2023 08:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589810.921842; Thu, 24 Aug 2023 08:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ5Hc-0001cd-Ll; Thu, 24 Aug 2023 08:01:36 +0000
Received: by outflank-mailman (input) for mailman id 589810;
 Thu, 24 Aug 2023 08:01:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6NC+=EJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qZ5Ha-0001cV-TC
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 08:01:35 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f8c5204-4254-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 10:01:31 +0200 (CEST)
Received: from MW4PR03CA0063.namprd03.prod.outlook.com (2603:10b6:303:b6::8)
 by IA1PR12MB6137.namprd12.prod.outlook.com (2603:10b6:208:3eb::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 08:01:26 +0000
Received: from CO1PEPF000044F3.namprd05.prod.outlook.com
 (2603:10b6:303:b6:cafe::33) by MW4PR03CA0063.outlook.office365.com
 (2603:10b6:303:b6::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26 via Frontend
 Transport; Thu, 24 Aug 2023 08:01:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F3.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 24 Aug 2023 08:01:25 +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.27; Thu, 24 Aug
 2023 03:01:23 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 24 Aug 2023 03:01: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: 6f8c5204-4254-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gke2Z7epIHH7I0Inn+v2ly7hZ7EQ/ksdTSFSScWrWAUFxySePfThVIG5c8EC5nErIiEYrRX4lshmS00EdwkZN9oZzHO8cEM5ZwI3u0wm+CVuiwYn7r4ojeU9khxD9kzhVRSY5g7c8Tn3h+WV5k9nJp6CoWJNq0MHEgR8dZkYTepmXppH6V1wQcirsnE2X6qJWewL/Xxfuk6beQ6GzWz+/f4QM+VRNtQ+TnF1wzhDaDRQrP4B6BfKG0t2sfZ2NnNF7EUN2pB8y6Fw0nxOiLHZGAJcPwPg1lLDFXLXIZTz9H9vhmAi7SxAFlgFrxSozyUHdfZCcHd+UTt0v5rgUfrXsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PGwgAU+CLtWwE5RvkkbQ5LLjcidE7aMXW5tCRlzD0Sc=;
 b=KjKEEpFL7Lnqil/znG5vrGgIGYzzvZnmXZMSHpvf9NWgt9/A+OIh/8jpEzybLlt9wSHjPOtfrJcJcadyNun0bi3NsyJt7BS3Bn32Eb9GVDtPYDnYmFouigpa+XFPo0bqMIs06bbRGeFyCJC3hcmi82nFOHu+pA2LTl06GinFl+JH2VSL/8a7i63fAaVSTXhpGw08KdN7XSH3tLpdVCVPjgDzJuZ9IoqvJktxHfS7mQgOiJ3aQ/Yznm1fyURBQRH1oXEsbIOBQFlp/zw0O217RMXQv1Wr8i/16Gozjwb0O2oSRt6uqRTg1fpX7lM1LAYq+NCmL1cWsTRPNCvtftfuzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=bugseng.com smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PGwgAU+CLtWwE5RvkkbQ5LLjcidE7aMXW5tCRlzD0Sc=;
 b=GvneL3BYC2lXFehPnMZWIW9uugypCvhgvvreK4tJyerOALXOnpLLqgg/QngpSlI1mHX2h2SR8b2/bq4zyAHMhrbGsBxOsJe2ifoEg7aKuoo5pJWBJAf84vdFvSWh2ffs5PscweGdE4uZGg1GXwpn87E1aPrJTF0XyS3TYqAXJeE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <941f9188-6d59-12a6-9868-daa39b51687a@amd.com>
Date: Thu, 24 Aug 2023 10:01:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] arm64/vfp: address MISRA C:2012 Dir 4.3
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <xenia.ragiadakou@amd.com>,
	<ayan.kumar.halder@amd.com>, <consulting@bugseng.com>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F3:EE_|IA1PR12MB6137:EE_
X-MS-Office365-Filtering-Correlation-Id: e6151ee4-c393-428c-609c-08dba478503e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kF9yYeGehVNNye9iGbePCQ0rZjW33oBjosW5lTxoYNnyEH6vpRvMthIqzx6SReOp22bXCYg1mGPVEv1Ma4rEy4iYNsiR7Rzq2NSrB1EVf/rV3B6gt5nBtRsDtRzzRN491JkqMvEM5hvUkh71vQzse0wJ5ahLsrMHyyeR8whhql9lEtS5a6FSKozvh2PsBSzdpNpT1kl9awcTLwNSKukM8Q2/CN0VIxfFZ9FIKqSPFUcJRdwCJZMML5Woqi/+7872LBao5S/z99dBsMkHmntYlFU/qcILII1s8HqsYw6sWOGPFkxLVq7qJvaFRwumpEEFVXSjShgmEggMcBBJrjch72a7pHmWVsEpFZ9/tfdwYpn227Q15ad6Gc5t39IFdu4VMxqa5cvZwIAPGuY0QjiYxwa1pTOh4MnCS4/SLScY0V/FyT+AxRkVnaL3GTWuaGtutMR+1uSIpKqycHu3i0sYALyPbHAy/0YKJrTmw/RPD3TYZZzi4eHVXO5iATqQYCNRgAN/oGcQIit4B4yv3jlcBWBJ4dwIETc5VU+rCPxpX4UQ662nJgovHhIu3gwPaNuSPqf2GF+h8uLA/JrXHeiJOOHlxt/JEjknLOwjrs9otmial8O1ITnjsfxmMsG26iNZ7HipCmh5FXDEPt7vh7B6AJ6aQ7b69NJQB0aeorGuS8JIRm2tPXqfEmJQNlwZtQtDOkMMNv3vezAb7Bblfvj5f5QhkQ+wY95J3wMyvAMs3mDYTVNhz8Qru4/xI9t3xR4cJEW0MqyGK+a3neVkux0HoxCMRY2y+WwR+I88ClPMWis=
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)(4636009)(136003)(346002)(396003)(39860400002)(376002)(451199024)(186009)(82310400011)(1800799009)(40470700004)(36840700001)(46966006)(54906003)(70206006)(70586007)(316002)(81166007)(16576012)(478600001)(110136005)(26005)(44832011)(36860700001)(356005)(6666004)(82740400003)(40480700001)(41300700001)(53546011)(86362001)(31696002)(2906002)(31686004)(4326008)(8676002)(8936002)(40460700003)(2616005)(5660300002)(83380400001)(36756003)(336012)(47076005)(426003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 08:01:25.0009
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6151ee4-c393-428c-609c-08dba478503e
X-MS-Exchange-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:
	CO1PEPF000044F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6137

Hi Nicola,

On 24/08/2023 09:37, Nicola Vetrini wrote:
> 
> 
> Directive 4.3 prescribes the following:
> "Assembly language shall be encapsulated and isolated",
> on the grounds of improved readability and ease of maintenance.
> 
> A static inline function is the chosen encapsulation mechanism.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes in v2:
> - Switched to a static inline function
> ---
>  xen/arch/arm/arm64/vfp.c | 78 ++++++++++++++++++++++------------------
>  1 file changed, 44 insertions(+), 34 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
> index 2d0d7c2e6ddb..5c884380ee42 100644
> --- a/xen/arch/arm/arm64/vfp.c
> +++ b/xen/arch/arm/arm64/vfp.c
> @@ -4,6 +4,48 @@
>  #include <asm/vfp.h>
>  #include <asm/arm64/sve.h>
> 
> +static inline void save_state(uint64_t *fpregs)
> +{
> +    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> +                 "stp q2, q3, [%1, #16 * 2]\n\t"
> +                 "stp q4, q5, [%1, #16 * 4]\n\t"
> +                 "stp q6, q7, [%1, #16 * 6]\n\t"
> +                 "stp q8, q9, [%1, #16 * 8]\n\t"
> +                 "stp q10, q11, [%1, #16 * 10]\n\t"
> +                 "stp q12, q13, [%1, #16 * 12]\n\t"
> +                 "stp q14, q15, [%1, #16 * 14]\n\t"
> +                 "stp q16, q17, [%1, #16 * 16]\n\t"
> +                 "stp q18, q19, [%1, #16 * 18]\n\t"
> +                 "stp q20, q21, [%1, #16 * 20]\n\t"
> +                 "stp q22, q23, [%1, #16 * 22]\n\t"
> +                 "stp q24, q25, [%1, #16 * 24]\n\t"
> +                 "stp q26, q27, [%1, #16 * 26]\n\t"
> +                 "stp q28, q29, [%1, #16 * 28]\n\t"
> +                 "stp q30, q31, [%1, #16 * 30]\n\t"
> +                 : "=Q" (*fpregs) : "r" (fpregs));
> +}
> +
> +static inline void restore_state(uint64_t *fpregs)
This can be const as you are loading data from fpregs into registers

> +{
> +    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
> +                 "ldp q2, q3, [%1, #16 * 2]\n\t"
> +                 "ldp q4, q5, [%1, #16 * 4]\n\t"
> +                 "ldp q6, q7, [%1, #16 * 6]\n\t"
> +                 "ldp q8, q9, [%1, #16 * 8]\n\t"
> +                 "ldp q10, q11, [%1, #16 * 10]\n\t"
> +                 "ldp q12, q13, [%1, #16 * 12]\n\t"
> +                 "ldp q14, q15, [%1, #16 * 14]\n\t"
> +                 "ldp q16, q17, [%1, #16 * 16]\n\t"
> +                 "ldp q18, q19, [%1, #16 * 18]\n\t"
> +                 "ldp q20, q21, [%1, #16 * 20]\n\t"
> +                 "ldp q22, q23, [%1, #16 * 22]\n\t"
> +                 "ldp q24, q25, [%1, #16 * 24]\n\t"
> +                 "ldp q26, q27, [%1, #16 * 26]\n\t"
> +                 "ldp q28, q29, [%1, #16 * 28]\n\t"
> +                 "ldp q30, q31, [%1, #16 * 30]\n\t"
> +                 : : "Q" (*fpregs), "r" (fpregs));
> +}
> +
>  void vfp_save_state(struct vcpu *v)
>  {
>      if ( !cpu_has_fp )
> @@ -13,23 +55,7 @@ void vfp_save_state(struct vcpu *v)
>          sve_save_state(v);
>      else
>      {
No need for brackets
> -        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> -                     "stp q2, q3, [%1, #16 * 2]\n\t"
> -                     "stp q4, q5, [%1, #16 * 4]\n\t"
> -                     "stp q6, q7, [%1, #16 * 6]\n\t"
> -                     "stp q8, q9, [%1, #16 * 8]\n\t"
> -                     "stp q10, q11, [%1, #16 * 10]\n\t"
> -                     "stp q12, q13, [%1, #16 * 12]\n\t"
> -                     "stp q14, q15, [%1, #16 * 14]\n\t"
> -                     "stp q16, q17, [%1, #16 * 16]\n\t"
> -                     "stp q18, q19, [%1, #16 * 18]\n\t"
> -                     "stp q20, q21, [%1, #16 * 20]\n\t"
> -                     "stp q22, q23, [%1, #16 * 22]\n\t"
> -                     "stp q24, q25, [%1, #16 * 24]\n\t"
> -                     "stp q26, q27, [%1, #16 * 26]\n\t"
> -                     "stp q28, q29, [%1, #16 * 28]\n\t"
> -                     "stp q30, q31, [%1, #16 * 30]\n\t"
> -                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
> +        save_state(v->arch.vfp.fpregs);
>      }
> 
>      v->arch.vfp.fpsr = READ_SYSREG(FPSR);
> @@ -47,23 +73,7 @@ void vfp_restore_state(struct vcpu *v)
>          sve_restore_state(v);
>      else
>      {
No need for brackets
> -        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
> -                     "ldp q2, q3, [%1, #16 * 2]\n\t"
> -                     "ldp q4, q5, [%1, #16 * 4]\n\t"
> -                     "ldp q6, q7, [%1, #16 * 6]\n\t"
> -                     "ldp q8, q9, [%1, #16 * 8]\n\t"
> -                     "ldp q10, q11, [%1, #16 * 10]\n\t"
> -                     "ldp q12, q13, [%1, #16 * 12]\n\t"
> -                     "ldp q14, q15, [%1, #16 * 14]\n\t"
> -                     "ldp q16, q17, [%1, #16 * 16]\n\t"
> -                     "ldp q18, q19, [%1, #16 * 18]\n\t"
> -                     "ldp q20, q21, [%1, #16 * 20]\n\t"
> -                     "ldp q22, q23, [%1, #16 * 22]\n\t"
> -                     "ldp q24, q25, [%1, #16 * 24]\n\t"
> -                     "ldp q26, q27, [%1, #16 * 26]\n\t"
> -                     "ldp q28, q29, [%1, #16 * 28]\n\t"
> -                     "ldp q30, q31, [%1, #16 * 30]\n\t"
> -                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
> +        restore_state(v->arch.vfp.fpregs);
>      }
> 
>      WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);

Apart from that (up to maintainers if it can be done on commit):
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 08:52:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 08:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589819.921853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ64r-0007QN-Nl; Thu, 24 Aug 2023 08:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589819.921853; Thu, 24 Aug 2023 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 1qZ64r-0007QG-KN; Thu, 24 Aug 2023 08:52:29 +0000
Received: by outflank-mailman (input) for mailman id 589819;
 Thu, 24 Aug 2023 08:52: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=IVrA=EJ=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qZ64q-0007QA-G8
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 08:52:28 +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 8c60415e-425b-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 10:52:26 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-31c3726cc45so3895118f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 01:52: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
 f7-20020adff587000000b0031c77c010e1sm1309277wro.96.2023.08.24.01.52.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 01:52:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c60415e-425b-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692867145; x=1693471945;
        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=u9yuqKBjLGODbIzKlCy5tUJ2CK+3GRmsqjcPhGzbxIM=;
        b=SsFsruNL1UyiCxGxaFYgn7RTDOUouoBE4jYE9Pi0QsY7schaR/khIIcQBPFc+bGHim
         7eUK85x4DBh+OFncoMDk4St4AWW1vI+x1WQMGbQ+U+XikJJoqxXL2/LlnXlxjjiHJNsT
         welZBZrZgcfFiqeMP4BgCjbBjNOfq7H/zmM3o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692867145; x=1693471945;
        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=u9yuqKBjLGODbIzKlCy5tUJ2CK+3GRmsqjcPhGzbxIM=;
        b=ZrR5HPYRYfEvmohbTHY1bo8dVACXRmhmcyS56Nu82gjxZtkbBwUsnDOS4pUogBkd+E
         QznTLs6/AMxvLgCG82P1i6zMntr9kkbTyrpb8RnRXBPkZsF5Unicyh4uWPr4vzlqaCZ7
         lLzm/aohmf3uUsA0mSUQFcVs9I3Taj0MMVXUhfCZQ4UFG36IhkkfUZ0d+kEgKkXd25lQ
         /jIluHwweTCgp0txOd2lUW3u3Lreg5IVSdQj77UtpZKNrKd8gMA6GnQiD+5uVvG7+oPw
         SrW4AbzlGzS28Y2MtJvaXydtWiiqRnVl3MgSQr+9ZODRRToOgnUswgbRMgbvvLJ/LHSU
         xUIw==
X-Gm-Message-State: AOJu0YxFKFoy9IaqNI16K1hHMzydgZwgrA/sEL52qrFNDA1tpL3mQumI
	cx1D3bMV084ZRgm0ZxjCzhRQ7g==
X-Google-Smtp-Source: AGHT+IGaIJSs3CyPDWr/5Xz/zLNMgnlRrlp5Vcbtn5oZHJmu75pfjcUKXHTXRDXzV2Wz/askZPKJXw==
X-Received: by 2002:adf:edca:0:b0:31a:d7fc:28f with SMTP id v10-20020adfedca000000b0031ad7fc028fmr12277789wro.19.1692867145577;
        Thu, 24 Aug 2023 01:52:25 -0700 (PDT)
Date: Thu, 24 Aug 2023 09:52:24 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Always move the bisect build log back
Message-ID: <f300fec6-9139-4ab9-959e-35397967446d@perard>
References: <20230823152334.8867-1-anthony.perard@citrix.com>
 <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>

On Wed, Aug 23, 2023 at 07:05:56PM +0100, Andrew Cooper wrote:
> On 23/08/2023 4:23 pm, Anthony PERARD wrote:
> > On failure of "build"-each-commit script, the next command that move
> > the log back into the build directory isn't executed. Fix that by
> > using "after_script" which is always executed even if the main
> > "script" fails. (We would still miss the log when the jobs times out.)
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> >  automation/gitlab-ci/test.yaml | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> > index 810631bc46..5099f2e6b6 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -140,6 +140,7 @@ build-each-commit-gcc:
> >      CC: gcc
> >    script:
> >      - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
> > +  after_script:
> >      - mv ../build-each-commit-gcc.log .
> >    artifacts:
> >      paths:
> 
> Thanks for looking into this, and yeah that is dumb, but why play games
> with the parent directory?

`git clean -ffdx` has the tendency to remove everything that's not
committed, that's why. But maybe we can teach ./build-each-commit.sh to
ignore that logfile.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:02:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589826.921862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6E5-0000et-HU; Thu, 24 Aug 2023 09:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589826.921862; Thu, 24 Aug 2023 09:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6E5-0000em-EU; Thu, 24 Aug 2023 09:02:01 +0000
Received: by outflank-mailman (input) for mailman id 589826;
 Thu, 24 Aug 2023 09:02:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=E907=EJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qZ6E4-0000eg-QG
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:02:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e16c8180-425c-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 11:01:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5ABA122C9B;
 Thu, 24 Aug 2023 09:01:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DF3EE138FB;
 Thu, 24 Aug 2023 09:01:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kMPzNIQc52QWUwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 24 Aug 2023 09:01: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: e16c8180-425c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692867717; 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=egg0anXRwEikjuBX1Cu3G3bFWp0ncIQVfRy2OweTBCs=;
	b=NeCkGtO57wesDc0moN2yZJNuuPZDrqoNsnWfRwdpdLwQzYEpHKcD7Rkw/2pzFR7RIOYLTc
	FWOdx1JDmOBJ+Me7pCeMRzyaJWmEGzJRC2RgmjS476wziijZREMIKTWs+huWfnjD2puzyL
	1tjGTzTHeA7QNvuNF/rl14H38Nn9puQ=
Message-ID: <a32e211f-4add-4fb2-9e5a-480ae9b9bbf2@suse.com>
Date: Thu, 24 Aug 2023 11:01:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 0/3] x86/paravirt: Get rid of paravirt patching
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org, x86@kernel.org,
 virtualization@lists.linux-foundation.org, kvm@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>,
 "Srivatsa S. Bhat (VMware)" <srivatsa@csail.mit.edu>,
 Alexey Makhalov <amakhalov@vmware.com>,
 VMware PV-Drivers Reviewers <pv-drivers@vmware.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, xen-devel@lists.xenproject.org
References: <20230608140333.4083-1-jgross@suse.com>
 <acda7276-234b-9036-c178-ca2b441f3998@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: <acda7276-234b-9036-c178-ca2b441f3998@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------xA8JPSq6dXP1gpZd6i7AROJ0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------xA8JPSq6dXP1gpZd6i7AROJ0
Content-Type: multipart/mixed; boundary="------------IlAJHtNd5EUXbqjj5ruYobon";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org, x86@kernel.org,
 virtualization@lists.linux-foundation.org, kvm@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>,
 "Srivatsa S. Bhat (VMware)" <srivatsa@csail.mit.edu>,
 Alexey Makhalov <amakhalov@vmware.com>,
 VMware PV-Drivers Reviewers <pv-drivers@vmware.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, xen-devel@lists.xenproject.org
Message-ID: <a32e211f-4add-4fb2-9e5a-480ae9b9bbf2@suse.com>
Subject: Re: [RFC PATCH 0/3] x86/paravirt: Get rid of paravirt patching
References: <20230608140333.4083-1-jgross@suse.com>
 <acda7276-234b-9036-c178-ca2b441f3998@suse.com>
In-Reply-To: <acda7276-234b-9036-c178-ca2b441f3998@suse.com>

--------------IlAJHtNd5EUXbqjj5ruYobon
Content-Type: multipart/mixed; boundary="------------qW0bpoPA5AINx3Iryt6lqFLS"

--------------qW0bpoPA5AINx3Iryt6lqFLS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

UElORyENCg0KT24gMTAuMDcuMjMgMTQ6MjksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEFu
eSBjb21tZW50cz8NCj4gDQo+IE9uIDA4LjA2LjIzIDE2OjAzLCBKdWVyZ2VuIEdyb3NzIHdy
b3RlOg0KPj4gVGhpcyBpcyBhIHNtYWxsIHNlcmllcyBnZXR0aW5nIHJpZCBvZiBwYXJhdmly
dCBwYXRjaGluZyBieSBzd2l0Y2hpbmcNCj4+IGNvbXBsZXRlbHkgdG8gYWx0ZXJuYXRpdmUg
cGF0Y2hpbmcgZm9yIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkuDQo+Pg0KPj4gVGhlIGJhc2lj
IGlkZWEgaXMgdG8gYWRkIHRoZSBjYXBhYmlsaXR5IHRvIHN3aXRjaCBmcm9tIGluZGlyZWN0
IHRvDQo+PiBkaXJlY3QgY2FsbHMgdmlhIGEgc3BlY2lhbCBhbHRlcm5hdGl2ZSBwYXRjaGlu
ZyBvcHRpb24uDQo+Pg0KPj4gVGhpcyByZW1vdmVzIF9zb21lXyBvZiB0aGUgcGFyYXZpcnQg
bWFjcm8gbWF6ZSwgYnV0IG1vc3Qgb2YgaXQgbmVlZHMNCj4+IHRvIHN0YXkgZHVlIHRvIHRo
ZSBuZWVkIG9mIGhpZGluZyB0aGUgY2FsbCBpbnN0cnVjdGlvbnMgZnJvbSB0aGUNCj4+IGNv
bXBpbGVyIGluIG9yZGVyIHRvIGF2b2lkIG5lZWRsZXNzIHJlZ2lzdGVyIHNhdmUvcmVzdG9y
ZS4NCj4+DQo+PiBXaGF0IGlzIGdvaW5nIGF3YXkgaXMgdGhlIG5hc3R5IHN0YWNraW5nIG9m
IGFsdGVybmF0aXZlIGFuZCBwYXJhdmlydA0KPj4gcGF0Y2hpbmcgYW5kIChvZiBjb3Vyc2Up
IHRoZSBzcGVjaWFsIC5wYXJhaW5zdHJ1Y3Rpb25zIGxpbmtlciBzZWN0aW9uLg0KPj4NCj4+
IEkgaGF2ZSB0ZXN0ZWQgdGhlIHNlcmllcyBvbiBiYXJlIG1ldGFsIGFuZCBhcyBYZW4gUFYg
ZG9tYWluIHRvIHN0aWxsDQo+PiB3b3JrLg0KPj4NCj4+IFJGQyBiZWNhdXNlIEknbSBxdWl0
ZSBzdXJlIHRoZXJlIHdpbGwgYmUgc29tZSBvYmp0b29sIHdvcmsgbmVlZGVkDQo+PiAoYXQg
bGVhc3QgcmVtb3ZpbmcgdGhlIHNwZWNpZmljIHBhcmF2aXJ0IGhhbmRsaW5nKS4NCj4+DQo+
PiBKdWVyZ2VuIEdyb3NzICgzKToNCj4+IMKgwqAgeDg2L3BhcmF2aXJ0OiBtb3ZlIHNvbWUg
ZnVuY3Rpb25zIGFuZCBkZWZpbmVzIHRvIGFsdGVybmF0aXZlDQo+PiDCoMKgIHg4Ni9hbHRl
cm5hdGl2ZTogYWRkIGluZGlyZWN0IGNhbGwgcGF0Y2hpbmcNCj4+IMKgwqAgeDg2L3BhcmF2
aXJ0OiBzd2l0Y2ggbWl4ZWQgcGFyYXZpcnQvYWx0ZXJuYXRpdmUgY2FsbHMgdG8gYWx0ZXJu
YXRpdmVfMg0KPj4NCj4+IMKgIGFyY2gveDg2L2luY2x1ZGUvYXNtL2FsdGVybmF0aXZlLmjC
oMKgwqDCoMKgwqDCoCB8IDI2ICsrKysrLQ0KPj4gwqAgYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFyYXZpcnQuaMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMzkgKystLS0tLS0tDQo+PiDCoCBh
cmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5owqDCoMKgwqAgfCA2OCArKyst
LS0tLS0tLS0tLS0tDQo+PiDCoCBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9xc3BpbmxvY2tfcGFy
YXZpcnQuaCB8wqAgNCArLQ0KPj4gwqAgYXJjaC94ODYvaW5jbHVkZS9hc20vdGV4dC1wYXRj
aGluZy5owqDCoMKgwqDCoCB8IDEyIC0tLQ0KPj4gwqAgYXJjaC94ODYva2VybmVsL2FsdGVy
bmF0aXZlLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA5OSArKysrKysrKysrKy0tLS0t
LS0tLS0tLQ0KPj4gwqAgYXJjaC94ODYva2VybmVsL2NhbGx0aHVua3MuY8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHwgMTcgKystLQ0KPj4gwqAgYXJjaC94ODYva2VybmVsL2t2bS5j
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNCArLQ0KPj4g
wqAgYXJjaC94ODYva2VybmVsL21vZHVsZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8IDIwICsrLS0tDQo+PiDCoCBhcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuY8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDU0ICsrLS0tLS0tLS0tLS0NCj4+IMKg
IGFyY2gveDg2L2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHwgMTMgLS0tDQo+PiDCoCBhcmNoL3g4Ni90b29scy9yZWxvY3MuY8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQ0KPj4gwqAgYXJjaC94ODYveGVuL2ly
cS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAg
MiArLQ0KPj4gwqAgMTMgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKyksIDI0OSBk
ZWxldGlvbnMoLSkNCj4+DQo+IA0KDQo=
--------------qW0bpoPA5AINx3Iryt6lqFLS
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------qW0bpoPA5AINx3Iryt6lqFLS--

--------------IlAJHtNd5EUXbqjj5ruYobon--

--------------xA8JPSq6dXP1gpZd6i7AROJ0
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/Ey8FAmTnHIQFAwAAAAAACgkQsN6d1ii/Ey8n
vwf+LLwfy/ZCu3h4Yznh9ADz+Z6QLx25dcChZ3PW9TpFv0/It2mewnB2dbbA9FXkMcKppkbIkOyT
qvFngSvS1JNDOb7hHe7HS7JWPiiaSzbRv2swl/k+KRj54o/7blTP9jAykQ0UtEoZTszQOwX6gMTX
h1xnTUSFtC5eS4Ijy4fjxqg9id2taSSWbMxohEJdSQ/XwzwtlCT4uk6aThzh1pxc2h/5Wf7yGnJg
yRydtilThbqiQ1HTGbgh40URW1ptUXj53gPc+lVOPV1obYQMWgqOrgpsL9dzBMSGvCNI0MNzdNCz
CJZ+YKQ6QSE17kPFUmamvzuoN2/zHGYPz5WsUuHasg==
=ELGp
-----END PGP SIGNATURE-----

--------------xA8JPSq6dXP1gpZd6i7AROJ0--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:03:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:03:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589832.921873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6FT-0001CL-Sr; Thu, 24 Aug 2023 09:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589832.921873; Thu, 24 Aug 2023 09:03:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6FT-0001CE-PA; Thu, 24 Aug 2023 09:03:27 +0000
Received: by outflank-mailman (input) for mailman id 589832;
 Thu, 24 Aug 2023 09:03:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WR62=EJ=citrix.com=prvs=593229a51=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qZ6FS-0001C6-C7
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:03:26 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 139691ff-425d-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 11:03:24 +0200 (CEST)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 05:03:21 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by CO1PR03MB5795.namprd03.prod.outlook.com (2603:10b6:303:9b::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 09:03:18 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Thu, 24 Aug 2023
 09:03: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: 139691ff-425d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692867803;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=7NXk3TUoorK3axRMN+k4qOCxS7iuHsrExEGL1D8BV3Q=;
  b=eYLZRXeCY+cIQLpxIfThlmqsZ1nJIVz9j6LlKG4kmIdGJn4jDM9JaCpy
   Un1w4W0ZMZhjFdgaCT1edzFlcv7fmR17n395XcL198W716D5Jg5ELps/T
   MOeDzbZgzzwQNFgwyEmeYW5Deh/Z968VBax3var6++QEAXrGUe+Wt/JaC
   U=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 120365330
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1o1RtKDG37hyXRVW/+biw5YqxClBgxIJ4kV8jS/XYbTApGwm0zMOy
 WQYXGvTb/3eYmSmL9p+b4yy9R8BvZ6HnNFgQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsspvlDs15K6p4GNC5QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwy/9MEWdEx
 9IjFD0UYD7ejcOr77OZc7w57igjBJGD0II3nFhFlGucKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTL++xrugA/zyQouFTpGMDSddGQA91cg26Tp
 37c/nS/CRYfXDCa4WPfqiny27SUxUsXXqofU52V1ftpuGHL6VMoCx4xa2OYjcWQ3xvWt9V3b
 hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xBGIJUzpAY9wOr9ItSHoh0
 Vrht9H0AT1itpWFRHTb8a2bxRupIjQcJ2IGYS4CTCMG7sPlrYV1iQjAJv58FIalg9uzHiv/q
 w1mtwA7jrQXyMsUjaOy+Amdhyr2/sSQCAko+g/QQ2SpqBtjY5KobJCp7l6d6utcKIGeTR+Ku
 31sd9Wi0d3ixKqlzESlKNjh1pnwjxpZGFUwWWJSIqQ=
IronPort-HdrOrdr: A9a23:2fWuUq0tPO7O9J0z8L6nPwqjBfdyeYIsimQD101hICG9E/bo4v
 xG+c5xuyMc5wxwZJheo6H9BEDtexLhHP1OkPos1MmZLWvbUQKTRekJ0WKI+UyCJ8SRzJ856U
 9qG5IOd+EZZTJB4foTi2ODfOrJD7O8nZyAtKPm6zNIcCkvUqdn6m5Ce3Sm+o8dfng5OXL8fq
 DslvauYlCbCAUqh7+Adx04dtmGncTPiJXlJTYeHnccmXCzpALt0qf+Dx+bmjwDUzZDqI1SjF
 TtokjC/6C+tPP+7RfZ2wbonvNrseqk8MJHGMuPzu4KLTn24zzYArhJavm5pTUop+Pq0nYG+e
 O82ysIDoBI8nbMeWPwmxf3xAX69z4r5xbZuCSlqEqmm9X9WDU5T/VMnphYdByx0TtbgO1B
X-Talos-CUID: 9a23:KtrN6WC3cthp/oH6Exh+z14SEPILSUHQ1Xn+fkWZFEloaoTAHA==
X-Talos-MUID: 9a23:oUJteAXGrApNeYPq/DKrpBxBMcRQ3/yBN3sOkrI4g+qoCQUlbg==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120365330"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XwphuLD/IVdU+C8HQJ9B4d/Nu0x3tJgjHaR/PXggyhG/zPEMr5/B4xllF3QCvJMTq/JktGdqGfITGCFxua4k+8nekn7UCsFiWHY2QB/ZVL1UzlsxMPVIx5o7u3IHwQRPpY8pxI8m+akfmWBs7HLkqKXZPNXYvBkzR5MGpSLaa91wBsmuQldNfnfmXNxFR6uIFuQVR2q5rH2pwypmd5c8mq7HIJbfHL+yy68dx+Puk0F03GfCO/gMF/T4OpRiL6GsVPsHkrS0hp96+0gu02omhaEw6jebb4pZ+va2+FLMvrWKeKxXJpO2RGHtPHi3CweIkhrAk5k6G/FXzY2ZvCuE5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1QpfZ8Y1pARBnsRsHN+REqsp6412lRLypRmEjE84+ok=;
 b=YqguywAP0OSsAIy0+AXtVYNRCcoY1E3xvcU9SgXa9VbVZO9oekI3n86Cp1dQX0039C4LZLBoMR+Eq3Y5hQ6jKs01UIiW+W1Ec8kGGu/Q8PVTcirKJJW3UCYv9rv/qh2QiD5FFqXHqDeHQBvVr/aH0OuQYM+GC7Y12XcUOtkpSlwy1cewQ/+PWi01WkHC/k4oVmXRjl0PhMAc1W+G05hslw+cFw1nXNEq5QYD203R2KuAvWOuKFMp7roVUvdxlwsEcWn1x5hpFwQWDA6hdWSXQ/NxUvJgLn8uUGjS37D1tiyKE32BMw1Xakz2kOWqFnJUNB8q6tR4qpnqO8OXU//KoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1QpfZ8Y1pARBnsRsHN+REqsp6412lRLypRmEjE84+ok=;
 b=xVLi8zS5Q9FtiQ9nwOCi6dQE5H1qEUfcsj+zmiUYTBEdoyym/ylKan01NLRzrw7yYFt4VrYWvkr2CqrfWFoVkJMzZxYXu9afBwkCI+LW+M8GHzwKh5AS1Esw9+Qe8LA6RHCZr1Xa/ejExk3J8yx87Ckh1e7ThX65EbriBDgBtWI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] xen/console: Set the default log level to INFO for release builds
Date: Thu, 24 Aug 2023 11:02:58 +0200
Message-ID: <20230824090258.96775-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.41.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0449.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:e::29) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|CO1PR03MB5795:EE_
X-MS-Office365-Filtering-Correlation-Id: c54595ad-bee0-4f36-fb7c-08dba480f54a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	80fAoL8CXejXUjTSH4N/QqLMZzfoU1xVvDeVm9q2XuVULDQv8gJCaZE1MvXDEFOCsH7WNbfhcapRN8Jjc35576jPOWETL86seGA4sm/UDULSQ+SNPHzubfRYWyItYAh/GouZTB7ImQ28gsyEe6H2MDd7Po4u1KiJBMRVV5m9GcnqJtxPUR3jw4e+x7LGwLhUntcx194jucSD76fDYxz+RsdQDl8RZ3Ghyz5QM4fqtmliUbt9cCKyaLLY/mqJIGCLFoQ7KyWeXBVqI1OAcfzhqzsxfdv5r3Hj0HjXsu3TfzsN8whZZTvhaLWsUmBG76jiqn90KMuxPHUENPvPZecyfgnrYC0G7BWWcR4DmSEyp5gQT0M16MzmgpvB5OQnSniJeULJT2CEmEAg1KjCrz4Ns5d4k6Vt43yjg+/9a9eVAM0eTghzTvROS9XWBr7+qU/jIgXGLsuvGbN+VXfVdQa62z3cpkgoQuGVcw2LUHuxir7rfNJTnUHzwE3slP0S+eiwBw9RhoUOQ9S5VU6b7j4wj/3pT9ZgTheDSjRaBNzYkDFFFE2hcVDBOydLlW9jyPwp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(346002)(376002)(396003)(136003)(1800799009)(186009)(451199024)(66476007)(54906003)(66946007)(66556008)(316002)(6916009)(82960400001)(478600001)(26005)(38100700002)(6666004)(41300700001)(6506007)(6486002)(86362001)(2906002)(6512007)(4326008)(8676002)(8936002)(83380400001)(2616005)(107886003)(5660300002)(1076003)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cC9rb3VlbSsrakxPalZObE9Ba0MzSjZWaDVKNUxzdDVsc2lnbFJ3MU5tT1ZR?=
 =?utf-8?B?N2FocTBPZ2E1aTJqNm5MSDA3bmttQ1ZFU2NUdXQrZFBnb3ZWNHBTK2RsQVZL?=
 =?utf-8?B?ZmdDcUpUaklsYmdSWWlkY2pnMElCbjFmTzhnZWI0bjJUM2NyZGphbjBvZjd3?=
 =?utf-8?B?YXB1bVY0QjVobGVZd1dYVlBzZ29yMEtrc0drNkp5UUVKT2lrZjdSdmdQa081?=
 =?utf-8?B?TWtaRjE0U28wbzA2OWlRdGhiTy9vQTVTdzE1ei9PVG1CL2MxVnk3cjhTZG01?=
 =?utf-8?B?MmhNQVhsTnM1RW9reW14MGlyeTQydGt1a3BZclNHd1VsMDA5SldkZDBOV0FN?=
 =?utf-8?B?ZXFIcDhEc3dsVlZMODNrWTRva2ZUOXk0S2plVDBZQ1o1eEZmRjdObC9PTlFD?=
 =?utf-8?B?eUJzNUp2S2V6elQ3d0pUS3o4NlUrbWlMdG04RVZsQko5KzJvdUMxVmlpRkJN?=
 =?utf-8?B?Zno5UExBbWpUZnlITjRFMC9ySTRCNnhuNzFCUERsWUtZL2hmVm1hTndadjZs?=
 =?utf-8?B?c3AyWFh1TjBKckVMQnkydmVjc1RQeGJ0bFBBRGZkOC91UCtNZTZMWVFhMmk2?=
 =?utf-8?B?Z1Nmdi8xbG0wdGxpU1FrbjlkUlBwRlJ0elJTN0JualZtR2hvUEExZWZHbU9H?=
 =?utf-8?B?Tk9MUnlaREhZQ1FPZ0ZVNjQrd0Z1WStVUTR1Y3R2Tnl2Z1lITmUyZVg1aFpW?=
 =?utf-8?B?bmNCSjh6bFhVcEFiSmtVRmQxR0tSNjk1TlFlM2twcjlveHhnU3pDQjNFbTVj?=
 =?utf-8?B?ckFsazhxd2plZ2VmdHhkS1dXU0x6K21WeVV1QUVUb0xjaTZYYkphdW1yY29Y?=
 =?utf-8?B?NkJvVVRtSTdjMmhvY0pPNTY2ajkyRUlLSTJsbEZNQ0VsakhZcFc0STZBM1N6?=
 =?utf-8?B?b2tjM2NLOU1zRWZzOTY4aWdtcEZ2Yy9DMEpUMG9TeUtSMHdDSGhVN0lyQ0do?=
 =?utf-8?B?ZlRrN3g1OUJXNE1kbTlrZUdCOHhBbGJTZGNKcnB6bG5kV2t6Znc5N3N2V29I?=
 =?utf-8?B?ckUyNW5Hdm92S0p4NGZqc3kxemhwMTZwNUdkSjE4TENLVzlRYnN5OXB0cGN1?=
 =?utf-8?B?dWl2QUtsN1ptSjAyZnlxNTA0bFZxSngvOFpzVFlUa3Zyb1gzQndCdDdBYkxZ?=
 =?utf-8?B?K0RyMGFMR0RPemY3cmFOdVZKRnB6QUY3QmtXTno1RDRuVmlyWVliZjd1bVBi?=
 =?utf-8?B?Z09UcVlHMWNvUnpvYzZORjA3bENEcjlkMy82L3FQVzhYVCtDR29oQTZkc0FQ?=
 =?utf-8?B?S1ZkekR4S2pmVGlGK0FYbDNCdDB5RUhhRUhBaHNpS3NIRUp5VjNDK21tZ0xP?=
 =?utf-8?B?MGlMVDRpYTV1R1VTNlBSNU04TGEvcTV0cWZoVXVDSXpWSUFicEZ4NXpyRDhF?=
 =?utf-8?B?OU8xdy9Nd3kvTFNLbXRKbGZubGJQMy9OaFZKc09VNFd6UFNSaUV2eGE3STJI?=
 =?utf-8?B?Sm5US1g5OUF1eWhjTFJXT3VHTGJKcnJvaExmdVNPNW9sNjdiMGhTcEZUR1pD?=
 =?utf-8?B?T0cybmljdmI0THhYcDEvQ0p5dnU3R1JSVkgyM2krNDNoQVUzWHNBU3MzM0xI?=
 =?utf-8?B?RTZNdEs3NUc0eG41bzgrTy9DV21HWTNPZjRHNlJQY3lyLytXdUQ5QW1uSFVX?=
 =?utf-8?B?UXo0cjlnVDNiUk9hV3I1clBtbUtKdGtxL2hSd1VHb0FGa3RkZDJyWXh0bDYz?=
 =?utf-8?B?UzIrWEJYaHhTRTFTWVlTYm1TcFQ5eHdPaUpMZnRFbmdXTjkxaDZ3Q1o3V2Yx?=
 =?utf-8?B?bnhydzFaOFJ3Y0tnTkdsTGd1Q216cjBaMkx0RDZta3ZMK1pLeEhlVmdUckha?=
 =?utf-8?B?dUNwNU1Hckw1N0UrVTVidUdlQXhMZmo5V2YxcDR2akNSQitIaWREZlZ6bWpW?=
 =?utf-8?B?QVYrbXZkY01NK0JneFIxNUdTY1UxOWNjT2NSQ1k0UnkrMkRxZThLSEpPR0dm?=
 =?utf-8?B?b1VIY2dVMmd4NElQOTIrM3RxTTRtTzBUVVVsT1RTYXIwbzZwdG5EUmV4KzJ1?=
 =?utf-8?B?RFFsM1QrYUdyVCs4SHcxTm12NFUrMzEyN3lpWmRtRFF0bGZCUGNYcGhGNG96?=
 =?utf-8?B?dERzQll1SCtMb0tFQnRyaDdmYTArVXhWeXFGbjNvMzFiREl0TjdkaU9vQ3Qr?=
 =?utf-8?B?RGxFS1lHWjlreUZZWW15a0ZUUTZJdVRtcmRsRXB6bWs2OVhmN3B1Y1V5T3Nu?=
 =?utf-8?B?WkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	oTbkDIudJTI7TiVSPQlfrnpom7ShqLBi+0M/F/KOzWODef4T5rChOV5yI54CrOuPJvQrPFIPW7c11t1OQuarl0QYFiM2wVa+PlgZ3kJhgSdrPjCSEhYM4+ePPcFJ0SDPYIhxAFDhA1mfTN7fFLjmEwVKgvw6qz5GlNoU5lIYGCQEU5JPfPUlVqNOdKNtMN3XCkor44ncTIB2lqLP/TeK9NP6pJbl+uAF8ixlhA5EeKoTs+YeZuBsYwi2lhgs0IQXdDbscnFLL12aHeu+JtyD1Fg0YGCygmU3AMcoXsReFlpIdWuy/Mv4QLXabrGV+A0syhUCuH43U2n1V1HZHweufApXu3BGnc0rjZcORGdR0RFIv60+nD6JamrlPjMKDp4JCnAlAm0ycNHkKWlOEcIUhMX74S4hTAPGg5ZCiQL4iXuzb/49Tw9IwFvL5A4p0/rVFIq4e9jH9zl21PzMKQV8ElE0B92MaSObDJiMrfyCPg+iFo3kjm3DZh7xT+5pg5C/28ZNXMUmnrnH1W3rJ4CRqQAwLdI1x6Ef0Mn3UbRF87JdDERGm/ThRUGCVfJ4h2AtDrgeSGzk1QdS3KL5IySnjjbm0xkucItifjoPtd9Cwv30OIa17UJ/5w8ot8nOGsuVt31OSD70P2JyVBGNLuAkenHwob1OuZP/xf17SFTjrt5JgAVGu6T4KcuhZQdRpxKwqIAXrdgrSOUMJdJus2yeLPsnUp5CnLmLzYExXj/QAyZCT71QS7eXJYnI15eeFLGPGaxug+p4/8WYwPRrXYHqhO+oNSWxASLRg+lom6eXYc3QBkHyT0CwDVPVGdGG4NBHQk2SmVItk22O8hRz14+W2M+FztJ2KAvRMcVpV2b7xbs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c54595ad-bee0-4f36-fb7c-08dba480f54a
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:03:18.5654
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZGivlmA3TPD0KHPUM1YDKyiY58noeJNWdZju5ZLvtTEzS+4pQyo8xdUZznkzG6WMAwhnj1nXbXk+rBrows/3tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5795

From: Ross Lagerwall <ross.lagerwall@citrix.com>

Not displaying INFO messages by default on release builds is not
helpful, as messages of that level are relevant for hypervisor
operation.  For example messages related to livepatches applied and
reverted are of INFO level.

Custom builds that require less verbose output can adjust it using the
command line, but attempt to provide all relevant information by
default on release builds.

Adjust the loglevel of printks that don't have an associated level to
INFO instead of WARNING, since INFO will now be printed by default on
all builds.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
 docs/misc/xen-command-line.pandoc | 2 +-
 xen/drivers/char/console.c        | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 5f388eb560c9..a3145983f623 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1706,7 +1706,7 @@ This option is available for hypervisors built with CONFIG_DEBUG_LOCKS only.
 ### loglvl
 > `= <level>[/<rate-limited level>]` where level is `none | error | warning | info | debug | all`
 
-> Default: `loglvl=warning`
+> Default: `loglvl=info`
 
 > Can be modified at runtime
 
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 0e410fa086df..f81b8b6b47d0 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -136,8 +136,8 @@ static DEFINE_SPINLOCK(console_lock);
  * the lower threshold equal to the upper.
  */
 #ifdef NDEBUG
-#define XENLOG_UPPER_THRESHOLD       2 /* Do not print INFO and DEBUG  */
-#define XENLOG_LOWER_THRESHOLD       2 /* Always print ERR and WARNING */
+#define XENLOG_UPPER_THRESHOLD       3 /* Do not print DEBUG  */
+#define XENLOG_LOWER_THRESHOLD       3 /* Always print INFO, ERR and WARNING */
 #define XENLOG_GUEST_UPPER_THRESHOLD 2 /* Do not print INFO and DEBUG  */
 #define XENLOG_GUEST_LOWER_THRESHOLD 0 /* Rate-limit ERR and WARNING   */
 #else
@@ -150,7 +150,7 @@ static DEFINE_SPINLOCK(console_lock);
  * The XENLOG_DEFAULT is the default given to printks that
  * do not have any print level associated with them.
  */
-#define XENLOG_DEFAULT       1 /* XENLOG_WARNING */
+#define XENLOG_DEFAULT       2 /* XENLOG_INFO */
 #define XENLOG_GUEST_DEFAULT 1 /* XENLOG_WARNING */
 
 static int __read_mostly xenlog_upper_thresh = XENLOG_UPPER_THRESHOLD;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:06:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:06:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589841.921883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6In-0001tE-Ej; Thu, 24 Aug 2023 09:06:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589841.921883; Thu, 24 Aug 2023 09:06:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6In-0001t7-BP; Thu, 24 Aug 2023 09:06:53 +0000
Received: by outflank-mailman (input) for mailman id 589841;
 Thu, 24 Aug 2023 09:06: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=6NC+=EJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qZ6Il-0001t1-Ea
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:06:51 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ddf0c26-425d-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 11:06:48 +0200 (CEST)
Received: from SA1P222CA0177.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::25)
 by IA1PR12MB6651.namprd12.prod.outlook.com (2603:10b6:208:3a0::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Thu, 24 Aug
 2023 09:06:45 +0000
Received: from SN1PEPF00026367.namprd02.prod.outlook.com
 (2603:10b6:806:3c4:cafe::e2) by SA1P222CA0177.outlook.office365.com
 (2603:10b6:806:3c4::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Thu, 24 Aug 2023 09:06:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00026367.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.6699.14 via Frontend Transport; Thu, 24 Aug 2023 09:06:44 +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.27; Thu, 24 Aug
 2023 04:06: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.27; Thu, 24 Aug
 2023 04:06:43 -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.27
 via Frontend Transport; Thu, 24 Aug 2023 04:06: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: 8ddf0c26-425d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hGeFD8Dle0NQkTNQxFoVh3VEY+g00ZyYujpzyOTC6azSDDO7XkkpOwhTGYnE/Nw74WhlVRXWrHlpDU8ydAiZX579T3/6GfwHrl8EUUm6NXP1yja2O7B1UyQplvJj7qPAkEiXMEx3JUMQzUDU4gBmvkL1pLSRuD+brQoitxzQQT7rcIJQuVLzRrFcVszWN2ic9WdpZbhpRasGJEByACsb/INQ3Xr2uw3jCybYExuNqq0pGdp5PE8VffOQnOmCD3x+EENB6f0dryp6tjYTmK6j3ZwhGEuvtTtH1p0nGrX/Ivv+jVh8GMkbUmd3lq7obgyoDoECuotaIn+oE7xdlxE4hA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5oa2P7g2Yo5D+ZwtVfauh4e9cq1iHtWwSzAl2ftEMU0=;
 b=glr4YJPmxrRfiYakbwtQpcg+S9ZkNYwFw56LThF5JSspNFh9zo7c8MHHjLum0Iuf4gYMcs6E3GFqJJSXxr4uSPc0QhtP5fA7JdOuJ3mcQHzdvr/62loWd/Yy0fyzFxUhnDzb+eaTBzzCDaLUBHfz61ox6+rveWWsX1NiaNjUIxenmF8bqXjbPlAOjHFYICFUqTCGdAPscPdVcpI4Z4GVZhd2wWhJIGRRRSduFJbjaUMaYGhDPLAoA7co9bcpwgHHDoBHCJ0ntim4YTJeh2mBnmnD0Y+fou35lTOIU+ExUqffMZkiYD4g33yvPsWTh3+/a/SaZJk60CIQZpLJRHMNhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5oa2P7g2Yo5D+ZwtVfauh4e9cq1iHtWwSzAl2ftEMU0=;
 b=p5eulpypI7B6SZnvLvd5Kwg5Bh5go9XOOblc6lLr+yiAsiUW1ZBUj2qkLqqO+9enjkO8toSIlo3ht/ig47niwKylsWDSd3oZvreTqWiJSoZOq31zGmGB8imMx9HxElgY1rLvpzRZuMAC/ksB5bcmrYcdfhJEcghoKQvpAsaSusU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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] xen/arm: Handle empty grant table region in find_unallocated_memory()
Date: Thu, 24 Aug 2023 11:06:40 +0200
Message-ID: <20230824090640.25338-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: SN1PEPF00026367:EE_|IA1PR12MB6651:EE_
X-MS-Office365-Filtering-Correlation-Id: 902b5b13-5fa8-4051-d358-08dba4817060
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Cn+3DcgEi9EGHYgsm5KDo6tq7r8FwquKn7yh4taYNvdSr84Q0uofh4xAsHx/4vdS921QxpAhok90AdWAb4lz2ymIfp+hzoOVB/H9aO6FvlRVy0RHjJyU60q3e292IUHLtpoXPpG6VYeag3G+ZaZBWleoSeFfDtbkZrjoq46mrJnSAIkKrdykVCSv3cZnCP6TJwWLTaes6as3gDPUqXxdJUmMXKaq9x9nt/GvFaS7Vofg8SN/98O4RvypMl+ur7ZJIDE8p2+LD1urIpzdFd3zlm/FD56eTufjjyl7aJrxSGuiMdTjNba1/b9+vafK1Ks0yyvABggKEGIrhn4plngCx8R3mNVCL5i33nJ1DTiOkhXDdqCaGyvSsZ2vI1M6aHApTlVJ48j0xOB44qQARJc8qFrMmaeQ9NzPGgZEXSEqcSW7LcBY0/tIBhzqDDuMZHR3tLHXK4ZTL25rpRVA9wfuiCx6KASJecZJ1FptIDxlM46Qs/+gITxTQzFc4EeJR83rajshBGSd3V7rLcEPyfAm3FU7oyS3ctlxAlQeD0rFvPFYL/nES4P96jGhgraT6/1fvnzfZpeK3S+te1BGY8cfqtsVB9dHIBBXFwbvU4OsQiS9YsWJrsuoPHODM0kHQ29X6i0wCXN/2bMUl2G+0CA+x2WQsMMKOoBILjicwtL23whUp9+QEXKqrTBPv9xoV/plfPyAOmBF+BVdNCEIfjpElS1bVvCR8uKMhnB0djRH+q4nwgkhMCOL4ahdrzJVBHOIu35I6Tn/HdeTdlY6TfA6Lg==
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)(4636009)(396003)(376002)(136003)(39860400002)(346002)(451199024)(186009)(1800799009)(82310400011)(46966006)(40470700004)(36840700001)(86362001)(40460700003)(36756003)(40480700001)(44832011)(1076003)(5660300002)(26005)(2616005)(426003)(336012)(4326008)(47076005)(8936002)(8676002)(2906002)(83380400001)(478600001)(70586007)(70206006)(316002)(6916009)(54906003)(41300700001)(356005)(81166007)(82740400003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:06:44.5562
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 902b5b13-5fa8-4051-d358-08dba4817060
X-MS-Exchange-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:
	SN1PEPF00026367.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6651

When creating dom0 with grant table support disabled in Xen and no IOMMU,
the following assert is triggered (debug build):
"Assertion 's <= e' failed at common/rangeset.c:189"

This is because find_unallocated_memory() (used to find memory holes
for extended regions) calls rangeset_remove_range() for an empty
grant table region. Fix it by checking if the size of region is not 0.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 54bf5623c889..2e899458acdf 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1633,14 +1633,18 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     }
 
     /* Remove grant table region */
-    start = kinfo->gnttab_start;
-    end = kinfo->gnttab_start + kinfo->gnttab_size;
-    res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end - 1));
-    if ( res )
+    if ( kinfo->gnttab_size )
     {
-        printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-               start, end);
-        goto out;
+        start = kinfo->gnttab_start;
+        end = kinfo->gnttab_start + kinfo->gnttab_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;
+        }
     }
 
     start = 0;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:10:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:10:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589848.921893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6M4-0003R5-U3; Thu, 24 Aug 2023 09:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589848.921893; Thu, 24 Aug 2023 09:10:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6M4-0003Qy-Q4; Thu, 24 Aug 2023 09:10:16 +0000
Received: by outflank-mailman (input) for mailman id 589848;
 Thu, 24 Aug 2023 09:10:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ6M3-0003Qs-LJ
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:10:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ6M3-00089H-2E; Thu, 24 Aug 2023 09:10:15 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ6M2-00077X-SN; Thu, 24 Aug 2023 09:10:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TnVNdBRX1cZ7qOIMm6fs+LzFp3SCoDFVSuuB+HxGGjM=; b=pfX6u1WkksIxdzJDgXXSrl2ddI
	qfmd5JlfdyX79quNZrU5+aWHvKXNvmHtjUzh8SoI/Mkj8z5jBv5dnFRExgpyupfwNXP5zc63dbrK1
	02hFw077jL2nQ9lfT3gpoGz8XdYR72dGSKt/34w9O5QlPmHr0sdpP9G3XrpQVX0ZJJcc=;
Message-ID: <7d216ef6-398c-4086-8a7a-33e80dcacda7@xen.org>
Date: Thu, 24 Aug 2023 10:10:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Handle empty grant table region in
 find_unallocated_memory()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230824090640.25338-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230824090640.25338-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/08/2023 10:06, Michal Orzel wrote:
> When creating dom0 with grant table support disabled in Xen and no IOMMU,
> the following assert is triggered (debug build):
> "Assertion 's <= e' failed at common/rangeset.c:189"

A partial stack trace would have been handy. This help the reader to 
understand how you came to the conclusion that the issue was in 
find_unallocated_memory().

> 
> This is because find_unallocated_memory() (used to find memory holes
> for extended regions) calls rangeset_remove_range() for an empty
> grant table region. Fix it by checking if the size of region is not 0.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

The change itself looks fine. So with the stack trace add:

Reviewed-by: Julien Grall <jgrall@amazon.com>

> ---
>   xen/arch/arm/domain_build.c | 18 +++++++++++-------
>   1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 54bf5623c889..2e899458acdf 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1633,14 +1633,18 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
>       }
>   
>       /* Remove grant table region */
> -    start = kinfo->gnttab_start;
> -    end = kinfo->gnttab_start + kinfo->gnttab_size;
> -    res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end - 1));
> -    if ( res )
> +    if ( kinfo->gnttab_size )
>       {
> -        printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
> -               start, end);
> -        goto out;
> +        start = kinfo->gnttab_start;
> +        end = kinfo->gnttab_start + kinfo->gnttab_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;
> +        }
>       }
>   
>       start = 0;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:17:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589855.921903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6Sx-00047S-JF; Thu, 24 Aug 2023 09:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589855.921903; Thu, 24 Aug 2023 09:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6Sx-00047L-Ge; Thu, 24 Aug 2023 09:17:23 +0000
Received: by outflank-mailman (input) for mailman id 589855;
 Thu, 24 Aug 2023 09:17: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=6NC+=EJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qZ6Sw-00047F-OH
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:17:22 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 071e6ca9-425f-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 11:17:21 +0200 (CEST)
Received: from PH7PR13CA0002.namprd13.prod.outlook.com (2603:10b6:510:174::6)
 by DS7PR12MB5717.namprd12.prod.outlook.com (2603:10b6:8:70::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 09:17:17 +0000
Received: from SA2PEPF000015C7.namprd03.prod.outlook.com
 (2603:10b6:510:174:cafe::78) by PH7PR13CA0002.outlook.office365.com
 (2603:10b6:510:174::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6723.16 via Frontend
 Transport; Thu, 24 Aug 2023 09:17:17 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C7.mail.protection.outlook.com (10.167.241.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 24 Aug 2023 09:17:16 +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.27; Thu, 24 Aug
 2023 04:17:15 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 24 Aug 2023 04:17: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: 071e6ca9-425f-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j2XFmTBmzsOAlwZpg1C2Goa6dowNYe16IOMU81KgMZSPu69LVd2NYU/jSngYL3Wc3S7Kz/J6cBaGw9Gbp6ZJVJ4DFkivVQ2TLM+5JEqSNirb93B83Wk6YShliOJhGs6Pq6vf165ClG4IWfvUudiZ++ziLlyiuG7L0eYUJIMlS7qzqKvjB4WQwD8tWJGjfYk6rJltcuy0liDDbnKQ1B6tm/0I9FMc+fU8ZEoL1WC1IiQKalShD2tfZrR6X6ITyRgKPuaSOA823FUyLTLkyHSUMkqgXXu+oqskfUxc8u56TLo9GcGL9hfGM7Pg+HGct5ywqIlZa04V3H+MWc7YZBHqSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sLLpsbOQFVd/b2l1oWdWwqVCSvZFu0aftlLTVCXcmOo=;
 b=oftdzyIO7QoILhMJucvjT1260S4dMfLJxQvGn8XrPMnxRNzrZYsTrrjcn5KCKQ2NlCm8g/J4aPyAiELkJsR7NJhFPNvdJvVMVwOV/rZE7sNdOGiKFxNeqMm/4W+Ui7jhV0O7CFN046Qa7EbIR8xp4f5HnsbWiT3+Yjtt/KkJMgOarImDYo3OIwL3smUfnbD/JJX2LtL4Uxu62+JXyQvkd6bNWL0/D66GGD+5BZZEpKwOwcE5SHrPRLVqOYFfTzmLLQj/jNPgpwFhrWOlNYj27NID1STwVbNYv0SsVtqlXhRAFWti4Tg6KLB2Al6rV3bUCLAGV5GfMeqkMIliyb37MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sLLpsbOQFVd/b2l1oWdWwqVCSvZFu0aftlLTVCXcmOo=;
 b=ZFvAvlenJKzJKWHh/9hw5bESl3IbPHuIrIJS7qXx5SOGf4HVZi0PmmYbQLTkFKxwne9zSD5Xnp3Iw1MSQWE7kuZ94Vmavs7FZ5LfKbH/y+fivvbXO4kGPSdYHOs3UD13o0r1FSH/Z/mGkXQ7JvNUfdgFEqLDANQ5+Z6HTTuS4Nw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d029d806-33a2-6774-4aa2-ae8f1303288b@amd.com>
Date: Thu, 24 Aug 2023 11:17:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] xen/arm: Handle empty grant table region in
 find_unallocated_memory()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230824090640.25338-1-michal.orzel@amd.com>
 <7d216ef6-398c-4086-8a7a-33e80dcacda7@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <7d216ef6-398c-4086-8a7a-33e80dcacda7@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C7:EE_|DS7PR12MB5717:EE_
X-MS-Office365-Filtering-Correlation-Id: c3860b85-0641-4b40-b6c0-08dba482e94f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TnwWJAU9MbpV2yEhUtMMnsn1bWlDgL3AcmHGV0YJfoDITPWaTXSrEFpm/O32OuaBjnKYiyXW3lW8pzIqlVOqfbp3d+z8/+NcdzmwniFAbcpPqcqKyUBZ5q1T/1XmndrD8xRm75RhkniXb4fgSMqGO1p79M/jQvBaXqG95jrAlzeILDUuFjnxSmRHwPajHqrf5RY6nyIWzZD1ZeA6Lrh4/q1ZJgZzv9APDcrUapAfAYlARo0hmgpMTOsmufSPk4jrL61tnZ/HE0YCV7iC67CJb6BITY7aBP+3h+7wpkmoDiC5nBltaE4HItujHTGNcpGGPHeMhhkYdviRvXJnwR4ywAp149qxkPHt1E1joUDZROmE48e4BqgVNDXB0IB0abI3w8/e1J7wKNuhnCczzAFqGcpY2bFeS9Qrg8M+J+VoMbB61/xvUKbqtXnAjpd9pwpkBXlp7dBt4FBHg7dC6QCc2L9QvNdP21eyJYTZv8X2RWY1Xr7smIVJ85Em0z+VPJURa6uA6TVLkK44cm8XgYl+7Y5hRkaKuETRU/h0Ih1/YpdDywydpmQrZo9/2dPhDxiQKGJMGGVuGWHZpL9rSqCP0ST5cIAak9+QhTlMCD5Ax/hblZ13VSa6FnUU9FmehAv+jAjS/9kv1FPIHYRCMv/zuZ0QoBNDkt4jn/MyDoOl2GUkJ0kpVRR1gYB54xso5LolWsuVRJqh9Bja6nm40F6GD7dn98vhxUtb7pU27i3bZLCq+7eAZF2pGHQTNyPNFlErIlTxjgRunL3PtlgmPa9su7KHVCAxoG+YTc4uDWDtABgXDEED9cAqMTNyy2Zo4yNc
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)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199024)(186009)(82310400011)(1800799009)(46966006)(40470700004)(36840700001)(54906003)(70206006)(70586007)(316002)(81166007)(16576012)(478600001)(110136005)(26005)(44832011)(36860700001)(356005)(82740400003)(40480700001)(41300700001)(53546011)(86362001)(31696002)(2906002)(31686004)(4326008)(8676002)(8936002)(40460700003)(2616005)(5660300002)(83380400001)(4744005)(36756003)(336012)(47076005)(426003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:17:16.9451
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c3860b85-0641-4b40-b6c0-08dba482e94f
X-MS-Exchange-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:
	SA2PEPF000015C7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5717

Hi Julien,

On 24/08/2023 11:10, Julien Grall wrote:
> 
> 
> Hi,
> 
> On 24/08/2023 10:06, Michal Orzel wrote:
>> When creating dom0 with grant table support disabled in Xen and no IOMMU,
>> the following assert is triggered (debug build):
>> "Assertion 's <= e' failed at common/rangeset.c:189"
> 
> A partial stack trace would have been handy. This help the reader to
> understand how you came to the conclusion that the issue was in
> find_unallocated_memory().
Here you go:
(XEN) Xen call trace:
(XEN)    [<0000020000218568>] rangeset_remove_range+0xbc/0x2cc (PC)
(XEN)    [<00000200002c76bc>] domain_build.c#make_hypervisor_node+0x294/0x7c4 (LR)
(XEN)    [<00000200002ca240>] domain_build.c#handle_node+0x7ec/0x924
(XEN)    [<00000200002ca7ac>] domain_build.c#construct_dom0+0x434/0x4d8

Can you append this to the commit msg while committing or do you want a respin?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:46:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589862.921913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6vS-0007wP-G0; Thu, 24 Aug 2023 09:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589862.921913; Thu, 24 Aug 2023 09: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 1qZ6vS-0007wI-DF; Thu, 24 Aug 2023 09:46:50 +0000
Received: by outflank-mailman (input) for mailman id 589862;
 Thu, 24 Aug 2023 09: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=OPn2=EJ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qZ6vR-0007wA-9T
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:46:49 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe16::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 247080b5-4263-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 11:46:47 +0200 (CEST)
Received: from DB8PR09CA0002.eurprd09.prod.outlook.com (2603:10a6:10:a0::15)
 by AM8PR08MB5682.eurprd08.prod.outlook.com (2603:10a6:20b:1c5::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 09:46:41 +0000
Received: from DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:a0:cafe::fc) by DB8PR09CA0002.outlook.office365.com
 (2603:10a6:10:a0::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Thu, 24 Aug 2023 09:46:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT059.mail.protection.outlook.com (100.127.142.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.17 via Frontend Transport; Thu, 24 Aug 2023 09:46:41 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Thu, 24 Aug 2023 09:46:40 +0000
Received: from 0e55205e33be.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 54D925E4-0850-4EF0-A67B-3161A67F3499.1; 
 Thu, 24 Aug 2023 09:46:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0e55205e33be.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 24 Aug 2023 09:46:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB10359.eurprd08.prod.outlook.com (2603:10a6:10:416::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25; Thu, 24 Aug
 2023 09:46:27 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 09:46: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: 247080b5-4263-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5kAEqknmIv6gd0dQt+e5yLwEhAz7CDNw+QowN1LdbZg=;
 b=9g9CoyWZZzKEUT7IwtA4TiKTbUJNDwOPJwuupXV2/0Yn8V8jAQJrTzx5I5l8okbqWXpXf5A2Fg7m4bs8A23t8CKnWN6RWY/4+MKqHaxmaMFNAYS64Eb8QmBACowvmmjKMsKubtKadgg2CXddYwmKQ+US0fJMe5BeqxwS4Zc0A1U=
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: 185b167dfeea7769
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jae7StxTxRofI/hcNeOuZjHVr6jlEaJHjZbYlUoSxIMMCTE/8hXRtOpriDCVZRU4li7W1bNv16OiTg8leRsY2g0Ow2oJ16pY6x7eoMdkr9mELcw1LvveF81E+bUwTgJkddtcnt2G9mvT842CJ1MZ6DWeWL7xA8gP8ispzqFbqSq+0Xfr86N3uBoji0SWEDb916MGX9siEoFc2vmK8uE5blvARohs5NI0GObTZLOv6fQvslPq3rCSRrmnfW27N9atNvWrQ8xiZ3AdYrvIWwEz4Ov8PX7zzW0wP5g3+t4TPaQA0Yhftuot85vGbWl/11Zg1h7evEhQJtdKD2v0ZtnwoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5kAEqknmIv6gd0dQt+e5yLwEhAz7CDNw+QowN1LdbZg=;
 b=JCR+T21JS3Qpr8/ZIMaOyP4nMHVxtHJRXctBNDcGEvopx4TjJtxj7Bim56LzG5ie2FR1+zgxQ0o5GdKoy15AlsUq70QeD84oNqOvHrhaaXKzDJRjTBliVavkib6v0wGVOl1mEqhfg9LRy0a712fDhNeOeUUrJxMblVNno/VSkqOP9keVOofCr0qiQQ+iMWGrlA3t5nATrMyxa5QiJoqs5d1Y9rasxWP+HIupjrb5PrnHf7nZC2c4NgYzCYRuuxE1UlTte9I5t8gS26t7wzHNc1NjUwfsBLMIgJweifTU9OVnSwSbMGLl+WQGWv83C0Eua3g+MUzWE1SLC0MLiwQgMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=5kAEqknmIv6gd0dQt+e5yLwEhAz7CDNw+QowN1LdbZg=;
 b=9g9CoyWZZzKEUT7IwtA4TiKTbUJNDwOPJwuupXV2/0Yn8V8jAQJrTzx5I5l8okbqWXpXf5A2Fg7m4bs8A23t8CKnWN6RWY/4+MKqHaxmaMFNAYS64Eb8QmBACowvmmjKMsKubtKadgg2CXddYwmKQ+US0fJMe5BeqxwS4Zc0A1U=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function names
 for extendability
Thread-Topic: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function
 names for extendability
Thread-Index: AQHZzmeKSbzvNCb8Y0ecj302axbRZK/1HuGAgAQj9YA=
Date: Thu, 24 Aug 2023 09:46:27 +0000
Message-ID: <FBF340E4-5927-48E0-A23B-7D2F8DC8C33C@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-10-Henry.Wang@arm.com>
 <c039015f-43d4-491f-b44c-8ece186e08e4@xen.org>
In-Reply-To: <c039015f-43d4-491f-b44c-8ece186e08e4@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB10359:EE_|DBAEUR03FT059:EE_|AM8PR08MB5682:EE_
X-MS-Office365-Filtering-Correlation-Id: 667cce57-7d93-4a9b-4ba5-08dba48704c4
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:
 4k7R5Lw2aBUYfO58tD3N/4Zi2NKug+0UMF/YoxQzG2eXmipTr/NHdHfw1PI2JQCq4TQLzDMSw5sMX881D/qom4pMfhBbp/LIibHMo0rCApYbxbe4hZhLWiosOP0p0L8eanLfx30AmTbLYasy5QEbJ3hMXnD4nRvjGXCJzCQXCTxYfC6JOyiz7Gl3XJamDAwywGdsLF4+sSt61tDL/ZcZc+kKf72zVB3PbwWH27S7LCltEi9DZIEybG90on9rwYvgyLcBMCmPtpkjJiFx/VLC2cyTO9i2LmSFzpJ8MSuk6wvpjk3jG9BzBa4gbPQYD3SaS11thDv7xlfERxRIQkajsYX8PWhJM8OL5U2zgvMTZmfoxL0mvhXgdJvzofMyawb9pVC305RiQV5S4NSP/CRVRzXn5rZW7EnWgkjPOnXnvJYY/VSrIQUXvFU10+cBIHtsdcYxareRA9j1LvfkuvV4+IjdOVBJBcwRaCrKql+bbcsoybvm5IOzRQXYW+l9OgeP1yoSUNnJF45jr100Ovc1iTroxT+2X4ATolSQVE+bSlOHodoX6DmAQ+QPClPe93V49I+rb1v1kR6qOViMePwGxggOFulPKZiSGyEC6hlf9UrzcGBAP93J8To9wJ0r/BGmRWzYlXsKz4DZ0iNUK5kdaEIL5sZNa7cgMKB04rPEdDo=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(136003)(346002)(366004)(451199024)(186009)(1800799009)(83380400001)(2906002)(64756008)(71200400001)(6916009)(66446008)(316002)(66476007)(6506007)(6486002)(66556008)(54906003)(91956017)(76116006)(53546011)(478600001)(86362001)(33656002)(36756003)(66946007)(2616005)(5660300002)(26005)(8676002)(38100700002)(41300700001)(6512007)(122000001)(38070700005)(4326008)(8936002)(41533002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <58BCD166C253D04E9ADD089FFCEA9F0A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB10359
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8074e906-82de-4cac-a4a4-08dba486fcc3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3g+WSGHn+YmTdGa3ouZ+f/GJpM3Gf6cODBI3CIRDp92atY3m6RyZTQum1fK3rgT/q7XLYpXmW2R+dpspzd+4nzW5URJGs6UKrgtHzyttzQpP+/6avQkgFkbExFq6c9MVQyop/188Yj0l0jEfSj6YejhNsz4hCdqBqmXKzU5QerjWP9+X5VoIbb1TQuBuUyZ0uo7Uxgn+4yjVUFXvamy7GhfHNrFIM8wTJgJwrORTTj5yd/GQOhY2slmeRLuZaDOegfaHR4IlSC7+MuiwMXoFhtjbAcwAlN71lijPvMkkhBfh/3FHTFz0FUv6ILgyaxQfgCAJb64hgLhFnrd3sF6vt77V2s2t3tkkrMayCzMePYW7dsywGZgGt/k5Dhdqvjp3CdIoUpxP6pk77HhLR1rxdoCBscWF5Fr6lXMeL7LZzjDpLOkAitSxqXhVXpKOIc1WGmKz3rbWEZlb38+7IaiQDUZQz0/NR8hQVSdov7wX1HaGVVPxG3ZIZ5itNMjpaoKNefOE9VmGtVA3yapTkuiRhyZE/jbwcf6rxMEwZst3UmccJM6JsQeJCtkVGx87zWFSHHVFZku9xYEjAwrWHEDgfZ1uAzUhdn1/IWghTZXd+EW5huZtoPqtF46CMbpk6b0fHnXjX07HxzbeE1IWWVn7MMGVa7psxrdIilmm0a10VwOHBpEllJLeeecoybDNcLbpe3iVyUZZMlNvpbz8CzIvkQYP1NyzUgxx7pZfPe3dB3XpmMrNBQFGq9c9zVuGdNAqneCHZOmCkkxY9gkD28EwXA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(346002)(396003)(39860400002)(376002)(451199024)(186009)(82310400011)(1800799009)(40470700004)(46966006)(36840700001)(54906003)(70206006)(70586007)(40480700001)(316002)(81166007)(478600001)(26005)(36860700001)(356005)(82740400003)(41300700001)(53546011)(86362001)(6486002)(2906002)(6506007)(6512007)(4326008)(6862004)(8676002)(8936002)(40460700003)(2616005)(107886003)(5660300002)(83380400001)(33656002)(36756003)(336012)(47076005)(41533002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:46:41.0570
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 667cce57-7d93-4a9b-4ba5-08dba48704c4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5682

SGkgSnVsaWVuLA0KDQo+IE9uIEF1ZyAyMiwgMjAyMywgYXQgMDI6MzIsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAxNC8wOC8yMDIzIDA1
OjI1LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gRnJvbTogUGVubnkgWmhlbmcgPHBlbm55LnpoZW5n
QGFybS5jb20+DQo+PiBBcyBwcmVwYXJhdGlvbiBmb3IgTVBVIHN1cHBvcnQsIHdoaWNoIHdpbGwg
dXNlIHNvbWUgdmFyaWFibGVzL2Z1bmN0aW9ucw0KPj4gZm9yIGJvdGggTU1VIGFuZCBNUFUgc3lz
dGVtLCBXZSByZW5hbWUgdGhlIGFmZmVjdGVkIHZhcmlhYmxlL2Z1bmN0aW9uDQo+PiB0byBtb3Jl
IGdlbmVyaWMgbmFtZXM6DQo+PiAtIGluaXRfdHRiciAtPiBpbml0X21tLA0KPiANCj4gWW91IG1v
dmVkIGluaXRfdHRiciB0byBtbS9tbXUuYy4gU28gd2h5IGRvZXMgdGhpcyBuZWVkIHRvIGJlIHJl
bmFtZWQ/DQo+IA0KPiBBbmQgaWYgeW91IHJlYWxseSBwbGFubmVkIHRvIHVzZSBpdCBmb3IgdGhl
IE1QVSBjb2RlLiBUaGVuIGluaXRfdHRiciBzaG91bGQgbm90IGhhdmUgYmVlbiBtb3ZlZC4NCg0K
WW91IGFyZSBjb3JyZWN0LiBJIHRoaW5rIHdlIG5lZWQgdG8gdXNlIHRoZSDigJxpbml0X21t4oCd
IGZvciBNUFUgU01QIHN1cHBvcnQsDQpzbyBJIHdvdWxkIG5vdCBtb3ZlIHRoaXMgdmFyaWFibGUg
aW4gdjYuDQoNCj4gDQo+PiAtIG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSAtPiBtbV9pbml0X3Nl
Y29uZGFyeV9jcHUoKQ0KPj4gLSBpbml0X3NlY29uZGFyeV9wYWdldGFibGVzKCkgLT4gaW5pdF9z
ZWNvbmRhcnlfbW0oKQ0KPiANCj4gVGhlIG9yaWdpbmFsIG5hbWluZyB3ZXJlIG5vdCBncmVhdCBi
dXQgdGhlIG5ldyBvbmUgYXJlIGEgbG90IG1vcmUgY29uZnVzaW5nIGFzIHRoZXkgc2VlbSB0byBq
dXN0IGJlIGEgcmVzaHVmZmxlIG9mIHdvcmQuDQo+IA0KPiBtbV9pbml0X3NlY29uZGFyeV9jcHUo
KSBpcyBvbmx5IHNldHRpbmcgdGhlIFd4TiBiaXQuIEZvciB0aGUgTU1VLCBJIHRoaW5rIGl0IGNh
biBiZSBkb25lIG11Y2ggZWFybGllci4gRG8geW91IGhhdmUgYW55dGhpbmcgdG8gYWRkIGluIGl0
PyBJZiBub3QsIHRoZW4gSSB3b3VsZCBjb25zaWRlciB0byBnZXQgcmlkIG9mIGl0Lg0KDQpJ4oCZ
dmUgZ290IHJpZCBvZiBtbXVfaW5pdF9zZWNvbmRhcnlfY3B1KCkgZnVuY3Rpb24gaW4gbXkgbG9j
YWwgdjYgYXMgaXQgaXMgbm93DQpmb2xkZWQgdG8gdGhlIGFzc2VtYmx5IGNvZGUuDQoNCj4gDQo+
IEZvciBpbml0X3NlY29uZGFyeV9tbSgpLCBJIHdvdWxkIHJlbmFtZWQgaXQgdG8gcHJlcGFyZV9z
ZWNvbmRhcnlfbW0oKS4NCg0KU3VyZSwgdGhhbmtzIGZvciB0aGUgbmFtZSBzdWdnZXN0aW9uLg0K
DQo+IA0KPj4gIC12b2lkIHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKGJvb2wgZW5hYmxlKQ0KPj4g
K3N0YXRpYyB2b2lkIHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKGJvb2wgZW5hYmxlKQ0KPiANCj4g
V2h5IG5vdCBzaW1wbHkgcmVuYW1pbmcgdGhpcyBmdW5jdGlvbiB0byB1cGRhdGVfbW1fbWFwcGlu
ZygpPyBCdXQuLi4NCj4gDQo+PiAgew0KPj4gICAgICBwYWRkcl90IGlkX2FkZHIgPSB2aXJ0X3Rv
X21hZGRyKF9zdGFydCk7DQo+PiAgICAgIGludCByYzsNCj4+IEBAIC0xMjAsNiArMTIwLDExIEBA
IHZvaWQgdXBkYXRlX2lkZW50aXR5X21hcHBpbmcoYm9vbCBlbmFibGUpDQo+PiAgICAgIEJVR19P
TihyYyk7DQo+PiAgfQ0KPj4gICt2b2lkIHVwZGF0ZV9tbV9tYXBwaW5nKGJvb2wgZW5hYmxlKQ0K
PiANCj4gLi4uIHRoZSBuZXcgbmFtZSBpdCBxdWl0ZSBjb25mdXNpbmcuIFdoYXQgaXMgdGhlIG1h
cHBpbmcgaXQgaXMgcmVmZXJyaW5nIHRvPw0KDQpTbyBJIGNoZWNrZWQgdGhlIE1QVSBTTVAgc3Vw
cG9ydCBjb2RlIGFuZCBub3cgSSB0aGluayBJIHVuZGVyc3RhbmQgdGhlIHJlYXNvbg0Kd2h5IHVw
ZGF0ZV9tbV9tYXBwaW5nKCkgd2FzIGludHJvZHVjZWQ6DQoNCkluIHRoZSBmdXR1cmUgd2UgZXZl
bnR1YWxseSBuZWVkIHRvIHN1cHBvcnQgU01QIGZvciBNTVUgc3lzdGVtcywgd2hpY2ggbWVhbnMN
CndlIG5lZWQgdG8gY2FsbCBhcmNoX2NwdV91cCgpIGFuZCBhcmNoX2NwdV91cF9maW5pc2goKS4g
VGhlc2UgdHdvIGZ1bmN0aW9ucyBjYWxsDQp1cGRhdGVfaWRlbnRpdHlfbWFwcGluZygpLiBTaW5j
ZSB3ZSBiZWxpZXZlICJpZGVudGl0eSBtYXBwaW5nIiBpcyBhIE1NVSBjb25jZXB0LA0Kd2UgY2hh
bmdlZCB0aGlzIHRvIGdlbmVyaWMgbmFtZSAibW0gbWFwcGluZ+KAnSBhcyBhcmNoX2NwdV91cCgp
IGFuZCANCmFyY2hfY3B1X3VwX2ZpbmlzaCgpIGlzIGEgc2hhcmVkIHBhdGggYmV0d2VlbiBNTVUg
YW5kIE1QVS4NCg0KQnV0IEkgdGhpbmsgTVBVIHdvbuKAmXQgdXNlIHVwZGF0ZV9tbV9tYXBwaW5n
KCkgZnVuY3Rpb24gYXQgYWxsLCBzbyBJIHdvbmRlciBkbw0KeW91IHByZWZlciBjcmVhdGluZyBh
biBlbXB0eSBzdHViIHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKCkgZm9yIE1QVT8gT3IgdXNlICNp
ZmRlZg0KYXMgc3VnZ2VzdGVkIGluIHlvdXIgcHJldmlvdXMgZW1haWwuLi4NCg0KPiANCj4gSWYg
eW91IGRvbid0IHdhbnQgdG8ga2VlcCB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZygpLCB0aGVuIEkg
d291bGQgY29uc2lkZXIgdG8gc2ltcGx5IHdyYXAuLi4NCg0K4oCmaGVyZSBhbmQgLi4uDQoNCj4g
DQo+PiArew0KPj4gKyAgICB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZyhlbmFibGUpOw0KPj4gK30N
Cj4+ICsNCj4+ICBleHRlcm4gdm9pZCBzd2l0Y2hfdHRicl9pZCh1aW50NjRfdCB0dGJyKTsNCj4+
ICAgIHR5cGVkZWYgdm9pZCAoc3dpdGNoX3R0YnJfZm4pKHVpbnQ2NF90IHR0YnIpOw0KPj4gQEAg
LTEzMSw3ICsxMzYsNyBAQCB2b2lkIF9faW5pdCBzd2l0Y2hfdHRicih1aW50NjRfdCB0dGJyKQ0K
Pj4gICAgICBscGFlX3QgcHRlOw0KPj4gICAgICAgIC8qIEVuYWJsZSB0aGUgaWRlbnRpdHkgbWFw
cGluZyBpbiB0aGUgYm9vdCBwYWdlIHRhYmxlcyAqLw0KPj4gLSAgICB1cGRhdGVfaWRlbnRpdHlf
bWFwcGluZyh0cnVlKTsNCj4+ICsgICAgdXBkYXRlX21tX21hcHBpbmcodHJ1ZSk7DQo+PiAgICAg
ICAgLyogRW5hYmxlIHRoZSBpZGVudGl0eSBtYXBwaW5nIGluIHRoZSBydW50aW1lIHBhZ2UgdGFi
bGVzICovDQo+PiAgICAgIHB0ZSA9IHB0ZV9vZl94ZW5hZGRyKCh2YWRkcl90KXN3aXRjaF90dGJy
X2lkKTsNCj4+IEBAIC0xNDgsNyArMTUzLDcgQEAgdm9pZCBfX2luaXQgc3dpdGNoX3R0YnIodWlu
dDY0X3QgdHRicikNCj4+ICAgICAgICogTm90ZSBpdCBpcyBub3QgbmVjZXNzYXJ5IHRvIGRpc2Fi
bGUgaXQgaW4gdGhlIGJvb3QgcGFnZSB0YWJsZXMNCj4+ICAgICAgICogYmVjYXVzZSB0aGV5IGFy
ZSBub3QgZ29pbmcgdG8gYmUgdXNlZCBieSB0aGlzIENQVSBhbnltb3JlLg0KPj4gICAgICAgKi8N
Cj4+IC0gICAgdXBkYXRlX2lkZW50aXR5X21hcHBpbmcoZmFsc2UpOw0KPj4gKyAgICB1cGRhdGVf
bW1fbWFwcGluZyhmYWxzZSk7DQo+PiAgfQ0KPj4gICAgLyoNCj4+IGRpZmYgLS1naXQgYS94ZW4v
YXJjaC9hcm0vYXJtNjQvc21wYm9vdC5jIGIveGVuL2FyY2gvYXJtL2FybTY0L3NtcGJvb3QuYw0K
Pj4gaW5kZXggOTYzN2Y0MjQ2OS4uMmIxZDA4NmExZSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNo
L2FybS9hcm02NC9zbXBib290LmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9zbXBib290
LmMNCj4+IEBAIC0xMTEsMTggKzExMSwxOCBAQCBpbnQgYXJjaF9jcHVfdXAoaW50IGNwdSkNCj4+
ICAgICAgaWYgKCAhc21wX2VuYWJsZV9vcHNbY3B1XS5wcmVwYXJlX2NwdSApDQo+PiAgICAgICAg
ICByZXR1cm4gLUVOT0RFVjsNCj4+ICAtICAgIHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKHRydWUp
Ow0KPj4gKyAgICB1cGRhdGVfbW1fbWFwcGluZyh0cnVlKTsNCj4gDQo+IC4uLiB3aXRoICNpZmRl
ZiBDT05GSUdfTU1VIGhlcmUuLi4NCj4gDQo+PiAgICAgICAgcmMgPSBzbXBfZW5hYmxlX29wc1tj
cHVdLnByZXBhcmVfY3B1KGNwdSk7DQo+PiAgICAgIGlmICggcmMgKQ0KPj4gLSAgICAgICAgdXBk
YXRlX2lkZW50aXR5X21hcHBpbmcoZmFsc2UpOw0KPj4gKyAgICAgICAgdXBkYXRlX21tX21hcHBp
bmcoZmFsc2UpOw0KPiANCj4gLi4uIGhlcmUgYW5kIC4uLg0KPiANCj4gDQo+PiAgICAgICAgcmV0
dXJuIHJjOw0KPj4gIH0NCj4+ICAgIHZvaWQgYXJjaF9jcHVfdXBfZmluaXNoKHZvaWQpDQo+PiAg
ew0KPj4gLSAgICB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZyhmYWxzZSk7DQo+PiArICAgIHVwZGF0
ZV9tbV9tYXBwaW5nKGZhbHNlKTsNCj4gDQo+IC4uLiBoZXJlLg0KDQrigKZhbGwgaGVyZT8NCg0K
S2luZCByZWdhcmRzLA0KSGVucnkNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:48:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589868.921922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ6wZ-0008WU-Tb; Thu, 24 Aug 2023 09:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589868.921922; Thu, 24 Aug 2023 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 1qZ6wZ-0008WN-Qo; Thu, 24 Aug 2023 09:47:59 +0000
Received: by outflank-mailman (input) for mailman id 589868;
 Thu, 24 Aug 2023 09:47: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 1qZ6wZ-0008WD-5x; Thu, 24 Aug 2023 09:47: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 1qZ6wY-0000hR-QK; Thu, 24 Aug 2023 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 1qZ6wY-0007Ya-9e; Thu, 24 Aug 2023 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 1qZ6wY-00046I-94; Thu, 24 Aug 2023 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=AlILVGiYl+KNHj20Jnl7zL+vE1Sc8/6uLfax34zmSok=; b=sq4JRDXHmzxi+5CCJoGsKgRQDw
	6ponCJ45ZCtUN7Tg8r2ghA7Lk9eJ7jkvXEqXYpYjwBtBoB5j0QCuKZLcKJ7G2612kgP/Ik5M0L+/F
	OOHz61btt4Ykez5YKqz0cK8tBPR2pqsJNad7lMg0qPCCwOtY/mDEKB0FFttrEFKtB/D8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182481-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182481: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a943a4f119cd0d969631b4ada878974828a7064d
X-Osstest-Versions-That:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 09:47:58 +0000

flight 182481 xen-unstable real [real]
flight 182500 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182481/
http://logs.test-lab.xenproject.org/osstest/logs/182500/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 182419

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182500-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182500 like 182419
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182419
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182419
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182419
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182419
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182419
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  a943a4f119cd0d969631b4ada878974828a7064d
baseline version:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e

Last test of basis   182419  2023-08-22 08:52:42 Z    2 days
Failing since        182425  2023-08-22 19:08:38 Z    1 days    2 attempts
Testing same since   182481  2023-08-23 15:37:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.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-i386-xl                                           pass    
 test-amd64-coresched-i386-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                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit a943a4f119cd0d969631b4ada878974828a7064d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 23 09:36:21 2023 +0200

    Revert "xen/hypercalls: address violations of MISRA C:2012 Rule 8.3"
    
    This reverts commit 18fa10108198379c46286381856df04f172992c6.
    A nack arrived just after committing / pushing.

commit 18fa10108198379c46286381856df04f172992c6
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Wed Aug 23 09:28:33 2023 +0200

    xen/hypercalls: address violations of MISRA C:2012 Rule 8.3
    
    Make function declarations and definitions consistent to address
    violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
    function shall use the same names and type qualifiers").
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 18b4f7e1e1a0ba0ad6df8643cfea560fc32b3ca9
Author: Shawn Anastasio <sanastasio@raptorengineering.com>
Date:   Wed Aug 23 09:28:02 2023 +0200

    xen/ppc: Relocate kernel to physical address 0 on boot
    
    Introduce a small assembly loop in `start` to copy the kernel to
    physical address 0 before continuing. This ensures that the physical
    address lines up with XEN_VIRT_START (0xc000000000000000) and allows us
    to identity map the kernel when the MMU is set up in the next patch.
    
    We are also able to start execution at XEN_VIRT_START after the copy
    since hardware will ignore the top 4 address bits when operating in Real
    Mode (MMU off).
    
    Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2115b443ab5039990398f936d1efe40b75bc296d
Author: Shawn Anastasio <sanastasio@raptorengineering.com>
Date:   Wed Aug 23 09:27:29 2023 +0200

    xen/ppc: Bump minimum target ISA to 3.0 (POWER9)
    
    In preparation for implementing ISA3+ Radix MMU support, drop ISA 2.07B
    from the supported ISA list to avoid having a non-working
    configuration in tree. It can be re-added at a later point when Hash
    MMU support is added.
    
    Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 145a69c0944ac70cfcf9d247c85dee9e99d9d302
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 23 09:26:36 2023 +0200

    x86/AMD: extend Zenbleed check to models "good" ucode isn't known for
    
    Reportedly the AMD Custom APU 0405 found on SteamDeck, models 0x90 and
    0x91, (quoting the respective Linux commit) is similarly affected. Put
    another instance of our Zen1 vs Zen2 distinction checks in
    amd_check_zenbleed(), forcing use of the chickenbit irrespective of
    ucode version (building upon real hardware never surfacing a version of
    0xffffffff).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 824b5a40dd3de0bd58fa306f4be8d6e13e1c327d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 23 09:25:52 2023 +0200

    build: make cc-option properly deal with unrecognized sub-options
    
    In options like -march=, it may be only the sub-option which is
    unrecognized by the compiler. In such an event the error message often
    splits option and argument, typically saying something like "bad value
    '<argument>' for '<option>'. Instead of extend the grep invocation, stop
    parsing compiler output altogether. Instead substitute -Wno-* options by
    their -W* counterparts for probing (obviously assuming that such a
    counterpart always exists).
    
    Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit a73560896ce3c513460f26bd1c205060d6ec4f8a
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Aug 22 13:56:17 2023 +0100

    CI: Update FreeBSD to 12.4
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

commit a7d04b0e7935620e9f8b9e693d818bf043a5ecd6
Author: Stewart Hildebrand <stewart.hildebrand@amd.com>
Date:   Tue Aug 22 08:53:56 2023 +0200

    xen/pci: address a violation of MISRA C:2012 Rule 8.3
    
    Make the paramater names of the prototype match the definition. No functional
    change.
    
    Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit b3bb51f718bd513264129a407fc1836682b689a7
Author: Nicola Vetrini <nicola.vetrini@bugseng.com>
Date:   Tue Aug 22 08:53:24 2023 +0200

    vm_event: rework inclusions to use arch-indipendent header
    
    The arch-specific header <asm/vm_event.h> should be included by the
    common header <xen/vm_event.h>, so that the latter can be included
    in the source files.
    
    This also resolves violations of MISRA C:2012 Rule 8.4 that were
    caused by declarations for
    'vm_event_{fill_regs,set_registers,monitor_next_interrupt}'
    in <asm/vm_event.h> not being visible when
    defining functions in 'xen/arch/x86/vm_event.c'
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit db75dfdb11dc4e837585bf61cc25dc0c8f048288
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Aug 22 08:52:49 2023 +0200

    mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()
    
    When !MEM_SHARING no useful output is produced. Move the function into
    mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
    drop it altogether from Arm (and eliminating the need to introduce stubs
    on PPC and RISC-V).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> #arm
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit 5eb8c15171f72f155a5cba8400eb940b44187867
Author: Simon Gaiser <simon@invisiblethingslab.com>
Date:   Tue Aug 22 08:51:38 2023 +0200

    x86/hpet: Disable legacy replacement mode after IRQ test
    
    As far as I understand the HPET legacy mode is not required after the
    timer IRQ test. For previous discussion see [1] and [2]. Keeping it
    enabled prevents reaching deeper C-states on some systems and thereby
    also S0ix residency. So disable it after the timer IRQ test worked. Note
    that this code path is only reached when opt_hpet_legacy_replacement < 0,
    so explicit user choice is still honored.
    
    Link: https://lore.kernel.org/xen-devel/cb408368-077d-edb5-b4ad-f80086db48c1@invisiblethingslab.com/ # [1]
    Link: https://lore.kernel.org/xen-devel/20230718122603.2002-1-simon@invisiblethingslab.com/ # [2]
    Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:51:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589879.921932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ705-0001j4-Eb; Thu, 24 Aug 2023 09:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589879.921932; Thu, 24 Aug 2023 09:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ705-0001ix-Bx; Thu, 24 Aug 2023 09:51:37 +0000
Received: by outflank-mailman (input) for mailman id 589879;
 Thu, 24 Aug 2023 09:51:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x+mH=EJ=citrix.com=prvs=593bb07b7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qZ704-0001ir-KU
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:51:36 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce07b09d-4263-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 11:51:33 +0200 (CEST)
Received: from mail-mw2nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 05:51:31 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6123.namprd03.prod.outlook.com (2603:10b6:408:11c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 09:51:27 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 09:51:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce07b09d-4263-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692870694;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=8+7V+tSLJ2mAVNOJU/5Mk5d5oT0xQJvMMRV/kScLZ1o=;
  b=V9XOOQ2z0LxepGN70906g0GEKUWVfOLwIeoSIO3vAff5Kfbtk1P1yOFB
   sBv5b93eLiqhxjtdN/VTuqj/89Jmqk1XifoLXLQZtPKBxK9LIXEAYgyjF
   hneRs+wPObxnCzt3zJrIkJXw5p2CrCvXPoAqthUEjA7AtWdt8bOkmWrUn
   0=;
X-IronPort-RemoteIP: 104.47.55.107
X-IronPort-MID: 120925650
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KGE5zqj9bAjLERgMU1/+9ZcPX161UREKZh0ujC45NGQN5FlHY01je
 htvCGqAb/iIZjD1KNogPIXj9h8B78TQy9dlSFRkqntkQSkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyr0N8klgZmP6sT7AWFzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQnLhQRUS/eud6v3bCZd+1lrdUvHNb0adZ3VnFIlVk1DN4AaLWaG+Dv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluG1b7I5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6Tefgp6Q33gDLroAVIDkMWkedruiysXyva/9gD
 BIw1XQJ/IFnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQh3
 0WFmN7BDjV1vLqYD3ma89+8tiiuMCIYKWsDYy4sTgYf5dTn5oYpgXryos1LFae0ipjwBmv2y
 jXT9Cwm3exL0ogMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl
 BA5dwK2tYji0bnlePSxfdgw
IronPort-HdrOrdr: A9a23:xZLyGq/mFY9eHfuBOHNuk+F0db1zdoMgy1knxilNoENuHvBwxv
 rCoB1E73XJYW4qKRYdcKO7Sc+9qBLnhOpICOYqTNKftWXd2VdAT7sSmrcKoQeQfxEWn9Q1vc
 wOHZSWY+eAbmSS+PyKgjVQfexB/PC3tISTwcvOxXZkSg9nL4t66R1iNwqdGkpqACFbGJsQDv
 Onl4N6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjAmv9KXxH3Gjr18junJ0sPwfGF
 r+4kHED5aYwr2GI9jnpiDuBqFt6ZHcIx14dYKxY4YuW3TRY02TFf1csvW5zUgISaeUmSAXeZ
 D30mwdFtU2433YZWHwqQfx2gXmzTYl42Ljz1jdmnf4vcnlXlsBeop8rJMcfR3D50U6utZglK
 pNwmKCrpJSSQjNhSLn+rHzJmJXf2eP0AsfeNQo/gxieJpbbKUUoZ0U/UtTHptFFCXm6Jo/GO
 0rCM3H/v5ZfV6Tcnic5wBUsamRd2V2Gg3DTlkJu8ST3TQTlHdlz1EAzMhamnsb7poyR5RN+u
 yBOKV1k7NFSNMQcMtGdZU8aNryDnaITQPHMWqUL1iiHKYbO2jVo5qy+7kx7PHCQu138HLzou
 W/bLp1jx9PR6u1M7z14HRiyGGxfEytGTD21IVc65x1/rrxWqDvPTCfREtGqbrin8ki
X-Talos-CUID: =?us-ascii?q?9a23=3A5pevlGousCvMA9wT9GsIIzzmUf8jVmHi8yruH1a?=
 =?us-ascii?q?lC0RUTLS+WFOg57wxxg=3D=3D?=
X-Talos-MUID: 9a23:Z9sB/AU67sEPyDnq/Bv2iy1EO9Zj2Ja/OG0ytssilJejZAUlbg==
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120925650"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z4s08fKSH2op2psdWq5pBH7H4pW5i5mDakWBeMb6OJYaiGiOyTe8ofJWBJYZYddGsHhCSwJyq0k7NAqjf/G5Vd2mkqPtK2I5LkiEzp0b8NaSXyNytl4PmP5p1wl5bYjcG+ooyOIujB3ktRzgLdW3mQ6L9Gyt0uoHsgPxMCLdh/BZGn3SMj86++sOAodwyouBYifTm4iYiy26duJ9GZtHt6c3y9g5+z4NHpCTcBfmK3x8skLgOj3xXmt8h7eaC1oW7OH9W1m57uYom7SDSNRF7FHZdMHtsTCVyda646EAycodWtgXhak4dZE9n3c4P83Z4A3/DJJBAKBI0P8zJmwmzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ebrn7iNSvbxeUsWYagOYMIRTtZAOwsDsC4YciQDrPc4=;
 b=Snz25vf3pnEkGyJQ/yfKoXIivkxhEbDengEB37H1xq1Ll2B2tQQ+Xpcb2PR06JhloM3IawCZJivl206MvWUPw0SjN6LnnWOFWcLo/UDRqRZhdSFDkRWrI5+21b0MohydjDnWPfsyWzfWraLs99Lx2RcbqOJLW74Pt2iZ7YG4fSrQjSB3oa1TiRQOohw5q0+mgNAfSxhaaAW+UfGJQZJiE/O6Fztv+bpaln7g1Kghx5lhTlS5tweEzS++Si752w+L1KYb6qkWvzVY7yXB+y9mN1ul86OC0MzzRLlY/9p+/wkhhOHiIkr8L5KFNGW8YF32+iIIbr2QrWd+KTFIpCnXJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ebrn7iNSvbxeUsWYagOYMIRTtZAOwsDsC4YciQDrPc4=;
 b=xgCbv/OptJtCn3l/kd5cHGjheZCZuNgJDe88iku0aYUPy1/JWBgZaYR6YtYjlG8YJnqSPlZJJrqmQh7R45+EuLkGL97DlYxaeciweRjmN31qoCg1etIP46AAz7Jw9FQZ8UVzP1FjjVA1gSm0OuU5O3vRW9G4NygDn9RdJg4douo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3d1a3638-603a-b918-596c-03557f139d6e@citrix.com>
Date: Thu, 24 Aug 2023 10:51:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] CI: Always move the bisect build log back
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230823152334.8867-1-anthony.perard@citrix.com>
 <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>
 <f300fec6-9139-4ab9-959e-35397967446d@perard>
In-Reply-To: <f300fec6-9139-4ab9-959e-35397967446d@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0460.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB6123:EE_
X-MS-Office365-Filtering-Correlation-Id: ba2311c0-0fa6-4fe7-b04a-08dba487aef3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7iHzx+r1vsU/FizoZMBMvTamwGJgf+lUeq8r+KIG5K2CceucKtLDgeHdOf9t59DnimgtxXyOetAm1Xl/ARqGan/zw9AQ+IWN+FvP6XwkTHrvbj5litSbM5qe6WYXzWawo+YhZxR8DliyTakp4RzQS2PU0P0JN3jCkVmWec4zfB7/12nIo5IPLpZ51LadcxXe03PXN3B465nVUOdby8iuLYdYu75uP69oHXvXxsFoBUchoujcNIVXOKEYOs9Brerx6lTO3QsBW9OhR0gzz+4iHjsi/Qzre6P4+AAbG9TAjBX+OuBu2UdvIGlBDiG/VQl34sXo9cdhSrSN6Cs8HvGjYTJaXxsVH7rObMSR0VNq+5lNxsHOS7wrQe/pG+GKSkBEduKSvRNKzh5bZC3HAu7f6FJZ4rxQX12/4SZ4UXyPZX9sVaD0xlZdPZdm9UdTLy6Sm7m3eS3rEhVbPVa1+yuHlgo093vfnaOgg8mTBqCCpO/sZBQOKXzhEU8tavgABZ5nwTxHZqjJyRBFnBX9V4/jLtPUQ4aRzgeSjAOaspv0Q1t453Y75VNN8UWMdRxMpJkKUoSedOrdKFuzMD1wCMebDs6OREjejWw4b81ncskqAeyxRllY15eOQVE+5mvoJYxruOl8lrLZXspR01ZZjlljQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(376002)(366004)(39860400002)(451199024)(186009)(1800799009)(54906003)(6636002)(37006003)(66476007)(66556008)(66946007)(316002)(82960400001)(478600001)(26005)(38100700002)(6666004)(41300700001)(53546011)(86362001)(6486002)(31696002)(2906002)(6506007)(6512007)(31686004)(4326008)(6862004)(8676002)(8936002)(2616005)(5660300002)(83380400001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWxJQnRLWEErZ1N4RXdXR0JFNUxScHcxY2lpOHVIY0R3eHJtTTc5VmdpZjNQ?=
 =?utf-8?B?SkpaTzZocnJ6TXVJSFpwSnczQW1IMVFGKzJQbDcrVnk5aXJDM3FKTnJJN3Yz?=
 =?utf-8?B?NFp5RFVkZEpJMU93RmsyMlJxSUJBaEVyMld5ZTJQOHhHUytURXpMck94b3gr?=
 =?utf-8?B?Sm9LaFd4MGJ2SmR3Tzlqd0oxZXVJdDRLcWZ6QkdUeEdlVExBcFFjVnJRZ21U?=
 =?utf-8?B?Rm1SRlNhL05DNFVVNS9TUE1NdHBqQk9uWTBoQ01JNE40Y0xIK0hEZFJaSVo5?=
 =?utf-8?B?eStnSVl0Qk5pMTNsNm56V2pkUUU4NmszbWtQUGt6SHlBdTFGSlAyVHpJYzhn?=
 =?utf-8?B?L1pRSGZ2c0NNdzFnNUIwbEpCOEZRODkwbHZjV1dCOXM4Zkw4OWJ6MFFEMFFu?=
 =?utf-8?B?TTk3eWpqZlNuYlpuSXpBNXk1RDhDVXh0YVM2WUxNUDJiK1ZubEtQREZFOGs4?=
 =?utf-8?B?aHA5N3ZnZ2FTblAzbWRJVGtWVXVHaFJoQ0M0ejlTQk14VkRpYW8rTWdPNDRa?=
 =?utf-8?B?T0pCeFZ2SmdVakR5cWFDa1hsMHhPN2E4bWFJenFuZzBBN3dEdHFJbGhxd2d4?=
 =?utf-8?B?OE1JbjVXdFdoTWp5MFBIc2hMR3FCeGtoaXppL3dVYjI2Y0tSR3VaOTlDMnZR?=
 =?utf-8?B?N1hPbVZ1YkJ1V0ZKZEM2aHNiK0JBZ2lGa3B3YVlvWlhzbWJobFZ5Y0crSGVx?=
 =?utf-8?B?VjJGeUtYbTlFWW9JZjhManBaSWhpR3MwZnJhWEk4eUU4WC9aNTFjM3hOM3Rk?=
 =?utf-8?B?N0JOd2paWUprckI1QTdNdHp0cFEza0lZa0hNRG5QcmhQd21kUFN3S1daRTcr?=
 =?utf-8?B?ZTQ3SG55ZzJsRjk0cUNkY2pIL0szUWZQYnl1TzRxTER3VlY2eFVDQitPajU5?=
 =?utf-8?B?NTZFTnFRWHJoTVlpampldTdmdEVBZkU1STNSRzJKci9qRFQ4bGJya2s4Zjkr?=
 =?utf-8?B?RE5nRjN0Ui9xYzR3bDBVNVNGOEo3RndVZU5OMUtyTnpRUVlDSlJLdDdUS21D?=
 =?utf-8?B?cUhjUWE2UXJ2SkZ4ZjVrL0E3ekw2WXhLR1BQam1VdWRTZmFDaExZUHUwT1pF?=
 =?utf-8?B?K1dnemVrUUxPVEp1ekMwaW5nb0t0cDQ0bFJOanpjazhDYXZYaTVYVVFzc1Ur?=
 =?utf-8?B?cWI5elFMVnVPdUFMdVF6aU9XZUFaZXlpUEhOUngxcDFVYWZpUWs1V3pSZGYv?=
 =?utf-8?B?aGloRmZDUXVOZEtnVDlMRlNnYm5FZTdPb3k1K2hyMFh5VXFMUW1abExDZ29z?=
 =?utf-8?B?Vk80b0RNVDhPWUhqNi95UG9YUmhqRnhpZG1mZkk3RXFMbFk2OHA4ZDhVbHc2?=
 =?utf-8?B?RHFBWWNvUzBubGJtWDU2TXE4eitDemVBaDdWallYejhXOTA5TnVnWUpmM3Nn?=
 =?utf-8?B?N0pRenl4K2xPNkRTVWF5Uk5rQ0hTeDUxRm8rQk5TNldQUUcwTlk4TUh6VDls?=
 =?utf-8?B?VWw5VUluM0FlOCt1NU1tcUgyN2VQUThRMWdqRGk2SFBwYkNwYlNIWnp5RXhK?=
 =?utf-8?B?M3dDNnhkQWxDNFNCRmllYWtaMzZXVUwvQXV1eEZiK3BQVzE5eHpsS2JrNEtF?=
 =?utf-8?B?UkNXRXN5OWRtQTljQk5XcHZNQ1llRExpZmVzdU14N2pHMDNycjlLbHVzMnJt?=
 =?utf-8?B?blRMYyttYmdrNldOYmZub0xnZjVGSER4aTZmRk9ZMy9NY0VZaFhCcnpyUWwz?=
 =?utf-8?B?ZWRSTUhJU3JGVlk4d09GUTJGZjhoVFFpZFB6NmQ0UEdXdkJtQWdrWXAvY1hx?=
 =?utf-8?B?M3c3Kzg4aEpCQVYxaGFCWXNYT1hnL2ZmMjF2QzNTRlgzTHhKWCszU2paSjVQ?=
 =?utf-8?B?S09BT0xxR1N0YittTFRqYkNUMngrNFoyd3pCRFlKU3FtKzhMWldSZFBadHJ1?=
 =?utf-8?B?SG8rVmpXSnlMZjZoa1VraHlRWFIvL2dCMEpOL2dJazhZRTVEN3YrZG4xZndU?=
 =?utf-8?B?WkhKM2FkdjlRVVcxemZpTWFYaFVCT3VrZDdDRmtPRWIvRmxRakdPQ3RNWThB?=
 =?utf-8?B?WFNaMTEvbWV3LzRlU0tRdFJyemloYis1K0pUTVBNbVNLUEJmcGFYZGFOQlBo?=
 =?utf-8?B?ZXMvUHZmN0t2bmlWOU40cVFvcVZMbEZ3T2I0aDJhMVhHTCs4cHI1YkExUnZ6?=
 =?utf-8?B?bGxxZXFZVUJqSGRiK05PQlNTNEt4V2JNaFlWUDJaMjMrWGVGNEI3NUpXcEJH?=
 =?utf-8?B?b2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	axNGVV9XFKtPaHCNwaHw5pmgLnN41f+X33ZxA9XogWjwRhYVfoLrFuimrsXmo853S8HlRXBEFo/J9Y4e7VNLBkLgp4Fa/C3bqJ3NG284mZlpkrPRWlZlV/WcrZJKAxYhjR9Qv69nXlMSyGPe0lvWKJPHdl4F1Z9ZNJRg0dhdiiCXMRrPy/rdBoSlrzoS8vvCPCXVrq3wELpjAXmL+POVRX5hwZE8EUSC83baSFEIZYlTmjqXFiwYF4kfYYNZycjT4YKoZe7yMrE1QYZ8T+eDGQjsMSQlQ9jFTfhxUpKPNcrLbfGYfE8vNtEr55c8dUE8dIzN3ZBTQRV+y7drRRJimP6OOyh4ZtWCbDYg4uTip+ivKSx1S0eSP9GpjLY6buRvZaB/CEitzbSxRyK/U1DcnQ1bLlXh2vL2tFGU9S8chTac1gEvWcJc3J1r9n3YIlIHwfrV6af4+7WtxppQLiZjYP8BM3i+OQYXcpitsQ9XVMVykaJ0Fxw4Q4c+M5YTdQNiL1GW4Y5wW4xV0uRsejt7gsf4yfshBF+thsaXp3Ub5zs3xgeKVbhVeT4z6yGF+oMvHbDxw/wpuSFxVAn8a8jrCzf6f7CRUL6ypidnKUxZPx+IsFbZAoM493dULG3a3gm/dzX7IDOryKHdFAZ1VPuECR3g0RoyiRTcE46plJBunIwk42YSc5KOlqqzxk98jk/QYHBWgtt4TZbAkuxSMw5xZZwYlPd1GMEKueKZBA8YHHl5IF/Z3UTFgc+IS18b2u7rVEAGxVg8G/JU1mlzSsL+nXiMvXZbMfRK/OfkMdu6nIQMETsFtS7SgYVx9KiLs1n1mw2BvXGgdgiUxTVUhygrqA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba2311c0-0fa6-4fe7-b04a-08dba487aef3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:51:26.9642
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1n980fqQMxscL/2ov7C+gM8pH5mC6dhwviJZcNit1LXrNleuOsgor3E/hPukI9+NFfc6Cpp9jJyyHmikq8zfBfdrpLcnnwx2aG7B/Vtd+sQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6123

On 24/08/2023 9:52 am, Anthony PERARD wrote:
> On Wed, Aug 23, 2023 at 07:05:56PM +0100, Andrew Cooper wrote:
>> On 23/08/2023 4:23 pm, Anthony PERARD wrote:
>>> On failure of "build"-each-commit script, the next command that move
>>> the log back into the build directory isn't executed. Fix that by
>>> using "after_script" which is always executed even if the main
>>> "script" fails. (We would still miss the log when the jobs times out.)
>>>
>>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>>> ---
>>>  automation/gitlab-ci/test.yaml | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>> index 810631bc46..5099f2e6b6 100644
>>> --- a/automation/gitlab-ci/test.yaml
>>> +++ b/automation/gitlab-ci/test.yaml
>>> @@ -140,6 +140,7 @@ build-each-commit-gcc:
>>>      CC: gcc
>>>    script:
>>>      - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
>>> +  after_script:
>>>      - mv ../build-each-commit-gcc.log .
>>>    artifacts:
>>>      paths:
>> Thanks for looking into this, and yeah that is dumb, but why play games
>> with the parent directory?
> `git clean -ffdx` has the tendency to remove everything that's not
> committed, that's why. But maybe we can teach ./build-each-commit.sh to
> ignore that logfile.

Oh, right.Â  Yeah, lets not lose the log file like that.

I'd say that teaching `git clean` to leave the file interacted and not
copying it is going to be a more robust option.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 09:52:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 09:52:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589884.921943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ70k-0002I3-Ty; Thu, 24 Aug 2023 09:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589884.921943; Thu, 24 Aug 2023 09:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ70k-0002Hw-Pr; Thu, 24 Aug 2023 09:52:18 +0000
Received: by outflank-mailman (input) for mailman id 589884;
 Thu, 24 Aug 2023 09:52: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=x+mH=EJ=citrix.com=prvs=593bb07b7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qZ70j-0001ir-Qi
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 09:52:17 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6af8761-4263-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 11:52:15 +0200 (CEST)
Received: from mail-mw2nam12lp2049.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 05:52:08 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6123.namprd03.prod.outlook.com (2603:10b6:408:11c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 09:52:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 09:52: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: e6af8761-4263-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692870735;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ZOJJhqPcQ/F0Rj7jW6oMZlyOkwyZl7zdfFG2n2BxNsY=;
  b=bZlz52yOn3/kO84hb5Mm/YpNKc2X0yifG5XXvOHURbS9O9IEYk1JpdAE
   ZesPY8Cv7tYrHVGlgn8DUbSGk+Fw4Cu7EIDQ8TzZueWHMqrEnrNm6jIfH
   oNf1xYmqETkizdWOKMLEBUfvs85Ydl+DLonQ4zxKQ62hGA5FwgtIrgVDb
   k=;
X-IronPort-RemoteIP: 104.47.66.49
X-IronPort-MID: 120369784
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8N6JHKty3qC3e5Dygj7oF2isHOfnVINfMUV32f8akzHdYApBsoF/q
 tZmKWnVPvrcamfyeN1waIjl/UoF65WHm9drHQJtqyo2EX8S+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+EzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwLzkyRRu8iemKx4m8Ucdi3uMRc8PsI9ZK0p1g5Wmx4fcOZ7nmGv+PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ovjv6xYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TefgraA73w3ProAVIDoLUHC7pdnhtl+BQ+JaK
 EI08Qo+j6dnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQo3
 FKUm9LiBRR0raaYD3ma89+8ry62OCUTBX8PY2kDVwRty8L4vIg5gxbLT9BiOK24lNv4HXf32
 T/ihDc6r6Uei4gMzarTwLzcqzelp5yMSxFv4AzSBzih9lkhON/jYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr327wk5J/Vei8OA1DGXo=
IronPort-HdrOrdr: A9a23:go0iRKy2hCjOj2XFbQKJKrPwIr1zdoMgy1knxilNoH1uHvBw8v
 rEoB1173DJYVoqNk3I++rhBEDwexLhHPdOiOF6UItKNzOW21dAQrsSiLfK8nnNHDD/6/4Y9Y
 oISdkbNDQoNykZsfrH
X-Talos-CUID: 9a23:RXxGXWA5uZj2+cf6Ey5uy2UfJc4uTnrmy2z+LRefOzljT6LAHA==
X-Talos-MUID: 9a23:Y3NQ8QQIe1kBIE7IRXTLmTRJNMNIu5i/N1g9lJYIm8KkJQ5/bmI=
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="120369784"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EhlgSx04SNQ31hS6qPR4Ecd0Tt1ywJeKHv3TOZY9KKmFpdNwVdpO4J/7TlUv/5VjdxWBXFX4NXx2GHHvqOQnIsz4ZKTU69BHAz0d2eAYbWSIu0xQEeJt/AaSXDTAr0XeG3xKJBH+0X3XcPN3KskcxF5lgfpgkNZ9hxP+PJ0p+NwrLG30ILe3QaVQv/3f8CKIXoCn6Xk68xbJudNWc+jn1qFTjoqtl7NQtbXRlJlqH34/H0Q7mxQu+DF13iP7HM4jdF4Zm5AoWyMlso5MDvTewnHWHiE5KzkoLLHW8LkAyv5PPjnsG65/Oiu4Qek07u9b0Vp6Q3zpGueCahgTjnmaaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uKO1P6M86OEYl2TUNsiivv9bDlIvxeu7cU1nIlckaL8=;
 b=WpSw8Zoi8zs+PAzyQbim3L4hdzeQTeb0qbhCPwfnRkIrgZeLXti+kadNNrOF8DUKKGf9g+AR80iMuqQzgNqea3RAtLa56BWHJoSNNQaeumqqOV0pJr81eIF16kAC/329oOLWdAeWsz9eXEybi5BL702EoQmHpjWW3WNnlcNf9SNnk02rqZnPZQJNqQDtpwOTx2HkgGbBypku7km5fLmp+FacEA5h8dN9EgCW2kqK1Bw0LgdcNoKRWxm7uo3N/YT2dclcsvPVdHpWhh9o1WAZzpIRiCo2Fo5Qc/SYsszz6fXnoTOEJc07f7SttYJnYD8NIgeWgUzFsWdfsNPjwqcb1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uKO1P6M86OEYl2TUNsiivv9bDlIvxeu7cU1nIlckaL8=;
 b=LW1h1DV/Q+dypBlhaUSmA3pKmrNhVi9CyDkFNibZ1/Pj7E6syZvyE8sWGJkPy6IbSBZ/u/SlwlvXkh9+GCzXmln6g/DKeiBHWYTASaREPq0WioNS1bKcZU3ZfJNuhvUJCYVXDkegNfUNwjNHkf+CmAZvkL6NGyrgbhKk+rmTfmA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e6c802f1-a83a-e1b6-f1ae-8b955f1c01af@citrix.com>
Date: Thu, 24 Aug 2023 10:51:58 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] xen/console: Set the default log level to INFO for
 release builds
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20230824090258.96775-1-roger.pau@citrix.com>
In-Reply-To: <20230824090258.96775-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0452.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB6123:EE_
X-MS-Office365-Filtering-Correlation-Id: 6bd3878e-6000-4db0-d2db-08dba487c5f1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9BoQBhsEWsrbsvqvm1IAGtGRIjWYrhOmoUNd2Aw0O/BuasDcIqW3a3TC+BxldK56SQR0KkT1za94P2q+UyjELf5+4BGF8pppn/cXOHdu/YrqyE8rwCMancy3SIGHwyjve+4ebN0HJCes78o3a+0+mv9OM9kSeG9FszjUSeB2TqQY26tybsBBPx3KVmfRGbP7autVv0I8xqDB/Sy4MtNlOln8VrOoa4H0AKWvOHK9tT+WfWrDZVvy16ynwZOlXF40514hbKBgLMOmf3fTXTuWjBtpSWpckk82raLLCWtb8qnNNkGu34GpkvzUcw1mY6ING1yLRBYkRQJx8WqjHv2YpW7qceISasvh4cMYgZNn9FuOpX/Ek4iFhfAgMb44OCc/3aBMyZZZd1P1hPfvlBMMmaECbIph7SUB7xb5tFt9inX+kQcf1dES05U9YYpgJAOd9qZyUXUVRRwuJxZPxKrjiU8jTFcxbWElcoGtTE37jvZ1utj0sU+GfxCaDV9vlID4D0/076SyrHALD5DQAZT5UHliXB5Q+7DlJXIMX+62BQS8BB9teOde5/mpeVKVyAhtbyVKkPCavS5B4+8vpx8PJp5Dc8/2vKr9zbXmyVIf0Lp8JTF5fJGh+whE+fog0rSgbpa5qJcdf7QiUeevDs74yw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(376002)(366004)(39860400002)(451199024)(186009)(1800799009)(54906003)(66476007)(66556008)(66946007)(316002)(82960400001)(478600001)(26005)(38100700002)(6666004)(41300700001)(53546011)(86362001)(6486002)(31696002)(2906002)(6506007)(6512007)(31686004)(4326008)(8676002)(8936002)(2616005)(5660300002)(83380400001)(4744005)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUdHUlVFQXNMTlVPTk9PQ1VTN3cxZ3FGd0F1K1ZkNHROWUJ5NC9CbzJBZ1BM?=
 =?utf-8?B?cGlXaUJXYzBVWTJNdVNZREVORFRqR2xDSUVNU0xMeUpIalFqLzMzV0hHZWNC?=
 =?utf-8?B?QkwvLzlCREt2emsyUTVuUitsK0VSdVpIOXFRRkZ6Rnk3T0RJOTd3ZThNM1o3?=
 =?utf-8?B?ZkJUaEZtdjVYVUEwME94amp4dDNwT1JKWVJORzFmU0JRK3FZM0FYTkdnU0d3?=
 =?utf-8?B?MWpMcFFDMUJNNElxZ0MrL3N1S2cvYTQyblFKZ2xCY1VxQVZqZCtheGdoaGdN?=
 =?utf-8?B?ZU00TU52ZWRXWUloMnFYY3BLcGFtaVRKTUJUd0E2bFB4R3llQWlNVzdLaC9Z?=
 =?utf-8?B?ODU0NmlvUzNPTVhMMWdCdkZtYUh0Wm42Q3dRNm5maHp0Sk4rVytnVTBUZGlj?=
 =?utf-8?B?STN6WE9KZE45S1Q1ekozQ3NHclhqaTlrYlZ5Z2cvdmNHSnJxTHBPdzN3dDFu?=
 =?utf-8?B?TW1RRyt5M1BJMS9oN3V3RXdTU2doanN3bGhxRmRCdlNWaTVQcVJKbW1wOE84?=
 =?utf-8?B?eDhPTHBDUjdEaWpjUVpXWTRYV3laYnJLUGJDKzVXMVY0WnJkcjJ4VWNWRzRT?=
 =?utf-8?B?UDBSU01FWGpMQk84RkpXbEc5L2N4ZXFSRnhCekpLWmYyU1llS1RYamE3N1NO?=
 =?utf-8?B?b1BYYTZxRklGczhzOGR6K1R4VWtlMUNyZUdJTkh1bHJOaENFcFhwNkxrVjBv?=
 =?utf-8?B?TCtpdkFaTldacUVscTkxZTc5Q2k2L0F2dlJDWXIvVFoxL3hmTXJ3L0ttQzVy?=
 =?utf-8?B?UW5ZYlZrSlBtSzJEZVdTUkdCVi9RQlhtQW1mQkgyMWtwYU40dWtnTUpKVlN3?=
 =?utf-8?B?am5LUTh6ZkE5Zm1xSVdqUkxsVGQ5V3pMVUIvSEF2aGIyUHUwM0N5TFYzUVZv?=
 =?utf-8?B?aS83c2dReTRXaWVobm5qb3lycFhVWjhpTWlOemJGT29xVmxsUGpPTVhpZ1h6?=
 =?utf-8?B?TnNKbjlMR0lEVDBjUVhoWHhHbTdOeEhpNFZvOUVxOVY1dE9BNmw1dzdWaUdB?=
 =?utf-8?B?L0tRcFBqNjE2TTkzaVhQb0lRVmhvU0pndHJJS3lJbVlHdXQ5T1ZiajFLcjda?=
 =?utf-8?B?NXFKSFUxczQrd3AxNEZ0NGhsU2FVazA4ZmFGOUxqcElWTGMyalA5SGUwVTI2?=
 =?utf-8?B?MzgzNUVwM2FveWFuaXk1ZERRZWRlTkg4UzdtSXloamhTWHBVWHZvYW5FV3Fh?=
 =?utf-8?B?cFJXQ2NuaVBIVGJRbFFRb1N5ckhOcmdYTis1dVRDa1BGRFloblpDdVVvdkRD?=
 =?utf-8?B?d0ZZeGF4NjBIcVR2WlY1ZzRERnV4aTRQbXc3WGlpQ0tFL0dEWVBPWTkrVHhu?=
 =?utf-8?B?WnVCUktCSzN4Q3MrYklzQndqMVRITUo1Qy8rUm5UTC9tTDBJOGQrOGFjUjNH?=
 =?utf-8?B?NjhhcUJPWEErcnQ5cHFUNm1STysydW9XMWlCQzlFZUVCZzVXekhsUElreUZm?=
 =?utf-8?B?Ylg3Uys5VERKdlhkbmlBMStXWkRkU3pKNWdubWxzdWRtdGoxVFdlU28rRFFN?=
 =?utf-8?B?R1F5bHBGdGtadkVUSUZHZ3BiOTB1TWQrREVHSnFBbnBtaExza0NXYVhBc3RS?=
 =?utf-8?B?aWFBSjZOdmdOMkdYWjhNUDlYMXFKUXM5SGhMT2Q1b3JURjl2SjZTWjFsT1Zr?=
 =?utf-8?B?WDdiVlhuSjBiRldMbERuUm1KZS9iRGZZV3puL2tpNlhCMXJKWHlpdTZyQ3dn?=
 =?utf-8?B?ZWhDbkMreVRLMEdIK3RNbExva3lFdDVuWGNvOHBRYTNzRWZzZ1ZMd2dhdWNF?=
 =?utf-8?B?bEh2NFlxU3pPVWNKamcrVTNPV3BNNWlaTHRFMEExTkhBQmNJS1BROFhIbTlH?=
 =?utf-8?B?d0IvTDR3YXhaR3hxTXlYTmdjaFBFa1BFaHl1Q3d1eHhWcTlJV0habStBM25Y?=
 =?utf-8?B?c05DOTZtcko5bGJYNjlxd2xTWUFNS2g3dEVqUktkQTEvcDVTZFllY3RGMmFL?=
 =?utf-8?B?KzRqR2s0djl5YmJSR2RLSEhxTERjNHV1aVMxVHBuQ1RaMmIvNk96YWE2MkZq?=
 =?utf-8?B?UTRYWnJENnV6UHV0Vm5OUGVmbE1CbTNtOUZWYzd3STNlaGQ3ckt2L3kvTTJV?=
 =?utf-8?B?akY2ekgxbW5rak16WkR1YS9mVnZid2hpUjNBQ1p0VFFkZzk2ZDhQRXVrSktV?=
 =?utf-8?B?TTY3VlBKSVZRZ2lhZ3FRSU90Z2dLSUtvTllEZG42Z2g4WGJxeGNjMEZtZG5r?=
 =?utf-8?B?Nmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	lCbg1KU0hWlP5jIn/yUF1zz4R1ytCJtagwWnvKCshUy+B21zIdLwrJLFNg+kVeNfjgYroIaEyVXZ+9/MuSey3M25Xmuadd9SLmPSRl1UWnVE/dMFZ5vMp9PIscTckOVzzgt4SPIgLNx5A7sZ5d+sJHSNnqYo4dyyb/5ZvULjJbNt/dD/Vl+xmeJi957JXpFvrloCCac51oS9BYrJJHgqLo6pD2UYoHuq0AvndLpq0jvzbxWzGnaUTqpGOusNUFJq1e6yDP9OwtTKn9rLDcJu2acMteqCsQ42V2iGKkPoFL6h87eYTcbGiwudFeCEegOyyQ/9JUOONAFVZB2YoUDQw97iNamgr6V2jWg9CZ4bihHP1UNRBgypxTqof1+X717d1jgANDsyYF4R3QRRa2WKKMqWZcdLyxTJKTZ6YfYiTt9DNE9h6YEiiKFD0nG2U17xGcYmir6K2wA3T6xBQIvMGr7x8OhdVtEKEwlLmKXFQ04akKCo4bCLGN84pxBWFEJhKRkOjtNw+ftExZ0bRX71QwNtd05/PRd60ZZ6fLUe6VYQ5ki61yOBrcoGp0J6Wlb+T6tPRlmKfnnYUKsg7k+37m6PU19PQ2iQoZR/rgTt7N5sFeYVp989vC8OHbNlF0vT5xcTf3B/f6B2gN6Bf5vyzDwvlDECMvz0Wfk2y6O4pvqVC65USBL2/efH/cTWaaQ85EDivjzy3+uKiGX0SGTXk65t9W1P2gofWubBT112/WHxvy9GQc/PkfpmuG7d9QE2f2t0SVhIs01khh5bvK90ymGBWJf09rhcKuOdoNghBeU73wRFwloOE5ANb+yt6jLcN8Ym8TwPA9h3rP0IsUTrzKwxWsXF/cip5GgXeoaC2sI=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bd3878e-6000-4db0-d2db-08dba487c5f1
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 09:52:05.4343
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zc1LrW5gQBonlpSPvAm777jlSlPfSkSDEig3Iu8r3H49+uUlFmN3tAFgtK6QJB2ik9lC+4N+x7VTioOxi+EsjtO2BO2Q27oSYvdXR+rJWqo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6123

On 24/08/2023 10:02 am, Roger Pau Monne wrote:
> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>
> Not displaying INFO messages by default on release builds is not
> helpful, as messages of that level are relevant for hypervisor
> operation.  For example messages related to livepatches applied and
> reverted are of INFO level.
>
> Custom builds that require less verbose output can adjust it using the
> command line, but attempt to provide all relevant information by
> default on release builds.
>
> Adjust the loglevel of printks that don't have an associated level to
> INFO instead of WARNING, since INFO will now be printed by default on
> all builds.
>
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> Signed-off-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

This is very long overdue.


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:04:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589894.921952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7CO-00048s-UM; Thu, 24 Aug 2023 10:04:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589894.921952; Thu, 24 Aug 2023 10:04:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7CO-00048l-Rj; Thu, 24 Aug 2023 10:04:20 +0000
Received: by outflank-mailman (input) for mailman id 589894;
 Thu, 24 Aug 2023 10:04: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 1qZ7CN-00048f-Il
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:04: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 1qZ7CM-00016B-Qg; Thu, 24 Aug 2023 10:04:18 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ7CM-0001Aq-KD; Thu, 24 Aug 2023 10:04: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=5P/6oOQP0TOOhowZ/UMN1p0FAtOMNu9HAaRmrNTIeL0=; b=OsxU84PqiAvuDoQjGzgY4YRTf4
	HSmb+5e+EA8nejSMSMwABROdS9+MUTg9Ic8Hzqxy5uHtc8VrVE1HfT4NzGL11xLfCYGYHC7y3gr0T
	Kg74emVnZDyuo4niRmUyebbhTe71ikZv5QM6qY6eBogCFIlHWeQu2ghLsdr10xT/m1Co=;
Message-ID: <832d6508-50d8-4f78-ae58-2203100a67f2@xen.org>
Date: Thu, 24 Aug 2023 11:04:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Handle empty grant table region in
 find_unallocated_memory()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230824090640.25338-1-michal.orzel@amd.com>
 <7d216ef6-398c-4086-8a7a-33e80dcacda7@xen.org>
 <d029d806-33a2-6774-4aa2-ae8f1303288b@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d029d806-33a2-6774-4aa2-ae8f1303288b@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 24/08/2023 10:17, Michal Orzel wrote:
> On 24/08/2023 11:10, Julien Grall wrote:
>> On 24/08/2023 10:06, Michal Orzel wrote:
>>> When creating dom0 with grant table support disabled in Xen and no IOMMU,
>>> the following assert is triggered (debug build):
>>> "Assertion 's <= e' failed at common/rangeset.c:189"
>>
>> A partial stack trace would have been handy. This help the reader to
>> understand how you came to the conclusion that the issue was in
>> find_unallocated_memory().
> Here you go:
> (XEN) Xen call trace:
> (XEN)    [<0000020000218568>] rangeset_remove_range+0xbc/0x2cc (PC)
> (XEN)    [<00000200002c76bc>] domain_build.c#make_hypervisor_node+0x294/0x7c4 (LR)
> (XEN)    [<00000200002ca240>] domain_build.c#handle_node+0x7ec/0x924
> (XEN)    [<00000200002ca7ac>] domain_build.c#construct_dom0+0x434/0x4d8
> 
> Can you append this to the commit msg while committing or do you want a respin?

Thanks. It can be done on commit.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:19:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589902.921965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7RH-0005td-75; Thu, 24 Aug 2023 10:19:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589902.921965; Thu, 24 Aug 2023 10:19: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 1qZ7RH-0005tW-4Z; Thu, 24 Aug 2023 10:19:43 +0000
Received: by outflank-mailman (input) for mailman id 589902;
 Thu, 24 Aug 2023 10:19:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ7RF-0005tA-W4
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:19:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ7RF-0001Vp-DS; Thu, 24 Aug 2023 10:19:41 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ7RF-0001nt-0p; Thu, 24 Aug 2023 10:19:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4tio7x7gjKyKmzA8ydq+PPVyZdbnTYhDHdqXEqJbErI=; b=I6O7azqUh3pUhVmijHo/gdN8sF
	pGzsUxx+IHkDG/boSBKUNgjavfLzwFLZq6GRpXVmI7bEpf5gJLOhpl4cRNu2/1T00K3YPDsu2yPw6
	p4NY9jI58zdXpeQrimEUkkcKrsqPFh2ZSvdZQPk2B10IStASEO4d2TinhOEcjgtqELL0=;
Message-ID: <33e90d86-973f-4a32-941f-140db9aaa90c@xen.org>
Date: Thu, 24 Aug 2023 11:19:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function names
 for extendability
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-10-Henry.Wang@arm.com>
 <c039015f-43d4-491f-b44c-8ece186e08e4@xen.org>
 <FBF340E4-5927-48E0-A23B-7D2F8DC8C33C@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <FBF340E4-5927-48E0-A23B-7D2F8DC8C33C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Henry,

On 24/08/2023 10:46, Henry Wang wrote:
>> On Aug 22, 2023, at 02:32, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 14/08/2023 05:25, Henry Wang wrote:
>>> From: Penny Zheng <penny.zheng@arm.com>
>>> As preparation for MPU support, which will use some variables/functions
>>> for both MMU and MPU system, We rename the affected variable/function
>>> to more generic names:
>>> - init_ttbr -> init_mm,
>>
>> You moved init_ttbr to mm/mmu.c. So why does this need to be renamed?
>>
>> And if you really planned to use it for the MPU code. Then init_ttbr should not have been moved.
> 
> You are correct. I think we need to use the â€œinit_mmâ€ for MPU SMP support,
> so I would not move this variable in v6.

Your branch mpu_v5 doesn't seem to contain any use. But I would expect 
that the common is never going to use the variable. Also, at the moment 
it is 64-bit but I don't see why it would be necessary to be bigger than 
32-bit on 32-bit.

So I think it would be preferable if init_ttbr is move in mm/mmu.c. You
can then introduce an MPU specific variable.

In general, only variables that will be used by common code should be 
defined in common. All the rest should be defined in their specific 
directory.

>>> - mmu_init_secondary_cpu() -> mm_init_secondary_cpu()
>>> - init_secondary_pagetables() -> init_secondary_mm()
>>
>> The original naming were not great but the new one are a lot more confusing as they seem to just be a reshuffle of word.
>>
>> mm_init_secondary_cpu() is only setting the WxN bit. For the MMU, I think it can be done much earlier. Do you have anything to add in it? If not, then I would consider to get rid of it.
> 
> Iâ€™ve got rid of mmu_init_secondary_cpu() function in my local v6 as it is now
> folded to the assembly code.
> 
>>
>> For init_secondary_mm(), I would renamed it to prepare_secondary_mm().
> 
> Sure, thanks for the name suggestion.
> 
>>
>>>   -void update_identity_mapping(bool enable)
>>> +static void update_identity_mapping(bool enable)
>>
>> Why not simply renaming this function to update_mm_mapping()? But...
>>
>>>   {
>>>       paddr_t id_addr = virt_to_maddr(_start);
>>>       int rc;
>>> @@ -120,6 +120,11 @@ void update_identity_mapping(bool enable)
>>>       BUG_ON(rc);
>>>   }
>>>   +void update_mm_mapping(bool enable)
>>
>> ... the new name it quite confusing. What is the mapping it is referring to?
> 
> So I checked the MPU SMP support code and now I think I understand the reason
> why update_mm_mapping() was introduced:
> 
> In the future we eventually need to support SMP for MMU systems, which means
> we need to call arch_cpu_up() and arch_cpu_up_finish(). These two functions call
> update_identity_mapping(). Since we believe "identity mapping" is a MMU concept,
> we changed this to generic name "mm mappingâ€ as arch_cpu_up() and
> arch_cpu_up_finish() is a shared path between MMU and MPU.

The function is today called "update_identity_mapping()" because this is 
what the implementation does on arm64. But the goal of this function is 
to make sure that any mapping necessary for bring-up secondary CPUs are 
present.

So if you don't need similar work for the MPU then I would go with...

> 
> But I think MPU wonâ€™t use update_mm_mapping() function at all, so I wonder do
> you prefer creating an empty stub update_identity_mapping() for MPU? Or use #ifdef
> as suggested in your previous email...


... #ifdef. I have some preliminary work where the call to 
update_identity_mapping() may end up to be moved somewhere else as the 
page-tables would not be shared between pCPU anymore. So the logic will 
not some rework (see [1]).

Cheers,


[1] https://lore.kernel.org/all/20221216114853.8227-21-julien@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:29:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:29:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589910.921979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7aI-0007Vj-3T; Thu, 24 Aug 2023 10:29:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589910.921979; Thu, 24 Aug 2023 10:29:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7aI-0007Vc-0j; Thu, 24 Aug 2023 10:29:02 +0000
Received: by outflank-mailman (input) for mailman id 589910;
 Thu, 24 Aug 2023 10:29:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ7aH-0007VW-0V
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:29:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08b9afde-4269-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 12:28:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B2D684EE0737;
 Thu, 24 Aug 2023 12:28:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08b9afde-4269-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 12:28:57 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Gianluca
 Luparini <gianluca.luparini@bugseng.com>, Jun Nakajima
 <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v4 1/4] x86/vmx: address violations of MISRA C:2012
 Rule 7.2
In-Reply-To: <6c2473a29d60460bf69382fd1e983752634b6992.1690368810.git.simone.ballarin@bugseng.com>
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <6c2473a29d60460bf69382fd1e983752634b6992.1690368810.git.simone.ballarin@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <3c68a16a3e2e6f552c5fd41b24c901d6@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 26/07/2023 13:03, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> headline states:
> "A 'u' or 'U' suffix shall be applied to all integer constants
> that are represented in an unsigned type".
> 
> Add the 'U' suffix to integers literals with unsigned type.
> 
> For the sake of uniformity, the following changes are made:
> - add the 'U' suffix to macros near
>   'CPU_BASED_ACTIVATE_SECONDARY_CONTROLS' and
>   'SECONDARY_EXEC_NOTIFY_VM_EXITING' macros in 'vmcs.h'
> - add the 'U' suffix to macros near 'INTR_INFO_VALID_MASK'
>   macro in 'vmx.h'
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in v4:
> - change commit headline
> 
> Changes in v3:
> - change 'Signed-off-by' ordering
> - change commit message
> - remove unnecessary changes in 'vvmx.c'
> - add 'uint32_t' casts in 'vvmx.c'
> - add missing 'U' in 'vmcs.h' macros
> - change macro to '(1u << 31)' in 'vmx.h'
> - remove unnecessary changes to 'vmx.h'
> 
> Changes in v2:
> - minor change to commit title
> - change commit message
> - remove unnecessary changes in 'vpmu_intel.c' and 'vmx.h'
> - add 'ULL' suffix in 'vpmu_intel.c'
> - add zero-padding to constants in 'vmx.h'
> - add missing 'U' in 'vmx.h'
> ---
>  xen/arch/x86/cpu/vpmu_intel.c           |  2 +-
>  xen/arch/x86/hvm/vmx/vmcs.c             |  6 +-
>  xen/arch/x86/hvm/vmx/vvmx.c             |  8 +--
>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 84 ++++++++++++-------------
>  xen/arch/x86/include/asm/hvm/vmx/vmx.h  | 16 ++---
>  5 files changed, 58 insertions(+), 58 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/vpmu_intel.c 
> b/xen/arch/x86/cpu/vpmu_intel.c
> index fa5b40c65c..6330c89b47 100644
> --- a/xen/arch/x86/cpu/vpmu_intel.c
> +++ b/xen/arch/x86/cpu/vpmu_intel.c
> @@ -945,7 +945,7 @@ const struct arch_vpmu_ops *__init 
> core2_vpmu_init(void)
>      fixed_counters_mask = ~((1ull << core2_get_bitwidth_fix_count()) - 
> 1);
>      global_ctrl_mask = ~((((1ULL << fixed_pmc_cnt) - 1) << 32) |
>                           ((1ULL << arch_pmc_cnt) - 1));
> -    global_ovf_ctrl_mask = ~(0xC000000000000000 |
> +    global_ovf_ctrl_mask = ~(0xC000000000000000ULL |
>                               (((1ULL << fixed_pmc_cnt) - 1) << 32) |
>                               ((1ULL << arch_pmc_cnt) - 1));
>      if ( version > 2 )
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index 13719cc923..6cefb88aec 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -911,7 +911,7 @@ void vmx_clear_msr_intercept(struct vcpu *v,
> unsigned int msr,
>          if ( type & VMX_MSR_W )
>              clear_bit(msr, msr_bitmap->write_low);
>      }
> -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
>      {
>          msr &= 0x1fff;
>          if ( type & VMX_MSR_R )
> @@ -939,7 +939,7 @@ void vmx_set_msr_intercept(struct vcpu *v, unsigned 
> int msr,
>          if ( type & VMX_MSR_W )
>              set_bit(msr, msr_bitmap->write_low);
>      }
> -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
>      {
>          msr &= 0x1fff;
>          if ( type & VMX_MSR_R )
> @@ -957,7 +957,7 @@ bool vmx_msr_is_intercepted(struct vmx_msr_bitmap
> *msr_bitmap,
>      if ( msr <= 0x1fff )
>          return test_bit(msr, is_write ? msr_bitmap->write_low
>                                        : msr_bitmap->read_low);
> -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
>          return test_bit(msr & 0x1fff, is_write ? 
> msr_bitmap->write_high
>                                                 : 
> msr_bitmap->read_high);
>      else
> diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
> index 16b0ef82b6..b7be424afb 100644
> --- a/xen/arch/x86/hvm/vmx/vvmx.c
> +++ b/xen/arch/x86/hvm/vmx/vvmx.c
> @@ -263,7 +263,7 @@ uint64_t get_vvmcs_virtual(void *vvmcs, uint32_t
> vmcs_encoding)
>              res >>= 32;
>          break;
>      case VVMCS_WIDTH_32:
> -        res &= 0xffffffff;
> +        res = (uint32_t)res;
>          break;
>      case VVMCS_WIDTH_NATURAL:
>      default:
> @@ -315,14 +315,14 @@ void set_vvmcs_virtual(void *vvmcs, uint32_t
> vmcs_encoding, uint64_t val)
>      case VVMCS_WIDTH_64:
>          if ( enc.access_type )
>          {
> -            res &= 0xffffffff;
> +            res = (uint32_t)res;
>              res |= val << 32;
>          }
>          else
>              res = val;
>          break;
>      case VVMCS_WIDTH_32:
> -        res = val & 0xffffffff;
> +        res = (uint32_t)val;
>          break;
>      case VVMCS_WIDTH_NATURAL:
>      default:
> @@ -2306,7 +2306,7 @@ int nvmx_msr_read_intercept(unsigned int msr,
> u64 *msr_content)
>          break;
>      case MSR_IA32_VMX_CR0_FIXED1:
>          /* allow 0-settings for all bits */
> -        data = 0xffffffff;
> +        data = 0xffffffffU;
>          break;
>      case MSR_IA32_VMX_CR4_FIXED0:
>          /* VMXE bit must be 1 in VMX operation */
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> index d07fcb2bc9..e056643993 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> @@ -187,27 +187,27 @@ bool_t __must_check vmx_vmcs_try_enter(struct 
> vcpu *v);
>  void vmx_vmcs_exit(struct vcpu *v);
>  void vmx_vmcs_reload(struct vcpu *v);
> 
> -#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004
> -#define CPU_BASED_USE_TSC_OFFSETING           0x00000008
> -#define CPU_BASED_HLT_EXITING                 0x00000080
> -#define CPU_BASED_INVLPG_EXITING              0x00000200
> -#define CPU_BASED_MWAIT_EXITING               0x00000400
> -#define CPU_BASED_RDPMC_EXITING               0x00000800
> -#define CPU_BASED_RDTSC_EXITING               0x00001000
> -#define CPU_BASED_CR3_LOAD_EXITING            0x00008000
> -#define CPU_BASED_CR3_STORE_EXITING           0x00010000
> -#define CPU_BASED_CR8_LOAD_EXITING            0x00080000
> -#define CPU_BASED_CR8_STORE_EXITING           0x00100000
> -#define CPU_BASED_TPR_SHADOW                  0x00200000
> -#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000
> -#define CPU_BASED_MOV_DR_EXITING              0x00800000
> -#define CPU_BASED_UNCOND_IO_EXITING           0x01000000
> -#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000
> -#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000
> -#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000
> -#define CPU_BASED_MONITOR_EXITING             0x20000000
> -#define CPU_BASED_PAUSE_EXITING               0x40000000
> -#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000
> +#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004U
> +#define CPU_BASED_USE_TSC_OFFSETING           0x00000008U
> +#define CPU_BASED_HLT_EXITING                 0x00000080U
> +#define CPU_BASED_INVLPG_EXITING              0x00000200U
> +#define CPU_BASED_MWAIT_EXITING               0x00000400U
> +#define CPU_BASED_RDPMC_EXITING               0x00000800U
> +#define CPU_BASED_RDTSC_EXITING               0x00001000U
> +#define CPU_BASED_CR3_LOAD_EXITING            0x00008000U
> +#define CPU_BASED_CR3_STORE_EXITING           0x00010000U
> +#define CPU_BASED_CR8_LOAD_EXITING            0x00080000U
> +#define CPU_BASED_CR8_STORE_EXITING           0x00100000U
> +#define CPU_BASED_TPR_SHADOW                  0x00200000U
> +#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000U
> +#define CPU_BASED_MOV_DR_EXITING              0x00800000U
> +#define CPU_BASED_UNCOND_IO_EXITING           0x01000000U
> +#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000U
> +#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000U
> +#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000U
> +#define CPU_BASED_MONITOR_EXITING             0x20000000U
> +#define CPU_BASED_PAUSE_EXITING               0x40000000U
> +#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000U
>  extern u32 vmx_cpu_based_exec_control;
> 
>  #define PIN_BASED_EXT_INTR_MASK         0x00000001
> @@ -238,26 +238,26 @@ extern u32 vmx_vmexit_control;
>  #define VM_ENTRY_LOAD_BNDCFGS           0x00010000
>  extern u32 vmx_vmentry_control;
> 
> -#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
> -#define SECONDARY_EXEC_ENABLE_EPT               0x00000002
> -#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004
> -#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008
> -#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010
> -#define SECONDARY_EXEC_ENABLE_VPID              0x00000020
> -#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040
> -#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080
> -#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100
> -#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200
> -#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400
> -#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000
> -#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000
> -#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000
> -#define SECONDARY_EXEC_ENABLE_PML               0x00020000
> -#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000
> -#define SECONDARY_EXEC_XSAVES                   0x00100000
> -#define SECONDARY_EXEC_TSC_SCALING              0x02000000
> -#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000
> -#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000
> +#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001U
> +#define SECONDARY_EXEC_ENABLE_EPT               0x00000002U
> +#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004U
> +#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008U
> +#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010U
> +#define SECONDARY_EXEC_ENABLE_VPID              0x00000020U
> +#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040U
> +#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080U
> +#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100U
> +#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200U
> +#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400U
> +#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000U
> +#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000U
> +#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000U
> +#define SECONDARY_EXEC_ENABLE_PML               0x00020000U
> +#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000U
> +#define SECONDARY_EXEC_XSAVES                   0x00100000U
> +#define SECONDARY_EXEC_TSC_SCALING              0x02000000U
> +#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000U
> +#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000U
>  extern u32 vmx_secondary_exec_control;
> 
>  #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
> @@ -346,7 +346,7 @@ extern u64 vmx_ept_vpid_cap;
>  #define cpu_has_vmx_notify_vm_exiting \
>      (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
> 
> -#define VMCS_RID_TYPE_MASK              0x80000000
> +#define VMCS_RID_TYPE_MASK              0x80000000U
> 
>  /* GUEST_INTERRUPTIBILITY_INFO flags. */
>  #define VMX_INTR_SHADOW_STI             0x00000001
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> index c84acc221d..d4b335a2bc 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> @@ -137,7 +137,7 @@ static inline void pi_clear_sn(struct pi_desc 
> *pi_desc)
>  /*
>   * Exit Reasons
>   */
> -#define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
> +#define VMX_EXIT_REASONS_FAILED_VMENTRY (1u << 31)
>  #define VMX_EXIT_REASONS_BUS_LOCK       (1u << 26)
> 
>  #define EXIT_REASON_EXCEPTION_NMI       0
> @@ -209,12 +209,12 @@ static inline void pi_clear_sn(struct pi_desc 
> *pi_desc)
>   * Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit 
> Qualification
>   * field for EPT violations, PML full and SPP-related event vmexits.
>   */
> -#define INTR_INFO_VECTOR_MASK           0xff            /* 7:0 */
> -#define INTR_INFO_INTR_TYPE_MASK        0x700           /* 10:8 */
> -#define INTR_INFO_DELIVER_CODE_MASK     0x800           /* 11 */
> -#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x1000          /* 12 */
> -#define INTR_INFO_VALID_MASK            0x80000000      /* 31 */
> -#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000
> +#define INTR_INFO_VECTOR_MASK           0x000000ffU     /* 7:0 */
> +#define INTR_INFO_INTR_TYPE_MASK        0x00000700U     /* 10:8 */
> +#define INTR_INFO_DELIVER_CODE_MASK     0x00000800U     /* 11 */
> +#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x00001000U     /* 12 */
> +#define INTR_INFO_VALID_MASK            0x80000000U     /* 31 */
> +#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000U
> 
>  /*
>   * Exit Qualifications for NOTIFY VM EXIT
> @@ -607,7 +607,7 @@ static inline void vmx_pi_hooks_assign(struct 
> domain *d) {}
>  static inline void vmx_pi_hooks_deassign(struct domain *d) {}
>  #endif
> 
> -#define APIC_INVALID_DEST           0xffffffff
> +#define APIC_INVALID_DEST           0xffffffffU
> 
>  /* EPT violation qualifications definitions */
>  typedef union ept_qual {

I checked that this patch still applies cleanly on the current staging 
branch.
Can this get an ack from the VT-X maintainer(s)?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:35:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589919.921989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7g5-0000ez-RX; Thu, 24 Aug 2023 10:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589919.921989; Thu, 24 Aug 2023 10: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 1qZ7g5-0000es-Os; Thu, 24 Aug 2023 10:35:01 +0000
Received: by outflank-mailman (input) for mailman id 589919;
 Thu, 24 Aug 2023 10:35:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ7g4-0000em-Oj
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:35:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfaf2505-4269-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 12:34:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6665E4EE0737;
 Thu, 24 Aug 2023 12:34: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: dfaf2505-4269-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 12:34:58 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Gianluca
 Luparini <gianluca.luparini@bugseng.com>, Paul Durrant <paul@xen.org>, Wei
 Liu <wl@xen.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 v4 3/4] x86/viridian: address violations of MISRA
 C:2012 Rule 7.2
In-Reply-To: <3007febabe8a13259dc10b566d23a27a89b75358.1690368810.git.simone.ballarin@bugseng.com>
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <3007febabe8a13259dc10b566d23a27a89b75358.1690368810.git.simone.ballarin@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <fb8c98c3e0450dc5a30a02ea2e477865@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 26/07/2023 13:03, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> headline states:
> "A 'u' or 'U' suffix shall be applied to all integer constants
> that are represented in an unsigned type".
> 
> Add the 'U' suffix to integers literals with unsigned type and also to 
> other
> literals used in the same contexts or near violations, when their 
> positive
> nature is immediately clear. The latter changes are done for the sake 
> of
> uniformity.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v4:
> - change commit headline
> - add Reviewed-by
> 
> Changes in v3:
> - create this commit for 'viridian.c' and 'hyperv-tlfs.h'
> ---
>  xen/arch/x86/hvm/viridian/viridian.c         |  2 +-
>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 28 ++++++++++----------
>  2 files changed, 15 insertions(+), 15 deletions(-)
> 

This patch has perhaps slipped by since its submission. As it can be 
applied on top of
staging without conflicts, then it probably needs an ack from the x86 
viridian maintainers.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:40:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589927.921998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7lQ-0002Be-Dj; Thu, 24 Aug 2023 10:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589927.921998; Thu, 24 Aug 2023 10: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 1qZ7lQ-0002BX-B7; Thu, 24 Aug 2023 10:40:32 +0000
Received: by outflank-mailman (input) for mailman id 589927;
 Thu, 24 Aug 2023 10:40: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=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ7lP-0002BR-3a
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:40:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a483bc2a-426a-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 12:40:29 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 98A994EE0737;
 Thu, 24 Aug 2023 12:40:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a483bc2a-426a-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 12:40:28 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Gianluca
 Luparini <gianluca.luparini@bugseng.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v4 2/4] xen/vpci: address violations of MISRA C:2012
 Rule 7.2
In-Reply-To: <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com>
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <1b4e6569c0c8d17c73341e43ed46c232@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 26/07/2023 13:03, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> headline states:
> "A 'u' or 'U' suffix shall be applied to all integer constants
> that are represented in an unsigned type".
> 
> Add the 'U' suffix to integers literals with unsigned type and also to 
> other
> literals used in the same contexts or near violations, when their 
> positive
> nature is immediately clear. The latter changes are done for the sake 
> of
> uniformity.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v4:
> - change commit headline
> 
> Changes in v3:
> - change 'Signed-off-by' ordering
> - add 'uint32_t' casts in 'msi.c' and 'msix.c'
> 
> Changes in v2:
> - minor change to commit title
> - change commit message
> ---
>  xen/drivers/vpci/msi.c  | 2 +-
>  xen/drivers/vpci/msix.c | 2 +-
>  xen/drivers/vpci/vpci.c | 6 +++---
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 

Like other patches in this series, this one could also benefit from an 
ack from
VPCI maintainers to get committed, as it does apply cleanly on staging.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:44:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:44:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589935.922008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7pM-0002mX-Sx; Thu, 24 Aug 2023 10:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589935.922008; Thu, 24 Aug 2023 10: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 1qZ7pM-0002mQ-Q8; Thu, 24 Aug 2023 10:44:36 +0000
Received: by outflank-mailman (input) for mailman id 589935;
 Thu, 24 Aug 2023 10:44:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ7pL-0002mJ-8r
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:44:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ7pK-000268-Cd; Thu, 24 Aug 2023 10:44:34 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ7pK-000348-5q; Thu, 24 Aug 2023 10:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dOX/ykuX9+BQJZOSK9DgoW4d5Qe00NFBRSN+hslp8ug=; b=4L3naar7NVnw+KYcqXl71LXdTX
	HoMyKymHaogWqI3ygc6yt0/9egImwGWwvU0fvd0e1rZciDmhM/IrmVqLub74MSfgJp9aJLjiGQvaY
	o8a9JC3yLwXTJsr4Tpr9HDQeT7ovdeQQftMx3WDRABic5OPm9JlLOFqCEV+Dl++Yj9+A=;
Message-ID: <f21cb61c-b933-454c-9bd7-7c7696d3e7dc@xen.org>
Date: Thu, 24 Aug 2023 11:44:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] tools/libs: light: Remove the variable 'domainid'
 do_pci_remove()
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-2-julien@xen.org>
 <603d2542-ba94-4c1a-9480-a3319f75bdb0@perard>
From: Julien Grall <julien@xen.org>
In-Reply-To: <603d2542-ba94-4c1a-9480-a3319f75bdb0@perard>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 18/08/2023 18:05, Anthony PERARD wrote:
> On Wed, Aug 09, 2023 at 11:33:04AM +0100, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> The function do_pci_remove() has two local variables 'domid' and
>> 'domainid' containing the same value.
>>
>> Looking at the history, until 2cf3b50dcd8b ("libxl_pci: Use
>> libxl__ao_device with pci_remove") the two variables may have
>> different value when using a stubdomain.
>>
>> As this is not the case now, remove 'domainid'. This will reduce
>> the confusion between the two variables.
>>
>> Note that there are other places in libxl_pci.c which are using
>> the two confusing names within the same function. They are left
>> unchanged for now.
>>
>> No functional changes intented.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks! I have committed this patch. I need to respin patch 2.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:48:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589942.922018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7tA-0003Ok-Bo; Thu, 24 Aug 2023 10:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589942.922018; Thu, 24 Aug 2023 10:48: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 1qZ7tA-0003Od-9H; Thu, 24 Aug 2023 10:48:32 +0000
Received: by outflank-mailman (input) for mailman id 589942;
 Thu, 24 Aug 2023 10:48: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=IVrA=EJ=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qZ7t9-0003OX-HM
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:48:31 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3637d0a-426b-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 12:48:30 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-3ff1c397405so14212355e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 03:48: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
 t7-20020a5d49c7000000b00317ab75748bsm21674115wrs.49.2023.08.24.03.48.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 03:48: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: c3637d0a-426b-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692874110; x=1693478910;
        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=K2JtP9LCxTQskLIXpTwYxhJvoQGqVrzaB2jkej71Ne0=;
        b=B8rNakSJ+bvSu02v1VzfKAAiIFxYIEtNocNHx7XqjjnNy8UDSS+6HWOFyjpKnsf12V
         FI7HJoPNQ+dgaDnRLXcSkA1wbibKiyoh9az/lq3pQPStF63/hBmM2NZTFoSqcmwDdHm+
         MkJQnjkd/yk3UIEg8RyFE7KtdSuhq2MHWfKHU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692874110; x=1693478910;
        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=K2JtP9LCxTQskLIXpTwYxhJvoQGqVrzaB2jkej71Ne0=;
        b=hqlxzmmZ4XYrBg5L8Lwyx5b0DEZ0rwGVre6CZCNStHJZbHRnQWRebWQos7hVY4e4qw
         KWaJFb4xismmpIOcRbBtBB+kq1pQgHX62IEUJGnDf0f4VSHOWIAj7bEWi9KX8nFn9Z9h
         pDcf8PohJFBzdthGBtwRb01uRdpqXBCfrKjiiYGzXDHob89RdGeXzezFHrMYji+Mk39I
         k9D1qJAcUakpmTwqWim6WQGI1qChql8rN45U+kZyCCcfvQiOdhlFkZz1/fTGdlrL2ZEB
         vc1oofuvR9/KMd23cZXKLMKmBOs2jeae+u/S1gOf2fTuYbzE9eb+pVtt+q9i75xCrA3k
         Q5aQ==
X-Gm-Message-State: AOJu0YxfXqpAcr1QtUUTJ3ehSSbOFZ8z5m+56mSpvqOFfncyEgLt5THI
	a/cAaj5e1rKS8p63xRXN+1txww==
X-Google-Smtp-Source: AGHT+IHDxWSnQvagabhOPczjajBT3Ie2XATwU7p58MGVZZspSBH3lMqXeaYV601llys4mkU9OAs49w==
X-Received: by 2002:a5d:62c6:0:b0:31a:d773:51a5 with SMTP id o6-20020a5d62c6000000b0031ad77351a5mr11626529wrv.27.1692874109727;
        Thu, 24 Aug 2023 03:48:29 -0700 (PDT)
Date: Thu, 24 Aug 2023 11:48:29 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Always move the bisect build log back
Message-ID: <e244560c-301f-411c-a490-c26364f3ef96@perard>
References: <20230823152334.8867-1-anthony.perard@citrix.com>
 <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>
 <f300fec6-9139-4ab9-959e-35397967446d@perard>
 <3d1a3638-603a-b918-596c-03557f139d6e@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3d1a3638-603a-b918-596c-03557f139d6e@citrix.com>

On Thu, Aug 24, 2023 at 10:51:20AM +0100, Andrew Cooper wrote:
> On 24/08/2023 9:52 am, Anthony PERARD wrote:
> > On Wed, Aug 23, 2023 at 07:05:56PM +0100, Andrew Cooper wrote:
> >> On 23/08/2023 4:23 pm, Anthony PERARD wrote:
> >>> On failure of "build"-each-commit script, the next command that move
> >>> the log back into the build directory isn't executed. Fix that by
> >>> using "after_script" which is always executed even if the main
> >>> "script" fails. (We would still miss the log when the jobs times out.)
> >>>
> >>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> >>> ---
> >>>  automation/gitlab-ci/test.yaml | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> >>> index 810631bc46..5099f2e6b6 100644
> >>> --- a/automation/gitlab-ci/test.yaml
> >>> +++ b/automation/gitlab-ci/test.yaml
> >>> @@ -140,6 +140,7 @@ build-each-commit-gcc:
> >>>      CC: gcc
> >>>    script:
> >>>      - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
> >>> +  after_script:
> >>>      - mv ../build-each-commit-gcc.log .
> >>>    artifacts:
> >>>      paths:
> >> Thanks for looking into this, and yeah that is dumb, but why play games
> >> with the parent directory?
> > `git clean -ffdx` has the tendency to remove everything that's not
> > committed, that's why. But maybe we can teach ./build-each-commit.sh to
> > ignore that logfile.
> 
> Oh, right.  Yeah, lets not lose the log file like that.
> 
> I'd say that teaching `git clean` to leave the file interacted and not
> copying it is going to be a more robust option.

Yep, just tried that. But "Tree is dirty, aborted" :'(

./build-test.sh refuses to run if there's something in the git worktree.

This test is going to need more rework to be useful in the gitlab-ci.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 10:55:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 10:55:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589949.922029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7zN-00050F-2R; Thu, 24 Aug 2023 10:54:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589949.922029; Thu, 24 Aug 2023 10:54:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ7zM-000508-UV; Thu, 24 Aug 2023 10:54:56 +0000
Received: by outflank-mailman (input) for mailman id 589949;
 Thu, 24 Aug 2023 10:54: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=xm8A=EJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZ7zL-000502-VY
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 10:54:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe02::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7accb4e-426c-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 12:54:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9855.eurprd04.prod.outlook.com (2603:10a6:20b:652::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 10:54:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 10: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>
X-Inumbo-ID: a7accb4e-426c-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dBpLKa/mTNX1+Q8c81w/KntGm2CjCaX0PKsC0grCI6RkAjWUL7dj2oW8Ur3YabffXYFUaXaeZ2i3F89Cl8sL3KR6tiIu2h8RCbIxI6tpA4D8OcovHopLRaNEITFZjaYc2NXSiYLxTKgl8WT4asjaJCy2Jsu2o5d63So4uQtZTX9liXOVOWVaqAeZFNLkcuG2dy4DgNdB9EgpJKRHWVvDCodty9G4PZoOe1OinajwBYzIfKHNSt73CaTEnbEkg7i6izlhI3Vp7lqRY7bbB2MR9uPdoOa6FgrAh+feaYYq7KiFonCplxyu/JFB6H2sG52UpnEPIzqItxpWU5yALR0Q9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XD+2B8K1GW+byzjuizA8mHa1/4uQIS6fcTN3eGpOoYw=;
 b=VZYlDr3kqDO+x8BWwygr2jRZYItqJPjF/wWERuBLiWgvOhVtvSyVQ7yOrYJZWIk57WoZ47/sWuynuE3WsLgOJ1yvXpQgKeSXlkWt3HB0JPoAVKV+kyVsRFGRnnyXOfE5IC8BrSZYZwNRIm7EoMZX2nsDClMwmbGrsvqup8PEx+09YWmT8PNNHQoG1vF0SdG2KCWyC/T2I5x+rnvBt7FkUhAxkIsALIjlNZjjQ1gqFPtoFruFTywdGvsd4Su7g7d8gWxj96BY2Us9Vlfs+asW9CnbJ7kw32xmNhbCSzS/7O96bpkX9pS+V78M/sYQdxukwPYbAgCeZ+GCei8gjPbd+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XD+2B8K1GW+byzjuizA8mHa1/4uQIS6fcTN3eGpOoYw=;
 b=nE/fDXyeyIiD8rHHLSYLumqRTmPeVAYNXvklkvlQroU/QUA5bHY2B5tddM7rTyuaam90nC2WnUVECOf55u44F8Hf9FJZgpnlwmONv9T7haqD+oEVpNo3ZLBabQYAN6/DkA/7nNSYKjC4TNe+1Q5OG7IEKpat36ZaVr5/RIK2Wn9/PC46CgfbUjvMO10R5176FbHEcjfz/FTrJuqGdTekTqboPFYanTBZC0AH4tR23/UnwgJra3Q/n7WRFEwFNnJsAS/hn8+FuVqJ9rch/CIBzqqMgtxl/+G9iEIqGzwO6hemDAa6RYKel1lk2ibbajLUyypz/Cb0f+BevEAx5CcFJQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Content-Type: multipart/mixed; boundary="------------uM449HLAgCvOhdkik00dVtT1"
Message-ID: <14f3796e-d591-1eb0-7188-8bb44bc582b9@suse.com>
Date: Thu, 24 Aug 2023 12:54:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 06/13] xen/mem_access: address violations of MISRA
 C:2012 Rule 7.3
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>,
 George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <7e4ff67a24206177c5a304055f395cc2983bb994.1691053438.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308031746340.2127516@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308031746340.2127516@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: FR2P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9855:EE_
X-MS-Office365-Filtering-Correlation-Id: 2af236e5-3f93-41b9-5df6-08dba4908a50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pZkyHS77H/z2QVgr4jmMkkcAN87YScSOa9HO9AyMzm67Lo5DdspefACq5FZ5jLrwt0ogWY99I3gE+/BGcYV+1PyBtYfs9wvYZiJ0gPlTV9P8mRNNhg4J7hOoBzoWsUH7BNHr4z7DVH7dnjrAeYS3Z5/UFzNHqugB3F+byW2erqC5x3I/NQbEX6n063kMVtgExsS48DSYcva+vfIrSgpchfPnQAAxfHMVJJDzL+jL0/C+2rOhvLySBMllnQT7DntQnREQuFVAGmcgOiLN1GcCIkUCn2h8r2cReU5QKlsboQjXXT9OR22oMyXL6rqLPquhCajMPemwVDm9NX1ucMFmaoapEklgAGYK0ZoYihQOQGvmN0nwBlpSSN7QTCgWEMg6epRFJlOpW5jeQapEGHBNCMX9+ZJBm/QmIj67Er5MuZS7aoitm9cBIlaDBEiKDykbeCSsdA3dRagNKRCDUlNx2KPcTllr7glJ3aH/Swc6FfKKezIZaAYICW2JuEwonCCYPinXUOGx5bJf6WeplNCTXJdUkaMYL2AcQ5ULOXR+z3sE1omL6hjQdUGNdTm2qIlnBQ3w5LoMKGUcstWRWqWf+vDCnBRNJNxZW+3Y1eWkeGwP5RhqLwHe1avnZIEdOEAQ9oqbh/nOJCi1mPj9TBLjFQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(136003)(396003)(366004)(186009)(1800799009)(451199024)(2616005)(5660300002)(8676002)(8936002)(4326008)(235185007)(36756003)(83380400001)(26005)(6666004)(38100700002)(66946007)(66556008)(66476007)(54906003)(316002)(110136005)(478600001)(31686004)(53546011)(41300700001)(6512007)(6506007)(2906002)(86362001)(33964004)(31696002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjNFcWNGcTRVdHZoaks4VjcwcFdJekU2WnovUlZwWEVGbVdTZ1NWdkVkR0F4?=
 =?utf-8?B?UnNJUVlkTUpaSmd4WU9CWE00V1VNdSt1Y0FzOE9EaXpZdlJxNHg1ek5BZGtQ?=
 =?utf-8?B?YVNYUTRQQzE3ZlBqOHVtWGtHR21HaDZEL3VuVi9ncnlqc29XUmM2VDdqbzFV?=
 =?utf-8?B?YTRPNUVCcDMwdEFtWDZ1aGQvcHJvWWdqQlFvUU5SZjZzalRIOUVIRmR3T3Jh?=
 =?utf-8?B?dWZUamFLR0VHT2N1K1o0SDlOVDFTSThGZnBhK2dEeVFMMXN3VmdteTMyRWRw?=
 =?utf-8?B?cnFLSUlGTklNUUZCVEpDZ3ZUNVRjZUpUN0lVOGJlOUhiRnB3WjhtNEhqNzYr?=
 =?utf-8?B?N01rZmdkN25xTjlzNWkxSkpIdzVjNkw1WmdMSUJ0ei93Q3ZSYVlYTHR3QS8x?=
 =?utf-8?B?eW5EMVJOTzVtRFJWamk0REhrZWVoVmt1d1JsVmIydklJMGRJeVQxSUhLVjVi?=
 =?utf-8?B?Sm5aK3JRWkhRcFFmYUlBNG0zSFZ3alp5RGtWckNoVHMwcjMxVElYNzBEczJq?=
 =?utf-8?B?amVzbGRUa3VOYTVtSktOdnp4WkVGcXVFU2VhRnFWRERJZVlrVEJGbS9uUkNK?=
 =?utf-8?B?RW5HUFBBUkVxRUorVUJ2Z2t1TVBVLy9ZOVhYVlY5MHQrQlg0SUZtekFnN0kx?=
 =?utf-8?B?WXRNTGdkZ0VMcFB0VzVLOFBDUi9OT2dGcUFUc1QxM2R6NXRva0xJZVljb29x?=
 =?utf-8?B?NmQ0RGZzNjZ5U1RQcHhtSEwzc2JqdlQ5VmQ5RiswajU2N3BmSWhjVm03Y2pO?=
 =?utf-8?B?aTZ3Z1dia1UvRVlFbG1JWXh1a1NMcTVMM20xeXB6QlF0bHJoZE9EOHF2THlT?=
 =?utf-8?B?RXRFTStCWUxRS052SFg2MnZWMjRrZ2VtYUx1QUdwQUdLbnhGdHd5NEw0SWZI?=
 =?utf-8?B?L1RoY1pabURNRHZXSjBBNGNHQWlZUFYxSG0wVnZER3ZvekYzMnEwamFXTEVP?=
 =?utf-8?B?M250aGtxb3dwVkdWdHBQYWx0REpDL2I4ZiswZWk3RmpSeWo5VHcvL01nL2lo?=
 =?utf-8?B?UE9XV0owbXkvYmlVNlBFMGRHOFJhMmV1ZWlmeFVwcXpLaUwxaVV4dU5rcVJK?=
 =?utf-8?B?YU44TndTaGFwMlpBYlR2QWVqcGpTR2IvelZ4bVRtdyttZ2Vud1BRTnd4TTV3?=
 =?utf-8?B?UStUZSs0QjhGK3lrNFIzY04wekZOdGZUVlhQR3ZWUGlpK3B4M3kvVW0wTUtl?=
 =?utf-8?B?dkVuYjhTSUEzWjUyb3pBQjZPZlY5Y3E0U2ovOVpNelNNYXkxcHk4YW5hNHVn?=
 =?utf-8?B?OHk3LzFRK0g4QlRlQUFyNUp2dkREVTVtT1lnTHlQYlUxQW9VcFpFZ1Y4Rkpw?=
 =?utf-8?B?clM5bS81ejQ2UEJTVkIzTGFQSEgrcHRmNFkxY3ZOVHlQN3YvcmpPNjBOTEpw?=
 =?utf-8?B?dzNrcjZBakhPemo4VWUwYW85bzJyai8vRlBJaFdvMUd1QnJua3A2UVI2TC9m?=
 =?utf-8?B?RjYxSHdmM2RrendFZEV4K3ZKRmVqc2xSRHYyRjJ4RVVTTUdzaVBhZjdvUU9v?=
 =?utf-8?B?Z2NLbGI0VnRPSTJTUjRaQndZS1M1K3FueU1LSEk2RnArNUNicmtmN0hPRS9H?=
 =?utf-8?B?SDduRkQvYlJrb0ZsV2lxRU15ZDJHSmFzYUFqVEw5bDB3MUhPTHQzT3hSYXA4?=
 =?utf-8?B?OVFGdEljSHNBdzNhNFAzZ2thckdJamhDeFNlUnEvR3laSmMyYjJEZDd4Mm5B?=
 =?utf-8?B?cVFzbkxoRDIyc1cxWm5IUjFoQUpDa3B2LzI4d01KQVVXcjZXMDNmbEdWbzBI?=
 =?utf-8?B?b3RwQWFJNWNBYnIxUUVEekVsY3E3anZNSmZ0VW92dlkyM2J4blg4SUc4cnpi?=
 =?utf-8?B?Nkt6NFVubnh0QVlXdFAzQ3UvNkhHMjkvWVZoTzkrcWl3bzJFaTVwelAveFFC?=
 =?utf-8?B?WnIzTHV1Mlh6Zkx0SGJ4NXVNUk1ic2RHcTBwSXFTZmhmVU0zWWpqQU1DR2E1?=
 =?utf-8?B?dzRUbndvM2d5R0s5OGdsYWpkVTg2a3lObHYxWkZuNCtIRytLenoyNEhIWFBn?=
 =?utf-8?B?K1FGWTl3WVpmbnV3N01ob3VXVnlQNGpmY1dsKy9tZy9YRjJrb1dmM1JlKytM?=
 =?utf-8?B?LzR0OS8zV0RzTVJ0RVR2RWZ3ZzBxK20rakZjQjJkTTh5NmI2dzJEUGlPenor?=
 =?utf-8?Q?mxBi4rIoXfjquWCwHYBlAI/Oi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2af236e5-3f93-41b9-5df6-08dba4908a50
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 10:54:50.9982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M5XCcgxJFZTdN5Yy07Yu3qKLwHIP0/O83I01BKq/72pug4w5X13DX56PYdOwRFvssNjlKwqeE5onuG5DbHdM5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9855

--------------uM449HLAgCvOhdkik00dVtT1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.08.2023 02:47, Stefano Stabellini wrote:
> On Thu, 3 Aug 2023, Simone Ballarin wrote:
>> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
>>
>> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
>> states:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> The changes in this patch are mechanical.
>>
>> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

I notice this again was committed with an ack by Tamas which has never appeared
on list. At that time I pointed out that the reason may have been connected to
the mail (as you had forwarded) having been a HTML one.

Yet then looks like the same has happened to me, with "Re: Ping: [PATCH]
mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()". I can't find
record of this in the list archive. And that mail, from all I can tell, was a
plain text one.

George, for the earlier instance Stefano had Cc-ed you, apparently on the
assumption that you might be able to do something about this, or initiate that
something be done. Is there anything that was found out? Just in case I'll
attach the mail I did receive.

I also wonder what other mails from you, Tamas, may not have appeared on list,
and instead were (presumably) only delivered to people explicitly Cc-ed.

Jan
--------------uM449HLAgCvOhdkik00dVtT1
Content-Type: message/rfc822; name="Ping: [PATCH] mem-sharing: move (x86) /
 drop (Arm) arch_dump_shared_mem_info().eml"
Content-Disposition: attachment; filename*0="Ping: [PATCH] mem-sharing: move
 (x86) / drop (Arm) arch_dump"; filename*1="_shared_mem_info().eml"
Content-Transfer-Encoding: 7bit

Received: from PA4PR04MB9269.eurprd04.prod.outlook.com (2603:10a6:102:2a4::20)
 by AS8PR04MB8788.eurprd04.prod.outlook.com with HTTPS; Mon, 21 Aug 2023
 16:20:48 +0000
Received: from DBBPR09CA0027.eurprd09.prod.outlook.com (2603:10a6:10:d4::15)
 by PA4PR04MB9269.eurprd04.prod.outlook.com (2603:10a6:102:2a4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug
 2023 16:20:47 +0000
Received: from DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::b1) by DBBPR09CA0027.outlook.office365.com
 (2603:10a6:10:d4::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Mon, 21 Aug 2023 16:20:46 +0000
Authentication-Results: spf=pass (sender IP is 209.61.151.227)
 smtp.mailfrom=tklengyel.com; dkim=pass (signature was verified)
 header.d=tklengyel.com;dmarc=bestguesspass action=none
 header.from=tklengyel.com;compauth=pass reason=109
Received-SPF: Pass (protection.outlook.com: domain of tklengyel.com designates
 209.61.151.227 as permitted sender) receiver=protection.outlook.com;
 client-ip=209.61.151.227; helo=rs227.mailgun.us; pr=C
Received: from rs227.mailgun.us (209.61.151.227) by
 DBAEUR03FT006.mail.protection.outlook.com (100.127.142.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.11 via Frontend Transport; Mon, 21 Aug 2023 16:20:46 +0000
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1692634845; x=1692642045; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=WDPe/KwKFgFBxKVRMieomZVriiR87oLOMI3lhjSnIhQ=;
 b=WCeS9lTur1DP1iorkAVkAskxZ5TRCoqPFIOFlNL1mAvfj016y1znr3KW7xzPJgRocgQStZ1Jn+KtPODVko+Vv3ZDzC5ugGphY5Uo9Yjm0YejPLp3rtViJtYKhZCXs5M8C2gyo3e87GozrstBIql7eVgGL6KZgkn2F/NfPOJFuNqAtV+YsYhF/NpTEj38L8ce0ZRubfKBD6n/weyAslFoVyQFeoJSh0cVL+L0x+IgZ/FOOu7lxjXZHQkkwc67cDRSacIotpQvS4tVUkTP+gnsPQCCtM21KVDKC79s7qXNbfzLgdZ4fHNeXF80mQ0tHw+0gqze85ooIQS5dQLRbs9oaQ==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyJjOThjOSIsImpiZXVsaWNoQHN1c2UuY29tIiwiY2Q4NDAiXQ==
Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by
 5d64a587c9df with SMTP id 64e38edc61404629fff35d9c (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 21 Aug 2023 16:20:44 GMT
Sender: tamas@tklengyel.com
Received: by mail-yb1-f182.google.com with SMTP id 3f1490d57ef6-d62bdd1a97dso3572832276.3
        for <jbeulich@suse.com>; Mon, 21 Aug 2023 09:20:44 -0700 (PDT)
X-Gm-Message-State: AOJu0Yx+zTB0O3lZNHqxVAHUauCuKpqfNxWVfwE3LYEvfS3NVlgT/0rF
	oUxzsxjhPsw4mmEaGLP8Kxk92eVuqO20q7gfPPY=
X-Google-Smtp-Source: AGHT+IEZDX2qZ1XTAeKvtOCGb8tu5uP5P6I/08A/jM+qEzgIE+jYyuP1e7kfM18nOxcTa4RPa8+hsxto7RrdaMb2q9E=
X-Received: by 2002:a25:ce0e:0:b0:d6b:78fe:f1c1 with SMTP id
 x14-20020a25ce0e000000b00d6b78fef1c1mr7223510ybe.65.1692634844183; Mon, 21
 Aug 2023 09:20:44 -0700 (PDT)
References: <b0a49d20-8e82-8264-8241-86a108139682@suse.com> <57ced9f0-95b8-a560-cac9-08d58e2f0b86@suse.com>
In-Reply-To: <57ced9f0-95b8-a560-cac9-08d58e2f0b86@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 21 Aug 2023 18:20:07 +0200
X-Gmail-Original-Message-ID: <CABfawhkmywaLwmtda2RgzbmM14gab1-Xirxsg4COeW-KODk-yA@mail.gmail.com>
Message-ID: <CABfawhkmywaLwmtda2RgzbmM14gab1-Xirxsg4COeW-KODk-yA@mail.gmail.com>
Subject: Re: Ping: [PATCH] mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Shawn Anastasio <sanastasio@raptorengineering.com>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Return-Path: bounce+430b55.cd840-jbeulich=suse.com@tklengyel.com
X-MS-Exchange-Organization-ExpirationStartTime: 21 Aug 2023 16:20:46.8370
 (UTC)
X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit
X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000
X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit
X-MS-Exchange-Organization-Network-Message-Id:
 0b40f0d0-9966-4cfe-ba58-08dba2629382
X-EOPAttributedMessage: 0
X-EOPTenantAttributedMessage: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba:0
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic:
 DBAEUR03FT006:EE_|PA4PR04MB9269:EE_|AS8PR04MB8788:EE_
X-MS-Exchange-Organization-AuthSource:
 DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Office365-Filtering-Correlation-Id: 0b40f0d0-9966-4cfe-ba58-08dba2629382
X-MS-Exchange-Organization-SCL: 1
X-Microsoft-Antispam: BCL:0;
X-Forefront-Antispam-Report:
 CIP:209.61.151.227;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:rs227.mailgun.us;PTR:rs227.mailgun.us;CAT:NONE;SFS:(13230031)(451199024)(5660300002)(6916009)(4744005)(42186006)(54906003)(8676002)(4326008)(1096003)(6666004)(7846003)(9686003)(7636003)(356005)(7596003)(336012)(55446002)(26005)(107886003)(75396010);DIR:INB;
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:20:46.3214
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b40f0d0-9966-4cfe-ba58-08dba2629382
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-AuthSource:
 DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9269
X-MS-Exchange-Transport-EndToEndLatency: 00:00:02.0829930
X-MS-Exchange-Processed-By-BccFoldering: 15.20.6678.031
X-Microsoft-Antispam-Mailbox-Delivery:
 rwl:1;ucf:0;jmr:0;auth:0;dest:I;ENG:(910001)(944506478)(944626604)(920097)(835001)(250001)(410001)(930097)(140003);
X-Microsoft-Antispam-Message-Info:
 =?utf-8?B?KyttV2NYVDNSc3R2UlNWMjdNalo1MitDbTlLSXd0dG9Td01xdXhVSHBFbzk5?=
 =?utf-8?B?VVdHNlBWdTlMTG1wWTAxV2taOXVJM1dsZEEyZU9wZUJnTmtUV0RPM1ZQRTdz?=
 =?utf-8?B?YnRoQXVSbUU1WGRUUS9HZ0g4eWIyVFJhc2l2N20xTDdHU1JUMkU2Njh4YTBN?=
 =?utf-8?B?Mk1zMFB5bC9pNEV6K3M1SEY0YVczUitFaUVUelNWMlRVTUc3aFNudVMyUVlx?=
 =?utf-8?B?V2hzTGczOXAyUklJT2lWTnF1dlNqOTZGZFkwUWh2d2VSY1pNRVgwT0k0VjNW?=
 =?utf-8?B?amJuNWpZOUdUMTJDYXRjYVNEWWFjTldQQUtOdGNteEZVbXB1Sjk4ZWVJWHlF?=
 =?utf-8?B?cWlCb0ljRWNtU1dEb2FjMSs4YU9ZYVROK21XOUlUeDdzUmZ4WmVaVEFKTVB6?=
 =?utf-8?B?WmJnMnYzTGZzL3RwazBEdTNTZXR0T1N6Rm9lNWZRc2J1Z3FFdnkzckpXdXVZ?=
 =?utf-8?B?Q0lLUXFwTmd3SmhkaGFtMGZveHAzcW9lajJkSDlTK1RuRzNBa05HdFZVcnRE?=
 =?utf-8?B?NGFYUnY4dzVvclNuS1kvWHRDU3NhQSt5VHN0L1pxYWRuR3FvaU5CRWdZREt5?=
 =?utf-8?B?cVAzTUVZTE9QcVpsakNMTERXMUdpM25SV1VnTkMrUFNMSGU4S2VwenBNblFL?=
 =?utf-8?B?eXk4N09lRHVYMmtadkxJZ1ZWU09zMlh0MTNBY1l3VEN5S0hzVjdrcmdLUC80?=
 =?utf-8?B?alc0bFdiK1V0RXdvTzJLRW0xZnh6KzNHeDQ5Q2pyQURaTUZzZktpbm9TbzQ0?=
 =?utf-8?B?S1dmN2Fod0NOY2VpVXgvMjdKT1REYWZJb050U1k1dFBMV3NEOE1xTEUyb0dv?=
 =?utf-8?B?dGNLWXNvWVhCaGRtR2NnY2Q0OXlrb29XZ05pd2hqby8wN0YzUVRIVUdRYlZD?=
 =?utf-8?B?RFRuTUNNeEp3U1VkUkJ4VlNSb2xuem5zTjY3UThuK3dXN2JDOXZwclBPLzRo?=
 =?utf-8?B?YXNaS1lJdDJHUzBvelgrZC9nYmpCQXZPUURrYU9aaUdMM05NRUFBamlHNmlu?=
 =?utf-8?B?VlV2VWEwaFlvVmhGdGhxZVZhSEJVRnZSUWMvcUV2czVjL09ZTFZNb0FOTlRL?=
 =?utf-8?B?eXJJcGpTbDNCVC9sTUZlY09rajIyUFN3SjdHOXVwazJoTVlUSXNqTHY5endM?=
 =?utf-8?B?NFEraXZBYUwxd2YzNEtGbGZVckdZdHRVRG5VNGNNeFV2N240Zy9KM3Nwb2J3?=
 =?utf-8?B?SU1xdlhHNW45NHpTN0poWXdLL013Q0QwcWcrMkZqWGxwc1ZCR1lwZ3U2VEgv?=
 =?utf-8?B?bUcxd2g1Vy9KRnVHMUdoZDJCekdwbytWZlI1d25SL3V3U2ZCaS9FT3IxalNR?=
 =?utf-8?B?TE9rc3pUNDhUajdJQWhlV0ViOHZ5b0xncGlBdkpmbWhVZHhPazV6WnZQVkFv?=
 =?utf-8?B?SGhGNXlnMllYRVUwT1JnbG8yT0pLNkNPN251RGdDWEp2bFFBdlhOUy9tdlVm?=
 =?utf-8?B?T2tmZ3ZMOTZWbjh5alh3aml6ZWRHcVYzNmhKRFlRMDdBa3FxSDNOQmM0YUNr?=
 =?utf-8?B?UmpSVTE2dVlLZncxdmtiRXE4dzFrZkZjVi80Nkd3eWVDbGVhVmhJdjdzazBn?=
 =?utf-8?B?VVcwQ0sxMmFIcVRHVXhtMlFLMWVLQnFXOHhabTZXeWVGRVdPYXlzSVUxMFIz?=
 =?utf-8?B?TGtsazBjQUNqbS9Gdzk2VFVMdXEvQy9rdHU1dm1FazVGWnVlQlk3WjlmWXlH?=
 =?utf-8?B?TGhLcDFSTm8ySG9pejFiT2UwUEIrU3N5Z2g1MEdPQWszUHplVVBpRzIrUWh3?=
 =?utf-8?B?U1hNRTRxbFc0YThObFZWTTdIQ2RlT1dYcUx0UzJmR0J4dHJyVUlqcmpia0RU?=
 =?utf-8?B?OFpFeHhhMk02NU1BdERWUFZ1RlMzc0poSDBkdkg3anlIS21iMmRTaVVwQ0pY?=
 =?utf-8?B?SEczV0dBd0FJSVNjTFZaSDZDa2FGSG1tRHpUVStUbDhkQ29CdGZhOG5aZCtP?=
 =?utf-8?B?ZEdwZWM4U3U5RVBaWVRiUU80eXY5aVhkRElGYUx3MXFTZmRlVmdHQlFZVHhz?=
 =?utf-8?B?WlJVQTZvTkZRMU83Y3ZRKzUvcWtyL0xnMG5GcGp5WEdhWXduMEZ5bGNRRU50?=
 =?utf-8?B?OE9hWG1TcG5ac2UvMzdHZW9sakF1SDZuTUhMQUhCMmZ5WkdMTWN6Wmd5NVRB?=
 =?utf-8?B?Y0N3VHhmbE9BRzBiTFhrYklCcDNXUTZvazB3aStYdTJhdkw1ZG8vMFJXcXJk?=
 =?utf-8?Q?Ezl5cteDmojroGAJGyvslKc=3D?=
MIME-Version: 1.0

> > When !MEM_SHARING no useful output is produced. Move the function into
> > mm/mem_sharing.c while conditionalizing the call to it, thus allowing to
> > drop it altogether from Arm (and eliminating the need to introduce stubs
> > on PPC and RISC-V).
> >
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Tamas - any chance of an ack?

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

--------------uM449HLAgCvOhdkik00dVtT1--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589962.922039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ871-0006jD-Un; Thu, 24 Aug 2023 11:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589962.922039; Thu, 24 Aug 2023 11:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ871-0006j6-RE; Thu, 24 Aug 2023 11:02:51 +0000
Received: by outflank-mailman (input) for mailman id 589962;
 Thu, 24 Aug 2023 11:02:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x+mH=EJ=citrix.com=prvs=593bb07b7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qZ870-0006j0-FV
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:02:50 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1fe509c-426d-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 13:02:48 +0200 (CEST)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 07:02:34 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW4PR03MB6967.namprd03.prod.outlook.com (2603:10b6:303:1a6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 11:02:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 11:02: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: c1fe509c-426d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692874968;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=P/2AkuRE9cfYesEq2StOKC9TQCCHfa2YSQFW7aDoc2s=;
  b=fEQTV24UKamEHcPUNQrNiMllXEUlI2Q2tXQXD76mw9PWYw54K0BndkxH
   doR8prtXK+31rVYnND7WMZVZ72TYPF2Ow0RxJBNfDsALFqn1QWXlWIKpR
   X2qmTD/iy9+5JMfO+UXC+4SMeiC9C4XjK14nfBjHTJWnMAGCC2hDet0oY
   8=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 119772062
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jduU/Ks2WACEaEYvwrNb19OQUOfnVGBfMUV32f8akzHdYApBsoF/q
 tZmKTrUMvjZYDT2Ko9zb9vn8khS78CHzIQ1QFNs+CA3FykR+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4Vv0gnRkPaoQ5A+EzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwCy40QhmNou2M8quqR+pPm9sPfMXTM9ZK0p1g5Wmx4fcOZ7nmGv+PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ovjv6xbbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeTpqaEw2APJroAVIDYqdkTl+tqosXavGPZyF
 0ko8Tguo6dnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQh3
 0WFmN7BDjV1vLqYD3ma89+8tiiuMCIYKWsDYy4sTgYf5dTn5oYpgXryos1LFae0ipjwBmv2y
 jXT9iwm3e1P0IgMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl
 BA5dwK2tYji0bnlePSxfdgw
IronPort-HdrOrdr: A9a23:gi8fOqqrqdh7qXg+wBfUgywaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-Talos-CUID: 9a23:ODhrG23dU3nvpHJgtTGY2LxfOd4cXnTT6XjqEVapBGVKVaK5GVOo9/Yx
X-Talos-MUID: 9a23:rQ/HEwjybU7BvNx+IUhjx8MpH/tL/Pr1K1E2qYRFn+S4MBB7KTeTg2Hi
X-IronPort-AV: E=Sophos;i="6.01,195,1684814400"; 
   d="scan'208";a="119772062"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P4kYaIMDImswENCq6faipPkUweA5k5DoHyDuvoZHPQLM/U1GXDOZ4zLgtWUNIFNsPuZwkT9Sw5M4NCtqshrip/NOInJs6I+/dTBq+Y3ZO95Pdons3hTz4Rg7KvWrv6VRDS7/rh/p79YCeVH+aZrGmG1g79HqWmgeblGHcVhdyReyhPxZvAoKU1wMtcNzDnjv4oHflBYOvjzRcXTwCmM1fe3AkSdIpVux9swMJnxYFGuNHwA2VFaPy2OFGJF9UzvV2JtAbG5dzySHcoGUQyPQD8DQfukD1vxzr2xQStC0gWuk6KD7fsAd2QIH3VPGzoPcYCIQQIgM4FGNTvC5IgMwcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nX/hIreYGsxXtN68ZiAGbsu5dMdperP/Tp6jCd1TKRk=;
 b=Vff2KG6c4n0STqIQpTo7KqjRgmxZ3aS7PHggxhEpWLPXURCQnf8EcdOT9iNebOon76KiMMM8izTs8m2cFYb//h7DtEls6shvSiGbZcy0gKkkFIobVIGyMato+kx2vcuGg4Q+X+mxYI+CT4RMUB8eL4utOOHG9j7lb3WXkyXYsoAZVVEkSyHuu3BLkuYfPdwYEBNzYddmU5sfe1QdcjLvw2OM11c7ECM1Nh2OB8OAJZOVL0DwirGO6qQCeDMaFfc7rC+MhVwZXtLz4WnFFmI8QbjnMbruWbqmiF+1M8FOpUs3u3g+zGPIHvMZw8RHTNSqTO5BEgWsGlqT2dH614J8Kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nX/hIreYGsxXtN68ZiAGbsu5dMdperP/Tp6jCd1TKRk=;
 b=pcLL0Ro1qgui97f8Xyu78v/ytGViT++6ak5Lz9R5BVTlPgSQOkgy307ujiFaJZqDb07SGmThQwA6qDUc38go0aW388mgDsdK0WA6+4j9HiLZ0guGonhf1fsHN0PlTzQ9GPb15tpjRuO4oHLCuPLWkWO8KDlZBCjnFSe1Q1Nuo/o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ed0e2fec-41b9-c66a-2b49-b308fd4c09e6@citrix.com>
Date: Thu, 24 Aug 2023 12:02:26 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] CI: Always move the bisect build log back
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230823152334.8867-1-anthony.perard@citrix.com>
 <59a39677-5959-82cc-804f-4642d2cb2041@citrix.com>
 <f300fec6-9139-4ab9-959e-35397967446d@perard>
 <3d1a3638-603a-b918-596c-03557f139d6e@citrix.com>
 <e244560c-301f-411c-a490-c26364f3ef96@perard>
In-Reply-To: <e244560c-301f-411c-a490-c26364f3ef96@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0672.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MW4PR03MB6967:EE_
X-MS-Office365-Filtering-Correlation-Id: 814f57e1-8640-45d7-4ebf-08dba4919ce2
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MXdlt57G4R/fXpWW+wneb1CLl0/fdRb3OyBKKekgLO6R+DqcFH03XP2W9unj4dUPCPvBG2YFY9Z1ItVO62VcdpTxsOj4tw/fwhaRX80NeGIIuOmhgATHNQbNp6ryZmRjjR/PPcx1IxxROw0DanBQb//FumqshtPF+KVnKTWRHxSTJzlPiSsINvIG5ds71EMmqk5GndX0jq55B/v/N4Pr4FkW7NI7zLTigbCK8tyCxSn53LNdUGlN4qV3CpS+wAkwxsE/rt9/U0LoSTtgaiPpEuK3IWqFH188PTNxM0NCUX5e2qj/UNbIJRwZ3mDm5aVrCY/nAWnQqa/ktw3vSwlb6E/p+ql2WYUimNyREZffwuM9AF2YhpqAJLwh2Nen36YNH6Js8s4Zh5tCHxvfVki1XKxmAomNRBD8zndRsTXb/8bpBNhE9THL1/sHmmYyPyzIOy1iWLV3so953ZRU7YPPHKmb60WsoenL8YipOHDPy0O7rlFDFuQABVDUD4On3bM+DM+pfl81RrkYqS5u7CHjTSpNW4wq7+u8BHBqGpUAmmybXrwDZBhm9W67aLWbHrlI4qu00MJTBgK5Q60Z7A566enwkCzSx4KNRwZuu/Sic84ByQ5M1bfRw0scRye6aHQaFVHoJ354feFXf3vAit7Qkg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(346002)(39860400002)(136003)(1800799009)(186009)(451199024)(2616005)(4326008)(6862004)(8676002)(8936002)(83380400001)(5660300002)(36756003)(26005)(6666004)(38100700002)(82960400001)(37006003)(66946007)(66556008)(66476007)(54906003)(6636002)(316002)(478600001)(31686004)(41300700001)(2906002)(6512007)(6486002)(53546011)(31696002)(86362001)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzdESGc5UzdDYnExR1JKWnlyL1BvU0kvM0RhOFAyUmIyS3BzamN2ajkzUTIx?=
 =?utf-8?B?VmdrR0RyaWV5QmVCeFpKS0ZPWHA1eUFTQ3M5cEEyaG8zMHd1c0Y0Mm9pV1FF?=
 =?utf-8?B?MUEwQzBWeG1iM0JIYkJKMEp2L0NXS3dxNC9XTFpYckZ4Y0pmNU8xZXVxSnRl?=
 =?utf-8?B?aVBDQWx4RUViSXBQYUpOOVFVTGJIR0RyRndBNytJV0IrS1RieDlOSGtuRWpq?=
 =?utf-8?B?QkgxK2Ywbk4xdE4yOElXcC90WnhmeHp2aEM1Y01GRElrVnlpNnJiOS9oZnEv?=
 =?utf-8?B?d1c4RFhhaVI4Zjl1NjJkTnB4Q3liNmdEbVE0WmhRRGlYeWFMUzZlOHJFT2VP?=
 =?utf-8?B?OE5jMHZCVDk5QTllNnBNdlJXZ2hSdmNITHp5dlY4cnVHYjJVL1ZOQ0IwanAw?=
 =?utf-8?B?ZEhkMXVjZHVBODV6dWMyd3REWG45OWhHcmNkZjdZOUJGV0lmQ1BjcEpGcjRu?=
 =?utf-8?B?akVoRHc0SFZvcGtvY3hLSWNxR0VhMVk0bHNVeWl6a1NEM3RRUDkrSEc5MHIx?=
 =?utf-8?B?ZnY1YXhOQ3dNaWd0U2tQenl4d1FpU1lSd0grYlVvU2g5OTdNcTV5clFUZFBW?=
 =?utf-8?B?Z21hRTlDNUJwcFdaMFpkZEhPeTAwU0JqZGJwZ1FLUW9vUnZrSmNRWTA4eFdI?=
 =?utf-8?B?bmJhZU04RUVXdWVwU1E5blkzYXgvZFliOHU1OHBFSDZYbFdqYjZTZm1OQzg4?=
 =?utf-8?B?WHNYeFVLbFVVVEdUeWVFeWlBUFBmWWZEd293NVJlcEJyTVFJSGdWK2NxUnhY?=
 =?utf-8?B?dFM4R1oxa0duaWN2NXJZaThWTyttYk85ZGxDN1k0aHlCSG0zcEZGa3hEUStJ?=
 =?utf-8?B?SHBqTjVCYnhyTm4ycVd6TTZrRWVMRXFERUJBQk5JR3RYL0Z3RUJKeWtaRlZl?=
 =?utf-8?B?VzlOdmZGQnpNaXc3NmRsRDB1Sk1GYXg5T20yd1NyMUQ4Rko1UllCRThvbzQ3?=
 =?utf-8?B?a04rSkxsZVlXU2pTQW04dDlJb1pQc25WRm1yL2NWdFhYQ05BYmhDWWNNVUYz?=
 =?utf-8?B?OUZYZ05XTWREQ2RGUVlRM2l0V0F3bFZTZFVPNnB2L0VDb3V5NEl2TzNMZnRl?=
 =?utf-8?B?WXdoWlh3RHFVek1Hd1VnbzExWi92UmFydjBySVV5eUdkR3hTUERlbzc3aVNx?=
 =?utf-8?B?SmliSkh1bkNGYTNVVHF1TTd3WFB3SERVeGR0b0pxcG4rbGt4cmdzSS94TlZJ?=
 =?utf-8?B?SUZKbUtVTk5RcDlFLzEwQlVuQ3c1ZWdYaDJreWJQWDRDdHpKb0pSbHFJbWZI?=
 =?utf-8?B?cWpJREVtbEJPK2RlaXZ0cFMwWHZlaGxhcWRLQmFXdTRmZmljcXQzSVo3LzF5?=
 =?utf-8?B?enQ1YkptNVQ3bzJxalMxaHN4dlJISjJoTCs0dk1KWkJZZmFueWh4WnBsMm4x?=
 =?utf-8?B?WllNMk1TMzVLYlFYOElVRStMZVFTVDZ5ZlVxTW8wS2Y4RTQ2ODI4WWlPTGFU?=
 =?utf-8?B?SzhjdTRDVWM4Ri9FeXpQaG53MGZJcEdVZ3JkM2ZHMlhZTHZHMlgxSjJad0wx?=
 =?utf-8?B?MTRBMjlzbUNvK2hVSFFONnltQlVwcDJNMGE2WlFhb090VFM1TWVNeVcrV3Fi?=
 =?utf-8?B?RXlTa0M1TDdwUlpYTml3clk3Kys4K09CNk1NV0MvRVhObmR4eXowS3NydnRF?=
 =?utf-8?B?QzVFVnhhYll4alJEenVaS2xUdVppb2JLYUc0U2tUMlhOT0diSEM0d0Y5dWVx?=
 =?utf-8?B?MHVOZHhWbS9IcW9LdjdmelpacHo3WklQYkczcVN3Y251OFBuWUVBWTN2TGg2?=
 =?utf-8?B?bmdGamk1KzByMTlYTmJYYkNEWTlUbi83QkRURm15VGRQS0UyUHFVcllOY3Zu?=
 =?utf-8?B?V2V6c2d2c1BhTStZdjNKdkFtYnU0ME5jN0NLdWJjOU1kdEd3eE9uODRyUG5r?=
 =?utf-8?B?RExVSDZzOWduVVEwbWlDQ3N1eXlLUUNxWC9LSDZqUzVBVUVUc1Z3UnpOd0lX?=
 =?utf-8?B?K0Vrc0pscmhCOWhIV1NsNzFzNC9ZZDZiTUQ2QVBROWZsK3h2Q2hvVXlBZ2lQ?=
 =?utf-8?B?QnE5K1UzaU9rM2FtMUNrMkRMTzJEZ1cvTmY4RDI3UUpXYWNncTlZOWFMem50?=
 =?utf-8?B?aTlJa2NDZzhFYzRkVFBKYUxNVmVwblczcmMzUHAxNEtzempFUmoxQzhXK3Ra?=
 =?utf-8?B?WVRSUkdmK0pHTVJhU3h0ZnV3bE04WGdYWjhGQ1h3OUFObEViWDFFVjdIVTBl?=
 =?utf-8?B?L0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	HicnCTwl23s12+Ev+hL9l53j3B1elnGRo3WxuKZ5MCtPIHS3zFBOowz6DeLqXbu0GhE/QhhdYTxw3DpGu7EYUBRG4fA6JSU5n55KuDBrGawEDh2wZyzIU6nff+tYUVqv0Vjm1usE+qgQ2pFqDds6dAunXdC84gjr7ukJACWqf1/Nn6sy6pKhajV+9zGd5TmvXkpLebURSMx+c7hv5rWCTj4Awpv/zcsUsE1MJ6Z8lzTfHN8YgcJfTZD1yyYcKPDSgWViraqM3LJCg/rNsdaMuIFCNZUOhiuWf+FXNdAuhw1KahOdS2iZi6OMdNomroYk6SPWvMLtl/S63BwGMSTPfhuyPUzhp1rzRPF66NFCWk31aEl2KuAc90UYQcJmkno8+5na1FBXIgdOLQPpvTki7JIT8XcTk4jdloXbWcbqIJ6b3qLyy0EqwNs4XJbEEiwvx6s5H/tK1dwp8wW6fkvNPTtewV3ujM7uh331Ambt40+iJUDLlNiE8eoCPo2Glb6O/S6AhHKbo3pDcd/D+P5KX4Kgyzi4A3Zy/pBIJIm+WJf1sWTPAvv67KaSJpGC42l+SXRhlvzNJi9V6vNowQv+dRtqZFw2BYZKty7lQ88Qt97+JDh9zyHQOjuQKbPA+AVrlhw4SJp6HbzfJOV73OIB8WkA82kZ2GoS+ewR1S30Xtf4r/tJhFPDpodgIBeytf56RlRKkC1S488PpKssDFS32jMgJKUhzXaCwpQPKQgHwaFDwbSrkwrL9oN+PSJcYAsz1PURYJgNqoZBsAWQtf6mke3TevQcbimKYjY6FK5qDrpAqUySEpBAssvcGyj3eYYHOWQe8cr2ICSsVEhgYsSrZg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 814f57e1-8640-45d7-4ebf-08dba4919ce2
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 11:02:31.4015
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: On6x1JzAPhWk674KmpwLq3Je+KYTGnnTGdKb7zDa8G2NoVFx8lUH0R8GOAJvXduXSQiwyzqYfn0s3E9hy5xl9o4jRwH3PKB/Qz9T1VAsTuc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6967

On 24/08/2023 11:48 am, Anthony PERARD wrote:
> On Thu, Aug 24, 2023 at 10:51:20AM +0100, Andrew Cooper wrote:
>> On 24/08/2023 9:52 am, Anthony PERARD wrote:
>>> On Wed, Aug 23, 2023 at 07:05:56PM +0100, Andrew Cooper wrote:
>>>> On 23/08/2023 4:23 pm, Anthony PERARD wrote:
>>>>> On failure of "build"-each-commit script, the next command that move
>>>>> the log back into the build directory isn't executed. Fix that by
>>>>> using "after_script" which is always executed even if the main
>>>>> "script" fails. (We would still miss the log when the jobs times out.)
>>>>>
>>>>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>>>>> ---
>>>>>  automation/gitlab-ci/test.yaml | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>>>> index 810631bc46..5099f2e6b6 100644
>>>>> --- a/automation/gitlab-ci/test.yaml
>>>>> +++ b/automation/gitlab-ci/test.yaml
>>>>> @@ -140,6 +140,7 @@ build-each-commit-gcc:
>>>>>      CC: gcc
>>>>>    script:
>>>>>      - BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee ../build-each-commit-gcc.log
>>>>> +  after_script:
>>>>>      - mv ../build-each-commit-gcc.log .
>>>>>    artifacts:
>>>>>      paths:
>>>> Thanks for looking into this, and yeah that is dumb, but why play games
>>>> with the parent directory?
>>> `git clean -ffdx` has the tendency to remove everything that's not
>>> committed, that's why. But maybe we can teach ./build-each-commit.sh to
>>> ignore that logfile.
>> Oh, right.Â  Yeah, lets not lose the log file like that.
>>
>> I'd say that teaching `git clean` to leave the file interacted and not
>> copying it is going to be a more robust option.
> Yep, just tried that. But "Tree is dirty, aborted" :'(
>
> ./build-test.sh refuses to run if there's something in the git worktree.
>
> This test is going to need more rework to be useful in the gitlab-ci.

Urgh fine.Â  Lets just go with your fix in the short term.Â  It's
definitely better than nothing.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:11:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589969.922049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8FO-0008NC-On; Thu, 24 Aug 2023 11:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589969.922049; Thu, 24 Aug 2023 11:11:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8FO-0008N5-M2; Thu, 24 Aug 2023 11:11:30 +0000
Received: by outflank-mailman (input) for mailman id 589969;
 Thu, 24 Aug 2023 11:11:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ8FM-0008Mz-OV
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:11:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5ea3d11-426e-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 13:11:23 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 2B2AB4EE0737;
 Thu, 24 Aug 2023 13:11: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: f5ea3d11-426e-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 13:11:23 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v2] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <941f9188-6d59-12a6-9868-daa39b51687a@amd.com>
References: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
 <941f9188-6d59-12a6-9868-daa39b51687a@amd.com>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <387d99d2066e1f07b7d5d04ff54a0ac9@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 24/08/2023 10:01, Michal Orzel wrote:
> Hi Nicola,
> 
> On 24/08/2023 09:37, Nicola Vetrini wrote:
>> 
>> 
>> Directive 4.3 prescribes the following:
>> "Assembly language shall be encapsulated and isolated",
>> on the grounds of improved readability and ease of maintenance.
>> 
>> A static inline function is the chosen encapsulation mechanism.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes in v2:
>> - Switched to a static inline function
>> ---
>>  xen/arch/arm/arm64/vfp.c | 78 
>> ++++++++++++++++++++++------------------
>>  1 file changed, 44 insertions(+), 34 deletions(-)
>> 
>> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
>> index 2d0d7c2e6ddb..5c884380ee42 100644
>> --- a/xen/arch/arm/arm64/vfp.c
>> +++ b/xen/arch/arm/arm64/vfp.c
>> @@ -4,6 +4,48 @@
>>  #include <asm/vfp.h>
>>  #include <asm/arm64/sve.h>
>> 
>> +static inline void save_state(uint64_t *fpregs)
>> +{
>> +    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
>> +                 "stp q2, q3, [%1, #16 * 2]\n\t"
>> +                 "stp q4, q5, [%1, #16 * 4]\n\t"
>> +                 "stp q6, q7, [%1, #16 * 6]\n\t"
>> +                 "stp q8, q9, [%1, #16 * 8]\n\t"
>> +                 "stp q10, q11, [%1, #16 * 10]\n\t"
>> +                 "stp q12, q13, [%1, #16 * 12]\n\t"
>> +                 "stp q14, q15, [%1, #16 * 14]\n\t"
>> +                 "stp q16, q17, [%1, #16 * 16]\n\t"
>> +                 "stp q18, q19, [%1, #16 * 18]\n\t"
>> +                 "stp q20, q21, [%1, #16 * 20]\n\t"
>> +                 "stp q22, q23, [%1, #16 * 22]\n\t"
>> +                 "stp q24, q25, [%1, #16 * 24]\n\t"
>> +                 "stp q26, q27, [%1, #16 * 26]\n\t"
>> +                 "stp q28, q29, [%1, #16 * 28]\n\t"
>> +                 "stp q30, q31, [%1, #16 * 30]\n\t"
>> +                 : "=Q" (*fpregs) : "r" (fpregs));
>> +}
>> +
>> +static inline void restore_state(uint64_t *fpregs)
> This can be const as you are loading data from fpregs into registers
> 

I wonder whether this would make a difference, given that the return 
type is void.
It's fine either way, tough.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:15:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589977.922058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8JU-0000a6-8X; Thu, 24 Aug 2023 11:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589977.922058; Thu, 24 Aug 2023 11: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 1qZ8JU-0000Zz-5p; Thu, 24 Aug 2023 11:15:44 +0000
Received: by outflank-mailman (input) for mailman id 589977;
 Thu, 24 Aug 2023 11:15:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ8JS-0000Zd-HY
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:15:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8JR-0002qG-Ki; Thu, 24 Aug 2023 11:15:41 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8JR-0004Y0-AS; Thu, 24 Aug 2023 11:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Bz+bfruszbSXQ1d3p/6aFVq5/DvSJRjqtkEZzPltiKM=; b=FAj5d2d81Jos4pCj/wHYPnDFnQ
	gWRyAz9P8Z18q5VS5lqLSS1/5SOLPRu+7e1j4JohnapXykeaR/iQM4+tE9y5lvWf6E9BinAJSQOEy
	QXeiT6jpqZTGSBKZik2GSZ28fMzyDKDhNxbtkxpt0kanuioT9880XDO+8NT5pWxDS+Jo=;
Message-ID: <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>
Date: Thu, 24 Aug 2023 12:15:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for
 HVM domain
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
From: Julien Grall <julien@xen.org>
In-Reply-To: <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 18/08/2023 18:04, Anthony PERARD wrote:
> On Wed, Aug 09, 2023 at 11:33:05AM +0100, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Currently, libxl will grant IOMEM, I/O port and IRQ permissions when
>> a PCI is attached (see pci_add_dm_done()) for all domain types. However,
>> the permissions are only revoked for non-HVM domain (see do_pci_remove()).
>>
>> This means that HVM domains will be left with extra permissions. While
>> this look bad on the paper, the IRQ permissions should be revoked
>> when the Device Model call xc_physdev_unmap_pirq() and such domain
>> cannot directly mapped I/O port and IOMEM regions. Instead, this has to
>> be done by a Device Model.
>>
>> The Device Model can only run in dom0 or PV stubdomain (upstream libxl
>> doesn't have support for HVM/PVH stubdomain).
>>
>> For PV/PVH stubdomain, the permission are properly revoked, so there is
>> no security concern.
>>
>> This leaves dom0. There are two cases:
>>    1) Privileged: Anyone gaining access to the Device Model would already
>>       have large control on the host.
>>    2) Deprivileged: PCI passthrough require PHYSDEV operations which
>>       are not accessible when the Device Model is restricted.
>>
>> So overall, it is believed that the extra permissions cannot be exploited.
>>
>> Rework the code so the permissions are all removed for HVM domains.
>> This needs to happen after the QEMU has detached the device. So
>> the revocation is now moved in a separate function which is called
>> from pci_remove_detached().
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
>> ---
>>
>> TODO: I am getting a bit confused with the async work in libxl. I am
>> not entirely sure whether pci_remove_detached() is the correct place
>> to revoke.
> 
> Whenever an async task in libxl takes more than one function to
> complete, the next function (or callback) that is going to be executed
> is further down in the current source file (usually). This is to try to
> avoid too much confusion when reading through a set of async calls. So
> pci_remove_detached() is after all the DM stuff are done, and it's
> before we deal with stubdom case which will go through these step again,
> so it seems appropriate.

Ah I didn't realize there was a logic in the ordering. This will help to 
understand the code in the future.

> 
> So, this new pci_revoke_permissions() function been place before
> do_pci_remove() will make it harder to follow what do_pci_remove() does.
> Does it need to be a separate function? Can't you inline it in
> pci_remove_detached() ?

I decided to go with an inline function to avoid increasing the size of 
pci_remove_detached() and also separate the logic from cleaning-up QMP 
an resetting the PCI device.

> 
> If it does needs to be a separate function, a better way to lay it down
> would be to replace calls to pci_remove_detached() by
> pci_revoke_permissions() as appropriate, and rename it with the prefixed
> "pci_remove_", that is pci_remove_revoke_permissions().

I don't understand this suggestion. pci_revoke_permissions() is called 
right in the middle of pci_remove_detached(). So it is not clear how it 
can be called ahead.

Also, if I replace pci_remove_detached() with pci_revoke_permissions(), 
does this mean you are expecting the latter to call the former?

> 
>> TODO: For HVM, we are now getting the following error on detach:
>> libxl: error: libxl_pci.c:2009:pci_revoke_permissions: Domain 3:xc_physdev_unmap_pirq irq=23: Invalid argument
>>
>> This is because the IRQ was unmapped by QEMU. It doesn't feel
>> right to skip the call. So maybe we can ignore the error?
> 
> The error is already ignore. But I guess you just want to skip writing
> an error message. But I think we should still write something, at least
> a DEBUG message. Also add a comment that QEMU also unmap it, so errors
> are expected.
> 
>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
>> index 7f5f170e6eb0..f5a4b88eb2c0 100644
>> --- a/tools/libs/light/libxl_pci.c
>> +++ b/tools/libs/light/libxl_pci.c
>> @@ -1980,75 +2052,19 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
>>               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;
>> -            return;
>> +            if (!rc) return;
> 
> This is confusing, we usually check for error condition in libxl, not
> success condition. So the currently written code is better.
> 
>> +            break;
>>           case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
>>               pci_remove_qmp_device_del(egc, prs); /* must be last */
>>               return;
>>           default:
>>               rc = ERROR_INVAL;
>> -            goto out_fail;
>> +            break;
> 
> You can keep the goto here, this is the usual way to deal with error. > (except a label named "out" would be more appropriate, but out_fail is
> fine).
> 
>>           }
>>       } else {
>> +        rc = 0;
> 
> You don't need to set rc in the else block and just set it after the if.

This was done this way because the code after could be called from an 
error path. So setting 'rc = 0' would be wrong.

Anyway, above, you said 'goto' is the way to deal with error in libxl. 
So it would be possible to use 'rc = 0' below.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:19:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:19:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589984.922069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8Mb-00019m-O4; Thu, 24 Aug 2023 11:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589984.922069; Thu, 24 Aug 2023 11:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8Mb-00019f-KQ; Thu, 24 Aug 2023 11:18:57 +0000
Received: by outflank-mailman (input) for mailman id 589984;
 Thu, 24 Aug 2023 11:18:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OPn2=EJ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qZ8Ma-00019Z-8R
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:18:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 025a0c11-4270-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 13:18:54 +0200 (CEST)
Received: from AM0PR04CA0060.eurprd04.prod.outlook.com (2603:10a6:208:1::37)
 by PAWPR08MB9066.eurprd08.prod.outlook.com (2603:10a6:102:342::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Thu, 24 Aug
 2023 11:18:51 +0000
Received: from AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:1:cafe::70) by AM0PR04CA0060.outlook.office365.com
 (2603:10a6:208:1::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Thu, 24 Aug 2023 11:18:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT014.mail.protection.outlook.com (100.127.140.163) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6723.17 via Frontend Transport; Thu, 24 Aug 2023 11:18:50 +0000
Received: ("Tessian outbound 5c548696a0e7:v175");
 Thu, 24 Aug 2023 11:18:50 +0000
Received: from 8b88c1f03dfe.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 13A2CD84-606E-4F0F-ABE5-058DE5CA2FEE.1; 
 Thu, 24 Aug 2023 11:18:38 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8b88c1f03dfe.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 24 Aug 2023 11:18:38 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV2PR08MB8320.eurprd08.prod.outlook.com (2603:10a6:150:b5::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 11:18:34 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 11:18:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 025a0c11-4270-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2E2YycaUmRjglDnO14BI3Olfi3l6vYkXLEaDHaGO4lw=;
 b=Ww1h6/oJ1PrE3jDndEEjNUE8HP/U0z8QjNzD5djv/iZ2bYQ4z9GRccV6uEfA+jaEzBKWNjsY6vEAw9ZGhzCkaALRIGyVvRLeixZZzEHZuYKr1IdfIPXsXyHiW8B1eCq10EzQciRSGo+/OFg2ekqlD2YpseJcDK42HGNcKmx78Ps=
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: 8e2cdfcb2f3cb89d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qpw5VREKBEfL0tCEMHWBju5pRvHcpNU8ROV1nhil/kyaKre8CXHFskzEeAP2Vf8LA+2qXtGGQlym5F92qk7Dm5IQh7abgmhvaK40JMRUyEUgDShPswz0sosLl2+GdkwOJLp1I18bY3m9+zc/8aqGXZY+ANmWOdTbR02LfftUrhSJLEaUyrnqQoPUPOLRg+c5G9U+g5V4hkIc3WZHuaEFp4RCtonMDc+fjpP1C7KtLb/SMkTuYp2ivFjeVULw+5Tj973kYaQLReCXGYuhA4p1nOW05ZG4VyXkIZl1nLOb1a+UH0oh+1fGyeyqdAqOMnc3i9FSUZ+nJp1hrDj8Rc7anw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2E2YycaUmRjglDnO14BI3Olfi3l6vYkXLEaDHaGO4lw=;
 b=E7/FDr9PqNxy/we9AD11HLOw8L2TXSevDqPQIdEj2/En00BQEa1mTM2gbThqGec5dIg6U0M+L4EijsLiOJg8hsRFVeVDiruVFXRhpYx1VWAozTF2e6yqjmXvr14Z04dP24Edwa8B2L0l+8wWaA8Er1pgaJkl4lR5O7jWRgsyblFUGuBokRPOITVCp2xz2KLr0NUX4YBJqtoC2pvAEoK+4kh/jd9F1iRPL3RBvq9TOzbW3CLo/KV2r/ZqNxnr6wF0ifKqRjkS9rXBawqiYABehgZQyqQU6HUBnZaF433no2cf9e2TZwgA9eXoNdrFxzrq5wnNdUw23uRew070ZU16pA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=2E2YycaUmRjglDnO14BI3Olfi3l6vYkXLEaDHaGO4lw=;
 b=Ww1h6/oJ1PrE3jDndEEjNUE8HP/U0z8QjNzD5djv/iZ2bYQ4z9GRccV6uEfA+jaEzBKWNjsY6vEAw9ZGhzCkaALRIGyVvRLeixZZzEHZuYKr1IdfIPXsXyHiW8B1eCq10EzQciRSGo+/OFg2ekqlD2YpseJcDK42HGNcKmx78Ps=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function names
 for extendability
Thread-Topic: [PATCH v5 09/13] xen/arm: mm: Use generic variable/function
 names for extendability
Thread-Index: AQHZzmeKSbzvNCb8Y0ecj302axbRZK/1HuGAgAQj9YCAAAlTgIAAEGoA
Date: Thu, 24 Aug 2023 11:18:34 +0000
Message-ID: <EB7DCE8F-E7FD-4F77-9D78-9E7ED119A0EC@arm.com>
References: <20230814042536.878720-1-Henry.Wang@arm.com>
 <20230814042536.878720-10-Henry.Wang@arm.com>
 <c039015f-43d4-491f-b44c-8ece186e08e4@xen.org>
 <FBF340E4-5927-48E0-A23B-7D2F8DC8C33C@arm.com>
 <33e90d86-973f-4a32-941f-140db9aaa90c@xen.org>
In-Reply-To: <33e90d86-973f-4a32-941f-140db9aaa90c@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV2PR08MB8320:EE_|AM7EUR03FT014:EE_|PAWPR08MB9066:EE_
X-MS-Office365-Filtering-Correlation-Id: b2ad1c26-17d9-446d-f8f3-08dba493e49a
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:
 P8zj3iiq8ccgx+BMoIDfF2Iy1PMva2zKVTgtezO7CV8spRr1U8k8U+Q06NTFZD+TcGe755WaDl4jNNzFAHiK8xJ0S5PCGOcJQnlScF7DMwO5kaiMr5QdNnuc2S9ED09eNcRV/oudgseNnJh5Nelq7dMY0Hl66sQ/JBh0NdQpx51XE0CLa7YqIR1igvW0zgLIJdrYP4YVNJ/uOtQCPpkHYQtpiU27z+FO5ANjfOFd14vuT4ZnnReZWWHSiK3Qanc8Z7OALgDTcB29TnD1zjp9nbUqwJkniZMjanmiWRZrsHDkIBoahOZ9DTgsCsZLhRiwi803vR28CtJV7x9o11YBWvGjwGKrij7yLa+GY+fYipLxtTHsSgUAgVJZKPdb+qXzarzcASHffHFA2AqzAE4sOXDed3IDyIiopTVSWxflJjgaiVbAB0JG3CPmHzR2TrXKt4m1szajAxFUTFTIWjQTaXPsVzaeQn7Scv5zimxkIaVzloBgbbFeQrJwUb9PP/qypANNNgpIhOO57KOVAfrQL3NcvU6Qi3ye7EiRUqQycsRKW+1ept/HysR5UACbtOWoZFlGtVWNhdaxHlQMbZKQRr3qa8vA/nXMyMlwXGNyEQc1uSHdDKBFWocFTeXUtcxt/PoetPE0R4rbR0ZI9i89aW+TKbTyaYrpKUoDFv61GHs=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(136003)(376002)(366004)(1800799009)(451199024)(186009)(33656002)(86362001)(122000001)(38100700002)(38070700005)(36756003)(6506007)(71200400001)(478600001)(6486002)(966005)(5660300002)(54906003)(2906002)(316002)(6916009)(8676002)(4326008)(91956017)(8936002)(76116006)(26005)(6512007)(53546011)(83380400001)(64756008)(66946007)(66556008)(66476007)(66446008)(41300700001)(2616005)(41533002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6866C5AB52624745AEC044673C8363C9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8320
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:
 AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a334921a-5d6b-462b-cd45-08dba493daea
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BSn3E0B19PvluVleMHFqi73RGr80/pu6IirNzZGoFMRS24Pn7THNQPCZn12cbyg1aG2wojudSYxRwlldaJAB+xtQoMUpNwQoqxgIsddIioRZiFAugmTtsAfQ7LkWGlEiGbDvObrgkCru3TTEszApKbmaKUbG1kbqzd+NTPcNiM++3RAtwyyqMtiXY5saUfsRQG08gvkPcDH3eoqxm87j1OYm5DsSBBNv4e2ycyUZ4laqLj2tqwETEbVkecOElJvo4UNXbCyws7cLsXDzc7IuZV9tD10rdzr1p00pQAdtwq8hk2tl5BJ3UNFbgAzZvM4nSPAB1HutZS2OQ+0LE/sdQrwLCKgyeVIccf5ldSZRk1w2ydiaDbQ81ITpl6mrVd4cUPdnQAl/24NkKOxpEKYbFID9k2STpm1tzY9xaEFOua7EJfvof8hoNeuZle9gfJ7NxQYRcKR27ni4DwC6PK3rmzBGB00qrHbwb52mt4hS4b27PQUqAtY94vrzR3P+WeAkbeSBYb3tIRUIi/g+WM51n19KGQZuCUr/g286hxRhbYMHTacQOnpLDqtMu4r+0E/dKSyy2eG2X7vdOPn/rwrZoIpC59T0RvI5CSlcCbn9Vm1PIWN7+Spnnb5ik1YxzUIwiArYhrNGWU1zMMl3f+nqFnUVQQyT52GLyPrmxXVUoeaZl7oClo5dFtXhgYKseS/1YQAn8mLyP0fossBcXFpvaZrsWmh3kad0uyAVEGoBIfzYGloffpmXfCw8qHvySzp4
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(39860400002)(136003)(346002)(376002)(186009)(451199024)(1800799009)(82310400011)(36840700001)(46966006)(40470700004)(2616005)(6506007)(6486002)(316002)(53546011)(6862004)(8676002)(4326008)(8936002)(40480700001)(70586007)(54906003)(70206006)(6512007)(41300700001)(336012)(26005)(107886003)(5660300002)(966005)(478600001)(83380400001)(40460700003)(33656002)(47076005)(36860700001)(36756003)(86362001)(2906002)(82740400003)(356005)(81166007)(41533002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 11:18:50.4785
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b2ad1c26-17d9-446d-f8f3-08dba493e49a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9066

SGkgSnVsaWVubQ0KDQo+IE9uIEF1ZyAyNCwgMjAyMywgYXQgMTg6MTksIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAyNC8wOC8y
MDIzIDEwOjQ2LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4+IE9uIEF1ZyAyMiwgMjAyMywgYXQgMDI6
MzIsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IA0KPj4+IEhpLA0K
Pj4+IA0KPj4+IE9uIDE0LzA4LzIwMjMgMDU6MjUsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+Pj4+IEZy
b206IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPj4+PiBBcyBwcmVwYXJhdGlv
biBmb3IgTVBVIHN1cHBvcnQsIHdoaWNoIHdpbGwgdXNlIHNvbWUgdmFyaWFibGVzL2Z1bmN0aW9u
cw0KPj4+PiBmb3IgYm90aCBNTVUgYW5kIE1QVSBzeXN0ZW0sIFdlIHJlbmFtZSB0aGUgYWZmZWN0
ZWQgdmFyaWFibGUvZnVuY3Rpb24NCj4+Pj4gdG8gbW9yZSBnZW5lcmljIG5hbWVzOg0KPj4+PiAt
IGluaXRfdHRiciAtPiBpbml0X21tLA0KPj4+IA0KPj4+IFlvdSBtb3ZlZCBpbml0X3R0YnIgdG8g
bW0vbW11LmMuIFNvIHdoeSBkb2VzIHRoaXMgbmVlZCB0byBiZSByZW5hbWVkPw0KPj4+IA0KPj4+
IEFuZCBpZiB5b3UgcmVhbGx5IHBsYW5uZWQgdG8gdXNlIGl0IGZvciB0aGUgTVBVIGNvZGUuIFRo
ZW4gaW5pdF90dGJyIHNob3VsZCBub3QgaGF2ZSBiZWVuIG1vdmVkLg0KPj4gWW91IGFyZSBjb3Jy
ZWN0LiBJIHRoaW5rIHdlIG5lZWQgdG8gdXNlIHRoZSDigJxpbml0X21t4oCdIGZvciBNUFUgU01Q
IHN1cHBvcnQsDQo+PiBzbyBJIHdvdWxkIG5vdCBtb3ZlIHRoaXMgdmFyaWFibGUgaW4gdjYuDQo+
IA0KPiBZb3VyIGJyYW5jaCBtcHVfdjUgZG9lc24ndCBzZWVtIHRvIGNvbnRhaW4gYW55IHVzZS4g
QnV0IEkgd291bGQgZXhwZWN0IHRoYXQgdGhlIGNvbW1vbiBpcyBuZXZlciBnb2luZyB0byB1c2Ug
dGhlIHZhcmlhYmxlLiBBbHNvLCBhdCB0aGUgbW9tZW50IGl0IGlzIDY0LWJpdCBidXQgSSBkb24n
dCBzZWUgd2h5IGl0IHdvdWxkIGJlIG5lY2Vzc2FyeSB0byBiZSBiaWdnZXIgdGhhbiAzMi1iaXQg
b24gMzItYml0Lg0KPiANCj4gU28gSSB0aGluayBpdCB3b3VsZCBiZSBwcmVmZXJhYmxlIGlmIGlu
aXRfdHRiciBpcyBtb3ZlIGluIG1tL21tdS5jLiBZb3UNCj4gY2FuIHRoZW4gaW50cm9kdWNlIGFu
IE1QVSBzcGVjaWZpYyB2YXJpYWJsZS4NCg0KU291bmRzIGdvb2QgdG8gbWUuDQoNCj4gDQo+IElu
IGdlbmVyYWwsIG9ubHkgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IGNvbW1vbiBjb2Rl
IHNob3VsZCBiZSBkZWZpbmVkIGluIGNvbW1vbi4gQWxsIHRoZSByZXN0IHNob3VsZCBiZSBkZWZp
bmVkIGluIHRoZWlyIHNwZWNpZmljIGRpcmVjdG9yeS4NCg0KR290IGl0IDopKQ0KDQo+IA0KPj4+
PiAtIG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSAtPiBtbV9pbml0X3NlY29uZGFyeV9jcHUoKQ0K
Pj4+PiAtIGluaXRfc2Vjb25kYXJ5X3BhZ2V0YWJsZXMoKSAtPiBpbml0X3NlY29uZGFyeV9tbSgp
DQo+Pj4gDQo+Pj4gVGhlIG9yaWdpbmFsIG5hbWluZyB3ZXJlIG5vdCBncmVhdCBidXQgdGhlIG5l
dyBvbmUgYXJlIGEgbG90IG1vcmUgY29uZnVzaW5nIGFzIHRoZXkgc2VlbSB0byBqdXN0IGJlIGEg
cmVzaHVmZmxlIG9mIHdvcmQuDQo+Pj4gDQo+Pj4gbW1faW5pdF9zZWNvbmRhcnlfY3B1KCkgaXMg
b25seSBzZXR0aW5nIHRoZSBXeE4gYml0LiBGb3IgdGhlIE1NVSwgSSB0aGluayBpdCBjYW4gYmUg
ZG9uZSBtdWNoIGVhcmxpZXIuIERvIHlvdSBoYXZlIGFueXRoaW5nIHRvIGFkZCBpbiBpdD8gSWYg
bm90LCB0aGVuIEkgd291bGQgY29uc2lkZXIgdG8gZ2V0IHJpZCBvZiBpdC4NCj4+IEnigJl2ZSBn
b3QgcmlkIG9mIG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSBmdW5jdGlvbiBpbiBteSBsb2NhbCB2
NiBhcyBpdCBpcyBub3cNCj4+IGZvbGRlZCB0byB0aGUgYXNzZW1ibHkgY29kZS4NCj4+PiANCj4+
PiBGb3IgaW5pdF9zZWNvbmRhcnlfbW0oKSwgSSB3b3VsZCByZW5hbWVkIGl0IHRvIHByZXBhcmVf
c2Vjb25kYXJ5X21tKCkuDQo+PiBTdXJlLCB0aGFua3MgZm9yIHRoZSBuYW1lIHN1Z2dlc3Rpb24u
DQo+Pj4gDQo+Pj4+ICAtdm9pZCB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZyhib29sIGVuYWJsZSkN
Cj4+Pj4gK3N0YXRpYyB2b2lkIHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKGJvb2wgZW5hYmxlKQ0K
Pj4+IA0KPj4+IFdoeSBub3Qgc2ltcGx5IHJlbmFtaW5nIHRoaXMgZnVuY3Rpb24gdG8gdXBkYXRl
X21tX21hcHBpbmcoKT8gQnV0Li4uDQo+Pj4gDQo+Pj4+ICB7DQo+Pj4+ICAgICAgcGFkZHJfdCBp
ZF9hZGRyID0gdmlydF90b19tYWRkcihfc3RhcnQpOw0KPj4+PiAgICAgIGludCByYzsNCj4+Pj4g
QEAgLTEyMCw2ICsxMjAsMTEgQEAgdm9pZCB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZyhib29sIGVu
YWJsZSkNCj4+Pj4gICAgICBCVUdfT04ocmMpOw0KPj4+PiAgfQ0KPj4+PiAgK3ZvaWQgdXBkYXRl
X21tX21hcHBpbmcoYm9vbCBlbmFibGUpDQo+Pj4gDQo+Pj4gLi4uIHRoZSBuZXcgbmFtZSBpdCBx
dWl0ZSBjb25mdXNpbmcuIFdoYXQgaXMgdGhlIG1hcHBpbmcgaXQgaXMgcmVmZXJyaW5nIHRvPw0K
Pj4gU28gSSBjaGVja2VkIHRoZSBNUFUgU01QIHN1cHBvcnQgY29kZSBhbmQgbm93IEkgdGhpbmsg
SSB1bmRlcnN0YW5kIHRoZSByZWFzb24NCj4+IHdoeSB1cGRhdGVfbW1fbWFwcGluZygpIHdhcyBp
bnRyb2R1Y2VkOg0KPj4gSW4gdGhlIGZ1dHVyZSB3ZSBldmVudHVhbGx5IG5lZWQgdG8gc3VwcG9y
dCBTTVAgZm9yIE1NVSBzeXN0ZW1zLCB3aGljaCBtZWFucw0KPj4gd2UgbmVlZCB0byBjYWxsIGFy
Y2hfY3B1X3VwKCkgYW5kIGFyY2hfY3B1X3VwX2ZpbmlzaCgpLiBUaGVzZSB0d28gZnVuY3Rpb25z
IGNhbGwNCj4+IHVwZGF0ZV9pZGVudGl0eV9tYXBwaW5nKCkuIFNpbmNlIHdlIGJlbGlldmUgImlk
ZW50aXR5IG1hcHBpbmciIGlzIGEgTU1VIGNvbmNlcHQsDQo+PiB3ZSBjaGFuZ2VkIHRoaXMgdG8g
Z2VuZXJpYyBuYW1lICJtbSBtYXBwaW5n4oCdIGFzIGFyY2hfY3B1X3VwKCkgYW5kDQo+PiBhcmNo
X2NwdV91cF9maW5pc2goKSBpcyBhIHNoYXJlZCBwYXRoIGJldHdlZW4gTU1VIGFuZCBNUFUuDQo+
IA0KPiBUaGUgZnVuY3Rpb24gaXMgdG9kYXkgY2FsbGVkICJ1cGRhdGVfaWRlbnRpdHlfbWFwcGlu
ZygpIiBiZWNhdXNlIHRoaXMgaXMgd2hhdCB0aGUgaW1wbGVtZW50YXRpb24gZG9lcyBvbiBhcm02
NC4gQnV0IHRoZSBnb2FsIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gbWFrZSBzdXJlIHRoYXQgYW55
IG1hcHBpbmcgbmVjZXNzYXJ5IGZvciBicmluZy11cCBzZWNvbmRhcnkgQ1BVcyBhcmUgcHJlc2Vu
dC4NCj4gDQo+IFNvIGlmIHlvdSBkb24ndCBuZWVkIHNpbWlsYXIgd29yayBmb3IgdGhlIE1QVSB0
aGVuIEkgd291bGQgZ28gd2l0aC4uLg0KPiANCj4+IEJ1dCBJIHRoaW5rIE1QVSB3b27igJl0IHVz
ZSB1cGRhdGVfbW1fbWFwcGluZygpIGZ1bmN0aW9uIGF0IGFsbCwgc28gSSB3b25kZXIgZG8NCj4+
IHlvdSBwcmVmZXIgY3JlYXRpbmcgYW4gZW1wdHkgc3R1YiB1cGRhdGVfaWRlbnRpdHlfbWFwcGlu
ZygpIGZvciBNUFU/IE9yIHVzZSAjaWZkZWYNCj4+IGFzIHN1Z2dlc3RlZCBpbiB5b3VyIHByZXZp
b3VzIGVtYWlsLi4uDQo+IA0KPiANCj4gLi4uICNpZmRlZi4gSSBoYXZlIHNvbWUgcHJlbGltaW5h
cnkgd29yayB3aGVyZSB0aGUgY2FsbCB0byB1cGRhdGVfaWRlbnRpdHlfbWFwcGluZygpIG1heSBl
bmQgdXAgdG8gYmUgbW92ZWQgc29tZXdoZXJlIGVsc2UgYXMgdGhlIHBhZ2UtdGFibGVzIHdvdWxk
IG5vdCBiZSBzaGFyZWQgYmV0d2VlbiBwQ1BVIGFueW1vcmUuIFNvIHRoZSBsb2dpYyB3aWxsIG5v
dCBzb21lIHJld29yayAoc2VlIFsxXSkuDQoNClRoYW5rcyBmb3Igc2hhcmluZyB0aGlzIGluZm8s
IEkgd2lsbCBkcm9wIHRoZSBtb2RpZmljYXRpb24gdG8gdXBkYXRlX2lkZW50aXR5X21hcHBpbmco
KQ0KZnJvbSB0aGlzIHBhdGNoLg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQoNCj4gDQo+IENo
ZWVycywNCj4gDQo+IA0KPiBbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjIxMjE2
MTE0ODUzLjgyMjctMjEtanVsaWVuQHhlbi5vcmcvDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxs
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:20:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:20:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.589991.922079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8Nv-0002ju-63; Thu, 24 Aug 2023 11:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 589991.922079; Thu, 24 Aug 2023 11:20:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8Nv-0002jn-1z; Thu, 24 Aug 2023 11:20:19 +0000
Received: by outflank-mailman (input) for mailman id 589991;
 Thu, 24 Aug 2023 11:20:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ8Nt-0002je-Mn
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:20:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8Ns-0002wP-V8; Thu, 24 Aug 2023 11:20:16 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8Ns-0004dT-O1; Thu, 24 Aug 2023 11:20:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=ZykbmVQszRsygAsCHDc8Vv95XoLP1uzCO001hCtbmv4=; b=qKJu1Jy7OhrujfSKhQTZ5HDgB7
	UAWfogvjSkKUvrglHiOPSUKyzcTXHdWqwlkThUR34s7OEQ80B2TXeIXFuM83UWxu/bQSATAMYouUt
	KwmdfVzMdfg6jn5R5GFZ9gcILWXI8lMTMMr/HFnuDvI2bmy/Y+aoLsIeElwdiSwuO/hM=;
Message-ID: <707b09d3-c69e-4212-be64-7e2bde73d4af@xen.org>
Date: Thu, 24 Aug 2023 12:20:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] arm64/vfp: address MISRA C:2012 Dir 4.3
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
 <941f9188-6d59-12a6-9868-daa39b51687a@amd.com>
 <387d99d2066e1f07b7d5d04ff54a0ac9@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <387d99d2066e1f07b7d5d04ff54a0ac9@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Nicola,

On 24/08/2023 12:11, Nicola Vetrini wrote:
> On 24/08/2023 10:01, Michal Orzel wrote:
>> Hi Nicola,
>>
>> On 24/08/2023 09:37, Nicola Vetrini wrote:
>>>
>>>
>>> Directive 4.3 prescribes the following:
>>> "Assembly language shall be encapsulated and isolated",
>>> on the grounds of improved readability and ease of maintenance.
>>>
>>> A static inline function is the chosen encapsulation mechanism.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> Changes in v2:
>>> - Switched to a static inline function
>>> ---
>>> Â xen/arch/arm/arm64/vfp.c | 78 ++++++++++++++++++++++------------------
>>> Â 1 file changed, 44 insertions(+), 34 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
>>> index 2d0d7c2e6ddb..5c884380ee42 100644
>>> --- a/xen/arch/arm/arm64/vfp.c
>>> +++ b/xen/arch/arm/arm64/vfp.c
>>> @@ -4,6 +4,48 @@
>>> Â #include <asm/vfp.h>
>>> Â #include <asm/arm64/sve.h>
>>>
>>> +static inline void save_state(uint64_t *fpregs)
>>> +{
>>> +Â Â Â  asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q2, q3, [%1, #16 * 2]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q4, q5, [%1, #16 * 4]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q6, q7, [%1, #16 * 6]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q8, q9, [%1, #16 * 8]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q10, q11, [%1, #16 * 10]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q12, q13, [%1, #16 * 12]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q14, q15, [%1, #16 * 14]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q16, q17, [%1, #16 * 16]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q18, q19, [%1, #16 * 18]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q20, q21, [%1, #16 * 20]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q22, q23, [%1, #16 * 22]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q24, q25, [%1, #16 * 24]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q26, q27, [%1, #16 * 26]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q28, q29, [%1, #16 * 28]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q30, q31, [%1, #16 * 30]\n\t"
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : "=Q" (*fpregs) : "r" (fpregs));
>>> +}
>>> +
>>> +static inline void restore_state(uint64_t *fpregs)
>> This can be const as you are loading data from fpregs into registers
>>
> 
> I wonder whether this would make a difference, given that the return 
> type is void.

It is telling the reader that the function is not supposed to modify the 
'fpregs'. A compiler will also be able to throw an error if a developper 
broke this assumption.

I have been pushing quite a lot recently to add 'const' when a pointer 
is not supposed to be modified. And before someone mention it, I know 
that 'const' is not perfect in C as if a field points to another area, 
that area would not be const (unless the definition of the field 
contains const). But that's better than nothing :).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:34:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590002.922092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8bR-0004Uj-7X; Thu, 24 Aug 2023 11:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590002.922092; Thu, 24 Aug 2023 11: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 1qZ8bR-0004Uc-45; Thu, 24 Aug 2023 11:34:17 +0000
Received: by outflank-mailman (input) for mailman id 590002;
 Thu, 24 Aug 2023 11:34:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ8bP-0004US-T8; Thu, 24 Aug 2023 11:34:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ8bP-0003Eo-Mv; Thu, 24 Aug 2023 11:34:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ8bP-0004EZ-97; Thu, 24 Aug 2023 11:34:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ8bP-0007Ct-8j; Thu, 24 Aug 2023 11:34: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=SDaVltgbn3wcyPkv4j4gnO8tLp5iPCQ6NmBXzux/21A=; b=AnCNmUlp4K7udfq1x4xw6ka/y5
	XiGJdzFQ8ebdXoh6safias8TRUnkPh6fAHYEYcxUrYiRseHHS/wa50G53GJ70Lw4wHj6fVk0jopv5
	gYi4NMrBV2icqD5rhFpmCWccLgtYMkeyekaaetIOvubIGXW302unMMLRaUlijloJ1BoA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182498: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-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-amd64-i386-libvirt-raw: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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=2aa5c0789c54195a2b7f712a12c4e78548657d15
X-Osstest-Versions-That:
    libvirt=cb3bc96e6759d447181bc874563afb489ddb19d4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 11:34:15 +0000

flight 182498 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182498/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182426
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182426
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182426
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              2aa5c0789c54195a2b7f712a12c4e78548657d15
baseline version:
 libvirt              cb3bc96e6759d447181bc874563afb489ddb19d4

Last test of basis   182426  2023-08-23 04:22:02 Z    1 days
Testing same since   182498  2023-08-24 04:18:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jonathon Jongsma <jjongsma@redhat.com>
  JĂ¡n Tomko <jtomko@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   cb3bc96e67..2aa5c0789c  2aa5c0789c54195a2b7f712a12c4e78548657d15 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:46:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590014.922104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8nG-0006Ab-BD; Thu, 24 Aug 2023 11:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590014.922104; Thu, 24 Aug 2023 11:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8nG-0006AU-8C; Thu, 24 Aug 2023 11:46:30 +0000
Received: by outflank-mailman (input) for mailman id 590014;
 Thu, 24 Aug 2023 11:46: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 1qZ8nE-0006AO-Sm
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:46: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 1qZ8nE-0003ci-8h; Thu, 24 Aug 2023 11:46:28 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8nE-0005lp-1x; Thu, 24 Aug 2023 11:46: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=ycKZETRTqkNzSfyQdPAx/QvdCySAxTDZ7ru8pPs0+aQ=; b=T3yboQVsst6h1Ogh5ssQP9e5E9
	HS3GnPkczb91F3pVcGLhEj3Cma4+eram9d6Y0DHYHX+s27AGi6d5surGZwAP3VkPPPAcawat3IZA1
	erOZGjMoA3SIO0ETJkC2Ty9IyrTcp/dbe64dNuSK6lndpw14zb+iZGIOjwg7uQapmDY8=;
Message-ID: <0076d7e6-f099-473b-b81b-9ce8d5e18b7a@xen.org>
Date: Thu, 24 Aug 2023 12:46:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add rule 2.1 exceptions
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230823223942.2981782-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230823223942.2981782-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/08/2023 23:39, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> During the discussions that led to the acceptance of Rule 2.1, we
> decided on a few exceptions that were not properly recorded in
> rules.rst. Add them now.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> Note that safe.json and the codebase are not yet updated with an
> appropriate tag for BUG, panic and friends.

I think it should be updated with at least one of them. Otherwise...

> 
> v2:
> - fix typo in commit message
> - use "only referenced from assembly"
> - use "Deliberate unreachability caused by"
> - add "See safe.json"
> - add acked-by (although I also added "See safe.json")
> ---
>   docs/misra/rules.rst | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 8f0e4d3f25..4f33ed4ba6 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -106,7 +106,18 @@ maintainers if you want to suggest a change.
>      * - `Rule 2.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>        - Required
>        - A project shall not contain unreachable code
> -     -
> +     - The following are allowed:
> +         - Invariantly constant conditions, e.g. if(IS_ENABLED(CONFIG_HVM)) { S; }
> +         - Switch with a controlling value statically determined not to
> +           match one or more case statements
> +         - Functions that are intended to be referenced only from
> +           assembly code (e.g. 'do_trap_fiq')
> +         - Deliberate unreachability caused by certain macros/functions,
> +           e.g. BUG, assert_failed, panic, etc. See safe.json.

... someone reading this and then reading safe.json will wonder why none 
are present.

The list would then only contain the one(s) currently added in 
safe.json. But there should be no expectation that the examples will 
grow everytime one is added in safe.json.

> +         - asm-offsets.c, as they are not linked deliberately, because
> +           they are used to generate definitions for asm modules
> +         - Declarations without initializer are safe, as they are not
> +           executed
>   
>      * - `Rule 2.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_06.c>`_
>        - Advisory

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 11:48:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 11:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590020.922115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8of-0006hi-Kn; Thu, 24 Aug 2023 11:47:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590020.922115; Thu, 24 Aug 2023 11:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ8of-0006hb-Hr; Thu, 24 Aug 2023 11:47:57 +0000
Received: by outflank-mailman (input) for mailman id 590020;
 Thu, 24 Aug 2023 11:47:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZ8oe-0006hR-Ak
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 11:47:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8od-0003eM-K2; Thu, 24 Aug 2023 11:47:55 +0000
Received: from [15.248.3.1] (helo=[10.24.67.25])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZ8od-0005lp-CZ; Thu, 24 Aug 2023 11:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=pCC+w70JGjmfpFtvRorlNBO+2pIN+V/RUWDmW3kQwSI=; b=nvdm53e/xYKw4qGiQU7ZzEAwXj
	3M2vyPuM6+4RgNMGyzQrFgfHcxl/Rcl5kxZHeOpNQeD6zdkeIl8OHhzq0H5idof7/hZuvRJOpTRdT
	6E9Bgf4yy2HTAmS33GOTawd2hDiVPx9o4goTHYd/LGdQ//dxLmO/ACalJNbGG3eEzPFo=;
Message-ID: <0cd5f18b-2da4-4f36-b6eb-c151965a0f64@xen.org>
Date: Thu, 24 Aug 2023 12:47:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add rule 2.1 exceptions
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230823223942.2981782-1-sstabellini@kernel.org>
 <0076d7e6-f099-473b-b81b-9ce8d5e18b7a@xen.org>
In-Reply-To: <0076d7e6-f099-473b-b81b-9ce8d5e18b7a@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/08/2023 12:46, Julien Grall wrote:
> On 23/08/2023 23:39, Stefano Stabellini wrote:
>> ---
>> Â  docs/misra/rules.rst | 13 ++++++++++++-
>> Â  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
>> index 8f0e4d3f25..4f33ed4ba6 100644
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -106,7 +106,18 @@ maintainers if you want to suggest a change.
>> Â Â Â Â  * - `Rule 2.1 
>> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
>> Â Â Â Â Â Â  - Required
>> Â Â Â Â Â Â  - A project shall not contain unreachable code
>> -Â Â Â Â  -
>> +Â Â Â Â  - The following are allowed:
>> +Â Â Â Â Â Â Â Â  - Invariantly constant conditions, e.g. 
>> if(IS_ENABLED(CONFIG_HVM)) { S; }
>> +Â Â Â Â Â Â Â Â  - Switch with a controlling value statically determined not to
>> +Â Â Â Â Â Â Â Â Â Â  match one or more case statements
>> +Â Â Â Â Â Â Â Â  - Functions that are intended to be referenced only from
>> +Â Â Â Â Â Â Â Â Â Â  assembly code (e.g. 'do_trap_fiq')
>> +Â Â Â Â Â Â Â Â  - Deliberate unreachability caused by certain macros/functions,
>> +Â Â Â Â Â Â Â Â Â Â  e.g. BUG, assert_failed, panic, etc. See safe.json.
> 
> ... someone reading this and then reading safe.json will wonder why none 
> are present.
> 
> The list would then only contain the one(s) currently added in 
> safe.json. But there should be no expectation that the examples will 
> grow everytime one is added in safe.json.

I forgot to mention that the rest of the exceptions look good to me. So 
if you prefer, if you could remove this exception and commit the rest.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 12:15:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 12:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590038.922126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9FY-0002Hq-W0; Thu, 24 Aug 2023 12:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590038.922126; Thu, 24 Aug 2023 12: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 1qZ9FY-0002Hj-Pi; Thu, 24 Aug 2023 12:15:44 +0000
Received: by outflank-mailman (input) for mailman id 590038;
 Thu, 24 Aug 2023 12:15:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ9FY-0002HJ-1r; Thu, 24 Aug 2023 12:15:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ9FX-0004Ou-Lx; Thu, 24 Aug 2023 12:15:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ9FX-0006Ce-6e; Thu, 24 Aug 2023 12:15:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ9FX-0005FM-6D; Thu, 24 Aug 2023 12:15:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4mJWBDe6zN5n5dc1p0tvlLG8Mq0i/jz+0y+jlC6k1tQ=; b=S46LdL10P3p3+Z8Lm9IRSAQVqX
	5RPZti34R9l60KroJGjgE1iJv290WoFz3UGoRZSU4xrdltNBn9BfsXUyLNpB6UE+hLKp3yFgz+xUe
	45CIIm+Ka1NSjzXF4zjc9ymKzj5chF9jsZ1xEGVLm2LLACNWB91T/yXy2rDZeligax5I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182499-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182499: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:build-arm64:xen-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-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-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=93f5de5f648d2b1ce3540a4ac71756d4a852dc23
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 12:15:43 +0000

flight 182499 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182499/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 182424
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182424
 build-arm64                   6 xen-build                fail REGR. vs. 182424
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 15 guest-start.2 fail REGR. vs. 182424
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 182424

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 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-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-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                93f5de5f648d2b1ce3540a4ac71756d4a852dc23
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    1 days
Failing since        182452  2023-08-23 10:10:33 Z    1 days    2 attempts
Testing same since   182499  2023-08-24 05:04:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Hans de Goede <hdegoede@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Peng Fan <peng.fan@nxp.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rik van Riel <riel@surriel.com>
  Rob Herring <robh@kernel.org>
  Shih-Yi Chen <shihyic@nvidia.com>
  Swapnil Devesh <me@sidevesh.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 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-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  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        fail    
 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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-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-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 93f5de5f648d2b1ce3540a4ac71756d4a852dc23
Merge: a5e505a99ca7 453b014e2c29
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Aug 23 14:28:19 2023 -0700

    Merge tag 'acpi-6.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull ACPI fix from Rafael Wysocki:
     "Make an existing ACPI IRQ override quirk for PCSpecialist Elimina Pro
      16 M work as intended (Hans de Goede)"
    
    * tag 'acpi-6.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI: resource: Fix IRQ override quirk for PCSpecialist Elimina Pro 16 M

commit a5e505a99ca748583dbe558b691be1b26f05d678
Merge: 89bf6209cad6 0848cab765c6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Aug 23 08:32:52 2023 -0700

    Merge tag 'platform-drivers-x86-v6.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Hans de Goede:
     "Final set of three small fixes for 6.5"
    
    * tag 'platform-drivers-x86-v6.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
      platform/x86: ideapad-laptop: Add support for new hotkeys found on ThinkBook 14s Yoga ITL
      platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table

commit 0848cab765c634597636810bf76d0934003cce28
Author: Shih-Yi Chen <shihyic@nvidia.com>
Date:   Mon Aug 21 11:06:27 2023 -0400

    platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
    
    rshim console does not show all entries of dmesg.
    
    Fixed by setting MLXBF_TM_TX_LWM_IRQ for every CONSOLE notification.
    
    Signed-off-by: Shih-Yi Chen <shihyic@nvidia.com>
    Reviewed-by: Liming Sung <limings@nvidia.com>
    Reviewed-by: David Thompson <davthompson@nvidia.com>
    Link: https://lore.kernel.org/r/20230821150627.26075-1-shihyic@nvidia.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 89bf6209cad66214d3774dac86b6bbf2aec6a30d
Merge: 53663f4103ff 7882541ca06d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Aug 22 11:16:23 2023 -0700

    Merge tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes from Rob Herring:
    
     - Fix DT node refcount when creating platform devices
    
     - Fix deadlock in changeset code due to printing with devtree_lock held
    
     - Fix unittest EXPECT strings for parse_phandle_with_args_map() test
    
     - Fix IMA kexec memblock freeing
    
    * tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      of/platform: increase refcount of fwnode
      of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
      of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
      mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer

commit 7882541ca06d51a6c12d687827176c16d5e05f65
Author: Peng Fan <peng.fan@nxp.com>
Date:   Mon Aug 21 10:39:28 2023 +0800

    of/platform: increase refcount of fwnode
    
    commit 0f8e5651095b
    ("of/platform: Propagate firmware node by calling device_set_node()")
    use of_fwnode_handle to replace of_node_get, which introduces a side
    effect that the refcount is not increased. Then the out of tree
    jailhouse hypervisor enable/disable test will trigger kernel dump in
    of_overlay_remove, with the following sequence
    "
       of_changeset_revert(&overlay_changeset);
       of_changeset_destroy(&overlay_changeset);
       of_overlay_remove(&overlay_id);
    "
    
    So increase the refcount to avoid issues.
    
    This patch also release the refcount when releasing amba device to avoid
    refcount leakage.
    
    Fixes: 0f8e5651095b ("of/platform: Propagate firmware node by calling device_set_node()")
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Link: https://lore.kernel.org/r/20230821023928.3324283-2-peng.fan@oss.nxp.com
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 914d9d831e6126a6e7a92e27fcfaa250671be42c
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:57 2023 -0500

    of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
    
    While originally it was fine to format strings using "%pOF" while
    holding devtree_lock, this now causes a deadlock.  Lockdep reports:
    
        of_get_parent from of_fwnode_get_parent+0x18/0x24
        ^^^^^^^^^^^^^
        of_fwnode_get_parent from fwnode_count_parents+0xc/0x28
        fwnode_count_parents from fwnode_full_name_string+0x18/0xac
        fwnode_full_name_string from device_node_string+0x1a0/0x404
        device_node_string from pointer+0x3c0/0x534
        pointer from vsnprintf+0x248/0x36c
        vsnprintf from vprintk_store+0x130/0x3b4
    
    Fix this by moving the printing in __of_changeset_entry_apply() outside
    the lock. As the only difference in the multiple prints is the action
    name, use the existing "action_names" to refactor the prints into a
    single print.
    
    Fixes: a92eb7621b9fb2c2 ("lib/vsprintf: Make use of fwnode API to obtain node names and separators")
    Cc: stable@vger.kernel.org
    Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-2-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 0aeae3788e28f64ccb95405d4dc8cd80637ffaea
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:56 2023 -0500

    of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
    
    Commit 12e17243d8a1 ("of: base: improve error msg in
    of_phandle_iterator_next()") added printing of the phandle value on
    error, but failed to update the unittest.
    
    Fixes: 12e17243d8a1 ("of: base: improve error msg in of_phandle_iterator_next()")
    Cc: stable@vger.kernel.org
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-1-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit a260f7d726fde52c0278bd3fa085a758639bcee2
Author: AndrĂ© Apitzsch <git@apitzsch.eu>
Date:   Sat Aug 19 09:12:15 2023 +0200

    platform/x86: ideapad-laptop: Add support for new hotkeys found on ThinkBook 14s Yoga ITL
    
    The Lenovo Thinkbook 14s Yoga ITL has 4 new symbols/shortcuts on their
    F9-F11 and PrtSc keys:
    
    F9:    Has a symbol of a head with a headset, the manual says "Service key"
    F10:   Has a symbol of a telephone horn which has been picked up from the
           receiver, the manual says: "Answer incoming calls"
    F11:   Has a symbol of a telephone horn which is resting on the receiver,
           the manual says: "Reject incoming calls"
    PrtSc: Has a symbol of a siccor and a dashed ellipse, the manual says:
           "Open the Windows 'Snipping' Tool app"
    
    This commit adds support for these 4 new hkey events.
    
    Signed-off-by: AndrĂ© Apitzsch <git@apitzsch.eu>
    Link: https://lore.kernel.org/r/20230819-lenovo_keys-v1-1-9d34eac88e0a@apitzsch.eu
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit db35610a181c18f7a521a2e157f7acdef7ce425f
Author: Swapnil Devesh <me@sidevesh.com>
Date:   Fri Aug 18 18:09:47 2023 +0530

    platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table
    
    This adds my laptop Lenovo Yoga 7 14ACN6, with Product Name: 82N7
    (from `dmidecode -t1 | grep "Product Name"`) to
    the ec_trigger_quirk_dmi_table, have tested that this is required
    for the YMC driver to work correctly on this model.
    
    Signed-off-by: Swapnil Devesh <me@sidevesh.com>
    Reviewed-by: GergÅ‘ KĂ¶teles <soyer@irl.hu>
    Link: https://lore.kernel.org/r/18a08a8b173.895ef3b250414.1213194126082324071@sidevesh.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 453b014e2c294abf762d3bce12e91ce4b34055e6
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Aug 21 11:09:27 2023 +0200

    ACPI: resource: Fix IRQ override quirk for PCSpecialist Elimina Pro 16 M
    
    It turns out that some PCSpecialist Elimina Pro 16 M models
    have "GM6BGEQ" as DMI product-name instead of "Elimina Pro 16 M",
    causing the existing DMI quirk to not work on these models.
    
    The DMI board-name is always "GM6BGEQ", so match on that instead.
    
    Fixes: 56fec0051a69 ("ACPI: resource: Add IRQ override quirk for PCSpecialist Elimina Pro 16 M")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394#c36
    Cc: All applicable <stable@vger.kernel.org>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

commit f0362a253606e2031f8d61c74195d4d6556e12a4
Author: Rik van Riel <riel@surriel.com>
Date:   Thu Aug 17 13:57:59 2023 -0400

    mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer
    
    The code calling ima_free_kexec_buffer runs long after the memblock
    allocator has already been torn down, potentially resulting in a use
    after free in memblock_isolate_range.
    
    With KASAN or KFENCE, this use after free will result in a BUG
    from the idle task, and a subsequent kernel panic.
    
    Switch ima_free_kexec_buffer over to memblock_free_late to avoid
    that issue.
    
    Fixes: fee3ff99bc67 ("powerpc: Move arch independent ima kexec functions to drivers/of/kexec.c")
    Cc: stable@kernel.org
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Suggested-by: Mike Rappoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20230817135759.0888e5ef@imladris.surriel.com
    Signed-off-by: Rob Herring <robh@kernel.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 12:21:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 12:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590047.922134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9Ka-0003nm-GG; Thu, 24 Aug 2023 12:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590047.922134; Thu, 24 Aug 2023 12:20:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9Ka-0003nf-Dg; Thu, 24 Aug 2023 12:20:56 +0000
Received: by outflank-mailman (input) for mailman id 590047;
 Thu, 24 Aug 2023 12:20:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WR62=EJ=citrix.com=prvs=593229a51=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qZ9KY-0003nZ-B5
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 12:20:54 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9e522f8-4278-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 14:20:52 +0200 (CEST)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 08:20:18 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB6656.namprd03.prod.outlook.com (2603:10b6:510:b6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 12:20:13 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Thu, 24 Aug 2023
 12: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>
X-Inumbo-ID: a9e522f8-4278-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692879652;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=pdes3R5NIdTBKC+Vrst2FdpLMy0z/iObbz5RHQ1/U7M=;
  b=MqTCmgJfbDWYq0RReUsSnJ/qp6cfAm5F1p3te7Gu9A3cnQSDDetsPICW
   UdDdZNeeZEWN6Er45vpdpjrVQP2Piq1RceCPvHdhAbI5FOMO2SUK0B/Pr
   dolMe1V3wQUXD7btfLgz7d8zKVrMInu+G8bbyU200M6NhJfEDzv26aBZI
   0=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 119186449
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:CA8CZq5EcIuAt4gnIuSVagxRtL7GchMFZxGqfqrLsTDasY5as4F+v
 mAZWTuOP/7ba2fxeN12PInkoRxV6sPVyoVlSVA5/Cg9Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35pwehBtC5gZlPaAR5weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 PZHMwpWSxK4lc290YqeZbZPoIMEFZy+VG8fkikIITDxK98DGMmGaIKToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Okkooj+CF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxHKiCNxOSOzQGvhCrleD/0BCITQvTXCp+8meq1CYaewCJ
 BlBksYphe1onKCxdfHmXhi/pnPCtBcYX9NKEusS4hyC0afS7ECSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaMi8TNnIGeS4CQiMP/tb4rYc8yBnIS75LH6+8iNnoEji2x
 y2SpTI/gbQ7h9MEzKi98hbMhDfEjoPSUgc/6wHTX2SkxgB0foioY8qv81ezxfRKIZudT1KBl
 GMZgMXY5+cLZaxhjwSISeQJWbquvvCMNWSFhUY1RsZ5sTOw53SkYIZcpilkI1tkOdoFfjmvZ
 1LPvQRW59lYO37CgbJLXr9dwv8ClcDIfekJnNiNBjaSSvCdrDO6wRw=
IronPort-HdrOrdr: A9a23:1i0Ora+M3m+m+ILKkzhuk+AoI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSWc+eAamSTjazBkXWF+9RL+qj5zEh/792usUuETmtRGtBdBx8SMHf8LqXvLjM2f6bQEv
 Cnl7N6jgvlQ1s7ROKhCEIIWuDSzue76a4PMXY9dmYaABDlt0LS1ILH
X-Talos-CUID: 9a23:d7WHUG/rLmb3O2PBooKVv1MeRdsfKVjf92X/KF6ALEk2a5vSbmbFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3ANBx9aAzo/H9ZKSLKlygcAwOcDxmaqIqkGHkhwLw?=
 =?us-ascii?q?vgtGvJ3ZAHBaDqgaJH4Byfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.02,195,1688443200"; 
   d="scan'208";a="119186449"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GulHYtW1GczqImUwTxquSSD2TA4LxdSC8QuQbtJXJKOe5qu9mNf6YbEznjUlOIl1AFsug45KmZEVxfp6OgGiZEUlndYIaA+Bz5Cn2bPqSP4520+XhS72ppcF1DA0gn/gz3Wmv+RDMqCXLzaiquTbpFHRSjEgeTjQ+RGiK7FuKnCl5YN+Z2df9DEeECnQl+n4ctC/b5fQMTl7U7BSsC2K3576Dsgh1dY8EUVuIEYGApUBCeLFmOSJ4arusQSqQR0W8+0Us/k0wmptHFHO4Z+5AVqorYlHl6mx6v2u1f5zMgK0aP8N7YnzkXspmVmUo0AQjV+6AbOu32lwX8hU2N/INA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KFn7YAQ+ChVjijhUIa6DsiAN6AKGJwks8kSgmVOMLCY=;
 b=h6yp7kXd9Zc1sxtUuPTTTLZbO67QmrwnenlU82k4xnEF6JSB1qP4L4lxtoGk0lB3ySWt4i7KieWL80jOX0wa3BtFO6lMgndyDm08nEldGIXViwkMQU0v8/MnKZekBFsPfcpqM0WsDJ26L/PqvXLBqNKXbPc64Zt863ZlRoVWHQrp/AcxrIm/1tSNCBwWSudXdmRr6wu4xlQF0YRPOmCrzqBLlmqO6w7OWO3vJK60gdX4itbYsYpLw7+sadND1+Wr7aH6tQNqKbetDfiicaFjxO3imwMoKTz2UMU92TbxhapxlbzrS+gxiT0q72LtbersOGSLw60ScqYQkqrxKvQqJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KFn7YAQ+ChVjijhUIa6DsiAN6AKGJwks8kSgmVOMLCY=;
 b=htJUhMYbRhQnKAZnpYT7drCbYuhy1z35MRz3CF7oqdKY5dpY8S3fTJDdEzCCiB31yY6NUsgYuJ5mTw+4gs2zxRwydbWPYBhHE+JI5BCi8WlQIHD+yd8C4sL0M1bAChyLg8mYu/vcxnpB54XVPiYEN0UW1+VEuQ7TuHqtT0zUgaQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 24 Aug 2023 14:20:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v4 2/4] xen/vpci: address violations of MISRA C:2012
 Rule 7.2
Message-ID: <ZOdK9w69E2IiHI1r@MacBook-Air-de-Roger.local>
References: <cover.1690368810.git.simone.ballarin@bugseng.com>
 <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com>
X-ClientProxiedBy: LO6P123CA0029.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::14) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB6656:EE_
X-MS-Office365-Filtering-Correlation-Id: c768902c-01dc-43ab-ae12-08dba49c77ae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	27AQIduWzhZkaMX1wIiXtOTXz7yxoMmAPPtn0pqjReo5SDmf8oKOx7V4FgHMCrW+gEWDP9YbYqiIIBlZLtDWeW3wif+HZDHeJi9dBY7Hephz1MKFBydoaisAANvR5weLQsJBL/0vwWk5+qqgAg+k+GaWw0RWY89uuE5WYho2vxc11HKgPE58pBYsbFOoB5sj9rn6M5x9TwPD7NcEmE6DUiz82ssg+ZCKERNBEiPLB8cF2e3jGb2DD0LzfWPQ2T8TRcQdcXKb3aG5kgnZTij4OTifJnai1kYsGDNCl/nvRtbFb/GLnBNAefaHGQFsYnknvYpcrbR5cdzVixvPCxeRCP5ypKHyhLgiTMDkRE9gpzrc23Pm4zzlkPupAlxovQNtNNicQ3ZnSIHUqbq5wkxRyRT8FcwDbcKFj2u9tHN9LK0gjbL2SzGgnoltkJWyOGeV8EQS9nfutKZFx1Nluw2aDjnGIwsgnbIMkuNIG6/ApXUerNb/qlei5xb+Xd9VIWCk/67FXiBCNv0bpSx7HqLAdWHmPiCCTm6wy/35MIrMqUEknPJiYXo1/OTrcA6HP/b0
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(396003)(136003)(366004)(186009)(1800799009)(451199024)(5660300002)(8676002)(8936002)(4326008)(85182001)(4744005)(83380400001)(26005)(6666004)(38100700002)(82960400001)(66946007)(66476007)(66556008)(54906003)(316002)(6916009)(478600001)(41300700001)(6512007)(9686003)(6506007)(2906002)(86362001)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGc0SzlJMjEzK3BnRWI5WUJlZ3BDSyttc1Z3ZjBqVXNvREh2VmIyaWxidk9W?=
 =?utf-8?B?VVNjOFhSaDNYM3VwOXJZYytYZys1L2VYbkZoa0tJcm5QRjdYbTlnSkNWcUVm?=
 =?utf-8?B?TGpNdnVhZjFDTFpwcXlDNVFVLzlFVndzU0h0dzgwYzBOTnFWYzJTTHM1S3BJ?=
 =?utf-8?B?QWVpTHJKMmVxcllCd2tKVkMwaEtLd25CbkZsaHNQUE1saURObjZKZUI3OG9U?=
 =?utf-8?B?bi9yT0ZGTHA1bXFPVFVFNjhJUkxWNFRWTDRXSFBwTUlRWlRjdlBtQWUzaUkv?=
 =?utf-8?B?NHMvenZ0c3RJZ1djZytkS2VYSzFZdHRLN1RDQWord1ZIQ2VlcVBHaFYvNXVR?=
 =?utf-8?B?RnQwWlVTK3o4bVJLWWc5NGZ6TGxTOHpSK0s5RFJEazRiTFF0SlgvdUU1MGhi?=
 =?utf-8?B?M1Z3SVYwb2RXNkJUUGNGU1hRMmVNeXV0dzl2ZGs4S2xNVU56aFVtNm81dU9t?=
 =?utf-8?B?QnNlTjNhMCt0TEVTVEpsb2tlY2U4b2JzSG8zQVkwN05LSEYyU2ZRWEtHditK?=
 =?utf-8?B?U3hCSjh3N3d0VytHVUcwMnphUGZ3Z09Yc3Yzb2FNc1FaRjBqaHVnMXVCclh6?=
 =?utf-8?B?NTh6WUJ2QmduNnFuRE9LNkYyTUplUHpLQzhPQy9DdC8zTGJXMjRIcC9OTDJV?=
 =?utf-8?B?Um4zcHlIbWRmbHhoQ1dkc1dSUnNQbHE4cUNvSUN0ci8xd1RpMU1QU0ZIUWQ2?=
 =?utf-8?B?T2JPWm1qYldpb1hRVU8ySHpONDdwdkNEQUhXOVp0VThuVzNKODQvNUtqdDNI?=
 =?utf-8?B?UTJVM2h5ZWVwbzJPeEpsR0tTYUJWN09BeHlTR1FLSXVRM3U3eUc0VUFUVEZO?=
 =?utf-8?B?UDI0RmxXMHhBbmYwNjUxemZOblJ1NzhBRkhYcDI3WGdRcHBSaFBGZ1kyYlZs?=
 =?utf-8?B?RFBHM3NDL0E2ZGlZZmVya1VoNmZQVG1pMTZBME1SMzdiQWl6aTJzSWhiWDRz?=
 =?utf-8?B?Tk02SWdsVFVicTNOeUppKytGWFh4akVEMHJITkV1VEtLSVdXUG8xSEpwVXBF?=
 =?utf-8?B?WW13STRtc0NwU2NRSUtCRzFOckJJbWYxVG91c2RVeVQ3dm1GVkxKOURIUk5M?=
 =?utf-8?B?QmI2cEtVSWRoWWhITUZBb1lYZFJpZVVuYlN5dDBSRHdyYmx5OUVIdjQ2N0dv?=
 =?utf-8?B?UXkwdHdoTW9BV0t0TDJxazI5ZXp3elp1MVBLOTY3aFI3WTRZVGZiZGxyTzBF?=
 =?utf-8?B?MkRidU5KcWcyTG00OHdJZ1MxT2Z1N24yWUJ5NUVyM0gzK3dMMUZRL3VseDFH?=
 =?utf-8?B?dDBWV1kzRjBIZ0M1K1VLaHhCeWdNd3VYdUZpYmo2dm50WERRN0lRUzZmMjNG?=
 =?utf-8?B?UmdzNVZEcWxwQ1Qya1duVjdUM1FSazAxejJEVWJDWmx0M0c1T3NwN3c2eXI2?=
 =?utf-8?B?VVNHUWtHamVjT3ErdzR6TkRyZEhXcTVVTEpDdms3bnBEcWUxdHo4Ny9Bcm5E?=
 =?utf-8?B?WWRlRExNSldHMGttdGVua29rR3RHNDM5YVRqb3k5MnhHbWRhd054S3F6OTB3?=
 =?utf-8?B?WENTVkp3T0dCczcrSFovdkp2MUJFN0VMSkxDR0JRdDNVdHNRREdyTkNqNkhl?=
 =?utf-8?B?NVFsaVlYcmpRelllenppVG5tM0xXeFZla0xpcUR4bDhIZlhKVC9QdDR2U1R4?=
 =?utf-8?B?U2pGU3grdnRPTjA3Qk1nL1BnOFdRQldLS0RGZm5sR3pxUkxpR01QQmQvYmpX?=
 =?utf-8?B?aWNCaWJLdzFpUmRxZTFyaHFZbERWY3J2OWFCYWJqVFFwRDNNNXQrZkFoRjYz?=
 =?utf-8?B?dlhuYUdUUDJzVkhEQ2poMTBobXcrdm1EMUF0aVNRdUFuYUFmMlc1RENqUnU5?=
 =?utf-8?B?SU1OaTFFdHVDVEJ2Z2c1YVdVTFUzWkNTcmwxNXlyUG1RUkM4QjVhaGd4SGtH?=
 =?utf-8?B?akNhMndwQ2ZJdkFmNnA1c0dJdUxXclZwZ0xyZG1Ia0FDUVlBTkdwNzdPWEMx?=
 =?utf-8?B?L1ltNktKazBOZ0hIdG0rY2lmRnZBZlJMeTQyNFNmRjMxK3drWTdZUzhzRlZF?=
 =?utf-8?B?dFlsVDdPK0k3TzEybGMyL3Y0MWszT0JSM0VVZG1OMDE1Nk5vblBNNWJ1NFdq?=
 =?utf-8?B?ajZCRm5GZnY3TmxjWENNcjJiU3lITy91SlFBMXFYQlRoN2pqUldGOXJ3Z01E?=
 =?utf-8?B?VGVjcXNZVzJpWkticXgxTEdudDBNTWpjQTlFVGFGbTVJS0JtSGtpS1h1SnNK?=
 =?utf-8?B?V0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X6Z+KMbcazk8A+hFjpILE2GHhAbXgIKqSTuIEi5YM184OicQJCVmsYoQUrrXAeqxG8EGSj5NIThyg84pcOYEbxRV1/gSSJXjuZDIYAiuCy65nH+uE82m9MQLfFPFWZE3Lgz0ZC1/YU8U3PxbHmpbWHwB18OqCc8N8ERIRc89cXiUmLR1885N5Kh+ReHMtbkLb0Bap3iZHu5BAvpV5rJu8P3SKsGYnLfy4ZrRxEDmsmtmGa7scySAvgqywN2Odu8RWOg+/6YR/YQ+mLrfJ1fChDPa9kyfZEVgZ6lWdFkero7/YGzlS62n2j7F2Har6VF/UAb3pLEFJZRYXt0OmmsbQPZDfjzIR1Y5gDq9vyXoQHzpaU4b1/SZKb1mUfg39Wqt/noOIF9P4ABZhyVihte9/n9bYyYt4um/B8GEzNJ95W7VYDJxJv25rP7RSnZl39WyQisqWlkTJM8+V2sIuIgPTTtAbFiVSwzz2OoOQddVlL1buP+3idl3FYqjkVb9FIPvxkQLDaCq1VkgoCKIbQMy4wEthd0vZllOB8NOZidTW8RsPTTn3unGxK8nQ38l9JrNo1a3V8NjkQUkrGAgNjDx1ElDq/FeF10JYfwnYghS4OV11iX5UpRdMWCwjyivOvaDA1tWchab4XZe2pVH7J7E1izwL/DjUWoi+OscsEzNmIIUsmS5YMkHiUx0gdJlvAC8bjlKlHY5GUyw9Vg2IaXEc+o6hv1uHLBstfDuSmzlQ9NKP0lNFVbL8xAqqKUtcyQkenule1JNyvtuD2VMGTpoW+pA65wtY3fHXNgOi5jzaKbh0E/eBuclY2sGMvAUd3cwzlbiuEKiTfq4SG4gDpbVi8MMAfAnJ/7gJ1+mmvVVHPE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c768902c-01dc-43ab-ae12-08dba49c77ae
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 12:20:13.5486
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IB79upSPn+2sk8bOLZAhphC2X1ekFkbVqchgq6bNe4d19PHFHvAFBb9S0vbYAwdSrghCA8LIKcW6TZN67MAQxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6656

On Wed, Jul 26, 2023 at 01:03:37PM +0200, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> headline states:
> "A 'u' or 'U' suffix shall be applied to all integer constants
> that are represented in an unsigned type".
> 
> Add the 'U' suffix to integers literals with unsigned type and also to other
> literals used in the same contexts or near violations, when their positive
> nature is immediately clear. The latter changes are done for the sake of
> uniformity.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 12:22:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 12:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590054.922145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9Lp-0004Oo-VY; Thu, 24 Aug 2023 12:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590054.922145; Thu, 24 Aug 2023 12: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 1qZ9Lp-0004Oh-Sm; Thu, 24 Aug 2023 12:22:13 +0000
Received: by outflank-mailman (input) for mailman id 590054;
 Thu, 24 Aug 2023 12:22: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=WR62=EJ=citrix.com=prvs=593229a51=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qZ9Lp-0004Ob-4l
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 12:22:13 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8f23b77-4278-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 14:22:11 +0200 (CEST)
Received: from mail-co1nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 08:22:08 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB6656.namprd03.prod.outlook.com (2603:10b6:510:b6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 12:22:06 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::50eb:2fe4:369d:decb%5]) with mapi id 15.20.6699.022; Thu, 24 Aug 2023
 12:22:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8f23b77-4278-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692879731;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=XIFeaXzGsEnOnJrD3/40WRgtQ71ECgMYBSGtFezaHHs=;
  b=dAflUo4eZdIcSg588vS4WmE+1gFAi5SvtgWqR7Izf1UUxsT0DXN724Bo
   yWHq4BbqBNt1pmGVLsDvvIOWy6PciLFaOBRn8sPMWFtHTkfYreck45YCB
   U+BXGHsjeKSVghJqLbE1hUFidq29tbtb8snrj0cKfOq15sx/jjSxDVQBN
   E=;
X-IronPort-RemoteIP: 104.47.56.177
X-IronPort-MID: 120938116
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Ek79rqs4kfMTGV24MvXgMpgnyefnVItfMUV32f8akzHdYApBsoF/q
 tZmKWiEaffZajD8KIwkOY61/BkCsJTdmNBjSQVr/npkRSgU+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+EzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwawAtNxHAqqWK75XhS9Uwiuh+ferLBdZK0p1g5Wmx4fcOZ7nmGvyPzvgBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv60b4W9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiAtpDT+3hr6ACbFu7nV0BSxMaWV2BuuCVjWufYYlzF
 l4q0397xUQ13AnxJjXnZDWjoXuDuBNaUdNUF+Qg6QelwLfb+AufCS4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9JmgEfjIAUQoD7PHpvY4ogxTACN1kFcadgdz8HzXty
 DnMqDUmjq8Si88j3bi05l3BjHSnoZ2hc+IuzgDeX2bg5QQgYoegPtWs8QKCsqkGK5uFRF6cu
 nRCg9KZ8O0FEZCKkmqKXfkJG7aqof2CNVUwnGJSInXozBz1k1bLQGyayGgWyJtBWircRQLUX
 Q==
IronPort-HdrOrdr: A9a23:cRGoKqy+Atxk/u2t6S8IKrPwT71zdoMgy1knxilNoH1uEvBw8v
 rEoB1173LJYVoqMk3I+urgBED/exzhHPdOiOEs1NyZMDUO1lHHEL1f
X-Talos-CUID: =?us-ascii?q?9a23=3AGXdEZmiwXKT79ExWF+1ZlEwurjJuMU39lXaTDgi?=
 =?us-ascii?q?EJkEzSYHJRXPNqYBEqp87?=
X-Talos-MUID: =?us-ascii?q?9a23=3Ak4jyPw/NSbxf0azYpPR3a1WQf5xZ8eegBEwLq44?=
 =?us-ascii?q?fl86hFBYrFwqPsh3iFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.02,195,1688443200"; 
   d="scan'208";a="120938116"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WFoqojZHhvC7jAUAx1SJ/WTxvKOXVOhGAerOsgRlxhmLOa5iMkPYssGSLM94Tf0UXeq2Yds9SzAuixU4fGqGnVM7nduoWzhU5CNus7QOW0qU3e4TYdT8Z5lf9yHH04fnkq1GQlDe5nHJa8m4/WJ7q7jRuhB2ImsZEf0gG+/s9V+6j2vOANVUm3XYnED5ODJzVER80NQ/HM6ibYxF3fhG//DKfjds/qlQAH9PdZTDBREM57bjOE6i9Gr1xEA6fSvP8wZRCmb9OKp53LnXQDuPIQ04JIi06G93d10zG7dh1y/nrapqAKcf1BJeZGInXsCrNEKbAxKeXOxKsqbY5qpdQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wjgF6cDuUhPFu0dtpLdxd6U/97OH7f0LbqY7pGJeh3A=;
 b=Ic+nh3NmdVXVfvJ41PTPafRyHTGNjye+Ui6pUG+1OzXYIQnP8ReIsNuKCzGreUe58kaIIXw4fOcnmchX2cRYFcDZ0abkv2LbC9T1epkJ76n8w+NhNCLmsgo5069U19UYchxe6Kas+KmWV+rlKi66HgI9Do5x9NFsSGYukVIypG8WSoNTucC+13aIruPZxtqB8sMHm93aaIX3Z6o3KFVChCQ4jsuapKzKdoCmd9XSmtA+qiEj1JbHYxWvPbLaTs30/0Tc3o8aq5pTjyb8VcKyBqoLw1u/dju0mlQmsxpJ/K4ixkNQlkB9/nvjiNSfyffXALrltuD000Jtb+vgANoULQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wjgF6cDuUhPFu0dtpLdxd6U/97OH7f0LbqY7pGJeh3A=;
 b=bG2aeq0S2+t3vj1nSmRuspDfPUzb+l6lrUN6+HvJ4RlvhDFjxsxkk2mowxjbqdUiI/tJZQLnUI7ak5ye/bwNnHDG+xDtLpSZ3Zz1Q73wPYLYHQHTeNWxxZyX2b8+dnhYmK76JJ5NWUrYRYLh6qfI46uKJAlZUuventl/FRlPe0k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 24 Aug 2023 14:22:02 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
	Gianluca Luparini <gianluca.luparini@bugseng.com>
Subject: Re: [XEN PATCH 07/13] xen/vpci: address violations of MISRA C:2012
 Rule 7.3
Message-ID: <ZOdLapF-1S_R1Xlj@MacBook-Air-de-Roger.local>
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <4b97aa8203935ba6e202926add0baf8901af5ee9.1691053438.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4b97aa8203935ba6e202926add0baf8901af5ee9.1691053438.git.simone.ballarin@bugseng.com>
X-ClientProxiedBy: LO4P123CA0461.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::16) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB6656:EE_
X-MS-Office365-Filtering-Correlation-Id: 81b91b1c-82ae-4967-870f-08dba49cbaf0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JevF72ONRGtfDRXl+tcf1EL24StGJP9GUa2/kEuUltOxFvwt4BhpdroyR3yKKPq7I+TBxOnHOgLxYMSb3Hlei9jFYJtpK64xCs2KCENoWsyyqTObzXCKTxJijwb8ifqdfgVsGL/+ledfslGc5Lr18vl2V5EyZs6qRPAVod0/DNtuanVNVZ5UnkpDawwLBV2F47PxjsCE1NfQDyA5GJCkuU+nVQN1EegK+J1d6KFwu5CWFUOtFY4NPET2UnxD9Up4VdtdgqZYew9V275HZvviQOBCP/FMSD4tS1DnIQsxHc/CBKKTl23DsCDVjIIFpoAALe+mkMjgVnMXhgUF526JdZt5gRPBFuZZvmKeCH5kUsv+BoQV3/QYlvgVhW7Cpk2uofVePUnGMko3kwa7iP5t1zBr6LedKUNmg6IEf+SUZpafyIoiOsflg4XpyHB1vCBJijnRKTfPseHNy5QR92s8Ei3kTDjoaw1BsMYHbHAvHTuw7HvsHdZp0dQrBzpPnN4CsIh0WWv315t/yAOQ5ggHYUnt2ffo/f8TIGTn6y9BQ93cPXfRorsewZ9HpBvZs/AP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(396003)(136003)(366004)(186009)(1800799009)(451199024)(5660300002)(8676002)(8936002)(4326008)(85182001)(4744005)(26005)(6666004)(38100700002)(82960400001)(66946007)(66476007)(66556008)(316002)(6916009)(478600001)(41300700001)(6512007)(9686003)(6506007)(2906002)(86362001)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFhEWWpsNjV6a0RqYlBCaUdrTEN1ZFdqSnExWUNaWHBBdHQ3Q2FrdXk3ekZZ?=
 =?utf-8?B?UTZ2QnY2L1QwK3o0eERnLzRGMnNSWXFlYXQrbHZObEIrdUFRRFlJdHZCWkRr?=
 =?utf-8?B?TVVSTGhpYVF4WnIrTnBab3RKRHdldllHS0dDdHFEak91ditsaXV0aHJBaU40?=
 =?utf-8?B?ZVhSSW5TWFpOTjVHKzRJaUhCWWh4RnprR1pnd0RyL1BRMWNJVEFPTEdqVzFm?=
 =?utf-8?B?VU1lQWgvSDBORlJiVFRkMk9veEZLVEt2SFVyZUxONjJpMWx1cTNFN3BWV3Rw?=
 =?utf-8?B?cEVPVXV3TmRhRm5DZWoyUThFZ3FPOGNvRXlOaXloQmpmUW50d0NlU25CZ0NB?=
 =?utf-8?B?Sm5wZXVuVVZ3S3M4S2p1aWJ1UmpwTnEwMkd4aktiaXNzYmpvQVBCMkE3Rm5O?=
 =?utf-8?B?cG1WN0g3V2RXU0hhb011SVJBVWpJZmxqS0tBbWUvV3NLSmNPTi9Relp5Yk5y?=
 =?utf-8?B?Rk9RWkY4T2xzTTBDcVN2eFIxRk11cHJ2UW1lZzdOOVRuTjgrbGtnanlVRWFk?=
 =?utf-8?B?aVdwVTc1Y0hoc3FLRlNOS3RhVjVkQ3BvdUc3VEZoVkFTM2krcXFGczlkK2Fh?=
 =?utf-8?B?RS9PcHRXU0tGVjMzN2tobGlZSGF0SEcwTkVJVE5OS2o5K2lUSm5LVDJ5M1dJ?=
 =?utf-8?B?cDAvN0ZaTllpTWhSOXVXc2xpcDUyRWVESjNXRUY1NjAyT2RUL1BwVGdtR3lh?=
 =?utf-8?B?Nk9WMS9jOGlib2UxYTdkRXV3SngrYW5QaFF6Q3hUWFJRd0k0dUJwWGI1R0tB?=
 =?utf-8?B?ZWNrMkFpSmNPOHhaTjFNWVRuWWYyMTZMdUkySzVOcnA3T3IvZ0dIRGgwaEtT?=
 =?utf-8?B?UkJpcEFqZ2FmK1pFaURyZ0RuTi9FMlhpQkpPTDkvdHZPN1NQTGs4TkE3ZFRW?=
 =?utf-8?B?NCs4TG15a21DOHRqb3pvS0swMlhHcnQwSlFyTDdCOUxSYkNKd2wvNkhiYjlm?=
 =?utf-8?B?YUVGejRpQlJieDE0dmpHazgyZkwwNUpoejUxYmc4K2tTYXNYWFNnMThqMHh6?=
 =?utf-8?B?RVhiSk1lZnl1MWt1dDNOQ2owdzltNkdDRjVqb0U5bGpYUUNLbHBkamNRNng5?=
 =?utf-8?B?UXB4dSs0K3Vway9mS3NiRG1HVUZ0bjVLVllOZmlGVENMMmFnNG1vZ0E4Y2tK?=
 =?utf-8?B?bXRvZ3pYR2ZiRUtzZTZFd0cybXMzaXlUSDlkanR1dkxsNm1MY29rREN3ZytI?=
 =?utf-8?B?ME0ydnpVZDVsUHl3TldjVTFiTnhwbkxwQStYdVUwNkgwVFJIamZ1VlptaEZi?=
 =?utf-8?B?eEEzQndsOWhYNk1JK2JaQm9KK2tHUnZESXcxMWN4SlVNYWdPTnE3R2tRK2Y1?=
 =?utf-8?B?dEt4VnFmdVprYXpSZnZXaTh3d0hiNldNbi9CL1dCUDBJakxGY3Z2SGVuM1Vx?=
 =?utf-8?B?SjhXa0lsOFdUMUY2NG5nL1FPaWM2RHVFVXdIRkFEelhkSGhFajZMQWZzOFQ5?=
 =?utf-8?B?c3k4ZE1Obkd1aENnS1hTUHVXNE1oVE9nOWM2NmhBRFFra3hoZ29FWjUwOTZ4?=
 =?utf-8?B?M0V2VEorKzFhaUs0WlE2eThTdHZOSTBDalR3Q3BZaWlOaEpkQlJTZ1l4cE1P?=
 =?utf-8?B?Q1V3Tk4zY0N0RkVJTjFVbVJkQkFpeVBoTGd1d2E2bjNoN0cwdVI3RDVzZkRs?=
 =?utf-8?B?aGhtRm1aZDdWa1BpMXcxcStKSTg1b0JDZVJpY29YRlhTT2NtdEV6QWRBQlVN?=
 =?utf-8?B?dWhwWSs3dVV4Qkw3ZDhaVDNzYkxFYkFUUVFOSk5VMExuRUY3bzM0ODJGdkc4?=
 =?utf-8?B?SVA3S2pYQ0tpN3VHVi96WEo4S1VxSjRCdHA3aitCYloyRkZVVlFkaXJjQWR5?=
 =?utf-8?B?eUROb2Y4ZjFIdmpXeFNOeUwraldpM3VUQmFvWXU5VHBaT1BhbEtyZDZLUUtk?=
 =?utf-8?B?eXBMSDJPaWN4MlJWa1ZtVHhhMFVGdG1KNVE2dlFpRDQ0NWJIT2QzL2tHNkpK?=
 =?utf-8?B?MnZsVlhkVlVrdlBvNDZDUW90SVpNdW1TWk1GWTF2dW1hdjZwaTFTWWE5YllL?=
 =?utf-8?B?d2NIR2dzdjFXMUpGaGIvaTJNNGdlUkczWHl0SHZBTmpncWp4c1ExMzN5Q0M3?=
 =?utf-8?B?cXpySGhBYmN4dzFpT0pPZGVZZk9zYXl1Nkkwa2NsdVFHYytqL3F4eVdiVng4?=
 =?utf-8?B?T3dYNkNFUDhMK3FjUDhvNkQ2K0dBMnNqYk1lVjlMN0ZxSGRyTG5icWpmNXRG?=
 =?utf-8?B?Y2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	erd5pi15f8DnkHyCSfqD18JT4zkIPz7gsfbuCP6LbOE5foYihvxWhehYWB7mhZqlAv333YHm5FBagbt5bwDH7X0MS2XFctHqubFRNbhuAwdr1s5vS50hBiFNbIvlv8OoAQV5MgihXaTG9e0xziOrfYxr666GttrtBf/WJmS7QzdKj+tEL24W0/rsGJs+GOu1vPDegjd7e3aHUSEQxlHwJ09I6n9D1vb3gQWLsv4k36z3f/f6zAgVvgjNYKBabI4XNqhVPSpq6nfuuOWHmOKFLyJTzC8ryagka+tPtE4YexZkeZ6qdhfeMqMqbBI2531Mi41vE/LG5QHGjYIhaNxMeJonWR1ZeA7xWdMVjiB2P2z4IDqdX5IJKsROS4yfIMy1Km38egSD/B6Fes9iYaefVJRhtXq/LhQom+k4aqQgDqAQS4IjKNnHJBNbruS1GznCKugOdSUOEZH+12xMXhu2ngfbZ2Z6r+/fiUBD8xmLtyOjhCzEPEva4u9bfkeIzruvGNSV8209q0gk6BXadOgDMcjyLKOmF7a0WHR2kZi9clnuZ2wF9IQTTmhtLNfOYYCGoEbLRCtDZDdM6qX6JrfYivMhzJyu9OuuxTRB1/QyiHf5HsOyfngn3AWhulOnpN5tcPQt8YkYlyHLgLT9vs6S5M9O9FzcgF7jQs4L84TV//7mffv1o5skMiYxTIZK6SuC7lzSqfg88SZz/dauyERYMqS9LTFk/wJuG9BcfDTU4uG4fSWEjHhVlzxWCTZ95HDQULcOkNtV/9e5F6p3hgBoLfI6a+4c86W/Wrz0ry3tnl0rqZ/zB4o53MJ1mSEZW2HG
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81b91b1c-82ae-4967-870f-08dba49cbaf0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 12:22:06.2512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HhR2O9PqVCI3FEgkV/c1K3p+pMa51NsKQZe3Q769EApOziQg0g4THkFHFqBmPgobPTEi1trM3uDjK8JnlQZaEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6656

On Thu, Aug 03, 2023 at 12:22:22PM +0200, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> 
> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> states:
> "The lowercase character 'l' shall not be used in a literal suffix".
> 
> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> 
> The changes in this patch are mechanical.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 12:39:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 12:39:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590064.922155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9cq-0006B9-Cz; Thu, 24 Aug 2023 12:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590064.922155; Thu, 24 Aug 2023 12:39:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9cq-0006B2-9q; Thu, 24 Aug 2023 12:39:48 +0000
Received: by outflank-mailman (input) for mailman id 590064;
 Thu, 24 Aug 2023 12: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=x+mH=EJ=citrix.com=prvs=593bb07b7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qZ9cp-0006Aw-Ep
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 12:39:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c9c96b0-427b-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 14:39: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: 4c9c96b0-427b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692880784;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=1nu28532BfRIrajeoQzfDkbZBy2s+1lnODaCk3/8+fk=;
  b=MVBXLaMjftw1ECBijVXyWHde22Pl0b5hHPF2hkY24c6dpq12SxE4jsuU
   iksAu1vJzz5m8xqK+gm5FFTnJEkY+fDrrcITWTZAuB7vyN2X8ob/ItQ7a
   hSoqSX4G6uDT6Dhqi4EaJddTNKvKhimc0W55bVuhJFBqZzfZHLZWyUj6K
   M=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120939999
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:6xQP4K4mD8hwrVXN8OZBawxRtEbHchMFZxGqfqrLsTDasY5as4F+v
 msbXT+BMquMZmejL94naoqzoxsP78CAmtdkGwdu/i42Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35pwehBtC5gZlPaAR5weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m3
 tU/M3MONBq5oaGbg+zgUdteq/QFFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xxzA9
 zmXrjWoav0cHNiN8ybayXGuuszClzrZddgcCbGb19c/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM+e8CMVjtlvLkPCNpV/EWC5dFGUphMEaWNEebhUNz
 RyKxdnTI39C8+POUkCv24eylGbnUcQKFlMqaSgBRAoDxtDspoAvkx7CJupe/L6JYs7dQm+pn
 W3TxMQqr/BK1JNQif3nlbzSq2j0zqUlWDLZ8ek+soiNygpiLLCoaIWzgbQwxaYRdd3JJrVtU
 ZVtpiR/0AzsJcvS/MBuaL9XdF1M2xpiGGSH6WOD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e
 kLVsg45zMYNbSH6NPIrM9vgVJ9CIU3c+TLNDKu8gj1mOMQZSeN61Hs2OR74M57FzSDAbp3Ty
 b/EKJ3xXB72+IxszSasRvd17FPY7nlW+I8nfriil07P+ePHNBaopUItbAPmghYRsPnV/204M
 r93a6O39vmoeLeiPXmKq9dLcQhiwLpSLcmelvG7v9WremJOcFzNwdeIqV/9U+SJR5hoq9o=
IronPort-HdrOrdr: A9a23:80igwq7vq6rTr0zmzwPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-Talos-CUID: 9a23:EeR902NGVUZGvu5DcwBA7w0XQMofVD7wjymLOH2KJFZPcejA
X-Talos-MUID: =?us-ascii?q?9a23=3AW9ZqKwyCrFd0HErjwuXUzT6EevyaqKC8MlxSqpY?=
 =?us-ascii?q?Eh+qJPzVSFm2TkTiUY6Zyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.02,195,1688443200"; 
   d="scan'208";a="120939999"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Christian Lindig <christian.lindig@citrix.com>,
	Rob Hoes <Rob.Hoes@citrix.com>
Subject: [PATCH] tools/oxenstored: Additional debugging commands
Date: Thu, 24 Aug 2023 13:39:39 +0100
Message-ID: <20230824123939.1297171-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

From: Edwin TĂ¶rĂ¶k <edwin.torok@cloud.com>

These were added to aid security development, and are useful generally for
debugging.

Signed-off-by: Edwin TĂ¶rĂ¶k <edwin.torok@cloud.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Christian Lindig <christian.lindig@citrix.com>
CC: Edwin TĂ¶rĂ¶k <edwin.torok@cloud.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>

I found this hiding down the back of the patchqueue.
---
 tools/ocaml/xenstored/process.ml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/process.ml
index 2e62c7a10e7a..432d66321cbb 100644
--- a/tools/ocaml/xenstored/process.ml
+++ b/tools/ocaml/xenstored/process.ml
@@ -235,6 +235,23 @@ let do_debug con t _domains cons data =
     | "watches" :: _ ->
       let watches = Connections.debug cons in
       Some (watches ^ "\000")
+    | "compact" :: _ ->
+      Gc.compact ();
+      Some "Compacted"
+    | "trim" :: _ ->
+      History.trim ();
+      Some "trimmed"
+    | "txn" :: domid :: _ ->
+      let domid = int_of_string domid in
+      let con = Connections.find_domain cons domid in
+      let b = Buffer.create 128 in
+      let () = con.transactions |> Hashtbl.iter @@ fun id tx ->
+        Printf.bprintf b "paths: %d, operations: %d, quota_reached: %b\n"
+          (List.length tx.Transaction.paths)
+          (List.length tx.Transaction.operations)
+          tx.Transaction.quota_reached
+      in
+      Some (Buffer.contents b)
     | "xenbus" :: domid :: _ ->
       let domid = int_of_string domid in
       let con = Connections.find_domain cons domid in

base-commit: b0cd7499ddd281033548a702c6d61ab13fdd1f67
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 13:00:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 13:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590072.922175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9wd-0001bN-7w; Thu, 24 Aug 2023 13:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590072.922175; Thu, 24 Aug 2023 13: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 1qZ9wd-0001bG-3f; Thu, 24 Aug 2023 13:00:15 +0000
Received: by outflank-mailman (input) for mailman id 590072;
 Thu, 24 Aug 2023 13:00: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 1qZ9wc-0001az-8K; Thu, 24 Aug 2023 13:00: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 1qZ9wc-0005NW-4L; Thu, 24 Aug 2023 13:00: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 1qZ9wb-0008Oi-S2; Thu, 24 Aug 2023 13:00:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZ9wb-0004p2-Rc; Thu, 24 Aug 2023 13:00: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=xlvCN+lYqdwGI8BVdg3ri9UFPGSpbSePRuRY866pFUk=; b=odpD5e2/5LWx2a36g3wMV50mmJ
	jpuYYiSEY06x8JJ4sp+Hmk2E2fqfNW17mPavAMqKrP7SeZhq0VmUjiRzHXmdMxhK04ct1Ar+92DG1
	A/VYSLBXS3pL8aPfHcocx3ZjtXUSqEHEZ0xss4p/Mi/QBdzq7Te3vwm15IibYCbk1yU8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 182501: tolerable FAIL - PUSHED
X-Osstest-Failures:
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    seabios:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=774a823a966cdc5d31ddc11af2b7b4f2c250ffdd
X-Osstest-Versions-That:
    seabios=1281e340ad1d90c0cc8e8d902bb34f1871eb48cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 13:00:13 +0000

flight 182501 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182501/

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 181546
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 181546
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 181546
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 181546
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 181546
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              774a823a966cdc5d31ddc11af2b7b4f2c250ffdd
baseline version:
 seabios              1281e340ad1d90c0cc8e8d902bb34f1871eb48cf

Last test of basis   181546  2023-06-22 02:12:18 Z   63 days
Testing same since   182501  2023-08-24 08:42:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Tony Titus <tonydt@amazon.com>
  Tony Titus via SeaBIOS <seabios@seabios.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/seabios.git
   1281e34..774a823  774a823a966cdc5d31ddc11af2b7b4f2c250ffdd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 13:00:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 13:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590071.922165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9wV-0001J9-Vg; Thu, 24 Aug 2023 13:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590071.922165; Thu, 24 Aug 2023 13:00:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9wV-0001J2-Sa; Thu, 24 Aug 2023 13:00:07 +0000
Received: by outflank-mailman (input) for mailman id 590071;
 Thu, 24 Aug 2023 13:00: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=1Jvz=EJ=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1qZ9wU-00019V-4m
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 13:00:06 +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 23da82d2-427e-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 15:00:03 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4013454fa93so6776655e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 06:00:04 -0700 (PDT)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 i12-20020adffdcc000000b0031ae8d86af4sm19874328wrs.103.2023.08.24.06.00.02
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 24 Aug 2023 06:00: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: 23da82d2-427e-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692882003; x=1693486803;
        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=iDPak5yt8Nzl4Pm+Drg/e/4B55PA4fyHt5ck5SHf+2Q=;
        b=gFHbxLQzabYnZh1YXuZjqv1Yv0xmWoxrd5c9b3IP7cJzDOlUU1Bfzz9PnfWB3YJqH6
         8yhXmexPZ0CyK43fMUuosBz0Jjl+Ht5gopnxQ9hdkYa35TnGCt6LaFWlQcXVAoW+1H1a
         BM0P+0t0YnsFlh4YZHmCYmeaH6/dWmcP08dsY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692882003; x=1693486803;
        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=iDPak5yt8Nzl4Pm+Drg/e/4B55PA4fyHt5ck5SHf+2Q=;
        b=eVvYEzXfvky/ga9UE6igLgu8b5N5fUwg0OEiigcCS4DlQdRh6nfNIgsaKzF5FOG9gs
         FSdDER4+YDUHqamEfpXZn7Y4O4dnjNVcMzMkUpQVQtgbKjlkLSwaQZWYq4tDbmExkLCa
         ROdO1k05bpn83B5EsNqfAjaYPnKQN7ujAmEK2B/4NGb3FFPSTHwWbnXgwZ2Nwqc13J8s
         uG1kAhQKt4fzG7DL+LcDPl6E+fHAtRZw5DwPL5lMzvZeOKiytVkhK04xT9JX1SeMVceb
         jcZ94aScEAFqDRUr0otVPttq8n+Q9ekXw+puB7KdpkfhwWG9UZmLaaMaTUgOQF17C64P
         do1w==
X-Gm-Message-State: AOJu0Yyo28FegSdJxWVjaleueG9fyvaZxLmQfslod+mxb35tXsPTFQLx
	5NW2VC0KAUtMKFxNz1K/utPgNg==
X-Google-Smtp-Source: AGHT+IEUn9CT+p/yK1TzQRbamb+Bo+IrpjFqRubP7AAyA6O3jIAii7aQhkzIRChYGkq51nfAGWjJlw==
X-Received: by 2002:adf:f6c9:0:b0:319:6956:725f with SMTP id y9-20020adff6c9000000b003196956725fmr12099529wrp.41.1692882003421;
        Thu, 24 Aug 2023 06:00:03 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.3\))
Subject: Re: [PATCH] tools/oxenstored: Additional debugging commands
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230824123939.1297171-1-andrew.cooper3@citrix.com>
Date: Thu, 24 Aug 2023 14:00:01 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 Rob Hoes <Rob.Hoes@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <4E36B681-1E60-47F2-8B71-D3649F4B21A1@cloud.com>
References: <20230824123939.1297171-1-andrew.cooper3@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3696.120.41.1.3)

Acked-by: Christian Lindig <christian.lindig@cloud.com>


> On 24 Aug 2023, at 13:39, Andrew Cooper <andrew.cooper3@citrix.com> =
wrote:
>=20
> From: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
>=20
> These were added to aid security development, and are useful generally =
for
> debugging.
>=20
> Signed-off-by: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
>=20
> I found this hiding down the back of the patchqueue.
> ---
> tools/ocaml/xenstored/process.ml | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>=20
> diff --git a/tools/ocaml/xenstored/process.ml =
b/tools/ocaml/xenstored/process.ml
> index 2e62c7a10e7a..432d66321cbb 100644
> --- a/tools/ocaml/xenstored/process.ml
> +++ b/tools/ocaml/xenstored/process.ml
> @@ -235,6 +235,23 @@ let do_debug con t _domains cons data =3D
>     | "watches" :: _ ->
>       let watches =3D Connections.debug cons in
>       Some (watches ^ "\000")
> +    | "compact" :: _ ->
> +      Gc.compact ();
> +      Some "Compacted"
> +    | "trim" :: _ ->
> +      History.trim ();
> +      Some "trimmed"
> +    | "txn" :: domid :: _ ->
> +      let domid =3D int_of_string domid in
> +      let con =3D Connections.find_domain cons domid in
> +      let b =3D Buffer.create 128 in
> +      let () =3D con.transactions |> Hashtbl.iter @@ fun id tx ->
> +        Printf.bprintf b "paths: %d, operations: %d, quota_reached: =
%b\n"
> +          (List.length tx.Transaction.paths)
> +          (List.length tx.Transaction.operations)
> +          tx.Transaction.quota_reached
> +      in
> +      Some (Buffer.contents b)
>     | "xenbus" :: domid :: _ ->
>       let domid =3D int_of_string domid in
>       let con =3D Connections.find_domain cons domid in
>=20
> base-commit: b0cd7499ddd281033548a702c6d61ab13fdd1f67
> --=20
> 2.30.2
>=20



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 13:03:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 13:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590085.922184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9zO-0002Ye-Nf; Thu, 24 Aug 2023 13:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590085.922184; Thu, 24 Aug 2023 13:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZ9zO-0002YX-Ke; Thu, 24 Aug 2023 13:03:06 +0000
Received: by outflank-mailman (input) for mailman id 590085;
 Thu, 24 Aug 2023 13:03:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EWrD=EJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZ9zM-0002YK-Fo
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 13:03:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8eebe84b-427e-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 15:03:03 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 51C184EE0737;
 Thu, 24 Aug 2023 15:03:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eebe84b-427e-11ee-8783-cb3800f73035
MIME-Version: 1.0
Date: Thu, 24 Aug 2023 15:03:02 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v2] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <707b09d3-c69e-4212-be64-7e2bde73d4af@xen.org>
References: <140f450d4f4f88096158e54522fc2734367a90cb.1692807017.git.nicola.vetrini@bugseng.com>
 <941f9188-6d59-12a6-9868-daa39b51687a@amd.com>
 <387d99d2066e1f07b7d5d04ff54a0ac9@bugseng.com>
 <707b09d3-c69e-4212-be64-7e2bde73d4af@xen.org>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <9a86952af47d7911941b1df765cb1101@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 24/08/2023 13:20, Julien Grall wrote:
> Hi Nicola,
> 
> On 24/08/2023 12:11, Nicola Vetrini wrote:
>> On 24/08/2023 10:01, Michal Orzel wrote:
>>> Hi Nicola,
>>> 
>>> On 24/08/2023 09:37, Nicola Vetrini wrote:
>>>> 
>>>> 
>>>> Directive 4.3 prescribes the following:
>>>> "Assembly language shall be encapsulated and isolated",
>>>> on the grounds of improved readability and ease of maintenance.
>>>> 
>>>> A static inline function is the chosen encapsulation mechanism.
>>>> 
>>>> No functional change.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>> - Switched to a static inline function
>>>> ---
>>>> Â xen/arch/arm/arm64/vfp.c | 78 
>>>> ++++++++++++++++++++++------------------
>>>> Â 1 file changed, 44 insertions(+), 34 deletions(-)
>>>> 
>>>> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
>>>> index 2d0d7c2e6ddb..5c884380ee42 100644
>>>> --- a/xen/arch/arm/arm64/vfp.c
>>>> +++ b/xen/arch/arm/arm64/vfp.c
>>>> @@ -4,6 +4,48 @@
>>>> Â #include <asm/vfp.h>
>>>> Â #include <asm/arm64/sve.h>
>>>> 
>>>> +static inline void save_state(uint64_t *fpregs)
>>>> +{
>>>> +Â Â Â  asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q2, q3, [%1, #16 * 2]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q4, q5, [%1, #16 * 4]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q6, q7, [%1, #16 * 6]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q8, q9, [%1, #16 * 8]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q10, q11, [%1, #16 * 10]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q12, q13, [%1, #16 * 12]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q14, q15, [%1, #16 * 14]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q16, q17, [%1, #16 * 16]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q18, q19, [%1, #16 * 18]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q20, q21, [%1, #16 * 20]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q22, q23, [%1, #16 * 22]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q24, q25, [%1, #16 * 24]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q26, q27, [%1, #16 * 26]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q28, q29, [%1, #16 * 28]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "stp q30, q31, [%1, #16 * 30]\n\t"
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : "=Q" (*fpregs) : "r" (fpregs));
>>>> +}
>>>> +
>>>> +static inline void restore_state(uint64_t *fpregs)
>>> This can be const as you are loading data from fpregs into registers
>>> 
>> 
>> I wonder whether this would make a difference, given that the return 
>> type is void.
> 
> It is telling the reader that the function is not supposed to modify
> the 'fpregs'. A compiler will also be able to throw an error if a
> developper broke this assumption.
> 
> I have been pushing quite a lot recently to add 'const' when a pointer
> is not supposed to be modified. And before someone mention it, I know
> that 'const' is not perfect in C as if a field points to another area,
> that area would not be const (unless the definition of the field
> contains const). But that's better than nothing :).
> 
> Cheers,

Ah, yes indeed. I wasn't paying enough attention before.
Thanks,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 13:40:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 13:40:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590097.922199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZAYz-0006Ej-7Q; Thu, 24 Aug 2023 13:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590097.922199; Thu, 24 Aug 2023 13:39:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZAYz-0006Ec-28; Thu, 24 Aug 2023 13:39:53 +0000
Received: by outflank-mailman (input) for mailman id 590097;
 Thu, 24 Aug 2023 13:39: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=JGcK=EJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qZAYx-0006DD-3B
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 13:39:51 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20627.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af9469e2-4283-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 15:39:48 +0200 (CEST)
Received: from BYAPR05CA0062.namprd05.prod.outlook.com (2603:10b6:a03:74::39)
 by IA1PR12MB6531.namprd12.prod.outlook.com (2603:10b6:208:3a4::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 24 Aug
 2023 13:39:41 +0000
Received: from SA2PEPF000015C8.namprd03.prod.outlook.com
 (2603:10b6:a03:74:cafe::60) by BYAPR05CA0062.outlook.office365.com
 (2603:10b6:a03:74::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6723.16 via Frontend
 Transport; Thu, 24 Aug 2023 13:39:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Thu, 24 Aug 2023 13:39:40 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 24 Aug
 2023 08:39:39 -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.27; Thu, 24 Aug
 2023 08:39:39 -0500
Received: from [192.168.139.126] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 24 Aug 2023 08:39: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: af9469e2-4283-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ilzmrnHhor3fi3LPmlbSPz9mlitlejq5mWUswMw7H3osunvDlx6/Yx+o4omEKxFjMOYHGm8MDmPJOBNu4I2pxHh6s8mL+6C6d2oLjCbqF2pJbjP2jobT6ZUN9g3PDlaUoJaDLGG2izQuiPQx7gGZfQI3frqZReWrN0Dse/n6/VPR5Yl7Z4i0WWm5mAbqdO2ES9Yl0kkj/breOrcmW7mQsn0ZlY6T4dtJut9lcfu/fWdWq53LXRYpp9epPhNX7HkyAvN2M+zqH3oqWRkwcSnjCwk2ROupqIOjL6NiW5bxtbevlUPQAESoc/1duShcf4wqlqt4rcnbL1Gr6Qjw5NnEGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EzAVq7FBKbalGVxY19Sfh7t9k2onMZOvIBjHHESx7Z4=;
 b=QAf/L54Od+OjpzLXsr0mubm6aOnuGSL3YHWcWDNXpGLdPuxAl8u2sysQPA5t+iaxeuieU+Z31uVyDlmmVq74kcUEiX3ux5nNDYyNImYYb3h8gD49Zisqi/jWjZte2xNYmRkBnZ5vpUFqZkWdnNMJliixktSnr+AOTNPIKz+N3xycXbau2rGdAP0jv9pOqPB4MnAyFSywbkSCBIc0m2kubHZAPIwwgwgmE8dA75rw8sEib+fzYwtxZ+0HL9vqEaIlXwvuEfem0CCTcU0nkGIgJTLCfhYbDiudp412t4wT16xj42Ah3IbEI7vF0pBBIaHSx5lVgmf+Ush4hRcMw/iF8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EzAVq7FBKbalGVxY19Sfh7t9k2onMZOvIBjHHESx7Z4=;
 b=VAmqVsHRilMTQmTvj412wGulG2or8zvjIGIyXLMZJCGR2amfiRwrsy9AkCQI9NKUyl61vKchMdp0XKhXqvcru5O9w70ukQky/M0OIGgvSV8vJtZ2ys8HEGMJdkso7wfIlksjMLhcpo3IGjRwEmAxq4BW82QDi1ur0hzRsYoR69s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <abcd57c6-1882-297e-ce62-dda79f792bf0@amd.com>
Date: Thu, 24 Aug 2023 09:39:31 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v3 4/4] xen/vpci: header: status register handler
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
References: <20230822012955.312930-1-stewart.hildebrand@amd.com>
 <20230822012955.312930-5-stewart.hildebrand@amd.com>
 <f61146cf-096d-606c-591d-516d659528c5@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <f61146cf-096d-606c-591d-516d659528c5@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C8:EE_|IA1PR12MB6531:EE_
X-MS-Office365-Filtering-Correlation-Id: 55c56d93-d13c-45a2-cdff-08dba4a79148
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xmjSTxMg6esahat8mbkqF8Vb7RNv6dkNgz36ZbvsNm7U6OVnqc+vMyLV9BfGxodBcZqsx4k5Nzgb+jhcOPeNo//yyVixnaV2FyuRh8+OSFAh7+gGZIu8Qb8ApRObVUiqhs3eAV+nNfIxAcYpM8KNui4uGAD9ontH/TyaoFMabS60kJtEvK3cjQIynfIM5q1TPIGY43DB3bzx7RuMkl2tig+UTUu+C6ovDyjxJgE43WGsDkWcFO5v+6oqUemcOxTOwZ1rFowF5WlagylytwzqZ9yTFhzjEx2Xm1BchcJnTAKz37uoh5Zj29HM0pAYqlRLjiVhzZcYgGQyjsYeMzJHSr7tvoX3fFJnxfFXc4P5VjwOYnkidbjpMtAtxsEwm9ryZOTy71OWalkwQjpaD6cb7FP0gKZdAApHx9/PKIFFrtnL2CcOnz3q9fwqyJRU5OBccxthWPPIckx3Yr3bf/FJZ2lT+TA4cnwERe+LeIZTk1VDTeHJI9I1eXPGHKUvPMladpxhocgBwaQs06tyUaLq+ZgKd3SH2hJOOsRu/3R+tJi1CZK6t2+KItFRytKXvh9J7vwf9auyh/oADpDVy0K7S8R50pR14fiN4z/4w801PWgk89FPerLKLy502YNZ7NYk/M/TnLaocdAoFxcqm+jIHMxs1eiZhW29jC64N0d2sNY7edOhqgNuReXJHSTL41xAO17stLy61ot6PVHhgi7zfBZ2ZiGHlfApJjJQOLcngIe01rFG2J8aSsJlANpiCGkRHf+IbTtUXxdFG99cGZX90Iz7wMS1CFliceDndrRr1ZepqBZI5Xzs2OVEo4h+xNKH
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)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199024)(82310400011)(186009)(1800799009)(36840700001)(40470700004)(46966006)(8936002)(6666004)(53546011)(966005)(478600001)(2906002)(83380400001)(336012)(26005)(426003)(2616005)(54906003)(316002)(6916009)(16576012)(5660300002)(70206006)(4326008)(44832011)(8676002)(70586007)(41300700001)(40460700003)(36756003)(40480700001)(47076005)(81166007)(36860700001)(31696002)(86362001)(356005)(82740400003)(31686004)(43740500002)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 13:39:40.6393
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 55c56d93-d13c-45a2-cdff-08dba4a79148
X-MS-Exchange-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:
	SA2PEPF000015C8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6531

On 8/22/23 09:54, Jan Beulich wrote:
> On 22.08.2023 03:29, Stewart Hildebrand wrote:
>> Introduce a handler for the PCI status register, with ability to mask the
>> capabilities bit. The status register is write-1-to-clear, so introduce handling
>> for this type of register in vPCI.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> v2->v3:
>> * new patch
> 
> This being a prereq to the cap list filtering, I think the order of the
> patches wants to be inverted.

Will do

>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -413,6 +413,17 @@ static void cf_check cmd_write(
>>          pci_conf_write16(pdev->sbdf, reg, cmd);
>>  }
>>
>> +static uint32_t cf_check status_read(const struct pci_dev *pdev,
>> +                                     unsigned int reg, void *data)
>> +{
>> +    struct vpci_header *header = data;
>> +
>> +    if ( header->mask_cap_list )
>> +        return pci_conf_read16(pdev->sbdf, reg) & ~(PCI_STATUS_CAP_LIST);
> 
> No need for parentheses around a constant.

OK

>> +    return pci_conf_read16(pdev->sbdf, reg);
> 
> I think this function would better issue the read just in a single place,
> and then do any fiddling that may be needed.

OK

>> @@ -556,6 +567,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>
>> +    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
>> +                                PCI_STATUS, 2, header);
> 
> Is it really correct to treat the entire register as rw1c, and with write-
> through to hardware for all bits? There are reserved bit there, and -
> however likely that may seem - it's guesswork whether they would also end
> up r/o or rw1c once getting assigned some meaning.

A bit mask would make more sense, so I will change it to a bit mask. As another data point, qemu also uses a bit mask [1].

[1] https://gitlab.com/qemu-project/qemu/-/blob/v8.1.0/hw/xen/xen_pt_config_init.c?ref_type=tags#L645

>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -29,6 +29,7 @@ struct vpci_register {
>>      unsigned int offset;
>>      void *private;
>>      struct list_head node;
>> +    bool rw1c : 1;
>>  };
> 
> I'm not the maintainer of this code, so what I say here may be void, but
> generally we have blanks to the left and/or right of colons in bitfield
> declarations only when we mean to pad for alignment with other nearby
> bitfields.

OK. With the change to bit mask, this will become uint32_t rw1c_mask;

>> @@ -205,6 +213,22 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      return 0;
>>  }
>>
>> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                      vpci_write_t *write_handler, unsigned int offset,
>> +                      unsigned int size, void *data)
>> +{
>> +    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
>> +                              data, false);
>> +}
>> +
>> +int vpci_add_rw1c_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                           vpci_write_t *write_handler, unsigned int offset,
>> +                           unsigned int size, void *data)
>> +{
>> +    return _vpci_add_register(vpci, read_handler, write_handler, offset, size,
>> +                              data, true);
>> +}
> 
> I'm always a little irritated by local functions still retaining the
> subsystem prefix. Just add_register() for the now static helper would
> imo be enough here and overall shorter to read/type.

I will change to add_register()

>> @@ -433,9 +452,11 @@ static void vpci_write_helper(const struct pci_dev *pdev,
>>
>>      if ( size != r->size )
>>      {
>> -        uint32_t val;
>> +        uint32_t val = 0;
>> +
>> +        if ( !r->rw1c )
>> +            val = r->read(pdev, r->offset, r->private);
> 
> Along with the earlier question: Doesn't rw1c need to be a bit mask,
> not a single boolean covering the entire register?

Yes

>> @@ -99,6 +106,8 @@ struct vpci {
>>           * upon to know whether BARs are mapped into the guest p2m.
>>           */
>>          bool bars_mapped      : 1;
>> +        /* Store whether to hide all capabilities from the guest. */
>> +        bool mask_cap_list : 1;
> 
> I think the intention here is for the colons to align.

OK

Stew


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 13:53:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 13:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590105.922208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZAmN-0000GS-DP; Thu, 24 Aug 2023 13:53:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590105.922208; Thu, 24 Aug 2023 13:53:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZAmN-0000GL-8U; Thu, 24 Aug 2023 13:53:43 +0000
Received: by outflank-mailman (input) for mailman id 590105;
 Thu, 24 Aug 2023 13:53:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZAmM-0000GB-Iv; Thu, 24 Aug 2023 13:53:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZAmM-0006at-8n; Thu, 24 Aug 2023 13:53:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZAmL-0003HL-UC; Thu, 24 Aug 2023 13:53:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZAmL-0005Qc-Tm; Thu, 24 Aug 2023 13:53:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C1Yag/N78maMQ2lJygK/pR/5jHU6EufeaqvJQeloJuU=; b=CA1AVIMKFmcDw4PArc3lOqMFB+
	ArFPbIJwD4XL7pHEhJm/NCEemSthzR9zDzRSAy6wmdrzKaWzpOIk4hLVz+FjmeCTNx5XSO8yYRtfb
	3S4P1eCXrY0XvlQ0GqNDOP5r3n5ukp9QHSuF1Q0v/yffzSpQIL4mGUdfNhsWLcr6+XIw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182504-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182504: 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=11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
X-Osstest-Versions-That:
    xen=b0cd7499ddd281033548a702c6d61ab13fdd1f67
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 13:53:41 +0000

flight 182504 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182504/

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                  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
baseline version:
 xen                  b0cd7499ddd281033548a702c6d61ab13fdd1f67

Last test of basis   182497  2023-08-24 02:05:42 Z    0 days
Testing same since   182504  2023-08-24 11:02:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b0cd7499dd..11d9f3ddf5  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 14:04:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 14:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590114.922218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZAx5-0001xW-BH; Thu, 24 Aug 2023 14:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590114.922218; Thu, 24 Aug 2023 14:04: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 1qZAx5-0001xP-8B; Thu, 24 Aug 2023 14:04:47 +0000
Received: by outflank-mailman (input) for mailman id 590114;
 Thu, 24 Aug 2023 14:04: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=NBmp=EJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1qZAx3-0001x0-Nf
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 14:04:46 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a35541b-4287-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 16:04:42 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 8F9F35C004D
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 10:04:38 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 24 Aug 2023 10:04:38 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 10:04:37 -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: 2a35541b-4287-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1692885878; x=1692972278; bh=T2KUNO/NlxeFoxK8BG3y8ThTZyaDCrX3+W1
	L/KN9878=; b=poJzwy8STUo9KD0IYjjLfQkm32+Oyy4kxcK/tdYk+dZ6SzdGYrb
	61pApgiGmnGwZyLDZQsG/XPBHs2I4vk5WKBI0R3ea1XihWSgcevX0v1lHF4JBJtr
	XgbWs8xmVRWMAKBaUDT7ISHuOyAgPyVJoyjsKz9L+ewB49lobcZuMJB/v1eBAAqw
	6LGRg0gCC/0Fo0t3AtGXFhgGlMTN6QuQE1iTXQP1MnHb9RDEYL7VeJhx7lubDKEl
	gjXdSKvTgxC/Ca5DS2Du82TQqpKoUElEUIcOnZGwTiPtCdJt9WfDfqFQrPrJq/mS
	w02z7AR5o+Gah5QipsMgyDr9ZeeNDCRFtqA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1692885878; x=1692972278; bh=T2KUNO/NlxeFo
	xK8BG3y8ThTZyaDCrX3+W1L/KN9878=; b=IrBImL45hN5zKF0wBKkqLkniRr55T
	mBtCb0ZhehtwpGEwhukJK0viIStP+uxTHTiWpdLWZnh8znkViE50c+dtlKSE10NA
	K9kMpxOXQS3JKH0R1Z9Kjy4PlAZjP4jA7joZiVcB8jhuRPlnUHck79Un5Ja5A9M6
	oLv+lt9WDPHJ5ENFegc/RNN6EzyOqfPotx7QX6oGenHvMUGjxD8zS+aCwWXltwdG
	9YoC8S/MyrVIZK+06K1VrNDJuEKSYM/GM3HV2MpxvxaYQDQzO59CHFJ4VA6Ga7hG
	oTQUVhdwqItF7oQt58xgVcpRWgIJ6YVwSwn3ogWUsFToPHqhpKetsd90w==
X-ME-Sender: <xms:dWPnZJs9-Wh3H00XTOPCqQOcocipgdpsTpt8HZ6AkG8SfegdN23fNg>
    <xme:dWPnZCeZUhxhgLWOONMNprTsxsWcpfWRIrm0DVZ6ApRzMtuD0qvm9_zhDlbheJk8K
    7kbY1cLYJveDw>
X-ME-Received: <xmr:dWPnZMyXGD4P8l0FTpYgOVE_BmUFM2L0lzwx98EHQK61X0kCRAgJ0AIZxXFnh_g9YBDM70E9DF_2LwdmnB31LGcyquW9XBWycCc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedruddviedgjeduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkfhggtggujgesghdtre
    ertddtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggt
    khhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepkeegtdfgvdeihefhhedtvdelieeiueetveehteffjeej
    jedvieejvefhueeffeegnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:dmPnZANWzaVm9f6Nn1zElHczovCCj58zBgfsTorx9rpMCd4ezCJgww>
    <xmx:dmPnZJ8VvDSuz6FLFTgsD62Y3jxD-3EpZ_RHmk6UtsGOPPKwE-at2A>
    <xmx:dmPnZAWr_MAENuxQK1YVs9GZ0Ax0wkaCmk5AkNkOqFxU-BEl-N7H2Q>
    <xmx:dmPnZMKgGw45Ix2L63rhaqZk9zr9-MDolXZURMdvGJrQ8yZI85w7_A>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 24 Aug 2023 16:04:33 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: "rcu_preempt detected stalls" with xen_free_irq involved
Message-ID: <ZOdjcurhtb7eQNYe@mail-itl>
References: <ZOV8zMeie3oprrGg@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="kt9j1wOK963h20Qo"
Content-Disposition: inline
In-Reply-To: <ZOV8zMeie3oprrGg@mail-itl>


--kt9j1wOK963h20Qo
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 24 Aug 2023 16:04:33 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: "rcu_preempt detected stalls" with xen_free_irq involved

On Wed, Aug 23, 2023 at 05:28:12AM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> Hi,
>=20
> Since updating from 5.15.124 to 6.1.43, I observe rather often an issue
> like in the subject. This happens on a domU with heavy vchan usage
> (several connections established and released per second).
>=20
> The domain in question is a PVH with 16 vCPUs and generally is rather
> busy (CPU time, but also some noticeable network and disk I/O), but I've
> seen this happening also in less intensive times (but still several
> vchan connections being handled).
>=20
> This is running on Xen 4.17.2, AMD EPYC (Zen3), with smt=3Doff.
>=20
> Any ideas?
>=20
> Full message:
>=20
>     rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
>     rcu:       9-...0: (0 ticks this GP) idle=3D2364/1/0x4000000000000000=
 softirq=3D20505/20505 fqs=3D11999                                         =
                                                       =20
>        (detected by 12, t=3D60004 jiffies, g=3D79009, q=3D1863 ncpus=3D16=
)                                                                          =
                                                         =20
>     Sending NMI from CPU 12 to CPUs 9:                                   =
                                                                           =
                                                 =20
>     NMI backtrace for cpu 9                                              =
                                                                           =
                                                 =20
>     CPU: 9 PID: 18266 Comm: qrexec-agent Not tainted 6.1.43-1.qubes.fc37.=
x86_64 #1                                                                  =
                                                 =20
>     RIP: 0010:queued_write_lock_slowpath+0x64/0x124                      =
                                                                           =
                                                 =20
>     Code: ff 90 0f 1f 44 00 00 5b 5d c3 cc cc cc cc f0 81 0b 00 01 00 00 =
ba ff 00 00 00 b9 00 01 00 00 8b 03 3d 00 01 00 00 74 0b f3 90 <8b> 03 3d 0=
0 01 00 00 75 f5 89 c8 f0 0f b1 13 74 be eb e2 65=20
>                                                                          =
                                                                           =
                                                 =20
>     RSP: 0018:ffffc9000229fd30 EFLAGS: 00000006                          =
                                                                           =
                                                 =20
>     RAX: 0000000000000500 RBX: ffffffff8468de60 RCX: 0000000000000100    =
                                                                           =
                                                 =20
>     RDX: 00000000000000ff RSI: ffff8881004b86d8 RDI: ffffffff8468de60    =
                                                                           =
                                                 =20
>     RBP: ffffffff8468de64 R08: ffff8881004b8860 R09: ffffffff82d47600    =
                                                                           =
                                                 =20
>     R10: 0000000000000000 R11: 0000000000000000 R12: ffff88810464e3e0    =
                                                                           =
                                                 =20
>     R13: ffff8881012a76a0 R14: ffff88838d1f5a90 R15: 0000000000000000    =
                                                                           =
                                                 =20
>     FS:  0000716dc7f6b780(0000) GS:ffff8883dc040000(0000) knlGS:000000000=
0000000                                                                    =
                                                 =20
>     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033                    =
                                                                           =
                                                 =20
>     CR2: 0000716dc7f7c060 CR3: 00000001e3d0c001 CR4: 0000000000770ee0    =
                                                                           =
                                                 =20
>     PKRU: 55555554                                                       =
                                                                           =
                                                 =20
>     Call Trace:                                                          =
                                                                           =
                                                 =20
>      <NMI>                                                               =
                                                                           =
                                                 =20
>      ? show_trace_log_lvl+0x1d3/0x2ef                                    =
                                                                           =
                                                 =20
>      ? show_trace_log_lvl+0x1d3/0x2ef                                    =
                                                                           =
                                                 =20
>      ? show_trace_log_lvl+0x1d3/0x2ef                                    =
                                                                           =
                                                 =20
>      ? __raw_write_lock_irqsave+0x3d/0x50
>      ? nmi_cpu_backtrace.cold+0x1b/0x76
>      ? queued_write_lock_slowpath+0x64/0x124
>      ? nmi_cpu_backtrace_handler+0xd/0x20
>      ? nmi_handle+0x5d/0x120
>      ? queued_write_lock_slowpath+0x64/0x124
>      ? default_do_nmi+0x69/0x170
>      ? exc_nmi+0x13c/0x170
>      ? end_repeat_nmi+0x16/0x67
>      ? queued_write_lock_slowpath+0x64/0x124
>      ? queued_write_lock_slowpath+0x64/0x124
>      ? queued_write_lock_slowpath+0x64/0x124
>      </NMI>
>      <TASK>
>      __raw_write_lock_irqsave+0x3d/0x50
>      xen_free_irq+0x43/0x170
>      unbind_from_irqhandler+0x40/0x80
>      evtchn_release+0x27/0x8e [xen_evtchn]
>      __fput+0x91/0x250
>      task_work_run+0x59/0x90
>      exit_to_user_mode_loop+0x121/0x150
>      exit_to_user_mode_prepare+0xaf/0xc0
>      syscall_exit_to_user_mode+0x17/0x40
>      do_syscall_64+0x67/0x80
>      ? handle_mm_fault+0xdb/0x2d0
>      ? preempt_count_add+0x47/0xa0
>      ? up_read+0x37/0x70=20
>      ? do_user_addr_fault+0x1bb/0x570
>      ? exc_page_fault+0x70/0x170
>      entry_SYSCALL_64_after_hwframe+0x63/0xcd
>     RIP: 0033:0x716dc81077ea
>     Code: 48 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 =
7c 24 0c e8 d3 ce f8 ff 8b 7c 24 0c 89 c2 b8 03 00 00 00 0f 05 <48> 3d 00 f=
0 ff ff 77 36 89 d7 89 44 24 0c e8 33 cf f8 ff 8b=20
>    =20
>     RSP: 002b:00007ffce6ce80e0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
>     RAX: 0000000000000000 RBX: 000055aae7e8c150 RCX: 0000716dc81077ea
>     RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000014
>     RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
>     R10: 0000716dc80086b8 R11: 0000000000000293 R12: 000055aae7e8ad70
>     R13: 0000000000000003 R14: 0000716dc8020bf8 R15: 00007ffce6ce81a0
>      </TASK>
>=20
>=20
> I've seen also few other flavors of the above, for example:
> https://gist.github.com/marmarek/a8b79ef2a877443c7aa57fdca366a701

Unfortunately, I've got it happened on 5.15.124 too (updated the gist
above with that trace too). So, it isn't that clear regression. That
said, it still happens way less often on 5.15 than 6.1.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--kt9j1wOK963h20Qo
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmTnY3IACgkQ24/THMrX
1yzcVQf/ROoxxS2uXsW2dTA/3l1zu7D5U8xMcVD7mP40Y5LAaoyOEQJgHk5oGnnp
2DFqCLrqGQcauJ3101IwjFNghtb7NrGTroVLYVS5kpHDXDG9MPR8U0eGMF8hL4zG
ZaZAbgC40Ps+2Lj8LntatQhs0mQY/pGSMfkURaIXlNSuhz7/f9ochQV6roiS0tTq
enKQXYtZA6OGuZXZgx8EFL1NKSYgOYYUiBCi1CIKegv2KrKq6AMQIREP7uU7YuTp
aVhVJ0jBaIySATvMSCJj4Y2G0tg0IK9oYvxZrntTYORFj9d9K7aLMtPkMwq/i8bv
6CjkARSBG3pKRrjLwrTM9+hHwpdsUA==
=qMN9
-----END PGP SIGNATURE-----

--kt9j1wOK963h20Qo--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 14:36:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 14:36:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590135.922235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZBRl-0005ll-TP; Thu, 24 Aug 2023 14:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590135.922235; Thu, 24 Aug 2023 14:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZBRl-0005le-QU; Thu, 24 Aug 2023 14:36:29 +0000
Received: by outflank-mailman (input) for mailman id 590135;
 Thu, 24 Aug 2023 14:36: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=E907=EJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qZBRl-0005lX-1v
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 14:36:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b9402d1-428b-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 16:36:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A703122A72;
 Thu, 24 Aug 2023 14:36:26 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7F5251336F;
 Thu, 24 Aug 2023 14:36:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id K4RqHepq52SdKQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 24 Aug 2023 14:36: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: 9b9402d1-428b-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692887786; 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=I4kf96Gd/Pc254PdRlSC5VEW2Pw9dnY7qf5r6K/JaRQ=;
	b=TPdQCUtmEWOeKIGIrTK68yO+0VLWEAtX3ijOW8TUxZpV2rQ/9UfqcWU9aCQtcVb8HvKX6l
	WGusHhRDvLrVbpJc1k5Vi9yC/GPIplIzx0pE1YhgEH90zgxFOzXENT2/8aEJPyvHGKHTIE
	XMkdk9yPlREkeFZvS34Pjar+XbQiePM=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.6-rc1
Date: Thu, 24 Aug 2023 16:36:26 +0200
Message-Id: <20230824143626.10100-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.6-rc1-tag

xen: branch for v6.6-rc1

It contains the following patches:

- a bunch of minor cleanups

- a patch adding irqfd support for virtio backends running as user
  daemon supporting Xen guests


Thanks.

Juergen

 arch/x86/include/asm/xen/page.h             |   5 +-
 arch/x86/xen/enlighten_pv.c                 |   2 +-
 arch/x86/xen/mmu_pv.c                       |  18 +-
 arch/x86/xen/setup.c                        |   4 +-
 drivers/xen/Kconfig                         |   7 +
 drivers/xen/grant-table.c                   |   2 +-
 drivers/xen/privcmd.c                       | 282 +++++++++++++++++++++++++++-
 drivers/xen/xen-acpi-processor.c            |   7 +-
 drivers/xen/xen-pciback/conf_space_quirks.h |   2 -
 drivers/xen/xen-pciback/pciback.h           |   3 -
 drivers/xen/xenbus/xenbus_probe_frontend.c  |   2 +-
 drivers/xen/xenbus/xenbus_xs.c              |   4 +-
 include/uapi/xen/privcmd.h                  |  14 ++
 include/xen/events.h                        |   1 -
 14 files changed, 320 insertions(+), 33 deletions(-)

Li Zetao (1):
      xen: xenbus: Use helper function IS_ERR_OR_NULL()

Linus Walleij (1):
      x86/xen: Make virt_to_pfn() a static inline

Petr Pavlu (1):
      xen/xenbus: Avoid a lockdep warning when adding a watch

Petr Tesarik (1):
      xen: remove a confusing comment on auto-translated guest I/O

Ruan Jinjie (1):
      xen: Switch to use kmemdup() helper

Viresh Kumar (1):
      xen: privcmd: Add support for irqfd

Yang Li (1):
      xen: Fix one kernel-doc comment

Yue Haibing (2):
      xen/evtchn: Remove unused function declaration xen_set_affinity_evtchn()
      xen-pciback: Remove unused function declarations


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:24:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590142.922246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCBo-000301-BI; Thu, 24 Aug 2023 15:24:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590142.922246; Thu, 24 Aug 2023 15:24: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 1qZCBo-0002zu-7V; Thu, 24 Aug 2023 15:24:04 +0000
Received: by outflank-mailman (input) for mailman id 590142;
 Thu, 24 Aug 2023 15:24: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=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCBm-0002zo-Dn
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:24:02 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e6c8252-4292-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 17:23:58 +0200 (CEST)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-1bf7a6509deso22995ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:23:59 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 iy3-20020a170903130300b001b9de39905asm12935117plb.59.2023.08.24.08.23.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:23: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: 3e6c8252-4292-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890637; x=1693495437;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mz1s/83A9NHhjWyAB0rXNoLLdbJwNpIgWAiufMj/7H8=;
        b=j7DGzFnnxP21St4nvMwb5EQgQCdgmQ+LWBaTU9cddWjKTBc1Ex93WokufanOdlvsHL
         nHjUH1mijC2Xb2nRvQkhGUM8CQFO60Xt8j7dDg9ehWCx0Sl72On+KEL4mZCrWDzRA2FT
         zyDTQATidkQMTrS9iIuAf9THEbr/K3tOf8Mp3Y4/YYlilwPZwFSz6ya1DtcbzvwlXKDj
         LqkOlONAx+J42j/O0qCUqVnaQzd65TMI3EHWFTZ9symbWNLmTJug3WApQfPJe4EzvAxL
         7FPOlNGBfiSkJgUEib74O76gF/KEuLtZhEnef6+QeQZuLJ8eeunKO6QdFWDUCMlsDmbn
         yDEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890637; x=1693495437;
        h=content-transfer-encoding:content-language:cc:subject:from
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Mz1s/83A9NHhjWyAB0rXNoLLdbJwNpIgWAiufMj/7H8=;
        b=Mb8mkv119o3MaMyq7EYcaOKFna32nrIlmO1k9f+C+DqASrFyHeMxedwxAKQNNz/Frc
         pL/cPFpWVjbc1k/teTI+ndwa05vzyzP1lOraMiK9cEna55IoqvlxkhCSaoRZ35Ao+bK4
         et93MQzoST49SOtlaWqHElkzOkBJ0t0YbSD4+rTqEvuWWJiOjQSBl6HMSQbS2gTK8o1k
         nDBnu+9cj2Lq32BiO0gazhFTzpPRec4cTcxhOAJI39eXWIY1Nv+9gr0WnrB6GGZmT+x8
         uwoWt05GkQ9ddnMK5CrGKYDorihd7sjkXaRcu5GU4cz9P2/OHeky7IuOCh/vTXr2DPLK
         MqKQ==
X-Gm-Message-State: AOJu0Yx3CQ2OcxNxs5DSwCNOshjCpki6L+4i1FH0aFtG+3v6P/JYeDk+
	L3vj/qrct3VrtLnklfX2/FM=
X-Google-Smtp-Source: AGHT+IGtDB++Etp3oA2ZODO/IcjFrl3pPOBTces2X/+rPZ2pST0tJi5aIbzaOWbndTPSv9nQjvyxfg==
X-Received: by 2002:a17:902:e882:b0:1c0:8044:750b with SMTP id w2-20020a170902e88200b001c08044750bmr11899800plg.47.1692890637432;
        Thu, 24 Aug 2023 08:23:57 -0700 (PDT)
Message-ID: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Date: Fri, 25 Aug 2023 00:23:51 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 0/8] Fixes to debugging facilities
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, xen-devel@lists.xenproject.org
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

This is a rebased version of Andrew Cooper's debugging facilities patch:
https://lore.kernel.org/xen-devel/1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com/

> So this started as a small fix for the vmentry failure (penultimate patch),
> and has snowballed...
>
> I'm fairly confident that everything involving DEBUGCTL.BTF is broken, and
> there are definitely bugs with configuring DEBUGCTL.RTM (which really isn't
> helped by the fact that the GCC TSX intrinsics render the resulting code
> un-debuggable.)  I'll defer fixing these swamps for now.
>
> The first 4 patches probably want backporting to the stable trees, so I've
> taken care to move them ahead of patch 6 for backport reasons.  While all
> fixes would ideally be backported, I can't find a way of fixing %dr6 merging
> (as it needs to be done precicely once) without a behavioural change in the
> monitor subsystem.
>
> Patch 8 probably breaks introspection, so can't be taken at this point.  See
> that patch for discussion of the problem and my best guess at a solution.

6 out of 11 patches from the 2018 patch series above, including the
vmentry failure fix, have already been committed.  This covers the
remaining 5 patches--except the aforementioned patch 8, which is
replaced with a more conservative approach with (hopefully) minimal
impact on introspection.

(Re dropped defer-monitor-to-injection patch: I think this could be
 fixed independently of DR6 handling in a separate patchset, since IIUC
 the introspection/monitor events are already in a broken state anyway.)

One particular bug that the patch series fixes involves simultaneous
hardware breakpoint exception and single-stepping exception occurring at
the same PC (IP).  Xen blindly sets singlestep (DR6.BS := 1) in this
case, which interferes with userland debugging and allows (otherwise
restricted) usermode programs to detect Xen HVM (or PVH).  The following
Linux x86-64 program demonstrates the bug:

-----------------------------------8<-----------------------------------

#include <stddef.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <signal.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <stdio.h>

#define ABORT_ON_ERR(x) if ((x) == -1) abort();

int main(void)
{
    unsigned long cur_rip, cur_eflags, cur_dr6;
    int wstatus, exit_code;
    pid_t pid;

    ABORT_ON_ERR(pid = fork());
    if (pid == 0) {
        ABORT_ON_ERR(ptrace(PTRACE_TRACEME, 0, NULL, NULL));
        ABORT_ON_ERR(raise(SIGSTOP));
        _exit(0);
    }

    /* Wait for first ptrace event */
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!WIFSTOPPED(wstatus)) abort();

    /* Obtain current RIP value and perform sanity check */
    cur_rip = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.rip), &cur_rip);
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    assert(cur_dr6 == 0xffff0ff0UL);

    /* Set up debug registers and set EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags | 0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[0]), (void *)cur_rip));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)1L));

    /* Continue execution to trigger hardware breakpoint */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFSTOPPED(wstatus) && WSTOPSIG(wstatus) == SIGTRAP)) abort();

    /* Detect if Xen has tampered with DR6 */
    cur_dr6 = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, u_debugreg[6]), &cur_dr6);
    fprintf(stderr, "DR6 = 0x%08lx\n", cur_dr6);
    if (cur_dr6 == 0xffff0ff1UL)
    {
        fputs("Running on bare-metal, Xen PV, or non-Xen VMM\n", stdout);
        exit_code = EXIT_FAILURE;
    }
    else
    {
        fputs("Running on Xen HVM\n", stdout);
        exit_code = EXIT_SUCCESS;
    }

    /* Tear down debug registers and unset EFLAGS.TF */
    cur_eflags = ptrace(PTRACE_PEEKUSER, pid, (void *)offsetof(struct user, regs.eflags), &cur_eflags);
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, regs.eflags), (void *)(cur_eflags & ~0x100UL)));
    ABORT_ON_ERR(ptrace(PTRACE_POKEUSER, pid, (void *)offsetof(struct user, u_debugreg[7]), (void *)0L));

    /* Continue execution to let child process exit */
    ABORT_ON_ERR(ptrace(PTRACE_CONT, pid, NULL, (unsigned long)0));
    if (waitpid(pid, &wstatus, 0) != pid) abort();
    if (!(WIFEXITED(wstatus) && WEXITSTATUS(wstatus) == 0)) abort();

    return exit_code;
}

-----------------------------------8<-----------------------------------

Changelog:

v1 -> v2:

- S-o-b fixes (sorry)
- Drop RFC patch entirely, replace with a more conservative approach
- Add *_get_pending_event fixes (for hvm_monitor_interrupt)
- Fix must-be-zero constant in adjust_dr7_rsvd: 0xffff23ff -> 0xffff2fff
- Define X86_DR{6,7}_* constants in x86-defns.h instead of open-coding
  naked numbers (thanks Jan)
- Update DR6 for gdbsx when trapped in PV guest kernel mode
- Commit message fixes

Andrew Cooper (5):
  x86: Fix calculation of %dr6/7 reserved bits
  x86/emul: Add pending_dbg field to x86_event
  x86/hvm: Add comments about #DB exception behavior to
    {svm,vmx}_inject_event()
  x86: Fix merging of new status bits into %dr6
  x86/dbg: Cleanup of legacy dr6 constants

Jinoh Kang (3):
  x86/hvm: Only populate info->cr2 for #PF in hvm_get_pending_event()
  x86/emul: Populate pending_dbg field of x86_event from
    {svm,vmx}_get_pending_event()
  x86: Don't assume #DB is always caused by singlestep if EFLAGS.TF is
    set

 xen/arch/x86/domain.c                  |  7 +--
 xen/arch/x86/hvm/emulate.c             |  3 +-
 xen/arch/x86/hvm/hvm.c                 | 17 +++++--
 xen/arch/x86/hvm/svm/svm.c             | 35 ++++++++++----
 xen/arch/x86/hvm/vmx/vmx.c             | 45 +++++++++++-------
 xen/arch/x86/include/asm/debugreg.h    | 63 ++++++++++++++++----------
 xen/arch/x86/include/asm/domain.h      | 12 +++++
 xen/arch/x86/include/asm/hvm/hvm.h     | 15 +++++-
 xen/arch/x86/include/asm/x86-defns.h   | 47 +++++++++++++++++++
 xen/arch/x86/mm/shadow/multi.c         |  5 +-
 xen/arch/x86/pv/emul-priv-op.c         | 13 +++---
 xen/arch/x86/pv/emulate.c              |  6 +--
 xen/arch/x86/pv/misc-hypercalls.c      | 16 ++-----
 xen/arch/x86/pv/ro-page-fault.c        |  3 +-
 xen/arch/x86/pv/traps.c                | 17 +++++--
 xen/arch/x86/traps.c                   | 12 ++---
 xen/arch/x86/x86_emulate/x86_emulate.h |  5 +-
 17 files changed, 225 insertions(+), 96 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:25:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590147.922256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDR-0003YZ-LP; Thu, 24 Aug 2023 15:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590147.922256; Thu, 24 Aug 2023 15:25:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDR-0003YS-IN; Thu, 24 Aug 2023 15:25:45 +0000
Received: by outflank-mailman (input) for mailman id 590147;
 Thu, 24 Aug 2023 15:25:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCDQ-0003YG-3v
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:25:44 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bb09f00-4292-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 17:25:41 +0200 (CEST)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-1bf55a81eeaso229585ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:25:41 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 l20-20020a170903005400b001bdcafcf8d3sm12996060pla.69.2023.08.24.08.25.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:25: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: 7bb09f00-4292-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890740; x=1693495540;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7GpSUBE0BxjgNJ5EWh0hcmxXI/ck27aV5AJKjaXhveA=;
        b=kxew4z/7A86XHg/cqPrScvBClrUY5tybsKdy4CrmuZYvBw7i6YoHQ2UGYq6pXmXY6P
         wahc9162QYL/x4sQHCZvkiFJJDrtJDZT/qC1R/kZuaGwmOq+Fmsk3SxxPx+ZIa56kEWF
         GQsgF+vELpxY/CtDMsPNKVE6zNZR1AzSkbGcJK7qVzNwy/03kiIJB02G/OINAg9ixDAv
         cMiIG+0tPR43rQxWTT+0EUFM8NcDUCnh3/6V5aHt7gF0/q1KRFU+qdnIatH7xLqQCt2P
         mz6xHzwdgWkDttFprk4ouaFwX32Iw8JULbQtSDPinKBKaZSHkPTUJytm3yMlEe/g16hS
         Vlog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890740; x=1693495540;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7GpSUBE0BxjgNJ5EWh0hcmxXI/ck27aV5AJKjaXhveA=;
        b=HSWgLMfX+gpaJArEfE5KEbz4iGZ4v5WzTs7bdGIyx7wWWbzuiETaBZ+t+TityVRHPT
         05v3M+ptqx9+lRZDyYzau24/0aBzOR2sVnnDGuUpKsZ9oTgJE9xbmELmk4z3rJUKj/72
         OfnjChHUziN7Psp4z9miMazFvuCSX9ag9lijJf5bhZxKmV/bNFlWBVyhZilenD8qwSI7
         oWKFdbM8K7RtRiap8PwP5XN5fNb2Ojf/LiOnlak5Yv0sHU3La5GG42LGsfsmZcrXYCjd
         X9/gRWCzJ4MqCT7+68+wvvDVdiUldyJVn0YeMm2EyDDEcJyEKD92x4nv+GmCVNjaNryp
         HHmQ==
X-Gm-Message-State: AOJu0YxbhuL2LinzX4QKlShT2SiyjOGjEmBX3pS36JpPMVRyyrLBY6Pa
	7m/7BOlss/B70tW93JQoV4k=
X-Google-Smtp-Source: AGHT+IGTQFvZ7m3kT6Scb7mVL7k/s/JxNEce7jhacvM5mmpTpwL4UyXImzu5lH77LRGJ7spMde8HFw==
X-Received: by 2002:a17:902:d38c:b0:1b5:1787:d23f with SMTP id e12-20020a170902d38c00b001b51787d23fmr13079057pld.5.1692890740315;
        Thu, 24 Aug 2023 08:25:40 -0700 (PDT)
Message-ID: <8e594d08-9489-5446-525a-526a1f79dc07@gmail.com>
Date: Fri, 25 Aug 2023 00:25:36 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 1/8] x86: Fix calculation of %dr6/7 reserved bits
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

The reserved bit calculations for %dr6 and %dr7 depend on whether the VM has
the Restricted Transactional Memory feature available.

Introduce adjust_dr{6,7}_rsvd() and replace the opencoded logic and constants
(except for DR_STATUS_RESERVED_ONE which is (mis)used elsewhere and will be
removed after future bugfixes).  The use of these helpers in set_debugreg()
covers toolstack values for PV guests, but HVM guests need similar treatment.

The use of the guest's cpu_policy is less than optimal in the create/restore
paths.  However in such cases, the policy will be the guest maximum policy,
which will be more permissive with respect to the RTM feature.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
[ jinoh: Rebase onto staging, along with some fixes ]
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>

v1 -> v2: [S-o-b fixes. More details below.]

- Fix must-be-zero constant in adjust_dr7_rsvd: 0xffff23ff -> 0xffff2fff
  - Bit 10 was not set, causing DR7 reserved-1 bit 10 to be unset
  - Bit 11 was not set, causing DR7 RTM-enable bit 11 to be ignored

- Define X86_DR{6,7}_* constants in x86-defns.h instead of open-coding
  naked numbers (thanks Jan)

- [Commit body]: s/Transnational/Transactional/g (thanks Jan)

- [Commit body]: s/guests cpuid policy/guest's cpu_policy/g (by rebase)
---
 xen/arch/x86/domain.c                |  7 +++--
 xen/arch/x86/hvm/hvm.c               |  6 ++--
 xen/arch/x86/include/asm/debugreg.h  | 20 ++++++++++++--
 xen/arch/x86/include/asm/x86-defns.h | 41 ++++++++++++++++++++++++++++
 xen/arch/x86/pv/misc-hypercalls.c    | 16 +++--------
 5 files changed, 70 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index fe86a7f853..a39710b5af 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1053,6 +1053,7 @@ int arch_set_info_guest(
     struct vcpu *v, vcpu_guest_context_u c)
 {
     struct domain *d = v->domain;
+    const struct cpu_policy *cp = d->arch.cpuid;
     unsigned int i;
     unsigned long flags;
     bool compat;
@@ -1165,10 +1166,10 @@ int arch_set_info_guest(
 
     if ( is_hvm_domain(d) )
     {
-        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); ++i )
+        for ( i = 0; i < ARRAY_SIZE(v->arch.dr) - 2; ++i )
             v->arch.dr[i] = c(debugreg[i]);
-        v->arch.dr6 = c(debugreg[6]);
-        v->arch.dr7 = c(debugreg[7]);
+        v->arch.dr6 = adjust_dr6_rsvd(c(debugreg[6]), cp->feat.rtm);
+        v->arch.dr7 = adjust_dr7_rsvd(c(debugreg[7]), cp->feat.rtm);
 
         if ( v->vcpu_id == 0 )
             d->vm_assist = c.nat->vm_assist;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a99c0ff20..66ead0b878 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -33,6 +33,7 @@
 #include <asm/shadow.h>
 #include <asm/hap.h>
 #include <asm/current.h>
+#include <asm/debugreg.h>
 #include <asm/e820.h>
 #include <asm/io.h>
 #include <asm/regs.h>
@@ -985,6 +986,7 @@ unsigned long hvm_cr4_guest_valid_bits(const struct domain *d)
 
 static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
 {
+    const struct cpu_policy *cp = d->arch.cpuid;
     unsigned int vcpuid = hvm_load_instance(h);
     struct vcpu *v;
     struct hvm_hw_cpu ctxt;
@@ -1166,8 +1168,8 @@ static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     v->arch.dr[1] = ctxt.dr1;
     v->arch.dr[2] = ctxt.dr2;
     v->arch.dr[3] = ctxt.dr3;
-    v->arch.dr6   = ctxt.dr6;
-    v->arch.dr7   = ctxt.dr7;
+    v->arch.dr6   = adjust_dr6_rsvd(ctxt.dr6, cp->feat.rtm);
+    v->arch.dr7   = adjust_dr7_rsvd(ctxt.dr7, cp->feat.rtm);
 
     hvmemul_cancel(v);
 
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 86aa6d7143..74344555d2 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -1,6 +1,7 @@
 #ifndef _X86_DEBUGREG_H
 #define _X86_DEBUGREG_H
 
+#include <asm/x86-defns.h>
 
 /* Indicate the register numbers for a number of the specific
    debug registers.  Registers 0-3 contain the addresses we wish to trap on */
@@ -21,7 +22,6 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
 #define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
@@ -61,8 +61,6 @@
    We can slow the instruction pipeline for instructions coming via the
    gdt or the ldt if we want to.  I am not sure why this is an advantage */
 
-#define DR_CONTROL_RESERVED_ZERO (~0xffff27ffUL) /* Reserved, read as zero */
-#define DR_CONTROL_RESERVED_ONE  (0x00000400UL) /* Reserved, read as one */
 #define DR_LOCAL_EXACT_ENABLE    (0x00000100UL) /* Local exact enable */
 #define DR_GLOBAL_EXACT_ENABLE   (0x00000200UL) /* Global exact enable */
 #define DR_RTM_ENABLE            (0x00000800UL) /* RTM debugging enable */
@@ -80,4 +78,20 @@
 long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
 void activate_debugregs(const struct vcpu *);
 
+static inline unsigned long adjust_dr6_rsvd(unsigned long dr6, bool rtm)
+{
+    dr6 |= X86_DR6_MBS_BASE | (rtm ? 0 : X86_DR6_MBS_NO_RTM);
+    dr6 &= ~X86_DR6_MBZ;
+
+    return dr6;
+}
+
+static inline unsigned long adjust_dr7_rsvd(unsigned long dr7, bool rtm)
+{
+    dr7 |= X86_DR7_MBS;
+    dr7 &= ~(X86_DR7_MBZ_BASE | (rtm ? 0 : X86_DR7_MBZ_NO_RTM));
+
+    return dr7;
+}
+
 #endif /* _X86_DEBUGREG_H */
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index e350227e57..b13ca680c2 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -102,12 +102,53 @@
 
 /*
  * Debug status flags in DR6.
+ *   N.B. For backwards compatibility, X86_DR6_RTM has inverted polarity.
  */
+#define X86_DR6_B0              (1UL <<  0)     /* Breakpoint 0 triggered  */
+#define X86_DR6_B1              (1UL <<  1)     /* Breakpoint 1 triggered  */
+#define X86_DR6_B2              (1UL <<  2)     /* Breakpoint 2 triggered  */
+#define X86_DR6_B3              (1UL <<  3)     /* Breakpoint 3 triggered  */
+#define X86_DR6_BD              (1UL << 13)     /* Debug register accessed */
+#define X86_DR6_BS              (1UL << 14)     /* Single step             */
+#define X86_DR6_BT              (1UL << 15)     /* Task switch             */
+#define X86_DR6_RTM             (1UL << 16)     /* #DB/#BP in RTM region   */
+
+#define X86_DR6_MBZ             (~0xffffefffUL) /* Reserved, read as zero  */
+
+#define X86_DR6_MBS_BASE        (0xfffe0ff0UL)  /* Reserved, read as one   */
+#define X86_DR6_MBS_NO_RTM      (X86_DR6_RTM)   /* - if RTM unavailable    */
+
 #define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
 
 /*
  * Debug control flags in DR7.
  */
+#define X86_DR7_L0              (1UL <<  0)      /* Local BP 0 enable      */
+#define X86_DR7_G0              (1UL <<  1)      /* Global BP 0 enable     */
+#define X86_DR7_L1              (1UL <<  2)      /* Local BP 1 enable      */
+#define X86_DR7_G1              (1UL <<  3)      /* Global BP 1 enable     */
+#define X86_DR7_L2              (1UL <<  4)      /* Local BP 2 enable      */
+#define X86_DR7_G2              (1UL <<  5)      /* Global BP 2 enable     */
+#define X86_DR7_L3              (1UL <<  6)      /* Local BP 3 enable      */
+#define X86_DR7_G3              (1UL <<  7)      /* Global BP 3 enable     */
+#define X86_DR7_LE              (1UL <<  8)      /* Local exact BP enable  */
+#define X86_DR7_GE              (1UL <<  9)      /* Global exact BP enable */
+#define X86_DR7_RTM             (1UL << 11)      /* RTM debugging enable   */
+#define X86_DR7_GD              (1UL << 13)      /* General detect enable  */
+#define X86_DR7_RW0_MASK        (3UL << 16)      /* BP 0 trap condition    */
+#define X86_DR7_LEN0_MASK       (3UL << 18)      /* BP 0 access length     */
+#define X86_DR7_RW1_MASK        (3UL << 20)      /* BP 1 trap condition    */
+#define X86_DR7_LEN1_MASK       (3UL << 22)      /* BP 1 access length     */
+#define X86_DR7_RW2_MASK        (3UL << 24)      /* BP 2 trap condition    */
+#define X86_DR7_LEN2_MASK       (3UL << 26)      /* BP 2 access length     */
+#define X86_DR7_RW3_MASK        (3UL << 28)      /* BP 3 trap condition    */
+#define X86_DR7_LEN3_MASK       (3UL << 30)      /* BP 3 access length     */
+
+#define X86_DR7_MBZ_BASE        (~0xffff2fffUL)  /* Reserved, read as zero */
+#define X86_DR7_MBZ_NO_RTM      (X86_DR7_RTM)    /* - if RTM unavailable   */
+
+#define X86_DR7_MBS             (0x00000400UL)   /* Reserved, read as one  */
+
 #define X86_DR7_DEFAULT         0x00000400  /* Default %dr7 value. */
 
 /*
diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index b11bd718b7..e44f2556c8 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -56,6 +56,7 @@ long do_fpu_taskswitch(int set)
 long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
 {
     struct vcpu *curr = current;
+    const struct cpu_policy *cp = curr->domain->arch.cpuid;
 
     switch ( reg )
     {
@@ -86,12 +87,7 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR6: Bits 4-11,16-31 reserved (set to 1).
-         *      Bit 12 reserved (set to 0).
-         */
-        value &= ~DR_STATUS_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_STATUS_RESERVED_ONE;  /* reserved bits => 1 */
+        value = adjust_dr6_rsvd(value, cp->feat.rtm);
 
         v->arch.dr6 = value;
         if ( v == curr )
@@ -108,12 +104,8 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR7: Bit 10 reserved (set to 1).
-         *      Bits 11-12,14-15 reserved (set to 0).
-         */
-        value &= ~DR_CONTROL_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_CONTROL_RESERVED_ONE;  /* reserved bits => 1 */
+        value = adjust_dr7_rsvd(value, cp->feat.rtm);
+
         /*
          * Privileged bits:
          *      GD (bit 13): must be 0.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:25:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590149.922266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDY-0003qj-1s; Thu, 24 Aug 2023 15:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590149.922266; Thu, 24 Aug 2023 15:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDX-0003qW-Td; Thu, 24 Aug 2023 15:25:51 +0000
Received: by outflank-mailman (input) for mailman id 590149;
 Thu, 24 Aug 2023 15:25: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=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCDX-0003YG-08
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:25:51 +0000
Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com
 [2607:f8b0:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8020759a-4292-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 17:25:48 +0200 (CEST)
Received: by mail-pf1-x42e.google.com with SMTP id
 d2e1a72fcca58-68a4bcf8a97so3503314b3a.1
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:25:49 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 a7-20020a170902ecc700b001b2069072ccsm12937709plh.18.2023.08.24.08.25.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08: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: 8020759a-4292-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890748; x=1693495548;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Gl1uSk6cql3DTrfRNGOLaEQ10Vv8LUbqQ//89vIyzb8=;
        b=AY01yRMuYtAmiu92yTvpMOTNoj/Adx2YB0agM8mAQI8m6cBDwcotG7QiNIHKmQgGgm
         h9IdGWPKCLXiiDH/1cvTT87X/zsVNIrIm1BZNK3cndyAZFt/tA7uMDoyz5e1VmC3fJt8
         dX6UJrAPbJ3vDIetTsPBNmSmhh6qbKd0Sxnp6s3dfrSRn/kw817tHn+7sVXaVXxoBxNs
         GzZWpvYYa1qKdBWSLWbHU4SrvGlU7AFcuGN6nM3NDFRt3FIg7g0ugvYMxKCMyIKq/Fig
         auvQdNlCyx10gFKGHZqIjnYJ71GmTnynm2MuvgnV7mN4LvF3beHIbMvyYvppwOpIeTMT
         5Pfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890748; x=1693495548;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Gl1uSk6cql3DTrfRNGOLaEQ10Vv8LUbqQ//89vIyzb8=;
        b=TU7PtTyFOFUgvpFee2kz9wHYYgDiLcP4LjMyxOG7sb/8CGcVgb0KFkX2lz+IzVSFRD
         Xw7O/75BdEhhoeWbyQX5NaV5f3QexIBCrocWgrjK7raqxWwbVobRu7OofWJn+9NCUXku
         MwUjRwa0gobPKGnZ8NNks/0uE3cynfVPzYB81/tqqeIWIFimmUCT+fhYAFsegreRiix+
         0Aj+CkjUoWj7C6eJY5+1t3eVKmf1oZGVThP9jbX1it3zZRFoPZjYRj+0AbLUaWp6rdd4
         isOf0uSeyfaJWNgBa4dn1aJDmqHl2PUiDYHnz4icz2PAyeGkYnD4LRRl2A40tn7NMNb6
         Zc1g==
X-Gm-Message-State: AOJu0YzBMr5Km7sHtrqsr72qBAaS99w9+ZEAHLJvi52CDAHl6XLPFfUy
	QVmDQjPzz7LE4JQPCVk4G4s=
X-Google-Smtp-Source: AGHT+IHqIJVwaKLxuEl54tRyNpEYhjtCZry0YPvF1C/MyjxUoO4jectbyIT4f1UzRQsd2YXNFOmHnA==
X-Received: by 2002:a05:6a20:6d9d:b0:12e:98a3:77b7 with SMTP id gl29-20020a056a206d9d00b0012e98a377b7mr10918296pzb.59.1692890747798;
        Thu, 24 Aug 2023 08:25:47 -0700 (PDT)
Message-ID: <c668f355-0a31-0ffb-a7c2-4fee46705a3e@gmail.com>
Date: Fri, 25 Aug 2023 00:25:41 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 2/8] x86/hvm: Only populate info->cr2 for #PF in
 hvm_get_pending_event()
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prepare for an upcoming patch that overloads the 'cr2' field for #DB.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Alexandru Isaila <aisaila@bitdefender.com>
CC: Petre Pircalabu <ppircalabu@bitdefender.com>
---
 xen/arch/x86/hvm/hvm.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 66ead0b878..c726947ccb 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -503,9 +503,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
 
 static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
 {
-    info->cr2 = v->arch.hvm.guest_cr[2];
+    if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
+        return false;
+
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_PF )
+        info->cr2 = v->arch.hvm.guest_cr[2];
 
-    return alternative_call(hvm_funcs.get_pending_event, v, info);
+    return true;
 }
 
 void hvm_do_resume(struct vcpu *v)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:26:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590156.922276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDt-0004Ur-AZ; Thu, 24 Aug 2023 15:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590156.922276; Thu, 24 Aug 2023 15:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDt-0004UD-6x; Thu, 24 Aug 2023 15:26:13 +0000
Received: by outflank-mailman (input) for mailman id 590156;
 Thu, 24 Aug 2023 15:26:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCDs-0003YM-Ek
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:12 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d9cad5c-4292-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 17:26:11 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1bdca7cc28dso176295ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:11 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 t16-20020a170902e85000b001b8b07bc600sm12819845plg.186.2023.08.24.08.26.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08: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: 8d9cad5c-4292-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890770; x=1693495570;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/1mAzmxduItOcOXjk5tVfVO4/BIEpE+srfvyqZde6DM=;
        b=jRDD6G+NO60XKeecExSozEAq1ydufrBwiOdDcBLn2btijgrHPqPHYENZMQ5HwW+FSO
         7yE3wlipfHjVpxol6VJsE/gwGNeFvUMo2KPDuOe0UTKZTRNM69wWqiAxrQ0YQsB841JM
         Pc/ELNozaitRF0M/XY8qx76Zjkyq9+/ldgB8ak2WY+wWTvbggH0ZbTZmcZMTi5CE1rNB
         eZrtp6fxLil5cj96EAoJXSiJt4QVg5Walo2LsCeASBU9BonPX4cicRBKySRZuN9T+hcL
         eZA3afYKtKoDvG2tg6fr7VgNPvHZYA/CrTwaUBqXDK/wxTVJ2ZAf1xtnWB4V6qIjd4Kt
         pEug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890770; x=1693495570;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/1mAzmxduItOcOXjk5tVfVO4/BIEpE+srfvyqZde6DM=;
        b=UoOMiegTBmokoqtZcpaFRhBaDDSupz3PeZS/3f9yrvmtN44lD9w7zWesDgDe3Ezhlq
         XWry3ZnTfUSK8pq1GSESmDMkgMpOb33I2msiUI1rtFJge4dwKL2LyLgEsi7l1rfGRVkP
         Xa7LAn8Q5kY+O7H1MRCT1jmnJbM0zcrnEoBoeo6dNZ5bxpj6qu64LJy4pWthTHJOHdxb
         BTxk7ZPpq3HLfI4bO5VUXjDmUNsEyYCFfxc3wBeFr0rOP1Ak8eb+r7c/C7mv1ATwOZcy
         spTiVG81/k0vg9ydk+whqJR+auXvPh/zja1YzPDuVBqAPVnqlkztchn1YXarR8mk2WqE
         F8Hg==
X-Gm-Message-State: AOJu0YwrSVnTNkdrlM71qJU1npmE62LyK2QY1gIhxEGDKLQwHuqBcuC0
	+HLdaO89IjuhfTBKjtsQueQ=
X-Google-Smtp-Source: AGHT+IE3V8hySplXb36ES/mbjMR9s0LKyvFQGRwbIyj1CLVqIshylo4q15cZ78OZJtZYrBR1xNBXFg==
X-Received: by 2002:a17:902:f7cd:b0:1c0:ceab:e9bd with SMTP id h13-20020a170902f7cd00b001c0ceabe9bdmr868023plw.25.1692890769751;
        Thu, 24 Aug 2023 08:26:09 -0700 (PDT)
Message-ID: <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
Date: Fri, 25 Aug 2023 00:26:04 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, 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>,
 Tim Deegan <tim@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

All #DB exceptions result in an update of %dr6, but this isn't captured in
Xen's handling.

PV guests generally work by modifying %dr6 before raising #DB, whereas HVM
guests do nothing and have a single-step special case in the lowest levels of
{vmx,svm}_inject_event().  All of this is buggy, but in particular, task
switches with the trace flag never end up signalling BT in %dr6.

To begin resolving this issue, add a new pending_dbg field to x86_event
(unioned with cr2 to avoid taking any extra space), and introduce
{pv,hvm}_inject_debug_exn() helpers to replace the current callers using
{pv,hvm}_inject_hw_exception().

A key property is that pending_dbg is taken with positive polarity to deal
with RTM sensibly.  Most callers pass in a constant, but callers passing in a
hardware %dr6 value need to xor the value with X86_DR6_DEFAULT to flip the
polarity of RTM and reserved fields.

For PV guests, move the ad-hoc updating of %dr6 into pv_inject_event().  This
in principle breaks the handing of RTM in do_debug(), but PV guests can't
actually enable MSR_DEBUGCTL.RTM yet, so this doesn't matter in practice.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
[ jinoh: Rebase onto staging, forward declare struct vcpu ]
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tim Deegan <tim@xen.org>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Alexandru Isaila <aisaila@bitdefender.com>
CC: Petre Pircalabu <ppircalabu@bitdefender.com>

v1 -> v2: [S-o-b fixes. More details below.]

- Update DR6 for gdbsx when trapped in PV guest kernel mode
---
 xen/arch/x86/hvm/emulate.c             |  3 ++-
 xen/arch/x86/hvm/hvm.c                 |  2 +-
 xen/arch/x86/hvm/svm/svm.c             |  9 ++++++---
 xen/arch/x86/hvm/vmx/vmx.c             | 13 ++++++++-----
 xen/arch/x86/include/asm/debugreg.h    |  3 +++
 xen/arch/x86/include/asm/domain.h      | 12 ++++++++++++
 xen/arch/x86/include/asm/hvm/hvm.h     | 15 ++++++++++++++-
 xen/arch/x86/mm/shadow/multi.c         |  5 +++--
 xen/arch/x86/pv/emul-priv-op.c         | 11 +++++------
 xen/arch/x86/pv/emulate.c              |  6 ++----
 xen/arch/x86/pv/ro-page-fault.c        |  3 ++-
 xen/arch/x86/pv/traps.c                | 16 ++++++++++++----
 xen/arch/x86/traps.c                   | 10 +++++-----
 xen/arch/x86/x86_emulate/x86_emulate.h |  5 ++++-
 14 files changed, 79 insertions(+), 34 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 9b6e4c8bc6..129403ad90 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -16,6 +16,7 @@
 #include <xen/paging.h>
 #include <xen/trace.h>
 #include <xen/vm_event.h>
+#include <asm/debugreg.h>
 #include <asm/event.h>
 #include <asm/i387.h>
 #include <asm/xstate.h>
@@ -2673,7 +2674,7 @@ static int _hvm_emulate_one(struct hvm_emulate_ctxt *hvmemul_ctxt,
     }
 
     if ( hvmemul_ctxt->ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 
     new_intr_shadow = hvmemul_ctxt->intr_shadow;
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index c726947ccb..f795ef9bc7 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3234,7 +3234,7 @@ void hvm_task_switch(
     }
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BT);
 
  out:
     hvm_unmap_entry(optss_desc);
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index beb076ea8d..3d0402cb10 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -96,7 +96,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm.svm.vmcb->int_stat.intr_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 }
 
 static void cf_check svm_cpu_down(void)
@@ -2755,7 +2755,10 @@ void svm_vmexit_handler(void)
                 goto unexpected_exit_type;
             if ( !rc )
                 hvm_inject_exception(X86_EXC_DB,
-                                     trap_type, insn_len, X86_EVENT_NO_EC);
+                                     trap_type, insn_len, X86_EVENT_NO_EC,
+                                     exit_reason == VMEXIT_ICEBP ? 0 :
+                                     /* #DB - Hardware already updated dr6. */
+                                     vmcb_get_dr6(vmcb) ^ X86_DR6_DEFAULT);
         }
         else
             domain_pause_for_debugger();
@@ -2785,7 +2788,7 @@ void svm_vmexit_handler(void)
            if ( !rc )
                hvm_inject_exception(X86_EXC_BP,
                                     X86_EVENTTYPE_SW_EXCEPTION,
-                                    insn_len, X86_EVENT_NO_EC);
+                                    insn_len, X86_EVENT_NO_EC, 0 /* N/A */);
         }
         break;
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1edc7f1e91..9c92d2be92 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3068,7 +3068,7 @@ void update_guest_eip(void)
     }
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 }
 
 static void cf_check vmx_fpu_dirty_intercept(void)
@@ -3911,7 +3911,7 @@ static int vmx_handle_eoi_write(void)
  * It is the callers responsibility to ensure that this function is only used
  * in the context of an appropriate vmexit.
  */
-static void vmx_propagate_intr(unsigned long intr)
+static void vmx_propagate_intr(unsigned long intr, unsigned long pending_dbg)
 {
     struct x86_event event = {
         .vector = MASK_EXTR(intr, INTR_INFO_VECTOR_MASK),
@@ -3935,6 +3935,9 @@ static void vmx_propagate_intr(unsigned long intr)
     else
         event.insn_len = 0;
 
+    if ( event.vector == X86_EXC_DB )
+        event.pending_dbg = pending_dbg;
+
     hvm_inject_event(&event);
 }
 
@@ -4300,7 +4303,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 if ( rc < 0 )
                     goto exit_and_crash;
                 if ( !rc )
-                    vmx_propagate_intr(intr_info);
+                    vmx_propagate_intr(intr_info, exit_qualification);
             }
             else
                 domain_pause_for_debugger();
@@ -4321,7 +4324,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 if ( rc < 0 )
                     goto exit_and_crash;
                 if ( !rc )
-                    vmx_propagate_intr(intr_info);
+                    vmx_propagate_intr(intr_info, 0 /* N/A */);
             }
             else
             {
@@ -4361,7 +4364,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             break;
         case X86_EXC_AC:
             HVMTRACE_1D(TRAP, vector);
-            vmx_propagate_intr(intr_info);
+            vmx_propagate_intr(intr_info, 0 /* N/A */);
             break;
         case X86_EXC_NMI:
             if ( MASK_EXTR(intr_info, INTR_INFO_INTR_TYPE_MASK) !=
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 74344555d2..f83b1b96ec 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -75,6 +75,9 @@
     asm volatile ( "mov %%db" #reg ",%0" : "=r" (__val) );  \
     __val;                                                  \
 })
+
+struct vcpu;
+
 long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
 void activate_debugregs(const struct vcpu *);
 
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index c2d9fc333b..eba11adf33 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -729,6 +729,18 @@ static inline void pv_inject_hw_exception(unsigned int vector, int errcode)
     pv_inject_event(&event);
 }
 
+static inline void pv_inject_debug_exn(unsigned long pending_dbg)
+{
+    struct x86_event event = {
+        .vector      = X86_EXC_DB,
+        .type        = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code  = X86_EVENT_NO_EC,
+        .pending_dbg = pending_dbg,
+    };
+
+    pv_inject_event(&event);
+}
+
 static inline void pv_inject_page_fault(int errcode, unsigned long cr2)
 {
     const struct x86_event event = {
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 6d53713fc3..43989f1681 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -503,13 +503,14 @@ hvm_get_cpl(struct vcpu *v)
 
 static inline void hvm_inject_exception(
     unsigned int vector, unsigned int type,
-    unsigned int insn_len, int error_code)
+    unsigned int insn_len, int error_code, unsigned long extra)
 {
     struct x86_event event = {
         .vector = vector,
         .type = type,
         .insn_len = insn_len,
         .error_code = error_code,
+        .cr2 = extra, /* Any union field will do. */
     };
 
     hvm_inject_event(&event);
@@ -526,6 +527,18 @@ static inline void hvm_inject_hw_exception(unsigned int vector, int errcode)
     hvm_inject_event(&event);
 }
 
+static inline void hvm_inject_debug_exn(unsigned long pending_dbg)
+{
+    struct x86_event event = {
+        .vector      = X86_EXC_DB,
+        .type        = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code  = X86_EVENT_NO_EC,
+        .pending_dbg = pending_dbg,
+    };
+
+    hvm_inject_event(&event);
+}
+
 static inline void hvm_inject_page_fault(int errcode, unsigned long cr2)
 {
     struct x86_event event = {
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index cf74fdf5dd..6056626912 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -15,6 +15,7 @@
 #include <xen/perfc.h>
 #include <xen/domain_page.h>
 #include <xen/iocap.h>
+#include <asm/debugreg.h>
 #include <xsm/xsm.h>
 #include <asm/page.h>
 #include <asm/current.h>
@@ -2788,7 +2789,7 @@ static int cf_check sh_page_fault(
 #endif
 
     if ( emul_ctxt.ctxt.retire.singlestep )
-        hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+        hvm_inject_debug_exn(X86_DR6_BS);
 
 #if GUEST_PAGING_LEVELS == 3 /* PAE guest */
     /*
@@ -2829,7 +2830,7 @@ static int cf_check sh_page_fault(
                 TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_EMULATION_LAST_FAILED);
 
                 if ( emul_ctxt.ctxt.retire.singlestep )
-                    hvm_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+                    hvm_inject_debug_exn(X86_DR6_BS);
 
                 break; /* Don't emulate again if we failed! */
             }
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 142bc4818c..72d0514e74 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -1360,12 +1360,11 @@ int pv_emulate_privileged_op(struct cpu_user_regs *regs)
     case X86EMUL_OKAY:
         if ( ctxt.ctxt.retire.singlestep )
             ctxt.bpmatch |= DR_STEP;
-        if ( ctxt.bpmatch )
-        {
-            curr->arch.dr6 |= ctxt.bpmatch | DR_STATUS_RESERVED_ONE;
-            if ( !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
-                pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-        }
+
+        if ( ctxt.bpmatch &&
+             !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
+            pv_inject_debug_exn(ctxt.bpmatch);
+
         /* fall through */
     case X86EMUL_RETRY:
         return EXCRET_fault_fixed;
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index e7a1c0a2cc..aa8af96c30 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -71,11 +71,9 @@ void pv_emul_instruction_done(struct cpu_user_regs *regs, unsigned long rip)
 {
     regs->rip = rip;
     regs->eflags &= ~X86_EFLAGS_RF;
+
     if ( regs->eflags & X86_EFLAGS_TF )
-    {
-        current->arch.dr6 |= DR_STEP | DR_STATUS_RESERVED_ONE;
-        pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
-    }
+        pv_inject_debug_exn(X86_DR6_BS);
 }
 
 uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index cad28ef928..50c37fbd25 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -9,6 +9,7 @@
  */
 
 #include <asm/pv/trace.h>
+#include <asm/debugreg.h>
 #include <asm/shadow.h>
 
 #include "emulate.h"
@@ -390,7 +391,7 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
         /* Fallthrough */
     case X86EMUL_OKAY:
         if ( ctxt.retire.singlestep )
-            pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+            pv_inject_debug_exn(X86_DR6_BS);
 
         /* Fallthrough */
     case X86EMUL_RETRY:
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 74f333da7e..4f5641a47c 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -13,6 +13,7 @@
 #include <xen/softirq.h>
 
 #include <asm/pv/trace.h>
+#include <asm/debugreg.h>
 #include <asm/shared.h>
 #include <asm/traps.h>
 #include <irq_vectors.h>
@@ -50,9 +51,9 @@ void pv_inject_event(const struct x86_event *event)
     tb->cs    = ti->cs;
     tb->eip   = ti->address;
 
-    if ( event->type == X86_EVENTTYPE_HW_EXCEPTION &&
-         vector == X86_EXC_PF )
+    switch ( vector | -(event->type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
+    case X86_EXC_PF:
         curr->arch.pv.ctrlreg[2] = event->cr2;
         arch_set_cr2(curr, event->cr2);
 
@@ -62,9 +63,16 @@ void pv_inject_event(const struct x86_event *event)
             error_code |= PFEC_user_mode;
 
         trace_pv_page_fault(event->cr2, error_code);
-    }
-    else
+        break;
+
+    case X86_EXC_DB:
+        curr->arch.dr6 |= event->pending_dbg;
+        /* Fallthrough */
+
+    default:
         trace_pv_trap(vector, regs->rip, use_error_code, error_code);
+        break;
+    }
 
     if ( use_error_code )
     {
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index a898e1f2d7..e2acfbcb9e 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1989,17 +1989,17 @@ void do_debug(struct cpu_user_regs *regs)
         return;
     }
 
-    /* Save debug status register where guest OS can peek at it */
-    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
-    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
-
     if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
     {
+        /* Save debug status register where gdbsx can peek at it */
+        v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
+        v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
+
         domain_pause_for_debugger();
         return;
     }
 
-    pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
+    pv_inject_debug_exn(dr6 ^ X86_DR6_DEFAULT);
 }
 
 void do_entry_CP(struct cpu_user_regs *regs)
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 698750267a..e348e3c1d3 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -78,7 +78,10 @@ struct x86_event {
     uint8_t       type;         /* X86_EVENTTYPE_* */
     uint8_t       insn_len;     /* Instruction length */
     int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
-    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
+    union {
+        unsigned long cr2;         /* #PF */
+        unsigned long pending_dbg; /* #DB (new DR6 bits, positive polarity) */
+    };
 };
 
 /*
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:26:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:26:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590157.922286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCDy-0004rF-HA; Thu, 24 Aug 2023 15:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590157.922286; Thu, 24 Aug 2023 15:26: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 1qZCDy-0004r8-EG; Thu, 24 Aug 2023 15:26:18 +0000
Received: by outflank-mailman (input) for mailman id 590157;
 Thu, 24 Aug 2023 15:26: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=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCDw-0003YM-VU
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:16 +0000
Received: from mail-il1-x134.google.com (mail-il1-x134.google.com
 [2607:f8b0:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90d33c80-4292-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 17:26:16 +0200 (CEST)
Received: by mail-il1-x134.google.com with SMTP id
 e9e14a558f8ab-34ccc0fca24so4727925ab.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:16 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 m18-20020a637d52000000b005649cee408fsm11863127pgn.0.2023.08.24.08.26.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:26: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: 90d33c80-4292-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890775; x=1693495575;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vgODJfRd0WTA80cEHsA/Uei6Ucfv+7jDUWTjhPEHYEY=;
        b=V9Mut+eWNrbusHaXrSW3IBQzjPDbvaN12ZQeghmoojU+Wq5YIx4NX8GO+TBBY5oZQi
         9IC0WGmkUTErFhjE1By09drVvFcdwpym2TEv06MBFdE5ZHBmCy04Q1euUgbG/F907Wde
         fYN0CZ0bN2bf7FZpHkgBUWz1oNgHdNF+S3gRKsL59yfASm9r30oZvx98MxMk03bKIU3u
         QkSBmf+OVFCXSjWlGdO+90cTvat3bNshbBuWQdQci2YBXPYi1o45F9O+eSD25b4HZa2Q
         6yOxXyuRBa5O2Azafk/T4YaR0gdIjjujFVwEuNoQeTjnXXz69SXaiqK57PCQc3Cn+UHi
         +gsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890775; x=1693495575;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vgODJfRd0WTA80cEHsA/Uei6Ucfv+7jDUWTjhPEHYEY=;
        b=OA5LjH7nKS5Cvtr6LvZI9tC7Ejddo8XMT+VkVQhDpZmnt3zwS2QxTy9YntJ1cIh2iU
         sboyF+w9TNxtZ3q4fgE23zN8fYtpKOo743XbLGB0dkmKoMsMU5IspmvhgzQkHUp8y6oL
         j6dNsXRfIOwFxkRyZKnaHdIE53Y+Bd98M0eB94oHuKJ2hvSrTQbB5nxT8LIjoKc/EaZr
         8+OJbZZ/xmjLJkJxVj6Gy2jtKmU+KlNfkbavkET1pyoJBaAHlSLFd5jSJ2eHpRenY1ge
         BTVsdNuF1esT1u7RM/BEUl8ZIJXGu02cLB/jkiB2nenIp+1utkDh+jUDh9J8DRbhQ1Ia
         +FHQ==
X-Gm-Message-State: AOJu0YzVPfRxzXEqLPacvN9PDWRiH16s/LqYRD6Vgob/JnfGPNa7+QpA
	qNOCT0eQwxrqnPNkgHtXQV8=
X-Google-Smtp-Source: AGHT+IGGOXDXITvzOdxZ911GZnrTySvGsqemh4y+P88ZuZ+YrUvKWCCDs8MH383ZWCDCH1F2FT+8rQ==
X-Received: by 2002:a05:6e02:13c1:b0:349:2bab:9e47 with SMTP id v1-20020a056e0213c100b003492bab9e47mr5308874ilj.12.1692890775177;
        Thu, 24 Aug 2023 08:26:15 -0700 (PDT)
Message-ID: <4d1605ff-fce9-1b31-5ea5-e297093dce63@gmail.com>
Date: Fri, 25 Aug 2023 00:26:09 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 4/8] x86/emul: Populate pending_dbg field of x86_event from
 {svm,vmx}_get_pending_event()
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, 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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ensure that we pass the correct pending_dbg value to
hvm_monitor_interrupt().

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Alexandru Isaila <aisaila@bitdefender.com>
CC: Petre Pircalabu <ppircalabu@bitdefender.com>

v1 -> v2: new patch
---
 xen/arch/x86/hvm/svm/svm.c | 8 ++++++++
 xen/arch/x86/hvm/vmx/vmx.c | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 3d0402cb10..038c8d6e7e 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2422,6 +2422,14 @@ static bool cf_check svm_get_pending_event(
     info->type = vmcb->event_inj.type;
     info->error_code = vmcb->event_inj.ec;
 
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_DB )
+    {
+        unsigned long dr6 = v->arch.hvm.flag_dr_dirty ?
+                            vmcb_get_dr6(vmcb) : v->arch.dr6;
+        info->pending_dbg = dr6 ^ X86_DR6_DEFAULT;
+    }
+
     return true;
 }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 9c92d2be92..9b59374258 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2469,6 +2469,14 @@ static bool cf_check vmx_get_pending_event(
     info->type = MASK_EXTR(intr_info, INTR_INFO_INTR_TYPE_MASK);
     info->error_code = error_code;
 
+    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+         info->vector == X86_EXC_DB )
+    {
+        unsigned long dr6 = v->arch.hvm.flag_dr_dirty ?
+                            read_debugreg(6) : v->arch.dr6;
+        info->pending_dbg = dr6 ^ X86_DR6_DEFAULT;
+    }
+
     return true;
 }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:26:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590159.922295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCE4-0005DB-T2; Thu, 24 Aug 2023 15:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590159.922295; Thu, 24 Aug 2023 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 1qZCE4-0005D4-QB; Thu, 24 Aug 2023 15:26:24 +0000
Received: by outflank-mailman (input) for mailman id 590159;
 Thu, 24 Aug 2023 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=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCE3-0003YM-Dz
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:23 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94389f11-4292-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 17:26:22 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bf1935f6c2so144495ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:22 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 c11-20020a170902724b00b001b246dcffb7sm12799696pll.300.2023.08.24.08.26.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:26: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: 94389f11-4292-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890781; x=1693495581;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9XIsD63nwOYvc2cHhq596WUI00NwwdJtSTq9islJ9GA=;
        b=XIjQiD+mRfYMkiDvLFz9qug3HwfIw8pKDR1PbI5kTnkp0ZhN/uZFYVLTTiQ9hu3dwM
         0VkyPHun2V5x/OR+x6qCq7ABA42HgBTMJTilp5PhhMvOBZq7vX1S2X0vYxT761TUSREW
         0zpefhxvTj0SUTQL5rzgXh9EvYnpSnPl7bTQETTSVpZM5jmaKQHJMHWbPNoG9u06MCcm
         wkTxlNFNzgjMTqVNIeJ74K+La2sp46QxDLeuqfTdChqomVUvzcVXRes4ptbLAVlTT8PF
         U4/fY4RaHIVEgNjP38jV+t8uOOTKO4ehPnUfkACc2UfQNZK/6QuhgIvcxUrutnaX2Ro7
         ROig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890781; x=1693495581;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9XIsD63nwOYvc2cHhq596WUI00NwwdJtSTq9islJ9GA=;
        b=jblZIHTWWim5bmb4tOhIsCWYU2rSQKdEkcvczdVFzGLh+Cnr/x4FNkxglgbX5Fwf3J
         ucS+wVGdm6R0ONtAy1Oig5FjL5bnHvNh2O2Xk9JADUiXlTE3NySYOq2QCOOXzGt3nNQS
         i5yCvH1RK4RsG5K8jLxitqlQqh826XHjEzPaaa+MSJTvPHoEy+REK0Jpy4Nrzw92b6Cl
         Tx8v+GKVqWhm87RBrN7CQSHr7GF52mLEHOSxtOY2L+kulaMcuwLMh7Kru7123chOhVWl
         I8q4TQ3+EEzJbs1lHyvVXF+cfPxDcQt2eWdAFZRsd+mfvvV4kInOdAfamqGDtQDDwO0J
         piiA==
X-Gm-Message-State: AOJu0YxXr7JJOsKIbM6eH3Pjh8KI6c3AU9rfT42nIWaARCAygIAkDF+z
	2YRh6yAnjLevEmdLggBtaBk=
X-Google-Smtp-Source: AGHT+IGxEBSYrq4hzPD/hY9Y+bRa7puqsL8n/2nYyhbIo31TA+CCStW6VGuCqDFo8AVVKGFXHsHbaw==
X-Received: by 2002:a17:902:e74b:b0:1bd:c32e:df59 with SMTP id p11-20020a170902e74b00b001bdc32edf59mr25309734plf.9.1692890780855;
        Thu, 24 Aug 2023 08:26:20 -0700 (PDT)
Message-ID: <dd3fcb84-399b-945b-bd4b-4bf5ce75450e@gmail.com>
Date: Fri, 25 Aug 2023 00:26:15 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 5/8] x86: Don't assume #DB is always caused by singlestep
 if EFLAGS.TF is set
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, 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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Today, when a HVM (or PVH) guest triggers a hardware breakpoint while
EFLAGS.TF is set, Xen incorrectly assumes that this is a single stepping
exception and sets X86_DR6_BS in dr6 in addition to X86_DR6_B<n>.

This causes problems with Linux HW breakpoint handler, which ignores
X86_DR6_B<n> bits when X86_DR6_BS is set.  This prevents user-mode
debuggers from recognizing hardware breakpoints if EFLAGS.TF is set.

Fix this by not setting X86_DR6_BS in {vmx,svm}_inject_event, unless the
emulator explicitly signals the single-stepping mode via the
'pending_dbg' field of struct x86_event.

While we're at it, defer setting guest DR6 from vmx_vmexit_handler() to
vmx_inject_event() on Intel hardware.  This gives the monitor a chance
to modify the pending_dbg flags before it is applied to guest DR6.

Fixes: 8b831f4189 ("x86: single step after instruction emulation")
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Alexandru Isaila <aisaila@bitdefender.com>
CC: Petre Pircalabu <ppircalabu@bitdefender.com>

v1 -> v2: new patch

The next patch in series adds the explanation for DR6 setting behavior
in the form of comments.  These comments are from Andrew Cooper's patch
"x86/hvm: RFC - PROBABLY BROKEN - Defer all debugging/monitor actions to
{svm,vmx}_inject_event()", which I split out because I was unsure about
how to handle authorship.  The comments are reproduced below:

> On AMD hardware, a #DB exception:
>  1) Merges new status bits into %dr6
>  2) Clears %dr7.gd and MSR_DEBUGCTL.{LBR,BTF}
>
> Item 1 is done by hardware before a #DB intercepted vmexit, but we
> may end up here from monitor so have to repeat it ourselves.
> Item 2 is done by hardware when injecting a #DB exception.

> On Intel hardware, a #DB exception:
>  1) Merges new status bits into %dr6
>  2) Clears %dr7.gd and MSR_DEBUGCTL.LBR
>
> All actions are left up to the hypervisor to perform.
---
 xen/arch/x86/hvm/svm/svm.c |  8 +++-----
 xen/arch/x86/hvm/vmx/vmx.c | 14 +++-----------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 038c8d6e7e..6f3e6b3512 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1328,11 +1328,9 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( regs->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(vmcb, curr);
-            vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | DR_STEP);
-        }
+        __restore_debug_registers(vmcb, curr);
+        vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | _event.pending_dbg);
+
         /* fall through */
     case X86_EXC_BP:
         if ( curr->domain->debugger_attached )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 9b59374258..4e20fca43e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2022,11 +2022,9 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
-        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(curr);
-            write_debugreg(6, read_debugreg(6) | DR_STEP);
-        }
+        __restore_debug_registers(curr);
+        write_debugreg(6, read_debugreg(6) | event->pending_dbg);
+
         if ( !nestedhvm_vcpu_in_guestmode(curr) ||
              !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
         {
@@ -4250,14 +4248,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         switch ( vector )
         {
         case X86_EXC_DB:
-            /*
-             * Updates DR6 where debugger can peek (See 3B 23.2.1,
-             * Table 23-1, "Exit Qualification for Debug Exceptions").
-             */
             __vmread(EXIT_QUALIFICATION, &exit_qualification);
             HVMTRACE_1D(TRAP_DEBUG, exit_qualification);
-            __restore_debug_registers(v);
-            write_debugreg(6, exit_qualification | DR_STATUS_RESERVED_ONE);
 
             /*
              * Work around SingleStep + STI/MovSS VMEntry failures.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:26:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590160.922305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCE8-0005WD-4f; Thu, 24 Aug 2023 15:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590160.922305; Thu, 24 Aug 2023 15: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 1qZCE8-0005W6-1L; Thu, 24 Aug 2023 15:26:28 +0000
Received: by outflank-mailman (input) for mailman id 590160;
 Thu, 24 Aug 2023 15: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=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCE6-0003YG-Fs
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:26 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 954262fd-4292-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 17:26:24 +0200 (CEST)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-1bf5c314a57so171655ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:24 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 x4-20020a1709029a4400b001a98f844e60sm12941605plv.263.2023.08.24.08.26.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08: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: 954262fd-4292-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890783; x=1693495583;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wzi+JYr5WPzOXWq+l4Lu0TIE7ypUPkygPuyA0iL/h6I=;
        b=Ie3CBszxWpKRGd0EvdO7J55YkL19yOhmnZgyOfSju8wGTPIOvhn13wGXJWOm4fGxZj
         3bf212pFoyp9el6Irtb/hIkOPmxDKdTX/vmK/yNKikpIqqODDgIaL6I6m6WvqwNMc/hY
         VYyml2/wulhB/U7j05iAqoxRYeSb5wrRUQRGvulmFHtZXaTZgcSkLrtzn5d7thTnX2qG
         Agl4jhxUtnMwyaeOSrn9bPa3akWPd2zORqei6B1F7xrbeFIpHMGQ4xddLfsewgXz3OnM
         /6AjAw9zdweVgPw8pybbVLM+LbdbY3dECOphtYfF6KT+WwqEVMy6KiDhZcVadfsims4y
         Lz7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890783; x=1693495583;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wzi+JYr5WPzOXWq+l4Lu0TIE7ypUPkygPuyA0iL/h6I=;
        b=SJDDBjMbRIRB2aNYabG5fPDA8ieAACmTfX53vS/HpoNb5RBCj4ttCZVfd/MWwJbdsN
         r5eXcESzvEoqVWc0zrW+7/v2OsorxdUYe2CpcwiKMkPt7Ib5xP6Tf447OMh+B2scpUnm
         FfP2CwvRDZIsJUAmURfHspFyfrBs2yYw5/2JP2oyviyo86gJJH15QoKmvwichLi0xiJ4
         IZDNfWq2brRsZmrgWQgo6W2RnR2Pr4N7EDSw7lzaqOocErdSBsMZeGyt63PxAY5tGPxU
         obkQ4qQYkBziN5VmBuQTAmN207H2C1C8cu/TtB+ocffncWHmrY+f8hC1YpWsSmPkQAtX
         UVSA==
X-Gm-Message-State: AOJu0YxwKdqIdP7HJX5iKANYRxOkWP+B2dFYQtDV30iY5UyXqHwUIzZp
	ZzsjFXiycYgE+V5Q9ufDYA8=
X-Google-Smtp-Source: AGHT+IFEcRokbXF2jszjQYgc9by9trrhuGvVaZtxbz3rjCL8bEw2D7mw/E2y54sMWpk4vJibd/VwRw==
X-Received: by 2002:a17:902:c94e:b0:1c0:b17a:7554 with SMTP id i14-20020a170902c94e00b001c0b17a7554mr4582279pla.64.1692890783265;
        Thu, 24 Aug 2023 08:26:23 -0700 (PDT)
Message-ID: <91fe0227-e2c7-f103-44e9-e70ea5ae007d@gmail.com>
Date: Fri, 25 Aug 2023 00:26:19 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 6/8] x86/hvm: Add comments about #DB exception behavior to
 {svm,vmx}_inject_event()
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, 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: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Extracted comments only, and then s/from emulation/from monitor/;
originally "x86/hvm: RFC - PROBABLY BROKEN - Defer all debugging/monitor
actions to {svm,vmx}_inject_event()"

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

v1 -> v2: new patch
---
 xen/arch/x86/hvm/svm/svm.c | 9 +++++++++
 xen/arch/x86/hvm/vmx/vmx.c | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 6f3e6b3512..7bb572e72b 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1328,6 +1328,15 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
+        /*
+         * On AMD hardware, a #DB exception:
+         *  1) Merges new status bits into %dr6
+         *  2) Clears %dr7.gd and MSR_DEBUGCTL.{LBR,BTF}
+         *
+         * Item 1 is done by hardware before a #DB intercepted vmexit, but we
+         * may end up here from monitor so have to repeat it ourselves.
+         * Item 2 is done by hardware when injecting a #DB exception.
+         */
         __restore_debug_registers(vmcb, curr);
         vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | _event.pending_dbg);
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4e20fca43e..b35278992a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2022,6 +2022,13 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
     {
     case X86_EXC_DB:
+        /*
+         * On Intel hardware, a #DB exception:
+         *  1) Merges new status bits into %dr6
+         *  2) Clears %dr7.gd and MSR_DEBUGCTL.LBR
+         *
+         * All actions are left up to the hypervisor to perform.
+         */
         __restore_debug_registers(curr);
         write_debugreg(6, read_debugreg(6) | event->pending_dbg);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:33:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590194.922321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCL8-0008K0-55; Thu, 24 Aug 2023 15:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590194.922321; Thu, 24 Aug 2023 15:33:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCL8-0008JK-0R; Thu, 24 Aug 2023 15:33:42 +0000
Received: by outflank-mailman (input) for mailman id 590194;
 Thu, 24 Aug 2023 15:33:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCEJ-0003YM-VV
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:39 +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 9e525a6d-4292-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 17:26:39 +0200 (CEST)
Received: by mail-oa1-x29.google.com with SMTP id
 586e51a60fabf-1c4d1274f33so4412027fac.3
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:39 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 gl2-20020a17090b120200b0026b3f76a063sm1735715pjb.44.2023.08.24.08.26.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:26:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e525a6d-4292-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890798; x=1693495598;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=c3yasWEsOzbtqamQXtcf1AnAlMMSzY4rI+7mOlE8sio=;
        b=Bt/5mQABq3gqvQG3RRu7NPiWfWDN243Zud6w45o9lcVYDjbTwxFZBJiG18Y2wDko3d
         Mvt1n06s7lSjccbgGoLU8LqxEW15zCtb9Nd6p1dedyu7g5sjTs+oVDIef47P8GKRieEp
         eHWfJI1CSLFiIakSS0shd/lzD/GTlTtwgdInnBWZuOjeNB66ME0QObU4QwOmtyedFLgR
         l7oyiskF76ZqPc8aQAMEBACqh7Zq1f3M18H63v1kq3p0vCLgiGnILiEnVGmcfNfLWMyS
         bOpa2FQC7HYVL4jwDHYL37SJrn2hoDuwIhiIJEBKEOVWgjjGXseq9PSf9+iLRjTtWElF
         FgkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890798; x=1693495598;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=c3yasWEsOzbtqamQXtcf1AnAlMMSzY4rI+7mOlE8sio=;
        b=Inw3n0MOc2JVMDgnHhe8gcnlNNDbQEGIir5Hw9fuo/LEsGv0iKypyDoSmrqtbf0aBe
         rh95p7aJnBiDT64wzL/+CIpelUcdsVLmxhy+OoHyBfkuMmnbHR6jE3UkU9af3Fo74Cqo
         38zgTdCsr1Qa6hk8CxkmmJw6Wke/9csaF7nPID5n7N3dnn4vHsQl+Dy24VBMWWOzGzpf
         QaPG03+lzjmZCpayKfJFjdbXQp6CXux171Q7dmX+A0nkldGiTHL+RvPEQ21N33pm1bey
         3Y8niSnAa5jbWduCZ5RLAnA0pr69fLwk8zNfiIy+2fqjz7gWxaFRRBamNkkAsMgwRt8P
         7iGA==
X-Gm-Message-State: AOJu0YxsH8YutS6X9gCM/30Yuat9DAAoKVO4NmVYfQ0/k6ZLATEsL6Es
	+7EiwYTIMGFlhyoV4TlkU9k=
X-Google-Smtp-Source: AGHT+IFrkM3/wbFcD/cDrZgMAWrFIqbjiI+5Z8hgmKilG98CbMOCfQ2feVuAqDJiGTuOcvXlRwH3PQ==
X-Received: by 2002:a05:6870:171e:b0:1be:feb0:33fb with SMTP id h30-20020a056870171e00b001befeb033fbmr84033oae.4.1692890797864;
        Thu, 24 Aug 2023 08:26:37 -0700 (PDT)
Message-ID: <d021b32d-51d9-13c4-42a0-2263b29e2aa6@gmail.com>
Date: Fri, 25 Aug 2023 00:26:33 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 8/8] x86/dbg: Cleanup of legacy dr6 constants
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

Replace the few remaining uses with X86_DR6_* constants.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
[ jinoh: Rebase onto staging ]
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>

v1 -> v2: [S-o-b fixes.]
---
 xen/arch/x86/hvm/vmx/vmx.c          |  2 +-
 xen/arch/x86/include/asm/debugreg.h | 20 --------------------
 xen/arch/x86/pv/emul-priv-op.c      |  2 +-
 xen/arch/x86/traps.c                |  2 +-
 4 files changed, 3 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 377f33d632..814f48ce83 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4290,7 +4290,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
                     __vmread(GUEST_PENDING_DBG_EXCEPTIONS, &pending_dbg);
                     __vmwrite(GUEST_PENDING_DBG_EXCEPTIONS,
-                              pending_dbg | DR_STEP);
+                              pending_dbg | X86_DR6_BS);
                 }
             }
 
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 5fdd25d238..edff379d49 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -3,26 +3,6 @@
 
 #include <asm/x86-defns.h>
 
-/* Indicate the register numbers for a number of the specific
-   debug registers.  Registers 0-3 contain the addresses we wish to trap on */
-
-#define DR_FIRSTADDR 0
-#define DR_LASTADDR  3
-#define DR_STATUS    6
-#define DR_CONTROL   7
-
-/* Define a few things for the status register.  We can use this to determine
-   which debugging register was responsible for the trap.  The other bits
-   are either reserved or not of interest to us. */
-
-#define DR_TRAP0        (0x1)           /* db0 */
-#define DR_TRAP1        (0x2)           /* db1 */
-#define DR_TRAP2        (0x4)           /* db2 */
-#define DR_TRAP3        (0x8)           /* db3 */
-#define DR_STEP         (0x4000)        /* single-step */
-#define DR_SWITCH       (0x8000)        /* task switch */
-#define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-
 /* Now define a bunch of things for manipulating the control register.
    The top two bytes of the control register consist of 4 fields of 4
    bits - each field corresponds to one of the four debug registers,
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 72d0514e74..78a1f4aff7 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -1359,7 +1359,7 @@ int pv_emulate_privileged_op(struct cpu_user_regs *regs)
     {
     case X86EMUL_OKAY:
         if ( ctxt.ctxt.retire.singlestep )
-            ctxt.bpmatch |= DR_STEP;
+            ctxt.bpmatch |= X86_DR6_BS;
 
         if ( ctxt.bpmatch &&
              !(curr->arch.pv.trap_bounce.flags & TBF_EXCEPTION) )
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e2acfbcb9e..ae0a4a1c1e 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1955,7 +1955,7 @@ void do_debug(struct cpu_user_regs *regs)
          * If however we do, safety measures need to be enacted.  Use a big
          * hammer and clear all debug settings.
          */
-        if ( dr6 & (DR_TRAP3 | DR_TRAP2 | DR_TRAP1 | DR_TRAP0) )
+        if ( dr6 & X86_DR6_BP_MASK )
         {
             unsigned int bp, dr7 = read_debugreg(7);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:33:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590193.922315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCL7-0008Gu-SY; Thu, 24 Aug 2023 15:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590193.922315; Thu, 24 Aug 2023 15: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 1qZCL7-0008Gn-Q0; Thu, 24 Aug 2023 15:33:41 +0000
Received: by outflank-mailman (input) for mailman id 590193;
 Thu, 24 Aug 2023 15:33:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hMLV=EJ=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qZCEE-0003YM-CC
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:26:34 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b10dffd-4292-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 17:26:33 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-1bf0b24d925so106075ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 08:26:33 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 s14-20020a170902ea0e00b001b891259eddsm7512696plg.197.2023.08.24.08.26.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 08:26:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b10dffd-4292-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1692890792; x=1693495592;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3V/kheUwiQgxdDs0pOrHbflCy4ISDj/iSNuSbONHDx0=;
        b=lFdOlT4U+27qI6wz12JK79ajeEZpRNRip/BCuX91S//QNWgI1oClIYlBvlHYDxDI4W
         FnqWZ/wCIIrYzZqqSLvqUNXZOJQv+2zEWY718yyeDba9SoQGeBILqgV5B0i9jgSxV02Z
         4em9M7dWO32/MYXZP61ahQ0i8Rnw9dqrEIwPalUWfMxZ/t50ch8I8ZDKwhuWVz/dyQn3
         H/rbxW4FclZw1zD5qZh3riu9m2hKW/nclYrmbXNZ4C4tZBmiHe3AQ3VB4I3aCJX+QF17
         J/ccYCRhhck4KbGw4eCe5x0nN5ec28hIMR+FZCTHR99OY4mQGEDAwDQGtd3XPcmsm7Wf
         OhTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692890792; x=1693495592;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:subject:from:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3V/kheUwiQgxdDs0pOrHbflCy4ISDj/iSNuSbONHDx0=;
        b=IUlujP1L852giEGHlHQNvbzYEpkZyMz2Jdz0O1/cEIA3UWMzSumhl7LRTWFT+C5jo6
         XE/4Y8p6GENJBpfRgH4xvJf0eR7Lqq39+/22w9EUzOpEdJioCLZFvUMQYjMh38yD8XjV
         gKPNk9hiJxobpl087DB0082itoU35GIqS+NH17JPd1uSOws5JGpGnXxXeurABkCTZBym
         6Sse6lID0D6v8LrJdnY/VnutdIZ4VVLPErpbj206gdBjBxncLLVzhJVLqHmw54jELDMZ
         Rce34d/QHhbT59QC+wLzYmBCCTtCBH70pI6RAVtAGzVY0kXqtsZ7/Bh+A0HFSHj6+g+4
         xqZg==
X-Gm-Message-State: AOJu0YyKZ3l57uaS8UClAF6qhpXYjYALAopy50vvRctbqsE1HJoYhHFE
	kgeAUOQ24kdquQGu1hmuKz8=
X-Google-Smtp-Source: AGHT+IFJ7Ce2yddh07iVGcGII6LjPfm3vVNPicVwmjyqybG6z+3B8HzDrAYX2thWkugpHOH3dxf4kg==
X-Received: by 2002:a17:90b:1d90:b0:268:414c:ff3 with SMTP id pf16-20020a17090b1d9000b00268414c0ff3mr12472188pjb.23.1692890792247;
        Thu, 24 Aug 2023 08:26:32 -0700 (PDT)
Message-ID: <a21b30b8-7ed8-b5e3-f947-e8abb95ce28a@gmail.com>
Date: Fri, 25 Aug 2023 00:26:28 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: [PATCH v2 7/8] x86: Fix merging of new status bits into %dr6
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, 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: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Language: en-US
In-Reply-To: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andrew Cooper <andrew.cooper3@citrix.com>

The current logic used to update %dr6 when injecting #DB is buggy.  The
architectural behaviour is to overwrite B{0..3} (rather than accumulate) and
accumulate all other bits.

Introduce a new merge_dr6() helper, which also takes care of handing RTM
correctly.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
[ jinoh: Rebase onto staging, move constants to x86-defns.h ]
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

v1 -> v2: [S-o-b fixes.]
---
 xen/arch/x86/hvm/svm/svm.c           |  3 ++-
 xen/arch/x86/hvm/vmx/vmx.c           |  3 ++-
 xen/arch/x86/include/asm/debugreg.h  | 20 +++++++++++++++++++-
 xen/arch/x86/include/asm/x86-defns.h |  6 ++++++
 xen/arch/x86/pv/traps.c              |  3 ++-
 5 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 7bb572e72b..c92b2d7f86 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1338,7 +1338,8 @@ static void cf_check svm_inject_event(const struct x86_event *event)
          * Item 2 is done by hardware when injecting a #DB exception.
          */
         __restore_debug_registers(vmcb, curr);
-        vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | _event.pending_dbg);
+        vmcb_set_dr6(vmcb, merge_dr6(vmcb_get_dr6(vmcb), _event.pending_dbg,
+                                     curr->domain->arch.cpuid->feat.rtm));
 
         /* fall through */
     case X86_EXC_BP:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b35278992a..377f33d632 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2030,7 +2030,8 @@ static void cf_check vmx_inject_event(const struct x86_event *event)
          * All actions are left up to the hypervisor to perform.
          */
         __restore_debug_registers(curr);
-        write_debugreg(6, read_debugreg(6) | event->pending_dbg);
+        write_debugreg(6, merge_dr6(read_debugreg(6), event->pending_dbg,
+                                    curr->domain->arch.cpuid->feat.rtm));
 
         if ( !nestedhvm_vcpu_in_guestmode(curr) ||
              !nvmx_intercepts_exception(curr, X86_EXC_DB, _event.error_code) )
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index f83b1b96ec..5fdd25d238 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -22,7 +22,6 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
    The top two bytes of the control register consist of 4 fields of 4
@@ -89,6 +88,25 @@ static inline unsigned long adjust_dr6_rsvd(unsigned long dr6, bool rtm)
     return dr6;
 }
 
+static inline unsigned long merge_dr6(unsigned long dr6, unsigned long new,
+                                      bool rtm)
+{
+    /* Flip dr6 to have positive polarity. */
+    dr6 ^= X86_DR6_DEFAULT;
+
+    /* Sanity check that only known values are passed in. */
+    ASSERT(!(dr6 & ~X86_DR6_KNOWN_MASK));
+    ASSERT(!(new & ~X86_DR6_KNOWN_MASK));
+
+    /* Breakpoints 0-3 overridden.  BD, BS, BT and RTM accumulate. */
+    dr6 = (dr6 & ~X86_DR6_BP_MASK) | new;
+
+    /* Flip dr6 back to having default polarity. */
+    dr6 ^= X86_DR6_DEFAULT;
+
+    return adjust_dr6_rsvd(dr6, rtm);
+}
+
 static inline unsigned long adjust_dr7_rsvd(unsigned long dr7, bool rtm)
 {
     dr7 |= X86_DR7_MBS;
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index b13ca680c2..6d76d5dcc5 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -118,6 +118,12 @@
 #define X86_DR6_MBS_BASE        (0xfffe0ff0UL)  /* Reserved, read as one   */
 #define X86_DR6_MBS_NO_RTM      (X86_DR6_RTM)   /* - if RTM unavailable    */
 
+#define X86_DR6_BP_MASK                                 \
+    (X86_DR6_B0 | X86_DR6_B1 | X86_DR6_B2 | X86_DR6_B3)
+
+#define X86_DR6_KNOWN_MASK                                              \
+    (X86_DR6_BP_MASK | X86_DR6_BD | X86_DR6_BS | X86_DR6_BT | X86_DR6_RTM)
+
 #define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
 
 /*
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 4f5641a47c..65b41e6115 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -66,7 +66,8 @@ void pv_inject_event(const struct x86_event *event)
         break;
 
     case X86_EXC_DB:
-        curr->arch.dr6 |= event->pending_dbg;
+        curr->arch.dr6 = merge_dr6(curr->arch.dr6, event->pending_dbg,
+                                   curr->domain->arch.cpuid->feat.rtm);
         /* Fallthrough */
 
     default:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 15:41:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 15:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590208.922335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCSO-00022K-TU; Thu, 24 Aug 2023 15:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590208.922335; Thu, 24 Aug 2023 15:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZCSO-00022D-Qo; Thu, 24 Aug 2023 15:41:12 +0000
Received: by outflank-mailman (input) for mailman id 590208;
 Thu, 24 Aug 2023 15:41: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=E907=EJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qZCSN-00020o-Hf
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 15:41:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a563424f-4294-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 17:41:09 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CE83921890;
 Thu, 24 Aug 2023 15:41:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 73115132F2;
 Thu, 24 Aug 2023 15:41:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id LD64GhR652RlSAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 24 Aug 2023 15:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a563424f-4294-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1692891668; 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=9/kOeP6eJirlVSVxrRB3IZ2bMbCx1I/9IzEaeTk09ZY=;
	b=ZUWWuSKuwQ9meA8nLTMoldNyIiDZACendfPRUOtjf6WPvmItGcRWUJ+VznaE+ZqboueGI7
	xG/+V0dZFvSmFec9cbgDOq2KOgAymZl/V0GznId1EPMwLPQxfzqByWyuKBh1LED2epBAlo
	5WNg/bnZ2ElqfFTywJL0yZaHOADhJjg=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Andy Lutomirski <luto@kernel.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>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen: simplify evtchn_do_upcall() call maze
Date: Thu, 24 Aug 2023 17:41:06 +0200
Message-Id: <20230824154106.14799-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are several functions involved for performing the functionality
of evtchn_do_upcall():

- __xen_evtchn_do_upcall() doing the real work
- xen_hvm_evtchn_do_upcall() just being a wrapper for
  __xen_evtchn_do_upcall(), exposed for external callers
- xen_evtchn_do_upcall() calling __xen_evtchn_do_upcall(), too, but
  without any user

Simplify this maze by:

- removing the unused xen_evtchn_do_upcall()
- removing xen_hvm_evtchn_do_upcall() as the only left caller of
  __xen_evtchn_do_upcall(), while renaming __xen_evtchn_do_upcall() to
  xen_evtchn_do_upcall()

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/entry/common.c          |  2 +-
 arch/x86/xen/enlighten.c         |  2 +-
 arch/x86/xen/enlighten_hvm.c     |  2 +-
 drivers/xen/events/events_base.c | 21 ++-------------------
 drivers/xen/platform-pci.c       |  2 +-
 include/xen/events.h             |  3 +--
 6 files changed, 7 insertions(+), 25 deletions(-)

diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
index 6c2826417b33..93c60c0c9d4a 100644
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -294,7 +294,7 @@ static void __xen_pv_evtchn_do_upcall(struct pt_regs *regs)
 
 	inc_irq_stat(irq_hv_callback_count);
 
-	xen_hvm_evtchn_do_upcall();
+	xen_evtchn_do_upcall();
 
 	set_irq_regs(old_regs);
 }
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index b8db2148c07d..0337392a3121 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -32,7 +32,7 @@ EXPORT_SYMBOL_GPL(hypercall_page);
  * &HYPERVISOR_shared_info->vcpu_info[cpu]. See xen_hvm_init_shared_info
  * and xen_vcpu_setup for details. By default it points to share_info->vcpu_info
  * but during boot it is switched to point to xen_vcpu_info.
- * The pointer is used in __xen_evtchn_do_upcall to acknowledge pending events.
+ * The pointer is used in xen_evtchn_do_upcall to acknowledge pending events.
  */
 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu);
 DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info);
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index a6820ca940bf..fbf37ae825bf 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -136,7 +136,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_xen_hvm_callback)
 
 	inc_irq_stat(irq_hv_callback_count);
 
-	xen_hvm_evtchn_do_upcall();
+	xen_evtchn_do_upcall();
 
 	set_irq_regs(old_regs);
 }
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 3bdd5b59661d..0bb86e6c4d0a 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1704,7 +1704,7 @@ void handle_irq_for_port(evtchn_port_t port, struct evtchn_loop_ctrl *ctrl)
 	generic_handle_irq(irq);
 }
 
-static int __xen_evtchn_do_upcall(void)
+int xen_evtchn_do_upcall(void)
 {
 	struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu);
 	int ret = vcpu_info->evtchn_upcall_pending ? IRQ_HANDLED : IRQ_NONE;
@@ -1735,24 +1735,7 @@ static int __xen_evtchn_do_upcall(void)
 
 	return ret;
 }
-
-void xen_evtchn_do_upcall(struct pt_regs *regs)
-{
-	struct pt_regs *old_regs = set_irq_regs(regs);
-
-	irq_enter();
-
-	__xen_evtchn_do_upcall();
-
-	irq_exit();
-	set_irq_regs(old_regs);
-}
-
-int xen_hvm_evtchn_do_upcall(void)
-{
-	return __xen_evtchn_do_upcall();
-}
-EXPORT_SYMBOL_GPL(xen_hvm_evtchn_do_upcall);
+EXPORT_SYMBOL_GPL(xen_evtchn_do_upcall);
 
 /* Rebind a new event channel to an existing irq. */
 void rebind_evtchn_irq(evtchn_port_t evtchn, int irq)
diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
index fcc819131572..544d3f9010b9 100644
--- a/drivers/xen/platform-pci.c
+++ b/drivers/xen/platform-pci.c
@@ -64,7 +64,7 @@ static uint64_t get_callback_via(struct pci_dev *pdev)
 
 static irqreturn_t do_hvm_evtchn_intr(int irq, void *dev_id)
 {
-	return xen_hvm_evtchn_do_upcall();
+	return xen_evtchn_do_upcall();
 }
 
 static int xen_allocate_irq(struct pci_dev *pdev)
diff --git a/include/xen/events.h b/include/xen/events.h
index 95970a2f7695..8f62d15eef90 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -106,8 +106,7 @@ int irq_from_virq(unsigned int cpu, unsigned int virq);
 evtchn_port_t evtchn_from_irq(unsigned irq);
 
 int xen_set_callback_via(uint64_t via);
-void xen_evtchn_do_upcall(struct pt_regs *regs);
-int xen_hvm_evtchn_do_upcall(void);
+int xen_evtchn_do_upcall(void);
 
 /* Bind a pirq for a physical interrupt to an irq. */
 int xen_bind_pirq_gsi_to_irq(unsigned gsi,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 16:35:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 16:35:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590217.922346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZDIS-0000KJ-Rm; Thu, 24 Aug 2023 16:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590217.922346; Thu, 24 Aug 2023 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 1qZDIS-0000KC-Oj; Thu, 24 Aug 2023 16:35:00 +0000
Received: by outflank-mailman (input) for mailman id 590217;
 Thu, 24 Aug 2023 16:35:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IVrA=EJ=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qZDIS-0000K5-2R
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 16:35:00 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 299d1b07-429c-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 18:34:57 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-3fefe898f76so137125e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 09:34:57 -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
 l5-20020a1ced05000000b003fc01495383sm3120768wmh.6.2023.08.24.09.34.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 09:34: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: 299d1b07-429c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692894897; x=1693499697;
        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=nqD2hIw+B/KywsnCEYrScdBEa8E5/Z/aFGnNFQb0ubQ=;
        b=Cru2GD31uMvxI4uQjM6iyCXm7rqpxMnzGbIc4TxCzxHFxdzi5/sgxxCmo96klMOYrr
         zFCK3aPXL/AnusLagga5MCGyoSzT82fyU8raRWqEILLzMnsNfWgQzmh737+7JeUsBah8
         vvrgsBFMxUyCQHScjdCpQKTsMJ1GVbSU8+A/Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692894897; x=1693499697;
        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=nqD2hIw+B/KywsnCEYrScdBEa8E5/Z/aFGnNFQb0ubQ=;
        b=NbW5x6Y1A2JMeDJtXY+aaG0/DHG2tbpu/cvF8WOiJCQQGB5yfXoxjk6zZixSt4bUx0
         olITCYYvnFODnHvxetNCcaOxClgRVloZupHuerGufRnnEAO0qqHMjeduQ23Ph7dzf81H
         cBisHm0W6Q3mLLFBeS0mBl7Krl02Q8hWfH7qG8+H1SDAC5gGwLtfNeWgkYwRAs2FOfhS
         iy9wRuH9mwS94/c5TiruVF81GTmT6mZ2PW3P190Y3nZOXjccgZJB4vLF92erIi6s9vvp
         rWuZUCWWvmPhF35iu3+wmZeQTDiwligt0T4GUsK+DOrKtuN1ZkHXZB9li13fwdDwXtgY
         oZ+w==
X-Gm-Message-State: AOJu0Yx5+hWlwNSWKDNMcPn+yQ/kSXo0QWRYLBE/TN2DjC2AzQqDFajX
	nMZVhy3QeMdq8XqEQqd0vzqMSQ==
X-Google-Smtp-Source: AGHT+IFUuEOKIcMWGVfTOxfCEmMIOLzlY/ywH859ib0+fct/aNzZotvbFoMIxovYTKXRef1TNIu/2w==
X-Received: by 2002:adf:e7cd:0:b0:30e:19a8:4b0a with SMTP id e13-20020adfe7cd000000b0030e19a84b0amr12094532wrn.2.1692894897115;
        Thu, 24 Aug 2023 09:34:57 -0700 (PDT)
Date: Thu, 24 Aug 2023 17:34:55 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach
 for HVM domain
Message-ID: <656761cd-22ba-4edb-b7a1-bc08f672243a@perard>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
 <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>

On Thu, Aug 24, 2023 at 12:15:39PM +0100, Julien Grall wrote:
> On 18/08/2023 18:04, Anthony PERARD wrote:
> > So, this new pci_revoke_permissions() function been place before
> > do_pci_remove() will make it harder to follow what do_pci_remove() does.
> > Does it need to be a separate function? Can't you inline it in
> > pci_remove_detached() ?
> 
> I decided to go with an inline function to avoid increasing the size of
> pci_remove_detached() and also separate the logic from cleaning-up QMP an
> resetting the PCI device.

It's fine to have a long function, if there's that much to do. You can
add a comment if you want to separate a bit from the rest.

Having a new function would be ok if it was used from different places,
or if it was needed for a new callback in the chain of callbacks of a
long-running operation.

> > 
> > If it does needs to be a separate function, a better way to lay it down
> > would be to replace calls to pci_remove_detached() by
> > pci_revoke_permissions() as appropriate, and rename it with the prefixed
> > "pci_remove_", that is pci_remove_revoke_permissions().
> 
> I don't understand this suggestion. pci_revoke_permissions() is called right
> in the middle of pci_remove_detached(). So it is not clear how it can be
> called ahead.
> 
> Also, if I replace pci_remove_detached() with pci_revoke_permissions(), does
> this mean you are expecting the latter to call the former?

Let's just keep things simpler, and just add the code into
pci_remove_detached().

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 16:38:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 16:38:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590223.922356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZDLL-0000uE-9T; Thu, 24 Aug 2023 16:37:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590223.922356; Thu, 24 Aug 2023 16:37: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 1qZDLL-0000u7-65; Thu, 24 Aug 2023 16:37:59 +0000
Received: by outflank-mailman (input) for mailman id 590223;
 Thu, 24 Aug 2023 16:37: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=x+mH=EJ=citrix.com=prvs=593bb07b7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qZDLK-0000u1-Cr
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 16:37:58 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93037647-429c-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 18:37:55 +0200 (CEST)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Aug 2023 12:37:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5780.namprd03.prod.outlook.com (2603:10b6:303:6d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 24 Aug
 2023 16:37:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023
 16:37:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93037647-429c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1692895075;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=5ducgWibNpWLb3meETgpryRZMrArCAO5kWwUdo4j4kY=;
  b=O2d+DuXnWBxcWQTsmqO0Ub6wRalXIEU13ndbMe93wIjWqFJI/g9VUIqp
   Pf/ebC2EnsPETSEv6YjOVe5Xj+NDB+pyD+EZaMjpFjQI6BZQhsinmgKV2
   6U0yqPWTKI3XKtmlTbhqaZwzbe/W32By7PszuKebQBFM3Uo5GjZXpKwIM
   Q=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 119809999
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OvV/aan8NK1Ws9XJLJ/FsnLo5gxFJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfUW6EPv3ZZmP0fYxzOYm+8RgGsZeHytBqTlNl+ytmQiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K6aVA8w5ARkPqgb5gSGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eckGGAmKUynu+ur0L6bG+5nht08K+C+aevzulk4pd3YJdAPZMmbBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3ieCwWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTezorq870Qz7Kmo7K14pXmWVgaCFgG2USs8CB
 WYL6iMcsv1nnKCsZpynN/Gim1aGvxgbW5xTGus1rgKX4qXR6gedQGMDS1ZpSvYrqcs3TjwCz
 UKSkpXiAjkHmKKRYWKQ8PGTtzzaETgYKyoOaDEJSSMB4sL/u8cjgxTXVNFhHaWpyNrvFlnNL
 yuiqSE/g/AWkpQN3qDipVTf2Wv0+97OUxI/4RjRUiS99ARlaYW5Zouur1/G8fJHK4XfRV6E1
 JQZp/WjACk1JcnlvESwrC8lRtlFO97t3OXgvGNS
IronPort-HdrOrdr: A9a23:L86YJqBc0j+B+IvlHem755DYdb4zR+YMi2TDsHoBKyC9E/bo9P
 xG+c5xvyMc5wx9ZJheo6HkBEDtex/hHPxOj7X5TI3DYOCOggLBEGgI1+rfKlPbdBEW/9QtsZ
 tdTw==
X-Talos-CUID: 9a23:nhgzoWAZMQo9DD/6EzJbxB4/XZwBTnTA3HvwckizCX92T5TAHA==
X-Talos-MUID: 9a23:8qDYYgZ3aIrBc+BTlHzTjw9MFJ5U6YeEGV1Qv78Zq8C2Knkl
X-IronPort-AV: E=Sophos;i="6.02,195,1688443200"; 
   d="scan'208";a="119809999"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tl/KL6RZrt+kT6AX7n0xqoDCGhksDS/Y6YpdXzJSSKf9USU3hjVR1Gkkct/VIhYExiWd6dtPAGt4QRawaariUJG5RkK7ZmuA/9Jnjj4holwhmqt3J86koRn7hvs9QCREunkEyqgR5YHb+NLefW+6ezgbeYsjeqxB7ved8YDxCEJpdX+BJUeFcJ72yvuRiW4DXWtCP190a+8Aji614KsCKxKWkRQUsXsUCr6h95jofrh3YGQ8GN33mX2+0uXFygOajpWjOYdxp5pvETc0jhV5CQfRsXKgUI6UkwvgEUjMgBMxSsrm8gxrkZSt5vKT3AViGeNOOC5ZR1pAzvtcsc1wIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pVML95lo7T+E3ejYWkbkc8d/35BrEWVoSQXL8+6awIg=;
 b=WJ1+1yB0yJtQ2zelKhMLwizFixLwwNQN64fununaUg0AsyLp0tf9h3WmaDzjMg4Q14UICJ/cxsgec5Z1O4tiER2D7QNPoNerFwvDwaVxJYO5NBqFJ5V42fwRVDQHtQoYM+BBANtpqxstDUGoV6bamwxg1EfPgwYaDCCtM9L1eYpvOE3PWJsIKGLUlovTsVJA9FJ8lBosbh/j7fmQw078smVWcYuulXh/EaVFS58f65yeNdRnKzjGHK/H8VJK34wLDQSsy8tbGpeWG748NEkaZR/L7cLlE/Sp9mdjmhKxSdzh4EqiNvR7lF0HQmLcKqR+5XRSMIAUx8/i+eBg1huDEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pVML95lo7T+E3ejYWkbkc8d/35BrEWVoSQXL8+6awIg=;
 b=BIzc2AC1lii4QP2IFndGtooqszOqdIQe3dg8+ASstcjzDfo3u+oSP97Scb0cZQ5mVDPCVKHHhFD0eJ7B9GceyLSXcNlj5xhEYTjgKqUhgwfu2vVpsfhjAQtLezoiJfkqbPnDCCea4d+LC7wb2ilOGFprNll5Qgk39oAc42ENfuE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <01e5cede-0aee-eff8-ec8f-64b015ee5918@citrix.com>
Date: Thu, 24 Aug 2023 17:37:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/8] x86: Fix calculation of %dr6/7 reserved bits
Content-Language: en-GB
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <8e594d08-9489-5446-525a-526a1f79dc07@gmail.com>
In-Reply-To: <8e594d08-9489-5446-525a-526a1f79dc07@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0032.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5c::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5780:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bf80d37-25d9-45b5-0985-08dba4c06f1a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iNLUj0RFAH7yd91mSDsV3YrNGYqC1UbztYKkhXPq0xmALOWGvmWicsB5x4gyf7fRnLQTkT08c2a/mVc76/vF1hCSqYAjpEI3RYiTX/6Ht1sc/YVWW3JUFldRlzog59aZdbI/W0QFd3vWVU6rympqbcD/eh9VxIkNdrylsSRGdJVuFJsgvPzwmdy3SqlUIT9QYGJEXOpFZb3D3sNLY/+MvZnZ+kTEv/MAu7djApeTDGsB/htjoNLPq7A3CmwrzYflzvI0p6yaWX3+qgsDI/uW7ov2HiXYiXkwyAj0mChTacuEmE756f/R3EqymKF8AiQO+czUl6qkkumLcxkhmhWA7LMvmwzgOlLWdANpe61kpDl5nJR1fgGIkxiNIUdX5lezfSW5oDTIMh+ojd+i0Jzvd1NJfjJA+a50rk5imhElEaK+fog5QzIF4ZvA3kfJGmlsrzm8ufrZjpTRFh2C+UXOWXLebXWpunx5sr3wWSyRVxpj7AEbgV6Ix7KQzGywtgVH3zxpOLtsC8eG6FjTFG9QOcx7hU/LlcEbdnL1fugrrfTkMCwEpnArZ7T81vKDIPgMryYR2oqgmjnWFxdgyyIrn9KTr9O5w2gv3XQgh7Ml4nz5cOHWxjpERUlYlZ0b/11rlOEy6ubCIzTfE2/bL6W5EA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(376002)(136003)(396003)(39860400002)(1800799009)(186009)(451199024)(31696002)(6666004)(86362001)(478600001)(83380400001)(82960400001)(53546011)(6512007)(26005)(2616005)(6506007)(6486002)(38100700002)(41300700001)(66476007)(6916009)(54906003)(66946007)(66556008)(2906002)(36756003)(316002)(8676002)(4326008)(8936002)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnVGYTFsNWs5NmpDTlRVZUx1NHlYOFhXcUNVbVF2Vnp5eEVCMHY0YUxwY3FG?=
 =?utf-8?B?c1ZxOXJ2WlhCdkZyVno4ZTJLMFJnMk50bVFuVmtKek1SME1hVnYxbUQ1cTlK?=
 =?utf-8?B?dHNOVlNwY2Y5NkRBRVZWWFlDK0FjVWNtZnJvdXFRcFRpcFNlTzBTSDVBelZF?=
 =?utf-8?B?emo2eVYxdUtDRDN6MDVjKzE1amMyczZLaUYyS1pySEhFTktQS20vSGl5bnow?=
 =?utf-8?B?NUpRWkhIVlFHS3VTUC8vM1ljOHpCZnN2M0FxVHgrcjlrSjhxb242bWRQNnFt?=
 =?utf-8?B?b0w3WkdMdXdvaWl5Q1ZKVDE5RVdmRjRwdE1IUVBlNVFJMCt1dno2dFBNOUhs?=
 =?utf-8?B?UXZGSkVXWFFvbUZSTVc0aFlVTXJiOGVLeFkwdkE4SlNJdHpscG5MMXNtUzdE?=
 =?utf-8?B?RjUwaTU3dHgxNFZuRjl2aUU5SUVhVnZtakh5TkE1enFyblVWUkZRQzNQdFE5?=
 =?utf-8?B?Umx2RkJySER5UEhWa1ZUeDI1VFU4WE90aWJZalAxRzVQWForVVhieXJLejZD?=
 =?utf-8?B?NWFndHVRUFRMdk5nRjgxUXV2cDl5WW5pQmV3V25NaU80YWhydHU3UUtmZTdK?=
 =?utf-8?B?OGhKUHdERlJGb2h3Z0ZKV2FSWEZ2VjMvWFE2cUczSHNwS0x6amI3cVpOSFpE?=
 =?utf-8?B?dnl0WWdSVHIwZ3hKS0NuMFhZVGhoMjJidHZoRExuaHN3WXdRMVYxWWYzTzI3?=
 =?utf-8?B?dkdXZ21Kc3RtZDhPWmxUTkIyUml0UmR3dkFkVHJmYndXZUtMUGxFc0Yycm5M?=
 =?utf-8?B?cktFNUYxd25YWVFza1VBenNubE00QjZ1bHFOYzF4ekt2a01nQ0RJR3dycS8r?=
 =?utf-8?B?Kyt6N3dMaUs4MFc0STR4OWltcURyR2JYRDh5c2c2TlNNMGV4TkFiZXpBZ1A0?=
 =?utf-8?B?UkRDL2k5NHNWN0NpYzhvaHh0VjRpbFhxV3cydnJmTGFxWDgrS1Y5dG43UU9r?=
 =?utf-8?B?U2NDbE5zcE1IMmdoSmI0TTIyRWJpUnE1dnRKYlZMZkZrMGNaekJxUUlxR2wv?=
 =?utf-8?B?TCtXaTZjdFMvdzV0SzE3c0hPZVptS1A0S0ZSQ0UyVTdRTUxINk5vWlpFdkdN?=
 =?utf-8?B?eUVMMXRWRkNjN2ZZY2hkTjQ1MWc0Y2F5TDViY3lvbEZ0TEVLTWdPRHBuQ0ha?=
 =?utf-8?B?OWdRdGFqTVB4VVVXcnFOWHplODN3K0FIczBxekJ3eWcrWkdLaWNuUi9ZRS9R?=
 =?utf-8?B?c1lGUDZxNnZjSUgvbFVjaHZkKzhlSEFPSWtmY054ZTV6V3l6VlA2ZXhPbENT?=
 =?utf-8?B?VytsWmlWN3d3Y3lKNWJtQ2JuTC9DbFBsOHhXd3duQXE2MEJyYksySDJOWFF5?=
 =?utf-8?B?a05DT1cxSXpJN00yQW9MR1NKNGViV2lhU3lRaGFEdXFSLzRFZVB1TllaY0dh?=
 =?utf-8?B?eTVjWjFSR2lFUU1rSUM1d1NMdHhkbXp2KzRsRTZPbGY4N1hGbS9vZXJ4ODFa?=
 =?utf-8?B?clh5eGF4UXdtSzZyeVN0Z090NEliK2V2K1J6ejdtNlhaTnAzUFlHc2FwL0RL?=
 =?utf-8?B?WDZjc1FDOVkzdjFFSDVDdVlCVDJwVmN6bUJ1SWZlVlE5RXc1QVlaeW5FVkR1?=
 =?utf-8?B?SXAwK1lZYXZRN3NBOHY5R2daSllUQXI2R3c4NlNXamFoa0M0cW9rdENPY0xy?=
 =?utf-8?B?TU1KcS9hM09XdkxJVCtENldtSG5vOFRCcVNVWFI3QVJ0VFhwK2dWMml3cVdG?=
 =?utf-8?B?dDJEQXFuQm5ON1dMNU92OE5wTGhIZEE0T1pXTlI4UVpVeWF2RkVOR2pxS2w5?=
 =?utf-8?B?QWlmZU40NUVjUkdyUTAyYWZVVC9vcXFIQzNqdGRpTWhjSlNUaEZUWUV0NzVJ?=
 =?utf-8?B?ZTlYWUFCUjY4TUNQc0pyRkdOYkNlSUZsdzQ4ZXA5VFRLaDBtNjRnSDN5b2NR?=
 =?utf-8?B?VDVTdTZzMXJsMm4renIwTUdMclh5WTUyMnpOcVo4dkdVY0h4QW83UW5XbFpt?=
 =?utf-8?B?aDk0VkxsdjExSVVBUWprT0E3UDIyaHJXS3gxNmdTT2tNbzR6Vy9Ca3g4L3Zw?=
 =?utf-8?B?dkh1allyRzluOGl5ZUd3SkdPUHB1VHlQZld2dkl6M2NoTHYrankvemFGaEZD?=
 =?utf-8?B?eGRFM1RKamlmdDdWeHhhTyswcXRaYm1ya0t5aHVMYUZjZ1FzK2RpS0xGWDBs?=
 =?utf-8?B?NzExL0hqN1B6b2NKRGFNakxPMUF0amZiRU9NUlMvcXpPSmZibEcrczlKenBC?=
 =?utf-8?B?R1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X6mWDqAHJ9vE9qbhT5aqJsm5PTyMh4XtA3LUc7e4fMEzwpqnX8ZvJ0hmSJ2fjc963pOu6uEWQqcUTAO14cSEAIzGK89JxZiCEFuIPIdgfiMBYg+b9sMZSft0mkUEMb4Whx6XJrrJKs6Mx8Q+7JoqUwdEuf77FuBe3wJWKSCAyOEaVACJu027Lp703gUuu67l5qxkvJAf2GNiBILRwGgjZ56xAXQli9DAnSQnXgi3rNWl6LT6AKJAz9XhLHeetCzcIHfh1eu5NXQJ5vtQ5FMjeUe0lsUC0vICbFYX+3dvsMEItmsn8mWVDpfBZYfQAMu+FahCK3tUzInUmT4z8dQaPpLyrJxo+OQBUyj6jjfq4gNpraNvXvTMPiwOZVeqjhpioVMTB9tbsqMC7o5LoGsq7E2j5oxJX3Lv/VmkiLOI8skJ65TqJ1CIQihivNFeGqVTYxCCAYN0RcfNk240FmPsM7KG4YX3futEP4xCOxpIx6rdmhFRbMmMRgTrl8l+A8wN57i3dZ0FaiNKM49H0UvPnt25Zg3N2MmeVZoc7s/1VXaZJ5BK2O8HrTdGQaQUozaAq66hwyWxxFjO62uxR9S3YSSL0Sd12fa8nPUgg+P9pPq+aqAncK8DSSO1CKG+PGy/7pk9IlF0jfhcl7JUEO+zLmPnLUeCeiL5wi9YL9swgnGVXjfJdG3Q34hRhFqB2grgjqWnCzxmT6pYDXT4CVh/Iwsh4tNRTg+tlffOqUhGsKCaJrCx7HvdxwOyRBrgXwpuK8p01oRpq84P9rPa3YnoSHDAHN7el+2AP0LgevPs5is726fAPl4nqPMkoBdnKKCkJ3NG8tM9Hwk8XcQaCZYotyvExEBGzZfUvJOBf+mzzXk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bf80d37-25d9-45b5-0985-08dba4c06f1a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 16:37:41.1053
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X5tJcH/aa6Z6Gpl9+CRn0A4JGOyzOkp4NVzvcl3ecxcV+epkZejAlf1e5KrL25uWQ236p6WexM0T9nxS/kavHEyLvnK5N7v/33r8HOr2fCU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5780

On 24/08/2023 4:25 pm, Jinoh Kang wrote:
> - Define X86_DR{6,7}_* constants in x86-defns.h instead of open-coding
>   naked numbers (thanks Jan)

Jan - stop insisting of other people things I've already rejected,
particularly on my patches.

> diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
> index 86aa6d7143..74344555d2 100644
> --- a/xen/arch/x86/include/asm/debugreg.h
> +++ b/xen/arch/x86/include/asm/debugreg.h
> @@ -80,4 +78,20 @@
>  long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
>  void activate_debugregs(const struct vcpu *);
>  
> +static inline unsigned long adjust_dr6_rsvd(unsigned long dr6, bool rtm)
> +{
> +    dr6 |= X86_DR6_MBS_BASE | (rtm ? 0 : X86_DR6_MBS_NO_RTM);
> +    dr6 &= ~X86_DR6_MBZ;
> +
> +    return dr6;
> +}
> +
> +static inline unsigned long adjust_dr7_rsvd(unsigned long dr7, bool rtm)
> +{
> +    dr7 |= X86_DR7_MBS;
> +    dr7 &= ~(X86_DR7_MBZ_BASE | (rtm ? 0 : X86_DR7_MBZ_NO_RTM));
> +
> +    return dr7;
> +}

Jinoh, for your benefit, the reason it was the way it was is because of
how the processor manuals describe this logic.Â  Not this, which is
borderline illegible with double negations all over the place.


However, in the time since I wrote this patch, more inverted bits have
appeared that need accounting for, and this is no longer the best interface.

I'll adjust the patch because it's unfair for you to be caught in the
middle of an an existing fight over code comprehensibility.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 16:46:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 16:46:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590231.922365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZDTu-0002ZN-2a; Thu, 24 Aug 2023 16:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590231.922365; Thu, 24 Aug 2023 16: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 1qZDTu-0002ZG-03; Thu, 24 Aug 2023 16:46:50 +0000
Received: by outflank-mailman (input) for mailman id 590231;
 Thu, 24 Aug 2023 16:46: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 1qZDTs-0002Z6-Nm
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 16:46: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 1qZDTr-0003EM-Hg; Thu, 24 Aug 2023 16:46:47 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.2.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZDTr-0001aP-9a; Thu, 24 Aug 2023 16:46:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=r5INkS0ZLRgUVoI3do/BTqKxnbne21v2LAIdWF7GM7A=; b=46Izl+BFZS+HYppnANyappQvxn
	cmV0EQ6wEmOTLOrPcv7IVGvWxu4mjT9fYSWoOx4Z4o5LmozpnI25f95V3FwaDVhjXzJwJj2T4YPxQ
	6IXPZdQMxAA9IcGnWkDR6MRsVzE+eyZIiQUipDBQfMD3ic+fyOEUHMxKIdDNXGRm27hg=;
Message-ID: <f060a049-b01a-4dcc-a89a-48716e418671@xen.org>
Date: Thu, 24 Aug 2023 17:46:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for
 HVM domain
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
 <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>
 <656761cd-22ba-4edb-b7a1-bc08f672243a@perard>
From: Julien Grall <julien@xen.org>
In-Reply-To: <656761cd-22ba-4edb-b7a1-bc08f672243a@perard>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 24/08/2023 17:34, Anthony PERARD wrote:
> On Thu, Aug 24, 2023 at 12:15:39PM +0100, Julien Grall wrote:
>> On 18/08/2023 18:04, Anthony PERARD wrote:
>>> So, this new pci_revoke_permissions() function been place before
>>> do_pci_remove() will make it harder to follow what do_pci_remove() does.
>>> Does it need to be a separate function? Can't you inline it in
>>> pci_remove_detached() ?
>>
>> I decided to go with an inline function to avoid increasing the size of
>> pci_remove_detached() and also separate the logic from cleaning-up QMP an
>> resetting the PCI device.
> 
> It's fine to have a long function, if there's that much to do. You can
> add a comment if you want to separate a bit from the rest.
> 
> Having a new function would be ok if it was used from different places,
> or if it was needed for a new callback in the chain of callbacks of a
> long-running operation.

I don't agree with this definition on when to create a new function. 
Smaller functions help to logically split your code and also avoids to 
have to define 20 local variables right at the beginning of the function 
(this is what will happen with folding the function) among other advantages.

> 
>>>
>>> If it does needs to be a separate function, a better way to lay it down
>>> would be to replace calls to pci_remove_detached() by
>>> pci_revoke_permissions() as appropriate, and rename it with the prefixed
>>> "pci_remove_", that is pci_remove_revoke_permissions().
>>
>> I don't understand this suggestion. pci_revoke_permissions() is called right
>> in the middle of pci_remove_detached(). So it is not clear how it can be
>> called ahead.
>>
>> Also, if I replace pci_remove_detached() with pci_revoke_permissions(), does
>> this mean you are expecting the latter to call the former?
> 
> Let's just keep things simpler, and just add the code into
> pci_remove_detached().

I will attempt to fold the code. But I am not convinced about the 
simplicity and readability.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 16:58:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 16:58:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590240.922379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZDfC-0004Le-5i; Thu, 24 Aug 2023 16:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590240.922379; Thu, 24 Aug 2023 16:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZDfC-0004LX-2P; Thu, 24 Aug 2023 16:58:30 +0000
Received: by outflank-mailman (input) for mailman id 590240;
 Thu, 24 Aug 2023 16: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=IVrA=EJ=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1qZDfA-0004LP-3Q
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 16:58: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 7195b7f5-429f-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 18:58:26 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-3fee87dd251so241995e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 09:58: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
 v26-20020a05600c215a00b003fe61c33df5sm3218874wml.3.2023.08.24.09.58.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 09:58:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7195b7f5-429f-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1692896306; x=1693501106;
        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=pGC/00NYbki6wATV+1nHi3uSvdm1PZzUguQ820Plzmo=;
        b=cQb/QfOWl6U+vBmwfS9RqdhZgkf06QTLTBQFyiZr6BC56R+uFYrTxIhzZsuRDj7gnL
         qM3m0Aob1WYHbLzQ9vj1Dx1Nf4Xzq/Rooz0wwhwk43hjxwOuuP2KJGPAfJ7ID4kzWiQy
         Bi8kbwftDmDIMXIIxaLHmPLEGT7B4JfN7fwX4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692896306; x=1693501106;
        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=pGC/00NYbki6wATV+1nHi3uSvdm1PZzUguQ820Plzmo=;
        b=MjT119CIazVw5YxZG/P/c/oQpCM4+YWno2gzHTmzVHqs4avba/MVnJM955llgvfl1d
         s7RBmIQgYUOxoO5a7FWNYB0bbEFlBLSdUaZtxP/Cd8WQPHOFbNK04MyCTo9RkWScLP2U
         3/ZNiENT96pzs8A137aKOqzk284atgypSY2MMCvkQDwwb7ARGbY/k8+oxXXn0a3U94HJ
         F7SZnbKI3ezRZYI3TcpUnDT48tRWNaHxoLL9i/0s95JfutjJ+U2sHMSyOepKQ55aIXjw
         Xn0dtH7LIHRxGjs9+8VO7bFfPBrfEURzfIO+8BZyzj6AYVVbSNZDY8b8aWm5iCS/JhA4
         04nw==
X-Gm-Message-State: AOJu0YxNCWpWU/ZDurztoxUjW3rloJgH6NlHG+WknKygw+G/khCdn/Sf
	OpGSBHBBZYXjPkBm0NKry8UWjQ==
X-Google-Smtp-Source: AGHT+IHOS6ZTrRuhGf1I3REI1dN5Y7sIDkEBs83xB72FHNrtoZxolOKMofdxupiftCFEvLX8yLvndA==
X-Received: by 2002:a1c:7205:0:b0:3fc:5a3:367c with SMTP id n5-20020a1c7205000000b003fc05a3367cmr13163232wmc.32.1692896306383;
        Thu, 24 Aug 2023 09:58:26 -0700 (PDT)
Date: Thu, 24 Aug 2023 17:58:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
	Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach
 for HVM domain
Message-ID: <bc936e81-f1fa-45cf-a097-53aebde1fd6e@perard>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
 <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>
 <656761cd-22ba-4edb-b7a1-bc08f672243a@perard>
 <f060a049-b01a-4dcc-a89a-48716e418671@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f060a049-b01a-4dcc-a89a-48716e418671@xen.org>

On Thu, Aug 24, 2023 at 05:46:45PM +0100, Julien Grall wrote:
> Hi Anthony,
> 
> On 24/08/2023 17:34, Anthony PERARD wrote:
> > On Thu, Aug 24, 2023 at 12:15:39PM +0100, Julien Grall wrote:
> > > On 18/08/2023 18:04, Anthony PERARD wrote:
> > > > So, this new pci_revoke_permissions() function been place before
> > > > do_pci_remove() will make it harder to follow what do_pci_remove() does.
> > > > Does it need to be a separate function? Can't you inline it in
> > > > pci_remove_detached() ?
> > > 
> > > I decided to go with an inline function to avoid increasing the size of
> > > pci_remove_detached() and also separate the logic from cleaning-up QMP an
> > > resetting the PCI device.
> > 
> > It's fine to have a long function, if there's that much to do. You can
> > add a comment if you want to separate a bit from the rest.
> > 
> > Having a new function would be ok if it was used from different places,
> > or if it was needed for a new callback in the chain of callbacks of a
> > long-running operation.
> 
> I don't agree with this definition on when to create a new function. Smaller
> functions help to logically split your code and also avoids to have to
> define 20 local variables right at the beginning of the function (this is
> what will happen with folding the function) among other advantages.

You can always create a new block {} in the function, if that help with
local variables.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 17:27:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 17:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590247.922388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZE73-0008BH-AY; Thu, 24 Aug 2023 17:27:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590247.922388; Thu, 24 Aug 2023 17:27:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZE73-0008BA-84; Thu, 24 Aug 2023 17:27:17 +0000
Received: by outflank-mailman (input) for mailman id 590247;
 Thu, 24 Aug 2023 17:27:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZE71-0008B4-UH
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 17:27:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZE71-00048H-0p; Thu, 24 Aug 2023 17:27:15 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.2.129]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZE70-0008T7-Ms; Thu, 24 Aug 2023 17:27:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JP4DGhBns8clZHQT5Qx4NfV6OE6QtPbkQMcqOTA9R0A=; b=PMaO2w+vRhW9FrlqR9GfpACy7r
	9IrBEjtiSuVqK4BZMdg29b9MkNuBagZe6qfLVlnecv6jJJBhgFzCqSllQpgPuQ6JC/o6+SfffZp45
	Lg53wquhXDJiCQTW9LogBRilHxo9Eh9b95Hf1syn+FZ5UT9Bi2VwZpYhcawLxt3HHGzI=;
Message-ID: <9b849d85-c54b-4b6c-95ef-721c57dc39f5@xen.org>
Date: Thu, 24 Aug 2023 18:27:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/light: Revoke permissions when a PCI detach for
 HVM domain
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
References: <20230809103305.30561-1-julien@xen.org>
 <20230809103305.30561-3-julien@xen.org>
 <48113eee-e047-47ad-b7a7-29feb8464ce9@perard>
 <438b2e6d-004c-42d6-8238-1d8e77e274e6@xen.org>
 <656761cd-22ba-4edb-b7a1-bc08f672243a@perard>
 <f060a049-b01a-4dcc-a89a-48716e418671@xen.org>
 <bc936e81-f1fa-45cf-a097-53aebde1fd6e@perard>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bc936e81-f1fa-45cf-a097-53aebde1fd6e@perard>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 24/08/2023 17:58, Anthony PERARD wrote:
> On Thu, Aug 24, 2023 at 05:46:45PM +0100, Julien Grall wrote:
>> Hi Anthony,
>>
>> On 24/08/2023 17:34, Anthony PERARD wrote:
>>> On Thu, Aug 24, 2023 at 12:15:39PM +0100, Julien Grall wrote:
>>>> On 18/08/2023 18:04, Anthony PERARD wrote:
>>>>> So, this new pci_revoke_permissions() function been place before
>>>>> do_pci_remove() will make it harder to follow what do_pci_remove() does.
>>>>> Does it need to be a separate function? Can't you inline it in
>>>>> pci_remove_detached() ?
>>>>
>>>> I decided to go with an inline function to avoid increasing the size of
>>>> pci_remove_detached() and also separate the logic from cleaning-up QMP an
>>>> resetting the PCI device.
>>>
>>> It's fine to have a long function, if there's that much to do. You can
>>> add a comment if you want to separate a bit from the rest.
>>>
>>> Having a new function would be ok if it was used from different places,
>>> or if it was needed for a new callback in the chain of callbacks of a
>>> long-running operation.
>>
>> I don't agree with this definition on when to create a new function. Smaller
>> functions help to logically split your code and also avoids to have to
>> define 20 local variables right at the beginning of the function (this is
>> what will happen with folding the function) among other advantages.
> 
> You can always create a new block {} in the function, if that help with
> local variables.

I thought about it... But this is just a function in disguised with 
downside (the extra layer of indentation).

I was actually going to try the folding version. But given this 
suggestion, I am now struggling to understand why this is a problem to 
have a function only called once. This is fairly common in Xen 
Hypervisor and I can see at least one instance in libxl (see 
libxl_pci_assignable()). So what is the rationale behind this request?

I would also like the opinion from others (such as Juergen) before going 
ahead with any changes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 18:23:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 18:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590256.922398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZEyu-0006VW-TP; Thu, 24 Aug 2023 18:22:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590256.922398; Thu, 24 Aug 2023 18: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 1qZEyu-0006VP-Qe; Thu, 24 Aug 2023 18:22:56 +0000
Received: by outflank-mailman (input) for mailman id 590256;
 Thu, 24 Aug 2023 18:22: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=JGcK=EJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qZEyt-0006VJ-Pl
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 18:22:55 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3af2fda7-42ab-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 20:22:50 +0200 (CEST)
Received: from MW4PR04CA0314.namprd04.prod.outlook.com (2603:10b6:303:82::19)
 by DS7PR12MB8289.namprd12.prod.outlook.com (2603:10b6:8:d8::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.27; Thu, 24 Aug 2023 18:22:46 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:303:82:cafe::2c) by MW4PR04CA0314.outlook.office365.com
 (2603:10b6:303:82::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Thu, 24 Aug 2023 18:22:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044FB.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.6745.2 via Frontend Transport; Thu, 24 Aug 2023 18:22:45 +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.27; Thu, 24 Aug
 2023 13:22:44 -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.27 via Frontend
 Transport; Thu, 24 Aug 2023 13:22: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: 3af2fda7-42ab-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W570YnU6gvugyC/OGQi4plieGtQcmUd6886fACPxc21BojWfkUSGzTZ2hiDZUdaz6PRe+N6I3P2qkXcxOVEGigmuYVn2ljdMRJ8d3tIUYTqBI3kIiebuExRCatwVlZbOU1xOWMG+/nFvNHYfU0OYj1cTGLiFlQPmzSOwCS6v5MA/Np8ftC+la+q9hLz+XJID0A8oU7mGaQq/d782AwLnhz+2YSz7hKgs1i5ZaGGpl3wQqb1ezfKI0B5LIdkByDQC6NfmJBIfz6sCkdv1konzblssybAyJxmCSeuecRn+XhX0P7iJSLYQwAWVGgWr2JTIHorc7ON9hcHyT2ZbFTwq3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QMltQQhGGtk4wnzy42Xehvg/dyQWAzbgc6rFZmJF9GM=;
 b=JpVVbJHxnFfALXnJb2CyYr0MpvD98qjfVok8WV++WmfRDfZ1qzsb7JkvE+eo3HONqf9qsz/qT4MGAJlvxuDPn9MzgK/Rsr+0gq4ubaSyWMmbIZ2ZxNGJfUQG5EZZ1YhHVZSQuiCt/c5II4kyox+PBWTTC/ppkWqxS/MHcBT7P6rb0VptUQwMtNm2CH1BM8Rqy4vy2grqrNzojYg3mekl6xLRuaP8bPXQxwZzxqqxaeAD+8V7C+g94BWv6M0lydu6/XrhCI/6JKCc+6ahQfzhOuTaWYzJmoN0Ua9qX2I26rNwMbTYvl56IMwPy1gL9OtcmSqntv3V+2cx8fjKqSNhyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QMltQQhGGtk4wnzy42Xehvg/dyQWAzbgc6rFZmJF9GM=;
 b=lKClb/boSY8ZNl2IeTG3NDeAJd+Mb7qJRaLf3yMBKIYLmvPu5yj+omwxY+WKD4H65BS3Idjc1S2Qp67YyxYCfQoipmIkSnAFnDJZGdmN0p7ZVN7OSMb++2mSDI1DapiJcD4NHcbb4zDueyzL9cW2v01gqOsgUnJdmw8jdFvivNs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Stefano Stabellini
	<sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: [ImageBuilder PATCH] uboot-script-gen: use size from arm64 Image header
Date: Thu, 24 Aug 2023 14:22:31 -0400
Message-ID: <20230824182233.50760-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|DS7PR12MB8289:EE_
X-MS-Office365-Filtering-Correlation-Id: 4da769e5-54f4-40d6-cfee-08dba4cf1cf2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ByWBgrA8Xpv1dSe6mJnExGbPWMHwizgxcnp3JqiF7hmFLeQgYSBR24hD1u/l5eYlLE2NbQx7QZbzpIP2I1hdB/WJCJa8nboIikEL/eruc1RY9fJKkr7QtDtcT+St82DIJO7n2HmcOGWBMt7bEaKi2pmWRVFuD3Ml0r7y6q3POsNDahzHCM4Gi2Ye3rKpfw9lsMtPtcJHick3M9vPJ0eRv1s93zE9L210aoedu7vQL8ia8PnNIXCtpOABYuenohVaQOXJ0uAg9dAjblLmgXrfdxbkC/J9H1PI1XEVrCRcEsAnOhD3pilvvhxANgIHCBYXLFupluP8ZHJGa1rmZ6APZOg8ARof3jL4hePkFb/GZCcnd42gWyBl9+diYP+CPE3xqIzAwnT5Yx+Y/Rz+X7wEoClYb24Tg69fFQvy53oWOu0gLUk1fKmb7aonAr6/b2irHwyP8ClF2fMPX6hGnwCmYFQFp81dz6K6TRI0c4Q4yZjHFXJP5KedoxZnGxSLVlIPF46qV52s3mo6+N6d1Sss10QFDBp67jfjTMyHNZbvK2MWBL+0zAIc1Va732VmctOyqzcGZtZX/juZ20cFRs+rGktWCWzRr68CY8m8AiE5XEXeQKLSEpe3iSikT+rJ5tdijXUqOcXtSBjAsBw+WtyQqVTnqOku2lob1LwOWjai643eaiaIHVW/lWgUQYvmTsndmvocFV2rfk2hL4IEvC+zZYq3sALxzqpQlr+IEWMdOMl0M3TXFDh0KxHPiy1uNKb/u0gQsrMn6dDBzfDxZEnnQQ==
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)(4636009)(376002)(39860400002)(396003)(136003)(346002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(36840700001)(46966006)(1076003)(40460700003)(2616005)(5660300002)(8936002)(4326008)(8676002)(336012)(426003)(47076005)(36756003)(83380400001)(44832011)(36860700001)(26005)(40480700001)(82740400003)(356005)(6666004)(81166007)(70206006)(70586007)(54906003)(6916009)(316002)(478600001)(41300700001)(2906002)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 18:22:45.2511
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4da769e5-54f4-40d6-cfee-08dba4cf1cf2
X-MS-Exchange-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:
	CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8289

There is a corner case where the filesizes of the xen and Linux kernel images
are not sufficient. These binaries likely contain .NOLOAD sections, which are
not accounted in the filesize.

Check for the presence of an arm64 kernel image header, and get the effective
image size from the header. Use the effective image size for calculating the
next load address and for populating the size in the /chosen/dom*/reg property.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 scripts/uboot-script-gen | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 9656a458ac00..50fe525e7145 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -2,7 +2,7 @@
 
 offset=$((2*1024*1024))
 filesize=0
-prog_req=(mkimage file fdtput mktemp awk)
+prog_req=(mkimage file fdtput mktemp awk od)
 
 function cleanup_and_return_err()
 {
@@ -435,6 +435,17 @@ function add_size()
 {
     local filename=$1
     local size=`stat -L --printf="%s" $filename`
+
+    if [ "$(od -j 56 -N 4 -t x4 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')" = "644d5241" ]
+    then
+        local size_header=$(od -j 16 -N 8 -t u8 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')
+
+        if [ "${size_header}" -gt "${size}" ]
+        then
+            size=${size_header}
+        fi
+    fi
+
     memaddr=$(( $memaddr + $size + $offset - 1))
     memaddr=$(( $memaddr & ~($offset - 1) ))
     memaddr=`printf "0x%X\n" $memaddr`
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 19:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 19:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590263.922410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZFhJ-0002r5-Ba; Thu, 24 Aug 2023 19:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590263.922410; Thu, 24 Aug 2023 19:08:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZFhJ-0002qy-6p; Thu, 24 Aug 2023 19:08:49 +0000
Received: by outflank-mailman (input) for mailman id 590263;
 Thu, 24 Aug 2023 19:08: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 1qZFhH-0002qV-Qj; Thu, 24 Aug 2023 19:08: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 1qZFhH-0006ee-Cy; Thu, 24 Aug 2023 19:08: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 1qZFhH-0006Or-0V; Thu, 24 Aug 2023 19:08:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZFhG-0002I1-Vz; Thu, 24 Aug 2023 19:08: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=i1aySqmLw+oBelCEFm9p8Sqeiz5G9EeFjHOcGShoPHQ=; b=5AtemqNV2Rj1AM5N2mxdNaxFVs
	8qp05mPlgNZqEAaWlOTzg8Csj/WbyDcKuwvfkA06HRnpQLIdtbQF8SI5r8RV1wWow4iAjfNGV8Ws7
	Wg6hxrdbreQri2vRWk+aNwun83JNwX+OLL/2l9qdAfkv03V4hnRMxJa5ZXU8yn0OUZCQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182507-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 182507: tolerable FAIL - PUSHED
X-Osstest-Failures:
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    seabios:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=7a4003be25eae462f3c3d8aad96b57e34dc0c2b8
X-Osstest-Versions-That:
    seabios=774a823a966cdc5d31ddc11af2b7b4f2c250ffdd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 19:08:46 +0000

flight 182507 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182507/

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 182501
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182501
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182501
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182501
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182501
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              7a4003be25eae462f3c3d8aad96b57e34dc0c2b8
baseline version:
 seabios              774a823a966cdc5d31ddc11af2b7b4f2c250ffdd

Last test of basis   182501  2023-08-24 08:42:05 Z    0 days
Testing same since   182507  2023-08-24 13:12:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/seabios.git
   774a823..7a4003b  7a4003be25eae462f3c3d8aad96b57e34dc0c2b8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 20:31:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 20:31:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590272.922418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZGzE-0003u0-7Q; Thu, 24 Aug 2023 20:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590272.922418; Thu, 24 Aug 2023 20: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 1qZGzE-0003tt-4Z; Thu, 24 Aug 2023 20:31:24 +0000
Received: by outflank-mailman (input) for mailman id 590272;
 Thu, 24 Aug 2023 20:31: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 1qZGzD-0003tj-7f; Thu, 24 Aug 2023 20:31: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 1qZGzC-0000yR-UX; Thu, 24 Aug 2023 20:31: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 1qZGzC-0000og-Jc; Thu, 24 Aug 2023 20:31:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZGzC-0007Eh-J5; Thu, 24 Aug 2023 20: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IlOgH7LEcCy2hbA2x4kD3vhMkrslv1CvVpn0Xq4oU24=; b=1q05ty2tzJB+9Fk/mk93GrBby3
	Twogq+QYdRHR5udyaPmmBgJdibMybrno3jpA9C7vC5yAIV5m87GZ0u5OtWhfGsgSRwHFkMXi/rQS/
	jY0d7FJTpKaD75UQx/E71WEM/toruDiPJ9j5BOex5zKLV80neBo4/GT6UtnGR5yocFJc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182502-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182502: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b0cd7499ddd281033548a702c6d61ab13fdd1f67
X-Osstest-Versions-That:
    xen=3fae7c56b313a12288a05e0a8c14c47bfd4dc40e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 20:31:22 +0000

flight 182502 xen-unstable real [real]
flight 182509 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182502/
http://logs.test-lab.xenproject.org/osstest/logs/182509/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 182509-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182419
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182419
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182419
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182419
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182419
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182419
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182419
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  b0cd7499ddd281033548a702c6d61ab13fdd1f67
baseline version:
 xen                  3fae7c56b313a12288a05e0a8c14c47bfd4dc40e

Last test of basis   182419  2023-08-22 08:52:42 Z    2 days
Failing since        182425  2023-08-22 19:08:38 Z    2 days    3 attempts
Testing same since   182502  2023-08-24 09:50:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Stewart Hildebrand <stewart.hildebrand@amd.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-i386-xl                                           pass    
 test-amd64-coresched-i386-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                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3fae7c56b3..b0cd7499dd  b0cd7499ddd281033548a702c6d61ab13fdd1f67 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 21:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 21:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590326.922577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZHmR-0002xP-Qv; Thu, 24 Aug 2023 21:22:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590326.922577; Thu, 24 Aug 2023 21:22:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZHmR-0002xI-NW; Thu, 24 Aug 2023 21:22:15 +0000
Received: by outflank-mailman (input) for mailman id 590326;
 Thu, 24 Aug 2023 21:22: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=J8VH=EJ=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1qZHmQ-0002xA-5s
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 21:22:14 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48700a96-42c4-11ee-9b0c-b553b5be7939;
 Thu, 24 Aug 2023 23:22:10 +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
 37OJEUiS007529; Thu, 24 Aug 2023 21:21:36 GMT
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta03.appoci.oracle.com [130.35.103.27])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3sn1yvw403-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 24 Aug 2023 21:21:36 +0000
Received: from pps.filterd
 (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 37OJvZ2F033219; Thu, 24 Aug 2023 21:21:35 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3sn1yx18an-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 24 Aug 2023 21:21:34 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by SN7PR10MB7001.namprd10.prod.outlook.com (2603:10b6:806:345::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug
 2023 21:21:33 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::878c:8797:8568:4f1a]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::878c:8797:8568:4f1a%3]) with mapi id 15.20.6699.028; Thu, 24 Aug 2023
 21:21:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48700a96-42c4-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2023-03-30;
 bh=8IOXY/559ecw9U1jCzyYxMLUmrCdKat7AmmLCDKrkJc=;
 b=vVvTuWdtONMmE4VzQdsBIhBmhLBeUQcidurIGYRB+g60XJiykEarG7Bc70IpGddi2E2Z
 yluQWqRKQdHbXELYaHm+tnteo0dmTFvwZDP65Ul1AsXsMiUQCuDVkuO0Isyp1vrFQaXI
 nqzAYIrxXqSaUJerMgRgTtHdm3kKkBRBDTL1Sg/fVo4LFXIwkPH7S6PxFCWiumXdLYb9
 sB0NX5JKztoy640XKGPQ7Lh3Oi2L7+i5+0BRXdl50t5ITCp3k7/1m8V1XfeIcaIx1svK
 I/uzKrZU1yK4ocLLc2Rcqfd6g2y3Ac+sCp9DFFllu5wVcIm+V8Pk8A67E3BWGw/CbSH4 6w== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H194qvcrO++Kul6lG6slHdqZu7Dg+RS+epSIGmgGNQBRVBGlbrxNpNOZM5sK3ty1oQTW1KuUMltA9zpBxUJE5DMqCDBkzTWoA8jLXkNKDmVx8W+pIKn2K81JAm8XEwT4rprxGr08HbEnN4mVvHCpiq6C7NpNrDeE+ep2+C4p4dLv2PoLqRkINkcV18OkmKKDkySrkEN/rySmwE4dj2vugbk+OCC8OOyOWasHulAjRbGhAHX2EIQWSyiQgdIdYLjuoCujfVt7S9V91Wg9VOIB+5A22g/kXOljlv21zFWmGvsQuniMyCg5s5J31HcDXfcDCuCimCJzYh1OeX3Y3lRIiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8IOXY/559ecw9U1jCzyYxMLUmrCdKat7AmmLCDKrkJc=;
 b=AbeL1mcSYgkCMYKr6Xr28MANlq6TJIJR6vrDalbu07tlvdKOKT7V33GQACVVMrbfLMXQW7zKO6iscjPjyfYAjxDyimhvcWRdxhDPHuTph25Fx9jU3O9lbeyUUNYVJQBL7bLW+lzjn7bN0vVzY6fThAYIp6zXtaZwlw1gv1BCn+GW4gmRIBGC9c8sC0xEuV9CBgCo/VezfoMbQethJKEXgr5s9mSYiQGkw+zVPg8dSGG4ETSOHc9bZlAp1pKcyiO3fRz2Gkhs1O7qp99OsuBIEUOTHgcWVmDfSQFbnUEF1vve8YzGT7P1Oo3uOSkqQuP8PmsoJtQ34pMPh4DxpzqBVg==
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=8IOXY/559ecw9U1jCzyYxMLUmrCdKat7AmmLCDKrkJc=;
 b=VEupMkrHRsmdhI7pyoAO5Yux7e0vfFNDianHmPN438OTy6fU/1M44NVFVqNDbEWboxYCPV1/ZHa8Vxr2ZwIZ5YN8tAH/Y9Lt/WUV1lTooTrahPpyWHStju/LwmF+c6dd8SRjXWgT3B5kCpNDKGWYy7dY/GjROa5yyT4aJ9A884Y=
Message-ID: <48676a7d-2100-c0d1-4e03-788cb6982fee@oracle.com>
Date: Thu, 24 Aug 2023 17:21:27 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH] xen: simplify evtchn_do_upcall() call maze
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
        x86@kernel.org
Cc: Andy Lutomirski <luto@kernel.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>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
        xen-devel@lists.xenproject.org
References: <20230824154106.14799-1-jgross@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <20230824154106.14799-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SA9PR11CA0002.namprd11.prod.outlook.com
 (2603:10b6:806:6e::7) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|SN7PR10MB7001:EE_
X-MS-Office365-Filtering-Correlation-Id: e97abc27-3d4f-4ca9-9c1a-08dba4e816ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	4qYojLlnQurTdZLs4noVuBvlfrkBZkStppnKh7SXX/KsK9MBsTWnB44zXWPjG3gnWq6GFXGBipKXpa3cpeLn5lF2lw05K1b9dMZhDR/Ph1QWIqsaOBbYTazU27SHJqArh2QCpeSzEY0Vqpey2V8bHqA+ga8LEGpTzbnuwILx/oMNudYiNeOZigq2gJmKmvQG5aEmC5yEYlLNoOAvD8WjdH0Gipe2Y31pterwIO6eoWOkv9p7ltwnU3QsM71PZiB1oMSf14ZLtGi5lBQAL132E/0Vk2h+vX78q64zWWve38gTY8cd4QLr1SWThp+0BdMdeayEXKyfhOVAt5SDQDsZdRxhLvQ+chcIvEUJ4L0bxVRKKXQb9j1Jhp8gG1EFQJBxy4utL7SPTq74ozCHOrnDALlWs0gX4YwhUI6D49U/Rv++/JFYoVYRYxaABWtAGvhtxpHp94+oD0KhwqidYWM/LjS4BHQq3RgKoh03ulDai+WhdaeGrkbuxJqPYd6235DCikGbzK1KFrVoTe7bHLbL3f4JbItzeBx6tH9XFikTpBg0FqdmKRMKGM+ysZpwk3jDMAlfVu3tDyqlnpedmbMk+0lQnSgJn/O/lXeYnlSUeyvAe5C4EM3vanOjoxG43k4uIwoHJaUXvInsL9BsviDbeg==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(396003)(376002)(136003)(186009)(1800799009)(451199024)(66946007)(26005)(6512007)(53546011)(2616005)(41300700001)(4744005)(66556008)(7416002)(66476007)(54906003)(2906002)(316002)(5660300002)(44832011)(8936002)(4326008)(8676002)(478600001)(6486002)(6506007)(6666004)(31696002)(86362001)(38100700002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?REIrOGIzMHpFUktrTG9nZmlxbjNvbFNqZDRvU0F5OHp3R0x1cU9NZWtBWVdn?=
 =?utf-8?B?d3kzMkdRWFYrUmhVbndWZERBQ2trUWJBdDJUb0hLTUFvc3ZWaHN1NnNKd3Yr?=
 =?utf-8?B?MWpUQTFrOFFHR3VjU3NMRGZjMXRXK2dCY2x5VkRpQU5oZlJscE5YVXVsTUlK?=
 =?utf-8?B?dWZxLy9rcFl0SWVNblVkSENqU1RVZ3RFOWFmV0hLaXpiVDFmbGlORzVFSWtS?=
 =?utf-8?B?Q3NzUjVNRlMvTkRtUFI2Yk45c0d6TXpGUUNWdkZCbzVHcXJGZUtPaWFXNnFI?=
 =?utf-8?B?akRuVmZwMCtXYmNkK3NrNWVLajlvUVNxSDRWL3ZERHRFWFFzSUI3WXhlK1lt?=
 =?utf-8?B?MlQ0S0UrTG02U0I1U0JURllFVkxoalRIbmFmQVd3aGRwdEE2aEhDMnFmS09q?=
 =?utf-8?B?WVJKb25qcm5Ya1ZkbG9wWHExbFU5ZEZyeFRpZXlQMnV4aE5nMUNSY1E5K0JG?=
 =?utf-8?B?T1hweFR3ZDZIeFh5N2RVTlpYYjVHMTllQXRrUWFoRXA5RVZ0MWlNZ01wcUlZ?=
 =?utf-8?B?UTg0YzhaZlJIMWdvZHhaU2YvYkhxc05oQWI4cHlDMXdYWDA5TlNpQ2p3bXNs?=
 =?utf-8?B?S3B2Uno1MThVZEQwSE1pR0cxZFg0RlN3emgwYkYxampjR1ZHU2V1RzVaMWFX?=
 =?utf-8?B?ci8ydjl1RWdBZWlsWWVOQnJGVjRhZ2VOVGZhb25xN1Z0UmdiSmovTDlrK3pL?=
 =?utf-8?B?c29rK3dFMDhwTGo3SGEwZFZEeEZmOGYzNnJLaFBFSGR3ZzhuendDanFmZjZG?=
 =?utf-8?B?RWhhUnZ4dUE4WGxpdUovYlBMeWdxejRLS2pETFUzYlZzSUxNeVVNbUxRVjZW?=
 =?utf-8?B?MFZ1YWNLU0h6OVZ4YkZESEhsdnpCQjNRODFKN29PN2NhbkdDZW10cmRJSUR2?=
 =?utf-8?B?aGZ6YmdXWi9PSkRyMmhUblJ5YXZYbXhIQjZBUGx3RVIzbElibXNJRTZsb1FP?=
 =?utf-8?B?TU12ZkF5Sy9zUDAxNWIwdTdMT0FQNDEvK3d5c3ZpSEE1a2U0TDlNb1hreXEy?=
 =?utf-8?B?bnQyT1dac21LTmpzSFhkV096Vk9FNHFlQ1dwb0p3SmhGc2dWdlBwc3BjVWxr?=
 =?utf-8?B?SVduaTUyV0tkV28xeWg0UmNoWlQwOS80T1NBUTh1L0Q3RG01QUxWeS9yNmda?=
 =?utf-8?B?alFGbXVYcmd3NTFLTkJUcGMxdVpYRHprZVNrUE5DYiswcy9JV0N1N0FaREpD?=
 =?utf-8?B?bkdwdEhqeTI1UTV2Yk1KeTBxaGRVUnVaNFViQktJR2p4Sjc5TkZjbWQ2UDd4?=
 =?utf-8?B?aVBNRHpScG5ORnY5a1NVaHMxMk5DbzhaNnI1WFRmdFVOaG5xcS80cndqY1JK?=
 =?utf-8?B?dG53Wk5XZ2FrSGs3dU0wUGlCSXljUkUzQ3RjcldzU3BjVGNVOHBZNm0rQmRW?=
 =?utf-8?B?WUp2UnNMSVN6MWI3UmZPQmhZYURBRXd5aHNtZ0xTQ3RMdFBsaEhvU3J5QW9p?=
 =?utf-8?B?QnloZktENSt1RksxT0dFaCtXZUJuRDdBQlhzNWI4YlZjMGp3N2dLYXc4b3h1?=
 =?utf-8?B?cjhzZ21uWUZuSWIrWHVXb0RBcXJLL1VGMXNaeXlqQndVR2N3UVM1bEFxWVBD?=
 =?utf-8?B?SWlVRDNURlJQY0JQdk01UlI4WC9RZi9UM0dkZW9Eb00zYjZGL1lNUVBVOG83?=
 =?utf-8?B?cjR3cGtuSjFLSDdMckpaUytiMURJeVNCeVc0VnA5QkVub2tCM1RpZlNvMjBI?=
 =?utf-8?B?emYwaEJWTGZLcHlOVmdTZHl5akJHU2dqbm91anBOeUFMckMrSnFMY2t6VnN3?=
 =?utf-8?B?akxVNHRSK1VjTCtlTTcyalFCMnNNVmdUT1hVZTdYT1IvSTQreTNPVU9DcVVO?=
 =?utf-8?B?VWhlYjBrUmJlNFVicCs5QUsyc2M5OTVGdElGQnJ6QmlNU0ZhK25oWURhWFlX?=
 =?utf-8?B?UytOMDJaRElPQXZGdWUwN2t2M0c3VGVKb0RYT000UTVGMm1pK3AreGVVTlNo?=
 =?utf-8?B?RnBZaEpJRHBaRDJJUWZpbVg3UTJ3UElmVXlYWXUvL0x3bC9PMU5XempBNGRP?=
 =?utf-8?B?c0hWMVd3UlUxaHlJTUl1eDAwVVA4U3Ewa2xON05Ta29Ed3E1MnR1M3o5NzBw?=
 =?utf-8?B?amJqejg5RlJ1eC80RVkvcnV3MERLTVo5alFLbVhrQU1kMmdkaytKVzNQQzhJ?=
 =?utf-8?B?WUR4RGxXOWkxRnBqL24zMkk2THcyYXhEOFB4bUViS2pjdTVPQjRyVFpvVVVB?=
 =?utf-8?B?NXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	=?utf-8?B?S0ZPUzdNWFZwM2hFV0JHdVJFeThLMncwVmlBMy80MjVJK2pHTHVRcGw0MjFJ?=
 =?utf-8?B?WkZyTDRZVG1ZemhHWkhIR3Q4SEZFQ1NtWWRua2RZYXNBRmdjVHM4VnNUNU9r?=
 =?utf-8?B?SEU1enY1RWFwd1ZPZW54K2NWNWhSN0pYZklqeDQ2Q2xiV3A3WmI3Ny8wbE5h?=
 =?utf-8?B?YXhDTnhqckZsbTVTTlJjWmRNcTdubG9ISnZDVVBBb3dLQ1NGcXNEYnFLNWpo?=
 =?utf-8?B?eEdoMkR6ZTVadjdvVlk4dDB0VDlTSk11WW9IY01wWU4rL0REbnRjUzFyUVMy?=
 =?utf-8?B?TU5hRlAxWk43YTVCRHFvRmtnY0xxMm1HSTJnUVUyK2JLY1Y3V2JRNStkWVVj?=
 =?utf-8?B?MlV3TmVaUmRURy9JS3B5L2p2MG5pODMvYzhoR0Z4bE1xazk4VE9xRXlhbXB6?=
 =?utf-8?B?Y21VSEhqSFJmUHh5UU1UVWl2STdHUXR0VTI2UEJkSXZPTnRrQm83UDRWL2p2?=
 =?utf-8?B?M0t0Y2NIRHhpSzAyRzcxNktTbTVHRmw2UWRSR2hkUWNCYWg4bmFYaHJ1R2pp?=
 =?utf-8?B?dDYwYTZrZGpUaVNySFVOQTdXZW9BeDVOZTJveFdEcGxCd1FLZkV3RWRFZ0Fu?=
 =?utf-8?B?UWxTMmFVWHR0UnhOaUxCODR5c3gwQit4Wi9maEI4MmduSVpMbEUrenNmWlgy?=
 =?utf-8?B?Y0M1SHJhNkZtTU1LbmlVSmxta3ZPVFlsRTluS1duRUZJSlZtSVppM0M2c2hJ?=
 =?utf-8?B?VVlyb09rdUU1VVhaUlQyeGFZdVp3S1NSTEJtY3RzSml6OHZqOGhnSEcrRllz?=
 =?utf-8?B?cmNFNlU5L0NRMUZaZEtPM1FDd1oveTFRcytiWFpLQXE4eTI4N1ZiVVVXWUU1?=
 =?utf-8?B?a0lLbkJVSjl4b1R0alV4Y1k1aXlIa1FNRkptYUt0M1lwVE5ZSDJhS1piTFpx?=
 =?utf-8?B?RktHSVg1SEw0Ri9teXJ3RW1rYVprekxNbGdLKzZxelI5aEd1QnNha3lPN081?=
 =?utf-8?B?Ti9BWXhLUC9DbGoyTm4wWFdiYVgvYXNUb2Z2ZmUzUXFXUjMvbWpsZnk0dWlp?=
 =?utf-8?B?Z2RscTVmVWw1OXowdDJuazJlMVJWd21xeVhSZmNoaVdRa2R2R2VYa3BZUzRL?=
 =?utf-8?B?bE5JUFRxNDdXTm5yaVRhMW5tUjJGN3ZSZkdudDU5RzdtUEoxVEM3b0ZlLzN3?=
 =?utf-8?B?MnJEOUloVDBLckZFcXpKSFR6aXZ6NExKRzdscEZIUjRGZ29PQnViZndWcWYx?=
 =?utf-8?B?QXVRTTk3SWxQa2paN0FvR3Z5OUpzVGZuZGVNV3Fzc0FMY1BNVE9kekJsZWk3?=
 =?utf-8?B?MlYzRDF4Tm1sbzlyWDZ2Q0psNlVDZFdhRlJTcjBjVlFkMGgvelpXTWhraVdL?=
 =?utf-8?B?TEFlQnlVdEZydkFBOG9IMXl2U2FYaWpCZlZQN3hTdDI3SE1La25sV1ZyM2Nv?=
 =?utf-8?B?MUp4Zmd3QWlGVmpvM1JRTUdxakkwdE0rcU94NDF3aVpPOWRINzlUU0dRUXN2?=
 =?utf-8?Q?oCCKyGP5?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e97abc27-3d4f-4ca9-9c1a-08dba4e816ed
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2023 21:21:32.9149
 (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: LG7oR1DoMERka+xPxmzD5KIlj1pHmBJEuPmfeYrKaHMRI611qM82iL5vWKP8GDf6k5qliJtnJ+wdUZcrl2yjoDNtlWMha6SzNrOC5/D2NeA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB7001
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-24_18,2023-08-24_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0
 suspectscore=0 mlxscore=0 malwarescore=0 adultscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000
 definitions=main-2308240185
X-Proofpoint-ORIG-GUID: EObIrr3DLyruPIkbt_lLa0OfcTVSbU3g
X-Proofpoint-GUID: EObIrr3DLyruPIkbt_lLa0OfcTVSbU3g



On 8/24/23 11:41 AM, Juergen Gross wrote:
> There are several functions involved for performing the functionality
> of evtchn_do_upcall():
> 
> - __xen_evtchn_do_upcall() doing the real work
> - xen_hvm_evtchn_do_upcall() just being a wrapper for
>    __xen_evtchn_do_upcall(), exposed for external callers
> - xen_evtchn_do_upcall() calling __xen_evtchn_do_upcall(), too, but
>    without any user
> 
> Simplify this maze by:
> 
> - removing the unused xen_evtchn_do_upcall()
> - removing xen_hvm_evtchn_do_upcall() as the only left caller of
>    __xen_evtchn_do_upcall(), while renaming __xen_evtchn_do_upcall() to
>    xen_evtchn_do_upcall()
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 21:37:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 21:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590333.922586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZI1K-0004im-3c; Thu, 24 Aug 2023 21:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590333.922586; Thu, 24 Aug 2023 21:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZI1K-0004if-0v; Thu, 24 Aug 2023 21:37:38 +0000
Received: by outflank-mailman (input) for mailman id 590333;
 Thu, 24 Aug 2023 21:37:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZI1H-0004iY-RW
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 21:37:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6eb2e37b-42c6-11ee-8783-cb3800f73035;
 Thu, 24 Aug 2023 23:37:33 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D6C8F625C0;
 Thu, 24 Aug 2023 21:37:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DC416C433C8;
 Thu, 24 Aug 2023 21:37: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: 6eb2e37b-42c6-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692913051;
	bh=aQXBuYMvPVZfXsWe9nTY1athPdGWi1r3x5hqaCM1Hk0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NhFsCYnhDhfHoCHFlOfaG/Jm6udLtx1Gnj3Pw+hSSzQEhRcf+Q8yXy7tmpxjbCJut
	 V+RSzWuwZYDM4l7kzob4sHekHwYyZoYd2cH1CeHCnvGZuAK6TeDFkLa3u8MSVx24lY
	 +zDufjKxuphB86kRO5tgevJckTHRvH4w8qvMsoU0Mr3OHfVUU74/+tXWN9O+xoFu4v
	 XYogieyv65v1pSeDUlenBCPaM7QH4rhBLAanToPZJAN1KcW+kzF4IAoYeXLExhMAkr
	 StjFM+TBk5+vAa9SW5ehAzWBVp6rjKEoGQ/9n+MU6+LaL8Ux7gntrprz69I+Tsy7Lu
	 QMW2sxkwBavLg==
Date: Thu, 24 Aug 2023 14:37:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: tamas@tklengyel.com
cc: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org, 
    consulting@bugseng.com, jbeulich@suse.com, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 06/13] xen/mem_access: address violations of MISRA
 C:2012 Rule 7.3
In-Reply-To: <14f3796e-d591-1eb0-7188-8bb44bc582b9@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308241437230.6458@ubuntu-linux-20-04-desktop>
References: <cover.1691053438.git.simone.ballarin@bugseng.com> <7e4ff67a24206177c5a304055f395cc2983bb994.1691053438.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308031746340.2127516@ubuntu-linux-20-04-desktop>
 <14f3796e-d591-1eb0-7188-8bb44bc582b9@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Tamas, is it possible that you are not actually subscribed to xen-devel
with your email tamas@tklengyel.com  ?

Sorry for top-posting I wanted to make sure Tamas saw this.


On Thu, 24 Aug 2023, Jan Beulich wrote:
> On 04.08.2023 02:47, Stefano Stabellini wrote:
> > On Thu, 3 Aug 2023, Simone Ballarin wrote:
> >> From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> >>
> >> The xen sources contain violations of MISRA C:2012 Rule 7.3 whose headline
> >> states:
> >> "The lowercase character 'l' shall not be used in a literal suffix".
> >>
> >> Use the "L" suffix instead of the "l" suffix, to avoid potential ambiguity.
> >> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
> >>
> >> The changes in this patch are mechanical.
> >>
> >> Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> >> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> I notice this again was committed with an ack by Tamas which has never appeared
> on list. At that time I pointed out that the reason may have been connected to
> the mail (as you had forwarded) having been a HTML one.
> 
> Yet then looks like the same has happened to me, with "Re: Ping: [PATCH]
> mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()". I can't find
> record of this in the list archive. And that mail, from all I can tell, was a
> plain text one.
> 
> George, for the earlier instance Stefano had Cc-ed you, apparently on the
> assumption that you might be able to do something about this, or initiate that
> something be done. Is there anything that was found out? Just in case I'll
> attach the mail I did receive.
> 
> I also wonder what other mails from you, Tamas, may not have appeared on list,
> and instead were (presumably) only delivered to people explicitly Cc-ed.



From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:03:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590340.922596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIQV-000094-35; Thu, 24 Aug 2023 22:03:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590340.922596; Thu, 24 Aug 2023 22:03: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 1qZIQV-00008x-0S; Thu, 24 Aug 2023 22:03:39 +0000
Received: by outflank-mailman (input) for mailman id 590340;
 Thu, 24 Aug 2023 22:03: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=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZIQU-00008r-7f
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:03:38 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12c2a6dd-42ca-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 00:03:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7E1F466117;
 Thu, 24 Aug 2023 22:03:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3B54CC433C8;
 Thu, 24 Aug 2023 22:03: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: 12c2a6dd-42ca-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692914614;
	bh=ltLdf+HLq8NBHuWCGX1yJy0cSUQvInVFhPwJr8IXKxY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gdUJBLpF6quuHfYyPtYZrAQ3cIZNKJCOaassAw+TbHszEZPX2SPtj/xzL5znFpdl+
	 p/P7ugZwhcCy//qFflQwO2NNGRPZ8Qpr++tT2JmO7GKZ2RkvojzakrXWUAk2S5wGSs
	 zaUYhIw5VxG/R3AphaYYYB8QKRWNGOZeS4DLRsm1JACrSbhzu4gfx9dbwp2hVWsBNL
	 x9lONUDRkz2V3silvd88gaLGPKFIqlIJfDEZeTxgwMz9Ydi/OiolA3mWTrcnBFk84f
	 bIWXKYS7Tn7mdg0ELbxOjQ2URoq4Q0CqDkLWfRkSpZfvgHQpxGW8WKW9PLYXCtn5oS
	 EiNxV/xaKNPoA==
Date: Thu, 24 Aug 2023 15:03:30 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: paul@xen.org, wl@xen.org
cc: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.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>, nicola.vetrini@bugseng.com
Subject: Need Ack, Re: [XEN PATCH v4 3/4] x86/viridian: address violations
 of MISRA C:2012 Rule 7.2
In-Reply-To: <fb8c98c3e0450dc5a30a02ea2e477865@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308241503050.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690368810.git.simone.ballarin@bugseng.com> <3007febabe8a13259dc10b566d23a27a89b75358.1690368810.git.simone.ballarin@bugseng.com> <fb8c98c3e0450dc5a30a02ea2e477865@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Paul, Wei, can we have an ack?


On Thu, 24 Aug 2023, Nicola Vetrini wrote:
> On 26/07/2023 13:03, Simone Ballarin wrote:
> > From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > 
> > The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> > headline states:
> > "A 'u' or 'U' suffix shall be applied to all integer constants
> > that are represented in an unsigned type".
> > 
> > Add the 'U' suffix to integers literals with unsigned type and also to other
> > literals used in the same contexts or near violations, when their positive
> > nature is immediately clear. The latter changes are done for the sake of
> > uniformity.
> > 
> > Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> > Changes in v4:
> > - change commit headline
> > - add Reviewed-by
> > 
> > Changes in v3:
> > - create this commit for 'viridian.c' and 'hyperv-tlfs.h'
> > ---
> >  xen/arch/x86/hvm/viridian/viridian.c         |  2 +-
> >  xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 28 ++++++++++----------
> >  2 files changed, 15 insertions(+), 15 deletions(-)
> > 
> 
> This patch has perhaps slipped by since its submission. As it can be applied
> on top of
> staging without conflicts, then it probably needs an ack from the x86 viridian
> maintainers.
> 
> -- 
> Nicola Vetrini, BSc
> Software Engineer, BUGSENG srl (https://bugseng.com)
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:04:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590346.922606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIRW-0000gM-CQ; Thu, 24 Aug 2023 22:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590346.922606; Thu, 24 Aug 2023 22:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIRW-0000gD-9i; Thu, 24 Aug 2023 22:04:42 +0000
Received: by outflank-mailman (input) for mailman id 590346;
 Thu, 24 Aug 2023 22:04:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZIRV-0000fp-E8
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:04: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 3897baee-42ca-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 00:04:40 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 32DF165737;
 Thu, 24 Aug 2023 22:04:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ECDA6C433C8;
 Thu, 24 Aug 2023 22:04: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: 3897baee-42ca-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692914678;
	bh=6Q9tCkGlNn3BIxdOpVWm3RCL2D6MjsrULS845ohWoHs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bJeN95K9z+q9z9ixPglxnjtVk7C4QOvdZmlgiR2Na1fucbmT2veEds9yQu/gMud3f
	 z8EO0Vl8ymz0483V/XWijUuWWtMVxrD9A45BHlwsRraFpcn1Cr0o+wbVWZ43pQcKPY
	 q7Lox+4zZWZ9BxWoxjuNE8orlN6je+mMkdKZob7fYVD+FtrSQzkkHLOPAPiB9iyfJx
	 dNmCPQ4g5pUBP3BGMmtytAc88rfFTpWoOam9cgQYX/936P3FhEdtlTxEzlpDg6VWrg
	 uADGR4m7bqXsGAbPa1NHR0lL/DSLzw1j/h2Ww2e/11t1S0Xf11l55HhrQZfetiq7Uq
	 LtEO5P5IfTinw==
Date: Thu, 24 Aug 2023 15:04:34 -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: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v4 1/4] x86/vmx: address violations of MISRA C:2012
 Rule 7.2
In-Reply-To: <3c68a16a3e2e6f552c5fd41b24c901d6@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308241503380.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690368810.git.simone.ballarin@bugseng.com> <6c2473a29d60460bf69382fd1e983752634b6992.1690368810.git.simone.ballarin@bugseng.com> <3c68a16a3e2e6f552c5fd41b24c901d6@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, 24 Aug 2023, Nicola Vetrini wrote:
> On 26/07/2023 13:03, Simone Ballarin wrote:
> > From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > 
> > The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> > headline states:
> > "A 'u' or 'U' suffix shall be applied to all integer constants
> > that are represented in an unsigned type".
> > 
> > Add the 'U' suffix to integers literals with unsigned type.
> > 
> > For the sake of uniformity, the following changes are made:
> > - add the 'U' suffix to macros near
> >   'CPU_BASED_ACTIVATE_SECONDARY_CONTROLS' and
> >   'SECONDARY_EXEC_NOTIFY_VM_EXITING' macros in 'vmcs.h'
> > - add the 'U' suffix to macros near 'INTR_INFO_VALID_MASK'
> >   macro in 'vmx.h'
> > 
> > Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Changes in v4:
> > - change commit headline
> > 
> > Changes in v3:
> > - change 'Signed-off-by' ordering
> > - change commit message
> > - remove unnecessary changes in 'vvmx.c'
> > - add 'uint32_t' casts in 'vvmx.c'
> > - add missing 'U' in 'vmcs.h' macros
> > - change macro to '(1u << 31)' in 'vmx.h'
> > - remove unnecessary changes to 'vmx.h'
> > 
> > Changes in v2:
> > - minor change to commit title
> > - change commit message
> > - remove unnecessary changes in 'vpmu_intel.c' and 'vmx.h'
> > - add 'ULL' suffix in 'vpmu_intel.c'
> > - add zero-padding to constants in 'vmx.h'
> > - add missing 'U' in 'vmx.h'
> > ---
> >  xen/arch/x86/cpu/vpmu_intel.c           |  2 +-
> >  xen/arch/x86/hvm/vmx/vmcs.c             |  6 +-
> >  xen/arch/x86/hvm/vmx/vvmx.c             |  8 +--
> >  xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 84 ++++++++++++-------------
> >  xen/arch/x86/include/asm/hvm/vmx/vmx.h  | 16 ++---
> >  5 files changed, 58 insertions(+), 58 deletions(-)
> > 
> > diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
> > index fa5b40c65c..6330c89b47 100644
> > --- a/xen/arch/x86/cpu/vpmu_intel.c
> > +++ b/xen/arch/x86/cpu/vpmu_intel.c
> > @@ -945,7 +945,7 @@ const struct arch_vpmu_ops *__init core2_vpmu_init(void)
> >      fixed_counters_mask = ~((1ull << core2_get_bitwidth_fix_count()) - 1);
> >      global_ctrl_mask = ~((((1ULL << fixed_pmc_cnt) - 1) << 32) |
> >                           ((1ULL << arch_pmc_cnt) - 1));
> > -    global_ovf_ctrl_mask = ~(0xC000000000000000 |
> > +    global_ovf_ctrl_mask = ~(0xC000000000000000ULL |
> >                               (((1ULL << fixed_pmc_cnt) - 1) << 32) |
> >                               ((1ULL << arch_pmc_cnt) - 1));
> >      if ( version > 2 )
> > diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> > index 13719cc923..6cefb88aec 100644
> > --- a/xen/arch/x86/hvm/vmx/vmcs.c
> > +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> > @@ -911,7 +911,7 @@ void vmx_clear_msr_intercept(struct vcpu *v,
> > unsigned int msr,
> >          if ( type & VMX_MSR_W )
> >              clear_bit(msr, msr_bitmap->write_low);
> >      }
> > -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> > +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
> >      {
> >          msr &= 0x1fff;
> >          if ( type & VMX_MSR_R )
> > @@ -939,7 +939,7 @@ void vmx_set_msr_intercept(struct vcpu *v, unsigned int
> > msr,
> >          if ( type & VMX_MSR_W )
> >              set_bit(msr, msr_bitmap->write_low);
> >      }
> > -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> > +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
> >      {
> >          msr &= 0x1fff;
> >          if ( type & VMX_MSR_R )
> > @@ -957,7 +957,7 @@ bool vmx_msr_is_intercepted(struct vmx_msr_bitmap
> > *msr_bitmap,
> >      if ( msr <= 0x1fff )
> >          return test_bit(msr, is_write ? msr_bitmap->write_low
> >                                        : msr_bitmap->read_low);
> > -    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
> > +    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
> >          return test_bit(msr & 0x1fff, is_write ? msr_bitmap->write_high
> >                                                 : msr_bitmap->read_high);
> >      else
> > diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
> > index 16b0ef82b6..b7be424afb 100644
> > --- a/xen/arch/x86/hvm/vmx/vvmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vvmx.c
> > @@ -263,7 +263,7 @@ uint64_t get_vvmcs_virtual(void *vvmcs, uint32_t
> > vmcs_encoding)
> >              res >>= 32;
> >          break;
> >      case VVMCS_WIDTH_32:
> > -        res &= 0xffffffff;
> > +        res = (uint32_t)res;
> >          break;
> >      case VVMCS_WIDTH_NATURAL:
> >      default:
> > @@ -315,14 +315,14 @@ void set_vvmcs_virtual(void *vvmcs, uint32_t
> > vmcs_encoding, uint64_t val)
> >      case VVMCS_WIDTH_64:
> >          if ( enc.access_type )
> >          {
> > -            res &= 0xffffffff;
> > +            res = (uint32_t)res;
> >              res |= val << 32;
> >          }
> >          else
> >              res = val;
> >          break;
> >      case VVMCS_WIDTH_32:
> > -        res = val & 0xffffffff;
> > +        res = (uint32_t)val;
> >          break;
> >      case VVMCS_WIDTH_NATURAL:
> >      default:
> > @@ -2306,7 +2306,7 @@ int nvmx_msr_read_intercept(unsigned int msr,
> > u64 *msr_content)
> >          break;
> >      case MSR_IA32_VMX_CR0_FIXED1:
> >          /* allow 0-settings for all bits */
> > -        data = 0xffffffff;
> > +        data = 0xffffffffU;
> >          break;
> >      case MSR_IA32_VMX_CR4_FIXED0:
> >          /* VMXE bit must be 1 in VMX operation */
> > diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> > b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> > index d07fcb2bc9..e056643993 100644
> > --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> > +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> > @@ -187,27 +187,27 @@ bool_t __must_check vmx_vmcs_try_enter(struct vcpu
> > *v);
> >  void vmx_vmcs_exit(struct vcpu *v);
> >  void vmx_vmcs_reload(struct vcpu *v);
> > 
> > -#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004
> > -#define CPU_BASED_USE_TSC_OFFSETING           0x00000008
> > -#define CPU_BASED_HLT_EXITING                 0x00000080
> > -#define CPU_BASED_INVLPG_EXITING              0x00000200
> > -#define CPU_BASED_MWAIT_EXITING               0x00000400
> > -#define CPU_BASED_RDPMC_EXITING               0x00000800
> > -#define CPU_BASED_RDTSC_EXITING               0x00001000
> > -#define CPU_BASED_CR3_LOAD_EXITING            0x00008000
> > -#define CPU_BASED_CR3_STORE_EXITING           0x00010000
> > -#define CPU_BASED_CR8_LOAD_EXITING            0x00080000
> > -#define CPU_BASED_CR8_STORE_EXITING           0x00100000
> > -#define CPU_BASED_TPR_SHADOW                  0x00200000
> > -#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000
> > -#define CPU_BASED_MOV_DR_EXITING              0x00800000
> > -#define CPU_BASED_UNCOND_IO_EXITING           0x01000000
> > -#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000
> > -#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000
> > -#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000
> > -#define CPU_BASED_MONITOR_EXITING             0x20000000
> > -#define CPU_BASED_PAUSE_EXITING               0x40000000
> > -#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000
> > +#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004U
> > +#define CPU_BASED_USE_TSC_OFFSETING           0x00000008U
> > +#define CPU_BASED_HLT_EXITING                 0x00000080U
> > +#define CPU_BASED_INVLPG_EXITING              0x00000200U
> > +#define CPU_BASED_MWAIT_EXITING               0x00000400U
> > +#define CPU_BASED_RDPMC_EXITING               0x00000800U
> > +#define CPU_BASED_RDTSC_EXITING               0x00001000U
> > +#define CPU_BASED_CR3_LOAD_EXITING            0x00008000U
> > +#define CPU_BASED_CR3_STORE_EXITING           0x00010000U
> > +#define CPU_BASED_CR8_LOAD_EXITING            0x00080000U
> > +#define CPU_BASED_CR8_STORE_EXITING           0x00100000U
> > +#define CPU_BASED_TPR_SHADOW                  0x00200000U
> > +#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000U
> > +#define CPU_BASED_MOV_DR_EXITING              0x00800000U
> > +#define CPU_BASED_UNCOND_IO_EXITING           0x01000000U
> > +#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000U
> > +#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000U
> > +#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000U
> > +#define CPU_BASED_MONITOR_EXITING             0x20000000U
> > +#define CPU_BASED_PAUSE_EXITING               0x40000000U
> > +#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000U
> >  extern u32 vmx_cpu_based_exec_control;
> > 
> >  #define PIN_BASED_EXT_INTR_MASK         0x00000001
> > @@ -238,26 +238,26 @@ extern u32 vmx_vmexit_control;
> >  #define VM_ENTRY_LOAD_BNDCFGS           0x00010000
> >  extern u32 vmx_vmentry_control;
> > 
> > -#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
> > -#define SECONDARY_EXEC_ENABLE_EPT               0x00000002
> > -#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004
> > -#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008
> > -#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010
> > -#define SECONDARY_EXEC_ENABLE_VPID              0x00000020
> > -#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040
> > -#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080
> > -#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100
> > -#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200
> > -#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400
> > -#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000
> > -#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000
> > -#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000
> > -#define SECONDARY_EXEC_ENABLE_PML               0x00020000
> > -#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000
> > -#define SECONDARY_EXEC_XSAVES                   0x00100000
> > -#define SECONDARY_EXEC_TSC_SCALING              0x02000000
> > -#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000
> > -#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000
> > +#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001U
> > +#define SECONDARY_EXEC_ENABLE_EPT               0x00000002U
> > +#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004U
> > +#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008U
> > +#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010U
> > +#define SECONDARY_EXEC_ENABLE_VPID              0x00000020U
> > +#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040U
> > +#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080U
> > +#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100U
> > +#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200U
> > +#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400U
> > +#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000U
> > +#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000U
> > +#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000U
> > +#define SECONDARY_EXEC_ENABLE_PML               0x00020000U
> > +#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000U
> > +#define SECONDARY_EXEC_XSAVES                   0x00100000U
> > +#define SECONDARY_EXEC_TSC_SCALING              0x02000000U
> > +#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000U
> > +#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000U
> >  extern u32 vmx_secondary_exec_control;
> > 
> >  #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
> > @@ -346,7 +346,7 @@ extern u64 vmx_ept_vpid_cap;
> >  #define cpu_has_vmx_notify_vm_exiting \
> >      (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
> > 
> > -#define VMCS_RID_TYPE_MASK              0x80000000
> > +#define VMCS_RID_TYPE_MASK              0x80000000U
> > 
> >  /* GUEST_INTERRUPTIBILITY_INFO flags. */
> >  #define VMX_INTR_SHADOW_STI             0x00000001
> > diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> > b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> > index c84acc221d..d4b335a2bc 100644
> > --- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> > +++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> > @@ -137,7 +137,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
> >  /*
> >   * Exit Reasons
> >   */
> > -#define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
> > +#define VMX_EXIT_REASONS_FAILED_VMENTRY (1u << 31)
> >  #define VMX_EXIT_REASONS_BUS_LOCK       (1u << 26)
> > 
> >  #define EXIT_REASON_EXCEPTION_NMI       0
> > @@ -209,12 +209,12 @@ static inline void pi_clear_sn(struct pi_desc
> > *pi_desc)
> >   * Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit
> > Qualification
> >   * field for EPT violations, PML full and SPP-related event vmexits.
> >   */
> > -#define INTR_INFO_VECTOR_MASK           0xff            /* 7:0 */
> > -#define INTR_INFO_INTR_TYPE_MASK        0x700           /* 10:8 */
> > -#define INTR_INFO_DELIVER_CODE_MASK     0x800           /* 11 */
> > -#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x1000          /* 12 */
> > -#define INTR_INFO_VALID_MASK            0x80000000      /* 31 */
> > -#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000
> > +#define INTR_INFO_VECTOR_MASK           0x000000ffU     /* 7:0 */
> > +#define INTR_INFO_INTR_TYPE_MASK        0x00000700U     /* 10:8 */
> > +#define INTR_INFO_DELIVER_CODE_MASK     0x00000800U     /* 11 */
> > +#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x00001000U     /* 12 */
> > +#define INTR_INFO_VALID_MASK            0x80000000U     /* 31 */
> > +#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000U
> > 
> >  /*
> >   * Exit Qualifications for NOTIFY VM EXIT
> > @@ -607,7 +607,7 @@ static inline void vmx_pi_hooks_assign(struct domain *d)
> > {}
> >  static inline void vmx_pi_hooks_deassign(struct domain *d) {}
> >  #endif
> > 
> > -#define APIC_INVALID_DEST           0xffffffff
> > +#define APIC_INVALID_DEST           0xffffffffU
> > 
> >  /* EPT violation qualifications definitions */
> >  typedef union ept_qual {
> 
> I checked that this patch still applies cleanly on the current staging branch.
> Can this get an ack from the VT-X maintainer(s)?

Jan having acked this patch already, and the VT-X maintainers being not
always fast in reviews, I imagine Jan will commit the patch on his own
in a few days if nobody speaks up.


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590351.922617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZISF-0001Hx-Pv; Thu, 24 Aug 2023 22:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590351.922617; Thu, 24 Aug 2023 22: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 1qZISF-0001Hq-M9; Thu, 24 Aug 2023 22:05:27 +0000
Received: by outflank-mailman (input) for mailman id 590351;
 Thu, 24 Aug 2023 22:05: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=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZISE-0001Du-2C
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:05:26 +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 53702e63-42ca-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 00:05:25 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 46B2065737;
 Thu, 24 Aug 2023 22:05:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 984DCC433C7;
 Thu, 24 Aug 2023 22:05:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53702e63-42ca-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692914723;
	bh=zK+jn+lexDwur2F1pVT4eZD+uKP0AttIQ+xAGTSkJCc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PoeBULJG1R99D4+7SgklWzn16HyQwz++bE75FqWoaQoTRRxHVu+rAfhcTsQKi5j+m
	 IQIKcnT9xlvmiXYL4HL0PJ2x70HdhqYNAXl5icNSVyDj/XlY38P82LkZ7gaEcba6EU
	 LIrM8RwEFRKoqI86HZkyN+STCck/rbHLsoROp84zcYYgelbu+c3nGiW4cN28/H+Rd/
	 hOgZddliMj8PWT6qDnMy8YL5BZWBzSuaN9iRbst2I6n9Ys7aG3ZTWmYrIZQq/DueD/
	 LYgzDeHjet38KXAUqbiclktAMGyPLLoT30ppTcMXPLkqpQu4cKnNpmTGWpe7feIJmD
	 Mn3ypFuQEnx1A==
Date: Thu, 24 Aug 2023 15:05:20 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: roger.pau@citrix.com
cc: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, nicola.vetrini@bugseng.com
Subject: Need Ack, Re: [XEN PATCH v4 2/4] xen/vpci: address violations of
 MISRA C:2012 Rule 7.2
In-Reply-To: <1b4e6569c0c8d17c73341e43ed46c232@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308241505000.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690368810.git.simone.ballarin@bugseng.com> <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com> <1b4e6569c0c8d17c73341e43ed46c232@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Please ack

On Thu, 24 Aug 2023, Nicola Vetrini wrote:
> On 26/07/2023 13:03, Simone Ballarin wrote:
> > From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > 
> > The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> > headline states:
> > "A 'u' or 'U' suffix shall be applied to all integer constants
> > that are represented in an unsigned type".
> > 
> > Add the 'U' suffix to integers literals with unsigned type and also to other
> > literals used in the same contexts or near violations, when their positive
> > nature is immediately clear. The latter changes are done for the sake of
> > uniformity.
> > 
> > Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> > Changes in v4:
> > - change commit headline
> > 
> > Changes in v3:
> > - change 'Signed-off-by' ordering
> > - add 'uint32_t' casts in 'msi.c' and 'msix.c'
> > 
> > Changes in v2:
> > - minor change to commit title
> > - change commit message
> > ---
> >  xen/drivers/vpci/msi.c  | 2 +-
> >  xen/drivers/vpci/msix.c | 2 +-
> >  xen/drivers/vpci/vpci.c | 6 +++---
> >  3 files changed, 5 insertions(+), 5 deletions(-)
> > 
> 
> Like other patches in this series, this one could also benefit from an ack
> from
> VPCI maintainers to get committed, as it does apply cleanly on staging.
> 
> -- 
> Nicola Vetrini, BSc
> Software Engineer, BUGSENG srl (https://bugseng.com)
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:06:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590358.922627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZISp-0001sf-35; Thu, 24 Aug 2023 22:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590358.922627; Thu, 24 Aug 2023 22:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZISo-0001sY-Vk; Thu, 24 Aug 2023 22:06:02 +0000
Received: by outflank-mailman (input) for mailman id 590358;
 Thu, 24 Aug 2023 22:06:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZISn-0001sF-Hf
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:06:01 +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 686bae19-42ca-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 00:06:00 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7610864941;
 Thu, 24 Aug 2023 22:05:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E5C7FC433C8;
 Thu, 24 Aug 2023 22:05: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: 686bae19-42ca-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692914758;
	bh=ud65ELzYxOx564bsrZYqy+9OCYVxpk4wwbNQBM3yZQw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=N/l4JIMAdN5EUMmSSU6Ub6hXispKn76eRjj5Mz4KR2QChTfELttE8RT6kbEtsoHkR
	 Zl+AfZfLfiL0ElSMLW8dojtujZKdBP3WlRWIzcPussLV2uR18BaHIbxAN2+7s1oQ5j
	 jLlBF95welmVu4AQcfdyZSQ86ahB3wa3RQgLHPo+iRxqmmZJzvkp7hCIpSc4iYq0cb
	 UXiM6YqjwXMxg/8EjCz45VZkz9NQpShYXSnaGtgR32P6Jyv25gufnMjTzfHCryeX5E
	 jTxOixg0cXn3oM8SsuiaiEBPm4U6GctOM9vaBtUMjMR0uqLxJKVGp7qrR+TAHBd+HV
	 G23n+m+dsG/NQ==
Date: Thu, 24 Aug 2023 15:05:55 -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: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Gianluca Luparini <gianluca.luparini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v4 2/4] xen/vpci: address violations of MISRA C:2012
 Rule 7.2
In-Reply-To: <ZOdK9w69E2IiHI1r@MacBook-Air-de-Roger.local>
Message-ID: <alpine.DEB.2.22.394.2308241505350.6458@ubuntu-linux-20-04-desktop>
References: <cover.1690368810.git.simone.ballarin@bugseng.com> <2cb770d946c4bf858a41271fd7b9985f789ca149.1690368810.git.simone.ballarin@bugseng.com> <ZOdK9w69E2IiHI1r@MacBook-Air-de-Roger.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-338273008-1692914757=:6458"

  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-338273008-1692914757=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 24 Aug 2023, Roger Pau MonnĂ© wrote:
> On Wed, Jul 26, 2023 at 01:03:37PM +0200, Simone Ballarin wrote:
> > From: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > 
> > The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> > headline states:
> > "A 'u' or 'U' suffix shall be applied to all integer constants
> > that are represented in an unsigned type".
> > 
> > Add the 'U' suffix to integers literals with unsigned type and also to other
> > literals used in the same contexts or near violations, when their positive
> > nature is immediately clear. The latter changes are done for the sake of
> > uniformity.
> > 
> > Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks! I saw too late :-)
--8323329-338273008-1692914757=:6458--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:06:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590360.922637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZISy-0002Bv-DF; Thu, 24 Aug 2023 22:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590360.922637; Thu, 24 Aug 2023 22:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZISy-0002Bo-8B; Thu, 24 Aug 2023 22:06:12 +0000
Received: by outflank-mailman (input) for mailman id 590360;
 Thu, 24 Aug 2023 22:06: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 1qZISx-0002BN-OG; Thu, 24 Aug 2023 22:06: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 1qZISx-0003W9-Hn; Thu, 24 Aug 2023 22:06: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 1qZISx-0003f2-2v; Thu, 24 Aug 2023 22:06:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZISx-0003de-2R; Thu, 24 Aug 2023 22:06: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=rBUVonCSa8ziJsqppx2o4/6g686KteO9ffXRQBVyxuA=; b=4srygFG0N8lrn1LIHwuWOhvk0G
	rQV8xjI6ss9QMCaIEXfbpu9B5rkRUHjs4v1yKHa6+L67Kr73WU3t1oDQoh9QRntmFfW5RcgQeAWnV
	h+AFfix4OGHKe3+15FHV2oxeSgB8tC43INzNp6qrAMydWgwJNM/mQttHTdiA3AghLMxE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182510: 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=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
X-Osstest-Versions-That:
    xen=11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 22:06:11 +0000

flight 182510 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182510/

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                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
baseline version:
 xen                  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1

Last test of basis   182504  2023-08-24 11:02:28 Z    0 days
Testing same since   182510  2023-08-24 19:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Edwin TĂ¶rĂ¶k <edwin.torok@cloud.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   11d9f3ddf5..ec272d8d4c  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:25:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:25:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590378.922647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIlH-0005Wx-TY; Thu, 24 Aug 2023 22:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590378.922647; Thu, 24 Aug 2023 22:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIlH-0005Wq-QX; Thu, 24 Aug 2023 22:25:07 +0000
Received: by outflank-mailman (input) for mailman id 590378;
 Thu, 24 Aug 2023 22:25:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZIlF-0005Wj-W8
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:25: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 12002c01-42cd-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 00:25:04 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A0629622BB;
 Thu, 24 Aug 2023 22:25:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59527C433C7;
 Thu, 24 Aug 2023 22:25: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: 12002c01-42cd-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692915902;
	bh=rxl1EOik2RvNuNs4XWPNerc7crzYgkyv7EgWMDrh4QM=;
	h=Date:From:To:cc:Subject:From;
	b=hgtwEJRcfhxz5Q2vjxv2EDsQ8HuG8t570/B3Rc2nVVgYakeKZ8bAjn1rndVHZ2G/d
	 UR2LQu6sWcMv9ipSNr4ovQh7wT/7lO16CoOIEtoovRR+HzD1HlQJPfu+XaziQqI1S1
	 BMUVGup64TTDbsI6bW7AV/E2isbsyRIhJprvYxndBNjuYgs2S9Y9T5Qc6WW5yUMbFJ
	 FbskvgWPhzrfcGXZHQ3zLBzpiHrMhQTbdLU8nur4gAVjDCwOryMTzUQwIfnnfx9Oft
	 bHGxpqodtLBwy+0nRFmr8jR3cQMXokfGyDSNcPmsTZ31oiGxPdXj74W/e7ONS0o3EF
	 TIQCjEIQOxUHw==
Date: Thu, 24 Aug 2023 15:24:59 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: luca.fancellu@arm.com
cc: sstabellini@kernel.org, nicola.vetrini@bugseng.com, 
    xen-devel@lists.xenproject.org, bertrand.marquis@arm.com
Subject: xen-analysis ECLAIR support
Message-ID: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi Luca,

We are looking into adding ECLAIR support for xen-analysis so that we
can use the SAF-n-safe tags also with ECLAIR.

One question that came up is about multi-line statements. For instance,
in a case like the following:

diff --git a/xen/common/inflate.c b/xen/common/inflate.c
index 8fa4b96d12..8bdc9208da 100644
--- a/xen/common/inflate.c
+++ b/xen/common/inflate.c
@@ -1201,6 +1201,7 @@ static int __init gunzip(void)
     magic[1] = NEXTBYTE();
     method   = NEXTBYTE();
 
+    /* SAF-1-safe */
     if (magic[0] != 037 ||
         ((magic[1] != 0213) && (magic[1] != 0236))) {
         error("bad gzip magic numbers");


Would SAF-1-safe cover both 037, and also 0213 and 0213?
Or would it cover only 037?

We haven't use SAFE-n-safe extensively through the codebase yet but
my understanding is that SAFE-n-safe would cover the entire statement of
the following line, even if it is multi-line. Is that also your
understanding? Does it work like that with cppcheck?


It looks like ECLAIR requires a written-down number of lines of code to
deviate if it is more than 1 line. In this example it would be 2 lines:

     /* SAF-1-safe 2 */
     if (magic[0] != 037 ||
         ((magic[1] != 0213) && (magic[1] != 0236))) {

One option that I was thinking about is whether we can add the number of
lines automatically in xen-analysis based on the number of lines of the
next statement. What do you think?

It seems fragile to actually keep the number of lines inside the SAF
comment in the code. I am afraid it could get out of sync due to code
style refactoring or other mechanical changes.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 22:27:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 22:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590384.922657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIna-00066j-95; Thu, 24 Aug 2023 22:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590384.922657; Thu, 24 Aug 2023 22:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZIna-00066c-5t; Thu, 24 Aug 2023 22:27:30 +0000
Received: by outflank-mailman (input) for mailman id 590384;
 Thu, 24 Aug 2023 22:27:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZInZ-00066U-A2
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 22:27:29 +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 6700a26a-42cd-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 00:27:26 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9B7B2635DA;
 Thu, 24 Aug 2023 22:27:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE9F2C433C7;
 Thu, 24 Aug 2023 22:27: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: 6700a26a-42cd-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692916045;
	bh=ND8oR2rs1HKus0qtWo6HWRZfqnP4wwIQSfk7nfcmnMc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NFr1AiOwofbg/6LMxgixhwVBUNELsaYap+xQ/GnzqfqPAn4Ke60GOdvAppM67q8fP
	 zYuov+FqZ9A9omJhwInY/uZQFoP9C0+9mwI1pTo37hGNAqWms5d/IQM5DpZnMr8xLQ
	 j9xDboGIRDN+Cy2i7Es6cXbnS8jRGKpqyozHorXG1S8KR7G8wgsDhJ1n9OeF95xsWf
	 1yslag02rxo/K8IR86pZoBoy2Vn/VvpritxZopiFNf1ixogJusdwYTVA4lgTR/blyn
	 pDrE56kqZVOHowbfxw7dHRpSt3YylehifVYdG6pHrXR1FKBEEWcSe8p5jCnjI9J1ka
	 eRSrT67fi6L3A==
Date: Thu, 24 Aug 2023 15:27:21 -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, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, nicola.vetrini@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2] docs/misra: add rule 2.1 exceptions
In-Reply-To: <0cd5f18b-2da4-4f36-b6eb-c151965a0f64@xen.org>
Message-ID: <alpine.DEB.2.22.394.2308241513130.6458@ubuntu-linux-20-04-desktop>
References: <20230823223942.2981782-1-sstabellini@kernel.org> <0076d7e6-f099-473b-b81b-9ce8d5e18b7a@xen.org> <0cd5f18b-2da4-4f36-b6eb-c151965a0f64@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-897737943-1692915663=:6458"
Content-ID: <alpine.DEB.2.22.394.2308241527120.6458@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-897737943-1692915663=:6458
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308241527121.6458@ubuntu-linux-20-04-desktop>

On Thu, 24 Aug 2023, Julien Grall wrote:
> On 24/08/2023 12:46, Julien Grall wrote:
> > On 23/08/2023 23:39, Stefano Stabellini wrote:
> > > ---
> > > Â  docs/misra/rules.rst | 13 ++++++++++++-
> > > Â  1 file changed, 12 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > > index 8f0e4d3f25..4f33ed4ba6 100644
> > > --- a/docs/misra/rules.rst
> > > +++ b/docs/misra/rules.rst
> > > @@ -106,7 +106,18 @@ maintainers if you want to suggest a change.
> > > Â Â Â Â  * - `Rule 2.1
> > > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_02_01_1.c>`_
> > > Â Â Â Â Â Â  - Required
> > > Â Â Â Â Â Â  - A project shall not contain unreachable code
> > > -Â Â Â Â  -
> > > +Â Â Â Â  - The following are allowed:
> > > +Â Â Â Â Â Â Â Â  - Invariantly constant conditions, e.g.
> > > if(IS_ENABLED(CONFIG_HVM)) { S; }
> > > +Â Â Â Â Â Â Â Â  - Switch with a controlling value statically determined not to
> > > +Â Â Â Â Â Â Â Â Â Â  match one or more case statements
> > > +Â Â Â Â Â Â Â Â  - Functions that are intended to be referenced only from
> > > +Â Â Â Â Â Â Â Â Â Â  assembly code (e.g. 'do_trap_fiq')
> > > +Â Â Â Â Â Â Â Â  - Deliberate unreachability caused by certain macros/functions,
> > > +Â Â Â Â Â Â Â Â Â Â  e.g. BUG, assert_failed, panic, etc. See safe.json.
> > 
> > ... someone reading this and then reading safe.json will wonder why none are
> > present.
> > 
> > The list would then only contain the one(s) currently added in safe.json.
> > But there should be no expectation that the examples will grow everytime one
> > is added in safe.json.
> 
> I forgot to mention that the rest of the exceptions look good to me. So if you
> prefer, if you could remove this exception and commit the rest.

Let me see what I can do
--8323329-897737943-1692915663=:6458--


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 23:13:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 23:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590392.922666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZJW5-0003dP-He; Thu, 24 Aug 2023 23:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590392.922666; Thu, 24 Aug 2023 23: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 1qZJW5-0003dI-Ee; Thu, 24 Aug 2023 23:13:29 +0000
Received: by outflank-mailman (input) for mailman id 590392;
 Thu, 24 Aug 2023 23:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZJW4-0003d7-CB; Thu, 24 Aug 2023 23:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZJW4-0005Jf-07; Thu, 24 Aug 2023 23:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZJW3-0007L9-Ej; Thu, 24 Aug 2023 23:13:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZJW3-0007DF-EP; Thu, 24 Aug 2023 23:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xuymBl0RKBhLk8iEx6d/k2TqUOBGzySOo4Ql8afaojA=; b=CdDEu1S8RDBOX5g3/XojsQdB75
	s6I3FgYVckCtqYjL22CDARVStJhQNPiiBkNVUHTiYQlqoGuXTV+0uyy6QH3DsLArBb/aa4rDM185X
	3XDHisBP4B/a+OypdL85OkxKa43Fo9XnOLtsqiq3K5KWRr0ig2LGs20CoCmp+nGOl25o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182506-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182506: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64:xen-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2: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:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=93f5de5f648d2b1ce3540a4ac71756d4a852dc23
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 24 Aug 2023 23:13:27 +0000

flight 182506 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182506/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build      fail in 182499 REGR. vs. 182424

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot fail in 182499 pass in 182506
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 8 xen-boot fail in 182499 pass in 182506
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 15 guest-start.2 fail in 182499 pass in 182506
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail in 182499 pass in 182506
 test-amd64-amd64-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 182499
 test-armhf-armhf-xl          18 guest-start/debian.repeat  fail pass in 182499
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 18 guest-localmigrate/x10 fail pass in 182499

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 182499 n/a
 build-arm64-libvirt           1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 182499 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 182499 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                93f5de5f648d2b1ce3540a4ac71756d4a852dc23
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    2 days
Failing since        182452  2023-08-23 10:10:33 Z    1 days    3 attempts
Testing same since   182499  2023-08-24 05:04:50 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Hans de Goede <hdegoede@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Peng Fan <peng.fan@nxp.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rik van Riel <riel@surriel.com>
  Rob Herring <robh@kernel.org>
  Shih-Yi Chen <shihyic@nvidia.com>
  Swapnil Devesh <me@sidevesh.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     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-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 93f5de5f648d2b1ce3540a4ac71756d4a852dc23
Merge: a5e505a99ca7 453b014e2c29
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Aug 23 14:28:19 2023 -0700

    Merge tag 'acpi-6.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull ACPI fix from Rafael Wysocki:
     "Make an existing ACPI IRQ override quirk for PCSpecialist Elimina Pro
      16 M work as intended (Hans de Goede)"
    
    * tag 'acpi-6.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI: resource: Fix IRQ override quirk for PCSpecialist Elimina Pro 16 M

commit a5e505a99ca748583dbe558b691be1b26f05d678
Merge: 89bf6209cad6 0848cab765c6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Aug 23 08:32:52 2023 -0700

    Merge tag 'platform-drivers-x86-v6.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Hans de Goede:
     "Final set of three small fixes for 6.5"
    
    * tag 'platform-drivers-x86-v6.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
      platform/x86: ideapad-laptop: Add support for new hotkeys found on ThinkBook 14s Yoga ITL
      platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table

commit 0848cab765c634597636810bf76d0934003cce28
Author: Shih-Yi Chen <shihyic@nvidia.com>
Date:   Mon Aug 21 11:06:27 2023 -0400

    platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
    
    rshim console does not show all entries of dmesg.
    
    Fixed by setting MLXBF_TM_TX_LWM_IRQ for every CONSOLE notification.
    
    Signed-off-by: Shih-Yi Chen <shihyic@nvidia.com>
    Reviewed-by: Liming Sung <limings@nvidia.com>
    Reviewed-by: David Thompson <davthompson@nvidia.com>
    Link: https://lore.kernel.org/r/20230821150627.26075-1-shihyic@nvidia.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 89bf6209cad66214d3774dac86b6bbf2aec6a30d
Merge: 53663f4103ff 7882541ca06d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Aug 22 11:16:23 2023 -0700

    Merge tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes from Rob Herring:
    
     - Fix DT node refcount when creating platform devices
    
     - Fix deadlock in changeset code due to printing with devtree_lock held
    
     - Fix unittest EXPECT strings for parse_phandle_with_args_map() test
    
     - Fix IMA kexec memblock freeing
    
    * tag 'devicetree-fixes-for-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      of/platform: increase refcount of fwnode
      of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
      of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
      mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer

commit 7882541ca06d51a6c12d687827176c16d5e05f65
Author: Peng Fan <peng.fan@nxp.com>
Date:   Mon Aug 21 10:39:28 2023 +0800

    of/platform: increase refcount of fwnode
    
    commit 0f8e5651095b
    ("of/platform: Propagate firmware node by calling device_set_node()")
    use of_fwnode_handle to replace of_node_get, which introduces a side
    effect that the refcount is not increased. Then the out of tree
    jailhouse hypervisor enable/disable test will trigger kernel dump in
    of_overlay_remove, with the following sequence
    "
       of_changeset_revert(&overlay_changeset);
       of_changeset_destroy(&overlay_changeset);
       of_overlay_remove(&overlay_id);
    "
    
    So increase the refcount to avoid issues.
    
    This patch also release the refcount when releasing amba device to avoid
    refcount leakage.
    
    Fixes: 0f8e5651095b ("of/platform: Propagate firmware node by calling device_set_node()")
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Link: https://lore.kernel.org/r/20230821023928.3324283-2-peng.fan@oss.nxp.com
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 914d9d831e6126a6e7a92e27fcfaa250671be42c
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:57 2023 -0500

    of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
    
    While originally it was fine to format strings using "%pOF" while
    holding devtree_lock, this now causes a deadlock.  Lockdep reports:
    
        of_get_parent from of_fwnode_get_parent+0x18/0x24
        ^^^^^^^^^^^^^
        of_fwnode_get_parent from fwnode_count_parents+0xc/0x28
        fwnode_count_parents from fwnode_full_name_string+0x18/0xac
        fwnode_full_name_string from device_node_string+0x1a0/0x404
        device_node_string from pointer+0x3c0/0x534
        pointer from vsnprintf+0x248/0x36c
        vsnprintf from vprintk_store+0x130/0x3b4
    
    Fix this by moving the printing in __of_changeset_entry_apply() outside
    the lock. As the only difference in the multiple prints is the action
    name, use the existing "action_names" to refactor the prints into a
    single print.
    
    Fixes: a92eb7621b9fb2c2 ("lib/vsprintf: Make use of fwnode API to obtain node names and separators")
    Cc: stable@vger.kernel.org
    Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-2-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 0aeae3788e28f64ccb95405d4dc8cd80637ffaea
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 18 15:40:56 2023 -0500

    of: unittest: Fix EXPECT for parse_phandle_with_args_map() test
    
    Commit 12e17243d8a1 ("of: base: improve error msg in
    of_phandle_iterator_next()") added printing of the phandle value on
    error, but failed to update the unittest.
    
    Fixes: 12e17243d8a1 ("of: base: improve error msg in of_phandle_iterator_next()")
    Cc: stable@vger.kernel.org
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20230801-dt-changeset-fixes-v3-1-5f0410e007dd@kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

commit a260f7d726fde52c0278bd3fa085a758639bcee2
Author: AndrĂ© Apitzsch <git@apitzsch.eu>
Date:   Sat Aug 19 09:12:15 2023 +0200

    platform/x86: ideapad-laptop: Add support for new hotkeys found on ThinkBook 14s Yoga ITL
    
    The Lenovo Thinkbook 14s Yoga ITL has 4 new symbols/shortcuts on their
    F9-F11 and PrtSc keys:
    
    F9:    Has a symbol of a head with a headset, the manual says "Service key"
    F10:   Has a symbol of a telephone horn which has been picked up from the
           receiver, the manual says: "Answer incoming calls"
    F11:   Has a symbol of a telephone horn which is resting on the receiver,
           the manual says: "Reject incoming calls"
    PrtSc: Has a symbol of a siccor and a dashed ellipse, the manual says:
           "Open the Windows 'Snipping' Tool app"
    
    This commit adds support for these 4 new hkey events.
    
    Signed-off-by: AndrĂ© Apitzsch <git@apitzsch.eu>
    Link: https://lore.kernel.org/r/20230819-lenovo_keys-v1-1-9d34eac88e0a@apitzsch.eu
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit db35610a181c18f7a521a2e157f7acdef7ce425f
Author: Swapnil Devesh <me@sidevesh.com>
Date:   Fri Aug 18 18:09:47 2023 +0530

    platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table
    
    This adds my laptop Lenovo Yoga 7 14ACN6, with Product Name: 82N7
    (from `dmidecode -t1 | grep "Product Name"`) to
    the ec_trigger_quirk_dmi_table, have tested that this is required
    for the YMC driver to work correctly on this model.
    
    Signed-off-by: Swapnil Devesh <me@sidevesh.com>
    Reviewed-by: GergÅ‘ KĂ¶teles <soyer@irl.hu>
    Link: https://lore.kernel.org/r/18a08a8b173.895ef3b250414.1213194126082324071@sidevesh.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 453b014e2c294abf762d3bce12e91ce4b34055e6
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Aug 21 11:09:27 2023 +0200

    ACPI: resource: Fix IRQ override quirk for PCSpecialist Elimina Pro 16 M
    
    It turns out that some PCSpecialist Elimina Pro 16 M models
    have "GM6BGEQ" as DMI product-name instead of "Elimina Pro 16 M",
    causing the existing DMI quirk to not work on these models.
    
    The DMI board-name is always "GM6BGEQ", so match on that instead.
    
    Fixes: 56fec0051a69 ("ACPI: resource: Add IRQ override quirk for PCSpecialist Elimina Pro 16 M")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394#c36
    Cc: All applicable <stable@vger.kernel.org>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

commit f0362a253606e2031f8d61c74195d4d6556e12a4
Author: Rik van Riel <riel@surriel.com>
Date:   Thu Aug 17 13:57:59 2023 -0400

    mm,ima,kexec,of: use memblock_free_late from ima_free_kexec_buffer
    
    The code calling ima_free_kexec_buffer runs long after the memblock
    allocator has already been torn down, potentially resulting in a use
    after free in memblock_isolate_range.
    
    With KASAN or KFENCE, this use after free will result in a BUG
    from the idle task, and a subsequent kernel panic.
    
    Switch ima_free_kexec_buffer over to memblock_free_late to avoid
    that issue.
    
    Fixes: fee3ff99bc67 ("powerpc: Move arch independent ima kexec functions to drivers/of/kexec.c")
    Cc: stable@kernel.org
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Suggested-by: Mike Rappoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20230817135759.0888e5ef@imladris.surriel.com
    Signed-off-by: Rob Herring <robh@kernel.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 24 23:19:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 Aug 2023 23:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590401.922677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZJcA-0004MM-BJ; Thu, 24 Aug 2023 23:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590401.922677; Thu, 24 Aug 2023 23: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 1qZJcA-0004MF-7O; Thu, 24 Aug 2023 23:19:46 +0000
Received: by outflank-mailman (input) for mailman id 590401;
 Thu, 24 Aug 2023 23:19: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=zFvq=EJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZJc8-0004M8-US
 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2023 23:19:44 +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 b43eee87-42d4-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 01:19:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 965C9655FC;
 Thu, 24 Aug 2023 23:19:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6DD22C433C8;
 Thu, 24 Aug 2023 23:19: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: b43eee87-42d4-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692919181;
	bh=dZ2aZm/LG3V+w/AK9P7Vpz1DPQ/pzXIWPcpWflGeiWk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lwCVPIW7KezVN4s/x5wXMgRBBma2Yr+XBFTaIaEGVMCTlWX9+0sumLkz5JRTGXpUI
	 F5lGGdbF+7/b/pUNWKYNMwXhAm4jQCicli85GFPFaoaEZMMo6+T1ZbjqDyL2i20Xj1
	 hp4e3BcK53+0ySloo0H23bvrjU0/BsoTpmgHI45oectr7OKek+6USHSd4UFUF+rxp3
	 FBlDwL8wgRXjLI1XQqeXsUU9RPZOxH6VMpuV9O+o2qjt34OsIRZ6DhlFvjQ2hGpgz/
	 v9o29PICTR7DDWnHllihft6SrnCkxNEpliHnjis6kRS9xfU2KQU58rngU6Zzs3E7wA
	 H4/tN5EFmII4w==
Date: Thu, 24 Aug 2023 16:19:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: [ImageBuilder PATCH] uboot-script-gen: use size from arm64 Image
 header
In-Reply-To: <20230824182233.50760-1-stewart.hildebrand@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308241613060.6458@ubuntu-linux-20-04-desktop>
References: <20230824182233.50760-1-stewart.hildebrand@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, 24 Aug 2023, Stewart Hildebrand wrote:
> There is a corner case where the filesizes of the xen and Linux kernel images
> are not sufficient. These binaries likely contain .NOLOAD sections, which are
> not accounted in the filesize.
> 
> Check for the presence of an arm64 kernel image header, and get the effective
> image size from the header. Use the effective image size for calculating the
> next load address and for populating the size in the /chosen/dom*/reg property.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
>  scripts/uboot-script-gen | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 9656a458ac00..50fe525e7145 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -2,7 +2,7 @@
>  
>  offset=$((2*1024*1024))
>  filesize=0
> -prog_req=(mkimage file fdtput mktemp awk)
> +prog_req=(mkimage file fdtput mktemp awk od)
>  
>  function cleanup_and_return_err()
>  {
> @@ -435,6 +435,17 @@ function add_size()
>  {
>      local filename=$1
>      local size=`stat -L --printf="%s" $filename`
> +
> +    if [ "$(od -j 56 -N 4 -t x4 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')" = "644d5241" ]
> +    then
> +        local size_header=$(od -j 16 -N 8 -t u8 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')
> +
> +        if [ "${size_header}" -gt "${size}" ]
> +        then
> +            size=${size_header}
> +        fi
> +    fi


Thanks Stewart this is great! Can you please add a good in-code comment
to explain what field you are reading of the header exactly and what is
the value 644d5241 you are comparing against?

Also I think it would be easier to read if you used "cut" instead of
awk and split the line a bit more like this:


    # read header field XXX
    local field_xxx =$(od -j 56 -N 4 -t x4 ${filename} | head -n 1 | cut -d " " -f2)
    # comparing against XXX
    if [ $field_xxx = "644d5241" ]
    then
        # read header field "size" which indicates ....
        local size_header=$(od -j 16 -N 8 -t u8 ${filename} | head -n 1 | cut -d " " -f2)

        if [ "${size_header}" -gt "${size}" ]
        then
            size=${size_header}
        fi
    fi


>      memaddr=$(( $memaddr + $size + $offset - 1))
>      memaddr=$(( $memaddr & ~($offset - 1) ))
>      memaddr=`printf "0x%X\n" $memaddr`
> -- 
> 2.42.0
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 00:53:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 00:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590412.922687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZL4M-0007Nz-VI; Fri, 25 Aug 2023 00:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590412.922687; Fri, 25 Aug 2023 00: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 1qZL4M-0007Ns-Rj; Fri, 25 Aug 2023 00:52:58 +0000
Received: by outflank-mailman (input) for mailman id 590412;
 Fri, 25 Aug 2023 00:52: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZL4K-0007Nl-Tb
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 00:52:57 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b86e6e88-42e1-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 02:52:53 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by MN2PR12MB4047.namprd12.prod.outlook.com (2603:10b6:208:1de::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 00:52:49 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 00:52:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b86e6e88-42e1-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fLdtO3pPfY7/Mrdy3YHlzXH9hBWeaa8cuAH8UUg5KELHUb4bb8nawvbjXctUpJn4XD2HtGxAv6ULP+fdA18yIT0s1PruzDnL1/qiqjhDX36PydmvjZudFbgQlNr0Ielj92t6X3e6oKFZWn5eavJgfHP4eMdI5l2Ml/ZbCtC56jl7JoKn8ZZXJc7pTQOZ2En4djZMxqBbcHiTUI75KxLsKle6CwihLh1YxVNJKri0Ymmbt6iRjuJH99szEG5KEKDdmp0CHQvLurmfimjRhQWYioOepjBL6vuWfZXJh2rRbCMh6kpuUD5M9HVPq3zj0IWfY5K8UnCFSbhFWDCPDXY89w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6jhyM1bjKLWn9N8gd5GhyxsvdLsPSzVKS4kxSTT2FU0=;
 b=f14TNcTl9aCR+Zko+vWikdJJP/PknQsolExgGi/M1FOc947GWz4hMjv+HHHxenNR9oHlu4JZrv/IM0JrwBoOHq7J0fgxVhI7FXg3GLbvHt8hASWhdmaxTEsDvBF/2+W0J0WAUupWb2AKnVDfikMsae2uZyByTNNbazCC9WQD0/3wVgnlGBDgKs8rY3Zxny5mL6rfLEiT7IJyK5SwCKDI7d0Fj4sDjo8aRntcyjMTKg10A/Dv/DVhGdEa+P3PgKIY69BeGfvp/AMNQX9+6ylphbKsomCWmfbrI3VJehojchYOVcaL+bWO+tydTIU8Zq0IScXi+4jTQaSlObNqf9bUKw==
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=6jhyM1bjKLWn9N8gd5GhyxsvdLsPSzVKS4kxSTT2FU0=;
 b=PFcJt00nFOtv7o7lCXpAc+ebMqSa5y+4T/dfKZncTIZfTFnBVKTv3LXtrurGzOpW+oTncQ7bDIQiW0Xi7fh0LgHOP/MWB9rxwdMr1WLhLM4WNHzagBTfxkbeIOnYcGBgbJAY0e4JNbaIpm9DgCFHHTH3Rs17Wppz0aIoGW3fsd8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 17:52:39 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v9 03/19] xen/arm/device: Remove __init from
 function type
Message-ID: <ZOf7V_FsJ_CgeL64@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-4-vikram.garhwal@amd.com>
 <734587ea-4066-4f60-8903-7f43a10bb1b6@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <734587ea-4066-4f60-8903-7f43a10bb1b6@xen.org>
X-ClientProxiedBy: SA1PR05CA0002.namprd05.prod.outlook.com
 (2603:10b6:806:2d2::8) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|MN2PR12MB4047:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bbcb7b2-d564-4a73-60b3-08dba5059a05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CVqo+s3NMsnGYx5qoCfRYyHV85zQFsFJnIPa2RVdX5Dehfc75Hx1YFwDWpNZnnmdQbuqGHkthzL+n+n/s6hcmMSSu8yAduZ4/VY9AGKsNgpArygsEH6qkyDqsfQ0vNQU8Y4VSgss9Ms6Xv6NRwQgBVWXBi/EzbPQdwCZvTwOlbtaeRaBLyMIXUIkAZRcNhpX9tfRg9viERk4YgrZGLDMwGzMVv2zjeby2gzGLjChKQDW8c7RV/3LVHJIR5RsaYeEOu57YBJCylfIZY0Xt1CYzHY0bcbBMDL24Q7j6v9AbZlU4zAzFUfb7XwsOZ1pwxsuWIV5ZpYFSh/bDXv7y2BlVwd2oeenh6XWC+JNrVP6BE8KZh3oLOWfPG7IpSAs4x3INGwVzCjSq83D4zS5rorAG98zjFJRwQNiCfLMOLH8fTSpFPRpPbHKvSU5Yiri5hiwtb2+3YbP389Xk+koINkuaHry5VKD23ZLND3bW3BNzeon8t6ghBxr6LvSpj1XrY4TAHAcqM2Y7KCKKP6I61cwAT5eOANq67CEDFVuciy4qhgJuHWQhiGShL3WUvRZZnfd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(366004)(376002)(39860400002)(1800799009)(186009)(451199024)(2616005)(4326008)(8676002)(8936002)(83380400001)(66899024)(5660300002)(36756003)(44832011)(26005)(6666004)(38100700002)(66946007)(66556008)(54906003)(66476007)(6916009)(316002)(478600001)(41300700001)(2906002)(6512007)(6486002)(53546011)(86362001)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anlqV2pyTFppcDBBdjYyZCtjWVlsVU11NWN0aFBpM3ltc1pkdG1XdEdXckRV?=
 =?utf-8?B?ZUFBNWo1VURCcGtoSHQrN1VkSlV2aXdCdFhpbnB3WHVVZHdCd0E2UjdUdWFE?=
 =?utf-8?B?SUdudmZJdnVHaTRvMllYRUFqWDdaVi9DZkQyQ2JuTWZuWU1GNFU4ejA1SUxM?=
 =?utf-8?B?VTcvdlRDZnNOWlI1YlZ1VWorYy9jMXd4NmF5a2dtU2dQMWtPd2o4WWRjVjVX?=
 =?utf-8?B?S0g5YnFlenV4U3NpeGZkVFk4Q3NYbVR4QVdsd2U0N1h6Um9vcDFUeDZkNlds?=
 =?utf-8?B?YlBmUHRnVnVSQ1ZvYnZJTCtsbDBiSGpNaCtLMVl4UFZkV2pIUGdCRXZzZWQ4?=
 =?utf-8?B?K2VYa1h1bHdERGhBS21DamI2bHpmQ2dxNHdEc0QzNGFwaHpnYzRCRHVKTGsx?=
 =?utf-8?B?cSsyN3BsMmFqdUhIRXZJVFBrN1lySE81SGJlSzB2Mnk4dTRlUVF5SnVMWlYr?=
 =?utf-8?B?dW9zR3pzeWtXaVkxK1MxZHRoK041akpCdHZIejBBakhreEp1aVViYnpvMzR5?=
 =?utf-8?B?cmpCN1lSWGNqMXNiSm9zblRXTEdjWnZEeXNOTFkrOW1vdGphT0FCUU5tN09K?=
 =?utf-8?B?TmJ3eXNwSGZzZWFtUDB3dHBjeitRSWl2UXRIcCtDdWRzdVZIZXd6aWdTaWFB?=
 =?utf-8?B?VVhkMjdvYytBUjJhS0VnckFVOWZqQmFLTTh2U0FEcENYUk1vNmpzeXpQYklN?=
 =?utf-8?B?NEd4SUhKRzJPQy9kZURWakh5RGZSeU9IOWRmS1lZTmlTSFFreUxxdk1udU1u?=
 =?utf-8?B?MS94TnRNaHNEcWhFcHhsUk5WbEFrZG1nKzlLanBUUlMrb0l0aTNvRVdoMjZJ?=
 =?utf-8?B?WlZyT3R6V2FDTW1WQS9EYzJaUXZlL0ZMd1ozaVY0c2RRODA1RHZoUVpVT2Ny?=
 =?utf-8?B?dUpiS0YrLzVoV1BYZjA4NWNKMGF0WUcrRVE5TTNaWitxaStIa2FTZ3RCalEy?=
 =?utf-8?B?c3owWVhuL0VHdXRIYXlRUkRPYmovWmlnR0Eybi8yYmJ5VWVsR1FsQitoaUth?=
 =?utf-8?B?R0g1SWRPWkpLSEYwbFFJdlEvUVQzL2RsMmZwYzNvc0swcU9OUXk2WDZUcko4?=
 =?utf-8?B?UEQrd1Yxa0JmOHluL0lMK2FyVkFYNm1RalVzdnN2bmRyOVZmMWFIR3hxZU5m?=
 =?utf-8?B?YnA1S09SNUZhRXVoa1lnaWpja3JQUnozRzA3QS9CcWE5c1NWcjBiR0Yvem9B?=
 =?utf-8?B?dVhERXU1cWRuU1FHd3o3dHZVNUV1Z3VYOGRERktFSVZoR0tZTHM3V0s3bDlo?=
 =?utf-8?B?U3Nxd3hqNE5KejZBaytFWDdKaURiNEVUWnU3YzlYUDlhYkNZTTNLSE1lMTdE?=
 =?utf-8?B?MFMxL3Jnd09LV3QvOHNRcmF6Mm9vSjNnaVVPWFRueVpGaC9lb3hOVEZsaU04?=
 =?utf-8?B?em5UZGFJQ1puVVMxdTZwTDFTZi9JZEZXOUNoZVFPRGNIWG1lN1ZSaFVVMmFj?=
 =?utf-8?B?V01MYjE1SW53N3lOcTc4bTRROFlsRVhQWXhIQUpINnhxYzF6WTY5ZGYvSmZr?=
 =?utf-8?B?eVpWR2JiZXdsVE5EcmdxUkRxQWlWcllYYmRqQjRWdzA2RDM2Nk9KMTlCZm0r?=
 =?utf-8?B?djhORnVScjRRR2dwU2R5NS9LdVR3TFNaVjdTbGkwSUVlYmlzSmo1V3l2TkEz?=
 =?utf-8?B?ZWRsL0VsLzd6OUFRMVdoWittcnNjb29DcFBJMUM1b09lZlk1cnhQVVozdisr?=
 =?utf-8?B?bE5mcVpvUUd4V1FoVDkwMEJvTVc1K1k3NnBMNElHaVNwQndaZ2daZmhLNTdE?=
 =?utf-8?B?Tnl2VU1oRmhjWTh3ZU1WR2xWTC9nOUhaeGdHYUV4OGFwT3NydHhsOUVCVExt?=
 =?utf-8?B?QnhEbVF3OXlndTdWSDArOHlOUTRwY1lnT3RRY2t3bWpQeDllQ3IyWDdqRTBB?=
 =?utf-8?B?Qk51aUYxK2FDd3RCTHVvOXhlU05ScHRCeittQ1hWWnBxYXlyNmRncVd3OHFT?=
 =?utf-8?B?akJzQW02RHFtN0lPM0RwMlRPZEV3WHBJL1pSS1cyTmQyeXpzWlRId1Y4eUtT?=
 =?utf-8?B?SWg4QndZSGF2QkEwVVB1TTU5bjRhY1B4aThNZjlSVk4yNFZ3c2xmNUh6WS9R?=
 =?utf-8?B?K3hTa1FESWtnN3ErSGovQ0ExNW5mMjlDbmZJbkZicWZSNDVLOGR1aWNPQlNM?=
 =?utf-8?Q?VrtQxWdSMFEsrRIqAN3sDG9m8?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bbcb7b2-d564-4a73-60b3-08dba5059a05
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 00:52:48.6422
 (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: ZDlGE9XqrTcZ60YV3fEkkTG2ZDf1pga/8N0k8qIM0XHed/VTFIMBvsrnjvtwQcSxOUVlfvfsCo5ffiyeoPZWAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4047

Hi Julien,
On Tue, Aug 22, 2023 at 07:59:13PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Remove __init from following function to access during runtime:
> >      1. map_irq_to_domain()
> >      2. handle_device_interrupts()
> >      3. map_range_to_domain()
> >      4. unflatten_dt_node()
> 
> We are at v9 now, so this is more a remark for the future. In general we are
> trying to avoid modifying the same code multiple time within the series
> because this makes it more difficult to review. In this case, you could have
> removed the __init in patch #4 where you also export it.
> 
> > 
> > Move map_irq_to_domain() prototype from domain_build.h to setup.h.
> > 
> > To avoid breaking the build, following changes are also done:
> 
> I am guessing by "breaking the build", you mean that you will get an error
> because an non-init function is implemented in domain_build.c. Right? If so,
> I think this should be spelled out.
Yeah, i will change the commit with right reasoning.
> 
> > 1. Move map_irq_to_domain(), handle_device_interrupts() and map_range_to_domain()
> >      to device.c. After removing __init type,  these functions are not specific
> >      to domain building, so moving them out of domain_build.c to device.c.
> > 2. Remove static type from handle_device_interrupt().
> 
> Typo: s/interrupt/interrupts/ to match the function name. But I don't link
> the name when it is exported as it leads to think this is dealing with real
> interrupt.
With using handle_device() in overlay as your below suggestion will anyway need
this handle_device_interrupts() function here.
> 
> Looking at the overlay code, the caller (i.e. add_resources()) is very
> similar to handle_device(). AFAICT the only differences are:
>    1/ add_resources() doesn't deal with mapping (you said it will in the
> future)
>    2/ You need to update some rangeset
> 
> For 1/ it means this is a superset. For 2/, I think this could be abstracted
> by adding a pointer to the rangesets in map_range_data. They could be NULL
> for the domain build case.
> 
> So can you look at abstracting? This will make easier to maintain a single
> place to parse a device node and map it.
> 
> A possible name for the function would be dt_map_resources_to_domain().
For this part of dynamic overlay programming this function can be used.
I updated the overlay code to use handle_device() as per your suggestions. Moved
handle_device() and other relevant function out of domain_build.
About renaming the function name to dt_map_resource_to_domain(): I will see if
i can come with better name else will keep your suggestion.
Now with this case, overlay device tree needs to have "xen,passthrough" enabled
else it will try to map and fail as Xen supports irq_route and mapping only at
the domain creation. In earlier patches this worked fine as we were always skip
the routing and map. Anyway, I will add this in overlay commit message.

I will send v10 tonight. Testing a few things.
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 00:54:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 00:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590418.922696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZL6I-0007x6-9k; Fri, 25 Aug 2023 00:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590418.922696; Fri, 25 Aug 2023 00: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 1qZL6I-0007wz-7C; Fri, 25 Aug 2023 00:54:58 +0000
Received: by outflank-mailman (input) for mailman id 590418;
 Fri, 25 Aug 2023 00:54: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZL6H-0007wt-Hc
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 00:54:57 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00ce541e-42e2-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 02:54:55 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by BY5PR12MB4243.namprd12.prod.outlook.com (2603:10b6:a03:20f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 00:54:43 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 00:54:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00ce541e-42e2-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YFLjuS83GO32phk63nWnLAlY6+gVwvY5wBtoU+u0x2YH4c/0/xE5hT9gbNBtHyY3/em6z6aDV9X3u5w674OBYHi7K1noijcYceWPvfZB37M4P5XiAzeB7rEXVHKNikTt06GTZ4vo77Mz41TnRiRRBN5cxeQEjp5s7nk9Ftul+RqVAa/GZq30RexY5XFqVAq1iH9I4/e3vLsxhQ78Nohwo/8xowzjrGSrpmPiOF5wcHHXVgewZdte/hie8/Y/H+Z36WrT3iayFKYXbEOsiwtNFYlPJz/RMuiSxuVLWpu5FNfrlEB9M7ii7S24t+qapo4pytlS8saONHgvKijyoYH8Uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1hQBKzXpWHZ4SsXl7ISxxtI+lq1+fzUmI62LcvNTqxE=;
 b=g3IhBxisPyR57uEFT/ER2FdyLAtuMnwmYM1+VZh5M14pt41gUfyydIAZa4ieB1bIW8C0OvFJVDE36zH1/zJqev2HY2/bMYDtv7vj2cT4JkuYL5k9EFuhq4TXkgo93biTX4APPLgpzaSdT2IQG/wMD52WfI9i1FHE54xBlloAqoleF3OLxZmRViMM7vFfwKoxI5IMU4NQhL3RHaMkUGkxd+ZZwYX2NOhaO151sQ3qsFA7EA3rQGQer2yDjMRXb15QrZ3Z/LkD3TIZsvSD1+zOvCXopHrB8uquUcHCbZHSbMg2F8Kx1bizHXAsuXQ4SRXYnKlR1pKCwKE2wPesZwh1aQ==
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=1hQBKzXpWHZ4SsXl7ISxxtI+lq1+fzUmI62LcvNTqxE=;
 b=4dYajNA7IxqsnNFgElxAXZJJG0pkj2PdM6IV2C/9Ruh9mFzcAl7exHSSTKhzdbnZ+DipFjYAHEuYYsan061HJ+oXrkq/015UxKaGm6jtrEen+QU6+8QrayCJ56fEmhnyN7L6V/qkOhP3/i3I4v3JuZqeubnveTfuJBWwRORQOnk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 17:54:40 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v9 04/19] common/device_tree: Export
 __unflatten_device_tree()
Message-ID: <ZOf70KJ5lYg93aiH@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-5-vikram.garhwal@amd.com>
 <90fcd05a-3b89-401d-8321-7f792b3fa52c@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <90fcd05a-3b89-401d-8321-7f792b3fa52c@xen.org>
X-ClientProxiedBy: BYAPR11CA0100.namprd11.prod.outlook.com
 (2603:10b6:a03:f4::41) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|BY5PR12MB4243:EE_
X-MS-Office365-Filtering-Correlation-Id: 55c58e8a-0f0a-4e99-ec1e-08dba505dec6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PBVPjx3vVFyusCgwsVT4qbRdsRkGPA35a/tcuhIdHJoNPnLX7ZYK610qpfpdOAeVeg+ZuQLNSEWJJjPiQ4rAVWZOrCUqUWvHnMpgWO+ok+t458HNdp9sp8zaL0JFNRSrEURUEs8Go9XOPskfTohvjDV423EGT52Iwb69rVU/7PPGCIYyVa0VBd/83B+bBLFnejsYLvWsJ9adylcSqFEsr/8Ie9eGiRh8cAGrThpRuJJNhIjLt/7b2DvV9HasfTPnlnELLJr1NnVipmQh3OauIQbsZ4WZWz810KTF/qTYsCliulg6P/uNhK1/i9tG1CjB3jK5xwWBAFwM1grePKPu2himBhT5I0lOExId5u3dN11YQf0L6qEPOd4RkrMyHuFOB1zk0Q4nDc3vOmWXCy37Yt4HHgMOi5QJMmG7BXz+6mNf+T18VENtZ5vYigMUhQX4/DvipiY/pOTj2uORKg7nCkfo7VbB69LhY3vwPLqM0b8eNZApxnlGrdS5N0CW0V5gqNJNHjenctRRbkJW576mhIoWit5Ts6EcUldqIQ4N9m61fn4aWsl9CUF2ORYFsT21
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(366004)(396003)(136003)(451199024)(1800799009)(186009)(38100700002)(4326008)(8676002)(8936002)(41300700001)(53546011)(6486002)(6506007)(316002)(36756003)(6916009)(66476007)(66556008)(66946007)(86362001)(6512007)(26005)(478600001)(44832011)(83380400001)(2906002)(4744005)(2616005)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tk41SzFPdzNBVU95OTNUYjJwOG1LU2Y4WGhKdWdiUkxJOFRLU1Q5VlZiVjN6?=
 =?utf-8?B?VHJULzZDbVIvRFVsSUJ5TmlUL0V0TG5pNGlBVkQ0K0lkMWZHSHg4K2xORzc2?=
 =?utf-8?B?TTd2Y1N4ckpMdThCUFBBaDUzWk85bmdRczBzdFBNaHdNOSsxSWloQWNQd2I3?=
 =?utf-8?B?ZGVMSW1YbWV5aCsvVGlFc3RJYmJ0SlN4YWxoZEtXM2pMU1oyL0IwY1VsdHlo?=
 =?utf-8?B?QnJFWjB0YmVSNVFOWTJxRmhuTXZidEIzYUMvZitSM1NKQm9mazhOUVN6ZHM5?=
 =?utf-8?B?eVJhdlh0TnhSUlgzS3U5NTRDaktnaXZwTEhBMnpjbCtidTlxeEp0NFJ1R0VU?=
 =?utf-8?B?VDNZaGJHNVZiVTY0N2UyNHVvRTlnRFBsN1IxbEpBYVhjdEJWQVY1NGRDOXor?=
 =?utf-8?B?STBCY0hheWQxeDRYOE5tYlJqNUVjM0FKM1U4ZGhxeHRHV1VDNlcrUTJxT0ZI?=
 =?utf-8?B?cjFzemdpZGp5dnllNXE3RnpuQ1RubEl2V1BlQmY5TjEva0ZRQmdZMDVEVXVG?=
 =?utf-8?B?N0J2ZkZRanlVLy9nOGV2MHkxcjlINElWamJjcHJCa0hubzQ0VVJYTS9NaXR4?=
 =?utf-8?B?amNJRng4aFprTUMxc3E2cXN4VFFXRTlBSXNGc0FwV0tIa21udFJLWnBsOVQ0?=
 =?utf-8?B?Y1FDUExBOHU1QTJnbzhUL3RiNld5M0Q5K2thQlVNY0JzL3kzdXNJUEMxZFdj?=
 =?utf-8?B?d2s1cHV0c1ZRUTVob0hLeDkyUUlTVjlTSDZtOVFGUjI3N1NuVnhQYjcyYkhw?=
 =?utf-8?B?U0J1bzAwWlJtVG5vLy8zVUdWb0s3dytCb2ZBZGRLMkl2TEhsNFRXQ1NLYnUv?=
 =?utf-8?B?bU12WHBuVnFNajJKQ1Y2WEFyRDhma01hTEtQeVFHUnU5dndva1lXUVNEN2hs?=
 =?utf-8?B?bXo3RVM5VU9FbTFBbXV5M0N4SldLS2lQeU1tSHd1dlEwVGhCZFBzUVVIUlVN?=
 =?utf-8?B?WEIxTWI2MzBFOThoQTVWVXU1b1NCWHM4c056TWNjdVp1NGhkbWxsMFFKSXF4?=
 =?utf-8?B?VnNxV3l1dUxOa1dlN29scTRLek9Lc0sxRUtVVHQ1V2FqckQ2V3Y1eHJLdkJE?=
 =?utf-8?B?djBONWkwR1kxVWZFc3Nqc2ZQdW9UckhEaEIwQjZJR2d3c3JaUWVXdS8wcVNB?=
 =?utf-8?B?UW9WZ1IrVkJXV3hoSWkwM29FVm55NndUSXBzZ1hBZGp6MTN0MDA3NG83Rmhx?=
 =?utf-8?B?VE5jdHI0VHRlUjh1ZmRnUWcxcTBoczVFNlB1ZnBobVlJNmhCYXVMQnROTVA3?=
 =?utf-8?B?MzZ1eG5Ba2d5OVVIV1JTMXptQ01tYlRudmRZSUlkVlNpU2cyc0gzTG53NUFj?=
 =?utf-8?B?R2FSMjUxa0E1UDBVVFdkS0U0UDA2TGRLVXUrZTZDT0tMZkYwa2RiK1pSZGZz?=
 =?utf-8?B?V21TYmhWVExDcG9GUERjK3g0NTBoOWZFdGNyZnM0eG0vWnhqdjZQR3JNZG4w?=
 =?utf-8?B?UU5lUWxvV3AxSTMzVkxoS0Uva2diSDJqQzEvZlNsSGt2S29rMHdhNnF3ZEJV?=
 =?utf-8?B?TnBlWGFXOW5CbjBISjZIeUdvdlh1ZjU0dVBkQW5xZVVGbEI1UHRLNVRtM29w?=
 =?utf-8?B?V0N6bmZibTI2RGZTTE9kckZFYW82Q0NPL1BqNHhOVTh6Skd3VjlEVlo5WTlx?=
 =?utf-8?B?ZTJaejB0RUVqdTBzTHYzbGV6MGJlbldySFVZQ1E0UzBBdTlJYVhpTXI3endS?=
 =?utf-8?B?SExvZVY0Q29na2ZNbmdlNFpMeUdBc29Ta3NzRDlhQVFwZHNvYm9VTWxEK2tE?=
 =?utf-8?B?RTFwWStSc0xCbmxBS293cFBDUlc0b3hndGp0TTZJeG14aU45ekpJRTNLU1J0?=
 =?utf-8?B?emVLWG1CRFV2dzVCQ0JNZGdURFIrYzNWY2ZJREN5RlNCcmo1YW9uRVZyZ0J2?=
 =?utf-8?B?dVNhMDVtR1paVWEvcGRETFNSTU5iT1l3Z2tCRDJaR2lGcGRHT2k4NlFEZWYy?=
 =?utf-8?B?M2cxOVU2WUNuTXVaOUZ6enlzWktwQTFGMkRNSWk2b2VxQjYyMFZZNUZNYmR1?=
 =?utf-8?B?ck9pU2xMdmtHUmJQSGgvRFJERUhPOWM2WHFLWUJob1UxRkp5VkVPK2NlVG9z?=
 =?utf-8?B?ajMyM081eGRVSHZieElheFdZK1g0bjdNRXZIVnF4OWp4N3Ntdm5zNzljVjlD?=
 =?utf-8?Q?TpfdW5a1f+DeirH6NK5UYiSm0?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55c58e8a-0f0a-4e99-ec1e-08dba505dec6
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 00:54:43.6232
 (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: cAk4mqniI2c9Mz/4qZlKERUhuJyKC3zXc59EUzX/dCXYCJ6PAi+a2gX7u9m8EYfVI6g+MyojyCFqIpk4E7ErYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4243

Hi Julien,
On Tue, Aug 22, 2023 at 08:05:18PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Following changes are done to __unflatten_device_tree():
> >      1. __unflatten_device_tree() is renamed to unflatten_device_tree().
> >      2. Remove __init and static function type.
> > 
> > The changes are done to make this function useable for dynamic node programming
> > where new device tree overlay nodes are added to fdt and further unflattend to
> > update xen device tree during runtime.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> It is not clear to me whether you saw my reply about using ERR_PTR() as I
> can't find an answer.
> 
I saw the comment but was not able to work on implementing ERR_PRT(). Given that
I see your Acked-by, i will try to address this as separate patch after this
series.
> Anyway, I am not against this interface:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 01:59:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 01:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590426.922707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZM6v-0008VM-1F; Fri, 25 Aug 2023 01:59:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590426.922707; Fri, 25 Aug 2023 01:59:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZM6u-0008VE-S2; Fri, 25 Aug 2023 01:59:40 +0000
Received: by outflank-mailman (input) for mailman id 590426;
 Fri, 25 Aug 2023 01:59: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=yFkO=EK=ftp.linux.org.uk=viro@srs-se1.protection.inumbo.net>)
 id 1qZM6s-0008V6-6d
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 01:59:39 +0000
Received: from zeniv.linux.org.uk (zeniv.linux.org.uk
 [2a03:a000:7:0:5054:ff:fe1c:15ff])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a154246-42eb-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 03:59:35 +0200 (CEST)
Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1qZM5z-000dvR-0M; Fri, 25 Aug 2023 01:58: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
X-Inumbo-ID: 0a154246-42eb-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type:
	MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=GqmLor0hgV4H3x7IuvuyaB/m3hDiUm8Yzrd7b9keFg8=; b=bxxlNJ96rsx4L2kKszQ8LF6ai5
	iNtBNOQ6lzvCMPjrA8d2B5SKpMA8ehWy3QlKX8FPouK+kPzVIEZKx+nUetaQRW5JSdDZgZ40B7sUp
	hz637OO4Su1eEUgn8Gl/dIA4NQM5w6cHamU5x0h4uc+j+8uZ5OMjiX5dOjWaEByfsbwcty7NjoKFy
	3XYbSKjy+5wYC+oyCRnyAV7fQupk+8Mu6cgtvaubPBjXdneuinMhpNkKRGbKhUYZMh2pnc+qlSq3t
	/phSE0e2tky2IO5H3c5MgeU2/J9SsgCPwQOsXy7U4/wxiV2850iLaIsQdHEKmyDTGxCmoecJk/YQG
	iXEtALAQ==;
Date: Fri, 25 Aug 2023 02:58:43 +0100
From: Al Viro <viro@zeniv.linux.org.uk>
To: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230825015843.GB95084@ZenIV>
References: <20230810171429.31759-1-jack@suse.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230810171429.31759-1-jack@suse.cz>
Sender: Al Viro <viro@ftp.linux.org.uk>

On Fri, Aug 11, 2023 at 01:04:31PM +0200, Jan Kara wrote:
> Hello,
> 
> this is a v2 of the patch series which implements the idea of blkdev_get_by_*()
> calls returning bdev_handle which is then passed to blkdev_put() [1]. This
> makes the get and put calls for bdevs more obviously matching and allows us to
> propagate context from get to put without having to modify all the users
> (again!).  In particular I need to propagate used open flags to blkdev_put() to
> be able count writeable opens and add support for blocking writes to mounted
> block devices. I'll send that series separately.
> 
> The series is based on Christian's vfs tree as of yesterday as there is quite
> some overlap. Patches have passed some reasonable testing - I've tested block
> changes, md, dm, bcache, xfs, btrfs, ext4, swap. This obviously doesn't cover
> everything so I'd like to ask respective maintainers to review / test their
> changes. Thanks! I've pushed out the full branch to:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle
> 
> to ease review / testing.

Hmm...  Completely Insane Idea(tm): how about turning that thing inside out and
having your bdev_open_by... return an actual opened struct file?

After all, we do that for sockets and pipes just fine and that's a whole lot
hotter area.

Suppose we leave blkdev_open()/blkdev_release() as-is.  No need to mess with
what we have for normal opened files for block devices.  And have block_open_by_dev()
that would find bdev, etc., same yours does and shove it into anon file.

Paired with plain fput() - no need to bother with new primitives for closing.
With a helper returning I_BDEV(bdev_file_inode(file)) to get from those to bdev.

NOTE: I'm not suggesting replacing ->s_bdev with struct file * if we do that -
we want that value cached, obviously.  Just store both...

Not saying it's a good idea, but... might be interesting to look into.
Comments?


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 02:28:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 02:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590434.922716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZMYr-0004Ha-7I; Fri, 25 Aug 2023 02:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590434.922716; Fri, 25 Aug 2023 02: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 1qZMYr-0004HT-4W; Fri, 25 Aug 2023 02:28:33 +0000
Received: by outflank-mailman (input) for mailman id 590434;
 Fri, 25 Aug 2023 02:28:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jiyp=EK=oracle.com=martin.petersen@srs-se1.protection.inumbo.net>)
 id 1qZMYp-0004HN-4a
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 02:28:31 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1205b360-42ef-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 04:28:27 +0200 (CEST)
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37P2S6v2026896; Fri, 25 Aug 2023 02:28:18 GMT
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta03.appoci.oracle.com [130.35.103.27])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3sn20dde9j-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 25 Aug 2023 02:28:17 +0000
Received: from pps.filterd
 (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 37P0Guwh033219; Fri, 25 Aug 2023 02:07:19 GMT
Received: from nam11-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3sn1yx98sv-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 25 Aug 2023 02:07:19 +0000
Received: from PH0PR10MB4759.namprd10.prod.outlook.com (2603:10b6:510:3d::12)
 by DS7PR10MB5021.namprd10.prod.outlook.com (2603:10b6:5:38f::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 02:07:17 +0000
Received: from PH0PR10MB4759.namprd10.prod.outlook.com
 ([fe80::59f3:b30d:a592:36be]) by PH0PR10MB4759.namprd10.prod.outlook.com
 ([fe80::59f3:b30d:a592:36be%7]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 02: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: 1205b360-42ef-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=to : cc : subject :
 from : message-id : references : date : in-reply-to : content-type :
 mime-version; s=corp-2023-03-30;
 bh=t1RCT2QLuoDIXbGRYJN9QJg8eVTQHuqXja2VZJHTbb4=;
 b=Ymps7LqsptgRPC3M3nXZyVsu3whj5UTNVa/gawIBEhQXczSotG5lOJfRBW2MFeb1gkKt
 +AFgFZ4F0Hn8xUqWi9Lx9SwlgOSt8K32bMNehBF4MC6MTivYJ0o6bOt9VJaYQn/wsgdY
 SpqPHEIVsEgFXX8QuyW05pmxyzWy6aWJ5mTDYTWJsLk1acogkq/PfsCgXt/umi0A8ak1
 EOWie5EdpKg3oIgJwXsqPlhyYmcCbx3yW/HneYMURec25gLm8izuPK8IoPnuxHDw1Jv6
 Xuok0EA/OavbTNrSF5r48tnppU3RMC5AfjQ9crBAR80xTf/dGWAe04eSmy/WgSWd9Jjy ZA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MAlP2wDiwZ+Fb6apHHVNpCitF7+Q1YZMH+jD9qT8+Lekjr1pk4ejuCDrZSHlgZuxqYR5eX7Ed3DdgvQ33ANNmm7tDcQxgO+/+qkxLJ+n5PYLP4AjpjM4tIDcMBhZLmLB7zOUQhV/puuJBngaENco6Q6P8tFJL5g4sheNqPyNcNBZP9gDWROBK1yPOvVLMNvTJuQJ5pwf6WckM60P4sb9ha8lu09DOGFbpqBLROMhUbzlKZRVIsWrHGS9i1kYJNA3a7HIDcoD2pc9QbdRvbzTxQmOToD7lM62nBPdCOBJ/XRwPQyz2VC+TMnj5fjzmREbrMn0sXmiOfKypP/SqjXHfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t1RCT2QLuoDIXbGRYJN9QJg8eVTQHuqXja2VZJHTbb4=;
 b=PQ6FQyCBepnaMlllt5QJbwF9rpCMCuFo6uxOQS6iHPSycbuKz/EiUQgqJkfhGVqlRySglGnSx48NkuXfhybWDyGGsN1a0WbYWTDzLwHAe3VLiX2fG0JNjIcxA/XeccnH9QYERcvVo4GWGKMMNL1nccJsASHVVN7wcCppENwhbh4BtZ2v72dEx2djEwhi44TpboMs3bsm+Y71z7IbPUqBeWo6VEFg/Gya2c2uR1UfyrpZOjFQAPj9XTZYE39yq507IOKexvfhy7msEHcxc0/R3LXrlvM95oXAi8MIBL4Hpy8KfCAqxZnHiuhot8llncZVYMcACC+GBWbaUZSpScVGbA==
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=t1RCT2QLuoDIXbGRYJN9QJg8eVTQHuqXja2VZJHTbb4=;
 b=eY5aYZeP8til5K6j/VsNLN8TEB/YeNXe3iKfYSHFf3ZRehoA7gUjffK74rHZzZ7NPzg4iDg2sz58DDcayijc1lqX/g/VfoCDxKmIdqByvbGkk66xGm1d5NY1tIiPQVPgStUvbmupAeaydcM1iXEsYpkBkWI6nenbkohIulE1vQA=
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
        Stefano
 Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko
 <oleksandr_tyshchenko@epam.com>,
        "James E.J. Bottomley"
 <jejb@linux.ibm.com>,
        "Martin K. Petersen" <martin.petersen@oracle.com>,
        xen-devel@lists.xenproject.org,
        Dan Carpenter <dan.carpenter@linaro.org>
Subject: Re: [PATCH] xen/scsifront: shost_priv() can never return NULL
From: "Martin K. Petersen" <martin.petersen@oracle.com>
Organization: Oracle Corporation
Message-ID: <yq1o7iv3mf9.fsf@ca-mkp.ca.oracle.com>
References: <20230822064817.27257-1-jgross@suse.com>
Date: Thu, 24 Aug 2023 22:07:15 -0400
In-Reply-To: <20230822064817.27257-1-jgross@suse.com> (Juergen Gross's message
	of "Tue, 22 Aug 2023 08:48:17 +0200")
Content-Type: text/plain
X-ClientProxiedBy: SJ0PR05CA0005.namprd05.prod.outlook.com
 (2603:10b6:a03:33b::10) To PH0PR10MB4759.namprd10.prod.outlook.com
 (2603:10b6:510:3d::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR10MB4759:EE_|DS7PR10MB5021:EE_
X-MS-Office365-Filtering-Correlation-Id: e30cf004-ed96-4481-b91d-08dba5100201
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	ObHSyQ9G1AEUz54ihGthAWJXJEEZ9gi8toCjlcBLlBIDKMFQ0ZZCYtTi3xcVXlQZo5mNUQf5FCVqNV5bZUYCV5CeFHrr8KvMJCTS6bCZw8C3wXESAY7GdOGwEdGu+Y9I+5D/F1u7w+Y9JFOZ1FfPg4SJnIfW8mLRETx2N4v3zyWzUIYGireCbsaFhu2+m8u9R1GwrbzjDoJGVlUwD71ssuye/umpDaQw51W1m2k1YKjKYR8omcJQaklFGIiU/SB7KPLMsEgMEU0XrfzHDdfnOsOaQ6OTjd7DlxfOgiMjAXcQomE2jXE38xqFa3vXiazLiYvARhMY0+wpPWTLIzsuJbctNCcBzyV6MJ+zbEwaiFYlA+SaEX0ouEXRfjUGSM1HrDnGm+za+uSrBRpoty+2K76OwfmDjkNm91z74ygCcIMhbls5567ChCkMIKcimDliW+ajHCccOcC9XlIWyMGlXLYKaCTTXfg0vhNWZjs1MQRPRwfw8pv4vrJ0o6+F5jfNK7BoniKn8lh4E3vx+UK0eMkjLjQhKf4wKKNhuDCgzYXXpvE1rPyOE25iuA+EJRLv
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB4759.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(396003)(366004)(136003)(346002)(186009)(1800799009)(451199024)(5660300002)(8936002)(4326008)(8676002)(4744005)(26005)(38100700002)(66556008)(66946007)(66476007)(6506007)(54906003)(6916009)(316002)(478600001)(41300700001)(2906002)(6512007)(86362001)(36916002)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?us-ascii?Q?Q6E6GCRHTGmkIrf1u+8F2wVXI1lpr/gyJrRYmsmdIgjuxTVc98TqVviXsYRL?=
 =?us-ascii?Q?ej/kdTkf4KFJslkWdzdQVC9rO/mnrDQJxvSXJ5JgMBNXTD/k7fxgJxWGNi4p?=
 =?us-ascii?Q?2G9z0njTsphZWA9gr9dUF67D9bE7+JguMdTzb1/FFmzVhADDVtvHRsbSxt8d?=
 =?us-ascii?Q?junCFL6VG7utQxmgql1OuUk0z2hzZUihs9sy8Da+AfHQiNqGPt3sVTeUV+qF?=
 =?us-ascii?Q?bLa3bpqaCfAARB/B/zuUv/4KBkPBYhOB1A+au1eJ2zgBwwM0phbs4fXgzhJm?=
 =?us-ascii?Q?HgPKftVLltaZQB44DvsIpdyZWDGx3Cl1KKqT6qNE+qg4W5j35KuRzIGmpvu/?=
 =?us-ascii?Q?jLp3TNwRagzvwjH96RfoQRP9bjm+YkCRUkED6cg2zZ3OymVpO/9pQWf9mG8h?=
 =?us-ascii?Q?ijEcq1J9EahmC2Ek6+a4NgcVEwbKBVz3eNmZCyhgEHzHyjMvbX8cAktsZV/A?=
 =?us-ascii?Q?Q1L8eQFeShIV3h++3xPwe209uA58J4azLeGqMViSZaK1G3Libf8glI7AqZ71?=
 =?us-ascii?Q?YSKEeVDNG5C5Egoa+Y3TtQqx85gXJV6i4GlaVmrcgIy3OSB29gTXltLvNYq1?=
 =?us-ascii?Q?rK1osP0kq7TfC4akI/LbkeacxkKm2uRGu1qWGVN/lCOpfrLfYStpT5vycZuy?=
 =?us-ascii?Q?0WWx3ClyXBoSK9i/XDiXSGL3yr9s55ZhzetwCgzAyCCJAK3sBfZXxO9sOzD3?=
 =?us-ascii?Q?FZQQNlTO4fX3RUU+p7/VryL9DzHj6gkdOmSVJmVKg7KdxX5IPNULrnWMz7rW?=
 =?us-ascii?Q?FA4bcpCaSzorAa41EUY24J2Eatm2rSAJZ4xtTKto4ry5bJOC24dbOqpcxKSW?=
 =?us-ascii?Q?XKhMs7/dkxnnaSnyPnZjJGfQO5O7eGFa9uzwboWHl+iV9T3SpMKDa7mcVUnf?=
 =?us-ascii?Q?NBQvwXDlesJjdvt/5hMwHgeXUHY0m4adD5qO4DevaIv4AffdWJD0YSWz7ere?=
 =?us-ascii?Q?tklWiGRePhBYemFxTb7ItojdYwY7gr0B1yFvaP9mmo6FXnTkMKcMEF9/jm4B?=
 =?us-ascii?Q?RfhJXo4FwXZ4adjqtLEAYHNqsAcZQKXrcLTMI4ijoLLXsHGKh1fbgTT4NeDL?=
 =?us-ascii?Q?M51zapVWPor7y4Ep8owCzRwtPtwn3HCtluduoZ+U9cDlfigjvHb0KvyYRONz?=
 =?us-ascii?Q?lc3lmlG6FKnZ11jNmysoxURkQs7UFyXSZGD62sTweddHpq38AbLoBRuUILby?=
 =?us-ascii?Q?kxzfNjEV2LhfVw7ZQJWYol+NCVa+qKg0+SNQDOGDYUVcJoiqoP3pTSaSvV2B?=
 =?us-ascii?Q?jWeJaBxPwu9doJ4dY2h8Hkj4MNSNr0TzvoifuMymBjnN6dDWFeg/VQhYrEIC?=
 =?us-ascii?Q?5H9WWDQDmhzN4hWVfoj6qhf24IcKdq+ORn1emkqngFFG1c9CUMGZKkiwKHAR?=
 =?us-ascii?Q?nNWgXshc1S1aKord3OIiqP1GzYghAXp1WhMF4wntqBZZjDWGcbcdtlGgDgJo?=
 =?us-ascii?Q?VcT68rf4BZqkx7+n1dXQnjITSfYSIR5+ykXueeP3bQDnB0AiWBOz2FwZ08sf?=
 =?us-ascii?Q?DBtZhSl3eZfCG9AWis5YJUVEtJC1V+Yuyq3enaTAk4UYOYodtRps2IEtDBGt?=
 =?us-ascii?Q?AoeOKmXvXOGiLupZr3HbtZaMs4ozFo9I1Q1ZJCV8hu4IAn3EKQm30gA5k73/?=
 =?us-ascii?Q?ZA=3D=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	=?us-ascii?Q?qIdwLF3R3SBXmkYdw4bxeijoChR9e55kwaR9q9dMmIVHWkfZxDUW+G0Wb/wF?=
 =?us-ascii?Q?0vFRJNi50unx1RpFXsvtGkgxGlkiqkcfVbnmbpEezbsb20ek/AIgAx2l9fXV?=
 =?us-ascii?Q?aPuR4V8b+Uycci7xxpeMUjAgD8ZB3tGuAOUYS268g/51OUs8EG/cHDrX2VPr?=
 =?us-ascii?Q?GWbS6bZrEP9TswnM3H0dW5P8Oyw/fhZX5ZdfEROCyDA01qjxCpbqm+Ada3Tk?=
 =?us-ascii?Q?Keoq/fGC9juyYs51eDv1rvOyUj/19eMG8Y4F8J6bcJQSOpmiBkmQZGlRsg5G?=
 =?us-ascii?Q?35o3vCK335mc1MYO4ylZ3kl9t0z/+vot0Y5x10VS9M8sbCf8ZKp20uLbFld3?=
 =?us-ascii?Q?g/tx3jOSP6OShpoVhFUiVMZadKjSUTi7yrf9Z+8GHG7n8fmpTZ05kk9zTLmq?=
 =?us-ascii?Q?wRzJaTFF/FYUf+TMaZAXCRSRyd5b3QHvoGsNrVmeunnGRcjEz6H35VvjpOfp?=
 =?us-ascii?Q?sVCfEwt0glVbUsjmIL8z6igCBr6wtrIlErNxn2LRF6SUmlxnKMYpy2MOenAD?=
 =?us-ascii?Q?PhTwDtS9z8rcwWgPkA4Vf3akwk6zAn/ON356nS1oJ5k+fNaCqNriXnWp2d7X?=
 =?us-ascii?Q?YRHsfWb1/jfVNUvN/W7k9WP7GBSDAhjOudHCoVfAiWyQ3nkwDWJUySYFqSvD?=
 =?us-ascii?Q?99dVhyPIaRi7UoyBxKHzXREDX26c98cn/Qd2k7KeUEoJ41ftL13uL4gHt7Bb?=
 =?us-ascii?Q?lhHBJ6dXcRd/hXrZKfVkO+RH5yJyG88ko73tcbXSOpHEVHI9mXjiZr+HOEW0?=
 =?us-ascii?Q?/Ueu7ioUL4Yo5QY5hqnzaTh9q/pBtXVhZYzf+bLFzI6z1XtuBzzYGsJkX8eX?=
 =?us-ascii?Q?y2tKNHYAV4hguk3AmdPoiNOVgVThPVeSTFtELD2V12lSzeq7CWMPK+jZL/If?=
 =?us-ascii?Q?OeJTcmqCVme5KvCK6vwnrcU+n+DhVu8xSHEree7Wawwzd77xcYLFMvokM1hO?=
 =?us-ascii?Q?VHy4/F5xgps/x2hwd38oSA=3D=3D?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e30cf004-ed96-4481-b91d-08dba5100201
X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB4759.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 02:07:17.5749
 (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: MLZIrM6YjLuyNZ8b2Wesr7Hx1/gtjOB3Idcj+raE3AIGtCNL97nwJ6Ql1OBYOBa6x+ulCsj4147OJL/SMARcCxeuxLGsMEUD8pDXtGBlOOE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5021
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-25_01,2023-08-24_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=824 spamscore=0 bulkscore=0
 suspectscore=0 mlxscore=0 malwarescore=0 adultscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000
 definitions=main-2308250016
X-Proofpoint-GUID: OttLoPkS60hXdAJoRBvwsjWhkZ4pzVeO
X-Proofpoint-ORIG-GUID: OttLoPkS60hXdAJoRBvwsjWhkZ4pzVeO


Juergen,

> There is no need to check whether shost_priv() returns a non-NULL
> value, as the pointer returned is just an offset to the passed in
> parameter.
>
> While at it replace an open coded shost_priv() instance.

Applied to 6.6/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 03:17:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 03:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590441.922727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZNKM-0001cZ-Li; Fri, 25 Aug 2023 03:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590441.922727; Fri, 25 Aug 2023 03:17:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZNKM-0001cS-IK; Fri, 25 Aug 2023 03:17:38 +0000
Received: by outflank-mailman (input) for mailman id 590441;
 Fri, 25 Aug 2023 03:17:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZNKK-0001cL-JW
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 03:17:36 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edfed349-42f5-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 05:17:34 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM6PR12MB4172.namprd12.prod.outlook.com (2603:10b6:5:212::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 03:17:29 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 03:17:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edfed349-42f5-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nNc+wkO76ZEyuvLjF8QNLjRS7HsnsU9IH20p5cmoruaMU/gxi4Sz7svTWgO4fKBcF9K++1DBXn1juFrtb3LoAUIb7N8zmN6Dr3ocG0uKjThVSGHjM+gGQSv14wWwQ0HnY0hGIEkwyD3cPdaSbass67Ms7xqH22Zvlg4UbtjIYFDYmQ4N/VfcqYBN1AJfLycan9Vt3O6F1d8WFW8PwNKLSOVHjxc1d9wSGeNhGBhNDvSZOO6hq8OOPAHl/vVqeC8MoVKTzLhwDPl7tU3ePgm9bQjWOutAayB1+D7Xvvr0bGS+j/MiDMXmcyJdqsteVguI/wnDmienlxfc2D387V4IHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JiMn9GiZQOOQBj0hyyj6Ppy0EASobpSXPJaDNhBtNr8=;
 b=ZHk9ugCz4T7AO15JsIO8bx8WA0y1WizJlzaWRm/MkXU9fxE9p/Bxpb51q96srvYap55SeTqHsENdsIc9HUZbQ9MGQmlg85fkCzS16bYl9Lv/saBcJNjMF1DHK/lH0MblWRJAu2X6wVLcd91PmhKVahO4dqDKbXMNfKJQl4SCjcoOP7bQy9Qo5jxpwJ1vaS34IZxGHdFJSPUJ9hJM5IlZMZY8Ur+c2N/VTc8vJ8nmSC8fwJagu5AmfYi5lGbxmayGceHEdHnDn4FSTdLO7Twy7GV4/GePB2OVN0I6ZiEtyL8hSwart92ZSna9cnqsz3RjUr3Yn8XOAOat/dpOlXk/xA==
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=JiMn9GiZQOOQBj0hyyj6Ppy0EASobpSXPJaDNhBtNr8=;
 b=y6+hyo5eh02eV8GPB1Cy+UqCk8s8y2/qB3fpmz1sHS9v30C/FEN/asAGLCMs30Y2Tq/V2zjFPTXd96bhghw8Kz7PVPORq8cdB9Vrs7EP7sh4wfFUsMpZVVC6TZOQvRRN87ADCzaorb+VEsGGdNNYHgJeQdXSZMxg+8jLXRMnVMA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 20:17:24 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v9 05/19] xen/arm: Add CONFIG_OVERLAY_DTB
Message-ID: <ZOgdRIjd2nMWDtNP@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-6-vikram.garhwal@amd.com>
 <5c38c1da-8d7f-45cf-98b7-c80a55557b36@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5c38c1da-8d7f-45cf-98b7-c80a55557b36@xen.org>
X-ClientProxiedBy: SJ0PR13CA0177.namprd13.prod.outlook.com
 (2603:10b6:a03:2c7::32) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM6PR12MB4172:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d9eec68-7eea-4d02-07c8-08dba519d002
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G4UG2w16GH6N8d+/gojM6/LXgPLeBUASjh512Kue6EdcrSys7HZZZxjM6IJKbNU0mSQU5UBALHeDmEREjrABmscnSpT3mK2kKr3qOK6X5fI4NtQAwISqAlYlEoEMYLKJj2dvhPlBb5pZF9U3VSQw05ZOnURB2IEp8P2kJoqZ6d+BChadR1DfV84YaVFbIyhRq+et9FnuoIws3rvArygaYf2sxQu6Ji18vbbeCCFgo6/Jfs7jAvWhOlSg2JPoKHjtmQy604n78otvHvdX241PWBN5cDZcFjyVCvjdfqOxSxwuBu9iIG8+qeGAGn6uEyrpab/Hurocv+AX9a4LWYQ6EQEh245fHTna3uIf7mAylTflP5Ckfe7/n5WC6i2vy+s/Q/lthq3wZotUfWzdvSWlLdgJt/q2+/ZPPeOqf0zddJzO2Od+TtTp/qxCqgMcSLNUHp0N4mQG+DPhcpdDzxBUdGMYP82zKRLC85FJxZ9KkARnmhzDpytFVaSCeHMZ+zhbnujgaeyazBontkgBOcC5iQdJOHluZR1W1a+BmtkN9EWqars80ue2G8N2DDRU4jF5aWCwIUfn+AcV3wu3IfnQ1A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(396003)(366004)(136003)(346002)(186009)(1800799009)(451199024)(2616005)(5660300002)(8936002)(4326008)(8676002)(36756003)(83380400001)(4001150100001)(7416002)(44832011)(26005)(38100700002)(6666004)(66556008)(66946007)(66476007)(6506007)(54906003)(6916009)(316002)(478600001)(53546011)(41300700001)(2906002)(6512007)(86362001)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUYyTFFMVmJ1MXBQOXg0d3BtOVpyemx2Wm9Tdm9XaWdEQkl5ZG94VDNVbTZE?=
 =?utf-8?B?REd2anhEbUo2a1Uwd1FPNG84cEtyMDhPMEhaSFFCR1k3YjNCUW9BN0hGTy9z?=
 =?utf-8?B?S09WMlRWOFdrYjR2RDI3WENkTTBPZ1RJRzFBWlAyZVhkdTVORTY4R0FoNDJv?=
 =?utf-8?B?NFR5SFB2dUp4SUNmbW8zM0wxUUJFa3FnOWxlc29IN0psVWNteHhoRFU5ZzR6?=
 =?utf-8?B?eEVZMnZmYU9ta1ZYMmZ3RzE4b0Rvd2ZrMitNODhNQzRSYkxjS1E1NzZiNm1i?=
 =?utf-8?B?a1pHOEZ1OG9YNVZKamNSQUsxSkR0L0k4RU5OemJrQmlQQTg1WEFiM3QvNXcw?=
 =?utf-8?B?VWd0cG0wK0hPMXZoMFF2em1BYnJnOS84YkdLWjBQUXIvVmgyTXlKZmV1ZSt5?=
 =?utf-8?B?ZlVoSm5yY1RvWjhWYVVvUVZOVHJqbmdscUdBdUlJZHM4WnNmdm9hb05MWW0r?=
 =?utf-8?B?bzFHR2dERmI1TGcxQTZyRlpUZ3gwV3BpV3ZGY2pUYWlYcFdOWUpMdHd3VkxP?=
 =?utf-8?B?cDJTKzdqbU1JZVVYeWNzQkNlaWlWcGN2MFJSQjRXSDF3RWsya3RwdDZOc2Ro?=
 =?utf-8?B?bXhseVUzVVhRb3NXNkdWR1RvQWY2TFF5MDFzM01sZ0dXNlYva2JSdjdHVTVV?=
 =?utf-8?B?Z3owRUVjOFhsMTc3dENxbkRsekNzb3pxVnJnRFdoc01SSVowaklEbk1LZFVB?=
 =?utf-8?B?dTNnZlMyaEx2OFBOUlRwSU5XYjhwbEZwb1VFOVp2eldkNzA5RHZaRGY4R1Vw?=
 =?utf-8?B?UmROekpuOS9BVnlhb3RzWjlqN3RBQVUyUkRZVjFDTzdFd2ZzRzZMSFJ5dXRm?=
 =?utf-8?B?NkNJYXFCam11MFQ5dmZDV2xjbVFmVUlzOXVHd3lham5zKzB5TGZNNFgwdWFW?=
 =?utf-8?B?NzFkY2hzdTRTU1NmeXB4U0hjY3c2UWJYWmtkK2c2dURLWU5iczN6ZVROWldl?=
 =?utf-8?B?T0RFWlFGTmp6WWJqaU9BaWZJQ3R1RmhXbERkd2h4NXR5RFVqTnV6N1ZGN2ho?=
 =?utf-8?B?UDNzMkdMQnV6bHpmUWloK0hhdjlUM1JMRVFmd2lDU0haSEp6dksydUQxRlJh?=
 =?utf-8?B?ZHFjeGtBZFQyRTJUMmUvWUxiQ28xVDlaMkVJN25vOGRhM0NQbjZiN21Nejgy?=
 =?utf-8?B?NmFER2RMa29XM25RVUVWUXl0WmVXSTJNbkNQdEl5Vk50UGo0WlI3T2VMdE10?=
 =?utf-8?B?R3J6WStab0RhdmFIMk0xOTVJR3ZkSTlia3hrRlZFblhPVFE2NFEybkloZEZ3?=
 =?utf-8?B?S0V5K1F3QXo1Tm1XcEx6ZldtNEszc1dDS1k4cmFQTmlrODgrSERFN1BIR1Z6?=
 =?utf-8?B?OUluMVVsOTZaUDFOTXNJMDZxYzgzNThSWUdGbzg4ZlN5RURXZmlzVWFPR0hs?=
 =?utf-8?B?V0JtOW4xRG0vMU5VSE1oMWlvWFZvNVA1bEc3a2J2NTNwcER5dDlaL1lZZVlQ?=
 =?utf-8?B?MmprZG9LVkYzSUI1UXJDYUwzQkZGcjJ4NlpuV3E2M0d3bW1TQUJmbE1vWEFx?=
 =?utf-8?B?RlhRc0ZORmwzVXJSUnUwN2hwTDg2L0hVRUo5eUo5VDc4VCtieHN5UXBrTlQw?=
 =?utf-8?B?cVNpdVJxRkx3a3JzdWhmdllOd2d1RjI5ell5ZlUxbTkyY0tBU3hnMjFHQkV0?=
 =?utf-8?B?dUI3ZzVMZ3VmaFIrSUQ2bFNEeFFUS0JaQlZVQzR1Tjl2NmpPdFp6ZHRBZVVB?=
 =?utf-8?B?QUcwalJMc2tTU1ViektwMXFZTkxzd0w0MUdGcnNRZ1BTMDk5aHFhYmZtNXdW?=
 =?utf-8?B?WjBvTEFjWjM0UHRhQzd1aUhEYUdyYTB1RmNpVmtkYU9pV1kwa1l2SkJ1Yldo?=
 =?utf-8?B?YWNVa29vSG9kenNlZEI1NlFxdUhHZDNtWDlPYm43aDFwRlZhUWNlc0NYcVdq?=
 =?utf-8?B?WmVKSE9qdlBHMHAvSGF3SUtkTWEyTENaVG8xNlloUDlONHdIREVCbitpdkps?=
 =?utf-8?B?cFp1MDUzMjh4VDNNV0NHWHJYclM5c09BQzhvNnFIeU5TU28rRnR3Q3FtTTQ3?=
 =?utf-8?B?T05zQmYxRTArWlpSTjk1MFVOVHJPbmVyNFpoNlA3QUswemd4VS8rRkFPOWNy?=
 =?utf-8?B?bTlyUm41dFJ0ZVpUNm9DemVPa1JQZjRnbUtQZ0Q4OW1OOFp0VkVrUUhNeDN6?=
 =?utf-8?Q?ZX6fZ3GR5HrcHnXjbaMWDFVh2?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d9eec68-7eea-4d02-07c8-08dba519d002
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 03:17:28.7687
 (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: PX762KLDrpwsp3vJ/oEh/8iBwXCFwqXixUPONFsBy/ng9nhAqJGkGszSGenHOnO5Yq1MOWagzEnDJHYeByeVfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4172

Hi Julien,
On Tue, Aug 22, 2023 at 08:10:05PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Introduce a config option where the user can enable support for adding/removing
> > device tree nodes using a device tree binary overlay.
> > 
> > Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
> > Arm.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > Acked-by: Henry Wang <Henry.Wang@arm.com>
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> > 
> > ---
> > Changes from v7:
> >      Add this feature as "experimental support" in CHANGELOG.md
> > ---
> > ---
> >   CHANGELOG.md         | 3 ++-
> >   SUPPORT.md           | 6 ++++++
> >   xen/arch/arm/Kconfig | 5 +++++
> >   3 files changed, 13 insertions(+), 1 deletion(-)
> > 
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index 7d7e0590f8..47098dbfca 100644
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >    - xl/libxl can customize SMBIOS strings for HVM guests.
> >    - Add support for AVX512-FP16 on x86.
> >    - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
> > -
> > + - On Arm, experimental support for dynamic addition/removal of Xen device tree
> > +   nodes using a device tree overlay binary(.dtbo).
> 
> Typo: missing space before (.
> 
> >   ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
> > diff --git a/SUPPORT.md b/SUPPORT.md
> > index 35a6249e03..8eb006565c 100644
> > --- a/SUPPORT.md
> > +++ b/SUPPORT.md
> > @@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
> >       Status: Supported
> > +### Device Tree Overlays
> > +
> > +Add/Remove device tree nodes using a device tree overlay binary(.dtbo).
> 
> Same here. I don't suggest to handle it on commit because this is not
> something I want to merge without the rest of the series.
> 
> > +
> > +    Status, ARM: Experimental
> > +
> >   ### ARM: Guest ACPI support
> >       Status: Supported
> > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > index fd57a82dd2..02c4796438 100644
> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
> > @@ -92,6 +92,11 @@ config HAS_ITS
> >           bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
> >           depends on GICV3 && !NEW_VGIC && !ARM_32
> > +config OVERLAY_DTB
> > +	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
> > +	help
> > +	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
> 
> Do we have any documentation in the tree of the limitations and how this
> works?
> 
> The reason I am asking is the wording here suggests that it would be
> possible to remove nodes from the original Device-Tree. AFAIU this is not
> possible with the implementation and you are not planning to handle it.
> Correct?
Yes, that is correct. This series doesn't remove the nodes which are not added
by overlay before.

I will add a document file. Is this needs to be in .pandoc or .txt format?
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 03:21:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 03:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590447.922738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZNOS-00038d-8Q; Fri, 25 Aug 2023 03:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590447.922738; Fri, 25 Aug 2023 03:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZNOS-00038W-2v; Fri, 25 Aug 2023 03:21:52 +0000
Received: by outflank-mailman (input) for mailman id 590447;
 Fri, 25 Aug 2023 03:21: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 1qZNOR-00038M-6x; Fri, 25 Aug 2023 03:21: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 1qZNOQ-0005mD-PT; Fri, 25 Aug 2023 03:21: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 1qZNOQ-00072c-AQ; Fri, 25 Aug 2023 03:21:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZNOQ-0000JP-9V; Fri, 25 Aug 2023 03:21:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Gu+U/mwxP9Pso2PHfJ5lNCmpvd9MUId8lZZHHKxLpME=; b=emQLdY1+e/PNs9vpqOAUDaqK9Z
	a/N6oYV4tMnIAyQ00xGGuLyeTuRTv2OQTRSzL3ODVGdUX2UaXpwazHwwSBCOYATcqTRiGXRFN5tJq
	nVQQBziESkZoG+kGwZdypjJg51bszqrToQCUf4f0jgRNeCDGKSCxMDroBGUvYStmmrmw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182508-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182508: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=92e1d39f989771f9fc190234111863c7376487c5
X-Osstest-Versions-That:
    qemuu=b0dd9a7d6dd15a6898e9c585b521e6bec79b25aa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 03:21:50 +0000

flight 182508 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182508/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182422
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182422
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182422
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182422
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182422
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182422
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182422
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182422
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                92e1d39f989771f9fc190234111863c7376487c5
baseline version:
 qemuu                b0dd9a7d6dd15a6898e9c585b521e6bec79b25aa

Last test of basis   182422  2023-08-22 14:39:29 Z    2 days
Testing same since   182508  2023-08-24 14:39:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Claudio Fontana <cfontana@suse.de>
  Cornelia Huck <cohuck@redhat.com>
  CĂ©dric Le Goater <clg@redhat.com>
  David Hildenbrand <david@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Laurent Vivier <laurent@vivier.eu>
  Michael S. Tsirkin <mst@redhat.com>
  Philippe Mathieu-DaudĂ© <philmd@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b0dd9a7d6d..92e1d39f98  92e1d39f989771f9fc190234111863c7376487c5 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 03:36:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 03:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590458.922747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZNcs-0004sh-H2; Fri, 25 Aug 2023 03:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590458.922747; Fri, 25 Aug 2023 03: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 1qZNcs-0004sa-E8; Fri, 25 Aug 2023 03:36:46 +0000
Received: by outflank-mailman (input) for mailman id 590458;
 Fri, 25 Aug 2023 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=SuHx=EK=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qZNcr-0004sU-Og
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 03:36:45 +0000
Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com
 [2607:f8b0:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9bf07110-42f8-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 05:36:44 +0200 (CEST)
Received: by mail-pf1-x42c.google.com with SMTP id
 d2e1a72fcca58-68730bafa6bso1109936b3a.1
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 20:36:44 -0700 (PDT)
Received: from leoy-yangtze.lan ([8.45.48.113])
 by smtp.gmail.com with ESMTPSA id
 h24-20020aa786d8000000b00679a4b56e41sm483913pfo.43.2023.08.24.20.36.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 20:36: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: 9bf07110-42f8-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692934602; x=1693539402;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=hXexLeK6NuBtwNDUeDgEoZ7lfkGJbyKUa0bHyYHLxbM=;
        b=cNJrRoE9xRwMnignZv+tZQ+HjZsSNXlPMMBP/hsGL7nFjKu/AmCRwHAXO09uDzieDz
         hDAmiYBK6UcYALyXCj7ezkF8Aafx199FuPLufBTNjseY1JNUXtJEXF1BqkSznoadsr1l
         TEJ+Q7JZabrtSM8RkbxFHDp/BN0a1xgMuJHeeVrK7+bsy7oAo6jiURLfy+i/djlWGCjq
         r0A7Q3SM5c1x7Fgl6yyOO051X5M/cPXMzt09It7aWCTx3bK/+WQ9BZDR6PvYdoaXcHey
         qfXos41XifwQqaktq6cNf7K7RLKteWWnrDsYKNGEU3Jcqei+DXHhsQqV1CZJ+buJ67SS
         usJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692934602; x=1693539402;
        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=hXexLeK6NuBtwNDUeDgEoZ7lfkGJbyKUa0bHyYHLxbM=;
        b=JnIFQ3MkFWXA8W6lwUnVRfPEZxnHshW4HBO9sevTYLyWJRibf9YZbkirG9PlYqMFv6
         eESnHue3+NOZmA18Tbls5CCRb4bpHUVQp5kXBYLwGz7dozeelwRBfpYqPIaUwnGkFEby
         F+mXKQ3GLgSPo8hA/svu7GfxO16J4fa1MOXCLVpiRZ966jVUcgJDbtCdV+o6wTbRosy6
         vxUlfQzSX2za6au/z2JXfmOPs5HcnlZYUzlXjubcGAEfb3v+B7+s0Kwi8ovDVNpSXj2a
         02EGNv1tabMo9/HJgKxoaU8Om3y3ErDYRtADEt2WaxGv8X5Vy2MFkzAO9agutW/+cnq7
         WbKA==
X-Gm-Message-State: AOJu0Yx9jyQyAH9x8ziAOKAZpcDD68uRTtSiz25vLqc9THHam0UEnu03
	fPVUMVD+6HQciSyPI6c8qvB4do2oibbH7KA+mxLiT5xU
X-Google-Smtp-Source: AGHT+IEHiEef1Z9qsfQLqBj4sjYFFPGX936tX6ieejqA5/XQXOtiP5Y1vk0MAOZZ9ehLmaGtKRBg6g==
X-Received: by 2002:a05:6a21:6da5:b0:123:152d:d46b with SMTP id wl37-20020a056a216da500b00123152dd46bmr26028061pzb.26.1692934602147;
        Thu, 24 Aug 2023 20:36:42 -0700 (PDT)
From: Leo Yan <leo.yan@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Erik Schilling <erik.schilling@linaro.org>,
	Mikko Rapeli <mikko.rapeli@linaro.org>,
	Leo Yan <leo.yan@linaro.org>
Subject: [PATCH v1] tools/hotplug: systemd: Make dependency on Xen device nodes
Date: Fri, 25 Aug 2023 11:36:16 +0800
Message-Id: <20230825033616.3402812-1-leo.yan@linaro.org>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When system booting up, the kernel module xen_gntdev.ko is loaded and
the device node '/dev/xen/gntdev' is created; later the xenstored
service in systemd launches daemon to open this device node.

This flow has a race condition between creating the device node in the
kernel module and using the device node in the systemd service.  It's
possible that the xenstored service fails to open the device node due
to the delay of creating the device node.  In the end, xenbus cannot be
used between the Dom0 kernel and the Xen hypervisor.

To resolve this issue, we need to synchronize between udev and systemd
for the device node.  There have an extra change in the udev rules for
tagging 'systemd' for Xen device nodes, which notifies device node
creating to systemd; besides udev change, this patch adds dependency in
systemd service for waiting the device node.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
---

 The udev rules change is on github:
 https://github.com/systemd/systemd/pull/28962/commits/520340dfea3b6cf9fe7a24c9238313b1a5fe8539

 tools/hotplug/Linux/systemd/xenstored.service.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/hotplug/Linux/systemd/xenstored.service.in b/tools/hotplug/Linux/systemd/xenstored.service.in
index 261077dc92..6e48cdb0e7 100644
--- a/tools/hotplug/Linux/systemd/xenstored.service.in
+++ b/tools/hotplug/Linux/systemd/xenstored.service.in
@@ -1,7 +1,7 @@
 [Unit]
 Description=The Xen xenstore
-Requires=proc-xen.mount
-After=proc-xen.mount
+Requires=proc-xen.mount dev-xen-gntdev.device
+After=proc-xen.mount dev-xen-gntdev.device
 Before=libvirtd.service libvirt-guests.service
 RefuseManualStop=true
 ConditionPathExists=/proc/xen/capabilities
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 04:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 04:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590466.922757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZO7P-0000Mr-St; Fri, 25 Aug 2023 04:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590466.922757; Fri, 25 Aug 2023 04:08:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZO7P-0000Mk-Ou; Fri, 25 Aug 2023 04:08:19 +0000
Received: by outflank-mailman (input) for mailman id 590466;
 Fri, 25 Aug 2023 04:08:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZO7O-0000Me-Ao
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 04:08:18 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e89::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03bfb89b-42fd-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 06:08:16 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM6PR12MB4941.namprd12.prod.outlook.com (2603:10b6:5:1b8::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 04:08:11 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 04:08: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: 03bfb89b-42fd-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RFGWoKO875yidIljnY7uCSZBuwT+9nafdB33tc4tNRrWQu+GEzwnsEsXJ60O86VsGHoUjw4m6W4cFq+7I3PC69wQ6uDEAowjCJhRA6jPn6Y7LtuQxOPgAT0w9uhW47khIy9Ola7WcH4CadVlWwq/79eTojlup2ftLhTJsQDL7sVnL5dlQL8pC5F54qFAlP+YgsiBena8vcvZ6AJ7N812AWvUbo2/4CovFk8wzNOrQSbssXEzgzxtLR3y23bDIc4t66pYEKL28yE8B0YvvXo1mILYygayUNI8sEWokCBA8eTbjqOEQcL2IHGAsUyAzEE/uXwGh0rD1Sz6b4TdFynM2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JaYgviboBmkdY9fB+dvzdCj/khpGJqJRqXrSgA+ERrE=;
 b=KREcUjyJd1MRDUtvzv4HY1i0iY2zDZ13opqyaHxgQ2s700QK0QS5GdH2sLtm9ws39YYIXR+u51v2FGUXk+5dGk740CormPLFkomewzJTYSLfK8fp9tT6LTF5jSyvMcAXNVuS65FN1hXcPb1Y/x+D3tcpHB6WYCBnA6UPxc1a8pTvxJ3GAWfelYFxZillZzsQCakktPMo5h5mqGnDIHjaXiMAC28+iO16YCkv9YlXrxKOA0faY13qKI1rfnT6td3fihWOdGO7idmDDYihj4T6uuPiFLWvLoDpw1wf6ACtYybg72ulscSwiznw/JjfQEN3p/Uzd92WCebr6q2c+8ejEQ==
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=JaYgviboBmkdY9fB+dvzdCj/khpGJqJRqXrSgA+ERrE=;
 b=mELh2WabPqaplSGyXAey5BNtQrbY55opnJOP9CsMzMNIrt2jNu2/h7L7IIDAz9cdZ3U1SxrZVHaYPKc4LZusnacWe+YHe2BufBo6yPtjPyR7OSp7LOQQOKNPCBVayb7Smq3cJs5RDgKUrNQzWMsJ/aLHF67fwsEXL/lHcH5wZ4k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 21:08:01 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v9 08/19] xen/device-tree: Add
 device_tree_find_node_by_path() to find nodes in device tree
Message-ID: <ZOgpIaPhV7QrgXTl@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-9-vikram.garhwal@amd.com>
 <b18ef35f-a4df-4121-9b3c-aa96a8002d87@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b18ef35f-a4df-4121-9b3c-aa96a8002d87@xen.org>
X-ClientProxiedBy: BY5PR03CA0017.namprd03.prod.outlook.com
 (2603:10b6:a03:1e0::27) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM6PR12MB4941:EE_
X-MS-Office365-Filtering-Correlation-Id: e8ec797e-392e-4816-fad2-08dba520e500
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CdlV3xj44wuozn5c8V+JatLnpctXbOikZZstoTtv2XqYv+Y7qMHs6eY0/QY3V+iRgVLBB7FC17Z1HHu2tRLFGoNYb29tbewpxhk8SGV1zzKdDCmxkxq8ZfkFvx3N5UVGDLWnehlbGpzA4KxYljcjtNVIshflsEtaMdp8/1wMIZBvb9tEqKlswW6SkdyNUzHfCsbhG0uYcRXimiM7Pr0MQCZuhABgQ/KhhyBYzQvcHJsaIk1TFwA8hFAdOPDjTFayn7XTKOv2ZroyWuQ4VZy1MjrIYup+mPhWn5Imr3L+ctpFkwM6/1bwqOb7eCb7aWkPnxrDtySqc5PR6Utm8zfDiqOdwH64m3cxz49piIq0ELCj+mxP3VtF5sGKBGjGChwUqJ5ulusbc36rUY42TD/c9osxw6Q36CI7/nSviq56YYDCiV9sVgBxDgrtYu2bqoSHSReAekZrIkWdzYZ1eYgT/P5ZYSG1pWC2GNbZ0vY2oNypRUUlk5LXTGPHAYkTlegvixauPioAsUojmk5pDF2lEapaCRSF6UQiOWzGIlCoYL7OBusTDgUUcAQ19tj3bfXyHrxBeGW/qrdsTyqqT6aIk/LRhuMgIyVMEk5X7JTzfIg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(39860400002)(376002)(366004)(451199024)(186009)(1800799009)(66476007)(66946007)(66556008)(316002)(6916009)(478600001)(26005)(44832011)(6666004)(38100700002)(41300700001)(53546011)(86362001)(6486002)(6512007)(6506007)(2906002)(4326008)(8676002)(8936002)(2616005)(5660300002)(83380400001)(36756003)(37363002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTBQVTVUYUpUQXA0amJ1SXd2elRaRHZCQ0FEcklzbXd0czhDbEprc0lBSlVn?=
 =?utf-8?B?ZXc2U1hLdG1PN1NZVS9xeFk5MkozWUxUeTBEWDRoYVdlbzRUODcrVjQ2VDRD?=
 =?utf-8?B?ZEs2TWp4azJHZDF3V0FodDRRdmQ1WkthTmpYYmUwY202TXZRWXZXQVpHZWxH?=
 =?utf-8?B?NGZ6RzAxVEkrWDMyN1JrRUIvRm9zQUZwWERqVTIvNzhsTkdjVy9xdUhUUEdB?=
 =?utf-8?B?NGJ2Tk1xTFp6L3JFeGVtSHNBaHAxdWhEYTQrVW44SEtFZ1U3TzFJVFVENEk1?=
 =?utf-8?B?cGllVlhaTWNxcyt4Wk9JbSt2SjdXZlYweVdlbGNjMkl3NUFmcWNDQ2F3SnlY?=
 =?utf-8?B?cWhoWTYzQUUvRHBHY1JqZkNUK1hhZFQ5NzV1QUtnR0Z2TEJkcFBCOURIVjNN?=
 =?utf-8?B?OHplUUFkaUkvN2t6ajBhVW9JaHpWVmNXZ3pKdVBEQ3lXYUV1N1loeXQwSzB0?=
 =?utf-8?B?V0pqYjN3UUJGZFZ0SHZ5SXNQbitHUG9nK1d3dGFtL0wvbmxiczUvK2RmWUZB?=
 =?utf-8?B?Q1BiTGN0ZEhtcms2eVZuNE1GRDdPNDF1MU5ka0hxbVRoNGVoSHAzUnp4MW0w?=
 =?utf-8?B?OGNYM3RvWjRxQ2hCa1RlTGN0Y3RDYWdYRzl6N3h6R045TERaZC9yTGpDOU85?=
 =?utf-8?B?bkhVZzhsYXhjWUpCZ3RWclpCb3lVUW5qcmJXdjJYNnNkelpkOEQxaTJGMTVY?=
 =?utf-8?B?VnAveFVjNVNTQkJ2enUzejRZcGxqL0hpU3QyWUtSSVFmSnBBckN1SGEzNmYw?=
 =?utf-8?B?RExZT2U2ZUJlUUNhdjBjQzV3VVF3VTgyanAyaGFoNExRV0tVK0tjUElydTZz?=
 =?utf-8?B?MW1NK3hJL045RWw3MUtVNHdiY1pLRXBXbm5qdm5RLy9oemFVblJ2SFBEekZh?=
 =?utf-8?B?SFE2dEpTd0NJYm1uNStrZnM1dnVQWWM5c0REQk1qS1VLN1I0SDNwL0pCNy93?=
 =?utf-8?B?aVdUOU15LzFIdGJQOWNuMGNyekh5TE9SNDJiTERTQkNxRURiRy92dVZoRFJG?=
 =?utf-8?B?eHJrVkVPT2xzSXlTbVBnaVY1Zk91WXdNMis4ZlA3MWIzTlQ1azFTSHVmallT?=
 =?utf-8?B?blorYTlva0EvSXVpbVA2Z1NnRGx1TzhUNUxaS2NlRDlIdXZCclIyVWVoTXFG?=
 =?utf-8?B?N3dkanBSNnNEL3NSNjZOQVlYL3VwbkYyWk9HOG9IbHNGT05FbW5rWlRTZTVI?=
 =?utf-8?B?eTJXZTRIMllNSWV3YWl1RkxvUm42UkR6anhlQldmTTY1T3gwUmdteElGaVI0?=
 =?utf-8?B?d3BHRmlZMjRKSGtIaUNybDVsVzBMOHRFREtVbDRaWXBpUytYc2YrbFcxK1ov?=
 =?utf-8?B?WE0yM05WMEhIRmxaeTBYb2tjU0FkdUFuS095QnRsOU5qOUFUVVptQTNVSWFO?=
 =?utf-8?B?S1AwdjRKaUFPREJFS1ZGZ2lQSEZXR2Y4NmRPeTNSaURCS3k0MGZFa1U0a293?=
 =?utf-8?B?QWZxZzdmL2IrdE9SS3ljdlFQRERhWFBuYTVhQ1ZVTEZKV1JVQ3IxQUZFbWVM?=
 =?utf-8?B?ZXBXU1BGeG1XbEUwdVB0WDNmTm16Slp0V25SdmUzSmpoUUMwSWp4Uys3SjBU?=
 =?utf-8?B?bHNBamZsbmFNNzdFNXlSYjYvWTdnVktZdkNxOHREcDhKeG05MHM2SjFMN1hl?=
 =?utf-8?B?MXpWa0pkd2pmdW8yR1BhRG1WV3hFdFlMeUdPejY4K3dXMTIwL2ZlNkRGMVh5?=
 =?utf-8?B?enVEc2RqMTRqMzR5MFB6M0tXMW0yVHkvU05CeCtqMVpBQU45anRoaWFsOXNn?=
 =?utf-8?B?WG5odVVQRXZ5WFFVcGRFdDIvUzV1RkU1dE1CKzdVbWFvdy9IcmVhM2E3MUlv?=
 =?utf-8?B?Q3FqeklpZlAzaUFnekJTa282SENmbnZzWnJXa0xUMTVuaTJKTEZINm5FbWk0?=
 =?utf-8?B?dVZQblhkK1dlREh6Qk9vbVpoeXE5TW0reUVxRXZNSFJac3g0elA5SU1DcmZH?=
 =?utf-8?B?VHdwNVJDalkzamFvUHhlbnZCZHlPdm1hVGZBTnVyMk5MenRITXZWUnc0d1pZ?=
 =?utf-8?B?K1drOUpYclZpWEtiQ0hYRVEyV1hBT1h2Y2kvcmJWUkVSbHdOU2RKMjI2aytk?=
 =?utf-8?B?YUhmd0sxeEkrMmpOclBWVzg4dkNkMUduMWE3TEJ6NlBraDhOWW4rWmFqK0ZD?=
 =?utf-8?Q?bAh7l4FHwy/oNH50FaEZH4aRm?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8ec797e-392e-4816-fad2-08dba520e500
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 04:08:10.5417
 (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: 6l3in/kTAs1vl4cKjz3FGcAWYfsLpyQF37YXXUAYqx7hjiTO7rLBa4UwST/uDfqCFEjX7bw9UIPwUfGl182nHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4941

Hi Julien,
On Tue, Aug 22, 2023 at 08:21:17PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Add device_tree_find_node_by_path() to find a matching node with path for a
> > dt_device_node.
> > 
> > Reason behind this function:
> >      Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
> 
> Typo: missing space before (.
> 
> >      device_tree_flattened) is created and updated with overlay nodes. This
> >      updated fdt is further unflattened to a dt_host_new. Next, we need to find
> >      the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
> >      and add the nodes as child under their parent in the dt_host. Thus we need
> >      this function to search for node in different unflattened device trees.
> > 
> > Also, make dt_find_node_by_path() static inline.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> > ---
> > Changes from v7:
> >      Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
> >      Fix indentation.
> > ---
> > ---
> >   xen/common/device_tree.c      |  5 +++--
> >   xen/include/xen/device_tree.h | 18 ++++++++++++++++--
> >   2 files changed, 19 insertions(+), 4 deletions(-)
> > 
> > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> > index 67e9b6de3e..0f10037745 100644
> > --- a/xen/common/device_tree.c
> > +++ b/xen/common/device_tree.c
> > @@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
> >       return np;
> >   }
> > -struct dt_device_node *dt_find_node_by_path(const char *path)
> > +struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
> > +                                                 const char *path)
> 
> Any change this both 'from' and the return can be const?
Doing this will also need changes in dt_find_node_by_path() and
dt_for_each_device_node(). This function calls both of these.
> 
> >   {
> >       struct dt_device_node *np;
> > -    dt_for_each_device_node(dt_host, np)
> > +    dt_for_each_device_node(from, np)
> >           if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
> >               break;
> > diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> > index 5941599eff..e507658b23 100644
> > --- a/xen/include/xen/device_tree.h
> > +++ b/xen/include/xen/device_tree.h
> > @@ -568,13 +568,27 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
> >   struct dt_device_node *dt_find_node_by_alias(const char *alias);
> >   /**
> > - * dt_find_node_by_path - Find a node matching a full DT path
> > + * dt_find_node_by_path_from - Generic function to find a node matching the
> > + * full DT path for any given unflatten device tree
> > + * @from: The device tree node to start searching from
> >    * @path: The full path to match
> >    *
> >    * Returns a node pointer.
> >    */
> > -struct dt_device_node *dt_find_node_by_path(const char *path);
> > +struct dt_device_node *
> > +                    dt_find_node_by_path_from(struct dt_device_node *from,
> > +                                                  const char *path);
> 
> Coding style: The indentation look rather odd. I am not sure it will render
> properly here. But one style that is closer to the rest of the file and Xen
> is:
> 
> struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node
> *from,
>                                                  const char *path);
> 
> Where the return type, function name and first parameter is one line and the
> second parameter is on the second line with the type aligned with the type
> of the first parameter.
Will do!
> 
> > +/**
> > + * dt_find_node_by_path - Find a node matching a full DT path in dt_host
> > + * @path: The full path to match
> > + *
> > + * Returns a node pointer.
> > + */
> > +static inline struct dt_device_node *dt_find_node_by_path(const char *path)
> > +{
> > +    return dt_find_node_by_path_from(dt_host, path);
> > +}
> >   /**
> >    * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 04:25:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 04:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590473.922766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZONW-0002zC-7g; Fri, 25 Aug 2023 04:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590473.922766; Fri, 25 Aug 2023 04:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZONW-0002z5-4l; Fri, 25 Aug 2023 04:24:58 +0000
Received: by outflank-mailman (input) for mailman id 590473;
 Fri, 25 Aug 2023 04:24: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 1qZONV-0002yv-0b; Fri, 25 Aug 2023 04:24: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 1qZONU-0007Gk-Iu; Fri, 25 Aug 2023 04:24:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZONU-0000I8-Bu; Fri, 25 Aug 2023 04:24:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZONU-0000jE-BS; Fri, 25 Aug 2023 04:24:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wF/14VZ3uYfx+RFJm+vb7EQ5QuUGvJpuK531LTgGYeg=; b=MjVXbPVpJXhlR/eWhJ/tdIWBTU
	ikBPzqvHdqSnKibpwzBPq49DCSP5oSTLGVge0tKB2tBxJsNkDGFQunK4JdgJ9n/Nj8CCFxLBBy1qV
	4nMU4XKh7G4NOx6TI88k/Wbrejz4bBTwC77d+lbRbbXz8rmNwoEuMaswk+oREKTDxqnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182513-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182513: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=819cfc6b42a68790a23509e4fcc58ceb70e1965e
X-Osstest-Versions-That:
    ovmf=00b51e0d78a547dd78119ec44fcc74a01b6f79c8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 04:24:56 +0000

flight 182513 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182513/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 819cfc6b42a68790a23509e4fcc58ceb70e1965e
baseline version:
 ovmf                 00b51e0d78a547dd78119ec44fcc74a01b6f79c8

Last test of basis   182393  2023-08-19 03:40:57 Z    6 days
Testing same since   182513  2023-08-25 01:57:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Qingyu Shang <2931013282@sjtu.edu.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   00b51e0d78..819cfc6b42  819cfc6b42a68790a23509e4fcc58ceb70e1965e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 04:45:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 04:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590483.922777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZOgw-0005rR-Uv; Fri, 25 Aug 2023 04:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590483.922777; Fri, 25 Aug 2023 04: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 1qZOgw-0005rK-Qy; Fri, 25 Aug 2023 04:45:02 +0000
Received: by outflank-mailman (input) for mailman id 590483;
 Fri, 25 Aug 2023 04: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZOgv-0005rD-9n
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 04:45:01 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 240cd0d1-4302-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 06:44:58 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by MN6PR12MB8469.namprd12.prod.outlook.com (2603:10b6:208:46e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 04:44:52 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 04:44:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 240cd0d1-4302-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=De830zXFSon0qjbFNQdFNK5mDO1n+g4+Dcb6O8QL5IyG9e4PNpoUXbjT5ToD+Zrj+VTOrgDqtxxhwSrxEwrkWIHEjRpxN4rKkEyYfkNfcFTgOXxkeCgBYE4IRb3zjfAcShBwX2LzylahJiJ9zyQKbORBGUihxmbQbmHUut6fH0+zEjsrKOQh1ImJuogo/zZTBWTa2BbML9i9H4S2X9OairnqpdxqlJ6to4n6o0ibWYKHkwbeJaApE9/5JXX51Vv1z+DOFnIGLOma03BSBFo0PXnolLFv4NsuocTjKoC+1J71s7uK23d3WJyLVxsXze3cwPPL/hQXV5E18Xi3jXSjvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aP44Rz8RZDYYx6gs70yg7+oGb2YlKeE1DZXX9oWyySs=;
 b=bqu2loQVwIlTXjgJHW2AT+j5vJJanm16OXwaHY82yK7aIN6w5ziA29ucH5nx0Z2cgxdVd1qmAm9CD/uRPMd1d0ge8+fmivL2FT/l1PLsbNGhMgh2aA6tWo6YEhFw3wkoSyOaVfHo/bTDNVLqNV7HEltxS59SY+qya1UK4PoZSYHal9x44+xVa3LEUrBGSAXNKPjLHKEzxSRM57RxZkufQdG4gSOSHf5hjHMwkUJtH0CUEA0d/PAOVP0PxM1G435o2B/sJadvY+ojdyhKzMUekFD6snVRFmnBPwjcaUIX1G9qSgaB3UImb+uyipMC+/pxDXCOwCNjsGKNnDlpAbA20A==
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=aP44Rz8RZDYYx6gs70yg7+oGb2YlKeE1DZXX9oWyySs=;
 b=S507QSTz5Gdm6uzPKivmllCF1KRyIbeqiSLoAS81b/7jFa1dbo8UpzXOy29jYrXyIKOnoK5o7iSMv69fbjAvCqjRuy8ml99Fs2OLd5Yb10OQtoNDP1vL6DFxBqIhOCxP4QSZCNNBsW7qo0manwtNMm/k0XNqxfmxBPli2FLNOfM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 21:44:48 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v9 10/19] xen/iommu: protect iommu_add_dt_device()
 with dtdevs_lock
Message-ID: <ZOgxwG_0kfhDPFZl@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-11-vikram.garhwal@amd.com>
 <62c19920-cfe4-405d-9294-7ed426b3a99f@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <62c19920-cfe4-405d-9294-7ed426b3a99f@xen.org>
X-ClientProxiedBy: BYAPR01CA0046.prod.exchangelabs.com (2603:10b6:a03:94::23)
 To MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|MN6PR12MB8469:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c6101cb-f610-4f63-4516-08dba52604f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XAMIDSXzhXJhpQ/agmdSgnGA3/aB+lkrFvE3YobvBAoYDQnuiYnl5LljP3dzjWXm+OwcSBYwCjrlJC9wD+fVhkoYI8DazU7lhbkTs3tlydCpDPArc1nVa3ewVb7hOLMA7QqPS6BIbTNHbzhmkmYwHsOeHVjeCgQC/cf9Sm+9+dtQoIerUSVcv/JA5v0xj+mLGxCScHK3GWPIgmF3i1tgklg8ptI6bXy8z/LCl4Lct8VWyDIzH8/D2NcIjKavZeXnubrwGR9YdsDJ0DEUdqCOh8d2Yl6lVrESCAMwLFlGO992vnilKy7Iq3O+wiDGGoaod8yq14uDYGby87PfcVY90/RVnNzUTqv+vJLGCMNdIoN54p6jlg4kAzq3j+DJ0EEfdYLF9u6OP5boRDmAi7U4e9mxVKupng5uG7hdQGxz/Omp445ndi9jz+VkHeuXyTBjFBR2BuhmXt6TXlZ0iJH3DV+Rk8cEMbB0Tz6iF59YMnzxR+RuONtxumZ4t7j0NvTeBZA7tv5c+QXfwnkQyYFXWzVqa5932oCGZevfyZbxhJ/j0Y7yuuWlZ/vgnvoYT4YN
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(396003)(136003)(346002)(186009)(1800799009)(451199024)(2616005)(5660300002)(4326008)(8676002)(8936002)(36756003)(83380400001)(44832011)(26005)(38100700002)(6666004)(66556008)(66946007)(66476007)(6506007)(6916009)(316002)(478600001)(53546011)(41300700001)(2906002)(6512007)(86362001)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGJKbWhzNFBHbWhZR0c0WEhkaUVrbzR0amQrK1dqYTQwTVNOVGZVTU1TZGQ2?=
 =?utf-8?B?ZEFVM2tGczdVbU45TjV2U2srUVZDaWx4TlRnUlBVVEVUL3BXVU5zdEF0eTdF?=
 =?utf-8?B?SDVyb3FzOTFUbzhUUzdDdUV3RkVlQm9jSVJhWk5zUlo2dWRSdWttdkh5YWds?=
 =?utf-8?B?aldBcmVQeEwxVVVLTUk2TWVlbFV6VXhoTEo1eEtnRVpLbHI2Ty93ZC9RVFd3?=
 =?utf-8?B?a2UraUVXVUFtMzJhVjhqVHRVcXFOTlRtQ1EzVXBONG1ONFVKNzVRd2I4N3dJ?=
 =?utf-8?B?Vlc3Qjl3d0VMRHlSbS9WYXFLTlRYdWN3bTBGRXo2dUxBV2Qyb0JhRG5EQlZ1?=
 =?utf-8?B?YnpMRVI5UjJETCsveUZwK284ellyT3MrazhEWkp5LzUxZUFVcEMyTEdqQmUy?=
 =?utf-8?B?UUVPYis5S09OeFFZaVY1WXBLRE5Hbnh6VmUzZURwaXFEUHFoVEE5T25jaHRI?=
 =?utf-8?B?UTNzRW5NN0h0cWY1ci9zTHNrNy80c1RrR1l6Tzl5N2hFWE1aV01zcEcvd0hl?=
 =?utf-8?B?bmlweGkzeHg4b3BFNVRXam1mKy8vYzk4NXJDZXlDV2tHN0VaWVlLbnhtdEox?=
 =?utf-8?B?SnliaHNlZ2xWa1FpNW8zOGIxR25NM0xDNWlYVGJIclhBZnF2czJ3ZlNvY0pX?=
 =?utf-8?B?anJhaFczU25seW1TSDdnZVoySk1FVDVydHd6Wjh2cUFJNERxODIwUld0Vklm?=
 =?utf-8?B?eFljZ3Y1Q093RFVUbHhkRXVMUjNBY3JkdzgrV2hua1RWRTF4TC90Tkp6eC9z?=
 =?utf-8?B?MlovK1QvMnFrMEJ6enlQcVZCazBBdkZMeDBRTFNpOWltejJ4SmgxODV2YklB?=
 =?utf-8?B?bHJwR3FBZDB0RjN6ZDhsL2VhOHhkcXY3ZVVMY0ZlU0tIUmpOejdIWFRVQUNp?=
 =?utf-8?B?YzhKWGhUTkZaRVAzalpWc0xPa1hLUDJqYVpRWlNucDdrYTcxWFMzMXEwZ0hn?=
 =?utf-8?B?a1d2ZlFIc2lCdzMrdE1vQ2pKT042QnNVV0dIQWVWUHNFb0JBdWlmb2FhaXRB?=
 =?utf-8?B?aHFGNjZmZ0hCN1RzVWtWZnhjWm1DQW5GS0ppV0VseWxDRktUdm44VU8zd0dl?=
 =?utf-8?B?T0V2dGhKQ1g4VzAwQ0ZvTTFRL3ZFbHRvL3pOL0dRakhmYmJzSWVKMTVkNncv?=
 =?utf-8?B?ZnBSalg3QzVrU1ZEN3F5S0szREVMYlNXUHBqc3BrWVBvbmxzSkRZdDF2eWtR?=
 =?utf-8?B?eEhpN3grcHNMVVpYcmFNWEtQamw0OVFMSmhINkpRK1VTY1pZRzdZMk4wZjdn?=
 =?utf-8?B?emV0dFVicHRFZXZWeDlQNjJYeUZKK0x3VHRKdko2MjZLaVpyNzJ3ZDZFM012?=
 =?utf-8?B?cnJncWpsbUtHYnhWcmdJU0M3Y24wZmFoZjdmZHlNQUhBME5KcEEzOW5CZXJX?=
 =?utf-8?B?V0tGVGhpemRyenk2YyswOFdoWm9JNkQwd1lGdXppMmpTUlZ3SFZMRW91OW52?=
 =?utf-8?B?Z0traEUrYnhoNXhhUUZPM1Q5TG4vOEFrUlRyWU54eUtSZVVMTk9pS3JPU1dT?=
 =?utf-8?B?L2hybjV5RG5ueXk1L2NwSUI5d2ZRN2ppcDY3N2hhY0xlZXNHV3p3dXY5bkpL?=
 =?utf-8?B?dHJ0U3NrKzc3dEZvLzBNUzdUcTZiREFRR01CZnhqY2RRR0E4MWxNNHRyQU5l?=
 =?utf-8?B?TTJwSnJQcktrRlIzOTFEY0hUblJVODA4bGNrVUZPRTNMY3dBc0tSdnY0UW9o?=
 =?utf-8?B?THc5M0svbThOamtLbWhUWjNaUzBDSUhNam1VK3JUMFRFSnhBallyTWNzNDR0?=
 =?utf-8?B?WlNDRzExSUtaL0N3S2NmdzVRWVk4VzJBOUd6V3ZURjlTZlB3ejgrVHpXZDQv?=
 =?utf-8?B?V2NSbWRIWDljWGl6cDMrbGFXZnBvSmgrclBLUEF5aVdiaE9FbWg1NUdhNkVC?=
 =?utf-8?B?NVQ0akM4UnpTa0h4TEJXK1A2cTh6YVNWNDh6a1A4bE9ITlBZSG9xNys2aFRW?=
 =?utf-8?B?NnFVVVUwZVEyRE05aXhSa3JSZkpnbVlxMm1NQThCT2dGSWp5UWMwa3hmY2pw?=
 =?utf-8?B?SGFyNUFmNmJrL3Y3QnNmV1NJSWdEUmhMcTZiSnQ0K0JKeGFGZG85cEsweUZI?=
 =?utf-8?B?dnhEeW82RUtRZ21Za3E2STJxQ3V6NHdHVk5rcEp1UkdxbWV1QmJTd3d2cG94?=
 =?utf-8?Q?HxlP75iUWckrzrNmVh8I5rtCO?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c6101cb-f610-4f63-4516-08dba52604f9
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 04:44:51.7734
 (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: 2hwEvfMdgZpifcfcZ4YMVAQ9y+djc3YaItD3lVdNubw46odJSt6vBHo1nnBEAs2O0OJwqpx6wTkposQMmEp4lw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8469

Hi Julien,
On Tue, Aug 22, 2023 at 08:47:10PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
> > to add/remove/assign/deassign.
> > With addition of dynamic programming feature(follow-up patches in this series),
> 
> Typo: missing space before '('.
> 
> > this function can be concurrently access by pci device assign/deassign and also
> 
> I couldn't find any use of this function in the PCI code. So are you talking
> about not yet upstreamed patches?
So, this assign and deassign is also used by pci-assignable-add from xl which
"Make a device assignable for pci-passthru"
> 
> Also, typo: s/access/accessed/
> 
> > by dynamic node add/remove using device tree overlays.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> The code itself looks good to me. So I will provide my reviewed-by tag once
> my question about the commit message is answered.
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 05:02:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 05:02:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590492.922786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZOxy-0000NN-Fg; Fri, 25 Aug 2023 05:02:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590492.922786; Fri, 25 Aug 2023 05:02:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZOxy-0000NG-D3; Fri, 25 Aug 2023 05:02:38 +0000
Received: by outflank-mailman (input) for mailman id 590492;
 Fri, 25 Aug 2023 05:02:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=czQt=EK=linaro.org=erik.schilling@srs-se1.protection.inumbo.net>)
 id 1qZOxx-0000NA-ET
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 05:02: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 9ade5f81-4304-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 07:02:35 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2bcc4347d2dso7439201fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 22:02:35 -0700 (PDT)
Received: from localhost (i5C7438EA.versanet.de. [92.116.56.234])
 by smtp.gmail.com with ESMTPSA id
 s6-20020a1709060c0600b0099d45ed589csm502621ejf.125.2023.08.24.22.02.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 24 Aug 2023 22:02:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ade5f81-4304-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692939755; x=1693544555;
        h=in-reply-to:references:from:to:cc:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p+W09V8rePmobt/YJGJeaCGdTTI2+vAGeLCqHBo+BaI=;
        b=eQF0SW8x8BCb40044GBMmL5xPn/2Rc8tRALWLPhqBGmm1cl5RmeS21njMHnbIUI6oT
         RuFg+SrZdYRL20ZtUf9m5ynCO2muYseEno8td/xwjOSoCZOdL0l0Cc/QKqSmtJIGU01Z
         VoS4+A9xcd/veej5PUPPoPKrr5KwpgJYb86ccgYpTZOtvUs+2Jeq3v5ZOIymaTGiWcFQ
         vwSW8pNN1f/BNuFPDpgqZVl1F4mCVOHC4LjK3qlmeq8mLifjqdWdzM6MY4luniUjv7/K
         OT0ffSZ5wZKTNrC/XMnP1jheGzGhyscXwOphdk64ytV/n4K8fYIA8uzqbyyU8Q2fob+f
         3rtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692939755; x=1693544555;
        h=in-reply-to:references:from:to:cc:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=p+W09V8rePmobt/YJGJeaCGdTTI2+vAGeLCqHBo+BaI=;
        b=OOIivG3P+iWsYGvlqFfTKTn7w1ZBa8Hnim2H9RE4QERHzYD7+McYDDWKYKQ+3tODKU
         6t6Epyh6oyzxRA4l4nsKsMiul1Tl379ULysImBsVDnV5HpwIGrp9euqHF4BjEm3sLpRE
         sxMv5SUjaSHg0Urh1e4CYiPjnZHvC+/IQeBtk0ZnGwSAtCwY7afL3vEJOW1A05DZC6Rt
         oP4kIlJ+Sx+wzVKPSvghjQhbwsmicXIOeje1J6kjYT2s3iEZYGtbtmj7s3K/5nmA8jPh
         p2n4hZ0VW3eNkNb4KHnZKFF+CczOjuto4X6qDnjXpzAJYzLybCZcK2HhmKIGQnyDKIYj
         k4Tg==
X-Gm-Message-State: AOJu0YyEw2dz/GHA42qB7ArMVafiltxkL88WTCkOGdRB7ewAmsXaH8LX
	icw2wVNkRN20Bcf3B/gBO60qKQ==
X-Google-Smtp-Source: AGHT+IHC6aIcLo+sue1ratW3RqkpBlDzYrw4PaUrvo64YfqDWZ1Xc3zEslF6SsICHibzUnwaWj2N+A==
X-Received: by 2002:a2e:944a:0:b0:2b9:f0b4:eaa1 with SMTP id o10-20020a2e944a000000b002b9f0b4eaa1mr10761699ljh.16.1692939754684;
        Thu, 24 Aug 2023 22:02:34 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 25 Aug 2023 07:02:33 +0200
Message-Id: <CV1D227LZPCW.2ELMBHY8LE53X@fedora>
Subject: Re: [PATCH v1] tools/hotplug: systemd: Make dependency on Xen
 device nodes
Cc: "Wei Liu" <wl@xen.org>, "Anthony PERARD" <anthony.perard@citrix.com>,
 "Mikko Rapeli" <mikko.rapeli@linaro.org>
To: "Leo Yan" <leo.yan@linaro.org>, <xen-devel@lists.xenproject.org>
From: "Erik Schilling" <erik.schilling@linaro.org>
X-Mailer: aerc 0.15.2
References: <20230825033616.3402812-1-leo.yan@linaro.org>
In-Reply-To: <20230825033616.3402812-1-leo.yan@linaro.org>

On Fri Aug 25, 2023 at 5:36 AM CEST, Leo Yan wrote:
> When system booting up, the kernel module xen_gntdev.ko is loaded and
> the device node '/dev/xen/gntdev' is created; later the xenstored
> service in systemd launches daemon to open this device node.
>
> This flow has a race condition between creating the device node in the
> kernel module and using the device node in the systemd service.  It's
> possible that the xenstored service fails to open the device node due
> to the delay of creating the device node.  In the end, xenbus cannot be
> used between the Dom0 kernel and the Xen hypervisor.
>
> To resolve this issue, we need to synchronize between udev and systemd
> for the device node.  There have an extra change in the udev rules for
> tagging 'systemd' for Xen device nodes, which notifies device node
> creating to systemd; besides udev change, this patch adds dependency in
> systemd service for waiting the device node.
>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>
> ---
>
>  The udev rules change is on github:
>  https://github.com/systemd/systemd/pull/28962/commits/520340dfea3b6cf9fe=
7a24c9238313b1a5fe8539

Let's see what they think, but I fear systemd may not be the correct
upstream to carry this... Skimming through the rules that they have
there, it mostly looks like they only carry rules that are relevant for
systemd-related services directly.

>  tools/hotplug/Linux/systemd/xenstored.service.in | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/hotplug/Linux/systemd/xenstored.service.in b/tools/hot=
plug/Linux/systemd/xenstored.service.in
> index 261077dc92..6e48cdb0e7 100644
> --- a/tools/hotplug/Linux/systemd/xenstored.service.in
> +++ b/tools/hotplug/Linux/systemd/xenstored.service.in
> @@ -1,7 +1,7 @@
>  [Unit]
>  Description=3DThe Xen xenstore
> -Requires=3Dproc-xen.mount
> -After=3Dproc-xen.mount
> +Requires=3Dproc-xen.mount dev-xen-gntdev.device
> +After=3Dproc-xen.mount dev-xen-gntdev.device

I must admit that I am a bit confused why this is enough... During our
discussion on Slack, when you quoted from your rule it included
`ENV{SYSTEMD_WANTS}=3D"xenstored.service"`. Did you drop that during later
development? Was there additional reasearch involved in dropping it?

My understanding was that if devices do not exist when systemd builds
its transaction model, dependencies on them will just get tossed out[1].
So I would have expected that there should still be a race if
the .device does not pull in the service.

Did you hit the race frequently enough to be sure that this fixes it in
entirety? Is there a place somewhere in the Xen or kernel code where one
could add an excessive sleep in order to trigger the race more reliably?

[1] "citation-needed": But I vaguely remember dealing with a similar
    issue and getting told this on #systemd IRC

- Erik


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 05:09:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 05:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590500.922796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZP51-00013H-5d; Fri, 25 Aug 2023 05:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590500.922796; Fri, 25 Aug 2023 05: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 1qZP51-00013A-35; Fri, 25 Aug 2023 05:09:55 +0000
Received: by outflank-mailman (input) for mailman id 590500;
 Fri, 25 Aug 2023 05:09:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZP4z-00012p-Bo
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 05:09:53 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e89::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e490a95-4305-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 07:09:51 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM4PR12MB7597.namprd12.prod.outlook.com (2603:10b6:8:10b::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 05:09:46 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 05:09: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: 9e490a95-4305-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h++hclkRSpieubNfLdWpQyKECmJrNhM372ysUYwRwxntVvmco5WUQC4EXG4E91hPNEY/sgnkNkN9MJZaM4gUXHgyo3Hld5+Kh4ceg+rSKqxzu8ultgdNTlmIUmw46Bh9APFEokZZiI5kl0lDRxN/epdRTzNnzbBVTVqp/mWbs/aIwdw2bFJQcqpvmWRjAquNK3o9/jkJH4qHRhPXoFwpJNhr/PsJuVg3DqED003Pe3S0z39XWi1MLqZ/ZMmQPS/+XHpzyxNjNaPBizG19Rqe+/DDdL1I0ayM/WFwNLIIvEGfboSNZpHC6KyV9ZqcZSMeAz1EXmCQVJ7K/d4pE90cKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LthECWouvaQOZ+qDwH7JUelIlPzBC/05/D4Z62sZpp8=;
 b=ff1Jqyd7ck6JAXN6FWqpzkVnxr3mJoqgBWmpFOgmgzbXGw2j+dmnThD/a+2iaGpfszc3THh/DvLjG0xPQG4UpOWsUZVRCNqU0D1GxfMrucYHZfIuIzMuLS9fsm7VGIkiolpXHBQFkGsuqBVP3W6wDyswpFY/7WUjlsomOpp+AIP4z003n33DvIsP3sPVygaCnUY9wGblidKhfGt31729KAPqzewYC7BEDHhwu8dE3/aAQRzTXDdmUD2bVuw+PjdQhS4rpKNruFck83yH6ARQohqRP0JQOkcRNZhmfLqX8rlnOEInd8oRBXTx6itPckarKVr/zGnoCQ679z6kXvsIBA==
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=LthECWouvaQOZ+qDwH7JUelIlPzBC/05/D4Z62sZpp8=;
 b=fnsrnoudZFNqEUzUuEz+WgOXSIWAhNWwDBCSgnwv2Fc0nW4Zr6wAqAuSB55VKuB+RVaO+RhR473YAFp3YiqVXCW+apbfr+ewUEesbczFkOyWtQ5B/ImtfE94GFgUSQF59cIjsVEiH3NuaoXOJTy6NAK8FRf1nM0xnW3P0ZHAHlU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 22:09:38 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN][PATCH v9 09/19] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZOg3kurjD16J2vtr@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-10-vikram.garhwal@amd.com>
 <e77c9551-a167-468f-b889-e2a0a18471c6@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e77c9551-a167-468f-b889-e2a0a18471c6@xen.org>
X-ClientProxiedBy: BYAPR01CA0024.prod.exchangelabs.com (2603:10b6:a02:80::37)
 To MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM4PR12MB7597:EE_
X-MS-Office365-Filtering-Correlation-Id: 0dc42b3f-083d-4726-3896-08dba5297f45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6NeaGeNHE7EC7tOozGa7V9PtupgiM9ep/iJCBC5fukp43icH1ZOK33/+echRY4cI68UsBC7l35abuqSajEJySXUEoiG9XsFp4LDfHdXx+eN51/6EabEMelEKRSrZ3oC0sNqrYOp8H99oJKSPvPib2XuK+ZVSEjN7t7SinKpzEBeC9LO7nw/4Gu4TU3w39AOxwGv+zMFz5faPVrQa3vcUj2NCn/RbNsMGVUbvWqGJl2qGwPTxerCYrV6k/t0FiS4KB1DDwAz1PC3x4UuH+L8YwObmpz6O5hqk0OxMRcPfpxBd4A2JY0UEoKmg4oHNKtRB+qGZUREVq3sFmdia63oQ8sKMHA1JHSVevHpMMHpkRlmjNSWuWduS/jkwxi31FqWfB7p5zHv8sUdZ4y6w2sl6Tlj4vOmmEDmdAonta83Nq9KAnGXkg6sEd5Mtit+0fY6Sik6wPRxKURQunxZaGeXD6Lt3Ra59URIpMoo4vofrMPYmCDFzguWqVabGTtHbEZFJvBDkBizDjRpJokHpLhCcXE5H2Ymu+X+hq141uUmG/m0skM+X5rW5lUtDTyiBMuZr
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(39860400002)(376002)(366004)(451199024)(186009)(1800799009)(54906003)(6506007)(66556008)(66946007)(66476007)(316002)(6916009)(478600001)(26005)(44832011)(38100700002)(6666004)(41300700001)(53546011)(86362001)(6486002)(2906002)(6512007)(4326008)(8676002)(8936002)(2616005)(5660300002)(83380400001)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzFIUWdoZUdONmtqMTkrN082V05KTjNUN2V4MEJWNHphUXF6aEZ3VzhPOUxn?=
 =?utf-8?B?cVJaeXIyV1Z4d25pTzRpOTN1ZkphNGFndFIydjVjQ1IrQk10WVkvdWw5Wits?=
 =?utf-8?B?YU9mRHhxclVMVzBDVVVpVFh6R0YvNWVuRDZEcjZKVDFjWjFKNlZ5aFZZUWFq?=
 =?utf-8?B?VmE1WHQ5cU5ud2lFR2tFa0huWERQb291Tk1LMFpwMDQrMTVSUXFmOGFXY2xW?=
 =?utf-8?B?S2xMN0EvelpuQkFMMkoxSmZQakg5YTZuYnpGRHQzbStFdDMxaExIUCtWcnM5?=
 =?utf-8?B?YWdUR0pjUFV3M2VjcE0zZlBJb2xrU1NFZW1WZ0xxak4wakcycVFHeTB2Yk8x?=
 =?utf-8?B?bGpiZjFXVnlIL2xJVmVvb1RvMWZ6eGxaNVVaSk5yZVlQTnZEYS9oQjlrb1A5?=
 =?utf-8?B?UXFjNGxZVVZXQlZJNk44eWR5c0k3NzE5V3Zwc2ROT2IrTWdCWUcvN0NLR2VE?=
 =?utf-8?B?QVFPRkNNdi9xQ1E1K1JmckNXSVlrcGtUNkRwZXU2OE5EandGTGpHcTFpYzNt?=
 =?utf-8?B?ZHI1UHBMKy9wKzlaMi9jVGVZNmszR0xOZEFKRlJseUYrWWRsNE5mMTZObis0?=
 =?utf-8?B?cFQzRHdwb0xHR3BGbkIxOWt0cDQ2MXI5VXJqR3kxMGVsNnpkelN2RjhCbmt5?=
 =?utf-8?B?M3NzRkpwaktueEEvNTNPWHA5Tkc3SGlMOWVkN1kwMGFoUU0yN0JOdk5qWmt5?=
 =?utf-8?B?eW9SYS94VkZzMCs2T3FqcXEySDRISDFaa29GR3lWa2ZRWEdSV3RTVFNwcUx2?=
 =?utf-8?B?MmgyMzhmMFpWaUF6VmxEbnltYnlra2NJdm1ZaHh4ako0WE84Y3F5dHZTK2lq?=
 =?utf-8?B?SkFhd045ZDZORVNqWUxMcTBDdFdCQk93bFhHZWY5WGRRaTFiclRaUEtLaHRP?=
 =?utf-8?B?eXYvd2FPRHJwRkxYbWo4Q0NRVFRtcGVudnNFZDhrNTJEcGpKVUJXY0JsTXdm?=
 =?utf-8?B?cjdBODdrMzhZWG1QQUxlMThQbjhSVjFhejhRRnlLMlNRSkF1TldYMTI3OVBw?=
 =?utf-8?B?MzdmbkpJc3lvL003bm4wZGNJT2xOaklLQ0RtLzJwbjgvbmpTZG0vZGk1NTRQ?=
 =?utf-8?B?TmtINW9sMGQ2cURNUm04ck5PdGhVaEtVYUdLQ2lQdEpKWUNUZFBscG1qREox?=
 =?utf-8?B?WDFTRStCNmxjVnFsdG1Id1gvQitGd0RjbTh0SCtBbVVSb014OW1BNXVBdmh5?=
 =?utf-8?B?c1pQcnI3K1J1cXFEbWIybDVsWkpIemZ5dkl0RTNWOXovM2xjVk1YdS9GTWlP?=
 =?utf-8?B?RnlrTFRwT3NhaXpaNUpKR29jd0xLaUVldGxVUjlWMkNJV2ZTQVNzbmlUeis4?=
 =?utf-8?B?QkxMaEFXV0NySTVKK1lMbTJPei9ZSUtFamV6eDlIdnhFSmdlOW1nY0I3NndB?=
 =?utf-8?B?ZXFmM055ZDFka29jYnlkZHdsM1YxUjBRQ0J2N1hMQzdENGdqcUJxOUlpZmZk?=
 =?utf-8?B?QkVGQjNFeHVEZlJWTnd3R0ZtQ3pFajFWK1poOVBnelJUYnV6ZDYxYUlGRzVj?=
 =?utf-8?B?V3lWT1JjYzhKdWlmUjB3MDJOOVpSelF3M29UVFRaOXMzeDlPanAwc0h3QTRy?=
 =?utf-8?B?V3NRYllIR0VGUmxzUVo5cFJLUXJ1YU1NLzdkb2w1MWsxR1lteVpFSVJGY2c1?=
 =?utf-8?B?NndTUk1mWm02enRGQ0NaZmd0WjZyY3ZyMlZPRCtMNlZVK3dIb0NWL3BaempJ?=
 =?utf-8?B?OVBEN1NUN21SUExDeThSWEx2bWZzcmgxWURTRzA5dUZOdEJJQTRHM1VEbmph?=
 =?utf-8?B?eVVIU3lueXJMaFZoM2g0SW9pN2lOS1VhTFRtbkZ4NVBvcnJNWUd1RGw5Q2d1?=
 =?utf-8?B?UEZpcThSSHRPUUNXWVR6TWg5am9sWTVGL3RBRE16eXU4Sm9wOXk0RS9HanBJ?=
 =?utf-8?B?TGlpZ3pVLzV5OHMvbFd4RWpvRTBSUFZRWXdhaGo4MDNkaXhEdnN3bG1JeWVO?=
 =?utf-8?B?NW1QVmpuazVKbTFaNnJxelpyc21samFTUFFHcFpNMVp1UlZxdElwTk8wUWJH?=
 =?utf-8?B?RGxqQkErRXBIWjAvTXh5Z2FVZ2tETGY1cUNQeWVYQ2YybHRwVXh4YmZSVk1M?=
 =?utf-8?B?RTB2WkcyUGlZd01hOTNBcDRiWGlLaktqcEZsSE5oaFY3RGlOdG4rc0NsZUta?=
 =?utf-8?Q?mgQFY4O0YTZDWjqTZPpa88csv?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0dc42b3f-083d-4726-3896-08dba5297f45
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 05:09:45.2720
 (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: I0U+Y/ZJ+qI6ByoSS8TENqTb8zgXl8QaMRnEU0hWksLi+mh7cE28kQt/WlzU6NLXuHd7qNOah9keDZlvjM5ATA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7597

Hi Julien,
On Tue, Aug 22, 2023 at 08:43:27PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> > Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> > Remove static type so this can also be used by SMMU drivers to check if the
> > device is being used before removing.
> 
> I have commented on v8. But I will comment here to make easier to keep track
> of comment.
> 
> I don't think iommu_dt_device_is_assigned_locked() should be called from the
> SMMU. If you want to check a device is assigned then it would be best to use
> the internal state of the SMMU.
> 
> This has two benefits:
>   * This avoids what I view as a layer of violation
>   * This confirmed that the internal state match with what we expect
> 
> > 
> > Moving spin_lock to caller was done to prevent the concurrent access to
> > iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> > patches in this series introduces node add/remove feature.
> > 
> > Also, caller is required hold the correct lock so moved the function prototype
> > to a private header.
> 
> I don't understand how requiring the caller to hold the correct lock means
> you need to move the protype in a private header. Can you clarify?
> 
With removal of check in smmu.c, this header is no longer required.
will remove private header too.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v7:
> >      Update commit message.
> >      Add ASSERT().
> > ---
> > ---
> >   xen/drivers/passthrough/device_tree.c | 26 +++++++++++++++++++++----
> >   xen/include/xen/iommu-private.h       | 28 +++++++++++++++++++++++++++
> >   2 files changed, 50 insertions(+), 4 deletions(-)
> >   create mode 100644 xen/include/xen/iommu-private.h
> > 
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 1c32d7b50c..5796ee1f93 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -18,6 +18,7 @@
> >   #include <xen/device_tree.h>
> >   #include <xen/guest_access.h>
> >   #include <xen/iommu.h>
> > +#include <xen/iommu-private.h>
> >   #include <xen/lib.h>
> >   #include <xen/sched.h>
> >   #include <xsm/xsm.h>
> > @@ -83,16 +84,16 @@ fail:
> >       return rc;
> >   }
> > -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
> >   {
> >       bool_t assigned = 0;
> > +    ASSERT(spin_is_locked(&dtdevs_lock));
> > +
> >       if ( !dt_device_is_protected(dev) )
> >           return 0;
> > -    spin_lock(&dtdevs_lock);
> >       assigned = !list_empty(&dev->domain_list);
> > -    spin_unlock(&dtdevs_lock);
> >       return assigned;
> >   }
> > @@ -213,27 +214,44 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           if ( (d && d->is_dying) || domctl->u.assign_device.flags )
> >               break;
> > +        /*
> > +         * To ensure that the dev doesn't disappear between the time we look it
> > +         * up with dt_find_node_by_gpath() and we check the assignment later.
> > +         */
> > +        spin_lock(&dtdevs_lock);
> 
> This change doesn't look to be explained in the commit message. But looking
> at the code after this series is applied, you justified the addition of
> read_lock(&dt_host_lock) to protect access to the device-tree. This will be
> held longer than dtdevs_lock. So is it actually necessary to move the
> locking earlier?
I re-looked at the implementation and actually, dt_host_lock will protect the
dt related changes. I will move it down before iommu_dt_device_is_assigned_lock()
call.
> 
> > +
> >           ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
> >                                       domctl->u.assign_device.u.dt.size,
> >                                       &dev);
> >           if ( ret )
> > +        {
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> > +        }
> >           ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
> >           if ( ret )
> > +        {
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> > +        }
> >           if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
> >           {
> > -            if ( iommu_dt_device_is_assigned(dev) )
> > +
> > +            if ( iommu_dt_device_is_assigned_locked(dev) )
> >               {
> >                   printk(XENLOG_G_ERR "%s already assigned.\n",
> >                          dt_node_full_name(dev));
> >                   ret = -EINVAL;
> >               }
> > +
> > +            spin_unlock(&dtdevs_lock);
> >               break;
> >           }
> > +        spin_unlock(&dtdevs_lock);
> > +
> >           if ( d == dom_io )
> >               return -EINVAL;
> > diff --git a/xen/include/xen/iommu-private.h b/xen/include/xen/iommu-private.h
> > new file mode 100644
> > index 0000000000..bb5c94e7a6
> > --- /dev/null
> > +++ b/xen/include/xen/iommu-private.h
> > @@ -0,0 +1,28 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * xen/iommu-private.h
> > + */
> > +#ifndef __XEN_IOMMU_PRIVATE_H__
> > +#define __XEN_IOMMU_PRIVATE_H__
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#include <xen/device_tree.h>
> > +
> > +/*
> > + * Checks if dt_device_node is assigned to a domain or not. This function
> > + * expects to be called with dtdevs_lock acquired by caller.
> > + */
> > +bool_t iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev);
> > +#endif
> > +
> > +#endif /* __XEN_IOMMU_PRIVATE_H__ */
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * tab-width: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 06:22:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 06:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590508.922807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZQD3-0001dF-F8; Fri, 25 Aug 2023 06:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590508.922807; Fri, 25 Aug 2023 06: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 1qZQD3-0001d8-B9; Fri, 25 Aug 2023 06:22:17 +0000
Received: by outflank-mailman (input) for mailman id 590508;
 Fri, 25 Aug 2023 06:22:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZQD2-0001d1-JP
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 06:22:16 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba9c38aa-430f-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 08:22:14 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SA1PR12MB7366.namprd12.prod.outlook.com (2603:10b6:806:2b3::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 06:22:09 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 06:22:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba9c38aa-430f-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FAVHyIuQb5N7f7cOJsBepNaRKta3sa++9Gt/9LJfzs/aNKFWB0mjzU+bWNSQMCJgiK04U9yTwI5d1fMW/gSrp7dEJkvgKF91w8AsXGPBVDZdgF8rqMfGtO/TQ2Jemj1wFJyqABKZgEsKFISV5Ffdff+IcSJCGvhN05LzUnC5Lx1F4CKIWlx/CENxnfuECjToCt36r8HR0qoh995fOQJIH+FMSioUen0gcuv0imBOkqgv7QouBm6Eu9kha5X9vDDXk556RoJEQ0o155SK6MdnQWhAWRAXKro98G89pYoSsJEehgrkb48w3WAM5pvXfT4DkilxAcBJHsI0VypLcZOUCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/3cIqwmI5tfC8NIIgNtIEior/RVx6YKPz+5TvIpeSxo=;
 b=EhD84ThVxqGB3Ejfd1ChR9cmZ3jiw7xgVHkw7W4u28NVjiLxSsvdJBOjAzdWnwqtgBN5Ye2kLRzWz4IgHa6lsH3HRjRRFIsQeE5HtevxwgZueWvJZiPEu49WqbiYQoOJSfXgs2ll4DevypLpLwVuRcNYHqmXsYhvdzcmsqiTs6by8/vkwfb6zF6GccOoAYbEyiUqEoPZQYDgJWPFQwzJe+w5FjyePoLch5nOxWEJNBbm8Q9YPr4le+L8litOTQHRHtQwDhmkvkCvjmESPVPfIMxw/GPmHkzSR0BcWi5EBCUs1JD3qTiyI5uZL/TH0sOE+DhFcaEqSCdQTTAmzVvDtQ==
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=/3cIqwmI5tfC8NIIgNtIEior/RVx6YKPz+5TvIpeSxo=;
 b=n63V+E7x/naXoiZfU0MvU5vT1MrIEqn0FNKHcapgDRteQtIyqaFtlRrajbOY1PCR0DAifZ02pmkNNIAiRXwXypEeAXUdrBj2Nu0LVurQVeMEkt7CSEzmiRjWeQdgOZd86/b5F2N/ax3mSZcaiHkLB7pRqoxQZuxo7S6FmbwIqXU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 24 Aug 2023 23:22:00 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v9 14/19] common/device_tree: Add rwlock for dt_host
Message-ID: <ZOhIiLg0thx3Q2N_@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-15-vikram.garhwal@amd.com>
 <d5e658e4-e30e-4783-8fcc-0bd93126abf3@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d5e658e4-e30e-4783-8fcc-0bd93126abf3@xen.org>
X-ClientProxiedBy: SJ0PR03CA0085.namprd03.prod.outlook.com
 (2603:10b6:a03:331::30) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|SA1PR12MB7366:EE_
X-MS-Office365-Filtering-Correlation-Id: 7cd02d88-28a0-4ad0-ba0c-08dba5339c6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BKJ+wOTq8PcWNhQ8TykBpTzUMZhbyQZOJZwATOl6IlXvzYxuI0nUHATTUaG73iVrvHGsFb9TDwhlpptSj8ISugnb+DjdRuOHtiwyB8bLZZ1piwMYR9A1iROQ7gEv4AaA6Pn4w3XaciJYBxycNaWYjezM25Dwsj3BIHi1SZYkTYn+0YbolPD6bu5nDGRaN0nQVztFC7VI4O/wgvMaLkI+bG+uPU8qLSNQlGhUoQxw3eySQhnxBP6CMjuyEBQAA2gMlDS45KiEuvzlC6iD4PPOTMwF0OWK221/Y/IjrSZptnO+13241oa/l+KCY3+bzJONUxRESpSj7SbfDYi8SX44FM5zuSF4aD5UmFPo6J9SeZaukhL+yyNmlE1EVY0PlCQBwAExjlOD9vSFBp7MVeVn5PpSU+aq0BKOBZn99iTYbTieZhw1PkH9aVV4Z5yqoTluBIp43BjNulEPh6YcyhD7K4pKb9J+aQU+yq1QDXiQt5azeSx/VSOaj69AsO3V30I+3tI2Jr4HjPjLPJ2U1SpVOLHhxChm4Ki0a+9LDrfMM1wUxxesSXzZjCwZVb6p7jmv
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(1800799009)(451199024)(186009)(44832011)(83380400001)(6512007)(26005)(478600001)(2616005)(5660300002)(2906002)(8936002)(4326008)(8676002)(38100700002)(6916009)(66476007)(66556008)(66946007)(86362001)(41300700001)(6506007)(53546011)(6486002)(36756003)(6666004)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0x1c0ZESHVDbkMzNWRLdmlrZ3d1RXphSVM2cWc3anhaenFUcG5FdHloZ1l1?=
 =?utf-8?B?bVRpUE5PSjgreGJKcWJmVkEvMitxb1pIa2FSR2FaaGZvek8xRGVVUDJOais2?=
 =?utf-8?B?WmVsWm1JNEdkeTJqbVRIV1Yzd0gxMWs0eHhIbjA5RnRKWDR2ZU1FY0xFeXhX?=
 =?utf-8?B?d1RXaVAvYlNnSE9jTDJHOUI4WjZ6bWlEV2plb0ZxNkFpVC9BWC9Lc3dZUnM2?=
 =?utf-8?B?bitabC9ZTTVwZEMrQmQvZktMVjZCY3lGa21Eb0F3K2w4WkJyMWRVN0FmSkZV?=
 =?utf-8?B?cG1wOExtb0Q1ZUpZUGRSK3ZUTk5OcjlwN3ROa2didHJTM0g3T1hOODFOZkpo?=
 =?utf-8?B?c3ZFak9tNTV2NGQ4QTZ6dE1IWG41eURsVThHd3BmeWVyZnM0YXBTZ29RNGxW?=
 =?utf-8?B?UnNRSVBVUW1IT1dLenV6RTcwajNlR2xpSm9BQlNmRHhzRWQxOUxnSHlGSGJj?=
 =?utf-8?B?ZFdjWkw4ZSt5WEFaaFVDQWttcU9ZeEFST2g0VTE5NGpCZDAvYkRSNjVITlJ1?=
 =?utf-8?B?V21TUUI3N2RvR3VsaHFiUUNPb3lwZzFHUzRyckpza05VRWc1THlFWDgzd0tX?=
 =?utf-8?B?QWpqcHFyMzdycmF3MllyT05WSXh6VCtTSVpSLy8wK3U0cjhQd3Rqb0tObHl5?=
 =?utf-8?B?a09BL25oaVU3N2I1bWRYT09oL29QMjR1azVYWlh6MTR6c3lPdFNZYVVwUzBt?=
 =?utf-8?B?dzBMNGxnOFBRZlA2WnVzZUcxYUlSSGc3a21MQlc3VTAzQ0RXS2F0TUgwbXdz?=
 =?utf-8?B?SzZQdGlyRmZsc2ZKNW9uVUNvOXRvVmF0WlpFMjZNeE5oVXZSekMzSERYWXNx?=
 =?utf-8?B?U3gybnNrYW0xbERHVDAwZWNBU1AwN0lLeTdQY3pZWHlsL3U3ekdYb1orM2RZ?=
 =?utf-8?B?UjJmUzJ1VGVuemJ2YnVQNmJRQkZzL2M4R1JjUDN5ZzdFWDJVb2JHOUNZTE56?=
 =?utf-8?B?L3ZJdmRwcGVRVGVXeUhTK3RnNjB6WFdpRFVhMUFMWXRYaTUyYVF5SjdpSGdQ?=
 =?utf-8?B?UzJKVURHSDAyTjI2Z3VUcCt5R0EwTXVBMlVpRE1WNkpNVFJ4b0NzNXVyeEJt?=
 =?utf-8?B?cUNBamQrNXNBNkc4a0NacHB4YmFqQmhlaGQyN2V1TzIwWEhvY1FQWHZpczBz?=
 =?utf-8?B?eVl4VFdUNzd6WVR2K0dTYnhOaFJqQUkyTUtsYk50eUFFekp0TUNIMzZSUHp0?=
 =?utf-8?B?bCtoenRRQkN5OElXUlMxTGtZMkIyZnU4QVNrcFJmdG1vVms4YXRKSFVXQlZj?=
 =?utf-8?B?aU1KSEUxcC9RQ2dFNEhFU29ka01wbUt5dWw1NUo0R0F6WUhFbWFma3JEY1FC?=
 =?utf-8?B?U2tmOXpPN3dOY2JBb0hGOWRSREFGK05lNTZUbm03SjdRUlRhMUwzWGk3TFJ0?=
 =?utf-8?B?V0RJUmlWSENCMFMxR1BId21Sd1kwZURrZGtrcGVCQWQ0YjVCSmpHWXdEeHl3?=
 =?utf-8?B?Zmh6N2hseDF3RG1aWDJpRzdpVWxTUE5zOTJWTDdTK3dmT3FxcUlGSEN6STht?=
 =?utf-8?B?eXdUZjY0K1JSb01WRjBBVzhDb2sxUVlaTUlFQkdBRVJ0a3VzOGw3NDFRSFFE?=
 =?utf-8?B?WkJ3YlpaOUZaZDVKYldiZUJETk9PeXlqbFMrcDV4MWpDbkJXV1FDWGg5Smlj?=
 =?utf-8?B?RGFXSEJyQWhjaFgxd0VmbGJPc1NFamVuL0dxMEVsSGZDVVh1ZDZ4YWlCY2RR?=
 =?utf-8?B?THVTMkZic2tsVGpxb2Z2VE9QZi9BVXYwSk9pQThaNWN4R1hLR05neERxckpv?=
 =?utf-8?B?dU5ramNEQ3krTzQ2OWNnRS9lUEJDVHNyL2xpaFBDekxReWcrVnhGMk9TV0k3?=
 =?utf-8?B?Q1ZVVEo5UDNXa2U2enRSRXN2Q1BxMnhOKzN3cWpCM1M3SkZRcGhjU2VwT2Y1?=
 =?utf-8?B?amJRTHJFS1JMTFRIbHI4blZsTjdwTGdtdUs3MEJ6b0E4RVppWUNubFR0MS93?=
 =?utf-8?B?TEwrS01jYVpCYWI4WlVBSDFqbHRlWWFzMG5NUWdVTzZRY2dJVUYrNzlYUUto?=
 =?utf-8?B?M3BVUFVXWU5PWkZid0EvMkRNYldNTFVoU0xjaEN1TWovYmh0SllPMkRLSzBS?=
 =?utf-8?B?cnFoZFdwTGl0TjduNzhEMWVaRkVVMkR4UnkzTXFtZkRVRjBBdlVFdDFRRm5Y?=
 =?utf-8?Q?zMiAjL732MkoMA/Jv0s/jaYc+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7cd02d88-28a0-4ad0-ba0c-08dba5339c6d
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 06:22:09.1466
 (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: XXp9yP1UhMvIdmPcjKiyquhP7LuoPgw7UlkIymh+P/TtI+ga56BGXRR4mDhdj968ofJplDC4/nSMeFNfoxK4ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7366

Hi Julien,
On Wed, Aug 23, 2023 at 11:06:59PM +0100, Julien Grall wrote:
> Hi Vikram,
> 
> On 19/08/2023 01:28, Vikram Garhwal wrote:
> >   Dynamic programming ops will modify the dt_host and there might be other
> >   function which are browsing the dt_host at the same time. To avoid the race
> 
> Typo: I think you want to write 'functions'
> 
> >   conditions, adding rwlock for browsing the dt_host during runtime. dt_host
> >   writer will be added in the follow-up patch titled "xen/arm: Implement device
> >   tree node addition functionalities."
> 
> I would prefer if we avoid mention the name of the follow-up commit. This
> will reduce the risk that the name of the commit is incorrect if we decide
> to commit this patch before the rest of the series is ready.
> 
> Also, the commit message seems to be indented. Was it intended?
> 
> > 
> >   Reason behind adding rwlock instead of spinlock:
> >      For now, dynamic programming is the sole modifier of dt_host in Xen during
> >          run time. All other access functions like iommu_release_dt_device() are
> >          just reading the dt_host during run-time. So, there is a need to protect
> >          others from browsing the dt_host while dynamic programming is modifying
> >          it. rwlock is better suitable for this task as spinlock won't be able to
> >          differentiate between read and write access.
> 
> The indentation looks odd here as well.
> 
Changed above comments in v10.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v7:
> >      Keep one lock for dt_host instead of lock for each node under dt_host.
> > ---
> > ---
> >   xen/common/device_tree.c              |  5 +++++
> >   xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
> >   xen/include/xen/device_tree.h         |  6 ++++++
> >   3 files changed, 26 insertions(+)
> 
> I am not sue where to put the comment. I noticed that you didn't touch
> iommu_remove_dt_device() and iommu_add_dt_device(). Does this mean the
> caller is expected to held the lock? If so, then this should be documented
> and an ASSERT() should be added.
Added ASSERT in iommu_(add,remove,assign and deassign)_dt_device(),
> 
> > 
> > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> > index 0f10037745..6b934fe036 100644
> > --- a/xen/common/device_tree.c
> > +++ b/xen/common/device_tree.c
> > @@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
> >   struct dt_device_node *dt_host;
> >   /* Interrupt controller node*/
> >   const struct dt_device_node *dt_interrupt_controller;
> > +rwlock_t dt_host_lock;
> >   /**
> >    * struct dt_alias_prop - Alias property in 'aliases' node
> > @@ -2137,7 +2138,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
> >       dt_dprintk(" <- unflatten_device_tree()\n");
> > +    /* Init r/w lock for host device tree. */
> > +    rwlock_init(&dt_host_lock);
> 
> Calling rwlock_init() from unflattent_device_tree() seems to be incorrect as
> it would lead to re-initialize the lock every time we are create a new DT
> overlay.
> 
> Instead you want to replace the definition of dt_host_lock with:
> 
> DEFINE_RWLOCK(dt_host_lock)
> 
Changed this. DEFINE_RWLOCK is added to device-tree.c and this is removed.
> > +
> >       return 0;
> > +
> 
> Spurious change?
> 
> >   }
> >   static void dt_alias_add(struct dt_alias_prop *ap,
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 4cb32dc0b3..31815d2b60 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -114,6 +114,8 @@ int iommu_release_dt_devices(struct domain *d)
> >       if ( !is_iommu_enabled(d) )
> >           return 0;
> > +    read_lock(&dt_host_lock);
> > +
> >       list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
> >       {
> >           rc = iommu_deassign_dt_device(d, dev);
> 
> So iommu_deassign_dt_device() is now called with the read lock. I am
> assuming the intention is all the caller will need to fist held the lock. If
> so, then I think this would require an ASSERT() in
> iommu_deassign_dt_device() and a comment on top of the function because it
> is exported.
> 
> I am guessing that iommu_assign_dt_device() is in the same situation.
> 
> 
> > @@ -121,10 +123,14 @@ int iommu_release_dt_devices(struct domain *d)
> >           {
> >               dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
> >                       dt_node_full_name(dev), d->domain_id);
> > +
> > +            read_unlock(&dt_host_lock);
> 
> Coding style: Usually we add the newline before the return. So I would
> switch around the two lines.
> 
> >               return rc;
> >           }
> >       }
> > +    read_unlock(&dt_host_lock);
> > +
> >       return 0;
> >   }
> > @@ -251,6 +257,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >       int ret;
> >       struct dt_device_node *dev;
> > +    read_lock(&dt_host_lock);
> > +
> >       switch ( domctl->cmd )
> >       {
> >       case XEN_DOMCTL_assign_device:
> > @@ -304,7 +312,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           spin_unlock(&dtdevs_lock);
> >           if ( d == dom_io )
> > +        {
> > +            read_unlock(&dt_host_lock);
> >               return -EINVAL;
> 
> NIT: Rather than adding the unlock here, you could use:
> 
> rc = -EINVAL;
> break;
> 
> > +        }
> >           ret = iommu_add_dt_device(dev);
> >           if ( ret < 0 )
> > @@ -342,7 +353,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >               break;
> >           if ( d == dom_io )
> > +        {
> > +            read_unlock(&dt_host_lock);
> >               return -EINVAL;
> > +        }
> 
> NIT: Same here.
> 
> >           ret = iommu_deassign_dt_device(d, dev);
> > @@ -357,5 +371,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >           break;
> >       }
> > +    read_unlock(&dt_host_lock);
> 
> Coding style: Please add a newline.
> 
Changed all above coding styles.
> >       return ret;
> >   }
> > diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> > index e507658b23..8191f30197 100644
> > --- a/xen/include/xen/device_tree.h
> > +++ b/xen/include/xen/device_tree.h
> > @@ -18,6 +18,7 @@
> >   #include <xen/string.h>
> >   #include <xen/types.h>
> >   #include <xen/list.h>
> > +#include <xen/rwlock.h>
> >   #define DEVICE_TREE_MAX_DEPTH 16
> > @@ -216,6 +217,11 @@ extern struct dt_device_node *dt_host;
> >    */
> >   extern const struct dt_device_node *dt_interrupt_controller;
> > +/*
> > + * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
> > + */
> 
> The wording suggests that any update to any node would require to hold the
> write lock. However.. it looks like you are only holding the read when
> setting is_protected in the SMMU remove callback. Is this intended?
> 
> Or maybe you expect is_protected by to protected by dtdevs_lock? If so, then
> I think it would be good to spell it out. Possibly on top of is_protected.
> 
Yes, dtdevs_lock will be held to avoid concurrent calls to SMMU remove.
> Lastly, there are plenty of place in Xen where the lock is not taken. They
> mostly seem to be at boot, so I would mention that for boot only code, then
> lock may not be taken.
Updated.
> 
> Lastly, this is a single line comment, so the coding style should be:
> 
> /* ... */
> 
> > +extern rwlock_t dt_host_lock;
> > +
> >   /**
> >    * Find the interrupt controller
> >    * For the moment we handle only one interrupt controller: the first
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 06:36:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 06:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590516.922816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZQR9-0003Sb-Ol; Fri, 25 Aug 2023 06:36:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590516.922816; Fri, 25 Aug 2023 06:36:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZQR9-0003SU-M0; Fri, 25 Aug 2023 06:36:51 +0000
Received: by outflank-mailman (input) for mailman id 590516;
 Fri, 25 Aug 2023 06:36: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=SuHx=EK=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qZQR8-0003SM-Gp
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 06:36:50 +0000
Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com
 [2607:f8b0:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4583995-4311-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 08:36:49 +0200 (CEST)
Received: by mail-pf1-x42a.google.com with SMTP id
 d2e1a72fcca58-68a3cae6d94so584311b3a.0
 for <xen-devel@lists.xenproject.org>; Thu, 24 Aug 2023 23:36:49 -0700 (PDT)
Received: from leoy-huanghe.lan ([8.45.48.113])
 by smtp.gmail.com with ESMTPSA id
 ix7-20020a170902f80700b001ae0a4b1d3fsm342124plb.153.2023.08.24.23.36.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Aug 2023 23:36:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4583995-4311-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692945407; x=1693550207;
        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=IagkuslkEu2uMFDqeQIGs0GfH6Lx0fZjmecnqMYJevM=;
        b=ZLZdV6jTF3Hgir6lIfhGPbwd1aZAn3dGfSj45KYb6xRJBTSxcEtysi12hjGapZfAIb
         6/Jx+jrRbDDTbE8zY0H/DubIf8fNLDpNi0VJWqSlUymefdd5blhqYGLcE75BB2MEVeLj
         mMk8k9DYjRFTJa6GgLiMDs+tl87beVJqTFWXzh8fFCkWdlG2PDnNI6qxw9LZezXXmJ+O
         8oSc4I7/pu7ktp2G30tplelGuDLDM0BNvFg2W5OjdrrthYiONd9xieEde8+pT3fPERp7
         LASFDONBuK0t0+7AOHiwbvGMZpznYX8/htZpfakZcMYHOXHWX1lTAC9z86pBfwMFF3MV
         qw+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692945407; x=1693550207;
        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=IagkuslkEu2uMFDqeQIGs0GfH6Lx0fZjmecnqMYJevM=;
        b=Bbv34YnEJ6okRlbtPMXaUEdfGeir5/hLGe91OisMJd9MCdO9phtysjHI6hXRerL0p6
         CUp4Sg8XOyNv8GBeeNcHtH3QU4fmc+IPwjNkzbIcxK1ZVU+o2nlqg/n47O76zqAjZigY
         +purJDOFbOyvpFOlSfEztxjnQKMVbJwuUGw8zFPD2uj/SPgem+3Sp0QGm24gb5b30lVT
         qADylF7R5ZzY04yv7HquBfJkVqHUUx8zL0cd1jX/Z/5ZGjJgVvPHYOesI7/xF1pwqQuv
         kJ5yAz6+w1aXgKIEmiAhOUwdFTGs7EhLtvkZiL7oWpcsEUR1QiczgeLTYxY47acB1MOS
         Cfmw==
X-Gm-Message-State: AOJu0Yzvq1ZAIGF8Xg8cW+IbR2qc6w33oTYxJFFL2j4arUQqKsZPVoA3
	RNmg6NF+jv9OoJ6bOdNQKtsB3Q==
X-Google-Smtp-Source: AGHT+IGnaAxjecM3j6Qdc56OWjh2Lb5vMdzVPz/IBznWNfWNlCL92Lz9YSV+XUib0iEt288iSuI55Q==
X-Received: by 2002:a05:6a20:5518:b0:13a:6413:9004 with SMTP id ko24-20020a056a20551800b0013a64139004mr15261430pzb.43.1692945407563;
        Thu, 24 Aug 2023 23:36:47 -0700 (PDT)
Date: Fri, 25 Aug 2023 14:36:40 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Erik Schilling <erik.schilling@linaro.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Mikko Rapeli <mikko.rapeli@linaro.org>
Subject: Re: [PATCH v1] tools/hotplug: systemd: Make dependency on Xen device
 nodes
Message-ID: <20230825063640.GA228998@leoy-huanghe.lan>
References: <20230825033616.3402812-1-leo.yan@linaro.org>
 <CV1D227LZPCW.2ELMBHY8LE53X@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CV1D227LZPCW.2ELMBHY8LE53X@fedora>

On Fri, Aug 25, 2023 at 07:02:33AM +0200, Erik Schilling wrote:
> On Fri Aug 25, 2023 at 5:36 AM CEST, Leo Yan wrote:
> > When system booting up, the kernel module xen_gntdev.ko is loaded and
> > the device node '/dev/xen/gntdev' is created; later the xenstored
> > service in systemd launches daemon to open this device node.
> >
> > This flow has a race condition between creating the device node in the
> > kernel module and using the device node in the systemd service.  It's
> > possible that the xenstored service fails to open the device node due
> > to the delay of creating the device node.  In the end, xenbus cannot be
> > used between the Dom0 kernel and the Xen hypervisor.
> >
> > To resolve this issue, we need to synchronize between udev and systemd
> > for the device node.  There have an extra change in the udev rules for
> > tagging 'systemd' for Xen device nodes, which notifies device node
> > creating to systemd; besides udev change, this patch adds dependency in
> > systemd service for waiting the device node.
> >
> > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > ---
> >
> >  The udev rules change is on github:
> >  https://github.com/systemd/systemd/pull/28962/commits/520340dfea3b6cf9fe7a24c9238313b1a5fe8539
> 
> Let's see what they think, but I fear systemd may not be the correct
> upstream to carry this... Skimming through the rules that they have
> there, it mostly looks like they only carry rules that are relevant for
> systemd-related services directly.

Yeah, I share the same concern.  But seems to me, upstreaming change
to the systemd is the most neat fixing.

> >  tools/hotplug/Linux/systemd/xenstored.service.in | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/hotplug/Linux/systemd/xenstored.service.in b/tools/hotplug/Linux/systemd/xenstored.service.in
> > index 261077dc92..6e48cdb0e7 100644
> > --- a/tools/hotplug/Linux/systemd/xenstored.service.in
> > +++ b/tools/hotplug/Linux/systemd/xenstored.service.in
> > @@ -1,7 +1,7 @@
> >  [Unit]
> >  Description=The Xen xenstore
> > -Requires=proc-xen.mount
> > -After=proc-xen.mount
> > +Requires=proc-xen.mount dev-xen-gntdev.device
> > +After=proc-xen.mount dev-xen-gntdev.device
> 
> I must admit that I am a bit confused why this is enough... During our
> discussion on Slack, when you quoted from your rule it included
> `ENV{SYSTEMD_WANTS}="xenstored.service"`. Did you drop that during later
> development? Was there additional reasearch involved in dropping it?

Yes, I dropped ENV{SYSTEMD_WANTS}="xenstored.service" and it works well
at my side.

My purpose is to upstream the udev rules in systemd as general as
possible.  As you mentioned, the "xenstored.service" is maintained in Xen
but not in systemd, for this reason, I would like avoid to add
"xenstored.service" into udev rules in systemd.

> My understanding was that if devices do not exist when systemd builds
> its transaction model, dependencies on them will just get tossed out[1].
> So I would have expected that there should still be a race if
> the .device does not pull in the service.

Thanks for sharing.  To be honest, I don't know this part.  Doesn't
systemd parse the service script and let service to wait for specific
.device until systemd receives notification for the .device?

> Did you hit the race frequently enough to be sure that this fixes it in
> entirety?

I have two boards.  One on board (Telechips), it's consistently
reproduce this issue, and after applying the udev rules change and
this patch, I confirmed the issue is dismissed entirely.

> Is there a place somewhere in the Xen or kernel code where one
> could add an excessive sleep in order to trigger the race more reliably?

On my AVA board with running Xen, I tried to add a long delay (10
seconds) in the kernel driver 'drivers/xen/gntdev.c', but I can see
systemd will wait for the kernel modules loading, and then it launches
Xen services.  Thus I cannot reproduce this issue on my AVA board.

So in below flow:

- Step 1: drivers/xen/gntdev.c registers misc device;
- Step 2: udev creates device node '/dev/xen/gntdev';
- Step 3: systemd launches xenstored.service.

Seems to me, the race condition happens between step 2 and step 3.  If
there have any delay in udev for creating device node, then the step3
for xenstored.service will fail.

Thanks for review.

Leo

> [1] "citation-needed": But I vaguely remember dealing with a similar
>     issue and getting told this on #systemd IRC
> 
> - Erik


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 07:38:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 07:38:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590524.922827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZROO-00026j-7J; Fri, 25 Aug 2023 07:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590524.922827; Fri, 25 Aug 2023 07:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZROO-00026c-4b; Fri, 25 Aug 2023 07:38:04 +0000
Received: by outflank-mailman (input) for mailman id 590524;
 Fri, 25 Aug 2023 07:38: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=czQt=EK=linaro.org=erik.schilling@srs-se1.protection.inumbo.net>)
 id 1qZROL-00026U-Vt
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 07:38:02 +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 50b9b7c8-431a-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 09:37:59 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9a2185bd83cso71839566b.0
 for <xen-devel@lists.xenproject.org>; Fri, 25 Aug 2023 00:37:59 -0700 (PDT)
Received: from localhost (i5C7438EA.versanet.de. [92.116.56.234])
 by smtp.gmail.com with ESMTPSA id
 jj27-20020a170907985b00b0099d9dee8108sm655385ejc.149.2023.08.25.00.37.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 25 Aug 2023 00:37:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50b9b7c8-431a-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692949079; x=1693553879;
        h=in-reply-to:references:subject:from:to:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TKDVF1m3NAPORZWmYzMpTAG7O89pEDvkhw2Bpci3Vlc=;
        b=EjoWw1hkAMuI7ibDbrDZNk3D/39aqVJgZcrV2+UpHz82wDzmuackS2Vb2Zjmpxcfxo
         0p+U1hGibOpsO5rZzSajQ5u+ldC0xzgXxsHn3cAFSKMewSHof7KwHjRcwjl70Db/bZnX
         Eu+9oWGNRhmOkW8kYmWE7uNE2jSryrSyLM7OIkmPq4h/+BGmM+SEIpsij8/45cuNsODd
         gu0+rwD3ryjuSaTicA4BEOlrLaY9/Jk59DvmGsh0Old7lVBhsmNEtfS/exEF5nQ3JKxF
         3UfOHYCsi2IZdV4DzOcOrMRcL8tg9Qsqvnm6HXk0bB7WQrOMifGrJ6s+ZxM7H/507Hlz
         IY7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692949079; x=1693553879;
        h=in-reply-to:references:subject:from:to:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=TKDVF1m3NAPORZWmYzMpTAG7O89pEDvkhw2Bpci3Vlc=;
        b=ajnPXBua3ulxuEfIa/g28N0i31zNtgpmjd/yNzEFdNyk26TKsS1ymMkTJXPw4EoLYI
         KGNPKTPqGcQWzKNhh84bvjZiMLupu5r9W4ZRDxa7WkI60oXaPr1MtB6uJt/1t6nkdfCd
         ryhCR7BDMa3RuZtQmfye90rS+4NYZhLcv8y6eJtYGeXx2EkRoD8uztincNsVvGeZdlPo
         whDpaj0kIdnLuA4MXFGrk5+QjEQ5Gb/zFJ1FtgT48TllxJSwFzutjfOe8qC83R2KoVTP
         EwkF7A+xpiXnQAT9cRAVZXZrNigoHrm+sJSxP2oqwHKeeWiqG9otdOa9oFQILtM1ss7K
         Z/pw==
X-Gm-Message-State: AOJu0YzilZl5ETjzNiltW+3EFqevmijG9JYR6tyvZf5egbuqDFlJwsXS
	W97AxsdUJOmBLM567+cRbpMcVQ==
X-Google-Smtp-Source: AGHT+IGNuXIyRLSEY2I0HzMyfTwqtarpSo1VjdCpi+ThEh5g0yeDRxfJjqPSRAncnEnBPFnoxwGuPQ==
X-Received: by 2002:a17:907:78c8:b0:9a1:e994:3440 with SMTP id kv8-20020a17090778c800b009a1e9943440mr5020249ejc.4.1692949079310;
        Fri, 25 Aug 2023 00:37:59 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 25 Aug 2023 09:37:58 +0200
Message-Id: <CV1GD1WJK30G.354V5FQOQJ1K7@fedora>
Cc: <xen-devel@lists.xenproject.org>, "Wei Liu" <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, "Mikko Rapeli"
 <mikko.rapeli@linaro.org>
To: "Leo Yan" <leo.yan@linaro.org>
From: "Erik Schilling" <erik.schilling@linaro.org>
Subject: Re: [PATCH v1] tools/hotplug: systemd: Make dependency on Xen
 device nodes
X-Mailer: aerc 0.15.2
References: <20230825033616.3402812-1-leo.yan@linaro.org>
 <CV1D227LZPCW.2ELMBHY8LE53X@fedora>
 <20230825063640.GA228998@leoy-huanghe.lan>
In-Reply-To: <20230825063640.GA228998@leoy-huanghe.lan>

On Fri Aug 25, 2023 at 8:36 AM CEST, Leo Yan wrote:
> On Fri, Aug 25, 2023 at 07:02:33AM +0200, Erik Schilling wrote:
> > On Fri Aug 25, 2023 at 5:36 AM CEST, Leo Yan wrote:
> > > When system booting up, the kernel module xen_gntdev.ko is loaded and
> > > the device node '/dev/xen/gntdev' is created; later the xenstored
> > > service in systemd launches daemon to open this device node.
> > >
> > > This flow has a race condition between creating the device node in th=
e
> > > kernel module and using the device node in the systemd service.  It's
> > > possible that the xenstored service fails to open the device node due
> > > to the delay of creating the device node.  In the end, xenbus cannot =
be
> > > used between the Dom0 kernel and the Xen hypervisor.
> > >
> > > To resolve this issue, we need to synchronize between udev and system=
d
> > > for the device node.  There have an extra change in the udev rules fo=
r
> > > tagging 'systemd' for Xen device nodes, which notifies device node
> > > creating to systemd; besides udev change, this patch adds dependency =
in
> > > systemd service for waiting the device node.
> > >
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > >
> > >  The udev rules change is on github:
> > >  https://github.com/systemd/systemd/pull/28962/commits/520340dfea3b6c=
f9fe7a24c9238313b1a5fe8539
> >=20
> > Let's see what they think, but I fear systemd may not be the correct
> > upstream to carry this... Skimming through the rules that they have
> > there, it mostly looks like they only carry rules that are relevant for
> > systemd-related services directly.
>
> Yeah, I share the same concern.  But seems to me, upstreaming change
> to the systemd is the most neat fixing.
>
> > >  tools/hotplug/Linux/systemd/xenstored.service.in | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/tools/hotplug/Linux/systemd/xenstored.service.in b/tools=
/hotplug/Linux/systemd/xenstored.service.in
> > > index 261077dc92..6e48cdb0e7 100644
> > > --- a/tools/hotplug/Linux/systemd/xenstored.service.in
> > > +++ b/tools/hotplug/Linux/systemd/xenstored.service.in
> > > @@ -1,7 +1,7 @@
> > >  [Unit]
> > >  Description=3DThe Xen xenstore
> > > -Requires=3Dproc-xen.mount
> > > -After=3Dproc-xen.mount
> > > +Requires=3Dproc-xen.mount dev-xen-gntdev.device
> > > +After=3Dproc-xen.mount dev-xen-gntdev.device
> >=20
> > I must admit that I am a bit confused why this is enough... During our
> > discussion on Slack, when you quoted from your rule it included
> > `ENV{SYSTEMD_WANTS}=3D"xenstored.service"`. Did you drop that during la=
ter
> > development? Was there additional reasearch involved in dropping it?
>
> Yes, I dropped ENV{SYSTEMD_WANTS}=3D"xenstored.service" and it works well
> at my side.

Hm. Interesting. Could you plot the activations after boot?

    systemd-analyze plot > /tmp/plot.svg

Seeing failure vs success but also the success cases on AVA vs Telechips
may be interesting.

I just did some tests on my workstation where I added dependencies on
a random USB device. If that one was not plugged at all, the service
still happily started. Yet, it obviously seems to do something in your
case... So I fear we may not fully understand the real problem yet.

I must admit that I find this case a bit under-documented. While "Wants"
explicitly says that failling transactions are ignored, there is no
clear statement about what happens in that case with "Requires".

While skimming the docs I also realized that maybe BindsTo=3D would maybe
be more suitable compared to Requires=3D here. But that is unrelated to
the confusion that I have about the original problem.

> My purpose is to upstream the udev rules in systemd as general as
> possible.  As you mentioned, the "xenstored.service" is maintained in Xen
> but not in systemd, for this reason, I would like avoid to add
> "xenstored.service" into udev rules in systemd.
>
> > My understanding was that if devices do not exist when systemd builds
> > its transaction model, dependencies on them will just get tossed out[1]=
.
> > So I would have expected that there should still be a race if
> > the .device does not pull in the service.
>
> Thanks for sharing.  To be honest, I don't know this part.  Doesn't
> systemd parse the service script and let service to wait for specific
> .device until systemd receives notification for the .device?
>
> > Did you hit the race frequently enough to be sure that this fixes it in
> > entirety?
>
> I have two boards.  One on board (Telechips), it's consistently
> reproduce this issue, and after applying the udev rules change and
> this patch, I confirmed the issue is dismissed entirely.
>
> > Is there a place somewhere in the Xen or kernel code where one
> > could add an excessive sleep in order to trigger the race more reliably=
?
>
> On my AVA board with running Xen, I tried to add a long delay (10
> seconds) in the kernel driver 'drivers/xen/gntdev.c', but I can see
> systemd will wait for the kernel modules loading, and then it launches
> Xen services.  Thus I cannot reproduce this issue on my AVA board.

Seeing the systemd-analyze plots would maybe help to understand the
differences here... Does one or the other maybe involve some initrd
stage that already creates devices?

Also: What was the original error that you saw? Was /dev/xen/gntdev
missing entirely? Or did interaction with it fail with some error code?

Can you reproduce the race while booting with systemd.log_level=3Ddebug
and export the full journal of the current boot?

    journalctl -b0 -o export > journal.txt


> So in below flow:
>
> - Step 1: drivers/xen/gntdev.c registers misc device;
> - Step 2: udev creates device node '/dev/xen/gntdev';
> - Step 3: systemd launches xenstored.service.
>
> Seems to me, the race condition happens between step 2 and step 3.  If
> there have any delay in udev for creating device node, then the step3
> for xenstored.service will fail.

Hm... If you see systemd waiting for the module, then Step 2 + 3 should
not be able to race. The service does not set DefaultDependencies=3Dno,
so xenstored.service should only run after sysinit.target is reached.
Since that target depends on the module loading, everything should - in
theory - work out.

- Erik

>
> Thanks for review.
>
> Leo
>
> > [1] "citation-needed": But I vaguely remember dealing with a similar
> >     issue and getting told this on #systemd IRC
> >=20
> > - Erik



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 07:53:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 07:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590532.922836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRd0-0004iI-DS; Fri, 25 Aug 2023 07:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590532.922836; Fri, 25 Aug 2023 07: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 1qZRd0-0004iB-AX; Fri, 25 Aug 2023 07:53:10 +0000
Received: by outflank-mailman (input) for mailman id 590532;
 Fri, 25 Aug 2023 07:53: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRcy-0004i4-86
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 07:53:08 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e88::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c6ccd2d-431c-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 09:53:06 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by BN9PR12MB5244.namprd12.prod.outlook.com (2603:10b6:408:101::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 07:53:02 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023
 07:53:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c6ccd2d-431c-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kCNw/V8KYBuOToERmQ+jbNGRHSRMxzhSUaw/BhXiNi2ZvOXi/mZMEY9/PksF+CZkIIakoECsE0hj7P4RPYdIJSOM9PufTgupCKGRMmPV6Vwk3KfhtsUJj2N1/qGgVAL10dcKT8tEohpK503xQPEqveWVHeXvf9PjVUNm3/l7wvgHzI3/9UPWBoPJNrbRXLrdxaUn/cpS2dOG2W9MARJNS2nQxHs+Z3j40+227zi1nb1fPYOcFJZnkOTR8VrnR4puXQycHE7sblmCOkLfW6yZAgSkPnYlIhSLc8CYWg6Yt4+YUJVH5/tQDVPfcDV0RDqxsMGOE4rbihnI2k6qMfUglw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Z7vaWuZHtH50LUmhxO31eQwQmjEqzQnNSpbiJWkMwA=;
 b=oD0vgNkeDWMnrpamR7f9bLUk/HZBVtzHldiIfWjBzzrjvdMNUc7Ejz3k3bsca4oEIZ7EuNU4D58KE3/yK8V0x+kPH81HjUCGl0MgsCtWY4phnuOkOAhDJZQGUdJjgc/m0+UuW+TBFt2mLgpcjzxtOKRMFO4VBb8ILdQgNtZpZqRmvWirZan1Diu/adYyJo1/oMwb5GqLMbygYtrxy1MygpEZFGVlNbcEiC5epslBaWOh3xe+xww7ugvGDUbFhlamjXz4V4EjyIFMuZ92yHB4oP8lq0vqx1lfhLw4DR6Io/vMR4k7itURQZ5YKFt8WILtsEHuFKGCv5cbE/9uv6xwKw==
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=2Z7vaWuZHtH50LUmhxO31eQwQmjEqzQnNSpbiJWkMwA=;
 b=EZnftJBsivs2oUPG0DnIq5UqmeLLnO0b0fd5L8hclsHrHTeiQE6Og12Ij5fq/GiiM3a7ATAEVttqNaTQhnJB+AJtTOCHENtIlp1mTiRZpG5mVN6GqBHXQ/IWuXGaxmv+I7iyjawacdfsM3FIRA3g57b1UE6RnE/l3SZeNDqWHrs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Fri, 25 Aug 2023 00:52:52 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
	sstabellini@kernel.org, jbeulich@suse.com
Subject: Re: [XEN][PATCH v9 14/19] common/device_tree: Add rwlock for dt_host
Message-ID: <ZOhd1HwM4km0_MfG@amd.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-15-vikram.garhwal@amd.com>
 <d5e658e4-e30e-4783-8fcc-0bd93126abf3@xen.org>
 <ZOhIiLg0thx3Q2N_@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ZOhIiLg0thx3Q2N_@amd.com>
X-ClientProxiedBy: BY5PR04CA0019.namprd04.prod.outlook.com
 (2603:10b6:a03:1d0::29) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|BN9PR12MB5244:EE_
X-MS-Office365-Filtering-Correlation-Id: d0795e46-1b3b-4fbf-4a1d-08dba5404e13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y473WPTVATi71MabwGwpHzW4ntss2wlYoDl1hG4T1gKZRKEooi6C3MyljNcQymjKs6sWQ8uv5fopT7tt2uR0BaxQx9cA2UEONC1H4Hmciq+t0R6klye5T5jUM2PKe8YQkRVR4Gu42dTQyn/JtkOuouKfz/i3hbl7BDlOz6g9Yyq51q2nlca+9NiNHn/Yu6eyRr1VQzSLfj8k+5eG6dKNYhFLyp4MU3uuhF4HAf9gzLAPhjT29XXy0J+tI0XHtn/I8A5Rp5vR6aAAQ/5EuezsG16OlFpsg0s7NBprZeV4coxqXEyDz3552IgmGIhyagEua+Au5RVp90fLZqv3dzdgtukaWVhuclMlIviBIA16LeAgyvI6uxbrAZucDk55lMGM/rJQGFC4oHGYUpZMUD2OPW2KXFbbBLQzWBCT+lLgVwDnuZ+YtUAkngdxjVwyrsxjrExImJjM0SfRyFjROaa24RLXCLR9ANT5g5G3zofBrcIwQss+RQyO+COnP5/YvGqquxb74Zp0eCRNzgmPzm9YaLrOYwkrJwS17QxlgpY8us1LeRLo5x9vp6XK1QHq5UbB
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(366004)(376002)(136003)(1800799009)(451199024)(186009)(44832011)(83380400001)(6512007)(26005)(478600001)(2616005)(5660300002)(2906002)(8936002)(4326008)(8676002)(38100700002)(66476007)(66556008)(66946007)(6916009)(86362001)(41300700001)(6506007)(53546011)(6486002)(36756003)(6666004)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUhMbHczbHJYQzUrYmhnQ2YxNzRybEJacjRDWXh2RFJDM1o4TTJ6UjM3aDVu?=
 =?utf-8?B?MklOMjE4bVE4enNtek10bG5YM3V3cUFnSFJlSFBKRWM0YUtiNkdySnRPaUxW?=
 =?utf-8?B?aWdhcDQ5Wmc3NjFia0JWMHZhdDB3NEpFZ1NQWWJjaURmZENLM3Y3QjJRWENZ?=
 =?utf-8?B?SGpnaHA3QVUrMzRBOEJ3Q3h3SkFKaWZCSENCZTFZWmxJa1p5OTF0aXFFWm1o?=
 =?utf-8?B?cHczWkliMVRpdit4KzdCVzFpeVNlZFA2bm50M29PaDJrOEZ6c1hMbTRmNlJo?=
 =?utf-8?B?L3J1ZDkzbEpCQWE2bmh2V2prV0FQVXA2WmcrQTE5L3ZDTW50U1l5VkZjcUZq?=
 =?utf-8?B?L0ZNSWs4QVZqaUNUV3puVE02aVk4aUU2QVVkZXJ3YnFHQ0djeWxmYnU1Q09q?=
 =?utf-8?B?V3F4dVArNm51cCtYWlRKNHhRSEQ3SlNEVnJDUXMvV0QyQ1BRbk1vSEkvcTYy?=
 =?utf-8?B?ZmsvM21pN2gxK0ttNk5hMmNOWFBHeTdUdXA3cDF1UlZFZHFZVlh4OTg5TVRz?=
 =?utf-8?B?Y2lHZDRPNE1CR2RaY2o1Yis0ekpzeHRVbXlTSjZ1VS8vUkI1Rm5Da3pmQnpK?=
 =?utf-8?B?bTMzQUVVVHMyZzlsS0Q5Z20zSWx6SEYzYkkrS3dmSXNZbXZLYlJYdDFSUm1N?=
 =?utf-8?B?dnNDMUd3M3B1cDBVSSsrSkx4Nkc2ZjlBV2hlQUhPMG1CM05KQXlqaXllMUZ0?=
 =?utf-8?B?Sjc5ejRRejF1amV0MGRsWUJpUkI4L01jcGFIQVlWLzlEUDJiQ3pNeHZsN2NQ?=
 =?utf-8?B?em82WURucDhnZC9aTVVTUU1rTGQ4VXlWVmR4OU1heWQzWTFBaWNTTDk2cE5w?=
 =?utf-8?B?NUhwVndOTjF4OUtzcUczcGtGc09FdG56dnRudUNMRDM0cVdjR3hlbWFGdFNl?=
 =?utf-8?B?Und1dHpaUlM4eUUzRkM2ZmdqWTJnZVpRZURrMC9DLzZGWlFyVlJubXVCWkRp?=
 =?utf-8?B?SFBvUW5JejhVYi8vQ0dCQzBXbjIzcHB4UzJZdGtDbnAyb1RqV2RBSmR0RnBw?=
 =?utf-8?B?cjIwZEtVVGhWY0hndXgwcURnWkVETjNQWDhEa0J2Z3ZxaTdtU1hXVGgxemwy?=
 =?utf-8?B?cjhOSDJCYk0rNzZOYmw0VlBhUGwvVHNYeDRqTnl3c1BnYTlBMjdka3ZtS0t1?=
 =?utf-8?B?VlFaMG1xT1Y1ZTZFUFN5elNrak9Ud3dSZHdyOEloNkl1dFIveGk4Z1d3YnNz?=
 =?utf-8?B?dkt5U2Y3dTdQdVB5V0xtaWwvRDkvZ1lYMzQ3SVFTTkRsT3h0NFgyeHdmdEZa?=
 =?utf-8?B?ajVmN0czdFNnOWFZNEpxZGlSTnRJQklEWnd6MDVKTlV1MlZDd3A1MjJWL05V?=
 =?utf-8?B?em1FSDZNN2RrNkZNVHErZy9PZjhyYXREY3RGNzBRMUVJQkswRTZwMnhKQTQ5?=
 =?utf-8?B?NjRJdlliaEtqeDRvMzdUaGhZL09pbThHN0FaR1h0bmJ6Vk00d0xER0tWU1Y4?=
 =?utf-8?B?MUowZDhLTjRyQmUvUFpCZ3BKOFJMZExDYk5nM2JjMXVSbjBVWC9udVpCdlF2?=
 =?utf-8?B?UkM1VDVsNm9FakhncUtPRHlQVnA1enY4TXBSU1BjbU9acVYzK290ekMrOE9o?=
 =?utf-8?B?R0lzVmZCQmc5dStjUFFDM1VwZkNKNjJ5U09DZnNRSDdTdXphUjIwQXBZdXJN?=
 =?utf-8?B?SXRTd3dzWUtLbEF4bG80TnRFL0k4Q1NZYUhsOUpwekt1bmsrL0FKNG9mai9j?=
 =?utf-8?B?MDR6N0d2U1VKY0VxK1VhdlUySC91dElGeU83WklxTFQvR29kQ0FuM2E4VCt5?=
 =?utf-8?B?Ty9nU2pQcVVBN1VYeGJTZFl5cm1MWmNCSG1XUzNFQnUyL00wRjQ0bFFEZ3Mz?=
 =?utf-8?B?dnlSYTdRMlRHbEdsdkEwb2VEZ3pmb2VqQzBDNFF0OUZ4T2YrWTl0UGROdENJ?=
 =?utf-8?B?QmZCeE5KNkN6aGxHQll4OEc2Q0licDBhUkQ0R29LdGpGUDByVXlQNFVFZWQr?=
 =?utf-8?B?eFBNNEF3QmZBMXUxNkh2YW5rcXkwT0dsaUpEOFQ1S3lTK1RFTys0Tmh5WEtQ?=
 =?utf-8?B?VVB2U3QxR3dXOEFMaGhhOFNZRTB3bFZiZzArZnpac2RpaENJZFV1MFNORFZy?=
 =?utf-8?B?bTNvRDBuNzRNejhtc2oyZ00xVjY5LzQvamdJQmFxZWFQOS9iNWVBeGY2dGF4?=
 =?utf-8?Q?TWI1+Or8iQLERJcPjrcU/twn+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0795e46-1b3b-4fbf-4a1d-08dba5404e13
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 07:53:01.1538
 (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: 9isRP3RtUQ3PwzaYaapGqH/ZkdZt1jrUQ9KyprIcwi4LKh7WU9CqYGhvduLh0iogFQbTbD7LBX/POVkjojYLLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5244

Hi,
On Thu, Aug 24, 2023 at 11:22:00PM -0700, Vikram Garhwal wrote:
> Hi Julien,
> On Wed, Aug 23, 2023 at 11:06:59PM +0100, Julien Grall wrote:
> > Hi Vikram,
> > 
> > On 19/08/2023 01:28, Vikram Garhwal wrote:
> > >   Dynamic programming ops will modify the dt_host and there might be other
> > >   function which are browsing the dt_host at the same time. To avoid the race
> > 
> > Typo: I think you want to write 'functions'
> > 
> > >   conditions, adding rwlock for browsing the dt_host during runtime. dt_host
> > >   writer will be added in the follow-up patch titled "xen/arm: Implement device
> > >   tree node addition functionalities."
> > 
> > I would prefer if we avoid mention the name of the follow-up commit. This
> > will reduce the risk that the name of the commit is incorrect if we decide
> > to commit this patch before the rest of the series is ready.
> > 
> > Also, the commit message seems to be indented. Was it intended?
> > 
> > > 
> > >   Reason behind adding rwlock instead of spinlock:
> > >      For now, dynamic programming is the sole modifier of dt_host in Xen during
> > >          run time. All other access functions like iommu_release_dt_device() are
> > >          just reading the dt_host during run-time. So, there is a need to protect
> > >          others from browsing the dt_host while dynamic programming is modifying
> > >          it. rwlock is better suitable for this task as spinlock won't be able to
> > >          differentiate between read and write access.
> > 
> > The indentation looks odd here as well.
> > 
> Changed above comments in v10.
> > > 
> > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > > 
> > > ---
> > > Changes from v7:
> > >      Keep one lock for dt_host instead of lock for each node under dt_host.
> > > ---
> > > ---
> > >   xen/common/device_tree.c              |  5 +++++
> > >   xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
> > >   xen/include/xen/device_tree.h         |  6 ++++++
> > >   3 files changed, 26 insertions(+)
> > 
> > I am not sue where to put the comment. I noticed that you didn't touch
> > iommu_remove_dt_device() and iommu_add_dt_device(). Does this mean the
> > caller is expected to held the lock? If so, then this should be documented
> > and an ASSERT() should be added.
> Added ASSERT in iommu_(add,remove,assign and deassign)_dt_device(),
iommu_add_ and iommu_assign_ are called at boot time. Also, only other callers
are handle_device via overlays and iommu_do_dt_domctl() which will hold the
dt_host_lock. Will look into it more but for now sending v10 with ASSER in these
two functions.
> > 
> > > 
> > > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> > > index 0f10037745..6b934fe036 100644
> > > --- a/xen/common/device_tree.c
> > > +++ b/xen/common/device_tree.c
> > > @@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
> > >   struct dt_device_node *dt_host;
> > >   /* Interrupt controller node*/
> > >   const struct dt_device_node *dt_interrupt_controller;
> > > +rwlock_t dt_host_lock;
> > >   /**
> > >    * struct dt_alias_prop - Alias property in 'aliases' node
> > > @@ -2137,7 +2138,11 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
> > >       dt_dprintk(" <- unflatten_device_tree()\n");
> > > +    /* Init r/w lock for host device tree. */
> > > +    rwlock_init(&dt_host_lock);
> > 
> > Calling rwlock_init() from unflattent_device_tree() seems to be incorrect as
> > it would lead to re-initialize the lock every time we are create a new DT
> > overlay.
> > 
> > Instead you want to replace the definition of dt_host_lock with:
> > 
> > DEFINE_RWLOCK(dt_host_lock)
> > 
> Changed this. DEFINE_RWLOCK is added to device-tree.c and this is removed.
> > > +
> > >       return 0;
> > > +
> > 
> > Spurious change?
> > 
> > >   }
> > >   static void dt_alias_add(struct dt_alias_prop *ap,
> > > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > > index 4cb32dc0b3..31815d2b60 100644
> > > --- a/xen/drivers/passthrough/device_tree.c
> > > +++ b/xen/drivers/passthrough/device_tree.c
> > > @@ -114,6 +114,8 @@ int iommu_release_dt_devices(struct domain *d)
> > >       if ( !is_iommu_enabled(d) )
> > >           return 0;
> > > +    read_lock(&dt_host_lock);
> > > +
> > >       list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
> > >       {
> > >           rc = iommu_deassign_dt_device(d, dev);
> > 
> > So iommu_deassign_dt_device() is now called with the read lock. I am
> > assuming the intention is all the caller will need to fist held the lock. If
> > so, then I think this would require an ASSERT() in
> > iommu_deassign_dt_device() and a comment on top of the function because it
> > is exported.
> > 
> > I am guessing that iommu_assign_dt_device() is in the same situation.
> > 
> > 
> > > @@ -121,10 +123,14 @@ int iommu_release_dt_devices(struct domain *d)
> > >           {
> > >               dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
> > >                       dt_node_full_name(dev), d->domain_id);
> > > +
> > > +            read_unlock(&dt_host_lock);
> > 
> > Coding style: Usually we add the newline before the return. So I would
> > switch around the two lines.
> > 
> > >               return rc;
> > >           }
> > >       }
> > > +    read_unlock(&dt_host_lock);
> > > +
> > >       return 0;
> > >   }
> > > @@ -251,6 +257,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> > >       int ret;
> > >       struct dt_device_node *dev;
> > > +    read_lock(&dt_host_lock);
> > > +
> > >       switch ( domctl->cmd )
> > >       {
> > >       case XEN_DOMCTL_assign_device:
> > > @@ -304,7 +312,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> > >           spin_unlock(&dtdevs_lock);
> > >           if ( d == dom_io )
> > > +        {
> > > +            read_unlock(&dt_host_lock);
> > >               return -EINVAL;
> > 
> > NIT: Rather than adding the unlock here, you could use:
> > 
> > rc = -EINVAL;
> > break;
> > 
> > > +        }
> > >           ret = iommu_add_dt_device(dev);
> > >           if ( ret < 0 )
> > > @@ -342,7 +353,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> > >               break;
> > >           if ( d == dom_io )
> > > +        {
> > > +            read_unlock(&dt_host_lock);
> > >               return -EINVAL;
> > > +        }
> > 
> > NIT: Same here.
> > 
> > >           ret = iommu_deassign_dt_device(d, dev);
> > > @@ -357,5 +371,6 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> > >           break;
> > >       }
> > > +    read_unlock(&dt_host_lock);
> > 
> > Coding style: Please add a newline.
> > 
> Changed all above coding styles.
> > >       return ret;
> > >   }
> > > diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> > > index e507658b23..8191f30197 100644
> > > --- a/xen/include/xen/device_tree.h
> > > +++ b/xen/include/xen/device_tree.h
> > > @@ -18,6 +18,7 @@
> > >   #include <xen/string.h>
> > >   #include <xen/types.h>
> > >   #include <xen/list.h>
> > > +#include <xen/rwlock.h>
> > >   #define DEVICE_TREE_MAX_DEPTH 16
> > > @@ -216,6 +217,11 @@ extern struct dt_device_node *dt_host;
> > >    */
> > >   extern const struct dt_device_node *dt_interrupt_controller;
> > > +/*
> > > + * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
> > > + */
> > 
> > The wording suggests that any update to any node would require to hold the
> > write lock. However.. it looks like you are only holding the read when
> > setting is_protected in the SMMU remove callback. Is this intended?
> > 
> > Or maybe you expect is_protected by to protected by dtdevs_lock? If so, then
> > I think it would be good to spell it out. Possibly on top of is_protected.
> > 
> Yes, dtdevs_lock will be held to avoid concurrent calls to SMMU remove.
> > Lastly, there are plenty of place in Xen where the lock is not taken. They
> > mostly seem to be at boot, so I would mention that for boot only code, then
> > lock may not be taken.
> Updated.
> > 
> > Lastly, this is a single line comment, so the coding style should be:
> > 
> > /* ... */
> > 
> > > +extern rwlock_t dt_host_lock;
> > > +
> > >   /**
> > >    * Find the interrupt controller
> > >    * For the moment we handle only one interrupt controller: the first
> > 
> > Cheers,
> > 
> > -- 
> > Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:02:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590544.922846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmM-0006xw-Pw; Fri, 25 Aug 2023 08:02:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590544.922846; Fri, 25 Aug 2023 08:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmM-0006xp-NM; Fri, 25 Aug 2023 08:02:50 +0000
Received: by outflank-mailman (input) for mailman id 590544;
 Fri, 25 Aug 2023 08:02: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 1qZRmL-0006xj-Dn
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:02: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 1qZRmK-0004Wn-R8; Fri, 25 Aug 2023 08:02:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRmK-00055P-KW; Fri, 25 Aug 2023 08:02:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=NpRUren4+J3+pdVbHgrKx/G8R8Y8JYXimKfGoyW/ESI=; b=Ii6Lll1HigmnBxgobEM3sk+0Yy
	IpgC+Fdv5H/pNF1moiOx1cMd17lySiKbssZXHhIV56KP9zqLnyBk6N3kFKpvCLfgQHh54MlZbJCdw
	myqM1gyimBVNTPisnJ5GdzSnPpS+YCijtxC8o0mJ1slHSW6bqN1q0DZlDnojqia/tD9U=;
Message-ID: <5908b638-f436-4060-a426-9839fc563c63@xen.org>
Date: Fri, 25 Aug 2023 09:02:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 03/19] xen/arm/device: Remove __init from function
 type
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 sstabellini@kernel.org, jbeulich@suse.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-4-vikram.garhwal@amd.com>
 <734587ea-4066-4f60-8903-7f43a10bb1b6@xen.org> <ZOf7V_FsJ_CgeL64@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZOf7V_FsJ_CgeL64@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 25/08/2023 01:52, Vikram Garhwal wrote:
> Hi Julien,
> On Tue, Aug 22, 2023 at 07:59:13PM +0100, Julien Grall wrote:
>> Hi Vikram,
>>
>> On 19/08/2023 01:28, Vikram Garhwal wrote:
>>> Remove __init from following function to access during runtime:
>>>       1. map_irq_to_domain()
>>>       2. handle_device_interrupts()
>>>       3. map_range_to_domain()
>>>       4. unflatten_dt_node()
>>
>> We are at v9 now, so this is more a remark for the future. In general we are
>> trying to avoid modifying the same code multiple time within the series
>> because this makes it more difficult to review. In this case, you could have
>> removed the __init in patch #4 where you also export it.
>>
>>>
>>> Move map_irq_to_domain() prototype from domain_build.h to setup.h.
>>>
>>> To avoid breaking the build, following changes are also done:
>>
>> I am guessing by "breaking the build", you mean that you will get an error
>> because an non-init function is implemented in domain_build.c. Right? If so,
>> I think this should be spelled out.
> Yeah, i will change the commit with right reasoning.
>>
>>> 1. Move map_irq_to_domain(), handle_device_interrupts() and map_range_to_domain()
>>>       to device.c. After removing __init type,  these functions are not specific
>>>       to domain building, so moving them out of domain_build.c to device.c.
>>> 2. Remove static type from handle_device_interrupt().
>>
>> Typo: s/interrupt/interrupts/ to match the function name. But I don't link
>> the name when it is exported as it leads to think this is dealing with real
>> interrupt.
> With using handle_device() in overlay as your below suggestion will anyway need
> this handle_device_interrupts() function here.

Ah I didn't notice it was used in handle_passthrough_prop(). So it 
indeed needs to be exported. In which case, I would suggest to rename to 
"map_device_irqs_to_domain()".

>>
>> Looking at the overlay code, the caller (i.e. add_resources()) is very
>> similar to handle_device(). AFAICT the only differences are:
>>     1/ add_resources() doesn't deal with mapping (you said it will in the
>> future)
>>     2/ You need to update some rangeset
>>
>> For 1/ it means this is a superset. For 2/, I think this could be abstracted
>> by adding a pointer to the rangesets in map_range_data. They could be NULL
>> for the domain build case.
>>
>> So can you look at abstracting? This will make easier to maintain a single
>> place to parse a device node and map it.
>>
>> A possible name for the function would be dt_map_resources_to_domain().
> For this part of dynamic overlay programming this function can be used.
> I updated the overlay code to use handle_device() as per your suggestions. Moved
> handle_device() and other relevant function out of domain_build.
> About renaming the function name to dt_map_resource_to_domain(): I will see if
> i can come with better name else will keep your suggestion.
> Now with this case, overlay device tree needs to have "xen,passthrough" enabled
> else it will try to map and fail as Xen supports irq_route and mapping only at
> the domain creation. In earlier patches this worked fine as we were always skip
> the routing and map.

Right, but this also meant the behavior when parsing the DT overlay 
would not have been consistent with parsing the host DT.

You would have then had to break backward compatibility to add support 
for mapping the resources. If this was planned to be dealt before DT 
Overlay becomes supported, then this would have been fine as we don't 
guarantee stable interface for experimental/tech preview feature.

The new approach should at least prevent any backward compatibility 
breakage and would allow us to support DT overlay even before the 
resource mapping is supported. So I think this is better.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590545.922856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmc-0007HF-2h; Fri, 25 Aug 2023 08:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590545.922856; Fri, 25 Aug 2023 08:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmb-0007H8-Vx; Fri, 25 Aug 2023 08:03:05 +0000
Received: by outflank-mailman (input) for mailman id 590545;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRma-0007G4-5E
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:04 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf165a16-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:01 +0200 (CEST)
Received: from MW4PR03CA0055.namprd03.prod.outlook.com (2603:10b6:303:8e::30)
 by CH0PR12MB8579.namprd12.prod.outlook.com (2603:10b6:610:182::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 08:02:58 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:303:8e:cafe::6b) by MW4PR03CA0055.outlook.office365.com
 (2603:10b6:303:8e::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:02:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044FB.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.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:02:56 +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.27; Fri, 25 Aug
 2023 03:02:56 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: cf165a16-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lBOpXoPbVXKhhA9fvSvRPQDpLfTnQc/j2mT1T1cFfeHMFNpOhP0gJBEntm94K7+WcWQiY5xGcPtem8NS5vIA3gs1BykGxoodMow2z2BZqm6I8MqOPwWQqk2yg+Q4n/f46kVn4rf73LFL848EnclVuL/G8xv/h2LjZ2mCtpaYwckE97dVdPxR0hJKUBTqcu94Upk3iD8CJnchP6HAXs3+G5oGpsziNANxFeDazX5NZEm+VmHeP/EoNOGx2Onh19UFx6FZeOChiNdwEzJEkzB16RPbtsI5AwfHYsNRDE6i4FE2sUgmft00UmQHQNqXguER63rgKu3ZHOJsq71keORTUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TvyzZKkKruBh4hcUgS0xB1M/ZVRIznonRnMXhEGKKko=;
 b=D8sIOba4VEYzLXSpBIfSfUF0avv+xNqRjRB5RnMtl83nr1mWQiH+INv5PfB+Ite8LLD3bVD8bQmzjO9kqKqirMs0ft+3rbSccIMKCcOzsSSej+SfiX1LxaAw3/t+vfzBbiWIqVJcV2E/cfbubM3SYKTkrpx+D1cqtP25/VJp0kXXIlKUw9W9gv4ovFvRevQCW5e+WXIVow2XMJELT+syzAmSWVXKtQNj4byBgF1QbwDS+TXyNAVV1oyXcq17HHPLZaSnPCjWwi5sS6bCfJI8j0FaiHDu3eoi8iRvoSMilUgvWVRkIH5GCfUnu7E0eJJDY7tn2SEEVhqh9eJEr2y+kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TvyzZKkKruBh4hcUgS0xB1M/ZVRIznonRnMXhEGKKko=;
 b=Mf+rCflavkMxuB6E/HBkt2zLAo/0V4lnxc1DhzZ2InHLW+b/M77HwO1z4BVsB+rZkmsVQsCN0XU1TYXZqciNkmEncR2ctS+X+pjWypAdHQ9lvsANiL+wAyEwSk0ua6xXbf36sBANNPoUl9XuXPJdzw//f2ZSHmFYkbK6no9SZ4c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 02/20] common/device_tree.c: unflatten_device_tree() propagate errors
Date: Fri, 25 Aug 2023 01:02:04 -0700
Message-ID: <20230825080222.14247-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|CH0PR12MB8579:EE_
X-MS-Office365-Filtering-Correlation-Id: 27be0861-6331-4eb8-c6c9-08dba541b161
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7633raw/rY21lrYvW8KiPPfcqYi3gUz/Z2zNyZ5d/SXhDGvYg8amPgPdnKH4keKZCtbkUK7WMewNPSEpZ4FoIYPaoYFNNbz3g6K0jnwqxPmwJKCEdFcyY2qmq3WHKiecJFyG3tUvWCjli3wnuTAFkDgA22DQJwcKjI3LChn5oapa64A8DkJquGgcqXFG1VPozZ3wGUpiJ9Nsqh8ZbvS+4KMw2VtRkymGRf0YB3YI3Nr0cWnRlF/VjzxBQ72fR6KpVbFRvlCJwCTz10cjnIepZoD3fUBQ3MzOEGuTlmIEGSl83fqSZgl3EYauaZH4fPStjeg3fXGgMwt9Y9T9IlVfR9xrTu+VsxgqLNjO0Dm84duNZHw8xemLAi+jeO0sWEypX51x2K5q1hEyY4ju+J4Hwd3FNhGsj1/B4psbCKzdmxnjEkUMkLltxe9y6yCWrkMtNN7dh26Np1DXxyPIsT+vi5Hc9TvzpCcpWHo5/+11uZ62pL4spivnaBjjr5nxXmflFkrsIc5BgZS5jCXCuM7gwYFigVRthXArntCucX7T+HMSEHI6EK4S0/+O5hRBcaiUoUAhiZdmNex7vDKe0So4fAb+L7cwNZu3DqnzxiAgum3q6lb8ua8m4rHA95OaOdIRao3PvguJXJvN0RpDLqVCjz+uNKn6L7ZsprOJeyLQeat+7onKt8FPTd73ZnaT5B+KX5/ZNBJlFzj4Y38rmK58n7LhgCZqj5Pf8ZSbdT4eI3d3T5rhwsX2LXiwysjTHv7cEVNB0Ah2u1Q4jAiitAvkZQ==
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)(4636009)(136003)(346002)(39860400002)(396003)(376002)(186009)(82310400011)(1800799009)(451199024)(40470700004)(36840700001)(46966006)(356005)(82740400003)(81166007)(40460700003)(8676002)(4326008)(8936002)(54906003)(41300700001)(6666004)(316002)(36756003)(6916009)(70586007)(70206006)(86362001)(40480700001)(47076005)(26005)(478600001)(336012)(36860700001)(1076003)(44832011)(83380400001)(2906002)(2616005)(5660300002)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:02:56.9083
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 27be0861-6331-4eb8-c6c9-08dba541b161
X-MS-Exchange-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:
	CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8579

This will be useful in dynamic node programming when new dt nodes are unflattend
during runtime. Invalid device tree node related errors should be propagated
back to the caller.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Replace __be64 with void.
Changes from v7:
    Free allocated memory in case of errors when calling unflatten_dt_node.
---
---
 xen/common/device_tree.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 7c6b41c3b4..b6d9f018c6 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2110,6 +2110,9 @@ static int __init __unflatten_device_tree(const void *fdt,
     /* First pass, scan for size */
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     size = unflatten_dt_node(fdt, 0, &start, NULL, NULL, 0);
+    if ( !size )
+        return -EINVAL;
+
     size = (size | 3) + 1;
 
     dt_dprintk("  size is %#lx allocating...\n", size);
@@ -2127,11 +2130,21 @@ static int __init __unflatten_device_tree(const void *fdt,
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
     if ( be32_to_cpup((__be32 *)start) != FDT_END )
-        printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n",
+    {
+        printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
                   *((u32 *)start));
+        xfree((void *)mem);
+        return -EINVAL;
+    }
+
     if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeefU )
-        printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n",
+    {
+        printk(XENLOG_ERR "End of tree marker overwritten: %08x\n",
                   be32_to_cpu(((__be32 *)mem)[size / 4]));
+        xfree((void *)mem);
+        return -EINVAL;
+    }
+
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590546.922863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmc-0007L7-Fe; Fri, 25 Aug 2023 08:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590546.922863; Fri, 25 Aug 2023 08:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmc-0007Ja-80; Fri, 25 Aug 2023 08:03:06 +0000
Received: by outflank-mailman (input) for mailman id 590546;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRma-0007G4-RG
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:04 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe59::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf65b0e1-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:01 +0200 (CEST)
Received: from SJ0PR13CA0185.namprd13.prod.outlook.com (2603:10b6:a03:2c3::10)
 by DM4PR12MB8559.namprd12.prod.outlook.com (2603:10b6:8:17d::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:02:57 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:2c3:cafe::fc) by SJ0PR13CA0185.outlook.office365.com
 (2603:10b6:a03:2c3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Fri, 25 Aug 2023 08:02:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:02:56 +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.27; Fri, 25 Aug
 2023 03:02: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.27; Fri, 25 Aug
 2023 01:02:30 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: cf65b0e1-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gbiNtbK/k29yjbfeFCHKEW5JW6XcjYyQCOyo2ud+gsJ5JlyxIFwOY8c37T3o81cSI8Dr+XDgx2QnjeHbWqA1FbIsaXa+PvvxeA7i+iNJXlVD1AEbdfkTwE4xM68Gyu0FgTaN9iY/u048Ma1th5I/3s/Oq2DBbjMLZZm80fld9byHh00sjlZF5Q5El02kmDbr2nbjMttL0357fbdWmadRvQACHLQMrDZOPI7rjC2eSp3B0yhHnpQwOUevBq8H3QSELypKmA10q7gFbldq9yU/4lXK6ViLoORV/id40FZ12gZLRtel9Fa9JZFp75HP2UUwzK7xfp2H3k0tarB7zzWe9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mmtFkqtQDfpU2QqNCEPMFxXEaxnB/mEWGCK16JkF7Q0=;
 b=KZdCOJ73q7AA9N5jWfScJw6fCb7+xTdfhMLWnhDVbVMNj42gVMVVPzABCcRY5f8UzS9RS8sDuzqBjb7ixd2fVQY//BK+TWwHeacNZUGs5R38Cz6vziVcSo+y0x6OoeSDqKwW05uM87uskDSgNkHH3vv1ri4t865o124uK0cp6k/8CssBgkGm+BjJQ9dyF+O685/XF6AjxA9WzWWpTyFQ+bVK0Nzvas7K5tBOQ6GsFRI1V5qSqhot4oE66M8Z1OBWJ9ymFD2FTKWpMuo/MRsH1q1/MIVfUz95HFJlayz1FG/JGTtzcCCfZxfquxsGqEOK7jjIP4Ivqdglq8Tg63vZ1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mmtFkqtQDfpU2QqNCEPMFxXEaxnB/mEWGCK16JkF7Q0=;
 b=gZlzd3j/i+QWE3RGgxPqQylpF/MjrM52Qne7qnmJrbaqM+Zz2QlMwBYhTcy75OJRZyeYiHxLEWL25RkpEgElGVRD1GMMY/4xTm5RL83x4M3G+x/o6GvxVguTzLqbzcxEhJe5t2Vy6yHImHUbq9pHaMtM0dFn2tA+ARRNiPmoa5o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>, Community Manager
	<community.manager@xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Paul Durrant
	<paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Rahul Singh <rahul.singh@arm.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v10 00/20] dynamic node programming using overlay dtbo
Date: Fri, 25 Aug 2023 01:02:02 -0700
Message-ID: <20230825080222.14247-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|DM4PR12MB8559:EE_
X-MS-Office365-Filtering-Correlation-Id: 126dd74f-f687-43af-0d0d-08dba541b10f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XCw4hqENEh7XcztOCNnrQ46MJjG7TrSCyV3GNQMIGMMGPNmMasOLkQrCTceILZqE9cFTbFD/3akP205YoBt8HN1QxHJga6ubkhvNT4FmwoGRZ1N+8XypXsFIwV6zJYo4WVAIlc5Lv6gEuOTPPRE03GT+RskXPhunEkm/ES1Ay2oUc6rlkxMS7WcAaUF72nqbl0bt7Wk3AXgk0gXhhg9F2+KOcFH9AmLm30QZVQJSHQg2FkPESRztd0K1O/kEWvdFlpflWVcmQfNXvUCDQYruBTYz1cuwQCWRx4ygspu+BLKeCyY4VvASQjbBMtIE59aIgBvj6wJalQcb9nu5KHQfdCrhbOhHp1152rw/XqAK1thXqyzyzh/haL+P4diVUjQL1tawa5ksJBhhPq1+mXrenbND0JNQ1r7vYySnhqi7/fzZKnj8OMSUwU0paL9VvcZdsqQcSi0dwlvG5Hb11MnX+X0KmGRkaqd8ZFrVWbXk846HpirrjVBdWRBJSwevD/2UP4rli6MCPdC1xEDlyTL11Bvzhv2zGyRWWAqAGtrwWGcawKCBdiMqkYekeLB6pEAQF/gQvmu1hh0Ut8x9esbH517NmV4kP1HbcbDtD3iTX26yFDD3e6HS5LBZ+w5fGiixngCS7sU5uJAeQq1I1tyCKzCUTv27KYMqQuAna/JHvkvG7StP0BNO0VWuzgxY0dMkDQPojhNx7kQCN9JpAfj9T96ceBocSx6OQYmVEaSiMn0KsN8GMFOu8wIowQddJayoI/SK4HdjBCUi1C+35gwURg==
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)(4636009)(376002)(346002)(39860400002)(396003)(136003)(82310400011)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(1076003)(40460700003)(2616005)(5660300002)(4326008)(8676002)(8936002)(336012)(426003)(47076005)(36756003)(83380400001)(7416002)(44832011)(36860700001)(26005)(40480700001)(82740400003)(356005)(6666004)(81166007)(70586007)(70206006)(54906003)(6916009)(316002)(478600001)(41300700001)(2906002)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:02:56.3349
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 126dd74f-f687-43af-0d0d-08dba541b10f
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8559

Hi,
This patch series is for introducing dynamic programming i.e. add/remove the
devices during run time. Using "xl dt_overlay" a device can be added/removed
with dtbo.

For adding a node using dynamic programming:
    1. flatten device tree overlay node will be added to a fdt
    2. Updated fdt will be unflattened to a new dt_host_new
    3. Extract the newly added node information from dt_host_new
    4. Add the added node under correct parent in original dt_host.
    3. Map/Permit interrupt and iomem region as required.

For removing a node:
    1. Find the node with given path.
    2. Check if the node is used by any of domus. Removes the node only when
        it's not used by any domain.
    3. Removes IRQ permissions and MMIO access.
    5. Find the node in dt_host and delete the device node entry from dt_host.
    6. Free the overlay_tracker entry which means free dt_host_new also(created
in adding node step).

The main purpose of this series to address first part of the dynamic programming
i.e. making Xen aware of new device tree node which means updating the dt_host
with overlay node information. Here we are adding/removing node from dt_host,
and checking/set IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

To map IOREQ and IOMMU during runtime, there will be another small series after
this one where we will do the actual IOMMU and IRQ mapping to a running domain
and will call unmap_mmio_regions() to remove the mapping.

Example of overlay node:
/dts-v1/;

/ {

        fragment@0 {
                target-path = "/axi";

                __overlay__ {

                        ethernet@ff0e0000 {
                                compatible = "cdns,zynqmp-gem", "cdns,gem";
                                status = "okay";
                                interrupt-parent = <0x4>;
                                interrupts = <0x0 0x3f 0x4>;
                                reg = <0x0 0xff0e0000 0x0 0x1000>;
                                clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
                                #address-cells = <0x1>;
                                #size-cells = <0x0>;
                                #stream-id-cells = <0x1>;
                                iommus = <0xe 0x877>;
                                power-domains = <0xc 0x20>;
                                clocks = <0x3 0x1f 0x3 0x6b 0x3 0x30 0x3 0x34 0x3 0x2c>;
                                phy-handle = <0xf>;
                                pinctrl-names = "default";
                                pinctrl-0 = <0x10>;
                                phy-mode = "rgmii-id";
                                xlnx,ptp-enet-clock = <0x0>;
                                local-mac-address = [00 0a 35 00 22 01];
                                xen,passthrough = <1>;
                                ethernet-phy@c {
                                        reg = <0xc>;
                                        ti,rx-internal-delay = <0x8>;
                                        ti,tx-internal-delay = <0xa>;
                                        ti,fifo-depth = <0x1>;
                                        ti,dp83867-rxctrl-strap-quirk;
                                interrupt-parent = <0x4>;
                                interrupts = <0x0 0x4f 0x4>;
                                xen,passthrough = <1>;
                                phandle = <0x2>;
                                };
                        };
    };
};

Change Log:
 v5 -> v6:
    Add separate patch for memory allocation failure in __unflatten_device_tree().
    Move __unflatten_device_tree() function type changes to single patch.
    Add error propagation for failures in unflatten_dt_node.
    Change CONFIG_OVERLAY_DTB status to "ARM: Tech Preview".
    xen/smmu: Add remove_device callback for smmu_iommu ops:
        Added check to see if device is currently used.
    common/device_tree: Add rwlock for dt_host:
        Addressed feedback from Henry to rearrange code.
    xen/arm: Implement device tree node removal functionalities:
        Changed file name to dash format.
        Addressed Michal's comments.
    Rectified formatting related errors pointed by Michal.

 v4 -> v5:
    Split patch 01/16 to two patches. One with function type changes and another
        with changes inside unflatten_device_tree().
    Change dt_overlay xl command to dt-overlay.
    Protect overlay functionality with CONFIG(arm).
    Fix rwlock issues.
    Move include "device_tree.h" to c file where arch_cpu_init() is called and
        forward declare dt_device_node. This was done to avoid circular deps b/w
        device_tree.h and rwlock.h
    Address Michal's comment on coding style.

 v3 -> v4:
    Add support for adding node's children.
    Add rwlock to dt_host functions.
    Corrected fdt size issue when applying overlay into it.
    Add memory allocation fail handling for unflatten_device_tree().
    Changed xl overlay to xl dt_overlay.
    Correct commit messages.
    Addressed code issue from v3 review.

 v2 -> v3:
    Moved overlay functionalities to dt_overlay.c file.
    Renamed XEN_SYSCTL_overlay to XEN_SYSCTL_dt_overlay.
    Add dt_* prefix to overlay_add/remove_nodes.
    Added dtdevs_lock to protect iommu_add_dt_device().
    For iommu, moved spin_lock to caller.
    Address code issue from v2 review.

 v1 -> v2:
    Add support for multiple node addition/removal using dtbo.
    Replaced fpga-add and fpga-remove with one hypercall overlay_op.
    Moved common domain_build.c function to device.c
    Add OVERLAY_DTB configuration.
    Renamed overlay_get_target() to fdt_overlay_get_target().
    Split remove_device patch into two patches.
    Moved overlay_add/remove code to sysctl and changed it from domctl to sysctl.
    Added all overlay code under CONFIG_OVERLAY_DTB
    Renamed all tool domains fpga function to overlay
    Addressed code issues from v1 review.

Regards,
Vikram


Vikram Garhwal (20):
  common/device_tree: handle memory allocation failure in
    __unflatten_device_tree()
  common/device_tree.c: unflatten_device_tree() propagate errors
  xen/arm/device: Remove __init from function type
  common/device_tree: Export __unflatten_device_tree()
  xen/arm: Add CONFIG_OVERLAY_DTB
  libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
  libfdt: overlay: change overlay_get_target()
  xen/device-tree: Add device_tree_find_node_by_path() to find nodes in
    device tree
  xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
  xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
  xen/iommu: Introduce iommu_remove_dt_device()
  xen/smmu: Add remove_device callback for smmu_iommu ops
  asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
  common/device_tree: Add rwlock for dt_host
  arm/asm/setup.h: Update struct map_range_data to add rangeset.
  xen/arm: Implement device tree node removal functionalities
  xen/arm: Implement device tree node addition functionalities
  tools/libs/ctrl: Implement new xc interfaces for dt overlay
  tools/libs/light: Implement new libxl functions for device tree
    overlay ops
  tools/xl: Add new xl command overlay for device tree overlay support

 CHANGELOG.md                            |   3 +-
 MAINTAINERS                             |   1 +
 SUPPORT.md                              |   6 +
 tools/include/libxl.h                   |  11 +
 tools/include/xenctrl.h                 |   5 +
 tools/libs/ctrl/Makefile.common         |   1 +
 tools/libs/ctrl/xc_dt_overlay.c         |  50 ++
 tools/libs/light/Makefile               |   3 +
 tools/libs/light/libxl_dt_overlay.c     |  71 ++
 tools/xl/xl.h                           |   1 +
 tools/xl/xl_cmdtable.c                  |   6 +
 tools/xl/xl_vmcontrol.c                 |  52 ++
 xen/arch/arm/Kconfig                    |   5 +
 xen/arch/arm/device.c                   | 318 +++++++++
 xen/arch/arm/domain_build.c             | 297 +-------
 xen/arch/arm/include/asm/domain_build.h |   2 -
 xen/arch/arm/include/asm/setup.h        |  12 +
 xen/arch/arm/include/asm/smp.h          |   4 +-
 xen/arch/arm/smpboot.c                  |   1 +
 xen/arch/arm/sysctl.c                   |  16 +-
 xen/common/Makefile                     |   1 +
 xen/common/device_tree.c                |  58 +-
 xen/common/dt-overlay.c                 | 887 ++++++++++++++++++++++++
 xen/common/libfdt/Makefile              |   4 +
 xen/common/libfdt/fdt_overlay.c         |  29 +-
 xen/common/libfdt/version.lds           |   1 +
 xen/drivers/passthrough/arm/smmu.c      |  60 ++
 xen/drivers/passthrough/device_tree.c   |  93 ++-
 xen/include/public/sysctl.h             |  24 +
 xen/include/xen/device_tree.h           |  38 +-
 xen/include/xen/dt-overlay.h            |  63 ++
 xen/include/xen/iommu.h                 |   1 +
 xen/include/xen/libfdt/libfdt.h         |  18 +
 33 files changed, 1788 insertions(+), 354 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c
 create mode 100644 tools/libs/light/libxl_dt_overlay.c
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590547.922869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmc-0007Sd-QJ; Fri, 25 Aug 2023 08:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590547.922869; Fri, 25 Aug 2023 08:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmc-0007RB-Jv; Fri, 25 Aug 2023 08:03:06 +0000
Received: by outflank-mailman (input) for mailman id 590547;
 Fri, 25 Aug 2023 08:03:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmb-0007GZ-6u
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:05 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0a40d40-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:04 +0200 (CEST)
Received: from MW4PR03CA0037.namprd03.prod.outlook.com (2603:10b6:303:8e::12)
 by IA1PR12MB8496.namprd12.prod.outlook.com (2603:10b6:208:446::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:02:58 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:303:8e:cafe::f6) by MW4PR03CA0037.outlook.office365.com
 (2603:10b6:303:8e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:02:58 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044FB.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.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:02:58 +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.27; Fri, 25 Aug
 2023 03:02:58 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: d0a40d40-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CgumGq9aZCLCsioaDumg9l1ra1WH63XNss7bY8kPvTXG22l0TOwp/q3jWnHJbFPD2mG9YdxxxPDyBHmjo74mfU06S7Fz/sdMVOopAYl5UowekfoIYnJCN/9rj7lLB6ZRvXzuAJgcsUfi0HQkOSkhdajfNZepnFGBL8/BHD3ol4TT8nq2mKf7J6NdRJuff8De6DUC/mh+3QPiJeIzZVQ0lqgkeclvekN309O8ryx5y89BoajL47BraBg9NDEE6ctqHo3ePNqFI4gsP7J0d9bfDSMfn5S2CEEjCFVLEdnS3wSqyWE6oJRioVEpjWuRRpYx64Y1x443V9vtxFC97jYvxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N48gpSlC0ul9Dgr5X4IgXaGnFeuJhzDtng9Ayqa//1E=;
 b=foEjyy0NPEwpDfiwJw/N96j6IlrTtxty8iW7Xb+vfjGZMVLKKLIt90jr0vzSSTXEJP8JRx6g2mo5YnlU9jMg/Z0A8ZFqU5AiciuY+AmZMRdo0S22VLf8+I3Q0J2OAvfJATU+A+kA20rkNCvlM0Ojh+tKR7rEFIHxqqzsTWtnH6s7rryKbFFAfRQpTUC7mzyAK5hR7x3Cg0G1KT4jEGYmdqzj3Rjw3m4Y1iFnqkdbbIMmMZKD/X6p82iwKEKL6RzGmBc4YlwKvcs7Dkt7gOyY07FoxsAMFySSEwOWPZvh8MgHKhanO89GncIP5fZgZoqfTJwi2EwBefxqPpBF26pEKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N48gpSlC0ul9Dgr5X4IgXaGnFeuJhzDtng9Ayqa//1E=;
 b=U5lQyWoIPj714eCMMBBWlHCbVtlrHEUTzdlS4upIGEsQfYZPzscuTcRyxZZ6Voin52grovV4qrBKSoE+KvAV2nq0yTaouLUuDFhsWvOX58rktslRLEJuSzLCa8ew4/bImsy5MKOqqoVa6Lu3CrVO3lOMXZOwV3SjrvhcAAQpzcM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 04/20] common/device_tree: Export __unflatten_device_tree()
Date: Fri, 25 Aug 2023 01:02:06 -0700
Message-ID: <20230825080222.14247-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|IA1PR12MB8496:EE_
X-MS-Office365-Filtering-Correlation-Id: 537abbab-683b-413a-1e03-08dba541b25c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QYjgEMkYOgrV7ptUCqmB/PJckNRAgoc8nhwvUqlAwkBtBTTNUCxcq7ZWs1sml+4+rn2C6DdBysmzPaw9gp0uKf0RTBHN1msq3BrJvEFg3uQtYgxsTs6sCDVNlf3YUaU2uCJw002jOLmVnG8yTf16b9ViR8VhhhYAKMv/+kDk7exfaIy0vLmE4LvB0zlOri0cnc6nKhPbpXNeRZz+mruSUFBqpHDiaOLxdtbs4d/fwKnF74++CSIdHEmjQJe9IXaKa2CAd9LKnxusnNAhIgbV/HqiBHSGQfR9SRoZm558a4tWI/u8awthhiIt8GVy4aFGp+m5kKckziXWH3ro7QNqKS5H4wJgWkjS0riBYfnxxAu6ShdHAgpqCWaQmnBc/n92ycf3lV6Z0kzB3SNss5OTyGDaj4MG+U6RECmKd0wcUPP7VBahp6zOLjbukYB2gl4d+bOusLtUSIQrYjHJc3wX+IUT3HgKPTH9HIwIE6m33noYAF3ualORpcJ7pMZ+agJSokx1Dxwv8TZL1MmG/mn4wQqikg3mdH9R6kZaJE1qo0AOX9ig3isaXwvQty4eUZH9g1Q1LYXFF5vIF772eI5ZYJcGPTI89h3DjG2cTjIMMxQbDza3yD3/Sir/8JPu2nRxRm3EKzibQ5UwriYcl8EpG5Qu+FjwHxQujJkI2NR9Xo+lxasjfL8QZ8bk/qRTGi737UvSeIJyntuSiLPRd/CPeOEBhvsHSDnbPUmBtliqbhjgXDMkos/4EA0BIViUm7q/9JZVlf6UxVc7FA2u5BcAlA==
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70586007)(70206006)(316002)(6916009)(81166007)(478600001)(40480700001)(26005)(6666004)(82740400003)(41300700001)(86362001)(2906002)(356005)(4326008)(8676002)(8936002)(83380400001)(2616005)(40460700003)(5660300002)(47076005)(44832011)(1076003)(426003)(336012)(36756003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:02:58.5489
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 537abbab-683b-413a-1e03-08dba541b25c
X-MS-Exchange-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:
	CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8496

Following changes are done to __unflatten_device_tree():
    1. __unflatten_device_tree() is renamed to unflatten_device_tree().
    2. Remove __init and static function type.

The changes are done to make this function useable for dynamic node programming
where new device tree overlay nodes are added to fdt and further unflattend to
update xen device tree during runtime.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>

---
Changes from v7:
    Update the commit with why unflatten_device_tree() is changed.
    Move function documentation to device_tree.h
---
---
 xen/common/device_tree.c      | 19 +++----------------
 xen/include/xen/device_tree.h | 14 ++++++++++++++
 2 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index fccf98f94e..b8ef1c7ae2 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2082,20 +2082,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
     return mem;
 }
 
-/**
- * __unflatten_device_tree - create tree of device_nodes from flat blob
- *
- * unflattens a device-tree, creating the
- * tree of struct device_node. It also fills the "name" and "type"
- * pointers of the nodes so the normal device-tree walking functions
- * can be used.
- * @fdt: The fdt to expand
- * @mynodes: The device_node tree created by the call
- *
- * Returns 0 on success and a negative number on error
- */
-static int __init __unflatten_device_tree(const void *fdt,
-                                          struct dt_device_node **mynodes)
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2234,10 +2221,10 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = unflatten_device_tree(device_tree_flattened, &dt_host);
 
     if ( error )
-        panic("__unflatten_device_tree failed with error %d\n", error);
+        panic("unflatten_device_tree failed with error %d\n", error);
 
     dt_alias_scan();
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 1d79e23b28..a518310a62 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -178,6 +178,20 @@ int device_tree_for_each_node(const void *fdt, int node,
  */
 void dt_unflatten_host_device_tree(void);
 
+/**
+ * unflatten_device_tree - create tree of device_nodes from flat blob
+ *
+ * unflattens a device-tree, creating the
+ * tree of struct device_node. It also fills the "name" and "type"
+ * pointers of the nodes so the normal device-tree walking functions
+ * can be used.
+ * @fdt: The fdt to expand
+ * @mynodes: The device_node tree created by the call
+ *
+ * Returns 0 on success and a negative number on error
+ */
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes);
+
 /**
  * IRQ translation callback
  * TODO: For the moment we assume that we only have ONE
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590548.922887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRme-00081H-91; Fri, 25 Aug 2023 08:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590548.922887; Fri, 25 Aug 2023 08:03:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRme-0007zs-40; Fri, 25 Aug 2023 08:03:08 +0000
Received: by outflank-mailman (input) for mailman id 590548;
 Fri, 25 Aug 2023 08:03:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmc-0007G4-D2
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:06 +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 d118f5ca-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:03 +0200 (CEST)
Received: from MW4PR03CA0243.namprd03.prod.outlook.com (2603:10b6:303:b4::8)
 by IA0PR12MB7676.namprd12.prod.outlook.com (2603:10b6:208:432::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:02:59 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::52) by MW4PR03CA0243.outlook.office365.com
 (2603:10b6:303:b4::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:02:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:02:58 +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.27; Fri, 25 Aug
 2023 03:02:57 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: d118f5ca-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SFU0voUFblOLV9zXFEP9dMzFaSm7YZljp2RbOATitpIZ/00iIQ0Y4Qq6pDt73gQx1nA5aA86dEf5eaR9i3OMSmsomVYwNOw84OIFv1f75pcl6HcLv+bjTMTjOgbykrzq/AKav3Es2qE9/6dbgTClF7K4X0ZORviGhTPvvYOYVOCpN43xJgd6eFQFVlwSQpfTWctcam5lDrkR5B4nnBqnx83sMeKj/8oEvpLX3UKdV3QnkMGl9lr8U7XnQtyMAD9pB8qalGPgrhSCLwTOezl4Q7JU/O3Yq6QR6xfmkFdx5fCTex6pEorXPIoATcQt1ZaPHnEZvw8fIkr0Bq/6gELF+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qW7oUZ/uYCJdDraRyDsuGjNHoONAmzK9QOZzGwOjFIY=;
 b=n7JsMggUSPM8nqKroEecEOVsk3zUx/l5S3q1JeGih4k9L9qwbsgsBfXS18NNED0DHZKAyQz6cNuQ6AMYhhcjD8oJN/ACjc2xVtSTBqGDErp/ShMFgzHaHic1nUocFK93/sHXLskROgyu5zA37wozNCt8CdBs6rCC8Sd16YNHA3XaYdJRCmtsbVKzQ1phZuDSDPrCNbIBiQc9pwcgS2yuQJYThPV54jCykmiErdZQIufBxu0ZWJsUtSb7LnuqNz5YRlxjACcHpQirn/hErzpyCwjtRkXQwsyzzfpGrcN2Wo7KpUWWJ72bKdisa9BEIHSgJCy1pQjWXlTJjUFDoGQEnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qW7oUZ/uYCJdDraRyDsuGjNHoONAmzK9QOZzGwOjFIY=;
 b=uyKxc60diGsNY1u3qd26k+BgThL0jFcAQZD1zapFKEg0WjqGdqL/AirJqEoS9jP1Y1W4wBIOp9VmKNe9Ldf1YTU4Z0bAWgtwT3lu4lkf0iBXrmgmVppJjGzbjAcSGlrf5Wwjj2vxKiDZxhdxTDzW/iQQiPo2xxhZyUO/DLTDunU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from function type
Date: Fri, 25 Aug 2023 01:02:05 -0700
Message-ID: <20230825080222.14247-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|IA0PR12MB7676:EE_
X-MS-Office365-Filtering-Correlation-Id: 5b4c4559-7063-424e-7428-08dba541b27e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QIftDperJGxZJXYMcQSYfEjdEOqH97++2vrqU9wHclyysw+JB3VeaYYIpmieFrHosc855d9l5oWxQC7O496Irf1AEp/vQ2Hs04xu8b8GCf+40v9wX860gyPdzcb/xNXoF1mJ0ZFS1TP6aRRKUrzifTXxKHaPJlqzeSfvvtAM/Pyda8RSjIv7KuSLfWWfznlUEzkaJOtNNORrskXWyjhZtAp0U2wQwNhbRSHlkqJspknVMHZlxtr3PX/GdN4tCRyddgULyR3zDDYC0WzsrhoZqINr6k1AEtxoaYb4CFc+WNU3Uv7umC3racPkIb3RZ8CxnbCZ6H93g+Kg0jHkhEDIFqLiwt8xk9g2Emw7OLsAh/GhbszPykG4kok5H5tMghYPPCFIxG4S6/gSClELJti3lm5/AQLaYH0Sa3XQq3c8fxHAWg3HtofC9dwu0Fcv68APxHHW0jhwlLTAnARFWn6U0glMx1Zqxq+2pxFK6VND1M79HtlMTj8cfrjK6aSYkan+HcCt57K3DcK8VLk2JlMemxO4A/H/9sRMf7AR0NwFs3/AO9ZUAfV7dcs7oEb4z3bpGjWj5Rm9pdn4AsMA3M20OYXz7FUDyR3mUxH2pBejXewKJQhOgyRlWQXoR1VLGqQmO5EtraLDh70gjVth1JzWLqMbnfGVoK+7srJBptEclbpih3EQWfjSQ4YxoAORQRR04dJJphDlVjwjwMbIt37ROV/cZLAUkFtQX7SITAwqMLrO0sF0G7ZU4JUQvV1PCfJGRYj/vtsKLKP7rxzMy9ACTw==
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)(4636009)(396003)(376002)(39860400002)(346002)(136003)(1800799009)(82310400011)(186009)(451199024)(36840700001)(40470700004)(46966006)(2616005)(40460700003)(8936002)(8676002)(83380400001)(4326008)(5660300002)(30864003)(336012)(1076003)(426003)(36756003)(36860700001)(47076005)(44832011)(40480700001)(26005)(82740400003)(6666004)(81166007)(70206006)(70586007)(54906003)(2906002)(6916009)(316002)(478600001)(356005)(41300700001)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:02:58.6802
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4c4559-7063-424e-7428-08dba541b27e
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7676

Remove __init from following function to access during runtime:
    1. map_irq_to_domain()
    2. handle_device_interrupts()
    3. map_range_to_domain()
    4. unflatten_dt_node()
    5. handle_device()
    6. map_device_children()
    7. map_dt_irq_to_domain()
Move map_irq_to_domain() prototype from domain_build.h to setup.h.

Above changes will create an error on build as non-init function are still
in domain_build.c file. So, to avoid build fails, following changes are done:
1. Move map_irq_to_domain(), handle_device_interrupts(), map_range_to_domain(),
    handle_device(), map_device_children() and map_dt_irq_to_domain()
    to device.c. After removing __init type,  these functions are not specific
    to domain building, so moving them out of domain_build.c to device.c.
2. Remove static type from handle_device_interrupts().

Overall, these changes are done to support the dynamic programming of a nodes
where an overlay node will be added to fdt and unflattened node will be added to
dt_host. Furthermore, IRQ and mmio mapping will be done for the added node.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Move handle_device(), map_device_children() and map_dt_irq_to_domain() out
        of domain_build.c
---
---
 xen/arch/arm/device.c                   | 293 ++++++++++++++++++++++++
 xen/arch/arm/domain_build.c             | 293 ------------------------
 xen/arch/arm/include/asm/domain_build.h |   2 -
 xen/arch/arm/include/asm/setup.h        |   9 +
 xen/common/device_tree.c                |  12 +-
 5 files changed, 308 insertions(+), 301 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index ca8539dee5..857f171a27 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -9,8 +9,10 @@
  */
 
 #include <asm/device.h>
+#include <asm/setup.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iocap.h>
 #include <xen/lib.h>
 
 extern const struct device_desc _sdevice[], _edevice[];
@@ -75,6 +77,297 @@ enum device_class device_get_class(const struct dt_device_node *dev)
     return DEVICE_UNKNOWN;
 }
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vgic_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared
+         */
+        vgic_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+    return 0;
+}
+
+int map_range_to_domain(const struct dt_device_node *dev,
+                        uint64_t addr, uint64_t len, void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    int res;
+
+    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
+    {
+        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
+               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
+        return -ERANGE;
+    }
+
+    /*
+     * reserved-memory regions are RAM carved out for a special purpose.
+     * They are not MMIO and therefore a domain should not be able to
+     * manage them via the IOMEM interface.
+     */
+    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
+                     strlen("/reserved-memory/")) != 0 )
+    {
+        res = iomem_permit_access(d, paddr_to_pfn(addr),
+                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                    d->domain_id,
+                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
+            return res;
+        }
+    }
+
+    if ( !mr_data->skip_mapping )
+    {
+        res = map_regions_p2mt(d,
+                               gaddr_to_gfn(addr),
+                               PFN_UP(len),
+                               maddr_to_mfn(addr),
+                               mr_data->p2mt);
+
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
+                   " - 0x%"PRIx64" in domain %d\n",
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
+                   d->domain_id);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
+               addr, addr + len, mr_data->p2mt);
+
+    return 0;
+}
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d,
+                             struct dt_device_node *dev,
+                             bool need_mapping)
+{
+    unsigned int i, nirq;
+    int res;
+    struct dt_raw_irq rirq;
+
+    nirq = dt_number_of_irq(dev);
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not the GIC
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
+                      i, dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        res = platform_get_irq(dev, i);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
+
+static int map_dt_irq_to_domain(const struct dt_device_node *dev,
+                                       const struct dt_irq *dt_irq,
+                                       void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    unsigned int irq = dt_irq->irq;
+    int res;
+
+    if ( irq < NR_LOCAL_IRQS )
+    {
+        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
+        return -EINVAL;
+    }
+
+    /* Setup the IRQ type */
+    res = irq_set_spi_type(irq, dt_irq->type);
+    if ( res )
+    {
+        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
+               dt_node_name(dev), irq, d);
+        return res;
+    }
+
+    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
+
+    return res;
+}
+
+/*
+ * For a node which describes a discoverable bus (such as a PCI bus)
+ * then we may need to perform additional mappings in order to make
+ * the child resources available to domain 0.
+ */
+static int map_device_children(const struct dt_device_node *dev,
+                                      struct map_range_data *mr_data)
+{
+    if ( dt_device_type_is_equal(dev, "pci") )
+    {
+        int ret;
+
+        dt_dprintk("Mapping children of %s to guest\n",
+                   dt_node_full_name(dev));
+
+        ret = dt_for_each_irq_map(dev, &map_dt_irq_to_domain, mr_data);
+        if ( ret < 0 )
+            return ret;
+
+        ret = dt_for_each_range(dev, &map_range_to_domain, mr_data);
+        if ( ret < 0 )
+            return ret;
+    }
+
+    return 0;
+}
+
+/*
+ * For a given device node:
+ *  - Give permission to the guest to manage IRQ and MMIO range
+ *  - Retrieve the IRQ configuration (i.e edge/level) from device tree
+ * When the device is not marked for guest passthrough:
+ *  - Try to call iommu_add_dt_device to protect the device by an IOMMU
+ *  - Assign the device to the guest if it's protected by an IOMMU
+ *  - Map the IRQs and iomem regions to DOM0
+ */
+int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
+{
+    unsigned int naddr;
+    unsigned int i;
+    int res;
+    paddr_t addr, size;
+    bool own_device = !dt_device_for_passthrough(dev);
+    /*
+     * We want to avoid mapping the MMIO in dom0 for the following cases:
+     *   - The device is owned by dom0 (i.e. it has been flagged for
+     *     passthrough).
+     *   - PCI host bridges with driver in Xen. They will later be mapped by
+     *     pci_host_bridge_mappings().
+     */
+    struct map_range_data mr_data = {
+        .p2mt = p2mt,
+        .skip_mapping = !own_device ||
+                        (is_pci_passthrough_enabled() &&
+                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
+    };
+
+    naddr = dt_number_of_address(dev);
+
+    dt_dprintk("%s passthrough = %d naddr = %u\n",
+               dt_node_full_name(dev), own_device, naddr);
+
+    if ( own_device )
+    {
+        dt_dprintk("Check if %s is behind the IOMMU and add it\n",
+                   dt_node_full_name(dev));
+
+        res = iommu_add_dt_device(dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
+                   dt_node_full_name(dev));
+            return res;
+        }
+
+        if ( dt_device_is_protected(dev) )
+        {
+            dt_dprintk("%s setup iommu\n", dt_node_full_name(dev));
+            res = iommu_assign_dt_device(d, dev);
+            if ( res )
+            {
+                printk(XENLOG_ERR "Failed to setup the IOMMU for %s\n",
+                       dt_node_full_name(dev));
+                return res;
+            }
+        }
+    }
+
+    res = handle_device_interrupts(d, dev, own_device);
+    if ( res < 0 )
+        return res;
+
+    /* Give permission and map MMIOs */
+    for ( i = 0; i < naddr; i++ )
+    {
+        res = dt_device_get_paddr(dev, i, &addr, &size);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_range_to_domain(dev, addr, size, &mr_data);
+        if ( res )
+            return res;
+    }
+
+    res = map_device_children(dev, &mr_data);
+    if ( res )
+        return res;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 39b4ee03a5..63ca9ea5fe 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2293,299 +2293,6 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
-int __init map_irq_to_domain(struct domain *d, unsigned int irq,
-                             bool need_mapping, const char *devname)
-{
-    int res;
-
-    res = irq_permit_access(d, irq);
-    if ( res )
-    {
-        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
-        return res;
-    }
-
-    if ( need_mapping )
-    {
-        /*
-         * Checking the return of vgic_reserve_virq is not
-         * necessary. It should not fail except when we try to map
-         * the IRQ twice. This can legitimately happen if the IRQ is shared
-         */
-        vgic_reserve_virq(d, irq);
-
-        res = route_irq_to_guest(d, irq, irq, devname);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - IRQ: %u\n", irq);
-    return 0;
-}
-
-static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
-                                       const struct dt_irq *dt_irq,
-                                       void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    unsigned int irq = dt_irq->irq;
-    int res;
-
-    if ( irq < NR_LOCAL_IRQS )
-    {
-        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
-        return -EINVAL;
-    }
-
-    /* Setup the IRQ type */
-    res = irq_set_spi_type(irq, dt_irq->type);
-    if ( res )
-    {
-        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
-               dt_node_name(dev), irq, d);
-        return res;
-    }
-
-    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
-
-    return res;
-}
-
-int __init map_range_to_domain(const struct dt_device_node *dev,
-                               uint64_t addr, uint64_t len, void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    int res;
-
-    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
-    {
-        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
-               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
-        return -ERANGE;
-    }
-
-    /*
-     * reserved-memory regions are RAM carved out for a special purpose.
-     * They are not MMIO and therefore a domain should not be able to
-     * manage them via the IOMEM interface.
-     */
-    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
-                     strlen("/reserved-memory/")) != 0 )
-    {
-        res = iomem_permit_access(d, paddr_to_pfn(addr),
-                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
-                    d->domain_id,
-                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
-            return res;
-        }
-    }
-
-    if ( !mr_data->skip_mapping )
-    {
-        res = map_regions_p2mt(d,
-                               gaddr_to_gfn(addr),
-                               PFN_UP(len),
-                               maddr_to_mfn(addr),
-                               mr_data->p2mt);
-
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
-                   " - 0x%"PRIx64" in domain %d\n",
-                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
-                   d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
-               addr, addr + len, mr_data->p2mt);
-
-    return 0;
-}
-
-/*
- * For a node which describes a discoverable bus (such as a PCI bus)
- * then we may need to perform additional mappings in order to make
- * the child resources available to domain 0.
- */
-static int __init map_device_children(const struct dt_device_node *dev,
-                                      struct map_range_data *mr_data)
-{
-    if ( dt_device_type_is_equal(dev, "pci") )
-    {
-        int ret;
-
-        dt_dprintk("Mapping children of %s to guest\n",
-                   dt_node_full_name(dev));
-
-        ret = dt_for_each_irq_map(dev, &map_dt_irq_to_domain, mr_data);
-        if ( ret < 0 )
-            return ret;
-
-        ret = dt_for_each_range(dev, &map_range_to_domain, mr_data);
-        if ( ret < 0 )
-            return ret;
-    }
-
-    return 0;
-}
-
-/*
- * handle_device_interrupts retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
-static int __init handle_device_interrupts(struct domain *d,
-                                           struct dt_device_node *dev,
-                                           bool need_mapping)
-{
-    unsigned int i, nirq;
-    int res;
-    struct dt_raw_irq rirq;
-
-    nirq = dt_number_of_irq(dev);
-
-    /* Give permission and map IRQs */
-    for ( i = 0; i < nirq; i++ )
-    {
-        res = dt_device_get_raw_irq(dev, i, &rirq);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        /*
-         * Don't map IRQ that have no physical meaning
-         * ie: IRQ whose controller is not the GIC
-         */
-        if ( rirq.controller != dt_interrupt_controller )
-        {
-            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
-                      i, dt_node_full_name(rirq.controller));
-            continue;
-        }
-
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
-        if ( res )
-            return res;
-    }
-
-    return 0;
-}
-
-/*
- * For a given device node:
- *  - Give permission to the guest to manage IRQ and MMIO range
- *  - Retrieve the IRQ configuration (i.e edge/level) from device tree
- * When the device is not marked for guest passthrough:
- *  - Try to call iommu_add_dt_device to protect the device by an IOMMU
- *  - Assign the device to the guest if it's protected by an IOMMU
- *  - Map the IRQs and iomem regions to DOM0
- */
-static int __init handle_device(struct domain *d, struct dt_device_node *dev,
-                                p2m_type_t p2mt)
-{
-    unsigned int naddr;
-    unsigned int i;
-    int res;
-    paddr_t addr, size;
-    bool own_device = !dt_device_for_passthrough(dev);
-    /*
-     * We want to avoid mapping the MMIO in dom0 for the following cases:
-     *   - The device is owned by dom0 (i.e. it has been flagged for
-     *     passthrough).
-     *   - PCI host bridges with driver in Xen. They will later be mapped by
-     *     pci_host_bridge_mappings().
-     */
-    struct map_range_data mr_data = {
-        .d = d,
-        .p2mt = p2mt,
-        .skip_mapping = !own_device ||
-                        (is_pci_passthrough_enabled() &&
-                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
-    };
-
-    naddr = dt_number_of_address(dev);
-
-    dt_dprintk("%s passthrough = %d naddr = %u\n",
-               dt_node_full_name(dev), own_device, naddr);
-
-    if ( own_device )
-    {
-        dt_dprintk("Check if %s is behind the IOMMU and add it\n",
-                   dt_node_full_name(dev));
-
-        res = iommu_add_dt_device(dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
-                   dt_node_full_name(dev));
-            return res;
-        }
-
-        if ( dt_device_is_protected(dev) )
-        {
-            dt_dprintk("%s setup iommu\n", dt_node_full_name(dev));
-            res = iommu_assign_dt_device(d, dev);
-            if ( res )
-            {
-                printk(XENLOG_ERR "Failed to setup the IOMMU for %s\n",
-                       dt_node_full_name(dev));
-                return res;
-            }
-        }
-    }
-
-    res = handle_device_interrupts(d, dev, own_device);
-    if ( res < 0 )
-        return res;
-
-    /* Give permission and map MMIOs */
-    for ( i = 0; i < naddr; i++ )
-    {
-        res = dt_device_get_paddr(dev, i, &addr, &size);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_range_to_domain(dev, addr, size, &mr_data);
-        if ( res )
-            return res;
-    }
-
-    res = map_device_children(dev, &mr_data);
-    if ( res )
-        return res;
-
-    return 0;
-}
-
 static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                               struct dt_device_node *node,
                               p2m_type_t p2mt)
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 34ceddc995..b9329c9ee0 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,8 +4,6 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
-int map_irq_to_domain(struct domain *d, unsigned int irq,
-                      bool need_mapping, const char *devname);
 int make_chosen_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..1a052ed924 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -165,9 +165,18 @@ void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
 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);
+
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname);
+
 extern lpae_t boot_pgtable[XEN_PT_LPAE_ENTRIES];
 
 #ifdef CONFIG_ARM_64
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index b6d9f018c6..fccf98f94e 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -1847,12 +1847,12 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
  * @allnextpp: pointer to ->allnext from last allocated device_node
  * @fpsize: Size of the node path up at the current depth.
  */
-static unsigned long __init unflatten_dt_node(const void *fdt,
-                                              unsigned long mem,
-                                              unsigned long *p,
-                                              struct dt_device_node *dad,
-                                              struct dt_device_node ***allnextpp,
-                                              unsigned long fpsize)
+static unsigned long unflatten_dt_node(const void *fdt,
+                                       unsigned long mem,
+                                       unsigned long *p,
+                                       struct dt_device_node *dad,
+                                       struct dt_device_node ***allnextpp,
+                                       unsigned long fpsize)
 {
     struct dt_device_node *np;
     struct dt_property *pp, **prev_pp = NULL;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590549.922897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmg-0008Mx-RM; Fri, 25 Aug 2023 08:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590549.922897; Fri, 25 Aug 2023 08:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmg-0008Mi-Jm; Fri, 25 Aug 2023 08:03:10 +0000
Received: by outflank-mailman (input) for mailman id 590549;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRme-0007GZ-DN
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:08 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e83::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2cb8fba-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:07 +0200 (CEST)
Received: from MW4PR03CA0269.namprd03.prod.outlook.com (2603:10b6:303:b4::34)
 by IA0PR12MB8208.namprd12.prod.outlook.com (2603:10b6:208:409::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:04 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::9a) by MW4PR03CA0269.outlook.office365.com
 (2603:10b6:303:b4::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03:03 +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.27; Fri, 25 Aug
 2023 03:03:02 -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.27; Fri, 25 Aug
 2023 01:03:01 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d2cb8fba-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aIK8AW8F5UrujvOMvLRRXkzlSpjoYFH9716GEBkNG8VPl56ms5Viv1bpJtrY19TsgIYxZW05g6YNDkqbkU5VkIiYiR5DWaDH1p6DLSW8YhQobAnlr1+gvGizEttiTmTsxtQl+YVZ/9KhXmh69RmL/Q9yv+SLVClq/gF5GM9WCw/arZyQeY6lqYrbw0fM9JiJESh+Q/Zi+4grBxaGSG0qooS6T+/hlDQlQM2WmeICBazdOW2kn/nvUHp4QSdSaKB3uU0twHo0iG/pQZy4ooUffXUs2wUsF4u2qTSShqbCpj3EBryaZatO2pleO/czm9+bPeIudid16XumCnrJcH3ljg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lPFr75nv1aBnnGpQw+siLMDm3xpzWwYvMbfH1Hl8l3c=;
 b=PoHkyuAF8IYl6YQiFkJGGIPtdTJOPtLfJ2DcFtlXzSmqy4PrJ+8SIu3A4bLINk+GouyjhsZt0P5CmxNBhRjXKc7wRHGkuLwEmvm1caEPptfbMopAQ1P/sv4TWcIFQWYD21JqJ7eustrS38t3VxcJ056L7OUR0zqCdDA/qSwu18JyoSdV2p96lr6VPXOE1Ex/OTQPtLxHNhYV5jJKgWFfMVbpPNRDClprchlNpRfFJimI4UIKHESQqssUuI57p/F1/j/DKQEKkhr559IkzXE/NvYPOttNSrxLeFyvVela1BY9zh79KfTyt4Whqum11AhzPrA7Q7WmYwKhp0ZWnt24cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lPFr75nv1aBnnGpQw+siLMDm3xpzWwYvMbfH1Hl8l3c=;
 b=fmWniqkPSZ2zRJjMXdt4YrMm5zuirBGKoKS3VYkEEq9nYAdctMlJTpiMiXDZEGga2GKrkITI5Yu+C8p/25/H9dqyvEtG2vWon8YwF1u7RD+e5aaheQL6EEfrIbtAgmafFR6vY28MsWVsEvrl0nHZ/CuzILoKANNTSSokZORLpmU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 08/20] xen/device-tree: Add device_tree_find_node_by_path() to find nodes in device tree
Date: Fri, 25 Aug 2023 01:02:10 -0700
Message-ID: <20230825080222.14247-9-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|IA0PR12MB8208:EE_
X-MS-Office365-Filtering-Correlation-Id: 9dcc3098-e987-4c11-5176-08dba541b566
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gf3wjCDMmpXWahX+UJC54kkPGRLzFolOGP7SOnzlE+Ace2x5Es1//zvTxMVVUrjVO10lZb4qRCkkhVGsUgflRNfBgzZkounRNs0+bwRfmObnf7TNhp3Oa5h2EQh1FJHmGu7v4wFhxvTIZy7oqAHbN6a7UPfL+eVEynqKaFiT2QlLIAFft1XyM8YqmqIi55oPsBvDJAgFyn/PHwNI8aH6pc9YfBqrIqJDLk5O13XPEbl5tQ+D4+mvaCWQ1FA4aqhg2GASgb5dfm0s/MSpz6McwRmL12DFfrXmw9NiCjOSM/q0zwEi/20jeGsTDdl7VB30mQ2RyhvBn0bCl/ceVlpBK570qo+8LXsr8zQTbhBcfFs3MDtRRN5EBbnC1JLVbqY1hkZ4BcY9cHwEdHO3w7DCvIgpru9bik6Lz5F1UHv3PxbDtbZ1KwFFQLkdioXkAce6N8VL8IlnmJLQpQQAjnKC6iqxlS44Txq0Slyms6byWCwJKRTPerqx3Sf0o7ZD+Y9EJLomuE0Pqk9Zog/IQwFx10Re0NUSauJv2QJYd0UOFYNbvL8/f1EEf5A55gIcWUVXKoRJ5Sv5aN3vR/UDWPx+rHOFukJTqc2PKcuvlw/xBOEbQsIBEijDMMn9QN+pMtjUB/qwEcCuz8FcmVVpmOfMU8fit7v/EiF6dpamahJOQk7sgvSgyFgnTlzxEH9dnyVBAG9t1Vsotbg7XpqQQmOm7EE2+wS3V8m96esLLfLzR5Honw0vaZ+EOdArIRY4c5uQVyOCOi8nsItLPU4L1EME1ZO304jhZxabjGE699NHh/0=
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)(4636009)(376002)(39860400002)(396003)(136003)(346002)(186009)(451199024)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(336012)(426003)(83380400001)(1076003)(2616005)(47076005)(36860700001)(41300700001)(26005)(316002)(70206006)(6916009)(70586007)(5660300002)(4326008)(44832011)(8936002)(8676002)(6666004)(478600001)(54906003)(40480700001)(86362001)(82740400003)(356005)(81166007)(36756003)(37363002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:03.6333
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dcc3098-e987-4c11-5176-08dba541b566
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8208

Add device_tree_find_node_by_path() to find a matching node with path for a
dt_device_node.

Reason behind this function:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, we need to find
    the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
    and add the nodes as child under their parent in the dt_host. Thus we need
    this function to search for node in different unflattened device trees.

Also, make dt_find_node_by_path() static inline.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Fix indentation issues.

Changes from v7:
    Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
    Fix indentation.
---
---
 xen/common/device_tree.c      |  5 +++--
 xen/include/xen/device_tree.h | 17 +++++++++++++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index b8ef1c7ae2..f38f51ec0b 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
     return np;
 }
 
-struct dt_device_node *dt_find_node_by_path(const char *path)
+struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
+                                                 const char *path)
 {
     struct dt_device_node *np;
 
-    dt_for_each_device_node(dt_host, np)
+    dt_for_each_device_node(from, np)
         if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
             break;
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index a518310a62..44d315c8ba 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -570,13 +570,26 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
 struct dt_device_node *dt_find_node_by_alias(const char *alias);
 
 /**
- * dt_find_node_by_path - Find a node matching a full DT path
+ * dt_find_node_by_path_from - Generic function to find a node matching the
+ * full DT path for any given unflatten device tree
+ * @from: The device tree node to start searching from
  * @path: The full path to match
  *
  * Returns a node pointer.
  */
-struct dt_device_node *dt_find_node_by_path(const char *path);
+struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
+                                                 const char *path);
 
+/**
+ * dt_find_node_by_path - Find a node matching a full DT path in dt_host
+ * @path: The full path to match
+ *
+ * Returns a node pointer.
+ */
+static inline struct dt_device_node *dt_find_node_by_path(const char *path)
+{
+    return dt_find_node_by_path_from(dt_host, path);
+}
 
 /**
  * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590550.922902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmh-0008SR-6Z; Fri, 25 Aug 2023 08:03:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590550.922902; Fri, 25 Aug 2023 08: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 1qZRmh-0008PU-0o; Fri, 25 Aug 2023 08:03:11 +0000
Received: by outflank-mailman (input) for mailman id 590550;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmf-0007GZ-Dn
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:09 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2ff9b4f-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:07 +0200 (CEST)
Received: from MW4PR03CA0249.namprd03.prod.outlook.com (2603:10b6:303:b4::14)
 by CY8PR12MB7492.namprd12.prod.outlook.com (2603:10b6:930:93::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:05 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::e5) by MW4PR03CA0249.outlook.office365.com
 (2603:10b6:303:b4::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03:04 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 03:03:04 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 01:03:04 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d2ff9b4f-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PWNPiWb3YD70wFh53GavZgDDzG+nma8HVHJRYu1ByCAl4B1bBrMGMzepkBg7hjLCDf0irxjwq+/dkjmvwyLh8W9gI/EbpTpZ4KbGe+J4oWKITtnP2ixhK5IFKFNKlfgNB2W4W6yXmmxsrNoGugA972xqKVVk/JkkiJujjfu8Gh6VswvaRr9PoG518vQw9tHfe/p6qoB/ATg7sBBiBISt62P9LBAmLlTJhIsKOWzYAq7C6qO3wACEuJCH03qqFCeUBdK/EX7t2EmQlIn+OjN7xLABgmNr2Zrwn8RSZU1mXw91+GumTbWAbHmJ0x8CDKxQR9onxNWSZ1RD5QsMM/2QlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Boh4kb43qvVkEeoNHrUhygxa2MEH5SiaelWzI7PkkUo=;
 b=jh6ttUYC3O0vrtXPslebnTzN4GQBX808QJtWj4wKYnx0RXrp60baoQgzVBxuRAWx+l4n03XB3s/riQQeqZBYB01BZL6kkUicuIM3A0krXCH42zFol/dQhzcAjgY1dVDVUAWciDWrlKgzK0vxHJEf9rn+URLVo8TxODp2+rVPN5H7fHVnKfu31YbPVzDzA90rBRSSA+o/5S0fpngW5qKzq1qLhAR9aFfWHzC2UVSKwCdcpaAZs++43rDz+UvEpWGcEDVhf0gKHIsDtsMu8xpebto4cmOTOAlWlP6UK9n0K36C42iU8MmTrZ58H745g/2oNjruUCGylcJ6CfASiSb41Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Boh4kb43qvVkEeoNHrUhygxa2MEH5SiaelWzI7PkkUo=;
 b=k4pef2kWh9k89xzpQrNYQ3RJjekrvQIdUCqflnCSPoBiGEO4o9hCpf/W0NFINUhE40I49yUJzyPLxZ0iCSFXEEsLpSILGT3coFGUxgTwrYr9fXtL/GiRC6brmiDB+nO8DrpZ6mx9NFkBLdd9NVoqu2wbrAYZTNJx2N6kkQzi0/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=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [XEN][PATCH v10 11/20] xen/iommu: Introduce iommu_remove_dt_device()
Date: Fri, 25 Aug 2023 01:02:13 -0700
Message-ID: <20230825080222.14247-12-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|CY8PR12MB7492:EE_
X-MS-Office365-Filtering-Correlation-Id: 9de89e45-9635-45de-48b7-08dba541b620
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gMuMeDQo3wgrhTbne2aKcCyLrCINgDWk+tKpnZoDVvh0DmY816BzoAif3FciHs73+pWBPr+MiVwUpyK1Uy4wldlCm/C8whdLzEbMHAo9HCGSBLAf/lfb+fphV4tRRcYPWGUUaSDyYrMrqoNnbNDUcHBvJZxtkVGQzGvbIQ+SEorVwLovKncigb/rSJRdjp2rETf6dHrRDu5l8lYaZ6ShGYvUKcMY2ehJuypFG+nbKcZ3eQjvpeyCvdLKbJs/qhoXcy42vTOG6WM5PzVUSAwW4qvzoQEjYR8KCMUMqNe4r2njtQA/Ti7PXWkQkxNkFp7xiOxLzjEtbfeIpRBxE9eI77xIBy9fsEyFBFEDXAJqmfqhOGL9tkppvN0ygHgFvE0tDyVtmTUVs3/lL8q5M//upU5hBEpb17ZZwgoQz1CJbBPc4MsVl8LMjaNqWPvCXRLUJsSax1svRPBBnwm3060hf9FfgMGSk2xY3wtxI5TnfCzfj+hbhdIilcryQ5eHjsUiJiTg212c4NfTl96GPhQB8t3VuMCggjbPUk6DDbXd5eGnKWpwy+T5Jq0O5OZVyb8Un987h5AUTytVIFyBJ3aayQK3iLJzSRFmTH48QOMdKmJUAYxsgxYhE3ys5KULjoCJ1QZU+EmCduK7ABiYl7xwicD2rzKLx3WSIZAwAqJLREzJNxihTcFdmNMoA2RKyggPSvsVsBCIDiPXWp+dss2Psg+mSrOIi2SWwK9cBsyYSq4Y/DcEFpceWlX9WuDWC9pYSMLj2kU4ZOI7wL7Jolhy4A==
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)(4636009)(376002)(39860400002)(396003)(136003)(346002)(186009)(451199024)(1800799009)(82310400011)(40470700004)(46966006)(36840700001)(40460700003)(2906002)(83380400001)(336012)(426003)(26005)(1076003)(2616005)(47076005)(36860700001)(41300700001)(70206006)(316002)(6916009)(54906003)(5660300002)(8936002)(44832011)(4326008)(40480700001)(8676002)(478600001)(6666004)(70586007)(86362001)(82740400003)(81166007)(356005)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:04.8521
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9de89e45-9635-45de-48b7-08dba541b620
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7492

Remove master device from the IOMMU. This will be helpful when removing the
overlay nodes using dynamic programming during run time.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>

---
Changes from v7:
    Add check if IOMMU is enabled.
    Fix indentation of fail.
---
---
 xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
 xen/include/xen/iommu.h               |  1 +
 2 files changed, 45 insertions(+)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1202eac625..3fad65fb69 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
 
+int iommu_remove_dt_device(struct dt_device_node *np)
+{
+    const struct iommu_ops *ops = iommu_get_ops();
+    struct device *dev = dt_to_dev(np);
+    int rc;
+
+    if ( !iommu_enabled )
+        return 1;
+
+    if ( !ops )
+        return -EOPNOTSUPP;
+
+    spin_lock(&dtdevs_lock);
+
+    if ( iommu_dt_device_is_assigned_locked(np) )
+    {
+        rc = -EBUSY;
+        goto fail;
+    }
+
+    /*
+     * The driver which supports generic IOMMU DT bindings must have this
+     * callback implemented.
+     */
+    if ( !ops->remove_device )
+    {
+        rc = -EOPNOTSUPP;
+        goto fail;
+    }
+
+    /*
+     * Remove master device from the IOMMU if latter is present and available.
+     * The driver is responsible for removing is_protected flag.
+     */
+    rc = ops->remove_device(0, dev);
+
+    if ( !rc )
+        iommu_fwspec_free(dev);
+
+ fail:
+    spin_unlock(&dtdevs_lock);
+    return rc;
+}
+
 int iommu_add_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 110693c59f..a8e9bc9a2d 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
 
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
+int iommu_remove_dt_device(struct dt_device_node *np);
 
 #endif /* HAS_DEVICE_TREE */
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590551.922908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmh-00006y-MJ; Fri, 25 Aug 2023 08:03:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590551.922908; Fri, 25 Aug 2023 08: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 1qZRmh-00005p-Bq; Fri, 25 Aug 2023 08:03:11 +0000
Received: by outflank-mailman (input) for mailman id 590551;
 Fri, 25 Aug 2023 08:03:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmf-0007G4-MR
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:09 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20616.outbound.protection.outlook.com
 [2a01:111:f400:7eab::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2ee0ab7-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:08 +0200 (CEST)
Received: from MW4PR03CA0047.namprd03.prod.outlook.com (2603:10b6:303:8e::22)
 by DS0PR12MB7748.namprd12.prod.outlook.com (2603:10b6:8:130::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:04 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:303:8e:cafe::56) by MW4PR03CA0047.outlook.office365.com
 (2603:10b6:303:8e::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:04 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044FB.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.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03:04 +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.27; Fri, 25 Aug
 2023 03:03:03 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d2ee0ab7-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h03teoUtXTEV/W8gpGhhQcH40HUtjrLF15Kg2oY6m5hsrhNUvYFLLCRw3rQyxQCUwv/SMsh3tBJ6JHCVzgsNYI8zxW0DuhNqPBoBfuQO+yfwia4aOBasQio9lPtxytxSBtyAVrZSgqGAh6nFO1ETbIHb+07eaTm4xh07mM0OlzVf76H9VHD9cENPqg+yfYIKZrxV0b1k7xnHh2kcUGJWzn+jbe92XMFjVCiQADCM9MqGSuq4imgf52DjcnlsSCDEunAp24hrajOuEhW9taK42cTA92NqiYXL0NGC/9UY1FwpXtafaxsiHvVqCCQuYHMoZrXC/wwnEYsBkLKep7SU3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=46ebdCxwn7EavFAkYu+2lsP3rPq7Dn3Zw3ob+HqOtOg=;
 b=JY9doyFZHXaTMqM577rz0iGf8/LkJgA+aAu3dIB76ZHCJKTFmRFDdTwM6H4c5AXSLH45MYgN9T7dDSWHqTQYzdHd5P1EyTRUFT3oGSDHXzjwX55y/mSALyA18BSgFN6IMorg30gjKb1Qa0WNJPlQMbNBQ8ATuepY5XhBRzXp9jiVgj5H9pYsKqYYwGWntc69TzBfpe2SWJauXOkcx+w5yEVTuYgaktCzghh/+U4iHksW7wA22AVJPbrIs08DygqrNBu6D/5IohExTE8MBrELkX+lfJ90y/+0UpQfcXRgqtKBVchayMCjOYj7bjeX/5rFqufb8XpL/uRRHw6VHAvp8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=46ebdCxwn7EavFAkYu+2lsP3rPq7Dn3Zw3ob+HqOtOg=;
 b=0z11GyZrE9IDmI33qPbF9JpTL+Y4CBZ6Jgz1ugiSlmfz9KDlsRHR3mL+y1egwSocddlM44HcFobHOnnhxoTMRXFLHTUkZSdbXgvhlpKa8xVwdrTr+wY1PD0SojevrktgQ7GvrVYBm1+MPqATB05n3qXrJ8Ohfv+d7LNzugGOEOA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 10/20] xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
Date: Fri, 25 Aug 2023 01:02:12 -0700
Message-ID: <20230825080222.14247-11-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|DS0PR12MB7748:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d2bb6a4-4657-4993-a52d-08dba541b5ef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AMDpI54a7bopD2A3IdXCBMqqrnt//2RJBvEqL/d8tH1oLrLeSYxL9cLHwwUVDkekLULQE8/tNnacjtDMR32YrI2LTPBlMhDhIbbd74F1DkwIRoBKz6Gy4ofkzEKb0vPQmmYe5IAtd1HfwkhuJacpREFVnjj+L8jIHL8Wh9fmfTccgmAhe0mHFx75+2kKIwA/EV1splDCTSy4vglH657XKpH5elO7/SMsFDf++iKppyAL5HVw5gZJEgud8QLKUVBMvEZayrsrpMs4w81OnFwbHBN+KO91E1qGOC4fLMmlraq456leVuDCbqRW2FcMmz5Uyzu62Rr2Ym2tiphbL1gDwYG0QGjFTYalQrL9fmMbhSoNfg1+Dhz6sp5MxKOGFEvdpmtU3a1Vmfw2PJEcMYQLDxEYQzgwwgwXaDqTyX72NWNEbkPy8+XFr99U+ae+OEU4NsYJHgH8f6Hazd5nmUoeNxD8rr7Xer4jUqcGUB9w+KlNXT/wFFs60/Hp8T7aiNV7obyeA7NQ/Jf29DYTH7it8iVWhSRiBjzwlPWsZs8ZJzS00j0/nnaTDWIeLhaY7LCFi8shvcExqKT+iRuvaPtP9e3miR5rYgwPGIFz43u3fmF4l6qvOU62F1CaYuqDgMJRmLFZZnmeM+wIR1/8k2fB2QfgQ9tqkzeqwn2uusFvVgBXzDWK7jtXVpr0YkZhUXPBDDV59AGVvR8iGvdRw4z3o9Uy5+NYJ3pglceXQYvtkCjQK2UO6OUF3VC6Ew8OVKXyEn86D241fvmyhQh9w0nwGQ==
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)(4636009)(376002)(346002)(39860400002)(396003)(136003)(82310400011)(1800799009)(186009)(451199024)(40470700004)(36840700001)(46966006)(1076003)(40460700003)(2616005)(5660300002)(8936002)(4326008)(8676002)(336012)(47076005)(426003)(36756003)(83380400001)(44832011)(36860700001)(26005)(82740400003)(40480700001)(356005)(6666004)(81166007)(6916009)(70206006)(70586007)(54906003)(316002)(478600001)(41300700001)(2906002)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:04.5489
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d2bb6a4-4657-4993-a52d-08dba541b5ef
X-MS-Exchange-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:
	CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7748

Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
to add/remove/assign/deassign.
With addition of dynamic programming feature(follow-up patches in this series),
this function can be concurrently accessed by while making a device
assign/deassign for passthrough and by dynamic node add/remove using device tree
overlays.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
    Changes from v7:
        Update commit message and fix indent.
---
---
 xen/drivers/passthrough/device_tree.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 5d84c07b50..1202eac625 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -148,6 +148,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( dev_iommu_fwspec_get(dev) )
         return 0;
 
+    spin_lock(&dtdevs_lock);
+
     /*
      * According to the Documentation/devicetree/bindings/iommu/iommu.txt
      * from Linux.
@@ -160,7 +162,10 @@ int iommu_add_dt_device(struct dt_device_node *np)
          * these callback implemented.
          */
         if ( !ops->add_device || !ops->dt_xlate )
-            return -EINVAL;
+        {
+            rc = -EINVAL;
+            goto fail;
+        }
 
         if ( !dt_device_is_available(iommu_spec.np) )
             break;
@@ -191,6 +196,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( rc < 0 )
         iommu_fwspec_free(dev);
 
+ fail:
+    spin_unlock(&dtdevs_lock);
     return rc;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590553.922920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmi-0000RH-Tf; Fri, 25 Aug 2023 08:03:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590553.922920; Fri, 25 Aug 2023 08:03: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 1qZRmi-0000Nm-Kw; Fri, 25 Aug 2023 08:03:12 +0000
Received: by outflank-mailman (input) for mailman id 590553;
 Fri, 25 Aug 2023 08: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmg-0007G4-Nj
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:10 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e89::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3910c9e-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:09 +0200 (CEST)
Received: from MW2PR2101CA0034.namprd21.prod.outlook.com (2603:10b6:302:1::47)
 by SN7PR12MB6741.namprd12.prod.outlook.com (2603:10b6:806:26f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:05 +0000
Received: from CO1PEPF000044F4.namprd05.prod.outlook.com
 (2603:10b6:302:1:cafe::7e) by MW2PR2101CA0034.outlook.office365.com
 (2603:10b6:302:1::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.7 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Fri, 25 Aug 2023 08:03:04 +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.27; Fri, 25 Aug
 2023 03:02:55 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: d3910c9e-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nBCmLBnOjn7lWk/MC1zY2SZOHg+kHDx1OVw70bNVGABBnMb0oN0GhuIKPmR+hMw84KS5m+BUCJ8r5SmctUPxzlumJssQsVTBjvFd3vt/TlkarEz9XP/exJ1tPUM+b+wqvSGlTgC7x4N0TfJqJJ8RFuzGnxYOwuJPKSREXbMopRgrbe6Ojdi91LDJuBfsA82pX6/S17b1F25T/Jsq4I26e/GnG7oJr3tNEwfMUOOL+8Bm4q6QjQCcoidUrBJ6trE8FDdr2yUTjVcthcNUOLuBSJ33MrT9bd1w3Ka48yIRR96j3eYMtERy4TL5heGjNY5L4hKpEnkERV1tFM+L0P4yvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=551FbITUy/lX+UFAVwLYLGK11TzVaHOhuLFDvzMcrP0=;
 b=MDmCxmk7ELWq9ChnVqgxZ0lZlpdingdbmtaimrlP2vnSWO7mt5U7TvglCNOuv1l8k6lWI17pHmYvW1GAsr+IJAp/Nr9U3H9SLfewbRWhn2z6Y/dGs+h+7ZT5ZOgs17KdFCB5Q/X5wCdEonBnAftGRoO4q+AbWIZFqMtwrs6XRM0ez8lkw9sGZy540d4yxBc5ww3hHcHgK+XU1N6CSJuSEZDrqjw7/jEp6IPZyhpE7+IjOFeRN+J8CQtvDoPptfSai8gQG+28ukhVcQHpaagLR+WmKPCRecPdzRPL0KdJHaMPAql+Pvld0B2jvjfugpXjkLBHyX1qFJgs6U2SWOVUgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=551FbITUy/lX+UFAVwLYLGK11TzVaHOhuLFDvzMcrP0=;
 b=qPu4tragayB/zBNjGd+YzlfTi702XXTwdN2BwVUjoIWJsNde2hQPvp19i0sqzH3YAxOiu6rj8K5oFpdSGLXy75hjxuL5UoLfBqpHE7yn+3Bqjw0gojc3O4FP4l6zajOlY8OhZIijqL9q9YhSoFJCRO6zFqm1viFRlABXXjEfSUw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 01/20] common/device_tree: handle memory allocation failure in __unflatten_device_tree()
Date: Fri, 25 Aug 2023 01:02:03 -0700
Message-ID: <20230825080222.14247-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|SN7PR12MB6741:EE_
X-MS-Office365-Filtering-Correlation-Id: 942ffa70-5870-42d2-03be-08dba541b5f0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SQ4w+gZ24TKjXHRlyIpg25a/uYFQJlvyBN2NI0xbLubS/nJ8u6TaOxcxQCxyQDnMl7Vms0PCAT+6fR0F+7By/Bp8q4ASxHrnFTPIxBy+Hjp4PSM42wajjt2PDSRgK1j20pxlB4AYM+o+L2yGQoJ2WYjxQdrQVWeawAdaej2ogNztxufkXroj0LeEdtwfXufyWdg/iPiot2Rg857u88GgMqAgKKAVd0DpbRUeSyFynoUFVmx2tQeDetN9W+D79pvWCkYWLD7fmVuugjXI9ZySbabE1+xO6rvQY32APEKHfE4vQmbF0bGSii7XlPyB2lbWoGCooet8fvr7OB2JTUJj/aGGlxtWJnpRTzZPphgi0wwl/o0DP2a4Geh3nxJEdgjtI4+kwzjdUShfX03cxRYDsaDAQlDU4/gosETsF4KBZhryk8Wk/4OB3B3vKdY5055uuoxfKM5cSxM/Fj/gVadAC1Q0xTS60XCMKf/HwF7M8slbt5b5JcUpq6FcYydriOioYr6acfJQrr7Dzl6KV/lJlL8cHk6eCvAE50xGda6qxnGEy+6nDHVTkP9YNXdRZlLeYuRtvSI9Q2dNF6YuzqwURp/qixVVHUTYPgoGYH1zEqP9zftl6kP21sjRGmfoHZLPlZX9zuClCei2NKiZxOODIsK5/O6Af3bZSkOtxW6GDWWEMc3n27Tq8lQmZzr8su8OyOpSbHL0qxYK2aLRDGCgFbUHlinMfHBrFIW8sq31WUvz55OMzkZFOZeJCW6f+bxQTelEUsY5fimn6DaT9ZWIAg==
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)(4636009)(376002)(136003)(396003)(346002)(39860400002)(451199024)(186009)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(36860700001)(47076005)(40460700003)(44832011)(2616005)(41300700001)(86362001)(36756003)(8936002)(8676002)(4326008)(6666004)(81166007)(316002)(6916009)(54906003)(82740400003)(70206006)(356005)(70586007)(40480700001)(1076003)(5660300002)(2906002)(478600001)(83380400001)(26005)(336012)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:04.5201
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 942ffa70-5870-42d2-03be-08dba541b5f0
X-MS-Exchange-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:
	CO1PEPF000044F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6741

Change __unflatten_device_tree() return type to integer so it can propagate
memory allocation failure. Add panic() in dt_unflatten_host_device_tree() for
memory allocation failure during boot.

Fixes: fb97eb614acf ("xen/arm: Create a hierarchical device tree")
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>

---
Changes from v9:
    Update comment regarding return value of unflatten_device_tree().
---
---
 xen/common/device_tree.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 0522fdf976..7c6b41c3b4 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -2091,9 +2091,11 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
  * can be used.
  * @fdt: The fdt to expand
  * @mynodes: The device_node tree created by the call
+ *
+ * Returns 0 on success and a negative number on error
  */
-static void __init __unflatten_device_tree(const void *fdt,
-                                           struct dt_device_node **mynodes)
+static int __init __unflatten_device_tree(const void *fdt,
+                                          struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2114,6 +2116,8 @@ static void __init __unflatten_device_tree(const void *fdt,
 
     /* Allocate memory for the expanded device tree */
     mem = (unsigned long)_xmalloc (size + 4, __alignof__(struct dt_device_node));
+    if ( !mem )
+        return -ENOMEM;
 
     ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeefU);
 
@@ -2131,6 +2135,8 @@ static void __init __unflatten_device_tree(const void *fdt,
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
+
+    return 0;
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
@@ -2215,7 +2221,11 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    __unflatten_device_tree(device_tree_flattened, &dt_host);
+    int error = __unflatten_device_tree(device_tree_flattened, &dt_host);
+
+    if ( error )
+        panic("__unflatten_device_tree failed with error %d\n", error);
+
     dt_alias_scan();
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590552.922915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmi-0000Ak-97; Fri, 25 Aug 2023 08:03:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590552.922915; Fri, 25 Aug 2023 08:03: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 1qZRmh-00008K-Lm; Fri, 25 Aug 2023 08:03:11 +0000
Received: by outflank-mailman (input) for mailman id 590552;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmg-0007GZ-F8
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:10 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4a91944-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:09 +0200 (CEST)
Received: from MW4PR03CA0264.namprd03.prod.outlook.com (2603:10b6:303:b4::29)
 by SJ2PR12MB7918.namprd12.prod.outlook.com (2603:10b6:a03:4cc::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:03 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::f9) by MW4PR03CA0264.outlook.office365.com
 (2603:10b6:303:b4::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03:03 +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.27; Fri, 25 Aug
 2023 03:02:59 -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.27; Fri, 25 Aug
 2023 03:02:59 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: d4a91944-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n67aMB/jNGb4O2l3h0DzFCtBu4gaimzVYooU90TY2wRtXYDx/Nu6OFwxwOqFFU4t7QLtr9yiLiTnrQEk6yNYd5qC6ccJTyT6HTmJ9wCnUg69EcS8a1Fn499Erjn7fB/qMbmuo9aSuEZ5XNrUB6jUBTew1vVrVGWVSmBOiq/rV1t34tjsu0kLujgBcKuyATK6MeXiTnsnQG9xp0O8jgmju24upDwQgi9POBF7HRJEJbF7fLZQxO6ePeVsXOwvMaF6gqvuJ8odB19deWMAUFNT1pqwNLzgUTpSu8e53QFg9uFiBiqZpcNEAD7vVxG8chSEQJjGtoHNU7QWgBpAyw34Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nKGY0SzVAnGU2fYrb6mmbdoZbAtWP+ycGZ0v+ZHO7vU=;
 b=iQAoSBrG+qYyXn1vK/AO2zbtU199auRrroGKyi4Wfc9BGn6qt9lV2XBnBd/1uo8UbmOe+k9SyDg/Fr0vfEuBZSIzxqV9gklTMpxpCgBGW3nxUCPAHoeeF8Mp5FijiFkr7nJlIZF5X3oQpO7uMFXp02Dtlzy0MI/wXwXYlzZMZifKdu+h1/R9cKIKDnt3eERTB+CCBui2tAHD7cidncvp4Q8vv3v9VPF8pODc6ZEbVUBaVZeJtcnvnyrwwykOehgNVSl7lhDkTbYCCc9pGIf7INJ9+WFQK66EvSySrPfFYBwbBFACNGY9Oxcurz+FzVeGsFdwUVPnmKUivTTMtLdInQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nKGY0SzVAnGU2fYrb6mmbdoZbAtWP+ycGZ0v+ZHO7vU=;
 b=Bp6Sk4PPdkFV1WQA5qAi896aPv2DqeM/+9VFr91IOM4TdpqBJolzelos4R3ZH7f+IRCZ28WdbUsGitThHVYwhf4eGO+gh4vmPIDDOrDwBJoC0zA/HF1Mqjs4nH2b/ylq8BUqgfX1SFvo/bzltdBgh5fBHfqEqIdLqxWTUSRXK84=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 05/20] xen/arm: Add CONFIG_OVERLAY_DTB
Date: Fri, 25 Aug 2023 01:02:07 -0700
Message-ID: <20230825080222.14247-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|SJ2PR12MB7918:EE_
X-MS-Office365-Filtering-Correlation-Id: 8dae1290-8fb8-4e49-b57b-08dba541b549
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MSoVzKIgJKPR6vfmmJjgA2L07q+ktwg5RO7INS3bLDm11IYK3ji8+jrE5ii/V5bd8XNGkISBDqJExPXC76tQMBxUOBMnUwnAyckUD/6Y6EkwYt//CWP2z40l3Nv8mg5no3uofUAjWmb9X6iQ7g8RFrzfZjBAtRkkCOK5yvBrux53I/bB4YNOj3gTkLOq2eRicvMevrWq1GWymxu3PfdWL/cd0+m7jpNkixkFb2dJEnFoH3Jnvp1RhFIKuVg+m5bJKWQgFQ/FIqvFOPUKwWrz1InVps+NpbOeAXCulbFP2tITxz69LFg1lz6+g+4yChrrdKfS++RJU5rWKfkcHb95BzXSS7Y5cFhS1F2hstuduybOwJ3fQ53Nt5MWD+XTdQTJrek4CAQrHyUM5JUd+wDnQWRdckAvidllsDO837YyHDcTloeQ3rTnEj48QE9hKhtpT/W0YGtMpFO1sJofx/Q1FAss4ixwOm3v0CXcDM29nN5/2B2ste4k1X2mwx6OA5+ruw3/+alnIxPotmR2CpGPi56aWGDlxXjzNRHHE8NfpmA2guw4McYLF0yJR+z16ijxjSkjDw84tTSJG/SnEKmzIYZ524Y6ojl2zAQOn1WsUwWCfEKZRkv/MWEuyfU2InKxvJK5/chsZt0q9niPuAjpqLOFe+cdMRM7HWCTj81FdfqjPmE7ZPcb65/RMMWV89EZgCUJU3WrG6fHTPWMZvIdQQmqk6y61NMegri0vrWB17i9dP2+Xi1Te6tgxXRpv72dhqV1EqFM1MViJQ1nFpQjWkyVECgWgBYOiO0X6E4kUm4=
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)(4636009)(39860400002)(346002)(136003)(396003)(376002)(451199024)(1800799009)(82310400011)(186009)(40470700004)(46966006)(36840700001)(356005)(82740400003)(86362001)(81166007)(36756003)(40460700003)(478600001)(4001150100001)(5660300002)(70206006)(316002)(6916009)(2906002)(54906003)(4326008)(8676002)(44832011)(6666004)(8936002)(70586007)(40480700001)(426003)(336012)(83380400001)(26005)(36860700001)(47076005)(7416002)(41300700001)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:03.4458
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dae1290-8fb8-4e49-b57b-08dba541b549
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7918

Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.

Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
Arm.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

---
Changes from v9:
    Fix style.
Changes from v7:
    Add this feature as "experimental support" in CHANGELOG.md
---
---
 CHANGELOG.md         | 3 ++-
 SUPPORT.md           | 6 ++++++
 xen/arch/arm/Kconfig | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7d7e0590f8..f6f4c351c9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - xl/libxl can customize SMBIOS strings for HVM guests.
  - Add support for AVX512-FP16 on x86.
  - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
-
+ - On Arm, experimental support for dynamic addition/removal of Xen device tree
+   nodes using a device tree overlay binary (.dtbo).
 
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 35a6249e03..8ec272eabd 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
 
     Status: Supported
 
+### Device Tree Overlays
+
+Add/Remove device tree nodes using a device tree overlay binary (.dtbo).
+
+    Status, ARM: Experimental
+
 ### ARM: Guest ACPI support
 
     Status: Supported
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fd57a82dd2..02c4796438 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -92,6 +92,11 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
+config OVERLAY_DTB
+	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	help
+	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
+
 config HVM
         def_bool y
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590555.922936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmk-0000u5-Gu; Fri, 25 Aug 2023 08:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590555.922936; Fri, 25 Aug 2023 08: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 1qZRmk-0000qz-3n; Fri, 25 Aug 2023 08:03:14 +0000
Received: by outflank-mailman (input) for mailman id 590555;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmh-0007G4-Mz
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3cea309-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:09 +0200 (CEST)
Received: from SJ0PR13CA0188.namprd13.prod.outlook.com (2603:10b6:a03:2c3::13)
 by DS0PR12MB7804.namprd12.prod.outlook.com (2603:10b6:8:142::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 08:03:06 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:2c3:cafe::7c) by SJ0PR13CA0188.outlook.office365.com
 (2603:10b6:a03:2c3::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:05 +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.27; Fri, 25 Aug
 2023 03:03:01 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d3cea309-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nMjiC0Nkq7g3Jm2aw9sUlVaeRE74l8OFPLoNaw5QgiMrCEMbb52tyyvplAXwpMB4mUPSbN/4WAFF/ngniJnxSbVJGxQeMwAZf9Wf0C1ukUmcDVZ9Y06JOtmWbK5dJqhPXIHchP82o6ebGddxHNK9vrHrAUdoRVZxXUOCdsTJq6djd1wl+JS5lq4tY5NjzWJSL7rqCuqTGbc8bsrlVdsGcyKN0Jt8YF9ImbW/mV32R/bwpp+3uDZQDEIoR2cKrRSjr/X3Zx3mIbsQHqSUnGsdKWlyaO2Ig1iobVJoRT6Jvv2K20BZDugW4LCTSMlNaHKfBb8H0DCIA7xCAiMPqSjdLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=eI9U8dpioistzfKA+X1FtTjeLC/MrD31yX6n5sDJl6ekswmVVOKKT6C4R5QkqYz831up7e3CStiG7gg4LIS98hcwpobWRaKDZ6HTVD8J+RuYtoxysZJ3noBpBbShz6YyM8xku6JpIFkz4utDlRppiSBWXMHYLA4c/vzp8SnGswqbz6ULy4M07ulRad9WDfapVPmB4+1jOASmrFI6ZWx6hq81rzxVQqCZSiZ5diHYin6Xubljn+2UwU8ii+PDLEAtpFxy62+riyJOskXo3cs25uGyI2xwvyb42MV5e9bYOCcIqyqC1C1DVFyNqZpc8lbc+qAqI1YtLdQXQlCE9DoRwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=653u6xWPNriUED+G4weH7ZKsZbL2O1CzT4XNOpC6uN4=;
 b=TU7uY2SGH39yZGXVbw0AIfjnBgbRs70cMZv7CGtwx8JhpD7itiY25szXkQKC5ZOWK8WPwaXkmUHbZs8Rbbbk48y+EQhlXvRaW1UeXViM70UGy9baZ1h1RxHzK8vCVAVWK78rmRRwaFHQGX/6QXqZUAQ5IaNYVJkoCk3WPf/GvRA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Vikram Garhwal
	<fnu.vikram@xilinx.com>, David Gibson <david@gibson.dropbear.id.au>
Subject: [XEN][PATCH v10 07/20] libfdt: overlay: change overlay_get_target()
Date: Fri, 25 Aug 2023 01:02:09 -0700
Message-ID: <20230825080222.14247-8-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|DS0PR12MB7804:EE_
X-MS-Office365-Filtering-Correlation-Id: 438c18e0-22a6-43ae-1da2-08dba541b671
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xb8ndx0ya9H0rFFlbM+u+px5gtawftpjvhtTosdabWRc2xkSWI53697QzRJ5WdkOFJoQEp0aIZvDuFf5mARvzCYsjWQHE8C3uFia0Gs47Siuwb3qpVMyfVwBXSuiDGLHILgkqvWQ4Xkv6VI2+PFFJyjX0k6tPXOnKCvPlj+Ltwy+2lrRmO+1pf+NhVqnYCHKZLxSeFJKLMKnY08yf6ko33J4I3RvfIDUD5274ZI43Jiw00dHFfUuJx2N4Or4Xofk7KuyBwQpbiSXIs+d4KlSk+LWVyLd4GXtI/gKW+khqYipq072EF1dh8JSP3abUkSJSALIZzu+bnf04dl4NFpZOVkiPf1rrMShXcVPBgT6DMTnH7+nXn01IL3cbxpaISQPn4Rd3Eqp26OwUqvCMbe+qtqqTGFQXLcZGi9i67Qoap3x526ywNLROn5CALcsS658DQ8Y0AeeYWnUn0DKbWzhWiQlXVY2ggwPSNAOKsa6TXUFTi71el72CdcbnCZLzurVaRNiWJ5tZ3suTn/LyPRwVPup3z+6J8RTkeLmfj14gh6BWQtbq/2oClZE9PEI+mcZ2utdvAHhtK9rNfCTABCd7J+nNQ2b+YwHqT7CzJ7Z/2webTBZFoPgUD9zQvlj8Wtz5dl+LpOd+jO2W2wk9XyNgn+GBvHsOY84JMX5+SowRq3ZYaDULj/ouYHnWMmDq/3DR5djn3ifoRXYcTmac8DNdRFGLhY9aAkJqYDislJ63BZw3UKoGsGA5mmflcH8KWvEPM6A4fBdq3iDtS+zrUjrPA==
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)(4636009)(39860400002)(136003)(376002)(346002)(396003)(82310400011)(451199024)(1800799009)(186009)(46966006)(40470700004)(36840700001)(82740400003)(81166007)(356005)(40460700003)(8676002)(4326008)(8936002)(54906003)(41300700001)(316002)(36756003)(6916009)(70586007)(70206006)(86362001)(40480700001)(47076005)(26005)(478600001)(336012)(36860700001)(1076003)(44832011)(83380400001)(2906002)(2616005)(426003)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:05.3662
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 438c18e0-22a6-43ae-1da2-08dba541b671
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7804

Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.

This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the overlay nodes, e.g. mapping of
resources(IRQs and IOMMUs) to other VMs, creation of SMMU pagetables, etc.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Message-Id: <1637204036-382159-2-git-send-email-fnu.vikram@xilinx.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Origin: git://git.kernel.org/pub/scm/utils/dtc/dtc.git 45f3d1a095dd

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Juline Grall <jgrall@amazon.com>
---
 xen/common/libfdt/fdt_overlay.c | 29 +++++++----------------------
 xen/common/libfdt/version.lds   |  1 +
 xen/include/xen/libfdt/libfdt.h | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/xen/common/libfdt/fdt_overlay.c b/xen/common/libfdt/fdt_overlay.c
index 7b95e2b639..acf0c4c2a6 100644
--- a/xen/common/libfdt/fdt_overlay.c
+++ b/xen/common/libfdt/fdt_overlay.c
@@ -41,37 +41,22 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
 	return fdt32_to_cpu(*val);
 }
 
-/**
- * overlay_get_target - retrieves the offset of a fragment's target
- * @fdt: Base device tree blob
- * @fdto: Device tree overlay blob
- * @fragment: node offset of the fragment in the overlay
- * @pathp: pointer which receives the path of the target (or NULL)
- *
- * overlay_get_target() retrieves the target offset in the base
- * device tree of a fragment, no matter how the actual targeting is
- * done (through a phandle or a path)
- *
- * returns:
- *      the targeted node offset in the base device tree
- *      Negative error code on error
- */
-static int overlay_get_target(const void *fdt, const void *fdto,
-			      int fragment, char const **pathp)
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp)
 {
 	uint32_t phandle;
 	const char *path = NULL;
 	int path_len = 0, ret;
 
 	/* Try first to do a phandle based lookup */
-	phandle = overlay_get_target_phandle(fdto, fragment);
+	phandle = overlay_get_target_phandle(fdto, fragment_offset);
 	if (phandle == (uint32_t)-1)
 		return -FDT_ERR_BADPHANDLE;
 
 	/* no phandle, try path */
 	if (!phandle) {
 		/* And then a path based lookup */
-		path = fdt_getprop(fdto, fragment, "target-path", &path_len);
+		path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
 		if (path)
 			ret = fdt_path_offset(fdt, path);
 		else
@@ -638,7 +623,7 @@ static int overlay_merge(void *fdt, void *fdto)
 		if (overlay < 0)
 			return overlay;
 
-		target = overlay_get_target(fdt, fdto, fragment, NULL);
+		target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
 		if (target < 0)
 			return target;
 
@@ -781,7 +766,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 			return -FDT_ERR_BADOVERLAY;
 
 		/* get the target of the fragment */
-		ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+		ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 		if (ret < 0)
 			return ret;
 		target = ret;
@@ -803,7 +788,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 
 		if (!target_path) {
 			/* again in case setprop_placeholder changed it */
-			ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+			ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 			if (ret < 0)
 				return ret;
 			target = ret;
diff --git a/xen/common/libfdt/version.lds b/xen/common/libfdt/version.lds
index 7ab85f1d9d..cbce5d4a8b 100644
--- a/xen/common/libfdt/version.lds
+++ b/xen/common/libfdt/version.lds
@@ -77,6 +77,7 @@ LIBFDT_1.2 {
 		fdt_appendprop_addrrange;
 		fdt_setprop_inplace_namelen_partial;
 		fdt_create_with_flags;
+		fdt_overlay_target_offset;
 	local:
 		*;
 };
diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
index c71689e2be..fabddbee8c 100644
--- a/xen/include/xen/libfdt/libfdt.h
+++ b/xen/include/xen/libfdt/libfdt.h
@@ -2109,6 +2109,24 @@ int fdt_del_node(void *fdt, int nodeoffset);
  */
 int fdt_overlay_apply(void *fdt, void *fdto);
 
+/**
+ * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+ * @fdt: Base device tree blob
+ * @fdto: Device tree overlay blob
+ * @fragment_offset: node offset of the fragment in the overlay
+ * @pathp: pointer which receives the path of the target (or NULL)
+ *
+ * fdt_overlay_target_offset() retrieves the target offset in the base
+ * device tree of a fragment, no matter how the actual targeting is
+ * done (through a phandle or a path)
+ *
+ * returns:
+ *      the targeted node offset in the base device tree
+ *      Negative error code on error
+ */
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp);
+
 /**********************************************************************/
 /* Debugging / informational functions                                */
 /**********************************************************************/
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590554.922943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRml-000161-Ep; Fri, 25 Aug 2023 08:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590554.922943; Fri, 25 Aug 2023 08:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmk-00012w-T7; Fri, 25 Aug 2023 08:03:14 +0000
Received: by outflank-mailman (input) for mailman id 590554;
 Fri, 25 Aug 2023 08:03: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmh-0007GZ-Ie
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:11 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20619.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4df1a39-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:10 +0200 (CEST)
Received: from MW4PR03CA0255.namprd03.prod.outlook.com (2603:10b6:303:b4::20)
 by SN7PR12MB6813.namprd12.prod.outlook.com (2603:10b6:806:267::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:07 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::8b) by MW4PR03CA0255.outlook.office365.com
 (2603:10b6:303:b4::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03: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.27; Fri, 25 Aug
 2023 03:03:06 -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.27; Fri, 25 Aug
 2023 01:03:06 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d4df1a39-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X0J80O5mkwUxvK9/OtW0ThLME+hmLP4Y2mYSFuQ1I5NpprJFE296CTPc0yHU42GagpAl/F7YLsU/4yR6uXd4TgoPo8PYqLVsXx6cKoq2/muVFDAI+d5/PFMJd/fGHSp8yZPj704R7lBtm62SPihIMIQieExi2B1dCka+AQnQ8+VBC/xtBbvrDjuh0LCnOMmMz6ttM9lmG+Is6bk6tz1/drYmJrYSqK7qlUsWTGLx0zW1Q9k6HTPVYaVeKtCDOmGaYPyjYxzrKfc0QygsMRwfRsLk3Pf1+KInF4LxawDTZ8DiJDWWAyWRQMpyVE8uFKOJ2E+t05NRCC+yyePAhTasnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vRgubDfFnAvFwagyB0ghhVyfbsrh9DPQoCEwaYuA3Nk=;
 b=MakoNwa62UL+2x6QFtUHTvtaz7795NG5CWtm7dvh2EcfKySCrmtIZuYNZQDmosooyBcyywOFok8C5g8jnKLeO53r2xapmTDHaCXxPFiuLidWSSp6POpW+65IJSKAg4vZO4uU0rrv40lt9iX+/tjFqPgQCiPs/OhWtSM98ZIB8V7TgJKz5qjVZMSWOohdvAiMc1zVjTV0JuquYiDT+ibs5wAvVVkLiq7/eyhvAm58V4bZMy2qa9sNH2UR7kA3LfAoaCaaD5LUa2OzTlgxhssQxIjq0cFr/9QqCBrk8n38xHnsxC469XF1E32A3tJgspRMj4La+URELhOo2W1i0wC7lA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vRgubDfFnAvFwagyB0ghhVyfbsrh9DPQoCEwaYuA3Nk=;
 b=vuH3Tf04k3cUtCoYTKDu72U3B5cNMIxNYZA9sujHGKxHwlg1HYx5I+Wke7KMFN+brUzgLVLEiSQf7Ni7K041uFRiyRPeI2pDxvOuOlM3sMLsB9bXmGalMfa327LNORWIlh98fYcKqggJD9LbuNk7o6oJJHpiK66hAy4vMCeZ0YE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 14/20] common/device_tree: Add rwlock for dt_host
Date: Fri, 25 Aug 2023 01:02:16 -0700
Message-ID: <20230825080222.14247-15-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|SN7PR12MB6813:EE_
X-MS-Office365-Filtering-Correlation-Id: 17ee52d9-2f6c-4647-bf61-08dba541b7bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e6bRD0fDwtMPzLm2MFmo+Z9Nr8YBtasXxBrf/RaZ/1ATv5O2btgYpTQfI1tVTyvIfkpgm0YiIsSvKsL8jZyeyHPuJzyTgDx9tyJWhj2f8cVGmW7MB8Z3pLrfHQzWIjozZEnV3w3yj7ymSVpv9eoCNKAYG1Z8aLoM43NBB1GVCrQq+cyQyP/MtvBsw2LeIMGFoXFmcB9pE98IJyw+Fx8W7PetVlL/EGayFgRrw8/uw0nADbxIdaubPFl2YgpQoTkCtd2C1NO/yHzmX54sYB0MhQJ4u5pWQbUPVOtcI8sjpCuzpst6SBqyz77WISOiaJh1BcjwzC3zIMvCtTeJnjLT8kpDrHu5FfRVbjm6b3xyhTz4l2MWUpFcDw1uEBJamMMOH4UXGFJY96wDG9/0JBTdJyNXsqQSiEtkKRMJ1pIJDX6yS3wKFx9uAx+NngevcarijtMOfKrsdRpCkiqDespHAo7PkKEn87eEWh5LUo3iMbtIOaBWQuYs68kHOY4Ltb+aqIMYTc90uzSpLO0y/U95mBXUwWMT+S4oTUJDSDv25K2CsjofN4JGWYWrEnbODwpAKQdNTBYR8AI4vBsc80SqL2bLbGDY8amqVOj7DwDc+y+9TaiqYqj5kDFO7yA3Q4S7isIwTYpTjUQJH0BehUm+4XToR3gAzd3bBNw7kllgI89SxQJV43eJzfk/VCGC/XLCezZkK+ypmrjFTYEJwt5j3sJySVpQz1NFkX/P1xik3j3L553kF9nPYaZObotRbZFteX6VfMrrlYDyofab0haq1A==
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70586007)(70206006)(316002)(6916009)(81166007)(478600001)(40480700001)(26005)(6666004)(82740400003)(41300700001)(86362001)(2906002)(356005)(4326008)(8676002)(8936002)(83380400001)(2616005)(40460700003)(5660300002)(47076005)(44832011)(1076003)(426003)(336012)(36756003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:07.5708
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 17ee52d9-2f6c-4647-bf61-08dba541b7bc
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6813

Dynamic programming ops will modify the dt_host and there might be other
functions which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host during runtime. dt_host
writer will be added in the follow-up patch for device tree overlay
functionalities."

Reason behind adding rwlock instead of spinlock:
   For now, dynamic programming is the sole modifier of dt_host in Xen during
       run time. All other access functions like iommu_release_dt_device() are
       just reading the dt_host during run-time. So, there is a need to protect
       others from browsing the dt_host while dynamic programming is modifying
       it. rwlock is better suitable for this task as spinlock won't be able to
       differentiate between read and write access.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Update commit message and fix indentation.
    Add ASSERT() for iommu_deassign_dt_device() and iommu_remove_dt_device().
    Fix code styles.
    Remove rwlock_init in unflatten_device_tree() and do DEFINE_RWLOCK in
        device-tree.c
Changes from v7:
    Keep one lock for dt_host instead of lock for each node under dt_host.
---
---
 xen/common/device_tree.c              |  1 +
 xen/drivers/passthrough/device_tree.c | 24 ++++++++++++++++++++++--
 xen/include/xen/device_tree.h         |  7 +++++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index f38f51ec0b..b1c2952951 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
 struct dt_device_node *dt_host;
 /* Interrupt controller node*/
 const struct dt_device_node *dt_interrupt_controller;
+DEFINE_RWLOCK(dt_host_lock);
 
 /**
  * struct dt_alias_prop - Alias property in 'aliases' node
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 3fad65fb69..b81dab5a48 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -62,6 +62,8 @@ int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev)
     const struct domain_iommu *hd = dom_iommu(d);
     int rc;
 
+    ASSERT(rw_is_locked(&dt_host_lock));
+
     if ( !is_iommu_enabled(d) )
         return -EINVAL;
 
@@ -114,6 +116,8 @@ int iommu_release_dt_devices(struct domain *d)
     if ( !is_iommu_enabled(d) )
         return 0;
 
+    read_lock(&dt_host_lock);
+
     list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
     {
         rc = iommu_deassign_dt_device(d, dev);
@@ -121,10 +125,14 @@ int iommu_release_dt_devices(struct domain *d)
         {
             dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
                     dt_node_full_name(dev), d->domain_id);
+            read_unlock(&dt_host_lock);
+
             return rc;
         }
     }
 
+    read_unlock(&dt_host_lock);
+
     return 0;
 }
 
@@ -134,6 +142,8 @@ int iommu_remove_dt_device(struct dt_device_node *np)
     struct device *dev = dt_to_dev(np);
     int rc;
 
+    ASSERT(rw_is_locked(&dt_host_lock));
+
     if ( !iommu_enabled )
         return 1;
 
@@ -251,6 +261,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
     int ret;
     struct dt_device_node *dev;
 
+    read_lock(&dt_host_lock);
+
     switch ( domctl->cmd )
     {
     case XEN_DOMCTL_assign_device:
@@ -294,7 +306,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         spin_unlock(&dtdevs_lock);
 
         if ( d == dom_io )
-            return -EINVAL;
+        {
+            ret = -EINVAL;
+            break;
+        }
 
         ret = iommu_add_dt_device(dev);
         if ( ret < 0 )
@@ -332,7 +347,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
             break;
 
         if ( d == dom_io )
-            return -EINVAL;
+        {
+            ret = -EINVAL;
+            break;
+        }
 
         ret = iommu_deassign_dt_device(d, dev);
 
@@ -347,5 +365,7 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         break;
     }
 
+    read_unlock(&dt_host_lock);
+
     return ret;
 }
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 44d315c8ba..a262bba2ed 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -18,6 +18,7 @@
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
+#include <xen/rwlock.h>
 
 #define DEVICE_TREE_MAX_DEPTH 16
 
@@ -218,6 +219,12 @@ extern struct dt_device_node *dt_host;
  */
 extern const struct dt_device_node *dt_interrupt_controller;
 
+/*
+ * Lock that protects r/w updates to unflattened device tree i.e. dt_host during
+ * runtime. Lock may not be taken for boot only code.
+ */
+extern rwlock_t dt_host_lock;
+
 /**
  * Find the interrupt controller
  * For the moment we handle only one interrupt controller: the first
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590557.922950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmm-0001Ff-3v; Fri, 25 Aug 2023 08:03:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590557.922950; Fri, 25 Aug 2023 08:03:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRml-0001Dn-LG; Fri, 25 Aug 2023 08:03:15 +0000
Received: by outflank-mailman (input) for mailman id 590557;
 Fri, 25 Aug 2023 08:03:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmi-0007G4-Ua
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:12 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d58f77b7-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:11 +0200 (CEST)
Received: from SJ0PR13CA0207.namprd13.prod.outlook.com (2603:10b6:a03:2c3::32)
 by DM4PR12MB6206.namprd12.prod.outlook.com (2603:10b6:8:a7::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.29; Fri, 25 Aug 2023 08:03:05 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:2c3:cafe::aa) by SJ0PR13CA0207.outlook.office365.com
 (2603:10b6:a03:2c3::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:05 +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.27; Fri, 25 Aug
 2023 03:03:00 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:02: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: d58f77b7-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dKislC23qUUQRL2Vr8JOs7s3LAf0PG1xd6HaS59cjNWzdNT9wGWIQBcrLNTcwnjvgoQqtlGyBTWJEhrxoasHaqVjrxPWDo6ctkULvYAt43JgMUlD7qJkyPkLdiMhzHI7V+6zsaF8JlhffIsWiFo//SfgmhIUPJL/yy6DFdsYviJDj9Wnp9AuzVYgNnF+yDosXSOME1d7YXow8GNOM6N+VKvNl4oEYK6DI9Z9yPtxjHgamDYzJbibdRbEx7UetewkAellAcYg4GCOUYJxp6o97Lu7ZBun/ZOp4Vw4eVEGWzsgZf2UUk8CCt7QENHxFaTJko59d4HXzChwfFCCvw+shw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=lKwP13yn/5bUO87KwHcKBlEV84uIV2FapQ9uACFshvhyysF8EdHz/InJeHb2QTs4yHnn3Ns/WrvO9cIZVImF9X1WE4HgPoHTPbGvNnhinOyVmz75OxYwhBlGGIvCatg1i5PIl3NxxFyhdzbusFGdsDEJdo48l9Jq4Rm/Jt1QILDRvy0ZKlUjmeawgqtRgSg15biLdDAhu8G/pTJpKV4oVN9DONJnycPej0ILYNdU+5jYqXIrEjVhdAPrYEGYfvcDzIxplNcyvwcPRblTuRI0x1JpZu+4Sb5eKvoFQ92UsgzCq++3yxfM8/jcaGYZQ0Tc/l1aNH9hw7lG0J6Bj7y7lQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+aOH8wbfxJ3CDB9n8z4otIPVVDXaY3ZnHxlpPeTlbO8=;
 b=kTqr/MSGDC2yAdHlqRbyolTivQ3SuOJcvfa3Uh5K85mh8S56vbFPBrpQnYJUHrdajQD1Nt5pQZlobZsZUdXooaGqc/XFgjvjFj3Vjv7LSRWtC+KSUSENs7apuvzwx5CGb2TRJocwsG1+OQQJOhiPwJDTelXGjdJSoG3R79xXmcY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 06/20] libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
Date: Fri, 25 Aug 2023 01:02:08 -0700
Message-ID: <20230825080222.14247-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|DM4PR12MB6206:EE_
X-MS-Office365-Filtering-Correlation-Id: fe5d618e-bf27-494e-6d0f-08dba541b660
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JOi6MCIzvT27J7jf3vQElEY2nG7J9611Ixiq2ORkMOyuuV+ucUfyaV/9JcngEacTvQXaZwHQHg/+P4w6MG+uivuJ/CV3EJ5KTr9URIz5RUShm2oZeaczxInxQ9LONrwnL+UbvcBTlQopBwvMLxDEpl3O99E366cqOJ3tah0hXY6T1dLddpf4EO3nbNFioaamNDOo8JObyjwxxCfayKrll+RElqNy/xEBz2+LGW0Q14CrNekbPi2vmodXINy5t0OLwO/tuQF7lrGov/42w7t8Qf6CKDs2OGP94nuDdLCM9mKG9A0ZCcVn+L11LyS4JiQB4xmOJeI4IWsAunlATIxMMYVWJarxXmfTC1mElKmVwrfpPgMcLrCOk81RqQQ9p81uITnwDx/R0t0ecX6COreLAuz4HZAAtRKdYEDXQYgi185oa17DJ69F0eS3KcxiWh6HFwKVZxg82j/NcTcCnJVu/4fMyGftim3zVHxJQ5gtbnQ+7v17ZevOyQuEr7irdsrRZoId/qXTBFL4eo3U96Ws/UFK/cc35McFstLJ6OQhmM+EKcqgjz79FREJErCMBMjmOE/3b8GJmb1vGhfYzejjCiIP27Kwi7p14qq3IWJBQ9f621N1QivRbvgHC5mPxDcJ9oVgJrs1a6SRaDwxuslYP0JvzjEYqBJciOVBqB3fgNdqXWID3BO91z9eeZXbUf6e7yfXIyPbANN8xlcddXji58MVxJ7UnjS66GrsQmmvhmBrXRoBPNRd6urdVTS+g7xJJPJrerh1mRTqRBzt2kdQTA==
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)(4636009)(39860400002)(136003)(376002)(346002)(396003)(82310400011)(451199024)(1800799009)(186009)(46966006)(40470700004)(36840700001)(82740400003)(81166007)(356005)(40460700003)(8676002)(4326008)(8936002)(54906003)(41300700001)(6666004)(316002)(36756003)(6916009)(70586007)(70206006)(86362001)(40480700001)(47076005)(26005)(478600001)(336012)(36860700001)(1076003)(44832011)(83380400001)(2906002)(4744005)(2616005)(426003)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:05.2568
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe5d618e-bf27-494e-6d0f-08dba541b660
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6206

This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/libfdt/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 75aaefa2e3..d50487aa6e 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -1,7 +1,11 @@
 include $(src)/Makefile.libfdt
 
 SECTIONS := text data $(SPECIAL_DATA_SECTIONS)
+
+# For CONFIG_OVERLAY_DTB, libfdt functionalities will be needed during runtime.
+ifneq ($(CONFIG_OVERLAY_DTB),y)
 OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
+endif
 
 obj-y += libfdt.o
 nocov-y += libfdt.o
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590558.922958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmn-0001aF-8T; Fri, 25 Aug 2023 08:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590558.922958; Fri, 25 Aug 2023 08: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 1qZRmm-0001VS-U7; Fri, 25 Aug 2023 08:03:16 +0000
Received: by outflank-mailman (input) for mailman id 590558;
 Fri, 25 Aug 2023 08:03:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmj-0007GZ-EY
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:13 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d549fb41-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:11 +0200 (CEST)
Received: from SJ0PR13CA0187.namprd13.prod.outlook.com (2603:10b6:a03:2c3::12)
 by PH7PR12MB6468.namprd12.prod.outlook.com (2603:10b6:510:1f4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:08 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:2c3:cafe::30) by SJ0PR13CA0187.outlook.office365.com
 (2603:10b6:a03:2c3::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:07 +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.27; Fri, 25 Aug
 2023 03:03: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.27; Fri, 25 Aug
 2023 03:03:05 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d549fb41-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fs7dRZlvKEOhHv+E6cEfm2fZ0nfh5k3uB4oDbP1q0FRo4BN7Lxgrr78LDaEjI2NN8ppFTDDLHWPzXODJh4YYSl0UScB63mxe6uXeXYp4PmQXWIJi24OQ6vnUN4nTgk7MztMoJEz5wzraVY/wwt8+qqawfZLot180x3MSzccMeCi+mVP2KNaRUNArGAkadCCq8YRj/I94oEg6I/B/oQpD1n9w2xxgvK4xSsph79cLrcAAnWSEzZG1X6IgUOf62G1pkUhs7hOxtIHfh598HmkCXlOvU3rRAQA5s1a2FwlansMAbnfbqavr+QkucSq9iKnWT/Wf0XWeat1l6ebdot9w7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TDhW7f5w3p+/XHERjQf4wWurMSkKNLV2sxdzRwRCMQk=;
 b=DsiBT9jjQhqD0zQRf4D+MByTVTTUTOKSG4a50D9pHVbvY7kaVl4XnyL7sYdnivAj13uEVzdUMeBnqIZ+45BqDYXHKyJaFXUXt/+3qZMwxHx1fHXmC7i1CK814NthhmRbdyfS2kcuWjnMN52EbQbssTq+KAzBo1ohb5gjcFyHxUoNbrE6R3Kgg7suG1oPBzAPBbiMBHIHoy1Zk68ve0vFNDLTpmJQrO4JWo7rAV6AkNqC+ol1j9p8i/sL0DIAquu68dhppSskgIcbuLiFZskhoDJ/lbBMB55mDZh9Awr5hWaLsfU8dW9bmW+4yzzuzXBY6xN4J1NrWBJ+Hzo5QUe2Bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TDhW7f5w3p+/XHERjQf4wWurMSkKNLV2sxdzRwRCMQk=;
 b=HJuHfWG/PoC2FQpydKkiVaKhWDeLqd97oamHeUlGLsrRZH2bZhBlwSrWhk3WZpKTqShhi/CPqMuntAmxyw7Ht69/4+CguXJbokRkxfa3U2Q29NQtrbfs1+dvG0rXAZesc5Ft47w8L2e7z6d2D6EeUmbPj5IylZFNsdBQcvkFiEE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 13/20] asm/smp.h: Fix circular dependency for device_tree.h and rwlock.h
Date: Fri, 25 Aug 2023 01:02:15 -0700
Message-ID: <20230825080222.14247-14-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|PH7PR12MB6468:EE_
X-MS-Office365-Filtering-Correlation-Id: 3699c4fd-6df1-438d-976e-08dba541b7cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EJmj9JmKq4l8UAVdzucsDdS9wHrBcBZMAyC/L5+leOja8hlGM20/t+tN6Lvfny4Z5qHpynMjmxS9fDMShW6TrWI0q4U6RDuwSUgLa7MXTja3TgNpwVyo4I5x66wicO+/Q14MJLPezuQsBhIkOHx5cOHG8MTi8/lFqJ3TtvK8a/gWD5oLX7U33EuNsuneIbhGQ01ojN8uAPgOPROTByrXXjqPtXlYzxw7mQNkg/ozPRBcXERF2sE68JhiH4p2ZC+yhwsLMGlDeUeD+InpXDkp00UDPqgldo0s9/r2KD3JSo4pW8gGcgu1JCGF2JdQDLOB2QGQICD8R6yttmUns4rFCFcVgyyNGuMkkuZkJzz1OIkT/Y4v1JIoUukF5e02eczFXl1S2DPTMQBJ+pQHWUE8DRJJxjM9ZWDzWRPdhe/TpadVG+5XWyfQjssyzzatFON/Y+4naX+WmgabLTavbZO34w125alfCAOFo309fTYa/7Dxc4SbZvOhDZbvwPJZYjlthHLC0aVAgzu3VYx+Q437R3nEKNtZESY6z3g1AgByDBeDIHsgJ7n4cgX49Qp61GJYks+xQ4/chRSsinsD2Bmq/0alCcf5zpp/4/hObbhHOnGw3uKzlSFIMkQ07QAM0dCpK0XXimuX3SC8MZJF0n7WYztofoVCySZ5IJ94fFvGeHuKqTW1TEvbwUw5iLaMBwyAOEJPKWRoeRzHCdzscmoODxO2mvMJgYlxyLyQjm46Jaa/tVblnZcIEK3lVTD0FZhtZfGeT1NXEvW5hdNJhALrDQ==
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)(4636009)(136003)(396003)(39860400002)(346002)(376002)(451199024)(1800799009)(82310400011)(186009)(36840700001)(40470700004)(46966006)(356005)(82740400003)(86362001)(81166007)(36756003)(40460700003)(6666004)(478600001)(5660300002)(70586007)(54906003)(316002)(70206006)(6916009)(2906002)(4326008)(8676002)(44832011)(8936002)(40480700001)(426003)(336012)(83380400001)(26005)(36860700001)(47076005)(41300700001)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:07.6631
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3699c4fd-6df1-438d-976e-08dba541b7cf
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6468

Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, we will need to add a rwlock to protect access to the dt_host.
However, adding rwlock in device_tree.h causes following circular dependency:
    device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h

To fix this, removed the "#include <xen/device_tree.h> and forward declared
"struct dt_device_node".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
    Changes from v7:
        Move struct dt_device_node declaration just above arch_cpu_init().
---
---
 xen/arch/arm/include/asm/smp.h | 4 +++-
 xen/arch/arm/smpboot.c         | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index a37ca55bff..4fabdf5310 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -3,7 +3,6 @@
 
 #ifndef __ASSEMBLY__
 #include <xen/cpumask.h>
-#include <xen/device_tree.h>
 #include <asm/current.h>
 #endif
 
@@ -23,6 +22,9 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
+
+struct dt_device_node;
+
 extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
 extern int arch_cpu_up(int cpu);
 extern void arch_cpu_up_finish(void);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..eeb76cd551 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -10,6 +10,7 @@
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/delay.h>
+#include <xen/device_tree.h>
 #include <xen/domain_page.h>
 #include <xen/errno.h>
 #include <xen/init.h>
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590559.922973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmo-0001yO-VL; Fri, 25 Aug 2023 08:03:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590559.922973; Fri, 25 Aug 2023 08: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 1qZRmo-0001rm-30; Fri, 25 Aug 2023 08:03:18 +0000
Received: by outflank-mailman (input) for mailman id 590559;
 Fri, 25 Aug 2023 08:03:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmj-0007G4-NN
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:13 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d49b80d1-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:11 +0200 (CEST)
Received: from MW2PR2101CA0020.namprd21.prod.outlook.com (2603:10b6:302:1::33)
 by DS7PR12MB6093.namprd12.prod.outlook.com (2603:10b6:8:9e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:07 +0000
Received: from CO1PEPF000044F4.namprd05.prod.outlook.com
 (2603:10b6:302:1:cafe::d5) by MW2PR2101CA0020.outlook.office365.com
 (2603:10b6:302:1::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.4 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.14 via Frontend Transport; Fri, 25 Aug 2023 08:03:06 +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.27; Fri, 25 Aug
 2023 03:03:04 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d49b80d1-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g9fSMHGAn/RPAGfsMrquwkKdth5HwKK8UMp4zpSTHZ1ZPt2qJ4bWOeAvPFBKSpAWmMaSexqfGI/13ti8glfcV3jIaQLr0ZvfHKyjF4vA3h6suRG8bd+boA95031YB/rRSkI2FDP/GZucpEFWWMuBb4up2ejBkTBXGiRmbcSm5pW2h/slKg5HaU1PoLymkbOBOE2UtTnUwMceHOg1iMGYQuyjLRLhp4GF4oXcfgsCRqz/exjXQv2XSEl0Pb/H06yp12wzMGB5roXusJixt6v/fuKayILQb6gXZwPPH8vFgcyM453g+3EsEhZoviTT3EKVzhmoWg+7hfwplyCXjvZqEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N5Ad07nFyqe3yvUSTljKoScg3IAugPfBscvADFFb2TQ=;
 b=hjH87sBgZfsR/bauTspleETzz4qLAKFCGHpCFRUnE0bqtHtJRjQtA7mjD/bDS8hNdRc0636zyMMwMpu25Xd4iEKFOENmPde+JgwipKM/zYkqQlj+yeNBMXlQGR7QGq6mzZ1xzfG5QZ38i0bsAKtWmIzbc83nTPa7w1TRlPbaWjL+MB/PxIzoHu3g4ceszqOHQJJNj99H3i5AYtZ2uMA0qPdNm9AFjzXgil+L4odscufsgOJI1fxhqLFx6Ha6SiGFWgcR3f3MMreL+Ol4EfkNICLN3CTGTKKLd+yFk+TtIIp+u4MFYdRfY16Jfi42gK9nICddJ2SBG085VBmErKpVxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N5Ad07nFyqe3yvUSTljKoScg3IAugPfBscvADFFb2TQ=;
 b=YbPyfTwiIQOPFKBiD+vks2W6K1+eL0tKgHYRF6n8PSxiDIwWl7ChqikcRe2JFUPof8jks7DvWnp9rl7lRWD5s8yx597jnzB4PRcn1qSaS8moJ7IzkO4DRYmyicXFL1+9d4pfN2obxwwJoDE2pa5PkkLgJM4uEJe7X98IRIuxdSw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 12/20] xen/smmu: Add remove_device callback for smmu_iommu ops
Date: Fri, 25 Aug 2023 01:02:14 -0700
Message-ID: <20230825080222.14247-13-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|DS7PR12MB6093:EE_
X-MS-Office365-Filtering-Correlation-Id: cc7bdd2e-0999-4a0e-cbb4-08dba541b75c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m38KQQdC7AQ7kO6bbLtZ7xwFS/eCXNRwCJpc+5GoKy4EVwzS1whiLFXISCaU0rFyeZWt3TTcphOpzx/X2SL0E3JHPke0SGqLJC6OfSACNEyt9lcM8AR/l0l1Rm+tigN6rGVGT8Bead0JmHCZqJlBf2kgOOZ79JLUSxYj8tHkpX21cS2LioiI9sP4m5tYVGGzaVBWZkae60Oxg+5S6qpLD1vjw3GKSWBNuFRgDDcLCNnffJY8p0hJsqCVCgZtt69qCTWpZaYHt50BKDcFJ1m5vY4SS6+EncXAmDu557AvdbVtCCvdmdz4ZeBJ2+DsNr37aFG5X1atpf1BaT/WqZ51zp35EAmzGHi6Jq97l5pRexlD3TQGuA0qszKgz+b0G33UpHxyVyPK1vegkQJ7zKSj13A23411WW48hnza4TaSlfWKs7Oc8oFTU/4J22Bsd0Pm8saPtO5Ivc1sMTEZT8Qi7Qu+4TdTkQshWUBgyIpacBuZlmuumb+nkQjryiv5or0otjLNqikHhFXqr8bbmsq9LAc03v+t3bfyx/B4Dt0F5SZc2xwPbFRwAXaSPsSTfTBCRMouMYcHlX7tF134YkQJ5Pp73lYY86Jj3FQ3Wn5k24L6uPr7jXXa1QtYFUUFXMCxD0s08hm0uaG4y4XJ/gyxzEgo875YT6GxBAbpQeNLAYrcIouhcvp2lOt6p3M7wiBh1jsKw2VKhdCgyFdi8StOsRYTxNeCzDMi+BPW9kLdPAt3bxpacBiP4RK7hqE6Wy+a23hZclMUfitllmTt+B1oaw==
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70586007)(70206006)(316002)(6916009)(81166007)(478600001)(40480700001)(26005)(6666004)(82740400003)(41300700001)(86362001)(2906002)(356005)(4326008)(8676002)(8936002)(83380400001)(2616005)(40460700003)(5660300002)(47076005)(44832011)(1076003)(426003)(336012)(36756003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:06.9107
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc7bdd2e-0999-4a0e-cbb4-08dba541b75c
X-MS-Exchange-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:
	CO1PEPF000044F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6093

Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Check if device is currently in use.
3. Remove the SMMU master.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
 Changes from v9:
    Remove iommu_dt_device_is_assigned_locked().
    Add comment regarding caller holding the locks to protect concurrent access.
 Changes from v7:
        Added comments on arm_smmu_dt_remove_device_generic().
---
---
 xen/drivers/passthrough/arm/smmu.c | 60 ++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c37fa9af13..71799064f8 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -815,6 +815,19 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 	return 0;
 }
 
+static int remove_smmu_master(struct arm_smmu_device *smmu,
+			      struct arm_smmu_master *master)
+{
+	if (!smmu->masters.rb_node) {
+		ASSERT_UNREACHABLE();
+		return -ENOENT;
+	}
+
+	rb_erase(&master->node, &smmu->masters);
+
+	return 0;
+}
+
 static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 					 struct device *dev,
 					 struct iommu_fwspec *fwspec)
@@ -852,6 +865,32 @@ static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 	return insert_smmu_master(smmu, master);
 }
 
+static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
+					 struct device *dev)
+{
+	struct arm_smmu_master *master;
+	struct device_node *dev_node = dev_get_dev_node(dev);
+	int ret;
+
+	master = find_smmu_master(smmu, dev_node);
+	if (master == NULL) {
+		dev_err(dev,
+			"No registrations found for master device %s\n",
+			dev_node->name);
+		return -EINVAL;
+	}
+
+	ret = remove_smmu_master(smmu, master);
+	if (ret)
+		return ret;
+
+	/* Protected by dt_host_lock and dtdevs_lock as caller holds these locks. */
+	dev_node->is_protected = false;
+
+	kfree(master);
+	return 0;
+}
+
 static int register_smmu_master(struct arm_smmu_device *smmu,
 				struct device *dev,
 				struct of_phandle_args *masterspec)
@@ -875,6 +914,26 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+/*
+ * The driver which supports generic IOMMU DT bindings must have this
+ * callback implemented.
+ */
+static int arm_smmu_dt_remove_device_generic(u8 devfn, struct device *dev)
+{
+	struct arm_smmu_device *smmu;
+	struct iommu_fwspec *fwspec;
+
+	fwspec = dev_iommu_fwspec_get(dev);
+	if (fwspec == NULL)
+		return -ENXIO;
+
+	smmu = find_smmu(fwspec->iommu_dev);
+	if (smmu == NULL)
+		return -ENXIO;
+
+	return arm_smmu_dt_remove_device_legacy(smmu, dev);
+}
+
 static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 {
 	struct arm_smmu_device *smmu;
@@ -2859,6 +2918,7 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arch_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
+    .remove_device = arm_smmu_dt_remove_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .assign_device = arm_smmu_assign_dev,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590561.922979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmq-0002IL-7a; Fri, 25 Aug 2023 08:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590561.922979; Fri, 25 Aug 2023 08:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmp-0002EI-IO; Fri, 25 Aug 2023 08:03:19 +0000
Received: by outflank-mailman (input) for mailman id 590561;
 Fri, 25 Aug 2023 08:03:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmk-0007GZ-Er
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:14 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20616.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5f05c61-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:11 +0200 (CEST)
Received: from SJ0PR13CA0202.namprd13.prod.outlook.com (2603:10b6:a03:2c3::27)
 by BL1PR12MB5706.namprd12.prod.outlook.com (2603:10b6:208:385::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 08:03:07 +0000
Received: from CO1PEPF000044F5.namprd05.prod.outlook.com
 (2603:10b6:a03:2c3:cafe::3b) by SJ0PR13CA0202.outlook.office365.com
 (2603:10b6:a03:2c3::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03: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.27; Fri, 25 Aug
 2023 03:03:02 -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.27; Fri, 25 Aug
 2023 03:03:02 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d5f05c61-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AibZfvB1j1eJmcQxa9jPL9SsdKUIKL/J9ZgWdVJa7KcwnVhYskpucGOZe+RQOlvyp0BS/fjbW4ruHwhZO9VCl/WlEZNaEEaVn6huN9UoGbi+2D0rWMMbPdOFbwe+lM24cB7QCzJI7rtvxpN4bVL01sO5Z6MRuRZpx8ti+eW0G5v78UJITyyLFsQlHMzcqOXZAK0Kvwxhx40hFPuwsQ5Q/SOxggG7pd8wRHZHT2GHDzPhmFkCpJ1AEaVn3EXVh8E+2fU3NvWfauKO+DulTq5r1gDUDNEhb0x6SCSYCMThOkeBvWwVz4bDIwsV84dThCYjlPo3SPzSh2TQJHVld4WLag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bbLjByfblu66od1Vdrl71+ZR1WzFVQiYpHtzjdK7oJE=;
 b=JgZmabtjnrUSQyY139mI246NXEqOR1/m/2UoBHxKatWJL89GUW00VJ3Klx9L/AIPgDVcorP0eE86dyNmruwLPyy0ySnMrqXBmXkeAXdBc2KP8iou0dj25+fQ4jvt7YH4idFgmizqAIcXnct6FjkNRmCFLdRIzSSrnve9OtjH/ocTbrG1l0V3vkPSBE7jYnUOj6Fi0oXY89rKj0J7PuwksTBEguN2kGjm8GhXIzZtqoH71xtib1pk4doILmFEokRVv0Ipebpet7tUyeRZzJ4GY2kuhg7VWqOkPYz3L71/ShjRXFokZh33XY9uqj8wjye2Zs8roOy3aKIm0DsVy4zrEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bbLjByfblu66od1Vdrl71+ZR1WzFVQiYpHtzjdK7oJE=;
 b=CFxt1tLjr1yErFOh+K8+rgeOfMdbHPMLh40gwdgP9JWtnqDyo21nmp/dBnbqSUPM1gCOsSnVBZyBSUxlAZ5yMbQWq08E61DOhNBNIMVgT0rftisg+Q9MC7FQVsYTdEouYr9pi1mfst9nHFaf/ps27sdbwySyflFerDXvHwFVV3s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 09/20] xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
Date: Fri, 25 Aug 2023 01:02:11 -0700
Message-ID: <20230825080222.14247-10-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|BL1PR12MB5706:EE_
X-MS-Office365-Filtering-Correlation-Id: 8607ac54-e699-4797-b404-08dba541b709
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4UZi/QuVEXYlI1/AmUrqeTIJ7P+rJWg5nPk1/sqtzFiDNFDHuvOCFoAsYHErYf0db5oSWswGP904QVMCHriN1ptRp5LZ5dU4VS6Xp6izgntc7uaFx400pvWxPHF1b4+MBhzjim9sSkNsPcv2ufdUwbrb+/A1BoUVdVajceUr4oO2j9ZjCRdV7M6XQvpLsI2uJgcz5WBYPHOdlp1grmDra+T/o4UrMAGE+xuHkoWLajsA/9wi3lz7WJJNm64kWa8s6G9eIY9SVx8bNpkK8X+okvU2Tji6n1G6RSDHtF+p3nU5GcnBDWs0+fkORCQ1aFA9tYSmumzeQib67XWFqTbEmzLDgd7ykp81xuzM836CPeDF0QtpFnxCY/CHrPUkLRSVIzMgRHWGr23juYsBGfiynDCnDxRMUuUtgxdT4EAsV8hDVBLG/lG2db+mydp+bACLBd8Iy5yxbH/gPhKh7m0wy3/gTRN0nPALluIPlqmr7I79MKA9dAcpsFABA8PHnMa1dKGhx9kwpRtR/nV6WHKVGIhzsJ76bAdnPFmkSU+6BP4aKabouGPKtKghtbJ2Pgziala9Z3WIVlJ9jl0dTNMFHUbGM4pWuDQMK7RZYyiTJMQ+j07ZC3euvkrp/Vq8p16mW+vhWhAsC2CKQJoq2J9cTZu2PH23kfwxfpoSBCV60PYPximvzoAXF10TyrcyG/E9NhIsfKfduOTlGlgAnI+PUw8BuhnxAGI5D5S3FYpfibhzG2Q8YNjFYASbU9lAHi0aZMSR3iWo4v5r4JPXB1z4qA==
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)(4636009)(39860400002)(136003)(376002)(346002)(396003)(82310400011)(451199024)(1800799009)(186009)(46966006)(40470700004)(36840700001)(82740400003)(81166007)(356005)(40460700003)(8676002)(4326008)(8936002)(54906003)(41300700001)(6666004)(316002)(36756003)(6916009)(70586007)(70206006)(86362001)(40480700001)(47076005)(26005)(478600001)(336012)(36860700001)(1076003)(44832011)(83380400001)(2906002)(2616005)(426003)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:06.3662
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8607ac54-e699-4797-b404-08dba541b709
X-MS-Exchange-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:
	CO1PEPF000044F5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5706

Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().

Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
patches in this series introduces node add/remove feature.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Make iommu_dt_device_is_assigned_locked() static and delete header.
    Move dtdevs_lock before iommu_dt_device_is_assigned_locked().
Changes from v7:
    Update commit message.
    Add ASSERT().
---
---
 xen/drivers/passthrough/device_tree.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1c32d7b50c..5d84c07b50 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -83,16 +83,17 @@ fail:
     return rc;
 }
 
-static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
+static bool_t
+iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
 {
     bool_t assigned = 0;
 
+    ASSERT(spin_is_locked(&dtdevs_lock));
+
     if ( !dt_device_is_protected(dev) )
         return 0;
 
-    spin_lock(&dtdevs_lock);
     assigned = !list_empty(&dev->domain_list);
-    spin_unlock(&dtdevs_lock);
 
     return assigned;
 }
@@ -223,17 +224,24 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         if ( ret )
             break;
 
+        spin_lock(&dtdevs_lock);
+
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
         {
-            if ( iommu_dt_device_is_assigned(dev) )
+
+            if ( iommu_dt_device_is_assigned_locked(dev) )
             {
                 printk(XENLOG_G_ERR "%s already assigned.\n",
                        dt_node_full_name(dev));
                 ret = -EINVAL;
             }
+
+            spin_unlock(&dtdevs_lock);
             break;
         }
 
+        spin_unlock(&dtdevs_lock);
+
         if ( d == dom_io )
             return -EINVAL;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:03:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590562.922989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRmr-0002Xq-Mq; Fri, 25 Aug 2023 08:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590562.922989; Fri, 25 Aug 2023 08: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 1qZRmq-0002VD-JF; Fri, 25 Aug 2023 08:03:20 +0000
Received: by outflank-mailman (input) for mailman id 590562;
 Fri, 25 Aug 2023 08:03:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRmk-0007G4-P1
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:14 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5cc5d26-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:13 +0200 (CEST)
Received: from MW4PR03CA0296.namprd03.prod.outlook.com (2603:10b6:303:b5::31)
 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.6699.27; Fri, 25 Aug
 2023 08:03:08 +0000
Received: from CO1PEPF000044EF.namprd05.prod.outlook.com
 (2603:10b6:303:b5:cafe::42) by MW4PR03CA0296.outlook.office365.com
 (2603:10b6:303:b5::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044EF.mail.protection.outlook.com (10.167.241.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:07 +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.27; Fri, 25 Aug
 2023 03:03:07 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: d5cc5d26-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSsOTsv5SYkcalJtf1erOn8A0zxKP7qkGcOMnuhdQEbq2fn8KSO3+B829NqxuGywbWClB/pR8l9hKRimYaqpcdO48Eg+ve+BeblvGDY4vs6WxTtKZvcJ0+odIRV/bMhu0N6liBXZRyPEHqWQ5CODZMwNiQpmvnzXu9v0RsFYcuOmke7tTtX54S3KFYiWBEMi0XUQ7DdkLZks92rpim5gqwFb8K3T0hAEUxoRaGKqkDQGQGVqC0KSaQOh18FheRm05zUzzGpSq6rQFVUQ2VrHEN2srFLVkwiYkt1+u0q344YilNcylTMqPhCDNywS9r1gz7Zun7QlugweZ5CmGsd9JA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xLOhd+eCdzsILcS2OSpdjdN9Er/z7fDSt3+c00KeABo=;
 b=PKJAFiY0PDzzDqhxfyOKTzrkVgqqOljxXLtiVr2SIpAbZIzvRXrlToN5VaDcjqRHkx31XTL2S9UR/CRR0Nv1o3gJljTIgRO+s4JWedAwqGqcbl7ht1OUFUY5xlJABMJdKo6T7plk/F3znaluSEBGoCap6Z8HTA8Gxs5s7IX9xYKpE80ibDmTZPpaTUyJ2QtuNdmaxA+u1HEsdpywDYC4GnedmHJPfAAvpORPuEeq2b1jglcfKqdxK918dqgu5hSct/H8BJSNU8XA0nDxwdtvtKJrtIrvtdryiVkvYGvFfgX50q7OAnVcsJ/oGO+J+TsBq0hv29ZswHo9wv79xaKHeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xLOhd+eCdzsILcS2OSpdjdN9Er/z7fDSt3+c00KeABo=;
 b=qVKo3AqFfsJZ3Dph5zczmfQOO2xkJQYOuIWWyKPCnYMegxFJpO2G5j4R08/j3+r8wtbGjNOT9rvzqArpgi7RqaMfG+hPQQi5OKeVr0Yu/K6nDeLWu8CAP/hZJO52PsPcdvGRruhw5zzwbSq7fLI5mjru3uiba5tf7tsrHaqsEZI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 15/20] arm/asm/setup.h: Update struct map_range_data to add rangeset.
Date: Fri, 25 Aug 2023 01:02:17 -0700
Message-ID: <20230825080222.14247-16-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044EF:EE_|SJ2PR12MB9005:EE_
X-MS-Office365-Filtering-Correlation-Id: d63acfd1-83ff-439a-b564-08dba541b7e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g9X/AsVV56MBJoI6K9WkCBJaEb1tkn/mw27WNB3jZleSVN6H52MuzvEeqOTNTAnNCxvsGFsam4+Jg7l31Gs04LylPCzi/fNMdkI/sFbj9clE9QQ0VD5sHnN8TF5TG1vsE9ZKPDpcDzDc60P8yniVpJIWwHRuLV2Hs6P/ZRicbKTlqzedCdhEdNCnzOI8ffUaTnNSKktWnWLo0WpYoNitx2/TVy/BQCED3W+HSC4RtkmTaWEiK0V6EJqbIsNLzGIT4G5E0QXdZxHd5rQu5zz8a+MStUZHSzDvgtx5lq/7egnhp/FsRD1YoGhgKKHTowt+k1myQA6rtq13YLQgl2pT4sULznmr296qonGb4x+dzHEQwHj9Wrp6iWMxSjFbQFCvKGbZ+Qm3vQj2XgJSoAvpp0shQVqYC8lVlameRxVimX7G3ga3jKQTW8hPF9lS7AnxV8CR680Zle5u/oOddVl10tzsMk2uKT319gbvrF27iQFHXpDTIZFxSpo4iFNwoG3TiV7Uwguxy5wLK80Fji2CUX8To/ED5791PqWMFvb40nWFdLGvGo/05DZld4jYrotaor6JP5/E0NePn33wAuD/v1RhRP8D18luCpmhQstSfm2ERCZgk8wi/cAHFC45l62u0QK37SFnVo8o82DSy/vxZGEQudwPsTbrYmpcu9ymttrP1t9BZNXyJOPLodwt/chMG1VlhpeFQkqRr3dm1oGau+jIL5j0SOJlUYcfMZG3ptZYLS9fVJnjiTKMF/0IX0Sb4mfc4nqrw5BJd0JI/MOVaQ==
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)(4636009)(39860400002)(136003)(346002)(376002)(396003)(186009)(82310400011)(451199024)(1800799009)(46966006)(36840700001)(40470700004)(54906003)(70586007)(70206006)(316002)(81166007)(6916009)(478600001)(26005)(40480700001)(6666004)(82740400003)(41300700001)(86362001)(2906002)(356005)(8676002)(8936002)(83380400001)(2616005)(40460700003)(4326008)(5660300002)(47076005)(44832011)(1076003)(426003)(336012)(36756003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:07.8196
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d63acfd1-83ff-439a-b564-08dba541b7e2
X-MS-Exchange-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:
	CO1PEPF000044EF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9005

Add rangesets for IRQs and IOMEMs. This was done to accommodate dynamic overlay
node addition/removal operations. With overlay operations, new IRQs and IOMEMs
are added in dt_host and routed. While removing overlay nodes, nodes are remove
from dt_host and their IRQs and IOMEMs routing is also removed. Storing IRQs and
IOMEMs in the rangeset will avoid re-parsing the device tree nodes to get the
IOMEM and IRQ ranges for overlay remove ops.

Dynamic overlay node add/remove will be introduced in follow-up patches.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/arch/arm/device.c            | 43 +++++++++++++++++++++++++-------
 xen/arch/arm/domain_build.c      |  4 +--
 xen/arch/arm/include/asm/setup.h |  5 +++-
 3 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 857f171a27..9df37abac8 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -165,6 +165,14 @@ int map_range_to_domain(const struct dt_device_node *dev,
     dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
                addr, addr + len, mr_data->p2mt);
 
+    if ( mr_data->iomem_ranges )
+    {
+        res = rangeset_add_range(mr_data->iomem_ranges, paddr_to_pfn(addr),
+                                 paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
+            return res;
+    }
+
     return 0;
 }
 
@@ -178,9 +186,10 @@ int map_range_to_domain(const struct dt_device_node *dev,
  */
 int handle_device_interrupts(struct domain *d,
                              struct dt_device_node *dev,
-                             bool need_mapping)
+                             bool need_mapping,
+                             struct rangeset *irq_ranges)
 {
-    unsigned int i, nirq;
+    unsigned int i, nirq, irq;
     int res;
     struct dt_raw_irq rirq;
 
@@ -208,17 +217,24 @@ int handle_device_interrupts(struct domain *d,
             continue;
         }
 
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
+        irq = platform_get_irq(dev, i);
+        if ( irq < 0 )
         {
             printk(XENLOG_ERR "Unable to get irq %u for %s\n",
                    i, dt_node_full_name(dev));
-            return res;
+            return irq;
         }
 
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
         if ( res )
             return res;
+
+        if ( irq_ranges )
+        {
+            res = rangeset_add_singleton(irq_ranges, irq);
+            if ( res )
+                return res;
+        }
     }
 
     return 0;
@@ -249,6 +265,11 @@ static int map_dt_irq_to_domain(const struct dt_device_node *dev,
     }
 
     res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
+    if ( res )
+        return res;
+
+    if ( mr_data->irq_ranges )
+        res = rangeset_add_singleton(mr_data->irq_ranges, irq);
 
     return res;
 }
@@ -289,7 +310,8 @@ static int map_device_children(const struct dt_device_node *dev,
  *  - Assign the device to the guest if it's protected by an IOMMU
  *  - Map the IRQs and iomem regions to DOM0
  */
-int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
+int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
+                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges)
 {
     unsigned int naddr;
     unsigned int i;
@@ -304,10 +326,13 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
      *     pci_host_bridge_mappings().
      */
     struct map_range_data mr_data = {
+        .d = d,
         .p2mt = p2mt,
         .skip_mapping = !own_device ||
                         (is_pci_passthrough_enabled() &&
-                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
+                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
+        .iomem_ranges = iomem_ranges,
+        .irq_ranges = irq_ranges
     };
 
     naddr = dt_number_of_address(dev);
@@ -341,7 +366,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
         }
     }
 
-    res = handle_device_interrupts(d, dev, own_device);
+    res = handle_device_interrupts(d, dev, own_device, irq_ranges);
     if ( res < 0 )
         return res;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 63ca9ea5fe..8e9dd0c373 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2401,7 +2401,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);
+    res = handle_device(d, node, p2mt, NULL, NULL);
     if ( res)
         return res;
 
@@ -2744,7 +2744,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
         return -EINVAL;
     }
 
-    res = handle_device_interrupts(kinfo->d, node, true);
+    res = handle_device_interrupts(kinfo->d, node, true, NULL);
     if ( res < 0 )
         return res;
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 1a052ed924..2dc6d4c1a6 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -113,6 +113,9 @@ struct map_range_data
     p2m_type_t p2mt;
     /* Set if mapping of the memory ranges must be skipped. */
     bool skip_mapping;
+    /* Rangeset to store IRQs and IOMEM for overlay nodes. */
+    struct rangeset *iomem_ranges;
+    struct rangeset *irq_ranges;
 };
 
 extern struct bootinfo bootinfo;
@@ -169,7 +172,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
                   struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
 
 int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
-                             bool need_mapping);
+                             bool need_mapping, struct rangeset *irq_ranges);
 
 int map_range_to_domain(const struct dt_device_node *dev,
                         uint64_t addr, uint64_t len, void *data);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:05:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590599.923017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRpG-0008Gk-Eg; Fri, 25 Aug 2023 08:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590599.923017; Fri, 25 Aug 2023 08:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRpG-0008Gd-Aj; Fri, 25 Aug 2023 08:05:50 +0000
Received: by outflank-mailman (input) for mailman id 590599;
 Fri, 25 Aug 2023 08:05: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 1qZRpF-0008GM-GQ
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:05: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 1qZRpD-0004cZ-5x; Fri, 25 Aug 2023 08:05:47 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRpD-0005Dd-0Q; Fri, 25 Aug 2023 08:05:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=d8cetybDxbFPAGkBDIPNszYp2DOtCbRlxFJQwogcLxo=; b=a9Qopnrhf2sfSdYN6HZId3bYpN
	aOoomHCg1XUWWf5crH8vbuOKz7maucJS8aKQZijFHqGI5TbaQUkT/IjBZnRdjeQLy7ZssWxwwvbZZ
	w4bbtNyPOCisMkGUVh13DeXAV82vwG8KDMipwWXcp3QdfakHzqZF/jxGXX+dcT0K228g=;
Message-ID: <d3a4012d-1964-4392-bd70-e4c0d3675f1c@xen.org>
Date: Fri, 25 Aug 2023 09:05:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 05/19] xen/arm: Add CONFIG_OVERLAY_DTB
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 sstabellini@kernel.org, jbeulich@suse.com, Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-6-vikram.garhwal@amd.com>
 <5c38c1da-8d7f-45cf-98b7-c80a55557b36@xen.org> <ZOgdRIjd2nMWDtNP@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZOgdRIjd2nMWDtNP@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 25/08/2023 04:17, Vikram Garhwal wrote:
> Hi Julien,
> On Tue, Aug 22, 2023 at 08:10:05PM +0100, Julien Grall wrote:
>> Hi Vikram,
>>
>> On 19/08/2023 01:28, Vikram Garhwal wrote:
>>> Introduce a config option where the user can enable support for adding/removing
>>> device tree nodes using a device tree binary overlay.
>>>
>>> Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
>>> Arm.
>>>
>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>> Acked-by: Henry Wang <Henry.Wang@arm.com>
>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>>
>>> ---
>>> Changes from v7:
>>>       Add this feature as "experimental support" in CHANGELOG.md
>>> ---
>>> ---
>>>    CHANGELOG.md         | 3 ++-
>>>    SUPPORT.md           | 6 ++++++
>>>    xen/arch/arm/Kconfig | 5 +++++
>>>    3 files changed, 13 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index 7d7e0590f8..47098dbfca 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -24,7 +24,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>     - xl/libxl can customize SMBIOS strings for HVM guests.
>>>     - Add support for AVX512-FP16 on x86.
>>>     - On Arm, Xen supports guests running SVE/SVE2 instructions. (Tech Preview)
>>> -
>>> + - On Arm, experimental support for dynamic addition/removal of Xen device tree
>>> +   nodes using a device tree overlay binary(.dtbo).
>>
>> Typo: missing space before (.
>>
>>>    ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
>>> diff --git a/SUPPORT.md b/SUPPORT.md
>>> index 35a6249e03..8eb006565c 100644
>>> --- a/SUPPORT.md
>>> +++ b/SUPPORT.md
>>> @@ -844,6 +844,12 @@ No support for QEMU backends in a 16K or 64K domain.
>>>        Status: Supported
>>> +### Device Tree Overlays
>>> +
>>> +Add/Remove device tree nodes using a device tree overlay binary(.dtbo).
>>
>> Same here. I don't suggest to handle it on commit because this is not
>> something I want to merge without the rest of the series.
>>
>>> +
>>> +    Status, ARM: Experimental
>>> +
>>>    ### ARM: Guest ACPI support
>>>        Status: Supported
>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index fd57a82dd2..02c4796438 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -92,6 +92,11 @@ config HAS_ITS
>>>            bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
>>>            depends on GICV3 && !NEW_VGIC && !ARM_32
>>> +config OVERLAY_DTB
>>> +	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
>>> +	help
>>> +	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
>>
>> Do we have any documentation in the tree of the limitations and how this
>> works?
>>
>> The reason I am asking is the wording here suggests that it would be
>> possible to remove nodes from the original Device-Tree. AFAIU this is not
>> possible with the implementation and you are not planning to handle it.
>> Correct?
> Yes, that is correct. This series doesn't remove the nodes which are not added
> by overlay before.
> 
> I will add a document file. Is this needs to be in .pandoc or .txt format?

I think we now prefer .pandoc.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:09:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:09:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590623.923026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRsM-0000UX-RH; Fri, 25 Aug 2023 08:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590623.923026; Fri, 25 Aug 2023 08:09:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRsM-0000UQ-Ol; Fri, 25 Aug 2023 08:09:02 +0000
Received: by outflank-mailman (input) for mailman id 590623;
 Fri, 25 Aug 2023 08:09:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZRsM-0000UJ-0J
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:09:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRsL-0004hX-HF; Fri, 25 Aug 2023 08:09:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRsL-0005Wd-CH; Fri, 25 Aug 2023 08:09:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=VcW9Y6nYLPyfEiNtS91SPBgNeX6ChFtrIvsmgaE58gs=; b=ruEce1ypeLcmRuosFA64mvPtjb
	3Zt3D4KOY0+O8yqwmObr0KXIYjgQSwP//Uwy1ug4uKEApqI2TCSyKBLhwZo4OQWB6t/+jX1LSaTQy
	KE7JenJ2ifr2qrGdnRO2CfNUYMd5H68uGOaUw8f/FvBL5uDVE2qNsn4kWU8SR/+JFXF4=;
Message-ID: <27de10c0-07f2-4e2f-900f-e563e9b07d9a@xen.org>
Date: Fri, 25 Aug 2023 09:09:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 10/19] xen/iommu: protect iommu_add_dt_device()
 with dtdevs_lock
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-11-vikram.garhwal@amd.com>
 <62c19920-cfe4-405d-9294-7ed426b3a99f@xen.org> <ZOgxwG_0kfhDPFZl@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZOgxwG_0kfhDPFZl@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 25/08/2023 05:44, Vikram Garhwal wrote:
> Hi Julien,
> On Tue, Aug 22, 2023 at 08:47:10PM +0100, Julien Grall wrote:
>> Hi Vikram,
>>
>> On 19/08/2023 01:28, Vikram Garhwal wrote:
>>> Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
>>> to add/remove/assign/deassign.
>>> With addition of dynamic programming feature(follow-up patches in this series),
>>
>> Typo: missing space before '('.
>>
>>> this function can be concurrently access by pci device assign/deassign and also
>>
>> I couldn't find any use of this function in the PCI code. So are you talking
>> about not yet upstreamed patches?
> So, this assign and deassign is also used by pci-assignable-add from xl which
> "Make a device assignable for pci-passthru"

Hmmm... But this is not something we currently support on Arm and in 
fact this is not plumbed. So please remove any reference to PCI because 
this is misleading.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:11:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590659.923037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRuF-0002Rc-66; Fri, 25 Aug 2023 08:10:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590659.923037; Fri, 25 Aug 2023 08:10: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 1qZRuF-0002RV-3P; Fri, 25 Aug 2023 08:10:59 +0000
Received: by outflank-mailman (input) for mailman id 590659;
 Fri, 25 Aug 2023 08:10: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=sFgK=EK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZRuE-0002RN-30
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:10:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea567098-431e-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:10:55 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3FFF84EE0737;
 Fri, 25 Aug 2023 10:10: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: ea567098-431e-11ee-9b0c-b553b5be7939
MIME-Version: 1.0
Date: Fri, 25 Aug 2023 10:10:55 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: luca.fancellu@arm.com, xen-devel@lists.xenproject.org,
 bertrand.marquis@arm.com
Subject: Re: xen-analysis ECLAIR support
In-Reply-To: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
User-Agent: Roundcube Webmail/1.4.3
Message-ID: <da8dce5678814f7e0805522a5111b09e@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 25/08/2023 00:24, Stefano Stabellini wrote:
> Hi Luca,
> 
> We are looking into adding ECLAIR support for xen-analysis so that we
> can use the SAF-n-safe tags also with ECLAIR.
> 
> One question that came up is about multi-line statements. For instance,
> in a case like the following:
> 
> diff --git a/xen/common/inflate.c b/xen/common/inflate.c
> index 8fa4b96d12..8bdc9208da 100644
> --- a/xen/common/inflate.c
> +++ b/xen/common/inflate.c
> @@ -1201,6 +1201,7 @@ static int __init gunzip(void)
>      magic[1] = NEXTBYTE();
>      method   = NEXTBYTE();
> 
> +    /* SAF-1-safe */
>      if (magic[0] != 037 ||
>          ((magic[1] != 0213) && (magic[1] != 0236))) {
>          error("bad gzip magic numbers");
> 
> 
> Would SAF-1-safe cover both 037, and also 0213 and 0213?
> Or would it cover only 037?
> 
> We haven't use SAFE-n-safe extensively through the codebase yet but
> my understanding is that SAFE-n-safe would cover the entire statement 
> of
> the following line, even if it is multi-line. Is that also your
> understanding? Does it work like that with cppcheck?
> 
> 
> It looks like ECLAIR requires a written-down number of lines of code to
> deviate if it is more than 1 line. In this example it would be 2 lines:
> 
>      /* SAF-1-safe 2 */
>      if (magic[0] != 037 ||
>          ((magic[1] != 0213) && (magic[1] != 0236))) {
> 
> One option that I was thinking about is whether we can add the number 
> of
> lines automatically in xen-analysis based on the number of lines of the
> next statement. What do you think?
> 
> It seems fragile to actually keep the number of lines inside the SAF
> comment in the code. I am afraid it could get out of sync due to code
> style refactoring or other mechanical changes.
> 

Having the number of lines automatically inferred from the code 
following the comment
does not seem that robust either, given the minimal information in the 
SAF comments
(e.g., what if the whole if statement needs to be deviated, rather
than the controlling expression?).

An alternative proposal could be the following:
       /* SAF-n-safe begin */
       if (magic[0] != 037 ||
           ((magic[1] != 0213) && (magic[1] != 0236))) {
       /* SAF-n-safe end */

which is translated, for ECLAIR, into:

     /* -E> safe <Rule ID> 2 <free text> */
     if (magic[0] != 037 ||
           ((magic[1] != 0213) && (magic[1] != 0236))) {

this will deviate however many lines are between the begin and end 
markers.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:11:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590660.923047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRuJ-0002jL-Dv; Fri, 25 Aug 2023 08:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590660.923047; Fri, 25 Aug 2023 08:11: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 1qZRuJ-0002jC-Au; Fri, 25 Aug 2023 08:11:03 +0000
Received: by outflank-mailman (input) for mailman id 590660;
 Fri, 25 Aug 2023 08:11: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRnT-0007G4-Nj
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:59 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0f866ca-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:58 +0200 (CEST)
Received: from SA9P223CA0027.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::32)
 by CY5PR12MB6081.namprd12.prod.outlook.com (2603:10b6:930:2b::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 08:03:52 +0000
Received: from SN1PEPF0002636B.namprd02.prod.outlook.com
 (2603:10b6:806:26:cafe::8b) by SA9P223CA0027.outlook.office365.com
 (2603:10b6:806:26::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:52 +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.6699.14 via Frontend Transport; Fri, 25 Aug 2023 08:03:52 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 03:03:49 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: f0f866ca-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WW6AVVrnKdyipkWb2LMak/2n2vr+oSfaz/3ky9grqSHLmk39S9JIcVWHXOk8/+ynVojFDU3jnUACTUVhEXf2kR4varDAMzBX3NAvRKTUM9c/KTOdAgO3idoM0It88BwUcEY564csD23kW+x1bjeJ7Jd9l5F3MczzbPWzbC13qGzzBrv3yrrhZ3pmufencXU8g9uWVYgEWR3gjYXalmixJ6OKv4YNlfTj6M5ObseiC1FrKhFMJ7yPq/idVEzVMN7dV7Pwo98132nUcFaUi3Ilto2dYCUKxNy+fKEAdYM1CyOaW9vqhhpIqpPWNP7FclHc4DdSO5+i/8mFshW5o8wpEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=TIcZzuoyJFBSnK9lvM9tk/UhtBZDrF4tll0jlMcf5JT5MLXlGgfqT7Y8aEgqjsazO4enQlddihFtnXhMB5UYF+bYGWi5Ih7+B2Miu3Tr8/q4yc1vTOXKIWNmYiBl3ydP5OKe+EnPUOiRciSP0okRh5Th54frke1m+1EZvFNKTSuGRkotBXgXJQhcbK6ZlNjgQF6MLqgu95HeOydM2Zb8UAyiLuE2f/MtsarB61LOC/xvoUJ4d2W8uCXt2kTewfzYfQ+8v726X4HsmjnzOibon4rPbnLFkU0mMq/3iwo8BKz3Xx04iFRXJLXQ+dY3PlW2xgeueKmbtc3i5BfMnNQ3dw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0SOh4yXnAAqd95uGtVLNuRN1JoH4/9uDY70TgG5n3FU=;
 b=fTHdPbffVyCXa+PBA2aZKc7HPrp+7r7Qt7hyW0TOEosMuQgzeIq96aVk1fJL1g3BDoIL2SCRrcDNtfYeTA2zAxEdrof2nmkRNakB9qY5xKJJ0QOt9+/Swp5Py9aVvfDXv33UxNx7itgM8JzCMYHjPPKCiaS/QtXiayueIVp46Yg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>
Subject: [XEN][PATCH v10 20/20] tools/xl: Add new xl command overlay for device tree overlay support
Date: Fri, 25 Aug 2023 01:02:22 -0700
Message-ID: <20230825080222.14247-21-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|CY5PR12MB6081:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ee1585e-aab8-4244-73b1-08dba541d29b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gjV7tIifUFa107+ucGl8wEN4osFHEV9lq7BM9BVP8ACk75J3CHh4NyFMAgpdRdSVRQ9HglykEnUiTIlgdMsa0XOUwIpStwzOXhnpLCKiNU4kicc+oCho1h5yBhINtMqt+wy4ST18dBcSTDg4O3j3FAL3A4+uDqILLku5vVmk9yvUPTZGReGSQl1OBVTk/u7NQXGhJM/Iya75z3Q/jPc7FJ3uH4AXPPehTobVQaPVt7YmgF5BQ2sRrElIIIrp4dk3WkvAuZZ9FZQ9l16QG2KKL1B/EO0uXY2Obpezg4SGpg3Djq5bKUBRg5BuV8zm1m2akVaD9Xot4rkn1eaGaPaosv9zNIeMYsRn4okEVxGGWW7cBWSca4svVrpqZdZ1PruZ5R66rLsu9N3561328rR2FYJU/Ljegrr60fs1pd3OgXsy9RNCTA1C6jAysrrmnewnzVXw0nNoCZ3NwHOmX2GHyYYDNtuzXMsyFUEbyCMYPaODadTmULiAEcALa6zXbBLVN406B9nNu1E+Lzx2EYOjZ90c3R4UOtxOXo77ZX9zxPltvQsE1yT1DU41D6Wgtd5LYiEMPXjrwGa74q1lLGnl1GR0XXqZKGM8IQ8YZ7yMoRrz/sL8Hbtzw4rlt2R68EaGKuImk8HUCtpSBnZ8bQsNLL6EbO1677dmjRJ0LRdjIjG+Ikkx1DTpW3GqAIphSEHT1H2FIJMfXFNLdnpPe0XC0A5X49T2Un5y8730jWNgYKxSoD8dB3h9lwNLFswFdU2QxsvNhUiq+ka9Wk+obcrifg==
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)(4636009)(39860400002)(136003)(376002)(346002)(396003)(82310400011)(451199024)(1800799009)(186009)(46966006)(40470700004)(36840700001)(82740400003)(81166007)(356005)(40460700003)(8676002)(4326008)(8936002)(54906003)(41300700001)(6666004)(316002)(36756003)(6916009)(70586007)(70206006)(86362001)(40480700001)(47076005)(26005)(478600001)(336012)(36860700001)(1076003)(44832011)(83380400001)(2906002)(2616005)(426003)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:52.7292
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ee1585e-aab8-4244-73b1-08dba541d29b
X-MS-Exchange-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: CY5PR12MB6081

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xl/xl.h           |  1 +
 tools/xl/xl_cmdtable.c  |  6 +++++
 tools/xl/xl_vmcontrol.c | 52 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 72538d6a81..a923daccd3 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -138,6 +138,7 @@ int main_shutdown(int argc, char **argv);
 int main_reboot(int argc, char **argv);
 int main_list(int argc, char **argv);
 int main_vm_list(int argc, char **argv);
+int main_dt_overlay(int argc, char **argv);
 int main_create(int argc, char **argv);
 int main_config_update(int argc, char **argv);
 int main_button_press(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 67604e9536..2463521156 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -631,6 +631,12 @@ const struct cmd_spec cmd_table[] = {
       "Issue a qemu monitor command to the device model of a domain",
       "<Domain> <Command>",
     },
+    { "dt-overlay",
+      &main_dt_overlay, 0, 1,
+      "Add/Remove a device tree overlay",
+      "add/remove <.dtbo>"
+      "-h print this help\n"
+    },
 };
 
 const int cmdtable_len = ARRAY_SIZE(cmd_table);
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 03971927e9..cea5b4a88e 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1265,6 +1265,58 @@ int main_create(int argc, char **argv)
     return 0;
 }
 
+int main_dt_overlay(int argc, char **argv)
+{
+    const char *overlay_ops = NULL;
+    const char *overlay_config_file = NULL;
+    void *overlay_dtb = NULL;
+    int rc;
+    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");
+        return EXIT_FAILURE;
+    }
+
+    overlay_ops = argv[1];
+    overlay_config_file = argv[2];
+
+    if (strcmp(overlay_ops, "add") == 0)
+        op = overlay_add_op;
+    else if (strcmp(overlay_ops, "remove") == 0)
+        op = overlay_remove_op;
+    else {
+        fprintf(stderr, "Invalid dt overlay operation\n");
+        return EXIT_FAILURE;
+    }
+
+    if (overlay_config_file) {
+        rc = libxl_read_file_contents(ctx, overlay_config_file,
+                                      &overlay_dtb, &overlay_dtb_size);
+
+        if (rc) {
+            fprintf(stderr, "failed to read the overlay device tree file %s\n",
+                    overlay_config_file);
+            free(overlay_dtb);
+            return ERROR_FAIL;
+        }
+    } else {
+        fprintf(stderr, "overlay dtbo file not provided\n");
+        return ERROR_FAIL;
+    }
+
+    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);
+
+    free(overlay_dtb);
+
+    if (rc)
+        return EXIT_FAILURE;
+
+    return rc;
+}
 /*
  * Local variables:
  * mode: C
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:11:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590661.923057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRuM-00031k-Kw; Fri, 25 Aug 2023 08:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590661.923057; Fri, 25 Aug 2023 08: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 1qZRuM-00031b-I2; Fri, 25 Aug 2023 08:11:06 +0000
Received: by outflank-mailman (input) for mailman id 590661;
 Fri, 25 Aug 2023 08:11:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRnR-0007G4-VX
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:57 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20629.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef577e2f-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:55 +0200 (CEST)
Received: from DS7PR03CA0121.namprd03.prod.outlook.com (2603:10b6:5:3b4::6) by
 CYYPR12MB8990.namprd12.prod.outlook.com (2603:10b6:930:ba::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.27; Fri, 25 Aug 2023 08:03:52 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:5:3b4:cafe::8c) by DS7PR03CA0121.outlook.office365.com
 (2603:10b6:5:3b4::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:52 +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.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:52 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 03:03:48 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: ef577e2f-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZLo3fxcaTuBsC2MILQLHZ8lfJJkazX7WWIDvk3pVcit1kuRnQ1B9QYdiuBlySvhQtxKHITcUe8dCfCYbGfW3wnZVcQvp3MpXWbzwnZ5SJxtoWYkQz4xZ/PPotiDgnzdDA0OMHFZ93BZs5zlR68K4Rlgv0wvwThaf5oejjbDpau6Xkq+UdR98hyq6Grm0AKvC17848AnmtBUC5w5c+7nwSBfyUTrPBitxThgBHfRUqwbWNeCqWOudInxsPQhQvd9KvgFOK1rFawXLv0JcQHUwoN2/FwUuXXEWhWonlkEcXOumRxAzRpESDO71sukYKWeK+WZlHhfx8SXIOoZMVsh7/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=VyfLVwdUlW/FmYMCVSvTFp3JZZYjTCyxSwJiKGtmFEPYo4wdkt/Rc42Td+Wq/EWyPgx04if76thCihq/Y+NgVN05e797aToiR3wfF9f0RIlnm6Yn+ULddNvPPD3HYlkLEPUHn5I2iaT+Tma+PLkZ659mH6ucF7r+8xVMjerz7lzK2DYWl/FADapdMZj3O8D5NF9/jmRtzGLNNppl0VWPt3NBN72pjONCjfV9pOMBguDOa/cIjh/pZO16tgJwOBFO3xsHV1gSjdK7FXW18AxED8dMu7ka3F/JpksG7JUd7UdKgxogw63iwOI1r/ilTR17O7F4GiuL9XeezB5Wta2pJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=niCrThl8tSMKvN20vRpMYz3k/B1BccExVBIC4Bh0pr4=;
 b=zHsPWq58zZQcfafpKRxauLFgN2q9C4bDCAVAiIMdEySqtrFZlYt2E8D5v4gPZ0U6YWGSPjUJbCKd8WwPDY9Us5wE2vaTuw5FIxQctMxMkT3rkSanYlkvXi5boaHN1D03TojsP7/WdjUYy20aUvvJDIQHnCIxLAoCOB0kb9wwFb0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v10 19/20] tools/libs/light: Implement new libxl functions for device tree overlay ops
Date: Fri, 25 Aug 2023 01:02:21 -0700
Message-ID: <20230825080222.14247-20-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|CYYPR12MB8990:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b4ad94c-00ec-47eb-4ca2-08dba541d266
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pgdUs4g2kYSopWsUhShitsqu0Q48qz1uQ7QrqQdua1D+G4tAPILy+zpvqLYwNN6yy4oPfoX5Y0G26ZqZdR0FR+8QBBXoj3L489hkUfikFxCqA8+NDX28G8nXiCjnk68QfLboXvxq71YDvt2H7kGbWdz2uU75mKh4LiOIqLfjsH2LnjQ7fMaYtJnJgbHYf8rd4knrBa6KwKNbhyURd9fzYk+yhh1oysS18wECbOGYnzJOAMROiOvsg2Nfx2AJSdX33l7ROTeC4W9ubHNltN5EzInpEKzfxlhIEqrcBHYB0obDZyzqfJNqsLYMMpRqgFiUqBMm/hWSJASVzF7vXSWyQG4DDRGEP6PDOtJqIvaAywfhgGkzBeFHy0kX/kXAQBHuvPo/xE9q0tLlK5IWMshK2eTTpE1vM9xpEsdUnpu+GcvaN1JtC2+jUEOy/4PnXyh4CRo0viTCXVW/6p/KSOY60gihLC1voLIem5dRPzBVjOvZpb9itt8x8wcz0AcuG8WDihtvoQH84D5jCZG4QHhKVdt6Xpx7YkYpkZspAb1/DmFYAEktr3sr8lu/dA9PRka5HODA7EtwtMH+IgWu9jeNU2KU38UQrlHrGbYv71LulNDxx7Q06yWhEWlS7luXCrDJ809FF1pULaNhHXZj38VELTrgf3fCNCmR91m0gQriKKNDqXBgcKh+KWxpe+rcIHYYc3XYKEihVT/qwAZuxGLSrH5mbR11MXfg2bhkk4ZPEKs12QKPmqpjYw7aNwQpC5N8SQJtOt/9OktGQlmKHSmm1VtsjYmJUjfhnc9VUfXc4Bo=
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)(4636009)(376002)(346002)(39860400002)(396003)(136003)(82310400011)(1800799009)(186009)(451199024)(40470700004)(36840700001)(46966006)(1076003)(40460700003)(2616005)(5660300002)(8936002)(4326008)(8676002)(336012)(47076005)(426003)(36756003)(44832011)(36860700001)(26005)(82740400003)(40480700001)(356005)(6666004)(81166007)(6916009)(70206006)(70586007)(54906003)(316002)(478600001)(41300700001)(2906002)(86362001)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:52.3809
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b4ad94c-00ec-47eb-4ca2-08dba541d266
X-MS-Exchange-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: CYYPR12MB8990

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/include/libxl.h               | 11 +++++
 tools/libs/light/Makefile           |  3 ++
 tools/libs/light/libxl_dt_overlay.c | 71 +++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+)
 create mode 100644 tools/libs/light/libxl_dt_overlay.c

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index aa5b1c98d4..b4f2a69b34 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -259,6 +259,12 @@
  */
 #define LIBXL_HAVE_DEVICETREE_PASSTHROUGH 1
 
+#if defined(__arm__) || defined(__aarch64__)
+/**
+ * This means Device Tree Overlay is supported.
+ */
+#define LIBXL_HAVE_DT_OVERLAY 1
+#endif
 /*
  * libxl_domain_build_info has device_model_user to specify the user to
  * run the device model with. See docs/misc/qemu-deprivilege.txt.
@@ -2493,6 +2499,11 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
                                         int *num);
 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);
+#endif
+
 /*
  * Turns the current process into a backend device service daemon
  * for a driver domain.
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 5d7ff94b05..ba4c1b7933 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -112,6 +112,9 @@ OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
 OBJS-y += _libxl_types_internal.o
 
+# Device tree overlay is enabled only for ARM architecture.
+OBJS-$(CONFIG_ARM) += libxl_dt_overlay.o
+
 ifeq ($(CONFIG_LIBNL),y)
 CFLAGS_LIBXL += $(LIBNL3_CFLAGS)
 endif
diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
new file mode 100644
index 0000000000..a6c709a6dc
--- /dev/null
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+#include "libxl_internal.h"
+#include <libfdt.h>
+#include <xenctrl.h>
+
+static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
+{
+    int r;
+
+    if (fdt_magic(fdt) != FDT_MAGIC) {
+        LOG(ERROR, "Overlay FDT is not a valid Flat Device Tree");
+        return ERROR_FAIL;
+    }
+
+    r = fdt_check_header(fdt);
+    if (r) {
+        LOG(ERROR, "Failed to check the overlay FDT (%d)", r);
+        return ERROR_FAIL;
+    }
+
+    if (fdt_totalsize(fdt) > size) {
+        LOG(ERROR, "Overlay FDT totalsize is too big");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
+                     uint8_t overlay_op)
+{
+    int rc;
+    int r;
+    GC_INIT(ctx);
+
+    if (check_overlay_fdt(gc, overlay_dt, overlay_dt_size)) {
+        LOG(ERROR, "Overlay DTB check failed");
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "Overlay DTB check passed");
+        rc = 0;
+    }
+
+    r = xc_dt_overlay(ctx->xch, overlay_dt, overlay_dt_size, overlay_op);
+
+    if (r) {
+        LOG(ERROR, "%s: Adding/Removing overlay dtb failed.", __func__);
+        rc = ERROR_FAIL;
+    }
+
+out:
+    GC_FREE;
+    return rc;
+}
+
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:11:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:11:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590677.923067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRui-00040q-4g; Fri, 25 Aug 2023 08:11:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590677.923067; Fri, 25 Aug 2023 08: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 1qZRui-00040j-0D; Fri, 25 Aug 2023 08:11:28 +0000
Received: by outflank-mailman (input) for mailman id 590677;
 Fri, 25 Aug 2023 08:11: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRnP-0007GZ-Vf
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:55 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee93e141-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:54 +0200 (CEST)
Received: from MW4PR03CA0250.namprd03.prod.outlook.com (2603:10b6:303:b4::15)
 by DM4PR12MB7741.namprd12.prod.outlook.com (2603:10b6:8:103::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:50 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:b4:cafe::6b) by MW4PR03CA0250.outlook.office365.com
 (2603:10b6:303:b4::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:49 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.2 via Frontend Transport; Fri, 25 Aug 2023 08:03:49 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 03:03:47 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 25 Aug
 2023 01:03:47 -0700
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: ee93e141-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HduS80hfQ0RwZJd0/kGyZfPxMKe3oh/7ym6qJXU0D0uXxWrIM8NTXtk7KEfWYgNhPjKz0mTUxNkFLhxN7P5NEtEs2M1SRRm76qB/rR1tlxP7EPlDS3BzM4jjW/IL0+T4VX0RnfNIwbH77FVuJHYt9Rmpq+YH0a0Wk/r+Y412WORSEYVI8IdsU6lgquk3yM1gzrQYE2ZGojQERCtxKfkn7ope9VhmlwjfeJYtaJ3w4txdZ81eoXiMzSWT9betNQJ42mOHS7Vp85nnZhouef7tSozVk1QAJRusVePqQmovP2UoE4OWMG08y2NfmuuEzI/CcO9qicdM1l84Okfmlp+goQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/se936Ujxc8NjdpD2oq8brh4lkajza78rV0iq3rKEiM=;
 b=Kk5A+8cuq7YC4VIHwTP/pAc3H45XHLYb4kCqIreJkFE03agFifiwJEgLKMNskc4diGGiry2ehvoP+yMVCo5+xYaSgE9z5yOLokLi2z21km3tT0lnPaFzewLjKZuQmogpzuT2y5R4RgwS3MIA2kLAMvWpmQ5/OsbObONrgTzOP4DPhXn1wU/IeUMBcgAKLd7/DM7/uP0N6drjLo3361w5h3sYV1d1IP5WVfUyRRSOtgsLkKQ+deWdYgTFWgI4Nwdv4dV7vdMIhWBcodHWRwu7tJeiAAp3D9RpAOzLNfwCISOG9kOyMdLQsEPkVlbQEkajTfemPcAB016A6MLKUb1ZlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/se936Ujxc8NjdpD2oq8brh4lkajza78rV0iq3rKEiM=;
 b=ndeV2ql1xIc9PaY3udxvRiQw9/KhcDbmHx4PlijIZ1XkZBE1C/X7mPCitbcpoo/Rn3bQO6r3Fp7wuY+uSH39Gzxwk+b6T8W7gTI4ojI+GV9qdXUZ0g/gZ0R0SiyvyBK82SPbwLeZY1oEEi5K0vVU/bdHPn+ScFsLK2ufSnIGUDo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][PATCH v10 18/20] tools/libs/ctrl: Implement new xc interfaces for dt overlay
Date: Fri, 25 Aug 2023 01:02:20 -0700
Message-ID: <20230825080222.14247-19-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|DM4PR12MB7741:EE_
X-MS-Office365-Filtering-Correlation-Id: 271ee5a1-108b-4bd1-6d56-08dba541d0c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gl4nc7i3IzLezFZW3pdIAD0X9FAznfF5Im7s0Ba02g3aMLdXYjkIZx8hgaS2OuaBxaGKv7RasXotEo2gd6kYcJUPsPA+3W/zpWhEmRwj+uzpbVjflf3prk00I38lKi9R7D/z08rBWIir61ll8uDV2zwoDjWHJCljZm/GvhOZb8NoYG0AFgEB2cZld+QHCJd+kgChNxXzSa/uHjcZ7gBCK85FMObyrKBq1L9fjsORzlmowzRMH6IrD+QVX+Z/a2b6qO3fpMI5qnO9vGmO2Pt9FIK+rm4mUjhwi/VYQCbhR6u94fxaXevurCL5r2LjV3C+sS43KyeQiE9hpMhJZOY+A8TNr7X6xgFRd4dWpbHnySUICqapsblUndKJ6BaqZC7XlCMy1YQxHEGIdBzUVwu4ulflAacSJeBD7nNB64yBY49r4XZ4f4aLF+SIK6xek2uG01f5KMCTJdt22YLyOYbhDlChJSg0LJo1/nnDAMHM4KkUQfRA0mRMJJ7osqdAWjcKPySegFG4o86XAf3nFxRV0PR1NrHd/ibSWNSKk+fw91cKUh/4V/sayG7vjLFvnDJxMkPTd6po0T8DCmmuNU2UBn0XAsuRIQI7DC0xfTACGcoApfSTh1l8Yp4cjRD7riU6J3m15p9aEKf0gEYynkmrh55Udiw2F4sCinpNt7B+Zn8NsNvFB3AU6Drpuf6ghEMPrPP885e/3ES7Os4u86ldU6IPmWDeluQQKw9b1AL5n+BSDfDcM5mjxXNiN2we1n+o3Cm25LJal6ObLTgv/J4L61IcuBk1bKGD+f05KX3k5MQ=
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)(4636009)(376002)(346002)(39860400002)(396003)(136003)(82310400011)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(1076003)(40460700003)(2616005)(5660300002)(4326008)(8676002)(8936002)(336012)(426003)(47076005)(36756003)(44832011)(36860700001)(26005)(40480700001)(82740400003)(356005)(6666004)(81166007)(70586007)(70206006)(54906003)(6916009)(316002)(478600001)(41300700001)(2906002)(86362001)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:49.4770
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 271ee5a1-108b-4bd1-6d56-08dba541d0c5
X-MS-Exchange-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:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7741

xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/include/xenctrl.h         |  5 ++++
 tools/libs/ctrl/Makefile.common |  1 +
 tools/libs/ctrl/xc_dt_overlay.c | 50 +++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index faec1dd824..3da602586c 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2643,6 +2643,11 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
 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);
+#endif
+
 /* Compat shims */
 #include "xenctrl_compat.h"
 
diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
index 0a09c28fd3..247afbe5f9 100644
--- a/tools/libs/ctrl/Makefile.common
+++ b/tools/libs/ctrl/Makefile.common
@@ -24,6 +24,7 @@ OBJS-y       += xc_hcall_buf.o
 OBJS-y       += xc_foreign_memory.o
 OBJS-y       += xc_kexec.o
 OBJS-y       += xc_resource.o
+OBJS-$(CONFIG_ARM)  += xc_dt_overlay.o
 OBJS-$(CONFIG_X86) += xc_psr.o
 OBJS-$(CONFIG_X86) += xc_pagetab.o
 OBJS-$(CONFIG_Linux) += xc_linux.o
diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
new file mode 100644
index 0000000000..c2224c4d15
--- /dev/null
+++ b/tools/libs/ctrl/xc_dt_overlay.c
@@ -0,0 +1,50 @@
+/*
+ *
+ * Device Tree Overlay functions.
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "xc_private.h"
+
+int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op)
+{
+    int err;
+    struct xen_sysctl sysctl = {
+        .cmd = XEN_SYSCTL_dt_overlay,
+        .u.dt_overlay = {
+            .overlay_op = overlay_op,
+            .overlay_fdt_size = overlay_fdt_size,
+        }
+    };
+
+    DECLARE_HYPERCALL_BOUNCE(overlay_fdt, overlay_fdt_size,
+                             XC_HYPERCALL_BUFFER_BOUNCE_IN);
+
+    if ( (err = xc_hypercall_bounce_pre(xch, overlay_fdt)) )
+        goto err;
+
+    set_xen_guest_handle(sysctl.u.dt_overlay.overlay_fdt, overlay_fdt);
+
+    if ( (err = do_sysctl(xch, &sysctl)) != 0 )
+        PERROR("%s failed", __func__);
+
+err:
+    xc_hypercall_bounce_post(xch, overlay_fdt);
+
+    return err;
+}
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:12:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:12:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590698.923077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRvJ-000505-CK; Fri, 25 Aug 2023 08:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590698.923077; Fri, 25 Aug 2023 08:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRvJ-0004zy-8h; Fri, 25 Aug 2023 08:12:05 +0000
Received: by outflank-mailman (input) for mailman id 590698;
 Fri, 25 Aug 2023 08:12:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRnR-0007GZ-R8
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:57 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe59::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f06efcd3-431d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 10:03:56 +0200 (CEST)
Received: from SA9P223CA0019.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::24)
 by PH7PR12MB8177.namprd12.prod.outlook.com (2603:10b6:510:2b4::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:52 +0000
Received: from SN1PEPF0002636B.namprd02.prod.outlook.com
 (2603:10b6:806:26:cafe::78) by SA9P223CA0019.outlook.office365.com
 (2603:10b6:806:26::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:52 +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.6699.14 via Frontend Transport; Fri, 25 Aug 2023 08:03:51 +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.27; Fri, 25 Aug
 2023 03:03:46 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: f06efcd3-431d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lmqmKTd+hE+Xko9CJjukWx8rSjOCvWsTmD7mqr9tkDvAos4qmRe6cU1S/yZlSpJYg76LTcSWrR0+a/OoZdokRKju72e3jxgHzBFYKlmqVjNDMdmGZXCuyoi60k/xK8XC+ZZPC5ZVLv98tcf+ob3DqBysxLQJEs6it535AdyWx4tz/dvURyluJbmK9CMzUmJWjKQ4zMnO5Qb+5pSGoZa2b5KrhXr2iV5HcnBkn7T53chx3PMb43vG3Xb0avPHY2qqKnHvhYERQQQO+ljhmNSbNZfUm4NHRLR69br8pW14bQlE6JfpL1lKj35/DZ5W3//dWQH9SPt30rHjsfvZKUeLKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=su17ekHBLJzw0hv7K/2ka70d5IT8Mbr5+9d7QLpnNxw=;
 b=bcgbO5VsFBZreP7OYF/3vY1Gbw5RD8wpLY69rVRgw8+Fcpjat89NXhuMjC/m1QVmW2DzWQ2qMgyECuYsLOxilG7Q8uv+g8Hp//TFiFrVpQccW6LsyxjQz3aKFHbzKNmkImiUfMxtcaobHRaPuZtS/FGsntJ2k02fA65kv49SCbiW3aqpWNWs+PeDHwaUec2bZFO0pXDx2a4NlgbgJVKIVaEXbJ5nXbMqCNDei2y6YHp3yAt404iLCIhc4wS9fChfo35NXy6adt6+p1Y7xEjdF/gETpaBYLsaOBXtS4sf8ON841BOWD1UADSZns/K3MgxKlf/htzCzb3EXgW+V05k4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=su17ekHBLJzw0hv7K/2ka70d5IT8Mbr5+9d7QLpnNxw=;
 b=lV1YzYfjyESWL3kHPD2StS2k8MYVorADaShVBuL461f0i/eQr+iFPI1RQzdHaVx3BnFjthY7dso0ktZ35yN5s5sbTPYPKS3aI8ir+vl6QawjDmQKzjTYsIm1viVJtUQPB1CN5A8iG0GTKB+n1EndakcDOoEumRCY18jY40FE3Kg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>
Subject: [XEN][PATCH v10 17/20] xen/arm: Implement device tree node addition functionalities
Date: Fri, 25 Aug 2023 01:02:19 -0700
Message-ID: <20230825080222.14247-18-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|PH7PR12MB8177:EE_
X-MS-Office365-Filtering-Correlation-Id: 20d4057b-005e-47fe-b48f-08dba541d21a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cUrYVV5QaC1EaOnVKBYlnxrLZxIWhEIqr/7tOJC9WlR1y07iqd6Vm1CbkSPVN4id0XFMRaLDaH3F3BQC9uAjFUpKO75CUqvjUqPtfIKh8w3Gk7OWDdJp52vaqgwHRXNnmRMyJ8k3S5gMbWN9L43WrN1VVAtFN164sP7HcjTiUIg1FIBfDpaA8z4xx3hRyh2Vjd8Zq3CkNMyyB+PFKt6Gas7O7vdw3HTRS7iXdUXAXW30PCgUXU5gBi+wMs/5EMdm4xnjzzit/CIu5TY6eJbJ5zsYh5htVUaS0tViDOgl2rut26xLpn8LBdwtcNO5lSFe1ioxxCGOoW7duA9DBKVioI+I9Riv6JgeiZH7ZKG0hTWTqNsm5D1F49lQKCK56TxRML3j6+KF2ij2ZoWPzmQSsT1y3Uv8meJ9PRYuCAQskyW71idJ1y91yf/QR/dSx3hbcksnZTpvTfNpECdSblkYNYQqy5CuX50R2uleVn3GqHFIoAqMxt7X6MFZ6vszTwFo5aoMf6YWsgW3ybUbY7LLxsZQGC2ptA+wU+gG3EneZ/za/6MpXIhoXNlwUGTaDwOceWhvyu2IMiL8FcwFMHOo8sSbVvnbiDD1ZFqiw0QcL+To153MWsiCusKx/El3fZlyLZSRVEKN7PW3UDkCi2MdvaG7m1KBhJHDCfh4QiQoCNypPwGZOrTPcM5Q6WuzYSCwVepih78duAWP0Hi4AZ0qO5xRLkf5GxbzFGrCCu0/WWkmH4rD9u6m/9PWJyzu/F5SpvggE+k83dv0sO5J+c9SRQ==
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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(54906003)(70586007)(70206006)(316002)(6916009)(81166007)(478600001)(40480700001)(26005)(6666004)(82740400003)(41300700001)(86362001)(2906002)(356005)(30864003)(4326008)(8676002)(8936002)(83380400001)(2616005)(40460700003)(66899024)(5660300002)(47076005)(44832011)(1076003)(426003)(336012)(36756003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:51.8854
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 20d4057b-005e-47fe-b48f-08dba541d21a
X-MS-Exchange-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: PH7PR12MB8177

Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.

xl dt-overlay add file.dtbo:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, it checks if any
    of the overlay nodes already exists in the dt_host. If overlay nodes doesn't
    exist then find the overlay nodes in dt_host_new, find the overlay node's
    parent in dt_host and add the nodes as child under their parent in the
    dt_host. The node is attached as the last node under target parent.

    Finally, add IRQs, add device to IOMMUs, set permissions and map MMIO for the
    overlay node.

When a node is added using overlay, a new entry is allocated in the
overlay_track to keep the track of memory allocation due to addition of overlay
node. This is helpful for freeing the memory allocated when a device tree node
is removed.

The main purpose of this to address first part of dynamic programming i.e.
making xen aware of new device tree node which means updating the dt_host with
overlay node information. Here we are adding/removing node from dt_host, and
checking/setting IOMMU and IRQ permission but never mapping them to any domain.
Right now, mapping/Un-mapping will happen only when a new domU is
created/destroyed using "xl create".

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Remove add_resources() and use handle_device().
Changes from v8:
    Add rangeset to keep IRQs and IOMEM information.
Changes from v7:
    Move overlay_node_count() in this patch.
    Fix indent with goto statements.
    Rename handle_add_irq_iommu() to add_resources().
Changes from v6:
    Fix comment style and add comment regarding false flag in irq mapping.
    Move malloc for nodes_full_path to handle_add_overlay_nodes.
    Move node_num define to start of overlay_get_nodes_info().
    Remove "domain *d" from handle_add_irq_iommu().
    Fix error handling for handle_add_irq_iommu().
    Split handle_add_overlay_nodes to two functions.
    Create a separate function for freeing nodes_full_path.
    Fix xfree for dt_sysctl.
---
---
 xen/common/dt-overlay.c | 495 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 495 insertions(+)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 12a3029fee..e7a467f60a 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -34,6 +34,25 @@ find_last_descendants_node(const struct dt_device_node *device_node)
     return child_node;
 }
 
+/*
+ * Returns next node to the input node. If node has children then return
+ * last descendant's next node.
+*/
+static struct dt_device_node *
+dt_find_next_node(struct dt_device_node *dt, const struct dt_device_node *node)
+{
+    struct dt_device_node *np;
+
+    dt_for_each_device_node(dt, np)
+        if ( np == node )
+            break;
+
+    if ( np->child )
+        np = find_last_descendants_node(np);
+
+    return np->allnext;
+}
+
 static int dt_overlay_remove_node(struct dt_device_node *device_node)
 {
     struct dt_device_node *np;
@@ -111,6 +130,78 @@ static int dt_overlay_remove_node(struct dt_device_node *device_node)
     return 0;
 }
 
+static int dt_overlay_add_node(struct dt_device_node *device_node,
+                               const char *parent_node_path)
+{
+    struct dt_device_node *parent_node;
+    struct dt_device_node *next_node;
+
+    parent_node = dt_find_node_by_path(parent_node_path);
+
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("Parent node %s not found. Overlay node will not be added\n",
+                   parent_node_path);
+        return -EINVAL;
+    }
+
+    /* If parent has no child. */
+    if ( parent_node->child == NULL )
+    {
+        next_node = parent_node->allnext;
+        device_node->parent = parent_node;
+        parent_node->allnext = device_node;
+        parent_node->child = device_node;
+    }
+    else
+    {
+        struct dt_device_node *np;
+        /*
+         * If parent has at least one child node.
+         * Iterate to the last child node of parent.
+         */
+        for ( np = parent_node->child; np->sibling != NULL; np = np->sibling );
+
+        /* Iterate over all child nodes of np node. */
+        if ( np->child )
+        {
+            struct dt_device_node *np_last_descendant;
+
+            np_last_descendant = find_last_descendants_node(np);
+
+            next_node = np_last_descendant->allnext;
+            np_last_descendant->allnext = device_node;
+        }
+        else
+        {
+            next_node = np->allnext;
+            np->allnext = device_node;
+        }
+
+        device_node->parent = parent_node;
+        np->sibling = device_node;
+        np->sibling->sibling = NULL;
+    }
+
+    /* Iterate over all child nodes of device_node to add children too. */
+    if ( device_node->child )
+    {
+        struct dt_device_node *device_node_last_descendant;
+
+        device_node_last_descendant = find_last_descendants_node(device_node);
+
+        /* Plug next_node at the end of last children of device_node. */
+        device_node_last_descendant->allnext = next_node;
+    }
+    else
+    {
+        /* Now plug next_node at the end of device_node. */
+        device_node->allnext = next_node;
+    }
+
+    return 0;
+}
+
 /* Basic sanity check for the dtbo tool stack provided to Xen. */
 static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
 {
@@ -171,6 +262,102 @@ static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
     return rc;
 }
 
+/* Count number of nodes till one level of __overlay__ tag. */
+static unsigned int overlay_node_count(const void *overlay_fdt)
+{
+    unsigned int num_overlay_nodes = 0;
+    int fragment;
+
+    fdt_for_each_subnode(fragment, overlay_fdt, 0)
+    {
+        int subnode;
+        int overlay;
+
+        overlay = fdt_subnode_offset(overlay_fdt, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, overlay_fdt, overlay)
+        {
+            num_overlay_nodes++;
+        }
+    }
+
+    return num_overlay_nodes;
+}
+
+/*
+ * overlay_get_nodes_info gets full name with path for all the nodes which
+ * are in one level of __overlay__ tag. This is useful when checking node for
+ * duplication i.e. dtbo tries to add nodes which already exists in device tree.
+ */
+static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
+{
+    int fragment;
+    unsigned int node_num = 0;
+
+    fdt_for_each_subnode(fragment, fdto, 0)
+    {
+        int target;
+        int overlay;
+        int subnode;
+        const char *target_path;
+
+        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
+                                           fragment, &target_path);
+        if ( target < 0 )
+            return target;
+
+        if ( target_path == NULL )
+            return -EINVAL;
+
+        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, fdto, overlay)
+        {
+            const char *node_name = NULL;
+            int node_name_len;
+            unsigned int target_path_len = strlen(target_path);
+            unsigned int node_full_name_len;
+
+            node_name = fdt_get_name(fdto, subnode, &node_name_len);
+
+            if ( node_name == NULL )
+                return node_name_len;
+
+            /*
+             * Magic number 2 is for adding '/' and '\0'. This is done to keep
+             * the node_full_path in the correct full node name format.
+             */
+            node_full_name_len = target_path_len + node_name_len + 2;
+
+            nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
+
+            if ( nodes_full_path[node_num] == NULL )
+                return -ENOMEM;
+
+            memcpy(nodes_full_path[node_num], target_path, target_path_len);
+
+            nodes_full_path[node_num][target_path_len] = '/';
+
+            memcpy(nodes_full_path[node_num] + target_path_len + 1,
+                    node_name, node_name_len);
+
+            nodes_full_path[node_num][node_full_name_len - 1] = '\0';
+
+            node_num++;
+        }
+    }
+
+    return 0;
+}
+
 /* Check if node itself can be removed. */
 static bool check_node_removable(struct dt_device_node *device_node)
 {
@@ -345,6 +532,312 @@ static long handle_remove_overlay_nodes(const void *overlay_fdt,
     return rc;
 }
 
+static void free_nodes_full_path(int num_nodes, char **nodes_full_path)
+{
+    int i;
+
+    if ( nodes_full_path != NULL )
+    {
+        for ( i = 0; i < num_nodes && nodes_full_path[i] != NULL;
+              i++ )
+        {
+            xfree(nodes_full_path[i]);
+        }
+        xfree(nodes_full_path);
+    }
+
+    return;
+}
+
+static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
+
+{
+    int j, rc;
+    struct dt_device_node *overlay_node;
+
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        struct dt_device_node *prev_node, *next_node;
+
+        dt_dprintk("Adding node: %s\n", nodes_full_path[j]);
+
+        /* Find the newly added node in tr->dt_host_new by it's full path. */
+        overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
+                                                 nodes_full_path[j]);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        /*
+         * Find previous and next node to overlay_node in dt_host_new. We will
+         * need these nodes to fix the dt_host_new mapping. When overlay_node is
+         * take out of dt_host_new tree and added to dt_host, link between
+         * previous node and next_node is broken. We will need to refresh
+         * dt_host_new with correct linking for any other overlay nodes
+         * extraction in future.
+         */
+        dt_for_each_device_node(tr->dt_host_new, prev_node)
+            if ( prev_node->allnext == overlay_node )
+                break;
+
+        next_node = dt_find_next_node(tr->dt_host_new, overlay_node);
+
+        write_lock(&dt_host_lock);
+
+        /* Add the node to dt_host. */
+        rc = dt_overlay_add_node(overlay_node, overlay_node->parent->full_name);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+
+            /* Node not added in dt_host. */
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+
+        prev_node->allnext = next_node;
+
+        overlay_node = dt_find_node_by_path(overlay_node->full_name);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            return -EFAULT;
+        }
+
+        rc = handle_device(hardware_domain, overlay_node, p2m_mmio_direct_c,
+                           tr->iomem_ranges,
+                           tr->irq_ranges);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            return rc;
+        }
+
+        /* Keep overlay_node address in tracker. */
+        tr->nodes_address[j] = (unsigned long)overlay_node;
+    }
+
+    return 0;
+}
+/*
+ * Adds device tree nodes under target node.
+ * We use tr->dt_host_new to unflatten the updated device_tree_flattened. This
+ * is done to avoid the removal of device_tree generation, iomem regions mapping
+ * to hardware domain done by handle_node().
+ */
+static long handle_add_overlay_nodes(void *overlay_fdt,
+                                     uint32_t overlay_fdt_size)
+{
+    int rc, j;
+    struct dt_device_node *overlay_node;
+    struct overlay_track *tr = NULL;
+    char **nodes_full_path = NULL;
+    unsigned int new_fdt_size;
+
+    tr = xzalloc(struct overlay_track);
+    if ( tr == NULL )
+        return -ENOMEM;
+
+    new_fdt_size = fdt_totalsize(device_tree_flattened) +
+                                 fdt_totalsize(overlay_fdt);
+
+    tr->fdt = xzalloc_bytes(new_fdt_size);
+    if ( tr->fdt == NULL )
+    {
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->num_nodes = overlay_node_count(overlay_fdt);
+    if ( tr->num_nodes == 0 )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    tr->nodes_address = xzalloc_bytes(tr->num_nodes * sizeof(unsigned long));
+    if ( tr->nodes_address == NULL )
+    {
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return rc;
+    }
+
+    /*
+     * Keep a copy of overlay_fdt as fdt_overlay_apply will change the input
+     * overlay's content(magic) when applying overlay.
+     */
+    tr->overlay_fdt = xzalloc_bytes(overlay_fdt_size);
+    if ( tr->overlay_fdt == NULL )
+    {
+        xfree(tr->nodes_address);
+        xfree(tr->fdt);
+        xfree(tr);
+        return -ENOMEM;
+    }
+
+    memcpy(tr->overlay_fdt, overlay_fdt, overlay_fdt_size);
+
+    spin_lock(&overlay_lock);
+
+    memcpy(tr->fdt, device_tree_flattened,
+           fdt_totalsize(device_tree_flattened));
+
+    /* Open tr->fdt with more space to accommodate the overlay_fdt. */
+    rc = fdt_open_into(tr->fdt, tr->fdt, new_fdt_size);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Increasing fdt size to accommodate overlay_fdt failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    nodes_full_path = xzalloc_bytes(tr->num_nodes * sizeof(char *));
+    if ( nodes_full_path == NULL )
+    {
+        rc = -ENOMEM;
+        goto err;
+    }
+
+    /*
+     * overlay_get_nodes_info is called to get the node information from dtbo.
+     * This is done before fdt_overlay_apply() because the overlay apply will
+     * erase the magic of overlay_fdt.
+     */
+    rc = overlay_get_nodes_info(overlay_fdt, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Getting nodes information failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    rc = fdt_overlay_apply(tr->fdt, overlay_fdt);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding overlay node failed with error %d\n", rc);
+        goto err;
+    }
+
+    /*
+     * Check if any of the node already exists in dt_host. If node already exits
+     * we can return here as this overlay_fdt is not suitable for overlay ops.
+     */
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        overlay_node = dt_find_node_by_path(nodes_full_path[j]);
+        if ( overlay_node != NULL )
+        {
+            printk(XENLOG_ERR "node %s exists in device tree\n",
+                   nodes_full_path[j]);
+            rc = -EINVAL;
+            goto err;
+        }
+    }
+
+    /*
+    * Unflatten the tr->fdt into a new dt_host.
+    * TODO: Check and add alias_scan() if it's needed for overlay in future.
+    */
+    rc = unflatten_device_tree(tr->fdt, &tr->dt_host_new);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "unflatten_device_tree failed with error %d\n", rc);
+        goto err;
+    }
+
+    tr->irq_ranges = rangeset_new(hardware_domain, "Overlays: Interrupts", 0);
+    if (tr->irq_ranges == NULL)
+    {
+        printk(XENLOG_ERR "Creating IRQ rangeset failed");
+        goto err;
+    }
+
+    tr->iomem_ranges = rangeset_new(hardware_domain, "Overlay: I/O Memory", 0);
+    if (tr->iomem_ranges == NULL)
+    {
+        printk(XENLOG_ERR "Creating IOMMU rangeset failed");
+        goto err;
+    }
+
+    rc = add_nodes(tr, nodes_full_path);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding nodes failed. Removing the partially added nodes.\n");
+        goto remove_node;
+    }
+
+    INIT_LIST_HEAD(&tr->entry);
+    list_add_tail(&tr->entry, &overlay_tracker);
+
+    spin_unlock(&overlay_lock);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    return rc;
+
+/*
+ * Failure case. We need to remove the nodes, free tracker(if tr exists) and
+ * tr->dt_host_new.
+ */
+ remove_node:
+    tr->num_nodes = j;
+    rc = remove_nodes(tr);
+
+    if ( rc )
+    {
+        /*
+         * User needs to provide right overlay. Incorrect node information
+         * example parent node doesn't exist in dt_host etc can cause memory
+         * leaks as removing_nodes() will fail and this means nodes memory is
+         * not freed from tracker. Which may cause memory leaks. Ideally, these
+         * device tree related mistakes will be caught by fdt_overlay_apply()
+         * but given that we don't manage that code keeping this warning message
+         * is better here.
+         */
+        printk(XENLOG_ERR "Removing node failed.\n");
+        spin_unlock(&overlay_lock);
+
+        free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+        return rc;
+    }
+
+ err:
+    spin_unlock(&overlay_lock);
+
+    if ( tr->dt_host_new )
+        xfree(tr->dt_host_new);
+
+    xfree(tr->overlay_fdt);
+    xfree(tr->nodes_address);
+    xfree(tr->fdt);
+
+    free_nodes_full_path(tr->num_nodes, nodes_full_path);
+
+    rangeset_destroy(tr->irq_ranges);
+    rangeset_destroy(tr->iomem_ranges);
+
+    xfree(tr);
+
+    return rc;
+}
+
 long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 {
     long ret;
@@ -376,6 +869,8 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 
     if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
         ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+    else
+        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
 
     xfree(overlay_fdt);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:12:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590704.923087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRvP-0005LG-MX; Fri, 25 Aug 2023 08:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590704.923087; Fri, 25 Aug 2023 08:12: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 1qZRvP-0005L9-Jq; Fri, 25 Aug 2023 08:12:11 +0000
Received: by outflank-mailman (input) for mailman id 590704;
 Fri, 25 Aug 2023 08:12: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=+VXW=EK=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qZRnP-0007G4-V4
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:03:56 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e89::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecf36cd5-431d-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:03:53 +0200 (CEST)
Received: from DS7PR03CA0122.namprd03.prod.outlook.com (2603:10b6:5:3b4::7) by
 MN2PR12MB4128.namprd12.prod.outlook.com (2603:10b6:208:1dd::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:03:47 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:5:3b4:cafe::27) by DS7PR03CA0122.outlook.office365.com
 (2603:10b6:5:3b4::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:03:47 +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.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:03:46 +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.27; Fri, 25 Aug
 2023 03:03:08 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:03: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: ecf36cd5-431d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BeTObQ4RvJZOwegyp65K0/kaf9HbX+dksOkw1soA5EMBOiOtbfuT4T3DOcCl60wH8C8C1E0kpj8CHURy0YnGW5lVJVS7RNUBGwJBbMwTmrfHidXmpcC/HBhFsf9l/gjg0tMONYN5KJkVNkxh3JFQflcQdW5B653nuxGziN6LkcNUrnH7L8hcmAlI49kOOJ5oIycqIfJhElLegjxWiCt2g0tZH9D2WajSmZcN9AgXUNirRFNbV16p/+61blkDOyelL1lAQzxsgWicje0QMC9X9C8VDMbJ24Fd+6c4oq6SaRYcZLzWYUZNu9rFOsS1XOYLWdZAy6UZUcDi2FP/P0b/ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zt/V6Dm8rU3iuQaBnl1b6JyUY5OvDZ99vua8YutGWYU=;
 b=ne8wK+ZqTPEaMh9GBMpQmhGjLc2j34N1EerAaAsZZZs3VKM8z19kQL/lLpuwgTDbu18wZIBTvl1fjRVzpLh3ppR0U+MYAv7B+sQBKkmxDldmyvlwOcusY63RTK6wrNMEA4Z81cp1rHHGZyExPHD3vowWunfCwWFM+C5QamKmdXoHNzIGnwOKIC38EShCbItv2MUIXM4TNCmo/TJjIcZ/pU6KNjZcRBcPGQNydSn9iwjAtBuYSI+ZNyd63BghOLCL4YFqYRo8Lif01OUBSapa27Pasfzg01vHG7aQuKuZYFuw0u5WUwxzmkVZHlYkumMxUewIodMFO+LZKhSBwP+D4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zt/V6Dm8rU3iuQaBnl1b6JyUY5OvDZ99vua8YutGWYU=;
 b=mBvRBfvYZnwYI5T2uXJc3g098XrHoV8pb1RrQXGmYaz2ePUh9yt1yOHMi7Oks3gPpeYgRK9PFsk3sxs2JFPQURQUGPbvmGoq5GK+UVS61UWm0Zq/Y9qIN76NMgprl5s8aULCA4en4Oa3iY6R3JjgQewR4/iYvcFOqqlurNZMa5g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <michal.orzel@amd.com>, <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <julien@xen.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][PATCH v10 16/20] xen/arm: Implement device tree node removal functionalities
Date: Fri, 25 Aug 2023 01:02:18 -0700
Message-ID: <20230825080222.14247-17-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230825080222.14247-1-vikram.garhwal@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|MN2PR12MB4128:EE_
X-MS-Office365-Filtering-Correlation-Id: af614152-bad7-4e36-3a1d-08dba541cee8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1W4x7UTG/uQjyY1GBJLvwhbR1z9bJN29lWBe/5U/xChxnnkXaV+doWkjEr0gG3qgZ1iXFw/F4J+yu5b5Mw5874mpiU9YCF5hSQpw1fiusnBdF04EI9RIQxesQjgiawMSynh6bJAHHnwYvUG0+Qu6ui3bSZakn4mQs6rKUgJARhSqw1q7FEvweGjXjUkmT2IB6/OheRvxJVbl4j7VRMmRI052MEr0y+cfDDSrsZ7YKiXJHW9ssg175zPEgAzZQjGpLDcapsfenQiHqmXK+emRBXXhbQauUHKpLM1TP+NeiWNXn/eRcY4KpT7S+5Y/nksI7Yk9JzdRAN3LIeSpoeOKQqLR2JOSfl3L4S8eSexmfHn7UlWw+AFn7bMeuGXsjTNT8Ew93IoGeeNO4OnFAvMsS5+SWHO3Kgc7mGLf3dt1fgwyJvDTr+LLjgnauJcr8vUgNHJf4EIq8D1N/oewM5PSqSyHOsLP4f+JOeIR4/8Mj8HBxEnw+0tYjWbXNZs6FVigjC+cw7bLTE/Tg7LCc4O/sxBGXf25qwgMT9V0YMyfOYXvntNYng3YBbDLxcZ0N9Ire5sAOVe86qQoTpbW7HgO5FX4p84lHS8RJssQsecQPBtNVPi6Ff3y71030tb58nOaqeD3ZWP5Q8RBDwlzgAmJXG6LSzNXvUsl9KyvxwIE9aUHbWQRDPhjM2ZA1z3wyT0scArMY4btjhJNtRu0lpTkrOSjxIV2GDY4zPALLlkUIbZnOpLgUhIrgi8ETs+1TMIOr2ZKHFlMDjWXYtcpGlcgZwTmZASTXeb69AL/ZdCRBoPFRScS7oNEqyuXek1nhrxI
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:ErrorRetry;CAT:NONE;SFS:(13230031)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199024)(82310400011)(186009)(1800799009)(40470700004)(36840700001)(46966006)(54906003)(70206006)(70586007)(316002)(81166007)(40480700001)(6916009)(478600001)(26005)(36860700001)(44832011)(6666004)(356005)(82740400003)(41300700001)(86362001)(2906002)(8936002)(8676002)(4326008)(1076003)(40460700003)(2616005)(5660300002)(83380400001)(36756003)(30864003)(336012)(426003)(47076005)(333604002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:03:46.5371
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: af614152-bad7-4e36-3a1d-08dba541cee8
X-MS-Exchange-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: MN2PR12MB4128

Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.

xl dt-overlay remove file.dtbo:
    Removes all the nodes in a given dtbo.
    First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
    in dt_host and delete the device node entries from dt_host.

    The nodes get removed only if it is not used by any of dom0 or domio.

Also, added overlay_track struct to keep the track of added node through device
tree overlay. overlay_track has dt_host_new which is unflattened form of updated
fdt and name of overlay nodes. When a node is removed, we also free the memory
used by overlay_track for the particular overlay node.

Nested overlay removal is supported in sequential manner only i.e. if
overlay_child nests under overlay_parent, it is assumed that user first removes
overlay_child and then removes overlay_parent.
Also, this is an experimental feature so it is expected from user to make sure
correct device tree overlays are used when adding nodes and making sure devices
are not being used by other domain before removing them from Xen tree.
Partially added/removed i.e. failures while removing the overlay may cause other
failures and might need a system reboot.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

---
Changes from v9:
    Remove iommu and IRQ routing as this will not be done while adding the nodes.
Changes from v8:
    Remove IRQs and IOMMU entries using rangesets instead of parsing each node.
Changes from v7:
    Add dt-overlay.c in MAINTAINERS.
    Add comments for dt_overlay_remove_node.
    Rename handle_remove_irq_iommu() to remove_resources().
    Add comment regarding false mapping flag for reason behind not removing the
    mapping..
    Remove irq_access_premitted() check.
    Add error handling for remove_all_descendant_nodes
    Change read_lock with write_lock.
    Remove check_overlay_fdt() call from handle_remove_overlay_nodes().
    Re-organize dt_sysctl and reutnr -EOPNOSTSUPP for error cases. Also, renamed
        this function to dt_overlay_sysctl.
    Remove unnecessary header includes in dt-overlay.h
    Correct indentation and make func   tion inputs const wherever possible.
    Make overlay_fdt const_void inside xen_sysctl_dt_overlay{}.
    Add comment regarding why we not removing IRQ and MMIO mappings.
    Move overlay_node_count() out of this patch as it's not being used here
        anymore.
Changes from v6:
    Add explicit padding for xen_system_dt_overlay{}
    Update license.
    Rearrange xfree in dt_sysctl()
    Update overlay_track struct comment with relevant message.
    Fix missing xen/errno.h for builds without CONFIG_OVERLAY_DTB cases.
    Fix header formatting.
---
---
 MAINTAINERS                  |   1 +
 xen/arch/arm/sysctl.c        |  16 +-
 xen/common/Makefile          |   1 +
 xen/common/dt-overlay.c      | 392 +++++++++++++++++++++++++++++++++++
 xen/include/public/sysctl.h  |  24 +++
 xen/include/xen/dt-overlay.h |  63 ++++++
 6 files changed, 496 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/dt-overlay.c
 create mode 100644 xen/include/xen/dt-overlay.h

diff --git a/MAINTAINERS b/MAINTAINERS
index a0805d35cd..c41a7c5440 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -301,6 +301,7 @@ M:	Julien Grall <julien@xen.org>
 S:	Supported
 F:	xen/common/libfdt/
 F:	xen/common/device_tree.c
+F:	xen/common/dt-overlay.c
 F:	xen/include/xen/libfdt/
 F:	xen/include/xen/device_tree.h
 F:	xen/drivers/passthrough/device_tree.c
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index e9a0661146..5cda0dc674 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -9,6 +9,7 @@
 
 #include <xen/types.h>
 #include <xen/lib.h>
+#include <xen/dt-overlay.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
 #include <asm/arm64/sve.h>
@@ -25,7 +26,20 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
-    return -ENOSYS;
+    long ret;
+
+    switch ( sysctl->cmd )
+    {
+    case XEN_SYSCTL_dt_overlay:
+        ret = dt_overlay_sysctl(&sysctl->u.dt_overlay);
+        break;
+
+    default:
+        ret = -ENOSYS;
+        break;
+    }
+
+    return ret;
 }
 
 /*
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 46049eac35..e7e96b1087 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
+obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
new file mode 100644
index 0000000000..12a3029fee
--- /dev/null
+++ b/xen/common/dt-overlay.c
@@ -0,0 +1,392 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/common/dt-overlay.c
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#include <asm/domain_build.h>
+#include <xen/dt-overlay.h>
+#include <xen/guest_access.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/xmalloc.h>
+
+static LIST_HEAD(overlay_tracker);
+static DEFINE_SPINLOCK(overlay_lock);
+
+/* Find last descendants of the device_node. */
+static struct dt_device_node *
+find_last_descendants_node(const struct dt_device_node *device_node)
+{
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node->sibling != NULL;
+          child_node = child_node->sibling );
+
+    /* If last child_node also have children. */
+    if ( child_node->child )
+        child_node = find_last_descendants_node(child_node);
+
+    return child_node;
+}
+
+static int dt_overlay_remove_node(struct dt_device_node *device_node)
+{
+    struct dt_device_node *np;
+    struct dt_device_node *parent_node;
+    struct dt_device_node *last_descendant = device_node->child;
+
+    parent_node = device_node->parent;
+
+    /* Check if we are trying to remove "/" i.e. root node. */
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("%s's parent node not found\n", device_node->name);
+        return -EFAULT;
+    }
+
+    /* Sanity check for linking between parent and child node. */
+    np = parent_node->child;
+    if ( np == NULL )
+    {
+        dt_dprintk("parent node %s's not found\n", parent_node->name);
+        return -EFAULT;
+    }
+
+    /* If node to be removed is only child node or first child. */
+    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
+    {
+        parent_node->child = np->sibling;
+
+        /*
+         * Iterate over all child nodes of device_node. Given that we are
+         * removing a node, we need to remove all it's descendants too.
+         * Reason behind finding last_descendant:
+         * If device_node has multiple children, device_node->allnext will point
+         * to first_child and first_child->allnext will be a sibling. When the
+         * device_node and it's all children are removed, parent_node->allnext
+         * should point to node next to last children.
+         */
+        if ( last_descendant )
+        {
+            last_descendant = find_last_descendants_node(device_node);
+            parent_node->allnext = last_descendant->allnext;
+        }
+        else
+            parent_node->allnext = np->allnext;
+
+        return 0;
+    }
+
+    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
+    {
+        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
+        {
+            /* Found the node. Now we remove it. */
+            np->sibling = np->sibling->sibling;
+
+            if ( np->child )
+                np = find_last_descendants_node(np);
+
+            /*
+             * Iterate over all child nodes of device_node. Given that we are
+             * removing parent node, we need to remove all it's descendants too.
+             */
+            if ( last_descendant )
+                last_descendant = find_last_descendants_node(device_node);
+
+            if ( last_descendant )
+                np->allnext = last_descendant->allnext;
+            else
+                np->allnext = np->allnext->allnext;
+
+            break;
+        }
+    }
+
+    return 0;
+}
+
+/* Basic sanity check for the dtbo tool stack provided to Xen. */
+static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
+{
+    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
+          fdt_check_header(overlay_fdt) )
+    {
+        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int irq_remove_cb(unsigned long s, unsigned long e, void *dom,
+                         unsigned long *c)
+{
+    int rc;
+    struct domain *d = dom;
+
+    /*
+     * TODO: We don't handle shared IRQs for now. So, it is assumed that
+     * the IRQs was not shared with another devices.
+     * TODO: Undo the IRQ routing.
+     */
+    rc = irq_deny_access(d, s);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "unable to revoke access for irq %lu\n", s);
+    }
+    else
+        *c += e - s + 1;
+
+    return rc;
+
+}
+
+static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
+                           unsigned long *c)
+{
+    int rc;
+    struct domain *d = dom;
+
+    /*
+    * Remove mmio access.
+    * TODO: Support for remove/add the mapping in P2M.
+    */
+    rc = iomem_deny_access(d, s, e);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Unable to remove dom%d access to"
+               " 0x%"PRIx64" - 0x%"PRIx64"\n",
+               d->domain_id,
+               s & PAGE_MASK, PAGE_ALIGN(e) - 1);
+    }
+    else
+        *c += e - s + 1;
+
+    return rc;
+}
+
+/* Check if node itself can be removed. */
+static bool check_node_removable(struct dt_device_node *device_node)
+{
+    domid_t domid;
+
+    domid = dt_device_used_by(device_node);
+
+    dt_dprintk("Checking if node %s is used by any domain\n",
+               device_node->full_name);
+
+    /* 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 false;
+    }
+
+
+    return true;
+}
+
+/* Check if all descendants of the given node are removable. */
+static bool
+check_descendant_nodes_removable(const struct dt_device_node *device_node)
+{
+    bool rc = true;
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node != NULL;
+         child_node = child_node->sibling )
+    {
+        if ( child_node->child )
+        {
+            rc = check_descendant_nodes_removable(child_node);
+            if ( !rc )
+                return rc;
+        }
+
+        rc = check_node_removable(child_node);
+        if ( !rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/* Remove nodes from dt_host. */
+static int remove_nodes(const struct overlay_track *tracker)
+{
+    int rc = 0;
+    struct dt_device_node *overlay_node;
+    unsigned int j;
+    struct domain *d = hardware_domain;
+
+    for ( j = 0; j < tracker->num_nodes; j++ )
+    {
+        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
+        if ( overlay_node == NULL )
+        {
+            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
+                   overlay_node->full_name);
+            return -EINVAL;
+        }
+
+        if ( !check_descendant_nodes_removable(overlay_node) )
+            return -EINVAL;
+
+        if ( !check_node_removable(overlay_node) )
+            return -EINVAL;
+
+        dt_dprintk("Removing node: %s\n", overlay_node->full_name);
+
+        write_lock(&dt_host_lock);
+
+        rc = dt_overlay_remove_node(overlay_node);
+        if ( rc )
+        {
+            write_unlock(&dt_host_lock);
+            return rc;
+        }
+
+        write_unlock(&dt_host_lock);
+    }
+
+    /* Remove IRQ access. */
+    if ( tracker->irq_ranges )
+    {
+        rc = rangeset_consume_ranges(tracker->irq_ranges, irq_remove_cb, d);
+        if ( rc )
+            return rc;
+    }
+
+   /* Remove mmio access. */
+    if ( tracker->iomem_ranges )
+    {
+        rc = rangeset_consume_ranges(tracker->iomem_ranges, iomem_remove_cb, d);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/*
+ * First finds the device node to remove. Check if the device is being used by
+ * any dom and finally remove it from dt_host. IOMMU is already being taken care
+ * while destroying the domain.
+ */
+static long handle_remove_overlay_nodes(const void *overlay_fdt,
+                                        uint32_t overlay_fdt_size)
+{
+    int rc;
+    struct overlay_track *entry, *temp, *track;
+    bool found_entry = false;
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+        return rc;
+
+    spin_lock(&overlay_lock);
+
+    /*
+     * First check if dtbo is correct i.e. it should one of the dtbo which was
+     * used when dynamically adding the node.
+     * Limitation: Cases with same node names but different property are not
+     * supported currently. We are relying on user to provide the same dtbo
+     * as it was used when adding the nodes.
+     */
+    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
+    {
+        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
+        {
+            track = entry;
+            found_entry = true;
+            break;
+        }
+    }
+
+    if ( !found_entry )
+    {
+        rc = -EINVAL;
+
+        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
+               " Removing nodes is supported only for prior added dtbo.\n");
+        goto out;
+
+    }
+
+    rc = remove_nodes(entry);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Removing node failed\n");
+        goto out;
+    }
+
+    list_del(&entry->entry);
+
+    xfree(entry->dt_host_new);
+    xfree(entry->fdt);
+    xfree(entry->overlay_fdt);
+
+    xfree(entry->nodes_address);
+
+    rangeset_destroy(entry->irq_ranges);
+    rangeset_destroy(entry->iomem_ranges);
+
+    xfree(entry);
+
+ out:
+    spin_unlock(&overlay_lock);
+    return rc;
+}
+
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    long ret;
+    void *overlay_fdt;
+
+    if ( op->overlay_op != XEN_SYSCTL_DT_OVERLAY_ADD &&
+         op->overlay_op != XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        return -EOPNOTSUPP;
+
+    if ( op->overlay_fdt_size == 0 || op->overlay_fdt_size > KB(500) )
+        return -EINVAL;
+
+    if ( op->pad[0] || op->pad[1] || op->pad[2] )
+        return -EINVAL;
+
+    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
+
+    if ( overlay_fdt == NULL )
+        return -ENOMEM;
+
+    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
+    if ( ret )
+    {
+        gprintk(XENLOG_ERR, "copy from guest failed\n");
+        xfree(overlay_fdt);
+
+        return -EFAULT;
+    }
+
+    if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
+        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+
+    xfree(overlay_fdt);
+
+    return ret;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index fa7147de47..900239133a 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1059,6 +1059,25 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
 #endif
 
+#if defined(__arm__) || defined (__aarch64__)
+/*
+ * XEN_SYSCTL_dt_overlay
+ * Performs addition/removal of device tree nodes under parent node using dtbo.
+ * This does in three steps:
+ *  - Adds/Removes the nodes from dt_host.
+ *  - Adds/Removes IRQ permission for the nodes.
+ *  - Adds/Removes MMIO accesses.
+ */
+struct xen_sysctl_dt_overlay {
+    XEN_GUEST_HANDLE_64(const_void) overlay_fdt;  /* IN: overlay fdt. */
+    uint32_t overlay_fdt_size;              /* IN: Overlay dtb size. */
+#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. */
+};
+#endif
+
 struct xen_sysctl {
     uint32_t cmd;
 #define XEN_SYSCTL_readconsole                    1
@@ -1089,6 +1108,7 @@ struct xen_sysctl {
 #define XEN_SYSCTL_livepatch_op                  27
 /* #define XEN_SYSCTL_set_parameter              28 */
 #define XEN_SYSCTL_get_cpu_policy                29
+#define XEN_SYSCTL_dt_overlay                    30
     uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
     union {
         struct xen_sysctl_readconsole       readconsole;
@@ -1119,6 +1139,10 @@ struct xen_sysctl {
 #if defined(__i386__) || defined(__x86_64__)
         struct xen_sysctl_cpu_policy        cpu_policy;
 #endif
+
+#if defined(__arm__) || defined (__aarch64__)
+        struct xen_sysctl_dt_overlay        dt_overlay;
+#endif
         uint8_t                             pad[128];
     } u;
 };
diff --git a/xen/include/xen/dt-overlay.h b/xen/include/xen/dt-overlay.h
new file mode 100644
index 0000000000..c0567741ee
--- /dev/null
+++ b/xen/include/xen/dt-overlay.h
@@ -0,0 +1,63 @@
+ /* SPDX-License-Identifier: GPL-2.0-only */
+ /*
+ * xen/dt-overlay.h
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ */
+#ifndef __XEN_DT_OVERLAY_H__
+#define __XEN_DT_OVERLAY_H__
+
+#include <xen/device_tree.h>
+#include <xen/list.h>
+#include <xen/rangeset.h>
+
+/*
+ * overlay_track describes information about added nodes through dtbo.
+ * @entry: List pointer.
+ * @dt_host_new: Pointer to the updated dt_host_new which is unflattened from
+    the 'updated fdt'.
+ * @fdt: Stores the fdt.
+ * @overlay_fdt: Stores a copy of input overlay_fdt.
+ * @nodes_address: Stores each overlay_node's address.
+ * @num_nodes: Total number of nodes in overlay dtb.
+ * @iomem_ranges: Range set to keep track of all IOMEMs.
+ * @irq_ranges: Range set to keep track of all added IRQs.
+ */
+struct overlay_track {
+    struct list_head entry;
+    struct dt_device_node *dt_host_new;
+    void *fdt;
+    void *overlay_fdt;
+    unsigned long *nodes_address;
+    unsigned int num_nodes;
+    struct rangeset *iomem_ranges;
+    struct rangeset *irq_ranges;
+};
+
+struct xen_sysctl_dt_overlay;
+
+#ifdef CONFIG_OVERLAY_DTB
+long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op);
+#else
+#include <xen/errno.h>
+static inline long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    return -EOPNOTSUPP;
+}
+#endif
+
+#endif /* __XEN_DT_OVERLAY_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:15:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:15:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590724.923096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRyF-0006Sb-2W; Fri, 25 Aug 2023 08:15:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590724.923096; Fri, 25 Aug 2023 08:15: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 1qZRyE-0006SU-WB; Fri, 25 Aug 2023 08:15:06 +0000
Received: by outflank-mailman (input) for mailman id 590724;
 Fri, 25 Aug 2023 08:15: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=lrQz=EK=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qZRyC-0006SO-V9
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:15:05 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d9ebba6-431f-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:15:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d9ebba6-431f-11ee-9b0c-b553b5be7939
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1692951301;
	h=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=60tr9aFEHnjsY9mPcHCSATo81fQ6Yc8CRVNAxGD2+3k=;
	b=YnaVCUEgDycspjQv7rUeW7YDHio+7YJzQzDuZpXqlnbIF4cYwLoKMV5zHbYZmRshvhQvDS
	qKopvVKCqWmCE3BxpVTUqh91SYjk/3OL0CMRpGkVuXcCI1mGvGI0llynxDDu00LL2CTZop
	cylgXO5mCbf3YkCZyzvXbZPkgYZlShEJ2ha6qQuUCHiYFjJXWVt1jipesLmOUCPSDNk92u
	rO6uZgPq7TDTm8pv897aZVhVjDt+zA2sD/MjXlSQDeL9OeUYi0+v4z/a9KZ5+tXTluvx0b
	vWw3vaYBaGu1ykC0QpCw60MbAHBC+Ib5VRzd95tKmaApz7PQlajiSvkfwfbPpA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1692951301;
	h=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=60tr9aFEHnjsY9mPcHCSATo81fQ6Yc8CRVNAxGD2+3k=;
	b=X6xRv7vR6eT/uVXsSMwtU6aa6uPDDy6BM5+YIcmQnhQSZ6/Jl22kApnV1hn7KNppx9PVnU
	mncP4HVMIYZcN2CA==
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>, Andy Lutomirski <luto@kernel.org>, 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>, Stefano Stabellini
 <sstabellini@kernel.org>, Oleksandr Tyshchenko
 <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: simplify evtchn_do_upcall() call maze
In-Reply-To: <20230824154106.14799-1-jgross@suse.com>
References: <20230824154106.14799-1-jgross@suse.com>
Date: Fri, 25 Aug 2023 10:15:01 +0200
Message-ID: <87zg2fbksa.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

On Thu, Aug 24 2023 at 17:41, Juergen Gross wrote:
> There are several functions involved for performing the functionality
> of evtchn_do_upcall():
>
> - __xen_evtchn_do_upcall() doing the real work
> - xen_hvm_evtchn_do_upcall() just being a wrapper for
>   __xen_evtchn_do_upcall(), exposed for external callers
> - xen_evtchn_do_upcall() calling __xen_evtchn_do_upcall(), too, but
>   without any user
>
> Simplify this maze by:
>
> - removing the unused xen_evtchn_do_upcall()
> - removing xen_hvm_evtchn_do_upcall() as the only left caller of
>   __xen_evtchn_do_upcall(), while renaming __xen_evtchn_do_upcall() to
>   xen_evtchn_do_upcall()
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Thomas Gleixner <tglx@linutronix.de>


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:15:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:15:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590728.923107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRye-0006xr-GB; Fri, 25 Aug 2023 08:15:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590728.923107; Fri, 25 Aug 2023 08:15:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZRye-0006xk-C5; Fri, 25 Aug 2023 08:15:32 +0000
Received: by outflank-mailman (input) for mailman id 590728;
 Fri, 25 Aug 2023 08:15:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZRyd-0006v4-97
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:15:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRyc-0004xA-TV; Fri, 25 Aug 2023 08:15:30 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZRyc-0005op-Ol; Fri, 25 Aug 2023 08:15:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=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=2bmNJPhTrxYF1+FPTyPFrd88F9ui/0HO/j3S/l9APvM=; b=12M7RkjVItb/VTe4wW4ufsC6mi
	2Ami+cAaMycLCJqfYp7MvBhKNnLsp7KfF6k0PZvn4y7YjFBXHtb4D49Flq8s9CHw4Cfo66ixEm4Xf
	+tEI8TpOwBhmYCKg5N9zMbPgBM4/BgBjPlJOY+ukHZcF8xVdLK1rqPshGwRQgzT/61LM=;
Message-ID: <aa2caa60-c914-4403-b6c0-b320a396ab9f@xen.org>
Date: Fri, 25 Aug 2023 09:15:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v9 14/19] common/device_tree: Add rwlock for dt_host
Content-Language: en-GB
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 sstabellini@kernel.org, jbeulich@suse.com
References: <20230819002850.32349-1-vikram.garhwal@amd.com>
 <20230819002850.32349-15-vikram.garhwal@amd.com>
 <d5e658e4-e30e-4783-8fcc-0bd93126abf3@xen.org> <ZOhIiLg0thx3Q2N_@amd.com>
 <ZOhd1HwM4km0_MfG@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZOhd1HwM4km0_MfG@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 25/08/2023 08:52, Vikram Garhwal wrote:
> Hi,
> On Thu, Aug 24, 2023 at 11:22:00PM -0700, Vikram Garhwal wrote:
>> Hi Julien,
>> On Wed, Aug 23, 2023 at 11:06:59PM +0100, Julien Grall wrote:
>>> Hi Vikram,
>>>
>>> On 19/08/2023 01:28, Vikram Garhwal wrote:
>>>>    Dynamic programming ops will modify the dt_host and there might be other
>>>>    function which are browsing the dt_host at the same time. To avoid the race
>>>
>>> Typo: I think you want to write 'functions'
>>>
>>>>    conditions, adding rwlock for browsing the dt_host during runtime. dt_host
>>>>    writer will be added in the follow-up patch titled "xen/arm: Implement device
>>>>    tree node addition functionalities."
>>>
>>> I would prefer if we avoid mention the name of the follow-up commit. This
>>> will reduce the risk that the name of the commit is incorrect if we decide
>>> to commit this patch before the rest of the series is ready.
>>>
>>> Also, the commit message seems to be indented. Was it intended?
>>>
>>>>
>>>>    Reason behind adding rwlock instead of spinlock:
>>>>       For now, dynamic programming is the sole modifier of dt_host in Xen during
>>>>           run time. All other access functions like iommu_release_dt_device() are
>>>>           just reading the dt_host during run-time. So, there is a need to protect
>>>>           others from browsing the dt_host while dynamic programming is modifying
>>>>           it. rwlock is better suitable for this task as spinlock won't be able to
>>>>           differentiate between read and write access.
>>>
>>> The indentation looks odd here as well.
>>>
>> Changed above comments in v10.
>>>>
>>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>>>
>>>> ---
>>>> Changes from v7:
>>>>       Keep one lock for dt_host instead of lock for each node under dt_host.
>>>> ---
>>>> ---
>>>>    xen/common/device_tree.c              |  5 +++++
>>>>    xen/drivers/passthrough/device_tree.c | 15 +++++++++++++++
>>>>    xen/include/xen/device_tree.h         |  6 ++++++
>>>>    3 files changed, 26 insertions(+)
>>>
>>> I am not sue where to put the comment. I noticed that you didn't touch
>>> iommu_remove_dt_device() and iommu_add_dt_device(). Does this mean the
>>> caller is expected to held the lock? If so, then this should be documented
>>> and an ASSERT() should be added.
>> Added ASSERT in iommu_(add,remove,assign and deassign)_dt_device(),
> iommu_add_ and iommu_assign_ are called at boot time. Also, only other callers
> are handle_device via overlays and iommu_do_dt_domctl() which will hold the
> dt_host_lock. 

The goal of the ASSERT() is to confirm that this holds true today and in 
the future.

> Will look into it more but for now sending v10 with ASSER in these
> two functions.
You could have at least written a comment on top... Regarding the boot 
function, I would consider to take the lock there too.

Otherwise, you could use:

ASSERT(system_state <= SYS_STATE_active || check lock);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:18:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590739.923117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZS1s-0007gr-TD; Fri, 25 Aug 2023 08:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590739.923117; Fri, 25 Aug 2023 08: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 1qZS1s-0007gj-QU; Fri, 25 Aug 2023 08:18:52 +0000
Received: by outflank-mailman (input) for mailman id 590739;
 Fri, 25 Aug 2023 08: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=B8Gy=EK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qZS1r-0007gc-EZ
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:18:51 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe59::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04a30ea6-4320-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:18:49 +0200 (CEST)
Received: from CY5PR22CA0093.namprd22.prod.outlook.com (2603:10b6:930:65::11)
 by MN2PR12MB4405.namprd12.prod.outlook.com (2603:10b6:208:26d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 08:18:44 +0000
Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com
 (2603:10b6:930:65:cafe::da) by CY5PR22CA0093.outlook.office365.com
 (2603:10b6:930:65::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30 via Frontend
 Transport; Fri, 25 Aug 2023 08:18:44 +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.6699.15 via Frontend Transport; Fri, 25 Aug 2023 08:18:44 +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.27; Fri, 25 Aug
 2023 03:18:42 -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.27; Fri, 25 Aug
 2023 03:18:42 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Fri, 25 Aug 2023 03:18: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: 04a30ea6-4320-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nyE5cc/zwWpa4sWyrHdVSqBsrDPUFfe75ovG31j03nr7wyhYSlU5kblbLtdLeLN6YdSBNoSrL4Jbhhzfq7kiDltqriVNdwqLjUPCzc0iS4ey35cD/EdPY6dKXy5gkKTdZcJeEz3JmMjiIwxeMFfKlOYTCW72fkGkKtwfQZaoEAQ3zPJwLydClL4IM/q5Qr8sclo5z3PooVey2rtWt4b+GBd7QEP/PY9klHwYU9Ry/qchQSni6BKs8rbbQMTYTuhnZ6zihju891PVIuHm+5cyAwRj4kWNqO9gtinpsxmnk2UeBu3Oz7604pKln9R533wlTfqcW8bqNO4biHpHUGylJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0/hjiJFOaAyN9HaKeW6rH+L7wnQJYIfr10GPJBnqNSQ=;
 b=irjs4sAv2z+B4VJW7/JPoOtwT5CEZAbEDlN2K1j+7ghgrszIfbrHSSMZS8Me9FVZZei3lUpL1balG4pj7WzLsTaFImnmd+H7BRcnKPSH/ca1SCmk67Tsz6zBtcID7bqHBZ+4XLHnxhftjZyjnSdiCupij9/+KJsu24AukQ6vrAtjLN0w5LRPdZ5j2MBr6sseTOHFNUXEByAAXn9OjY8AXeJtZg+bXMVes1JkaA/Mr7SyEpJtj7AizqAolED9bVY6jrICB9sEQS6P0VIdmV/nLdT2BxilZmBJ0rhSUv8G+8bfdsCgL2+lp+TCrL6qEFEBlU+FrRV3llu/kI4A+t/IrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0/hjiJFOaAyN9HaKeW6rH+L7wnQJYIfr10GPJBnqNSQ=;
 b=kFI8pRO/OeM9urmYt7UMcp/NyKIoXcTQFSUGWxy51Vh4IneGuYAQdUQxPKe3ILhg5JlVGtPOXm6ndei+dSMX2HJn6pEo4VXebZPuf/Sj2natX0+p/TP2FOAPpDkrp4lJdUSM1KDm1ldG9TAEBswYEyxB61gcbGjqkog1tuSMK8A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <aec70a33-b5b7-0bcb-52db-15162407c8bb@amd.com>
Date: Fri, 25 Aug 2023 10:18:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: xen-analysis ECLAIR support
To: Stefano Stabellini <sstabellini@kernel.org>, <luca.fancellu@arm.com>
CC: <nicola.vetrini@bugseng.com>, <xen-devel@lists.xenproject.org>,
	<bertrand.marquis@arm.com>
References: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|MN2PR12MB4405:EE_
X-MS-Office365-Filtering-Correlation-Id: 793d66e3-82c9-4b1c-67cc-08dba543e62a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Znc3EEg2S9gYtN1/dv1YWgFw+6z2KPi5grrrlN/Ov2joF+b9B8RqIwsF64vgCbTStQPS3JeMfClS/dRbzwrON4I8kvUL1asMEAetdSxKv6S7Iz2fBRgv+sALpy2PVvIoymq+smdjpBhyKecsKTXxYaJ+FmXPd7V1v2IfOIpXsdjm8urZoEAUTrAiNJHyGrt3OTHVPTwn04rN4NqMStV+1VAJk4uWHRkYstEn3z24Dt4HYzA0/btcuaIlSgU5WA/xMefraBGmydofApqn2WbfVbTbRQBAuQko4cuTv0NY3nhSKqswFHHfJEfgHVrzeNEpuDiVzE5e9mocC7qaSOjGhUAcrvHR+hgj+r3DZxpd8B4mnoaY0eGEHQZs3XgGHJP1iLa0KAxINYD27pzF7zkDL2paXnzA7MMCHvbdMh29fUWNspjtj9wDEQX9Gt3hgYTLQdIlwDJiPQQzCTUa2DgKASsY1Kgj8lJh+frieMuGWxIHGfeypfjaRdEOAAig0Sz4UdC8tCnuec6DkJftawkUlNrFUX8jYfLLnYlcAWCygsyr5zPnjEQzd088d2iVO/kYJKnd2P1iqHMx9AuEin397ys4dhQ7SPTX3O1KUSdzibLrtfndyVZjZQT8idHmtLIyZHHas32MW3uYjUen86DdqDTazGvl2uQwdD5c3VMJmThnjmOeQBaocR0DkZdNk5sUq/l6UMlHVsNAC0ChwCYLyv8hQZ7spkesQ+ATvC+7Z2Nhfm+oWJLrLhRn7n43q/W+zI3y9AyzpkZldMEVIPd9RKMSH9QWUA/LmebSGX4lyag=
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)(4636009)(396003)(346002)(39860400002)(376002)(136003)(1800799009)(82310400011)(451199024)(186009)(40470700004)(36840700001)(46966006)(336012)(44832011)(36860700001)(83380400001)(26005)(478600001)(47076005)(40480700001)(2616005)(5660300002)(426003)(3480700007)(31686004)(2906002)(8936002)(4326008)(8676002)(356005)(82740400003)(81166007)(40460700003)(110136005)(70206006)(70586007)(16576012)(86362001)(41300700001)(31696002)(54906003)(53546011)(36756003)(316002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:18:44.4894
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 793d66e3-82c9-4b1c-67cc-08dba543e62a
X-MS-Exchange-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: MN2PR12MB4405

Hi Stefano,

On 25/08/2023 00:24, Stefano Stabellini wrote:
> 
> 
> Hi Luca,
> 
> We are looking into adding ECLAIR support for xen-analysis so that we
> can use the SAF-n-safe tags also with ECLAIR.
> 
> One question that came up is about multi-line statements. For instance,
> in a case like the following:
> 
> diff --git a/xen/common/inflate.c b/xen/common/inflate.c
> index 8fa4b96d12..8bdc9208da 100644
> --- a/xen/common/inflate.c
> +++ b/xen/common/inflate.c
> @@ -1201,6 +1201,7 @@ static int __init gunzip(void)
>      magic[1] = NEXTBYTE();
>      method   = NEXTBYTE();
> 
> +    /* SAF-1-safe */
>      if (magic[0] != 037 ||
>          ((magic[1] != 0213) && (magic[1] != 0236))) {
>          error("bad gzip magic numbers");
> 
> 
> Would SAF-1-safe cover both 037, and also 0213 and 0213?
> Or would it cover only 037?
> 
> We haven't use SAFE-n-safe extensively through the codebase yet but
> my understanding is that SAFE-n-safe would cover the entire statement of
> the following line, even if it is multi-line. Is that also your
> understanding? Does it work like that with cppcheck?
Looking at the docs and the actual script, only the single line below SAF comment is excluded.
So in your case you would require:

/* SAF-1-safe */
if (magic[0] != 037 ||
    /* SAF-1-safe */
    ((magic[1] != 0213) && (magic[1] != 0236))) {
    error("bad gzip magic numbers");

I guess this was done so that it is clear that someone took all the parts of the statements into account
and all of them fall into the same justification (which might not be the case).

BTW. I don't think we have also covered the case where there is more than one violation in a single line
that we want to deviate (e.g. sth like /* SAF-1-safe, SAF-2-safe */

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:21:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590746.923127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZS4j-000167-AX; Fri, 25 Aug 2023 08:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590746.923127; Fri, 25 Aug 2023 08:21:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZS4j-000160-7n; Fri, 25 Aug 2023 08:21:49 +0000
Received: by outflank-mailman (input) for mailman id 590746;
 Fri, 25 Aug 2023 08:21:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gnt3=EK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZS4h-00015u-Nc
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:21:47 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe13::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c828ff6-4320-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:21:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9705.eurprd04.prod.outlook.com (2603:10a6:102:24b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:21:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 08:21:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c828ff6-4320-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WypPvYJwsC85WVnksT2fJ4gqorFrrT6DD7gg0IXORX10LGucPmq8ZWWZYNclTvxhAuSfswb4TDauR+pR7unX3C1bBHv3boYKma9yyBELEAjjvl2rL2GQvrRu+4ZtZRmZok37mZ6KU55Er5vkZTXdH7h4bgwLIGUWYBGDDwniUuyGlt4OyMlnmGLvpB3Qg99NlUaaySYnZP1LAN4MeYzSR5igIQRjDysl8NiimzH6mPz+ktd4dMTlxo3L8fpOgPdlAL3StXimYK3P+4SpHKSPqhUsHPc0WtGJDut91JJyksRD908hGqBmh5lYYodhto2eORPYz7HWUAW/dQAcQ9LeSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VnuDmbIkkF2oI029vh8HoXx5en3tqGvFAc1SXTtzHt0=;
 b=i9/vP+7snolsX9mLa6MtaQEnrmgdT5bHv+ZEQXlT7IaYMnPj5YQh9sOBfeYy6QmjY8VtOmLRdz+9IIqNy/CoVCL7M6KTAlP6HPSaZ1VLpEP/lM/D21Uitxal74fx1Y86136bpZUok7c+Q2Od/TYRdVhyCAgKqYpE9JR93NihUb/DK4O8Vl0hbe+QV7s6nvKdJok2sNtcGtjdvaigXOjgDguXRv0NljdY2gQlJ+JX/Lrj42TQ1lfI4rRv2s8sky2bc7hk16WhZSy9Y/NMm5ZsGkiRg7itTxZvAXhRh3hU88JrsHZ3EOjfz2V3LY6tHhPiOn5GuTzcBpdh9WpAqFYk5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VnuDmbIkkF2oI029vh8HoXx5en3tqGvFAc1SXTtzHt0=;
 b=5JV9b5XLbmOa5kdUGSyozE7dqNAoJ7nix3aX1wViJa/nzCpjj7mPnBGeAA4m0LKu3WCwtvWC7na6KJ//0aXHbUzgoF50cndL3G6J2R/JZErnVMGwowEYwfwtA+z6ZVf5SLKCP/wN7KV/lSw6dJxW4D7Iub00GEc+AcsQgmaJp2w9/moMLJHfCjzfMvWY3JiiXSpgs2Zq7x0tD49J1H2SmB3Ct9VlypH8LKTff4+RNa9kvAoHTjXbQhYJZtsdz95Yh4yl+RNCHvkc26D4JN/jxwBXyHbZ26W+04vDOf7BGJM+UEcTmzDikmtmJ1lxgvOppm55f4VDcuscpfT98B3RrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c02e9314-6891-bf97-6ac4-8fa285fa412d@suse.com>
Date: Fri, 25 Aug 2023 10:21:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/8] x86: Fix calculation of %dr6/7 reserved bits
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Jinoh Kang <jinoh.kang.kr@gmail.com>
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <8e594d08-9489-5446-525a-526a1f79dc07@gmail.com>
 <01e5cede-0aee-eff8-ec8f-64b015ee5918@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <01e5cede-0aee-eff8-ec8f-64b015ee5918@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9705:EE_
X-MS-Office365-Filtering-Correlation-Id: dcd08138-bcea-46a4-9735-08dba5444f8d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t0NME6ME3R1/yLhpLHh1+0A1kOsH4TwpXqGg/lgVxvuTwIl0UR+xHLge/dhm0UnK08PPabFgZEuqEoCuJ5IHGyENuBVvXKMPc+nZpVtZtRoeZ304gQqUyZo/cdio74urZI0qgpeNeZ+nt/VfeEeIUyLh77nO+wqrYzGQc6/jbNbtbCt8VVXPUunB7Dbkih9zp7De0nh1Mq/DPGxwpX1HjnJOOZtqSs503qypE3K/K2qbAVucFtmHb8mOaug+eZXwnv3seFZHCwSBWGseyRhqZ//PIszSvEBz8RGkgUdD2Ggd88/2l/m8sP+kESRKaRk9f2CdDB1pj2lkAAfzH/B8hkCU47s93/686EU9Qt5WeFG4v2IGUIpVZXX9CvS+H6N2I1lCLk/Z8apKfPH0b54pXbWOxXsJvIVNMtY4eoY2oPqTWixxMos2aNHbTZiTMG466rhkvd5aA8f04seoY6P0Yh5lmULc5XeXYa7qVb6TcTm2lMKYP0LqCciu0ePsBZqRjzRUuvqYkMi3CgqObUPUfJYrXiJo+pfr1D4p40PQWQ46ri7W2AmBQe5Fv6EWCpNLmLmWn/YojzU/vj1+nrCNHDnxpFkn1PJMIjkGxg4/+ek7aGufgQ4szBgVNwHGd8YWLyb9xvOVinqHBsYg2GBjqacVmRFV6Zi6VGhtjQPjH6asOsaH+t4SiXTOwInf9axc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(396003)(136003)(346002)(186009)(451199024)(1800799009)(26005)(53546011)(6512007)(2616005)(4744005)(41300700001)(66556008)(66476007)(54906003)(316002)(2906002)(6916009)(5660300002)(66946007)(8936002)(4326008)(8676002)(478600001)(6506007)(6486002)(31696002)(86362001)(38100700002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3pOTStPMTd6Sy94cDFPK2o1TkNCekRHYjFRQUxCQTlhN1p0bmg4NGtTOUdh?=
 =?utf-8?B?cjRKQzR6R090TS9VbmNXelZqbUs0c1Yyc0xBQ2M5TVJwQkVHRXNzb3VsZ3JI?=
 =?utf-8?B?bGkwVjRpRUhJUWZJQUZadGRSVnh5YU5hNDdjOVN6dTl5UTJzRytaTzZzdzA0?=
 =?utf-8?B?aWhJVkRlR0xncFBWcU5oYXFuM2tXQU9yUzJhczdHajR5OCtMcjN4N2xSU3c1?=
 =?utf-8?B?UEtCcWVjalBwcERnb25MSFYwb0EwUGx0V3dvL0JTWjl1c1NmeDZTWFBMQmpI?=
 =?utf-8?B?ZXBZdFIzb1N6Rmd6OFBmcnVhamYzRUtmRlliOXVwbS82ZXA2SnZ6OTVyYXlT?=
 =?utf-8?B?NW1XOC94S1lMNzRpeFAvZG1oeUJIM1E0NFZWMDZFMkk5dzFUWTZRajZZQk5T?=
 =?utf-8?B?eGhSdEN1V29ZMjZNV0w1MjVUaUVxRW5nUHoxNjVhK3VaSHRDMEpxd3c4K3ZF?=
 =?utf-8?B?OGY5SjNLUkVNcW9kZFU2dlhFNFRGdktvSXhOWVcvVDlEWDh3SUtvNXNYcDlY?=
 =?utf-8?B?Y1BTYjdlZlJjZHFEL1BXRE5JTUFIOTdSWGdqVGlPQUhObzd3Wk1MVU50OVlG?=
 =?utf-8?B?c3BPU2wySXJESkMyUUwrb3BpM09Ja2xHdEExZFlXL3pZcnpqeUN4clVBOFh0?=
 =?utf-8?B?dFFxQzJqc3lvaDYwMmJ6ZjRFbGJ3eUwzM0FSOElKdnp5VVFJL29qVm0zTk40?=
 =?utf-8?B?ZUpIMHo3MHlKcUVrYW03N1dFZWxrMGE3d3ZzbnpqdnE5a2hoS25TMzhvTlpn?=
 =?utf-8?B?bjNWMjl3UGwwb3dTb1gxZTdSRUFrbEFqSys4RW5VdXBORXBYek5BV0U0Wmpv?=
 =?utf-8?B?UFByYTBtUTFDVzd1MEFFd2VwUnJqei9pY3pYbWNqaG9teVJZVUJCdVZjRlQz?=
 =?utf-8?B?TkxkSXdUa3p3MUJpTlVhWitZRUdkZ1FLRHlISlUyY05iUG5WdGRJSDIzdGVi?=
 =?utf-8?B?MCtMYXRVMlQ3Z3hQd0xYbGUzMXY5a3grazRiOHRjNFlQdHRaV3pwdW5PRDRs?=
 =?utf-8?B?Qlk5a3VRRUdhcXNLQlFnemw1YWEyQkpId2dzaGpxbUlyd3drT0cvUDZONFVU?=
 =?utf-8?B?RWpUd3BIRGZVYytNYjZGRGxNekpCKytWRHlvNUgxaWhROGNTNkVvMjJiSmxr?=
 =?utf-8?B?eTBPYmxjYjVndElDYlg2UWNCREtFZGNSTS84T3EyZXVCUWxLN0RqdlBOcmhS?=
 =?utf-8?B?RW1uUjhqMHJEcXpWM3VFcTJidTZUN3hZdDcxTE9NYTZFNGdBdk5pdE1TdEhF?=
 =?utf-8?B?SWZOSjNvdDV2WGFaRUU5ZGV5aDdvbndia0RBVUNpVG9PWTNNcWE5TE1ETERo?=
 =?utf-8?B?K0lScVVBQU9tQVR3bkRlclFLOTUvNHRFWm1kT0U5ZnFyL2xqc2xnV2drUFVx?=
 =?utf-8?B?dDlFeGlubnpCRWRGOEVzT2duczVXTzZleHVDdGV6UEgzSHhUY2FSWU4zRExV?=
 =?utf-8?B?aGtFWDF5WkNBOHFJVU96SDVSMUhwSEhCYWxQNk5lci9xaFJTTGhqejIxMkN2?=
 =?utf-8?B?aWZPakxLUlVCMnRaQUxLbmI0UTZERUZNN1dpWmx6UmVpZ1Z5RHQ3Tnh4SzRj?=
 =?utf-8?B?WGk2YUljVGRwNlQyWHVJTFB5blJHaUcrenVGSjVBYllGWkxiS21kaURmSmxm?=
 =?utf-8?B?UDRVNTVCQlNaekoxWmQvYVZRdnF2eDh2Ry9Ja0xxa1VsWHFHek9IVzVlWVpZ?=
 =?utf-8?B?Z1g2cSt0VkYrM3huYVNQOTByZ0h1N2x0dENGNWs3REE3RDJBVERnK2pSZHV0?=
 =?utf-8?B?S0VFdTZHWmhwNG83OXpkcXo1OFdCVVl3TThxdXJybVkwSVlMMkhtWXJZR0JN?=
 =?utf-8?B?Z0puTEN1Yk9jdU5kMUxBd0tpVnh2akMwMUkzY3hPRER6dUlLNjkwanNQMGVy?=
 =?utf-8?B?eVRFRUk5eG5wWXdBTXgwQi9pYVhzTkl4T3ljMFZ2My9XSUlUNVVsUHFHekFK?=
 =?utf-8?B?c0JrbTEwNWtKenNpZE1uNFlqRVRXcGkza3V5ZCt1bFFnY3I5VHY5Wlo3MC9h?=
 =?utf-8?B?NlhxMlVIRkliR1JoK2FET05veXVHOElkVkZoL1ZoRmtrbVBoS3ZGMkRYOTIr?=
 =?utf-8?B?ZHM2c2ZONjZpMng4eWtYc216Vkh5RC9vNHpjbVV5OXlQY3R5TVN4SU9CS3VM?=
 =?utf-8?Q?ZbOvJurAfAROoCb1P336wG4Jj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcd08138-bcea-46a4-9735-08dba5444f8d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:21:41.5450
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ECLNqw897GEgt9XVEy3p+/vtIWBRcQKPeenxb6F2xA4kFPgw7zD3Bd2q/BJGW6a88ZnmUw50LQQ27eTqldeejQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9705

On 24.08.2023 18:37, Andrew Cooper wrote:
> On 24/08/2023 4:25 pm, Jinoh Kang wrote:
>> - Define X86_DR{6,7}_* constants in x86-defns.h instead of open-coding
>>   naked numbers (thanks Jan)
> 
> Jan - stop insisting of other people things I've already rejected,
> particularly on my patches.

Quoting from my reply to Jinoh: "There was one aspect Andrew didn't like,
so leaving that part as is would be fine." I can't see how one can call
this "insist". Beyond that it's clearly his decision whether to agree
with your or my view (and just to be clear, I'm okay with your
justification of why you prefer to use bare numbers).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 08:28:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 08:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590754.923136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZSBD-0001xt-Vc; Fri, 25 Aug 2023 08:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590754.923136; Fri, 25 Aug 2023 08: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 1qZSBD-0001xm-T3; Fri, 25 Aug 2023 08:28:31 +0000
Received: by outflank-mailman (input) for mailman id 590754;
 Fri, 25 Aug 2023 08: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=gnt3=EK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZSBB-0001xf-Vg
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 08:28:29 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20620.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5db794d8-4321-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 10:28:28 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7885.eurprd04.prod.outlook.com (2603:10a6:102:ce::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug
 2023 08:28:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 08:28:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5db794d8-4321-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dSuun+BhA21AtfUzdd/G9WHdpTseyYka45rudcquI/kLz18sygtTsHJpHmiWvPxNFnSiEeUfVIndOBDnzqWOXiNx65rP4QYuCDH5qK5ORsDGeP0pzUlCpnqFzLHNUKrWOkxrHeGwiknxXl4V/4h+cNmZn/eBdYkftArBVKUxu3i9Zd7S4ieGuERUSyMIMn99POvxzdVITyQk4p2yEVK5KzYCkULhNmMGcChnUwY29wWy8y6QRozCeIhFnP9Mc43esxxspuDsCtDJ80PMbaWR1wbgAUmLIE26IukZf29FwKg8JjM8NbA5DFYjVfU2oi2AUzaJGnpePRLu6CDC+sYKBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LhU3D4cBeKzTMHJRkhxsFZi1AH/9cCcdV7wLjCUi+yE=;
 b=mBvroUnl1DMDPWDsNbeag0Iq3pXopVtqQyqaiMunCiNoHC4TW8j5+PLOyF4zaSsxLdNff2oBhxl9j6mZXLtE3upXZdbkM31HrJhfbZveUkDy2NwAkb99n+VwrKS7Hi2+m/TAiveCZRxE2S7cKI72fdQmIRRlvwvD13IMuFmNs76vuWCll6wChAArVyeHkxGyCv1PWoaZq1jaV13I6nPJ9wbJh8FZrHe2iznyKJXOJ4ElhKBbFChAzOBHWBO9GMSh7iIcA0FOMKr/s1XR59KShucCNx0KNZBlYbaryHQfU3+NcMjspB5GAXe8bcG2D1AXOq9+Bakl+vRSrtsfhUUdCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LhU3D4cBeKzTMHJRkhxsFZi1AH/9cCcdV7wLjCUi+yE=;
 b=pP8UKYOirjz9Bfsa4Fohi7Kisrm7ROl9ni+BdHJoULYgL/2JwNmC4OUon+0Cp24q3/fB3X8UVvzaS1CSkPSfRbgUSeYPt9vWYVCk/9TZJlf2EmgAz9qyCCZbvRfSxq9b7g/vYMMqxyX0TqSDVOfdltJ80WxF921xYOKbNbx8XmgSqkYqdC1ylAaNHSie68pDJdl+VzUzLzfWbEgN0DQn5mgmabtOurIHZnWC6KX4sapnrs16qyt451lpgU2Ef14i7OkmGbrvHSjVTGGvLjx6TQejHNInrLRpBUOByxcQ77MENlFIBTcvmHaP1Ljt9fycGMnk713I0g7ah4MqMPkE6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <906c34d2-4e62-7819-2ce3-e88caf7152b4@suse.com>
Date: Fri, 25 Aug 2023 10:28:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: xen-analysis ECLAIR support
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org,
 bertrand.marquis@arm.com, luca.fancellu@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop>
 <aec70a33-b5b7-0bcb-52db-15162407c8bb@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <aec70a33-b5b7-0bcb-52db-15162407c8bb@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0176.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7885:EE_
X-MS-Office365-Filtering-Correlation-Id: cd10cd96-c303-4821-e5ce-08dba545408d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/9/7NkTzWnw5+HhhKvilxq+ojE/gTsKwzkmIHLB/kjKhB+7Sfq4d3Qsu/O9jyYOvAvaXGvrGHhM6XkzenrjsovhX6xZ54GmIwx6lYRGXgZAHIZVNJRHA7Q7NoUvbdsNqyvn1km72qJjrnjBNR2rFr3F+4VYLptCagizB5PBa1IBZlR7PS5JHQjxsF4ZsxYJi4Fv0qgouUAllOcosju8ek5o1ekLX5IbSeqPQOKOdVe1v77ozmPwlwshh7kmYhqeowVFAjW5yvGeKstz/WrBLqEIH5YYjSFqgfujKjgEkh+v9hlsnS1OGK6Kqtm3E4JS92Jag6TqaMYcd4RZ7f6SKt6VHl+WBq3naPA14qlhLSAT8H+WWmgU80sfC8dAnfJaLT3TPZlTQcdnzK0lgGpaS6tn9gJ6I+/21Zdw1yx75lzUOo/aNr0FT6PRtJo0xR8ZcYvmy3T5m92DuWm6ge7Tr7ud2hHvNthvFglAfsTU8rRiMDgolfUZ+04ifVRYloD04M6XlXU6u8p3PuAGQYi25dRle7JvXCjgY4BO4jirgrD6H0Y38OZAgqEYPqmYlm0WDSaodCGNh5SnACBdu1Bbs8ftagnGm4OzxP0OCYjSnwBsb3UJcvZDRT2nnD6zkht1+vyR8vY5O6lXs5GGjLu2OZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199024)(1800799009)(186009)(6506007)(66556008)(66946007)(66476007)(316002)(6916009)(478600001)(26005)(38100700002)(41300700001)(53546011)(86362001)(6486002)(31696002)(2906002)(6512007)(31686004)(4326008)(8676002)(8936002)(2616005)(5660300002)(3480700007)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1htYjhsWlVMejRBQkpVZDRGMmQzZkxxQ25NdGtpTnN4S0Y3Z2R5clJPL3RW?=
 =?utf-8?B?WkFaQkpkaXdlbi9PR3ZzSklydHU4TDl3S0V6YXRJTjYwL1B2bHdsYkVQNmVE?=
 =?utf-8?B?VlVBL0hKRVRZMmJhUUVXN0M5Z250SU5pS1o2WUM0R0xsSEhBK1BQeTNPeXc0?=
 =?utf-8?B?REV0RS9idkxtZzRqbE5lZHZwV3BhNmxNN3FZR2pGLzlIUlAwbXVUdnBCZ0xR?=
 =?utf-8?B?REVZUm5vSU9Lamw3MElHc1REQnRQRnFscGxvZEZjcFlaN01UajQ2L3RkcVY5?=
 =?utf-8?B?eFFQdk9XUlN0SHJqMlFpQWNUaGEvcVJKbFY1THlqNC8zTXNvM21nUHV1V2xy?=
 =?utf-8?B?UUw1c1dHN1k0d1p0WXVNV3NBc05YOTdTd3NoSDR0YUxZcG4ySEN0cnE0SGRW?=
 =?utf-8?B?VGxJUkNKRHF3MHV6QWt2a3hteDFHVWZ3aUdESW43c2FDVWQzUWR5SklubEpY?=
 =?utf-8?B?WTZsbmwzbGRwbi9XQ3pqMFF1Zk5oVHI5c05EN2d1ck5pMlpPM284bUxUMWlt?=
 =?utf-8?B?R09xS3Y0alMrcG9ZT2R0bE5iK2tFL3JDSTZYaWc1bGxpZjlweGk3VGcxQUZa?=
 =?utf-8?B?ZmtIRXk3NlJiZHcyMWFFamFTanRPT2k2WndXRW5oTXhOSGYwUURnWWw3aXl5?=
 =?utf-8?B?RFZaUU5uUGJ5bWw0NjY4ODlZeGpVNC8zZ282MzZrKy9velBLUmtzQVc0bWVj?=
 =?utf-8?B?M25ydW10ZUV0OXptYlFCKzRLKzZkOHZxL3JxSUpkaG1yNVRrSDc4YnRvYjJu?=
 =?utf-8?B?SXhSZWgxTkYvT0t5YmVhUUlCbnlSUW5nTkRPcStMVDRUZnYxN056M1pocXVw?=
 =?utf-8?B?THY5K0x0clI3cWFIZUpjdk9FMzh4YnhFTVhLMm9OWEJ0aTkweCtxWjhYS0hZ?=
 =?utf-8?B?R1VGbU84Rjhvd0pZaHVxMGlhcXN4MnRhWENrb3Q2YkVZVjY0WGxIa2NuMjN4?=
 =?utf-8?B?OVdyazFhOXVQKzBrZjhKbm5YaUxMcjFLSDl2Ulkxd3ZiRlBoS3d6WnBWYUFD?=
 =?utf-8?B?TzZpd0NiU0dBN1BzNUZQRitGU3RMdVdXVm5OMXQzUTFsMFRmdWZHcms0Vk1p?=
 =?utf-8?B?YVRQTjZsMnY2LzhnWUxWSmF3bS9OUXczWkRNL2lCL0xHOWFUUnNjMm5aRWNC?=
 =?utf-8?B?OEhyQ0hKbE5oOVN6T3YvM3FhbFpWMHdSWnI2VlQ3T1VUVE5qTTY3WkdIOXZS?=
 =?utf-8?B?OHNkYWRCN25Kd05ySjdHTGNWKzF5SkFQb3hCaWFzVUhNbVRpd3MwaVE4Vk1n?=
 =?utf-8?B?T1dRRE9PVWlsTjNEZUVIOEdnMW5DcXE2RDRXM2VXaHVXSjBDMmdhNks0Rm1j?=
 =?utf-8?B?MWQrMGMxZW9HdFM3emtiRWVaZmppVEJHbFZJZHF6aHg4N3lwaEJnVVppek9m?=
 =?utf-8?B?dFNlZUg4R1NWd3BXOW5yZXF1SnZqdUxsZWRjMXlBRFA2aGdnZmJMMjZuc2pJ?=
 =?utf-8?B?cVRPUUV5akZ6NVNGS09kWlJSdU5Rb0x6VmxZdzNwWVBlWFhtTFY3UHcwU015?=
 =?utf-8?B?OUJVTVVDZGFaK1VPZHpBb3BlWExDbldGdWQ4WFNYb2RMM21Cc3krYVVtenhP?=
 =?utf-8?B?WmJ1YnZZN24rSUh6dTRQNlg4RzN0U1Y3K1ZMczdaTjVCSWZMNHE0d2k1NUJ5?=
 =?utf-8?B?UERuK3l1TGNtajIxSVprUElaZ05iM0lleDhaSHF1a0RXUnk0V1g1Zy9CTTNq?=
 =?utf-8?B?WWZFR2IveksyVEtoRXRxNGQ3ZUJvN3BOai81cDVTWFVKU0xXRGw3a0FOMEJG?=
 =?utf-8?B?ekI4cUtqcnF5ZENKQUVLS05xcnc4QkxndlhhK2NETnhqY05UajYzR3AyeTNv?=
 =?utf-8?B?eS8ycFJid1lIaEVxTW0vdFRGSjc0QlY3c0FMcjIrNmYrNVI3RTRMQ2xqVDlT?=
 =?utf-8?B?VkdPNE9tUndmb2ZQTlpHek8rME4rUmhaSTFkZlFkRVRmLzYzTEdkRVl0UDhk?=
 =?utf-8?B?ZE1uVTdUdzBWYkYrQ0drQ1dMYkxQTDNtTTNmOHI0KzlqeHhOK0ppdEYybG1M?=
 =?utf-8?B?K2g1TVVNZ2E2MlhMenBacGQrcWtobG9uNXExY2kySFBIVmFPa241LzdqZUt5?=
 =?utf-8?B?VTFuWXdXbEhlelA3b29YYnprVDAyYndnTUpqMlpBQTRMZFROYlNBb1BWdFBw?=
 =?utf-8?Q?wRieHddNSK7GXxzSsNPcAk4bz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd10cd96-c303-4821-e5ce-08dba545408d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 08:28:25.8850
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MO/v2gjEfLTCYKRWRTYa/1MzeZCWxsl/OyWVpxtgaIP2/uPDWtM/zOkV5W/aDcV328Y0SVFzdgEc0W/wf5uKmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7885

On 25.08.2023 10:18, Michal Orzel wrote:
> Hi Stefano,
> 
> On 25/08/2023 00:24, Stefano Stabellini wrote:
>>
>>
>> Hi Luca,
>>
>> We are looking into adding ECLAIR support for xen-analysis so that we
>> can use the SAF-n-safe tags also with ECLAIR.
>>
>> One question that came up is about multi-line statements. For instance,
>> in a case like the following:
>>
>> diff --git a/xen/common/inflate.c b/xen/common/inflate.c
>> index 8fa4b96d12..8bdc9208da 100644
>> --- a/xen/common/inflate.c
>> +++ b/xen/common/inflate.c
>> @@ -1201,6 +1201,7 @@ static int __init gunzip(void)
>>      magic[1] = NEXTBYTE();
>>      method   = NEXTBYTE();
>>
>> +    /* SAF-1-safe */
>>      if (magic[0] != 037 ||
>>          ((magic[1] != 0213) && (magic[1] != 0236))) {
>>          error("bad gzip magic numbers");
>>
>>
>> Would SAF-1-safe cover both 037, and also 0213 and 0213?
>> Or would it cover only 037?
>>
>> We haven't use SAFE-n-safe extensively through the codebase yet but
>> my understanding is that SAFE-n-safe would cover the entire statement of
>> the following line, even if it is multi-line. Is that also your
>> understanding? Does it work like that with cppcheck?
> Looking at the docs and the actual script, only the single line below SAF comment is excluded.
> So in your case you would require:
> 
> /* SAF-1-safe */
> if (magic[0] != 037 ||
>     /* SAF-1-safe */
>     ((magic[1] != 0213) && (magic[1] != 0236))) {
>     error("bad gzip magic numbers");

Or (perhaps more neatly):

    /* SAF-1-safe */
    if (magic[0] != 037 || (magic[1] != 0213 && magic[1] != 0236)) {
        error("bad gzip magic numbers");

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 09:10:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 09:10:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590764.923147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZSpv-0000Xu-5e; Fri, 25 Aug 2023 09:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590764.923147; Fri, 25 Aug 2023 09:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZSpv-0000Xn-2n; Fri, 25 Aug 2023 09:10:35 +0000
Received: by outflank-mailman (input) for mailman id 590764;
 Fri, 25 Aug 2023 09:10: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=gnt3=EK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZSpt-0000Xh-Qw
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 09:10:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cf4557a-4327-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 11:10:30 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7918.eurprd04.prod.outlook.com (2603:10a6:102:c7::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 09:10:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 09:10: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: 3cf4557a-4327-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G0PSC0V/sUEjYGl7smDGkQ3p7CJfqYSUiQWFv2DAPzNPTwk99rPnd+Im2j7j0fVclvnGnIiDjPOSXcXwQhQ/VvXLOs93Qbe/t0X8S9eKrx4xG9viR5FYxhHmPpjNFxOJ4pw1TKLNIx+P2AhOwM124nzyhh2qwyplDkk4cFQWKR90Sqsgzkp4BR6hTqC8+bUcmh1OWISbjvZc4bjVFtHjLXmeVZGLsMut0zHCBLyuRCBFo3CTtjjrQyB6GD+3rGILsLL7C+92PkmNwOoNzrQT1ttewEOAvWNtqecy7T+c8XbrGYttgcM3blLekZ7xqu7rFKJQGXM7OzoPpdqOQwgadg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f52SpgfShauYLc1h5LIrrIicG4ALc3T2Kzm0G8kuEFg=;
 b=e8dXLBZFP+negDG6F1tozWqRKUbno6sdQ6BdgUhfFaKcR3BHB4OlHPW68fS1Y7SakXoFd8ep1tIQ26SRQaT9al2u7Eq1FLP5bew6pnG7wtcDf2Qoe8GbflM5gNjMpWVHc8cT39qfOAZ/w5dOMfQxsERlbgd+pKhjXIu7qIZ/mLQG1bG/p1qzQWduMa+nu1EtFT3LSMsuUl2qb64S9ho4dKcElhJxroCJUGIB9D0raHUCb4FhDf7ecS6nHPKTHdic/5b/xok/C9xR+2NAze6I4UkiSvq358oF9BuTpDIPramEjO880qaX6+3MtkjNDsWH5GzSzbbNAic+2kepYe6txw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f52SpgfShauYLc1h5LIrrIicG4ALc3T2Kzm0G8kuEFg=;
 b=tgcyDMR4KkvsAKguLZGWEc+9jTPXj0Uo4i2RHcY3/Om+5xtpdFF5eCmnfFBlB1LKfvz1yLG+NOt/BGiLXSd2KgKHm6p8w//jzSxG2ZvSJUb2cbqSokXPx1ZzWMySfxdSD11aHWaAkBC4JduYl7ytT4A3hvtSPRFbZ6WSjdoU8/zFpT7O1wXU6HHxUO0TEai3m1yfaqRLY6grBIsZb+X/HNGNhYH98+lLPhHbYgtfRLg0cx4JdAzyh1G1UBrUfX9Sfy7G85WqPB15inTyBNGccn6Pg7eXa0M4HSDCnLKImLFC4MEhP0xVGcq4BEW+Ux6NDvmtSSEu9gVO1+CcLZiVvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f725b3a2-6de8-7612-9c51-cea42244ca89@suse.com>
Date: Fri, 25 Aug 2023 11:10:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
 <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
 <b24f0eb8-5dd3-8fba-fd05-e98bcf45c60a@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b24f0eb8-5dd3-8fba-fd05-e98bcf45c60a@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7918:EE_
X-MS-Office365-Filtering-Correlation-Id: 42c6343d-e218-40e7-47ed-08dba54b2014
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eqibl7d9N6HoqKt26sNSNGcXOlY9qO4kT1s7RF0CN7kDjHw9o8awW2v+cAzv37MWUS+a2z6/L80G5YEOlWc+/Onsh+Rpt31cG1lXq2Ufp9rTtf2P6FMRXfvznZj9Mewp4g8m1WP/aKuxCh12xy073f3wnMt00nbAb0cGMUBcOlWVs/zZLurcIvgPnRX+zmW9D+Q/RvwWlkBUjMC1IGKpXEL+bWHUsppO0p/enObwyjmMSqLINyNPrNb2RDU0SUGhdmd1u7AhEAKPHstf2Nb4SrrWKYlZHi5/qBqBWzRoDjfB4G+7pIhscRhF2qZ7zkHRnok8vicj12rm/rgH/lPBpWkZVms6FEpMOrpWn2ajwxZMXBUKq6aPBus8ILykw58aIbWysHnmmBhAUM0hhwJNF6uReEM9AGolLsM5BXdzjebdekcIkg/DFLJFRq61Lr3/qXQ/G1IX5bdmOn13+8LsQwVDnjHNONSwgBcnYr6ai+ggbYx3jkPrpEHWCy3SqRrVz2GZ4O4ijhlW6E2gQkUwfTBj3TArjZWeh5lkw2kWe4qhkA3A3ovGMLybfTtEw7s73liFWFvPFDSXKvl78LqpPitbIwehaZDaTYg2ZAq37EYgwrtRV2K8MPVPM8RwdQDFAG/e5xuUvOgDfkAOVhS5Pg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(376002)(136003)(39860400002)(1800799009)(451199024)(186009)(6512007)(26005)(478600001)(2616005)(5660300002)(31686004)(2906002)(8676002)(8936002)(4326008)(38100700002)(6916009)(66476007)(66556008)(66946007)(86362001)(41300700001)(31696002)(54906003)(6506007)(53546011)(6486002)(36756003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFEvSjZHU21MWjgzRkhDZmw4UGN4WnZjRkh4ZGhVUUVJQS9ZSVg5U0UwSkVQ?=
 =?utf-8?B?T3hreVFpdTQ3UmJCa3ZyMXFyemt2bXZYTEdsKzkzejdvUEF5YzVoQUo2ekg3?=
 =?utf-8?B?MytwWm90dGtqMFFoWnVKazV1ZG9YZXozVzRQNVJKbnNzS2YrZjRsVmF2Wnlj?=
 =?utf-8?B?ZlRlWGo3Y1VxYzUwTWJaZkhKUzRwSUFZVWVGL1Y3b0xQZFd2SXA5U1MwejNE?=
 =?utf-8?B?dHhNc28wUkhvbjQ5anU0NWJSWGRyMDVjKzNrVjZ2SGp6K09iVkM1SVIyUXd5?=
 =?utf-8?B?dUhBVlVLUThDcFpvMjRHN1Vvc1ZjNmJlcmlCajE1ODcyUEpwemdnZnJ1MW5j?=
 =?utf-8?B?MmhZTWszUktEbGVHbThNVE1LMWMxcGcxM09WNDh5Z0V3WjJkcjlkeG5yNHVq?=
 =?utf-8?B?S1gyZ3ZQOVpIc3YyVG1iWGJ5OFcwUGd0MTA4ZzZaNGdiSm9zK1YzWThTY2Rx?=
 =?utf-8?B?TmVTcll2V1ZuK1ZSUXFpV2tTMVMxUE1NMFNZSEtaV0E4NkRhcElzRUNvVjg5?=
 =?utf-8?B?TTErWGhLdE9JMDF2TWVCZGVOKzFaQmw3UDdWd2NmUWxUTGliTUduTHZNd21i?=
 =?utf-8?B?M2N5VG94RXRHV0hMZkVuZ2t5NTZuM0czOFNWNXNWRkp3N3Vnais2TG90d0Nl?=
 =?utf-8?B?RnFnUHFuek55ZzgwU2VRLzRrdDlaZk1iT1FOLzI1T1BCRDVqS291dFRKMDdV?=
 =?utf-8?B?TldQUDJTZnZuSFV2NXd5L0oyQ055QXAvd2VUVFlSaDlUMllPbkhwWVU4bW51?=
 =?utf-8?B?VkZYZEc0WTZqTjBxdnRpakM5VWhtMmdkNUxhL082eDIwTmtha09vWDlCNHVi?=
 =?utf-8?B?Nk1Ed0FpcU1oL29Ea0kvamRPTTFTQ2NyTkZJVVJYcWJLNzl2bVRqUVpqL3Zl?=
 =?utf-8?B?Y1FKV3BDL0FRMEp4NG5CYUZYR3dteGhIYWJ1TEUzMURobkF5S3llVDNZcmtC?=
 =?utf-8?B?eXNpdThiMHFnN1hnZE9zellDZjlBaGI3MUZvZ1BkR0F4SGhOWTB6eWF3TTd0?=
 =?utf-8?B?amRMM3JvSGlkYXk5UllpM1FMYWp0ZHlPaVd2dzVCTUhnTzhEOWtoSWJvcDN3?=
 =?utf-8?B?cGhDTVoxVFl5ek1odGZoZndQQzg3TitIK0QvRDZvYkxzb1NINnhoa3dIeDk5?=
 =?utf-8?B?YlNUYkNVdU5Ga3gzL2RBTW9pTjdtUmhnVmFKWGljMFdsdTM2M0dQMm50OFcy?=
 =?utf-8?B?L3JWTXVFdGk0T2VmWlYvT1NDQTBFbUdGZGlNWlZJR084bXh3Zk1EV20zRnBk?=
 =?utf-8?B?RVgvNkRRTHFNTEN4Q1VvWU1wRTJ6ZzdCUWV2TGlWOWdzMjVoZzdLRWhqRHJw?=
 =?utf-8?B?RVV5RHZFdTdMaUlLM2N6NEFIRkNtK3JsMGZFNU52WjJHQUlrR2diVzhTbHI0?=
 =?utf-8?B?UVpzcTNkb2VhalFIVWg0aEl4N2h4Q1hSMlNrUlJWNTVaWHBEMXozZ2c2ajlt?=
 =?utf-8?B?bUFjZ09TTm41dzVZbnRWZmZnWXRFV3JWRTJ2a015ZkRRcDIrRXJxNkVRNzB2?=
 =?utf-8?B?angwcVN1ejNxczVZSzI4aFlpeTd6VzQxdm9LMWduU2lHWTl1UW40OWIwdWRt?=
 =?utf-8?B?ZUd2SHJ5MnBBNEswdWN5QVJTVjdsY0RLVkpqeXhwbmU1YzF1WS9nQzlQdDl1?=
 =?utf-8?B?b2E2Q0hweDIwaks0bStUMjJ1MHB4MEhpbnh2QjZqVzFCaDVzNEVIUG5uWGsv?=
 =?utf-8?B?VVFGVERSN2FTbmxDUUVGUTNNSjN5c1VkVWNudTJSZ09vaWpMOStmL295NFdu?=
 =?utf-8?B?MXBRUWFNTS9jZ1lGTVhWUXV1RkRIdFY2UGFRUEJhcWp0K1EwTTNaVFVPYjhY?=
 =?utf-8?B?OENqSlVVZlNveXJpa0xic0RPdnNlaUthRExlNlM5VlJ5ZTk0TmRmS3FUanEv?=
 =?utf-8?B?N3g2S0tVd3gxQllMSUFjZ2orUnJ3NmFqTUlPVlpld25FQW51SE5IVFNjdis5?=
 =?utf-8?B?cjQ5dkNnZUVKUHNaWE1CaklPZGZEMTdLQ2RBRzN2OGFMcmVpNVJCcHZQY0l6?=
 =?utf-8?B?bVR2cUZncmp1ZzQvVXVqZzJzRmtOTXAvNXZPd0RxdGxYRUVUU2FueDFCZlV5?=
 =?utf-8?B?ZVF5MjNWR1FJZHFXVDdEUlJRMVJGVGVpVG9aL2RDaWxpRjRwVEpSbzFRZ2Ry?=
 =?utf-8?Q?SX+rnxkY483jynCnNVQKp9TrM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42c6343d-e218-40e7-47ed-08dba54b2014
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 09:10:28.4931
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X7A+NImC2fX60JKJhcgh2FkZhHLjxxRMxleEES8vBRLl7zRnLQlmVtvy4JGqwFa37knG5ZPt5wd6kFVmehHy1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7918

On 23.08.2023 20:39, Shawn Anastasio wrote:
> On 8/8/23 5:27 AM, Jan Beulich wrote:
>> On 03.08.2023 01:03, Shawn Anastasio wrote:
>>> +int map_pages_to_xen(unsigned long virt,
>>> +                     mfn_t mfn,
>>> +                     unsigned long nr_mfns,
>>> +                     unsigned int flags)
>>
>> There's a patch in flight regarding the naming of this last parameter.
>> I guess PPC would best be in sync right away.
>>
> 
> I can't seem to find the patch in question and it doesn't seem like it
> has been merged in the meantime. Could you provide a link?

Looks like I was misremembering, and it was modify_xen_mappings() instead.
I'm sorry for the noise.

>>> --- /dev/null
>>> +++ b/xen/arch/ppc/stubs.c
>>> @@ -0,0 +1,351 @@
>>> [...]
>>> +static void ack_none(struct irq_desc *irq)
>>> +{
>>> +    BUG();
>>> +}
>>> +
>>> +static void end_none(struct irq_desc *irq)
>>> +{
>>> +    BUG();
>>> +}
>>> +
>>> +hw_irq_controller no_irq_type = {
>>> +    .typename = "none",
>>> +    .startup = irq_startup_none,
>>> +    .shutdown = irq_shutdown_none,
>>> +    .enable = irq_enable_none,
>>> +    .disable = irq_disable_none,
>>> +    .ack = ack_none,
>>> +    .end = end_none
>>> +};
>>
>> I would recommend to avoid filling pointers (and hence having private
>> hook functions) where it's not clear whether they'll be required. "end",
>> for example, is an optional hook on x86. Iirc common code doesn't use
>> any of the hooks.
> 
> Alright, I'll drop the `end_none` stub and leave the .end pointer as
> NULL.

Yet my comment was about all the (presently dead) hook functions.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 09:47:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 09:47:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590772.923157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZTP3-0004W5-Sp; Fri, 25 Aug 2023 09:46:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590772.923157; Fri, 25 Aug 2023 09:46: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 1qZTP3-0004Vy-Pv; Fri, 25 Aug 2023 09:46:53 +0000
Received: by outflank-mailman (input) for mailman id 590772;
 Fri, 25 Aug 2023 09:46: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=SuHx=EK=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qZTP2-0004Vq-MA
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 09:46:52 +0000
Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com
 [2607:f8b0:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4fdaa194-432c-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 11:46:50 +0200 (CEST)
Received: by mail-pf1-x42c.google.com with SMTP id
 d2e1a72fcca58-68bed2c786eso589068b3a.0
 for <xen-devel@lists.xenproject.org>; Fri, 25 Aug 2023 02:46:50 -0700 (PDT)
Received: from leoy-huanghe.lan ([8.45.48.113])
 by smtp.gmail.com with ESMTPSA id
 ff19-20020a056a002f5300b0068783a2dfdasm1136966pfb.104.2023.08.25.02.46.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 25 Aug 2023 02:46: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: 4fdaa194-432c-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1692956808; x=1693561608;
        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=6em+zCQA1tQVh35TqfLcBgR50bAGxMCeWkwvhn01eok=;
        b=jru5K3hf63CcVkjcCl7TPMLwq/oiZTKk/l1UPHPK8wznI+rB+BKGXV1Y2xcwAxNfon
         v41BYBA9My9uvmZ4rNoo5nDRkc3EJ518+n/sTndx2/xGxqOBbnElhjMRWouQsZMYKvO2
         K4DDvF1B11lkE7cQgVDZJIx//SJuIEdOyF4nogcYC0C15A/uikmAzIVqaKbuZ2c1w/cG
         VZjPNnVip2/WPSMLhRe4YmZwrVjgT6IkIz9YSjRfc7aosgjf22XVDZI1ziUTwhBKIl0+
         wDjYDIayzRbxuoivXUTw62yeNustJ2yWho3KyDL0Cu5z3NoP+69ufkECxHC/2S712/as
         ly6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692956808; x=1693561608;
        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=6em+zCQA1tQVh35TqfLcBgR50bAGxMCeWkwvhn01eok=;
        b=XJ2Nuw4tBGg/EYabGuNiYRjN0Iym3w4OHJq4oh/hzEUtp5M+vN8mkS1EecNmbaDp7J
         0yFHolvbcmE+R7j1mv86P790WbxR76HG7UrwXuF+0xcpSBQIGcsFJQ3pWV6uneQHOK+h
         MmmjrfIeyWlEKC0EiwbHVb3dM5yueoLiuDWTEXJHJ90ZCmhOCqczX6ff4Q2GlZ1Z43a/
         JHzNC86wzAr/bH98DZCmhWVTp/+CuhbY2EVQWIw9kGZjNrmtwNFwQuZfQallLjI6iNRo
         crPs6Wkk5/rILzEsAREXZd2pxWcY2gYzzOGF/z3LKk7rAxTyn/L5XKUcL0sPtfsNHkuq
         tNsQ==
X-Gm-Message-State: AOJu0YzSC7mE3aXA33Sys+PTKjHv+PhQsMYchiUNf590o/AIOipeeF4o
	pYFJVxCz/P1+3norG51gF/g91Q==
X-Google-Smtp-Source: AGHT+IHzHteb/bO4LGQMKLhUTgpEfqZNo7bclK+dXvyky5jYPhdph9nxTZAI3JtbIkvhYH5T97b+gQ==
X-Received: by 2002:a05:6a20:9718:b0:14b:f86f:d9ea with SMTP id hr24-20020a056a20971800b0014bf86fd9eamr3588120pzc.3.1692956808484;
        Fri, 25 Aug 2023 02:46:48 -0700 (PDT)
Date: Fri, 25 Aug 2023 17:46:43 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Erik Schilling <erik.schilling@linaro.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Mikko Rapeli <mikko.rapeli@linaro.org>
Subject: Re: [PATCH v1] tools/hotplug: systemd: Make dependency on Xen device
 nodes
Message-ID: <20230825094643.GB17083@leoy-huanghe.lan>
References: <20230825033616.3402812-1-leo.yan@linaro.org>
 <CV1D227LZPCW.2ELMBHY8LE53X@fedora>
 <20230825063640.GA228998@leoy-huanghe.lan>
 <CV1GD1WJK30G.354V5FQOQJ1K7@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CV1GD1WJK30G.354V5FQOQJ1K7@fedora>

On Fri, Aug 25, 2023 at 09:37:58AM +0200, Erik Schilling wrote:

[...]

> > > > diff --git a/tools/hotplug/Linux/systemd/xenstored.service.in b/tools/hotplug/Linux/systemd/xenstored.service.in
> > > > index 261077dc92..6e48cdb0e7 100644
> > > > --- a/tools/hotplug/Linux/systemd/xenstored.service.in
> > > > +++ b/tools/hotplug/Linux/systemd/xenstored.service.in
> > > > @@ -1,7 +1,7 @@
> > > >  [Unit]
> > > >  Description=The Xen xenstore
> > > > -Requires=proc-xen.mount
> > > > -After=proc-xen.mount
> > > > +Requires=proc-xen.mount dev-xen-gntdev.device
> > > > +After=proc-xen.mount dev-xen-gntdev.device
> > > 
> > > I must admit that I am a bit confused why this is enough... During our
> > > discussion on Slack, when you quoted from your rule it included
> > > `ENV{SYSTEMD_WANTS}="xenstored.service"`. Did you drop that during later
> > > development? Was there additional reasearch involved in dropping it?
> >
> > Yes, I dropped ENV{SYSTEMD_WANTS}="xenstored.service" and it works well
> > at my side.
> 
> Hm. Interesting. Could you plot the activations after boot?
> 
>     systemd-analyze plot > /tmp/plot.svg
> 
> Seeing failure vs success but also the success cases on AVA vs Telechips
> may be interesting.
> 
> I just did some tests on my workstation where I added dependencies on
> a random USB device. If that one was not plugged at all, the service
> still happily started. Yet, it obviously seems to do something in your
> case... So I fear we may not fully understand the real problem yet.
> 
> I must admit that I find this case a bit under-documented. While "Wants"
> explicitly says that failling transactions are ignored, there is no
> clear statement about what happens in that case with "Requires".
> 
> While skimming the docs I also realized that maybe BindsTo= would maybe
> be more suitable compared to Requires= here. But that is unrelated to
> the confusion that I have about the original problem.

Please ignore this patch and sorry for noise.

Erik and me confirmed the systemd has established the dependencies
properly.  The dependency is (the above one depends on the blow one):

  xenstored.service
    `> sysinit.target
         `> systemd-modules-load.service (Load xen modules)


My issue is caused by a local customzied systemd-modules-load.service
which breaks the dependency between sysinit.target and
systemd-modules-load.service.

Very appreciate Erik's help for root cause the issue.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 10:19:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 10:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590780.923167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZTuf-0008IC-7Z; Fri, 25 Aug 2023 10:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590780.923167; Fri, 25 Aug 2023 10: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 1qZTuf-0008I5-4z; Fri, 25 Aug 2023 10:19:33 +0000
Received: by outflank-mailman (input) for mailman id 590780;
 Fri, 25 Aug 2023 10:19:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZTud-0008Hu-TL; Fri, 25 Aug 2023 10:19:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZTud-0007OG-MF; Fri, 25 Aug 2023 10:19: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 1qZTud-0006Eh-7v; Fri, 25 Aug 2023 10:19:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZTud-0003d8-7T; Fri, 25 Aug 2023 10: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=caZxHAHTKeXggh32d75heQD6euquZvvIM7/lxu40uM0=; b=O1l2/Cb2OLiYAqyDwUaDx90ZuR
	Nnee6O4SSwwtlnjpADseOXwC7eVrMBtSFqZ+XqWXdIKeRpZdc3TsPyfl6bJV+4xOn3WEAmNSXTKnR
	Amrg2YVWcj6UtItMDpoLzPo0Q145hjZ3zUjx8rKoZhCNTEBFpfIKdFfWuvBwsPQPT7Rw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182511-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182511: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
X-Osstest-Versions-That:
    xen=b0cd7499ddd281033548a702c6d61ab13fdd1f67
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 10:19:31 +0000

flight 182511 xen-unstable real [real]
flight 182516 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182511/
http://logs.test-lab.xenproject.org/osstest/logs/182516/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182516-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182516 like 182502
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182502
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182502
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182502
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182502
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182502
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182502
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182502
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182502
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182502
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182502
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182502
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
baseline version:
 xen                  b0cd7499ddd281033548a702c6d61ab13fdd1f67

Last test of basis   182502  2023-08-24 09:50:31 Z    1 days
Testing same since   182511  2023-08-24 20:38:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b0cd7499dd..11d9f3ddf5  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 10:23:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 10:23:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590790.923180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZTyI-0001SI-RR; Fri, 25 Aug 2023 10:23:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590790.923180; Fri, 25 Aug 2023 10:23:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZTyI-0001SB-Og; Fri, 25 Aug 2023 10:23:18 +0000
Received: by outflank-mailman (input) for mailman id 590790;
 Fri, 25 Aug 2023 10:23:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qpM3=EK=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1qZTyH-0001S0-G3
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 10:23:17 +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 6766912d-4331-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 12:23:16 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-52a1132b685so1202334a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 25 Aug 2023 03:23: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: 6766912d-4331-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1692958995; x=1693563795;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YHWuHjhyKqjEget8xzEwFqJ3R8QAO0E8k9+PMrDj86k=;
        b=AY1ymnjdg1ytRVaFOi3SdF9uiKi9cOEoynJC5vyTu+q2p2P/l2JL8IbfHGKkKVSHFY
         haAe2cE7R+hxMUKPlSdZX6SxW9RiHGVjOKicosQjsbZOSPuQXg310O4rdnfd66fP/8ca
         P7boRUEXxCzWuLbkA/CAmqVtrfi0OcDMJZsHA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1692958995; x=1693563795;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YHWuHjhyKqjEget8xzEwFqJ3R8QAO0E8k9+PMrDj86k=;
        b=VT9GFy3igNiHXMzzQDYY6OlNPVqS93LZldwPp34SzA6X+q8xJDTBIj7ekVob7jbaBY
         PAHJsLysTIQThuMet57VK06g/q8mXpYnPIxuKFVubpa9H05EeUCLJezYNa92s30fmXr3
         ZbROCSc2Gtr+bjIT4L/+tEEp0yiQdtwFsS7MAUTgLUldP/78bOfRySpAtdOjXo9EhiH2
         IvYRwTzcel0UhT9Ipr6PDCTXYMaSWGgPtkkYPx39+856iBMgX5pJBvArPPm6HcTKwkW+
         9FpKbOO1QqVg1DSZaa0MWXDsKL1X0vrfbjkF5ch9+rBdXfvSB47fp5Di0qN0+AdRDY+3
         bjkg==
X-Gm-Message-State: AOJu0YxjsSTdd7W58/aykMchvbUa1DVIn8wptYv6H6q7BXa+GsIPBwGc
	m7qJ32F+FbXlPUIc9y98X0BPTrhOOSvtlUAl279mJAbTPY+hPK/4730=
X-Google-Smtp-Source: AGHT+IHV+GhYfuGW/YfEPi093ofauz+tQRIG3+Srh/wzQkUAhbCsfD1uqCvqJkI5KiFIOx9nnZQXSxRRDSiPmrvq8Ms=
X-Received: by 2002:a05:6402:120a:b0:525:46b7:40f2 with SMTP id
 c10-20020a056402120a00b0052546b740f2mr13576751edw.21.1692958995532; Fri, 25
 Aug 2023 03:23:15 -0700 (PDT)
MIME-Version: 1.0
References: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
In-Reply-To: <CAO-mL=zqZjGhPB7wDxcGM=FxU0-JCcc9AY7YSrPKV5Kpv3pDDw@mail.gmail.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 25 Aug 2023 11:22:40 +0100
Message-ID: <CAO-mL=wy3PS7H5xoWtc29M5tkAS4DPLuV=5FiiRYN0wRN6bH_w@mail.gmail.com>
Subject: Re: Community Manager update - August 2023
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org, 
	xen-announce@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000008c5de70603bcbb6e"

--0000000000008c5de70603bcbb6e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi everyone,

Thank you for your feedback so far.

   - With no objections from the community - New Matrix only channels are
   now available to join. The reason for such a change is to
   improve communication and synchronization of messages which members of I=
RC
   have had issues with previously.

Please join using the following links:


   1. XenProject: https://matrix.to/#/#XenProject:matrix.org
      <https://matrix.to/#/%23XenProject:matrix.org>
      2. XenDevel: https://matrix.to/#/#XenDevel:matrix.org
      3. XenSocial: https://matrix.to/#/#XenSocial:matrix.org


   - IBM Softlayer wording has been updated to IBM Cloud
   - The addition of the words 'safe' and 'safety' are to be added to the
   Xen project goals and purpose, which will shortly be reflected on the
   website:
      - The project aims to enable innovation, scalability, safety, and
      security in virtualization solutions.
      - Transform embedded and automotive sectors with mature, safe, and
      secure solutions.

Many thanks,
Kelly Choi

Open Source Community Manager, XenServer
Cloud Software Group


On Fri, Aug 18, 2023 at 11:55=E2=80=AFAM Kelly Choi <kelly.choi@cloud.com> =
wrote:

> Hi everyone! :)
>
> I hope you're all well.
>
> If we haven't met before, I'd like to introduce myself. I'm Kelly, the
> Community Manager for The Xen Project. My role is to support everyone and
> make sure the project is healthy and thriving.
>
> *The latest update below requires your attention:*
>
>
>    - *We will be moving IRC channels fully to Matrix in September 2023.
>    Once the channels have been created, further information will be share=
d. *
>    - *New Mission Statement, goals, and purpose is attached to this email
>    and will be shared publicly.*
>
> *Should anyone have any concerns or feedback, please let me know*
>
> Many thanks,
> Kelly Choi
>
> Open Source Community Manager, XenServer
> Cloud Software Group
>

--0000000000008c5de70603bcbb6e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi everyone,<div><br></div><div>Thank you=
 for your feedback so far.</div><div><ul><li>With no objections from the co=
mmunity - New Matrix only channels are now available to join. The reason fo=
r such a change is to improve=C2=A0communication and synchronization of mes=
sages which members of IRC have had issues with previously.=C2=A0</li></ul>=
</div><blockquote style=3D"margin:0px 0px 0px 40px;border:none;padding:0px"=
><div>Please join using the following links:</div></blockquote><div><ol><ol=
><li>XenProject:=C2=A0<a href=3D"https://matrix.to/#/%23XenProject:matrix.o=
rg" target=3D"_blank">https://matrix.to/#/#XenProject:matrix.org=C2=A0</a><=
/li><li>XenDevel:=C2=A0<a href=3D"https://matrix.to/#/%23XenDevel:matrix.or=
g" target=3D"_blank">https://matrix.to/#/#XenDevel:matrix.org</a></li><li>X=
enSocial:=C2=A0<a href=3D"https://matrix.to/#/%23XenSocial:matrix.org" targ=
et=3D"_blank">https://matrix.to/#/#XenSocial:matrix.org</a></li></ol></ol><=
ul><li>IBM Softlayer wording has been updated to IBM Cloud</li><li>The addi=
tion of the words &#39;safe&#39; and &#39;safety&#39; are to be added to th=
e Xen project goals and purpose, which will shortly be reflected on the web=
site:=C2=A0</li><ul><li>The project aims to enable innovation, scalability,=
 <font color=3D"#ff0000">safety</font>, and security in virtualization solu=
tions.</li><li>Transform embedded and automotive sectors with mature, <font=
 color=3D"#ff0000">safe</font>, and secure solutions.</li></ul></ul></div><=
div><div><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div>M=
any thanks,</div><div>Kelly Choi</div><div><br></div><div><div style=3D"col=
or:rgb(136,136,136)">Open Source Community Manager, XenServer</div><div sty=
le=3D"color:rgb(136,136,136)">Cloud Software Group</div></div></div></div><=
/div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Fri, Aug 18, 2023 at 11:55=E2=80=AFAM Kelly Choi &lt;<a =
href=3D"mailto:kelly.choi@cloud.com" target=3D"_blank">kelly.choi@cloud.com=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<div dir=3D"ltr">Hi everyone! :)=C2=A0<div><br></div><div>I hope you&#39;re=
 all well.=C2=A0</div><div><br></div><div>If we haven&#39;t met before, I&#=
39;d like to introduce myself. I&#39;m Kelly, the Community=C2=A0Manager fo=
r The Xen Project. My role is to support everyone and make sure the project=
 is healthy and thriving.=C2=A0</div><div><br></div><div><b>The latest upda=
te below requires your attention:</b></div><div><b><br></b></div><div><ul><=
li><b>We will be moving IRC channels fully to Matrix in September 2023. Onc=
e the channels have been created, further information will be shared.=C2=A0=
</b></li><li><b>New Mission Statement, goals, and purpose is attached to th=
is email and will be shared publicly.</b></li></ul><div><b>Should anyone ha=
ve any concerns or feedback, please=C2=A0let me know</b></div></div><div><b=
r clear=3D"all"><div><div dir=3D"ltr" class=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)">Open Source Community Manager, XenServer</=
div><div style=3D"color:rgb(136,136,136)">Cloud Software Group</div></div><=
/div></div></div></div></div>
</blockquote></div>
</div>

--0000000000008c5de70603bcbb6e--


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 12:11:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 12:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590854.923223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZVeR-0000Ck-KX; Fri, 25 Aug 2023 12:10:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590854.923223; Fri, 25 Aug 2023 12:10: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 1qZVeR-0000Cd-Hn; Fri, 25 Aug 2023 12:10:55 +0000
Received: by outflank-mailman (input) for mailman id 590854;
 Fri, 25 Aug 2023 11:56: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=gotW=EK=kernel.org=brauner@srs-se1.protection.inumbo.net>)
 id 1qZVQq-0006Ht-3B
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 11:56:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 788af6de-433e-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 13:56:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A3FC562DC7;
 Fri, 25 Aug 2023 11:56:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 690DCC433C8;
 Fri, 25 Aug 2023 11:56:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 788af6de-433e-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692964607;
	bh=YCgx9U87vcM/sPt5nfivx+zm1TRjhU2OgXFV2oyUhfE=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=YANaZq+Nab+4jPdlv9xZhGF68npY0UWCfbof63kV9MggkKvzsoBNQxKCZCrG9L1Bn
	 CAdn3RzlduIuIrAnNU8IxZdD2fFjPxNqNLI/1fGYuBe1wRSV6sZ6p8kdbvchE4dCWA
	 62yFhvG6u8WPXSdW0oQPAIsXOqBK+MPtWDMHAORo4MuXtZeVC8gOaxSyeNqJxNNZXF
	 TbH88JMcZ7cONOUtJ+qxK+1nRoT0t7JCgMQHZd14VZbtO6lyJNpH44CsPJ/OCFWwH6
	 bCJZbMf26MAuMr0oB6qUIyRcBXWxkoU0xmqGmIeoTZES+EvYdzXfaflTKlanU2y4uE
	 7vCUlKsUilz7Q==
Date: Fri, 25 Aug 2023 13:56:42 +0200
From: Christian Brauner <brauner@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	xen-devel@lists.xenproject.org, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH 07/29] xen/blkback: Convert to bdev_open_by_dev()
Message-ID: <20230825-flatterhaft-zugluft-557515f1b2e7@brauner>
References: <20230818123232.2269-1-jack@suse.cz>
 <20230823104857.11437-7-jack@suse.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230823104857.11437-7-jack@suse.cz>

On Wed, Aug 23, 2023 at 12:48:18PM +0200, Jan Kara wrote:
> Convert xen/blkback to use bdev_open_by_dev() and pass the
> handle around.
> 
> CC: xen-devel@lists.xenproject.org
> Acked-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---

Looks good to me,
Acked-by: Christian Brauner <brauner@kernel.org>


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 12:19:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 12:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590886.923234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZVmN-00011J-D9; Fri, 25 Aug 2023 12:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590886.923234; Fri, 25 Aug 2023 12:19:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZVmN-00011C-AO; Fri, 25 Aug 2023 12:19:07 +0000
Received: by outflank-mailman (input) for mailman id 590886;
 Fri, 25 Aug 2023 12:19:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sFgK=EK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZVmM-000114-8a
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 12:19:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94dd797c-4341-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 14:19:04 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A143F4EE0737;
 Fri, 25 Aug 2023 14:19: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: 94dd797c-4341-11ee-8783-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] xen/pci: drop remaining uses of bool_t
Date: Fri, 25 Aug 2023 14:18:46 +0200
Message-Id: <cd7bd01c1ca9f3c6668ed15f7300c17a981c1708.1692965750.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The remaining occurrences of the type bool_t in the header
file can be removed. This also resolves violations of
MISRA C:2012 Rule 8.3 introduced by 870d5cd9a91f
("xen/IOMMU: Switch bool_t to bool").

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/pci.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index a8c8c4ff11c3..7d8a7cd21301 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -75,8 +75,8 @@ struct pci_dev_info {
      * VF's 'is_extfn' field is used to indicate whether its PF is an extended
      * function.
      */
-    bool_t is_extfn;
-    bool_t is_virtfn;
+    bool is_extfn;
+    bool is_virtfn;
     struct {
         u8 bus;
         u8 devfn;
@@ -158,10 +158,10 @@ struct pci_dev {
 
 void pcidevs_lock(void);
 void pcidevs_unlock(void);
-bool_t __must_check pcidevs_locked(void);
+bool __must_check pcidevs_locked(void);
 
-bool_t pci_known_segment(u16 seg);
-bool_t pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func);
+bool pci_known_segment(u16 seg);
+bool pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func);
 int scan_pci_devices(void);
 enum pdev_type pdev_type(u16 seg, u8 bus, u8 devfn);
 int find_upstream_bridge(u16 seg, u8 *bus, u8 *devfn, u8 *secbus);
@@ -211,7 +211,7 @@ unsigned int pci_size_mem_bar(pci_sbdf_t sbdf, unsigned int pos,
                               unsigned int flags);
 
 void pci_intx(const struct pci_dev *, bool enable);
-bool_t pcie_aer_get_firmware_first(const struct pci_dev *);
+bool pcie_aer_get_firmware_first(const struct pci_dev *);
 
 struct pirq;
 int msixtbl_pt_register(struct domain *, struct pirq *, uint64_t gtable);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 12:31:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 12:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590894.923244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZVy5-0003bK-Gx; Fri, 25 Aug 2023 12:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590894.923244; Fri, 25 Aug 2023 12: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 1qZVy5-0003bD-CJ; Fri, 25 Aug 2023 12:31:13 +0000
Received: by outflank-mailman (input) for mailman id 590894;
 Fri, 25 Aug 2023 12: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=gnt3=EK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZVy4-0003b7-7n
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 12:31:12 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41f1705f-4343-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 14:31:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7748.eurprd04.prod.outlook.com (2603:10a6:20b:243::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 12:31:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 12:31:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41f1705f-4343-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSCvpFr4JkX54LyoIDhlRU2eVxFnUBBxCCDIunURe+2m1lfDWUarNhwlluUjfE/3X/TS59D9FkwkaS9Fv24A2lmT27k2F+lzGoxPaBfbBn1SRxDekH/2mFfEjYjORaowziXujLbJKxdglHrU03q9QN+uZTmVYX2SDl8eZEGBzOXhmE2tNrlQAMnuEZ8BOhvvYdjnE5/ljJvOShTPBwN9Qea8cuymFj2+qLnTYQX5hb6Jp2Q4GEle4Yq1j58VELNHrPvOviPfsKAfbectrsvvRox+30lEs00gTAuygxxwjLKxr14im1D3j5gEDjmzjTwa7itZn3AlKiCyf9kTnfmpbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PZgKpeIUMb7s8ZPsEogsqqAUbJB+UDtSZH1hwkwhHj8=;
 b=aHtlWtZKnXWq98qaVHj0JtMDAP9L4qZCV79/f/erfi0UJBFPMvHB23rF8CIH2A5hHJbvBpK4eRM9788KxuBXUO3eB99HfTHvypv4jDzXgnonBV6FLIbcy/106Gvlpaksi5g36viE7stXbh7ZZJP6yujW0Jw792Bx1NSzd7UsIUvqaAbJkmO6SzINPMjEm73rP0nBzd6FfkmfndopQsKTO+l1g1KZZj28gEs/IFxNLVRJnPTrnAZ88X95Qa236IZxG3wKjJdr3cdtb8jhRLJzqSv7mpto+BffEf9VFdImw6zx3zdIul5Jm4p7oPn6iY16OruVdy/uUit4fFpOkV5tgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PZgKpeIUMb7s8ZPsEogsqqAUbJB+UDtSZH1hwkwhHj8=;
 b=cjA4yBJ8C3Bf+ydgbusOQz8bZHemG1Ev3XCGzJPk0IYnPxs7EEa1ePIeAj8LpbdJXpoI822KmuP2XNTrRPjzizsHv6lMKhMfvWuofRq4hOXAy1Z4DIT3j39akNHD4o8E6qUSmtl3kS69ZS7wFUwUBpVHVKx9/1gpFlz5dAJ89Wdp4Eylf4WHeL6TIv7fb2s4eLiy5Id7yuBQjH4k3H05W5wPdJDdiGJ4ZHpV4PZcKCExaBW+APm+U4uFOso9ay4o31hwgZcZn0p8D9+poiXLT73UJR4O7rlStsc/Hi2L/qbrqIrJ2D1bLoconfBdSv09dOvX+p6vneDKpig9CShLXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d90f8c71-5fcb-5e35-0d02-37b08af75a65@suse.com>
Date: Fri, 25 Aug 2023 14:30:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] xen/pci: drop remaining uses of bool_t
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>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cd7bd01c1ca9f3c6668ed15f7300c17a981c1708.1692965750.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cd7bd01c1ca9f3c6668ed15f7300c17a981c1708.1692965750.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7748:EE_
X-MS-Office365-Filtering-Correlation-Id: f75e34aa-4bb0-45a6-5540-08dba56724c4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tPe9B6jWJ+OgasafBBC0dITh1J6HlJx7eJa9gCMDQFKQ4iIE/G+s9NjBbn/E/znV72sj69hZAUBkXY+2DYlkx0IU4BVenHPNuES508dW2/EhHklWpprM6YxtRtVc/HIlrv8WWA3kGjajhkNTbzprr6tECTVrWN89YlVJP20w4cPnsbkpZGkg3N+34DYYpKZaPunFKWEbSKJbCZYDjMNKvEyKmj5JFTS893Xjt0JfD/Q7FOUG54bmVHTnQCXDDJg9Jdz2JnyqBfzT38eq9KpMfKK8GxamS1OzmHhH5GJGpK0NyybmNHdpRYpa8RDchgQfuiUTs2eiFd9OV3DHffTCat2DW4Vu1am6ysLnJrd+Mci+MaK7ftcYd27IW/qbqhSV76qKCI9+1LwdtR6ZQvtZcOb7IIA2VKT3cm4Yi/64BEG/f6dab6Wt8wmRp3gs273n9zfCbxZaSRqQ7yrnLLl3CXJ8GrbrGYVg3EoL4AbPyNZuzy7z1v0ZM7pGur2aXXU8D7lr8mCMYxOvsrkp+n4LVfN7nBtuRE+EVsJ1GiuwRbGXBPO/TikoxaOkJwJMkWp5Yrjk+wkRqR2TM9nzkMDG4WWBGRuS7MILw2iUd4BBTJg6NOG3dqhNiREf9YkRqL+XwTqIHOdWg26x/g+HAZmf/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(136003)(376002)(39860400002)(1800799009)(451199024)(186009)(7416002)(6512007)(478600001)(26005)(2616005)(5660300002)(31686004)(2906002)(4744005)(8676002)(8936002)(4326008)(38100700002)(66556008)(66946007)(66476007)(6916009)(86362001)(41300700001)(54906003)(31696002)(53546011)(6486002)(36756003)(6666004)(316002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTdOUjdrVThmWmVrdGcrc2Rxc0lOTTNJQmpmU1lnN0pIL0RLYnJiMXpyRzJy?=
 =?utf-8?B?NDlKMG5MSjRtN21uaW9lTlV1TjN6Qjh4T0UvS3lCN0U2RzJmaWJtU1FUaFlX?=
 =?utf-8?B?RFk4dHozTmFJUmNBUHVraXcyQ1R1VG85cmRMME1tSmJncTFhNGVtR3Q3UDEw?=
 =?utf-8?B?ODBmZFBobnlud0pRZWdVNS9Jakc5V2dPS0RnOHlLR3ZsZzlzNUxzS2x0OTRZ?=
 =?utf-8?B?ZVpUd0lCWWpEY0RnL2plYXFsVm5wOUxPQ3NZMUVjYWRHQm13YVUxbU96N1kw?=
 =?utf-8?B?MDVHVFgrbjdkaEZocWJoYkl3RmdCSjgvRUsreFVVdGYwdlZzRWJNOFNrbUFU?=
 =?utf-8?B?eUw4ajRtVW9xRG9VQjRTSlVCbjV3Q0oxa09zQkxkSDkxWis1MXdUMTJWTUg4?=
 =?utf-8?B?MG5DY0UxdXlFTTFSblZnNnM0Q21GUzdlMmIwOVlrWE9oZjFoR3liL1pwaUtL?=
 =?utf-8?B?ZGhMay82N1NUVzFlQUFVVVpENGxaU3N3amlPZXFGNXQxelc3ZGc5azBiTGtJ?=
 =?utf-8?B?Z0h1eVRTZE5mcFpqMGVhL0hiTVhyWDhuM2Y4TEYrN09vWmIzMVo5WVRIdW9l?=
 =?utf-8?B?YUN2dmMwemFpZng4Wng2eW9yaEF2Q3VEMWlqbUxqaGZIVm1xUFUzOFdjYnc4?=
 =?utf-8?B?a2h5RS96UkViMUdrNkNGNFB1aElRK05nZllaR3N1Z1d5bzlFSGgvRnlBUHJM?=
 =?utf-8?B?dHRENWFmd09qQzhvV3NvUGhWUmpvNmJHdHpKbXhYVXYrZ0xaVUNDUE4wS1JX?=
 =?utf-8?B?cHJUWFFOb2lGakxhVzBiU1RTLzVFd0xLUUxmZ3RGU25Mc1dkVWhtTU81dE45?=
 =?utf-8?B?d2Z0UVREWlgyM05scnU2amxxSmROSUJ0bkJoM1FQMHJQNVNJMDhaNEVoNk12?=
 =?utf-8?B?MnVhK2hFZ25sSWptdGN1SDIzb0c0bW1KUDkrdDN4QVF0bSsvRkQrcUVmL0NC?=
 =?utf-8?B?ckNLRnRQb1hTMHJKTHQyRUR6dHkrN3VEMlR2RUZyZk05ZHdtbGg0THd6bWNJ?=
 =?utf-8?B?UUhPaDBTM20vOHp4MEo3d1pkeHZBaEk2OUkvSWdZMXZLSXhXdkR5bmZYeFdB?=
 =?utf-8?B?Uzlaak13QnBTY001SEQ3T3czTzVjUHNjK0xHQjJpS3ZYQUV1aC90Vm80QjBE?=
 =?utf-8?B?dkhTTldVWlMxVzJ6MVJTcVFrbjREWFBEK255MWkxbWE5Zm5qbUluWWtHaUN0?=
 =?utf-8?B?VEo0VzVTNTBjZXRXV1R3WWdQU09CbDNQWk9yV2dOaUVFYnllSzRVNUxhTjJL?=
 =?utf-8?B?SUZqZWRiUURzNzNKaWJIMC9pT2t2bGFFNHRXbElHbmRqTU84WU5mVnFXeWg1?=
 =?utf-8?B?U3A3aUJQcjJ0T1d2aXFZdUVodytUdzdNV3BDYVFFcnZzVkx5b3B4K1hNTXpx?=
 =?utf-8?B?SVBmL0h1SFM1UUFhQUtxVHpFODgrM3g5QVE4MXczZFlvNDM4OHZpTXhRMlRk?=
 =?utf-8?B?cWFmUXdGUDdRYVcyOSttcmtHbnNRajZUR0gwNzFvK0VQbGVIcU11WlJ1WUtJ?=
 =?utf-8?B?V3VIeWN6SXlyYjFNZkVXZGZvTFh6Z3NsZmJTeTlOS0xvNUVhL3NoTFc3akN4?=
 =?utf-8?B?LzduYkZtUzlLR25DTXF1d1B5ZktxL2JPbWgxUkk1VFpUNGQ4Wm5sOWZzeDND?=
 =?utf-8?B?dnZDSDh6UVV0ZWJPODM4bXRNdUk1cnpxV2lGSHNOR2xLTDlWY1AvQUpmZWJK?=
 =?utf-8?B?Z3N4VGRxd2Z4Q1dMY0xMcHNremdsekhrUGY2SmUyYUVCenVsQkIvcUpyODha?=
 =?utf-8?B?SXU4dXJNeDRtVVlueERHeERHNzFPT2RNUVBteEszbXhNbUdlQ0NxMkRnNmVx?=
 =?utf-8?B?QVlNb0NvbWlNMEZkRzhoT0J0UGR4TjJmRkQ5VkVpc2xGSmIrN1BpQ3E1RTNS?=
 =?utf-8?B?U2RLRXdQN1FQVGZIN0MxTElRVW5seDd1dHBnQ0Y1VDhqcmQwb0IyVk5wQzdO?=
 =?utf-8?B?UG8ya2lrem1iNkwrZXBSWWEwOWZac09jSjlNNG9kYmUwenBpajAyUVRUdXI3?=
 =?utf-8?B?b25ZUFAyUzdyT2h1WDFDNEgzeGY3L0R0NG0wZk1iZFVySUxBdGxvMHhMaGZR?=
 =?utf-8?B?WkI0bUFBUEFkc3ZQazg2blRjMnlkY1MxSzVYMk1kRDFiYnJGdE9CSmQ0dFlE?=
 =?utf-8?Q?JyTpCikWkkzLI3m/U8hkytc5X?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f75e34aa-4bb0-45a6-5540-08dba56724c4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 12:31:02.2090
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1mJZrUxf+h9M1BRE29cPyV1zv4p2RDOBCdCtUFpLB4vAmn1y55nU07VryjwXBAmUIZirNIEFHFjKlKJLqAcZdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7748

On 25.08.2023 14:18, Nicola Vetrini wrote:
> The remaining occurrences of the type bool_t in the header
> file can be removed. This also resolves violations of
> MISRA C:2012 Rule 8.3 introduced by 870d5cd9a91f
> ("xen/IOMMU: Switch bool_t to bool").
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Aug 25 13:25:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 13:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590901.923254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZWok-0001O8-49; Fri, 25 Aug 2023 13:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590901.923254; Fri, 25 Aug 2023 13: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 1qZWok-0001Nz-11; Fri, 25 Aug 2023 13:25:38 +0000
Received: by outflank-mailman (input) for mailman id 590901;
 Fri, 25 Aug 2023 13:25:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZWoj-0001Mv-5G; Fri, 25 Aug 2023 13:25:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZWoj-0002Ww-0G; Fri, 25 Aug 2023 13:25: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 1qZWoi-0006PT-G4; Fri, 25 Aug 2023 13:25:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZWoi-0000Nz-Fb; Fri, 25 Aug 2023 13:25:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+NcdMfozL1uNsg0acW5iF+82Mk8YeB2j2kGx2tDyuig=; b=0u5yYe1voU0ilHsyLzFoubtZYP
	IyOL/YuKn++5e2iJay2koWZktMF+zLmNhboYVWMVQY57moynWglfVt5XK74zDfKiykI4M/l2azGgc
	4iXEzB7Jj8zZ7Qguvio2lEsqs4wV1VBmEHZci6j+WCgCwTOuiTsOJyilIFMQqZgSgcnk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182512-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182512: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2: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-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8d6ff449094b4b5eff40d4af08e47c520b78bc5
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 13:25:36 +0000

flight 182512 linux-linus real [real]
flight 182518 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182512/
http://logs.test-lab.xenproject.org/osstest/logs/182518/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail in 182518 REGR. vs. 182424

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1  14 guest-start         fail pass in 182518-retest
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 182518-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f8d6ff449094b4b5eff40d4af08e47c520b78bc5
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    2 days
Failing since        182452  2023-08-23 10:10:33 Z    2 days    4 attempts
Testing same since   182512  2023-08-24 23:44:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Haleem <abdhalee@in.ibm.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Amit Cohen <amcohen@nvidia.com>
  Andrii Staikov <andrii.staikov@intel.com>
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  ArÄ±nĂ§ ĂœNAL <arinc.unal@arinc9.com>
  Benjamin Coddington <bcodding@redhat.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chuck Lever <chuck.lever@oracle.com>
  Daniel Golle <daniel@makrotopia.org>
  Danielle Ratson <danieller@nvidia.com>
  David Christensen <drc@linux.vnet.ibm.com>
  David S. Miller <davem@davemloft.net>
  Doug Berger <opendmb@gmail.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  Gregory Greenman <gregory.greenman@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hariprasad Kelam <hkelam@marvell.com>
  Ido Schimmel <idosch@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jiri Pirko <jiri@nvidia.com>
  Johannes Berg <johannes.berg@intel.com>
  Josua Mayer <josua@solid-run.com>
  Kees Cook <keescook@chromium.org>
  Leonard GĂ¶hrs <l.goehrs@pengutronix.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lu Wei <luwei32@huawei.com>
  Marek BehĂºn <kabel@kernel.org>
  Mark Brown <broonie@kernel.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Naama Meir <naamax.meir@linux.intel.com>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Peng Fan <peng.fan@nxp.com>
  Petr Machata <petrm@nvidia.com>
  Petr Oros <poros@redhat.com>
  Ping-Ke Shih <pkshih@realtek.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>
  Randy Dunlap <rdunlap@infradead.org>
  Remi Pommarel <repk@triplefau.lt>
  Richard Cochran <richardcochran@gmail.com>
  Rik van Riel <riel@surriel.com>
  Rob Herring <robh@kernel.org>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sasha Neftin <sasha.neftin@intel.com>
  Serge Semin <fancer.lancer@gmail.com>
  Shih-Yi Chen <shihyic@nvidia.com>
  Simon Horman <horms@kernel.org> # build-tested
  Simon Wunderlich <sw@simonwunderlich.de>
  Srinivas Goud <srinivas.goud@amd.com>
  Sunil Goutham <sgoutham@marvell.com>
  Sven Eckelmann <sven@narfation.org>
  Swapnil Devesh <me@sidevesh.com>
  Thinh Tran <thinhtr@linux.vnet.ibm.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Venkata Sai Duggi <venkata.sai.duggi@ibm.com>
  Victor Nogueira <victor@mojatatu.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2244 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 13:33:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 13:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590911.923263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZWvz-000301-SL; Fri, 25 Aug 2023 13:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590911.923263; Fri, 25 Aug 2023 13:33:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZWvz-0002zu-Pq; Fri, 25 Aug 2023 13:33:07 +0000
Received: by outflank-mailman (input) for mailman id 590911;
 Fri, 25 Aug 2023 13:33:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gotW=EK=kernel.org=brauner@srs-se1.protection.inumbo.net>)
 id 1qZWvy-0002zl-Cu
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 13:33: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 ea5d355c-434b-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 15:33:03 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 16F38673FF;
 Fri, 25 Aug 2023 13:33:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E70AEC433C8;
 Fri, 25 Aug 2023 13:32: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: ea5d355c-434b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692970379;
	bh=T3WCgKJR+2I3SNciRzSe5NGE9AO6KZcdR6qXwGAgd9M=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=BOzM2QQ1MZDAriB3IMOamPdHV+2S3m2FC6tyT1pwI/9DF+WhlbPxDXE6fFDwe1gQn
	 nTHB+ewwdyxJVq1cwfq3lRDi07qJcCHvh+nPPtQwtyRFhMG1ktBk1+a5CxpNbFHlMo
	 Es+8l14bPK+nfmT+9Vs7IvZUfkPWFzk8wOkU0sT7FJdKR3BT4c1FwZN9woHNBuu5tc
	 jHLMCNsuGW/YHncoWpwLVgQ93zfRJ93+ghRIza8tLelTozCObl43Fv+mmuqvzrkB+C
	 SdJZ6/x4IFa4j6NBHHUKQ0uLY4RqtzEgYesuRGMfUi0q6xmwPRpi/3TpKuwt6YF2IT
	 8BYUF/YAoocgw==
Date: Fri, 25 Aug 2023 15:32:47 +0200
From: Christian Brauner <brauner@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230825-hubraum-gedreht-8c5c4db9330a@brauner>
References: <20230818123232.2269-1-jack@suse.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230818123232.2269-1-jack@suse.cz>

On Wed, Aug 23, 2023 at 12:48:11PM +0200, Jan Kara wrote:
> Hello,
> 
> this is a v3 of the patch series which implements the idea of blkdev_get_by_*()
> calls returning bdev_handle which is then passed to blkdev_put() [1]. This
> makes the get and put calls for bdevs more obviously matching and allows us to
> propagate context from get to put without having to modify all the users
> (again!). In particular I need to propagate used open flags to blkdev_put() to
> be able count writeable opens and add support for blocking writes to mounted
> block devices. I'll send that series separately.
> 
> The series is based on Christian's vfs tree as of today as there is quite
> some overlap. Patches have passed some reasonable testing - I've tested block
> changes, md, dm, bcache, xfs, btrfs, ext4, swap. More testing or review is
> always welcome. Thanks! I've pushed out the full branch to:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle
> 
> to ease review / testing. Since there were not many comments for v2 and
> Christoph has acked the series I think we should start discussing how to merge
> the series. Most collisions with this series seem to happen in the filesystems
> area so VFS tree would seem as the least painful way to merge this. Jens,

I really do like this series especially struct bdev_handle and moving
the mode bits in there. I'll happily take this. So far there have only
been minor things that can easily be fixed.


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 13:40:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 13:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590918.923274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZX33-0004Yf-Ja; Fri, 25 Aug 2023 13:40:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590918.923274; Fri, 25 Aug 2023 13:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZX33-0004YY-Gj; Fri, 25 Aug 2023 13:40:25 +0000
Received: by outflank-mailman (input) for mailman id 590918;
 Fri, 25 Aug 2023 13:40:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gnt3=EK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qZX32-0004YR-44
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 13:40:24 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe02::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee38c0e9-434c-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 15:40:21 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8617.eurprd04.prod.outlook.com (2603:10a6:20b:438::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug
 2023 13:40:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.027; Fri, 25 Aug 2023
 13:40:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee38c0e9-434c-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YXj/D1FW9LCIs0SUaLsnqC/BmKocRnVFiXYmb6MWRAArWvcT/xozhdL6Dulrof3FwiKgSWGpQPj8FTPhx7h/UxUpsbs83mMp8anfVwIp6PEZhCUFkbb0wXMBWCu7RmsNhNrVF5dIZ88zaoW0m1S0goCMAGkq2dh9Z/H+OFuQtAonKe5T0BRRRD2Vz69dc4bZQrWWoGAiEAkkACepVonpXL9JMrB24H+JG0LwhtaJsfU8VLo0b/QaNa42DSSvC+4g+sZu2VBhSCadsQcdJiepv2bmjRmJINSufJAtxAfe8ObYhCxI3HoBkclHefrleiOR8oUzcC8nlMlmzNvb1KOtNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XCvwl3+TYsgomQ7wnBMhIBqRSDn30ax0l9gVfd4YzMk=;
 b=c29c/jpIUyt8/R017jbENjFvHvl74eec9TS0QO/bp0pipqzIQOXCfM3MRPq2o5ILbS5VtISV2Gw0lVkDhBWtkdH76wrGTRRFIDhef7v69QkCjgyoKNoetRQNBDEZpQD8AN/BxTqdIzHBYx4LgJMkhdskrv1pVx/++9fR1+mUziraP+ocKF1ZYCdCiQpTqg9rY3CCjk7yaGoxmRuvEGemrHFNbrqMP2g/XFeSVrcUzuRYymRwHDz075xBfBnq0XjEORlcbt0VumyXVS2DrYqOP3hZoqls4bsokL+JQBgoqhwNVM4NbK2faydzfq3utKYJXQQUuSmKZRgMA7m0NxTpAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XCvwl3+TYsgomQ7wnBMhIBqRSDn30ax0l9gVfd4YzMk=;
 b=vcCWjSB3U7pcUppinWxyzbUiD0RGjIvPHMylmYWee5cXhjnkeV8S592iXsAc6oYgXU8i9uKQJVXVqhDMnM4HqaAKyglkp5LAFarvQccW9FPIoFjtoUTTJcGyiVmIR4qJQljnLF9cOLJLpVb+w/5pGoMSYkIuqFti6KAuPMhs9bExxHRDxBoXlcGyzeX1mfK2Ss+htDG33Gr/pzpfGB63J2BgcnJ4bNu8y/CMiYGkYcPVRyLnN9Uh7/UJ75QfPZL3X/zSF1ENkb/gzjYIWPS0xi8qqROzpHfhelCPAfcToRqhS25ism+SXzUkfpoDSHYGV0KEIB4dF7H7hEVzckyBrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4cf3053a-504e-514d-e940-a47e9498b1c4@suse.com>
Date: Fri, 25 Aug 2023 15:40:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add rules 10.1 10.2 10.3 10.4
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, roberto.bagnara@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230823231451.2989262-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230823231451.2989262-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0226.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8617:EE_
X-MS-Office365-Filtering-Correlation-Id: 36a11925-f50c-4e73-a1f9-08dba570d151
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5UGMkXc4/ZaUkYS+t4ehlh5asf7MU+HbgYub1reRJ6KpDcd/Aho7fjv1Ul3GQrst+eGxn7abf0uEnyFeygSW9I9iBvDvCdqMlf2KCzMyyeUuGveCO3c3Q2znpEggsKTTMfipRSYrAahJ2peuFqAVcFg/BSErSeVEcDvZAlUiSKmpfWs8WY3TYL76ff3FWvtTSls7M9c1ujskH5LMuleGpTtDwJzkpLvPtWVMZ5LwsvUvj+HL6+dU13VmeQffTxE4Lux1mlD6KZMu4V3rRGRPtf0dmpccAAfcs5Wvp+zgD9wdecSg5rUQnF9kZT01T9maQ36HP1XruFPvZviGjXcGw71O4zxxo2NXRvxLOX9DPrxyNvXf80nZaEdRcEeaOS6+UmQ30CQthO7IFWowxPoRsjGjzMwRYwy7QRUmrUeXDOQJwTcAJVIo6T1c5zYHkemcIWtEXx359qYApqymNz2q77ZUSgN6SgWLVNCE59C3RKpNmo7U5qmNiwsoA/aF1+RH7LRl42S98YNfrkdNSIvVd6eqtebxvuFYLuV3jnRC9cytMg62mo3tRF9NgmOpVl+qUgb6GGj/Mhm6D1P1iOJPWbRlGGJTHhuav+VTg8sBAdJdUF9aLuUtkYwy4AzIbKky6b6niCPbclZwwPDcTfPIQA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(366004)(39860400002)(376002)(1800799009)(451199024)(186009)(7416002)(83380400001)(6512007)(478600001)(26005)(2616005)(5660300002)(31686004)(2906002)(8676002)(8936002)(4326008)(38100700002)(66556008)(66946007)(66476007)(6916009)(86362001)(41300700001)(31696002)(53546011)(6486002)(36756003)(6666004)(316002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkpyelEwNFhXUlhXZ3dYZ3B1MGF4T1BLeVIzZUV6RGxXNzF2bGQ5VGFVVFJJ?=
 =?utf-8?B?akVTTHhoMlB3RGVLN1J3MVBWaHkyaXk3dFN1ZEJUeU85eUNmaERIcmVPcGtj?=
 =?utf-8?B?bVNtRVR0NXBSWjhNWTJuMzB6RXNIckt1ZGhPNHJFVmZyMC96dVBqckRqVG5W?=
 =?utf-8?B?dnE1d2tPajRWRWJ4UForVFVWazViS0Z6MDZPSnNCdm90KzJzcTQ2VmRRdGVI?=
 =?utf-8?B?TmYzNkFwSGM2dlVrZnBhenJVR2cxVmI0dityWWZianN0ZC9zL0pUYkFFVlVP?=
 =?utf-8?B?dDNNQVdOcGJUT0FxelRhQ2tVaEFKZGtHa3NMUTFXZXduWitGSWFoSDZJdVhL?=
 =?utf-8?B?dzlKWFhxWkx3R0orZkJnL3JjRmkvUnZHTFA4WEl4dWtxL0gybzlmaVl2dGg4?=
 =?utf-8?B?V3NybUN6T2RLLzc2WXlTMll5TTRJaDhudHVLUERZMUZ3Zm5wMUlrcVFLY0JN?=
 =?utf-8?B?bjNXMFkyRk50aXE5ZHJKWTdEWkN3VUdOck5Jek91MFlldjZqUUdwSDdMSWd2?=
 =?utf-8?B?cHErNStlUGN3QUxzK1dJQ2Qza3Q0MkhwMlNEVUFKaUZLNmJ2S0twUVpxOTh3?=
 =?utf-8?B?eGVXOGt4VEpET3M3aHE5ODFnaUUzUUhqcDlqYWh6bC85ZzgzQ2xhd2MxSmhu?=
 =?utf-8?B?ZHczN3VSY21yMGtoYTR3ZXhSWDhNUTY1bHk4QTdCWnUzU045YXJIMWRoRzR1?=
 =?utf-8?B?VWFVdmp2TFVXbUc2NDNBT2RrY0JFWjI1U2VXN1UwL3RhSWs2WjN4WlFibW9C?=
 =?utf-8?B?NnA4M0tCQnlNY2dHdTBFV2oyTHZzYTdKV2ZzNyt5dFFqNEs1a1pVRjZLL0Vp?=
 =?utf-8?B?RGZuMFZEVWpqYTUxbDV4cXQyT0RsZ1dFZnRTMHNkSFQxdkI5cDJCQUo3eVNX?=
 =?utf-8?B?MCtBVFdxbHo0MjZlcVFZL1MrK2tkVzRPL0FWNm56bUpIcWNnRkdpL1hrV1dv?=
 =?utf-8?B?WVA0aFJ4M09aejdhcStJVE84bEZVaXgrYVBKZ1h1QThTb0UrRk5Wd1JQK0Fi?=
 =?utf-8?B?NjF1cU9kVnkrTkozSmFVZkpvUVMwZ1lNQXZxTFFySXpEM2Q4aHZ2aHVLSGUr?=
 =?utf-8?B?clFvUldyWU1BeVJwbWErSUc0c3VZT1FyeXMyWHYxbks0Q1NuUmNRd0Z1T1Zl?=
 =?utf-8?B?WnRZVmtzblJtMDd0VGVsVllBZThHUlpjRTc3STEyOXhQbmdndHcyZmk5UEN0?=
 =?utf-8?B?bHEvTWtDWTM1Ui9Ta0w0T3k1RWNUOFhBTkN2VkhtL0hpT09ET0RINFhxc3gy?=
 =?utf-8?B?TWxJSGduUjZITXRLYUNpYmJrRXNsZUlUZDBnazJlaDJ5K1ZJQmZhZE0xOU1m?=
 =?utf-8?B?cG82SGo0Rk4zY2NrYklZR1Vtb0VBVlVFcUtyeDZNcHkrM1BjeFBIL1NtTmps?=
 =?utf-8?B?WmE2VFNmYVRsdHo4OFlFTUFTbERvczdwcmhNUjZVNXpHZzBsWVl3OXdqbnVT?=
 =?utf-8?B?Q1lXOVpZV1RlUUhiZDBjSFpWdFZnNFhEVFc5OEwvVTAxSFprdS9hRmVMSmJJ?=
 =?utf-8?B?RHZqRmM5L1pidWV0OG52a0lZS1FNS0FsMnJ0L0tJUXQ4eUgydkppZkRrMlFZ?=
 =?utf-8?B?OE5MWCt4VTVjcHJGVE4zUysrdjZZYm1RckVZRjNTR200VUs2WHA5ek5leEhJ?=
 =?utf-8?B?WUc0ODJZTnVDVXBJVkhqWTNPRU1LZXhuSmFWSkZLU2o1UmNIM1JsM1VMMkZj?=
 =?utf-8?B?WDBjaGFVanJIYmxaWXhuOGR2bm1rTkp3clRtZWpVNjgvaEdhWnZjVldqd1FN?=
 =?utf-8?B?bEk2WFhxNldqNFk0N3dScjYyUGJnQzdTRXVFaXNtdEdGMXgvRUk1T25NeStp?=
 =?utf-8?B?U0ZCbVNkcjkzOTkvZjhRUElCdnZLL3Y0NE1wbHNZSUM5T3p2UzlvbG1IOTNx?=
 =?utf-8?B?cmN0cHB6UkppVFJZUWlKODhqNndFVTY2aHhZWnRtNExLK2VPcXducjREK0RW?=
 =?utf-8?B?eUFCaTkwVDV2U01ONHBiZzVhZ2V1aXpOM0t4UE92a1B6Q1hUd3pBWTNUSU5m?=
 =?utf-8?B?NXozVGZHRnFMRWpSSkxJQlpZSXlDMlBDZEJjUldCZ2xkVXEwWGwzRklmZFhj?=
 =?utf-8?B?SXRkNkM2N3FMQXEzVjVQK3YyR3QwdWhBM0tVMzM4Sy9JR2Y0QkxDYUx2M3pj?=
 =?utf-8?Q?6GKQpuHW1NFsE6pSCMwIlFBQ9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36a11925-f50c-4e73-a1f9-08dba570d151
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2023 13:40:17.1148
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CkOMYrFvYkwgciAad5mGyRCHyLYjjrSmIJJ3yP/OlaRnJQnV/nvt3YGKRE2B4Vdp1oNevWsnYlR4FnV8Y5jwvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8617

On 24.08.2023 01:14, Stefano Stabellini wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -318,6 +318,58 @@ maintainers if you want to suggest a change.
>       - An element of an object shall not be initialized more than once
>       -
>  
> +   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_01.c>`_
> +     - Required
> +     - Operands shall not be of an inappropriate essential type
> +     - The following are allowed:
> +         - Value-preserving conversions of integer constants
> +         - Bitwise and, or, xor, one's complement, bitwise and assignment,
> +           bitwise or assignment, bitwise xor assignment (bitwise and, or, xor
> +           are safe on non-negative integers; also Xen assumes two's complement
> +           representation)
> +         - Left shift, right shift, left shift assignment, right shift
> +           assignment (see C-language-toolchain.rst for assumptions on
> +           compilers' extensions)

Is "assumptions" the right term here? We don't just assume these are there,
we actually checked their doc and behavior. Maybe simply "uses of" instead?

> +         - Implicit conversions to boolean for logical operators' arguments

What is "logical operators" here? Perhaps this wants to be "conditionals"
instead, to cover all of ?:, if(), while(), for() (did I forget any?), of
which only the first is an operator?

> +   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_03.c>`_
> +     - Required
> +     - The value of an expression shall not be assigned to an object
> +       with a narrower essential type or of a dierent essential type

Nit: ff missing?

> +       category
> +     - Please beware that this rule has many violations in the Xen
> +       codebase today, and its adoption is aspirational. However, when
> +       submitting new patches please try to decrease the number of
> +       violations when possible.
> +
> +       gcc has a helpful warning that can help you spot and remove
> +       violations of this kind: conversion. For instance, you can use
> +       it as follows:
> +
> +       cd xen; CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make

Maybe slightly shorter as

CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make -C xen

?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 13:45:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 13:45:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590925.923284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZX7b-0005Cf-5Y; Fri, 25 Aug 2023 13:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590925.923284; Fri, 25 Aug 2023 13:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZX7b-0005CY-28; Fri, 25 Aug 2023 13:45:07 +0000
Received: by outflank-mailman (input) for mailman id 590925;
 Fri, 25 Aug 2023 13:45:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1qZX7a-0005CS-2d
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 13:45:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZX7V-0002tp-EW; Fri, 25 Aug 2023 13:45:01 +0000
Received: from [54.239.6.180] (helo=[192.168.0.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qZX7V-0003Yb-7T; Fri, 25 Aug 2023 13:45:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Y6m1EG/T/xNHxnmYnszI9uJvl42Pbk9qbihQnNAJ2RY=; b=PzKylNIj0y0ZHqcC2KuMs+f9CK
	ITqdDon3jYG/QLRymfgeTrxw3Ta1GLDlob+RdsLG6pb+oUaWIelYx7btARdr+tCSqzeXVgy8Wk0jo
	87d0Mg0NxpJu9r6b14BDYIASY8FMt5hRBKktSNFULwNOX4w8OT/SIF6WQf3lSTtvHJIE=;
Message-ID: <3831607e-499e-4a48-9d11-76dbd8948fdd@xen.org>
Date: Fri, 25 Aug 2023 14:44:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs/misra: add rules 10.1 10.2 10.3 10.4
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, roberto.bagnara@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230823231451.2989262-1-sstabellini@kernel.org>
 <4cf3053a-504e-514d-e940-a47e9498b1c4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4cf3053a-504e-514d-e940-a47e9498b1c4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 25/08/2023 14:40, Jan Beulich wrote:
> On 24.08.2023 01:14, Stefano Stabellini wrote:
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -318,6 +318,58 @@ maintainers if you want to suggest a change.
>>        - An element of an object shall not be initialized more than once
>>        -
>>   
>> +   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_01.c>`_
>> +     - Required
>> +     - Operands shall not be of an inappropriate essential type
>> +     - The following are allowed:
>> +         - Value-preserving conversions of integer constants
>> +         - Bitwise and, or, xor, one's complement, bitwise and assignment,
>> +           bitwise or assignment, bitwise xor assignment (bitwise and, or, xor
>> +           are safe on non-negative integers; also Xen assumes two's complement
>> +           representation)
>> +         - Left shift, right shift, left shift assignment, right shift
>> +           assignment (see C-language-toolchain.rst for assumptions on
>> +           compilers' extensions)
> 
> Is "assumptions" the right term here? We don't just assume these are there,
> we actually checked their doc and behavior. Maybe simply "uses of" instead?
> 
>> +         - Implicit conversions to boolean for logical operators' arguments
> 
> What is "logical operators" here? Perhaps this wants to be "conditionals"
> instead, to cover all of ?:, if(), while(), for() (did I forget any?), of
> which only the first is an operator?
> 
>> +   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_03.c>`_
>> +     - Required
>> +     - The value of an expression shall not be assigned to an object
>> +       with a narrower essential type or of a dierent essential type
> 
> Nit: ff missing?
> 
>> +       category
>> +     - Please beware that this rule has many violations in the Xen
>> +       codebase today, and its adoption is aspirational. However, when
>> +       submitting new patches please try to decrease the number of
>> +       violations when possible.
>> +
>> +       gcc has a helpful warning that can help you spot and remove
>> +       violations of this kind: conversion. For instance, you can use
>> +       it as follows:
>> +
>> +       cd xen; CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make
> 
> Maybe slightly shorter as
> 
> CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make -C xen
> 
> ?

+1. It also means that the command can be called multiple time without 
having to type 'cd -' between.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 13:48:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 13:48:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590932.923294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZXAP-0005rP-JY; Fri, 25 Aug 2023 13:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590932.923294; Fri, 25 Aug 2023 13:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZXAP-0005rI-FH; Fri, 25 Aug 2023 13:48:01 +0000
Received: by outflank-mailman (input) for mailman id 590932;
 Fri, 25 Aug 2023 13:48:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Lm36=EK=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qZXAN-0005qw-V0
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 13:48:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffd4250d-434d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 15:47:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 49AEC21F79;
 Fri, 25 Aug 2023 13:47:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 28033138F9;
 Fri, 25 Aug 2023 13:47:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UJRbCQ2x6GQZAwAAMHmgww
 (envelope-from <jack@suse.cz>); Fri, 25 Aug 2023 13:47:57 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id A432FA0774; Fri, 25 Aug 2023 15:47:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffd4250d-434d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1692971277; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=BpzfsfMiRxmg30OdFnKzv1mOgTevyt5wkPNcyneGwG0=;
	b=uohLnKnqtpENx2vCia+CF25VunAvqKNxW8Gl/JZPjm2522sG0QzHP89CKm9gvg5uhIQmJN
	WBEcUX07tygEsfRFeW0MDCmmX2lneinhEWFdq+jYTgqP+tDCYKowqEsMW88igvW28lrojs
	hfcd/30g2Ie/qrM4mt7e3dhBm3c9V28=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1692971277;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=BpzfsfMiRxmg30OdFnKzv1mOgTevyt5wkPNcyneGwG0=;
	b=avw/hNX+TPhBa6q/Pyjq6dsHiVTX81moNODEW9+kRWtkr4cKF/cxPXXUPquXV79uoK0IL4
	nSbq/d/haJGtPRAQ==
Date: Fri, 25 Aug 2023 15:47:56 +0200
From: Jan Kara <jack@suse.cz>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: Jan Kara <jack@suse.cz>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org, Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230825134756.o3wpq6bogndukn53@quack3>
References: <20230810171429.31759-1-jack@suse.cz>
 <20230825015843.GB95084@ZenIV>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230825015843.GB95084@ZenIV>

On Fri 25-08-23 02:58:43, Al Viro wrote:
> On Fri, Aug 11, 2023 at 01:04:31PM +0200, Jan Kara wrote:
> > Hello,
> > 
> > this is a v2 of the patch series which implements the idea of blkdev_get_by_*()
> > calls returning bdev_handle which is then passed to blkdev_put() [1]. This
> > makes the get and put calls for bdevs more obviously matching and allows us to
> > propagate context from get to put without having to modify all the users
> > (again!).  In particular I need to propagate used open flags to blkdev_put() to
> > be able count writeable opens and add support for blocking writes to mounted
> > block devices. I'll send that series separately.
> > 
> > The series is based on Christian's vfs tree as of yesterday as there is quite
> > some overlap. Patches have passed some reasonable testing - I've tested block
> > changes, md, dm, bcache, xfs, btrfs, ext4, swap. This obviously doesn't cover
> > everything so I'd like to ask respective maintainers to review / test their
> > changes. Thanks! I've pushed out the full branch to:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle
> > 
> > to ease review / testing.
> 
> Hmm...  Completely Insane Idea(tm): how about turning that thing inside out and
> having your bdev_open_by... return an actual opened struct file?
> 
> After all, we do that for sockets and pipes just fine and that's a whole lot
> hotter area.
> 
> Suppose we leave blkdev_open()/blkdev_release() as-is.  No need to mess with
> what we have for normal opened files for block devices.  And have block_open_by_dev()
> that would find bdev, etc., same yours does and shove it into anon file.
> 
> Paired with plain fput() - no need to bother with new primitives for closing.
> With a helper returning I_BDEV(bdev_file_inode(file)) to get from those to bdev.
> 
> NOTE: I'm not suggesting replacing ->s_bdev with struct file * if we do that -
> we want that value cached, obviously.  Just store both...
> 
> Not saying it's a good idea, but... might be interesting to look into.
> Comments?

I can see the appeal of not having to introduce the new bdev_handle type
and just using struct file which unifies in-kernel and userspace block
device opens. But I can see downsides too - the last fput() happening from
task work makes me a bit nervous whether it will not break something
somewhere with exclusive bdev opens. Getting from struct file to bdev is
somewhat harder but I guess a helper like F_BDEV() would solve that just
fine.

So besides my last fput() worry about I think this could work and would be
probably a bit nicer than what I have. But before going and redoing the whole
series let me gather some more feedback so that we don't go back and forth.
Christoph, Christian, Jens, any opinion?

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 14:00:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 14:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590940.923304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZXMm-0000F1-Q9; Fri, 25 Aug 2023 14:00:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590940.923304; Fri, 25 Aug 2023 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 1qZXMm-0000Eu-Lj; Fri, 25 Aug 2023 14:00:48 +0000
Received: by outflank-mailman (input) for mailman id 590940;
 Fri, 25 Aug 2023 14:00:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sFgK=EK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZXMl-0000Eo-Rw
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 14:00:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9a901e2-434f-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 16:00:46 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 2873E4EE0737;
 Fri, 25 Aug 2023 16:00:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9a901e2-434f-11ee-8783-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v3] arm64/vfp: address MISRA C:2012 Dir 4.3
Date: Fri, 25 Aug 2023 16:00:23 +0200
Message-Id: <eb05e70faaae3c328bfd3cc6c1aa4c7c90a351fd.1692971966.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Directive 4.3 prescribes the following:
"Assembly language shall be encapsulated and isolated",
on the grounds of improved readability and ease of maintenance.

A static inline function is the chosen encapsulation mechanism.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
- Switched to a static inline function
Changes in v3:
- Applied changes suggested by Michal
---
 xen/arch/arm/arm64/vfp.c | 82 +++++++++++++++++++++-------------------
 1 file changed, 44 insertions(+), 38 deletions(-)

diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 2d0d7c2e6ddb..c4f89c7b0e33 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -4,6 +4,48 @@
 #include <asm/vfp.h>
 #include <asm/arm64/sve.h>
 
+static inline void save_state(uint64_t *fpregs)
+{
+    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
+                 "stp q2, q3, [%1, #16 * 2]\n\t"
+                 "stp q4, q5, [%1, #16 * 4]\n\t"
+                 "stp q6, q7, [%1, #16 * 6]\n\t"
+                 "stp q8, q9, [%1, #16 * 8]\n\t"
+                 "stp q10, q11, [%1, #16 * 10]\n\t"
+                 "stp q12, q13, [%1, #16 * 12]\n\t"
+                 "stp q14, q15, [%1, #16 * 14]\n\t"
+                 "stp q16, q17, [%1, #16 * 16]\n\t"
+                 "stp q18, q19, [%1, #16 * 18]\n\t"
+                 "stp q20, q21, [%1, #16 * 20]\n\t"
+                 "stp q22, q23, [%1, #16 * 22]\n\t"
+                 "stp q24, q25, [%1, #16 * 24]\n\t"
+                 "stp q26, q27, [%1, #16 * 26]\n\t"
+                 "stp q28, q29, [%1, #16 * 28]\n\t"
+                 "stp q30, q31, [%1, #16 * 30]\n\t"
+                 : "=Q" (*fpregs) : "r" (fpregs));
+}
+
+static inline void restore_state(const uint64_t *fpregs)
+{
+    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
+                 "ldp q2, q3, [%1, #16 * 2]\n\t"
+                 "ldp q4, q5, [%1, #16 * 4]\n\t"
+                 "ldp q6, q7, [%1, #16 * 6]\n\t"
+                 "ldp q8, q9, [%1, #16 * 8]\n\t"
+                 "ldp q10, q11, [%1, #16 * 10]\n\t"
+                 "ldp q12, q13, [%1, #16 * 12]\n\t"
+                 "ldp q14, q15, [%1, #16 * 14]\n\t"
+                 "ldp q16, q17, [%1, #16 * 16]\n\t"
+                 "ldp q18, q19, [%1, #16 * 18]\n\t"
+                 "ldp q20, q21, [%1, #16 * 20]\n\t"
+                 "ldp q22, q23, [%1, #16 * 22]\n\t"
+                 "ldp q24, q25, [%1, #16 * 24]\n\t"
+                 "ldp q26, q27, [%1, #16 * 26]\n\t"
+                 "ldp q28, q29, [%1, #16 * 28]\n\t"
+                 "ldp q30, q31, [%1, #16 * 30]\n\t"
+                 : : "Q" (*fpregs), "r" (fpregs));
+}
+
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
@@ -12,25 +54,7 @@ void vfp_save_state(struct vcpu *v)
     if ( is_sve_domain(v->domain) )
         sve_save_state(v);
     else
-    {
-        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                     "stp q2, q3, [%1, #16 * 2]\n\t"
-                     "stp q4, q5, [%1, #16 * 4]\n\t"
-                     "stp q6, q7, [%1, #16 * 6]\n\t"
-                     "stp q8, q9, [%1, #16 * 8]\n\t"
-                     "stp q10, q11, [%1, #16 * 10]\n\t"
-                     "stp q12, q13, [%1, #16 * 12]\n\t"
-                     "stp q14, q15, [%1, #16 * 14]\n\t"
-                     "stp q16, q17, [%1, #16 * 16]\n\t"
-                     "stp q18, q19, [%1, #16 * 18]\n\t"
-                     "stp q20, q21, [%1, #16 * 20]\n\t"
-                     "stp q22, q23, [%1, #16 * 22]\n\t"
-                     "stp q24, q25, [%1, #16 * 24]\n\t"
-                     "stp q26, q27, [%1, #16 * 26]\n\t"
-                     "stp q28, q29, [%1, #16 * 28]\n\t"
-                     "stp q30, q31, [%1, #16 * 30]\n\t"
-                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
-    }
+        save_state(v->arch.vfp.fpregs);
 
     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
     v->arch.vfp.fpcr = READ_SYSREG(FPCR);
@@ -46,25 +70,7 @@ void vfp_restore_state(struct vcpu *v)
     if ( is_sve_domain(v->domain) )
         sve_restore_state(v);
     else
-    {
-        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                     "ldp q2, q3, [%1, #16 * 2]\n\t"
-                     "ldp q4, q5, [%1, #16 * 4]\n\t"
-                     "ldp q6, q7, [%1, #16 * 6]\n\t"
-                     "ldp q8, q9, [%1, #16 * 8]\n\t"
-                     "ldp q10, q11, [%1, #16 * 10]\n\t"
-                     "ldp q12, q13, [%1, #16 * 12]\n\t"
-                     "ldp q14, q15, [%1, #16 * 14]\n\t"
-                     "ldp q16, q17, [%1, #16 * 16]\n\t"
-                     "ldp q18, q19, [%1, #16 * 18]\n\t"
-                     "ldp q20, q21, [%1, #16 * 20]\n\t"
-                     "ldp q22, q23, [%1, #16 * 22]\n\t"
-                     "ldp q24, q25, [%1, #16 * 24]\n\t"
-                     "ldp q26, q27, [%1, #16 * 26]\n\t"
-                     "ldp q28, q29, [%1, #16 * 28]\n\t"
-                     "ldp q30, q31, [%1, #16 * 30]\n\t"
-                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
-    }
+        restore_state(v->arch.vfp.fpregs);
 
     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
     WRITE_SYSREG(v->arch.vfp.fpcr, FPCR);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 15:02:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 15:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590948.923314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZYKi-0007HL-9f; Fri, 25 Aug 2023 15:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590948.923314; Fri, 25 Aug 2023 15:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZYKi-0007HE-6J; Fri, 25 Aug 2023 15:02:44 +0000
Received: by outflank-mailman (input) for mailman id 590948;
 Fri, 25 Aug 2023 15:02: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=sFgK=EK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qZYKg-0007H5-KM
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 15:02:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f3359e5-4358-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 17:02:40 +0200 (CEST)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8F3724EE0737;
 Fri, 25 Aug 2023 17:02: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: 6f3359e5-4358-11ee-8783-cb3800f73035
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH] ioreq: include arch-specific ioreq header in <xen/ioreq.h>
Date: Fri, 25 Aug 2023 17:02:17 +0200
Message-Id: <e5f13920dfcb9f828abb4a36dd410d342f4c0939.1692974235.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The common header file for ioreq should include the arch-specific one.
This also addresses violations of MISRA C:2012 Rule 8.4 caused by the missing
inclusion of <asm/ioreq.h> in the arm implementation file.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
- The deleted includes are therefore no longer necessary, since
 <xen/ioreq.h> is sufficient.
- The functions (possibly) missing a visible declaration prior to their definition
  currently are 'handle_ioserv' and 'try_fwd_ioserv'
---
 xen/arch/arm/io.c       | 1 -
 xen/common/ioreq.c      | 1 -
 xen/include/xen/ioreq.h | 1 +
 3 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 96c740d5636c..13ae1fed5718 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -14,7 +14,6 @@
 #include <xen/sort.h>
 #include <asm/cpuerrata.h>
 #include <asm/current.h>
-#include <asm/ioreq.h>
 #include <asm/mmio.h>
 #include <asm/traps.h>

diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 7cb717f7a2a4..bde1a1f4eaa1 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -28,7 +28,6 @@
 #include <xen/trace.h>

 #include <asm/guest_atomics.h>
-#include <asm/ioreq.h>

 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
diff --git a/xen/include/xen/ioreq.h b/xen/include/xen/ioreq.h
index a26614d331e3..d85477c665e9 100644
--- a/xen/include/xen/ioreq.h
+++ b/xen/include/xen/ioreq.h
@@ -20,6 +20,7 @@
 #define __XEN_IOREQ_H__

 #include <xen/sched.h>
+#include <asm/ioreq.h>

 #include <public/hvm/dm_op.h>

--
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 17:18:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 17:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590956.923323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZaRH-00052O-EW; Fri, 25 Aug 2023 17:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590956.923323; Fri, 25 Aug 2023 17:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZaRH-00052H-Bi; Fri, 25 Aug 2023 17:17:39 +0000
Received: by outflank-mailman (input) for mailman id 590956;
 Fri, 25 Aug 2023 17:17: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 1qZaRF-000526-BL; Fri, 25 Aug 2023 17:17: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 1qZaRF-0007UN-4r; Fri, 25 Aug 2023 17:17: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 1qZaRE-0001e4-Gq; Fri, 25 Aug 2023 17:17:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZaRE-0007pD-GD; Fri, 25 Aug 2023 17:17: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=pPsM0tniiAgN+ifaNdSJrL9LMp5BqKX0+h9hjrgWF9E=; b=caM8BU/4cmtXRs80yltnRGsZ9M
	6ZKwl4x3THoaEdFmcqZVrNdAfvipiqcauP3DFAn0pgaXqtCWY+wUbchsEZIh1IwCc6eaMIIq9sPGV
	ppaQZMVyL3y0NTf1NCoiNrA9fiF88jC3Khr+h4PNeKewPPCeRLgUf2/FUvBa+qsI6ICw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182514-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182514: trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-pair:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-pair:host-install/dst_host(7):broken:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:capture-logs(25):broken:regression
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4
X-Osstest-Versions-That:
    qemuu=92e1d39f989771f9fc190234111863c7376487c5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 17:17:36 +0000

flight 182514 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182514/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair           <job status>                 broken
 test-amd64-amd64-qemuu-freebsd12-amd64    <job status>                 broken
 test-amd64-amd64-pair       7 host-install/dst_host(7) broken REGR. vs. 182508
 test-amd64-amd64-qemuu-freebsd12-amd64 25 capture-logs(25) broken REGR. vs. 182508

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182508
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182508
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182508
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182508
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182508
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182508
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182508
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182508
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-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-rtds     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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4
baseline version:
 qemuu                92e1d39f989771f9fc190234111863c7376487c5

Last test of basis   182508  2023-08-24 14:39:28 Z    1 days
Testing same since   182514  2023-08-25 03:24:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Bibo Mao <maobibo@loongson.cn>
  Chris Laplante <chris@laplante.io>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jiajie Chen <c@jia.je>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudĂ© <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        broken  
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-pair broken
broken-job test-amd64-amd64-qemuu-freebsd12-amd64 broken
broken-step test-amd64-amd64-pair host-install/dst_host(7)
broken-step test-amd64-amd64-qemuu-freebsd12-amd64 capture-logs(25)

Not pushing.

(No revision log; it would be 1274 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 17:27:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 17:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590966.923333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZaaQ-0006fh-Ct; Fri, 25 Aug 2023 17:27:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590966.923333; Fri, 25 Aug 2023 17: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 1qZaaQ-0006fa-AF; Fri, 25 Aug 2023 17:27:06 +0000
Received: by outflank-mailman (input) for mailman id 590966;
 Fri, 25 Aug 2023 17: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=NaY1=EK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qZaaP-0006fT-3v
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 17:27:05 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9921a811-436c-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 19:27:01 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6AB1E8285391;
 Fri, 25 Aug 2023 12:26:59 -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 0yOJP-CEvZ4r; Fri, 25 Aug 2023 12:26:58 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7FD8882853BD;
 Fri, 25 Aug 2023 12:26:58 -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 ChpnDGQEo6p1; Fri, 25 Aug 2023 12:26: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 0FCD08285391;
 Fri, 25 Aug 2023 12:26:57 -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: 9921a811-436c-11ee-9b0c-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7FD8882853BD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1692984418; bh=6mrb+9nuxasUwalHyz17ArDeKK565Ocb/PCJZrHs6zA=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=MXAxmr6jelOKXCTT8OXnIfkBfa/dXl7kTPD/gy64F4AbIm51r4iCp4PNz6wKqhvDZ
	 NjxdhjQsrRSacq6DP3fbyOMjx+7lJr34vT06LUAvKOGVVA57zaygTor6ZpCeBoXIeG
	 p9yMEx10I2H5EmQ3VE29bNPoNwHhn9zeOH1LNAJY=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <a32ee18b-2a9c-5c68-ee65-3052e478b153@raptorengineering.com>
Date: Fri, 25 Aug 2023 12:26:58 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
 <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
 <b24f0eb8-5dd3-8fba-fd05-e98bcf45c60a@raptorengineering.com>
 <f725b3a2-6de8-7612-9c51-cea42244ca89@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <f725b3a2-6de8-7612-9c51-cea42244ca89@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/25/23 4:10 AM, Jan Beulich wrote:
> On 23.08.2023 20:39, Shawn Anastasio wrote:
>> On 8/8/23 5:27 AM, Jan Beulich wrote:
>>> On 03.08.2023 01:03, Shawn Anastasio wrote:
>>>> +int map_pages_to_xen(unsigned long virt,
>>>> +                     mfn_t mfn,
>>>> +                     unsigned long nr_mfns,
>>>> +                     unsigned int flags)
>>>
>>> There's a patch in flight regarding the naming of this last parameter.
>>> I guess PPC would best be in sync right away.
>>>
>>
>> I can't seem to find the patch in question and it doesn't seem like it
>> has been merged in the meantime. Could you provide a link?
> 
> Looks like I was misremembering, and it was modify_xen_mappings() instead.
> I'm sorry for the noise.
> 

No problem.

>>>> --- /dev/null
>>>> +++ b/xen/arch/ppc/stubs.c
>>>> @@ -0,0 +1,351 @@
>>>> [...]
>>>> +static void ack_none(struct irq_desc *irq)
>>>> +{
>>>> +    BUG();
>>>> +}
>>>> +
>>>> +static void end_none(struct irq_desc *irq)
>>>> +{
>>>> +    BUG();
>>>> +}
>>>> +
>>>> +hw_irq_controller no_irq_type = {
>>>> +    .typename = "none",
>>>> +    .startup = irq_startup_none,
>>>> +    .shutdown = irq_shutdown_none,
>>>> +    .enable = irq_enable_none,
>>>> +    .disable = irq_disable_none,
>>>> +    .ack = ack_none,
>>>> +    .end = end_none
>>>> +};
>>>
>>> I would recommend to avoid filling pointers (and hence having private
>>> hook functions) where it's not clear whether they'll be required. "end",
>>> for example, is an optional hook on x86. Iirc common code doesn't use
>>> any of the hooks.
>>
>> Alright, I'll drop the `end_none` stub and leave the .end pointer as
>> NULL.
> 
> Yet my comment was about all the (presently dead) hook functions.

Sorry, I misunderstood. To clarify, by "hook functions" you're referring
to all of the function pointer fields of hw_irq_controller? Are all
users of this struct going to properly check for NULL before trying to
call these function pointers?

> Jan

Thanks,
Shawn



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 19:07:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 19:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590973.923344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZc9d-0000zk-V4; Fri, 25 Aug 2023 19:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590973.923344; Fri, 25 Aug 2023 19: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 1qZc9d-0000zd-Ro; Fri, 25 Aug 2023 19:07:33 +0000
Received: by outflank-mailman (input) for mailman id 590973;
 Fri, 25 Aug 2023 19:07:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZc9c-0000zT-QH; Fri, 25 Aug 2023 19:07:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZc9c-00016d-Js; Fri, 25 Aug 2023 19:07:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZc9c-0005WT-56; Fri, 25 Aug 2023 19:07:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZc9c-0007zp-4c; Fri, 25 Aug 2023 19:07:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i1gDHTDGF6lT6/sqZbTxdJnFcBOmLK2qn9WHS4jtqpw=; b=jbR5xWTgwDjVKzEJuJi+6kwsag
	0SHa82tRRrgG5yjp5jwyuGPGaMS45DkIIT6bjfiIvSz2r21yZz2jDSWkIs+IjUAC9i4DxOb1bXLcf
	1HArCSHqQI2s5p0O4go1zkKCQIPO80h7q7cYVaTQR+4dDMs3qw581gKlVPwligmZZLbU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182515: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-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-amd64-i386-libvirt-raw: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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=10e8a518a05922d5592d1405054aed3195aebf06
X-Osstest-Versions-That:
    libvirt=2aa5c0789c54195a2b7f712a12c4e78548657d15
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 25 Aug 2023 19:07:32 +0000

flight 182515 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182515/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182498
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182498
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182498
 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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              10e8a518a05922d5592d1405054aed3195aebf06
baseline version:
 libvirt              2aa5c0789c54195a2b7f712a12c4e78548657d15

Last test of basis   182498  2023-08-24 04:18:48 Z    1 days
Testing same since   182515  2023-08-25 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Pavel Hrdina <phrdina@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   2aa5c0789c..10e8a518a0  10e8a518a05922d5592d1405054aed3195aebf06 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 19:25:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 19:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590982.923354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZcQN-0003Xz-D7; Fri, 25 Aug 2023 19:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590982.923354; Fri, 25 Aug 2023 19: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 1qZcQN-0003Xs-9H; Fri, 25 Aug 2023 19:24:51 +0000
Received: by outflank-mailman (input) for mailman id 590982;
 Fri, 25 Aug 2023 19:24:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZcQL-0003Xk-F7
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 19:24:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d30da86-437d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 21:24:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0354A63532;
 Fri, 25 Aug 2023 19:24:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2273EC433C8;
 Fri, 25 Aug 2023 19:24: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: 0d30da86-437d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692991485;
	bh=s+G2hkd7b8bkcvaEFm0m8wOov1FYtqEL6GagGIs/nbs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BK0LfbcJIv9AqmJFs9igHhzlaYk20KsbGx8uyAhHuzBTmeGiojbsX0eu9u8Yic6G+
	 7UaUcjrJgEpOCbb/bT9G6UM/l4aKBIqxIbCX3O8ni5AoFnXkZe1iq0qxpCi7Z1PTZw
	 1xE3YxhLD86mDaW8xMfdAAbpZgl/XPik/Qm7TAdME/dA8lTxExTRRAMZ8Y7f2pz75f
	 3vnyID65sYTadZg7L3ERkBG2eV6MC1EcccyzfONjjZTgV+uVk6SjbYgPDVafr6EN0X
	 djeUpwzQZ30uHUpvzAme+mzZYXZKYrAKo+eEGfIgFLU+R4Um6zK6Xyl09sbyWdzPRZ
	 LjdnDOagRujPw==
Date: Fri, 25 Aug 2023 12:24:42 -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, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3] arm64/vfp: address MISRA C:2012 Dir 4.3
In-Reply-To: <eb05e70faaae3c328bfd3cc6c1aa4c7c90a351fd.1692971966.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308251224350.6458@ubuntu-linux-20-04-desktop>
References: <eb05e70faaae3c328bfd3cc6c1aa4c7c90a351fd.1692971966.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, 25 Aug 2023, Nicola Vetrini wrote:
> Directive 4.3 prescribes the following:
> "Assembly language shall be encapsulated and isolated",
> on the grounds of improved readability and ease of maintenance.
> 
> A static inline function is the chosen encapsulation mechanism.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
> - Switched to a static inline function
> Changes in v3:
> - Applied changes suggested by Michal
> ---
>  xen/arch/arm/arm64/vfp.c | 82 +++++++++++++++++++++-------------------
>  1 file changed, 44 insertions(+), 38 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
> index 2d0d7c2e6ddb..c4f89c7b0e33 100644
> --- a/xen/arch/arm/arm64/vfp.c
> +++ b/xen/arch/arm/arm64/vfp.c
> @@ -4,6 +4,48 @@
>  #include <asm/vfp.h>
>  #include <asm/arm64/sve.h>
>  
> +static inline void save_state(uint64_t *fpregs)
> +{
> +    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> +                 "stp q2, q3, [%1, #16 * 2]\n\t"
> +                 "stp q4, q5, [%1, #16 * 4]\n\t"
> +                 "stp q6, q7, [%1, #16 * 6]\n\t"
> +                 "stp q8, q9, [%1, #16 * 8]\n\t"
> +                 "stp q10, q11, [%1, #16 * 10]\n\t"
> +                 "stp q12, q13, [%1, #16 * 12]\n\t"
> +                 "stp q14, q15, [%1, #16 * 14]\n\t"
> +                 "stp q16, q17, [%1, #16 * 16]\n\t"
> +                 "stp q18, q19, [%1, #16 * 18]\n\t"
> +                 "stp q20, q21, [%1, #16 * 20]\n\t"
> +                 "stp q22, q23, [%1, #16 * 22]\n\t"
> +                 "stp q24, q25, [%1, #16 * 24]\n\t"
> +                 "stp q26, q27, [%1, #16 * 26]\n\t"
> +                 "stp q28, q29, [%1, #16 * 28]\n\t"
> +                 "stp q30, q31, [%1, #16 * 30]\n\t"
> +                 : "=Q" (*fpregs) : "r" (fpregs));
> +}
> +
> +static inline void restore_state(const uint64_t *fpregs)
> +{
> +    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
> +                 "ldp q2, q3, [%1, #16 * 2]\n\t"
> +                 "ldp q4, q5, [%1, #16 * 4]\n\t"
> +                 "ldp q6, q7, [%1, #16 * 6]\n\t"
> +                 "ldp q8, q9, [%1, #16 * 8]\n\t"
> +                 "ldp q10, q11, [%1, #16 * 10]\n\t"
> +                 "ldp q12, q13, [%1, #16 * 12]\n\t"
> +                 "ldp q14, q15, [%1, #16 * 14]\n\t"
> +                 "ldp q16, q17, [%1, #16 * 16]\n\t"
> +                 "ldp q18, q19, [%1, #16 * 18]\n\t"
> +                 "ldp q20, q21, [%1, #16 * 20]\n\t"
> +                 "ldp q22, q23, [%1, #16 * 22]\n\t"
> +                 "ldp q24, q25, [%1, #16 * 24]\n\t"
> +                 "ldp q26, q27, [%1, #16 * 26]\n\t"
> +                 "ldp q28, q29, [%1, #16 * 28]\n\t"
> +                 "ldp q30, q31, [%1, #16 * 30]\n\t"
> +                 : : "Q" (*fpregs), "r" (fpregs));
> +}
> +
>  void vfp_save_state(struct vcpu *v)
>  {
>      if ( !cpu_has_fp )
> @@ -12,25 +54,7 @@ void vfp_save_state(struct vcpu *v)
>      if ( is_sve_domain(v->domain) )
>          sve_save_state(v);
>      else
> -    {
> -        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> -                     "stp q2, q3, [%1, #16 * 2]\n\t"
> -                     "stp q4, q5, [%1, #16 * 4]\n\t"
> -                     "stp q6, q7, [%1, #16 * 6]\n\t"
> -                     "stp q8, q9, [%1, #16 * 8]\n\t"
> -                     "stp q10, q11, [%1, #16 * 10]\n\t"
> -                     "stp q12, q13, [%1, #16 * 12]\n\t"
> -                     "stp q14, q15, [%1, #16 * 14]\n\t"
> -                     "stp q16, q17, [%1, #16 * 16]\n\t"
> -                     "stp q18, q19, [%1, #16 * 18]\n\t"
> -                     "stp q20, q21, [%1, #16 * 20]\n\t"
> -                     "stp q22, q23, [%1, #16 * 22]\n\t"
> -                     "stp q24, q25, [%1, #16 * 24]\n\t"
> -                     "stp q26, q27, [%1, #16 * 26]\n\t"
> -                     "stp q28, q29, [%1, #16 * 28]\n\t"
> -                     "stp q30, q31, [%1, #16 * 30]\n\t"
> -                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
> -    }
> +        save_state(v->arch.vfp.fpregs);
>  
>      v->arch.vfp.fpsr = READ_SYSREG(FPSR);
>      v->arch.vfp.fpcr = READ_SYSREG(FPCR);
> @@ -46,25 +70,7 @@ void vfp_restore_state(struct vcpu *v)
>      if ( is_sve_domain(v->domain) )
>          sve_restore_state(v);
>      else
> -    {
> -        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
> -                     "ldp q2, q3, [%1, #16 * 2]\n\t"
> -                     "ldp q4, q5, [%1, #16 * 4]\n\t"
> -                     "ldp q6, q7, [%1, #16 * 6]\n\t"
> -                     "ldp q8, q9, [%1, #16 * 8]\n\t"
> -                     "ldp q10, q11, [%1, #16 * 10]\n\t"
> -                     "ldp q12, q13, [%1, #16 * 12]\n\t"
> -                     "ldp q14, q15, [%1, #16 * 14]\n\t"
> -                     "ldp q16, q17, [%1, #16 * 16]\n\t"
> -                     "ldp q18, q19, [%1, #16 * 18]\n\t"
> -                     "ldp q20, q21, [%1, #16 * 20]\n\t"
> -                     "ldp q22, q23, [%1, #16 * 22]\n\t"
> -                     "ldp q24, q25, [%1, #16 * 24]\n\t"
> -                     "ldp q26, q27, [%1, #16 * 26]\n\t"
> -                     "ldp q28, q29, [%1, #16 * 28]\n\t"
> -                     "ldp q30, q31, [%1, #16 * 30]\n\t"
> -                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
> -    }
> +        restore_state(v->arch.vfp.fpregs);
>  
>      WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
>      WRITE_SYSREG(v->arch.vfp.fpcr, FPCR);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 19:29:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 19:29:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590989.923364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZcUu-0004BA-Uc; Fri, 25 Aug 2023 19:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590989.923364; Fri, 25 Aug 2023 19: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 1qZcUu-0004B3-Rh; Fri, 25 Aug 2023 19:29:32 +0000
Received: by outflank-mailman (input) for mailman id 590989;
 Fri, 25 Aug 2023 19:29:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZcUu-0004Ax-Cn
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 19:29:32 +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 b65edd3d-437d-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 21:29:31 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E96C4632D1;
 Fri, 25 Aug 2023 19:29:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EAB29C433C7;
 Fri, 25 Aug 2023 19:29:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b65edd3d-437d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1692991769;
	bh=9RtSLDNlElR7PXfB5tfoae8x9KpviYuLGYWC0rmRJuc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DMM6CKKreU8t85WDNf1GU8UarftvnqbAbb0siIKw8e0BlPUYI7YunzExaknf2yyL0
	 7h5grbm1ogWp1XmYx0RiyVu3/VdGlCzLCDfUgNcHedhcIQbmerhFt6bcpkmGJGuM/p
	 Myyb3KG75bLC6/hMTAsePoBRBaSMuMZ9lQ5qx0T54CxOlcEEbWsFjb8TUAAzoKgWsx
	 x0fJfKnOdZwGwYnmdwImylLpRCa40YVP2l/7toWKepD3jA5RA2PLtpD44XqoWy6dra
	 Il010dsuNbJFFACMjglIOSPoabghrdV72n6hoArNrEvSlyHuczaUGGeYd3Zi9tuT+N
	 5WIKznctG/7wA==
Date: Fri, 25 Aug 2023 12:29: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, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Paul Durrant <paul@xen.org>
Subject: Re: [XEN PATCH] ioreq: include arch-specific ioreq header in
 <xen/ioreq.h>
In-Reply-To: <e5f13920dfcb9f828abb4a36dd410d342f4c0939.1692974235.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308251229210.6458@ubuntu-linux-20-04-desktop>
References: <e5f13920dfcb9f828abb4a36dd410d342f4c0939.1692974235.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, 25 Aug 2023, Nicola Vetrini wrote:
> The common header file for ioreq should include the arch-specific one.
> This also addresses violations of MISRA C:2012 Rule 8.4 caused by the missing
> inclusion of <asm/ioreq.h> in the arm implementation file.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> - The deleted includes are therefore no longer necessary, since
>  <xen/ioreq.h> is sufficient.
> - The functions (possibly) missing a visible declaration prior to their definition
>   currently are 'handle_ioserv' and 'try_fwd_ioserv'
> ---
>  xen/arch/arm/io.c       | 1 -
>  xen/common/ioreq.c      | 1 -
>  xen/include/xen/ioreq.h | 1 +
>  3 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 96c740d5636c..13ae1fed5718 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -14,7 +14,6 @@
>  #include <xen/sort.h>
>  #include <asm/cpuerrata.h>
>  #include <asm/current.h>
> -#include <asm/ioreq.h>
>  #include <asm/mmio.h>
>  #include <asm/traps.h>
> 
> diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
> index 7cb717f7a2a4..bde1a1f4eaa1 100644
> --- a/xen/common/ioreq.c
> +++ b/xen/common/ioreq.c
> @@ -28,7 +28,6 @@
>  #include <xen/trace.h>
> 
>  #include <asm/guest_atomics.h>
> -#include <asm/ioreq.h>
> 
>  #include <public/hvm/ioreq.h>
>  #include <public/hvm/params.h>
> diff --git a/xen/include/xen/ioreq.h b/xen/include/xen/ioreq.h
> index a26614d331e3..d85477c665e9 100644
> --- a/xen/include/xen/ioreq.h
> +++ b/xen/include/xen/ioreq.h
> @@ -20,6 +20,7 @@
>  #define __XEN_IOREQ_H__
> 
>  #include <xen/sched.h>
> +#include <asm/ioreq.h>
> 
>  #include <public/hvm/dm_op.h>
> 
> --
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 21:48:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 21:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590999.923383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZefm-0002PF-NU; Fri, 25 Aug 2023 21:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590999.923383; Fri, 25 Aug 2023 21:48: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 1qZefm-0002P8-Kt; Fri, 25 Aug 2023 21:48:54 +0000
Received: by outflank-mailman (input) for mailman id 590999;
 Fri, 25 Aug 2023 21:48: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=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZefk-0002OB-Us
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 21:48:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bba93ef-4391-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 23:48:48 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 78868631DB;
 Fri, 25 Aug 2023 21:48:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F709C433C8;
 Fri, 25 Aug 2023 21:48:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bba93ef-4391-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693000126;
	bh=yQDxjk542wIydwKqstyY8m1srjngnP+Iju4uYgiIt0I=;
	h=From:To:Cc:Subject:Date:From;
	b=gLL0Gc/NsSvUbMEEopgZm7xfgGAIUhCudrTi31YgLNy7agZfxHzJoOOesA60TCKw9
	 OgbNBmXH9l3zTufaz9zVcLMzF1+/muivWSD75dzZNQ8X3k9c2uuURChYNODB10o++q
	 bze4IAJOxSNfvAmVk1XWgycPwfBjupdbdDU65VDZa5S25qL7JyA+wz+JTr8WyUGyRx
	 Lfwp7/3mP6MuWIFsUQIITKsVN7FAu8LpckitX525givjUK9QWiuU1it0G+zhU6K17N
	 twSpA+1xH8b6Xng9JJuGb86cyIjzSaplDTe4yLxikMC3JXuRHSzv0WkoBsCd99jPGm
	 /oXBmV1ah3NlQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	roberto.bagnara@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] docs/misra: add rules 10.1 10.2 10.3 10.4
Date: Fri, 25 Aug 2023 14:48:42 -0700
Message-Id: <20230825214842.3467599-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

10.1 with several caveats, described in the notes.
10.3 and 10.4 as "aspirational" guidelines, as clarified in the notes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
v2:
- typo fix
- Implicit conversions to boolean for conditionals and logical operators
- make -C xen
---
 docs/misra/rules.rst | 53 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index db30632b93..34916e266a 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -310,6 +310,59 @@ maintainers if you want to suggest a change.
      - An element of an object shall not be initialized more than once
      -
 
+   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_01.c>`_
+     - Required
+     - Operands shall not be of an inappropriate essential type
+     - The following are allowed:
+         - Value-preserving conversions of integer constants
+         - Bitwise and, or, xor, one's complement, bitwise and assignment,
+           bitwise or assignment, bitwise xor assignment (bitwise and, or, xor
+           are safe on non-negative integers; also Xen assumes two's complement
+           representation)
+         - Left shift, right shift, left shift assignment, right shift
+           assignment (see C-language-toolchain.rst for uses of
+           compilers' extensions)
+         - Implicit conversions to boolean for conditionals (?: if while
+           for) and logical operators (! || &&)
+
+   * - `Rule 10.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_02.c>`_
+     - Required
+     - Expressions of essentially character type shall not be used
+       inappropriately in addition and subtraction operations
+     -
+
+   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_03.c>`_
+     - Required
+     - The value of an expression shall not be assigned to an object
+       with a narrower essential type or of a different essential type
+       category
+     - Please beware that this rule has many violations in the Xen
+       codebase today, and its adoption is aspirational. However, when
+       submitting new patches please try to decrease the number of
+       violations when possible.
+
+       gcc has a helpful warning that can help you spot and remove
+       violations of this kind: conversion. For instance, you can use
+       it as follows:
+
+       CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make -C xen
+
+   * - `Rule 10.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_04.c>`_
+     - Required
+     - Both operands of an operator in which the usual arithmetic
+       conversions are performed shall have the same essential type
+       category
+     - Please beware that this rule has many violations in the Xen
+       codebase today, and its adoption is aspirational. However, when
+       submitting new patches please try to decrease the number of
+       violations when possible.
+
+       gcc has a helpful warning that can help you spot and remove
+       violations of this kind: arith-conversion. For instance, you
+       can use it as follows:
+
+       CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make -C xen
+
    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_
      - Mandatory
      - The sizeof operator shall not have an operand which is a function
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 25 21:48:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 21:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.590998.923373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZefa-000271-Cw; Fri, 25 Aug 2023 21:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 590998.923373; Fri, 25 Aug 2023 21:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZefa-00026u-AR; Fri, 25 Aug 2023 21:48:42 +0000
Received: by outflank-mailman (input) for mailman id 590998;
 Fri, 25 Aug 2023 21:48: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=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZefZ-00026o-03
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 21:48: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 259134b7-4391-11ee-8783-cb3800f73035;
 Fri, 25 Aug 2023 23:48:38 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 16FA960DCA;
 Fri, 25 Aug 2023 21:48:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A198C433C8;
 Fri, 25 Aug 2023 21:48: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: 259134b7-4391-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693000116;
	bh=0RKeHqcgICz/i4KvJh6skJ/6xRFfHJBAp4GqXfDGvVA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WcHIb7ma9YpuFwHizVziGiTN9grIbYaweTGrNW5MCZz0hTmKGSGcxhVXocUqb0whL
	 0Y6aG7k2FAy1SV2p3CJdqu4xyLg7hrYtsGcqylvpDmmXRennmBLOYtzf2qpCM8bNEC
	 glCZ5yMCqHODU7vA53ivcP0bsgMOiinC23qMqykw3wGnV4syylTJU2XcpuguznQxy9
	 cg7yvNkEQzEvavVlEw4mmWKkBkez6X9wU50OhsX1fW5b8tB/B4NQj4LWP+jD+XizVN
	 KBVZ46KdtCb8K4oQuXS6xpgXmslZSWFj/Vr4DEP5UwJGrtI+IDZWqWMFgFrYAUaFzM
	 evBBfNaNvSYFA==
Date: Fri, 25 Aug 2023 14:48:33 -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, 
    roger.pau@citrix.com, julien@xen.org, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, nicola.vetrini@bugseng.com, 
    roberto.bagnara@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add rules 10.1 10.2 10.3 10.4
In-Reply-To: <4cf3053a-504e-514d-e940-a47e9498b1c4@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308251437290.6458@ubuntu-linux-20-04-desktop>
References: <20230823231451.2989262-1-sstabellini@kernel.org> <4cf3053a-504e-514d-e940-a47e9498b1c4@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, 25 Aug 2023, Jan Beulich wrote:
> On 24.08.2023 01:14, Stefano Stabellini wrote:
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -318,6 +318,58 @@ maintainers if you want to suggest a change.
> >       - An element of an object shall not be initialized more than once
> >       -
> >  
> > +   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_01.c>`_
> > +     - Required
> > +     - Operands shall not be of an inappropriate essential type
> > +     - The following are allowed:
> > +         - Value-preserving conversions of integer constants
> > +         - Bitwise and, or, xor, one's complement, bitwise and assignment,
> > +           bitwise or assignment, bitwise xor assignment (bitwise and, or, xor
> > +           are safe on non-negative integers; also Xen assumes two's complement
> > +           representation)
> > +         - Left shift, right shift, left shift assignment, right shift
> > +           assignment (see C-language-toolchain.rst for assumptions on
> > +           compilers' extensions)
> 
> Is "assumptions" the right term here? We don't just assume these are there,
> we actually checked their doc and behavior. Maybe simply "uses of" instead?

yes, I'll use "uses of"


> > +         - Implicit conversions to boolean for logical operators' arguments
> 
> What is "logical operators" here? Perhaps this wants to be "conditionals"
> instead, to cover all of ?:, if(), while(), for() (did I forget any?), of
> which only the first is an operator?

There are also ! || && which are the logical operators

I'll write it as follows:

Implicit conversions to boolean for conditionals (?: if
while for) and logical operators (! || &&)


> > +   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_10_03.c>`_
> > +     - Required
> > +     - The value of an expression shall not be assigned to an object
> > +       with a narrower essential type or of a dierent essential type
> 
> Nit: ff missing?

yep, thanks


> > +       category
> > +     - Please beware that this rule has many violations in the Xen
> > +       codebase today, and its adoption is aspirational. However, when
> > +       submitting new patches please try to decrease the number of
> > +       violations when possible.
> > +
> > +       gcc has a helpful warning that can help you spot and remove
> > +       violations of this kind: conversion. For instance, you can use
> > +       it as follows:
> > +
> > +       cd xen; CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make
> 
> Maybe slightly shorter as
> 
> CFLAGS="-Wconversion -Wno-error=sign-conversion -Wno-error=conversion" make -C xen
> 
> ?

I'll make the change here and also in the other instance of the same


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 21:52:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 21:52:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591013.923393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZejW-0004J1-6m; Fri, 25 Aug 2023 21:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591013.923393; Fri, 25 Aug 2023 21:52:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZejW-0004Iu-4H; Fri, 25 Aug 2023 21:52:46 +0000
Received: by outflank-mailman (input) for mailman id 591013;
 Fri, 25 Aug 2023 21:52: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=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZejU-0004Io-V6
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 21:52: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 b75dcaf0-4391-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 23:52:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C7563647F3;
 Fri, 25 Aug 2023 21:52:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E4F7C433C8;
 Fri, 25 Aug 2023 21:52: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: b75dcaf0-4391-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693000361;
	bh=PwMJLmZrGwJD0f3gjcP9ZJU83u5dBsH0BlhB5NdXjNQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UwAMOkERwqgGBTbXbzlm/qRmgTu3hlMVKFYBY9ruJBfBud6YxlR27zzBEom0L0OQe
	 3RZ8JenoSE3oV0YQDl3xNeMgzV1OEGtGXU4LoA/ryk+zjV9U+QXE00jnuYXpuHsmIl
	 CDe1PE6cmIp5WurbneCk4hYbWLJcE6+khy7pRDNbu3+543m9idjkw0JZb/xszyWzMG
	 0/JKQq8ecyK4nYoHw3VIXLksqLLoZHhnXCs0ScJE/3dJABkDnpkh/vRYugiZasDP/+
	 tkojRjMjChoNZqWH6EDNbfROoooXbcRE7tAYlswb+MSVZfA1OxKMzpZtNYYr9SF2Eh
	 rP3DYfuug6oig==
Date: Fri, 25 Aug 2023 14:52:38 -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: Stefano Stabellini <sstabellini@kernel.org>, luca.fancellu@arm.com, 
    nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org, 
    bertrand.marquis@arm.com
Subject: Re: xen-analysis ECLAIR support
In-Reply-To: <aec70a33-b5b7-0bcb-52db-15162407c8bb@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308251450370.6458@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop> <aec70a33-b5b7-0bcb-52db-15162407c8bb@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 25 Aug 2023, Michal Orzel wrote:
> Hi Stefano,
> 
> On 25/08/2023 00:24, Stefano Stabellini wrote:
> > 
> > 
> > Hi Luca,
> > 
> > We are looking into adding ECLAIR support for xen-analysis so that we
> > can use the SAF-n-safe tags also with ECLAIR.
> > 
> > One question that came up is about multi-line statements. For instance,
> > in a case like the following:
> > 
> > diff --git a/xen/common/inflate.c b/xen/common/inflate.c
> > index 8fa4b96d12..8bdc9208da 100644
> > --- a/xen/common/inflate.c
> > +++ b/xen/common/inflate.c
> > @@ -1201,6 +1201,7 @@ static int __init gunzip(void)
> >      magic[1] = NEXTBYTE();
> >      method   = NEXTBYTE();
> > 
> > +    /* SAF-1-safe */
> >      if (magic[0] != 037 ||
> >          ((magic[1] != 0213) && (magic[1] != 0236))) {
> >          error("bad gzip magic numbers");
> > 
> > 
> > Would SAF-1-safe cover both 037, and also 0213 and 0213?
> > Or would it cover only 037?
> > 
> > We haven't use SAFE-n-safe extensively through the codebase yet but
> > my understanding is that SAFE-n-safe would cover the entire statement of
> > the following line, even if it is multi-line. Is that also your
> > understanding? Does it work like that with cppcheck?
> Looking at the docs and the actual script, only the single line below SAF comment is excluded.
> So in your case you would require:
> 
> /* SAF-1-safe */
> if (magic[0] != 037 ||
>     /* SAF-1-safe */
>     ((magic[1] != 0213) && (magic[1] != 0236))) {
>     error("bad gzip magic numbers");
> 
> I guess this was done so that it is clear that someone took all the parts of the statements into account
> and all of them fall into the same justification (which might not be the case).
 
Ops! In that case there is no difference between xen-analysis, cppcheck
and ECLAIR behaviors.


> BTW. I don't think we have also covered the case where there is more than one violation in a single line
> that we want to deviate (e.g. sth like /* SAF-1-safe, SAF-2-safe */

Good point. Yes we need to make sure that case is covered as well
one way or the other.


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 21:56:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 21:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591020.923404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZen4-0004vO-MA; Fri, 25 Aug 2023 21:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591020.923404; Fri, 25 Aug 2023 21:56: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 1qZen4-0004vH-JG; Fri, 25 Aug 2023 21:56:26 +0000
Received: by outflank-mailman (input) for mailman id 591020;
 Fri, 25 Aug 2023 21:56: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=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZen4-0004vB-34
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 21:56:26 +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 3b006f8f-4392-11ee-9b0c-b553b5be7939;
 Fri, 25 Aug 2023 23:56:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3C680618AF;
 Fri, 25 Aug 2023 21:56:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E673EC433C7;
 Fri, 25 Aug 2023 21:56:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b006f8f-4392-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693000581;
	bh=e89rRB1z+4ovPsky8aVI8ZIyqfGPTm21oElqqG3zT2Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QSat1+rd/9ha81e0/Ft/FLARyel78oSTFItNUNgTHC9s7zYmqHWTZG7VKnHA90EJj
	 jyOMLqL/O/ZF4KJUa9msJJbzH0UbHnrZmeIbDV0w4ucwMUoynpI3MgsHwcxNqBckXG
	 ZcrpMiCxpDEPcUB7OmDjj6UpDHmo1pLatOJddT03ZTtyCF/xkFX8d65B5hphQE6jlK
	 URNy4+TValuyBB6/lr9x1YNAMZ6mhyvp38mRKzg/RSrH41NGclRnajNBswzgIiUsjM
	 6JKr/Ffk3IAJKAonoiblvUVu2pZ6ljF+w35fjbn+Sm1+GMrsKRu1kIp3T0DVKm6kXu
	 yviaB/btJhYNw==
Date: Fri, 25 Aug 2023 14:56:19 -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: Stefano Stabellini <sstabellini@kernel.org>, luca.fancellu@arm.com, 
    xen-devel@lists.xenproject.org, bertrand.marquis@arm.com
Subject: Re: xen-analysis ECLAIR support
In-Reply-To: <da8dce5678814f7e0805522a5111b09e@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308251455070.6458@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2308241453470.6458@ubuntu-linux-20-04-desktop> <da8dce5678814f7e0805522a5111b09e@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, 25 Aug 2023, Nicola Vetrini wrote:
> On 25/08/2023 00:24, Stefano Stabellini wrote:
> > Hi Luca,
> > 
> > We are looking into adding ECLAIR support for xen-analysis so that we
> > can use the SAF-n-safe tags also with ECLAIR.
> > 
> > One question that came up is about multi-line statements. For instance,
> > in a case like the following:
> > 
> > diff --git a/xen/common/inflate.c b/xen/common/inflate.c
> > index 8fa4b96d12..8bdc9208da 100644
> > --- a/xen/common/inflate.c
> > +++ b/xen/common/inflate.c
> > @@ -1201,6 +1201,7 @@ static int __init gunzip(void)
> >      magic[1] = NEXTBYTE();
> >      method   = NEXTBYTE();
> > 
> > +    /* SAF-1-safe */
> >      if (magic[0] != 037 ||
> >          ((magic[1] != 0213) && (magic[1] != 0236))) {
> >          error("bad gzip magic numbers");
> > 
> > 
> > Would SAF-1-safe cover both 037, and also 0213 and 0213?
> > Or would it cover only 037?
> > 
> > We haven't use SAFE-n-safe extensively through the codebase yet but
> > my understanding is that SAFE-n-safe would cover the entire statement of
> > the following line, even if it is multi-line. Is that also your
> > understanding? Does it work like that with cppcheck?
> > 
> > 
> > It looks like ECLAIR requires a written-down number of lines of code to
> > deviate if it is more than 1 line. In this example it would be 2 lines:
> > 
> >      /* SAF-1-safe 2 */
> >      if (magic[0] != 037 ||
> >          ((magic[1] != 0213) && (magic[1] != 0236))) {
> > 
> > One option that I was thinking about is whether we can add the number of
> > lines automatically in xen-analysis based on the number of lines of the
> > next statement. What do you think?
> > 
> > It seems fragile to actually keep the number of lines inside the SAF
> > comment in the code. I am afraid it could get out of sync due to code
> > style refactoring or other mechanical changes.
> > 
> 
> Having the number of lines automatically inferred from the code following the
> comment
> does not seem that robust either, given the minimal information in the SAF
> comments
> (e.g., what if the whole if statement needs to be deviated, rather
> than the controlling expression?).
> 
> An alternative proposal could be the following:
>       /* SAF-n-safe begin */
>       if (magic[0] != 037 ||
>           ((magic[1] != 0213) && (magic[1] != 0236))) {
>       /* SAF-n-safe end */
> 
> which is translated, for ECLAIR, into:
> 
>     /* -E> safe <Rule ID> 2 <free text> */
>     if (magic[0] != 037 ||
>           ((magic[1] != 0213) && (magic[1] != 0236))) {
> 
> this will deviate however many lines are between the begin and end markers.

I think this could be a good way to solve the problem when multi-line
deviation support is required. In this case, like Jan suggested, it
is easier to put everything on a single line, but in other cases it
might not be possible.


From xen-devel-bounces@lists.xenproject.org Fri Aug 25 22:21:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 Aug 2023 22:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591027.923413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZfBP-0000HV-KA; Fri, 25 Aug 2023 22:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591027.923413; Fri, 25 Aug 2023 22:21:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZfBP-0000HO-H5; Fri, 25 Aug 2023 22:21:35 +0000
Received: by outflank-mailman (input) for mailman id 591027;
 Fri, 25 Aug 2023 22:21: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=bmKO=EK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qZfBO-0000HI-Ok
 for xen-devel@lists.xenproject.org; Fri, 25 Aug 2023 22:21:34 +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 bdea1297-4395-11ee-9b0c-b553b5be7939;
 Sat, 26 Aug 2023 00:21:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6A7AB61811;
 Fri, 25 Aug 2023 22:21:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E432C433C8;
 Fri, 25 Aug 2023 22:21:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdea1297-4395-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693002089;
	bh=NkuKHUGj4TtGeJzfx53QvUj3Cx/JbV4+OboJzil12HM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kgPmq+gz/+qwRgsoX+r2Ijsr8TzshrUHS/7nXDgp2JZumenM+wOxDrDkCnaJmOIlN
	 8Msd3xD0TSmfnwJ53lcg2NkyIooszLTyG42zd+LSB4BKOS2FTdAXi/ZWclYRgkwUll
	 l99QoBjn2Sp/H8dYT9AId8dCZykjS5JKGEGxLt6Ule1T/fAwXX4uzd4g/PJUW0i6Hl
	 wQ9BdJw90vfj1cGWLn8rWx/nC/AffKkaMIkBFBVNB62riwOxX15tVJDrhjbg7tSW6O
	 aqrm/HuHQkCvTE/OxlWMntwuKr4Wp84qQtIvphdNhEJEC2Iz/nIA4Kuz7Ntr9RXux2
	 FhvszA3i4tUEQ==
Date: Fri, 25 Aug 2023 15:21:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    roger.pau@citrix.com
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
In-Reply-To: <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop>
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com> <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com> <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-331260619-1693001040=:6458"
Content-ID: <alpine.DEB.2.22.394.2308251504050.6458@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-331260619-1693001040=:6458
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2308251504051.6458@ubuntu-linux-20-04-desktop>

On Wed, 23 Aug 2023, Jan Beulich wrote:
> On 23.08.2023 09:28, Andrew Cooper wrote:
> > On 23/08/2023 8:04 am, Federico Serafini wrote:
> >> Make function declarations and definitions consistent to address
> >> violations of MISRA C:2012 Rule 8.3 ("All declarations of an object or
> >> function shall use the same names and type qualifiers").
> >>
> >> No functional change.
> >>
> >> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> >> ---
> >> Changes in v2:
> >> - change compat_grant_table_op() definition instead of the declaration;
> >> - use unsigned int for multicall()'s parameter in accordance with XEN coding
> >>   style.
> > 
> > Nack.
> 
> Oh, I'm sorry, I committed this just before seeing your reply. I'll
> revert right away, until we can settle the discussion.
> 
> > You were correct in v1, and the request to change it was erroneous.
> > 
> >> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
> >> index 6d361ddfce..d1892fd14f 100644
> >> --- a/xen/include/hypercall-defs.c
> >> +++ b/xen/include/hypercall-defs.c
> >> @@ -135,8 +135,8 @@ xenoprof_op(int op, void *arg)
> >>  #ifdef CONFIG_COMPAT
> >>  prefix: compat
> >>  set_timer_op(uint32_t lo, int32_t hi)
> >> -multicall(multicall_entry_compat_t *call_list, uint32_t nr_calls)
> >> -memory_op(unsigned int cmd, void *arg)
> >> +multicall(multicall_entry_compat_t *call_list, unsigned int nr_calls)
> > 
> > This, unfortunately for many reasons, is an ABI with guests.
> > 
> > It is buggy that the entire file doesn't use unsigned long (i.e. one
> > full GPR width) to begin with.Â  It these types alone which cause
> > explicit truncation of the guest-provided hypercall parameter values.
> > 
> > But it is even more buggy to take something that at least truncates to a
> > fixed width, and replace it with something that explicitly does not have
> > a fixed width.
> 
> I disagree on all the points you make. Handling compat guests is quite
> fine to use unsigned int in hypercall prototypes. Fixed width isn't
> needed (just like you don't demand uint64_t, but suggest unsigned long),
> and wider than 32 bits (i.e. long) isn't needed either because can't
> pass in wider values anyway.

There are two points that Andrew made:
1) uint32_t should have been register-width (AKA register_t on ARM)
2) unsigned int is worse than uint32_t because is not fixed-width

As a general rule I would say that it is better not to introduce any ABI
changes as part of a clean-up patch for MISRA. (ABI changes could be
done but separately.)

In regard to 1) I don't think it is a good idea to change nr_calls to a
type of different size. Even if it is the right thing to do. If it is,
let's discuss it as a separate patch: you wouldn't want this type of
change to be hidden inside a innocuous MISRA C patch anyway.

In regard to 2), assuming "unsigned int" is exactly equivalent to
uint32_t on all supported arches, then I am in two minds here. Just one
year ago I would have agreed with Andrew and strongly requested an
explicitly-sized type as argument. Then I discovered that all the RISC-V
APIs are based on long, int and similar, and it seems to be working
quite well for them.  See for instance:
https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.pdf

Looking at Xen public headers, we have many instances of unsigned long
and unsigned int in use. So now I think both explicitly-sized and
non-explicitly-sized types can work well as long as we are clear on what
they mean, their sizes on all supported arches, and we use them
consistently. (For sure all of the above could be improved in Xen.)

Coming to unsigned int, it should be 32-bit on all supported arches, so
it is down to consistency, which is a bit arbitrary. We have quite a
good mix of unsigned int and uint32_t in hypercall-defs.c, specifically:
10 uint32_t
32 unsigned int

By popular vote, I would go with unsigned int. So, I would keep the
patch as is.
--8323329-331260619-1693001040=:6458--


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 01:04:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 01:04:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591045.923436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZhix-0003ET-3s; Sat, 26 Aug 2023 01:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591045.923436; Sat, 26 Aug 2023 01: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 1qZhix-0003EM-0E; Sat, 26 Aug 2023 01:04:23 +0000
Received: by outflank-mailman (input) for mailman id 591045;
 Sat, 26 Aug 2023 01: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 1qZhiv-0003EC-DZ; Sat, 26 Aug 2023 01: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 1qZhiv-0002aO-BF; Sat, 26 Aug 2023 01:04: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 1qZhiu-0000l9-T8; Sat, 26 Aug 2023 01:04:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZhiu-0007Au-Sc; Sat, 26 Aug 2023 01: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=oiM7Nzo/BEMsbWxWAblK+euRBGpRNJ50fEPuHZjGVSc=; b=KykHnY+tcgxqAKvnjPBtXuj6Oa
	DYJvINU8bfPyfE8q5ggxk0WoqUHEIbd++H70ho70BMNTY85GvwYuxYbu0WaP+T2zA+kFKGaXkHFn8
	QiIwaDF264RTVSWmSReANocA3CIVSUZzhO5pu6LuDNBerHv+6UxW05UlOxXX4xejQd9Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182517-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182517: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
X-Osstest-Versions-That:
    xen=11d9f3ddf501d3a68b06fe8258795c44e1dc32d1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 01:04:20 +0000

flight 182517 xen-unstable real [real]
flight 182521 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182517/
http://logs.test-lab.xenproject.org/osstest/logs/182521/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail pass in 182521-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182511
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182511
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182511
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182511
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182511
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182511
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182511
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182511
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182511
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182511
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
baseline version:
 xen                  11d9f3ddf501d3a68b06fe8258795c44e1dc32d1

Last test of basis   182511  2023-08-24 20:38:46 Z    1 days
Testing same since   182517  2023-08-25 10:21:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Edwin TĂ¶rĂ¶k <edwin.torok@cloud.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   11d9f3ddf5..ec272d8d4c  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b -> master


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 02:30:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 02:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591055.923446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZj3d-0003nO-CX; Sat, 26 Aug 2023 02:29:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591055.923446; Sat, 26 Aug 2023 02:29:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZj3d-0003nG-7R; Sat, 26 Aug 2023 02:29:49 +0000
Received: by outflank-mailman (input) for mailman id 591055;
 Sat, 26 Aug 2023 02:29: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=6rpc=EL=ftp.linux.org.uk=viro@srs-se1.protection.inumbo.net>)
 id 1qZj3a-0003nA-Vp
 for xen-devel@lists.xenproject.org; Sat, 26 Aug 2023 02:29:47 +0000
Received: from zeniv.linux.org.uk (zeniv.linux.org.uk
 [2a03:a000:7:0:5054:ff:fe1c:15ff])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a6a8101-43b8-11ee-8783-cb3800f73035;
 Sat, 26 Aug 2023 04:29:44 +0200 (CEST)
Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1qZj2i-0010QB-1S; Sat, 26 Aug 2023 02:28:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 6a6a8101-43b8-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type:
	MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=kRz17k12DLtH5ptlx3fiiancvtShyoQwDvuAAOUED4Y=; b=mPm/qZCa7MWW4zdrpIjhXYeIS6
	8cbIgOvCf/9Y6gIxhhuc7MbOClbX1o3H4gTlXLJmOpOyil1pufLmdD8oxm6VhlxB4x6C/OQmKz1OC
	9Sg7eN60e8HGn0pn/DtWEZ2zi7uHlJyyQNolWeGdXQEgqn78/62UYsbUB8gsUgOw68YkPTd36+fo0
	kPzizyM3mKJ55bukbV99w6F1Yx4exn0ELF0EHA2mn4TEClpd2hjjcTiwEbEGv+vsWkEq4IC7ejHjR
	rO8uE9/3ipL5VpLJjGdd7WJssIdQ5Tj/z+j2E3fQDWI0Qb9TMLDhfRhfBXk5sw2QK4rJI42xn3tDe
	SBJa1VHw==;
Date: Sat, 26 Aug 2023 03:28:52 +0100
From: Al Viro <viro@zeniv.linux.org.uk>
To: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org, Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230826022852.GO3390869@ZenIV>
References: <20230810171429.31759-1-jack@suse.cz>
 <20230825015843.GB95084@ZenIV>
 <20230825134756.o3wpq6bogndukn53@quack3>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230825134756.o3wpq6bogndukn53@quack3>
Sender: Al Viro <viro@ftp.linux.org.uk>

On Fri, Aug 25, 2023 at 03:47:56PM +0200, Jan Kara wrote:

> I can see the appeal of not having to introduce the new bdev_handle type
> and just using struct file which unifies in-kernel and userspace block
> device opens. But I can see downsides too - the last fput() happening from
> task work makes me a bit nervous whether it will not break something
> somewhere with exclusive bdev opens. Getting from struct file to bdev is
> somewhat harder but I guess a helper like F_BDEV() would solve that just
> fine.
> 
> So besides my last fput() worry about I think this could work and would be
> probably a bit nicer than what I have. But before going and redoing the whole
> series let me gather some more feedback so that we don't go back and forth.
> Christoph, Christian, Jens, any opinion?

Redoing is not an issue - it can be done on top of your series just
as well.  Async behaviour of fput() might be, but...  need to look
through the actual users; for a lot of them it's perfectly fine.

FWIW, from a cursory look there appears to be a missing primitive: take
an opened bdev (or bdev_handle, with your variant, or opened file if we
go that way eventually) and claim it.

I mean, look at claim_swapfile() for example:
                p->bdev = blkdev_get_by_dev(inode->i_rdev,
                                   FMODE_READ | FMODE_WRITE | FMODE_EXCL, p);
                if (IS_ERR(p->bdev)) {
                        error = PTR_ERR(p->bdev);
                        p->bdev = NULL;
                        return error;
                }
                p->old_block_size = block_size(p->bdev);
                error = set_blocksize(p->bdev, PAGE_SIZE);
                if (error < 0)
                        return error;
we already have the file opened, and we keep it opened all the way until
the swapoff(2); here we have noticed that it's a block device and we
	* open the fucker again (by device number), this time claiming
it with our swap_info_struct as holder, to be closed at swapoff(2) time
(just before we close the file)
	* flip the block size to PAGE_SIZE, to be reverted at swapoff(2)
time That really looks like it ought to be
	* take the opened file, see that it's a block device
	* try to claim it with that holder
	* on success, flip the block size
with close_filp() in the swapoff(2) (or failure exit path in swapon(2))
doing what it would've done for an O_EXCL opened block device.
The only difference from O_EXCL userland open is that here we would
end up with holder pointing not to struct file in question, but to our
swap_info_struct.  It will do the right thing.

This extra open is entirely due to "well, we need to claim it and the
primitive that does that happens to be tied to opening"; feels rather
counter-intuitive.

For that matter, we could add an explicit "unclaim" primitive - might
be easier to follow.  That would add another example where that could
be used - in blkdev_bszset() we have an opened block device (it's an
ioctl, after all), we want to change block size and we *really* don't
want to have that happen under a mounted filesystem.  So if it's not
opened exclusive, we do a temporary exclusive open of own and act on
that instead.   Might as well go for a temporary claim...

BTW, what happens if two threads call ioctl(fd, BLKBSZSET, &n)
for the same descriptor that happens to have been opened O_EXCL?
Without O_EXCL they would've been unable to claim the sucker at the same
time - the holder we are using is the address of a function argument,
i.e. something that points to kernel stack of the caller.  Those would
conflict and we either get set_blocksize() calls fully serialized, or
one of the callers would eat -EBUSY.  Not so in "opened with O_EXCL"
case - they can very well overlap and IIRC set_blocksize() does *not*
expect that kind of crap...  It's all under CAP_SYS_ADMIN, so it's not
as if it was a meaningful security hole anyway, but it does look fishy.


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 04:27:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 04:27:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591062.923456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZktA-00085A-LF; Sat, 26 Aug 2023 04:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591062.923456; Sat, 26 Aug 2023 04: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 1qZktA-000851-I5; Sat, 26 Aug 2023 04:27:08 +0000
Received: by outflank-mailman (input) for mailman id 591062;
 Sat, 26 Aug 2023 04:27: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 1qZkt9-00084r-Bi; Sat, 26 Aug 2023 04:27: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 1qZkt9-0007Ng-0M; Sat, 26 Aug 2023 04:27: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 1qZkt8-000112-EZ; Sat, 26 Aug 2023 04:27:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZkt8-0000cz-Dq; Sat, 26 Aug 2023 04:27: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=WQXzbIzMsvDsPrCmqupRvCGpF555cdQImQ6dH6mMNNk=; b=Nq94vypooXuLvxpGfvJQutlIeI
	rnC7IMI624B3ygXsWHAXem7GD8A1Lt3EaeiLrJC0IgSfdzmxyN46oUS2/mW0uR70NxX473lxyKeBt
	+DRGU6XiaSV6YKkWVG6rZ6n7bTJQ26bd0vsWLzafqRdux1CTBUiSVx0cq/ui+QXfaEfQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182519-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182519: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4f9e7fabf8643003afefc172e62dd276686f016e
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 04:27:06 +0000

flight 182519 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182519/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-qcow2    <job status>                 broken
 test-armhf-armhf-libvirt-qcow2  5 host-install(5)      broken REGR. vs. 182424
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 182424
 test-armhf-armhf-xl         18 guest-start/debian.repeat fail REGR. vs. 182424
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 182424

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-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-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-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4f9e7fabf8643003afefc172e62dd276686f016e
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    3 days
Failing since        182452  2023-08-23 10:10:33 Z    2 days    5 attempts
Testing same since   182519  2023-08-25 13:29:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Haleem <abdhalee@in.ibm.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Amit Cohen <amcohen@nvidia.com>
  Andrii Staikov <andrii.staikov@intel.com>
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  ArÄ±nĂ§ ĂœNAL <arinc.unal@arinc9.com>
  Benjamin Coddington <bcodding@redhat.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chuck Lever <chuck.lever@oracle.com>
  Daniel Golle <daniel@makrotopia.org>
  Danielle Ratson <danieller@nvidia.com>
  David Christensen <drc@linux.vnet.ibm.com>
  David S. Miller <davem@davemloft.net>
  Doug Berger <opendmb@gmail.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  Gregory Greenman <gregory.greenman@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hariprasad Kelam <hkelam@marvell.com>
  Ido Schimmel <idosch@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jiri Pirko <jiri@nvidia.com>
  Johannes Berg <johannes.berg@intel.com>
  Josua Mayer <josua@solid-run.com>
  Kees Cook <keescook@chromium.org>
  Leonard GĂ¶hrs <l.goehrs@pengutronix.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lu Wei <luwei32@huawei.com>
  Marek BehĂºn <kabel@kernel.org>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Naama Meir <naamax.meir@linux.intel.com>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Peng Fan <peng.fan@nxp.com>
  Petr Machata <petrm@nvidia.com>
  Petr Oros <poros@redhat.com>
  Ping-Ke Shih <pkshih@realtek.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>
  Randy Dunlap <rdunlap@infradead.org>
  Remi Pommarel <repk@triplefau.lt>
  Richard Cochran <richardcochran@gmail.com>
  Rik van Riel <riel@surriel.com>
  Rob Herring <robh@kernel.org>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sasha Neftin <sasha.neftin@intel.com>
  Serge Semin <fancer.lancer@gmail.com>
  Shih-Yi Chen <shihyic@nvidia.com>
  Simon Horman <horms@kernel.org> # build-tested
  Simon Wunderlich <sw@simonwunderlich.de>
  Srinivas Goud <srinivas.goud@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sunil Goutham <sgoutham@marvell.com>
  Sven Eckelmann <sven@narfation.org>
  Sven Schnelle <svens@linux.ibm.com>
  Swapnil Devesh <me@sidevesh.com>
  Thinh Tran <thinhtr@linux.vnet.ibm.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Venkata Sai Duggi <venkata.sai.duggi@ibm.com>
  Victor Nogueira <victor@mojatatu.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wei Chen <harperchen1110@gmail.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                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               broken  
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt-qcow2 broken
broken-step test-armhf-armhf-libvirt-qcow2 host-install(5)

Not pushing.

(No revision log; it would be 2627 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 07:57:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 07:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591074.923466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZoAr-00055L-Vm; Sat, 26 Aug 2023 07:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591074.923466; Sat, 26 Aug 2023 07:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZoAr-00055E-S1; Sat, 26 Aug 2023 07:57:37 +0000
Received: by outflank-mailman (input) for mailman id 591074;
 Sat, 26 Aug 2023 07:57: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 1qZoAp-000554-VB; Sat, 26 Aug 2023 07:57:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZoAp-0003Un-Qi; Sat, 26 Aug 2023 07:57:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZoAp-0004av-B6; Sat, 26 Aug 2023 07:57:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZoAp-0005Yx-Af; Sat, 26 Aug 2023 07:57:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t3ABihWxIIJkcVbbNSLOb6dvPVY9sLm8dROVq5Nna2U=; b=ZDMIAaLY0wbJV0p97FZJHTm1wD
	bsvYsbD1GQn2vrAjVrRkkLJV8nZJ3cDQLVb14ajnpSWorf+rTnMZtWGyx3HVkq8DmLiBRLpZ3KKoa
	GvZDw6Gp6BvM7+0thgAZaOlmJA7HMy3YjoYJU4YJfASzhOzndvI1EA1ZjXgr+7gTzqZE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182520-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182520: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4
X-Osstest-Versions-That:
    qemuu=92e1d39f989771f9fc190234111863c7376487c5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 07:57:35 +0000

flight 182520 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182520/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182508
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182508
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182508
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182508
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182508
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182508
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182508
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182508
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-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-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4
baseline version:
 qemuu                92e1d39f989771f9fc190234111863c7376487c5

Last test of basis   182508  2023-08-24 14:39:28 Z    1 days
Testing same since   182514  2023-08-25 03:24:14 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Bibo Mao <maobibo@loongson.cn>
  Chris Laplante <chris@laplante.io>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jiajie Chen <c@jia.je>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-DaudĂ© <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   92e1d39f98..50e7a40af3  50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 14:10:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 14:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591089.923476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZtzE-0001iY-0x; Sat, 26 Aug 2023 14:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591089.923476; Sat, 26 Aug 2023 14:09: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 1qZtzD-0001iR-U7; Sat, 26 Aug 2023 14:09:59 +0000
Received: by outflank-mailman (input) for mailman id 591089;
 Sat, 26 Aug 2023 14:09: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 1qZtzC-0001iG-8T; Sat, 26 Aug 2023 14:09: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 1qZtzB-0003Vh-UN; Sat, 26 Aug 2023 14:09:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qZtzB-0005dI-Hj; Sat, 26 Aug 2023 14:09:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZtzB-000525-Gx; Sat, 26 Aug 2023 14:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f+l36nM6lKXxQZQrsVIK0RhHgia6nhvtnxX13diayo8=; b=uES0G9xUmzguMAZfVjBVC+vHtK
	M1eKasuTAUw+nRfWOsMMh+9pB7hrerlbI75ga0klnpU3n5UMWZYwmcZOHlE+rFFX1rg1hea5hzC3z
	nGCKDAAIANtXzf9iAf0SC8HZTwjL1s9ra4al/gQ6KsaXBXEmqMqZqGOAKFeJI/RwUJ94=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182522-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182522: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
X-Osstest-Versions-That:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 14:09:57 +0000

flight 182522 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182522/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-migrupgrade  10 xen-install/src_host         fail  like 182517
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182517
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182517
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182517
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182517
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182517
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182517
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182517
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182517
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182517
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182517
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182517
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182517
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
baseline version:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b

Last test of basis   182522  2023-08-26 01:53:31 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 26 15:57:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 15:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591098.923485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZvfL-0004nh-LS; Sat, 26 Aug 2023 15:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591098.923485; Sat, 26 Aug 2023 15:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qZvfL-0004na-IQ; Sat, 26 Aug 2023 15:57:35 +0000
Received: by outflank-mailman (input) for mailman id 591098;
 Sat, 26 Aug 2023 15:57: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 1qZvfK-0004nP-KU; Sat, 26 Aug 2023 15:57: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 1qZvfK-0005om-Ej; Sat, 26 Aug 2023 15:57: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 1qZvfJ-000838-UH; Sat, 26 Aug 2023 15:57:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qZvfJ-0001b3-Te; Sat, 26 Aug 2023 15:57: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=xGMPi9yQsLxz5VUdLq8ply889DlETb+b7wTOEyqBxWo=; b=BigflKJQ0LLd9s5sJBMY6FoRuP
	QMkX/thiG4CeIpUXNaFj4i40XYwIRtNW0JDuMgeSeO48MYL06qsgYCtlNTwZ95QHs2Rh9qAr5vdq7
	EITLuwLb/YSNYlgAJBdEpqCud6/MUpR1KoGQDXmVF1+fcOxGGr/H2AblRQfDnTvPgZiY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182523-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182523: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=b3715f6e0e29b3c9e8c42e1ed6a39753af6003cf
X-Osstest-Versions-That:
    libvirt=10e8a518a05922d5592d1405054aed3195aebf06
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 15:57:33 +0000

flight 182523 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182523/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182515
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182515
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182515
 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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              b3715f6e0e29b3c9e8c42e1ed6a39753af6003cf
baseline version:
 libvirt              10e8a518a05922d5592d1405054aed3195aebf06

Last test of basis   182515  2023-08-25 04:18:52 Z    1 days
Testing same since   182523  2023-08-26 04:20:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  K Shiva Kiran <shiva_kr@riseup.net>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   10e8a518a0..b3715f6e0e  b3715f6e0e29b3c9e8c42e1ed6a39753af6003cf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 26 21:08:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 Aug 2023 21:08:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591109.923496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qa0Vy-0003DG-Aw; Sat, 26 Aug 2023 21:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591109.923496; Sat, 26 Aug 2023 21:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qa0Vy-0003D9-86; Sat, 26 Aug 2023 21:08:14 +0000
Received: by outflank-mailman (input) for mailman id 591109;
 Sat, 26 Aug 2023 21:08: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 1qa0Vw-0003Cz-AP; Sat, 26 Aug 2023 21:08: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 1qa0Vw-0004j1-4Q; Sat, 26 Aug 2023 21:08: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 1qa0Vv-0006mV-KW; Sat, 26 Aug 2023 21:08:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qa0Vv-0003Ez-Jl; Sat, 26 Aug 2023 21:08:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xSeX7rABMPfUP7dMLol8fr5GpQ77rUL4AItDhAkJ28Q=; b=xXBEWm4R8sGYVSn2Lm+Z2tSHI2
	MGz0yYPkofp98kgvWOo5LPbGudPXK1DE7LIJCmJvNq+8uFgHigM93rK8w5EwUOaKZQ+VgzuZQJmXE
	XXJmNNVU5XReEsb0owy+417bBFmHy1a3fSq7ZHi281NIuMgIqXb2+Fp7hi6bZ51AMB8o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182524-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182524: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7d2f353b2682dcfe5f9bc71e5b61d5b61770d98e
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 26 Aug 2023 21:08:11 +0000

flight 182524 linux-linus real [real]
flight 182525 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182524/
http://logs.test-lab.xenproject.org/osstest/logs/182525/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail REGR. vs. 182424
 test-amd64-amd64-xl-qemut-debianhvm-amd64 18 guest-localmigrate/x10 fail in 182525 REGR. vs. 182424

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64  8 xen-boot     fail in 182525 pass in 182524
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail pass in 182525-retest
 test-amd64-amd64-xl-qemut-debianhvm-amd64 16 guest-localmigrate fail pass in 182525-retest
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail pass in 182525-retest
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 182525-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 182525-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 182525 like 182424
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 182525 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182424
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-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-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-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-arm64-arm64-libvirt-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                7d2f353b2682dcfe5f9bc71e5b61d5b61770d98e
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    4 days
Failing since        182452  2023-08-23 10:10:33 Z    3 days    6 attempts
Testing same since   182524  2023-08-26 04:30:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaron Ma <aaron.ma@canonical.com>
  Abdul Haleem <abdhalee@in.ibm.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Amit Cohen <amcohen@nvidia.com>
  Andre Przywara <andre.przywara@arm.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Skvortsov <andrej.skvortzov@gmail.com>
  Andrii Staikov <andrii.staikov@intel.com>
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Andy Chiu <andy.chiu@sifive.com>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Ankit Nautiyal <ankit.k.nautiyal@intel.com>
  Anshuman Gupta <anshuman.gupta@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  ArÄ±nĂ§ ĂœNAL <arinc.unal@arinc9.com>
  Ayush Jain <ayush.jain3@amd.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Benjamin Coddington <bcodding@redhat.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  BrenoRCBrito <brenorcbrito@gmail.com>
  Chao Song <chao.song@linux.intel.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chris Paterson <Chris.Paterson2@renesas.com>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Chuck Lever <chuck.lever@oracle.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Golle <daniel@makrotopia.org>
  Danielle Ratson <danieller@nvidia.com>
  Dave Airlie <airlied@redhat.com>
  David Christensen <drc@linux.vnet.ibm.com>
  David Hildenbrand <david@redhat.com>
  David Michael <fedora.dm0@gmail.com>
  David S. Miller <davem@davemloft.net>
  Doug Berger <opendmb@gmail.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Frieder Schrempf <frieder.schrempf@kontron.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  Gregory Greenman <gregory.greenman@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hariprasad Kelam <hkelam@marvell.com>
  Helge Deller <deller@gmx.de>
  Hugh Dickins <hughd@google.com>
  Ido Schimmel <idosch@nvidia.com>
  Imre Deak <imre.deak@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jani Nikula <jani.nikula@intel.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jianshui Yu <Jianshui.yu@intel.com>
  Jiri Pirko <jiri@nvidia.com>
  Johannes Berg <johannes.berg@intel.com>
  Josua Mayer <josua@solid-run.com>
  Kees Cook <keescook@chromium.org>
  Kevin-Lu <kevin-lu@ti.com>
  Leonard GĂ¶hrs <l.goehrs@pengutronix.de>
  Liam R. Howlett <Liam.Howlett@oracle.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lu Wei <luwei32@huawei.com>
  Lucas Karpinski <lkarpins@redhat.com>
  Maciej Strozek <mstrozek@opensource.cirrus.com>
  Marek BehĂºn <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Maxime Ripard <mripard@redhat.com>
  Mel Gorman <mgorman@techsingularity.net>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Mingzheng Xing <xingmingzheng@iscas.ac.cn>
  Naama Meir <naamax.meir@linux.intel.com>
  Naoya Horiguchi <naoya.horiguchi@nec.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nhat Pham <nphamcs@gmail.com>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Peter Xu <peterx@redhat.com>
  Petr Machata <petrm@nvidia.com>
  Petr Oros <poros@redhat.com>
  Ping-Ke Shih <pkshih@realtek.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>
  Randy Dunlap <rdunlap@infradead.org>
  Remi Pommarel <repk@triplefau.lt>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Herring <robh@kernel.org>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Ryan Roberts <ryan.roberts@arm.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sasha Neftin <sasha.neftin@intel.com>
  Serge Semin <fancer.lancer@gmail.com>
  Shenghao Ding <shenghao-ding@ti.com>
  Shih-Yi Chen <shihyic@nvidia.com>
  Simon Horman <horms@kernel.org> # build-tested
  Simon Trimmer <simont@opensource.cirrus.com>
  Simon Wunderlich <sw@simonwunderlich.de>
  Srinivas Goud <srinivas.goud@amd.com>
  Stephen Boyd <sboyd@kernel.org>
  Steven Price <steven.price@arm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sunil Goutham <sgoutham@marvell.com>
  Suren Baghdasaryan <surenb@google.com>
  Sven Eckelmann <sven@narfation.org>
  Sven Schnelle <svens@linux.ibm.com>
  Swapnil Devesh <me@sidevesh.com>
  T.J. Mercier <tjmercier@google.com>
  Takashi Iwai <tiwai@suse.de>
  Thinh Tran <thinhtr@linux.vnet.ibm.com>
  Tim Harvey <tharvey@gateworks.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Venkata Sai Duggi <venkata.sai.duggi@ibm.com>
  Victor Nogueira <victor@mojatatu.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wei Chen <harperchen1110@gmail.com>
  Yin Fengwei <fengwei.yin@intel.com>
  Yu Zhao <yuzhao@google.com>
  Zack Rusin <zackr@vmware.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                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             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                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4659 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 27 05:36:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 Aug 2023 05:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591120.923506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qa8RV-0007ae-9X; Sun, 27 Aug 2023 05:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591120.923506; Sun, 27 Aug 2023 05: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 1qa8RV-0007aW-3p; Sun, 27 Aug 2023 05:36:09 +0000
Received: by outflank-mailman (input) for mailman id 591120;
 Sun, 27 Aug 2023 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 1qa8RT-0007aM-Dg; Sun, 27 Aug 2023 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 1qa8RT-0002pc-3d; Sun, 27 Aug 2023 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 1qa8RS-0001c5-Da; Sun, 27 Aug 2023 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 1qa8RS-0002ZR-Cv; Sun, 27 Aug 2023 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=p04noUI2WYrJycijJP0xOKSvF+kB63CmII/0b0G9hZw=; b=jg1IIjO9gYyomaB2X78E4z/iwo
	6zQs6oL2VI54Nds/IZgROKoNjlFbygimE2HDJtFDITp4Ccg4tINIXWEEVKH6UsDwL8lKFxlyfhdyB
	XcETRbCVIH8v0AnXQUSkyZlGF8Vi0YaTtizGhduA/oF1UZTV6myIoD09Dbp/ZVM4OAPQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182526-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182526: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot/l1:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:capture-logs/l1(17):fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=28f20a19294da7df158dfca259d0e2b5866baaf9
X-Osstest-Versions-That:
    linux=53663f4103ff6738e4697004d6f84864d052333d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 27 Aug 2023 05:36:06 +0000

flight 182526 linux-linus real [real]
flight 182528 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182526/
http://logs.test-lab.xenproject.org/osstest/logs/182528/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail pass in 182528-retest
 test-amd64-amd64-qemuu-nested-amd 16 xen-boot/l1    fail pass in 182528-retest
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail pass in 182528-retest
 test-amd64-amd64-xl-qemut-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 182528-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-qemuu-nested-amd 17 capture-logs/l1(17) fail blocked in 182424
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail in 182528 like 182424
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182424
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182424
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182424
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182424
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182424
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-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-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-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-arm64-arm64-libvirt-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                28f20a19294da7df158dfca259d0e2b5866baaf9
baseline version:
 linux                53663f4103ff6738e4697004d6f84864d052333d

Last test of basis   182424  2023-08-22 18:10:18 Z    4 days
Failing since        182452  2023-08-23 10:10:33 Z    3 days    7 attempts
Testing same since   182526  2023-08-26 21:10:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaron Ma <aaron.ma@canonical.com>
  Abdul Haleem <abdhalee@in.ibm.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Amit Cohen <amcohen@nvidia.com>
  Andre Przywara <andre.przywara@arm.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Skvortsov <andrej.skvortzov@gmail.com>
  Andrii Staikov <andrii.staikov@intel.com>
  AndrĂ© Apitzsch <git@apitzsch.eu>
  Andy Chiu <andy.chiu@sifive.com>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Ankit Nautiyal <ankit.k.nautiyal@intel.com>
  Anshuman Gupta <anshuman.gupta@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  ArÄ±nĂ§ ĂœNAL <arinc.unal@arinc9.com>
  Ayush Jain <ayush.jain3@amd.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Benjamin Coddington <bcodding@redhat.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  BrenoRCBrito <brenorcbrito@gmail.com>
  Chao Song <chao.song@linux.intel.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chris Paterson <Chris.Paterson2@renesas.com>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Chuck Lever <chuck.lever@oracle.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Golle <daniel@makrotopia.org>
  Danielle Ratson <danieller@nvidia.com>
  Dave Airlie <airlied@redhat.com>
  David Christensen <drc@linux.vnet.ibm.com>
  David Hildenbrand <david@redhat.com>
  David Michael <fedora.dm0@gmail.com>
  David S. Miller <davem@davemloft.net>
  Doug Berger <opendmb@gmail.com>
  Edward Cree <ecree.xilinx@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Feng Tang <feng.tang@intel.com>
  Florian Westphal <fw@strlen.de>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Frieder Schrempf <frieder.schrempf@kontron.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  Gregory Greenman <gregory.greenman@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hariprasad Kelam <hkelam@marvell.com>
  Helge Deller <deller@gmx.de>
  Huacai Chen <chenhuacai@loongson.cn>
  Hugh Dickins <hughd@google.com>
  Ido Schimmel <idosch@nvidia.com>
  Imre Deak <imre.deak@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jani Nikula <jani.nikula@intel.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jianshui Yu <Jianshui.yu@intel.com>
  Jiri Pirko <jiri@nvidia.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Josua Mayer <josua@solid-run.com>
  Kees Cook <keescook@chromium.org>
  Kevin-Lu <kevin-lu@ti.com>
  Leonard GĂ¶hrs <l.goehrs@pengutronix.de>
  Liam R. Howlett <Liam.Howlett@oracle.com>
  Lijun Pan <lijun.pan@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lu Wei <luwei32@huawei.com>
  Lucas Karpinski <lkarpins@redhat.com>
  Maciej Strozek <mstrozek@opensource.cirrus.com>
  Marek BehĂºn <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Mel Gorman <mgorman@techsingularity.net>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Mingzheng Xing <xingmingzheng@iscas.ac.cn>
  Naama Meir <naamax.meir@linux.intel.com>
  Naoya Horiguchi <naoya.horiguchi@nec.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nhat Pham <nphamcs@gmail.com>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Peter Xu <peterx@redhat.com>
  Petr Machata <petrm@nvidia.com>
  Petr Oros <poros@redhat.com>
  Ping-Ke Shih <pkshih@realtek.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>
  Randy Dunlap <rdunlap@infradead.org>
  Remi Pommarel <repk@triplefau.lt>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Herring <robh@kernel.org>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Ryan Roberts <ryan.roberts@arm.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sasha Neftin <sasha.neftin@intel.com>
  Serge Semin <fancer.lancer@gmail.com>
  Shenghao Ding <shenghao-ding@ti.com>
  Shih-Yi Chen <shihyic@nvidia.com>
  Simon Horman <horms@kernel.org> # build-tested
  Simon Trimmer <simont@opensource.cirrus.com>
  Simon Wunderlich <sw@simonwunderlich.de>
  Srinivas Goud <srinivas.goud@amd.com>
  Stephen Boyd <sboyd@kernel.org>
  Steven Price <steven.price@arm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sunil Goutham <sgoutham@marvell.com>
  Suren Baghdasaryan <surenb@google.com>
  Sven Eckelmann <sven@narfation.org>
  Sven Schnelle <svens@linux.ibm.com>
  Swapnil Devesh <me@sidevesh.com>
  T.J. Mercier <tjmercier@google.com>
  Takashi Iwai <tiwai@suse.de>
  Thinh Tran <thinhtr@linux.vnet.ibm.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Tim Harvey <tharvey@gateworks.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Venkata Sai Duggi <venkata.sai.duggi@ibm.com>
  Victor Nogueira <victor@mojatatu.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  WANG Xuerui <git@xen0n.name>
  Wei Chen <harperchen1110@gmail.com>
  Xi Ruoyao <xry111@xry111.site>
  Yin Fengwei <fengwei.yin@intel.com>
  Yu Zhao <yuzhao@google.com>
  Zack Rusin <zackr@vmware.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                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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                                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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   53663f4103ff..28f20a19294d  28f20a19294da7df158dfca259d0e2b5866baaf9 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Aug 27 08:15:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 Aug 2023 08:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591134.923515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaAv6-0007qN-Fe; Sun, 27 Aug 2023 08:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591134.923515; Sun, 27 Aug 2023 08: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 1qaAv6-0007qG-Cs; Sun, 27 Aug 2023 08:14:52 +0000
Received: by outflank-mailman (input) for mailman id 591134;
 Sun, 27 Aug 2023 08:14:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=94uR=EM=epam.com=prvs=26030eaa11=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1qaAv5-0007pP-Mg
 for xen-devel@lists.xenproject.org; Sun, 27 Aug 2023 08:14:51 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8de9686-44b1-11ee-9b0c-b553b5be7939;
 Sun, 27 Aug 2023 10:14:47 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37QIf4h4000382; Sun, 27 Aug 2023 08:14:31 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2236.outbound.protection.outlook.com [104.47.51.236])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sq6k3t26e-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Sun, 27 Aug 2023 08:14:31 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM9PR03MB6883.eurprd03.prod.outlook.com (2603:10a6:20b:282::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Sun, 27 Aug
 2023 08:14:28 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::ac2a:7470:c441:365c]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::ac2a:7470:c441:365c%6]) with mapi id 15.20.6699.034; Sun, 27 Aug 2023
 08:14:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8de9686-44b1-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gzCzbME+Tx499srBVz/sZndrJB8fTLK2DkNLwOAFIj/6XCgxPDkE9tZ8wGHPLQzqXlPiBDVfww6XK+vhA0sUeJR5JlF+0aU4romdTawjtcNUkJYpHm3D6TvQSGfLgL5cbFiUDL5XmmN8ccrjfwfOrhCESlzCvGzCzUAhQwJBGichs0MJVCFmHX/Zd+crWR/+6hYRH0Vwf3WSSsOSQJ2Wh+0IKr2tBu6ACCARmwgZaFZ1xpoeNGcA7AfgTdWiT4Hkir6CQALyY0XCDx14E1nsLbkr7rkcuI3X7u97pVzvT6AYNeARIe7lF7DVUNsbBenB0Bj8AELwIBSI69kHU2LaTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=12SRTJncwVv9aT/1IBiZU3Ifjh03pi+EwRoN+gp/rxI=;
 b=T4G/oDaWNJS7zAHeLha+QtITIgWexac4HaKJG1WbdzJbzdzT82nPomYGPPR5UWC78RyZqp4zMZ2jKSF95AdBJoxqpiolJVuncUs4N7E+aX/XOty103VFdfd0LZYJtA4ULTcQ9siIbqAjJWNCLy2jyCtmu859Ch6G3Pb1le/e7vqEPS383vajuw7ApjTbbyczoKJldnSsHQc63c6/b4Sd2I/D6mHNUXYgsCmuEp0gOcvGxhziR0sCaUjmM/M8Wp8J7WNZemjaCChXrCgPV5OzvRsvjseveuig11/zc09kYJqE5H58F8O7U9Gd/oEtDVnA0xS7YEREQdf4c3716/8y2A==
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=12SRTJncwVv9aT/1IBiZU3Ifjh03pi+EwRoN+gp/rxI=;
 b=fmSI3Qhyk6P2sf5BO38vejM/Zxoh0K2B+kcOV9/ytfHByNskBkzNyst8uEgVpdffwC8B+JdKDxbsltEYf55Wd1SYzRSVZTA0XUIt3NIPYa2ewXkj0gKYBVG07RDJ4bW41V8CamVXehRlhLoxwlAs1kVXj/T/V58ZQjqIX6dw3Ggfk3evXRG9/sq8jSd1HCGZHAHHzLBnz9zMzKWDmQSJZd0jUC1LNmnLdplwe3yQMq2nN4Pk6V8kOu4xyPnic7MPWXRv9jNIuteZL+rVh/lAOxo7ym+D/tLkExMIVpvpVHOfYZofBWtbEZsd/HBt3W8D0K+WPTlJMEViRxwyGXujtw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        kernel
 test robot <lkp@intel.com>, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH] xenbus: fix error exit in xenbus_init()
Thread-Topic: [PATCH] xenbus: fix error exit in xenbus_init()
Thread-Index: AQHZ1Niy5Jst2USBYE2HABrwl061oK/900WA
Date: Sun, 27 Aug 2023 08:14:27 +0000
Message-ID: <72c8ea59-4ef1-4117-32d8-3b775d1f8661@epam.com>
References: <20230822091138.4765-1-jgross@suse.com>
In-Reply-To: <20230822091138.4765-1-jgross@suse.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB8PR03MB6108:EE_|AM9PR03MB6883:EE_
x-ms-office365-filtering-correlation-id: c0d46753-1657-4a31-a650-08dba6d5a185
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 eyzY4mYYHv/ZDx/F9MQ8B4NBsUzA9yd2+qqHwwDL8RRBSI5F8swl9zJEPQedXN+TaTX9HUnBeVzQUsaJbNvs8JBNZSYFQQkEe7HqeXuUgY/a5kP2yKBdoa/tok3y6NoIcRB8vNDb0uitE4HrOjqZEhYsfQgoNIHtCFA43A+OQIXDhvVN7PKfg9J2V8Pe3mbBnyVLRrqe5cyB7IPJfvYa4m+Xo9leYn592piUFMtJ7PzP/Dsiz/QO8aJfgmeqyqjXFzotQvPrNnpD3MFum3uPyk30fzMDdjYgIraQMEWAVjPSK1JBOzCTH6hs2wPXehSxJb3YRDL9COpgOVC9oEfMkdtfVqZeiuf+ObqAHoRLrppfEtokmBHNJCjzKgyk3eBZHeWXZtMq/symVmvBlxZ87AFR3tPBMqzocnaFfcbEWgIB/SBbszwv4iOq054U0qvvZ3SEUbQWG2AUJTm6XzvtfCwJFeTs+fRfAhLXZg/l3nGX8v44Z5Xv4GWDSGUlJ9LiVAQriAfk0mu5FZgBRkxBTRt6flBUtkzuJ7Ya3U/8LRCkXayYkWsiF93E4yEq7tI/G/3/g3aus1ydVw2CujkNXT5y34XQpAL89YmjGKbPxTUr84PftpI+/sq7bpv23KqwOke/JVDwqFbFlKJNSKN3Ww==
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)(366004)(376002)(39860400002)(396003)(136003)(346002)(186009)(451199024)(1800799009)(71200400001)(31696002)(53546011)(6506007)(6486002)(2616005)(6512007)(86362001)(2906002)(76116006)(66946007)(5660300002)(41300700001)(8676002)(8936002)(54906003)(66476007)(36756003)(38070700005)(64756008)(66556008)(66446008)(4326008)(110136005)(316002)(91956017)(38100700002)(122000001)(478600001)(966005)(83380400001)(26005)(31686004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?c0lJSzcyKzBuOXNTdTgzN1JnaCs2RjFYeEl5cmxCSmdPb0hUcVlWbS9yQy9o?=
 =?utf-8?B?RHJjWlU1RXZrVHRodXJvakdFUU4rR2FwQk9DWStMOEZxSC9reG5xZ1Z1NEFZ?=
 =?utf-8?B?UjJKOXRFUXZndXpHdk9La3BwbXZDVDd2WnlreS9IWU1ZZVNGOUZKQ2taY3Nt?=
 =?utf-8?B?TG1FZ25MRUhSQU90ejB5cC9KRnlFOFBXWjg2WDJueERCbjlJcyt1alVSMEpo?=
 =?utf-8?B?S1Zqc0Y2S3piMjlZb3ZqMFA4clRrOHp0QzNORm5SMS9ObVR2Wm5PM1E4OWcv?=
 =?utf-8?B?bjliYVMxT2htMEIrc29xNjFyMWVIUHdDVUZqL3NFZ2U5NGxzajRDbmhuZVF0?=
 =?utf-8?B?bTFkQklXQVlXblFFUHRtNklnb1ZFV24zUDlYZldWa3pSd3d6RW5iV0lWWG1v?=
 =?utf-8?B?K0wzMGtIRURNamxJTjU3dEM4Q1k3YSs4cFVDMkl0WUd2bmU5bDF4Z0tWVTZ0?=
 =?utf-8?B?SVRQV1QwZnRGa3NvZEhBN2xzMnNnUy96Z053aFFBaUdXZ1ZKR1hvZURuVzRw?=
 =?utf-8?B?YjJUb3NkNHphd3crNi9MQkJzM2o3YVlDdjVXaE10YW1xMndkMGV6cVFhK1hs?=
 =?utf-8?B?QnBWRTBTeXJSL1ZvbE00amhMS1F3Z00ybk9wb0p4NFVjUFVQZ3pNc2oxTGpR?=
 =?utf-8?B?OUtGU0o4WERiWnJZSGZLZ0ZQUTlCV0U2NE5DelUvOWlPVFF0a29NTk9XWTFa?=
 =?utf-8?B?M3lxNDFWOCtVcnhuUGtWeWl4SXdkYVVneFdYMGNOaGNaZVd3K1UvVVo5dW5w?=
 =?utf-8?B?dUFvY09HeUFKWk45V0NxUUZ6M2Vpbm1HOWMxMU5odkUxanp6dWZSN09mdDFB?=
 =?utf-8?B?TTgvcHljanE2Q1A1RzdqUUd2OUczUW03bmtzMWhiUnZmZTVJZlVwd2NSNmpD?=
 =?utf-8?B?Tm9XZlNPYStSbm9YUlNIeDkrV2tPNHdzSHlid2tjUkxpb3dxN0U1cStPMi9o?=
 =?utf-8?B?WG5JV21HbXNZeFl1S1VqL1JkcjhJZXVUSCtzT0FNamg1Tlc2djZmeWxWS0ZP?=
 =?utf-8?B?MGk4NlN5WkdTSUVBdyt1cHA5eWs2TlVpNUdSWjZKQjhuT0FBZFkxOERqY1Js?=
 =?utf-8?B?YjJkdDlVb3haSHZNaTVib0ZaOHlnQ0p2K3pwMmp6UUs5MXcrYkd5OTFLY3Zr?=
 =?utf-8?B?RTlqNmNhNVpBd1BYS3duZzJTbFFpMGdic2hjVkt6QXlhSEZkcG13VzhmL3dD?=
 =?utf-8?B?VkNnVGhqemF1ZFVZVkdXakpMckgvTmkvTmR6dUdWc0NJVDFiT3AxM0xQKzgz?=
 =?utf-8?B?REtnZ000ZldZMkZ5V0pqSmFXbFVCMGdzN0RhQlBxVzNwZXo5c3pIM3lLUUhC?=
 =?utf-8?B?NFFHaHBNMWJGVmtJUU9OUWxQbSs1aGxidUhFaHBJUzVDY3dMRDVGS2RGSUcw?=
 =?utf-8?B?a1hSZkdWTklHUE5JTDhSMlppU0ZmVUtJa1ZLZkdYeCthZmJ2TnhsS3dYd3Ix?=
 =?utf-8?B?TWhJZUpobC8zNFZlZmZCenpYSXlndjg3K2pjZjdoUnNabXp3THpHaEVCOW8w?=
 =?utf-8?B?SlNvWmVycm52MFZuaUp0elIwRnVONkxuY1I4YUZFOXVSYlhEUWR6WWgyVTJi?=
 =?utf-8?B?ZVphb0hBd05CSGVqNlZ6a0M0V2pETTNQRmRxU3MwQkpDQVJNVnFTSkc0Vno1?=
 =?utf-8?B?ZFhvUE9mTVU0U21QL2hsdkFNeGN2NC9samN3b0plaTFTTE1LZWVTSUFuc1Zv?=
 =?utf-8?B?VUJDeGNuUnhOSXRXbEYzQW9PaFRDUXVPY05PMmtmQ3ZwMkNsaC9wMlBGNWh0?=
 =?utf-8?B?UUgyZVlvTlk1WWtSQ2NqVVRZd3c2S1A4VjF6amt2K3FYYjZ6R3p3czdYSStO?=
 =?utf-8?B?WVFvc2RHaVVVM2QzOXhqcWZaNEtZaklvM09tWWo3TUVON2ViNHFZZFJHcG83?=
 =?utf-8?B?WUVjS0RtS3VrRmEvdmpUTnc0L2VBbmxTZ0ZINWNkZk91R1Y2eU4xYitFT0tn?=
 =?utf-8?B?NlRtcVJ1YkZHRzByanBDZHN2M0IxdEduS3oxRzl6U3dUZVR3RG5rcXVqM2kv?=
 =?utf-8?B?a3YwaVBYSFN1SEM2NmNaNlJScHh6YWw5aHZDRVJUQjhGVmRZOHJRRERQWS9Z?=
 =?utf-8?B?Z3NTM1JhckQrYmpEOE04TEFXSVdISmtZU3N2bFg1VUdVditQcFJsQnppL3BD?=
 =?utf-8?B?a2wzNUdIa2E4SnlaUjBxWTBzTmgxeWNpbFhGMHJBbjJLSmRqUm1taHlrQi9C?=
 =?utf-8?Q?Gx6TvW5zZz+wMEArjuxBnKw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BCB881958AEC404A94469C7A03D7301A@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: c0d46753-1657-4a31-a650-08dba6d5a185
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Aug 2023 08:14:27.0740
 (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: ys4J47srkteAw/Xs48++Vwhjwa6Jj4xYUxyO+C40U25F3sLe7L3CKMy8xlDAnlK4dwUHWp4sniYhJjTY36f+G6G0ovK6tXvvRtcbgmmb5eo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB6883
X-Proofpoint-GUID: _gTzRrK4nrMydYJGv5tShd7G-gD02wdy
X-Proofpoint-ORIG-GUID: _gTzRrK4nrMydYJGv5tShd7G-gD02wdy
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-27_06,2023-08-25_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0
 malwarescore=0 suspectscore=0 mlxlogscore=999 impostorscore=0
 clxscore=1011 spamscore=0 mlxscore=0 bulkscore=0 lowpriorityscore=0
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308270076

DQoNCk9uIDIyLjA4LjIzIDEyOjExLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4NCg0KPiBJbiBjYXNlIGFuIGVycm9yIG9jY3VycyBpbiB4ZW5idXNfaW5pdCgpLCB4ZW5f
c3RvcmVfZG9tYWluX3R5cGUgc2hvdWxkDQo+IGJlIHNldCB0byBYU19VTktOT1dOLg0KPiANCj4g
Rml4IG9uZSBpbnN0YW5jZSB3aGVyZSB0aGlzIGFjdGlvbiBpcyBtaXNzaW5nLg0KPiANCj4gRml4
ZXM6IDViMzM1Mzk0OWU4OSAoInhlbjogYWRkIHN1cHBvcnQgZm9yIGluaXRpYWxpemluZyB4ZW5z
dG9yZSBsYXRlciBhcyBIVk0gZG9tYWluIikNCj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJv
Ym90IDxsa3BAaW50ZWwuY29tPg0KPiBSZXBvcnRlZC1ieTogRGFuIENhcnBlbnRlciA8ZXJyb3Iy
N0BnbWFpbC5jb20+DQo+IExpbms6IGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczov
L2xvcmUua2VybmVsLm9yZy9yLzIwMjMwNDIwMDg0NS53N200a1haci1sa3BAaW50ZWwuY29tL19f
OyEhR0ZfMjlkYmNRSVVCUEEheVZxbWJXdTZ1R3JnQ2wySFZPQXBJdFZ5c1pkelBRZEwwV3hlRks5
dlZIZTVyUGJJNkI0dVF2ZG9ZY0VlQVF2WFRKVXJhZTlLTnlRa19KQlcxUVZMJCBbbG9yZVsuXWtl
cm5lbFsuXW9yZ10NCj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KDQoNClJldmlld2VkLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5
c2hjaGVua29AZXBhbS5jb20+DQoNCg0KPiAtLS0NCj4gICBkcml2ZXJzL3hlbi94ZW5idXMveGVu
YnVzX3Byb2JlLmMgfCAyICstDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx
IGRlbGV0aW9uKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1
c19wcm9iZS5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZS5jDQo+IGluZGV4IDYz
OWJmNjI4Mzg5Yi4uMzIwNWU1ZDcyNGM4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi94ZW5i
dXMveGVuYnVzX3Byb2JlLmMNCj4gKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9i
ZS5jDQo+IEBAIC0xMDI1LDcgKzEwMjUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB4ZW5idXNfaW5p
dCh2b2lkKQ0KPiAgIAkJCWlmIChlcnIgPCAwKSB7DQo+ICAgCQkJCXByX2VycigieGVuc3RvcmVf
bGF0ZV9pbml0IGNvdWxkbid0IGJpbmQgaXJxIGVycj0lZFxuIiwNCj4gICAJCQkJICAgICAgIGVy
cik7DQo+IC0JCQkJcmV0dXJuIGVycjsNCj4gKwkJCQlnb3RvIG91dF9lcnJvcjsNCj4gICAJCQl9
DQo+ICAgDQo+ICAgCQkJeHNfaW5pdF9pcnEgPSBlcnI7


From xen-devel-bounces@lists.xenproject.org Sun Aug 27 11:15:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 Aug 2023 11:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591141.923525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaDja-00019d-Jx; Sun, 27 Aug 2023 11:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591141.923525; Sun, 27 Aug 2023 11: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 1qaDja-00019V-H4; Sun, 27 Aug 2023 11:15:10 +0000
Received: by outflank-mailman (input) for mailman id 591141;
 Sun, 27 Aug 2023 11: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 1qaDjZ-00019I-GA; Sun, 27 Aug 2023 11: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 1qaDjZ-0002hu-3U; Sun, 27 Aug 2023 11: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 1qaDjY-0004e4-K2; Sun, 27 Aug 2023 11:15:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaDjY-0007Yq-Ja; Sun, 27 Aug 2023 11: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=ynyf4sq/1H5K1ntGFMwPweCRbVtZq43M9v5J1JZyylE=; b=h77gz6X2tmHqyXcp8r7/mUYTPe
	M2GU3DO6rna42HyQ9/pK86AWiNxvTIJRj3Dh9n+L+HwPV69PVJxRvoWtAigoilo0Ign6Qfh+B5R0j
	3uuojQbqstaE9Azf1wctB/DkUHJ4tJ44ctMwQX+fiYrcZy8X8f6VL4KV4/Z8/9wLM0uM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182527: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
X-Osstest-Versions-That:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 27 Aug 2023 11:15:08 +0000

flight 182527 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182527/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm        7 xen-install                fail pass in 182522
 test-armhf-armhf-libvirt-qcow2 13 guest-start              fail pass in 182522
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 182522

Tests which did not succeed, but are not blocking:
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail in 182522 like 182517
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 182522 like 182517
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182522 like 182517
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 182522 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182522
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182522
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182522
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182522
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182522
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182522
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182522
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182522
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182522
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182522
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
baseline version:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b

Last test of basis   182527  2023-08-27 01:52:07 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 27 15:44:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 Aug 2023 15:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591183.923553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaHw5-0004ck-J1; Sun, 27 Aug 2023 15:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591183.923553; Sun, 27 Aug 2023 15:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaHw5-0004cd-FO; Sun, 27 Aug 2023 15:44:21 +0000
Received: by outflank-mailman (input) for mailman id 591183;
 Sun, 27 Aug 2023 15:44:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Zlf5=EM=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qaHw4-0004cX-Ht
 for xen-devel@lists.xenproject.org; Sun, 27 Aug 2023 15:44:20 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94c937da-44f0-11ee-8783-cb3800f73035;
 Sun, 27 Aug 2023 17:44: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: 94c937da-44f0-11ee-8783-cb3800f73035
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1693151056;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cRQEINcYa2yNYEV4sab13106Suw4qQaydMPfTPHS8R4=;
	b=Q5evRsFkrTRQZkx4xBJCOs1vcqNYweuw1mnmhlR398Is39arbD2EurHpUbLinkq22B7q+d
	r2iV2/fA9u2PnJOZQmw/QYxpWkS3hQmtC4/Z+9AVsGFyrnWLFuVa2u53fjgZjam7h5GYCv
	co79dw4l2mYs2p3VwPnjpnSUU1QD/0wnF6W/rJr0gUuFWSqBiBpf/RhtxF10w3WTCERS+0
	w9wJvCNfUegmJLVPWMLlsfpVs0so7WHwK4OxznQIK/ts61K1rHkWRMyQaN9LtsxfJgOTk3
	tpJQUGRsjtoP0N6HY72Cswgo4o+t54/qtaT6YvLM5wUUfQx5GZUj+wyyBOaZOg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1693151056;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cRQEINcYa2yNYEV4sab13106Suw4qQaydMPfTPHS8R4=;
	b=0TdOoIzfPeWMwI/NJHmRVLSEvZMxgXj+AvA1mxqq3dA7rBQwuOpmqTqAU3LjON8MEm5nDw
	mmRf4xOGjbGkOPCA==
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Marek
 =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org, Simon Gaiser
 <simon@invisiblethingslab.com>
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
In-Reply-To: <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
 <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
 <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com>
Date: Sun, 27 Aug 2023 17:44:15 +0200
Message-ID: <87jztga3sg.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 23 2023 at 14:56, Jan Beulich wrote:
> On 23.08.2023 11:21, Andrew Cooper wrote:
>> In the spec, exactly where you'd expect to find them...
>>=20
>> "OSPM does not expect the information provided in this table to be
>> updated if the processor information changes during the lifespan of an
>> OS boot."
>
> I don't think this tells us anything about the ID not possibly changing.
> It merely tells us that OSPM is not expected to parse this table again
> (IOW firmware updating just this table isn't going to be enough). IDs
> possibly changing is expressed by (a) the "if the processor information
> changes", and (b) the next sentence, forbidding them to change while the
> system is asleep: "While in the sleeping state, logical processors must
> not be added or removed, nor can their ... ID or ... Flags change."
>
>> Which is wordsmithing for "Some firmware was found to be modifying them
>> and this was deemed to be illegal under the spec".
>
> That's your reading of it; I certainly don't infer such from that
> sentence.

The APIC/X2APIC description of MADT specifies flags:

Enabled        	If this bit is set the processor is ready for use. If
		this bit is clear and the Online Capable bit is set,
		system hardware supports enabling this processor during
		OS runtime. If this bit is clear and the Online Capable
		bit is also clear, this processor is unusable, and OSPM
		shall ignore the contents of the Processor Local APIC
		Structure.

Online Capable	The information conveyed by this bit depends on the
		value of the Enabled bit. If the Enabled bit is set,
		this bit is reserved and must be zero. Otherwise, if
		this this bit is set, system hardware supports enabling
		this processor during OS runtime.

This is also related to SRAT which defines the proximity of memory to
processors at boot time with a similar set of flags.

Also 8.4 says:

  Each processor in the system must be declared in the ACPI namespace in
  the \_SB scope. .... A Device definition for a processor is declared
  using the ACPI0007 hardware identifier (HID). Processor configuration
  information is provided exclusively by objects in the processor
  device=E2=80=99s object list.

  When the platform uses the APIC interrupt model, UID object values
  under a processor device are used to associate processor devices with
  entries in the MADT.


MADT is the authoritative table for processor enumeration, whether
present or not. This is required because that's the only way to size
resources, which depend on the possible maximum topology.

Otherwise you'd end up with a CPU hotplugged which is outside of the
resource space allocated during init.

Thanks,

        tglx



From xen-devel-bounces@lists.xenproject.org Sun Aug 27 22:33:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 Aug 2023 22:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591192.923563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaOJK-0004kL-TJ; Sun, 27 Aug 2023 22:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591192.923563; Sun, 27 Aug 2023 22:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaOJK-0004kE-Qb; Sun, 27 Aug 2023 22:32:46 +0000
Received: by outflank-mailman (input) for mailman id 591192;
 Sun, 27 Aug 2023 22:32:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaOJJ-0004k4-Su; Sun, 27 Aug 2023 22:32:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaOJJ-0001x0-F7; Sun, 27 Aug 2023 22:32:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaOJI-0006o6-Tn; Sun, 27 Aug 2023 22:32:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaOJI-0006QY-TO; Sun, 27 Aug 2023 22:32:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7dnjHhlV9gBeDxq1pvDmVH22ruMViyfpIWQ28h4qbnQ=; b=ooPZfq3D1Er+JiJ2Nyw+jqUA3d
	QaOm3DinQkL4Koz6vL49Kl3KWc1slV4aJwF4xvpRxpe+SGvvTUikLet3xCSUndq01xjyo4H6tpiD/
	FYUSiSliX8Yb3Nz1mNmB35TTiYV/AS70GxnE1LiDGaO/8nF6icCZI0RzjyOH7ZnYG+hA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182529-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182529: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=85eb043618bb17124050197d71c453d4a1f556e5
X-Osstest-Versions-That:
    linux=28f20a19294da7df158dfca259d0e2b5866baaf9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 27 Aug 2023 22:32:44 +0000

flight 182529 linux-linus real [real]
flight 182530 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182529/
http://logs.test-lab.xenproject.org/osstest/logs/182530/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 182530 REGR. vs. 182526

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 182530-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 182526
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182526
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182526
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat    fail  like 182526
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182526
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182526
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182526
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182526
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182526
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-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-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-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-arm64-arm64-libvirt-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                85eb043618bb17124050197d71c453d4a1f556e5
baseline version:
 linux                28f20a19294da7df158dfca259d0e2b5866baaf9

Last test of basis   182526  2023-08-26 21:10:35 Z    1 days
Testing same since   182529  2023-08-27 14:41:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Bao D. Nguyen" <quic_nguyenb@quicinc.com>
  Bao D. Nguyen <quic_nguyenb@quicinc.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manivannan Sadhasivam <mani@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Zhu Wang <wangzhu9@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                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 85eb043618bb17124050197d71c453d4a1f556e5
Merge: 28f20a19294d 1bd3a76880b2
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Aug 27 07:33:54 2023 -0700

    Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Three small driver fixes and one larger unused function set removal in
      the raid class (so no external impact)"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: snic: Fix double free in snic_tgt_create()
      scsi: core: raid_class: Remove raid_component_add()
      scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5
      scsi: ufs: mcq: Fix the search/wrap around logic

commit 1bd3a76880b2bce017987cf53780b372cf59528e
Author: Zhu Wang <wangzhu9@huawei.com>
Date:   Sat Aug 19 08:39:41 2023 +0000

    scsi: snic: Fix double free in snic_tgt_create()
    
    Commit 41320b18a0e0 ("scsi: snic: Fix possible memory leak if device_add()
    fails") fixed the memory leak caused by dev_set_name() when device_add()
    failed. However, it did not consider that 'tgt' has already been released
    when put_device(&tgt->dev) is called. Remove kfree(tgt) in the error path
    to avoid double free of 'tgt' and move put_device(&tgt->dev) after the
    removed kfree(tgt) to avoid a use-after-free.
    
    Fixes: 41320b18a0e0 ("scsi: snic: Fix possible memory leak if device_add() fails")
    Signed-off-by: Zhu Wang <wangzhu9@huawei.com>
    Link: https://lore.kernel.org/r/20230819083941.164365-1-wangzhu9@huawei.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 60c5fd2e8f3c42a5abc565ba9876ead1da5ad2b7
Author: Zhu Wang <wangzhu9@huawei.com>
Date:   Tue Aug 22 01:52:54 2023 +0000

    scsi: core: raid_class: Remove raid_component_add()
    
    The raid_component_add() function was added to the kernel tree via patch
    "[SCSI] embryonic RAID class" (2005). Remove this function since it never
    has had any callers in the Linux kernel. And also raid_component_release()
    is only used in raid_component_add(), so it is also removed.
    
    Signed-off-by: Zhu Wang <wangzhu9@huawei.com>
    Link: https://lore.kernel.org/r/20230822015254.184270-1-wangzhu9@huawei.com
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Fixes: 04b5b5cb0136 ("scsi: core: Fix possible memory leak if device_add() fails")
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit c422fbd5cb58c9a078172ae1e9750971b738a197
Author: Neil Armstrong <neil.armstrong@linaro.org>
Date:   Mon Aug 21 14:11:21 2023 +0200

    scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5
    
    The qunipro_g4_sel clear is also needed for new platforms with major
    version > 5. Fix the version check to take this into account.
    
    Fixes: 9c02aa24bf40 ("scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW version major 5")
    Acked-by: Manivannan Sadhasivam <mani@kernel.org>
    Reviewed-by: Nitin Rawat <quic_nitirawa@quicinc.com>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://lore.kernel.org/r/20230821-topic-sm8x50-upstream-ufs-major-5-plus-v2-1-f42a4b712e58@linaro.org
    Reviewed-by: "Bao D. Nguyen" <quic_nguyenb@quicinc.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit d0c89af3130eb4ff962266bb7597690a696f1cbc
Author: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Date:   Tue Aug 15 18:38:29 2023 -0700

    scsi: ufs: mcq: Fix the search/wrap around logic
    
    The search and wrap around logic in the ufshcd_mcq_sqe_search() function
    does not work correctly when the hwq's queue depth is not a power of two
    number. Correct it so that any queue depth with a positive integer value
    within the supported range would work.
    
    Signed-off-by: "Bao D. Nguyen" <quic_nguyenb@quicinc.com>
    Link: https://lore.kernel.org/r/ff49c15be205135ed3ec186f3086694c02867dbd.1692149603.git.quic_nguyenb@quicinc.com
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Fixes: 8d7290348992 ("scsi: ufs: mcq: Add supporting functions for MCQ abort")
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591206.923573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7Q-0000ic-Vd; Mon, 28 Aug 2023 01:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591206.923573; Mon, 28 Aug 2023 01:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7Q-0000iV-RH; Mon, 28 Aug 2023 01:32:40 +0000
Received: by outflank-mailman (input) for mailman id 591206;
 Mon, 28 Aug 2023 01:32: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7O-0000i9-Vt
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c42f5cc7-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:32:36 +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 82AC22F4;
 Sun, 27 Aug 2023 18:33:15 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 66B243F740;
 Sun, 27 Aug 2023 18: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: c42f5cc7-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v6 00/13] xen/arm: Split MMU code as the prepration of MPU work
Date: Mon, 28 Aug 2023 09:32:11 +0800
Message-Id: <20230828013224.669433-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v5 [2] as the preparation work to add MPU support.
The series passed the GitLab CI check in [3].

Mostly code movement and function folding, with some of Kconfig and build
system (mainly Makefiles) adjustment.

This series is based on:
ec272d8d4c CI: Always move the bisect build log back

[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20230814042536.878720-1-Henry.Wang@arm.com/
[3] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/982592897

Henry Wang (9):
  xen/arm: Introduce CONFIG_MMU Kconfig option
  xen/arm64: Split and move MMU-specific head.S to mmu/head.S
  xen/arm64: Fold setup_fixmap() to create_page_tables()
  xen/arm: Split page table related code to mmu/pt.c
  xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
  xen/arm: Fold mmu_init_secondary_cpu() to head.S
  xen/arm: Extract MMU-specific MM code
  xen/arm: Split MMU-specific setup_mm() and related code out
  xen/arm: Fold pmap and fixmap into MMU system

Penny Zheng (2):
  xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
  xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}

Wei Chen (2):
  xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm: Move MMU related definitions from config.h to mmu/layout.h

 xen/arch/arm/Kconfig                    |    5 +-
 xen/arch/arm/Makefile                   |    1 +
 xen/arch/arm/arm32/Makefile             |    1 +
 xen/arch/arm/arm32/head.S               |   22 +-
 xen/arch/arm/arm32/mmu/Makefile         |    1 +
 xen/arch/arm/arm32/mmu/mm.c             |  301 ++++
 xen/arch/arm/arm64/Makefile             |    2 +-
 xen/arch/arm/arm64/head.S               |  460 +-----
 xen/arch/arm/arm64/mmu/Makefile         |    2 +
 xen/arch/arm/arm64/mmu/head.S           |  481 ++++++
 xen/arch/arm/arm64/{ => mmu}/mm.c       |   84 ++
 xen/arch/arm/include/asm/arm32/mm.h     |    1 +
 xen/arch/arm/include/asm/arm64/macros.h |   36 +
 xen/arch/arm/include/asm/config.h       |  132 +-
 xen/arch/arm/include/asm/mm.h           |   28 +-
 xen/arch/arm/include/asm/mmu/layout.h   |  146 ++
 xen/arch/arm/include/asm/mmu/mm.h       |   41 +
 xen/arch/arm/include/asm/mmu/p2m.h      |   18 +
 xen/arch/arm/include/asm/p2m.h          |   26 +-
 xen/arch/arm/include/asm/page.h         |   15 -
 xen/arch/arm/include/asm/setup.h        |    5 +
 xen/arch/arm/kernel.c                   |   28 -
 xen/arch/arm/mm.c                       | 1212 ---------------
 xen/arch/arm/mmu/Makefile               |    4 +
 xen/arch/arm/mmu/p2m.c                  | 1736 +++++++++++++++++++++
 xen/arch/arm/mmu/pt.c                   |  743 +++++++++
 xen/arch/arm/mmu/setup.c                |  372 +++++
 xen/arch/arm/mmu/smpboot.c              |  121 ++
 xen/arch/arm/p2m.c                      | 1837 +----------------------
 xen/arch/arm/setup.c                    |  324 +---
 xen/arch/arm/smpboot.c                  |    4 +-
 xen/arch/arm/xen.lds.S                  |    1 +
 32 files changed, 4222 insertions(+), 3968 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/Makefile
 create mode 100644 xen/arch/arm/arm32/mmu/mm.c
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (60%)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/p2m.c
 create mode 100644 xen/arch/arm/mmu/pt.c
 create mode 100644 xen/arch/arm/mmu/setup.c
 create mode 100644 xen/arch/arm/mmu/smpboot.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591209.923603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7c-0001XG-Qm; Mon, 28 Aug 2023 01:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591209.923603; Mon, 28 Aug 2023 01: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 1qaR7c-0001X4-Mn; Mon, 28 Aug 2023 01:32:52 +0000
Received: by outflank-mailman (input) for mailman id 591209;
 Mon, 28 Aug 2023 01: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7a-0000i9-LZ
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id cbdc753d-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:32: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 7FC9D2F4;
 Sun, 27 Aug 2023 18:33:28 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 910E93F740;
 Sun, 27 Aug 2023 18:32: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: cbdc753d-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 03/13] xen/arm64: Split and move MMU-specific head.S to mmu/head.S
Date: Mon, 28 Aug 2023 09:32:14 +0800
Message-Id: <20230828013224.669433-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
- As "fail" in original head.S is very simple and this name is too
  easy to be conflicted, duplicate it in mmu/head.S instead of
  exporting it.
- Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
  setup_fixmap as they will be used externally.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

Note that, only the first 4KB of Xen image will be mapped as
identity (PA == VA). At the moment, Xen guarantees this by having
everything that needs to be used in the identity mapping in
.text.header section of head.S, and the size will be checked by
_idmap_start and _idmap_end at link time if this fits in 4KB.
Since we are introducing a new head.S in this patch, although
we can add .text.header to the new file to guarantee all identity
map code still in the first 4KB. However, the order of these two
files on this 4KB depends on the build toolchains. Hence, introduce
a new section named .text.idmap in the region between _idmap_start
and _idmap_end. And in Xen linker script, we force the .text.idmap
contents to linked after .text.header. This will ensure code of
head.S always be at the top of Xen binary.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v6:
- Reword the reason of adding "ENTRY()" in commit message.
- Add Julien's Reviewed-by tag.
v5:
- Rebase on top of commit
  "xen/arm64: head: Introduce a helper to flush local TLBs".
v4:
- Rework "[v3,08/52] xen/arm64: move MMU related code from
  head.S to mmu/head.S"
- Don't move the "yet to shared" macro such as print_reg.
- Fold "[v3,04/52] xen/arm: add .text.idmap in ld script for Xen
  identity map sections" to this patch. Rework commit msg.
---
 xen/arch/arm/arm64/Makefile             |   1 +
 xen/arch/arm/arm64/head.S               | 492 +-----------------------
 xen/arch/arm/arm64/mmu/Makefile         |   1 +
 xen/arch/arm/arm64/mmu/head.S           | 488 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/macros.h |  36 ++
 xen/arch/arm/xen.lds.S                  |   1 +
 6 files changed, 528 insertions(+), 491 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mmu/Makefile
 create mode 100644 xen/arch/arm/arm64/mmu/head.S

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 54ad55c75c..f89d5fb4fb 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -1,4 +1,5 @@
 obj-y += lib/
+obj-$(CONFIG_MMU) += mmu/
 
 obj-y += cache.o
 obj-y += cpufeature.o
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index f25a41d36c..3c8a12eda7 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -28,17 +28,6 @@
 #include <asm/arm64/efibind.h>
 #endif
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
 #define __HEAD_FLAG_PAGE_SIZE   ((PAGE_SHIFT - 10) / 2)
 
 #define __HEAD_FLAG_PHYS_BASE   1
@@ -85,19 +74,7 @@
  *  x30 - lr
  */
 
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers x0 - x3
- */
-#define PRINT(_s)          \
-        mov   x3, lr ;     \
-        adr_l x0, 98f ;    \
-        bl    asm_puts ;   \
-        mov   lr, x3 ;     \
-        RODATA_STR(98, _s)
-
+ #ifdef CONFIG_EARLY_PRINTK
 /*
  * Macro to print the value of register \xb
  *
@@ -111,43 +88,11 @@
 .endm
 
 #else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
 .macro print_reg xb
 .endm
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register (64 bit wide)
- * @sym: name of the symbol
- */
-.macro  adr_l, dst, sym
-        adrp \dst, \sym
-        add  \dst, \dst, :lo12:\sym
-.endm
-
-/* Load the physical address of a symbol into xb */
-.macro load_paddr xb, sym
-        ldr \xb, =\sym
-        add \xb, \xb, x20
-.endm
-
-/*
- * Flush local TLBs
- *
- * See asm/arm64/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local
-        dsb   nshst
-        tlbi  alle2
-        dsb   nsh
-        isb
-.endm
-
 .section .text.header, "ax", %progbits
 /*.aarch64*/
 
@@ -484,402 +429,6 @@ cpu_init:
         ret
 ENDPROC(cpu_init)
 
-/*
- * Macro to find the slot number at a given page-table level
- *
- * slot:     slot computed
- * virt:     virtual address
- * lvl:      page-table level
- */
-.macro get_table_slot, slot, virt, lvl
-        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- *
- * Preserves \virt
- * Clobbers \tbl, \tmp1, \tmp2
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
-        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
-
-        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
-        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
-
-        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
-
-        str   \tmp2, [\tbl, \tmp1, lsl #3]
-.endm
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- *
- * Preserves \virt
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Also use x20 for the phys offset.
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
-        load_paddr \tmp1, \tbl
-        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
-.endm
-
-/*
- * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:    table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address (should be page aligned)
- * tmp1:    scratch register
- * tmp2:    scratch register
- * tmp3:    scratch register
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers \tmp1, \tmp2, \tmp3
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
-        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
-
-        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
-
-        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
-        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
-
-        adr_l \tmp3, \ptbl
-
-        str   \tmp2, [\tmp3, \tmp1, lsl #3]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   x19: paddr(start)
- *   x20: phys offset
- *
- * Clobbers x0 - x4
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        ldr   x0, =XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
-        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        load_paddr x4, boot_third
-        ldr   x1, =XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   x0, x4                            /* x0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
-        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
-        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        ldr   x0, =_start            /* x0 := vaddr(_start) */
-        ldr   x1, =_end              /* x1 := vaddr(_end) */
-        sub   x0, x1, x0             /* x0 := effective size of Xen */
-        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
-        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
-
-        /* Map Xen */
-        adr_l x4, boot_third
-
-        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   x2, x2, #THIRD_SHIFT
-        mov   x3, #PT_MEM_L3         /* x2 := Section map */
-        orr   x2, x2, x3
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   x1, xzr
-1:      str   x2, [x4, x1]           /* Map vaddr(start) */
-        add   x2, x2, #PAGE_SIZE     /* Next page */
-        add   x1, x1, #8             /* Next slot */
-        cmp   x1, x0                 /* Loop until we map all of Xen */
-        b.lt  1b
-
-        /*
-         * If Xen is loaded at exactly XEN_VIRT_START then we don't
-         * need an additional 1:1 mapping, the virtual mapping will
-         * suffice.
-         */
-        ldr   x0, =XEN_VIRT_START
-        cmp   x19, x0
-        bne   1f
-        ret
-1:
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-
-        /*
-         * Find the zeroeth slot used. If the slot is not
-         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
-         * page-tables from the first level.
-         */
-        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
-        cmp   x0, #XEN_ZEROETH_SLOT
-        beq   1f
-        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
-        b     link_from_first_id
-
-1:
-        /*
-         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
-         * then the 1:1 mapping will use its own set of page-tables from
-         * the second level.
-         */
-        get_table_slot x0, x19, 1      /* x0 := first slot */
-        cmp   x0, #XEN_FIRST_SLOT
-        beq   1f
-        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
-        b     link_from_second_id
-
-1:
-        /*
-         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
-         * 1:1 mapping will use its own set of page-tables from the
-         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
-         * it.
-         */
-        get_table_slot x0, x19, 2     /* x0 := second slot */
-        cmp   x0, #XEN_SECOND_SLOT
-        beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
-        b     link_from_third_id
-
-link_from_first_id:
-        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
-link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
-link_from_third_id:
-        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
-        ret
-
-virtphys_clash:
-        /* Identity map clashes with boot_third, which we cannot handle yet */
-        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
-        b     fail
-ENDPROC(create_page_tables)
-
-/*
- * Turn on the Data Cache and the MMU. The function will return on the 1:1
- * mapping. In other word, the caller is responsible to switch to the runtime
- * mapping.
- *
- * Inputs:
- *   x0 : Physical address of the page tables.
- *
- * Clobbers x0 - x4
- */
-enable_mmu:
-        mov   x4, x0
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local
-
-        /* Write Xen's PT's paddr into TTBR0_EL2 */
-        msr   TTBR0_EL2, x4
-        isb
-
-        mrs   x0, SCTLR_EL2
-        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
-        dsb   sy                     /* Flush PTE writes and finish reads */
-        msr   SCTLR_EL2, x0          /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-        ret
-ENDPROC(enable_mmu)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_secondary_cpu_mm:
-        mov   x5, lr
-
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-
-        bl    enable_mmu
-        mov   lr, x5
-
-        /* Return to the virtual address requested by the caller. */
-        ret
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   lr : Virtual address to return to.
- *
- * Clobbers x0 - x5
- */
-enable_boot_cpu_mm:
-        mov   x5, lr
-
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-
-        bl    enable_mmu
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        ldr   x0, =1f
-        br    x0
-1:
-        mov   lr, x5
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to avoid
-         * having to worry about replacing existing mapping afterwards.
-         * Function will return to the virtual address requested by the caller.
-         */
-        b     remove_identity_mapping
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   x19: paddr(start)
- *
- * Clobbers x0 - x1
- */
-remove_identity_mapping:
-        /*
-         * Find the zeroeth slot used. Remove the entry from zeroeth
-         * table if the slot is not XEN_ZEROETH_SLOT.
-         */
-        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
-        cmp   x1, #XEN_ZEROETH_SLOT
-        beq   1f
-        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
-        ldr   x0, =boot_pgtable         /* x0 := root table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the first slot used. Remove the entry for the first
-         * table if the slot is not XEN_FIRST_SLOT.
-         */
-        get_table_slot x1, x19, 1       /* x1 := first slot */
-        cmp   x1, #XEN_FIRST_SLOT
-        beq   1f
-        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
-        ldr   x0, =boot_first           /* x0 := first table */
-        str   xzr, [x0, x1, lsl #3]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the second slot used. Remove the entry for the first
-         * table if the slot is not XEN_SECOND_SLOT.
-         */
-        get_table_slot x1, x19, 2       /* x1 := second slot */
-        cmp   x1, #XEN_SECOND_SLOT
-        beq   identity_mapping_removed
-        /* It is not in slot 1, remove the entry */
-        ldr   x0, =boot_second          /* x0 := second table */
-        str   xzr, [x0, x1, lsl #3]
-
-identity_mapping_removed:
-        flush_xen_tlb_local
-
-        ret
-ENDPROC(remove_identity_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-setup_fixmap:
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -908,45 +457,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- *
- * x0    ttbr
- */
-ENTRY(switch_ttbr_id)
-        /* 1) Ensure any previous read/write have completed */
-        dsb    ish
-        isb
-
-        /* 2) Turn off MMU */
-        mrs    x1, SCTLR_EL2
-        bic    x1, x1, #SCTLR_Axx_ELx_M
-        msr    SCTLR_EL2, x1
-        isb
-
-        /* 3) Flush the TLBs */
-        flush_xen_tlb_local
-
-        /* 4) Update the TTBR */
-        msr   TTBR0_EL2, x0
-        isb
-
-        /*
-         * 5) Flush I-cache
-         * This should not be necessary but it is kept for safety.
-         */
-        ic     iallu
-        isb
-
-        /* 6) Turn on the MMU */
-        mrs   x1, SCTLR_EL2
-        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
-        msr   SCTLR_EL2, x1
-        isb
-
-        ret
-ENDPROC(switch_ttbr_id)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
new file mode 100644
index 0000000000..d71fdc69a5
--- /dev/null
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -0,0 +1,488 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm64/mmu/head.S
+ *
+ * Arm64 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_ZEROETH_SLOT    zeroeth_table_offset(XEN_VIRT_START)
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/*
+ * Flush local TLBs
+ *
+ * See asm/arm64/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Macro to find the slot number at a given page-table level
+ *
+ * slot:     slot computed
+ * virt:     virtual address
+ * lvl:      page-table level
+ */
+.macro get_table_slot, slot, virt, lvl
+        ubfx  \slot, \virt, #XEN_PT_LEVEL_SHIFT(\lvl), #XEN_PT_LPAE_SHIFT
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tbl, \tmp1, \tmp2
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl, tmp1, tmp2
+        get_table_slot \tmp1, \virt, \lvl   /* \tmp1 := slot in \tbl */
+
+        mov   \tmp2, #PT_PT                 /* \tmp2 := right for linear PT */
+        orr   \tmp2, \tmp2, \tbl            /*          + \tbl */
+
+        adr_l \tbl, \ptbl                   /* \tbl := address(\ptbl) */
+
+        str   \tmp2, [\tbl, \tmp1, lsl #3]
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ *
+ * Preserves \virt
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Also use x20 for the phys offset.
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl, tmp1, tmp2, tmp3
+        load_paddr \tmp1, \tbl
+        create_table_entry_from_paddr \ptbl, \tmp1, \virt, \lvl, \tmp2, \tmp3
+.endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:    table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address (should be page aligned)
+ * tmp1:    scratch register
+ * tmp2:    scratch register
+ * tmp3:    scratch register
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers \tmp1, \tmp2, \tmp3
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro create_mapping_entry, ptbl, virt, phys, tmp1, tmp2, tmp3, type=PT_MEM_L3
+        and   \tmp3, \phys, #THIRD_MASK     /* \tmp3 := PAGE_ALIGNED(phys) */
+
+        get_table_slot \tmp1, \virt, 3      /* \tmp1 := slot in \tlb */
+
+        mov   \tmp2, #\type                 /* \tmp2 := right for section PT */
+        orr   \tmp2, \tmp2, \tmp3           /*          + PAGE_ALIGNED(phys) */
+
+        adr_l \tmp3, \ptbl
+
+        str   \tmp2, [\tmp3, \tmp1, lsl #3]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *   x20: phys offset
+ *
+ * Clobbers x0 - x4
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        ldr   x0, =XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_first, x0, 0, x1, x2, x3
+        create_table_entry boot_first, boot_second, x0, 1, x1, x2, x3
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        load_paddr x4, boot_third
+        ldr   x1, =XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   x0, x4                            /* x0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, x0, x1, 2, x2, x3
+        add   x1, x1, #XEN_PT_LEVEL_SIZE(2)     /* x1 := Next vaddr */
+        add   x4, x4, #PAGE_SIZE                /* x4 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        ldr   x0, =_start            /* x0 := vaddr(_start) */
+        ldr   x1, =_end              /* x1 := vaddr(_end) */
+        sub   x0, x1, x0             /* x0 := effective size of Xen */
+        lsr   x0, x0, #PAGE_SHIFT    /* x0 := Number of pages for Xen */
+        lsl   x0, x0, #3             /* x0 := Number of pages * PTE size */
+
+        /* Map Xen */
+        adr_l x4, boot_third
+
+        lsr   x2, x19, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   x2, x2, #THIRD_SHIFT
+        mov   x3, #PT_MEM_L3         /* x2 := Section map */
+        orr   x2, x2, x3
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   x1, xzr
+1:      str   x2, [x4, x1]           /* Map vaddr(start) */
+        add   x2, x2, #PAGE_SIZE     /* Next page */
+        add   x1, x1, #8             /* Next slot */
+        cmp   x1, x0                 /* Loop until we map all of Xen */
+        b.lt  1b
+
+        /*
+         * If Xen is loaded at exactly XEN_VIRT_START then we don't
+         * need an additional 1:1 mapping, the virtual mapping will
+         * suffice.
+         */
+        ldr   x0, =XEN_VIRT_START
+        cmp   x19, x0
+        bne   1f
+        ret
+1:
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+
+        /*
+         * Find the zeroeth slot used. If the slot is not
+         * XEN_ZEROETH_SLOT, then the 1:1 mapping will use its own set of
+         * page-tables from the first level.
+         */
+        get_table_slot x0, x19, 0       /* x0 := zeroeth slot */
+        cmp   x0, #XEN_ZEROETH_SLOT
+        beq   1f
+        create_table_entry boot_pgtable, boot_first_id, x19, 0, x0, x1, x2
+        b     link_from_first_id
+
+1:
+        /*
+         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
+         * then the 1:1 mapping will use its own set of page-tables from
+         * the second level.
+         */
+        get_table_slot x0, x19, 1      /* x0 := first slot */
+        cmp   x0, #XEN_FIRST_SLOT
+        beq   1f
+        create_table_entry boot_first, boot_second_id, x19, 1, x0, x1, x2
+        b     link_from_second_id
+
+1:
+        /*
+         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
+         * 1:1 mapping will use its own set of page-tables from the
+         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
+         * it.
+         */
+        get_table_slot x0, x19, 2     /* x0 := second slot */
+        cmp   x0, #XEN_SECOND_SLOT
+        beq   virtphys_clash
+        create_table_entry boot_second, boot_third_id, x19, 2, x0, x1, x2
+        b     link_from_third_id
+
+link_from_first_id:
+        create_table_entry boot_first_id, boot_second_id, x19, 1, x0, x1, x2
+link_from_second_id:
+        create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
+link_from_third_id:
+        create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+        ret
+
+virtphys_clash:
+        /* Identity map clashes with boot_third, which we cannot handle yet */
+        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
+        b     fail
+ENDPROC(create_page_tables)
+
+/*
+ * Turn on the Data Cache and the MMU. The function will return on the 1:1
+ * mapping. In other word, the caller is responsible to switch to the runtime
+ * mapping.
+ *
+ * Inputs:
+ *   x0 : Physical address of the page tables.
+ *
+ * Clobbers x0 - x4
+ */
+enable_mmu:
+        mov   x4, x0
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local
+
+        /* Write Xen's PT's paddr into TTBR0_EL2 */
+        msr   TTBR0_EL2, x4
+        isb
+
+        mrs   x0, SCTLR_EL2
+        orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
+        dsb   sy                     /* Flush PTE writes and finish reads */
+        msr   SCTLR_EL2, x0          /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+        ret
+ENDPROC(enable_mmu)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* Return to the virtual address requested by the caller. */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards. Function will return to primary_switched.
+         */
+        b     remove_identity_mapping
+
+        /*
+         * Below is supposed to be unreachable code, as "ret" in
+         * remove_identity_mapping will use the return address in LR in advance.
+         */
+        b     fail
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   x19: paddr(start)
+ *
+ * Clobbers x0 - x1
+ */
+remove_identity_mapping:
+        /*
+         * Find the zeroeth slot used. Remove the entry from zeroeth
+         * table if the slot is not XEN_ZEROETH_SLOT.
+         */
+        get_table_slot x1, x19, 0       /* x1 := zeroeth slot */
+        cmp   x1, #XEN_ZEROETH_SLOT
+        beq   1f
+        /* It is not in slot XEN_ZEROETH_SLOT, remove the entry. */
+        ldr   x0, =boot_pgtable         /* x0 := root table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the first slot used. Remove the entry for the first
+         * table if the slot is not XEN_FIRST_SLOT.
+         */
+        get_table_slot x1, x19, 1       /* x1 := first slot */
+        cmp   x1, #XEN_FIRST_SLOT
+        beq   1f
+        /* It is not in slot XEN_FIRST_SLOT, remove the entry. */
+        ldr   x0, =boot_first           /* x0 := first table */
+        str   xzr, [x0, x1, lsl #3]
+        b     identity_mapping_removed
+
+1:
+        /*
+         * Find the second slot used. Remove the entry for the first
+         * table if the slot is not XEN_SECOND_SLOT.
+         */
+        get_table_slot x1, x19, 2       /* x1 := second slot */
+        cmp   x1, #XEN_SECOND_SLOT
+        beq   identity_mapping_removed
+        /* It is not in slot 1, remove the entry */
+        ldr   x0, =boot_second          /* x0 := second table */
+        str   xzr, [x0, x1, lsl #3]
+
+identity_mapping_removed:
+        flush_xen_tlb_local
+
+        ret
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   x20: Physical offset
+ *   x23: Early UART base physical address
+ *
+ * Clobbers x0 - x3
+ */
+ENTRY(setup_fixmap)
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        ret
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ *
+ * x0    ttbr
+ */
+ENTRY(switch_ttbr_id)
+        /* 1) Ensure any previous read/write have completed */
+        dsb    ish
+        isb
+
+        /* 2) Turn off MMU */
+        mrs    x1, SCTLR_EL2
+        bic    x1, x1, #SCTLR_Axx_ELx_M
+        msr    SCTLR_EL2, x1
+        isb
+
+        /* 3) Flush the TLBs */
+        flush_xen_tlb_local
+
+        /* 4) Update the TTBR */
+        msr   TTBR0_EL2, x0
+        isb
+
+        /*
+         * 5) Flush I-cache
+         * This should not be necessary but it is kept for safety.
+         */
+        ic     iallu
+        isb
+
+        /* 6) Turn on the MMU */
+        mrs   x1, SCTLR_EL2
+        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        msr   SCTLR_EL2, x1
+        isb
+
+        ret
+ENDPROC(switch_ttbr_id)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
index 140e223b4c..99c401fcaf 100644
--- a/xen/arch/arm/include/asm/arm64/macros.h
+++ b/xen/arch/arm/include/asm/arm64/macros.h
@@ -32,6 +32,42 @@
         hint    #22
     .endm
 
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers x0 - x3
+ */
+#define PRINT(_s)          \
+        mov   x3, lr ;     \
+        adr_l x0, 98f ;    \
+        bl    asm_puts ;   \
+        mov   lr, x3 ;     \
+        RODATA_STR(98, _s)
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+#endif /* !CONFIG_EARLY_PRINTK */
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register (64 bit wide)
+ * @sym: name of the symbol
+ */
+.macro  adr_l, dst, sym
+        adrp \dst, \sym
+        add  \dst, \dst, :lo12:\sym
+.endm
+
+/* Load the physical address of a symbol into xb */
+.macro load_paddr xb, sym
+        ldr \xb, =\sym
+        add \xb, \xb, x20
+.endm
+
 /*
  * Register aliases.
  */
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index a3c90ca823..59b80d122f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -34,6 +34,7 @@ SECTIONS
        _stext = .;             /* Text section */
        _idmap_start = .;
        *(.text.header)
+       *(.text.idmap)
        _idmap_end = .;
 
        *(.text.cold)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591207.923582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7V-0000y5-9f; Mon, 28 Aug 2023 01:32:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591207.923582; Mon, 28 Aug 2023 01:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7V-0000xy-65; Mon, 28 Aug 2023 01:32:45 +0000
Received: by outflank-mailman (input) for mailman id 591207;
 Mon, 28 Aug 2023 01:32: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7U-0000xW-0J
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c6a5c786-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:32:40 +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 BD15C2F4;
 Sun, 27 Aug 2023 18:33:19 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 60AA53F740;
 Sun, 27 Aug 2023 18: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: c6a5c786-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 01/13] xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()
Date: Mon, 28 Aug 2023 09:32:12 +0800
Message-Id: <20230828013224.669433-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

At the moment, on MMU system, enable_mmu() will return to an
address in the 1:1 mapping, then each path is responsible to
switch to virtual runtime mapping. Then remove_identity_mapping()
is called on the boot CPU to remove all 1:1 mapping.

Since remove_identity_mapping() is not necessary on Non-MMU system,
and we also avoid creating empty function for Non-MMU system, trying
to keep only one codeflow in arm64/head.S, we move path switch and
remove_identity_mapping() in enable_mmu() on MMU system.

As the remove_identity_mapping should only be called for the boot
CPU only, so we introduce enable_boot_cpu_mm() for boot CPU and
enable_secondary_cpu_mm() for secondary CPUs in this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v6:
- Add Julien's Reviewed-by tag.
v5:
- Add missing "()" in title.
- Use more generic comment in enable_{boot,secondary}_cpu_mm() to
  mention function will return to the vaddr requested by the caller.
- Move 'mov lr, x5' closer to 'b remove_identity_mapping'.
- Drop the 'b fail' for unreachable code in enable_boot_cpu_mm().
v4:
- Clarify remove_identity_mapping() is called on boot CPU and keep
  the function/proc format consistent in commit msg.
- Drop inaccurate (due to the refactor) in-code comment.
- Rename enable_{boot,runtime}_mmu to enable_{boot,secondary}_cpu_mm.
- Reword the in-code comment on top of enable_{boot,secondary}_cpu_mm.
- Call "fail" for unreachable code.
v3:
- new patch
---
 xen/arch/arm/arm64/head.S | 83 ++++++++++++++++++++++++++++++---------
 1 file changed, 64 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 5029013a14..f25a41d36c 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -325,21 +325,11 @@ real_start_efi:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
-        load_paddr x0, boot_pgtable
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =primary_switched
-        br    x0
+        ldr   lr, =primary_switched
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
-         */
-        bl    remove_identity_mapping
         bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -384,13 +374,10 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        load_paddr x0, init_ttbr
-        ldr   x0, [x0]
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   x0, =secondary_switched
-        br    x0
+        ldr   lr, =secondary_switched
+        b     enable_secondary_cpu_mm
+
 secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -748,6 +735,64 @@ enable_mmu:
         ret
 ENDPROC(enable_mmu)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_secondary_cpu_mm:
+        mov   x5, lr
+
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
+
+        bl    enable_mmu
+        mov   lr, x5
+
+        /* Return to the virtual address requested by the caller. */
+        ret
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   lr : Virtual address to return to.
+ *
+ * Clobbers x0 - x5
+ */
+enable_boot_cpu_mm:
+        mov   x5, lr
+
+        bl    create_page_tables
+        load_paddr x0, boot_pgtable
+
+        bl    enable_mmu
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        ldr   x0, =1f
+        br    x0
+1:
+        mov   lr, x5
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to avoid
+         * having to worry about replacing existing mapping afterwards.
+         * Function will return to the virtual address requested by the caller.
+         */
+        b     remove_identity_mapping
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591208.923593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7X-0001EB-Hs; Mon, 28 Aug 2023 01:32:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591208.923593; Mon, 28 Aug 2023 01: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 1qaR7X-0001E1-Ed; Mon, 28 Aug 2023 01:32:47 +0000
Received: by outflank-mailman (input) for mailman id 591208;
 Mon, 28 Aug 2023 01:32: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7V-0000xW-S6
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:45 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c921712e-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:32:44 +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 DFDFD2F4;
 Sun, 27 Aug 2023 18:33:23 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 840BD3F740;
 Sun, 27 Aug 2023 18:32: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: c921712e-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 02/13] xen/arm: Introduce CONFIG_MMU Kconfig option
Date: Mon, 28 Aug 2023 09:32:13 +0800
Message-Id: <20230828013224.669433-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are two types of memory system architectures available for
Arm-based systems, namely the Virtual Memory System Architecture (VMSA)
and the Protected Memory System Architecture (PMSA). According to
ARM DDI 0487G.a, A VMSA provides a Memory Management Unit (MMU) that
controls address translation, access permissions, and memory attribute
determination and checking, for memory accesses made by the PE. And
refer to ARM DDI 0600A.c, the PMSA supports a unified memory protection
scheme where an Memory Protection Unit (MPU) manages instruction and
data access. Currently, Xen only supports VMSA.

Introduce a Kconfig option CONFIG_MMU, which is currently default
set to y and unselectable because currently only VMSA is supported.
CONFIG_MMU will be used in follow-up patches.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v6:
- Correct typo in commit message, explicitly mention CONFIG_MMU will be
  used in follow-up patches.
- Add Julien's Acked-by tag.
v5:
- Only introduce the unselectable CONFIG_MMU, add the 'choice' in
  future commits.
v4:
- Completely rework "[v3,06/52] xen/arm: introduce CONFIG_HAS_MMU"
---
 xen/arch/arm/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 57bd1d01d7..eb0413336b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -59,6 +59,9 @@ config PADDR_BITS
 	default 40 if ARM_PA_BITS_40
 	default 48 if ARM_64
 
+config MMU
+	def_bool y
+
 source "arch/Kconfig"
 
 config ACPI
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591211.923613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7g-0001qe-8y; Mon, 28 Aug 2023 01:32:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591211.923613; Mon, 28 Aug 2023 01:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7g-0001qV-3x; Mon, 28 Aug 2023 01:32:56 +0000
Received: by outflank-mailman (input) for mailman id 591211;
 Mon, 28 Aug 2023 01:32: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7f-0000xW-5W
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ce5967b2-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:32: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 AB85B143D;
 Sun, 27 Aug 2023 18:33:32 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4F4E73F740;
 Sun, 27 Aug 2023 18: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: ce5967b2-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 04/13] xen/arm: Move MMU related definitions from config.h to mmu/layout.h
Date: Mon, 28 Aug 2023 09:32:15 +0800
Message-Id: <20230828013224.669433-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Xen defines some global configuration macros for Arm in config.h.
However there are some address layout related definitions that are
defined for MMU systems only, and these definitions could not be
used by MPU systems. Adding ifdefs to differentiate the MPU from MMU
layout will result in a messy and hard-to-read/maintain code.

So move all memory layout definitions to a new file, i.e. mmu/layout.h
to avoid spreading "#ifdef" everywhere.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v6:
- No change.
v5:
- Rework commit message.
- Add Reviewed-by tag from Julien
v4:
- Rebase on top of latest staging to pick the recent UBSAN change
  to the layout.
- Use #ifdef CONFIG_HAS_MMU instead of #ifndef CONFIG_HAS_MPU, add
  a #else case.
- Rework commit message.
v3:
- name the new header layout.h
v2:
- Remove duplicated FIXMAP definitions from config_mmu.h
---
 xen/arch/arm/include/asm/config.h     | 132 +----------------------
 xen/arch/arm/include/asm/mmu/layout.h | 146 ++++++++++++++++++++++++++
 2 files changed, 149 insertions(+), 129 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/layout.h

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 83cbf6b0cb..e1dcec4dd7 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -71,136 +71,10 @@
 #include <xen/const.h>
 #include <xen/page-size.h>
 
-/*
- * ARM32 layout:
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
- * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
- *                    space
- *
- *   1G -   2G   Xenheap: always-mapped memory
- *   2G -   4G   Domheap: on-demand-mapped
- *
- * ARM64 layout:
- * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
- *
- *  Reserved to identity map Xen
- *
- * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
- *  (Relative offsets)
- *   0  -   2M   Unmapped
- *   2M -  10M   Xen text, data, bss
- *  10M -  12M   Fixmap: special-purpose 4K mapping slots
- *  12M -  16M   Early boot mapping of FDT
- *  16M -  18M   Livepatch vmap (if compiled in)
- *
- *   1G -   2G   VMAP: ioremap and early_ioremap
- *
- *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
- *
- * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
- *  Unused
- *
- * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
- *  1:1 mapping of RAM
- *
- * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
- *  Unused
- */
-
-#ifdef CONFIG_ARM_32
-#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#ifdef CONFIG_MMU
+#include <asm/mmu/layout.h>
 #else
-
-#define SLOT0_ENTRY_BITS  39
-#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
-#define SLOT0_ENTRY_SIZE  SLOT0(1)
-
-#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
-#endif
-
-/*
- * Reserve enough space so both UBSAN and GCOV can be enabled together
- * plus some slack for future growth.
- */
-#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
-#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
-
-#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
-#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
-
-#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
-
-#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
-#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
-
-#ifdef CONFIG_LIVEPATCH
-#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
-#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
-#endif
-
-#define HYPERVISOR_VIRT_START  XEN_VIRT_START
-
-#ifdef CONFIG_ARM_32
-
-#define CONFIG_SEPARATE_XENHEAP 1
-
-#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
-#define FRAMETABLE_SIZE        MB(128-32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
-#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
-
-#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
-#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
-
-#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
-#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
-
-#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
-
-/* Number of domheap pagetable pages required at the second level (2MB mappings) */
-#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
-
-/*
- * The temporary area is overlapping with the domheap area. This may
- * be used to create an alias of the first slot containing Xen mappings
- * when turning on/off the MMU.
- */
-#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
-
-/* Calculate the address in the temporary area */
-#define TEMPORARY_AREA_ADDR(addr)                           \
-     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
-      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
-
-#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
-
-#else /* ARM_64 */
-
-#define IDENTITY_MAPPING_AREA_NR_L0  4
-
-#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
-#define VMAP_VIRT_SIZE   GB(1)
-
-#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
-#define FRAMETABLE_SIZE        GB(32)
-#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
-
-#define DIRECTMAP_VIRT_START   SLOT0(256)
-#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
-#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
-
-#define XENHEAP_VIRT_START     directmap_virt_start
-
-#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
-
+# error "Unknown memory management layout"
 #endif
 
 #define NR_hypercalls 64
diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
new file mode 100644
index 0000000000..da6be276ac
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/layout.h
@@ -0,0 +1,146 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MMU_LAYOUT_H__
+#define __ARM_MMU_LAYOUT_H__
+
+/*
+ * ARM32 layout:
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
+ * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
+ *                    space
+ *
+ *   1G -   2G   Xenheap: always-mapped memory
+ *   2G -   4G   Domheap: on-demand-mapped
+ *
+ * ARM64 layout:
+ * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ *
+ *  Reserved to identity map Xen
+ *
+ * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
+ *  (Relative offsets)
+ *   0  -   2M   Unmapped
+ *   2M -  10M   Xen text, data, bss
+ *  10M -  12M   Fixmap: special-purpose 4K mapping slots
+ *  12M -  16M   Early boot mapping of FDT
+ *  16M -  18M   Livepatch vmap (if compiled in)
+ *
+ *   1G -   2G   VMAP: ioremap and early_ioremap
+ *
+ *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
+ *
+ * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
+ *  Unused
+ *
+ * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
+ *  1:1 mapping of RAM
+ *
+ * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
+ *  Unused
+ */
+
+#ifdef CONFIG_ARM_32
+#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#else
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+
+#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
+#endif
+
+/*
+ * Reserve enough space so both UBSAN and GCOV can be enabled together
+ * plus some slack for future growth.
+ */
+#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(8))
+#define XEN_NR_ENTRIES(lvl)     (XEN_VIRT_SIZE / XEN_PT_LEVEL_SIZE(lvl))
+
+#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
+#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
+
+#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
+
+#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
+#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
+
+#ifdef CONFIG_LIVEPATCH
+#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
+#define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
+#endif
+
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
+#ifdef CONFIG_ARM_32
+
+#define CONFIG_SEPARATE_XENHEAP 1
+
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
+#define FRAMETABLE_SIZE        MB(128-32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
+#define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
+
+#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
+#define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
+
+#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
+#define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
+
+#define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
+
+/* Number of domheap pagetable pages required at the second level (2MB mappings) */
+#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
+
+/*
+ * The temporary area is overlapping with the domheap area. This may
+ * be used to create an alias of the first slot containing Xen mappings
+ * when turning on/off the MMU.
+ */
+#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
+
+/* Calculate the address in the temporary area */
+#define TEMPORARY_AREA_ADDR(addr)                           \
+     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
+      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
+
+#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
+
+#else /* ARM_64 */
+
+#define IDENTITY_MAPPING_AREA_NR_L0  4
+
+#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
+#define VMAP_VIRT_SIZE   GB(1)
+
+#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
+#define FRAMETABLE_SIZE        GB(32)
+#define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
+
+#define DIRECTMAP_VIRT_START   SLOT0(256)
+#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
+#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
+
+#define XENHEAP_VIRT_START     directmap_virt_start
+
+#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
+
+#endif
+
+#endif /* __ARM_MMU_LAYOUT_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:32:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:32:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591212.923623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7j-0002DF-Ik; Mon, 28 Aug 2023 01:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591212.923623; Mon, 28 Aug 2023 01: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 1qaR7j-0002Co-Du; Mon, 28 Aug 2023 01:32:59 +0000
Received: by outflank-mailman (input) for mailman id 591212;
 Mon, 28 Aug 2023 01:32: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7h-0000i9-W6
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:32:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d0d877ef-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:32: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 C96362F4;
 Sun, 27 Aug 2023 18:33:36 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6D8F23F740;
 Sun, 27 Aug 2023 18: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: d0d877ef-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 05/13] xen/arm64: Fold setup_fixmap() to create_page_tables()
Date: Mon, 28 Aug 2023 09:32:16 +0800
Message-Id: <20230828013224.669433-6-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The original assembly setup_fixmap() is actually doing two seperate
tasks, one is enabling the early UART when earlyprintk on, and the
other is to set up the fixmap (even when earlyprintk is off).

Per discussion in [1], since commit
9d267c049d92 ("xen/arm64: Rework the memory layout"), there is no
chance that the fixmap and the mapping of early UART will clash with
the 1:1 mapping. Therefore the mapping of both the fixmap and the
early UART can be moved to the end of create_pagetables().

[1] https://lore.kernel.org/xen-devel/78862bb8-fd7f-5a51-a7ae-3c5b5998ed80@xen.org/

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v6:
- Drop the "No functional change intended." sentence in commit msg.
- Add Julien's Reviewed-by tag.
v5:
- Refine the title and commit message.
- Drop the "not applied" in-code comment about the 1:1 mapping clash on
  top of create_page_tables().
- Drop the unnecessary dsb and isb from the original setup_fixmap().
v4:
- Rework "[v3,12/52] xen/mmu: extract early uart mapping from setup_fixmap"
---
 xen/arch/arm/arm64/head.S     |  1 -
 xen/arch/arm/arm64/mmu/head.S | 48 ++++++++---------------------------
 2 files changed, 10 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 3c8a12eda7..4ad85dcf58 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -275,7 +275,6 @@ real_start_efi:
         b     enable_boot_cpu_mm
 
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         ldr   x23, =EARLY_UART_VIRTUAL_ADDRESS
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index d71fdc69a5..a5271e3880 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -126,11 +126,6 @@
  * Rebuild the boot pagetable's first-level entries. The structure
  * is described in mm.c.
  *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
  * Inputs:
  *   x19: paddr(start)
  *   x20: phys offset
@@ -243,6 +238,16 @@ link_from_second_id:
         create_table_entry boot_second_id, boot_third_id, x19, 2, x0, x1, x2
 link_from_third_id:
         create_mapping_entry boot_third_id, x19, x19, x0, x1, x2
+
+#ifdef CONFIG_EARLY_PRINTK
+        /* Add UART to the fixmap table */
+        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
+        /* x23: Early UART base physical address */
+        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
+#endif
+        /* Map fixmap into boot_second */
+        ldr   x0, =FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
         ret
 
 virtphys_clash:
@@ -402,39 +407,6 @@ identity_mapping_removed:
         ret
 ENDPROC(remove_identity_mapping)
 
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   x20: Physical offset
- *   x23: Early UART base physical address
- *
- * Clobbers x0 - x3
- */
-ENTRY(setup_fixmap)
-#ifdef CONFIG_EARLY_PRINTK
-        /* Add UART to the fixmap table */
-        ldr   x0, =EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, x0, x23, x1, x2, x3, type=PT_DEV_L3
-#endif
-        /* Map fixmap into boot_second */
-        ldr   x0, =FIXMAP_ADDR(0)
-        create_table_entry boot_second, xen_fixmap, x0, 2, x1, x2, x3
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        ret
-ENDPROC(setup_fixmap)
-
 /* Fail-stop */
 fail:   PRINT("- Boot failed -\r\n")
 1:      wfe
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:33:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591217.923633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7p-0002na-TM; Mon, 28 Aug 2023 01:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591217.923633; Mon, 28 Aug 2023 01:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7p-0002nR-Mh; Mon, 28 Aug 2023 01:33:05 +0000
Received: by outflank-mailman (input) for mailman id 591217;
 Mon, 28 Aug 2023 01:33:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7o-0000i9-Is
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d3475d85-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:33: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 029712F4;
 Sun, 27 Aug 2023 18:33:41 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9A84A3F740;
 Sun, 27 Aug 2023 18:32: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: d3475d85-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v6 06/13] xen/arm: Split page table related code to mmu/pt.c
Date: Mon, 28 Aug 2023 09:32:17 +0800
Message-Id: <20230828013224.669433-7-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The extraction of MMU related code is the basis of MPU support.
This commit starts this work by firstly splitting the page table
related code to mmu/pt.c, so that we will not end up with again
massive mm.c files.

Introduce a mmu specific directory and setup the Makefiles for it.
Move the page table related functions and macros from arch/arm/mm.c
to arch/arm/mmu/pt.c. Expose the previously static global variable
"phys_offset".

While moving, mark pte_of_xenaddr() as __init to make clear that
this helper is only intended to be used during early boot.

Take the opportunity to fix the in-code comment coding styles when
possible, and drop the unnecessary #include headers in the original
arch/arm/mm.c.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v6:
- Rework the original patch "[v5,07/13] xen/arm: Extract MMU-specific
  code", only split the page table related code out in this patch.
---
 xen/arch/arm/Makefile         |   1 +
 xen/arch/arm/include/asm/mm.h |   2 +
 xen/arch/arm/mm.c             | 726 +--------------------------------
 xen/arch/arm/mmu/Makefile     |   1 +
 xen/arch/arm/mmu/pt.c         | 743 ++++++++++++++++++++++++++++++++++
 5 files changed, 748 insertions(+), 725 deletions(-)
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/pt.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e9920..c45b08b31e 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
+obj-$(CONFIG_MMU) += mmu/
 obj-$(CONFIG_ACPI) += acpi/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index aaacba3f04..bf2fe26f9e 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -168,6 +168,8 @@ struct page_info
 /* Non-boot CPUs use this to find the correct pagetables. */
 extern uint64_t init_ttbr;
 
+extern paddr_t phys_offset;
+
 extern mfn_t directmap_mfn_start, directmap_mfn_end;
 extern vaddr_t directmap_virt_end;
 #ifdef CONFIG_ARM_64
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index c34cc94c90..b42814077c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -9,22 +9,14 @@
  */
 
 #include <xen/domain_page.h>
-#include <xen/errno.h>
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
-#include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/pfn.h>
-#include <xen/pmap.h>
-#include <xen/sched.h>
 #include <xen/sizes.h>
-#include <xen/types.h>
-#include <xen/vmap.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/fixmap.h>
 #include <asm/setup.h>
 
 #include <public/memory.h>
@@ -35,19 +27,6 @@
 #undef mfn_to_virt
 #define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
 
-#ifdef NDEBUG
-static inline void
-__attribute__ ((__format__ (__printf__, 1, 2)))
-mm_printk(const char *fmt, ...) {}
-#else
-#define mm_printk(fmt, args...)             \
-    do                                      \
-    {                                       \
-        dprintk(XENLOG_ERR, fmt, ## args);  \
-        WARN();                             \
-    } while (0)
-#endif
-
 /* Static start-of-day pagetables that we use before the allocators
  * are up. These are used by all CPUs during bringup before switching
  * to the CPUs own pagetables.
@@ -92,12 +71,10 @@ DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
  */
 
 #ifdef CONFIG_ARM_64
-#define HYP_PT_ROOT_LEVEL 0
 DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
 #define THIS_CPU_PGTABLE xen_pgtable
 #else
-#define HYP_PT_ROOT_LEVEL 1
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 DEFINE_PER_CPU(lpae_t *, xen_pgtable);
@@ -120,7 +97,7 @@ static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
 /* Non-boot CPUs use this to find the correct pagetables. */
 uint64_t init_ttbr;
 
-static paddr_t phys_offset;
+paddr_t phys_offset;
 
 /* Limits of the Xen heap */
 mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
@@ -200,179 +177,6 @@ static void __init __maybe_unused build_assertions(void)
 #undef CHECK_DIFFERENT_SLOT
 }
 
-static lpae_t *xen_map_table(mfn_t mfn)
-{
-    /*
-     * During early boot, map_domain_page() may be unusable. Use the
-     * PMAP to map temporarily a page-table.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        return pmap_map(mfn);
-
-    return map_domain_page(mfn);
-}
-
-static void xen_unmap_table(const lpae_t *table)
-{
-    /*
-     * During early boot, xen_map_table() will not use map_domain_page()
-     * but the PMAP.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        pmap_unmap(table);
-    else
-        unmap_domain_page(table);
-}
-
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables)
-{
-    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
-    const mfn_t root_mfn = maddr_to_mfn(ttbr);
-    DECLARE_OFFSETS(offsets, addr);
-    lpae_t pte, *mapping;
-    unsigned int level, root_table;
-
-#ifdef CONFIG_ARM_32
-    BUG_ON(root_level < 1);
-#endif
-    BUG_ON(root_level > 3);
-
-    if ( nr_root_tables > 1 )
-    {
-        /*
-         * Concatenated root-level tables. The table number will be
-         * the offset at the previous level. It is not possible to
-         * concatenate a level-0 root.
-         */
-        BUG_ON(root_level == 0);
-        root_table = offsets[root_level - 1];
-        printk("Using concatenated root table %u\n", root_table);
-        if ( root_table >= nr_root_tables )
-        {
-            printk("Invalid root table offset\n");
-            return;
-        }
-    }
-    else
-        root_table = 0;
-
-    mapping = xen_map_table(mfn_add(root_mfn, root_table));
-
-    for ( level = root_level; ; level++ )
-    {
-        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
-            break;
-
-        pte = mapping[offsets[level]];
-
-        printk("%s[0x%03x] = 0x%"PRIx64"\n",
-               level_strs[level], offsets[level], pte.bits);
-
-        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-            break;
-
-        /* For next iteration */
-        xen_unmap_table(mapping);
-        mapping = xen_map_table(lpae_get_mfn(pte));
-    }
-
-    xen_unmap_table(mapping);
-}
-
-void dump_hyp_walk(vaddr_t addr)
-{
-    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-
-    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
-           "on CPU%d via TTBR 0x%016"PRIx64"\n",
-           addr, smp_processor_id(), ttbr);
-
-    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
-}
-
-lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
-{
-    lpae_t e = (lpae_t) {
-        .pt = {
-            .valid = 1,           /* Mappings are present */
-            .table = 0,           /* Set to 1 for links and 4k maps */
-            .ai = attr,
-            .ns = 1,              /* Hyp mode is in the non-secure world */
-            .up = 1,              /* See below */
-            .ro = 0,              /* Assume read-write */
-            .af = 1,              /* No need for access tracking */
-            .ng = 1,              /* Makes TLB flushes easier */
-            .contig = 0,          /* Assume non-contiguous */
-            .xn = 1,              /* No need to execute outside .text */
-            .avail = 0,           /* Reference count for domheap mapping */
-        }};
-    /*
-     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
-     * regime applies to only one exception level (see D4.4.4 and G4.6.1
-     * in ARM DDI 0487B.a). If this changes, remember to update the
-     * hard-coded values in head.S too.
-     */
-
-    switch ( attr )
-    {
-    case MT_NORMAL_NC:
-        /*
-         * ARM ARM: Overlaying the shareability attribute (DDI
-         * 0406C.b B3-1376 to 1377)
-         *
-         * A memory region with a resultant memory type attribute of Normal,
-         * and a resultant cacheability attribute of Inner Non-cacheable,
-         * Outer Non-cacheable, must have a resultant shareability attribute
-         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    case MT_DEVICE_nGnRnE:
-    case MT_DEVICE_nGnRE:
-        /*
-         * Shareability is ignored for non-Normal memory, Outer is as
-         * good as anything.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for any device memory type.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    default:
-        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
-        break;
-    }
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Map a 4k page in a fixmap entry */
-void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
-{
-    int res;
-
-    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
-    BUG_ON(res != 0);
-}
-
-/* Remove a mapping from a fixmap entry */
-void clear_fixmap(unsigned int map)
-{
-    int res;
-
-    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
-    BUG_ON(res != 0);
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -392,13 +196,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-lpae_t pte_of_xenaddr(vaddr_t va)
-{
-    paddr_t ma = va + phys_offset;
-
-    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
-}
-
 void * __init early_fdt_map(paddr_t fdt_paddr)
 {
     /* We are using 2MB superpage for mapping the FDT */
@@ -733,527 +530,6 @@ void *__init arch_vmap_virt_end(void)
     return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
 }
 
-/*
- * This function should only be used to remap device address ranges
- * TODO: add a check to verify this assumption
- */
-void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
-{
-    mfn_t mfn = _mfn(PFN_DOWN(start));
-    unsigned int offs = start & (PAGE_SIZE - 1);
-    unsigned int nr = PFN_UP(offs + len);
-    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
-
-    if ( ptr == NULL )
-        return NULL;
-
-    return ptr + offs;
-}
-
-void *ioremap(paddr_t pa, size_t len)
-{
-    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
-}
-
-static int create_xen_table(lpae_t *entry)
-{
-    mfn_t mfn;
-    void *p;
-    lpae_t pte;
-
-    if ( system_state != SYS_STATE_early_boot )
-    {
-        struct page_info *pg = alloc_domheap_page(NULL, 0);
-
-        if ( pg == NULL )
-            return -ENOMEM;
-
-        mfn = page_to_mfn(pg);
-    }
-    else
-        mfn = alloc_boot_pages(1, 1);
-
-    p = xen_map_table(mfn);
-    clear_page(p);
-    xen_unmap_table(p);
-
-    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
-    pte.pt.table = 1;
-    write_pte(entry, pte);
-    /*
-     * No ISB here. It is deferred to xen_pt_update() as the new table
-     * will not be used for hardware translation table access as part of
-     * the mapping update.
-     */
-
-    return 0;
-}
-
-#define XEN_TABLE_MAP_FAILED 0
-#define XEN_TABLE_SUPER_PAGE 1
-#define XEN_TABLE_NORMAL_PAGE 2
-
-/*
- * Take the currently mapped table, find the corresponding entry,
- * and map the next table, if available.
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
- *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int xen_pt_next_level(bool read_only, unsigned int level,
-                             lpae_t **table, unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !lpae_is_valid(*entry) )
-    {
-        if ( read_only )
-            return XEN_TABLE_MAP_FAILED;
-
-        ret = create_xen_table(entry);
-        if ( ret )
-            return XEN_TABLE_MAP_FAILED;
-    }
-
-    /* The function xen_pt_next_level is never called at the 3rd level */
-    if ( lpae_is_mapping(*entry, level) )
-        return XEN_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    xen_unmap_table(*table);
-    *table = xen_map_table(mfn);
-
-    return XEN_TABLE_NORMAL_PAGE;
-}
-
-/* Sanity check of the entry */
-static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
-                               unsigned int flags)
-{
-    /* Sanity check when modifying an entry. */
-    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
-    {
-        /* We don't allow modifying an invalid entry. */
-        if ( !lpae_is_valid(entry) )
-        {
-            mm_printk("Modifying invalid entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow modifying a table entry */
-        if ( !lpae_is_mapping(entry, level) )
-        {
-            mm_printk("Modifying a table entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow changing memory attributes. */
-        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
-        {
-            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
-                      entry.pt.ai, PAGE_AI_MASK(flags));
-            return false;
-        }
-
-        /* We don't allow modifying entry with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when inserting a mapping */
-    else if ( flags & _PAGE_PRESENT )
-    {
-        /* We should be here with a valid MFN. */
-        ASSERT(!mfn_eq(mfn, INVALID_MFN));
-
-        /*
-         * We don't allow replacing any valid entry.
-         *
-         * Note that the function xen_pt_update() relies on this
-         * assumption and will skip the TLB flush. The function will need
-         * to be updated if the check is relaxed.
-         */
-        if ( lpae_is_valid(entry) )
-        {
-            if ( lpae_is_mapping(entry, level) )
-                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
-                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
-            else
-                mm_printk("Trying to replace a table with a mapping.\n");
-            return false;
-        }
-    }
-    /* Sanity check when removing a mapping. */
-    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
-    {
-        /* We should be here with an invalid MFN. */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-
-        /* We don't allow removing a table */
-        if ( lpae_is_table(entry, level) )
-        {
-            mm_printk("Removing a table is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow removing a mapping with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when populating the page-table. No check so far. */
-    else
-    {
-        ASSERT(flags & _PAGE_POPULATE);
-        /* We should be here with an invalid MFN */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-    }
-
-    return true;
-}
-
-/* Update an entry at the level @target. */
-static int xen_pt_update_entry(mfn_t root, unsigned long virt,
-                               mfn_t mfn, unsigned int target,
-                               unsigned int flags)
-{
-    int rc;
-    unsigned int level;
-    lpae_t *table;
-    /*
-     * The intermediate page tables are read-only when the MFN is not valid
-     * and we are not populating page table.
-     * This means we either modify permissions or remove an entry.
-     */
-    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
-    lpae_t pte, *entry;
-
-    /* convenience aliases */
-    DECLARE_OFFSETS(offsets, (paddr_t)virt);
-
-    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
-    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
-
-    table = xen_map_table(root);
-    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
-    {
-        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
-        if ( rc == XEN_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because xen_pt_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and the pt is read-only). It is a valid case when
-             * removing a mapping as it may not exist in the page table.
-             * In this case, just ignore it.
-             */
-            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
-            {
-                mm_printk("%s: Unable to map level %u\n", __func__, level);
-                rc = -ENOENT;
-                goto out;
-            }
-            else
-            {
-                rc = 0;
-                goto out;
-            }
-        }
-        else if ( rc != XEN_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    if ( level != target )
-    {
-        mm_printk("%s: Shattering superpage is not supported\n", __func__);
-        rc = -EOPNOTSUPP;
-        goto out;
-    }
-
-    entry = table + offsets[level];
-
-    rc = -EINVAL;
-    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
-        goto out;
-
-    /* If we are only populating page-table, then we are done. */
-    rc = 0;
-    if ( flags & _PAGE_POPULATE )
-        goto out;
-
-    /* We are removing the page */
-    if ( !(flags & _PAGE_PRESENT) )
-        memset(&pte, 0x00, sizeof(pte));
-    else
-    {
-        /* We are inserting a mapping => Create new pte. */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
-
-            /*
-             * First and second level pages set pte.pt.table = 0, but
-             * third level entries set pte.pt.table = 1.
-             */
-            pte.pt.table = (level == 3);
-        }
-        else /* We are updating the permission => Copy the current pte. */
-            pte = *entry;
-
-        /* Set permission */
-        pte.pt.ro = PAGE_RO_MASK(flags);
-        pte.pt.xn = PAGE_XN_MASK(flags);
-        /* Set contiguous bit */
-        pte.pt.contig = !!(flags & _PAGE_CONTIG);
-    }
-
-    write_pte(entry, pte);
-    /*
-     * No ISB or TLB flush here. They are deferred to xen_pt_update()
-     * as the entry will not be used as part of the mapping update.
-     */
-
-    rc = 0;
-
-out:
-    xen_unmap_table(table);
-
-    return rc;
-}
-
-/* Return the level where mapping should be done */
-static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
-                                unsigned int flags)
-{
-    unsigned int level;
-    unsigned long mask;
-
-    /*
-      * Don't take into account the MFN when removing mapping (i.e
-      * MFN_INVALID) to calculate the correct target order.
-      *
-      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
-      * They are or-ed together and then checked against the size of
-      * each level.
-      *
-      * `left` is not included and checked separately to allow
-      * superpage mapping even if it is not properly aligned (the
-      * user may have asked to map 2MB + 4k).
-      */
-     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
-     mask |= vfn;
-
-     /*
-      * Always use level 3 mapping unless the caller request block
-      * mapping.
-      */
-     if ( likely(!(flags & _PAGE_BLOCK)) )
-         level = 3;
-     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
-               (nr >= BIT(FIRST_ORDER, UL)) )
-         level = 1;
-     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
-               (nr >= BIT(SECOND_ORDER, UL)) )
-         level = 2;
-     else
-         level = 3;
-
-     return level;
-}
-
-#define XEN_PT_4K_NR_CONTIG 16
-
-/*
- * Check whether the contiguous bit can be set. Return the number of
- * contiguous entry allowed. If not allowed, return 1.
- */
-static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
-                                        unsigned int level, unsigned long left,
-                                        unsigned int flags)
-{
-    unsigned long nr_contig;
-
-    /*
-     * Allow the contiguous bit to set when the caller requests block
-     * mapping.
-     */
-    if ( !(flags & _PAGE_BLOCK) )
-        return 1;
-
-    /*
-     * We don't allow to remove mapping with the contiguous bit set.
-     * So shortcut the logic and directly return 1.
-     */
-    if ( mfn_eq(mfn, INVALID_MFN) )
-        return 1;
-
-    /*
-     * The number of contiguous entries varies depending on the page
-     * granularity used. The logic below assumes 4KB.
-     */
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    /*
-     * In order to enable the contiguous bit, we should have enough entries
-     * to map left and both the virtual and physical address should be
-     * aligned to the size of 16 translation tables entries.
-     */
-    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
-
-    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
-        return 1;
-
-    return XEN_PT_4K_NR_CONTIG;
-}
-
-static DEFINE_SPINLOCK(xen_pt_lock);
-
-static int xen_pt_update(unsigned long virt,
-                         mfn_t mfn,
-                         /* const on purpose as it is used for TLB flush */
-                         const unsigned long nr_mfns,
-                         unsigned int flags)
-{
-    int rc = 0;
-    unsigned long vfn = virt >> PAGE_SHIFT;
-    unsigned long left = nr_mfns;
-
-    /*
-     * For arm32, page-tables are different on each CPUs. Yet, they share
-     * some common mappings. It is assumed that only common mappings
-     * will be modified with this function.
-     *
-     * XXX: Add a check.
-     */
-    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
-
-    /*
-     * The hardware was configured to forbid mapping both writeable and
-     * executable.
-     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
-     * prevent any update if this happen.
-     */
-    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
-         !PAGE_XN_MASK(flags) )
-    {
-        mm_printk("Mappings should not be both Writeable and Executable.\n");
-        return -EINVAL;
-    }
-
-    if ( flags & _PAGE_CONTIG )
-    {
-        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
-        return -EINVAL;
-    }
-
-    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
-    {
-        mm_printk("The virtual address is not aligned to the page-size.\n");
-        return -EINVAL;
-    }
-
-    spin_lock(&xen_pt_lock);
-
-    while ( left )
-    {
-        unsigned int order, level, nr_contig, new_flags;
-
-        level = xen_pt_mapping_level(vfn, mfn, left, flags);
-        order = XEN_PT_LEVEL_ORDER(level);
-
-        ASSERT(left >= BIT(order, UL));
-
-        /*
-         * Check if we can set the contiguous mapping and update the
-         * flags accordingly.
-         */
-        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
-        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
-
-        for ( ; nr_contig > 0; nr_contig-- )
-        {
-            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
-                                     new_flags);
-            if ( rc )
-                break;
-
-            vfn += 1U << order;
-            if ( !mfn_eq(mfn, INVALID_MFN) )
-                mfn = mfn_add(mfn, 1U << order);
-
-            left -= (1U << order);
-        }
-
-        if ( rc )
-            break;
-    }
-
-    /*
-     * The TLBs flush can be safely skipped when a mapping is inserted
-     * as we don't allow mapping replacement (see xen_pt_check_entry()).
-     * Although we still need an ISB to ensure any DSB in
-     * write_pte() will complete because the mapping may be used soon
-     * after.
-     *
-     * For all the other cases, the TLBs will be flushed unconditionally
-     * even if the mapping has failed. This is because we may have
-     * partially modified the PT. This will prevent any unexpected
-     * behavior afterwards.
-     */
-    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
-        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
-    else
-        isb();
-
-    spin_unlock(&xen_pt_lock);
-
-    return rc;
-}
-
-int map_pages_to_xen(unsigned long virt,
-                     mfn_t mfn,
-                     unsigned long nr_mfns,
-                     unsigned int flags)
-{
-    return xen_pt_update(virt, mfn, nr_mfns, flags);
-}
-
-int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
-{
-    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
-}
-
-int destroy_xen_mappings(unsigned long s, unsigned long e)
-{
-    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
-    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
-    ASSERT(s <= e);
-    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
-}
-
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
-{
-    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
-    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
-    ASSERT(s <= e);
-    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);
-}
-
 /* Release all __init and __initdata ranges to be reused */
 void free_init_memory(void)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
new file mode 100644
index 0000000000..bdfc2e077d
--- /dev/null
+++ b/xen/arch/arm/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += pt.o
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
new file mode 100644
index 0000000000..ffc322e5e7
--- /dev/null
+++ b/xen/arch/arm/mmu/pt.c
@@ -0,0 +1,743 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/pt.c
+ *
+ * MMU system page table related functions.
+ */
+
+#include <xen/domain_page.h>
+#include <xen/init.h>
+#include <xen/pfn.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/fixmap.h>
+
+#ifdef NDEBUG
+static inline void
+__attribute__ ((__format__ (__printf__, 1, 2)))
+mm_printk(const char *fmt, ...) {}
+#else
+#define mm_printk(fmt, args...)             \
+    do                                      \
+    {                                       \
+        dprintk(XENLOG_ERR, fmt, ## args);  \
+        WARN();                             \
+    } while (0)
+#endif
+
+#ifdef CONFIG_ARM_64
+#define HYP_PT_ROOT_LEVEL 0
+#else
+#define HYP_PT_ROOT_LEVEL 1
+#endif
+
+static lpae_t *xen_map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void xen_unmap_table(const lpae_t *table)
+{
+    /*
+     * During early boot, xen_map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables)
+{
+    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
+    const mfn_t root_mfn = maddr_to_mfn(ttbr);
+    DECLARE_OFFSETS(offsets, addr);
+    lpae_t pte, *mapping;
+    unsigned int level, root_table;
+
+#ifdef CONFIG_ARM_32
+    BUG_ON(root_level < 1);
+#endif
+    BUG_ON(root_level > 3);
+
+    if ( nr_root_tables > 1 )
+    {
+        /*
+         * Concatenated root-level tables. The table number will be
+         * the offset at the previous level. It is not possible to
+         * concatenate a level-0 root.
+         */
+        BUG_ON(root_level == 0);
+        root_table = offsets[root_level - 1];
+        printk("Using concatenated root table %u\n", root_table);
+        if ( root_table >= nr_root_tables )
+        {
+            printk("Invalid root table offset\n");
+            return;
+        }
+    }
+    else
+        root_table = 0;
+
+    mapping = xen_map_table(mfn_add(root_mfn, root_table));
+
+    for ( level = root_level; ; level++ )
+    {
+        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
+            break;
+
+        pte = mapping[offsets[level]];
+
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
+               level_strs[level], offsets[level], pte.bits);
+
+        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
+            break;
+
+        /* For next iteration */
+        xen_unmap_table(mapping);
+        mapping = xen_map_table(lpae_get_mfn(pte));
+    }
+
+    xen_unmap_table(mapping);
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
+
+    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
+           "on CPU%d via TTBR 0x%016"PRIx64"\n",
+           addr, smp_processor_id(), ttbr);
+
+    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
+}
+
+lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
+{
+    lpae_t e = (lpae_t) {
+        .pt = {
+            .valid = 1,           /* Mappings are present */
+            .table = 0,           /* Set to 1 for links and 4k maps */
+            .ai = attr,
+            .ns = 1,              /* Hyp mode is in the non-secure world */
+            .up = 1,              /* See below */
+            .ro = 0,              /* Assume read-write */
+            .af = 1,              /* No need for access tracking */
+            .ng = 1,              /* Makes TLB flushes easier */
+            .contig = 0,          /* Assume non-contiguous */
+            .xn = 1,              /* No need to execute outside .text */
+            .avail = 0,           /* Reference count for domheap mapping */
+        }};
+    /*
+     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
+     * regime applies to only one exception level (see D4.4.4 and G4.6.1
+     * in ARM DDI 0487B.a). If this changes, remember to update the
+     * hard-coded values in head.S too.
+     */
+
+    switch ( attr )
+    {
+    case MT_NORMAL_NC:
+        /*
+         * ARM ARM: Overlaying the shareability attribute (DDI
+         * 0406C.b B3-1376 to 1377)
+         *
+         * A memory region with a resultant memory type attribute of Normal,
+         * and a resultant cacheability attribute of Inner Non-cacheable,
+         * Outer Non-cacheable, must have a resultant shareability attribute
+         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    case MT_DEVICE_nGnRnE:
+    case MT_DEVICE_nGnRE:
+        /*
+         * Shareability is ignored for non-Normal memory, Outer is as
+         * good as anything.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for any device memory type.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    default:
+        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
+        break;
+    }
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Map a 4k page in a fixmap entry */
+void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
+{
+    int res;
+
+    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
+    BUG_ON(res != 0);
+}
+
+/* Remove a mapping from a fixmap entry */
+void clear_fixmap(unsigned int map)
+{
+    int res;
+
+    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
+    BUG_ON(res != 0);
+}
+
+lpae_t __init pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+
+    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
+}
+
+/*
+ * This function should only be used to remap device address ranges
+ * TODO: add a check to verify this assumption
+ */
+void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
+{
+    mfn_t mfn = _mfn(PFN_DOWN(start));
+    unsigned int offs = start & (PAGE_SIZE - 1);
+    unsigned int nr = PFN_UP(offs + len);
+    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
+
+    if ( ptr == NULL )
+        return NULL;
+
+    return ptr + offs;
+}
+
+void *ioremap(paddr_t pa, size_t len)
+{
+    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
+}
+
+static int create_xen_table(lpae_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    lpae_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = xen_map_table(mfn);
+    clear_page(p);
+    xen_unmap_table(p);
+
+    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
+    pte.pt.table = 1;
+    write_pte(entry, pte);
+    /*
+     * No ISB here. It is deferred to xen_pt_update() as the new table
+     * will not be used for hardware translation table access as part of
+     * the mapping update.
+     */
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL_PAGE 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int xen_pt_next_level(bool read_only, unsigned int level,
+                             lpae_t **table, unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !lpae_is_valid(*entry) )
+    {
+        if ( read_only )
+            return XEN_TABLE_MAP_FAILED;
+
+        ret = create_xen_table(entry);
+        if ( ret )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    /* The function xen_pt_next_level is never called at the 3rd level */
+    if ( lpae_is_mapping(*entry, level) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    xen_unmap_table(*table);
+    *table = xen_map_table(mfn);
+
+    return XEN_TABLE_NORMAL_PAGE;
+}
+
+/* Sanity check of the entry */
+static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
+                               unsigned int flags)
+{
+    /* Sanity check when modifying an entry. */
+    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !lpae_is_valid(entry) )
+        {
+            mm_printk("Modifying invalid entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( !lpae_is_mapping(entry, level) )
+        {
+            mm_printk("Modifying a table entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow changing memory attributes. */
+        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
+        {
+            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
+                      entry.pt.ai, PAGE_AI_MASK(flags));
+            return false;
+        }
+
+        /* We don't allow modifying entry with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & _PAGE_PRESENT )
+    {
+        /* We should be here with a valid MFN. */
+        ASSERT(!mfn_eq(mfn, INVALID_MFN));
+
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function xen_pt_update() relies on this
+         * assumption and will skip the TLB flush. The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( lpae_is_valid(entry) )
+        {
+            if ( lpae_is_mapping(entry, level) )
+                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
+                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
+            else
+                mm_printk("Trying to replace a table with a mapping.\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( lpae_is_table(entry, level) )
+        {
+            mm_printk("Removing a table is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow removing a mapping with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        ASSERT(flags & _PAGE_POPULATE);
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+/* Update an entry at the level @target. */
+static int xen_pt_update_entry(mfn_t root, unsigned long virt,
+                               mfn_t mfn, unsigned int target,
+                               unsigned int flags)
+{
+    int rc;
+    unsigned int level;
+    lpae_t *table;
+    /*
+     * The intermediate page tables are read-only when the MFN is not valid
+     * and we are not populating page table.
+     * This means we either modify permissions or remove an entry.
+     */
+    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
+    lpae_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, (paddr_t)virt);
+
+    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
+    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
+
+    table = xen_map_table(root);
+    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
+    {
+        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because xen_pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt is read-only). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
+            {
+                mm_printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOENT;
+                goto out;
+            }
+            else
+            {
+                rc = 0;
+                goto out;
+            }
+        }
+        else if ( rc != XEN_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    if ( level != target )
+    {
+        mm_printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
+        goto out;
+
+    /* If we are only populating page-table, then we are done. */
+    rc = 0;
+    if ( flags & _PAGE_POPULATE )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & _PAGE_PRESENT) )
+        memset(&pte, 0x00, sizeof(pte));
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
+
+            /*
+             * First and second level pages set pte.pt.table = 0, but
+             * third level entries set pte.pt.table = 1.
+             */
+            pte.pt.table = (level == 3);
+        }
+        else /* We are updating the permission => Copy the current pte. */
+            pte = *entry;
+
+        /* Set permission */
+        pte.pt.ro = PAGE_RO_MASK(flags);
+        pte.pt.xn = PAGE_XN_MASK(flags);
+        /* Set contiguous bit */
+        pte.pt.contig = !!(flags & _PAGE_CONTIG);
+    }
+
+    write_pte(entry, pte);
+    /*
+     * No ISB or TLB flush here. They are deferred to xen_pt_update()
+     * as the entry will not be used as part of the mapping update.
+     */
+
+    rc = 0;
+
+out:
+    xen_unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                                unsigned int flags)
+{
+    unsigned int level;
+    unsigned long mask;
+
+    /*
+      * Don't take into account the MFN when removing mapping (i.e
+      * MFN_INVALID) to calculate the correct target order.
+      *
+      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
+      * They are or-ed together and then checked against the size of
+      * each level.
+      *
+      * `left` is not included and checked separately to allow
+      * superpage mapping even if it is not properly aligned (the
+      * user may have asked to map 2MB + 4k).
+      */
+     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+     mask |= vfn;
+
+     /*
+      * Always use level 3 mapping unless the caller request block
+      * mapping.
+      */
+     if ( likely(!(flags & _PAGE_BLOCK)) )
+         level = 3;
+     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
+               (nr >= BIT(FIRST_ORDER, UL)) )
+         level = 1;
+     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
+               (nr >= BIT(SECOND_ORDER, UL)) )
+         level = 2;
+     else
+         level = 3;
+
+     return level;
+}
+
+#define XEN_PT_4K_NR_CONTIG 16
+
+/*
+ * Check whether the contiguous bit can be set. Return the number of
+ * contiguous entry allowed. If not allowed, return 1.
+ */
+static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
+                                        unsigned int level, unsigned long left,
+                                        unsigned int flags)
+{
+    unsigned long nr_contig;
+
+    /*
+     * Allow the contiguous bit to set when the caller requests block
+     * mapping.
+     */
+    if ( !(flags & _PAGE_BLOCK) )
+        return 1;
+
+    /*
+     * We don't allow to remove mapping with the contiguous bit set.
+     * So shortcut the logic and directly return 1.
+     */
+    if ( mfn_eq(mfn, INVALID_MFN) )
+        return 1;
+
+    /*
+     * The number of contiguous entries varies depending on the page
+     * granularity used. The logic below assumes 4KB.
+     */
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    /*
+     * In order to enable the contiguous bit, we should have enough entries
+     * to map left and both the virtual and physical address should be
+     * aligned to the size of 16 translation tables entries.
+     */
+    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
+
+    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
+        return 1;
+
+    return XEN_PT_4K_NR_CONTIG;
+}
+
+static DEFINE_SPINLOCK(xen_pt_lock);
+
+static int xen_pt_update(unsigned long virt,
+                         mfn_t mfn,
+                         /* const on purpose as it is used for TLB flush */
+                         const unsigned long nr_mfns,
+                         unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = virt >> PAGE_SHIFT;
+    unsigned long left = nr_mfns;
+
+    /*
+     * For arm32, page-tables are different on each CPUs. Yet, they share
+     * some common mappings. It is assumed that only common mappings
+     * will be modified with this function.
+     *
+     * XXX: Add a check.
+     */
+    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
+
+    /*
+     * The hardware was configured to forbid mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
+         !PAGE_XN_MASK(flags) )
+    {
+        mm_printk("Mappings should not be both Writeable and Executable.\n");
+        return -EINVAL;
+    }
+
+    if ( flags & _PAGE_CONTIG )
+    {
+        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        mm_printk("The virtual address is not aligned to the page-size.\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&xen_pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level, nr_contig, new_flags;
+
+        level = xen_pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        /*
+         * Check if we can set the contiguous mapping and update the
+         * flags accordingly.
+         */
+        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
+        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
+
+        for ( ; nr_contig > 0; nr_contig-- )
+        {
+            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
+                                     new_flags);
+            if ( rc )
+                break;
+
+            vfn += 1U << order;
+            if ( !mfn_eq(mfn, INVALID_MFN) )
+                mfn = mfn_add(mfn, 1U << order);
+
+            left -= (1U << order);
+        }
+
+        if ( rc )
+            break;
+    }
+
+    /*
+     * The TLBs flush can be safely skipped when a mapping is inserted
+     * as we don't allow mapping replacement (see xen_pt_check_entry()).
+     * Although we still need an ISB to ensure any DSB in
+     * write_pte() will complete because the mapping may be used soon
+     * after.
+     *
+     * For all the other cases, the TLBs will be flushed unconditionally
+     * even if the mapping has failed. This is because we may have
+     * partially modified the PT. This will prevent any unexpected
+     * behavior afterwards.
+     */
+    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
+        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
+    else
+        isb();
+
+    spin_unlock(&xen_pt_lock);
+
+    return rc;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    return xen_pt_update(virt, mfn, nr_mfns, flags);
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
+    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
+    ASSERT(s <= e);
+    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
+}
+
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
+{
+    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
+    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
+    ASSERT(s <= e);
+    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:33:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591223.923643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7s-0003Bc-Eg; Mon, 28 Aug 2023 01:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591223.923643; Mon, 28 Aug 2023 01:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR7s-0003BM-9C; Mon, 28 Aug 2023 01:33:08 +0000
Received: by outflank-mailman (input) for mailman id 591223;
 Mon, 28 Aug 2023 01:33:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7r-0000xW-Cz
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d597e46d-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:33: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 CEFE3143D;
 Sun, 27 Aug 2023 18:33:44 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B685F3F740;
 Sun, 27 Aug 2023 18:33:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d597e46d-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v6 07/13] xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
Date: Mon, 28 Aug 2023 09:32:18 +0800
Message-Id: <20230828013224.669433-8-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move the code related to secondary page table initialization, clear
boot page tables and the global variable definitions of these boot
page tables from arch/arm/mm.c to arch/arm/mmu/smpboot.c

Drop the "static" attribute of arm32 global variable cpu0_pgtable,
and declare it in the arm32 mm.h header, because this variable
will be used by both arch/arm/mm.c and arch/arm/mmu/smpboot.c.

Take the opportunity to fix the in-code comment coding styles when
possible.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v6:
- Rework the original patch "[v5,07/13] xen/arm: Extract MMU-specific
  code", only split the smpboot related code out in this patch.
---
 xen/arch/arm/include/asm/arm32/mm.h |   1 +
 xen/arch/arm/mm.c                   | 103 +----------------------
 xen/arch/arm/mmu/Makefile           |   1 +
 xen/arch/arm/mmu/smpboot.c          | 121 ++++++++++++++++++++++++++++
 4 files changed, 124 insertions(+), 102 deletions(-)
 create mode 100644 xen/arch/arm/mmu/smpboot.c

diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
index 856f2dbec4..0e149945f9 100644
--- a/xen/arch/arm/include/asm/arm32/mm.h
+++ b/xen/arch/arm/include/asm/arm32/mm.h
@@ -6,6 +6,7 @@
 #include <asm/lpae.h>
 
 DECLARE_PER_CPU(lpae_t *, xen_pgtable);
+extern DEFINE_PAGE_TABLE(cpu0_pgtable);
 
 /*
  * Only a limited amount of RAM, called xenheap, is always mapped on ARM32.
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b42814077c..f3ef0da0e3 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -27,39 +27,6 @@
 #undef mfn_to_virt
 #define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
 
-/* Static start-of-day pagetables that we use before the allocators
- * are up. These are used by all CPUs during bringup before switching
- * to the CPUs own pagetables.
- *
- * These pagetables have a very simple structure. They include:
- *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
- *    and boot_second are used to populate the tables down to boot_third
- *    which contains the actual mapping.
- *  - a 1:1 mapping of xen at its current physical address. This uses a
- *    section mapping at whichever of boot_{pgtable,first,second}
- *    covers that physical address.
- *
- * For the boot CPU these mappings point to the address where Xen was
- * loaded by the bootloader. For secondary CPUs they point to the
- * relocated copy of Xen for the benefit of secondary CPUs.
- *
- * In addition to the above for the boot CPU the device-tree is
- * initially mapped in the boot misc slot. This mapping is not present
- * for secondary CPUs.
- *
- * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
- * by the CPU once it has moved off the 1:1 mapping.
- */
-DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
-#ifdef CONFIG_ARM_64
-DEFINE_BOOT_PAGE_TABLE(boot_first);
-DEFINE_BOOT_PAGE_TABLE(boot_first_id);
-#endif
-DEFINE_BOOT_PAGE_TABLE(boot_second_id);
-DEFINE_BOOT_PAGE_TABLE(boot_third_id);
-DEFINE_BOOT_PAGE_TABLE(boot_second);
-DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
-
 /* Main runtime page tables */
 
 /*
@@ -80,7 +47,7 @@ static DEFINE_PAGE_TABLE(xen_first);
 DEFINE_PER_CPU(lpae_t *, xen_pgtable);
 #define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
 /* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-static DEFINE_PAGE_TABLE(cpu0_pgtable);
+DEFINE_PAGE_TABLE(cpu0_pgtable);
 #endif
 
 /* Common pagetable leaves */
@@ -277,13 +244,6 @@ static void xen_pt_enforce_wnx(void)
     flush_xen_tlb_local();
 }
 
-/* Clear a translation table and clean & invalidate the cache */
-static void clear_table(void *table)
-{
-    clear_page(table);
-    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
-}
-
 /* Boot-time pagetable setup.
  * Changes here may need matching changes in head.S */
 void __init setup_pagetables(unsigned long boot_phys_offset)
@@ -362,67 +322,6 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 #endif
 }
 
-static void clear_boot_pagetables(void)
-{
-    /*
-     * Clear the copy of the boot pagetables. Each secondary CPU
-     * rebuilds these itself (see head.S).
-     */
-    clear_table(boot_pgtable);
-#ifdef CONFIG_ARM_64
-    clear_table(boot_first);
-    clear_table(boot_first_id);
-#endif
-    clear_table(boot_second);
-    clear_table(boot_third);
-}
-
-#ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
-{
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
-     * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
-    return 0;
-}
-#else
-int init_secondary_pagetables(int cpu)
-{
-    lpae_t *first;
-
-    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
-
-    if ( !first )
-    {
-        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
-        return -ENOMEM;
-    }
-
-    /* Initialise root pagetable from root of boot tables */
-    memcpy(first, cpu0_pgtable, PAGE_SIZE);
-    per_cpu(xen_pgtable, cpu) = first;
-
-    if ( !init_domheap_mappings(cpu) )
-    {
-        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
-        per_cpu(xen_pgtable, cpu) = NULL;
-        free_xenheap_page(first);
-        return -ENOMEM;
-    }
-
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
-
-    return 0;
-}
-#endif
-
 /* MMU setup for secondary CPUS (which already have paging enabled) */
 void mmu_init_secondary_cpu(void)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index bdfc2e077d..0e82015ee1 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += pt.o
+obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
new file mode 100644
index 0000000000..a673989d09
--- /dev/null
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/smpboot.c
+ *
+ * MMU system secondary CPUs MM bringup code.
+ */
+
+#include <xen/domain_page.h>
+
+/*
+ * Static start-of-day pagetables that we use before the allocators
+ * are up. These are used by all CPUs during bringup before switching
+ * to the CPUs own pagetables.
+ *
+ * These pagetables have a very simple structure. They include:
+ *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
+ *    and boot_second are used to populate the tables down to boot_third
+ *    which contains the actual mapping.
+ *  - a 1:1 mapping of xen at its current physical address. This uses a
+ *    section mapping at whichever of boot_{pgtable,first,second}
+ *    covers that physical address.
+ *
+ * For the boot CPU these mappings point to the address where Xen was
+ * loaded by the bootloader. For secondary CPUs they point to the
+ * relocated copy of Xen for the benefit of secondary CPUs.
+ *
+ * In addition to the above for the boot CPU the device-tree is
+ * initially mapped in the boot misc slot. This mapping is not present
+ * for secondary CPUs.
+ *
+ * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
+ * by the CPU once it has moved off the 1:1 mapping.
+ */
+DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+#ifdef CONFIG_ARM_64
+DEFINE_BOOT_PAGE_TABLE(boot_first);
+DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+DEFINE_BOOT_PAGE_TABLE(boot_second);
+DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
+
+/* Clear a translation table and clean & invalidate the cache */
+static void clear_table(void *table)
+{
+    clear_page(table);
+    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
+}
+
+static void clear_boot_pagetables(void)
+{
+    /*
+     * Clear the copy of the boot pagetables. Each secondary CPU
+     * rebuilds these itself (see head.S).
+     */
+    clear_table(boot_pgtable);
+#ifdef CONFIG_ARM_64
+    clear_table(boot_first);
+    clear_table(boot_first_id);
+#endif
+    clear_table(boot_second);
+    clear_table(boot_third);
+}
+
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    clear_boot_pagetables();
+
+    /*
+     * Set init_ttbr for this CPU coming up. All CPus share a single setof
+     * pagetables, but rewrite it each time for consistency with 32 bit.
+     */
+    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
+    clean_dcache(init_ttbr);
+    return 0;
+}
+#else
+int init_secondary_pagetables(int cpu)
+{
+    lpae_t *first;
+
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
+
+    if ( !first )
+    {
+        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
+        return -ENOMEM;
+    }
+
+    /* Initialise root pagetable from root of boot tables */
+    memcpy(first, cpu0_pgtable, PAGE_SIZE);
+    per_cpu(xen_pgtable, cpu) = first;
+
+    if ( !init_domheap_mappings(cpu) )
+    {
+        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
+        per_cpu(xen_pgtable, cpu) = NULL;
+        free_xenheap_page(first);
+        return -ENOMEM;
+    }
+
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up */
+    init_ttbr = __pa(first);
+    clean_dcache(init_ttbr);
+
+    return 0;
+}
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:33:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591234.923653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR81-0004CR-Og; Mon, 28 Aug 2023 01:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591234.923653; Mon, 28 Aug 2023 01:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaR81-0004C7-JZ; Mon, 28 Aug 2023 01:33:17 +0000
Received: by outflank-mailman (input) for mailman id 591234;
 Mon, 28 Aug 2023 01:33:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR80-0000xW-4F
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id da0bef31-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:33: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 676201691;
 Sun, 27 Aug 2023 18:33:52 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4E0653F740;
 Sun, 27 Aug 2023 18:33: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: da0bef31-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v6 09/13] xen/arm: Extract MMU-specific MM code
Date: Mon, 28 Aug 2023 09:32:20 +0800
Message-Id: <20230828013224.669433-10-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, most of the code is in arm/mm.{c,h} and arm/arm64/mm.c
is MMU-specific. To make the MM code extendable, this commit extracts
the MMU-specific MM code.

Extract the boot CPU MM bringup code from arm/mm.c to mmu/setup.c.
Move arm/arm64/mm.c to arm/arm64/mmu/mm.c. Since the function
setup_directmap_mappings() has different implementations between
arm32 and arm64, move their arch-specific implementation to
arch-specific arm{32,64}/mmu/mm.c instead using #ifdef again.

For header files, move MMU-related function declarations in
asm/mm.h and the declaration of dump_pt_walk() in asm/page.h to
asm/mmu/mm.h

Also modify the build system (Makefiles in this case) to pick above
mentioned code changes.

Take the opportunity to fix the in-code comment coding styles when
possible, and drop the unnecessary #include headers in the original
arm/mm.c.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v6:
- Rework the original patch
  "[v5,07/13] xen/arm: Extract MMU-specific code"
---
 xen/arch/arm/arm32/Makefile       |   1 +
 xen/arch/arm/arm32/mmu/Makefile   |   1 +
 xen/arch/arm/arm32/mmu/mm.c       |  31 +++
 xen/arch/arm/arm64/Makefile       |   1 -
 xen/arch/arm/arm64/mmu/Makefile   |   1 +
 xen/arch/arm/arm64/{ => mmu}/mm.c |  37 +++
 xen/arch/arm/include/asm/mm.h     |  22 +-
 xen/arch/arm/include/asm/mmu/mm.h |  47 ++++
 xen/arch/arm/include/asm/page.h   |  15 --
 xen/arch/arm/mm.c                 | 381 ------------------------------
 xen/arch/arm/mmu/Makefile         |   1 +
 xen/arch/arm/mmu/setup.c          | 345 +++++++++++++++++++++++++++
 12 files changed, 470 insertions(+), 413 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/Makefile
 create mode 100644 xen/arch/arm/arm32/mmu/mm.c
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (75%)
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/mmu/setup.c

diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 520fb42054..40a2b4803f 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -1,4 +1,5 @@
 obj-y += lib/
+obj-$(CONFIG_MMU) += mmu/
 
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
new file mode 100644
index 0000000000..b18cec4836
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
new file mode 100644
index 0000000000..647baf4a81
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/init.h>
+#include <asm/fixmap.h>
+
+/*
+ * Set up the direct-mapped xenheap:
+ * up to 1GB of contiguous, always-mapped memory.
+ */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+
+    /* Record where the directmap is, for translation routines. */
+    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index f89d5fb4fb..72161ff22e 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -11,7 +11,6 @@ obj-y += entry.o
 obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
-obj-y += mm.o
 obj-y += smc.o
 obj-y += smpboot.o
 obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
index 3340058c08..a8a750a3d0 100644
--- a/xen/arch/arm/arm64/mmu/Makefile
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += head.o
+obj-y += mm.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mmu/mm.c
similarity index 75%
rename from xen/arch/arm/arm64/mm.c
rename to xen/arch/arm/arm64/mmu/mm.c
index 78b7c7eb00..36073041ed 100644
--- a/xen/arch/arm/arm64/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -151,6 +151,43 @@ void __init switch_ttbr(uint64_t ttbr)
     update_identity_mapping(false);
 }
 
+/* Map the region in the directmap area. */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    /* First call sets the directmap physical and virtual offset. */
+    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
+    {
+        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
+
+        directmap_mfn_start = _mfn(base_mfn);
+        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
+        /*
+         * The base address may not be aligned to the first level
+         * size (e.g. 1GB when using 4KB pages). This would prevent
+         * superpage mappings for all the regions because the virtual
+         * address and machine address should both be suitably aligned.
+         *
+         * Prevent that by offsetting the start of the directmap virtual
+         * address.
+         */
+        directmap_virt_start = DIRECTMAP_VIRT_START +
+            (base_mfn - mfn_gb) * PAGE_SIZE;
+    }
+
+    if ( base_mfn < mfn_x(directmap_mfn_start) )
+        panic("cannot add directmap mapping at %lx below heap start %lx\n",
+              base_mfn, mfn_x(directmap_mfn_start));
+
+    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
+                          _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index a66aa219b1..ded6d076c5 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,6 +14,12 @@
 # error "unknown ARM variant"
 #endif
 
+#if defined(CONFIG_MMU)
+# include <asm/mmu/mm.h>
+#else
+# error "Unknown memory management layout"
+#endif
+
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -170,13 +176,6 @@ extern uint64_t init_ttbr;
 
 extern paddr_t phys_offset;
 
-extern mfn_t directmap_mfn_start, directmap_mfn_end;
-extern vaddr_t directmap_virt_end;
-#ifdef CONFIG_ARM_64
-extern vaddr_t directmap_virt_start;
-extern unsigned long directmap_base_pdx;
-#endif
-
 #ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
@@ -199,7 +198,6 @@ extern unsigned long directmap_base_pdx;
 
 #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
 
-#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 /* PDX of the first page in the frame table. */
 extern unsigned long frametable_base_pdx;
 
@@ -209,19 +207,11 @@ extern unsigned long frametable_base_pdx;
 extern void setup_pagetables(unsigned long boot_phys_offset);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
-/* Switch to a new root page-tables */
-extern void switch_ttbr(uint64_t ttbr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
  * new page table */
 extern int init_secondary_pagetables(int cpu);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
new file mode 100644
index 0000000000..5e3b14519b
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -0,0 +1,47 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_MM_H__
+#define __ARM_MMU_MM_H__
+
+extern mfn_t directmap_mfn_start, directmap_mfn_end;
+extern vaddr_t directmap_virt_end;
+#ifdef CONFIG_ARM_64
+extern vaddr_t directmap_virt_start;
+extern unsigned long directmap_base_pdx;
+#endif
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/*
+ * Print a walk of a page table or p2m
+ *
+ * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
+ * addr is the PA or IPA to translate
+ * root_level is the starting level of the page table
+ *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
+ * nr_root_tables is the number of concatenated tables at the root.
+ *   this can only be != 1 for P2M walks starting at the first or
+ *   subsequent level.
+ */
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables);
+
+/* Switch to a new root page-tables */
+extern void switch_ttbr(uint64_t ttbr);
+/*
+ * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
+ * For Arm64, map the region in the directmap area.
+ */
+extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
+
+#endif /* __ARM_MMU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
index 657c4b33db..ac65f0277a 100644
--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -257,21 +257,6 @@ static inline void write_pte(lpae_t *p, lpae_t pte)
 /* Flush the dcache for an entire page. */
 void flush_page_to_ram(unsigned long mfn, bool sync_icache);
 
-/*
- * Print a walk of a page table or p2m
- *
- * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
- * addr is the PA or IPA to translate
- * root_level is the starting level of the page table
- *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
- * nr_root_tables is the number of concatenated tables at the root.
- *   this can only be != 1 for P2M walks starting at the first or
- *   subsequent level.
- */
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables);
-
 /* Print a walk of the hypervisor's page tables for a virtual addr. */
 extern void dump_hyp_walk(vaddr_t addr);
 /* Print a walk of the p2m for a domain for a physical address. */
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 3ee74542ba..eeb65ca6bb 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -11,139 +11,19 @@
 #include <xen/domain_page.h>
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
-#include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/sizes.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/setup.h>
-
 #include <public/memory.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
-#undef mfn_to_virt
-#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
-
-/* Main runtime page tables */
-
-/*
- * For arm32 xen_pgtable are per-PCPU and are allocated before
- * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
- *
- * xen_second, xen_fixmap and xen_xenmap are always shared between all
- * PCPUs.
- */
-
-#ifdef CONFIG_ARM_64
-DEFINE_PAGE_TABLE(xen_pgtable);
-static DEFINE_PAGE_TABLE(xen_first);
-#define THIS_CPU_PGTABLE xen_pgtable
-#else
-/* Per-CPU pagetable pages */
-/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
-DEFINE_PER_CPU(lpae_t *, xen_pgtable);
-#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
-/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-DEFINE_PAGE_TABLE(cpu0_pgtable);
-#endif
-
-/* Common pagetable leaves */
-/* Second level page table used to cover Xen virtual address space */
-static DEFINE_PAGE_TABLE(xen_second);
-/* Third level page table used for fixmap */
-DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
-/*
- * Third level page table used to map Xen itself with the XN bit set
- * as appropriate.
- */
-static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
-
-/* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
-
-paddr_t phys_offset;
-
-/* Limits of the Xen heap */
-mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
-mfn_t directmap_mfn_end __read_mostly;
-vaddr_t directmap_virt_end __read_mostly;
-#ifdef CONFIG_ARM_64
-vaddr_t directmap_virt_start __read_mostly;
-unsigned long directmap_base_pdx __read_mostly;
-#endif
 
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
 
-extern char __init_begin[], __init_end[];
-
-/* Checking VA memory layout alignment. */
-static void __init __maybe_unused build_assertions(void)
-{
-    /* 2MB aligned regions */
-    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
-    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
-    /* 1GB aligned regions */
-#ifdef CONFIG_ARM_32
-    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
-#else
-    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /* Page table structure constraints */
-#ifdef CONFIG_ARM_64
-    /*
-     * The first few slots of the L0 table is reserved for the identity
-     * mapping. Check that none of the other regions are overlapping
-     * with it.
-     */
-#define CHECK_OVERLAP_WITH_IDMAP(virt) \
-    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
-
-    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
-#undef CHECK_OVERLAP_WITH_IDMAP
-#endif
-    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
-#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
-    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /*
-     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
-     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
-     * slot in the page tables.
-     */
-#define CHECK_SAME_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
-
-#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
-
-#ifdef CONFIG_ARM_64
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-#endif
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-
-    /*
-     * For arm32, the temporary mapping will re-use the domheap
-     * first slot and the second slots will match.
-     */
-#ifdef CONFIG_ARM_32
-    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
-    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-#endif
-
-#undef CHECK_SAME_SLOT
-#undef CHECK_DIFFERENT_SLOT
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -163,222 +43,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-void * __init early_fdt_map(paddr_t fdt_paddr)
-{
-    /* We are using 2MB superpage for mapping the FDT */
-    paddr_t base_paddr = fdt_paddr & SECOND_MASK;
-    paddr_t offset;
-    void *fdt_virt;
-    uint32_t size;
-    int rc;
-
-    /*
-     * Check whether the physical FDT address is set and meets the minimum
-     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
-     * least 8 bytes so that we always access the magic and size fields
-     * of the FDT header after mapping the first chunk, double check if
-     * that is indeed the case.
-     */
-    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
-    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
-        return NULL;
-
-    /* The FDT is mapped using 2MB superpage */
-    BUILD_BUG_ON(BOOT_FDT_VIRT_START % SZ_2M);
-
-    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
-                          SZ_2M >> PAGE_SHIFT,
-                          PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to map the device-tree.\n");
-
-
-    offset = fdt_paddr % SECOND_SIZE;
-    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
-
-    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
-        return NULL;
-
-    size = fdt_totalsize(fdt_virt);
-    if ( size > MAX_FDT_SIZE )
-        return NULL;
-
-    if ( (offset + size) > SZ_2M )
-    {
-        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + SZ_2M,
-                              maddr_to_mfn(base_paddr + SZ_2M),
-                              SZ_2M >> PAGE_SHIFT,
-                              PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
-        if ( rc )
-            panic("Unable to map the device-tree\n");
-    }
-
-    return fdt_virt;
-}
-
-void __init remove_early_mappings(void)
-{
-    int rc;
-
-    /* destroy the _PAGE_BLOCK mapping */
-    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
-                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
-                             _PAGE_BLOCK);
-    BUG_ON(rc);
-}
-
-/*
- * After boot, Xen page-tables should not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each CPU to enforce the policy.
- */
-static void xen_pt_enforce_wnx(void)
-{
-    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
-    /*
-     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-     * before flushing the TLBs.
-     */
-    isb();
-    flush_xen_tlb_local();
-}
-
-/* Boot-time pagetable setup.
- * Changes here may need matching changes in head.S */
-void __init setup_pagetables(unsigned long boot_phys_offset)
-{
-    uint64_t ttbr;
-    lpae_t pte, *p;
-    int i;
-
-    phys_offset = boot_phys_offset;
-
-    arch_setup_page_tables();
-
-#ifdef CONFIG_ARM_64
-    pte = pte_of_xenaddr((uintptr_t)xen_first);
-    pte.pt.table = 1;
-    pte.pt.xn = 0;
-    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
-
-    p = (void *) xen_first;
-#else
-    p = (void *) cpu0_pgtable;
-#endif
-
-    /* Map xen second level page-table */
-    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
-
-    /* Break up the Xen mapping into pages and protect them separately. */
-    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
-
-        if ( !is_kernel(va) )
-            break;
-        pte = pte_of_xenaddr(va);
-        pte.pt.table = 1; /* third level mappings always have this bit set */
-        if ( is_kernel_text(va) || is_kernel_inittext(va) )
-        {
-            pte.pt.xn = 0;
-            pte.pt.ro = 1;
-        }
-        if ( is_kernel_rodata(va) )
-            pte.pt.ro = 1;
-        xen_xenmap[i] = pte;
-    }
-
-    /* Initialise xen second level entries ... */
-    /* ... Xen's text etc */
-    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
-
-        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
-        pte.pt.table = 1;
-        xen_second[second_table_offset(va)] = pte;
-    }
-
-    /* ... Fixmap */
-    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
-    pte.pt.table = 1;
-    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
-
-#ifdef CONFIG_ARM_64
-    ttbr = (uintptr_t) xen_pgtable + phys_offset;
-#else
-    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
-#endif
-
-    switch_ttbr(ttbr);
-
-    xen_pt_enforce_wnx();
-
-#ifdef CONFIG_ARM_32
-    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
-#endif
-}
-
-#ifdef CONFIG_ARM_32
-/*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
- */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-
-    /* Record where the directmap is, for translation routines. */
-    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
-}
-#else /* CONFIG_ARM_64 */
-/* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    /* First call sets the directmap physical and virtual offset. */
-    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
-    {
-        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
-
-        directmap_mfn_start = _mfn(base_mfn);
-        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
-        /*
-         * The base address may not be aligned to the first level
-         * size (e.g. 1GB when using 4KB pages). This would prevent
-         * superpage mappings for all the regions because the virtual
-         * address and machine address should both be suitably aligned.
-         *
-         * Prevent that by offsetting the start of the directmap virtual
-         * address.
-         */
-        directmap_virt_start = DIRECTMAP_VIRT_START +
-            (base_mfn - mfn_gb) * PAGE_SIZE;
-    }
-
-    if ( base_mfn < mfn_x(directmap_mfn_start) )
-        panic("cannot add directmap mapping at %lx below heap start %lx\n",
-              base_mfn, mfn_x(directmap_mfn_start));
-
-    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
-                          _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-}
-#endif
-
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 {
@@ -418,51 +82,6 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
 }
 
-void *__init arch_vmap_virt_end(void)
-{
-    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
-}
-
-/* Release all __init and __initdata ranges to be reused */
-void free_init_memory(void)
-{
-    paddr_t pa = virt_to_maddr(__init_begin);
-    unsigned long len = __init_end - __init_begin;
-    uint32_t insn;
-    unsigned int i, nr = len / sizeof(insn);
-    uint32_t *p;
-    int rc;
-
-    rc = modify_xen_mappings((unsigned long)__init_begin,
-                             (unsigned long)__init_end, PAGE_HYPERVISOR_RW);
-    if ( rc )
-        panic("Unable to map RW the init section (rc = %d)\n", rc);
-
-    /*
-     * From now on, init will not be used for execution anymore,
-     * so nuke the instruction cache to remove entries related to init.
-     */
-    invalidate_icache_local();
-
-#ifdef CONFIG_ARM_32
-    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
-    insn = 0xe7f000f0;
-#else
-    insn = AARCH64_BREAK_FAULT;
-#endif
-    p = (uint32_t *)__init_begin;
-    for ( i = 0; i < nr; i++ )
-        *(p + i) = insn;
-
-    rc = destroy_xen_mappings((unsigned long)__init_begin,
-                              (unsigned long)__init_end);
-    if ( rc )
-        panic("Unable to remove the init section (rc = %d)\n", rc);
-
-    init_domheap_pages(pa, pa + len);
-    printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
-}
-
 int steal_page(
     struct domain *d, struct page_info *page, unsigned int memflags)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 0e82015ee1..98aea965df 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,2 +1,3 @@
 obj-y += pt.o
+obj-y += setup.o
 obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
new file mode 100644
index 0000000000..eb0dda00dc
--- /dev/null
+++ b/xen/arch/arm/mmu/setup.c
@@ -0,0 +1,345 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/setup.c
+ *
+ * MMU system boot CPU MM bringup code.
+ */
+
+#include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sizes.h>
+
+#include <asm/fixmap.h>
+
+/* Override macros from asm/page.h to make them work with mfn_t */
+#undef mfn_to_virt
+#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
+
+/* Main runtime page tables */
+
+/*
+ * For arm32 xen_pgtable are per-PCPU and are allocated before
+ * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
+ *
+ * xen_second, xen_fixmap and xen_xenmap are always shared between all
+ * PCPUs.
+ */
+
+#ifdef CONFIG_ARM_64
+DEFINE_PAGE_TABLE(xen_pgtable);
+static DEFINE_PAGE_TABLE(xen_first);
+#define THIS_CPU_PGTABLE xen_pgtable
+#else
+/* Per-CPU pagetable pages */
+/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
+DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
+/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
+DEFINE_PAGE_TABLE(cpu0_pgtable);
+#endif
+
+/* Common pagetable leaves */
+/* Second level page table used to cover Xen virtual address space */
+static DEFINE_PAGE_TABLE(xen_second);
+/* Third level page table used for fixmap */
+DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
+/*
+ * Third level page table used to map Xen itself with the XN bit set
+ * as appropriate.
+ */
+static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
+
+/* Non-boot CPUs use this to find the correct pagetables. */
+uint64_t init_ttbr;
+
+paddr_t phys_offset;
+
+/* Limits of the Xen heap */
+mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
+mfn_t directmap_mfn_end __read_mostly;
+vaddr_t directmap_virt_end __read_mostly;
+#ifdef CONFIG_ARM_64
+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)
+{
+    /* 2MB aligned regions */
+    BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
+    BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
+    /* 1GB aligned regions */
+#ifdef CONFIG_ARM_32
+    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#else
+    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /* Page table structure constraints */
+#ifdef CONFIG_ARM_64
+    /*
+     * The first few slots of the L0 table is reserved for the identity
+     * mapping. Check that none of the other regions are overlapping
+     * with it.
+     */
+#define CHECK_OVERLAP_WITH_IDMAP(virt) \
+    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
+
+    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
+#undef CHECK_OVERLAP_WITH_IDMAP
+#endif
+    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
+    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /*
+     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
+     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
+     * slot in the page tables.
+     */
+#define CHECK_SAME_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
+
+#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
+
+#ifdef CONFIG_ARM_64
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+#endif
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+
+    /*
+     * For arm32, the temporary mapping will re-use the domheap
+     * first slot and the second slots will match.
+     */
+#ifdef CONFIG_ARM_32
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
+    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+#endif
+
+#undef CHECK_SAME_SLOT
+#undef CHECK_DIFFERENT_SLOT
+}
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    /* We are using 2MB superpage for mapping the FDT */
+    paddr_t base_paddr = fdt_paddr & SECOND_MASK;
+    paddr_t offset;
+    void *fdt_virt;
+    uint32_t size;
+    int rc;
+
+    /*
+     * Check whether the physical FDT address is set and meets the minimum
+     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
+     * least 8 bytes so that we always access the magic and size fields
+     * of the FDT header after mapping the first chunk, double check if
+     * that is indeed the case.
+     */
+    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
+    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
+        return NULL;
+
+    /* The FDT is mapped using 2MB superpage */
+    BUILD_BUG_ON(BOOT_FDT_VIRT_START % SZ_2M);
+
+    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
+                          SZ_2M >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to map the device-tree.\n");
+
+
+    offset = fdt_paddr % SECOND_SIZE;
+    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
+
+    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
+        return NULL;
+
+    size = fdt_totalsize(fdt_virt);
+    if ( size > MAX_FDT_SIZE )
+        return NULL;
+
+    if ( (offset + size) > SZ_2M )
+    {
+        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + SZ_2M,
+                              maddr_to_mfn(base_paddr + SZ_2M),
+                              SZ_2M >> PAGE_SHIFT,
+                              PAGE_HYPERVISOR_RO | _PAGE_BLOCK);
+        if ( rc )
+            panic("Unable to map the device-tree\n");
+    }
+
+    return fdt_virt;
+}
+
+void __init remove_early_mappings(void)
+{
+    int rc;
+
+    /* destroy the _PAGE_BLOCK mapping */
+    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
+                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
+                             _PAGE_BLOCK);
+    BUG_ON(rc);
+}
+
+/*
+ * After boot, Xen page-tables should not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each CPU to enforce the policy.
+ */
+static void xen_pt_enforce_wnx(void)
+{
+    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
+    /*
+     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+     * before flushing the TLBs.
+     */
+    isb();
+    flush_xen_tlb_local();
+}
+
+/*
+ * Boot-time pagetable setup.
+ * Changes here may need matching changes in head.S
+ */
+void __init setup_pagetables(unsigned long boot_phys_offset)
+{
+    uint64_t ttbr;
+    lpae_t pte, *p;
+    int i;
+
+    phys_offset = boot_phys_offset;
+
+    arch_setup_page_tables();
+
+#ifdef CONFIG_ARM_64
+    pte = pte_of_xenaddr((uintptr_t)xen_first);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
+
+    p = (void *) xen_first;
+#else
+    p = (void *) cpu0_pgtable;
+#endif
+
+    /* Map xen second level page-table */
+    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
+    p[0].pt.table = 1;
+    p[0].pt.xn = 0;
+
+    /* Break up the Xen mapping into pages and protect them separately. */
+    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
+
+        if ( !is_kernel(va) )
+            break;
+        pte = pte_of_xenaddr(va);
+        pte.pt.table = 1; /* third level mappings always have this bit set */
+        if ( is_kernel_text(va) || is_kernel_inittext(va) )
+        {
+            pte.pt.xn = 0;
+            pte.pt.ro = 1;
+        }
+        if ( is_kernel_rodata(va) )
+            pte.pt.ro = 1;
+        xen_xenmap[i] = pte;
+    }
+
+    /* Initialise xen second level entries ... */
+    /* ... Xen's text etc */
+    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
+
+        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
+        pte.pt.table = 1;
+        xen_second[second_table_offset(va)] = pte;
+    }
+
+    /* ... Fixmap */
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
+    pte.pt.table = 1;
+    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
+
+#ifdef CONFIG_ARM_64
+    ttbr = (uintptr_t) xen_pgtable + phys_offset;
+#else
+    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
+#endif
+
+    switch_ttbr(ttbr);
+
+    xen_pt_enforce_wnx();
+
+#ifdef CONFIG_ARM_32
+    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
+#endif
+}
+
+void *__init arch_vmap_virt_end(void)
+{
+    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
+}
+
+/* Release all __init and __initdata ranges to be reused */
+void free_init_memory(void)
+{
+    paddr_t pa = virt_to_maddr(__init_begin);
+    unsigned long len = __init_end - __init_begin;
+    uint32_t insn;
+    unsigned int i, nr = len / sizeof(insn);
+    uint32_t *p;
+    int rc;
+
+    rc = modify_xen_mappings((unsigned long)__init_begin,
+                             (unsigned long)__init_end, PAGE_HYPERVISOR_RW);
+    if ( rc )
+        panic("Unable to map RW the init section (rc = %d)\n", rc);
+
+    /*
+     * From now on, init will not be used for execution anymore,
+     * so nuke the instruction cache to remove entries related to init.
+     */
+    invalidate_icache_local();
+
+#ifdef CONFIG_ARM_32
+    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
+    insn = 0xe7f000f0;
+#else
+    insn = AARCH64_BREAK_FAULT;
+#endif
+    p = (uint32_t *)__init_begin;
+    for ( i = 0; i < nr; i++ )
+        *(p + i) = insn;
+
+    rc = destroy_xen_mappings((unsigned long)__init_begin,
+                              (unsigned long)__init_end);
+    if ( rc )
+        panic("Unable to remove the init section (rc = %d)\n", rc);
+
+    init_domheap_pages(pa, pa + len);
+    printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:40:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591273.923678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREl-0007Dz-5z; Mon, 28 Aug 2023 01:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591273.923678; Mon, 28 Aug 2023 01:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREl-0007Cr-1g; Mon, 28 Aug 2023 01:40:15 +0000
Received: by outflank-mailman (input) for mailman id 591273;
 Mon, 28 Aug 2023 01:40: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR86-0000i9-LL
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id df1c5ae9-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:33:21 +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 D6FEB143D;
 Sun, 27 Aug 2023 18:34:00 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BDB443F740;
 Sun, 27 Aug 2023 18:33: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: df1c5ae9-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v6 10/13] xen/arm: Split MMU-specific setup_mm() and related code out
Date: Mon, 28 Aug 2023 09:32:21 +0800
Message-Id: <20230828013224.669433-11-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

setup_mm() is used for Xen to setup memory management subsystem,
such as boot allocator, direct-mapping, xenheap initialization,
frametable and static memory pages, at boot time.

We could inherit some components seamlessly for MPU support, such
as the setup of boot allocator, whilst we need to implement some
components differently for MPU, such as xenheap, etc. Also, there
are some components that is specific to MMU only, for example the
direct-mapping.

Therefore in this commit, we split the MMU-specific setup_mm() and
related code out. Since arm32 and arm64 have completely different
setup_mm() implementation, take the opportunity to split the
arch-specific setup_mm() to arch-specific files, so that we can
avoid #ifdef. Also, make init_pdx(), init_staticmem_pages(),
setup_mm(), and populate_boot_allocator() public for future MPU
implementation.

With above code movement, mark setup_directmap_mappings() as static
because the only caller of this function is now in the same file
with it. Drop the original setup_directmap_mappings() declaration
and move the in-code comment on top of the declaration on top of
the function implementation.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v6:
- Rework the original patch:
  [v5,10/13] xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
---
 xen/arch/arm/arm32/mmu/mm.c       | 278 ++++++++++++++++++++++++-
 xen/arch/arm/arm64/mmu/mm.c       |  51 ++++-
 xen/arch/arm/include/asm/mmu/mm.h |   6 -
 xen/arch/arm/include/asm/setup.h  |   5 +
 xen/arch/arm/setup.c              | 324 +-----------------------------
 5 files changed, 331 insertions(+), 333 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 647baf4a81..94d6cab49c 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -1,14 +1,21 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 
 #include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/param.h>
+#include <xen/pfn.h>
 #include <asm/fixmap.h>
 
+static unsigned long opt_xenheap_megabytes __initdata;
+integer_param("xenheap_megabytes", opt_xenheap_megabytes);
+
 /*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
+ * Set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
  */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
+static void __init setup_directmap_mappings(unsigned long base_mfn,
+                                            unsigned long nr_mfns)
 {
     int rc;
 
@@ -21,6 +28,269 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
     directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
 }
 
+/*
+ * Returns the end address of the highest region in the range s..e
+ * with required size and alignment that does not conflict with the
+ * modules from first_mod to nr_modules.
+ *
+ * For non-recursive callers first_mod should normally be 0 (all
+ * modules and Xen itself) or 1 (all modules but not Xen).
+ */
+static paddr_t __init consider_modules(paddr_t s, paddr_t e,
+                                       uint32_t size, paddr_t align,
+                                       int first_mod)
+{
+    const struct bootmodules *mi = &bootinfo.modules;
+    int i;
+    int nr;
+
+    s = (s+align-1) & ~(align-1);
+    e = e & ~(align-1);
+
+    if ( s > e ||  e - s < size )
+        return 0;
+
+    /* First check the boot modules */
+    for ( i = first_mod; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        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);
+        }
+    }
+
+    /* 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.
+     *
+     * 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.
+     */
+    nr += mi->nr_mods;
+    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 )
+        {
+            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);
+        }
+    }
+    return e;
+}
+
+/*
+ * Find a contiguous region that fits in the static heap region with
+ * required size and alignment, and return the end address of the region
+ * if found otherwise 0.
+ */
+static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
+{
+    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++ )
+    {
+        if ( bootinfo.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_end = bank_start + bank_size;
+
+        if ( bank_size < size )
+            continue;
+
+        aligned_end = bank_end & ~(align - 1);
+        aligned_start = (aligned_end - size) & ~(align - 1);
+
+        if ( aligned_start > bank_start )
+            /*
+             * Allocate the xenheap as high as possible to keep low-memory
+             * available (assuming the admin supplied region below 4GB)
+             * for other use (e.g. domain memory allocation).
+             */
+            end = max(end, aligned_end);
+    }
+
+    return end;
+}
+
+void __init setup_mm(void)
+{
+    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 )
+        panic("No memory bank\n");
+
+    /* We only supports instruction caches implementing the IVIPT extension. */
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
+        panic("AIVIVT instruction cache not supported\n");
+
+    init_pdx();
+
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+
+    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    {
+        bank_start = bootinfo.mem.bank[i].start;
+        bank_size = bootinfo.mem.bank[i].size;
+        bank_end = bank_start + bank_size;
+
+        ram_size  = ram_size + bank_size;
+        ram_start = min(ram_start,bank_start);
+        ram_end   = max(ram_end,bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    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;
+
+            bank_start = bootinfo.reserved_mem.bank[i].start;
+            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_end = bank_start + bank_size;
+
+            static_heap_size += bank_size;
+            static_heap_end = max(static_heap_end, bank_end);
+        }
+
+        heap_pages = static_heap_size >> PAGE_SHIFT;
+    }
+    else
+        heap_pages = total_pages;
+
+    /*
+     * If the user has not requested otherwise via the command line
+     * then locate the xenheap using these constraints:
+     *
+     *  - must be contiguous
+     *  - must be 32 MiB aligned
+     *  - must not include Xen itself or the boot modules
+     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
+          heap if enabled) if less
+     *  - must be at least 32M
+     *
+     * We try to allocate the largest xenheap possible within these
+     * constraints.
+     */
+    if ( opt_xenheap_megabytes )
+        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
+    else
+    {
+        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
+        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
+        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
+    }
+
+    do
+    {
+        e = bootinfo.static_heap ?
+            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
+            consider_modules(ram_start, ram_end,
+                             pfn_to_paddr(xenheap_pages),
+                             32<<20, 0);
+        if ( e )
+            break;
+
+        xenheap_pages >>= 1;
+    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
+
+    if ( ! e )
+        panic("Not enough space for xenheap\n");
+
+    domheap_pages = heap_pages - xenheap_pages;
+
+    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
+           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
+           opt_xenheap_megabytes ? ", from command-line" : "");
+    printk("Dom heap: %lu pages\n", domheap_pages);
+
+    /*
+     * We need some memory to allocate the page-tables used for the
+     * directmap mappings. So populate the boot allocator first.
+     *
+     * This requires us to set directmap_mfn_{start, end} first so the
+     * direct-mapped Xenheap region can be avoided.
+     */
+    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
+    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
+
+    populate_boot_allocator();
+
+    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
+
+    /* Frame table covers all of RAM region, including holes */
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    /*
+     * The allocators may need to use map_domain_page() (such as for
+     * scrubbing pages). So we need to prepare the domheap area first.
+     */
+    if ( !init_domheap_mappings(smp_processor_id()) )
+        panic("CPU%u: Unable to prepare the domheap page-tables\n",
+              smp_processor_id());
+
+    /* Add xenheap memory that was not already added to the boot allocator. */
+    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
+                       mfn_to_maddr(directmap_mfn_end));
+
+    init_staticmem_pages();
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 36073041ed..c0f166a437 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -2,6 +2,7 @@
 
 #include <xen/init.h>
 #include <xen/mm.h>
+#include <xen/pfn.h>
 
 #include <asm/setup.h>
 
@@ -152,8 +153,8 @@ void __init switch_ttbr(uint64_t ttbr)
 }
 
 /* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
+static void __init setup_directmap_mappings(unsigned long base_mfn,
+                                            unsigned long nr_mfns)
 {
     int rc;
 
@@ -188,6 +189,52 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("Unable to setup the directmap mappings.\n");
 }
 
+void __init setup_mm(void)
+{
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    /*
+     * We need some memory to allocate the page-tables used for the directmap
+     * mappings. But some regions may contain memory already allocated
+     * for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    total_pages = 0;
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+
+        setup_directmap_mappings(PFN_DOWN(bank->start),
+                                 PFN_DOWN(bank->size));
+    }
+
+    total_pages += ram_size >> PAGE_SHIFT;
+
+    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    directmap_mfn_start = maddr_to_mfn(ram_start);
+    directmap_mfn_end = maddr_to_mfn(ram_end);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    init_staticmem_pages();
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index 5e3b14519b..2615fd43ab 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -28,12 +28,6 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 
 /* Switch to a new root page-tables */
 extern void switch_ttbr(uint64_t ttbr);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 
 #endif /* __ARM_MMU_MM_H__ */
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 19dc637d55..8241fbee99 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -156,6 +156,11 @@ 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 init_staticmem_pages(void);
+void populate_boot_allocator(void);
+void setup_mm(void);
+
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 44ccea03ca..89ecb54be2 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -58,11 +58,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
 
-#ifdef CONFIG_ARM_32
-static unsigned long opt_xenheap_megabytes __initdata;
-integer_param("xenheap_megabytes", opt_xenheap_megabytes);
-#endif
-
 domid_t __read_mostly max_init_domid;
 
 static __used void init_done(void)
@@ -547,138 +542,6 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }
 
-#ifdef CONFIG_ARM_32
-/*
- * Returns the end address of the highest region in the range s..e
- * with required size and alignment that does not conflict with the
- * modules from first_mod to nr_modules.
- *
- * For non-recursive callers first_mod should normally be 0 (all
- * modules and Xen itself) or 1 (all modules but not Xen).
- */
-static paddr_t __init consider_modules(paddr_t s, paddr_t e,
-                                       uint32_t size, paddr_t align,
-                                       int first_mod)
-{
-    const struct bootmodules *mi = &bootinfo.modules;
-    int i;
-    int nr;
-
-    s = (s+align-1) & ~(align-1);
-    e = e & ~(align-1);
-
-    if ( s > e ||  e - s < size )
-        return 0;
-
-    /* First check the boot modules */
-    for ( i = first_mod; i < mi->nr_mods; i++ )
-    {
-        paddr_t mod_s = mi->module[i].start;
-        paddr_t mod_e = mod_s + mi->module[i].size;
-
-        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);
-        }
-    }
-
-    /* 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.
-     *
-     * 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.
-     */
-    nr += mi->nr_mods;
-    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 )
-        {
-            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);
-        }
-    }
-    return e;
-}
-
-/*
- * Find a contiguous region that fits in the static heap region with
- * required size and alignment, and return the end address of the region
- * if found otherwise 0.
- */
-static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
-{
-    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++ )
-    {
-        if ( bootinfo.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_end = bank_start + bank_size;
-
-        if ( bank_size < size )
-            continue;
-
-        aligned_end = bank_end & ~(align - 1);
-        aligned_start = (aligned_end - size) & ~(align - 1);
-
-        if ( aligned_start > bank_start )
-            /*
-             * Allocate the xenheap as high as possible to keep low-memory
-             * available (assuming the admin supplied region below 4GB)
-             * for other use (e.g. domain memory allocation).
-             */
-            end = max(end, aligned_end);
-    }
-
-    return end;
-}
-#endif
-
 /*
  * Return the end of the non-module region starting at s. In other
  * words return s the start of the next modules after s.
@@ -713,7 +576,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
     return lowest;
 }
 
-static void __init init_pdx(void)
+void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
 
@@ -758,7 +621,7 @@ static void __init init_pdx(void)
 }
 
 /* Static memory initialization */
-static void __init init_staticmem_pages(void)
+void __init init_staticmem_pages(void)
 {
 #ifdef CONFIG_STATIC_MEMORY
     unsigned int bank;
@@ -792,7 +655,7 @@ static void __init init_staticmem_pages(void)
  * allocator with the corresponding regions only, but with Xenheap excluded
  * on arm32.
  */
-static void __init populate_boot_allocator(void)
+void __init populate_boot_allocator(void)
 {
     unsigned int i;
     const struct meminfo *banks = &bootinfo.mem;
@@ -861,187 +724,6 @@ static void __init populate_boot_allocator(void)
     }
 }
 
-#ifdef CONFIG_ARM_32
-static void __init setup_mm(void)
-{
-    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 )
-        panic("No memory bank\n");
-
-    /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
-        panic("AIVIVT instruction cache not supported\n");
-
-    init_pdx();
-
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
-    ram_end   = ram_start + ram_size;
-
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
-    {
-        bank_start = bootinfo.mem.bank[i].start;
-        bank_size = bootinfo.mem.bank[i].size;
-        bank_end = bank_start + bank_size;
-
-        ram_size  = ram_size + bank_size;
-        ram_start = min(ram_start,bank_start);
-        ram_end   = max(ram_end,bank_end);
-    }
-
-    total_pages = ram_size >> PAGE_SHIFT;
-
-    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;
-
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
-            bank_end = bank_start + bank_size;
-
-            static_heap_size += bank_size;
-            static_heap_end = max(static_heap_end, bank_end);
-        }
-
-        heap_pages = static_heap_size >> PAGE_SHIFT;
-    }
-    else
-        heap_pages = total_pages;
-
-    /*
-     * If the user has not requested otherwise via the command line
-     * then locate the xenheap using these constraints:
-     *
-     *  - must be contiguous
-     *  - must be 32 MiB aligned
-     *  - must not include Xen itself or the boot modules
-     *  - must be at most 1GB or 1/32 the total RAM in the system (or static
-          heap if enabled) if less
-     *  - must be at least 32M
-     *
-     * We try to allocate the largest xenheap possible within these
-     * constraints.
-     */
-    if ( opt_xenheap_megabytes )
-        xenheap_pages = opt_xenheap_megabytes << (20-PAGE_SHIFT);
-    else
-    {
-        xenheap_pages = (heap_pages/32 + 0x1fffUL) & ~0x1fffUL;
-        xenheap_pages = max(xenheap_pages, 32UL<<(20-PAGE_SHIFT));
-        xenheap_pages = min(xenheap_pages, 1UL<<(30-PAGE_SHIFT));
-    }
-
-    do
-    {
-        e = bootinfo.static_heap ?
-            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
-            consider_modules(ram_start, ram_end,
-                             pfn_to_paddr(xenheap_pages),
-                             32<<20, 0);
-        if ( e )
-            break;
-
-        xenheap_pages >>= 1;
-    } while ( !opt_xenheap_megabytes && xenheap_pages > 32<<(20-PAGE_SHIFT) );
-
-    if ( ! e )
-        panic("Not enough space for xenheap\n");
-
-    domheap_pages = heap_pages - xenheap_pages;
-
-    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
-           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
-           opt_xenheap_megabytes ? ", from command-line" : "");
-    printk("Dom heap: %lu pages\n", domheap_pages);
-
-    /*
-     * We need some memory to allocate the page-tables used for the
-     * directmap mappings. So populate the boot allocator first.
-     *
-     * This requires us to set directmap_mfn_{start, end} first so the
-     * direct-mapped Xenheap region can be avoided.
-     */
-    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
-    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
-
-    populate_boot_allocator();
-
-    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
-
-    /* Frame table covers all of RAM region, including holes */
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    /*
-     * The allocators may need to use map_domain_page() (such as for
-     * scrubbing pages). So we need to prepare the domheap area first.
-     */
-    if ( !init_domheap_mappings(smp_processor_id()) )
-        panic("CPU%u: Unable to prepare the domheap page-tables\n",
-              smp_processor_id());
-
-    /* Add xenheap memory that was not already added to the boot allocator. */
-    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
-                       mfn_to_maddr(directmap_mfn_end));
-
-    init_staticmem_pages();
-}
-#else /* CONFIG_ARM_64 */
-static void __init setup_mm(void)
-{
-    const struct meminfo *banks = &bootinfo.mem;
-    paddr_t ram_start = INVALID_PADDR;
-    paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
-    unsigned int i;
-
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
-    for ( i = 0; i < banks->nr_banks; i++ )
-    {
-        const struct membank *bank = &banks->bank[i];
-        paddr_t bank_end = bank->start + bank->size;
-
-        ram_size = ram_size + bank->size;
-        ram_start = min(ram_start, bank->start);
-        ram_end = max(ram_end, bank_end);
-
-        setup_directmap_mappings(PFN_DOWN(bank->start),
-                                 PFN_DOWN(bank->size));
-    }
-
-    total_pages += ram_size >> PAGE_SHIFT;
-
-    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
-    directmap_mfn_start = maddr_to_mfn(ram_start);
-    directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    init_staticmem_pages();
-}
-#endif
-
 static bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:40:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591260.923663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREj-0006uN-L4; Mon, 28 Aug 2023 01:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591260.923663; Mon, 28 Aug 2023 01:40:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREj-0006uG-HG; Mon, 28 Aug 2023 01:40:13 +0000
Received: by outflank-mailman (input) for mailman id 591260;
 Mon, 28 Aug 2023 01:40: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR7u-0000i9-28
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d7d3a2b0-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:33: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 9DACA2F4;
 Sun, 27 Aug 2023 18:33:48 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 84D293F740;
 Sun, 27 Aug 2023 18:33: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: d7d3a2b0-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v6 08/13] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Date: Mon, 28 Aug 2023 09:32:19 +0800
Message-Id: <20230828013224.669433-9-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently mmu_init_secondary_cpu() only enforces the page table
should not contain mapping that are both Writable and eXecutables
after boot. To ease the arch/arm/mm.c split work, fold this function
to head.S.

Introduce assembly macro pt_enforce_wxn for both arm32 and arm64.
For arm64, the macro is called at the end of enable_secondary_cpu_mm().
For arm32, the macro is called before secondary CPUs jumping into
the C world.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- New patch.
---
 xen/arch/arm/arm32/head.S     | 20 ++++++++++++++++++++
 xen/arch/arm/arm64/mmu/head.S | 21 +++++++++++++++++++++
 xen/arch/arm/include/asm/mm.h |  2 --
 xen/arch/arm/mm.c             |  6 ------
 xen/arch/arm/smpboot.c        |  2 --
 5 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 33b038e7e0..39218cf15f 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -83,6 +83,25 @@
         isb
 .endm
 
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
 /*
  * Common register usage in this file:
  *   r0  -
@@ -254,6 +273,7 @@ secondary_switched:
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
 #endif
+        pt_enforce_wxn r0
         PRINT("- Ready -\r\n")
         /* Jump to C world */
         mov_w r2, start_secondary
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index a5271e3880..25028bdf07 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -31,6 +31,25 @@
         isb
 .endm
 
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+       mrs   \tmp, SCTLR_EL2
+       orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+       dsb   sy
+       msr   SCTLR_EL2, \tmp
+       /*
+        * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+        * before flushing the TLBs.
+        */
+       isb
+       flush_xen_tlb_local
+.endm
+
 /*
  * Macro to find the slot number at a given page-table level
  *
@@ -308,6 +327,8 @@ ENTRY(enable_secondary_cpu_mm)
         bl    enable_mmu
         mov   lr, x5
 
+        pt_enforce_wxn x0
+
         /* Return to the virtual address requested by the caller. */
         ret
 ENDPROC(enable_secondary_cpu_mm)
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index bf2fe26f9e..a66aa219b1 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -216,8 +216,6 @@ extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
  * new page table */
 extern int init_secondary_pagetables(int cpu);
-/* Switch secondary CPUS to its own pagetables and finalise MMU setup */
-extern void mmu_init_secondary_cpu(void);
 /*
  * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
  * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f3ef0da0e3..3ee74542ba 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -322,12 +322,6 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 #endif
 }
 
-/* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
-{
-    xen_pt_enforce_wnx();
-}
-
 #ifdef CONFIG_ARM_32
 /*
  * Set up the direct-mapped xenheap:
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index e107b86b7b..ade2c77cf9 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -359,8 +359,6 @@ void start_secondary(void)
      */
     update_system_features(&current_cpu_data);
 
-    mmu_init_secondary_cpu();
-
     gic_init_secondary_cpu();
 
     set_current(idle_vcpu[cpuid]);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:40:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591284.923693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREn-0007iZ-IH; Mon, 28 Aug 2023 01:40:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591284.923693; Mon, 28 Aug 2023 01:40: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 1qaREn-0007iI-EK; Mon, 28 Aug 2023 01:40:17 +0000
Received: by outflank-mailman (input) for mailman id 591284;
 Mon, 28 Aug 2023 01:40: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR8A-0000xW-Ub
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id e17605c1-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:33:25 +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 BEDAA2F4;
 Sun, 27 Aug 2023 18:34:04 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A631C3F740;
 Sun, 27 Aug 2023 18: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: e17605c1-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v6 11/13] xen/arm: Fold pmap and fixmap into MMU system
Date: Mon, 28 Aug 2023 09:32:22 +0800
Message-Id: <20230828013224.669433-12-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

fixmap and pmap are MMU-specific features, so fold them to the
MMU system. Do the folding for pmap by moving the HAS_PMAP Kconfig
selection under MMU. Since none of the definitions in asm/fixmap.h
actually makes sense for the MPU, so do the folding for fixmap by
limiting the inclusion of asm/fixmap.h for MPU code when necessary.
To guarantee that, moving the implementation of copy_from_paddr()
from kernel.c to mmu/setup.c, so that inclusion of asm/fixmap.h in
the kernel.c can be dropped.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v6:
- Rework original patch:
  [v5,08/13] xen/arm: Fold pmap and fixmap into MMU system
  and fold in the original patch:
  [v5,12/13] xen/arm: mmu: relocate copy_from_paddr() to setup.c
---
 xen/arch/arm/Kconfig     |  2 +-
 xen/arch/arm/kernel.c    | 28 ----------------------------
 xen/arch/arm/mmu/setup.c | 27 +++++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index eb0413336b..8a7b79b4b5 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -15,7 +15,6 @@ config ARM
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
 	select HAS_PDX
-	select HAS_PMAP
 	select HAS_UBSAN
 	select IOMMU_FORCE_PT_SHARE
 
@@ -61,6 +60,7 @@ config PADDR_BITS
 
 config MMU
 	def_bool y
+	select HAS_PMAP
 
 source "arch/Kconfig"
 
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 508c54824d..bc3e5bd6f9 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -16,7 +16,6 @@
 #include <xen/vmap.h>
 
 #include <asm/byteorder.h>
-#include <asm/fixmap.h>
 #include <asm/kernel.h>
 #include <asm/setup.h>
 
@@ -41,33 +40,6 @@ struct minimal_dtb_header {
 
 #define DTB_MAGIC 0xd00dfeedU
 
-/**
- * copy_from_paddr - copy data from a physical address
- * @dst: destination virtual address
- * @paddr: source physical address
- * @len: length to copy
- */
-void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
-{
-    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
-
-    while (len) {
-        unsigned long l, s;
-
-        s = paddr & (PAGE_SIZE-1);
-        l = min(PAGE_SIZE - s, len);
-
-        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
-        memcpy(dst, src + s, l);
-        clean_dcache_va_range(dst, l);
-        clear_fixmap(FIXMAP_MISC);
-
-        paddr += l;
-        dst += l;
-        len -= l;
-    }
-}
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index eb0dda00dc..c9a4e8f700 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -335,6 +335,33 @@ void free_init_memory(void)
     printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
 }
 
+/**
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
+
+    while (len) {
+        unsigned long l, s;
+
+        s = paddr & (PAGE_SIZE-1);
+        l = min(PAGE_SIZE - s, len);
+
+        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
+        memcpy(dst, src + s, l);
+        clean_dcache_va_range(dst, l);
+        clear_fixmap(FIXMAP_MISC);
+
+        paddr += l;
+        dst += l;
+        len -= l;
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:40:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591268.923673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREk-0007A8-Tg; Mon, 28 Aug 2023 01:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591268.923673; Mon, 28 Aug 2023 01: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 1qaREk-00079q-Oj; Mon, 28 Aug 2023 01:40:14 +0000
Received: by outflank-mailman (input) for mailman id 591268;
 Mon, 28 Aug 2023 01:40: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR8D-0000i9-LK
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e3bfb5ea-4542-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:33: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 99D182F4;
 Sun, 27 Aug 2023 18:34:08 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 803DF3F740;
 Sun, 27 Aug 2023 18: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: e3bfb5ea-4542-11ee-8783-cb3800f73035
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 12/13] xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
Date: Mon, 28 Aug 2023 09:32:23 +0800
Message-Id: <20230828013224.669433-13-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

init_secondary_pagetables() is a function in the common code path
of both MMU and future MPU support. Since "page table" is a MMU
specific concept, rename init_secondary_pagetables() to a generic
name prepare_secondary_mm() as the preparation for MPU support.

Take the opportunity to fix the incorrect coding style of the in-code
comments.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- Only rename init_secondary_pagetables() to prepare_secondary_mm().
---
 xen/arch/arm/arm32/head.S     | 2 +-
 xen/arch/arm/include/asm/mm.h | 8 +++++---
 xen/arch/arm/mmu/smpboot.c    | 4 ++--
 xen/arch/arm/smpboot.c        | 2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 39218cf15f..c7b2efb8f0 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -257,7 +257,7 @@ GLOBAL(init_secondary)
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in init_secondary_pagetables.
+         * setup in prepare_secondary_mm.
          *
          * XXX: This is not compliant with the Arm Arm.
          */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index ded6d076c5..c1ccedc4d7 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -209,9 +209,11 @@ extern void setup_pagetables(unsigned long boot_phys_offset);
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
-/* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
- * new page table */
-extern int init_secondary_pagetables(int cpu);
+/*
+ * Allocate and initialise pagetables for a secondary CPU.
+ * Sets init_ttbr to the new page table.
+ */
+extern int prepare_secondary_mm(int cpu);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
index a673989d09..f489a19f70 100644
--- a/xen/arch/arm/mmu/smpboot.c
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -64,7 +64,7 @@ static void clear_boot_pagetables(void)
 }
 
 #ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
+int prepare_secondary_mm(int cpu)
 {
     clear_boot_pagetables();
 
@@ -77,7 +77,7 @@ int init_secondary_pagetables(int cpu)
     return 0;
 }
 #else
-int init_secondary_pagetables(int cpu)
+int prepare_secondary_mm(int cpu)
 {
     lpae_t *first;
 
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index ade2c77cf9..f7558b2c8c 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -446,7 +446,7 @@ int __cpu_up(unsigned int cpu)
 
     printk("Bringing up CPU%d\n", cpu);
 
-    rc = init_secondary_pagetables(cpu);
+    rc = prepare_secondary_mm(cpu);
     if ( rc < 0 )
         return rc;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:40:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:40:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591286.923702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREo-0007yw-Sp; Mon, 28 Aug 2023 01:40:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591286.923702; Mon, 28 Aug 2023 01:40:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaREo-0007yK-Mg; Mon, 28 Aug 2023 01:40:18 +0000
Received: by outflank-mailman (input) for mailman id 591286;
 Mon, 28 Aug 2023 01:40: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaR8M-0000xW-PE
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:33:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id e6f17cbc-4542-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:33: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 EB1742F4;
 Sun, 27 Aug 2023 18:34:13 -0700 (PDT)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4A9183F740;
 Sun, 27 Aug 2023 18:33:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6f17cbc-4542-11ee-9b0c-b553b5be7939
From: Henry Wang <Henry.Wang@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>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 13/13] xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
Date: Mon, 28 Aug 2023 09:32:24 +0800
Message-Id: <20230828013224.669433-14-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230828013224.669433-1-Henry.Wang@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

Current P2M implementation is designed for MMU system only.
We move the MMU-specific codes into mmu/p2m.c, and only keep generic
codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
Also expose previously static functions p2m_vmid_allocator_init(),
p2m_alloc_vmid(), and setup_virt_paging_one() for further MPU usage.

With the code movement, global variable max_vmid is used in multiple
files instead of a single file (and will be used in MPU P2M
implementation), declare it in the header and remove the "static" of
this variable.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- Also move relinquish_p2m_mapping() to mmu/p2m.c, make
  __p2m_set_entry() static.
- Also move p2m_clear_root_pages() and p2m_flush_vm() to mmu/p2m.c.
- Don't add #ifdef CONFIG_MMU to the p2m_tlb_flush_sync() in
  p2m_write_unlock(), this need further discussion.
- Correct typo in commit message.
v5:
- No change
v4:
- Rework the patch to drop the unnecessary changes.
- Rework the commit msg a bit.
v3:
- remove MPU stubs
- adapt to the introduction of new directories: mmu/
v2:
- new commit
---
 xen/arch/arm/include/asm/mmu/p2m.h |   18 +
 xen/arch/arm/include/asm/p2m.h     |   26 +-
 xen/arch/arm/mmu/Makefile          |    1 +
 xen/arch/arm/mmu/p2m.c             | 1736 ++++++++++++++++++++++++++
 xen/arch/arm/p2m.c                 | 1837 +---------------------------
 5 files changed, 1832 insertions(+), 1786 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/p2m.c

diff --git a/xen/arch/arm/include/asm/mmu/p2m.h b/xen/arch/arm/include/asm/mmu/p2m.h
new file mode 100644
index 0000000000..f829e325ce
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/p2m.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_P2M_H__
+#define __ARM_MMU_P2M_H__
+
+struct p2m_domain;
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m);
+void p2m_tlb_flush_sync(struct p2m_domain *p2m);
+
+#endif /* __ARM_MMU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 940495d42b..a9622dac9a 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -19,6 +19,22 @@ extern unsigned int p2m_root_level;
 #define P2M_ROOT_ORDER    p2m_root_order
 #define P2M_ROOT_LEVEL p2m_root_level
 
+#define MAX_VMID_8_BIT  (1UL << 8)
+#define MAX_VMID_16_BIT (1UL << 16)
+
+#define INVALID_VMID 0 /* VMID 0 is reserved */
+
+#ifdef CONFIG_ARM_64
+extern unsigned int max_vmid;
+/* VMID is by default 8 bit width on AArch64 */
+#define MAX_VMID       max_vmid
+#else
+/* VMID is always 8 bit width on AArch32 */
+#define MAX_VMID        MAX_VMID_8_BIT
+#endif
+
+#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
+
 struct domain;
 
 extern void memory_type_changed(struct domain *);
@@ -156,6 +172,10 @@ typedef enum {
 #endif
 #include <xen/p2m-common.h>
 
+#ifdef CONFIG_MMU
+#include <asm/mmu/p2m.h>
+#endif
+
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
@@ -180,7 +200,11 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
  */
 void p2m_restrict_ipa_bits(unsigned int ipa_bits);
 
+void p2m_vmid_allocator_init(void);
+int p2m_alloc_vmid(struct domain *d);
+
 /* Second stage paging setup, to be called on all CPUs */
+void setup_virt_paging_one(void *data);
 void setup_virt_paging(void);
 
 /* Init the datastructures for later use by the p2m code */
@@ -242,8 +266,6 @@ static inline int p2m_is_write_locked(struct p2m_domain *p2m)
     return rw_is_write_locked(&p2m->lock);
 }
 
-void p2m_tlb_flush_sync(struct p2m_domain *p2m);
-
 /* Look up the MFN corresponding to a domain's GFN. */
 mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t);
 
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 98aea965df..67475fcd80 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,3 +1,4 @@
+obj-y += p2m.o
 obj-y += pt.o
 obj-y += setup.o
 obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
new file mode 100644
index 0000000000..189c8cc564
--- /dev/null
+++ b/xen/arch/arm/mmu/p2m.c
@@ -0,0 +1,1736 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/domain_page.h>
+#include <xen/ioreq.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+#include <xen/softirq.h>
+
+#include <asm/alternative.h>
+#include <asm/event.h>
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+unsigned int __read_mostly p2m_root_order;
+unsigned int __read_mostly p2m_root_level;
+
+static mfn_t __read_mostly empty_root_mfn;
+
+static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
+{
+    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
+}
+
+static struct page_info *p2m_alloc_page(struct domain *d)
+{
+    struct page_info *pg;
+
+    /*
+     * For hardware domain, there should be no limit in the number of pages that
+     * can be allocated, so that the kernel may take advantage of the extended
+     * regions. Hence, allocate p2m pages for hardware domains from heap.
+     */
+    if ( is_hardware_domain(d) )
+    {
+        pg = alloc_domheap_page(NULL, 0);
+        if ( pg == NULL )
+            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
+    }
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+
+    return pg;
+}
+
+static void p2m_free_page(struct domain *d, struct page_info *pg)
+{
+    if ( is_hardware_domain(d) )
+        free_domheap_page(pg);
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
+    return 0;
+}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d->arch.paging.lock held.
+ */
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+{
+    struct page_info *pg;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( ; ; )
+    {
+        if ( d->arch.paging.p2m_total_pages < pages )
+        {
+            /* Need to allocate more memory from domheap */
+            pg = alloc_domheap_page(NULL, 0);
+            if ( pg == NULL )
+            {
+                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
+                return -ENOMEM;
+            }
+            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                d->arch.paging.p2m_total_pages + 1;
+            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        }
+        else if ( d->arch.paging.p2m_total_pages > pages )
+        {
+            /* Need to return memory to domheap */
+            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+            if( pg )
+            {
+                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                    d->arch.paging.p2m_total_pages - 1;
+                free_domheap_page(pg);
+            }
+            else
+            {
+                printk(XENLOG_ERR
+                       "Failed to free P2M pages, P2M freelist is empty.\n");
+                return -ENOMEM;
+            }
+        }
+        else
+            break;
+
+        /* Check to see if we need to yield and try again */
+        if ( preempted && general_preempt_check() )
+        {
+            *preempted = true;
+            return -ERESTART;
+        }
+    }
+
+    return 0;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = size >> PAGE_SHIFT;
+    bool preempted = false;
+    int rc;
+
+    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
+         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, &preempted);
+    spin_unlock(&d->arch.paging.lock);
+
+    ASSERT(preempted == (rc == -ERESTART));
+
+    return rc;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    int ret = 0;
+    bool preempted = false;
+
+    spin_lock(&d->arch.paging.lock);
+    if ( d->arch.paging.p2m_total_pages != 0 )
+    {
+        ret = p2m_set_allocation(d, 0, &preempted);
+        if ( preempted )
+        {
+            spin_unlock(&d->arch.paging.lock);
+            return -ERESTART;
+        }
+        ASSERT(d->arch.paging.p2m_total_pages == 0);
+    }
+    spin_unlock(&d->arch.paging.lock);
+
+    return ret;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m_read_lock(p2m);
+    printk("p2m mappings for domain %d (vmid %d):\n",
+           d->domain_id, p2m->vmid);
+    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
+    printk("  1G mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[1], p2m->stats.shattered[1]);
+    printk("  2M mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[2], p2m->stats.shattered[2]);
+    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
+    p2m_read_unlock(p2m);
+}
+
+/*
+ * p2m_save_state and p2m_restore_state work in pair to workaround
+ * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
+ * point to the empty page-tables to stop allocating TLB entries.
+ */
+void p2m_save_state(struct vcpu *p)
+{
+    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
+
+    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        /*
+         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
+         * the next vCPU context without worrying about AT instruction
+         * speculation.
+         */
+        isb();
+    }
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
+    uint8_t *last_vcpu_ran;
+
+    if ( is_idle_vcpu(n) )
+        return;
+
+    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
+    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
+     * registers associated to EL1/EL0 translations regime have been
+     * synchronized.
+     */
+    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
+    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
+
+    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
+
+    /*
+     * While we are restoring an out-of-context translation regime
+     * we still need to ensure:
+     *  - VTTBR_EL2 is synchronized before flushing the TLBs
+     *  - All registers for EL1 are synchronized before executing an AT
+     *  instructions targeting S1/S2.
+     */
+    isb();
+
+    /*
+     * Flush local TLB for the domain to prevent wrong TLB translation
+     * when running multiple vCPU of the same domain on a single pCPU.
+     */
+    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
+        flush_guest_tlb_local();
+
+    *last_vcpu_ran = n->vcpu_id;
+}
+
+/*
+ * Force a synchronous P2M TLB flush.
+ *
+ * Must be called with the p2m lock held.
+ */
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    unsigned long flags = 0;
+    uint64_t ovttbr;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * ARM only provides an instruction to flush TLBs for the current
+     * VMID. So switch to the VTTBR of a given P2M if different.
+     */
+    ovttbr = READ_SYSREG64(VTTBR_EL2);
+    if ( ovttbr != p2m->vttbr )
+    {
+        uint64_t vttbr;
+
+        local_irq_save(flags);
+
+        /*
+         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
+         * TLBs entries because the context is partially modified. We
+         * only need the VMID for flushing the TLBs, so we can generate
+         * a new VTTBR with the VMID to flush and the empty root table.
+         */
+        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+            vttbr = p2m->vttbr;
+        else
+            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
+
+        WRITE_SYSREG64(vttbr, VTTBR_EL2);
+
+        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
+        isb();
+    }
+
+    flush_guest_tlb();
+
+    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
+    {
+        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
+        /* Ensure VTTBR_EL2 is back in place before continuing. */
+        isb();
+        local_irq_restore(flags);
+    }
+
+    p2m->need_flush = false;
+}
+
+void p2m_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    if ( p2m->need_flush )
+        p2m_force_tlb_flush_sync(p2m);
+}
+
+/*
+ * Find and map the root page table. The caller is responsible for
+ * unmapping the table.
+ *
+ * The function will return NULL if the offset of the root table is
+ * invalid.
+ */
+static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
+                                    gfn_t gfn)
+{
+    unsigned long root_table;
+
+    /*
+     * While the root table index is the offset from the previous level,
+     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
+     * 0. Yet we still want to check if all the unused bits are zeroed.
+     */
+    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
+                                XEN_PT_LPAE_SHIFT);
+    if ( root_table >= P2M_ROOT_PAGES )
+        return NULL;
+
+    return __map_domain_page(p2m->root + root_table);
+}
+
+/*
+ * Lookup the MFN corresponding to a domain's GFN.
+ * Lookup mem access in the ratrix tree.
+ * The entries associated to the GFN is considered valid.
+ */
+static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
+{
+    void *ptr;
+
+    if ( !p2m->mem_access_enabled )
+        return p2m->default_access;
+
+    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
+    if ( !ptr )
+        return p2m_access_rwx;
+    else
+        return radix_tree_ptr_to_int(ptr);
+}
+
+/*
+ * In the case of the P2M, the valid bit is used for other purpose. Use
+ * the type to check whether an entry is valid.
+ */
+static inline bool p2m_is_valid(lpae_t pte)
+{
+    return pte.p2m.type != p2m_invalid;
+}
+
+/*
+ * lpae_is_* helpers don't check whether the valid bit is set in the
+ * PTE. Provide our own overlay to check the valid bit.
+ */
+static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
+}
+
+static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
+}
+
+#define GUEST_TABLE_MAP_FAILED 0
+#define GUEST_TABLE_SUPER_PAGE 1
+#define GUEST_TABLE_NORMAL_PAGE 2
+
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
+
+/*
+ * Take the currently mapped table, find the corresponding GFN entry,
+ * and map the next table, if available. The previous table will be
+ * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
+ * returned).
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
+ *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
+                          unsigned int level, lpae_t **table,
+                          unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !p2m_is_valid(*entry) )
+    {
+        if ( read_only )
+            return GUEST_TABLE_MAP_FAILED;
+
+        ret = p2m_create_table(p2m, entry);
+        if ( ret )
+            return GUEST_TABLE_MAP_FAILED;
+    }
+
+    /* The function p2m_next_level is never called at the 3rd level */
+    ASSERT(level < 3);
+    if ( p2m_is_mapping(*entry, level) )
+        return GUEST_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    unmap_domain_page(*table);
+    *table = map_domain_page(mfn);
+
+    return GUEST_TABLE_NORMAL_PAGE;
+}
+
+/*
+ * Get the details of a given gfn.
+ *
+ * If the entry is present, the associated MFN will be returned and the
+ * access and type filled up. The page_order will correspond to the
+ * order of the mapping in the page table (i.e it could be a superpage).
+ *
+ * If the entry is not present, INVALID_MFN will be returned and the
+ * page_order will be set according to the order of the invalid range.
+ *
+ * valid will contain the value of bit[0] (e.g valid bit) of the
+ * entry.
+ */
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
+                    p2m_type_t *t, p2m_access_t *a,
+                    unsigned int *page_order,
+                    bool *valid)
+{
+    paddr_t addr = gfn_to_gaddr(gfn);
+    unsigned int level = 0;
+    lpae_t entry, *table;
+    int rc;
+    mfn_t mfn = INVALID_MFN;
+    p2m_type_t _t;
+    DECLARE_OFFSETS(offsets, addr);
+
+    ASSERT(p2m_is_locked(p2m));
+    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
+
+    /* Allow t to be NULL */
+    t = t ?: &_t;
+
+    *t = p2m_invalid;
+
+    if ( valid )
+        *valid = false;
+
+    /* XXX: Check if the mapping is lower than the mapped gfn */
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+    {
+        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
+                 gfn_x(p2m->max_mapped_gfn) )
+                break;
+
+        goto out;
+    }
+
+    table = p2m_get_root_pointer(p2m, gfn);
+
+    /*
+     * the table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        level = P2M_ROOT_LEVEL;
+        goto out;
+    }
+
+    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+    {
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table[offsets[level]];
+
+    if ( p2m_is_valid(entry) )
+    {
+        *t = entry.p2m.type;
+
+        if ( a )
+            *a = p2m_mem_access_radix_get(p2m, gfn);
+
+        mfn = lpae_get_mfn(entry);
+        /*
+         * The entry may point to a superpage. Find the MFN associated
+         * to the GFN.
+         */
+        mfn = mfn_add(mfn,
+                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
+
+        if ( valid )
+            *valid = lpae_is_valid(entry);
+    }
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    if ( page_order )
+        *page_order = XEN_PT_LEVEL_ORDER(level);
+
+    return mfn;
+}
+
+static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
+{
+    /* First apply type permissions */
+    switch ( t )
+    {
+    case p2m_ram_rw:
+        e->p2m.xn = 0;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_ram_ro:
+        e->p2m.xn = 0;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_iommu_map_rw:
+    case p2m_map_foreign_rw:
+    case p2m_grant_map_rw:
+    case p2m_mmio_direct_dev:
+    case p2m_mmio_direct_nc:
+    case p2m_mmio_direct_c:
+        e->p2m.xn = 1;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_iommu_map_ro:
+    case p2m_map_foreign_ro:
+    case p2m_grant_map_ro:
+    case p2m_invalid:
+        e->p2m.xn = 1;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_max_real_type:
+        BUG();
+        break;
+    }
+
+    /* Then restrict with access permissions */
+    switch ( a )
+    {
+    case p2m_access_rwx:
+        break;
+    case p2m_access_wx:
+        e->p2m.read = 0;
+        break;
+    case p2m_access_rw:
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_w:
+        e->p2m.read = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_rx:
+    case p2m_access_rx2rw:
+        e->p2m.write = 0;
+        break;
+    case p2m_access_x:
+        e->p2m.write = 0;
+        e->p2m.read = 0;
+        break;
+    case p2m_access_r:
+        e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_n:
+    case p2m_access_n2rwx:
+        e->p2m.read = e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    }
+}
+
+static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
+{
+    /*
+     * sh, xn and write bit will be defined in the following switches
+     * based on mattr and t.
+     */
+    lpae_t e = (lpae_t) {
+        .p2m.af = 1,
+        .p2m.read = 1,
+        .p2m.table = 1,
+        .p2m.valid = 1,
+        .p2m.type = t,
+    };
+
+    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
+
+    switch ( t )
+    {
+    case p2m_mmio_direct_dev:
+        e.p2m.mattr = MATTR_DEV;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    case p2m_mmio_direct_c:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    /*
+     * ARM ARM: Overlaying the shareability attribute (DDI
+     * 0406C.b B3-1376 to 1377)
+     *
+     * A memory region with a resultant memory type attribute of Normal,
+     * and a resultant cacheability attribute of Inner Non-cacheable,
+     * Outer Non-cacheable, must have a resultant shareability attribute
+     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+     *
+     * On ARMv8 shareability is ignored and explicitly treated as Outer
+     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
+     */
+    case p2m_mmio_direct_nc:
+        e.p2m.mattr = MATTR_MEM_NC;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    default:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_INNER;
+    }
+
+    p2m_set_permission(&e, t, a);
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Generate table entry with correct attributes. */
+static lpae_t page_to_p2m_table(struct page_info *page)
+{
+    /*
+     * The access value does not matter because the hardware will ignore
+     * the permission fields for table entry.
+     *
+     * We use p2m_ram_rw so the entry has a valid type. This is important
+     * for p2m_is_valid() to return valid on table entries.
+     */
+    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
+}
+
+static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
+{
+    write_pte(p, pte);
+    if ( clean_pte )
+        clean_dcache(*p);
+}
+
+static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
+{
+    lpae_t pte;
+
+    memset(&pte, 0x00, sizeof(pte));
+    p2m_write_pte(p, pte, clean_pte);
+}
+
+/* Allocate a new page table page and hook it in via the given entry. */
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
+{
+    struct page_info *page;
+    lpae_t *p;
+
+    ASSERT(!p2m_is_valid(*entry));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( page == NULL )
+        return -ENOMEM;
+
+    page_list_add(page, &p2m->pages);
+
+    p = __map_domain_page(page);
+    clear_page(p);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(p, PAGE_SIZE);
+
+    unmap_domain_page(p);
+
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return 0;
+}
+
+static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
+                                    p2m_access_t a)
+{
+    int rc;
+
+    if ( !p2m->mem_access_enabled )
+        return 0;
+
+    if ( p2m_access_rwx == a )
+    {
+        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
+        return 0;
+    }
+
+    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
+                           radix_tree_int_to_ptr(a));
+    if ( rc == -EEXIST )
+    {
+        /* If a setting already exists, change it to the new one */
+        radix_tree_replace_slot(
+            radix_tree_lookup_slot(
+                &p2m->mem_access_settings, gfn_x(gfn)),
+            radix_tree_int_to_ptr(a));
+        rc = 0;
+    }
+
+    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)
+{
+    mfn_t mfn = lpae_get_mfn(pte);
+
+    ASSERT(p2m_is_valid(pte));
+
+    /*
+     * TODO: Handle other p2m types
+     *
+     * It's safe to do the put_page here because page_alloc will
+     * flush the TLBs if the page is reallocated before the end of
+     * this loop.
+     */
+    if ( p2m_is_foreign(pte.p2m.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) )
+        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
+}
+
+/* Free lpae sub-tree behind an entry */
+static void p2m_free_entry(struct p2m_domain *p2m,
+                           lpae_t entry, unsigned int level)
+{
+    unsigned int i;
+    lpae_t *table;
+    mfn_t mfn;
+    struct page_info *pg;
+
+    /* Nothing to do if the entry is invalid. */
+    if ( !p2m_is_valid(entry) )
+        return;
+
+    if ( p2m_is_superpage(entry, level) || (level == 3) )
+    {
+#ifdef CONFIG_IOREQ_SERVER
+        /*
+         * If this gets called then either the entry was replaced by an entry
+         * with a different base (valid case) or the shattering of a superpage
+         * has failed (error case).
+         * So, at worst, the spurious mapcache invalidation might be sent.
+         */
+        if ( p2m_is_ram(entry.p2m.type) &&
+             domain_has_ioreq_server(p2m->domain) )
+            ioreq_request_mapcache_invalidate(p2m->domain);
+#endif
+
+        p2m->stats.mappings[level]--;
+        /* Nothing to do if the entry is a super-page. */
+        if ( level == 3 )
+            p2m_put_l3_page(entry);
+        return;
+    }
+
+    table = map_domain_page(lpae_get_mfn(entry));
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+        p2m_free_entry(p2m, *(table + i), level + 1);
+
+    unmap_domain_page(table);
+
+    /*
+     * Make sure all the references in the TLB have been removed before
+     * freing the intermediate page table.
+     * XXX: Should we defer the free of the page table to avoid the
+     * flush?
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    mfn = lpae_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    page_list_del(pg, &p2m->pages);
+    p2m_free_page(p2m->domain, pg);
+}
+
+static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
+                                unsigned int level, unsigned int target,
+                                const unsigned int *offsets)
+{
+    struct page_info *page;
+    unsigned int i;
+    lpae_t pte, *table;
+    bool rv = true;
+
+    /* Convenience aliases */
+    mfn_t mfn = lpae_get_mfn(*entry);
+    unsigned int next_level = level + 1;
+    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
+
+    /*
+     * This should only be called with target != level and the entry is
+     * a superpage.
+     */
+    ASSERT(level < target);
+    ASSERT(p2m_is_superpage(*entry, level));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( !page )
+        return false;
+
+    page_list_add(page, &p2m->pages);
+    table = __map_domain_page(page);
+
+    /*
+     * We are either splitting a first level 1G page into 512 second level
+     * 2M pages, or a second level 2M page into 512 third level 4K pages.
+     */
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t *new_entry = table + i;
+
+        /*
+         * Use the content of the superpage entry and override
+         * the necessary fields. So the correct permission are kept.
+         */
+        pte = *entry;
+        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
+
+        /*
+         * First and second level pages set p2m.table = 0, but third
+         * level entries set p2m.table = 1.
+         */
+        pte.p2m.table = (next_level == 3);
+
+        write_pte(new_entry, pte);
+    }
+
+    /* Update stats */
+    p2m->stats.shattered[level]++;
+    p2m->stats.mappings[level]--;
+    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
+
+    /*
+     * Shatter superpage in the page to the level we want to make the
+     * changes.
+     * This is done outside the loop to avoid checking the offset to
+     * know whether the entry should be shattered for every entry.
+     */
+    if ( next_level != target )
+        rv = p2m_split_superpage(p2m, table + offsets[next_level],
+                                 level + 1, target, offsets);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(table, PAGE_SIZE);
+
+    unmap_domain_page(table);
+
+    /*
+     * Even if we failed, we should install the newly allocated LPAE
+     * entry. The caller will be in charge to free the sub-tree.
+     */
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return rv;
+}
+
+/*
+ * Insert an entry in the p2m. This should be called with a mapping
+ * equal to a page/superpage (4K, 2M, 1G).
+ */
+static int __p2m_set_entry(struct p2m_domain *p2m,
+                           gfn_t sgfn,
+                           unsigned int page_order,
+                           mfn_t smfn,
+                           p2m_type_t t,
+                           p2m_access_t a)
+{
+    unsigned int level = 0;
+    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
+    lpae_t *entry, *table, orig_pte;
+    int rc;
+    /* A mapping is removed if the MFN is invalid. */
+    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * Check if the level target is valid: we only support
+     * 4K - 2M - 1G mapping.
+     */
+    ASSERT(target > 0 && target <= 3);
+
+    table = p2m_get_root_pointer(p2m, sgfn);
+    if ( !table )
+        return -EINVAL;
+
+    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
+    {
+        /*
+         * Don't try to allocate intermediate page table if the mapping
+         * is about to be removed.
+         */
+        rc = p2m_next_level(p2m, removing_mapping,
+                            level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because p2m_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and they p2m tree is read-only). It is a valid case
+             * when removing a mapping as it may not exist in the
+             * page table. In this case, just ignore it.
+             */
+            rc = removing_mapping ?  0 : -ENOENT;
+            goto out;
+        }
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table + offsets[level];
+
+    /*
+     * If we are here with level < target, we must be at a leaf node,
+     * and we need to break up the superpage.
+     */
+    if ( level < target )
+    {
+        /* We need to split the original page. */
+        lpae_t split_pte = *entry;
+
+        ASSERT(p2m_is_superpage(*entry, level));
+
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        {
+            /*
+             * The current super-page is still in-place, so re-increment
+             * the stats.
+             */
+            p2m->stats.mappings[level]++;
+
+            /* Free the allocated sub-tree */
+            p2m_free_entry(p2m, split_pte, level);
+
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        /*
+         * Follow the break-before-sequence to update the entry.
+         * For more details see (D4.7.1 in ARM DDI 0487A.j).
+         */
+        p2m_remove_pte(entry, p2m->clean_pte);
+        p2m_force_tlb_flush_sync(p2m);
+
+        p2m_write_pte(entry, split_pte, p2m->clean_pte);
+
+        /* then move to the level we want to make real changes */
+        for ( ; level < target; level++ )
+        {
+            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+
+            /*
+             * The entry should be found and either be a table
+             * or a superpage if level 3 is not targeted
+             */
+            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
+                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
+        }
+
+        entry = table + offsets[level];
+    }
+
+    /*
+     * We should always be there with the correct level because
+     * all the intermediate tables have been installed if necessary.
+     */
+    ASSERT(level == target);
+
+    orig_pte = *entry;
+
+    /*
+     * The radix-tree can only work on 4KB. This is only used when
+     * memaccess is enabled and during shutdown.
+     */
+    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
+           p2m->domain->is_dying);
+    /*
+     * The access type should always be p2m_access_rwx when the mapping
+     * is removed.
+     */
+    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
+    /*
+     * Update the mem access permission before update the P2M. So we
+     * don't have to revert the mapping if it has failed.
+     */
+    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
+    if ( rc )
+        goto out;
+
+    /*
+     * Always remove the entry in order to follow the break-before-make
+     * sequence when updating the translation table (D4.7.1 in ARM DDI
+     * 0487A.j).
+     */
+    if ( lpae_is_valid(orig_pte) || removing_mapping )
+        p2m_remove_pte(entry, p2m->clean_pte);
+
+    if ( removing_mapping )
+        /* Flush can be deferred if the entry is removed */
+        p2m->need_flush |= !!lpae_is_valid(orig_pte);
+    else
+    {
+        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
+
+        if ( level < 3 )
+            pte.p2m.table = 0; /* Superpage entry */
+
+        /*
+         * It is necessary to flush the TLB before writing the new entry
+         * to keep coherency when the previous entry was valid.
+         *
+         * Although, it could be defered when only the permissions are
+         * changed (e.g in case of memaccess).
+         */
+        if ( lpae_is_valid(orig_pte) )
+        {
+            if ( likely(!p2m->mem_access_enabled) ||
+                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
+                p2m_force_tlb_flush_sync(p2m);
+            else
+                p2m->need_flush = true;
+        }
+        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
+            p2m->stats.mappings[level]++;
+
+        p2m_write_pte(entry, pte, p2m->clean_pte);
+
+        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
+                                      gfn_add(sgfn, (1UL << page_order) - 1));
+        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
+    }
+
+    if ( is_iommu_enabled(p2m->domain) &&
+         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
+    {
+        unsigned int flush_flags = 0;
+
+        if ( lpae_is_valid(orig_pte) )
+            flush_flags |= IOMMU_FLUSHF_modified;
+        if ( lpae_is_valid(*entry) )
+            flush_flags |= IOMMU_FLUSHF_added;
+
+        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
+                               1UL << page_order, flush_flags);
+    }
+    else
+        rc = 0;
+
+    /*
+     * Free the entry only if the original pte was valid and the base
+     * is different (to avoid freeing when permission is changed).
+     */
+    if ( p2m_is_valid(orig_pte) &&
+         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
+        p2m_free_entry(p2m, orig_pte, level);
+
+out:
+    unmap_domain_page(table);
+
+    return rc;
+}
+
+int p2m_set_entry(struct p2m_domain *p2m,
+                  gfn_t sgfn,
+                  unsigned long nr,
+                  mfn_t smfn,
+                  p2m_type_t t,
+                  p2m_access_t a)
+{
+    int rc = 0;
+
+    /*
+     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
+     * be dropped in relinquish_p2m_mapping(). As the P2M will still
+     * be accessible after, we need to prevent mapping to be added when the
+     * domain is dying.
+     */
+    if ( unlikely(p2m->domain->is_dying) )
+        return -ENOMEM;
+
+    while ( nr )
+    {
+        unsigned long mask;
+        unsigned long order;
+
+        /*
+         * Don't take into account the MFN when removing mapping (i.e
+         * MFN_INVALID) to calculate the correct target order.
+         *
+         * XXX: Support superpage mappings if nr is not aligned to a
+         * superpage size.
+         */
+        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
+        mask |= gfn_x(sgfn) | nr;
+
+        /* Always map 4k by 4k when memaccess is enabled */
+        if ( unlikely(p2m->mem_access_enabled) )
+            order = THIRD_ORDER;
+        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
+            order = FIRST_ORDER;
+        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
+            order = SECOND_ORDER;
+        else
+            order = THIRD_ORDER;
+
+        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
+        if ( rc )
+            break;
+
+        sgfn = gfn_add(sgfn, (1 << order));
+        if ( !mfn_eq(smfn, INVALID_MFN) )
+           smfn = mfn_add(smfn, (1 << order));
+
+        nr -= (1 << order);
+    }
+
+    return rc;
+}
+
+/* Invalidate all entries in the table. The p2m should be write locked. */
+static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
+{
+    lpae_t *table;
+    unsigned int i;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    table = map_domain_page(mfn);
+
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t pte = table[i];
+
+        /*
+         * Writing an entry can be expensive because it may involve
+         * cleaning the cache. So avoid updating the entry if the valid
+         * bit is already cleared.
+         */
+        if ( !pte.p2m.valid )
+            continue;
+
+        pte.p2m.valid = 0;
+
+        p2m_write_pte(&table[i], pte, p2m->clean_pte);
+    }
+
+    unmap_domain_page(table);
+
+    p2m->need_flush = true;
+}
+
+/*
+ * The domain will not be scheduled anymore, so in theory we should
+ * not need to flush the TLBs. Do it for safety purpose.
+ * Note that all the devices have already been de-assigned. So we don't
+ * need to flush the IOMMU TLB here.
+ */
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
+
+    p2m_force_tlb_flush_sync(p2m);
+
+    p2m_write_unlock(p2m);
+}
+
+/*
+ * Invalidate all entries in the root page-tables. This is
+ * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
+ */
+void p2m_invalidate_root(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
+        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+
+    p2m_write_unlock(p2m);
+}
+
+/*
+ * Resolve any translation fault due to change in the p2m. This
+ * includes break-before-make and valid bit cleared.
+ */
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned int level = 0;
+    bool resolved = false;
+    lpae_t entry, *table;
+
+    /* Convenience aliases */
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    p2m_write_lock(p2m);
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+        goto out;
+
+    table = p2m_get_root_pointer(p2m, gfn);
+    /*
+     * The table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        goto out;
+    }
+
+    /*
+     * Go down the page-tables until an entry has the valid bit unset or
+     * a block/page entry has been hit.
+     */
+    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
+    {
+        int rc;
+
+        entry = table[offsets[level]];
+
+        if ( level == 3 )
+            break;
+
+        /* Stop as soon as we hit an entry with the valid bit unset. */
+        if ( !lpae_is_valid(entry) )
+            break;
+
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    /*
+     * If the valid bit of the entry is set, it means someone was playing with
+     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     */
+    if ( lpae_is_valid(entry) )
+    {
+        resolved = true;
+        goto out_unmap;
+    }
+
+    /*
+     * The valid bit is unset. If the entry is still not valid then the fault
+     * cannot be resolved, exit and report it.
+     */
+    if ( !p2m_is_valid(entry) )
+        goto out_unmap;
+
+    /*
+     * Now we have an entry with valid bit unset, but still valid from
+     * the P2M point of view.
+     *
+     * If an entry is pointing to a table, each entry of the table will
+     * have there valid bit cleared. This allows a function to clear the
+     * full p2m with just a couple of write. The valid bit will then be
+     * propagated on the fault.
+     * If an entry is pointing to a block/page, no work to do for now.
+     */
+    if ( lpae_is_table(entry, level) )
+        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+
+    /*
+     * Now that the work on the entry is done, set the valid bit to prevent
+     * another fault on that entry.
+     */
+    resolved = true;
+    entry.p2m.valid = 1;
+
+    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+
+    /*
+     * No need to flush the TLBs as the modified entry had the valid bit
+     * unset.
+     */
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    p2m_write_unlock(p2m);
+
+    return resolved;
+}
+
+static struct page_info *p2m_allocate_root(void)
+{
+    struct page_info *page;
+    unsigned int i;
+
+    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
+    if ( page == NULL )
+        return NULL;
+
+    /* Clear both first level pages */
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(page + i);
+
+    return page;
+}
+
+static int p2m_alloc_table(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m->root = p2m_allocate_root();
+    if ( !p2m->root )
+        return -ENOMEM;
+
+    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
+
+    /*
+     * Make sure that all TLBs corresponding to the new VMID are flushed
+     * before using it
+     */
+    p2m_write_lock(p2m);
+    p2m_force_tlb_flush_sync(p2m);
+    p2m_write_unlock(p2m);
+
+    return 0;
+}
+
+int p2m_teardown(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    struct page_info *pg;
+    int rc = 0;
+
+    p2m_write_lock(p2m);
+
+    while ( (pg = page_list_remove_head(&p2m->pages)) )
+    {
+        p2m_free_page(p2m->domain, pg);
+        count++;
+        /* Arbitrarily preempt every 512 iterations */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+    }
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+int p2m_init(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    int rc;
+    unsigned int cpu;
+
+    rwlock_init(&p2m->lock);
+    spin_lock_init(&d->arch.paging.lock);
+    INIT_PAGE_LIST_HEAD(&p2m->pages);
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
+
+    p2m->vmid = INVALID_VMID;
+    p2m->max_mapped_gfn = _gfn(0);
+    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
+
+    p2m->default_access = p2m_access_rwx;
+    p2m->mem_access_enabled = false;
+    radix_tree_init(&p2m->mem_access_settings);
+
+    /*
+     * Some IOMMUs don't support coherent PT walk. When the p2m is
+     * shared with the CPU, Xen has to make sure that the PT changes have
+     * reached the memory
+     */
+    p2m->clean_pte = is_iommu_enabled(d) &&
+        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
+
+    /*
+     * Make sure that the type chosen to is able to store the an vCPU ID
+     * between 0 and the maximum of virtual CPUS supported as long as
+     * the INVALID_VCPU_ID.
+     */
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
+
+    for_each_possible_cpu(cpu)
+       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
+
+    /*
+     * "Trivial" initialisation is now complete.  Set the backpointer so
+     * p2m_teardown() and friends know to do something.
+     */
+    p2m->domain = d;
+
+    rc = p2m_alloc_vmid(d);
+    if ( rc )
+        return rc;
+
+    rc = p2m_alloc_table(d);
+    if ( rc )
+        return rc;
+
+    return 0;
+}
+
+/*
+ * The function will go through the p2m and remove page reference when it
+ * is required. The mapping will be removed from the p2m.
+ *
+ * XXX: See whether the mapping can be left intact in the p2m.
+ */
+int relinquish_p2m_mapping(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    p2m_type_t t;
+    int rc = 0;
+    unsigned int order;
+    gfn_t start, end;
+
+    BUG_ON(!d->is_dying);
+    /* No mappings can be added in the P2M after the P2M lock is released. */
+    p2m_write_lock(p2m);
+
+    start = p2m->lowest_mapped_gfn;
+    end = gfn_add(p2m->max_mapped_gfn, 1);
+
+    for ( ; gfn_x(start) < gfn_x(end);
+          start = gfn_next_boundary(start, order) )
+    {
+        mfn_t mfn = p2m_get_entry(p2m, start, &t, NULL, &order, NULL);
+
+        count++;
+        /*
+         * Arbitrarily preempt every 512 iterations.
+         */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+
+        /*
+         * p2m_set_entry will take care of removing reference on page
+         * when it is necessary and removing the mapping in the p2m.
+         */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            /*
+             * For valid mapping, the start will always be aligned as
+             * entry will be removed whilst relinquishing.
+             */
+            rc = __p2m_set_entry(p2m, start, order, INVALID_MFN,
+                                 p2m_invalid, p2m_access_rwx);
+            if ( unlikely(rc) )
+            {
+                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%#"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
+                break;
+            }
+        }
+    }
+
+    /*
+     * Update lowest_mapped_gfn so on the next call we still start where
+     * we stopped.
+     */
+    p2m->lowest_mapped_gfn = start;
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+/*
+ * Clean & invalidate RAM associated to the guest vCPU.
+ *
+ * The function can only work with the current vCPU and should be called
+ * with IRQ enabled as the vCPU could get preempted.
+ */
+void p2m_flush_vm(struct vcpu *v)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
+    int rc;
+    gfn_t start = _gfn(0);
+
+    ASSERT(v == current);
+    ASSERT(local_irq_is_enabled());
+    ASSERT(v->arch.need_flush_to_ram);
+
+    do
+    {
+        rc = p2m_cache_flush_range(v->domain, &start, _gfn(ULONG_MAX));
+        if ( rc == -ERESTART )
+            do_softirq();
+    } while ( rc == -ERESTART );
+
+    if ( rc != 0 )
+        gprintk(XENLOG_WARNING,
+                "P2M has not been correctly cleaned (rc = %d)\n",
+                rc);
+
+    /*
+     * Invalidate the p2m to track which page was modified by the guest
+     * between call of p2m_flush_vm().
+     */
+    p2m_invalidate_root(p2m);
+
+    v->arch.need_flush_to_ram = false;
+}
+
+/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
+static register_t __read_mostly vtcr;
+
+void setup_virt_paging_one(void *data)
+{
+    WRITE_SYSREG(vtcr, VTCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
+     * entries related to EL1/EL0 translation regime until a guest vCPU
+     * is running. For that, we need to set-up VTTBR to point to an empty
+     * page-table and turn on stage-2 translation. The TLB entries
+     * associated with EL1/EL0 translation regime will also be flushed in case
+     * an AT instruction was speculated before hand.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
+        isb();
+
+        flush_all_guests_tlb_local();
+    }
+}
+
+void __init setup_virt_paging(void)
+{
+    /* Setup Stage 2 address translation */
+    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
+
+    static const struct {
+        unsigned int pabits; /* Physical Address Size */
+        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
+        unsigned int root_order; /* Page order of the root of the p2m */
+        unsigned int sl0;    /* Desired SL0, maximum in comment */
+    } pa_range_info[] __initconst = {
+        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
+        /*      PA size, t0sz(min), root-order, sl0(max) */
+#ifdef CONFIG_ARM_64
+        [0] = { 32,      32/*32*/,  0,          1 },
+        [1] = { 36,      28/*28*/,  0,          1 },
+        [2] = { 40,      24/*24*/,  1,          1 },
+        [3] = { 42,      22/*22*/,  3,          1 },
+        [4] = { 44,      20/*20*/,  0,          2 },
+        [5] = { 48,      16/*16*/,  0,          2 },
+        [6] = { 52,      12/*12*/,  4,          2 },
+        [7] = { 0 }  /* Invalid */
+#else
+        { 32,      0/*0*/,    0,          1 },
+        { 40,      24/*24*/,  1,          1 }
+#endif
+    };
+
+    unsigned int i;
+    unsigned int pa_range = 0x10; /* Larger than any possible value */
+
+#ifdef CONFIG_ARM_32
+    /*
+     * Typecast pa_range_info[].t0sz into arm32 bit variant.
+     *
+     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
+     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
+     * struct bitfields.
+     */
+    struct
+    {
+        signed int val:5;
+    } t0sz_32;
+#else
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
+
+    /*
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
+     */
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
+        max_vmid = MAX_VMID_16_BIT;
+#endif
+
+    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
+    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
+    {
+        if ( p2m_ipa_bits == pa_range_info[i].pabits )
+        {
+            pa_range = i;
+            break;
+        }
+    }
+
+    /* Check if we found the associated entry in the array */
+    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
+        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
+
+#ifdef CONFIG_ARM_64
+    val |= VTCR_PS(pa_range);
+    val |= VTCR_TG0_4K;
+
+    /* Set the VS bit only if 16 bit VMID is supported. */
+    if ( MAX_VMID == MAX_VMID_16_BIT )
+        val |= VTCR_VS;
+#endif
+
+    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
+    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
+
+    p2m_root_order = pa_range_info[pa_range].root_order;
+    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
+
+#ifdef CONFIG_ARM_64
+    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
+#else
+    t0sz_32.val = pa_range_info[pa_range].t0sz;
+    p2m_ipa_bits = 32 - t0sz_32.val;
+#endif
+
+    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
+           p2m_ipa_bits,
+           pa_range_info[pa_range].pabits,
+           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
+
+    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
+           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
+
+    p2m_vmid_allocator_init();
+
+    /* It is not allowed to concatenate a level zero root */
+    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
+    vtcr = val;
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
+     * with all entries zeroed.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        struct page_info *root;
+
+        root = p2m_allocate_root();
+        if ( !root )
+            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
+
+        empty_root_mfn = page_to_mfn(root);
+    }
+
+    setup_virt_paging_one(NULL);
+    smp_call_function(setup_virt_paging_one, NULL, 1);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..b8aca110d5 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,191 +1,26 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 #include <xen/cpu.h>
-#include <xen/domain_page.h>
 #include <xen/iocap.h>
-#include <xen/ioreq.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
-#include <asm/alternative.h>
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
-#define MAX_VMID_8_BIT  (1UL << 8)
-#define MAX_VMID_16_BIT (1UL << 16)
-
-#define INVALID_VMID 0 /* VMID 0 is reserved */
-
-unsigned int __read_mostly p2m_root_order;
-unsigned int __read_mostly p2m_root_level;
 #ifdef CONFIG_ARM_64
-static unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
-/* VMID is by default 8 bit width on AArch64 */
-#define MAX_VMID       max_vmid
-#else
-/* VMID is always 8 bit width on AArch32 */
-#define MAX_VMID        MAX_VMID_8_BIT
+unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
 #endif
 
-#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
-
 /*
  * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
  * restricted by external entity (e.g. IOMMU).
  */
 unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
 
-static mfn_t __read_mostly empty_root_mfn;
-
-static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
-{
-    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
-}
-
-static struct page_info *p2m_alloc_page(struct domain *d)
-{
-    struct page_info *pg;
-
-    /*
-     * For hardware domain, there should be no limit in the number of pages that
-     * can be allocated, so that the kernel may take advantage of the extended
-     * regions. Hence, allocate p2m pages for hardware domains from heap.
-     */
-    if ( is_hardware_domain(d) )
-    {
-        pg = alloc_domheap_page(NULL, 0);
-        if ( pg == NULL )
-            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
-    }
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-
-    return pg;
-}
-
-static void p2m_free_page(struct domain *d, struct page_info *pg)
-{
-    if ( is_hardware_domain(d) )
-        free_domheap_page(pg);
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-}
-
-/* Return the size of the pool, in bytes. */
-int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
-{
-    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
-    return 0;
-}
-
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
-{
-    struct page_info *pg;
-
-    ASSERT(spin_is_locked(&d->arch.paging.lock));
-
-    for ( ; ; )
-    {
-        if ( d->arch.paging.p2m_total_pages < pages )
-        {
-            /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(NULL, 0);
-            if ( pg == NULL )
-            {
-                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
-                return -ENOMEM;
-            }
-            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                d->arch.paging.p2m_total_pages + 1;
-            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        }
-        else if ( d->arch.paging.p2m_total_pages > pages )
-        {
-            /* Need to return memory to domheap */
-            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-            if( pg )
-            {
-                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                    d->arch.paging.p2m_total_pages - 1;
-                free_domheap_page(pg);
-            }
-            else
-            {
-                printk(XENLOG_ERR
-                       "Failed to free P2M pages, P2M freelist is empty.\n");
-                return -ENOMEM;
-            }
-        }
-        else
-            break;
-
-        /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
-            return -ERESTART;
-        }
-    }
-
-    return 0;
-}
-
-int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
-{
-    unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
-    int rc;
-
-    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
-         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
-        return -EINVAL;
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
-    spin_unlock(&d->arch.paging.lock);
-
-    ASSERT(preempted == (rc == -ERESTART));
-
-    return rc;
-}
-
-int p2m_teardown_allocation(struct domain *d)
-{
-    int ret = 0;
-    bool preempted = false;
-
-    spin_lock(&d->arch.paging.lock);
-    if ( d->arch.paging.p2m_total_pages != 0 )
-    {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
-        {
-            spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
-        }
-        ASSERT(d->arch.paging.p2m_total_pages == 0);
-    }
-    spin_unlock(&d->arch.paging.lock);
-
-    return ret;
-}
-
 /* Unlock the flush and do a P2M TLB flush if necessary */
 void p2m_write_unlock(struct p2m_domain *p2m)
 {
@@ -196,1271 +31,82 @@ void p2m_write_unlock(struct p2m_domain *p2m)
      */
     p2m_tlb_flush_sync(p2m);
 
-    write_unlock(&p2m->lock);
-}
-
-void p2m_dump_info(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    printk("p2m mappings for domain %d (vmid %d):\n",
-           d->domain_id, p2m->vmid);
-    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
-    printk("  1G mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[1], p2m->stats.shattered[1]);
-    printk("  2M mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[2], p2m->stats.shattered[2]);
-    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
-    p2m_read_unlock(p2m);
-}
-
-void memory_type_changed(struct domain *d)
-{
-}
-
-void dump_p2m_lookup(struct domain *d, paddr_t addr)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
-
-    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
-           p2m->root, mfn_x(page_to_mfn(p2m->root)));
-
-    dump_pt_walk(page_to_maddr(p2m->root), addr,
-                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
-}
-
-/*
- * p2m_save_state and p2m_restore_state work in pair to workaround
- * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
- * point to the empty page-tables to stop allocating TLB entries.
- */
-void p2m_save_state(struct vcpu *p)
-{
-    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
-
-    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        /*
-         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
-         * the next vCPU context without worrying about AT instruction
-         * speculation.
-         */
-        isb();
-    }
-}
-
-void p2m_restore_state(struct vcpu *n)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
-    uint8_t *last_vcpu_ran;
-
-    if ( is_idle_vcpu(n) )
-        return;
-
-    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
-    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
-     * registers associated to EL1/EL0 translations regime have been
-     * synchronized.
-     */
-    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
-    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
-
-    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
-
-    /*
-     * While we are restoring an out-of-context translation regime
-     * we still need to ensure:
-     *  - VTTBR_EL2 is synchronized before flushing the TLBs
-     *  - All registers for EL1 are synchronized before executing an AT
-     *  instructions targeting S1/S2.
-     */
-    isb();
-
-    /*
-     * Flush local TLB for the domain to prevent wrong TLB translation
-     * when running multiple vCPU of the same domain on a single pCPU.
-     */
-    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
-        flush_guest_tlb_local();
-
-    *last_vcpu_ran = n->vcpu_id;
-}
-
-/*
- * Force a synchronous P2M TLB flush.
- *
- * Must be called with the p2m lock held.
- */
-static void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    unsigned long flags = 0;
-    uint64_t ovttbr;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * ARM only provides an instruction to flush TLBs for the current
-     * VMID. So switch to the VTTBR of a given P2M if different.
-     */
-    ovttbr = READ_SYSREG64(VTTBR_EL2);
-    if ( ovttbr != p2m->vttbr )
-    {
-        uint64_t vttbr;
-
-        local_irq_save(flags);
-
-        /*
-         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
-         * TLBs entries because the context is partially modified. We
-         * only need the VMID for flushing the TLBs, so we can generate
-         * a new VTTBR with the VMID to flush and the empty root table.
-         */
-        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-            vttbr = p2m->vttbr;
-        else
-            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
-
-        WRITE_SYSREG64(vttbr, VTTBR_EL2);
-
-        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
-        isb();
-    }
-
-    flush_guest_tlb();
-
-    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
-    {
-        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
-        /* Ensure VTTBR_EL2 is back in place before continuing. */
-        isb();
-        local_irq_restore(flags);
-    }
-
-    p2m->need_flush = false;
-}
-
-void p2m_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    if ( p2m->need_flush )
-        p2m_force_tlb_flush_sync(p2m);
-}
-
-/*
- * Find and map the root page table. The caller is responsible for
- * unmapping the table.
- *
- * The function will return NULL if the offset of the root table is
- * invalid.
- */
-static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
-                                    gfn_t gfn)
-{
-    unsigned long root_table;
-
-    /*
-     * While the root table index is the offset from the previous level,
-     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
-     * 0. Yet we still want to check if all the unused bits are zeroed.
-     */
-    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
-                                XEN_PT_LPAE_SHIFT);
-    if ( root_table >= P2M_ROOT_PAGES )
-        return NULL;
-
-    return __map_domain_page(p2m->root + root_table);
-}
-
-/*
- * Lookup the MFN corresponding to a domain's GFN.
- * Lookup mem access in the ratrix tree.
- * The entries associated to the GFN is considered valid.
- */
-static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
-{
-    void *ptr;
-
-    if ( !p2m->mem_access_enabled )
-        return p2m->default_access;
-
-    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
-    if ( !ptr )
-        return p2m_access_rwx;
-    else
-        return radix_tree_ptr_to_int(ptr);
-}
-
-/*
- * In the case of the P2M, the valid bit is used for other purpose. Use
- * the type to check whether an entry is valid.
- */
-static inline bool p2m_is_valid(lpae_t pte)
-{
-    return pte.p2m.type != p2m_invalid;
-}
-
-/*
- * lpae_is_* helpers don't check whether the valid bit is set in the
- * PTE. Provide our own overlay to check the valid bit.
- */
-static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
-}
-
-static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
-}
-
-#define GUEST_TABLE_MAP_FAILED 0
-#define GUEST_TABLE_SUPER_PAGE 1
-#define GUEST_TABLE_NORMAL_PAGE 2
-
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
-
-/*
- * Take the currently mapped table, find the corresponding GFN entry,
- * and map the next table, if available. The previous table will be
- * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
- * returned).
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
- *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
-                          unsigned int level, lpae_t **table,
-                          unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !p2m_is_valid(*entry) )
-    {
-        if ( read_only )
-            return GUEST_TABLE_MAP_FAILED;
-
-        ret = p2m_create_table(p2m, entry);
-        if ( ret )
-            return GUEST_TABLE_MAP_FAILED;
-    }
-
-    /* The function p2m_next_level is never called at the 3rd level */
-    ASSERT(level < 3);
-    if ( p2m_is_mapping(*entry, level) )
-        return GUEST_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    unmap_domain_page(*table);
-    *table = map_domain_page(mfn);
-
-    return GUEST_TABLE_NORMAL_PAGE;
-}
-
-/*
- * Get the details of a given gfn.
- *
- * If the entry is present, the associated MFN will be returned and the
- * access and type filled up. The page_order will correspond to the
- * order of the mapping in the page table (i.e it could be a superpage).
- *
- * If the entry is not present, INVALID_MFN will be returned and the
- * page_order will be set according to the order of the invalid range.
- *
- * valid will contain the value of bit[0] (e.g valid bit) of the
- * entry.
- */
-mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
-                    p2m_type_t *t, p2m_access_t *a,
-                    unsigned int *page_order,
-                    bool *valid)
-{
-    paddr_t addr = gfn_to_gaddr(gfn);
-    unsigned int level = 0;
-    lpae_t entry, *table;
-    int rc;
-    mfn_t mfn = INVALID_MFN;
-    p2m_type_t _t;
-    DECLARE_OFFSETS(offsets, addr);
-
-    ASSERT(p2m_is_locked(p2m));
-    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
-
-    /* Allow t to be NULL */
-    t = t ?: &_t;
-
-    *t = p2m_invalid;
-
-    if ( valid )
-        *valid = false;
-
-    /* XXX: Check if the mapping is lower than the mapped gfn */
-
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-    {
-        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
-                 gfn_x(p2m->max_mapped_gfn) )
-                break;
-
-        goto out;
-    }
-
-    table = p2m_get_root_pointer(p2m, gfn);
-
-    /*
-     * the table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        level = P2M_ROOT_LEVEL;
-        goto out;
-    }
-
-    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-    {
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table[offsets[level]];
-
-    if ( p2m_is_valid(entry) )
-    {
-        *t = entry.p2m.type;
-
-        if ( a )
-            *a = p2m_mem_access_radix_get(p2m, gfn);
-
-        mfn = lpae_get_mfn(entry);
-        /*
-         * The entry may point to a superpage. Find the MFN associated
-         * to the GFN.
-         */
-        mfn = mfn_add(mfn,
-                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
-
-        if ( valid )
-            *valid = lpae_is_valid(entry);
-    }
-
-out_unmap:
-    unmap_domain_page(table);
-
-out:
-    if ( page_order )
-        *page_order = XEN_PT_LEVEL_ORDER(level);
-
-    return mfn;
-}
-
-mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
-{
-    mfn_t mfn;
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
-    p2m_read_unlock(p2m);
-
-    return mfn;
-}
-
-struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
-                                        p2m_type_t *t)
-{
-    struct page_info *page;
-    p2m_type_t p2mt;
-    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
-
-    if ( t )
-        *t = p2mt;
-
-    if ( !p2m_is_any_ram(p2mt) )
-        return NULL;
-
-    if ( !mfn_valid(mfn) )
-        return NULL;
-
-    page = mfn_to_page(mfn);
-
-    /*
-     * get_page won't work on foreign mapping because the page doesn't
-     * belong to the current domain.
-     */
-    if ( p2m_is_foreign(p2mt) )
-    {
-        struct domain *fdom = page_get_owner_and_reference(page);
-        ASSERT(fdom != NULL);
-        ASSERT(fdom != d);
-        return page;
-    }
-
-    return get_page(page, d) ? page : NULL;
-}
-
-int guest_physmap_mark_populate_on_demand(struct domain *d,
-                                          unsigned long gfn,
-                                          unsigned int order)
-{
-    return -ENOSYS;
-}
-
-unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
-                                           unsigned int order)
-{
-    return 0;
-}
-
-static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
-{
-    /* First apply type permissions */
-    switch ( t )
-    {
-    case p2m_ram_rw:
-        e->p2m.xn = 0;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_ram_ro:
-        e->p2m.xn = 0;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_iommu_map_rw:
-    case p2m_map_foreign_rw:
-    case p2m_grant_map_rw:
-    case p2m_mmio_direct_dev:
-    case p2m_mmio_direct_nc:
-    case p2m_mmio_direct_c:
-        e->p2m.xn = 1;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_iommu_map_ro:
-    case p2m_map_foreign_ro:
-    case p2m_grant_map_ro:
-    case p2m_invalid:
-        e->p2m.xn = 1;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_max_real_type:
-        BUG();
-        break;
-    }
-
-    /* Then restrict with access permissions */
-    switch ( a )
-    {
-    case p2m_access_rwx:
-        break;
-    case p2m_access_wx:
-        e->p2m.read = 0;
-        break;
-    case p2m_access_rw:
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_w:
-        e->p2m.read = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_rx:
-    case p2m_access_rx2rw:
-        e->p2m.write = 0;
-        break;
-    case p2m_access_x:
-        e->p2m.write = 0;
-        e->p2m.read = 0;
-        break;
-    case p2m_access_r:
-        e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_n:
-    case p2m_access_n2rwx:
-        e->p2m.read = e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    }
-}
-
-static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
-{
-    /*
-     * sh, xn and write bit will be defined in the following switches
-     * based on mattr and t.
-     */
-    lpae_t e = (lpae_t) {
-        .p2m.af = 1,
-        .p2m.read = 1,
-        .p2m.table = 1,
-        .p2m.valid = 1,
-        .p2m.type = t,
-    };
-
-    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
-
-    switch ( t )
-    {
-    case p2m_mmio_direct_dev:
-        e.p2m.mattr = MATTR_DEV;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    case p2m_mmio_direct_c:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    /*
-     * ARM ARM: Overlaying the shareability attribute (DDI
-     * 0406C.b B3-1376 to 1377)
-     *
-     * A memory region with a resultant memory type attribute of Normal,
-     * and a resultant cacheability attribute of Inner Non-cacheable,
-     * Outer Non-cacheable, must have a resultant shareability attribute
-     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-     *
-     * On ARMv8 shareability is ignored and explicitly treated as Outer
-     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
-     */
-    case p2m_mmio_direct_nc:
-        e.p2m.mattr = MATTR_MEM_NC;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    default:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_INNER;
-    }
-
-    p2m_set_permission(&e, t, a);
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Generate table entry with correct attributes. */
-static lpae_t page_to_p2m_table(struct page_info *page)
-{
-    /*
-     * The access value does not matter because the hardware will ignore
-     * the permission fields for table entry.
-     *
-     * We use p2m_ram_rw so the entry has a valid type. This is important
-     * for p2m_is_valid() to return valid on table entries.
-     */
-    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
-}
-
-static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
-{
-    write_pte(p, pte);
-    if ( clean_pte )
-        clean_dcache(*p);
-}
-
-static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
-{
-    lpae_t pte;
-
-    memset(&pte, 0x00, sizeof(pte));
-    p2m_write_pte(p, pte, clean_pte);
-}
-
-/* Allocate a new page table page and hook it in via the given entry. */
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
-{
-    struct page_info *page;
-    lpae_t *p;
-
-    ASSERT(!p2m_is_valid(*entry));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( page == NULL )
-        return -ENOMEM;
-
-    page_list_add(page, &p2m->pages);
-
-    p = __map_domain_page(page);
-    clear_page(p);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(p, PAGE_SIZE);
-
-    unmap_domain_page(p);
-
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return 0;
-}
-
-static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
-                                    p2m_access_t a)
-{
-    int rc;
-
-    if ( !p2m->mem_access_enabled )
-        return 0;
-
-    if ( p2m_access_rwx == a )
-    {
-        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
-        return 0;
-    }
-
-    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
-                           radix_tree_int_to_ptr(a));
-    if ( rc == -EEXIST )
-    {
-        /* If a setting already exists, change it to the new one */
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(
-                &p2m->mem_access_settings, gfn_x(gfn)),
-            radix_tree_int_to_ptr(a));
-        rc = 0;
-    }
-
-    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)
-{
-    mfn_t mfn = lpae_get_mfn(pte);
-
-    ASSERT(p2m_is_valid(pte));
-
-    /*
-     * TODO: Handle other p2m types
-     *
-     * It's safe to do the put_page here because page_alloc will
-     * flush the TLBs if the page is reallocated before the end of
-     * this loop.
-     */
-    if ( p2m_is_foreign(pte.p2m.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) )
-        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
-}
-
-/* Free lpae sub-tree behind an entry */
-static void p2m_free_entry(struct p2m_domain *p2m,
-                           lpae_t entry, unsigned int level)
-{
-    unsigned int i;
-    lpae_t *table;
-    mfn_t mfn;
-    struct page_info *pg;
-
-    /* Nothing to do if the entry is invalid. */
-    if ( !p2m_is_valid(entry) )
-        return;
-
-    if ( p2m_is_superpage(entry, level) || (level == 3) )
-    {
-#ifdef CONFIG_IOREQ_SERVER
-        /*
-         * If this gets called then either the entry was replaced by an entry
-         * with a different base (valid case) or the shattering of a superpage
-         * has failed (error case).
-         * So, at worst, the spurious mapcache invalidation might be sent.
-         */
-        if ( p2m_is_ram(entry.p2m.type) &&
-             domain_has_ioreq_server(p2m->domain) )
-            ioreq_request_mapcache_invalidate(p2m->domain);
-#endif
-
-        p2m->stats.mappings[level]--;
-        /* Nothing to do if the entry is a super-page. */
-        if ( level == 3 )
-            p2m_put_l3_page(entry);
-        return;
-    }
-
-    table = map_domain_page(lpae_get_mfn(entry));
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-        p2m_free_entry(p2m, *(table + i), level + 1);
-
-    unmap_domain_page(table);
-
-    /*
-     * Make sure all the references in the TLB have been removed before
-     * freing the intermediate page table.
-     * XXX: Should we defer the free of the page table to avoid the
-     * flush?
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    mfn = lpae_get_mfn(entry);
-    ASSERT(mfn_valid(mfn));
-
-    pg = mfn_to_page(mfn);
-
-    page_list_del(pg, &p2m->pages);
-    p2m_free_page(p2m->domain, pg);
-}
-
-static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
-                                unsigned int level, unsigned int target,
-                                const unsigned int *offsets)
-{
-    struct page_info *page;
-    unsigned int i;
-    lpae_t pte, *table;
-    bool rv = true;
-
-    /* Convenience aliases */
-    mfn_t mfn = lpae_get_mfn(*entry);
-    unsigned int next_level = level + 1;
-    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
-
-    /*
-     * This should only be called with target != level and the entry is
-     * a superpage.
-     */
-    ASSERT(level < target);
-    ASSERT(p2m_is_superpage(*entry, level));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( !page )
-        return false;
-
-    page_list_add(page, &p2m->pages);
-    table = __map_domain_page(page);
-
-    /*
-     * We are either splitting a first level 1G page into 512 second level
-     * 2M pages, or a second level 2M page into 512 third level 4K pages.
-     */
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t *new_entry = table + i;
-
-        /*
-         * Use the content of the superpage entry and override
-         * the necessary fields. So the correct permission are kept.
-         */
-        pte = *entry;
-        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
-
-        /*
-         * First and second level pages set p2m.table = 0, but third
-         * level entries set p2m.table = 1.
-         */
-        pte.p2m.table = (next_level == 3);
-
-        write_pte(new_entry, pte);
-    }
-
-    /* Update stats */
-    p2m->stats.shattered[level]++;
-    p2m->stats.mappings[level]--;
-    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
-
-    /*
-     * Shatter superpage in the page to the level we want to make the
-     * changes.
-     * This is done outside the loop to avoid checking the offset to
-     * know whether the entry should be shattered for every entry.
-     */
-    if ( next_level != target )
-        rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 level + 1, target, offsets);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(table, PAGE_SIZE);
-
-    unmap_domain_page(table);
-
-    /*
-     * Even if we failed, we should install the newly allocated LPAE
-     * entry. The caller will be in charge to free the sub-tree.
-     */
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return rv;
-}
-
-/*
- * Insert an entry in the p2m. This should be called with a mapping
- * equal to a page/superpage (4K, 2M, 1G).
- */
-static int __p2m_set_entry(struct p2m_domain *p2m,
-                           gfn_t sgfn,
-                           unsigned int page_order,
-                           mfn_t smfn,
-                           p2m_type_t t,
-                           p2m_access_t a)
-{
-    unsigned int level = 0;
-    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
-    lpae_t *entry, *table, orig_pte;
-    int rc;
-    /* A mapping is removed if the MFN is invalid. */
-    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * Check if the level target is valid: we only support
-     * 4K - 2M - 1G mapping.
-     */
-    ASSERT(target > 0 && target <= 3);
-
-    table = p2m_get_root_pointer(p2m, sgfn);
-    if ( !table )
-        return -EINVAL;
-
-    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
-    {
-        /*
-         * Don't try to allocate intermediate page table if the mapping
-         * is about to be removed.
-         */
-        rc = p2m_next_level(p2m, removing_mapping,
-                            level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because p2m_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and they p2m tree is read-only). It is a valid case
-             * when removing a mapping as it may not exist in the
-             * page table. In this case, just ignore it.
-             */
-            rc = removing_mapping ?  0 : -ENOENT;
-            goto out;
-        }
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table + offsets[level];
-
-    /*
-     * If we are here with level < target, we must be at a leaf node,
-     * and we need to break up the superpage.
-     */
-    if ( level < target )
-    {
-        /* We need to split the original page. */
-        lpae_t split_pte = *entry;
-
-        ASSERT(p2m_is_superpage(*entry, level));
-
-        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
-        {
-            /*
-             * The current super-page is still in-place, so re-increment
-             * the stats.
-             */
-            p2m->stats.mappings[level]++;
-
-            /* Free the allocated sub-tree */
-            p2m_free_entry(p2m, split_pte, level);
-
-            rc = -ENOMEM;
-            goto out;
-        }
-
-        /*
-         * Follow the break-before-sequence to update the entry.
-         * For more details see (D4.7.1 in ARM DDI 0487A.j).
-         */
-        p2m_remove_pte(entry, p2m->clean_pte);
-        p2m_force_tlb_flush_sync(p2m);
-
-        p2m_write_pte(entry, split_pte, p2m->clean_pte);
-
-        /* then move to the level we want to make real changes */
-        for ( ; level < target; level++ )
-        {
-            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-
-            /*
-             * The entry should be found and either be a table
-             * or a superpage if level 3 is not targeted
-             */
-            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
-                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
-        }
-
-        entry = table + offsets[level];
-    }
-
-    /*
-     * We should always be there with the correct level because
-     * all the intermediate tables have been installed if necessary.
-     */
-    ASSERT(level == target);
-
-    orig_pte = *entry;
-
-    /*
-     * The radix-tree can only work on 4KB. This is only used when
-     * memaccess is enabled and during shutdown.
-     */
-    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
-           p2m->domain->is_dying);
-    /*
-     * The access type should always be p2m_access_rwx when the mapping
-     * is removed.
-     */
-    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
-    /*
-     * Update the mem access permission before update the P2M. So we
-     * don't have to revert the mapping if it has failed.
-     */
-    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
-    if ( rc )
-        goto out;
-
-    /*
-     * Always remove the entry in order to follow the break-before-make
-     * sequence when updating the translation table (D4.7.1 in ARM DDI
-     * 0487A.j).
-     */
-    if ( lpae_is_valid(orig_pte) || removing_mapping )
-        p2m_remove_pte(entry, p2m->clean_pte);
-
-    if ( removing_mapping )
-        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |= !!lpae_is_valid(orig_pte);
-    else
-    {
-        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
-
-        if ( level < 3 )
-            pte.p2m.table = 0; /* Superpage entry */
-
-        /*
-         * It is necessary to flush the TLB before writing the new entry
-         * to keep coherency when the previous entry was valid.
-         *
-         * Although, it could be defered when only the permissions are
-         * changed (e.g in case of memaccess).
-         */
-        if ( lpae_is_valid(orig_pte) )
-        {
-            if ( likely(!p2m->mem_access_enabled) ||
-                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
-                p2m_force_tlb_flush_sync(p2m);
-            else
-                p2m->need_flush = true;
-        }
-        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
-            p2m->stats.mappings[level]++;
-
-        p2m_write_pte(entry, pte, p2m->clean_pte);
-
-        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
-                                      gfn_add(sgfn, (1UL << page_order) - 1));
-        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
-    }
-
-    if ( is_iommu_enabled(p2m->domain) &&
-         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
-    {
-        unsigned int flush_flags = 0;
-
-        if ( lpae_is_valid(orig_pte) )
-            flush_flags |= IOMMU_FLUSHF_modified;
-        if ( lpae_is_valid(*entry) )
-            flush_flags |= IOMMU_FLUSHF_added;
-
-        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
-                               1UL << page_order, flush_flags);
-    }
-    else
-        rc = 0;
-
-    /*
-     * Free the entry only if the original pte was valid and the base
-     * is different (to avoid freeing when permission is changed).
-     */
-    if ( p2m_is_valid(orig_pte) &&
-         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
-        p2m_free_entry(p2m, orig_pte, level);
-
-out:
-    unmap_domain_page(table);
-
-    return rc;
-}
-
-int p2m_set_entry(struct p2m_domain *p2m,
-                  gfn_t sgfn,
-                  unsigned long nr,
-                  mfn_t smfn,
-                  p2m_type_t t,
-                  p2m_access_t a)
-{
-    int rc = 0;
-
-    /*
-     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
-     * be dropped in relinquish_p2m_mapping(). As the P2M will still
-     * be accessible after, we need to prevent mapping to be added when the
-     * domain is dying.
-     */
-    if ( unlikely(p2m->domain->is_dying) )
-        return -ENOMEM;
-
-    while ( nr )
-    {
-        unsigned long mask;
-        unsigned long order;
-
-        /*
-         * Don't take into account the MFN when removing mapping (i.e
-         * MFN_INVALID) to calculate the correct target order.
-         *
-         * XXX: Support superpage mappings if nr is not aligned to a
-         * superpage size.
-         */
-        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
-        mask |= gfn_x(sgfn) | nr;
-
-        /* Always map 4k by 4k when memaccess is enabled */
-        if ( unlikely(p2m->mem_access_enabled) )
-            order = THIRD_ORDER;
-        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
-            order = FIRST_ORDER;
-        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
-            order = SECOND_ORDER;
-        else
-            order = THIRD_ORDER;
-
-        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
-        if ( rc )
-            break;
-
-        sgfn = gfn_add(sgfn, (1 << order));
-        if ( !mfn_eq(smfn, INVALID_MFN) )
-           smfn = mfn_add(smfn, (1 << order));
-
-        nr -= (1 << order);
-    }
-
-    return rc;
-}
-
-/* Invalidate all entries in the table. The p2m should be write locked. */
-static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
-{
-    lpae_t *table;
-    unsigned int i;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    table = map_domain_page(mfn);
-
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t pte = table[i];
-
-        /*
-         * Writing an entry can be expensive because it may involve
-         * cleaning the cache. So avoid updating the entry if the valid
-         * bit is already cleared.
-         */
-        if ( !pte.p2m.valid )
-            continue;
-
-        pte.p2m.valid = 0;
-
-        p2m_write_pte(&table[i], pte, p2m->clean_pte);
-    }
-
-    unmap_domain_page(table);
-
-    p2m->need_flush = true;
-}
-
-/*
- * The domain will not be scheduled anymore, so in theory we should
- * not need to flush the TLBs. Do it for safety purpose.
- * Note that all the devices have already been de-assigned. So we don't
- * need to flush the IOMMU TLB here.
- */
-void p2m_clear_root_pages(struct p2m_domain *p2m)
-{
-    unsigned int i;
-
-    p2m_write_lock(p2m);
-
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
-
-    p2m_force_tlb_flush_sync(p2m);
-
-    p2m_write_unlock(p2m);
+    write_unlock(&p2m->lock);
 }
 
-/*
- * Invalidate all entries in the root page-tables. This is
- * useful to get fault on entry and do an action.
- *
- * p2m_invalid_root() should not be called when the P2M is shared with
- * the IOMMU because it will cause IOMMU fault.
- */
-void p2m_invalidate_root(struct p2m_domain *p2m)
+void memory_type_changed(struct domain *d)
 {
-    unsigned int i;
+}
 
-    ASSERT(!iommu_use_hap_pt(p2m->domain));
+void dump_p2m_lookup(struct domain *d, paddr_t addr)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
-    p2m_write_lock(p2m);
+    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
 
-    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
-        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
+           p2m->root, mfn_x(page_to_mfn(p2m->root)));
 
-    p2m_write_unlock(p2m);
+    dump_pt_walk(page_to_maddr(p2m->root), addr,
+                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
 }
 
-/*
- * Resolve any translation fault due to change in the p2m. This
- * includes break-before-make and valid bit cleared.
- */
-bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
 {
+    mfn_t mfn;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned int level = 0;
-    bool resolved = false;
-    lpae_t entry, *table;
-
-    /* Convenience aliases */
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
-
-    p2m_write_lock(p2m);
 
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-        goto out;
+    p2m_read_lock(p2m);
+    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
+    p2m_read_unlock(p2m);
 
-    table = p2m_get_root_pointer(p2m, gfn);
-    /*
-     * The table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        goto out;
-    }
+    return mfn;
+}
 
-    /*
-     * Go down the page-tables until an entry has the valid bit unset or
-     * a block/page entry has been hit.
-     */
-    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
-    {
-        int rc;
+struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
+                                        p2m_type_t *t)
+{
+    struct page_info *page;
+    p2m_type_t p2mt;
+    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
 
-        entry = table[offsets[level]];
+    if ( t )
+        *t = p2mt;
 
-        if ( level == 3 )
-            break;
+    if ( !p2m_is_any_ram(p2mt) )
+        return NULL;
 
-        /* Stop as soon as we hit an entry with the valid bit unset. */
-        if ( !lpae_is_valid(entry) )
-            break;
+    if ( !mfn_valid(mfn) )
+        return NULL;
 
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
+    page = mfn_to_page(mfn);
 
     /*
-     * If the valid bit of the entry is set, it means someone was playing with
-     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     * get_page won't work on foreign mapping because the page doesn't
+     * belong to the current domain.
      */
-    if ( lpae_is_valid(entry) )
+    if ( p2m_is_foreign(p2mt) )
     {
-        resolved = true;
-        goto out_unmap;
+        struct domain *fdom = page_get_owner_and_reference(page);
+        ASSERT(fdom != NULL);
+        ASSERT(fdom != d);
+        return page;
     }
 
-    /*
-     * The valid bit is unset. If the entry is still not valid then the fault
-     * cannot be resolved, exit and report it.
-     */
-    if ( !p2m_is_valid(entry) )
-        goto out_unmap;
-
-    /*
-     * Now we have an entry with valid bit unset, but still valid from
-     * the P2M point of view.
-     *
-     * If an entry is pointing to a table, each entry of the table will
-     * have there valid bit cleared. This allows a function to clear the
-     * full p2m with just a couple of write. The valid bit will then be
-     * propagated on the fault.
-     * If an entry is pointing to a block/page, no work to do for now.
-     */
-    if ( lpae_is_table(entry, level) )
-        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
-
-    /*
-     * Now that the work on the entry is done, set the valid bit to prevent
-     * another fault on that entry.
-     */
-    resolved = true;
-    entry.p2m.valid = 1;
-
-    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
-
-    /*
-     * No need to flush the TLBs as the modified entry had the valid bit
-     * unset.
-     */
-
-out_unmap:
-    unmap_domain_page(table);
+    return get_page(page, d) ? page : NULL;
+}
 
-out:
-    p2m_write_unlock(p2m);
+int guest_physmap_mark_populate_on_demand(struct domain *d,
+                                          unsigned long gfn,
+                                          unsigned int order)
+{
+    return -ENOSYS;
+}
 
-    return resolved;
+unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
+                                           unsigned int order)
+{
+    return 0;
 }
 
 int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
@@ -1612,44 +258,6 @@ int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
     return rc;
 }
 
-static struct page_info *p2m_allocate_root(void)
-{
-    struct page_info *page;
-    unsigned int i;
-
-    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
-    if ( page == NULL )
-        return NULL;
-
-    /* Clear both first level pages */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(page + i);
-
-    return page;
-}
-
-static int p2m_alloc_table(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m->root = p2m_allocate_root();
-    if ( !p2m->root )
-        return -ENOMEM;
-
-    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
-
-    /*
-     * Make sure that all TLBs corresponding to the new VMID are flushed
-     * before using it
-     */
-    p2m_write_lock(p2m);
-    p2m_force_tlb_flush_sync(p2m);
-    p2m_write_unlock(p2m);
-
-    return 0;
-}
-
-
 static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
 
 /*
@@ -1660,7 +268,7 @@ static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
  */
 static unsigned long *vmid_mask;
 
-static void p2m_vmid_allocator_init(void)
+void p2m_vmid_allocator_init(void)
 {
     /*
      * allocate space for vmid_mask based on MAX_VMID
@@ -1673,7 +281,7 @@ static void p2m_vmid_allocator_init(void)
     set_bit(INVALID_VMID, vmid_mask);
 }
 
-static int p2m_alloc_vmid(struct domain *d)
+int p2m_alloc_vmid(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
@@ -1713,32 +321,6 @@ static void p2m_free_vmid(struct domain *d)
     spin_unlock(&vmid_alloc_lock);
 }
 
-int p2m_teardown(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    struct page_info *pg;
-    int rc = 0;
-
-    p2m_write_lock(p2m);
-
-    while ( (pg = page_list_remove_head(&p2m->pages)) )
-    {
-        p2m_free_page(p2m->domain, pg);
-        count++;
-        /* Arbitrarily preempt every 512 iterations */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-    }
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
 void p2m_final_teardown(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1771,129 +353,6 @@ void p2m_final_teardown(struct domain *d)
     p2m->domain = NULL;
 }
 
-int p2m_init(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    int rc;
-    unsigned int cpu;
-
-    rwlock_init(&p2m->lock);
-    spin_lock_init(&d->arch.paging.lock);
-    INIT_PAGE_LIST_HEAD(&p2m->pages);
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
-
-    p2m->vmid = INVALID_VMID;
-    p2m->max_mapped_gfn = _gfn(0);
-    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
-
-    p2m->default_access = p2m_access_rwx;
-    p2m->mem_access_enabled = false;
-    radix_tree_init(&p2m->mem_access_settings);
-
-    /*
-     * Some IOMMUs don't support coherent PT walk. When the p2m is
-     * shared with the CPU, Xen has to make sure that the PT changes have
-     * reached the memory
-     */
-    p2m->clean_pte = is_iommu_enabled(d) &&
-        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
-
-    /*
-     * Make sure that the type chosen to is able to store the an vCPU ID
-     * between 0 and the maximum of virtual CPUS supported as long as
-     * the INVALID_VCPU_ID.
-     */
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
-
-    for_each_possible_cpu(cpu)
-       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
-
-    /*
-     * "Trivial" initialisation is now complete.  Set the backpointer so
-     * p2m_teardown() and friends know to do something.
-     */
-    p2m->domain = d;
-
-    rc = p2m_alloc_vmid(d);
-    if ( rc )
-        return rc;
-
-    rc = p2m_alloc_table(d);
-    if ( rc )
-        return rc;
-
-    return 0;
-}
-
-/*
- * The function will go through the p2m and remove page reference when it
- * is required. The mapping will be removed from the p2m.
- *
- * XXX: See whether the mapping can be left intact in the p2m.
- */
-int relinquish_p2m_mapping(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    p2m_type_t t;
-    int rc = 0;
-    unsigned int order;
-    gfn_t start, end;
-
-    BUG_ON(!d->is_dying);
-    /* No mappings can be added in the P2M after the P2M lock is released. */
-    p2m_write_lock(p2m);
-
-    start = p2m->lowest_mapped_gfn;
-    end = gfn_add(p2m->max_mapped_gfn, 1);
-
-    for ( ; gfn_x(start) < gfn_x(end);
-          start = gfn_next_boundary(start, order) )
-    {
-        mfn_t mfn = p2m_get_entry(p2m, start, &t, NULL, &order, NULL);
-
-        count++;
-        /*
-         * Arbitrarily preempt every 512 iterations.
-         */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-
-        /*
-         * p2m_set_entry will take care of removing reference on page
-         * when it is necessary and removing the mapping in the p2m.
-         */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            /*
-             * For valid mapping, the start will always be aligned as
-             * entry will be removed whilst relinquishing.
-             */
-            rc = __p2m_set_entry(p2m, start, order, INVALID_MFN,
-                                 p2m_invalid, p2m_access_rwx);
-            if ( unlikely(rc) )
-            {
-                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%#"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
-                break;
-            }
-        }
-    }
-
-    /*
-     * Update lowest_mapped_gfn so on the next call we still start where
-     * we stopped.
-     */
-    p2m->lowest_mapped_gfn = start;
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
 int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1987,43 +446,6 @@ int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end)
     return rc;
 }
 
-/*
- * Clean & invalidate RAM associated to the guest vCPU.
- *
- * The function can only work with the current vCPU and should be called
- * with IRQ enabled as the vCPU could get preempted.
- */
-void p2m_flush_vm(struct vcpu *v)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
-    int rc;
-    gfn_t start = _gfn(0);
-
-    ASSERT(v == current);
-    ASSERT(local_irq_is_enabled());
-    ASSERT(v->arch.need_flush_to_ram);
-
-    do
-    {
-        rc = p2m_cache_flush_range(v->domain, &start, _gfn(ULONG_MAX));
-        if ( rc == -ERESTART )
-            do_softirq();
-    } while ( rc == -ERESTART );
-
-    if ( rc != 0 )
-        gprintk(XENLOG_WARNING,
-                "P2M has not been correctly cleaned (rc = %d)\n",
-                rc);
-
-    /*
-     * Invalidate the p2m to track which page was modified by the guest
-     * between call of p2m_flush_vm().
-     */
-    p2m_invalidate_root(p2m);
-
-    v->arch.need_flush_to_ram = false;
-}
-
 /*
  * See note at ARMv7 ARM B1.14.4 (DDI 0406C.c) (TL;DR: S/W ops are not
  * easily virtualized).
@@ -2217,159 +639,6 @@ void __init p2m_restrict_ipa_bits(unsigned int ipa_bits)
         p2m_ipa_bits = ipa_bits;
 }
 
-/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
-static register_t __read_mostly vtcr;
-
-static void setup_virt_paging_one(void *data)
-{
-    WRITE_SYSREG(vtcr, VTCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
-     * entries related to EL1/EL0 translation regime until a guest vCPU
-     * is running. For that, we need to set-up VTTBR to point to an empty
-     * page-table and turn on stage-2 translation. The TLB entries
-     * associated with EL1/EL0 translation regime will also be flushed in case
-     * an AT instruction was speculated before hand.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
-        isb();
-
-        flush_all_guests_tlb_local();
-    }
-}
-
-void __init setup_virt_paging(void)
-{
-    /* Setup Stage 2 address translation */
-    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
-
-    static const struct {
-        unsigned int pabits; /* Physical Address Size */
-        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
-        unsigned int root_order; /* Page order of the root of the p2m */
-        unsigned int sl0;    /* Desired SL0, maximum in comment */
-    } pa_range_info[] __initconst = {
-        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
-        /*      PA size, t0sz(min), root-order, sl0(max) */
-#ifdef CONFIG_ARM_64
-        [0] = { 32,      32/*32*/,  0,          1 },
-        [1] = { 36,      28/*28*/,  0,          1 },
-        [2] = { 40,      24/*24*/,  1,          1 },
-        [3] = { 42,      22/*22*/,  3,          1 },
-        [4] = { 44,      20/*20*/,  0,          2 },
-        [5] = { 48,      16/*16*/,  0,          2 },
-        [6] = { 52,      12/*12*/,  4,          2 },
-        [7] = { 0 }  /* Invalid */
-#else
-        { 32,      0/*0*/,    0,          1 },
-        { 40,      24/*24*/,  1,          1 }
-#endif
-    };
-
-    unsigned int i;
-    unsigned int pa_range = 0x10; /* Larger than any possible value */
-
-#ifdef CONFIG_ARM_32
-    /*
-     * Typecast pa_range_info[].t0sz into arm32 bit variant.
-     *
-     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
-     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
-     * struct bitfields.
-     */
-    struct
-    {
-        signed int val:5;
-    } t0sz_32;
-#else
-    /*
-     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-     * with IPA bits == PA bits, compare against "pabits".
-     */
-    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
-        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
-
-    /*
-     * cpu info sanitization made sure we support 16bits VMID only if all
-     * cores are supporting it.
-     */
-    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
-        max_vmid = MAX_VMID_16_BIT;
-#endif
-
-    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
-    {
-        if ( p2m_ipa_bits == pa_range_info[i].pabits )
-        {
-            pa_range = i;
-            break;
-        }
-    }
-
-    /* Check if we found the associated entry in the array */
-    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
-        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
-
-#ifdef CONFIG_ARM_64
-    val |= VTCR_PS(pa_range);
-    val |= VTCR_TG0_4K;
-
-    /* Set the VS bit only if 16 bit VMID is supported. */
-    if ( MAX_VMID == MAX_VMID_16_BIT )
-        val |= VTCR_VS;
-#endif
-
-    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
-    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
-
-    p2m_root_order = pa_range_info[pa_range].root_order;
-    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
-
-#ifdef CONFIG_ARM_64
-    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
-#else
-    t0sz_32.val = pa_range_info[pa_range].t0sz;
-    p2m_ipa_bits = 32 - t0sz_32.val;
-#endif
-
-    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
-           p2m_ipa_bits,
-           pa_range_info[pa_range].pabits,
-           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
-
-    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
-           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
-
-    p2m_vmid_allocator_init();
-
-    /* It is not allowed to concatenate a level zero root */
-    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
-    vtcr = val;
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
-     * with all entries zeroed.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        struct page_info *root;
-
-        root = p2m_allocate_root();
-        if ( !root )
-            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
-
-        empty_root_mfn = page_to_mfn(root);
-    }
-
-    setup_virt_paging_one(NULL);
-    smp_call_function(setup_virt_paging_one, NULL, 1);
-}
-
 static int cpu_virt_paging_callback(struct notifier_block *nfb,
                                     unsigned long action,
                                     void *hcpu)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:42:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591327.923713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRGe-0001Nq-KD; Mon, 28 Aug 2023 01:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591327.923713; Mon, 28 Aug 2023 01:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRGe-0001Nj-HR; Mon, 28 Aug 2023 01:42:12 +0000
Received: by outflank-mailman (input) for mailman id 591327;
 Mon, 28 Aug 2023 01:42: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=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaRGc-0001NV-To
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:42:11 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2047.outbound.protection.outlook.com [40.107.7.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 196c303f-4544-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:42:08 +0200 (CEST)
Received: from AS4P251CA0018.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:5d3::10)
 by AS2PR08MB8877.eurprd08.prod.outlook.com (2603:10a6:20b:5e6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:41:38 +0000
Received: from AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:5d3:cafe::1d) by AS4P251CA0018.outlook.office365.com
 (2603:10a6:20b:5d3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 01:41:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT014.mail.protection.outlook.com (100.127.140.163) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.16 via Frontend Transport; Mon, 28 Aug 2023 01:41:37 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
 Mon, 28 Aug 2023 01:41:37 +0000
Received: from c689a1365448.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B97EF7C6-B3EA-40F0-8783-8FAED376098C.1; 
 Mon, 28 Aug 2023 01:41:30 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c689a1365448.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 28 Aug 2023 01:41:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PR3PR08MB5690.eurprd08.prod.outlook.com (2603:10a6:102:86::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:41:28 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 01:41: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: 196c303f-4544-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nLJY3olYfWAY6tt4zqYNMc6TzrYNvT071l4Erdt57E4=;
 b=4Dk2B21jCYBT/DhqVdPxxdRt/GAJNOOzpOq4rXOtiM7elgzPfXizmiwQQ6fZWskmP7/uctu6RdUlZAL0t07OJVepwxClL8DyNv1nWaj2FrLOFePvWMt85DmRXyFnOcgLpDC324BE4NgCcAkMfImVPDyY9tVDzQ/HZ5S+dly/Dd8=
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: 827e39f69538a498
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oky/Wdk232tIwmTmf0mmYDU1FNmW9JvVWdZDipRchNn4pLaTPeHxORYuEW8ZqBy1xFVxT36Vf0TxU6EDYSoi+ua4ONCjVLs6BF9R9q+Bqj2/aHIlkpilgeFfNTVUn9HdAoENoIfFFZgS5tZRQ2xdi7KBdLjSlUo0FzGGRa3JF9PyDKIR209Cn8+AZpJ+KunyDghycrcoJ2x25L0wqBpidX63V3yUohaspfDmo4uq8JA/YROyXfUUN2J5ZZdSSJqUBDq9om2UTIKtfI4MdCtCrolBu09aRNEArnnkxmA/zdHhLylh7EbWfLWu5rzepai8hQvTK8ROJp1ZFS0U7TFB4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nLJY3olYfWAY6tt4zqYNMc6TzrYNvT071l4Erdt57E4=;
 b=NW8gzRy0UnMr7DtYF9m77Qu3yZ8CFbkBt5m0emwNnOjsv9KY13JY9bQ2PR0av2fNgN3iaotQ3IZ/9jNBBP48IULr+wM+fA8Ltc9vjxB+DEAFQT7CGZsSuU8eBG/o9J+gorxyYgaQRpiVHdZeIjhmSwFRH9UAszYXjPBC4zfO7JVKpFblzcrKpK2L4fakJ9I1jb/jVLBa0OlamDHrOqqd2BnX2YItO1bUI46dTA42/uA9ZN9+aR4hNZrdHDCSWD86MytKD5bJEqIenBVq/Bp/cdG/Kd+fUC5jvsW7JolFxLHEgzbX/sUMoEFwswHIi+ezAmFMubyVlOafd3TlzWnUjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=nLJY3olYfWAY6tt4zqYNMc6TzrYNvT071l4Erdt57E4=;
 b=4Dk2B21jCYBT/DhqVdPxxdRt/GAJNOOzpOq4rXOtiM7elgzPfXizmiwQQ6fZWskmP7/uctu6RdUlZAL0t07OJVepwxClL8DyNv1nWaj2FrLOFePvWMt85DmRXyFnOcgLpDC324BE4NgCcAkMfImVPDyY9tVDzQ/HZ5S+dly/Dd8=
From: Henry Wang <Henry.Wang@arm.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"julien@xen.org" <julien@xen.org>
Subject: Re: [XEN][PATCH v10 02/20] common/device_tree.c:
 unflatten_device_tree() propagate errors
Thread-Topic: [XEN][PATCH v10 02/20] common/device_tree.c:
 unflatten_device_tree() propagate errors
Thread-Index: AQHZ1yqecFdm3LtAMES0VxF9nFCQDq/+8yGA
Date: Mon, 28 Aug 2023 01:41:25 +0000
Message-ID: <923BD582-FD5A-46B7-AE0A-CE86F146C394@arm.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-3-vikram.garhwal@amd.com>
In-Reply-To: <20230825080222.14247-3-vikram.garhwal@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PR3PR08MB5690:EE_|AM7EUR03FT014:EE_|AS2PR08MB8877:EE_
X-MS-Office365-Filtering-Correlation-Id: ddec81a8-a8f3-4001-6d58-08dba767eb7e
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:
 zK/2qWXioFwco80y98OZgfYZSUFIx8uukgDUBBppLl/AI9S6SdEQHUXe3jX74JFS4oUt02L7V8c+7BNPzG3A9uouJs2hrsaPN8EkuMO0+WFkug0L4BPYdDkvVXZXT+xhfHVdDfOCqOhV+MNhN0jnP3imHRO+PX8f0Z5io6uMnox5kg3lytSJispfT0PrV+1qZW0yvf3lO2c03Iimimim6lcftLVmqdiavKsIfk0s11i4+j6KWKVLNucsA0ZHA3uSIGl/mZ3lQGaZJpChPpH5KbbpDWqZRTBEirVZBIen+T6WeSSHo9Clbffx06jJ6EetezFfUFtLZMbUwDuYJ41iCi79INIubLYjp3a/y66YVI9liM1yy64Psi6zr8HUm31D8ATnN2gwsXwUpUlNxvlO3k14ohZZ+mHgKHd0dpt4uN2JjGnGdh2SmYFIMuQrLarMexVvOx4guOzF+WNTWDvfDQr/AqK69quhyaSa5nx72ovcmoOMTkMTxPThyZ+QZlmP7rPNR5EL0tbePsFK30JbqqHaPraaHU+/YdLu4zcLtk0HHm8/ezmIHYa7XD243bzrzr901CrvrYOPW416+y+Aka1gGaTftmjBcyojru7iKOAKenVoeRPdH7Eg69tMJVAplg2DO6tQSejSFF/1pRxnkw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(39860400002)(346002)(396003)(186009)(1800799009)(451199024)(71200400001)(6506007)(6486002)(53546011)(2616005)(4744005)(26005)(2906002)(478600001)(6916009)(6512007)(66556008)(316002)(64756008)(54906003)(66446008)(8676002)(76116006)(66946007)(5660300002)(66476007)(8936002)(91956017)(4326008)(33656002)(86362001)(36756003)(41300700001)(38100700002)(122000001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C39B7C0CC6E8C04E8EC2630AB5C7D176@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5690
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:
 AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	819f871f-f7aa-48f5-0849-08dba767e452
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EL+J1rzKD7imj9UR1U56VmDvT0MkvUioLVGJvgXs8KekT5Rq0XDPkpD3DUH3kHM+X00u2bziqT0L7yBugzNs2X3SwaXNdh6EQFPlP9U9KUc7comYp8iGz/bQ7eBFwaXucuJg/j9MBQB030C6QjgsoiNkLcA8SR3AlBSWjLy3tu8dGdsAImY+CRy+kAJGhNzxUn5IkwMJm8qOf2SO31cNVhikVHwzlRxkqod0ekge83v9SrcPF6XTFKN2jlQWtv8xjfnvstwj7JbxR9uMHAciSRcpxC7vc6frbF+4cLyukH+/KGSyI85bWZggZCb7+/nFAdkKavO8NjLQAYNZqYYXarkOe7c2xqqerYrgfuAUMWjIc6VUDOJcDOv7BPPuF3+S9ivuq571Rf/yGJXyKwoECVHqVvtlH8gTZE1NvRsnF2hC+Lg2En/7aHPgHXQ5USt2zj+mdVMBttagfJlYpafpzT55N0dwwEmQ69vmtqxBjMqtQ1rY9uZ7A4oX8V5Pdqv47xOMZ1p9tUqHcEkypk0zlxUwFuqlvjlotWPWVLyk7dUmmz2wOWaOFc4mGO0Ib1HfUzsNjr3fN7afmeKLKWwvARGz1F/AkqzryJXMGzAdgdk2a/q6DpCur3zYoc/O6GAZiPZyAs0/nQ5nwEqr8aAh8oeAbOFJnQZgYZvBgqj2YVut2Y5eNQNPprxl5+MGzRtZt0BXO+bNdsZ7kxS1ott4qg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199024)(1800799009)(82310400011)(186009)(36840700001)(46966006)(8676002)(6862004)(8936002)(4326008)(2906002)(36756003)(316002)(54906003)(33656002)(70206006)(70586007)(5660300002)(336012)(41300700001)(36860700001)(6506007)(6486002)(53546011)(2616005)(26005)(6512007)(40480700001)(4744005)(81166007)(82740400003)(356005)(478600001)(86362001)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 01:41:37.6833
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ddec81a8-a8f3-4001-6d58-08dba767eb7e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8877

Hi Vikram,

> On Aug 25, 2023, at 16:02, Vikram Garhwal <vikram.garhwal@amd.com> wrote:
>=20
> This will be useful in dynamic node programming when new dt nodes are unf=
lattend
> during runtime. Invalid device tree node related errors should be propaga=
ted
> back to the caller.
>=20
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry=


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:53:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:53:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591347.923723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRRn-00035e-LA; Mon, 28 Aug 2023 01:53:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591347.923723; Mon, 28 Aug 2023 01:53:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRRn-00035X-HK; Mon, 28 Aug 2023 01:53:43 +0000
Received: by outflank-mailman (input) for mailman id 591347;
 Mon, 28 Aug 2023 01:53:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaRRm-00035R-1Q
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:53:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4f2ad63-4545-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 03:53:39 +0200 (CEST)
Received: from AM0PR06CA0109.eurprd06.prod.outlook.com (2603:10a6:208:ab::14)
 by PR3PR08MB5753.eurprd08.prod.outlook.com (2603:10a6:102:87::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:53:31 +0000
Received: from AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:ab:cafe::7c) by AM0PR06CA0109.outlook.office365.com
 (2603:10a6:208:ab::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 01:53:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT061.mail.protection.outlook.com (100.127.140.72) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.16 via Frontend Transport; Mon, 28 Aug 2023 01:53:30 +0000
Received: ("Tessian outbound c99fbc01d472:v175");
 Mon, 28 Aug 2023 01:53:30 +0000
Received: from e3e227bf4620.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DDF665C1-EBBD-4634-9182-245916FBD398.1; 
 Mon, 28 Aug 2023 01:53:19 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e3e227bf4620.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 28 Aug 2023 01:53:19 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PR3PR08MB5724.eurprd08.prod.outlook.com (2603:10a6:102:85::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:53:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 01:53:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4f2ad63-4545-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=suUPsCTViDXtxAyymCfoXUkrtE0Idkgmt9/T8BonYXg=;
 b=tZz7N5Zulf2+Jy9TzYkiVaP9kLAuRleN0rFHU7vygN4Wd3AMYDMGThecQmGMXHWyf2yVKYoOheQ2HhEM5WmusyMXkZGz2PFjjasNHK6iQwlf7kxydgtlsDlUTw/5jTZ+C5ldHvgPaWKCvzj+jS1V1whj3NWNld1gwXCFbHxbUIE=
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: 5157047afbbfeb11
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QB2fK0TCqO/GBDkPKkUWMfZ9ke49BBIcLfY7XHzjXmO/XnvdY3shA2Ape0yNWwAZSMvFTZlbg+nCbocFHi6KAFVyFGspNgaFNtz3DeYoC5CVxT1NhkfNHjgft5v8VbvSlv1NTA5grzC8cX5qXv+K0dgAQ/NVYoCmp8XAA7pwyotuQVPNSV0MjSS8Eao7aFlc39GNPb6m6P+hawqiQ9PackL9osEXj1GAf+GuKjYicArBG1ERNYb3S6hLD3B7bd/qDNZyLBoacwQNliyuDHoyfwQVz3mFwW8z4woXLAx3B0hC9amgQpDWTGUpLJ5jRjK7EWgOszJZTj0Hpq3CDOSaaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=suUPsCTViDXtxAyymCfoXUkrtE0Idkgmt9/T8BonYXg=;
 b=MrFNubq9atzMsSh2D+wgqpxfGreiyp+9VEbcxUjyJRa4E+PHIcnRpW9VOkce7W8GvipkaCFDdS0OO3Y0k55a0lCMg9eBVMuazqttuUxjPzgLEI4Vq1OMyQ5OZofxapFhGux+ZCNYZteI0lUSbx7BDdpgnRyX087V6OXMsWKy3i+2qZzv1QbKVwTGpwTyY6DHS7LijSoHcmkdYih3AHR+FCXZP48WQpoQMpyKFht3iXgRneZXbEZ8P3AGxhg9THJVX1w4jl+y4Ci9728MrGWrH4F3H3VC/pwNShUXkx3GCzJbbU9IyLpenWwE+KNABL033e32q1aMB2cBREmpLaJaUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=suUPsCTViDXtxAyymCfoXUkrtE0Idkgmt9/T8BonYXg=;
 b=tZz7N5Zulf2+Jy9TzYkiVaP9kLAuRleN0rFHU7vygN4Wd3AMYDMGThecQmGMXHWyf2yVKYoOheQ2HhEM5WmusyMXkZGz2PFjjasNHK6iQwlf7kxydgtlsDlUTw/5jTZ+C5ldHvgPaWKCvzj+jS1V1whj3NWNld1gwXCFbHxbUIE=
From: Henry Wang <Henry.Wang@arm.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "michal.orzel@amd.com"
	<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: Re: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from
 function type
Thread-Topic: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from
 function type
Thread-Index: AQHZ1yqggX5G5+V08E6Qji7ACNl+qa/+9m4A
Date: Mon, 28 Aug 2023 01:53:15 +0000
Message-ID: <2A11B6BD-60C3-49A6-9680-084E41EBCB6D@arm.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-4-vikram.garhwal@amd.com>
In-Reply-To: <20230825080222.14247-4-vikram.garhwal@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PR3PR08MB5724:EE_|AM7EUR03FT061:EE_|PR3PR08MB5753:EE_
X-MS-Office365-Filtering-Correlation-Id: 98b6d55a-677a-499a-8c7f-08dba7699433
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:
 Lb3k/s8QBLOE7paK5GWllRpAWbl93Hd+zR+Rb2540oUHoR8vhckKf0D11iPIJGJf8Xi+S+TCLzrtOw0qsRyv1pIhgSVEfEtysiQH1TKttNPhcHnqvbuza74k4pomoMg6AH2ceKzS19Cl+0I8uzkIDMI5FLQQMx3VNXeHlPc+6X4KDwsZD/zMb0nWDnrQgdOm04GpEssCrkJOVvvf7jeFqnmVFMBDQKJfiBguQl1jCV1Fz54sfvBpRHF7hIlHPrIl5gJpVDeiv+7OdDf0lNqmJCbZvqjo3Wgrn3wIJ5fbOo9XbSc2IXPF8ZcVZJqqdojCiYhh2WhXQR6Pu2TU3i1p7Nf8Pccvo8BsZzicvzJj0JF6cFEko+DmBxA3NRuNDSUqau5jn3QO7f6dFRaDC8UGwFu+ss16dmYcfSzLL3yYvrWR8R5R50Bkn0mPRWCdFkxr/UwcTlQH+nBu336U+YFgIseVnQXXhcgCF2KOYbY3o2N+oFzsY+LPsZ1XEEsn5zatapQpVNCRgiD1PNuZhwWCB9e677dCmASVI+mVP2fBnypc1BEnSzDQo1eBwp8dw85zvv8+LULvTjY6+hKblj3zv8M18upkuwy8g8Cva/Lm6RaVRig515AxoZNgzl4a63jZM91cjrNpJRXfgnxX7m16ww==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(39860400002)(346002)(396003)(186009)(1800799009)(451199024)(71200400001)(6506007)(6486002)(53546011)(2616005)(966005)(4744005)(26005)(2906002)(478600001)(6916009)(6512007)(66556008)(316002)(64756008)(54906003)(66446008)(8676002)(76116006)(66946007)(5660300002)(66476007)(8936002)(91956017)(4326008)(33656002)(86362001)(36756003)(41300700001)(38100700002)(122000001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <D336D50E664AA448A19A7ABE7A9075DB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5724
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:
 AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	af9a038f-b657-431b-b5a4-08dba7698b2e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ttiPTi0KEdZE4Plf18WPRKUyKRMbiWMNeuITqh/5x3qahH2tXaFaK/QpbtyRIMomsbnLmekmbasIAFD2eJKioWJpKJIAbjHSc5nEr+WyIUEm+h0FCrKYAMNvVr1sTFRtkPp/x5/Gnmi0mIbNQweAZpzpb84FeI7Itzy7cdasjqTvnRl0MjFLsRccRmfWjMWq8kSWKK9jpOTC5IvACgNQfsQJk2MQFZ8NnWai/3P0n1C4cU2g+ndhLexFt3veKiZ5kuJQ3icgRTZYqncs3XGLmvLZ0P9onLL9kYWOTtlozYoH+gzl3eT3TxHvdQzwzUiW8RhgdMseihd7lWzMa1IfPHn9QFc1JKUhZYKdnIki031vOQJNmfJS98Agz5PilWuCNy/pgI4cvAbrUhfV5ASTMx17EcmR8yn8jL23lKGvfRX+XvlBTu6zV3pR4jgBrkYEjYLxquNLP02y8eqQghaLGoU6qSVXkHGWsbAyBab5cdlssvDDVR5ePR68hguixSOJd4oGgLgh4aS4GFHbASzGJRsCgIxKHAdEqAvVo02gB+ODWA/VzfEPBSZADGLxjARtk1U3+bZjXR/qnuu9nJfpJe7JOcWbeNWcQYofXQLpNLIX50Yd7t43PpumhUDcqfxBCda/DVP2uE7OfxjyYyzS8440/YikUo9rGbbg0/EhCTu/mAYLTNQhh75lpWC1pTMqCspcXYy6LSwd04/bEWzSag==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(376002)(136003)(39860400002)(346002)(451199024)(1800799009)(82310400011)(186009)(36840700001)(46966006)(478600001)(356005)(81166007)(966005)(82740400003)(26005)(336012)(47076005)(36860700001)(6486002)(2616005)(107886003)(40480700001)(53546011)(6506007)(6512007)(5660300002)(86362001)(2906002)(33656002)(4744005)(6862004)(316002)(4326008)(70206006)(54906003)(70586007)(41300700001)(36756003)(8676002)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 01:53:30.2243
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98b6d55a-677a-499a-8c7f-08dba7699433
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5753

SGkgVmlrcmFtLA0KDQo+IE9uIEF1ZyAyNSwgMjAyMywgYXQgMTY6MDIsIFZpa3JhbSBHYXJod2Fs
IDx2aWtyYW0uZ2FyaHdhbEBhbWQuY29tPiB3cm90ZToNCj4gDQo+ICsNCj4gKy8qDQo+ICsgKiBo
YW5kbGVfZGV2aWNlX2ludGVycnVwdHMgcmV0cmlldmVzIHRoZSBpbnRlcnJ1cHRzIGNvbmZpZ3Vy
YXRpb24gZnJvbQ0KPiArICogYSBkZXZpY2UgdHJlZSBub2RlIGFuZCBtYXBzIHRob3NlIGludGVy
cnVwdHMgdG8gdGhlIHRhcmdldCBkb21haW4uDQo+ICsgKg0KPiArICogUmV0dXJuczoNCj4gKyAq
ICAgPCAwIGVycm9yDQo+ICsgKiAgIDAgICBzdWNjZXNzDQo+ICsgKi8NCj4gK2ludCBoYW5kbGVf
ZGV2aWNlX2ludGVycnVwdHMoc3RydWN0IGRvbWFpbiAqZCwNCj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYsDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgbmVlZF9tYXBwaW5nKQ0KDQpJIHRoaW5rIHlvdSBtaXNzZWQg
b25lIG9mIEp1bGllbuKAmXMgY29tbWVudCBpbiB2OSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMNCnN1
Z2dlc3RlZCB0byBiZSByZW5hbWVkIHRvICJtYXBfZGV2aWNlX2lycXNfdG9fZG9tYWluIiBbMV0u
DQoNClsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvNTkwOGI2MzgtZjQzNi00
MDYwLWE0MjYtOTgzOWZjNTYzYzYzQHhlbi5vcmcvDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 01:59:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 01:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591355.923733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRXM-0003jP-83; Mon, 28 Aug 2023 01:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591355.923733; Mon, 28 Aug 2023 01:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaRXM-0003jI-4z; Mon, 28 Aug 2023 01:59:28 +0000
Received: by outflank-mailman (input) for mailman id 591355;
 Mon, 28 Aug 2023 01:59:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nwb3=EN=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qaRXK-0003jC-H1
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 01:59:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82d5f494-4546-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 03:59:24 +0200 (CEST)
Received: from AS9PR06CA0327.eurprd06.prod.outlook.com (2603:10a6:20b:45b::22)
 by AS8PR08MB6167.eurprd08.prod.outlook.com (2603:10a6:20b:298::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:59:21 +0000
Received: from AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45b:cafe::a5) by AS9PR06CA0327.outlook.office365.com
 (2603:10a6:20b:45b::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 01:59:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT047.mail.protection.outlook.com (100.127.140.69) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.14 via Frontend Transport; Mon, 28 Aug 2023 01:59:20 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
 Mon, 28 Aug 2023 01:59:20 +0000
Received: from 15dbd013b228.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9C14A5BF-3D2C-49A3-9C0C-E7ADA97BFE03.1; 
 Mon, 28 Aug 2023 01:59:13 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 15dbd013b228.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 28 Aug 2023 01:59:13 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB10057.eurprd08.prod.outlook.com (2603:10a6:102:359::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 01:59:10 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 01:59: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: 82d5f494-4546-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u2OUpPHrRVxAY391QF3WkYaOHqw3HmDHfAlCFLQcAPw=;
 b=bmqaqEj1ipX9u2b77ptE/zfP5fqDjPEJFupqaKWgkvQ7C9sCltargV38bKRpOLtj2i4lgjTvEk4sAqNrKh0dVVFJzWR06Wu4403pBsV2CH+QVsWvXa3IaCCIPHkeDu5hFaQY1tzenAAs+YsK5C5IOMhReWiQLiIsLEiesaUbk2w=
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: d6ddbe69031cad96
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LH8e2fDwdIgyWRdbiuSLmB/z4uGvAGUuRczCg4clNYdLsK6aidvD/9YLvDU5mxGDXBuYwKEYVwEPA8keaUwepiUcV/ugr4vfvMZ8ciAIAaBu7mBjkowBjWJvgE0trQ3tRp5r+Dj4xEHEHHWt+BMdoSHjEV4iD2pXbAZ/gdTeutpBaZ1TFj1SMrDzMz1owFZ5PwUXLGigVDNiws36+0k6BU89NXoYLvCSW+SlxWZZEl/dPRRF6aD64AWJdjulbnTP7bEn0WAHDjmNia4Vp7EmziM3pPxPkvgwOPPnh1qd/g7DMY7QN0dVoCHRRQ1KrqGdQEcMCUNf0ScV67aJ3plyyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u2OUpPHrRVxAY391QF3WkYaOHqw3HmDHfAlCFLQcAPw=;
 b=cMSqtM3U6AZTy8Cpw7c3ERo0utiU619rL1gtZde1Z2RUhveEVDnNfP0nCkbUZ1hhYZ++tjE+868RJ+clnp0cOSXnIB1L47r3l58cyX6F14J9o+gWqmwog/7joIDGi2LJFA4XJh/XWRVbkXWpKgtYGZ6H/UHd4HQ5pVRGdo6a+ZtUkXhKzIWoxKfBRb7QYKDQeD25HhajqTBCO6TaTZ2QPMkW/ko6Qy/mPym0Db9J0P7ACg6jFUeEwDjs3JSI2wqtorakELqFKFGr0LDgIaCHZrdo8sLHmj6YtYEqBNmR04e2NZZ/ndRiDMIFryXUFiwvqirLMakFC7KqJeWTBTexzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=u2OUpPHrRVxAY391QF3WkYaOHqw3HmDHfAlCFLQcAPw=;
 b=bmqaqEj1ipX9u2b77ptE/zfP5fqDjPEJFupqaKWgkvQ7C9sCltargV38bKRpOLtj2i4lgjTvEk4sAqNrKh0dVVFJzWR06Wu4403pBsV2CH+QVsWvXa3IaCCIPHkeDu5hFaQY1tzenAAs+YsK5C5IOMhReWiQLiIsLEiesaUbk2w=
From: Henry Wang <Henry.Wang@arm.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"julien@xen.org" <julien@xen.org>
Subject: Re: [XEN][PATCH v10 08/20] xen/device-tree: Add
 device_tree_find_node_by_path() to find nodes in device tree
Thread-Topic: [XEN][PATCH v10 08/20] xen/device-tree: Add
 device_tree_find_node_by_path() to find nodes in device tree
Thread-Index: AQHZ1yqk/rh9XTnQ3EOw+dopXp97ca/++BQA
Date: Mon, 28 Aug 2023 01:59:08 +0000
Message-ID: <E67AE49C-15E0-440C-A043-4AF5524E43B9@arm.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-9-vikram.garhwal@amd.com>
In-Reply-To: <20230825080222.14247-9-vikram.garhwal@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAWPR08MB10057:EE_|AM7EUR03FT047:EE_|AS8PR08MB6167:EE_
X-MS-Office365-Filtering-Correlation-Id: d3cf04fb-435d-42cc-e22a-08dba76a64e7
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:
 lM1SLFZYvuxtSlMkfxDv4CVRnExZ2J9zzo1HAoAIUojLNLrkPXYoPb5d0G1dNwNGyf5443XjmTGYGvZK9JYBofbad/jXOgiRcqwo44sN41eIlocGZO/5wGP4PZH9oy9PyE3Zu2zpnvJj8hnkZl26Z0MJMAj3cdEunfOjFrBme07DiM9JYNIuDOUMjTmdia6/6P9REG8NVh8ssMHkQGoVXZmBsTcxGtI575oY1jH7SI/dsmR9rzSYm9ya7T9ZSi0dskR74MjpT0Glmf8vX/GlVrX3/BgJBlylzQt9gsk4C/1RKoeEI3mKzOSfNKIqmOt+5WcE/LuDVs1Zx5LwvsRd88nvhKahXCoKm162bdpkPhFuoLy+yr5qOHBGix8StvchLTrOnoH+T6fIX+6qa6akRyYsGCgpduVsRzTDEJbIxr3xkpggpHFGf8tJE+RbKvCzVZjikNSUWeUBHwJKLswUFMm2n8C4aOugvYWAVXuRp+TJXr36u9jIGmNkSsbhpFCXUF3KEJF3hr/EbypVRgVTjnKP2ezSigAe2Os60RQxsuaLlr3uOabGmHLjdFBj2IK99dZITjSq1sw+btZyaEPw9yX2ak/RNRBSmwpWRJAyFaIqbCnnnoDmuDt8aTQyJI5XjU5/TVG8iFKTkeDAD2oaNVpi64bQB/T/eejj+jrLoJw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(376002)(366004)(136003)(451199024)(1800799009)(186009)(83380400001)(478600001)(122000001)(26005)(2616005)(6486002)(6512007)(53546011)(6506007)(71200400001)(5660300002)(86362001)(4744005)(2906002)(54906003)(6916009)(33656002)(38100700002)(316002)(91956017)(38070700005)(8676002)(8936002)(64756008)(66476007)(76116006)(66446008)(66946007)(41300700001)(4326008)(36756003)(66556008)(37363002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9DC3E37AB07F3C4EB04BCB7249290FF2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10057
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:
 AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8e3cc93d-0563-4753-c629-08dba76a5dda
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WacNxyUNe3FtPaMmrYWh8n9LpuiNyVqFXumdUSSFrNdEYe3F0QSmsTP1FhG+sBI9Yd2fG3ReMkN1GXJgkE8AAzDIjPkkIpWvPnxfqVFm/9nCQWlzbdi4A5hZTU6/g0NW1UJVkp+8m1rZPUD+oN1Kd/UvJ3CSn/ekpSb4USgJp+deZsPHsaoap9suf7yshDTEX0/OQMjMAKn3n8gR2zVxmjui+KUfWIL3hKldhofIrT0cixQ5RJ8wiQ0n6XP2Bruum4iFlCTEfR8z6+tmh+4lNLLmLWsPjRJwkHbmamhJhf5dKjXUvL0CazL2Tla17/i3WTAM3j/nyn6V+u+oKG7RbGQzB7cL8CARW57o0hai18ie0A0MJmAPhhz9vHayt1dZl13FMh7841FexdfK8NxH8tgCLszcY++t2Xu3qfSpBuZmXynbAHSb15HIeSTgvihrcyxPsEyofPkpjpNCpfe2jTw+dx8JS9lTdQNPrUPnqUlqWFo5KQOVTr6O29j1bbvdyXMQulmmV34BQrB+xR7f8Xl9m75eyJ8Q+0kNLLI3eZW0PrrKxzo92qi4L+73ma1+OTdRW3JIeyl8HGhtlxNYKfKNXbZgIdICVeA7/kk80FKpvakIsDAR3QXePTzXKsW8JJ7njoRjsb7YB335ED9W3GD+tqyj1GB4V45Row1sKVh6fq7sUdM0sO/pyqzwRgGKVtsYcxTk3ergZKydcyc6SD8ff2mL4u07pxbfmixFoSM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(82310400011)(1800799009)(451199024)(186009)(46966006)(36840700001)(6506007)(6486002)(478600001)(83380400001)(336012)(4744005)(26005)(316002)(53546011)(54906003)(6512007)(41300700001)(8676002)(4326008)(8936002)(70586007)(5660300002)(6862004)(2906002)(81166007)(33656002)(86362001)(36756003)(40480700001)(2616005)(36860700001)(47076005)(356005)(70206006)(82740400003)(37363002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 01:59:20.3722
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3cf04fb-435d-42cc-e22a-08dba76a64e7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6167

Hi Vikram,

> On Aug 25, 2023, at 16:02, Vikram Garhwal <vikram.garhwal@amd.com> wrote:
>=20
> Add device_tree_find_node_by_path() to find a matching node with path for=
 a
> dt_device_node.
>=20
> Reason behind this function:
>    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
>    device_tree_flattened) is created and updated with overlay nodes. This
>    updated fdt is further unflattened to a dt_host_new. Next, we need to =
find
>    the overlay nodes in dt_host_new, find the overlay node's parent in dt=
_host
>    and add the nodes as child under their parent in the dt_host. Thus we =
need
>    this function to search for node in different unflattened device trees=
.
>=20
> Also, make dt_find_node_by_path() static inline.
>=20
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry

>=20



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 06:26:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 06:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591365.923744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaVhj-0008K2-Pg; Mon, 28 Aug 2023 06:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591365.923744; Mon, 28 Aug 2023 06:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaVhj-0008Ju-KC; Mon, 28 Aug 2023 06:26:27 +0000
Received: by outflank-mailman (input) for mailman id 591365;
 Mon, 28 Aug 2023 06: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=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaVhi-0008Jo-Ft
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 06:26:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cebb937f-456b-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 08:26:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB10062.eurprd04.prod.outlook.com (2603:10a6:10:4e2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 06:26:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 06:26:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cebb937f-456b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WJ/cJAeSqc0m2e2bOV+AVcxxVmsutllKlVdHdUZClD38BKEyZeqoVl0MZy77Oa8+wlIxeBi0VHVqdv3eKbiUSAipSYnbXfB4ZhLMOb6BN0m51qMKy3v4Mm/Z1GaDGarg3KctpA7G2TQI8TARLYaj/UY53TNMbdzr9ybCtCQm1LgXWUf33fcScaTCilX+PM/uMBG8XeJ4yL0643yI2Og9BEyhWI3kk4Stwq9J5PqBVDOoP9z4mQpBOMO79AjVCepC5KsEg4T45nHtYjbWJik31FHq2D/KhWLfYJxXq0cOpn8DEdeTm39incXH2OXcu/k3ShpwnZjF910jyQEh+8vKHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P8UOidGIClrirOOYsmFd5eNCoEX1xONL/rumc0CnnaQ=;
 b=WsyAzYL9hi2K3wF+oOo4OOnPeifnmidIpCdWl8q0wnH2Ez5duYp0teHDwCwp2XgfnphMv6VFI3oDCeVOqxxf9Y8EVjOKZOy+g2rAbKxHQRWeSdGTEbK9eUoFqO7iOQF4QWfTTFgBGyFm1k9HOGV5w3r1WDOnq6zWiaX6eHHgdQq0iLavAy9D3jkVTfGuBSlyJG1tMOWOUq802ygcPRPVGJ4zKWFay34ja3QOVK56llHYsskIOY788iz+/X1/hSovlisaVzyT5GimsOT5VvpDkvBQBXXpcLIyvse4DOiLH5WB0kL/MSS9jSbKDdmOSRF5J2iaK3I1L5GV/zkztd08zQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P8UOidGIClrirOOYsmFd5eNCoEX1xONL/rumc0CnnaQ=;
 b=nEtLOYlQfNtV7D0JZ70xsFsFqPqhiidxPZRmWwLZGuUYshL4hpip4et3JbuREP2t9pLtKjTLyqZnuFGgfuZBg0lh5plExafFKLSNVDpHUwpQKE1ShkMRMfyuhbfH1yTZHmFiyULOoc+LQQQBMeYLyh5nKLpxNOgX04NB9qcRO50g0RRwnmHK3dnOWXNiVKhNHap/vvGCbKqHv8bMdSp7+1jvMv6mS9R1DZXtFJGBk99559msvD/GSH+0XIZcoVj8Qq9VOIjIuVK+ny0q9qWIx75BZweIZVc/osCbOGzELVib9+mGTqFRxdw3b7ipuQJ7DFsSsRSDCQAh6NY2b7smaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9b775968-5dcb-eb14-04c1-93b65de9feb3@suse.com>
Date: Mon, 28 Aug 2023 08:26:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691016993.git.sanastasio@raptorengineering.com>
 <2702cfa486aa92e82fccd6393519073f10f4c40c.1691016993.git.sanastasio@raptorengineering.com>
 <1866073f-9611-f5bb-9b5b-05ad463650e6@suse.com>
 <b24f0eb8-5dd3-8fba-fd05-e98bcf45c60a@raptorengineering.com>
 <f725b3a2-6de8-7612-9c51-cea42244ca89@suse.com>
 <a32ee18b-2a9c-5c68-ee65-3052e478b153@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a32ee18b-2a9c-5c68-ee65-3052e478b153@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB10062:EE_
X-MS-Office365-Filtering-Correlation-Id: f1e99abc-881c-4989-36b1-08dba78fb1c8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	exSdbXis6vqHnG+V6Jrv2AZUG2RTHz+/LzHMlLfWHp0J6xMmuJzNSqCLRmFo505ah2uUJK3BoTtbfAwf78j2Sw/ly3hkqB53GJPkouXdcEWt8+TSnAE28RawveezFrcXJzj3iGVpilsMritfaxnTQPGnQh6kybo5xfvoQqhIbGNZWKdh0NFhVKR/J4nLZdexjh7ljAryIDlBEEac5G4/iYfYWOleC/qnu1jRKGINHf93rQrZ/eo19PMhZrY+nNfJ3fTRLZlPOb7CBFj0oTCH8yxIokLq4R8TrL13ueJ2j4mUt+WYCffGb0AyN8CuQzhSnu/5PMICRVc0rWi7wHyL3fCOenW9csrKeBKFj2QHRGm8wGG3jtvHos7R+DcSQA0TuHdxqvVfArBK2J/jJhAenH9jxRlNseNhyTcajFXO+1Dvk4gVVLGmVwA3MYFGUIJtJFnurVe25Jy/ABLAQGwtoLYtIepeNZic6G+GuMEAmH90YZ28CTD6YfDYsDVu6wGKr/X1oakI2WDHevIzTzOUiYwNE9/4sxB5Qcqb8Xyy9rgCMkxLNgNYnzEqOf8vhXROw3OzOzysuar/w8Rk+7FBBHqtzJBNvCzeEDww2TKFL1VWDmCdwg0O2lxjt36iwJZS+3Wkuw20Ed71gi7isWaPhw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39850400004)(136003)(346002)(396003)(376002)(186009)(451199024)(1800799009)(41300700001)(38100700002)(86362001)(31696002)(478600001)(2616005)(26005)(6512007)(53546011)(6506007)(6486002)(36756003)(316002)(54906003)(2906002)(6916009)(66476007)(66556008)(66946007)(5660300002)(8676002)(8936002)(4326008)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eE5HckJmTy9DTGZncStwQlgvOXZuSFdLTSt4dDJ6QmlnODQyYS8wZGhCY250?=
 =?utf-8?B?Wi9PbWpld1o3eklKU1VjaGpUTHZhWWNqVEpranl4UDlHeXM1Ujcwa1RhREJ4?=
 =?utf-8?B?Qi9ZSVArWFZROUtVRVBuaTRMMFRma3N5ZGtXWUV4RWtMQmJ6ZWY5dFR4YkNs?=
 =?utf-8?B?YUsrWTYrbldaM0llY1B4S0hYZ1ZXVmEya2FqUlJMU1VpSEFUM3krSFh2bG9O?=
 =?utf-8?B?elB5aDlDL1FkZC9rbTcvWk4yc2hmRWMxUHdlYTJhMlF3dEVhbVlGQnlKVmQy?=
 =?utf-8?B?MVJidWYwTGZ1R01uRTNTUVlJZzd4ZVlxdmdBSkRWN2IxMTZuVldxQ0lRaXY5?=
 =?utf-8?B?dlk5c3poODkxSjRteG55aXZKRXhaZFp5ODdlVmdoQitUYzBiNm5lTzdoRjZS?=
 =?utf-8?B?ZmVCMmRUYVFQMnpIc25EajNDem10dG4zczFpcFllMEh5Y3phWVRYbGlaYmZM?=
 =?utf-8?B?d29UK1MzdVdXaEdrOWg3Q214MTM5WnVkOTNnSG0yMTBpRHJkTy9lSytxT1Vl?=
 =?utf-8?B?ZENEbld4ZWhiV0JFN2l0dlRIdFhRRjc4NnZqcDIxUFpZb0ZhQlp5UkxobDlm?=
 =?utf-8?B?S1RqdmErYnFJVE1RZ1ZZWDFOVVdSRTdpREhSbGJZK0Zxb2JESUo5ajd5aUYv?=
 =?utf-8?B?dmRkcGFnZFh1cjlBSVM4UU8rTXJ2aGYzNFBvQVRnd0pEY3VmVUNrV2xxb09n?=
 =?utf-8?B?WDYyTElUcC94N1drWW1HN3RDUkM0K0FXbjJ2L21seXV2SnBMRVQzVWdqWGtK?=
 =?utf-8?B?T2pEUHp6UjhoT3E2U3U0K1YyV0U1OXl1MlRBTlBCZnVCSktZRVVNZ3kxY29l?=
 =?utf-8?B?aHcyeElKQXpKdXVQN0dUVjM0ZXlYeWlJQ1ozdk1sZm91WEpUNnRiNW9EYnV6?=
 =?utf-8?B?ZVl4VVdZQmFRYTVPUEhlZlJZemFXaGVLdi9QUC9LUU5CWjRVNUVMWXo0OVYw?=
 =?utf-8?B?amFWT1NGNFVNTXZpays4eXBwMnNXU1FTQ3F3QWFRenVEMkZpR2hVeWl0aWt1?=
 =?utf-8?B?OXArUElkcWlDaGVhRVFVOThFQW1DeDVVbngxV3o0VVRQVXhYZHVIZysrWks5?=
 =?utf-8?B?ZTZ6aWxNeWNDaUE0M2xITlRxelhpemFkMHQyODNSQmtQNTNMWUFOcSt4Y1gv?=
 =?utf-8?B?Qkg3OHY4djZpM1J4eWJrUjRiVUtMSkVXanpQSXRJaXZFUXRCU1dPa0c0L0w2?=
 =?utf-8?B?SGk5T0JEOEMxc2RpSE8xSWRaZWkveGtjWERTbTFhV0RBM2xiU09pWW1OQk5U?=
 =?utf-8?B?YzdUOVllRDhHT0hiR0tFdEJTTUZnOVg4TU4rTmZiRGxLSzdIQWVKbG5FUFg0?=
 =?utf-8?B?emVMd2VjcHplMkduTHBQS1drUlBKV0pXcEwxTXI4emtxZWNxemU5VGFOb04y?=
 =?utf-8?B?dEQvNUpwclV4cXFqVURhSGNmVkFOS2ZUNDJOZlh2MlNmdXBEZHVjZ2I0bk5k?=
 =?utf-8?B?TTZrR3ovMkwyVmJFelhQemtqNDZwOWdhZ21Zc09PdHNmT21SUGlZUUtvcFdS?=
 =?utf-8?B?WHlGOEhLYTI2TFU1UjNUSUJlM3NvdEU3WTJxSjErWW5GVTlVVElXUHl3c2F4?=
 =?utf-8?B?TG9KREVjazQ3cm1mTTlsY2pyc1lBYnA4ZjNXajRqMVZpcHpmSzUrUTdYQUdI?=
 =?utf-8?B?RjQ2KzdiOUpiS3Q5bWJ2L1A2MFkydjVhTXdUZXFVUjNtYWgzZnhtUG5jbmVL?=
 =?utf-8?B?M1NXL29xb1A3Y2YrK3Ridms3VXQ5RTFuKy9VTENlYlFVelZ0TGVVSkRJSExS?=
 =?utf-8?B?L1VTZWkxcVJxVFBUQlZLMlk1SHF4dU9Tb1NYSWlVbm0xdHpMc0lvb2ZTNTdv?=
 =?utf-8?B?eUxwY3luTDRPdzdpTmtrbzB6TndQbzgzNXZ3RDdFWUNUb05ydStHOTBoM0tU?=
 =?utf-8?B?SUtsa3VGWEtaNlBoZTk0eGpYdEEwQmFIUytITndmcFIxTHJaYWFmeDlvS1lV?=
 =?utf-8?B?cWw3TElEQk1hL3RXeHMxRVU1Q0k0ZUt4WENNYUtUdzJ2UE5ZMDE1YlJQRU9o?=
 =?utf-8?B?cW1sejcvckhUUFNNWUZ4elZpZnlqWm9lM0JBRTQ1QTVvK3lhRzFnNXN6bU8z?=
 =?utf-8?B?Q3lhOXZ5R000SXh2N1F2anhuWDBIRTdUcUtvc291WkNtK1Y5MENXcHVPNkVW?=
 =?utf-8?Q?d102KxaVRYYHhmf/FvEKwLKKc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1e99abc-881c-4989-36b1-08dba78fb1c8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 06:26:20.9599
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0mJZqksOyCg1efxvXvYagcR5rrVHibKjoWd4NGdle+r1zMyJkWKlIaRG9lCjfu4KfmToOxdoUeBzMExQW4epjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB10062

On 25.08.2023 19:26, Shawn Anastasio wrote:
> On 8/25/23 4:10 AM, Jan Beulich wrote:
>> On 23.08.2023 20:39, Shawn Anastasio wrote:
>>> On 8/8/23 5:27 AM, Jan Beulich wrote:
>>>> On 03.08.2023 01:03, Shawn Anastasio wrote:
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/ppc/stubs.c
>>>>> @@ -0,0 +1,351 @@
>>>>> [...]
>>>>> +static void ack_none(struct irq_desc *irq)
>>>>> +{
>>>>> +    BUG();
>>>>> +}
>>>>> +
>>>>> +static void end_none(struct irq_desc *irq)
>>>>> +{
>>>>> +    BUG();
>>>>> +}
>>>>> +
>>>>> +hw_irq_controller no_irq_type = {
>>>>> +    .typename = "none",
>>>>> +    .startup = irq_startup_none,
>>>>> +    .shutdown = irq_shutdown_none,
>>>>> +    .enable = irq_enable_none,
>>>>> +    .disable = irq_disable_none,
>>>>> +    .ack = ack_none,
>>>>> +    .end = end_none
>>>>> +};
>>>>
>>>> I would recommend to avoid filling pointers (and hence having private
>>>> hook functions) where it's not clear whether they'll be required. "end",
>>>> for example, is an optional hook on x86. Iirc common code doesn't use
>>>> any of the hooks.
>>>
>>> Alright, I'll drop the `end_none` stub and leave the .end pointer as
>>> NULL.
>>
>> Yet my comment was about all the (presently dead) hook functions.
> 
> Sorry, I misunderstood. To clarify, by "hook functions" you're referring
> to all of the function pointer fields of hw_irq_controller? Are all
> users of this struct going to properly check for NULL before trying to
> call these function pointers?

If I'm not mistaken, all uses of these hooks are in arch-specific code
(we don't have a proper common layer, unlike Linux). Hence what checks
there are going to be is all up to you. But as long as none of the fields
are used, supplying (stub) hooks is pointless in the first place. IOW you
can leave the pointers at NULL now and still use them later without
checks, so long as at _that_ time you populate them (and then not just
pointing to stub functions).

My main point here is: This introduction of temporary stubs would better
be as little overhead and as little code churn as possible - minimum
number of new symbols/functions/objects, just enough for things to build.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 06:35:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 06:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591372.923752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaVqk-0001Vs-Ij; Mon, 28 Aug 2023 06:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591372.923752; Mon, 28 Aug 2023 06: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 1qaVqk-0001Vl-GC; Mon, 28 Aug 2023 06:35:46 +0000
Received: by outflank-mailman (input) for mailman id 591372;
 Mon, 28 Aug 2023 06:35: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=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaVqj-0001Vf-5y
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 06:35:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d3b4869-456d-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 08:35:44 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7869.eurprd04.prod.outlook.com (2603:10a6:102:c4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 06:35:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 06:35:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d3b4869-456d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TK9u/igq+f+RUVtNaxL17IhIcoO1xAPa7Wqiu0KdD/Kfr5ggZzbDJgsAlZE3vawp7D17w24+6pPCvsPNkfsOhWIiWWfyZbjL4sr5JYNC+Rcgr49jr7u/oeQ+ZSmPSODFY3TOhUWFp+iYrIRvVIAsoFv4/JvSFJuJ5lPlQaSIQ46KQ0QJwxvIQ14KlLJ6f0nyH53mLAuSwk41q2IwzZHIjMqmOp3oCObnKPAQk2Of42KpgLMnoSxB4dsY7VfdXWF/3CVXmNvOzX+SUOSVzhDtGazyKhU/FnLGlS5yJDU2SE72uRrtZ797aesxI3p+k6k5dC0LR4yrN2r5PY2oZekScQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rk2HkhIJEUeZ69LdkQcNPRj2Op+2hDRrzI6oq+Rd9uo=;
 b=D87cCrqn8BNFB0vgsN6apzYAC290D0wwvjyEjEr0JoHucv4lTyroV6WvzolQFtHI47VApoZMBXIarJyPqR8A+qfk/rqbkkO+LCt5BreRzTTRDO0c0OdXUG0NniafgDkKhCT76iIQRtr+8ezU54/tpADRiMWsMXIUwOYV91ikMgyPwwYYTLma73di+xmEe5yP8OS73yKwQQwshc5Wp28OXdrH+/mbUnfyW2UjKjuUflmNHKCi9+4fvA3/W4LqfsdV0g2JcKOGu/T/AS6zIuMleqnUqql8/7aX7H8u8sC6ykGVFK8P4+3w2j7x9N954IJwxu4tc8P7a7OPs+cXOdPKFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rk2HkhIJEUeZ69LdkQcNPRj2Op+2hDRrzI6oq+Rd9uo=;
 b=eAPUUiyFf9GUU+IYIlHccNoBfM8D5MTAd+6Y9wzDJuQe7jIYdVVy1XAqsB7axgUeIg0gTO4/ZpbEMnLhpW9lVCvcF6qnIGDGJP3DMBoOBjTXsIrqqOyByO2oAFAMIKQkoJ4teW/kPYXRhhfMUoWbfc0jtCW1GAmZk9ekfpe4oenI16P9G4qUzw94mny6XRGKGfl11T3STdd6Xe5k/lktNe8YcUHd4x74Gw9WliD7qjQdztQ+pXuIWKl8DcqzCdfshM/2Hn/Wl2LJIFIFYwPnjkIY8nIp1WR4mS67RfFJaqwW4Of4J0/oKCippBFwsthAc5JqSVd7j94SxQFDgQ+CPw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a7c68b27-4ad7-175d-2c62-85a0f1246357@suse.com>
Date: Mon, 28 Aug 2023 08:35:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, roger.pau@citrix.com
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
 <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com>
 <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com>
 <alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7869:EE_
X-MS-Office365-Filtering-Correlation-Id: 82886b23-9a37-43cf-f0fd-08dba790ffde
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QEP19zHAwQPg9a8CopKav3bCLAdsbAJPTZEb53M76UQHL+1VqhYXqWyIyi5jkbw014pqmOl6gtWcK3lFwActbDUH1nlLcg76ntpxsMH9sahNfWBKVaPpTbYl9KQNlvZuKXgaT0ptDpn979LG7n6AyFaBKZrLWwv/EgmdUNh8ds7n1Xg4QrnLdccrtEytLA//tBIuhwt7TYNSrd9WNuqKpJO6O7hQ9g8YQP9pcsxGSUtZX2w/dnM4AmlzZ6jvtiUEPlQ2WZDJlnHpLkKl3BAw/ltc1Gok+OHdKTp7O3gmqqrZja8NW0GpE4IjjAv6I91W57LWNcGQWCzFr2sbJHaMHSU/b7hYATuMaLxZu7WWEw+cA7RqFaUsSoOsxsfSc3//iZUkTrtLPXN9apt+qXTQXIWE44XRiVBrhGKZR1lNzobm0eGPnoO1JEg+t4DBy9od4kPJasK2Ah4CPZsCwNWT+iFfgq+6wkdvESWHlzed1XUSL/MllJtOLU9seElKyCoBeYbxE3ex5n1ElgMzB1DBpvE9skGkyJ2EcyMkW1QuLg4OrhPm4ahLkxuLf/1qkuhjC9+5gH0wVR4Q9e5+r3Pt5lmFkK77XBLitnBvZOU3q/Do9EsrkKXFck4h7leFhMAXNMmaUsi18ni/M9uWdMgVNg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(346002)(39850400004)(1800799009)(186009)(451199024)(6506007)(6486002)(53546011)(2616005)(26005)(2906002)(478600001)(6916009)(6512007)(66556008)(316002)(54906003)(8676002)(5660300002)(66946007)(66476007)(8936002)(4326008)(31696002)(86362001)(36756003)(41300700001)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGsrU2w4SCtiS3VYcit1WnNha05NeUJqOVhSUjk0K2VEdkNVeEk2UC9NN1hh?=
 =?utf-8?B?QzF5bUdjWVdOS01FWXhVUTlDYWNXR0hncDFLYWJMYllMOWp2WFhmVWdOVngw?=
 =?utf-8?B?cUNzcXljK2JpWGVkVHpxdElVbS9nT3JBbUpwOU96ZWpqOHM4eW9kOUlkLzhH?=
 =?utf-8?B?Wi9wQ0NqVUorNlY5QUVXdWR5S3Ftdk9YbDJVNUpFdERoRG5pbURLbkNZR3FB?=
 =?utf-8?B?dEFpM1lUQXNONGVFTUdYdVNlamNOM25TTUhvd3grcHE4L0t0WVhISHRZNTIx?=
 =?utf-8?B?ZjB6RW5KaERQeS9vcG9TVWlKdXprN0V6aUk3eTc4c3hBTEcxWjYxQVpJTVRh?=
 =?utf-8?B?UVpLeGY1WE42QVk2anQvTCsvWHdzaURudlZXeG9mQndod0lzTEtJbGVvWk5t?=
 =?utf-8?B?RmRPQkJmYXp4eWwyWlp5TTVheEtHRTZidkx3aXZyVUFPZFVwK29MTnVrUUMy?=
 =?utf-8?B?eEJnd2lQdVZ0TUlqbjQ2dHhEVXJmU3hPSVVnQWgvQzRzNzBoUkNITDNDT0o3?=
 =?utf-8?B?WGFad3FUR0dpUFdLa2EwSUpoeGdkSytlSWFGaWVYMEtqSW8yMGs0ZWFoUFRl?=
 =?utf-8?B?UXdWUjA0ekpDdUJ6UlN0VjNnTkc3SklYaVVXMmp3NEJKSVRMZGdOSG5YZjlx?=
 =?utf-8?B?QXZPN2VLckxFUXJxalU5MVJQK2xLTEE0RjRvM1o0cjllRVNoMFlZdVo2VXFj?=
 =?utf-8?B?cVJZZE9tOExnOGQ5aW1JdlBiWHdLakJuTTlvdUZOSFVLR3hKaXVWR1dEVS80?=
 =?utf-8?B?Z3pnZEZ5aEJJSkFBYzIrc1cvSGFxWFZTeGwrVVdmRlVMYkFmM1dud0FIU2RH?=
 =?utf-8?B?WHYyL3lBUzBYSjBNdTNiZXNmd0tKR05XV3ZZTWJXQXJiT0lQSmQxMFg4S2FY?=
 =?utf-8?B?Qy9FYXhocDh3VlFoeHhjbXVQVlVLVE00TjVXbFJyWjdzTFJjTmN5N2l5VnNt?=
 =?utf-8?B?RHMvRDRGVWxHeG51SmdpalFCTDJUSG5EczZyU1ZJVWw0MDRTNWVHeW5hbEJj?=
 =?utf-8?B?aFl5UE9rdjNFM1o4YWZCdkNIWVhnQmxCdkJIaXNtQWx6ZDBoYWhBL3R6dlZi?=
 =?utf-8?B?KzZHd3YyVStDdVdmbXlNeVJlRHBtYkdSbVBBbUw2QWRYL3lVZ3lvcDJ6WHU1?=
 =?utf-8?B?OHFodWhQcGdyUWpoRjhIM0ZJTlZjWDdncGdSekI1TmUwY0d0dFFUUEovSzQ1?=
 =?utf-8?B?SGRCRWpaV0R0OFlrZzJaMW5MZzZBeGR1TFlzeEt5R0pMZjNnQldLNXM0WFpD?=
 =?utf-8?B?QVhiWHFFM2hXK2tLd2Q3RHdRUnFpUjcyYjV5OHVLYm5XVnFCYlh4Z2FyRVJG?=
 =?utf-8?B?TW45KzZKT3BqREZ6S3VJSEo3N0FWWFltK1RZUVRyL2NLTzRtOENlY3VJZmxv?=
 =?utf-8?B?VG5URDFmOFFRNjljQjZUaklOaS9nWUtMQ2tSZk9ycHp2amdPMjNXMzloVjQv?=
 =?utf-8?B?blFEMks5eGtlbmxEUG9tOEFOaFpzRThVbEhvbDBoNnMrUldPSk40SERVWVNs?=
 =?utf-8?B?SzU1QzlGRmE3OXdVUnlETHhWQ2ZRRS9mQTZtSWVxakhRRFFyQWd4OWxPY3pV?=
 =?utf-8?B?RXQzaDZZWWFaaG1UZlFCcTF0dGxXZ1V6dThvcEJnTWdrVCswak50UVJEZmRl?=
 =?utf-8?B?ZTF0NVNqN2FPOFBYRGFTdXJqTlhJK2Q5Z2lkK0Fvb3dyWUc2R2RQSXI5STZX?=
 =?utf-8?B?UnA2OFFlNE5DK285bDZ1d1ptVjRsa05vT3BZZWJlY1JmRm9jTzAvOHJDUWN3?=
 =?utf-8?B?NTJWbW0reXlveGxweE5COWZPVEFtYlhNUU85VXVORXJhZlBydElrbThZTUhw?=
 =?utf-8?B?ZzNQeHhjR2Y1VlBvM1A1a0FhSmFhRHhhQ3BESDM3NlRzcUlXbjJIVkdkY1FX?=
 =?utf-8?B?czZHQlZTT3RMdDk3MlNsdmEySFVoNzVOL1U3cnFvZmx4aStleHU0QWFCeUFz?=
 =?utf-8?B?aFNQYTd1b3hvM05zNmFCNXBpbFgwNzJFa1habWd0d1R5Q2FIMmtteDVSUUJP?=
 =?utf-8?B?ZjJ2TDg1cHlYVnhzS3BZdjc3QkdTTHlDaDRwZHg4eG01YUs0VU41Z0tJUXNS?=
 =?utf-8?B?WkpFT0tVMzllbUVBOTFwdTRINTBBRlpyWHMydExsa1IzL2RpQzZ4M0luZlBL?=
 =?utf-8?Q?y9yn5I9j/O4HaZBG9cC4R6x3j?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82886b23-9a37-43cf-f0fd-08dba790ffde
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 06:35:41.4198
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GM2kccR1a/Cm7/5y1tCU6FXlWGc7bwz+UTgTTDql4Vp+hA/Kf8DkzQ4StllzFjIatdogZb1/YzSVgCD02qVarA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7869

On 26.08.2023 00:21, Stefano Stabellini wrote:
> Coming to unsigned int, it should be 32-bit on all supported arches,

But this isn't a requirement, even if we're using "unsigned int" in the
C declarations / definitions: If "unsigned int" was wider, all we'd
demand is that hypercall entry code (likely written in assembly anyway)
zero-extend incoming values suitably to fit whatever "unsigned int" is.
Which is no different to Andrew (aiui) suggesting to use "unsigned
long" instead: That'll too require suitable zero-extension up front.

> so
> it is down to consistency, which is a bit arbitrary. We have quite a
> good mix of unsigned int and uint32_t in hypercall-defs.c, specifically:
> 10 uint32_t
> 32 unsigned int
> 
> By popular vote, I would go with unsigned int. So, I would keep the
> patch as is.

Well, I wouldn't quite say "as is": It clearly wants splitting for the
two entirely unrelated changes. Then the uncontroversial part can go
in right away, while we settle on the controversial aspect.

As to "popular vote" - ./CODING_STYLE also matters here, and favors
non-fixed-width types over fixed-width ones. And as per above imo
there's no technical reason to use fixed-width types here. Yet I
understand Andrew takes a different perspective ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 07:21:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 07:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591379.923763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaWYZ-0007Hd-TT; Mon, 28 Aug 2023 07:21:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591379.923763; Mon, 28 Aug 2023 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 1qaWYZ-0007HW-Q9; Mon, 28 Aug 2023 07:21:03 +0000
Received: by outflank-mailman (input) for mailman id 591379;
 Mon, 28 Aug 2023 07:21: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 1qaWYY-0007HL-1A; Mon, 28 Aug 2023 07:21: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 1qaWYX-0001ep-Nk; Mon, 28 Aug 2023 07:21: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 1qaWYX-0006wY-8I; Mon, 28 Aug 2023 07:21:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaWYX-0005n0-7k; Mon, 28 Aug 2023 07:21: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=dMPDTWA3/W1uShJYK2683nUo5o9ub/7lqNH70BO++Gc=; b=Ovte5LRDC9SdDiuqIkKjl81Xj8
	LFYdw8Cx+4xqKtX4X/7WeGcthwk/EhGi+RwBkcqWj2iDi+AbVuqLFpjZI8+P+8KCrTZi7UR3xiwpA
	XFAhGwi3ycLMxJIy1fjjjoxv9jOnl/Tm94KNW3KGaMVVGyojbKwAB0tDQq+I7/1kbVpY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182534-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182534: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64:xen-build:fail:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=92006e5804a4adff05556a97a951fd7766a1d79f
X-Osstest-Versions-That:
    ovmf=819cfc6b42a68790a23509e4fcc58ceb70e1965e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 07:21:01 +0000

flight 182534 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182534/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 182513

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 92006e5804a4adff05556a97a951fd7766a1d79f
baseline version:
 ovmf                 819cfc6b42a68790a23509e4fcc58ceb70e1965e

Last test of basis   182513  2023-08-25 01:57:27 Z    3 days
Testing same since   182534  2023-08-28 06:40:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  KasimX Liu <kasimx.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-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


Not pushing.

------------------------------------------------------------
commit 92006e5804a4adff05556a97a951fd7766a1d79f
Author: KasimX Liu <kasimx.liu@intel.com>
Date:   Fri Aug 25 12:02:50 2023 +0800

    UefiPayloadPkg:Enhance the build processing for Universalpayload
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4532
    
    To Copy the PrebuildUplBinary to Build folder then add/replace Fvs.
    
    Cc: Guo Dong <guo.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Reviewed-by: James Lu <james.lu@intel.com>
    Reviewed-by: Gua Guo <gua.guo@intel.com>
    Signed-off-by: KasimX Liu <kasimx.liu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 07:55:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 07:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591391.923781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaX5e-0002Zd-IM; Mon, 28 Aug 2023 07:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591391.923781; Mon, 28 Aug 2023 07:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaX5e-0002ZW-Ef; Mon, 28 Aug 2023 07:55:14 +0000
Received: by outflank-mailman (input) for mailman id 591391;
 Mon, 28 Aug 2023 07:55:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaX5d-0002ZM-3Q; Mon, 28 Aug 2023 07:55:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaX5c-0002Oh-QY; Mon, 28 Aug 2023 07:55: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 1qaX5c-0007oU-FM; Mon, 28 Aug 2023 07:55:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaX5c-0000ys-El; Mon, 28 Aug 2023 07:55:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=W6heGMZxbX7aTnIRi6NvirbY1lf9M1xf6zO/veSIZjs=; b=T5MdTouB67IfwzDKXra0PbPcF7
	7rX5rNomwbRazy8nz+hsva2S0DAqf/McYBrJ7kaSUybH3/rvK8+TxwQLOKzVCNXo0YTTx46uamNlg
	75QbCm/HY0kWjO267pZFsYyzR6StnmjGObC6wETpCSV8+dkLlZap6BdYh4j/Enx90XdI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182531-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182531: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
X-Osstest-Versions-That:
    linux=28f20a19294da7df158dfca259d0e2b5866baaf9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 07:55:12 +0000

flight 182531 linux-linus real [real]
flight 182533 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182531/
http://logs.test-lab.xenproject.org/osstest/logs/182533/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl    18 guest-start/debian.repeat fail pass in 182533-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 182526
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182526
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182526
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182526
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182526
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182526
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182526
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182526
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-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-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-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-arm64-arm64-libvirt-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c
baseline version:
 linux                28f20a19294da7df158dfca259d0e2b5866baaf9

Last test of basis   182526  2023-08-26 21:10:35 Z    1 days
Failing since        182529  2023-08-27 14:41:39 Z    0 days    2 attempts
Testing same since   182531  2023-08-27 22:41:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Bao D. Nguyen" <quic_nguyenb@quicinc.com>
  Bao D. Nguyen <quic_nguyenb@quicinc.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manivannan Sadhasivam <mani@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Zhu Wang <wangzhu9@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                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   28f20a19294d..2dde18cd1d8f  2dde18cd1d8fac735875f2e4987f11817cc0bc2c -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 07:59:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 07:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591401.923791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaXAD-0003H3-65; Mon, 28 Aug 2023 07:59:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591401.923791; Mon, 28 Aug 2023 07:59: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 1qaXAD-0003Gw-3M; Mon, 28 Aug 2023 07:59:57 +0000
Received: by outflank-mailman (input) for mailman id 591401;
 Mon, 28 Aug 2023 07:59:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaXAB-0003Gq-Ao
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 07:59:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2040.outbound.protection.outlook.com [40.107.7.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de8f78ad-4578-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 09:59:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9579.eurprd04.prod.outlook.com (2603:10a6:10:306::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 07:59:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 07:59:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de8f78ad-4578-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gO3YWZb+X6N1DvFygljEcaVFZJ1mT/ksAew6VnTnf+BhQiPjobDEgpzlNyWdEMmrDbBsp3y60zr79CIfSNOtzhxrSyKVXsdJ17Fd5Qrnyt01QgWhFRK6RKwwms1hZ+21uMNmNDejFGMg66+/+gBILUq4jeOa5NztJGlo4Pip33FZjLoyoJDBKv3FyUAv5VRKmhNmRdvDvYnWcz6l9nUXSHwg4mZcyN0HJrZmMf46LRO4FQXhbA0P3LTG6V7mGM0xL3Tjbo7WVqJujx82fDVgTOF72S7mHGfaOMwv6P8i9WjzlTpb15Y5JW1vpzAhq+EEbaMQMsSmYowSQKKdnT33+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=E3B3TcCNXq6pGw9ceHzzqKqwai7vuBf4WPWv6cGiZWQ=;
 b=DEAaPueG/7LJLEDhyfya5kwajVWnoP2C50k+0zVqzML+h7pr2MO58L0w2PlhWinla5BG3aBxkClLf2tArODkF3J/giOlOTThhTT7XMSi4NWtlTl6JLJ2Xk0LLnCe3R0UKTN4rH3H+ZD3mReZfSo8oNkjm01r3oqLg7yW1smn1hpRopNztRCRc/E63Ttbu4WMmwwEG1y9QUdHUoue+Gobf+mQWlwdrAgZkN22ti8UskO9dApItCzLXW8v2lezAxg2f18rzwS6WWUGixvJBd+utFkO9XcZ/P1GYh73YY/xE78pdYwikstF4oH2iGw27gjmJj51HC+wCPkgVvQTN0tOCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E3B3TcCNXq6pGw9ceHzzqKqwai7vuBf4WPWv6cGiZWQ=;
 b=UwrMZcZ+0412Dk4K41wtUsTSFFkY03XOvfQaUN3nMw7d7Hh6yu04TffDZ+VTNOMbz/cxCbJS2RXuJvsC3ufT9vB+jsVrtJg84mpXH1kU/jSEPbDVYDS5YTU+7GSEhULSW0WdT/mVnM1mwamiXnbMrt3E3j602aNwulwrG78TvptGdb6gW8JQpaGzLcPvaWzbV69HkhaWWGu/FIL00/WG6u0sx0v8HZH04JWuWtpkcMP2rvyGVCnHutj3EuCqeIViYhNbFihdEfpGlmRpXjUsST6J6SSpMho/H3ZFFcYknhwc5LNr3VRhyCP9KH9gBqCGk0nsVuZFjrolVgjvPuRt+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <73a78132-a086-5ae1-2617-fb38c51e64e5@suse.com>
Date: Mon, 28 Aug 2023 09:59:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] ioreq: include arch-specific ioreq header in
 <xen/ioreq.h>
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,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <e5f13920dfcb9f828abb4a36dd410d342f4c0939.1692974235.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5f13920dfcb9f828abb4a36dd410d342f4c0939.1692974235.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9579:EE_
X-MS-Office365-Filtering-Correlation-Id: 0662389a-40ad-4700-e50f-08dba79cb16f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0OtaGa/jnfJEelADcPD+J0MdJCeI0jyihkQ6bRcZDL0dkXRj1a/dYLFaf1LuEJtTol6JG2buZq8BB4qih3uoM3IzgqEk9qZcwNslZzw36chUDk2jtPijqiFdDES6V6VQpErjkG56sJe+moFqNqsbT8K6cIaJwXUvHK9VWIFiuo0Dz+If9QcqqPH/abFs/ZTKl2TVLm15a/2NyC/2eiR1H3naOv8wDPRcGu3yliQWaZCFtD6xEgqt6IWWsajkmS3hRQmFRB6nnif5f/iUsxVDYrO/xO89NYHM2WpVvMgnldMW/TEhz6/Qp9zcrbwtEDsggj9sTeLHE+btKKm0hxEnDX2mlntTQQrt0zbrO4Jegy9dwJzOd9YVLlxa8DgAoy22fCJNCPbUlrGkvHlNeEdm/flJksVatoNjBaQy5Mkv+JXCWdrajB4ZClWlkbiS3DlnPfenMYkSH8wMrUVtpwYlJnpNVhVE+hi0m0eacuQheSxGbDnnbNbcc63CaWKqz1vOTj31uKaDTzJHfQW0VSqnv02CcNGq0X/pBA3SUwTYOCQVX27DL4z2ngZ9XY/qN5s2r5KVaDhykDZP/hVbZ3Kmw53c/36S1UQpbFrNNpXvPjZRc/szTDj+hPBsjZjbM79fmMCLGhLaMfmiiTwjFwllxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(376002)(39860400002)(346002)(186009)(1800799009)(451199024)(41300700001)(7416002)(38100700002)(31696002)(86362001)(478600001)(26005)(2616005)(6512007)(53546011)(6486002)(6506007)(4744005)(5660300002)(66946007)(66476007)(6916009)(36756003)(54906003)(316002)(2906002)(66556008)(8676002)(4326008)(8936002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkJYbUlTdmlDNVhIcXdSRnM4azZmelFTM2QrSUs1c2FKUkFscVE3TGM0b08z?=
 =?utf-8?B?aE9VOU5DSUhWUGdXUnN3dmNKWi80dDhwOGF4aVNwbUdFaUdmNFFmZHlQMEVi?=
 =?utf-8?B?NmxmdWUzUUxmWTBia2ZHQjNXTWg4TTczRVRqZjdxZDd5SG1ubmV6dy8rOUt6?=
 =?utf-8?B?U2Vlb29wZWMwU1ROeThHdDExUllhUFFmSVVNU1JqZzhWUzI5bjBYZWZNQTdC?=
 =?utf-8?B?UENYTm13MWg1SWFEM2g3OUZybXhGR3IxMDRGaTdndTBQaFJTNUlES29ZRGNa?=
 =?utf-8?B?UU5zb0dXUXlpM2tPZzYwQUZuQVJwSFN3QkI0NzhPcVVpcW8zaWc4Y3BYYTcz?=
 =?utf-8?B?dlZpcEk0M2dLVkUrU3EwVVZWR1hEdDJDTHNoQ21jblpVMlAyN0VOK2MyUjhn?=
 =?utf-8?B?RU9uVGRUNndoQkpKdVJiY1VZWmlqWnpSN1I2YXRaYWI5OWNrZnQ3aUlHcXBp?=
 =?utf-8?B?QUNrc0dMNnRGajJYWVROU3ZJVTBvRkFGdkRBWGwzTXFJa2hxRGU4SnJrR000?=
 =?utf-8?B?MTRpWU1UMFNLbDQ5TGhnZWhnKy9qU1JDcHBZbXd5VjlyTmxPZ2F4eU4rdTVq?=
 =?utf-8?B?Qzd5UnkvQ2RSZVpxcDAwRGYxQlhtakJodTJadDhvNFAzR3I0d3dBSndsQ1Vh?=
 =?utf-8?B?UnlHNW5uSUpuZmlHeHBmeXFHSUJRb2ROcUVxUVMvQzRwL3E3NHpZK2VITkl4?=
 =?utf-8?B?UllPRXR5aUhmMXo2VzQ0SFhmcWsvMnVMTDZ1NXJCM3hVcnJobDVwYjR6RG1u?=
 =?utf-8?B?cWxFOVBoOThqU3g1dFJiUkZmeWdxV0JWNHRsVkxiUkVtS1pyOS9IY0ZpMDUz?=
 =?utf-8?B?YXIyRy9ieW5zZXh4NnR1bmdQQVp0eXBzZTJmOU0rbWdqM0c3ai9BcXp4Sk1r?=
 =?utf-8?B?NW5wUzJ0MFArVkN1V1M3cUFKenRFNlIwYlExbFVpUGRTaVhPajZQODBCZTRI?=
 =?utf-8?B?cTUrSGk4aWNzdHN2TEViL0dvc3NkVDc4Rno0K3VMNzAzVGV1b3hFUHZsVDla?=
 =?utf-8?B?R3V5NWN4ZURwRUhDTGdoVlUrdmk5SDZYTWxkOElybGh6STJDRmU2M3FQN0Nq?=
 =?utf-8?B?Ukh0cmtWeS9PbXd0a2o3Mk1ZZ0VRMnUvUW5rTXpEbSswZjI5N0F3VDBNdjFs?=
 =?utf-8?B?ZDJ0eUdiWFJGNjBnL0dzQ0tldGt1VWRHdlY4YnVmWW15NVNndmpEYnJNYUNZ?=
 =?utf-8?B?Smd1eklrL2M2dmFBRGF6c0RldW9rckp5OEVnNGVFaUVVNDlrd0svalYwMXlB?=
 =?utf-8?B?VUNJN3o3Ri9KaTJmWjhXR0VrRldMY2NPbG44ZW9lbjNTd3BOWUYvNXREcXY3?=
 =?utf-8?B?K0V2VUVycGtKMVhkbzFGVHNuMjR6UUl1NjZhazFnK3FzMi96L2E1MmZDTU5Y?=
 =?utf-8?B?TFRTY29DckFrNEVtaVRZNC82Tm9uWE5tTGsxdldPN1NMVHo5ZTkwNko0bFhh?=
 =?utf-8?B?ZzB2b3ViUWErRW1vdUlXVmZocEJod09iUHc5RWlieVFYOU5ZTHZEUldpd21w?=
 =?utf-8?B?eHZVNVVTQ3ZPUFhYTTAvRURwSjBRd3RYSGV4OUdST0RQcjY1N3lIb0lhVlpF?=
 =?utf-8?B?RHhxWHNQTmYzZjRTdWo0TTR1Ky9XdytaeGphMGxOS0lQMTBaM0JmOEIwVmw1?=
 =?utf-8?B?NktoMWlNN0ZEYk83Y2hLSE9zSzVMUXRIR3hHcXl2cjZWVjhsMnVuTS93UU0w?=
 =?utf-8?B?YVJ3L09nQU9Zdm5oU3g4dVFiV0lpaHdwazZTVndyakZOVU45WEZpdDJ1UDgr?=
 =?utf-8?B?RnhndThiUmFlWDc5eERacG01anA4TVJ1U1RYVmtJVldLRmg2VUtxUjQzR1Zj?=
 =?utf-8?B?M04yRkpLUUJYS3NLRVFXVTdTZzNmZDczcERCaWtIdWVzUW8yU2ZQYlFIM3ZQ?=
 =?utf-8?B?VDFJOXVLTldRZDU0RjlWaTRRTEM2dUZKaDRIY2dHc1VXNzV3eGU0L1Y3WmJV?=
 =?utf-8?B?Ulk1Tmgrdjl3bXFHK1U5RlJJS0VaL3NTZ1Y2MEMvZ0U5bkhBTnpxcHBoZHJr?=
 =?utf-8?B?QXpBU3BWWEx6T1lSMllYVzdPb3drdnQxaG9ONlZvT2xXZGpINE96RjljbzRj?=
 =?utf-8?B?cUN0RXVTanJ4UlRjdEgrM2k1aVJDYUJrT3RZYmdVUWJCTHZUa2s3U2V2dWtF?=
 =?utf-8?Q?vNYYCpwUtTqEEV9N1CGTidrLb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0662389a-40ad-4700-e50f-08dba79cb16f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 07:59:23.8103
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /S0dWe0rQPfApFsldb38jmbYYiSQKOVaqKSipwpGgqytGiYB6VZTMSXIUHqz92eIfIS9s29g6PSvlgipMJOQug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9579

On 25.08.2023 17:02, Nicola Vetrini wrote:
> The common header file for ioreq should include the arch-specific one.

To be honest I'm not convinced of "should" here. There are two aspects
to consider: On one hand it is good practice to do what you say. Otoh it
introduces a needless dependency, and it'll require new arch-es (RISC-V,
PPC at present) to introduce another dummy header just to satisfy the
xen/ioreq.h use in common/memory.c. Therefore, _if_ we want to go this
route, besides a wording change here I think ...

> --- a/xen/include/xen/ioreq.h
> +++ b/xen/include/xen/ioreq.h
> @@ -20,6 +20,7 @@
>  #define __XEN_IOREQ_H__
> 
>  #include <xen/sched.h>
> +#include <asm/ioreq.h>

... this #include wants to be conditional upon CONFIG_IOREQ_SERVER being
defined. (I'm actually surprised that there's no respective #ifdef in
that header, meaning types defined there are available even when the
functionality was turned off.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 09:08:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 09:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591413.923805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaYDn-0003D0-Fp; Mon, 28 Aug 2023 09:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591413.923805; Mon, 28 Aug 2023 09:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaYDn-0003Ct-CW; Mon, 28 Aug 2023 09:07:43 +0000
Received: by outflank-mailman (input) for mailman id 591413;
 Mon, 28 Aug 2023 09:07: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 1qaYDl-0003Cg-RC; Mon, 28 Aug 2023 09:07: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 1qaYDl-0004gp-NK; Mon, 28 Aug 2023 09:07: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 1qaYDl-0001Bf-Er; Mon, 28 Aug 2023 09:07:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaYDl-0000K9-EG; Mon, 28 Aug 2023 09:07: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=ch56bxcWOOGSn2aQ3HmR2X23SQ3/SnFAew0I3tHE7v4=; b=0WNXJYaI4X+buJtaj30wiBpYUb
	F1vR7qoKwkyFT5PnGnyhePwcG5zLdzD64+W6D2zItXY+etV62WOuX6WjcoDOBFZCC6dttHY5RwgaA
	4IkXYu+3OPHpgJENM/ZW9J+chVDfnYNTR5TldnTxoe8hJHAfdYdXBiWC3oWpoVXehwbw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182536-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182536: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-amd64-xsm:xen-build:fail:regression
    ovmf:build-i386:xen-build:fail:regression
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=92006e5804a4adff05556a97a951fd7766a1d79f
X-Osstest-Versions-That:
    ovmf=819cfc6b42a68790a23509e4fcc58ceb70e1965e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 09:07:41 +0000

flight 182536 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182536/

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. 182513
 build-i386                    6 xen-build                fail REGR. vs. 182513

Tests which did not succeed, but are not blocking:
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 92006e5804a4adff05556a97a951fd7766a1d79f
baseline version:
 ovmf                 819cfc6b42a68790a23509e4fcc58ceb70e1965e

Last test of basis   182513  2023-08-25 01:57:27 Z    3 days
Testing same since   182534  2023-08-28 06:40:50 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  KasimX Liu <kasimx.liu@intel.com>

jobs:
 build-amd64-xsm                                              fail    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   fail    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-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


Not pushing.

------------------------------------------------------------
commit 92006e5804a4adff05556a97a951fd7766a1d79f
Author: KasimX Liu <kasimx.liu@intel.com>
Date:   Fri Aug 25 12:02:50 2023 +0800

    UefiPayloadPkg:Enhance the build processing for Universalpayload
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4532
    
    To Copy the PrebuildUplBinary to Build folder then add/replace Fvs.
    
    Cc: Guo Dong <guo.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Reviewed-by: James Lu <james.lu@intel.com>
    Reviewed-by: Gua Guo <gua.guo@intel.com>
    Signed-off-by: KasimX Liu <kasimx.liu@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 10:12:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 10:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591424.923821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaZDl-0002b2-CD; Mon, 28 Aug 2023 10:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591424.923821; Mon, 28 Aug 2023 10:11:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaZDl-0002av-8l; Mon, 28 Aug 2023 10:11:45 +0000
Received: by outflank-mailman (input) for mailman id 591424;
 Mon, 28 Aug 2023 10:11: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaZDk-0002ap-PG
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 10:11:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 486d1662-458b-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 12:11:41 +0200 (CEST)
Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com
 [209.85.221.169])
 by support.bugseng.com (Postfix) with ESMTPSA id 05D034EE074E
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 12:11:41 +0200 (CEST)
Received: by mail-vk1-f169.google.com with SMTP id
 71dfb90a1353d-48d10c504a8so1182100e0c.2
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 03:11: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: 486d1662-458b-11ee-8783-cb3800f73035
X-Gm-Message-State: AOJu0Yz/+I6s4pKRenFzRHP7L7SB0/XoyVyr8WPdtpMyN1WJcAU7bN8n
	AZiWMjJA/Z3Tu0umlxc4Ofw3A21+J7LQR6BSyws=
X-Google-Smtp-Source: AGHT+IFS/kfS0Yg8QBXnPirkUnUUBjFVDnp2YymJcKzMbffbiuQ7RxjGY+obi1/scnt8wYZE9VH2NoBNqpC/Xugt3tE=
X-Received: by 2002:a05:6102:291f:b0:44e:d6c3:51d4 with SMTP id
 cz31-20020a056102291f00b0044ed6c351d4mr502593vsb.18.1693217499727; Mon, 28
 Aug 2023 03:11:39 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1690368810.git.simone.ballarin@bugseng.com> <6c2473a29d60460bf69382fd1e983752634b6992.1690368810.git.simone.ballarin@bugseng.com>
In-Reply-To: <6c2473a29d60460bf69382fd1e983752634b6992.1690368810.git.simone.ballarin@bugseng.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Date: Mon, 28 Aug 2023 12:11:28 +0200
X-Gmail-Original-Message-ID: <CAFHJcJugNy_dp8tiUz52Z4Vus+saYX-=sqgG+-dLvrg=7PngHw@mail.gmail.com>
Message-ID: <CAFHJcJugNy_dp8tiUz52Z4Vus+saYX-=sqgG+-dLvrg=7PngHw@mail.gmail.com>
Subject: Re: [XEN PATCH v4 1/4] x86/vmx: address violations of MISRA C:2012
 Rule 7.2
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Gianluca Luparini <gianluca.luparini@bugseng.com>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>
Content-Type: multipart/alternative; boundary="000000000000994e5e0603f8eb9e"

--000000000000994e5e0603f8eb9e
Content-Type: text/plain; charset="UTF-8"

On 27 Jul 2023, Jan Beulich wrote:

On 26.07.2023 13:03, Simone Ballarin wrote:
> >* @@ -70,15 +70,15 @@ static const uint8_t sr_mask[8] = {*
> >*  };*
> >
> >*  static const uint8_t gr_mask[9] = {*
> >* -    (uint8_t)~0xf0, /* 0x00 */*
> >* -    (uint8_t)~0xf0, /* 0x01 */*
> >* -    (uint8_t)~0xf0, /* 0x02 */*
> >* -    (uint8_t)~0xe0, /* 0x03 */*
> >* -    (uint8_t)~0xfc, /* 0x04 */*
> >* -    (uint8_t)~0x84, /* 0x05 */*
> >* -    (uint8_t)~0xf0, /* 0x06 */*
> >* -    (uint8_t)~0xf0, /* 0x07 */*
> >* -    (uint8_t)~0x00, /* 0x08 */*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xe0,*
> >* +    (uint8_t)~0xfc,*
> >* +    (uint8_t)~0x84,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0x00,*
> >*  };*
>
> Hmm, this stray change is _still_ there.
>
> Ok. Sorry for that.

> >* --- a/xen/arch/x86/include/asm/hvm/trace.h*
> >* +++ b/xen/arch/x86/include/asm/hvm/trace.h*
> >* @@ -58,7 +58,7 @@*
> >*  #define DO_TRC_HVM_VLAPIC           DEFAULT_HVM_MISC*
> >
> >
> >* -#define TRC_PAR_LONG(par) ((par)&0xFFFFFFFF),((par)>>32)*
> >* +#define TRC_PAR_LONG(par) ((uint32_t)par), ((par) >> 32)*
>
> You've lost parentheses around "par".
>
> >* @@ -93,7 +93,7 @@*
> >*      HVMTRACE_ND(evt, 0, 0)*
> >
> >*  #define HVMTRACE_LONG_1D(evt, d1)                  \*
> >* -                   HVMTRACE_2D(evt ## 64, (d1) & 0xFFFFFFFF, (d1) >> 32)*
> >* +                   HVMTRACE_2D(evt ## 64, (uint32_t)d1, (d1) >> 32)*
>
> Same for "d1" here.
>
> Both of these are, btw., indications that you should have dropped Stefano's
> R-b.
>
> Ok.

> >* --- a/xen/arch/x86/include/asm/msr-index.h*
> >* +++ b/xen/arch/x86/include/asm/msr-index.h*
> >* @@ -30,7 +30,7 @@*
> >
> >*  #define MSR_INTEL_CORE_THREAD_COUNT         0x00000035*
> >*  #define  MSR_CTC_THREAD_MASK                0x0000ffff*
> >* -#define  MSR_CTC_CORE_MASK                  0xffff0000*
> >* +#define  MSR_CTC_CORE_MASK                  0xffff0000U*
> >
> >*  #define MSR_SPEC_CTRL                       0x00000048*
> >*  #define  SPEC_CTRL_IBRS                     (_AC(1, ULL) <<  0)*
> >* @@ -168,7 +168,7 @@*
> >*  #define MSR_UARCH_MISC_CTRL                 0x00001b01*
> >*  #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)*
> >
> >* -#define MSR_EFER                            0xc0000080 /* Extended Feature *
> >* Enable Register */*
> >* +#define MSR_EFER                            _AC(0xc0000080, U)  /* Extended *
> >* Feature Enable Register */*
>
> I understand you use _AC() here because the constant is used in assembly
> code. But I don't understand why you use it only here, and not throughout
> at least the "modern" portion of the file. I wonder what other x86
> maintainers think about this.
>
> I've used _AC only when strictly required to avoid errors.
In v5 I will use _AC on all constants in the "modern" part of the file.

> As a minor aspect, I also don't really see why you insert a 2nd blank
> ahead of the comment.
>
> To align the comment with the others below.
I see that comment aligning is not done in this file, so I will drop the
change in v5.

> >*  #define  EFER_SCE                           (_AC(1, ULL) <<  0) /* SYSCALL *
> >* Enable */*
> >*  #define  EFER_LME                           (_AC(1, ULL) <<  8) /* Long Mode *
> >* Enable */*
> >*  #define  EFER_LMA                           (_AC(1, ULL) << 10) /* Long Mode *
> >* Active */*
> >* @@ -181,35 +181,35 @@*
> >*      (EFER_SCE | EFER_LME | EFER_LMA | EFER_NXE | EFER_SVME | EFER_FFXSE | \*
> >*       EFER_AIBRSE)*
> >
> >* -#define MSR_STAR                            0xc0000081 /* legacy mode *
> >* SYSCALL target */*
> >* -#define MSR_LSTAR                           0xc0000082 /* long mode SYSCALL *
> >* target */*
> >* -#define MSR_CSTAR                           0xc0000083 /* compat mode *
> >* SYSCALL target */*
> >* -#define MSR_SYSCALL_MASK                    0xc0000084 /* EFLAGS mask for *
> >* syscall */*
> >* -#define MSR_FS_BASE                         0xc0000100 /* 64bit FS base */*
> >* -#define MSR_GS_BASE                         0xc0000101 /* 64bit GS base */*
> >* -#define MSR_SHADOW_GS_BASE                  0xc0000102 /* SwapGS GS shadow */*
> >* -#define MSR_TSC_AUX                         0xc0000103 /* Auxiliary TSC */*
> >* +#define MSR_STAR                            0xc0000081U /* legacy mode *
> >* SYSCALL target */*
> >* +#define MSR_LSTAR                           0xc0000082U /* long mode SYSCALL *
> >* target */*
> >* +#define MSR_CSTAR                           0xc0000083U /* compat mode *
> >* SYSCALL target */*
> >* +#define MSR_SYSCALL_MASK                    0xc0000084U /* EFLAGS mask for *
> >* syscall */*
> >* +#define MSR_FS_BASE                         0xc0000100U /* 64bit FS base */*
> >* +#define MSR_GS_BASE                         0xc0000101U /* 64bit GS base */*
> >* +#define MSR_SHADOW_GS_BASE                  0xc0000102U /* SwapGS GS shadow *
> >* */*
> >* +#define MSR_TSC_AUX                         0xc0000103U /* Auxiliary TSC */*
> >
> >* -#define MSR_K8_SYSCFG                       0xc0010010*
> >* +#define MSR_K8_SYSCFG                       0xc0010010U*
> >*  #define  SYSCFG_MTRR_FIX_DRAM_EN            (_AC(1, ULL) << 18)*
> >*  #define  SYSCFG_MTRR_FIX_DRAM_MOD_EN        (_AC(1, ULL) << 19)*
> >*  #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 MSR_K8_IORR_BASE0                   0xc0010016*
> >* -#define MSR_K8_IORR_MASK0                   0xc0010017*
> >* -#define MSR_K8_IORR_BASE1                   0xc0010018*
> >* -#define MSR_K8_IORR_MASK1                   0xc0010019*
> >* +#define MSR_K8_IORR_BASE0                   0xc0010016U*
> >* +#define MSR_K8_IORR_MASK0                   0xc0010017U*
> >* +#define MSR_K8_IORR_BASE1                   0xc0010018U*
> >* +#define MSR_K8_IORR_MASK1                   0xc0010019U*
> >
> >* -#define MSR_K8_TSEG_BASE                    0xc0010112 /* AMD doc: SMMAddr */*
> >* -#define MSR_K8_TSEG_MASK                    0xc0010113 /* AMD doc: SMMMask */*
> >* +#define MSR_K8_TSEG_BASE                    0xc0010112U /* AMD doc: SMMAddr *
> >* */*
> >* +#define MSR_K8_TSEG_MASK                    0xc0010113U /* AMD doc: SMMMask *
> >* */*
> >
> >* -#define MSR_K8_VM_CR                        0xc0010114*
> >* +#define MSR_K8_VM_CR                        0xc0010114U*
> >*  #define  VM_CR_INIT_REDIRECTION             (_AC(1, ULL) <<  1)*
> >*  #define  VM_CR_SVM_DISABLE                  (_AC(1, ULL) <<  4)*
> >
> >* -#define MSR_VIRT_SPEC_CTRL                  0xc001011f /* Layout matches *
> >* MSR_SPEC_CTRL */*
> >* +#define MSR_VIRT_SPEC_CTRL                  0xc001011fU /* Layout matches *
> >* MSR_SPEC_CTRL */*
> >
> >*  /**
> >*   * Legacy MSR constants in need of cleanup.  No new MSRs below this comment.*
>
> (As to above remark: This is the separator between "modern" [above]
> and "historic" [below].)
>
> Jan
>
>

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com
<http://bugseng.com>)

--000000000000994e5e0603f8eb9e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr"><pre>On 27 Jul 2023, Jan Beulich wrote:</pre>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr" cl=
ass=3D"gmail_attr"><pre>On 26.07.2023 13:03, Simone Ballarin wrote:
&gt;<i> @@ -70,15 +70,15 @@ static const uint8_t sr_mask[8] =3D {</i>
&gt;<i>  };</i>
&gt;<i>  </i>
&gt;<i>  static const uint8_t gr_mask[9] =3D {</i>
&gt;<i> -    (uint8_t)~0xf0, /* 0x00 */</i>
&gt;<i> -    (uint8_t)~0xf0, /* 0x01 */</i>
&gt;<i> -    (uint8_t)~0xf0, /* 0x02 */</i>
&gt;<i> -    (uint8_t)~0xe0, /* 0x03 */</i>
&gt;<i> -    (uint8_t)~0xfc, /* 0x04 */</i>
&gt;<i> -    (uint8_t)~0x84, /* 0x05 */</i>
&gt;<i> -    (uint8_t)~0xf0, /* 0x06 */</i>
&gt;<i> -    (uint8_t)~0xf0, /* 0x07 */</i>
&gt;<i> -    (uint8_t)~0x00, /* 0x08 */</i>
&gt;<i> +    (uint8_t)~0xf0,</i>
&gt;<i> +    (uint8_t)~0xf0,</i>
&gt;<i> +    (uint8_t)~0xf0,</i>
&gt;<i> +    (uint8_t)~0xe0,</i>
&gt;<i> +    (uint8_t)~0xfc,</i>
&gt;<i> +    (uint8_t)~0x84,</i>
&gt;<i> +    (uint8_t)~0xf0,</i>
&gt;<i> +    (uint8_t)~0xf0,</i>
&gt;<i> +    (uint8_t)~0x00,</i>
&gt;<i>  };</i>

Hmm, this stray change is _still_ there.</pre></div></blockquote><div>Ok. S=
orry for that. <br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<div dir=3D"ltr" class=3D"gmail_attr"><pre>&gt;<i> --- a/xen/arch/x86/inclu=
de/asm/hvm/trace.h</i>
&gt;<i> +++ b/xen/arch/x86/include/asm/hvm/trace.h</i>
&gt;<i> @@ -58,7 +58,7 @@</i>
&gt;<i>  #define DO_TRC_HVM_VLAPIC           DEFAULT_HVM_MISC</i>
&gt;<i>  </i>
&gt;<i>  </i>
&gt;<i> -#define TRC_PAR_LONG(par) ((par)&amp;0xFFFFFFFF),((par)&gt;&gt;32)=
</i>
&gt;<i> +#define TRC_PAR_LONG(par) ((uint32_t)par), ((par) &gt;&gt; 32)</i>

You&#39;ve lost parentheses around &quot;par&quot;.

&gt;<i> @@ -93,7 +93,7 @@</i>
&gt;<i>      HVMTRACE_ND(evt, 0, 0)</i>
&gt;<i>  </i>
&gt;<i>  #define HVMTRACE_LONG_1D(evt, d1)                  \</i>
&gt;<i> -                   HVMTRACE_2D(evt ## 64, (d1) &amp; 0xFFFFFFFF, (=
d1) &gt;&gt; 32)</i>
&gt;<i> +                   HVMTRACE_2D(evt ## 64, (uint32_t)d1, (d1) &gt;&=
gt; 32)</i>

Same for &quot;d1&quot; here.

Both of these are, btw., indications that you should have dropped Stefano&#=
39;s
R-b.</pre></div></blockquote><div>Ok. <br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex"><div dir=3D"ltr" class=3D"gmail_attr"><pre>&gt;<i> -=
-- a/xen/arch/x86/include/asm/msr-index.h</i>
&gt;<i> +++ b/xen/arch/x86/include/asm/msr-index.h</i>
&gt;<i> @@ -30,7 +30,7 @@</i>
&gt;<i>  </i>
&gt;<i>  #define MSR_INTEL_CORE_THREAD_COUNT         0x00000035</i>
&gt;<i>  #define  MSR_CTC_THREAD_MASK                0x0000ffff</i>
&gt;<i> -#define  MSR_CTC_CORE_MASK                  0xffff0000</i>
&gt;<i> +#define  MSR_CTC_CORE_MASK                  0xffff0000U</i>
&gt;<i>  </i>
&gt;<i>  #define MSR_SPEC_CTRL                       0x00000048</i>
&gt;<i>  #define  SPEC_CTRL_IBRS                     (_AC(1, ULL) &lt;&lt; =
 0)</i>
&gt;<i> @@ -168,7 +168,7 @@</i>
&gt;<i>  #define MSR_UARCH_MISC_CTRL                 0x00001b01</i>
&gt;<i>  #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) &lt;&lt; =
 0)</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_EFER                            0xc0000080 /* Extended=
 Feature </i>
&gt;<i> Enable Register */</i>
&gt;<i> +#define MSR_EFER                            _AC(0xc0000080, U)  /*=
 Extended </i>
&gt;<i> Feature Enable Register */</i>

I understand you use _AC() here because the constant is used in assembly
code. But I don&#39;t understand why you use it only here, and not througho=
ut
at least the &quot;modern&quot; portion of the file. I wonder what other x8=
6
maintainers think about this.</pre></div></blockquote><div>I&#39;ve used _A=
C only when strictly required to avoid errors.<br></div><div>In v5 I will u=
se _AC on all constants in the &quot;modern&quot; part of the file.<br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr" class=
=3D"gmail_attr"><pre>As a minor aspect, I also don&#39;t really see why you=
 insert a 2nd blank
ahead of the comment.</pre></div></blockquote><div>To align the comment wit=
h the others below.</div><div>I see that comment aligning is not done in th=
is file, so I will drop the change in v5.<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><div dir=3D"ltr" class=3D"gmail_attr"><pre>&gt;<i=
>  #define  EFER_SCE                           (_AC(1, ULL) &lt;&lt;  0) /*=
 SYSCALL </i>
&gt;<i> Enable */</i>
&gt;<i>  #define  EFER_LME                           (_AC(1, ULL) &lt;&lt; =
 8) /* Long Mode </i>
&gt;<i> Enable */</i>
&gt;<i>  #define  EFER_LMA                           (_AC(1, ULL) &lt;&lt; =
10) /* Long Mode </i>
&gt;<i> Active */</i>
&gt;<i> @@ -181,35 +181,35 @@</i>
&gt;<i>      (EFER_SCE | EFER_LME | EFER_LMA | EFER_NXE | EFER_SVME | EFER_=
FFXSE | \</i>
&gt;<i>       EFER_AIBRSE)</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_STAR                            0xc0000081 /* legacy m=
ode </i>
&gt;<i> SYSCALL target */</i>
&gt;<i> -#define MSR_LSTAR                           0xc0000082 /* long mod=
e SYSCALL </i>
&gt;<i> target */</i>
&gt;<i> -#define MSR_CSTAR                           0xc0000083 /* compat m=
ode </i>
&gt;<i> SYSCALL target */</i>
&gt;<i> -#define MSR_SYSCALL_MASK                    0xc0000084 /* EFLAGS m=
ask for </i>
&gt;<i> syscall */</i>
&gt;<i> -#define MSR_FS_BASE                         0xc0000100 /* 64bit FS=
 base */</i>
&gt;<i> -#define MSR_GS_BASE                         0xc0000101 /* 64bit GS=
 base */</i>
&gt;<i> -#define MSR_SHADOW_GS_BASE                  0xc0000102 /* SwapGS G=
S shadow */</i>
&gt;<i> -#define MSR_TSC_AUX                         0xc0000103 /* Auxiliar=
y TSC */</i>
&gt;<i> +#define MSR_STAR                            0xc0000081U /* legacy =
mode </i>
&gt;<i> SYSCALL target */</i>
&gt;<i> +#define MSR_LSTAR                           0xc0000082U /* long mo=
de SYSCALL </i>
&gt;<i> target */</i>
&gt;<i> +#define MSR_CSTAR                           0xc0000083U /* compat =
mode </i>
&gt;<i> SYSCALL target */</i>
&gt;<i> +#define MSR_SYSCALL_MASK                    0xc0000084U /* EFLAGS =
mask for </i>
&gt;<i> syscall */</i>
&gt;<i> +#define MSR_FS_BASE                         0xc0000100U /* 64bit F=
S base */</i>
&gt;<i> +#define MSR_GS_BASE                         0xc0000101U /* 64bit G=
S base */</i>
&gt;<i> +#define MSR_SHADOW_GS_BASE                  0xc0000102U /* SwapGS =
GS shadow </i>
&gt;<i> */</i>
&gt;<i> +#define MSR_TSC_AUX                         0xc0000103U /* Auxilia=
ry TSC */</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_K8_SYSCFG                       0xc0010010</i>
&gt;<i> +#define MSR_K8_SYSCFG                       0xc0010010U</i>
&gt;<i>  #define  SYSCFG_MTRR_FIX_DRAM_EN            (_AC(1, ULL) &lt;&lt; =
18)</i>
&gt;<i>  #define  SYSCFG_MTRR_FIX_DRAM_MOD_EN        (_AC(1, ULL) &lt;&lt; =
19)</i>
&gt;<i>  #define  SYSCFG_MTRR_VAR_DRAM_EN            (_AC(1, ULL) &lt;&lt; =
20)</i>
&gt;<i>  #define  SYSCFG_MTRR_TOM2_EN                (_AC(1, ULL) &lt;&lt; =
21)</i>
&gt;<i>  #define  SYSCFG_TOM2_FORCE_WB               (_AC(1, ULL) &lt;&lt; =
22)</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_K8_IORR_BASE0                   0xc0010016</i>
&gt;<i> -#define MSR_K8_IORR_MASK0                   0xc0010017</i>
&gt;<i> -#define MSR_K8_IORR_BASE1                   0xc0010018</i>
&gt;<i> -#define MSR_K8_IORR_MASK1                   0xc0010019</i>
&gt;<i> +#define MSR_K8_IORR_BASE0                   0xc0010016U</i>
&gt;<i> +#define MSR_K8_IORR_MASK0                   0xc0010017U</i>
&gt;<i> +#define MSR_K8_IORR_BASE1                   0xc0010018U</i>
&gt;<i> +#define MSR_K8_IORR_MASK1                   0xc0010019U</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_K8_TSEG_BASE                    0xc0010112 /* AMD doc:=
 SMMAddr */</i>
&gt;<i> -#define MSR_K8_TSEG_MASK                    0xc0010113 /* AMD doc:=
 SMMMask */</i>
&gt;<i> +#define MSR_K8_TSEG_BASE                    0xc0010112U /* AMD doc=
: SMMAddr </i>
&gt;<i> */</i>
&gt;<i> +#define MSR_K8_TSEG_MASK                    0xc0010113U /* AMD doc=
: SMMMask </i>
&gt;<i> */</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_K8_VM_CR                        0xc0010114</i>
&gt;<i> +#define MSR_K8_VM_CR                        0xc0010114U</i>
&gt;<i>  #define  VM_CR_INIT_REDIRECTION             (_AC(1, ULL) &lt;&lt; =
 1)</i>
&gt;<i>  #define  VM_CR_SVM_DISABLE                  (_AC(1, ULL) &lt;&lt; =
 4)</i>
&gt;<i>  </i>
&gt;<i> -#define MSR_VIRT_SPEC_CTRL                  0xc001011f /* Layout m=
atches </i>
&gt;<i> MSR_SPEC_CTRL */</i>
&gt;<i> +#define MSR_VIRT_SPEC_CTRL                  0xc001011fU /* Layout =
matches </i>
&gt;<i> MSR_SPEC_CTRL */</i>
&gt;<i>  </i>
&gt;<i>  /*</i>
&gt;<i>   * Legacy MSR constants in need of cleanup.  No new MSRs below thi=
s comment.</i>

(As to above remark: This is the separator between &quot;modern&quot; [abov=
e]
and &quot;historic&quot; [below].)

Jan</pre></div></blockquote></div><br clear=3D"all"><br><span class=3D"gmai=
l_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature=
"><div dir=3D"ltr">Simone Ballarin, M.Sc.<br><br><div>Field Application Eng=
ineer, BUGSENG (<a href=3D"http://bugseng.com" target=3D"_blank">https://bu=
gseng.com</a>)</div></div></div></div>

--000000000000994e5e0603f8eb9e--


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 10:14:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 10:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591432.923831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaZGm-0003Fb-V4; Mon, 28 Aug 2023 10:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591432.923831; Mon, 28 Aug 2023 10: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 1qaZGm-0003FU-Rz; Mon, 28 Aug 2023 10:14:52 +0000
Received: by outflank-mailman (input) for mailman id 591432;
 Mon, 28 Aug 2023 10:14:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EvBp=EN=citrix.com=prvs=597328b26=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qaZGl-0003FO-2v
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 10:14:51 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b65c469c-458b-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 12:14:48 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Aug 2023 06:14:40 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by BY5PR03MB5127.namprd03.prod.outlook.com (2603:10b6:a03:1f0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 10:14:38 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a%6]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 10:14: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: b65c469c-458b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693217688;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=RM3JJYLAwCt9s1inxB9kM6Gmn0yTZt0dWasVu9CDpwM=;
  b=S5u6Ela7LoH9mtFhJpU/OidOaYde+zdiJEAL2qJ8e8EXNHBFL7tcNs5c
   xJxrpIwxkWbXjv5aS8RSIj3iLFsuPUhJ0h90kMKKPPgVOem0HETM6S04N
   cfboBTXbt6j1JBqO/hwruZEUNkGPev5QJuQCYPZS9GwhugWv650WqpxZV
   M=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 119507280
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2gsgRqt+1LAeFXxUWI3YFGFEl+fnVHBfMUV32f8akzHdYApBsoF/q
 tZmKTyCPaqPYzPyf9ogYIi+9hsB7ZPTx9JjSAo9rCkyFHhD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+ExyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwNQ4fbTen1seNx6+HbNl0tsEpa8+6I9ZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiAdNPTOLipqYCbFu74ksdJiw7a1SBgfSTtGe0d9tmO
 XAs9X97xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnM08SCEu1
 1SJt8j0HjEpu7qQIVqC8p+EoDX0PjIaRVLufgcBRAoBptPl8Ic6i0uWSs45SfDkyNroBTv33
 jaG6jAkgKkehtIK0KP9+k3bhzWrpd7CSQtdChjrY19JJzhRPOaND7FEI3CBhRqcBO51lmW8g
 UU=
IronPort-HdrOrdr: A9a23:aWvuzqASgG5Z88flHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-Talos-CUID: 9a23:+qVw+m8iWvvmazqstPOVv1MqCMMCViz493DNH2mIEVZsQvqTGEDFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3AapAxqA8x+uzQWVbRYM5uNPWQf+NP7YqfJX4Cq7U?=
 =?us-ascii?q?LkfetPwB5AiWhtDviFw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.02,207,1688443200"; 
   d="scan'208";a="119507280"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I5wkLuybbZLGFaUfNlqU4tNuTpMC3Po3DPncBaCQD2zDmFCg7n6Zzh5nS6NjX7E3kiKeXWtgUcKYjMBPaM+AjI/FxI/ggAuw42iZdjS7a23QDO8nVJqBhAp+B1ANUK7J6mvHlFoXtvaF4u7LaphrkO5JovJlUkO0C0nI5RIIGAqCSmJL6pVIQj8gcTd7SHVn12Hdompy6+wonPjpeNLtI7ARoBWN7yPwCnbE01ow49g0CV4KWAFnGPUsHVrQnlgEkByYDR3T+C57Bk5SD/ea5B0N/5TYddnD/OWMyFyW2EmF8BS5QK3fQ7zvM0IK3H6Fo11hfD6AmkuLvXQCf85sWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5irB92Gz/kcvpAShOyJkwSI1E6gMkky+BAEgmvv+xlQ=;
 b=QpbYogUfCe5s2GI6tgvKg+LMWOo8wbAwdFnxOcoOKpxroTGdInKqWPSXaSUjYER9Uk4SNUtfDT+kZp7brkWfqgPC1GoPXDimjdKfXcPmDeBH9R8e2hbLZvPyNptY/2wtcsLihY5seqzmIy6dVGDjyw9F47FFBpw9IbcofYFG3U9jp7HVPoM80FMxRYIkKrWxTQM3fqBTH/LSGPgU1cTw2lYjA2BJUqET1Izl+MH6RvOJZQydrpP3fZg+AVfl8oxDG6LHgtHfGPlCb/k+vIUzJAbrByaT7wv99OHQuksDWJAhq8DZQ0YJlAb2FgPXJArw0dDS6/RLeSIHqxMoXT9VMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5irB92Gz/kcvpAShOyJkwSI1E6gMkky+BAEgmvv+xlQ=;
 b=N0cfpqpRsrbkIo1dwgfUS2pE6/Jts/VTw2BN0lfqRyUSiwBP23ul//E6sq2xvwNxs+mzNTerwZ97DJfutYPeynhWiOSJRM008qqa+oVDzrs4TkRUn86nwXtLkhSWPaAcDooPCwDJgyTWXbNhdY5fm3ke1nSUPnkWPxtgWR8l1Ks=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] x86/irq: fix reporting of spurious i8259 interrupts
Date: Mon, 28 Aug 2023 12:14:27 +0200
Message-ID: <20230828101428.23579-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.41.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0120.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c6::7) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|BY5PR03MB5127:EE_
X-MS-Office365-Filtering-Correlation-Id: 60909be5-3350-4b0b-7da4-08dba7af95b5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FFdAvxOgQQbdetw5BGINnxXPajBeaMMA1/ZX+OYovMIUbqNfnYg0JuKrdTaDZhifgaEV808vJbjJlybbOWi+0RBEa8xbW04UYiMpRDrJx8fDI0t+bYHk3y/yHK14MUgr9T7TcSornP4R4DhMexpUzQVCBAAgsm2q5MgvtinAvZv2Cyt++RH7Vn9cLa6NtJ82YFJA/wUBAnBnHReVJ0hHfH8YSvCSA7a31eDlfBkMtqsaHPZeS2TT4qzLYevUHsNDQfvrBTGoP2jrVJrCHJgjj+Hm38UDo2v1ZRvqsN+XzJdBI6QogSp6ciGECT5ZPnNdV6eAvYrPRXJCxzJ9/0UJJd4vXmslTklIKTc65DAnYPEkaXcKMmqL5NqrFEiOletFJu+4YJnNYF4SALarsnYe2wg0kjCKJfCNIiO6XmR+DIxkMFmbgEQGxrZ5V7oD72GA1kqwrrr+Yu1bsRddabisf5d/Sg63JFH0jqXT8qg0sUr7jdmJFYMhEeRPL0/AqDS6OprVAL41Mi+iNtpWBlrtVRupV0uWzIhKrxm63nDibKXD+ciQS6aA04lRGl+/rduL
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(136003)(396003)(346002)(186009)(1800799009)(451199024)(6512007)(6666004)(6506007)(6486002)(2616005)(1076003)(2906002)(5660300002)(86362001)(82960400001)(4744005)(6916009)(4326008)(8676002)(8936002)(54906003)(66946007)(66556008)(36756003)(66476007)(41300700001)(316002)(38100700002)(478600001)(83380400001)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SSsvV1lFVjM0cWRKaDBUNVpFQXlzZld3T3JhSlEyL1BnMkxPUTIzNHBDb0cx?=
 =?utf-8?B?V1d5UG5qWUlLOHpFV3RzUzQ0eFVkeTZvQ1J6T1dPajUyQVVaMnF0dFhIRjE4?=
 =?utf-8?B?Ty8vcEE2WU9qYkQ5MWU4U1U1K1RBbHNTVUwxMGlkYmRwTWN0TThiOC82S2Np?=
 =?utf-8?B?cWN3K0dlejNqNjA5dHZCSW82NE5DV2ZOYjFiVEk1TnB1SWNGSTdJSVpUR1BP?=
 =?utf-8?B?bzdEdFVLUkFxYllMNDMrY1dmdEpMTW5hZEEvQmRTRWViKzcvVElLS1c3ODdC?=
 =?utf-8?B?emVaOXZkS2oxQXF0WEdmRlExREJvY2tZQ2NTRENlMXNhSnA2dWdORjdVSy85?=
 =?utf-8?B?eXFkeGQxcXBkREZ6aGlZUExBYTJmMWlDb28zamVtVUx1eGRHTUU0QTVOKzRu?=
 =?utf-8?B?bjcxWFp1MTV3dm9QMExWY1RlWkhDWnp0U2tUR1ZwcldWQmRKajZHdGlHRmg5?=
 =?utf-8?B?OU9hK245RlhQSnNMT0JJdFNIbHpwbjhXR01IL0hjYnpXd1F6RFY2VzRmVkgv?=
 =?utf-8?B?cktHODgwQ1IzSHplN2tYR2JiLzJ6V2s3SGUySGVZdEFWdjBrc1IxbkNhTXVq?=
 =?utf-8?B?ZWVhVllNYllkTllOVVJhbjZMTjlMNzRvRWtBMHgxZlgxdklXeCtBU1lzekN5?=
 =?utf-8?B?NXFxdlNxWFZUaUJlWGRucWc0azJLSU1VNHRwSDBhcFBZa2RSTlJ5dkJyc2ZW?=
 =?utf-8?B?eTEyblJnRUpGTWRWOU5mcGpJa3BWb0RjUmhEckZQNytDK20yVGM0V29LR0NS?=
 =?utf-8?B?OTdHZ1JLOEQ0K2NXNHowWUlqcFkxNmFYdGRyV3VmWElaTFJoalAvbjBpby9G?=
 =?utf-8?B?bmx0RzNpaW14ZlRUSVFYL21pbWUvVmtxSm5NekZjbFBlUjFwOER3UVlaUkZs?=
 =?utf-8?B?bCt4bVBwSVZQb3FpUHpzS3hWckxlTzdlVHE3K1BDT3ZDQmtuRWVKL1RhVkds?=
 =?utf-8?B?bDZaTDVQcTBDbUxmMlF5aVM5R3ZYY3k5aUxCZmQxN2hQa3hNQXBQRzRVdm5r?=
 =?utf-8?B?OFI1NXVSbVpobldGTjIxYzVyQzh2bXRaQmxDWnJQY1VudTFwWXVsREtmK1kv?=
 =?utf-8?B?Z3I4OW5WcjBzUmZ6WTRBanREb2tYZFNQRE9WajlGcHRwSXVGZW9lM3ZoUXc3?=
 =?utf-8?B?bjNuTUF6UFpWeGViaVBNN09ZN2ZKSU9ZTXZLYVBNeGZBRkhZMG83ZlUxUGJQ?=
 =?utf-8?B?YTExSXB5MXN0eXJGZTlVeGY2L29uZ09VVDlLZEhVT2Z5NHlkaTZ3eWRaNUpw?=
 =?utf-8?B?NkVVU0FRUmVSN1cyVzE4SWd2eUNoOU5CYm1GdkxUMEE2N0JIT2ZVbkZlU3BX?=
 =?utf-8?B?NVd2SVEvZ20vV2tPamxCVVhiRzBBVitnQ25DT255S2k4TFh0amlJKzdPZEN3?=
 =?utf-8?B?TXZpMVFHN1p6eWt3aHVGbXgxWWp4RTcrbFRIVUVINTBmRVlhNkpycWo1b3lL?=
 =?utf-8?B?L3dLNzFaZG1pR0JjeXJnR1VpekpuVndBK0pqNUlCWVhjR2JNUWMzNTNzUGk1?=
 =?utf-8?B?YUFKb0xCS2JjZjJ0TUF6UzlLME5pODZCY1BLTHNhM2J6cDNjNW5TUG9iZ292?=
 =?utf-8?B?aVFHSWs1MzJ1VXNPdGd5WHlrbHUyenhBakw3a2JYUjFjSjJFcGc2NGdnRSt4?=
 =?utf-8?B?VXJwNGFlUXJCVm0vSkxQNVJ0VU40ODB1RUhuMS9iTmRZc01wQmVlR2VVc1Vs?=
 =?utf-8?B?TjNxMTVOUHBXR09BV0lQczExUDNvRmVrbk9WVmVlR3VtZk1RcUY1MEtTWDVG?=
 =?utf-8?B?eHhRTW1Vbi9KRXMxQmFmK05PZkpzaXNqbHpob213RXc5Z0lpRitVRG52Tlpa?=
 =?utf-8?B?eFlUUUZvTTFjTE1vbE1PYjA3b1orQTIwSnR2RlZIcWVYU254L2ZkUFkzYVhp?=
 =?utf-8?B?RjdhaGlXR3JsTU9zVXY3bUdLYWFHdE0yNXlXSXBLSFdGdlNPY1dzYXFKM0da?=
 =?utf-8?B?cng3bXUyR2pTRVpMM3IvcThTeFR3SGFzdzRZeUFVM1ZldTI5c0FUYS9KT1F2?=
 =?utf-8?B?VlpkN0xoeTRqUWpEWDdna1JjTGhKYkY0T2Rpak8xVzh3eUtoa3k0YXozS3F4?=
 =?utf-8?B?anVLM21IdnhwdGpZcDJGcFhHWUlmRFVZRXRJRzJKSzl1SHhQQTJFUlk1N3Fh?=
 =?utf-8?Q?mRYbsypnmSCvHYQZsvbsXdDzG?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zh69TyflqLfMPQjy1w0ox3K2qafgu1qvaLgVRcmR00deFB3gm1qITqSqFwphkXhwi+D4V3FomofTKldYfq2RvI/yjOUjfklXGanLgbA7Vh2N2aRUjq8Bz3dW1Y8ywQy+OanyZom1NmJMmCe8/Q/9i9ENqsDyR5fNW+GsHk947u94MDQAYRS4Hp/dkkEJuw8NNzwkDt63CJho9aQNtJ+o9LHG/bz2gih6hIhFIvhO1WKdzTgb6GrjGaGNYO+w3aUjVBaBHfJjnlM5/gdjnuG4z13ywa0H63tZgDkvM+3RYbEpSBzqK44ClMahKM2gf+jZ+2bLFjgkM4PeRR5WyCAeED5JwQm9ZJJ4oDjMG5ahfjWmvyTRDwdT7gZcmYF+9dt/jue67ECoW796n6a9T23jzP76V0JTmQplqTtL6t1bs6CqPHQIVdJJ2yfr9i96jI2wsEudmcV0ga8R2Gz7VNwY4mJ6WeLwHkAVHM3fyxE9ArINuefPx1Bk2StMC7ZfRZiGxmb3M7Hx4P7tMmDijrqUQwZucjpaC5mDLwZFe6puKGBP85Ygj9j0Mw7W31n2Om8J5NXwNtQP08UEnwPGRBtFMS+77SRu2/C0GsF6X58GyIOVfPtBI4bkyi4xq95nyr4mj6J+nTEpiZezl7xqAESv9Mcok986cW8TKWYEjyaMTCL1HZcYMeozUu1h56vHvyUSSV8zJVrfpvdLr5woyIhYbdLYEbnUJkd1bguPDrx4NmqVlRI3uSYvR2e3uusk2EXUf8ODsOARTVxexq6Ujbwna4aaoC4gp+XyYQ+qflRO/oB21u+qZyqvukJmp1wEgfMRr/btesui80RAldSi1vzz1g==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60909be5-3350-4b0b-7da4-08dba7af95b5
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 10:14:38.1163
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7WoFEIUpm/kjhER0uHAdBLzTfzJqoZ9u+jKaS1NOnOiouBKm50g9/ugnzUg8Z7eFHtLfFMloOqQzCeZGwyYk0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5127

The return value of bogus_8259A_irq() is wrong: the function will
return `true` when the IRQ is real and `false` when it's a spurious
IRQ.  This causes the "No irq handler for vector ..." message in
do_IRQ() to be printed for spurious i8259 interrupts which is not
intended (and not helpful).

Fix by inverting the return value of bogus_8259A_irq().

Fixes: 132906348a14 ('x86/i8259: Handle bogus spurious interrupts more quietly')
Signed-off-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
 xen/arch/x86/i8259.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
index 6b35be10f09a..ed9f55abe51e 100644
--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -37,7 +37,7 @@ static bool _mask_and_ack_8259A_irq(unsigned int irq);
 
 bool bogus_8259A_irq(unsigned int irq)
 {
-    return _mask_and_ack_8259A_irq(irq);
+    return !_mask_and_ack_8259A_irq(irq);
 }
 
 static void cf_check mask_and_ack_8259A_irq(struct irq_desc *desc)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 10:51:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 10:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591440.923840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaZq3-00080a-Ki; Mon, 28 Aug 2023 10:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591440.923840; Mon, 28 Aug 2023 10: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 1qaZq3-00080T-Hz; Mon, 28 Aug 2023 10:51:19 +0000
Received: by outflank-mailman (input) for mailman id 591440;
 Mon, 28 Aug 2023 10:51: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 1qaZq1-00080J-LZ; Mon, 28 Aug 2023 10:51: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 1qaZq1-00070q-CD; Mon, 28 Aug 2023 10:51: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 1qaZq0-0003bv-T3; Mon, 28 Aug 2023 10:51:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaZq0-0005Bu-SZ; Mon, 28 Aug 2023 10:51:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=V5DyWH2DaoCz6rnSLafj++6An2DQMEsqLjNOlEJmRHI=; b=But/md3MKPlfxB+z7I7/FlK6ON
	IueKsW2Eeeaof1wCQArBfah+GC0GJqfwLmxnqIfCzRa9y2rmMuDyFhlXEaD/LuFUBM3GwUVuxqD8v
	/8sCF/8JuyIBgEN1Wv+bKE0Y96rIjwtBYlAJ8WzK7rrb7lbCCj4NSSZ+uGsNRtxrQX8I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182532-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182532: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-xsm:xen-install:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
X-Osstest-Versions-That:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 10:51:16 +0000

flight 182532 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182532/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 182527 pass in 182532
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 182527
 test-amd64-i386-pair         11 xen-install/dst_host       fail pass in 182527

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182522
 test-amd64-i386-xl-xsm        7 xen-install                  fail  like 182527
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182527
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182527
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182527
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182527
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182527
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182527
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182527
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182527
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182527
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182527
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182527
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
baseline version:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b

Last test of basis   182532  2023-08-28 01:52:11 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:03:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591450.923850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa23-0001I6-Qc; Mon, 28 Aug 2023 11:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591450.923850; Mon, 28 Aug 2023 11:03:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa23-0001Hz-O3; Mon, 28 Aug 2023 11:03:43 +0000
Received: by outflank-mailman (input) for mailman id 591450;
 Mon, 28 Aug 2023 11:03:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaa22-0001Hn-5d
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 11:03:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b0e1bd2-4592-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 13:03:39 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 97F544EE0738;
 Mon, 28 Aug 2023 13:03: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: 8b0e1bd2-4592-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH v5 0/4] xen: address violations of MISRA C:2012 Rule 7.2
Date: Mon, 28 Aug 2023 13:02:58 +0200
Message-Id: <cover.1693219887.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose headline
states:
"A 'u' or 'U' suffix shall be applied to all integer constants that are
represented in an unsigned type".

These violations are caused by the missing "u" or "U" suffix in unsigned
integer constants, such as:

xen/arch/x86/hvm/hypercall.c:132.17-132.26
if ( (eax & 0x80000000) && is_viridian_domain(currd) )

If a rule is not met, changes are needed in order to achieve compliance.
The patches in this series achieve compliance for MISRA C:2012 Rule 7.2 by
adding the 'U' suffix to integers literals with unsigned type and also to
other
literals used in the same contexts or near violations, when their positive
nature is immediately clear. The latter changes are done for the sake of
uniformity.

Only patch 4/4 contains real changes, patch 2/4 just adds an "Acked-by",
the others patches (1/4 and 3/4) are untouched.

Gianluca Luparini (4):
  x86/vmx: address violations of MISRA C:2012 Rule 7.2
  xen/vpci: address violations of MISRA C:2012 Rule 7.2
  x86/viridian: address violations of MISRA C:2012 Rule 7.2
  xen/x86: address violations of MISRA C:2012 Rule 7.2

 xen/arch/x86/apic.c                          |   2 +-
 xen/arch/x86/cpu-policy.c                    |  18 +-
 xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
 xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
 xen/arch/x86/cpuid.c                         |   8 +-
 xen/arch/x86/efi/efi-boot.h                  |   6 +-
 xen/arch/x86/extable.c                       |   2 +-
 xen/arch/x86/hvm/hypercall.c                 |   2 +-
 xen/arch/x86/hvm/pmtimer.c                   |   4 +-
 xen/arch/x86/hvm/stdvga.c                    |  49 ++---
 xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
 xen/arch/x86/hvm/vlapic.c                    |   6 +-
 xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
 xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
 xen/arch/x86/include/asm/apicdef.h           |   2 +-
 xen/arch/x86/include/asm/config.h            |   2 +-
 xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
 xen/arch/x86/include/asm/hpet.h              |   2 +-
 xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
 xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++-----
 xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
 xen/arch/x86/include/asm/msi.h               |   2 +-
 xen/arch/x86/include/asm/msr-index.h         | 182 +++++++++----------
 xen/arch/x86/include/asm/pci.h               |   8 +-
 xen/arch/x86/include/asm/x86-defns.h         |  24 +--
 xen/arch/x86/percpu.c                        |   2 +-
 xen/arch/x86/psr.c                           |   2 +-
 xen/arch/x86/spec_ctrl.c                     |  12 +-
 xen/arch/x86/x86_64/pci.c                    |   2 +-
 xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
 xen/drivers/vpci/msi.c                       |   2 +-
 xen/drivers/vpci/msix.c                      |   2 +-
 xen/drivers/vpci/vpci.c                      |   6 +-
 xen/lib/x86/cpuid.c                          |   8 +-
 xen/lib/x86/policy.c                         |   2 +-
 36 files changed, 258 insertions(+), 257 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:04:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:04:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591454.923861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa2h-0001mX-3d; Mon, 28 Aug 2023 11:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591454.923861; Mon, 28 Aug 2023 11: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 1qaa2h-0001mQ-0E; Mon, 28 Aug 2023 11:04:23 +0000
Received: by outflank-mailman (input) for mailman id 591454;
 Mon, 28 Aug 2023 11:04: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaa2e-0001cT-UZ
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 11:04:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a32dbacb-4592-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 13:04:20 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 577844EE0738;
 Mon, 28 Aug 2023 13:04: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: a32dbacb-4592-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH v5 1/4] x86/vmx: address violations of MISRA C:2012 Rule 7.2
Date: Mon, 28 Aug 2023 13:02:59 +0200
Message-Id: <675f0347f5f3a7b9bab54201c9882591df8bbb5f.1693219887.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693219887.git.simone.ballarin@bugseng.com>
References: <cover.1693219887.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
headline states:
"A 'u' or 'U' suffix shall be applied to all integer constants
that are represented in an unsigned type".

Add the 'U' suffix to integers literals with unsigned type.

For the sake of uniformity, the following changes are made:
- add the 'U' suffix to macros near
  'CPU_BASED_ACTIVATE_SECONDARY_CONTROLS' and
  'SECONDARY_EXEC_NOTIFY_VM_EXITING' macros in 'vmcs.h'
- add the 'U' suffix to macros near 'INTR_INFO_VALID_MASK'
  macro in 'vmx.h'

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jan Beulich <jbeulich@suse.com>

---
Changes in v4:
- change commit headline

Changes in v3:
- change 'Signed-off-by' ordering
- change commit message
- remove unnecessary changes in 'vvmx.c'
- add 'uint32_t' casts in 'vvmx.c'
- add missing 'U' in 'vmcs.h' macros
- change macro to '(1u << 31)' in 'vmx.h'
- remove unnecessary changes to 'vmx.h'

Changes in v2:
- minor change to commit title
- change commit message
- remove unnecessary changes in 'vpmu_intel.c' and 'vmx.h'
- add 'ULL' suffix in 'vpmu_intel.c'
- add zero-padding to constants in 'vmx.h'
- add missing 'U' in 'vmx.h'
---
 xen/arch/x86/cpu/vpmu_intel.c           |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  6 +-
 xen/arch/x86/hvm/vmx/vvmx.c             |  8 +--
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 84 ++++++++++++-------------
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  | 16 ++---
 5 files changed, 58 insertions(+), 58 deletions(-)

diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index fa5b40c65c..6330c89b47 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -945,7 +945,7 @@ const struct arch_vpmu_ops *__init core2_vpmu_init(void)
     fixed_counters_mask = ~((1ull << core2_get_bitwidth_fix_count()) - 1);
     global_ctrl_mask = ~((((1ULL << fixed_pmc_cnt) - 1) << 32) |
                          ((1ULL << arch_pmc_cnt) - 1));
-    global_ovf_ctrl_mask = ~(0xC000000000000000 |
+    global_ovf_ctrl_mask = ~(0xC000000000000000ULL |
                              (((1ULL << fixed_pmc_cnt) - 1) << 32) |
                              ((1ULL << arch_pmc_cnt) - 1));
     if ( version > 2 )
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 13719cc923..6cefb88aec 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -911,7 +911,7 @@ void vmx_clear_msr_intercept(struct vcpu *v, unsigned int msr,
         if ( type & VMX_MSR_W )
             clear_bit(msr, msr_bitmap->write_low);
     }
-    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
+    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
     {
         msr &= 0x1fff;
         if ( type & VMX_MSR_R )
@@ -939,7 +939,7 @@ void vmx_set_msr_intercept(struct vcpu *v, unsigned int msr,
         if ( type & VMX_MSR_W )
             set_bit(msr, msr_bitmap->write_low);
     }
-    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
+    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
     {
         msr &= 0x1fff;
         if ( type & VMX_MSR_R )
@@ -957,7 +957,7 @@ bool vmx_msr_is_intercepted(struct vmx_msr_bitmap *msr_bitmap,
     if ( msr <= 0x1fff )
         return test_bit(msr, is_write ? msr_bitmap->write_low
                                       : msr_bitmap->read_low);
-    else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) )
+    else if ( (msr >= 0xc0000000U) && (msr <= 0xc0001fffU) )
         return test_bit(msr & 0x1fff, is_write ? msr_bitmap->write_high
                                                : msr_bitmap->read_high);
     else
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 16b0ef82b6..b7be424afb 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -263,7 +263,7 @@ uint64_t get_vvmcs_virtual(void *vvmcs, uint32_t vmcs_encoding)
             res >>= 32;
         break;
     case VVMCS_WIDTH_32:
-        res &= 0xffffffff;
+        res = (uint32_t)res;
         break;
     case VVMCS_WIDTH_NATURAL:
     default:
@@ -315,14 +315,14 @@ void set_vvmcs_virtual(void *vvmcs, uint32_t vmcs_encoding, uint64_t val)
     case VVMCS_WIDTH_64:
         if ( enc.access_type )
         {
-            res &= 0xffffffff;
+            res = (uint32_t)res;
             res |= val << 32;
         }
         else
             res = val;
         break;
     case VVMCS_WIDTH_32:
-        res = val & 0xffffffff;
+        res = (uint32_t)val;
         break;
     case VVMCS_WIDTH_NATURAL:
     default:
@@ -2306,7 +2306,7 @@ int nvmx_msr_read_intercept(unsigned int msr, u64 *msr_content)
         break;
     case MSR_IA32_VMX_CR0_FIXED1:
         /* allow 0-settings for all bits */
-        data = 0xffffffff;
+        data = 0xffffffffU;
         break;
     case MSR_IA32_VMX_CR4_FIXED0:
         /* VMXE bit must be 1 in VMX operation */
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index d07fcb2bc9..e056643993 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -187,27 +187,27 @@ bool_t __must_check vmx_vmcs_try_enter(struct vcpu *v);
 void vmx_vmcs_exit(struct vcpu *v);
 void vmx_vmcs_reload(struct vcpu *v);
 
-#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004
-#define CPU_BASED_USE_TSC_OFFSETING           0x00000008
-#define CPU_BASED_HLT_EXITING                 0x00000080
-#define CPU_BASED_INVLPG_EXITING              0x00000200
-#define CPU_BASED_MWAIT_EXITING               0x00000400
-#define CPU_BASED_RDPMC_EXITING               0x00000800
-#define CPU_BASED_RDTSC_EXITING               0x00001000
-#define CPU_BASED_CR3_LOAD_EXITING            0x00008000
-#define CPU_BASED_CR3_STORE_EXITING           0x00010000
-#define CPU_BASED_CR8_LOAD_EXITING            0x00080000
-#define CPU_BASED_CR8_STORE_EXITING           0x00100000
-#define CPU_BASED_TPR_SHADOW                  0x00200000
-#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000
-#define CPU_BASED_MOV_DR_EXITING              0x00800000
-#define CPU_BASED_UNCOND_IO_EXITING           0x01000000
-#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000
-#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000
-#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000
-#define CPU_BASED_MONITOR_EXITING             0x20000000
-#define CPU_BASED_PAUSE_EXITING               0x40000000
-#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000
+#define CPU_BASED_VIRTUAL_INTR_PENDING        0x00000004U
+#define CPU_BASED_USE_TSC_OFFSETING           0x00000008U
+#define CPU_BASED_HLT_EXITING                 0x00000080U
+#define CPU_BASED_INVLPG_EXITING              0x00000200U
+#define CPU_BASED_MWAIT_EXITING               0x00000400U
+#define CPU_BASED_RDPMC_EXITING               0x00000800U
+#define CPU_BASED_RDTSC_EXITING               0x00001000U
+#define CPU_BASED_CR3_LOAD_EXITING            0x00008000U
+#define CPU_BASED_CR3_STORE_EXITING           0x00010000U
+#define CPU_BASED_CR8_LOAD_EXITING            0x00080000U
+#define CPU_BASED_CR8_STORE_EXITING           0x00100000U
+#define CPU_BASED_TPR_SHADOW                  0x00200000U
+#define CPU_BASED_VIRTUAL_NMI_PENDING         0x00400000U
+#define CPU_BASED_MOV_DR_EXITING              0x00800000U
+#define CPU_BASED_UNCOND_IO_EXITING           0x01000000U
+#define CPU_BASED_ACTIVATE_IO_BITMAP          0x02000000U
+#define CPU_BASED_MONITOR_TRAP_FLAG           0x08000000U
+#define CPU_BASED_ACTIVATE_MSR_BITMAP         0x10000000U
+#define CPU_BASED_MONITOR_EXITING             0x20000000U
+#define CPU_BASED_PAUSE_EXITING               0x40000000U
+#define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000U
 extern u32 vmx_cpu_based_exec_control;
 
 #define PIN_BASED_EXT_INTR_MASK         0x00000001
@@ -238,26 +238,26 @@ extern u32 vmx_vmexit_control;
 #define VM_ENTRY_LOAD_BNDCFGS           0x00010000
 extern u32 vmx_vmentry_control;
 
-#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
-#define SECONDARY_EXEC_ENABLE_EPT               0x00000002
-#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004
-#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008
-#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010
-#define SECONDARY_EXEC_ENABLE_VPID              0x00000020
-#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040
-#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080
-#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100
-#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200
-#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400
-#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000
-#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000
-#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000
-#define SECONDARY_EXEC_ENABLE_PML               0x00020000
-#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000
-#define SECONDARY_EXEC_XSAVES                   0x00100000
-#define SECONDARY_EXEC_TSC_SCALING              0x02000000
-#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000
-#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000
+#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001U
+#define SECONDARY_EXEC_ENABLE_EPT               0x00000002U
+#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004U
+#define SECONDARY_EXEC_ENABLE_RDTSCP            0x00000008U
+#define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010U
+#define SECONDARY_EXEC_ENABLE_VPID              0x00000020U
+#define SECONDARY_EXEC_WBINVD_EXITING           0x00000040U
+#define SECONDARY_EXEC_UNRESTRICTED_GUEST       0x00000080U
+#define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100U
+#define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200U
+#define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400U
+#define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000U
+#define SECONDARY_EXEC_ENABLE_VM_FUNCTIONS      0x00002000U
+#define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000U
+#define SECONDARY_EXEC_ENABLE_PML               0x00020000U
+#define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000U
+#define SECONDARY_EXEC_XSAVES                   0x00100000U
+#define SECONDARY_EXEC_TSC_SCALING              0x02000000U
+#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000U
+#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000U
 extern u32 vmx_secondary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
@@ -346,7 +346,7 @@ extern u64 vmx_ept_vpid_cap;
 #define cpu_has_vmx_notify_vm_exiting \
     (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
 
-#define VMCS_RID_TYPE_MASK              0x80000000
+#define VMCS_RID_TYPE_MASK              0x80000000U
 
 /* GUEST_INTERRUPTIBILITY_INFO flags. */
 #define VMX_INTR_SHADOW_STI             0x00000001
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index c84acc221d..d4b335a2bc 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -137,7 +137,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
 /*
  * Exit Reasons
  */
-#define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
+#define VMX_EXIT_REASONS_FAILED_VMENTRY (1u << 31)
 #define VMX_EXIT_REASONS_BUS_LOCK       (1u << 26)
 
 #define EXIT_REASON_EXCEPTION_NMI       0
@@ -209,12 +209,12 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
  * Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit Qualification
  * field for EPT violations, PML full and SPP-related event vmexits.
  */
-#define INTR_INFO_VECTOR_MASK           0xff            /* 7:0 */
-#define INTR_INFO_INTR_TYPE_MASK        0x700           /* 10:8 */
-#define INTR_INFO_DELIVER_CODE_MASK     0x800           /* 11 */
-#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x1000          /* 12 */
-#define INTR_INFO_VALID_MASK            0x80000000      /* 31 */
-#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000
+#define INTR_INFO_VECTOR_MASK           0x000000ffU     /* 7:0 */
+#define INTR_INFO_INTR_TYPE_MASK        0x00000700U     /* 10:8 */
+#define INTR_INFO_DELIVER_CODE_MASK     0x00000800U     /* 11 */
+#define INTR_INFO_NMI_UNBLOCKED_BY_IRET 0x00001000U     /* 12 */
+#define INTR_INFO_VALID_MASK            0x80000000U     /* 31 */
+#define INTR_INFO_RESVD_BITS_MASK       0x7ffff000U
 
 /*
  * Exit Qualifications for NOTIFY VM EXIT
@@ -607,7 +607,7 @@ static inline void vmx_pi_hooks_assign(struct domain *d) {}
 static inline void vmx_pi_hooks_deassign(struct domain *d) {}
 #endif
 
-#define APIC_INVALID_DEST           0xffffffff
+#define APIC_INVALID_DEST           0xffffffffU
 
 /* EPT violation qualifications definitions */
 typedef union ept_qual {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:04:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:04:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591457.923871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa31-0002Em-CQ; Mon, 28 Aug 2023 11:04:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591457.923871; Mon, 28 Aug 2023 11:04:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa31-0002Ed-9I; Mon, 28 Aug 2023 11:04:43 +0000
Received: by outflank-mailman (input) for mailman id 591457;
 Mon, 28 Aug 2023 11:04:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaa30-0002EA-SS
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 11:04:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af8aa5e6-4592-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 13:04:40 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 490D84EE0739;
 Mon, 28 Aug 2023 13:04: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: af8aa5e6-4592-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH v5 2/4] xen/vpci: address violations of MISRA C:2012 Rule 7.2
Date: Mon, 28 Aug 2023 13:03:00 +0200
Message-Id: <add57653c4a03d025c7243f295fbd88250b2dbe4.1693219887.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693219887.git.simone.ballarin@bugseng.com>
References: <cover.1693219887.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
headline states:
"A 'u' or 'U' suffix shall be applied to all integer constants
that are represented in an unsigned type".

Add the 'U' suffix to integers literals with unsigned type and also to other
literals used in the same contexts or near violations, when their positive
nature is immediately clear. The latter changes are done for the sake of
uniformity.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
---
Changes in v5:
- add Acked-by Roger Pau MonnĂ©

Changes in v4:
- change commit headline

Changes in v3:
- change 'Signed-off-by' ordering
- add 'uint32_t' casts in 'msi.c' and 'msix.c'

Changes in v2:
- minor change to commit title
- change commit message
---
 xen/drivers/vpci/msi.c  | 2 +-
 xen/drivers/vpci/msix.c | 2 +-
 xen/drivers/vpci/vpci.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 8f2b59e61a..bf5fe2f981 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -124,7 +124,7 @@ static void cf_check address_hi_write(
     struct vpci_msi *msi = data;
 
     /* Clear and update high part. */
-    msi->address &= 0xffffffff;
+    msi->address  = (uint32_t)msi->address;
     msi->address |= (uint64_t)val << 32;
 
     update_msi(pdev, msi);
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index f9df506f29..09b681b5c4 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -531,7 +531,7 @@ static int cf_check msix_write(
 
     case PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET:
         entry->updated = true;
-        entry->addr &= 0xffffffff;
+        entry->addr  = (uint32_t)entry->addr;
         entry->addr |= (uint64_t)data << 32;
         break;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index d73fa76302..3bec9a4153 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -319,7 +319,7 @@ static void vpci_write_hw(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
 static uint32_t merge_result(uint32_t data, uint32_t new, unsigned int size,
                              unsigned int offset)
 {
-    uint32_t mask = 0xffffffff >> (32 - 8 * size);
+    uint32_t mask = 0xffffffffU >> (32 - 8 * size);
 
     return (data & ~(mask << (offset * 8))) | ((new & mask) << (offset * 8));
 }
@@ -402,7 +402,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
         data = merge_result(data, tmp_data, size - data_offset, data_offset);
     }
 
-    return data & (0xffffffff >> (32 - 8 * size));
+    return data & (0xffffffffU >> (32 - 8 * size));
 }
 
 /*
@@ -427,7 +427,7 @@ static void vpci_write_helper(const struct pci_dev *pdev,
         data = merge_result(val, data, size, offset);
     }
 
-    r->write(pdev, r->offset, data & (0xffffffff >> (32 - 8 * r->size)),
+    r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
              r->private);
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:04:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591459.923881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa3B-0002ax-Ja; Mon, 28 Aug 2023 11:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591459.923881; Mon, 28 Aug 2023 11:04:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa3B-0002ao-GZ; Mon, 28 Aug 2023 11:04:53 +0000
Received: by outflank-mailman (input) for mailman id 591459;
 Mon, 28 Aug 2023 11:04: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaa3A-0002EA-IZ
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 11:04:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b573b6d0-4592-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 13:04:50 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 11DDE4EE073A;
 Mon, 28 Aug 2023 13:04:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b573b6d0-4592-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Gianluca Luparini <gianluca.luparini@bugseng.com>,
	Paul Durrant <paul@xen.org>,
	Wei Liu <wl@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>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH v5 3/4] x86/viridian: address violations of MISRA C:2012 Rule 7.2
Date: Mon, 28 Aug 2023 13:03:01 +0200
Message-Id: <4581fc2e3292f761336639a1881e05775e681874.1693219887.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693219887.git.simone.ballarin@bugseng.com>
References: <cover.1693219887.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
headline states:
"A 'u' or 'U' suffix shall be applied to all integer constants
that are represented in an unsigned type".

Add the 'U' suffix to integers literals with unsigned type and also to other
literals used in the same contexts or near violations, when their positive
nature is immediately clear. The latter changes are done for the sake of
uniformity.

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v4:
- change commit headline
- add Reviewed-by

Changes in v3:
- create this commit for 'viridian.c' and 'hyperv-tlfs.h'
---
 xen/arch/x86/hvm/viridian/viridian.c         |  2 +-
 xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 28 ++++++++++----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
index 7405c117bc..61171e3363 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -291,7 +291,7 @@ static void enable_hypercall_page(struct domain *d)
      * calling convention) to differentiate Xen and Viridian hypercalls.
      */
     *(u8  *)(p + 0) = 0x0d; /* orl $0x80000000, %eax */
-    *(u32 *)(p + 1) = 0x80000000;
+    *(u32 *)(p + 1) = 0x80000000U;
     *(u8  *)(p + 5) = 0x0f; /* vmcall/vmmcall */
     *(u8  *)(p + 6) = 0x01;
     *(u8  *)(p + 7) = (cpu_has_vmx ? 0xc1 : 0xd9);
diff --git a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
index 38f997a0c8..a6915ad731 100644
--- a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
+++ b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
@@ -471,30 +471,30 @@ typedef struct _HV_REFERENCE_TSC_PAGE {
 
 /* Define hypervisor message types. */
 enum hv_message_type {
-	HVMSG_NONE			= 0x00000000,
+	HVMSG_NONE			= 0x00000000U,
 
 	/* Memory access messages. */
-	HVMSG_UNMAPPED_GPA		= 0x80000000,
-	HVMSG_GPA_INTERCEPT		= 0x80000001,
+	HVMSG_UNMAPPED_GPA		= 0x80000000U,
+	HVMSG_GPA_INTERCEPT		= 0x80000001U,
 
 	/* Timer notification messages. */
-	HVMSG_TIMER_EXPIRED			= 0x80000010,
+	HVMSG_TIMER_EXPIRED			= 0x80000010U,
 
 	/* Error messages. */
-	HVMSG_INVALID_VP_REGISTER_VALUE	= 0x80000020,
-	HVMSG_UNRECOVERABLE_EXCEPTION	= 0x80000021,
-	HVMSG_UNSUPPORTED_FEATURE		= 0x80000022,
+	HVMSG_INVALID_VP_REGISTER_VALUE	= 0x80000020U,
+	HVMSG_UNRECOVERABLE_EXCEPTION	= 0x80000021U,
+	HVMSG_UNSUPPORTED_FEATURE		= 0x80000022U,
 
 	/* Trace buffer complete messages. */
-	HVMSG_EVENTLOG_BUFFERCOMPLETE	= 0x80000040,
+	HVMSG_EVENTLOG_BUFFERCOMPLETE	= 0x80000040U,
 
 	/* Platform-specific processor intercept messages. */
-	HVMSG_X64_IOPORT_INTERCEPT		= 0x80010000,
-	HVMSG_X64_MSR_INTERCEPT		= 0x80010001,
-	HVMSG_X64_CPUID_INTERCEPT		= 0x80010002,
-	HVMSG_X64_EXCEPTION_INTERCEPT	= 0x80010003,
-	HVMSG_X64_APIC_EOI			= 0x80010004,
-	HVMSG_X64_LEGACY_FP_ERROR		= 0x80010005
+	HVMSG_X64_IOPORT_INTERCEPT		= 0x80010000U,
+	HVMSG_X64_MSR_INTERCEPT		= 0x80010001U,
+	HVMSG_X64_CPUID_INTERCEPT		= 0x80010002U,
+	HVMSG_X64_EXCEPTION_INTERCEPT	= 0x80010003U,
+	HVMSG_X64_APIC_EOI			= 0x80010004U,
+	HVMSG_X64_LEGACY_FP_ERROR		= 0x80010005U
 };
 
 /* Define synthetic interrupt controller message flags. */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:05:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:05:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591464.923891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa3K-00032b-WD; Mon, 28 Aug 2023 11:05:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591464.923891; Mon, 28 Aug 2023 11:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa3K-00032N-TQ; Mon, 28 Aug 2023 11:05:02 +0000
Received: by outflank-mailman (input) for mailman id 591464;
 Mon, 28 Aug 2023 11:05:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qaa3J-0002EA-6Q
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 11:05:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9cc9d67-4592-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 13:04:58 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 57F674EE073C;
 Mon, 28 Aug 2023 13:04:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9cc9d67-4592-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Gianluca Luparini <gianluca.luparini@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>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [XEN PATCH v5 4/4] xen/x86: address violations of MISRA C:2012 Rule 7.2
Date: Mon, 28 Aug 2023 13:03:02 +0200
Message-Id: <d4729e2d0b9d1e7e067e37a4318e0fc1b4f433db.1693219887.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693219887.git.simone.ballarin@bugseng.com>
References: <cover.1693219887.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
headline states:
"A 'u' or 'U' suffix shall be applied to all integer constants
that are represented in an unsigned type".

Add the 'U' suffix to integers literals with unsigned type.
Use _AC() for macro costants that are used also in assembly files.

For the sake of uniformity, the following changes are made:
- add the 'U' suffix to all first macro's arguments in 'mce-apei.c'
- add the 'U' suffix to switch cases in 'cpuid.c'
- add 'U' suffixes to 'mask16' in 'stdvga.c'
- add the 'U' suffix to macros in 'pci.h'
- use _AC() for macros near 'X86_CR0_PG'

Signed-off-by: Gianluca Luparini <gianluca.luparini@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v5:
- remove comments to 'gr_mask' in 'stdvga.c'
- add lost parentheses around 'par' and 'd1'
- use _AC for all constants with suffix in the modern part of
  'msr-index.h'
- removei unnecessary blank

Changes in v4:
- change commit headline
- remove 'U' suffix from '0xffff' in 'cpu-policy.c'
- remove some changes in 'msr-index.h'
- remove changes in 'irq.c' and 'acpi_mmcfg.c'

Changes in v3:
- change 'Signed-off-by' ordering
- change commit message
- add 'UL' in 'extable.c'
- fix indentation in 'cpu-policy.c'
- remove excessive suffixes in 'mce-apei.c'
- add 'UL' in 'x86-defns.h'
- remove changes to 'sr_mask' in 'stdvga.c'
- remove comments to 'gr_mask' in 'stdvga.c'
- move 'viridian.c' and 'hyperv-tlfs.h' in a separate commit

Changes in v2:
- minor change to commit title
- change commit message
- remove comments from 'gr_mask' in 'stdvga.c'
- correct code style in 'trace.h'
- add fix in 'extable.c'
- remove changes in 'x86-defns.h', 'msr-index.h' and 'xen-x86_64.h'
---
 xen/arch/x86/apic.c                    |   2 +-
 xen/arch/x86/cpu-policy.c              |  18 +--
 xen/arch/x86/cpu/mcheck/mce-apei.c     |   4 +-
 xen/arch/x86/cpuid.c                   |   8 +-
 xen/arch/x86/efi/efi-boot.h            |   6 +-
 xen/arch/x86/extable.c                 |   2 +-
 xen/arch/x86/hvm/hypercall.c           |   2 +-
 xen/arch/x86/hvm/pmtimer.c             |   4 +-
 xen/arch/x86/hvm/stdvga.c              |  49 +++----
 xen/arch/x86/hvm/vlapic.c              |   6 +-
 xen/arch/x86/include/asm/apicdef.h     |   2 +-
 xen/arch/x86/include/asm/config.h      |   2 +-
 xen/arch/x86/include/asm/hpet.h        |   2 +-
 xen/arch/x86/include/asm/hvm/trace.h   |   4 +-
 xen/arch/x86/include/asm/hvm/vioapic.h |   2 +-
 xen/arch/x86/include/asm/msi.h         |   2 +-
 xen/arch/x86/include/asm/msr-index.h   | 182 ++++++++++++-------------
 xen/arch/x86/include/asm/pci.h         |   8 +-
 xen/arch/x86/include/asm/x86-defns.h   |  24 ++--
 xen/arch/x86/percpu.c                  |   2 +-
 xen/arch/x86/psr.c                     |   2 +-
 xen/arch/x86/spec_ctrl.c               |  12 +-
 xen/arch/x86/x86_64/pci.c              |   2 +-
 xen/arch/x86/x86_emulate/x86_emulate.h |   2 +-
 xen/lib/x86/cpuid.c                    |   8 +-
 xen/lib/x86/policy.c                   |   2 +-
 26 files changed, 180 insertions(+), 179 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 41879230ec..1109c0d9cf 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1211,7 +1211,7 @@ static void __init calibrate_APIC_clock(void)
      * Setup the APIC counter to maximum. There is no way the lapic
      * can underflow in the 100ms detection time frame.
      */
-    __setup_APIC_LVTT(0xffffffff);
+    __setup_APIC_LVTT(0xffffffffU);
 
     bus_freq = calibrate_apic_timer();
     if ( !bus_freq )
diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 81e574390f..423932bc13 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -321,7 +321,7 @@ static void recalculate_misc(struct cpu_policy *p)
         p->extd.vendor_edx = p->basic.vendor_edx;
 
         p->extd.raw_fms = p->basic.raw_fms;
-        p->extd.raw[0x1].b &= 0xff00ffff;
+        p->extd.raw[0x1].b &= 0xff00ffffU;
         p->extd.e1d |= p->basic._1d & CPUID_COMMON_1D_FEATURES;
 
         p->extd.raw[0x8].a &= 0x0000ffff; /* GuestMaxPhysAddr hidden. */
@@ -378,10 +378,10 @@ static void __init calculate_host_policy(void)
      * this information.
      */
     if ( cpu_has_lfence_dispatch )
-        max_extd_leaf = max(max_extd_leaf, 0x80000021);
+        max_extd_leaf = max(max_extd_leaf, 0x80000021U);
 
-    p->extd.max_leaf = 0x80000000 | min_t(uint32_t, max_extd_leaf & 0xffff,
-                                          ARRAY_SIZE(p->extd.raw) - 1);
+    p->extd.max_leaf = 0x80000000U | min_t(uint32_t, max_extd_leaf & 0xffff,
+                                           ARRAY_SIZE(p->extd.raw) - 1);
 
     x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
     recalculate_xstate(p);
@@ -793,11 +793,11 @@ void recalculate_cpuid_policy(struct domain *d)
 
     p->basic.max_leaf   = min(p->basic.max_leaf,   max->basic.max_leaf);
     p->feat.max_subleaf = min(p->feat.max_subleaf, max->feat.max_subleaf);
-    p->extd.max_leaf    = 0x80000000 | min(p->extd.max_leaf & 0xffff,
-                                           ((p->x86_vendor & (X86_VENDOR_AMD |
-                                                              X86_VENDOR_HYGON))
-                                            ? CPUID_GUEST_NR_EXTD_AMD
-                                            : CPUID_GUEST_NR_EXTD_INTEL) - 1);
+    p->extd.max_leaf    = 0x80000000U | min(p->extd.max_leaf & 0xffff,
+                                            ((p->x86_vendor & (X86_VENDOR_AMD |
+                                                               X86_VENDOR_HYGON))
+                                             ? CPUID_GUEST_NR_EXTD_AMD
+                                             : CPUID_GUEST_NR_EXTD_INTEL) - 1);
 
     x86_cpu_policy_to_featureset(p, fs);
     x86_cpu_policy_to_featureset(max, max_fs);
diff --git a/xen/arch/x86/cpu/mcheck/mce-apei.c b/xen/arch/x86/cpu/mcheck/mce-apei.c
index 53b6735896..b895020882 100644
--- a/xen/arch/x86/cpu/mcheck/mce-apei.c
+++ b/xen/arch/x86/cpu/mcheck/mce-apei.c
@@ -37,10 +37,10 @@
 #include "mce.h"
 
 #define CPER_CREATOR_MCE						\
-	UUID_LE(0x75a574e3, 0x5052, 0x4b29, 0x8a, 0x8e, 0xbe, 0x2c,	\
+	UUID_LE(0x75a574e3U, 0x5052, 0x4b29, 0x8a, 0x8e, 0xbe, 0x2c,	\
 		0x64, 0x90, 0xb8, 0x9d)
 #define CPER_SECTION_TYPE_MCE						\
-	UUID_LE(0xfe08ffbe, 0x95e4, 0x4be7, 0xbc, 0x73, 0x40, 0x96,	\
+	UUID_LE(0xfe08ffbeU, 0x95e4, 0x4be7, 0xbc, 0x73, 0x40, 0x96,	\
 		0x04, 0x4a, 0x38, 0xfc)
 
 /*
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 455a09b2dd..7290a979c6 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -93,7 +93,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         }
         break;
 
-    case 0x40000000 ... 0x400000ff:
+    case 0x40000000U ... 0x400000ffU:
         if ( is_viridian_domain(d) )
             return cpuid_viridian_leaves(v, leaf, subleaf, res);
 
@@ -103,10 +103,10 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
          * Intel reserve up until 0x4fffffff for hypervisor use.  AMD reserve
          * only until 0x400000ff, but we already use double that.
          */
-    case 0x40000100 ... 0x400001ff:
+    case 0x40000100U ... 0x400001ffU:
         return cpuid_hypervisor_leaves(v, leaf, subleaf, res);
 
-    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
+    case 0x80000000U ... 0x80000000U + CPUID_GUEST_NR_EXTD - 1:
         ASSERT((p->extd.max_leaf & 0xffff) < ARRAY_SIZE(p->extd.raw));
         if ( (leaf & 0xffff) > min_t(uint32_t, p->extd.max_leaf & 0xffff,
                                      ARRAY_SIZE(p->extd.raw) - 1) )
@@ -352,7 +352,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         }
         break;
 
-    case 0x80000001:
+    case 0x80000001U:
         /* SYSCALL is hidden outside of long mode on Intel. */
         if ( p->x86_vendor == X86_VENDOR_INTEL &&
              is_hvm_domain(d) && !hvm_long_mode_active(v) )
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 92f4cfe8bd..eebc54180b 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -740,16 +740,16 @@ static void __init efi_arch_handle_module(const struct file *file,
 
 static void __init efi_arch_cpu(void)
 {
-    uint32_t eax = cpuid_eax(0x80000000);
+    uint32_t eax = cpuid_eax(0x80000000U);
     uint32_t *caps = boot_cpu_data.x86_capability;
 
     boot_tsc_stamp = rdtsc();
 
     caps[FEATURESET_1c] = cpuid_ecx(1);
 
-    if ( (eax >> 16) == 0x8000 && eax > 0x80000000 )
+    if ( (eax >> 16) == 0x8000 && eax > 0x80000000U )
     {
-        caps[FEATURESET_e1d] = cpuid_edx(0x80000001);
+        caps[FEATURESET_e1d] = cpuid_edx(0x80000001U);
 
         /*
          * This check purposefully doesn't use cpu_has_nx because
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index c3771c2e39..0e8694c188 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -141,7 +141,7 @@ static int __init cf_check stub_selftest(void)
           .rax = 0x0123456789abcdef,
           .res.fields.trapnr = X86_EXC_GP },
         { .opc = { endbr64, 0x02, 0x04, 0x04, 0xc3 }, /* add (%rsp,%rax),%al */
-          .rax = 0xfedcba9876543210,
+          .rax = 0xfedcba9876543210UL,
           .res.fields.trapnr = X86_EXC_SS },
         { .opc = { endbr64, 0xcc, 0xc3, 0xc3, 0xc3 }, /* int3 */
           .res.fields.trapnr = X86_EXC_BP },
diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 20d266ffd5..eeb73e1aa5 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -129,7 +129,7 @@ int hvm_hypercall(struct cpu_user_regs *regs)
         break;
     }
 
-    if ( (eax & 0x80000000) && is_viridian_domain(currd) )
+    if ( (eax & 0x80000000U) && is_viridian_domain(currd) )
     {
         int ret;
 
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index 2145c531b6..eb4a455763 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -40,8 +40,8 @@
 #define SCI_IRQ 9
 
 /* We provide a 32-bit counter (must match the TMR_VAL_EXT bit in the FADT) */
-#define TMR_VAL_MASK  (0xffffffff)
-#define TMR_VAL_MSB   (0x80000000)
+#define TMR_VAL_MASK  (0xffffffffU)
+#define TMR_VAL_MSB   (0x80000000U)
 
 /* Dispatch SCIs based on the PM1a_STS and PM1a_EN registers */
 static void pmt_update_sci(PMTState *s)
diff --git a/xen/arch/x86/hvm/stdvga.c b/xen/arch/x86/hvm/stdvga.c
index 2586891863..36e66c6c79 100644
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -39,34 +39,35 @@
 
 #define PAT(x) (x)
 static const uint32_t mask16[16] = {
-    PAT(0x00000000),
-    PAT(0x000000ff),
-    PAT(0x0000ff00),
-    PAT(0x0000ffff),
-    PAT(0x00ff0000),
-    PAT(0x00ff00ff),
-    PAT(0x00ffff00),
-    PAT(0x00ffffff),
-    PAT(0xff000000),
-    PAT(0xff0000ff),
-    PAT(0xff00ff00),
-    PAT(0xff00ffff),
-    PAT(0xffff0000),
-    PAT(0xffff00ff),
-    PAT(0xffffff00),
-    PAT(0xffffffff),
+    PAT(0x00000000U),
+    PAT(0x000000ffU),
+    PAT(0x0000ff00U),
+    PAT(0x0000ffffU),
+    PAT(0x00ff0000U),
+    PAT(0x00ff00ffU),
+    PAT(0x00ffff00U),
+    PAT(0x00ffffffU),
+    PAT(0xff000000U),
+    PAT(0xff0000ffU),
+    PAT(0xff00ff00U),
+    PAT(0xff00ffffU),
+    PAT(0xffff0000U),
+    PAT(0xffff00ffU),
+    PAT(0xffffff00U),
+    PAT(0xffffffffU),
 };
 
 /* force some bits to zero */
 static const uint8_t sr_mask[8] = {
-    (uint8_t)~0xfc,
-    (uint8_t)~0xc2,
-    (uint8_t)~0xf0,
-    (uint8_t)~0xc0,
-    (uint8_t)~0xf1,
-    (uint8_t)~0xff,
-    (uint8_t)~0xff,
-    (uint8_t)~0x00,
+    (uint8_t)~0xf0, /* 0x00 */
+    (uint8_t)~0xf0, /* 0x01 */
+    (uint8_t)~0xf0, /* 0x02 */
+    (uint8_t)~0xe0, /* 0x03 */
+    (uint8_t)~0xfc, /* 0x04 */
+    (uint8_t)~0x84, /* 0x05 */
+    (uint8_t)~0xf0, /* 0x06 */
+    (uint8_t)~0xf0, /* 0x07 */
+    (uint8_t)~0x00, /* 0x08 */
 };
 
 static const uint8_t gr_mask[9] = {
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index c7ce82d064..a8e87c4446 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -237,7 +237,7 @@ bool_t vlapic_match_dest(
     case APIC_DEST_NOSHORT:
         if ( dest_mode )
             return vlapic_match_logical_addr(target, dest);
-        return (dest == _VLAPIC_ID(target, 0xffffffff)) ||
+        return (dest == _VLAPIC_ID(target, 0xffffffffU)) ||
                (dest == VLAPIC_ID(target));
 
     case APIC_DEST_SELF:
@@ -467,7 +467,7 @@ static bool_t is_multicast_dest(struct vlapic *vlapic, unsigned int short_hand,
         return short_hand != APIC_DEST_SELF;
 
     if ( vlapic_x2apic_mode(vlapic) )
-        return dest_mode ? hweight16(dest) > 1 : dest == 0xffffffff;
+        return dest_mode ? hweight16(dest) > 1 : dest == 0xffffffffU;
 
     if ( dest_mode )
         return hweight8(dest &
@@ -831,7 +831,7 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
         break;
 
     case APIC_ICR2:
-        vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000);
+        vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
         break;
 
     case APIC_LVTT:         /* LVT Timer Reg */
diff --git a/xen/arch/x86/include/asm/apicdef.h b/xen/arch/x86/include/asm/apicdef.h
index a261436993..8d1b0087d4 100644
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -8,7 +8,7 @@
  * Ingo Molnar <mingo@redhat.com>, 1999, 2000
  */
 
-#define		APIC_DEFAULT_PHYS_BASE	0xfee00000
+#define		APIC_DEFAULT_PHYS_BASE	0xfee00000U
  
 #define		APIC_ID		0x20
 #define			APIC_ID_MASK		(0xFFu<<24)
diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index fbc4bb3416..bbced338be 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -257,7 +257,7 @@ extern unsigned char boot_edid_info[128];
 #endif /* CONFIG_PV32 */
 
 #define MACH2PHYS_COMPAT_VIRT_START    HYPERVISOR_COMPAT_VIRT_START
-#define MACH2PHYS_COMPAT_VIRT_END      0xFFE00000
+#define MACH2PHYS_COMPAT_VIRT_END      0xFFE00000U
 #define MACH2PHYS_COMPAT_NR_ENTRIES(d) \
     ((MACH2PHYS_COMPAT_VIRT_END-MACH2PHYS_COMPAT_VIRT_START(d))>>2)
 
diff --git a/xen/arch/x86/include/asm/hpet.h b/xen/arch/x86/include/asm/hpet.h
index 9919f74730..c5e8e9c8db 100644
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -41,7 +41,7 @@
 #define HPET_TN_ROUTE		0x3e00
 #define HPET_TN_FSB		0x4000
 #define HPET_TN_FSB_CAP		0x8000
-#define HPET_TN_RESERVED	0xffff0081
+#define HPET_TN_RESERVED	0xffff0081U
 #define HPET_TN_INT_ROUTE_CAP	(0xffffffffULL << 32)
 
 
diff --git a/xen/arch/x86/include/asm/hvm/trace.h b/xen/arch/x86/include/asm/hvm/trace.h
index 696e42eb94..22eadbdd47 100644
--- a/xen/arch/x86/include/asm/hvm/trace.h
+++ b/xen/arch/x86/include/asm/hvm/trace.h
@@ -58,7 +58,7 @@
 #define DO_TRC_HVM_VLAPIC           DEFAULT_HVM_MISC
 
 
-#define TRC_PAR_LONG(par) ((par)&0xFFFFFFFF),((par)>>32)
+#define TRC_PAR_LONG(par) ((uint32_t)(par)), ((par) >> 32)
 
 #define TRACE_2_LONG_2D(_e, d1, d2, ...) \
     TRACE_4D(_e, d1, d2)
@@ -93,7 +93,7 @@
     HVMTRACE_ND(evt, 0, 0)
 
 #define HVMTRACE_LONG_1D(evt, d1)                  \
-                   HVMTRACE_2D(evt ## 64, (d1) & 0xFFFFFFFF, (d1) >> 32)
+                   HVMTRACE_2D(evt ## 64, (uint32_t)(d1), (d1) >> 32)
 #define HVMTRACE_LONG_2D(evt, d1, d2, ...)              \
                    HVMTRACE_3D(evt ## 64, d1, d2)
 #define HVMTRACE_LONG_3D(evt, d1, d2, d3, ...)      \
diff --git a/xen/arch/x86/include/asm/hvm/vioapic.h b/xen/arch/x86/include/asm/hvm/vioapic.h
index 2944ec20dd..68af6dce79 100644
--- a/xen/arch/x86/include/asm/hvm/vioapic.h
+++ b/xen/arch/x86/include/asm/hvm/vioapic.h
@@ -32,7 +32,7 @@
 #define VIOAPIC_EDGE_TRIG  0
 #define VIOAPIC_LEVEL_TRIG 1
 
-#define VIOAPIC_DEFAULT_BASE_ADDRESS  0xfec00000
+#define VIOAPIC_DEFAULT_BASE_ADDRESS  0xfec00000U
 #define VIOAPIC_MEM_LENGTH            0x100
 
 /* Direct registers. */
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index a53ade95c9..d89723d009 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -37,7 +37,7 @@
  */
 
 #define MSI_ADDR_BASE_HI            0
-#define MSI_ADDR_BASE_LO            0xfee00000
+#define MSI_ADDR_BASE_LO            0xfee00000U
 #define MSI_ADDR_BASE_MASK          (~0xfffff)
 #define MSI_ADDR_HEADER             MSI_ADDR_BASE_LO
 
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 11ffed543a..718f8f860d 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -22,7 +22,7 @@
 #define  APIC_BASE_BSP                      (_AC(1, ULL) <<  8)
 #define  APIC_BASE_EXTD                     (_AC(1, ULL) << 10)
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
-#define  APIC_BASE_ADDR_MASK                0x000ffffffffff000ULL
+#define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
 #define MSR_TEST_CTRL                       0x00000033
 #define  TEST_CTRL_SPLITLOCK_DETECT         (_AC(1, ULL) << 29)
@@ -30,7 +30,7 @@
 
 #define MSR_INTEL_CORE_THREAD_COUNT         0x00000035
 #define  MSR_CTC_THREAD_MASK                0x0000ffff
-#define  MSR_CTC_CORE_MASK                  0xffff0000
+#define  MSR_CTC_CORE_MASK                  _AC(0xffff0000, U)
 
 #define MSR_SPEC_CTRL                       0x00000048
 #define  SPEC_CTRL_IBRS                     (_AC(1, ULL) <<  0)
@@ -186,7 +186,7 @@
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
-#define MSR_EFER                            0xc0000080 /* Extended Feature Enable Register */
+#define MSR_EFER                            _AC(0xc0000080, U) /* Extended Feature Enable Register */
 #define  EFER_SCE                           (_AC(1, ULL) <<  0) /* SYSCALL Enable */
 #define  EFER_LME                           (_AC(1, ULL) <<  8) /* Long Mode Enable */
 #define  EFER_LMA                           (_AC(1, ULL) << 10) /* Long Mode Active */
@@ -199,35 +199,35 @@
     (EFER_SCE | EFER_LME | EFER_LMA | EFER_NXE | EFER_SVME | EFER_FFXSE | \
      EFER_AIBRSE)
 
-#define MSR_STAR                            0xc0000081 /* legacy mode SYSCALL target */
-#define MSR_LSTAR                           0xc0000082 /* long mode SYSCALL target */
-#define MSR_CSTAR                           0xc0000083 /* compat mode SYSCALL target */
-#define MSR_SYSCALL_MASK                    0xc0000084 /* EFLAGS mask for syscall */
-#define MSR_FS_BASE                         0xc0000100 /* 64bit FS base */
-#define MSR_GS_BASE                         0xc0000101 /* 64bit GS base */
-#define MSR_SHADOW_GS_BASE                  0xc0000102 /* SwapGS GS shadow */
-#define MSR_TSC_AUX                         0xc0000103 /* Auxiliary TSC */
+#define MSR_STAR                            _AC(0xc0000081, U) /* legacy mode SYSCALL target */
+#define MSR_LSTAR                           _AC(0xc0000082, U) /* long mode SYSCALL target */
+#define MSR_CSTAR                           _AC(0xc0000083, U) /* compat mode SYSCALL target */
+#define MSR_SYSCALL_MASK                    _AC(0xc0000084, U) /* EFLAGS mask for syscall */
+#define MSR_FS_BASE                         _AC(0xc0000100, U) /* 64bit FS base */
+#define MSR_GS_BASE                         _AC(0xc0000101, U) /* 64bit GS base */
+#define MSR_SHADOW_GS_BASE                  _AC(0xc0000102, U) /* SwapGS GS shadow */
+#define MSR_TSC_AUX                         _AC(0xc0000103, U) /* Auxiliary TSC */
 
-#define MSR_K8_SYSCFG                       0xc0010010
+#define MSR_K8_SYSCFG                       _AC(0xc0010010, U)
 #define  SYSCFG_MTRR_FIX_DRAM_EN            (_AC(1, ULL) << 18)
 #define  SYSCFG_MTRR_FIX_DRAM_MOD_EN        (_AC(1, ULL) << 19)
 #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 MSR_K8_IORR_BASE0                   0xc0010016
-#define MSR_K8_IORR_MASK0                   0xc0010017
-#define MSR_K8_IORR_BASE1                   0xc0010018
-#define MSR_K8_IORR_MASK1                   0xc0010019
+#define MSR_K8_IORR_BASE0                   _AC(0xc0010016, U)
+#define MSR_K8_IORR_MASK0                   _AC(0xc0010017, U)
+#define MSR_K8_IORR_BASE1                   _AC(0xc0010018, U)
+#define MSR_K8_IORR_MASK1                   _AC(0xc0010019, U)
 
-#define MSR_K8_TSEG_BASE                    0xc0010112 /* AMD doc: SMMAddr */
-#define MSR_K8_TSEG_MASK                    0xc0010113 /* AMD doc: SMMMask */
+#define MSR_K8_TSEG_BASE                    _AC(0xc0010112, U) /* AMD doc: SMMAddr */
+#define MSR_K8_TSEG_MASK                    _AC(0xc0010113, U) /* AMD doc: SMMMask */
 
-#define MSR_K8_VM_CR                        0xc0010114
+#define MSR_K8_VM_CR                        _AC(0xc0010114, U)
 #define  VM_CR_INIT_REDIRECTION             (_AC(1, ULL) <<  1)
 #define  VM_CR_SVM_DISABLE                  (_AC(1, ULL) <<  4)
 
-#define MSR_VIRT_SPEC_CTRL                  0xc001011f /* Layout matches MSR_SPEC_CTRL */
+#define MSR_VIRT_SPEC_CTRL                  _AC(0xc001011f, U) /* Layout matches MSR_SPEC_CTRL */
 
 #define MSR_AMD_CSTATE_CFG                  0xc0010296
 
@@ -313,7 +313,7 @@
 #define CMCI_EN 			(1UL<<30)
 #define CMCI_THRESHOLD_MASK		0x7FFF
 
-#define MSR_AMD64_MC0_MASK		0xc0010044
+#define MSR_AMD64_MC0_MASK		0xc0010044U
 
 #define MSR_IA32_MCx_CTL(x)		(MSR_IA32_MC0_CTL + 4*(x))
 #define MSR_IA32_MCx_STATUS(x)		(MSR_IA32_MC0_STATUS + 4*(x))
@@ -345,82 +345,82 @@
 
 /* K7/K8 MSRs. Not complete. See the architecture manual for a more
    complete list. */
-#define MSR_K7_EVNTSEL0			0xc0010000
-#define MSR_K7_PERFCTR0			0xc0010004
-#define MSR_K7_EVNTSEL1			0xc0010001
-#define MSR_K7_PERFCTR1			0xc0010005
-#define MSR_K7_EVNTSEL2			0xc0010002
-#define MSR_K7_PERFCTR2			0xc0010006
-#define MSR_K7_EVNTSEL3			0xc0010003
-#define MSR_K7_PERFCTR3			0xc0010007
-#define MSR_K8_TOP_MEM1			0xc001001a
-#define MSR_K8_TOP_MEM2			0xc001001d
-
-#define MSR_K8_HWCR			0xc0010015
+#define MSR_K7_EVNTSEL0			0xc0010000U
+#define MSR_K7_PERFCTR0			0xc0010004U
+#define MSR_K7_EVNTSEL1			0xc0010001U
+#define MSR_K7_PERFCTR1			0xc0010005U
+#define MSR_K7_EVNTSEL2			0xc0010002U
+#define MSR_K7_PERFCTR2			0xc0010006U
+#define MSR_K7_EVNTSEL3			0xc0010003U
+#define MSR_K7_PERFCTR3			0xc0010007U
+#define MSR_K8_TOP_MEM1			0xc001001aU
+#define MSR_K8_TOP_MEM2			0xc001001dU
+
+#define MSR_K8_HWCR			0xc0010015U
 #define K8_HWCR_TSC_FREQ_SEL		(1ULL << 24)
 #define K8_HWCR_CPUID_USER_DIS		(1ULL << 35)
 
-#define MSR_K7_FID_VID_CTL		0xc0010041
-#define MSR_K7_FID_VID_STATUS		0xc0010042
-#define MSR_K8_PSTATE_LIMIT		0xc0010061
-#define MSR_K8_PSTATE_CTRL		0xc0010062
-#define MSR_K8_PSTATE_STATUS		0xc0010063
-#define MSR_K8_PSTATE0			0xc0010064
-#define MSR_K8_PSTATE1			0xc0010065
-#define MSR_K8_PSTATE2			0xc0010066
-#define MSR_K8_PSTATE3			0xc0010067
-#define MSR_K8_PSTATE4			0xc0010068
-#define MSR_K8_PSTATE5			0xc0010069
-#define MSR_K8_PSTATE6			0xc001006A
-#define MSR_K8_PSTATE7			0xc001006B
-#define MSR_K8_ENABLE_C1E		0xc0010055
-#define MSR_K8_VM_HSAVE_PA		0xc0010117
-
-#define MSR_AMD_FAM15H_EVNTSEL0		0xc0010200
-#define MSR_AMD_FAM15H_PERFCTR0		0xc0010201
-#define MSR_AMD_FAM15H_EVNTSEL1		0xc0010202
-#define MSR_AMD_FAM15H_PERFCTR1		0xc0010203
-#define MSR_AMD_FAM15H_EVNTSEL2		0xc0010204
-#define MSR_AMD_FAM15H_PERFCTR2		0xc0010205
-#define MSR_AMD_FAM15H_EVNTSEL3		0xc0010206
-#define MSR_AMD_FAM15H_PERFCTR3		0xc0010207
-#define MSR_AMD_FAM15H_EVNTSEL4		0xc0010208
-#define MSR_AMD_FAM15H_PERFCTR4		0xc0010209
-#define MSR_AMD_FAM15H_EVNTSEL5		0xc001020a
-#define MSR_AMD_FAM15H_PERFCTR5		0xc001020b
-
-#define MSR_AMD_L7S0_FEATURE_MASK	0xc0011002
-#define MSR_AMD_THRM_FEATURE_MASK	0xc0011003
-#define MSR_K8_FEATURE_MASK		0xc0011004
-#define MSR_K8_EXT_FEATURE_MASK		0xc0011005
+#define MSR_K7_FID_VID_CTL		0xc0010041U
+#define MSR_K7_FID_VID_STATUS		0xc0010042U
+#define MSR_K8_PSTATE_LIMIT		0xc0010061U
+#define MSR_K8_PSTATE_CTRL		0xc0010062U
+#define MSR_K8_PSTATE_STATUS		0xc0010063U
+#define MSR_K8_PSTATE0			0xc0010064U
+#define MSR_K8_PSTATE1			0xc0010065U
+#define MSR_K8_PSTATE2			0xc0010066U
+#define MSR_K8_PSTATE3			0xc0010067U
+#define MSR_K8_PSTATE4			0xc0010068U
+#define MSR_K8_PSTATE5			0xc0010069U
+#define MSR_K8_PSTATE6			0xc001006AU
+#define MSR_K8_PSTATE7			0xc001006BU
+#define MSR_K8_ENABLE_C1E		0xc0010055U
+#define MSR_K8_VM_HSAVE_PA		0xc0010117U
+
+#define MSR_AMD_FAM15H_EVNTSEL0		0xc0010200U
+#define MSR_AMD_FAM15H_PERFCTR0		0xc0010201U
+#define MSR_AMD_FAM15H_EVNTSEL1		0xc0010202U
+#define MSR_AMD_FAM15H_PERFCTR1		0xc0010203U
+#define MSR_AMD_FAM15H_EVNTSEL2		0xc0010204U
+#define MSR_AMD_FAM15H_PERFCTR2		0xc0010205U
+#define MSR_AMD_FAM15H_EVNTSEL3		0xc0010206U
+#define MSR_AMD_FAM15H_PERFCTR3		0xc0010207U
+#define MSR_AMD_FAM15H_EVNTSEL4		0xc0010208U
+#define MSR_AMD_FAM15H_PERFCTR4		0xc0010209U
+#define MSR_AMD_FAM15H_EVNTSEL5		0xc001020aU
+#define MSR_AMD_FAM15H_PERFCTR5		0xc001020bU
+
+#define MSR_AMD_L7S0_FEATURE_MASK	0xc0011002U
+#define MSR_AMD_THRM_FEATURE_MASK	0xc0011003U
+#define MSR_K8_FEATURE_MASK			0xc0011004U
+#define MSR_K8_EXT_FEATURE_MASK		0xc0011005U
 
 /* AMD64 MSRs */
-#define MSR_AMD64_NB_CFG		0xc001001f
+#define MSR_AMD64_NB_CFG		0xc001001fU
 #define AMD64_NB_CFG_CF8_EXT_ENABLE_BIT	46
-#define MSR_AMD64_LS_CFG		0xc0011020
-#define MSR_AMD64_IC_CFG		0xc0011021
-#define MSR_AMD64_DC_CFG		0xc0011022
-#define MSR_AMD64_DE_CFG		0xc0011029
+#define MSR_AMD64_LS_CFG		0xc0011020U
+#define MSR_AMD64_IC_CFG		0xc0011021U
+#define MSR_AMD64_DC_CFG		0xc0011022U
+#define MSR_AMD64_DE_CFG		0xc0011029U
 #define AMD64_DE_CFG_LFENCE_SERIALISE	(_AC(1, ULL) << 1)
-#define MSR_AMD64_EX_CFG		0xc001102c
-#define MSR_AMD64_DE_CFG2		0xc00110e3
+#define MSR_AMD64_EX_CFG		0xc001102cU
+#define MSR_AMD64_DE_CFG2		0xc00110e3U
 
-#define MSR_AMD64_DR0_ADDRESS_MASK	0xc0011027
-#define MSR_AMD64_DR1_ADDRESS_MASK	0xc0011019
-#define MSR_AMD64_DR2_ADDRESS_MASK	0xc001101a
-#define MSR_AMD64_DR3_ADDRESS_MASK	0xc001101b
+#define MSR_AMD64_DR0_ADDRESS_MASK	0xc0011027U
+#define MSR_AMD64_DR1_ADDRESS_MASK	0xc0011019U
+#define MSR_AMD64_DR2_ADDRESS_MASK	0xc001101aU
+#define MSR_AMD64_DR3_ADDRESS_MASK	0xc001101bU
 
 /* AMD Family10h machine check MSRs */
-#define MSR_F10_MC4_MISC1		0xc0000408
-#define MSR_F10_MC4_MISC2		0xc0000409
-#define MSR_F10_MC4_MISC3		0xc000040A
+#define MSR_F10_MC4_MISC1		0xc0000408U
+#define MSR_F10_MC4_MISC2		0xc0000409U
+#define MSR_F10_MC4_MISC3		0xc000040AU
 
 /* AMD Family10h Bus Unit MSRs */
-#define MSR_F10_BU_CFG 		0xc0011023
-#define MSR_F10_BU_CFG2		0xc001102a
+#define MSR_F10_BU_CFG 		0xc0011023U
+#define MSR_F10_BU_CFG2		0xc001102aU
 
 /* Other AMD Fam10h MSRs */
-#define MSR_FAM10H_MMIO_CONF_BASE	0xc0010058
+#define MSR_FAM10H_MMIO_CONF_BASE	0xc0010058U
 #define FAM10H_MMIO_CONF_ENABLE         (1<<0)
 #define FAM10H_MMIO_CONF_BUSRANGE_MASK	0xf
 #define FAM10H_MMIO_CONF_BUSRANGE_SHIFT 2
@@ -429,22 +429,22 @@
 
 /* AMD Microcode MSRs */
 #define MSR_AMD_PATCHLEVEL		0x0000008b
-#define MSR_AMD_PATCHLOADER		0xc0010020
+#define MSR_AMD_PATCHLOADER		0xc0010020U
 
 /* AMD TSC RATE MSR */
-#define MSR_AMD64_TSC_RATIO		0xc0000104
+#define MSR_AMD64_TSC_RATIO		0xc0000104U
 
 /* AMD Lightweight Profiling MSRs */
-#define MSR_AMD64_LWP_CFG		0xc0000105
-#define MSR_AMD64_LWP_CBADDR		0xc0000106
+#define MSR_AMD64_LWP_CFG		0xc0000105U
+#define MSR_AMD64_LWP_CBADDR		0xc0000106U
 
 /* AMD OS Visible Workaround MSRs */
-#define MSR_AMD_OSVW_ID_LENGTH          0xc0010140
-#define MSR_AMD_OSVW_STATUS             0xc0010141
+#define MSR_AMD_OSVW_ID_LENGTH          0xc0010140U
+#define MSR_AMD_OSVW_STATUS             0xc0010141U
 
 /* AMD Protected Processor Inventory Number */
-#define MSR_AMD_PPIN_CTL                0xc00102f0
-#define MSR_AMD_PPIN                    0xc00102f1
+#define MSR_AMD_PPIN_CTL                0xc00102f0U
+#define MSR_AMD_PPIN                    0xc00102f1U
 
 /* VIA Cyrix defined MSRs*/
 #define MSR_VIA_FCR			0x00001107
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index f4a58c8acf..e1dd12eb19 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -3,10 +3,10 @@
 
 #include <xen/mm.h>
 
-#define CF8_BDF(cf8)     (  ((cf8) & 0x00ffff00) >> 8)
-#define CF8_ADDR_LO(cf8) (   (cf8) & 0x000000fc)
-#define CF8_ADDR_HI(cf8) (  ((cf8) & 0x0f000000) >> 16)
-#define CF8_ENABLED(cf8) (!!((cf8) & 0x80000000))
+#define CF8_BDF(cf8)     (  ((cf8) & 0x00ffff00U) >> 8)
+#define CF8_ADDR_LO(cf8) (   (cf8) & 0x000000fcU)
+#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 \
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index e350227e57..6c1aff948c 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -30,17 +30,17 @@
 /*
  * Intel CPU flags in CR0
  */
-#define X86_CR0_PE              0x00000001 /* Enable Protected Mode    (RW) */
-#define X86_CR0_MP              0x00000002 /* Monitor Coprocessor      (RW) */
-#define X86_CR0_EM              0x00000004 /* Require FPU Emulation    (RO) */
-#define X86_CR0_TS              0x00000008 /* Task Switched            (RW) */
-#define X86_CR0_ET              0x00000010 /* Extension type           (RO) */
-#define X86_CR0_NE              0x00000020 /* Numeric Error Reporting  (RW) */
-#define X86_CR0_WP              0x00010000 /* Supervisor Write Protect (RW) */
-#define X86_CR0_AM              0x00040000 /* Alignment Checking       (RW) */
-#define X86_CR0_NW              0x20000000 /* Not Write-Through        (RW) */
-#define X86_CR0_CD              0x40000000 /* Cache Disable            (RW) */
-#define X86_CR0_PG              0x80000000 /* Paging                   (RW) */
+#define X86_CR0_PE              _AC(0x00000001, U) /* Enable Protected Mode    (RW) */
+#define X86_CR0_MP              _AC(0x00000002, U) /* Monitor Coprocessor      (RW) */
+#define X86_CR0_EM              _AC(0x00000004, U) /* Require FPU Emulation    (RO) */
+#define X86_CR0_TS              _AC(0x00000008, U) /* Task Switched            (RW) */
+#define X86_CR0_ET              _AC(0x00000010, U) /* Extension type           (RO) */
+#define X86_CR0_NE              _AC(0x00000020, U) /* Numeric Error Reporting  (RW) */
+#define X86_CR0_WP              _AC(0x00010000, U) /* Supervisor Write Protect (RW) */
+#define X86_CR0_AM              _AC(0x00040000, U) /* Alignment Checking       (RW) */
+#define X86_CR0_NW              _AC(0x20000000, U) /* Not Write-Through        (RW) */
+#define X86_CR0_CD              _AC(0x40000000, U) /* Cache Disable            (RW) */
+#define X86_CR0_PG              _AC(0x80000000, U) /* Paging                   (RW) */
 
 /*
  * Intel CPU flags in CR3
@@ -103,7 +103,7 @@
 /*
  * Debug status flags in DR6.
  */
-#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
+#define X86_DR6_DEFAULT         0xffff0ff0UL  /* Default %dr6 value. */
 
 /*
  * Debug control flags in DR7.
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
index 288050cdba..1ebeb65ad6 100644
--- a/xen/arch/x86/percpu.c
+++ b/xen/arch/x86/percpu.c
@@ -12,7 +12,7 @@ unsigned long __per_cpu_offset[NR_CPUS];
  * possible #PF at (NULL + a little) which has security implications in the
  * context of PV guests.
  */
-#define INVALID_PERCPU_AREA (0x8000000000000000L - (long)__per_cpu_start)
+#define INVALID_PERCPU_AREA (0x8000000000000000UL - (long)__per_cpu_start)
 #define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
 
 void __init percpu_init_areas(void)
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 4c01813c4b..0b9631ac44 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -191,7 +191,7 @@ static struct feat_node *feat_l2_cat;
 static struct feat_node *feat_mba;
 
 /* Common functions */
-#define cat_default_val(len) (0xffffffff >> (32 - (len)))
+#define cat_default_val(len) (0xffffffffU >> (32 - (len)))
 
 /*
  * get_cdp_data - get DATA COS register value from input COS ID.
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 9b8fdb5303..a3dec42f22 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -402,10 +402,10 @@ static void __init print_details(enum ind_thunk thunk)
         cpuid_count(7, 0, &max, &tmp, &tmp, &_7d0);
     if ( max >= 2 )
         cpuid_count(7, 2, &tmp, &tmp, &tmp, &_7d2);
-    if ( boot_cpu_data.extended_cpuid_level >= 0x80000008 )
-        cpuid(0x80000008, &tmp, &e8b, &tmp, &tmp);
-    if ( boot_cpu_data.extended_cpuid_level >= 0x80000021 )
-        cpuid(0x80000021, &e21a, &tmp, &tmp, &tmp);
+    if ( boot_cpu_data.extended_cpuid_level >= 0x80000008U )
+        cpuid(0x80000008U, &tmp, &e8b, &tmp, &tmp);
+    if ( boot_cpu_data.extended_cpuid_level >= 0x80000021U )
+        cpuid(0x80000021U, &e21a, &tmp, &tmp, &tmp);
     if ( cpu_has_arch_caps )
         rdmsrl(MSR_ARCH_CAPABILITIES, caps);
 
@@ -1568,8 +1568,8 @@ void __init init_speculation_mitigations(void)
          * TODO: Adjust cpu_has_svm_spec_ctrl to be usable earlier on boot.
          */
         if ( opt_msr_sc_hvm &&
-             (boot_cpu_data.extended_cpuid_level >= 0x8000000a) &&
-             (cpuid_edx(0x8000000a) & (1u << SVM_FEATURE_SPEC_CTRL)) )
+             (boot_cpu_data.extended_cpuid_level >= 0x8000000aU) &&
+             (cpuid_edx(0x8000000aU) & (1u << SVM_FEATURE_SPEC_CTRL)) )
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
     }
 
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)
 {
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 698750267a..d92be69d84 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))
 /*
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 2006cbaa1c..eb7698dc73 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -217,10 +217,10 @@ void x86_cpu_policy_fill_native(struct cpu_policy *p)
     }
 
     /* Extended leaves. */
-    cpuid_leaf(0x80000000, &p->extd.raw[0]);
+    cpuid_leaf(0x80000000U, &p->extd.raw[0]);
     for ( i = 1; i <= MIN(p->extd.max_leaf & 0xffffU,
                           ARRAY_SIZE(p->extd.raw) - 1); ++i )
-        cpuid_leaf(0x80000000 + i, &p->extd.raw[i]);
+        cpuid_leaf(0x80000000U + i, &p->extd.raw[i]);
 
     /* Don't report leaves from possible lower level hypervisor, for now. */
     p->hv_limit = 0;
@@ -421,7 +421,7 @@ int x86_cpuid_copy_to_buffer(const struct cpu_policy *p,
     /* Extended leaves. */
     for ( leaf = 0; leaf <= MIN(p->extd.max_leaf & 0xffffUL,
                                 ARRAY_SIZE(p->extd.raw) - 1); ++leaf )
-        COPY_LEAF(0x80000000 | leaf, XEN_CPUID_NO_SUBLEAF, &p->extd.raw[leaf]);
+        COPY_LEAF(0x80000000U | leaf, XEN_CPUID_NO_SUBLEAF, &p->extd.raw[leaf]);
 
 #undef COPY_LEAF
 
@@ -521,7 +521,7 @@ int x86_cpuid_copy_from_buffer(struct cpu_policy *p,
             p->hv2_limit = l.a;
             break;
 
-        case 0x80000000 ... 0x80000000 + ARRAY_SIZE(p->extd.raw) - 1:
+        case 0x80000000U ... 0x80000000U + ARRAY_SIZE(p->extd.raw) - 1:
             if ( data.subleaf != XEN_CPUID_NO_SUBLEAF )
                 goto out_of_range;
 
diff --git a/xen/lib/x86/policy.c b/xen/lib/x86/policy.c
index a9c60000af..f033d22785 100644
--- a/xen/lib/x86/policy.c
+++ b/xen/lib/x86/policy.c
@@ -22,7 +22,7 @@ int x86_cpu_policies_are_compatible(const struct cpu_policy *host,
         FAIL_CPUID(7, 0);
 
     if ( guest->extd.max_leaf > host->extd.max_leaf )
-        FAIL_CPUID(0x80000000, NA);
+        FAIL_CPUID(0x80000000U, NA);
 
     /* TODO: Audit more CPUID data. */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 11:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 11:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591485.923901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaa5d-0004EJ-IS; Mon, 28 Aug 2023 11:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591485.923901; Mon, 28 Aug 2023 11: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 1qaa5d-0004EC-ER; Mon, 28 Aug 2023 11:07:25 +0000
Received: by outflank-mailman (input) for mailman id 591485;
 Mon, 28 Aug 2023 11:07: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 1qaa5b-0004E1-Kc; Mon, 28 Aug 2023 11:07: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 1qaa5b-0007N3-CQ; Mon, 28 Aug 2023 11:07: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 1qaa5b-000403-23; Mon, 28 Aug 2023 11:07:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaa5b-0006Em-1d; Mon, 28 Aug 2023 11:07: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=G8xda19xK5C6BqFQNa4hplqrrfTlzEXSkYbuRXMmWUw=; b=a7ongHggTYIjtrl4cpe2wB8j2c
	o/REYRLGmnkBt8vpbIh0R0X3yva3fxSCb5b7AL4tdgwgkWGtXbaQzvciEDrMj77Thfy3XFpZIGvjO
	CLM+G65ZQoqnOkiDelZnoIPW+9Xni+gKcSeaqVixwfWBtbRLELs9INFGsAqZgWYcUEEU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182538-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182538: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=92006e5804a4adff05556a97a951fd7766a1d79f
X-Osstest-Versions-That:
    ovmf=819cfc6b42a68790a23509e4fcc58ceb70e1965e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 11:07:23 +0000

flight 182538 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182538/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 92006e5804a4adff05556a97a951fd7766a1d79f
baseline version:
 ovmf                 819cfc6b42a68790a23509e4fcc58ceb70e1965e

Last test of basis   182513  2023-08-25 01:57:27 Z    3 days
Testing same since   182534  2023-08-28 06:40:50 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  KasimX Liu <kasimx.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   819cfc6b42..92006e5804  92006e5804a4adff05556a97a951fd7766a1d79f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 12:42:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 12:42:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591510.923911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qabZ6-0006kJ-8g; Mon, 28 Aug 2023 12:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591510.923911; Mon, 28 Aug 2023 12:41:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qabZ6-0006kC-61; Mon, 28 Aug 2023 12:41:56 +0000
Received: by outflank-mailman (input) for mailman id 591510;
 Mon, 28 Aug 2023 12:41:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qabZ5-0006k6-FN
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 12:41:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42da1cea-45a0-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 14:41:51 +0200 (CEST)
Received: from [192.168.1.9] (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 244D94EE0738;
 Mon, 28 Aug 2023 14:41:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42da1cea-45a0-11ee-9b0c-b553b5be7939
Message-ID: <1aa50466-cad9-088d-a5d0-05396d866dbf@bugseng.com>
Date: Mon, 28 Aug 2023 14:41:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 00/13] xen: address violations of MISRA C:2012 Rule
 7.3
Content-Language: en-US
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>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <fd594b48-365e-0bee-aaa6-f413fc93267f@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <fd594b48-365e-0bee-aaa6-f413fc93267f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/08/23 10:15, Jan Beulich wrote:
> On 03.08.2023 12:22, Simone Ballarin wrote:
>> This series aims to address some violations ofMISRA C:2012 Rule 7.3:
>> "The lowercase character 'l' shall not be used in a literal suffix".
>>
>> This patch replaces "l" suffixes with "L", to comply with the rule.
>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>
>> Gianluca Luparini (13):
>>    AMD/IOMMU: address violations of MISRA C:2012 Rule 7.3
>>    x86/svm: address violations of MISRA C:2012 Rule 7.3
>>    xen/arm: address violations of MISRA C:2012 Rule 7.3
>>    x86/IOMMU: address violations of MISRA C:2012 Rule 7.3
>>    xen/ioreq: address violations of MISRA C:2012 Rule 7.3
>>    xen/mem_access: address violations of MISRA C:2012 Rule 7.3
>>    xen/vpci: address violations of MISRA C:2012 Rule 7.3
>>    xen/hvm: address violations of MISRA C:2012 Rule 7.3
>>    x86/mm: address violations of MISRA C:2012 Rule 7.3
>>    x86/viridian: address violations of MISRA C:2012 Rule 7.3
>>    xen/x86: address violations of MISRA C:2012 Rule 7.3
>>    xen/common: address violations of MISRA C:2012 Rule 7.3
>>    xen: address violations of MISRA C:2012 Rule 7.3
> 
> Since about half the patches are still pending due to missing acks,
> just to mention it: It's normally the submitter who is to chase them.
> 
> Jan
> 

This is the list of the pending patches:
- 10/13 x86/viridian: address violations of MISRA C:2012 Rule 7.3
- 08/13 xen/hvm: address violations of MISRA C:2012 Rule 7.3
- 05/13 xen/ioreq: address violations of MISRA C:2012 Rule 7.3

The maintainer for that files are Paul Durrant and Wei Liu.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 13:33:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 13:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591526.923921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qacMg-00044h-Bq; Mon, 28 Aug 2023 13:33:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591526.923921; Mon, 28 Aug 2023 13:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qacMg-00044a-7t; Mon, 28 Aug 2023 13:33:10 +0000
Received: by outflank-mailman (input) for mailman id 591526;
 Mon, 28 Aug 2023 13:33: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=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qacMe-00044U-E2
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:33:08 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe13::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c0b9482-45a7-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:33:07 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8609.eurprd04.prod.outlook.com (2603:10a6:20b:424::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 13:33:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 13:33: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: 6c0b9482-45a7-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EB9XN8ntfqJ+tSrZZEjSakRKOMxF+4YEDFP7/3LecWqCXChNKzhRelX62NkExnp0bG49AiuxqGEJKs8p3kZHS0XTLYAsfYSqbnyPw5myA2tvXPs1c42L2IIJL/wJcb8myCcXaVcFFeuq8NPRozF845TFf5RwXRl2tfvYXkrzd12liGQew6JKC0zSl2ctmv1IDCS1v3eYYexp9W1iJHBwoJ4y3+XNGItc55hR3/Rr2FLO86PAQrR509MctWgSEnVq70r9nVGAZsfZ/PMm8kHsdAA9N2KhCV3LDNfIY1/Rtng08r8B9clGarQMNDOlbA9YHAdNFfAmw/cXFLjatjNqFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P8Ffg7uF2AeIb+zrm9PCa0hMtNsBaI8A4cPGIgk5UHQ=;
 b=jvSLxKqGb98jwQbHKqFPRaAJr3KN8Zu4ECbQZ71EAReL6qHyNJoET0wyRdG1kEqInpFC19LQqIi9ivir0yipcfaCyrA2rx3VrioT/NuD1LQsdFr87HpCH/T1P801TE72im02mLPKy7/KZsx9cPZygM04VhL/lVPpDACX2esXsBaQwLQwr6N6uwsipi6qkG1O2zKrOzRkYnKN43U/T7YNj4Ki03ijqq7cuCiUytjsgrEv47/KlSiKtyQg28kape2Y56f9l3i9Av102MjAAbheYEUDVAt41+ZBG0AG8JaTXEHxZszhUghWFotZHEUngNz7397pUijbEo3r8s++B9K6Aw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P8Ffg7uF2AeIb+zrm9PCa0hMtNsBaI8A4cPGIgk5UHQ=;
 b=B53h1ngBTnlPQAQbdG5fR2MYp6PyGVGVBRRhXtaZYhYkDr6MOVC1hEvJK+gubsqkttjlER6VPEdd/QTGEDOwHbPDffonM8vePvuf1JNrB2L9ZxJlkpAb4cN2mzv4tRFAiqW3s2G1O9Vb48xmJ7lya8suSHYHdP/1FxMKhee+Kq5n+hWJJ7qaNsQcbxN3BztopPnWLmCiFratPaHjxVIvFYM0Cu+UsSM4QlqPQdsipv7kWRjbLnS4AtZIZMhobj0b+cTRQ1pTmkwdsRAw7++AavJvnndrqc/txYNZ8Mu5Y2MveE0Utwso0NOsi75B9bwAev3/DB459Qx1gQeR/6y9Ig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f310eb6b-8f8b-246e-60c0-2eeb15168ca8@suse.com>
Date: Mon, 28 Aug 2023 15:33:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 00/13] xen: address violations of MISRA C:2012 Rule
 7.3
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org
References: <cover.1691053438.git.simone.ballarin@bugseng.com>
 <fd594b48-365e-0bee-aaa6-f413fc93267f@suse.com>
 <1aa50466-cad9-088d-a5d0-05396d866dbf@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1aa50466-cad9-088d-a5d0-05396d866dbf@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8609:EE_
X-MS-Office365-Filtering-Correlation-Id: 51e3d7e2-4c34-4f98-fcce-08dba7cb4f09
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xtgkvwKoUrIHrGA9geo0IC9F4IKf6+RYN36qPUTiHb5DRMxxvyDP5USdDkNStxr29Yc4bjwHcUYBspfdCVons/iXWAzaYpJNtz2pdXx0IYeRSzrssAapsBJLmKJilkTCR9AV/XajR+iQ3PCT0gWwTZCMjpYRMdL1dzcrCnQ2Xna4lBB8qpqdqsmkj4krQSqn+d3yZf2WSFgxx1VhulQYw6oDFyo8x0/haTjpe0wysmwEgOWto9w1r4MUMMfhV73hx+CuNXiNqtyO7jRGVlib8pd2NlMGh3ZJK3TGrlFAoTzARpJCgW6A5ERLwt8Fo0WcS3qdya5nXKtvE6QFgSbfnVxz5mP9+MhtZmT8J1HbDR7OInUImf61auUkPxb/3PY18g9CB0B9/Zs+PbDXlVKjnS1sB5luXnx3kUVOSYjQxHMB5TupSPkgiFz4ZfSKyHtxjDrjgSE1rRMc/sz7fP2WJJXUgHROWnDiOAouj5AAcTrJA4NQiqKC1oKjUJxquLw1cVGs50buS5nlOetbUOyFvUYFuY4NTghicmZIUwhj10hP0y379b6162IJFR/5cI3OSibEZTACgNopx2Lmekwza9hso5HNtfTzP/ibAn5pj0O8M2qSFySogQyBy92ekRyOzU5hmpZn7fsRAhif1T0ApQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(366004)(39860400002)(376002)(451199024)(1800799009)(186009)(83380400001)(478600001)(26005)(31686004)(2616005)(6486002)(53546011)(6506007)(6512007)(31696002)(86362001)(2906002)(316002)(38100700002)(4326008)(6916009)(8676002)(41300700001)(66476007)(8936002)(36756003)(66556008)(66946007)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0hWY1JGMCt1TFF3OUFBMFAzV1pHNTZ6SVZCa1lMb3l4cWttYjJPSXVZTThE?=
 =?utf-8?B?TjJBNTA1YVFta0Fza0NTeWlURHRLUXRPb0V1WU9tNjRNZURRWXAxSUZnaUk2?=
 =?utf-8?B?R3dkdTZMR0ZSKzk3S1RlVCtKR2tlcmVValRZcTJwUU12a3pHdUVMNEJFTmRl?=
 =?utf-8?B?Y0dFZ01LQmdPNVFYV0piVVpEOEZFRjA5WUNEZGVtTDV2bVN6eDF0OXNOTktv?=
 =?utf-8?B?MDdlajNhdStuQ2xZalZqcGVtUm9zWTZQeFFTbndoakErSXFSOEJFVXNQUy9P?=
 =?utf-8?B?WmRHTng4SlRRM1U0TzFlSld6VzVjRWs3dlZKM05QbklWMm5OekRNREFoSEx5?=
 =?utf-8?B?VGNzQWQxdnpEei9nTzh1ejVWRVZUbUNTQmxWSU9BemNEZVRqd0IyWUs5dnpI?=
 =?utf-8?B?MDhXRlJ5b0Z0eEFVb2RhSXZrakJSZlJVNmtOclFVTjlNRldzNk00TWVVR0px?=
 =?utf-8?B?NThkdFlPb2NoaU9MNVkxMmZJU2hWaEhDaXR1THdmakZUMFZxMmN0czNEZjJT?=
 =?utf-8?B?Zm90WDBETGhJdUZ1cUl0c3V1Z0RyOHJKelN3a0FsWGVpNHFjM3FuTlp2YVNO?=
 =?utf-8?B?NDFPbCtJdUMvNS92Mmw5ZnVqTjhoeUQ0cmpVTWNWRDg5NXlyKyt5bU9LdVVt?=
 =?utf-8?B?ZjlsM1lIK3hwK25qZGRJUlRVOVprN2hzZ1BxelU0a1M3MUZSV2FwbC8rM0ZJ?=
 =?utf-8?B?T0NTSnhvTjFzUDRIME1ISTUzdkluVnJuVnZ4UkNJK3k0WGJ0dk5xMisxc1M4?=
 =?utf-8?B?NnpvVUV5RzNoeFZiOHFtRU5Md044WUFKeHFnMjVtSG1JaEpXR3g4ejgzbkt1?=
 =?utf-8?B?cnhjK3RiSFJBdlNFcU4zSEd2SXl0MmYzcEhwWXBIZEEvcmpnUDFEMFNRRWxo?=
 =?utf-8?B?anVjK3FtNTBYM3RhYmdPNFUxV2FpVzI5Q3F3YzBndElnRjNEaFlYb2JBTE5E?=
 =?utf-8?B?Z1ZTRWUwamRiKytKcjN3ckgyNEEweExmbmVNamJkRDUzTmN2SnFTbHBOZUVN?=
 =?utf-8?B?L1grWHhPa3RocGRaU2VUbnFGT1BLR3BhdFNFZ3lZT2p1U3lBSUpKMHhNQllv?=
 =?utf-8?B?NjFueEdKSUNpNFFmcHBEbEpUOHQvd1RBZGVjcHdEdVVDZWpWTU1UdVJ3cnlk?=
 =?utf-8?B?TjFIUWdTdndvR1VXbERLZzQrZTFaQnhzV0tHaEd3VW9MNnY5bDc1a0s1RmdW?=
 =?utf-8?B?bjVSNHFYZDBrS1JnN1pMSnNldW0venJtOG1ZdHk1YW1QZnF0bEhHdjdkWTFI?=
 =?utf-8?B?cVhwUk5CWHVLbi9DVDJ5ejhVVVJBWDJNWmtmMmJ5SG9obDlPTEl0VVYxMDUw?=
 =?utf-8?B?a2F2Rnkvc3hUamVONHJPaDlwRUYvY3A5SGl2Nk5PeHJTOExVVmhXamhpYnBT?=
 =?utf-8?B?NXZTdG9IdEFjRkZoa3l4Z3VkTDNTdkQ0ekFEcm5teUliRzZDaFB0b2VGSGhj?=
 =?utf-8?B?ejhxK1I4MENFWlY5OHRIQS9WQ3JDaWlqU2pVN05jOHRzMksrVTBWVjVnV0pz?=
 =?utf-8?B?ZTlXbEZ0TGhRYjNaT1N6LzNKMGRENjhLRmt1b29BM1JEcE5oMW55RmM1anl4?=
 =?utf-8?B?QjlOaDVkenNIbzROa2RWenNrQ1M2TnNjamlONUlBZlRBS1c2Y2pnZXFDNS9J?=
 =?utf-8?B?VTZXRlBLKzgvbW42c2dqODVkTFVSNFFCSW92c3F5TlpmSmNCRDRsQlBKWFJE?=
 =?utf-8?B?YlUzUVJpNkduVnZ3SVhuZ3BQaHJ3dkt3b3lhWDhJZW1jS0pXdXV1ZUQ4N3dI?=
 =?utf-8?B?aTR1RnAxVW15UWYzaUlwdTlIUXltN0lzN2YxUjFBeTFxS1A0VGdPalBDMEox?=
 =?utf-8?B?VmRrMk1Yc0E0RUdWNk1hWGtld1ZFUE5xcXJzV0Vjenh0V2M5V0dMT3ZySnZM?=
 =?utf-8?B?RVhoNGJVbUpRdytuSFo2aHFGQ08yLzZKTVBKNWFkaGg1VGRjd1UzaFpSWVVX?=
 =?utf-8?B?bDcxME1YMWxSVVJ6N0QvM2M5YXpCdHhYVXcwZzBqZkJlTGNzYjVnOHgxclRE?=
 =?utf-8?B?YTg4UW9KSU81VFRMQjJYbEEwOHpJampybG8wcW4wTmJudmZiZUQxc2dkR1Rx?=
 =?utf-8?B?YldmdTFady8zTzFYN05tQ1ZST2YwNjhmSldoODIyTHBneDgzQkpSWFg5dVB4?=
 =?utf-8?Q?Gpr//bqN4YAmlWjtVYgawptuj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51e3d7e2-4c34-4f98-fcce-08dba7cb4f09
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 13:33:05.1510
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cHnFCo5k9xoBeMy2NlfrJ4p8trqCHrSrTwxArg3xyg2ztS37fKj1+OodTdHOdMwUQ/OsXzZTfZjmFJvYs7M4BA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8609

(reducing Cc list)

On 28.08.2023 14:41, Simone Ballarin wrote:
> On 23/08/23 10:15, Jan Beulich wrote:
>> On 03.08.2023 12:22, Simone Ballarin wrote:
>>> This series aims to address some violations ofMISRA C:2012 Rule 7.3:
>>> "The lowercase character 'l' shall not be used in a literal suffix".
>>>
>>> This patch replaces "l" suffixes with "L", to comply with the rule.
>>> If the "u" suffix is used near "L", use the "U" suffix instead, for consistency.
>>>
>>> Gianluca Luparini (13):
>>>    AMD/IOMMU: address violations of MISRA C:2012 Rule 7.3
>>>    x86/svm: address violations of MISRA C:2012 Rule 7.3
>>>    xen/arm: address violations of MISRA C:2012 Rule 7.3
>>>    x86/IOMMU: address violations of MISRA C:2012 Rule 7.3
>>>    xen/ioreq: address violations of MISRA C:2012 Rule 7.3
>>>    xen/mem_access: address violations of MISRA C:2012 Rule 7.3
>>>    xen/vpci: address violations of MISRA C:2012 Rule 7.3
>>>    xen/hvm: address violations of MISRA C:2012 Rule 7.3
>>>    x86/mm: address violations of MISRA C:2012 Rule 7.3
>>>    x86/viridian: address violations of MISRA C:2012 Rule 7.3
>>>    xen/x86: address violations of MISRA C:2012 Rule 7.3
>>>    xen/common: address violations of MISRA C:2012 Rule 7.3
>>>    xen: address violations of MISRA C:2012 Rule 7.3
>>
>> Since about half the patches are still pending due to missing acks,
>> just to mention it: It's normally the submitter who is to chase them.
> 
> This is the list of the pending patches:
> - 10/13 x86/viridian: address violations of MISRA C:2012 Rule 7.3
> - 08/13 xen/hvm: address violations of MISRA C:2012 Rule 7.3
> - 05/13 xen/ioreq: address violations of MISRA C:2012 Rule 7.3
> 
> The maintainer for that files are Paul Durrant and Wei Liu.

I'm aware of that, so it's unclear to me what you're trying to tell me.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591542.923931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qad98-0001YJ-Is; Mon, 28 Aug 2023 14:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591542.923931; Mon, 28 Aug 2023 14: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 1qad98-0001YC-Fi; Mon, 28 Aug 2023 14:23:14 +0000
Received: by outflank-mailman (input) for mailman id 591542;
 Mon, 28 Aug 2023 14:23: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=MuY7=EN=bombadil.srs.infradead.org=BATV+b83d16e5cd0c301f07e4+7309+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1qad96-0001Y6-Iv
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 14:23:13 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68e7df0a-45ae-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 16:23:10 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1qad8H-009hsP-1H; Mon, 28 Aug 2023 14:22:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68e7df0a-45ae-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=9E44iiUNdZH1ZPxuMNvAhOTWH2tumtFNFWSYch117Sg=; b=nSz5L3dUuVsvh674z9OKAS8bJp
	zYSu+GQXXg9k+ExZpIBbHRWqabXZwd02n9vS97tlwdx5M9rbbC+J+KEnpZl7StHzVI1lt44f9QJWZ
	RhCLKSbzGCi4P76AWaT4yrVyFudAE8f1mHvZ/9LKJK5CDCAoQ07psSi8X80pfTQ2D+AXZbR9MC8+S
	wR1nAR5ReTWrG92vtaPega/Mum3q/1hkkMbL2GzcSxnC+t33sPMa720/D25kUK/+Hg62OBp9KLF6I
	aTXMdhkDY6yJQndP4Hyxm4zXDD+MmNGYu1+zD8ZvsnvzkuVZZ62wZGz7/VRA0T/x0Dhn8TItnvE/O
	R0TRfFaA==;
Date: Mon, 28 Aug 2023 07:22:21 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Jan Kara <jack@suse.cz>
Cc: Al Viro <viro@zeniv.linux.org.uk>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org, Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <ZOytnQV0CH+vEIrr@infradead.org>
References: <20230810171429.31759-1-jack@suse.cz>
 <20230825015843.GB95084@ZenIV>
 <20230825134756.o3wpq6bogndukn53@quack3>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230825134756.o3wpq6bogndukn53@quack3>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Fri, Aug 25, 2023 at 03:47:56PM +0200, Jan Kara wrote:
> I can see the appeal of not having to introduce the new bdev_handle type
> and just using struct file which unifies in-kernel and userspace block
> device opens. But I can see downsides too - the last fput() happening from
> task work makes me a bit nervous whether it will not break something
> somewhere with exclusive bdev opens. Getting from struct file to bdev is
> somewhat harder but I guess a helper like F_BDEV() would solve that just
> fine.
> 
> So besides my last fput() worry about I think this could work and would be
> probably a bit nicer than what I have. But before going and redoing the whole
> series let me gather some more feedback so that we don't go back and forth.
> Christoph, Christian, Jens, any opinion?

I did think about the file a bit.  The fact that we'd need something
like an anon_file for the by_dev open was always a huge turn off for
me, but maybe my concern is overblown.  Having a struct file would
actually be really useful for a bunch of users.



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:28:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591549.923940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadDq-0002Ax-3U; Mon, 28 Aug 2023 14:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591549.923940; Mon, 28 Aug 2023 14: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 1qadDq-0002Aq-0w; Mon, 28 Aug 2023 14:28:06 +0000
Received: by outflank-mailman (input) for mailman id 591549;
 Mon, 28 Aug 2023 14:28: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=MuY7=EN=bombadil.srs.infradead.org=BATV+b83d16e5cd0c301f07e4+7309+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1qadDo-0002Ak-Fl
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 14:28:04 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17b7f2b0-45af-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 16:28:03 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1qadDM-009iIb-0l; Mon, 28 Aug 2023 14:27:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17b7f2b0-45af-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=uSnxqZdcrAYLPJPn0DfMY9X2iPdkTMayza8iox8Bem8=; b=rbTi8dih1WwPPGr+ioF2zSIKKN
	0mmMd7Mf6Y5CF6A3xbL6k1rG0Eq5PWNYD84YkTP/PYD6I8n7fwj9JtPf3x5xfflk7Of9PmT6yVoWg
	jDUfTlhnUqF1ibZ6C9C5Qp1FAcJBPSA1UYGVoKPgYhWBRS4hFyN/qulLfky0u5g5JfBjJuWo9rAVd
	OmVBPYeBaMmY44rW3+ehZ8vQr36snspggxlo5N+wQ2MnsZOlSw7LhANyJrm+6WDGYJ2q3IlcmhpsD
	alE6KXAxYfEVAogHtFQTNBnQoXb84wJ9x/IDWMwjf/34MizydIM1onWP9QQVyidEc4XNREZoED++f
	uj07NLVA==;
Date: Mon, 28 Aug 2023 07:27:36 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: Jan Kara <jack@suse.cz>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org, Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <ZOyu2FX7Fmzj6JJz@infradead.org>
References: <20230810171429.31759-1-jack@suse.cz>
 <20230825015843.GB95084@ZenIV>
 <20230825134756.o3wpq6bogndukn53@quack3>
 <20230826022852.GO3390869@ZenIV>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230826022852.GO3390869@ZenIV>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Sat, Aug 26, 2023 at 03:28:52AM +0100, Al Viro wrote:
> I mean, look at claim_swapfile() for example:
>                 p->bdev = blkdev_get_by_dev(inode->i_rdev,
>                                    FMODE_READ | FMODE_WRITE | FMODE_EXCL, p);
>                 if (IS_ERR(p->bdev)) {
>                         error = PTR_ERR(p->bdev);
>                         p->bdev = NULL;
>                         return error;
>                 }
>                 p->old_block_size = block_size(p->bdev);
>                 error = set_blocksize(p->bdev, PAGE_SIZE);
>                 if (error < 0)
>                         return error;
> we already have the file opened, and we keep it opened all the way until
> the swapoff(2); here we have noticed that it's a block device and we
> 	* open the fucker again (by device number), this time claiming
> it with our swap_info_struct as holder, to be closed at swapoff(2) time
> (just before we close the file)

Note that some drivers look at FMODE_EXCL/BLK_OPEN_EXCL in ->open.
These are probably bogus and maybe we want to kill them, but that will
need an audit first.

> BTW, what happens if two threads call ioctl(fd, BLKBSZSET, &n)
> for the same descriptor that happens to have been opened O_EXCL?
> Without O_EXCL they would've been unable to claim the sucker at the same
> time - the holder we are using is the address of a function argument,
> i.e. something that points to kernel stack of the caller.  Those would
> conflict and we either get set_blocksize() calls fully serialized, or
> one of the callers would eat -EBUSY.  Not so in "opened with O_EXCL"
> case - they can very well overlap and IIRC set_blocksize() does *not*
> expect that kind of crap...  It's all under CAP_SYS_ADMIN, so it's not
> as if it was a meaningful security hole anyway, but it does look fishy.

The user get to keep the pieces..  BLKBSZSET is kinda bogus anyway
as the soft blocksize only matters for buffer_head-like I/O, and
there only for file systems.  Not idea why anyone would set it manually.


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591521.923971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-0003yF-Kh; Mon, 28 Aug 2023 14:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591521.923971; Mon, 28 Aug 2023 14:30:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-0003wn-9q; Mon, 28 Aug 2023 14:30:10 +0000
Received: by outflank-mailman (input) for mailman id 591521;
 Mon, 28 Aug 2023 13: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAT-00031h-7K
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa5f419c-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:32 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id F391E4EE0C89;
 Mon, 28 Aug 2023 15:20: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: aa5f419c-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:06 +0200
Message-Id: <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Also C files, if included somewhere, need to comply with the guideline.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/compat/grant_table.c | 7 +++++++
 xen/common/coverage/gcc_4_7.c   | 5 +++++
 xen/common/decompress.h         | 5 +++++
 xen/common/event_channel.h      | 5 +++++
 xen/common/multicall.c          | 5 +++++
 5 files changed, 27 insertions(+)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index f8177c84c0..614ad71a59 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -3,6 +3,10 @@
  *
  */
 
+
+#ifndef __COMMON_COMPAT_GRANT_TABLE_C__
+#define __COMMON_COMPAT_GRANT_TABLE_C__
+
 #include <xen/hypercall.h>
 #include <compat/grant_table.h>
 
@@ -331,6 +335,9 @@ int compat_grant_table_op(
     return rc;
 }
 
+
+#endif /* __COMMON_COMPAT_GRANT_TABLE_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/common/coverage/gcc_4_7.c b/xen/common/coverage/gcc_4_7.c
index 25b4a8bcdc..12e4ec8cbb 100644
--- a/xen/common/coverage/gcc_4_7.c
+++ b/xen/common/coverage/gcc_4_7.c
@@ -14,6 +14,9 @@
  *    Wei Liu <wei.liu2@citrix.com>
  */
 
+#ifndef __COMMON_COVERAGE_GCC_4_7_C__
+#define __COMMON_COVERAGE_GCC_4_7_C__
+
 #include <xen/string.h>
 
 #include "gcov.h"
@@ -193,6 +196,8 @@ size_t gcov_info_to_gcda(char *buffer, const struct gcov_info *info)
     return pos;
 }
 
+#endif /* __COMMON_COVERAGE_GCC_4_7_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/common/decompress.h b/xen/common/decompress.h
index e8195b353a..da3c3abb6a 100644
--- a/xen/common/decompress.h
+++ b/xen/common/decompress.h
@@ -1,3 +1,6 @@
+#ifndef __COMMON_DECOMPRESS_H__
+#define __COMMON_DECOMPRESS_H__
+
 #ifdef __XEN__
 
 #include <xen/cache.h>
@@ -23,3 +26,5 @@
 #define large_free free
 
 #endif
+
+#endif /* __COMMON_DECOMPRESS_H__ */
diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
index 45219ca67c..040bad77f9 100644
--- a/xen/common/event_channel.h
+++ b/xen/common/event_channel.h
@@ -1,5 +1,8 @@
 /* Event channel handling private header. */
 
+#ifndef __COMMON_EVENT_CHANNEL_H__
+#define __COMMON_EVENT_CHANNEL_H__
+
 #include <xen/event.h>
 
 static inline unsigned int max_evtchns(const struct domain *d)
@@ -52,6 +55,8 @@ int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
 int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
 void evtchn_fifo_destroy(struct domain *d);
 
+#endif /* __COMMON_EVENT_CHANNEL_H__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 1f0cc4cb26..421bb25b70 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -2,6 +2,9 @@
  * multicall.c
  */
 
+#ifndef __COMMON_MULTICALL_C__
+#define __COMMON_MULTICALL_C__
+
 #include <xen/types.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
@@ -124,6 +127,8 @@ ret_t do_multicall(
         __HYPERVISOR_multicall, "hi", call_list, nr_calls-i);
 }
 
+#endif /* __COMMON_MULTICALL_C__ */
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591522.923975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-00047O-S7; Mon, 28 Aug 2023 14:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591522.923975; Mon, 28 Aug 2023 14:30:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-000439-LK; Mon, 28 Aug 2023 14:30:10 +0000
Received: by outflank-mailman (input) for mailman id 591522;
 Mon, 28 Aug 2023 13: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAT-00031h-Il
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa9d47fc-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:33 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8F0C04EE0C8A;
 Mon, 28 Aug 2023 15:20:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa9d47fc-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 10/13] xen/efi: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:07 +0200
Message-Id: <7726a38c4bf15a94b9bbcbc465bd499f94067ddc.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Also C files, if included somewhere, need to comply with the guideline.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/efi/efi.h     | 5 +++++
 xen/common/efi/runtime.c | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/xen/common/efi/efi.h b/xen/common/efi/efi.h
index c02fbb7b69..cef9381d30 100644
--- a/xen/common/efi/efi.h
+++ b/xen/common/efi/efi.h
@@ -1,3 +1,6 @@
+#ifndef __COMMON_EFI_EFI_H__
+#define __COMMON_EFI_EFI_H__
+
 #include <asm/efibind.h>
 #include <efi/efidef.h>
 #include <efi/efierr.h>
@@ -51,3 +54,5 @@ void free_ebmalloc_unused_mem(void);
 
 const void *pe_find_section(const void *image, const UINTN image_size,
                             const CHAR16 *section_name, UINTN *size_out);
+
+#endif /* __COMMON_EFI_EFI_H__ */
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 5cb7504c96..fb6fd17ba3 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -6,6 +6,10 @@
 #include <xen/irq.h>
 #include <xen/time.h>
 
+#ifndef __COMMON_EFI_RUNTIME_C__
+#define __COMMON_EFI_RUNTIME_C__
+
+
 DEFINE_XEN_GUEST_HANDLE(CHAR16);
 
 struct efi_rs_state {
@@ -704,3 +708,5 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
     return rc;
 }
 #endif
+
+#endif /* __COMMON_EFI_RUNTIME_C__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591520.923963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-0003rF-6J; Mon, 28 Aug 2023 14:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591520.923963; Mon, 28 Aug 2023 14:30:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFq-0003qL-1E; Mon, 28 Aug 2023 14:30:10 +0000
Received: by outflank-mailman (input) for mailman id 591520;
 Mon, 28 Aug 2023 13:20: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAS-00031h-1E
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9ab7628-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:31 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D3C664EE0C87;
 Mon, 28 Aug 2023 15:20:30 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9ab7628-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 07/13] x86/asm: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:04 +0200
Message-Id: <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add or move inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Inclusion guards must appear at the beginning of the headers
(comments are permitted anywhere).

The text of the beggining comment of cpufeatures.h has been changed
to match the deviation in automation/eclair_analysis/ECLAIR/deviations.ecl,
moreover this new formulation is already used in other files.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/include/asm/compat.h      | 5 +++++
 xen/arch/x86/include/asm/cpufeatures.h | 4 +---
 xen/arch/x86/include/asm/efibind.h     | 5 +++++
 xen/arch/x86/include/asm/hypercall.h   | 6 +++---
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/include/asm/compat.h b/xen/arch/x86/include/asm/compat.h
index 818cad87db..3d3891d061 100644
--- a/xen/arch/x86/include/asm/compat.h
+++ b/xen/arch/x86/include/asm/compat.h
@@ -2,6 +2,9 @@
  * compat.h
  */
 
+#ifndef __ASM_X86_COMPAT_H__
+#define __ASM_X86_COMPAT_H__
+
 #ifdef CONFIG_COMPAT
 
 #define COMPAT_BITS_PER_LONG 32
@@ -18,3 +21,5 @@ int switch_compat(struct domain *);
 #include <xen/errno.h>
 static inline int switch_compat(struct domain *d) { return -EOPNOTSUPP; }
 #endif
+
+#endif /* __ASM_X86_COMPAT_H__ */
diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
index da0593de85..1dfdd478ab 100644
--- a/xen/arch/x86/include/asm/cpufeatures.h
+++ b/xen/arch/x86/include/asm/cpufeatures.h
@@ -1,6 +1,4 @@
-/*
- * Explicitly intended for multiple inclusion.
- */
+/* This file is legitimately included multiple times */
 
 #include <xen/lib/x86/cpuid-autogen.h>
 
diff --git a/xen/arch/x86/include/asm/efibind.h b/xen/arch/x86/include/asm/efibind.h
index bce02f3707..f2eb8b5496 100644
--- a/xen/arch/x86/include/asm/efibind.h
+++ b/xen/arch/x86/include/asm/efibind.h
@@ -1,2 +1,7 @@
+#ifndef __ASM_X86_EFIBIND_H__
+#define __ASM_X86_EFIBIND_H__
+
 #include <xen/types.h>
 #include <asm/x86_64/efibind.h>
+
+#endif /* __ASM_X86_EFIBIND_H__ */
diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
index ec2edc771e..2ade5d71b8 100644
--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -2,13 +2,13 @@
  * asm-x86/hypercall.h
  */
 
+#ifndef __ASM_X86_HYPERCALL_H__
+#define __ASM_X86_HYPERCALL_H__
+
 #ifndef __XEN_HYPERCALL_H__
 #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
 #endif
 
-#ifndef __ASM_X86_HYPERCALL_H__
-#define __ASM_X86_HYPERCALL_H__
-
 #include <xen/types.h>
 #include <public/physdev.h>
 #include <public/event_channel.h>
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591523.923986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFr-0004Gm-Ff; Mon, 28 Aug 2023 14:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591523.923986; Mon, 28 Aug 2023 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 1qadFr-0004FA-2p; Mon, 28 Aug 2023 14:30:11 +0000
Received: by outflank-mailman (input) for mailman id 591523;
 Mon, 28 Aug 2023 13:20:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAU-00031h-F8
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aae1a550-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:33 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id F17CE4EE0C8D;
 Mon, 28 Aug 2023 15:20:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aae1a550-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 11/13] xen/sched: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:08 +0200
Message-Id: <8f2179f60335edcf97a04e1c35c7f4bb574c2145.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/common/sched/compat.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/common/sched/compat.c b/xen/common/sched/compat.c
index a596e3a226..d718e450d4 100644
--- a/xen/common/sched/compat.c
+++ b/xen/common/sched/compat.c
@@ -3,6 +3,10 @@
  *
  */
 
+#ifndef __COMMON_SCHED_COMPAT_C__
+#define __COMMON_SCHED_COMPAT_C__
+
+
 #include <compat/sched.h>
 
 #define COMPAT
@@ -44,6 +48,8 @@ int compat_set_timer_op(uint32_t lo, int32_t hi)
     return do_set_timer_op(((s64)hi << 32) | lo);
 }
 
+#endif /* __COMMON_SCHED_COMPAT_C__ */
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591518.923950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFp-0003gF-I7; Mon, 28 Aug 2023 14:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591518.923950; Mon, 28 Aug 2023 14: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 1qadFp-0003g8-FF; Mon, 28 Aug 2023 14:30:09 +0000
Received: by outflank-mailman (input) for mailman id 591518;
 Mon, 28 Aug 2023 13:20: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAQ-00031h-3M
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a78b3136-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:28 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9381B4EE0738;
 Mon, 28 Aug 2023 15:20: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: a78b3136-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.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>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 00/13] address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:19:57 +0200
Message-Id: <cover.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add or move inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Inclusion guards must appear at the beginning of the headers
(comments are permitted anywhere) and the #if directive cannot
be used for other checks.

C files, if included somewhere, need to comply with the guideline.

Simone Ballarin (13):
  misra: add deviation for headers that explicitly avoid guards
  automation/eclair: add text-based deviation for empty headers
  xen/arm: address violations of MISRA C:2012 Directive 4.10
  xen/x86: address violations of MISRA C:2012 Directive 4.10
  automation/eclair: add deviation for usercopy.c
  x86/EFI: address violations of MISRA C:2012 Directive 4.10
  x86/asm: address violations of MISRA C:2012 Directive 4.10
  x86/mm: address violations of MISRA C:2012 Directive 4.10
  xen/common: address violations of MISRA C:2012 Directive 4.10
  xen/efi: address violations of MISRA C:2012 Directive 4.10
  xen/sched: address violations of MISRA C:2012 Directive 4.10
  xen: address violations of MISRA C:2012 Directive 4.10
  x86/asm: address violations of MISRA C:2012 Directive 4.10

 automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
 docs/misra/rules.rst                             | 5 ++++-
 xen/arch/arm/efi/efi-boot.h                      | 6 ++++++
 xen/arch/arm/include/asm/hypercall.h             | 6 +++---
 xen/arch/arm/include/asm/iocap.h                 | 6 +++---
 xen/arch/x86/Makefile                            | 8 ++++----
 xen/arch/x86/cpu/cpu.h                           | 5 +++++
 xen/arch/x86/efi/efi-boot.h                      | 6 ++++++
 xen/arch/x86/efi/runtime.h                       | 5 +++++
 xen/arch/x86/include/asm/compat.h                | 5 +++++
 xen/arch/x86/include/asm/cpufeatures.h           | 4 +---
 xen/arch/x86/include/asm/efibind.h               | 5 +++++
 xen/arch/x86/include/asm/hypercall.h             | 6 +++---
 xen/arch/x86/mm/guest_walk.c                     | 5 +++++
 xen/arch/x86/mm/hap/guest_walk.c                 | 4 ++++
 xen/arch/x86/physdev.c                           | 4 ++++
 xen/arch/x86/platform_hypercall.c                | 5 +++++
 xen/arch/x86/x86_64/compat/mm.c                  | 5 +++++
 xen/arch/x86/x86_64/mmconfig.h                   | 5 +++++
 xen/arch/x86/x86_emulate/private.h               | 5 +++++
 xen/arch/x86/x86_emulate/x86_emulate.c           | 5 +++++
 xen/common/compat/grant_table.c                  | 7 +++++++
 xen/common/coverage/gcc_4_7.c                    | 5 +++++
 xen/common/decompress.h                          | 5 +++++
 xen/common/efi/efi.h                             | 5 +++++
 xen/common/efi/runtime.c                         | 6 ++++++
 xen/common/event_channel.h                       | 5 +++++
 xen/common/multicall.c                           | 5 +++++
 xen/common/sched/compat.c                        | 6 ++++++
 xen/include/xen/err.h                            | 4 +++-
 xen/include/xen/pci_ids.h                        | 5 +++++
 xen/include/xen/softirq.h                        | 4 +++-
 xen/include/xen/unaligned.h                      | 7 ++++---
 xen/include/xen/vmap.h                           | 4 +++-
 xen/tools/compat-xlat-header.py                  | 2 ++
 35 files changed, 161 insertions(+), 23 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591519.923957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFp-0003jh-SM; Mon, 28 Aug 2023 14:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591519.923957; Mon, 28 Aug 2023 14: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 1qadFp-0003jW-Nh; Mon, 28 Aug 2023 14:30:09 +0000
Received: by outflank-mailman (input) for mailman id 591519;
 Mon, 28 Aug 2023 13: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAR-00031h-EZ
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a95820c2-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:31 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4EA2E4EE0C81;
 Mon, 28 Aug 2023 15:20:30 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a95820c2-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 06/13] x86/EFI: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:03 +0200
Message-Id: <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/efi/efi-boot.h | 6 ++++++
 xen/arch/x86/efi/runtime.h  | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 92f4cfe8bd..2c6be062cc 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -3,6 +3,10 @@
  * is intended to be included by common/efi/boot.c _only_, and
  * therefore can define arch specific global variables.
  */
+
+#ifndef __X86_EFI_EFI_BOOT_H__
+#define __X86_EFI_EFI_BOOT_H__
+
 #include <xen/vga.h>
 #include <asm/e820.h>
 #include <asm/edd.h>
@@ -913,6 +917,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
     efi_exit_boot(ImageHandle, SystemTable);
 }
 
+#endif /* __X86_EFI_EFI_BOOT_H__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/efi/runtime.h b/xen/arch/x86/efi/runtime.h
index 77866c5f21..10b36bcb89 100644
--- a/xen/arch/x86/efi/runtime.h
+++ b/xen/arch/x86/efi/runtime.h
@@ -1,3 +1,6 @@
+#ifndef __X86_EFI_RUNTIME_H__
+#define __X86_EFI_RUNTIME_H__
+
 #include <xen/domain_page.h>
 #include <xen/mm.h>
 #include <asm/atomic.h>
@@ -17,3 +20,5 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e)
     }
 }
 #endif
+
+#endif /* __X86_EFI_RUNTIME_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591525.924003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFs-0004m8-Qi; Mon, 28 Aug 2023 14:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591525.924003; Mon, 28 Aug 2023 14:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFs-0004h4-BL; Mon, 28 Aug 2023 14:30:12 +0000
Received: by outflank-mailman (input) for mailman id 591525;
 Mon, 28 Aug 2023 13:21:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3W1q=EN=kernel.org=brauner@srs-se1.protection.inumbo.net>)
 id 1qacB3-00032e-Pk
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:21:09 +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 be281668-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:21:06 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1E9A96187E;
 Mon, 28 Aug 2023 13:21:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C6569C433C8;
 Mon, 28 Aug 2023 13:20: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: be281668-45a5-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693228864;
	bh=QtirhpZ6M4wRBs0PcZuQKaZInNnIQCord7zI9oR3eYc=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=dGzUUvJG87+eWzsz6xzROYCBNDl7W5LTOJNZSdrdj6kC4UZhu/D9tYCBTY1kzrQPe
	 x7WILXB1VLYusnI7i57xbkDNp7AlezoIITxDEYtPZbpKeaRaDjmpnSpx19pqxTzCO1
	 eHWv5jG6Kk405k0HzfGlQ5FnGrphH6RQF/qbsChQZpHtUi1E5k/RJY2W8E0veW1Pw4
	 WmlHIAC8kSpEcFeEGWLjHX2ee4G742ubGUZGwha6A7RHD325wN5SUYbEQ3omUMFDG/
	 CM1aA/cNlMXqkEYlHa/Phek8pvPKy4SQPmUA3IhuobWAQwG6yFUbEhG6jgGYrQO+H2
	 J9dq9/E4F2ZeQ==
Date: Mon, 28 Aug 2023 15:20:47 +0200
From: Christian Brauner <brauner@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: Al Viro <viro@zeniv.linux.org.uk>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org, Jens Axboe <axboe@kernel.dk>
Subject: Re: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230828-durften-hauswand-67319ee0c17c@brauner>
References: <20230810171429.31759-1-jack@suse.cz>
 <20230825015843.GB95084@ZenIV>
 <20230825134756.o3wpq6bogndukn53@quack3>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230825134756.o3wpq6bogndukn53@quack3>

> So besides my last fput() worry about I think this could work and would be
> probably a bit nicer than what I have. But before going and redoing the whole
> series let me gather some more feedback so that we don't go back and forth.
> Christoph, Christian, Jens, any opinion?

I'll be a bit under water for the next few days, I expect but I'll get
back to this. I think not making you redo this whole thing from scratch
is what I'd prefer unless there's really clear advantages. But I don't
want to offer a haphazard opinion in the middle of the merge window.


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591524.923996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFs-0004b6-6a; Mon, 28 Aug 2023 14:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591524.923996; Mon, 28 Aug 2023 14:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadFr-0004XZ-Rq; Mon, 28 Aug 2023 14:30:11 +0000
Received: by outflank-mailman (input) for mailman id 591524;
 Mon, 28 Aug 2023 13: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacAV-00031h-FS
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:20:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab949e26-45a5-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 15:20:34 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 073734EE0739;
 Mon, 28 Aug 2023 15:20: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: ab949e26-45a5-11ee-8783-cb3800f73035
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 13/13] x86/asm: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:10 +0200
Message-Id: <7af1f690e486e2872a645463b4ec9d4b07a6c23a.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Amend generation script to address a violation of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

This patch adds a special comment to the beginning of the header
to make it explicit that the file is generated automatically.

The comment is recognized by ECLAIR and will cause the deviation of
the violation.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/tools/compat-xlat-header.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/tools/compat-xlat-header.py b/xen/tools/compat-xlat-header.py
index 2b805b23a8..9e336277ac 100644
--- a/xen/tools/compat-xlat-header.py
+++ b/xen/tools/compat-xlat-header.py
@@ -406,6 +406,8 @@ def main():
             line = line.strip()
             header_tokens += re_tokenazier.split(line)
 
+    print("/* Generated file, do not edit! */")
+
     with open(sys.argv[2]) as compat_list:
         for line in compat_list:
             words = re_tokenazier.split(line, maxsplit=1)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591533.924037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUM-00014J-Eg; Mon, 28 Aug 2023 14:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591533.924037; Mon, 28 Aug 2023 14:45: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 1qadUM-00013N-8I; Mon, 28 Aug 2023 14:45:10 +0000
Received: by outflank-mailman (input) for mailman id 591533;
 Mon, 28 Aug 2023 13:36: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPv-0004gK-K3
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8090660-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:28 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 3C6744EE073C;
 Mon, 28 Aug 2023 15:20:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8090660-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH 02/13] automation/eclair: add text-based deviation for empty headers
Date: Mon, 28 Aug 2023 15:19:59 +0200
Message-Id: <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds a text-based deviation for Directive 4.10:
"Precautions shall be taken in order to prevent the contents of
a header file being included more than once"

Headers starting with the following comment are not supposed to
comply with the directive:
"/* empty */"

These headers should be empty, therefore they pose no risk if included
more than once.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 5f068377fa..2681a4cff5 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -80,6 +80,7 @@ inline functions."
 
 -doc_begin="This header file is autogenerated or empty, therefore it poses no
 risk if included more than once."
+-config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* empty \\*/$, begin-1))"}
 -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
 -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
 -config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591537.924061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUN-0001Xh-Im; Mon, 28 Aug 2023 14:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591537.924061; Mon, 28 Aug 2023 14: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 1qadUN-0001VO-8C; Mon, 28 Aug 2023 14:45:11 +0000
Received: by outflank-mailman (input) for mailman id 591537;
 Mon, 28 Aug 2023 13:36:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPy-0004gK-Kc
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a904a21b-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:30 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A7A354EE073D;
 Mon, 28 Aug 2023 15:20: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: a904a21b-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.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>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 05/13] automation/eclair: add deviation for usercopy.c
Date: Mon, 28 Aug 2023 15:20:02 +0200
Message-Id: <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen/arch/x86/usercopy.c includes itself, so it is not supposed to
comply with Directive 4.10:
"Precautions shall be taken in order to prevent the contents of a
header file being included more than once"

This patch adds a deviation for the file.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
 docs/misra/rules.rst                             | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 2681a4cff5..a7d4f29b43 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -96,6 +96,10 @@ conform to the directive."
 -config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
 -doc_end
 
+-doc_begin="xen/arch/x86/usercopy.c includes itself: it is not supposed to comply with the directive"
+-config=MC3R1.D4.10,reports+={deliberate, "all_area(all_loc(file("^xen/arch/x86/usercopy\\.c$")))"}
+-doc_end
+
 #
 # Series 5.
 #
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 4b1a7b02b6..45e13d0302 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -62,6 +62,8 @@ maintainers if you want to suggest a change.
      - Files that are intended to be included more than once do not need to
        conform to the directive. Files that explicitly avoid inclusion guards
        under specific circumstances do not need to conform the directive.
+       xen/arch/x86/usercopy.c includes itself: it is not supposed to comply
+       with the directive.
 
    * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
      - Required
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591539.924077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUO-0001tA-H5; Mon, 28 Aug 2023 14:45:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591539.924077; Mon, 28 Aug 2023 14:45:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUO-0001rC-43; Mon, 28 Aug 2023 14:45:12 +0000
Received: by outflank-mailman (input) for mailman id 591539;
 Mon, 28 Aug 2023 13: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacQ0-0004gK-LD
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13: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 ab3ade64-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:34 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 6CD1D4EE0C8B;
 Mon, 28 Aug 2023 15:20: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: ab3ade64-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 12/13] xen: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:09 +0200
Message-Id: <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move or amended inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Inclusion guards must appear at the beginning of the headers
(comments are permitted anywhere) and the #if directive cannot
be used for other checks.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/include/xen/err.h       | 4 +++-
 xen/include/xen/pci_ids.h   | 5 +++++
 xen/include/xen/softirq.h   | 4 +++-
 xen/include/xen/unaligned.h | 7 ++++---
 xen/include/xen/vmap.h      | 4 +++-
 5 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h
index 2f29b57d28..a6323d82d7 100644
--- a/xen/include/xen/err.h
+++ b/xen/include/xen/err.h
@@ -1,5 +1,6 @@
-#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__)
+#if !defined(__XEN_ERR_H__)
 #define __XEN_ERR_H__
+#if !defined(__ASSEMBLY__)
 
 #include <xen/compiler.h>
 #include <xen/errno.h>
@@ -54,4 +55,5 @@ static inline int __must_check PTR_RET(const void *ptr)
 	return IS_ERR(ptr) ? PTR_ERR(ptr) : 0;
 }
 
+#endif /* __ASSEMBLY__ */
 #endif /* __XEN_ERR_H__ */
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index e798477a7e..1a739d4c92 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -1,3 +1,6 @@
+#ifndef __XEN_PCI_IDS_H__
+#define __XEN_PCI_IDS_H__
+
 #define PCI_VENDOR_ID_AMD                0x1022
 
 #define PCI_VENDOR_ID_NVIDIA             0x10de
@@ -11,3 +14,5 @@
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
 
 #define PCI_VENDOR_ID_INTEL              0x8086
+
+#endif /* __XEN_PCI_IDS_H__ */
diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
index 33d6f2ecd2..092ec733b7 100644
--- a/xen/include/xen/softirq.h
+++ b/xen/include/xen/softirq.h
@@ -1,5 +1,6 @@
-#if !defined(__XEN_SOFTIRQ_H__) && !defined(__ASSEMBLY__)
+#if !defined(__XEN_SOFTIRQ_H__)
 #define __XEN_SOFTIRQ_H__
+#if !defined(__ASSEMBLY__)
 
 /* Low-latency softirqs come first in the following list. */
 enum {
@@ -40,4 +41,5 @@ void cpu_raise_softirq_batch_finish(void);
  */
 void process_pending_softirqs(void);
 
+#endif /* __ASSEMBLY__ */
 #endif /* __XEN_SOFTIRQ_H__ */
diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
index 0a2b16d05d..45f03b3f1b 100644
--- a/xen/include/xen/unaligned.h
+++ b/xen/include/xen/unaligned.h
@@ -3,13 +3,14 @@
  * without faulting, and at least reasonably efficiently.  Other architectures
  * will need to have a custom asm/unaligned.h.
  */
-#ifndef __ASM_UNALIGNED_H__
-#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
-#endif
 
 #ifndef __XEN_UNALIGNED_H__
 #define __XEN_UNALIGNED_H__
 
+#ifndef __ASM_UNALIGNED_H__
+#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
+#endif
+
 #ifdef __XEN__
 #include <xen/types.h>
 #include <asm/byteorder.h>
diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index b0f7632e89..7a61dea54a 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -1,5 +1,6 @@
-#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START)
+#if !defined(__XEN_VMAP_H__)
 #define __XEN_VMAP_H__
+#if defined(VMAP_VIRT_START)
 
 #include <xen/mm-frame.h>
 #include <xen/page-size.h>
@@ -38,4 +39,5 @@ static inline void vm_init(void)
     vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, arch_vmap_virt_end());
 }
 
+#endif /* VMAP_VIRT_START */
 #endif /* __XEN_VMAP_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591534.924044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUM-0001AT-NZ; Mon, 28 Aug 2023 14:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591534.924044; Mon, 28 Aug 2023 14:45: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 1qadUM-00019E-GC; Mon, 28 Aug 2023 14:45:10 +0000
Received: by outflank-mailman (input) for mailman id 591534;
 Mon, 28 Aug 2023 13:36: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPw-0004gK-KM
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8528174-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:29 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9EA0C4EE073E;
 Mon, 28 Aug 2023 15:20:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8528174-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:00 +0200
Message-Id: <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add or move inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Inclusion guards must appear at the beginning of the headers
(comments are permitted anywhere).

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/arm/efi/efi-boot.h          | 6 ++++++
 xen/arch/arm/include/asm/hypercall.h | 6 +++---
 xen/arch/arm/include/asm/iocap.h     | 6 +++---
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65..aba522ead5 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -3,6 +3,10 @@
  * is intended to be included by common/efi/boot.c _only_, and
  * therefore can define arch specific global variables.
  */
+
+#ifndef __ARM_EFI_EFI_BOOT_H__
+#define __ARM_EFI_EFI_BOOT_H__
+
 #include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
 #include <asm/setup.h>
@@ -1003,6 +1007,8 @@ static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size)
     __flush_dcache_area(vaddr, size);
 }
 
+#endif /* __ARM_EFI_EFI_BOOT_H__*/
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/hypercall.h b/xen/arch/arm/include/asm/hypercall.h
index ccd26c5184..4f4d96f1f2 100644
--- a/xen/arch/arm/include/asm/hypercall.h
+++ b/xen/arch/arm/include/asm/hypercall.h
@@ -1,10 +1,10 @@
+#ifndef __ASM_ARM_HYPERCALL_H__
+#define __ASM_ARM_HYPERCALL_H__
+
 #ifndef __XEN_HYPERCALL_H__
 #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
 #endif
 
-#ifndef __ASM_ARM_HYPERCALL_H__
-#define __ASM_ARM_HYPERCALL_H__
-
 #include <public/domctl.h> /* for arch_do_domctl */
 
 long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,
diff --git a/xen/arch/arm/include/asm/iocap.h b/xen/arch/arm/include/asm/iocap.h
index 276fefbc59..4db1b16839 100644
--- a/xen/arch/arm/include/asm/iocap.h
+++ b/xen/arch/arm/include/asm/iocap.h
@@ -1,10 +1,10 @@
-#ifndef __X86_IOCAP_H__
-#define __X86_IOCAP_H__
+#ifndef __ASM_ARM_IOCAP_H__
+#define __ASM_ARM_IOCAP_H__
 
 #define cache_flush_permitted(d)                        \
     (!rangeset_is_empty((d)->iomem_caps))
 
-#endif
+#endif /* __ASM_ARM_IOCAP_H__ */
 
 /*
  * Local variables:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591532.924030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUM-00011n-3u; Mon, 28 Aug 2023 14:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591532.924030; Mon, 28 Aug 2023 14:45: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 1qadUM-00011g-1O; Mon, 28 Aug 2023 14:45:10 +0000
Received: by outflank-mailman (input) for mailman id 591532;
 Mon, 28 Aug 2023 13:36: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPu-0004gK-UA
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7ca1d81-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:28 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 943794EE073A;
 Mon, 28 Aug 2023 15:20: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: a7ca1d81-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.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>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 01/13] misra: add deviation for headers that explicitly avoid guards
Date: Mon, 28 Aug 2023 15:19:58 +0200
Message-Id: <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some headers, under specific circumstances (documented in a comment at
the beginning of the file), explicitly avoid inclusion guards: the caller
is responsible for including them correctly.

These files are not supposed to comply with Directive 4.10:
"Precautions shall be taken in order to prevent the contents of a header
file being included more than once"

This patch adds a deviation for all headers that contain the following
in a comment text:
"In this case, no inclusion guards apply and the caller is responsible"

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
 docs/misra/rules.rst                             | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d8170106b4..5f068377fa 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -91,6 +91,10 @@ conform to the directive."
 -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
 -doc_end
 
+-doc_begin="Some headers, under specific circumstances, explicitly avoid inclusion guards."
+-config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
+-doc_end
+
 #
 # Series 5.
 #
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index db30632b93..4b1a7b02b6 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -60,7 +60,8 @@ maintainers if you want to suggest a change.
      - Precautions shall be taken in order to prevent the contents of a
        header file being included more than once
      - Files that are intended to be included more than once do not need to
-       conform to the directive
+       conform to the directive. Files that explicitly avoid inclusion guards
+       under specific circumstances do not need to conform the directive.
 
    * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
      - Required
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591538.924063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUN-0001j1-RU; Mon, 28 Aug 2023 14:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591538.924063; Mon, 28 Aug 2023 14: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 1qadUN-0001f8-Lb; Mon, 28 Aug 2023 14:45:11 +0000
Received: by outflank-mailman (input) for mailman id 591538;
 Mon, 28 Aug 2023 13:36:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPz-0004gK-Kw
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa04e8e8-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:32 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 64F7E4EE0C88;
 Mon, 28 Aug 2023 15:20: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: aa04e8e8-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@bugseng.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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 08/13] x86/mm: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:05 +0200
Message-Id: <b994059118b867960b619d40d74c8f579c0a4d87.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

C files, if included somewhere, need to comply with the guideline.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/mm/guest_walk.c     | 5 +++++
 xen/arch/x86/mm/hap/guest_walk.c | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
index fe7393334f..66c127156d 100644
--- a/xen/arch/x86/mm/guest_walk.c
+++ b/xen/arch/x86/mm/guest_walk.c
@@ -9,6 +9,9 @@
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
  */
 
+#ifndef __X86_MM_GUEST_WALK_C__
+#define __X86_MM_GUEST_WALK_C__
+
 #include <xen/types.h>
 #include <xen/mm.h>
 #include <xen/paging.h>
@@ -576,6 +579,8 @@ void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn,
 }
 #endif
 
+#endif /* __X86_MM_GUEST_WALK_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
index d1b7c5762c..d4ffa8141f 100644
--- a/xen/arch/x86/mm/hap/guest_walk.c
+++ b/xen/arch/x86/mm/hap/guest_walk.c
@@ -7,6 +7,9 @@
  * Copyright (c) 2007, XenSource Inc.
  */
 
+#ifndef __X86_MM_HAP_GUEST_WALK_C__
+#define __X86_MM_HAP_GUEST_WALK_C__
+
 #include <xen/domain_page.h>
 #include <xen/paging.h>
 #include <xen/sched.h>
@@ -124,6 +127,7 @@ unsigned long cf_check hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
     return gfn_x(INVALID_GFN);
 }
 
+#endif /* __X86_MM_HAP_GUEST_WALK_C__ */
 
 /*
  * Local variables:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 14:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591535.924052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qadUN-0001Oo-5T; Mon, 28 Aug 2023 14:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591535.924052; Mon, 28 Aug 2023 14: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 1qadUM-0001Nj-Vx; Mon, 28 Aug 2023 14:45:10 +0000
Received: by outflank-mailman (input) for mailman id 591535;
 Mon, 28 Aug 2023 13:36: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=RJ5s=EN=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qacPx-0004gK-KO
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 13:36:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8a3e59e-45a5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 15:20:29 +0200 (CEST)
Received: from beta.station (net-93-66-137-131.cust.vodafonedsl.it
 [93.66.137.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 239EC4EE074E;
 Mon, 28 Aug 2023 15:20: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: a8a3e59e-45a5-11ee-9b0c-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	sstabellini@kernel.org,
	Simone Ballarin <simone.ballarin@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>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 04/13] xen/x86: address violations of MISRA C:2012 Directive 4.10
Date: Mon, 28 Aug 2023 15:20:01 +0200
Message-Id: <d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1693228255.git.simone.ballarin@bugseng.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add or move inclusion guards to address violations of
MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
to prevent the contents of a header file being included more than
once").

Inclusion guards must appear at the beginning of the headers
(comments are permitted anywhere).

Also C files, if included somewhere, need to comply with the guideline.

Mechanical change.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 xen/arch/x86/Makefile                  | 8 ++++----
 xen/arch/x86/cpu/cpu.h                 | 5 +++++
 xen/arch/x86/physdev.c                 | 4 ++++
 xen/arch/x86/platform_hypercall.c      | 5 +++++
 xen/arch/x86/x86_64/compat/mm.c        | 5 +++++
 xen/arch/x86/x86_64/mmconfig.h         | 5 +++++
 xen/arch/x86/x86_emulate/private.h     | 5 +++++
 xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++
 8 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index e642ad6c55..f956b7f0cd 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil
 	$(call filechk,asm-macros.h)
 
 define filechk_asm-macros.h
+    echo '#ifndef __ASM_MACROS_H__'; \
+    echo '#define __ASM_MACROS_H__'; \
     echo '#if 0'; \
     echo '.if 0'; \
     echo '#endif'; \
-    echo '#ifndef __ASM_MACROS_H__'; \
-    echo '#define __ASM_MACROS_H__'; \
     echo 'asm ( ".include \"$@\"" );'; \
-    echo '#endif /* __ASM_MACROS_H__ */'; \
     echo '#if 0'; \
     echo '.endif'; \
     cat $<; \
-    echo '#endif'
+    echo '#endif'; \
+    echo '#endif /* __ASM_MACROS_H__ */'
 endef
 
 $(obj)/efi.lds: AFLAGS-y += -DEFI
diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h
index e3d06278b3..95939c7fb6 100644
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -1,3 +1,6 @@
+#ifndef __X86_CPU_CPU_H__
+#define __X86_CPU_CPU_H__
+
 /* attempt to consolidate cpu attributes */
 struct cpu_dev {
 	void		(*c_early_init)(struct cpuinfo_x86 *c);
@@ -24,3 +27,5 @@ void amd_init_lfence(struct cpuinfo_x86 *c);
 void amd_init_ssbd(const struct cpuinfo_x86 *c);
 void amd_init_spectral_chicken(void);
 void detect_zen2_null_seg_behaviour(void);
+
+#endif /* __X86_CPU_CPU_H__ */
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 2f1d955a96..08b391d8f3 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -1,3 +1,5 @@
+#ifndef  __X86_PHYSDEV_C__
+#define  __X86_PHYSDEV_C__
 
 #include <xen/init.h>
 #include <xen/lib.h>
@@ -623,6 +625,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     return ret;
 }
 
+#endif /* __X86_PHYSDEV_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 9ff2da8fc3..11aa084887 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -6,6 +6,9 @@
  * Copyright (c) 2002-2006, K Fraser
  */
 
+#ifndef __X86_PLATFORM_HYPERCALL_C__
+#define __X86_PLATFORM_HYPERCALL_C__
+
 #include <xen/types.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
@@ -899,6 +902,8 @@ ret_t do_platform_op(
     return ret;
 }
 
+#endif /* __X86_PLATFORM_HYPERCALL_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/x86_64/compat/mm.c b/xen/arch/x86/x86_64/compat/mm.c
index d54efaad21..24f7eb8788 100644
--- a/xen/arch/x86/x86_64/compat/mm.c
+++ b/xen/arch/x86/x86_64/compat/mm.c
@@ -1,3 +1,6 @@
+#ifndef __X86_X86_64_COMPAT_MM_C__
+#define __X86_X86_64_COMPAT_MM_C__
+
 #include <xen/event.h>
 #include <xen/hypercall.h>
 #include <xen/mem_access.h>
@@ -326,6 +329,8 @@ int compat_mmuext_op(
 }
 #endif /* CONFIG_PV */
 
+#endif /* __X86_X86_64_COMPAT_MM_C__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h
index 2d49fc79a0..c562879c76 100644
--- a/xen/arch/x86/x86_64/mmconfig.h
+++ b/xen/arch/x86/x86_64/mmconfig.h
@@ -5,6 +5,9 @@
  * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux
  */
 
+#ifndef __X86_X86_64_MMCONFIG_H__
+#define __X86_X86_64_MMCONFIG_H__
+
 #define PCI_DEVICE_ID_INTEL_E7520_MCH    0x3590
 #define PCI_DEVICE_ID_INTEL_82945G_HB    0x2770
 
@@ -72,3 +75,5 @@ int pci_mmcfg_reserved(uint64_t address, unsigned int segment,
 int pci_mmcfg_arch_init(void);
 int pci_mmcfg_arch_enable(unsigned int);
 void pci_mmcfg_arch_disable(unsigned int);
+
+#endif /* __X86_X86_64_MMCONFIG_H__ */
diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h
index 719dad59cd..ffa134f297 100644
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -6,6 +6,9 @@
  * Copyright (c) 2005-2007 XenSource Inc.
  */
 
+#ifndef __X86_X86_EMULATE_PRIVATE_H__
+#define __X86_X86_EMULATE_PRIVATE_H__
+
 #ifdef __XEN__
 
 # include <xen/kernel.h>
@@ -831,3 +834,5 @@ static inline int read_ulong(enum x86_segment seg,
     *val = 0;
     return ops->read(seg, offset, val, bytes, ctxt);
 }
+
+#endif /* __X86_X86_EMULATE_PRIVATE_H__ */
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index e88245eae9..8977a1b82e 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -8,6 +8,9 @@
  * Copyright (c) 2005-2007 XenSource Inc.
  */
 
+#ifndef __X86_X86_EMULATE_EMULATE_C__
+#define __X86_X86_EMULATE_EMULATE_C__
+
 #include "private.h"
 
 /*
@@ -8678,3 +8681,5 @@ int x86_emulate_wrapper(
     return rc;
 }
 #endif
+
+#endif /* __X86_X86_EMULATE_EMULATE_C__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 15:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 15:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591663.924100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaec7-00047f-Bu; Mon, 28 Aug 2023 15:57:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591663.924100; Mon, 28 Aug 2023 15:57: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 1qaec7-00047Y-9L; Mon, 28 Aug 2023 15:57:15 +0000
Received: by outflank-mailman (input) for mailman id 591663;
 Mon, 28 Aug 2023 15:57: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=0Xqe=EN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaec6-00047N-0T
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 15:57:14 +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 8d1ecd09-45bb-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 17:57:12 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5007abb15e9so5195783e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 08:57:12 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 t25-20020ac24c19000000b004fe8424c750sm1636027lfq.47.2023.08.28.08.57.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Aug 2023 08: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: 8d1ecd09-45bb-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693238232; x=1693843032;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=zlSGKbs/IdFGYcThSCWsdoNTZDxKBKT53110yneZmV4=;
        b=H+VJj/ODmzDMKdtsWNUIflzSEv1EXAgcJvllpwlG1wnD5mgEsiIpX6HNSksJhkzIRU
         wL4ja4qJicOyo9UDB/Y91AKoADwpPFDmwJPVD27FL0/7fk+Bij60ft62lm6BXp1NH45o
         FnDEohie7V8nwSTulzOfqx9AgXSlI82HqFjc2E/8duEaJyYr4f34l154O4c2b4V3IQl8
         hkBnXQBAPqQ3R0iaiFFLDxR0PCictT6A6DJX7ZngOyxzTIFFTCR+g629YanvYhyhiMWP
         /eDz/CbWtIVRtgOVeAU50dPsqN8a91Dz3dsee+LN1POkplILIIBu7m3QslTCgIxCG5H9
         tjvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693238232; x=1693843032;
        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=zlSGKbs/IdFGYcThSCWsdoNTZDxKBKT53110yneZmV4=;
        b=ICGy8Zcdv5+Q/Wk/ryAes6GGaKrINGKFTVFLLQa2+lLM51yCPN5oX5ATZzjCzHFV7X
         w/305q7TIC/KwvldjaGn6NfV6dABcU4Bc+iwjE7CqAV5odYHc7EieCx6Ly8+j6LUxtlQ
         hb4WcXMXDQvspOsCrvqYU8MOHPIJ78qj9YMSDawFsOXdvvBoL2/mbShbfEwfo1MxO/cG
         7dweqmcqfn5dr4BKHpI/tfue0IP/R3IgJj5m5HEIsQ2593YJbEkh4Z4PVDYsAVbQznPD
         MHeuuqnTYYvKLudLP2LoCeChIHknfWk/DDP+riW6q6dGzm4E4op4lEEH6gqvp6niXq7J
         zZOg==
X-Gm-Message-State: AOJu0Yzcik9uRoIgrFUFWBPReI25F70RK0Dk40XtcC+bd0NmdQcY+jPg
	gKUF2y8o0CnoarloV8OOHa0ZbCaR26k=
X-Google-Smtp-Source: AGHT+IGktDhZmacGqrRlfv8EP+jA1f8/jR2YKUGo7yadGOP5OW+88mcSM3GB3pub4jWLuKLhGM6lEA==
X-Received: by 2002:ac2:58e8:0:b0:500:9734:b415 with SMTP id v8-20020ac258e8000000b005009734b415mr9734508lfo.30.1693238231415;
        Mon, 28 Aug 2023 08:57:11 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	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>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 0/2] introduce stub directory to storing empty/stub headers
Date: Mon, 28 Aug 2023 18:57:06 +0300
Message-ID: <cover.1693235841.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A lot of empty/stub headers should be introduced during the early steps of adding
support of new architecture.

An example can be found here:
1. https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
2. https://lore.kernel.org/xen-devel/a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com/

As part of the patch series, asm/vm_event.h was moved to the stubs directory because
It is the same for ARM, PPC, and RISC-V.

Oleksii Kurochko (2):
  xen: add stubs dir to include path
  xen: move arm/include/asm/vm_event.h to stubs

 xen/Makefile                        |  1 +
 xen/arch/arm/include/asm/vm_event.h | 66 -----------------------------
 xen/include/stubs/asm/vm_event.h    | 55 ++++++++++++++++++++++++
 3 files changed, 56 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/stubs/asm/vm_event.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 15:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 15:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591664.924108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaec7-0004B4-Od; Mon, 28 Aug 2023 15:57:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591664.924108; Mon, 28 Aug 2023 15:57: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 1qaec7-0004AP-HK; Mon, 28 Aug 2023 15:57:15 +0000
Received: by outflank-mailman (input) for mailman id 591664;
 Mon, 28 Aug 2023 15:57: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=0Xqe=EN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaec6-00047N-D7
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 15:57:14 +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 8df39594-45bb-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 17:57:13 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-4fe61ae020bso5127605e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 08:57:13 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 t25-20020ac24c19000000b004fe8424c750sm1636027lfq.47.2023.08.28.08.57.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Aug 2023 08:57: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: 8df39594-45bb-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693238233; x=1693843033;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c3FaCqqef1K6tiSJmi/bsptj2FfnmcLKjLPutexhzjQ=;
        b=NG1uJqOs7gckb9FG6vLdhgJ60RYiThCABQ1w+fUQekEQQ7TmLQc4ndYWybOWD2e1Kd
         Btn8QHz35iNdAVuh9dlRrWr6g/RTxHiL0aRYOAg70c+P30yNdyUyeqebktHglNzmztUq
         XgCLRXemZStC+KI2R/rcka8R+pQY9/auWtoz9vgV/4K1ZQYuci1hWzEJpsxQhK9lAnUn
         V3WkX5dwQ7Z/SLncZ3R3EJLgIfNJzOyWqziksmU+W9vuk5lNB9yOb3eyXR/+ltqNBjcA
         1hTIL8j0qkNyE7lh/N59sJhef8WB2ZwGtKJo0iy+F6YgrYIWl/01LdHIJoziotAzOjy+
         jVkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693238233; x=1693843033;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=c3FaCqqef1K6tiSJmi/bsptj2FfnmcLKjLPutexhzjQ=;
        b=hRFfA9HjPAdJduBS+bsruIpkhXPJjc5WOl2Ls8UXJD8w8VuOo939qPSiYhgM9ZYoWQ
         eneARSqH6o5gMWRFPn9vdECncu66t4rUfKifqfyKs/rvm/0VK8f5qYd9UTl1Vah6EGHc
         ur8p6NxIXvqSsDfx9KmKPw42k/iOC/OwTRH4n4Ynvijti9TjjmzRM+j0xSpCzVa+pGx3
         Bjb/cnpgaPZpK+sRVK+QiTzfILquo5D2uTcV/qwGap0kQRLKAm7tyV88ZamA4AtbNN+R
         GCI+tRaqOxpZNZqBRsBRGS25B1hScmI3X3a3sMLtw9keR9FSpPn3qgGe5ci004+HzO2A
         2DpQ==
X-Gm-Message-State: AOJu0Yw5z2AGM6+C6BciZMSL+2v4FWmQwemVhLmhTLcqsTb7RCjonc11
	1ZbfMjcxJoTgLclPdBPzvf5s2dptx4E=
X-Google-Smtp-Source: AGHT+IEgCNqkQbwxbUq2+JJ9ec0uCdTXRxqRu83pTJZOIsx1HiIj5+8iry6SCJuLx8jd09JUriiJOQ==
X-Received: by 2002:ac2:4bd4:0:b0:4fb:9f24:bba9 with SMTP id o20-20020ac24bd4000000b004fb9f24bba9mr21609949lfq.5.1693238233044;
        Mon, 28 Aug 2023 08:57:13 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs
Date: Mon, 28 Aug 2023 18:57:08 +0300
Message-ID: <c61f930fed46e2312f460333401488af4b0adfc4.1693235841.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693235841.git.oleksii.kurochko@gmail.com>
References: <cover.1693235841.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

asm/vm_event.h is common for ARM and RISC-V so it will be moved to
stubs dir.

Original asm/vm_event.h from ARM was updated:
 * use SPDX-License-Identifier.
 * update comment messages of stubs.
 * update #ifdef

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/include/asm/vm_event.h | 66 -----------------------------
 xen/include/stubs/asm/vm_event.h    | 55 ++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/stubs/asm/vm_event.h

diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
deleted file mode 100644
index 4d861373b3..0000000000
--- a/xen/arch/arm/include/asm/vm_event.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * vm_event.h: architecture specific vm_event handling routines
- *
- * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __ASM_ARM_VM_EVENT_H__
-#define __ASM_ARM_VM_EVENT_H__
-
-#include <xen/sched.h>
-#include <public/domctl.h>
-
-static inline int vm_event_init_domain(struct domain *d)
-{
-    /* Nothing to do. */
-    return 0;
-}
-
-static inline void vm_event_cleanup_domain(struct domain *d)
-{
-    memset(&d->monitor, 0, sizeof(d->monitor));
-}
-
-static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
-                                              vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_sync_event(struct vcpu *v, bool value)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_reset_vmtrace(struct vcpu *v)
-{
-    /* Not supported on ARM. */
-}
-
-#endif /* __ASM_ARM_VM_EVENT_H__ */
diff --git a/xen/include/stubs/asm/vm_event.h b/xen/include/stubs/asm/vm_event.h
new file mode 100644
index 0000000000..6bda6ce7df
--- /dev/null
+++ b/xen/include/stubs/asm/vm_event.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier:  GPL-2.0 */
+/*
+ * vm_event.h: stubs for architecture specific vm_event handling routines
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ */
+
+#ifndef __ASM_STUB_VM_EVENT_H__
+#define __ASM_STUB_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <public/domctl.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Nothing to do. */
+}
+
+#endif /* __ASM_STUB_VM_EVENT_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 15:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 15:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591665.924120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaec9-0004bP-Ts; Mon, 28 Aug 2023 15:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591665.924120; Mon, 28 Aug 2023 15:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaec9-0004bE-QG; Mon, 28 Aug 2023 15:57:17 +0000
Received: by outflank-mailman (input) for mailman id 591665;
 Mon, 28 Aug 2023 15:57: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=0Xqe=EN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaec8-00047o-J3
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 15:57:16 +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 8d6dafbf-45bb-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 17:57:13 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-4ff8cf11b90so5324683e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 08:57:13 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 t25-20020ac24c19000000b004fe8424c750sm1636027lfq.47.2023.08.28.08.57.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Aug 2023 08: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: 8d6dafbf-45bb-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693238232; x=1693843032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m9LMAk8n2gFjyPZaq/qFruo/ox6AcID4nckvvRxZxoI=;
        b=Jh1ReukhHDC5iS9VTzYKeDEAwMuhGCm4R1hud7ygxYYWxZffOiuiz/j/sAA5zrFvMS
         gevZ98lNIMe3DwhXV8NfHaMLLLRskYfCuNOVHPi3MTKN23tb5t5TQwGf+CqTO9+k83hQ
         4cpumKKMyhMVTc00olf0tucr8E5T3O3Wx+JtCjL4nq5Eo6E515o6Dn2AZFpXo7zjn6YR
         XeneTb/k8eBc314wLlGJ68MiRRrK7h83J6br1ZhWMN7LnoYC38+/Aw7F9rVkhMfZIQe3
         +3V8/fNQb9iNMYXP+sJO5oaGZpyTkuIi+dENQB2P4cMZAyQQfs8z7coTNpKZ1GzvD/xV
         bYsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693238232; x=1693843032;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=m9LMAk8n2gFjyPZaq/qFruo/ox6AcID4nckvvRxZxoI=;
        b=f+Fgc/ITZGAM/miMQX1NBv1mQx2AJ0+B/bW39OWTvmIQWgGXAsBEHWRXYHbW4NzBA+
         zZ82cmdTVunD9esLzVQWWmSVb0UzOKVCf3WQHMw026wHXH5eP4g1Jy2MZiuMnGG/k673
         TT1mugNDTSG6F2Oz4JsFo0BAkhcWhNBwNw1RdOnuxCWMkb4KGsWttQaSh/RJsEAgl94/
         5TaI76RfZAwAcIoT6KybwDJ7ZX5DRtvHsQLyEMcNJRxqyGyI6WUhp5H+WQmJeg+GHGKe
         Pf2bkZHYEOsqVxesk9IlzoGh14vzTr72vOTQYL5L7QQ5tnJ1S+pw+LrM0ps7jyMA8O+Y
         wwnA==
X-Gm-Message-State: AOJu0Yzo5os9o7SyLnGBpMkeHBuIToW2osDXWTuqbuldTHFmFb87oZoL
	lgJC7HVAOTNEFaV/j9sMrsUF7rN56HM=
X-Google-Smtp-Source: AGHT+IGMI1hX5W8fXEH1S5KzO/gocCLo7vwystoaT31+apxLvpvs2iro9SzkjBQkmFcC6ISmICftDQ==
X-Received: by 2002:a19:9158:0:b0:500:a2d3:3e65 with SMTP id y24-20020a199158000000b00500a2d33e65mr7601612lfj.23.1693238232043;
        Mon, 28 Aug 2023 08:57:12 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	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>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v1 1/2] xen: add stubs dir to include path
Date: Mon, 28 Aug 2023 18:57:07 +0300
Message-ID: <09fa701d2be02589cc9f63d8334082346b5c1702.1693235841.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693235841.git.oleksii.kurochko@gmail.com>
References: <cover.1693235841.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

stubs dir will contain empty/stubs generic for all architectures
headers.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/Makefile b/xen/Makefile
index f57e5a596c..64c3542c84 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -438,6 +438,7 @@ ifdef building_out_of_srctree
 endif
 CFLAGS += -I$(srctree)/include
 CFLAGS += -I$(srctree)/arch/$(SRCARCH)/include
+CFLAGS += -I$(srctree)/include/stubs
 
 # Note that link order matters!
 ALL_OBJS-y                := common/built_in.o
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 16:06:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591684.924130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qael7-0007UV-O2; Mon, 28 Aug 2023 16:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591684.924130; Mon, 28 Aug 2023 16:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qael7-0007UO-LH; Mon, 28 Aug 2023 16:06:33 +0000
Received: by outflank-mailman (input) for mailman id 591684;
 Mon, 28 Aug 2023 16:06: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=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qael6-0007UI-JK
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 16:06:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d98f84e0-45bc-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 18:06:30 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8727.eurprd04.prod.outlook.com (2603:10a6:10:2de::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 16:06:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 16:06:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d98f84e0-45bc-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BDufDPXLavuy3PaO5OC2mEHDUvYR+SMN+YnOQLQTy3JajYxwqpXM95w/dBMZaWSTUxpZqa79Ukz+IJLo+zGAqe8wMPbl4mj9bGAMZWAAymq+Z2IqrmpXj0BQSmd4XO8ocAxyStT7MW3Bn7uQr5vZ6TH/RBOWImpkRLGufEz/1Edt6sD1ScIgbFpupbU+0ZaPqs++wJmw/xNPnuNadX+GTGpOf+ipaNrjxOWrfTXwd5ToFSzj94B1VfuTgTMv6OTRkSvMilG+gUf5vM/YJvKRVFux5c6wZ7NzhSlsAUs1xb7F9TYP6PW3ginwMVvsSnQ2LAb+I/jM6b4vzjNvFGhaaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mp7cpYfUI4DZyBtHSEZ552Qp3NijN18wJVOrzzeXxWg=;
 b=Rr66U8yi63DaniV565sqgy7kUIXxcOErJLwKUAIrOW8/0UABfQAhepjqg9wzJwpPuntfRtqIyxjdPvemPmzP2qKKpItxDI4Qa6pk8R2L9y7BqS3fZazeO8tZsHb3snSs7oAHURvwVu8j8IfUkWrt08DXvI7zlA/bYeGFz1QnJFMfy74QUTM3dXfyBogUlqrbzS8NBMmdTF/ty6ZbCheWK/p519Z7eh0NKvW1r6ekUCKL7IK8QOLJRut1lJlyrygADDqwaxBOpwhLJh0LcoVHYwix8Y+H08QnqSpuU0FUZqAU1jNNvaZcus5iCVQpsGweeXX8dvGeFJq1KrnXA880sQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mp7cpYfUI4DZyBtHSEZ552Qp3NijN18wJVOrzzeXxWg=;
 b=X5nC033u5f7vYbby32SBYvSSE/QNf/sWuIQ5lcKSDiCwdZ8ji2X7+izqY9dVQVrmGnr1G8pclcffn2i8R+M9Rap+qg6aPzzmUem9ub4c8a5NJJIqOkZlfszbZL/3hBeLRNB/PorL93U6xy9Hyp/EkeywZRV2x0GHPWQEM0m86GsKRvHWefL6nXyVOEdXSUczYMZkI4lyXGTO9G0EcxpziqPMsvQLl/3HBAXFdLMkLCxDklyuIxOJZAmeorIV/W1hgFrep3BZ/789iExmsO4KIV5K02cdoZyCjxfeD8ihzJeCXv5nLZYW5z1mY6Ro0w/GE6zQPHw2Ddtc6ErimH703Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0b17a63d-ba1f-e8d0-88e3-6824ac17a26f@suse.com>
Date: Mon, 28 Aug 2023 18:05:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1693235841.git.oleksii.kurochko@gmail.com>
 <c61f930fed46e2312f460333401488af4b0adfc4.1693235841.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c61f930fed46e2312f460333401488af4b0adfc4.1693235841.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0193.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8727:EE_
X-MS-Office365-Filtering-Correlation-Id: e82322a3-b806-4090-0fbc-08dba7e0ac52
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ffAFtdPsxkFnNVVUB6xMJXKPKluWoY19SO3A6Yx6KL+1fxZde+cptEmikKy5NtNsjneJPHD8nx/BNFLKs3yaTnRhkM3eXTM2HW5Nqn+g+ZRCER5anrX+R8TJKu11OjqhDf71ugzW3ommykJnt+IMqMiSFv2+w5NviLpazhgaUEo2KMeNnGSadncEF11cYK1LB4uLBLkYxV1DzZA2SgFc8BKzBuWaVTdi5LhEUPouc5Cc/BMp2qnVab/TC6upH/2S518QP62apmmxotdMsHLdguX2rHKxEMZJYPKKoEhB/CfiH6b7e9Cc6wfY6PEhXLUWTbuKl6hQr5k+BAidSV81rb0/yrF0gq4zySDIJRkd2mzytJ/W3yHBgmRmZadnkPU2VSTZbQzSHaN8axh+sBkFpy7uIBdlEfXmLkaHlpOf46fNB2++VxGPf8a8orkxv5o3B4MJNZtjOjYYTabQv5jLLDTb6k52DO+Gh3h5XHSkNhEyd5j2XVQZIoa/m75sQGpbg872rpk/q9TZChPS8a5A33Xf6Fj3FdJ70huWtHMAN5l6EGR7LgqgorvBGGt89JOhs27VjoOfimuvrQZFCSiSk2oAjm5fQ75PCUCTEUi0kPsPyLTBEFfCaJ3zTgvzp6XEizf07KOBVhmLXsVIltkhVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(136003)(396003)(346002)(186009)(1800799009)(451199024)(6512007)(31696002)(6666004)(53546011)(6506007)(2616005)(6486002)(7416002)(86362001)(2906002)(6916009)(4326008)(8676002)(8936002)(54906003)(66946007)(66556008)(36756003)(66476007)(41300700001)(5660300002)(316002)(38100700002)(478600001)(83380400001)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rld6eEpaSlpRN2dCcWd6bjZrcmx2ZC9rN0R2QzVUZElHSTN3cFE3dXJNZjN5?=
 =?utf-8?B?NUZzVitIYVBZR1hCRlFaVThKRzlOTkdSVVhaRmhva0dPTXBmWVVLRDRxSHJL?=
 =?utf-8?B?Z09EWFNYRmNjd09XMU1pejVTRjQ4L0VVVSswKzJGT2NFUGpmQVBndFAyTUY3?=
 =?utf-8?B?anhnWDYwdTYrTHZNQlRKVWM0REpWeFpxMldURW1pTUVHVlV4czBXdnlYZW1S?=
 =?utf-8?B?UFBEeVdldlEzUTdtenhPMVZpeEZMamJHY2pvb05GV0RuaVlOVmhwcWhoREhW?=
 =?utf-8?B?dy9NN1c3dVYvdGNyWWI3WEt3UEFDWmZwQ1BDUU53NDJrY3owNjRWU0FhS00r?=
 =?utf-8?B?aTBwSk8vYTVsWUpnODZEazNYRS9qdXJJQTFIbVErSFAxTFdrZXpzZThzMjVR?=
 =?utf-8?B?M0VFY3hLQWIyQURFUDZZclBRTXh4L3liNGNmM1JNMFRRYmNDb1JxOTFRcjBJ?=
 =?utf-8?B?WTVVMGFCQll5V0h3QWt6SUVRM1F1d2M3Y1MwT0VqcHNhOTY3cXZ5Mi9IcVkx?=
 =?utf-8?B?Yi80OEhWN0ZwZGxWczRtUkVXSlhFV3k1ZE9XZ2N2TDJoZ0hwdkZseTRpZ0R4?=
 =?utf-8?B?R21hVXo5MlFRUTZVODAxbmEveWMzRUpLY2dFRnBlaUlkeTVURzZDZ1hoUDc0?=
 =?utf-8?B?WU1MOWU3cDZoMnV0bVM2Zk15bi93NTRhMmVrR2hHRUtnSWlhZzYzdzdCVGt6?=
 =?utf-8?B?YWNPNXJmYVZHRVBkZk9vNzhTd0ZieGQvekxsMXh3cnhxUU51cmZURXZTLzNH?=
 =?utf-8?B?aHFqaW9LME9TZ013WXpDUGl2dHVGWHhzS21hcWZoOFNtQ3JZb0w4YlRlRUlW?=
 =?utf-8?B?LzBuOEVSbFhpS3dLcVRINXgyaUhMbGQ5K0d2cEVqY25zSXBKVi9lakJSRzk3?=
 =?utf-8?B?eUNBY0swOFI0dmVYUVc1MGY0aExtSUsyYTJMSkJYVHpUb2p3djVXczBIQUg0?=
 =?utf-8?B?QjRwc0JkdjVpeWprRFBFamZFVkxTeVhJcjhBUGlNT2lVVk1vc1JyWU9QMG8y?=
 =?utf-8?B?WVRPRUZHdE9nNXE1d3dqdHJtQ1VSMllIdXRETlhpbkJTbFhCaEt5RmZIc080?=
 =?utf-8?B?UW9WK1NqRWs1R3Frc1ZPaGZ3YnhlcEswOERXZ1drbWpmbzQ5d2lDeFBIeWVz?=
 =?utf-8?B?a2hJdU1DREtYZ2c4WXVYTG5tODgwVmxuQUY2Nzh0aUpTRmdCWHBoL0xPaHBv?=
 =?utf-8?B?bm1kVitLWUlFcTE4dm8zRkhkMDJ5MDA3d1p2Qmxsa2tjcWI4dmJMMTBSYnRy?=
 =?utf-8?B?cXRNalYyVlBFZ2JTWmFISk1vbjFqQXk5VTRMK0xPS3VMaEhRYkp0UU1kNTFv?=
 =?utf-8?B?bTRyTXJBcFd5NWNzSUlxbXJuam0wWGtHdE5TVWhGeXl0L3dIWmJnUk1hYXRz?=
 =?utf-8?B?amhNbFpmREh0SWNEdkhrMm9SNTY1SEFod0Z3cEczQW9SUnNONHdzbG0yVThB?=
 =?utf-8?B?TWhmeThJRUs3T29UZ2NkNEVIaS9xU0N5d0xjM1hVU1FjY3JWMVFzL2tmS3hK?=
 =?utf-8?B?ZDA3azZob0xtTXEyZy9sdDE1U2pheEI2empvQXo4aWJSSHg0aWtWakxMeURG?=
 =?utf-8?B?T3lIN1pNOFdxZ0wyZ2xmek41WU5TQnA0TVl2dkZGWHREV0paSHo1R3V1UmRo?=
 =?utf-8?B?T3lISkRGbGFMT0cyb1B4ak1LOGd2MnZFQXNhWU8wMVhPV1JiMUFOUTQxd3JU?=
 =?utf-8?B?M1dNWFFWdjV3endHVGxuQ1RhdHNCZmxKQ2xrYXo1MDFsSysyM1pPbUY3ODdV?=
 =?utf-8?B?ODR0aHNMdjBSWTBXT1dzRTVTRUlPU2toeXdrUVJqcGR4ZWszMmpSUkt2RWZD?=
 =?utf-8?B?TWtxd0NYaEE2TndsTmVsNWpsbHNxU2ZRV1RLMFRHK3h2b1dPUFBYYk4vNnhS?=
 =?utf-8?B?ZVBJUVg3ZVo5a3NxZ2M2VmxNVy8yOHRXR3ZCT2VuTFNaQVh2LzdGc3pkTXR4?=
 =?utf-8?B?T2pHOVExRG1ZRXNYYlBXQ3orRm5pNW1rekNQdGgzT1J4UGJZU0FYSWYyLy9r?=
 =?utf-8?B?L3hmQ3BYekFZeHdVYkJuWStOQk1Sck90UGVlc3cyTkhFbWNUN3ZzK3U2UGd2?=
 =?utf-8?B?dXN6UmFXc0hMeGkvUEZZcENMb2x3c3lkQUVJWFBtS3o1dTdsQmozNXd4VHV1?=
 =?utf-8?Q?R4vuYu3zJ7Gk0gsDXmoatuvNG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e82322a3-b806-4090-0fbc-08dba7e0ac52
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 16:06:01.0000
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jMhnZI5IFWTydg732zdtOBtJ5V0h6GfaKJshDp8MG2PO57rleFdOq6FqhsEAq6fenxgKRpJxKS65SisJJE+gOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8727

On 28.08.2023 17:57, Oleksii Kurochko wrote:
> asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> stubs dir.
> 
> Original asm/vm_event.h from ARM was updated:
>  * use SPDX-License-Identifier.
>  * update comment messages of stubs.
>  * update #ifdef

When generalizing such a header, more tidying wants doing imo:

> --- /dev/null
> +++ b/xen/include/stubs/asm/vm_event.h
> @@ -0,0 +1,55 @@
> +/* SPDX-License-Identifier:  GPL-2.0 */
> +/*
> + * vm_event.h: stubs for architecture specific vm_event handling routines
> + *
> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> + */
> +
> +#ifndef __ASM_STUB_VM_EVENT_H__
> +#define __ASM_STUB_VM_EVENT_H__
> +
> +#include <xen/sched.h>
> +#include <public/domctl.h>

I can't spot why this is being included here. All that's needed ought to
be public/vm_event.h, and even that only if we were to continue to use
vm_event_response_t in the function definitions (which isn't really
necessary).

> +static inline int vm_event_init_domain(struct domain *d)
> +{
> +    /* Nothing to do. */
> +    return 0;
> +}
> +
> +static inline void vm_event_cleanup_domain(struct domain *d)
> +{
> +    memset(&d->monitor, 0, sizeof(d->monitor));

This looks to be the sole reason that xen/sched.h is needed. I question
the existence of that field in the first place when this stub is being
used. But I guess cleaning that up as well might be going too far.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 16:14:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:14:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591691.924141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaesO-0000d5-G4; Mon, 28 Aug 2023 16:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591691.924141; Mon, 28 Aug 2023 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 1qaesO-0000cy-Cs; Mon, 28 Aug 2023 16:14:04 +0000
Received: by outflank-mailman (input) for mailman id 591691;
 Mon, 28 Aug 2023 16: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=UdW+=EN=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaesN-0000cs-Ne
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 16:14:03 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6fed88d-45bd-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 18:14:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8727.eurprd04.prod.outlook.com (2603:10a6:10:2de::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 16:14:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 16:14: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: e6fed88d-45bd-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IjRO/9gc1GrEsVTgCg6ENaEJMwMFZ8cnYmybqLs4+HL7fry98DXru5fJ86pqV31L+WngX+veN60U2/XtxvtLFuafksw2uk5znF/2Vfc35KrMeooDWLMi8gmIHAU43M0KuqvZxhW0HyR1UV1zNmhj7INWcToMXEJwXgmHAuqyDqiMsTvpWqHRUivSlqH8NlxFpDJsrsLuh0IEjFaCultpM2en5CoUL7m941Nw4BdpAXquzQWVHFuXMhDMHMDGEfyYzxlkbHkJzOnMH/AJVaGJ3eKFKX9m5fRUnXdVp5vXg5smeVM0sk12iZ+oD4ifm7YtABM9VGqu4NMJsFDpkwO7OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hcb8Z7PPC9Fxf1bYcSW64of61eCT5EJ6bq4tWZPQP0s=;
 b=cWmiopd+c1EUHe/1E5WcjlI8MT5vYp3GczBh4aFdmZD9qWbyBWcNqGe2nlLGAHqrQVXex426tTyDYBwghlYR86ukiaJHrl9/90tlbJ6x5mjVxYWEtRnDiLopyJ8kjCOTG6OMJwCUEM/iVE3npmcYGQqvF94AhlaBf07LW0wypTrM0/SrW7k/vgeNRWt11NZ+HDRCOovqRAr+FaRcE8uNydJB1IlEqaGEOBlOv6buUfN+l9HGZIM1ONN1AWSFeFI8aEXO7y9WhfPDcnGJioPehiDCBihH5RmJNwv8DX2JgLd2XKuFALD2SlrQohn4VDd5d9nDfhDaRiyNuFYbJsameA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Hcb8Z7PPC9Fxf1bYcSW64of61eCT5EJ6bq4tWZPQP0s=;
 b=fzcmtITQwAjYjHGf7NOyUOAgUsBVo+LAMgbhEe5KkgykN6F6XYUHkTLN3vNlgklN9UEozKj+TY4xSncjK2TgSZ2PWe4SO7z7pjRvR/ZuS/6iuPnLGOSYjebVfDImSoSYc8BpcVPn8OjJC4PRVtIpTXhHjScOg/539jQj0GKNEd+D0EW+Lvg8nDaQ2SwVdQ8R+CpcAFNHrYTYJtSR/s+mmm1+44acKeaL1PEIGzqF0padB2EBCbawE4qpjvCiAjM20KqRsJAMsWLEsVwHDl/ANQEt2w/DoF/hJRu23OZcX5V3X/7jsDlk1sbiSt2iOyip51unbOe4TBEvEIUp4ZVTbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3d2f917f-f613-52cc-7d98-df2c6139b718@suse.com>
Date: Mon, 28 Aug 2023 18:13:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86/irq: fix reporting of spurious i8259 interrupts
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230828101428.23579-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828101428.23579-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8727:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a834924-5975-447a-5150-08dba7e1ca10
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6mOAh7ye7zbDg9H+fLqZNEooVC7ApFJbBd6MgBnb79BvnL542j7pLJkw9vcXh8qrGzoUo1/cv93wP9EYBM47C54mL9xfqRIlx6zgMjqfmV4M2XjUXg5pvC0DQX4CPkam15FumH8QMsjdNf/zkxvmNlu42Zll+1UIjTiFFKRtQcg5aYzC5B+Gz1ViBe7lxejQ8dffF2IMKFaM7Lx1d3IW3j91V83l2xd2O9/N/LByHAthtR8yPSyPCxrtpVLvqtT6gCtliLbJ+2ILJsg4g4+1Xxs7yrjs+3kNIGLwD9e3o+h0mCGPtDpkULLTOdFwECtsca5TD65jz/VDWtWsragwEptUwt4dtWtyJ75GRm726Lmmujt42hpH/jgeJW+12xMofCAZn7c6YieomVQOKxlXTo9ZkSO5zmRf1QGD6Rq+IzOxx9j+inHlBSW/Jw058NYiL3cgbSBlPCkXwN5dBjpxzwHKGwuRt3z8msV6hBJBZ2ij5WK7lJbLEIISqBQcj6vQB6GeWxqP9BYfsro4mDEUck+1UBSIphzri7F02DQQCwtx6V+ee3iAuOKblRWvHT6X/M3zFN7sddiKZ6s5aVwNvQO28aOwAdmGGs90Eh2jTEZlbgyRB5lB12PWEZuUt6Z1NPET89jjda+B0wZq7fJ93A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(376002)(366004)(136003)(451199024)(1800799009)(186009)(478600001)(83380400001)(26005)(31686004)(2616005)(6486002)(53546011)(6506007)(6512007)(6666004)(31696002)(86362001)(4744005)(2906002)(316002)(38100700002)(5660300002)(4326008)(6916009)(8676002)(41300700001)(66476007)(54906003)(8936002)(66946007)(36756003)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TU9wdU5xMWxrWFdJNHdwWUJQR2hUR2szbVA3K2JHaGhIVjhYd2xaWU53U1BU?=
 =?utf-8?B?SklveHpyS2hwcllvSGZyZHYvZ0VwVFd1bkZsS3pxdGF4ZFgyZW9JdllGbjBh?=
 =?utf-8?B?SWd6RExXanYzZVVtL21GaEdLZGJ6MDlNck9Hc2sveUdLSk9BMzdCRDVnT21p?=
 =?utf-8?B?WGNCNjl5a3doK0RtUUVhN1NROUJhL1lHeWhpc3BuOUNTalR6N2xVbFpVQS9M?=
 =?utf-8?B?MndSeUN0S1A3THNPbGFOSlQ1Q0tITXlVQW9KdHdXU0w2TzB1ckQ0bGY4UUln?=
 =?utf-8?B?YkMzMzYrOWNaQXFYU0txd3kxQjc1MW4rUjlkdlpjMS9pR1gybVEzb0JUa0NM?=
 =?utf-8?B?UzRuUkNSeHZwT0dDTUdzY0U2ZklVNnFrNVNPNWJLdEdLME4xK1JDREtJcHMz?=
 =?utf-8?B?RVVvTENvVGwzTm8zNTVjN25Odzc0S0ZiM3Z2RmJPREUwZ2VxNW1lWi9OSnVF?=
 =?utf-8?B?bjhMUURkMnpRODlacFJpOUhhZXNCR1o2a2JubTVzcWdkbEJGdjJEMVd1Yk9O?=
 =?utf-8?B?andXZkg4YUVUOFlobGNESGY5NlZnZXRmWk5WNXNnUGJFWWV0anBPVGZXQk1m?=
 =?utf-8?B?Y0dQcWw1clBPQjNURXBnVURpaHAvcis4YStDVFJiT2RkNVg1NDlpTFBEMTdl?=
 =?utf-8?B?WnVTWnh5Q1U4ekZyV0lEYmMvTmVKNlZwc0Q4Ty9IdE5NQ3lzNEZGaGZ6MzV0?=
 =?utf-8?B?cGpFYTkwMVdVUHdKWmR4dS9NYXYzNmhVaFI5bi9hMk9HcVZnQWd1NkRHdkxV?=
 =?utf-8?B?eW9KSkNhL2VpT3VLVmR2cXNPWGhydHdtdUtqTGhSdElEdURFMjB0M25IeHFU?=
 =?utf-8?B?cW9XTThLNzdoenpPSDRyUTZMdHhpdnZLazIvVHFHMlN3cWVPVHRnZGhlcGpV?=
 =?utf-8?B?MmlkTCtLYTBIVkhRdW1ic1plUCtzSnBjZVQ3T1l2aStkbXJZK0Rib2tLYU42?=
 =?utf-8?B?NGxOU0RRdW5aMGtST2VqTEUycXFoMStraUFjVWE3eW9idlJ1eldZZFB2WlBT?=
 =?utf-8?B?NWo5Qm9jYTV1ZjJsVVJRZ2pTR0U0ZjlVM0tzZEx5RFFUVU1TbE9GRUc5OWhH?=
 =?utf-8?B?RnZCa05ibjZ3aWdRSXZZYjF0WU8vbTB3eklmKzRmUU5pZ0xGVUJWVUVsK05v?=
 =?utf-8?B?S2V4cEt3UDVyRGt1QVBkSkI1SUVsdUxqWldNdHJCajVOMko1RG9XUjd4SWN3?=
 =?utf-8?B?YmtwWWxsOGlBZ3pLaXhPcUI2SXJHU0lSOHd3UndaMWpmUE84MGErQ3lyZXM3?=
 =?utf-8?B?di9wTy9Qeld0SUN3RU9COUlNczFZeWIrMjN1bXlWMHlLSTlxb0tDazAvK1kz?=
 =?utf-8?B?NWtPT2R2OVRIcTdxcGloc3o5amM3bEdBTFRIUzQrUVc2Ty9iWmdVZSsxM2FE?=
 =?utf-8?B?QkpRY2p2dGlTSzlNY3lsN3J5OVd3Q096TjROeXg2L3VkZk05NlQxb1U2M3U3?=
 =?utf-8?B?cnFXaUFnNko2VmdvQkxhSWNUb3hDcktrd3lrVmlCVUZrWkRDM0ZXSWdoaXh2?=
 =?utf-8?B?VCtiTnhidVJJOGdGVm02NnkyOUcveXZSYmp6MVA2V2lWNXcwRDJubjlUQzRa?=
 =?utf-8?B?TTdEbmZSVGk0dG1YOXdRY0pESmdjaHkzNExwVEgyYlFoS3p3MVpjMXlVZk1u?=
 =?utf-8?B?bk1CZ3ZTVDdMTWt5bGwyQ2lURE1iMXJIQWFqa3BqeGZCUm5KaE5pWlFuZHg4?=
 =?utf-8?B?V25GRGxySHZkZG02UHI3b1VNaVlIWndsM3NxQnR5SFlSOVhYWHJqOHdNbVc1?=
 =?utf-8?B?NGN1dE4vbUd5QVl3YnZ5aFVucWM1cUFUQjFtVy96L2JqeFMvWXNtR2kvYUx0?=
 =?utf-8?B?bWtBOG9aeC9PdXZQUTI3a0ZrRFk5L291bHpObDFQM3dZZ1NJMVI4Njgrbk9O?=
 =?utf-8?B?VUYvaU9uc0FVdlZvK2hJcGZ2ZU1HbGdyejgxSmRSMzBONUpaZk9VeXJudmw5?=
 =?utf-8?B?NlJ3akgxWEt6UU0rRXVnOXU3TXVqTExaTlpwdzJPQzhqdXBialQwKzVjOGdJ?=
 =?utf-8?B?QTVtNlFsYm9UTnRqb0Q1OWhUbm5FdmJIcHVocUV4YW84RmxGdTJmUElRMVk0?=
 =?utf-8?B?QkRQVFhMaHlzaGdGYllidW95cTVYWEpqOEVQakJPUVBqdUF4TzdPOFRvYTRB?=
 =?utf-8?Q?nwUPxfly0mf4DpVFYZs2ZJnay?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a834924-5975-447a-5150-08dba7e1ca10
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 16:14:00.4730
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aF6TSTXlsRZBSYZMm7LFUgP2bp9NYlBKk9+V5gvx3yKuS+zJJjbfDbFWmdbSCahiP04ODzmZo610g2D9x1FnDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8727

On 28.08.2023 12:14, Roger Pau Monne wrote:
> The return value of bogus_8259A_irq() is wrong: the function will
> return `true` when the IRQ is real and `false` when it's a spurious
> IRQ.  This causes the "No irq handler for vector ..." message in
> do_IRQ() to be printed for spurious i8259 interrupts which is not
> intended (and not helpful).
> 
> Fix by inverting the return value of bogus_8259A_irq().
> 
> Fixes: 132906348a14 ('x86/i8259: Handle bogus spurious interrupts more quietly')
> 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 Aug 28 16:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591699.924151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf08-0002XZ-CK; Mon, 28 Aug 2023 16:22:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591699.924151; Mon, 28 Aug 2023 16:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf08-0002XS-9h; Mon, 28 Aug 2023 16:22:04 +0000
Received: by outflank-mailman (input) for mailman id 591699;
 Mon, 28 Aug 2023 16:22:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UXm6=EN=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qaf06-0002XM-74
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 16:22:02 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 033cc35b-45bf-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 18:22:00 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by BL3PR12MB6473.namprd12.prod.outlook.com (2603:10b6:208:3b9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 16:21:54 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 16:21:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 033cc35b-45bf-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MFsotpgG1RY7dKtC27FqI3bvo7MU5hyUGJKmMdtKsVKzLYiUvhQh1y/xi4pSH9az/rNSpuYwt4cSwCtY8TaNIKx++suKG7w93QkEoYqAxCe44D1Mqj9m3WgtXygQ+TDAR/NbfzA3ekxmp9GLvi67U3S8BUMKfpRPVExNLOONu0LKFYbw1pImx6m+fEzfqkqeydjza2um91x0XAS0Yhx7l3zErSsjDW+6l2M1STpqmnFn/ayfZIbSRbke4E3HqVVuwVLLnyEDiyjMtYR+nSqBD9C981XTQqFc/mlJ9bC0GFvXLbbOhJ++2djYB+QxjjnxXI/G52pdSYX3kR+p0I2mKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7SSjuE/GCajdaTJNp4yiC3EW6+InoAD5ApDD+ZM2ZF4=;
 b=QKns76NaTudywW0vkUnC4imJWkTFP1x23bU+Vtr/nLFKge1km8FtISgwdLpePa5r0B5/lck6D/U0KOqlLlnc2gw2rRLBrxCktTEW0IvV+myzLq25SLjCdvI0H543QNzb9AHbcuA+bWZAUPwsY19Xs790aAfVChwN4tn7ZR2bv5OiunSYiX6Fa9/xCsecizaiT6HcqQyd51ss8Ghcp7LQcBEYFfDow4pu/m3Bll9Y8jOECKe2gJUTj754sm+mgRHQFflJ2ThDBvDeLQ0dZ9n5CmF0zhyNTmY2Ey8A1S8DYaHgnxkbDoKUXd6xB2mFT1QKzcUl+MfQjnO6tcuVdiGtXQ==
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=7SSjuE/GCajdaTJNp4yiC3EW6+InoAD5ApDD+ZM2ZF4=;
 b=nHqoL82/OKIVEWP6rAbR9l7c4mknnbOKCx5WDG/0NA1IuQa0Hr38yE9aeAvhwth5EcL1OIPUIpxyK09lFewYFtAooGyPeqXdqifkxTvjGCPKxa8VZo6yd/W+ZAV/Oya6F+XakOhP023nz/AZ2ryAlY0rs2MAdHprT2IxJAS6kYw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 28 Aug 2023 09:21:50 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	"michal.orzel@amd.com" <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: Re: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from
 function type
Message-ID: <ZOzJngLaiVrM6V_w@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-4-vikram.garhwal@amd.com>
 <2A11B6BD-60C3-49A6-9680-084E41EBCB6D@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2A11B6BD-60C3-49A6-9680-084E41EBCB6D@arm.com>
X-ClientProxiedBy: SJ0PR13CA0119.namprd13.prod.outlook.com
 (2603:10b6:a03:2c5::34) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|BL3PR12MB6473:EE_
X-MS-Office365-Filtering-Correlation-Id: 06c5bae9-c94a-4477-c0c6-08dba7e2e461
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sXgJYmze+f6ytZ+KzUhLIWODvedVQ3QudoXaY6inW5cKpY6iculzaG8NFHTy16i6rmxCGFTJwvhxOtvQdOri10W8z8VzUyjzXMn3/E1OAhKFL5UJmbsvMzsarO9RnwY2bemJKbiJxgtEtVEHOiiELzGwgQ9cKgGGfauOlexTJlxc8W9t2mJSyVviH/JyAZRouaEGRo2+966r1UcfEkGzkd4Va1lSsmZv0x85oXM5NfMyS7aDTFTpVQQPTyT6Fh//So8tDOIyY4a+hBJZ+CYbpl8jR37OKF7INWpL/A50VaXg/ChoiMFJxGHd8SwhrTw947e6jNDACo0bvhjIqMW60AlUMY40P/SsFQ5Izjis3CHcz1mxkzQZ2AjPqVbmY2ON+EOJoxYkaulfzXe6jjFEjGK12LJwmMHcM+2Y7WUQOCT5sTtD4ggPtaaw/cbkZLMVcOzZk79ADWTovdvvf0A0g3MNW5mi5inK7luF8Ko1W/VfGZoBSwyg7qnc0efivhlWZqEdsjyQp3IrTT7MHgQTCzd6HaYP+/NP/jxQ9xYz+2k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(136003)(396003)(39860400002)(376002)(186009)(1800799009)(451199024)(41300700001)(38100700002)(6666004)(86362001)(478600001)(966005)(2616005)(26005)(6512007)(6506007)(6486002)(53546011)(4744005)(36756003)(316002)(54906003)(6916009)(2906002)(66946007)(66556008)(66476007)(5660300002)(4326008)(8676002)(8936002)(44832011);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVk2dnVpS1VOcENZb3RuZmh1QWU0UDVGQXprYi82L1g5dkJXdWZ1YnRmWXRo?=
 =?utf-8?B?ZGxQaUdOUnNrQzVMSHk4ZWxFd1pqSzdBYlJLZlpSR3dGb3cvVlQvTEx2ODZ6?=
 =?utf-8?B?NElVZ1hMMGhRRytEU3Y5TkZYNkt1dGMyVzJKK3NTOVJ5M1Z3QjhZenZYK3Rl?=
 =?utf-8?B?Rk4vRHFsbjYxM2pyMENXRWhJY2N1bnc5NmM0WEJWN3ErQnc2YnhYYUt1RTRl?=
 =?utf-8?B?Yjd3OUU2d01xK3lnUnJHMDhHVUpSenQzbFY3T1JyQzJXc1RmSXozOXNJci9J?=
 =?utf-8?B?dzUrd0RCdzIwek02SDVWUGJyZnRtUEtHbSswT0UyaWtmWWEycEZ2UnEvNUV5?=
 =?utf-8?B?dnNKZThaL29EV1N6Rk1zZHVzSEZaTEF1M29qUUlJU2sxN0xvUlJVVmVDem15?=
 =?utf-8?B?Q1ZobEdubkIrc3RnRkkvQ3JubGlZT21QeUQ1RXNjUkV1bXpybm1vaENpU2sv?=
 =?utf-8?B?cDNsZDdCMmp2OVd6RkVXbFFMVXoyWlpOYnpIcHkvcVdaZ2xCRXJ6RlMwOGp5?=
 =?utf-8?B?cTlrYllvNzQ2cVhmWmM0OCtlOGxTZ29na1o5d3FtMTV1N2FoN0ZZMDdwb0FK?=
 =?utf-8?B?dUdFS2E1QnlSWUFVK3VpZnpUNWN0M0U5MXlEcHRldVdrTTRqRkFiRkExcHU2?=
 =?utf-8?B?Z1dkOVpHT0d6ZGFOUVlreXQ3enhEZFRpV20xS3ozUkZHUzBPZlY1U2cyaGQ0?=
 =?utf-8?B?OWFsVjkwdXJEcVlsK21tZmovcEp1d3ZidjgwUkNMKzlDTmREZThrcWtiaXJs?=
 =?utf-8?B?N2lnekZYOStseThBMEFiUlpUZmZzNlMrWXFVckQ0bzBzcmovckEraHBLWisx?=
 =?utf-8?B?VzZIV0ppMHdlVEN5blpxemxRS1NyYVVwdXlOSk5MdGZJYkluMnNGSWl3U1ZU?=
 =?utf-8?B?cGJJZDRXY3RzSEd4VFZldHl6ZmtlejFSK2FBV2xkTnpGR1JBK2VOL0RsNkRW?=
 =?utf-8?B?WGk3aldXT1Q4OU9IeTUrY3hpVjVHMXBFcXArVUtKL0NrUDlSVjUwbWhmTEJ3?=
 =?utf-8?B?VElUMUNsRy9kMmVaMTExTVFIelVGNFZZdjJJUkZFL2Z5SXg4bm80c01OdWlC?=
 =?utf-8?B?N0hXaHFsNWdHVnVLRGVKaWJjTDRXcTdJaXpxaDZ4TzZIUUFFRmR1cHRpK0Z5?=
 =?utf-8?B?eHhlTTYydUNGeUJRbGhtb3VXOEtyUzJ2V3JZZzhiS3hVUVZybklWQjBOL0dM?=
 =?utf-8?B?elE2Y2l4cExnbS9LVkIzMElReXcvZFZtM0NpZ3lkNXZMWXFxd0pNeVdITWlB?=
 =?utf-8?B?bXRuYkRPK3MzdU1oZ24vYWsrTll2WXJEdzVGS2xvbzRGWjNFTE5WY0tsRis4?=
 =?utf-8?B?Sys5emU2dnRROVdZaFZSWGY5VC9ZemxqYTRURDVYOGxERlRLUXdZR3ZEa2VB?=
 =?utf-8?B?UVd1OXl2V2hHMGhONWZEWGJOc2p4V3ExV2Q3aXgxNnFtWmtDNU4yU1Q1YVZ2?=
 =?utf-8?B?blJ4Y0VNVitQS3RMU2gyNFZVTnkva0Q3K29ORVN2Smsxa2VtMlh0SFJML2NE?=
 =?utf-8?B?ZTNvRlRuUE9HcE13dEQ0NEJ4aE83MFQrRUZ1MkZOYmRKU2ZOaFFVSXE4UlVt?=
 =?utf-8?B?enJBMmZTOTBJK3ZGWlVQZGl6aVNqQmZYWjlSNS8ralZYR3JGUFpaejhYM0Qw?=
 =?utf-8?B?T3dtUDlJUUl2RVpNaWhUL3duK05pY0YrK1ErVmE0Q3Rhd2o5eEp5b3BSTngw?=
 =?utf-8?B?SHREWHg3VmIycVdXaDlzTGY1S1Z4cDFwVHhoVjFTbUFlYjIwTk1TNTVZWitH?=
 =?utf-8?B?Z05ZVmROYnJxRzl4clRwOE0xbk5qQzVmbHV6TGtLd0NSSG12OXdUMkVnbkxz?=
 =?utf-8?B?YktabEJGak1NYmkvZWxnSGppaEY2ZUZTNFhQZnl1TkYzNmJadHhZQ1czQVJJ?=
 =?utf-8?B?SHRLbnJYTDF5TDhFM2tsd1FLb1c1NU5QTmtUMDZWSjd3RXlzVmw4R1RKdUk2?=
 =?utf-8?B?UUJKQ2JNOWRlZFNSRVNMV3FCQUk5R2kwQzUzRTRDcGdqeVZ4OTVkMXNBUzB3?=
 =?utf-8?B?R0hVZkVxeW5zZFYwUlp0bFdNT0VkNTI0bDAzNWY1T2xxVm1GRjNlSXlCRlcv?=
 =?utf-8?B?ZnZSMis5V3Y2eG14M1lnWXdKZlFwMVFuaFFoRUNoSXM2VWNoYzVobWdrQjl5?=
 =?utf-8?Q?FKDU7ho8eRFbEFI/QG9yjCup4?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06c5bae9-c94a-4477-c0c6-08dba7e2e461
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 16:21:54.2795
 (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: 69ykpPnDeW5Hwtl6XjHfM57qtRrmQBe25fZrw5uCsLmGiUY69IdZGZCtfPJXIYJfPxV+CTlU4NOvjHVKa8JyVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6473

Hi Henry,
On Mon, Aug 28, 2023 at 01:53:15AM +0000, Henry Wang wrote:
> Hi Vikram,
> 
> > On Aug 25, 2023, at 16:02, Vikram Garhwal <vikram.garhwal@amd.com> wrote:
> > 
> > +
> > +/*
> > + * handle_device_interrupts retrieves the interrupts configuration from
> > + * a device tree node and maps those interrupts to the target domain.
> > + *
> > + * Returns:
> > + *   < 0 error
> > + *   0   success
> > + */
> > +int handle_device_interrupts(struct domain *d,
> > +                             struct dt_device_node *dev,
> > +                             bool need_mapping)
> 
> I think you missed one of Julienâ€™s comment in v9 that this function is
> suggested to be renamed to "map_device_irqs_to_domain" [1].
> 
I sent v10 bit early. I will do the renaming in v11.

Thanks,
Vikram
> [1] https://lore.kernel.org/xen-devel/5908b638-f436-4060-a426-9839fc563c63@xen.org/
> 
> Kind regards,
> Henry
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 16:26:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:26:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591705.924161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf4B-00039R-TR; Mon, 28 Aug 2023 16:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591705.924161; Mon, 28 Aug 2023 16: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 1qaf4B-00039K-QC; Mon, 28 Aug 2023 16:26:15 +0000
Received: by outflank-mailman (input) for mailman id 591705;
 Mon, 28 Aug 2023 16: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=UXm6=EN=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qaf4A-00039E-I8
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 16:26:14 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9979ec00-45bf-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 18:26:12 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 16:26:08 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 16:26:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9979ec00-45bf-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ThboRlM2bXloFDDSBoX0ruarrsfrdsHr/wQOpCN4QeGdlkSBW39fjHUBU2ZvAdj7I9b8I5CMqm/kpje2j+WWmp33wJ/P0LPJefCBSEUpLRKUt4hT2+Zu7r5Yhr0XRyxDGzTcuI5/tLpDXRZcS73nGHyCNwLdvGrAIPBZzkILyDhMq6rBT1EorsHxKupQd+tmq4m+Dl584i4R77d6kgU8PMUJjUVdxBpOG3pSrxbVvGsSzPqBUPzFox3xHw8+2FJLz4c+ckbSSi/NfSQVIojXD5eQ8yXyhjD0qdGVKHiZTrLdP7FGDc4i+jSNDOoyW0BP+OtlsuY/BgTQ15NcZZy2mw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KXmdMzSEja3wi+N5voDPl/XQCMRdAnxTFEmHTgMtlyA=;
 b=Oke17ENXr+s+JPsNdLI6rVavDpaKGNx4wcxVMn+Z4im+TMFXiiqIO0iHmWKChHnh514Hi09+QctpsLS7HZ/SQ2hS+eWL5OIMzePJXhODeNHgQYjOfoF8NlMwyTBV612/Td+Mp9KcMxtw7M3g6/MCz6f2M9sNOt1U2DV6fi45TYt8i9Jg7AD9S1XFZfvnS63rdTJMhvD3xvN8LAOnBR9kRzug58hVikhWky8GCMJ5Wp69myfSBldRQemk/zJEoRHcqi4XjS+WDH87WO1ZwXbfYuJH3rNeBFjQcDtCmxAWMVuh9WfzMArLmVPXACEelj9L8DVMLGrlLgbXkMf5MMeXXw==
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=KXmdMzSEja3wi+N5voDPl/XQCMRdAnxTFEmHTgMtlyA=;
 b=UZQzGNan1cOVzICP5zVhdXoYu7PUXCDI4GdNu6BOYxpawESdjFGI/7VJSiEEw/5/pflSE0vdrtl8OsL51Z1W9g3OiYIigWVwhXe5M5g+Bog3MXXlz2YZWUfwQOglMB7JgNb6W2W8i7j/yCgtDhTe+HPog+cyMiR1Lebqrn0RRTg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 28 Aug 2023 09:26:04 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 14/20] common/device_tree: Add rwlock for dt_host
Message-ID: <ZOzKnGiPPv9r8yzj@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-15-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230825080222.14247-15-vikram.garhwal@amd.com>
X-ClientProxiedBy: BY5PR04CA0024.namprd04.prod.outlook.com
 (2603:10b6:a03:1d0::34) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|PH7PR12MB5757:EE_
X-MS-Office365-Filtering-Correlation-Id: da5568e6-d9ce-4232-25f5-08dba7e37bd3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TEZC3+rbChQYix2D0cpVVpvbfZpU1uNC8Kj3smzLY7/y9UO6jPETiH/Nj21Fzigq1McAPhfTBUsWQEBfyJU3hGOhQdh89LemSPH51XlTUE59u3f1qngtRAkXfEt4VBazI2hZj8YPHvSazg1ZvguekP//fkm2ERTcd2wiu8RM85KOyndkh/zxxkrxF1stm1n1VEX6hIszNDWB/WZiy2EX8m4AwYGB6OSnLFiBEh5+Uxl1hogtpyN+oc4oy8b8+VqJwMq+gWPWUcVISYt3vgYCekApVObrrV0LwRq9u6sozed0k4YNiB8CRMOPM6Foj2UAO7hWO5wKSvXAp98WhVvCfBBO7mv3WYJ5VQKiExGz6ROI7xZcub4ckRHOuLS8yCtHIgrrBONFHlYWGPLpCUQgw48CF7/uuVKVXr5PCkXQChcBLpaXKGZcLNGmSlxWvhuMF3HYBqnrtnWB7VQcW15nTT1i9MTVUtvJwiXf0F+/jrp80/NrnPY80VDWaSU2FuoMqMsoNV5LNkgoA6RAX1kTs24mPa8LkVdESeVHXiW/Sgp91y5KqVi3h1TaehIKHOcK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(376002)(366004)(136003)(451199024)(1800799009)(186009)(478600001)(83380400001)(26005)(2616005)(6486002)(6506007)(6512007)(6666004)(86362001)(44832011)(2906002)(316002)(38100700002)(5660300002)(4326008)(6916009)(8676002)(41300700001)(66476007)(8936002)(66946007)(36756003)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXFRNU1iazB0WEJubVNZTTg0Y0RqeWJlWlljcnlPcGNEdHFSb05MWW5xUjBC?=
 =?utf-8?B?bDd6NGs1ekM2SFhNR0tEV3FaVUttSUtnZEwrVVQzOHEvOVFuZnBpYk5Rejh5?=
 =?utf-8?B?S2pyek9ESk9BNFlEYXQydXlXL2hOZDkzbllEZXdwMGdjVlFObVR0M0VES1lZ?=
 =?utf-8?B?VDZpejI1ZFJKb0Q2bEpvcXBPSnhTcmVtc0JkeTM3SVd5MkRoTWN6bnVlZDJh?=
 =?utf-8?B?cCt5WXVSRXdJeDYxbE02dXBsSWlPZDBBNnphWWh0RFh5YVE3YUhxVVVvSnNo?=
 =?utf-8?B?bVJWUThxaHkxaFVwTUY4KzJ4YnF2VTFuUzJHekxtZkZsVDM1dkpxWlQvTXR3?=
 =?utf-8?B?YW95cnRTQ0o1ZXZmbGtqeVBCZjk5QlpSWDdUeS9sbXU1QzhWZW1zWFVyWUpQ?=
 =?utf-8?B?NUR4ZUxpNjZaUDEzWnloMGllakNXNHRTYUdrY2Vreko1MERMZkMyWmwyR3N0?=
 =?utf-8?B?MDArb0xIR0JGS081WEVkZWwrWjB2YUYwYnVLOTBnanRJQU1qbkorOVlVVStm?=
 =?utf-8?B?cTUyc3BYUFFRZUUxeVh6aENZK01lVExtV2NrWkRnSURCcmlRUy9tNDR4Wm82?=
 =?utf-8?B?dFplcytlaXIzdU12cWNsVys3SFdXUklTaXM5NnNaWHpEdkY0c3ZCYVVyRC9V?=
 =?utf-8?B?Znkwa3VhL0ZFcldhaG5ROE82VDBNYzBVQWx1WStQSVBjYVRlUzBVdlhVNjlz?=
 =?utf-8?B?VFRkbFZYWm5JU0pNeU51c0xMejdRMjFzYjZzcW5CVFBPdDUvMjl2MVlwNEky?=
 =?utf-8?B?R09vMllhNjU4VzVoRVgvVDZ2aHYxS1JqN1dVUVhpYm93ZzZIWGR3UGM1V3Bp?=
 =?utf-8?B?N2ErTEVnME1SRS9EVytPQ3Njc2tWOHlLVk50L1ovTTlwLzlxWE9DV0FENGZM?=
 =?utf-8?B?d0QwTjk5c0FtcUxmd3JSazZ5THRPcFloNXRZTEQzT0J0NmJncWNOWUpTOHpH?=
 =?utf-8?B?bXFsem9KVGVvTlFScjBkM2lndVpSWlBsV1pCdzlRVTQ1ZTVTcXFVeWVsZ2dY?=
 =?utf-8?B?UUQzSGRiSTNubjdQOXY3QjJ3alFGMUg4eWhOenBEMUhGSGgwMGVKV2pXRzd3?=
 =?utf-8?B?S2txZk16MlBPOE0ycGM4Rzh5cXJZZDJmWDI3Mkt3d0QzSC9BV1N4YVI1bU4w?=
 =?utf-8?B?RWliZlkzMTg0ekdOekhVUnhPRzBGOVBmcDNlSWZndGZ5TTE4cDdqUUlIbUxS?=
 =?utf-8?B?Mm5VdzNIZ3MySDNST0ZSd3VaVjh0c050anB1ZUt5a1ptalRlVldCMDg3U1J5?=
 =?utf-8?B?UXR1dk43VjViMFcwRkw1MUJqbFhpTTY5U056MTAzZmVMd252TldWTXJQVlpH?=
 =?utf-8?B?RElYZTcwQ2d5cC9lY3htcmFHTUZNejRrTnpTa2p4NDR3TnducGZTdlFvY0Np?=
 =?utf-8?B?a1BQdjBlTEVXeUIyZmk0b2NWYVJqQnQwclR0RFhqRCt2anR0R2k4SmpnWk00?=
 =?utf-8?B?RUJlMkk5WnNMZzhRMlN1R1V1djlYRGJEcGVpaWRkVWUvajd1VHp0OW1ucEdF?=
 =?utf-8?B?QmgzL3NvRWZyR05uazJDRnpncE9aazI5SUNNMUxITWJRckJvRjdwN1RRT3ZY?=
 =?utf-8?B?WHM1YnI3Q2lvTExhc3pQYVpTR2VqV2k1V2I1ZlhLSEFNSldBVzhtREdUZ05B?=
 =?utf-8?B?VDUrMkpBWEV6NWw1YXFTZkJMT1I1dWdwa3FtWGFJUDRqQVZ2ZmlaWVI3T3hT?=
 =?utf-8?B?VXdxN2xjaWwvWlhqV1R0YnJibytNOHZ6d2VEWmdhOGNhdnBKUXNxTHREdXNQ?=
 =?utf-8?B?MVBrdFd2MnI0WTlsbWM5UmZFTzBXb1lLbWZLNlFSN2tiUERZREo0MkdhTVYw?=
 =?utf-8?B?dGFMUjZCYkRZN3VCQlQvQzJlWXlGQUdEblVWQ2RzeXluQmIyYnJ3NXR0QWlt?=
 =?utf-8?B?THBMNE9qWDdvQ2FzaGpNNGF0T2pkbjd6dklSbXc3NThhOWlHNlRHN1c4cGNJ?=
 =?utf-8?B?VE1TQk1JRHVYTnRnM3d4enp2cmp4VnNvWE5XMTJNbWt4UnpwQ1R6RDBJL0hq?=
 =?utf-8?B?M3hPcmJEbHc1aEFmeVZNM2ZXWmZsNy9DN2ZHblV6MzNnRWNVQmpaNGd3TllM?=
 =?utf-8?B?T2swdm9LWEFFOFVtbXVNdzc0dDVabUlJUnhXcHVmZzhkQ2RsS0l5QmNURENY?=
 =?utf-8?Q?vQtsSlUtSfhaE1fDRUSe77u29?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da5568e6-d9ce-4232-25f5-08dba7e37bd3
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 16:26:08.4901
 (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: VnHNf5BDrW/FgigfUNdISfhSNjGtD/0Rfp7+AwDEaLntV2ZY5ElHn5hRVuO5JwiSBRbaU/izrkF/Vrydl4iwbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5757

On Fri, Aug 25, 2023 at 01:02:16AM -0700, Vikram Garhwal wrote:
> Dynamic programming ops will modify the dt_host and there might be other
> functions which are browsing the dt_host at the same time. To avoid the race
> conditions, adding rwlock for browsing the dt_host during runtime. dt_host
> writer will be added in the follow-up patch for device tree overlay
> functionalities."
> 
> Reason behind adding rwlock instead of spinlock:
>    For now, dynamic programming is the sole modifier of dt_host in Xen during
>        run time. All other access functions like iommu_release_dt_device() are
>        just reading the dt_host during run-time. So, there is a need to protect
>        others from browsing the dt_host while dynamic programming is modifying
>        it. rwlock is better suitable for this task as spinlock won't be able to
>        differentiate between read and write access.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v9:
>     Update commit message and fix indentation.
>     Add ASSERT() for iommu_deassign_dt_device() and iommu_remove_dt_device().

Copy-pasting Julien's comment here for keeping comments with latest version:
"We also need to add ASSERT(system_state <= SYS_STATE_active || check lock);
in iommu_add_dt_device() and iommu_assign_dt_device()."

I will make the changes in v11.
Regards,
Vikram

>     Fix code styles.
>     Remove rwlock_init in unflatten_device_tree() and do DEFINE_RWLOCK in
>         device-tree.c
> Changes from v7:
>     Keep one lock for dt_host instead of lock for each node under dt_host.
> ---
> ---
>  xen/common/device_tree.c              |  1 +
>  xen/drivers/passthrough/device_tree.c | 24 ++++++++++++++++++++++--
>  xen/include/xen/device_tree.h         |  7 +++++++
>  3 files changed, 30 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index f38f51ec0b..b1c2952951 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -31,6 +31,7 @@ dt_irq_xlate_func dt_irq_xlate;
>  struct dt_device_node *dt_host;
>  /* Interrupt controller node*/
>  const struct dt_device_node *dt_interrupt_controller;
> +DEFINE_RWLOCK(dt_host_lock);
>  
>  /**
>   * struct dt_alias_prop - Alias property in 'aliases' node
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 3fad65fb69..b81dab5a48 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -62,6 +62,8 @@ int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev)
>      const struct domain_iommu *hd = dom_iommu(d);
>      int rc;
>  
> +    ASSERT(rw_is_locked(&dt_host_lock));
> +
>      if ( !is_iommu_enabled(d) )
>          return -EINVAL;
>  
> @@ -114,6 +116,8 @@ int iommu_release_dt_devices(struct domain *d)
>      if ( !is_iommu_enabled(d) )
>          return 0;
>  
> +    read_lock(&dt_host_lock);
> +
>      list_for_each_entry_safe(dev, _dev, &hd->dt_devices, domain_list)
>      {
>          rc = iommu_deassign_dt_device(d, dev);
> @@ -121,10 +125,14 @@ int iommu_release_dt_devices(struct domain *d)
>          {
>              dprintk(XENLOG_ERR, "Failed to deassign %s in domain %u\n",
>                      dt_node_full_name(dev), d->domain_id);
> +            read_unlock(&dt_host_lock);
> +
>              return rc;
>          }
>      }
>  
> +    read_unlock(&dt_host_lock);
> +
>      return 0;
>  }
>  
> @@ -134,6 +142,8 @@ int iommu_remove_dt_device(struct dt_device_node *np)
>      struct device *dev = dt_to_dev(np);
>      int rc;
>  
> +    ASSERT(rw_is_locked(&dt_host_lock));
> +
>      if ( !iommu_enabled )
>          return 1;
>  
> @@ -251,6 +261,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>      int ret;
>      struct dt_device_node *dev;
>  
> +    read_lock(&dt_host_lock);
> +
>      switch ( domctl->cmd )
>      {
>      case XEN_DOMCTL_assign_device:
> @@ -294,7 +306,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>          spin_unlock(&dtdevs_lock);
>  
>          if ( d == dom_io )
> -            return -EINVAL;
> +        {
> +            ret = -EINVAL;
> +            break;
> +        }
>  
>          ret = iommu_add_dt_device(dev);
>          if ( ret < 0 )
> @@ -332,7 +347,10 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>              break;
>  
>          if ( d == dom_io )
> -            return -EINVAL;
> +        {
> +            ret = -EINVAL;
> +            break;
> +        }
>  
>          ret = iommu_deassign_dt_device(d, dev);
>  
> @@ -347,5 +365,7 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>          break;
>      }
>  
> +    read_unlock(&dt_host_lock);
> +
>      return ret;
>  }
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index 44d315c8ba..a262bba2ed 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -18,6 +18,7 @@
>  #include <xen/string.h>
>  #include <xen/types.h>
>  #include <xen/list.h>
> +#include <xen/rwlock.h>
>  
>  #define DEVICE_TREE_MAX_DEPTH 16
>  
> @@ -218,6 +219,12 @@ extern struct dt_device_node *dt_host;
>   */
>  extern const struct dt_device_node *dt_interrupt_controller;
>  
> +/*
> + * Lock that protects r/w updates to unflattened device tree i.e. dt_host during
> + * runtime. Lock may not be taken for boot only code.
> + */
> +extern rwlock_t dt_host_lock;
> +
>  /**
>   * Find the interrupt controller
>   * For the moment we handle only one interrupt controller: the first
> -- 
> 2.17.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 16:26:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591707.924170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf4m-0003dT-5Y; Mon, 28 Aug 2023 16:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591707.924170; Mon, 28 Aug 2023 16:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf4m-0003dM-26; Mon, 28 Aug 2023 16:26:52 +0000
Received: by outflank-mailman (input) for mailman id 591707;
 Mon, 28 Aug 2023 16: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 1qaf4l-0003bx-1d; Mon, 28 Aug 2023 16: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 1qaf4k-0005hB-Np; Mon, 28 Aug 2023 16:26: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 1qaf4k-0002jf-Ec; Mon, 28 Aug 2023 16:26:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaf4k-0007Ab-E9; Mon, 28 Aug 2023 16:26: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=qE6oPQEAaZg6TYH41kQp2GuqO7XhIMXECfWA1F7x4dU=; b=a8lJbcJ0l9P8ip4jNauCN62faZ
	NGkgbp9EUgH53cCm1XrDlZ1QAYgrqC7ig5JHnJ+XQnhdiCrtQJJV2ow387Cjt/75ZfnnJiPLV6cRV
	dEm8jFmYSfZhh4XamyJncS0KJCTm+tc6j6mNNr3v7rqTE9B36c3GxPtcKAnmgNFENbcY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182541-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182541: 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=067f18c3a72d8f0acccab831083b8518f0832d81
X-Osstest-Versions-That:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 28 Aug 2023 16:26:50 +0000

flight 182541 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182541/

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                  067f18c3a72d8f0acccab831083b8518f0832d81
baseline version:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b

Last test of basis   182510  2023-08-24 19:00:26 Z    3 days
Testing same since   182541  2023-08-28 14:02:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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
   ec272d8d4c..067f18c3a7  067f18c3a72d8f0acccab831083b8518f0832d81 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 16:29:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 16:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591718.924180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaf77-0004N5-Lv; Mon, 28 Aug 2023 16:29:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591718.924180; Mon, 28 Aug 2023 16: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 1qaf77-0004My-JM; Mon, 28 Aug 2023 16:29:17 +0000
Received: by outflank-mailman (input) for mailman id 591718;
 Mon, 28 Aug 2023 16:29: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=UXm6=EN=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qaf76-0004Mm-Ot
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 16:29:16 +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 06f04b8e-45c0-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 18:29:15 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM4PR12MB5843.namprd12.prod.outlook.com (2603:10b6:8:66::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 16:29:12 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023
 16:29:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06f04b8e-45c0-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YxvBQprhS/i+qtzcLjG+9kazbxSNxMD4Ohi+PoJUHiN2mkem1kXvKvxQ/Qh6OxpwPOa51kbP6HR9v0y5oxs7PStGplK+JwB8EbUEoRXYNn8ACoxnrWv+axqklGKMiFbIgzUM7hoICnb1eYpsOTzH70GLebr+jcRHIYrwiYOXDWLUkcRqQ6DUQEA1Sv7GBDb43iHOYcnZl/JXLEhvG4EXDp9tCvzWKZiLx95jsptWQ8q4qQC2H1CKCwvUetlarc6DruzOrtt3oFwemUvfZ6AP3NTo1LsOAD7LDMOgu0N5oYTh0T7AiDYuWCDy8LzgVA8bOb9VfUEIdJhqtoHDD9XitA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sH8fOpIa/VdTb5+hMeaiMFFThm9UBQvalLHuR+YsZSM=;
 b=SiN+npcCIywwOc4wOBeQQdsPKdaSG9XwMTcAnLyQ9d/RkwhsDG9G0ling1gytCYiDHqCscOtMh4tBkWqH/xEQacC9IQtFXWk1j6NAMdLANaOB1SNCUSbYxcs1FTEMqHkIBAL0clY5QWDlK0HC+FVKXyArTWdt+H75G6jm8V0DoKk+jgn354m2uVDkN0Ol9NkkzB97SF6SYQhEqqqxPfRB1HhImf4w1DrgJCutcHTo0EEMXPLoUgkgh7JfOEGmyt5c9yjUXrWP1RUnGBA8sWzcHNkYu2WBcdMZntVF7PEWRmnxaRi/8T4Hf5loBagB2HPXe+ZY0mvK4Btpmst+ZoSMw==
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=sH8fOpIa/VdTb5+hMeaiMFFThm9UBQvalLHuR+YsZSM=;
 b=Y6yQck0+oIl4FD1/Eq7xBw9rVeNGTVyeJMMSBR0uIYJXRIAocaxh5T4vlSgFMWQMUhF9OJr/MGnIY2xZl+xELtxExwzNxz10qUcXP7YS9v3R812wJBRPGfKqAW/drqQqbZEbeofN1USMyxl5fVDj0OEdsps8bxGAGanEVF3NM0A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 28 Aug 2023 09:29:09 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 10/20] xen/iommu: protect iommu_add_dt_device()
 with dtdevs_lock
Message-ID: <ZOzLVUgaNybkmgap@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-11-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230825080222.14247-11-vikram.garhwal@amd.com>
X-ClientProxiedBy: SJ0PR05CA0085.namprd05.prod.outlook.com
 (2603:10b6:a03:332::30) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM4PR12MB5843:EE_
X-MS-Office365-Filtering-Correlation-Id: 65b4b5b5-dbae-4fee-3e9e-08dba7e3e999
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gxP5/9P35Wzr5YygsZwFK7cmk8J/HEupb3B3bXiZfRjF1i76OUNyw+Dpznq4I+ao1CXV0AhABM7ljxqzW0k9ivtOTAXmgSmv9tWcgLgihSgpL9ZNWCXJGjEYc519LBdw9TXdtgjeaKKSjRfiqWCJBdv/SD0IOJ8HwDBGY7mf4TEcqaRyFvSwTcwie0BpuMEHGQlTiCWz4WXdzxfH5pxV/wn3GWRP1cqE4kAZptT2E/j1kayNlCIkQNcyKGIEzkfB1kLt9BO+ahbIKtnjkRELi0MwM0F7xP9MGaocgmhdrFfRbXRaKDZBwXvZ/VVusPAZJ0eAdV3OW9esd92f0SDJ9ihPTaKLacvp5kFA85WQYHzQSmsp8v816yEDXjoe/frPyxED02Qse9yzZ/HvFKWtqcJzJvasl6aZbDT2T1np+g/Mz5lXJ8+oYKLM0VOyj6Hq/M97igMDrH6ChmqpIAQS7ST6/4m8k4jJdG66FAj5/WzXmhTK0Yppmjyu2B0KFgkdOm9AcvMYWDWG5uJy/5KWom0aEBw5IIts7M/J3GemY1JCUcf5jelzI3P0LscHFUI2
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(346002)(376002)(396003)(186009)(1800799009)(451199024)(6512007)(6666004)(6506007)(2616005)(6486002)(86362001)(44832011)(2906002)(6916009)(4326008)(8676002)(8936002)(66946007)(66556008)(36756003)(66476007)(41300700001)(5660300002)(316002)(38100700002)(478600001)(83380400001)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEFlbU52N3ltTm9JYTZ6Y2wzN3h3WU0zdWRDYmM1eVMzcHl3c1FiK24yRUlz?=
 =?utf-8?B?aEo1Ti9YL2hOR0JhbjgwczEvYlFrczcvOE1aaEl3N0VuWmY3cG9PRlpiNXY4?=
 =?utf-8?B?ZDBpRzFJcEhrUjE3SzREOEhFWjdvbTROUXBzSjQvRzFaVzZvenYwUFBqSjFn?=
 =?utf-8?B?WVFkek91UzRjaHVNb1l1czNrUUY4ZENueUdwSGYrUktEOGVQbFdxdTJMOEpD?=
 =?utf-8?B?VlROTkF2QVRvOHVzLzFOeEdHMkNBZVQ5QjBSL2NYY01KQU90WW9DbmQvb1lq?=
 =?utf-8?B?WEl5Qm8zeVpGUlBNdDBoM1JmYlY5TU44QWNrMUJ3UkxqZXc4L0JPL3FmeU85?=
 =?utf-8?B?cUtkeXpQU2RZUjRIWTIxdjJ4MVVpeElpbmFrMEtNdVRxSVZrTVlKOG5zUExH?=
 =?utf-8?B?UFpjU1R0UTBnNTk3VXpBWG1mczNFUDVSaDNMZndmcWpyZTJheXExWks3Nk5y?=
 =?utf-8?B?bDVYZmpYRU50UHY4QUJXc3AzbURNNDNXaW1USlA0cU5MQkJ3YndzRk1Cb0lq?=
 =?utf-8?B?T0JwOGNrYW1iNmJwUmUwZFFWVERLbWVZbmM5dm9rNGhpZDkvYTcvWnEwYlM0?=
 =?utf-8?B?Qi9haTFOQlMzVHBYeE5lL0t6THlwS1VNa016cnluM01UaTFRdFA2YXpzNHJH?=
 =?utf-8?B?ZnVXdGJ5VTBkQjlXUHRRcmhBamVTN0sxcnRyUVNNcDgwM0xEaEF5VTZOT3Nw?=
 =?utf-8?B?SE5jV3pxYXBSbVFkeWluSlVKUms4R0N0dXRNR1ZseWorUjJyQWY4TXNORWF6?=
 =?utf-8?B?Ym1lVWI3N1ZWUUZmb3Fxb0ZCdEg0R1gxWW5OQTJtUGc2R1BZY1VoOHNWVW4z?=
 =?utf-8?B?NUt3VXM1QisrTjRNVFh4NFBQeGdsckNDRFlSRFN6QzNtakZXSEVFVXZNQ0RE?=
 =?utf-8?B?aTBZZ0NoQlQ5a2xxWEw0NFh2MlAwZ09PbVRsUWRYNm03dDZyUDRIclY0YU1T?=
 =?utf-8?B?Y2J1Q25wSnNGcU84RUFXOXhGM3FJdlA0dXZyelhTV3QvTFhPWmtIZFRSMTI0?=
 =?utf-8?B?dHVVSExtbWJTelo3MHVCdzhJcjRXZFZzNGJsUm41RDF3NGdvV2dwY2VGMFI2?=
 =?utf-8?B?dEwvSnNCSStVM09RYzM5YmM1YjY2a0JwSnlYWTliOG51QkZIMEdPTW1hTkto?=
 =?utf-8?B?UjlsL05qc0FBL2RaeDJCdnRzdmVjT3luTHcrRncrcW1wdVYzeC9ITXRGMW9r?=
 =?utf-8?B?NXZHOURuQklnVDkxRnBycDBJMjVMVlZ0UmwxUVM0VUpDaHRGWlVGSU9sNEJa?=
 =?utf-8?B?OHYvdUpOcnlMbk8yUHpRL3BnV0hVcTFtK3ZBVzFsdDJab1EzcmJkV2ZWRjg3?=
 =?utf-8?B?c0s1YkdiMFlIR1d1eVdnNStxTkx5SVpSOXZ2VHVGaWw5eXdvRHFSUS9uUVZ2?=
 =?utf-8?B?Y1BFdy9vWHhTSjZuTUFEbUxwUzhRYlI0bkdtcTMxT20xSUxweHgwaElyblF3?=
 =?utf-8?B?M3hFcXlzcGRvZ3M5L2dxV1RGRUY4NzlkNVRPSmJCY3oydUtSKzlSbEpQTGR0?=
 =?utf-8?B?S0k3QTV2QTJqUzZGakRIWmpHaTFEU2RxUG84ZDFFQmVyLzBCQVB0Q0xFaFJK?=
 =?utf-8?B?Ym5ZeDl0QTFUbVNrajJ3eFlpOEkzc2t6V2J3bTdJKzEzeEt0OVRWRFJhRG15?=
 =?utf-8?B?UlVCZDhWZ1Z4cnBtTVBEb0wyVzM2c0kwWFo4ZTFmOG5KWm1JKzVIbFROeXR0?=
 =?utf-8?B?dUs1OUdGQnBuTklwZGRod2ZsTHBLcU1pNlh4MEwyTXE3bG9PUlphcHNtakJ2?=
 =?utf-8?B?R0VtaHFqbDczK3Jrbk9ORkpyeEl4RVVITXBCZ3NWYnRNNXFWOWNKVm55cWNx?=
 =?utf-8?B?UEZDOTVCZFpSZkg5MDBuaUpNaDM4Ti9EaHArQnFPK21Vbm9aU1lCUFhiMlc2?=
 =?utf-8?B?dDM1c2FQTTZ4N3JPOWJRMkdjWFVmRU5zVVNDOUxjVVNNc0RYM3YwNWw2SGpq?=
 =?utf-8?B?Ty92TTZpbzg2ZUYwTXJIblNKVi90VlgzUWplTWlUNFVuZE9vZy9lQzQ0bjNJ?=
 =?utf-8?B?ZUx4Q1BKQUtSU29aMEFHZW9QZDdyQnNxekNaZmhlNTR5ejJyaVdWYVVxd0Q4?=
 =?utf-8?B?WElIWWFSSDVmbTlSNExZU0U5V1QwaUVJNllTb1JjVkRQUFpaT0l4WEZwSU1V?=
 =?utf-8?Q?YCa8Ju7l9fHjz78+orS0agi9V?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65b4b5b5-dbae-4fee-3e9e-08dba7e3e999
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 16:29:12.3283
 (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: KRf+EEoyhGrhlAMIJYFc/1rn2O6RxAMoPufu21Mr3OjvCFBvOqONMPXjz/+RHbRVhho4WG8hCISPLB3oOK3l9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5843

On Fri, Aug 25, 2023 at 01:02:12AM -0700, Vikram Garhwal wrote:
> Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access
> to add/remove/assign/deassign.
> With addition of dynamic programming feature(follow-up patches in this series),
> this function can be concurrently accessed by while making a device
> assign/deassign for passthrough and by dynamic node add/remove using device tree
> overlays.
There was a comment from Julien on v9 on commit message. In v11, I Will remove
references to PCI because this is misleading.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ---
>     Changes from v7:
>         Update commit message and fix indent.
> ---
> ---
>  xen/drivers/passthrough/device_tree.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 5d84c07b50..1202eac625 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -148,6 +148,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
>      if ( dev_iommu_fwspec_get(dev) )
>          return 0;
>  
> +    spin_lock(&dtdevs_lock);
> +
>      /*
>       * According to the Documentation/devicetree/bindings/iommu/iommu.txt
>       * from Linux.
> @@ -160,7 +162,10 @@ int iommu_add_dt_device(struct dt_device_node *np)
>           * these callback implemented.
>           */
>          if ( !ops->add_device || !ops->dt_xlate )
> -            return -EINVAL;
> +        {
> +            rc = -EINVAL;
> +            goto fail;
> +        }
>  
>          if ( !dt_device_is_available(iommu_spec.np) )
>              break;
> @@ -191,6 +196,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
>      if ( rc < 0 )
>          iommu_fwspec_free(dev);
>  
> + fail:
> +    spin_unlock(&dtdevs_lock);
>      return rc;
>  }
>  
> -- 
> 2.17.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 17:08:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 17:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591726.924191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qafiR-0001M2-F8; Mon, 28 Aug 2023 17:07:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591726.924191; Mon, 28 Aug 2023 17:07:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qafiR-0001Lv-CK; Mon, 28 Aug 2023 17:07:51 +0000
Received: by outflank-mailman (input) for mailman id 591726;
 Mon, 28 Aug 2023 17:07: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=kgyR=EN=suse.cz=jack@srs-se1.protection.inumbo.net>)
 id 1qafiQ-0001LU-2h
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 17:07:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 687e1579-45c5-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 19:07:46 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 873FB1F37E;
 Mon, 28 Aug 2023 17:07:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6A42A139CC;
 Mon, 28 Aug 2023 17:07:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id scxcGWHU7GQMNQAAMHmgww
 (envelope-from <jack@suse.cz>); Mon, 28 Aug 2023 17:07:45 +0000
Received: by quack3.suse.cz (Postfix, from userid 1000)
 id CE101A0774; Mon, 28 Aug 2023 19:07: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: 687e1579-45c5-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1693242465; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=gY+yGRa61TK2BR8Nw1XPStAseZID7tr6EzNodmZtwGI=;
	b=qVtknFwaytxobpauxbbKFuuIVi6tPH4Iq6U6De70imbcWuGOxhftHNb/4FbPSlc5GK5oK7
	GshsV6S1hXqpxSKPutaEa7H9BjX/0wslT8a/D4qnl6I13zhL54OxmZm3biLLUgjj3B0284
	RPao+ZPH1kv8DfDq9EfFHRPOBMpXacI=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1693242465;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=gY+yGRa61TK2BR8Nw1XPStAseZID7tr6EzNodmZtwGI=;
	b=R3UkEJ5CJtN+ADS2q+nxkKoBRTSfFifpdVN9hgBj3Kx2evg21jSoeC6uq7LeWXoMGsRfiN
	pZDyCc1pRe5jtEDQ==
Date: Mon, 28 Aug 2023 19:07:44 +0200
From: Jan Kara <jack@suse.cz>
To: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>, Jens Axboe <axboe@kernel.dk>,
	linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230828170744.iifdmaw732cfiauf@quack3>
References: <20230818123232.2269-1-jack@suse.cz>
 <20230825-hubraum-gedreht-8c5c4db9330a@brauner>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230825-hubraum-gedreht-8c5c4db9330a@brauner>

On Fri 25-08-23 15:32:47, Christian Brauner wrote:
> On Wed, Aug 23, 2023 at 12:48:11PM +0200, Jan Kara wrote:
> > Hello,
> > 
> > this is a v3 of the patch series which implements the idea of blkdev_get_by_*()
> > calls returning bdev_handle which is then passed to blkdev_put() [1]. This
> > makes the get and put calls for bdevs more obviously matching and allows us to
> > propagate context from get to put without having to modify all the users
> > (again!). In particular I need to propagate used open flags to blkdev_put() to
> > be able count writeable opens and add support for blocking writes to mounted
> > block devices. I'll send that series separately.
> > 
> > The series is based on Christian's vfs tree as of today as there is quite
> > some overlap. Patches have passed some reasonable testing - I've tested block
> > changes, md, dm, bcache, xfs, btrfs, ext4, swap. More testing or review is
> > always welcome. Thanks! I've pushed out the full branch to:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle
> > 
> > to ease review / testing. Since there were not many comments for v2 and
> > Christoph has acked the series I think we should start discussing how to merge
> > the series. Most collisions with this series seem to happen in the filesystems
> > area so VFS tree would seem as the least painful way to merge this. Jens,
> 
> I really do like this series especially struct bdev_handle and moving
> the mode bits in there. I'll happily take this. So far there have only
> been minor things that can easily be fixed.

Thanks. Since Al is fine with just doing a potential conversion to 'struct
file' as a handle on top of this series (it will be dumb Coccinelle
replacement) I think we can go ahead with the series as is. As you said
there will be some conflicts in btrfs and I've learned about f2fs conflicts
as well so I can rebase & repost the series on top of rc1 to make life
easier for you.

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:00:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591732.924201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagWn-0007eC-9H; Mon, 28 Aug 2023 17:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591732.924201; Mon, 28 Aug 2023 17: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 1qagWn-0007e5-6G; Mon, 28 Aug 2023 17:59:53 +0000
Received: by outflank-mailman (input) for mailman id 591732;
 Mon, 28 Aug 2023 17:59: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=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagWm-0007dz-3u
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 17:59:52 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad710ae7-45cc-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 19:59:49 +0200 (CEST)
Received: from SJ0PR05CA0096.namprd05.prod.outlook.com (2603:10b6:a03:334::11)
 by DM6PR12MB4217.namprd12.prod.outlook.com (2603:10b6:5:219::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 17:59:44 +0000
Received: from MWH0EPF000971E8.namprd02.prod.outlook.com
 (2603:10b6:a03:334:cafe::9f) by SJ0PR05CA0096.outlook.office365.com
 (2603:10b6:a03:334::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.17 via Frontend
 Transport; Mon, 28 Aug 2023 17:59:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000971E8.mail.protection.outlook.com (10.167.243.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Mon, 28 Aug 2023 17:59: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.27; Mon, 28 Aug
 2023 12:59:40 -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.27; Mon, 28 Aug
 2023 12:59:08 -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.27 via Frontend
 Transport; Mon, 28 Aug 2023 12:59: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: ad710ae7-45cc-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B+Bpo83tx/Z1caqP0mPlEHqvbjit2FK4urndUtdFvfSjZzrvoQUeFwsRUc3G5hl9YBgbx2/1PG/uFKuHhehlfqzu3+5Acugfro2VJYmslLAp858HCDJqYWU0//nZkooPU5wlH4vIl67GyatLeljVz+rg7Xci7TW77LesKPDnyQePcFa5DzINo4H32X7MHYIXNsfiGAPqDCXpNgwwVnyNQ4tqKeWA5msOnijm01EcyXU9oXq66NxHGpA+hipj0kOlMqe56x47k+zJgb/EXMii0ET9L5Fxr5Gr2bXQpkLZvqOtQ8jHdhSw59lZZT8wEQFH2pA5wyC1T07ZzsvzulA4vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WUozxZeVfn9OYMAx1ezaDtTVAJSbVBVK6DzcB6ND8Uo=;
 b=Ny6uStKx/VjkvbL5qQ51RFB5VJBIfOkP9IDKc7L8KOvCoi0ZTXa9v2mpfNvLpuUG6tYrnpz9GU0g2Uj7369X1VUI+jsCbBKQtTRvyPA0hxxIaA+SgZaWky5VdRxMfOD0Ppvt0QnBiCwL0VZEDOUczJnW7TV0cy0H0sehvd5Sq/FeMN9WB7FHiqa7CyJfY27E/7F/dpdcWgtjzURk0Cbm+y98L4P/cgTpAGsbPEzye65HxycVKa9mfE7ggPpSLXSG4UDL8tv4W5I9JKhTroAI/nQZiOmjTr/SEL4UboXLp7CfiEYyMOqM1AToVO7WLmqR0dRWRWJbxz0SYNBfz0azEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WUozxZeVfn9OYMAx1ezaDtTVAJSbVBVK6DzcB6ND8Uo=;
 b=LQZRodBMgIZDryYeYr5FkuYiRaG5SqV2oLAVF+OSRsMrwq7TpddUnd0JDe5hHkVxKoKXI1ofZmwVVHv/S/xcNRVJopkts0eERssFkQWgCJ+S09/hxZtlzspacA7LoixilzfkSD6G7Om7FOPUCNsJQGORgYdqrmBppEKvILuFVGg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>, Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v4 0/6] vPCI capabilities filtering
Date: Mon, 28 Aug 2023 13:56:48 -0400
Message-ID: <20230828175858.30780-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
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: MWH0EPF000971E8:EE_|DM6PR12MB4217:EE_
X-MS-Office365-Filtering-Correlation-Id: 883ec453-7fbd-45d8-1e74-08dba7f08edd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OfJar2/OIWQy+isFieDv20X/VKjcbVdsbslbHpLwfNFYlUYkFnVd827cfx/vTrA6jLLlqWE0/sqAIMgfZiGUHXzucIvFcVK8sovcpIMevzeSDAQxe8+cKeONSAxuMPIj6C+uR3zgJopxwpKD0gJv7RFWVI3BWZH+nY670gaDBcUScKoWRadMjI/0L/3cwhsEtwy1rlBsFOkPoMt+l725++WIXlSwoXOaIKDbcDcdMZGV7sKTPCr9b0YUED04pNEQC5GQs3f6lTl8GeIgS/zX91KITJYLeLMu9s0FyHH7ra1kheoMBvCykbf6ZW1mDAsfOjqTBYCSKiRwucUiArq3jLMQSAalKLcseBm6isarfEptXLn/g6MdXbG97KI3gkmyVHt7Ci5RJUS/bV9G5YsOaraRdcE9Toe8ATgpICmF+e85UWyN11vkt0D50VbvQLiXnauinZQgMuCpvoyZooXalKztHJ3FoMSbI3J8fHjCjDf8diOHF6r0PQGJLtic8M420kFAV0EvloPBctVrhouuzewRmsbY5NsVeYRKex1YAAJVlE0TI6aP+nF7jj2ujmA+UWnSrU6RyX7AspqD5CvnjRVsr9NNrjM4ef11xixssQb9PMwFIXscHgWcpJvodRNxKCLVNW2eUM95qRUz/N1Eg2aL4CthsRUeCfDqbaMH0ZWGqICgLvQYV3iXZvD0RBaWAuFlY/MPsMk2sH2cvc7jv2zGPM+rUc9Dv9mlrWWQzZa2oBgKwKxmvF0X0XF1iV2+fcM6Kt18ndym64JXRZF4qQ==
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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199024)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(82740400003)(66899024)(6666004)(40460700003)(36756003)(86362001)(356005)(81166007)(40480700001)(36860700001)(47076005)(2616005)(1076003)(2906002)(426003)(336012)(26005)(83380400001)(966005)(478600001)(41300700001)(70586007)(70206006)(4326008)(8676002)(8936002)(5660300002)(44832011)(54906003)(7416002)(6916009)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 17:59:43.2340
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 883ec453-7fbd-45d8-1e74-08dba7f08edd
X-MS-Exchange-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:
	MWH0EPF000971E8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4217

This small series enables vPCI to filter which PCI capabilities we expose to a
domU. This series adds vPCI register handlers within
xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.

Note there are minor rebase conflicts with the in-progress vPCI series [1].
These conflicts fall into the category of functions and code being added
adjacent to one another, so are easily resolved. I did not identify any
dependency on the vPCI locking work, and the two series deal with different
aspects of emulating the PCI header.

Future work may involve adding handlers for more registers in the vPCI header,
such as VID/DID, etc. Future work may also involve exposing additional
capabilities to the guest for broader device/driver support.

v3->v4:
* drop "xen/pci: address a violation of MISRA C:2012 Rule 8.3" as it has been
  committed
* re-order status register handler and capabilities filtering patches
* split an unrelated change from ("xen/pci: convert pci_find_*cap* to pci_sbdf_t")
  into its own patch
* add new patch ("x86/msi: rearrange read_pci_mem_bar slightly") based on
  feedback
* add new RFC patch ("xen/vpci: support ro mask")

v2->v3:
* drop RFC "xen/vpci: header: avoid cast for value passed to vpci_read_val"
* minor misra C violation fixup in preparatory patch
* switch to pci_sbdf_t in preparatory patch
* introduce status handler

v1->v2:
* squash helper functions into the patch where they are used to avoid transient
  dead code situation
* add new RFC patch, possibly throwaway, to get an idea of what it would look
  like to get rid of the (void *)(uintptr_t) cast by introducing a new memory
  allocation

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg01281.html

Stewart Hildebrand (6):
  x86/msi: remove some unused-but-set-variables
  xen/pci: convert pci_find_*cap* to pci_sbdf_t
  x86/msi: rearrange read_pci_mem_bar slightly
  xen/vpci: header: status register handler
  xen/vpci: support ro mask
  xen/vpci: header: filter PCI capabilities

 xen/arch/x86/msi.c                         | 69 ++++++----------
 xen/drivers/char/ehci-dbgp.c               |  3 +-
 xen/drivers/passthrough/amd/iommu_detect.c |  2 +-
 xen/drivers/passthrough/ats.c              |  4 +-
 xen/drivers/passthrough/ats.h              |  6 +-
 xen/drivers/passthrough/msi.c              |  6 +-
 xen/drivers/passthrough/pci.c              | 21 ++---
 xen/drivers/passthrough/vtd/quirks.c       | 10 +--
 xen/drivers/passthrough/vtd/x86/ats.c      |  3 +-
 xen/drivers/pci/pci.c                      | 57 ++++++++-----
 xen/drivers/vpci/header.c                  | 94 ++++++++++++++++++++++
 xen/drivers/vpci/msi.c                     |  4 +-
 xen/drivers/vpci/msix.c                    |  4 +-
 xen/drivers/vpci/vpci.c                    | 53 ++++++++++--
 xen/include/xen/pci.h                      | 14 ++--
 xen/include/xen/vpci.h                     | 15 ++++
 16 files changed, 246 insertions(+), 119 deletions(-)


base-commit: 067f18c3a72d8f0acccab831083b8518f0832d81
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:00:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591733.924211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagXC-0000ar-Hx; Mon, 28 Aug 2023 18:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591733.924211; Mon, 28 Aug 2023 18: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 1qagXC-0000ak-Eq; Mon, 28 Aug 2023 18:00:18 +0000
Received: by outflank-mailman (input) for mailman id 591733;
 Mon, 28 Aug 2023 18:00:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagXB-0007dz-0K
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:00:17 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcf25ff3-45cc-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 20:00:15 +0200 (CEST)
Received: from CY5PR15CA0241.namprd15.prod.outlook.com (2603:10b6:930:66::10)
 by MW3PR12MB4457.namprd12.prod.outlook.com (2603:10b6:303:2e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 18:00:10 +0000
Received: from CY4PEPF0000EE39.namprd03.prod.outlook.com
 (2603:10b6:930:66:cafe::49) by CY5PR15CA0241.outlook.office365.com
 (2603:10b6:930:66::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Mon, 28 Aug 2023 18:00:10 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE39.mail.protection.outlook.com (10.167.242.13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.16 via Frontend Transport; Mon, 28 Aug 2023 18:00:09 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 13:00:09 -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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:00: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: bcf25ff3-45cc-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dL83EREyZlZA0NnDMtxy0VKkA223uxkJeHLSLaxHwN6J3h7y8jcbvmYx0g3jaivSd9qqNdSinrc2mq5pG8IF9A/T9sW698PcWUADof6Cl80wiIvI13Kftko5IigqCsKFuwSKV6eyTM7MJNthTAYC4L1tr7OYvIQvYEdk9wfpWAzdpZ5OyJMudvc3AQgV1rDXU1j/4usz+V2Amw/MlpjP3GVm2HZK7/FqyF1f1n5G5zKrfp6/PK9q+bYRDZpiR6MdD4o4y9jtalNJBOBm9DZZvoidnKsI7mhFs3j5gMRv1Nxg8z4UsaanR4aRSxkHIlpTc/lb+Pd1fCT2ioAoJfCVPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sSugDH+jgmJ2t21KwpZdRqjLqY8PIhOuQoVgJ7q4wiw=;
 b=eqEL7xDbTup4CV04/svym4epFIhstRM4dJDGQ4E3qXsnHfct18PpRajKMBaVKszqHn+mnZa6+TkS+pSC0CaT/708Zs3Yr+1ZfF84ioAe5LN1TDNuaOIMD1d8eGeaQBiyAEe1T1qgJbYZydmxbn/3RHZK257B6SbXYLy0LKRbPUke37IXeBHWCC62nfg6neqjaORLSymg2XTKMOaQxEFIw10s+i8HmhSo+hmUcx3ZP6U0xdIFSmiAHprwjaxX9Blc7cgFGYMKOqud0qaUIaeUVPHt4gRQYbkC5DDapnxaNeXjnpNmqd5PmSg89FljcPjKIPPftBY1E3mgavaEa8YChg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sSugDH+jgmJ2t21KwpZdRqjLqY8PIhOuQoVgJ7q4wiw=;
 b=3FurlRBFbT6833ICek4NBadPmyU1HvNs8xTBNw4UKNoES3ysphnKyQqPWT2JQrM2wUtzcJH/2XQqvsHuUDzEMDUUE1XIX7NCajgRa//g2xS30NBLT1ZvEWcaBgrOrkpBaQBgFNJKPBE5YWG8TaIeU5hL7hkLRy13jeU0GfFoN34=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v4 1/6] x86/msi: remove some unused-but-set-variables
Date: Mon, 28 Aug 2023 13:56:49 -0400
Message-ID: <20230828175858.30780-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@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: CY4PEPF0000EE39:EE_|MW3PR12MB4457:EE_
X-MS-Office365-Filtering-Correlation-Id: ddca4f7b-1661-4d2d-1401-08dba7f09eae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	828WXKOQBMzXPvy9XyFmSEHxGUT1CCmc8yWfwYHIsFMkV/yRjFXK440QK6M8kpn5yZPnG/rSEe44ZgZOt9vnshKDOq9kA9VzxJDRv9H2Tu1QU8Yk1MXNkF8oFJIuaY0GdKhaZtbS2dV5AUUqpJSjx5jN/zYkvyUyFnuHuHCN5KEDUJ/qJRpHXpDRMaDkpdzUm1kN6PrdDEuRCW/ryHKj83fdglw9SydbvH/zekTOja+mPJv3zejcLnDrhZYeLyLO8L22v8KK6pAaxTLEaL1S+9XdzfDeXzlLzh3ar+IiPib/TWQjTc4XRC+kq0A3cEVFzODDdc9aTxxfj68IFShl5FLy+QJiGKo6dla3fGnMVRuTHYKs8Pn00EBdpnMu55WAtghjkJMwYZowk2PZW7s5ufpoBytQnYR/TdTc4r/QoepiJWwupK4DuBN1umrQgDFFdoOx7MeQAUEdg4A4qk08VeMbsedxGa+DlRWLn2SDaAJnGR6unlXTsNAh9863M4r8jSSXoEK+GmCDv0CRjfle5WMzRc53tii5y77WN0As599gaY2/mAyQUkPN8emyKQEy5BLb0vG3MhLsCulUbxGFxkKUrHC7wbxsIuoi0eD/vdEA1AHXcjtSDQYNa98e+v+63HfmVwyur7it1qMaYyN8EdLByZdI7R6a3rK5+pWDmWUdQNq3Pjj77VkhFrim+slsjzkZHQktMU2bD5d4pRUwdXWy97EH3ILRth21IIVx2/4AcyL4a3nE+2FeSrES+EnFU070XuR962t7MFoXGFK93g==
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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199024)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(82740400003)(6666004)(40460700003)(36756003)(86362001)(356005)(81166007)(40480700001)(36860700001)(47076005)(2616005)(1076003)(2906002)(426003)(336012)(26005)(83380400001)(478600001)(41300700001)(70586007)(70206006)(4326008)(8676002)(8936002)(5660300002)(44832011)(54906003)(6916009)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:00:09.8161
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ddca4f7b-1661-4d2d-1401-08dba7f09eae
X-MS-Exchange-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:
	CY4PEPF0000EE39.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4457

These were left over after a previous pci_sbdf_t conversion.

Fixes: 0c38c61aad21 ("pci: switch pci_conf_write32 to use pci_sbdf_t")
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v3->v4:
* new patch: this change was split from
  ("xen/pci: convert pci_find_*cap* to pci_sbdf_t")

Found by building with EXTRA_CFLAGS_XEN_CORE="-Wunused-but-set-variable"

arch/x86/msi.c: In function â€˜msi_set_mask_bitâ€™:
arch/x86/msi.c:322:19: warning: variable â€˜funcâ€™ set but not used [-Wunused-but-set-variable]
  322 |     u8 bus, slot, func;
      |                   ^~~~
arch/x86/msi.c:322:13: warning: variable â€˜slotâ€™ set but not used [-Wunused-but-set-variable]
  322 |     u8 bus, slot, func;
      |             ^~~~
arch/x86/msi.c:322:8: warning: variable â€˜busâ€™ set but not used [-Wunused-but-set-variable]
  322 |     u8 bus, slot, func;
      |        ^~~
arch/x86/msi.c:321:9: warning: variable â€˜segâ€™ set but not used [-Wunused-but-set-variable]
  321 |     u16 seg, control;
      |         ^~~
---
 xen/arch/x86/msi.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1def..41b82f3e87cb 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -318,17 +318,12 @@ static bool msi_set_mask_bit(struct irq_desc *desc, bool host, bool guest)
 {
     struct msi_desc *entry = desc->msi_desc;
     struct pci_dev *pdev;
-    u16 seg, control;
-    u8 bus, slot, func;
+    uint16_t control;
     bool flag = host || guest, maskall;
 
     ASSERT(spin_is_locked(&desc->lock));
     BUG_ON(!entry || !entry->dev);
     pdev = entry->dev;
-    seg = pdev->seg;
-    bus = pdev->bus;
-    slot = PCI_SLOT(pdev->devfn);
-    func = PCI_FUNC(pdev->devfn);
     switch ( entry->msi_attrib.type )
     {
     case PCI_CAP_ID_MSI:
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:00:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591742.924221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagXo-0001Im-0f; Mon, 28 Aug 2023 18:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591742.924221; Mon, 28 Aug 2023 18: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 1qagXn-0001If-TW; Mon, 28 Aug 2023 18:00:55 +0000
Received: by outflank-mailman (input) for mailman id 591742;
 Mon, 28 Aug 2023 18:00: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=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagXn-0007dz-DD
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:00:55 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d38cbc26-45cc-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 20:00:52 +0200 (CEST)
Received: from DM6PR03CA0041.namprd03.prod.outlook.com (2603:10b6:5:100::18)
 by PH8PR12MB6698.namprd12.prod.outlook.com (2603:10b6:510:1cd::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 18:00:48 +0000
Received: from CY4PEPF0000EE3E.namprd03.prod.outlook.com
 (2603:10b6:5:100:cafe::50) by DM6PR03CA0041.outlook.office365.com
 (2603:10b6:5:100::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 18:00:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3E.mail.protection.outlook.com (10.167.242.18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Mon, 28 Aug 2023 18:00:47 +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.27; Mon, 28 Aug
 2023 13:00:46 -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.27; Mon, 28 Aug
 2023 13:00:41 -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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:00: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: d38cbc26-45cc-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CLzcUh31j61frhp1KBKl+uHeyo1D0rYcC+O48EP+pZBPzLXHgkMS4TV9kA2HuhOurOkAxs6cUAR78qtitoBq2o0WQBiTXBDOcNbHuqd0PsH8jl3UNihd6Pg/fenKP2lF59dMcJJRepPv4of89tlIvr7D7E04G6FTDWcnSwDPa9fkrGxHaXflPRIqm5zzoeRBKXFAMwdnS/4XNsbcpuffGKczlxrUwrm3IT5hYjZmbjBhO+jGfJ0yu+12mmfRUMSmmvHMpye4yWlNnPUwC2GhSkXkk0bDnkG/qYa+yr/epov6lOoyUy/0aZC/H54TTfCnye787NT+EkYu3Ii6bssjDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m4EibGZ4Yk5HNGOsk7Jp/890SzDtnxNqFOoFc4Nnbtg=;
 b=OvFQgZgu22OwFjgSJ7GAXskqts/S+cj3Jra3DuxnPw3A3GgDusaPVG/Gf3mn1UHuIvBbD5sLGKH5AhAQNs4uhCYAMBEAod0S3Zm1p6sAE2NOtZFBU0aahGW60N2lTkADzQYzMkehtwuEN/go8gfQafOHg+40QmLxT23pO/NAlHhfWnwZ1kwMSfvGXjDGprraIv4nQiIDdr6zidrhdG0JQ5viBvQR8F7jKmYI5OLuBc5vZgpD6s5n5iiymDCg0WYY1ZWz0chWD7eq1LPiMqUA6MFXm+5NhMOdj13YdCKNUDZAPPY6LxE34oyU/8ig1MMcYDpBKzxy7jGpKIO1uwZD3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m4EibGZ4Yk5HNGOsk7Jp/890SzDtnxNqFOoFc4Nnbtg=;
 b=wm5hku5k9/VXlzYB42PvLo6Pt2jM8+lgAzp/3EpuIEsj5UKx24BpEk+7TMOtpTBMcWz2IwvcmVNhPbRF3wBIgrZKHn44G4dqGo0JMPwd3DWfWgu832AJEnVj/8Ojw8z1rzEjRBLXJawCnscMMV7ycDE2Ixt7ZKAhliWFNCaG4qk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>, Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v4 2/6] xen/pci: convert pci_find_*cap* to pci_sbdf_t
Date: Mon, 28 Aug 2023 13:56:50 -0400
Message-ID: <20230828175858.30780-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3E:EE_|PH8PR12MB6698:EE_
X-MS-Office365-Filtering-Correlation-Id: d9aed885-ee32-45f0-6715-08dba7f0b529
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0AS7Ly6Hf+CQs7lp/Exjy8SAaCchl3SV7DJcvBBMXCb7XxH6B9wKujGhc261xZqcG4Epd3EIM88su0eM0Pr4kbEDVfP+rQQ7nbrZb3SRfLgq7J0cFdQK+EHhMkjbVH+zibdsDokwyGl95KgMuHrUaI20ePfJM9YczH9S4zgbj2bQhyyDqnYokKEiTW+TogMcvjlCja4BPRu0EUaXpJwygllala4+iXghGpToSqRH6U0RjgXNNQVmbhGYwujsX/FpzE13gsYeOiiXtutVggiLBZB2SeKY5L/slfKX7XdUIqvmzwmcELIjPLkzW5wON+xM0Z/ZQTAl7D2G0G9LMSE8frOk1wx1dgnB8oozNAfRitM7yF/Ds4bL/OEZbe3zU8mDTIJSiYkZY1m/sPibk07AlAvDdya5iWpva/syAomiIxfS7jrbvPxyCUAEQmPzMhaKT4ZgzHFJEptvEcq3933naXX2SFBdt/TTkt18tD817UCIt+yMDerSDkb7A1fGVN9NdO2vx8qLQ4ji9d9rbPPnWiOIZe5+zlcKFFlfnaJw7xN/C3E0eMzJX8xYpfeilg7/rFUyPDuCFAHZvbD+2yqj3fpwM7hto5w9PvZdKAqDlmxr1mhvPIgRzUBxlxSw1EWGBrs9/SOjdljN98MsglohbXqQc/QWR9ApNFywYYQozS2rki0U4E7L0sdbP1oA54fB2v90E1SWblHMRuJ2yhNGAHMeaW20KQX4atVq32kP+l6hZCPYSkRInCEqXpnH3oKEyL8Eq3nbzAL5wMUJ1QZzQQ==
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)(4636009)(376002)(39860400002)(136003)(396003)(346002)(451199024)(1800799009)(82310400011)(186009)(40470700004)(36840700001)(46966006)(8676002)(8936002)(4326008)(2906002)(6916009)(70586007)(36756003)(54906003)(316002)(70206006)(5660300002)(44832011)(7416002)(40460700003)(26005)(41300700001)(36860700001)(336012)(1076003)(2616005)(426003)(40480700001)(30864003)(82740400003)(81166007)(356005)(478600001)(47076005)(83380400001)(6666004)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:00:47.5186
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9aed885-ee32-45f0-6715-08dba7f0b529
X-MS-Exchange-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:
	CY4PEPF0000EE3E.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6698

Convert pci_find_*cap* functions and call sites to pci_sbdf_t, and remove some
now unused local variables. Also change to more appropriate types on lines that
are already being modified as a result of the pci_sbdf_t conversion.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
I built with EXTRA_CFLAGS_XEN_CORE="-Wunused-but-set-variable" (and
unfortunately -Wno-error=unused-but-set-variable too) to identify locations of
unneeded local variables as a result of the change to pci_sbdf_t.

v3->v4:
* use more appropriate types on lines that are being modified anyway
* remove "no functional change" from commit description

v2->v3:
* new patch
---
 xen/arch/x86/msi.c                         | 40 ++++++----------------
 xen/drivers/char/ehci-dbgp.c               |  3 +-
 xen/drivers/passthrough/amd/iommu_detect.c |  2 +-
 xen/drivers/passthrough/ats.c              |  4 +--
 xen/drivers/passthrough/ats.h              |  6 ++--
 xen/drivers/passthrough/msi.c              |  6 ++--
 xen/drivers/passthrough/pci.c              | 21 +++++-------
 xen/drivers/passthrough/vtd/quirks.c       | 10 ++----
 xen/drivers/passthrough/vtd/x86/ats.c      |  3 +-
 xen/drivers/pci/pci.c                      | 32 +++++++++--------
 xen/drivers/vpci/msi.c                     |  4 +--
 xen/drivers/vpci/msix.c                    |  4 +--
 xen/include/xen/pci.h                      | 11 +++---
 13 files changed, 58 insertions(+), 88 deletions(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 41b82f3e87cb..8d4fd43b10a6 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -283,7 +283,7 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
     u8 slot = PCI_SLOT(dev->devfn);
     u8 func = PCI_FUNC(dev->devfn);
 
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSI);
     if ( pos )
         __msi_set_enable(seg, bus, slot, func, pos, enable);
 }
@@ -291,12 +291,9 @@ static void msi_set_enable(struct pci_dev *dev, int enable)
 static void msix_set_enable(struct pci_dev *dev, int enable)
 {
     int pos;
-    u16 control, seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
+    uint16_t control;
 
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSIX);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
     if ( pos )
     {
         control = pci_conf_read16(dev->sbdf, msix_control_reg(pos));
@@ -603,13 +600,10 @@ static int msi_capability_init(struct pci_dev *dev,
     struct msi_desc *entry;
     int pos;
     unsigned int i, mpos;
-    u16 control, seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
+    uint16_t control;
 
     ASSERT(pcidevs_locked());
-    pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSI);
     if ( !pos )
         return -ENODEV;
     control = pci_conf_read16(dev->sbdf, msi_control_reg(pos));
@@ -680,8 +674,8 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
     {
         struct pci_dev *pdev = pci_get_pdev(NULL,
                                             PCI_SBDF(seg, bus, slot, func));
-        unsigned int pos = pci_find_ext_capability(seg, bus,
-                                                   PCI_DEVFN(slot, func),
+        unsigned int pos = pci_find_ext_capability(PCI_SBDF(seg, bus, slot,
+                                                            func),
                                                    PCI_EXT_CAP_ID_SRIOV);
         uint16_t ctrl = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
                                         pos + PCI_SRIOV_CTRL);
@@ -772,8 +766,7 @@ static int msix_capability_init(struct pci_dev *dev,
     u8 slot = PCI_SLOT(dev->devfn);
     u8 func = PCI_FUNC(dev->devfn);
     bool maskall = msix->host_maskall, zap_on_error = false;
-    unsigned int pos = pci_find_cap_offset(seg, bus, slot, func,
-                                           PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
 
     if ( !pos )
         return -ENODEV;
@@ -1097,12 +1090,7 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
 static void __pci_disable_msix(struct msi_desc *entry)
 {
     struct pci_dev *dev = entry->dev;
-    u16 seg = dev->seg;
-    u8 bus = dev->bus;
-    u8 slot = PCI_SLOT(dev->devfn);
-    u8 func = PCI_FUNC(dev->devfn);
-    unsigned int pos = pci_find_cap_offset(seg, bus, slot, func,
-                                           PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSIX);
     u16 control = pci_conf_read16(dev->sbdf,
                                   msix_control_reg(entry->msi_attrib.pos));
     bool maskall = dev->msix->host_maskall;
@@ -1206,8 +1194,7 @@ void pci_cleanup_msi(struct pci_dev *pdev)
 
 int pci_reset_msix_state(struct pci_dev *pdev)
 {
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus, pdev->sbdf.dev,
-                                           pdev->sbdf.fn, PCI_CAP_ID_MSIX);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
 
     ASSERT(pos);
     /*
@@ -1229,10 +1216,6 @@ int pci_reset_msix_state(struct pci_dev *pdev)
 int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
                                  unsigned int size, uint32_t *data)
 {
-    u16 seg = pdev->seg;
-    u8 bus = pdev->bus;
-    u8 slot = PCI_SLOT(pdev->devfn);
-    u8 func = PCI_FUNC(pdev->devfn);
     struct msi_desc *entry;
     unsigned int pos;
 
@@ -1240,8 +1223,7 @@ int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
     {
         entry = find_msi_entry(pdev, -1, PCI_CAP_ID_MSIX);
         pos = entry ? entry->msi_attrib.pos
-                    : pci_find_cap_offset(seg, bus, slot, func,
-                                          PCI_CAP_ID_MSIX);
+                    : pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
         ASSERT(pos);
 
         if ( reg >= pos && reg < msix_pba_offset_reg(pos) + 4 )
diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
index 72be4d9cc970..00cbdd5454dd 100644
--- a/xen/drivers/char/ehci-dbgp.c
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -687,7 +687,8 @@ static unsigned int __init __find_dbgp(u8 bus, u8 slot, u8 func)
     if ( (class >> 8) != PCI_CLASS_SERIAL_USB_EHCI )
         return 0;
 
-    return pci_find_cap_offset(0, bus, slot, func, PCI_CAP_ID_EHCI_DEBUG);
+    return pci_find_cap_offset(PCI_SBDF(0, bus, slot, func),
+                               PCI_CAP_ID_EHCI_DEBUG);
 }
 
 static unsigned int __init find_dbgp(struct ehci_dbgp *dbgp,
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
index 2317fa6a7d8d..cede44e6518f 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -27,7 +27,7 @@ static int __init get_iommu_msi_capabilities(
 {
     int pos;
 
-    pos = pci_find_cap_offset(seg, bus, dev, func, PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(PCI_SBDF(seg, bus, dev, func), PCI_CAP_ID_MSI);
 
     if ( !pos )
         return -ENODEV;
diff --git a/xen/drivers/passthrough/ats.c b/xen/drivers/passthrough/ats.c
index 253f5c2e1042..0da183d057c5 100644
--- a/xen/drivers/passthrough/ats.c
+++ b/xen/drivers/passthrough/ats.c
@@ -24,11 +24,9 @@ boolean_param("ats", ats_enabled);
 int enable_ats_device(struct pci_dev *pdev, struct list_head *ats_list)
 {
     u32 value;
-    u16 seg = pdev->seg;
-    u8 bus = pdev->bus, devfn = pdev->devfn;
     int pos;
 
-    pos = pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS);
     BUG_ON(!pos);
 
     if ( iommu_verbose )
diff --git a/xen/drivers/passthrough/ats.h b/xen/drivers/passthrough/ats.h
index baa5f6a6dc04..f5e1d254e0d3 100644
--- a/xen/drivers/passthrough/ats.h
+++ b/xen/drivers/passthrough/ats.h
@@ -32,7 +32,8 @@ static inline int pci_ats_enabled(int seg, int bus, int devfn)
     u32 value;
     int pos;
 
-    pos = pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(PCI_SBDF(seg, bus, devfn),
+                                  PCI_EXT_CAP_ID_ATS);
     BUG_ON(!pos);
 
     value = pci_conf_read16(PCI_SBDF(seg, bus, devfn), pos + ATS_REG_CTL);
@@ -45,7 +46,8 @@ static inline int pci_ats_device(int seg, int bus, int devfn)
     if ( !ats_enabled )
         return 0;
 
-    return pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS);
+    return pci_find_ext_capability(PCI_SBDF(seg, bus, devfn),
+                                   PCI_EXT_CAP_ID_ATS);
 }
 
 #endif /* _ATS_H_ */
diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
index fb78e2ebe8a4..13d904692ef8 100644
--- a/xen/drivers/passthrough/msi.c
+++ b/xen/drivers/passthrough/msi.c
@@ -24,8 +24,7 @@ int pdev_msi_init(struct pci_dev *pdev)
 
     INIT_LIST_HEAD(&pdev->msi_list);
 
-    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSI);
+    pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI);
     if ( pos )
     {
         uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
@@ -33,8 +32,7 @@ int pdev_msi_init(struct pci_dev *pdev)
         pdev->msi_maxvec = multi_msi_capable(ctrl);
     }
 
-    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSIX);
+    pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
     if ( pos )
     {
         struct arch_msix *msix = xzalloc(struct arch_msix);
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index ed1f689227fa..04d00c7c37df 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -361,8 +361,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
             break;
 
         case DEV_TYPE_PCIe_ENDPOINT:
-            pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn),
-                                      PCI_FUNC(devfn), PCI_CAP_ID_EXP);
+            pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP);
             BUG_ON(!pos);
             cap = pci_conf_read16(pdev->sbdf, pos + PCI_EXP_DEVCAP);
             if ( cap & PCI_EXP_DEVCAP_PHANTOM )
@@ -565,13 +564,12 @@ struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf)
 static void pci_enable_acs(struct pci_dev *pdev)
 {
     int pos;
-    u16 cap, ctrl, seg = pdev->seg;
-    u8 bus = pdev->bus;
+    uint16_t cap, ctrl;
 
     if ( !is_iommu_enabled(pdev->domain) )
         return;
 
-    pos = pci_find_ext_capability(seg, bus, pdev->devfn, PCI_EXT_CAP_ID_ACS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ACS);
     if (!pos)
         return;
 
@@ -704,7 +702,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
 
     if ( !pdev->info.is_virtfn && !pdev->vf_rlen[0] )
     {
-        unsigned int pos = pci_find_ext_capability(seg, bus, devfn,
+        unsigned int pos = pci_find_ext_capability(pdev->sbdf,
                                                    PCI_EXT_CAP_ID_SRIOV);
         uint16_t ctrl = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_CTRL);
 
@@ -916,7 +914,8 @@ enum pdev_type pdev_type(u16 seg, u8 bus, u8 devfn)
 {
     u16 class_device, creg;
     u8 d = PCI_SLOT(devfn), f = PCI_FUNC(devfn);
-    int pos = pci_find_cap_offset(seg, bus, d, f, PCI_CAP_ID_EXP);
+    unsigned int pos = pci_find_cap_offset(PCI_SBDF(seg, bus, devfn),
+                                           PCI_CAP_ID_EXP);
 
     class_device = pci_conf_read16(PCI_SBDF(seg, bus, d, f), PCI_CLASS_DEVICE);
     switch ( class_device )
@@ -1184,10 +1183,7 @@ static int hest_match_pci(const struct acpi_hest_aer_common *p,
 static bool hest_match_type(const struct acpi_hest_header *hest_hdr,
                               const struct pci_dev *pdev)
 {
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus,
-                                           PCI_SLOT(pdev->devfn),
-                                           PCI_FUNC(pdev->devfn),
-                                           PCI_CAP_ID_EXP);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP);
     u8 pcie = MASK_EXTR(pci_conf_read16(pdev->sbdf, pos + PCI_EXP_FLAGS),
                         PCI_EXP_FLAGS_TYPE);
 
@@ -1258,8 +1254,7 @@ bool pcie_aer_get_firmware_first(const struct pci_dev *pdev)
 {
     struct aer_hest_parse_info info = { .pdev = pdev };
 
-    return pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                               PCI_FUNC(pdev->devfn), PCI_CAP_ID_EXP) &&
+    return pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP) &&
            apei_hest_parse(aer_hest_parse, &info) >= 0 &&
            info.firmware_first;
 }
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
index 5d706a539788..5a56565ea883 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -495,8 +495,6 @@ int me_wifi_quirk(struct domain *domain, uint8_t bus, uint8_t devfn,
 
 void pci_vtd_quirk(const struct pci_dev *pdev)
 {
-    int seg = pdev->seg;
-    int bus = pdev->bus;
     int pos;
     bool ff;
     u32 val, val2;
@@ -532,12 +530,10 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
     /* Sandybridge-EP (Romley) */
     case 0x3c00: /* host bridge */
     case 0x3c01 ... 0x3c0b: /* root ports */
-        pos = pci_find_ext_capability(seg, bus, pdev->devfn,
-                                      PCI_EXT_CAP_ID_ERR);
+        pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ERR);
         if ( !pos )
         {
-            pos = pci_find_ext_capability(seg, bus, pdev->devfn,
-                                          PCI_EXT_CAP_ID_VNDR);
+            pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_VNDR);
             while ( pos )
             {
                 val = pci_conf_read32(pdev->sbdf, pos + PCI_VNDR_HEADER);
@@ -546,7 +542,7 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
                     pos += PCI_VNDR_HEADER;
                     break;
                 }
-                pos = pci_find_next_ext_capability(seg, bus, pdev->devfn, pos,
+                pos = pci_find_next_ext_capability(pdev->sbdf, pos,
                                                    PCI_EXT_CAP_ID_VNDR);
             }
             ff = 0;
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 9de419775f90..1f5913bed9d2 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -57,8 +57,7 @@ int ats_device(const struct pci_dev *pdev, const struct acpi_drhd_unit *drhd)
         return 0;
 
     ats_drhd = find_ats_dev_drhd(drhd->iommu);
-    pos = pci_find_ext_capability(pdev->seg, pdev->bus, pdev->devfn,
-                                  PCI_EXT_CAP_ID_ATS);
+    pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS);
 
     if ( pos && (ats_drhd == NULL) )
     {
diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index c73a8c4124af..3569ccb24e9e 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -8,25 +8,25 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 
-int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
+unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
 {
     u8 id;
     int max_cap = 48;
     u8 pos = PCI_CAPABILITY_LIST;
     u16 status;
 
-    status = pci_conf_read16(PCI_SBDF(seg, bus, dev, func), PCI_STATUS);
+    status = pci_conf_read16(sbdf, PCI_STATUS);
     if ( (status & PCI_STATUS_CAP_LIST) == 0 )
         return 0;
 
     while ( max_cap-- )
     {
-        pos = pci_conf_read8(PCI_SBDF(seg, bus, dev, func), pos);
+        pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
         pos &= ~3;
-        id = pci_conf_read8(PCI_SBDF(seg, bus, dev, func), pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
@@ -39,19 +39,20 @@ int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap)
     return 0;
 }
 
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
+unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
+                               unsigned int cap)
 {
     u8 id;
     int ttl = 48;
 
     while ( ttl-- )
     {
-        pos = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos);
+        pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
         pos &= ~3;
-        id = pci_conf_read8(PCI_SBDF(seg, bus, devfn), pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
@@ -65,21 +66,21 @@ int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap)
 
 /**
  * pci_find_ext_capability - Find an extended capability
- * @seg/@bus/@devfn: PCI device to query
+ * @sbdf: PCI device to query
  * @cap: capability code
  *
  * Returns the address of the requested extended capability structure
  * within the device's PCI configuration space or 0 if the device does
  * not support it.
  */
-int pci_find_ext_capability(int seg, int bus, int devfn, int cap)
+unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap)
 {
-    return pci_find_next_ext_capability(seg, bus, devfn, 0, cap);
+    return pci_find_next_ext_capability(sbdf, 0, cap);
 }
 
 /**
  * pci_find_next_ext_capability - Find another extended capability
- * @seg/@bus/@devfn: PCI device to query
+ * @sbdf: PCI device to query
  * @start: starting position
  * @cap: capability code
  *
@@ -87,13 +88,14 @@ int pci_find_ext_capability(int seg, int bus, int devfn, int cap)
  * within the device's PCI configuration space or 0 if the device does
  * not support it.
  */
-int pci_find_next_ext_capability(int seg, int bus, int devfn, int start, int cap)
+unsigned int pci_find_next_ext_capability(pci_sbdf_t sbdf, unsigned int start,
+                                          unsigned int cap)
 {
     u32 header;
     int ttl = 480; /* 3840 bytes, minimum 8 bytes per capability */
-    int pos = max(start, 0x100);
+    unsigned int pos = max(start, 0x100U);
 
-    header = pci_conf_read32(PCI_SBDF(seg, bus, devfn), pos);
+    header = pci_conf_read32(sbdf, pos);
 
     /*
      * If we have no capabilities, this is indicated by cap ID,
@@ -109,7 +111,7 @@ int pci_find_next_ext_capability(int seg, int bus, int devfn, int start, int cap
         pos = PCI_EXT_CAP_NEXT(header);
         if ( pos < 0x100 )
             break;
-        header = pci_conf_read32(PCI_SBDF(seg, bus, devfn), pos);
+        header = pci_conf_read32(sbdf, pos);
     }
     return 0;
 }
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 2814b63d2be7..a253ccbd7db7 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -184,9 +184,7 @@ static void cf_check mask_write(
 
 static int cf_check init_msi(struct pci_dev *pdev)
 {
-    uint8_t slot = PCI_SLOT(pdev->devfn), func = PCI_FUNC(pdev->devfn);
-    unsigned int pos = pci_find_cap_offset(pdev->seg, pdev->bus, slot, func,
-                                           PCI_CAP_ID_MSI);
+    unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI);
     uint16_t control;
     int ret;
 
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 1be861343dba..d1126a417da9 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -659,14 +659,12 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
 static int cf_check init_msix(struct pci_dev *pdev)
 {
     struct domain *d = pdev->domain;
-    uint8_t slot = PCI_SLOT(pdev->devfn), func = PCI_FUNC(pdev->devfn);
     unsigned int msix_offset, i, max_entries;
     uint16_t control;
     struct vpci_msix *msix;
     int rc;
 
-    msix_offset = pci_find_cap_offset(pdev->seg, pdev->bus, slot, func,
-                                      PCI_CAP_ID_MSIX);
+    msix_offset = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX);
     if ( !msix_offset )
         return 0;
 
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 7d8a7cd21301..ea6a4c9abf38 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -193,11 +193,12 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
                    unsigned int devfn, int reg, int len, u32 *value);
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
-int pci_find_cap_offset(u16 seg, u8 bus, u8 dev, u8 func, u8 cap);
-int pci_find_next_cap(u16 seg, u8 bus, unsigned int devfn, u8 pos, int cap);
-int pci_find_ext_capability(int seg, int bus, int devfn, int cap);
-int pci_find_next_ext_capability(int seg, int bus, int devfn, int start,
-                                 int cap);
+unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
+unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
+                               unsigned int cap);
+unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
+unsigned int pci_find_next_ext_capability(pci_sbdf_t sbdf, unsigned int start,
+                                          unsigned int cap);
 const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus,
                       unsigned int *dev, unsigned int *func);
 const char *parse_pci_seg(const char *, unsigned int *seg, unsigned int *bus,
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:01:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591747.924230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagYi-0001v6-B9; Mon, 28 Aug 2023 18:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591747.924230; Mon, 28 Aug 2023 18:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagYi-0001uz-8V; Mon, 28 Aug 2023 18:01:52 +0000
Received: by outflank-mailman (input) for mailman id 591747;
 Mon, 28 Aug 2023 18:01:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagYg-0001uT-Ve
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:01:50 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e88::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5729655-45cc-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 20:01:50 +0200 (CEST)
Received: from SJ0PR03CA0335.namprd03.prod.outlook.com (2603:10b6:a03:39c::10)
 by DM6PR12MB4155.namprd12.prod.outlook.com (2603:10b6:5:221::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 18:01:46 +0000
Received: from MWH0EPF000971E9.namprd02.prod.outlook.com
 (2603:10b6:a03:39c:cafe::6a) by SJ0PR03CA0335.outlook.office365.com
 (2603:10b6:a03:39c::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Mon, 28 Aug 2023 18:01:46 +0000
Received: from SATLEXMB04.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.6745.17 via Frontend Transport; Mon, 28 Aug 2023 18:01:44 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 13:01:34 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 11:01:06 -0700
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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:01: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: f5729655-45cc-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cswSmCj94ODoAymZNCjeIu82UvSsOCUYdseO+IEQWsOVKlwnWT1aAQ9mCCzoPUCyWQdVwbHPswqHZUc1r0eHt6ANAsU5JMwA7+RJKdjQoSkaMoGxd9LeoG5DGK422DIzVbcZx4nlC0nr2q+42LBqpoa12JeiSj24fWmX1ukddhZNzl3zLieHsLH/ZWkoiuAYUtYAH+HeNnSnXmbqNLnAvQ2Kh6rNu7pI3A0mwQu7r69Gy6KzfNa/dMyJ7jr4gA89K+tCbO9nchig9qGy9XxewQ5q5FL8Sihgc2kAERPiCD056sDoOKCZDVvvus+zLvC8g762LCtLq1CoLx38WXc/2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mS9rwZFaRU6LsAH3hSbs0rvFafQqmACIWYiLR7cPWEs=;
 b=fGB7XwSulEdwpU9PD0EXcag2Wyh7kDPlmb8wGZU3yg2lLVNJhx8HbrH8QzMJrg3az1LmlwcvRcSmEdz5BocKuQdb6TFEa6gDOavI1GPLA9sEQN1bce/e/2N/9SgL2L2KixTXplE53SmnTc9gQhwYIeQVWeTtvK0ePL6IpkqbEntDNWu93tq0MZpih6ZjvIdQYu9g00Ngq0J4318ThWe74hn9Y4akGzueSXmSiyNloMjnNvv0JLBh3fDrwb37l5w4GaWBFD7SZKT8S+LOwPYsaL9PQixWliEHHGYFAMjdpnuaUQLRW/cPwzCwANsoR6MRKnLmgztirvMfgxMX8VkCrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mS9rwZFaRU6LsAH3hSbs0rvFafQqmACIWYiLR7cPWEs=;
 b=SR0yJoPsVpQ2D1djm7+QaADbSgGxMQQQaSIFLKCbheTsxPXiYp3fhOjwv09cWAWbrHLQD8yUt3Ju6ohcCYwItN0P4KqqLsVnimzx/OjrVhx67NINtBx6lNl9G9Nhi57g0x/K3yCuKQPL194kiWEb9JpF57yLFV7Elqvuv/wHEoI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v4 3/6] x86/msi: rearrange read_pci_mem_bar slightly
Date: Mon, 28 Aug 2023 13:56:51 -0400
Message-ID: <20230828175858.30780-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E9:EE_|DM6PR12MB4155:EE_
X-MS-Office365-Filtering-Correlation-Id: 63a8ffa4-c099-48f2-7415-08dba7f0d76a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UXr7OgOp1pWq7aK9O7b4pmHuiGTftoINwb1NCkCFZv2alVpCcpQFTqsy0iLOimKGCQz6IDouEYB2KVeNo4YtIlgocurVo/E75Jujemy0g6GMKNmEyz+WdYdS4Nsa3WXbE733fv4qP6NGEzxkTGse4CSSHnIhUKr2J3Dum+g7B7Ru23/REzFBKoRJ/LS3Bx197MWgeRM5YhrSBmiVpV4ha463tOD+s+v6jWS5Qxo9KZhHf2hyMiuY60TFgN71V7YvbGyBqCMoLH1ap7FMRmiv9aVEFpu5/93aWPpcFVSdj31L8dlSQPJibg8cYs7Z2WEBbDmqVurpeTR87keFZNVV42+b8cUrJtBGy9iTMFLMxMqLhVENNZ67UtDUg7+QzmF8oHCn3dT4KJMdpnrW0MophsEP/eSgt8wB7Gqz5AipkdVxMi8SiiUoH4fcKSRhpqJUmY7e8F6Z0XaTjI8CYUb3NcejUrPwtz6xlAHn+rGadJO6uck4TtEjyEnbrwsibFjucKiSQF6WaKGyik3woOw7YMaDK4WtZWH/m2pYieehZYzpE26S33ol1pgaZf5SYObKyIeSwFD2kOnu/BOae7Jx8eDeJ5LyYabYELo86FVqDlheD9Y0BVVao4zykvhPu3yVfBSHopzIWIhspCQ3K9Ic5SHdc6c9k3cXCeQewWWnZUCOnal1AEQI5JNuM5EbcV+acPDqxQ2DRAv3qmW7Isb6pFNxfBZrlYo+1TjV1EWVS318akRK2ljOQaD20+ueGM5FSZxhvEWqlRtcNDTD9nOp4w==
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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199024)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(82740400003)(6666004)(40460700003)(36756003)(86362001)(356005)(81166007)(40480700001)(36860700001)(47076005)(2616005)(1076003)(2906002)(426003)(336012)(26005)(83380400001)(966005)(478600001)(41300700001)(70586007)(70206006)(4326008)(8676002)(8936002)(5660300002)(44832011)(54906003)(6916009)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:01:44.9562
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 63a8ffa4-c099-48f2-7415-08dba7f0d76a
X-MS-Exchange-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:
	MWH0EPF000971E9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4155

Use pdev->sbdf instead of the PCI_SBDF macro in calls to pci_* functions
where appropriate. Move NULL check earlier.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v3->v4:
* new patch

Suggested-by tag added based on conversation at [1]

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg01886.html
---
 xen/arch/x86/msi.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 8d4fd43b10a6..a78367d7cf5d 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -674,19 +674,19 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
     {
         struct pci_dev *pdev = pci_get_pdev(NULL,
                                             PCI_SBDF(seg, bus, slot, func));
-        unsigned int pos = pci_find_ext_capability(PCI_SBDF(seg, bus, slot,
-                                                            func),
-                                                   PCI_EXT_CAP_ID_SRIOV);
-        uint16_t ctrl = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
-                                        pos + PCI_SRIOV_CTRL);
-        uint16_t num_vf = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
-                                          pos + PCI_SRIOV_NUM_VF);
-        uint16_t offset = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
-                                          pos + PCI_SRIOV_VF_OFFSET);
-        uint16_t stride = pci_conf_read16(PCI_SBDF(seg, bus, slot, func),
-                                          pos + PCI_SRIOV_VF_STRIDE);
-
-        if ( !pdev || !pos ||
+        unsigned int pos;
+        uint16_t ctrl, num_vf, offset, stride;
+
+        if ( !pdev )
+            return 0;
+
+        pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_SRIOV);
+        ctrl = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_CTRL);
+        num_vf = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_NUM_VF);
+        offset = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_VF_OFFSET);
+        stride = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_VF_STRIDE);
+
+        if ( !pos ||
              !(ctrl & PCI_SRIOV_CTRL_VFE) ||
              !(ctrl & PCI_SRIOV_CTRL_MSE) ||
              !num_vf || !offset || (num_vf > 1 && !stride) ||
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:02:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591748.924241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagZ1-0002Jp-PE; Mon, 28 Aug 2023 18:02:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591748.924241; Mon, 28 Aug 2023 18:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagZ1-0002Ji-LF; Mon, 28 Aug 2023 18:02:11 +0000
Received: by outflank-mailman (input) for mailman id 591748;
 Mon, 28 Aug 2023 18:02: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=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagZ0-0002JG-Et
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:02:10 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e89::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0016af90-45cd-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 20:02:08 +0200 (CEST)
Received: from CY5PR19CA0004.namprd19.prod.outlook.com (2603:10b6:930:15::22)
 by SJ2PR12MB8035.namprd12.prod.outlook.com (2603:10b6:a03:4d3::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 18:02:03 +0000
Received: from CY4PEPF0000EE3B.namprd03.prod.outlook.com
 (2603:10b6:930:15:cafe::c0) by CY5PR19CA0004.outlook.office365.com
 (2603:10b6:930:15::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 18:02:02 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3B.mail.protection.outlook.com (10.167.242.15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Mon, 28 Aug 2023 18:02:02 +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.27; Mon, 28 Aug
 2023 13:02:01 -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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:02: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: 0016af90-45cd-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h+oeHL8tmBcBPqE9HHzzRnVQCuTyOQv5/UOKzh4jwLrMAny6N++ge+0BTx5wp2EmuI4ptuyYFoj9g4UORm64aXri7/H26BA06wQN4+fOPwqLhKYyZIfuZ/WhsEtiHlJmlQsHV8vvJGD+vLnR+3I0O4odXIohFpwcZkW8jxDlUuO6R4R7SiKKtQ6tgEWt1zG8sACQdSrT2mKG+CzlEBeaI77gKtOnJw2e+iMrthk+qE7z1S4ccpPC1Ye08ZW+3l+FCnomZzjsR4Kh+Ul2V2rsRavwRowrJX8t6FaCDcNFgsCl1B1Me3gDCd1AjlMHVsK/+90JcHJxueFyzfseNqPMnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MJvej4o/mElq6FjgO0ZWLPfwnQd61fY6nEWCZloj5OE=;
 b=hRDjo4vS7WZEvF5yj65zrXG3sH1VzPdDjAyyefoYIvbbK8Npl/BZA9KbxUW4BmjbQLDjnL2LwwUwPn/sZ0bVaVH3PAxInwbZwU+8KkxkcVRF3jANbN7jqZZrAunE7pjADXDtGjmDC7LAMirap/5jJIvEKO+KWHeaLM8rA/nYlGtMUC5vUgVILtccFm/Hr/vp2p+yeTZ2MCAlzaLlRO4jTkPgogsbnkdbk3h9GFIVaQPuvA4hp85ywhqHcvFIgcJ/swNj3gJN4CdfYb6toZ3GtV6J2XaOrF9AQMg2Iq9ZwtFR0gdb+yPAaFrp3kNKDasJQtvekEJhnOxlNuypmvGvow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MJvej4o/mElq6FjgO0ZWLPfwnQd61fY6nEWCZloj5OE=;
 b=L0yNnOG6af+pbAIvZOfi9IcD7v6TBMDWETAzoT+LL0Ra2n+kdEnC9ED3AjeVwM7Ax0HgQpymYK4Td/DOnGz87yAMsD5zwsitCuJKwDQBFC7XkRXpOigaQ4eQ8AAcA5umcGBqj+2K7ejcvPXrCLYDusZoSMiLtxOt2k9OsMavzz0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 4/6] xen/vpci: header: status register handler
Date: Mon, 28 Aug 2023 13:56:52 -0400
Message-ID: <20230828175858.30780-5-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3B:EE_|SJ2PR12MB8035:EE_
X-MS-Office365-Filtering-Correlation-Id: 98d8a99c-88b4-4537-af11-08dba7f0e1f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/NrZaw/dF2KnJ1SojurgEW8oPSC3Jv/yQT107KcDCJpGRL4w5kFzNhIHpuVM/JOWNivAbhvUFHGslHVLXnmQ7ubJ7y048ywaSZQSYB0mOhPrMqm54c8JgrkZJOTwXeI/LEDywmtyXhs5ZJ1NO+MYAFqXoBLcb8pViuDtvmwmtULddavbz5pX3G5LiWkZH1UMDh1aeGnK0vBfX/qIINXqBfUuTnQWbi6nkDbXNkqgszmptAEX/l4WRf6GChFhcls9UyzgTYUHnzWy3uVz7Q613zNbTdmnQxP6AhymuleivcAiZo5pjCH7ULrmtDCfTEzU01+HP4cEofjPPXnOMYcxgp5wt2vUxK81OJ/3/r8MDJr8WwrzMzoVmhKJfnbABj/fHYsr+iWdh+V8L6oomJvIZujbub4GDt52k/gw9KRItlP+0aKRTCTQ8I2ZWjVcQuWmGgCg9C5Grw0l1hGmx6PRPt4jEbdcXEZCrW2PkrEdy8HhNbH7kVhFQ0y5434B5iTV0FU4/K3a9EujwGm9gRHrxlWve86x0C+wKwP7MZ5FKfCL+ga1JN5UwMDv4Kzl0JMWbWfX/5m2PyTxchvdV4rBRCAAh+zcElF/2QtEH4m+vUrKOB1Bo7Zrva5Ufi3hDugu/hXgBPeCTiMnzqjM17Os00PEiceHZ+cTxGtViqB8CYugXh2HtJEpqDEDyRCAjBMwqb+HGF2Yh2/wgMFpl5RpbtU2R/v47c3kgzGk0W9pqoJ6eRwBa46vrEo8CzBVgH4wOyye3UeZgWq5PjMaJ8vilNjHMjHoQTnOApWn1LmtsaA=
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)(4636009)(396003)(376002)(39860400002)(136003)(346002)(1800799009)(82310400011)(451199024)(186009)(46966006)(40470700004)(36840700001)(478600001)(83380400001)(81166007)(356005)(82740400003)(26005)(336012)(426003)(47076005)(36860700001)(1076003)(2616005)(40480700001)(66899024)(6666004)(86362001)(2906002)(44832011)(316002)(4326008)(6916009)(70206006)(5660300002)(8676002)(70586007)(41300700001)(8936002)(54906003)(36756003)(40460700003)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:02:02.6993
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98d8a99c-88b4-4537-af11-08dba7f0e1f6
X-MS-Exchange-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:
	CY4PEPF0000EE3B.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8035

Introduce a handler for the PCI status register, with ability to mask the
capabilities bit. The status register is write-1-to-clear, so introduce handling
for this type of register in vPCI.

The mask_cap_list flag will be set in a follow-on patch.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v3->v4:
* move mask_cap_list setting to the capabilities patch
* single pci_conf_read16 in status_read
* align mask_cap_list bitfield in struct vpci_header
* change to rw1c bit mask instead of treating whole register as rw1c
* drop subsystem prefix on renamed add_register function

v2->v3:
* new patch
---
 xen/drivers/vpci/header.c | 17 +++++++++++++++++
 xen/drivers/vpci/vpci.c   | 36 ++++++++++++++++++++++++++++--------
 xen/include/xen/vpci.h    |  9 +++++++++
 3 files changed, 54 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 767c1ba718d7..dc8c6a66770b 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -413,6 +413,18 @@ static void cf_check cmd_write(
         pci_conf_write16(pdev->sbdf, reg, cmd);
 }
 
+static uint32_t cf_check status_read(const struct pci_dev *pdev,
+                                     unsigned int reg, void *data)
+{
+    struct vpci_header *header = data;
+    uint32_t status = pci_conf_read16(pdev->sbdf, reg);
+
+    if ( header->mask_cap_list )
+        status &= ~PCI_STATUS_CAP_LIST;
+
+    return status;
+}
+
 static void cf_check bar_write(
     const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
 {
@@ -544,6 +556,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
+                                PCI_STATUS, 2, header, 0xF900);
+    if ( rc )
+        return rc;
+
     if ( pdev->ignore_bars )
         return 0;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 3bec9a4153da..8b26870a8a2b 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -29,6 +29,7 @@ struct vpci_register {
     unsigned int offset;
     void *private;
     struct list_head node;
+    uint32_t rw1c_mask;
 };
 
 #ifdef __XEN__
@@ -145,9 +146,15 @@ uint32_t cf_check vpci_hw_read32(
     return pci_conf_read32(pdev->sbdf, reg);
 }
 
-int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
-                      vpci_write_t *write_handler, unsigned int offset,
-                      unsigned int size, void *data)
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
+{
+    pci_conf_write16(pdev->sbdf, reg, val);
+}
+
+static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                        vpci_write_t *write_handler, unsigned int offset,
+                        unsigned int size, void *data, uint32_t rw1c_mask)
 {
     struct list_head *prev;
     struct vpci_register *r;
@@ -167,6 +174,7 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     r->size = size;
     r->offset = offset;
     r->private = data;
+    r->rw1c_mask = rw1c_mask;
 
     spin_lock(&vpci->lock);
 
@@ -193,6 +201,22 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     return 0;
 }
 
+int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                      vpci_write_t *write_handler, unsigned int offset,
+                      unsigned int size, void *data)
+{
+    return add_register(vpci, read_handler, write_handler, offset, size, data,
+                        0);
+}
+
+int vpci_add_rw1c_register(struct vpci *vpci, vpci_read_t *read_handler,
+                           vpci_write_t *write_handler, unsigned int offset,
+                           unsigned int size, void *data, uint32_t rw1c_mask)
+{
+    return add_register(vpci, read_handler, write_handler, offset, size, data,
+                        rw1c_mask);
+}
+
 int vpci_remove_register(struct vpci *vpci, unsigned int offset,
                          unsigned int size)
 {
@@ -407,11 +431,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 
 /*
  * Perform a maybe partial write to a register.
- *
- * Note that this will only work for simple registers, if Xen needs to
- * trap accesses to rw1c registers (like the status PCI header register)
- * the logic in vpci_write will have to be expanded in order to correctly
- * deal with them.
  */
 static void vpci_write_helper(const struct pci_dev *pdev,
                               const struct vpci_register *r, unsigned int size,
@@ -424,6 +443,7 @@ static void vpci_write_helper(const struct pci_dev *pdev,
         uint32_t val;
 
         val = r->read(pdev, r->offset, r->private);
+        val &= ~r->rw1c_mask;
         data = merge_result(val, data, size, offset);
     }
 
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 0b8a2a3c745b..51b1b06c2c71 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -37,6 +37,11 @@ int __must_check vpci_add_register(struct vpci *vpci,
                                    vpci_write_t *write_handler,
                                    unsigned int offset, unsigned int size,
                                    void *data);
+int __must_check vpci_add_rw1c_register(struct vpci *vpci,
+                                        vpci_read_t *read_handler,
+                                        vpci_write_t *write_handler,
+                                        unsigned int offset, unsigned int size,
+                                        void *data, uint32_t rw1c_mask);
 int __must_check vpci_remove_register(struct vpci *vpci, unsigned int offset,
                                       unsigned int size);
 
@@ -50,6 +55,8 @@ uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
     const struct pci_dev *pdev, unsigned int reg, void *data);
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data);
 
 /*
  * Check for pending vPCI operations on this vcpu. Returns true if the vcpu
@@ -94,6 +101,8 @@ struct vpci {
          * upon to know whether BARs are mapped into the guest p2m.
          */
         bool bars_mapped      : 1;
+        /* Store whether to hide all capabilities from the guest. */
+        bool mask_cap_list    : 1;
         /* FIXME: currently there's no support for SR-IOV. */
     } header;
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:02:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591756.924250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagZi-00032b-1r; Mon, 28 Aug 2023 18:02:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591756.924250; Mon, 28 Aug 2023 18:02:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qagZh-00032T-Vb; Mon, 28 Aug 2023 18:02:53 +0000
Received: by outflank-mailman (input) for mailman id 591756;
 Mon, 28 Aug 2023 18:02: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=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qagZf-00030x-TC
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:02:51 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e88::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18f359bc-45cd-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 20:02:49 +0200 (CEST)
Received: from DM6PR13CA0031.namprd13.prod.outlook.com (2603:10b6:5:bc::44) by
 SJ0PR12MB6927.namprd12.prod.outlook.com (2603:10b6:a03:483::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug
 2023 18:02:46 +0000
Received: from CY4PEPF0000EE3D.namprd03.prod.outlook.com
 (2603:10b6:5:bc:cafe::a4) by DM6PR13CA0031.outlook.office365.com
 (2603:10b6:5:bc::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.17 via Frontend
 Transport; Mon, 28 Aug 2023 18:02:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3D.mail.protection.outlook.com (10.167.242.17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Mon, 28 Aug 2023 18:02:45 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 13:02:42 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 11:02:24 -0700
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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:02: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: 18f359bc-45cd-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DPHH0+u5014acUuC1706UsAUtoAetJ4rPxNach1h23NS91Dq7/TMuEc0VXdgshXD7hhHRsxIX/0Ut4Rap8s5WVWGa1WvHirn4M4lLQLwTFmfWH9WBBLD8JEXXey5XgYK4/FMZLBmqwIeFDvZRsuUH5lmgDMivKiBdAaiwLlHB0YA/hCKrN+mweaVIcaL3Es/TFw8nahWAwK+h8dsGZ67+8pxEurws4yc3ZlnTqXTaklM5fZbmZOZwOSSl0RotQFHHxQ6LQgWLTZnKZJ3hSXDkedTbr/s0UshQ5I9+TwPaNaUBEFmfTnBGMWQn2pd2KT7iDX4eAohSMU9P3r0dvvn4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dU/f6BYM+t+yAh1uQ1Cq9rU23TlKf83Tj/wjom6+IVU=;
 b=jaoompQuoo7wzvnNfndd0zsZJZu7DkQk/iSOc3CNauejuUQC4Eh3TCBl81X2c6U1dOy1CSWiBV5nk2dN+gbW/qvlMrPdRm1PbgAFJL8lLrvZyEp5KH6Nh2FHgNPLSwR6jQ0R4BUN8tyip4sNhYxFu53fddv4+LGSvaEnd6jwgIRIxNEAlXTiRnBtHhqrF9UxRm59uL9HQPvVL4rUiOlry0dRasf+TmzOVNarE2HnFBLc/0SwRrTK66meq0d0jrhbt9vVPWNQ7weF9YBSjYFcN1LSpYXf2wXGoS1XPXTQWfQZx7dzC9UoozMOR8QwfdQDWSin6PGa04hFSrdq3N2JKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dU/f6BYM+t+yAh1uQ1Cq9rU23TlKf83Tj/wjom6+IVU=;
 b=zCaLUy0h85pU+40YoySWVLeXUBQfRmqoN09nGL7KBFTFTwdE6UY/vWBiE5Tlwysjm1D1FTHK5gS2TJyUzzQy9xcJBnqjHOqbBTXgJDN8rjF1xeP8a6QmQ4cQTNPTvMoA3+OPBkfi7U+ZtzdrTR3d3jkRtTYJl4HLJ0g9Cqy47cg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH v4 5/6] xen/vpci: support ro mask
Date: Mon, 28 Aug 2023 13:56:53 -0400
Message-ID: <20230828175858.30780-6-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3D:EE_|SJ0PR12MB6927:EE_
X-MS-Office365-Filtering-Correlation-Id: 96754622-b765-4e00-c8a8-08dba7f0fb8b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	248eUgPEvL4aBCElLvvHqtJAPCn1seaBQW9NHZ3Lx+lGONPEybiOjJnYy7ODcurbhFzg52n4MD2CB4yvRm0DkJSGfxsebFfpBYUHX0VPSGeF0WlMhtWzg2+yoMq4W7i2Se1zYaNKS+t/yIq5E6oqOLsU1tRp62Igg0v9I/AJMAH+Blv4+43YgIyfJ1L4/57shiQPdZMdYnNj/7L8Ba0DKP/suj9Yhi7y6meKP3cVRixWUK6gUpzFQ5NtnJeHhAvZ9/BKhx0QqficcgZfEzm0psSKn24HQJg380+nzhSOa31gJNkpW5a9UrJ5SxvDRKRLlsCdcvdwGx+FqnrmcpzGLZQfveIMf1ih4hH0H8ZrNtXxb/X6JZXprw5owegPv+Be+qQw/efB+axetv3W3JSJC7RkDJ9CD1b9GeHhWbZv0m2lPmdg1TX6gnzqJBOmSRSynPXNdkRDPlUzwofn40KcAPjB4LrGg3bBHzFQ+7pYbA76pYN/cJqpeXe4lh4DZnflfkKCxgK+NJAoxCLlRC165fAamU8MoqaX9xaK6u4+qIpFoSMM4+GWNChxj7pKTAvYrgj8+uVY+L0ycxo7JtjRPQ098u7LKeZ/h98Bh9nAVbFX76XMD7et0LfpqnbOMimp0Dc+dSB5vB3KwH5u+GHuEt0SeeUuUva2uAWGS1VoxLHoo8GIjaSvnmHflc3utwEdUunYJCb1fmP3qCnZqNFqJib5vAEi1bifmR8vo4A/hCgcDD5iQ9xNw0jWNzWTZSc/l4E+Y08z5WvGgozooaSlFQ==
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)(4636009)(136003)(39860400002)(346002)(376002)(396003)(186009)(1800799009)(451199024)(82310400011)(36840700001)(46966006)(40470700004)(6666004)(1076003)(2616005)(40480700001)(40460700003)(86362001)(5660300002)(2906002)(44832011)(41300700001)(8936002)(70206006)(36756003)(8676002)(4326008)(316002)(6916009)(54906003)(70586007)(82740400003)(478600001)(356005)(83380400001)(36860700001)(47076005)(81166007)(26005)(426003)(336012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:02:45.6038
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96754622-b765-4e00-c8a8-08dba7f0fb8b
X-MS-Exchange-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:
	CY4PEPF0000EE3D.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6927

Add support for a read-only bit mask for vPCI register handlers.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v3->v4:
* new patch

RFC: It seemed like a low-hanging fruit to add support for ro mask. Let me know
     what you think, and I could squash it into the status handler patch for the
     next version of the series.
---
 xen/drivers/vpci/header.c |  4 ++--
 xen/drivers/vpci/vpci.c   | 15 ++++++++++-----
 xen/include/xen/vpci.h    |  5 +++--
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index dc8c6a66770b..4a4dbb69ab1c 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -556,8 +556,8 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
-    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
-                                PCI_STATUS, 2, header, 0xF900);
+    rc = vpci_add_register_mask(pdev->vpci, status_read, vpci_hw_write16,
+                                PCI_STATUS, 2, header, 0x06F8, 0xF900);
     if ( rc )
         return rc;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 8b26870a8a2b..2a67cc516626 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -29,6 +29,7 @@ struct vpci_register {
     unsigned int offset;
     void *private;
     struct list_head node;
+    uint32_t ro_mask;
     uint32_t rw1c_mask;
 };
 
@@ -154,7 +155,8 @@ void cf_check vpci_hw_write16(
 
 static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
                         vpci_write_t *write_handler, unsigned int offset,
-                        unsigned int size, void *data, uint32_t rw1c_mask)
+                        unsigned int size, void *data, uint32_t ro_mask,
+                        uint32_t rw1c_mask)
 {
     struct list_head *prev;
     struct vpci_register *r;
@@ -174,6 +176,7 @@ static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
     r->size = size;
     r->offset = offset;
     r->private = data;
+    r->ro_mask = ro_mask;
     r->rw1c_mask = rw1c_mask;
 
     spin_lock(&vpci->lock);
@@ -206,15 +209,16 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
                       unsigned int size, void *data)
 {
     return add_register(vpci, read_handler, write_handler, offset, size, data,
-                        0);
+                        0, 0);
 }
 
-int vpci_add_rw1c_register(struct vpci *vpci, vpci_read_t *read_handler,
+int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
                            vpci_write_t *write_handler, unsigned int offset,
-                           unsigned int size, void *data, uint32_t rw1c_mask)
+                           unsigned int size, void *data, uint32_t ro_mask,
+                           uint32_t rw1c_mask)
 {
     return add_register(vpci, read_handler, write_handler, offset, size, data,
-                        rw1c_mask);
+                        ro_mask, rw1c_mask);
 }
 
 int vpci_remove_register(struct vpci *vpci, unsigned int offset,
@@ -447,6 +451,7 @@ static void vpci_write_helper(const struct pci_dev *pdev,
         data = merge_result(val, data, size, offset);
     }
 
+    data &= ~r->ro_mask;
     r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
              r->private);
 }
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 51b1b06c2c71..b0636182d91e 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -37,11 +37,12 @@ int __must_check vpci_add_register(struct vpci *vpci,
                                    vpci_write_t *write_handler,
                                    unsigned int offset, unsigned int size,
                                    void *data);
-int __must_check vpci_add_rw1c_register(struct vpci *vpci,
+int __must_check vpci_add_register_mask(struct vpci *vpci,
                                         vpci_read_t *read_handler,
                                         vpci_write_t *write_handler,
                                         unsigned int offset, unsigned int size,
-                                        void *data, uint32_t rw1c_mask);
+                                        void *data, uint32_t ro_mask,
+                                        uint32_t rw1c_mask);
 int __must_check vpci_remove_register(struct vpci *vpci, unsigned int offset,
                                       unsigned int size);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 18:03:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 18:03:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591759.924261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaga1-0003Xg-BE; Mon, 28 Aug 2023 18:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591759.924261; Mon, 28 Aug 2023 18:03:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaga1-0003XZ-8W; Mon, 28 Aug 2023 18:03:13 +0000
Received: by outflank-mailman (input) for mailman id 591759;
 Mon, 28 Aug 2023 18:03:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+nU3=EN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qaga0-0001uT-78
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 18:03:12 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e89::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25a821a8-45cd-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 20:03:11 +0200 (CEST)
Received: from DS7PR07CA0009.namprd07.prod.outlook.com (2603:10b6:5:3af::9) by
 CH2PR12MB4150.namprd12.prod.outlook.com (2603:10b6:610:a6::24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.34; Mon, 28 Aug 2023 18:03:07 +0000
Received: from CY4PEPF0000E9DC.namprd05.prod.outlook.com
 (2603:10b6:5:3af:cafe::6e) by DS7PR07CA0009.outlook.office365.com
 (2603:10b6:5:3af::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Mon, 28 Aug 2023 18:03:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DC.mail.protection.outlook.com (10.167.241.82) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.16 via Frontend Transport; Mon, 28 Aug 2023 18:03:06 +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.27; Mon, 28 Aug
 2023 13:03:06 -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.27 via Frontend
 Transport; Mon, 28 Aug 2023 13:03: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: 25a821a8-45cd-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F3j3mDpZ+44P5WurDfQPTSg/9v2DhCjRDzrWZXqgBavo5CoT5rDjJDw/dIpEax+2K7npOaIdxZH9XLHE7gcGP/SACWlYwadxl9qu+ji9Qon+1sST9xDtSaevbEGT0+p61X6AOKsYOV200up/102Z1AExlh3e6YPQ+CeU5wuwpXD2bU78qYZePloYupb8WlKwor+ueoy+qiaVTeKH7ZHIBKt1c+MrV8xECGEz0/1zvOlRsvUPALlqsJ7El2YNmUyclaZoFP7j5dOF9vm50hDC04Yg4AfHJPhBPVLPExDVHYQCaEpwih6j2UdV+b8a0DoP2T3nam/zs6TaprCpQltGCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fnedCK7tAR44q7lO/DURZyKyOiN3g7ouC9lxG2A93XY=;
 b=HfekPXyKQ9Q2vdzSprVvMA4zyqPdsgii78OnbnZquisUjd+bnowolII1pI7hAXJwH/iRDpmq7lROJNWwh9ZXHFKJke9dc07nTnIel0rqCAeHCGj6W27Rr/Liiueg0llaNMfvDFkPPNuVvksjUoaWda6BhXKh79XyOXq6eHKN/jFS7HLxhiHbGK1jKsN89T9PI8UDjjKBNRHINtZlqtNDK3RlF+kk3KNPxxbc/3AGY+i0SYqXXPdnUKlKqJPrxZC9zanVK1uF4ucIwJ4lcY4ogwh0i6pjeTzNk0eheUU4pqln94Oxwnt9+SWItfwycDd2manNKK4yeAfBspAwHPP5kQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fnedCK7tAR44q7lO/DURZyKyOiN3g7ouC9lxG2A93XY=;
 b=R7oS/llCM9SDdqAtvA26ZbveqDiGLmdsLHhfJ7nAvbob31JEOxv4ptBxZ7kEpDmDGlwSQ2h0zawaQTG+Jfg2I1Ugxf2Bl4OExQyk2UTz19nbLcnYIAFyhQpnXXA1iFLtqAadDdYsEUTVBZCaD3ihB9L/q7cY72GSI6cCBbsHj2Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 6/6] xen/vpci: header: filter PCI capabilities
Date: Mon, 28 Aug 2023 13:56:54 -0400
Message-ID: <20230828175858.30780-7-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20230828175858.30780-1-stewart.hildebrand@amd.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DC:EE_|CH2PR12MB4150:EE_
X-MS-Office365-Filtering-Correlation-Id: df6e9dd2-e2e0-4344-4a0c-08dba7f10835
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/CsJmoMb0Yx7fnezMLF9P+lYZXAa4K1VJR0YeOq/qAUHiqG+RPrSUDwC8kSVTRuEMreYjWtlQk5v4G27nLsErutuJJBL03bT4k6Hyl7QEa7XMy1y/TfKdbMpYupYjNR7P/AYy1l/xMSWzxAWb5VRQICOLUSeujinZUEdkKuDmoqTdgxSL/Tiuo+2W0XQiel38naKijXwLaY3qi7XVUlvNLgoHLPLUbogBeogywXaDJIp8362hyW38wiXuGATDTDzgx0lvgRBNJDZlkWTbOrA28DHdjD9NkvW+mtWEK5Tn7ZgghH9RVQSprKuKylxMBQUQnrdjsvVstNakYk52djaqVLLgvI5KjoCcQYI+gBFcj4snTP/LPjIycVwmrrl4oXqotnlpD8BhFVgJcCgn8gu02fkVAKjX1eaCwV0RaZTIrG+ggKXbEhlrUX9vEOVBAI2hjZVDxRB/Na9NVrioKZEOInhoNv6gkY7qeyw/QOFWiH7JXT/GtAbrx/aigvSMrr9Q1FN00ZG1hTy6zFJNlMPS/YLsCTdVRx30XadEiWUiMrCxRpWmj7PdlQnY0+g2UUVaFtlPOMNmXGraDi7/2YjdMlyrNYuzR3MsPgPe/zOyk84/roFodlHb8Xn1sb7GVYeT8Pkp1fqPy9NA1u6HlDFvc8n5BLv7QniO45A2G/M426ZfqnFQfHZx4qnp5+3hP3Y3g1J+vdnvHC+hsCzjMYRxtQqc6aLl3vCRSfG862saWKwedQ0gLdoFANCf8fa6j0bo0VF6f1R/8JfM77A6e7Dxw==
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)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199024)(1800799009)(186009)(82310400011)(46966006)(36840700001)(40470700004)(82740400003)(6666004)(40460700003)(36756003)(86362001)(81166007)(356005)(40480700001)(36860700001)(47076005)(1076003)(478600001)(2906002)(336012)(426003)(26005)(83380400001)(70586007)(70206006)(41300700001)(8676002)(4326008)(8936002)(44832011)(5660300002)(2616005)(6916009)(316002)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 18:03:06.8630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: df6e9dd2-e2e0-4344-4a0c-08dba7f10835
X-MS-Exchange-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:
	CY4PEPF0000E9DC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4150

Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
Hide all other PCI capabilities (including extended capabilities) from domUs for
now, even though there may be certain devices/drivers that depend on being able
to discover certain capabilities.

We parse the physical PCI capabilities linked list and add vPCI register
handlers for the next elements, inserting our own next value, thus presenting a
modified linked list to the domU.

Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
helper function returns a fixed value, which may be used for RAZ registers, or
registers whose value doesn't change.

Introduce pci_find_next_cap_ttl() helper while adapting the logic from
pci_find_next_cap() to suit our needs, and implement the existing
pci_find_next_cap() in terms of the new helper.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v3->v4:
* move mask_cap_list setting to this patch
* leave pci_find_next_cap signature alone
* use more appropriate types

v2->v3:
* get rid of > 0 in loop condition
* implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
  that hypothetical future callers wouldn't be required to pass &ttl.
* change NULL to (void *)0 for RAZ value passed to vpci_read_val
* change type of ttl to unsigned int
* remember to mask off the low 2 bits of next in the initial loop iteration
* change return type of pci_find_next_cap and pci_find_next_cap_ttl
* avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0

v1->v2:
* change type of ttl to int
* use switch statement instead of if/else
* adapt existing pci_find_next_cap helper instead of rolling our own
* pass ttl as in/out
* "pass through" the lower 2 bits of the next pointer
* squash helper functions into this patch to avoid transient dead code situation
* extended capabilities RAZ/WI
---
 xen/drivers/pci/pci.c     | 31 +++++++++++-----
 xen/drivers/vpci/header.c | 77 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 12 ++++++
 xen/include/xen/pci.h     |  3 ++
 xen/include/xen/vpci.h    |  5 +++
 5 files changed, 119 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index 3569ccb24e9e..733e5e028908 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -39,31 +39,44 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
     return 0;
 }
 
-unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
-                               unsigned int cap)
+unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
+                                   bool (*is_match)(unsigned int, unsigned int),
+                                   unsigned int userdata, unsigned int *ttl)
 {
-    u8 id;
-    int ttl = 48;
+    unsigned int id;
 
-    while ( ttl-- )
+    while ( (*ttl)-- )
     {
         pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
-        pos &= ~3;
-        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
-        if ( id == cap )
+        if ( is_match(id, userdata) )
             return pos;
 
-        pos += PCI_CAP_LIST_NEXT;
+        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
     }
+
     return 0;
 }
 
+static bool cf_check is_cap_match(unsigned int id1, unsigned int id2)
+{
+    return id1 == id2;
+}
+
+unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
+                               unsigned int cap)
+{
+    unsigned int ttl = 48;
+
+    return pci_find_next_cap_ttl(sbdf, pos, is_cap_match, cap, &ttl) & ~3;
+}
+
 /**
  * pci_find_ext_capability - Find an extended capability
  * @sbdf: PCI device to query
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 4a4dbb69ab1c..919addbfa630 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -525,6 +525,18 @@ static void cf_check rom_write(
         rom->addr = val & PCI_ROM_ADDRESS_MASK;
 }
 
+static bool cf_check vpci_cap_supported(unsigned int id1, unsigned int id2)
+{
+    switch ( id1 )
+    {
+    case PCI_CAP_ID_MSI:
+    case PCI_CAP_ID_MSIX:
+        return true;
+    default:
+        return false;
+    }
+}
+
 static int cf_check init_bars(struct pci_dev *pdev)
 {
     uint16_t cmd;
@@ -561,6 +573,71 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
+        {
+            /* RAZ/WI */
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1, (void *)0);
+            if ( rc )
+                return rc;
+        }
+        else
+        {
+            /* Only expose capabilities to the guest that vPCI can handle. */
+            uint8_t next;
+            unsigned int ttl = 48;
+
+            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
+                                         vpci_cap_supported, 0, &ttl);
+
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1,
+                                   (void *)(uintptr_t)next);
+            if ( rc )
+                return rc;
+
+            next &= ~3;
+
+            if ( !next )
+                /*
+                 * If we don't have any supported capabilities to expose to the
+                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
+                 * register.
+                 */
+                header->mask_cap_list = true;
+
+            while ( next && ttl )
+            {
+                uint8_t pos = next;
+
+                next = pci_find_next_cap_ttl(pdev->sbdf,
+                                             pos + PCI_CAP_LIST_NEXT,
+                                             vpci_cap_supported, 0, &ttl);
+
+                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
+                                       pos + PCI_CAP_LIST_ID, 1, NULL);
+                if ( rc )
+                    return rc;
+
+                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                       pos + PCI_CAP_LIST_NEXT, 1,
+                                       (void *)(uintptr_t)next);
+                if ( rc )
+                    return rc;
+
+                next &= ~3;
+            }
+        }
+
+        /* Extended capabilities RAZ/WI */
+        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4,
+                               (void *)0);
+        if ( rc )
+            return rc;
+    }
+
     if ( pdev->ignore_bars )
         return 0;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 2a67cc516626..25567005d66f 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -135,6 +135,18 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return (uintptr_t)data;
+}
+
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return pci_conf_read8(pdev->sbdf, reg);
+}
+
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index ea6a4c9abf38..50ca2f40acda 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -194,6 +194,9 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
 unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
+unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
+                                   bool (*is_match)(unsigned int, unsigned int),
+                                   unsigned int userdata, unsigned int *ttl);
 unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
                                unsigned int cap);
 unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index b0636182d91e..a63f2ca8ed56 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -51,7 +51,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
+
 /* Passthrough handlers. */
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 21:51:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 21:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591777.924271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qak8I-0002Ng-CF; Mon, 28 Aug 2023 21:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591777.924271; Mon, 28 Aug 2023 21:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qak8I-0002NZ-8m; Mon, 28 Aug 2023 21:50:50 +0000
Received: by outflank-mailman (input) for mailman id 591777;
 Mon, 28 Aug 2023 21:50: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=LBWR=EN=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1qak8G-0002NQ-Pu
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 21:50:49 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef2f794a-45ec-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 23:50:44 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id D9C603200A70
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 17:50:40 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Mon, 28 Aug 2023 17:50:41 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 17:50:39 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef2f794a-45ec-11ee-9b0c-b553b5be7939
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:sender
	:subject:subject:to:to; s=fm1; t=1693259440; x=1693345840; bh=8j
	X1CPCULlXtf0BxGcwUvc6u1/iJzS4MZy2KRvYih30=; b=RYhoEaWzXd+kh9+dZh
	irwJHDgwTXgy1adlb+nPRrcsXuqb4YwI89DX+YUWwsFPbv4kRnG/OZVKYYlWkDWo
	mEMl1m8FqWwlu/tXIbTM6wTsc7rtksvLg/smtOySRGl83SpP7zBR1t/HVXtkBKwm
	p1ePDSqI5Bl4D7pRBb2Lx03irtulM69csMxRg7/qfwQDuGBLNgnJ+bm22xpvaAH0
	6lIhlkGwUnuQpderfr7CJg+wEf95UbtV9vQ0D1bhXHL456XHUFFEPwQBQQWEjkpV
	Q3m5k4g+Icpy++qHgBxBjNIkJj07bqIOdwnLdio/i/vSsBCJI+2cJmIdEJa9o++i
	ECzg==
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:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1693259440; x=1693345840; bh=8jX1CPCULlXtf0BxGcwUvc6u1/iJzS4MZy2
	KRvYih30=; b=MGq10m8JKD3WGEFQPfktycDqPfo0b40sEGkiVsLaSbL0DoxK/7Z
	1xqxdrzdleYe0Q9LBSvp88zMhwsYufGyfKHfn4eEH9Ud9N0QdwjhbLNO6F/UyVZc
	12y60G9fZJyuTcJUU7cA7CpaVs2DW0F0J/6/AODCk3m9AGaheoPoGMcILhO5RqN3
	cg+3ndEKp9pb1eI+e2CI+ZcWWlm7KIsMNj0AlgeVV8NzkFQMgEsJQHd9ljdac/Em
	xWRuD41UKKir3GTGaxSvnMx2oUZEdzXP5zqj2Txbi0te0mtT5TezBJ929Tj5YoKC
	05XwtWeKeQSdIz5HVUFXt3sJRaJgUF3lBbw==
X-ME-Sender: <xms:sBbtZMytANyynRTT8ylXuR-Vjm033l708qQ7ND4HIhVqOp5mMYTmbw>
    <xme:sBbtZARkdbBfIPy-dyIt6uNbZWmmdyj1X6AI5hgFOvNTmtKMxB25zu_6bsCc3U0e2
    mBgXTGSmMgdzg>
X-ME-Received: <xmr:sBbtZOWF5zwG5BckkMMCdqo5G0hdveAOqrk1mmsVgi63vKcf4G7ASGBQCIoMDlvV-oA_kS32HwY1zYOYD4MRSob3Rf095hicIxQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudefhedgtddvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertd
    dtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhi
    uceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnhepleefveeugfeikeeikeehteeuvdfggedvvdelheejkeeiteeh
    uedtgffgvefgtdetnecuffhomhgrihhnpehophgvnhhsuhhsvgdrohhrghdpqhhusggvsh
    dqohhsrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:sBbtZKgs3zrvM2-FARX4au9aPsYmbFP1GnizF4jkkVZQhQt1IcTI3A>
    <xmx:sBbtZOC3SKpZhJTp7KJIiQIYW-WwaljQMblKx-hEY3vp4jT_TuPFoA>
    <xmx:sBbtZLImkBnjNPgTKGqQg8EEB-QWD8KWzBeF_5qxq5gXKi58Fz-06Q>
    <xmx:sBbtZBOG1CbzlF_DdatqnRqvdPsJULDwRI6JwttFpzh9t8phXZ7fuA>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 28 Aug 2023 23:50:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: NULL pointer dereference in xenbus_thread->...
Message-ID: <ZO0WrR5J0xuwDIxW@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="T2fshvCC4EqYyxxh"
Content-Disposition: inline


--T2fshvCC4EqYyxxh
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 28 Aug 2023 23:50:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: NULL pointer dereference in xenbus_thread->...

Hi,

I've noticed in Qubes's CI failure like this:

[  871.271292] BUG: kernel NULL pointer dereference, address: 0000000000000=
000
[  871.275290] #PF: supervisor read access in kernel mode
[  871.277282] #PF: error_code(0x0000) - not-present page
[  871.279182] PGD 106fdb067 P4D 106fdb067 PUD 106fdc067 PMD 0=20
[  871.281071] Oops: 0000 [#1] PREEMPT SMP NOPTI
[  871.282698] CPU: 1 PID: 28 Comm: xenbus Not tainted 6.1.43-1.qubes.fc37.=
x86_64 #1
[  871.285222] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS =
rel-1.16.0-0-gd239552-rebuilt.opensuse.org 04/01/2014
[  871.288883] RIP: e030:__wake_up_common+0x4c/0x180
[  871.292838] Code: 24 0c 89 4c 24 08 4d 85 c9 74 0a 41 f6 01 04 0f 85 a3 =
00 00 00 48 8b 43 08 4c 8d 40 e8 48 83 c3 08 49 8d 40 18 48 39 c3 74 5b <49=
> 8b 40 18 31 ed 4c 8d 70 e8 45 8b 28 41 f6 c5 04 75 5f 49 8b 40
[  871.299776] RSP: e02b:ffffc900400f7e10 EFLAGS: 00010082
[  871.301656] RAX: 0000000000000000 RBX: ffff88810541ce98 RCX: 00000000000=
00000
[  871.304255] RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffff8881054=
1ce90
[  871.306714] RBP: ffffc900400f0280 R08: ffffffffffffffe8 R09: ffffc900400=
f7e68
[  871.309937] R10: 0000000000007ff0 R11: ffff888100ad3000 R12: ffffc900400=
f7e68
[  871.312326] R13: 0000000000000000 R14: 0000000000000000 R15: 00000000000=
00000
[  871.314647] FS:  0000000000000000(0000) GS:ffff88813ff00000(0000) knlGS:=
0000000000000000
[  871.317677] CS:  10000e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[  871.319644] CR2: 0000000000000000 CR3: 00000001067fe000 CR4: 00000000000=
40660
[  871.321973] Call Trace:
[  871.322782]  <TASK>
[  871.323494]  ? show_trace_log_lvl+0x1d3/0x2ef
[  871.324901]  ? show_trace_log_lvl+0x1d3/0x2ef
[  871.326310]  ? show_trace_log_lvl+0x1d3/0x2ef
[  871.327721]  ? __wake_up_common_lock+0x82/0xd0
[  871.329147]  ? __die_body.cold+0x8/0xd
[  871.330378]  ? page_fault_oops+0x163/0x1a0
[  871.331691]  ? exc_page_fault+0x70/0x170
[  871.332946]  ? asm_exc_page_fault+0x22/0x30
[  871.334454]  ? __wake_up_common+0x4c/0x180
[  871.335777]  __wake_up_common_lock+0x82/0xd0
[  871.337183]  ? process_writes+0x240/0x240
[  871.338461]  process_msg+0x18e/0x2f0
[  871.339627]  xenbus_thread+0x165/0x1c0
[  871.340830]  ? cpuusage_read+0x10/0x10
[  871.342032]  kthread+0xe9/0x110
[  871.343317]  ? kthread_complete_and_exit+0x20/0x20
[  871.345020]  ret_from_fork+0x22/0x30
[  871.346239]  </TASK>
[  871.347060] Modules linked in: snd_hda_codec_generic ledtrig_audio snd_h=
da_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core snd=
_hwdep snd_seq snd_seq_device joydev snd_pcm intel_rapl_msr ppdev intel_rap=
l_common snd_timer pcspkr e1000e snd soundcore i2c_piix4 parport_pc parport=
 loop fuse xenfs dm_crypt crct10dif_pclmul crc32_pclmul crc32c_intel polyva=
l_clmulni polyval_generic floppy ghash_clmulni_intel sha512_ssse3 serio_raw=
 virtio_scsi virtio_console bochs xhci_pci xhci_pci_renesas xhci_hcd qemu_f=
w_cfg drm_vram_helper drm_ttm_helper ttm ata_generic pata_acpi xen_privcmd =
xen_pciback xen_blkback xen_gntalloc xen_gntdev xen_evtchn scsi_dh_rdac scs=
i_dh_emc scsi_dh_alua uinput dm_multipath
[  871.368892] CR2: 0000000000000000
[  871.370160] ---[ end trace 0000000000000000 ]---
[  871.371719] RIP: e030:__wake_up_common+0x4c/0x180
[  871.373273] Code: 24 0c 89 4c 24 08 4d 85 c9 74 0a 41 f6 01 04 0f 85 a3 =
00 00 00 48 8b 43 08 4c 8d 40 e8 48 83 c3 08 49 8d 40 18 48 39 c3 74 5b <49=
> 8b 40 18 31 ed 4c 8d 70 e8 45 8b 28 41 f6 c5 04 75 5f 49 8b 40
[  871.379866] RSP: e02b:ffffc900400f7e10 EFLAGS: 00010082
[  871.381689] RAX: 0000000000000000 RBX: ffff88810541ce98 RCX: 00000000000=
00000
[  871.383971] RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffff8881054=
1ce90
[  871.386235] RBP: ffffc900400f0280 R08: ffffffffffffffe8 R09: ffffc900400=
f7e68
[  871.388521] R10: 0000000000007ff0 R11: ffff888100ad3000 R12: ffffc900400=
f7e68
[  871.390789] R13: 0000000000000000 R14: 0000000000000000 R15: 00000000000=
00000
[  871.393101] FS:  0000000000000000(0000) GS:ffff88813ff00000(0000) knlGS:=
0000000000000000
[  871.395671] CS:  10000e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[  871.397863] CR2: 0000000000000000 CR3: 00000001067fe000 CR4: 00000000000=
40660
[  871.400441] Kernel panic - not syncing: Fatal exception
[  871.402171] Kernel Offset: disabled
(XEN) Hardware Dom0 crashed: rebooting machine in 5 seconds.

It isn't the first time I see similar crash, but I can't really
reproduce it reliably. Restarted test usually passes.
Note this is Xen nested in KVM, so it could very well be some oddity
about nested virt, although looking at the stack trace, it's unlikely
and more likely some race condition hit only on slower system.

Unfortunately I don't have symbols for this kernel handy, but there is a
single wake_up() call in process_writes(), so it shouldn't be an issue.

Any ideas?

Full log at https://openqa.qubes-os.org/tests/80779/logfile?filename=3Dseri=
al0.txt

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--T2fshvCC4EqYyxxh
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmTtFq0ACgkQ24/THMrX
1ywsNggAmhUTj+NhltYUMYPdkM27S5jRYSqGGH5WDwKQY9qO/5hDg3WiWvdH/Rv0
jNYKTL2YJdOQgvXx864DHD3jxgN7PS4qKKgFlHGNpRCADl/RxKGQpwKXprj4ij64
BOoQgad8Q3qaS+p8hi6j3km+9YjsSoEeukxnd7uasr1bBi5yE9Ml+YDE9dTJ7UwU
Xnn5YKcjnUPrvh/Ehpphjw3yn57kFhqJnUzHyyJRvim5whtg2yvKzkUQ7t31OmFt
zYeh3CLVFX7C4Jts6et2QB21ZRuZFZtaaw414O7GkmHNPlvwHdFzuYx2aIVuHunZ
GHakNhLIwx0DJYWmdbQ7Aj2XqAefcw==
=DJNt
-----END PGP SIGNATURE-----

--T2fshvCC4EqYyxxh--


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 21:52:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 21:52:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591783.924280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakA3-0002uW-MW; Mon, 28 Aug 2023 21:52:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591783.924280; Mon, 28 Aug 2023 21:52:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakA3-0002uP-JZ; Mon, 28 Aug 2023 21:52:39 +0000
Received: by outflank-mailman (input) for mailman id 591783;
 Mon, 28 Aug 2023 21:52: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=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakA1-0002tw-KP
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 21:52:37 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31e64111-45ed-11ee-9b0c-b553b5be7939;
 Mon, 28 Aug 2023 23:52:35 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A6D9C63113;
 Mon, 28 Aug 2023 21:52:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7EB8C433C8;
 Mon, 28 Aug 2023 21:52:31 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31e64111-45ed-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693259553;
	bh=TxeMUgdT4N+g4UVMjRoWDS6YAs56uX+le4sa7r70bXM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kbBZ/+ivLLHtpVWRkh7sNQOyuqcPcJfV1UmoMj8g6WphaMkyC8gXeFwLMRDZFRSko
	 SDA3VCEdHa3Ixcwf5mI3jvlzMEDU9FFxn+nfiopREzYJWoK6WbMGObyqWqA6O1ilKn
	 V48emagiKiC2JGYRZwXUVY+XFi9Je+W3bfJa8ud1CT7AA1Ub+F4822DX+Ew2s2IJkm
	 ADeqbM9ajyUrvIk0u1FeNf9+iUOi0j59bfuDxS52zOWZPSI3zRDFZaKZZedqggq59g
	 OaopaYCQGNu8PDDhczMUIMRkin7NOjFAw6XkLnfFP4tD/P/HACelU5z1Pgcvu5tqxE
	 ryPoZB8Jow6WA==
Date: Mon, 28 Aug 2023 14:52:29 -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>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, roger.pau@citrix.com
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
In-Reply-To: <a7c68b27-4ad7-175d-2c62-85a0f1246357@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308281440480.6458@ubuntu-linux-20-04-desktop>
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com> <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com> <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com> <alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop>
 <a7c68b27-4ad7-175d-2c62-85a0f1246357@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, 28 Aug 2023, Jan Beulich wrote:
> On 26.08.2023 00:21, Stefano Stabellini wrote:
> > Coming to unsigned int, it should be 32-bit on all supported arches,
> 
> But this isn't a requirement, even if we're using "unsigned int" in the
> C declarations / definitions: If "unsigned int" was wider, all we'd
> demand is that hypercall entry code (likely written in assembly anyway)
> zero-extend incoming values suitably to fit whatever "unsigned int" is.
> Which is no different to Andrew (aiui) suggesting to use "unsigned
> long" instead: That'll too require suitable zero-extension up front.

What you wrote assumes that "unsigned int" can only be 32-bit or wider,
such as 64-bit. However, I think that by the C standard there is no
guarantee. For instance, it could be smaller, e.g. 16-bit.

There is also another assumption: if "unsigned int" was indeed 64-bit we
could detect that a guest is 32-bit, assume that a 32-bit guest would
interpret "unsigned int" as 32-bit and only pass 32-bit, and zero-extend
the rest.

I don't think it is a good idea to make unwritten assumption about the
"unsigned int" size of the guest and as you know different OSes can
assign different sizes to the same C type.

This is why I think that in general if we wanted to use non-fixed-width
as part of an ABI we would need to do a better job at writing down all
of these assumptions. Without anything written down, it is easier to use
fixed-width types.

That said, in this case, we have been using "unsigned int" for years and
it is fixed width for all the arches we support, so I think we should
continue to use it for consistency, but ideally also help improve the
documentation to write down all the unwritten assumptions we rely on.


> > so
> > it is down to consistency, which is a bit arbitrary. We have quite a
> > good mix of unsigned int and uint32_t in hypercall-defs.c, specifically:
> > 10 uint32_t
> > 32 unsigned int
> > 
> > By popular vote, I would go with unsigned int. So, I would keep the
> > patch as is.
> 
> Well, I wouldn't quite say "as is": It clearly wants splitting for the
> two entirely unrelated changes. Then the uncontroversial part can go
> in right away, while we settle on the controversial aspect.

OK from me


> As to "popular vote" - ./CODING_STYLE also matters here, and favors
> non-fixed-width types over fixed-width ones. And as per above imo
> there's no technical reason to use fixed-width types here. Yet I
> understand Andrew takes a different perspective ...

I think internal interfaces and public ABIs can have different policies
and I understand the point that a public ABI should use only fixed-width
types. That's not where we are today, but I would understand that
argument.


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 21:59:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 21:59:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591790.924291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakGL-0003cd-CD; Mon, 28 Aug 2023 21:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591790.924291; Mon, 28 Aug 2023 21: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 1qakGL-0003cW-8A; Mon, 28 Aug 2023 21:59:09 +0000
Received: by outflank-mailman (input) for mailman id 591790;
 Mon, 28 Aug 2023 21:59:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakGK-0003cQ-Vr
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 21:59:08 +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 1b276e69-45ee-11ee-8783-cb3800f73035;
 Mon, 28 Aug 2023 23:59:07 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2CD396156D;
 Mon, 28 Aug 2023 21:59:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48F6FC433C8;
 Mon, 28 Aug 2023 21: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: 1b276e69-45ee-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693259944;
	bh=t4bkACphMkY6pxw7VlE224cgUQFutJbQJCbyJ0QZnEg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=V4w5LSrzOFiDALkY8VjBrP8M50BHbBvLERBNRSS7aQ2iiQ8jJfbB8nnP50reAHGv+
	 nsIVLy4TEFiHoGMfJjjMsY112aIcCiu2QZRUuWVPzMFLZ4KrExPFZjhBAciYpEX4ZO
	 5zuZp1A6yJ39uYEX+BF2OCOjKSrEfjT734YRHy1lj37k3les7mj+7pbE0tS+9cAVXi
	 pvHa2wgN/0ItyzU8m+ZJk6w7VE1UGXzRz7LbpJRF7IIVqI7zNJnjIJZK/LX2HTK4Ul
	 o2kILyjvxGbq685B3xuPh00x9+FVOnAZcjAp5a75TiceNtLQ12s7BqGQwm4AXkMqik
	 AFms6J153odNQ==
Date: Mon, 28 Aug 2023 14:59:01 -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, 
    sstabellini@kernel.org, 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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 01/13] misra: add deviation for headers that explicitly
 avoid guards
In-Reply-To: <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281458390.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <9b8165105c28f8e684844f56814726498e34c46e.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Some headers, under specific circumstances (documented in a comment at
> the beginning of the file), explicitly avoid inclusion guards: the caller
> is responsible for including them correctly.
> 
> These files are not supposed to comply with Directive 4.10:
> "Precautions shall be taken in order to prevent the contents of a header
> file being included more than once"
> 
> This patch adds a deviation for all headers that contain the following
> in a comment text:
> "In this case, no inclusion guards apply and the caller is responsible"
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>  docs/misra/rules.rst                             | 3 ++-
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index d8170106b4..5f068377fa 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -91,6 +91,10 @@ conform to the directive."
>  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
>  -doc_end
>  
> +-doc_begin="Some headers, under specific circumstances, explicitly avoid inclusion guards."
> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
> +-doc_end
> +
>  #
>  # Series 5.
>  #
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index db30632b93..4b1a7b02b6 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -60,7 +60,8 @@ maintainers if you want to suggest a change.
>       - Precautions shall be taken in order to prevent the contents of a
>         header file being included more than once
>       - Files that are intended to be included more than once do not need to
> -       conform to the directive
> +       conform to the directive. Files that explicitly avoid inclusion guards
> +       under specific circumstances do not need to conform the directive.
>  
>     * - `Dir 4.11 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/D_04_11.c>`_
>       - Required
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:00:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591795.924300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakHt-000584-L4; Mon, 28 Aug 2023 22:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591795.924300; Mon, 28 Aug 2023 22: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 1qakHt-00057x-IO; Mon, 28 Aug 2023 22:00:45 +0000
Received: by outflank-mailman (input) for mailman id 591795;
 Mon, 28 Aug 2023 22: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=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakHs-00057r-F5
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:00: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 54596b6b-45ee-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:00:42 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2650762FBE;
 Mon, 28 Aug 2023 22:00:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF2B7C433C7;
 Mon, 28 Aug 2023 22:00: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: 54596b6b-45ee-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693260040;
	bh=FxfEbqDdzuN/hcY43/ZS8FTY0fyMuGPJg5rhQwpcgE4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Mwd8rYvLM+kyZxukxtk7fg3/mNgIJplEMHD8YrZnTQicL9D9aWRTFoDWtnBvHMU1t
	 FFuXWAE/UNBRC3ExP7wdAE4/rgRy+Wo/QRFWw2PCw3kugdK63lqg/kGphMAiJE8ujK
	 i8rAll8fcg36LW0fCRj8j3qNV+57V37w+82g23MwpBCmJDD3ESuCbJ/hGItRflPa+M
	 6Qr3++tp65DGAihw5dkkm/JQ3z3nEOfT6WWKmApdfKBGoj5F8eq4veil8PsKU8P/6Q
	 YNe7fhdHN3knKfg28XNjNYgggHg0vxg9BfRiTkrhnDqEC82j1VzDPv27fbcLL14gJn
	 +8WmsWp6X414Q==
Date: Mon, 28 Aug 2023 15:00:37 -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, 
    sstabellini@kernel.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH 02/13] automation/eclair: add text-based deviation
 for empty headers
In-Reply-To: <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281500020.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> This patch adds a text-based deviation for Directive 4.10:
> "Precautions shall be taken in order to prevent the contents of
> a header file being included more than once"
> 
> Headers starting with the following comment are not supposed to
> comply with the directive:
> "/* empty */"
> 
> These headers should be empty, therefore they pose no risk if included
> more than once.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

However I think we should also update rules.rst and/or update
docs/misra/safe.json


> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 5f068377fa..2681a4cff5 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -80,6 +80,7 @@ inline functions."
>  
>  -doc_begin="This header file is autogenerated or empty, therefore it poses no
>  risk if included more than once."
> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* empty \\*/$, begin-1))"}
>  -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
>  -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
>  -config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591801.924311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakJq-0005id-0i; Mon, 28 Aug 2023 22:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591801.924311; Mon, 28 Aug 2023 22: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 1qakJp-0005iW-TX; Mon, 28 Aug 2023 22:02:45 +0000
Received: by outflank-mailman (input) for mailman id 591801;
 Mon, 28 Aug 2023 22:02: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=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakJo-0005iQ-Gt
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:02: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 9bc9db90-45ee-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:02:42 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EE81D61ABD;
 Mon, 28 Aug 2023 22:02:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6FEA6C433C7;
 Mon, 28 Aug 2023 22:02: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: 9bc9db90-45ee-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693260160;
	bh=kwFumCRNVldwEdOA1NgYy7OYxopfX5uMnkzvrcwOnCk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MzLM1daO/sc/HwlQigf7PFfYxXRMfFVTHE+v4pjxCJxsexFidLBNiQjybUMFI4LAn
	 T8s5ZFszlXcTz1xRmrsrok2Gwjugu1S1GXHgkUKI1BwpcjK8ukUfv7jjyPmpIVNtI7
	 38ZOfWGAV5t5h0Rt7oiKTWwxX/E+u/tnRdgAB/LDwQHvno+t5EgT1icapPDlG6IyWg
	 jPodM27TVfFTgwU+UaCHpPud2BZhq5dBddhnpxlS3/8M/AUJaDmxfxBpgOJv3VX6lO
	 YE2jXJviMUHM9opN5vBmUCJ2uJzvxeERXhNy0/7d4F3uTW4nomPkx+g5HgVgWzWfdK
	 HvIKDKB7vmg1Q==
Date: Mon, 28 Aug 2023 15:02:37 -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, 
    sstabellini@kernel.org, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281502270.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add or move inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere).
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/efi/efi-boot.h          | 6 ++++++
>  xen/arch/arm/include/asm/hypercall.h | 6 +++---
>  xen/arch/arm/include/asm/iocap.h     | 6 +++---
>  3 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index 1c3640bb65..aba522ead5 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -3,6 +3,10 @@
>   * is intended to be included by common/efi/boot.c _only_, and
>   * therefore can define arch specific global variables.
>   */
> +
> +#ifndef __ARM_EFI_EFI_BOOT_H__
> +#define __ARM_EFI_EFI_BOOT_H__
> +
>  #include <xen/device_tree.h>
>  #include <xen/libfdt/libfdt.h>
>  #include <asm/setup.h>
> @@ -1003,6 +1007,8 @@ static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size)
>      __flush_dcache_area(vaddr, size);
>  }
>  
> +#endif /* __ARM_EFI_EFI_BOOT_H__*/
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/arm/include/asm/hypercall.h b/xen/arch/arm/include/asm/hypercall.h
> index ccd26c5184..4f4d96f1f2 100644
> --- a/xen/arch/arm/include/asm/hypercall.h
> +++ b/xen/arch/arm/include/asm/hypercall.h
> @@ -1,10 +1,10 @@
> +#ifndef __ASM_ARM_HYPERCALL_H__
> +#define __ASM_ARM_HYPERCALL_H__
> +
>  #ifndef __XEN_HYPERCALL_H__
>  #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
>  #endif
>  
> -#ifndef __ASM_ARM_HYPERCALL_H__
> -#define __ASM_ARM_HYPERCALL_H__
> -
>  #include <public/domctl.h> /* for arch_do_domctl */
>  
>  long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,
> diff --git a/xen/arch/arm/include/asm/iocap.h b/xen/arch/arm/include/asm/iocap.h
> index 276fefbc59..4db1b16839 100644
> --- a/xen/arch/arm/include/asm/iocap.h
> +++ b/xen/arch/arm/include/asm/iocap.h
> @@ -1,10 +1,10 @@
> -#ifndef __X86_IOCAP_H__
> -#define __X86_IOCAP_H__
> +#ifndef __ASM_ARM_IOCAP_H__
> +#define __ASM_ARM_IOCAP_H__
>  
>  #define cache_flush_permitted(d)                        \
>      (!rangeset_is_empty((d)->iomem_caps))
>  
> -#endif
> +#endif /* __ASM_ARM_IOCAP_H__ */
>  
>  /*
>   * Local variables:
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:11:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591809.924321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakRm-0007Sc-Rw; Mon, 28 Aug 2023 22:10:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591809.924321; Mon, 28 Aug 2023 22:10:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakRm-0007SV-PL; Mon, 28 Aug 2023 22:10:58 +0000
Received: by outflank-mailman (input) for mailman id 591809;
 Mon, 28 Aug 2023 22:10:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tlNL=EN=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1qakRl-0007R2-N4
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:10:57 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2dfccfe-45ef-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:10:56 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5007abb15e9so5750843e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 28 Aug 2023 15:10: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: c2dfccfe-45ef-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693260656; x=1693865456;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=pm/yDoVrGNtEmYF9yEGMyBaULNerhK+FexTs4L/jq1Q=;
        b=J026VufGph2F9K3iHQEkvEeBd69rCcHAwNGyHjKAinZUCgblTChHh8KoP347VeKgoO
         LNa6pNxKh0v+CZPOTFEUbKBtA/knStl+geUCGM4x76V9/F2FcfprOx8UqtYDoP49gohA
         a9VXa7qBRYdkbSBL7MNqL1SV4nc3vI9JzIA+3Vl/q5PcM9kU6wxjgPZSalTEZK1Fq51J
         gRsL39xTj/cUEAeL97FrMwDZCBn7gwyPOUDhKeIFKLZP9LBz5dmOLRZeN5UVswDkI/6h
         JQV4Gc2RxncKs9linaIAI+sZqDqWP0yAavfL7InhmSizxN/Lp1WRXRcAwbcWkUpasVVh
         32WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693260656; x=1693865456;
        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=pm/yDoVrGNtEmYF9yEGMyBaULNerhK+FexTs4L/jq1Q=;
        b=WwauEiG0rjf9TId2ov+Ek0uhvzOmmGkZmoKb/yB23fWv3dOwOXticBRV5qbFxHj4SS
         jJtzZ/E3SsZDfFvWmyQhb3u+sxuxQ2VqVNDtsEyW7umEQUT0O9kXFio1NUjlNrCKp3MB
         0V/eCVIS6eToTGcE2B/4KJWTROMNIKpps1XeMTgVob5LjZRPCxzg6fInWHmHiaAR6rAj
         XIXdLLbw87yO40NSKQyq0CCn4nfcMv56xT5IlrPWx+0uMf+VeZNiNnT72sB062/Ve1fL
         T5l+Op3WgVBlgGFg4Z55n27KGUGs5WyRHBoRCO16EfnFPH56oVMotOqwel8yQ6yuOUKA
         6PFA==
X-Gm-Message-State: AOJu0YxMJ9KUAbaFbZHbi1kk0+8y+qYC1hajZP61eq4COXUusLhlts6N
	6RU9p/3vdgJpoz8fybkpTNqryUWKeNh1SxQLR+4=
X-Google-Smtp-Source: AGHT+IGptMAJ53NJYNKJJjLpbbJCvdRLYtQpnr1ZnagjkbazwfxtMLyjqVvl4g72CUfrYwjeDkZqYOSuTmRuvTAUoCI=
X-Received: by 2002:a05:6512:4003:b0:500:848a:80df with SMTP id
 br3-20020a056512400300b00500848a80dfmr19597978lfb.66.1693260655674; Mon, 28
 Aug 2023 15:10:55 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
In-Reply-To: <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Mon, 28 Aug 2023 18:10:44 -0400
Message-ID: <CAJ=z9a2hnjCAkGN_YtCQRh8ZcyMMawxBhF8LOwgrQ5-nML1chg@mail.gmail.com>
Subject: Re: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Directive 4.10
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com, sstabellini@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000e4c9f2060402f772"

--000000000000e4c9f2060402f772
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Mon, 28 Aug 2023 at 09:20, Simone Ballarin <simone.ballarin@bugseng.com>
wrote:

> Add or move inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
>
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere).
>
> Mechanical change.
>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/arch/arm/efi/efi-boot.h          | 6 ++++++
>  xen/arch/arm/include/asm/hypercall.h | 6 +++---
>  xen/arch/arm/include/asm/iocap.h     | 6 +++---
>  3 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index 1c3640bb65..aba522ead5 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -3,6 +3,10 @@
>   * is intended to be included by common/efi/boot.c _only_, and
>   * therefore can define arch specific global variables.
>   */
> +
> +#ifndef __ARM_EFI_EFI_BOOT_H__
> +#define __ARM_EFI_EFI_BOOT_H__
> +
>  #include <xen/device_tree.h>
>  #include <xen/libfdt/libfdt.h>
>  #include <asm/setup.h>
> @@ -1003,6 +1007,8 @@ static void __init efi_arch_flush_dcache_area(const
> void *vaddr, UINTN size)
>      __flush_dcache_area(vaddr, size);
>  }
>
> +#endif /* __ARM_EFI_EFI_BOOT_H__*/
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/arm/include/asm/hypercall.h
> b/xen/arch/arm/include/asm/hypercall.h
> index ccd26c5184..4f4d96f1f2 100644
> --- a/xen/arch/arm/include/asm/hypercall.h
> +++ b/xen/arch/arm/include/asm/hypercall.h
> @@ -1,10 +1,10 @@
> +#ifndef __ASM_ARM_HYPERCALL_H__
> +#define __ASM_ARM_HYPERCALL_H__
> +
>  #ifndef __XEN_HYPERCALL_H__
>  #error "asm/hypercall.h should not be included directly - include
> xen/hypercall.h instead"
>  #endif
>
> -#ifndef __ASM_ARM_HYPERCALL_H__
> -#define __ASM_ARM_HYPERCALL_H__
> -


I understand that you are trying to fix a misra violation. However, this
feels like it was done on purpose.

With the new change, you would not always check that the file were included
at the correct place. I am not against this change but this ought to be
explained.


>  #include <public/domctl.h> /* for arch_do_domctl */
>
>  long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,
> diff --git a/xen/arch/arm/include/asm/iocap.h
> b/xen/arch/arm/include/asm/iocap.h
> index 276fefbc59..4db1b16839 100644
> --- a/xen/arch/arm/include/asm/iocap.h
> +++ b/xen/arch/arm/include/asm/iocap.h
> @@ -1,10 +1,10 @@
> -#ifndef __X86_IOCAP_H__
> -#define __X86_IOCAP_H__
> +#ifndef __ASM_ARM_IOCAP_H__
> +#define __ASM_ARM_IOCAP_H__
>
>  #define cache_flush_permitted(d)                        \
>      (!rangeset_is_empty((d)->iomem_caps))
>
> -#endif
> +#endif /* __ASM_ARM_IOCAP_H__ */


I don=E2=80=99t understand how this is related to the rest of the patch. Yo=
u wrote
that inclusion must appear first and this is the case here.

However the name is technically not correct. Is this really related to
directive 4.10? If so, this should be clarified in the commit message. If
not, then I think this should be in a separate commit.

Cheers,


>
>  /*
>   * Local variables:
> --
> 2.34.1
>
>

--000000000000e4c9f2060402f772
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Hi,</div><div dir=3D"auto"><br></div><div><div class=3D"g=
mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, 28 Aug 2023 at 09=
:20, Simone Ballarin &lt;<a href=3D"mailto:simone.ballarin@bugseng.com">sim=
one.ballarin@bugseng.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex">Add or move inclusion guards to address violations of<br>
MISRA C:2012 Directive 4.10 (&quot;Precautions shall be taken in order<br>
to prevent the contents of a header file being included more than<br>
once&quot;).<br>
<br>
Inclusion guards must appear at the beginning of the headers<br>
(comments are permitted anywhere).<br>
<br>
Mechanical change.<br>
<br>
Signed-off-by: Simone Ballarin &lt;<a href=3D"mailto:simone.ballarin@bugsen=
g.com" target=3D"_blank">simone.ballarin@bugseng.com</a>&gt;<br>
---<br>
=C2=A0xen/arch/arm/efi/efi-boot.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 6 +++=
+++<br>
=C2=A0xen/arch/arm/include/asm/hypercall.h | 6 +++---<br>
=C2=A0xen/arch/arm/include/asm/iocap.h=C2=A0 =C2=A0 =C2=A0| 6 +++---<br>
=C2=A03 files changed, 12 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h<br>
index 1c3640bb65..aba522ead5 100644<br>
--- a/xen/arch/arm/efi/efi-boot.h<br>
+++ b/xen/arch/arm/efi/efi-boot.h<br>
@@ -3,6 +3,10 @@<br>
=C2=A0 * is intended to be included by common/efi/boot.c _only_, and<br>
=C2=A0 * therefore can define arch specific global variables.<br>
=C2=A0 */<br>
+<br>
+#ifndef __ARM_EFI_EFI_BOOT_H__<br>
+#define __ARM_EFI_EFI_BOOT_H__<br>
+<br>
=C2=A0#include &lt;xen/device_tree.h&gt;<br>
=C2=A0#include &lt;xen/libfdt/libfdt.h&gt;<br>
=C2=A0#include &lt;asm/setup.h&gt;<br>
@@ -1003,6 +1007,8 @@ static void __init efi_arch_flush_dcache_area(const v=
oid *vaddr, UINTN size)<br>
=C2=A0 =C2=A0 =C2=A0__flush_dcache_area(vaddr, size);<br>
=C2=A0}<br>
<br>
+#endif /* __ARM_EFI_EFI_BOOT_H__*/<br>
+<br>
=C2=A0/*<br>
=C2=A0 * Local variables:<br>
=C2=A0 * mode: C<br>
diff --git a/xen/arch/arm/include/asm/hypercall.h b/xen/arch/arm/include/as=
m/hypercall.h<br>
index ccd26c5184..4f4d96f1f2 100644<br>
--- a/xen/arch/arm/include/asm/hypercall.h<br>
+++ b/xen/arch/arm/include/asm/hypercall.h<br>
@@ -1,10 +1,10 @@<br>
+#ifndef __ASM_ARM_HYPERCALL_H__<br>
+#define __ASM_ARM_HYPERCALL_H__<br>
+<br>
=C2=A0#ifndef __XEN_HYPERCALL_H__<br>
=C2=A0#error &quot;asm/hypercall.h should not be included directly - includ=
e xen/hypercall.h instead&quot;<br>
=C2=A0#endif<br>
<br>
-#ifndef __ASM_ARM_HYPERCALL_H__<br>
-#define __ASM_ARM_HYPERCALL_H__<br>
-</blockquote><div dir=3D"auto"><br></div><div dir=3D"auto">I understand th=
at you are trying to fix a misra violation. However, this feels like it was=
 done on purpose.</div><div dir=3D"auto"><br></div><div dir=3D"auto">With t=
he new change, you would not always check that the file were included at th=
e correct place. I am not against this change but this ought to be explaine=
d.</div><div dir=3D"auto"><br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" dir=3D"a=
uto"><br>
=C2=A0#include &lt;public/domctl.h&gt; /* for arch_do_domctl */<br>
<br>
=C2=A0long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,<b=
r>
diff --git a/xen/arch/arm/include/asm/iocap.h b/xen/arch/arm/include/asm/io=
cap.h<br>
index 276fefbc59..4db1b16839 100644<br>
--- a/xen/arch/arm/include/asm/iocap.h<br>
+++ b/xen/arch/arm/include/asm/iocap.h<br>
@@ -1,10 +1,10 @@<br>
-#ifndef __X86_IOCAP_H__<br>
-#define __X86_IOCAP_H__<br>
+#ifndef __ASM_ARM_IOCAP_H__<br>
+#define __ASM_ARM_IOCAP_H__<br>
<br>
=C2=A0#define cache_flush_permitted(d)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \<br>
=C2=A0 =C2=A0 =C2=A0(!rangeset_is_empty((d)-&gt;iomem_caps))<br>
<br>
-#endif<br>
+#endif /* __ASM_ARM_IOCAP_H__ */</blockquote><div dir=3D"auto"><br></div><=
div dir=3D"auto">I don=E2=80=99t understand how this is related to the rest=
 of the patch. You wrote that inclusion must appear first and this is the c=
ase here.</div><div dir=3D"auto"><br></div><div dir=3D"auto">However the na=
me is technically not correct. Is this really related to directive 4.10? If=
 so, this should be clarified in the commit message. If not, then I think t=
his should be in a separate commit.</div><div dir=3D"auto"><br></div><div d=
ir=3D"auto">Cheers,</div><div dir=3D"auto"><br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex" dir=3D"auto"><br>
<br>
=C2=A0/*<br>
=C2=A0 * Local variables:<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div></div>

--000000000000e4c9f2060402f772--


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:11:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591813.924330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakSV-0007zM-5c; Mon, 28 Aug 2023 22:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591813.924330; Mon, 28 Aug 2023 22:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakSV-0007zF-2z; Mon, 28 Aug 2023 22:11:43 +0000
Received: by outflank-mailman (input) for mailman id 591813;
 Mon, 28 Aug 2023 22:11:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakST-0007z1-2F
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:11: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 dc135407-45ef-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:11:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 49FAB61ABD;
 Mon, 28 Aug 2023 22:11:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A17CCC433C7;
 Mon, 28 Aug 2023 22: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: dc135407-45ef-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693260697;
	bh=RrkerXCa2V1rL3A94jU4nW2iYWJHke/xWyRu2zklrB4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AFYH5BqZ6TPa7rR4weXn+Fk7A6sHkjDX7zsQo1BMsN3bM5oxelG6JfO/GAfqPJK4c
	 YNVE+UPsYMb4EmKx+bZbm/hbNIPqp5gDzX6r6nwKDQMtOZO2V8lxEU1Nu5YbvpL2MC
	 rJ7nvV/AOQERo2DNcTGzZ0gMCkYwDv1NSUhRxTIiCeH1YYT/OYIpnjys8hdI16mvGl
	 RKCULuWQfDqpqcG01RyG5cma7+BQd6OM50kz8ZqnjUlrVOZ4hdBaB0/RArXFY3Chgf
	 WjofS7nskXd/W0iDM4CnSamsMhuWgWmF0oWqGZAvTxz1fAZ8CZvV8zP0h6klgxCSNe
	 ZKUSuprFA3jSA==
Date: Mon, 28 Aug 2023 15:11:34 -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, 
    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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 04/13] xen/x86: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281505050.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add or move inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere).
> 
> Also C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/arch/x86/Makefile                  | 8 ++++----
>  xen/arch/x86/cpu/cpu.h                 | 5 +++++
>  xen/arch/x86/physdev.c                 | 4 ++++
>  xen/arch/x86/platform_hypercall.c      | 5 +++++
>  xen/arch/x86/x86_64/compat/mm.c        | 5 +++++
>  xen/arch/x86/x86_64/mmconfig.h         | 5 +++++
>  xen/arch/x86/x86_emulate/private.h     | 5 +++++
>  xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++
>  8 files changed, 38 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index e642ad6c55..f956b7f0cd 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil
>  	$(call filechk,asm-macros.h)
>  
>  define filechk_asm-macros.h
> +    echo '#ifndef __ASM_MACROS_H__'; \
> +    echo '#define __ASM_MACROS_H__'; \
>      echo '#if 0'; \
>      echo '.if 0'; \
>      echo '#endif'; \
> -    echo '#ifndef __ASM_MACROS_H__'; \
> -    echo '#define __ASM_MACROS_H__'; \
>      echo 'asm ( ".include \"$@\"" );'; \
> -    echo '#endif /* __ASM_MACROS_H__ */'; \
>      echo '#if 0'; \
>      echo '.endif'; \
>      cat $<; \
> -    echo '#endif'
> +    echo '#endif'; \
> +    echo '#endif /* __ASM_MACROS_H__ */'
>  endef
  
This looks OK but it needs to be reviewed by an x86 maintainer


>  $(obj)/efi.lds: AFLAGS-y += -DEFI
> diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h
> index e3d06278b3..95939c7fb6 100644
> --- a/xen/arch/x86/cpu/cpu.h
> +++ b/xen/arch/x86/cpu/cpu.h
> @@ -1,3 +1,6 @@
> +#ifndef __X86_CPU_CPU_H__
> +#define __X86_CPU_CPU_H__
> +
>  /* attempt to consolidate cpu attributes */
>  struct cpu_dev {
>  	void		(*c_early_init)(struct cpuinfo_x86 *c);
> @@ -24,3 +27,5 @@ void amd_init_lfence(struct cpuinfo_x86 *c);
>  void amd_init_ssbd(const struct cpuinfo_x86 *c);
>  void amd_init_spectral_chicken(void);
>  void detect_zen2_null_seg_behaviour(void);
> +
> +#endif /* __X86_CPU_CPU_H__ */
> diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
> index 2f1d955a96..08b391d8f3 100644
> --- a/xen/arch/x86/physdev.c
> +++ b/xen/arch/x86/physdev.c
> @@ -1,3 +1,5 @@
> +#ifndef  __X86_PHYSDEV_C__
> +#define  __X86_PHYSDEV_C__

NIT: double " "

everything else looks OK


>  #include <xen/init.h>
>  #include <xen/lib.h>
> @@ -623,6 +625,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      return ret;
>  }
>  
> +#endif /* __X86_PHYSDEV_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
> index 9ff2da8fc3..11aa084887 100644
> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -6,6 +6,9 @@
>   * Copyright (c) 2002-2006, K Fraser
>   */
>  
> +#ifndef __X86_PLATFORM_HYPERCALL_C__
> +#define __X86_PLATFORM_HYPERCALL_C__
> +
>  #include <xen/types.h>
>  #include <xen/lib.h>
>  #include <xen/mm.h>
> @@ -899,6 +902,8 @@ ret_t do_platform_op(
>      return ret;
>  }
>  
> +#endif /* __X86_PLATFORM_HYPERCALL_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/x86_64/compat/mm.c b/xen/arch/x86/x86_64/compat/mm.c
> index d54efaad21..24f7eb8788 100644
> --- a/xen/arch/x86/x86_64/compat/mm.c
> +++ b/xen/arch/x86/x86_64/compat/mm.c
> @@ -1,3 +1,6 @@
> +#ifndef __X86_X86_64_COMPAT_MM_C__
> +#define __X86_X86_64_COMPAT_MM_C__
> +
>  #include <xen/event.h>
>  #include <xen/hypercall.h>
>  #include <xen/mem_access.h>
> @@ -326,6 +329,8 @@ int compat_mmuext_op(
>  }
>  #endif /* CONFIG_PV */
>  
> +#endif /* __X86_X86_64_COMPAT_MM_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h
> index 2d49fc79a0..c562879c76 100644
> --- a/xen/arch/x86/x86_64/mmconfig.h
> +++ b/xen/arch/x86/x86_64/mmconfig.h
> @@ -5,6 +5,9 @@
>   * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux
>   */
>  
> +#ifndef __X86_X86_64_MMCONFIG_H__
> +#define __X86_X86_64_MMCONFIG_H__
> +
>  #define PCI_DEVICE_ID_INTEL_E7520_MCH    0x3590
>  #define PCI_DEVICE_ID_INTEL_82945G_HB    0x2770
>  
> @@ -72,3 +75,5 @@ int pci_mmcfg_reserved(uint64_t address, unsigned int segment,
>  int pci_mmcfg_arch_init(void);
>  int pci_mmcfg_arch_enable(unsigned int);
>  void pci_mmcfg_arch_disable(unsigned int);
> +
> +#endif /* __X86_X86_64_MMCONFIG_H__ */
> diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h
> index 719dad59cd..ffa134f297 100644
> --- a/xen/arch/x86/x86_emulate/private.h
> +++ b/xen/arch/x86/x86_emulate/private.h
> @@ -6,6 +6,9 @@
>   * Copyright (c) 2005-2007 XenSource Inc.
>   */
>  
> +#ifndef __X86_X86_EMULATE_PRIVATE_H__
> +#define __X86_X86_EMULATE_PRIVATE_H__
> +
>  #ifdef __XEN__
>  
>  # include <xen/kernel.h>
> @@ -831,3 +834,5 @@ static inline int read_ulong(enum x86_segment seg,
>      *val = 0;
>      return ops->read(seg, offset, val, bytes, ctxt);
>  }
> +
> +#endif /* __X86_X86_EMULATE_PRIVATE_H__ */
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
> index e88245eae9..8977a1b82e 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -8,6 +8,9 @@
>   * Copyright (c) 2005-2007 XenSource Inc.
>   */
>  
> +#ifndef __X86_X86_EMULATE_EMULATE_C__
> +#define __X86_X86_EMULATE_EMULATE_C__
> +
>  #include "private.h"
>  
>  /*
> @@ -8678,3 +8681,5 @@ int x86_emulate_wrapper(
>      return rc;
>  }
>  #endif
> +
> +#endif /* __X86_X86_EMULATE_EMULATE_C__ */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:27:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:27:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591821.924341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakhl-0001JR-GG; Mon, 28 Aug 2023 22:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591821.924341; Mon, 28 Aug 2023 22: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 1qakhl-0001JK-C0; Mon, 28 Aug 2023 22:27:29 +0000
Received: by outflank-mailman (input) for mailman id 591821;
 Mon, 28 Aug 2023 22:27:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakhk-0001JE-OI
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:27:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10bbc066-45f2-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:27:27 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6653361195;
 Mon, 28 Aug 2023 22:27:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C0B1C433C8;
 Mon, 28 Aug 2023 22:27:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10bbc066-45f2-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693261644;
	bh=ATmAbCYCJbO0FxAloNPbQsQq94vsfnxi83wFOXli/gk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KzRdiMMhGe5+Jsloiflh5rASQx7Kpu5WsyRTgHwwfnWmikUJxB+8OZ48ysnAkzBbB
	 K6F/xBOU/b0PdgOGPkSeCxjGIdb0TWU8AguryuXm6g1exQWQpsEh8lIsOzUFrbzVF3
	 pjDbMVcFI3esvYemlvmZHCo40u8xEqa8+ZUvNGN1TjHYLd3jTeaAOzg2X/rSIKGP3h
	 6x6KKRrpWzQFm5TH2P1QJ4Y8L3C5R0pvHcNZQlkpcRHvtULQGNHxxKKsJkyli98hMx
	 8D+sBoMolqk6SOaROMKp9XKd6CN54QwN8adstoKjwzEO7H7tawms41TrDeSyOwN4Oh
	 qnkQdeeo1IljQ==
Date: Mon, 28 Aug 2023 15:27:20 -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, 
    sstabellini@kernel.org, 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>, Wei Liu <wl@xen.org>, 
    nicola.vetrini@bugseng.com, Bertrand.Marquis@arm.com, 
    Luca.Fancellu@arm.com, michal.orzel@amd.com
Subject: Re: [XEN PATCH 05/13] automation/eclair: add deviation for
 usercopy.c
In-Reply-To: <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.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

+Nicola, Luca

On Mon, 28 Aug 2023, Simone Ballarin wrote:
> xen/arch/x86/usercopy.c includes itself, so it is not supposed to
> comply with Directive 4.10:
> "Precautions shall be taken in order to prevent the contents of a
> header file being included more than once"
> 
> This patch adds a deviation for the file.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>  docs/misra/rules.rst                             | 2 ++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 2681a4cff5..a7d4f29b43 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -96,6 +96,10 @@ conform to the directive."
>  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
>  -doc_end
>  
> +-doc_begin="xen/arch/x86/usercopy.c includes itself: it is not supposed to comply with the directive"
> +-config=MC3R1.D4.10,reports+={deliberate, "all_area(all_loc(file("^xen/arch/x86/usercopy\\.c$")))"}
> +-doc_end
> +
>  #
>  # Series 5.
>  #
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 4b1a7b02b6..45e13d0302 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -62,6 +62,8 @@ maintainers if you want to suggest a change.
>       - Files that are intended to be included more than once do not need to
>         conform to the directive. Files that explicitly avoid inclusion guards
>         under specific circumstances do not need to conform the directive.
> +       xen/arch/x86/usercopy.c includes itself: it is not supposed to comply
> +       with the directive.


We need to find a consistent way to document this kind of deviations in
a non-ECLAIR specific way, without adding the complete list of
deviations to rules.rst.

Can we use safe.json and add an in-code comment at the top of
usercopy.c? E.g.:

diff --git a/xen/arch/x86/usercopy.c b/xen/arch/x86/usercopy.c
index b8c2d1cc0b..8bb591f472 100644
--- a/xen/arch/x86/usercopy.c
+++ b/xen/arch/x86/usercopy.c
@@ -1,3 +1,4 @@
+/* SAF-1-safe */
 /* 
  * User address space access functions.
  *

Otherwise, maybe we should extend safe.json to also have an extra field
with a list of paths. For instance see "files" below:

{
    "version": "1.0",
    "content": [
        {
            "id": "SAF-0-safe",
            "analyser": {
                "eclair": "MC3R1.R8.6",
                "coverity": "misra_c_2012_rule_8_6_violation"
            },
            "name": "Rule 8.6: linker script defined symbols",
            "text": "It is safe to declare this symbol because it is defined in the linker script."
        },
        {
            "id": "SAF-1-safe",
            "analyser": {
                "eclair": "MC3R1.D4.10"
            },
            "name": "Dir 4.10: files that include themselves",
            "text": "Files purposely written to include themselves are not supposed to comply with D4.10.",
            "files": ["xen/arch/x86/usercopy.c"]
        },
        {
            "id": "SAF-2-safe",
            "analyser": {},
            "name": "Sentinel",
            "text": "Next ID to be used"
        }
    ]
}


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:28:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:28:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591825.924351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakid-0001qc-Pr; Mon, 28 Aug 2023 22:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591825.924351; Mon, 28 Aug 2023 22: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 1qakid-0001qV-LT; Mon, 28 Aug 2023 22:28:23 +0000
Received: by outflank-mailman (input) for mailman id 591825;
 Mon, 28 Aug 2023 22:28:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakic-0001qN-JJ
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:28:22 +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 30288a43-45f2-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:28:20 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 621666112C;
 Mon, 28 Aug 2023 22:28:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC671C433C7;
 Mon, 28 Aug 2023 22:28: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: 30288a43-45f2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693261697;
	bh=kFQXRfTz/KCUo2CyBUmyL/qanaVySu+u2Nqmr4D1M8E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mVSbrXsvzZqrcwrGjOhjvG+LKBH/dqUH2Jvav33BMDVV3BtQwZq3VtCPZyCpVtID7
	 cSrS0y9Hzb+qqFwfu4orsOxwOXJUkaYvCwoyz0ciK+3rQ03KbDHuXkyYfx8JljTqKW
	 z0wbVTBA03c6vEuKbUaSPybDfWN0Thjqo/cAjtdCyVJW1J5Ia5RGl9mXVVlJzHWXGD
	 FnwAm4IP5Jg/lc9rEsvgdBPGxZuqUuafJxKBhjURu1yfXyaEy2aLF19QjjrvM9wa1U
	 EpUAJVHJKsgNTtg/vcG0TBXMEl4T+ot0vA7mS9rREfoD/QiyLkvkKuLGuMSuXQSRxh
	 BTsr0S2o2Lshg==
Date: Mon, 28 Aug 2023 15:28:14 -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, 
    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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 06/13] x86/EFI: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281527570.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/efi/efi-boot.h | 6 ++++++
>  xen/arch/x86/efi/runtime.h  | 5 +++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index 92f4cfe8bd..2c6be062cc 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -3,6 +3,10 @@
>   * is intended to be included by common/efi/boot.c _only_, and
>   * therefore can define arch specific global variables.
>   */
> +
> +#ifndef __X86_EFI_EFI_BOOT_H__
> +#define __X86_EFI_EFI_BOOT_H__
> +
>  #include <xen/vga.h>
>  #include <asm/e820.h>
>  #include <asm/edd.h>
> @@ -913,6 +917,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
>      efi_exit_boot(ImageHandle, SystemTable);
>  }
>  
> +#endif /* __X86_EFI_EFI_BOOT_H__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/efi/runtime.h b/xen/arch/x86/efi/runtime.h
> index 77866c5f21..10b36bcb89 100644
> --- a/xen/arch/x86/efi/runtime.h
> +++ b/xen/arch/x86/efi/runtime.h
> @@ -1,3 +1,6 @@
> +#ifndef __X86_EFI_RUNTIME_H__
> +#define __X86_EFI_RUNTIME_H__
> +
>  #include <xen/domain_page.h>
>  #include <xen/mm.h>
>  #include <asm/atomic.h>
> @@ -17,3 +20,5 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e)
>      }
>  }
>  #endif
> +
> +#endif /* __X86_EFI_RUNTIME_H__ */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:30:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591833.924360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakko-0003WV-7I; Mon, 28 Aug 2023 22:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591833.924360; Mon, 28 Aug 2023 22: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 1qakko-0003WO-4G; Mon, 28 Aug 2023 22:30:38 +0000
Received: by outflank-mailman (input) for mailman id 591833;
 Mon, 28 Aug 2023 22:30: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=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakkn-0003WG-D1
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:30:37 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80ea8f3b-45f2-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:30:35 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EE28063965;
 Mon, 28 Aug 2023 22:30:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 474BFC433C8;
 Mon, 28 Aug 2023 22:30:32 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80ea8f3b-45f2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693261833;
	bh=/EgySM9jjYMoi1J7psnn0GYd8GnmAMuFzR6pFR4NZHE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cb+uAzvsO+AJZr+G/SFVbJNA59Ij1Pmvk2F6O8QuU+bYrLxZFS8kQvv13qSTsL60D
	 pMLIls+0u13WF1TPsyOxTlJ3kCfx+FwXGoGl04nar9ezNkdn6wXk42HG34Q21VSlnX
	 P8inwkyQaaNyLyLmjPmOjlXDx997K+UwElqHjr5EkS3cduAm6mDXCZE+OKHYdLG8BM
	 rGCjG8G7aCOLF6oSWGdzK045r0WGOeuB7DE0+BjBTPqe4tT7UhvLv8GHiwgclXXADL
	 SHfpT04vy64ngfe9QXDs2meCMwPL2xDJxhuiLWEDjXQY0asr1PC2sg3vmIU3TF2agb
	 FLelPEn214s0Q==
Date: Mon, 28 Aug 2023 15:30:29 -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, 
    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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 07/13] x86/asm: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281529400.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add or move inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere).
> 
> The text of the beggining comment of cpufeatures.h has been changed
> to match the deviation in automation/eclair_analysis/ECLAIR/deviations.ecl,
> moreover this new formulation is already used in other files.

I don't think it is a good idea to do this kind of textual matching.
Instead we should use the format introduced by safe.json, e.g.
SAF-1-safe


> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/arch/x86/include/asm/compat.h      | 5 +++++
>  xen/arch/x86/include/asm/cpufeatures.h | 4 +---
>  xen/arch/x86/include/asm/efibind.h     | 5 +++++
>  xen/arch/x86/include/asm/hypercall.h   | 6 +++---
>  4 files changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/compat.h b/xen/arch/x86/include/asm/compat.h
> index 818cad87db..3d3891d061 100644
> --- a/xen/arch/x86/include/asm/compat.h
> +++ b/xen/arch/x86/include/asm/compat.h
> @@ -2,6 +2,9 @@
>   * compat.h
>   */
>  
> +#ifndef __ASM_X86_COMPAT_H__
> +#define __ASM_X86_COMPAT_H__
> +
>  #ifdef CONFIG_COMPAT
>  
>  #define COMPAT_BITS_PER_LONG 32
> @@ -18,3 +21,5 @@ int switch_compat(struct domain *);
>  #include <xen/errno.h>
>  static inline int switch_compat(struct domain *d) { return -EOPNOTSUPP; }
>  #endif
> +
> +#endif /* __ASM_X86_COMPAT_H__ */
> diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
> index da0593de85..1dfdd478ab 100644
> --- a/xen/arch/x86/include/asm/cpufeatures.h
> +++ b/xen/arch/x86/include/asm/cpufeatures.h
> @@ -1,6 +1,4 @@
> -/*
> - * Explicitly intended for multiple inclusion.
> - */
> +/* This file is legitimately included multiple times */
>  
>  #include <xen/lib/x86/cpuid-autogen.h>
>  
> diff --git a/xen/arch/x86/include/asm/efibind.h b/xen/arch/x86/include/asm/efibind.h
> index bce02f3707..f2eb8b5496 100644
> --- a/xen/arch/x86/include/asm/efibind.h
> +++ b/xen/arch/x86/include/asm/efibind.h
> @@ -1,2 +1,7 @@
> +#ifndef __ASM_X86_EFIBIND_H__
> +#define __ASM_X86_EFIBIND_H__
> +
>  #include <xen/types.h>
>  #include <asm/x86_64/efibind.h>
> +
> +#endif /* __ASM_X86_EFIBIND_H__ */
> diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
> index ec2edc771e..2ade5d71b8 100644
> --- a/xen/arch/x86/include/asm/hypercall.h
> +++ b/xen/arch/x86/include/asm/hypercall.h
> @@ -2,13 +2,13 @@
>   * asm-x86/hypercall.h
>   */
>  
> +#ifndef __ASM_X86_HYPERCALL_H__
> +#define __ASM_X86_HYPERCALL_H__
> +
>  #ifndef __XEN_HYPERCALL_H__
>  #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
>  #endif
>  
> -#ifndef __ASM_X86_HYPERCALL_H__
> -#define __ASM_X86_HYPERCALL_H__
> -
>  #include <xen/types.h>
>  #include <public/physdev.h>
>  #include <public/event_channel.h>
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:32:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591839.924371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakmf-000459-Hx; Mon, 28 Aug 2023 22:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591839.924371; Mon, 28 Aug 2023 22:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakmf-000452-F7; Mon, 28 Aug 2023 22:32:33 +0000
Received: by outflank-mailman (input) for mailman id 591839;
 Mon, 28 Aug 2023 22:32:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakmd-00044w-Ri
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:32:31 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5494bc6-45f2-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:32:29 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 684EB63AC9;
 Mon, 28 Aug 2023 22:32:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80097C433C8;
 Mon, 28 Aug 2023 22:32: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: c5494bc6-45f2-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693261947;
	bh=OTtnZFjHZVEmUHBTH1DRVrD4ZOu9jgRFKPijMRZZNz8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cgIIbewHPEjfUAoC+ZQKkKo4qI5uOuUHe/234ipWEU/JWPNKIep8lJczKwsV/B4H2
	 5caxeN5WEqsaWQChwuFprHrPbfiDRO38+d2kZHVImFyjICvaF8j1QGwPGF1xVQ3d5K
	 moZ/BTQxEBR/8YwEqeptbNx4l4pFaO8I1/MzmxOMLf8SyeJ8gj2fH3EchnJFrTC+D8
	 1PbtHjARXlPRT71Jtf1VegqGikk6o+MgjqmId+14UK8EK/uhP7sUYf6tjel8B4M+PK
	 OEmBPTSzIkQH9fHa62NmYKSUiOYY1QMjRwZco1cjQV4Koge98g5eUbMOK2gZ2YokeQ
	 e1uePSPfh8IHA==
Date: Mon, 28 Aug 2023 15:32:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Simone Ballarin <simone.ballarin@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 01/13] misra: add deviation for headers that explicitly
 avoid guards
In-Reply-To: <alpine.DEB.2.22.394.2308281458390.6458@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2308281531070.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308281458390.6458@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 28 Aug 2023, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
> > Some headers, under specific circumstances (documented in a comment at
> > the beginning of the file), explicitly avoid inclusion guards: the caller
> > is responsible for including them correctly.
> > 
> > These files are not supposed to comply with Directive 4.10:
> > "Precautions shall be taken in order to prevent the contents of a header
> > file being included more than once"
> > 
> > This patch adds a deviation for all headers that contain the following
> > in a comment text:
> > "In this case, no inclusion guards apply and the caller is responsible"
> > 
> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Actually one question


> > ---
> >  automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
> >  docs/misra/rules.rst                             | 3 ++-
> >  2 files changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > index d8170106b4..5f068377fa 100644
> > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > @@ -91,6 +91,10 @@ conform to the directive."
> >  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
> >  -doc_end
> >  
> > +-doc_begin="Some headers, under specific circumstances, explicitly avoid inclusion guards."
> > +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
> > +-doc_end

Is this supposed to match with any files starting with "In this case,
no inclusion..." ?

We should use the format introduced by safe.json instead


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:35:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:35:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591846.924381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakpc-0004h4-V9; Mon, 28 Aug 2023 22:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591846.924381; Mon, 28 Aug 2023 22: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 1qakpc-0004gx-ST; Mon, 28 Aug 2023 22:35:36 +0000
Received: by outflank-mailman (input) for mailman id 591846;
 Mon, 28 Aug 2023 22:35:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakpa-0004gp-Ry
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:35:35 +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 3256fe3c-45f3-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:35:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 99AFC63D94;
 Mon, 28 Aug 2023 22:35:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4784C433C8;
 Mon, 28 Aug 2023 22:35: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: 3256fe3c-45f3-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693262131;
	bh=708JWl30Fs9+YrhRYviHcHnZaSrCmQpcyCVzvwbRaU4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Fl0ULmkkIx8Xl3Wb9Ky56Lvur9J2Ehw2Q8rcgBdRZAdqdaVHwBOEgcfPCEpPjeLyX
	 1i5nhRinD6NPI5SevKXaRE0jeHP3jRCu70SNVFO78Uz3tB2PojiMMS1uW3mVD2MME6
	 2NPY3B9uqZCQ1gewCGMWCur6XSVezzC1t6pwWOG65CNUD4QoDAhv6MTJfwf6e8W9pt
	 Ygge59U4mR9nbkxOlZqsGRPMtmRH9wZQ3zT0qx4ehrcktvz6F+p1HXBnTs7iCegsFh
	 lEQ/y2Wp4vMRtWLbx8vu4TJixnILKbOzS63NQV4qZ9yNDldUbde4eEmAkBJV3x/rkX
	 6RzvRHYn5vjxg==
Date: Mon, 28 Aug 2023 15:35:27 -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, 
    sstabellini@kernel.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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 08/13] x86/mm: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <b994059118b867960b619d40d74c8f579c0a4d87.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281535110.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <b994059118b867960b619d40d74c8f579c0a4d87.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/mm/guest_walk.c     | 5 +++++
>  xen/arch/x86/mm/hap/guest_walk.c | 4 ++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
> index fe7393334f..66c127156d 100644
> --- a/xen/arch/x86/mm/guest_walk.c
> +++ b/xen/arch/x86/mm/guest_walk.c
> @@ -9,6 +9,9 @@
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
>   */
>  
> +#ifndef __X86_MM_GUEST_WALK_C__
> +#define __X86_MM_GUEST_WALK_C__
> +
>  #include <xen/types.h>
>  #include <xen/mm.h>
>  #include <xen/paging.h>
> @@ -576,6 +579,8 @@ void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn,
>  }
>  #endif
>  
> +#endif /* __X86_MM_GUEST_WALK_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
> index d1b7c5762c..d4ffa8141f 100644
> --- a/xen/arch/x86/mm/hap/guest_walk.c
> +++ b/xen/arch/x86/mm/hap/guest_walk.c
> @@ -7,6 +7,9 @@
>   * Copyright (c) 2007, XenSource Inc.
>   */
>  
> +#ifndef __X86_MM_HAP_GUEST_WALK_C__
> +#define __X86_MM_HAP_GUEST_WALK_C__
> +
>  #include <xen/domain_page.h>
>  #include <xen/paging.h>
>  #include <xen/sched.h>
> @@ -124,6 +127,7 @@ unsigned long cf_check hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
>      return gfn_x(INVALID_GFN);
>  }
>  
> +#endif /* __X86_MM_HAP_GUEST_WALK_C__ */
>  
>  /*
>   * Local variables:
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:41:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591852.924390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakv9-0006Mc-Hf; Mon, 28 Aug 2023 22:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591852.924390; Mon, 28 Aug 2023 22:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakv9-0006MV-FA; Mon, 28 Aug 2023 22:41:19 +0000
Received: by outflank-mailman (input) for mailman id 591852;
 Mon, 28 Aug 2023 22:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakv9-0006MP-43
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:41:19 +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 ffe79d68-45f3-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:41:17 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 35E186192E;
 Mon, 28 Aug 2023 22:41:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 75FFBC433C8;
 Mon, 28 Aug 2023 22:41:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffe79d68-45f3-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693262475;
	bh=mNARWSW4ZzohMZ/kCWesyI+97PpTg66YZ9lPy6DUoLs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JbiWbLpp5NbXuGCNcrX5jzltmWxzRgaP0Jj29bgp5EUdoUU/KWulpe+LHgT77Buom
	 /0tGWwXBkfsWDt7fdLftX70rFnmqvRB8w7MYiRpkwJSyV7uKOnirqP6hKTvS3IcePI
	 rNzoDCUpN7X6aPWJnQYN0r7QzIE0UcVgm+apytfKk7g55QLSzV5T8/Dc4pUj2DaTQ+
	 +13QXdiF+ITLYOJTNPXmTffGa19mR16OD0xwBhnRp/kPlxc6kmYJZ3NwLsFssRRJ35
	 x+9Rt+7lPuYYLzSAKw1WVTOOcQr4P+UmV6P/dUaKPcvzGnkusGkyr4Hx4NoMG4BJmU
	 YvP+Ihq9oP+uQ==
Date: Mon, 28 Aug 2023 15:41:12 -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, 
    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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281541050.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Also C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/common/compat/grant_table.c | 7 +++++++
>  xen/common/coverage/gcc_4_7.c   | 5 +++++
>  xen/common/decompress.h         | 5 +++++
>  xen/common/event_channel.h      | 5 +++++
>  xen/common/multicall.c          | 5 +++++
>  5 files changed, 27 insertions(+)
> 
> diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
> index f8177c84c0..614ad71a59 100644
> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -3,6 +3,10 @@
>   *
>   */
>  
> +
> +#ifndef __COMMON_COMPAT_GRANT_TABLE_C__
> +#define __COMMON_COMPAT_GRANT_TABLE_C__
> +
>  #include <xen/hypercall.h>
>  #include <compat/grant_table.h>
>  
> @@ -331,6 +335,9 @@ int compat_grant_table_op(
>      return rc;
>  }
>  
> +
> +#endif /* __COMMON_COMPAT_GRANT_TABLE_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/common/coverage/gcc_4_7.c b/xen/common/coverage/gcc_4_7.c
> index 25b4a8bcdc..12e4ec8cbb 100644
> --- a/xen/common/coverage/gcc_4_7.c
> +++ b/xen/common/coverage/gcc_4_7.c
> @@ -14,6 +14,9 @@
>   *    Wei Liu <wei.liu2@citrix.com>
>   */
>  
> +#ifndef __COMMON_COVERAGE_GCC_4_7_C__
> +#define __COMMON_COVERAGE_GCC_4_7_C__
> +
>  #include <xen/string.h>
>  
>  #include "gcov.h"
> @@ -193,6 +196,8 @@ size_t gcov_info_to_gcda(char *buffer, const struct gcov_info *info)
>      return pos;
>  }
>  
> +#endif /* __COMMON_COVERAGE_GCC_4_7_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/common/decompress.h b/xen/common/decompress.h
> index e8195b353a..da3c3abb6a 100644
> --- a/xen/common/decompress.h
> +++ b/xen/common/decompress.h
> @@ -1,3 +1,6 @@
> +#ifndef __COMMON_DECOMPRESS_H__
> +#define __COMMON_DECOMPRESS_H__
> +
>  #ifdef __XEN__
>  
>  #include <xen/cache.h>
> @@ -23,3 +26,5 @@
>  #define large_free free
>  
>  #endif
> +
> +#endif /* __COMMON_DECOMPRESS_H__ */
> diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
> index 45219ca67c..040bad77f9 100644
> --- a/xen/common/event_channel.h
> +++ b/xen/common/event_channel.h
> @@ -1,5 +1,8 @@
>  /* Event channel handling private header. */
>  
> +#ifndef __COMMON_EVENT_CHANNEL_H__
> +#define __COMMON_EVENT_CHANNEL_H__
> +
>  #include <xen/event.h>
>  
>  static inline unsigned int max_evtchns(const struct domain *d)
> @@ -52,6 +55,8 @@ int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
>  int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
>  void evtchn_fifo_destroy(struct domain *d);
>  
> +#endif /* __COMMON_EVENT_CHANNEL_H__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/common/multicall.c b/xen/common/multicall.c
> index 1f0cc4cb26..421bb25b70 100644
> --- a/xen/common/multicall.c
> +++ b/xen/common/multicall.c
> @@ -2,6 +2,9 @@
>   * multicall.c
>   */
>  
> +#ifndef __COMMON_MULTICALL_C__
> +#define __COMMON_MULTICALL_C__
> +
>  #include <xen/types.h>
>  #include <xen/lib.h>
>  #include <xen/mm.h>
> @@ -124,6 +127,8 @@ ret_t do_multicall(
>          __HYPERVISOR_multicall, "hi", call_list, nr_calls-i);
>  }
>  
> +#endif /* __COMMON_MULTICALL_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:42:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591857.924400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakwS-0006uk-S6; Mon, 28 Aug 2023 22:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591857.924400; Mon, 28 Aug 2023 22: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 1qakwS-0006ud-Os; Mon, 28 Aug 2023 22:42:40 +0000
Received: by outflank-mailman (input) for mailman id 591857;
 Mon, 28 Aug 2023 22:42:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakwS-0006uX-46
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:42: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 2fb74dbc-45f4-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 00:42:37 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B323661454;
 Mon, 28 Aug 2023 22:42:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63218C433C8;
 Mon, 28 Aug 2023 22:42:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fb74dbc-45f4-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693262556;
	bh=anFHAMAYLwqizNV1F3xoLLBU8uPb7jhSW3D4tJ5Ar2E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Da7iEqj56ntwu9wDTyfMsycd1UZsI0s2mvbKs2FAep+rHMNGNwHPvc9gxnYauwNlv
	 PK3I47buPx1/p5OZ9H8x3shaGyG7Owx/vxnP+z4a1qZHXz7TvYe0lL8Bm75wVMnefs
	 AZOIdwwMPPlrDA+s9H2tEXrDePmfXF0cQRbeNfNp0obAP7ryU0mWRmRzxSGQX+TILW
	 FQbCVbO3P2fqY15i4WYSkyns2qZqxnGc0rOp90s84XhqpfXzm5GWYE6AP0gX0KCNiV
	 er44S9GCfPbRoNQilWibtVx5Qy67RKCsVQ9+SMq+nDJYvtreZRAi1cOi6W/6F//B3j
	 W0MNbvh/nGfIw==
Date: Mon, 28 Aug 2023 15:42:32 -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, 
    sstabellini@kernel.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH 10/13] xen/efi: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <7726a38c4bf15a94b9bbcbc465bd499f94067ddc.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281542080.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <7726a38c4bf15a94b9bbcbc465bd499f94067ddc.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Also C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/common/efi/efi.h     | 5 +++++
>  xen/common/efi/runtime.c | 6 ++++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/xen/common/efi/efi.h b/xen/common/efi/efi.h
> index c02fbb7b69..cef9381d30 100644
> --- a/xen/common/efi/efi.h
> +++ b/xen/common/efi/efi.h
> @@ -1,3 +1,6 @@
> +#ifndef __COMMON_EFI_EFI_H__
> +#define __COMMON_EFI_EFI_H__
> +
>  #include <asm/efibind.h>
>  #include <efi/efidef.h>
>  #include <efi/efierr.h>
> @@ -51,3 +54,5 @@ void free_ebmalloc_unused_mem(void);
>  
>  const void *pe_find_section(const void *image, const UINTN image_size,
>                              const CHAR16 *section_name, UINTN *size_out);
> +
> +#endif /* __COMMON_EFI_EFI_H__ */
> diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
> index 5cb7504c96..fb6fd17ba3 100644
> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -6,6 +6,10 @@
>  #include <xen/irq.h>
>  #include <xen/time.h>
>  
> +#ifndef __COMMON_EFI_RUNTIME_C__
> +#define __COMMON_EFI_RUNTIME_C__

Shouldn't this be at the top of the file?


>  DEFINE_XEN_GUEST_HANDLE(CHAR16);
>  
>  struct efi_rs_state {
> @@ -704,3 +708,5 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
>      return rc;
>  }
>  #endif
> +
> +#endif /* __COMMON_EFI_RUNTIME_C__ */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:43:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591861.924410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakxB-0007Tc-45; Mon, 28 Aug 2023 22:43:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591861.924410; Mon, 28 Aug 2023 22:43:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakxB-0007TV-18; Mon, 28 Aug 2023 22:43:25 +0000
Received: by outflank-mailman (input) for mailman id 591861;
 Mon, 28 Aug 2023 22:43: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=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakxA-0007TG-CE
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:43:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ab6f29b-45f4-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:43:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id ED23063A26;
 Mon, 28 Aug 2023 22:43:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C1EFC433C8;
 Mon, 28 Aug 2023 22:43:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ab6f29b-45f4-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693262601;
	bh=IDO2rh4H5NU92FmYdt5Zh0gtNUcSG4jcGlt/Mbsp24E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dfHzenc37vJEgbM0srVy7xAKTnZuQEmVYzkK38jep1LWC1KvQBCCkfVnQ6BBmt0V/
	 IlTu/XCxkdKKP7g9/t6dwmBvYLe47eBaHEHvDVJKlSnJTK5MPS/Wui/zv+M6wibcVj
	 QLCc0tM0w+SKDwHZYB7IFCqMsl/LfNpODRLd2gWRKNaQf4fHjEBdHKu4PnA8lUrQKA
	 KTIGOMPrydawym38YivnRRBWJ8uYX2ZWv2Lqb7Mdxj6eUvSACIvcank3O+mXKZt9qI
	 Sn3ZRLN4JNVeeJ2tos1Pl/4BioNf70Js6t/42BSDd+zjoRXdixu9ZD2BN/OaY99IqF
	 Zxx3ZboHJNF8A==
Date: Mon, 28 Aug 2023 15:43:18 -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, 
    sstabellini@kernel.org, George Dunlap <george.dunlap@citrix.com>, 
    Dario Faggioli <dfaggioli@suse.com>
Subject: Re: [XEN PATCH 11/13] xen/sched: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <8f2179f60335edcf97a04e1c35c7f4bb574c2145.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281543120.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <8f2179f60335edcf97a04e1c35c7f4bb574c2145.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/common/sched/compat.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/xen/common/sched/compat.c b/xen/common/sched/compat.c
> index a596e3a226..d718e450d4 100644
> --- a/xen/common/sched/compat.c
> +++ b/xen/common/sched/compat.c
> @@ -3,6 +3,10 @@
>   *
>   */
>  
> +#ifndef __COMMON_SCHED_COMPAT_C__
> +#define __COMMON_SCHED_COMPAT_C__
> +
> +
>  #include <compat/sched.h>
>  
>  #define COMPAT
> @@ -44,6 +48,8 @@ int compat_set_timer_op(uint32_t lo, int32_t hi)
>      return do_set_timer_op(((s64)hi << 32) | lo);
>  }
>  
> +#endif /* __COMMON_SCHED_COMPAT_C__ */
> +
>  /*
>   * Local variables:
>   * mode: C
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:45:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:45:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591870.924420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qakzZ-00089R-L3; Mon, 28 Aug 2023 22:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591870.924420; Mon, 28 Aug 2023 22: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 1qakzZ-00089K-IT; Mon, 28 Aug 2023 22:45:53 +0000
Received: by outflank-mailman (input) for mailman id 591870;
 Mon, 28 Aug 2023 22:45:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qakzY-00089D-6w
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:45:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2d22695-45f4-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:45:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C043C60FD2;
 Mon, 28 Aug 2023 22:45:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0550CC433C7;
 Mon, 28 Aug 2023 22:45:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2d22695-45f4-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693262749;
	bh=uR5tTBB3do2rM6OfZCuU7OO3bryXas1p0x+ExW6slc8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=H7pFPK2l6L8NUnqrq+w5nBcKkQSy3CH6lox9RKuQOVIU+hlxgsYd8xiz7AGx9X6wu
	 GR5yiGx5vaM3nS/7zgL6FrEHttDDRhCPZWonFxx4i1N0z0xnr1ScmtJTU8BgGn7wdl
	 jSg5MS+7wSGqZbzdHsYM7bbrRQi7qw9pCJhTVCml8hflfYxcU2l5hFBLbUNU+zoW20
	 /KNzt4gY1qKdyL/VBNL2yUOns3EBE2KD60XLQJ0ZKaE6R4v0YnErdw2VysDFj2VyGp
	 +0JiMuLASBh5p3CcJhhSjeDp5PkUdNPXWGQErBgtL0StFvQzo+glnQUM1LAIdsXnqH
	 xy1YIG6VSs/4Q==
Date: Mon, 28 Aug 2023 15:45:45 -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, 
    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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 13/13] x86/asm: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <7af1f690e486e2872a645463b4ec9d4b07a6c23a.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281544040.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <7af1f690e486e2872a645463b4ec9d4b07a6c23a.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Amend generation script to address a violation of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> This patch adds a special comment to the beginning of the header
> to make it explicit that the file is generated automatically.
> 
> The comment is recognized by ECLAIR and will cause the deviation of
> the violation.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/tools/compat-xlat-header.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/xen/tools/compat-xlat-header.py b/xen/tools/compat-xlat-header.py
> index 2b805b23a8..9e336277ac 100644
> --- a/xen/tools/compat-xlat-header.py
> +++ b/xen/tools/compat-xlat-header.py
> @@ -406,6 +406,8 @@ def main():
>              line = line.strip()
>              header_tokens += re_tokenazier.split(line)
>  
> +    print("/* Generated file, do not edit! */")

I think it might be a good idea regardless of MISRA compliance to add
this comment.

However for MISRA compliance I think we should document somewhere other
than ECLAIR config file that "Generated file, do not edit!" is being
used as a MISRA C deviation marker.

I think we should add a special note to safe.json, or alternatively also
add the safe.json tag to the comment:

print("/* SAF-1-safe Generated file, do not edit! */")


>      with open(sys.argv[2]) as compat_list:
>          for line in compat_list:
>              words = re_tokenazier.split(line, maxsplit=1)



From xen-devel-bounces@lists.xenproject.org Mon Aug 28 22:51:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 Aug 2023 22:51:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591877.924430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qal4w-0001RL-7N; Mon, 28 Aug 2023 22:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591877.924430; Mon, 28 Aug 2023 22:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qal4w-0001RE-4q; Mon, 28 Aug 2023 22:51:26 +0000
Received: by outflank-mailman (input) for mailman id 591877;
 Mon, 28 Aug 2023 22:51:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yBR3=EN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qal4u-0001R8-UF
 for xen-devel@lists.xenproject.org; Mon, 28 Aug 2023 22:51:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 691451f8-45f5-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 00:51:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 203A161136;
 Mon, 28 Aug 2023 22:51:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B9DDC433C8;
 Mon, 28 Aug 2023 22:51:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 691451f8-45f5-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693263081;
	bh=oOKanjnaBP5scZ1IOtXv6nEcOzv1shCXHLxQDKx6MXw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JNmfxe4wFMwvjKKrKGXdC2m73DVkZMu+DEM12GSttUcCqexGo/+6X2wdwGfnLu1CG
	 Mza9/2dyKjkzNd6vOtHeBq04osNnY0tlyvVjndVsqxu48AvRWT5nlZ59uMqYNHtAdi
	 QHANuu0KSI4XSlMgZBV+AdteZPTBkvLQjHTnW06jwjYHrJt9s4oVYTKLHULHxz9HKb
	 zHwmIHoueRwIR1iSfrA1jjBh+KLCZHZqBl03gGCd9pmx5w7xnfIZq+stC/wE2C3Vmy
	 awABMnxJ+TTrJQt7eQ3MpGOxJOdL5Z5676Tw2Gva1+xnHLZ5lD2XDh5P3PKNwjGE0v
	 ICvmd3SSXP48w==
Date: Mon, 28 Aug 2023 15:51:18 -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, 
    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>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 12/13] xen: address violations of MISRA C:2012
 Directive 4.10
In-Reply-To: <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308281548580.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.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 Mon, 28 Aug 2023, Simone Ballarin wrote:
> Move or amended inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere) and the #if directive cannot
> be used for other checks.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/include/xen/err.h       | 4 +++-
>  xen/include/xen/pci_ids.h   | 5 +++++
>  xen/include/xen/softirq.h   | 4 +++-
>  xen/include/xen/unaligned.h | 7 ++++---
>  xen/include/xen/vmap.h      | 4 +++-
>  5 files changed, 18 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h
> index 2f29b57d28..a6323d82d7 100644
> --- a/xen/include/xen/err.h
> +++ b/xen/include/xen/err.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__)
> +#if !defined(__XEN_ERR_H__)
>  #define __XEN_ERR_H__
> +#if !defined(__ASSEMBLY__)

The original pattern was also guarding the header file sufficiently,
protecting it from double-inclusion. In fact, it is posing stricter
restrictions than usual (not laxer). This change is unnecessary?


>  #include <xen/compiler.h>
>  #include <xen/errno.h>
> @@ -54,4 +55,5 @@ static inline int __must_check PTR_RET(const void *ptr)
>  	return IS_ERR(ptr) ? PTR_ERR(ptr) : 0;
>  }
>  
> +#endif /* __ASSEMBLY__ */
>  #endif /* __XEN_ERR_H__ */
> diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
> index e798477a7e..1a739d4c92 100644
> --- a/xen/include/xen/pci_ids.h
> +++ b/xen/include/xen/pci_ids.h
> @@ -1,3 +1,6 @@
> +#ifndef __XEN_PCI_IDS_H__
> +#define __XEN_PCI_IDS_H__
> +
>  #define PCI_VENDOR_ID_AMD                0x1022
>  
>  #define PCI_VENDOR_ID_NVIDIA             0x10de
> @@ -11,3 +14,5 @@
>  #define PCI_VENDOR_ID_BROADCOM           0x14e4
>  
>  #define PCI_VENDOR_ID_INTEL              0x8086
> +
> +#endif /* __XEN_PCI_IDS_H__ */
> diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
> index 33d6f2ecd2..092ec733b7 100644
> --- a/xen/include/xen/softirq.h
> +++ b/xen/include/xen/softirq.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_SOFTIRQ_H__) && !defined(__ASSEMBLY__)
> +#if !defined(__XEN_SOFTIRQ_H__)
>  #define __XEN_SOFTIRQ_H__
> +#if !defined(__ASSEMBLY__)

same here


>  /* Low-latency softirqs come first in the following list. */
>  enum {
> @@ -40,4 +41,5 @@ void cpu_raise_softirq_batch_finish(void);
>   */
>  void process_pending_softirqs(void);
>  
> +#endif /* __ASSEMBLY__ */
>  #endif /* __XEN_SOFTIRQ_H__ */
> diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
> index 0a2b16d05d..45f03b3f1b 100644
> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -3,13 +3,14 @@
>   * without faulting, and at least reasonably efficiently.  Other architectures
>   * will need to have a custom asm/unaligned.h.
>   */
> -#ifndef __ASM_UNALIGNED_H__
> -#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
> -#endif
>  
>  #ifndef __XEN_UNALIGNED_H__
>  #define __XEN_UNALIGNED_H__
>  
> +#ifndef __ASM_UNALIGNED_H__
> +#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
> +#endif
> +
>  #ifdef __XEN__
>  #include <xen/types.h>
>  #include <asm/byteorder.h>
> diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
> index b0f7632e89..7a61dea54a 100644
> --- a/xen/include/xen/vmap.h
> +++ b/xen/include/xen/vmap.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START)
> +#if !defined(__XEN_VMAP_H__)
>  #define __XEN_VMAP_H__
> +#if defined(VMAP_VIRT_START)

same here


>  #include <xen/mm-frame.h>
>  #include <xen/page-size.h>
> @@ -38,4 +39,5 @@ static inline void vm_init(void)
>      vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, arch_vmap_virt_end());
>  }
>  
> +#endif /* VMAP_VIRT_START */
>  #endif /* __XEN_VMAP_H__ */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 00:46:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 00:46:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591883.924440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qams4-0005XF-2A; Tue, 29 Aug 2023 00:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591883.924440; Tue, 29 Aug 2023 00:46: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 1qams3-0005X8-Vr; Tue, 29 Aug 2023 00:46:15 +0000
Received: by outflank-mailman (input) for mailman id 591883;
 Tue, 29 Aug 2023 00:46:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PJvI=EO=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1qams3-0005X2-5T
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 00:46:15 +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 72a59e91-4605-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 02:46:13 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 377346118E;
 Tue, 29 Aug 2023 00:46:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 9F94FC433C8;
 Tue, 29 Aug 2023 00:46:09 +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
 8D7C6C3274C; Tue, 29 Aug 2023 00:46: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: 72a59e91-4605-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693269969;
	bh=L2PRBTeOKR+7M/QKw/98wz/qZ1tVlM9fzBUuu6iHO8E=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=vQJFdNGh2r5F5XgNgEuF9lDi5F5MeaP9Dvof7FBr163nJKoJelF6FxljYjfCj2TfQ
	 mAsvGDxBkma5bafkaBmf5srXHfAzhtvkEocPLlIU8LKTlPutPtpKnqzo+DBTaFUhwA
	 fG32XUpsp7AsP7/597NYJHzcER64bSgSgJW0tOEdtYT5OqexPhiJWIN4GyDIWdAayZ
	 c7SMdukv6zuUEday3M+LhPC60E0Wjnw6OIPg+F6qmAEfDcvjJtltMbPTjgwhejj1XZ
	 j+5eoBlsFUk8NUym+3Y6ov87UK04+UF2eIUli36MaMjuxUebm/2a7X2vo4mpLwUdeP
	 bKdTuiKeSo4Kg==
Subject: Re: [GIT PULL] xen: branch for v6.6-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20230824143626.10100-1-jgross@suse.com>
References: <20230824143626.10100-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20230824143626.10100-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.6-rc1-tag
X-PR-Tracked-Commit-Id: f8941e6c4c712948663ec5d7bbb546f1a0f4e3f6
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 6383cb42ac01e6fb9ef6a035a2288786e61bdddf
Message-Id: <169326996957.22794.12711316433156812278.pr-tracker-bot@kernel.org>
Date: Tue, 29 Aug 2023 00:46:09 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Thu, 24 Aug 2023 16:36:26 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.6-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6383cb42ac01e6fb9ef6a035a2288786e61bdddf

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 00:49:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 00:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591888.924451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qamut-00067s-Ga; Tue, 29 Aug 2023 00:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591888.924451; Tue, 29 Aug 2023 00: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 1qamut-00067l-Ci; Tue, 29 Aug 2023 00:49:11 +0000
Received: by outflank-mailman (input) for mailman id 591888;
 Tue, 29 Aug 2023 00:49: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 1qamus-00067Z-CI; Tue, 29 Aug 2023 00:49: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 1qamus-00089b-36; Tue, 29 Aug 2023 00:49: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 1qamur-0004Mr-Ov; Tue, 29 Aug 2023 00:49:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qamur-0002nq-NV; Tue, 29 Aug 2023 00:49:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/iUZfFoS0ajQgFr0Kz2MS9gcIPBVwD+W4leoSzMCYvM=; b=5stDHRu9Y+7UyAWprLtkmjXHw9
	f1lRdsjDMSvVkNXQZxAy9qZ8COmKvcn6YeE+56LYLepRo6XOxdPJ1TCe4QgEXi1980uB8t54jKG99
	ssuxqf9UKASojpcMVCzEvjOHnYbHs1BNBMDnLP5mMVlMBav6C7tuZdggFAp8cXA6sMgc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182545-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182545: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2c7fd32676272e22ed44fdfc8fa7e47f5c7a93b8
X-Osstest-Versions-That:
    ovmf=92006e5804a4adff05556a97a951fd7766a1d79f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 00:49:09 +0000

flight 182545 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182545/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2c7fd32676272e22ed44fdfc8fa7e47f5c7a93b8
baseline version:
 ovmf                 92006e5804a4adff05556a97a951fd7766a1d79f

Last test of basis   182538  2023-08-28 09:12:19 Z    0 days
Testing same since   182545  2023-08-28 20:43:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kuo, Ted <ted.kuo@intel.com>
  Ted Kuo <ted.kuo@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   92006e5804..2c7fd32676  2c7fd32676272e22ed44fdfc8fa7e47f5c7a93b8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 02:08:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 02:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591897.924461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qao95-0008R8-0H; Tue, 29 Aug 2023 02:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591897.924461; Tue, 29 Aug 2023 02:07: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 1qao94-0008R0-Rn; Tue, 29 Aug 2023 02:07:54 +0000
Received: by outflank-mailman (input) for mailman id 591897;
 Tue, 29 Aug 2023 02:07:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Epr=EO=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qao93-0008Qu-Fe
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 02:07:53 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db022673-4610-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 04:07:50 +0200 (CEST)
Received: from SN7PR04CA0196.namprd04.prod.outlook.com (2603:10b6:806:126::21)
 by MW4PR12MB5644.namprd12.prod.outlook.com (2603:10b6:303:189::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 02:07:45 +0000
Received: from SA2PEPF000015C8.namprd03.prod.outlook.com
 (2603:10b6:806:126:cafe::3d) by SN7PR04CA0196.outlook.office365.com
 (2603:10b6:806:126::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Tue, 29 Aug 2023 02:07:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Tue, 29 Aug 2023 02:07:44 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 21:07:43 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 28 Aug
 2023 19:07:43 -0700
Received: from [192.168.139.126] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Mon, 28 Aug 2023 21:07: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: db022673-4610-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IlKouVS0sXD0AmHFz27fSPe9UkrYP8hSUUwFj117DIGmELmJcwGcg4Aoa7te0sjgG/TrJXdyw3sJ2RSFiu+dARft/muYc3CBx5d99bMpG8g2e6/RdvC1Wx3olGh73fVgejB/EciixE8ncfYvGD/K10/NmqnIjIW9UoQWia4c2I6cQgYqTIxpYOl3iQrW69mNDWDKciNOXW7WXXykyEZRtSCotyQs7XpRtYMqZSWQ/WJdC9KtAtQgYzocCBZ6wuGhCz/1RHrBnYnGEEVxfR29q7cQnRSD6cOmQaC2c/bdINyPjxyhrzCe5556Wgi/TpkC4muzLMFp+7m93B9NXlVTHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y5tywCrlNdNA4Sw8X0tODm8GPgaTAvMQP4Zqy/xqcEo=;
 b=UDYiFIKml+NvFPgU+Fg52OIvwSZr0G96xQcCx9woY3WFLjh+UIfloNWTAfDD7CVxfcYMJdQnlNYFuPAGPR/l45ceKj2mTgx7segyUxk+doHSuKqXKwKXTAfpFhAP9kd8woP2dmNKryRrun+5IKZnRAog/cksHNOwNKsqD8iPzZEfa8jnKomq83Luy0ZQggs5BO1fFTfxplJuFqCqIgs2JJQfCslIzKjxhHq4TJClU1kDdaR6tNBRn3PZjz2UmUfzZKDGcEpPi9m0gI7SoLuQGfTc0TQdKVEkvKd4HrLbqcT3faMHUhZdR2Esy4On2xvk4Yu8kUl5rx9H7Jebq409QQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y5tywCrlNdNA4Sw8X0tODm8GPgaTAvMQP4Zqy/xqcEo=;
 b=2L3d9oU2zbKdwd6GeCHcwNJl4T5nR3RhdUj84ebCk4ntpRLVa3d9YX/BWa6zhY1GjtY1JqHTREq9QCJWy3pt4YvCGLjfPKB4h+AvR0UX+3XFk1RJsj/7+YeIXSa9lh5bUP/Xlfq8W0AD11AGmBdBk/Ruwe/4wwupIIevLFnOXqs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <88d0a91e-eeec-6fe0-6dc9-b22eb24af86a@amd.com>
Date: Mon, 28 Aug 2023 22:07:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v4 6/6] xen/vpci: header: filter PCI capabilities
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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-7-stewart.hildebrand@amd.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20230828175858.30780-7-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: SA2PEPF000015C8:EE_|MW4PR12MB5644:EE_
X-MS-Office365-Filtering-Correlation-Id: dbcb813e-3cfd-4ffe-07ca-08dba834bbc4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g32zlMbNWrkX0j6Va96+3hoBq3nclFsvmb9PupytblDCQIUJ4/jHFbOGOdfsETbk01g+QR3bwHLSV17MeoFtSC59PAgf37R0mesrhHpLqV1mwb47F73MXvCPq8dSZMYzlu53N0/G1aHatRvsfuUU2Kq0pwlyegUz/HoG8lEuZU6kfHoMMTphLI3V7HN4uUSjP4Wb9kGyuBfSmAezLi4FkX08GXJvmX3rTJmqxN1JawOogwCmnrHF3Xx50FhhXCHPnDfSsKH4rh5mStMhkrAGsEjjzNSWQKZxcoootqHqqHicBeQNDSec2PDZcOP5eKk0rn5jI/AhybyWfuIXjb5rhFS1Eg9rcQJX/e6TwRljE8RYvbFGYy4Emkj02etd8in3Wuy4eySkRrzY7rNI4q77YsqVzwBHpBZUUyovCmEgJZEs77rVlEHr5kGL5KCjLz4OBHkQ0w35KCmHwhFP5pH+CsetElN/SxUu5t2AhJkil/vGmagwuk7h40kp78QOX5WMiT6pfwOLuUo3Nz2bUBslxHqvPLZ9ykG2XlfPmKtfP8MaIH0hT+gMVBr4mMSOasMc4m7GHw3QmGGRZHIEJEESBn9xsuYyGwI0agacoaYdATwLLfGNxdJXw7/US4O4QNL1+u5O/cB1F/Ucj0CL+XwJ9r3nmhzAEB3zy+q47bJkmuh1JSfTfhNHczF24jiY/JYYsn/n21UaXDwqTAtG5kj67NPcd/UpeKptfr3Dm60TmCF9WEusdG/ByImcB66XwBGFXLGlLxttzIl0wV8vL3bDHxwKVU8BAjkhAOCvA2s4tH3EZ9d3RWnr/yBLLmeUMvt1
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)(4636009)(136003)(396003)(346002)(376002)(39860400002)(451199024)(1800799009)(82310400011)(186009)(40470700004)(46966006)(36840700001)(31686004)(82740400003)(6666004)(40460700003)(40480700001)(86362001)(36756003)(31696002)(356005)(81166007)(47076005)(36860700001)(478600001)(2906002)(336012)(426003)(26005)(53546011)(70586007)(70206006)(41300700001)(4326008)(8676002)(8936002)(5660300002)(44832011)(2616005)(54906003)(316002)(16576012)(6916009)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 02:07:44.3603
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dbcb813e-3cfd-4ffe-07ca-08dba834bbc4
X-MS-Exchange-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:
	SA2PEPF000015C8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5644

On 8/28/23 13:56, Stewart Hildebrand wrote:
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 4a4dbb69ab1c..919addbfa630 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -561,6 +573,71 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
> +        {
> +            /* RAZ/WI */
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1, (void *)0);
> +            if ( rc )
> +                return rc;
> +        }
> +        else
> +        {
> +            /* Only expose capabilities to the guest that vPCI can handle. */
> +            uint8_t next;

s/uint8_t/unsigned int/

> +            unsigned int ttl = 48;
> +
> +            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
> +                                         vpci_cap_supported, 0, &ttl);
> +
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1,
> +                                   (void *)(uintptr_t)next);
> +            if ( rc )
> +                return rc;
> +
> +            next &= ~3;
> +
> +            if ( !next )
> +                /*
> +                 * If we don't have any supported capabilities to expose to the
> +                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
> +                 * register.
> +                 */
> +                header->mask_cap_list = true;
> +
> +            while ( next && ttl )
> +            {
> +                uint8_t pos = next;

s/uint8_t/unsigned int/


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 02:11:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 02:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591904.924475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaoCB-0001Zi-Ih; Tue, 29 Aug 2023 02:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591904.924475; Tue, 29 Aug 2023 02:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaoCB-0001Zb-Fa; Tue, 29 Aug 2023 02:11:07 +0000
Received: by outflank-mailman (input) for mailman id 591904;
 Tue, 29 Aug 2023 02:11:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaoCA-0001ZN-A2; Tue, 29 Aug 2023 02:11: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 1qaoCA-0003r9-7b; Tue, 29 Aug 2023 02:11: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 1qaoC9-0000gv-2q; Tue, 29 Aug 2023 02:11:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaoC9-0007CZ-24; Tue, 29 Aug 2023 02:11:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jcc9D1AnkeJFnL6tv0bWH0UhrhF3Q4WB6ThKGMqPF+0=; b=1zCIs7Jcxiczez6Fs6L3J9A8sD
	UkoidaKPlsrt67j6ysq1o4DrE7lBqzkoIT8D9XgHo2K1EQ53OxyyRn4ZsxW39VzzqMfslf/MaCRsn
	R/pjnaFqS+5j+DB1jP/fFDIanHx58g7fTl+DabEv151MJXXTfYk993TwHR0MQz5NBfUE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182542-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182542: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:nonblocking
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=067f18c3a72d8f0acccab831083b8518f0832d81
X-Osstest-Versions-That:
    xen=ec272d8d4c5de1a143f3cec50e3f22d0f783f39b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 02:11:05 +0000

flight 182542 xen-unstable real [real]
flight 182546 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182542/
http://logs.test-lab.xenproject.org/osstest/logs/182546/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 182546-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 182546 like 182532
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 182546 never pass
 test-armhf-armhf-libvirt-qcow2 13 guest-start                 fail like 182527
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install             fail like 182532
 test-amd64-i386-pair         11 xen-install/dst_host         fail  like 182532
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182532
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182532
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182532
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182532
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182532
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182532
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182532
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182532
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182532
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 182532
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  067f18c3a72d8f0acccab831083b8518f0832d81
baseline version:
 xen                  ec272d8d4c5de1a143f3cec50e3f22d0f783f39b

Last test of basis   182532  2023-08-28 01:52:11 Z    1 days
Testing same since   182542  2023-08-28 16:37:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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-i386-xl                                           pass    
 test-amd64-coresched-i386-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                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ec272d8d4c..067f18c3a7  067f18c3a72d8f0acccab831083b8518f0832d81 -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 02:59:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 02:59:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591917.924497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaox0-0006MZ-9I; Tue, 29 Aug 2023 02:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591917.924497; Tue, 29 Aug 2023 02:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaox0-0006MS-6K; Tue, 29 Aug 2023 02:59:30 +0000
Received: by outflank-mailman (input) for mailman id 591917;
 Tue, 29 Aug 2023 02:59:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaowy-0006MI-Qh; Tue, 29 Aug 2023 02:59:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaowy-0004mA-Lj; Tue, 29 Aug 2023 02:59:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qaowy-00044M-4B; Tue, 29 Aug 2023 02:59:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaowy-0004bF-3c; Tue, 29 Aug 2023 02:59:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GLrgtnHkB6w5q6GORVFEVBNqm6pjMDZD2bCpJA9adl8=; b=k+ox6Coy9hRm0/5rLVugZRRLaa
	WmQsHWeZSWwJ1CTq6Kekp0QUTRInpMwJ2VSisVsPwui1j76gmaEmdPCbZedlWKrQ+84IrzuzN5A8D
	ztNxRNhN6gm7DcC5hNxZFfDdnyh2t+ByMXv9Gq5PL1ZvSpJyyVBnDDTEMXvekL8MVAqo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182547-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182547: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b1e558f6369fc85ae053e0c16ffcd600880fe78d
X-Osstest-Versions-That:
    ovmf=2c7fd32676272e22ed44fdfc8fa7e47f5c7a93b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 02:59:28 +0000

flight 182547 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182547/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b1e558f6369fc85ae053e0c16ffcd600880fe78d
baseline version:
 ovmf                 2c7fd32676272e22ed44fdfc8fa7e47f5c7a93b8

Last test of basis   182545  2023-08-28 20:43:06 Z    0 days
Testing same since   182547  2023-08-29 01:12:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Hongbin1 Zhang <hongbin1.zhang@intel.com>
  Zhang, Hongbin1 <Hongbin1.Zhang@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   2c7fd32676..b1e558f636  b1e558f6369fc85ae053e0c16ffcd600880fe78d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 03:52:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 03:52:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591926.924507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qapm7-0004EF-54; Tue, 29 Aug 2023 03:52:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591926.924507; Tue, 29 Aug 2023 03:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qapm7-0004E8-1F; Tue, 29 Aug 2023 03:52:19 +0000
Received: by outflank-mailman (input) for mailman id 591926;
 Tue, 29 Aug 2023 03:52: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 1qapm5-0004Dy-Lc; Tue, 29 Aug 2023 03:52: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 1qapm5-0005nH-ES; Tue, 29 Aug 2023 03:52: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 1qapm5-0007D6-1i; Tue, 29 Aug 2023 03:52:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qapm5-0002xz-17; Tue, 29 Aug 2023 03:52:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0Nv9kNkNnPKivYZ67mFKdbXmzgjMHS68DZAKc1QKJpY=; b=eba/NTNKjMUbPFHpoxJk/44XWz
	WB13IOYeXPNs7yeB8if0HY7aLhJXDoGAwHVheroSuAXOrzKgs7OVQsYNXzDg9Qp3EUFtWvZUho24N
	/G/yAntAS6j5VU760HfOc/MgfQyyl1xBkMKIK0H6a1my3GSus9KuTOo4um/e+iY45fQI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182543-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182543: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81
X-Osstest-Versions-That:
    qemuu=50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 03:52:17 +0000

flight 182543 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182543/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182520
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182520
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182520
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182520
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182520
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182520
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182520
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182520
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81
baseline version:
 qemuu                50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4

Last test of basis   182520  2023-08-25 17:40:15 Z    3 days
Testing same since   182543  2023-08-28 20:38:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ake Koomsin <ake@igel.co.jp>
  Alex BennĂ©e <alex.bennee@linaro.org>
  Anton Johansson <anjo@rev.ng>
  Helge Deller <deller@gmx.de>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Michael Tokarev <mjt@tls.msk.ru>
  Nicholas Piggin <npiggin@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Philippe Mathieu-DaudĂ© <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   50e7a40af3..f5fe7c17ac  f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:29:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591936.924516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasDT-0003ao-W5; Tue, 29 Aug 2023 06:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591936.924516; Tue, 29 Aug 2023 06: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 1qasDT-0003ah-TB; Tue, 29 Aug 2023 06:28:43 +0000
Received: by outflank-mailman (input) for mailman id 591936;
 Tue, 29 Aug 2023 06:28: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 1qasDS-0003aX-KH; Tue, 29 Aug 2023 06:28: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 1qasDS-0001aV-Ax; Tue, 29 Aug 2023 06:28: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 1qasDR-0007ST-Sc; Tue, 29 Aug 2023 06:28:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qasDR-0006p3-SC; Tue, 29 Aug 2023 06:28:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X5iIuh/TC0VLfwnpbpgXWaxAzwqtfE+iehRBQ+hFDwM=; b=hzPYckYVDubJHvRwsqyN+D9TfN
	QiEahrrjfv6hgmWmiMl/AGw9b7KEOwRE+HBQOM7Ivv7RJQeb/0wSIjjM2iWs/JVhKw1p2PES80vrZ
	FaHLXxAvsMo5LcG2W2x9hjfl/QQzNQPPIEl7M4mXzZSBN9jRx70V46CPneeAteCS6Cg0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182549-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182549: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a107fcb618934ae18f29660ecf066f3c49dd875f
X-Osstest-Versions-That:
    ovmf=b1e558f6369fc85ae053e0c16ffcd600880fe78d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 06:28:41 +0000

flight 182549 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182549/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a107fcb618934ae18f29660ecf066f3c49dd875f
baseline version:
 ovmf                 b1e558f6369fc85ae053e0c16ffcd600880fe78d

Last test of basis   182547  2023-08-29 01:12:23 Z    0 days
Testing same since   182549  2023-08-29 03:42:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   b1e558f636..a107fcb618  a107fcb618934ae18f29660ecf066f3c49dd875f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:29:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:29:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591943.924527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasEa-00046K-AA; Tue, 29 Aug 2023 06:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591943.924527; Tue, 29 Aug 2023 06:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasEa-00046B-7V; Tue, 29 Aug 2023 06:29:52 +0000
Received: by outflank-mailman (input) for mailman id 591943;
 Tue, 29 Aug 2023 06:29: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasEY-00042L-Il
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:29:50 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 745f11c5-4635-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:29:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7697.eurprd04.prod.outlook.com (2603:10a6:20b:2d6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 06:29:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:29: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: 745f11c5-4635-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BQh0AjqzR64mI68fpSefjqUyzMzZlbz4PeMU6x0VXgIvEr/gFV+7KwNi6dU0fJLbCEphoRooyZ8Z/UTq4YHpt5KmcIAH8Kh8lL98ywtS9qAWVA/3HEX/wThpvOwFQY/D5M+dCS4y8RdCH/wh57EAFDDGqy1JQJsy3lBo4KZR8OC1Mev5wVFg3tUgIQ2SxkTLMHO/FRvHGer9F2cBk7sfWR3yhJHhBlG3bGCn62SHt4ewKXvq/WLnB/tY6j++cfqBwbpAhFtuK3rmCeXa8YXPSqFCMHj7VgvNsNT4QVPvZkthG1pFH66RohX4Zo6RQ/BrYHp2CWIxx9hoV70KlHeibQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uDMUHLIZi7LA70SBB1bu7p2HfGxcljjTpJlz+eKfVgE=;
 b=mD0U1MbQ+tUDNZ6kMbc94iQWfSZwEYAJWAeWZ5j9xBXCxBOMbhhSxUHXD4vZwEgGZlznu7jd+QyJYPmWl/XUYqnCHmRkSi4P/zNfqeaF7LWs4PplqBBfLExYAfvuYSZJ6I/wEi6TdXaM8a1b3XHmTGnLE5RoIBgACqs29GZevm4OOs9gBwagALs/+dBwIWlDqkPmlU/qxsBMs11O8WJWw+Secr7LWjjvkpnvI/lbduin21WFpQYAuTZPt06n1KApyWdu2If61FMnsNQ6xkDW8asKZZEZxPL9eyWbKVWvk9N11otB7TX8eayxwyvOrtFy6hTSYOBsV+GY4qSZdzEgfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uDMUHLIZi7LA70SBB1bu7p2HfGxcljjTpJlz+eKfVgE=;
 b=1iWe6OTUk/GjfpZMCZBBlI5x36qQOelIyKHV1uyxhndJWTidAk1as+i/nTGxmDMy+JeO21Hhq1sZ5LRh9paL3GkhuGmXKwq6eHCqfg5cueNZaLVtbEsPY7Qsasm+IDi07AMTSQGXu4dNwID0Tn3/wAwAMvnfhbu2jSETEiSqpQZLC6gMtWL4uHqILrUXbAQSQU/FR+iUmwIwKt3xSSe5qbzHF32olSQYqWm5wl6/iDrgsUElY125+uHXp1y1c2wdWymJ38naoidD3IG9F60fWuHuf46pLpsmYuMRLgMFXTj7MgDUPagkJNzM3gpmFKIqX8YnDhQFCqVlzLxbiXQVYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <023829a9-28e1-0b85-b4ba-b1cd32964d28@suse.com>
Date: Tue, 29 Aug 2023 08:29:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v2] xen/hypercalls: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, roger.pau@citrix.com
References: <7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com>
 <694049ad-e259-6cdd-19a1-dc4b3c4a57d7@citrix.com>
 <95703b82-4e3d-9be4-63c0-adf16efa03d2@suse.com>
 <alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop>
 <a7c68b27-4ad7-175d-2c62-85a0f1246357@suse.com>
 <alpine.DEB.2.22.394.2308281440480.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308281440480.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7697:EE_
X-MS-Office365-Filtering-Correlation-Id: e7e36e79-8040-4d2b-25a4-08dba859573c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CRFCE53/FJ/Pl+3Rr92oQovfuAKRetYaLbq5EMu6o6mKbTCV3azD3hBW1OAfM5abH4fKoe9xTLCPz64ID/8XmqF6UsSpNr5+V/kqj79pLQTgOsGFC1FqWASlxo4L6rV++H9d6mZb+uToo2BT23+4DhC7L9A5trmwkFwkUl6VkpwlPoSpDU5GXMtL5ayfkgLNvZiawxfrjKOTe+hfFi44wntTkhCIj6vd3n3yWqcrBN2jikt3R7eyEQ8NZkNC6DhZ5Ykc+rsP1jLb3sjhmKlny2rhhFfwy5YFrvnIzny3K5BX7A9FqhMCNByZANlOtJ4WndHubv7IslwCoVIERBE5eMf8hIC12bP/veQk2Ng6Ek9avVhfexl7WbNaY8qGrM9wtB9Cmo++farlTYAFC4Kla5l1gMymqNetJGz8oZr3GV4D2drKnBpuBHUvxzD64lV2tnOZwc0A/7EfrGxDfvin2ANRa2rzs0737Ro3u4isAUlod3vOfF5+ulzi8ULEKQTe4VpVmFiNLw+tuLBDOQVNCF05h2S5bQHTEtfXQ0/KS1kNpy9G/a4LZPecI8IHwRbJddheppnatb7CPLM/+wZpj1nlVw0b/Swu+2s3WYgaSlvXIeWPoPNxedmPqHheJpaH8PDZ/8OwNIfgSeJYVxL9Bg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(346002)(396003)(376002)(136003)(1800799009)(451199024)(186009)(6512007)(38100700002)(316002)(6916009)(41300700001)(4326008)(2906002)(31696002)(86362001)(4744005)(2616005)(36756003)(26005)(5660300002)(8676002)(8936002)(6506007)(6486002)(66556008)(66476007)(54906003)(53546011)(66946007)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnBqTHBDY0ZZeUc1U3VhbWFnL3VpOXI4YXpYWUIzcUNJM3lWNWpobGJ6OW9X?=
 =?utf-8?B?WTdGKzh4N2ZnZVZJbWVYRStzVGxTSDNqS25ZWjVFNVJTTUxpNnFPYUFxZHdl?=
 =?utf-8?B?ZC9OS2ZXWDh4SHNHUlNKVlJYdDhPN09MWksrckZlM2VyOEhuZVpPU3lpbW5D?=
 =?utf-8?B?Ni9IbHB4RGxwMVdVVHVpQVZUV05wYURkRXViZ1FYNXgzYkJLTklNRlVaQ0ZQ?=
 =?utf-8?B?bHZacDlIUjg1RnpENndDcS9maThTTHA2ckVoYnRXankxdTNkM1ZHVUlUTTJV?=
 =?utf-8?B?c3kyVUJrSHVxeXJld3hVRzdXL2ZwT3hFNFRWanA1cCs1eVZ3TkdpTGErTjFx?=
 =?utf-8?B?SmNZMmNlYXR2YUUxYmZGd0Nwd3puQlVCSlI5VGFjMFVjTlpia0VzRnovY2Rt?=
 =?utf-8?B?UGNGcGN3ZVo0OXpuMHF5Sk5GaStnQmhZb1hpRVFuYUQ5VXh2dlViUWdZUHh3?=
 =?utf-8?B?OThQY2p6ckZCUjhqSTVtWlRLck05WWZuYlIrVDRRSmc2WVJMa0c5WjQvbmZC?=
 =?utf-8?B?UTdZYVFPeXVwVXpMRitNVHk3azN1ZFpRRVZ4ZWtqKytyM2ZJRitUckxNU3NN?=
 =?utf-8?B?d1JXakZ4TGoxZ2NJSHhGeVBDS0xJYWo3UzI5ckxPOWI0VWdwRXhPdjVjT0JF?=
 =?utf-8?B?N1luWVlkblltT053SEZUN1NFUDNJZXdMTUpHRnRPbTZ3MWRJMndRQnhiRkwy?=
 =?utf-8?B?TTB0ZjI2a0ZpVm1RNlBkL0wzMVY0RU95WXdYbEZrZ3pGQThPcFRzYTkzNCth?=
 =?utf-8?B?TlVtRUNpWmIvWXFBTnhWVWdpMXBrR2pLejBSN3llc2piR0hFU3VkYjN4eVRp?=
 =?utf-8?B?dE1MVWJ0NnFjNk5hc2swcUoveFpla00ySzhjQVZpUG1DUVpWanI5azNHYTJM?=
 =?utf-8?B?TXVUa2hOaDdHRnJpcTV2WVRJajJNQmZjWmtTbHNVVjVrT1RpVE53QWU1K2J1?=
 =?utf-8?B?SzIwUWI3T09nSjJEQ1dDSzRoZktUK3pLeXd4dHBDcUMzVkFKNnNwakNjUXZw?=
 =?utf-8?B?RTEzOHNWN2Q2RjR5blg5TEljZU1GMUpIYjNSTFdBejJ4Tjdwall1V2pJSDhD?=
 =?utf-8?B?dndJRVIxVEh4R3N4dlR3Yjd6UU9MV0NNL3BKMnl3Vk1zQjFVSVI0Ylg2SHd1?=
 =?utf-8?B?eTlqMEoyclY0Q096S0lDa3JWZU5JMExqU1FJS1lVK1A0bVVES1RZeEZBb3lZ?=
 =?utf-8?B?bC9EczZiYmJoeWtxWmYwTXg1WDBsK1RkVmR1cjdwU0Qvdjg1dmxnVkdrMTFT?=
 =?utf-8?B?dDBLTDNVb1F1VkN6aW50aE1qWW9JajR4TmhKMlVlZUNUZjFyZXFMQ0lKZmhs?=
 =?utf-8?B?SDgwYzNuZHZKVHBnTmI2RkordzZDSXMyQU5Mb3NBMUhRWnk3K0RudEtKaHdJ?=
 =?utf-8?B?c0p3MzdKQ0JKNlR6S2N0UElQWW5zUS82UTJqKzFkUkxWakNpRzFTYklBRnRM?=
 =?utf-8?B?ZFBrYVcxY2pXWlZLSTJvZWdzdzVGd0tGcC9DOWJKRWtiOUtIankvZjRZbE1v?=
 =?utf-8?B?WjVlZk50RmMrWEtaMU1DRnhMRVNnUXJLNVFOK3pjNWN5QzZYOHJIKzN2cUFw?=
 =?utf-8?B?S290c1hBaG1YcFp6MXBJOHNud3lsSlFjMlVUNlJsMVlSVllBdnV3NUdOSExy?=
 =?utf-8?B?VmpTcitlZGRCMUxFUTBPV0daK3hJRURyMHM0elVRUnQrSUsxdXNlaFNwU1Uv?=
 =?utf-8?B?MUxlYUdaODF1WXlhczI4d0hrNE5mNDJEa2tyUTBTT0NVbGpZbTdJYU1nRldq?=
 =?utf-8?B?RVB6a1YxWkVaNU8xY1lWZDdEWVNSOFJvVFFDRHNBRmZKMi96SkdCRGh5ZlRQ?=
 =?utf-8?B?RDNwdERnZ3BiMmFLcS9oZEdQWjNDVjZCaWEza2lmaytrNFVtMVdnMG00TWl2?=
 =?utf-8?B?dGxFaVQ3M1FvbWZBTXYrdzd4QWszWU94MjBvOUJrNEFKSnZuOGhJMWNxcTY0?=
 =?utf-8?B?UktJZDlpWVEwOTA5TFZrbm9vQkRUVU9BeDJxWlFpbVZVZjdjYlQ0ZDByQWFs?=
 =?utf-8?B?dWxpUjIwaTBSMkNXMXRpdXNYWVFvMGkyVlluTjAxbWlydGNwMGxma0oxWllV?=
 =?utf-8?B?ZTJKclgrT2Yvc1EvZklZT3RJaWNqUldVNi9yYW5WMzFXNWRVd2ZUZi8zK1Bo?=
 =?utf-8?Q?nWUXEMFk3oS+t8IScDn6Kh6kz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7e36e79-8040-4d2b-25a4-08dba859573c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:29:47.4567
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hkGorCjTAPDXw1vybr6wURWTpSyNI3XqxMYLZ0ASH9lPLNQ5Md/f0SBCyyQXuW8ekoFcTGVT/u8gV4BiNgW97w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7697

On 28.08.2023 23:52, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Jan Beulich wrote:
>> On 26.08.2023 00:21, Stefano Stabellini wrote:
>>> Coming to unsigned int, it should be 32-bit on all supported arches,
>>
>> But this isn't a requirement, even if we're using "unsigned int" in the
>> C declarations / definitions: If "unsigned int" was wider, all we'd
>> demand is that hypercall entry code (likely written in assembly anyway)
>> zero-extend incoming values suitably to fit whatever "unsigned int" is.
>> Which is no different to Andrew (aiui) suggesting to use "unsigned
>> long" instead: That'll too require suitable zero-extension up front.
> 
> What you wrote assumes that "unsigned int" can only be 32-bit or wider,
> such as 64-bit. However, I think that by the C standard there is no
> guarantee. For instance, it could be smaller, e.g. 16-bit.

Of course, but in Xen (just like e.g. Linux does) we inherently assume
sizeof(int) >= 4.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591950.924537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasIS-0005cX-SN; Tue, 29 Aug 2023 06:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591950.924537; Tue, 29 Aug 2023 06: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 1qasIS-0005cQ-P6; Tue, 29 Aug 2023 06:33:52 +0000
Received: by outflank-mailman (input) for mailman id 591950;
 Tue, 29 Aug 2023 06:33:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasIR-0005cI-Gt
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:33:51 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2049.outbound.protection.outlook.com [40.107.13.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03273229-4636-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 08:33:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7889.eurprd04.prod.outlook.com (2603:10a6:20b:24c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 06:33:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:33:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03273229-4636-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KU760dnonwk7a1wR64d4XX+lp8rTJ72GrssphIvH0IUNTAYt5Ehi8c/j34BdrDV64cyyXjLOvZAG3frdlJtQewXM3aGn0yfGmcDXhAPPvHrztNwVWSL/TRPxTZdQ2/QXDGLZjVUoTYIdt4LUDZ8ogeKjKXJeVid174Sjk6+0irYMfRCWDNY8XVYp3+uhmpNcdzAy6z6AmqR8E/532HGxxFTpHKoqWa8FcEtSZGd5G9cPvW4/trwaIDIWPaubGy1rcIMkgzbOdpwcJiy8i/88xZRmMhZ/GNk4LSZyR2naM6dBnxJOe89gJFRdWLSb5+qO4c4XJqSaAtu2G2+OcdNtPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wraxawlFXa4UDAs47ZVS3qMRmmEP8Nfh6c5M63BYFV0=;
 b=RDPAyuixwL6AiBSczfBLnVvvi1XO2AaxIolm0ChiXY83TStMwXJIUPZEe0r+mI39Ov5KikYvLyRwqEeOg2vDNEtU2NeCSntqfmXjENL6o2PGCVVcMAxHj4XFd38WJjFJM+5LJUw4YiotaDbgCZrPvnm3wWimaYrUHtOhKy/hJTrev3kVlpaUD0AJsJ8sHwaRusCh/y/j1X67FL9fRHCAqmBO0PCQNwecRQUW9KKPedM7ZqDTjkeGYo4Sx8ZQaX4JrNwgbtLvs5mniDg2eICN8uRkcC1s699hhsDT57S5kSD44R7jtD5amabz6grkNDHCpJnp9AvM5NmlYdlHJgfgug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wraxawlFXa4UDAs47ZVS3qMRmmEP8Nfh6c5M63BYFV0=;
 b=b2/8NX12hXwETGQJQUk/L95huPA/dvlZ/y2Gps3cZlQ/04oyZ8QlsDU98BzUJqPvf4UhAgwzJ/zgyJ1CwIN9+1WoVWCCcfBKFPEseasZCEI3CIZy41uQNed/1+26MQ4V+HslN3L9pdc+1vRX+LWHdIKYFogyTqs1iuwZyiedng2UVPOdR2pOwPnkkYFSAQhoXaNNrvv/Zecz1NxBWv7MrKnDewklbeJpcZbqwWnqnMRXEU3opI03ZaNTj9hDD6yvzAiKDUGj8B592pGPJ1EcJnugNY2pWoc9dm51XL71k2KLxvjFc3JJj2IYRNdogZDrx90OE/YBjLs7MvwpYR21xQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <25c0c12b-c851-d688-28c8-19eea756fef1@suse.com>
Date: Tue, 29 Aug 2023 08:33:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 01/13] misra: add deviation for headers that
 explicitly avoid guards
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0217.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7889:EE_
X-MS-Office365-Filtering-Correlation-Id: 30beff00-36df-4eee-8084-08dba859d5ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ACqEpfXZLKS91wx/xozKFJR0fUXlglF5Uh5qQ9KqkVEgfSPRifp7mNki+BNKpz+cPY6bhsa9hdxmWC4e1kQJPQkJ29MUeAKDhV8uGjwFu9Vt5AJOS72hlu/CfXMvJcriOQL0nsqKrqO7yYp+6aNPCpaO8/se5Ja+aCBXOEM7TxkqCR9+wLh6Le4tIsjpoKL3+yGPvwFpUQA/JUiVd8Wee8SajidiQ+jH1PZFkH4URLN6ShKWYERZZA1QBJZC/T0XalLyRcmE8Mzm6AR7m59mi7npwwdln4HOkTLDeNkQ+CPlYhk3ePOD74jwCUGqevCZ56WTG9+4JRTBCOJCDQalfwuCSX6nH4HKpbHAZmkqmZL7dVPyi4LnUeIKwyC4xqhug7hnGDHKLuGKuC4lr5fSmpJpVw9RKYcGIffo0Xg/vwqMZvL59JIjhO3SCQzdI7qyU84EoVUBtJqoLfUBq7AXWhulq0zAnoDIMzhWxad2qYJ4pulSWQtXbmyNfC4ywiLfLLFsX2RrwKhU/UHnwwWEQ3OIdC5/i4MGgeLq6LNIi7aFaGaWKhJHPlS2MO2EnxEhrV/RdFhSGJbM7rnua+Tfzqpd/aM0KMZdjG+VwYsJZvNWG1i8POGYM3gMuqkPvihVvub+hsKXSL7nmcXG9YVX5Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(136003)(39860400002)(376002)(1800799009)(186009)(451199024)(31686004)(6512007)(6506007)(6486002)(6666004)(36756003)(86362001)(38100700002)(31696002)(478600001)(83380400001)(4744005)(2906002)(26005)(53546011)(41300700001)(66476007)(66556008)(66946007)(8936002)(8676002)(4326008)(5660300002)(54906003)(2616005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVhSalZYekJqeWtybFp3R1VXZGRKN2FSTUVmNWE4SU8vZ1Q0SU1zOEVkak1h?=
 =?utf-8?B?TmlEQXk2ald6QUQxOEdzSU1XQURoTUlTQWtJdms2bjZKYTkxVWVnQUx0RkF0?=
 =?utf-8?B?ZUZSSk8yZWFtY1hoYXFQUkNON0o2S1IyU2lmcEc2K05XcjljYzljQ3pIR082?=
 =?utf-8?B?NHdFT3N6bXAxZnB3VzYzTDMvbnJ3V1hDRDIvMldQNlZ3S0h2UVVuZG9uM3B2?=
 =?utf-8?B?MWc5UVNia2thaEx2djZyRnM3NWRMQUZ4R3czTXhzc0p1bUdjaUVuaGp0OXZl?=
 =?utf-8?B?UzJFcHJ1ZmM3SHdxQWxqM3ZrU1NsRjUzdUlCa0ZtdVpKTjE5Q0pZSW9ubEhs?=
 =?utf-8?B?NWQzTlc1SFo3QS90UDJpRm1welIzK1RuYmFCK2Z0K2pwcC9vLzZMa3RIc3Vy?=
 =?utf-8?B?RlgvdVI0MjZ3azRaNzdGbW8zVmplbVd3VFFINEp1UEdwRUliZ2xiaUZGL3Nt?=
 =?utf-8?B?N01UOU9kMjNvUlVPUUEwZ3JRTlhTZ3NkUm45OTZxbGl6SVJ3Q055dUh1R3c0?=
 =?utf-8?B?bzExNmwzck9EQ3I1Ukp5SEEvd1M1Q0xJWDZ5MmlWTWd6Z1QreEJlbGtVZ0U0?=
 =?utf-8?B?ZmUwNjVFeUw3MUMrWVdXNTZRaDluRm9WV1RPNXlGQk5TQ0VsZnJVOEYxZjBl?=
 =?utf-8?B?U0luUVUzNjNGQlZmYS9HNWtZZFNJdlVrMmtnNk1NVEdSOHAwS09ZU2lZMTdh?=
 =?utf-8?B?QmtQZWhhL1RLQXFJdmd3SDRCcDV1SW80R0hMZS9PRUVPSzNqY2kzdnh0RHBK?=
 =?utf-8?B?NzM0eUxqTGNMc01OaWc3RWp3R3lVU0ptN3VQSTdZY1FrMDdDYm9UN1RvaG01?=
 =?utf-8?B?dTJpS0hGc01JRXMrZnF0Ny9LMFBkQW5SNzg2cmV1ZWR2SHlLR0FnZStPYTFU?=
 =?utf-8?B?dmY0R3dPdEROcDZUeTd3blRhcUx0OUVDS1E1YXNoNEhXcE9uc3BORjFBVzB5?=
 =?utf-8?B?YjVaNzU1WTFGTW12QWoxSndQRlpuZDdFWGVNbXN3amhvcEoreWpBU2xCSExh?=
 =?utf-8?B?ZWRjb1JFTzA0MEduTENZWHB3WkNsOWR2UTJac0dmTXEyTm9kRTRkQitZMGNS?=
 =?utf-8?B?U3o5b3ZNUjNldmV1Umt3VE1DaUxGb0FRcG1MaUQ4NGlQR29oMDJWTkRNYXlM?=
 =?utf-8?B?QmFHMk5UQkhmU2xkV1pjUU5MOFVXM3pwR092K09sTHIxV2xTb29KOEx5WWVk?=
 =?utf-8?B?cmw4U3J3UUNROWs1NFlZODQyWk1CSmp3czl1VlgxSTU0QnFveDJFZWwrNzJO?=
 =?utf-8?B?bnlabVZvMnhpZnNZUHFQbmlURHJyWVltaUFJK0c0aHVIbUhlRmdubllZUlpS?=
 =?utf-8?B?SVQ5Z3FRdEIvZVhaTlNjSmhKVHN0eUdxSisyZnhlRXU5NSttZmNMc2pVZDJC?=
 =?utf-8?B?MTdKQk1qNUpkelpoUTNyYWtLS3FtblZNbjBuRkdMb2lnSXFjd3dWNFJMN0lL?=
 =?utf-8?B?OTJtZlpmRTVGVTgxdUFrcUhudUt5T0p0S3JweGV3VCtQcWEvK0dzZFh5cGE0?=
 =?utf-8?B?RnZhdFBRdmV4K1AraHdwQy9Qa0dsNzc3dHlhQ0l0SytjL1NveG84L0pyeHlz?=
 =?utf-8?B?K1U3S2lsYnJsMlFFMXJNNXJvREVMSjliLzJGdytMbzRDbGZzRjZWUVNSMlJL?=
 =?utf-8?B?em1EZnk3Y3JzcVVyaUh0dStjZ0RpdlVGNmxtdHEzbThJVzJwNHB2Y1BBSDlB?=
 =?utf-8?B?Lzk2UWVyNXVWeUMxaFVlYWpiMEVJUHZ3bHMvZ1VlR3F4d0l5Q0Q1Rk40c2RH?=
 =?utf-8?B?VkNqL3BVcGE5Z1FWSi9nb1dxLzFlUGNDN201YWVheDVyUmh5WEVXSWxjYWRp?=
 =?utf-8?B?T2piMk9BVDZhZExpbHVzeE1wY0wxN1JUNnltNTVOdmkrbHVXVzRMekU5eEFo?=
 =?utf-8?B?Q29oUi9lTUxBd2N0L04xYmZTVytWb1Nxd1BHS2lCSFRVRGVGV3FPVll2MmR0?=
 =?utf-8?B?a3BaZUthNjM2T2pma1cvN1RodjJPSG5NdVJuQ1ZKRnJnYmFxRDd2eU4vcllF?=
 =?utf-8?B?NEZUb1NjMVUzSG8zQ3lGUW5TbVQvNEtya2k4cm90eUpYZXJNeWFQTWQwNDZR?=
 =?utf-8?B?TlpoMTQ4NGZzZnNRMFZ2S0ZtdGNJRm9ybUlVSzZqM1RKRUZVeEZoRXMzQndV?=
 =?utf-8?Q?K9dr8yElOzhFwiVrQaXT1iJvo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30beff00-36df-4eee-8084-08dba859d5ce
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:33:19.7207
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x4TNsRx7Ho9+vtaHcsRcrJ6DIHiLSrgGE33n+MKEY4U7j7x/ybR0Ah4twfrIw/OhqjfhICX4HoUmBVm8uqNGZg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7889

On 28.08.2023 15:19, Simone Ballarin wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -60,7 +60,8 @@ maintainers if you want to suggest a change.
>       - Precautions shall be taken in order to prevent the contents of a
>         header file being included more than once
>       - Files that are intended to be included more than once do not need to
> -       conform to the directive
> +       conform to the directive. Files that explicitly avoid inclusion guards
> +       under specific circumstances do not need to conform the directive.

Nit: There's a "to" missing near the end of the added sentence. Can likely
be taken care of while committing, since Stefano has already ack-ed this,
but I'd like to still raise the question of the utility of this statement:
How is one to know whether omission of guards is intentional?

Jan




From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:36:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591955.924547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasKb-0006At-7B; Tue, 29 Aug 2023 06:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591955.924547; Tue, 29 Aug 2023 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 1qasKb-0006Am-2m; Tue, 29 Aug 2023 06:36:05 +0000
Received: by outflank-mailman (input) for mailman id 591955;
 Tue, 29 Aug 2023 06:36: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasKZ-0006Ag-L9
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:36:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52a06b09-4636-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:36:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7889.eurprd04.prod.outlook.com (2603:10a6:20b:24c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 06:36:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:36:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52a06b09-4636-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lX4YFRZJo23K4kkwwoKYH4j1X2f6AxuTgw9/O4SCK/SFh1UnFnjKbvm8JjR1HegOB4hZSbonXLE70ZpyD1Lj0bYTKA5+j4nA+cezqkrW438A8ksE9G+CNMLF5ADhlWXgkRqqmiV7Nqi2DxOXBa4t7DeXoWIl6mCGjWjQoSjSeLQgKd+861G84lk3g9zxBh8a8UfxO897ESD7+1ow9aDiM17jL2AZu1NfagLvGmOcWUn65wRM3z/o1gc0nGtY/3AOW/lpGv2XnzJwxZVTzmraBtPmbr3BX+a4H1SGJV4mBdubU2pmp7EVTEKziPJbLbWXgbC9rEj+mGNBTO44v9J8GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zwy0CeFFkK58EQXVD1mrifDsiarmvJe0e6qsjXFu358=;
 b=V7RxHJ0xYDf5N3adGM0S0mcEln0s/ovWNto2/m/8XSt5JPke8PpmCBZxa7uqNXwr1iH/lNbvkjDH+qc4l57AZcqAh5otKR4HZdkWBJUCSz0CsYRzzN7aqq0BwhskmHfm59leiD3V03oecyGK8if1NY+FMfRxjqBcQIiUqHiH7lna4HWiA/aGhf0FqAu2rFWCxfZ+OT9byC9GuDAfD7WNfOEorJLQvGX7vp4W5aJYRaF+bKyu0xPg6SHEmE6H0522xyYvle7/Wv4XdgwM9gB+uUJXgW6pnwv7LdlvcuWX6dSBILrk/x9gjp5V4K4ME2WysjCszZe6cOeWOa9E+mCXxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zwy0CeFFkK58EQXVD1mrifDsiarmvJe0e6qsjXFu358=;
 b=ro35msB8nXx02x+3MkeGjzWyjXgYJnYtvMqQwp/duCSNk80ZTRkFIloOVrvW2AQHVThYoeZkDhZ0EzDTLq1FobDxP73yCLb+S7ze06dVZ1tKG3vO3XsZeXdZ+wTFlKkd0heHIvF7ei0CGteJsE1+5uWQS5IJ78K2r1jfqDYXetI+MiQZj2phPNjfNs/nmUhBcsjnKgCiSMrb0WqbNt8nMC2MPok5KBwXb+5JpSQBNjguHzyGfn2elY1+vmr8tUQgIdmMNhpUkQRay1RSjTMvSk3dTlurt8o4Nt43kxLwqiMeM78IwI8lFO3wy6gz3SiPzqtOiX6ViuRLqOo71L9jpQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6393217c-7583-71b5-5c90-0097091ef217@suse.com>
Date: Tue, 29 Aug 2023 08:35:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 02/13] automation/eclair: add text-based deviation for
 empty headers
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>,
 xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0233.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7889:EE_
X-MS-Office365-Filtering-Correlation-Id: f689da28-a12f-4920-d57a-08dba85a35e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/XfO3VKlPxkiw8/gjccjTlh6i+tzy/KA9DxqYqEcrc8d+h9fAA/BnIRkSMjiMK8mTEpuMFqWOjDLjFJx7DmoUy7fQrnu4M9doaZU4pJsC+Z2eah119g0phgiE1Udku9Uq/2N3h+e9PtF9LQ17D86EOdNrfz+vQZTC7lboQlCXBh5kgPD9LlL7c3cT8jkIUuhy+YFyElsVcuqj/mp4tZeT1oYa0Qf1lLKLSAIpTLMSyokVU342sjadzzuSEiiArW2epNr4qtN8Ca2EjV+BO/OVWBQJkqrjAuMOPXNPANSEhUyw/CxYyRLo10W2eRjZoQk27hr7dSX6tAQtVwu4ThYD01O2x0iKA1/4GntuOlgKidSufQiFoqjHDXUgmlx9ccCV6ctHhKnqVN6em5u4KpzS+043w+aNeGy7RKzu4mfoq/RbVXqGid82NsJuy57r07NNooqs/jwDH4kJBth0euCkTGpMuoRsagQn9vQtFSx9V0lXD1HCkb874fDA4z/WYKGm1cURINymNM0Bzeq6NSHpxQqnk80enWVOMrJNL2TzyY6qhSlT7s6/mCE+/88/NLTBeXC6ySI8YOkr/9Wl6/fOhrVuWz7cKY5eE60C43GJ9xWygeTddxNgSdXV7HbFoR4DBpGhqzMa25CDHHZ8NVRtQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(136003)(39860400002)(376002)(1800799009)(186009)(451199024)(31686004)(6512007)(6506007)(6486002)(6666004)(36756003)(86362001)(38100700002)(31696002)(478600001)(83380400001)(2906002)(26005)(53546011)(41300700001)(66476007)(66556008)(66946007)(8936002)(8676002)(4326008)(5660300002)(2616005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TU1zSzhReWVqTmJXRUkrY0Vacm9zUllHcXNmK25FZW0rZ04xek5NOCsyYUZo?=
 =?utf-8?B?Sk5nYXRMT2JyYk9TWUgzZm5ZMTBVRG8xSFZBWWhjdGtEdWRtS0JXYlFJSksv?=
 =?utf-8?B?d2RNdUdtMmFEV2VKakJqWU1GNjVSSldJM2pjQ2NBVFYydGJ1Z1ZNVHp3QlVG?=
 =?utf-8?B?dzg5WEdHN05icjBwVzBIN1psSklHYmlxallPNEMrd2NxYVZuS2tNN0l4Vmc0?=
 =?utf-8?B?aVE4eG1QRG1scEx3R0xxNVZYOUVzenc0dmlxZ3pvWDhyQ1NtKzhXRHV3ZGFL?=
 =?utf-8?B?Z1ZIOFVqK0FXcWJrMlBNVHNhc1BBU1dIQjlYUURibzhLSTNzZEFqcjZuZkpi?=
 =?utf-8?B?VTNTQlRzTkx0SlFobnVJTG1rYjljUW8rWGF4WXdPOHQ1eVQ2dHd5QmgzcEVl?=
 =?utf-8?B?USs5N3h4Mzg5K09acTlvQkhONEIvbkUxczJjM1lWRWxiTzQ4Z3hpZTVVR29G?=
 =?utf-8?B?bUVFMlNvaXdKSk0wdkg4M2VYQ3pwWTFnSFJNRjRIUWFTSGxDMkJnQWxKeTZm?=
 =?utf-8?B?S0JZTGZkODM5UGhJQUpYcDJOZnY0NEFtdzFYTC9lMUFnQTdVRmJkc0N2QVJJ?=
 =?utf-8?B?bVpFeEgveXFGbytPUUhFUjEya1lwQlBjV21lUVVzQTR5NU5iZjNjZ2Q5eFlj?=
 =?utf-8?B?ZEVhRmNpM2svRUpCQU0xUjBacGFVK1RBdHRUcFI3S09kNWhLQ0M5Z0QzQlhy?=
 =?utf-8?B?MVZCbDYvblRVUzFrb0YrTXhPelJDK2d4N2xaL0t5enpDbFg2L0l4R2tkL0RQ?=
 =?utf-8?B?MEd1aDNzczEzV3kvdC9VSk9zeEdLNmI1R0R5RVFDb2FLaUV3Sk9mbFc3bk9K?=
 =?utf-8?B?REY3a1hRd1N5M1RBbWIrT1BQQ2VtSTZtV3ZzU2F1cWFaS0xLSjZORkIwc0ps?=
 =?utf-8?B?K0J0ZU9OZStFSldYN016cXpYV3VTN09RcUpUSnlrbzNDQjJaUlp2bEJKWW15?=
 =?utf-8?B?VnhHS0xLeHA0Slk2U3l2TlRFK1d0SkJsTXBaV3hBU1lGS2JMTGVUa3hMTDFZ?=
 =?utf-8?B?WlpFWFFKOXlTZS9nUlB0eVl0ZlRLTXI4c0xGdmhNWHk2UDJmNkJBM1BaK2FJ?=
 =?utf-8?B?cWpQU2xwUVM0OWFqR2xhUDdjNHFuSU4rY04xcmZTMTVCRDVPQWxqdHNPQUtk?=
 =?utf-8?B?YVlJU2w5Tk1teGR2MlROQnNBb2dOZ1JwNm4yVGxiZkdzWUcyZktHNVdsYkl5?=
 =?utf-8?B?VkpVSnNhVnJ4MVA3eEQwM3NzK2FrZnZlSWM4RG03dEFmZzViSHhRd2l6MVVW?=
 =?utf-8?B?RGc2L0hxNzRiQllQejFMZHBVVGkyOFFtcm5wckNaUEE3K1lNdXZpSUN6bGdo?=
 =?utf-8?B?Mzc0c0NrSU9tb0Q2b21zWlJ6STlFNXMrYUswaTBseFdlR0YxeExKRENOTFky?=
 =?utf-8?B?bGxFVEp5WjRUNW16UWhpblQxZWhJZGhnRXRyODdta2JlRWgvNmloTHREajI1?=
 =?utf-8?B?bzZUVXZzNENiUVYrVmVJUzN1Qk9aZlpsU3M0YnlscCsydHRXN2JPZ0daY0Jk?=
 =?utf-8?B?NFdqejE4NmFYZGJLUlJ4SmlxUC9DK0QrcUprWnc1dW1WTFRjT1JWVHBLaDFM?=
 =?utf-8?B?WHpuOThOaCtZaTZRb0Rwb280enV2cmF3aUNZRDBsNmd1TW5iQXAybkpDTmZz?=
 =?utf-8?B?WHFzQzRBelVVNStHN1Y5ZkdWU05uZ3hLWW9XUWdrZkdMNlJ0UWp5YkdTK1ND?=
 =?utf-8?B?d3EyMTA4U3VleThwVytha1kyYTJWQ2JoOXV2b205dEdSOEdwQ2pXRFNvMXA4?=
 =?utf-8?B?OXRhejJHRWlTc21wbG9RcnZvVVBnS0hIc0ErdDNWVnBqaEFMNkhXZm93aDBB?=
 =?utf-8?B?cGNJQUVWSHE0WktDc0RhOWpaSUpwUlBuRldEOE15cEpZcHNrZSswTk16dDdj?=
 =?utf-8?B?bjVaK2luTm9LMFdPeG5pTWZ1SUVldzBJNERIWVFDeEFSL3pJZmM0WDlFMlBo?=
 =?utf-8?B?dC92QVlOSzdRd3U4RitZYTJzakxVbytQQU9MK3dmNWZyTU5FeEM3cFZ2RHJ6?=
 =?utf-8?B?elh1b29xMmVYYUF2dDE1eGRkZlFqcWZYZjV1d0I3a2NHTWtzNXowRmVpMkd1?=
 =?utf-8?B?c3JsUWZLQndoVUI2Ti8rZjR0TU9qbmcxdkcrT1ZjTzc0ZDl1ZkllUSs4V3o1?=
 =?utf-8?Q?0FQ31v7eD2huSwIjr3/O13dfI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f689da28-a12f-4920-d57a-08dba85a35e6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:36:00.9425
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t6YtWsBp/ymbuUW9UYS6v6ik5RKbr32CaRGImW4tWhTQjETOVcN/idyQnYgXAXCCpvUcHzZQjYlxXkHa1Klu+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7889

On 28.08.2023 15:19, Simone Ballarin wrote:
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -80,6 +80,7 @@ inline functions."
>  
>  -doc_begin="This header file is autogenerated or empty, therefore it poses no
>  risk if included more than once."

While unrelated to, the change at hand, I still have a question on this:
How come it is deemed universally safe to multi-include generated headers.
I would have said that whether that's safe depends on the nature of the
generated code in the header. Only truly empty ones are uniformly safe to
include any number of times.

Jan

> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* empty \\*/$, begin-1))"}
>  -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
>  -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
>  -config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:42:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591966.924557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasQM-0007pv-Ti; Tue, 29 Aug 2023 06:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591966.924557; Tue, 29 Aug 2023 06:42:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasQM-0007po-Q4; Tue, 29 Aug 2023 06:42:02 +0000
Received: by outflank-mailman (input) for mailman id 591966;
 Tue, 29 Aug 2023 06:42: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasQM-0007pi-8S
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:42:02 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2807c055-4637-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:42:00 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8265.eurprd04.prod.outlook.com (2603:10a6:10:24f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 06:41:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:41:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2807c055-4637-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dxlEwD9OwrssbY35I2k33g8FLVwCv8mXgv6nO3L70Z5PIenWcIKYvy9OJ/2ZX2AiUtCfBqC8CTpzwMx13nQwUzI17LZ2AncHcv8A6MF8XxNz6jj+1tGH+aHzIgnuCQnLXJ9rWn0aFfddfWZn1kcDFNa9w2uGw6dc16Sg2t8wGXgh+on2yT8LrCatrUI/FPa8Oj0Hy+9B8MHHHsxTay1DrUKBhFrY5c24FiPF0LK4vRYwiZ2eegBswghi1RKkU1IPM65BMCb3jwCm4dWVLYcUCR6lT/8ZJ6JLSEoz4xST/zp/pE3QSFBMuGzY+uvh8ReyyxvgtUtGeAxQoyIeEYApXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cdt52Zd0rhzcQIirpE8rCngyAlOaVmnPTk++CSVKb+0=;
 b=HPyETWeKwhUo1c+qd9VlYmXEFrs5tDstjsorLlTyk5e+bNtyq2NxZi0rRUF2Jtc+B+ElpC9B4crxf4Sz3uluV8TJ2sfEk1jDqiq7gEW+UnGfpQa44HVJXBqoNDsF++oXYP4tyK2CQdOgmGgi29Vf6Iz7PTjCt6RV0FGYJh+vDJyCdyoeaojkXaZws2ZN/GVqcyWxyeJxaJ85tTjyG3bYF+9/d9gsS7ZZAQRuU3Ve1f/2SajJjTUqIz4lJbvOzFpthX6AFjE708P3pK5zSq/5t8Ba1L5Jb5Drq1+5d8PSd0B0oDaNwgA6zb6brD04spD+hH/jFJXdCJWYPsF/Li/txg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cdt52Zd0rhzcQIirpE8rCngyAlOaVmnPTk++CSVKb+0=;
 b=ZPFkeSNPAjAolKDf2r8iK+J4E0iCa73+xvthHIGXCdGe1a6yWA5ksHhq22NSLLXlI/QYncqHfaSzjzzPvrAkCcVk0vT69kgMVgxQC1Ej5eMkvBCMKqNn2C64FiqRTRA40TjhslYDKwtLDNFX0H9j8Go7IXzvuRWEeIfsiKRLwLEKseFqh/iNRPxk5vhjXbcaIC4hMW0CGUO0OrcizIS/UX2WtqLg44WFABot5MAVV2lmPUOy0yFL7dfDxx2Pt2r/kyssaDqg/z9lfv+ge9SFYP4hDLtVmpy6hkuX7ww8Rc2y0BonUzsvfYqcTRPLFk03Ncn2zrVJEWWUtyy59hvysg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5e99d32a-d31f-d96e-fb6f-e1e459073071@suse.com>
Date: Tue, 29 Aug 2023 08:41:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 05/13] automation/eclair: add deviation for usercopy.c
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 nicola.vetrini@bugseng.com, Bertrand.Marquis@arm.com, Luca.Fancellu@arm.com,
 michal.orzel@amd.com
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8265:EE_
X-MS-Office365-Filtering-Correlation-Id: 07be19fe-3f8b-4efa-9a2a-08dba85b0b3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZRb0uTXhQ7kgpv0Kua7ODTZzaAgf3g7NiGJK8ZGCpC3E5sGYUqY7PauHXGaiFW4qGm/vRifl4sXHt5V0DhiukGDpfTvNE8McoIduD8XSoOTlVMSCQzc4VU5YA/fL05q7QAGYONUJaFTMNVZkLS43tpGDf/dP4iptNqE15wqE1wfsecKMQr5u9xZ1l35EmSlZ+01HRcEF/Nx4ac0aa+Tcp73dei/FGm4bD2HSgLLNbDDRZ8TwYbpOpDfhbw1UpqfFOyO7ignLKHif9MQ7JQhJ7WbpxIz9ZTKwGm48xGSX/RGNVTco1jBjiWveLPXvMBC4rNC72D1i0jzwtEu//a8Zd5OGCJE5Bgy9oGEbFXnzkiu/l23v2IiZ6SJbnQ5+5+b5uu6oHWWocQsGPfc/hJUqdf5d+Ag94L9X93zDrGo4K0ng2tB1YqFqkQJg8g3lyfH5aFhl9Yy6bxXlLAvB2nXDkqRwKU2XBRG5hvB4+SD8piutk+fLJ44AVkAnARnZ1WJLYR8jGY3aoc+aJvFIXohM0L4QKHA+2fvt0bRgyC+VvLYUxFu2hBUFDfX6frivND1RBUjW5vt1EecmM7VK+2BRsyLb85wKwgdpx1r2cwSvMfh7up2XbXa2Rh7uLsxK6qSoaozKr6k4HljAoWIf7hx5YA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(376002)(39860400002)(366004)(1800799009)(186009)(451199024)(478600001)(83380400001)(26005)(31686004)(2616005)(6486002)(110136005)(53546011)(6506007)(6512007)(31696002)(86362001)(2906002)(7416002)(316002)(66476007)(38100700002)(8676002)(4326008)(5660300002)(41300700001)(66946007)(8936002)(36756003)(54906003)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEk4Qk9QeXRPY2FrZ1k3T1lYdWw3RFRSdVBsZEhWQ013RW5OdzVYWUVIUVcv?=
 =?utf-8?B?ZkgzK25ZSEFLMzEzNUdjeExtNnQrQmRqWUFna1d0b00wc2xHUXBoMWkvL3pM?=
 =?utf-8?B?SEQxR25RbEJmeDBCWlFidlY4UEJqNnU4ZjMyN3ptOXprNTBUeDQyL0hYeVk1?=
 =?utf-8?B?OTFKUjN2OUhvQnRGcS83MlZSNmFwWE8xTmtQTjZnMk9udmh5Z0c1UzBoZk8x?=
 =?utf-8?B?Z2RFSk9ubllqcmRIM3NIOEU3b0dnTUgwUUNJS0FGeU4yUncvUHdFN2xLdDJQ?=
 =?utf-8?B?SThCelB4dys2ekdDWWVGQzFNN0o2QjU5RXZ6bzBpY0U2ZjVPQnRRTXRIR3N0?=
 =?utf-8?B?SUQ1UnR0Z2JCQjdTUXZFY1MrNlhINDJ1a2ZjWDR4bmsxRUdQajZRWXpCUVJM?=
 =?utf-8?B?MUVKSElqZmdqanF1VTJ1b0ZUSDZrRGZUVjlOVDF0NCtYZ0hwNS9lZGN2VWEw?=
 =?utf-8?B?ZTZucHFKcWUxNnFnUmg2ZjBuQjRjZ2htNys0OEhTUFhpNFZHeDR2L3UvSFdx?=
 =?utf-8?B?QUpQbHF5T2ZiT0Q3SVhvSzZ2b3JvOTZ0Y25mcUJOMUwrRThid1VyMHBvOWdX?=
 =?utf-8?B?Nkg0T1ZhaTVOQ25uYzJ3Ym9ROGZPbjYvSjIxZEVtMFF0a1VRS2xqQU1hblp6?=
 =?utf-8?B?U1J0aS9VR3RrTGd0SGV6NS9MSEtYZnlNVTB5bFNFdmw0cnUyTkFTNlVCVDVP?=
 =?utf-8?B?SW5nR2lIaFBrb3BoOGlWL25EclNsSFJLNGZaYVZXTE56ZENSLzlIb043aW9m?=
 =?utf-8?B?OG03cW9ZaTc1c3pEeTFxWUc2U2pEbHhMM3BJQ2RTUzJCN0svSDQ2TnVrUWVV?=
 =?utf-8?B?ZUtOY3hQbTlNS252bTcrMjNKNTBpU0Jha3gxY0FXL3FVWG55aXE2Ly9ZdU1p?=
 =?utf-8?B?emw4S0R5UGc4ejAyVUFKc0kwVG54T0NrQUREMjAza3R4cmtOcWE3VEFXSGpp?=
 =?utf-8?B?cmgxcDZLd1JpUDZGMFRtOUUraWhzRFFJMG9tV0hkVy9hRnhEWExIM0VidUdW?=
 =?utf-8?B?TUxXWFNOTU5mUmVTaW9haE94dGI1dlphR3g3Z1p2cG0rbkpQL2MxOEtRVlpE?=
 =?utf-8?B?NEZRaWZjRU5xbm1NbWd6U1BhTHd2LzBqeVhDbmRpVU5WRmhvZFVLQUlrMGNH?=
 =?utf-8?B?TDg2Y2RhbGxCR1B0dEZMdi91OWgveHhDS25wR0doVjBhbDArNFNEaEgzNmkz?=
 =?utf-8?B?V0Y1bHpTaWwycU41WExIY2h0UHAydGVRQXFqV1FUR0o4NzM1T05iMEZvT1Rp?=
 =?utf-8?B?Y1BpdWxFSFNGaGhaVzdUM3lSdjVFcTgwU1huRjg4NFYzZ0RQQXNKcWxBM29v?=
 =?utf-8?B?cndXSlRVYjdBdFdaRytMVWRrdk9zTktjeDFhanc3eTVZL2FaM1ltZGN2S2JH?=
 =?utf-8?B?elZXQzc1T2NVYmxKUmcyUjZtbFBaZmxaeTVPVXdXVXZPZTFvN09kK1hOU3Vw?=
 =?utf-8?B?Rk12Vlk2SDdid3lxd1FoRWhHaVROeU9oUGZORlYybjU3TDFyMmVsZWthcExM?=
 =?utf-8?B?cXdxQlZvZVBFenViRnFNZ2xvdnBqUkxFUUpwN3Rxa09sZzFXSWJTTG5HWno0?=
 =?utf-8?B?L0E0UXJZdXVhMWcrcmEwdjJzclo4ZFBVNlNqY24xMHVsUkZIQ2NJNWhFdmtV?=
 =?utf-8?B?MFVWcC9FSExPTUtsV1VXWkVuNUwrK285LzNwZElTN3RER1hrUWNhVlNuTXBx?=
 =?utf-8?B?OC9uaUdRajlCNE9IZkVuSHdQWWFPN3lpQnZQMlFjSzdDNFNRZ3N2Q2ZudHNn?=
 =?utf-8?B?cHdOZG80TVJXRS9hYmE1SzdRbnVPRXlvWUdySzhMNUhGQ0lBYUVpcjEzQnJa?=
 =?utf-8?B?aDJYaXpGeUFyNHdtZ3VxMFE5S3NDdFBaMWZXL3B4c296S2l0YnJVbzNFSkp6?=
 =?utf-8?B?ZzVTVlpSMXVmVzNyUkxDcWluNURVNVgvTWlTM0dzYnc4UE5temJTQWR2c1dU?=
 =?utf-8?B?RU1rYnFCM2NBSHpRcyswdzZrREJzbHVlRkJrSHN0aU9mZ25CS3lPNWpDTFFK?=
 =?utf-8?B?MlRXR0NmNlFSSGFGV0ErQ0w1RElqVGJSS1FpWCtzMHUvNjBGY09rQ2VoUUlW?=
 =?utf-8?B?WkdtQmQvdU9jeEpQQXg5Z2xqemVoaW5VK2g5djZwRmk0VHFka2pIZnNUd2Iy?=
 =?utf-8?Q?xVebLHf09k42wWWBmWfDD7S6q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07be19fe-3f8b-4efa-9a2a-08dba85b0b3a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:41:58.8303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bP1fZnSVKZExhhuUupsCH3rB/A0986gtZvwA575HyWMFin2uzStvPNG6Ds49Rby66gdFOMHV6fAHv4r/xDYW1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8265

On 29.08.2023 00:27, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -96,6 +96,10 @@ conform to the directive."
>>  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
>>  -doc_end
>>  
>> +-doc_begin="xen/arch/x86/usercopy.c includes itself: it is not supposed to comply with the directive"
>> +-config=MC3R1.D4.10,reports+={deliberate, "all_area(all_loc(file("^xen/arch/x86/usercopy\\.c$")))"}
>> +-doc_end
>> +
>>  #
>>  # Series 5.
>>  #
>> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
>> index 4b1a7b02b6..45e13d0302 100644
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -62,6 +62,8 @@ maintainers if you want to suggest a change.
>>       - Files that are intended to be included more than once do not need to
>>         conform to the directive. Files that explicitly avoid inclusion guards
>>         under specific circumstances do not need to conform the directive.
>> +       xen/arch/x86/usercopy.c includes itself: it is not supposed to comply
>> +       with the directive.
> 
> 
> We need to find a consistent way to document this kind of deviations in
> a non-ECLAIR specific way, without adding the complete list of
> deviations to rules.rst.

+1

Especially rules.rst should not be modified to add mention of individual
exceptions. That's simply not the purpose of the file, at least the way
I understand it.

> Can we use safe.json and add an in-code comment at the top of
> usercopy.c? E.g.:

Right, this ought to be the was to go. Question is whether ...

> diff --git a/xen/arch/x86/usercopy.c b/xen/arch/x86/usercopy.c
> index b8c2d1cc0b..8bb591f472 100644
> --- a/xen/arch/x86/usercopy.c
> +++ b/xen/arch/x86/usercopy.c
> @@ -1,3 +1,4 @@
> +/* SAF-1-safe */

... this (or any other) placement of the comment will actually do (not
just for Eclair).

Jan

>  /* 
>   * User address space access functions.
>   *
> 
> Otherwise, maybe we should extend safe.json to also have an extra field
> with a list of paths. For instance see "files" below:
> 
> {
>     "version": "1.0",
>     "content": [
>         {
>             "id": "SAF-0-safe",
>             "analyser": {
>                 "eclair": "MC3R1.R8.6",
>                 "coverity": "misra_c_2012_rule_8_6_violation"
>             },
>             "name": "Rule 8.6: linker script defined symbols",
>             "text": "It is safe to declare this symbol because it is defined in the linker script."
>         },
>         {
>             "id": "SAF-1-safe",
>             "analyser": {
>                 "eclair": "MC3R1.D4.10"
>             },
>             "name": "Dir 4.10: files that include themselves",
>             "text": "Files purposely written to include themselves are not supposed to comply with D4.10.",
>             "files": ["xen/arch/x86/usercopy.c"]
>         },
>         {
>             "id": "SAF-2-safe",
>             "analyser": {},
>             "name": "Sentinel",
>             "text": "Next ID to be used"
>         }
>     ]
> }



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591972.924567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasSo-0008Qg-Ad; Tue, 29 Aug 2023 06:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591972.924567; Tue, 29 Aug 2023 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 1qasSo-0008QZ-79; Tue, 29 Aug 2023 06:44:34 +0000
Received: by outflank-mailman (input) for mailman id 591972;
 Tue, 29 Aug 2023 06:44: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasSn-0008QT-7F
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:44:33 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82261b71-4637-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:44:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7842.eurprd04.prod.outlook.com (2603:10a6:20b:245::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 06:44:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:44:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82261b71-4637-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jFNPNQWgWgC7EAy7Zq+JsymZv0747c/d+dsiRH6fZp4PxNSqTgRQ49EgBBVPsrP1jly1kGWMV8LstVexsERHix9dwBCQj+d3RvgXa/6SnQWwKsFYs97mydmqVXBxnO2oK1uB2wiEFU0VdXpNLHAdpiBuRiEBLY8Y5MdNE9Dvbgc+c3JHOBinCv9YEf98YoMGLc8ti5e1Unz6IHImSTg5oeuzweOc3yKEGCJ2rV2JIo1MveoT/Ru0enLqrHsVpXkOdcTzp392Pdo36EB5M4+Swzq0k0IMkZylRecYjqrqawfJrMz6mirFYQTfPS9AebMhRTVT+uL8hQKkyUiYNUd7TQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H2ZEcTED2Ldw3ZssioWW5/zSqPkYhoAKgh/r7FVTK0o=;
 b=brWWLv0IkUbj1gyeskQS8Pr8+Afbvobc4yIrCIcPb+HzfYQjBov5Cq1w4Qqo0E0oAfppkkEViCd009Dy+/OhW2X48VOwaUyMqUGPUwI/2W1ShJfSSw6aACzwa8RBmveRybYJzsXqbpvfXTfaQFy5VYL5KkiT/QqjhByFvNrN3x5IO52AlSuNGjxqKoKbaj2FHa69ilRKpyI5xckMQcv5P0T5przLgs52AFuAr2zyfDIX3j6cp2GLfSDmcapOw8ttn3+aMrBaIHh/sCWc9MG2EPiHZFgOpAPUHscJTO5jPL0VFezCt8rGeqnAuzagUeomG2Ws8kYsmMwGAin3D/DjAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H2ZEcTED2Ldw3ZssioWW5/zSqPkYhoAKgh/r7FVTK0o=;
 b=f9DK8ae6NQmT/gvIcWP/gCMbD3ilNNLhYJhFB2Fh7oCkArxMzeD1xcDmhR5KbfCP/l9iRzrBvQ+Mju/q8KbBidVAcsfaocOPphuTTO+gQzn9z7FlN7StRLED7QHuKo25Tr7zbaLXO6lUNbHxvO2PcUUz/TQLC2HudSTILKR2p9s5JpL6GTkCC0ipSS4xhIPwMv3WIrZB9HbTQEWxY5KIkLEljhJxpF/168AvSgTy1qVnBW7NR/dbwfEZ+rMJe2UIw08edsAx2AmEzzB7fSQ1FVI6al82mT/zrw6wpGMUa+WHvjNJqe6fWApuDYf3+f7ccl0ByhaM6bXaM1L6KuySVA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6ea4b89e-bdcd-3940-7e34-c0cf1843e941@suse.com>
Date: Tue, 29 Aug 2023 08:44:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 07/13] x86/asm: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7842:EE_
X-MS-Office365-Filtering-Correlation-Id: 09e798ac-2702-4574-6bfd-08dba85b6532
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JmBhjBDy4A1ikPUj7K5jgIJ4CcIGSdj6jClZEX6RrAWw2QhfcRl5wqPNrvR6APblLV8L3xwWUfpru9v0+MnurJwer5tfqDkoIrfmoc4RIlcjcaF3H8g6mM/Q6aHMgICA1qjhQnXJviVWoWUt3sEN3rUS1d48FtMm9wGbYcEHDdJLnjO83AN1gBR3cedZdwnDuor3hymYin+vtWyveC8xpc20Yq+RAulAULQiNbEBP22X8eNdjqKG6lQ7Eho9Gs8dArklghJY6La6JUMCOL11j4T7cKzVHEoHRvHGYBRX4WwN4AmiVP5rCUkV/lL3QU/t7LjD9FpE/u8hvujggJ9TUTzC9Moc9APjrMXqGMjM/1m8i5EgOdgCn9A+FPDHd2ZtHYjtzY5IUzaV4/4undqAih9FRR8/eor7R4Qy5GVQTPmKNl1CBR50QwIIbV2xhYT8IKoIirl/Y9vVN9A9v9+08SZinqMb6BgwncLRwTSBRrhgXCzyeJ2fLPUZVM6lgExIv5O1gPPHYYzhpTBeJanqXvcNf+m+LHYltDfZeUb3ewjCW0iayrtoILkP82u8pVUm2F5zmLvw/4gRmTieS7VO8xSx6LvCAruhFKg7yGp9YC0t84QSXGkAISpsvEn5YFkilMntTAaxGEWAoaABDll2UQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(346002)(396003)(136003)(366004)(186009)(451199024)(1800799009)(6512007)(6506007)(6486002)(53546011)(478600001)(4744005)(26005)(2906002)(2616005)(316002)(6916009)(54906003)(41300700001)(66476007)(66946007)(66556008)(8936002)(5660300002)(8676002)(4326008)(36756003)(38100700002)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXB3RjUwQTNPZzhSK0lvVDVHUlNXTWNkWDRrL01UK1JzMnBrRTRWR3hjYnd4?=
 =?utf-8?B?L2hUdElJY2J0b3E4eDByeWIvK3VGN05xU1RCQ3FZZkQrUUVhY2wwWmtHQnht?=
 =?utf-8?B?ak4yVUJCSm8xVGJlZXZDRFJQRGtHNUhyUEhqQU1SckNISXRQTzhNMWxIVVBr?=
 =?utf-8?B?RGlLVHEyNVQzWmVNT3p6K3pGY3B1YWk4Vk5BMmtJU3VJeFhQNzNkZmo3dkdT?=
 =?utf-8?B?cVFqSFVqMUVjVGx1QjR3c3ltZXBCeG5YWGlMWXc0MFl0Mk5ja1ZsaXl4Y2k0?=
 =?utf-8?B?ZTlHa3hYcEo1SXcrV0dpSXl0YWw5WExYZUhrWjhaZjBjc012ZEN6ZGJOYVdk?=
 =?utf-8?B?czJSYlNUUnRWNXl6RUdGazRWNk5xR0tOQmFnRUxBcUFESlF6b3BuSGdkZnBL?=
 =?utf-8?B?SVpWZnJsdjl2Y09yZ3pnSWVTZWE3ME1MU2Uyc1g3WlVKTStKQlhwZUFOajNq?=
 =?utf-8?B?TWZPVDcxSy9TazhPQ2pYRUhIbUViQW5ub1oxSGVDekNRM3FURTlxWVFuK1BB?=
 =?utf-8?B?S2dBZEcrZU5Fc3FManhWZGtLZ2Zmb2dMemVid3pBa0FFQ3JNRE5ENkp1cHFH?=
 =?utf-8?B?VUpTOExnc2tqcmUwV0x0NTRaMzJWN3FhVC9VTWVXZGt2L2hLV1F4cUExY1A5?=
 =?utf-8?B?dkJCcDJMQjNRZHdRYUFBcTZIZlhSN0JqSWRDb1JhUitIZ04yL0poV0FyeHN1?=
 =?utf-8?B?QS9UM0FrU3MvcTNhRytMaGZIM1ppMHJkT0JWWE9DZThEb3lVaWJYd01xVytE?=
 =?utf-8?B?MjFNc0hxQisrRTVEaGVRVXVYMUFiWVovbXBZTGdLeGsxRnJrakhZeXFUK2xu?=
 =?utf-8?B?KzIrcnhnNEdSaGZKb2pDbm52WlNRZUZZYUJEcUd3Z2NoSm54SXNRZldZNTVm?=
 =?utf-8?B?c2Z4alpqNkRLWDdUK2owY1IzZXV4OVdpQ3B2Z3MyYzNnenNlZFZqM2l0bzNI?=
 =?utf-8?B?dVRCcUlPWU04U2RkN3gyNFM4SWZsL0wxcWp4S1lPaDZCWWJPNnc0d0hjSm5S?=
 =?utf-8?B?TUx1U1l0cmVEMDJ4ZWNWbmpUR1hjUXkvam1tQi9KcjVldG4rNWxKMWtqM0dh?=
 =?utf-8?B?ZVVLL20vVENNL00vWWJHYmVtcGduaDV6VTFZcXJCblZqTnROaGRrYkYyWHpI?=
 =?utf-8?B?V3NCcXIzYWM0cEhnQTZMam1wdlRDK0tSemIyT28ydnhScVBVR1h4ZTJDdC83?=
 =?utf-8?B?dWthblJxMGZjY2htcVRmMGlVMXI5TW13RDRrUGc1amxGdDRMVEpyajdGV3BZ?=
 =?utf-8?B?V1VmL1FkWElMZUxvd3Faai9LTDhWcjkzV1FGZzBRTjlLK050ZUNEei9Tc2hQ?=
 =?utf-8?B?TU5VNFVsa1JRR2ZQTktMaDg5cm5MbmhUVmV2dm9VeGptT1grRVpXVGU2TVlB?=
 =?utf-8?B?aG9XZkZINkIxQUZqR1QyanljZ0pXSWR2cC91ZW9NL0l3MGJjRzZkejMwcFVy?=
 =?utf-8?B?SklidDVuMTRBdXVzYnM5RkRRWGdMbldBQUdvZm84a1YzYXBkdVB2MnJ0eTlk?=
 =?utf-8?B?WjhoUU4veXZNVHV5VjRTZVI5QVY0WUdKbTlMOUh6dXErUnZ0bGJMOXJscE1j?=
 =?utf-8?B?RVhUT2VZV2ZUMXdZWTFkRkR1cXpURXlXK2d1V3BjamY0MDIwTTR1S0JvVlBN?=
 =?utf-8?B?ZlpNZVJUNXZ3TS92UDFqTjZkTlNKalZ2UTZraHQ1aXh5Tlg4aEx0RHQ0VDM5?=
 =?utf-8?B?ZEg4Q1k4WGVhMUlSa3ZzTnNseDNVamN6NlJOSE5XaUVVKzQ0U2ttaDMvNk1W?=
 =?utf-8?B?UjF1ZThLUEMxMkY2amRxdUtmSmZad0cwL3FJUXladi9hM2xUblp6aEg4dkR5?=
 =?utf-8?B?ZUtIN3dQRm9FOTBZREtaNnR5MG9QejZsc3pZQStNQnZNU1RsV3diNytBMkNr?=
 =?utf-8?B?YjYwQllkUmwxYzduWk9ONGNvTkxGc1lZb3BXRWpjbG01OEtSUkppNmxTMFQ1?=
 =?utf-8?B?RE5XL0ZleDN4VFA5NmV2ZFYvc2R2NjhwYzBOc0RUZGtTbXBMTllQdVJoMklk?=
 =?utf-8?B?VCsxaCtSQW1TMGtvNDZqVmhuNU9JZkluUXdkYWorMDVWVE5LZitxdG95YTNV?=
 =?utf-8?B?MHRaakdOaS9uSyswMkxWSnZlL3pBTGd1a2V0eHQvQ3RCbUdNWXNPdDV2bzd4?=
 =?utf-8?Q?m3vYKkeVri4ock5sLy8iqeG/6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09e798ac-2702-4574-6bfd-08dba85b6532
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:44:29.8233
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9oktrBfb/HAgIvEu7bFeP1BKeMAi7VdYccdHYCZuMwwThEFPzU0gNzZxE2csXp6ZHJm/XoMQUv2prDnD5MiUqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7842

On 28.08.2023 15:20, Simone Ballarin wrote:
> --- a/xen/arch/x86/include/asm/hypercall.h
> +++ b/xen/arch/x86/include/asm/hypercall.h
> @@ -2,13 +2,13 @@
>   * asm-x86/hypercall.h
>   */
>  
> +#ifndef __ASM_X86_HYPERCALL_H__
> +#define __ASM_X86_HYPERCALL_H__
> +
>  #ifndef __XEN_HYPERCALL_H__
>  #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
>  #endif
>  
> -#ifndef __ASM_X86_HYPERCALL_H__
> -#define __ASM_X86_HYPERCALL_H__
> -
>  #include <xen/types.h>
>  #include <public/physdev.h>
>  #include <public/event_channel.h>

See Julien's comment on the similar Arm change.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:47:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591979.924577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasVr-0000aG-P4; Tue, 29 Aug 2023 06:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591979.924577; Tue, 29 Aug 2023 06: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 1qasVr-0000a9-LF; Tue, 29 Aug 2023 06:47:43 +0000
Received: by outflank-mailman (input) for mailman id 591979;
 Tue, 29 Aug 2023 06:47:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasVq-0000a3-JN
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:47:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2fce623-4637-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:47:41 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6988.eurprd04.prod.outlook.com (2603:10a6:10:117::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 29 Aug
 2023 06:47:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:47: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: f2fce623-4637-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B7WPv+eHJMgIPXrI/c6DpcgmPN6q0liLsVltnbw6A+OYisNYMyyS1ih8XRJW8Y8E3kth/SVAMZU/qKl8SbHz/nd2rO8xJShwUu8giBA9Wxf5mAKdAq7WYpRE5FSEaWs9ZMdjjQLFi7KTg1z60ZCnqsqEL8ZqP1tTVV6/fLL6qBxhWnxJptRI/saWmaJa62gFLGqZV6pRynX6rVL7XGiMzIC3xL3wrov740EBp8ETvbXJgJMBnHmpnUPjVgYXKHDpgiIJ5f9QvwAKUGLexG/IrOJ0yKP4Am/8/SSqi87xkUqVKHWPHgLHYVpRgK5CF6bnxhWYDKCJ575mfm898P+Vcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/1484RxhoZ5LqDBRVE/YfSqI/+t8It9Ms1UanNFR42I=;
 b=QpD0er0ZBhlCN3y3fX56JbqQmQMArGv0OVizWTbLAaQbRxOSXisDxXPOIm0qJUZtC3BWkI1BF1U1Dh+baelvoe+TUmflLlR4HOoJJ7a6wkBbM9dm7rM6vbZscvXysKZKz4CyFVfno5pYQ58gBvYKTSTFUQE6/8Gn0ArmCu6TWwFwnVyp9K/87vAy1lN5qyNMUh/H5a00refM1nId/q+cncfFa/41su46dsAjz07jcahE77E00f7UWR1Cdu2h3JRo3a5Hi/SfAQg58wepi6wjeENR9VLgOQ85SgQoAEf8/SOWmRB7hzUBNLnqCCpTaTpXyl3UoJ8x/sHfWxQ5qfXUlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/1484RxhoZ5LqDBRVE/YfSqI/+t8It9Ms1UanNFR42I=;
 b=yddUaDpys+hYRv8Q1iMKcgTD7N/yqpOJIVVSOloaJQVQ6K7D2y8WYwXt+WW0QsAPItKoufJiq6esTXCy1Manl32d9CQu6ge55uwt1di/HwUoLYZK8VAmbmg6k7BMPNBF0UfIpIe8sjQgKWPHeNpxrWqYKfqEDBZimn12j6rcgjSzqj8OuQ+xnS7Lz5563pvJPfsmJO6UdStnPBs4qD7RJIDT6HlggDeUEJ8O+v1URrYA6Ja5rT9uvAFqtmaSuJw+8hqf7J6cciaejPILErMDfgaONtdzu8gJ4fQBP4OuCEKe/rjZWticfwWQa/rHiltffUN/Mt3NegsPQDUOlp+4uQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <65c3af43-9fc1-d284-bde4-20edea6a2558@suse.com>
Date: Tue, 29 Aug 2023 08:47:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 10/13] xen/efi: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <7726a38c4bf15a94b9bbcbc465bd499f94067ddc.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281542080.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308281542080.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6988:EE_
X-MS-Office365-Filtering-Correlation-Id: bfde1ef4-413f-4e2f-1772-08dba85bd668
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dgFkW6LpBdYmGAXjsO3kvjUGRmnM/Xu5kNYXLO6u/Q3mq4zrZzVkeH/7W/ccSM88blxxy2Iz0hw1a3Ugfren4lbBZ+19RVlmIt3+GkMQoW1GJd6wWTqZzfLjwsSm1+gF322UQOdEdyq0kE9Y+5NnOQK+NUDliKTyKzxQ3zIkBp/PYlWIehhZOG1A8fY4i0uV0IbRYsatR2XpRfLXOLfTPss1DgEHfg8wSLdH6ARLLkjURd1cEu8RBntU0F9pkNcqflgbzbLckKc5zfpq2LJEpU8uduKiX055lWnKiDemuasjnQoXJ7iuNQxV+pba0+GB1j5VNgqc875ArGad/nWPHhZ0bYKeJ8Jzal4hF2e8QOhoWoTrR2RSLhN+9QJsfOQk+OURmLGpqn4sCAmg9n2r4xtJ9SZZZBrG9dKA2FemUQsLh6asAIPzm3zFYehVjIyvypZemo31Nx7xWcTgi5Sq2VBpTSS4lYhhJg1PdYM8iQWu53HJFCtoi7A8xYOSz73xaKATWuX2yBrmXcKzzIJ5YGozgUg3rtENGQEI2w5LNozdS6P7Tkk4lb1DB5LgpmYMmCcWp3yqPEcLt90mn/7yFUcp5i61k2vzC7bVZc7XKhpXHs+ueO8C/Jk5XK5eJGBS1RCyQCIoR6QYFnR4Hb5Ozw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(346002)(366004)(39860400002)(451199024)(1800799009)(186009)(6506007)(66476007)(38100700002)(6512007)(66946007)(110136005)(66556008)(8936002)(2616005)(316002)(41300700001)(36756003)(4326008)(8676002)(478600001)(4744005)(2906002)(86362001)(26005)(31686004)(53546011)(31696002)(6486002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEFWa1NWdjUwOEZrdHJRUitzckx1clo3Vys0RFJTb1MwTjdkSzdySHRxTU53?=
 =?utf-8?B?TTRSQWRlbGsyVFowWWNsK0xpKzNSUm5YWU9sc2ZpZ3dDYjVseTkrSVN6Um9z?=
 =?utf-8?B?WFc2ZnRFNnkvczRYNU9iT0FGM1k1ZndodFRoUWhhT3VyQWdaN1BqUEo3TWZK?=
 =?utf-8?B?VytLUHZaSENlTnNjUlFIRkxjYnNUMVE1VlJnOVVseSthTzAxM1VLbnFIK0Nn?=
 =?utf-8?B?UldDVzdmNUdTNDBURGhVM1V3S1Y0WThKZ3NFYWlHWnVBcVJPOW9vOC9YbHBY?=
 =?utf-8?B?OEExVEVSWHZFZEdFVW90SzE1b1RvUVdHSWpYYTVmMnpFL1lTZENJd0FwK2FX?=
 =?utf-8?B?UURSV0ZHdm1VeFB4b2JxNEp6MktPTkpNVzc0R0orYXdPa2JYSUVhMmpSZkNa?=
 =?utf-8?B?TXZ6aS9kYXlxRDlGZk8zWVNFR3BEcGQ3Y0JPbFZINm91TFY0RldFTGcvRUsx?=
 =?utf-8?B?RW1hb0pESi9UZm5Wc2QvS2RDcGRpQzVuSDZTb3Y1V2owN3pZNU5pRU9UYmFQ?=
 =?utf-8?B?cE10Um5BS0haY050VkE3aVZEeEluVmloR3p0enBOU0E2UFdITjV0WUI4N3ds?=
 =?utf-8?B?VVFUM09rWEU2bkVtOElyUTVadEoxQjZOZGRQaU9JZG9xb1NQZ3VRU1loMzJ4?=
 =?utf-8?B?enNlSHNnVW1yaEFPZENSeDZWdEZnVEhjK1ZlMkUwZC9tOHdXdjlBSHpDYUhX?=
 =?utf-8?B?WWJWYnlJMXNNVU9uWXgxRHZJT1ZhTGtIUUM1OHpkOFZVM3NzUUlPa3VqMWhy?=
 =?utf-8?B?bncwMlJHNXByUkRBUzRFRkJ5Qi9Oek01QWlzRzF6N1lGRHg4cHBzc1J3TFY5?=
 =?utf-8?B?SkVZMXZSRTBoaURXeUxOZ0JkMHJsVU5Pc2MxemdtdkNOM0NCbEVFY3NDeExC?=
 =?utf-8?B?Y3dsUFRXdUpDcENORWxHNGQzdjBwZUd0KzA4d0ExTHlVMDYrM0dIRjFiNjhm?=
 =?utf-8?B?VEUxMDM4eFVsbEYzaksrbGVYZ0FoMzhIV0trSGpLTVpLcjBqQWZoSVk5QnJK?=
 =?utf-8?B?N0laSHZITXpURkFCMGJ6TUtjVWh4VWpIUjRaOE50azc4YXNqTnpOQ0h4eFpo?=
 =?utf-8?B?TFB1ZTdGTXFKdVQ2KzBxOEt0RVRiUm9waXRFNmZrK3FaUnZ5TFdRcEU0Vncz?=
 =?utf-8?B?bmxsQ3dUbndMa1U0aTJVdUV2L1NPS0tVNFNJSEhjaFYvZURjS0V3OWtNZ09x?=
 =?utf-8?B?T2k4ZWE1S0NoYU9OakpRSlhXYVZrcEpZL1RzT3hPYjRvMDNydzJJS3lwU0lV?=
 =?utf-8?B?VmtvditNcUJuN0hFckwrUWtlZnpyOG1JV2loNGkzZkhNRm9kR3JBbjdVU0tl?=
 =?utf-8?B?YXdSUEt1ZFZuWFI5LzZNb3VML2pnaWJIZUU0QXlLeEVsQVE2eDBkUXRad0pK?=
 =?utf-8?B?OUhmVmp1cFozTGliQ3VkV1BBWTk5dlBBUEkzZ3E3TFlFRWVLNGVTcEZyZkFy?=
 =?utf-8?B?cXZEb1d2UVdLT0JNcnlyU1p1b3FuK2g4U2ZSRWVvcWw1QXlSWktIeENvSUI1?=
 =?utf-8?B?Q0l0K2JoVERYUjRmSEZkZGJkY3Jxcm1YWGNZT2wyUTR1SjBGTElIdU14OVVF?=
 =?utf-8?B?eHpnVHg5Tm5nTkl3ak9YWkl1ZUtwME1hQTVLSEh3MGorU1FPeEdLclZXY2FT?=
 =?utf-8?B?UThWOFVOU0NDOTRUcE04TjkxWFF2cWxJb3phUVgyRkw3RHVsRlFEVGFFUmJG?=
 =?utf-8?B?VTVrNDVXbENJWnlidDJTL2lPaDdUYjNVZCtkb3g2ZlZOYUZZYXR5T3JUVWtN?=
 =?utf-8?B?c2piSzNlb1AxQmlLbDZvY0RHMmJ5bFh6cFQ1TGp6cGdadndobU1kOHh2NXpH?=
 =?utf-8?B?cklLZk5lNHhYeFNDVDI5YjZIcjdJOEY1Tmo1OWRmendSK2JZTSt1dXd0ODFr?=
 =?utf-8?B?Y2c0dEdYMER2SnVleENLZXhjQld2Q3R3b20vY3d4Mk1IUzhsMC9DcUZsOEho?=
 =?utf-8?B?NWZaQnlvajU1TExENFBNMTZ6bGY3MjVOOWsyQzVFVkxHcVNXOWFrVUpiMVJm?=
 =?utf-8?B?dzd0TVl6NWs3bHgwNXF1dlpWUDZBR1YwRUlXcHVWZjh1dDE1cGJkbitCWU5s?=
 =?utf-8?B?S3JMMHJwMjExT0hNcFRqVld5M3VwQWtaTy9iS2FIWXloUEU2OGJzWVRjZ3VZ?=
 =?utf-8?Q?MxlKEP+LHWTyNDZdPuPldWhiZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfde1ef4-413f-4e2f-1772-08dba85bd668
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:47:39.7384
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YOq7yyBzyheqMu++nzTdUwFPs1AiAKdstWeJKG9AYv0AGmMkeAKnq+X/f9/h0xg1gygXAvF2uf6pxQ92Wpy8nQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6988

On 29.08.2023 00:42, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> --- a/xen/common/efi/runtime.c
>> +++ b/xen/common/efi/runtime.c
>> @@ -6,6 +6,10 @@
>>  #include <xen/irq.h>
>>  #include <xen/time.h>
>>  
>> +#ifndef __COMMON_EFI_RUNTIME_C__
>> +#define __COMMON_EFI_RUNTIME_C__
> 
> Shouldn't this be at the top of the file?

Imo .c files shouldn't gain guards in the first place.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:50:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:50:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591985.924587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasYO-00028W-BT; Tue, 29 Aug 2023 06:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591985.924587; Tue, 29 Aug 2023 06: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 1qasYO-00028P-7N; Tue, 29 Aug 2023 06:50:20 +0000
Received: by outflank-mailman (input) for mailman id 591985;
 Tue, 29 Aug 2023 06:50:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasYM-000270-DQ
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:50:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4fcee402-4638-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 08:50:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7163.eurprd04.prod.outlook.com (2603:10a6:10:fe::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 29 Aug
 2023 06:50:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:50: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: 4fcee402-4638-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kKvKHCKZlThc7NeddotBnylOlBowRwnEbL4JjnK+xu1WQmYix8kgp7cuGP8HIhzHSU6yIDoP4vnuxMVjXZzSuoQqap3OCEkDB5pxsJsaWKN+Hn3kst2WNzstA5kfrKlABTzIDDQv9t7e6RH1TM2C4r6eSbpyVPMHssPyGjFNjwhX3UwCWd8yXgEP77j6vxq8bfb590m+gq9M3REO0IjbGImyoavAP3aaeJ4mQ9ceYxtYOJ86xCQ4BASm+Slh3UE0d+L2awRa6lrgucwJjGDD2mAnb2yftTvQjHZ+o0FmrLgzY1SFfpYBirCCTwYzf/W8f8yKWPbuyL/r1jgxtO6oUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sUhOxWnOFlO6DHDWaDimQHauNO+LCfzlMafAO9n+010=;
 b=d9s7p3MapmRgrWCpPpeasbsIiNcltu9OFwxcSxrLUFL2V8tBGk90CXHbgjJW3fDAwjruLXIJ3htmfhywXe69Q2tcR+BwwPcslUyoR+SNSC4M9/Abb5DeGiIeb+MpdowasGApaufEEjnzCZuXhhmhcHBFlLOUkgsqegnoSPqbbhMPPF71M6Be0RFNNaIvGY8ZfOR7vcHOI6cY1fMSN/lO0QkrZW6/XlZ9vDIDjR6lhtmFmTlZzr9O7CuhlRBdLaTQU9fKEOEwGnIr/QfqDsFG/tEM2zyK/OQI+5ZrvZcQk2OGyg4QLzuPnkqBFklTNCJbTtJNC7bMUKfw7ie7zV6KGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sUhOxWnOFlO6DHDWaDimQHauNO+LCfzlMafAO9n+010=;
 b=5rop0+Yqu/GNGOVyK8pKXgwZ1vgr8coyEe8DKY8Jpi0zrhj2EDkJuLuDUnzof5PhV/uoCXIN3u2w3Hc5zRpL1XNDCYZlqbq8RYgj+rd8nJG81alqfeXGdak9uC/eAbUsAz1auzyc7SzVZL3pEV7DDHVf+qba3ZeyR3+guWuoef70AzUuFbt7WnIFvCor4BZhnkHEtc6bY9LhtGBD4ksR5zkDr4RmrISp/CK3cXMOul5jJkKXKRQNlfYJ9njdNvIvrFT3WD3hdxLuNotAb4E1l95QDvOKF/6hRHCL1Xc0n6IReHVCo8p1IxICSLs7BH1RMmm2M0V8yDX3lwuQWKtpSg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
Date: Tue, 29 Aug 2023 08:50:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7163:EE_
X-MS-Office365-Filtering-Correlation-Id: 73499178-b8dd-46a1-b364-08dba85c32ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zW+heTC+UzDTZTBUfZXVbiXnmPckYB4Y8SdIfsl237KjS5fhes2EZCubQamPT1EvywsSenUOltbMv2W8GdUKSXp2juCtsYgPGgBnlbjLpI8UawyW0jA6gPJKHaH/aYy76fwuOKXDcgENXFhUD+BkRXV8u62MpoFnRSwMvcI6VvOkcsfOvFsMjWyyoWcpGrUkUczSNc06cJhEeK8gRmmkPoYiItETVa5tquB6wdLuMQyIKwz7PTRb9xHVRVDY9q0zaeQepUyL3a5THWZSBOuq91caYxSs9F8VvgaPpR0nPnT3V6Xg5Do57CwvPi72N/nwX3UekxMKYDgh4GYzICOVupGRLkQ6d+R1j42caLDDjg4XpxIxAmADjK2/QC++XqV92aEs6Um2kQ7zhMHEVkrkkuPLGAHswI7jubpCnnWtw55X9R2vS4WJYimAok84oN/R9WbapSA65ZNRnE9LKELKc/XnvHLHPi3HBsD4goQDy2+6OeHbLCjAkLidy/EBooF0LSYKDlXefvqJEJDbVS1Z6BhhzSyC2uxe4wmanlXRBgrZEyzsc17W8QRjXzaa6sxNqnj+BxRPdx4HbMTXpbIV2HI6Kgf2KpEZ47PfFUTF2TknPWn4M2fY1tH6s9P3r35RqDpyPQ4ESQku9ucTNZCxBg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(376002)(136003)(396003)(451199024)(1800799009)(186009)(83380400001)(2906002)(6506007)(53546011)(6486002)(38100700002)(26005)(5660300002)(86362001)(31696002)(31686004)(8676002)(4326008)(2616005)(8936002)(6916009)(66476007)(66556008)(66946007)(316002)(54906003)(6512007)(36756003)(41300700001)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmxXVHRZbnRmMVJYWHZKaS9WdzQxZXIvdUc5emRsRjltVXJwS0xMUnRtSnJZ?=
 =?utf-8?B?dFNqVjVaRHhESTg3WGtVc0Y5UXlJV0VDSlJHWmIxN0E1T2xoZEVwTnBsOTN3?=
 =?utf-8?B?YjNsMHVBdmtrUXdtb3IwdnRpRmJSMVFRQlY1cGU2UExLYWRvaVdwUzdNbGNy?=
 =?utf-8?B?K0VDNTZRQlFNM2ZORDI3YmFEOTc1RWxWYkllWlB5UjNBNlYrNThwOWRDZFA5?=
 =?utf-8?B?bzcyN2ljRW5mWVBUcUNmbkdUWUNoaXFHb0VDNHlPYXV6Zi9NbUdUMWg2aHI3?=
 =?utf-8?B?Q0dDYTk5TWxGYWYxdTQ1cnBMRkFTblEvTXNpZUFTVVk1RHJBOFhvWmlMdHE5?=
 =?utf-8?B?cVc4QnNobFpWTG16L3RpalJydUhBZitqSUlxQnJzd0xUNVA3SklJdlFKVGI0?=
 =?utf-8?B?TjFYK3dvMkNTMzFSQStFK0pQeHlEWC9JYzlubm1YMWVUSU5sM0ExY0toQjY2?=
 =?utf-8?B?bVNwZHB4YkJYbTlvNE84eWtVL29PdXg1ZWxhWjVXbUkvZ3dZbVBsWUZXN2Ex?=
 =?utf-8?B?b0VFQXBmVnVpbnJRSW1TSTlLMjJFZ0YrbExKQ0ZBT204UWJpbHJYU1htTUpu?=
 =?utf-8?B?L0hUN2xEd3dqSk1YeGhUVUdpdUZOcjlCOXV0V2wvUTVqRVBkRU45WHhQR2ZZ?=
 =?utf-8?B?U1BCMlBVNGFUMU9Ya21PZ3BUbkNsV0dKc3BCdlBIaldXU1JweTVvcXdPbkVR?=
 =?utf-8?B?TjIydXVKc0RuMU1SRFpxK2xNc0pUaWNaK2FLNlRmTUlRbGdwLzRDQjlQWFdH?=
 =?utf-8?B?OXBHc3JiU3VybzhHZlE5L0dkZnBqZ1hOYS9tWWxJb0hmWkFUU1dNdXdwa0Rm?=
 =?utf-8?B?WmRUSjg0dWFUTmZGYzBFT2ZCdHFQN01waS9OUUpzU0h4OFErNUlNVWljMU01?=
 =?utf-8?B?eE9SUWFiS1lXRk81d2preHM2cDJORDVuN0wxODB0RkMxYW5XYTlIT2pVYkt1?=
 =?utf-8?B?bUhuYlh0alBxZTlIcWxiVnNUVjFRdTAwMldjTFZpVXlvVXNXM0RPeVRrL3pO?=
 =?utf-8?B?ZlIxVklZdEFTM0JsUHhNcHFGM2dTOEcxajEya3J3WkQrSEtSV0kwYnhtZ2dy?=
 =?utf-8?B?MjVwTXRyc29jYUJ1YUpvRWpqeFoyNUhOMUMzWkk3bkF1R3YzMjMxYjYzT295?=
 =?utf-8?B?bzZIbzQraGtiaVRIeEd2RVpza09BM29aRlBvZFB2eEV1NkdaNU1HZFVPdGhV?=
 =?utf-8?B?VXFUdTdRdE5Gb2xOaDFZK0FFSU5uY0Y3dTdraktsWTUrR211TUdXMkZYdkdX?=
 =?utf-8?B?a2F2UzJMdHJMbW9qcUc5eDJRZVhLWlZqL0s2WThCMG1EdFRBREJ1NnNSL3Ix?=
 =?utf-8?B?OTRLVzBwdFlnVDJvRHlwUk55S1YvV2YxbFo4UkxLWFJONFpVZURpYzNMRUgw?=
 =?utf-8?B?QVkxL2prdVZ1N1FJcVc4aGlqMjdYeHgrMjlPb0hIL2pCM2p6MEpHNmtpcUlx?=
 =?utf-8?B?Rm9vOHlyK0pWNysvTXRzWFpWalArcFRjcCsrWVlaR3BhZFpqZ21vUDNXVzZU?=
 =?utf-8?B?d1lsTVc5NmtFbzh1eGpPSHZWTmpTZGpoQmZtTnBZSXFjNm5OOUhTeXNZanVK?=
 =?utf-8?B?M2RkeTZhQW50QTB1N0lQL25hYW5HYlprd1VKM2dJZXREM2E0YzBNclZoTFlE?=
 =?utf-8?B?YnBHNHpWWGpjeGlKOFBRZjRsU0dpQmJHdndKN0lIaGxEVk1US3FoTDRkT1N2?=
 =?utf-8?B?UW9WYTVjYlh3OGxmNXVJdWt1YUw2amhhRWhiUStqYnpGWGwxcDMxVnY0WG9Q?=
 =?utf-8?B?c2FWMVpkQVViSlNDdXJ0RldvT1pXQXMzd2NyanR4T1hZWTRJUjk5SVZhRlBt?=
 =?utf-8?B?bjljWURRZFg5MTk0YkxiMitwRXlnNkdXb1BIQkQ3ZU9UNUR6aFFnWXV3S0J2?=
 =?utf-8?B?Zlpud3NTWDg1cWJvbmpSTHhiYXBTcW1WWDg4SDZRR01VTGNKTGw1bDZIN2Jz?=
 =?utf-8?B?K2xQdStTWS81U2xlTG4vK20vVGFyYVl4Tk82b2hRNGZmVFJGTzJaVXl1cW93?=
 =?utf-8?B?N2N1TlVibWZEc213VnRtRms3VXVqbGs4Y2djM0F2VGloc3JQRXVmalpOdW1t?=
 =?utf-8?B?T1dHbldkK1RTdlNLYW9nUXRwWHN0WEZCSk5tdEQ5UGdwZVFxbWJEY2JxOUZB?=
 =?utf-8?Q?eJhfxGQn49OtfL6M6vRgQyu5Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73499178-b8dd-46a1-b364-08dba85c32ac
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:50:14.5049
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NJJkg+XWgQcmcQDqoCNz/aOiwACKqL/RLu4WW4SEYTvwc9VlXCM4loKCMFr1SgTQxvrAydApJpO6I0Dvhn0zGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7163

On 28.08.2023 15:20, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Also C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/common/compat/grant_table.c | 7 +++++++
>  xen/common/coverage/gcc_4_7.c   | 5 +++++
>  xen/common/decompress.h         | 5 +++++
>  xen/common/event_channel.h      | 5 +++++
>  xen/common/multicall.c          | 5 +++++
>  5 files changed, 27 insertions(+)

As already said in reply to another patch, imo .c files shouldn't gain such
guards. These are commonly referred to as "header guards" for a reason.

> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -3,6 +3,10 @@
>   *
>   */
>  
> +

Nit: No double blank lines please.

> +#ifndef __COMMON_COMPAT_GRANT_TABLE_C__
> +#define __COMMON_COMPAT_GRANT_TABLE_C__
> +
>  #include <xen/hypercall.h>
>  #include <compat/grant_table.h>
>  
> @@ -331,6 +335,9 @@ int compat_grant_table_op(
>      return rc;
>  }
>  
> +

Again here (at least).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:55:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.591993.924598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasct-0002tj-TO; Tue, 29 Aug 2023 06:54:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 591993.924598; Tue, 29 Aug 2023 06:54: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 1qasct-0002tc-Oh; Tue, 29 Aug 2023 06:54:59 +0000
Received: by outflank-mailman (input) for mailman id 591993;
 Tue, 29 Aug 2023 06:54: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qascr-0002tG-Op
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:54:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5f8ccac-4638-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 08:54:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8702.eurprd04.prod.outlook.com (2603:10a6:102:21d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 06:54:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:54: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: f5f8ccac-4638-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aZd4h80ZhUvkXYLnpMJnOj+o4ariGRtp/KkMn9/2OJxOXnQCsEwd/a81wHpAanHamU7RU388UDoZCOxXJehodJWoILpyul8PY/pcRTYSWbkgolRNOcPFkPMTtdepHPOBBDzTV5OhIOtuMzEuP5pRrevj8lH2SBzomAQIP7EujK7TfLwsPHPzKfNXuvS9BCTF4au1Koapq/TC96HKytJMf3SODgx491MEa52AyAJ7s1rQH//hppXRI7eC9M3kgf3bVynG2y1NSfhGmkn3Su2xsvwfgVayf+2XGq2fDCgUq97ienrg9wYfGlcFDh/6Ebuf98deRm9yE2ajhf5JRA7iDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yBdyY7ht4ZrUvUj1VkvWPtywKpiekhbV4az19USI/8Q=;
 b=jHgLFlY1nCT9ow/OZd6Z7iP04aDmgwKMMzPHWnfXNGbHxzQlDeKRmihE2GcNjncZwodi7Wk3Ybhesb41XPiAv+qVnWbU2Xa+vbYk8IBmvU4nElwfRVMTCxcH+0PosabiAUqwaimSIffyhe9btAnm5DI26+ZC1rOMv/RpV++lhffZtz2lz5t5qW8ntOcNl6SHsTWYkZPnrjd9cVXbkG7GFLrlQKhbnzDmkpkDl09OHHxES5dJzExX/TpwCgyWDA29J+zIlHESQXvMyGerZ7c/mYtPkV9shRtElC4rLce2gNIzTdfheJptdOf+Yo3/V98YrT18My35xnzhZL+tZ8TCuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yBdyY7ht4ZrUvUj1VkvWPtywKpiekhbV4az19USI/8Q=;
 b=DcOx+oVIwjVzaGqJyXpU1DD2gm/hs3bjJRrSgIcQoYBuLlT1K0KPClde5kuskz1mkQ9dc780+LIvICmErTRdXJyp2qsoBB/s728gIqgXzgUmMc0WO4eoXloNvVD230WJ7ynulWcWj7Dr8zBeHUSvErUDX5I1kKRtJe2baHiPNPEbJ1oltyXYuaQwjWqLGNCMIwU8gVozCWSSyQfDDhOcfQJDwDvBvWeclz5XhJQNFdJdG8ChI79SSHMVT5FvQMh0qX6HlsoKwUq6cQ1wL6ve0ohXiSkFbHcu0gZAngpdJdKVCXG9WehakZgQ0vl4RFr2BnvAZWFEq5Udel07K0z7jQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4fe77ae9-a9c7-c8ce-2bc1-80cc1107b4b3@suse.com>
Date: Tue, 29 Aug 2023 08:54:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 12/13] xen: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8702:EE_
X-MS-Office365-Filtering-Correlation-Id: f68e97be-a6f9-4d0c-74f8-08dba85cd8e7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	33vv3e3bxNTe3Cv27uJaqn0bxYIyEDy83dfdZoUCosxhpW2vJ/VkJCHoM3ELL7PqsO+LHV7Da2U5lDKCaBUAA1cT99dGaDUkuUcerr8I05RdiHdlnhj1R15wM6huqnWfvt3UaKwAdZQ2z/5K4WFCuz8GyYrBxw6AF778Mkxn3fgDtdnbEw8Pkn27kQvGG6awyWWdBfjfMDi6jMwaOjTvD7edSuOjHKGkm16hEVM/zL/PZc0uqwClpeK1+b/D79pVgwcnnjrmHHdO6Fuz2TY0BBeJ6KcZ7NUAEq5O4Gy+/B34kO4pRALzRg3EAe3yfQu0i8lM4jwGDaGmL9w9qyZbAdRLvTFsBJAfIEDt0iI5odbneDqm+YNkwlMumwW/PiBLuIQO7WnpYK4ZPWJO3yivhw/TiZNNhk0B3K+btahZeJv/jEpaFeh0rMVHd63llk1fe3MB+5PqyOLifUkgIlkF/7B7oQ6SL901/H6pb0zON7aBggsihnhFAGkENX5VOHtHnNt5bXk//+xihkcC4gAL9bfcECpxCWeQByL4jK3qVmrq0L311mb3W38GdiZ0NNeBRcUmoQ3SrHqRTwQyEfGLishMlDkVMYjrltCZ1JJ6+K85wYRf2aarMy4Pd/YfC+EMDaVEgPWZeVGbYaFGs3ZA0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(346002)(396003)(376002)(186009)(1800799009)(451199024)(6512007)(6486002)(6666004)(2906002)(4744005)(26005)(53546011)(478600001)(41300700001)(54906003)(4326008)(8676002)(6916009)(316002)(66946007)(66556008)(66476007)(2616005)(8936002)(5660300002)(38100700002)(36756003)(86362001)(31696002)(6506007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTBrUURwY1RjVDhmRm82YkZBMlYyelRIQ1NVTEo2NFBJd21uZFhDdXJ4WEpF?=
 =?utf-8?B?NEQxUWVERlBrZWo1bWh4U3VrZkRsRXBkM1duT3BpVHluSHdwRzF2eXZkVFl1?=
 =?utf-8?B?bmwvVnlmejdSMmFaNkdnMlRiQnlkd3A3MytxTUVOVGtUeHI5RUdZWFBYNHNx?=
 =?utf-8?B?SUpVRHRkNnNIb1ZNdk5seUY0aGZiMlQwbjZ5NHBsYk0vVjRHSk8vcWtEeVpt?=
 =?utf-8?B?UmxxMmQ4SCt0dGoreVFzNDgrdXFaSURtZ1VtZ3VHUlJTYXNUd09CMmgzei83?=
 =?utf-8?B?dUI5cTJ3enNSRktRL1VxbjQ3VHdsTnpXNjhYNFVDQjNoK0FyN3lzNVJJSnhK?=
 =?utf-8?B?dExYUWhCUWlwamUrYlpYaTNpeEJUUURCQnZyMHAxblloczQrcFBlNGNNNDNE?=
 =?utf-8?B?c2NJRWo1M05GRUU0b25Rb0FVUE4vNVYwR0ZUMXlodTNWMU5SbnFPU21vYXBQ?=
 =?utf-8?B?YmxybkE0dHlSYVpETXRRcGZwdUd1N3IxakQxL00wbW1PUE9ZNDNwZ2o2aFNS?=
 =?utf-8?B?WW9zbXVCZ3d2OW1rOVNtTnF1aFlESGJIWjkyQnJNZnl3UFBNNitaamhVTy9t?=
 =?utf-8?B?STNHWkRkY1NKTTBEd3lKQUFxYUxTK2JlK1VIWWRWZURxUTVUTTc2R2t5cDUz?=
 =?utf-8?B?ekJteWNsZHFLYzhtVGh3QkpxQ2phQmplaHBsQlNMTlptaWQ5SWh4WUlXRzZG?=
 =?utf-8?B?d1JlS3NyWlFPUkNQaDk3MG8wemt3ZDBVUktWRGIxdUx1Y01MZGtTVFk1N2RR?=
 =?utf-8?B?c1VpRHVNYkl1Y2JKL3hkUHFEeFhRTVdZY1BOWVJjMjdTdXQ5am8zT3h6bXpO?=
 =?utf-8?B?L3IyL3l6eHl6UmR5WUlJR3lDMGNlVjZEdnpKZTY1SUlncGhrMFNsZWovNUZQ?=
 =?utf-8?B?NUtodDltcWtUTDB3Mms2T29Ld1BDWDdOUVpmNWg2R21xamdPVWRWMjRrTitw?=
 =?utf-8?B?cnRyalhhTGdyemorZ0szK2FKVzVjZEI2dlVTd3MvaTZqQi8yQklsVjJUSG55?=
 =?utf-8?B?Y1hmZ3FqSnk5STBJOGtSRXZFamdjRFNTbHc0NnRrd0FmSC9FbDlpbUlMblow?=
 =?utf-8?B?S1lZQ0tXdzZVM1ZIcS9MT05rZ1RuaGhnV3lsMXg3VWRjOVl4YlF6QVhtNmlD?=
 =?utf-8?B?RVMrUVFoSXZGWjk1SUdobTN6dXBnRGROb0RnWEtxV1FMc3U3cnptZURnQzNu?=
 =?utf-8?B?b1J0OHBVTGMvUVZ5OVA1aUFkL3FOSVZWSUFUNTI4RWVaSkRKc0dYOHRBMDE4?=
 =?utf-8?B?ZWhjQyszQWNFNW5pei9sUFhFaWEwRFRZY1RFUU9vRzlCeVF3ak1BR1lUNklB?=
 =?utf-8?B?OWs3dDNKNXBrQU5sY0VMRGtVaUcvc00wQU9ZbDdvR3pYR2kyZEFadUg2MC8z?=
 =?utf-8?B?cXVRdzdHYmZGWWRMc1RmMEVRYUFxMU5PdXBIWEFIdk5UMnc3dnVXOThGLzN6?=
 =?utf-8?B?T3llTmRGZXVTV25zeCtJMVlndC9qYVhKZ1FKSUh0ampSc05ZZUhnK0Y2dk9R?=
 =?utf-8?B?NU0xa0pNWE5URlpucllnaTl6WUMwS3RVWE12V1c1QWltTnd2NEtMcEYxMzVF?=
 =?utf-8?B?ZkRhU1cxVS9nUnd3a3o3MS9yZ1ZhZUhiQ3hyTW9iM1BweUlMWkF0b1lQdTdn?=
 =?utf-8?B?UkpPQVRNbjNpMW5DRnlremlXZC8zajdTd2s0dWJ5WGRzYUdoaytVMTN5ZFgz?=
 =?utf-8?B?NktlRzNDWEtkVnZLZDEvNUxiNVNtdXhMTVpJdE5UNjBJQ2RoQU1rWTVVNXFW?=
 =?utf-8?B?aEY0Nzg1emFJSXdwY2VNTjdZQVZHTnB4SGs0M3VJUk95RG1NM2JtMW5PQjRj?=
 =?utf-8?B?ZHNHNXBhU0dLWEpCQktwR3JJejdzcHUwUk0zb0x6cVc1WDRVeVZDNjhOeEdG?=
 =?utf-8?B?a2xTRk5Jd2dIQzhUSXBPcDFGZ2RxNzR6N2lkbHBDNUE1SERpWmtUcUVXQzhs?=
 =?utf-8?B?Mm54bGdpdENvK0ZkQXQxQkFncTF2Ni9aWjMrQTVYWG1ycmtCWXMvU3lkRTFl?=
 =?utf-8?B?RDRnT2NQRE91ZWtJcVRmMEVoNjRldVlGY1habXdYeERzRGtpek1ZU0tQOU5K?=
 =?utf-8?B?QUFjSDZTUjl0YTVsRWM0T05YWDl1YWRQUDd6c1pwUEQ2ZDlvRDZMMUgrRUo4?=
 =?utf-8?Q?GQf7Tsw1JHGwvof9FoGgSy1h2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f68e97be-a6f9-4d0c-74f8-08dba85cd8e7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:54:53.3876
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I+u93oIoGaExn+RDHKVGydXG4XY5vyNyqBLWHx8qHwF3ycmICnoxF+YYJcakop3j/Al/nKCPDyZtTKBQGDqqzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8702

On 28.08.2023 15:20, Simone Ballarin wrote:
> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -3,13 +3,14 @@
>   * without faulting, and at least reasonably efficiently.  Other architectures
>   * will need to have a custom asm/unaligned.h.
>   */
> -#ifndef __ASM_UNALIGNED_H__
> -#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
> -#endif
>  
>  #ifndef __XEN_UNALIGNED_H__
>  #define __XEN_UNALIGNED_H__
>  
> +#ifndef __ASM_UNALIGNED_H__
> +#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
> +#endif

In addition to what Stefano said, this repositioning also is questionable
(as per comments elsewhere). Overall it looks like the entire patch wants
dropping? Or wait, no, the pci_ids.h change would remain.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 06:58:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 06:58:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592000.924607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasgF-0003Vg-BT; Tue, 29 Aug 2023 06:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592000.924607; Tue, 29 Aug 2023 06:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasgF-0003VZ-7G; Tue, 29 Aug 2023 06:58:27 +0000
Received: by outflank-mailman (input) for mailman id 592000;
 Tue, 29 Aug 2023 06:58:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qasgE-0003V3-SV
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 06:58:26 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72a7ad45-4639-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 08:58:25 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7923.eurprd04.prod.outlook.com (2603:10a6:20b:24b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 06:58:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 06:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72a7ad45-4639-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SBArx519cr9/A/eg/mtt//qbCT5kcx2KYmNBQILihTYQk7+agUXGyBpQ36Smr9SkbEZ4HsLkZTfqDOxHwFg8X8s6nI0TJTCEjWd4/vOYoDmwMo2ko3oabcLSLpeOVN89xD24QrqZuiEPg8zBA6Fak/bazfBBHQYxFKAASkEqo6jdT+HibN/OjJZ77pwOmY15VfLkGWNEj55WWP9K9xGHQaC39df+W6ihTQaBf/FJeN8mhfQnEJ9JOt8rt36S7W/YpGNTWdw+GgAyXkcBIK8Zw4XxUVrR7SsZENZvs658SEQeliVYRre9+aqJSWHl83p5SKbgQvNfw+GLxaEP9DEQgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Wjl1GQARSufvv1hcls9KQ7oYaXHnS/RI1t5GmaAA3o=;
 b=Yf2UV1wQPrPJKOOl9hw/IoQrxavJYSW6xrUyAQzrRGC65tIvisAGCP+h91ZSt3qPVEjIqgclbwiwJnm7Ju/bKWiNpZcCc5TKNsmIxPM+g5jN3szdM8IS458jPvSnN2n4buXxZkm+E9vv+cWKImspnehnobHTjOsj1B48+EoHRc16kjcTtX+XdfVq7ZZzfS/qmWoMnFCsVdkQ7bNAdgxhgC8DvtVORXAOiMqpMPf5HLFX55u71AB1Pz28pTdFUjr3PoMS8GeuBVmU3V/ksJBnt6/SqTRkqJWtuKQ8+pThHTvhy2ri5aapZj4CA6L5gWJtKlUHXfWAK3wIRpiE6Chxzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Wjl1GQARSufvv1hcls9KQ7oYaXHnS/RI1t5GmaAA3o=;
 b=1vOprXysy+bEbzGRpnZPrUSGjGR1/0nmoiKsFJwag8kGCLsNqVlBJQx50rmRgPbouVA/Jenh9oUilawzepJOUGIIIZZeuPP0YwiMP7/X/hTs8krGGnrKVXdhnnEfm9u2PGdW3ND60LU3s+FruZV4oG0ASHVYBI/+4QG1jjNgD5j62hRD79v03TNpeoJxnxIBzwLPdLzlu0LHbcwHBtJt5LOXQ1DsA49MKLxuNaiaueex5NEPH3CO47TKs9MJPrpVk8tlT1Iml7gzEdgIrJ9qFL8EHOxW33N83U7tXz5BJnMndcL92qFDv23hKIBnuWXkFecleH0+9L9kSg4kxPiAFA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <26e0d0f4-2524-b366-7e68-069bd72dbfaa@suse.com>
Date: Tue, 29 Aug 2023 08:58:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 1/6] x86/msi: remove some unused-but-set-variables
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-2-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-2-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7923:EE_
X-MS-Office365-Filtering-Correlation-Id: 5736cc31-2645-4f36-e59c-08dba85d5595
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XDxvPX5FwthdiT9hA3cuCtr4n9612QS7orSS8sXsboZwgegSK+RNZfncIskuZPPe10MfyNtq3+QsdGutQTsIh2iytO7ZdkP+spYMVDQybiDJjJ3K/XkahA7myviouwim4uTS/TXS9AcPLsOuEKZlwvf0keur1tA9sr4aVk0AkAyTAvZSPEXq8gPLnShp9LAlEask45lwZz95QDp1CBffMTczPpI493y1GOaWSXcGbwsjgrPOf74TseFpcKvnwowzmM0hykYLFfbqubY8zjmH5SgL0H2Qc8Z5R/lidcyrzFk3DYyxasiyLD7kH/SfWSwwEyhrCHjbwPaMgRM43RPZ/NE3zV6pQtH9NEqroNSxKdk/yQ+riOJIN+pB+KJzrbKdS7RL6i1CsX3m/QWTSZA76Y9zpTjDMIRBPEcgNuVsFUgv79SRsIEinVAMfwj/J7MvOsy9R4WTX4Jj2j8pr9jCeKtQ9BIWtmM3aUlFLm/vIzAPd3OBxeOyzvVZv85knY+o2dMnoBf2dkFUbvNdydv1VKTv6PDCUOhh+ZQ8t6Oqxl4DgGqAwonnsDakwcJxUg4y6+yKd2MoXuQsCsjDWmvkA9J/MXskKvyNrZrUu61DryiYR5n+tnFmXgHZFsI9GUfSbRhzOu3edTNklMWlh17i+w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(346002)(396003)(136003)(366004)(186009)(451199024)(1800799009)(6512007)(6506007)(6486002)(53546011)(478600001)(26005)(2906002)(2616005)(316002)(6916009)(54906003)(41300700001)(66476007)(66946007)(66556008)(8936002)(5660300002)(8676002)(4326008)(36756003)(38100700002)(86362001)(558084003)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUpVa3hxZDNsdkg2cVN2V3EzRjZFSVVSeHlxNjEzc1hIVVloVFdyZzFITWI0?=
 =?utf-8?B?dHBVVTg1aEM3Z1lVNCt1WGlrT0VDMXN4ZDc0cGJGSHJvZ1hRRWwxQWhBQmNY?=
 =?utf-8?B?cW8vaE4rdFdWV0RvemZRTDZHRXpRRklmZ3NjRXphSkNUQUszZjN4NWo5WW5T?=
 =?utf-8?B?ZnpSZDdSM2xJalZEMVgzMmtUTFJxZGh5ZFBzajd0TTNsTFl5U3BGRmNIbXgw?=
 =?utf-8?B?eXpOSmFST1hEV0F4ZTZYR3NDb01iUG1STEcxdjZrb2N2Z21JOVRCOEVPK2s2?=
 =?utf-8?B?STN2ZHk3OXRyRE9MeXFicmcvWHByZkthY3ZFanU3b1dwcks1STJzYUREaEk1?=
 =?utf-8?B?Z2pObTI1Mld1NExJSU9EbnZDSzZsdU9wUHhYL0hHdFFJaUw1OGdqb25uTHJJ?=
 =?utf-8?B?bndUbUNnNzdKVCtHSEY5akRBeFpLU25JRUxxUHdtMVRxTmNKV0lFeTBFZWNX?=
 =?utf-8?B?UHd3aFdSTitmdmV5Y2lsaVhBOWxyZkkzK1oyQ1cyejRCRi8xTXBiTjl3Zng2?=
 =?utf-8?B?L2Vldm9nUUdmdWZVa3czL2pWNnk2S1E3VEdqZ2FFSWt1V25hZm5EaG1WTVdp?=
 =?utf-8?B?UXVoampQSWpoYm5sOE1QVjNXTWoxL0dHemgvSmwrdDlFR0s0M21uSzQ1UUJ4?=
 =?utf-8?B?VXRkSlB2UWpVRzlOY1JtUTZ2MDJuN01UMXkxdjRsaFRWTGt0ZWx5Tnk3ejNN?=
 =?utf-8?B?TWxnNDE2SjF1VFhHVUJ1TnpRS0NwR091VnRlT2ZGWURzVmI1N3BWTThpK2o3?=
 =?utf-8?B?YXVEM1cvdVBBMFlVTWpid1IwZjIwb1VwamVLTzFqTEE4bUtIRnhjOHFLY2Vt?=
 =?utf-8?B?dUFaV0I2bitXNnI5UVZ1Mzh4RFlXNlFTT2xuQTZNeUpiaWVJY3RoTEJWQmFQ?=
 =?utf-8?B?dWFRTzU5eW5vQVJUOER2NG9USjVSMjBBRFQ2NXBYQU9vU0RCekpKaXNCQjJR?=
 =?utf-8?B?RnFicmVtR3RxdzJOSjJCTlNYcjN5ejRXTDN1dEF2QWVTWHBMZ3R0U3BZZUQr?=
 =?utf-8?B?MjZPRUkrdGdHd3B6QkVEcDF0dHhZUVBsaHh2a2tTK0tVUXd6MGNPbHhhRTF2?=
 =?utf-8?B?T1VGWVpyZXpkQSt2LzRMM2xwczN3c3lNdkhLcGFUOFV4THBkK3gyYm5DR3JU?=
 =?utf-8?B?L1JtSHVRSDNNbXQ5T2YvYXBRN3hlRjgzOFl4cXFyOUFwSzZJeEd3RGdHc1pK?=
 =?utf-8?B?R3dvNzRnUy96LzdxbS9oUmF5aXV4Y3BwUEpYd3p4Tmw1Qk92OFpuN1BDelpF?=
 =?utf-8?B?ZXpoN0p1MHlRZGhvOUlmcXJXR2ZBMDhTbVpONHhDV244S3JINStLOXhrM3ZR?=
 =?utf-8?B?TUdMYjVaVzBralJkZUtWbmwxYTZqUitvRndtRWhadFRiZlBreHFlUVltK2FP?=
 =?utf-8?B?QXBVZUFKQkdQb0xTOFkrdC9MOE0yR2QwV1NsaVdhS1NsYUNBR1NDOUJxRmlT?=
 =?utf-8?B?S0tZMHB4bnl2S1c4Z1BscmhmMGxteFRTdDZ6Nzl4bng0bDVraEZrWElCcTA2?=
 =?utf-8?B?bStYUk5FazdERDJLdUhvVXJKRCtSQkh5TDM0eVd4cHduLzJPc3NCakZaSlRU?=
 =?utf-8?B?RXRFeUZxUklYcWhMU2NBY3ZmaDlZUE9mRGZaaHFmMkx5ODBiR2FXS1lTZVFm?=
 =?utf-8?B?Tks5M1VPWlZiV0Y0dzNnTm5yZTkreUgzRVBzc2pIbWRxb1lqRzZxYjJ0a0Zh?=
 =?utf-8?B?elNJa3p6NjIzTTRQcEJYRTNFQWFQU0dJbHk2YUNvWVpSV3RzYlJ0OTNOcEs0?=
 =?utf-8?B?ZnB2MlVpc3MyL1hTRk9JS0hneUdpcnU4ZDBZMGVvRWlzdFBLZVJCdEhra0dQ?=
 =?utf-8?B?ZjFBMUtEWDZIb3dOSCtCRDJKSllBWXQ0UG5FNi9ZWmlnUVpUalJLVTdhbXAz?=
 =?utf-8?B?dUNZZHNZc1RiM0dnK3kzU0t3REFRTHhsUmIraVBnRHBib3g2MlBVSzQvNGlN?=
 =?utf-8?B?OGJTelNEK3luRlVhWGdoUitveDY3SHlYemxMbXJhMjdoTEM0OEVkaG1KY1dj?=
 =?utf-8?B?d1B0WDRWc21SRnJjQ0pGNk9HTVNUc1ZLQk5GZ2dNMDByWHdRbFRPVDFaVW5o?=
 =?utf-8?B?UFJWZ0lwdjJJRmdZQjdNOE96SG1LendyK0xEbUY1eW5vcm55ZVpISlJ0eGVs?=
 =?utf-8?Q?T8oSis1zLXR6fsPcf+me4Ck8N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5736cc31-2645-4f36-e59c-08dba85d5595
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 06:58:22.6176
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hnVi7lP5Gj1+9Zo71m08TIeqjDTbad12+GGUVm0rPlwSxdNp81P0c3Zs+PgMGMl2jCbejppzh4EhnaX1olmLpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7923

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> These were left over after a previous pci_sbdf_t conversion.
> 
> Fixes: 0c38c61aad21 ("pci: switch pci_conf_write32 to use pci_sbdf_t")
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 29 07:09:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 07:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592007.924617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasr8-0005L8-CZ; Tue, 29 Aug 2023 07:09:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592007.924617; Tue, 29 Aug 2023 07:09:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasr8-0005L1-9t; Tue, 29 Aug 2023 07:09:42 +0000
Received: by outflank-mailman (input) for mailman id 592007;
 Tue, 29 Aug 2023 07:09:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qasr6-0005Kv-JZ
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 07:09:40 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0348e414-463b-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 09:09:37 +0200 (CEST)
Received: from SA0PR11CA0129.namprd11.prod.outlook.com (2603:10b6:806:131::14)
 by CYYPR12MB8937.namprd12.prod.outlook.com (2603:10b6:930:cb::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 07:09:33 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:806:131:cafe::ed) by SA0PR11CA0129.outlook.office365.com
 (2603:10b6:806:131::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Tue, 29 Aug 2023 07:09:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.16 via Frontend Transport; Tue, 29 Aug 2023 07:09:32 +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.27; Tue, 29 Aug
 2023 02:09:32 -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.27; Tue, 29 Aug
 2023 00:09:32 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 02:09: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: 0348e414-463b-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cKy7J/3Dx4KPg1kGrBAvedJWdA9Z103afBswxAUU5umk7z8o/qVFzy4IP/zJxqvUBp3HiyWrJnD6kOeQW8B70v2bSxRVt/gY6970s0PDM9KlUsgvkBJ2qPj7FDvEpdtPZjXP+LoD0NgLQ25ETjPlM54drwB5Xeca4J5UYAq6G6eSB7F2C2tIQKCyLNqNicnyHkvlVyNZeU+YUjcvrOmSt9rWzYOjK1mbht6tlwstXFmYRX1fveQ+QnZwyTuPANhRpEYdOoesDhr9Er/kFQQL0BIq5y9h8cVO/WQk9XtBdhHY+iBZyeAYMDIjBFIbFmKCfHHWPI1PPJzSZCfEAzq7CQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aK+YL4CKzVdJthe1y/GBq5XHJer5rui3mMA+WDmay1Y=;
 b=Sw+bA6VhBL8wYzgbNXOdmXO5A+ilX39EoMn0yUR9/kmpFEM75nuTlLFzC6l0wHLOSIBv+e5NYVUIp2Mc0khYBgDzHQo31V87/5X7DxQXgkeEP7t4iIWwIydMsEtFO2Jbu9dSYMrA3C7I+JFM4wfgnDRBq+oYuApO0tQFtnF6TZT+tdzzVfqe/Ngw+QWMKh+RXzjnyzTVckkKMlT6Jhp43qPecSk0rZ5lTX4btBaKocnkXWySQN/eWP1wNW0ZfOLtDOmRgLpPi9X5JIP6fiJcifTGiYHWAvEx10+XyKe/O/zes5dDDhllZguF16dMzIWFBnChknDQxwr+CA96OgwFUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aK+YL4CKzVdJthe1y/GBq5XHJer5rui3mMA+WDmay1Y=;
 b=anPxtIWT2Sufa2my+UEqE86tqhucxRAXuVVqoConWfa7LmolfwlUBES2JFXqtdTC249XGwPUcSPYOtyncELu2tA3fr8lv32pir7UynpG/gjUbsm5CSzQpcSVXOaeqJZI7d8JL+sGlHDG5Q7nDzk93r9QSTO6tVEeCJYNALV78Dg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <25bbc6e0-d11a-ad45-991b-1f6bfa21d75f@amd.com>
Date: Tue, 29 Aug 2023 09:09:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 02/20] common/device_tree.c:
 unflatten_device_tree() propagate errors
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-3-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-3-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|CYYPR12MB8937:EE_
X-MS-Office365-Filtering-Correlation-Id: 7490ebcb-d269-4b13-1b6e-08dba85ee505
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zgrACCWtMQbFIpE+mLW2Cra5TJFli1TkMRCSXVyjzkvp1g+U426bwePenmvZrU3bQCSsqcfXbAhzHSL8FnEE/FUTKPWdP00+4RDBhUWLo9qZ+O7n959xHwvDnqty4TOePzSUj+k16Moxi736zwBCFp+LKUfufw1BeZ1oeomGZLkirJ0BZfzlYEuygaJEGF2Pk+D6+XDop3ixKli1iTrjPFSAD8UztGOWVGyUTQbuRqG63fOG2cesJArXrAHAaMiy8rakPDWsDoT2kVAQujYtGotZZMDhWF6GTTJrEuISovDMVN41RgO1sNNaZTsc7snqYlsix1+owKd9bSKjjqhYzkK3sfVFHXzIja4XJKOo6HOLBNFM4f1Yw61G6+g2XzU7Xn2v5J7R83lV3z2zIKFooKm9rkfTMeJmscEA5Q1lkXmUiLa+iAhqUYmnad7vlg80psTD7pzFiRta+6YmAnV1FLv4A2ST7hlmulXU03KPzUw09aIAAQ26v7cXOfAPYtbVBvCCVfdDgO3SOypHES7XmW70DoOeOW18Sa6p68LNPcfjTOMZaHX5T6c/OgvOLSPHY2P20W7Na9jQuGn5VlFf4U/+FPv1s6vESuj4e+B0Am1dnaEmdJ9JuoD1oOfFTE228fuNiZGO6mHN4cn0UYddZ0PjRs6EDtF88gSwAj9tS7eQjzvYJ59j+8YmUpAn6AWreh/HHobVd/JYoQGbWqdMIP3IWQIGfmYQzqyd/A6aXiJHrK0vVWTcHmJIFiJgODVdx29i74mhgj91YlG6I2zPKfsX0A0ng8xQD+RA2PKPMlPelVBRoTY98VOt2yh0Azjv
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)(4636009)(39860400002)(346002)(396003)(376002)(136003)(82310400011)(1800799009)(451199024)(186009)(46966006)(36840700001)(40470700004)(40460700003)(316002)(16576012)(41300700001)(4326008)(426003)(336012)(2906002)(31696002)(86362001)(4744005)(47076005)(2616005)(36756003)(26005)(5660300002)(44832011)(8676002)(40480700001)(36860700001)(8936002)(81166007)(356005)(82740400003)(54906003)(53546011)(110136005)(70206006)(70586007)(478600001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:09:32.5141
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7490ebcb-d269-4b13-1b6e-08dba85ee505
X-MS-Exchange-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:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8937



On 25/08/2023 10:02, Vikram Garhwal wrote:
> This will be useful in dynamic node programming when new dt nodes are unflattend
> during runtime. Invalid device tree node related errors should be propagated
> back to the caller.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 07:17:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 07:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592013.924627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qasyz-0006se-5H; Tue, 29 Aug 2023 07:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592013.924627; Tue, 29 Aug 2023 07: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 1qasyz-0006sX-2R; Tue, 29 Aug 2023 07:17:49 +0000
Received: by outflank-mailman (input) for mailman id 592013;
 Tue, 29 Aug 2023 07:17:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qasyx-0006sR-Rt
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 07:17:47 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2604b673-463c-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 09:17:45 +0200 (CEST)
Received: from CY5PR15CA0039.namprd15.prod.outlook.com (2603:10b6:930:1b::11)
 by MN0PR12MB5763.namprd12.prod.outlook.com (2603:10b6:208:376::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 07:17:41 +0000
Received: from CY4PEPF0000E9CE.namprd03.prod.outlook.com
 (2603:10b6:930:1b:cafe::76) by CY5PR15CA0039.outlook.office365.com
 (2603:10b6:930:1b::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.36 via Frontend
 Transport; Tue, 29 Aug 2023 07:17:41 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9CE.mail.protection.outlook.com (10.167.241.141) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Tue, 29 Aug 2023 07:17:40 +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.27; Tue, 29 Aug
 2023 02:17:39 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 02:17: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: 2604b673-463c-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IH0TTYK1dXr+Z5QIgYmQEgG6LTcvoGYeNVNWzV1770SKd15KJ5Z/0rcme48h4+twFkySaUbaxOzgWTbD5amEr5zZvVxJHTcb1hk1RJEe4hjb2KzvOLD1mZ0CEmqRvV9TnHIAQxXIz0WTmRLCHbR6Cps3whbxDgZeecaxRo5PlQg/Qd5QAmFD9kkP+RaVyiQ3Q1+8b7oQ+fjz9quwS4Yk70NUS956e8RaBqkaTr3Fnxq53zSo8ZcQ03ymAFljiuxqrQS5XlRbcrlpEFlUq5RXGHPifAYiIXkdGYbhYG4Yn+4BuvZOyn8chrkNCA7K42WI9gAwmvSWiVkmLxlBDyfU1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UNenLMt7cnpGmNJGGKmuYR/Mqzbf65+ug7YGgqz6yHw=;
 b=Wiscb1jZ6ocgcc+S13xOo8anUcXL3Co9tnf9Vg7n5x54A7M8iGDmnEyqNCPMeQch62ItotMlyl7xbgZG1IcNmubq0oFkoGux3ToPDBrF3D5TBR2dhZXeGOM4ZK/75IATsVEpRZj4hw+icK9h+AUmXLuBYokM8/sCabHgZlq+qISO3DYSIgSaRQ992wqmG9gQJkYU1Cn3brvqZSHZCiz3Bsc6EzTFmzqsSmzJYtZD8ZT0PiyY5kpXVP0AZ7SXRIkX+WubcekpVlzonpWK21viLeVT9qzfvalSNs8xlRuafhOmJrVX7g3M1/6hdzJ1+XXDniKU14TsxaaUO7IQ1kgjFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UNenLMt7cnpGmNJGGKmuYR/Mqzbf65+ug7YGgqz6yHw=;
 b=LNlL2QKqUOoO5ISUdW/oWgTunUJ0GllcQ5OnWvtvaG+svFnS/V+ko+3E2010G63qj7lmntlzbK8RxGsF0CckAQMbKv58xMi+Lng0VyrnLZv2G0JUALtOmN8fUm762NpigAhuBaEKMAzR4ZEqLgLX9lkIWNTpwPF98wUAcwDoV5g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <64099c1c-42d6-aeb4-6d2f-566dc17580da@amd.com>
Date: Tue, 29 Aug 2023 09:17:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from
 function type
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-4-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-4-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9CE:EE_|MN0PR12MB5763:EE_
X-MS-Office365-Filtering-Correlation-Id: cd199f72-59a4-4911-fcff-08dba8600830
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z4TTLRSvK88Ir40eShteulABqxQ8/LDfGh5JSpkAiuFDdEpTMJuvmlUIq9mIpHoH3IsC5VRvXxfs+H4xsaghysrrTCJKJrccLJMIObw5ZxmwzDvMu5aPZoToKCiWGQjuyhgedmNtK0OwQbsESOFRe/U0sBVv90vf7llPAZMdB+KIq/BMMlDX1ELVP710qje9p5clq37Urxb6RKLWLT1StDc9Eg5s5bDkKo4zMpEQXdjAurXzQprq8WDzw4EJDurz5q6l8dhFyuOaLOSGwnXAAnL5lB8OgdduwN/2A5KlSEeOaBtl1zoCMkrW/+BfRMftnV+65JMH7aYZDn73Z2Ph8Z8bVXMepd7ghjfj6r6omxFBL/z48zeTzGBaY0mhEjk8F2rxakEbQYA8G6D8NGlZnr6Qqf5f1LobqV7MFx/inzuBSu/1tneIDdpgwZImtQPIzbktwdMkL033OV1mTT3tT+u9aYFevU4q/6KwJCZsxUnP0R9cL0peEDsULI90ZPyw/782ebfR65rRkdrmBzbrWTc20WK26Xnv4YTOkEcXbzf6959yMqKWcMu15nlCiuYv3DEILfrmKLL05gJBU72tKij4ACN9V+3K+EeptSggGomiXhAsYWZjyPvkzugTgPMUxpVpvgSY6lVQQGycTj+xlSoZjR+SGR3TSe7hy3KzcLVqzTEobYoUqBaOXuQAm/vg7GJhCJJIKSWuNgVeViB6Yn81bVy1fexVDQWI7SCa/fKdEoZy9SyHOrpx886xHtezifQRCyMBjd6ZVethMYvLSNkqE/gzvW9qH+mFnNYXHSmJcWG0hLJVTStvguQOJt18
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)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(356005)(81166007)(82740400003)(8936002)(110136005)(53546011)(70206006)(70586007)(31686004)(478600001)(54906003)(16576012)(316002)(41300700001)(40460700003)(36756003)(26005)(44832011)(8676002)(5660300002)(83380400001)(31696002)(2906002)(2616005)(86362001)(47076005)(36860700001)(40480700001)(426003)(336012)(4326008)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:17:40.9562
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd199f72-59a4-4911-fcff-08dba8600830
X-MS-Exchange-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:
	CY4PEPF0000E9CE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5763



On 25/08/2023 10:02, Vikram Garhwal wrote:
> Remove __init from following function to access during runtime:
>     1. map_irq_to_domain()
>     2. handle_device_interrupts()
>     3. map_range_to_domain()
>     4. unflatten_dt_node()
>     5. handle_device()
>     6. map_device_children()
>     7. map_dt_irq_to_domain()
> Move map_irq_to_domain() prototype from domain_build.h to setup.h.
> 
> Above changes will create an error on build as non-init function are still
> in domain_build.c file. So, to avoid build fails, following changes are done:
> 1. Move map_irq_to_domain(), handle_device_interrupts(), map_range_to_domain(),
>     handle_device(), map_device_children() and map_dt_irq_to_domain()
>     to device.c. After removing __init type,  these functions are not specific
>     to domain building, so moving them out of domain_build.c to device.c.
> 2. Remove static type from handle_device_interrupts().
> 
> Overall, these changes are done to support the dynamic programming of a nodes
> where an overlay node will be added to fdt and unflattened node will be added to
> dt_host. Furthermore, IRQ and mmio mapping will be done for the added node.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v9:
>     Move handle_device(), map_device_children() and map_dt_irq_to_domain() out
>         of domain_build.c
> ---
> ---
>  xen/arch/arm/device.c                   | 293 ++++++++++++++++++++++++
>  xen/arch/arm/domain_build.c             | 293 ------------------------
>  xen/arch/arm/include/asm/domain_build.h |   2 -
>  xen/arch/arm/include/asm/setup.h        |   9 +
>  xen/common/device_tree.c                |  12 +-
>  5 files changed, 308 insertions(+), 301 deletions(-)
> 
> diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
> index ca8539dee5..857f171a27 100644
> --- a/xen/arch/arm/device.c
> +++ b/xen/arch/arm/device.c
> @@ -9,8 +9,10 @@
>   */
>  
>  #include <asm/device.h>
> +#include <asm/setup.h>
>  #include <xen/errno.h>
>  #include <xen/init.h>
> +#include <xen/iocap.h>
>  #include <xen/lib.h>
>  
>  extern const struct device_desc _sdevice[], _edevice[];
> @@ -75,6 +77,297 @@ enum device_class device_get_class(const struct dt_device_node *dev)
>      return DEVICE_UNKNOWN;
>  }
>  
> +int map_irq_to_domain(struct domain *d, unsigned int irq,
> +                      bool need_mapping, const char *devname)
> +{
> +    int res;
> +
> +    res = irq_permit_access(d, irq);
> +    if ( res )
> +    {
> +        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
> +        return res;
> +    }
> +
> +    if ( need_mapping )
> +    {
> +        /*
> +         * Checking the return of vgic_reserve_virq is not
> +         * necessary. It should not fail except when we try to map
> +         * the IRQ twice. This can legitimately happen if the IRQ is shared
> +         */
> +        vgic_reserve_virq(d, irq);
> +
> +        res = route_irq_to_guest(d, irq, irq, devname);
> +        if ( res < 0 )
> +        {
> +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
> +            return res;
> +        }
> +    }
> +
> +    dt_dprintk("  - IRQ: %u\n", irq);
> +    return 0;
> +}
> +
> +int map_range_to_domain(const struct dt_device_node *dev,
> +                        uint64_t addr, uint64_t len, void *data)
> +{
> +    struct map_range_data *mr_data = data;
> +    struct domain *d = mr_data->d;
> +    int res;
> +
> +    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
> +    {
> +        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
> +               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
> +        return -ERANGE;
> +    }
> +
> +    /*
> +     * reserved-memory regions are RAM carved out for a special purpose.
> +     * They are not MMIO and therefore a domain should not be able to
> +     * manage them via the IOMEM interface.
> +     */
> +    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
> +                     strlen("/reserved-memory/")) != 0 )
> +    {
> +        res = iomem_permit_access(d, paddr_to_pfn(addr),
> +                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR "Unable to permit to dom%d access to"
> +                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
> +                    d->domain_id,
> +                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
> +            return res;
> +        }
> +    }
> +
> +    if ( !mr_data->skip_mapping )
> +    {
> +        res = map_regions_p2mt(d,
> +                               gaddr_to_gfn(addr),
> +                               PFN_UP(len),
> +                               maddr_to_mfn(addr),
> +                               mr_data->p2mt);
> +
> +        if ( res < 0 )
> +        {
> +            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
> +                   " - 0x%"PRIx64" in domain %d\n",
> +                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
> +                   d->domain_id);
> +            return res;
> +        }
> +    }
> +
> +    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
> +               addr, addr + len, mr_data->p2mt);
> +
> +    return 0;
> +}
> +
> +/*
> + * handle_device_interrupts retrieves the interrupts configuration from
> + * a device tree node and maps those interrupts to the target domain.
> + *
> + * Returns:
> + *   < 0 error
> + *   0   success
> + */
> +int handle_device_interrupts(struct domain *d,
This needs to be renamed. AFAIK you agreed on map_device_irqs_to_domain().

> +                             struct dt_device_node *dev,
> +                             bool need_mapping)
> +{
> +    unsigned int i, nirq;
> +    int res;
> +    struct dt_raw_irq rirq;
> +
> +    nirq = dt_number_of_irq(dev);
> +
> +    /* Give permission and map IRQs */
> +    for ( i = 0; i < nirq; i++ )
> +    {
> +        res = dt_device_get_raw_irq(dev, i, &rirq);
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
> +                   i, dt_node_full_name(dev));
> +            return res;
> +        }
> +
> +        /*
> +         * Don't map IRQ that have no physical meaning
> +         * ie: IRQ whose controller is not the GIC
> +         */
> +        if ( rirq.controller != dt_interrupt_controller )
> +        {
> +            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
> +                      i, dt_node_full_name(rirq.controller));
> +            continue;
> +        }
> +
> +        res = platform_get_irq(dev, i);
> +        if ( res < 0 )
> +        {
> +            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
> +                   i, dt_node_full_name(dev));
> +            return res;
> +        }
> +
> +        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
> +        if ( res )
> +            return res;
> +    }
> +
> +    return 0;
> +}
> +
> +static int map_dt_irq_to_domain(const struct dt_device_node *dev,
> +                                       const struct dt_irq *dt_irq,
> +                                       void *data)
Parameters are not alligned. Should be:
static int map_dt_irq_to_domain(const struct dt_device_node *dev,
                                const struct dt_irq *dt_irq,
                                void *data)

> +{
> +    struct map_range_data *mr_data = data;
> +    struct domain *d = mr_data->d;
> +    unsigned int irq = dt_irq->irq;
> +    int res;
> +
> +    if ( irq < NR_LOCAL_IRQS )
> +    {
> +        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
> +        return -EINVAL;
> +    }
> +
> +    /* Setup the IRQ type */
> +    res = irq_set_spi_type(irq, dt_irq->type);
> +    if ( res )
> +    {
> +        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
> +               dt_node_name(dev), irq, d);
> +        return res;
> +    }
> +
> +    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
> +
> +    return res;
> +}
> +
> +/*
> + * For a node which describes a discoverable bus (such as a PCI bus)
> + * then we may need to perform additional mappings in order to make
> + * the child resources available to domain 0.
> + */
> +static int map_device_children(const struct dt_device_node *dev,
> +                                      struct map_range_data *mr_data)
Parameter is not aligned.

[...]
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index 19dc637d55..1a052ed924 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -165,9 +165,18 @@ void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
>  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);
Remove the rangeset parameters. AFAIK you'll introduce it later, so this is a mistake
causing the build to fail.

> +
> +int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
> +                             bool need_mapping);
Don't forget to rename.


With all the remarks above addressed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 07:24:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 07:24:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592020.924638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qat55-0008RJ-RV; Tue, 29 Aug 2023 07:24:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592020.924638; Tue, 29 Aug 2023 07: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 1qat55-0008RC-Mw; Tue, 29 Aug 2023 07:24:07 +0000
Received: by outflank-mailman (input) for mailman id 592020;
 Tue, 29 Aug 2023 07: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=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qat54-0008R6-8R
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 07:24:06 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07542e1a-463d-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 09:24:04 +0200 (CEST)
Received: from MW4PR03CA0078.namprd03.prod.outlook.com (2603:10b6:303:b6::23)
 by DS7PR12MB8370.namprd12.prod.outlook.com (2603:10b6:8:eb::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 07:23:59 +0000
Received: from CO1PEPF000044EE.namprd05.prod.outlook.com
 (2603:10b6:303:b6:cafe::7a) by MW4PR03CA0078.outlook.office365.com
 (2603:10b6:303:b6::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Tue, 29 Aug 2023 07:23:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044EE.mail.protection.outlook.com (10.167.241.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Tue, 29 Aug 2023 07:23:58 +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.27; Tue, 29 Aug
 2023 02:23:58 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 02:23: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: 07542e1a-463d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cQoaUXA1ifKE18K5ziUyQ7PKzerWa6w3YRW5rs5ksXSlHvwyhfeaW7S05cYSY0aWpjMn7AmMKsKOwd/bRDSBoPmqZbQ/REEy76A+I27WOoG1O4Oz7uhF3BE7bEJa02PAVUPgSsu0RzKqnzfpAehi2ZKBkEbTDij8c+R8WFmrG27PQnOaP9sBDehXETFR5Y463HzQizdAdr3RMbkeOApA2xzXvhxaL1Mq3y2kodwwcuv2qtv49NYQHlAmYchyYgmNayYpAKWsrmtirOSVXrF1YEjZmIQsKC/15Ndg3XVjiOGyDSW0xCJfPp6Hou3AEv/VgQwAOXSsHf0xjbWRkKrEMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yMyLHfn1jgMSaZ5YTNakByCaJmkV34p++Pt33Euw/w4=;
 b=Fe4v34L0H4hjp0EWtz5ujMQImrY0yrD4976/tJoCQdDlZyL8uDC2b3hnulH73r0GxXRCEgcdpRpTS/GoYCQAb87PkcyR6Kd3smuztknQly4PX5RTbevU+oMEzqlyjyeVc7Ws8LjZs8ImvUDQKnz9UeLVCcfhTgPXP10+ZkA+qETTkqISwK56jLNRIrHEM2YjW/bYKr2eDe0khcwEaMQGn3mFuZ8f+rmy5mSVrqoScR/dyFvUqHq7p6JsVEwEXKM4IzvQUh2AZbeQwgsHQAXzLG47x74ixemfbd4tspaAVJ4REiee0PZm2Xh6dDSlqxQStI+n0CTsJNwSh7phqh3prA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yMyLHfn1jgMSaZ5YTNakByCaJmkV34p++Pt33Euw/w4=;
 b=ewLietCwXIi9s/AMrz4N/vAyIWxJXZJBDrDgGjVstQLlrjHRjZ4rouyl8DqciO54nhhhSmLpWT9kbbM8A7quo+K6kYdDDQrw1SiJj/oKgfYQWJkm1023/hOVYS7Cz4fZxJm1pUJqI4p8vNmw7S2iRAbnH5EtLBFuDV6vvJQxgEk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <68c5a544-0486-d2ac-28d3-1feab2502f2e@amd.com>
Date: Tue, 29 Aug 2023 09:23:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 05/20] xen/arm: Add CONFIG_OVERLAY_DTB
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, Henry Wang
	<Henry.Wang@arm.com>, Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-6-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-6-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044EE:EE_|DS7PR12MB8370:EE_
X-MS-Office365-Filtering-Correlation-Id: 72594874-44bc-4b65-0ea2-08dba860e937
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VV2e8eDoDiEK8dEVDjq0DxojzPYKXQhyFCv6BvwYYPfQOb0hMDdhc8N0NNMoW4ynOB0SbGU0azirDr546EuxovI6D2JUS1E2qUuKVI14+UleZxZMrGmGS7ltra9/msN+1udi9Q+O92sLqJuXjR+lblZNWE8qcrnzCzCXBC8vvqlAQi3yxZ1sUU92HCYmZTsz+TPMdB+SEMDnkIW8gRYb7mG6zubG+cYm2oc/rGd1HFwSmQm8FkL3hxlaW27y1O41jOAEVSAcEKPPChyMDdA7rNxV8ChE/4tQJc4XNb/0VHYQeVgrsXv8M1eZ3ifMqmWJTKAy8Y6F70ym6zpCy/hmdIcoppLPeyhxCVMPxYijXg604+LGwFUpOMXKMTYF785v5hYdZV4kSXdbMUN1TVegip1UVaNw8pt6IwK2Nodg+5ZbzF7vX/4UoyUN112tKIkTGoHu+CZ6hCkeY13LBQPJATdtGqv1cVyuHYPutRe4iYefmw3jY/SQ8u2kn/WclXN4MEmdfDkTT97A3vxg9wwDRVWXqmTUj+eRiiziVDSzakjre0PBNiXUib9bL1HeoG4NIMKaN/Tr0v1Oqbk1W2xip6vi6wFYIleD18RXC3RNk1qVBlRq7M0GKGEHrHCMgYxsi4kJLUiNgaxoMwd/z53Gmfqo4EFm/20ZDupICKcKsLdj8NCjP94IrnZkFB4jKDvPaKJRB0NX5ADpnSsUE4WQZ6wOpYx36cLThrilnYmaKexvdZMkr3+guX1gjhnd2+rXzM9euAxxjoYyo+meoE2hrLwVpsO4HzUm8rCBFGSknySXLK/+D9UZvtB/8SdI6xyi
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)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199024)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(356005)(81166007)(82740400003)(8936002)(110136005)(53546011)(70206006)(70586007)(31686004)(478600001)(54906003)(16576012)(316002)(41300700001)(40460700003)(36756003)(26005)(44832011)(8676002)(5660300002)(83380400001)(31696002)(2906002)(2616005)(86362001)(4744005)(47076005)(36860700001)(40480700001)(426003)(336012)(7416002)(4326008)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:23:58.4364
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 72594874-44bc-4b65-0ea2-08dba860e937
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8370



On 25/08/2023 10:02, Vikram Garhwal wrote:
> 
> 
> Introduce a config option where the user can enable support for adding/removing
> device tree nodes using a device tree binary overlay.
> 
> Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
> Arm.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Acked-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ---
> Changes from v9:
>     Fix style.
> Changes from v7:
>     Add this feature as "experimental support" in CHANGELOG.md
> ---
> ---
>  CHANGELOG.md         | 3 ++-
This patch does not apply cleanly on latest staging so please rebase for v11.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 07:41:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 07:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592027.924646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qatLn-0002jJ-Ax; Tue, 29 Aug 2023 07:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592027.924646; Tue, 29 Aug 2023 07:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qatLn-0002jC-8H; Tue, 29 Aug 2023 07:41:23 +0000
Received: by outflank-mailman (input) for mailman id 592027;
 Tue, 29 Aug 2023 07:41: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=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qatLm-0002j6-V3
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 07:41:22 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 708978a3-463f-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 09:41:19 +0200 (CEST)
Received: from DM6PR03CA0027.namprd03.prod.outlook.com (2603:10b6:5:40::40) by
 CH0PR12MB8577.namprd12.prod.outlook.com (2603:10b6:610:18b::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 07:41:14 +0000
Received: from CY4PEPF0000EE30.namprd05.prod.outlook.com
 (2603:10b6:5:40:cafe::a4) by DM6PR03CA0027.outlook.office365.com
 (2603:10b6:5:40::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18 via Frontend
 Transport; Tue, 29 Aug 2023 07:41:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE30.mail.protection.outlook.com (10.167.242.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Tue, 29 Aug 2023 07:41:13 +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.27; Tue, 29 Aug
 2023 02:41:12 -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.27; Tue, 29 Aug
 2023 02:41:12 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 02:41: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: 708978a3-463f-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TFu8JmKvZXsFk71A5SPL7qUSJZG2B2qZlvXGTiOSWUIHgWpJyXl5uDvEYBx1GAb7ubC48A+EzN/dwHHXXQW0ej4pcxbirdnwDewcWJqOWSC7o/6sLh5t+AtB6paG0KSjisTfbxeQNlfN3Xwvmcm/v396nbVdmikac67JMNz/oRxO0X6InN1KkZrkXSjlnmdiZU+CPS47Yn54XgALL8DPSP1qBuW17SbvVCBayrZAyJO/GjcJ+OkhaL/Esc4HNXe1pCd81LncijXXKBI3GArvgckC2sGttLPztX7skAo4CdO+d+kNV0g9UCIC3OHRrrOF3U96ETUUFiWtiNxjzeKM9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E/Ew64MZX3WcrpMkh21UO9lEiTgFg85st2io3A5TiHM=;
 b=dinOE8JDLAql4Rbb3zKb7T3BpelM7u1UFXhWK6dFgrVR/5eMQIZ1cwM7uR8qApCBrkqvcQfpvyJ2IuVkc+DdCjhDeJkUivxAsqc+zqUWU9u1RoXk8FHbrctz8tV5Hdp8mdyBWhrfEdukjowXc6Szui8Jp4qsJfT6rx/ay/887s1UDG9rtUtAYisnRkm7lcQHGcEze6szeLjrF1NWKh6HIXVO6ks49f68I9EnjSOMB4ifYhARQRdDMbIfIeEBhmpZ86jFycU8wGek/lC9V2QN+xPtjIFgyIcNHb7O66T+cCWYBwU5Y3lEcGViiomG0gLGsecVx+35mDUPuFyTctLXag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E/Ew64MZX3WcrpMkh21UO9lEiTgFg85st2io3A5TiHM=;
 b=tZ0DGwlWtdeDV4G6qWKhnF30/ik4PSk+miOvF7wNvpDZ02Qo8IKTKABPB85Bl38UveTJKrJRU4VdxX5WLAA24atLEb5licl6OX6px1geL2zSZBIZd8imO9V64JRd8rN/eCoo7jQgZ6K7clPxZwBLYXpsbrxZGFwih+InxU1lpG8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2fd90109-acbd-109c-c635-ab318028450f@amd.com>
Date: Tue, 29 Aug 2023 09:41:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 08/20] xen/device-tree: Add
 device_tree_find_node_by_path() to find nodes in device tree
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-9-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-9-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE30:EE_|CH0PR12MB8577:EE_
X-MS-Office365-Filtering-Correlation-Id: e2caa390-20c7-41e4-73c8-08dba8635210
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+Flp7zwJ4IJguXtd5T7S0IttfHcTz8Ft/vuEpUtUDqylizUoPga2mg9nY9puE6+vaT7KL+gV9qoVlO/uEyGDNwBdYYC93UsPUHDvM8yvn11IlBXtj5Fmxo/4E2ub5jw0Ub7gAXU4WBppLPTmEHYtz+rU1Fr6wmI/YbfRglF41N9HeffoqRxvArynCvbgykSnO2CTDaIGAmb7oQVqzXVwEKG4/3zHC2zIra0j5d0J7qD490jiPitfv0Yc4kxnHldrwAJF38p5srhdQXJcCKzzq7V5/SwKLlKrS7GV5WjKL6BFrtiOI0qtqCdODvLLzdrxKTZBzM8c5V9++/2A3YB2wsE/PsubVgNkCCHiZFRZSpJmGePut0jgVlTi9XFdUT4V6U248zjhLb84D1/AY4uqdUXhgs0prWPttpqm9zGUqwNw6uJI3Y4l2Q866ehxf9pAMR9+7Yl7Nc4dgTdiyYr+gc1fLlJBbqdFoHXUTUY1wuPezVztmQDR2UqKvCcWJKOzNAt3PEv6YCKZOizppE2Cbx7CGV2a5EsQY42BQXo1+vfEanknBSzMsn+SYf4E5emdHuyCDY8ktDKdBI1xlYTndQh2wrlbZezmmv8xYuyAVFIN/+qa/9Gyk04NP1Ndje5I7EhQPnksDuT+UYCFVjsjTAzy8r+lyrIL1OE+kL7XGGDQgF0pk3NUra66KlqNtO1miwPVlD2rI45KIl7aSdRo7gCr5SSyqgloabpRyXvzlDGj6CZeSisEPDPTD0NVQGfxZ8uezsMyx5DQeFjZXXhXL/2SYOIXsBimqqSZownS0RjbWmtnbmUwbXEv3cP0h+nPSP09+yZDr66MgsiFrTXUeA==
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)(4636009)(136003)(396003)(39860400002)(376002)(346002)(451199024)(82310400011)(186009)(1800799009)(36840700001)(46966006)(40470700004)(31686004)(82740400003)(356005)(40460700003)(36756003)(86362001)(81166007)(31696002)(40480700001)(36860700001)(47076005)(2616005)(478600001)(2906002)(4744005)(426003)(336012)(26005)(53546011)(83380400001)(110136005)(70206006)(70586007)(8936002)(4326008)(8676002)(5660300002)(44832011)(41300700001)(54906003)(16576012)(316002)(37363002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:41:13.4158
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e2caa390-20c7-41e4-73c8-08dba8635210
X-MS-Exchange-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:
	CY4PEPF0000EE30.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8577



On 25/08/2023 10:02, Vikram Garhwal wrote:
> 
> 
> Add device_tree_find_node_by_path() to find a matching node with path for a
You renamed it in v8 so both here and in commit title: s/device_tree_find_node_by_path/dt_find_node_by_path_from/

> dt_device_node.
> 
> Reason behind this function:
>     Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
As Julien requested: add space between fdt and (

>     device_tree_flattened) is created and updated with overlay nodes. This
>     updated fdt is further unflattened to a dt_host_new. Next, we need to find
>     the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
>     and add the nodes as child under their parent in the dt_host. Thus we need
>     this function to search for node in different unflattened device trees.
> 
> Also, make dt_find_node_by_path() static inline.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
With the remarks addressed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 08:06:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 08:06:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592037.924656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qatjo-0005tJ-Nd; Tue, 29 Aug 2023 08:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592037.924656; Tue, 29 Aug 2023 08:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qatjo-0005tC-L0; Tue, 29 Aug 2023 08:06:12 +0000
Received: by outflank-mailman (input) for mailman id 592037;
 Tue, 29 Aug 2023 08:06:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qatjn-0005t6-3j
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 08:06:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e77f4341-4642-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 10:06:07 +0200 (CEST)
Received: from MW4PR03CA0136.namprd03.prod.outlook.com (2603:10b6:303:8c::21)
 by DS0PR12MB6583.namprd12.prod.outlook.com (2603:10b6:8:d1::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 08:06:04 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:8c:cafe::45) by MW4PR03CA0136.outlook.office365.com
 (2603:10b6:303:8c::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Tue, 29 Aug 2023 08:06:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6768.2 via Frontend Transport; Tue, 29 Aug 2023 08:06: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.27; Tue, 29 Aug
 2023 03:06: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.27; Tue, 29 Aug
 2023 03:06:02 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 03:06: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: e77f4341-4642-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M9DLE78xIl+acbLtx6RHcPBpBInNI0c08sbAFwRaurYSq0ud2Kkba+uySh6JJUnlC+YFUka4x2N5nlU7KAPLG77ONFqVU3zBqaGOV0Qpv81/NxmW6ykZpS4mySNurpktaqm8D2HNyeCaqRBQhXyhD2j6gRFYfJ0J9oNHBNNre4TWEkHoxCo31bUR9GJ29ILMEp+HaJ9lM0uYjJncsbnrcJ0K4T5EVol8JwDREYtgyQyqeKrPOgSBmR1Xhj8JotjSNWbGnKV9SNTdthN5efpGTZnNCL846tlE49fFOBb9/VIwVyJl7tvwVyY847mx4MKM33ZL+vCuDL1vXRyqSpXT4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xjlMyVt3p2CWSMNmgQxsm5mIpeTRot1yu7yCKswk6No=;
 b=QoFgLHDrEn48S7cMIliuMTE07NjM36qd+WmrE9dg4mgqHZ49HU707lvclSjNVOQixyFPJPaOXg03r1qvms2MzseU/N4ydD/ZiOth1SU7skyYhHbUDPEHcSqp7EpTpe8lDT1a9MIXbNZheS91i7nBhRjk9RBivJmPcH3lmS+b73i9iK4sWxwa27UqDabxVxyvUGwotl+SvKhDox5YbtpyOS5r9ObTovsmv7ZdRxTx5peUCjIhzH1yvR7l67bcQZTITVD5b+9Un6HQGTwHYUjTLlTva8yEX4c9aAwIOcZXa3fKl0bXkM4JXUp6jcxfR11seAJR1qo24Lw4cpz+lMk5Ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xjlMyVt3p2CWSMNmgQxsm5mIpeTRot1yu7yCKswk6No=;
 b=0ZnXYmvnn+ZtI/9PI1Susv+kHp0VavlJ9XJoFLlW5Sabf5oL7mOvF44N+p80tg2ayG95AZbCDdZsiQpBVa7Ftf/jJwBR8ahyUAR2JN6uXx9BSKD+W4SPU+HxLOE58/ynbDZwyC5qwxsHqlyrNhilLBKun2oX4QRAWjoCpslffjU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <301f4799-ff57-c697-94ab-62eb39397c44@amd.com>
Date: Tue, 29 Aug 2023 10:05:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 09/20] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-10-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-10-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|DS0PR12MB6583:EE_
X-MS-Office365-Filtering-Correlation-Id: 60f23293-b6d8-45d6-f03d-08dba866ca04
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YJdRXEpSHHYZxPf6PoF8jkFDitJsYaiKtjaJ7wXHNfGvBMHiFVxeXD+Bw+KxLq36aJn7gjgXYfSEq4JvaXTDO5WbG9HAo2rXtAP0tPzML6QG2+41hhV2PgvF4D6eYsVvO6nlchB5mk88fsR78UC2rbuxXriEu1epVPo0Xo5t8qRoV9bfCnCam5dgt/QiMqJOwj1rxY5sRY1WLhAq+v/g9m3wDla+Kic1SAPRms5jyGxJENh1/XHeIxi7V7LAaWWvsL1Qf6oiOYYlZJGn3Yz85xzto5Gf5ACB3Vp2pLpOyu8UWLGhtgnujZDcphaNZe1TRM2YayY5xr7ycZrBbJ201ioSBJTueK0T0purW+uJ1QeweoVxp6BJ82AivWQ1mpWVj2LQcfCbjRg4sNgtZbxxxXFgXlTQKhB3zfFNp3FxKCvSTDENAVct3UW4xg0ziipUMljIwSWJReFZxiO+gauWKfCHJBJU5Ngd1Ctcd9W5Ais/ABBE90ybIEQcqyAWAJkwsLUKt1QLCqveHvcVh/63YEmYjC3FBWWB9fnc84PpBxf+o4KTLmY3MlH9f4tuZOkl5yDFNBppn9OG+cUjuj+uMEi0CD5NCukevXvTNIjnn9qpuGuK3+U/dhviYZB+H/CL15IyEadCH5DyivzfiJbQYwX3sR6PcvLdMmKg8XUs5iocPyNPOKL/1/9BI2rgTgBEsUSBswfXRpwSw3uqnNvl1vXXmxoNW+1GiIQQxcBsJ6CP88PX0zeEUo/9z4dPAaEA4aP0JRwrEF3hWrOr9hv56dWR1eQIIcmDYIDhVTaN/wvj4RTVfcXB9H9VAkbei3KA
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)(4636009)(396003)(39860400002)(376002)(136003)(346002)(186009)(451199024)(1800799009)(82310400011)(40470700004)(36840700001)(46966006)(31686004)(6666004)(5660300002)(70206006)(40460700003)(36756003)(2616005)(31696002)(86362001)(81166007)(356005)(47076005)(40480700001)(36860700001)(82740400003)(2906002)(83380400001)(336012)(478600001)(426003)(53546011)(110136005)(26005)(8676002)(70586007)(8936002)(54906003)(41300700001)(316002)(16576012)(4326008)(44832011)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 08:06:03.0946
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 60f23293-b6d8-45d6-f03d-08dba866ca04
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6583



On 25/08/2023 10:02, Vikram Garhwal wrote:
> Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> 
> Moving spin_lock to caller was done to prevent the concurrent access to
> iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> patches in this series introduces node add/remove feature.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v9:
>     Make iommu_dt_device_is_assigned_locked() static and delete header.
>     Move dtdevs_lock before iommu_dt_device_is_assigned_locked().
> Changes from v7:
>     Update commit message.
>     Add ASSERT().
> ---
> ---
>  xen/drivers/passthrough/device_tree.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 1c32d7b50c..5d84c07b50 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -83,16 +83,17 @@ fail:
>      return rc;
>  }
>  
> -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> +static bool_t
> +iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
This does not apply cleanly due to recent change from bool_t to bool. Please rebase for v11 (the function
should then fit in a single line I think).

>  {
>      bool_t assigned = 0;
>  
> +    ASSERT(spin_is_locked(&dtdevs_lock));
> +
>      if ( !dt_device_is_protected(dev) )
>          return 0;
>  
> -    spin_lock(&dtdevs_lock);
>      assigned = !list_empty(&dev->domain_list);
> -    spin_unlock(&dtdevs_lock);
>  
>      return assigned;
>  }
> @@ -223,17 +224,24 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>          if ( ret )
>              break;
>  
> +        spin_lock(&dtdevs_lock);
Why is this lock placed here instead of ...
> +
>          if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
>          {
> -            if ( iommu_dt_device_is_assigned(dev) )
> +
... here, right before iommu_dt_device_is_assigned_locked()?
> +            if ( iommu_dt_device_is_assigned_locked(dev) )
>              {
>                  printk(XENLOG_G_ERR "%s already assigned.\n",
>                         dt_node_full_name(dev));
>                  ret = -EINVAL;
>              }
> +
> +            spin_unlock(&dtdevs_lock);
>              break;
>          }
>  
> +        spin_unlock(&dtdevs_lock);
You could then remove this one.

With the remarks addressed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 08:23:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 08:23:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592044.924666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qau0l-0008Nt-3S; Tue, 29 Aug 2023 08:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592044.924666; Tue, 29 Aug 2023 08:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qau0l-0008Nm-0v; Tue, 29 Aug 2023 08:23:43 +0000
Received: by outflank-mailman (input) for mailman id 592044;
 Tue, 29 Aug 2023 08:23:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qau0i-0008Ng-RR
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 08:23:40 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e89::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59d6f948-4645-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 10:23:38 +0200 (CEST)
Received: from SA9PR13CA0175.namprd13.prod.outlook.com (2603:10b6:806:28::30)
 by SA0PR12MB4512.namprd12.prod.outlook.com (2603:10b6:806:71::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 08:23:34 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:806:28:cafe::6d) by SA9PR13CA0175.outlook.office365.com
 (2603:10b6:806:28::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18 via Frontend
 Transport; Tue, 29 Aug 2023 08:23:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.16 via Frontend Transport; Tue, 29 Aug 2023 08:23: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.27; Tue, 29 Aug
 2023 03:23:33 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 03:23: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: 59d6f948-4645-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NlluB7Rd6C0W2ppqptR7xmerMPlAFJcVWsx+zjPsplEFMFyP8CfnNTNP2l1ZoKKSxA6wDw9Xo/01F+nunvo8iTk3bBl25eQIhuCsOrymHoEKy/q3h3jXmNLdLatp7ND2J71KH39wgqD0L2Xq4csGoLGOvMWD2PPVil+xRTu4oB3oyyuEp9zUu/dd29xSqIZVDGftVTQbPfa+RuQAYoDeJoPipqs0Vy8Uus/CLdKakHUORVeH7ismtUwarSTyNh0FMBfNqLL4PAXNNWRvyPcxrY4L+Kfr32Uo8B/8CARox9Jcpz185jwcIClxUy5IZ8e66S4oy2arU5iHNPsizJvjZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0TIIR/SAYAHYG+ymayrp8H40TqJK+DwvMn8MFvplxx8=;
 b=KesA607KHZHckbTaYQOkqIyx1D/x4DTjq9T3vXp6crAx9FD5PRa8+hAaqoxqFJdAJ5YLryU1Vn+BlvLwhOGeBrAdaoLIIqRYJHzEPpYYlrSNQqC2Qc5g4pXoiMrz7x2UYxwatuzICB2u1zBm+ADvM9MpxXW+BaQ8OZt6m3Wv0aI7qw5ItXkXAEfnZIMi2sjeoEXctNcG/GTLhSqhiR8b/NJnW4AnzJSOnenA87vvw1hy58JZ9TxKRZ2+Bj6k903gq1CRaD0JcOtB4tF1c2yCPREavxVVtsKDxrCe/5CM0oq9mQY1tbuuvzKgx8InHgXCdy1ABr+t2ZmLZLTgct753g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0TIIR/SAYAHYG+ymayrp8H40TqJK+DwvMn8MFvplxx8=;
 b=Tuv7bBKfj4JfHbeBL4f8Ki/NqRngPpFhuLy69XIjNdCggDwb/FrxzvNqIxN60YdF0UqHdsyx7VFr6VAUIfF/J181vZGZaPBrTzY8sPImahMDz6a049NHTPIT+CsIOtedS8fmIDI0kzue9yHo8a8eCaSxUFLzcZ/dz9/YUWfUli0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com>
Date: Tue, 29 Aug 2023 10:23:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 11/20] xen/iommu: Introduce
 iommu_remove_dt_device()
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, Jan Beulich
	<jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-12-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-12-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|SA0PR12MB4512:EE_
X-MS-Office365-Filtering-Correlation-Id: 066502ab-ddd8-4d34-6c95-08dba8693c27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oF9HUFY6Rw1wxoJljqG0ZYYMv618tOr5dW70WQXAjz9vb2uMIOkXSZ6tAvwAszwJVgXtsLJvIEbQzBzdhv0TDMSVi70z2asQ0cav1ysgYHRjtJQ5B0TaRAyNqal2qYnMXQaLnpUFt1dbNgmEouvR6k/gNNDHBVtUUEasCQl9bmzuE9J/17qS77Ma5ZVqPo/D2cVvCIHe7b8HjYEDx3MB6HTFekrSjc4G9m0sKQm/A3WFaWUBjwdx0T7FSrIQrQWsErqb1JVnLjkoC9xgRi98gyvBzM3ISMDOqamvXIsXi0ZHmvXMBsFw1n9RHJTOmvszzuYm2cqg78exi5Rs4uhjgEHglFHOKswD5Kt6jaeM766dqzjz/tVF6t8hw2vka94W1xm4/M4tPmHZY8vL4qB7K5oiz+ZgGac4Pn9cYUq/MEgvBda0RpjTWePuOL6NrHaKo+53D5Kk2Ek9i08xoZswvntYJ7OEwE+CH6FgN2UD2GFxyemR26fzPKYvYKC1eTRufAQhx1T16uMljspGwsJzK2oyDT1sp19N5jKEWKqeNweyASG3mIbBeuRFuCfaZywbYB49UjDoVp4J+464Ig+Maw9A6u4X+rKAlcWV0Kd/jge3t78GvUzpXc44Ep2saNgypz9wYdD6hPuHchYDhpubXHPaLsXzbSA8047S0h39hFgNimNyLAMh/fmylMWAuiAgjP0W79xMJ1rDFB8zDA53sD6LRDnbfODb+AHuqJr5TXRCGr723HbtkIAmdCORodWFgyfsOuXJkS0n1ujLwgRa8TqDwYGllp5kMSZi2T1iS6Hk6T26MW1g2/xFpCdHrVWS
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)(4636009)(376002)(39860400002)(346002)(136003)(396003)(1800799009)(451199024)(82310400011)(186009)(36840700001)(46966006)(40470700004)(2616005)(36756003)(26005)(478600001)(40480700001)(86362001)(83380400001)(8676002)(8936002)(47076005)(36860700001)(110136005)(70586007)(53546011)(336012)(426003)(31686004)(316002)(41300700001)(16576012)(70206006)(54906003)(44832011)(4326008)(5660300002)(2906002)(40460700003)(356005)(81166007)(82740400003)(31696002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 08:23:33.6681
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 066502ab-ddd8-4d34-6c95-08dba8693c27
X-MS-Exchange-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:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4512



On 25/08/2023 10:02, Vikram Garhwal wrote:
> Remove master device from the IOMMU. This will be helpful when removing the
> overlay nodes using dynamic programming during run time.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

You don't seem to handle Julien remarks for this patch made in v9.
I will forward them here to avoid answering to old version, but for the future, do not carry the exact same patch
if you haven't yet addressed someone's remarks.

> 
> ---
> Changes from v7:
>     Add check if IOMMU is enabled.
>     Fix indentation of fail.
> ---
> ---
>  xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
>  xen/include/xen/iommu.h               |  1 +
>  2 files changed, 45 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 1202eac625..3fad65fb69 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
>      return 0;
>  }
>  
> +int iommu_remove_dt_device(struct dt_device_node *np)
> +{
> +    const struct iommu_ops *ops = iommu_get_ops();
> +    struct device *dev = dt_to_dev(np);
> +    int rc;
> +
> +    if ( !iommu_enabled )
> +        return 1;
J:
The caller doesn't seem to check if the error code is > 0. So can we 
instead return a -ERRNO?

If you want to continue to return a value > 0 then I think it should be 
documented in a comment like we did for iommu_add_dt_device().

> +
> +    if ( !ops )
> +        return -EOPNOTSUPP;
> +
> +    spin_lock(&dtdevs_lock);
> +
> +    if ( iommu_dt_device_is_assigned_locked(np) )
> +    {
> +        rc = -EBUSY;
> +        goto fail;
> +    }
> +
> +    /*
> +     * The driver which supports generic IOMMU DT bindings must have this
> +     * callback implemented.
> +     */
J:
I have questioned this message in v7 and I still question it. I guess 
you copied the comment on top of add_device(), this was add there 
because we have a different way to add legacy device.

But here there are no such requirement. In fact, you are not adding the 
the callback to all the IOMMU drivers... Yet all of them support the 
generic IOMMU DT bindings.

> +    if ( !ops->remove_device )
> +    {
> +        rc = -EOPNOTSUPP;
> +        goto fail;
> +    }
> +
> +    /*
> +     * Remove master device from the IOMMU if latter is present and available.
J:
I read this as this will not return an error if the device is protected. 
However, AFAICT, the implement in the SMMU driver provided in this 
series will return an error. So I would suggest to replace this sentence 
with:

de-register the device from the IOMMU driver.

> +     * The driver is responsible for removing is_protected flag.
J:
Can you add an assert in the 'if ( !rc )' block to confirm that 
is_protected was effectively removed. Something like:

ASSERT(!dt_device_is_protected(dev));

This would help to confirm the driver is respecting what you expect.

> +     */
> +    rc = ops->remove_device(0, dev);
> +
> +    if ( !rc )
> +        iommu_fwspec_free(dev);
> +
> + fail:
> +    spin_unlock(&dtdevs_lock);
> +    return rc;
> +}
> +
>  int iommu_add_dt_device(struct dt_device_node *np)
>  {
>      const struct iommu_ops *ops = iommu_get_ops();
> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> index 110693c59f..a8e9bc9a2d 100644
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
>  
>  int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>                         XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
> +int iommu_remove_dt_device(struct dt_device_node *np);
>  
>  #endif /* HAS_DEVICE_TREE */
>  

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 08:45:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 08:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592053.924677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qauLC-0002bs-TX; Tue, 29 Aug 2023 08:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592053.924677; Tue, 29 Aug 2023 08: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 1qauLC-0002bl-QX; Tue, 29 Aug 2023 08:44:50 +0000
Received: by outflank-mailman (input) for mailman id 592053;
 Tue, 29 Aug 2023 08:44: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 1qauLB-0002bb-FN; Tue, 29 Aug 2023 08:44: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 1qauLB-00057W-7i; Tue, 29 Aug 2023 08:44: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 1qauLA-00046L-Mx; Tue, 29 Aug 2023 08:44:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qauLA-0005p5-MX; Tue, 29 Aug 2023 08:44:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RMVex1w+hWiIZ5wP+0MntmrHs61f3/rmDmX9g3gZdy8=; b=L/2jkXRFSCxSX257VXBOL/EnH/
	M3R3Essu5fNnOHY22JgHCQXajpk4gZOs0Yw/+/7FFXmyMdonkVYAkQyT5nTIXgR5sksn+IPl2/MoZ
	q7Pt1Yg8hYx0OdeYL4V0fz/F2gETVdkS85IaLlZmvlQzYnKNdgTqSE3uvdN8vBcNnuI8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182544-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182544: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=727dbda16b83600379061c4ca8270ef3e2f51922
X-Osstest-Versions-That:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 08:44:48 +0000

flight 182544 linux-linus real [real]
flight 182552 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182544/
http://logs.test-lab.xenproject.org/osstest/logs/182552/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail REGR. vs. 182531

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64  8 xen-boot     fail in 182552 pass in 182544
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail pass in 182552-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182552-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182552 like 182531
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182531
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182531
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182531
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182531
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182531
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182531
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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-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-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                727dbda16b83600379061c4ca8270ef3e2f51922
baseline version:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c

Last test of basis   182531  2023-08-27 22:41:14 Z    1 days
Testing same since   182544  2023-08-28 20:42:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Christian Brauner (Microsoft)" <brauner@kernel.org>
  "Darrick J. Wong" <djwong@kernel.org>
  "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
  "Guilherme G. Piccoli" <gpiccoli@igalia.com> # Steam Deck
  "Gustavo A. R. Silva" <gustavoars@kernel.org>
  "Matthew Wilcox (Oracle)" <willy@infradead.org>
  "Peter Zijlstra (Intel)" <peterz@infradead.org>
  "Steven Rostedt (Google)" <rostedt@goodmis.org>
  Ahelenia ZiemiaÅ„ska <nabijaczleweli@nabijaczleweli.xyz>
  Aleksa Sarai <cyphar@cyphar.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
  Alexey Gladkov <legion@kernel.org>
  Alexey Khoroshilov <khoroshilov@ispras.ru>
  Amir Goldstein <amir73il@gmail.com>
  Anand Jain <anand.jain@oracle.com>
  Anders Larsen <al@alarsen.net>
  Andrei Vagin <avagin@google.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anh Tuan Phan <tuananhlfc@gmail.com>
  Anton Ivanov <anton.ivanov@cambridgegreys.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Azeem Shaikh <azeemshaikh38@gmail.com>
  Bob Copeland <me@bobcopeland.com>
  Boris Burkov <boris@bur.io>
  butt3rflyh4ck <butterflyhuangxx@gmail.com>
  Carlos Maiolino <cem@kernel.org>
  Carlos Maiolino <cmaiolino@redhat.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  Colin Ian King <colin.i.king@gmail.com>
  Damien Le Moal <dlemoal@kernel.org>
  Darrick J. Wong <djwong@kernel.org>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Edward Shishkin <edward.shishkin@gmail.com>
  Elena Reshetova <elena.reshetova@intel.com>
  Enlin Mu <enlin.mu@unisoc.com>
  Eric Biggers <ebiggers@google.com>
  Fabio M. De Francesco <fmdefrancesco@gmail.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Ferry Meng <mengferry@linux.alibaba.com>
  Filipe Manana <fdmanana@suse.com>
  Frederic Weisbecker <frederic@kernel.org>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gao Xiang <xiang@kernel.org>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Goldwyn Rodrigues <rgoldwyn@suse.de>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hugh Dickins <hughd@google.com>
  Ian Kent <raven@themaw.net>
  Jakub Wilk <jwilk@jwilk.net>
  Jan Kara <jack@suse.cz>
  Jann Horn <jannh@google.com>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jeremy Kerr <jk@ozlabs.org>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Joel Becker <jlbec@evilplan.org>
  John Johansen <john.johansen@canonical.com>
  Josef Bacik <josef@toxicpanda.com>
  Joseph Qi <joseph.qi@linux.alibaba.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Justin Stitt <justinstitt@google.com>
  Kees Cook <keescook@chromium.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Lee Trager <lee@trager.us>
  Linus Torvalds <torvalds@linux-foundation.org>
  Loic Poulain <loic.poulain@linaro.org>
  Luca Vizzarro <Luca.Vizzarro@arm.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Lukas Czerner <lczerner@redhat.com>
  Marcelo Tosatti <mtosatti@redhat.com>
  Marco Elver <elver@google.com>
  Mark Rutland <mark.rutland@arm.com>
  Mateusz Guzik <mjguzik@gmail.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthew Wilcox <willy@infradead.org>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Kravetz <mike.kravetz@oracle.com>
  Mimi Zohar <zohar@linux.ibm.com>
  Minjie Du <duminjie@vivo.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naohiro Aota <naohiro.aota@wdc.com>
  Nicolas Pitre <nico@fluxnic.net>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Palmer Dabbelt <palmer@sifive.com>
  Paul Moore <paul@paul-moore.com>
  Peter Oskolkov <posk@google.com>
  Qu Wenruo <wqu@suse.com>
  Ritesh Harjani (IBM) <ritesh.list@gmail.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Stas Sergeev <stsp2@yandex.ru>
  Steve French <stfrench@microsoft.com>
  sunshijie <sunshijie@xiaomi.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas WeiĂŸschuh <linux@weissschuh.net>
  Tom Talpey <tom@talpey.com>
  Wang Ming <machel@vivo.com>
  Wen Yang <wenyang.linux@foxmail.com>
  Will Shiu <Will.Shiu@mediatek.com>
  Willy Tarreau <w@1wt.eu>
  Yang Li <yang.lee@linux.alibaba.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yuxiao Zhang <yuxiaozhang@google.com>
  Zhangjin Wu <falcon@tinylab.org>
  Zhen Lei <thunder.leizhen@huawei.com>
  Zhu Wang <wangzhu9@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10599 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 08:52:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 08:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592062.924687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qauS8-00047B-Lz; Tue, 29 Aug 2023 08:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592062.924687; Tue, 29 Aug 2023 08:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qauS8-000474-IN; Tue, 29 Aug 2023 08:52:00 +0000
Received: by outflank-mailman (input) for mailman id 592062;
 Tue, 29 Aug 2023 08:51:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qauS7-00046f-ML
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 08:51:59 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ec133a1-4649-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 10:51:57 +0200 (CEST)
Received: from SN6PR05CA0028.namprd05.prod.outlook.com (2603:10b6:805:de::41)
 by CY8PR12MB7267.namprd12.prod.outlook.com (2603:10b6:930:55::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 08:51:52 +0000
Received: from SN1PEPF0002529D.namprd05.prod.outlook.com
 (2603:10b6:805:de:cafe::d9) by SN6PR05CA0028.outlook.office365.com
 (2603:10b6:805:de::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.17 via Frontend
 Transport; Tue, 29 Aug 2023 08:51:52 +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.6745.16 via Frontend Transport; Tue, 29 Aug 2023 08:51:51 +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.27; Tue, 29 Aug
 2023 03:51:49 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 03: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: 4ec133a1-4649-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V5597FGTP94/zrbo0rMA+X6BPXiP+fPME47rGWKFSB26u9y3t9MN9ezNaZzEH/SniMzzQ9Tg2jqjLm31jJEwlXcwNCGKHF2xWMzAEPb9t9VEI0KMdfbCJjpeUjAr+YZ6Bnu89sD3fLtqcsoiLO86p4I28u5h8GiAH0+TrdlZ4WWS1sAwXEN4DeHFu5J8mXvHwvKTlYTqxm9sk9laJnvFIWImS6iQa1eq+0baAqEhFd8vlCWHeeCTNkJmjoEBdNJyMsXV+2Lu7gvnoS1j6mbKTFP8YlgmwWxN+/ohf0eIqnnm61RfS0cafQTY/5Q98Rv62TODAyJ06G9ykPd7t5ITOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nm6YW6JUwJ6SW1eI3SE7Slvyou/+82LoRoln6JIDqzI=;
 b=En29RvTPN1Hke033f9SvGV7mD3qeI+eEhVf7WFvnEYEISGrwOGXBsVJtQDy1Uw4Lpmxn/uAWZ1XP5KcNvg3X4iD9KCyfL9bQZFAzXfpiebylMJ9nei2/5MRKLKe/CqaLZSLA+CMrCtgs5ZItz6mlfJB5b0ScIiKbPDzSbG5LymdW1ZFUrOPRrw3HTxrbGXkjT5d+l9ouIpHUit+T1W5+hxYqky12AzSH3vvIyYSOSXubxmWieopd9icO7foWMFvhAVjv51Y6bs0eNK5eqDVjQubtRz6Ty9XXVvtMhKZLsOlNFKMHZblzLbXCqb/uc7QuYPI2P+KJ72o1cK1VE6+GEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nm6YW6JUwJ6SW1eI3SE7Slvyou/+82LoRoln6JIDqzI=;
 b=jhkciKPHpJluZ3O1/YKh9+7cjHaL4f6SjrAHw1GEMNqnSZTGyHN27wSnMpxtqqT9rAmaDLphN0HeEGh+IP9ddiuzKc1I+KWJeNljULPScszTCXFxnNd1qkYbhiQt3ZCbnRBJXi+n/Zdf7gN9ZEWJ8wMLsDMPKl4qE06VoRsY3II=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <32922c58-b9b4-26a1-42ef-426fb9a4b8af@amd.com>
Date: Tue, 29 Aug 2023 10:51:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 12/20] xen/smmu: Add remove_device callback for
 smmu_iommu ops
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-13-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-13-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002529D:EE_|CY8PR12MB7267:EE_
X-MS-Office365-Filtering-Correlation-Id: acb444ca-b8a5-45ea-5e4e-08dba86d304c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tdlpNMGI4x4tEcsPP1UeVq3QB6XGlt31mozLqmtfpE9GnVeCiU/ibim3B/uDCnIqsqs4C9K8pLYOQs9zJduexTu6xtqtuKow5Ew9GmBJVr+D6l3gru/c1xEYWeWl0V7dLfgh27IgGaln9G7H7exYamSCh5uHO+Of/wSabmKtBkQhHcDF8pwM/1JiJyhDLG+WOlZe+cU7WkAZHtt3wSEmKytI8kPWFCSJLtzmpMYS4Won5JrJyI5P0iLCXIzxECySdyNFKSkTe7UvuHqX7uyCQuQRxz5DMliXshDgk8YRoqPbwlagSHr27WcFnM/b/c9fZBW5CJ9s97Nniu4GIfmXCHaFW2iEUTlEqSPYe5nsNOHbz2splTPm77UGO//XbatwYL006g3FSx5Z6HudU7QM7A4AgavAgfE6hpFQEiH/BN3QeEhcCdoKJvGvKS0fFKDrmpO5VgXWAdVnL3rom0WPGo9VSKaczDNd+glC19B3Ouks6vqpNAr5daEw59CCjUsd76VkkgiYLwPix72D1Qwm18v5m/O1iuXY3ycsiwnRjZ4Z8uiZ4TYtbCWMkI6DiZMWsIfJJZd6CHV2jEgK9PJ/Xu7gtUUyInJeBIld6zZXiNrHgRHNnC86o8sSnyOYuhHbBj5MiZ+kiuHJE4MdEXjRVjMvbL3t/MbpuMNLxSQxDrsJ3vCBbXtymdAr2qQS8yCiEbMXy8j/bbcIJneF7fuqJi2V3Z1T4s9rE3iEXL46hrtwiYAMGhugDyFk9CbbwiQjZXt71Taq1s8LWhIFeEVJe/JcRAboemE9OWWpgPmzULCF+3ejM/NUW1IuNF0FnDvC
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)(4636009)(39860400002)(376002)(136003)(346002)(396003)(82310400011)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(53546011)(83380400001)(478600001)(336012)(426003)(26005)(2906002)(4744005)(54906003)(70586007)(16576012)(2616005)(316002)(41300700001)(110136005)(70206006)(44832011)(5660300002)(4326008)(8936002)(8676002)(40460700003)(36756003)(40480700001)(356005)(36860700001)(47076005)(31696002)(86362001)(81166007)(31686004)(82740400003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 08:51:51.7645
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: acb444ca-b8a5-45ea-5e4e-08dba86d304c
X-MS-Exchange-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: CY8PR12MB7267



On 25/08/2023 10:02, Vikram Garhwal wrote:
> 
> 
> Add remove_device callback for removing the device entry from smmu-master using
> following steps:
> 1. Find if SMMU master exists for the device node.
> 2. Check if device is currently in use.
Since you removed a call to iommu_dt_device_is_assigned_locked(), you do not check it from SMMU, right?
You are relying on a check done in iommu_remove_dt_device().
This wants to be mentioned. However, Julien suggested to do the check for internal SMMU state.
Looking at the code, when the device is assigned, we do:
dev_iommu_domain(dev) = domain;
and when de-assigned:
dev_iommu_domain(dev) = NULL;

This means that before calling remove_smmu_master() you could do:

/* Make sure device is not assigned */
if (dev_iommu_domain(dev))
    return -EBUSY;

@Julien, @Stefano?

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 09:27:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 09:27:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592089.924697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qauzs-0007vK-0H; Tue, 29 Aug 2023 09:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592089.924697; Tue, 29 Aug 2023 09:26:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qauzr-0007vD-Si; Tue, 29 Aug 2023 09:26:51 +0000
Received: by outflank-mailman (input) for mailman id 592089;
 Tue, 29 Aug 2023 09: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 1qauzr-0007v3-8n; Tue, 29 Aug 2023 09: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 1qauzr-0006AZ-0O; Tue, 29 Aug 2023 09: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 1qauzq-000629-GD; Tue, 29 Aug 2023 09:26:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qauzq-0003mY-Fl; Tue, 29 Aug 2023 09:26: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=vkL6kYCjAtDWD2Ni7HWjiyI4Mrvg/0VQFe5fsmAKnE8=; b=62MnVoh6RT1P5YQCI1KGoY/Gkc
	Ce3atAvroI82Z6Bf46Aa5ERGXdKxOCh7yTlt93kYLxNLgHnDJPhwqGKE8+Y1cPhCoEXcH6aigpchk
	OhbJyA/qmDHhE3ImYwmlwkV06njbm2q9frqGQH4Q4QNa7lwYRP/ETqpZOolrpCZaE5U4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182551-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182551: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=020cc9e2e7053bb62247b0babbbe80cb855592e5
X-Osstest-Versions-That:
    ovmf=a107fcb618934ae18f29660ecf066f3c49dd875f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 09:26:50 +0000

flight 182551 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182551/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 020cc9e2e7053bb62247b0babbbe80cb855592e5
baseline version:
 ovmf                 a107fcb618934ae18f29660ecf066f3c49dd875f

Last test of basis   182549  2023-08-29 03:42:40 Z    0 days
Testing same since   182551  2023-08-29 07:13:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  YuanhaoXie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a107fcb618..020cc9e2e7  020cc9e2e7053bb62247b0babbbe80cb855592e5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 09:28:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 09:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592097.924707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qav1F-0008UZ-Ah; Tue, 29 Aug 2023 09:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592097.924707; Tue, 29 Aug 2023 09:28:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qav1F-0008US-7M; Tue, 29 Aug 2023 09:28:17 +0000
Received: by outflank-mailman (input) for mailman id 592097;
 Tue, 29 Aug 2023 09:28:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qav1D-0008UM-KL
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 09:28:15 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eab::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 608b23f6-464e-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 11:28:13 +0200 (CEST)
Received: from MW4PR03CA0050.namprd03.prod.outlook.com (2603:10b6:303:8e::25)
 by CH2PR12MB4937.namprd12.prod.outlook.com (2603:10b6:610:64::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 09:28:09 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:303:8e:cafe::c1) by MW4PR03CA0050.outlook.office365.com
 (2603:10b6:303:8e::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35 via Frontend
 Transport; Tue, 29 Aug 2023 09:28:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6768.2 via Frontend Transport; Tue, 29 Aug 2023 09:28:08 +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.27; Tue, 29 Aug
 2023 04:28:07 -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.27; Tue, 29 Aug
 2023 04:27:57 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 04:27: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: 608b23f6-464e-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FVVAXqejr89dzpzHfphByKplHftCpmmSNmXFyLr1MdIHmgUrWBCLb7c8d1TQwWOXw1ICWDu7GxHKD+qxmj24P36UtHRZXx0KjT0TMynr8bu8EUMl6SS4oNDBUbOWUuJwtro7QKl/LhP0LKLq8wZrrTujFpv7MIuNzMIyTHtqd2esBuKNEIvNy59xO8fUHn2hq0LYckHXrIBQU4RCzO35kGDJHZzQxM5SFW7q9vp4KblMSGFwDwvC/lDRPLwegfKIDeO6YQwfiUIvv9quYHhp3tUQUZ7oYWGSAuxZN2f+7ASURou/LAsbyCMn3Em+tABKGXJGPTkO3Ko+c4kkoE7Kww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fu4VVJqq9b9fKEZMeTNYlgVkRBo58iQhbc1iPxMsUlE=;
 b=NaohxbepdtQXdC30qArOkobzOhx7pus3+JCMTVkpUArDnazuMNIgF46+v3r3dSTn7tDsUqK+BSOFjPnnzS2tRYokV6AuXW7Ekr3i54gSuAij9u8487PP7cRJC6c+P3MF0HP535beEurJGqe/grPqtnxDP75rFkNdQ2uCr5wuAtJvjxW4SE/LUifeRWnwZPNAUpbaB9Hqliqk3UvmCSxIiAv5GZJP5Zj0woTzTuw4/aoO21T9QSSgxBtCH1vuMaPiKKMwS4y1O3C0+9VGwvlZSm9L/B5TiG6q41ddz5zxLWwpZYpSOVnzEteD0HfpLpS2Mm2NRhCK30hqTmzAf5QcSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fu4VVJqq9b9fKEZMeTNYlgVkRBo58iQhbc1iPxMsUlE=;
 b=uItlkowV3ybTjAxRN3Ta3sPqKVCF/Fdmc8/6VfI0IugDYiBh4l6ze1/90TJwwkjd2nVm0mszRLxNX/jcsAFrNTBYot00W69GRNTS0DSTBtNq5qMRPEwBHILSSz5Cvpk8Nb7GouAPu9r7kVS1WoZgBvKFXZI1Cra69y470zHQuns=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <1d8643f5-5c0f-b784-b90c-53e1c629f5b0@amd.com>
Date: Tue, 29 Aug 2023 11:27:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 14/20] common/device_tree: Add rwlock for dt_host
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-15-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-15-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|CH2PR12MB4937:EE_
X-MS-Office365-Filtering-Correlation-Id: f05c0233-16b8-41b3-8a69-08dba87241ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PVHReBh+wudInr+c7pEYxW503iiwzz919e4NO+uryQ+Zagc2T7mbPJ7oICR92PJHpVsKryoDe8fTF17LFobohPzRGc6M/+GRYQ+qUQ+I7N2rq04ZkonRbSvNj9NSmy6KqXm8jjkjpc6rgXzE3i+ib+WVwgCPA52e3RzZu9qYb3EL7jWW8/0AXiHX0Q+ydgM9nF0/sDOWic2sRZfieEleh6xwfn57oNuWBxu/0g7Yaeq2JS9N1rCZsmu632+EgEnYs8cTw0fnpLvk3oPe+quOEaC+nGuGWKwNl6zDN1VJsodhoKqiFkKeTqd+b0s6rHRQUqaxYMOPp3xdXMrL6ibt028/xQuqBExdR5gInOlcj4Y2zXGJwzfMr1IY+y8fgIDfRxDEDlRz8SV5JoEHkq4WcLftg0fXAthF6hHjFiwmRceIADlscZ6lmLiyd858UUMCPGgnUzOFc7SAFz5WU1LGz4II+ATCcyaVOFhwfg0BWzZpLNb+tLz9E2OTp46F+kvXRUfYiTYgrTanOMzf2xZ0qBeO5dml8SAEFIcaZ0rvZmmtv/nfZoqDIft9ZAllCkKYU9GnZ1qqJRis0Z0WXMf+PNXcnt9lfooEJqfk2WLz769w2/+McKH2m4DAucMpBa/+0HjV4Z/TdOrTk7JknRE2cwUEZhVXr401rHeYEsU+HgRnqIiNS10+UdMl2WLoY0B72wBpCx15fUgOYDgopQ4+xzdmkIKhkQqQ/90bopBQcCAUGkPFYsDurGYspjzZIeZAR3M3Z/tfBU+oI1L90On9HbthyyhmcBb0De4Au7YMTSqDr2kXFICCxLV7ujCRpuOo
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)(4636009)(39860400002)(396003)(136003)(346002)(376002)(186009)(1800799009)(82310400011)(451199024)(46966006)(40470700004)(36840700001)(40480700001)(82740400003)(86362001)(31696002)(40460700003)(36756003)(26005)(2616005)(336012)(426003)(83380400001)(316002)(16576012)(36860700001)(5660300002)(53546011)(110136005)(70586007)(70206006)(54906003)(41300700001)(44832011)(47076005)(31686004)(81166007)(2906002)(478600001)(356005)(8936002)(8676002)(4326008)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 09:28:08.3976
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f05c0233-16b8-41b3-8a69-08dba87241ba
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4937



On 25/08/2023 10:02, Vikram Garhwal wrote:
> 
> 
> Dynamic programming ops will modify the dt_host and there might be other
> functions which are browsing the dt_host at the same time. To avoid the race
> conditions, adding rwlock for browsing the dt_host during runtime. dt_host
> writer will be added in the follow-up patch for device tree overlay
> functionalities."
Please drop "

> 
> Reason behind adding rwlock instead of spinlock:
>    For now, dynamic programming is the sole modifier of dt_host in Xen during
>        run time. All other access functions like iommu_release_dt_device() are
Indentation is incorrect. All this text block should be aligned to "For now" above.

>        just reading the dt_host during run-time. So, there is a need to protect
>        others from browsing the dt_host while dynamic programming is modifying
>        it. rwlock is better suitable for this task as spinlock won't be able to
>        differentiate between read and write access.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Apart from that, the patch itself looks good:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

although I would recommend to follow Julien suggestion and to at least
add an assert in iommu_assign_dt_device() and iommu_add_dt_device() to check if the lock
is taken (given the system state is >= active to exclude calls from boot state).

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 10:19:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 10:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592104.924716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qavoM-0005lW-0O; Tue, 29 Aug 2023 10:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592104.924716; Tue, 29 Aug 2023 10: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 1qavoL-0005lP-TV; Tue, 29 Aug 2023 10:19:01 +0000
Received: by outflank-mailman (input) for mailman id 592104;
 Tue, 29 Aug 2023 10:19:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oK0n=EO=casper.srs.infradead.org=BATV+3a9ed657c5c9a78d2ebc+7310+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qavoJ-0005l3-Pc
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 10:19:00 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7409ad4a-4655-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 12:18:55 +0200 (CEST)
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=freeip.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qavnk-005yoB-N8; Tue, 29 Aug 2023 10:18: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: 7409ad4a-4655-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=Gy5eyIGCFHluCSVYb7Kg17gjSDjhMDsrcYiQNshGo2w=; b=HeAsOOR1ZRI3DEJQcLg4muyDE1
	/dMmZOToTI3C/ehT87iDRtuKg9VZ8PXygN2PLLPqaaWXmnChHKsxHI5yw4Rxi0QIQ7eDf5ELzXRyo
	1rS94CMjhsrp2S7Z0GDq3re8j2tvEAqbXfyHhvyTVkAlw4J8U1mOKGdELhgjLg6AZs+oio/ZCCXxz
	AFLy0He7/6c++sTh+ARdBGr0K4ztCmEEUKEL6uh/Dioo9Xv7ap0Vyx/8k78s/DchxSvf+NJtlT7oo
	X1Ymk1vH5y7enkV0o10sq9XapX4HlXiPxUmtvhrGahGP3WJY6+dn0XRHPo/L1fScuN/X8wBaIImIW
	E/teEDiA==;
Message-ID: <e31754530396548141e72e99d8d70470c2ea02df.camel@infradead.org>
Subject: Re: [PATCH v1 01/23] pc/xen: Xen Q35 support: provide IRQ handling
 for PCI devices
From: David Woodhouse <dwmw2@infradead.org>
To: Joel Upham <jupham125@gmail.com>, qemu-devel@nongnu.org
Cc: 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>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Date: Tue, 29 Aug 2023 11:18:20 +0100
In-Reply-To: <1c547c5581ce6192b70c68f39de108cdb2c73f7e.1687278381.git.jupham125@gmail.com>
References: <cover.1687278381.git.jupham125@gmail.com>
	 <1c547c5581ce6192b70c68f39de108cdb2c73f7e.1687278381.git.jupham125@gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-PA4AD3XtdmnO4CPGUrzh"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-PA4AD3XtdmnO4CPGUrzh
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2023-06-20 at 13:24 -0400, Joel Upham wrote:
> The primary difference in PCI device IRQ management between Xen HVM and
> QEMU is that Xen PCI IRQs are "device-centric" while QEMU PCI IRQs are
> "chipset-centric". Namely, Xen uses PCI device BDF and INTx as coordinate=
s
> to assert IRQ while QEMU finds out to which chipset PIRQ the IRQ is route=
d
> through the hierarchy of PCI buses and manages IRQ assertion on chipset
> side (as PIRQ inputs).
>=20
> Two callback functions are used for this purpose: .map_irq and .set_irq
> (named after corresponding structure fields). Corresponding Xen-specific
> callback functions are piix3_set_irq() and pci_slot_get_pirq(). In Xen
> case these functions do not operate on pirq pin numbers. Instead, they us=
e
> a specific value to pass BDF/INTx information between .map_irq and
> .set_irq -- PCI device devfn and INTx pin number are combined into
> pseudo-PIRQ in pci_slot_get_pirq, which piix3_set_irq later decodes back
> into devfn and INTx number for passing to *set_pci_intx_level() call.
>=20
> For Xen on Q35 this scheme is still applicable, with the exception that
> function names are non-descriptive now and need to be renamed to show
> their common i440/Q35 nature. Proposed new names are:
>=20
> xen_pci_slot_get_pirq --> xen_cmn_pci_slot_get_pirq
> xen_piix3_set_irq=C2=A0=C2=A0=C2=A0=C2=A0 --> xen_cmn_set_irq
>=20
> Another IRQ-related difference between i440 and Q35 is the number of PIRQ
> inputs and PIRQ routers (PCI IRQ links in terms of ACPI) available. i440
> has 4 PCI interrupt links, while Q35 has 8 (PIRQA...PIRQH).
> Currently Xen have support for only 4 PCI links, so we describe only 4 of
> 8 PCI links in ACPI tables. Also, hvmloader disables PIRQ routing for
> PIRQE..PIRQH by writing 80h into corresponding PIRQ[n]_ROUT registers.
>=20
> All this PCI interrupt routing stuff is largely an ancient legacy from PI=
C
> era. It's hardly worth to extend number of PCI links supported as we
> normally deal with APIC mode and/or MSI interrupts.
>=20
> The only useful thing to do with PIRQE..PIRQH routing currently is to
> check if guest actually attempts to use it for some reason (despite ACPI
> PCI routing information provided). In this case, a warning is logged.
>=20
> Things have changed a bit in modern Qemu, and more changes to the IRQ
> mapping had to be done inside the lpc_ich9 to write the irqs and setup
> the mappings.
>=20
> Signed-off-by: Alexey Gerasimenko <x1917x@xxxxxxxxx>
> Signed-off-by: Joel Upham <jupham125@gmail.com>

Please ensure you test Linux guests with attached/emulated PCI devices
and (at least) the following command lines:

 =E2=80=A2 pci=3Dnomsi
 =E2=80=A2 pci=3Dnomsi noapic
 =E2=80=A2 xen_no_vector_callback pci=3Dnomsi noapic
 =E2=80=A2 xen_no_vector_callback pci=3Dnomsi

Obviously, with pci=3Dnomsi you're actually *using* PCI INTx, and force
it not to use MSI.

With noapic you force it to use the i8259. The INTx should be routed to
a *different* interrupt number on the i8259 than the I/O APIC.
(I thought the IRQ should be asserted on both, but QEMU's
ich9_route_intx_pin_to_irq() seems to route to the I/O APIC *only* if
it's disabled in the i8259? Sadly, QEMU lacks a comment explaining if
that's a faithful emulation of the ICH9, or if it's just a workaround
for the fact that that function is only allowed one return value.)

This one has potential to be particularly entertaining because the
guest may route INTx IRQs to PIRQ event channels. And I think those are
supposed to use the I/O APIC pin numbering, *not* the PIC numbering. I
*think* you get away with it because of the workaround discussed above.

With xen_no_vector_callback you *also* use the emulated INTx of the Xen
platform PCI device, for event channel callbacks. We want to test that
via both the i8259 and the I/O APIC. And it also ensures that the INTx
of the real PCI devices is handled via the PIC or I/OAPIC instead of
letting the guest route them to PIRQs.





--=-PA4AD3XtdmnO4CPGUrzh
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwODI5MTAxODIwWjAvBgkqhkiG9w0BCQQxIgQg7s9Xqa5Y
KKmXhdaf8Iad/qANS+qLanxg4rA+aCRW6Zcwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCA76OgqKmzxHI667nx9ILlCp5aDmr7FvXG
18fx8OOeIltrozOnl1F2RcOwnltm2UZ7ad1Kqtw6v7qfCR2fjAfbfM23hFOWEUKrn2t4IZN7ts6i
ytbwlj28mh2VxDhr0OUVbl2AuPGO7Qm7OOYhX+yDowOihsftxMrJ7ytFxZjMFYFsdJadX7caMHij
wN0DaF0IQ9x8DnLTGReI6+KtwPqMB2KWT4AJptzroT6hsK9INvVJiwGOYHSxWRx1u/X56OqF+n3d
ra2H4D5PLjN6+sX4dQTNmuHjlPH8rZmYSM1VtyTAxUxyilxyjt9OHZlhgzk14FTiPXbrBVVMvAYa
3hlnAs44Z1Ci3m46173GzA+0e3rW5im97izqGU9UKfGp5s4lShGr9mrJvRSq3X64G6Aga6S0xcCu
B2eZNB9VHXeYy8WPbVT+e6B0hv3UrKaDqYAXhqvptSrWJ3Gf5w8qzQLRSlgu4vmhp5ZKOypZ/p6X
V0+JceP9Vr3HOX+u1/mEj7GQAAygX2FgdEfgubtaCHkSSg6xJlHNYc2Qw7y7iI+ScF5VKHRp7zPj
wU8kgMio0llOPNjFYD73OsKMyWje43KhSnSkCaF89I5fq/NsuC9s8d5qmddLH6XTI3YOKJy4Ee4C
bsusqKpaLzfGBTXqwGm5LWA9k/hg9oZkjXD5t/epQQAAAAAAAA==


--=-PA4AD3XtdmnO4CPGUrzh--


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 10:53:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 10:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592114.924726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qawLt-0001hM-J9; Tue, 29 Aug 2023 10:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592114.924726; Tue, 29 Aug 2023 10:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qawLt-0001hF-GX; Tue, 29 Aug 2023 10:53:41 +0000
Received: by outflank-mailman (input) for mailman id 592114;
 Tue, 29 Aug 2023 10:53: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qawLr-0001h9-VO
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 10:53:40 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f25994e-465a-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 12:53:38 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8564.eurprd04.prod.outlook.com (2603:10a6:20b:423::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 10:53:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 10:53: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: 4f25994e-465a-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nPWROXgSFMr35l3bvHJGBAs6LTKc/MSM8QYlXfFRfFBdGBTa7nPF+8H/rg6Xi9mytRnbkOEs2Hec01Qteb4rCd+UuMvbdQR0hqQucBgd+Ku4TkWa7UeLWXA3klIR3COT+IKDO+J3WT0tjtSJqnNFb9b5yJYJ1z/UnOB9axk/DZFQk8iJiSfuncaymrRnL1lMYDkngoek0E5GQ47lWpHKe2LxCkoyuMl6bin2hD7FKiYKNbCQGKNE8Ww+viJ0dZjLRlfqSjdP7tj0L5NEGdjlvd9KKzvm9WkFFANMwoIE+pPlCG/R8+RXiM//6pWqq+vDI25IBGkKecQSn5wIN813XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eB04TcZBsQTR6F7js2qwQscE5PbVHCh6Y4p7OsYQMD4=;
 b=eG7WK8QphsaLFJxYVg2V8NBMoVpir0Io0p70EqWWgbA4OcasZ7MtfcXvlCH0RQBHW55MW3VZjxdCm4+p+/BiXKd5ga4SOmfK6yHuRzxyT3zmjmB46KO5RjuvIgm4FoxEBrd9XK23ar2TAYnlsox2m8BIVvM59VOwoZzegqhaJMKqDugWBsy5brLhurwM2wl0qCmvKJw/LoJiGlTbBT7ucjrTDe28ryo4G/hYVQiBFbAM0dR2OpsaXj/lLH5zNZ0uWsMLo5utR5hRWeAQdsoP+jfkp6FQQHWonrjaNH39dR6O40Qz5OubRrE14EkEWei9qgiFIMmXfQhtMQ0zWXsrCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eB04TcZBsQTR6F7js2qwQscE5PbVHCh6Y4p7OsYQMD4=;
 b=Qs8+BuSs+LgM5Ft48dKBv163PrarYkKAuBtFk805zhyvDtnyAmb3SAHPRDBRQmHuiDuoGIrYpVNfJLaSXyLBmPclTeWIdJcUUcSQsQaESEMdwtZWZ0SsBhcGun9ldGUw6y0o2SMaQsKLhHDuipeomZyB/JdU9eDgbd8rToKyf1OsCBAsUkqBcBF3Fl8mmUqsAfgnXpmD5RZmLqO+GEb/s2OseNbZPZL0CN8AvLKMqmkB/DgbTozpvH13YNuB6Wm6ZkjkIMJF0kPN8tgeMxF/D2B2CHc6rM92CT8kzBqDLFe60EIhqOUKBL3UV6aS2rPT6JUhHvDzM76lJhagWeie3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <002261fe-99f4-5aa4-3984-1fd7d4d250ff@suse.com>
Date: Tue, 29 Aug 2023 12:53:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul/test: fold AVX512VL scatter/gather test blobs with
 AVX512F ones
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0153.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8564:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b94379c-b0a3-437d-5129-08dba87e3214
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cUqe2/vaYL+2Yw9jbVrO4mQBeHyQR0uqHFhDN2A7c/s6nHp3wcMMYDob9H8+7ZxOX2s00xkjdsz0HH/DfoZ9FKP/4BSN1+H1Pu3sK+Bsk+3XfS2H1Wu7Wh1xywyBmEse74x1iPFZnsxWm60/NtAqpMLnqh+WI2x2ttOyTu1Wo2JMEz2mf39DAMa3DhBLHy4jOzZvTzzB0TiU8cZVbs9g5sk1vbAU1CpkmQDScEoDK7vkvu+Ui5XUliLMsWcu2X9aNQ4HGrx8c8hCXVSgOGtCimb0Q0All320X/6PeszG+rN1oxVE4+KQgVBQ55pP7EszHqAckEheBQdQ6cD63uLT3MgmSkHH+WjtlRcfgwwkJLBJ9N0LeX9bhNVNQ3dKpDXgEX/7M94Zrl8Sj3phQ4eGMD1ZvwI8AHanEG5rfARC5fJAHcbfGnScj/bWkAXBDtLEJMAAsS0q/z9BjXDkgwHOVoOGAX80g+lwEFghvTNxMFggNWLLJm3/xN1/SioPht7DwrT6f9UH5MWdQfuUE8uQ8YeYlxO5O+obFp50xSF5vOmnJMSEG60bP5P8+Ra3KFrMVWZj2BD7NVPThMJ/vZO+iPy6gSDLdmYSUlEgwBVnXf0wYVXSTKpFkKewsE3SPV0Ebm6eq4AlChRB1RdCGueGzQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(376002)(396003)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(66946007)(31686004)(478600001)(6506007)(66476007)(66556008)(54906003)(6486002)(6916009)(316002)(38100700002)(41300700001)(6512007)(26005)(36756003)(8676002)(5660300002)(31696002)(2906002)(2616005)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aXlWTFQvOGVuN2FwaVhkZFl6RmdmL0xTMWx6Lzd0TTE2a2pQSjBtNG8rbkRj?=
 =?utf-8?B?WEZvSUhXQ3B0TDVSTHNWUGZLK3hpaEVsN25SN3RzN093bUhBSkVvN0t1WmRL?=
 =?utf-8?B?Qnkrd1BBbzdXU29mb1I0L1BlUGJML0cyb3Z3V0xjbWVYMGUzOWZlUlByVWJm?=
 =?utf-8?B?MVhqdDNieFBkWkd1SUM1SlVodjNQcHIxQ2NSbGY5aExsMzVtQllid20zNjdU?=
 =?utf-8?B?SkJUaFhocDZFbkRtWHpPQ1pxR2Jhb1JLSVF2eElpU3VIbVRqNXgzZkFOcWlv?=
 =?utf-8?B?K2ZVaGdCK2kwMXljT2N2WThtZU92c2J0NWlWY1FSb3dqMHJkc0Y4WFhKUzRY?=
 =?utf-8?B?UlRWaC9QbFZtbnRjWDlZZkY2MmNldUdyNnY5SjlMU1g3bExrazF6YmFEc1lx?=
 =?utf-8?B?K2RyQm5wMjlWWU1Gdk1NVysyMXNBbFRXS3d4b2FCdjRUczNmNC9lNjBUSFlm?=
 =?utf-8?B?U0ZEQnd3WFBzU0pXdDhLcGFjTXNhcWhybkhnZGxhdkd3dkdZcEQ3LzRNRjFz?=
 =?utf-8?B?bitTUkp2MW8wdzNJWU5kWnB6c0d0eWNKWDltOXl4ZmRFYkU3RXJXSnVHN3pZ?=
 =?utf-8?B?amE0b0V5WWVabjRKUjhaelgxVVZQUy9YdVNWVm8rQkJxQmFZL3NkZkY3YlZh?=
 =?utf-8?B?VkZGa0lZZVhCWkpuL1l5WTJWdGpuV3JSdmhubFhSSDhrVTJuZlNhbXFTNEpE?=
 =?utf-8?B?ZWZxZUdJMG9RQWVXY3Y4WHZKVGhoalltbG44dWdJWk1vM0E0b0VXbHQ1OEd6?=
 =?utf-8?B?ZjdhT21CVU95L3hLZTRIQUREcDBRQmx3QUJvNEFtdnluVGFBbU1kdmR5cTVY?=
 =?utf-8?B?TmdmQllHYjMzZm14alJWWUVEa0haTUdhcGhEblhzbW5lbGxCeVlwcEVUOEh1?=
 =?utf-8?B?UmhZdlNtdE40Y1NxUmxVZEJUMTZwdHNQODdYRE5uR2dYbytlWjRPdW9XZXBY?=
 =?utf-8?B?cHU5cm01OVBGTEphSFFFS1VTR01tN202UEtGUm1SZ3ViWFFxL1FoNm10Q2hl?=
 =?utf-8?B?Rk5xMVJNZDlEQ0M5T2UwdGJ3UkFlRlNKUWw3RlZDVnRVSVBNWWdrVWNFVEts?=
 =?utf-8?B?UzJzcmZRSW9TZWtpbzBXdEl3UEVzcGZVMFhWcUhsU3VzZnRDb0hvbVlOYmRy?=
 =?utf-8?B?c0s5bnRxQ05KQnlQbGlidVlXUjVJSXZFYy9DYWJrejdHeXNCYk1WNnhIcHU4?=
 =?utf-8?B?ZnBCbzQzdlpnM2RXTjVFTkgxdExQUzJURmk1ZnNLMHZFeFhIbDdvYzFjcjBP?=
 =?utf-8?B?dURtaXBTYWJTcHo1UkdNUUVhejZNWVVMc3NBQTIwcU0zcGNJbGhxL2paVmpL?=
 =?utf-8?B?cm9DaEZSVWVEeEtlS0hTVTNNc0hXT1lUeXZ5eksyMkdKdzA0Wlh3R2R1Wnc1?=
 =?utf-8?B?YmZxNGNFZEF1TDJyVmJhQUYvaGhPcjB0L0JOMmRrNkc2ZTRFQU9HNmk3UTdm?=
 =?utf-8?B?WEdYVjRzNjMyTUJ5b08vZlhVMzVpMFVDTllEcTFoWGVjamRJU1FMUWJlQTJB?=
 =?utf-8?B?UEN6T0VjNUlCRnVPWTJlUUM0TnE0SCtKZWduQU02dkN3Mk1Ub3dNTGNiK1Bu?=
 =?utf-8?B?OUxRTE5kb0VnKzFGdTdIL3liVE9lY0NjRmp2OS9ISzRkRUh0aUdDSk5LTkNY?=
 =?utf-8?B?RFpJVXBDRFdzMUI2MC9MNlRBWFo2V0s0YXdaV3NadUVCQWs3MDk3NmtzV2lr?=
 =?utf-8?B?RC96VDMrb28rcWJleFdyS3ROWXBpZXRIQ2pPaTZuTkFnUGpacEk4V0pSQTU1?=
 =?utf-8?B?dHZuNmxzQVQ3L29PMjZJbkZNT1c4TGZVdHhxVVRFNmxpc1laUDJMeERVWjlY?=
 =?utf-8?B?SUE4d1ZFaysvTzNtbGZXR1dFSUxtRFhMS05qWUlzSnRuZml6eFUya1VTQWRh?=
 =?utf-8?B?TGxkMVdkeDYxb1NXLytoajZOSXZWL1FnemU2SmFUZUF5MzE4S1A1dmZZTFpm?=
 =?utf-8?B?bnZzRzNDOWV4QkpFbU0xY3p1dG9nTTNTa1lCQThjWmI4WEIrMTdKQy9tblZi?=
 =?utf-8?B?TVRZaWdsL1pjcEZybVhsWUtBS3RXRHpTSHNaeFkrWm1MVE10T3B4TTdVd3BI?=
 =?utf-8?B?R1lPdjladUl5ZkVqNDIrMzVJejBkL3gyMDYyb3BBNVV4YXk5TFI0MEZBRkJQ?=
 =?utf-8?Q?hTd3y+mSjHzy7KJyas/IL7o6D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b94379c-b0a3-437d-5129-08dba87e3214
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 10:53:36.4111
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Jo6Xt5AQnuLMo38xEmoXXwbVs8zukp39nsqgiJKiGw7iaGrHcVMKgGI7kbimIapG8R8aTAfOKas3HHMd9hZ1xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8564

Everywhere else the VL tests are grouped with the basic ones,
distinguished simply by the "form" specifiers.

No change to the generated test blobs, and hence no functional change.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -18,7 +18,7 @@ CFLAGS += $(CFLAGS_xeninclude)
 
 SIMD := 3dnow sse sse2 sse4 avx avx2 xop avx512f avx512bw avx512dq avx512er avx512vbmi avx512fp16
 FMA := fma4 fma
-SG := avx2-sg avx512f-sg avx512vl-sg
+SG := avx2-sg avx512f-sg
 AES := ssse3-aes avx-aes avx2-vaes avx512bw-vaes
 CLMUL := ssse3-pclmul avx-pclmul avx2-vpclmulqdq avx512bw-vpclmulqdq avx512vbmi2-vpclmulqdq
 SHA := sse4-sha avx-sha avx512f-sha
@@ -70,14 +70,10 @@ xop-flts := $(avx-flts)
 avx512f-vecs := 64 16 32
 avx512f-ints := 4 8
 avx512f-flts := 4 8
-avx512f-sg-vecs := 64
+avx512f-sg-vecs := $(avx512f-vecs)
 avx512f-sg-idxs := 4 8
 avx512f-sg-ints := $(avx512f-ints)
 avx512f-sg-flts := $(avx512f-flts)
-avx512vl-sg-vecs := 16 32
-avx512vl-sg-idxs := $(avx512f-sg-idxs)
-avx512vl-sg-ints := $(avx512f-ints)
-avx512vl-sg-flts := $(avx512f-flts)
 avx512bw-vecs := $(avx512f-vecs)
 avx512bw-ints := 1 2
 avx512bw-flts :=
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -34,7 +34,6 @@ asm ( ".pushsection .test, \"ax\", @prog
 #include "avx512f.h"
 #include "avx512f-sg.h"
 #include "avx512f-sha.h"
-#include "avx512vl-sg.h"
 #include "avx512bw.h"
 #include "avx512bw-vaes.h"
 #include "avx512bw-vpclmulqdq.h"
@@ -462,22 +461,22 @@ static const struct {
     AVX512VL(VL u64x2,        avx512f,      16u8),
     AVX512VL(VL s64x4,        avx512f,      32i8),
     AVX512VL(VL u64x4,        avx512f,      32u8),
-    SIMD(AVX512VL S/G f32[4x32], avx512vl_sg, 16x4f4),
-    SIMD(AVX512VL S/G f64[2x32], avx512vl_sg, 16x4f8),
-    SIMD(AVX512VL S/G f32[2x64], avx512vl_sg, 16x8f4),
-    SIMD(AVX512VL S/G f64[2x64], avx512vl_sg, 16x8f8),
-    SIMD(AVX512VL S/G f32[8x32], avx512vl_sg, 32x4f4),
-    SIMD(AVX512VL S/G f64[4x32], avx512vl_sg, 32x4f8),
-    SIMD(AVX512VL S/G f32[4x64], avx512vl_sg, 32x8f4),
-    SIMD(AVX512VL S/G f64[4x64], avx512vl_sg, 32x8f8),
-    SIMD(AVX512VL S/G i32[4x32], avx512vl_sg, 16x4i4),
-    SIMD(AVX512VL S/G i64[2x32], avx512vl_sg, 16x4i8),
-    SIMD(AVX512VL S/G i32[2x64], avx512vl_sg, 16x8i4),
-    SIMD(AVX512VL S/G i64[2x64], avx512vl_sg, 16x8i8),
-    SIMD(AVX512VL S/G i32[8x32], avx512vl_sg, 32x4i4),
-    SIMD(AVX512VL S/G i64[4x32], avx512vl_sg, 32x4i8),
-    SIMD(AVX512VL S/G i32[4x64], avx512vl_sg, 32x8i4),
-    SIMD(AVX512VL S/G i64[4x64], avx512vl_sg, 32x8i8),
+    SIMD(AVX512VL S/G f32[4x32], avx512f_sg, 16x4f4),
+    SIMD(AVX512VL S/G f64[2x32], avx512f_sg, 16x4f8),
+    SIMD(AVX512VL S/G f32[2x64], avx512f_sg, 16x8f4),
+    SIMD(AVX512VL S/G f64[2x64], avx512f_sg, 16x8f8),
+    SIMD(AVX512VL S/G f32[8x32], avx512f_sg, 32x4f4),
+    SIMD(AVX512VL S/G f64[4x32], avx512f_sg, 32x4f8),
+    SIMD(AVX512VL S/G f32[4x64], avx512f_sg, 32x8f4),
+    SIMD(AVX512VL S/G f64[4x64], avx512f_sg, 32x8f8),
+    SIMD(AVX512VL S/G i32[4x32], avx512f_sg, 16x4i4),
+    SIMD(AVX512VL S/G i64[2x32], avx512f_sg, 16x4i8),
+    SIMD(AVX512VL S/G i32[2x64], avx512f_sg, 16x8i4),
+    SIMD(AVX512VL S/G i64[2x64], avx512f_sg, 16x8i8),
+    SIMD(AVX512VL S/G i32[8x32], avx512f_sg, 32x4i4),
+    SIMD(AVX512VL S/G i64[4x32], avx512f_sg, 32x4i8),
+    SIMD(AVX512VL S/G i32[4x64], avx512f_sg, 32x8i4),
+    SIMD(AVX512VL S/G i64[4x64], avx512f_sg, 32x8i8),
     SIMD(AVX512BW s8x64,     avx512bw,      64i1),
     SIMD(AVX512BW u8x64,     avx512bw,      64u1),
     SIMD(AVX512BW s16x32,    avx512bw,      64i2),


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 11:03:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 11:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592122.924737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qawUz-0003Iz-Ih; Tue, 29 Aug 2023 11:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592122.924737; Tue, 29 Aug 2023 11: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 1qawUz-0003Is-Fj; Tue, 29 Aug 2023 11:03:05 +0000
Received: by outflank-mailman (input) for mailman id 592122;
 Tue, 29 Aug 2023 11:03: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=fq2H=EO=kernel.org=brauner@srs-se1.protection.inumbo.net>)
 id 1qawUx-0003Im-TC
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 11:03:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e628267-465b-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 13:03:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4E2B2653BA;
 Tue, 29 Aug 2023 11:03:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5A91DC433C8;
 Tue, 29 Aug 2023 11:02:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e628267-465b-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693306979;
	bh=U8tO0dLFljDnktuq80r4afitP93wv2ZaRihVU0Qyu2I=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=Zpf44oWH5Z2L6QhPNIGp7PeBhJpnP4KfVurKgcL9DEj/BIRmEq8ijJzbb6q5k8Ovs
	 9bWmbNzBkJw5MyDAxRy27lwjHGda6NbScABpEWJtXeah3765gQ9TUqIkk0ScRRsr4B
	 pgJc/+HtIStX4e0zZcs6Mgm/y0cAQCiR+vX0i9HUCQ2jW21Dvj1m5KvDe2xJG8sZD9
	 7J/ySnM4IatjDikdEeiDLegDHPGVAKFz5CZJOY4FIoLRlouJhKb12RDwuxVPSp/21Q
	 Im6ZTKLVuSh6T0hvwNEhJP5WmzsfCpgy49EfIICESoo8yOH/FPp5HVYEAtlfB2KJ19
	 jLNduaFs+ry8A==
Date: Tue, 29 Aug 2023 13:02:47 +0200
From: Christian Brauner <brauner@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>, linux-fsdevel@vger.kernel.org,
	linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org>,
	Alasdair Kergon <agk@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Anna Schumaker <anna@kernel.org>, Chao Yu <chao@kernel.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Dave Kleikamp <shaggy@kernel.org>, David Sterba <dsterba@suse.com>,
	dm-devel@redhat.com, drbd-dev@lists.linbit.com,
	Gao Xiang <xiang@kernel.org>, Jack Wang <jinpu.wang@ionos.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	jfs-discussion@lists.sourceforge.net,
	Joern Engel <joern@lazybastard.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-pm@vger.kernel.org, linux-raid@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-xfs@vger.kernel.org,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Mike Snitzer <snitzer@kernel.org>, Minchan Kim <minchan@kernel.org>,
	ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Song Liu <song@kernel.org>, Sven Schnelle <svens@linux.ibm.com>,
	target-devel@vger.kernel.org, Ted Tso <tytso@mit.edu>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/29] block: Make blkdev_get_by_*() return handle
Message-ID: <20230829-stark-trapez-2251bf78c6a9@brauner>
References: <20230818123232.2269-1-jack@suse.cz>
 <20230825-hubraum-gedreht-8c5c4db9330a@brauner>
 <20230828170744.iifdmaw732cfiauf@quack3>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230828170744.iifdmaw732cfiauf@quack3>

> replacement) I think we can go ahead with the series as is. As you said
> there will be some conflicts in btrfs and I've learned about f2fs conflicts
> as well so I can rebase & repost the series on top of rc1 to make life
> easier for you.

That is be much appreciated. Thank you!


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:12:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:12:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592130.924748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxZO-0002Zu-H5; Tue, 29 Aug 2023 12:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592130.924748; Tue, 29 Aug 2023 12: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 1qaxZO-0002Zn-CE; Tue, 29 Aug 2023 12:11:42 +0000
Received: by outflank-mailman (input) for mailman id 592130;
 Tue, 29 Aug 2023 12:11:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fHNM=EO=leemhuis.info=regressions@srs-se1.protection.inumbo.net>)
 id 1qaxZN-0002Zh-4S
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:11:41 +0000
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de
 [2a01:488:42:1000:50ed:8234::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3541d283-4665-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:11:39 +0200 (CEST)
Received: from [2a02:8108:8980:2478:8cde:aa2c:f324:937e]; authenticated
 by wp530.webpack.hosteurope.de running ExIM with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 id 1qaxZL-0005te-66; Tue, 29 Aug 2023 14:11:39 +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: 3541d283-4665-11ee-8783-cb3800f73035
Message-ID: <e4f32537-bec5-3d9e-11b1-0aa79fa10103@leemhuis.info>
Date: Tue, 29 Aug 2023 14:11:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Fwd: UBSAN: index 1 is out of range for type
 'xen_netif_rx_sring_entry [1]'
Content-Language: en-US, de-DE
To: Linux Regressions <regressions@lists.linux.dev>
Cc: Linux Xen <xen-devel@lists.xenproject.org>,
 Linux BPF <bpf@vger.kernel.org>, Linux Networking <netdev@vger.kernel.org>,
 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
References: <7e3841ce-011d-5ba6-9dae-7b14e07b5c4b@gmail.com>
 <20230723000657.GA878540@dev-arch.thelio-3990X>
 <e208365f-dbc6-06d1-ccc9-3b2e945a0bff@suse.com>
 <73019154-6a34-f714-96b5-b43038569feb@suse.com>
 <202307252204.09AC0089@keescook>
From: "Linux regression tracking #update (Thorsten Leemhuis)"
 <regressions@leemhuis.info>
Reply-To: Linux regressions mailing list <regressions@lists.linux.dev>
In-Reply-To: <202307252204.09AC0089@keescook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1693311099;b5c329c9;
X-HE-SMSGID: 1qaxZL-0005te-66

[TLDR: This mail in primarily relevant for Linux kernel regression
tracking. See link in footer if these mails annoy you.]

On 26.07.23 07:06, Kees Cook wrote:
> On Tue, Jul 25, 2023 at 03:34:26PM +0200, Juergen Gross wrote:
>> On 25.07.23 15:24, Juergen Gross wrote:
>>> On 23.07.23 02:06, Nathan Chancellor wrote:
>>>> On Sat, Jul 22, 2023 at 07:21:05AM +0700, Bagas Sanjaya wrote:
>>>>>
>>>>> I notice a regression report on Bugzilla [1]. Quoting from it:
>>>>>>
>>>>>> I rebuild today latest version from mainline repo.
>>>>>> And i notice issue regarding xen-netfront.c.
> [...]
>> Oh, in fact there is a way in Xen to do that correctly. It schould be enough to
>> use ring[XEN_FLEX_ARRAY_DIM], which will do the right thing.
>>
>> So I'll write a Xen patch first, after all.
> 
> Perfect! I went to go look, and yes, this is good:

#regzbot resolve: will be dealt with on the xen side
#regzbot ignore-activity

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592137.924757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxc0-0003Ak-SR; Tue, 29 Aug 2023 12:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592137.924757; Tue, 29 Aug 2023 12:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxc0-0003Ad-PP; Tue, 29 Aug 2023 12:14:24 +0000
Received: by outflank-mailman (input) for mailman id 592137;
 Tue, 29 Aug 2023 12:14:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaxbz-0003AX-4z
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:14:23 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2057.outbound.protection.outlook.com [40.107.13.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94eb0934-4665-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 14:14:20 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8607.eurprd04.prod.outlook.com (2603:10a6:102:21a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 12:13:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 12:13:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94eb0934-4665-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R1/31nC45pm6I4+bivvj1F3JKkXpCJkPrg4am+EuQ1dE0Xr6DiZPYzH2aHEGMS656MO7Xzyx6Ef7gwBAkS9/IMdephhhcMFP9hFy+Aspd9hoYzqY9gsbVY1db/hDjLgUnHdJ8wZAtvih0TWRbkXwdSlBFWwD8cWbpWctVoSww8K66ySEYjFBNdmOBMBrq/dbTz4oG/V32hkCLzt1G95CSQ+68beHJeL13NHt5pf1+fuHQykR965bVK/6nFbROuDCUeGYu9SRYHwGcoufrwcU2s3+Y2TFhlbrVW8zkzibUdeZp9hZA7UMeHERz1D/OGNrDpur9vUK0qIBYNrH5gsEFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WHtEMoVCZ5v+8B8iWjuyvcS8VOiZvV6x2G7sWSS2ChA=;
 b=XDgn/YAZyJI8IB6PaPaJHTgKUKgdJwG+cU7qsUo7BIVTfRNeyNG7ymTJnXa12usjQEbhWBcT+QHX3qhy/pekMHzyJ/uwL6JrgjoXpkRRnueNrNHjxxObwKysV0V5ZuqRztTqvrKZOZGSuLry7b0uaIoNJwwJssrI5BXgtXUhZ0rSlQTn3oHdaqcczZYFdVHwmkzxuQ9/6tf8IdQN3r2UY+AKus5YMbpgLQuezBqOyYoqF8KEla3s26+Ro1p7pj7j9AWUC2F1LXG0bO7QAJ4Iki4oUf4fDFIzL5EtczMwSB+eblsj3wRdak+vXH/JLE5Gjg+0UXtvKrnQRgG3TDt5dw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WHtEMoVCZ5v+8B8iWjuyvcS8VOiZvV6x2G7sWSS2ChA=;
 b=YvZ39INUSUhcziNfVAFYB39ERwhfP/NUUQ935f4kKaOwFvWfFqwQtqit9THG3ZGOHy28OEZfSHTVfWOiBVvgV7h5KREeqecJW+jwOJceam0PD/tXa+gZLJPj9RieedlUWnWA9LOMmcpKDriU8JWBaNk6a+Qahi64T6grOvoTPv2JmuQXamDbVRUoRAWgSqu8sE2jIfSdzFR4S2gFgZ0YmnixTcmW/nNeOdPRIVkHVX0G/DrIxv7WzUrwaJU+n0UPXAnT9Gf3zpM8XjB8tlHNpv+L0kQ4GWrPm2ozPmM29j+tZLNBNy5ATHvT6Z7GU8OZaQn8+Ei+/5xjtnPoa6+2aw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <647aa53f-9b2f-df38-6de4-3e407f34f7f5@suse.com>
Date: Tue, 29 Aug 2023 14:13:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] x86/cpu-policy: minor adjustments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8607:EE_
X-MS-Office365-Filtering-Correlation-Id: b8391283-f3a5-476e-1e27-08dba8896839
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uRDGu7UDUZXBoktZdjxwIMYPE2l4FcttYK98wGDsUUbJ4GNxK+pYS/oVpz7Ukf45Wwv/gNWPisVZmfLyCNEtrONlhmSyCG95UZp4LQ2hFaBO5EgoFzednTv1i44yI28TmqmImjBMopWzzRDfJuD96eSsdK1qleTmvEEFDrYZmGh00yFmQqi/XE5/2/9FSq821u03HdPpyrsAvGiuqi5HKSTsbYK5LcvJqA3I5N4SBnPHq3SZRZj/MThrOh5W/mQz9JbLsnqHPAr/P4cfUCd/zD2HYmzpGASzENN2Szgpo8OiGDjesLMUuvelAYgioBCWlKGuCYxDvZopujmTJKwxUd11Fzfpgsuz884D6cPzo01Prq9C8i2Apu2nF4KGOU0fFxIYcOakfBjAp8a8NWeN+66xlz2nP6JRx57YFNDrU4Y6A5Y3JW5fbCrdQ8GmLYJwJwn1aJCZ0PSWE+MOi9m9/0+J/FbguuEe1K87CIxecw0pdzJ6Ilk2KJgdETYRUaQDVClaLhb2E6P4XUaZNLxHm/X9xPUvjAoPDA8/TISjcuOWvXCZh4R3uujj1SzUtZKLgchzoU5djJloFPCfPrvGdekly2RpNtlGZLt/RubxCKiUjr+4oY+m/W7kUaMYzJXEhsOEgaOq6HEKzX7yxdzT9A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(39860400002)(376002)(396003)(186009)(1800799009)(451199024)(6506007)(6486002)(86362001)(31696002)(36756003)(26005)(2616005)(83380400001)(6512007)(558084003)(316002)(6916009)(5660300002)(66946007)(66556008)(41300700001)(66476007)(38100700002)(54906003)(31686004)(2906002)(478600001)(8936002)(8676002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clp0MGxVaDRiNEUySk43NUh1MTBNL3p4cWloMG5nRXN6aHp4dUthZTVjS253?=
 =?utf-8?B?ZldyTzRaNDdTUzVKTUlyK1N5YStYZHVFc2ZkVlFYd3lIK2VQN2xyMFdGOTht?=
 =?utf-8?B?cjR5UkJleGpyZEdEQ3ZkTnBUUCtBSCtaYnhDSjV2Rk40STRISXV2a3JBUGRt?=
 =?utf-8?B?M0lZbDJFY2kzZGEvM3M2ZXp3NnJWbWZPdXVOYW5aSDJvVlU4OHlVS2ExVllt?=
 =?utf-8?B?UWhrTGl4ejl5SHRya2RLLzhoWEo2QXdEQlJqOFpPLzMvSkR3cUd2dU5RU3Y0?=
 =?utf-8?B?dzVOTHVBR09aUi8xbCtFRHYwMVNrUEZOejlpN2RqZU5WUTJVdWs0eDBXcUYw?=
 =?utf-8?B?RXk0R1NPVExkQ3hqR2lTTmVabmF4YUt2TnI5R3NtcUtVbUdTRUJ0cTJRSkhW?=
 =?utf-8?B?TlNyR0QreUMxcUQrc2FmY2Rqa1k1QVVoTW5pUUEwVDFlUU83SVk0ZFFFS0ln?=
 =?utf-8?B?Q3BNQll5RUdlRDhVR1JudkFmTk1WTXNOYkF3VUFkaHQ0bEY2T1o0ampwTWJJ?=
 =?utf-8?B?cVlvSjU4VHhvRmhHcUc1ejc1VlJCNVNhS3VVNWoxS1YyVkpGWUN0ZjNEbDJD?=
 =?utf-8?B?OFQrMFk5ZDVRMG5CN2NFT213R0hKQVQ0aXFQRE13SFpxaEZGOXh6cXRoemtT?=
 =?utf-8?B?d0hGWCszV1lBMUJ2cHBLcU5xZGNxem56RzFScTlqSGI5WEs3WnVublR1ZkxN?=
 =?utf-8?B?N0Q5V0hkWHNaT0czbDVXai80QjNwMURuN3FvWFVnN2N6MzM2ZjFzOGFXOTBV?=
 =?utf-8?B?OTFXUjkveTREZ2VjeE9kdlNOWG0vcUpUVS9ubVYzRWQwZkhDdGlqbUt0ZnNy?=
 =?utf-8?B?Z1VTZXJpUktnUlJoM1J2eFRYTlc1V0tMYUFZMUt6WWpJY0NYcTkraldzZnB1?=
 =?utf-8?B?SHQwT3dvNXFNOW9ocTltUzcyYTNWTlllMVcxTVNlbGFzbjBQQTVKOEU3NEh0?=
 =?utf-8?B?eWFhWm1IUEFYVzV3QXVlM0JIRHZJUmF1NzBacHBBUzdXdCtzUklXc0pEd0RJ?=
 =?utf-8?B?LzZuV3cwMUMrMXppVUdkVm5xNC9MTzZvZ3EvSUgzTlVMYWtJRUVESDg1OW9Z?=
 =?utf-8?B?d1lFRzYrWmc0V2pKSmlrN2x6aVBJWStBSGd3LzMraEtobmJmY0lrSmozWG1i?=
 =?utf-8?B?L1BDV2ROZU4reDR1VDNhVkdURHVzeXVwSGtIeDNGWUV6bzRqZGVLYVhmZmM1?=
 =?utf-8?B?U25rZzdJNkxHdmRVVHBmZVZ6d3UzVEF4TXhCcmZwWE84UkRlbzVkWGVkNUNl?=
 =?utf-8?B?ZVBndmRSNFVMQ1ZRUk5ZK0d4dkxaM2k2S0IzSGw3NFA4Nk9PZW1WTjV1TVF4?=
 =?utf-8?B?UkNqMkZLYTc2UEZyZXRIMFR1akJsUksyM0RoTDh5SlYrVFhqWlpzUmRXQ21v?=
 =?utf-8?B?TUVwUUFnb1JDL2c2aTBmc2VlM0x4dkFPYjl4VXdBYjFpazdDc3ZHNFRsMllZ?=
 =?utf-8?B?UmVkbE5zK0VtL05IM0h4R1d3RDM2QW0rVW9TVEswU3FVZFMxc00rOXM1K1FC?=
 =?utf-8?B?SDloQlNvTko1QUFLRHFiN3JEK215TkFSekd2V0dTam1HSTBIQTRSTitmOGI1?=
 =?utf-8?B?WmpsMWo3ZHF1QlY5R2Z3ZWdzRzBJeTY3bE16bGFYVTY2Mkp6NVNiSFY2bkpx?=
 =?utf-8?B?TlFMVFNsVzU1U25KckNsZjN0TFlZUUdnbVF1TTN2c3ZpZ0wwa01mOUlrSDRC?=
 =?utf-8?B?RmJwcklvUzVBNzI0eWkzanNrSUhFSy9KU3hmRC9WT0pxVVZGQzZpeFJTK3VP?=
 =?utf-8?B?ZklhTStsNGNoclk0S0lxN0RzMHdSSnpqRkx1YTdXUy9Sb3pGUG41UFNGQW50?=
 =?utf-8?B?c0ltTHZIbWF0RWR0dkpOUEpqeFR0Qzd1OVN2NkIwL3gxVXZnOENTb0ZISGQv?=
 =?utf-8?B?UTZBUURWOUU5MXRUakh2QTRKOEFmRzFxU1Rtamg5U2NxV1Z1SElqVWxkeVA1?=
 =?utf-8?B?eWtKdkoyY2xTWFpoZzNGNElSV3BHMEVxUVg2NEIveEFqMGMrRDZEQzBDQlky?=
 =?utf-8?B?Yy84RmErMG5hdVVvaFAyeVcyNUtybm05bVRJNSt0cW9nTzRpRERpWVNBUDhW?=
 =?utf-8?B?anl6SHgra2JkTVBEaE5Dc1k1WFcrbnladFZtaGt6cHdzSTFBUnNVbkZpVGth?=
 =?utf-8?Q?V5EUdJasiVHIhMNDksreuQHIW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8391283-f3a5-476e-1e27-08dba8896839
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 12:13:51.7821
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tpLppQ9Q+RHeuGaQDxIY8LI5H/gD6BUag8jpVU8W+3OCyc5hfcS9zc89sJ4+fhpZu6wlkauqWfm9srXLA24V+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8607

Two minor oddities I noticed while moving the XSA-435 prereqs back
to 4.11 (a 3rd one is mentioned in a remark in patch 1).

1: add (another) size check of deep_features[]
2: drop NR_DEEP_DEPS

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:14:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592138.924767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxc5-0003R7-2R; Tue, 29 Aug 2023 12:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592138.924767; Tue, 29 Aug 2023 12:14:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxc4-0003R0-Vu; Tue, 29 Aug 2023 12:14:28 +0000
Received: by outflank-mailman (input) for mailman id 592138;
 Tue, 29 Aug 2023 12:14: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=C8Qf=EO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaxc4-0003AX-25
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:14:28 +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 9850e63a-4665-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 14:14:25 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2b962c226ceso65205211fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 05:14:26 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w1-20020a2e3001000000b002b6c61bac2esm2128102ljw.92.2023.08.29.05.14.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 05:14: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: 9850e63a-4665-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693311266; x=1693916066;
        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=mnWajmEyHsiAnjBTMsrRPcgZOzzHIqHls6BKWXhq8zk=;
        b=Dw1SLfA0J1O+vld319EBUCaEdhIrD3/1iPKWVkbKgUUhNXWrGsZjXz2v4381721UQX
         GGGke6vI7omyXM3L9kci3C3F1oGX0Nwme3iblVDu+oQAfM+VLbtV2E79RFr1RKXu024V
         U2b60xTMGrHEva3GPUZ4+qXASZmdCpRKYw4v/a9dfsndSFYoktJDd3QuB10HCJ1EG/mb
         GfaWC15DJEXXHjdgf6igZVnFzugVW6v1/eXKrp1VobDIPHWqG095hh2JgJJtR/h4cbRR
         BHWuIgaRQspWogzIjFfvTKLDSCSg8JzHr8oCVPx3doASvOOHWhM2S0qqIZknghrUDLm9
         FAXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693311266; x=1693916066;
        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=mnWajmEyHsiAnjBTMsrRPcgZOzzHIqHls6BKWXhq8zk=;
        b=ZVX7gxqbMxpEsfOSm/N/2Uq6Slyt2jmpkS3bEkyv/xZtLYcYU9zzpcVLtp8o9qaNQd
         3dnsIbl8O+L8na/Ns/GjPKMB/sw6RGzCsVB8AbWZsu5A2b6K4+jaoNpHpH+fty5bqhry
         uD87phKLwsSL1R5yGvnRcLrfRAEyYeH/kD6WNq9yYeKrI0wOYVPxFWAdDYphiqOzJFE4
         /ChZVyjAPNF9Sz/wLL7eTqJqmKlkivul4We66lzTe/P6+wlzU71evQVduSdc0VP2ud4C
         wKhjqAt0yDxKlNkbqkQUulBYpU3CMKbR4v2PGpxZTtf4QKl7MiX8Vn5HHYwXNJE94peU
         U/+A==
X-Gm-Message-State: AOJu0Yz9WzVct2ZIoHGFS/0NXICSdS4iAxX8+M7EBQyf6Opuor+wNGig
	svaDxJI27krsD5sQ8IKFpZU=
X-Google-Smtp-Source: AGHT+IF6HpLkTOkMjkt+I8GbaOu+i4p2cfAjmtmV9sJDqFpPhqGGERXsE/ZFdjnQku/dlY2pSlKpdA==
X-Received: by 2002:a2e:4602:0:b0:2bd:180d:67b7 with SMTP id t2-20020a2e4602000000b002bd180d67b7mr1718440lja.40.1693311265650;
        Tue, 29 Aug 2023 05:14:25 -0700 (PDT)
Message-ID: <aa3bac341ad5b1c918cf95c238f60e6f9ea87d18.camel@gmail.com>
Subject: Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.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>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 29 Aug 2023 15:14:24 +0300
In-Reply-To: <0b17a63d-ba1f-e8d0-88e3-6824ac17a26f@suse.com>
References: <cover.1693235841.git.oleksii.kurochko@gmail.com>
	 <c61f930fed46e2312f460333401488af4b0adfc4.1693235841.git.oleksii.kurochko@gmail.com>
	 <0b17a63d-ba1f-e8d0-88e3-6824ac17a26f@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-08-28 at 18:05 +0200, Jan Beulich wrote:
> On 28.08.2023 17:57, Oleksii Kurochko wrote:
> > asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> > stubs dir.
> >=20
> > Original asm/vm_event.h from ARM was updated:
> > =C2=A0* use SPDX-License-Identifier.
> > =C2=A0* update comment messages of stubs.
> > =C2=A0* update #ifdef
>=20
> When generalizing such a header, more tidying wants doing imo:
>=20
> > --- /dev/null
> > +++ b/xen/include/stubs/asm/vm_event.h
> > @@ -0,0 +1,55 @@
> > +/* SPDX-License-Identifier:=C2=A0 GPL-2.0 */
> > +/*
> > + * vm_event.h: stubs for architecture specific vm_event handling
> > routines
> > + *
> > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> > + */
> > +
> > +#ifndef __ASM_STUB_VM_EVENT_H__
> > +#define __ASM_STUB_VM_EVENT_H__
> > +
> > +#include <xen/sched.h>
> > +#include <public/domctl.h>
>=20
> I can't spot why this is being included here. All that's needed ought
> to
> be public/vm_event.h, and even that only if we were to continue to
You are right. I'll change public/domctl.h to public/vm_event.h.

> use
> vm_event_response_t in the function definitions (which isn't really
> necessary).
>=20
> > +static inline int vm_event_init_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* Nothing to do. */
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +static inline void vm_event_cleanup_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 memset(&d->monitor, 0, sizeof(d->monitor));
>=20
> This looks to be the sole reason that xen/sched.h is needed. I
> question
> the existence of that field in the first place when this stub is
> being
> used. But I guess cleaning that up as well might be going too far.
What do you mean by the existence of the field? Looking at declaration
of struct domain, monitor field always exists.

Could we leave initialisation of d->monitor for now?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:15:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592149.924777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxdM-0004HN-DX; Tue, 29 Aug 2023 12:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592149.924777; Tue, 29 Aug 2023 12:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxdM-0004HG-9y; Tue, 29 Aug 2023 12:15:48 +0000
Received: by outflank-mailman (input) for mailman id 592149;
 Tue, 29 Aug 2023 12:15: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaxdK-0004H8-QK
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:15:46 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7ce8479-4665-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:15:45 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8607.eurprd04.prod.outlook.com (2603:10a6:102:21a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 12:15:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 12: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>
X-Inumbo-ID: c7ce8479-4665-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mhB02qnKHgjXbFIjQdzgZpJVdR8I2qepqGYJJDl0erwphCiULLihTekfFDjyDV2wb+bqS5iXyyWsEfSVHkrGh7vJZfMuUSE/9mh6Q+/JVfdYaOi5UvYGA5C0r/wpIHbjYFGAh4sGO3AuMzdwRhSzg3Mtm9t9vQhyVsXT+pmMs2Irx5Sz6qTKEj9dymzcxQQbiX1UVDjDQACnpXQvAhHIMwpggX4BfRulZQLz7sjE/9eprpkQ//MyDkawduLCVAK8LmwYssvRGM1fRwS4wq6z+NHB/KvzPClJVFtkVKsAro/NWLaK/1oSBdXgfGQn5c/8CCq6NGQWYyTeA1a94Np6JA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3kOaYSK1aU6BycTvCRMwKPEsD3WbAgMeYjultb2R0/4=;
 b=ldhmHd/q0JUoK/lY9A3FEKMyRLaM2zjEg0/R+EShMcQvzuYGUNaPM9krOx5jHUvSdDtxmzX6huRotqEy+klaGBEnZ8n79D2Y4kQbfCW2RIzuA5q2uTlekmS9j487eFPlAGT/AW88ObTA0cpZJXXUu+uFaTDXU8PuArRN+vdplZ0Pr8xfwY0VvjHG11MtL8d0AaqWmzr+7EZBWo4p99PnaQxyt/D7aUk22gDfsJXepm5ERavKkUQ4P8eq8goSkoJInfR8cQoImlxhCO9rqx0p1OyOe1dALQ6cHIxRhG9pI9DtOWfT/PUmZvUNPKkfefsCqIufTyrww0cAs9aE3MJlbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3kOaYSK1aU6BycTvCRMwKPEsD3WbAgMeYjultb2R0/4=;
 b=aMqQ8dK9pTxpu2XrGq5SdMS4VpxV4tDkRhevu1ryrL1EaqQwKCJkVeBpIdx8EePzx04PMoPPNzFxvhm/gpUcLJDK3CQzb5ViGB88cgsOVVtcS+pdf5Ai2xAKXhMNdHwYxsqCI4CeN1ku+AL/nTX7SfyUMouHZ2jmvhsbxXOFq1RqXJGugKZDZBD98uMfqp+GYOBKmfzL45wvO5M1pTBKouopYk7O3Vq2upuWXYGCXx2044H0cvhzu+LFPQDETuOpi09tH2RidgebUbIWgi6NSdUjWv10I3GPXzFBcUGSRF3d+2J2HiyMATP3Nnxl3dxMaxqI44GGvJlmVcTXKs2vjw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c3ff2769-f9c3-eea8-9109-d1218b4e034d@suse.com>
Date: Tue, 29 Aug 2023 14:15:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 1/2] x86/cpu-policy: add (another) size check of
 deep_features[]
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <647aa53f-9b2f-df38-6de4-3e407f34f7f5@suse.com>
In-Reply-To: <647aa53f-9b2f-df38-6de4-3e407f34f7f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8607:EE_
X-MS-Office365-Filtering-Correlation-Id: 0253f620-667b-4bd7-fb5d-08dba889ab5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cCw93K/9MrQ29s8grr7kAOXBG03fCa2aejX5qG3X1odhGpIXWRsY5+5/kNIYntL/bkOmpdecwkyhPrw7HNQzuR8+c9vDoF1Dk4u7bTe1Jc936Af5o6+e4WIY6FvryE/l19InZoko9DTI4CtfFL+0cy+sxSyL14mC3W73z8rTZpGHZR4HBFv7lCUuIhMc7ceXqbmUgAGvzYf+mnqOPgUrYHfb7c0Eizf778esPSQJDUHAhL7rDugRK7sT5+0KR73xtgu08hpCWe94/Lm4NeGDBYfG2pEu9VjqbaXsMab7rT0x024aSOYaZUILRh1cPvp3K76ce9/h5QMl0ItniMRKIhMpDcqwc5BVwLIv5WhZ9RNhgpuKJm+sWwiSUbKSrC+h5SSaZf6qBSf0bZkcJxKDHplHJ6Qj5FKv/7CE3Jp85zcW7wHBfPjmhB0yhSl70AdmuaQKOBsie3BSsBumKwxk8PAYo6LNTdLk+RidX6g4FuUw9wQuGxJd0pAAD6z+ha+MOEeOunvQqJY9SiwKrW0lgiE0ixEU+aZ4lE7k0ZtF65xk3dqCRwp5EtPnZnod1cGAJxz3cnCZPqH/nqTwgeiEa/+O8AhC26oBRWomrfNJQ7m6AoENGyNLihPOQC0piDP+e6OhTmnJ0uC2DT8S2yRFOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(39860400002)(376002)(396003)(186009)(1800799009)(451199024)(6506007)(6486002)(86362001)(31696002)(36756003)(26005)(2616005)(6512007)(316002)(6916009)(5660300002)(66946007)(66556008)(41300700001)(66476007)(38100700002)(54906003)(31686004)(2906002)(478600001)(8936002)(4744005)(8676002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlpiZUFPRzQwTUNjcjBFaUZVc2xiMkVIeXkxQVZlREJIcnVPTkhuT1F6R2M0?=
 =?utf-8?B?ZWQ0cHFkOUJDaUxlcDd1akRZcXVsRkQ1bmdpU1Z1ZWgramIydG9rcUx5ckMx?=
 =?utf-8?B?QjFiN2szTXhUM1E5R1VwOWxsZTgxV24yK1pISmtvNXlHOFJLV0Z1Umt1c2Y3?=
 =?utf-8?B?TURZTWZ5K0hOcjZpeTVDeHJ5VnU5Z0NGbUZjTForY04rOGEwcnV2Q1phd1ha?=
 =?utf-8?B?c3BJRUxUVEpjZ2xoempLM0ZQZFFXZThNNVdXdDdiaDZic0RXUDJ1M3dKSVJM?=
 =?utf-8?B?V05OME4vUzRUeVR6RG1BaTRudldlQzhyaHozcjREbzRnb2Q2NUN3M0liRUlt?=
 =?utf-8?B?MDlNckMxZXdjMUR3V2kvR3RwNWNMMHZrc3hteGFqNmNjRSs1bysveVhFa2JZ?=
 =?utf-8?B?YitqdHF1c1JVOGxGcnFaUGRhVEpNaTFIdGo0K2JvWFdKZHRvUENSQ2p0d0ov?=
 =?utf-8?B?Uk1CV3VjZEp6RGhZS3hNaTRZL1BOZWMzcWhHTjNaeWF3MHJ0U0o4U21OaUpa?=
 =?utf-8?B?YXMrL3UweXFuVTRFTUNzWE80dlpEeE9MRk0vRE5GNHZmM3VxSWRITlJUa0ZC?=
 =?utf-8?B?YmVLWlBENy9nSFNZeURtc1J5enRpcHhMU0VldDdqRjZRbGZWNURTUTMvYkZ3?=
 =?utf-8?B?TG5nZTRqUDJKbE1UcmxjeGI3blRvWmJuckg0UzJLWmdISk5UWU9ZUnd5RFQ0?=
 =?utf-8?B?R09OUTJ5aDhPTVZjNHNZMk9oaGQ5SG8ycGUzWG85K3BaZE9hcko5VC9nSUNV?=
 =?utf-8?B?UVRkS2xDVHFKcnRNRUlOdjdnZzROYUNJTktodWxQY3loV0tuY3ozQUMvdGJL?=
 =?utf-8?B?U3JGR01BejR0d0UxUFNlTHdhNEtNQlNoS054YzhicWhra01XRk54S1owZEli?=
 =?utf-8?B?TXIxaVdzUWlNYjVDbXE0UG51aWRpR01YaVZubUhnZytLbE4rbkMwQkZHSWdR?=
 =?utf-8?B?OFlhNEJZU21uSTNmb00yN3FpRnNyU0JHcVp3c0oxUVFaV2M2UFVidmRQU3F5?=
 =?utf-8?B?Yk92Zk5GL0ZIZUtERUFqcXZHTVJCSEQzckVNS0lkN1o3QWtJTVlMZ1NISkdJ?=
 =?utf-8?B?aWFZOWVxTjFTRklsVElIRVJRbjQ5U2x2VHJUQ0cvY25aaGwybmd2QjVIR0pK?=
 =?utf-8?B?RS9vVytCRVE1TUswbmQzbGdyVlgvck5WTkRPRmhxclRqeXd4OXFhTEdHKzlX?=
 =?utf-8?B?cEsxdXdjVUQwdWhMcG1jaGxna0RJbmIxMzJTVmdOM2FYUEdUa2o4OFMwdkhn?=
 =?utf-8?B?VktLenNsajZzblAvQnR4RzBxa09OMEdEODdIZ2NWN1hydjQwN0RadUdQcnk4?=
 =?utf-8?B?VEw5VFVMS2MzRFAwbExBMmcrVkRCZ2VQc284bk5tRVpORHVZeVJJVXJqcHlv?=
 =?utf-8?B?aXp5Um51TmN2RHJ6L2wxNmdtaEFYdTZPVUZCa25BMHpmdEZDU1h5YndHUnhq?=
 =?utf-8?B?SkJwOGlPSFRIbXd3VmY5TWNMcFJWMzY0MkZGVS9XSnM4MzRJejluSFZoK244?=
 =?utf-8?B?bGsyYVRvSHUxNE0yV0U4VXFMQlZpY3ZqZVIwTjJDTEVLUTNRNWhFQnBWYlJx?=
 =?utf-8?B?dXV5QTVQNDdCN0U1OHB4eG54TnpRZDN4RnN4YkVFT0JjTWFBRjc0TjVldGo0?=
 =?utf-8?B?MjZaT1pQQXN4bVR1a0crY3B0ZEVVQUh3RmRHeXBrcjY4UTh3bWtxNG5udGZI?=
 =?utf-8?B?VUg0Wk53d3RYWDRRMmU1QXVIVXBFV2hJdjBUeGkxbXN6aDN6dnB3KzQ2UlA3?=
 =?utf-8?B?ZTZ6OEh5ZDRXVGRndlBCVFZmSS9PbVYrU3ZjR3M1RnVtdmtaWjZEOFhDN0VK?=
 =?utf-8?B?NHBDZ04ybVZvUjdmRWMvMFNEV2VTbEx1NnNneWIvcHlvaTAyWUV4djhqUHE1?=
 =?utf-8?B?VzRrQngvcjA4U1duNkNGQldsM1RoTjJrUncwVUdxZ25wSWdKTzRqSFZ4QldN?=
 =?utf-8?B?MkxzUy9NcVRobzRoY3BXMnlycVVPQUgwc2ltREhGRGd0V0VhbjBmS3FaaG9D?=
 =?utf-8?B?Rm9aajVhaWluK1NqUzhZTEpLeEdUUXhuS0Ziam0vcm54UGhlVFNRRmJIUmt2?=
 =?utf-8?B?VGpUb0xYMjlIZTNzN1BhYkc0b1RqeC9xWVpxbi9hTzgrWGhNQlRpTFMxeFBx?=
 =?utf-8?Q?Fwr5uKMXAD8S5llXij0//Qyom?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0253f620-667b-4bd7-fb5d-08dba889ab5b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 12:15:44.3165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ROtCMdfk7qT1nOBG4Ic7ltVoNMEziFWw6Zgcphvda/TVJMNL67HTvWUNW6OPt+Xijbeu36RIEO/clqztCf0B6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8607

Having this check in library code guarantees that the tool stack use(s)
will also be covered.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Dropping the check from arch/x86/cpu-policy.c:build_assertions() in
exchange may be an option. While there checking is against FSCAPINTS,
the difference is only on the surface: That's a #define resolving to
FEATURESET_NR_ENTRIES.

Really the duplication of deep_features[] itself is also somewhat odd.
While not quite as big as deep_deps[], both Xen and libxg could
certainly get away with just a single instance each.

--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -298,6 +298,7 @@ const uint32_t *x86_cpu_policy_lookup_de
     } deep_deps[] = INIT_DEEP_DEPS;
     unsigned int start = 0, end = ARRAY_SIZE(deep_deps);
 
+    BUILD_BUG_ON(ARRAY_SIZE(deep_features) != FEATURESET_NR_ENTRIES);
     BUILD_BUG_ON(ARRAY_SIZE(deep_deps) != NR_DEEP_DEPS);
 
     /* Fast early exit. */



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:16:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592155.924787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxeG-0004ti-Oy; Tue, 29 Aug 2023 12:16:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592155.924787; Tue, 29 Aug 2023 12: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 1qaxeG-0004tb-MF; Tue, 29 Aug 2023 12:16:44 +0000
Received: by outflank-mailman (input) for mailman id 592155;
 Tue, 29 Aug 2023 12: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaxeG-0004tN-1P
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:16:44 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9e5bd83-4665-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:16:42 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8607.eurprd04.prod.outlook.com (2603:10a6:102:21a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 12:16:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 12:16: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: e9e5bd83-4665-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zr093Ac/ai/UHHUxClmI7wS5XPRAXYsSQqiPCUjQ8M74c2MGEz3ojE1wtxWcIj6CKcJsdmSCGvbAVNAyOPBLmrkrMOsNuh5C/qqH4dLm3LoOgP7pI7cUptRijCPNFBp3Ad5bIP5c78knIx+3z7EN2EsLB5pdp0uY61RPblI7HyWXifPcJlZWNv5tcH8d0T03j5FFmbbZI8a5sEM7f67UGRJP6VwtgG8NVceuO+J09HmR3vlFETk617pTVfopXitg2jGz8GZU9fKdKM1H/7owmjPwtBI99DJhH2EMtwmyC8jULKTUH3w9hzLRSA/m60Ej6rfUoIyr6X0zgudd4oJ8GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=byPlITSxbU6diXzkr7Yqb4ZAxb+D+Yzm0kXT6k472aI=;
 b=mVlevpvwK0Mpi3guA0HSMmjPL2FiE/2c5drXXVFhHZhynuU9GyfOVIrOysPb9/pJR6u0YFccn2P9bBcJrpHLB20BC/+/VdesdwepNfo1xqrEDx3yYKcSr8Ej5bpVv1x1V/VqKTtKLQL5EgTnjqfc1XZ4yS0AoE7qKCNJ/Zu7Ici5KnDqz+GhqQCCkz4bMRpdnwYS+Uqj5i74Lx6LRtIIEX2G8QFIQh92Y81KCkfU3YD//gtSLWISravON6rOjiD2fjZQ3DY3xPkMqUo2eBrJ2msqUP7jCROVKDmRHLVzzvyZh7s1jhl8AXoJ9OiQ3rZtsBdg/vYDisvNM75atD4IaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=byPlITSxbU6diXzkr7Yqb4ZAxb+D+Yzm0kXT6k472aI=;
 b=PD/cadMmtapkYdLto3ZbkCZHh8OIIMpnbfunAwYTkdgy5ZV0+t2ksmICIclE5giWoy2OfJdu6MBjCIEbzgd499PXIohNS48xUj2V65lWli8bBjiqfS1LrpSC3g7zHG6aMwuYP0y1swscaX0CF+P2JTsbIA23PED/uS7Jb6dgGUoNO6Zvn8Si+kyDYgbTSjqUQvVqQ2t2wWCrSpmL5u9CuW/1HuW3OhJHI9Qe0/gmSCHcNfFqFF1NhEbNkFdjpIwKSv0iqqsGtiXmfg3kv5idka4llPdxAwDa4saiKiAAB4mYJRCOCDZVU2PEAFD8QTFVjNSVlUfJO8tfzySs5lX3UQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4e675365-4ca8-9e86-aed3-ab00571b0066@suse.com>
Date: Tue, 29 Aug 2023 14:16:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: [PATCH 2/2] x86/cpu-policy: drop NR_DEEP_DEPS
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <647aa53f-9b2f-df38-6de4-3e407f34f7f5@suse.com>
In-Reply-To: <647aa53f-9b2f-df38-6de4-3e407f34f7f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8607:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c97185d-0f97-435a-912a-08dba889bd22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lIbVtjovJlQTOwX71qH0T5IqzrNn7UbjuuIao0wW1ZWeX3IjlbmPMCdpMC7uIBcibbCCzS0Xt2gY+OpjVTJmwdP9yXgPn33kVHGOogkWwxfAKdXYjjZoxXj0tNn4c8meJSBipptjiCex1oN9lXTLWPyP+NqWyKi2LPSjL9+cekFgKtnCshYMfDxHlJUMn5ITv1JUnecI97jlS3+/tGcDiYAocBzifCLhxoepFhUM7Ivlz3jhzY5uNqEbNmpO1V3xvHteUKVLvuI7+CU2D8/aeqA15WltDXG3pY+UtP/UgIYYUpcxw+U65BJIbAPRjddVFONtrbXdfTQEABKRPkoeARHpXbBDPDE4O9kC2uYc/RReKFkoVTWazU4QzbpBwaojeviKruUJeUve5BqBOibiClOoCcgS9ZoJrUcN3n4zwc6W3qoPw80fmju52M3XnvxXdUyd2l229yRfd7I6WBaWmpBMCnFHkpj22OOrf8DmqDnwHVKoqhT+XX0XR26KvWXxp4Kt08tK1/tCVWbTqghi8yhZulkKSnG64rtW2itMAtSf1ti12PsuLLPcuQPNcMBMshoPW5vELtkjXKAm2sCZAbTa5Su+qjQkfqPuDn/y4dZfQQAcYaHRn9qqaeHAWEB3Ey9zHtW22ueLM10Q0nHpTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(39860400002)(376002)(396003)(186009)(1800799009)(451199024)(6506007)(6486002)(86362001)(31696002)(36756003)(26005)(2616005)(6512007)(316002)(6916009)(5660300002)(66946007)(66556008)(41300700001)(66476007)(38100700002)(54906003)(31686004)(2906002)(478600001)(8936002)(8676002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjFuV3VZRUI3TnQwc21pY2NrTklhT2lmSW1wWWtsbWY2MFFBblpGZEFmZTVo?=
 =?utf-8?B?VnNpYTU2RS93OEE5dXczTk1iemNtZXpLSVZZeDRFdTJFN3k2VW1RdDdqbkxE?=
 =?utf-8?B?N29MQzFKdFFSQjFTcXN1VkhXa0tsbERFUGVDZGo2bHdzc3FiOUlHMjNFVi9V?=
 =?utf-8?B?d2VuRHRZRWg2SDBTWmtwTEpwSTBQTXh3bVRxWWtoM3JPdXRnSUVYeFRTVWcy?=
 =?utf-8?B?Sm5VbG9RcW5PNVptWld2REg1dXVvb2NQMzhLajNXVlFrcnBETGE1OEVJZEtm?=
 =?utf-8?B?WWpJbUtVVTJXMDAvQnE2eEwzczRCanl5OWxKU0NGRHExc2hKWldrU1ltU2ZR?=
 =?utf-8?B?Q2Z0cjZBUExzdzVFcVF3cWg2dzk0Mm9IS0hsekpFVTVRcTVxTXhaN25rbEUx?=
 =?utf-8?B?K0MzTE83enFzb05ZRzJLVzByZC9GYnlYbVF5TjkwT0Z0eENoMFI0MW93SDIy?=
 =?utf-8?B?b01sYVdId21OTkZmUkhiMDlyRFNXTEw4Q3lvb1R0YzVUenZWelc1Y2ppejY0?=
 =?utf-8?B?YjRUWFQwMzRvRjNZMkdCdXBWdmk3RVVFR1hBWHVxVDRHTUVZRThERnYwdUVs?=
 =?utf-8?B?aW9oQ2YrSkJ6M2h5aXo5U2pxYXFuZzVvOTdNa0tueGlQME0zRGsvRktKcXhZ?=
 =?utf-8?B?NldNSmVwc0xGVE1PcVJRRGFKWE4rWkJCRnV2bTVGa0V1endjeFNZMEt4VmN3?=
 =?utf-8?B?UWhJZG83bURBclNmWTF5VnYyTXBpblRPSHZsdkVVbHJpTDFEL3Q4c1BGRGEw?=
 =?utf-8?B?c21DUTJKN0tyV0tyRUZYK3h3bHlWYnVZeTBrMW9aZmgvZ01GSkRjK2IvT2dl?=
 =?utf-8?B?eUVDSVpyZXJ5aVVuWTh4Wm1lQ2o4ckdhazBFUTNsVGJoVDVBdldLMVVGQnFJ?=
 =?utf-8?B?U1prajMxZ0NxUWRFRzU4WmRvRFV3OXhUbHZYN09saEpsQUpSN2JUWVFsWWpM?=
 =?utf-8?B?VUZaR3pISjBXTTRBMGNiTUoxNTFPcEVyLy9mREltQzhHa0VBK2hoTTJJQ2NL?=
 =?utf-8?B?czF1MGJxL1lrWklvUUozUXZoY3JBNEN6bHVNYXVRMkNvOHlJdHFFTlBRWCtE?=
 =?utf-8?B?MENoempBZS9LNTllNnNFbEpnU3FEUFQwU2VUdXEyOVlQSk5iVU1zWFFhNE95?=
 =?utf-8?B?cEljNGhUcGViMm80YnhkSURCVjUrSmp1eXhHQ21PakVQYjluMFJtZXNid2Z1?=
 =?utf-8?B?TUZMbndjM1RaeEpCOFF2TkpaS2ZzcGZlaXNtT0JnNmYzTW8yaUV0TndkblpK?=
 =?utf-8?B?QnVVUEZPSzhRRUxjZ1hSRTVGWGFuRW80SDdYdE1QbVFSWHlzdngxYTh3Mm1M?=
 =?utf-8?B?VVZNWkpjUEt4eVdNMVdwWWE2ZllJdHhWVDE0QmFKdVVRWTJiYis1dEd3akNX?=
 =?utf-8?B?Ykh2K3JpaGN6UE1hQTdyRkpLUktldldvS2RZdEFRS3J0QkNVY0duTHYxQ3Nw?=
 =?utf-8?B?U1Rra3pjWXROaldzY1o1VURkUjI1bzZPcFJEQ25abXc5NUJsUlgydXZzTmtT?=
 =?utf-8?B?cTA4ZlBGenc0MFRFZEMyRExIWWRobUM3U2hJajBweVlPWmh0akFCL0NQck52?=
 =?utf-8?B?UFJ6aXhac0VnSWJ5cm9FR1NNbEFJNEVONTFYWVNJOGdpK2M2SEt1WnJKZUdy?=
 =?utf-8?B?SW00N0g3dndEQXRnUXk0VExxYWFHMmxEZjU0M1lob05TdDhIUnJWaUFKZ3R0?=
 =?utf-8?B?MURybDZzMEM2M1I2blZXVHQ4ZGhpOEU5MXdkU3NETDBWVzdPa2dyMVMxUENy?=
 =?utf-8?B?eVhVc3daZTF2U1NkWHNadDZKdFhkUkVwU0dtVlluVWpzQ04xNndpNWg2TXcr?=
 =?utf-8?B?bE1QNkxyUGk4OUpiV2l3UUl1M1N2UjNhVW1KUTlxL2NuOUd1SnZpbHh4U2kv?=
 =?utf-8?B?aHZOZStXSGFQRTJRRzQwaGVwd21sc1NDQ1BTYi9zZkhVTXFOTEFpU3lOL00r?=
 =?utf-8?B?dWhOTW5ITXBUNDZGSkVmS0grLzRCcnc2YTRXdjd0UGk0K010N3dyMXg5WU9r?=
 =?utf-8?B?ZTZWNmxOM1cxL0hWb20rMm9KdlU0UmR1dDRZWjl5NHQwVVJJSVpnbXFFa25k?=
 =?utf-8?B?bGNXTDZwSkZhaVF0MzI4MWdsN0NnTDhrdVErN0ZyMFptOXRYYUdwSmMyYnNG?=
 =?utf-8?Q?3tUjhJ86ZFAMjlQ+SV8Z7Xcyc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c97185d-0f97-435a-912a-08dba889bd22
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 12:16:14.1473
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +VNxT7r4ZuQn0ONG7MAGgkhsdq8j7J/6vJG90g63IhNUDnn/CO+LybCbpW2LG4NPCpdABaYFpnPV10AkjJD8Yw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8607

The constant is solely used in a build time check of the array size of
x86_cpu_policy_lookup_deep_deps():deep_deps[], thus merely proving that
Python got its internal calculations right. There's no real dependency
on this constant expressing the number of elements in INIT_DEEP_DEPS.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -299,7 +299,6 @@ const uint32_t *x86_cpu_policy_lookup_de
     unsigned int start = 0, end = ARRAY_SIZE(deep_deps);
 
     BUILD_BUG_ON(ARRAY_SIZE(deep_features) != FEATURESET_NR_ENTRIES);
-    BUILD_BUG_ON(ARRAY_SIZE(deep_deps) != NR_DEEP_DEPS);
 
     /* Fast early exit. */
     if ( !test_bit(feature, deep_features) )
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -37,7 +37,6 @@ class State(object):
         self.hvm_hap_max = set() # HVM HAP max features
         self.bitfields = [] # Text to declare named bitfields in C
         self.deep_deps = {} # { feature num => dependant features }
-        self.nr_deep_deps = 0 # Number of entries in deep_deps
         self.deep_features = set() # featureset of keys in deep_deps
 
 def parse_definitions(state):
@@ -362,7 +361,6 @@ def crunch_numbers(state):
         state.deep_deps[feat] = seen[1:]
 
     state.deep_features = deps.keys()
-    state.nr_deep_deps = len(state.deep_deps.keys())
 
     # Calculate the bitfield name declarations.  Leave 4 placeholders on the end
     for word in range(state.nr_entries + 4):
@@ -421,8 +419,6 @@ def write_results(state):
 
 #define INIT_HVM_HAP_MAX_FEATURES { \\\n%s\n}
 
-#define NR_DEEP_DEPS %sU
-
 #define INIT_DEEP_FEATURES { \\\n%s\n}
 
 #define INIT_DEEP_DEPS { \\
@@ -436,7 +432,6 @@ def write_results(state):
        format_uint32s(state, state.hvm_shadow_max, 4),
        format_uint32s(state, state.hvm_hap_def, 4),
        format_uint32s(state, state.hvm_hap_max, 4),
-       state.nr_deep_deps,
        format_uint32s(state, state.deep_features, 4),
        ))
 



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:16:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592156.924797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxeI-000596-1H; Tue, 29 Aug 2023 12:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592156.924797; Tue, 29 Aug 2023 12: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 1qaxeH-00058x-UX; Tue, 29 Aug 2023 12:16:45 +0000
Received: by outflank-mailman (input) for mailman id 592156;
 Tue, 29 Aug 2023 12: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=jKbG=EO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qaxeG-0004tN-Oh
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:16:44 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9710384-4665-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:16:42 +0200 (CEST)
Received: from CY5PR20CA0010.namprd20.prod.outlook.com (2603:10b6:930:3::11)
 by DS7PR12MB6216.namprd12.prod.outlook.com (2603:10b6:8:94::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.34; Tue, 29 Aug 2023 12:16:37 +0000
Received: from CY4PEPF0000EE3A.namprd03.prod.outlook.com
 (2603:10b6:930:3:cafe::52) by CY5PR20CA0010.outlook.office365.com
 (2603:10b6:930:3::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.36 via Frontend
 Transport; Tue, 29 Aug 2023 12:16:37 +0000
Received: from SATLEXMB03.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.6745.16 via Frontend Transport; Tue, 29 Aug 2023 12:16:37 +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.27; Tue, 29 Aug
 2023 07:16:36 -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.27; Tue, 29 Aug
 2023 05:16:36 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 07: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: e9710384-4665-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KUkvdwgkT1Y14KVy6XxIA6CsVhmqYYjC18wNzlaYpzbVostXreS9hjbGjCnFCGh5h15LkuXyEbTJP1SmojQtB6viXVGztFDubpSgxFF9FRd7bUUlb+qrV/SewtIiCUJGcObCfB3xg5ipy4oJ6nc3BXuXJw/lhQ+Gs2hsSjucS+So/cB5UOABBCs1FmGBfIqmoKAtOUnILgSq7y2AQaMI605WJKRK/lWuXP/wKFWl5ZLC7AXddQkb6AiZsap0PnYUYJevTrvK2XRiyHFwcZ2gIJDuaR8TnhcowUGEv4TdI7JOGjvAdfUG1gEIFMnsGaPj1/YQX5Xxe/bJWL9YwDMUmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fT3Pn5TQ734dKiH5jmNphyOJnE+DG9OcQwnsII6vXdY=;
 b=K8aefOQPP2ABhm8FhMPhT/VN0rZ/3cuowDyyU88eZkhdpPM9PNzUBeHbvUhlQzBt/izX+pRkWhHA3K3T4vCHuNkM9GGT85oTc7JgoUffYZLzFwZp3mXI90sRQrdKUVNku8BoscU3Xpvh7Qqptw3hPvxTbi1bZhC6zMX/CsLSBD3VQeLaOOS1kFXe+M36MtoFSbYabsxPCx4+UqD8OggiqcDIYqOIrq7QlFxX2m1Pko/BeVd9AIHPaNMHddgLDh9V6tFgkROIvkEQt/0pkdrq2ig0an+ZQYoK/6LWR1/EamY5PjvF9WiwpFpm3AijFpDVPZAZvt9ZoFFqsxNx4M0gOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fT3Pn5TQ734dKiH5jmNphyOJnE+DG9OcQwnsII6vXdY=;
 b=oJ5NnAK9nrYzxl9Uqm82GkIaIzW3kYEPcZ0L0IQFnLOsrE/zWk34sjoKKwuTjtwXNGMupllUgohA2oY1MuTbFQ6RJ7V1YO5uuwl3U1K/nYBWzVYcsMy3IET2IUbG0ar0+5u6IKQ6e0VLYR57nhTOxfVIcUkRvZubICk/U3q0Uvs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <0d7ef46a-209e-757f-f4fe-c24e0949ddce@amd.com>
Date: Tue, 29 Aug 2023 14:16:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 15/20] arm/asm/setup.h: Update struct
 map_range_data to add rangeset.
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-16-vikram.garhwal@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230825080222.14247-16-vikram.garhwal@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3A:EE_|DS7PR12MB6216:EE_
X-MS-Office365-Filtering-Correlation-Id: 8cd8529c-4cd9-4a64-b341-08dba889cb03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wG7FXekAqsXd/k5ZNzzkR9ZreFbfM6F+zZcwL0nKrXqAppPvF+cdfQ0j97+9JU0UpnYev6FG+PUXkwQF+zW77l2n6aj6kwafbrMJJFlU6eQHZYyIgvQU40GeZOwfBEdpYT3xif/wbc5wrY952kPSZPG7PD9jsnj/SeR1aLYlqOcpR1wUxyN97Ixy2c14XYb8cNeZ4+Ja+C9H7XKRVngOHrvBBq3D9C0OW8T5gdB/WenbbZa89dMvDyhoUQ6LED50as8B5GxMuKUFL2BUrFw5PER0Z+I4Pqy3ll/t0d1IQB7qSPwL2irMsy027J6K+vveBjQnwsQ4tH0rgyRqHEAX5IkK2/3XWE58MnX+7gQBtysz/F/MJEGiJLTUfuMckzhHF1b0QxqvOLeoCy1OxXHOrMeLZkKb3HuIXlbLbkfPY0H7swx5ZY8jOuLKdB/0l1qXUiHgnPK4eG4ilXt94l0KQi3i+lkdd0efRYaWuiUggjD1OINDSbw7Bc+bnwUPxPhKmOiiSwbZHVf1dY8R1ziFRNuwnCWqxeo1GU6d3GBagqQQ7xQCDtKmvfq9rrp6GJgG6qOXkYZDE7G62oLHYUtu+lcth/seLppPd3A6+IAKhKVZcWYlfOCShZ9j+SJW41KZXaoCtmj8WhV9eVfNthz4F4TA6ZslFjcWy5fwIN4bTkoKUQPgypZxKzZDjSk1NSItw2OBkUCjpU8B1kL28KqPv8HwiBoDz4NFhXBZOuUL3BJJlpMPTJsyadkwNRXtWe98NiRLFqkLYV4eNYlejTwGoxu18+av+eDgc7ckf5e2pSGabpymx1CKeZbUCO1hKQjK
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)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199024)(1800799009)(82310400011)(186009)(46966006)(36840700001)(40470700004)(31686004)(82740400003)(36756003)(40460700003)(31696002)(86362001)(356005)(81166007)(40480700001)(36860700001)(47076005)(2616005)(478600001)(2906002)(426003)(26005)(336012)(83380400001)(53546011)(110136005)(8936002)(70586007)(41300700001)(54906003)(70206006)(44832011)(8676002)(4326008)(5660300002)(16576012)(316002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 12:16:37.1966
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8cd8529c-4cd9-4a64-b341-08dba889cb03
X-MS-Exchange-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:
	CY4PEPF0000EE3A.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6216



On 25/08/2023 10:02, Vikram Garhwal wrote:
> Add rangesets for IRQs and IOMEMs. This was done to accommodate dynamic overlay
> node addition/removal operations. With overlay operations, new IRQs and IOMEMs
> are added in dt_host and routed. While removing overlay nodes, nodes are remove
s/remove/removed/

> from dt_host and their IRQs and IOMEMs routing is also removed. Storing IRQs and
> IOMEMs in the rangeset will avoid re-parsing the device tree nodes to get the
> IOMEM and IRQ ranges for overlay remove ops.
> 
> Dynamic overlay node add/remove will be introduced in follow-up patches.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> ---
>  xen/arch/arm/device.c            | 43 +++++++++++++++++++++++++-------
>  xen/arch/arm/domain_build.c      |  4 +--
>  xen/arch/arm/include/asm/setup.h |  5 +++-
>  3 files changed, 40 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
> index 857f171a27..9df37abac8 100644
> --- a/xen/arch/arm/device.c
> +++ b/xen/arch/arm/device.c
> @@ -165,6 +165,14 @@ int map_range_to_domain(const struct dt_device_node *dev,
>      dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
>                 addr, addr + len, mr_data->p2mt);
>  
> +    if ( mr_data->iomem_ranges )
> +    {
> +        res = rangeset_add_range(mr_data->iomem_ranges, paddr_to_pfn(addr),
> +                                 paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
paddr_to_pfn_aligned()?

> +        if ( res )
> +            return res;
> +    }
> +
>      return 0;
>  }
>  
> @@ -178,9 +186,10 @@ int map_range_to_domain(const struct dt_device_node *dev,
>   */
>  int handle_device_interrupts(struct domain *d,
This needs to be renamed as stated in one of the first patches.

>                               struct dt_device_node *dev,
> -                             bool need_mapping)
> +                             bool need_mapping,
> +                             struct rangeset *irq_ranges)
>  {
> -    unsigned int i, nirq;
> +    unsigned int i, nirq, irq;
>      int res;
>      struct dt_raw_irq rirq;
>  
> @@ -208,17 +217,24 @@ int handle_device_interrupts(struct domain *d,
>              continue;
>          }
>  
> -        res = platform_get_irq(dev, i);
> -        if ( res < 0 )
> +        irq = platform_get_irq(dev, i);
platform_get_irq() can return negative and you even have a check for < 0 below.
So you cannot assign it to unsigned.

> +        if ( irq < 0 )
>          {
>              printk(XENLOG_ERR "Unable to get irq %u for %s\n",
>                     i, dt_node_full_name(dev));
> -            return res;
> +            return irq;
>          }
>  
> -        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
> +        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
>          if ( res )
>              return res;
> +
> +        if ( irq_ranges )
> +        {
> +            res = rangeset_add_singleton(irq_ranges, irq);
> +            if ( res )
> +                return res;
> +        }
>      }
>  
>      return 0;
> @@ -249,6 +265,11 @@ static int map_dt_irq_to_domain(const struct dt_device_node *dev,
>      }
>  
>      res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
> +    if ( res )
> +        return res;
> +
> +    if ( mr_data->irq_ranges )
> +        res = rangeset_add_singleton(mr_data->irq_ranges, irq);
>  
>      return res;
>  }
> @@ -289,7 +310,8 @@ static int map_device_children(const struct dt_device_node *dev,
>   *  - Assign the device to the guest if it's protected by an IOMMU
>   *  - Map the IRQs and iomem regions to DOM0
>   */
> -int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
> +int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
> +                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges)
You modified a function but the corresponding prototype change is missing.

>  {
>      unsigned int naddr;
>      unsigned int i;
> @@ -304,10 +326,13 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt)
>       *     pci_host_bridge_mappings().
>       */
>      struct map_range_data mr_data = {
> +        .d = d,
There's something wrong. I can see that you removed this line in patch no. 3. Why?
I don't see any reason so please fix it (otherwise code state from patch 3 to 15 is broken since nothing else sets mr_data.d).
When moving the code (which you should just copy/paste), do not perform any modification (unless mentioned otherwise).
Also, each patch in a series (except rare occasions) should not cause any build/runtime failure.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:19:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592170.924807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxgq-00065u-Fh; Tue, 29 Aug 2023 12:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592170.924807; Tue, 29 Aug 2023 12:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxgq-00065n-Ce; Tue, 29 Aug 2023 12:19:24 +0000
Received: by outflank-mailman (input) for mailman id 592170;
 Tue, 29 Aug 2023 12: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaxgp-00065d-Ej
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:19:23 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48ee0460-4666-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:19:22 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9097.eurprd04.prod.outlook.com (2603:10a6:10:2f0::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 12:19:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 12:19: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: 48ee0460-4666-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G6ozBHRMbUXbaXgx3ZAWCV0r2v5PbKOP+Su1utiox6JGd9W/XwBm240BwqUDtaewthEspEoRrlD6nXb0kT6UQ7MbJHAvI+LGfPA9BhPtssSvzC9HfrmBEVyctBrXfgNgxVDq92Yt/U3nMXrfqxEXzCUqxnfU04MVtT9Otx+Gg9418m6J/AOv87D5VTlLAS/odCya1ENavA8Zjkw5cDzFfXaziJ4JT8O4/OuEdKY+A2EBa2fhWP7RlkUKVpUP9i8tgkobRbrCNlfMY7d7oJ0P/C00m5jz2is9uhWYnSCgVnxMEXEzLw67CzC/RnDHouKfFoe18yBHrVEEmP46+v5/pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=a1IK+qNb4jpQ2ObZMba4MsiajvAvssXcl/ld9UxUd5E=;
 b=c4Nt64mMuOmaJMW64oSsKtJd3dStjuwdU27VUT3dfJnh/yRcJ4EP4BHcy42poca6FwuQxM5klc/Ay4TbHOWuV8aSiXfPdtqMri5ZNxDAdDJc2Dtubvl+TiYgPnnZZrEJ6WxCTVQuZSzsrMBvp6BSY5IJMWmqruMvSd3JYN/erCahIhQ8O3jPMaMbrZM2HKkhz7k08fMxOd1F8P9F0HqCwUHLQ2uHCZNN+j9TJN1am6qvTlzuQtGWhH1Rb4dp9+xGfVAMpP+QGVTcHwrGbgYOw3MnzWFutKHxISPhZfjMeZij2TRcRKdEL9olPHAVz7F5pJCUoGfcw4An0XuQtv1cyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=a1IK+qNb4jpQ2ObZMba4MsiajvAvssXcl/ld9UxUd5E=;
 b=m4zNeV0BnGCzehd5tAZXrbployOeTQPeNpSFhHglozbu3py9eh9b1P3DOdmYYFE6BLxbIxGRQRGiVO4PLZW84wZ+lWCnfH2Y2Qengxj93sG5w7iD1dR5ne+5O46kPCJSDIwvVmz51Oy25jYTiSxs3Z//R9xZldXOQpnlqBysfttOXaq/P02eqzoEf25yQ8RIrClefTec3Ds/FtIJchcT1NbEWipd88rNro9VzxcN39ma4xY3TJnbTsIFIXNt9g+idR5KlbnSuJAAWW/B5UBPoDFKLrwG42bpkWDD7oeoPnuhrbFB2Gy1K2fFWCqU0w6feMdUW88OGPSecmhgpT+FSg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <10880888-9e13-44f6-35fb-8145388255e8@suse.com>
Date: Tue, 29 Aug 2023 14:19:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v1 2/2] xen: move arm/include/asm/vm_event.h to stubs
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.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>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1693235841.git.oleksii.kurochko@gmail.com>
 <c61f930fed46e2312f460333401488af4b0adfc4.1693235841.git.oleksii.kurochko@gmail.com>
 <0b17a63d-ba1f-e8d0-88e3-6824ac17a26f@suse.com>
 <aa3bac341ad5b1c918cf95c238f60e6f9ea87d18.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <aa3bac341ad5b1c918cf95c238f60e6f9ea87d18.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0159.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9097:EE_
X-MS-Office365-Filtering-Correlation-Id: 735c2501-66c8-4c96-3a30-08dba88a2c2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j0iKjqwiHf27WkGtP+f33ZTvJXQGNOlisSyxF/Q9IXROWSenHxKntrgus44+tL2pMGlstZxnyMzGZa2T7tA0bWAhvvA+CUWdZLhcrGdnzpDjEgBkJ6jyObHfasKNb2M+MbUX7BVy3BPsZ0NfSy2ueHHO1jtDb0bh21YidwdgB/ZUqJQ7aNXLXFshkqQias8lxV34fxqEWF3txnaQ0uiw/fTK8ZczY227D8e9cYZSuTzdmcYObm3tvEiasd2JHe3WgE31Yp/Ki/D1SRyJQSYskv5tITHs4UH4RKBH2TONDprcdgpk9xpIF4n35RIOem7hJjz6ja5ofyuozG2Q/+sPdUk4McnEcdHEeXVOIRzGPObjO8xvCZCzxcuUDV3f6cWwSnevGTZkDKMi0tHHKbPZdXQ3L+wM6mjcR1Buu7YvaqzivXe8LzUt5dfYVuEgsX7r1WDJeik1XVq+5JgN1TzJgX/kOytFQlB2PxTE9H7zUzO+owXu3k8koxZkaqDQDyU81ijTZlGSgj5LtWG1we63uhFdRGQDB4uRYZ9J2vHVkb2w8K0v2PHeGsIXjM/d5UpqFuEfN7B0gY5fD1Mrnp8O1WDuINvXMbhEzMxD1kn1AmTxWfZLrqu/OCKqZmBxlIJKz31XPz8wMjeFWKe05hqaAQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(366004)(376002)(39860400002)(1800799009)(186009)(451199024)(478600001)(26005)(31686004)(2616005)(6486002)(53546011)(6506007)(6512007)(6666004)(31696002)(86362001)(4744005)(2906002)(7416002)(66476007)(38100700002)(6916009)(8676002)(4326008)(5660300002)(316002)(41300700001)(8936002)(36756003)(54906003)(66556008)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjZ3Uzl0MEZVM3p4SjB1NWpNQ0l2L3hKS083MEExNHp4ZnlMV0RBcWtFb2dN?=
 =?utf-8?B?VVVVOWhKQ0lLU2prK3BWTHlNdWJ0NldiK3hIekhVaU1lQWtYR1FJaS93djZB?=
 =?utf-8?B?ZjNKR3ZoK25CMk5PZW9SMTBTbHhtZ2J0WnM0YXZCUlJtVFJlbU1tNkJyanMw?=
 =?utf-8?B?emNpaXVtVWlhWVRmQ0g1anBnVTdKanpyWTIybk9UV3JuK0xoRk8vdFFqb0xS?=
 =?utf-8?B?SmpaT2lwMXpuLzREeXJ1cHU5SWp3dGRFOTkyUUJ1UVFJbXhRSjRHWDNWRE9x?=
 =?utf-8?B?REJHcGVKQ3Q0R214M2Rvc1pRRWFZeTZTWnVPTU1RajVycWxWMU9DbzR2TFlX?=
 =?utf-8?B?SG9xMGJBTTRhd1Z0ZTluMU5lWDBxNkYvQmZrK3pwTFZBMTBSb2o2cWlTT3Fq?=
 =?utf-8?B?NnloSk9kOTdUaGVvQkNiTUtFRzlEN1VUNG1WT3dnU1MyU2RVYyswYWM5bEty?=
 =?utf-8?B?ZUJXSEpHOGJ0VllKK3IzaGZlTW1YcUEvRW9VSzBNdFdTMDFQMkM1MnFOUE9h?=
 =?utf-8?B?T0NWNUl4ZGhGRzU0dDhsT0dUOElYdENTNDBUWUs0NEpmcXBHelgxV3A3U2k2?=
 =?utf-8?B?dnhwbjFud2JTZDU1YUowWVo5ZXdCSFQvSEFhQU1BWDRsWEJ1R1VrUC9sb3Zl?=
 =?utf-8?B?Q2p5aEl5a1VaVVZja0FHS0I0dVZLOEZkOEhXMVc2MHI4d0IyV3lleEhRRU1H?=
 =?utf-8?B?ejQwakd5TG56ZjVRUWhOZW1tdk1ueFdoQzE0Vytoc0dMN3NpaklHSzRxR2pa?=
 =?utf-8?B?eGlIS0Z6dTVQL0RkcXdiTjlKSFVaRFF3OXNBemxoMzFqSGtweHN5YjM2MHZI?=
 =?utf-8?B?VHgwbXVidytiRWpWcE16eFdadUJnUnpudE44ZEVHMWVZV1ZJWk5vc05odFJw?=
 =?utf-8?B?UVk0SE1TMG4veGc2dW1nWGVJNTgzMUVKVFVWSTU3NGZlNExSSFJJUlR0V1dP?=
 =?utf-8?B?MVcxay9NNFVZVitlbEc1cndNUnR3WDVDMmZDeTVjczhmTUx5NHVjRUVYejJX?=
 =?utf-8?B?Q3lmM2JCV3dqSWVDZU50YkxoS1pTaTU4Uk5lWjNLMHVtWkQyOEtsY3l5VVlw?=
 =?utf-8?B?MU1CcmEwWTl5MWF5VE4wRzZVQ2JWMHhVRzVDV0RUOHRyWEh0VnE4U3VZU2NE?=
 =?utf-8?B?cXRXZ2h2UUtoZ3Zxd3g5aHduc3pOY1ZOb1g3Vmlway8rQmVyNms1c3dyRVds?=
 =?utf-8?B?SGNYUFFpNTdZWXlpSTErdURES243OGltK2tqRlhkbmwwRnRQMFpRSXJsSnpC?=
 =?utf-8?B?WG55SU5JQmVFYmpLa2IvelZoWk9KYWlHbUl4RW85RmxneGU1VExvZXhrV1Ji?=
 =?utf-8?B?L3FHdFBJbzIyQlpCN2RWWENDVmlXTUgwaU9abXdFWHdUcWM4TC8yN1Z5VzFO?=
 =?utf-8?B?RURVdXhabUpIb2h3VTJHS29KcW5TazdEM0hnYzBaTTFzSG9LczllNTJ6aVlK?=
 =?utf-8?B?LytqTTJ6NHR1NnJlNGxmclZMOWJyRHJYbGUrK0ZsR1p6cmUyOVNuUklmUU9Y?=
 =?utf-8?B?MUNYc2ZJVitIcThTdkN4ZFZwbno2Lys2d3NlVFZnaXo2RTdZdVc2UXlWTkEy?=
 =?utf-8?B?Yk9TeXkyMU5LdXNkVk5VWlBhM2QrTStvUlF2UTVNN2dSdytTV0tTOXl4ZFht?=
 =?utf-8?B?N0dLa1prYWkzeE1TRWZGME4rSnhIaEpRUUozUkZEbm9yb1MrNGswTXo1Y3Uy?=
 =?utf-8?B?clN6MzkydkgvaCtXNUcvd3RTd1pMdjQ0bjZaSXlEQ3hTdzVtaW52ZG9GeWxi?=
 =?utf-8?B?emdqTExqMXZac2tHcndGODFBZ1FoSFJFRHllVURjSFZBaUxIcUpWd0tHTFBU?=
 =?utf-8?B?bmh3SGpxbUNOaEcyQnNBcTJEWmlQSGtBbFhFTUpuTDEyOUl1UVFPUXZRbFNV?=
 =?utf-8?B?ODA4TFlFRFlxejF3RlNWVHhCeko5WGo3SnlPK1ZBZXFDcVlHQVhKMDNLdG5K?=
 =?utf-8?B?Z1RlbGJyNlBzcXJZdk04Q3FDSzhXMTQybWNzaGR1NVF5ak1kT09uZmR3V1Nu?=
 =?utf-8?B?dWFnTTB2dUwvcjRLajFrTGdDem5tNERMUUI0SWNFbHJSaWR3MXB0T0lpWFZk?=
 =?utf-8?B?MEo2Wll0SEp5V2VIVFVKSDFueFkySFFsczlhQWQ1Ymc1RFJMaU0weWFnbGFX?=
 =?utf-8?Q?koM70wIP67c3K2rIdqSubJVQY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 735c2501-66c8-4c96-3a30-08dba88a2c2f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 12:19:20.4638
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nW8GZ/vTXBd1ZLRqdz1MmfPsubUq65ry11OBlVbUPfu5yILUiJ4RnF1E0FB2Toils8nNu1YEQ5dexfMXcm7+Fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9097

On 29.08.2023 14:14, Oleksii wrote:
> On Mon, 2023-08-28 at 18:05 +0200, Jan Beulich wrote:
>> On 28.08.2023 17:57, Oleksii Kurochko wrote:
>>> +static inline void vm_event_cleanup_domain(struct domain *d)
>>> +{
>>> +Â Â Â  memset(&d->monitor, 0, sizeof(d->monitor));
>>
>> This looks to be the sole reason that xen/sched.h is needed. I
>> question
>> the existence of that field in the first place when this stub is
>> being
>> used. But I guess cleaning that up as well might be going too far.
> What do you mean by the existence of the field? Looking at declaration
> of struct domain, monitor field always exists.

Right, and that's what I consider questionable.

> Could we leave initialisation of d->monitor for now?

As said, asking you to also do that aspect of cleanup is probably
going too far, so yes, I guess you can leave that alone.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:29:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592181.924837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxqq-0008MS-VH; Tue, 29 Aug 2023 12:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592181.924837; Tue, 29 Aug 2023 12: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 1qaxqq-0008ML-Sd; Tue, 29 Aug 2023 12:29:44 +0000
Received: by outflank-mailman (input) for mailman id 592181;
 Tue, 29 Aug 2023 12:29: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=5o+c=EO=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1qaxqp-0007r1-T8
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:29:44 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9d0687c-4667-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 14:29:41 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1bdc19b782aso26884315ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 05:29:41 -0700 (PDT)
Received: from localhost ([122.172.87.195]) by smtp.gmail.com with ESMTPSA id
 i9-20020a170902c94900b001bdb85291casm9265719pla.208.2023.08.29.05.29.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 05:29: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: b9d0687c-4667-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693312180; x=1693916980;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ALfabch9X4dxgSREM5zC4IQrwsjRCPNJ2ui8ADwmtgo=;
        b=NegsCixfRE+Ea0B3C+RIDmscZI98ukn3SGyReUGF3xRHEopZPPsiSGQfkBCqpt4kb4
         BhYJgdMAAEFLNJIO4wMi2gqfEsfmTZoL3c9N+eL8/J+Yuu9o8KHQu4GrL60R3QQ5G5TO
         jMgwGm4APsiQx1Xxu2yNs8SJ2h/F9Nc0j/A1ss5XUqz5/lUXRuleZry24uRI8IDuJ0SI
         ov/S9+RLH4CjRNNMfkj6CiUkcIvc+vHkmbz8+80jWgCfpnq5aVCE5VLEn+9v1/F2ewf4
         pfMagqMk70r3eOiqRYXkDzp5bBdLHAJxIoPbGJDh5rJuq3GbBwtnbXmS/SQd1c4KzPZP
         759Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693312180; x=1693916980;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ALfabch9X4dxgSREM5zC4IQrwsjRCPNJ2ui8ADwmtgo=;
        b=c88Y1VVxdoknwqkm0VJqgYuVq8jv2rP5rmQ3vx4IzwvTrwSLsFaKTVH9VoKFomql4T
         E47m5UU2j8qS/S7XHKQ7R1qCj0BYtGYaASKTZwyT4D7ivWRnvqTvVpqvjUUvJEMBmOCi
         KYNjMNLCfWmhYXLtrijipCDGiuOgNZ3RoBwCFyttVQDipks7MlFZTZE+WAypW40N0nyD
         9hMLscq0lTkDR849gIFAfzo+TIGmiqXVY37r2ISgjR9h9dYg4ZnSLwhdxEN/ATOd/dVw
         lDfv5IAyBKpm5lXuzXB7CXQpkQqKFPJYhpi9Uw04FVVvZQAJIH//8NjWvld0WYRnIoF6
         NBqQ==
X-Gm-Message-State: AOJu0YxRJJjj9mxWH6oZ8gXVDcBP0rgZsyHvNP9evtlp6cB2uJMl2O/k
	hgPq3zhGAqrx70bbsxRi/YXBmw==
X-Google-Smtp-Source: AGHT+IEwfZSITHXQdGHIk2dhtzabWBiJuMdWiGfI357aRfJBRCRpY2kq5ax9OsLbGhBGvFinZAoKLQ==
X-Received: by 2002:a17:903:32ce:b0:1c0:ce0f:ab54 with SMTP id i14-20020a17090332ce00b001c0ce0fab54mr11229979plr.61.1693312180111;
        Tue, 29 Aug 2023 05:29:40 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Erik Schilling <erik.schilling@linaro.org>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH 2/2] xen: privcmd: Add support for ioeventfd
Date: Tue, 29 Aug 2023 17:59:05 +0530
Message-Id: <52b07a3861a34fb0deb6251bae8bd885815c6944.1693311370.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1693311370.git.viresh.kumar@linaro.org>
References: <cover.1693311370.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Virtio guests send VIRTIO_MMIO_QUEUE_NOTIFY notification when they need
to notify the backend of an update to the status of the virtqueue. The
backend or another entity, polls the MMIO address for updates to know
when the notification is sent.

It works well if the backend does this polling by itself. But as we move
towards generic backend implementations, we end up implementing this in
a separate user-space program.

Generally, the Virtio backends are implemented to work with the Eventfd
based mechanism. In order to make such backends work with Xen, another
software layer needs to do the polling and send an event via eventfd to
the backend once the notification from guest is received. This results
in an extra context switch.

This is not a new problem in Linux though. It is present with other
hypervisors like KVM, etc. as well. The generic solution implemented in
the kernel for them is to provide an IOCTL call to pass the address to
poll and eventfd, which lets the kernel take care of polling and raise
an event on the eventfd, instead of handling this in user space (which
involves an extra context switch).

This patch adds similar support for xen.

Inspired by existing implementations for KVM, etc..

This also copies ioreq.h header file (only struct ioreq and related
macros) from Xen's source tree (Top commit 5d84f07fe6bf ("xen/pci: drop
remaining uses of bool_t")).

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/xen/Kconfig               |   8 +-
 drivers/xen/privcmd.c             | 385 +++++++++++++++++++++++++++++-
 include/uapi/xen/privcmd.h        |  18 ++
 include/xen/interface/hvm/ioreq.h |  51 ++++
 4 files changed, 456 insertions(+), 6 deletions(-)
 create mode 100644 include/xen/interface/hvm/ioreq.h

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index d43153fec18e..d5989871dd5d 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -269,12 +269,12 @@ config XEN_PRIVCMD
 	  disaggregated Xen setups this driver might be needed for other
 	  domains, too.
 
-config XEN_PRIVCMD_IRQFD
-	bool "Xen irqfd support"
+config XEN_PRIVCMD_EVENTFD
+	bool "Xen Ioeventfd and irqfd support"
 	depends on XEN_PRIVCMD && XEN_VIRTIO && EVENTFD
 	help
-	  Using the irqfd mechanism a virtio backend running in a daemon can
-	  speed up interrupt injection into a guest.
+	  Using the ioeventfd / irqfd mechanism a virtio backend running in a
+	  daemon can speed up interrupt delivery from / to a guest.
 
 config XEN_ACPI_PROCESSOR
 	tristate "Xen ACPI processor"
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 120af57999fc..4b18c51b6b2e 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -29,15 +29,18 @@
 #include <linux/seq_file.h>
 #include <linux/miscdevice.h>
 #include <linux/moduleparam.h>
+#include <linux/virtio_mmio.h>
 
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
 #include <xen/xen.h>
+#include <xen/events.h>
 #include <xen/privcmd.h>
 #include <xen/interface/xen.h>
 #include <xen/interface/memory.h>
 #include <xen/interface/hvm/dm_op.h>
+#include <xen/interface/hvm/ioreq.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/xen-ops.h>
@@ -782,6 +785,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 			goto out;
 
 		pages = vma->vm_private_data;
+
 		for (i = 0; i < kdata.num; i++) {
 			xen_pfn_t pfn =
 				page_to_xen_pfn(pages[i / XEN_PFN_PER_PAGE]);
@@ -838,7 +842,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
-#ifdef CONFIG_XEN_PRIVCMD_IRQFD
+#ifdef CONFIG_XEN_PRIVCMD_EVENTFD
 /* Irqfd support */
 static struct workqueue_struct *irqfd_cleanup_wq;
 static DEFINE_MUTEX(irqfds_lock);
@@ -1079,6 +1083,369 @@ static void privcmd_irqfd_exit(void)
 
 	destroy_workqueue(irqfd_cleanup_wq);
 }
+
+/* Ioeventfd Support */
+#define QUEUE_NOTIFY_VQ_MASK 0xFFFF
+
+static DEFINE_MUTEX(ioreq_lock);
+static LIST_HEAD(ioreq_list);
+
+/* per-eventfd structure */
+struct privcmd_kernel_ioeventfd {
+	struct eventfd_ctx *eventfd;
+	struct list_head list;
+	unsigned long long addr;
+	unsigned int addr_len;
+	unsigned int vq;
+};
+
+/* per-guest CPU / port structure */
+struct ioreq_port {
+	int vcpu;
+	unsigned int port;
+	struct privcmd_kernel_ioreq *kioreq;
+};
+
+/* per-guest structure */
+struct privcmd_kernel_ioreq {
+	domid_t dom;
+	unsigned int vcpus;
+	void __user *uioreq;
+	struct ioreq *ioreq;
+	struct mutex lock; /* Protects ioeventfds list */
+	struct list_head ioeventfds;
+	struct list_head list;
+	struct ioreq_port *ports;
+};
+
+static irqreturn_t ioeventfd_interrupt(int irq, void *dev_id)
+{
+	struct ioreq_port *port = dev_id;
+	struct privcmd_kernel_ioreq *kioreq = port->kioreq;
+	struct ioreq *ioreq = &kioreq->ioreq[port->vcpu];
+	struct privcmd_kernel_ioeventfd *kioeventfd;
+	unsigned int state = STATE_IOREQ_READY;
+
+	if (ioreq->state != STATE_IOREQ_READY ||
+	    ioreq->type != IOREQ_TYPE_COPY || ioreq->dir != IOREQ_WRITE)
+		return IRQ_NONE;
+
+	smp_mb();
+	ioreq->state = STATE_IOREQ_INPROCESS;
+
+	mutex_lock(&kioreq->lock);
+	list_for_each_entry(kioeventfd, &kioreq->ioeventfds, list) {
+		if (ioreq->addr == kioeventfd->addr + VIRTIO_MMIO_QUEUE_NOTIFY &&
+		    ioreq->size == kioeventfd->addr_len &&
+		    (ioreq->data & QUEUE_NOTIFY_VQ_MASK) == kioeventfd->vq) {
+			eventfd_signal(kioeventfd->eventfd, 1);
+			state = STATE_IORESP_READY;
+			break;
+		}
+	}
+	mutex_unlock(&kioreq->lock);
+
+	smp_mb();
+	ioreq->state = state;
+
+	if (state == STATE_IORESP_READY) {
+		notify_remote_via_evtchn(port->port);
+		return IRQ_HANDLED;
+	}
+
+	return IRQ_NONE;
+}
+
+static void ioreq_free(struct privcmd_kernel_ioreq *kioreq)
+{
+	struct ioreq_port *ports = kioreq->ports;
+	int i;
+
+	lockdep_assert_held(&ioreq_lock);
+
+	if (!list_empty(&kioreq->ioeventfds))
+		return;
+
+	list_del(&kioreq->list);
+
+	for (i = kioreq->vcpus - 1; i >= 0; i--)
+		unbind_from_irqhandler(irq_from_evtchn(ports[i].port), &ports[i]);
+
+	kfree(kioreq);
+}
+
+static
+struct privcmd_kernel_ioreq *alloc_ioreq(struct privcmd_ioeventfd *ioeventfd)
+{
+	struct privcmd_kernel_ioreq *kioreq;
+	struct mm_struct *mm = current->mm;
+	struct vm_area_struct *vma;
+	struct page **pages;
+	unsigned int *ports;
+	int ret, size, i;
+
+	lockdep_assert_held(&ioreq_lock);
+
+	size = sizeof(*kioreq) + sizeof(*kioreq->ports) * ioeventfd->vcpus;
+	kioreq = kzalloc(size, GFP_KERNEL);
+	if (!kioreq)
+		return ERR_PTR(-ENOMEM);
+	kioreq->ports = (struct ioreq_port *)(kioreq + 1);
+
+	kioreq->dom = ioeventfd->dom;
+	kioreq->vcpus = ioeventfd->vcpus;
+	kioreq->uioreq = ioeventfd->ioreq;
+	mutex_init(&kioreq->lock);
+	INIT_LIST_HEAD(&kioreq->ioeventfds);
+
+	/* The memory for ioreq server must have been mapped earlier */
+	mmap_write_lock(mm);
+	vma = find_vma(mm, (unsigned long)ioeventfd->ioreq);
+	if (!vma) {
+		pr_err("Failed to find vma for ioreq page!\n");
+		mmap_write_unlock(mm);
+		ret = -EFAULT;
+		goto error_kfree;
+	}
+
+	pages = vma->vm_private_data;
+	kioreq->ioreq = (struct ioreq *)(page_to_virt(pages[0]));
+	mmap_write_unlock(mm);
+
+	size = sizeof(*ports) * kioreq->vcpus;
+	ports = kzalloc(size, GFP_KERNEL);
+	if (!ports) {
+		ret = -ENOMEM;
+		goto error_kfree;
+	}
+
+	if (copy_from_user(ports, ioeventfd->ports, size)) {
+		ret = -EFAULT;
+		goto error_kfree_ports;
+	}
+
+	for (i = 0; i < kioreq->vcpus; i++) {
+		kioreq->ports[i].vcpu = i;
+		kioreq->ports[i].port = ports[i];
+		kioreq->ports[i].kioreq = kioreq;
+
+		ret = bind_evtchn_to_irqhandler_lateeoi(ports[i],
+				ioeventfd_interrupt, IRQF_SHARED, "ioeventfd",
+				&kioreq->ports[i]);
+		if (ret < 0)
+			goto error_unbind;
+	}
+
+	kfree(ports);
+
+	list_add_tail(&kioreq->list, &ioreq_list);
+
+	return kioreq;
+
+error_unbind:
+	while (--i >= 0)
+		unbind_from_irqhandler(irq_from_evtchn(ports[i]), &kioreq->ports[i]);
+error_kfree_ports:
+	kfree(ports);
+error_kfree:
+	kfree(kioreq);
+	return ERR_PTR(ret);
+}
+
+static struct privcmd_kernel_ioreq *
+get_ioreq(struct privcmd_ioeventfd *ioeventfd, struct eventfd_ctx *eventfd)
+{
+	struct privcmd_kernel_ioreq *kioreq;
+
+	list_for_each_entry(kioreq, &ioreq_list, list) {
+		struct privcmd_kernel_ioeventfd *kioeventfd;
+
+		/*
+		 * kioreq fields can be accessed here without a lock as they are
+		 * never updated after being added to the ioreq_list.
+		 */
+		if (kioreq->uioreq != ioeventfd->ioreq) {
+			continue;
+		} else if (kioreq->dom != ioeventfd->dom ||
+			   kioreq->vcpus != ioeventfd->vcpus) {
+			pr_err("Invalid ioeventfd configuration mismatch, dom (%u vs %u), vcpus (%u vs %u)\n",
+			       kioreq->dom, ioeventfd->dom, kioreq->vcpus,
+			       ioeventfd->vcpus);
+			return ERR_PTR(-EINVAL);
+		}
+
+		/* Look for a duplicate eventfd for the same guest */
+		mutex_lock(&kioreq->lock);
+		list_for_each_entry(kioeventfd, &kioreq->ioeventfds, list) {
+			if (eventfd == kioeventfd->eventfd) {
+				mutex_unlock(&kioreq->lock);
+				return ERR_PTR(-EBUSY);
+			}
+		}
+		mutex_unlock(&kioreq->lock);
+
+		return kioreq;
+	}
+
+	/* Matching kioreq isn't found, allocate a new one */
+	return alloc_ioreq(ioeventfd);
+}
+
+static void ioeventfd_free(struct privcmd_kernel_ioeventfd *kioeventfd)
+{
+	list_del(&kioeventfd->list);
+	eventfd_ctx_put(kioeventfd->eventfd);
+	kfree(kioeventfd);
+}
+
+static int privcmd_ioeventfd_assign(struct privcmd_ioeventfd *ioeventfd)
+{
+	struct privcmd_kernel_ioeventfd *kioeventfd;
+	struct privcmd_kernel_ioreq *kioreq;
+	struct fd f;
+	int ret;
+
+	/* Check for range overflow */
+	if (ioeventfd->addr + ioeventfd->addr_len < ioeventfd->addr)
+		return -EINVAL;
+
+	/* Vhost requires us to support length 1, 2, 4, and 8 */
+	if (!(ioeventfd->addr_len == 1 || ioeventfd->addr_len == 2 ||
+	      ioeventfd->addr_len == 4 || ioeventfd->addr_len == 8))
+		return -EINVAL;
+
+	kioeventfd = kzalloc(sizeof(*kioeventfd), GFP_KERNEL);
+	if (!kioeventfd)
+		return -ENOMEM;
+
+	f = fdget(ioeventfd->event_fd);
+	if (!f.file) {
+		ret = -EBADF;
+		goto error_kfree;
+	}
+
+	kioeventfd->eventfd = eventfd_ctx_fileget(f.file);
+	fdput(f);
+
+	if (IS_ERR(kioeventfd->eventfd)) {
+		ret = PTR_ERR(kioeventfd->eventfd);
+		goto error_kfree;
+	}
+
+	kioeventfd->addr = ioeventfd->addr;
+	kioeventfd->addr_len = ioeventfd->addr_len;
+	kioeventfd->vq = ioeventfd->vq;
+
+	mutex_lock(&ioreq_lock);
+	kioreq = get_ioreq(ioeventfd, kioeventfd->eventfd);
+	if (IS_ERR(kioreq)) {
+		mutex_unlock(&ioreq_lock);
+		ret = PTR_ERR(kioreq);
+		goto error_eventfd;
+	}
+
+	mutex_lock(&kioreq->lock);
+	list_add_tail(&kioeventfd->list, &kioreq->ioeventfds);
+	mutex_unlock(&kioreq->lock);
+
+	mutex_unlock(&ioreq_lock);
+
+	return 0;
+
+error_eventfd:
+	eventfd_ctx_put(kioeventfd->eventfd);
+
+error_kfree:
+	kfree(kioeventfd);
+	return ret;
+}
+
+static int privcmd_ioeventfd_deassign(struct privcmd_ioeventfd *ioeventfd)
+{
+	struct privcmd_kernel_ioreq *kioreq, *tkioreq;
+	struct eventfd_ctx *eventfd;
+	int ret = 0;
+
+	eventfd = eventfd_ctx_fdget(ioeventfd->event_fd);
+	if (IS_ERR(eventfd))
+		return PTR_ERR(eventfd);
+
+	mutex_lock(&ioreq_lock);
+	list_for_each_entry_safe(kioreq, tkioreq, &ioreq_list, list) {
+		struct privcmd_kernel_ioeventfd *kioeventfd, *tmp;
+		/*
+		 * kioreq fields can be accessed here without a lock as they are
+		 * never updated after being added to the ioreq_list.
+		 */
+		if (kioreq->dom != ioeventfd->dom ||
+		    kioreq->uioreq != ioeventfd->ioreq ||
+		    kioreq->vcpus != ioeventfd->vcpus)
+			continue;
+
+		mutex_lock(&kioreq->lock);
+		list_for_each_entry_safe(kioeventfd, tmp, &kioreq->ioeventfds, list) {
+			if (eventfd == kioeventfd->eventfd) {
+				ioeventfd_free(kioeventfd);
+				mutex_unlock(&kioreq->lock);
+
+				ioreq_free(kioreq);
+				goto unlock;
+			}
+		}
+		mutex_unlock(&kioreq->lock);
+		break;
+	}
+
+	pr_err("Ioeventfd isn't already assigned, dom: %u, addr: %llu\n",
+			ioeventfd->dom, ioeventfd->addr);
+	ret = -ENODEV;
+
+unlock:
+	mutex_unlock(&ioreq_lock);
+	eventfd_ctx_put(eventfd);
+
+	return 0;
+}
+
+static long privcmd_ioctl_ioeventfd(struct file *file, void __user *udata)
+{
+	struct privcmd_data *data = file->private_data;
+	struct privcmd_ioeventfd ioeventfd;
+
+	if (copy_from_user(&ioeventfd, udata, sizeof(ioeventfd)))
+		return -EFAULT;
+
+	/* No other flags should be set */
+	if (ioeventfd.flags & ~PRIVCMD_IOEVENTFD_FLAG_DEASSIGN)
+		return -EINVAL;
+
+	/* If restriction is in place, check the domid matches */
+	if (data->domid != DOMID_INVALID && data->domid != ioeventfd.dom)
+		return -EPERM;
+
+	if (ioeventfd.flags & PRIVCMD_IOEVENTFD_FLAG_DEASSIGN)
+		return privcmd_ioeventfd_deassign(&ioeventfd);
+
+	return privcmd_ioeventfd_assign(&ioeventfd);
+}
+
+static void privcmd_ioeventfd_exit(void)
+{
+	struct privcmd_kernel_ioreq *kioreq, *tmp;
+
+	mutex_lock(&ioreq_lock);
+	list_for_each_entry_safe(kioreq, tmp, &ioreq_list, list) {
+		struct privcmd_kernel_ioeventfd *kioeventfd, *tmp;
+
+		mutex_lock(&kioreq->lock);
+		list_for_each_entry_safe(kioeventfd, tmp, &kioreq->ioeventfds, list)
+			ioeventfd_free(kioeventfd);
+		mutex_unlock(&kioreq->lock);
+
+		ioreq_free(kioreq);
+	}
+	mutex_unlock(&ioreq_lock);
+}
 #else
 static inline long privcmd_ioctl_irqfd(struct file *file, void __user *udata)
 {
@@ -1093,7 +1460,16 @@ static inline int privcmd_irqfd_init(void)
 static inline void privcmd_irqfd_exit(void)
 {
 }
-#endif /* CONFIG_XEN_PRIVCMD_IRQFD */
+
+static inline long privcmd_ioctl_ioeventfd(struct file *file, void __user *udata)
+{
+	return -EOPNOTSUPP;
+}
+
+static inline void privcmd_ioeventfd_exit(void)
+{
+}
+#endif /* CONFIG_XEN_PRIVCMD_EVENTFD */
 
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
@@ -1134,6 +1510,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_irqfd(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_IOEVENTFD:
+		ret = privcmd_ioctl_ioeventfd(file, udata);
+		break;
+
 	default:
 		break;
 	}
@@ -1278,6 +1658,7 @@ static int __init privcmd_init(void)
 
 static void __exit privcmd_exit(void)
 {
+	privcmd_ioeventfd_exit();
 	privcmd_irqfd_exit();
 	misc_deregister(&privcmd_dev);
 	misc_deregister(&xen_privcmdbuf_dev);
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 375718ba4ab6..ce71390f0024 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -110,6 +110,22 @@ struct privcmd_irqfd {
 	__u8 pad[2];
 };
 
+/* For privcmd_ioeventfd::flags */
+#define PRIVCMD_IOEVENTFD_FLAG_DEASSIGN (1 << 0)
+
+struct privcmd_ioeventfd {
+	void __user *ioreq;
+	unsigned int __user *ports;
+	__u64 addr;
+	__u32 addr_len;
+	__u32 event_fd;
+	__u32 vcpus;
+	__u32 vq;
+	__u32 flags;
+	domid_t dom;
+	__u8 pad[2];
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -139,5 +155,7 @@ struct privcmd_irqfd {
 	_IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
 #define IOCTL_PRIVCMD_IRQFD					\
 	_IOC(_IOC_NONE, 'P', 8, sizeof(struct privcmd_irqfd))
+#define IOCTL_PRIVCMD_IOEVENTFD					\
+	_IOC(_IOC_NONE, 'P', 9, sizeof(struct privcmd_ioeventfd))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/interface/hvm/ioreq.h b/include/xen/interface/hvm/ioreq.h
new file mode 100644
index 000000000000..b02cfeae7eb5
--- /dev/null
+++ b/include/xen/interface/hvm/ioreq.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * ioreq.h: I/O request definitions for device models
+ * Copyright (c) 2004, Intel Corporation.
+ */
+
+#ifndef __XEN_PUBLIC_HVM_IOREQ_H__
+#define __XEN_PUBLIC_HVM_IOREQ_H__
+
+#define IOREQ_READ      1
+#define IOREQ_WRITE     0
+
+#define STATE_IOREQ_NONE        0
+#define STATE_IOREQ_READY       1
+#define STATE_IOREQ_INPROCESS   2
+#define STATE_IORESP_READY      3
+
+#define IOREQ_TYPE_PIO          0 /* pio */
+#define IOREQ_TYPE_COPY         1 /* mmio ops */
+#define IOREQ_TYPE_PCI_CONFIG   2
+#define IOREQ_TYPE_TIMEOFFSET   7
+#define IOREQ_TYPE_INVALIDATE   8 /* mapcache */
+
+/*
+ * VMExit dispatcher should cooperate with instruction decoder to
+ * prepare this structure and notify service OS and DM by sending
+ * virq.
+ *
+ * For I/O type IOREQ_TYPE_PCI_CONFIG, the physical address is formatted
+ * as follows:
+ *
+ * 63....48|47..40|39..35|34..32|31........0
+ * SEGMENT |BUS   |DEV   |FN    |OFFSET
+ */
+struct ioreq {
+	uint64_t addr;          /* physical address */
+	uint64_t data;          /* data (or paddr of data) */
+	uint32_t count;         /* for rep prefixes */
+	uint32_t size;          /* size in bytes */
+	uint32_t vp_eport;      /* evtchn for notifications to/from device model */
+	uint16_t _pad0;
+	uint8_t state:4;
+	uint8_t data_is_ptr:1;  /* if 1, data above is the guest paddr
+				 * of the real data to use. */
+	uint8_t dir:1;          /* 1=read, 0=write */
+	uint8_t df:1;
+	uint8_t _pad1:1;
+	uint8_t type;           /* I/O type */
+};
+
+#endif /* __XEN_PUBLIC_HVM_IOREQ_H__ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:29:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592180.924821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxqm-0007uJ-PX; Tue, 29 Aug 2023 12:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592180.924821; Tue, 29 Aug 2023 12:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxqm-0007sp-LS; Tue, 29 Aug 2023 12:29:40 +0000
Received: by outflank-mailman (input) for mailman id 592180;
 Tue, 29 Aug 2023 12:29: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=5o+c=EO=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1qaxql-0007r1-JX
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:29:39 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b58fa2df-4667-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 14:29:34 +0200 (CEST)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-1bf078d5f33so34393925ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 05:29:34 -0700 (PDT)
Received: from localhost ([122.172.87.195]) by smtp.gmail.com with ESMTPSA id
 c15-20020a170902d48f00b001bdc8a5e96csm9260099plg.169.2023.08.29.05.29.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 05:29: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: b58fa2df-4667-11ee-9b0c-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693312173; x=1693916973;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=a8bCRf85vT2T3nuNmNFbFtWzJQK+a8A+XqepNxDEiGM=;
        b=jxG+CTfSa8OPZYJjnmwWh20KleW6+Uk8SCqmYuNjByhcxVCOnj7HDnqZbvZoelPp4y
         Hxb4EODeqG96zSejKKGi/bAZTOrFEyrk41RIGQ1m3Wg/gKaKjzLA0Zh5ZaZsjzbj8f+n
         Mmk6phkD0KoCpc5IVQLkDnNFstW2Q1uz/oUNyeUW3xRcYOS1svo5KpsElHEsNTcHAKVw
         LvVMJN7PxOWGOFVKwcc9DoS/LYYgospdJhAEYVmyIZdaXRkL6qNkJHiHNu49fQqI5uZS
         Q0G01rneJ9LF6njD1wwrsV+rqW0RTxtkBJq3Go6/cxzknoHDByj4OvArULMTBNz0pZ+o
         o58w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693312173; x=1693916973;
        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=a8bCRf85vT2T3nuNmNFbFtWzJQK+a8A+XqepNxDEiGM=;
        b=bkkUWYgHPQyzoFSIHz36E5tMMcU98UfFpxHKvWaF2ssTCTkjo5JgiPDqKzkxnA5Fsb
         8BC2Vi+bKHiBcgorXNblsjHkeiFxcD0wXQBK+7fgdt1dibvfPYI4ndWRj/FYo1srLDeZ
         X5htPeka3FoLVqKaIfW2OR2s1GPtYGFnS/183OQdy2CFG/ThJf/du4jrUU6yKL8Jrmfa
         vDVjmiFF40Alf80D/r/+8iKQxHL3dp6v12Xn2btJZhtE5b/RJ/Wxt4YdPGX9PA9v5wIV
         ra0rNyFXLbeoEjH5I9u9dCEFVpV746rKdREAa9uuLBbLjhV1HpwYYPlcNvLqw1mbzHm7
         1AVw==
X-Gm-Message-State: AOJu0Yza7KvIDxiMza6PGIAoP6kPY+ntnwSRRoje12aXJWcV5mlF6Bq9
	9AMrYNzV33cKrpKkG0NN+MFylw==
X-Google-Smtp-Source: AGHT+IFj8Mbp9xBFjeOn69lgOEFyDk+KCIk0EkFVH95JvNRVdOnz7az8b9wKq9djZKmXzDrEULiLqQ==
X-Received: by 2002:a17:902:d342:b0:1bf:6ad7:228b with SMTP id l2-20020a170902d34200b001bf6ad7228bmr28303356plk.8.1693312173031;
        Tue, 29 Aug 2023 05:29:33 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Erik Schilling <erik.schilling@linaro.org>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH 0/2] xen: privcmd: Add ioeventfd support
Date: Tue, 29 Aug 2023 17:59:03 +0530
Message-Id: <cover.1693311370.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

Now that irqfd support (backend to guest interrupt) is already merged, this
series solves the other part of the problem, i.e. ioeventfd (guest to backend
interrupt).

More details inside the commits.

--
Viresh

Viresh Kumar (2):
  xen: evtchn: Allow shared registration of IRQ handers
  xen: privcmd: Add support for ioeventfd

 drivers/xen/Kconfig               |   8 +-
 drivers/xen/events/events_base.c  |   1 +
 drivers/xen/evtchn.c              |   2 +-
 drivers/xen/privcmd.c             | 385 +++++++++++++++++++++++++++++-
 include/uapi/xen/privcmd.h        |  18 ++
 include/xen/interface/hvm/ioreq.h |  51 ++++
 6 files changed, 458 insertions(+), 7 deletions(-)
 create mode 100644 include/xen/interface/hvm/ioreq.h

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 12:29:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 12:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592179.924817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxqm-0007rE-Hr; Tue, 29 Aug 2023 12:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592179.924817; Tue, 29 Aug 2023 12:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaxqm-0007r7-Eg; Tue, 29 Aug 2023 12:29:40 +0000
Received: by outflank-mailman (input) for mailman id 592179;
 Tue, 29 Aug 2023 12:29: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=5o+c=EO=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1qaxql-0007qv-0K
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 12:29:39 +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 b7542eee-4667-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 14:29:37 +0200 (CEST)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-1bc83a96067so26004615ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 05:29:37 -0700 (PDT)
Received: from localhost ([122.172.87.195]) by smtp.gmail.com with ESMTPSA id
 jk17-20020a170903331100b001b890b3bbb1sm9283856plb.211.2023.08.29.05.29.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 05:29: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: b7542eee-4667-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693312176; x=1693916976;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PKbwyfCALitLKoKlIDCh6sF2GuUR8Sqy+xkbEnTQwwU=;
        b=KdcpUBq2OTq/PnFjVlXJbCYFO77GkGucPveUjH0DVqOFDw+fgGsVKqxZUi0v2bU0WV
         VSAu9VOiNaH2BR+mQpfy2kJm+q+OofIt2DC2Ou6uQV1aAnCCsnd42N7LzpmuXbETP5t2
         f3ljXFEnBkrKBalr4UeQnrguDfRp5h2AjXOYnqCxbZ8+waeLvDjTJaDIsCYnZ9VSPtLC
         9KWwGdn4tO3sBxIQ3swZm1vmCNRuJGAjWl3vXzGu4eSkc+dPs8Z/HlyNQLfVW8orp3DJ
         wjYHQhTq+9ZDm4tEmJXoTgBfpMwKKVQiaw8Qb2ycAeMDZ/jEy6Pc6DWmW8+II4D3kxXF
         IteQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693312176; x=1693916976;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PKbwyfCALitLKoKlIDCh6sF2GuUR8Sqy+xkbEnTQwwU=;
        b=fqKXFLKNk6PSBjKrfmwvdJt9lR59GbDMY1V80en2jX52UmKw0MoYd1zrzuvsTDpZGC
         aglXNMY8U9+iLipFfhJzVMmWl9lMjnDpfoUYVT0qRTmzBoVf2qc1pVa5LlOO7KPY6zPj
         lDJPt0rYqhBnfx/l/+0qUd3oVextGAzPlhcgDik/dADFdr37SHSYIpABFrKsspIe8OQ1
         G8FZ5bSOQaGjjcHKyLxv/MnEreyvFsWg6uYMbbl0ES/pduSn4+MdCCw2x1xjMTLEEhDX
         RuO78UU/2c7rzeIb5N81RSD0oFv/UE8jtgxOckzeHpxwiirpvuvD20Mgt1SlTKitOgqK
         m8IA==
X-Gm-Message-State: AOJu0Ywsi8CDoe1FaVxKf2i2asEuQ2ixyfETofibtVhpMpk4HxP96Ek4
	/B0eMHE14CvRGpkk6v/+tsDC0w==
X-Google-Smtp-Source: AGHT+IFdALvVH/LLFMq7HiI4jOkzdLWO6KSMfUWcATxGspR40vgDCT+XEqCh2JK3OtEhDSe9mzbx2g==
X-Received: by 2002:a17:902:efd3:b0:1bd:f7d7:3bcd with SMTP id ja19-20020a170902efd300b001bdf7d73bcdmr20457818plb.50.1693312176301;
        Tue, 29 Aug 2023 05:29:36 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Erik Schilling <erik.schilling@linaro.org>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] xen: evtchn: Allow shared registration of IRQ handers
Date: Tue, 29 Aug 2023 17:59:04 +0530
Message-Id: <fc6d47de76a8b77d0a1b4bc8204694c079715f2e.1693311370.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1693311370.git.viresh.kumar@linaro.org>
References: <cover.1693311370.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the handling of events is supported either in the kernel or
userspace, but not both.

In order to support fast delivery of interrupts from the guest to the
backend, we need to handle the Queue notify part of Virtio protocol in
kernel and the rest in userspace.

Update the interrupt handler registration flag to IRQF_SHARED for event
channels, which would allow multiple entities to bind their interrupt
handler for the same event channel port.

Also increment the reference count of irq_info when multiple entities
try to bind event channel to irqchip, so the unbinding happens only
after all the users are gone.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/xen/events/events_base.c | 1 +
 drivers/xen/evtchn.c             | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index c7715f8bd452..0182680dab3a 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1239,6 +1239,7 @@ static int bind_evtchn_to_irq_chip(evtchn_port_t evtchn, struct irq_chip *chip,
 	} else {
 		struct irq_info *info = info_for_irq(irq);
 		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
+		info->refcnt++;
 	}
 
 out:
diff --git a/drivers/xen/evtchn.c b/drivers/xen/evtchn.c
index c99415a70051..43f77915feb5 100644
--- a/drivers/xen/evtchn.c
+++ b/drivers/xen/evtchn.c
@@ -397,7 +397,7 @@ static int evtchn_bind_to_user(struct per_user_data *u, evtchn_port_t port)
 	if (rc < 0)
 		goto err;
 
-	rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, 0,
+	rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, IRQF_SHARED,
 					       u->name, evtchn);
 	if (rc < 0)
 		goto err;
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:13:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:13:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592200.924847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayXN-0006cp-Ck; Tue, 29 Aug 2023 13:13:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592200.924847; Tue, 29 Aug 2023 13:13:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayXN-0006ci-9F; Tue, 29 Aug 2023 13:13:41 +0000
Received: by outflank-mailman (input) for mailman id 592200;
 Tue, 29 Aug 2023 13:13:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qayXM-0006cc-36
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:13:40 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe12::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dcfa6c0c-466d-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 15:13:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8109.eurprd04.prod.outlook.com (2603:10a6:102:1c2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:13:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:13:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcfa6c0c-466d-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GKrqmA72c3W5wTelK+RLVhoOwbkEWf+3wf2Jx8u9mfQdLK0bH4VJxdyWJUPvW79dmCmXa93+tH/7t93YMzCJYX6Iymbzf7zTsNasO3D63vlKX4OUl+sRy4W0J1AfAbWquN6MY/psb/hWjUl4EBnsTr5LBHPHRnSig9o+kbK6E0m2rxg/czqZuRdNWjm/GXFE4Yjpe7hwxtRMZwEjFQx7T/udtQI5dNbcWQt43qJlFoa9Qg6j4Er2oTrtfri20Z7iVdG3FProwqrGCbekRDsGokR7QF3HSo1SiV7vK+6UoBxmCX71qCAgYQqb/HsjhQmabeQjhVrMDd2VHlwPWspdlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XSLqWc6qIp471HZXX773rGP7pKy8rVHQVx1Gd3d65/Q=;
 b=jsFXX9OUV75b5J6iWPW89/Itx1bbSBGtD5AJaat439SNWmPvZnsugYvMJq5BRhTG1QqQJVQbWIT2rPqZgJEi6/SaPFob1qOj0qrLLBnpUmeZc1ofBLDDguo5gI6FRZ1MJnpiMVyBZ9j0qW69xKEFMF1hlLjW75Bk3fYF+wVR6HhSecJJZAuLuQGPC2C/QY2WuXQnaMmPSncaHeDLrxCGtb+Wau6hClkX56C8bgmgajZuF/S+T9DysG4jpWUbxwe0D87lLLxXhDSUWocNIw6O07q+fLzhkSx3pEci375r0tptVJGp2tTTnULLuoDvQw6u0yoC4b0zi8giFNt5ahassg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XSLqWc6qIp471HZXX773rGP7pKy8rVHQVx1Gd3d65/Q=;
 b=WBxfFfoInepACsN6oQ+k5pW6bkwtFRd5OInc3hXEOrcQhpj78UQCuDl2M6Avi/NQfAmBsdyfpp/433tCXLpnbqHhn2KE5A8eRhSdK2Er4G6xqpd4agdVSNgLBASK7qhXjfEp6x30h7idNLd9mVrWrHyJj7dy6zwJI3igNsABvDvs1T5SBAi+1cgY9zlHMuSFdkaoJNulI6MNzaqlaJ8leQTb452yhLKutnE3GAM361opODe/eLHSnOnfCUcKfwxBXr8oaHBnJ1vf6f/+hn57IJyIU+f1ILIg4qYSq+hBcf584C8E8KptvwghnqHwbXbAkdudJMgywgKwrwwiDlN5Iw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <558e7aa6-27bf-439e-11a4-a82f2756325c@suse.com>
Date: Tue, 29 Aug 2023 15:13:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH v5 4/4] xen/x86: address violations of MISRA C:2012
 Rule 7.2
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Gianluca Luparini <gianluca.luparini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693219887.git.simone.ballarin@bugseng.com>
 <d4729e2d0b9d1e7e067e37a4318e0fc1b4f433db.1693219887.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d4729e2d0b9d1e7e067e37a4318e0fc1b4f433db.1693219887.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8109:EE_
X-MS-Office365-Filtering-Correlation-Id: dc92d0ac-b222-4333-b9f4-08dba891bfb6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oCVYSDyP7tcZsgf3IMfLwtdIZIwDFwoBQCVAhw03SftDI+bWrolZu++FrLpeXUMTL8h0zCk0D5Lzw2n0l8T73IBvR/XQsdVpl3uJ2hvwOiDND9ulSCgq3S6BNk8WgzA2K5tAW4Yh5o1hhpLHJZoAL9RFiHKVMIP0t4fC4GHTxLUu6uccf5tcIh69wsNZWwWqC5fDZwUmU7cMxKCLc+AnfHicjXzyLnf+uhaXKe4bsvaZq7WBGVmJNVDxgVBz4/UfnyCkG8JvdvMKYzRLUmq5F9ghOQmToADCr6bjT4TjLmjdSjKzIRjtGWyVRyt/11A0RRgw7fTy+8ur7w8wV9x0+ae7PdGb5C/xY6b7VvHm0nYb+fhB7p9tCoI4cnje2jBx9c/RtAjXJBNW5ccYXquDFTrf7P0VPiEtEGEwGUmoURS8ND841GTuNQu+OSyOKCbY5fmzU+CIna0tFss0Hwn1lgrPv1bS6jKkzz+V64onIT7ehZsuEZVSgcyAzF2EYDNeSfn3zugKQvPULYmbHtK4jGlMZoxEuTLDretowrXta7OdKOLvvIiCn78qcGMFk7YwPn07VEZ3cC4dMj9TaFC2KLcQLS8GPz0aYs++DgL2buVOESMXmCvCwXMffZoXqpnMGj3uRqoYZoCbLTEO5yvOQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(66946007)(53546011)(31686004)(478600001)(6506007)(66476007)(66556008)(54906003)(6486002)(6916009)(316002)(38100700002)(41300700001)(66899024)(6512007)(36756003)(26005)(8676002)(5660300002)(31696002)(83380400001)(2906002)(86362001)(2616005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3dXZTBIMmc4UGFkRVRINm9LZzR2UzAxTWltU2dwMjRDaXVlSFNBRU5aVGVt?=
 =?utf-8?B?R0hWTzUwM0xVRkVxbThSVzk2Vk15czBqY0NhM2pnOW8zZzVBRllnQVUySTlp?=
 =?utf-8?B?cjFoWk9LMHpMOElTWHV4Sk0wSnpFYis4YWhuUWtyMDdkSnZVV3I2RGRRN2VR?=
 =?utf-8?B?TUVsQ090bUh3akNQN1dOZElhenZhRy9ZOFhsY29Pa2hkUm93TnVDN05odVBw?=
 =?utf-8?B?S2s5Tm9iV2UvdmdRY3Q4SkwzK1dPT1BoZ1N1aU1yVFlSMkY4RFFCcWVLTHZF?=
 =?utf-8?B?M29lTGVRNTlScURQM2R1bnd4UUlCLzJRQWFuczQ4akJBRVFRaEc1U1pyYlFI?=
 =?utf-8?B?ZGFuMjJ1WW5NREJPT3c2VWV6clU3ci9Qd1J5VjVvVTFoazBxcHZ1NHdNYndw?=
 =?utf-8?B?WlBjdGpoVHpPSzNTcWt0dW1pZ3loYUh6UXZMTC8xOWh6c1VvZUVLSmhDS0ZN?=
 =?utf-8?B?RjhWZFg5cGZTby9TMlZLZmdWS2lTOE1tUHVoOWQ4MjlQMlhRU3RpUWk4ZXhx?=
 =?utf-8?B?c2U0OHhNNC9FUkZsTWdyc3JzRVhFRVU2TjlCZjF3dENIYTlwK2VoK3p3RU03?=
 =?utf-8?B?cW03V3gyRmZhenR1WVA1c3FpMFQwUUVLZDBvN1VtTFE3d2JmYWEzK1MydWMx?=
 =?utf-8?B?djd6cjc3bkV5cWNzTVNnajQzZkxFQ0VqSGhjaVVzcnVwaUU2VjErT2o0SGQy?=
 =?utf-8?B?RkVSZWp2ZHFiMWYvSjl4dHVFRG0yaXV6cFFzUCtSRzRBVXJBV1FEUWhhbzZM?=
 =?utf-8?B?OVc1L3l5aC9aTHZLTnNUSXZ4eDRnQkEyN3FCTFlXdFVkLzVONFFCY1pSUmUz?=
 =?utf-8?B?emtYRU9zS29zN1BqdVV0YUk5bGpMVlJlcWYyZmN0WGUvMWt4VEJENjNLbERT?=
 =?utf-8?B?TDJURUhtWUo1dVF3M1dabDAwVVVQWlpEZ3YrdEFsUmNNa0cvSHRHM08yeDZk?=
 =?utf-8?B?YlArZXZ0aGRPckw2SjRMaWdYQXdQbU9HSGJ1MGRTcjVaZFFRWHhuaWZSMzFH?=
 =?utf-8?B?aVFRb2srWm1uMW1HRnFqQitQalZPakJQbHo1WEMwNlNnV25PaDFUM0pSUHo3?=
 =?utf-8?B?dERJUmg5NHF0L3RjZTAvVWU1ZFpaQm9vZ0RUV0xidmtuRUhtTU5sRTRPbFI4?=
 =?utf-8?B?T1VZTUg0NVJJQVlqa3ZxVDFZV3lXV3k2d2hJZWpyRG1GbnpiMlRWMlNGUHhJ?=
 =?utf-8?B?UlRKQUQxQlRjNHdpN0pmbVhVSmpOZ1VLanhPMGNFeXVhQ2dPKzJzeVZhUGUw?=
 =?utf-8?B?akFuSzVqaEZrc0lqeE9VbXprY1RWOFFBaVBJRy84b1Zhc3FRdytrYlJNcndP?=
 =?utf-8?B?aUEweWhWTTFOQk5jcDdpZVRVY2docWRZQXdRckI5aHREOTJWWXAxZkFNd3Bs?=
 =?utf-8?B?VGZjeWN3RjBtK1pQdDU2bXdOWHBxWXJsTzJoMEViNzcreXphNFhmbG1RTEFL?=
 =?utf-8?B?bFFZYW83aHlwZ0lzQlJ4cjdGNTVJeXFXSE52MVYvc3U3QWJqVG1rNUhaZllV?=
 =?utf-8?B?Yks2cUtjWUc2S1NFTGlzbTUyLzhhZXh3NTFjQldjQmdISHlhVkUvSC9NZjRa?=
 =?utf-8?B?TjQ4eUM2blFjSjM5Tmw1UDYrR1dvNTE4UmUwZjBCNXRLTHdtVisvcDMydkJt?=
 =?utf-8?B?cnVYTnNDUlVjbWV2Z085UzRjKytFUXpjczRLYjhtMTNjMmlJc2lseW9hTzFQ?=
 =?utf-8?B?TCtEMk5NTUs5dVBna2U5bGxKZnZKUGE3UyttaUVCaHNRR3Zlb2tmcUczaUI1?=
 =?utf-8?B?bUVEUG1qak0zZG1FeXZtK1AxTHgrTFN6M2YvY05HVW8wMGlPTTIvdmRIWnNy?=
 =?utf-8?B?THptaFdNK2FkZ2ZEdnQ0bnRwRUd4citHUzJQZ3Q1ZlVLVExWUXNRQkFHa2RG?=
 =?utf-8?B?elZ6NlhsSEorUnRsdnJZRWlqNDUwOFJ0d3NldGNXNHRJNHVqVFB1c1hzQWMw?=
 =?utf-8?B?WHVGRHhCVHdJaWdJUU5pTVpiZHptNnRWVTVpRlo2eTE1ZnpJRnVTMVNOdUFG?=
 =?utf-8?B?cXI2d1pIbnMxUU00aXZUbXNjTDJZbzVTL1ZNUE1hQ2F3a25yY0ZVakhVVFc2?=
 =?utf-8?B?bGs4alpOSWgyRDJxSmpjcnBsMWgxMzNoYUp0czB0YU9zTmJWSGhHTHBwTXZx?=
 =?utf-8?Q?KDKO0iCmmJw7YJgESD3SxK03J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc92d0ac-b222-4333-b9f4-08dba891bfb6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:13:34.4230
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PLZpO+LT+u+rEOGdxqYkbIvjc6gqk1S2JF7stOr5/Y6d59Y10/Chyy8oDuoHjiNGMLspVRMULKzsAhbvTZ+qTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8109

On 28.08.2023 13:03, Simone Ballarin wrote:
> --- a/xen/arch/x86/hvm/stdvga.c
> +++ b/xen/arch/x86/hvm/stdvga.c
> @@ -39,34 +39,35 @@
>  
>  #define PAT(x) (x)
>  static const uint32_t mask16[16] = {
> -    PAT(0x00000000),
> -    PAT(0x000000ff),
> -    PAT(0x0000ff00),
> -    PAT(0x0000ffff),
> -    PAT(0x00ff0000),
> -    PAT(0x00ff00ff),
> -    PAT(0x00ffff00),
> -    PAT(0x00ffffff),
> -    PAT(0xff000000),
> -    PAT(0xff0000ff),
> -    PAT(0xff00ff00),
> -    PAT(0xff00ffff),
> -    PAT(0xffff0000),
> -    PAT(0xffff00ff),
> -    PAT(0xffffff00),
> -    PAT(0xffffffff),
> +    PAT(0x00000000U),
> +    PAT(0x000000ffU),
> +    PAT(0x0000ff00U),
> +    PAT(0x0000ffffU),
> +    PAT(0x00ff0000U),
> +    PAT(0x00ff00ffU),
> +    PAT(0x00ffff00U),
> +    PAT(0x00ffffffU),
> +    PAT(0xff000000U),
> +    PAT(0xff0000ffU),
> +    PAT(0xff00ff00U),
> +    PAT(0xff00ffffU),
> +    PAT(0xffff0000U),
> +    PAT(0xffff00ffU),
> +    PAT(0xffffff00U),
> +    PAT(0xffffffffU),
>  };
>  
>  /* force some bits to zero */
>  static const uint8_t sr_mask[8] = {
> -    (uint8_t)~0xfc,
> -    (uint8_t)~0xc2,
> -    (uint8_t)~0xf0,
> -    (uint8_t)~0xc0,
> -    (uint8_t)~0xf1,
> -    (uint8_t)~0xff,
> -    (uint8_t)~0xff,
> -    (uint8_t)~0x00,
> +    (uint8_t)~0xf0, /* 0x00 */
> +    (uint8_t)~0xf0, /* 0x01 */
> +    (uint8_t)~0xf0, /* 0x02 */
> +    (uint8_t)~0xe0, /* 0x03 */
> +    (uint8_t)~0xfc, /* 0x04 */
> +    (uint8_t)~0x84, /* 0x05 */
> +    (uint8_t)~0xf0, /* 0x06 */
> +    (uint8_t)~0xf0, /* 0x07 */
> +    (uint8_t)~0x00, /* 0x08 */
>  };

I'm sorry to say this quite bluntly, but this is what absolutely should
not happen when doing supposedly mechanical changes: Initially I was
merely puzzled by the comments that are appearing here all of the
sudden, but then I noticed that values also change. (This also
definitely invalidates Stefano's R-b; quite likely it shouldn't have
been kept in the first place.)

May I remind you of something that was said earlier on: As soon as a
change is controversial, it's likely better to split out. And the
changes to this file were previously commented upon. This is even more
so that by its mere size this patch likely would better have been split
at some reasonable boundaries (hvm, include [there msr-index.h would
probably have been good to deal with all on its own], lib, and the rest
would come to mind). That way you also wouldn't need to carry (and
repeatedly re-submit) such large a chunk of work, because parts likely
would have gone in already.

> --- a/xen/arch/x86/include/asm/x86-defns.h
> +++ b/xen/arch/x86/include/asm/x86-defns.h
> @@ -30,17 +30,17 @@
>  /*
>   * Intel CPU flags in CR0
>   */
> -#define X86_CR0_PE              0x00000001 /* Enable Protected Mode    (RW) */
> -#define X86_CR0_MP              0x00000002 /* Monitor Coprocessor      (RW) */
> -#define X86_CR0_EM              0x00000004 /* Require FPU Emulation    (RO) */
> -#define X86_CR0_TS              0x00000008 /* Task Switched            (RW) */
> -#define X86_CR0_ET              0x00000010 /* Extension type           (RO) */
> -#define X86_CR0_NE              0x00000020 /* Numeric Error Reporting  (RW) */
> -#define X86_CR0_WP              0x00010000 /* Supervisor Write Protect (RW) */
> -#define X86_CR0_AM              0x00040000 /* Alignment Checking       (RW) */
> -#define X86_CR0_NW              0x20000000 /* Not Write-Through        (RW) */
> -#define X86_CR0_CD              0x40000000 /* Cache Disable            (RW) */
> -#define X86_CR0_PG              0x80000000 /* Paging                   (RW) */
> +#define X86_CR0_PE              _AC(0x00000001, U) /* Enable Protected Mode    (RW) */
> +#define X86_CR0_MP              _AC(0x00000002, U) /* Monitor Coprocessor      (RW) */
> +#define X86_CR0_EM              _AC(0x00000004, U) /* Require FPU Emulation    (RO) */
> +#define X86_CR0_TS              _AC(0x00000008, U) /* Task Switched            (RW) */
> +#define X86_CR0_ET              _AC(0x00000010, U) /* Extension type           (RO) */
> +#define X86_CR0_NE              _AC(0x00000020, U) /* Numeric Error Reporting  (RW) */
> +#define X86_CR0_WP              _AC(0x00010000, U) /* Supervisor Write Protect (RW) */
> +#define X86_CR0_AM              _AC(0x00040000, U) /* Alignment Checking       (RW) */
> +#define X86_CR0_NW              _AC(0x20000000, U) /* Not Write-Through        (RW) */
> +#define X86_CR0_CD              _AC(0x40000000, U) /* Cache Disable            (RW) */
> +#define X86_CR0_PG              _AC(0x80000000, U) /* Paging                   (RW) */

CR0 being a 64-bit register, I consider this risky. Imo either UL needs
to be used as suffix, or the change needs limiting to just PG (and even
then perhaps better using UL).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:19:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592206.924857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaycW-0007FX-VO; Tue, 29 Aug 2023 13:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592206.924857; Tue, 29 Aug 2023 13: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 1qaycW-0007FQ-SN; Tue, 29 Aug 2023 13:19:00 +0000
Received: by outflank-mailman (input) for mailman id 592206;
 Tue, 29 Aug 2023 13:18: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 1qaycU-0007FC-Qt; Tue, 29 Aug 2023 13:18: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 1qaycU-0002kP-Gk; Tue, 29 Aug 2023 13:18: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 1qaycU-0007N7-5I; Tue, 29 Aug 2023 13:18:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qaycU-0003dm-4j; Tue, 29 Aug 2023 13:18: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=IDZ0jpHr5CE8eJ3KmUwPq2ZZOa4dPZo6nsgdpeRnmPw=; b=MMxBB82JKQ+PGuITdEe/nB/Swj
	GJ3/+NOVCEALq3U7hP9qzmD0VpoJTZmxuPxzvjDNsbNupV9u9roFiLDm1xP7xx7VGQ7bQkDsUpMxN
	63YsW8r/Eu7YkKfaU86kFRyhF6VC0xjFg5C1xRCGHcMDiLO+/RkSHlg7YR1mdFYZdj0g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182548-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182548: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=067f18c3a72d8f0acccab831083b8518f0832d81
X-Osstest-Versions-That:
    xen=067f18c3a72d8f0acccab831083b8518f0832d81
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 13:18:58 +0000

flight 182548 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182548/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 182542 pass in 182548
 test-amd64-i386-pair     11 xen-install/dst_host fail in 182542 pass in 182548
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 182542 pass in 182548
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 182542 pass in 182548
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 182542 pass in 182548
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 182542

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 182542
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 182542
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 182542
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182542
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182542
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182542
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182542
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182542
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182542
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182542
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182542
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182542
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  067f18c3a72d8f0acccab831083b8518f0832d81
baseline version:
 xen                  067f18c3a72d8f0acccab831083b8518f0832d81

Last test of basis   182548  2023-08-29 02:13:34 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:21:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592215.924867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayfA-0000Nh-HE; Tue, 29 Aug 2023 13:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592215.924867; Tue, 29 Aug 2023 13: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 1qayfA-0000Na-EB; Tue, 29 Aug 2023 13:21:44 +0000
Received: by outflank-mailman (input) for mailman id 592215;
 Tue, 29 Aug 2023 13: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qayf8-0000NU-O9
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:21:42 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdc52c02-466e-11ee-9b0c-b553b5be7939;
 Tue, 29 Aug 2023 15:21:41 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7978.eurprd04.prod.outlook.com (2603:10a6:10:1e9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:21:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:21:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdc52c02-466e-11ee-9b0c-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BQc+kCELDBM4YQJLELNjrP5r5oJKvc93DI9/RtVICgW2DXyizuK08BwDK/fafvDu0lllDJqLsc9MYuXo2YnbJQA4rZmo5Fxu0g4tfvY0yiLskCvrvmbPl5UxeRz2p1Imbk1XCuTHb+byI9kxJqe/SlYT5dXkPMRvn1nIfFJHgyON7Npeq0NEzCGiNIqbW242Vdqe0BdtcTdXYbYIkHkfJR9AK17Zi8TSKlolRZdTPVz4jNlchuAo/G0VZnZNC5Q4OBrqwa2GQb8QLMP2YUdb+NslTgOoHxUM6d6G2g4F/7/v8HbwhiptI3BRtTXalH109v31DIGbOckSYniRk5qFhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ADMBT2CfXTCS0oltmguZ2qFM0oHS+oAn1EJKZfafymw=;
 b=WCsrGv834X9hJDfl0DkNgA8qzTp/pXiQGS7plucB3pDYpcjQVyNzfAFRI/jF1KFmCa6EjYPfeYsw2GKfMO1LqdvKp6inEWrT34U68Q8fGt6ncM6oezRZjciaMvzFErmzE4HRqJFU23H6ahJYBmc11pf3o/Ij3NiuAN4t+qRdibsDvNabIqbG8qqDqDS8uUrvitS0CblD91cSvgNRLLw4mXcI/45xJKcIDX2dCpQH/mfCUwtl+vOM7vCGSb/08xeFUB+8lXHdkBj6zaQQCiWYiNWuPcNJgL2912tQkGlI9o3pb+24BDxf3ByL63d0dkJ02ugxdIO4eT4tnqSxPsk09A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ADMBT2CfXTCS0oltmguZ2qFM0oHS+oAn1EJKZfafymw=;
 b=5Bq92U1DG47XLZmb7PD/Aj9P3taXfOpxv16olm5mzbjqd3jFMSAG137TFceMOHNxqR8V9U0Bksarm4oKzdMFggLb+wBLbp9RD6Rv0nD+rWYnLFzd4+7b2jt+Y6Cg8j+bT72qeAHFgFk/06Zf7zhaJ4BSTPtewMDqlx66d6GaHUWN+k9jpcLL7Y7HEMUv6tu6GiV86fqUtgyvE3WsFF3JPN4V1tHyQ3KV3N38FVYspi/iHo98R8cJnTZkpCh8MNmElxgrJj5C45g2Pa+VbhPCRLbChkQYdR+X7dm88KVUcrmTluCysYzVaP6/9GqLWmY3WHDZiHMpJZ7RfSdmVdPeMQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <208ad7db-ed59-fe93-9df6-83007a4f00ae@suse.com>
Date: Tue, 29 Aug 2023 15:21:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 04/13] xen/x86: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7978:EE_
X-MS-Office365-Filtering-Correlation-Id: 24476e64-dc05-442e-470d-08dba892e047
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5d1+dGMYFsDAzEUeZsgLy/iI1pkBVIroOVsl4QV5AD+WkT8FdNAFtwXYXl8lOxPA+FeIVUAdVSq37aDwct7HXXPO6yrtBZx2+r8RbmINuW+L1S0kKF2ZScx7m0SOq/CI9Fd7Zsg6yATB2oSIyY0rG8N2vDw7X7lH1Nqa25l5xMj3/OZVomNs0CvcjtF1ZMVfwzrG5HjFptkDZPbA/SEqmVLUTQdyIxO6vxRlItEyQ0bU7Vc8ATGJPFaI9WblKQ8Eo916QQujuSQNuHysa8JXGXAY26UyP898A9q1Q6YZUjQUW8j918jZxCCx7zbs/CbIqKD7DJqdItXFZ+h6P9um6Aw8ldhK7QZtXunJUSBzN2C2wuMaPL9VSpkjQXVdvVXMjJLp/r7w6hLothx0i1Dccz/rl9WjOWqUAfL4fFCcJULAEFB0AP57WmSonzrJNv/DT3GpPBHTW94/EZ8XkUDPVNRUBETasQYsJGr6AZ9KY5Dsuml2Qn4wDjkQJYWj4kcJN5qryy+x2iWsHVvs4KOh9E0yRbd33/DSd5fPQoAFkkDFBbexpYj/fKec3gxsid89UWtZIwREtbbS/en9awPiKLCLgENKnBufADofJXfESfBbc9Hiv0uGQDt0v1ZnddGR0hbNG9eknsiCNvq+bS0pHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(39860400002)(366004)(376002)(1800799009)(186009)(451199024)(83380400001)(478600001)(31686004)(26005)(2616005)(6486002)(6512007)(53546011)(6506007)(31696002)(86362001)(5660300002)(2906002)(6916009)(54906003)(8936002)(38100700002)(66556008)(316002)(8676002)(4326008)(66946007)(66476007)(41300700001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S01UOGxYcXUvMzRnd28yUXAzeDJTclNRTnB1UmJSWndvdFdLZHM0cWY1a1JZ?=
 =?utf-8?B?S1V2VDJkVUpQRWM5K1dMVGNhQnp5eHgxM2lOK3hQMzBETTF5aUthb25naHV6?=
 =?utf-8?B?Y1EyaGsxTDVUS1krUGFHdGZpWEpDY3MxYnVCRlNFSDdOSW0vTHRJMHVyTWpj?=
 =?utf-8?B?bUVSVlV0N2JFL2dyQklzdkpJNm14R1BpMXkzQ1RuTUdQcUlDempqcUJkcTBH?=
 =?utf-8?B?K0FHODdEWm1UcXg4cEhqTjJhK2dsbldod1hnUDBlS1B2OTV2Q2VyWlFVQllz?=
 =?utf-8?B?MFJNeExsbmJ2SHBiVEM1S2xBKzU2VGU2dk5pcUtWZ2lZbkVVRnN5cGJpa3lk?=
 =?utf-8?B?U0NLVVF4MHJMR2swOUp6SGtiTzcxSnRxdmpQcHlRTEFjbUJDaXdZS05RR2Q4?=
 =?utf-8?B?SXIyT3Fuc2VOTG5mM3kzbXc0YmUyNkJ4N1grZXc2bklSOTM4Z09QTTZRUCtR?=
 =?utf-8?B?N3NQUGxyNE5FNUp6Z1J4dGc0YUV1V2xQaXI1ZjArWDdHZDJ1TTlibVpwK3Ft?=
 =?utf-8?B?SGp4TGVnN3BJQWtyckFDU1BPU1lmbzdtN1BRK2ZDQitXckRWcDdOZm5uT1Mx?=
 =?utf-8?B?M2crNlMzSDFSWEMzdjJhUzBubFVjMS9ieVNteU9lNWxlMW9JL1pqaS9lYW5x?=
 =?utf-8?B?NWNRUmZNRXlSUlZ2L0JPZDAyQ0EzU3JkWHpXWDVxV3QrVmVwR1FBYmI1UDU2?=
 =?utf-8?B?bmdFQ3VzZzhIRHAvZzlMRCtuTURrb2FUQmhGN2I1Ny81d3ZiSDFZZzRXRGtq?=
 =?utf-8?B?YXlTK3NDZGlMYlpjd1oraVFqRDBjMC9MNmZHNmNlTW9qSFlpeDVGUFVnVXM2?=
 =?utf-8?B?QXpzcFR5cnVKclBOeDdFcVovcEpZU2RNOXN3RHZXazJ4dGVlSVUzclVzZ3hI?=
 =?utf-8?B?VEZDM2JOeWl6Lzhjd2x3UEV3QnFHa2hMU2VGcU1YVTlHbXlXK2N4WlJ0MW1i?=
 =?utf-8?B?NXBNZU9ZZlhDcHduQnByZGRJM1R2QWkyblkwSGdieHJxMzdaWDNQcXJaRGlR?=
 =?utf-8?B?a3NzRzZ5MDIxYW9JanVHR3gwSXF6QW1LQ1dDT1habmlncFJzQ1Byci80UHQz?=
 =?utf-8?B?b0FhTVRjL3BHM2RQT0hPQlF2Z3lXK25YbUdUTkxwWHlBajhIWmRLSWdwdHQ1?=
 =?utf-8?B?NzVrT2NTQXp6Ni9xdTRxejFLeitxM3I1R2llODlXdEd1aEdWaVNZVWVzT0Q5?=
 =?utf-8?B?NUZGaDA1L2tnbmIzV1R6OUVFakp6OEV6cHI0SjFlaGJseE9rV2JENkpUbVhk?=
 =?utf-8?B?Rno2QTZOYldPcDd1NjNnNmtyUjlKWFlncEVhNFE1RG43TDg2RGV6citmbEw3?=
 =?utf-8?B?SmNZMnIydkJDZXAweGd0YVN0b1B0bkpaSiszWDdBT3FTMGxvQldFdmcxUlpO?=
 =?utf-8?B?dkw0bVZORFk0SnMrd3hzaUZNWi9VdlpWNlBVUlYvcWpCSVpNZWVVQXN1SlhS?=
 =?utf-8?B?ejlhcVdOR09XY1h0NEFpdEE5N1N4cVFwZk0vQ0ZmQ3dkdkJSLzdGZHRJMTlk?=
 =?utf-8?B?YjExNVVNNHlqdTlFR0VjV1RHc1RLc2ljZGtmSXNza3VkYmx2c1lmNlVJdWd2?=
 =?utf-8?B?QVZHcVAxUDZoZGcwV3pDbWhEdGMxcWlkTkxhQW9oZUdQSTBVSW9LaUtqT0xQ?=
 =?utf-8?B?NjBadGdFaFJRenNHSVdhWCtHWWFKUXZQVWhYa2IxbzY1SEQrK2hVVnZlZWVC?=
 =?utf-8?B?L0tjNWd6NGxXcUxHMVdRS1JCNnIvdExlZDUwRVhORVdJczc2eDBmUmlyU1NO?=
 =?utf-8?B?cmNIVEwrdUlPbHhPUHJqN0s2YVlqVEFRTHZYUUhITFVFSmhOaWliUTRzeUQ4?=
 =?utf-8?B?dzA2TlgybTh6c1M0ZTNWRDBCMlB3S3ZqV3kwSUVTdnNZT1hTNlZwTFZGMWtX?=
 =?utf-8?B?dlhTK3NMemYrNks2OU80cjhDTDg1eDVYR1lwZ09vRTZWRXlwY05hSWxPdVpm?=
 =?utf-8?B?NzhVREVBandwOXJkZld0ZEF2MElWa09EQ0o0TXNVN3B2cW4vRjJwd2xFcm4r?=
 =?utf-8?B?SjlXaWVtRDhtTkVNK2xSeUNxQkFJYXhuMGxhR0U5eVFYdnpDTVkxT0d1VkxK?=
 =?utf-8?B?QnpTRjZ2MHZBNW05WlFKR1cvUHBpcWM0WGt5THhSZlBLMnhtNVFoZTM4WEJl?=
 =?utf-8?Q?p3S3Zg0KVXBegd16NlDl60fv2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24476e64-dc05-442e-470d-08dba892e047
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:21:38.6344
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LMNrr4Rx9vVb5rq7c/D1qJDkhaqI2kJ29Rjbyhkj8R8XqvTIr7aVrDBAWa6ITD7RSfkGRYPWtVepLjGEKIBohw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7978

On 28.08.2023 15:20, Simone Ballarin wrote:
> Add or move inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Inclusion guards must appear at the beginning of the headers
> (comments are permitted anywhere).
> 
> Also C files, if included somewhere, need to comply with the guideline.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/arch/x86/Makefile                  | 8 ++++----
>  xen/arch/x86/cpu/cpu.h                 | 5 +++++
>  xen/arch/x86/physdev.c                 | 4 ++++
>  xen/arch/x86/platform_hypercall.c      | 5 +++++
>  xen/arch/x86/x86_64/compat/mm.c        | 5 +++++
>  xen/arch/x86/x86_64/mmconfig.h         | 5 +++++
>  xen/arch/x86/x86_emulate/private.h     | 5 +++++
>  xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++
>  8 files changed, 38 insertions(+), 4 deletions(-)

Considering that the description talks of header files alone, there's a
lot of non-header-file churn here.

> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil
>  	$(call filechk,asm-macros.h)
>  
>  define filechk_asm-macros.h
> +    echo '#ifndef __ASM_MACROS_H__'; \
> +    echo '#define __ASM_MACROS_H__'; \
>      echo '#if 0'; \
>      echo '.if 0'; \
>      echo '#endif'; \
> -    echo '#ifndef __ASM_MACROS_H__'; \
> -    echo '#define __ASM_MACROS_H__'; \
>      echo 'asm ( ".include \"$@\"" );'; \
> -    echo '#endif /* __ASM_MACROS_H__ */'; \
>      echo '#if 0'; \
>      echo '.endif'; \
>      cat $<; \
> -    echo '#endif'
> +    echo '#endif'; \
> +    echo '#endif /* __ASM_MACROS_H__ */'
>  endef

Can you please explain why this needs adjustment? While I think things
are going to be okay with the adjustment, this dual C and assembler
construct would imo better be left alone. Plus as per context found in
patch 2, aren't generated headers excluded anyway?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:27:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592223.924877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayl4-00015M-4s; Tue, 29 Aug 2023 13:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592223.924877; Tue, 29 Aug 2023 13:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayl4-00015F-1U; Tue, 29 Aug 2023 13:27:50 +0000
Received: by outflank-mailman (input) for mailman id 592223;
 Tue, 29 Aug 2023 13:27:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qayl2-000158-TA
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:27:48 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7608612-466f-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:27:46 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9410.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:27:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:27:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7608612-466f-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PpQ7/6r4jW6g/N++xZDvQq0ySRzey1U3/LBnmkdXVIxs+wZTtTB4RMPDkHaIS6ZkaVF1PMIqXbbR5aPISj+37bXO4g/sHYSsZTYAAb+wFODXPk+oIRvxBDWUx1+Dt5wktJLhta1uETTXxs/560wLZORsqE5wRxs0hhHF4RuE2waNQc4bBBYdIiDrnvygbdgWrSBgAO5HjhYiM8HFg3ajILw8IS1nVg4hJEw5pYu1UJNoU78uj7lSbi3T/s2vDDerDqSuCd2k52SkjFAIZrpIraF3U/Cr55jt3sdR+4ETaAAbXDuRQd4Wuxcoe00Zyitf2OTpkGMgT3dNuEwyljmeLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bDsJl1p7wFHuZpD7gsWmAvch0per+E9iV1L9ki3wsto=;
 b=TFrhEGw4kd6MYrsrb1eFXHlX8r31g/HVylaw6lVTRC8FvA0UsBVXRq0nWi3xKoxTw3zv7AwJXPgfY38JVf6yoRwZrvJlzTJKXFKHyf8AyO38PutWsAGGzFjukeP+mJV73t84esISijltVYLkSYJieTKD/uOa89w9Xf+LpHcR5b4VS9HY2YJc+Wf2bbIIXnSCeGHeKr2YvFlbakAed7rjU3swYzC7iOaUFk2EpmpXscMuTAVqtoLVqOer6FJU0lFy8JhxLCI0/jugcPbd8EgAVVhixsGOc5C/2Ae8VXsOCeUSIfhEaHXmbkqw50O7QbmR/aO1ycjA6XSoQA5TovPEIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bDsJl1p7wFHuZpD7gsWmAvch0per+E9iV1L9ki3wsto=;
 b=L3AM0doZMPtSbCo9QuWP/+pe98o7vVbFo0GgCr3NUthYjz328DaGnXMInu41zR2FsEspZv/v6Q0VvP/zJV4x7JM42Z+XJw/v47t0Y/+4MHdvYXFlF+zgW7yJcg2Y/boevrEfj3NUqQDEwHM2HbD6vLCqe1o9UPdyOhcM59bU5uBWLMn0Lbimi+UCufWp2jEWVDffT9ipr1FGZRj4rRTrCPmMctaMkmYOcbvrheAB7CXM9pIho2CI/va3aTibUJvVVva6XKUIsqeGli9yPd5GVu54pkHlzbAIAnQ3y/69S3zlvAaCPPSAMiF++Pha8c7Lyrx5or8zBcJS99uV2Sx4IQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5bc8dfaa-122c-e076-eb8c-5bfd9a459dad@suse.com>
Date: Tue, 29 Aug 2023 15:27:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 06/13] x86/EFI: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9410:EE_
X-MS-Office365-Filtering-Correlation-Id: f17a39b1-48b3-4502-21b9-08dba893ba2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fATvNwXI8JQTX6xpeykK+rs8XzkaHQfi4iVcMLNua/rgO0U1sGqy5jZHvUO5ScjdVDr+0O0NwnxjXMWd/Ql88wAytsr/U7w+/TLQSXMy20ltJlBIInhRej3zA5SrtH1uvSxW0jZjXyQEt0Vj+EORi0xh11MwWBmrS7099ffMr5n2V8MxAqxdpyRaa3KCHn9QDf36AupXhOAnE1rpWmMupfBaGAh7rMnSjTSL21DVAjw5igVv/vMki1Yy2i++bgEEHnmLEvzOy/ji66aOe0nHpgRj4KUj6PHCvcI4rmQxc+LcHvHB9T57zjjN8b+OIaVn8YKc53gYIB3zUKHKY/AGIalqpPGPoRpcojFkXc/wChMytVS7JUsNlnDQFKPt509PuuwP1cP43xJWB5TWFyoWvm+V80fQmxTspMt7H/dB6FQT7jbgQrBv/vcfetUOZF7dZ+Q5IKWIDCZNWM4OWwaNNEiXv91ytrFc4yT6hbM86EuZGb35g0vfK34zYYs0QDhErUX6F37MoyZDvNKBd+IijyZHE2Blyuea99ypCALLo9+TsMnVO/IA5xkKQUJwXqNSuEs4XBJSv/V5AS9GtI5avSIHLG6k4tFlw802UITEfKA2VUTrdqrioUgIjCAkT+DcllXuYOm1z3yoLBp9cGapZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(66946007)(53546011)(31686004)(478600001)(6506007)(66476007)(66556008)(54906003)(6486002)(316002)(38100700002)(41300700001)(6512007)(36756003)(26005)(8676002)(5660300002)(31696002)(83380400001)(2906002)(86362001)(2616005)(4744005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THhvMzdoYUJxK2ttRFErKzRsbnVDZzE2QVlmZlVIQ2R5QWdMYzFOM3JJSFRN?=
 =?utf-8?B?bnFoZkFta0JLeW9Ib0NWR2VnZzIxUFJuYUc2QklwSVhtakxKV2ZaWlkvRTlZ?=
 =?utf-8?B?cGt6cnBhZlJmVmlZdkk2NzNwQmJJYXY0VE1LcmlYK1F4MTI5TDdQdEFzQUlO?=
 =?utf-8?B?Uy9zdWtIaEoyUE01VVJyNytvVzRKSUJvTnNZclJVNzRISHRaUHdYRGJWekFl?=
 =?utf-8?B?dmorY0FIallQNTF1NlRMMldhWjBIb1RoRFh0U1dXRDVpVnRXcWFJTTRaR051?=
 =?utf-8?B?QkltYkNoNU00ZUhIMWY0dTFpb3NoNXFVVzV5QU9YcGc2TmRoM1ZkckN4em5O?=
 =?utf-8?B?ZU5DYXV3bUEzbzBoRnVTYU5XZDdJNjVkMHplNTF2WWZDdUlKYlNjd2xzaUxy?=
 =?utf-8?B?WWxRVEFpa1JJWndRWFg1ckdYanFWei90Q2pLQjY3Q0V6UHlaUVU0L2x1b2dM?=
 =?utf-8?B?MDZ5OTNJc3BsNkNpaXNKNWxvUzVNUEZEVHJGaFRDdWtPVUNuU3dqSGpsOStF?=
 =?utf-8?B?OGhjcUhyVWxYTmppSU9qYWpzdmxOVnRFdXZFZjM3bjVtRDF1Q3ZMWU92RVVm?=
 =?utf-8?B?Tkd6K0hOQ29HZTRuYmNCZWgwZU5MRytXeDR5aERvR3hJTHErdWU4ZkE1THhv?=
 =?utf-8?B?MmxhcER6S0JqZU9KQS9KNmROa2NDN05XRVAyWU11WnZFYSsrUHBTc2VsZVhY?=
 =?utf-8?B?dWlPRFdUN1hscW9ZdGdwMHZNUG9McWc1c0h5Y1IrTGt3bmYvUTZqUFhJbjk4?=
 =?utf-8?B?alcwek56TFNnK3VCUGtEWDJBOWNVNWdJQ3BweHB6d1dadHlNb0h1NEVUd3hC?=
 =?utf-8?B?MHAxbStmR3VXYXZYTjNZUzJBV0hRUk1BN24wRHArWVhBNVQ1bjBidXFBUmRH?=
 =?utf-8?B?dlNyd1MzNG5ZbzhQcmRpUFRGWnZ6dWpROVNIT1dxRnFtZ2I4ZVpMV0FFT2ow?=
 =?utf-8?B?NE1mR29hcGlQN0ZJOWUvSHFYNUxSMTJvU0grNlVyN2lwQnl3KzVBNlVReG00?=
 =?utf-8?B?enZicVRTQ3ZSRzVPNzgzbGM4OG5OQWprdGVXaVYxcjZKOE5kR2dWdWhONTJX?=
 =?utf-8?B?U1FhM21kTFpsTWlOOXo0bW91ck9aWVNrenNNam4xSmlHRXp5ZGdzSDFrdFZ0?=
 =?utf-8?B?MEhITGlUTHV0SWxRU29YSnZReTUrM25saEZpeHZrN09HbmJWZkEzUktOekJQ?=
 =?utf-8?B?RGZVNGY1djRkZkhsbWdEZWRrUEg2dmVubnZRSks4OUtVNERoZm5vayt6Tlc1?=
 =?utf-8?B?QkhjaC82UEVWVCtwWWNpanY5VjZxUGJsQlZWaEUzbzlKQURQQThPWWg4eEVm?=
 =?utf-8?B?eDk3dkZSNExqbndDVFZTRmRzRjVKOEIyUnZsUW9qSVdVWFVRQTBwVC9DcWlH?=
 =?utf-8?B?VTBHb0NkOUU4MEhHNjFXZmhmdXdiLzNYR2Q4NG91WmtUc0Y2Z0U2Ni9TRGo3?=
 =?utf-8?B?bWtnVVlOT05GSjdzeGkzV3lTb1EwSDVsOVNpa3VmR2ljazBUdDkyNHZZZGl0?=
 =?utf-8?B?Ry82YlROVGlKOURxOFh4R3NlTllXcy9nT0xkajJyS0RQNUorZHRKak43c25m?=
 =?utf-8?B?aFdUZFpEcTBVcWhFM2pzRENSSXpzS1AwYjZuVnEydjl5cVBobmpsZ0dlb1Vw?=
 =?utf-8?B?TlNQYTI5c3JtTTVNZ3JGZGVwcmJiTEY0NWF0VW5KU1JsNGtKMkhYd2VwdmNI?=
 =?utf-8?B?YUtuN1IrZWlQdkdKK3pSUXN6WmQ4QmJ5eFpJQXpGV2lBMEIwc2w3VlJHaGpJ?=
 =?utf-8?B?bzdIbmljb1RyRVFETXVjRFIzZC81czNYdHZON2xWd1ZGRFRpWUhsRmwyaFhW?=
 =?utf-8?B?VzhVZ2xDQTcxNktaWjNiU3ZKWEVBL3NxOXFrYXhTSCt3OWhTaTE2WHNZM3A1?=
 =?utf-8?B?WFJjK1laUXd5enNZRXBkRmpiTENHQW5jQlpaekhTMFN0QURFSHErL0NJYk5n?=
 =?utf-8?B?L3pUQ2s1bi95b2IvdGI1U0xXZXNZV2NtZE9hRVBZTTRIN1ljZ0NGdDdMRXA5?=
 =?utf-8?B?c2M1WG1URWZMY0FvMjEwM21MTlRkcTNkYXUzeDkxMCt0SXdlOEdvakdySHlB?=
 =?utf-8?B?amd0MEtHc0twakhJY2EySjRTYUFWNFdYZjF1TFc2b3Frcm5ncUVxaUhOcFBM?=
 =?utf-8?Q?L7HJpvdn4ID71D3gEruEWzKTm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f17a39b1-48b3-4502-21b9-08dba893ba2b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:27:44.1109
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CF/xSguan5vk4dzFgO5Bhoo1buEDugXfM8YQamLDA9LjJK5YOzESeN4r7mtEepnSz/CnKCq0Alw99NtTCrATug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9410

On 28.08.2023 15:20, Simone Ballarin wrote:
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  xen/arch/x86/efi/efi-boot.h | 6 ++++++
>  xen/arch/x86/efi/runtime.h  | 5 +++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index 92f4cfe8bd..2c6be062cc 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -3,6 +3,10 @@
>   * is intended to be included by common/efi/boot.c _only_, and
>   * therefore can define arch specific global variables.
>   */
> +
> +#ifndef __X86_EFI_EFI_BOOT_H__
> +#define __X86_EFI_EFI_BOOT_H__

Considering the comment, I find the need for a guard here quite
"interesting", to be honest.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:31:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:31:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592230.924887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayoo-0002fx-KN; Tue, 29 Aug 2023 13:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592230.924887; Tue, 29 Aug 2023 13:31:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qayoo-0002fq-H7; Tue, 29 Aug 2023 13:31:42 +0000
Received: by outflank-mailman (input) for mailman id 592230;
 Tue, 29 Aug 2023 13:31:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qayon-0002fk-Ar
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:31:41 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6299e4ad-4670-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 15:31:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9410.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:31:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:31:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6299e4ad-4670-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hzChtJXEuOxNo8XUQEdqs3QJE6Hxi+Fie8eeBJPVpSmmSYUWabuzHSAV0DHQL/hLTJLki9LKENAl6le3u6H1/yGwOWr+qPh7BPw2Cr1pquYlMrlby/Qnz26edqpQ4o9iNJe+j6KFjGXW9wym8kZRHeLeqIwQJiaBsOm+fI3i+EIPjSQQqRc+2gX3mFGwqy6PD88/yATK3ks08BT73/dAiUv/nQQZ64J8sKLZ+HnaVwFJ+3HJbLQTB7GFbEOnsYnRCW8vNetR23PXZV5hsR0JltmGVT4d0Dwk278bnIKTNTI+zaahSK16rACobVYEGPz09bT1JOna/lJ/nV9K7LkHUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xItzR6I9ExFMeYMq4xpqk0v/mI0HfIWpTKBQsmLymyg=;
 b=O245nOFiTywSlBBakX5eOSIVvpIMalDmM2Dh6PVn796Lnr/SQSPBVUEHyOO22gG0rYG13HGX0+puv2M/ihWUgl0LrJtFeUujUHdTVFbdfejStJ2gMpFYWN6QT5+yIqmGQ+K8JVo06ycTEjkonNVScezlGx5koqN4TJHsgPNyp8fKTm7FICTgAriq0xT5Hu1kPXB6uMy5SaK7qxgBZvWZP6PmFa+3yFXMqgLpmotDJFMSxt8xnHL/A9dsMjTCc8MXhdhLuWt0dsr0AxS/PmkQ3cx6H139Ygw190+yoXBFgsVsEEeQ4D3uwqekwSn0tiWxmSGW7HKPj48MhMZOAlF8OA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xItzR6I9ExFMeYMq4xpqk0v/mI0HfIWpTKBQsmLymyg=;
 b=L6d+b14kVhlWvmtiao5xJD4hN1ZIY58sXAjz0Vkhcol0kI5aMszTZ4GcDzGAH+AIbVAzciQOvHkM2p2r7udc1NOxGVXnIMPVYGd3s0hcUrz0hLNwpZNzOZc19ectXA2ssyBBGcDOsv6akMHuswM0E+fITNKjnCgF5X8tTkfCC7c4nbEVYnO9zE0rVTmNMtLWUAXSjtBqJmeFjdvD6Pf3FyKIuyFjT/WHlkU/DLFW6ioeNPhuhe5wN0XFDGiC4LMZSBrzxc7NVvj1gWw//CDzNVnD7W26pRtY0+/bW1U1OUsRPhj3asUD3IvjmUVRkGDLguYs05rZdDMhAKAOooVw0g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ae8e26b0-ff99-a4f8-2954-660686d60648@suse.com>
Date: Tue, 29 Aug 2023 15:31:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 2/8] xen/ppc: Add public/arch-ppc.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <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.1692816595.git.sanastasio@raptorengineering.com>
 <85bc5f57ad41a54f84ac9fa118ff0d9e02b71461.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <85bc5f57ad41a54f84ac9fa118ff0d9e02b71461.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0232.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9410:EE_
X-MS-Office365-Filtering-Correlation-Id: 0ef0f3db-8c41-49e1-21a6-08dba89445b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eCN8Imm7s6bjezK0kWxNQmq23/8eZmXaCnvkQXIWgRq8/z3QtlYC1BGMnwF1WASb2TFTpjw1WoWYynKDDVmMeh1PvFr2RmX1+IMg6klYTmcxdgN9lxjUj5NsQH5gQn7gxo+E77B14Qc/D3tCOO+uMgzoMXj0pMZXXScKHeEdGXmcW7q9wgJkgKjN1TR30MO0uQXAWMKwGZJjb7BTdM0j2HUW3jwvo5HaPDteJM63p3kXRje6Bfu1Y9qn5hQNY51rsM3bgnMR8i7TwjqhhwfdpEVYWOJI6kIRjqRYgOU5zufvDQ49lsn/hAGcYF7vV1HsZrLLoqlA+xeQUduccCn15Mb4/4C5kRg+BwAuK9wK91z3+tRW6aGU6ioHxTbPq3+8VhYqLaL1iuW1cNRs/UZNnUq7KJKd7KfAMdAZzv97vR3MIc80ZVwicpyiTjynb7yO8EIcdz9YU/aanIj57jRujWXfEA9x05qmevRV9sTfg9fg7fDp7/E8wDB/ea548nE9MQ1yq5eY0rLH+MSPdYzbcpoFcTHXcg7SI1kBjeZXZ4or/mLKWJ058nkNmm2xWAxzBTZX3Kgu8iWmVYcekWPFbqopSpwxTaW8GZmbRkuDEGj8cuUafph33CWTqMLYC2EfJ3FpH+ZIS/hXici92aN4Eg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(66946007)(53546011)(31686004)(478600001)(6506007)(66476007)(66556008)(54906003)(6486002)(6916009)(316002)(38100700002)(41300700001)(6512007)(36756003)(26005)(8676002)(5660300002)(31696002)(2906002)(86362001)(2616005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ym9WRWp2V2xqSEtlcUp4M1JKS0FHMEZRSjdJSkRWakw4WWtjZ0NxZ05JTGx0?=
 =?utf-8?B?TTFYeGRXSlBodUVENmlVWTFkR0ZLVmdidER3bW9GbWZJYnAwUzkxNStaZlNz?=
 =?utf-8?B?ZkhaMzIxVXVBRytNbHJzTWcrSU9SRHV5NmkrUHl3ZGRGSTBXelRkOTdDdnRj?=
 =?utf-8?B?NjRiM3c0eGpReHI4TWI3T2xXUmhmOU1ob1NHbjdPUEVrYTdSaVFHeEhKZUJa?=
 =?utf-8?B?dTA4MTBpQ3dVbGRxRGpwTVFOallYQTRaTDhtUjNFSVc2enFnZDJBRHFveGc1?=
 =?utf-8?B?MlB2ODMyRllGbVF5K1lMbCtOM1N6RVhnT0M1aTdMckJxekJieXFsY1RHYTAw?=
 =?utf-8?B?TyttN1dWMVlzSGduZmZSd1lweUMrblVnZ3RqUmJ5aWJFNXIzV1ozdlAvaE1j?=
 =?utf-8?B?QjZxNXBGWHZWSHAzd003YlRoaEJFTnRVeVlyQnhLMWNvelA3TFlkQm82bDkz?=
 =?utf-8?B?UjdrT3RQZUFDSnBhSHdzRW0wSUFENjdCblJUQzR5cVorSWwrby9iUnc0SURx?=
 =?utf-8?B?MVdpUTNJQ3RmRzVnYXVxZDNhOTFLNU5mWnMrYjZZWlJBTFBuL3hnRy9UMUV2?=
 =?utf-8?B?MG9ESjZ1bTIzdFNVSlFtVUZqTys1TmRYOE1qMnp4d2JvMjFRSE9TR3crL3lr?=
 =?utf-8?B?YlBZWjNkWmZFT0FBa1Z2bWNvNFBNY09IS0tPL2wxcHFIUmoxNDBaUVE1UkpF?=
 =?utf-8?B?cjYyVjhtdkR1L0pIL3ZpZDZzdld6c3lwU2xPZ25ESi8yV1hIUnlXc1RqNldY?=
 =?utf-8?B?akJ1V2VaQ1hJUUNkRzVMZmJlOFF5YnQ3aDU4c1pkckZrZ3puUFJGakFBRHJI?=
 =?utf-8?B?VTJYV2E5UTc4ZUZ1UzdLOXl0UlJaU1F4UFdMWnlYcE9SbzJxd3pkamFVd20v?=
 =?utf-8?B?R1IrTUs4SEZrME1JR2RwNmNxajZCaGVkMFF0eDhrWTJ1K1J5YXQxMEZKcmkv?=
 =?utf-8?B?OTMvNGtjYTk0dDlXOEl1S3JaSVpoQXl3M1EwNXBGY0RmUXVVSExhdDRuYU5j?=
 =?utf-8?B?MW9SZ0ZUcmRVNHVjNGE5ZjRpVkxUVlRKVW9DS3NWK1ZXWkVySS9mWGY3TjF1?=
 =?utf-8?B?cFlzTUM4RG5CUTZuRENnSTZOdEpPemhKWWgwYUowa05HZWRuSDNPdXcxZy9P?=
 =?utf-8?B?aFE2UzhvbnJhUUcwNGV4NmVEcTVYWjBBZEhlekJEN014YkhDNGNLQmRXQzNQ?=
 =?utf-8?B?aitUdXB6OFFSWjZDVlI1K0g2T0p4L1B5UTJSemg3ejQ5N0xDN0lCa0xWbEJN?=
 =?utf-8?B?UW1yVWZmbTAxeFowdlNzcTVUK2prRnB1M0svNkJaRzl6Zm5oVnJJL2FPUzdI?=
 =?utf-8?B?OCtNOGF0QTRCTFdZNHFKelVlNGlVeG0yVVJmbkJrazVUcW5PM2lHOG1sTGVh?=
 =?utf-8?B?MkU4TjByU0NVbzNyckFMTGNhQ29qMENzZnJiZUJ4ZTFxNnNDOSt5OEpDL3hD?=
 =?utf-8?B?em1FczFzUzdNeHBoRmJGS1RwWlpzTTNBdlM2OXlmZzlJUnVYUjh2WGlYdjdX?=
 =?utf-8?B?VXdOMEFkckhiTEJXMDVRVTl6MmppSWhEZWZ4S2xReU5NMnQyS1VYQ2RmdXlY?=
 =?utf-8?B?NXVkRmo2QUtRT3hFVmFjbjVtaUVJM29uWHlZZGx1WjAzODNhYnVkVmNiMGli?=
 =?utf-8?B?TGV6QmdHR0JTcEVLYUFtVVRzZCtqVFJnOWJUc1gwUWRiTkIxZmNvN3lrb2Iv?=
 =?utf-8?B?ancrRXRST2tjRmp5ZmdGbXhoTHNJd0JsaXN4bTVYcGdueWF4Ukw1b3NVK2lN?=
 =?utf-8?B?ODBJb3hyTjBTRGdUNzY5anJJc0d6cHdBaWp4aXZJeGZWTU5PL2VaOVNaYXdU?=
 =?utf-8?B?dmkyT3V4OUd1WU9kbDZkZ3FpcU9JYnZON1NleUx2WmVCNGplYk5nK3I4QWZW?=
 =?utf-8?B?bXVZc2JXRkpnQ05ZcTg4M0VUY1VoUnl4azhVU3JkZnVFMUt3MktTVHV0UllL?=
 =?utf-8?B?V3RESmhLdTJzWmUyYjBqaGplNTFJRXNiTDhOQ3lBSFBCQjQ4UmJzbVRzcnZ1?=
 =?utf-8?B?TUU5c3NYTUJjbzRBdW9aaGhZQnVqN2xEdkptWUhSQml2ZG82QWFvTVZnM1BS?=
 =?utf-8?B?M2JJeHZ6MUNIUXJvUElUSU5IQXh6bG1TQVdrVmFUQTd1cHJEdVdiNnQzRUVl?=
 =?utf-8?Q?g6VyxsqE6/8XWKHZUHfArxj+P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0ef0f3db-8c41-49e1-21a6-08dba89445b6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:31:38.2446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w/yRilgqVbZ/eszdqQSHp34IuFJFXzLcWc8OrXQ19by0d0M6MUabxA2a2yD2gzsroExJ7osH+9IL+ha/nBpBeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9410

On 23.08.2023 22:07, Shawn Anastasio wrote:
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> --- /dev/null
> +++ b/xen/include/public/arch-ppc.h
> @@ -0,0 +1,110 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Copyright (C) IBM Corp. 2005, 2006
> + * Copyright (C) Raptor Engineering, LLC 2023
> + *
> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> + *          Timothy Pearson <tpearson@raptorengineering.com>
> + *          Shawn Anastasio <sanastasio@raptorengineering.com>
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_PPC_H__
> +#define __XEN_PUBLIC_ARCH_PPC_H__
> +
> +#define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
> +#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
> +
> +#ifndef __ASSEMBLY__
> +#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
> +    typedef union { type *p; unsigned long q; }                 \
> +        __guest_handle_ ## name;                                \
> +    typedef union { type *p; uint64_aligned_t q; }              \
> +        __guest_handle_64_ ## name
> +
> +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
> +    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
> +    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
> +#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
> +#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
> +#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
> +#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
> +#define set_xen_guest_handle_raw(hnd, val)                  \
> +    do {                                                    \
> +        __typeof__(&(hnd)) sxghr_tmp_ = &(hnd);             \
> +        sxghr_tmp_->q = 0;                                  \
> +        sxghr_tmp_->p = (val);                                \

I'll take the liberty of correcting the slightly broken padding here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:43:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592238.924897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0W-0004TU-PV; Tue, 29 Aug 2023 13:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592238.924897; Tue, 29 Aug 2023 13:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0W-0004TN-MC; Tue, 29 Aug 2023 13:43:48 +0000
Received: by outflank-mailman (input) for mailman id 592238;
 Tue, 29 Aug 2023 13:43:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qaz0V-0004TH-Bd
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:43:47 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 119101cc-4672-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:43: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: 119101cc-4672-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693316624;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=8U0y1PFuSfukTU5ScUbS5a3N87QNmkdeKNE5zqlZveY=;
  b=Tk8p3KuOdKNTR+tQJlz55RJZCox8RB8nd6Kq4Kj86qfDZPV3mPIUEWBH
   mJ8zbxd+aVsqCsHJ3FOldYXqVm7TSTRt0qtfvFMImZPiKlgtvYeiANxQm
   ucP24Jy5zQ8liKKl2NHQqgxcvcODvfeIePy+br9tcNdw1PAlS9k2PL4DT
   c=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120997913
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:z8nyRqC+HVRzjRVW/wHjw5YqxClBgxIJ4kV8jS/XYbTApG4mgmYBn
 WIbWGnTbPvZYWageY91aYS0oR4AsJ7cmtdrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMscpvlDs15K6p4GNC7wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw4tlVOCJn0
 tYiNHMWZR2Mh8Dm0YqcY7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bSFJQKzx/Dz
 o7A1zTjQQ0iOe688hnb6nGDn9D1hzjFG6tHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceRz0s0
 V/PnNrvCnpsqpWaTHuc8vGfqjbaBMQOBTZcP2leF1JDuoS95thp1XojU+qPDoatsf/MWhjX6
 QqW7zM1iroTr54a74KSqAWvby2XmrDFSQs85wPyV22j7x9kaIPNW7FE+WQ3/t4bct/HEwDpU
 Gws3pHHsbtQVc3leDmlGr1lIV2/2xqS3NQwa3ZLFoJpyTmi8mXLkWt4sGAnfxcB3irplFbUj
 K7vVeF5vs870JiCN/Ufj2eN5yMClPOIKDgdfqqIBueim7AoHON9wAlgZFSLw0fmm1U2nKc0N
 P+zKJj9VixGVvs+k2HqH4/xNIPHIQhkmQvuqW3TlUz7gdJymlbIIVv6DLd+Rr9gt/7VyOkk2
 91eK9GL231ivB7WO0HqHXooBQlSdxATXMmmw/G7g8bfemKK7kl9Ua6OqV7gEqQ595loehDgp
 SrjBhEFmQKi2xUq62yiMxheVV8mZr4nxVpTAMDmFQzAN6QLCWp30JoiSg==
IronPort-HdrOrdr: A9a23:NRQW76Hk12c5qOXupLqE0seALOsnbusQ8zAXPhZKOHtom6uj5q
 OTdZUgtSMc5wx7ZJhNo7q90cq7IE80l6Qb3WBLB8bHYOCOggLBEGgF1+bfKlbbdREWmNQw6U
 /OGZIObuEZoTJB/KTHCKjTKadE/OW6
X-Talos-CUID: 9a23:mZI2CWG/C9vuMzpcqmJ/y2wtWekCWEfBj2zbLkC4KzZ4cJq8HAo=
X-Talos-MUID: 9a23:keaUJgVctbCV6QHq/G/2xy1aOfVL2IfwEEMiiKo8odK6dgUlbg==
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="120997913"
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>, Jinoh Kang
	<jinoh.kang.kr@gmail.com>
Subject: [PATCH 0/3] x86: Debug Regs fixes, part 1
Date: Tue, 29 Aug 2023 14:43:30 +0100
Message-ID: <20230829134333.3551243-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 the rework of "x86: Fix calculation of %dr6/dr7 reserved bits",
accounting for things which have changed in the past 5 years, and new
discoveries.

In particular, it was buggy to take Roger's R-by.  The logic was correct when
he reviewed it, and was not correct in the forward-port presented.

Introduce enough BusLock infrastructure (avaialble in current/next gen Intel
and AMD CPUs) to get the dr6 calculations up-to-date, and reimplement the
constants logic with reserved bits in a way that's hopefully clear and
acceptable to everyone.

This is part 1 of the work to address the bug Jinoh reported.  Sorry I haven't
had time to sort the rest yet, but at least this is a small bit of progress.

Andrew Cooper (3):
  x86: Reject bad %dr6/%dr7 values when loading guest state
  x86: Introduce new debug.c for debug register infrastructure
  x86: Fix calculation of %dr6/dr7 reserved bits

 xen/arch/x86/Makefile                       |  1 +
 xen/arch/x86/debug.c                        | 46 +++++++++++++++++++++
 xen/arch/x86/domain.c                       | 24 ++++++++++-
 xen/arch/x86/hvm/hvm.c                      | 14 ++++++-
 xen/arch/x86/include/asm/debugreg.h         | 15 +++++--
 xen/arch/x86/include/asm/x86-defns.h        | 21 +++++++++-
 xen/arch/x86/pv/misc-hypercalls.c           | 16 ++-----
 xen/include/public/arch-x86/cpufeatureset.h |  1 +
 8 files changed, 117 insertions(+), 21 deletions(-)
 create mode 100644 xen/arch/x86/debug.c

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:43:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592240.924917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0c-0004z9-7o; Tue, 29 Aug 2023 13:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592240.924917; Tue, 29 Aug 2023 13:43:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0c-0004yu-3V; Tue, 29 Aug 2023 13:43:54 +0000
Received: by outflank-mailman (input) for mailman id 592240;
 Tue, 29 Aug 2023 13:43: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=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qaz0a-0004TH-9J
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:43:52 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14bcaf1a-4672-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:43:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14bcaf1a-4672-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693316630;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=RzbPMPugAWK+qGKTZXd+6jBqguV16fL2HCkt0+KJ7U8=;
  b=fZ6t3Pwt7HDnjJXeX+6DKTo0LBkDKV/5FIFaXk0qIK+qk+J26gH/LuVJ
   UIBhUTwEkssw4ZaRYuNxnrAmaBngXQF8JgQOHn+ORIaM5DollbT5i9o4b
   1rVVN6fuPmuXAerIvotZabLMGOqXC4zs+rNJehX1lu0mSrVfxDTPIkOA2
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120249945
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:3fA+K6DNW3jAEBVW/wHjw5YqxClBgxIJ4kV8jS/XYbTApDwhhjZUz
 2BLCGuAMqzbYGfzeYsla9vkoB5V7MLWn4Q2QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMscpvlDs15K6p4GNC7wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw6+wvJEVzs
 s0iGnMOUUC9ldKt5JGpVbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bSH5kEzxrFz
 o7A10j6Ais3H+a+9WGMrCup1+zmzXrXVbtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceRz0s0
 V/PnNrvCnpsqpWaTHuc8vGfqjbaBMQOBTZcP2leF1JDuoS95thp1XojU+qPDoakhIXQPQy38
 gq47ysB14sBvdUv9LekqAWvby2XmrDFSQs85wPyV22j7x9kaIPNW7FE+WQ3/t4bct/HEwDpU
 Gws3pHHsbtQVc3leDmlGr1lIV2/2xqS3NQwa3ZLFoJpyTmi8mXLkWt4sGAnfxcB3irplFbUj
 K7vVeF5vs870JiCN/Ufj2eN5yMClPOIKDgdfqqIBueim7AoHON9wAlgZFSLw0fmm1U2nKc0N
 P+zKJj9VixGVvs+k2HqH4/xNIPHIQhkmQvuqW3TlUz7gdJymlbIIVv6DLd+Rr9gt/7VyOkk2
 91eK9GL231ivB7WO0HqHXooBQlSdxATXMmmw/G7g8bfemKK7kl9Ua6OqV7gEqQ595loehDgp
 SrjBhEFmQKi2xUq62yiMxheVV8mZr4nxVpTAMDmFQzAN6QLCWp30JoiSg==
IronPort-HdrOrdr: A9a23:vO5RUK9ym4qTvT1n1fxuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-Talos-CUID: 9a23:rfIg2WMLA19Fe+5DSSM/0WopXfEfQD7e8yfuMX+jLUV7V+jA
X-Talos-MUID: =?us-ascii?q?9a23=3A412/Mw4k/AwLaW7UoTg7l/24xoxE4KSUJWs3sKl?=
 =?us-ascii?q?dspfdMH1zEmfEoDmOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="120249945"
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>, Jinoh Kang
	<jinoh.kang.kr@gmail.com>
Subject: [PATCH 2/3] x86: Introduce new debug.c for debug register infrastructure
Date: Tue, 29 Aug 2023 14:43:32 +0100
Message-ID: <20230829134333.3551243-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Broken out of the subsequent patch for clarity.

Add stub x86_adj_dr{6,7}_rsvd() functions which will be extended in the
following patch to fix bugs, and adjust debugreg.h to compile with a more
minimal set of includes.

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: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/Makefile               |  1 +
 xen/arch/x86/debug.c                | 19 +++++++++++++++++++
 xen/arch/x86/include/asm/debugreg.h | 11 +++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 xen/arch/x86/debug.c

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index e642ad6c5578..f3abdf9cd111 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -24,6 +24,7 @@ obj-y += cpuid.o
 obj-$(CONFIG_PV) += compat.o
 obj-$(CONFIG_PV32) += x86_64/compat.o
 obj-$(CONFIG_KEXEC) += crash.o
+obj-y += debug.o
 obj-y += delay.o
 obj-y += desc.o
 obj-bin-y += dmi_scan.init.o
diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c
new file mode 100644
index 000000000000..9900b555d6d3
--- /dev/null
+++ b/xen/arch/x86/debug.c
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2023 XenServer.
+ */
+#include <xen/kernel.h>
+
+#include <xen/lib/x86/cpu-policy.h>
+
+#include <asm/debugreg.h>
+
+unsigned int x86_adj_dr6_rsvd(const struct cpu_policy *p, unsigned int dr6)
+{
+    return dr6;
+}
+
+unsigned int x86_adj_dr7_rsvd(const struct cpu_policy *p, unsigned int dr7)
+{
+    return dr7;
+}
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 86aa6d714347..673b81ec5eda 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -77,7 +77,18 @@
     asm volatile ( "mov %%db" #reg ",%0" : "=r" (__val) );  \
     __val;                                                  \
 })
+
+struct vcpu;
 long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
 void activate_debugregs(const struct vcpu *);
 
+struct cpu_policy;
+
+/*
+ * Architecturally dr6/7 are full GPR-width, but only the bottom 32 bits may
+ * legally be non-zero.  We avoid avoid storing the upper bits when possible.
+ */
+unsigned int x86_adj_dr6_rsvd(const struct cpu_policy *p, unsigned int dr6);
+unsigned int x86_adj_dr7_rsvd(const struct cpu_policy *p, unsigned int dr7);
+
 #endif /* _X86_DEBUGREG_H */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:43:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592239.924906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0Y-0004iY-Vi; Tue, 29 Aug 2023 13:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592239.924906; Tue, 29 Aug 2023 13:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0Y-0004iR-T5; Tue, 29 Aug 2023 13:43:50 +0000
Received: by outflank-mailman (input) for mailman id 592239;
 Tue, 29 Aug 2023 13: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=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qaz0W-0004TH-U5
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:43:48 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13c74970-4672-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:43: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: 13c74970-4672-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693316627;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=xe99RwbYBP3BHDDttjoRcDbqQqmftTeKL9chAAMix0I=;
  b=Q0I37cxDsnOkcbs2Vw2JNjVzVmMXbBa9SwNTscHEXgGFXLmFFePATuUL
   S9ZM2cm/G18Gxz5zw6C5vPkCi8QHKInh2E2A6l1m5bz5k3Yz2tMawIyYE
   5J3euFWbYJ3i1fsypi6DAsrMN0j0qHfZTJm8EHo2vY40x0EJbnNpqIURl
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120997914
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:vJ9He6ChM7VPzhVW/wHjw5YqxClBgxIJ4kV8jS/XYbTApDIk1jBVn
 2ZLXm6PPPvcNjT8L9x2btux9B9XuJKAxtNrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMscpvlDs15K6p4GNC7wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw4tlVOCJn0
 tYiNHMWZR2Mh8Dm0YqcY7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bSFJQKzx/Ez
 o7A1zv3BzdGCY2d8j/G+XG1nNXEuxzgBbtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceRz0s0
 V/PnNrvCnpsqpWaTHuc8vGfqjbaBMQOBTZcP2leF1JDuoS95thp1XojU+qPDoatsf/MWhjX6
 QqW7zM1iroTr54a74KSqAWvby2XmrDFSQs85wPyV22j7x9kaIPNW7FE+WQ3/t4bct/HEwDpU
 Gws3pHHsbtQVc3leDmlGr1lIV2/2xqS3NQwa3ZLFoJpyTmi8mXLkWt4sGAnfxcB3irplFbUj
 K7vVeF5vs870JiCN/Ufj2eN5yMClPOIKDgdfqqIBueim7AoHON9wAlgZFSLw0fmm1U2nKc0N
 P+zKJj9VixGVvs+k2HqH4/xNIPHIQhkmQvuqW3TlUz7gdJymlbIIVv6DLd+Rr9gt/7VyOkk2
 91eK9GL231ivB7WO0HqHXooBQlSdxATXMmmw/G7g8bfemKK7kl9Ua6OqV7gEqQ595loehDgp
 SrjBhEFmQKi2xUq62yiMxheVV8mZr4nxVpTAMDmFQzAN6QLCWp30JoiSg==
IronPort-HdrOrdr: A9a23:vdSfDa0VzpvUSbQbZ8P51wqjBIgkLtp133Aq2lEZdPUCSL3+qy
 nIpoV56faUslYssR4b8uxoVJPrfZq+z/9ICOsqUotKBzOW3FdARbsKhbcKpQeMJ8SUzIBgPM
 lbH5SXp7fLfD5HZWqR2njbLz6AquP3lZyVuQ==
X-Talos-CUID: 9a23:2mP8N28HtP3T+RWWXpKVv1YrOPlmW1r39muTOES1BmZLGKytbnbFrQ==
X-Talos-MUID: 9a23:AAG+ngU7L5nvbfvq/GDigRc+CZZq2KHtA0MUi68NnfafaBUlbg==
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="120997914"
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>, Jinoh Kang
	<jinoh.kang.kr@gmail.com>
Subject: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest state
Date: Tue, 29 Aug 2023 14:43:31 +0100
Message-ID: <20230829134333.3551243-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Right now, bad PV state is silently dropped and zeroed, while bad HVM state is
passed directly to hardware and can trigger VMEntry/VMRUN failures.  e.g.

  (XEN) d12v0 vmentry failure (reason 0x80000021): Invalid guest state (0)
  ...
  (XEN) RFLAGS=0x00000002 (0x00000002)  DR7 = 0x4000000000000001

Furthermore, prior to c/s 30f43f4aa81e ("x86: Reorganise and rename debug
register fields in struct vcpu") in Xen 4.11 where v->arch.dr6 was reduced in
width, the toolstack can cause a host crash by loading a bad %dr6 value on
VT-x hardware.

Reject any %dr6/7 values with upper bits set.  For PV guests, also audit
%dr0..3 so they aren't silently zeroed later in the function.  Leave a comment
behind explaing how %dr4/5 handling changed, and why they're ignored 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: Wei Liu <wl@xen.org>
CC: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
 xen/arch/x86/domain.c  | 19 +++++++++++++++++++
 xen/arch/x86/hvm/hvm.c |  8 ++++++++
 2 files changed, 27 insertions(+)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index fe86a7f8530f..0698e6d486fe 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1074,8 +1074,27 @@ int arch_set_info_guest(
 #endif
     flags = c(flags);
 
+    if ( !compat )
+    {
+        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
+             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
+            return -EINVAL;
+    }
+
     if ( is_pv_domain(d) )
     {
+        /*
+         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
+         * subset of dr7, and dr4 was unused.
+         *
+         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
+         * backwards compatibility, and dr7 emulation is handled
+         * internally.
+         */
+        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
+            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
+                return -EINVAL;
+
         if ( !compat )
         {
             if ( !is_canonical_address(c.nat->user_regs.rip) ||
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a99c0ff20be..3dc2019eca67 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1032,6 +1032,14 @@ static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }
 
+    if ( ctxt.dr6 != (uint32_t)ctxt.dr6 ||
+         ctxt.dr7 != (uint32_t)ctxt.dr7 )
+    {
+        printk(XENLOG_G_ERR "%pv: HVM restore: bad DR6 %#"PRIx64" or DR7 %#"PRIx64"\n",
+               v, ctxt.dr6, ctxt.dr7);
+        return -EINVAL;
+    }
+
     if ( ctxt.cr3 >> d->arch.cpuid->extd.maxphysaddr )
     {
         printk(XENLOG_G_ERR "HVM%d restore: bad CR3 %#" PRIx64 "\n",
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:43:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592241.924927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0d-0005Fz-Fi; Tue, 29 Aug 2023 13:43:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592241.924927; Tue, 29 Aug 2023 13: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 1qaz0d-0005Fj-By; Tue, 29 Aug 2023 13:43:55 +0000
Received: by outflank-mailman (input) for mailman id 592241;
 Tue, 29 Aug 2023 13:43:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qaz0c-0004TH-MQ
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:43:54 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 171a4fa8-4672-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:43: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: 171a4fa8-4672-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693316632;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=lwt51s6Ito3ySluQVz8h02ZUlFLP6IalOealcDGSsog=;
  b=OUWfNOqTaeejN/AEar2TTdphL3cq6hU2JiK5LtNQN997SGDdp/P4ud1z
   vj6J0kaNaSAJmRsPIwRYyqbm0DYN5RQoJc9I0ymcAxBdQiu6lvmf0wlwh
   MyjLvph6v8SnDnh+2Z3YBD8ZD3hp9ktBF6jVpzJevrdY6A+hu83P8iFug
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 120249946
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:TmFK9q/HIB89JsY3LC3qDrUDqH6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 2UfWGCObKrZZTHzc49zO4m+8hxQsZWBzd41QQFp/y08E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks11BjOkGlA5AdmNaoa5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklf/
 6Q9DA1KXyqxxOGJkIypevJIpdY8eZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxB7C+
 jOXozqR7hcyNtKkyzTZ33SQ3/LxkTnRZZlNBuO1z6s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9hRFeo6rgKEzKWS4ByxCW0NTzoHY9sj3OcUbzE30
 l6Cn/vyGCdi9raSTBq16bO8vT60fy8PIgc/iTQsFFVfpYO5+cdq00yJF4w4eEKosjHrMSD6m
 xWukW8PvYdQjvFb6beL5nTkkS358/AlUTUJzgnQW2uk6CZwa4ike5Gk5DDn0BpQEGqKZgLf5
 SZZwqBy+MhLVMjQz3LVHI3hCZnzv5643CvgbUmD9nXL3xCk4DadcI9Z+1mSz285Y59fKVcFj
 KI+0D69BaO/3lPwPcebgKrrUazGKJQM8vy8DZjpgiJmOMQZSeN+1HgGibSs927silMwtqo0J
 I2Wd82hZV5DV/U8lmbpGL5CiuNzrszb+Y80bcqnpylLLJLEPCLFIVv7GAbmgh8FAFOs/1yOr
 oc32zqiwBRDSuzuChQ7AqZKRW3m2UMTXMisw+QOL77rH+aTMD15YxMn6e97KtMNcmU8vrugw
 0xRrWcDkwSj2yCWcVjUAp2hAZu2NatCQbsAFXREFT6VN7ILOO5DMI93m0MLQIQa
IronPort-HdrOrdr: A9a23:wkQUVKNtX5FxbMBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-Talos-CUID: =?us-ascii?q?9a23=3AwOuoFmuwl+Ghlkb/iHY7EEgm6Is0eCX46EqXEnW?=
 =?us-ascii?q?KSmVWGIOHeUS027F7xp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AEBQ90A1MSAeJggMzs2kogUsEhTUj4aqVCk5RvJM?=
 =?us-ascii?q?64tS6OTZaBizCnmq6e9py?=
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="120249946"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jinoh Kang
	<jinoh.kang.kr@gmail.com>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 3/3] x86: Fix calculation of %dr6/dr7 reserved bits
Date: Tue, 29 Aug 2023 14:43:33 +0100
Message-ID: <20230829134333.3551243-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

RTM debugging and BusLock Detect have both introduced conditional behaviour
into the %dr6/7 calculations which Xen's existing logic doesn't account for.

Introduce the CPUID bit for BusLock Detect, so we can get the %dr6 behaviour
correct from the outset.

Implement x86_adj_dr{6,7}_rsvd() fully, and use them in place of the plain
bitmasks.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jinoh Kang <jinoh.kang.kr@gmail.com>

Note for reviewers: The dr7 calculation lacking BLD is correct.  BLD is is
activated by MSR_DBG_CTRL.BLD.  RTM is activated by %dr7.RTM && DBG_CTRL.RTM,
for reasons best answered by the designers...
---
 xen/arch/x86/debug.c                        | 27 +++++++++++++++++++++
 xen/arch/x86/domain.c                       |  5 ++--
 xen/arch/x86/hvm/hvm.c                      |  6 +++--
 xen/arch/x86/include/asm/debugreg.h         |  4 +--
 xen/arch/x86/include/asm/x86-defns.h        | 21 ++++++++++++++--
 xen/arch/x86/pv/misc-hypercalls.c           | 16 +++---------
 xen/include/public/arch-x86/cpufeatureset.h |  1 +
 7 files changed, 59 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c
index 9900b555d6d3..127fe83021cd 100644
--- a/xen/arch/x86/debug.c
+++ b/xen/arch/x86/debug.c
@@ -10,10 +10,37 @@
 
 unsigned int x86_adj_dr6_rsvd(const struct cpu_policy *p, unsigned int dr6)
 {
+    unsigned int ones = X86_DR6_DEFAULT;
+
+    /*
+     * The i586 and later processors had most but not all reserved bits read
+     * as 1s.  New features allocated in this space have inverted polarity,
+     * and don't force their respective bit to 1.
+     */
+    if ( p->feat.rtm )
+        ones &= ~X86_DR6_RTM;
+    if ( p->feat.bld )
+        ones &= ~X86_DR6_BLD;
+
+    dr6 |= ones;
+    dr6 &= ~X86_DR6_ZEROS;
+
     return dr6;
 }
 
 unsigned int x86_adj_dr7_rsvd(const struct cpu_policy *p, unsigned int dr7)
 {
+    unsigned int zeros = X86_DR7_ZEROS;
+
+    /*
+     * Most but not all reserved bits force to zero.  Hardware lacking
+     * optional features force more bits to zero.
+     */
+    if ( !p->feat.rtm )
+        zeros |= X86_DR7_RTM;
+
+    dr7 &= ~zeros;
+    dr7 |= X86_DR7_DEFAULT;
+
     return dr7;
 }
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 0698e6d486fe..2d77b83c0bf8 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1053,6 +1053,7 @@ int arch_set_info_guest(
     struct vcpu *v, vcpu_guest_context_u c)
 {
     struct domain *d = v->domain;
+    const struct cpu_policy *p = d->arch.cpu_policy;
     unsigned int i;
     unsigned long flags;
     bool compat;
@@ -1186,8 +1187,8 @@ int arch_set_info_guest(
     {
         for ( i = 0; i < ARRAY_SIZE(v->arch.dr); ++i )
             v->arch.dr[i] = c(debugreg[i]);
-        v->arch.dr6 = c(debugreg[6]);
-        v->arch.dr7 = c(debugreg[7]);
+        v->arch.dr6 = x86_adj_dr6_rsvd(p, c(debugreg[6]));
+        v->arch.dr7 = x86_adj_dr7_rsvd(p, c(debugreg[7]));
 
         if ( v->vcpu_id == 0 )
             d->vm_assist = c.nat->vm_assist;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3dc2019eca67..482eebbabf7f 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -33,6 +33,7 @@
 #include <asm/shadow.h>
 #include <asm/hap.h>
 #include <asm/current.h>
+#include <asm/debugreg.h>
 #include <asm/e820.h>
 #include <asm/io.h>
 #include <asm/regs.h>
@@ -985,6 +986,7 @@ unsigned long hvm_cr4_guest_valid_bits(const struct domain *d)
 
 static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
 {
+    const struct cpu_policy *p = d->arch.cpu_policy;
     unsigned int vcpuid = hvm_load_instance(h);
     struct vcpu *v;
     struct hvm_hw_cpu ctxt;
@@ -1174,8 +1176,8 @@ static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     v->arch.dr[1] = ctxt.dr1;
     v->arch.dr[2] = ctxt.dr2;
     v->arch.dr[3] = ctxt.dr3;
-    v->arch.dr6   = ctxt.dr6;
-    v->arch.dr7   = ctxt.dr7;
+    v->arch.dr6   = x86_adj_dr6_rsvd(p, ctxt.dr6);
+    v->arch.dr7   = x86_adj_dr7_rsvd(p, ctxt.dr7);
 
     hvmemul_cancel(v);
 
diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 673b81ec5eda..bdeedc4c4c99 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -1,6 +1,7 @@
 #ifndef _X86_DEBUGREG_H
 #define _X86_DEBUGREG_H
 
+#include <asm/x86-defns.h>
 
 /* Indicate the register numbers for a number of the specific
    debug registers.  Registers 0-3 contain the addresses we wish to trap on */
@@ -21,7 +22,6 @@
 #define DR_STEP         (0x4000)        /* single-step */
 #define DR_SWITCH       (0x8000)        /* task switch */
 #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
-#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
 #define DR_STATUS_RESERVED_ONE  0xffff0ff0UL /* Reserved, read as one */
 
 /* Now define a bunch of things for manipulating the control register.
@@ -61,8 +61,6 @@
    We can slow the instruction pipeline for instructions coming via the
    gdt or the ldt if we want to.  I am not sure why this is an advantage */
 
-#define DR_CONTROL_RESERVED_ZERO (~0xffff27ffUL) /* Reserved, read as zero */
-#define DR_CONTROL_RESERVED_ONE  (0x00000400UL) /* Reserved, read as one */
 #define DR_LOCAL_EXACT_ENABLE    (0x00000100UL) /* Local exact enable */
 #define DR_GLOBAL_EXACT_ENABLE   (0x00000200UL) /* Global exact enable */
 #define DR_RTM_ENABLE            (0x00000800UL) /* RTM debugging enable */
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index e350227e57eb..74fb0322cb84 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -102,13 +102,30 @@
 
 /*
  * Debug status flags in DR6.
+ *
+ * For backwards compatibility, status flags which overlap with
+ * X86_DR6_DEFAULT have inverted polarity.
  */
-#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
+#define X86_DR6_B0              (_AC(1, UL) <<  0)   /* Breakpoint 0                */
+#define X86_DR6_B1              (_AC(1, UL) <<  1)   /* Breakpoint 1                */
+#define X86_DR6_B2              (_AC(1, UL) <<  2)   /* Breakpoint 2                */
+#define X86_DR6_B3              (_AC(1, UL) <<  3)   /* Breakpoint 3                */
+#define X86_DR6_BLD             (_AC(1, UL) << 11)   /* BusLock detect (INV)        */
+#define X86_DR6_BD              (_AC(1, UL) << 13)   /* %dr access                  */
+#define X86_DR6_BS              (_AC(1, UL) << 14)   /* Single step                 */
+#define X86_DR6_BT              (_AC(1, UL) << 15)   /* Task switch                 */
+#define X86_DR6_RTM             (_AC(1, UL) << 16)   /* #DB/#BP in RTM region (INV) */
+
+#define X86_DR6_ZEROS           _AC(0x00010000, UL)  /* %dr6 bits forced to 0       */
+#define X86_DR6_DEFAULT         _AC(0xffff0ff0, UL)  /* Default %dr6 value          */
 
 /*
  * Debug control flags in DR7.
  */
-#define X86_DR7_DEFAULT         0x00000400  /* Default %dr7 value. */
+#define X86_DR7_RTM             (_AC(1, UL) << 11)   /* RTM debugging enable        */
+
+#define X86_DR7_ZEROS           _AC(0x0000d000, UL)  /* %dr7 bits forced to 0       */
+#define X86_DR7_DEFAULT         _AC(0x00000400, UL)  /* Default %dr7 value          */
 
 /*
  * Invalidation types for the INVPCID instruction.
diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index b11bd718b7de..99f502812868 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -56,6 +56,7 @@ long do_fpu_taskswitch(int set)
 long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
 {
     struct vcpu *curr = current;
+    const struct cpu_policy *p = curr->domain->arch.cpu_policy;
 
     switch ( reg )
     {
@@ -86,12 +87,7 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR6: Bits 4-11,16-31 reserved (set to 1).
-         *      Bit 12 reserved (set to 0).
-         */
-        value &= ~DR_STATUS_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_STATUS_RESERVED_ONE;  /* reserved bits => 1 */
+        value = x86_adj_dr6_rsvd(p, value);
 
         v->arch.dr6 = value;
         if ( v == curr )
@@ -108,12 +104,8 @@ long set_debugreg(struct vcpu *v, unsigned int reg, unsigned long value)
         if ( value != (uint32_t)value )
             return -EINVAL;
 
-        /*
-         * DR7: Bit 10 reserved (set to 1).
-         *      Bits 11-12,14-15 reserved (set to 0).
-         */
-        value &= ~DR_CONTROL_RESERVED_ZERO; /* reserved bits => 0 */
-        value |=  DR_CONTROL_RESERVED_ONE;  /* reserved bits => 1 */
+        value = x86_adj_dr7_rsvd(p, value);
+
         /*
          * Privileged bits:
          *      GD (bit 13): must be 0.
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 50fda581f2df..6b6ce2745cfe 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -223,6 +223,7 @@ XEN_CPUFEATURE(AVX512_VNNI,   6*32+11) /*A  Vector Neural Network Instrs */
 XEN_CPUFEATURE(AVX512_BITALG, 6*32+12) /*A  Support for VPOPCNT[B,W] and VPSHUFBITQMB */
 XEN_CPUFEATURE(AVX512_VPOPCNTDQ, 6*32+14) /*A  POPCNT for vectors of DW/QW */
 XEN_CPUFEATURE(RDPID,         6*32+22) /*A  RDPID instruction */
+XEN_CPUFEATURE(BLD,           6*32+24) /*   BusLock Detect (#DB trap) support */
 XEN_CPUFEATURE(CLDEMOTE,      6*32+25) /*A  CLDEMOTE instruction */
 XEN_CPUFEATURE(MOVDIRI,       6*32+27) /*a  MOVDIRI instruction */
 XEN_CPUFEATURE(MOVDIR64B,     6*32+28) /*a  MOVDIR64B instruction */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:44:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592243.924937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaz0o-0005nd-U0; Tue, 29 Aug 2023 13:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592243.924937; Tue, 29 Aug 2023 13: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 1qaz0o-0005nL-QG; Tue, 29 Aug 2023 13:44:06 +0000
Received: by outflank-mailman (input) for mailman id 592243;
 Tue, 29 Aug 2023 13: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qaz0n-0004TH-SU
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:44:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1da2c62d-4672-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:44:03 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB8016.eurprd04.prod.outlook.com (2603:10a6:102:cb::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:44:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:44: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: 1da2c62d-4672-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fADXHw09g4fvwGl77vC5dKOMUKagUk9vXecZnpwwxOPovzDot872k4hKcaeMBYA55hGGfu3q+CKm2ZxWV05GqrKW4Arx2f/svb3jMOMvmciOJJQmtC8UE7tAw24xh9JvnVzXcWautuo3MYIIMvTl1xFTl7Eflb0HfumS55WjIfME+VtJ5w9YGJ6HEt1W7zN1goM9J6biREMkC9q9oHlNQvrn337S0+LuD4AfLhoJx+al4J7ebleyWwZ8Q39tkC8pFAryURtnoms1ixtYAlSkiqYz5AvG9EokRh3DCOqDh+yARu/MUMhCVf+f+YX9gBEfYUBECWbIz4pYzMz41BqjFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AoXXWUlVS2d4Iiw7y+yEjRosJH3R8CJunVfjrBiz/R4=;
 b=NJiGAsPJEuLdALMvOEH+8CNhgJpwAeYK1s4Yu+4BhKfcY03W/lmLCgwcfPb6CzYLNKlLWNmf0dykVGrF1/Jjl1ln0T4U1gdnP8A7yQ0KHUrlJGgNgr46n+6dX802YLBAJQn+YWFzyxEdKXzBtPm4s3rcO47zxuFq8E+a2GZ08kYqH10vg4BY6lmh3n1dYJqM/mbxOZvYYs7Is/VRalXU5IFQsy10shMF1gxQ+i+kBTm2gC0DnFjSacY3qleJbmc0VF6zvhSg+FlxhoFusUecfaGaaFa6+c3txDRgN8vpUYj2YYTX0JWQ61KVB7vsPmIWAZQ6bhUY+ceDH5injeo7TA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AoXXWUlVS2d4Iiw7y+yEjRosJH3R8CJunVfjrBiz/R4=;
 b=WgYWpFbMA02yTJK300WHX+qVGLodJCmLyXNEz6a9wbAcsrs8sFkYPEKg1Zj8IrWEXkVl4gCEr03Kot34ay4c00rxU7QzEEv6a8AtDZQf4dKLAz1Q918jGwIwjDiABhkJQXjYLXxyN37xweFe+0bZ8VGhyCIIeE0qAagx9+GWnLL0fxcF1NWNez/QoeqV2pkjcVeoHlJkVstmKksZQ8DmSJji7/RitqlaTIrq6qKFQwU1PJTOCqL4EIxvyHpSTFTXfjtmzzW09AwBKM83pZS3SCSQ9F/nD0pw104nz5LNNWJl7lDkXrsM7Xg5K23DgIJ6N5bPAzCrr0fm8BxduQcMOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <257cd320-fe81-f1be-f3e5-ef43e539660a@suse.com>
Date: Tue, 29 Aug 2023 15:43:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] xen/ppc: Implement atomic.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <6d97bdeb1c114026105e72c6ee6e1b024565bf95.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6d97bdeb1c114026105e72c6ee6e1b024565bf95.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB8016:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bd331ff-ab28-4f87-6a62-08dba896007e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uE2HC9VVLrlAlwrRKsjhDIEm+GdDbC2brnPOQy0ZjiQLGgMYm19G7zylCgFgQQFJm3bePnFcn7AVyim7bAbKbLqpQkJFtVXjX3qN8/eqtat30UKJI7BV5gvzQVXElboy0JpPLaudiWSbz3KVcdxPokULF3/MPRkd9DgcqK0upctky5gasTQ59+/VriRHB9KZ+Kjjm+r51/McC/2JuK2Z8pzFf9B99nvRhaRTX4Y806zePvD9FwQMOaZv2g1ILoh/FlFUUzAretorZTcWH6EAm4rtZAJAwb9Isn0g92mmcKeTeUcfljW1VP/IDba/nqnPzbsbk5/Cevav6CRWH/ONhcbvZa357AKsTEVbiyXgUl+72x+ldZasBSRXA4cqqRpMYI1mW3OR8zM/XcL04BFLjAFjGIsKA8F7PHGb6aCEgxgbRHCh8WnP3MbZgsvjRVXi+0E0hNgtdMRCvFMdUe9ujo7N1kod/16IIT/Ojjiew6SEeFA/e69j7y5sfGEe2ZbuKHbD3roGp54nsB0k0p/Le7cTOk+tjYL5u/vfY0JJrMd5FmqiyBrpqzyueepVBztVXF419tI59JOIqRMEcd2v+0IiOS7VqvX5F+KA0epaLR1fqpUbizJpr5h35ReQJuwTb412denIDKIr3I0Dham/xL69b/QtknkE3j8v/xyRx0s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(66946007)(53546011)(31686004)(478600001)(6506007)(66476007)(66556008)(6486002)(6916009)(316002)(38100700002)(41300700001)(6512007)(36756003)(26005)(8676002)(5660300002)(31696002)(83380400001)(2906002)(86362001)(2616005)(4326008)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?am5JQm9RU2FhYmFvTngzdGJqSFR1VWdpdzVrZ2VELzhldlpuN2FlcStpcjNu?=
 =?utf-8?B?ekkvbjlNdGpSd0FPMSt5K0J5aUUzUXVOWVFpejNNZXp2NUcydEdFVXlGazVh?=
 =?utf-8?B?QkdUV1F2dUhmdG1GSVNpUVpkd1k5dW9mbEs3cDlNWnZ3TWNEdXJNMmZkSmZ1?=
 =?utf-8?B?VDY1Q0cwa0xic25BYWhlYkVDcDJFYW90TDNFTEJQS2JFMzlJNGFWUEdRS2Fx?=
 =?utf-8?B?UStERk5DUlVuNlZMeFN0RjBwdHVNREs0RVhhQnJpVURneS9QVEpTcDJFT3RT?=
 =?utf-8?B?M1BydTFlZ0hsQ2JRWlZDVHJzZzM3WHNLbWpkNlZHcUtVT25GSi9PbXpTdEhx?=
 =?utf-8?B?RkhlMzZRcUh0WHBucUZobjgwMTVxUVNUZnBWWFA4TXN2MkxKWXVVcllpY2o4?=
 =?utf-8?B?VWFWVWdSa2Q1Z2pYaHM4STZsa3QvSVhaRnFwOTQxa2grbzQ5Y1hSVW9HRkZV?=
 =?utf-8?B?RGxjVnVhbE1udWN0L1k0VXZaczRzMmZPZCtPN0lzTHg1VGxwNDZvZUFPaDRo?=
 =?utf-8?B?NEs1aHB2eG9GRHBCek5LSWhUT2tKUHcxV0orOS9Na1dlU1pTaEVmNHMrbk9L?=
 =?utf-8?B?V3l6L1E3d2ZXZXAyc1UzMEd2RmdGZDFkR1ZVa0d2bnNScHhGZWFLckJrZnVm?=
 =?utf-8?B?Ynh1N0EvekZzd0dhU04zYXJ4dUJkSkFqSGswR2RCdWY5eUNxUThWVnJBd2l2?=
 =?utf-8?B?RXMvUDdJWFhBZlhZeXBvakszM1piSFlHK1d6a0NoY0JFWlNTZ2tjdTRRbHZv?=
 =?utf-8?B?UXhMYTRqeU96R3NhQSt5TW1IMU5vbVhWZnhaVVQ4aGlKSTZncWhEVVhySHV1?=
 =?utf-8?B?bmd0YXZKZjRJSzZWWG5Iekd1ZkQxTG82Z2twS3p5eE9DWTlrR3J3L0JmRG1M?=
 =?utf-8?B?YTdtdkdIUjZteDN0TFg5bHIvL0NaTEZOcFF6VDI5amp6cWhOcTBUWDkwazhk?=
 =?utf-8?B?M0VERHVTRVZuOTVNRUtPMVlVNWNueGlVWCtESE5qNzdZK1p5dElPUGVMWmx6?=
 =?utf-8?B?YzNVdVhrSUFVUFZ0NUt0Q2NhNUZ6UW42WGpTZUZkTmRQWkQxRlpqbldYU2kx?=
 =?utf-8?B?YzdnVXJmb2puS2lJcE0rcVdaVkNIWE80dDE4OFY1WXZSR3Q1cFJJVDl6M0wv?=
 =?utf-8?B?b3pMeFFyeUxWVGgwY3d3T1lhRnk2bGFVWTc0WW5wWVJPN29xNkdZeGFoQmpZ?=
 =?utf-8?B?cS81YTRiZktDdEJIdmxoV01JdERUbHNxN2hwOGdVWDRRanBnVmdhNTJyOTJi?=
 =?utf-8?B?L1lvTnJqSi9rRmlLM3JiODF1dWRtWUYxNytwZDJtbm1Jck8veUNOc0RBbGc5?=
 =?utf-8?B?WFk1WmRwQUQxeHB5ZXY5L01QeWtKNllwaG9zRGNHcnp1K3ZadnVOMnlpS2gy?=
 =?utf-8?B?RENBZnlDU0ZtVjVMYytVcHAvbUFpL0E1WS94ZnI0ZHBIK0Q4UVpucnZpdEZE?=
 =?utf-8?B?a3llb2xlY0hPei9jTUpGTFE4c2lyZVFzRzZxc1Y3MERaTnRmelpvMzNlSTZJ?=
 =?utf-8?B?R3hCY0RPUHFwcWVUbS9PYWRZSzY0U0h0KzNyT2Z1TE0zV2JhWlJBWnF1Y3Jo?=
 =?utf-8?B?cjk5WkF2TVkzRDNCSTMwQjVrd0h5S21udG1lZW40eE5waFB0NlZUZVhNUCtN?=
 =?utf-8?B?dVZISHBNc3RiWFNIdkxVMTQ0SDhyTnk3bG44MGt5ZExnME5VTDhWTjBLdnBH?=
 =?utf-8?B?VlJ2MHB5RE41N3BYRWovZDY1TXdJbFNmNEdwU1BzQSs0TVJmYlhVVGVPa1dI?=
 =?utf-8?B?OVZtQjFTUlMrWTRoN1haSVNQeE9mb0twSFBxcmFhcUxpSENyc29jTGhmYSt0?=
 =?utf-8?B?czM3OHl3dGE3Z0lic3J5WE5rdVYvSzR2WW1odUI0c1psQTZtZzNLQmU1Yk1r?=
 =?utf-8?B?NTZTYXhBbUxOTUI5NTN1dDJybVdPS1djaXVZdGRZTitIamlKakJNSFUzQUN2?=
 =?utf-8?B?UUVmck9Ba1FXQmtQaGRodW8wQU5aNzFwd211aWxuTVJodzh3Z0xsYmNtVlNO?=
 =?utf-8?B?TjFYcStRL2YwRElTdTFROS81NGU4NSs1bE9PdVRNaUhsMkJLWWp0aEwzUGZL?=
 =?utf-8?B?UHlURWdVN1RHaEhxc1lyaHZPbGcrQkNWaFNtb3NiL3hBY0tqa3k1eS9RZExX?=
 =?utf-8?Q?SSwpkPsDUVa03Pkrc8x6QjYli?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bd331ff-ab28-4f87-6a62-08dba896007e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:44:01.1045
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bpMqHOQzPv7qJC0vgbRA8YR+Utx+xFP3BU3CQx2yKjGttWwxylmSXelMq9UO2oqFQO7CRtIDXLD7QeuRhEUMdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8016

On 23.08.2023 22:07, Shawn Anastasio wrote:
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/atomic.h
> @@ -0,0 +1,390 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * PowerPC64 atomic operations
> + *
> + * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
> + * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
> + * Copyright Raptor Engineering LLC
> + *
> + * 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.
> + */

License text again despite the SPDX header?

> +#ifndef _ASM_PPC64_ATOMIC_H_
> +#define _ASM_PPC64_ATOMIC_H_
> +
> +#include <xen/atomic.h>
> +
> +#include <asm/memory.h>
> +#include <asm/system.h>

I can see that you need memory.h, but I can't spot a need for system.h.

> +static inline int atomic_read(const atomic_t *v)
> +{
> +    return *(volatile int *)&v->counter;
> +}
> +
> +static inline int _atomic_read(atomic_t v)
> +{
> +    return v.counter;
> +}
> +
> +static inline void atomic_set(atomic_t *v, int i)
> +{
> +    v->counter = i;
> +}
> +
> +static inline void _atomic_set(atomic_t *v, int i)
> +{
> +    v->counter = i;
> +}
> +
> +void __bad_atomic_read(const volatile void *p, void *res);
> +void __bad_atomic_size(void);
> +
> +#define build_atomic_read(name, insn, type)                                    \
> +    static inline type name(const volatile type *addr)                         \
> +    {                                                                          \
> +        type ret;                                                              \
> +        asm volatile ( insn "%U1%X1 %0,%1" : "=r" (ret) : "m<>" (*addr) );     \
> +        return ret;                                                            \
> +    }
> +
> +#define build_atomic_write(name, insn, type)                                   \
> +    static inline void name(volatile type *addr, type val)                     \
> +    {                                                                          \
> +        asm volatile ( insn "%U0%X0 %1,%0" : "=m<>" (*addr) : "r" (val) );     \
> +    }
> +
> +#define build_add_sized(name, ldinsn, stinsn, type)                            \
> +    static inline void name(volatile type *addr, type val)                     \
> +    {                                                                          \
> +        type t;                                                                \
> +        asm volatile ( "1: " ldinsn " %0,0,%3\n"                               \
> +                       "add%I2 %0,%0,%2\n"                                     \
> +                       stinsn " %0,0,%3 \n"                                    \
> +                       "bne- 1b\n"                                             \
> +                       : "=&r" (t), "+m" (*addr)                               \
> +                       : "r" (val), "r" (addr)                                 \
> +                       : "cc" );                                               \
> +    }
> +
> +build_atomic_read(read_u8_atomic, "lbz", uint8_t)
> +build_atomic_read(read_u16_atomic, "lhz", uint16_t)
> +build_atomic_read(read_u32_atomic, "lwz", uint32_t)
> +build_atomic_read(read_u64_atomic, "ldz", uint64_t)
> +
> +build_atomic_write(write_u8_atomic, "stb", uint8_t)
> +build_atomic_write(write_u16_atomic, "sth", uint16_t)
> +build_atomic_write(write_u32_atomic, "stw", uint32_t)
> +build_atomic_write(write_u64_atomic, "std", uint64_t)
> +
> +build_add_sized(add_u8_sized, "lbarx", "stbcx.",uint8_t)
> +build_add_sized(add_u16_sized, "lharx", "sthcx.", uint16_t)
> +build_add_sized(add_u32_sized, "lwarx", "stwcx.", uint32_t)
> +
> +#undef build_atomic_read
> +#undef build_atomic_write
> +#undef build_add_sized
> +
> +static always_inline void read_atomic_size(const volatile void *p, void *res,
> +                                           unsigned int size)
> +{
> +    ASSERT(IS_ALIGNED((vaddr_t) p, size));

Nit: Stray blank before p (several more below).

> +    switch ( size )
> +    {
> +    case 1:
> +        *(uint8_t *)res = read_u8_atomic(p);
> +        break;
> +    case 2:
> +        *(uint16_t *)res = read_u16_atomic(p);
> +        break;
> +    case 4:
> +        *(uint32_t *)res = read_u32_atomic(p);
> +        break;
> +    case 8:
> +        *(uint64_t *)res = read_u64_atomic(p);
> +        break;
> +    default:
> +        __bad_atomic_read(p, res);
> +        break;
> +    }
> +}
> +
> +static always_inline void write_atomic_size(volatile void *p, void *val,

const void *val? (But then below also don't cast away constness.)

> +                                            unsigned int size)
> +{
> +    ASSERT(IS_ALIGNED((vaddr_t) p, size));
> +    switch ( size )
> +    {
> +    case 1:
> +        write_u8_atomic(p, *(uint8_t *)val);
> +        break;
> +    case 2:
> +        write_u16_atomic(p, *(uint16_t *)val);
> +        break;
> +    case 4:
> +        write_u32_atomic(p, *(uint32_t *)val);
> +        break;
> +    case 8:
> +        write_u64_atomic(p, *(uint64_t *)val);
> +        break;
> +    default:
> +        __bad_atomic_size();
> +        break;
> +    }
> +}
> +
> +#define read_atomic(p)                                                         \
> +    ({                                                                         \
> +        union {                                                                \
> +            typeof(*(p)) val;                                                  \
> +            char c[0];                                                         \

Using [0] here is likely to set us up for compiler complaints ...

> +        } x_;                                                                  \
> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \

... here. Can't this simply be c[sizeof(*(val))]? And do you need
a union here in the first place, when read_atomic() takes void* as
its 2nd parameter?

> +        x_.val;                                                                \
> +    })
> +
> +#define write_atomic(p, x)                                                     \
> +    do                                                                         \
> +    {                                                                          \
> +        typeof(*(p)) x_ = (x);                                                 \
> +        write_atomic_size(p, &x_, sizeof(*(p)));                               \
> +    } while ( 0 )
> +
> +#define add_sized(p, x)                                                        \
> +    ({                                                                         \
> +        typeof(*(p)) x_ = (x);                                                \
> +        switch ( sizeof(*(p)) )                                                \
> +        {                                                                      \
> +        case 1:                                                                \
> +            add_u8_sized((uint8_t *) (p), x_);                                \
> +            break;                                                             \
> +        case 2:                                                                \
> +            add_u16_sized((uint16_t *) (p), x_);                              \
> +            break;                                                             \
> +        case 4:                                                                \
> +            add_u32_sized((uint32_t *) (p), x_);                              \
> +            break;                                                             \
> +        default:                                                               \
> +            __bad_atomic_size();                                               \
> +            break;                                                             \
> +        }                                                                      \
> +    })

Nit: Padding wants to align the backslashes.

> +static inline void atomic_add(int a, atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( "1: lwarx %0,0,%3\n"
> +                   "add %0,%2,%0\n"
> +                   "stwcx. %0,0,%3\n"
> +                   "bne- 1b"
> +                   : "=&r" (t), "+m" (v->counter)

I notice you use "+m" here, but ...

> +                   : "r" (a), "r" (&v->counter)
> +                   : "cc" );
> +}
> +
> +static inline int atomic_add_return(int a, atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
> +                   "1: lwarx %0,0,%2\n"
> +                   "add %0,%1,%0\n"
> +                   "stwcx. %0,0,%2\n"
> +                   "bne- 1b"
> +                   PPC_ATOMIC_EXIT_BARRIER
> +                   : "=&r" (t)
> +                   : "r" (a), "r" (&v->counter)
> +                   : "cc", "memory" );
> +
> +    return t;
> +}
> +
> +static inline void atomic_sub(int a, atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( "1: lwarx %0,0,%3\n"
> +                   "subf %0,%2,%0\n"
> +                   "stwcx. %0,0,%3\n"
> +                   "bne- 1b"
> +                   : "=&r" (t), "=m" (v->counter)
> +                   : "r" (a), "r" (&v->counter), "m" (v->counter)

... why not here (and again below)?

> +                   : "cc" );
> +}
> +
> +static inline int atomic_sub_return(int a, atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
> +                   "1: lwarx %0,0,%2\n"
> +                   "subf %0,%1,%0\n"
> +                   "stwcx. %0,0,%2\n"
> +                   "bne- 1b"
> +                   PPC_ATOMIC_EXIT_BARRIER
> +                   : "=&r" (t)
> +                   : "r" (a), "r" (&v->counter)
> +                   : "cc", "memory" );
> +
> +    return t;
> +}
> +
> +static inline void atomic_inc(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( "1: lwarx %0,0,%2\n"
> +                   "addic %0,%0,1\n"
> +                   "stwcx. %0,0,%2\n"
> +                   "bne- 1b"
> +                   : "=&r" (t), "=m" (v->counter)
> +                   : "r" (&v->counter), "m" (v->counter)
> +                   : "cc" );
> +}
> +
> +static inline int atomic_inc_return(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
> +                   "1: lwarx %0,0,%1\n"
> +                   "addic %0,%0,1\n"
> +                   "stwcx. %0,0,%1\n"
> +                   "bne- 1b"
> +                   PPC_ATOMIC_EXIT_BARRIER
> +                   : "=&r" (t)
> +                   : "r" (&v->counter)
> +                   : "cc", "memory" );
> +
> +    return t;
> +}
> +
> +static inline void atomic_dec(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( "1: lwarx %0,0,%2\n"
> +                   "addic %0,%0,-1\n"
> +                   "stwcx. %0,0,%2\n"
> +                   "bne- 1b"
> +                   : "=&r" (t), "=m" (v->counter)
> +                   : "r" (&v->counter), "m" (v->counter)
> +                   : "cc" );
> +}
> +
> +static inline int atomic_dec_return(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
> +                   "1: lwarx %0,0,%1\n"
> +                   "addic %0,%0,-1\n"
> +                   "stwcx. %0,0,%1\n"
> +                   "bne- 1b"
> +                   PPC_ATOMIC_EXIT_BARRIER
> +                   : "=&r" (t)
> +                   : "r" (&v->counter)
> +                   : "cc", "memory" );
> +
> +    return t;
> +}
> +
> +/*
> + * Atomically test *v and decrement if it is greater than 0.
> + * The function returns the old value of *v minus 1.
> + */
> +static inline int atomic_dec_if_positive(atomic_t *v)
> +{
> +    int t;
> +
> +    asm volatile( PPC_ATOMIC_ENTRY_BARRIER
> +                  "1: lwarx %0,0,%1 # atomic_dec_if_positive\n"
> +                  "addic. %0,%0,-1\n"
> +                  "blt- 2f\n"
> +                  "stwcx. %0,0,%1\n"
> +                  "bne- 1b\n"
> +                  PPC_ATOMIC_EXIT_BARRIER
> +                  "2:"
> +                  : "=&r" (t)
> +                  : "r" (&v->counter)
> +                  : "cc", "memory" );
> +
> +    return t;
> +}
> +
> +static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
> +                                             atomic_t *v)
> +{
> +    atomic_t rc;
> +    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
> +    return rc;
> +}
> +
> +#define arch_cmpxchg(ptr, o, n)                                                \
> +    ({                                                                         \
> +        __typeof__(*(ptr)) o_ = (o);                                          \
> +        __typeof__(*(ptr)) n_ = (n);                                          \
> +        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) o_,             \
> +                                       (unsigned long) n_, sizeof(*(ptr)));   \
> +    })

Nit: Padding again.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 13:59:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 13:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592275.924946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazFO-00008a-8M; Tue, 29 Aug 2023 13:59:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592275.924946; Tue, 29 Aug 2023 13:59:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazFO-00008T-5a; Tue, 29 Aug 2023 13:59:10 +0000
Received: by outflank-mailman (input) for mailman id 592275;
 Tue, 29 Aug 2023 13:59:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qazFM-00008N-VR
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 13:59:09 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37ca4c8d-4674-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 15:59:06 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9674.eurprd04.prod.outlook.com (2603:10a6:10:306::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 13:59:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 13:59:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37ca4c8d-4674-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eS/xSq/N+PlKrEKGqBuKTpvfQISgSd9AHj6wvO1eoGXDK302U3gdd6p6mK3APJQwx0+JzQ3SGQtpMLhjvqjw2AllWRObzRCqjYfgsyetp3Yf3IBTuSBSsQbBomnwfw2ZBGXn8Y15DcbIyzl4SGqmaFU6HLLTNPagLkQQ+aD453fE5y5cN10jZMXpiyiHWajzsXyTTIvKGb4xMplu+8g+NwtXD0WRbVKnox8wtsHY6OdAtEHRYLh4VCAmxnLH/Vb3+P52HrbakL1/eUyqynrp4zPkUpPiMHujl1YXaqOG6O/wzesd0CWN4JI1THaGDKvDWOyF+TlnTMtkzXRuLMaBNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m9PtzEkBtpU7v0tqSiGeA8L6JHWl6y7ZYZ9DwbwhSQY=;
 b=jsm+PfrtATWKhtP9mH4GmO+CI+EiPKjbJ1bWa+biuvRRcJ0QQCiDJRiffDtUbMPG53fZZre89xXPz4y2883vXlq/xR35OuXnUqXa+jMY8KpZdPalGwnsvVHgHYOQpxaOvHAL26lqZFUROHjKbOlBcgjlqtkzCG5SGaQMoOJQGo8TzW/Mwr1XcmvLfzQab0BLydlw4Wo3OXjxtmQf5wOxNxPV6YEt1GE4i9nrPDfCMJOT3Snts9CIHwVe8vCu5tBoDP9sdNr0FjRQKnpka3MnQhILj0D/4qcahdmRCV+UrujRdgTuAvHUPM2PmhxWLYfuMMg2PPrN32uxaXfHVAbIXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m9PtzEkBtpU7v0tqSiGeA8L6JHWl6y7ZYZ9DwbwhSQY=;
 b=SrheaUFVZ7L8PWjbD0wIJIpYiobhNzU08MPTYc4fVljN/ViFFAjeUoJLMQwgxYFJfx1ItoWBGfL9HeMmW8j4UVn1sFpfz+ggrU2GvUJ3lq/gyfDLka2TU6Exn83MksmWhHwnT40CufFOoVkvv+wfWyfShrssmBZKD7saM4j/4XJpcp7lo0mRDmcyoIcL7A3iGp2oQBKfthsT/PZiXOPyS/B5AdLFILIZ5D+8Rci5/mYd85jSSQ15R3n2GjGo0LS6QT6qRCfmzVsW3aoEyPxpy+xarzfkYPPXOFHSuUp+oIWjhqjzZLKl2wSTm4ivZdIB50mkn/QCJusS5nT+t+zuzg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <11f73889-2059-1d6d-6498-1f1907afabaa@suse.com>
Date: Tue, 29 Aug 2023 15:59:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 4/8] xen/ppc: Implement bitops.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <583ed0d715aa70e777e7aa62a287acafc52d5a24.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <583ed0d715aa70e777e7aa62a287acafc52d5a24.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9674:EE_
X-MS-Office365-Filtering-Correlation-Id: f56a67cd-18b9-4945-7083-08dba8981ab3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i9y8ngKY//64NMPKzKUz2Pwh/z2xB4eWqH4F53mEboarJpzq+d7qz5jvQy4fPs18gVVRsjstNT5+eCbBZawrzbthl5XfF2AI21ya2Tvu3HvFeVqVwQiYN1DDw84xINo6EvElIkDKRYlLK9LUUmZTrzBXoAs/X96TA5Dzauid8DmvherCwqZRWo2Oy1Z6lJjbS4OPgKtvLAPItysqpJb3r1oDBZc6NBWvSeCZ4prRX+ZkcQ+wBTBDhcdfo77KxPeP6L4PqsDzAYZ45Ru/A74xv4En2jd9ugogU0KbjXK4eDsj+EHV4jI63AoA4ATcDFM+p9r9SAOQM2OsMkHjPISvzvN23yqBNzEtIYXeruEyBCi106rPjpfsgOJpHjQllHMRBdpyk4xGXLtdn6p+rad3Xv3GX+AEPSK5FwFgatTzqUJ3CZ/0LdvfFGQhFpmpoi84hhUWemcC0VmR/namkH37WjLs03P7CHOmNGCDjwl6UBjB+IGzRdxmPYkn6Npoj/U+04Uvv20vpOL/pJf8+vnrrDMr7SvmZUMChtbZ+YYVHqKJomeW5j3ApatFq8mvAVCVauPbVzvOK9rOyKahs9h0RLAOz9lDhVq7Spm7I11khpyN0xLkXgmpuTngZmEnwuHbrxgU+F2//PvMxnaJsT3ilA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(366004)(376002)(136003)(186009)(1800799009)(451199024)(2906002)(5660300002)(38100700002)(8676002)(4326008)(8936002)(36756003)(31696002)(86362001)(31686004)(26005)(478600001)(2616005)(6506007)(6486002)(6666004)(6512007)(83380400001)(66946007)(41300700001)(66476007)(66556008)(53546011)(6916009)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEhlTHZRVk8xMEtSYXBWM1d6SW9aMzBDRGtxZ3hKY0FEbURBVzFIZjJyajlz?=
 =?utf-8?B?NnFGWUlNNWpsZjVSeGFBaE5kNlM0bkVGMysvYmFoaHpBRjNTaUZmdm1GK21N?=
 =?utf-8?B?YUZRbnFqV3o1VnU0bVBvQnU2VUg0cGt6aHRQTUhYbUU2YWxlbklEckFUNm9q?=
 =?utf-8?B?QkFkSVBnc24yajV6a1JCK2NORHc4ZlhhQndlTHlaU3dySHEzTTYra1d5QmM3?=
 =?utf-8?B?eTVBdzhmc1JZWWs4ZU04RDg1NWFjM21kVE1vWUpmN21ZWWEzQ09MaE91RzVI?=
 =?utf-8?B?bHY0NkNpK0ZpUlRxc0MxM1N0L3pjVzNYVDRNbExLVFppUXdxYXVGTjByV2ZK?=
 =?utf-8?B?YkhBZ0pLVDhoalB4NDNKMGRnZFdtV2kzSFY1a21QS3hCOEZSWDlFbGZoU0Ry?=
 =?utf-8?B?bHJuaGVmU0VJREtta0J3TXl4ek5xVE1oVk4yQU16WHllZlNwaTM1TERvL2xN?=
 =?utf-8?B?MWhpZkw0NTR1cG81WmIxaUJyRXFSRlNGbjhDUlNtYVF4Nk5xWlJtTHBpQXBH?=
 =?utf-8?B?emJQK3BFRzhpb2xHVnE3czFhUlkzWDMwUHliejI4bDhUZUtpcy9zNkxjNjlK?=
 =?utf-8?B?NWUzWU9UYk9vQTdzakQxZnpyNXlkUUtGck9HWG1LODlGcFJ1M2pqcVUrQkND?=
 =?utf-8?B?ajBzc051ZGdnczI5c052V2ZGd3dmTmVMNW9zWmMwaFFqWjlzZ1I2ZnU2elhn?=
 =?utf-8?B?cUFpL3FRSTdtY0pxWVdhZ01LcFdOVmhjSnFBa3VqRHNNOU9LU004RC9MSFJX?=
 =?utf-8?B?R0R0dFBPV09BWVQ4QkE0WWlNTkdQMVFHZE1oQWFRODU4dlBEcGlDRmo0V1dU?=
 =?utf-8?B?ZEVtb1daSUtVQktsUFRsbEZrNkFPMWFBdER5Qk1WdzA2cXVBeG1iMVQyR0Nk?=
 =?utf-8?B?bGNBbkFWR01WcFZ2Y3pER2RuaVJCNnY1MmNwd2t6Y3dma20rWEt5bG9sK0lI?=
 =?utf-8?B?QlA2N0R5TXczWDVuRGNPTHAzN1RmZ2dtRExIb3JWZ0R4dXlNMTVXeUxJdVl0?=
 =?utf-8?B?R3B2Z2dqcDgra2wxcE9DOGZYSmVFTWhBU1I2YTU4VWZlOEZpYWFWMk1YNXFX?=
 =?utf-8?B?NmNJaGgvRE1QQUVObjd4eGhEV05TRkhTK0x3Nzh2MWZHbkYwcy85d2hHNlB5?=
 =?utf-8?B?Y200NC9zZlI1MVZieGtPUnZtZlpUd0Z1M2Vvd1psaU95NG1Ib0lpb2IxTHJy?=
 =?utf-8?B?Tkc2S1prM3dlUU8yWWVFeElBSDQyUGZwUERHeXFpT1p3WThUUlc4WG9rR0hl?=
 =?utf-8?B?c1dNeDNGWmxFMUlNL1ZTYnFNa2lrdU9qcEIvYng0QkdHWURvSGZkZS9lOEpH?=
 =?utf-8?B?eWFIcXo3WDZkNnQxWlZGaTcwdDlmbktNK2NmT1JwcTI5RmZYLzUzczNsMDN3?=
 =?utf-8?B?OHdqczRiY2tJSURmT3NjcHhkLzI0TlhRdUhNdDN4VDJYSWRXRTJ6S2ozUDBW?=
 =?utf-8?B?M3NRb3hxRFd4OUJDYytYZWx5Ylg5RHFTZFR4NGJBT0tjNDBvcEtMbURmajNJ?=
 =?utf-8?B?bUhZa2d4enRCMVg0MkNobzBHdVJreWxieU5LK1pxN1pxZ0kzTkZBTXU5QUNu?=
 =?utf-8?B?b2QrLzZUMUN4WFNyR21BaWllK2trRWdqMGdxbTBlVVErTTJ6YlNuQWd6L0JL?=
 =?utf-8?B?VVFkZkg4MlpNN1d6NFZWcUk2QlZPZGxVMXVya0FSMGhGQ1NCTFNkTVBqbUh6?=
 =?utf-8?B?dUNLbjdMNG9ON3BQaGEwOU85UUxHOGdGMWRrMjZIQTJtMGF4RUxmeGZPL0p4?=
 =?utf-8?B?TjBDNXV6QVB3NTNXS3pDcWRZeDROMmlEa28rcHFTc25ybkcva3ozbkNJa0RW?=
 =?utf-8?B?NGhiS0VDY0UvaUlCMjZhdVBpOTZQZFczaHpzZEYyVzlvVWJyMXNEMVh1QXhi?=
 =?utf-8?B?UzFKaHlxQVpYcmMxaGcvNHc5cG9ZM0w3dmNZVTZuMFh1MEtVWlFuUmJkSmRG?=
 =?utf-8?B?TFMxenIyaHhFdkRkOURZY2FXcTRKaXFrdGIyWm05VUlPUkk2cjJRNVl5ZktV?=
 =?utf-8?B?SG9Ld2JTMS83WmJyMHdsWlVmVVcyb1V1UUtOUmpObnhIZFYzUk05MDdMeGQ2?=
 =?utf-8?B?SzlOMDhqZjFacFBGOGwzdFNGbXFkMi94eWl5Kzl4S3dzTnBlbjF3aTVhYWJw?=
 =?utf-8?Q?VEvRqXwb4pvNpfIyVkU3Lb37Z?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f56a67cd-18b9-4945-7083-08dba8981ab3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 13:59:04.0830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7melHqx1xIvrNRrhBMddljFQj03X8+RRB8pzU+X7hYl3UgOpE843Hn8Xg0qVPULSp8Chob3Mwq3eT5+8amLPPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9674

On 23.08.2023 22:07, Shawn Anastasio wrote:
> Implement bitops.h, based on Linux's implementation as of commit
> 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc. Though it is based off of
> Linux's implementation, this code diverges significantly in a number of
> ways:
>   - Bitmap entries changed to 32-bit words to match X86 and Arm on Xen
>   - PPC32-specific code paths dropped
>   - Formatting completely re-done to more closely line up with Xen.
>     Including 4 space indentation.

With this goal, ...

> --- a/xen/arch/ppc/include/asm/bitops.h
> +++ b/xen/arch/ppc/include/asm/bitops.h
> @@ -1,9 +1,335 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Adapted from Linux's arch/powerpc/include/asm/bitops.h.
> + *
> + * Merged version by David Gibson <david@gibson.dropbear.id.au>.
> + * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don
> + * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard.  They
> + * originally took it from the ppc32 code.
> + */
>  #ifndef _ASM_PPC_BITOPS_H
>  #define _ASM_PPC_BITOPS_H
> 
> +#include <asm/memory.h>
> +
> +#define __set_bit(n,p)            set_bit(n,p)
> +#define __clear_bit(n,p)          clear_bit(n,p)

... you want to add blanks after the commas as well. (You might also
simply omit parameters altogether.)

> +#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
> +
>  /* PPC bit number conversion */
> -#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
> -#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
> -#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
> +#define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
> +#define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
> +#define PPC_BITMASK(bs, be)  ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
> +
> +/* Macro for generating the ***_bits() functions */
> +#define DEFINE_BITOP(fn, op, prefix)                                           \
> +static inline void fn(unsigned long mask,                                      \
> +        volatile unsigned int *_p)                                             \

Nit: Style. Either

static inline void fn(unsigned long mask,                                      \
                      volatile unsigned int *_p)                               \

or

static inline void fn(unsigned long mask,                                      \
    volatile unsigned int *_p)                                                 \

. Also there's again an underscore-prefixed identifier here.

> +{                                                                              \
> +    unsigned long old;                                                         \
> +    unsigned int *p = (unsigned int *)_p;                                      \
> +    asm volatile (                                                             \
> +    prefix                                                                     \
> +"1: lwarx %0,0,%3,0\n"                                                         \
> +    #op "%I2 %0,%0,%2\n"                                                       \
> +    "stwcx. %0,0,%3\n"                                                         \
> +    "bne- 1b\n"                                                                \
> +    : "=&r" (old), "+m" (*p)                                                   \
> +    : "rK" (mask), "r" (p)                                                     \
> +    : "cc", "memory");                                                         \

The asm() body wants indenting by another four blanks (more instances below).

> +}
> +
> +DEFINE_BITOP(set_bits, or, "")
> +DEFINE_BITOP(change_bits, xor, "")
> +
> +#define DEFINE_CLROP(fn, prefix)                                               \
> +static inline void fn(unsigned long mask, volatile unsigned int *_p)           \
> +{                                                                              \
> +    unsigned long old;                                                         \
> +    unsigned int *p = (unsigned int *)_p;                                      \
> +    asm volatile (                                                             \
> +    prefix                                                                     \
> +"1: lwarx %0,0,%3,0\n"                                                         \
> +    "andc %0,%0,%2\n"                                                          \
> +    "stwcx. %0,0,%3\n"                                                         \
> +    "bne- 1b\n"                                                                \
> +    : "=&r" (old), "+m" (*p)                                                   \
> +    : "r" (mask), "r" (p)                                                      \
> +    : "cc", "memory");                                                         \
> +}
> +
> +DEFINE_CLROP(clear_bits, "")
> +
> +static inline void set_bit(int nr, volatile void *addr)
> +{
> +    set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr));
> +}
> +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 long *p = (const volatile unsigned long *)addr;
> +        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));

Nit: Too deep indentation. Plus blanks around - please. I also don't see
the need for the UL suffix, when the function returns int only (and really
means to return bool, I assume, but int is in line with x86 and Arm, I
expect).

> +}
> +
> +static inline unsigned long test_and_clear_bits(unsigned long mask, volatile void *_p)
> +{
> +    unsigned long old, t;
> +    unsigned int *p = (unsigned int *)_p;
> +
> +    asm volatile (
> +        PPC_ATOMIC_ENTRY_BARRIER
> +        "1: lwarx %0,0,%3,0\n"
> +        "andc %1,%0,%2\n"
> +        "stwcx. %1,0,%3\n"
> +        "bne- 1b\n"
> +        PPC_ATOMIC_EXIT_BARRIER
> +        : "=&r" (old), "=&r" (t)
> +        : "r" (mask), "r" (p)
> +        : "cc", "memory");
> +
> +    return (old & mask);
> +}
> +
> +static inline int test_and_clear_bit(unsigned int nr,
> +                                       volatile void *addr)

Nit: Too deep indentation again.

> +{
> +    return test_and_clear_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) != 0;
> +}
> +
> +#define DEFINE_TESTOP(fn, op, eh)                                              \
> +static inline unsigned long fn(                                                \
> +        unsigned long mask,                                                    \
> +        volatile unsigned int *_p)                                             \

And yet once more (and there are more below).

> +{                                                                              \
> +    unsigned long old, t;                                                      \
> +    unsigned int *p = (unsigned int *)_p;                                      \
> +    __asm__ __volatile__ (                                                     \
> +    PPC_ATOMIC_ENTRY_BARRIER                                                   \
> +"1:" "lwarx %0,0,%3,%4\n"                                                      \
> +    #op "%I2 %1,%0,%2\n"                                                       \
> +    "stwcx. %1,0,%3\n"                                                         \
> +    "bne- 1b\n"                                                                \
> +    PPC_ATOMIC_EXIT_BARRIER                                                    \
> +    : "=&r" (old), "=&r" (t)                                                   \
> +    : "rK" (mask), "r" (p), "n" (eh)                                           \
> +    : "cc", "memory");                                                         \
> +    return (old & mask);                                                       \
> +}
> +
> +DEFINE_TESTOP(test_and_set_bits, or, 0)
> +
> +static inline int test_and_set_bit(unsigned long nr, volatile void *addr)
> +{
> +    return test_and_set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;

Too long line.

> +}
> +
> +/**
> + * __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)
> +#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
> +#define ffsl(x) ({ unsigned long __t = (x); flsl(__t & -__t); })

Hmm, here you even have two underscores as prefixes.

> +/* 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
> + *
> + * The Hamming Weight of a number is the total number of bits set in it.
> + */
> +#define hweight64(x) generic_hweight64(x)
> +#define hweight32(x) generic_hweight32(x)
> +#define hweight16(x) generic_hweight16(x)
> +#define hweight8(x) generic_hweight8(x)

Not using popcnt{b,w,d}, e.g. via a compiler builtin?

> +/* 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)

What's this odd comment about here?

> +{
> +        return __builtin_ctzl(word);
> +}
> +
> +/**
> + * find_first_set_bit - find the first set bit in @word
> + * @word: the word to search
> + *
> + * Returns the bit-number of the first set bit (first bit being 0).
> + * The input must *not* be zero.
> + */
> +#define find_first_set_bit(x) ({ ffsl(x) - 1; })

Simply

#define find_first_set_bit(x) (ffsl(x) - 1)

without use of any extensions?

> +/*
> + * Find the first set bit in a memory region.
> + */
> +static inline unsigned long find_first_bit(const unsigned long *addr,
> +                                           unsigned long size)
> +{
> +    const unsigned long *p = addr;
> +    unsigned long result = 0;
> +    unsigned long tmp;
> +
> +    while (size & ~(BITS_PER_LONG-1)) {
> +        if ((tmp = *(p++)))
> +            goto found;
> +        result += BITS_PER_LONG;
> +        size -= BITS_PER_LONG;
> +    }
> +    if (!size)
> +        return result;

Just using 4-blank indentation isn't enough to make this Xen style.
(More such elsewhere.)

> +    tmp = (*p) & (~0UL >> (BITS_PER_LONG - size));
> +    if (tmp == 0UL)        /* Are any bits set? */
> +        return result + size;    /* Nope. */
> +found:

Labels indented by at least one blank please. (More elsewhere.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:08:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592283.924957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazOe-0001vf-7l; Tue, 29 Aug 2023 14:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592283.924957; Tue, 29 Aug 2023 14: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 1qazOe-0001vY-4d; Tue, 29 Aug 2023 14:08:44 +0000
Received: by outflank-mailman (input) for mailman id 592283;
 Tue, 29 Aug 2023 14:08: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qazOd-0001vS-Oy
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:08:43 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe02::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8df765fa-4675-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:08:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8713.eurprd04.prod.outlook.com (2603:10a6:20b:43c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 14:08:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 14:08:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8df765fa-4675-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SijxzM99UPe6gXd76b0TG/2Hl6W9EApSTV0KgXI8smAKC65rTP5mvs3ZwfeSdwFLN8BCijN1hlJ7OoEsnuXIuX0+djw3kJneUdkqeGzghjclitLIfcjfV+dj7gNFkhVstsfHbUwfZktkyIJbJbSGuj4TdYi0VcbPeNuiYS9UBsSp6mlg9puYfbXNHIYQvI5YFcZyaZwF87eylU3flUOa4m3swYgiL8MzMRBeFI2y0vvS7A3dx1ULWMVhNptgQFDiqtY6sv1iDqVt5DTfX17U7MO3mCEU+xuH02SKoKU/GR2zVHEV/dhW6k7d2LH0w1Z2zQLvzx5xp1aocJYxxb5f2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RBjWMeAXAUbp7nsm3VsY1tiOf3/AotUMYZW5z3l6Sss=;
 b=YQjICOIlzEkz5tSzIBtXCzEh2Q4z/3zIrm75kxnNYBt5Wrqpg+3cv9rhgDU3Mo50tBB2Rxv2ZbS2LJ1DO94WIbjKF4CwJnuwJWOUlTh8S3oLtuac1wOzdXvPUqp1ImX4ia1aD1Z1uGQEOUCX7fO3XzX5RKZ2f/V4FIGGdTjaz3yWMVrKQPkagB8setTi9iJUchwNJg2j150vqG5FmCMkf4ArQ1gfukXNMxJDloNTz/DOUTbRF15Nsoc4g2JEXyW9zbc+X2itY0wfq7djZRHvAHF05wi22arqRnobrmCoUXl87LYG5eT7BT/IakRQGM1oK5koevgie2sFieeB8FyO6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RBjWMeAXAUbp7nsm3VsY1tiOf3/AotUMYZW5z3l6Sss=;
 b=aJb5f91v4bfHTpXXaXKjwH8uxEQO2NX3dxI59+C20wWOEkuwdej1mMo9fM5tnh0dQDsl0djg5A8ruElX/s8fGq4AeHRcGIaGQ+bu93oSFRXAnhA8gWfnebfq7Oo3VfDh9pAGwigMl94Q6RWsUhC+pnaMS7PKQi15WnfpnxVMbj58ttjFsuvk/JPqKY01zCQa/j3qBNSUkI2Kt3l4MB64+ElDcUvoX8KJXZzhk3aCRRdM8ujFVEKQF7ODneJDEjF4rNDEuAvZ7V9GB1LspPURTqegieSeeJrHpTefaDpmYEJ5PtcuFniaB3B0+z4oBsi5P78LeQ7tZH7Qoh05orLhnQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
Date: Tue, 29 Aug 2023 16:08:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829134333.3551243-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8713:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c9560dc-6f30-4338-3b56-08dba899708e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	98x4zJH5jO9bMEwGqTONxOjNrPhjSdVgb0X1pB9L3U/eg5paX/gQCeOzL8WXpGbhCzDpQJrdn7bCFJDkLVhWovFeWgDVD2iNVjoTm7oMZmH4Xh1fMHztOLYFPlKTRqa2OWDfPiciNWWvhqogbAGZA+qgX3bD3j0KikQ5tYF34HY2UoCwZlC1aANixlWWXK/PnZ5km6iGeoUpbFIF9EwTbT7QkYC7rqGfbfoJlvUA1o5SDg68WV+p0EOVQ+iPD+/QLHf3o6jfPQQHBMiHijuKScGlHrdEzDaw6+BP3QNVNEqMqMaKj/LtiAIADzEwOCDaKJQ16i114NOvX5No2FVUiLFVYmB3W3Zn3WbCBs0+ASe0ZdSIeJZwTajA9Uk29azw75pIQdjxmkkpW2YNsh723pHYFl3M95RkXm3DEJRtpRXFJMdtZjKzOv6r4mtOnbqCw5rTF3HEToCuyymmSs7WsZWUxYULjA0vuh4ymTBSRBbrXLAoslJ6+2RXzW1NY4IkPBsFJu8Wt2GC3kAxnGXIWQ9wa8QbbQwACbJpzCpVp1umGPdniLT9BRutvlzrsQm9Z7mBQszHpJEhYObuTqEOmBMaI0m0vqIpajZqKWuYvHuB8MRoYDWMZ46HOFLjKzhxXsYxXw3wijdzNIZppkdBYg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(346002)(396003)(366004)(376002)(136003)(1800799009)(186009)(451199024)(31686004)(6512007)(6506007)(6486002)(36756003)(86362001)(38100700002)(31696002)(478600001)(83380400001)(4744005)(2906002)(26005)(53546011)(8936002)(41300700001)(66556008)(66476007)(66946007)(8676002)(4326008)(5660300002)(6916009)(54906003)(2616005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zjh2UXpFSUdCM3E4Q05GenM3ZXh3TW5md3NrVklQRzVCdEkzWk11TXlISGli?=
 =?utf-8?B?TEczOUs4d0pjaFZIR2NuQXhOWVZyUHhuaWhjWENBckdzZGdsYVVhcHVuNnVU?=
 =?utf-8?B?bDNUMURRZ1lOb09tWVp3aEdvb3YxajJFRHMzaGNoUU5DRFlrd0Z3dUlEOXFR?=
 =?utf-8?B?em96VTAxN29YeXZFZVRCb1FCbC9HYjdwN3NQbUV1STFOeVpmQXRUTmxxbUk1?=
 =?utf-8?B?Y1V6MDR0bmFEbVBJV09VZEtKYnhZSThaOHNWSnArQWRGczIvdW8xYU1xYUhF?=
 =?utf-8?B?SHdHZEgxS1lmUm5xMm4zeWM1eVlXNlZVMDRHbEp6d3JnVVNTYnpZZnFDMGZr?=
 =?utf-8?B?L003eU5iVDEwZW9JM3QwM1hmSlNvSitYMEQxc2dGclBGOWVCdi9lOEhZa0RZ?=
 =?utf-8?B?ZDBvcDlFcVI3ajdaem43WnZyR0pRVnVTSkRPMUhJRmk1WmdkZ1hJN3BkcDRm?=
 =?utf-8?B?NGtpZ3VBZjkvZUpnbmtTQ3pseFM1SXRjSkxTRDJlNUxtMTVSTVFYMXI5bCtu?=
 =?utf-8?B?Qmp0ZnE1Qjg1VGE0UmFlWko3aURDaDVSZC9sd242dEJsUU0xS1ArWVZvQWlB?=
 =?utf-8?B?S0hCS3lmSXgvTzB1Ky82ZDl3YXgzS2pRTVd2UkV3QTNyUUNxYTl5OUVLNndi?=
 =?utf-8?B?cFRqS3JGbjFHaVBsdzhPRkdhdUF3YjJSM1lEcTdvN3I4SE1HUHFSWnBMQU1o?=
 =?utf-8?B?N1ZYUjBJTUtNSUlDRytzSGhBZmFLVlpodTE3ZVNVUVBzMnAxUGRDTjZONzhm?=
 =?utf-8?B?Q20vSGJqU0JCWUZGcDBWcGU5TCtkR2Z4UFl5Q202YWtYNGh1cHp0OTd3cnVE?=
 =?utf-8?B?Zk9KM2xrYjRLeTVGb1d4czlxV1Q0U2RkZWVrSEpCWjhnZkZlbHp4YjJQZWwy?=
 =?utf-8?B?WnBrb2N5Mjg2UGYrSmlUOU1aMUpZTjZQUzVvdG9od0JxN1JRekZGZ1FZV1dv?=
 =?utf-8?B?cDZxSjBwZUV3c0QyZGkzN2lNeFpjd09qQW5xaGR1S2hrMEZHdnlRamgzQlc1?=
 =?utf-8?B?M29pb0J5V2tnbXZTTFdka1lyYWZqeHJROW02dWVGQUptcmVKNENTYWl4OXFi?=
 =?utf-8?B?TE9ybS83dkNIbFYxMTdMdzVHNmcwTDl2T0lnNE9XNkdWV2E1OUpWb3gwZ3N1?=
 =?utf-8?B?cVo4a3hPUlhpSk5LSG9PWGRDL3Y3Z2NJWE5JWmgzZHlDNkZrQkhMc1NyNjZo?=
 =?utf-8?B?YmNGNDdZY3BENlY5UCtqbEV2MHhnNjloNloweGhpMlh5dmpWSHloUFBxOWNL?=
 =?utf-8?B?RlZ6QVhVcWxTbDlKSFluV0d4aUxkeHNCeU1GVEhxM3BFWDJWY0tmcHRxcHN4?=
 =?utf-8?B?Tng5NXNma3A2SW1ZcEpsTTVKaVp0Y2xXcHVkM3FrL0hLRVFwbUQ1TGFBdktP?=
 =?utf-8?B?N0RzWk1BVXN5LzhYVlN0bkxyRG5xK0pMUUx6d05taDVMOTV6eVlYVGZCKzkx?=
 =?utf-8?B?MU41TWkwWVFvTUJ0c2ZLS1RmTmUyb2tON0VYSy9jZWt5RWxCNFZQY21XMnRr?=
 =?utf-8?B?Ry9HR2tSSW1ueTErRWkwaGlDc3RjMS9TMUljRkZIY2NSNG9aOVNvY0syK0NN?=
 =?utf-8?B?dHJMbWw5V1dvYWpNY1JFcGNFOWJXaWloRVorOS9JczkwWlA0aUc0NzYrbUV5?=
 =?utf-8?B?VS91TDZsZERrVkZnZVlxQ01nVkRtN0g2eXlXS1VxbUl3dG9LYXlLQUVxL3Zq?=
 =?utf-8?B?QXFCeVZZNDdhcWFLZlUvTmJQV1FmMHg0NXdDOE1OY0hQQU5KN1JiSUFYNTMr?=
 =?utf-8?B?M3NtcWdKNlMwaTU5ZXdCazVKOTI5YUdyS2hOL3JGTWViRjhISGo0ak9Ud21n?=
 =?utf-8?B?Mng5VVZUcEl2R1B1U21GSi9BcE9zN1NQQllHMmxHVG1QNHdkR08xcG00OTJP?=
 =?utf-8?B?OUZTUDRZOGU2QWNZcjFaVmFESXorYU1LdnYwZThFbS82WUxPUENwemJiL0xI?=
 =?utf-8?B?c0NCUE0yYzI0eXF2S05Zc1BQTHJyNC9KZGNqQWEwMHpyUzNjakZFLzMzZy9p?=
 =?utf-8?B?OVc4MzJDem5BYzkvWWxYMCtNU1hwY2pUdWU1djU1eU8vOW9RZTh0V0Y0cVBV?=
 =?utf-8?B?dDFxc3Q5bTdvTE1CY0Q3d0pzM3B6QmFZT0lId2dYcExsSnZ5ME5JdTgxMXhE?=
 =?utf-8?Q?2TZN2REZIGwrT90/9QBZk+Z2r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c9560dc-6f30-4338-3b56-08dba899708e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:08:37.8202
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vge29Ny/l9l6LP+uiS3wAjl4sKJqhgNbK+aorIB/e/V1WIngjvINxqPb/poo2ltcAfGiILpNaVxJkTVMSNtx3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8713

On 29.08.2023 15:43, Andrew Cooper wrote:
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>  #endif
>      flags = c(flags);
>  
> +    if ( !compat )
> +    {
> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
> +            return -EINVAL;
> +    }
> +
>      if ( is_pv_domain(d) )
>      {
> +        /*
> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
> +         * subset of dr7, and dr4 was unused.
> +         *
> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
> +         * backwards compatibility, and dr7 emulation is handled
> +         * internally.
> +         */
> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )

Don't you mean __addr_ok() here, i.e. not including the
is_compat_arg_xlat_range() check? (Else I would have asked why
sizeof(long), but that question resolves itself with using the other
macro.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:11:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592289.924966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazQv-0003LN-J8; Tue, 29 Aug 2023 14:11:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592289.924966; Tue, 29 Aug 2023 14:11:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazQv-0003LG-GH; Tue, 29 Aug 2023 14:11:05 +0000
Received: by outflank-mailman (input) for mailman id 592289;
 Tue, 29 Aug 2023 14:11: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=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qazQu-0003LA-JO
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:11:04 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e345a837-4675-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 16:11:03 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8713.eurprd04.prod.outlook.com (2603:10a6:20b:43c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 14:11:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 14:11: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: e345a837-4675-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZM5pZWvl/o453NAe0XtaFWVs2ulmpz75m4PfvoKYzDZspl4bu1aoPc24bCRwNKywCZeL+BUGBoT+lRoRfbopuCaF8TV/Ju5Ejm0YHT7O8rAUw7swYeFhxtk5+BRlCrbpbKZ2TO61+A9XbiHYvw4mf+m0zk5vn5WLqdCLJ7n83fRKxxBNq5Y4NduGEXbUcDmUThztUy2fBdvr9hXh/ZGpcHO8u/xXRZcFHuwASYK23uIqysSo/zrZsoWnQmEK1LNVCnqCgIjTXuDaAbx/zOrZ0XxYPfDzhFOz3/nR9b403xLa4Wcl4B/eoe1lUn1BETOTGXzRcq8PVrrsckudCc/tA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ggFts29RRNVx8UBKPrptteloWQrKbmViEBmj/ZzO1XA=;
 b=jZUwUQ8JqCmhFtZ+PFEz8uHIeA2xgHD2uJh6/JFTiOp/PYChzG5lRueeZy73qCCGSL8U5uJ7l3gzP2WN5T7VhHTWgz8vPkQgRb2156nkk5DbPwrIiiCShsWjLUwFH28JaXO7qSa2SvjxRi6pxEn3VlbrUV29L+aY1cvEPq2TicQEHxXdo3Y0KYDUb9VmuIxZerfomsVZBx3PX/dQNy9sGmOMO72WKR+6wjUimah1wa78mjdJsuuqaAi89+iOAi1OFJSE3bf/jGrV52uVKw8F0ti6QwfzgUit5rnuWeR4ppb1PE0syRSPiNhREhzEVPPf/mSptRkWKFkhknQ5aPaA6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ggFts29RRNVx8UBKPrptteloWQrKbmViEBmj/ZzO1XA=;
 b=4BhO0WotooWFMFY+kljnv6KiuGDyyCnq14zlEXEoLb5tY85Z7cEfJIr39055fEM4/VdCUVJfj3J2g/eRzTOJpjLfDC3c91bKtFTEoS7baV8HyAz7avohBJ8lar8PeQWLPov3x6M7f0TGJCiSjFdj4+IOeWeO872N3/XdZGAkA4u+YJxA4TABEVpjNX6b4i5RORwd319Js+wBzBYr4/2502vQoWky51IVxnwlKYl2nSrjGhh+Q8tdDASzSfXd6kV/x2d0fIC1bxbYYbdzbreIPgDz2/pRFOCXmPbk6qqzCnIj8W7tKrWVfn1qS/tnzjTzfGaGFbu4wIqMFYe59gvbsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <959d2a24-bd66-8235-8497-8b662259fa80@suse.com>
Date: Tue, 29 Aug 2023 16:10:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 2/3] x86: Introduce new debug.c for debug register
 infrastructure
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829134333.3551243-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0181.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8713:EE_
X-MS-Office365-Filtering-Correlation-Id: c959d55f-cd64-4a2d-c1c5-08dba899c657
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zD7p/xBNaYoJGE8NFK6LWN8Jy3dGgKcOjUILHm/NVjr6A9X+z39YwWsCnJ5F6zDf5wsVhs1hAC7GOqlnATkOdFGfyuxAMxHDloxyR0Zl6/I/4Et9MKrQE8kG+StJkJvuR5PdvNOSPotmeBDvEGlyR3IgkN2IP8IS+PA+BuKXmDt2mlXAtvpucrz4QYyQ6lonn1d4VpwmZrbKL4vhq3KgjgleGX2VtZlvc3YOOYY5SArY0I5/CHB2B6fqkuCPkO7RdwrE4h5Aqsadb+t22oFNYQ0ZXF0ONLWpf9cIYEEeOQyrKWOpDHrH1iu3h2Txj6wQZQcdOSwUhIJb+0/TnKk4aHu0plnK5oMy0B92dOUKZpiYeh+7YOLuFjtaJtGjUkpHg7ixur+xJXg+WVNQYpyL8xVZHjb+fCszhMMJR06Ch8He2lzROTK4EHg1EdwYEGunJcUbxSdL1ozfhMIKrOppfLTIENUpM04ZLNkna0pfhi+blNNiSXla6m9atj8ZlvfCA7XuGD/tAgQiUHZaYfDmKVAU9c7s6sKNk7Px3lWYhk60EgNryptkTPwZenYDzjOY8qdU9TbSCJW8K+RC3gPHL6QFO2wPlbrz0WmARa1+n6aAvNeG2lQrZM0pNywT0363pqIBouZ78XffRR0tHPd1sQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(346002)(39850400004)(186009)(451199024)(1800799009)(6666004)(6512007)(6486002)(6506007)(53546011)(83380400001)(478600001)(26005)(2906002)(4744005)(316002)(2616005)(54906003)(6916009)(66556008)(66476007)(66946007)(8936002)(41300700001)(5660300002)(8676002)(4326008)(36756003)(38100700002)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHMzM2llVTJUWGFFUmN0SElKTkFIUm1ORGRXUHNjMk5lMEV3SGJNOUlLajhR?=
 =?utf-8?B?b2QrNmFIcjdCL1pvaE9GY0VqOVlOQTZZWHVqdTVyWlMvaHJ3WjNnd2E1YjV5?=
 =?utf-8?B?TkNVNUlRemFnalEzVVQrRDloWlY1K1RiUmFFcG9jQmkxbmNFeG00WVpRRlBM?=
 =?utf-8?B?dEtMOS9zQ3VncDZ0cm9SbEJnVGJzaDBaRGdabGU1QTBVUkc2UkI1TnBtTDNt?=
 =?utf-8?B?Q0lJWktIeStWSUFOSUN4ZDNrZWpRWENpTFE5MFhqTTVzVFFMTkE4b3N4OFNG?=
 =?utf-8?B?UTRySitVSlFSdFBhZmw2a0Y4TjNDa25WWTFkUDRuTWgzQkU5QmtZUVFHS0Rh?=
 =?utf-8?B?emErdUFTdnlaaS9ia1N3VDBNbWpPZmZadXVLbmZmNHcyWWNUWUczUHVZbkF0?=
 =?utf-8?B?Y0VkTStjVVY0SWdDZ2RNT0ZVMXVORmlEUDUwLzdMSmZET1NORXBJRU9YT3cz?=
 =?utf-8?B?MkZrNHFQS0VmZjV6dFk2dCtNNm1oL2dMak1aSXJaOVoxVjNMWUxNVXRubEpr?=
 =?utf-8?B?SWZHNXRrUGtPOGd0dENGQ0F3ejdreEthM0xLMEdvb1ZaNEN1SDJiOXBINEs3?=
 =?utf-8?B?dXErVmV2b0YrVEI4SXpqanZNem9GckRMeG1LT1FFR1E1Y2c0cXVkeW8vYzdI?=
 =?utf-8?B?ZWRBalp2d3Fxd1VrbTR4RDczbzgwdFpVay8xcXpabTArVVpsU0QzZjdoUlVC?=
 =?utf-8?B?NEJNajl0S2IwK1dPL0xyYUhYT2VmLzZuRkpSaGFDMER5NW5MSTF5cU1NVXlO?=
 =?utf-8?B?Z25yYm1EZmNSUnBqbEdTdlFESml4dzdYcVl0aURhdnQ5K2sxeWR5ZDB2bHFH?=
 =?utf-8?B?QVJTS1RpRFhyVGFrbjZNRGdvditSVHRQQmFwMEhxTWtjRHVraTlreXRxbFVv?=
 =?utf-8?B?N1BFeU4yTjVSVGswZm9KciszMTVvTXRPaEJzWFhNdHE4c21ZMFdmSUJTNGNM?=
 =?utf-8?B?ck1NbmZKSkFOMHFoM0pJOEM4Vkd5SEhiOS8vU0hxVmJGVVJWOWpYUyszUXJC?=
 =?utf-8?B?Zk9RbHFXaUR0cllDTlZSaEVOYVJvdFlTT05BUTVNRmFPa0NQWjVBTVBNMlBa?=
 =?utf-8?B?eEl4aXdOWWlEVUhsVE8rZ3hGYlJEck9xRWc4QkNVOEQ4NC9tbnl3eEIrV0JB?=
 =?utf-8?B?SmpNNTNidFFYOEpoSlJLTmFMZTJNdDNycHB2SjRRdngyc0FBS3JkdjdNTHM5?=
 =?utf-8?B?clZQbjdlS2pPaGRIR3Z4NEV1a3oyNDRLR3ZKVzFuVzB2YTU4dDJWbEJwZmtk?=
 =?utf-8?B?UkFrV3phWVFVSmphMWYzWEI3MlVYNUU4Qy9ZNnRUN0k3bGxZZ1pTQjBSUm5w?=
 =?utf-8?B?UUVGOW9uc2JiN09iR2pGUTMzcURXaHorVlU3cmdqL1JoMlVJZTNDZ0JPaDVS?=
 =?utf-8?B?MjJubnVldi9FOU5lZVY1cVBjTGk4WkkyQTVwdTlMaG9DY3ArRURwWGZtVjN1?=
 =?utf-8?B?TWh1dTVZOGdkd0w4bGxxdU1ha24xQTd6NmpBdkF6Tk55dWxQOUVQM1NXMzBW?=
 =?utf-8?B?U2xRYzlvbGYwSng0RTdzd3cvQVlDNHUwS0t6QzZpek83elF5eTE3Mk50U1lM?=
 =?utf-8?B?bU9xYklTSlBoQVNuNi9hTCtqU2xXR3ZlbFFvUFN4Zi9kUkt2S1V5VndZZFF5?=
 =?utf-8?B?Q0kyQlhrNmtUdzJUZ0lTMGlBL0NJYWQwekN4Q2dsZFBycWxKa2hjL1B4VU9y?=
 =?utf-8?B?NURqUVlKSUZITkNYVWNiQVJNME4zcUZ6QWNpcGIvcDFKUGFXdEwwenZKMEp3?=
 =?utf-8?B?NDVPdGJ6eEd2eXpTUzg2VTdnSnAvRHp0WGhKL1hHaEcrL0Y3OFdPV3QxbHZz?=
 =?utf-8?B?UFBteE1pYkpuUEZLNklndFJzQmdzaEpXeGpjTDgxOFRaNDhrMkF5b1J6ZEor?=
 =?utf-8?B?VlZDc0dFVktKL3dkM1R5QnhYTVkxeWMrVDl4MmhYa2doTVNXb1prLzI4YWZv?=
 =?utf-8?B?ckpJU05tQTFKcDBwdmJ1Q1NON0kvbTJNWjR1OUU0NUs0V09pcE5ZZ2tQMDVR?=
 =?utf-8?B?YWZuUlVkaldoOGZ3T2Q5UGJRdXZ6eEc1SEVxRk1VN2YzS3lCK283UHZVcGh6?=
 =?utf-8?B?dk9GUzFtUkpaWWFMdDEvWU5FbjJ5MnUxNW8xTlVDeWVjdnpvdXVBa1ovc3pw?=
 =?utf-8?Q?CFplb/M/Uuz7le296DOtcnaAK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c959d55f-cd64-4a2d-c1c5-08dba899c657
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:11:01.5696
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YDkWlsRkd1AeeT2VPwww2TLI/buPYxou/xpxSfISV/olWQbG97EvMhKRrLBl6+cpLMJ6WbABy3t+oLxOAHLw4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8713

On 29.08.2023 15:43, Andrew Cooper wrote:
> Broken out of the subsequent patch for clarity.
> 
> Add stub x86_adj_dr{6,7}_rsvd() functions which will be extended in the
> following patch to fix bugs, and adjust debugreg.h to compile with a more
> minimal set of includes.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
preferably with (nit) ...

> --- a/xen/arch/x86/include/asm/debugreg.h
> +++ b/xen/arch/x86/include/asm/debugreg.h
> @@ -77,7 +77,18 @@
>      asm volatile ( "mov %%db" #reg ",%0" : "=r" (__val) );  \
>      __val;                                                  \
>  })
> +
> +struct vcpu;
>  long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
>  void activate_debugregs(const struct vcpu *);
>  
> +struct cpu_policy;
> +
> +/*
> + * Architecturally dr6/7 are full GPR-width, but only the bottom 32 bits may
> + * legally be non-zero.  We avoid avoid storing the upper bits when possible.

... one "avoid" dropped here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:21:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592297.924977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazae-00055D-FZ; Tue, 29 Aug 2023 14:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592297.924977; Tue, 29 Aug 2023 14:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazae-000556-Cf; Tue, 29 Aug 2023 14:21:08 +0000
Received: by outflank-mailman (input) for mailman id 592297;
 Tue, 29 Aug 2023 14:21:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oK0n=EO=casper.srs.infradead.org=BATV+3a9ed657c5c9a78d2ebc+7310+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qazac-00054i-2E
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:21:07 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4697b1f2-4677-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:20:59 +0200 (CEST)
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=freeip.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qazaE-0071HI-Cl; Tue, 29 Aug 2023 14:20:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4697b1f2-4677-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=10hotENc6uNLPo+4Aajfu/bvpKSjJAs0JJdmsI4pucU=; b=NFp5nkJbQYsrVrMw8nL2nv7ZPV
	K48JPtLU+OtAeL+OshHanGvoZUZ/eXphjobjvlwOaRph+h/MXI1KRCi7c5CAbTN1Y4Vft1lGvBP7E
	qilgKALFxbCwsFgrXvZz5D+Vkfp5ng1hj6nY5WRbA9utzJPu3iqwV9voUw0enyEladllpDgMWaOwF
	UJIOAD92b7kx/DPGW/Mmy8uB8pm8XCt07YToCPp9HhXMJUMUTDV0amwPT/F43iAYxTiUM4CFZID9e
	n8F1zoEX6j15vJpBYv+RIPtoyT7/+OciR6XscSM6G/EYSzcwQaVr8dfb+4NF8kTFDuAZeGCkrZq8P
	vXj4JW5g==;
Message-ID: <c6e8cfbdbb6449111271ef391d3759ca2cb0c1cb.camel@infradead.org>
Subject: Re: [PATCH v1 01/23] pc/xen: Xen Q35 support: provide IRQ handling
 for PCI devices
From: David Woodhouse <dwmw2@infradead.org>
To: Joel Upham <jupham125@gmail.com>, qemu-devel@nongnu.org
Cc: 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>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Date: Tue, 29 Aug 2023 15:20:38 +0100
In-Reply-To: <1c547c5581ce6192b70c68f39de108cdb2c73f7e.1687278381.git.jupham125@gmail.com>
References: <cover.1687278381.git.jupham125@gmail.com>
	 <1c547c5581ce6192b70c68f39de108cdb2c73f7e.1687278381.git.jupham125@gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-hh/jFNut+TT/EA4qh4z0"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-hh/jFNut+TT/EA4qh4z0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2023-06-20 at 13:24 -0400, Joel Upham wrote:
> The primary difference in PCI device IRQ management between Xen HVM and
> QEMU is that Xen PCI IRQs are "device-centric" while QEMU PCI IRQs are
> "chipset-centric". Namely, Xen uses PCI device BDF and INTx as coordinate=
s
> to assert IRQ while QEMU finds out to which chipset PIRQ the IRQ is route=
d
> through the hierarchy of PCI buses and manages IRQ assertion on chipset
> side (as PIRQ inputs).

I don't think that's an accurate way of describing it.

Let's take the ICH9 as the basic case, and look at how the PIIX3 and
Xen both differ from it. As far as I understand it...

=E2=80=A2 ICH9

The four INTx pins from each PCI slot (32*4) are multiplexed down to a
smaller number of PIRQ lines; 8 of them on the ICH9. The mapping for
each slot is quite complex and depends on chipset registers.

Those 8 PIRQ lines (PIRQ[A-H]) are mapped directly and unconditionally
to IRQ16-23 on the I/OAPIC.

There is also a set of mapping registers in the chipset which allows
each PIRQ line to be mapped to the i8259 PIC (as e.g. IRQ5, 10, etc.).

(I think QEMU has a bug here. It should be able to deliver to *both*
the I/O APIC and the i8259, but it seems not to deliver to the I/O APIC
when the i8259 routing is enabled.)


=E2=80=A2 PIIX3

The PIIX3 only has four PIRQ lines, and the mapping from slot/pin to
PIRQ line is a *lot* more deterministic; it's basically just a simple
mask and shift of the slot/pin numbers. And since the PIIX3 also didn't
have an internal I/O APIC, the chipset registers mapping PIRQ# to IRQ#
*do* (at least in QEMU's emulation) affect the routing to the I/O APIC
as well as the i8259.

(I think this is probably a QEMU bug, or at least lack of fidelity in
its PC platform emulation. Real hardware with a PIIX3 and external I/O
APIC would have routed PIRQ[A-D] to I/O APIC IRQ16-20, wouldn't it?)


=E2=80=A2 Xen

Xen has two *separate* hard-coded rotations from slot/pin down to
PIRQs. For the I/O APIC it multiplexes down to 32 I/O APIC pins (IRQ16-
47). But for the i8259 it hard-codes the PIIX3 rotation down to 4 PIRQs
and expects the device model to provide the i8259 IRQ# for each of them
(from the chipset registers).

When you say Xen is "device-centric" I think you're saying it's hard-
coded the pin mappings and that's why it expects to take the actual PCI
bus/device/function/pin in order to do the mapping for itself, while
QEMU would normally expect to have done that part "properly" to get a
faithful emulation of the hardware in question.

(Note the extra fun part I mentioned earlier: Xen can route I/O APIC
interrupts as PIRQs, and needs the *I/O APIC* IRQ# for that which might
differ to the i8259 IRQ#. So running with 'noapic' and
XENFEAT_hvm_pirqs is probably going to *really* confuse your guests
because the ACPI _PRT table can only tell them one number.

> Two callback functions are used for this purpose: .map_irq and .set_irq
> (named after corresponding structure fields). Corresponding Xen-specific
> callback functions are piix3_set_irq() and pci_slot_get_pirq(). In Xen
> case these functions do not operate on pirq pin numbers. Instead, they us=
e
> a specific value to pass BDF/INTx information between .map_irq and
> .set_irq -- PCI device devfn and INTx pin number are combined into
> pseudo-PIRQ in pci_slot_get_pirq, which piix3_set_irq later decodes back
> into devfn and INTx number for passing to *set_pci_intx_level() call.
>=20
> For Xen on Q35 this scheme is still applicable, with the exception that
> function names are non-descriptive now and need to be renamed to show
> their common i440/Q35 nature. Proposed new names are:
>=20
> xen_pci_slot_get_pirq --> xen_cmn_pci_slot_get_pirq
> xen_piix3_set_irq=C2=A0=C2=A0=C2=A0=C2=A0 --> xen_cmn_set_irq
>=20
> Another IRQ-related difference between i440 and Q35 is the number of PIRQ
> inputs and PIRQ routers (PCI IRQ links in terms of ACPI) available. i440
> has 4 PCI interrupt links, while Q35 has 8 (PIRQA...PIRQH).
> Currently Xen have support for only 4 PCI links, so we describe only 4 of
> 8 PCI links in ACPI tables. Also, hvmloader disables PIRQ routing for
> PIRQE..PIRQH by writing 80h into corresponding PIRQ[n]_ROUT registers.
>
> All this PCI interrupt routing stuff is largely an ancient legacy from PI=
C
> era. It's hardly worth to extend number of PCI links supported as we
> normally deal with APIC mode and/or MSI interrupts.
>=20
> The only useful thing to do with PIRQE..PIRQH routing currently is to
> check if guest actually attempts to use it for some reason (despite ACPI
> PCI routing information provided). In this case, a warning is logged.

I don't quite understand how this works. PIRQA-H are supposed to map
unconditionally to IRQ16-23 on the ICH9 I/OAPIC. But you can't do that
without fixing Xen. So doesn't the ACPI _PRT table have to reflect
Xen's hard-coded I/O APIC mapping of slots to IRQ16-47? I don't see
where you did that?

And there are some devices which are defined to use PIRQ[E-H] by the
ICH9 datasheet and which *can't* route to PIRQ[A-D], aren't there?
Those devices just can't be used in i8259 mode unless Xen is fixed to
handle more PIRQ routings? In fact, Xen doesn't even get the mappings
to PIRQ[A-D] right for the ICH9, does it? It's just applying its hard-
coded PIIX3 mappings to PIRQ[A-D] and then the ICH9's mapping to IRQ#
on top of that?


--=-hh/jFNut+TT/EA4qh4z0
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwODI5MTQyMDM4WjAvBgkqhkiG9w0BCQQxIgQg7jt9yvyk
UZbwU86j9uueRrEbIqYpMBQbJUAS69aWy/kwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAo92jN2itrRAmXtdvwqYKqksr/6/flT9A3
csFCrZ+4p1haGq5lxyst8jAEiXZ8NkT/zDilbmrlq/u/QwtBTq0cx2Cjy6S8VaFlqPDddNIuu5AS
3ndbU3gQZFoGhWOZBtGADU3PsKyj66de6wI9qKt5mE89Mbys1nT/OxbMbUghEvtOyLX5/iz+7p+p
MVQhHX5krf3ggD4tebb1qEmCLKLFgXECCKQ2UAJKn3bOFOEdsPWHF50kwnogudIcW7Gwu9kaHWx8
Axg6lkWc+eYjgshJwnlu0t6P0/ee6zQOf2oDgL2NRjNMyfpIzmeKJ3hHD/BhL6KOc+VSC67gnaYe
G+OH0PI23A/i9BtQyV8GTiyF6zcOAcyDA8VrpgKXi0U89bF90907jPx2l8RUULHjMxthWfZBt36/
xcK40907Lg0mtlZ7bAa2DG2qiQ7xXHb3A1XUYvbfNJGTw5IvJTSN/1cvAA4rrCDlmZP9T/PM0BOM
2RSnOAzDI87A8g0sRURtKFQM8lj9PqmwiwxFsehlD+RiprIX8NVLp0mJz/NQb8O8HKXlPoXTODjh
5CiMPQ/6aZgsgvMmn28KpFILzAP8QP0YOx6pJ7lqhPwU1IxiSBvrSTWZoGrMJzCeOfodkTqK93Ta
X7WaJKd06NzaNDpUjFdCE5kPdBUSGGXPSzO4PybvJgAAAAAAAA==


--=-hh/jFNut+TT/EA4qh4z0--


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:22:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592304.924987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazbv-0005er-Se; Tue, 29 Aug 2023 14:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592304.924987; Tue, 29 Aug 2023 14:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazbv-0005ek-Pu; Tue, 29 Aug 2023 14:22:27 +0000
Received: by outflank-mailman (input) for mailman id 592304;
 Tue, 29 Aug 2023 14:22:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qazbt-0005ea-QE
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:22:25 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7817ca35-4677-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:22:22 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9983.eurprd04.prod.outlook.com (2603:10a6:10:4d9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug
 2023 14:21:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 14:21:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7817ca35-4677-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UCpD/ou05MZ05+LSgAzn5xo1jvapsqqquI9jYnNZUQieox65NoLtFuispmav/dCfMGlrRynrUL1fnKbVcm4NX8OBaN77NiO/HBiPDp5O29HP6apHCO+vm5iBT/LCfp49rpBJh7UWWuVPKUnXn7Vzmd3zSa/wECvT0qV0gkzZvUwDlkl1GlsiiD1l98nHUnCjAoHQbgPAJgqkKXDX1MRduH7QHeEagmC+u3xt7eGr2U4mntDKCIZ7uFjREL+7TzEA20hBfo9lfK2QxLVLpAC7HneHVTwdACD+rhwb3BVjbf6bVDt9JVnqG66F2mU2VPeIDbbB838Z8fPrUNFtBJRPzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fqZQyZrY36izFBLb6hlQzKneQ331m94pD6mWUsh/gkA=;
 b=fyS92K21tMZjhCEX6qDLtJJr4vUggTwUOmeMKR8SB8KKg60ywhCDaimruelgoA4+5DVDrXiKP7WA4ZtxH7fMebmWhq4X3CrzQVPzTsW7K6nuo1+Eu4oT2RZiTDx3mSSM6eOXqGjHPt5g0UPnm4n0AC+DL7EnnXK6H6wfXuJmfIjjBrFieBEFpG8WBGGY+6vmk5TcM0HRYlsgBaiCY7O4/vJ2Vb5HuZHh29pH2xoyPsIFPP8lA0EMFesuaSu+a712lUQiKlCNsDzxQju+19jrWNBspPNku6DV4HrpdmliLJRjfgI5C3oqpM/34Sita+WOv9f2jFb4CXOgI50GOryYJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fqZQyZrY36izFBLb6hlQzKneQ331m94pD6mWUsh/gkA=;
 b=Ha9nRyewZD2OwetyLInTz+S4eM0OmDW284f0Sn9fgp9hBtFOhO5CoKw7f2wrp7Dlr6NjWnFe77v/eSO+hEC7crtDBWi72t2ibYa5N9mUyMIkNMc7R+56HL123RVdboKg1zo+0CkRB7wpSiJzK4sFujYPUtGAZebX1gUHgAardPzVtMHNdmuquGSEey3BHg/xa7PrleoT8gQlAmtakXHAk+scQgp1LScFKjhxXk/oDlnVwFznc0aksgVN2fevNzOeJVvgNfjBHqCEUvrIGquHtdQ6wr1KZ3REQOmaQjNDCRcJNhStXK6T82ZaT8ka1Y7gp3iN8KzfG0EniBnbC1VOFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f5e258e1-5517-2276-6497-4288192cfeaa@suse.com>
Date: Tue, 29 Aug 2023 16:21:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] x86: Fix calculation of %dr6/dr7 reserved bits
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jinoh Kang <jinoh.kang.kr@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829134333.3551243-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9983:EE_
X-MS-Office365-Filtering-Correlation-Id: 9220f704-2fdc-437f-c7b0-08dba89b4b84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mKOWnke059JZBKjzy1veKQ3TRRWe1D1ZaSWtNozE0jGk/kLAH15vAIpaOV4eXaAIbVeOBvAiKKpd+Q5r9JAl0+LDAs7fWX5yxDsG2T54Ixkq/TLVt9kbuzhtQNQ71DCDpOOZ7uiX0kLmikdXZfS2MuogRx7d0r1/H4bY6CZJH7Q8ZCIv3mpDifsIPoJgBi++OHToH4HRZwzz/z25mz8EgFYQ2iVPix4ej8rvioqY7lLwYnuGCMAq++P2Ozr/XQxYMSqh/GHHTIPgtiRNf2jEvyMHZX4g24dJgzbzDsOWvJEs56svi03XX2A8eW1+p1NIkTHZBvosXVN2mY3/RghRq7zxa8YdZW+0PpIc0P5tWoFphwtXtYWYdSuYk38Rm5irTvXGnZptMmV4szGSpt2/FX2b+uIlqcyCK4vi6JOw471HFZ1dBu9FRvwAccXTpm8LkM49dujORkWZ7N+FVShgsPi39kA+4Fteh9oLYqYJNzBAzh9od3WhDRBSxfyeZ6/ZY3h9ZMoVDDF5SybHaU8wnDSUDDnxAlCcl+2HRAh7jwIhPhM21ylvIrr++gA4W8VnRKyw0nnoQoU5vaWI+kxBeK/q51AVwFRj53WPwi0zYrH1nDHAlNdrmNEkyEKqfd+2Eux4FUPxbiL3VlQdBcYR9g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(366004)(136003)(346002)(396003)(451199024)(186009)(1800799009)(6512007)(31696002)(6666004)(53546011)(6506007)(2616005)(6486002)(86362001)(2906002)(5660300002)(6916009)(4326008)(8676002)(8936002)(36756003)(54906003)(66556008)(66946007)(316002)(41300700001)(66476007)(38100700002)(478600001)(83380400001)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RFVvWHpjMEQ1TzY1a3NybkYwbXBnbmZIdFJ2VTYxNVdwc2VEVEJoRFA5SEtX?=
 =?utf-8?B?YkcvQ0Erbzk4bk11bHNEeDNOcmEreld2RUJUM3BodmF3aEl3OTZJb3p6TzNl?=
 =?utf-8?B?U0psVVk3VUFBSmxHRnBzVTBFMGkvUXp2UXIwdXFkSU9FSE9keW53RVY3ekhl?=
 =?utf-8?B?QXp1bGpkdDQvOTBSdms3Y1RMZEF1QW1IbDZtL1ZSWVFsYlNzOTNvRFYvQ2Vt?=
 =?utf-8?B?MmR1MGo3bEhKZEFmejlnZ3YvRzlZcHplN2cvdG54Z0dWQlBvT3RCckFvclVt?=
 =?utf-8?B?cnNxYmZ0WjVBbnRISXd2eEdoK0Q4RHJpRHB1Mjg2ZFJFUERFTHFBb0dNcWF3?=
 =?utf-8?B?TDFLeThYb3oxd2l1SEhvbUxvOW9aOUJ4S3FUZ1JRUmJiZ3pQaGpPVDRxeVZY?=
 =?utf-8?B?R0ZYa3E1UHhpWlJsN3ZQdmxMVFVTMFV1MUpaTzBFZ1hZTU1nREdPU0hSWnQw?=
 =?utf-8?B?WlNDK00rMFk0bjdZUDI4THdaNjNrZnVDdjB1NlVtblNWVjVEczkvSGRiTm1k?=
 =?utf-8?B?KzdTUkZUTTF1ZCtiMmxKSFdMQnNkOVBSSGZaSUVyRjhheHJGTUQ2Qk1MSEJ2?=
 =?utf-8?B?MXNSck9razhiMXpSYzlLczhIT3IvSyt6bjgwQzNiK1Npc3Y5OTU2cngvZDF3?=
 =?utf-8?B?Y0ZXUENKYm1qMFQ1SnVMQ0djQjFscjBENi9kT0x5SGdBMzdRclorS0NKRUVv?=
 =?utf-8?B?aGpMYkpYTTVsU0Y0ODRKQy9BdVdIVHBZU0Y5S3pTWnd5bEhRdFdQMVRUczQv?=
 =?utf-8?B?VFFISlg5UVR2eHkzSHE2d3NTbldyOERZd0xVWkxTcjlGSHd1aHpYUC9hWTFO?=
 =?utf-8?B?ZlF4YkFER085VGRzSXFuV1lLRm9USHBwSXBRZndseWVvZEtZVGZ1WFYwbnpX?=
 =?utf-8?B?ZThUWC9ZMW85czl4WTRzcWhPaURobEJCRmJyOUNxclNOWU02MkxjQ1VHZXdk?=
 =?utf-8?B?R1h2amNYa1dIRjZXMldGQVJEL1J3dnNLSnJxaytUVWJWMFFIVnhnZWtxT0tn?=
 =?utf-8?B?dVd6SGlxUERSRG1kT3l1YW44RHJOcGNHY1IyM1dUYXVmdmkreEswcmNQVXp0?=
 =?utf-8?B?a0RwUHZNL09jNW5zbmJaUERkK0d3UHJxTktvdHJHd1BFS3lTRXZOa3NWaFpu?=
 =?utf-8?B?ZHVnWWdmcnVYNnpmcXZZclZ3N1dsczEwaW8vYXliUTdVOGRDNGlpRWVXS01q?=
 =?utf-8?B?VkE2bVJ5WW1CTTNzZytlVTBRVlNESFRNUGtVZWppNktRYkIvZzZzZy9yVGhG?=
 =?utf-8?B?VHV2Rmd4T3FycVZaaStwMWhEejQ1UExicUoxbjZITXNaNiszZSsxR2U1R3VU?=
 =?utf-8?B?WXR5QXJqb1J1OWdPOUpOMExGT1JvUWg0a3dhOWZ6Vy9zYXNvWWZzL2xONDJm?=
 =?utf-8?B?OEYwSDltS1h2QjZGQy9DUGhDUGozb21iWFhUc3hjdXpyNmNMOUg3MzlTNDl3?=
 =?utf-8?B?TFdRUmU5RzBkMm1GRytQenE5MDJvKzZ5ZGdabnBmWnJFTkg2QmRtY3Brc0Ry?=
 =?utf-8?B?OUFDQVZqRStGWk82WDNFSmJBTW9Fc2hYWGRhaVhrbE5rK1JuREhtdEdKSjZH?=
 =?utf-8?B?dVEwSFE3c05rQmZidERaKy9Nb2l2SkttVWMzeFB0UEdxRzJmK1FrQi9KQ0tE?=
 =?utf-8?B?cHZYeVpTbVZaY2VLUE9sNVJ1T24rS2xnU0xROThNZjI2OFZEKys1MlhkNldR?=
 =?utf-8?B?TjJmV1EwRmhNM0FyWTJBWGh1V25UTGFyVWV2NDZNbVdtckZsOWEwSUFVbjFo?=
 =?utf-8?B?MEFEaTZ1OUlHK2FiQmtCWm9yNUF4MnBLMHZVb3czSVExSi93U093NjBHb0Ux?=
 =?utf-8?B?QkJ3YzNOZkF2S0tCeDlLWU92NmQvMnM5VmdoTndyalpPUHZ5VjQ0V0lBMzNW?=
 =?utf-8?B?TTFFMUk4Umg2Q25rVHRWN2l2Y0VmTXdBN2puckRBamI2S0x1SXR5azQrZTMy?=
 =?utf-8?B?c1ljaEJObnVMRTdVREVFajNUWFk5UmdmcjNTQ3llclBjTDNXbVNtNFpGb0dq?=
 =?utf-8?B?R2g4TkxNNitUTnp5bG1Rck5mbWNZMHB5ZmJYYXZUc2Q2ODVCSEwrVGJQRXFJ?=
 =?utf-8?B?dEw3cU5uR0RwV28vNmV2eC84VGZsU2NvRExzYTZkUEZwY0I1OVdDK3VKS1JP?=
 =?utf-8?Q?ACDNBHqA7QzA5ODuSJp6e+kzv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9220f704-2fdc-437f-c7b0-08dba89b4b84
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:21:54.4860
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eIMXKlKe5oRyuAbR911etg88bS/v8KE3CoMy/hTN937pbPSjXxavF3po8sHfNQvEO7J29iA7IywyaTKOZNUc8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9983

On 29.08.2023 15:43, Andrew Cooper wrote:
> --- a/xen/arch/x86/include/asm/debugreg.h
> +++ b/xen/arch/x86/include/asm/debugreg.h
> @@ -1,6 +1,7 @@
>  #ifndef _X86_DEBUGREG_H
>  #define _X86_DEBUGREG_H
>  
> +#include <asm/x86-defns.h>
>  
>  /* Indicate the register numbers for a number of the specific
>     debug registers.  Registers 0-3 contain the addresses we wish to trap on */
> @@ -21,7 +22,6 @@
>  #define DR_STEP         (0x4000)        /* single-step */
>  #define DR_SWITCH       (0x8000)        /* task switch */
>  #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
> -#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */

As you're dropping constants from here, how about the others? Especially
DR_NOT_RTM would be nice to go away as well (I don't really like its name),
yet DR_SWITCH looks to also be unused.

> --- a/xen/arch/x86/include/asm/x86-defns.h
> +++ b/xen/arch/x86/include/asm/x86-defns.h
> @@ -102,13 +102,30 @@
>  
>  /*
>   * Debug status flags in DR6.
> + *
> + * For backwards compatibility, status flags which overlap with
> + * X86_DR6_DEFAULT have inverted polarity.
>   */
> -#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
> +#define X86_DR6_B0              (_AC(1, UL) <<  0)   /* Breakpoint 0                */
> +#define X86_DR6_B1              (_AC(1, UL) <<  1)   /* Breakpoint 1                */
> +#define X86_DR6_B2              (_AC(1, UL) <<  2)   /* Breakpoint 2                */
> +#define X86_DR6_B3              (_AC(1, UL) <<  3)   /* Breakpoint 3                */
> +#define X86_DR6_BLD             (_AC(1, UL) << 11)   /* BusLock detect (INV)        */
> +#define X86_DR6_BD              (_AC(1, UL) << 13)   /* %dr access                  */
> +#define X86_DR6_BS              (_AC(1, UL) << 14)   /* Single step                 */
> +#define X86_DR6_BT              (_AC(1, UL) << 15)   /* Task switch                 */
> +#define X86_DR6_RTM             (_AC(1, UL) << 16)   /* #DB/#BP in RTM region (INV) */
> +
> +#define X86_DR6_ZEROS           _AC(0x00010000, UL)  /* %dr6 bits forced to 0       */

0x00001000?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:25:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592313.924997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazf4-0006JW-BF; Tue, 29 Aug 2023 14:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592313.924997; Tue, 29 Aug 2023 14: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 1qazf4-0006JP-8d; Tue, 29 Aug 2023 14:25:42 +0000
Received: by outflank-mailman (input) for mailman id 592313;
 Tue, 29 Aug 2023 14: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=Sej8=EO=citrix.com=prvs=5989d6290=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qazf3-0006JJ-16
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:25:41 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb5d2100-4677-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:25:37 +0200 (CEST)
Received: from mail-mw2nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Aug 2023 10:25:29 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by CH3PR03MB7411.namprd03.prod.outlook.com (2603:10b6:610:197::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.36; Tue, 29 Aug
 2023 14:25:27 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a%6]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 14:25:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb5d2100-4677-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693319138;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=vsRr326Xw2OJ8FlGon0rmZVKhGeylzTBk5V5UZz5VcU=;
  b=AIPl0AWKoX9Ye7JXut49lucpru6TOQhr+Qg+zv/UJfYrOKPbun4KOR7o
   BU1c3cg0GYT27m79ZKqEvwAzTUbrUqqJKpM4E/O5zruVjJhs4/uT+GUR2
   ldmFh3BvWsuMauMkfKdiEfUPp0OdYYYCFLmERc1zyoXqd5IWJih57MVMl
   U=;
X-IronPort-RemoteIP: 104.47.55.109
X-IronPort-MID: 121415123
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2FSTDqC9mhM3chVW/9viw5YqxClBgxIJ4kV8jS/XYbTApGsh1jFVz
 moXUWzSOKmCMWOje4gnO47g80tS7ZKDxoRiQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMscpvlDs15K6p4GNC7wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw1sN4W3Fr2
 8QkDxsva0ugm7qrzLSiRbw57igjBJGD0II3nFhFlGmcKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+Oxuuzm7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqCvw37KWx3iTtIQ6M5aE0/5E2W+v9n0vKDAuWFW4haeplRvrMz5YA
 wlOksY0loAu+0i7Zt38WQCkunmCvw5aV9c4O+8w5RyJy6HUyx2EHWVCRTlEAPQ9tcoxQxQr0
 EGIhNLjATFzsLyTRmmZ/73SpjS3UQAKKUcSaClCShEKi/HmqZs2hwjCTf5iFrC0ldz/HTzsw
 zGMozM6jr9VhskOv42r8FaCjz+yq5zhSg8u+h6RTm+j9hl+ZoOue8qv81ez0BpbBIOQT13Eu
 WdencGbtbgKFcvUzH3LR/gRFra04frDKCfbnVNkA5gm8XKq5mKneodTpjp5IS+FL/o5RNMgW
 2eL0Ss52XOZFCH3BUOrS+pd0/gX8JU=
IronPort-HdrOrdr: A9a23:/IfsGKgrZf+w6bu1oFjGLCr77nBQXtoji2hC6mlwRA09TyX4rb
 HJoB1/73XJYVkqKRMdcLO7WJVoI0mskKKdiLN5VdzCYOCMghrNEGgN1/qE/9QiIUHDHyxmuJ
 uIv5IQNDQ4NzZHZWCW2njaL+od
X-Talos-CUID: 9a23:JPu4KGA7CYB/0EL6EwVC+xQEP+4dTlr27nKLAFPgFGpvUbLAHA==
X-Talos-MUID: =?us-ascii?q?9a23=3AgaoY7g2QytF9xFDdqe1aCEuz9DUjxI+SLUAjyKc?=
 =?us-ascii?q?6i9i4FQFINjmeqGqnXdpy?=
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="121415123"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eEhbit0IZLTQkmxumi8PMNU6O03Jl7i5228EyVUBRsRVUmhCIGMLERjtRcyFUebj/bq4l3yJMfp6pQoPHuilj2rcU6RdPjVyKd/iw3YJSjtzvDNfuYefg4/UKB7rZhUabTahr+Z2efExFVjpQvrrv/PpR4qBFeU2UqzkMk81EOZnFGgBE6RZs8WmjA2GZsDtwMLbMdlwA13OH4M1JHpmU1hD7E5refxDPjo8MjZSNw6rWuYAHuRVU2F/9YssZuWHg8yFR0RQ8vxSc7dXNptVurMx8D+rjailteuQzK+PeKzlJalcNxwD106ZbJ842FQba4IgYaDgUKZ9MpHlmOhzSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LP/LdwFiec20IrDICoiz/rBWHYj1B+a/9/5mAJAYe/w=;
 b=OrvfFcfkinpa8VgWCuctnd4cxy2dpgYq51t9/82Spn0rQfGcPuanZDErayUh6wfH3/HLB5Emy8RcrPoPY72laScJGEze7cXtBRWAbwI2VIkB8yHehMKYvkYhskfFIR/EJcM1UNd5AU6c4rUmrh0mzZ0p8HhRza/8PFLib197PrEixMB5JEijtqqGMd+jAPS1/m8XV5uf+uab9j/yICKaCdupHEVzZzRw5EZAEPF9IREUnz5QjIQipec7WsPubZE9J/WxC+k9JMJ7Icyjs5nEGJ5HKKdWLoKxW1L8Tgk19rq+NO1iz0kEGlWWkX2uadoE9cGld9raAwKStixhz0D61Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LP/LdwFiec20IrDICoiz/rBWHYj1B+a/9/5mAJAYe/w=;
 b=pOKsbyCbIgfe7seGAnYhjucCkU5uDjLe9UXEK7TehFGM5rcyCcKHHZIv+1J1+KvUnzP4dSLlo/YS6CnGu1+s9yrxqari6iHMP5hzBxYxcm8U5zLNZDHsLzRxmZs9U7t6AdxEzpc4R78pFdmYksd3yddP3PKWc/k7CKXeDFaxHew=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 29 Aug 2023 16:25:20 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thomas Gleixner <tglx@linutronix.de>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Simon Gaiser <simon@invisiblethingslab.com>
Cc: Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Message-ID: <ZO3_0GKvEk-qoaoa@MacBook-Air-de-Roger.local>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
 <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
 <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com>
 <87jztga3sg.ffs@tglx>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87jztga3sg.ffs@tglx>
X-ClientProxiedBy: LO4P265CA0077.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::8) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|CH3PR03MB7411:EE_
X-MS-Office365-Filtering-Correlation-Id: 018ad168-a457-4682-152b-08dba89bca2d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L1ymU9/SZO48SzasaWEPmSqnY5lmMX7TFIzfiwnHvoz0KsbmDbKhU19/TLHDh84Ms2+IAFGJqJZITsmn7VLlrgUJVDZ3ZxJSnl3atlZrHG4GIo/X4qQzNgu2YrNGK8ycdd8ZQbNGKMhHOW9m0WNOl0Y/ymDgHIE33PZGrQdkkw3KXh08IEhukhIDd9/820QDvF2H6caX00TnpXviHeM44rcQdVwoIWtE8HG7SiB4w3IG/ffwa4it3Wdfj/tsLBDS3/v4yCkl2sZ4hdZoXXpIfGNOvw8GytFjAHMUSo6MuEST++bep1y5biBK67XckLh0TdaWGvuZmkuVt1gwFqJO8p5dAQmHRsWZGm5xKBy1bTF/hBHw+JmJS7pw+n/377W2gMcznDxIZ9ZeaWJyRyV7rKtBSC1t+ao/NAeZjacw6Ga+jsW4H6d2GPNC0VKIRxiVhA4LcTwXFAbpXj8L+TvzwhEGYY5BzPa+dry4mbGUtwUFvHTrE6Xt3UZNorVN3DyG/bpNE/TTtCCLU+WoSl3WxqDydnQO6pRL/OdHprPY7LKAi96Oe97o3hWybWDja/hT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199024)(1800799009)(186009)(8936002)(6666004)(110136005)(53546011)(478600001)(6506007)(66556008)(66476007)(54906003)(66946007)(6486002)(316002)(38100700002)(41300700001)(82960400001)(6512007)(9686003)(85182001)(26005)(8676002)(5660300002)(83380400001)(2906002)(86362001)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akxyNngzdEM4MjlHVWZvQ0F0RWE1QVVtY0FkbXcybjU5UHZWYUNOOURRcENs?=
 =?utf-8?B?VFFoWmtOVVNtVmczNi9iNnJObkEzRHZQaFFGS0FUQkZRTGRmY0hyaFJMb2tp?=
 =?utf-8?B?T3BQVmVWYVZSMGt6MkI5aUtra1VJUUZYWXVVbVV3Q0dDU3FoNnhGNkZVeHIr?=
 =?utf-8?B?R2VFaHVsTTB0Q3oxL0ZNSFNwcmpCMG5TdGlwK2dmbFlPTldzUzY0M0V2NTdI?=
 =?utf-8?B?a1oxVDBYY3NqRlh1NzIyWWxBUS9CbDRUUlhrbDJoYkIxYzk4aTdDTmQzNmVj?=
 =?utf-8?B?RUdscXNpUWIxdXl1NEJ5SFprZXFSTkJLZE0yRTZqZDh1VVYrem9TRi95a1Nh?=
 =?utf-8?B?MFIxSTFBajRmTmt5OTIwMk1wWWowV0kxZFZzWnEvUTdtSFJlL0RqSlhuSFN2?=
 =?utf-8?B?YzFkTkFQUllOMDhzY2taMnpKQnJvMGFLYlZMemxHNE4rT2FadVBwL2tDVGpT?=
 =?utf-8?B?L0xiQTM5Z0R3bzRnSnBoT2RGR0ZXeVFUSkZydW93U2dxWGJQN3hoWUFoUDFu?=
 =?utf-8?B?Q3hDaG9NQTNSeFE2dFZsRGdRc1cvQW84T2dHTWhlNHZKVXNIeXdkWWMxVHJx?=
 =?utf-8?B?b0xCV3U2cGY3TjZYY2doODlBL2EzMnpxMCtGYldSdzRjZThZTmJaQU80aVJH?=
 =?utf-8?B?eVJWWFBkYkp2eVEyUUllL05jbXYvUDlBNS9NdmVaRDVyaThtSFkzWVpCNzY1?=
 =?utf-8?B?ZTY4b0k2b2h4TW1PQUlmQURwY3dycnlwWVdnSHpuNTltYmZrek0rNkwwNEJ2?=
 =?utf-8?B?d1EzaWhJYkdSbExXY2g4WVozU2ZhQXErMUVjK0pPVDNJK3dlN0NWRURPSEUx?=
 =?utf-8?B?MkdUZmdYdDhxdlhuSHlLQWg1WlVEQ2tEcnBHQ0o5WTZSZkU1U1ErbFFCbVZQ?=
 =?utf-8?B?S1BkV01pMWJTRHdsVTFIM1dUemV1a3d1S3MyT3dQdHpiQWZCSS82UWlUMUFu?=
 =?utf-8?B?ZkV1azFxTTVaL2NYeGRnTmNVY2dNZElocGlIek1aampQVG9vcXp6aDRmZytx?=
 =?utf-8?B?ajUrOHhhZithc1NtUUVJNHc5Z2h2NkQrekprcFZwMEszQ0ZQUjljbVV5akhq?=
 =?utf-8?B?NFhyWDJjVERqOVdBaWJBakw3UTJOdGxWQWdBZFV1M1UzbnFRb0FUZ0ZYblpM?=
 =?utf-8?B?aEVWU3Y5dGthbFRoZmdINHpmOFM3K3c0MnN2RlBrbHJuazNraEVuZFJOMnZQ?=
 =?utf-8?B?L3RycUxEY0lVYm82UDllTkdreXVwVkJzYVY4cHhTMGdyYUdraEZYTkhuOWRj?=
 =?utf-8?B?OWZXejJaUWpQNWhjaFROMStabkFTSGNncVJnczdHVURvQ0x3WnpoTlh1OUV6?=
 =?utf-8?B?YmZ5UFplS2svamYrRHF2NU9uYnJ5RzVXMjN3RDhCODBBL3J1K0Z0SWtHdDZI?=
 =?utf-8?B?bkdqdDNLK3BMUHFBYzlTSHBhTDJCSm92SDNGaCtyY1NJMCtoOG9KandkZjVF?=
 =?utf-8?B?U1lPa0g3SkZhVzhwbnBKelNiTlJrOG1FUVpKT3FON2xlNjQ3OFJzMkxydGgv?=
 =?utf-8?B?eURsYkU2K1hna01BU0NyWlc0Q081UU5XTVJlWGZlaDNNVTc5YlR1TmNWL1Bl?=
 =?utf-8?B?SFdLbjJ1dW1FWmY1eXA5N0hFMWQ5d0dVOFVlc3ZMMHZsbXVvMHNuSUtTSWVr?=
 =?utf-8?B?bGZvY0RuaW4vZ28rVmFETzNsTDAxbjFobG1BakNkWVhoOXZVNHhmVEIwMjd4?=
 =?utf-8?B?UGs1T0RSaFYyZ1RRT1pSaTJIaFc1L1pFQk5qaGxsYlJXb3VLZld6WE5INFdN?=
 =?utf-8?B?b1d1bXkyYVp3dHpGdy8yOThpOVBFSlZkdVJNTzJENzg2c0Z1NjlSSDZMUHNk?=
 =?utf-8?B?cjgyL2xuRnA3VEFCcTJ0OW1NWUVieHFBc1NUc0ZqQUxRL0dZdytRbUFZUFJJ?=
 =?utf-8?B?ZzFvcTNDUEJzZitZb2VLOFVLTm9MY1Fsbnp4VXdNRWFUZnhrMEthcmpWL09I?=
 =?utf-8?B?blR1WDhvVVNQb0tlckFycmZ3dXF2SklHN1dwbjFML3Z5ZCtVdVFhSHBYYjY4?=
 =?utf-8?B?enpzWUx6dmQ0dytQZGt2OVRaUkpOenZOMlkyVmh2ZEZoaGJ3L1diUW9zUTNi?=
 =?utf-8?B?RE15WlpXYnlhcHhnR3lKbTNzTmw4S1o5c0VJM2lQa0pIL2gvQzFBZUxNY292?=
 =?utf-8?Q?tGddxM1I8pa+54PQg5tW6LUZp?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	fY1i4tctrmcKKbY6zfOAXHj7o1e9cEqJu4k+XG+ew4aLTSxzZx92h7OZ0nFr/nhUhRq9GZegSJa/KMtfqyZt9nsvxT5VwHrYXDGHQbPIsGPzyKHx3umkrNtpg71IWzgDQ4KG9pLb6HnLen6VXzHs12jiTMO15liAgi+qU8boGv9QBcfu7pk+PPoo1ZxVJ7H0VOGZtO3DM1Y6Phm1GA13wXbgkaWRsCUkowOPZ8meDXx1DLTce0Q3Lft1oj7ElahN1K3hQY9GxY90X7KGhfyrTCbZ6oV1urIvswIbdf72tpmqWwTZ+Pm9Q0fIot5EVZb/JoMcn9VnB0podxUZ3ZMWeV/+mq8aVXKu3SgaQq/GRwS+5S5Vs/VWrv7SwcIXWS2mu1NJa2wqClaNjJNifTfH2PsbXviHk/b08oLJa5su09jXvtpCgyLyuAvLETHnLv11HO8sC3vIUKiQs6s+8N4uMWU4WRiOsoFysxX6RNA5SZFiR+siIpRD9MlSiRvD2SWHCGpoznqiaBZsGzZG7tpnHLTbhwyEPJtmWp9pXtBtP339SgRtICZANVNya1R4n/blj0W7xatM3oPjz1VdsA25GcXrRAk73b7o1YcF+oHPbas6lk1/9vB5in1jNRbIyZql7PSOlGpx+TWUpnjHP3smp4hZTrdbgqsb1AQbKkba0W+DuKy7DIUbqbYjmh3WIkNL17Dr/sTWiqZkiG22JKI4fkWBnHagpQ7ziPcNKh/br12a0tNXE0ZalpdTMQyTu7PXOXc8yImGxE8J7zdJoiY6yJZTKwHhT0rJDoRViqEVRgiZxHmQ0xnh07xgr8gMHe2Ty9J6sIciNEksIUaQ3cKziyTwwbEDmESnNR6voCqT0Gq7bzqhZG3fm6u/1gHczw0w27erUTTj5Kz8U3NxdDfI9hXucBd+AK4P+mk1llUOc50=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 018ad168-a457-4682-152b-08dba89bca2d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:25:27.0951
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N1acpuGnQuQD/K5jZdWNczcApRWJpDvhBcrJWeamcnHghXUdYo99pTRpGwsFhhNOqdofm+GtjNeQN0aVUCOLSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7411

On Sun, Aug 27, 2023 at 05:44:15PM +0200, Thomas Gleixner wrote:
> On Wed, Aug 23 2023 at 14:56, Jan Beulich wrote:
> > On 23.08.2023 11:21, Andrew Cooper wrote:
> >> In the spec, exactly where you'd expect to find them...
> >> 
> >> "OSPM does not expect the information provided in this table to be
> >> updated if the processor information changes during the lifespan of an
> >> OS boot."
> >
> > I don't think this tells us anything about the ID not possibly changing.
> > It merely tells us that OSPM is not expected to parse this table again
> > (IOW firmware updating just this table isn't going to be enough). IDs
> > possibly changing is expressed by (a) the "if the processor information
> > changes", and (b) the next sentence, forbidding them to change while the
> > system is asleep: "While in the sleeping state, logical processors must
> > not be added or removed, nor can their ... ID or ... Flags change."
> >
> >> Which is wordsmithing for "Some firmware was found to be modifying them
> >> and this was deemed to be illegal under the spec".
> >
> > That's your reading of it; I certainly don't infer such from that
> > sentence.
> 
> The APIC/X2APIC description of MADT specifies flags:
> 
> Enabled        	If this bit is set the processor is ready for use. If
> 		this bit is clear and the Online Capable bit is set,
> 		system hardware supports enabling this processor during
> 		OS runtime. If this bit is clear and the Online Capable
> 		bit is also clear, this processor is unusable, and OSPM
> 		shall ignore the contents of the Processor Local APIC
> 		Structure.
> 
> Online Capable	The information conveyed by this bit depends on the
> 		value of the Enabled bit. If the Enabled bit is set,
> 		this bit is reserved and must be zero. Otherwise, if
> 		this this bit is set, system hardware supports enabling
> 		this processor during OS runtime.

Sadly this flag is only present starting with MADT v5.

> This is also related to SRAT which defines the proximity of memory to
> processors at boot time with a similar set of flags.
> 
> Also 8.4 says:
> 
>   Each processor in the system must be declared in the ACPI namespace in
>   the \_SB scope. .... A Device definition for a processor is declared
>   using the ACPI0007 hardware identifier (HID). Processor configuration
>   information is provided exclusively by objects in the processor
>   deviceâ€™s object list.
> 
>   When the platform uses the APIC interrupt model, UID object values
>   under a processor device are used to associate processor devices with
>   entries in the MADT.
> 
> 
> MADT is the authoritative table for processor enumeration, whether
> present or not. This is required because that's the only way to size
> resources, which depend on the possible maximum topology.
> 
> Otherwise you'd end up with a CPU hotplugged which is outside of the
> resource space allocated during init.

It's my understating that ACPI UIDs 0xff and 0xfffffff for local ACPI
and x2APIC structures respectively are invalid, as that's the
broadcast value used by the local (x2)APIC NMI Structures.

I think Jan's point (if I understood correctly) is that Processor or
Device objects can have a _MAT method that returns updated MADT
entries, and some ACPI implementations might modify the original
entries on the MADT and return them from that method when CPU
hotplug takes place.  The spec notes that "OSPM does not expect the
information provided in this table to be updated if the processor
information changes during the lifespan of an OS boot." so that the
MADT doesn't need to be updated when CPU hotplug happens, but I don't
see that sentence as preventing the MADT to be updated if CPU hotplug
takes place, it's just not required.

I don't see anywhere in the spec that states that APIC IDs 0xff and
0xffffffff are invalid and entries using those IDs should be ignored,
but I do think that any system that supports CPU hotplug better has
those IDs defined since boot.  Also it seems vendors have started
relying on using 0xff and 0xffffffff APIC IDs to signal non-present
CPUs, and Linux has been ignoring such entries for quite some time
already  without reported issues.  Overall I'm inclined to say we
should take this change, as it avoids flagging a lot of systems as CPU
hotplug capable when they are not.

Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

I think Andrew had some minor comments.

I wonder whether the check should be done after the entry has been
printed if `opt_cpu_info` is set, but seeing as the ONLINE_CAPABLE is
also done before possibly printing the entry I guess it's fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:25:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592314.925007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazfG-0006be-Ib; Tue, 29 Aug 2023 14:25:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592314.925007; Tue, 29 Aug 2023 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 1qazfG-0006bX-Fh; Tue, 29 Aug 2023 14:25:54 +0000
Received: by outflank-mailman (input) for mailman id 592314;
 Tue, 29 Aug 2023 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=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qazfF-0006JJ-2c
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:25:53 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2ef5a58-4677-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:25:50 +0200 (CEST)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Aug 2023 10:25:48 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6641.namprd03.prod.outlook.com (2603:10b6:806:1cc::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Tue, 29 Aug
 2023 14:25:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 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: f2ef5a58-4677-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693319151;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=J66kVp/HDY0A+uQ6sgaKgszLYB9xsKbIFzTdpUpLsWk=;
  b=O1EzuVuC8vMWfVINVTEMB485gIZqnzwPu1EondqbLq/UBc+7DbpPArF6
   gH1VRLNVqEQRLuU+sYBM1jPX/tj3Mg7nXwJddD5djhVljtT9PKD+xVXR+
   p65Xc7zZJu4JefJppdAGThQ82VBjyayF6YnERNz4DnZFSzhxPWimvHeIJ
   Q=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 120855061
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Ba6N1qgZn975Nc2BmAYIqiNuX161pBEKZh0ujC45NGQN5FlHY01je
 htvX26Aa/aNYmvzKI0gati/9E4HuJXdzdVgTwBu/ChjEngb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyo0N8klgZmP6sT7AWPzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ1eTsxQDq8qN7x/+yWF8t3lvYpPIr0adZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGzYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TefgpqM32APKroAVIBMXZ3H8m6C3sBCBHNZ8F
 HROqggIvLdnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBebT4r0
 FiJ2dDgAzMps6e9RneU97PSpjS3UQAFIGlHaSIaQA8t59j4vJp1nh/JVsxkEqO+kpvyAz6Y/
 tyRhC03hrFWgctV0ay+pAnDm2j1+MmPSRMp7ALKWG7j9hl+eIOue42v7x7c8OpEK4GaCFKGu
 RDohvSj0QzHNrnV/ATlfQnHNOjBCyqtWNEEvWNSIg==
IronPort-HdrOrdr: A9a23:VrIXuq+mAy93lsuwSyhuk+DYI+orL9Y04lQ7vn2ZKCYlFPBw8v
 rFoB11726XtN9zYhEdcLK7Scy9qBrnnPYfgLX5Vo3SODUO1lHYS72KLrGP/9QjIUDDHyJmup
 uIupIRNDVXYGIK7vrH3A==
X-Talos-CUID: 9a23:vPuXZGNnNkhnie5DdXhsyGA+Je8ZNUKD4SryOF+KA3YqV+jA
X-Talos-MUID: 9a23:q4VWEwu7e3/vk5n8b82nijBQHoBSuqqUVn9KlbY5g5PUFwphJGLI
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="120855061"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PtcYb6kdwkLXiP5T56E3bvXtQAQc9luX1/5zVG/02zXKhasdlf5sbLrRwFLa/nmZK89fsHSOMvKcMAJThrhDHa9fV/gY1aetLZh+tI79hnUqqVyN6U/ZCFcipI8osETdBvTUHHvwoDGyBlFsOl4ziLGQW3aMB9CTsPHXS5agOBGTGm1jXWO+cYHynVAYCwED84LFoTioW2JMycWxIYikVNFafuFKxF2siU69wYORyp7eGsDRzh9L4wcT1i9aWOXP/OQ4NV6t7SBraJ4ZoJUIaRrn5EFaUGoUye8WhJKqAdowEvSaqjB7aLb8u30fN3YUAQ4DNnZBp6CcRZaJG9SGdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N+wQ7Ben+xcbKUHXeLrwASrD+Z+XRv/FK5/PISgOCuY=;
 b=Mkom4c42+c3YzTPtjR+YC9Y3t+eUwXiJ5snvdtMrBN8CVqoyZrw7qTxCPie8uiEOrkMbKaPutUvZx+o5clg5lSR9339/Oy2Mx/3gnYoiiZ6IBZNaX8I9dJ2tkUAqTR+Wl5MCTZLD8fQjKSVC1kgPDFxWmTtyut5YSAIZgeMflzMRlgSR5B5mjl69AM9akHIV9XPOl21fgHZSQyqHgpszsEk4U+/lYYGZYdJY2TIhBjIw3nW0Fsj38Xq4LOJaxTIMnCvnd2HfSXuPxCvOj3YomHTX8SDerafiAXoJtF035KS5G87x3azdcTTM3vFFqS4OSHgju949lPVsJGEU/VQ9vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N+wQ7Ben+xcbKUHXeLrwASrD+Z+XRv/FK5/PISgOCuY=;
 b=rpNxjHhxYAj+uULX98mkWNk0x6yOKYJhoN6999txNg6IdMO/GLtlp2cjnoajb4Ljj8ygu6PmPhB5M69QnWPw2JEAmL6ciHVWV0aEE44dhQouKhYgjDxi05my1XLGaAPlLGaXTss1XSA1IV8GhSjImqv/vjhtjh+m9O4ebDOe7Ag=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <26efdab3-5565-5da3-97ac-d891ba80f2c5@citrix.com>
Date: Tue, 29 Aug 2023 15:25:39 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/3] x86: Introduce new debug.c for debug register
 infrastructure
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-3-andrew.cooper3@citrix.com>
 <959d2a24-bd66-8235-8497-8b662259fa80@suse.com>
In-Reply-To: <959d2a24-bd66-8235-8497-8b662259fa80@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0304.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:196::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6641:EE_
X-MS-Office365-Filtering-Correlation-Id: ef8d710e-6f46-4c3e-8c82-08dba89bd500
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PUQdn0z+8xjG4uS8eY/G+6Pb0Gtp6IkO951Ex/1vr1Trnj3FCbU5/pX2J4W9WZJ0HELyoVVtQHcjQ2mPkVcKldbA1VZ5STMWBdRDcDpoCYeN0Jk1yVBKq2D+LJNuhaeJn3ouW2MZ8Xa6bsoRQ85oWGmEbn/wqM2lxADHvK/QDm7O55CM1/Zp+IP6yEByvwy83iK5pkihHs9HFCmssbhtbVLRZ3stJkIw8rWEFtnS9DrEZcBSaV03wAXQ3aKkDrq4DHW7e38vadj5JFFqB4b2GyUgR+7TovhxjF1LCRVv32U7049XeJoJ7oPCcYnvo9Sx6qilP+pzQSF/a/S26fdOCpVh0dxGkz0iQIjmJG0A1zKJ2Goh/wLyMtwTeWK0IHSF16hvGKFQekfVKUaPSdBp8fb4feedkrLmF0zibKL3Uu8KrXk6BNMeYADGPGjlaPiV0B3Z53km2RheZgL/V3502sOafQz7Rz+rHo0TQHR3nx3Wspz8DXW1fQip87/WxsoPLl0IfeRHhiLnn1fbrvf6H2Q1vCQvxO6/i6c/PfsYEr+u2+qx4eXJkIrXcJwNBvCsr7DFrn60ncvbVGmXicztc7y9+h9zIZ9Mg3DEPsyHQvF6Bof/2l1hWqOKFPfb8E1dhS6cRCDWpYebzgmbHFRYUQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(451199024)(1800799009)(186009)(6512007)(38100700002)(316002)(6916009)(41300700001)(82960400001)(2906002)(4326008)(83380400001)(31696002)(86362001)(2616005)(26005)(36756003)(5660300002)(8676002)(8936002)(6666004)(6506007)(6486002)(54906003)(66556008)(66476007)(66946007)(478600001)(31686004)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bG5LVjZUanFEV0lsRHkremRUSGhUZVVPSDhadStKMnlLWWd3b2svMEpxZUpo?=
 =?utf-8?B?WTV3YytoeHp6VlkrNjB2alFPTG1mMmFVVXp2a0VWdmxvSVVMck9xekFWWE9S?=
 =?utf-8?B?cnpISW15NndDM1hPUkI0WVljUHB4dk5YT0lhcjhDQTNyVHhIemY2VkhWZ1ZK?=
 =?utf-8?B?RlF2czNHejAxb2s2NDByTjVNaTIxeDMwdUhJTjRxSlFVYitLREtGcUZVRFJG?=
 =?utf-8?B?Vmk4THltS1NYMitadHJnRXJJOEVGcWU0UTBOTU9ielNNY2loa3YramduK3BU?=
 =?utf-8?B?ME5hdUdoVFduOXlTQmU0V29KTUJ0N2FpWDF5YkRBVUhyTCtvMEZPcDlSZ1FN?=
 =?utf-8?B?eENPUlJ0anBlYWo3YVZwRmM1UTNFR2lCVjN3MGlWVlFBdy9XSEZzblJmWW0y?=
 =?utf-8?B?amJ4R3R6VlRYSmtxVG1sZnBDays0VFAzVzd5M2haS0FiajdkM0pOQWxMdkM1?=
 =?utf-8?B?S3d3RElIdVk0RG5leWJKWTNMRjlNeU80MHNVYUI2QVhvaHpvVytaZ2ZmbHFJ?=
 =?utf-8?B?U1MzLzdmNDh6eTNaQXZ3OTUxMjBmQzhmNlFtTHA2eW9FdHBxWHMvaFJHenI4?=
 =?utf-8?B?M1A1RGRMV0c5cTY3QmozREZZNkxYQ1VWWFJLWnBQWmMwTUQ3WDBSN2R4YWxu?=
 =?utf-8?B?N2hDQml6RFpEcWxLWWdIR1lYcGt2azZTaFFSbjlQcjBBTWxSa3dVbWoxbm1T?=
 =?utf-8?B?ejl2aFd4QnlxYzZFRUhNRldqRWluMmZZQmlvQUNZK0d6YzR6N3JxZEFnWnJJ?=
 =?utf-8?B?dkc1a1p3RXdFSk5SYUt5THZuaGZuZExiRFhrWWRqMUlMM1VmVVZ5OFRvYSta?=
 =?utf-8?B?ZzlkYUh5L2NwR2VVTHB4UW1vbVNjODZ0b1FJeVJkWEl4b1NYU1dJY2kyQmdN?=
 =?utf-8?B?Ly9ZR2MyZWtMOGhHdGNQWjhtZm5uY2ZWazQrWnZ5MzdFeitnOStEQWZRcmJl?=
 =?utf-8?B?U2lqOWxCS2I2VGVqUWl1TlgzMjFSK1RqTGZsSEhHdTVVT3F1OC9KTURPVzc2?=
 =?utf-8?B?Q1F1RDI1S1NLZmNSUFZzNno4aTJSaStGSWNSRkxLTFdwa2xMWE43a1JnRlZx?=
 =?utf-8?B?NVg3RjlTRzBrcUtJMTgvM1NoT0F4OEtVd2prUGVXZ2d4K1JLZUMxdVBiNStk?=
 =?utf-8?B?YzVySTh4M2hoWm5kbDdKRk1lWjFQRTYxZGdBb3VwOTduR1NkU0dNOHdzbWVF?=
 =?utf-8?B?TEpWQ1U5KzBRMERmaVFJZ3BDckFJSEpCQ0xveEIwa3Bsa0RwdVNIYUpWSHB2?=
 =?utf-8?B?UU9lRnhzTklHZldub0xUSVhrbmEzbllGeUJ5M0x4dk9SMkwzM0UxKzZTNjdi?=
 =?utf-8?B?SHlHRFUySG1aMi9PZUJLK0lrdGlMc2NCRC8rV0pDSURhTDJVK3lUVEkvMDE5?=
 =?utf-8?B?QndmTGd6VXpuRWRSc041WHNhYS91RUJkTkc0cXFHNUlJeHkrYzIxcEdBOUtw?=
 =?utf-8?B?WHJ0UGhIVHVqcHh4djJRODNRQmJWVzV0ZWhIaHlMbUIzUlJKeTB0SkcvZ0ZJ?=
 =?utf-8?B?SW9WLzBVVVFvNVZPN1J1ci93aUsyYjlRQ1JUZjh6b1JwaGcrUTc2Q1dPRE9v?=
 =?utf-8?B?RUdHWnc2emk2SjBzYjEzdWRBVlc3UFBvNll5L0tLQXdxNzVzeVoycDhPcWhz?=
 =?utf-8?B?bTRtSUJWQnNHOGpGWFJCREJuTTZUU09xL25mYk5PWEZidE1rQ3lVbEU4UTlv?=
 =?utf-8?B?MXFvekJFMzdGbGxjQ04wdzFvd3hMY2pTVXVGOHgrMHZQUmpubmR3WUU5Yk01?=
 =?utf-8?B?Ykt0UmV1Rk0wV2hiMGNjZUlqUXNsMmErbmZLNHJaSmJMY0dPZmRLVFN1TVlD?=
 =?utf-8?B?b2o5MjBYOFVUNmF2cXZkbWtQWGpCSTAzOW5uOVhHWjNVUUNCbVA0SEgzZ1M1?=
 =?utf-8?B?SG1RRDBYT29FTFROdWZIRU8wcnBwUitGc0g1K1lrZW85STZsOFNmdEpEUEov?=
 =?utf-8?B?Zm9CZlc2Uks2L0xVZGQ1MjZIU3NHbHdjaGUzUlJkMk9hbXY2Z1RSeXdLTzZN?=
 =?utf-8?B?bzlmbC9tTDQ2RE0yRkcxTHYxL1dCRkRhQjVVNjQrOHYzRy9HWWRMZWFERk0x?=
 =?utf-8?B?ZjlvTi9OYzFkQjR3QjE0Vzk3blp2SUxqVEVra1ZXNXRKVjBUMkNsa21uU1ZP?=
 =?utf-8?B?eXVIRngwNkttbk9iZDI5Lzl5N0lOcUZoUVpzcTRHVGFiYWZMbUh1V2s1T0R5?=
 =?utf-8?B?Y2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tNM6JG5iZYIUWBq73At8Gn7OBz7qg1imVDi2UiM6ylUrUaBp0zeaq+T2w0fEy5Ste22TXzogCL8jazg3jo9wE1wI3BdwwwkoJ650sheJsj1HFOFqqTvm3zZNyAzAJgtlVE/mD9TaCtYnNRA3a5rAa7V437WjxCORcBH/tFV/7rVxcJad3XahScQya6Xl4MHe0SChhd0c4AZKZsgCNiYWPaBC8hV6r+3vGF4ImzCsmDw+gzsTDCLSLtVxbUM7/HADZM3fbQQ8qmzN57f4as2N89KAKrIu2ZCU0tTzF+uW3Onc/Y8Dm8wrLiGRKYqvE7dHCmcrslZvL2u5hg6Poh21jmpVkk5xVondgRnWG2oosODAQS8UgoCdXJWTeyxaF9ZFrySAbz4Eo6+xBTZw8K19235kYpRQJ2l9CyM6oj/K6MdAkIlDcBtsyW0Vv9ngbI5nUecfbWd7KGle7r7QZ/u5Qo6pjh8frx0+1/PPF+w3yBEZE1MWsdVHwV+jcSrgWi6GS+sOlJDwJjslcsbOdTO9Fj5Jl1r36Imx4X5h083SwdKGahNW/m2iPt9TeW4LDvtvR0YLwX1fAVUYIsHxi23U1fwj8zizmeXsek66CZ+z7eCjZeF5VITPf2+1tXcidYIOa/YpNhsK1rrwpY7zDp/dudJeMzUk2M2bg469A1aQnrdQslYVO5h+jU1//eizbF3QlaGaIJdWFRfHxQ87gTyOrEQg6A66LJKUorXYk9DrwtocECVCoiVZhg/jhabmRJMpTSylYwmRNMlaDyS//hwV8tvML21+P+ssgfnZBfx0+PMQNMmHIOeNGupzChS/2rvH/B0YLD+rficoAoB3aWmtKxaLjo+wiz9nYb+4mDycFs0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef8d710e-6f46-4c3e-8c82-08dba89bd500
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:25:45.2586
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: znfDKs7oQqPDf2PUTGsUQtoqSpGl3vakHI+SMFdIbuhtGVHbxgRvhaHm1xE5WHu/RCxmYdh+lApbD4yNxZ04d+gA7ztcHFZtqSMuJRaPVqA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6641

On 29/08/2023 3:10 pm, Jan Beulich wrote:
> On 29.08.2023 15:43, Andrew Cooper wrote:
>> Broken out of the subsequent patch for clarity.
>>
>> Add stub x86_adj_dr{6,7}_rsvd() functions which will be extended in the
>> following patch to fix bugs, and adjust debugreg.h to compile with a more
>> minimal set of includes.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> preferably with (nit) ...
>
>> --- a/xen/arch/x86/include/asm/debugreg.h
>> +++ b/xen/arch/x86/include/asm/debugreg.h
>> @@ -77,7 +77,18 @@
>>      asm volatile ( "mov %%db" #reg ",%0" : "=r" (__val) );  \
>>      __val;                                                  \
>>  })
>> +
>> +struct vcpu;
>>  long set_debugreg(struct vcpu *, unsigned int reg, unsigned long value);
>>  void activate_debugregs(const struct vcpu *);
>>  
>> +struct cpu_policy;
>> +
>> +/*
>> + * Architecturally dr6/7 are full GPR-width, but only the bottom 32 bits may
>> + * legally be non-zero.  We avoid avoid storing the upper bits when possible.
> ... one "avoid" dropped here.

Oops.Â  Will fix.

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:29:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592327.925017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazid-0007XT-5M; Tue, 29 Aug 2023 14:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592327.925017; Tue, 29 Aug 2023 14:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazid-0007XM-1l; Tue, 29 Aug 2023 14:29:23 +0000
Received: by outflank-mailman (input) for mailman id 592327;
 Tue, 29 Aug 2023 14:29:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qazic-0007XG-2Z
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:29:22 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f20a5f3-4678-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:29:18 +0200 (CEST)
Received: from mail-dm6nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Aug 2023 10:29:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7532.namprd03.prod.outlook.com (2603:10b6:a03:28d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 14:29:06 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 14:29:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f20a5f3-4678-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693319359;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=NHV+QcFnl/i2d5dJxxj+Qo2vNf5F8IvIvinj5zuuet4=;
  b=LkJJWN4dO1MxQZHjbEVnFuPIZZ3YiEOMmrTzFDUOqKesfg7CF0nK2ik8
   Gzpn3FspclbQIgwb8OIi8Whfa4UeT9pcDXISUbKCxpdj8cbt38Fyb3Ji6
   jpoLyMIkgoxQL+2ddn9lMjiwEOaqLykhJ2NLrisr9XWX4mTNWqxwJrYC+
   8=;
X-IronPort-RemoteIP: 104.47.58.105
X-IronPort-MID: 123691352
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Tc7+Z6w8gkcLgTsuVmV6t+fzxyrEfRIJ4+MujC+fZmUNrF6WrkUHz
 mIWXGmHOavYYmD2KN9+bNy/8EIP7cXVzYc3TQpk+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EkHUMja4mtC5QRuP6ET5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVNlr
 uI/Bj9QVDmg3cOs4quqZMJtqst2eaEHPKtH0p1h5RfwKK9+BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVQsuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAtlMReTjq6QCbFu71C9NUQ8KBFKAgMKCpFThC+5AG
 10U9X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L84QefAWhCTTdHZ5olruc5QDUr0
 hmCmNaBLSNrmK2YTzSa7Lj8hSO/P20ZIHEPYQcATBAZ+J/zrYcrlBXNQ91/VqmvgbXI9SrYx
 jmLqG0ygusVhMtSj6Gjpwmf3nSru4TDSRMz6kPPRGW54whlZYmjIYu19Vzc6vUGJ4GcJrWcg
 EU5dwGlxLhmJfmweOalG43hwJnBCy65DQDh
IronPort-HdrOrdr: A9a23:VjYYYK8OE0XbjChri8xuk+HJdr1zdoMgy1knxilNoENuA6ulfp
 GV7ZAmPEHP+VMssSkb6KW90KnpewKgyXcH2/hkAV7CZnighILMFusSi7cKrAeQahEWmtQtrp
 uINpIOeuEYbmIKy/oSgjPIY+rIqePvmMvE6YixrhcdLnAJGtgQlzuRSDzrYXGeLzM2eabRYa
 DsmPav0ADQBkj/AP7LfEXsg4D41on2fMuMW29UdkwawTjLqQntxK/xEhCe0BtbeShI260e/W
 /MlBG8zrm/stmgoyWsjlP73tBzop/M29FDDMuDhow+MTP3kDulY4xnRvmroC01muey81wn+e
 O8+yvIfv4DsE85TFvF/CcF6DOQjArGLEWSlmNwtEGT+/ARgghKVfapy7gpIycxoHBQy+2UmJ
 g7qV5x8aAnXS8oWB6NsuQhW3xR5wOJiGtnnugJg3NFV4wCLLdXsIwE5UtQVIwNBSTg9ekcYa
 tT5eznlbZrmGmhHjPkl3gqxMbpVHIpBRuCSlUDvMvQ0zU+pgEz82IIgMgE2nsQ/pM0TJdJo+
 zCL6RzjblLCssbd7h0CusNSda+TjWle2OJDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiJ8/go
 7IXl9UvXM7P0juFcqN1ptW9Q2lehT5YR39jsVFo5RpsLz1Q7TmdSWFVVA1isOl5+4SB8XKMs
 zDea6+w8WTY1fGCMJMxUnxXYNSbXMZS9YYv94nW1SI5sLHQ7ea/NAzXMyja4YFSwxUF18XKk
 FzEATbNYFF9FmsX3/zkBDeV3TxE3aPta5NLA==
X-Talos-CUID: =?us-ascii?q?9a23=3AMzjZrmmSFst7/BpI0+Hd2duE1vHXOU/2l2n3DUD?=
 =?us-ascii?q?lM09KEpyPa0aB1ohlv8U7zg=3D=3D?=
X-Talos-MUID: 9a23:SXKdJwS+8qweNHtyRXT+x287Jts56p+PM3sji8pWh9a0JCx/bmI=
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="123691352"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OfwgoXWHYmJW+Hz7qA1C8M5OO597ioMruxC8y5C8yBv9s2Dz4o001LtoC+0/aFkmCD+WipJvzB5IFYW9ibj21xKRDn17en+ba4wcwTwhbhGlexa5sctN75aXSUUfeuy6LRvAHjkdOkk/l4YMnD6QOd0e4PswDLehbYp7gW5PgHYwolH0DSgUs3OtvaqyU6SZoGUw5w1WuKcPJNG7Rxktwu2aCcI4sjdr8UP38REOPhe974L80uUoZISRouRkYPOt2KaEePCNXYNLZxJIjqdsC8baXH58rUHwFhjlVZxaFArn1zGNxido/1FfZsWLwx0hD9Zfg6tjJdbe6oNBW/kw+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NlqwqB5UNIVZrHrLU3SLnKJW6X8bzQTKZy8XVqMNzNs=;
 b=h002BgSl26ZPJCVJXerepkRCnETbNxQxnKNLOkqtBCZtnhTNWbvvrrVUO4ZFXQ+7rAv5fwUIbEH2BT7B1CHMxlagO1yMT9zISAgRGSt1gWDfnkTbMjV/q4tDx8XkMVktPogG704DIkUP9j60FQZHy0NVX/hVnZt4pSpER3+KL5TWLGsVwNWm958Mgr+9fNxLXwTN1AcS7//r6vGcI8BEfhjXUfwDZO6eYYZXUPzO4IjS58tT7eKH8wqdjWEAadWhQHB4FjhohFWXBGK8/488uP0hjX6/nofJNDjyofIxN7dxaN00PyDHnlpTSKmwlfiFzSwlfWeVNvv5m7cSbLpNDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NlqwqB5UNIVZrHrLU3SLnKJW6X8bzQTKZy8XVqMNzNs=;
 b=SjZH1gwTuup6LevSbO/snZnB0w3fw42wa5CFPWSqEH0WOaJ3irryJv+B3LLzd69M9BfhCRZXh2sJcmalh0NZ8z3J2XZW3FxCz6ULFoX9PPpFpoemhuRWYOjNrY3L8VEEOdgQKnJ01S9B04nGmY0EfO0FPEWSZMGqytuxGmmmwqE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <339df064-0ee7-2b2b-ba73-4528cc2b0b00@citrix.com>
Date: Tue, 29 Aug 2023 15:29:00 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 3/3] x86: Fix calculation of %dr6/dr7 reserved bits
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Jinoh Kang <jinoh.kang.kr@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-4-andrew.cooper3@citrix.com>
 <f5e258e1-5517-2276-6497-4288192cfeaa@suse.com>
In-Reply-To: <f5e258e1-5517-2276-6497-4288192cfeaa@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0231.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7532:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ec65935-230c-4a74-b0b1-08dba89c4c76
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O5XYrNjpBqKs+GCG/6IaBV1PmO3Rhz9KV3SM5wSyRx8DbkSEZnk5/lEojfkXF7KoJFuBVsS4anhwFOnN+/4AL3YzLaa67Le+ZbfVW3hnGrYkb8KmK315ZrUBfIGljtEy5bDiGhloh1RpxpEcEL5yTwGs7TLRnjIoJErdpm9A02g4R+Qk0qfzkrTY1LZ7fxK74afoUgL+9VSDKCiJLZ5i7OaWL1ZcqxMJH1gRZ52CV/Nb/E4W4g8E8eOi9zmGy3PJpxNWiMERmvueP8cm7kg7+I1jFcyfqDOlWA8aV3uR2C3OsGUD4yDuVcbDO2x3ArHL6OKi9cPJ2PIcb6teNr9bRhqvfYEd4pmYiKOzdcGyINxOJ5TuxXC5+pMvIJeMR/YIPyQG7s3Gd8kxowHLa7ikCZeMFU7UvWUmt7fp31YAQSFnFSSOA2ZaN5yAnqVxFA8R3sDq0To8YBvVR24YfqvDpoUaW62kxl56H4XebKFroorMfe0Ny/bK72sSHS9cfFY2mRZVFtf3hVTFnVzNky4gY+5fvlw9NKBSwV/842H+ZX3nKFFGGyXzOPbLj7ERNB42iAwqtWgs54bHBHQbre51ll0vPawNWEIxnjMVP2l7u1zqTHNgOttxhWIbmwmtFrsQL5aC8hjL7YRwdyvpH/Ce0A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(136003)(346002)(396003)(1800799009)(451199024)(186009)(6512007)(38100700002)(316002)(6916009)(66899024)(41300700001)(82960400001)(4326008)(2906002)(83380400001)(31696002)(86362001)(2616005)(26005)(36756003)(5660300002)(8676002)(8936002)(6666004)(6506007)(6486002)(66556008)(66476007)(54906003)(53546011)(66946007)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3JRY05MS0ROYjNZWkV3MkpxMHk0Y20xTVJDR2FNUEx3eWl0NVhrakYzU1k5?=
 =?utf-8?B?d0h2cTdyZ2Z3RzNpWXZ1QnhFN2R2Um9KVU1KdHd4Z2lZSWRlRnNoMXdvY09Y?=
 =?utf-8?B?Y1oxR2ZWa01kL1N2VlBIYmQ1V3lPaW01NjlkQlVMa2J0eUZpelkxWEUreDJH?=
 =?utf-8?B?dm1YVnIzM2NWUHJNS2ZLTXRCcVdBcG40VmFWdFVleDBzWHlBMU95TnlUbldE?=
 =?utf-8?B?Nmt2U1pDbk53ZXdkaERZNWtxMWR6cnMvVk5EeHJUSFIwMm04Uk9SZWJtbEhx?=
 =?utf-8?B?ajRPSXM0M3BaQWFkc0tIWDRRVlRxNWUwMlpFQU4wSU1tV3pRcWZ4VDJveGcv?=
 =?utf-8?B?NVpXTUptNXBzRG8vQ3VDQU1BemFUZ1FCK0dIN1V3Y0hsNzJBN0pBWmN4M1Bh?=
 =?utf-8?B?UTdQRzZ4WVNVWnhkS0R1WkRTb3Y0Ukp3K1dramRhZ1NiUWcxbWo0Znd6TzFH?=
 =?utf-8?B?VkdldFJhSFhHbjNjbmJzcjFVaG12U091THFhNGhITUNyaHFDZ0hKWUIzSDFt?=
 =?utf-8?B?SWZKOWNqQnZRQ1NrTGpSK3NIZG9YUEVtaDRTQTRPWCtHZCtBY1owVmNyRDBt?=
 =?utf-8?B?MjFmR2VhVWNDbUdEQTFab2E1WVNTc0tHWG95eTgvaVBJa0lkUkViUWFSSzBD?=
 =?utf-8?B?TytCdUdmSnBNNm1jZ2twVGZ6aHpiaStsWUx3dXhnR2NuZExkQ01PV25Ib3FL?=
 =?utf-8?B?UXlGRUQzT3hzOGwxaFJSYmZGSm52RXJxRmVicnhDdUYva2w0YjVLdHVUOERk?=
 =?utf-8?B?WGhaL042YTlLSWxrNmNPWnZ1ODhUT21RcjVaQndoQU1wMkx3VlF4U2tIRk1O?=
 =?utf-8?B?ZkYvSmEvOXB4NUdYYzM3SFVQSkFYS2lSQ0s3NUlyb2pSeVBNNTlkWE5BM0hL?=
 =?utf-8?B?dC9hRHV6VTZySDZQK2xXWnpoMGdpdXBZcHFiMGJBRlFRNTRBdzFZaTRpNGpK?=
 =?utf-8?B?TkJQY2E3dWUrSXlab1pnZmdhTHFGdHlZTHVLVFBXVGgyNVA3bjcvdkRZOENU?=
 =?utf-8?B?K3hINWdaaHBjT0o2RGJZSEZad296VTZRbXg3YjZEY2UrRjRCMXR0RjBqWjFv?=
 =?utf-8?B?aE5SeXNVSDk4UzJjSW5vVjhDU0VyNjN2aDdVTEs4VTYzN015U2RGaEsrMWJ4?=
 =?utf-8?B?WlJaQ29nUXc5bUw4Y3BDeU1nbDhCTzVxRHUyZkhNelNuRHdYd0pWNmdyRmdM?=
 =?utf-8?B?WEQvRUNBTE1naXJpdEk4Ym0zcGs5cVllR0lsY0hUbEFkMHpXNmlGVWxkbUlw?=
 =?utf-8?B?dk55SE9uU3ZJREhnVEdkTWU5VWRRaVZ6R0VYZStRS0tCZ0FXUWdlcXhXcjRh?=
 =?utf-8?B?ME83Vk1LSitWSXRvNloxZUUxRkpoSTRHdlNvSzI2TnJDYktEQ2h2aFFSejVS?=
 =?utf-8?B?Z0NBRTBvcnl6Qk1uekdJVExqcU9FZndSWEhrU3E2TGRid3NqOVI3UkhZemJ4?=
 =?utf-8?B?ZVl6Y0syQTUyVGJwQURveDdDS215RGxRT1ZyS0x3cld5TmJJRzBCUEM4YlVS?=
 =?utf-8?B?VXRQcDFKVG5SaTRJQnZGVzl5WElMTlFYcnE2am1HK1g2TU5Ub1U3SkVRcEdy?=
 =?utf-8?B?S09KaWxTM00xeTVmWDh3dkg0MWdEYUdQR2V6cFFvR1dQTjBsNHhLMVdibnNz?=
 =?utf-8?B?L3VlOTdhZkVuYU8rZ2dUREVjd0xHU3gxczJvVlBMa0Q0R3p6eWtXQlMyYVdC?=
 =?utf-8?B?dXhNcldFWHAwQ1JmckNPR1BSWkpIazk2WFNHWE9SQWR3S2lwMnJqWmxVbkt1?=
 =?utf-8?B?VHczMmF5aWxDNWVpMEtscXhMRTlmTU91MVNPUTdmTkpZVVNDM0hGcElrODBk?=
 =?utf-8?B?S0I3SVBQVmYzaVRwYSt2ZmF2bXBIUjJweHZqTXJkVk5QODFWV3hDQnlPb1E0?=
 =?utf-8?B?cFpHN0pPR3g3UDFrZTFVejYvQ3hpc3hrUlBxMnVEZGF3aU1NRXFoUkNJSnpP?=
 =?utf-8?B?dWtmNjM1STZnTVlFM3VZVTFVeFhhcHE4SHhZaE1mUS9CYXRyd3ZFdzVzajVR?=
 =?utf-8?B?UzdwcHhlbUVWK0FwUVFVcGV0QmNHNXlqaVh0MlBOSnRzbGZkc0JCZVM1bmc1?=
 =?utf-8?B?YmYxdjRlRFVWQlZaWW4yZVZVUXFwd1Q1UkVzVlVJblVqLzZOTTB3MWRqUXMw?=
 =?utf-8?B?M0pPbkRZSUpXK2Q3YnZ1dy9ET0VqVkJ6a2Q4Z2tPNWdsUTlRenJKNnF0UkRD?=
 =?utf-8?B?Umc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	u6nK723i3xYpGxZNV9DFIaqfuqtH3d2wxuZKLXY3XulRhM1KvnY7GDcHqgJeRwwULM4oyl6p+6phqma0g26wkAusxvk2JuwKwZw+KOmCmQhKkiDzGRt3xW5jxvzVB/udZHtJUVg2DKBc4BtasBQw53ED+6BoXltsy3u9uX30Ta2tQEnx5XhDAlqzGjKC2OSTJYJF/vO/eNn3RMfXjztf2SnUGN0H3WK4RfeH5KMeAO59YR3gJos4wepIqltsBHlcaqN8qVbEuIUg8+Bsev/TovrCspgmw3rdsMduIlwHtVF5TySdlmeDIPEAQtKcPwrv96c7BzP6ispaK9XCHymcahAIkO/09cARDzFbP03qhZ3wDRPrFOhyklpcj0EjVW/rpYlnalLnhtB/jsAoADItem03HjIUQm/tCkpStq4gXJ+xWFkJBW47UgrLTMM9/l/rLbbGQ2y9jYpeSLF/fXsDUMqrVYUEGVy1gsknb10VZrMsWbj9ynR3YkHFJep60aEP/lyTLzg+kSAw8uYG6ifuJ+REYJDkbb4UlyEsx8gVzQeBweKExBnWlIQVBlQMY0YKMEfkQ/lGu1NVOaZgp+WCbenqz08TOL3fd3P+Mb5TyvMCihLzuAj2OdLS93UWPSWIprOQEUKbhFKmDicKO079tEVSL1jddO22PLE+b+HBTkUBOkdFm1XFuOTSHGaDDHT3W2MWP5NlVmdrwd2O8v0eu/YY8qhW1OzefK9RX8nAwyqud875tCKUq0jOQaT3swmlupS8XipkNVv0/fAx5DgI4G+RHxfLpKHfcFNv4qKdW4MsWX5n8IPB6iB4rbPLbsW+UhLpsOL+wpMATdLKGokKsslAhUytLoIxMYk4OKVe5hA=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ec65935-230c-4a74-b0b1-08dba89c4c76
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 14:29:05.7047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YM9Ey9THPbj3pUTI/FF9ethxk4FOWjeLF3tZq47qAaIGc4JxGKVWvkI3r5gvRwqXouTWikxA7oKqviaVI8g0Xcg43zidVqAy3EMDoi2SACo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7532

On 29/08/2023 3:21 pm, Jan Beulich wrote:
> On 29.08.2023 15:43, Andrew Cooper wrote:
>> --- a/xen/arch/x86/include/asm/debugreg.h
>> +++ b/xen/arch/x86/include/asm/debugreg.h
>> @@ -1,6 +1,7 @@
>>  #ifndef _X86_DEBUGREG_H
>>  #define _X86_DEBUGREG_H
>>  
>> +#include <asm/x86-defns.h>
>>  
>>  /* Indicate the register numbers for a number of the specific
>>     debug registers.  Registers 0-3 contain the addresses we wish to trap on */
>> @@ -21,7 +22,6 @@
>>  #define DR_STEP         (0x4000)        /* single-step */
>>  #define DR_SWITCH       (0x8000)        /* task switch */
>>  #define DR_NOT_RTM      (0x10000)       /* clear: #BP inside RTM region */
>> -#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
> As you're dropping constants from here, how about the others? Especially
> DR_NOT_RTM would be nice to go away as well (I don't really like its name),
> yet DR_SWITCH looks to also be unused.

That's dealt with later in the series.Â  None of these DR_* constants
survive, but I think it's better to leave deleting them to the patch
that converts all.

>
>> --- a/xen/arch/x86/include/asm/x86-defns.h
>> +++ b/xen/arch/x86/include/asm/x86-defns.h
>> @@ -102,13 +102,30 @@
>>  
>>  /*
>>   * Debug status flags in DR6.
>> + *
>> + * For backwards compatibility, status flags which overlap with
>> + * X86_DR6_DEFAULT have inverted polarity.
>>   */
>> -#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
>> +#define X86_DR6_B0              (_AC(1, UL) <<  0)   /* Breakpoint 0                */
>> +#define X86_DR6_B1              (_AC(1, UL) <<  1)   /* Breakpoint 1                */
>> +#define X86_DR6_B2              (_AC(1, UL) <<  2)   /* Breakpoint 2                */
>> +#define X86_DR6_B3              (_AC(1, UL) <<  3)   /* Breakpoint 3                */
>> +#define X86_DR6_BLD             (_AC(1, UL) << 11)   /* BusLock detect (INV)        */
>> +#define X86_DR6_BD              (_AC(1, UL) << 13)   /* %dr access                  */
>> +#define X86_DR6_BS              (_AC(1, UL) << 14)   /* Single step                 */
>> +#define X86_DR6_BT              (_AC(1, UL) << 15)   /* Task switch                 */
>> +#define X86_DR6_RTM             (_AC(1, UL) << 16)   /* #DB/#BP in RTM region (INV) */
>> +
>> +#define X86_DR6_ZEROS           _AC(0x00010000, UL)  /* %dr6 bits forced to 0       */
> 0x00001000?

Bah yes - serves me right for a last minute refactor.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592336.925043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaznz-00019n-8O; Tue, 29 Aug 2023 14:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592336.925043; Tue, 29 Aug 2023 14:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaznz-000193-32; Tue, 29 Aug 2023 14:34:55 +0000
Received: by outflank-mailman (input) for mailman id 592336;
 Tue, 29 Aug 2023 14:34:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C8Qf=EO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaznx-0000r8-MF
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:34:53 +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 3640b907-4679-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:34:51 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-4ff9b389677so6945823e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 07:34:52 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 21-20020ac24835000000b00500a2091e30sm1963770lft.115.2023.08.29.07.34.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 07:34:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3640b907-4679-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693319691; x=1693924491;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y8kgryzR8q+ikO/cKWzA/ywCNibZGw3rXJamJP+9Z3Q=;
        b=Hn8s+UGm0Cl1seaV/cUWJoz/LGRRl7hyJ9fCbu+2E2Fy5QxolVKl0GP7tuwtj18g8S
         kjC7WvdMIvsZ+NRTmB47VtfJigSTa4fZxam3I+jkUOqNDYkob9SeCd51q4rRAnga7Gpu
         AYs1AETuk2TZJ1CRRMT4wexXZS+NQnv1mPF3O48Y2rAn6hI3V+mrAiEGwhEsvv2wQghQ
         7XSHXEhPcPzR/vhuXkuORdMtZp6dOKLH4wQ1tQFLh88ma/0nuciVFKwQnLOSv+tkwO+v
         0RsBN0hWFIioDw9NwHAfdAc7NoxGbqMgLBkwzuDoDs73/WhV2g/U8NtpV6H7z6I4Q586
         wCAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693319691; x=1693924491;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=y8kgryzR8q+ikO/cKWzA/ywCNibZGw3rXJamJP+9Z3Q=;
        b=gk+MX2CDfl5gzxIfhrsi+pglyejIBSrRdwaCVR/MIpDXY6lKPCXJxfax189cr3th3J
         Y6DJOFHhgddREituawyGc83fdGBM+kPuYhyaJF9Lq4yBfGFrYl3SbRFX4PNeSdDFF15y
         xLDPneI9dp3ukTwWga23HuYW62VTBKy4y3Qn3oVEKjzFQpz7f3PNfzZngwPQAJLXOZzb
         4ObnUfBuw1HpGyi6CJdC9UU1SPUzgMLpXLaQr8Wm2WspJj1xaZpBoSQnE4WA2Nf9EEK0
         jO7QbHNKOwgyxTneMSvExctBfl/ROH2TVctYx+g7PBkBpUdrXEGH9u7jcBhLs7n/+CjN
         fiSw==
X-Gm-Message-State: AOJu0YyY6hr/unjLUsvpVEm6LRWYsunaH5D3kocVMjnLnTba5HPsbLht
	i/H4LTrkWOMXztVTDXS5QlpacqW36MI=
X-Google-Smtp-Source: AGHT+IHSkdBG+DIsjUsSawlIt4FtSHo0xjbp3x2B71RvAgDI/tD4IRsz3o/q7d4KSeVX8ZyV+n30WQ==
X-Received: by 2002:a05:6512:3d8a:b0:500:c709:5845 with SMTP id k10-20020a0565123d8a00b00500c7095845mr775025lfv.4.1693319691222;
        Tue, 29 Aug 2023 07:34:51 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
Date: Tue, 29 Aug 2023 17:34:39 +0300
Message-ID: <31fb5b635fc5a02fd7103ecd64d2b66443c6e038.1693319118.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693319118.git.oleksii.kurochko@gmail.com>
References: <cover.1693319118.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

asm/vm_event.h is common for ARM and RISC-V so it will be moved to
stubs dir.

Original asm/vm_event.h from ARM was updated:
 * use SPDX-License-Identifier.
 * update comment messages of stubs.
 * update #ifdef.
 * change public/domctl.h to public/vm_event.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - change public/domctl.h to public/vm_event.h.
 - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
---
 xen/arch/arm/include/asm/vm_event.h | 66 -----------------------------
 xen/include/stubs/asm/vm_event.h    | 55 ++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/stubs/asm/vm_event.h

diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
deleted file mode 100644
index 4d861373b3..0000000000
--- a/xen/arch/arm/include/asm/vm_event.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * vm_event.h: architecture specific vm_event handling routines
- *
- * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __ASM_ARM_VM_EVENT_H__
-#define __ASM_ARM_VM_EVENT_H__
-
-#include <xen/sched.h>
-#include <public/domctl.h>
-
-static inline int vm_event_init_domain(struct domain *d)
-{
-    /* Nothing to do. */
-    return 0;
-}
-
-static inline void vm_event_cleanup_domain(struct domain *d)
-{
-    memset(&d->monitor, 0, sizeof(d->monitor));
-}
-
-static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
-                                              vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_sync_event(struct vcpu *v, bool value)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_reset_vmtrace(struct vcpu *v)
-{
-    /* Not supported on ARM. */
-}
-
-#endif /* __ASM_ARM_VM_EVENT_H__ */
diff --git a/xen/include/stubs/asm/vm_event.h b/xen/include/stubs/asm/vm_event.h
new file mode 100644
index 0000000000..cc89ffe5fb
--- /dev/null
+++ b/xen/include/stubs/asm/vm_event.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier:  GPL-2.0 */
+/*
+ * vm_event.h: stubs for architecture specific vm_event handling routines
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ */
+
+#ifndef __ASM_STUB_VM_EVENT_H__
+#define __ASM_STUB_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <public/vm_event.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Nothing to do. */
+}
+
+#endif /* __ASM_STUB_VM_EVENT_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592335.925036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazny-00016I-UD; Tue, 29 Aug 2023 14:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592335.925036; Tue, 29 Aug 2023 14:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazny-00016B-RJ; Tue, 29 Aug 2023 14:34:54 +0000
Received: by outflank-mailman (input) for mailman id 592335;
 Tue, 29 Aug 2023 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=C8Qf=EO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaznw-0000r8-NS
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:34:52 +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 357457de-4679-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 16:34:49 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-4ffae5bdc9aso7114382e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 07:34:50 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 21-20020ac24835000000b00500a2091e30sm1963770lft.115.2023.08.29.07.34.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 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: 357457de-4679-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693319690; x=1693924490;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=6CsfWRLerK9jeSjo8esZwyLr1ca8YVOS48gV3POFw8Q=;
        b=LWUbHG2Tn/d1JzM3No6ZKSlI3v7JhvRlBspUN+8P7FvEjMNZbWfWtsC42OqesYD6LG
         ljlP4/VUI7wKjqhrQcDR8fDkG0cbrANcYWuAjvhygHH1okN+IDl40t3qTrL3XdeFP3Lb
         vC6R2RhqJB2tFduRx+FHfcGlL1hbFSxmjlVRbexQzM5SYfVm3a6OfCjVWwzApAcC2EpB
         9ikEwK58uz1atP7Kpeo7m49yDxsIDd+WbCDO7Vh68gjrV78KXM7nc6ukNHkhef+ui5p1
         62ibPz0xL5qwPm1B3ujeP5z4Z5WjkCErhmYZ14P8SBlrqPKdVhRJZ2q4Aqr+lUWgqSBF
         UxRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693319690; x=1693924490;
        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=6CsfWRLerK9jeSjo8esZwyLr1ca8YVOS48gV3POFw8Q=;
        b=I7ZkFBOV0h1jGxdHwtittEDin3McRV3qIeQiv+1RB+7hS+kLwXjn91kBKUtM7vukvD
         +nnI3owie2ANlUQHaDYBmSRyUe1xCIAWCxaJzAOY6o9hu+0/Bjp4soADUinVZifwo4H2
         Oc6uQIjGi33do8EnVhhbiE24x/py1jr163WQZxuaROMaGZKjvDoC+kYIGaOaKQqHm4dR
         vU9Ec1CEJRVotv8zi8gTD9xM89tLzinmYmkJ93MNw/xhAWCScqc91VHs9TCMKjR/XKXD
         Xbi/jwT7/hF8RJyrBWrk9cWhfpIOj/OxetONCjcDVgXSZckjjgvFd3aUrC+ydwNh6lnQ
         8G6Q==
X-Gm-Message-State: AOJu0YwOO2/4nunacv1/Pw16M+8Y9s4U158zwMZZT2yd8dNXwivA+obx
	T+mkng+hCUA2TIQ0ubcqI5U0Fw0e38I=
X-Google-Smtp-Source: AGHT+IF/HMz7udtM/JBvLr4EjWf9Ohu2c4L78Kifn74qwpIBmlRMciV2AQzXf2mq1xQCe4BNgHJ3RA==
X-Received: by 2002:a05:6512:6d5:b0:500:b9e3:91bd with SMTP id u21-20020a05651206d500b00500b9e391bdmr4793242lff.41.1693319689609;
        Tue, 29 Aug 2023 07:34:49 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	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>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 0/2] introduce stub directory to storing empty/stub headers
Date: Tue, 29 Aug 2023 17:34:37 +0300
Message-ID: <cover.1693319118.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A lot of empty/stub headers should be introduced during the early steps of adding
support of new architecture.

An example can be found here:
1. https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
2. https://lore.kernel.org/xen-devel/a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com/

As part of the patch series, asm/vm_event.h was moved to the stubs directory because
It is the same for ARM, PPC, and RISC-V.

Changes in V2:
 - change public/domctl.h to public/vm_event.h.
 - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs

Oleksii Kurochko (2):
  xen: add stubs dir to include path
  xen: move arm/include/asm/vm_event.h to stubs

 xen/Makefile                        |  1 +
 xen/arch/arm/include/asm/vm_event.h | 66 -----------------------------
 xen/include/stubs/asm/vm_event.h    | 55 ++++++++++++++++++++++++
 3 files changed, 56 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/stubs/asm/vm_event.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592334.925027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qaznx-0000rM-O0; Tue, 29 Aug 2023 14:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592334.925027; Tue, 29 Aug 2023 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 1qaznx-0000rF-KY; Tue, 29 Aug 2023 14:34:53 +0000
Received: by outflank-mailman (input) for mailman id 592334;
 Tue, 29 Aug 2023 14:34:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C8Qf=EO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qaznw-0000r3-8H
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 14:34:52 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 364adf1a-4679-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 16:34:51 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-4ffae5bdc9aso7114398e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 29 Aug 2023 07:34:51 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 21-20020ac24835000000b00500a2091e30sm1963770lft.115.2023.08.29.07.34.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Aug 2023 07:34:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 364adf1a-4679-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693319690; x=1693924490;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TUlNTS1bmBEqtM4LMhzwtXR0cEz+6j/3Bg53dCx8Qu4=;
        b=qmpojKLEkKekj6BZ0GGpE1SRfZYp5/a62cWqt1IbG/6afcZxHbWg6ZV3gx8hSpZ2lq
         ypesuoy1VQuvzUTzHpPthQnpkUJBcAXhCjHp9CSXGMDHa8mMLimQpKr4WsA1YgLkHcnb
         vg0WF7c2liVo/yE+9bvl4ykfc7u+VqAGyV95xu6X0Nj0dw418rs71MP+nbqO7eyimC1t
         +yRIcBdFbiyz4aqj1t+9O6PwsfGJkD3BDgpNUnrAqz5cSEa06TzLE/h9tSXeiCGLF0IV
         5vHM8mZbUFh8YC6rwE1lpfFNrDSXespJPvOVBTy8V6S4HOyMwXgcW22sOa9QUK3halGp
         K/lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693319690; x=1693924490;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TUlNTS1bmBEqtM4LMhzwtXR0cEz+6j/3Bg53dCx8Qu4=;
        b=JRldaiYFydpyOlQ8MZeOU3aRsN9hYlRCtTt3XZw/E8f2ljv3m7XOgNMeg+KRg7XF7R
         OFp0RCye5xs9XP8kQNzpPDei6twPYunwYgNS7MkN479vq8sej3ZszU0HYvKEBIZKbbgl
         eGRagQejyfMLtuaSjdMnVlbG9IyZ8vG4q7CB9xhW8X2i9NVpX8KmJPkhaRzy46JG+57U
         KaRDySPCRqDxyV44f+kQ7xOSgWPMPiK66D07PpFuC9W0lKVfQG9SOebV6zPKrTP+GbbD
         B6rI4q/nAQSegFEb2uUcCfhd+VTj3VObJkKa55F4k/mKtkoFTCQ/HnZB9s5gtyITjkKz
         +FTQ==
X-Gm-Message-State: AOJu0YxweIJ2ViOiUeM5aULxFdvjHx1U0+sN9qXm4OThFQJKefzuoKCe
	RQBZa7EiVo6RczTZpic26PeNeMtrSVU=
X-Google-Smtp-Source: AGHT+IGHyPGbLk7gXCfuCP0D67FNj04ATNHeW9fe0ChkPFYkrGC2+hOR2Ez9eRetrgarr7bKeaSF3A==
X-Received: by 2002:a05:6512:12c4:b0:4fb:9712:a717 with SMTP id p4-20020a05651212c400b004fb9712a717mr22639647lfg.13.1693319690287;
        Tue, 29 Aug 2023 07:34:50 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas.k.lengyel@gmail.com>,
	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>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/2] xen: add stubs dir to include path
Date: Tue, 29 Aug 2023 17:34:38 +0300
Message-ID: <09fa701d2be02589cc9f63d8334082346b5c1702.1693319118.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693319118.git.oleksii.kurochko@gmail.com>
References: <cover.1693319118.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

stubs dir will contain empty/stubs generic for all architectures
headers.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed.
---
 xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/Makefile b/xen/Makefile
index f57e5a596c..64c3542c84 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -438,6 +438,7 @@ ifdef building_out_of_srctree
 endif
 CFLAGS += -I$(srctree)/include
 CFLAGS += -I$(srctree)/arch/$(SRCARCH)/include
+CFLAGS += -I$(srctree)/include/stubs
 
 # Note that link order matters!
 ALL_OBJS-y                := common/built_in.o
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 14:44:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 14:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592355.925057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qazwv-0003km-70; Tue, 29 Aug 2023 14:44:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592355.925057; Tue, 29 Aug 2023 14:44: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 1qazwv-0003kf-3o; Tue, 29 Aug 2023 14:44:09 +0000
Received: by outflank-mailman (input) for mailman id 592355;
 Tue, 29 Aug 2023 14:44: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 1qazwu-0003kU-42; Tue, 29 Aug 2023 14:44: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 1qazwt-0004t2-Rc; Tue, 29 Aug 2023 14:44: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 1qazwt-00043n-BI; Tue, 29 Aug 2023 14:44:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qazwt-0000Ka-Ar; Tue, 29 Aug 2023 14:44:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cvVNLi8jVm2flYW3ys20pvoGMavf3c9qenyQ/iXf8uM=; b=Fq/M+8Qcy/7OtrRCtyyGfoQeIy
	gdSEqZ8yqJcgGxxkGqevXcNTsWSdzSBliq1EF+gSURFev7bWzzjJ7JdaQkt1wVUusEIGMi2Qcsxif
	xsNw8teWOOwOaJz0J65r3eNMk7UtiWPlfxcOpfT2h6bBfLqabEfPzFoNpHLMO/vXuNkg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182554-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182554: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=14bf2cb411cae5306fd9efa8222264e8cf9ecc19
X-Osstest-Versions-That:
    ovmf=020cc9e2e7053bb62247b0babbbe80cb855592e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 14:44:07 +0000

flight 182554 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182554/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 14bf2cb411cae5306fd9efa8222264e8cf9ecc19
baseline version:
 ovmf                 020cc9e2e7053bb62247b0babbbe80cb855592e5

Last test of basis   182551  2023-08-29 07:13:48 Z    0 days
Testing same since   182554  2023-08-29 12:43:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Leif Lindholm <quic_llindhol@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   020cc9e2e7..14bf2cb411  14bf2cb411cae5306fd9efa8222264e8cf9ecc19 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 15:06:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 15:06:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592364.925067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0Ir-0006UE-Sw; Tue, 29 Aug 2023 15:06:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592364.925067; Tue, 29 Aug 2023 15:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0Ir-0006U7-Q2; Tue, 29 Aug 2023 15:06:49 +0000
Received: by outflank-mailman (input) for mailman id 592364;
 Tue, 29 Aug 2023 15: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 1qb0Iq-0006Tx-6N; Tue, 29 Aug 2023 15: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 1qb0Iq-0005N9-2O; Tue, 29 Aug 2023 15: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 1qb0Ip-0005H2-Jz; Tue, 29 Aug 2023 15:06:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qb0Ip-00086Y-JS; Tue, 29 Aug 2023 15:06: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=juqA+CT+CHtkYuWYztawVfmkWTKUd2Y+E6PfWqSo+Aw=; b=m7A4Ewlc0LMMpiuewcAknE+Kk6
	7BJeI29IQnSrPaVT4ly9TFYMncMy/GRK8Mqf5VdShvAFrR/6XpTsOiLkz5RvFzfNYe5zt3pkWR+uo
	cKjlWADPdP6/SV0ZJNjCusRRueMUkx7eLQObMjpDeV8rAL/AhJeNh/HrJROuQuHseSck=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182550-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182550: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d40c6cad64fda4767ea7b2567d129eeac8557d6f
X-Osstest-Versions-That:
    libvirt=b3715f6e0e29b3c9e8c42e1ed6a39753af6003cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 15:06:47 +0000

flight 182550 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182550/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182523
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182523
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182523
 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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              d40c6cad64fda4767ea7b2567d129eeac8557d6f
baseline version:
 libvirt              b3715f6e0e29b3c9e8c42e1ed6a39753af6003cf

Last test of basis   182523  2023-08-26 04:20:25 Z    3 days
Testing same since   182550  2023-08-29 04:20:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Jiri Denemark <jdenemar@redhat.com>
  Weblate <noreply@weblate.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   b3715f6e0e..d40c6cad64  d40c6cad64fda4767ea7b2567d129eeac8557d6f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 15:46:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 15:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592373.925076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0vT-0002dF-HY; Tue, 29 Aug 2023 15:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592373.925076; Tue, 29 Aug 2023 15:46: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 1qb0vT-0002d8-F1; Tue, 29 Aug 2023 15:46:43 +0000
Received: by outflank-mailman (input) for mailman id 592373;
 Tue, 29 Aug 2023 15:46: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=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qb0vR-0002d2-RZ
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 15:46:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c290e3b-4683-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 17:46: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: 3c290e3b-4683-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693323997;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=s7GwTyO/9WdNRknq28nCi92pDJQEGh2N6CpidOM6ibI=;
  b=czRmK45uPRs+N/c7TEfgJAdaVu7/nqdvfTqnrnfi//ksxMl4bhHR+JDL
   bnNk7J31/5queUulqrAdG/ycdaJWdnZeqiDqUvOt8BliellhS3aVyfiXx
   BAkg/xwMzrqLMFvGfpRV/bvEKYoFBJs088pzMjwPxdmT8D97t6a16lPGL
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 123702909
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:2r7Eras2A6sZaIeTNSE8Xi64g+fnVEdeMUV32f8akzHdYApBsoF/q
 tZmKTrVbvffYDTzcthyPYm08kwCsJWDyodhG1A+qHoyEi8b+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+ExiFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwODYzfguYu9uK4vGgY/Y2o5h/BtbpFdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 zidoDyjU0lLXDCZ4RCd/V6Owf/gpyHECaINBrST8qNRimTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOq8seVTEsk
 FiTkLvU6SdH6ePPDyjHr/HN8G30YHJORYMfWcMaZRsD3cn4u70KsjCMVf98Sovp0vfqGxill
 lhmsxMCr7kUiMcK0YCy8lbGny+gq/D1c+Il2unEdjn7t10kPeZJc6TtsAGGtqgYcO51W3Hb5
 BA5d96iAPfi5H1nvAiEW60zEb6g/J5p2xWM0Ac0T/HNG9lAkkNPnLy8AhkkdC+F0e5eI1cFh
 XM/XisIv/du0IOCN/MfXm5II51CIVLcPdrkTOvISdFFf4J8cgSKlAk3Ox/LhTyyzxFzyv1nU
 Xt+TSpLJSxGYZmLMRLsH7tNuVPV7n1WKZzvqWDTkE38jOv2iI+9QrYZKlqeBt3VH4vdyDg5B
 +13bpPQoz0GCb2WX8Ui2dJLRbz8BSRhVM+eRg0+XrLrHzeK70l6UKGNn+5wI9E790mX/8+Rl
 kyAtoZj4AKXrRX6xc+iMBiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:LBC+hKBcB/RXlGTlHemX55DYdb4zR+YMi2TDtnoBKyC9F/byqy
 nAppkmPHPP5Ar5IUtQ/+xoW5PwIk80l6QV3WB5B97LNjUO3lHGEGgI1+vfKlPbdREWudQtsZ
 uIN5IOceEZMDBB/KPHCCvRKadG/OW6
X-Talos-CUID: 9a23:EaW422OoA0FQzO5DSC9Z5FUPJvkZUD7G5WiKBhPkI3lrYejA
X-Talos-MUID: =?us-ascii?q?9a23=3Ax4Jyug2FUnx7a8OtZc+zZop5uDUjybyhJGJKgbo?=
 =?us-ascii?q?8ufbVFTNiMhyZ0Q+9e9py?=
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="123702909"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/APIC: Remove esr_disable
Date: Tue, 29 Aug 2023 16:46:21 +0100
Message-ID: <20230829154621.3565971-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

It is unconditionally 0 in Xen, and was deleted in Linux somewhere between 2.5
and 2.6.

Remove it in Xen too.

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>

I got bored waiting for `git log` to tell where it was disabled in Linux...
---
 xen/arch/x86/apic.c                           | 50 ++++++-------------
 .../x86/include/asm/mach-generic/mach_apic.h  |  3 --
 2 files changed, 16 insertions(+), 37 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 41879230ec90..5c6935ba42db 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -496,14 +496,6 @@ void setup_local_APIC(bool bsp)
     unsigned long oldvalue, value, maxlvt;
     int i, j;
 
-    /* Pound the ESR really hard over the head with a big hammer - mbligh */
-    if (esr_disable) {
-        apic_write(APIC_ESR, 0);
-        apic_write(APIC_ESR, 0);
-        apic_write(APIC_ESR, 0);
-        apic_write(APIC_ESR, 0);
-    }
-
     BUILD_BUG_ON((SPURIOUS_APIC_VECTOR & 0x0f) != 0x0f);
 
     /*
@@ -628,33 +620,23 @@ void setup_local_APIC(bool bsp)
         value = APIC_DM_NMI | APIC_LVT_MASKED;
     apic_write(APIC_LVT1, value);
 
-    if (!esr_disable) {
-        maxlvt = get_maxlvt();
-        if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
-            apic_write(APIC_ESR, 0);
-        oldvalue = apic_read(APIC_ESR);
+    maxlvt = get_maxlvt();
+    if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
+        apic_write(APIC_ESR, 0);
+    oldvalue = apic_read(APIC_ESR);
 
-        value = ERROR_APIC_VECTOR;      // enables sending errors
-        apic_write(APIC_LVTERR, value);
-        /*
-         * spec says clear errors after enabling vector.
-         */
-        if (maxlvt > 3)
-            apic_write(APIC_ESR, 0);
-        value = apic_read(APIC_ESR);
-        if (value != oldvalue)
-            apic_printk(APIC_VERBOSE, "ESR value before enabling "
-                        "vector: %#lx  after: %#lx\n",
-                        oldvalue, value);
-    } else {
-        /*
-         * Something untraceble is creating bad interrupts on
-         * secondary quads ... for the moment, just leave the
-         * ESR disabled - we can't do anything useful with the
-         * errors anyway - mbligh
-         */
-        printk("Leaving ESR disabled.\n");
-    }
+    value = ERROR_APIC_VECTOR;      // enables sending errors
+    apic_write(APIC_LVTERR, value);
+    /*
+     * spec says clear errors after enabling vector.
+     */
+    if (maxlvt > 3)
+        apic_write(APIC_ESR, 0);
+    value = apic_read(APIC_ESR);
+    if (value != oldvalue)
+        apic_printk(APIC_VERBOSE,
+                    "ESR value before enabling vector: %#lx  after: %#lx\n",
+                    oldvalue, value);
 
     if (nmi_watchdog == NMI_LOCAL_APIC && !bsp)
         setup_apic_nmi_watchdog();
diff --git a/xen/arch/x86/include/asm/mach-generic/mach_apic.h b/xen/arch/x86/include/asm/mach-generic/mach_apic.h
index b6f6361c6046..cf8b31b6e09e 100644
--- a/xen/arch/x86/include/asm/mach-generic/mach_apic.h
+++ b/xen/arch/x86/include/asm/mach-generic/mach_apic.h
@@ -6,9 +6,6 @@
 #include <asm/genapic.h>
 #include <asm/smp.h>
 
-/* ESR was originally disabled in Linux for NUMA-Q. Do we really need to? */
-#define esr_disable (0)
-
 /* The following are dependent on APIC delivery mode (logical vs. physical). */
 #define INT_DELIVERY_MODE (genapic.int_delivery_mode)
 #define INT_DEST_MODE (genapic.int_dest_mode)

base-commit: 067f18c3a72d8f0acccab831083b8518f0832d81
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 29 15:47:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 15:47:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592374.925087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0vv-00030a-R6; Tue, 29 Aug 2023 15:47:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592374.925087; Tue, 29 Aug 2023 15:47:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0vv-00030T-NL; Tue, 29 Aug 2023 15:47:11 +0000
Received: by outflank-mailman (input) for mailman id 592374;
 Tue, 29 Aug 2023 15:47:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qb0vu-0002d2-Nq
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 15:47:10 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f88b111-4683-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 17:47:08 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6913.eurprd04.prod.outlook.com (2603:10a6:208:184::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 29 Aug
 2023 15:47:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 15:47: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: 4f88b111-4683-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O3MEj+imnICNk5t6jTvhOZTpzYQlFdoJMAy//RSRbTOyXPJNUrmw5PyjYx+iuaR7UhuAj3UO+X7eTRTLQKlnURUwFVZLSVdstwY2pJlkxKSsm7XeP9B19PXyLbOJWZDXi8Q5MS5aX3xQg6ZFtxNuG1hY/bGmdn8s/n8rn+u/NPqcw5f6FMB/yETXmyIM6CZo30+dQGM3oCQ2tFSv471pXQODST9khGCM0mNy9I2xl4wcq+ciXHHGq+IOAJLcvuI1ZDm8/qtDmv9Xz9Bun1+aOWFGhzhnjstk2s4WYKDDzw4qaiSIjjeSz01G8kdqyHYLOzWR1nz0TmeBf9NXLP6RrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XFm8YOtUgzVpkRHcCKfoWxBg/w3Q8QcU/v7hyGc4fZ4=;
 b=MCHQBD+R8RsvZu0bVjF02Uq/bUs2B1lXvgJBYhVmc1YGiRasbecHM14BnqKTOqmJ+KdCudtOJYX/kdCPspiCbC1B6ahI81w9ZGVlYiJvMG66xe0EShNCXTPxcJs1CdSLOU60Fk8SjbqZGorXtifmRAFozSRytCeaBwpf6LoRdGlGDGMxfuZAi1LNQJMKKeSEVneRhJpjtwPL/Cw2CLI61VBl4Q5EZlS6Uwa0Eoak5adjiL+OB5Wca+L602XufTeBLlGaesLzUCXxpwldm5Kc+9C+8H73IS3o1kwbimXcrevkwaxzZmKKCXtfgU9kUL0DyDWwW1NTakI06GyDLPMcrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XFm8YOtUgzVpkRHcCKfoWxBg/w3Q8QcU/v7hyGc4fZ4=;
 b=Y3dI+OWe8Cf0QKslu+/7udgurE0AmnNGypVdEOOQROM8Y7gtnMzanoDmL14VS34yIs+V7IOfs8VCiWvUswGDJZSy5VoWAKJWdULnPlTytK4JrcU/FCU+49CboQ6rTPZEYS1cWNjkSfYZ5vGhJvUwJmdeHTdZewaO0RofW6ovNbUhCTHya2Se7aVgC5VWFgNlkFOAJ0wzQAX3zNicbovwGkSySXv8AknEyat2Z2iQVsCkNC9YZFWmUqH2WRDMsAkAMQ7B6UQzdOE4fEeMX9SyARuQQUwcv1T5SLENQHuk/EPV74OHLpEYmguh8GK74u6RhTq5pBzDa+gtMGKFDk7s8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30dd4c1e-c07e-7313-f2cc-b3476a04f9dd@suse.com>
Date: Tue, 29 Aug 2023 17:47:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 3/3] x86: Fix calculation of %dr6/dr7 reserved bits
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jinoh Kang <jinoh.kang.kr@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-4-andrew.cooper3@citrix.com>
 <f5e258e1-5517-2276-6497-4288192cfeaa@suse.com>
 <339df064-0ee7-2b2b-ba73-4528cc2b0b00@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <339df064-0ee7-2b2b-ba73-4528cc2b0b00@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6913:EE_
X-MS-Office365-Filtering-Correlation-Id: c8d2d6e2-a473-453b-c22f-08dba8a73218
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4XjgR/WqhYHWv5Mi/QlMibdR6tVGSxLEU+DE8lan51uUTI4nzrpNK4zr6DCl/lexG801D3KdfbgKIvtxKcwj8zFX9LaTX6iENvyJoOhacBYK13t+HOLbZruXht+M/5GE8TWRhA/1y++hFwpxWfPCADrYklvK8IRkkk5P2ShyKnhiAoCG+D4zNGjnsV3LPx3gy+TxrT+aC1VFeAGh9HM1TM8Qwnt9duqTdzFS6+GUwpYoIwwY2nqZ3ZB2lVfdhKfzLdGhqG4STj27t7ifZaIx00mB3Ks6vW2ush6SB2ty6BjrXNdZm6qkCBudGKllqP1zm9cysijq8YNc0BMqBTpWyCNcb7N0Yt3H/MQiwiafESO0H2PlyAwjb1l+RH7Oz5C1R/e0JHLPE8/9TkMt1vlL1lGkomY/1SrYTMGlWNFXc634DJTrUwEIqUTQz7SqdPZA3pFNiLg+NVmQ7dJLw1FzyOzdQoHHkkddN/yYsx2GUwkRaVLKxZ3m6CLwELP2liwAkPqChsV/SS5Mh7ZHfQmO4fCr3SKvnVaFPO+c6BBlJgSidlXE4b7suft+k/YWp8Dk9mGM1JTgChLPpiQtxa+zhTqBziejPo0u4EyE/SJs1K8dasQ9B4m1KjPqwaJf7w8Obd2M5AS5ZWyRa9jkpEd9ig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(346002)(136003)(396003)(39860400002)(186009)(451199024)(1800799009)(38100700002)(2906002)(5660300002)(6486002)(53546011)(83380400001)(26005)(6506007)(31686004)(31696002)(86362001)(8676002)(4326008)(8936002)(66946007)(2616005)(6512007)(66556008)(6916009)(66476007)(316002)(6666004)(478600001)(36756003)(41300700001)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?US9MRUttQlk4U2NnZWVoeXk0UjRMUmlYOFhWMXd1VnRKSFFSNFhKTlp0ZTl0?=
 =?utf-8?B?cFdpTHcwTGlIL3VhU3hvUjhGcGo5REtXWkw3a0lXZDhPb1RvNGhod1RzZE9X?=
 =?utf-8?B?VytkMU5zZ3FyWFJBUUZEU2lYK1hvZjZOWllsUmRleEVXNmlLd0dKU3ZuZGYy?=
 =?utf-8?B?ZTFydWpuV0hTRjI4YlFNYXpZbUdxQ2hDNi9sL3dScUpzTy9ZeEpxN2VmK1NV?=
 =?utf-8?B?TGlSY2QvMWNLU2pFdm9xeHZnTnp2bWdHOEdZRXpuYUtCNTZvbllRbXZzK1dF?=
 =?utf-8?B?ZnZjZGN6cGJ1ck9CN2V3dDRCUFZwSWJLZWhYSHJHS3IvYXk1NjBGK1BsUXdq?=
 =?utf-8?B?OVRHbFZ4NENMT1NUYVVXcnd0NjQ3bDkydlpzNnRrbnptNnZwd2d6aTd6bUxU?=
 =?utf-8?B?RVRHa0ZPMit3R3NkS09hUjFlWUIycG54d29zVkdtNE4vb3B1L3pUeVFFUWd5?=
 =?utf-8?B?anI0WVFMcm5NRUcvZGpWOU13cnFUQW9HTE15NENNQzNEOVgyNkp3RU5yRGJy?=
 =?utf-8?B?VFdoYWtudXR6bFhmcThndkJ2ZUd0M1hqWWk5cVovN0twSEJXaE1lK2dnVlg1?=
 =?utf-8?B?T1oveDVLb0FlMFRGMGpnanNsZEw5Q3BObVFjT0RwMUFJMFhFS3BMT3YyZXBJ?=
 =?utf-8?B?dFB3aGZ2ZXlrdGdoTVRGY2NWRDJ6NXJ4UEpONzJNaGRRM05kRTRxQVNxdnh5?=
 =?utf-8?B?UHI2L0I5ZThnOFdMVG1ydW9Wd3FleXJaVnk2aUdTYitVMFhjUTkzUEhrRXp4?=
 =?utf-8?B?NS9KbGdVUDRZL1RWTThJZURTeVhGU1NoelpyWDZ3MHFPdHZ2RDhIUzVkUE1v?=
 =?utf-8?B?UjN1cVlsN3JVMkRJNWdwWlRWcnU2YnFPdjlaZ1JtZmFnS2F3M0c3VmVZNzZJ?=
 =?utf-8?B?U2ZIMVpkSHpyRHNOKzZLN0xtcDMvdmZ6eVdCdEZnQW9XNUpMOVJpYWRWSUdi?=
 =?utf-8?B?V09VY2M1dHZYZllQNVU5ZjVCaTN0VzNvMCs4YkFyQnVrLzhUb3pHVG05Zi9V?=
 =?utf-8?B?OTNneUxIV05ncFhreCs0b2xEcXZobWVYb0Z4WXZkVUtCclZSSi9vSVNpbWJB?=
 =?utf-8?B?cEY4WEl3MlhoL0I0OElOamV0clRhb0Zya3NaR3pRTWNuREVLSStSdnhycnIv?=
 =?utf-8?B?VVllR0orTTNEckRBYUlnZ0FwTmg1d081eWRzNWNpSjRoTnhmOFZ2MjNlUi9m?=
 =?utf-8?B?TEZsZFpaWE8vSTNZQ3BlVnVIdytNWFFUNVhMcDlMZ2NmMEQ4Z2tObUhkWlN0?=
 =?utf-8?B?bC9JdUxBYU5WdU03eVdGWjlhYmlJYmIrM2RleHdoNkJLalh0MitDUDNmTmVX?=
 =?utf-8?B?VXl0Zmc1ZzIyVVEyZjVDZHV2L0kyWkZSaFFHL0tGNXQ3THVMSW4zK3JEVzc1?=
 =?utf-8?B?Uzk3UGtlZWF2VTFkN0NaMnBwak05a3RzOTdvNFhVS1cvMWdMeVZ5SWpPd0Ez?=
 =?utf-8?B?U2xXKzIrR0RKczEvWlpHMkpQR0ZDczlyMDNOSlpBUUhTQTJydDFTNCtKbDhY?=
 =?utf-8?B?WFpLUlBnOWxFUDNnejFUWFhPYktvY0oyU01ESFpNdVAxSlhiR1hzQVpHbUxK?=
 =?utf-8?B?aDdWa2orSWJvbWdDSS94dU8zNUZLMU8vUHYzdWZuWGh4dVVvcXZUcnhhSVRa?=
 =?utf-8?B?ZTVvS1htRlBOc295dTBuMWxoVU1BT0lEaFZwNzdhVCtieUVWQytBSXNmaGNZ?=
 =?utf-8?B?UXViVCtSTHB4c3MrTlBTQTVrWGJXWFk4T2dpcnlrYnpZbERVZDFZSjYzd0pz?=
 =?utf-8?B?Z3gzTkMzWk1vbWZFNkE4SjRrUXgxUkNBekJHVzZwdVc2ejJSa3pzQVQ3SkR6?=
 =?utf-8?B?UXUxZ2t5WkNvaC9SWTJRcmhTcGZxUVdUT1lscERjZVU1SHREWVRmcGN2Z0hm?=
 =?utf-8?B?ZmtkejBsbElrb3UyUXZOb1pFQlNNTkJ5dmVGSUlTTm85QXAyVWhLVlBrWlNB?=
 =?utf-8?B?QmhFWTBLbDVkTVJKOTNlTTFtRzNNd3F4MGk5bEhGbXJNS1VGTkQ0RjlzSTZu?=
 =?utf-8?B?SjdnQmhjSWwwM2VqR0Q5WmpkS0ZjVDk4d0Y2VjgvTUJCNVh1UmRDNW9aTTRz?=
 =?utf-8?B?cnpWcExrZW9FdDNRTTR0c2x6bERLa0tHMGxZZmZrNUh0c0VhOFJiMG1aNS9t?=
 =?utf-8?Q?XQ7+vRfJO6V7i6RpFOq6Csf1y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8d2d6e2-a473-453b-c22f-08dba8a73218
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 15:47:06.1751
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LiFsdKNFSchSndpZqZ/12FZuEtYBeAUXjvE3M4NP0HN5vYG7RNrL2RgiFU4QGzVizVZ9AgN2hMjOdI0ohG2f2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6913

On 29.08.2023 16:29, Andrew Cooper wrote:
> On 29/08/2023 3:21 pm, Jan Beulich wrote:
>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/include/asm/x86-defns.h
>>> +++ b/xen/arch/x86/include/asm/x86-defns.h
>>> @@ -102,13 +102,30 @@
>>>  
>>>  /*
>>>   * Debug status flags in DR6.
>>> + *
>>> + * For backwards compatibility, status flags which overlap with
>>> + * X86_DR6_DEFAULT have inverted polarity.
>>>   */
>>> -#define X86_DR6_DEFAULT         0xffff0ff0  /* Default %dr6 value. */
>>> +#define X86_DR6_B0              (_AC(1, UL) <<  0)   /* Breakpoint 0                */
>>> +#define X86_DR6_B1              (_AC(1, UL) <<  1)   /* Breakpoint 1                */
>>> +#define X86_DR6_B2              (_AC(1, UL) <<  2)   /* Breakpoint 2                */
>>> +#define X86_DR6_B3              (_AC(1, UL) <<  3)   /* Breakpoint 3                */
>>> +#define X86_DR6_BLD             (_AC(1, UL) << 11)   /* BusLock detect (INV)        */
>>> +#define X86_DR6_BD              (_AC(1, UL) << 13)   /* %dr access                  */
>>> +#define X86_DR6_BS              (_AC(1, UL) << 14)   /* Single step                 */
>>> +#define X86_DR6_BT              (_AC(1, UL) << 15)   /* Task switch                 */
>>> +#define X86_DR6_RTM             (_AC(1, UL) << 16)   /* #DB/#BP in RTM region (INV) */
>>> +
>>> +#define X86_DR6_ZEROS           _AC(0x00010000, UL)  /* %dr6 bits forced to 0       */
>> 0x00001000?
> 
> Bah yes - serves me right for a last minute refactor.

With the adjustment
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 15:48:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 15:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592384.925097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb0wh-0003hn-7O; Tue, 29 Aug 2023 15:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592384.925097; Tue, 29 Aug 2023 15: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 1qb0wh-0003hg-4O; Tue, 29 Aug 2023 15:47:59 +0000
Received: by outflank-mailman (input) for mailman id 592384;
 Tue, 29 Aug 2023 15:47:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mPBx=EO=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qb0wg-0003CY-AF
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 15:47:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cc5dfcd-4683-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 17:47:57 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8293.eurprd04.prod.outlook.com (2603:10a6:20b:3fa::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 15:47:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 15:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cc5dfcd-4683-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WJC4mLNgnCD2tYEzh5P/gm70rYcAD9XGITiS0UKYiiq9eZsCxR9v6vwHzNwuRIodMGZpHRdPv94tuHDRn5uCvVNBZG2kS3bE+v6a0NZ/TFxepZfuQ7ARoc/hAMcI757u01ENykABJOm5wuyUAOoRvqh1/bq23x3yBohJzW/Zkpc1d92aHh8pJ7xsfm8H2zeQ4PUjfiIPqg7xJ2i1FywjHrik21b2LZeuWbW7LkYwDkAni8sg9xrww8mymrULQGiH/p/wAfGU6Pi4dQigxVtgwVBPiqYsOQGh+9C8Fs+wNp4wEEhzQ4sB9yDJZ4qHTJYt/u5XcKDNtnKJR138zqyqXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F25wLcWXfZFs/EVW6TwZ57JSM6KSn3qQto8lfMuzeCk=;
 b=bXobPu+LpHanbwRZGqBiQK7hbA6BXwi9re//2DmUv9LUjW3ooZtkfuNWSz5qkEypFcw7aLOK36kdb4MOAx8ST4v7qnQh3VMSjjJgkMeggDsbdkAD/3udM4UtCiQYK3FW5hrQhzPWxYbHMhyKXG8wXS8wnuya9FqmCycNF7j7aWtsUfI7ZMrks38MF/b/YWgtG1839GgeGdlSdZ5mOjET99HThGUdgYaZVOpCpGAlG0WDsn79SIJ5IpOu6K9Lt2oV0ERG3FoFaaa26Imj0IfoVvbMG4J2NleLPE1oeKEWNVlc//70ZO97v4sc77ke1RQGCIPYsFBIoGwqLNewNDsjkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F25wLcWXfZFs/EVW6TwZ57JSM6KSn3qQto8lfMuzeCk=;
 b=r3yDO33FAi9cvP0OJzLbtnfOxFtfJu1PdlMPBZeqp8qhkuLQD5w5/FugazdDvuGwal8d/E3OE1G2ib8fmA9LgIl2n/CT82fa6OHAMU1Wos+BbzNzH1EvOLeIqXoM0kMx046qWQoC+9SxLmT3YSl2zwieN/nvuPSnQV9iiVt1SL596f/JaTjdcRR+wme1zde7jRXw6ClCn3SYvoC2Hpfs9Zwa41gERrHiyW67JN+kreXfP9C0jMM3Drv6PeqbyUhNprldLy8tAyEeQVQ9i7e+JSEpoy265ohCIo9BDUoV/y6Q7F2TFrrkLJ9VLbGpI965UOfO4V4jR45YyuEMOUVkYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dba6ee92-5952-64a7-86ab-8cdd2a4aa768@suse.com>
Date: Tue, 29 Aug 2023 17:47:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86/APIC: Remove esr_disable
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829154621.3565971-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829154621.3565971-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8293:EE_
X-MS-Office365-Filtering-Correlation-Id: 22868113-6bc6-49dc-1d55-08dba8a74f77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dnWPrbyROhNkLiDIP/lC0frS/PxQo0erPNPNA3xAGJH3LSZSyuHNELde3whDRbplRQUQZsPhvbFxBGupytwOoLwjdJccCGesCDaiM8rn5gGxUyLE/NIdfKWFNYpZs291YoJDLHk1gKJrjITzH/zsZFu/XLreJP4WLMSdzE32JVgn54l5eA00c5jQyakpX7i3Og+SmEgHBYMcye/OMo5UIASdniRJppHPRkwt2gx/5WeEGHoG+OtfpQPVwV8klIjv4VEzv3ka71DKYL2wtxVWGrTYNzVk/4taI/rzhUKF5yc8ueHIxElokx6PNFmQJw+sI6WMxBjVUjmGGNJ3PbzeEQCl3RqI+jaU7XI8Qt+V+4lsVHFcSwTFGztC++QhIQ/dFkVi5cX98PnhpvmRA0B+cX8EgA5++vuQjq98UmYXpVXecd0bCf8BstEo4Tpf69iTLB5KETmHOQsrBu60VHRSevaJOTZs8Mb94PF4naHVuuA1x3Nr2Cw9z4R+ruXX+L2cF6LwcmZqzcLdCldRxFjrhlY2uzdw6+t/0IhreHlbe0NTpUzfw77uIlHGQyCB/UpLbMffZ51ldoVJPmsqvAUuHi9wnqOBFi3xkPENZDLuogclbLdnq4yKLIGCJNa8AHGXpugkL+/2U5Wf7WyenJ83Lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799009)(186009)(451199024)(8936002)(66946007)(53546011)(31686004)(478600001)(6506007)(66476007)(66556008)(54906003)(6486002)(6916009)(38100700002)(316002)(41300700001)(6512007)(26005)(36756003)(8676002)(5660300002)(31696002)(83380400001)(558084003)(2906002)(86362001)(2616005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWlhZ2NWR09JTDZTZ0NFVTNRMGRaamNlMWRtVkhmMHNQWEpXR0FGY29sWW5R?=
 =?utf-8?B?SHlHVEp2SUpsMk9udDBtUnpUSWc0aVFOV2I1Q2w5emRZeEpIWDdjUHFkR1Jn?=
 =?utf-8?B?UDh1UFNIUjhzTHFVK1Q2OXhFaVdYZE5ZMDN2cjdEVmt6Z0pKUzRiMEdQMXBx?=
 =?utf-8?B?MkRoQ3BwZDBwaVZPVXgvUGZ2Y0hzSkR5Z2JycE1vZXI0UHNVVkxjNWZIdTFh?=
 =?utf-8?B?ejcwVFc2WWlQNWhXRzNmSEtPWms1ck9IdVFGY041LzU5UEp6aW54Q1lnV0c4?=
 =?utf-8?B?c1NlTmRlQVFEYW83MVY4ZFNxTGpqVTIzUmlyZnpLaUZxMlRXZTlkdkNHaXpU?=
 =?utf-8?B?d3Arc3E0US95cUhvemNETjZpSzN3bVVKa1dZdm1OQTNLMFN0ZGVrL3BIdmlM?=
 =?utf-8?B?aFNnbnNBTGRDMEd1SzVKcGwvc3lEV3lmc1BtaFBpd1RuclVHeEI5UWVObG1T?=
 =?utf-8?B?MWMrKzBRalNoZkZpOUJYWEhqL0RMRnJFUnpJZTNBYThXcWFlc1p1NDMwaWo3?=
 =?utf-8?B?TGxqV1YvU21kWUZwaE1NVUo0azVaZnY4R25uejdoejVPMGlYVmNBanN6ZENp?=
 =?utf-8?B?SVdMRzF6eHZKZ1BramlLUExnYldlOXdISnNzN3B3Z1ZYRWFYcEJyUVVoNWMv?=
 =?utf-8?B?YjQ0RmxYTzJjZEMzTW1zMXZNc1hoNmRtN1lYbEpHN1N3ODBabUgyL2NxVWpI?=
 =?utf-8?B?bitqTitQN3BUNHNvSnpWVVMxZUJRSDFSdW81eEQxenZVdUJTanVJc210bTFa?=
 =?utf-8?B?eHliRkRPOXBxK29YNDBlSzVOeWdqT0NxcnZZNFA4eHZVRkZCNEZBZ1RzTGlL?=
 =?utf-8?B?Z1RKRlRHYStVVWszVUZGcDFFQ25nRURkRTdFUXFmczJQZzBnTFgvakpaUit3?=
 =?utf-8?B?MW1Vd1p2cTE1V0k0TDdiNXdmb1E4VW9FazhWVEwrLzhEQ1pBVmZqRzdjcEww?=
 =?utf-8?B?VmVTdVNWNDcxTXBRTXh0akxtWmNTQVZ3cmNCNjJ4VE1BeDFiQ2tZcTF0MUdM?=
 =?utf-8?B?S3VPSUREVVowRDRFdmtMeFJ1UU1SNEsyNGV6TGdiaEZ2UEJKc3JSTVl1MFBk?=
 =?utf-8?B?aVV6SmpnelNWRDhDT1g2OEJpUnlLY3d2VzFob3lHQTExNmYvSWRuVkVNSUhZ?=
 =?utf-8?B?STdXSnd6LzFKUUZzWEVtNmFtSkhtVjFvNitOcjZnWGRiQzJkY1hjaC9qMVh6?=
 =?utf-8?B?UFBUK1R1V2thZGVvREJ1eHg3R2R0M3hMcHdCdUlCNmQwSDVocG5YdEhzMVBn?=
 =?utf-8?B?UFNCb1B0RFVyMWVoWWI4cG83ZUhTZlkwZU9JUXJCbGlhc0I0WkFWNTV2NVk3?=
 =?utf-8?B?MnRYUUVIYlpscVJIenlROERKSEJoSytrQVJCODRLTmdNYm43SWlwNWNoV0da?=
 =?utf-8?B?SnRGWGUzVWpDL2dndFhPM3lqMVFTQnZDMWJEUUFmQkZTU0t3ekl2VERuUUV0?=
 =?utf-8?B?bnVRQmNrVGxUUitMaXY5SjE5eGl0ZEQraE5nNktUZ1BGRW9XQUZyaXVJMkxB?=
 =?utf-8?B?d0JMdjAwMEFma0ZIUXcrV2xtY3BjSDRDbVV6ak5RdURmTUt1ZVFFK0E4c2F4?=
 =?utf-8?B?aVo3RFpOam8wSTI1VjFuL1Z6OVpTditLUFZaRm1wNExucWZaMEcxWExWbE1N?=
 =?utf-8?B?ZlZ0Vk5nb2ZUYzZ1Tmx2anhyRDVkQk1MMVpVeDZmWmpOMmFlUFBWbFVsajFC?=
 =?utf-8?B?cTNiSDA1ZVJUNTZNTnFtdWlSNWNvcXJ6OUhEaElRN0JEalBxTTRXTjk0UU5K?=
 =?utf-8?B?c1BqTldGOXhDNGdzRys4Zitjb1ZOLyt5b1d5ZEd5UDhJOFFGZGo4SnFtUksr?=
 =?utf-8?B?S0RWVHprYSs5SzI5MzU1ZmlGYmFOZDJwODJpbmJuYkREUi9kS0JtVzQ1VnBs?=
 =?utf-8?B?dlh6SWcvRFVvNURkelhmNWpZd3R0bUtiV0orYm1WUzZhbm5ra1Y2SGtRazgz?=
 =?utf-8?B?WWRWUkJZc3dRT3M3SzNwNUNNLzBvamVmSDlVT3pRM2RyaFlSWmFtUnNjQklx?=
 =?utf-8?B?cElscytUYkNBeVpxbEJOUUQ4K1FHREVTOEFtbVJoMnh1QlBNNzhid2RlYnFX?=
 =?utf-8?B?MmV4UlhEaXZqMDJzb2NzcFRuci9pYm40ZGdra3ZNMmRCbGlCcTd3VndyVU9l?=
 =?utf-8?Q?/OknqCUp93PurqNU8ktDuXAaY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22868113-6bc6-49dc-1d55-08dba8a74f77
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 15:47:55.4031
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LSmDJ4Ulit6iFJoBEvyjiiSCklBK0IrcuVLTonZV2x8JvXerZ0t7c73FkYHSVtgDu9XIvOGQy2liiuKIkeqcVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8293

On 29.08.2023 17:46, Andrew Cooper wrote:
> It is unconditionally 0 in Xen, and was deleted in Linux somewhere between 2.5
> and 2.6.
> 
> Remove it in Xen too.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 29 16:01:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 16:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592394.925107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb19Y-0006tp-Bp; Tue, 29 Aug 2023 16:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592394.925107; Tue, 29 Aug 2023 16:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb19Y-0006ti-7L; Tue, 29 Aug 2023 16:01:16 +0000
Received: by outflank-mailman (input) for mailman id 592394;
 Tue, 29 Aug 2023 16:01: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=Sej8=EO=citrix.com=prvs=5989d6290=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qb19X-0006tc-7c
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 16:01:15 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45e8b052-4685-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 18:01:12 +0200 (CEST)
Received: from mail-sn1nam02lp2044.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Aug 2023 12:01:05 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by MN2PR03MB5232.namprd03.prod.outlook.com (2603:10b6:208:1e5::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 16:01:02 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a%6]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 16:01:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45e8b052-4685-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693324872;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=iJ6GWb3FTTTSw4e06WYuLiril0YDiuIc1mFOJsR3ong=;
  b=EiUVm/eMd6YDM3uJCy0SSDN/Xi8FjR6oc+1i7Wl7UPfUWvgpQhsWamVy
   TK6Nn8TQNnZE0o5zmPiX8lSX0rYZrvnFm7W6MPKEdFCZm3x7T7niOzTfB
   26DiUsHNVti8JNijEUuqwrjXLwJRYo9e27wxPM5jw97ITWwF9jOpqOD+/
   g=;
X-IronPort-RemoteIP: 104.47.57.44
X-IronPort-MID: 119676710
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:pMbOW6PCpTtIlQvvrR2ClsFynXyQoLVcMsEvi/4bfWQNrUom3jBTx
 2JNWWHTPPyCZTbwf49+OYTg9h4OvJXSnd81Tgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/jrRC9H5qyo42tI5A1mPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ut8LWJV3
 /5GEjMAfhGKte/x37KnRMA506zPLOGzVG8ekldJ6GmDSM0AGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxvzS7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqyPy2bGQxHuTtIQ6C7zo6+dkmF2ow31ONyEsd0qRj/yalRvrMz5YA
 wlOksY0loAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLkouQyNFadcmnNQrXjFs3
 ViM9/v2ARR/vbvTTmiSnop4thu3MCkRaHQEPCkNSFNf58G5+N1vyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsjDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:xmuEv6kT34uZ2tri0SJxQK3xdpbpDfIn3DAbv31ZSRFFG/Fw9v
 rFoB1/73TJYVkqKRIdcK+7Scy9qB/nmKKdmLNwAV7AZniFhILLFuBfBOLZqlXd8kvFmdK1vp
 0PT0ERMrHN5FFB/KLH3DU=
X-Talos-CUID: 9a23:o9gnkm1k9mLOlu3reSiRLrxfF8sJcWb3zinqIEKoCG9bRfqKSUOe0fYx
X-Talos-MUID: 9a23:Kl3UFgizixRbw06yHPrb28MpK8Y4/r2gEEA2lIRbhPW+Fz1aFTK+k2Hi
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="119676710"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FNIS7n3A/yZDJatpTrd76ly2tqnFwmFBUhEEGG0LIlAouVx4BwOpl+ar693yjMatmz0l9rVOXO3dnzZCLpr/Yd+VV45GUgWwK8I/fUAXjpXEl6NaDZENWeJ/nC5b6SYBpw2nOOj6evZ59zt3waLDSP9o5GonPiXJC/r07PIQ66ptn5Y5Ztcm8XFS62NizO0OMfVwfWAApnq99+z1i1Bph+q8SuUjAHZNnn7Sv3ezaZsPohhXgg3ioLFaAEu8ZuywBWNwrPEiQ9hdETcPyNoU9r3kUtTyj6cvZeCOAvPJHEX/mJxKHsy+AVBu/0+ER0qQpAJl6JszmtqmbQ0S4kQ8WA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jzry+knR1wpy2j+D9GmBw8oLXwW5CHI1JGm2cnlweGs=;
 b=P3LaCggjSVCkDjYPmqIWq26YUQoh5xRyFoaaiPOUu8syDJeWbt7GQNd2ECR2MKaAcPRrqrWi8OITbI8ShUvDgxQth5EVq9NIMLDnt3H4yiX6TlLiFojSuxqSf/fFFldKTgFhnKXsW1CQYRiqHKyd0tCZsXGFNogFP9uPGDc16nFzyhxd2yu3dIGNxbPF5ObRSGdFJW3wm9PhTMN5+enCMtCtsyST4JVpJJe2Pn3CES9DcXFs2vrBr8MXV098L2i5t/hj5oFy/5xrTe0QvZtSdmUtoma8w7wa1Fe49nW6SxvmkZ6L4w5x1Cn6X+cLVsqmX8Y3TVFaBhTwCP5jPblvOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jzry+knR1wpy2j+D9GmBw8oLXwW5CHI1JGm2cnlweGs=;
 b=U0xgvjJDKQjVuGhdSyBE5W6nChjAc91Y2x8CDSJKyOgOe5ImpeEg6V5BmB339KY0DdDSpv/kj3DSm7inx06zAteeONb6tJDcMU+4NcapnCpv6QOnsev5phS0/EUIilnC+OgRryAah83nYPz4euvDiNos3zb0zhy09F/DFjWYXFw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 29 Aug 2023 18:00:56 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/APIC: Remove esr_disable
Message-ID: <ZO4WODGDiXRj3mrX@MacBook-Air-de-Roger.local>
References: <20230829154621.3565971-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230829154621.3565971-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: LO4P123CA0481.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::18) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|MN2PR03MB5232:EE_
X-MS-Office365-Filtering-Correlation-Id: e88fe23b-8984-49e9-c775-08dba8a924b0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZW0MR4HVka8ZFBy6ZBBXF4M4D/q4blFgncvOr4v1ZnwHM/fCtPQVEucM2wwuWnrpqtQTS8x9+ewFPMfjig5ijbAww34MbqAZVj4VWJRDGNrL2iVZb+okD3vcK4R6Hqpzhny0z12GmYolk+iltsUZcvL+8qwDKBKIHMJH1WD67ZZ+xs+jFj6vrAp9vaM2a2qax2luc1LYXIR5sAt9WGTG+dB2ubovulWHxe1GbSWc7QUCNnDBi4fXHaAzop2mcm6sl2+ai/skM54dPjnwmTg4ylHajWUOXRKsQzxwrP6aEa5bt7z9hAuBtczgoR775ZnNAyPaUeHNmTEumGqywl0XC4mWal5qGT5Yhzn8QeJ4ezwOP8gYP21kk/0WDf3JOlXUePan971dhePxi/LzPHERMLvXS6PGIbukthxunpdoEaUHsg+MqQbTFJOiMagPqG0dL4kAMQztSCOPjw4w2HLCEPBdWn9FqyoHgRIAEueIZo1D96NAhMYu5TLBmvl3J8IxC4dZQGaboO+LftAszPai3hPz6GKlskM5wFzHs5AfRHa1ySe9aySk/hggi+GTsZUw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(136003)(346002)(396003)(1800799009)(451199024)(186009)(6512007)(9686003)(38100700002)(316002)(6636002)(41300700001)(82960400001)(4326008)(6862004)(2906002)(83380400001)(86362001)(85182001)(26005)(5660300002)(8676002)(8936002)(6666004)(6506007)(6486002)(54906003)(66556008)(66476007)(66946007)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2xLMHRKaGF4aTFrMjlCeUtMMzArRVgyazNPTWZ6VS9pbkNUVHIrOUo1dEpy?=
 =?utf-8?B?ZG9jOWlhQUFWWHVaejhpUFAvRlpkcHcxcnBGMUI3NUlRbHBtRnFVU3owcFE1?=
 =?utf-8?B?THczQzdKbkNQdGJCNU5ZNXZNY0ppR20wT1pNVjNicXhxeG4xZDhCcWNDWWls?=
 =?utf-8?B?RFBaUHkwME1vcS9TMHZHNUFORW9oRGlPdFVtUHB5RzNqSWFzVDd3d1lhdlZw?=
 =?utf-8?B?R2U0KzVKU1BYWXA2dVMyVWdoaFBTcDlFcFd6MlFyZEw0YU9oWnYxbDRzSzd5?=
 =?utf-8?B?YnpSSVZaSnpybU9KSFBSdjNqN3RZWWNJSWVmeGE4RGRtc2FvY3RCWlIxdFN5?=
 =?utf-8?B?N2hNWjBHdUZ0Q2ZPWEJYZVBwY0twbnhUY0RUb3BFQitqVU1XMjVNU0hhNFh6?=
 =?utf-8?B?cUdkZEV2YTcxNXNIVk9TWHR3cWt0b2orVzVxMXBlb29PWVI4MkhDbmpSeWRB?=
 =?utf-8?B?bFdoQnNXWkpWVWJqM0dMc2FRL0g5OTNlQklpUWVGWFUzOTNIbEY3UmFVV0c0?=
 =?utf-8?B?eWkyOXloUVN2bC9TYXFmcUZlV2liYmVPekJDYlpyV2V2QnI1RVRZcDBBZDFi?=
 =?utf-8?B?Zy92MkxOQzd0dmZiR2t1WXhHeVV0SjFFRlBPNVJGNDhCd2dnekNTRXh6VUdI?=
 =?utf-8?B?aWFvZWZjSFlUdVMyMEZOYTJpS0R3ZkZLdlg5Y041S25YN1V0L3h0amVCVkdP?=
 =?utf-8?B?M0dZR3dVZ2lvSlNUUmdGSEZBWDFhbDVLNE1wdUYrTzdKSmZSdUZrZTdWK1lm?=
 =?utf-8?B?ZjBsZ0pjSWdPdFp2Rk9KbVRWYjRsLy9scWtSY1hCQ3JoZEJGdXZRSGxUYVJD?=
 =?utf-8?B?S2hWT09yQmcxejAyMnBPaHRrQnJacTEzMnhMV1FBUkxGMVpxYWUzWkE2aHNP?=
 =?utf-8?B?Y1FVMU1MQ2EzU1N1QTdZMTVTYXVyTkN2MCtwRkdDZTVPR0xXb0dIUlczSHps?=
 =?utf-8?B?MHQxZUhJZFV0ekIrVVIwb3R5RlVpMGxXOFZCaS9keW1zdXY2VnRVcmZxcWFn?=
 =?utf-8?B?RkRDaGNwVVlIOWtaeThaMDc5OGxTN0hweCsrblRmNEhTUGg4b1RucjEzdENJ?=
 =?utf-8?B?dVhSYkZqSGJ4KzhjMisxZlFSQzBkSGhxZWg3b1hjZVkrNVR0NUtOQUxLSzFQ?=
 =?utf-8?B?TGcvM25OWDVvRmVTK2NaSEpTOFcwUXFxRUs3ejdHd3RRckpoS3pwY1EvTjVy?=
 =?utf-8?B?T1FSZ0x3K1RpU3ByWUowamZhU0lOeFcrMHRZdFN4QXp5T2NWdmcxd2EwRElQ?=
 =?utf-8?B?UWhaWGNxMVh0clY0UFNDUktiTUV1VXR0WFZid0xDcmsvQ0tkS2ZsdWlNRjE4?=
 =?utf-8?B?blFvTFhIQ0pGcEQ4SFlxNTFMYkZ6M3JQSE9Ub1FXVDRLUWZ4NHJ2SmREU3pP?=
 =?utf-8?B?ZGthT0IrQjJjMmRjUVhRVW5OWmROU2pWTUlkZlRENFFoZk8yTkxZanFwN2RL?=
 =?utf-8?B?VjQyZzJMSFpsRmJPQ1puamRydTlmeTQvWk10RzdtczVPckRvOG5HU2t2K3Nn?=
 =?utf-8?B?WVdqZUl0cnU4NGl3T1c4bzNIMFU0M29WeEtqRnJ0YXRyUmZSeDdFaUt5amYy?=
 =?utf-8?B?YlA2Tzc5bllsZjNXc2ZtVGlZZlQ1elVGT1pVbHFJeGVFNitpQzhEVHFkRlhT?=
 =?utf-8?B?R1ZCUjZMMXRNdmZRazFGa2VlTUFkYXFGRTI3MytJQk1wZGFCNHpzYWI0OEk3?=
 =?utf-8?B?NVRlTkNPcG5ma0FUV1pPQVZCaE1tY0ZBNVRvNFl2U0tnaHFVZGh0SUxaQWw3?=
 =?utf-8?B?WGRrYWhZT2o5YTgvNE9TRjJuMEkzRno3Y3hJZFRRQll0c2Vzb1VMWWF2Z1dD?=
 =?utf-8?B?Y3lhcWpOUUM1bUdEeklzM0pxUFkwVmEyTVpLUlZJNGtZKzdUTUdNL0FNQ2VX?=
 =?utf-8?B?SzBOckd3TTlCOHRsZmEydXdncEtXZ0RIOU14QjlnNHRYNS9VUFFCUGdTTVdt?=
 =?utf-8?B?bjM3bzROR2Y2SGJCa0Y1MTVvVlBHd2NTRzl4OEFtTEsyLzJ4aW5NdU8rdGUx?=
 =?utf-8?B?VnArUFFOTDQ2SGYzdE53WnpoWGpiQ1JMTWpVbUljYlNBTkFPYWtIcnRKOTF0?=
 =?utf-8?B?aUpoYkkrVzRSays3TWZQTGlCcnVXYUdDRmREVVkyK3l0UUlwbDZ1Um5lYVRl?=
 =?utf-8?B?MkQ4ZWFNbTF2TTNNSE5YUEYvNWVpV2cvMUM1M0s1UU9vQXhlbzVIa0VBMHBm?=
 =?utf-8?B?bWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bzIO6vUA4zDX09uotMFpltHDuOMwmNTr9CBFWSRJgWC9PUbCR9CBO/lc0Ftdu/APQDqif6XhMrM8rAH7CFclsj/iZY7+ObJmW10johHfoutxDtq33h9LvhzT35GXcPyU9GUHb7sKGArPNQcxRcPmbPDfOEB0kKxfkukH3hxi3iWgZbhpGkZ4DCI+b2DeaH/s1CSp0ct+CXiXS5WAJKM4eyQM7gKB8jkRx6RXkIXBlXs6ET5GTnoWw3CpfJe+uXoHCUJSQGK1e6Fz/NSIlz8BAvbWFYE71DBAbXN9BC/XLgtAa7Rk9Ton6bpoBToGlVlQ7QINh+9dVfxrRgAZ8nOwCebhFEUE3SXgaXxiHBUAuq2snEwoBPYyrFCiaIH1wwO4j+D2Z+epT6qYRD8uIw+ROWvgSNdy67hH0HdwgX86PXcWoseTt+Sk2ZnX4febo3Ng78fC7Czi7Mg5dkzHE0yYwk0iebvP3GLsIYLUYK6jfWRxIRzttF0k87tfzJ4LGPsgt7dRlP4dEnBMNuRmeoYNE5yJy6mqOTeF+LsBLdy3Wch1PigRxwdeFSz8w7T8s20rlYxsBLdPqQ+O2AIeuX6TofkxvmtK9yS3K3kdF70FAnsd6P+lMIegpDf7Yygi6wlGG22TNxWo1GnPcX0tAap0KWbpdPSBrAEnw7dlZkjAeLTkzKrm/PBMmHlVOof24CfhSvomp2Di6poh1eqW8a8qLCt64wkWYM8s0dVAN4nO1ivddPKoLz0WJzax1hdissf0GplnL1+NIp7qq4dkYSAeeFViartPK7IJKDJ5n7wk3g2lOEmnoSo2PaqJBKH+adqi
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e88fe23b-8984-49e9-c775-08dba8a924b0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 16:01:02.4028
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hlAKvP4PkBNlrZCbmWI+1gC3du4/Pox9SdQAPHud5/GWM55cNjkQ4ABGFsPGrYFr2s8wp8w6wsyQmQp/qzV1Cg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5232

On Tue, Aug 29, 2023 at 04:46:21PM +0100, Andrew Cooper wrote:
> It is unconditionally 0 in Xen, and was deleted in Linux somewhere between 2.5
> and 2.6.
> 
> Remove it in Xen too.
> 
> 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>
> 
> I got bored waiting for `git log` to tell where it was disabled in Linux...
> ---
>  xen/arch/x86/apic.c                           | 50 ++++++-------------
>  .../x86/include/asm/mach-generic/mach_apic.h  |  3 --
>  2 files changed, 16 insertions(+), 37 deletions(-)
> 
> diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
> index 41879230ec90..5c6935ba42db 100644
> --- a/xen/arch/x86/apic.c
> +++ b/xen/arch/x86/apic.c
> @@ -496,14 +496,6 @@ void setup_local_APIC(bool bsp)
>      unsigned long oldvalue, value, maxlvt;
>      int i, j;
>  
> -    /* Pound the ESR really hard over the head with a big hammer - mbligh */
> -    if (esr_disable) {
> -        apic_write(APIC_ESR, 0);
> -        apic_write(APIC_ESR, 0);
> -        apic_write(APIC_ESR, 0);
> -        apic_write(APIC_ESR, 0);
> -    }
> -
>      BUILD_BUG_ON((SPURIOUS_APIC_VECTOR & 0x0f) != 0x0f);
>  
>      /*
> @@ -628,33 +620,23 @@ void setup_local_APIC(bool bsp)
>          value = APIC_DM_NMI | APIC_LVT_MASKED;
>      apic_write(APIC_LVT1, value);
>  
> -    if (!esr_disable) {
> -        maxlvt = get_maxlvt();
> -        if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
> -            apic_write(APIC_ESR, 0);
> -        oldvalue = apic_read(APIC_ESR);
> +    maxlvt = get_maxlvt();
> +    if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
> +        apic_write(APIC_ESR, 0);
> +    oldvalue = apic_read(APIC_ESR);
>  
> -        value = ERROR_APIC_VECTOR;      // enables sending errors
> -        apic_write(APIC_LVTERR, value);
> -        /*
> -         * spec says clear errors after enabling vector.
> -         */
> -        if (maxlvt > 3)
> -            apic_write(APIC_ESR, 0);
> -        value = apic_read(APIC_ESR);
> -        if (value != oldvalue)
> -            apic_printk(APIC_VERBOSE, "ESR value before enabling "
> -                        "vector: %#lx  after: %#lx\n",
> -                        oldvalue, value);
> -    } else {
> -        /*
> -         * Something untraceble is creating bad interrupts on
> -         * secondary quads ... for the moment, just leave the
> -         * ESR disabled - we can't do anything useful with the
> -         * errors anyway - mbligh
> -         */
> -        printk("Leaving ESR disabled.\n");
> -    }
> +    value = ERROR_APIC_VECTOR;      // enables sending errors
> +    apic_write(APIC_LVTERR, value);
> +    /*
> +     * spec says clear errors after enabling vector.

Is it worth making this a one-line comment while adjusting padding?

Regardless:

Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 16:04:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 16:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592399.925117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb1D4-0007V4-PS; Tue, 29 Aug 2023 16:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592399.925117; Tue, 29 Aug 2023 16:04:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb1D4-0007Ux-Mc; Tue, 29 Aug 2023 16:04:54 +0000
Received: by outflank-mailman (input) for mailman id 592399;
 Tue, 29 Aug 2023 16:04:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wiqx=EO=citrix.com=prvs=598c0cf4a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qb1D3-0007Ur-1g
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 16:04:53 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7a96c18-4685-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 18:04:50 +0200 (CEST)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Aug 2023 12:04:47 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5842.namprd03.prod.outlook.com (2603:10b6:303:91::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 16:04:44 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023
 16:04: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: c7a96c18-4685-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693325090;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=U8OhKgzd0GN73TQp6NZ0t3yDeBqpjNjPG1IiQZpFZzc=;
  b=ChVFyLIOvdkU5R1jL19ShPIV3U7bm5irju4eaQpKlV58djnJsUfFiZDP
   hHC1p6tbbsZjw9WcNZqqFHgic3yj0eJZszel5MbPW3ieKNn7/wenKEm9A
   C8NBVi1GywAIVto+wflvKYxWskN3IXcZVkJ3s6aBGjt3zdmLtddJCVNl+
   Q=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 121428993
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:342/P6pP1sdVwrlS9y+8j9DgoK5eBmI1ZBIvgKrLsJaIsI4StFCzt
 garIBnQM/7ZYGD9c9gna4mx8RwP6sfVz9NqTVdr+yhjFH4RpZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GlwUmAWP6gR5weOzShNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABc9RAqP1+Xv+b7lYdYwoOo7cMv5N6pK7xmMzRmBZRonabbqZvyQoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jemraYSEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrKc22g3Clzd75Bs+CmSiute11Q2EYfUCM
 0Iq0RYUs/J13Rn+JjX6d1jiyJKehTYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 n2jks7tBDdvmKaIUn/b/bCRxRutPQAFIGlEYjULJTbp+PHmqYA3yx7KENBqFffvisWvQG+hh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7DJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:qGVi7qqdfoG08/ikChB3Xi4aV5ogeYIsimQD101hICG9E/bzqy
 nKpp8mPHDP+VUssQ4b6LW90cW7LE80jKQU3WBzB8bBYOCFggqVxehZhOPfKlvbdBEWndQy6U
 4PScRD4dTLfDxHsfo=
X-Talos-CUID: 9a23:SloqcGxJXunp587UIgvSBgUzKuo/fi3alU7cfWSHVUBHUOGXW1S5rfY=
X-Talos-MUID: 9a23:iI6gcQs5oE4r+ol0Mc2n2w57L+lkvOeUMmdQiZs4kPW+K3Y3EmLI
X-IronPort-AV: E=Sophos;i="6.02,210,1688443200"; 
   d="scan'208";a="121428993"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bEVtDgpm7q0McIA7ybGNOXf60qUSiZ6I8+FZ76Aysfx6fCPqSxlxTokr6hPG6psHXRcGFI/K1QLwsxmcfsHEqTOlZry6a5MM8pAZgFT1t7F16Pg/irXssR1Kmu5ci7oWTVbYfvGWfRtsptLwv9yULXlUvSTlUntqP/cznHpI+hRKmBkTTJnzw+MpQgN1BqF/6bLLY0gNVX6InLeUijhwXRr/Nh9Poca1MNqiA2wmyON5RegodmGzdmtOyijieWD8zheDAbB4x8BwwOl7XRUVCurpnw8VMtgRV/Fq/JanUdRTnpsczXE38ebmmRxMptLvf4i4ha/t0mHI8GCIOOEovQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kpkxSsDflCvni48u497ZQHKPzo0C+h1dWnGMwWyBlog=;
 b=HNIpXFGqGitRnLqybvDn7GaPiLsFSKXBLUs8JDbis7eU8lJ9MAA2RI5ty+XeElhiWz7n/LBguVKifBEKe5bqzE+DHZ3WuM28LE1IbtaDO3Hj8MBpPNFPsTVXRaQoSYL+2dqnBdo5R/nqvQQItlnBG23lL0BGlJ9M8sOfRkMKgatCnUGbhMlaPRRwzsrXMD6dPXQzsbuGbbvuCwSBeyE9e55k4eQsyCc243L0RYbY/xD0ESg/R88wSBlFAWsz3hAy4glM0a7dJXplY9cdQ7JTamLpAg6ynlT0BCvXD+tadZnLtuxKtgMuGXFfXJHZ7TjGqO6/Svrg1+cKeA3QxQZqew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kpkxSsDflCvni48u497ZQHKPzo0C+h1dWnGMwWyBlog=;
 b=aK3RlaX3O42x03/QsLdOBRNkhTgDdn4X57FEm0ngqxy2JgmVGMfd10TMRmT7fuHTe2GuW1b6tPnZ3za+XmDtXmrjespR9as6omrOYHjjfUSC7zUeGG+zfO453gS+9VS2KP7E6u9Q0Cy9SQhqaDTIA9A6f+c9MJJS+rnuQezLexg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <64af115c-e3df-d6ff-65fd-8eece19d31de@citrix.com>
Date: Tue, 29 Aug 2023 17:04:38 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/APIC: Remove esr_disable
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20230829154621.3565971-1-andrew.cooper3@citrix.com>
 <ZO4WODGDiXRj3mrX@MacBook-Air-de-Roger.local>
In-Reply-To: <ZO4WODGDiXRj3mrX@MacBook-Air-de-Roger.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0245.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5842:EE_
X-MS-Office365-Filtering-Correlation-Id: 30a02c3f-d97e-4e7d-2494-08dba8a9a88e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aliT3PfVaLOghHiTxd6KES6ra1LPt3IAycuyv1Frk69e7IjwcMU518I74fb1r45njUYgYTW9o4hVoAze1VelCS5UV4Y0OgDPCW0kzC/BVNwVl5pdn9HIxJUNugGXl5rhjFGjk3/ALbHkioic102aDnI9eWoBHHtuQ84eP0QqoKJ0tbM0dNwgzKlwTgM0cKoydsb6h0SClNxO9tgud7vRPkVFwsW5SCApF9sltGUhRJopr2qeStXDLSadVR1HTiUsJ8g0LPeQiIWIc++oE2IKHcOrSotehjtyCqbH5ALOs0fVEXEEwkP9/7VQDM7LUu+THPKKpXN2revvHkLonYfBNAA2/miClR3v9VqZTJqpXU3zbs+fIAMZBAXBrvVWkyqCEkiDyBG5qCL0E3FP3j+Bw6yCuf9/Ufr/JV15x79Qtkj9JKftosL434qHjrFHUUL28BbVJv7H1S3WtFk5RvXrDUaWMSy/LVOcupz7cOZXvbTtEhmEa5Aj+dZ1xSK37sVY3nfI4a4x3wDYrtEvZfhEnYBVRLSCWVVsQkMDXEOYR/NbY+ukwjSgnDui2CA8sr57CBToD0fc/2+sP4lqgLpJCDwETBlDgk9Uq6mFv2qnYEyDmnvFo5+kBeOgx9i3vARbgpU3KOnPCUHoX6oUBL3fzg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(366004)(346002)(136003)(376002)(1800799009)(186009)(451199024)(6506007)(6512007)(6666004)(6486002)(83380400001)(53546011)(478600001)(26005)(2906002)(2616005)(54906003)(6636002)(37006003)(66476007)(66556008)(66946007)(8676002)(6862004)(316002)(5660300002)(8936002)(4326008)(41300700001)(86362001)(36756003)(82960400001)(38100700002)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmZFUS92NGxrVEoyQWwwcmRFMkpHanlWMTZpYmRiYkZQUnFjVTEwQkhCNzFF?=
 =?utf-8?B?MVdlckRmQ3JCRlBtNmozb2h2SnRkWWpYVUl6NE5HdEN4RW8ybXI4TjlYakg0?=
 =?utf-8?B?R2tid3ZlSFJRUGVWWTIvYTc3dFFDSlNtcCtzODNrNHFjaEpibVEvVm5mZFIx?=
 =?utf-8?B?dCtkUUUzbGdVd3lLUTJDcDVSOCtMVkJNMG03c29EeVZ4UDVXTjRDdWwzN0FF?=
 =?utf-8?B?WUNiZXlONWpWTHFEU052OFRFNnNuYVNCbjMvZStYWnlhV0lhSGcwbm9LcEF1?=
 =?utf-8?B?bmpEdTRseGtNSzRjVGE1cUREZ2FraDJXb2N2STQwSzd3azZZMXJuQUZ5b3Ry?=
 =?utf-8?B?YTB5eHZIM3F0V2FpRHFmeWkraEdZaGljNWd4RDAxajNRU3k2dnRXNlNGV2ww?=
 =?utf-8?B?TDRWYzN5dVdBdTJCL2tPdFhoczExQzM5eTVja2RxOElXYWkvUE1VVTN6SnZ2?=
 =?utf-8?B?L1RGQklEZnpURkxqbGsvd1Y3SHk1dFlKdnY1bHhWS0xsQ05qdGc0akx1bmFt?=
 =?utf-8?B?aEc4U3VvazZoRC9qc25hb29LWXlFK2lRN1MwYWtISGI5NG5XRXEvM01PMnJD?=
 =?utf-8?B?cmtpbXZFSXJRNEF6UmEzdSs1RElUejdSeUVaYkt0MFZvbXF3MnMxdlY0YVRy?=
 =?utf-8?B?YmxFWTlteU5ZSUhEWnlSVEhrR0U4Q0ZNQlJJdzl4WFlPRmZpNjFIWEEzWndi?=
 =?utf-8?B?RjdnQ0VGOHQyUGQzVmY0bE5oc0FJb3c4dUxJc1VIam5Ob2VPSkp5ZCtHSFlI?=
 =?utf-8?B?bDlORHpqTTNETllFNmxna2NMc29DV0JwbzVwcVZaVmRMeFRhTHNaOFV2VHVq?=
 =?utf-8?B?YndEajMzcHgxUWtudVc4TXJvTTlMSGJDajMvb0tRQUxCcVVQcllWeUFkb2VY?=
 =?utf-8?B?SjhwZHEzZEJ0V1c1b2krSkpqT1R0aTBZWU1ISm5NN1BMRjBmWnI5d0lvNU1Z?=
 =?utf-8?B?VFdmMkI5RFJXRWx0ZXVYbmliWWtERGkvZjJQbGE4dzVNb2RRc1FIQk5TcitX?=
 =?utf-8?B?WlZUQ3FaQVJieFpyR25SK2h3ZXVmU0RJMHlCZkw3WEdsbW5ySEsvYjNHV1ZJ?=
 =?utf-8?B?Z0NKaEJOQ1ZvQlQrWjZOelNVVjZ6M1l3UDdPOHF3RGRwb2xKY3dVdS92NDJl?=
 =?utf-8?B?bnBwOWlPSkdrbHN1eWwybDVQcG1VNUczTm9MMW1rYllPUHRYb3RVOUQ4ODdv?=
 =?utf-8?B?N1dKSWJMdzc4L0J0QVYrQUZlbDlSdXdjYmJpNGk0N2dwZ3YxU0lLaGMrbTlY?=
 =?utf-8?B?eFVYU0FGTVdmMU95YjI5RVFsUzNrZG5WUi84dGVqOHEvYTJyekI1NGV1dG5t?=
 =?utf-8?B?UEpaMGxhaFc3WG1hTlp5WFhMK3Q0Yjd6RTZ5QUJsZEJqN1NLT0ZJajk2MUdp?=
 =?utf-8?B?eUJoazhYL2FyMWxFVmFIWVVzUGkyMXZvQlVMTmMycGgybGhwK293WUxhc04w?=
 =?utf-8?B?M2dNaVdkbUd5bzEvelJuOUllTWFGL1BQbUlaOWtlZFFMK1BvQVVUVXZIaEtO?=
 =?utf-8?B?bmI3eUFta2J6dGk2SVpYSXZEVUo3MGQxVHNqQ2dCNUZGcEV2MmxadXp1eDZz?=
 =?utf-8?B?UmNadGEwb21LTUFyQ0xwM1dMQkh6aUhwWm5rVHFzdFlsYVg2cUg1cnlRRlYw?=
 =?utf-8?B?K05qRGtZQTR3cU9VL1JzaThmeTRWVHRNOG9BYXBzNllmQ2VYM1hnUXdEc2Zo?=
 =?utf-8?B?c0poYXZUcmZDaGhkdkdhSDJ2RGpIZ2N3MTJ6cnJCNnpvMCt4SjJ0cjRXWWNB?=
 =?utf-8?B?WmxzaTN1anBkQVpGRXU1QmRoais0RnpjVzhPdDBTb1N0YmUxZXZRZ2RPb3Zh?=
 =?utf-8?B?OW1IOVZHeFJQUURhUlJuSytlYi9RVC8zb0NpR3c4NHE1L0FDcmZzVVVIWHVG?=
 =?utf-8?B?Y3MwVSt0ellUanpLbE5ESThXVXhrS1puNzVLMjVLOC9zT21oTzE1RVVFWitz?=
 =?utf-8?B?ZnhZWXVHcmZNVzVoUWdMbENESHlpMzFaYUQrS2ZOUmJJN2J0OTIxaGw1OUdm?=
 =?utf-8?B?K3VZMWluQmsvMUVJSHdJQURVODJOTDQ0UVdlbGNiWGNyRmlvLzd6T0ZjbXBy?=
 =?utf-8?B?ZSt5N0dGL1BHTmNITXhFU1NqTURIakhwMEkyWXRRT0o1SjltRitoTXdhNjFh?=
 =?utf-8?B?U1B3UXI0ODZ2UDRKeXYxUlFmSlhVaTdqaEwrellxUTBBTFQyM1dIbWFKVmUz?=
 =?utf-8?B?NWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	i6WsJX5zSMt75hX+zUoKa7b404UVOCZR8BX7kOrn74ZVQOT7ft0hGCmJIRcxcGELejTCl02pvqZti+nOL962zSDduqqe4X+sBKnq0kjfrddNnLhWMdtDFZAHVboqhbrBHb5SC6WOvowZbxgr86Lvjor2ft/+Y8vGVBENRwfUiT0OolODMCGKH/pEUEp1YbbH8QU9dbS180elboVcfovQkgjiwCsWsp61n2n9GMMAfQho21dwZFlZznmRPnlmrGzqztrERbpG0iZEALQc3HltTmjw46Oo0cvXS7+tf/0Y3duvhNXbRIGwalVoGk6y0Bdy14FPbv5B5q7/mq0uQUMTk6rQzQzYldDZowIm+pMOAw643QCqpkR3A3LWNn4MVbsP402MH/+OhGlgnwCMnFdZkJYTMMlpNKrq61rl8CMLjsNAOWIEr+1huEKZJRLq0RopfVk79TdVsfaN8reKLp61njfX+k1bcAAUIIwb9mGI/8Ltj8Bmwhcfzhng9XoPO8yhPkqL2Tx7EXGK/CIBaSaoWVQLDR2JY2jcPrgOlccR+3bKrhW37eFccP77qVhnywjp8a4dWL9E3XD7TgSrJRIbh+dTVpK7BRwEdXFQvHSplEJvbFz8Lg8HqevZGWByT0gTqvMwvyJK5TCCF0DSKvcFL8e7Xdey0tHLStTmVef72OSWjYFBcFuTr7T2sEM05nquJiYNlFfI+bXVaj7KJthpgw8MEuL/HmpiuJ2eUHMZjr/uEtppVm+bmEC4w8bOoOwCrrwdg58GfJKAhj1VhCVDXMQqgyzVVn775Ua9lIihRTUlBDtWkRs8gtHNM3WJEmE2
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30a02c3f-d97e-4e7d-2494-08dba8a9a88e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 16:04:43.6718
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A1+2ZW0BwaYMKPK3BU7hsVy1Iml6tRAWLiCwnPMA8JLwuHUcS51XZxGsHqWFcFix4gQAUAatKmHBWOwXGGob668sIr3Mn1GieOXBiCPcP6U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5842

On 29/08/2023 5:00 pm, Roger Pau MonnĂ© wrote:
> On Tue, Aug 29, 2023 at 04:46:21PM +0100, Andrew Cooper wrote:
>> It is unconditionally 0 in Xen, and was deleted in Linux somewhere between 2.5
>> and 2.6.
>>
>> Remove it in Xen too.
>>
>> 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>
>>
>> I got bored waiting for `git log` to tell where it was disabled in Linux...
>> ---
>>  xen/arch/x86/apic.c                           | 50 ++++++-------------
>>  .../x86/include/asm/mach-generic/mach_apic.h  |  3 --
>>  2 files changed, 16 insertions(+), 37 deletions(-)
>>
>> diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
>> index 41879230ec90..5c6935ba42db 100644
>> --- a/xen/arch/x86/apic.c
>> +++ b/xen/arch/x86/apic.c
>> @@ -496,14 +496,6 @@ void setup_local_APIC(bool bsp)
>>      unsigned long oldvalue, value, maxlvt;
>>      int i, j;
>>  
>> -    /* Pound the ESR really hard over the head with a big hammer - mbligh */
>> -    if (esr_disable) {
>> -        apic_write(APIC_ESR, 0);
>> -        apic_write(APIC_ESR, 0);
>> -        apic_write(APIC_ESR, 0);
>> -        apic_write(APIC_ESR, 0);
>> -    }
>> -
>>      BUILD_BUG_ON((SPURIOUS_APIC_VECTOR & 0x0f) != 0x0f);
>>  
>>      /*
>> @@ -628,33 +620,23 @@ void setup_local_APIC(bool bsp)
>>          value = APIC_DM_NMI | APIC_LVT_MASKED;
>>      apic_write(APIC_LVT1, value);
>>  
>> -    if (!esr_disable) {
>> -        maxlvt = get_maxlvt();
>> -        if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
>> -            apic_write(APIC_ESR, 0);
>> -        oldvalue = apic_read(APIC_ESR);
>> +    maxlvt = get_maxlvt();
>> +    if (maxlvt > 3)     /* Due to the Pentium erratum 3AP. */
>> +        apic_write(APIC_ESR, 0);
>> +    oldvalue = apic_read(APIC_ESR);
>>  
>> -        value = ERROR_APIC_VECTOR;      // enables sending errors
>> -        apic_write(APIC_LVTERR, value);
>> -        /*
>> -         * spec says clear errors after enabling vector.
>> -         */
>> -        if (maxlvt > 3)
>> -            apic_write(APIC_ESR, 0);
>> -        value = apic_read(APIC_ESR);
>> -        if (value != oldvalue)
>> -            apic_printk(APIC_VERBOSE, "ESR value before enabling "
>> -                        "vector: %#lx  after: %#lx\n",
>> -                        oldvalue, value);
>> -    } else {
>> -        /*
>> -         * Something untraceble is creating bad interrupts on
>> -         * secondary quads ... for the moment, just leave the
>> -         * ESR disabled - we can't do anything useful with the
>> -         * errors anyway - mbligh
>> -         */
>> -        printk("Leaving ESR disabled.\n");
>> -    }
>> +    value = ERROR_APIC_VECTOR;      // enables sending errors
>> +    apic_write(APIC_LVTERR, value);
>> +    /*
>> +     * spec says clear errors after enabling vector.
> Is it worth making this a one-line comment while adjusting padding?

Yeah ok.

>
> Regardless:
>
> Acked-by: Roger Pau MonnĂ© <roger.pau@citrix.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 17:18:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 17:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592409.925127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb2MI-0006jw-8B; Tue, 29 Aug 2023 17:18:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592409.925127; Tue, 29 Aug 2023 17:18:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb2MI-0006jp-5A; Tue, 29 Aug 2023 17:18:30 +0000
Received: by outflank-mailman (input) for mailman id 592409;
 Tue, 29 Aug 2023 17:18:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6b+0=EO=nureva.com=anthonychan@srs-se1.protection.inumbo.net>)
 id 1qb2MG-0006jh-J3
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 17:18:28 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20710.outbound.protection.outlook.com
 [2a01:111:f400:fe59::710])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fea28f1-4690-11ee-8783-cb3800f73035;
 Tue, 29 Aug 2023 19:18:26 +0200 (CEST)
Received: from DM6PR20MB2779.namprd20.prod.outlook.com (2603:10b6:5:140::30)
 by BN0PR20MB3782.namprd20.prod.outlook.com (2603:10b6:408:122::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18; Tue, 29 Aug
 2023 17:18:21 +0000
Received: from DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e]) by DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e%7]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 17:18: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: 0fea28f1-4690-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aUA02Eq4AvyOmeFSPG4zGQmJH6S02OwDL0+f6bfqwXO2V7O5acwMK71ECcmvYypb2ytpe2WHWP7tYcdCyezrGlYPez3sv1R1m4o0f+FZk+2HtyLMDO9WwT2g2fRqSUWvjhRt+x7bs0yqogO+72bO826JF52s0IWbkGdn6TpLa5X+Ra9ypDYjepAD+CBShr6eh371MWEM4YK3xgec7XTFyVkFpLd2R7O9dLf93I3wDGEiB7DzgrHhhWmHVy+aRSfn0rgSqrHDR66B6u/CgC9ZQcN5vq9z9bAdTVnNpo4TqNL0alFRnWSlcf2Z35lmATsKDcCmHqZaLz+78AzEofKbHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hk1Ga2xqhLC3Nr6HSOq4w0JF70qwQ6hTTTc72LioLE8=;
 b=l0qvXAzvCoPDfHJxnCOmJGBMoUOta3SRQM7/4TR3Q2OA1AVsbtqbwiMgMCiMALBS21lnB8LhqYSucfER8Ka/uHAfKElR0x4OfVNms9Mb+9X03LxlZAl5CF10p0B5/JmpDqB26v0nWW6Z+KO26tbDEYk17nK/usZdVoJsCypBWPu3ODGtpYIzGXPEPGUOLdh5M7VyHAKaSsXvW7KWFi+0HwPybz0MW3KEs70NBHIYIjiLTWVek3sU8O5jxZU0ntOg7gHEUlBJbjzAG6/cOeQTHw8ZKg4uQyPvu2XgyI1+E9mA7LU/tMk2dD3yr5A5SzFOFW2yQqxBTx3gIIOUVc8a7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nureva.com; dmarc=pass action=none header.from=nureva.com;
 dkim=pass header.d=nureva.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nureva.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hk1Ga2xqhLC3Nr6HSOq4w0JF70qwQ6hTTTc72LioLE8=;
 b=CWmI2GloI20yioUI4qBC6rf7jMztpAr1gFZfJk5SDbNVhLN6JJ2ypTcDlrugWHtjxef3bVnu2awphzao4PL7/sg2d4t+OC1ZOxoj7e4AOdCaf4ALCiqYFZ28qZYIU7e66VlRXBL+IDgMzguywT1vbGDOaZhRnuEmcUxKi40mn+4=
From: Anthony Chan <anthonychan@nureva.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: xen arm64 low power sleep support
Thread-Topic: xen arm64 low power sleep support
Thread-Index: AdnanCj70Orzia5aQfSER7H0AUNnzg==
Date: Tue, 29 Aug 2023 17:18:20 +0000
Message-ID:
 <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nureva.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR20MB2779:EE_|BN0PR20MB3782:EE_
x-ms-office365-filtering-correlation-id: bcf82bbe-f4d4-4175-4cdc-08dba8b3f1a6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 R3W46cDGqXNfGK0yRMKYWyPMEkx4kxL5oLKXEIBtjEoqZpBUoN0Ud+LlvQGwqJglTxN2jcBap7X5XKKD1lbu8K//D+ZHZL7dvXDJio9ErvqY28+g7ELZKVvcqYOofL1B/qXEIp/5bjxUqf1shvotwVUp4iRiNoGchC/ViwDrFyfzaGiXy2D5idTVYEk0EfWSx7YL7WNzZwR5ZDFmvc3LUJWqInZW5PZQMIB+gcrq5LEfc8JtwN6GFvU1+NdN4ADDlcbAhhHOSizl4j8p+TCbYbXZMleia5TthHTFclU9pr0Y0SOxlcrjygvp77DvW6SR5W7kGdiEQdgjDxl4+Qx7fNQAM5eQ0+pmzdAs9o8fYx2tT0KZo+UFXKL6JnYJjfP8Mdcg3nsN6McZlTSiqaE14LagHB+4YDUXXK+f55tK7HgrgZdMKc3rCEyDd/PJqOIUlGQ+t5B+nQ+f1eMNDmo8bTkvGQbzPzX+WClEc6XXIMJgZF1cJr6N8jxvZjfE57EywmHgsFHX5az2lKzR3Ewtd6KLxPPLiiodwlWPzTmSJir/WHJKCkkuOt2nmCYsZHmqF4sqYkqRgqyKCEvq3OHq8aoQlT/inS9vSU3sYob40riRu/xaQyG8cXzc+Rr5LNA805taJrmUiJg3ejfcVsu9mg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR20MB2779.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(346002)(366004)(39840400004)(1800799009)(186009)(451199024)(8936002)(122000001)(478600001)(76116006)(7696005)(6506007)(71200400001)(66556008)(66476007)(64756008)(66446008)(66946007)(6916009)(38070700005)(316002)(38100700002)(41300700001)(9686003)(5660300002)(8676002)(83380400001)(2906002)(52536014)(86362001)(55016003)(33656002)(36394005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?gVmpBEmlQYVNv+zueR+SrRwMtY+4zWIL1gd5hb8PaNnxVczoNZhnx9UCQD3l?=
 =?us-ascii?Q?mnFgJ9DXrXkY15CvqQhelr6ROE+w2hQRndVZfJTVoTgFK95etX6CDdpZ56rW?=
 =?us-ascii?Q?dtXP2TRXlqiGHOUwXuf20a2NhSOQi6ldfPmShbm50Fv5/VokR/11nLgDFiRv?=
 =?us-ascii?Q?laXoag/4PPA1qwrFIJXBq7WmfYhyyFZBWaA1RQw2uF83DEEYUgrUKUJmbm66?=
 =?us-ascii?Q?5132k88vGJzo6nV8kF4dfnaOh2EhdpdyuImRmnHOBULLEYd+Aydwac5PzZTw?=
 =?us-ascii?Q?JtbwgofthynpMvQjks0f35hUZwN1AJcjlIaoo3/uIzG48H2TD+tjYaxMc08f?=
 =?us-ascii?Q?ckp0Q21aBThXdieGMOQCc764nyNxEm36oQ5JAjuMgat04kCaJtpkhsqsnA7L?=
 =?us-ascii?Q?PPA/HaMLrdrk09gW4ODZr80ziLK7ylUkjtEz5zBqkiSgSjDinR8SzSdT0TiZ?=
 =?us-ascii?Q?YI9PSkFvkeMDLg56vFTqUivKQKeRP1JruOMZFxG0u711SrvkNIp+Zg6Yn+RT?=
 =?us-ascii?Q?ZDVZhEtCvpU/ikd/U8Dqql+mTcN9uuacBINZFWxk01VwTjvo0M8BOTELuH3P?=
 =?us-ascii?Q?6ITJWQqHXTg2GCdUg7qoJNDF+EwoTetkl8CB4iEtsGnQjI6pj7nqZcf5i3Lw?=
 =?us-ascii?Q?8cDDmLmJyu9UNIX1W0NUxio0mJAKpC4QyRXFenmMC/VV6zKXbTD8sT8F/Dx5?=
 =?us-ascii?Q?NK4RFM1mwxH9vi1dXTdUiEZPIVFVvxvi1cVkPIAO/KGeLgRiTZ87UI3Hh/H9?=
 =?us-ascii?Q?P8egJmPt/UZMCVSnlwSqgnXRDH0MUWz9r3e8GrxO83FNXYLdS41zBWpDqa1O?=
 =?us-ascii?Q?HXWkbQKjOD31VLhmoSSZBzbDHxHnBP4SzxRGn/PuwMp+JK1blwnyQkrQPqen?=
 =?us-ascii?Q?N+sbfjRiJ56ADMDPheNpe8QkH4AvKsSKdB77GlJJfCtnEihInyW5sNBvk+0I?=
 =?us-ascii?Q?7EToLyjd32PkZoy1z7pO5SYSIax2tyPvb2M+LVw+hkibB5MQNPFOs/AR/kdA?=
 =?us-ascii?Q?BeBbm4ETJFBocxnBdXuXY/IqUcrs7CnaD2FDUq1Hd/ass4RwZ72eQJ1sOqQu?=
 =?us-ascii?Q?+z3yvMpbwMGJ84mP6GuMrvxS2wFUFo6dQQYfLhrTBnHpxhryCvM6vBfF5Egv?=
 =?us-ascii?Q?uKELgfVEq78Ccm+jGdZi7cNEeEyMQbDA1w0isOR1HUOkYMdlR09S7Zo5XYMw?=
 =?us-ascii?Q?qK+/O1FDHYqUazXZL40aA7+OfxKg09r17FS4tAhBAcNnL4T0zGET+EvVb6c0?=
 =?us-ascii?Q?kJOiCDK9bfaS1Eu36qzT2yF9NYUOJJi5KIlDRgtfCjRmpPz0yOmhkHRwLWRp?=
 =?us-ascii?Q?HIkMzuASn393caDh/npVkc8Tq21mFIwR0wLC7gaU7JPflGZacSyTQuRak/C0?=
 =?us-ascii?Q?rHSJsQv6EYsk/zjlUNMfCcP/BNomCnDdAJ4v2UfUr8iLIQoiiArUqOG/rd/P?=
 =?us-ascii?Q?k12roPcDrmiSLctheooEfA3PbcKS+IJr0TLc4wOVIx7AxywBqVeLtUAPlWn1?=
 =?us-ascii?Q?CNiH+snAVkM2SnQ+Fl3bat4kn3LHf+D350jCUTLDmwRPha4S56lg6XGFuHog?=
 =?us-ascii?Q?KvezrrzWg6gi3iNTbHuefJcGqtwaQoz+6+THNS1RJXy+twhlzDYCBoQLT89J?=
 =?us-ascii?Q?9WFJyo1HVtE57UL1YCOqXd6y8EfY+1SUuMT+V6Q2Sf0V?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nureva.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR20MB2779.namprd20.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcf82bbe-f4d4-4175-4cdc-08dba8b3f1a6
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 17:18:20.9807
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5aeb77fa-643b-473e-aee0-cb54a11ccba3
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: V6znysuKwaqK9uCpQlxxbnIfGXJ4XNCPjcqHpT1HtocuprqQEcwX5AwaqvHRKDFuL+sfIucOoWtke/FYcU7A6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR20MB3782

Hi all,

My name is Tony and I've been researching/developing using Xen for potentia=
l upcoming uses in our embedded systems.  I started with Xen using Xilinx t=
ools about a year ago and still have lots to learn about what it can to do =
in the embedded space.  So far, I've managed to integrate Xen and Linux int=
o an existing product that exclusively runs bare-metal code on a ZynqMP SoC=
 and migrate some of the functionality into custom Linux driver/userspace.

I'm now looking at low power support, for now at least between Xen (4.16) a=
nd Linux (5.15) dom0.  I've tried a few different Linux kernel configs arou=
nd power management and each time I try to suspend from linux dom0 (via sys=
fs or systemctl), Xen will watchdog on dom0 guest.  AFAIK, Xen should trap =
on a 'WFI' from guests, but from what I can tell debugging through the linu=
x suspend process is it's spinning in a 'suspend-to-idle' loop before it ca=
n get to issuing a 'WFI' or using PSCI interface to notify Xen.  I'm beginn=
ing to suspect that 'low power' support for embedded arm64 just isn't quite=
 there yet, or am I missing something in the configs?

I realize this could very well be a Linux 'issue' but checking here first. =
 I know Xen presents a flattened device tree to Linux without CPU idle-stat=
e nodes and maybe this is causing the linux guest to only do the suspend-to=
-idle mode?  I should mention that I'm booting up using dom0less feature if=
 that matters.

Appreciate the help, thanks.


CONFIDENTIALITY NOTICE: This e-mail, including any attachments, may contain=
 information that is confidential and privileged. Any unauthorized disclosu=
re, reproduction or use of this e-mail is prohibited. If you are not the in=
tended recipient, please notify the sender by reply e-mail or telephone and=
 permanently delete this e-mail and any reproductions immediately.


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 18:57:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 18:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592417.925136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb3uC-00004t-2Y; Tue, 29 Aug 2023 18:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592417.925136; Tue, 29 Aug 2023 18:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb3uB-0008WS-W1; Tue, 29 Aug 2023 18:57:35 +0000
Received: by outflank-mailman (input) for mailman id 592417;
 Tue, 29 Aug 2023 18:57: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 1qb3uA-0008WI-KS; Tue, 29 Aug 2023 18:57: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 1qb3uA-00027W-6F; Tue, 29 Aug 2023 18:57: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 1qb3u9-0005mP-Qx; Tue, 29 Aug 2023 18:57:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qb3u9-0003pR-QV; Tue, 29 Aug 2023 18:57: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=2vNrgFMC+5MIhNXtgJyND4/wG3kwKwxuKxdmaq7AMu4=; b=jTcTmqYeUuwSLEPTUW6dG+vruJ
	0Nxb/p6Zot5f77nmngEQjId8+vTNFl1gAYXChNbFtyWTidLsEQME4kCDyCTfe3dlUUgSp7WGfJyty
	LpT8jtWUMdAm+0hxJSo72SNd1+wzc7K6u7Eet/MZHIrCfb9xA2qNdsNAoZBCY1WeYOzU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182556-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182556: 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=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
X-Osstest-Versions-That:
    xen=067f18c3a72d8f0acccab831083b8518f0832d81
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 18:57:33 +0000

flight 182556 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182556/

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                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
baseline version:
 xen                  067f18c3a72d8f0acccab831083b8518f0832d81

Last test of basis   182541  2023-08-28 14:02:04 Z    1 days
Testing same since   182556  2023-08-29 15:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Simon Gaiser <simon@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
   067f18c3a7..8c01f267ef  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 19:59:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 19:59:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592455.925164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb4rQ-0007aB-RN; Tue, 29 Aug 2023 19:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592455.925164; Tue, 29 Aug 2023 19:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb4rQ-0007a4-O7; Tue, 29 Aug 2023 19:58:48 +0000
Received: by outflank-mailman (input) for mailman id 592455;
 Tue, 29 Aug 2023 19:58: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=5Epr=EO=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qb4rP-0007Zy-AR
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 19:58:47 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7353bd44-46a6-11ee-9b0d-b553b5be7939;
 Tue, 29 Aug 2023 21:58:42 +0200 (CEST)
Received: from CY5P221CA0051.NAMP221.PROD.OUTLOOK.COM (2603:10b6:930:4::26) by
 CH0PR12MB5153.namprd12.prod.outlook.com (2603:10b6:610:b8::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6699.35; Tue, 29 Aug 2023 19:58:36 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:930:4:cafe::36) by CY5P221CA0051.outlook.office365.com
 (2603:10b6:930:4::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18 via Frontend
 Transport; Tue, 29 Aug 2023 19:58:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.79) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Tue, 29 Aug 2023 19:58:35 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 29 Aug
 2023 14:58:35 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 29 Aug
 2023 12:58:35 -0700
Received: from [192.168.139.126] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Tue, 29 Aug 2023 14:58: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: 7353bd44-46a6-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BJcW+05uAOzzppJLgUw5hIChgf+Bcc8jMHtupBNYZNEwoErxuiwLE5wCS/lb6v/nFEaYO52fKspHzqAyWxtZd5kyzU9D64m0KdaXK6RViIgnsJKlI013rhYlXBkX9PrJFiQuRetIIAU4kLTmdEn5JtBWCNNJAlahdvCvZnzg/H/0XGhJsIPavJ+QPuspKpa/9CaeXR32w2GJ9UZ6kU24wJPQWSn2NDgITg7n8md4fc9CIjswmo/KZOrn+DgfAyi+riVGN2YSsYss+pnJjylAIhrxPt+52kIkEv4u/8RCjzpEFanm68BPV45IvW32Bi4R5pScl0IYlGm4hCTo4kMzxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CwMxruHWYc2va5Z9r+cMPxsJwA/nd+0XhTUuzNFCIK4=;
 b=Vz0ZSuVAXsKbcmZiwrk9BVVERLapqtpuRbDjGuii1Z7eCoixKETUl2Mn1rkjQi37a2JIcV6Ogqj1ufyQbn1kT1uqe0EvpT/ObNpYib5D2gIeh4JY6PLH8TNc1QS650wKZonyCLdZKmHVUoWOXOwneukeFwW/u6ez8UUOjSSKdFPJDTmFmzkmxMDSp1oFiQsloCj6Tlwr4h3NHNqNtj7iPZUCgG5LxIgbx7vsN9hlgyAkNz5L3bMacZP0iSYjeyq7hlN6k3oac2wIOuEjJQQVSf5Y3y31A+dAkIvnTP2tSL8GQ6rLPpIqHe8/x1sD3bzspFjEsmIqbvp7YasAvuXJrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CwMxruHWYc2va5Z9r+cMPxsJwA/nd+0XhTUuzNFCIK4=;
 b=voVAoAi7COkBH1/DeuGU9neQHoUy+8+NORrZMrzlgb+qJVJ9T3xFFqvsfcyO03Tg6PSFYMcO/Y4OSHl8HcCYY8/aRwvXZ9eQzvClLszLurdDkYKXF5/+LHezQFJEX6LqffLJhdkfWu/uXys2BL0lwH/1PvwNQcJlJO3HWFbVay8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <f52813ef-dd5c-2cdc-22dc-05365c48263e@amd.com>
Date: Tue, 29 Aug 2023 15:58:33 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [ImageBuilder PATCH] uboot-script-gen: use size from arm64 Image
 header
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Michal Orzel <michal.orzel@amd.com>
References: <20230824182233.50760-1-stewart.hildebrand@amd.com>
 <alpine.DEB.2.22.394.2308241613060.6458@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2308241613060.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|CH0PR12MB5153:EE_
X-MS-Office365-Filtering-Correlation-Id: 04a4c8c4-088a-4b2a-fbf1-08dba8ca5490
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QmNXuqZ1kjxRhpuWOH3whjkUCYCnYTil5Urv5F6xjQRrkbL4EPI22eibGpgRogN/2URXhOysjeDNblCQrfHeSwZ0CdSlZpQosNrUbCeEJEGqWzzaokjuowhBRSCZfpCBVXxLaEkh/jSnUo2c5WV0fN8L0SHE54KAoEF3YqXYumWsEbZkfXTuaf+5VrWR4UveGboJ+QNBXkdOxLq63vWXBRx3QswT1LBaXaTNgi4VglYqir0nM3UXGeuk5SLDb6vWQWP4kDdyECky+e+PLrGJxudIJ77csh6YA1r6y2jSFS9MYIQPFs39/FAZR2oc6OQk+LLWxI7GMOJi7HhykZUc68hvlIMTZ6539G/L+xnZK+BzKw5/K64bUKccw/26DuDWg031hv+u7Ao7oWWfPdnFe8WXAcpecI5vzQ0g+iyLabG7tra7lIOE6vHJn7In+F777EJ1Wc+gCcJB2XO5RrE07ly2xrpC7bV3K2bkeb+vgbmrpHnBI2cZDAE+va6meLIhGeMjEZAHvoWbnm0qf58Qt4wgDNSvp16zfmIJcy5RTFqHDJV9YUdw1TpBnhSdUuGp3SRECeFvg8vbyPUcBwWEwD6BcnOqR8CZUJo+94rnPHC7LeislKSmgpfJY4iLn5gLdRYAA2sXJj1B1W5fRGpIQODP6hx99XvLQtLHTleMZGgKPcwd8DRJ+NIuEx/ShrwWg1Hdph7R2CUYJ01wVTYL4uTC2nXkCwe2CszTIeMK7PAypnOv0qE0hDKJdj/42Ayx93SxouXxmKbEUdPcsfmbC7LnUDhB88TlVuarzEWhDBPVxblwlMennxzt0toawpbABL0f9rT19DRYY6XhaujtVQ==
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)(4636009)(376002)(396003)(346002)(136003)(39860400002)(1800799009)(186009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(81166007)(356005)(82740400003)(8936002)(70206006)(53546011)(478600001)(70586007)(31686004)(54906003)(6916009)(16576012)(316002)(41300700001)(40460700003)(36756003)(26005)(44832011)(8676002)(5660300002)(2906002)(31696002)(83380400001)(2616005)(47076005)(86362001)(36860700001)(40480700001)(426003)(336012)(4326008)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 19:58:35.7767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 04a4c8c4-088a-4b2a-fbf1-08dba8ca5490
X-MS-Exchange-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:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5153

On 8/24/23 19:19, Stefano Stabellini wrote:
> On Thu, 24 Aug 2023, Stewart Hildebrand wrote:
>> There is a corner case where the filesizes of the xen and Linux kernel images
>> are not sufficient. These binaries likely contain .NOLOAD sections, which are
>> not accounted in the filesize.
>>
>> Check for the presence of an arm64 kernel image header, and get the effective
>> image size from the header. Use the effective image size for calculating the
>> next load address and for populating the size in the /chosen/dom*/reg property.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>>  scripts/uboot-script-gen | 13 ++++++++++++-
>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
>> index 9656a458ac00..50fe525e7145 100755
>> --- a/scripts/uboot-script-gen
>> +++ b/scripts/uboot-script-gen
>> @@ -2,7 +2,7 @@
>>
>>  offset=$((2*1024*1024))
>>  filesize=0
>> -prog_req=(mkimage file fdtput mktemp awk)
>> +prog_req=(mkimage file fdtput mktemp awk od)
>>
>>  function cleanup_and_return_err()
>>  {
>> @@ -435,6 +435,17 @@ function add_size()
>>  {
>>      local filename=$1
>>      local size=`stat -L --printf="%s" $filename`
>> +
>> +    if [ "$(od -j 56 -N 4 -t x4 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')" = "644d5241" ]
>> +    then
>> +        local size_header=$(od -j 16 -N 8 -t u8 ${filename} | head -n 1 | awk -F' ' '{ print $2 }')
>> +
>> +        if [ "${size_header}" -gt "${size}" ]
>> +        then
>> +            size=${size_header}
>> +        fi
>> +    fi
> 
> 
> Thanks Stewart this is great! Can you please add a good in-code comment
> to explain what field you are reading of the header exactly and what is
> the value 644d5241 you are comparing against?

Yes

> Also I think it would be easier to read if you used "cut" instead of
> awk and split the line a bit more like this:
> 
> 
>     # read header field XXX
>     local field_xxx =$(od -j 56 -N 4 -t x4 ${filename} | head -n 1 | cut -d " " -f2)
>     # comparing against XXX
>     if [ $field_xxx = "644d5241" ]
>     then
>         # read header field "size" which indicates ....
>         local size_header=$(od -j 16 -N 8 -t u8 ${filename} | head -n 1 | cut -d " " -f2)

od seems to output a varying amount of whitespace between the address and value. In this case, the cut command would seem to want to become cut -d" " -f14 to account for the whitespace. awk is more predictable here, so I will keep awk.


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:12:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592462.925174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb6wz-0004z6-SD; Tue, 29 Aug 2023 22:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592462.925174; Tue, 29 Aug 2023 22:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb6wz-0004yz-PF; Tue, 29 Aug 2023 22:12:41 +0000
Received: by outflank-mailman (input) for mailman id 592462;
 Tue, 29 Aug 2023 22:12:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb6wy-0004yo-FN
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 22:12: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 28646cad-46b9-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 00:12:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0AA17628B9;
 Tue, 29 Aug 2023 22:12:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57394C433C8;
 Tue, 29 Aug 2023 22:12: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: 28646cad-46b9-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693347154;
	bh=sfTFmqPAK8/2t3BbY/pUrNhRVL+tb4h2eBQsKoRfVBs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gOGZgVCWVD4qSaCI1xBa8vb+HFS/PkIhASX9spUrBeHw5dWlhkqJvHiUbSyTyZCFR
	 TEePZsLuWQNmiRPB8p9dC4yGvu6ubFMqbEKBvLV5rlTa9fR/z0wRfqWx55Xhn/vlsg
	 baY80jQ3aQr2v/Xy4QuWZ5p3Y6EWUOZeIDGx4VlCba+ZXwyhX4VNt83hOgmWYc+Wvy
	 WWR3OiAixR2zCExC/4cKTI3I7lD3WYz/iIHYVEZV9ZvPxVPfz1+uJn/STztdhNQkBx
	 nzxFHmGuw9ynXHEfSQFfOon1zl1TQ2ROQ5FDIY3Bm0Ed4+pUpA3DyZ3mcm5Uq8IDxS
	 deEvo9jd0oDbQ==
Date: Tue, 29 Aug 2023 15:12:31 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony Chan <anthonychan@nureva.com>
cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    bertrand.marquis@arm.com, julien@xen.org, Volodymyr_Babchuk@epam.com, 
    michal.orzel@amd.com, danwaqar@nureva.com, sstabellini@kernel.org
Subject: Re: xen arm64 low power sleep support
In-Reply-To: <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
References: <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1896914501-1693346801=:6458"
Content-ID: <alpine.DEB.2.22.394.2308291508260.6458@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-1896914501-1693346801=:6458
Content-Type: text/plain; CHARSET=US-ASCII
Content-ID: <alpine.DEB.2.22.394.2308291508261.6458@ubuntu-linux-20-04-desktop>

On Tue, 29 Aug 2023, Anthony Chan wrote:
> Hi all,
> 
> My name is Tony and I've been researching/developing using Xen for potential upcoming uses in our embedded systems.  I started with Xen using Xilinx tools about a year ago and still have lots to learn about what it can to do in the embedded space.  So far, I've managed to integrate Xen and Linux into an existing product that exclusively runs bare-metal code on a ZynqMP SoC and migrate some of the functionality into custom Linux driver/userspace.
> 
> I'm now looking at low power support, for now at least between Xen (4.16) and Linux (5.15) dom0.  I've tried a few different Linux kernel configs around power management and each time I try to suspend from linux dom0 (via sysfs or systemctl), Xen will watchdog on dom0 guest.  AFAIK, Xen should trap on a 'WFI' from guests, but from what I can tell debugging through the linux suspend process is it's spinning in a 'suspend-to-idle' loop before it can get to issuing a 'WFI' or using PSCI interface to notify Xen.  I'm beginning to suspect that 'low power' support for embedded arm64 just isn't quite there yet, or am I missing something in the configs?
> 
> I realize this could very well be a Linux 'issue' but checking here first.  I know Xen presents a flattened device tree to Linux without CPU idle-state nodes and maybe this is causing the linux guest to only do the suspend-to-idle mode?  I should mention that I'm booting up using dom0less feature if that matters.


Hi Anthony,

Assuming you are using the default Xen command line parameters for
Xilinx boards: sched=null vwfi=native, then if the guest uses WFI, the
CPU will execute WFI directly and go into low power mode.

Given the issue you are describing, I am suspecting the guest is not
issuing WFI: that is simple and known to work. Instead, I suspect that
Linux might be trying to use PSCI_suspend in a way that is not supported
or well-implemented by Xen.

Can you check? You can add a printk in Linux
drivers/firmware/psci/psci.c:__psci_cpu_suspend or in Xen
xen/arch/arm/vpsci.c:do_psci_0_2_cpu_suspend

If that is the case, the attached patch might work because it disables
PSCI_suspend support in Xen and Linux should fall back to WFI. (There is
no power saving in using PSCI_suspend versus WFI.)

Cheers,

Stefano
--8323329-1896914501-1693346801=:6458
Content-Type: text/x-diff; name=no-vpsci.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2308291512270.6458@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: attachment; filename=no-vpsci.patch

ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92cHNjaS5jIGIveGVuL2FyY2gv
YXJtL3Zwc2NpLmMNCmluZGV4IGQxNjE1YmU4YTYuLjlmNjYwYjhhYjQgMTAw
NjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0vdnBzY2kuYw0KKysrIGIveGVuL2Fy
Y2gvYXJtL3Zwc2NpLmMNCkBAIC0xMTYsMjEgKzExNiw2IEBAIHN0YXRpYyB1
aW50MzJfdCBkb19wc2NpXzBfMl92ZXJzaW9uKHZvaWQpDQogICAgIHJldHVy
biBQU0NJX1ZFUlNJT04oMSwgMSk7DQogfQ0KIA0KLXN0YXRpYyByZWdpc3Rl
cl90IGRvX3BzY2lfMF8yX2NwdV9zdXNwZW5kKHVpbnQzMl90IHBvd2VyX3N0
YXRlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlZ2lzdGVyX3QgZW50cnlfcG9pbnQsDQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJfdCBjb250ZXh0
X2lkKQ0KLXsNCi0gICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Ow0KLQ0K
LSAgICAvKg0KLSAgICAgKiBQb3dlciBvZmYgcmVxdWVzdHMgYXJlIHRyZWF0
ZWQgYXMgcGVyZm9ybWluZyBzdGFuZGJ5DQotICAgICAqIGFzIHRoaXMgc2lt
cGxpZmllcyBYZW4gaW1wbGVtZW50YXRpb24uDQotICAgICAqLw0KLQ0KLSAg
ICB2Y3B1X2Jsb2NrX3VubGVzc19ldmVudF9wZW5kaW5nKHYpOw0KLSAgICBy
ZXR1cm4gUFNDSV9TVUNDRVNTOw0KLX0NCi0NCiBzdGF0aWMgaW50MzJfdCBk
b19wc2NpXzBfMl9jcHVfb2ZmKHZvaWQpDQogew0KICAgICByZXR1cm4gZG9f
cHNjaV9jcHVfb2ZmKDApOw0KQEAgLTIwMyw4ICsxODgsNiBAQCBzdGF0aWMg
aW50MzJfdCBkb19wc2NpXzFfMF9mZWF0dXJlcyh1aW50MzJfdCBwc2NpX2Z1
bmNfaWQpDQogICAgIHN3aXRjaCAoIHBzY2lfZnVuY19pZCApDQogICAgIHsN
CiAgICAgY2FzZSBQU0NJXzBfMl9GTjMyX1BTQ0lfVkVSU0lPTjoNCi0gICAg
Y2FzZSBQU0NJXzBfMl9GTjMyX0NQVV9TVVNQRU5EOg0KLSAgICBjYXNlIFBT
Q0lfMF8yX0ZONjRfQ1BVX1NVU1BFTkQ6DQogICAgIGNhc2UgUFNDSV8wXzJf
Rk4zMl9DUFVfT0ZGOg0KICAgICBjYXNlIFBTQ0lfMF8yX0ZOMzJfQ1BVX09O
Og0KICAgICBjYXNlIFBTQ0lfMF8yX0ZONjRfQ1BVX09OOg0KQEAgLTMxMiwx
OCArMjk1LDYgQEAgYm9vbCBkb192cHNjaV8wXzJfY2FsbChzdHJ1Y3QgY3B1
X3VzZXJfcmVncyAqcmVncywgdWludDMyX3QgZmlkKQ0KICAgICAgICAgcmV0
dXJuIHRydWU7DQogICAgIH0NCiANCi0gICAgY2FzZSBQU0NJXzBfMl9GTjMy
X0NQVV9TVVNQRU5EOg0KLSAgICBjYXNlIFBTQ0lfMF8yX0ZONjRfQ1BVX1NV
U1BFTkQ6DQotICAgIHsNCi0gICAgICAgIHVpbnQzMl90IHBzdGF0ZSA9IFBT
Q0lfQVJHMzIocmVncywgMSk7DQotICAgICAgICByZWdpc3Rlcl90IGVwb2lu
dCA9IFBTQ0lfQVJHKHJlZ3MsIDIpOw0KLSAgICAgICAgcmVnaXN0ZXJfdCBj
aWQgPSBQU0NJX0FSRyhyZWdzLCAzKTsNCi0NCi0gICAgICAgIHBlcmZjX2lu
Y3IodnBzY2lfY3B1X3N1c3BlbmQpOw0KLSAgICAgICAgUFNDSV9TRVRfUkVT
VUxUKHJlZ3MsIGRvX3BzY2lfMF8yX2NwdV9zdXNwZW5kKHBzdGF0ZSwgZXBv
aW50LCBjaWQpKTsNCi0gICAgICAgIHJldHVybiB0cnVlOw0KLSAgICB9DQot
DQogICAgIGNhc2UgUFNDSV8wXzJfRk4zMl9BRkZJTklUWV9JTkZPOg0KICAg
ICBjYXNlIFBTQ0lfMF8yX0ZONjRfQUZGSU5JVFlfSU5GTzoNCiAgICAgew0K

--8323329-1896914501-1693346801=:6458--


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:25:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592471.925183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb78p-0006cF-0m; Tue, 29 Aug 2023 22:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592471.925183; Tue, 29 Aug 2023 22:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb78o-0006c8-Tv; Tue, 29 Aug 2023 22:24:54 +0000
Received: by outflank-mailman (input) for mailman id 592471;
 Tue, 29 Aug 2023 22: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=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb78o-0006c2-3k
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 22:24:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id deb67e4c-46ba-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 00:24:51 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 446A361C3C;
 Tue, 29 Aug 2023 22:24:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3904C433C7;
 Tue, 29 Aug 2023 22:24: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: deb67e4c-46ba-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693347889;
	bh=GKqad1DnzRmJh3Y5IMc/cw/xUUeniwRMNGtQTKwrFho=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OH+VUHyGw/yVbWS9bBcpMlZWydH+jBajy90X7oCGw2l/Vs36fmlx2IEC7DTmSqB2q
	 JpAqK4cLx6MX47klkypFwZicl1dXB1I73GluP/vWoxJQrrKoW3B3Ljuq1q1Lq1ZExH
	 oY7MHVE8bGJjiY+dXOXtY7qoSbh9wqqXh5AU7gtehC6s7H9iiXvxhO5k9+fmVqpEMb
	 4l6al+HkwmHCVQf+32qdVPyMiCYdhoChl5o4qu73tLTu/8JnU6E3Yu2QFiVjfKau72
	 dffuGvQG7+nTiruOgBkR2WmqY2oRaOLNJooLkN3WH4ylnSjRccyfGK9Wz0WIzBZLpp
	 JXBZAp+COXMwg==
Date: Tue, 29 Aug 2023 15:24:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 02/20] common/device_tree.c: unflatten_device_tree()
 propagate errors
In-Reply-To: <20230825080222.14247-3-vikram.garhwal@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308291524370.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-3-vikram.garhwal@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 25 Aug 2023, Vikram Garhwal wrote:
> This will be useful in dynamic node programming when new dt nodes are unflattend
> during runtime. Invalid device tree node related errors should be propagated
> back to the caller.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes from v9:
>     Replace __be64 with void.
> Changes from v7:
>     Free allocated memory in case of errors when calling unflatten_dt_node.
> ---
> ---
>  xen/common/device_tree.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index 7c6b41c3b4..b6d9f018c6 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -2110,6 +2110,9 @@ static int __init __unflatten_device_tree(const void *fdt,
>      /* First pass, scan for size */
>      start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
>      size = unflatten_dt_node(fdt, 0, &start, NULL, NULL, 0);
> +    if ( !size )
> +        return -EINVAL;
> +
>      size = (size | 3) + 1;
>  
>      dt_dprintk("  size is %#lx allocating...\n", size);
> @@ -2127,11 +2130,21 @@ static int __init __unflatten_device_tree(const void *fdt,
>      start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
>      unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
>      if ( be32_to_cpup((__be32 *)start) != FDT_END )
> -        printk(XENLOG_WARNING "Weird tag at end of tree: %08x\n",
> +    {
> +        printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
>                    *((u32 *)start));
> +        xfree((void *)mem);
> +        return -EINVAL;
> +    }
> +
>      if ( be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeefU )
> -        printk(XENLOG_WARNING "End of tree marker overwritten: %08x\n",
> +    {
> +        printk(XENLOG_ERR "End of tree marker overwritten: %08x\n",
>                    be32_to_cpu(((__be32 *)mem)[size / 4]));
> +        xfree((void *)mem);
> +        return -EINVAL;
> +    }
> +
>      *allnextp = NULL;
>  
>      dt_dprintk(" <- unflatten_device_tree()\n");
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:27:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592477.925193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb7Bd-0007Bd-Eo; Tue, 29 Aug 2023 22:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592477.925193; Tue, 29 Aug 2023 22: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 1qb7Bd-0007BW-C3; Tue, 29 Aug 2023 22:27:49 +0000
Received: by outflank-mailman (input) for mailman id 592477;
 Tue, 29 Aug 2023 22:27:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb7Bc-0007BO-HD
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 22:27: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 46b9d3b9-46bb-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 00:27:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2376460FB6;
 Tue, 29 Aug 2023 22:27:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7E37C433C7;
 Tue, 29 Aug 2023 22:27:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46b9d3b9-46bb-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693348064;
	bh=xon4TWzIfy79dV5EBufO+AE6FB8msDtSdAeA3UMIsE8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bnOx26iz/O72RA8DJKA7j01iIo9tCPvMMZPPd8y35X+82nN+EUP4PO5BiASeims2/
	 Lhk6ZylIwa0nNBFVRDNO+ZOwC/0p5jkjD8IhQpxsreXnTYi3gdkIyclGDgsKQWwe6o
	 bg5edA2FeXvZA2btB0dL/xenvuJ9mcpS80TZ++wgXsFPHqnSJOw/aYinYXjAkphU4+
	 6ba+f97nObi/Zx4gNxKoAa/QjyFi9OA/HsGZ1Vk4LgP1Oqa1IXMNAl3uluCEXNwflp
	 nYf52YITVc+yljMhDtau+2qjzpOIHgJppctYG/Jw81sIlabgxSCHhWT2EEZXIE0a68
	 IhwZozo9uakKw==
Date: Tue, 29 Aug 2023 15:27:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 08/20] xen/device-tree: Add device_tree_find_node_by_path()
 to find nodes in device tree
In-Reply-To: <20230825080222.14247-9-vikram.garhwal@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308291527350.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-9-vikram.garhwal@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 25 Aug 2023, Vikram Garhwal wrote:
> Add device_tree_find_node_by_path() to find a matching node with path for a
> dt_device_node.
> 
> Reason behind this function:
>     Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
>     device_tree_flattened) is created and updated with overlay nodes. This
>     updated fdt is further unflattened to a dt_host_new. Next, we need to find
>     the overlay nodes in dt_host_new, find the overlay node's parent in dt_host
>     and add the nodes as child under their parent in the dt_host. Thus we need
>     this function to search for node in different unflattened device trees.
> 
> Also, make dt_find_node_by_path() static inline.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes from v9:
>     Fix indentation issues.
> 
> Changes from v7:
>     Rename device_tree_find_node_by_path() to dt_find_node_by_path_from().
>     Fix indentation.
> ---
> ---
>  xen/common/device_tree.c      |  5 +++--
>  xen/include/xen/device_tree.h | 17 +++++++++++++++--
>  2 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index b8ef1c7ae2..f38f51ec0b 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
>      return np;
>  }
>  
> -struct dt_device_node *dt_find_node_by_path(const char *path)
> +struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
> +                                                 const char *path)
>  {
>      struct dt_device_node *np;
>  
> -    dt_for_each_device_node(dt_host, np)
> +    dt_for_each_device_node(from, np)
>          if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
>              break;
>  
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index a518310a62..44d315c8ba 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -570,13 +570,26 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
>  struct dt_device_node *dt_find_node_by_alias(const char *alias);
>  
>  /**
> - * dt_find_node_by_path - Find a node matching a full DT path
> + * dt_find_node_by_path_from - Generic function to find a node matching the
> + * full DT path for any given unflatten device tree
> + * @from: The device tree node to start searching from
>   * @path: The full path to match
>   *
>   * Returns a node pointer.
>   */
> -struct dt_device_node *dt_find_node_by_path(const char *path);
> +struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
> +                                                 const char *path);
>  
> +/**
> + * dt_find_node_by_path - Find a node matching a full DT path in dt_host
> + * @path: The full path to match
> + *
> + * Returns a node pointer.
> + */
> +static inline struct dt_device_node *dt_find_node_by_path(const char *path)
> +{
> +    return dt_find_node_by_path_from(dt_host, path);
> +}
>  
>  /**
>   * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:35:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592485.925205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb7Ij-0000M5-8P; Tue, 29 Aug 2023 22:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592485.925205; Tue, 29 Aug 2023 22: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 1qb7Ij-0000Ly-2u; Tue, 29 Aug 2023 22:35:09 +0000
Received: by outflank-mailman (input) for mailman id 592485;
 Tue, 29 Aug 2023 22:35: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 1qb7Ih-0000Ln-PJ; Tue, 29 Aug 2023 22:35: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 1qb7Ih-0006dI-J8; Tue, 29 Aug 2023 22: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 1qb7Ih-0007OD-77; Tue, 29 Aug 2023 22:35:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qb7Ih-0003tg-6e; Tue, 29 Aug 2023 22: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=EWahhGtMNR1xwVc6te5wOk+hlmYcGqzLAn7+yGXLI8M=; b=rtv+OdPpomCWKWd2MltxVNYnNn
	Hnhp65HgHZZFtbzlOLGKjvGHNPQxbHQROS+lsaTIvS3sD0svCrFYpU6QBUgrkVMb/ZK0//Cesw8Sv
	S9H/vN/RnuiycAgRMBz+Iu1yP9eIYhJaUFEwrcEQUF1cLE7O9IOqJvxqTQRpbLrxsxEM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182553-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182553: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1c59d383390f970b891b503b7f79b63a02db2ec5
X-Osstest-Versions-That:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 29 Aug 2023 22:35:07 +0000

flight 182553 linux-linus real [real]
flight 182558 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182553/
http://logs.test-lab.xenproject.org/osstest/logs/182558/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 182531

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64  8 xen-boot     fail in 182558 pass in 182553
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 182558-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 182558 like 182531
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182531
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182531
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182531
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182531
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182531
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182531
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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-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-arm64-arm64-libvirt-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                1c59d383390f970b891b503b7f79b63a02db2ec5
baseline version:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c

Last test of basis   182531  2023-08-27 22:41:14 Z    1 days
Failing since        182544  2023-08-28 20:42:13 Z    1 days    2 attempts
Testing same since   182553  2023-08-29 08:48:40 Z    0 days    1 attempts

------------------------------------------------------------
318 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 26669 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:45:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592494.925214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb7Sl-0001yG-6C; Tue, 29 Aug 2023 22:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592494.925214; Tue, 29 Aug 2023 22: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 1qb7Sl-0001y9-1M; Tue, 29 Aug 2023 22:45:31 +0000
Received: by outflank-mailman (input) for mailman id 592494;
 Tue, 29 Aug 2023 22: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=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb7Sj-0001y3-HL
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 22:45:29 +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 bf7c1087-46bd-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 00:45:28 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A463B61908;
 Tue, 29 Aug 2023 22:45:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0792FC433C8;
 Tue, 29 Aug 2023 22:45: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: bf7c1087-46bd-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693349126;
	bh=7OZTdNKDRjgHUlBJQ2wUHE8VVryGQAOnhzdDkxY/wR8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=taSi0ntRj0y1/UMUOg0ZkvHhkhnnbB55Uxuh+uibTM8qwW/TiZnpRKv99yV4IoRx3
	 WzqGJ9phxO54c1OsfLv2th/j0tB/Ocifo67u39KwcWgoVs/mBE8cbVf4Df3iOJUgPo
	 SnBFIr/VpVZaV3vvTXCAQVShz28aPW34E0uzAarLTmpD5e8B2Q+LZ9nGJWG0Q41788
	 CfNqe1/5vnIhvDTs9ykVV0Owh1335aa6SGVN7GvxnX7wtQsgqfYK2Eb5HHd7pq/jaR
	 mGLuuoydc6oKMQBW3l0bxCeBZAOnKmBux57OAyTKt1ANNYPxsQnRmEBj/fKnxbm1ca
	 g2O5XGaHk+CSQ==
Date: Tue, 29 Aug 2023 15:45:23 -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: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org, julien@xen.org, Rahul Singh <rahul.singh@arm.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v10 12/20] xen/smmu: Add remove_device callback for
 smmu_iommu ops
In-Reply-To: <32922c58-b9b4-26a1-42ef-426fb9a4b8af@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308291543430.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-13-vikram.garhwal@amd.com> <32922c58-b9b4-26a1-42ef-426fb9a4b8af@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, 29 Aug 2023, Michal Orzel wrote:
> On 25/08/2023 10:02, Vikram Garhwal wrote:
> > Add remove_device callback for removing the device entry from smmu-master using
> > following steps:
> > 1. Find if SMMU master exists for the device node.
> > 2. Check if device is currently in use.
> Since you removed a call to iommu_dt_device_is_assigned_locked(), you do not check it from SMMU, right?
> You are relying on a check done in iommu_remove_dt_device().
> This wants to be mentioned. However, Julien suggested to do the check for internal SMMU state.
> Looking at the code, when the device is assigned, we do:
> dev_iommu_domain(dev) = domain;
> and when de-assigned:
> dev_iommu_domain(dev) = NULL;
> 
> This means that before calling remove_smmu_master() you could do:
> 
> /* Make sure device is not assigned */
> if (dev_iommu_domain(dev))
>     return -EBUSY;
> 
> @Julien, @Stefano?

I think it is OK without it, as we have a call to
iommu_dt_device_is_assigned_locked(np) already in
iommu_remove_dt_device?


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 22:54:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 22:54:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592501.925224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb7bR-0003fx-4J; Tue, 29 Aug 2023 22:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592501.925224; Tue, 29 Aug 2023 22: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 1qb7bR-0003fq-1B; Tue, 29 Aug 2023 22:54:29 +0000
Received: by outflank-mailman (input) for mailman id 592501;
 Tue, 29 Aug 2023 22: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=aAEd=EO=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qb7bP-0003fk-1A
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 22:54:27 +0000
Received: from galois.linutronix.de (galois.linutronix.de
 [2a0a:51c0:0:12e:550::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff596c83-46be-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 00:54: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: ff596c83-46be-11ee-9b0d-b553b5be7939
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1693349662;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cTxcTv29Q1+kRj/CEgk7fvIwsEjeCKuuJCYEhn3X+iA=;
	b=wtD6sB1heLOQH4Iyb/G5VFmrk4ZAjhcWBwfP5IK58EGpCtZI64b9PbUJDSu9dKv/sPx0O5
	+PaBQvDadH1eyByHizPH9kd7h54CrbddSSuyGvXDV1pUn42O4U9yW/apqhzmjLaeZQkWb/
	sA6vdBZFa1qS2uNWKq5SVDru8s097vqgAgeL0jkR+M1qmKAPtXrMasAVhPsOUouK8mcZ6E
	hKRYqFYac4/775Mo7t5OMuVS2CCF98FRd16+kWI4fd3z+5fbZpEOxU5vIatLc9I2zKKP7q
	G9VLw0lcrOUnzihneZgk8pyudG2gtmfbvw9h47WhjBwfsp5kHQvTXK5QM+dA6w==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1693349662;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cTxcTv29Q1+kRj/CEgk7fvIwsEjeCKuuJCYEhn3X+iA=;
	b=ccKUUyYcuJIwKhutgnYRdl4rrX+jiJs32E5xlTriZ3d8u2C0VlZXAUK+pPFjY/n3xUcm34
	A0AYg/BqOAr4yHCw==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
 <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Simon Gaiser
 <simon@invisiblethingslab.com>
Cc: Wei Liu <wl@xen.org>, Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
In-Reply-To: <ZO3_0GKvEk-qoaoa@MacBook-Air-de-Roger.local>
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
 <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
 <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com> <87jztga3sg.ffs@tglx>
 <ZO3_0GKvEk-qoaoa@MacBook-Air-de-Roger.local>
Date: Wed, 30 Aug 2023 00:54:21 +0200
Message-ID: <874jkh7942.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 29 2023 at 16:25, Roger Pau Monn=C3=A9 wrote:
> On Sun, Aug 27, 2023 at 05:44:15PM +0200, Thomas Gleixner wrote:
>> The APIC/X2APIC description of MADT specifies flags:
>>=20
>> Enabled        	If this bit is set the processor is ready for use. If
>> 		this bit is clear and the Online Capable bit is set,
>> 		system hardware supports enabling this processor during
>> 		OS runtime. If this bit is clear and the Online Capable
>> 		bit is also clear, this processor is unusable, and OSPM
>> 		shall ignore the contents of the Processor Local APIC
>> 		Structure.
>>=20
>> Online Capable	The information conveyed by this bit depends on the
>> 		value of the Enabled bit. If the Enabled bit is set,
>> 		this bit is reserved and must be zero. Otherwise, if
>> 		this this bit is set, system hardware supports enabling
>> 		this processor during OS runtime.
>
> Sadly this flag is only present starting with MADT v5.

Correct. The difference between pre v5 MADT and v5+ is that the latter
allows the OS to make more informed decisions, but the lack of this flag
does not make the claim that randomly assigning APIC IDs after the
initial parsing is a valid approach any more correct. Why?

Simply because the other relationships vs. processor UIDs and SRAT/SLIT
are not magically going away due to the lack of that flag.

>> Otherwise you'd end up with a CPU hotplugged which is outside of the
>> resource space allocated during init.
>
> It's my understating that ACPI UIDs 0xff and 0xfffffff for local ACPI
> and x2APIC structures respectively are invalid, as that's the
> broadcast value used by the local (x2)APIC NMI Structures.

Correct. These IDs are invalid independent of any flag value.=20

> I think Jan's point (if I understood correctly) is that Processor or
> Device objects can have a _MAT method that returns updated MADT
> entries, and some ACPI implementations might modify the original
> entries on the MADT and return them from that method when CPU
> hotplug takes place.  The spec notes that "OSPM does not expect the
> information provided in this table to be updated if the processor
> information changes during the lifespan of an OS boot." so that the
> MADT doesn't need to be updated when CPU hotplug happens, but I don't
> see that sentence as preventing the MADT to be updated if CPU hotplug
> takes place, it's just not required.

Right. But if you read carefully what I wrote then you will figure out
that any randomly made up APIC ID post MADT enumeration cannot work.

> I don't see anywhere in the spec that states that APIC IDs 0xff and
> 0xffffffff are invalid and entries using those IDs should be ignored,
> but I do think that any system that supports CPU hotplug better has
> those IDs defined since boot.  Also it seems vendors have started
> relying on using 0xff and 0xffffffff APIC IDs to signal non-present
> CPUs, and Linux has been ignoring such entries for quite some time
> already  without reported issues.

There is no requirement for the ACPI spec to state this simply because
these APIC IDs are invalid to address a processor at the architectural
level. ACPI does not care about architectural restrictions unless really
required, e.g. like the LAPIC vs. X2APIC exclusiveness.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592510.925254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb806-0007Ez-Q0; Tue, 29 Aug 2023 23:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592510.925254; Tue, 29 Aug 2023 23:19: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 1qb806-0007Eq-N1; Tue, 29 Aug 2023 23:19:58 +0000
Received: by outflank-mailman (input) for mailman id 592510;
 Tue, 29 Aug 2023 23:19:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb805-0006kQ-AE
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:57 +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 8f99a568-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:19:54 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9l021983; Tue, 29 Aug 2023 23:19:53 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:52 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 8f99a568-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FV3H8rZYXDYTzPS4fqPmNKu4UiDH88cmvzJfganFHNcaJVxsLWju/ssNqgImIEtggf1zJT271dGCtRGxG5AclA10mKqURanAW4rjNP+qsS81qA99k/sWFHMiAMkZIvvaXp7Zuge8WXGGhigQOWMBDwPJyIpXyTncymlzxxET2MeqtuSMLRWIOeJZH1DixiwaWjWMB60JBOHFTrWUNmxCwTr7DBJKTSkLW3YX9ijPVWQwM4vG710/qqP9QTYTdH2goy2pksfYPFdwScJztsItu3QyztmFKyPaQmFPbNG9aJH3/IwPmK6nQKuDmbf/VoUUyy3azCODyOgdkgZi5WGCkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1T2UJXkQjdsdtIQpkDJsKMdD2XLW/kPWKtbqM3Lrtc=;
 b=PMceko1KiTM0MD+7fjqEzTzoYyLXzxSOVNO0vDSkQAoD5r9flpU8i7BqsMxDti4p1YUscPA4pZ+7qiVAJJIV7aakb/ZjzOzuhFOBAF02fr4/9Vqe6jgwx1adShqGQNhv91W9Zw+zqhbNWTnw38d6fyFRY2HXxuJu6a0wbG73zughqWKDwn30k1Ok1dwL1F8IH4QYHSD7wAuvIySv+JH+YxAjxTPZdij+oLpgzjBd2RJexwZJpggUGP4tp7jbUp1cikXWK+o6t5qOZV0gt/S3mXSPGf5AlVsR6P8wd6QCIHY0oXDwT5XQr+/0WZGvk8SDS2q0PddiBBJoCFbTk1EL0g==
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=X1T2UJXkQjdsdtIQpkDJsKMdD2XLW/kPWKtbqM3Lrtc=;
 b=o6eaGIYaRBzqMURQipCCq1FWuqmy8xx4McVRNSbC2kteHiDmB/Dm+BvL7b3HtxIzPo7zPY9X9HzFXtC0a/5DuMmocvY+gDShjrpl+txgw6oKGHKYr2NB99KASmynFSyca4GfLszs+PF1I/RotbpV6Hpa1eExcb9tmpmJwHLvXumNlCn5kqQx6ag/12vfdKDIqS1UvVkzpdDcgTOm0+Yw5MBIQg2WE0wwzjalPC7u5zssQg/BvzzgN9bdzHB+nlnW22o6YfFtydSAb0tLy3J2Fju4OL0zHM0yCvc6oLYfA0maAQ1pal2AZprh46TmlRsKWdVEHN3X8DwKB5XM8uTWig==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [PATCH v9 08/16] vpci/header: handle p2m range sets per BAR
Thread-Topic: [PATCH v9 08/16] vpci/header: handle p2m range sets per BAR
Thread-Index: AQHZ2s9Ln5ZnmFXk3EWGqNE8Hf9gXg==
Date: Tue, 29 Aug 2023 23:19:44 +0000
Message-ID: <20230829231912.4091958-9-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: c1561186-e07b-4bac-dade-08dba8e66ecf
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: 
 KesU/7wVavgKYkVrseutGKfHbdscHa0FNs5OybRl7QonSLJklJ1V4sEiDO78JhLCechojgmiyp+mO1gojiF3VAu0paTZfH9O1F5Dd6xH/2Shzfqaf/ibJbM6/inlMRp+w1gpnlwBqn+5NFbuTWtj2VP+ZHB3m6moLBDalVSzyKgUioT0PxOqzHo2MtP5Vdr2OS8RN31raxi9EkjsC5P8bkjaosCDYgvT1ZsK5oKlURjph+B2ZZyXE7LpQY/S8o1mCX1GX2BIui7TXoafXHNpI7PrBWM35IvhxVnPeYDp+Mz8+INJmhC3614trKBtLo9tDWM9a4BlD1cu7Hpo7KXYbmv94heaUYqzcmmjeBP10/adJRKLcsOR8ja9fQG8UiyHO/JGxdarqP9O/GndMtclPiwsp2AWxyqNtqrumFivXE39Bah/jNS+8qlAdiMMbPtVGBCJraiIDKPT2dZg6sR+P3478CuCpq4jLsxzS6xNFD9ixO6GYnc6G0paPykSoXOoxy5coixzFjDtvt0svbbBSS9+h0nzMqswes2czKbn5hv0TI0Blp56qpcFukvHwbETPQM5upN79YC2+EbyirBW7piQeQz9XNiY9NAHvAPe1WJJUKWEzdikgPVJCSJls+cc
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(30864003)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?79rNKUuXOIB3QABFAfib10C2rC012XnASAHNBR5SUl31wpVu3KablOjZZ1?=
 =?iso-8859-1?Q?0X8fuRDe68ygdipt6pYU7dlg0kpcoOXnH/319Sa48zO8q108kdL/VdipLF?=
 =?iso-8859-1?Q?xZ27pUrW+Fo9qmw08jzxhBQFyNDYB5Rs6K7PphYlee1kU3XjNpOndSgoYh?=
 =?iso-8859-1?Q?eZ69a9G/b6ruRypRo214lZlbzkGywAvTlnNkU4OIAHPQB+glDSmVYlc02Y?=
 =?iso-8859-1?Q?qiKXRNfkL2EysmipY/E8I7Jz8ajoMQyozsDavpLCMxsIZCysVqeQdvjqYP?=
 =?iso-8859-1?Q?ureea8PWO88sK/l7Loch5ZujXLqFVBYr0gJrOSHiuvuKX8CvC0HYWj9ry2?=
 =?iso-8859-1?Q?6xe0S9W8fcLxbciZUMZG0USI56VvPkRuXc8XN31/ahr9H0LsQ6fYB4AqFK?=
 =?iso-8859-1?Q?PIBKYMD+gxcXRQiefiXeLEH4qRgn+wpbrMO4pGSHXJGGRF8NyfPL0OeKWZ?=
 =?iso-8859-1?Q?xCWqsYeS6aXOkNTjpybpHbGAhfqx6jrI1rVit89RU70aHMASdryfpIlZyV?=
 =?iso-8859-1?Q?yIGAGxWu+V6vP4CzPcxszufTCFcA/jW10wiOzjKQ4JDJ/m7dRtw/mVHlMG?=
 =?iso-8859-1?Q?kUY8Pqf1pA+zPGznGZZ7lRS9DZss6BDcEQsUruWUz6kIeYAKzzZS/gKyHl?=
 =?iso-8859-1?Q?63ZeKwrKYqFdqqE9oF/nAJ+47acqBY95ESY0zrVmUPwcihFxi0UaLCAQvm?=
 =?iso-8859-1?Q?cerGxOOh/25jW0gjTzNVW3YH5+1CXk7gsw2gajoXg591dFz4yHPUKIbqAv?=
 =?iso-8859-1?Q?LWn1MR2h3u/Ld1yB2l4l7CYP/YUP0ekcnNYJ5zFUXe2wK2WKQ0pZeCmNS2?=
 =?iso-8859-1?Q?LZoJFiFVXFeWfNNPhqCwPt/depKKHZtic8yZLuoPgkNSyeBPJzSbUE8xuT?=
 =?iso-8859-1?Q?8PmujVJ6V/O2XaXTTpLXzR1IVJORA1fsJgaCzqtxP/V0eNW6SxLnPSuKUO?=
 =?iso-8859-1?Q?vdnxL0/WFR2e3yWPJeYQkcYmE/vY8v+NEZG9IRuXgNiDosTYZk9sTYsxxG?=
 =?iso-8859-1?Q?J41Hy1+50Yj0SOUHUoGYCl4Pi4YrKev39snfFqfkDC6H4zA0s6jrR7lXPZ?=
 =?iso-8859-1?Q?NH7upyVLogNrBJbj4S6fqsOmmc4I1L6Ed7sdmpfqdVUibyAwQGJnh6txSx?=
 =?iso-8859-1?Q?jBp7GQYjwuuYQmz1GjZysXoudi9GoNNOxdANl1fvejwDzMp2wDve1VPOr/?=
 =?iso-8859-1?Q?q8PxD2Dy9LpuS32F4KZ3EGVFwGwYjgRnefZDNtuzlHhBORqN2L/zgWEYsC?=
 =?iso-8859-1?Q?E4YKEQnCn7N+noc628uMcjRiZAEkCPdAunrhnLcQv4L/jUsMQNrbYJM2B5?=
 =?iso-8859-1?Q?zb5sMfeuQc65ZRaxUHjK8A4TNb4QYIH/CvGcigtKPxCls5EzkBojtlpCt+?=
 =?iso-8859-1?Q?QVw1pGc4QDkf1T0q2GxeHcpMXG7KTcb1g/PqU5wWuR+v+qSoQCfvZsQ8IY?=
 =?iso-8859-1?Q?Jy1imU4Mt/qjuIKwpwpQZePcaauM/UaDe8vL+NJF4G4AMR8XL1lwDYmzeG?=
 =?iso-8859-1?Q?tp70F5xsA/zArlLuaSb5eSg71pI7VgkbG9O8ti5i+T/vBki+9oqqyB+DT1?=
 =?iso-8859-1?Q?8QN/ve72KObqvAUroS3hSmPw6782SQU8C0AhvCp3+P8z43LmRC45BO0I+g?=
 =?iso-8859-1?Q?bX4HZWip3g437Vzpy58hMmDo7tGQiKImIvQ3yqza0jUbhuktVo5h7KlA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1561186-e07b-4bac-dade-08dba8e66ecf
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:44.3700
 (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: SxMJXhYHRNSmyv2zdedX9zTxqM7n9BBXPdT+WHU7q5IlyEon13baRwK5I/AHHJppkxTjY9IdQVem//aiW5v0JiWR8U6qgWT1lWT4kAqdXxM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: 51EHbfHAcAxSSBGUCrGxQHmnYd4IRMog
X-Proofpoint-GUID: 51EHbfHAcAxSSBGUCrGxQHmnYd4IRMog
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Instead of handling a single range set, that contains all the memory
regions of all the BARs and ROM, have them per BAR.
As the range sets are now created when a PCI device is added and destroyed
when it is removed so make them named and accounted.

Note that rangesets were chosen here despite there being only up to
3 separate ranges in each set (typically just 1). But rangeset per BAR
was chosen for the ease of implementation and existing code re-usability.

This is in preparation of making non-identity mappings in p2m for the MMIOs=
.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

---
Since v9:
- removed d->vpci.map_pending in favor of checking v->vpci.pdev !=3D
NULL
- printk -> gprintk
- renamed bar variable to fix shadowing
- fixed bug with iterating on remote device's BARs
- relaxed lock in vpci_process_pending
- removed stale comment
Since v6:
- update according to the new locking scheme
- remove odd fail label in modify_bars
Since v5:
- fix comments
- move rangeset allocation to init_bars and only allocate
  for MAPPABLE BARs
- check for overlap with the already setup BAR ranges
Since v4:
- use named range sets for BARs (Jan)
- changes required by the new locking scheme
- updated commit message (Jan)
Since v3:
- re-work vpci_cancel_pending accordingly to the per-BAR handling
- s/num_mem_ranges/map_pending and s/uint8_t/bool
- ASSERT(bar->mem) in modify_bars
- create and destroy the rangesets on add/remove
---
 xen/drivers/vpci/header.c | 252 ++++++++++++++++++++++++++------------
 xen/drivers/vpci/vpci.c   |   6 +
 xen/include/xen/vpci.h    |   2 +-
 3 files changed, 180 insertions(+), 80 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index e96d7b2b37..3cc6a96849 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -161,63 +161,101 @@ static void modify_decoding(const struct pci_dev *pd=
ev, uint16_t cmd,
=20
 bool vpci_process_pending(struct vcpu *v)
 {
-    if ( v->vpci.mem )
+    struct pci_dev *pdev =3D v->vpci.pdev;
+    struct map_data data =3D {
+        .d =3D v->domain,
+        .map =3D v->vpci.cmd & PCI_COMMAND_MEMORY,
+    };
+    struct vpci_header *header =3D NULL;
+    unsigned int i;
+
+    if ( !pdev )
+        return false;
+
+    read_lock(&v->domain->pci_lock);
+    header =3D &pdev->vpci->header;
+    for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
-        struct map_data data =3D {
-            .d =3D v->domain,
-            .map =3D v->vpci.cmd & PCI_COMMAND_MEMORY,
-        };
-        int rc =3D rangeset_consume_ranges(v->vpci.mem, map_range, &data);
+        struct vpci_bar *bar =3D &header->bars[i];
+        int rc;
+
+        if ( rangeset_is_empty(bar->mem) )
+            continue;
+
+        rc =3D rangeset_consume_ranges(bar->mem, map_range, &data);
=20
         if ( rc =3D=3D -ERESTART )
+        {
+            read_unlock(&v->domain->pci_lock);
             return true;
+        }
=20
-        write_lock(&v->domain->pci_lock);
-        spin_lock(&v->vpci.pdev->vpci->lock);
-        /* Disable memory decoding unconditionally on failure. */
-        modify_decoding(v->vpci.pdev,
-                        rc ? v->vpci.cmd & ~PCI_COMMAND_MEMORY : v->vpci.c=
md,
-                        !rc && v->vpci.rom_only);
-        spin_unlock(&v->vpci.pdev->vpci->lock);
-
-        rangeset_destroy(v->vpci.mem);
-        v->vpci.mem =3D NULL;
         if ( rc )
-            /*
-             * FIXME: in case of failure remove the device from the domain=
.
-             * Note that there might still be leftover mappings. While thi=
s is
-             * safe for Dom0, for DomUs the domain will likely need to be
-             * killed in order to avoid leaking stale p2m mappings on
-             * failure.
-             */
-            vpci_deassign_device(v->vpci.pdev);
-        write_unlock(&v->domain->pci_lock);
+        {
+            spin_lock(&pdev->vpci->lock);
+            /* Disable memory decoding unconditionally on failure. */
+            modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
+                            false);
+            spin_unlock(&pdev->vpci->lock);
+
+            v->vpci.pdev =3D NULL;
+
+            read_unlock(&v->domain->pci_lock);
+
+            if ( is_hardware_domain(v->domain) )
+            {
+                write_lock(&v->domain->pci_lock);
+                vpci_deassign_device(v->vpci.pdev);
+                write_unlock(&v->domain->pci_lock);
+            }
+            else
+            {
+                domain_crash(v->domain);
+            }
+            return false;
+        }
     }
+    read_unlock(&v->domain->pci_lock);
+
+    v->vpci.pdev =3D NULL;
+
+    spin_lock(&pdev->vpci->lock);
+    modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
+    spin_unlock(&pdev->vpci->lock);
=20
     return false;
 }
=20
 static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
-                            struct rangeset *mem, uint16_t cmd)
+                            uint16_t cmd)
 {
     struct map_data data =3D { .d =3D d, .map =3D true };
-    int rc;
+    struct vpci_header *header =3D &pdev->vpci->header;
+    int rc =3D 0;
+    unsigned int i;
=20
     ASSERT(rw_is_locked(&d->pci_lock));
=20
-    while ( (rc =3D rangeset_consume_ranges(mem, map_range, &data)) =3D=3D=
 -ERESTART )
+    for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
-        /*
-         * It's safe to drop and reacquire the lock in this context
-         * without risking pdev disappearing because devices cannot be
-         * removed until the initial domain has been started.
-         */
-        read_unlock(&d->pci_lock);
-        process_pending_softirqs();
-        read_lock(&d->pci_lock);
-    }
+        struct vpci_bar *bar =3D &header->bars[i];
=20
-    rangeset_destroy(mem);
+        if ( rangeset_is_empty(bar->mem) )
+            continue;
+
+        while ( (rc =3D rangeset_consume_ranges(bar->mem, map_range,
+                                              &data)) =3D=3D -ERESTART )
+        {
+            /*
+             * It's safe to drop and reacquire the lock in this context
+             * without risking pdev disappearing because devices cannot be
+             * removed until the initial domain has been started.
+             */
+            write_unlock(&d->pci_lock);
+            process_pending_softirqs();
+            write_lock(&d->pci_lock);
+        }
+    }
     if ( !rc )
         modify_decoding(pdev, cmd, false);
=20
@@ -225,10 +263,12 @@ static int __init apply_map(struct domain *d, const s=
truct pci_dev *pdev,
 }
=20
 static void defer_map(struct domain *d, struct pci_dev *pdev,
-                      struct rangeset *mem, uint16_t cmd, bool rom_only)
+                      uint16_t cmd, bool rom_only)
 {
     struct vcpu *curr =3D current;
=20
+    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
+
     /*
      * FIXME: when deferring the {un}map the state of the device should no=
t
      * be trusted. For example the enable bit is toggled after the device
@@ -236,7 +276,6 @@ static void defer_map(struct domain *d, struct pci_dev =
*pdev,
      * started for the same device if the domain is not well-behaved.
      */
     curr->vpci.pdev =3D pdev;
-    curr->vpci.mem =3D mem;
     curr->vpci.cmd =3D cmd;
     curr->vpci.rom_only =3D rom_only;
     /*
@@ -250,33 +289,33 @@ static void defer_map(struct domain *d, struct pci_de=
v *pdev,
 static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_=
only)
 {
     struct vpci_header *header =3D &pdev->vpci->header;
-    struct rangeset *mem =3D rangeset_new(NULL, NULL, 0);
     struct pci_dev *tmp, *dev =3D NULL;
     const struct domain *d;
     const struct vpci_msix *msix =3D pdev->vpci->msix;
-    unsigned int i;
+    unsigned int i, j;
     int rc;
=20
     ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
=20
-    if ( !mem )
-        return -ENOMEM;
-
     /*
-     * Create a rangeset that represents the current device BARs memory re=
gion
-     * and compare it against all the currently active BAR memory regions.=
 If
-     * an overlap is found, subtract it from the region to be mapped/unmap=
ped.
+     * Create a rangeset per BAR that represents the current device memory
+     * region and compare it against all the currently active BAR memory
+     * regions. If an overlap is found, subtract it from the region to be
+     * mapped/unmapped.
      *
-     * First fill the rangeset with all the BARs of this device or with th=
e ROM
+     * First fill the rangesets with the BAR of this device or with the RO=
M
      * BAR only, depending on whether the guest is toggling the memory dec=
ode
      * bit of the command register, or the enable bit of the ROM BAR regis=
ter.
      */
     for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
-        const struct vpci_bar *bar =3D &header->bars[i];
+        struct vpci_bar *bar =3D &header->bars[i];
         unsigned long start =3D PFN_DOWN(bar->addr);
         unsigned long end =3D PFN_DOWN(bar->addr + bar->size - 1);
=20
+        if ( !bar->mem )
+            continue;
+
         if ( !MAPPABLE_BAR(bar) ||
              (rom_only ? bar->type !=3D VPCI_BAR_ROM
                        : (bar->type =3D=3D VPCI_BAR_ROM && !header->rom_en=
abled)) ||
@@ -292,14 +331,31 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
             continue;
         }
=20
-        rc =3D rangeset_add_range(mem, start, end);
+        rc =3D rangeset_add_range(bar->mem, start, end);
         if ( rc )
         {
             printk(XENLOG_G_WARNING "Failed to add [%lx, %lx]: %d\n",
                    start, end, rc);
-            rangeset_destroy(mem);
             return rc;
         }
+
+        /* Check for overlap with the already setup BAR ranges. */
+        for ( j =3D 0; j < i; j++ )
+        {
+            struct vpci_bar *prev_bar =3D &header->bars[j];
+
+            if ( rangeset_is_empty(prev_bar->mem) )
+                continue;
+
+            rc =3D rangeset_remove_range(prev_bar->mem, start, end);
+            if ( rc )
+            {
+                gprintk(XENLOG_WARNING,
+                       "%pp: failed to remove overlapping range [%lx, %lx]=
: %d\n",
+                        &pdev->sbdf, start, end, rc);
+                return rc;
+            }
+        }
     }
=20
     /* Remove any MSIX regions if present. */
@@ -309,14 +365,21 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
         unsigned long end =3D PFN_DOWN(vmsix_table_addr(pdev->vpci, i) +
                                      vmsix_table_size(pdev->vpci, i) - 1);
=20
-        rc =3D rangeset_remove_range(mem, start, end);
-        if ( rc )
+        for ( j =3D 0; j < ARRAY_SIZE(header->bars); j++ )
         {
-            printk(XENLOG_G_WARNING
-                   "Failed to remove MSIX table [%lx, %lx]: %d\n",
-                   start, end, rc);
-            rangeset_destroy(mem);
-            return rc;
+            const struct vpci_bar *bar =3D &header->bars[j];
+
+            if ( rangeset_is_empty(bar->mem) )
+                continue;
+
+            rc =3D rangeset_remove_range(bar->mem, start, end);
+            if ( rc )
+            {
+                gprintk(XENLOG_WARNING,
+                       "%pp: failed to remove MSIX table [%lx, %lx]: %d\n"=
,
+                        &pdev->sbdf, start, end, rc);
+                return rc;
+            }
         }
     }
=20
@@ -356,27 +419,34 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
=20
             for ( i =3D 0; i < ARRAY_SIZE(tmp->vpci->header.bars); i++ )
             {
-                const struct vpci_bar *bar =3D &tmp->vpci->header.bars[i];
-                unsigned long start =3D PFN_DOWN(bar->addr);
-                unsigned long end =3D PFN_DOWN(bar->addr + bar->size - 1);
-
-                if ( !bar->enabled ||
-                     !rangeset_overlaps_range(mem, start, end) ||
-                     /*
-                      * If only the ROM enable bit is toggled check agains=
t
-                      * other BARs in the same device for overlaps, but no=
t
-                      * against the same ROM BAR.
-                      */
-                     (rom_only && tmp =3D=3D pdev && bar->type =3D=3D VPCI=
_BAR_ROM) )
+                const struct vpci_bar *remote_bar =3D &tmp->vpci->header.b=
ars[i];
+                unsigned long start =3D PFN_DOWN(remote_bar->addr);
+                unsigned long end =3D PFN_DOWN(remote_bar->addr +
+                                             remote_bar->size - 1);
+
+                if ( !remote_bar->enabled )
                     continue;
=20
-                rc =3D rangeset_remove_range(mem, start, end);
-                if ( rc )
+                for ( j =3D 0; j < ARRAY_SIZE(header->bars); j++)
                 {
-                    printk(XENLOG_G_WARNING "Failed to remove [%lx, %lx]: =
%d\n",
-                           start, end, rc);
-                    rangeset_destroy(mem);
-                    return rc;
+                    const struct vpci_bar *bar =3D &header->bars[j];
+                    if ( !rangeset_overlaps_range(bar->mem, start, end) ||
+                         /*
+                          * If only the ROM enable bit is toggled check ag=
ainst
+                          * other BARs in the same device for overlaps, bu=
t not
+                          * against the same ROM BAR.
+                          */
+                         (rom_only && tmp =3D=3D pdev && bar->type =3D=3D =
VPCI_BAR_ROM) )
+                        continue;
+
+                    rc =3D rangeset_remove_range(bar->mem, start, end);
+                    if ( rc )
+                    {
+                        gprintk(XENLOG_WARNING,
+                                "%pp: failed to remove [%lx, %lx]: %d\n",
+                                &pdev->sbdf, start, end, rc);
+                        return rc;
+                    }
                 }
             }
         }
@@ -400,10 +470,10 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
          * will always be to establish mappings and process all the BARs.
          */
         ASSERT((cmd & PCI_COMMAND_MEMORY) && !rom_only);
-        return apply_map(pdev->domain, pdev, mem, cmd);
+        return apply_map(pdev->domain, pdev, cmd);
     }
=20
-    defer_map(dev->domain, dev, mem, cmd, rom_only);
+    defer_map(dev->domain, dev, cmd, rom_only);
=20
     return 0;
 }
@@ -595,6 +665,20 @@ static void cf_check rom_write(
         rom->addr =3D val & PCI_ROM_ADDRESS_MASK;
 }
=20
+static int bar_add_rangeset(const struct pci_dev *pdev, struct vpci_bar *b=
ar,
+                            unsigned int i)
+{
+    char str[32];
+
+    snprintf(str, sizeof(str), "%pp:BAR%d", &pdev->sbdf, i);
+
+    bar->mem =3D rangeset_new(pdev->domain, str, RANGESETF_no_print);
+    if ( !bar->mem )
+        return -ENOMEM;
+
+    return 0;
+}
+
 static int cf_check init_bars(struct pci_dev *pdev)
 {
     uint16_t cmd;
@@ -675,6 +759,10 @@ static int cf_check init_bars(struct pci_dev *pdev)
         else
             bars[i].type =3D VPCI_BAR_MEM32;
=20
+        rc =3D bar_add_rangeset(pdev, &bars[i], i);
+        if ( rc )
+            return rc;
+
         rc =3D pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
                               (i =3D=3D num_bars - 1) ? PCI_BAR_LAST : 0);
         if ( rc < 0 )
@@ -725,6 +813,12 @@ static int cf_check init_bars(struct pci_dev *pdev)
                                    rom_reg, 4, rom);
             if ( rc )
                 rom->type =3D VPCI_BAR_EMPTY;
+            else
+            {
+                rc =3D bar_add_rangeset(pdev, rom, i);
+                if ( rc )
+                    return rc;
+            }
         }
     }
     else
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 135d390218..412685f41d 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -38,6 +38,8 @@ extern vpci_register_init_t *const __end_vpci_array[];
=20
 void vpci_deassign_device(struct pci_dev *pdev)
 {
+    unsigned int i;
+
     ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
=20
     if ( !has_vpci(pdev->domain) || !pdev->vpci )
@@ -63,6 +65,10 @@ void vpci_deassign_device(struct pci_dev *pdev)
             if ( pdev->vpci->msix->table[i] )
                 iounmap(pdev->vpci->msix->table[i]);
     }
+
+    for ( i =3D 0; i < ARRAY_SIZE(pdev->vpci->header.bars); i++ )
+        rangeset_destroy(pdev->vpci->header.bars[i].mem);
+
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
     xfree(pdev->vpci);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 89f1e27f4f..d77a6f9506 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -72,6 +72,7 @@ struct vpci {
             /* Guest address. */
             uint64_t guest_addr;
             uint64_t size;
+            struct rangeset *mem;
             enum {
                 VPCI_BAR_EMPTY,
                 VPCI_BAR_IO,
@@ -156,7 +157,6 @@ struct vpci {
=20
 struct vpci_vcpu {
     /* Per-vcpu structure to store state while {un}mapping of PCI BARs. */
-    struct rangeset *mem;
     struct pci_dev *pdev;
     uint16_t cmd;
     bool rom_only : 1;
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592516.925301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80B-0008Rh-1I; Tue, 29 Aug 2023 23:20:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592516.925301; Tue, 29 Aug 2023 23: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 1qb80A-0008KK-Ow; Tue, 29 Aug 2023 23:20:02 +0000
Received: by outflank-mailman (input) for mailman id 592516;
 Tue, 29 Aug 2023 23:20:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb808-0007EX-Qh
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:00 +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 90f7682f-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:19:57 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDecn030691; Tue, 29 Aug 2023 23:19:53 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:53 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:46 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 90f7682f-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OSs1iU1bICm52I2iQaMAh65m6EkaSWqIcwr8PG0Arg+X2YXFnVui+h6WKIoJ2Yr2BSGtk6UA0ratFHotlG2DiK2W01yamuyx+cvtpU49qmq4mPpnyMRAeLIwsJa1V1lw3jfM7y6/uxOk/pEIk41J8U5143sg4bIusQP7gBIs3q6ipAc5+bwJ9u6z+wIhfD8xbqRpljh3kQsDWZe/wi5P3HOgtKeoAz62kaIAiz7nRhxwD8rWXgRDkwFvOGUHNNzZooDqQ2/euAVDQkpjL2vJyJnGSEHzbpSF8KqJPyAuIofz4schPikcuIfkX57lLqSGIgF+mKzXqHLL++dV40rWEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+865b/wWNj0EWFhzOYa954eDivbVLOrScndgP/Dydu4=;
 b=khrAN9NxYaNMj+uPA2BLMfvKVIi+qmmJTw3vjcU9iXpvz7s/zzD0n5fjVkTiJGYn2YSI2jsNogTSp2p/XOyjHcRS5OJNJJXeNxMWU1xHwPc/hWcUj1ioJfGP4TD0kd5cuUTNmK3bvqSwl/XouD8syX4Ff59mH5a91LX5fkrcn9wK+cGZYfpPkhPOIBhmgK9Wqip6rIMYS5Ttb6numMcwL5vIBOJxUOHrs5xDW3W8iW8vEqPIQB0lX3IZqMuVJOkhjBhbQvkhehX4aNqCarAxt2RHlBDLv79vhdvMB0bSZPmOhuvcKiYoQ2bjrLU+vNkyuC+P84rzFTCVf8zbemNwJg==
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=+865b/wWNj0EWFhzOYa954eDivbVLOrScndgP/Dydu4=;
 b=czxCblDCsHIDI4y4BTYFyTU/I5zNmWYlDcJ57wEHfUVu4nTlX0d8eLEK9Es8a7/pyiUqaQYgu73ehxXYKZhhLEWB3mjpTyDbj9OiZPp/pnCvzQdklhgjCNmIa5PurcBgcnORVi6qYN2/4kYZT+ZrnS3dA/4wNZwNeLgcJ0FOfjdTtakRlHBnyi2e9B0Jq/imoHFddiK5GGtnHW1Yz9X22xqFH2atQmx5ddv13Gkz3AlosMTTr56MvP8xmvnkk/Gj3mo3YKr7pkt3Gh8Z8caFKPeZAMMvAS5UMsTqkZ7McFBk2pp8x23FPiVRT/FMBlDIXstua0yExWMnakpeS3+T4Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 09/16] vpci/header: program p2m with guest BAR view
Thread-Topic: [PATCH v9 09/16] vpci/header: program p2m with guest BAR view
Thread-Index: AQHZ2s9LsI9X1QGM2Uq0tBcOyguChw==
Date: Tue, 29 Aug 2023 23:19:44 +0000
Message-ID: <20230829231912.4091958-10-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: f4d9b8d0-52ee-471a-affc-08dba8e66f06
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: 
 YW4QNAEyqGD25G/0nRrSv3u7AlwWV1aerxJXyo4moO7ctf/IapAMmKXL+6UabMo3AcsVdeCU2GMraKGDPtmw7emclujwjTIOFLhz00Xodm+sqdknXRlYLLAm4kYwZs88U8yn7JQWNt16bEIHVph+lw9VjU2kD/3QSPvi7TF5Bq4p7Ak51+IOReKHoPJ114JwOyK/2CeGy93al/upfIIOVd1uIiCzSScVddVfqfXFoUJMvcA+ul+TE6SYavAmu2ZS8C9ZkQZYIupIRVtVkixERIBAFK/CMAj8N49UZI5ZPDQxHUMQwZWV7hSk/6ghaCRiEMyHeabfQcCuRXpoDo1rHNvjA9FJroRVseIGKnA9JLQW+mUoRUp+wmxEQUThQdXEMJGVgZh7nHTBQjTML3HasEWf9Hevy82d01SvazqrxQizHT2jqLS9KKTakslCh8+Xo6S58XDHV/hIchlYzVRdjUhDmsWHaqYAO4TrM1BNHM4tETSCdicOTyXHhro/uednz29VWwwjAR0j9ChK2YGZk5DW3Ur4dhjVEhHPcphoFUgIkcVbIcHN043qePC0S+WigOAcB16cb50PawnOs5BIKx+bT8LtxCFRu4/aPntaz9dcz2JMUmvW8x7CQkikVn1g
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?eY4JkfDnITWXPdQcsv+YiWNw8UwDVaYKE/wV1gGXFp+HMhVWF3BcMGscyo?=
 =?iso-8859-1?Q?KjE9wIK2oFVexxveX/Ln0jDwEVqpWZ4ibSv7s9PoXj+ZonS923IeDK5UCe?=
 =?iso-8859-1?Q?KrhILFeaxLEhCo9ldmDnnugHDjZ81xjBtHg+BRbnDyq+IRZ+nR/NTsMAdv?=
 =?iso-8859-1?Q?phj1OTKV3zXhIiUNb3dZlvTz+jGMxFukIM/h6WaSpe/EuF+TNQrk1Rc821?=
 =?iso-8859-1?Q?lKwvoOsu/rfZt8XLHEHHiHedOIkHwVHnMEvvWy3uyNr1M2zlmUL9AaVQSj?=
 =?iso-8859-1?Q?yTfFM2Au0kyvLDiicYI+qBuSBgBSb91jx9frhyN2UZOim42JUh8pwKjIGz?=
 =?iso-8859-1?Q?lqqFsdRR+GeBm2CQKKYFqyplUXMEzLEQMSKRxXHyvAjO+4YsWmFLJIPYWV?=
 =?iso-8859-1?Q?idbzx8YUuNuydh4qvJRpEqWY6b7PtIEdIxjEYibwCEQgRz7P1rJAnfLaCU?=
 =?iso-8859-1?Q?BPF9g03QLPswrHLXjJHIy7VGAaBmRRgfj7pUGiSIa6aVwFDjXupEFR4Vwq?=
 =?iso-8859-1?Q?GPrSDzNrMu/q/FQC5LZiu/6/3A+gdL9/qf4soxfsX4t2jUsBF18t6p7jQk?=
 =?iso-8859-1?Q?CGtFtTTVeLlr5BOJOfm38aEXwvIMoPFP/uTCfuRfv9EWxhl3XYk9+KdUd3?=
 =?iso-8859-1?Q?jj5IWa+2FoJe7pnp1gOUQIPbKFesflNxlXh/L5itJhDKJASaILTQvRzspe?=
 =?iso-8859-1?Q?wBLqGN+aVt8HEtjPjxnt8aDRr8lpWjY9PuAHMJ9Yrp4qpwznYNQIjpSNzy?=
 =?iso-8859-1?Q?CNqlyYffbjN+VYiaeD5nF4o4G+XskF5xKg3s+CCJH3cCJpnLYrNZMcjuOT?=
 =?iso-8859-1?Q?jll0xGpdcyDYT08fWY3UMoFByQFyJuytubcWl5cUv3Dj1JuyTl8IZGaczB?=
 =?iso-8859-1?Q?2/RKhHtt5Oi84o0Oi6e7Nkq1lGB0SW7bKzigh+KW/2iG14GZlPEUQhVOVp?=
 =?iso-8859-1?Q?VZdlVYPVBo94lxC16Pqcvb9hyd3decEKPjuVyVTQQjZiZYz99kzS4aWIrC?=
 =?iso-8859-1?Q?gP6vVr7aPvlLP/WNiPDP9eCbqv/D8iX8MQF+nAUDAOEYWXs0JSdB2+ISmv?=
 =?iso-8859-1?Q?WOP1BHANUOxa+FuNimVGAtK/YbYUOtISjE1bqjYuiTM35/opjhudPceii0?=
 =?iso-8859-1?Q?LFPrxPWaQmF144P9Jft9QL+zG2ej0gCwEtGemAEPl7Mff4L0Jzi6iSUb0k?=
 =?iso-8859-1?Q?hn4M/HbXkOy1alrcUFj1yKU8jm3eY+0hxMimhKZMOhagQi5cVeDnE4Tq4c?=
 =?iso-8859-1?Q?V1ESTe3jTbLjPelkmswFCiBm713OhDl1WwkSFe+Mw6+/kcJ3ulU06/EXlD?=
 =?iso-8859-1?Q?NiOtuSMQevOJo2h+A291GMqOqjdSCYLRzUlIQGHJ6dgacc5ZnJ5z6f2ESN?=
 =?iso-8859-1?Q?3Zt/sHy+i3MTlISlJLnsLEYOAj5AHEpcQYwAw0j2bi7Wia/TCGEq08etRn?=
 =?iso-8859-1?Q?BNaiGQ41tTiPnhBw6sP+NFKpM0Ay3l53VhWumF/qBfiolxGYw5/E4Yell5?=
 =?iso-8859-1?Q?yoIkAiDrpc43HhDYPAzd05AJV21U/jfGv5SH+PI5A4Ge5MnnHFuaDm9yTQ?=
 =?iso-8859-1?Q?zg57iegdP2p4/GAeH0usl7cliyb2vIlCscmNbiWoH3p8i5udHaQeaEl0AX?=
 =?iso-8859-1?Q?kkQoGV1ZCMomM2G6wTnD1cMX7/QpvgrMlxXI8Rv+dLx/1bnXZ/iplnoA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4d9b8d0-52ee-471a-affc-08dba8e66f06
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:44.6371
 (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: bHeXT79Li8+nP0oKS63u0m826gne51eMqkKhDEzOOgBd9ZKFSTi/UG2q2n6ZDw7H2jJknlD+9lgT7drUmRydVvZwKlag2BcPsooEsWiluNs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: ceyT-8jLF7Qk1-FSkN6pMMDVOko9niTd
X-Proofpoint-GUID: ceyT-8jLF7Qk1-FSkN6pMMDVOko9niTd
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=999 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Take into account guest's BAR view and program its p2m accordingly:
gfn is guest's view of the BAR and mfn is the physical BAR value.
This way hardware domain sees physical BAR values and guest sees
emulated ones.

Hardware domain continues getting the BARs identity mapped, while for
domUs the BARs are mapped at the requested guest address without
modifying the BAR address in the device PCI config space.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
Since v9:
- Extended the commit message
- Use bar->guest_addr in modify_bars
- Extended printk error message in map_range
- Moved map_data initialization so .bar can be initialized during declarati=
on
Since v5:
- remove debug print in map_range callback
- remove "identity" from the debug print
Since v4:
- moved start_{gfn|mfn} calculation into map_range
- pass vpci_bar in the map_data instead of start_{gfn|mfn}
- s/guest_addr/guest_reg
Since v3:
- updated comment (Roger)
- removed gfn_add(map->start_gfn, rc); which is wrong
- use v->domain instead of v->vpci.pdev->domain
- removed odd e.g. in comment
- s/d%d/%pd in altered code
- use gdprintk for map/unmap logs
Since v2:
- improve readability for data.start_gfn and restructure ?: construct
Since v1:
 - s/MSI/MSI-X in comments
---
 xen/drivers/vpci/header.c | 52 ++++++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 14 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 3cc6a96849..1e82217200 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -33,6 +33,7 @@
=20
 struct map_data {
     struct domain *d;
+    const struct vpci_bar *bar;
     bool map;
 };
=20
@@ -44,6 +45,12 @@ static int cf_check map_range(
=20
     for ( ; ; )
     {
+        /* Start address of the BAR as seen by the guest. */
+        gfn_t start_gfn =3D _gfn(PFN_DOWN(is_hardware_domain(map->d)
+                                        ? map->bar->addr
+                                        : map->bar->guest_addr));
+        /* Physical start address of the BAR. */
+        mfn_t start_mfn =3D _mfn(PFN_DOWN(map->bar->addr));
         unsigned long size =3D e - s + 1;
=20
         if ( !iomem_access_permitted(map->d, s, e) )
@@ -63,6 +70,13 @@ static int cf_check map_range(
             return rc;
         }
=20
+        /*
+         * Ranges to be mapped don't always start at the BAR start address=
, as
+         * there can be holes or partially consumed ranges. Account for th=
e
+         * offset of the current address from the BAR start.
+         */
+        start_mfn =3D mfn_add(start_mfn, s - gfn_x(start_gfn));
+
         /*
          * ARM TODOs:
          * - On ARM whether the memory is prefetchable or not should be pa=
ssed
@@ -72,8 +86,8 @@ static int cf_check map_range(
          * - {un}map_mmio_regions doesn't support preemption.
          */
=20
-        rc =3D map->map ? map_mmio_regions(map->d, _gfn(s), size, _mfn(s))
-                      : unmap_mmio_regions(map->d, _gfn(s), size, _mfn(s))=
;
+        rc =3D map->map ? map_mmio_regions(map->d, _gfn(s), size, start_mf=
n)
+                      : unmap_mmio_regions(map->d, _gfn(s), size, start_mf=
n);
         if ( rc =3D=3D 0 )
         {
             *c +=3D size;
@@ -82,8 +96,9 @@ static int cf_check map_range(
         if ( rc < 0 )
         {
             printk(XENLOG_G_WARNING
-                   "Failed to identity %smap [%lx, %lx] for d%d: %d\n",
-                   map->map ? "" : "un", s, e, map->d->domain_id, rc);
+                   "Failed to %smap [%lx (%lx), %lx (%lx)] for %pd: %d\n",
+                   map->map ? "" : "un", s,  mfn_x(start_mfn), e,
+                   mfn_x(start_mfn) + size, map->d, rc);
             break;
         }
         ASSERT(rc < size);
@@ -162,10 +177,6 @@ static void modify_decoding(const struct pci_dev *pdev=
, uint16_t cmd,
 bool vpci_process_pending(struct vcpu *v)
 {
     struct pci_dev *pdev =3D v->vpci.pdev;
-    struct map_data data =3D {
-        .d =3D v->domain,
-        .map =3D v->vpci.cmd & PCI_COMMAND_MEMORY,
-    };
     struct vpci_header *header =3D NULL;
     unsigned int i;
=20
@@ -177,6 +188,11 @@ bool vpci_process_pending(struct vcpu *v)
     for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
         struct vpci_bar *bar =3D &header->bars[i];
+        struct map_data data =3D {
+            .d =3D v->domain,
+            .map =3D v->vpci.cmd & PCI_COMMAND_MEMORY,
+            .bar =3D bar,
+        };
         int rc;
=20
         if ( rangeset_is_empty(bar->mem) )
@@ -229,7 +245,6 @@ bool vpci_process_pending(struct vcpu *v)
 static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
                             uint16_t cmd)
 {
-    struct map_data data =3D { .d =3D d, .map =3D true };
     struct vpci_header *header =3D &pdev->vpci->header;
     int rc =3D 0;
     unsigned int i;
@@ -239,6 +254,7 @@ static int __init apply_map(struct domain *d, const str=
uct pci_dev *pdev,
     for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
         struct vpci_bar *bar =3D &header->bars[i];
+        struct map_data data =3D { .d =3D d, .map =3D true, .bar =3D bar }=
;
=20
         if ( rangeset_is_empty(bar->mem) )
             continue;
@@ -306,12 +322,18 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
      * First fill the rangesets with the BAR of this device or with the RO=
M
      * BAR only, depending on whether the guest is toggling the memory dec=
ode
      * bit of the command register, or the enable bit of the ROM BAR regis=
ter.
+     *
+     * For non-hardware domain we use guest physical addresses.
      */
     for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
     {
         struct vpci_bar *bar =3D &header->bars[i];
         unsigned long start =3D PFN_DOWN(bar->addr);
         unsigned long end =3D PFN_DOWN(bar->addr + bar->size - 1);
+        unsigned long start_guest =3D PFN_DOWN(is_hardware_domain(pdev->do=
main) ?
+                                             bar->addr : bar->guest_addr);
+        unsigned long end_guest =3D PFN_DOWN((is_hardware_domain(pdev->dom=
ain) ?
+                                  bar->addr : bar->guest_addr) + bar->size=
 - 1);
=20
         if ( !bar->mem )
             continue;
@@ -331,11 +353,11 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
             continue;
         }
=20
-        rc =3D rangeset_add_range(bar->mem, start, end);
+        rc =3D rangeset_add_range(bar->mem, start_guest, end_guest);
         if ( rc )
         {
             printk(XENLOG_G_WARNING "Failed to add [%lx, %lx]: %d\n",
-                   start, end, rc);
+                   start_guest, end_guest, rc);
             return rc;
         }
=20
@@ -352,7 +374,7 @@ static int modify_bars(const struct pci_dev *pdev, uint=
16_t cmd, bool rom_only)
             {
                 gprintk(XENLOG_WARNING,
                        "%pp: failed to remove overlapping range [%lx, %lx]=
: %d\n",
-                        &pdev->sbdf, start, end, rc);
+                        &pdev->sbdf, start_guest, end_guest, rc);
                 return rc;
             }
         }
@@ -420,8 +442,10 @@ static int modify_bars(const struct pci_dev *pdev, uin=
t16_t cmd, bool rom_only)
             for ( i =3D 0; i < ARRAY_SIZE(tmp->vpci->header.bars); i++ )
             {
                 const struct vpci_bar *remote_bar =3D &tmp->vpci->header.b=
ars[i];
-                unsigned long start =3D PFN_DOWN(remote_bar->addr);
-                unsigned long end =3D PFN_DOWN(remote_bar->addr +
+                unsigned long start =3D PFN_DOWN(is_hardware_domain(pdev->=
domain) ?
+                                      remote_bar->addr : remote_bar->guest=
_addr);
+                unsigned long end =3D PFN_DOWN(is_hardware_domain(pdev->do=
main) ?
+                                    remote_bar->addr : remote_bar->guest_a=
ddr +
                                              remote_bar->size - 1);
=20
                 if ( !remote_bar->enabled )
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592514.925285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb809-0007sM-Hm; Tue, 29 Aug 2023 23:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592514.925285; Tue, 29 Aug 2023 23:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb809-0007qB-7M; Tue, 29 Aug 2023 23:20:01 +0000
Received: by outflank-mailman (input) for mailman id 592514;
 Tue, 29 Aug 2023 23:19: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb807-0006kQ-CO
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:59 +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 91395310-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:19:57 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9p021983; Tue, 29 Aug 2023 23:19:55 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-11
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:55 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91395310-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m+E0+htBOuRqUkOXEOH0PhRZYcgmKQUqttJGKIJRnaonfSlB02lCzplD+ZVXLVVL6442sA88tyBwDqB8OZZvD4wgT5TO3TGh9dLiTXqX5mEgYQ2/U76z9NDfuGavqGNXlEzxa8S0DVT3wETa/fhWAZOenuf776bGcVu9nCHGxjcgjzqLhfzezm9A88DlViR14zIaS0sJAk3hYyaZQ2JI5pg+ifS1negLstRxRMEh7471ye6biLql1UOkbPTXZINFy6v9zeXfJ+ZoAyCivOVoyK668iTuE7CzgRQKqC7VceYFovtBuQl6epUHRCjPWnFYJ42MuZFddX2ZRVJhSBAvQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yi13S8hn57H9+SZArk4saLc0rRHuoOULjXT1oxZYZRk=;
 b=moR5GxUVlhOgAP5lHmGfUM2ihkIhSTVWebcDAvvxgrsDHQGia/sMr/unYTTnpqcEZn6esviCuw+c7x3Pv3lzvfurVADpXaxXWTp+ouaBILzx1hSmwY2A14Jnz1RAaQKZCGVn3IIKlEpW9eOJMFE3w+SFkWlBd/gzIoe2i40LzY1zywSwA2dvI7Lut4HPEq2RvqP4p3uyOHkwVag2lmKY6N0gqOC7J4yKDq4EZ1X2xTA6Cn/YWNALWWXRtjmPtbFhJhzD4MHszRLK5Q0jSPSFE1AQQevaIdDmCsp82BwJb0oGL66gLoDuqV7JkaoRW6KGs93TPIJf1dDgyUcZIAz80A==
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=yi13S8hn57H9+SZArk4saLc0rRHuoOULjXT1oxZYZRk=;
 b=dX3UFhNJRTa68AjCy+w5L8tncG354AUvN5Vye+BsFdWpgjSaadLPtv5AarUOQqldyDh2kuc4NpGgzomx+0rGODc3ZlGxWHJzjx+7xw4c5w5Bxgzq3NZumaJqZCSFOXb/SGWMFymm+8DThMZo1tjuzIAukjS9rY8gZkVMEU0fjrlWDI4xMOiGhEkn1ga2tPqyPJCyn9PI8sAymZK+hclvcNdYboMovXtRvhTV306J5eydca02mvPajSRmHnWp6sDDwSh3dhdwO3bhfkco0eX0Xr2PbYdp5oASyrdbHrwZiuFYgqyBH5ZHfinnCQPJhf944O5T5KoWbY5Syi1+sqSSkg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH v9 15/16] xen/arm: vpci: check guest range
Thread-Topic: [PATCH v9 15/16] xen/arm: vpci: check guest range
Thread-Index: AQHZ2s9NAWcA6L4O6U+PqFV61kFyWA==
Date: Tue, 29 Aug 2023 23:19:47 +0000
Message-ID: <20230829231912.4091958-16-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: c40aa71a-dea3-465e-8813-08dba8e67048
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: 
 nce5vjY9Bj7S0RfJjidE5Ey36FrFrSjWBJ8HsoJgONqTUkX/GHNCLXztGOelXZfj7CzMzS24tETH4OD22SWHCIG+dkzxR2yY2JaRHrVvmpbFcTnCJyu/lOIOWfTpT5UpSJPJI06M8u0k8wwLiFZ/fN8g+rkwoEO9VvXyTn/jGc63Gl90gRleaWpPPqvIqjmn5tSk97+XbruNOG3L+tr/rIA2Pq4ixWUufp5+lYrhnnEaoCijuefXRlNIvcZuJZRX0FRcJ5SOnNF3ZQzyxFWNS4+2JBD3o6tpUyKrKqFPCBIjje7I7G+qT1OuiTxz9DjF1yfMuUUjDQAHBAY0UZFDON6nIQOskLgcga5ExiY3SPOugMNLAIy9GVuO6vl5CbkLupL+s+YYZjtKk0+irr5lmmf7GEwypd43K2QPOqjx4byjezu+KBNDj1i71WNNtCeKODHmrCqZdpnaITwiIGl6wq8sUefuXuvSByy6HqAHypsrXpuMWXdi4M0yvTBQ1HB3hTiXZ0E5vKomV/Md1k2yCArLvk2dmodgvwYEfWlTesScw+xXUDiCteeLozbnYzSt/RAv+aJs03jkXg1jyikCsHau6WuOy/A/Q8/Yboo5CBkHz8zTGRdRuJyzBZNqJYg1
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(4744005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?v3AAlS0/O+hVoALSrmYskDyzgHKG9tnCFfK0g1fMGoPPYIkL4OEv/qZIQL?=
 =?iso-8859-1?Q?wWWvRuQrxj0j8tRA0LbxiPavBlCGPuRBvW002OhWolk6Lszxk4emN5vqlr?=
 =?iso-8859-1?Q?KXP8MxjgW2OxJLA8iVG64VzjaBQc/cznAcMm+347uUm7spITSMvo1Bb+XK?=
 =?iso-8859-1?Q?quKxk3WeGhCbSlT0hOiK0kDQ6mceUsRGW8rCSeI7+R70YVxXbTlAdikQFk?=
 =?iso-8859-1?Q?HZ+Rimd1ksco6RPpfXHyUlc9KdRwv0Dq5j4Y9ctmtXgKG1p8i0OUjglD5K?=
 =?iso-8859-1?Q?hZ03M0Kt8iVwuCF/97m9Sd0ajDtynQN8j97LH632EcP7+aao4MD7+ugHgE?=
 =?iso-8859-1?Q?R2XQmuED2K32MkxcB+BQ6+OpLMIT7UkRte8mlgbanf0lQyV15bWyJ/uaxu?=
 =?iso-8859-1?Q?e8KEQ02EI9w04g+lEBdk2OANAKU4kKPO7e8zXy+bpVf2thlAttQCl5BbqL?=
 =?iso-8859-1?Q?l5/WSX9Eu8AS31TETJSdb3BMqDL5ALaOP1tF3Yi9tuXyCJ0c34uKti6UUP?=
 =?iso-8859-1?Q?lJrHFzMYt4pU/p5tkdvD88dqM5MN/3uSNjz3EIuaYKZ5Gjak8VDk1jvtUn?=
 =?iso-8859-1?Q?m8IAcB0it0W2vTlKTgS/kWPKDhYth6ME/abS7nLo6WmCdvGe6BUpabUC8J?=
 =?iso-8859-1?Q?x08I85BdPzAOH8pW12EaTPDFW5Mjkn/ugqeuACRt3KlcJuKPtK8uUWM/6s?=
 =?iso-8859-1?Q?s+LqNSbJXOkCFF32IbYrpUA4RC7wgO3xPZpjQhWxwMQmJkRhdUx0fAhqU0?=
 =?iso-8859-1?Q?JgSP9kdgB2USpGttJ3HtnrvIBNM0MmhsXO6Vs6FHW7x42FWrYB2R13mLm8?=
 =?iso-8859-1?Q?OVKCFE77BH65BCM/XS6gdRKHy88LhEtk3SVMMhbYaSHAAmU1/O7VtB7+ao?=
 =?iso-8859-1?Q?D8Tvq0o1FFpauF8YdOOwYn9HtY/fc5Ww1MK/eQM+3YRrq1MG47kc5qC4G3?=
 =?iso-8859-1?Q?FLhKF9nVVdFrGloOANaxVnOkVE0CeCr2MV7G87SgbnIwyo+SBHg3FdCfIu?=
 =?iso-8859-1?Q?3XCrZ0zF/pqRMhVocRRhWg3xIaiNuIwmgu50kElRUkxyyHKEySUaMJRL5H?=
 =?iso-8859-1?Q?8c2PGJN8FWu8wH3ZMIahLY59TOcIxuX2AIkYHGpJ73j6LCgnOg5VKnVYgm?=
 =?iso-8859-1?Q?w3t99Rk62Rnf22im7DktL6rdnOB0jI5LOVppJ4m///LudZ9qf90u9G1QUo?=
 =?iso-8859-1?Q?0VIkZkwxkJQXYhlrDyRvqp079r7OxXHztSBmkq8FhbSUvB9IzstcsUmaS6?=
 =?iso-8859-1?Q?GCUW8AxM20W7dauiD8PkRyAxcnVacLy+LXnPPiO4W+TB3MnxRL2e2ca0TZ?=
 =?iso-8859-1?Q?T9/JvIXY4+F8PuR/3ltZv8ywDqHlhc8QFUcqu5t7n8GPvLWUmYSwahn1tx?=
 =?iso-8859-1?Q?7dHNbDrU+ls+uziWB1x0RnklyO17ltZAXsXsvFWF8Rb6r0gq3tWgnwZGiR?=
 =?iso-8859-1?Q?7xWL0C7dN1gsRfdU5mdh6/5b/+csNkMIDXxkZsIKWcU3aKgx1jtrhrcxsN?=
 =?iso-8859-1?Q?BUNtsJ78qwFhC8xS3WhIx3uyJXNNJH6MgiAGEo813WHVdhzLlOKbtkEH5L?=
 =?iso-8859-1?Q?L18HOywf6FH1KiUK0N7SBk3NXneB7ZOoMP8h/pjxWKgJb/iiGmxUZIljUB?=
 =?iso-8859-1?Q?I/H1GkgM5jtazSyFZErIiMYGIG807/lINN75Qw5MQwG4Vvj6Az1SzW2A?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c40aa71a-dea3-465e-8813-08dba8e67048
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:47.1794
 (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: gytcEUZUjVKHGaY2dSVtG+1lgSDsEAeVWo0uaQpqp8wFJWoLkVSXTPav+fygCR/hXkPL4DzN+11mZhDA/mfmu96o/FrtL23coUBEB+OFbUo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: aFHW6Lc_ErMGQ8h4n_X-XZDPu2KyqPqd
X-Proofpoint-GUID: aFHW6Lc_ErMGQ8h4n_X-XZDPu2KyqPqd
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

Skip mapping the BAR if it is not in a valid range.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 xen/drivers/vpci/header.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 1d243eeaf9..dbabdcbed2 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -345,6 +345,15 @@ static int modify_bars(const struct pci_dev *pdev, uin=
t16_t cmd, bool rom_only)
              bar->enabled =3D=3D !!(cmd & PCI_COMMAND_MEMORY) )
             continue;
=20
+#ifdef CONFIG_ARM
+        if ( !is_hardware_domain(pdev->domain) )
+        {
+            if ( (start_guest < PFN_DOWN(GUEST_VPCI_MEM_ADDR)) ||
+                 (end_guest >=3D PFN_DOWN(GUEST_VPCI_MEM_ADDR + GUEST_VPCI=
_MEM_SIZE)) )
+                continue;
+        }
+#endif
+
         if ( !pci_check_bar(pdev, _mfn(start), _mfn(end)) )
         {
             printk(XENLOG_G_WARNING
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592508.925234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb804-0006ki-3h; Tue, 29 Aug 2023 23:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592508.925234; Tue, 29 Aug 2023 23: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 1qb804-0006kb-06; Tue, 29 Aug 2023 23:19:56 +0000
Received: by outflank-mailman (input) for mailman id 592508;
 Tue, 29 Aug 2023 23: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb803-0006kQ-0T
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:55 +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 8d570ca5-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:19:51 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9f021983; Tue, 29 Aug 2023 23:19:48 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:47 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:43 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23: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>
X-Inumbo-ID: 8d570ca5-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yb8bctkTG9C4wzoqZGcx3fQI+wXfN/+KWBTmmJxhRIuZ3FdpPAlOmiJy2fDW7D9lBpYzbuCxhIMOAk6d5BvilBRaY/SqtejXPoBBJprm2nvpznvi8RO4bIn+KMAC+qJrh49Q9w9FWF0yCEUZw9nSSMAOzRe+8N4B/xqv7WFXpTwyCPYeFNR4F/+dXASebDvBmCSPi/mBhPw1xbk9jX1rus0ZUsfgei3XwzdiDwSs9/sUcQ/EENbOiRL/mC5+6+b4FiBaE5uJ2DGyWQDC7uq1Q7vjn2Qf7auqFaRdk22IgoceP89jFL98zXQTZffexwnzS2j7QK0ACP1mUArJ1qFN2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u1exkS/uweIgKXeUpBvInyadEJMzoYayUA8BpUFSFtw=;
 b=iberMZOBsXwU5e/SktgmXy6EbrCeDNwLmSYhzfp+GgT3yKZWtQTu6db9clo10ldpNCP0qjNn+9PXUhKMvyEERDEHthSNK2ZTpUrLOX16IuDxDyMdIO1l+ynKEAzbklVn+PVSJHHdAY2W3bd3cdVzKt/QMpYHs5qNOj0vF5kvLO/JeJ7MMJSM+JMxGaTXeihJ6w0mz6dvz+1OIqFzF7wGdWzQGAXsl2fhLzFX0aUlU73rPqfPsv3Wd4FF6uQdiDMovluUICbUFIWqOlTvviwj1hQxaBIEcnicOXcktTulijxcjmeEO6C2ggXMg6iTEm/KpraXi4Bk8VoUPhSkg38sLw==
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=u1exkS/uweIgKXeUpBvInyadEJMzoYayUA8BpUFSFtw=;
 b=LdIXVIEuPdohj4F/EpfidYzR6m1UWIkmFljEkD0WmvPqDivdYXE5wQh0EDDbGVbpNzB4wuFLh2D9kokeqygkBqgT/cHUnybONT2PM0fKMjseeLAL6jLYox3A5/nXH+RWcD3UAb3bSOLdIQSpmMxgnJ/QignQMiKDqJL0aoOPVxKfrau+uuBG0HKymMsu5Csan8ZM92XFyQFgPYRCqRKjufPAinH/hJhtlBdnqPZuluDCvupWjYJo8K/oQmjVJnV7gmCaNo67J3ZfraVsC/VuztsK1K6DkSSCzeh4M3O//AgC59WBsM4RjfD7KmD1AuJUWn5fljRJ3yaeZ53Qiaqz5A==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: [PATCH v9 03/16] vpci: restrict unhandled read/write operations for
 guests
Thread-Topic: [PATCH v9 03/16] vpci: restrict unhandled read/write operations
 for guests
Thread-Index: AQHZ2s9K3uXHQsaiPESKImIi9IiKlw==
Date: Tue, 29 Aug 2023 23:19:42 +0000
Message-ID: <20230829231912.4091958-4-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 3f6a034c-0eed-42d7-ee2a-08dba8e66d99
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: 
 WxIQjI0a68yrnUfjB039J8OX5mdq6t9zWgtZQQs0+EylFXk0E7ALFlTKMnUt9rynIrt8UfpqSWj9OCAPEFSDmwuoBc+afygSTSKaK7AraR5DrCql9ZfineZRW4a2Lo17RR4i0+mRGqFPvUqVaCYd9q6TNfNpE8jOpkoMG4HThBE3k2gywICJcgEoA5Deb1EhN/l8M6i/JYtHOaKkg20Vb29eB/LY7JPqx3eAVTRek9x0BXIsiPJpFUnLD9Y5g2+zMSobWHn8Sw7LzP4Wfa8Fo6urI951yPGr9ao1Qv9thf5ojSp0nlv4h+0LqFcdkf+5GkH47aWJzcFWr7HpNJNjmnVBhRmIsBULmFRj+JfJFCg98jjOQNHCJze4InVjYaZPLtj0W4kM5ptc4XlpxoCMtXghEpeoelRPD9xdOEtJ3fJSic8OGJEqitquyXNxzqST6AnC1mzofsinXVGke/fQ1ghBhuBsQvrGLwQ5tniWfqMPm7jrpSQjW9LYYr65Ae4l9ecHRrIOpcSaeLYadAdYGxGsV4b72yRTW8IRLhqFuELGtShV/zLTHdzM0a5cf0TCOr9XSgjizVLe1b2JPdrsscy89FuVqa7SPHn8IorgNWr5nX6G6r5J7xAV/8SibqzJ
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?bWpHaHo2WHNySlhJcG9USUZ1bm9FQ3Jod01hZVhIRGh0MVd1OCtKNG9vY1VC?=
 =?utf-8?B?bEpVNGVGcG5ZUjlKSE9hTFRSL2tTZFgrL1Zrc2s3bXprUTJ2Rit4ZEUydHVq?=
 =?utf-8?B?SU9LcTBmSU53RUJFdlh3eUhSc2dNelFhSkFJUEV6NjRvNTk0MVh2NGpXWVBj?=
 =?utf-8?B?OW5BVW5WUUt5M0ZLUHVxeXlCemUzQ3hremxRTHVUUFgzZXFGaUdvSHVyNURv?=
 =?utf-8?B?Ukd0dldyTkZQbUlhVHpZRE5GdWVzQ01EbHZlZGVOSUlmQ2l2NDVVbU1DVGNR?=
 =?utf-8?B?dEFDemlhOFgvOFJWaUNQN1BiNU1LcVUyMVVNdEJudDUwZHZjc01PUXdDY3ov?=
 =?utf-8?B?VXRuU01SOEZoYU8wSit6a0FyVkc5ZFhBQ1kxdUppVFBMUS9kUEI2UUljNk9q?=
 =?utf-8?B?d1lrck5HL2g0eVgvVHpWbDdDSmFSV1MyM3VaVnFZajJPN09ycmJEcDdSRkJZ?=
 =?utf-8?B?MDR4Z2hWbG1mTVpMRC9sUkpvOUhkQ2N0S2JzZnR4eGRyZDhjVHBGaW5iOFNK?=
 =?utf-8?B?RStXRExENjZYaGtBc3pYMENJdU1tRGNtUnR2V1poSmFXVUZyd3d5UHRrK21V?=
 =?utf-8?B?bnFnSitBK01GR1VETFJvOWc0ZDlwT1I5aGdRTmZmV2huMENZZUROM1BIajVZ?=
 =?utf-8?B?R3YwaTR1eC91UEFkNjNBNGhvY09PaXBOWGpobnpSVGc5S2JzWkMzOEl4Smla?=
 =?utf-8?B?Sk1md0dIZy9VQ2xYMjgyNGwyVy9wbGpUdlAzUEl3VFFucjA5YlBmZzUvZ2pw?=
 =?utf-8?B?NzE1cUQ4N3JEVloyU3pDMDY0ckJxNjgyL0FocUV2ZlRWT0xrdzJjK0dtNWk1?=
 =?utf-8?B?MFgvUmMwbTFYeUx6Qm4zdHpiZmR0cGV3dThkbHhjakdINTc2VWVya3MyaU5K?=
 =?utf-8?B?Uk5zeFZHUVB5U05iL1BIcU5KY0NzZXZteWw3SFdmU1YzMkVWMTlvQjRWejVt?=
 =?utf-8?B?ZHpjd2VRb3o3YXUza0p0TC9xUGo3c25qUkdESXBxWVZGWnJHaE5kMGtKbTFW?=
 =?utf-8?B?cEFGMkZVdnlwV3k2b2t2UzMvK0ZVa00wcXVyMGY1Rmw1YzJ0UVFncU5jTUxi?=
 =?utf-8?B?dkpqL2hjUE5oRDBtemlIOU45bnYwaFVSUUh3MUxuLzdwdVJqQkFGanhyTlU3?=
 =?utf-8?B?bWRyYWZPK2pRWm5yZVVjWVo4aktEeG5QMzN0MVFhYlV3OTlldUw3c2RqNWNZ?=
 =?utf-8?B?MWg4WHY2SFlwbGlYZ3ZwdDNaRzhZMjNiU3ViRDNuZ2RzY3VmMVpyc2xqSzlp?=
 =?utf-8?B?OFcvY0ZPTkRhdVM2bndGVjFiYktQcEVIbW9od3hhbjNLaWZlbXdOQ0VBVTVS?=
 =?utf-8?B?N3FYVXZpVm95MmhqT3IrUXAwaEJvYjBOT3dHOFFNcVdCUk9DUTNpU2hZQjM0?=
 =?utf-8?B?d0FydTB4MFlnTlE3c3Z3WGsyQ01weVRlT1h4SFNkTjFVeXY2bHRHSjIvSnBP?=
 =?utf-8?B?N1B5cW1sc0lxNG80aFZWNjlONmcrbE1oMDlCSmhTOThnVWx0T0FVYTVtVzgv?=
 =?utf-8?B?SUNKakprbjNlN01FVUxKZHM0NzFYazJXZCtoL2w5endIWm9xYSthUExCcVF5?=
 =?utf-8?B?RmRvS1Ewd2dZOWdoYUF2bkF2VDIwT2hYWHI5ODVmdFhOMUxkRG9HNnp6TlJN?=
 =?utf-8?B?TTFxK3RwRzhVbklVN1NUMTJBbFN1Z3F3VEJMZUthbThKZXhyZUhNL1hmODFY?=
 =?utf-8?B?QVd2UnEzZXdSV1B4T2grTDZSellNUFBTa243NjJ0UmlDamJseXZjUHRlclM0?=
 =?utf-8?B?NEV5ZW1hOHdzbEFFUmtnbnQvTFlCU04xWG1BQUI3OFcwUjY3QkhSQmMyWkho?=
 =?utf-8?B?ZW9hQytsNEtBM0Q5ZnlLcXczeVdzS2JIN1ptNWQwQkZpUlNFTFlzNmVaVHJB?=
 =?utf-8?B?b1ZxK2lZSGhESkc4VVJqT0hadXJlRkZNMVJydmFRUjhRejVjb3lSMG1sYkdO?=
 =?utf-8?B?RWk1QlJBWTloR29qU2hXRmNVN2J2NTZ3UFMySUhQWXhScWNkZFBrSEg1cEho?=
 =?utf-8?B?MXVzdWJXVGFCZ1ZzSUpJUE1oSlU0NGZ6RUR3V1VMTlJsd0ZtNDg3NnhqelRU?=
 =?utf-8?B?Vko3c01vWWtOQ1hIa2xGWTlmaXBJTlFITk1pTmRGNml4Vng5Zk9KRjlFcjFx?=
 =?utf-8?B?d1Fla25lNWF5MHFHb09zYWlGZzNzTEs2bnZUYStSNTBJL1B4UnRER0IvbFoy?=
 =?utf-8?B?Zmc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <13D18B520035FB468CB752BA33A6723A@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f6a034c-0eed-42d7-ee2a-08dba8e66d99
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:42.8503
 (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: vRtRiv9Nf+xw0DSm16Nkle+MfmvvAE8nMhVtKiCBsm4J5bz4B987p4hUc0tkYeebI9UOdNpwfckiK3tI09ATupeaJJziSAXyq2w8rvXRJfM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: at9ngLsWyGyG-BiUSJp1Xd_7n9ZHX1Dy
X-Proofpoint-GUID: at9ngLsWyGyG-BiUSJp1Xd_7n9ZHX1Dy
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw
YW0uY29tPg0KDQpBIGd1ZXN0IHdvdWxkIGJlIGFibGUgdG8gcmVhZCBhbmQgd3JpdGUgdGhvc2Ug
cmVnaXN0ZXJzIHdoaWNoIGFyZSBub3QNCmVtdWxhdGVkIGFuZCBoYXZlIG5vIHJlc3BlY3RpdmUg
dlBDSSBoYW5kbGVycywgc28gaXQgd2lsbCBiZSBwb3NzaWJsZQ0KZm9yIGl0IHRvIGFjY2VzcyB0
aGUgaGFyZHdhcmUgZGlyZWN0bHkuDQpJbiBvcmRlciB0byBwcmV2ZW50IGEgZ3Vlc3QgZnJvbSBy
ZWFkcyBhbmQgd3JpdGVzIGZyb20vdG8gdGhlIHVuaGFuZGxlZA0KcmVnaXN0ZXJzIG1ha2Ugc3Vy
ZSBvbmx5IGhhcmR3YXJlIGRvbWFpbiBjYW4gYWNjZXNzIHRoZSBoYXJkd2FyZSBkaXJlY3RseQ0K
YW5kIHJlc3RyaWN0IGd1ZXN0cyBmcm9tIGRvaW5nIHNvLg0KDQpTdWdnZXN0ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KU2lnbmVkLW9mZi1ieTogT2xla3Nh
bmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KDQotLS0N
ClNpbmNlIHY5Og0KLSByZW1vdmVkIHN0cmF5IGZvcm1hdHRpbmcgY2hhbmdlDQotIGFkZGVkIFJv
Z2VyJ3MgUi1iIHRhZw0KU2luY2UgdjY6DQotIGRvIG5vdCB1c2UgaXNfaHdkb20gcGFyYW1ldGVy
IGZvciB2cGNpX3tyZWFkfHdyaXRlfV9odyBhbmQgdXNlDQogIGN1cnJlbnQtPmRvbWFpbiBpbnRl
cm5hbGx5DQotIHVwZGF0ZSBjb21taXQgbWVzc2FnZQ0KTmV3IGluIHY2DQotLS0NCiB4ZW4vZHJp
dmVycy92cGNpL3ZwY2kuYyB8IDggKysrKysrKysNCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRp
b25zKCspDQoNCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyBiL3hlbi9kcml2
ZXJzL3ZwY2kvdnBjaS5jDQppbmRleCAzNGZmZjJlZjJkLi5jYjQ1OTA0MTE0IDEwMDY0NA0KLS0t
IGEveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5j
DQpAQCAtMjMzLDYgKzIzMywxMCBAQCBzdGF0aWMgdWludDMyX3QgdnBjaV9yZWFkX2h3KHBjaV9z
YmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywNCiB7DQogICAgIHVpbnQzMl90IGRhdGE7DQog
DQorICAgIC8qIEd1ZXN0IGRvbWFpbnMgYXJlIG5vdCBhbGxvd2VkIHRvIHJlYWQgcmVhbCBoYXJk
d2FyZS4gKi8NCisgICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRvbWFpbikg
KQ0KKyAgICAgICAgcmV0dXJuIH4odWludDMyX3QpMDsNCisNCiAgICAgc3dpdGNoICggc2l6ZSAp
DQogICAgIHsNCiAgICAgY2FzZSA0Og0KQEAgLTI3Niw2ICsyODAsMTAgQEAgc3RhdGljIHVpbnQz
Ml90IHZwY2lfcmVhZF9odyhwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsDQogc3Rh
dGljIHZvaWQgdnBjaV93cml0ZV9odyhwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcs
IHVuc2lnbmVkIGludCBzaXplLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
ZGF0YSkNCiB7DQorICAgIC8qIEd1ZXN0IGRvbWFpbnMgYXJlIG5vdCBhbGxvd2VkIHRvIHdyaXRl
IHJlYWwgaGFyZHdhcmUuICovDQorICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50
LT5kb21haW4pICkNCisgICAgICAgIHJldHVybjsNCisNCiAgICAgc3dpdGNoICggc2l6ZSApDQog
ICAgIHsNCiAgICAgY2FzZSA0Og0KLS0gDQoyLjQxLjANCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592513.925277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb809-0007kq-1R; Tue, 29 Aug 2023 23:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592513.925277; Tue, 29 Aug 2023 23:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb808-0007gi-Qu; Tue, 29 Aug 2023 23:20:00 +0000
Received: by outflank-mailman (input) for mailman id 592513;
 Tue, 29 Aug 2023 23:19:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb806-0007EX-W5
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:59 +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 903eb835-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:19:56 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9k021983; Tue, 29 Aug 2023 23:19:52 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:51 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 903eb835-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fdd2Kl8r5lBbeG35vSYlKDlTAIzK01RDH34HSfLYDBh6po2NQZsyrCqgF4IUtz9CRFedlTUA5TWWTPFW6jefCrAMgOZCbFS8xyupKIgUYUovB7T2GqgwVTQHFIAvteq845ONyst0FlVJtsNg/F89M7rvyyfuTU7dqhpTFLzW1Dcaakuh9k8seIquQ+ZnUfZQUlQ0Z0TBHXTpFkDFrEa7mSin5zf+Q7PoEYxGbFSZatIr24EB9803FnQWYaJX1Lc9ENFV6clDXB+d6vAIPsic7NS+kZY2z1vLxCoKlGGeuL8HvjAoWPJWv5KYu0vnAj3h7nPyTRd/YI+NdRb71+D6pA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ytiz30TI3pdTe8KMnSkIj6r0rNKRFbzYIExzPrIlfn8=;
 b=kUHirDJ+jsvrRb8dG/zfopIIbAcnkFPB5IdIvsfxmx0MNWsncwHLjLiWxgdQfcmBO3zdna34bpwPDVlXIOg9jrqTFr54oNY31jtwVquHErygdVrsX9yhZtdyjpvkQDgmVuh/BUf2uv2e9DU6Uf0QATkdNabh0tZ4CdNEzZKuRG9uYGCr8f8yP8qIzSNRtCKiIEcKf/AdnnDeZgxpBh9ZD6uEzKGs+lBBujNUBHY0/9KAvJCFzTWC9PL0/QDRP9v5D9n/A9+C+5fWfv+9pQay8bPOhRfZQ/JeG7CTvbxPZCXbaPZ36hnlNZT7xi7VnfHPlN/LaadLswh3VfJ1f940iQ==
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=Ytiz30TI3pdTe8KMnSkIj6r0rNKRFbzYIExzPrIlfn8=;
 b=RPqYCLQyYx3czkeI1ZYP9teZ2lgNnT4eJFIz/8yajiSxlrhRlFU/WoeToScpwQnkBuPG1NKzbgsjccRD+Ah1P3pfzqgezsKTThjaiHlmjLiqYTu87wBR2Lh/7Ov3L4lOaCo86D+2zPAlrchfJswuKAXbeyhrSF22IUc22XA4kcF3JY6UWTU5gf7TS/aWxto45PQg21KauwWw0IiP6r549eVvzuWUpg5exzgMZipESd1vC1Vdsi5GrTbx7ovxSYsCNOx8CzQQI82VesRQmYmi0qSEWuN58RDJZUwByhmL8Ji1vMMYRVST+6fFQrVCn3aJHFwV9dCzrm4pvPueuvKX9A==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [PATCH v9 06/16] vpci/header: implement guest BAR register handlers
Thread-Topic: [PATCH v9 06/16] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHZ2s9L0mQJgo9Th0GLfB+1u63ugw==
Date: Tue, 29 Aug 2023 23:19:43 +0000
Message-ID: <20230829231912.4091958-7-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: f2790ca2-6735-4168-ce1d-08dba8e66e5f
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: 
 YA0UtcvrDnRq4h2UOHet3TTD5Xbn4+94++jrRIIwrNc1hQvpzSzDRSqVUrNTE4FoXJPROikm+pG7JPmD49vWj0a+y0RmGTn793zJYOEoBGJSIb+4KH7rkHvT7cBYfYIiwfhopXyU1b6w/sMAXHNtARmc6LuvTP2beQiBogdU/Y0FYesAPxt5GNSxHX5RMWork33ggpv4ZlkqYKB9aUxHsJwxIhpQGQ94+09D0IN0HhhrqiFArvur/ntfaF3WaBKEGDkMaAbeKiI0nxRp5+Mqak12g+7qFzpe9QewevJuCTubAmAgSAwp9UGpPz7PkGlT227qGMjHSf2QX8rJYCukNkhlZxsEQtu2YP0GCUN2sG1YfV6Bk0G3ROYTYMt1Fz9qefmijDV1ijHqOjTE4v/DwDrCr67lwtfQ8QgCDvWj1GESdHLrudTISSDlP/2P+qYnk4bHx+9IHPUzy9S75TF9i8hZ8ITNoln3ZS8dU5s8NgU6A9r104zd7Om5Bo/mVncZXmyjczZEsHJ8PXSekMWb3d0UPQMhQBFnw/WKr3kjrV2W1mL3bvLPnxdNekghNE/eSJUr+s2H2TF8SSDOyGdoy0QDJ2ycQ51LKhdAZTkblf9Hjv+DF8F1xt0hpfQbRT24
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?7Ys3b/N92/oWj818Bl5/Q5aOnrVpenxyAnI/rddun9vIqvUzs9EM6sRWJ5?=
 =?iso-8859-1?Q?Nfm8yKyGPdeVR5Js5gXCvd/48Tcp3Tmr8PdfLQheeuKuFpfG4dVt/4mRgX?=
 =?iso-8859-1?Q?umFhgkNl3OAC/XSW461VUx2XCM9o/1xnCde1W9fNK4+o8G7ucV23H7tSec?=
 =?iso-8859-1?Q?18xDYcP3wh+fsnZKI3zg2XTE7yd6V10EgJjBPmOwVSY5XMlWZ5UOOySZTI?=
 =?iso-8859-1?Q?JBTszOTJ5EvK1CsIUBTeVKFEe4qdkErgjFGNeWeXthl0CFFmwlNoKQI+GG?=
 =?iso-8859-1?Q?h4ovHA5/YQUeHxOuK0v06u9B/WE4ccbeOJt/YEHzISkzlI5gMMlIag1RR+?=
 =?iso-8859-1?Q?AkEUEZxoeY8kGdxNoZVf71kVPb/m2/kHs0b5Ptcr8cbVJRzNlYMaOx25Yr?=
 =?iso-8859-1?Q?LuBaA8hm63Y00R3+x2eYOVlV45M3kbMELV5bfy58a0NNtY8/+d5JK1QAn0?=
 =?iso-8859-1?Q?V1WaJb3CROqpYIQG+lgXgI2r3xl52QOJlU4SX0cu+T5VKxXMU6jYQQcuEI?=
 =?iso-8859-1?Q?cZju4Y5lDo5Zipsz3srZzoY+Wlv1vXkoaohz05Hfm6Dnbj+2ao5Kq/mNl8?=
 =?iso-8859-1?Q?5H5raWt/B5FNlAJJrGwa/WK4hYrTOCxmEGwyNLGqyKeQ9ocxVO5EaHUIHl?=
 =?iso-8859-1?Q?UuM/2sgnesyfu6YuC7StjpL4i9ySVMNFj9q6zT/BMsDUQYX7rco1EI7ql5?=
 =?iso-8859-1?Q?yBRxYeylDSl4v24Wxg07GOLWTNL0aT7DoSQCfbNoKAz4bAHDEIQsE9iO4x?=
 =?iso-8859-1?Q?7r8RuEhB7u/W57XN6XeIYgG/ph4J85F4cRG75x/UXgDZACu37VSDHG3xjD?=
 =?iso-8859-1?Q?D2OMKPJlru3WBf5VOwLYOXo+bPDieFOHGWzh6dIzwZ8uV71tLPT/AIc84i?=
 =?iso-8859-1?Q?VQGOta383n/adYFqykNrMH7M8fWFqjEO34sYTW2WBV4HD5ZXNmPbUYHwQX?=
 =?iso-8859-1?Q?7j9q0vm+Owi3N8n5M+YAd09OsQeyzJ8UWJBFC9dA/AC7YHjNp6qm5NK/74?=
 =?iso-8859-1?Q?5Xu0OQWZqh+lNUmRTD8YI0a/184b0TSyk8haeYc6HutTT5hTvQiWPebJXz?=
 =?iso-8859-1?Q?cvdeo0YQgVmFkXqSp1AjKaIZa9L4iXbZDoC8KMLFn0KZpG76wqKEYxuM0k?=
 =?iso-8859-1?Q?BOXdXPMeuQaCBFWOXQMHQOtyaYOMpw+IGxLoYT10A1XYdviaBxHKmIUm5j?=
 =?iso-8859-1?Q?FBjcDvo6K1ecjrw37mQhVRJAPIV2jkJYGPa7wUjTPd7sjzYkxJL82X6P/x?=
 =?iso-8859-1?Q?PkHXinj6u/jZ67kCNnaBQbxOqCivLt3Hv1P1ErIvcehRPSDH4mnv2jtTi6?=
 =?iso-8859-1?Q?ob37sX5UcnJzN2PVPxydYQlgcz3LLEjCsrVditTVa45Q6NG6eR1aVr7seF?=
 =?iso-8859-1?Q?cIcDqHG/sP/PL1/9zS0iWO0jOq6jSxbZ7ex0+zD/YR5J1bxDwA76XE891T?=
 =?iso-8859-1?Q?1Ks3J/DF91a9c2O4BwzBR+MQNEyEiAC7VDSABkFNDGSAId35mhMklzklra?=
 =?iso-8859-1?Q?DTZZHFw/iDukYlJu9RTtHvBOxZuSOyBTgFsyIoG7ExD8H/a/36Pf6QdZ37?=
 =?iso-8859-1?Q?14Kg//fWp4Yz2bJmjoh9e5UESRvMYC6CQadnkjexZ0uB5hc74v0alpIT17?=
 =?iso-8859-1?Q?udkHoBxOrOsVQ81GJ1nbDqC5uPO76eXV48uPWcX0t8gKJiwhQey3W/zA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2790ca2-6735-4168-ce1d-08dba8e66e5f
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:43.7178
 (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: Qz6DX931uvrXlGo6wN6xfhm6UH2s3W0ecozu8XFcggKLh03+4pqASHQCW9SUhn/ehChurxwekuvW4n5H3rAH/ghGL0/pVClPkW0QyJS/PfA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: vc7BuCmWsMSMmfFadpYjsbGBBk9Eq77M
X-Proofpoint-GUID: vc7BuCmWsMSMmfFadpYjsbGBBk9Eq77M
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Add relevant vpci register handlers when assigning PCI device to a domain
and remove those when de-assigning. This allows having different
handlers for different domains, e.g. hwdom and other guests.

Emulate guest BAR register values: this allows creating a guest view
of the registers and emulates size and properties probe as it is done
during PCI device enumeration by the guest.

All empty, IO and ROM BARs for guests are emulated by returning 0 on
reads and ignoring writes: this BARs are special with this respect as
their lower bits have special meaning, so returning default ~0 on read
may confuse guest OS.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
Since v9:
- factored-out "fail" label introduction in init_bars()
- replaced #ifdef CONFIG_X86 with IS_ENABLED()
- do not pass bars[i] to empty_bar_read() handler
- store guest's BAR address instead of guests BAR register view
Since v6:
- unify the writing of the PCI_COMMAND register on the
  error path into a label
- do not introduce bar_ignore_access helper and open code
- s/guest_bar_ignore_read/empty_bar_read
- update error message in guest_bar_write
- only setup empty_bar_read for IO if !x86
Since v5:
- make sure that the guest set address has the same page offset
  as the physical address on the host
- remove guest_rom_{read|write} as those just implement the default
  behaviour of the registers not being handled
- adjusted comment for struct vpci.addr field
- add guest handlers for BARs which are not handled and will otherwise
  return ~0 on read and ignore writes. The BARs are special with this
  respect as their lower bits have special meaning, so returning ~0
  doesn't seem to be right
Since v4:
- updated commit message
- s/guest_addr/guest_reg
Since v3:
- squashed two patches: dynamic add/remove handlers and guest BAR
  handler implementation
- fix guest BAR read of the high part of a 64bit BAR (Roger)
- add error handling to vpci_assign_device
- s/dom%pd/%pd
- blank line before return
Since v2:
- remove unneeded ifdefs for CONFIG_HAS_VPCI_GUEST_SUPPORT as more code
  has been eliminated from being built on x86
Since v1:
 - constify struct pci_dev where possible
 - do not open code is_system_domain()
 - simplify some code3. simplify
 - use gdprintk + error code instead of gprintk
 - gate vpci_bar_{add|remove}_handlers with CONFIG_HAS_VPCI_GUEST_SUPPORT,
   so these do not get compiled for x86
 - removed unneeded is_system_domain check
 - re-work guest read/write to be much simpler and do more work on write
   than read which is expected to be called more frequently
 - removed one too obvious comment
---
 xen/drivers/vpci/header.c | 131 +++++++++++++++++++++++++++++++++-----
 xen/include/xen/vpci.h    |   3 +
 2 files changed, 118 insertions(+), 16 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index e58bbdf68d..e96d7b2b37 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -477,6 +477,72 @@ static void cf_check bar_write(
     pci_conf_write32(pdev->sbdf, reg, val);
 }
=20
+static void cf_check guest_bar_write(const struct pci_dev *pdev,
+                                     unsigned int reg, uint32_t val, void =
*data)
+{
+    struct vpci_bar *bar =3D data;
+    bool hi =3D false;
+    uint64_t guest_addr =3D bar->guest_addr;
+
+    if ( bar->type =3D=3D VPCI_BAR_MEM64_HI )
+    {
+        ASSERT(reg > PCI_BASE_ADDRESS_0);
+        bar--;
+        hi =3D true;
+    }
+    else
+    {
+        val &=3D PCI_BASE_ADDRESS_MEM_MASK;
+    }
+
+    guest_addr &=3D ~(0xffffffffull << (hi ? 32 : 0));
+    guest_addr |=3D (uint64_t)val << (hi ? 32 : 0);
+
+    guest_addr &=3D ~(bar->size - 1) | ~PCI_BASE_ADDRESS_MEM_MASK;
+
+    /*
+     * Make sure that the guest set address has the same page offset
+     * as the physical address on the host or otherwise things won't work =
as
+     * expected.
+     */
+    if ( (guest_addr & (~PAGE_MASK)) !=3D (bar->addr & ~PAGE_MASK) )
+    {
+        gprintk(XENLOG_WARNING,
+                "%pp: ignored BAR %zu write attempting to change page offs=
et\n",
+                &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
+        return;
+    }
+
+    bar->guest_addr =3D guest_addr;
+}
+
+static uint32_t cf_check guest_bar_read(const struct pci_dev *pdev,
+                                        unsigned int reg, void *data)
+{
+    const struct vpci_bar *bar =3D data;
+    uint32_t reg_val;
+
+    if ( bar->type =3D=3D VPCI_BAR_MEM64_HI )
+    {
+        ASSERT(reg > PCI_BASE_ADDRESS_0);
+        bar--;
+        return bar->guest_addr >> 32;
+    }
+
+    reg_val =3D bar->guest_addr;
+    reg_val |=3D bar->type =3D=3D VPCI_BAR_MEM32 ? PCI_BASE_ADDRESS_MEM_TY=
PE_32 :
+                                             PCI_BASE_ADDRESS_MEM_TYPE_64;
+    reg_val |=3D bar->prefetchable ? PCI_BASE_ADDRESS_MEM_PREFETCH : 0;
+
+    return reg_val;
+}
+
+static uint32_t cf_check empty_bar_read(const struct pci_dev *pdev,
+                                        unsigned int reg, void *data)
+{
+    return 0;
+}
+
 static void cf_check rom_write(
     const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data=
)
 {
@@ -537,6 +603,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
     struct vpci_header *header =3D &pdev->vpci->header;
     struct vpci_bar *bars =3D header->bars;
     int rc;
+    bool is_hwdom =3D is_hardware_domain(pdev->domain);
=20
     ASSERT(rw_is_locked(&pdev->domain->pci_lock));
=20
@@ -578,8 +645,10 @@ static int cf_check init_bars(struct pci_dev *pdev)
         if ( i && bars[i - 1].type =3D=3D VPCI_BAR_MEM64_LO )
         {
             bars[i].type =3D VPCI_BAR_MEM64_HI;
-            rc =3D vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write=
, reg,
-                                   4, &bars[i]);
+            rc =3D vpci_add_register(pdev->vpci,
+                                   is_hwdom ? vpci_hw_read32 : guest_bar_r=
ead,
+                                   is_hwdom ? bar_write : guest_bar_write,
+                                   reg, 4, &bars[i]);
             if ( rc )
                 goto fail;
             continue;
@@ -589,6 +658,15 @@ static int cf_check init_bars(struct pci_dev *pdev)
         if ( (val & PCI_BASE_ADDRESS_SPACE) =3D=3D PCI_BASE_ADDRESS_SPACE_=
IO )
         {
             bars[i].type =3D VPCI_BAR_IO;
+
+            if ( !IS_ENABLED(CONFIG_X86) && !is_hwdom )
+            {
+                rc =3D vpci_add_register(pdev->vpci, empty_bar_read, NULL,
+                                       reg, 4, NULL);
+                if ( rc )
+                    goto fail;
+            }
+
             continue;
         }
         if ( (val & PCI_BASE_ADDRESS_MEM_TYPE_MASK) =3D=3D
@@ -605,6 +683,15 @@ static int cf_check init_bars(struct pci_dev *pdev)
         if ( size =3D=3D 0 )
         {
             bars[i].type =3D VPCI_BAR_EMPTY;
+
+            if ( !is_hwdom )
+            {
+                rc =3D vpci_add_register(pdev->vpci, empty_bar_read, NULL,
+                                       reg, 4, NULL);
+                if ( rc )
+                    goto fail;
+            }
+
             continue;
         }
=20
@@ -612,28 +699,40 @@ static int cf_check init_bars(struct pci_dev *pdev)
         bars[i].size =3D size;
         bars[i].prefetchable =3D val & PCI_BASE_ADDRESS_MEM_PREFETCH;
=20
-        rc =3D vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, re=
g, 4,
-                               &bars[i]);
+        rc =3D vpci_add_register(pdev->vpci,
+                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
+                               is_hwdom ? bar_write : guest_bar_write,
+                               reg, 4, &bars[i]);
         if ( rc )
             goto fail;
     }
=20
-    /* Check expansion ROM. */
-    rc =3D pci_size_mem_bar(pdev->sbdf, rom_reg, &addr, &size, PCI_BAR_ROM=
);
-    if ( rc > 0 && size )
+    /* TODO: Check expansion ROM, we do not handle ROM for guests for now.=
 */
+    if ( is_hwdom )
     {
-        struct vpci_bar *rom =3D &header->bars[num_bars];
+        rc =3D pci_size_mem_bar(pdev->sbdf, rom_reg, &addr, &size, PCI_BAR=
_ROM);
+        if ( rc > 0 && size )
+        {
+            struct vpci_bar *rom =3D &header->bars[num_bars];
=20
-        rom->type =3D VPCI_BAR_ROM;
-        rom->size =3D size;
-        rom->addr =3D addr;
-        header->rom_enabled =3D pci_conf_read32(pdev->sbdf, rom_reg) &
-                              PCI_ROM_ADDRESS_ENABLE;
+            rom->type =3D VPCI_BAR_ROM;
+            rom->size =3D size;
+            rom->addr =3D addr;
+            header->rom_enabled =3D pci_conf_read32(pdev->sbdf, rom_reg) &
+                                  PCI_ROM_ADDRESS_ENABLE;
=20
-        rc =3D vpci_add_register(pdev->vpci, vpci_hw_read32, rom_write, ro=
m_reg,
-                               4, rom);
+            rc =3D vpci_add_register(pdev->vpci, vpci_hw_read32, rom_write=
,
+                                   rom_reg, 4, rom);
+            if ( rc )
+                rom->type =3D VPCI_BAR_EMPTY;
+        }
+    }
+    else
+    {
+        rc =3D vpci_add_register(pdev->vpci, empty_bar_read, NULL,
+                               rom_reg, 4, NULL);
         if ( rc )
-            rom->type =3D VPCI_BAR_EMPTY;
+            goto fail;
     }
=20
     return (cmd & PCI_COMMAND_MEMORY) ? modify_bars(pdev, cmd, false) : 0;
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 2a0ae34500..89f1e27f4f 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -67,7 +67,10 @@ struct vpci {
     struct vpci_header {
         /* Information about the PCI BARs of this device. */
         struct vpci_bar {
+            /* Physical (host) address. */
             uint64_t addr;
+            /* Guest address. */
+            uint64_t guest_addr;
             uint64_t size;
             enum {
                 VPCI_BAR_EMPTY,
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592515.925292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80A-00082p-0b; Tue, 29 Aug 2023 23:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592515.925292; Tue, 29 Aug 2023 23:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb809-0007z6-Nb; Tue, 29 Aug 2023 23:20:01 +0000
Received: by outflank-mailman (input) for mailman id 592515;
 Tue, 29 Aug 2023 23:19:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb807-0007EX-QZ
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:59 +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 90309ff7-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:19:56 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9m021983; Tue, 29 Aug 2023 23:19:53 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-8
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:53 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:46 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 90309ff7-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c9UUKEApCYiwql8lTUWXWKAUuaIz7NU8X+t5szptPC5c+Q8yBXmLciSGb9Ef3PjuyoAvdkgMHj3oN0PNWj78smzl4cm1AY1q67nnyW3vp8Q4FbZmkWcZjPSshy6DycWJx1jc2AP+SJQ7IlXLcomKRGOfMfjv2uLNnUpuIwjQUNbY14lm5zO73Ja2NuoRCpsDeo5fGuOZH9uxu4rsH9GWp7Q/3xaGUdTk/d2Fmp/UxHuV4biv23Q5eNmpCit1P/qW5bBTY5EkrYO2bnGITS6Pmf4QjX9NEgb+jHpRgn7t6Sr9xdEKnWKh1O2toe9DZxWO6MpLkmF3pnpONdJRVgepvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q1RqGs20J0sl0wDwsS7HPEyH9aAe+auhvvKSc58OLsk=;
 b=CMt142aESfrpOKZiayOpG3qBmSB6i3PkscmQOWnkvD/z3hqDeE3EGzwmXDiiB0GfuEoostgn1lSQK57s1KejjVH/c8+1fbbhQIjZERnYFyxq9RFSkdFWabLPIIeQ0L4lXxkQbjUzTmjsZmgHLhmAZtiHNknJHuqWFYiLwTDq1/GSJ8stVVc2mSOGDeg6+Pfe3uZTCrQSXPtMTYF2++zvlwBlMq1GUllImyeoivQP/4Cmt1WA2sxTouxmJdDRJl6tqn1Ibmc8zx0jD4EmbvURLo06PPjKPjdxlIPd4kLTWK8Yxxmt6aIMVcwxnK1seXBDP/EBoVfl6Pghq3DPptj49g==
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=Q1RqGs20J0sl0wDwsS7HPEyH9aAe+auhvvKSc58OLsk=;
 b=RRvh1NnLsKlJeo3AA7dCmUwDkAnqubY9K+Ixz2jFpPLvVxmdijclT3axfZS+2fuf6DVpssjQXwxDyFjg5pqUs3HqnBnw8nCu11BVfRyaw5OcxhK7HYXVkdYaZ2i0+pkeNbA996YmwMIMchl09IRopo+u3lTs4ZDycc6pYSjJh7NFipoH2s0r0U9l6KXkPJqWliTN+8B+TgeW+/kQaYJetnHY7GwJ0XS/c7ReDmdP/UjQY5CjwOG6y5JJKqDqeZpnfii2qL2OCSu9rUW0lwPIzo86KO7IWWx6W97YnjkOc/sZfpCIlfgF25jga/MD99IF9BcGskX3IdwB8gMft9lVEA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 10/16] vpci/header: emulate PCI_COMMAND register for guests
Thread-Topic: [PATCH v9 10/16] vpci/header: emulate PCI_COMMAND register for
 guests
Thread-Index: AQHZ2s9LnsJWfZzJukybwnoLXaXA0g==
Date: Tue, 29 Aug 2023 23:19:44 +0000
Message-ID: <20230829231912.4091958-11-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: b95024b4-e3e7-4761-70b4-08dba8e66f49
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: 
 0H8MtiKi35+65igUTXRWmr0abA8I4xS+xGE1oMFmAEYwd5y3CiNgKdDApjlXzQsCCROVpq6hnu6QIXVMnn2Uy8C5VgTjYPtYx0cXcFhLSbcLp8OEQvE7mo7X5Hyqv46Wr0juH06bD/XIRRvWogI4SwIT96KQd/vzldZ+weo2qOHb3Yzo28T40xSgoetEClyS4WjIQPGS5P3uZSaKT24wclz0VhW1fltCJ7/ueLDYMtWO3mZi6ZnrmzPxEtDRyybm2hMaI1xFR7oeFa1+cM3HNITUENSFkjHXlqZmQSFAlnGI0kiyFiLtAQAIP75UeO87dfObwviGoVMdXeLmib9rif6PGLaaeBOBwzj5Vv84QFJNO9P3lL7WcrAC5oebDO5sElJXTO1NMsr3DPD40YsDPDlhLLXVqfMTZmtHLREcB0FS8rQl+LCVYioLLVlX71SsqHDufbXrnln4nBD/ywLUlvUpj7mCh5gMDbSh+snr/Zz0CPwp34AE4v98m6jmjoBXXZ+qXb9W9Pt/D9zL7olz4QW7ccZC4uLga0/SNiCnyGBSJefZ3TQy/AYOodYLQVCS5h3MD834PCo0ur8nqalETDSAHmgHAKpm55etKD59Nw2ODTFQuJLdRIHgyyUmN3Fu
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?nkJq/1JY300LwirFR1h/kwhhTXUCigEMKTyh6gASctXV2euwAJ8u15RT9U?=
 =?iso-8859-1?Q?OJ6xVMk67gF8khI7epCuHnlYT93WYlf4cEyjuSIuH2xK572EwvRe9CBcad?=
 =?iso-8859-1?Q?tZ5nA4pfhmjCkclAnX/K0DmC3koeyOQNdSJBPr+wDAVBhhY6R3rbxhKjaG?=
 =?iso-8859-1?Q?+cz7T1Z+PXFaQBSv7wIgsHXsEotUWTv45y7Xb055h5NWQnOY5tOmsZQHAH?=
 =?iso-8859-1?Q?5jOVb+4F2BOnqm8DAg6bRiY+0Jmoqu2y4TKw73dD2+LcRh30cu6BWXfs0z?=
 =?iso-8859-1?Q?FCdf/x6JFjesVeu88OIc+hekI4qK5JnZlq0pRxKxRJJwtnOuarW8s6pzv9?=
 =?iso-8859-1?Q?WXi9W+7jGP4SqW12n0nBIL0EbtWlHW9Nu7vc/9AWf12/XbX60NHck3Pa6r?=
 =?iso-8859-1?Q?k9ek1lYGl/3tmfdthIpQRRSpAs8+hKXzn3ISYWpZfb6V8XZA+C0djJEsE9?=
 =?iso-8859-1?Q?7ciKjhgGPEOlQKPY4qKNJlcRJtR+934ekFe3BoCem0hUEbS7xjCgPBGkYc?=
 =?iso-8859-1?Q?bVpKRPhS6ei90SIHakdQIoQm2OE8qmlSyoQa1bIGm4wpqaXwsijAIAI1XC?=
 =?iso-8859-1?Q?s2nKXSDFupPVKL99aNOFeVdCPTwwOlW8VljHKnflk939mxHwwsjOZb8X3U?=
 =?iso-8859-1?Q?YsVKaki5LLwjSmj0kiWiHPHm6fJNJsv94nf6E7xpXnvXqYhCbNxe3jPJ0V?=
 =?iso-8859-1?Q?NAP7C6dplljuCj4ggPSm29xSvboMKWtSrbjNgz5vz2whb+igFbVDafgOOH?=
 =?iso-8859-1?Q?e+LnzDnBTmb7W/fHk48VgE4QnjFg4B8YGKDeLLv0Lr1B3RVhoXSXYyz+g4?=
 =?iso-8859-1?Q?ebbNKSj5pqLp1tPcERteT3Hk3uxzZ9Yj0JRF7fzIO3/u2i6+4DtMlbn/YG?=
 =?iso-8859-1?Q?L/Q9J4T6RqItzK7MSnUZrzx0ZLzaPTuS6dFQ/QXVSnDiIx+YyxsIIyAHch?=
 =?iso-8859-1?Q?0R1SoC1kYlGZDaBiy3cduLmPnUxRSXb5wHGGJDz7FKuLViLBd9NvwWNLYR?=
 =?iso-8859-1?Q?93/4MmZbjVvYP0rQHpn3U3daOtSKQNHR0B+khSf1xmmTxcB6OYW+JxZoLy?=
 =?iso-8859-1?Q?3mNUJ57y1UtM6Vj2P4Lp3LQp4kdeWtbG8DlpzKj03YuoiCWgPPUKeroxDA?=
 =?iso-8859-1?Q?XlGwBfT64QfHbzgW5fRoSllJkM8zR1gM6eHgE5sdi/vtysGNggoTZdrxin?=
 =?iso-8859-1?Q?6xK9jIr+lZcpdakpWm5TqkqBCmvNG/xb1bBBQAtlMvQ+n6OP82uEo4NJiJ?=
 =?iso-8859-1?Q?xoOFLDUQlj5LvtpQKPv5DHwhF2PACXX7LaGp/c9xKj/cPsa7jIIlq83KNc?=
 =?iso-8859-1?Q?hrs3nu10gwNCDVEIR6ZPVz46QTeOs+XiuCf6pHeYF7Uif2JAZWVXpq312r?=
 =?iso-8859-1?Q?imjRkYVCAdFZi4B0RucHFknHD65LzPq3alPRP3j5ky/bPC8Xn6gb+h8Idp?=
 =?iso-8859-1?Q?SwxAZy7YGNn9NwFELeOdd0t74LDyeGVViLXkAlrjrHnWVrcEqc/FgK69lp?=
 =?iso-8859-1?Q?DdAmZY2xxVLYzZg6WQ0VWcXB+RpC7c1oSocVhiBhc+Atim61e7q/cPTPcr?=
 =?iso-8859-1?Q?a67uVH18yEeu2uUZP0LDQfjrLFBhAmfZhc/UZPqGYqO5zscYqtTkIRFJ46?=
 =?iso-8859-1?Q?cSx/OngbmBUYLn47PmzuYFKjoPS8Xm8YsSsxA8EOTgcJmmmDBkMwTPYQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b95024b4-e3e7-4761-70b4-08dba8e66f49
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:44.9820
 (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: f/k3Xb32J1XaaKVsrs/XVjlpzoQZmW3fOgEoHr4A8moveTnaXHgTvZB0cjHHilS89Bzn2Lvs85DALruECUAUuXognKMXxE3L834HZIThW/U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: 6UMa9LcDeC2G7H2Odn-1F9XCLs63wV6Q
X-Proofpoint-GUID: 6UMa9LcDeC2G7H2Odn-1F9XCLs63wV6Q
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Xen and/or Dom0 may have put values in PCI_COMMAND which they expect
to remain unaltered. PCI_COMMAND_SERR bit is a good example: while the
guest's view of this will want to be zero initially, the host having set
it to 1 may not easily be overwritten with 0, or else we'd effectively
imply giving the guest control of the bit. Thus, PCI_COMMAND register needs
proper emulation in order to honor host's settings.

According to "PCI LOCAL BUS SPECIFICATION, REV. 3.0", section "6.2.2
Device Control" the reset state of the command register is typically 0,
so when assigning a PCI device use 0 as the initial state for the guest's v=
iew
of the command register.

Here is the full list of command register bits with notes about
emulation:

PCI_COMMAND_IO - Allow guest to control it.
PCI_COMMAND_MEMORY - Already handled.
PCI_COMMAND_MASTER - Allow guest to control it.
PCI_COMMAND_SPECIAL - Guest can generate special cycles only if it has
access to host bridge that supports software generation of special
cycles. In our case guest has no access to host bridges at all. Value
after reset is 0.
PCI_COMMAND_INVALIDATE - Allows "Memory Write and Invalidate" commands
to be generated. It requires additional configuration via Cacheline
Size register. We are not emulating this register right now and we
can't expect guest to properly configure it.
PCI_COMMAND_VGA_PALETTE - Enable VGA palette snooping. This bit is set
by firmware and we want to leave it as is.
PCI_COMMAND_PARITY - Controls how device response to parity
errors. We want this bit to be set by a hardware domain.
PCI_COMMAND_WAIT - Reserved. Should be 0.
PCI_COMMAND_SERR - Controls if device can assert SERR.
The same as for COMMAND_PARITY.
PCI_COMMAND_FAST_BACK - Optional bit that allows fast back-to-back
transactions. It is configured by firmware, so we don't want guest to
control it.
PCI_COMMAND_INTX_DISABLE - Disables INTx signals. If MSI(X) is
enabled, device is prohibited from asserting INTx. Value after reset
is 0. Guest can control it freely.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
Since v9:
- Reworked guest_cmd_read
- Added handling for more bits
Since v6:
- fold guest's logic into cmd_write
- implement cmd_read, so we can report emulated INTx state to guests
- introduce header->guest_cmd to hold the emulated state of the
  PCI_COMMAND register for guests
Since v5:
- add additional check for MSI-X enabled while altering INTX bit
- make sure INTx disabled while guests enable MSI/MSI-X
Since v3:
- gate more code on CONFIG_HAS_MSI
- removed logic for the case when MSI/MSI-X not enabled
---
 xen/drivers/vpci/header.c | 54 ++++++++++++++++++++++++++++++++++++---
 xen/drivers/vpci/msi.c    | 10 ++++++++
 xen/drivers/vpci/msix.c   |  4 +++
 xen/include/xen/vpci.h    |  3 +++
 4 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 1e82217200..e351db4620 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -502,14 +502,37 @@ static int modify_bars(const struct pci_dev *pdev, ui=
nt16_t cmd, bool rom_only)
     return 0;
 }
=20
+/* TODO: Add proper emulation for all bits of the command register. */
 static void cf_check cmd_write(
     const struct pci_dev *pdev, unsigned int reg, uint32_t cmd, void *data=
)
 {
     struct vpci_header *header =3D data;
=20
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( IS_ENABLED(CONFIG_HAS_PCI_MSI) )
+        {
+            /* Tell guest that device does not support this */
+            cmd &=3D ~PCI_COMMAND_FAST_BACK;
+        }
+
+        header->guest_cmd =3D cmd;
+
+        if ( IS_ENABLED(CONFIG_HAS_PCI_MSI) )
+        {
+            /* Do not touch INVALIDATE, PARITY and SERR */
+            const uint16_t excluded =3D PCI_COMMAND_INVALIDATE |
+                PCI_COMMAND_PARITY | PCI_COMMAND_SERR;
+
+            cmd &=3D ~excluded;
+            cmd |=3D pci_conf_read16(pdev->sbdf, reg) & excluded;
+        }
+    }
+
     /*
-     * Let Dom0 play with all the bits directly except for the memory
-     * decoding one.
+     * Let guest play with all the bits directly except for the memory
+     * decoding one. Bits that are not allowed for DomU are already
+     * handled above.
      */
     if ( header->bars_mapped !=3D !!(cmd & PCI_COMMAND_MEMORY) )
         /*
@@ -523,6 +546,14 @@ static void cf_check cmd_write(
         pci_conf_write16(pdev->sbdf, reg, cmd);
 }
=20
+static uint32_t guest_cmd_read(const struct pci_dev *pdev, unsigned int re=
g,
+                               void *data)
+{
+    const struct vpci_header *header =3D data;
+
+    return header->guest_cmd;
+}
+
 static void cf_check bar_write(
     const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data=
)
 {
@@ -732,8 +763,12 @@ static int cf_check init_bars(struct pci_dev *pdev)
     }
=20
     /* Setup a handler for the command register. */
-    rc =3D vpci_add_register(pdev->vpci, vpci_hw_read16, cmd_write, PCI_CO=
MMAND,
-                           2, header);
+    if ( is_hwdom )
+        rc =3D vpci_add_register(pdev->vpci, vpci_hw_read16, cmd_write, PC=
I_COMMAND,
+                               2, header);
+    else
+        rc =3D vpci_add_register(pdev->vpci, guest_cmd_read, cmd_write, PC=
I_COMMAND,
+                               2, header);
     if ( rc )
         return rc;
=20
@@ -745,6 +780,17 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( cmd & PCI_COMMAND_MEMORY )
         pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMOR=
Y);
=20
+    header->guest_cmd =3D cmd & ~PCI_COMMAND_MEMORY;
+
+    /*
+     * According to "PCI LOCAL BUS SPECIFICATION, REV. 3.0", section "6.2.=
2
+     * Device Control" the reset state of the command register is
+     * typically all 0's, so this is used as initial value for the guests.
+     */
+    if ( header->guest_cmd !=3D 0 )
+        gprintk(XENLOG_WARNING, "%pp: CMD is not zero: %x", &pdev->sbdf,
+                header->guest_cmd);
+
     for ( i =3D 0; i < num_bars; i++ )
     {
         uint8_t reg =3D PCI_BASE_ADDRESS_0 + i * 4;
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index a0733bb2cb..df0f0199b8 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -70,6 +70,16 @@ static void cf_check control_write(
=20
         if ( vpci_msi_arch_enable(msi, pdev, vectors) )
             return;
+
+        /*
+         * Make sure guest doesn't enable INTx while enabling MSI.
+         * Opposite action (enabling INTx) will be performed in
+         * vpci_msi_arch_disable call path.
+         */
+        if ( !is_hardware_domain(pdev->domain) )
+        {
+            pci_intx(pdev, false);
+        }
     }
     else
         vpci_msi_arch_disable(msi, pdev);
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index f8c5bd393b..300c671384 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -97,6 +97,10 @@ static void cf_check control_write(
         for ( i =3D 0; i < msix->max_entries; i++ )
             if ( !msix->entries[i].masked && msix->entries[i].updated )
                 update_entry(&msix->entries[i], pdev, i);
+
+        /* Make sure guest doesn't enable INTx while enabling MSI-X. */
+        if ( !is_hardware_domain(pdev->domain) )
+            pci_intx(pdev, false);
     }
     else if ( !new_enabled && msix->enabled )
     {
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d77a6f9506..f67d848616 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -87,6 +87,9 @@ struct vpci {
         } bars[PCI_HEADER_NORMAL_NR_BARS + 1];
         /* At most 6 BARS + 1 expansion ROM BAR. */
=20
+        /* Guest view of the PCI_COMMAND register. */
+        uint16_t guest_cmd;
+
         /*
          * Store whether the ROM enable bit is set (doesn't imply ROM BAR
          * is mapped into guest p2m) if there's a ROM BAR on the device.
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592511.925264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb808-0007V4-53; Tue, 29 Aug 2023 23:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592511.925264; Tue, 29 Aug 2023 23:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb808-0007Uw-0V; Tue, 29 Aug 2023 23:20:00 +0000
Received: by outflank-mailman (input) for mailman id 592511;
 Tue, 29 Aug 2023 23:19: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb806-0006kQ-7h
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:58 +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 8febe2ce-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:19:55 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9j021983; Tue, 29 Aug 2023 23:19:51 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:51 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:43 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23: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>
X-Inumbo-ID: 8febe2ce-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SypQwkUbvN/L1vdbszievjyluja2bV3l0pj0lkLyfo7W5ADzSahuX8raESuYvVnBjrIyAaB62hSA+3eri8gGBWCj2ebqwAsjtwJ6qBa62QLpi2/SsKd7y68qqajf+s4U7r/RMe05D/KmjmefKQkMPyv+lxMp2NKBfkQfs0B2iErIr7wg22hdhmoCnZrwOZipoidhESYihesOs2s8YB/0p0il/mU9UTJ7IGJ81SumylzQ7XGwIRxhWOjMu3CbUXFUvqwV+E9jpaqOLdSuIdZlkD00WRKGCJJCwQt3B/bpMeP3ophYOJUzhkHhkTAiYDa3WBGdyCiUu+RKgs2kWt59Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=imFiRlRgcy7VyVgiEylGKNGZs2FbczvBHx5r958a0tE=;
 b=RAxX74TuSGGpWvvyFGflCn+Rl8o+Q13OMUlV5l93h6eLn4miLk9MSves1fp8BF4sIrrsBX/Hju81X1s3yIVh4FX5M2Hh4curz9RmQmtD7KFkdeQxnm7nVCXsYTrFbTat/WfT+yPAaJS+oCYJe5A9I9EaoJgftVU776zitQVw8fMExjnzGm/wKBLrzUWt6UPMD5SVZbUZqyZzVCxRgWJlmwFhhA5ocCuw4ypwezecMflqJwcuZhKG7RDGLYpDE/niqDVkfYJB4CKgkIdFm0Q+h5jfNuIQnqWp2cnN0JJl/OgQPBBHWnOOT3LY/yO7OvpAkEE3KYqvntz8U/bmT6GM6Q==
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=imFiRlRgcy7VyVgiEylGKNGZs2FbczvBHx5r958a0tE=;
 b=RGYMcy2eytKPGBT5BQ7jLhlcxY5nIFpgLUdjZTM7592fp2FZJuMLFpBf0cBczqUDT2oq9MFhBDiYm3/lZUvdFHTAEyGuXHw0ifl8zHFviPM8WwiHHyZX6je20qX5jML9WKhMS4/S2+z7GaLXof34F6XpU5+MxjiOhediTQG1aCxl3ZDjZu9MtWlXs9H/x1TPxlB4kZvdvsVWOOrAykJy3YfwPbqafRXTJTKEbi4C/Z2De7G5NU4WFki+3cuPlQzwn3FcYaOoDfBrknIL8lCnlP2GGMhpJne6yclNv1wkYJtDdaQllXZIN3HPt9Jcll9V286kXP9t94fcANKOd7JYow==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>,
        Kevin Tian <kevin.tian@intel.com>, Paul Durrant
	<paul@xen.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 02/16] vpci: use per-domain PCI lock to protect vpci
 structure
Thread-Topic: [PATCH v9 02/16] vpci: use per-domain PCI lock to protect vpci
 structure
Thread-Index: AQHZ2s9KfUsugiaE80OWAJ/SuT82fA==
Date: Tue, 29 Aug 2023 23:19:42 +0000
Message-ID: <20230829231912.4091958-3-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 3c7aa324-2cd4-4e57-048c-08dba8e66d6f
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: 
 s6ra7aw/SB+PYiz/jSl5rWWLCyYH4QM5wxKab9OVD0s3YVy/MCmCY+Zm8/wORY2/r//0VRUTM8lEx+5HehtUkJn9PpAZvdwl0P7J5PJQv7b7ybGZ7jOZBxFlvz8O7jg7+JqT97xybz7bmnNj+FmMXwA/k9U8UTJcv50rNU0sa4RiSpz/LYYCKISdiVRV/jR59piEhqsh50yIfMRMHj9BHyW1NPh25FvHslh+oY2D6e2g1dCp0tYR7TAPyuonSOJ4dDEFzrXADzcM7gDYMu+lDcjYFez23JvM0yVBItrpP6LmurMjtxCBfGmO44j/b2bMhzR+5BAOJLO3axrrGPqHL3fTlJsSdgI8gzp8rKulD6rpAJqDgrwz0c+m7dnX5h+evKlRDl75ezgVMGtj6Mfk+E5tnJOWoDwp4X5OzVqVgTIzMh3J0sYBWst1EvId8qILvumi4En/F3Z8Vn4kNioH2KbNyZAXe6+hEDQoNN661m1876huYgdTLVeRjE34pzfwkZhbZhWp7wlTesoNI3EgsfRT2JuvPrWU/9FNaBITjcZdtnNvOUfTVgF7TbAyNyvZsMcfmF+ffbIlumTWn16IRR6knTIBJsZo5Z7fcsHG21976OvNgZwW94qb2IjWcNj/AX0DFl0dKxRku7wllZgcug==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(30864003)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001)(579004)(559001)(309714004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?OUtLdy9OZEtzbzBUNm9ZZHFIanlxa2ZpTS8rRDRmY09XS055TjRaVFc4Q21p?=
 =?utf-8?B?dlFLcXRlZFl5RzIvak1oYkhnNFVZNlpKanBIS1RoVlMzZkZlR3BEN2t4UWtF?=
 =?utf-8?B?RC9seDJoK0dGUGlaRzZrdGhrZDlTRS9YdE1hU0tTdkdVc3AzRE5XTUtjSzhV?=
 =?utf-8?B?S3lRNVQ3WUtNUmRCMHgyM0VBekwrdWhaMFhFTWp6dVRwdjArYllnMzdkSDl0?=
 =?utf-8?B?bEtYOGpnNzliOUdCOGdvUkdnUnBQTmFEZjIvaEsxVEVhdkUyVms2ZHZWMThY?=
 =?utf-8?B?N1FHQzdkZEdUSkoxNktLNzRVejdGMEwvSWx2MkVyV3JFNExQc0NtL0J1K29q?=
 =?utf-8?B?Vi9IT0pFTDdNbGZOYXMvTDBRUW1VdTNvTURVUXNmZ3dDY1cyMzA5U1JlMVVX?=
 =?utf-8?B?STdDbmMzN2tsTXBSVGlhaGFMRFNDRlB5TnpwdUJKWGJ1WXk4YUFNcGo4Ykdm?=
 =?utf-8?B?b1B1R0NVVUpVL1hmQ3Q4WnVhajJmUi9OalNReGw5a21CUjluOU5CaXNONksx?=
 =?utf-8?B?N1Y3ZC8xczNITDE1MWdEL2ErKzF6QXJBdFdpNVJMLzZCbE9jdWJ0QlFiNzFt?=
 =?utf-8?B?U05uWUlYVXlWd29UMzJQSmp3bmxpOXM4WlF6dnEycVpzN09rSHZEcmw4aFZp?=
 =?utf-8?B?U00wbUgvNDBXV1VSQUlRNHNlbnFxNVVQSVFlWVNzcCtjSlFzUmRHdTM0Ymoy?=
 =?utf-8?B?Wk90WC9ZVFplRmt1L2tPcEFMajdpOE1OVEh0aFdLVEMzbXF1RDlrczhmN3Ay?=
 =?utf-8?B?MjA4eFFCS0hTTHZaSFdsMVZ2M1JOSXZiQlFZeFVxQytBRUxsTVFEWk1BYlZQ?=
 =?utf-8?B?L1J4RFArRUpFVVk0QmFNVXh5VkFFakQvMXBoa0xwRkczN1RWOG9LOGUzQlRR?=
 =?utf-8?B?cTlFODJGNWIrNUxUOVN2Z0huM29EbjRqamo2NFZYd2lYeXlMSUwvcUN0MUY0?=
 =?utf-8?B?Nmd2aUI3L2FKK1pJVjJUQlBYTGdvdVZhdVdHL0Q4andIYTVsYzc4L25WSWdi?=
 =?utf-8?B?TVZ3UkRwYlhhaUJPVE5pWTM2Qi9MblcvRU50SVNCZUhvbVl4RW55MEg1eWN1?=
 =?utf-8?B?dHV0cWkxNlFYaEZhYit4S1ZYMUl5dkpVZmJ2dkcwTTVGdi9XYjRJL2dkNkVT?=
 =?utf-8?B?TjFYc0tZcWxKV29yVlBTaURTTE0rM2RJRjZwa3hMRW9rdHQrTFRVUlpZOHhi?=
 =?utf-8?B?dVh4VElIenRJbkVjYTE2cG40THhBWUFEcnJhMmRpdnk1ek4xRzFUbTBhZ1dh?=
 =?utf-8?B?eVN4Q2htUG1XQW0wZWRrVDVUT29DdXVIQmg1YkoxbkdUdEhRblUreVZ5QW51?=
 =?utf-8?B?VVNzRU5tU1lORkFobStnTEQ0N2E1S2lkOGxKTXE3eWhoV0tKajc1UFFKTDdt?=
 =?utf-8?B?dDlnU2hZLzJIeU5xckp2N3dXaTE4QkpVUmtLYVAzVGRKYzN0L1dqdHhSWWlV?=
 =?utf-8?B?U3ZQSVg1OEhndGd6Qm5BN1dzVGRjZDZGU2xQRXF0UzdSM3NNMG1hRGNqd2pL?=
 =?utf-8?B?anNlMkxrYy9rOXBKS0dXMDVIYW1WbjNmSy90c0FEeDRxc25WM05VeU9ta0N5?=
 =?utf-8?B?QUFJYTl3amUzMDRnMkRZMFpBaEUxeXM5WFdsUFYyNjJxOXhHZzlFZnVVSk53?=
 =?utf-8?B?R2xuOGVMN2Y3TkdlejZKUTJHZFVYSkhkd1F4V3dsM09IRWZMVW93djRTRU1p?=
 =?utf-8?B?SU9OWW15UU14eVE1NlNhenB5Mm1ET2VPNGwvUUJJU1RvSm0raC9JSlBmcUZV?=
 =?utf-8?B?T21DM0R5UHc4cWMxUXc4WE1WODMrY2MxK3VHbElJZXBSSXlxbG9rMXRnaUtr?=
 =?utf-8?B?UUhDbkpkdlFZcnpnWXZ0RkYrYnMwTXlDRFpaVTJaUGQ5RllwVndpZDhRS2Z1?=
 =?utf-8?B?K1BTaWtzUUpSS2ZyVGdtaW16eXJMdGJSVjMyR1hHT1BpUWNRcDZJNWNtUEll?=
 =?utf-8?B?THRjS1RmYVNXdkpDNWl0K2xBemx0am5HUzM5MjYwRjlvVEQ3K3FFSWpuZW1K?=
 =?utf-8?B?UnpLalYzR04zejR0SWJ3SjhsenNneFg4ZmxVRXBKSURxeVFJK2JVUjdCZ3JX?=
 =?utf-8?B?cnNFaWxiU3QrOXRPakFScHV1S3FVcytLWWJPODRNVFFIRjhDakttYzBIMlI5?=
 =?utf-8?B?REoxSVNXOTJlNEpqZ1VyL0plZWtqWFo3RXp5UXh5czRMclJiVEllWGsyWnVE?=
 =?utf-8?B?TlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <90ED5F819900094BAF58E78EF2256F4A@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c7aa324-2cd4-4e57-048c-08dba8e66d6f
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:42.5516
 (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: vYSH1s2xuPIdaVuLe+AZfChUxr3GblPmZEdl9oNHRY9+lhuut82wBQ7spWRfwIKWAtulSDQJfmbg1/2xq7Tgob03b/0woHQtpMtyO0gUwfo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: -ghOakbpgbfx8hINmWIrtmmpUk9Z7vWS
X-Proofpoint-GUID: -ghOakbpgbfx8hINmWIrtmmpUk9Z7vWS
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw
YW0uY29tPg0KDQpVc2UgYSBwcmV2aW91c2x5IGludHJvZHVjZWQgcGVyLWRvbWFpbiByZWFkL3dy
aXRlIGxvY2sgdG8gY2hlY2sNCndoZXRoZXIgdnBjaSBpcyBwcmVzZW50LCBzbyB3ZSBhcmUgc3Vy
ZSB0aGVyZSBhcmUgbm8gYWNjZXNzZXMgdG8gdGhlDQpjb250ZW50cyBvZiB0aGUgdnBjaSBzdHJ1
Y3QgaWYgbm90LiBUaGlzIGxvY2sgY2FuIGJlIHVzZWQgKGFuZCBpbiBhDQpmZXcgY2FzZXMgaXMg
dXNlZCByaWdodCBhd2F5KSBzbyB0aGF0IHZwY2kgcmVtb3ZhbCBjYW4gYmUgcGVyZm9ybWVkDQp3
aGlsZSBob2xkaW5nIHRoZSBsb2NrIGluIHdyaXRlIG1vZGUuIFByZXZpb3VzbHkgc3VjaCByZW1v
dmFsIGNvdWxkDQpyYWNlIHdpdGggdnBjaV9yZWFkIGZvciBleGFtcGxlLg0KDQpXaGVuIHRha2lu
ZyBib3RoIGQtPnBjaV9sb2NrIGFuZCBwZGV2LT52cGNpLT5sb2NrIHRoZXkgYXJlIHNob3VsZCBi
ZQ0KdGFrZW4gaW4gdGhpcyBleGFjdCBvcmRlcjogZC0+cGNpX2xvY2sgdGhlbiBwZGV2LT52cGNp
LT5sb2NrIHRvIGF2b2lkDQpwb3NzaWJsZSBkZWFkbG9jayBzaXR1YXRpb25zLg0KDQoxLiBQZXIt
ZG9tYWluJ3MgcGNpX3J3bG9jayBpcyB1c2VkIHRvIHByb3RlY3QgcGRldi0+dnBjaSBzdHJ1Y3R1
cmUNCmZyb20gYmVpbmcgcmVtb3ZlZC4NCg0KMi4gV3JpdGluZyB0aGUgY29tbWFuZCByZWdpc3Rl
ciBhbmQgUk9NIEJBUiByZWdpc3RlciBtYXkgdHJpZ2dlcg0KbW9kaWZ5X2JhcnMgdG8gcnVuLCB3
aGljaCBpbiB0dXJuIG1heSBhY2Nlc3MgbXVsdGlwbGUgcGRldnMgd2hpbGUNCmNoZWNraW5nIGZv
ciB0aGUgZXhpc3RpbmcgQkFSJ3Mgb3ZlcmxhcC4gVGhlIG92ZXJsYXBwaW5nIGNoZWNrLCBpZg0K
ZG9uZSB1bmRlciB0aGUgcmVhZCBsb2NrLCByZXF1aXJlcyB2cGNpLT5sb2NrIHRvIGJlIGFjcXVp
cmVkIG9uIGJvdGgNCmRldmljZXMgYmVpbmcgY29tcGFyZWQsIHdoaWNoIG1heSBwcm9kdWNlIGEg
ZGVhZGxvY2suIEl0IGlzIG5vdA0KcG9zc2libGUgdG8gdXBncmFkZSByZWFkIGxvY2sgdG8gd3Jp
dGUgbG9jayBpbiBzdWNoIGEgY2FzZS4gU28sIGluDQpvcmRlciB0byBwcmV2ZW50IHRoZSBkZWFk
bG9jaywgdXNlIGQtPnBjaV9sb2NrIGluc3RlYWQuIFRvIHByZXZlbnQNCmRlYWRsb2NrIHdoaWxl
IGxvY2tpbmcgYm90aCBod2RvbS0+cGNpX2xvY2sgYW5kIGRvbV94ZW4tPnBjaV9sb2NrLA0KYWx3
YXlzIGxvY2sgaHdkb20gZmlyc3QuDQoNCkFsbCBvdGhlciBjb2RlLCB3aGljaCBkb2Vzbid0IGxl
YWQgdG8gcGRldi0+dnBjaSBkZXN0cnVjdGlvbiBhbmQgZG9lcw0Kbm90IGFjY2VzcyBtdWx0aXBs
ZSBwZGV2cyBhdCB0aGUgc2FtZSB0aW1lLCBjYW4gc3RpbGwgdXNlIGENCmNvbWJpbmF0aW9uIG9m
IHRoZSByZWFkIGxvY2sgYW5kIHBkZXYtPnZwY2ktPmxvY2suDQoNCjMuIERyb3AgY29uc3QgcXVh
bGlmaWVyIHdoZXJlIHRoZSBuZXcgcndsb2NrIGlzIHVzZWQgYW5kIHRoaXMgaXMNCmFwcHJvcHJp
YXRlLg0KDQo0LiBEbyBub3QgY2FsbCBwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMgd2l0aCBhbnkg
bG9ja3MgaGVsZC4gRm9yIHRoYXQNCnVubG9jayBwcmlvciB0aGUgY2FsbCBhbmQgcmUtYWNxdWly
ZSB0aGUgbG9ja3MgYWZ0ZXIuIEFmdGVyDQpyZS1hY3F1aXJpbmcgdGhlIGxvY2sgdGhlcmUgaXMg
bm8gbmVlZCB0byBjaGVjayBpZiBwZGV2LT52cGNpIGV4aXN0czoNCiAtIGluIGFwcGx5X21hcCBi
ZWNhdXNlIG9mIHRoZSBjb250ZXh0IGl0IGlzIGNhbGxlZCAobm8gcmFjZSBjb25kaXRpb24NCiAg
IHBvc3NpYmxlKQ0KIC0gZm9yIE1TSS9NU0ktWCBkZWJ1ZyBjb2RlIGJlY2F1c2UgaXQgaXMgY2Fs
bGVkIGF0IHRoZSBlbmQgb2YNCiAgIHBkZXYtPnZwY2kgYWNjZXNzIGFuZCBubyBmdXJ0aGVyIGFj
Y2VzcyB0byBwZGV2LT52cGNpIGlzIG1hZGUNCg0KNS4gVXNlIGQtPnBjaV9sb2NrIGFyb3VuZCBm
b3JfZWFjaF9wZGV2IGFuZCBwY2lfZ2V0X3BkZXZfYnlfZG9tYWluDQp3aGlsZSBhY2Nlc3Npbmcg
cGRldnMgaW4gdnBjaSBjb2RlLg0KDQpUaGVyZSBpcyBhIHBvc3NpYmxlIGxvY2sgaW52ZXJzaW9u
IGluIE1TSSBjb2RlLCBhcyBzb21lIHBhcnRzIG9mIGl0DQphY3F1aXJlIHBjaWRldnNfbG9jaygp
IHdoaWxlIGFscmVhZHkgaG9sZGluZyBkLT5wY2lfbG9jay4NCg0KU3VnZ2VzdGVkLWJ5OiBSb2dl
ciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NClN1Z2dlc3RlZC1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIEFuZHJ1
c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KU2lnbmVkLW9mZi1i
eTogVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPg0KDQotLS0N
CkNoYW5nZXMgaW4gdjk6DQogLSBleHRlbmRlZCBsb2NrZWQgcmVnaW9uIHRvIHByb3RlY3QgdnBj
aV9yZW1vdmVfZGV2aWNlIGFuZA0KICAgdnBjaV9hZGRfaGFuZGxlcnMoKSBjYWxscw0KIC0gdnBj
aV93cml0ZSgpIHRha2VzIGxvY2sgaW4gdGhlIHdyaXRlIG1vZGUgdG8gcHJvdGVjdA0KICAgcG90
ZW50aWFsIGNhbGwgdG8gbW9kaWZ5X2JhcnMoKQ0KIC0gcmVuYW1lZCBsb2NrIHJlbGVhc2luZyBm
dW5jdGlvbg0KIC0gcmVtb3ZlZCBBU1NFUlQoKXMgZnJvbSBtc2kgY29kZQ0KIC0gYWRkZWQgdHJ5
bG9jayBpbiB2cGNpX2R1bXBfbXNpDQoNCkNoYW5nZXMgaW4gdjg6DQogLSBjaGFuZ2VkIGQtPnZw
Y2lfbG9jayB0byBkLT5wY2lfbG9jaw0KIC0gaW50cm9kdWNpbmcgZC0+cGNpX2xvY2sgaW4gYSBz
ZXBhcmF0ZSBwYXRjaA0KIC0gZXh0ZW5kZWQgbG9ja2VkIHJlZ2lvbiBpbiB2cGNpX3Byb2Nlc3Nf
cGVuZGluZw0KIC0gcmVtb3ZlZCBwY2lkZXZzX2xvY2tpcyB2cGNpX2R1bXBfbXNpKCkNCiAtIHJl
bW92ZWQgc29tZSBjaGFuZ2VzIGFzIHRoZXkgYXJlIG5vdCBuZWVkZWQgd2l0aA0KICAgdGhlIG5l
dyBsb2NraW5nIHNjaGVtZQ0KIC0gYWRkZWQgaGFuZGxpbmcgZm9yIGh3ZG9tICYmIGRvbV94ZW4g
Y2FzZQ0KLS0tDQogeGVuL2FyY2gveDg2L2h2bS92bXNpLmMgICAgICAgfCAyNCArKysrKysrKy0t
LS0tLS0tDQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgfCAgMiAtLQ0KIHhlbi9hcmNo
L3g4Ni9pcnEuYyAgICAgICAgICAgIHwgMTUgKysrKysrKy0tLQ0KIHhlbi9hcmNoL3g4Ni9tc2ku
YyAgICAgICAgICAgIHwgIDggKystLS0tDQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMg
fCAgNyArKystLQ0KIHhlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMgICAgIHwgMTggKysrKysrKysr
KysrDQogeGVuL2RyaXZlcnMvdnBjaS9tc2kuYyAgICAgICAgfCAyMiArKysrKysrKysrKysrLS0N
CiB4ZW4vZHJpdmVycy92cGNpL21zaXguYyAgICAgICB8IDUyICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0tLS0tDQogeGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgICAgICAgfCA0NiArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tDQogOSBmaWxlcyBjaGFuZ2VkLCAxNTQgaW5zZXJ0
aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZt
L3Ztc2kuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm1zaS5jDQppbmRleCAxMjhmMjM2MzYyLi5mZGU3
NmNjNmI0IDEwMDY0NA0KLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXNpLmMNCisrKyBiL3hlbi9h
cmNoL3g4Ni9odm0vdm1zaS5jDQpAQCAtNDY4LDcgKzQ2OCw3IEBAIGludCBtc2l4dGJsX3B0X3Jl
Z2lzdGVyKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwaXJxICpwaXJxLCB1aW50NjRfdCBndGFi
bGUpDQogICAgIHN0cnVjdCBtc2l4dGJsX2VudHJ5ICplbnRyeSwgKm5ld19lbnRyeTsNCiAgICAg
aW50IHIgPSAtRUlOVkFMOw0KIA0KLSAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7DQorICAg
IEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpIHx8IHJ3X2lzX2xvY2tlZCgmZC0+cGNpX2xvY2spKTsN
CiAgICAgQVNTRVJUKHJ3X2lzX3dyaXRlX2xvY2tlZCgmZC0+ZXZlbnRfbG9jaykpOw0KIA0KICAg
ICBpZiAoICFtc2l4dGJsX2luaXRpYWxpc2VkKGQpICkNCkBAIC01MzgsNyArNTM4LDcgQEAgdm9p
ZCBtc2l4dGJsX3B0X3VucmVnaXN0ZXIoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBpcnEgKnBp
cnEpDQogICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0KICAgICBzdHJ1Y3QgbXNpeHRibF9lbnRy
eSAqZW50cnk7DQogDQotICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsNCisgICAgQVNTRVJU
KHBjaWRldnNfbG9ja2VkKCkgfHwgcndfaXNfbG9ja2VkKCZkLT5wY2lfbG9jaykpOw0KICAgICBB
U1NFUlQocndfaXNfd3JpdGVfbG9ja2VkKCZkLT5ldmVudF9sb2NrKSk7DQogDQogICAgIGlmICgg
IW1zaXh0YmxfaW5pdGlhbGlzZWQoZCkgKQ0KQEAgLTY4NCw3ICs2ODQsNyBAQCBzdGF0aWMgaW50
IHZwY2lfbXNpX3VwZGF0ZShjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdWludDMyX3QgZGF0
YSwNCiB7DQogICAgIHVuc2lnbmVkIGludCBpOw0KIA0KLSAgICBBU1NFUlQocGNpZGV2c19sb2Nr
ZWQoKSk7DQorICAgIEFTU0VSVChyd19pc19sb2NrZWQoJnBkZXYtPmRvbWFpbi0+cGNpX2xvY2sp
KTsNCiANCiAgICAgaWYgKCAoYWRkcmVzcyAmIE1TSV9BRERSX0JBU0VfTUFTSykgIT0gTVNJX0FE
RFJfSEVBREVSICkNCiAgICAgew0KQEAgLTcyNSw4ICs3MjUsOCBAQCB2b2lkIHZwY2lfbXNpX2Fy
Y2hfdXBkYXRlKHN0cnVjdCB2cGNpX21zaSAqbXNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRl
dikNCiAgICAgaW50IHJjOw0KIA0KICAgICBBU1NFUlQobXNpLT5hcmNoLnBpcnEgIT0gSU5WQUxJ
RF9QSVJRKTsNCisgICAgQVNTRVJUKHJ3X2lzX2xvY2tlZCgmcGRldi0+ZG9tYWluLT5wY2lfbG9j
aykpOw0KIA0KLSAgICBwY2lkZXZzX2xvY2soKTsNCiAgICAgZm9yICggaSA9IDA7IGkgPCBtc2kt
PnZlY3RvcnMgJiYgbXNpLT5hcmNoLmJvdW5kOyBpKysgKQ0KICAgICB7DQogICAgICAgICBzdHJ1
Y3QgeGVuX2RvbWN0bF9iaW5kX3B0X2lycSB1bmJpbmQgPSB7DQpAQCAtNzQ1LDcgKzc0NSw2IEBA
IHZvaWQgdnBjaV9tc2lfYXJjaF91cGRhdGUoc3RydWN0IHZwY2lfbXNpICptc2ksIGNvbnN0IHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQ0KIA0KICAgICBtc2ktPmFyY2guYm91bmQgPSAhdnBjaV9tc2lf
dXBkYXRlKHBkZXYsIG1zaS0+ZGF0YSwgbXNpLT5hZGRyZXNzLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1zaS0+dmVjdG9ycywgbXNpLT5hcmNoLnBpcnEsIG1zaS0+
bWFzayk7DQotICAgIHBjaWRldnNfdW5sb2NrKCk7DQogfQ0KIA0KIHN0YXRpYyBpbnQgdnBjaV9t
c2lfZW5hYmxlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgbnIsDQpA
QCAtNzc4LDE1ICs3NzcsMTMgQEAgaW50IHZwY2lfbXNpX2FyY2hfZW5hYmxlKHN0cnVjdCB2cGNp
X21zaSAqbXNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwNCiAgICAgaW50IHJjOw0KIA0K
ICAgICBBU1NFUlQobXNpLT5hcmNoLnBpcnEgPT0gSU5WQUxJRF9QSVJRKTsNCisgICAgQVNTRVJU
KHJ3X2lzX2xvY2tlZCgmcGRldi0+ZG9tYWluLT5wY2lfbG9jaykpOw0KICAgICByYyA9IHZwY2lf
bXNpX2VuYWJsZShwZGV2LCB2ZWN0b3JzLCAwKTsNCiAgICAgaWYgKCByYyA8IDAgKQ0KICAgICAg
ICAgcmV0dXJuIHJjOw0KICAgICBtc2ktPmFyY2gucGlycSA9IHJjOw0KLQ0KLSAgICBwY2lkZXZz
X2xvY2soKTsNCiAgICAgbXNpLT5hcmNoLmJvdW5kID0gIXZwY2lfbXNpX3VwZGF0ZShwZGV2LCBt
c2ktPmRhdGEsIG1zaS0+YWRkcmVzcywgdmVjdG9ycywNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtc2ktPmFyY2gucGlycSwgbXNpLT5tYXNrKTsNCi0gICAgcGNpZGV2
c191bmxvY2soKTsNCiANCiAgICAgcmV0dXJuIDA7DQogfQ0KQEAgLTc5Nyw4ICs3OTQsOCBAQCBz
dGF0aWMgdm9pZCB2cGNpX21zaV9kaXNhYmxlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBp
bnQgcGlycSwNCiAgICAgdW5zaWduZWQgaW50IGk7DQogDQogICAgIEFTU0VSVChwaXJxICE9IElO
VkFMSURfUElSUSk7DQorICAgIEFTU0VSVChyd19pc19sb2NrZWQoJnBkZXYtPmRvbWFpbi0+cGNp
X2xvY2spKTsNCiANCi0gICAgcGNpZGV2c19sb2NrKCk7DQogICAgIGZvciAoIGkgPSAwOyBpIDwg
bnIgJiYgYm91bmQ7IGkrKyApDQogICAgIHsNCiAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2Jp
bmRfcHRfaXJxIGJpbmQgPSB7DQpAQCAtODE0LDcgKzgxMSw2IEBAIHN0YXRpYyB2b2lkIHZwY2lf
bXNpX2Rpc2FibGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBwaXJxLA0KICAgICB3
cml0ZV9sb2NrKCZwZGV2LT5kb21haW4tPmV2ZW50X2xvY2spOw0KICAgICB1bm1hcF9kb21haW5f
cGlycShwZGV2LT5kb21haW4sIHBpcnEpOw0KICAgICB3cml0ZV91bmxvY2soJnBkZXYtPmRvbWFp
bi0+ZXZlbnRfbG9jayk7DQotICAgIHBjaWRldnNfdW5sb2NrKCk7DQogfQ0KIA0KIHZvaWQgdnBj
aV9tc2lfYXJjaF9kaXNhYmxlKHN0cnVjdCB2cGNpX21zaSAqbXNpLCBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldikNCkBAIC04NTQsNiArODUwLDggQEAgaW50IHZwY2lfbXNpeF9hcmNoX2VuYWJs
ZV9lbnRyeShzdHJ1Y3QgdnBjaV9tc2l4X2VudHJ5ICplbnRyeSwNCiAgICAgaW50IHJjOw0KIA0K
ICAgICBBU1NFUlQoZW50cnktPmFyY2gucGlycSA9PSBJTlZBTElEX1BJUlEpOw0KKyAgICBBU1NF
UlQocndfaXNfbG9ja2VkKCZwZGV2LT5kb21haW4tPnBjaV9sb2NrKSk7DQorDQogICAgIHJjID0g
dnBjaV9tc2lfZW5hYmxlKHBkZXYsIHZtc2l4X2VudHJ5X25yKHBkZXYtPnZwY2ktPm1zaXgsIGVu
dHJ5KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVfYmFzZSk7DQogICAgIGlmICgg
cmMgPCAwICkNCkBAIC04NjEsNyArODU5LDYgQEAgaW50IHZwY2lfbXNpeF9hcmNoX2VuYWJsZV9l
bnRyeShzdHJ1Y3QgdnBjaV9tc2l4X2VudHJ5ICplbnRyeSwNCiANCiAgICAgZW50cnktPmFyY2gu
cGlycSA9IHJjOw0KIA0KLSAgICBwY2lkZXZzX2xvY2soKTsNCiAgICAgcmMgPSB2cGNpX21zaV91
cGRhdGUocGRldiwgZW50cnktPmRhdGEsIGVudHJ5LT5hZGRyLCAxLCBlbnRyeS0+YXJjaC5waXJx
LA0KICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeS0+bWFza2VkKTsNCiAgICAgaWYgKCBy
YyApDQpAQCAtODY5LDcgKzg2Niw2IEBAIGludCB2cGNpX21zaXhfYXJjaF9lbmFibGVfZW50cnko
c3RydWN0IHZwY2lfbXNpeF9lbnRyeSAqZW50cnksDQogICAgICAgICB2cGNpX21zaV9kaXNhYmxl
KHBkZXYsIGVudHJ5LT5hcmNoLnBpcnEsIDEsIGZhbHNlKTsNCiAgICAgICAgIGVudHJ5LT5hcmNo
LnBpcnEgPSBJTlZBTElEX1BJUlE7DQogICAgIH0NCi0gICAgcGNpZGV2c191bmxvY2soKTsNCiAN
CiAgICAgcmV0dXJuIHJjOw0KIH0NCkBAIC04OTUsNiArODkxLDggQEAgaW50IHZwY2lfbXNpeF9h
cmNoX3ByaW50KGNvbnN0IHN0cnVjdCB2cGNpX21zaXggKm1zaXgpDQogew0KICAgICB1bnNpZ25l
ZCBpbnQgaTsNCiANCisgICAgQVNTRVJUKHJ3X2lzX2xvY2tlZCgmbXNpeC0+cGRldi0+ZG9tYWlu
LT5wY2lfbG9jaykpOw0KKw0KICAgICBmb3IgKCBpID0gMDsgaSA8IG1zaXgtPm1heF9lbnRyaWVz
OyBpKysgKQ0KICAgICB7DQogICAgICAgICBjb25zdCBzdHJ1Y3QgdnBjaV9tc2l4X2VudHJ5ICpl
bnRyeSA9ICZtc2l4LT5lbnRyaWVzW2ldOw0KQEAgLTkxMyw3ICs5MTEsOSBAQCBpbnQgdnBjaV9t
c2l4X2FyY2hfcHJpbnQoY29uc3Qgc3RydWN0IHZwY2lfbXNpeCAqbXNpeCkNCiAgICAgICAgICAg
ICBzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IG1zaXgtPnBkZXY7DQogDQogICAgICAgICAgICAgc3Bp
bl91bmxvY2soJm1zaXgtPnBkZXYtPnZwY2ktPmxvY2spOw0KKyAgICAgICAgICAgIHJlYWRfdW5s
b2NrKCZwZGV2LT5kb21haW4tPnBjaV9sb2NrKTsNCiAgICAgICAgICAgICBwcm9jZXNzX3BlbmRp
bmdfc29mdGlycXMoKTsNCisgICAgICAgICAgICByZWFkX2xvY2soJnBkZXYtPmRvbWFpbi0+cGNp
X2xvY2spOw0KICAgICAgICAgICAgIC8qIE5COiB3ZSBhc3N1bWUgdGhhdCBwZGV2IGNhbm5vdCBn
byBhd2F5IGZvciBhbiBhbGl2ZSBkb21haW4uICovDQogICAgICAgICAgICAgaWYgKCAhcGRldi0+
dnBjaSB8fCAhc3Bpbl90cnlsb2NrKCZwZGV2LT52cGNpLT5sb2NrKSApDQogICAgICAgICAgICAg
ICAgIHJldHVybiAtRUJVU1k7DQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14
LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYw0KaW5kZXggMWVkYzdmMWU5MS4uNTQ1YTI3
Nzk2ZSAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jDQorKysgYi94ZW4v
YXJjaC94ODYvaHZtL3ZteC92bXguYw0KQEAgLTQxMyw4ICs0MTMsNiBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIHZteF9waV91cGRhdGVfaXJ0ZShjb25zdCBzdHJ1Y3QgdmNwdSAqdiwNCiANCiAgICAg
c3Bpbl91bmxvY2tfaXJxKCZkZXNjLT5sb2NrKTsNCiANCi0gICAgQVNTRVJUKHBjaWRldnNfbG9j
a2VkKCkpOw0KLQ0KICAgICByZXR1cm4gaW9tbXVfdXBkYXRlX2lyZV9mcm9tX21zaShtc2lfZGVz
YywgJm1zaV9kZXNjLT5tc2cpOw0KIA0KICB1bmxvY2tfb3V0Og0KZGlmZiAtLWdpdCBhL3hlbi9h
cmNoL3g4Ni9pcnEuYyBiL3hlbi9hcmNoL3g4Ni9pcnEuYw0KaW5kZXggNmFiZmQ4MTYyMS4uY2I5
OWFlNTM5MiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9pcnEuYw0KKysrIGIveGVuL2FyY2gv
eDg2L2lycS5jDQpAQCAtMjE1Nyw3ICsyMTU3LDcgQEAgaW50IG1hcF9kb21haW5fcGlycSgNCiAg
ICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0KICAgICAgICAgdW5zaWduZWQgaW50IG5yID0g
MDsNCiANCi0gICAgICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsNCisgICAgICAgIEFTU0VS
VChwY2lkZXZzX2xvY2tlZCgpIHx8IHJ3X2lzX2xvY2tlZCgmZC0+cGNpX2xvY2spKTsNCiANCiAg
ICAgICAgIHJldCA9IC1FTk9ERVY7DQogICAgICAgICBpZiAoICFjcHVfaGFzX2FwaWMgKQ0KQEAg
LTIzMTQsNyArMjMxNCw3IEBAIGludCB1bm1hcF9kb21haW5fcGlycShzdHJ1Y3QgZG9tYWluICpk
LCBpbnQgcGlycSkNCiAgICAgaWYgKCAocGlycSA8IDApIHx8IChwaXJxID49IGQtPm5yX3BpcnFz
KSApDQogICAgICAgICByZXR1cm4gLUVJTlZBTDsNCiANCi0gICAgQVNTRVJUKHBjaWRldnNfbG9j
a2VkKCkpOw0KKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSB8fCByd19pc19sb2NrZWQoJmQt
PnBjaV9sb2NrKSk7DQogICAgIEFTU0VSVChyd19pc193cml0ZV9sb2NrZWQoJmQtPmV2ZW50X2xv
Y2spKTsNCiANCiAgICAgaW5mbyA9IHBpcnFfaW5mbyhkLCBwaXJxKTsNCkBAIC0yOTA4LDcgKzI5
MDgsMTMgQEAgaW50IGFsbG9jYXRlX2FuZF9tYXBfbXNpX3BpcnEoc3RydWN0IGRvbWFpbiAqZCwg
aW50IGluZGV4LCBpbnQgKnBpcnFfcCwNCiANCiAgICAgbXNpLT5pcnEgPSBpcnE7DQogDQotICAg
IHBjaWRldnNfbG9jaygpOw0KKyAgICAvKg0KKyAgICAgKiBJZiB3ZSBhcmUgY2FsbGVkIHZpYSB2
UENJLT52TVNJIHBhdGgsIHdlIGFscmVhZHkgYXJlIGhvbGRpbmcNCisgICAgICogZC0+cGNpX2xv
Y2sgc28gdGhlcmUgaXMgbm8gbmVlZCB0byB0YWtlIHBjaWRldnNfbG9jaywgYXMgaXQNCisgICAg
ICogd2lsbCBjYXVzZSBsb2NrIGludmVyc2lvbi4NCisgICAgICovDQorICAgIGlmICggIXJ3X2lz
X2xvY2tlZCgmZC0+cGNpX2xvY2spICkNCisgICAgICAgIHBjaWRldnNfbG9jaygpOw0KICAgICAv
KiBWZXJpZnkgb3IgZ2V0IHBpcnEuICovDQogICAgIHdyaXRlX2xvY2soJmQtPmV2ZW50X2xvY2sp
Ow0KICAgICBwaXJxID0gYWxsb2NhdGVfcGlycShkLCBpbmRleCwgKnBpcnFfcCwgaXJxLCB0eXBl
LCAmbXNpLT5lbnRyeV9ucik7DQpAQCAtMjkyNCw3ICsyOTMwLDggQEAgaW50IGFsbG9jYXRlX2Fu
ZF9tYXBfbXNpX3BpcnEoc3RydWN0IGRvbWFpbiAqZCwgaW50IGluZGV4LCBpbnQgKnBpcnFfcCwN
CiANCiAgZG9uZToNCiAgICAgd3JpdGVfdW5sb2NrKCZkLT5ldmVudF9sb2NrKTsNCi0gICAgcGNp
ZGV2c191bmxvY2soKTsNCisgICAgaWYgKCAhcndfaXNfbG9ja2VkKCZkLT5wY2lfbG9jaykgKQ0K
KyAgICAgICAgcGNpZGV2c191bmxvY2soKTsNCiAgICAgaWYgKCByZXQgKQ0KICAgICB7DQogICAg
ICAgICBzd2l0Y2ggKCB0eXBlICkNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbXNpLmMgYi94
ZW4vYXJjaC94ODYvbXNpLmMNCmluZGV4IGQwYmY2M2RmMWQuLmJhMjk2M2I3ZDIgMTAwNjQ0DQot
LS0gYS94ZW4vYXJjaC94ODYvbXNpLmMNCisrKyBiL3hlbi9hcmNoL3g4Ni9tc2kuYw0KQEAgLTYx
Myw3ICs2MTMsNyBAQCBzdGF0aWMgaW50IG1zaV9jYXBhYmlsaXR5X2luaXQoc3RydWN0IHBjaV9k
ZXYgKmRldiwNCiAgICAgdTggc2xvdCA9IFBDSV9TTE9UKGRldi0+ZGV2Zm4pOw0KICAgICB1OCBm
dW5jID0gUENJX0ZVTkMoZGV2LT5kZXZmbik7DQogDQotICAgIEFTU0VSVChwY2lkZXZzX2xvY2tl
ZCgpKTsNCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkgfHwgcndfaXNfbG9ja2VkKCZkZXYt
PmRvbWFpbi0+cGNpX2xvY2spKTsNCiAgICAgcG9zID0gcGNpX2ZpbmRfY2FwX29mZnNldChzZWcs
IGJ1cywgc2xvdCwgZnVuYywgUENJX0NBUF9JRF9NU0kpOw0KICAgICBpZiAoICFwb3MgKQ0KICAg
ICAgICAgcmV0dXJuIC1FTk9ERVY7DQpAQCAtNzgzLDcgKzc4Myw3IEBAIHN0YXRpYyBpbnQgbXNp
eF9jYXBhYmlsaXR5X2luaXQoc3RydWN0IHBjaV9kZXYgKmRldiwNCiAgICAgaWYgKCAhcG9zICkN
CiAgICAgICAgIHJldHVybiAtRU5PREVWOw0KIA0KLSAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQo
KSk7DQorICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpIHx8IHJ3X2lzX2xvY2tlZCgmZGV2LT5k
b21haW4tPnBjaV9sb2NrKSk7DQogDQogICAgIGNvbnRyb2wgPSBwY2lfY29uZl9yZWFkMTYoZGV2
LT5zYmRmLCBtc2l4X2NvbnRyb2xfcmVnKHBvcykpOw0KICAgICAvKg0KQEAgLTEwMDAsNyArMTAw
MCw2IEBAIHN0YXRpYyBpbnQgX19wY2lfZW5hYmxlX21zaShzdHJ1Y3QgbXNpX2luZm8gKm1zaSwg
c3RydWN0IG1zaV9kZXNjICoqZGVzYykNCiAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXY7DQogICAg
IHN0cnVjdCBtc2lfZGVzYyAqb2xkX2Rlc2M7DQogDQotICAgIEFTU0VSVChwY2lkZXZzX2xvY2tl
ZCgpKTsNCiAgICAgcGRldiA9IHBjaV9nZXRfcGRldihOVUxMLCBtc2ktPnNiZGYpOw0KICAgICBp
ZiAoICFwZGV2ICkNCiAgICAgICAgIHJldHVybiAtRU5PREVWOw0KQEAgLTEwNTUsNyArMTA1NCw2
IEBAIHN0YXRpYyBpbnQgX19wY2lfZW5hYmxlX21zaXgoc3RydWN0IG1zaV9pbmZvICptc2ksIHN0
cnVjdCBtc2lfZGVzYyAqKmRlc2MpDQogICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0KICAgICBz
dHJ1Y3QgbXNpX2Rlc2MgKm9sZF9kZXNjOw0KIA0KLSAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQo
KSk7DQogICAgIHBkZXYgPSBwY2lfZ2V0X3BkZXYoTlVMTCwgbXNpLT5zYmRmKTsNCiAgICAgaWYg
KCAhcGRldiB8fCAhcGRldi0+bXNpeCApDQogICAgICAgICByZXR1cm4gLUVOT0RFVjsNCkBAIC0x
MTcwLDggKzExNjgsNiBAQCBpbnQgcGNpX3ByZXBhcmVfbXNpeCh1MTYgc2VnLCB1OCBidXMsIHU4
IGRldmZuLCBib29sIG9mZikNCiAgKi8NCiBpbnQgcGNpX2VuYWJsZV9tc2koc3RydWN0IG1zaV9p
bmZvICptc2ksIHN0cnVjdCBtc2lfZGVzYyAqKmRlc2MpDQogew0KLSAgICBBU1NFUlQocGNpZGV2
c19sb2NrZWQoKSk7DQotDQogICAgIGlmICggIXVzZV9tc2kgKQ0KICAgICAgICAgcmV0dXJuIC1F
UEVSTTsNCiANCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQppbmRleCA3OWNhOTI4NjcyLi40ZjE4MjkzOTAw
IDEwMDY0NA0KLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMNCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQpAQCAtNzUyLDcgKzc1Miw2IEBAIGludCBwY2lfYWRk
X2RldmljZSh1MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuLA0KICAgICAgICAgcGRldi0+ZG9tYWlu
ID0gaGFyZHdhcmVfZG9tYWluOw0KICAgICAgICAgd3JpdGVfbG9jaygmaGFyZHdhcmVfZG9tYWlu
LT5wY2lfbG9jayk7DQogICAgICAgICBsaXN0X2FkZCgmcGRldi0+ZG9tYWluX2xpc3QsICZoYXJk
d2FyZV9kb21haW4tPnBkZXZfbGlzdCk7DQotICAgICAgICB3cml0ZV91bmxvY2soJmhhcmR3YXJl
X2RvbWFpbi0+cGNpX2xvY2spOw0KIA0KICAgICAgICAgLyoNCiAgICAgICAgICAqIEZvciBkZXZp
Y2VzIG5vdCBkaXNjb3ZlcmVkIGJ5IFhlbiBkdXJpbmcgYm9vdCwgYWRkIHZQQ0kgaGFuZGxlcnMN
CkBAIC03NjIsMTcgKzc2MSwxNyBAQCBpbnQgcGNpX2FkZF9kZXZpY2UodTE2IHNlZywgdTggYnVz
LCB1OCBkZXZmbiwNCiAgICAgICAgIGlmICggcmV0ICkNCiAgICAgICAgIHsNCiAgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0VSUiAiU2V0dXAgb2YgdlBDSSBmYWlsZWQ6ICVkXG4iLCByZXQpOw0K
LSAgICAgICAgICAgIHdyaXRlX2xvY2soJmhhcmR3YXJlX2RvbWFpbi0+cGNpX2xvY2spOw0KICAg
ICAgICAgICAgIGxpc3RfZGVsKCZwZGV2LT5kb21haW5fbGlzdCk7DQogICAgICAgICAgICAgd3Jp
dGVfdW5sb2NrKCZoYXJkd2FyZV9kb21haW4tPnBjaV9sb2NrKTsNCiAgICAgICAgICAgICBwZGV2
LT5kb21haW4gPSBOVUxMOw0KICAgICAgICAgICAgIGdvdG8gb3V0Ow0KICAgICAgICAgfQ0KKyAg
ICAgICAgd3JpdGVfdW5sb2NrKCZoYXJkd2FyZV9kb21haW4tPnBjaV9sb2NrKTsNCiAgICAgICAg
IHJldCA9IGlvbW11X2FkZF9kZXZpY2UocGRldik7DQogICAgICAgICBpZiAoIHJldCApDQogICAg
ICAgICB7DQotICAgICAgICAgICAgdnBjaV9yZW1vdmVfZGV2aWNlKHBkZXYpOw0KICAgICAgICAg
ICAgIHdyaXRlX2xvY2soJmhhcmR3YXJlX2RvbWFpbi0+cGNpX2xvY2spOw0KKyAgICAgICAgICAg
IHZwY2lfcmVtb3ZlX2RldmljZShwZGV2KTsNCiAgICAgICAgICAgICBsaXN0X2RlbCgmcGRldi0+
ZG9tYWluX2xpc3QpOw0KICAgICAgICAgICAgIHdyaXRlX3VubG9jaygmaGFyZHdhcmVfZG9tYWlu
LT5wY2lfbG9jayk7DQogICAgICAgICAgICAgcGRldi0+ZG9tYWluID0gTlVMTDsNCkBAIC0xMTQ3
LDcgKzExNDYsOSBAQCBzdGF0aWMgdm9pZCBfX2h3ZG9tX2luaXQgc2V0dXBfb25lX2h3ZG9tX2Rl
dmljZShjb25zdCBzdHJ1Y3Qgc2V0dXBfaHdkb20gKmN0eHQsDQogICAgIH0gd2hpbGUgKCBkZXZm
biAhPSBwZGV2LT5kZXZmbiAmJg0KICAgICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pID09IFBD
SV9TTE9UKHBkZXYtPmRldmZuKSApOw0KIA0KKyAgICB3cml0ZV9sb2NrKCZjdHh0LT5kLT5wY2lf
bG9jayk7DQogICAgIGVyciA9IHZwY2lfYWRkX2hhbmRsZXJzKHBkZXYpOw0KKyAgICB3cml0ZV91
bmxvY2soJmN0eHQtPmQtPnBjaV9sb2NrKTsNCiAgICAgaWYgKCBlcnIgKQ0KICAgICAgICAgcHJp
bnRrKFhFTkxPR19FUlIgInNldHVwIG9mIHZQQ0kgZm9yIGQlZCBmYWlsZWQ6ICVkXG4iLA0KICAg
ICAgICAgICAgICAgIGN0eHQtPmQtPmRvbWFpbl9pZCwgZXJyKTsNCmRpZmYgLS1naXQgYS94ZW4v
ZHJpdmVycy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KaW5kZXgg
NjBmNzA0OWUzNC4uMTc3YTZiNTdhNSAxMDA2NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvaGVh
ZGVyLmMNCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMNCkBAIC0xNzIsNiArMTcyLDcg
QEAgYm9vbCB2cGNpX3Byb2Nlc3NfcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikNCiAgICAgICAgIGlm
ICggcmMgPT0gLUVSRVNUQVJUICkNCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiANCisgICAg
ICAgIHdyaXRlX2xvY2soJnYtPmRvbWFpbi0+cGNpX2xvY2spOw0KICAgICAgICAgc3Bpbl9sb2Nr
KCZ2LT52cGNpLnBkZXYtPnZwY2ktPmxvY2spOw0KICAgICAgICAgLyogRGlzYWJsZSBtZW1vcnkg
ZGVjb2RpbmcgdW5jb25kaXRpb25hbGx5IG9uIGZhaWx1cmUuICovDQogICAgICAgICBtb2RpZnlf
ZGVjb2Rpbmcodi0+dnBjaS5wZGV2LA0KQEAgLTE5MCw2ICsxOTEsNyBAQCBib29sIHZwY2lfcHJv
Y2Vzc19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQ0KICAgICAgICAgICAgICAqIGZhaWx1cmUuDQog
ICAgICAgICAgICAgICovDQogICAgICAgICAgICAgdnBjaV9yZW1vdmVfZGV2aWNlKHYtPnZwY2ku
cGRldik7DQorICAgICAgICB3cml0ZV91bmxvY2soJnYtPmRvbWFpbi0+cGNpX2xvY2spOw0KICAg
ICB9DQogDQogICAgIHJldHVybiBmYWxzZTsNCkBAIC0yMDEsOCArMjAzLDIwIEBAIHN0YXRpYyBp
bnQgX19pbml0IGFwcGx5X21hcChzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGNpX2Rl
diAqcGRldiwNCiAgICAgc3RydWN0IG1hcF9kYXRhIGRhdGEgPSB7IC5kID0gZCwgLm1hcCA9IHRy
dWUgfTsNCiAgICAgaW50IHJjOw0KIA0KKyAgICBBU1NFUlQocndfaXNfbG9ja2VkKCZkLT5wY2lf
bG9jaykpOw0KKw0KICAgICB3aGlsZSAoIChyYyA9IHJhbmdlc2V0X2NvbnN1bWVfcmFuZ2VzKG1l
bSwgbWFwX3JhbmdlLCAmZGF0YSkpID09IC1FUkVTVEFSVCApDQorICAgIHsNCisgICAgICAgIC8q
DQorICAgICAgICAgKiBJdCdzIHNhZmUgdG8gZHJvcCBhbmQgcmVhY3F1aXJlIHRoZSBsb2NrIGlu
IHRoaXMgY29udGV4dA0KKyAgICAgICAgICogd2l0aG91dCByaXNraW5nIHBkZXYgZGlzYXBwZWFy
aW5nIGJlY2F1c2UgZGV2aWNlcyBjYW5ub3QgYmUNCisgICAgICAgICAqIHJlbW92ZWQgdW50aWwg
dGhlIGluaXRpYWwgZG9tYWluIGhhcyBiZWVuIHN0YXJ0ZWQuDQorICAgICAgICAgKi8NCisgICAg
ICAgIHJlYWRfdW5sb2NrKCZkLT5wY2lfbG9jayk7DQogICAgICAgICBwcm9jZXNzX3BlbmRpbmdf
c29mdGlycXMoKTsNCisgICAgICAgIHJlYWRfbG9jaygmZC0+cGNpX2xvY2spOw0KKyAgICB9DQor
DQogICAgIHJhbmdlc2V0X2Rlc3Ryb3kobWVtKTsNCiAgICAgaWYgKCAhcmMgKQ0KICAgICAgICAg
bW9kaWZ5X2RlY29kaW5nKHBkZXYsIGNtZCwgZmFsc2UpOw0KQEAgLTI0Myw2ICsyNTcsOCBAQCBz
dGF0aWMgaW50IG1vZGlmeV9iYXJzKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1aW50MTZf
dCBjbWQsIGJvb2wgcm9tX29ubHkpDQogICAgIHVuc2lnbmVkIGludCBpOw0KICAgICBpbnQgcmM7
DQogDQorICAgIEFTU0VSVChyd19pc193cml0ZV9sb2NrZWQoJnBkZXYtPmRvbWFpbi0+cGNpX2xv
Y2spKTsNCisNCiAgICAgaWYgKCAhbWVtICkNCiAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KIA0K
QEAgLTUyMiw2ICs1MzgsOCBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGluaXRfYmFycyhzdHJ1Y3Qg
cGNpX2RldiAqcGRldikNCiAgICAgc3RydWN0IHZwY2lfYmFyICpiYXJzID0gaGVhZGVyLT5iYXJz
Ow0KICAgICBpbnQgcmM7DQogDQorICAgIEFTU0VSVChyd19pc19sb2NrZWQoJnBkZXYtPmRvbWFp
bi0+cGNpX2xvY2spKTsNCisNCiAgICAgc3dpdGNoICggcGNpX2NvbmZfcmVhZDgocGRldi0+c2Jk
ZiwgUENJX0hFQURFUl9UWVBFKSAmIDB4N2YgKQ0KICAgICB7DQogICAgIGNhc2UgUENJX0hFQURF
Ul9UWVBFX05PUk1BTDoNCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL21zaS5jIGIveGVu
L2RyaXZlcnMvdnBjaS9tc2kuYw0KaW5kZXggOGYyYjU5ZTYxYS4uYTA3MzNiYjJjYiAxMDA2NDQN
Ci0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvbXNpLmMNCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNp
LmMNCkBAIC0yNjUsNyArMjY1LDcgQEAgUkVHSVNURVJfVlBDSV9JTklUKGluaXRfbXNpLCBWUENJ
X1BSSU9SSVRZX0xPVyk7DQogDQogdm9pZCB2cGNpX2R1bXBfbXNpKHZvaWQpDQogew0KLSAgICBj
b25zdCBzdHJ1Y3QgZG9tYWluICpkOw0KKyAgICBzdHJ1Y3QgZG9tYWluICpkOw0KIA0KICAgICBy
Y3VfcmVhZF9sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7DQogICAgIGZvcl9lYWNoX2RvbWFpbiAo
IGQgKQ0KQEAgLTI3Nyw2ICsyNzcsOSBAQCB2b2lkIHZwY2lfZHVtcF9tc2kodm9pZCkNCiANCiAg
ICAgICAgIHByaW50aygidlBDSSBNU0kvTVNJLVggZCVkXG4iLCBkLT5kb21haW5faWQpOw0KIA0K
KyAgICAgICAgaWYgKCAhcmVhZF90cnlsb2NrKCZkLT5wY2lfbG9jaykgKQ0KKyAgICAgICAgICAg
IGNvbnRpbnVlOw0KKw0KICAgICAgICAgZm9yX2VhY2hfcGRldiAoIGQsIHBkZXYgKQ0KICAgICAg
ICAgew0KICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cGNpX21zaSAqbXNpOw0KQEAgLTMxOCwx
NSArMzIxLDI4IEBAIHZvaWQgdnBjaV9kdW1wX21zaSh2b2lkKQ0KICAgICAgICAgICAgICAgICAg
ICAgICogaG9sZGluZyB0aGUgbG9jay4NCiAgICAgICAgICAgICAgICAgICAgICAqLw0KICAgICAg
ICAgICAgICAgICAgICAgcHJpbnRrKCJ1bmFibGUgdG8gcHJpbnQgYWxsIE1TSS1YIGVudHJpZXM6
ICVkXG4iLCByYyk7DQotICAgICAgICAgICAgICAgICAgICBwcm9jZXNzX3BlbmRpbmdfc29mdGly
cXMoKTsNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgICAgICAgICAg
ICAgZ290byBwZGV2X2RvbmU7DQogICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICB9DQog
DQogICAgICAgICAgICAgc3Bpbl91bmxvY2soJnBkZXYtPnZwY2ktPmxvY2spOw0KKyBwZGV2X2Rv
bmU6DQorICAgICAgICAgICAgLyoNCisgICAgICAgICAgICAgKiBVbmxvY2sgbG9jayB0byBwcm9j
ZXNzIHBlbmRpbmcgc29mdGlycXMuIFRoaXMgaXMNCisgICAgICAgICAgICAgKiBwb3RlbnRpYWxs
eSB1bnNhZmUsIGFzIGQtPnBkZXZfbGlzdCBjYW4gYmUgY2hhbmdlZCBpbg0KKyAgICAgICAgICAg
ICAqIG1lYW50aW1lLg0KKyAgICAgICAgICAgICAqLw0KKyAgICAgICAgICAgIHJlYWRfdW5sb2Nr
KCZkLT5wY2lfbG9jayk7DQogICAgICAgICAgICAgcHJvY2Vzc19wZW5kaW5nX3NvZnRpcnFzKCk7
DQorICAgICAgICAgICAgaWYgKCAhcmVhZF90cnlsb2NrKCZkLT5wY2lfbG9jaykgKQ0KKyAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgcHJpbnRrKCJ1bmFibGUgdG8gYWNjZXNzIG90aGVy
IGRldmljZXMgZm9yIHRoZSBkb21haW5cbiIpOw0KKyAgICAgICAgICAgICAgICBnb3RvIGRvbWFp
bl9kb25lOw0KKyAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCisgICAgICAgIHJlYWRfdW5sb2Nr
KCZkLT5wY2lfbG9jayk7DQogICAgIH0NCisgZG9tYWluX2RvbmU6DQogICAgIHJjdV9yZWFkX3Vu
bG9jaygmZG9tbGlzdF9yZWFkX2xvY2spOw0KIH0NCiANCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy
cy92cGNpL21zaXguYyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNpeC5jDQppbmRleCBmOWRmNTA2ZjI5
Li5mOGM1YmQzOTNiIDEwMDY0NA0KLS0tIGEveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMNCisrKyBi
L3hlbi9kcml2ZXJzL3ZwY2kvbXNpeC5jDQpAQCAtMTQ3LDYgKzE0Nyw4IEBAIHN0YXRpYyBzdHJ1
Y3QgdnBjaV9tc2l4ICptc2l4X2ZpbmQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
bG9uZyBhZGRyKQ0KIHsNCiAgICAgc3RydWN0IHZwY2lfbXNpeCAqbXNpeDsNCiANCisgICAgQVNT
RVJUKHJ3X2lzX2xvY2tlZCgmZC0+cGNpX2xvY2spKTsNCisNCiAgICAgbGlzdF9mb3JfZWFjaF9l
bnRyeSAoIG1zaXgsICZkLT5hcmNoLmh2bS5tc2l4X3RhYmxlcywgbmV4dCApDQogICAgIHsNCiAg
ICAgICAgIGNvbnN0IHN0cnVjdCB2cGNpX2JhciAqYmFycyA9IG1zaXgtPnBkZXYtPnZwY2ktPmhl
YWRlci5iYXJzOw0KQEAgLTE2Myw3ICsxNjUsMTMgQEAgc3RhdGljIHN0cnVjdCB2cGNpX21zaXgg
Km1zaXhfZmluZChjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGFkZHIpDQog
DQogc3RhdGljIGludCBjZl9jaGVjayBtc2l4X2FjY2VwdChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu
ZWQgbG9uZyBhZGRyKQ0KIHsNCi0gICAgcmV0dXJuICEhbXNpeF9maW5kKHYtPmRvbWFpbiwgYWRk
cik7DQorICAgIGludCByYzsNCisNCisgICAgcmVhZF9sb2NrKCZ2LT5kb21haW4tPnBjaV9sb2Nr
KTsNCisgICAgcmMgPSAhIW1zaXhfZmluZCh2LT5kb21haW4sIGFkZHIpOw0KKyAgICByZWFkX3Vu
bG9jaygmdi0+ZG9tYWluLT5wY2lfbG9jayk7DQorDQorICAgIHJldHVybiByYzsNCiB9DQogDQog
c3RhdGljIGJvb2wgYWNjZXNzX2FsbG93ZWQoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVu
c2lnbmVkIGxvbmcgYWRkciwNCkBAIC0zNTgsMjEgKzM2NiwzNSBAQCBzdGF0aWMgaW50IGFkamFj
ZW50X3JlYWQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHZwY2lfbXNpeCAq
bXNpeCwNCiBzdGF0aWMgaW50IGNmX2NoZWNrIG1zaXhfcmVhZCgNCiAgICAgc3RydWN0IHZjcHUg
KnYsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgbG9uZyAq
ZGF0YSkNCiB7DQotICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47DQotICAg
IHN0cnVjdCB2cGNpX21zaXggKm1zaXggPSBtc2l4X2ZpbmQoZCwgYWRkcik7DQorICAgIHN0cnVj
dCBkb21haW4gKmQgPSB2LT5kb21haW47DQorICAgIHN0cnVjdCB2cGNpX21zaXggKm1zaXg7DQog
ICAgIGNvbnN0IHN0cnVjdCB2cGNpX21zaXhfZW50cnkgKmVudHJ5Ow0KICAgICB1bnNpZ25lZCBp
bnQgb2Zmc2V0Ow0KIA0KICAgICAqZGF0YSA9IH4wdWw7DQogDQorICAgIHJlYWRfbG9jaygmZC0+
cGNpX2xvY2spOw0KKw0KKyAgICBtc2l4ID0gbXNpeF9maW5kKGQsIGFkZHIpOw0KICAgICBpZiAo
ICFtc2l4ICkNCisgICAgew0KKyAgICAgICAgcmVhZF91bmxvY2soJmQtPnBjaV9sb2NrKTsNCiAg
ICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZOw0KKyAgICB9DQogDQogICAgIGlmICggYWRqYWNl
bnRfaGFuZGxlKG1zaXgsIGFkZHIpICkNCi0gICAgICAgIHJldHVybiBhZGphY2VudF9yZWFkKGQs
IG1zaXgsIGFkZHIsIGxlbiwgZGF0YSk7DQorICAgIHsNCisgICAgICAgIGludCByYyA9IGFkamFj
ZW50X3JlYWQoZCwgbXNpeCwgYWRkciwgbGVuLCBkYXRhKTsNCisNCisgICAgICAgIHJlYWRfdW5s
b2NrKCZkLT5wY2lfbG9jayk7DQorICAgICAgICByZXR1cm4gcmM7DQorICAgIH0NCiANCiAgICAg
aWYgKCAhYWNjZXNzX2FsbG93ZWQobXNpeC0+cGRldiwgYWRkciwgbGVuKSApDQorICAgIHsNCisg
ICAgICAgIHJlYWRfdW5sb2NrKCZkLT5wY2lfbG9jayk7DQogICAgICAgICByZXR1cm4gWDg2RU1V
TF9PS0FZOw0KKyAgICB9DQogDQogICAgIHNwaW5fbG9jaygmbXNpeC0+cGRldi0+dnBjaS0+bG9j
ayk7DQogICAgIGVudHJ5ID0gZ2V0X2VudHJ5KG1zaXgsIGFkZHIpOw0KQEAgLTQwNCw2ICs0MjYs
NyBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIG1zaXhfcmVhZCgNCiAgICAgICAgIGJyZWFrOw0KICAg
ICB9DQogICAgIHNwaW5fdW5sb2NrKCZtc2l4LT5wZGV2LT52cGNpLT5sb2NrKTsNCisgICAgcmVh
ZF91bmxvY2soJmQtPnBjaV9sb2NrKTsNCiANCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsNCiB9
DQpAQCAtNDkxLDE5ICs1MTQsMzMgQEAgc3RhdGljIGludCBhZGphY2VudF93cml0ZShjb25zdCBz
dHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgdnBjaV9tc2l4ICptc2l4LA0KIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgbXNpeF93cml0ZSgNCiAgICAgc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxv
bmcgYWRkciwgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgbG9uZyBkYXRhKQ0KIHsNCi0gICAg
Y29uc3Qgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsNCi0gICAgc3RydWN0IHZwY2lfbXNp
eCAqbXNpeCA9IG1zaXhfZmluZChkLCBhZGRyKTsNCisgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYt
PmRvbWFpbjsNCisgICAgc3RydWN0IHZwY2lfbXNpeCAqbXNpeDsNCiAgICAgc3RydWN0IHZwY2lf
bXNpeF9lbnRyeSAqZW50cnk7DQogICAgIHVuc2lnbmVkIGludCBvZmZzZXQ7DQogDQorICAgIHJl
YWRfbG9jaygmZC0+cGNpX2xvY2spOw0KKw0KKyAgICBtc2l4ID0gbXNpeF9maW5kKGQsIGFkZHIp
Ow0KICAgICBpZiAoICFtc2l4ICkNCisgICAgew0KKyAgICAgICAgcmVhZF91bmxvY2soJmQtPnBj
aV9sb2NrKTsNCiAgICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZOw0KKyAgICB9DQogDQogICAg
IGlmICggYWRqYWNlbnRfaGFuZGxlKG1zaXgsIGFkZHIpICkNCi0gICAgICAgIHJldHVybiBhZGph
Y2VudF93cml0ZShkLCBtc2l4LCBhZGRyLCBsZW4sIGRhdGEpOw0KKyAgICB7DQorICAgICAgICBp
bnQgcmMgPSBhZGphY2VudF93cml0ZShkLCBtc2l4LCBhZGRyLCBsZW4sIGRhdGEpOw0KKw0KKyAg
ICAgICAgcmVhZF91bmxvY2soJmQtPnBjaV9sb2NrKTsNCisgICAgICAgIHJldHVybiByYzsNCisg
ICAgfQ0KIA0KICAgICBpZiAoICFhY2Nlc3NfYWxsb3dlZChtc2l4LT5wZGV2LCBhZGRyLCBsZW4p
ICkNCisgICAgew0KKyAgICAgICAgcmVhZF91bmxvY2soJmQtPnBjaV9sb2NrKTsNCiAgICAgICAg
IHJldHVybiBYODZFTVVMX09LQVk7DQorICAgIH0NCiANCiAgICAgc3Bpbl9sb2NrKCZtc2l4LT5w
ZGV2LT52cGNpLT5sb2NrKTsNCiAgICAgZW50cnkgPSBnZXRfZW50cnkobXNpeCwgYWRkcik7DQpA
QCAtNTc5LDYgKzYxNiw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbXNpeF93cml0ZSgNCiAgICAg
ICAgIGJyZWFrOw0KICAgICB9DQogICAgIHNwaW5fdW5sb2NrKCZtc2l4LT5wZGV2LT52cGNpLT5s
b2NrKTsNCisgICAgcmVhZF91bmxvY2soJmQtPnBjaV9sb2NrKTsNCiANCiAgICAgcmV0dXJuIFg4
NkVNVUxfT0tBWTsNCiB9DQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgYi94
ZW4vZHJpdmVycy92cGNpL3ZwY2kuYw0KaW5kZXggZDczZmE3NjMwMi4uMzRmZmYyZWYyZCAxMDA2
NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQorKysgYi94ZW4vZHJpdmVycy92cGNp
L3ZwY2kuYw0KQEAgLTM4LDYgKzM4LDggQEAgZXh0ZXJuIHZwY2lfcmVnaXN0ZXJfaW5pdF90ICpj
b25zdCBfX2VuZF92cGNpX2FycmF5W107DQogDQogdm9pZCB2cGNpX3JlbW92ZV9kZXZpY2Uoc3Ry
dWN0IHBjaV9kZXYgKnBkZXYpDQogew0KKyAgICBBU1NFUlQocndfaXNfd3JpdGVfbG9ja2VkKCZw
ZGV2LT5kb21haW4tPnBjaV9sb2NrKSk7DQorDQogICAgIGlmICggIWhhc192cGNpKHBkZXYtPmRv
bWFpbikgfHwgIXBkZXYtPnZwY2kgKQ0KICAgICAgICAgcmV0dXJuOw0KIA0KQEAgLTczLDYgKzc1
LDggQEAgaW50IHZwY2lfYWRkX2hhbmRsZXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KICAgICBj
b25zdCB1bnNpZ25lZCBsb25nICpyb19tYXA7DQogICAgIGludCByYyA9IDA7DQogDQorICAgIEFT
U0VSVChyd19pc193cml0ZV9sb2NrZWQoJnBkZXYtPmRvbWFpbi0+cGNpX2xvY2spKTsNCisNCiAg
ICAgaWYgKCAhaGFzX3ZwY2kocGRldi0+ZG9tYWluKSApDQogICAgICAgICByZXR1cm4gMDsNCiAN
CkBAIC0zMjYsMTEgKzMzMCwxMiBAQCBzdGF0aWMgdWludDMyX3QgbWVyZ2VfcmVzdWx0KHVpbnQz
Ml90IGRhdGEsIHVpbnQzMl90IG5ldywgdW5zaWduZWQgaW50IHNpemUsDQogDQogdWludDMyX3Qg
dnBjaV9yZWFkKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50
IHNpemUpDQogew0KLSAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWlu
Ow0KKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KICAgICBjb25zdCBz
dHJ1Y3QgcGNpX2RldiAqcGRldjsNCiAgICAgY29uc3Qgc3RydWN0IHZwY2lfcmVnaXN0ZXIgKnI7
DQogICAgIHVuc2lnbmVkIGludCBkYXRhX29mZnNldCA9IDA7DQogICAgIHVpbnQzMl90IGRhdGEg
PSB+KHVpbnQzMl90KTA7DQorICAgIHJ3bG9ja190ICpsb2NrOw0KIA0KICAgICBpZiAoICFzaXpl
ICkNCiAgICAgew0KQEAgLTM0MiwxMSArMzQ3LDIxIEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lf
c2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KICAgICAg
KiBGaW5kIHRoZSBQQ0kgZGV2IG1hdGNoaW5nIHRoZSBhZGRyZXNzLCB3aGljaCBmb3IgaHdkb20g
YWxzbyByZXF1aXJlcw0KICAgICAgKiBjb25zdWx0aW5nIERvbVhFTi4gIFBhc3N0aHJvdWdoIGV2
ZXJ5dGhpbmcgdGhhdCdzIG5vdCB0cmFwcGVkLg0KICAgICAgKi8NCisgICAgbG9jayA9ICZkLT5w
Y2lfbG9jazsNCisgICAgcmVhZF9sb2NrKGxvY2spOw0KICAgICBwZGV2ID0gcGNpX2dldF9wZGV2
KGQsIHNiZGYpOw0KICAgICBpZiAoICFwZGV2ICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApDQor
ICAgIHsNCisgICAgICAgIHJlYWRfdW5sb2NrKGxvY2spOw0KKyAgICAgICAgbG9jayA9ICZkb21f
eGVuLT5wY2lfbG9jazsNCisgICAgICAgIHJlYWRfbG9jayhsb2NrKTsNCiAgICAgICAgIHBkZXYg
PSBwY2lfZ2V0X3BkZXYoZG9tX3hlbiwgc2JkZik7DQorICAgIH0NCiAgICAgaWYgKCAhcGRldiB8
fCAhcGRldi0+dnBjaSApDQorICAgIHsNCisgICAgICAgIHJlYWRfdW5sb2NrKGxvY2spOw0KICAg
ICAgICAgcmV0dXJuIHZwY2lfcmVhZF9odyhzYmRmLCByZWcsIHNpemUpOw0KKyAgICB9DQogDQog
ICAgIHNwaW5fbG9jaygmcGRldi0+dnBjaS0+bG9jayk7DQogDQpAQCAtMzkyLDYgKzQwNyw3IEBA
IHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVu
c2lnbmVkIGludCBzaXplKQ0KICAgICAgICAgQVNTRVJUKGRhdGFfb2Zmc2V0IDwgc2l6ZSk7DQog
ICAgIH0NCiAgICAgc3Bpbl91bmxvY2soJnBkZXYtPnZwY2ktPmxvY2spOw0KKyAgICByZWFkX3Vu
bG9jayhsb2NrKTsNCiANCiAgICAgaWYgKCBkYXRhX29mZnNldCA8IHNpemUgKQ0KICAgICB7DQpA
QCAtNDMxLDEwICs0NDcsMjMgQEAgc3RhdGljIHZvaWQgdnBjaV93cml0ZV9oZWxwZXIoY29uc3Qg
c3RydWN0IHBjaV9kZXYgKnBkZXYsDQogICAgICAgICAgICAgIHItPnByaXZhdGUpOw0KIH0NCiAN
CisvKiBIZWxwZXIgZnVuY3Rpb24gdG8gdW5sb2NrIGxvY2tzIHRha2VuIGJ5IHZwY2lfd3JpdGUg
aW4gcHJvcGVyIG9yZGVyICovDQorc3RhdGljIHZvaWQgcmVsZWFzZV9kb21haW5fbG9ja3Moc3Ry
dWN0IGRvbWFpbiAqZCkNCit7DQorICAgIEFTU0VSVChyd19pc193cml0ZV9sb2NrZWQoJmQtPnBj
aV9sb2NrKSk7DQorDQorICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpICkNCisgICAgew0K
KyAgICAgICAgQVNTRVJUKHJ3X2lzX3dyaXRlX2xvY2tlZCgmZG9tX3hlbi0+cGNpX2xvY2spKTsN
CisgICAgICAgIHdyaXRlX3VubG9jaygmZG9tX3hlbi0+cGNpX2xvY2spOw0KKyAgICB9DQorICAg
IHdyaXRlX3VubG9jaygmZC0+cGNpX2xvY2spOw0KK30NCisNCiB2b2lkIHZwY2lfd3JpdGUocGNp
X3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSwNCiAgICAg
ICAgICAgICAgICAgdWludDMyX3QgZGF0YSkNCiB7DQotICAgIGNvbnN0IHN0cnVjdCBkb21haW4g
KmQgPSBjdXJyZW50LT5kb21haW47DQorICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5k
b21haW47DQogICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0KICAgICBjb25zdCBzdHJ1
Y3QgdnBjaV9yZWdpc3RlciAqcjsNCiAgICAgdW5zaWduZWQgaW50IGRhdGFfb2Zmc2V0ID0gMDsN
CkBAIC00NDcsOCArNDc2LDE2IEBAIHZvaWQgdnBjaV93cml0ZShwY2lfc2JkZl90IHNiZGYsIHVu
c2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCBzaXplLA0KIA0KICAgICAvKg0KICAgICAgKiBG
aW5kIHRoZSBQQ0kgZGV2IG1hdGNoaW5nIHRoZSBhZGRyZXNzLCB3aGljaCBmb3IgaHdkb20gYWxz
byByZXF1aXJlcw0KLSAgICAgKiBjb25zdWx0aW5nIERvbVhFTi4gIFBhc3N0aHJvdWdoIGV2ZXJ5
dGhpbmcgdGhhdCdzIG5vdCB0cmFwcGVkLg0KKyAgICAgKiBjb25zdWx0aW5nIERvbVhFTi4gUGFz
c3Rocm91Z2ggZXZlcnl0aGluZyB0aGF0J3Mgbm90IHRyYXBwZWQuDQorICAgICAqIElmIHRoaXMg
aXMgaHdkb20sIHdlIG5lZWQgdG8gaG9sZCBsb2NrcyBmb3IgYm90aCBkb21haW4gaW4gY2FzZSBp
Zg0KKyAgICAgKiBtb2RpZnlfYmFycygpIGlzIGNhbGxlZA0KICAgICAgKi8NCisgICAgd3JpdGVf
bG9jaygmZC0+cGNpX2xvY2spOw0KKw0KKyAgICAvKiBkb21feGVuLT5wY2lfbG9jayBhbHdheXMg
c2hvdWxkIGJlIHRha2VuIHNlY29uZCB0byBwcmV2ZW50IGRlYWRsb2NrICovDQorICAgIGlmICgg
aXNfaGFyZHdhcmVfZG9tYWluKGQpICkNCisgICAgICAgIHdyaXRlX2xvY2soJmRvbV94ZW4tPnBj
aV9sb2NrKTsNCisNCiAgICAgcGRldiA9IHBjaV9nZXRfcGRldihkLCBzYmRmKTsNCiAgICAgaWYg
KCAhcGRldiAmJiBpc19oYXJkd2FyZV9kb21haW4oZCkgKQ0KICAgICAgICAgcGRldiA9IHBjaV9n
ZXRfcGRldihkb21feGVuLCBzYmRmKTsNCkBAIC00NTksNiArNDk2LDggQEAgdm9pZCB2cGNpX3dy
aXRlKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHNpemUs
DQogDQogICAgICAgICBpZiAoICFyb19tYXAgfHwgIXRlc3RfYml0KHNiZGYuYmRmLCByb19tYXAp
ICkNCiAgICAgICAgICAgICB2cGNpX3dyaXRlX2h3KHNiZGYsIHJlZywgc2l6ZSwgZGF0YSk7DQor
DQorICAgICAgICByZWxlYXNlX2RvbWFpbl9sb2NrcyhkKTsNCiAgICAgICAgIHJldHVybjsNCiAg
ICAgfQ0KIA0KQEAgLTQ5OCw2ICs1MzcsNyBAQCB2b2lkIHZwY2lfd3JpdGUocGNpX3NiZGZfdCBz
YmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSwNCiAgICAgICAgIEFTU0VS
VChkYXRhX29mZnNldCA8IHNpemUpOw0KICAgICB9DQogICAgIHNwaW5fdW5sb2NrKCZwZGV2LT52
cGNpLT5sb2NrKTsNCisgICAgcmVsZWFzZV9kb21haW5fbG9ja3MoZCk7DQogDQogICAgIGlmICgg
ZGF0YV9vZmZzZXQgPCBzaXplICkNCiAgICAgICAgIC8qIFRhaWxpbmcgZ2FwLCB3cml0ZSB0aGUg
cmVtYWluaW5nLiAqLw0KLS0gDQoyLjQxLjANCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592509.925240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb804-0006nl-DO; Tue, 29 Aug 2023 23:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592509.925240; Tue, 29 Aug 2023 23: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 1qb804-0006nB-7v; Tue, 29 Aug 2023 23:19:56 +0000
Received: by outflank-mailman (input) for mailman id 592509;
 Tue, 29 Aug 2023 23: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb803-0006kQ-EA
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:55 +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 8e3a94bf-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:19:52 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9i021983; Tue, 29 Aug 2023 23:19:50 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:50 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:44 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23: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: 8e3a94bf-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B4d+f4pv70rXV2sw928uvv07hADPv1MUOhzWAB1MNwYbqKoyCLC3iIn+IQ3gFjEV8S8aSMV2UjgD0M5pgUq07Wkom8VK3iNM+p4gkiKGvLqI7CaM8CQ87O2+V1y7P5HSczFLNUTxKj3UxuKBCbJIz9B/Be+YETf/2v1djj988jn0IRyr8/eT1GohhFuDHQtHGkpgO8RyD1yWl+SXRnKuabWoeu/86xvWxL2c5eYat17+7Y8A6Iha5au+GEYa5heljSXgAjU3gt9sR/zovieOMeiv25eBWECF41Lf9QCxSYTxuulfXc2KCTHZQ7duInlbyDSweXR2PLKiBxQFlfpfRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N2ERcj6JUMizs9Szx0x2ffT7vSpYcqMvosqrwubMiSw=;
 b=I3CG+YRWH+GFCXOjVWR5Vg72nYWBzGZMC8NaNMBzwB6RHcFaRmK3gyhpezHNnZ2C8uN4+o1Dat51/SOZnO4I1ymKnhECg2x8CNmM/aY9Ogjhh1XHB3RFO5T4zduAPatn2Rt+rrritzw0I+qm/SlqzrfHif4/BcBmWu//gmKgcPf2//IPxu5y1y7Pbc0elHynSJS4hPV62ELtmamzG4Da+1xq8PzdYRD3hbcim6lR0GpWs251H02EVvwRIe6qo1zyk5cIi7MGe0bRgIjqXkwhq1iZa5BbS1aaV7bSsUcpxjY9bwRtiw8gyAFf0TQRk91dydmQQt3+rYBSpTjZYW971w==
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=N2ERcj6JUMizs9Szx0x2ffT7vSpYcqMvosqrwubMiSw=;
 b=GnDZx+c94Y9G2T4CTrSVpsuEGF1HqqXFMbBF/J3NSvSdZmAAKR7WrHIlb7zAWyccCFaMtGSMbmaAjI81I+bH0FHstNaftvLt+C3MhlhKI0OHDX+jJPoOnp3nd4PQgV0Cbs7Uk0buOgMgIvD+VeM4xhZyDfshhzyD9VtuiTj9VGfGndWVeUWamc9WlPUcl0jyObgkxR/khD7MM0rv6BzDfSHwqmVdGvdkvFN+6QRIbw1ggfzZPPdg64oOdFT90/WwrTJ8KpIXU3egldsWMcDvFj2mOZCR6cBFN00ae3dq9cfzRGzzFQHC/Wd3hcsvEFmJSfCAz7ShS72RZkDmruLZXg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: [PATCH v9 05/16] vpci/header: rework exit path in init_bars
Thread-Topic: [PATCH v9 05/16] vpci/header: rework exit path in init_bars
Thread-Index: AQHZ2s9KQBAEWRsQM0+8e3gDHK2mZA==
Date: Tue, 29 Aug 2023 23:19:43 +0000
Message-ID: <20230829231912.4091958-6-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 342a1b83-df3f-48ba-e858-08dba8e66df6
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: 
 Fdb6/HI8nrT3tUV5/f0SskdHhznmf7e6jDU+2B89BajbLy2lE+lOaSBOmdJnJh6RUrp5qorP+o1adyUOPrPuST1wpAW9TzoU2Rp43pMJ9tzy/54X1GcVirDYbCVT3Vx3XZDboB7IJeqr1597tR8icC/sZTOlyaZSHWozuC3VTe+0H5ZdC+gkChBcRfCxC3WuLMgxN+nWM76yuYk5EBHXNdbHTKbT7rDTzxgJHb2TJlrVqQ0xCuhxjw6egfq0PCI44wPn0LCCeNofl4Nk2kOZcfh6st4NfiO8HI620EiVpUYtGYVg6CLFLnN1T3EHUSverJzhegRqErrFBZ7FaCgG6M+Ua1KhNWBY0BcNJHQDuMPrmm1Enb8+81rsWob4EO3wh8ZY8KSGfP2kuwgbE5LoJFvv7ArxPAECie4nOV/S01j7e837avsrFDguw8/xMu//MFSwCLQnHZbf6A+Z4w51GFWqHNTuKWA7OnnUUnKVqzmuJxbftWbjjCaXYekucCRD7gWbLe1jI2mE/h9V+jhPUXRHxyXVJB9YPUilAmtVAJBcKjrK6f1YbRzPJRb7ABU+0J5lXSwUYMzEkmYQUA9hxxD6it0GBUzFnx+7CQpaEDn2F2jueqcB7pCOshJozPtk
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ZmdQOU5LeVJTQTlsOElCTExzZ3BuZkZKYVQ1L3VzdHRDUU1sUFhSS1UzM0tM?=
 =?utf-8?B?cXZ2UXlJSHV6ZkRHdVlKajNSL1V1Rjl2YnRISHVTM29QbmQ4WHplTFpzcWRv?=
 =?utf-8?B?V0NzMzV1RjZkN1k3VGhWMVREMXphNzBpaFNtNkVRUHdXYmZ5alJaeGE1MWZw?=
 =?utf-8?B?QUR1Vmk2dEk5ZW9Tc1hnTWVkR1VSWlNBbXZYQ1R1SjQ5WmQ0aThlczNzdTNa?=
 =?utf-8?B?VGROWjlEYW55eG1tZUtmRXMrZldtaEpQMlBYSjNsREZPODc4cW9Fd25LaTRE?=
 =?utf-8?B?bGlFck9tbXJQNTJmNTVQTW9TS2s1eXhLVnFvTE9SZW5BR2Y3UkU3UGtpN21m?=
 =?utf-8?B?SlJtMXYwenEwRmR2eTFDVXdaQ1dGdFdGc2ptSHVhZm4rbFZHQkNEVHFtUk14?=
 =?utf-8?B?QUJEelJBN2NQT1h3UWZxbFdqUEdYa29MQk5qam40UDk2M1dmSDgycGxEUTVl?=
 =?utf-8?B?Q1V5ZE5HWHVEUHRveDAzQzJKazZSVFF5SVBRYmRrcXlIUzhZYzJ3aERWRUZ2?=
 =?utf-8?B?NndaNlVqa3F3dGxqY014RFJHQUxPSHFDNzYraEpZbDhqWkNJQUNxYXA2UmJt?=
 =?utf-8?B?d29oN293czlzbW9rUXVHcCtsbnpFRE1FUC9vMEJYT2RHZUhlbngyOWFSa0E2?=
 =?utf-8?B?K3FrbFUra2xLcHJuamhtNjFlZTMwanhKcHZjSHk4V0JKWnJaRlhTdHpNeWk2?=
 =?utf-8?B?YmhYWjBmcFpHbUpkdGtqKzVrVXpRdG9naFhneDhQY2ZkdmtvYmZKd2I4MmxI?=
 =?utf-8?B?QWdPL0J1VFEwY0l0UnJUdWk3Wm0wemhkSjduLzBwMXY3dG54anE3V204YWov?=
 =?utf-8?B?dDNCRi9qbGFUMm9mZjZvMGZKV0J0WEdZbU82S2xYQ0J3dG5JbUFHYzB5L2Vv?=
 =?utf-8?B?eWVpNHRPN1hWd2haWnFBRlVvczlqcjBSUEt5Vmd4QStReGhxMTg1VlZKRFhO?=
 =?utf-8?B?V0ZYQll4YUhMYVB0SW81ZGhFbFMxamw0dm1YUndNTDhYekIzT1lHakh3NGVK?=
 =?utf-8?B?MktVNG1pUW5DK3VtTW93dHl1VkE2elFWeFZEeC9Xb3lvN1RkaE1PNis1ZDZt?=
 =?utf-8?B?T1U2QVg1eEdzZjF6Sm5vU3RiWWU4V3Q2SzZjTlVyS1pwRTV4YVVBUkI2Q1dh?=
 =?utf-8?B?MGpxWmhXVGhLTzUxZlhsV2tCSlZsakJtZWNlbjMxYjljQVk1NkJ5Y2k3cjl4?=
 =?utf-8?B?U3B5SnZvRyt4L0UzWlR1YnpNUGpxVG5RZTgxeDR1bGRWTWc3b29VczFGRERJ?=
 =?utf-8?B?VTZVWnlJT3BPVzhVYU9oamZOcjFzKzR3cW1GWDRpNjhMNU5zdTNobjg3aTRG?=
 =?utf-8?B?NkFBTDlTcENEWmlDeDFiYTZ2VjdBeWE5SXliZmRTdVFnU0pkbm9PazM0THd2?=
 =?utf-8?B?ZU9uZlQvTHNtRmVYZWhxbkx2b1Fad3dYRjJCZVdzS0JXWDM3aWhRbVdMM2h0?=
 =?utf-8?B?cXF5QnRvbUU2cG1kMTZXNDFzbVVGN1BWUmNsRWRnZ3Ayb1dBTDY5WlZyM3k3?=
 =?utf-8?B?ZjlKQXd2dDRZUnowRVhVcUpFNnRyZVh0MkR0NllNWUthTGZ0b2l1Vk40QTBk?=
 =?utf-8?B?NkZYZ2ZydFhTb2oyVE01THU2bEFQWFlJdFhxWlgyYUlBb1RsZkw0YzVCWVFQ?=
 =?utf-8?B?UXE3YmNsL2ZMS1FwVzlyK1FlK3ptMDU2YUZFVTU4SEMydHZvQ2cxa3BZTEtI?=
 =?utf-8?B?V0dQZHBnWTgwRy94eEJwWmx2cnZjVEp6akk3SktLamF0VE9McDJpL3pQQmhY?=
 =?utf-8?B?UmFrZ0xjZkwvVEhBZkJWcUdsdkNObG13NU84Y0J2ME5zL0FTNDRsZ2U5aUxh?=
 =?utf-8?B?LzVWS0xmb2dTK2ExQ0Rod1ViSHNWd3lmWWdONUJXb0w3UTlHQ2pxYjFSK2tj?=
 =?utf-8?B?ajJRVW1keTFlMkxjeUVRTSt6dk1EWVdWTFpVN2NWYmdFemxJcUczSGthYWYx?=
 =?utf-8?B?aEJyK0JYc2h6bnFKdm5Cd3Jyam9xTm40aUJndHVZcXJrZFU1NnhZVXpEdVVl?=
 =?utf-8?B?L0pSWE9vNVBhWmlUT1VXdGM0ZmVWM05IQk9QTmszQnNFYTBkQ1pxaExRR2Rq?=
 =?utf-8?B?MXdVS3B0OWs4ZmFxSXZaTHh5RlZkRnIvS1Q4dDN4RnZ5MFRzeXRRVVBiQmFi?=
 =?utf-8?B?ZE1FOUtpenFMUkJnZDA1RTEwZEZuNGVWcXArSHFMaEI2empsN1RFRmVRVHBH?=
 =?utf-8?B?Ymc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <482FCAA8E5EBBC409D3C030B985467DC@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 342a1b83-df3f-48ba-e858-08dba8e66df6
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:43.4011
 (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: g5LzW0cjsghHCCxmKErmsNXkcP8/ruZmWQPdPdYXJzaeM9hbTJXs0+VLNzvIIeTTmqMOTybsnKdp7r6zVc474E4iJLcLiygE51ZioFHnon8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: cFxyDfDyErvBYbpIwdkUT0NTCeuXyww6
X-Proofpoint-GUID: cFxyDfDyErvBYbpIwdkUT0NTCeuXyww6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=943
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

SW50cm9kdWNlICJmYWlsIiBsYWJlbCBpbiBpbml0X2JhcnMoKSBmdW5jdGlvbiB0byBoYXZlIHRo
ZSBjZW50cmFsaXplZA0KZXJyb3IgcmV0dXJuIHBhdGguIFRoaXMgaXMgdGhlIHByZS1yZXF1aXJl
bWVudCBmb3IgdGhlIGZ1dHVyZSBjaGFuZ2VzDQppbiB0aGlzIGZ1bmN0aW9uLg0KDQpUaGlzIHBh
dGNoIGRvZXMgbm90IGludHJvZHVjZSBmdW5jdGlvbmFsIGNoYW5nZXMuDQoNClNpZ25lZC1vZmYt
Ynk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4NClN1Z2dl
c3RlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQotLQ0KU2lu
Y2Ugdjk6DQotIE5ldyBpbiB2OQ0KLS0tDQogeGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyB8IDIw
ICsrKysrKystLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwg
MTMgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5j
IGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KaW5kZXggM2I3OTdkZjgyZi4uZTU4YmJkZjY4
ZCAxMDA2NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMNCisrKyBiL3hlbi9kcml2
ZXJzL3ZwY2kvaGVhZGVyLmMNCkBAIC01ODEsMTEgKzU4MSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hl
Y2sgaW5pdF9iYXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KICAgICAgICAgICAgIHJjID0gdnBj
aV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwgdnBjaV9od19yZWFkMzIsIGJhcl93cml0ZSwgcmVn
LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgJmJhcnNbaV0pOw0KICAg
ICAgICAgICAgIGlmICggcmMgKQ0KLSAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgcGNp
X2NvbmZfd3JpdGUxNihwZGV2LT5zYmRmLCBQQ0lfQ09NTUFORCwgY21kKTsNCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAgICAgIH0NCi0NCisgICAgICAgICAgICAgICAgZ290
byBmYWlsOw0KICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgfQ0KIA0KQEAgLTYwNCwx
MCArNjAwLDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbml0X2JhcnMoc3RydWN0IHBjaV9kZXYg
KnBkZXYpDQogICAgICAgICByYyA9IHBjaV9zaXplX21lbV9iYXIocGRldi0+c2JkZiwgcmVnLCAm
YWRkciwgJnNpemUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGkgPT0gbnVtX2Jh
cnMgLSAxKSA/IFBDSV9CQVJfTEFTVCA6IDApOw0KICAgICAgICAgaWYgKCByYyA8IDAgKQ0KLSAg
ICAgICAgew0KLSAgICAgICAgICAgIHBjaV9jb25mX3dyaXRlMTYocGRldi0+c2JkZiwgUENJX0NP
TU1BTkQsIGNtZCk7DQotICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAgfQ0KKyAgICAg
ICAgICAgIGdvdG8gZmFpbDsNCiANCiAgICAgICAgIGlmICggc2l6ZSA9PSAwICkNCiAgICAgICAg
IHsNCkBAIC02MjIsMTAgKzYxNSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgaW5pdF9iYXJzKHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQ0KICAgICAgICAgcmMgPSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2
LT52cGNpLCB2cGNpX2h3X3JlYWQzMiwgYmFyX3dyaXRlLCByZWcsIDQsDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZiYXJzW2ldKTsNCiAgICAgICAgIGlmICggcmMgKQ0KLSAgICAg
ICAgew0KLSAgICAgICAgICAgIHBjaV9jb25mX3dyaXRlMTYocGRldi0+c2JkZiwgUENJX0NPTU1B
TkQsIGNtZCk7DQotICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAgfQ0KKyAgICAgICAg
ICAgIGdvdG8gZmFpbDsNCiAgICAgfQ0KIA0KICAgICAvKiBDaGVjayBleHBhbnNpb24gUk9NLiAq
Lw0KQEAgLTY0Nyw2ICs2MzcsMTAgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbml0X2JhcnMoc3Ry
dWN0IHBjaV9kZXYgKnBkZXYpDQogICAgIH0NCiANCiAgICAgcmV0dXJuIChjbWQgJiBQQ0lfQ09N
TUFORF9NRU1PUlkpID8gbW9kaWZ5X2JhcnMocGRldiwgY21kLCBmYWxzZSkgOiAwOw0KKw0KKyBm
YWlsOg0KKyAgICBwY2lfY29uZl93cml0ZTE2KHBkZXYtPnNiZGYsIFBDSV9DT01NQU5ELCBjbWQp
Ow0KKyAgICByZXR1cm4gcmM7DQogfQ0KIFJFR0lTVEVSX1ZQQ0lfSU5JVChpbml0X2JhcnMsIFZQ
Q0lfUFJJT1JJVFlfTUlERExFKTsNCiANCi0tIA0KMi40MS4wDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592517.925324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80D-0000rk-Kn; Tue, 29 Aug 2023 23:20:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592517.925324; Tue, 29 Aug 2023 23:20:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80D-0000rG-Fd; Tue, 29 Aug 2023 23:20:05 +0000
Received: by outflank-mailman (input) for mailman id 592517;
 Tue, 29 Aug 2023 23: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80B-0007EX-F9
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:03 +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 93f9ed1d-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:20:02 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDecm030691; Tue, 29 Aug 2023 23:19:52 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:52 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 93f9ed1d-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Icmb26UvD1z+KWlMUVemiuBpEtTYvaSNQp3kEVorW1qDpwi8uAjXlH5RUgTvJsIiXvI/kyfrax+hO9o3MxQyoGKMi5eEMInmiYt6VQctTAZ1X5U0KO6YQnigHIjTA41jP8cbpIYhxvp67zi4BySnfI8Aj3F4ZIVUWa5Bl2uw41rXZYRwOvgqDvpE/kTKX9KnaMFEzF3ydTpKpxeEGsUDW16pr+GRikRlgYrv7Z2Nbz7rPytGSPzZkGsMFb06jkW2dD3AWcMFLNhFBacwBuULat1zCwA2ZhW29yBom9eCIiwJcB0es3AgVrTC/VEZ0nIy/++LWUBD0PwelNIepABoJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jjS0nFuqFuSdf3gFcW5nJsYmqeDtBC3mtmNRbovyY70=;
 b=Ziex8bShAWZYMFItYPTilQGCa0ODoINaSB0WQnA64C700hGGjnM6tYOHb3u9n24Z60FIZStAnRTeicxc+eQksfsxuXBngCQU0iwS6mOV8MZgtr8/vEZnLrCJQtpKM09rAiDeK3ShuVmMtqYwNx3u07lQWIKxhs+dWlLDeTEVEiE/u7E9d4MvyzExYDHnnXtuU8uQA+hX9p1Z1WMMdkukc0SIbD9i9BgA4t8M9T8p+jbjxWY/Z4K2mRGljwaKRCzAqHFBftgf8spxl6znICtv5SqTvWwyDmhpY9z8gAW3Ktu0ZyKEAOAus45fA0WA00nRqMNNAfvGxvfzFp30EOS8Lw==
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=jjS0nFuqFuSdf3gFcW5nJsYmqeDtBC3mtmNRbovyY70=;
 b=f/b2FGT43zNP2gXa1t+OzlJMFdUSSxaT5mhTmllAggFLCnYZh45BHPzK9A2W7TwQ/uBGCPNgVsi7XkBn9MTSImZL4roYTfQzL/OvoY5ZibzS54GFhQDXpKmi8JIAtPXziWLvnRLw5jM6Ie3BY/7rNcurcfmPmjdnhUAtYmjzuZLxGAoUR7nzn+nEnzp6rwJOdYSJJc1NIUHM758jtJrdSr2Rpof97+6ZaY3KNNJjz/Co/JPlrgjha6VfuYBRoc/m1ESZpV3cqpMW8sc/CdJfEwpb2selKXACnTlUEPjm71zlk/y68lvDuLa5NTkU/8DrNvO6CMpEYGmUOmMz8MMakw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [PATCH v9 07/16] rangeset: add RANGESETF_no_print flag
Thread-Topic: [PATCH v9 07/16] rangeset: add RANGESETF_no_print flag
Thread-Index: AQHZ2s9LxSREsqGkPUWRRkHWekAfhA==
Date: Tue, 29 Aug 2023 23:19:43 +0000
Message-ID: <20230829231912.4091958-8-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: adf7c655-f039-41a8-0595-08dba8e66e99
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: 
 KgVX92iPgIByspsHr9hFTisn4c7Z+2+BcslYMswnbeedK4t2VW+WLsl94qjgdyw1RY32ecQCd3YAW8rPnZ7oA7CEupq4WsYSwNjkXcgNtpCAQbkWL+jDnKB1kIvjm9R3sy1wenCzxMUgfG0ERllcazBf4oT47zR5KFO25Fz9vazPx3z3GDFK8cnvEuY/FcOWOV/1C0eod9Cnf+9It0LHlzStke7Sl3dhbNWZQjD5RrE2KdRuVNL3VjgANehQmrGMIeCbCBdxIuFcLtZ8V6Lck/scNu+2pKapQXlXJkSc7RhhIv/L1H7jq6/12iFIXPXbkiIuxOGlRo7OZamAw8FNC2uPRVsa9MtO4ijXW8hsCavGgAwLue4lqQSpHgBOpdtv4C7Hods5VLrU8ADex7FhDU+a37iYdoH2bpAxC3XxtYcmXTTOKMtcU1KINOVQpiP2SL/GQhXiJkv0Ssb6L4F4ijZ1SiA7NzUM626BsuWQElD4buQl9lqpwC9ja/a8tq11y9b6ILT2fmB/01NVfmDKll6QVLrhZohQU6jSKsroaRhkl8WQVvg8zeirxc8eA8cg/z2LIWJcY9as4sxB9uSDFyKM0SKE46zwgyv8J7XycNZX0zLP62uLdEZIBswE5Jao
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?2/qme8rgsetRaGl4VbBjMRw8phHCEvzFd1ZSJMX/I3gsCQvCU+Yu3Vmp/x?=
 =?iso-8859-1?Q?h800mVJXBignmogGzFyG1uxrbk6j7nKMItX2KQ2YnyxlsQD1ASkTWCaoar?=
 =?iso-8859-1?Q?HFi/pEGY9wW3XDTHIA/lpJmQNsR6iqngL3Wp3guwyITT+1fvZ6Fm5boMpk?=
 =?iso-8859-1?Q?H9LWDgfUUuNHLgPF9E0WT5FZ4ik3V13CLHkXkfmiyO77eVg7CQw+kcMmMi?=
 =?iso-8859-1?Q?HoRB5dHl0r7v/cOfajFd6QY/QwpV9aVo4Lm1gcYeBL/TX/3jhvmvW0rsdt?=
 =?iso-8859-1?Q?Q62JPBNDSDviVVM0UTtY4iI8pHZIUuFVubJTdrkgktliKbtBgnSv+Ksp9c?=
 =?iso-8859-1?Q?jjhmGYM7sECd3vLgbVbVYa2vb9rBEwfJ4Aj+4OH/ERkJwPlxGZGLfC1bcD?=
 =?iso-8859-1?Q?INLr9w8SluZHEVvqkz9aoZwUJGUGcCbvu6RfbEGizjRe6sLR45DN32EmZv?=
 =?iso-8859-1?Q?s5SuK/lq1IBqf4eiUXn1Wk4/k8UFRHZQovQbr48UM8rtagLh5FC13qLVxU?=
 =?iso-8859-1?Q?SkPYhSpVLHTbJSYYFq5w16aEwY/cEV0ajUQspLoCnjetXClBOdmeWZ8Jci?=
 =?iso-8859-1?Q?HOjDbPg6x+0tYb4+Ld/Y1ntZSH2hux7xU6iIjA9M2W7elbB/YcPeweCZMJ?=
 =?iso-8859-1?Q?sRXCIzcT79Me3dH7eJHWXoJ7nXmslg1L62NpXqmV5KGO6xiPtkVKhdBdES?=
 =?iso-8859-1?Q?tqb21LvTk9YO5mBR1cdyAm18bK7mPL8W/bBws22aeNCnVBvGBKrQtSCZ/V?=
 =?iso-8859-1?Q?uICre19axwz/+cVdD4MQEWrTwKutXwuE0faVdG1AAZhjkGwh8YIY4bTSKG?=
 =?iso-8859-1?Q?5pIpJsFzSa9jv9nt8DKmcIcC+QwUa0tYZi18Bf4WpFHUUV5vKJztM11rQz?=
 =?iso-8859-1?Q?daw7X/yeP8zlyRqeY0uBLTYv5IiLWzUkWZ19/XbRTObYNsuLZnRAUVV5qV?=
 =?iso-8859-1?Q?/TiB7HkOCfabS28iWLpMRd8jjwnoUXSk4kWKO3buSICpWnwsXKydg6YzQg?=
 =?iso-8859-1?Q?tUsWYyNzMRCqK2HkelWpc30AP+CH1eNbg6OKShAhqX/tCUIKO5WKIFzOua?=
 =?iso-8859-1?Q?SzaJORjPcxhObhf1UBHTIm6alYdt40YHOv/VzC2wn+74ggRsvdmXBeuToF?=
 =?iso-8859-1?Q?FgwH1xPvwMij0fyTwvNXxbbnzsXsZPQmdRQpjDwCDMXHrhe2sPnJP4v+33?=
 =?iso-8859-1?Q?tGzax+ecRDkiwqCiYxqQXToWNdRDl4rirO/oDZ4q8V9GuZ6f0FMGJxnWZh?=
 =?iso-8859-1?Q?9PQjh5vmB1/CcxnYjaTn+30sUquLfO+kEVz0l0nXQ9VxrhUPsFYeSXg1DE?=
 =?iso-8859-1?Q?l5FfvLqmSda/G99qDLHr8Xt75MZ56yahT4vDpc/E0V46aBUxEYr4BRloTO?=
 =?iso-8859-1?Q?7eZYHv5P7JdKvMkOljYg9NaHjCdZlo9oefbVKMcBL9RxmRisEFSk8JKlCB?=
 =?iso-8859-1?Q?CIduvpNAyRanSNIdbC6GAbDKJvBXpILvwJIpv5T8Lb4zuGNNMHvnLAsEP+?=
 =?iso-8859-1?Q?GB9zFzCN0cued1/wmUJ5RMFHI1cTBqhLOsS+j/ZT57KY+wWxgxA4QU72Nk?=
 =?iso-8859-1?Q?UvfB2MfoX2Eyd76uximD7ouc0ZkRQBk3XS7LTrSCnf3eATB1BClund35M8?=
 =?iso-8859-1?Q?uPKOiW6aWDAWmDiP7VwvGSth5gTyyfTEJWa5h5eBm8eLPGj5BlvwAzbw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: adf7c655-f039-41a8-0595-08dba8e66e99
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:43.9995
 (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: lHGgbFX6fwHUGgQlP8fjXDF/Xa7c9e2fgZ1sYi6st461q9y+zA+OY1nRTbGijdpyq5dFAqCcmlShldztNfcFs3ILo8Q92rRNr/3FYKTp+rs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: 8qJZuI2FK85W5VOYOAUcscNkg3AgoQFz
X-Proofpoint-GUID: 8qJZuI2FK85W5VOYOAUcscNkg3AgoQFz
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=999 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

There are range sets which should not be printed, so introduce a flag
which allows marking those as such. Implement relevant logic to skip
such entries while printing.

While at it also simplify the definition of the flags by directly
defining those without helpers.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Since v5:
- comment indentation (Jan)
Since v1:
- update BUG_ON with new flag
- simplify the definition of the flags
---
 xen/common/rangeset.c      | 5 ++++-
 xen/include/xen/rangeset.h | 5 +++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index f3baf52ab6..35c3420885 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -433,7 +433,7 @@ struct rangeset *rangeset_new(
     INIT_LIST_HEAD(&r->range_list);
     r->nr_ranges =3D -1;
=20
-    BUG_ON(flags & ~RANGESETF_prettyprint_hex);
+    BUG_ON(flags & ~(RANGESETF_prettyprint_hex | RANGESETF_no_print));
     r->flags =3D flags;
=20
     safe_strcpy(r->name, name ?: "(no name)");
@@ -575,6 +575,9 @@ void rangeset_domain_printk(
=20
     list_for_each_entry ( r, &d->rangesets, rangeset_list )
     {
+        if ( r->flags & RANGESETF_no_print )
+            continue;
+
         printk("    ");
         rangeset_printk(r);
         printk("\n");
diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
index 135f33f606..f7c69394d6 100644
--- a/xen/include/xen/rangeset.h
+++ b/xen/include/xen/rangeset.h
@@ -49,8 +49,9 @@ void rangeset_limit(
=20
 /* Flags for passing to rangeset_new(). */
  /* Pretty-print range limits in hexadecimal. */
-#define _RANGESETF_prettyprint_hex 0
-#define RANGESETF_prettyprint_hex  (1U << _RANGESETF_prettyprint_hex)
+#define RANGESETF_prettyprint_hex   (1U << 0)
+ /* Do not print entries marked with this flag. */
+#define RANGESETF_no_print          (1U << 1)
=20
 bool_t __must_check rangeset_is_empty(
     const struct rangeset *r);
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592512.925269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb808-0007XZ-Do; Tue, 29 Aug 2023 23:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592512.925269; Tue, 29 Aug 2023 23:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb808-0007Wf-8m; Tue, 29 Aug 2023 23:20:00 +0000
Received: by outflank-mailman (input) for mailman id 592512;
 Tue, 29 Aug 2023 23:19: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb806-0007EX-Ou
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:19:58 +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 906de3b4-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:19:56 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9n021983; Tue, 29 Aug 2023 23:19:54 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-9
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:54 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:47 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 906de3b4-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NFNvxgSYc7546OdTijmQX44mWvoH4tcLfFaU9etjqk16saqG/2vvNZuHwPYOFNxVYYZiavhrGkXxfHcHy9C8+xMgyoFoUIs0GmrFJFs4akMsUyjoL/F6BSDYO2R/C0v2ieE2SZA6sNkq0Kue3i1s3ZwcaUxswZPbcwkv/ht7z0ebblhGsA9JEgTIQibsviN7uptXXVcelUqHuKNFW1xhI4yEjRwy/E2GQuGgpiybbMKPAUw+vz245GjFk4uL2a97oHoXf+/Nh1hLGhMyZTjmea0iLtTbi9u5TETjCFgqwt0SvBZWzHOUJJrlvJPhiD0vaNP6iDIEr5pBCzunYR4VvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9RSd6gDogowC6YhVNDeraATH9brdfi3Ahv2ppWZqTGA=;
 b=atcBiMjCfxvymrQ4SJ0twGA54cS7eYzAlura4+BMruMC4SzahHXr/fdCX7aSgfU6NNo9H8R0J8khXoTTqgMbgBig7HojyEjLAM78Yna6hIhv6IEmQT5uXNWSTZqr3n22rxNYPle+Cltp5YIaWiJJG8Y0R0DCkqEzA5K9d/41jY2DlGnfNuo59tT2EmBFFAqHkW45ncO9GNrklrPHrBYZIO5o8D5DoI3FvYmrywwYe2pNZaJmU7/HOkGHC/YBNl+6KRIugZUBN08Y1OrbHUySa7Dwc/9fu53GXQfmRWZ9TCPBbqktSBuUHj8DtaPc/rabrPx1BsQxjkFR1vcUno4JTw==
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=9RSd6gDogowC6YhVNDeraATH9brdfi3Ahv2ppWZqTGA=;
 b=I2jgfL5DnVKAf1ygP4cdznYC0z/K09yDnV7bNh+A/HYc3CTIugtY8EDQzwojAEMr/n9XQVWAeThbpAH37OpxRK7iKjVf2UkR5LM/oMV9yCOv1dGHtKYgoqaVb+mvE5vjeBwuAxnRYSZtCQxycKtODT/aaO3VDDYAiXDXH9vla63VubOMt3hMiidJ8t9uLKpKAt458y/YszA+mN+oHDxrYt7LKEkXslgQn+5/Fwq6qiDBb/YOLBgvl6NNP2bB3Ml1SC1Vbjb/EIFykcZebaZbmZvYL0G04UzZgQkggTiBXOKpmLHX+2+lPEIpW2JbbuOv/sL90lef01kXJMabnsIiHQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 11/16] vpci/header: reset the command register when adding
 devices
Thread-Topic: [PATCH v9 11/16] vpci/header: reset the command register when
 adding devices
Thread-Index: AQHZ2s9MXPBeWfv85UCGprRCw+JOTA==
Date: Tue, 29 Aug 2023 23:19:45 +0000
Message-ID: <20230829231912.4091958-12-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 7fe41a12-c778-4505-0a99-08dba8e66f85
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: 
 Khx25rAAxPb5tewtTg56lJepyiILqmxKrWLWqy1AYR0tEnVJ8xZCAS1jhafIpaREn3Ew5AIlLHe91+AESZf8v4LdHZx97VRUqs39kpyGuEBNvXRjehvU3+ausJWkdHFDYkfjMxLFqiQxkVrGWhjE0BuoyiUmiA1YG6EpXnHG32YBsXNLgbii3orGellZlL6dyrKcV0xzJpalZThVjI/uKfHJPlb8/Th0WQSJiDZZM0fmNsMVWHJ2TCF+IUyb6s+C9jdT950dkYdAOJUu8blbERcNXD6rRfiW8rN1lnRKjXoASp5S2FJLFbDwx5S3mJ+lkGWliRB7D1ury6uTKcxkSErYVagUI9GSJ24HPYpXOm9wa6uKJ09zBYtB512KQcAyoFdS9tNgaYlzzV4WNZKrYpGtoxBNPt43lHE4hEXVoG5idE+o40Voi3XdfKUvOzJjtuI1hjub/JWUaSwvp4GtXUVvuhUzwnwdmax6WUA6snzfsoUIXX/32kpvywTb+K+Vp9ZIzMMeR2yRn1BhHlknQ+eVqLHEhCru8GpaeGeGaWgZBOBmP9G5q1qOmQCpHzu6TJ9kPJKDBFKrWC2nH3BD2qhQVUEMbu6hJZ4KhSfE3+OYJBRo8g2Il3bB2e+WtSU3
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?kKVjg2jz1fMVhMkci3qaTCO5RXnT2hxuIhVQVDTpnRumPOqtHX7kqcRZNz?=
 =?iso-8859-1?Q?4gBLGbNp8yAtUFdIWd7Rg8x8OQBMxrHkYYVR01e9RlSMwMoBFkQZqAW3a1?=
 =?iso-8859-1?Q?P03ycvzU4SAzOf43q+fNaabmA9miI6CAH6SBx3xPyRoSdJ68A/FIbGwfqt?=
 =?iso-8859-1?Q?J/jAqzMg5ujnSz3Y51IJ5l3hmw0+l1onCDwPT63IqEFwRY7wA71aMfy2so?=
 =?iso-8859-1?Q?gGgcnmeyb8LxoyB4xE8pddHkT3IIaLTnHL2TYqTmUwsVgk/Qvaf0/v6clK?=
 =?iso-8859-1?Q?1RgG2VfmXVU9tf0mCGl2EfFlWIWs+tA1TY2GoNHyMiUtdVbzDHL252mlqL?=
 =?iso-8859-1?Q?Ygd4XvikyDNLVG2EgoVrfv7e8ug8XpblP7awshlXY1Fu02gyUaRglYV4qa?=
 =?iso-8859-1?Q?mmXgw2REaGF/m7XKrgF4ocqxRsGfplMk1E8B3XDRhyPPZgE2BtyNWQ4I5q?=
 =?iso-8859-1?Q?/rtze5125XmP9ptNL4M3fu1THndUxBapgUnMFeSOgCmTxnabmZIzyU9au+?=
 =?iso-8859-1?Q?LBvISciGyHLHrZ7GH6tQL3zBhKTHjM4SLR1ZiSQg9TAxhLLvddwlpvYXm3?=
 =?iso-8859-1?Q?4XSStH2KOlEFkLEbewaVBbezTvmKWOUvMOc/KfmO//WS8myBXd9V+ZoAWa?=
 =?iso-8859-1?Q?jw6qOPxB+RLQEoQHNIuUWDvOjONkx9MxSnFG5Hifv8nFR1otuQpk1xGiDI?=
 =?iso-8859-1?Q?RGeHyzRgcpwYr1y9NLtkZvRssXF1VqFqLGilZ9XR0sz9fOWpA4WxY+wwQl?=
 =?iso-8859-1?Q?HVcHSpf45TMMdnlgL/BsEcZmETjG3BlJ4dlTSLPS9hhJ2Mph3RC4kV/1GS?=
 =?iso-8859-1?Q?f73mTCjFZ0aXKKgfUlz/1nUAOkYiz9Lc3U++TolGtIU20uEiohkq4tQy/0?=
 =?iso-8859-1?Q?Uk2a9YtQ1PslPgEp/FKtPjcd1BphV4oZ/ZQH+hMOCbODmvp1fb+B/L5nCW?=
 =?iso-8859-1?Q?1W/Qmn2ViJF2Mp1LgWQNlJ9pqXMzvExY9xshwDfmpGBJzT6kNvYnHm6gM0?=
 =?iso-8859-1?Q?OLHD9O3zJ/GcjuwxLQ6zQCQeTxBjKzh82wJ4DdZlzuGR/ZLpJdFgEkazH6?=
 =?iso-8859-1?Q?ij4jKZqzfX4t5jkhWpRL4o02M26hR/FWWXm9XQkA/nJWpSocqx16CLtiqZ?=
 =?iso-8859-1?Q?CgflUHkNNoOUfgpkPVrX6dCFSlELztZIXUstcH819Tls7Pc9kMvsGnf65+?=
 =?iso-8859-1?Q?yDBi2W/ASMkg36nZYvsAzwesvTWyNObxy3im2u4DRYOqSvAI90QNwifIIf?=
 =?iso-8859-1?Q?s4PL6DPK3qyd5o9rcIoqm9rnoXUGSw5D+M3IleAVfSMQ+A/PoSYG/bKEP/?=
 =?iso-8859-1?Q?+QmGVG/CGKApwUxI0d/4X7x/JVMLp6mkrpt3jofixwWOUVJ0/YrQCUbxAL?=
 =?iso-8859-1?Q?HZEjf6mz6E/XaPZUT8aGHUMpe9Z93zB+X///CyNlC/uIozEVTygdUIut83?=
 =?iso-8859-1?Q?aL68tYSg9j5EPk3CQzWC2eVNAdAfuNLUoWEM1soyrXVsMoVhsxMxIKdyW6?=
 =?iso-8859-1?Q?ddeZMpzQ5WJ+peu3qXzlgrN9u0bQw8yauh5Mc5JPP7W59bmbX6FI0WEWIX?=
 =?iso-8859-1?Q?JfBnKRbXxsWNfSvM05o33+q79+VNK0j035b8MOqguIUO/EBTp3/W90qLOZ?=
 =?iso-8859-1?Q?J8q49OuKkVonlqV0pjFvTQajEqVSBd+bgEEyNC4hy/HUZqreFwKN5gdg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fe41a12-c778-4505-0a99-08dba8e66f85
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:45.7988
 (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: bZCU0z54kkWGdCZrSNmr86fffomPYbPYVxkN/dRFcei4yxubJXWfxl/MwisPI2rSQVtN3JntZKSrwBx8d1ekNhoH5fjzOo4W9eN4zVcHkwM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: MQgBqpkbI7iOVGkXuVffYd7iKFg8BBkZ
X-Proofpoint-GUID: MQgBqpkbI7iOVGkXuVffYd7iKFg8BBkZ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Reset the command register when assigning a PCI device to a guest:
according to the PCI spec the PCI_COMMAND register is typically all 0's
after reset, but this might not be true for the guest as it needs
to respect host's settings.
For that reason, do not write 0 to the PCI_COMMAND register directly,
but go through the corresponding emulation layer (cmd_write), which
will take care about the actual bits written. Also, honor value of
PCI_COMMAND_VGA_PALETTE value, which is set by firmware.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
Since v9:
- Honor PCI_COMMAND_VGA_PALETTE bit
Since v6:
- use cmd_write directly without introducing emulate_cmd_reg
- update commit message with more description on all 0's in PCI_COMMAND
Since v5:
- updated commit message
Since v1:
 - do not write 0 to the command register, but respect host settings.
---
 xen/drivers/vpci/header.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index e351db4620..1d243eeaf9 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -762,6 +762,12 @@ static int cf_check init_bars(struct pci_dev *pdev)
         return -EOPNOTSUPP;
     }
=20
+    /* Reset the command register for guests. We want to preserve only
+     * PCI_COMMAND_VGA_PALETTE as it is configured by firmware */
+    cmd =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
+    if ( !is_hwdom )
+        cmd_write(pdev, PCI_COMMAND, cmd & PCI_COMMAND_VGA_PALETTE, header=
);
+
     /* Setup a handler for the command register. */
     if ( is_hwdom )
         rc =3D vpci_add_register(pdev->vpci, vpci_hw_read16, cmd_write, PC=
I_COMMAND,
@@ -776,7 +782,6 @@ static int cf_check init_bars(struct pci_dev *pdev)
         return 0;
=20
     /* Disable memory decoding before sizing. */
-    cmd =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
     if ( cmd & PCI_COMMAND_MEMORY )
         pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMOR=
Y);
=20
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592518.925328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80E-0000zU-C0; Tue, 29 Aug 2023 23:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592518.925328; Tue, 29 Aug 2023 23:20: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 1qb80E-0000yp-4O; Tue, 29 Aug 2023 23:20:06 +0000
Received: by outflank-mailman (input) for mailman id 592518;
 Tue, 29 Aug 2023 23:20: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=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80C-0007EX-0X
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20: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 94564d5e-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:20:03 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDecp030691; Tue, 29 Aug 2023 23:19:55 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:55 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94564d5e-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NlAOaI2TKockDGVytM7PMphHd0wtYNZgqK38rsmUqoyh0IJtwb5WEPwML9CfBwjGbW3XimHjHpJCeOf1ECdcpbP28P7kKqvYYfc8YrAq6uqypi6rvMQrKAMFqzkoVZ8fDHw2scx5QrFIn88nAl2esMUhvdBfHPPjqcstMNHCOnDIL1qzU4FWzc7+S2M/b2G5v/m2vJWLfIp77gQ+JrQ0av/mS9VWNY5CNlZEmzP1769SwNaXAwFhyyLNNR7gFPCWhB3AcBMCEn8UkVO6AP6WLzhEKpJfqxA9pV2F7gqJNtRsXg6eCJ+7sOk62eaujIcEfExr08BT0Nd44Sxi8VD+Kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FTPldD6+q4SM1yUJw2n6MueChQx31PeEONHRMx/GHEQ=;
 b=ns9wTHOEpWCTuKo7mx/SJ1d8NZS7aF2vHjxBZVQsOnN+Sll7V8kL7hxM2aJXpobdWlLvhpy+MZOdgc/3Ge7xWiqmTJtV5uXuKKBGzyKf+ZPW+CU/m8iY04+M4cgewOuWfGKqXhw/h7CZNxd5n5/V7BT5N0R9O1xsHZ1ubjDQAsY3Q76D8gLaM48GCqionVMEE9IvC/cUBzk9qzvqUBKoM9adl2E+fzPZe/dikwBTyCfi5MtEfaUgTepztBJow4ND3V++S/zQCLldUltdNtX2VvrPMke+Ul77SSKX5UyOKtI4xGN/cDzcqs3F932Q9YED8IsauTmvn9MGMGUNGwH/BA==
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=FTPldD6+q4SM1yUJw2n6MueChQx31PeEONHRMx/GHEQ=;
 b=niyaL3Mm9g02eJ93dAFOT0n7cMFgB1HEU6HsPb0Ovi+KiJmUtagKkeAknmz+i1Y1LoD414vhCSSA7hy7GZp5notBv6zqcuK31+9K3cDAxk2L4pHjJQtNY6rWUPRQqVnYrU68uPEot+CtF9dCQCIdtPqy9FW6JTTuWRGG4WsUW2PwEQIC53HVqjwP0zdtG9PHabwOUfIyIgac/ZARzmSinEP8216AXCD16rM/6vTJopR4GYWnp0KzvTAH0s3PA9LIu/p0FnYhYhz6h1x7x5AEkvAExiUcS5GR1oZuad1QL63aXuTwlf/MpBthSamPJo0fFWZfRQY/CFgKRFEmLoOe3Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Julien Grall <jgrall@amazon.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>
Subject: [PATCH v9 14/16] xen/arm: account IO handlers for emulated PCI MSI-X
Thread-Topic: [PATCH v9 14/16] xen/arm: account IO handlers for emulated PCI
 MSI-X
Thread-Index: AQHZ2s9M8h1s1RnmZka4sXTrGcJzww==
Date: Tue, 29 Aug 2023 23:19:46 +0000
Message-ID: <20230829231912.4091958-15-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 2f46da6d-bf4b-43bd-3c25-08dba8e6701b
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: 
 vcrXzueR9fOn2HtPu0TeyLXrBJ1CVdpSJRw0S46uirXAsUrg5ToNthym6dxsqcwkt19UyPtQRIqSTn5H8LntgzRU+LPw2HLjXZ7aTbVdlNQh7+edaza4Ywab6sUr6263DWvNxtboGSwIcakp1P/u6InjA++I9785zhtd6OIEz4Y7sVkwFMy3uZhy5FMLnbrSM0Novj7LYoPG55WaJlg2gpcBI9hb8vfIT4azXE7DoHO6bPchBbD67RUvImymi8bQxjiUBiaXe/SOYxIH5df9T17oN4LykHGvxF9DwdOaUUlMmhUF1H5o74vijjHLPjhYH7SBWMm8/j2ZWdm8RgQotfHI0kk30OJrLbS72XwvguTL5IFsL0gOieP7TLH5cqYgPJNgz3gkhxsSyluAqa8N9CIqpK+ZyIkd/58dNmGHtrBVIgPJ6g+eIwNd/XpJIoE61nrJBQ888d3Hd77ujqHezyLScqWrWRMSnUuxGTuYpaMMvXICsEFFcUUHl7nc/SY/8wi6EwaTuJq1XR3LYMw88hKMlpySOA8eEHWTbvtu32btU/948BDnNPtDe6KKctCnnCsYKBucK43rB4/XMhHENNqjlyYnPm7KOb4/DUljSU866fS1ANau9HTjL4Y55JFU
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(15650500001)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001)(66899024);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?RsL5X7O99kteXP6EECEDnlW60FL3SNm1mj6HNqYnF00Ww6isuVQV0LLW/J?=
 =?iso-8859-1?Q?GjupCT65AoodBPoqdGzIMZ8HZ/BQ8d01Ufxv0FYv8BNU0Q9kzzizGpaRTH?=
 =?iso-8859-1?Q?rEZGHgCWQCEdYLkxPnfEBiIC07qOvEzEc5tG/uH4IVT+Hj6KHu8W1SQOgy?=
 =?iso-8859-1?Q?W5hU3DREOYhlqjoQzaRJXtWYmnNSFq2uoq/sTk67GsDh+RDPNxvC6ul9N8?=
 =?iso-8859-1?Q?90K3WvDM16Ba6ROy/oQTzABVLhkj5KAItgF4PafaY5qUF6Vm24lfZ2VOZp?=
 =?iso-8859-1?Q?tMSjRIii1Cg+bcowDfZLpvW9J2bvsMbBhIfDHSeJRv1FM5C44N0KGQ50np?=
 =?iso-8859-1?Q?NUGS44dTMqBTlaqLkmjTF2XNZqbuwwcGxdchJk/B0olzkIGr+3TcfeCQBC?=
 =?iso-8859-1?Q?+JSH5Q9aUvIJ0wl7/Arwk9hlVoio/2y4N02bn12920lIq0wGoa88yk1p+y?=
 =?iso-8859-1?Q?IDVK0hrh6e0X7KWyLfPUPCm72c1F5yqJKUZ91GjLYRoe7z6ifIdbiB0UT/?=
 =?iso-8859-1?Q?UVreew+JYcKBdDoazQ8WfXSb6sX6h5dEMxFlyB2nVacksPEJV7MEFrkh9Q?=
 =?iso-8859-1?Q?FO3K/sTglkt9uud1ZmviaTr6EScM0ziqxFqhiRwl1gmcJFNpx66UWcEBhp?=
 =?iso-8859-1?Q?nfVVM4ERPHvfLlLh43GGw4nYN8PITPQN77VKJFQr2aKQ862K34yggVtfPa?=
 =?iso-8859-1?Q?uC1Sknyut/gH1mluNvioLG4zF5hEGTrHY1YeuVDg6VSJqCnx/YMApzljBY?=
 =?iso-8859-1?Q?rk+y0r7PoNwwMWVbBAzPF+wNPzDrsOu9keO6K4gZeAqWiQEG+/yEc+K4vS?=
 =?iso-8859-1?Q?8CCIcte2WiJdjTmTXUHKBKvPkUoppg5Vk9x+GZYVMiG9NnMcd5wDyBAXFd?=
 =?iso-8859-1?Q?2WCreSNWCsACff6+w3Yqeby8aLac28Wyp4xnV2qz5dWiJHnvPRtOD+t3O+?=
 =?iso-8859-1?Q?hXtXezxXCwmUARS7R+aO4IOVZZtx7AhbOd+v28fyE3Bu5l1UnOlO4lvuH7?=
 =?iso-8859-1?Q?wJ4PaTv9s/QKfmDg46ikQLRvZTEa+avjf9mwe6YXCmfHTj4a1IH13/KmMC?=
 =?iso-8859-1?Q?IpzpXpA832lFg0LxcxM67On7K6jrbUyptd2Wg15e9DB+8xBrAVGmpMpt3p?=
 =?iso-8859-1?Q?XnYfyHmaYxSKde62aLLHeaq2vnfAN48G3r8dn00Z0RX9CxiLORsYyaPr/t?=
 =?iso-8859-1?Q?T63eOloB/NigQSPYFuW4YgCuZ3oIYayKg/BvwWDKGkRwGmcMdhD88/3T1b?=
 =?iso-8859-1?Q?dBzZKWyO3/574ZGfG4A2Vh3FwZdlnfqQsCAzTy+ZB1rv638zVM2sAnu86b?=
 =?iso-8859-1?Q?ApHajLIt3NYeYeeYgVCE3ggd3RJOs4BwaK/EG01N8iNX4ZRsm4eGM54N5U?=
 =?iso-8859-1?Q?EQSzuX5P2VJtXYRr7BcvF1pwoapnpdUHEvcrguq6EaIiH2ZWFhGF8TPu8v?=
 =?iso-8859-1?Q?dmiCBh/WAoz+AiquEInftaqcQrJb/cKvRNiPcBbssPpSv8254xdfQnmZlK?=
 =?iso-8859-1?Q?NsAbIDiujjjfaBW5MsToyMg6eGc1EdI16RJMfMO434CI4C4aBSCN6RD5Qy?=
 =?iso-8859-1?Q?oBFs+amkEIL3eG155skkTmRdMrCHCmvYPdXEIi0b0pUJPcBRqmBQcpVZXn?=
 =?iso-8859-1?Q?b+LU1iFKOQhCUnBjy7FxI5/2eFV1LRx/soF5FudRORfii+fy2pV3EQrw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f46da6d-bf4b-43bd-3c25-08dba8e6701b
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:46.8628
 (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: sMG2FR4uIZERRiJySHDNJpikulw1DnF346PNfhvEzjFdHy5ze9RzgtzDAqBCbzatb4RsYazeggkoRPI0XaqfXG/MvUUgtrRymmpWT4+oTHA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: uSonXfIrHQm1ofF3MJmApvPSbfwKS93t
X-Proofpoint-GUID: uSonXfIrHQm1ofF3MJmApvPSbfwKS93t
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=449 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1011 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

At the moment, we always allocate an extra 16 slots for IO handlers
(see MAX_IO_HANDLER). So while adding IO trap handlers for the emulated
MSI-X registers we need to explicitly tell that we have additional IO
handlers, so those are accounted.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
---
This actually moved here from the part 2 of the prep work for PCI
passthrough on Arm as it seems to be the proper place for it.

Since v5:
- optimize with IS_ENABLED(CONFIG_HAS_PCI_MSI) since VPCI_MAX_VIRT_DEV is
  defined unconditionally
New in v5
---
 xen/arch/arm/vpci.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 58e2a20135..01b50d435e 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -134,6 +134,8 @@ static int vpci_get_num_handlers_cb(struct domain *d,
=20
 unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d)
 {
+    unsigned int count;
+
     if ( !has_vpci(d) )
         return 0;
=20
@@ -154,7 +156,17 @@ unsigned int domain_vpci_get_num_mmio_handlers(struct =
domain *d)
      * For guests each host bridge requires one region to cover the
      * configuration space. At the moment, we only expose a single host br=
idge.
      */
-    return 1;
+    count =3D 1;
+
+    /*
+     * There's a single MSI-X MMIO handler that deals with both PBA
+     * and MSI-X tables per each PCI device being passed through.
+     * Maximum number of emulated virtual devices is VPCI_MAX_VIRT_DEV.
+     */
+    if ( IS_ENABLED(CONFIG_HAS_PCI_MSI) )
+        count +=3D VPCI_MAX_VIRT_DEV;
+
+    return count;
 }
=20
 /*
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592519.925335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80F-00018B-27; Tue, 29 Aug 2023 23:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592519.925335; Tue, 29 Aug 2023 23:20: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 1qb80E-00016J-PB; Tue, 29 Aug 2023 23:20:06 +0000
Received: by outflank-mailman (input) for mailman id 592519;
 Tue, 29 Aug 2023 23:20:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80C-0006kQ-T5
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20: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 939c97f0-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:20:02 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDecl030691; Tue, 29 Aug 2023 23:19:51 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:51 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:44 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23: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: 939c97f0-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hQ5wXgSC1jc1h74EM/5aGLLfDLosKF0g/GeKmNf6VJv6a0VWOCtBOsk9Gcdc/daJIqGKTkpPSjAbhBbyAE2/E1cLGkOx7OkqDKp3ExYOm0co8BWl8IDx3Ztp1Ujs1dl2OAOX+msO7mI3URHMKUxL0DDpyptiq0nZ8KddStUm0xwQ78ToFXhVoeYE0vSvVZUjq90dVORw4PQpwow8MNp9RJle9PrCPSs+Tip84Q8hOel3iE8S5UE86DEfAs2qFrfvwLLEAgHv/t6HGzj7i2BJ9nMe4G4f4DeeGlEzl4CJ3na+H3hosR56EvqPoTal4BZHoT37Zh4gUaP1UVA97iY9pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zqo0lIpyoeqKdrOeyKISSpFZaUk68QMHC1iBCANdCXU=;
 b=ZDGwcHy3wWuCx2U02CGAsS1IGHxgUMtgEaRSfxtoowRKIsJoeSgdpdBLbpUNxLogGRtkHg2I2SYAO1px9uxTW7j3SMW3e2yO/Pi2VXXrKoTVTTm6OTAnttvGhfXt+2d77DEgv/EIKoZTOM+CzkDiXboNqp88Mvg8U6d8kEPL0pdwcS+honJot9r6bAIF+FRnednt6qrjg4ZCnHCs1mHnqNUsfDwVY1v2ydmXbkv55mpiarfVWV8njMtD/K2Tr8rbvTjc905s1DeDxeJnPx0D9l8onss+AXnewTUGGJzlkKVhajkzNAfcDIOgMkm+57ywtPHo+XTIrPbZb44ZZgpRqQ==
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=Zqo0lIpyoeqKdrOeyKISSpFZaUk68QMHC1iBCANdCXU=;
 b=shg+Na9RPMWawWNUvPfvqTOZIIf02DwYdHjtquPDHxHbSW4HGfSRb2qeOuGfMARcYC4uSSWFigTYH4ZVRjhepBKKHRq0Dk4P1l+1GZrTk+gGl1FeL3A70r055600FSwXR5V8iPjx+epHOKD0OdsS/TD9Pw9zINnkamMYrcxrw4daE3psMvhVITOq8jCFA28VQvx7gLKjcVVMLnZ7WUhKB7Qq2CMCDorhzYCuaez4xF1Mj2Om3UGLyxyNDFVXqHu12y2E1hnilr9Ajte870deG0mO9D02qRyshLqq+f7Iycicg+d9tY5yoayI01aJjMgNCTrAz2JggT7cwQi8GucNFA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        Paul Durrant
	<paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 04/16] vpci: add hooks for PCI device assign/de-assign
Thread-Topic: [PATCH v9 04/16] vpci: add hooks for PCI device assign/de-assign
Thread-Index: AQHZ2s9Kc9kNunOnfUurMYypVVbdQw==
Date: Tue, 29 Aug 2023 23:19:43 +0000
Message-ID: <20230829231912.4091958-5-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 81ba55c1-be66-41dd-3a21-08dba8e66dc7
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: 
 El8avuJZNZmNg3xcD1dBgxgN5MFuNoMAfPBWQdGbypZvCKNgmaBFyLJAIcgH/bQZzqg+paXKyKhyDF3PI1Nmx6HeWS98k/Lc8HJEM1g9V+aQtcfWl2pY027b4HdUTgP4r+rL9ZaPtGB8cWgxKCUqn5TNNfpkJFoZNbbX/Nw97ACqvEgZt4IY5gB2hLrqZXiSND1eruG54HWqS48cD7TnOH8CnX6GrojEbpmRLK6SfjkklgS7lu9ZLpc+J5cvJuy+ONV0ZHYVOJo0PP6mbN1Dga0idOd80xV4vKJGnS8JmgyNxIfpnFhQKbVp1iFwezF7z4reYkjrkmSJZkg6h+88qzyRNR/B/y0nG/A5ZCbKb41H4uQjbbXyEsqbLHDEQgNFgY4b3QYz9kP4jL5pnKb2EeufDsEJSkrGYDvg64BomIYk3slE8aLc5DsT3zvXRmEOSjml5GB4jjdOQv4Yx7U4a1XMbWVIhmWKXDb5kKF4vuuBnh/6v9EC+qVJD+0GjGl2mxRrRt1u0AnKislMjAhLFN0qypKCSRpk++m5fhUcK76mfcHTaNUkj2Yi0TieuUAZoaWQj/Iy3T5i1lAXq+bfM1lIDgD5xqXoT42wl0NXAVzXeClZV1ON5CyKQwEw15bF
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(2906002)(6916009)(64756008)(7416002)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?36grGadin6qj2+yeifNDUNPlqt7KRPx6oAFjqqp8dIbqkGX+w4O5N4lBqP?=
 =?iso-8859-1?Q?d34XcWbjMFwsUUR+6bf58fnzQxpWgMyErPicYbA+eywZfYuqItUzVGkSb/?=
 =?iso-8859-1?Q?dKoGrBOgR8G5Yxk7WrMz2oyvaed0xGFase4mbnj6V2JMN1Zvk1aUgf7cVC?=
 =?iso-8859-1?Q?M7RXJOoqrMSvUfdrMse6beRXI1m8jaezMY6S6lzNEHLEI/6fKu3MBy7fw0?=
 =?iso-8859-1?Q?bfhS7DjH6inDAvO8EDEzTsaxuaNH6gaEGZ55Om43i/xw1W4xuLVqwEWNxD?=
 =?iso-8859-1?Q?84RQQ8E22VoqrnzuXnbW49V3XMNQoq/aJ898X+ukPRFS/vpSg5KxVLPMNi?=
 =?iso-8859-1?Q?4cQS+z0jYYRUrzdcWfEh/VlIP3m5kOFBiCtiUl4Ui0ebE8BR6a6Kb1r/o8?=
 =?iso-8859-1?Q?e9tlTpJDQyL56VljSvWvy27J8hFdmFapk2RiYHPYaAUnOohxlY/ITmJeed?=
 =?iso-8859-1?Q?KEZLmxmjGWHTrisUJtRbb/6KET0khlrFiZBEtR+vqMFMXKEFrICXeQoz+b?=
 =?iso-8859-1?Q?U9knEBDkUd1eztVtl+Jt4dHZmU5MWpQIhRk242EPAQWQKSsTuNOoDQ3oqV?=
 =?iso-8859-1?Q?Fzgf6JiYU8+xK7NxNVY/c68okFZ4gtdWDLVOS64f9EMj0W+MfFGKgCxlXQ?=
 =?iso-8859-1?Q?WGK1dADr40mEodgGsCwm8rxJA8JMBcE5R570tT1LJ2Af4XPNc4zpPqtYf1?=
 =?iso-8859-1?Q?shJ/Idu2B5ezTbBgRX0s+1bL9lDeVVBQqRrRw7uz9SKxnG02l7hjxIkNpX?=
 =?iso-8859-1?Q?JFSxq86USPciX0JJ2sRWxxx4GULxXOcVi9gb0j6ajBlfCd55yEY/YrKZdq?=
 =?iso-8859-1?Q?KjbmzxUpQP1Xm/VwA7d2k6xe9itzI3E3peb39eDgxTOV1mxp3zGDwN7Utv?=
 =?iso-8859-1?Q?SQVtU/A85kjWqUDCJkCH56NWcb+FxflN9hWU1UZ9y8aTkn9XcyqKAyDCND?=
 =?iso-8859-1?Q?KIIytFpTIGzVLj8MEMK1rPpCm3/+j1aKf5DWzPLvrurSNVpDi8gZok+QSo?=
 =?iso-8859-1?Q?zd2LXJm8SlTeKWguruUnV1R/tj8Pdw7bMHXv0mcuuC/jsmuJxpAmQbIEqk?=
 =?iso-8859-1?Q?X/fWrR1MDS0m9jZ+tNTcw8U/nE1iQotTYeDALHriZbELgpfvQzco6DamAk?=
 =?iso-8859-1?Q?Z08Svd0lcvwVbqxgRBZKxA/1DU45JZqGBmN1G2OADaykGQq2S0Z1gj3Qko?=
 =?iso-8859-1?Q?DSl5k5WDpPY6XZeEzLnzi6bnJlIUXLZRNRvo16ABiA+wV8AnZ0vGU7m68Z?=
 =?iso-8859-1?Q?yZZBNX2Simvkk3f6BbYnt3vatYO8QGNy01dxRyFuBVr5b2oEBQieIXopBy?=
 =?iso-8859-1?Q?S7iuHsulwK/FlmBNo/YR884/BC8UlxP3lyS73889PejASVODG73zyspaa1?=
 =?iso-8859-1?Q?dnUehFmeKvs6Me2SesY/PRQGXA0QGWM00i/OpbNvlGFd3K2pqRsUUgajxL?=
 =?iso-8859-1?Q?tLFca5dj4xki/EyBG+N4wNzwu5VPkhfBScVNim2AA+wvUwTX+lq+frRI0D?=
 =?iso-8859-1?Q?aG1Yr8HjL32jXUxX27H1+rxt4LsteKZY7EBvzVDvzXNqSa9QhZQYBnZW3D?=
 =?iso-8859-1?Q?vfTQv139e3c1gPigLTKGad+61kWxo05Vt86hsixiof4PrNDDtsyqsC/lYb?=
 =?iso-8859-1?Q?5k1AIL607R3ra5yl3EYoaK3TFlBJaVszFrd62Q1HQCpUhQ9nNx6aeB0A?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81ba55c1-be66-41dd-3a21-08dba8e66dc7
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:43.1413
 (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: Ecf9w9tlXYTNeCIHHZGeQ4LnsaJezbdJtoWgvGLedK45HgRTIrMwaW4HIi0VlLaCpg7r64AN0vMiq7Sbhihbi/7Y/ENPO4va51BdY1GUxDA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: coPqyw37LHHegyecz7JU3l-gbNxPbmBI
X-Proofpoint-GUID: coPqyw37LHHegyecz7JU3l-gbNxPbmBI
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=735 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

When a PCI device gets assigned/de-assigned we need to
initialize/de-initialize vPCI state for the device.

Also, rename vpci_add_handlers() to vpci_assign_device() and
vpci_remove_device() to vpci_deassign_device() to better reflect role
of the functions.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
Since v9:
- removed previous  vpci_[de]assign_device function and renamed
  existing handlers
- dropped attempts to handle errors in assign_device() function
- do not call vpci_assign_device for dom_io
- use d instead of pdev->domain
- use IS_ENABLED macro
Since v8:
- removed vpci_deassign_device
Since v6:
- do not pass struct domain to vpci_{assign|deassign}_device as
  pdev->domain can be used
- do not leave the device assigned (pdev->domain =3D=3D new domain) in case
  vpci_assign_device fails: try to de-assign and if this also fails, then
  crash the domain
Since v5:
- do not split code into run_vpci_init
- do not check for is_system_domain in vpci_{de}assign_device
- do not use vpci_remove_device_handlers_locked and re-allocate
  pdev->vpci completely
- make vpci_deassign_device void
Since v4:
 - de-assign vPCI from the previous domain on device assignment
 - do not remove handlers in vpci_assign_device as those must not
   exist at that point
Since v3:
 - remove toolstack roll-back description from the commit message
   as error are to be handled with proper cleanup in Xen itself
 - remove __must_check
 - remove redundant rc check while assigning devices
 - fix redundant CONFIG_HAS_VPCI check for CONFIG_HAS_VPCI_GUEST_SUPPORT
 - use REGISTER_VPCI_INIT machinery to run required steps on device
   init/assign: add run_vpci_init helper
Since v2:
- define CONFIG_HAS_VPCI_GUEST_SUPPORT so dead code is not compiled
  for x86
Since v1:
 - constify struct pci_dev where possible
 - do not open code is_system_domain()
 - extended the commit message
---
 xen/drivers/Kconfig           |  4 ++++
 xen/drivers/passthrough/pci.c | 31 +++++++++++++++++++++++++++----
 xen/drivers/vpci/header.c     |  2 +-
 xen/drivers/vpci/vpci.c       |  6 +++---
 xen/include/xen/vpci.h        | 10 +++++-----
 5 files changed, 40 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/Kconfig b/xen/drivers/Kconfig
index db94393f47..780490cf8e 100644
--- a/xen/drivers/Kconfig
+++ b/xen/drivers/Kconfig
@@ -15,4 +15,8 @@ source "drivers/video/Kconfig"
 config HAS_VPCI
 	bool
=20
+config HAS_VPCI_GUEST_SUPPORT
+	bool
+	depends on HAS_VPCI
+
 endmenu
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 4f18293900..64281f2d5e 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -757,7 +757,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
          * For devices not discovered by Xen during boot, add vPCI handler=
s
          * when Dom0 first informs Xen about such devices.
          */
-        ret =3D vpci_add_handlers(pdev);
+        ret =3D vpci_assign_device(pdev);
         if ( ret )
         {
             printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
@@ -771,7 +771,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         if ( ret )
         {
             write_lock(&hardware_domain->pci_lock);
-            vpci_remove_device(pdev);
+            vpci_deassign_device(pdev);
             list_del(&pdev->domain_list);
             write_unlock(&hardware_domain->pci_lock);
             pdev->domain =3D NULL;
@@ -819,7 +819,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus =3D=3D bus && pdev->devfn =3D=3D devfn )
         {
-            vpci_remove_device(pdev);
+            vpci_deassign_device(pdev);
             pci_cleanup_msi(pdev);
             ret =3D iommu_remove_device(pdev);
             if ( pdev->domain )
@@ -877,6 +877,13 @@ static int deassign_device(struct domain *d, uint16_t =
seg, uint8_t bus,
             goto out;
     }
=20
+    if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )
+    {
+        write_lock(&d->pci_lock);
+        vpci_deassign_device(pdev);
+        write_unlock(&d->pci_lock);
+    }
+
     devfn =3D pdev->devfn;
     ret =3D iommu_call(hd->platform_ops, reassign_device, d, target, devfn=
,
                      pci_to_dev(pdev));
@@ -1147,7 +1154,7 @@ static void __hwdom_init setup_one_hwdom_device(const=
 struct setup_hwdom *ctxt,
               PCI_SLOT(devfn) =3D=3D PCI_SLOT(pdev->devfn) );
=20
     write_lock(&ctxt->d->pci_lock);
-    err =3D vpci_add_handlers(pdev);
+    err =3D vpci_assign_device(pdev);
     write_unlock(&ctxt->d->pci_lock);
     if ( err )
         printk(XENLOG_ERR "setup of vPCI for d%d failed: %d\n",
@@ -1481,6 +1488,13 @@ static int assign_device(struct domain *d, u16 seg, =
u8 bus, u8 devfn, u32 flag)
     if ( pdev->broken && d !=3D hardware_domain && d !=3D dom_io )
         goto done;
=20
+    if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )
+    {
+        write_lock(&pdev->domain->pci_lock);
+        vpci_deassign_device(pdev);
+        write_unlock(&pdev->domain->pci_lock);
+    }
+
     rc =3D pdev_msix_assign(d, pdev);
     if ( rc )
         goto done;
@@ -1506,6 +1520,15 @@ static int assign_device(struct domain *d, u16 seg, =
u8 bus, u8 devfn, u32 flag)
         rc =3D iommu_call(hd->platform_ops, assign_device, d, devfn,
                         pci_to_dev(pdev), flag);
     }
+    if ( rc )
+        goto done;
+
+    if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) && d !=3D dom_io)
+    {
+        write_lock(&d->pci_lock);
+        rc =3D vpci_assign_device(pdev);
+        write_unlock(&d->pci_lock);
+    }
=20
  done:
     if ( rc )
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 177a6b57a5..3b797df82f 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -190,7 +190,7 @@ bool vpci_process_pending(struct vcpu *v)
              * killed in order to avoid leaking stale p2m mappings on
              * failure.
              */
-            vpci_remove_device(v->vpci.pdev);
+            vpci_deassign_device(v->vpci.pdev);
         write_unlock(&v->domain->pci_lock);
     }
=20
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index cb45904114..135d390218 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -36,7 +36,7 @@ extern vpci_register_init_t *const __start_vpci_array[];
 extern vpci_register_init_t *const __end_vpci_array[];
 #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
=20
-void vpci_remove_device(struct pci_dev *pdev)
+void vpci_deassign_device(struct pci_dev *pdev)
 {
     ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
=20
@@ -69,7 +69,7 @@ void vpci_remove_device(struct pci_dev *pdev)
     pdev->vpci =3D NULL;
 }
=20
-int vpci_add_handlers(struct pci_dev *pdev)
+int vpci_assign_device(struct pci_dev *pdev)
 {
     unsigned int i;
     const unsigned long *ro_map;
@@ -103,7 +103,7 @@ int vpci_add_handlers(struct pci_dev *pdev)
     }
=20
     if ( rc )
-        vpci_remove_device(pdev);
+        vpci_deassign_device(pdev);
=20
     return rc;
 }
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 0b8a2a3c74..2a0ae34500 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -25,11 +25,11 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
   static vpci_register_init_t *const x##_entry  \
                __used_section(".data.vpci." p) =3D x
=20
-/* Add vPCI handlers to device. */
-int __must_check vpci_add_handlers(struct pci_dev *dev);
+/* Assign vPCI to device by adding handlers to device. */
+int __must_check vpci_assign_device(struct pci_dev *dev);
=20
 /* Remove all handlers and free vpci related structures. */
-void vpci_remove_device(struct pci_dev *pdev);
+void vpci_deassign_device(struct pci_dev *pdev);
=20
 /* Add/remove a register handler. */
 int __must_check vpci_add_register(struct vpci *vpci,
@@ -235,12 +235,12 @@ bool vpci_ecam_read(pci_sbdf_t sbdf, unsigned int reg=
, unsigned int len,
 #else /* !CONFIG_HAS_VPCI */
 struct vpci_vcpu {};
=20
-static inline int vpci_add_handlers(struct pci_dev *pdev)
+static inline int vpci_assign_device(struct pci_dev *pdev)
 {
     return 0;
 }
=20
-static inline void vpci_remove_device(struct pci_dev *pdev) { }
+static inline void vpci_deassign_device(struct pci_dev *pdev) { }
=20
 static inline void vpci_dump_msi(void) { }
=20
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592520.925344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80G-0001Pr-6M; Tue, 29 Aug 2023 23:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592520.925344; Tue, 29 Aug 2023 23: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 1qb80F-0001Nm-PN; Tue, 29 Aug 2023 23:20:07 +0000
Received: by outflank-mailman (input) for mailman id 592520;
 Tue, 29 Aug 2023 23:20:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80D-0007EX-O5
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:05 +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 95442fdb-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:20:04 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDeco030691; Tue, 29 Aug 2023 23:19:54 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:54 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:47 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95442fdb-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fCDDyckIZHJuVh8M/CbAYACcSF4uilv401AzvHpyMM8VwF9o95XEJfZOQpCZTKMI1baH1noUIBD8kkePxNLBi2i4KliBhMQ+p5bRv9J6C2KjKwbWu5mNHxgA8mypdQ8lcf/Gm6CF4HaT4eXZxXjoA15BI1+z8XRAstt87ALEcFWrT8uiXdkrGH7MAqOyLZvjvyI2vFBaxVp+2pEFzULX2+EeJS5FZog6UuBBjtnkD8Zpz/OUMpeHMv1TGxHwt0FsdtGJFO2i3jM+W73S9hUy9YLK7rZCpFYobEtmph6oYD9Zz8oDch3gWyO2NHPRJIwYfKo/y1qdUP6J60WQD0qrQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Ue+npJ59xH3XrannJE1/DsrXyaqa3rixPlEc99NrgY=;
 b=PNgWw7yQys9I2vSYPrba1YL440v7TbnMDJqCCdGTWDMkHlyg56bK/PGcbE445tiRxNZXg4Cjs08ct/JOl+bkca7yyeNaE7GmHnA01A9WnXdAPveicnsvE+zv7xchl5sqER7Uaw+MBSwSjFIyvwEC4Zbqb0CkIyYFmjl5M3pY+fgE68XCynsbMRkuTv/VrqdIlYzl5wwGqKbiV+DX2BseI2L2pKG3o3X5ZHTIOnaR/t4ut8KqGjLZhC8+R477IweC8aqTl2GLXT3QyQGRIkRKxsmUfhPuZyD8oKMDfSDGhlc/ZM4R0+QtbyH7WlCFcKZlXPyiGaNM7AgW3aYsJsDfnQ==
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=2Ue+npJ59xH3XrannJE1/DsrXyaqa3rixPlEc99NrgY=;
 b=SFusgAwxqELY5JTmQkJcc9uk7n+zddzUiNuqzksUNk8F1WjM/abXvSq74gwPd8QNyFXqbllamZSrFPtHF29nWGjotJ5t8u0vCC1ViGPp64bu2fqVV2kq3z+d6DbK3FxUt98jHDkR7NXfuzP1i06Gu6QjNevowMR7RMNMK5Rk5QHmuSho2mE0Rc9v2tD9HdSaApz8i6Hkr4UNFYuXxmsgePMR2AVbX4PG5BJPl8VhFSjlTeYfnygGuhhHSgV9Embp37nixv96OaSxw7ge2YvGO5fxd0xOt0Fl15H/aZDCfGU+n+kMYEwttg926SQa3DnbDK4z2Z85+wr+RDYrjcBGNg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_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>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v9 12/16] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v9 12/16] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: AQHZ2s9MKcW5IJI1REe00zENuWVyEw==
Date: Tue, 29 Aug 2023 23:19:46 +0000
Message-ID: <20230829231912.4091958-13-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 174136b3-4192-41d7-7d6a-08dba8e66fb9
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: 
 ohl8yXn1LS45JBQcKlnlM0ASHOChDvy1KDW2UPmvzSKkrhwiRJ4kotlmUrzjlwfzeyxAgtNU3xbjjye/heqpk4xMg8n1jHIGouTFYmY2MEiLDJ88ANuzgtljJQE2FtT4mOZVxNkl3IyPK3WA0KM1Tx9fmzIcrooGzbZPNZrMrK86eNDXVJOGAUhwCozZfRjRFKZIYYHCezVCfES+EqT3w4+SKvTvCdSF3AZ+Aj2FXaVbPjWbfb1tMRfdK+5FLgk3IQjjUj8caZQEa4d2ZhXfwgbdgzxFjGhpa9VuaFguWsjQy1EX/d0wD8R6xOXu4y8iG4BGjQwKvobruZcfSd/SqKYA+cuoMgIW9tGl7+W96MMduF2lIYe9QwR7zyLeKAZo42D+1lqfHH9ncH3x/I9nmBE7AvcIAqKvjR2a2kV5TwvYaUNWAIjPVTVPbFAgpeXK33tc8kcn2VjzO+vb5Rpqm9Xdl3+MZBA/n4lLZiMN+CKo8TEg/wp20HK1/sQm1Y2Fjpva6xkMSVZcUFkNrMa/fxnrObvOuVmUKU1QfVtOzPLyjF10EZi9y2hYKzpN4HrJN6rQny1Mt//bbIKA2q8nX+tmi4iShwn7SaNT7wmkfwK4dDC5UIhXxLN1f8tVgRr+
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?QwySOMC2dz7T4WsyM25a1nk0bTOdRGhj6QhxIaCkjOECz3SzzYP9ca76x7?=
 =?iso-8859-1?Q?0Hde2V/VP3wVVbhHrWehFXrLTZVgcXi/yNV1tOlNwm340hFsYTltsOdZZl?=
 =?iso-8859-1?Q?yq+8NpnQ2hZ7ELqMYwXg4MfaasNPviByHNmclwmKdQ+lKS2eq5Ep9p259n?=
 =?iso-8859-1?Q?FQhkh0g9rc5by9kRTlKCf6V8EF9kCidzY2Zd6mlHjaSiW6T0o43zdOvcDG?=
 =?iso-8859-1?Q?wz8IRqTGV4pgoDn17rbkSZ6nA2clg+jVKEMxPJt6dBBG1C71wd5LRrpdGf?=
 =?iso-8859-1?Q?CTwptTAk4eYoT4fHeE0nBsep9Bgr+YJTk2rqmtxR6ZWNqDmYcKCG0nXfvX?=
 =?iso-8859-1?Q?G8InKk7WlXHuFJyMxmsYFnXHJV9M9kTWv6i6rrf7NZiTngOP0mbWcZOrL5?=
 =?iso-8859-1?Q?azcYCso99ZWrDQaJco/ZFTVoqPIVPvLgP6ZRszBnr4HaD6z+v7TshL/Mcu?=
 =?iso-8859-1?Q?sgzmPka7QHT0/ZH3pt5i+jmV0823h1vgNgbA4QK7ZITfOlUiOQpSoJp4v8?=
 =?iso-8859-1?Q?ahhQQZzOVwiVzteKPKFBCgGLjReoPH5gtBerAytL1DHw005QNH60hEmEYQ?=
 =?iso-8859-1?Q?WHAgkUFusCgiuX/cfizr9DhdpW6jIDljcUnR9BI8C2ji1Ci87q3lzGNh/3?=
 =?iso-8859-1?Q?tE1xm5aFqT+pySt1jncvQhDUMw9UhIK5RAL2hqp2mYqyg4uXdUw9aoTWm8?=
 =?iso-8859-1?Q?bQU0LH5zAbit5OpGBCnPqgusOv+1w6fwMAU+ezVa0UCXWdAL+cBRbSz8kC?=
 =?iso-8859-1?Q?JSqPWdmiywLJESMhvon+yVsF3t390nBV3jgwbqs9lUcefwDgSSpiYrztW3?=
 =?iso-8859-1?Q?SBVjNDCqtZEYVxJoUuEZJJaO6xkRS277N4cTqAGccYMavBZEYtPMqUyYq8?=
 =?iso-8859-1?Q?GFdAA96Ifn7PYuES0iEeDoxjrwTmQ/4Du7wqA6THzH/A1oDooA+BN0aR4N?=
 =?iso-8859-1?Q?YPoZ5wSdwtepVmKW7fG2ost2449rRPzjMGlUzwmhRT3ini2dVcn9PQtND7?=
 =?iso-8859-1?Q?jIi1cp3r6Or5JTuqsK8YM4ACQwyb9eJ2VxTyIZdWfrKRpaBaXaEjayLUSV?=
 =?iso-8859-1?Q?fucVrJiRmEI59y0gk+X7uN7RFXhQIJ3Su9X5CSlNbgD1pNRzMeVjyTRCHZ?=
 =?iso-8859-1?Q?BIqMTqklZs6HU/1Jz1hUsJWfec4XYvQQZ+C7jvQjIC+9n/9lOhMrXgzAM9?=
 =?iso-8859-1?Q?nY+yU6Tdq0176Q2KXbxtK2xnL8k4OSAwyJo+nNIYJi1fIlw7Psgb7H05sJ?=
 =?iso-8859-1?Q?IZWh5zmjyGLumskPq4ZhjWedOTKHP8bzPdmLMsdoYD7mQxJ6jMJItnQ9ah?=
 =?iso-8859-1?Q?M3PJSoLqnYs1q1tzBPvCznElb7L1+SSefMpIjIRe6H+TjeT1NDuukTiD/9?=
 =?iso-8859-1?Q?XwAwGVtRXOBvEwefX6MzhUMyOKmXV/9YyJjiUloGER//TUIq3rBALaC5rT?=
 =?iso-8859-1?Q?IAv8Yy1j6r9oH8sqt4B05kwsckUWnECk0a9ymSpZxoJkWZtliXIlRR0JJu?=
 =?iso-8859-1?Q?FvqKQLbiJLyT2RnunaUkTgFieJ4Ei7M65WnBKbokwxx7RRLwQx/S943MKN?=
 =?iso-8859-1?Q?i+V05jiWn2Ly81whMyzawG0Qv2rloEqGs8Dv18yZk6+OuheOdawhrzBqO/?=
 =?iso-8859-1?Q?CrtVQwf07W4+kDNWiMDT0xLCSAKHnudiQBzmOH8P0soBTDhGj2ChJ9qw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 174136b3-4192-41d7-7d6a-08dba8e66fb9
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:46.1274
 (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: slKXMZaGVjpyWr8NhRBaReTT3hBE1e39R4oGQUpv6+QW+paWtyx1a9DO08QcJ7huiEjvWkXdsVr1HP7j7rUGM7twlvU75cbBjco16Wd+qPI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: Vcv_aM5FLTxJo9cslBCVwmmcGSpcZPed
X-Proofpoint-GUID: Vcv_aM5FLTxJo9cslBCVwmmcGSpcZPed
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=999 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Assign SBDF to the PCI devices being passed through with bus 0.
The resulting topology is where PCIe devices reside on the bus 0 of the
root complex itself (embedded endpoints).
This implementation is limited to 32 devices which are allowed on
a single PCI bus.

Please note, that at the moment only function 0 of a multifunction
device can be passed through.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
Since v9:
- Lock in add_virtual_device() replaced with ASSERT (thanks, Stewart)
Since v8:
- Added write lock in add_virtual_device
Since v6:
- re-work wrt new locking scheme
- OT: add ASSERT(pcidevs_write_locked()); to add_virtual_device()
Since v5:
- s/vpci_add_virtual_device/add_virtual_device and make it static
- call add_virtual_device from vpci_assign_device and do not use
  REGISTER_VPCI_INIT machinery
- add pcidevs_locked ASSERT
- use DECLARE_BITMAP for vpci_dev_assigned_map
Since v4:
- moved and re-worked guest sbdf initializers
- s/set_bit/__set_bit
- s/clear_bit/__clear_bit
- minor comment fix s/Virtual/Guest/
- added VPCI_MAX_VIRT_DEV constant (PCI_SLOT(~0) + 1) which will be used
  later for counting the number of MMIO handlers required for a guest
  (Julien)
Since v3:
 - make use of VPCI_INIT
 - moved all new code to vpci.c which belongs to it
 - changed open-coded 31 to PCI_SLOT(~0)
 - added comments and code to reject multifunction devices with
   functions other than 0
 - updated comment about vpci_dev_next and made it unsigned int
 - implement roll back in case of error while assigning/deassigning devices
 - s/dom%pd/%pd
Since v2:
 - remove casts that are (a) malformed and (b) unnecessary
 - add new line for better readability
 - remove CONFIG_HAS_VPCI_GUEST_SUPPORT ifdef's as the relevant vPCI
    functions are now completely gated with this config
 - gate common code with CONFIG_HAS_VPCI_GUEST_SUPPORT
New in v2
---
 xen/drivers/vpci/vpci.c | 69 +++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/sched.h |  8 +++++
 xen/include/xen/vpci.h  | 11 +++++++
 3 files changed, 88 insertions(+)

diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 412685f41d..b284f95e05 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -36,6 +36,54 @@ extern vpci_register_init_t *const __start_vpci_array[];
 extern vpci_register_init_t *const __end_vpci_array[];
 #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
=20
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+static int add_virtual_device(struct pci_dev *pdev)
+{
+    struct domain *d =3D pdev->domain;
+    pci_sbdf_t sbdf =3D { 0 };
+    unsigned long new_dev_number;
+
+    if ( is_hardware_domain(d) )
+        return 0;
+
+    ASSERT(pcidevs_locked() && rw_is_write_locked(&pdev->domain->pci_lock)=
);
+
+    /*
+     * Each PCI bus supports 32 devices/slots at max or up to 256 when
+     * there are multi-function ones which are not yet supported.
+     */
+    if ( pdev->info.is_extfn )
+    {
+        gdprintk(XENLOG_ERR, "%pp: only function 0 passthrough supported\n=
",
+                 &pdev->sbdf);
+        return -EOPNOTSUPP;
+    }
+    new_dev_number =3D find_first_zero_bit(d->vpci_dev_assigned_map,
+                                         VPCI_MAX_VIRT_DEV);
+    if ( new_dev_number >=3D VPCI_MAX_VIRT_DEV )
+    {
+        write_unlock(&pdev->domain->pci_lock);
+        return -ENOSPC;
+    }
+
+    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);
+
+    /*
+     * Both segment and bus number are 0:
+     *  - we emulate a single host bridge for the guest, e.g. segment 0
+     *  - with bus 0 the virtual devices are seen as embedded
+     *    endpoints behind the root complex
+     *
+     * TODO: add support for multi-function devices.
+     */
+    sbdf.devfn =3D PCI_DEVFN(new_dev_number, 0);
+    pdev->vpci->guest_sbdf =3D sbdf;
+
+    return 0;
+}
+
+#endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
+
 void vpci_deassign_device(struct pci_dev *pdev)
 {
     unsigned int i;
@@ -46,6 +94,16 @@ void vpci_deassign_device(struct pci_dev *pdev)
         return;
=20
     spin_lock(&pdev->vpci->lock);
+
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+    if ( pdev->vpci->guest_sbdf.sbdf !=3D ~0 )
+    {
+        __clear_bit(pdev->vpci->guest_sbdf.dev,
+                    &pdev->domain->vpci_dev_assigned_map);
+        pdev->vpci->guest_sbdf.sbdf =3D ~0;
+    }
+#endif
+
     while ( !list_empty(&pdev->vpci->handlers) )
     {
         struct vpci_register *r =3D list_first_entry(&pdev->vpci->handlers=
,
@@ -101,6 +159,13 @@ int vpci_assign_device(struct pci_dev *pdev)
     INIT_LIST_HEAD(&pdev->vpci->handlers);
     spin_lock_init(&pdev->vpci->lock);
=20
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+    pdev->vpci->guest_sbdf.sbdf =3D ~0;
+    rc =3D add_virtual_device(pdev);
+    if ( rc )
+        goto out;
+#endif
+
     for ( i =3D 0; i < NUM_VPCI_INIT; i++ )
     {
         rc =3D __start_vpci_array[i](pdev);
@@ -108,11 +173,15 @@ int vpci_assign_device(struct pci_dev *pdev)
             break;
     }
=20
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+ out:
+#endif
     if ( rc )
         vpci_deassign_device(pdev);
=20
     return rc;
 }
+
 #endif /* __XEN__ */
=20
 static int vpci_register_cmp(const struct vpci_register *r1,
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 535a81fe90..0aafe19a51 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -461,6 +461,14 @@ struct domain
 #ifdef CONFIG_HAS_PCI
     struct list_head pdev_list;
     rwlock_t pci_lock;
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+    /*
+     * The bitmap which shows which device numbers are already used by the
+     * virtual PCI bus topology and is used to assign a unique SBDF to the
+     * next passed through virtual PCI device.
+     */
+    DECLARE_BITMAP(vpci_dev_assigned_map, VPCI_MAX_VIRT_DEV);
+#endif
 #endif
=20
 #ifdef CONFIG_HAS_PASSTHROUGH
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index f67d848616..58304523ab 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -21,6 +21,13 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
=20
 #define VPCI_ECAM_BDF(addr)     (((addr) & 0x0ffff000) >> 12)
=20
+/*
+ * Maximum number of devices supported by the virtual bus topology:
+ * each PCI bus supports 32 devices/slots at max or up to 256 when
+ * there are multi-function ones which are not yet supported.
+ */
+#define VPCI_MAX_VIRT_DEV       (PCI_SLOT(~0) + 1)
+
 #define REGISTER_VPCI_INIT(x, p)                \
   static vpci_register_init_t *const x##_entry  \
                __used_section(".data.vpci." p) =3D x
@@ -155,6 +162,10 @@ struct vpci {
             struct vpci_arch_msix_entry arch;
         } entries[];
     } *msix;
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+    /* Guest SBDF of the device. */
+    pci_sbdf_t guest_sbdf;
+#endif
 #endif
 };
=20
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592521.925351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80H-0001bK-4P; Tue, 29 Aug 2023 23:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592521.925351; Tue, 29 Aug 2023 23: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 1qb80G-0001WU-J9; Tue, 29 Aug 2023 23:20:08 +0000
Received: by outflank-mailman (input) for mailman id 592521;
 Tue, 29 Aug 2023 23:20:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80D-0006kQ-TF
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20: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 94825af5-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:20:03 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TKDecq030691; Tue, 29 Aug 2023 23:19:56 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3sshtetfcp-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:56 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94825af5-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=InF9Vra4KEmrtfxMliPMa31i+AhiWoPQUOQB2KkTpiqA9EotOZoN5+qO6ISjBPI1bkXHG3OKu3py6fix3C+ajg+JSsVJGpG1vH7xR7QyTZkxou/RZeDjdlsWh2YSKFW4F51zj5pyThKfG8Gq8IO3IdIDUFHTqDRa/DxjdDbHuRYdqLdUnDsK0Ram0TGBYnUxjW8uyyQyd+B8nsccUdqQa40z4QhLfo7e91b0DeW1LusbTSRsBSsAjiTHE+NrmsMSCPSb3suAl/MFcbzpj+ZQ2+/aFrrf+8Lz1OPv2VQmx7/FFjrvDHCiyZO7qgcLQEwf7HIoYqeQtQ4WBYhN/1XocQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OnW6xmOMSUh88tcDS5xktaqBw+mFQg2UICEpESoViDY=;
 b=g+3rxJAGjDtfGmIANR04W3wZOtgKciMD1je3u/NYIhyKQnfxL5snKYiD7tXMtSsLubQVaegJ29FZllrzu4W4YH4xoJvVdaqwSriY7+8ZXOgJr3ZMQIDG75b1vKDpXLnvpwRXHp8VDdYpkxb+532/t14WLG9tpoOsiWXV8tzSGz705kPUGiL3gi4Sknajh4nsegzQkRcsLcWOBFMgQPCjGit0DfT+E6BLCu0MOnJvD2JiiRnCkIPLfCuy7p7gmFONxHkmB8t2hUq5YjDV7iACbS0nR6ZGxtBlE0A/8mhtA7fBNHt0cNaAiX8B0qGvijXH6lt00j1AQPSkLGFK1j/1pA==
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=OnW6xmOMSUh88tcDS5xktaqBw+mFQg2UICEpESoViDY=;
 b=BZ7g1fCRysNlZV9OfTLAMXjMjxXm2nGMlkmePoodgE3lmp1gSAhmlWwzqFfxvOD545iqFJ2h0ysZGuXnLmFZm2Yruy+ncfSAGPbOYqBgBXq0b+EUAceG2R262olph70WKnj7aJOhULh32Os4QvqYOsGR5GvvERlk/xNyKIePnLdnZ+GnXVIvwkxhNqbBzkGdTSflpSvwhF2iWKG4NENVp3CXv18MZlgSvdZ86uhrYF4Nyakw7dr3gEO1Uytb72iMPiEJTkcWwtkPFpzt0Auk9o2ZBvZs4e4KmDV7QQb0j21D0gyNkEQUxAcGernHNdEubZG7zogo9dPh8aFurKY/Ew==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <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>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George Dunlap
	<george.dunlap@citrix.com>,
        Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v9 16/16] xen/arm: vpci: permit access to guest vpci space
Thread-Topic: [PATCH v9 16/16] xen/arm: vpci: permit access to guest vpci
 space
Thread-Index: AQHZ2s9N0IXatP2juE67AItmuC0joQ==
Date: Tue, 29 Aug 2023 23:19:47 +0000
Message-ID: <20230829231912.4091958-17-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: e1c6d29c-9dcc-4624-21e0-08dba8e67084
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: 
 pxusuRWnvPareZAG67Fu5l8gr/HBomI6/Uz6t/jywZN795YPMDjkTRBp+3xB5iFB9HC/Y30qB3gGkoyXjCNRovYPkqdKynZfODcQWTS+8NWdpOf37Y6n0657yEy6pU5y6Y7FLmY7wwvhOCCBwITU0uUktTjPCkEnF3xC1ZBu9qOQuLbeByPkubHp787yfoCxs4XvIewUE9AG7ryi18j3HBlVy3OYVkN4ltSPjLw0XDVunDD5WlbnB+MpwCZtrk+aNfbLUK3XxPlSu/OkGh7OtrGwmD8Jlu9Vqc0g1BOPCLwlRMgzivG3hD+aCRZP0aJ2ilVXluzn5ghXgykbQQJVA81PvqnybXWxd2LMKjX9yM6eU6RlMapJ7h9mqNUe8jG9neSGG8/hvPwIoQTm4pQ7TUZ3+sLrYMRL+0E/VIgAWAyxDCq+BlhKu7dL+LoXdJ6gmRdfnF4+JjUcHKU48bWj0p4tEF1GLodRV3ygrVcZ0xGi4PxUWy+JsdvgP2PttQpIonElwgEaRRleH30DuYvdj+l2I9cwcMxUxFnS/tk0J0bh63iwkIihQirQSRW0/4qbIHxeRfZO5/IO/0wlsgXGxfyPdimYmxviYAmXQ945jicZb0Wo1itLeeVh0nR/NvbI
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?m+wU+ofam8Mx3Ygq2nb9XHye4pi8rzRXNk3KlqTwRk2XvJ23Ev0x3Dhs+n?=
 =?iso-8859-1?Q?Ds4DAzYobaPAudJH07lGRHeFzLT+uQJWN7nNRP46F+bKNz8QLOTmvIyTA2?=
 =?iso-8859-1?Q?wCPbboACWzlqDCKQ6VuNdAEJEPJigJ9Xm8pOa98hR7vNeM1ojUgRt43/q6?=
 =?iso-8859-1?Q?IxVILKEj4IQrwYXc5QHOLvC6tjc8pjKRWI92RWiRk36eiEgZYGsPbk1ri9?=
 =?iso-8859-1?Q?+eJu340+dK9PpP2JG5v+Vwul5OprrxNQOXyIPWfMpohhljQuow0kL7Qwtn?=
 =?iso-8859-1?Q?Kjb4tfmrN7QzgJkzejxwyYfJIZO+lmI8hTCQsx7DM1JWujNtnvqnuyfw+S?=
 =?iso-8859-1?Q?T8dJu0RKUsq/P1GIqPUPtWIrHEGjZqdQzOUT33n/6S4un315H6wRaj2A20?=
 =?iso-8859-1?Q?CD3vYNy9PC3djr3dZRkq8kTsg0YEjpbhtK8Z3vb7Ca9K2O0KzyCNMOnhU6?=
 =?iso-8859-1?Q?YNMlXxqK8rReveIDsBpkZCKPMEctP8NOTXnTy5mHJyW5jQMgp0/LUJrsbU?=
 =?iso-8859-1?Q?7ng03NLvN/EkPtgLgBZMmhEqM3ugf7ucB/rhst3v1qyhAXKtMWjz7/fB/p?=
 =?iso-8859-1?Q?ke+270dUK8MSz5ISeD3oyfEAu+/lrvc2107S2RbeIJoaR87GSKUUzIvBI9?=
 =?iso-8859-1?Q?lslIA0984V6WWNioIh0gyUTglm4EshJ8G6ElZ8on9ZOYbJ/26XnOipK03S?=
 =?iso-8859-1?Q?M3g6DktcEgMyeZHCkA9cnrz0G7LcZUekzcI/x6oEW25P/f/9BPCN1BvqiI?=
 =?iso-8859-1?Q?lFgMDeXeG+J0Yxl6fu33bFjH6Vwnha4BjSsT4jd3P9x7YJ3V0EdrRuFtgn?=
 =?iso-8859-1?Q?ODtK9XrW70A8DChmnnfJck1DBVmMVVpQFEj/oJRr44kA2Zv3QWpk7NsJq6?=
 =?iso-8859-1?Q?/FBg3FwOvl9QpQJat6CIK4EJzwc71ADJfin6vLjj6qkCXLfel7gqQfqX92?=
 =?iso-8859-1?Q?sUoaUiqlXD8gUD1oJo7WorO4DUcOakDnhzNml5Ahn5ES8PGq8LSZuN5fXj?=
 =?iso-8859-1?Q?aEwgCs65y38A/ORrPEiyZsnSsm6kN58e+mohOzlabSea3YNQgj3PW5PnR9?=
 =?iso-8859-1?Q?YUzTcIET9dGA/sO3ZlkIAXhg01nC+lM/qXecF7kxksjF1CFiNwyVRQtIFJ?=
 =?iso-8859-1?Q?7HAyGlpsIZDeVZ4ecTtpue0u5/vTsah0djH2LrwtO15GyxYEQ3WCTrixlj?=
 =?iso-8859-1?Q?9zX0Gyft5Y9VQ7VQTDD8lyTzCfYz/HGWfoT7ipchQT+utQpcdhP68lRVgj?=
 =?iso-8859-1?Q?BZ5H7vK/u8YuKlPEp/mMvZhCh1IoTFPxCponAy6IQcpKvE0HHudIMoWI61?=
 =?iso-8859-1?Q?utFjTMVV8X0OfVxCwXSfVD/khwTR3M/eeEkEELez+5m+YrrS4QOxOLtvcw?=
 =?iso-8859-1?Q?3VLtDo3OeQSiiguj7Q5tJAlVzaO5YrAD0q9pjzXRA4snNtqqccoJ9Ro8Sc?=
 =?iso-8859-1?Q?svjlfi8uf94qnNG6zT7neIMf8Ft6tYH1iYahMzENU9GKPLBVSxL8/DlMau?=
 =?iso-8859-1?Q?dCu7+NFvZjmipMqjJE5GVXjhZjobWiSMRAz2Qg4rc8G586aNRq0Cf9/hbf?=
 =?iso-8859-1?Q?u/IvTq1AcBUtGdL72nLb0P5T/1iNRJUj6a8kL0wmYPl3U3gW29Nkffa0Do?=
 =?iso-8859-1?Q?MvrMKKsSvSz0PPmi+gcLCBYn92Dnshfn8anfoYGZ9M4rpMUvi0Dll8FQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1c6d29c-9dcc-4624-21e0-08dba8e67084
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:47.4844
 (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: 0y5od2v5nnt/4cF8+ydKP0W2f4maeaYSljDZSkcWf/w8CeCfkzDtR4zw0/T2iKLgYb3h6URHUH4MlSbtwQU25iUwCHJKmhusowcENE8Ulq0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: 5iZcSRwQWU66i7bMuleoEiMpKeMA3mIG
X-Proofpoint-GUID: 5iZcSRwQWU66i7bMuleoEiMpKeMA3mIG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 mlxlogscore=686 priorityscore=1501 mlxscore=0 adultscore=0 phishscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

Move iomem_caps initialization earlier (before arch_domain_create()).

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
This is sort of a follow-up to:

  baa6ea700386 ("vpci: add permission checks to map_range()")

I don't believe we need a fixes tag since this depends on the vPCI p2m BAR
patches.
---
 xen/arch/arm/vpci.c | 6 ++++++
 xen/common/domain.c | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 01b50d435e..fb5361276f 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -2,6 +2,7 @@
 /*
  * xen/arch/arm/vpci.c
  */
+#include <xen/iocap.h>
 #include <xen/sched.h>
 #include <xen/vpci.h>
=20
@@ -119,8 +120,13 @@ int domain_vpci_init(struct domain *d)
             return ret;
     }
     else
+    {
         register_mmio_handler(d, &vpci_mmio_handler,
                               GUEST_VPCI_ECAM_BASE, GUEST_VPCI_ECAM_SIZE, =
NULL);
+        iomem_permit_access(d, paddr_to_pfn(GUEST_VPCI_MEM_ADDR),
+                            paddr_to_pfn(PAGE_ALIGN(GUEST_VPCI_MEM_ADDR +
+                                                    GUEST_VPCI_MEM_SIZE - =
1)));
+    }
=20
     return 0;
 }
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 9b04a20160..11a48ba7e4 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -695,6 +695,9 @@ struct domain *domain_create(domid_t domid,
         radix_tree_init(&d->pirq_tree);
     }
=20
+    if ( !is_idle_domain(d) )
+        d->iomem_caps =3D rangeset_new(d, "I/O Memory", RANGESETF_prettypr=
int_hex);
+
     if ( (err =3D arch_domain_create(d, config, flags)) !=3D 0 )
         goto fail;
     init_status |=3D INIT_arch;
@@ -704,7 +707,6 @@ struct domain *domain_create(domid_t domid,
         watchdog_domain_init(d);
         init_status |=3D INIT_watchdog;
=20
-        d->iomem_caps =3D rangeset_new(d, "I/O Memory", RANGESETF_prettypr=
int_hex);
         d->irq_caps   =3D rangeset_new(d, "Interrupts", 0);
         if ( !d->iomem_caps || !d->irq_caps )
             goto fail;
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592522.925357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80H-0001nM-U7; Tue, 29 Aug 2023 23:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592522.925357; Tue, 29 Aug 2023 23:20:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80H-0001ix-9z; Tue, 29 Aug 2023 23:20:09 +0000
Received: by outflank-mailman (input) for mailman id 592522;
 Tue, 29 Aug 2023 23:20:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80F-0006kQ-7C
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:07 +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 95a0de5e-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:20:05 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9h021983; Tue, 29 Aug 2023 23:19:49 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:49 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:43 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23: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>
X-Inumbo-ID: 95a0de5e-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SaCwnb7DqXkGDSkPtJwPgLIRI55FRZy8DDj6du446NbjqSLu8ic5YDKlN7CJIEs1mk5sN4ZAMAQENSVyilwOnE4xE6cxIy0iO/QjcPpYsilk4i0kSfFfH32xA57F+DGCRxS3AZuFJFALbVuEXh6nx5D/KeU6lB0zzNptdPBQuJeMLyC5RiQJhbsPsu5SNkDCsjJp3jaWwU1CkozjYP3RnkxMBrmM3Nv2PD/Bapu6hyQ12KHQzBDIUFvdlthlY3DfqHBte1Rof+RYFInGNt65zU8Nce/WaQDBS3jxrTvmlpzImqD217wuVVnmCmF8YGi1CqPs+3RapunW80Gs+O3Sug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d2+SjNS5ON5irHRUHXgAVHRcgI+kAagi6t5CcHlMjAs=;
 b=fztmfChJYRwAU++IwyQPmcllo5Gj3MTwECUuGjkZHv8UVBl6VvhvfQt/zJMuBzS75VDymuLbA8xrnGAccg/zrp4swySmYBTfLFVwU4adSKX333kYTya8dmwmJNrIjXFcLIVnf7x63E2NW6RpTXEn9lus3l80+hSzDUwx8xx6Pet4Jwpr5jrz64C6w9V+S0SMMrkIPyX5YhTB7ml2T+l4k+ltQmawwBs+iOnXpU2ezAiK5iPBrDhL6mf1tSHvBEKoGzul/+UqVRU6VJE18ce39L2o03W22rXCshx9U3YElCcdNrBWyKiIWPybEma597O1uzGePwvahP/9dHDoYsMtSg==
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=d2+SjNS5ON5irHRUHXgAVHRcgI+kAagi6t5CcHlMjAs=;
 b=igPIi1XHHt6eETC7O7H+lDkTeTDGPPEOlu+X1/ZEGFiBs6G+p3D/KkuEBZodx0RAh0GSaj7ErnqDT1z0UN3bkTkceJWpKdMynCnCM3jQTC/wFeyQuDPjyipaMmWlLB4vs5jjQBSmxmLcVcdgopjqvFdGaYKJ30Z3QffBjqH3/wwSOZEE+0misjeAc7gcryVY53TeUTO8qdq1Z81aZ5uLo3I78ysX14yS++HvKCWkmxLJfYwB0heL5bXB1FeUqjWKo1RlgdWk8WL3aLyDUFeScXPbHPaVLpufj8aUmZMyAJvWnaIa0Z1E4SdoTsFfABLmlv1SI3iZ9rPsCk3We9oCzw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@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>, Julien Grall <julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        Paul Durrant <paul@xen.org>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Kevin Tian
	<kevin.tian@intel.com>
Subject: [PATCH v9 01/16] pci: introduce per-domain PCI rwlock
Thread-Topic: [PATCH v9 01/16] pci: introduce per-domain PCI rwlock
Thread-Index: AQHZ2s9KWF3JKCAv4U2Fm0C+oJYn+A==
Date: Tue, 29 Aug 2023 23:19:42 +0000
Message-ID: <20230829231912.4091958-2-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 13aee429-ce8d-4786-1bb8-08dba8e66d44
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: 
 EQYMY+iTNTd9gXBaIqovB0YzB/J8TZeQjhbvIbE4PHamUP4oOWwG1VA759p4DBucu6lfsVsnrsc2HxWCZO1k74r5Yod9wsbHMkZYjilkNjauiDvuUd8tHuaspsaSr64Yd0K3c2P3v1fhpkxcmcdqnFHJWbZRae6QT1sHiFUXziWIqexKCizLWqyxQdqvlEw/TlIfbLe7DpmoaI4Y8zffrK1IgqgLGqbG8ZcT1ORRWevqwoE20cervkRzLORc4YwpPKkeVLhrtVSuI+ndBavL3Ukeb1YQK8nVwi3IKbw21royAWYqMS6KkEJIBFcSFj0zTdcYikeCycmmdvomvU3JKG3tnrDkxv8saIjftKC1ok9mjMlI4vc7+GkVUScJ7mifcFYNdUNbqigexLy4BZBDYnnq9Zguf8RDkhiofxUrfCmC29eYEXXMmIdxnfXt1wioqHNNh32EPhaX/QmBIouaukXLPcVCvet3kolggfFbtx+MR0XuxWz4svHDf61u3CGL0hsPC39QPHxZgF0z3iWI2pGr8C9dvy+rS4Hx3NndFnySWj1EZfCcR5Smlsl3VpJPfD/5fHSJJg88+SaUfehEMwQnnKzvcu4OTgdsbosSXOncPqTsA2x5jih46QYZt8oe
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(7416002)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?MXZJOHJKNUo0d05JQWFnazJOWGNLNkZIYkpkcVRNWTFUai9iSE00VXlPN2Ew?=
 =?utf-8?B?WFFIRnFLM3FqSzdDbHhDMTFGWFM5bUdEcklkVkZxb2xJa242azBXNHhhVmI2?=
 =?utf-8?B?NCt6ek4ySjcrYWtRVzdRak0wbVcvRHpyYTl1ZDF6clZxOXZXUkhKYzhmVzVI?=
 =?utf-8?B?K3FMWXFZTEFnYlBZbHNRcnlsMmN4Z0UxclVlS2tQT2RNOWpFYVdNMWRJUnVo?=
 =?utf-8?B?QUVhRUdKVUN6bWd4ZW1RbERTTDQ3Q2NDN1lqdGFiQWhFampxRlZwTUFVZnZx?=
 =?utf-8?B?WjYzeWE2MURQZVdVYVQ4dEVkTjg4R0NRaThVakVEa2VvNkk2MkF5d0YyWVVz?=
 =?utf-8?B?SUhCQzRQT1Zld3NTRUtsK1NaRWFGVy9FWTBOdWkyTGNyT2Q1bHF0bDRlTGo4?=
 =?utf-8?B?MEM4VzZFN0lJOGJTNVRKM3ZUQU8rYUZxMXFLM3FQTlp2d3B2QzVMMzFoOFhh?=
 =?utf-8?B?di9MZGhjSmFPMzVzUWZaU2hLR004eDZKNDQzekdSNElnWWxYbHNiRmF6NERo?=
 =?utf-8?B?TjJac1gwTTg1MW5ZdEF4MkZZYk4wT2F4SWUvQ0R3dUdlOUkxc1J2TlUvTnh0?=
 =?utf-8?B?WkNYUDQ3eFROVW5CZkJIRkJGY3FjakQyejIzOTNvNDY4YWp2VVBXMTZaRnJJ?=
 =?utf-8?B?YjRKTUVKQVhtcGw1VUFETVZZbHh6OVpON2s4L01Ec2d1K1JQdjlMSnZxSGk1?=
 =?utf-8?B?VFBUVHVCa0p6dnpwRFZ4bVZUMEY1TzNjS01PRysvK1JrN0NiM1FpS1NJVGxB?=
 =?utf-8?B?L0FKMHJSc3lOYWlxS0V1MUZoOVBXVitScXNCME5DdUZ4SkVnZjErR2YvUGZw?=
 =?utf-8?B?YkZVZnc3OW84YUxCbnVJcHkrYUZ6eDFrZ3hYeUk3Rm9pWmJ2ZkxjSFJHOG95?=
 =?utf-8?B?YlJmOWNtNVhpeE50TTArZGcveVRDQktCaTkrYlU4NVFScGJkc2Z5V3BkY0V4?=
 =?utf-8?B?WVFxeTJnOG1SRjkybXY4K1REV2VkOGZLSFRDUXJBaWFxaFlhNUpXUlovQTNS?=
 =?utf-8?B?OW52MnNNSUh0MHBobWsrN3pLVGprazgrK3ZTcnZoNjlwNGtZamhOSTlFYkRs?=
 =?utf-8?B?MFhpa0V4ZWJGRk5PQ0xnb3l6enk1QTc5cGZJeXprM25oT0hrQk4xZ2dlV2xP?=
 =?utf-8?B?ZTRGTFN2MzB6Q2V2K0k5Q1ZVL1ZZekJDNCttOHc5aU44N0tJelZWMVlaWDFS?=
 =?utf-8?B?bjdrMlhDcyt0OUVnVVY1WXNCbFdOMnRxSUN2ZzN4R0lyWXM4WUJsbElyR0xi?=
 =?utf-8?B?UkFuaGg5YXNPM25tUUVHazBCVDdJVGRzMTRSYkxJak95WXc4bjM2b284SVMw?=
 =?utf-8?B?N1hhS3k1SksrK1Ewbk1kRGhNQjZGODNFeDVJclJEZ043bldDbDlCZ3hkOHNr?=
 =?utf-8?B?dUlqNjdmcFhSVUtObWVnbEk0bTdrRU9jY2d4ZCttMUdmK2ZxSDJ5dXFSUk9J?=
 =?utf-8?B?NlhOYjJhNWsyWVI5WDdaT2lQcmpXY1BsTk5KTUUvajJhaFplWVhKYVdobzRP?=
 =?utf-8?B?YkdTQmdBVVZ2MVFtbmN3bFNTSmd3ZEZibjJReXJJdnAvVGZ3SEMwRkNUTENV?=
 =?utf-8?B?WmZxemdOdkt3eGhlNEJUbkdpYVkrM0NybFozcHgvWFJHcEtVT3c4bG8xbWJy?=
 =?utf-8?B?ZzhMOE1aaFpYRlNLUWdXVnd2VWEwK2xoT2hMbk9NUXNIVlRXanZZQkRhdzU5?=
 =?utf-8?B?QkxxNXBmTmFBUHNDY2t0cXp0NWtPd3NZWWFXOXN1NWcrSnNvZ0Z3eC9Fam5P?=
 =?utf-8?B?UVh1Wmt6azNQMU5LSkRWSW5mdVRyOFpZc0dSbUtVSFhQUFJkeXg0eUlEdFFK?=
 =?utf-8?B?TU5MeTNXVmtpeFJ6N1VEUEMzUzZpczNWMzV0ZE00Tmd0VUE2VHQwU1gxQzJ3?=
 =?utf-8?B?QmVFckwzMlcwcEdYczI1VzhuUlJYaWc4Sy9pWFdtMXZkd3dYVE40M2JoTFJ4?=
 =?utf-8?B?QUVLMVRCcXh4ZnhIZVEvRVZMbzBKbWhmUnk0aWp5U2VyWnBJNUc3WnRoV2lO?=
 =?utf-8?B?STBJeXAwa1hpTHNvTVJUS0NIa3hjOGpDUlhzbzBtOUNFdklpeC8zOU5qMlBw?=
 =?utf-8?B?STlsUVd3Mjc3SHJKL1BzUEJrd09wUFRQZTVDbUhudWdtTVhWbkVxWk1yeEJv?=
 =?utf-8?B?bkgxVU5kSDgvek9JQlpDVThSaUlHdUx0bmdLRmluVVd3U3hramZKUGlIdlli?=
 =?utf-8?B?bXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <77E6C311CA0A814AA5B5E49E976390A3@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13aee429-ce8d-4786-1bb8-08dba8e66d44
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:42.1113
 (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: 1sr2BEAmCzL7Q2pEEbokTFEdlPRV+3ZkNdmeMwKh5gUgQnaXZg7VUVqWlJQLN6jJbBWksvWkrzVgGYhMVAk6kJAvyej4oXDy4FITDnorjII=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: ycFgeegD8pR__ThYRAgrZ-974DDffhRk
X-Proofpoint-GUID: ycFgeegD8pR__ThYRAgrZ-974DDffhRk
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

QWRkIHBlci1kb21haW4gZC0+cGNpX2xvY2sgdGhhdCBwcm90ZWN0cyBhY2Nlc3MgdG8NCmQtPnBk
ZXZfbGlzdC4gUHVycG9zZSBvZiB0aGlzIGxvY2sgaXMgdG8gZ2l2ZSBndWFyYW50ZWVzIHRvIFZQ
Q0kgY29kZQ0KdGhhdCB1bmRlcmx5aW5nIHBkZXYgd2lsbCBub3QgZGlzYXBwZWFyIHVuZGVyIGZl
ZXQuIFRoaXMgaXMgYSBydy1sb2NrLA0KYnV0IHRoaXMgcGF0Y2ggYWRkcyBvbmx5IHdyaXRlX2xv
Y2soKXMuIFRoZXJlIHdpbGwgYmUgcmVhZF9sb2NrKCkNCnVzZXJzIGluIHRoZSBuZXh0IHBhdGNo
ZXMuDQoNClRoaXMgbG9jayBzaG91bGQgYmUgdGFrZW4gaW4gd3JpdGUgbW9kZSBldmVyeSB0aW1l
IGQtPnBkZXZfbGlzdCBpcw0KYWx0ZXJlZC4gVGhpcyBjb3ZlcnMgYm90aCBhY2Nlc3NlcyB0byBk
LT5wZGV2X2xpc3QgYW5kIGFjY2Vzc2VzIHRvDQpwZGV2LT5kb21haW5fbGlzdCBmaWVsZHMuIEFs
bCB3cml0ZSBhY2Nlc3NlcyBhbHNvIHNob3VsZCBiZSBwcm90ZWN0ZWQNCmJ5IHBjaWRldnNfbG9j
aygpIGFzIHdlbGwuIElkZWEgaXMgdGhhdCBhbnkgdXNlciB0aGF0IHdhbnRzIHJlYWQNCmFjY2Vz
cyB0byB0aGUgbGlzdCBvciB0byB0aGUgZGV2aWNlcyBzdG9yZWQgaW4gdGhlIGxpc3Qgc2hvdWxk
IHVzZQ0KZWl0aGVyIHRoaXMgbmV3IGQtPnBjaV9sb2NrIG9yIG9sZCBwY2lkZXZzX2xvY2soKS4g
VXNhZ2Ugb2YgYW55IG9mDQp0aGlzIHR3byBsb2NrcyB3aWxsIGVuc3VyZSBvbmx5IHRoYXQgcGRl
diBvZiBpbnRlcmVzdCB3aWxsIG5vdA0KZGlzYXBwZWFyIGZyb20gdW5kZXIgZmVldCBhbmQgdGhh
dCB0aGUgcGRldiBzdGlsbCB3aWxsIGJlIGFzc2lnbmVkIHRvDQp0aGUgc2FtZSBkb21haW4uIE9m
IGNvdXJzZSwgYW55IG5ldyB1c2VycyBzaG91bGQgdXNlIHBjaWRldnNfbG9jaygpDQp3aGVuIGl0
IGlzIGFwcHJvcHJpYXRlIChlLmcuIHdoZW4gYWNjZXNzaW5nIGFueSBvdGhlciBzdGF0ZSB0aGF0
IGlzDQpwcm90ZWN0ZWQgYnkgdGhlIHNhaWQgbG9jaykuIEluIGNhc2UgYm90aCB0aGUgbmV3bHkg
aW50cm9kdWNlZA0KcGVyLWRvbWFpbiByd2xvY2sgYW5kIHRoZSBwY2lkZXZzIGxvY2sgaXMgdGFr
ZW4sIHRoZSBsYXRlciBtdXN0IGJlDQphY3F1aXJlZCBmaXJzdC4NCg0KQW55IHdyaXRlIGFjY2Vz
cyB0byBwZGV2LT5kb21haW5fbGlzdCBzaG91bGQgYmUgcHJvdGVjdGVkIGJ5IGJvdGgNCnBjaWRl
dnNfbG9jaygpIGFuZCBkLT5wY2lfbG9jayBpbiB0aGUgd3JpdGUgbW9kZS4NCg0KU3VnZ2VzdGVk
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NClN1Z2dlc3RlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KU2lnbmVkLW9mZi1ieTogVm9sb2R5
bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPg0KDQotLS0NCg0KQ2hhbmdl
cyBpbiB2OToNCiAtIHJldHVybmVkIGJhY2sgInBkZXYtPmRvbWFpbiA9IHRhcmdldDsiIGluIEFN
RCBJT01NVSBjb2RlDQogLSB1c2VkICJzb3VyY2UiIGluc3RlYWQgb2YgcGRldi0+ZG9tYWluIGlu
IElPTU1VIGZ1bmN0aW9ucw0KIC0gYWRkZWQgY29tbWVudCBhYm91dCBsb2NrIG9yZGVyaW5nIGlu
IHRoZSBjb21taXQgbWVzc2FnZQ0KIC0gcmVkdWNlZCBsb2NrZWQgcmVnaW9ucw0KIC0gbWlub3Ig
Y2hhbmdlcyBub24tZnVuY3Rpb25hbCBjaGFuZ2VzIGluIHZhcmlvdXMgcGxhY2VzDQoNCkNoYW5n
ZXMgaW4gdjg6DQogLSBOZXcgcGF0Y2gNCg0KQ2hhbmdlcyBpbiB2OCB2cyBSRkM6DQogLSBSZW1v
dmVkIGFsbCByZWFkX2xvY2tzIGFmdGVyIGRpc2N1c3Npb24gd2l0aCBSb2dlciBpbiAjeGVuZGV2
ZWwNCiAtIHBjaV9yZWxlYXNlX2RldmljZXMoKSBub3cgcmV0dXJucyB0aGUgZmlyc3QgZXJyb3Ig
Y29kZQ0KIC0gZXh0ZW5kZWQgY29tbWl0IG1lc3NhZ2UNCiAtIGFkZGVkIG1pc3NpbmcgbG9jayBp
biBwY2lfcmVtb3ZlX2RldmljZSgpDQogLSBleHRlbmRlZCBsb2NrZWQgcmVnaW9uIGluIHBjaV9h
ZGRfZGV2aWNlKCkgdG8gcHJvdGVjdCBsaXN0X2RlbCgpIGNhbGxzDQotLS0NCiB4ZW4vY29tbW9u
L2RvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KIHhlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMgfCAgOSArKy0NCiB4ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9wY2kuYyAgICAgICAgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKystLS0tDQog
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgICAgICAgICB8ICA5ICsrLQ0KIHhl
bi9pbmNsdWRlL3hlbi9zY2hlZC5oICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQogNSBmaWxl
cyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp
dCBhL3hlbi9jb21tb24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jDQppbmRleCAzMDRh
YTA0ZmE2Li45YjA0YTIwMTYwIDEwMDY0NA0KLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYw0KKysr
IGIveGVuL2NvbW1vbi9kb21haW4uYw0KQEAgLTY1MSw2ICs2NTEsNyBAQCBzdHJ1Y3QgZG9tYWlu
ICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9taWQsDQogDQogI2lmZGVmIENPTkZJR19IQVNfUENJ
DQogICAgIElOSVRfTElTVF9IRUFEKCZkLT5wZGV2X2xpc3QpOw0KKyAgICByd2xvY2tfaW5pdCgm
ZC0+cGNpX2xvY2spOw0KICNlbmRpZg0KIA0KICAgICAvKiBBbGwgZXJyb3IgcGF0aHMgY2FuIGRl
cGVuZCBvbiB0aGUgYWJvdmUgc2V0dXAuICovDQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9wY2lfYW1kX2lvbW11LmMNCmluZGV4IGJlYTcwZGI0YjcuLmQyMTliZDk0NTMgMTAwNjQ0DQot
LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jDQorKysgYi94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jDQpAQCAtNDc2LDcgKzQ3
NiwxNCBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIHJlYXNzaWduX2RldmljZSgNCiANCiAgICAgaWYg
KCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkNCiAgICAg
ew0KLSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+cGRldl9s
aXN0KTsNCisgICAgICAgIHdyaXRlX2xvY2soJnNvdXJjZS0+cGNpX2xvY2spOw0KKyAgICAgICAg
bGlzdF9kZWwoJnBkZXYtPmRvbWFpbl9saXN0KTsNCisgICAgICAgIHdyaXRlX3VubG9jaygmc291
cmNlLT5wY2lfbG9jayk7DQorDQorICAgICAgICB3cml0ZV9sb2NrKCZ0YXJnZXQtPnBjaV9sb2Nr
KTsNCisgICAgICAgIGxpc3RfYWRkKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+cGRldl9s
aXN0KTsNCisgICAgICAgIHdyaXRlX3VubG9jaygmdGFyZ2V0LT5wY2lfbG9jayk7DQorDQogICAg
ICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7DQogICAgIH0NCiANCmRpZmYgLS1naXQgYS94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5j
DQppbmRleCAzMzQ1Mjc5MWE4Li43OWNhOTI4NjcyIDEwMDY0NA0KLS0tIGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvcGNpLmMNCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQpA
QCAtNDU0LDcgKzQ1NCw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBfcGNpX2hpZGVfZGV2aWNlKHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQ0KICAgICBpZiAoIHBkZXYtPmRvbWFpbiApDQogICAgICAgICBy
ZXR1cm47DQogICAgIHBkZXYtPmRvbWFpbiA9IGRvbV94ZW47DQorICAgIHdyaXRlX2xvY2soJmRv
bV94ZW4tPnBjaV9sb2NrKTsNCiAgICAgbGlzdF9hZGQoJnBkZXYtPmRvbWFpbl9saXN0LCAmZG9t
X3hlbi0+cGRldl9saXN0KTsNCisgICAgd3JpdGVfdW5sb2NrKCZkb21feGVuLT5wY2lfbG9jayk7
DQogfQ0KIA0KIGludCBfX2luaXQgcGNpX2hpZGVfZGV2aWNlKHVuc2lnbmVkIGludCBzZWcsIHVu
c2lnbmVkIGludCBidXMsDQpAQCAtNzQ4LDcgKzc1MCw5IEBAIGludCBwY2lfYWRkX2RldmljZSh1
MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuLA0KICAgICBpZiAoICFwZGV2LT5kb21haW4gKQ0KICAg
ICB7DQogICAgICAgICBwZGV2LT5kb21haW4gPSBoYXJkd2FyZV9kb21haW47DQorICAgICAgICB3
cml0ZV9sb2NrKCZoYXJkd2FyZV9kb21haW4tPnBjaV9sb2NrKTsNCiAgICAgICAgIGxpc3RfYWRk
KCZwZGV2LT5kb21haW5fbGlzdCwgJmhhcmR3YXJlX2RvbWFpbi0+cGRldl9saXN0KTsNCisgICAg
ICAgIHdyaXRlX3VubG9jaygmaGFyZHdhcmVfZG9tYWluLT5wY2lfbG9jayk7DQogDQogICAgICAg
ICAvKg0KICAgICAgICAgICogRm9yIGRldmljZXMgbm90IGRpc2NvdmVyZWQgYnkgWGVuIGR1cmlu
ZyBib290LCBhZGQgdlBDSSBoYW5kbGVycw0KQEAgLTc1OCw3ICs3NjIsOSBAQCBpbnQgcGNpX2Fk
ZF9kZXZpY2UodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbiwNCiAgICAgICAgIGlmICggcmV0ICkN
CiAgICAgICAgIHsNCiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiU2V0dXAgb2YgdlBD
SSBmYWlsZWQ6ICVkXG4iLCByZXQpOw0KKyAgICAgICAgICAgIHdyaXRlX2xvY2soJmhhcmR3YXJl
X2RvbWFpbi0+cGNpX2xvY2spOw0KICAgICAgICAgICAgIGxpc3RfZGVsKCZwZGV2LT5kb21haW5f
bGlzdCk7DQorICAgICAgICAgICAgd3JpdGVfdW5sb2NrKCZoYXJkd2FyZV9kb21haW4tPnBjaV9s
b2NrKTsNCiAgICAgICAgICAgICBwZGV2LT5kb21haW4gPSBOVUxMOw0KICAgICAgICAgICAgIGdv
dG8gb3V0Ow0KICAgICAgICAgfQ0KQEAgLTc2Niw3ICs3NzIsOSBAQCBpbnQgcGNpX2FkZF9kZXZp
Y2UodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbiwNCiAgICAgICAgIGlmICggcmV0ICkNCiAgICAg
ICAgIHsNCiAgICAgICAgICAgICB2cGNpX3JlbW92ZV9kZXZpY2UocGRldik7DQorICAgICAgICAg
ICAgd3JpdGVfbG9jaygmaGFyZHdhcmVfZG9tYWluLT5wY2lfbG9jayk7DQogICAgICAgICAgICAg
bGlzdF9kZWwoJnBkZXYtPmRvbWFpbl9saXN0KTsNCisgICAgICAgICAgICB3cml0ZV91bmxvY2so
JmhhcmR3YXJlX2RvbWFpbi0+cGNpX2xvY2spOw0KICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiA9
IE5VTEw7DQogICAgICAgICAgICAgZ290byBvdXQ7DQogICAgICAgICB9DQpAQCAtODE2LDcgKzgy
NCwxMSBAQCBpbnQgcGNpX3JlbW92ZV9kZXZpY2UodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbikN
CiAgICAgICAgICAgICBwY2lfY2xlYW51cF9tc2kocGRldik7DQogICAgICAgICAgICAgcmV0ID0g
aW9tbXVfcmVtb3ZlX2RldmljZShwZGV2KTsNCiAgICAgICAgICAgICBpZiAoIHBkZXYtPmRvbWFp
biApDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB3cml0ZV9sb2NrKCZwZGV2LT5k
b21haW4tPnBjaV9sb2NrKTsNCiAgICAgICAgICAgICAgICAgbGlzdF9kZWwoJnBkZXYtPmRvbWFp
bl9saXN0KTsNCisgICAgICAgICAgICAgICAgd3JpdGVfdW5sb2NrKCZwZGV2LT5kb21haW4tPnBj
aV9sb2NrKTsNCisgICAgICAgICAgICB9DQogICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19ERUJV
RyAiUENJIHJlbW92ZSBkZXZpY2UgJXBwXG4iLCAmcGRldi0+c2JkZik7DQogICAgICAgICAgICAg
ZnJlZV9wZGV2KHBzZWcsIHBkZXYpOw0KICAgICAgICAgICAgIGJyZWFrOw0KQEAgLTg4NywyNiAr
ODk5LDYxIEBAIHN0YXRpYyBpbnQgZGVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIHVp
bnQxNl90IHNlZywgdWludDhfdCBidXMsDQogDQogaW50IHBjaV9yZWxlYXNlX2RldmljZXMoc3Ry
dWN0IGRvbWFpbiAqZCkNCiB7DQotICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2LCAqdG1wOw0KLSAg
ICB1OCBidXMsIGRldmZuOw0KLSAgICBpbnQgcmV0Ow0KKyAgICBpbnQgY29tYmluZWRfcmV0Ow0K
KyAgICBMSVNUX0hFQUQoZmFpbGVkX3BkZXZzKTsNCiANCiAgICAgcGNpZGV2c19sb2NrKCk7DQot
ICAgIHJldCA9IGFyY2hfcGNpX2NsZWFuX3BpcnFzKGQpOw0KLSAgICBpZiAoIHJldCApDQorDQor
ICAgIGNvbWJpbmVkX3JldCA9IGFyY2hfcGNpX2NsZWFuX3BpcnFzKGQpOw0KKyAgICBpZiAoIGNv
bWJpbmVkX3JldCApDQogICAgIHsNCiAgICAgICAgIHBjaWRldnNfdW5sb2NrKCk7DQotICAgICAg
ICByZXR1cm4gcmV0Ow0KKyAgICAgICAgcmV0dXJuIGNvbWJpbmVkX3JldDsNCiAgICAgfQ0KLSAg
ICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUgKCBwZGV2LCB0bXAsICZkLT5wZGV2X2xpc3QsIGRv
bWFpbl9saXN0ICkNCisNCisgICAgd3JpdGVfbG9jaygmZC0+cGNpX2xvY2spOw0KKw0KKyAgICB3
aGlsZSAoICFsaXN0X2VtcHR5KCZkLT5wZGV2X2xpc3QpICkNCiAgICAgew0KLSAgICAgICAgYnVz
ID0gcGRldi0+YnVzOw0KLSAgICAgICAgZGV2Zm4gPSBwZGV2LT5kZXZmbjsNCi0gICAgICAgIHJl
dCA9IGRlYXNzaWduX2RldmljZShkLCBwZGV2LT5zZWcsIGJ1cywgZGV2Zm4pID86IHJldDsNCisg
ICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gbGlzdF9maXJzdF9lbnRyeSgmZC0+cGRldl9s
aXN0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBwY2lfZGV2LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbl9saXN0KTsNCisgICAgICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNlZzsN
CisgICAgICAgIHVpbnQ4X3QgYnVzID0gcGRldi0+YnVzOw0KKyAgICAgICAgdWludDhfdCBkZXZm
biA9IHBkZXYtPmRldmZuOw0KKyAgICAgICAgaW50IHJldDsNCisNCisgICAgICAgIHdyaXRlX3Vu
bG9jaygmZC0+cGNpX2xvY2spOw0KKyAgICAgICAgcmV0ID0gZGVhc3NpZ25fZGV2aWNlKGQsIHNl
ZywgYnVzLCBkZXZmbik7DQorICAgICAgICB3cml0ZV9sb2NrKCZkLT5wY2lfbG9jayk7DQorICAg
ICAgICBpZiAoIHJldCApDQorICAgICAgICB7DQorICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBj
aV9kZXYgKnRtcDsNCisNCisgICAgICAgICAgICAvKg0KKyAgICAgICAgICAgICAqIFdlIG5lZWQg
dG8gY2hlY2sgaWYgZGVhc3NpZ25fZGV2aWNlKCkgbGVmdCBvdXIgcGRldiBpbg0KKyAgICAgICAg
ICAgICAqIGRvbWFpbidzIGxpc3QuIEFzIHdlIGRyb3BwZWQgdGhlIGxvY2ssIHdlIGNhbid0IGJl
IHN1cmUNCisgICAgICAgICAgICAgKiB0aGF0IGxpc3Qgd2Fzbid0IHBlcm11dGF0ZWQgaW4gc29t
ZSByYW5kb20gd2F5LCBzbyB3ZQ0KKyAgICAgICAgICAgICAqIG5lZWQgdG8gdHJhdmVyc2UgdGhl
IHdob2xlIGxpc3QuDQorICAgICAgICAgICAgICovDQorICAgICAgICAgICAgZm9yX2VhY2hfcGRl
diAoIGQsIHRtcCApDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAoIHRtcCA9
PSBwZGV2ICkNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgbGlzdF9t
b3ZlX3RhaWwoJnBkZXYtPmRvbWFpbl9saXN0LCAmZmFpbGVkX3BkZXZzKTsNCisgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKw0K
KyAgICAgICAgICAgIGNvbWJpbmVkX3JldCA9IGNvbWJpbmVkX3JldCA/OiByZXQ7DQorICAgICAg
ICB9DQogICAgIH0NCisNCisgICAgbGlzdF9zcGxpY2UoJmZhaWxlZF9wZGV2cywgJmQtPnBkZXZf
bGlzdCk7DQorICAgIHdyaXRlX3VubG9jaygmZC0+cGNpX2xvY2spOw0KICAgICBwY2lkZXZzX3Vu
bG9jaygpOw0KIA0KLSAgICByZXR1cm4gcmV0Ow0KKyAgICByZXR1cm4gY29tYmluZWRfcmV0Ow0K
IH0NCiANCiAjZGVmaW5lIFBDSV9DTEFTU19CUklER0VfSE9TVCAgICAweDA2MDANCkBAIC0xMTI1
LDcgKzExNzIsOSBAQCBzdGF0aWMgaW50IF9faHdkb21faW5pdCBjZl9jaGVjayBfc2V0dXBfaHdk
b21fcGNpX2RldmljZXMoDQogICAgICAgICAgICAgaWYgKCAhcGRldi0+ZG9tYWluICkNCiAgICAg
ICAgICAgICB7DQogICAgICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiA9IGN0eHQtPmQ7DQorICAg
ICAgICAgICAgICAgIHdyaXRlX2xvY2soJmN0eHQtPmQtPnBjaV9sb2NrKTsNCiAgICAgICAgICAg
ICAgICAgbGlzdF9hZGQoJnBkZXYtPmRvbWFpbl9saXN0LCAmY3R4dC0+ZC0+cGRldl9saXN0KTsN
CisgICAgICAgICAgICAgICAgd3JpdGVfdW5sb2NrKCZjdHh0LT5kLT5wY2lfbG9jayk7DQogICAg
ICAgICAgICAgICAgIHNldHVwX29uZV9od2RvbV9kZXZpY2UoY3R4dCwgcGRldik7DQogICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgIGVsc2UgaWYgKCBwZGV2LT5kb21haW4gPT0gZG9tX3hlbiAp
DQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KaW5kZXggMGUzMDYyYzgyMC4uMzIyODkw
MGM5NyAxMDA2NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jDQor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KQEAgLTI4MDYsNyArMjgw
NiwxNCBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoDQog
DQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdl
dCApDQogICAgIHsNCi0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJn
ZXQtPnBkZXZfbGlzdCk7DQorICAgICAgICB3cml0ZV9sb2NrKCZzb3VyY2UtPnBjaV9sb2NrKTsN
CisgICAgICAgIGxpc3RfZGVsKCZwZGV2LT5kb21haW5fbGlzdCk7DQorICAgICAgICB3cml0ZV91
bmxvY2soJnNvdXJjZS0+cGNpX2xvY2spOw0KKw0KKyAgICAgICAgd3JpdGVfbG9jaygmdGFyZ2V0
LT5wY2lfbG9jayk7DQorICAgICAgICBsaXN0X2FkZCgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJn
ZXQtPnBkZXZfbGlzdCk7DQorICAgICAgICB3cml0ZV91bmxvY2soJnRhcmdldC0+cGNpX2xvY2sp
Ow0KKw0KICAgICAgICAgcGRldi0+ZG9tYWluID0gdGFyZ2V0Ow0KICAgICB9DQogDQpkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaA0K
aW5kZXggYjRmNDNjZDQxMC4uNTM1YTgxZmU5MCAxMDA2NDQNCi0tLSBhL3hlbi9pbmNsdWRlL3hl
bi9zY2hlZC5oDQorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaA0KQEAgLTQ2MCw2ICs0NjAs
NyBAQCBzdHJ1Y3QgZG9tYWluDQogDQogI2lmZGVmIENPTkZJR19IQVNfUENJDQogICAgIHN0cnVj
dCBsaXN0X2hlYWQgcGRldl9saXN0Ow0KKyAgICByd2xvY2tfdCBwY2lfbG9jazsNCiAjZW5kaWYN
CiANCiAjaWZkZWYgQ09ORklHX0hBU19QQVNTVEhST1VHSA0KLS0gDQoyLjQxLjANCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592523.925369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80K-0002Hq-Dl; Tue, 29 Aug 2023 23:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592523.925369; Tue, 29 Aug 2023 23: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 1qb80J-0002Ed-JT; Tue, 29 Aug 2023 23:20:11 +0000
Received: by outflank-mailman (input) for mailman id 592523;
 Tue, 29 Aug 2023 23:20:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80H-0007EX-7W
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:09 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 979983bf-46c2-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 01:20:08 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9o021983; Tue, 29 Aug 2023 23:19:55 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-10
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:54 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:47 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 979983bf-46c2-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZxKFKczdE4Ax4QZdoyCTwmawnW92pEgafLwtv3nNG231C+6wXqkB7hmcaXIiZf5kfjg3j9GnKOFQbVUUl2V8a1FxDPI/OuZLMFWdGfSv/fGHOrcDI4J1VBLtev6ZxZlXS4sUrpyecHyaRkpAzbL7d1NNfZrltZj+vAnAoTWgojd6r9TrclOFL/vmd1ueF9prBwQ0kvbvPbWUGz5WU7ZuoI+29C3Sw+5Q/Ktp65EeowBlSi3p2JrfOkEUW2t5UAtKQdoNA0TrHCs5yH3Z8216og4/esbNNO2+9em2qk3ZRoK8BEdWQVXuQRxCFsEfbOf8gAxV5cbwYsYBW0xZpA6b7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tHS1N91i3tWS5LH97lRofiQwO8GsJ0yTSCwV8j1YJug=;
 b=UC9nFOS/rjstrdv3pHplV/iZBURT/W6yPVSYa3HIU6iHXqo9+EyJ/wz9uZBgQtq5mwT/L3gkOE43Zd/rjgHDvAcP9iXtMUqhgDRAVPt7lFGfGT3uRgzwUId8fMqYBlbA51mIeJj1wT8F3m7OsOC0Bk7r6lsfeEbvrBQAdLJFne0rlCFTicN0GKjke96OwRc6u6bG9KIs4Q4LZyfZXXdqNSaaLs7yJ5k3WLwN5yC/NEjLdRncgv1A75lQ5T8gMD3syV5GzcJHogvmJ8v1M5qXbRAcQKPaFJr5PXOdcwuW0mgjhH2k4Q0ovjA61Tez90MAIRl9/+51Cs4DpxJD/T7NHw==
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=tHS1N91i3tWS5LH97lRofiQwO8GsJ0yTSCwV8j1YJug=;
 b=BzFNq4sGttW7hCuH7/jdTRljjt/R79QsQ3sbH/iycgC22hIbTXUEVtU21KcUj/Ip5iK58ZyAx2xOh3MJT6aMsPE1hjUkZi1Klfxq+65UrIW74MXAmjDJ0azxzopMk3Tm0lTEEJXb4GDRvDCUMZN5h2r72CYdoQA/IFADs2zUFtTZ90ismgu5nZYzxwLluTPqXK9cCivKMJfV3RTA+tU6DsagVrpTLIGGyNigaRDUi4z6tCmxC20cGPwaSY9R/c0Rdh0I3cf1JwgJHayjfo/uw+v8bj43G5uaC1/OBNCl9zjGhAxrjpSKmkc5ddGNHSuB/rP6qP0gxfD/P22u2/u+IA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH v9 13/16] xen/arm: translate virtual PCI bus topology for
 guests
Thread-Topic: [PATCH v9 13/16] xen/arm: translate virtual PCI bus topology for
 guests
Thread-Index: AQHZ2s9Molv+Wh+IUEiui1Q0tNeNzg==
Date: Tue, 29 Aug 2023 23:19:46 +0000
Message-ID: <20230829231912.4091958-14-volodymyr_babchuk@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: ec4cec94-98f0-4cce-66fa-08dba8e66fe4
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: 
 sgwt81SyObsKSdoMauM94TyzUifygSgwInkEctsS2rzD5qpLdg62CNUVqOKfkFFEYoP0u2QwY8hvDKcJplir2dM1iTtmapRFQUNXLf/8zdClPNDg9aBGhnNCsvzNI6yNtz507f45QlMe3pSwuSqxduU9nlOTN5Yxxav9xvc4UsUebrUs6+DFUCFUkMmJvmUeAMOqDCodkLpLSXWPxr0FgGNwHI0wmQzdf9zEvpmy9iIU8kKfPbxtAqn56LoX2dBvGQ8Mi6CuvkLXRVwU/M9Ie0UrS0nfv+u9KhKIXVn9ddvWEQhHw3/J8W/0D315GU38TU5fHvp/G4hZssLI5CiuCEoOEKzS5NHg0t4yU/9Yr88/W5w99vfoJu5bIDhINPyj1ozzkF5jWbEOCdZRp7otmS/yUYXG9zFZzCkcjE6X0m2BpDYVmOJxameyoPVl9qtdlp6pXYDqkpAtbjH1pQP8TwwEy8AzuJIMNJj3rMbQiUv/JxTXEeN9/lRkO9uYFTALQqfMrEQX9+Wd8FDcCLDnNGiTihJa/r9fE+Qh89/Pv6KKxC6jNN5q7ywfw3BoWtWolRou63AG9qHFUy4Wz0z47zDoHuJj2oxTm+st8dJRoiwz1JTMNEo5pEliFlf+X7ls
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(26005)(2906002)(6916009)(64756008)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?kEVgs04aHsq3toCh0fqO5mp/jo3qCaLWbQBv42PuICyFvS1Yh4OI2KDCLs?=
 =?iso-8859-1?Q?j/6BWf4vjvc8rYknFZirehLUhMKfpRba3Etb1rfjJlo5cTrdqSNRloJOsq?=
 =?iso-8859-1?Q?obX76TC9Rzadhqj3BedNsD1o4GNM8NaMtMMWkYFA76geFUKOvSUeqUbmp0?=
 =?iso-8859-1?Q?TeFTbfQGfbNAzj79yv2nHi3aqG2cU67D+gVqoqRQ7N8k36uOd9w8nTlh7p?=
 =?iso-8859-1?Q?7IXKBriyl06Vr/MAfEsy8qwVC7WzDKBbZ6eogOUC7T21nY3mXhUzMEnZi6?=
 =?iso-8859-1?Q?y+/6ogHPOCe1+9Nra7Svg7fzYv5gDSfP49K6iKWd9JEyYbi1bk86kK05Cw?=
 =?iso-8859-1?Q?/NG+FXtriwlSZnM7JQRuIPUHf+rPivyvGPEccN9HwZj+aJAyk170TrMb7T?=
 =?iso-8859-1?Q?D+SVsdgdIKRQAejkoZ23E1N8NR4yjXukjgyslsvFIX3c9rcuJY+MvkGhb7?=
 =?iso-8859-1?Q?2ZCHkDou99qtAt7g8ri6iPlGpXBJkO34rrDMsBBT2LNJYPgMjRJskFcEG6?=
 =?iso-8859-1?Q?CoyF5glKcHG9mi7qjPNNECe4QyLCu1Cp+lLewhNEFYzj0uayvFFklFx68k?=
 =?iso-8859-1?Q?iydHGE8FzhGjtD9WLC3XLC4LzlsLfYsdT8kWwg9l+cazc6g7lfJS+jmM6Z?=
 =?iso-8859-1?Q?vKqQbt5hkRsjHMvh5qNW4EhvVtuTqZWsr8kS5EyK73mZLHBm/qAwdoiQKX?=
 =?iso-8859-1?Q?VklZkCZ54iKKMErtopByi8AOsyz27vjmPqE9eaMqgSE5kXKk/bg82+26qi?=
 =?iso-8859-1?Q?RpAwpdlHCfmVRNi7lX3e47o4Es2nRRLuiMzPAnaCaXkMjJ5wS0pguo6Mly?=
 =?iso-8859-1?Q?5oEjS+m7CkYbmtuHWXlCqr9Ucs1ZomhD03KboI9jNyVHlo09G93HEiutkF?=
 =?iso-8859-1?Q?IBRVJz+HseTXTzQeSOcIIJtZLc6fnAR7wgOZRcs/zei1wngXxoQ1cv1yEo?=
 =?iso-8859-1?Q?YlEDayIlNDeGn25nOF851dexly9xU733WE5T0oC1J/Jh9Kkid+VFPs2SHA?=
 =?iso-8859-1?Q?wtZPfUhEqZ1yUl7/EzQ8WpnRnBe/vRi7jaWrV8R9ivkSw2byDwJ+9/rNt3?=
 =?iso-8859-1?Q?KVd/kxJ7vsF4D9KzNEnA3hq8M07TRlVorWGzdvfS9J+6rBNPbR0KaSuGnu?=
 =?iso-8859-1?Q?v9cCg0JfBSmrXoc6bPP+eoginI+3msQR40S5Wppz5j/joq7QlD2L3A56xi?=
 =?iso-8859-1?Q?TJXN+mfxdaNJk7tBTxI/4qoY3BoK4dFwGPwYPokzb+NIwpVv4sJ2xOfEzs?=
 =?iso-8859-1?Q?N6z41pfeWDkJhp9u/rTg6yMONNmeONuvxVTpCfx+xxcKADz0Ud8qOPjDaw?=
 =?iso-8859-1?Q?g42Ig02MgdltWD/g61IewT42xOyyGbDCjgzdrxOn7bwBqQ5CkuYgrMaAKV?=
 =?iso-8859-1?Q?Bt1B4e1suc2pOHc86o3WwIaLyHdV0u8t7hJbLXU0/2EAc3z0VVJ2bKe/c3?=
 =?iso-8859-1?Q?zmiTGcew7VtdrPiZ/h9/q0b1l8YSzYg5COez3FNyJ5BX2fSIK7mEsJJM0j?=
 =?iso-8859-1?Q?wu9jyKArdexJLaHUiOXr3cZcL0gcvEcwrPEYHwWkw92vXQ4R7kWQH4QWQI?=
 =?iso-8859-1?Q?yjX0WjI0Aath9CCW79Kk3DGMwAwP7xzLpn/3ZUKEqtGVnIOse9L/33CemA?=
 =?iso-8859-1?Q?7zvxJpdF6z9sWAdpahAZygZbOP0Qc11MyVUgv94N7oTdMVGZczru50Ig?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec4cec94-98f0-4cce-66fa-08dba8e66fe4
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:46.5786
 (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: PKDCx7Dw896ItdRlZvtWYxEDdZczHxxPDF2gWvudVyav0u1l0TRqFg/3FNzREVqMt7xXkahzFF9MMbja+h7BDIfzdqiXLhutmG8wIdU0x3w=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: rCJrE3s5XWWDEIfTuhdB4gLtIPBIRa8A
X-Proofpoint-GUID: rCJrE3s5XWWDEIfTuhdB4gLtIPBIRa8A
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

There are three  originators for the PCI configuration space access:
1. The domain that owns physical host bridge: MMIO handlers are
there so we can update vPCI register handlers with the values
written by the hardware domain, e.g. physical view of the registers
vs guest's view on the configuration space.
2. Guest access to the passed through PCI devices: we need to properly
map virtual bus topology to the physical one, e.g. pass the configuration
space access to the corresponding physical devices.
3. Emulated host PCI bridge access. It doesn't exist in the physical
topology, e.g. it can't be mapped to some physical host bridge.
So, all access to the host bridge itself needs to be trapped and
emulated.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
Since v9:
- Commend about required lock replaced with ASSERT()
- Style fixes
- call to vpci_translate_virtual_device folded into vpci_sbdf_from_gpa
Since v8:
- locks moved out of vpci_translate_virtual_device()
Since v6:
- add pcidevs locking to vpci_translate_virtual_device
- update wrt to the new locking scheme
Since v5:
- add vpci_translate_virtual_device for #ifndef CONFIG_HAS_VPCI_GUEST_SUPPO=
RT
  case to simplify ifdefery
- add ASSERT(!is_hardware_domain(d)); to vpci_translate_virtual_device
- reset output register on failed virtual SBDF translation
Since v4:
- indentation fixes
- constify struct domain
- updated commit message
- updates to the new locking scheme (pdev->vpci_lock)
Since v3:
- revisit locking
- move code to vpci.c
Since v2:
 - pass struct domain instead of struct vcpu
 - constify arguments where possible
 - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
New in v2
---
 xen/arch/arm/vpci.c     | 51 ++++++++++++++++++++++++++++++++---------
 xen/drivers/vpci/vpci.c | 25 +++++++++++++++++++-
 xen/include/xen/vpci.h  | 10 ++++++++
 3 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 3bc4bb5508..58e2a20135 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -7,31 +7,55 @@
=20
 #include <asm/mmio.h>
=20
-static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
-                                     paddr_t gpa)
+static bool_t vpci_sbdf_from_gpa(struct domain *d,
+                                 const struct pci_host_bridge *bridge,
+                                 paddr_t gpa, pci_sbdf_t *sbdf)
 {
-    pci_sbdf_t sbdf;
+    ASSERT(sbdf);
=20
     if ( bridge )
     {
-        sbdf.sbdf =3D VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
-        sbdf.seg =3D bridge->segment;
-        sbdf.bus +=3D bridge->cfg->busn_start;
+        sbdf->sbdf =3D VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
+        sbdf->seg =3D bridge->segment;
+        sbdf->bus +=3D bridge->cfg->busn_start;
     }
     else
-        sbdf.sbdf =3D VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
-
-    return sbdf;
+    {
+        bool translated;
+
+        /*
+         * For the passed through devices we need to map their virtual SBD=
F
+         * to the physical PCI device being passed through.
+         */
+        sbdf->sbdf =3D VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
+        read_lock(&d->pci_lock);
+        translated =3D vpci_translate_virtual_device(d, sbdf);
+        read_unlock(&d->pci_lock);
+
+        if ( !translated )
+        {
+            return false;
+        }
+    }
+    return true;
 }
=20
 static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
                           register_t *r, void *p)
 {
     struct pci_host_bridge *bridge =3D p;
-    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
     /* data is needed to prevent a pointer cast on 32bit */
     unsigned long data;
=20
+    ASSERT(!bridge =3D=3D !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+    {
+        *r =3D ~0ul;
+        return 1;
+    }
+
     if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa),
                         1U << info->dabt.size, &data) )
     {
@@ -48,7 +72,12 @@ static int vpci_mmio_write(struct vcpu *v, mmio_info_t *=
info,
                            register_t r, void *p)
 {
     struct pci_host_bridge *bridge =3D p;
-    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
+
+    ASSERT(!bridge =3D=3D !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+        return 1;
=20
     return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
                            1U << info->dabt.size, r);
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index b284f95e05..b8df8e3265 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -82,6 +82,30 @@ static int add_virtual_device(struct pci_dev *pdev)
     return 0;
 }
=20
+/*
+ * Find the physical device which is mapped to the virtual device
+ * and translate virtual SBDF to the physical one.
+ */
+bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbd=
f)
+{
+    const struct pci_dev *pdev;
+
+    ASSERT(!is_hardware_domain(d));
+    ASSERT(rw_is_locked(&d->pci_lock));
+
+    for_each_pdev ( d, pdev )
+    {
+        if ( pdev->vpci && (pdev->vpci->guest_sbdf.sbdf =3D=3D sbdf->sbdf)=
 )
+        {
+            /* Replace guest SBDF with the physical one. */
+            *sbdf =3D pdev->sbdf;
+            return true;
+        }
+    }
+
+    return false;
+}
+
 #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
=20
 void vpci_deassign_device(struct pci_dev *pdev)
@@ -181,7 +205,6 @@ int vpci_assign_device(struct pci_dev *pdev)
=20
     return rc;
 }
-
 #endif /* __XEN__ */
=20
 static int vpci_register_cmp(const struct vpci_register *r1,
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 58304523ab..e278fc8b69 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -281,6 +281,16 @@ static inline bool __must_check vpci_process_pending(s=
truct vcpu *v)
 }
 #endif
=20
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbd=
f);
+#else
+static inline bool vpci_translate_virtual_device(const struct domain *d,
+                                                 pci_sbdf_t *sbdf)
+{
+    return false;
+}
+#endif
+
 #endif
=20
 /*
--=20
2.41.0


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:20:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592524.925377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80L-0002Tf-81; Tue, 29 Aug 2023 23:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592524.925377; Tue, 29 Aug 2023 23:20:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb80K-0002Qy-MT; Tue, 29 Aug 2023 23:20:12 +0000
Received: by outflank-mailman (input) for mailman id 592524;
 Tue, 29 Aug 2023 23:20:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y18t=EO=epam.com=prvs=36058b40d2=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qb80H-0006kQ-OW
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:20:09 +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 975d823e-46c2-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:20:07 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37TFMk9g021983; Tue, 29 Aug 2023 23:19:49 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ssdvpbm4f-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 29 Aug 2023 23:19:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6371.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Tue, 29 Aug
 2023 23:19:42 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6699.034; Tue, 29 Aug 2023
 23:19: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: 975d823e-46c2-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nwRFIKQxV/4EBeCnkN+k9tbYlODgl03wOQ507M0uDlnZN9MLrGeTRSY3JYW5n/SXOKSUuwpEZ2IiNO5430mJc6YyAVYiQVm+/RjC0CzNDRlKBG+oy1G8MQRB7JNSKboCpF6RXKaQhX+pMVRcTn0TIabLtXxD0w2KvoF1VicF75z5BWry3QQKRiNuiJJeBHJXh/Zf4NNRYzShPnr573zK3kLgQ73tggDQFH5gZLbt7dLre26zZ8nBw/Na3uxb4+gM2D+zLBvu1a94Au54eAeoocW6YkRwSa7roNwDfUa6ePzNYui/jmsPBYG/HxJ8Biiqm+Bx+bEOl1wszmgOlC3isw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uPcQXPgI5mctGtrdP3jDDvVvUOnHDqkbfoeVa86vr+I=;
 b=Kl2MIyHpnRqJOu65xDcql0WPcuKvh/OQw4uB72qc6Nj64CKoZ/0wkrVessRuWh3RyCR1m6VivtrmdRKQVreWMcciySZ+BLgbMl+BxLm9ef+nGD/U8Sg5C1pljkvPNJnSa9ZFF2ghwYqXLw80BBXsFMFsn7FC1CSV69XkYNkDN0MuO3M+qnAUm+XT/XaXjKZGg7SHm4JXHa1fvA5xlB632+8Ty64kilXjp5umCZj5dMirLXH4KBR+J1LUEmNsNonwIaMo99jdajo9NWJIBjxHaVUoFmaN6cpUlitvmF6KRabtHw0x2oqni6qDzuuIbHIVBQupcAFC3D4llMLE74Bgkw==
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=uPcQXPgI5mctGtrdP3jDDvVvUOnHDqkbfoeVa86vr+I=;
 b=YtcZoPlHKsWxfhEJMtyFFDd50kYPOE9XF2bOA7C/rW1DjBfkEETYGytJ/5JxkJiAGg1xoZbxsgGbgnNWinlZbbYCqIW8PzJnmQ7ji07otWABLsDUIg3+Lcz81C2ygtMIKnTdHhPBTf27dGBTb0p1f8OOIqwToSrpa9sXtgw3SYIx3YWbl5AtL1TsJyBYowWJw5iDKsoSXfNUFBWZQ/p1nEJM/8QanoBWunjY+1N0Cs6N4n0OWsmce1qTOeyCWSZNzfHDXurT1HyONl56z86OQWgQPU+VILym4pFuIiXRxcvwozwlr1hcPYhlx7kL+no/vy/TkfgblOrVrp1yO1qvfw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@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>, Julien Grall <julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        Paul Durrant <paul@xen.org>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Kevin Tian
	<kevin.tian@intel.com>,
        Jun Nakajima <jun.nakajima@intel.com>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 00/16] PCI devices passthrough on Arm, part 3
Thread-Topic: [PATCH v9 00/16] PCI devices passthrough on Arm, part 3
Thread-Index: AQHZ2s9JMemQqeQYOU6/+Cr/izf61Q==
Date: Tue, 29 Aug 2023 23:19:41 +0000
Message-ID: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: git-send-email 2.41.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6371:EE_
x-ms-office365-filtering-correlation-id: 86d1d6bb-27f4-4868-2a72-08dba8e66c4c
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: 
 nCRgzZiwwd18zcYwdD1WeobdHNrvNNjqZUlUO0K00SpLCdIlGciifnzvWKlk0SPdSlQFkZQhaylD1sXNJrbYCh6PqOFIzHlKyhj+q4uRMFLAhpu+7mE9RA9zH1r73FDtkngJpxA5kG8VZ8aU8gE5IVGWibym0L1hqvnKjS/WRPq7YpgfNF62JfD7cL6H0a9P5UU8l7ty01pKj0u4ngCN14jAVeqv5wP7BVVcLeW4ZsfrLzSxUua+PJsJ2NClJt4+GOCwMgvidoFkbMJYRilhrsohTC0sdRYj2womLh8RG7A66uNGP7pWvv55r/AF5Hd9gaqQyJ/TrEkjoPFTdN28a+ARiymMtYT0W22negE9tA55kE7sX/EgJim/56oDDJnuwhaAb6+SF0fZgtOj1sV6MCj8U5+FJoej2ifUrplNaYUCu2ODcu1WqNKX/Wiuk9rdnjo/YS13susXa+zd+yB86mSLdzIN7xGSEOQ/KFVq6cPyWpD+u9xsSz2rhmtsaXpoGLfMdMIXba0FxmZCCCVnxh2ScySNOvtMAsdCpSOAqYdBRPOsnZxdz6THBR9K6x0B195Tb1qlJxeiOeStMWPqht0GkVR8uen1GwwtagEuuJuDA2ri4P0OpsY6OsP8tj9d
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199024)(1800799009)(186009)(71200400001)(6512007)(6506007)(6486002)(478600001)(55236004)(76116006)(1076003)(2616005)(107886003)(26005)(2906002)(6916009)(64756008)(7416002)(66446008)(54906003)(316002)(5660300002)(66476007)(66556008)(91956017)(66946007)(41300700001)(83380400001)(8936002)(4326008)(8676002)(36756003)(38070700005)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?RFVaNDZabWk2WkVkQjBWN0tMQjVuNEtLd29EUlhrWjFjaHQwR2JjL2tma2V6?=
 =?utf-8?B?Rm5DL1diWVpzV2tLV00zakhEeUx5cU9wTExndHFUVGJDaG5Dek5aYlArNHZm?=
 =?utf-8?B?ZzNyMEZrUTdHYXNJWk9rNzZrYVlJcTBOb1RHLzBhZnhPeDJzQ1JERE1zcGFl?=
 =?utf-8?B?cjlrYUdzUDNXdzkwbTF5VnlQZ1IweGVqWlIzN20yNnhIUHUxWHRwY0NJT00v?=
 =?utf-8?B?MzNmNjdYNzVLQTZvbExUUkREandSYkE5Sjk2WDdtbDNtY0lqOHpsQm9GazRD?=
 =?utf-8?B?Y3B5OXhybkVvODlGTkp1M1Q3dlh1T2psYjh6TjU3VHJicXFxVEwwbnVhYnRw?=
 =?utf-8?B?NWNFWVFtMDBzOG12bmNpRG9qMk5ZYkhPaEozNTZUN0ZvWkdISG5ObDhuYWFR?=
 =?utf-8?B?UWxVOXR4ZmF6UGpUQnN6RGxsQUJraUpBbkx1UVVKYVI4b3lLMVN3MXpHd0Qx?=
 =?utf-8?B?NCtVZ01NdGhzbnFMSkJzM3dCbTB1MEFDZnpCUmVnQk83SEVuam5NZUZ6LzI4?=
 =?utf-8?B?WE1mdzRoZ1gybW5JbEhoVGRQdXJaUTIrQlV2bjdvSXRtT2tCb0xNa0FxN1F6?=
 =?utf-8?B?akZSVU5HdGVTMER1VEEyVUJ1ckc1UzJTUmpDbGVxaldwdDNBRk9Sbm9Ra3Zy?=
 =?utf-8?B?bHZmZjJEYmNPcVlMYkt4NldPdHgva2hOa09YRWFhT1cyZ2Rlc2F0elhUaW1y?=
 =?utf-8?B?ZExEV1crWTBLWFFBblZDWTdNT1ZNUmdUL1dlckt2VkZUbC9UTXdnK1Qzb0ww?=
 =?utf-8?B?WkdMZ0x4NGIvUll1eW55MjdUdGVDR2UxK3N6dE8zdmp1R21kNCthZ0FaZVBw?=
 =?utf-8?B?RnI2bWkvem9idmwxZTdIZFVXcXVobkpuRVMwZzZtMGtFZC90ZzBVblVRZHZM?=
 =?utf-8?B?cjdMWkR5bE5WUHY0elNSclNKSVFEUkNFaTlhV2c5Y2JVRWdaaWpwdm5DSWU0?=
 =?utf-8?B?NVprcTFjUkQ2ZVZFSVJ2N01oUllzT3gyejNNNnhjRWlhNWtZVHJ2RjhyZXJC?=
 =?utf-8?B?Umh2cjdJWjl4UlRVd09meTlZS3ZOQWllS3dyQ2ttWmNhdUtOL21RUTNCUXFj?=
 =?utf-8?B?S25La2dUSER3RSsrUXJGZHZEWlYrejRNTGJhRk5UZ0pZRFUxYU8reHJ3VHQy?=
 =?utf-8?B?ZkdIZmd3WGtBWDBuQWFiNExXWGtGOHhGVE4rYlFXalQzc3pocGN4VTYwR3k3?=
 =?utf-8?B?eVhzT1diTEN4NDVqMzhCdEFjWmtaU2tzaE1NZ0FyMXlTeXRMam5xcSsvMmVW?=
 =?utf-8?B?a3c2eDBOMnY0dHpCNGdMOHdvUVpvNllMWHJEMzh4VkMyQ2pxSXZuM2dja3pE?=
 =?utf-8?B?THFpT2JsSnVQbk81dlhlcGdaY0JwcmdzeTQ4eDlxSUt4RDliM0V2cHZHS01m?=
 =?utf-8?B?amZMVlJLekRWeEZsZjFlSmE5NDRqbmw4aUlBTUYyWkY3UjNTSXdaMTZvYlls?=
 =?utf-8?B?bGF1aCtHcXljdjlyaklFWktjbkFNTDNkRG9xMTdDQ2VQWWRMekRWWmNqWEdJ?=
 =?utf-8?B?cUp2SDBnNGVPU0hFNEpZY3JWOWR1YWQ0RFpYa0JRZ2UrVTh5bCtDODdmMGVF?=
 =?utf-8?B?YlovZklyam5vUFN1OSs5UnNFTUxHMUNpSG5UZTgwbWtBRklLN3F5Rk1DUGRw?=
 =?utf-8?B?R3NZcjB2Q2xwMWNacnZVV1BpZDdhN2MrMUlFY05nRnZFMmxnMyt4OGNxNGdZ?=
 =?utf-8?B?TENMMXloRnVJZ0d1ZkJqZGpCc293TnFnUkp6cVJ3WUd0TWNiWGFmUk1kNlRZ?=
 =?utf-8?B?VVJ2cm9xb0hYbkFkWU5pNW9yODdEbnRZL09TMzA1THdIY3pJcCtZOXN4K3Rk?=
 =?utf-8?B?VVF0d3dXdFUrZU1CdjduYlB2MFJYUmFPMXBwUElDZSszVmhyNkl6S2h1VGtC?=
 =?utf-8?B?KzlEbXFGWUxKMGhLa1ZxQktBbDlaRFJKeGlMZWNBMldzbmxQUEQyaWNkTzNI?=
 =?utf-8?B?bUxKUG5SNEtJZENwT2piTkU0ZmU5MHhLWXVrNlRBR29manEySkpOMlFwVTZm?=
 =?utf-8?B?N0JkdVdpVDU3SG5ZUUNYUWFiVjcrZ3lHNDIyQWlwbzJyVTkrSkZmSnllN1lt?=
 =?utf-8?B?MFBuYnVZcGMvSG1neXVhWlQxc01ENDJTbHRzeEtJUEZzRXlNd05YaDdrZTY2?=
 =?utf-8?B?TUFGMnBNbzZIeFY1OU14WTd2WnVNK1QwRDJkb3duVm04alBxczhNRlJvb0tG?=
 =?utf-8?B?YXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <902A2B3C8CD1274E9B14BE68D5851568@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86d1d6bb-27f4-4868-2a72-08dba8e66c4c
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2023 23:19:41.5885
 (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: fCxFSzy6qpGwpHZbYt5L588kVZ+15oWUc9UAs58UM1Xr1TqSVJnT88ETHOLK2keoLIJAtwQou4OzB7hHn7674fzI0Naee/jc7e9sRlGT/d8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6371
X-Proofpoint-ORIG-GUID: l7S2BoXKZoQ1lr1tKx84gsci3KbLh4-Y
X-Proofpoint-GUID: l7S2BoXKZoQ1lr1tKx84gsci3KbLh4-Y
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-29_16,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0
 mlxscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=793
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308290202

SGVsbG8gYWxsLA0KDQpUaGlzIGlzIG5leHQgdmVyc2lvbiBvZiB2UENJIHJld29yay4gQWltIG9m
IHRoaXMgc2VyaWVzIGlzIHRvIHByZXBhcmUNCmdyb3VuZCBmb3IgaW50cm9kdWNpbmcgUENJIHN1
cHBvcnQgb24gQVJNIHBsYXRmb3JtLg0KDQpUaGlzIHZlc2lvbiBpbmNsdWRlcyBhZGRyZXNzZWQg
Y29tbWVudGVzIGZyb20gYSBwcmV2aW91cyBvbmUuIEFsc28gaXQNCmludHJvZHVjZXMgYSBjb3Vw
bGUgcGF0Y2hlcyBmcm9tIFN0ZXdhcnQuIFRoaXMgcGF0Y2hlcyBhcmUgcmVsYXRlZCB0bw0KdlBD
SSB1c2Ugb24gQVJNLiBQYXRjaCAidnBjaS9oZWFkZXI6IHJld29yayBleGl0IHBhdGggaW4gaW5p
dF9iYXJzIg0Kd2FzIGZhY3RvcmVkLW91dCBmcm9tICJ2cGNpL2hlYWRlcjogaGFuZGxlIHAybSBy
YW5nZSBzZXRzIHBlciBCQVIiLg0KDQpDaGFuZ2VzIGZyb20gcHJldmlvdXMgdmVyc2lvbnMgYXJl
IGRlc2NyaWJlZCBpbiBlYWNoIHNlcGFyYXRlIHBhdGNoLg0KDQpPbGVrc2FuZHIgQW5kcnVzaGNo
ZW5rbyAoMTIpOg0KICB2cGNpOiB1c2UgcGVyLWRvbWFpbiBQQ0kgbG9jayB0byBwcm90ZWN0IHZw
Y2kgc3RydWN0dXJlDQogIHZwY2k6IHJlc3RyaWN0IHVuaGFuZGxlZCByZWFkL3dyaXRlIG9wZXJh
dGlvbnMgZm9yIGd1ZXN0cw0KICB2cGNpOiBhZGQgaG9va3MgZm9yIFBDSSBkZXZpY2UgYXNzaWdu
L2RlLWFzc2lnbg0KICB2cGNpL2hlYWRlcjogaW1wbGVtZW50IGd1ZXN0IEJBUiByZWdpc3RlciBo
YW5kbGVycw0KICByYW5nZXNldDogYWRkIFJBTkdFU0VURl9ub19wcmludCBmbGFnDQogIHZwY2kv
aGVhZGVyOiBoYW5kbGUgcDJtIHJhbmdlIHNldHMgcGVyIEJBUg0KICB2cGNpL2hlYWRlcjogcHJv
Z3JhbSBwMm0gd2l0aCBndWVzdCBCQVIgdmlldw0KICB2cGNpL2hlYWRlcjogZW11bGF0ZSBQQ0lf
Q09NTUFORCByZWdpc3RlciBmb3IgZ3Vlc3RzDQogIHZwY2kvaGVhZGVyOiByZXNldCB0aGUgY29t
bWFuZCByZWdpc3RlciB3aGVuIGFkZGluZyBkZXZpY2VzDQogIHZwY2k6IGFkZCBpbml0aWFsIHN1
cHBvcnQgZm9yIHZpcnR1YWwgUENJIGJ1cyB0b3BvbG9neQ0KICB4ZW4vYXJtOiB0cmFuc2xhdGUg
dmlydHVhbCBQQ0kgYnVzIHRvcG9sb2d5IGZvciBndWVzdHMNCiAgeGVuL2FybTogYWNjb3VudCBJ
TyBoYW5kbGVycyBmb3IgZW11bGF0ZWQgUENJIE1TSS1YDQoNClN0ZXdhcnQgSGlsZGVicmFuZCAo
Mik6DQogIHhlbi9hcm06IHZwY2k6IGNoZWNrIGd1ZXN0IHJhbmdlDQogIHhlbi9hcm06IHZwY2k6
IHBlcm1pdCBhY2Nlc3MgdG8gZ3Vlc3QgdnBjaSBzcGFjZQ0KDQpWb2xvZHlteXIgQmFiY2h1ayAo
Mik6DQogIHBjaTogaW50cm9kdWNlIHBlci1kb21haW4gUENJIHJ3bG9jaw0KICB2cGNpL2hlYWRl
cjogcmV3b3JrIGV4aXQgcGF0aCBpbiBpbml0X2JhcnMNCg0KIHhlbi9hcmNoL2FybS92cGNpLmMg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzEgKystDQogeGVuL2FyY2gveDg2L2h2bS92bXNp
LmMgICAgICAgICAgICAgICAgICAgICB8ICAyNCArLQ0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3Zt
eC5jICAgICAgICAgICAgICAgICAgfCAgIDIgLQ0KIHhlbi9hcmNoL3g4Ni9pcnEuYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgMTUgKy0NCiB4ZW4vYXJjaC94ODYvbXNpLmMgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICA4ICstDQogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgNSArLQ0KIHhlbi9jb21tb24vcmFuZ2VzZXQuYyAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDUgKy0NCiB4ZW4vZHJpdmVycy9LY29uZmlnICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICA0ICsNCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jIHwgICA5ICstDQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgICAgICAgICAg
ICAgICB8IDEwMyArKystDQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgICAg
ICAgICB8ICAgOSArLQ0KIHhlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMgICAgICAgICAgICAgICAg
ICAgfCA0OTcgKysrKysrKysrKysrKysrKy0tLS0NCiB4ZW4vZHJpdmVycy92cGNpL21zaS5jICAg
ICAgICAgICAgICAgICAgICAgIHwgIDMyICstDQogeGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMgICAg
ICAgICAgICAgICAgICAgICB8ICA1NiArKy0NCiB4ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyAgICAg
ICAgICAgICAgICAgICAgIHwgMTU4ICsrKysrKy0NCiB4ZW4vaW5jbHVkZS94ZW4vcmFuZ2VzZXQu
aCAgICAgICAgICAgICAgICAgIHwgICA1ICstDQogeGVuL2luY2x1ZGUveGVuL3NjaGVkLmggICAg
ICAgICAgICAgICAgICAgICB8ICAgOSArDQogeGVuL2luY2x1ZGUveGVuL3ZwY2kuaCAgICAgICAg
ICAgICAgICAgICAgICB8ICAzOSArLQ0KIDE4IGZpbGVzIGNoYW5nZWQsIDg2OCBpbnNlcnRpb25z
KCspLCAxODMgZGVsZXRpb25zKC0pDQoNCi0tIA0KMi40MS4wDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:46:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592631.925403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb8PG-0005pi-O7; Tue, 29 Aug 2023 23:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592631.925403; Tue, 29 Aug 2023 23: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 1qb8PG-0005pb-LK; Tue, 29 Aug 2023 23:45:58 +0000
Received: by outflank-mailman (input) for mailman id 592631;
 Tue, 29 Aug 2023 23: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=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb8PF-0005pV-78
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:45:57 +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 30b93ade-46c6-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:45:53 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6089F61C41;
 Tue, 29 Aug 2023 23:45:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B695C433C7;
 Tue, 29 Aug 2023 23:45:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30b93ade-46c6-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693352751;
	bh=sMMFuHlYCVN70oonuWzP4jeZn7P/QwCbAEtpX30ZDsg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JxgXIlqvUK7/DxKphGDis5Ox4FRJTFmaNZHoD5Fpf01XQx5neiHxD7XIcnRDPnc4J
	 kcZEyLfRYj1MNFbQNEFvhm3B8zaDBBRiKQRXohHWnDbsNIGyHwStGPo6RTYu/8OIC4
	 YXQHrBNGXNPXXMRI4D0jPFXuxlUDHYxUS+vDiJBGQIeVDwSW1LZ6vMlHEImqMZvoQC
	 km7jg1KtrPrXtZyaZ7x85y4ANYL/bxj/57rgWUslGtT2JCz1AQIWMuglOwjRzZ/O5G
	 cH4/RNpAWDpFZpZvTJAUEkQum4lhgRTOL27HVhZG39NrFzlQgwodGPlcoQgbgKr50t
	 8pHCmVtzgIJcg==
Date: Tue, 29 Aug 2023 16:45:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    sstabellini@kernel.org, julien@xen.org, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v10 16/20] xen/arm: Implement device tree node
 removal functionalities
In-Reply-To: <20230825080222.14247-17-vikram.garhwal@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308291638010.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-17-vikram.garhwal@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 25 Aug 2023, Vikram Garhwal wrote:
> Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
> device tree overlay.
> 
> xl dt-overlay remove file.dtbo:
>     Removes all the nodes in a given dtbo.
>     First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
>     in dt_host and delete the device node entries from dt_host.
> 
>     The nodes get removed only if it is not used by any of dom0 or domio.
> 
> Also, added overlay_track struct to keep the track of added node through device
> tree overlay. overlay_track has dt_host_new which is unflattened form of updated
> fdt and name of overlay nodes. When a node is removed, we also free the memory
> used by overlay_track for the particular overlay node.
> 
> Nested overlay removal is supported in sequential manner only i.e. if
> overlay_child nests under overlay_parent, it is assumed that user first removes
> overlay_child and then removes overlay_parent.
> Also, this is an experimental feature so it is expected from user to make sure
> correct device tree overlays are used when adding nodes and making sure devices
> are not being used by other domain before removing them from Xen tree.
> Partially added/removed i.e. failures while removing the overlay may cause other
> failures and might need a system reboot.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> ---
> Changes from v9:
>     Remove iommu and IRQ routing as this will not be done while adding the nodes.

I understand about IRQ routing. But I am confused by the removal of the
call to iommu_remove_dt_device.

handle_device (called by add_nodes) calls iommu_add_dt_device when
adding the device for dom0 (this is the "own_device" case)

So here we need to remove it from the iommu? That seems like a mistake?


> Changes from v8:
>     Remove IRQs and IOMMU entries using rangesets instead of parsing each node.
> Changes from v7:
>     Add dt-overlay.c in MAINTAINERS.
>     Add comments for dt_overlay_remove_node.
>     Rename handle_remove_irq_iommu() to remove_resources().
>     Add comment regarding false mapping flag for reason behind not removing the
>     mapping..
>     Remove irq_access_premitted() check.
>     Add error handling for remove_all_descendant_nodes
>     Change read_lock with write_lock.
>     Remove check_overlay_fdt() call from handle_remove_overlay_nodes().
>     Re-organize dt_sysctl and reutnr -EOPNOSTSUPP for error cases. Also, renamed
>         this function to dt_overlay_sysctl.
>     Remove unnecessary header includes in dt-overlay.h
>     Correct indentation and make func   tion inputs const wherever possible.
>     Make overlay_fdt const_void inside xen_sysctl_dt_overlay{}.
>     Add comment regarding why we not removing IRQ and MMIO mappings.
>     Move overlay_node_count() out of this patch as it's not being used here
>         anymore.
> Changes from v6:
>     Add explicit padding for xen_system_dt_overlay{}
>     Update license.
>     Rearrange xfree in dt_sysctl()
>     Update overlay_track struct comment with relevant message.
>     Fix missing xen/errno.h for builds without CONFIG_OVERLAY_DTB cases.
>     Fix header formatting.
> ---
> ---
>  MAINTAINERS                  |   1 +
>  xen/arch/arm/sysctl.c        |  16 +-
>  xen/common/Makefile          |   1 +
>  xen/common/dt-overlay.c      | 392 +++++++++++++++++++++++++++++++++++
>  xen/include/public/sysctl.h  |  24 +++
>  xen/include/xen/dt-overlay.h |  63 ++++++
>  6 files changed, 496 insertions(+), 1 deletion(-)
>  create mode 100644 xen/common/dt-overlay.c
>  create mode 100644 xen/include/xen/dt-overlay.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a0805d35cd..c41a7c5440 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -301,6 +301,7 @@ M:	Julien Grall <julien@xen.org>
>  S:	Supported
>  F:	xen/common/libfdt/
>  F:	xen/common/device_tree.c
> +F:	xen/common/dt-overlay.c
>  F:	xen/include/xen/libfdt/
>  F:	xen/include/xen/device_tree.h
>  F:	xen/drivers/passthrough/device_tree.c
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index e9a0661146..5cda0dc674 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -9,6 +9,7 @@
>  
>  #include <xen/types.h>
>  #include <xen/lib.h>
> +#include <xen/dt-overlay.h>
>  #include <xen/errno.h>
>  #include <xen/hypercall.h>
>  #include <asm/arm64/sve.h>
> @@ -25,7 +26,20 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  long arch_do_sysctl(struct xen_sysctl *sysctl,
>                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>  {
> -    return -ENOSYS;
> +    long ret;
> +
> +    switch ( sysctl->cmd )
> +    {
> +    case XEN_SYSCTL_dt_overlay:
> +        ret = dt_overlay_sysctl(&sysctl->u.dt_overlay);
> +        break;
> +
> +    default:
> +        ret = -ENOSYS;
> +        break;
> +    }
> +
> +    return ret;
>  }
>  
>  /*
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index 46049eac35..e7e96b1087 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -8,6 +8,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>  obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
>  obj-$(CONFIG_IOREQ_SERVER) += dm.o
>  obj-y += domain.o
> +obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
>  obj-y += event_2l.o
>  obj-y += event_channel.o
>  obj-y += event_fifo.o
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> new file mode 100644
> index 0000000000..12a3029fee
> --- /dev/null
> +++ b/xen/common/dt-overlay.c
> @@ -0,0 +1,392 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/common/dt-overlay.c
> + *
> + * Device tree overlay support in Xen.
> + *
> + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> + * Written by Vikram Garhwal <vikram.garhwal@amd.com>
> + *
> + */
> +#include <asm/domain_build.h>
> +#include <xen/dt-overlay.h>
> +#include <xen/guest_access.h>
> +#include <xen/iocap.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/xmalloc.h>
> +
> +static LIST_HEAD(overlay_tracker);
> +static DEFINE_SPINLOCK(overlay_lock);
> +
> +/* Find last descendants of the device_node. */
> +static struct dt_device_node *
> +find_last_descendants_node(const struct dt_device_node *device_node)
> +{
> +    struct dt_device_node *child_node;
> +
> +    for ( child_node = device_node->child; child_node->sibling != NULL;
> +          child_node = child_node->sibling );
> +
> +    /* If last child_node also have children. */
> +    if ( child_node->child )
> +        child_node = find_last_descendants_node(child_node);
> +
> +    return child_node;
> +}
> +
> +static int dt_overlay_remove_node(struct dt_device_node *device_node)
> +{
> +    struct dt_device_node *np;
> +    struct dt_device_node *parent_node;
> +    struct dt_device_node *last_descendant = device_node->child;
> +
> +    parent_node = device_node->parent;
> +
> +    /* Check if we are trying to remove "/" i.e. root node. */
> +    if ( parent_node == NULL )
> +    {
> +        dt_dprintk("%s's parent node not found\n", device_node->name);
> +        return -EFAULT;
> +    }
> +
> +    /* Sanity check for linking between parent and child node. */
> +    np = parent_node->child;
> +    if ( np == NULL )
> +    {
> +        dt_dprintk("parent node %s's not found\n", parent_node->name);
> +        return -EFAULT;
> +    }
> +
> +    /* If node to be removed is only child node or first child. */
> +    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
> +    {
> +        parent_node->child = np->sibling;
> +
> +        /*
> +         * Iterate over all child nodes of device_node. Given that we are
> +         * removing a node, we need to remove all it's descendants too.
> +         * Reason behind finding last_descendant:
> +         * If device_node has multiple children, device_node->allnext will point
> +         * to first_child and first_child->allnext will be a sibling. When the
> +         * device_node and it's all children are removed, parent_node->allnext
> +         * should point to node next to last children.
> +         */
> +        if ( last_descendant )
> +        {
> +            last_descendant = find_last_descendants_node(device_node);
> +            parent_node->allnext = last_descendant->allnext;
> +        }
> +        else
> +            parent_node->allnext = np->allnext;
> +
> +        return 0;
> +    }
> +
> +    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
> +    {
> +        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
> +        {
> +            /* Found the node. Now we remove it. */
> +            np->sibling = np->sibling->sibling;
> +
> +            if ( np->child )
> +                np = find_last_descendants_node(np);
> +
> +            /*
> +             * Iterate over all child nodes of device_node. Given that we are
> +             * removing parent node, we need to remove all it's descendants too.
> +             */
> +            if ( last_descendant )
> +                last_descendant = find_last_descendants_node(device_node);
> +
> +            if ( last_descendant )
> +                np->allnext = last_descendant->allnext;
> +            else
> +                np->allnext = np->allnext->allnext;
> +
> +            break;
> +        }
> +    }
> +
> +    return 0;
> +}
> +
> +/* Basic sanity check for the dtbo tool stack provided to Xen. */
> +static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
> +{
> +    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
> +          fdt_check_header(overlay_fdt) )
> +    {
> +        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
> +        return -EINVAL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int irq_remove_cb(unsigned long s, unsigned long e, void *dom,
> +                         unsigned long *c)
> +{
> +    int rc;
> +    struct domain *d = dom;
> +
> +    /*
> +     * TODO: We don't handle shared IRQs for now. So, it is assumed that
> +     * the IRQs was not shared with another devices.
> +     * TODO: Undo the IRQ routing.
> +     */
> +    rc = irq_deny_access(d, s);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "unable to revoke access for irq %lu\n", s);
> +    }
> +    else
> +        *c += e - s + 1;
> +
> +    return rc;
> +
> +}
> +
> +static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
> +                           unsigned long *c)
> +{
> +    int rc;
> +    struct domain *d = dom;
> +
> +    /*
> +    * Remove mmio access.
> +    * TODO: Support for remove/add the mapping in P2M.
> +    */
> +    rc = iomem_deny_access(d, s, e);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Unable to remove dom%d access to"
> +               " 0x%"PRIx64" - 0x%"PRIx64"\n",
> +               d->domain_id,
> +               s & PAGE_MASK, PAGE_ALIGN(e) - 1);
> +    }
> +    else
> +        *c += e - s + 1;
> +
> +    return rc;
> +}
> +
> +/* Check if node itself can be removed. */
> +static bool check_node_removable(struct dt_device_node *device_node)
> +{
> +    domid_t domid;
> +
> +    domid = dt_device_used_by(device_node);
> +
> +    dt_dprintk("Checking if node %s is used by any domain\n",
> +               device_node->full_name);
> +
> +    /* 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 false;
> +    }
> +
> +
> +    return true;
> +}
> +
> +/* Check if all descendants of the given node are removable. */
> +static bool
> +check_descendant_nodes_removable(const struct dt_device_node *device_node)
> +{
> +    bool rc = true;
> +    struct dt_device_node *child_node;
> +
> +    for ( child_node = device_node->child; child_node != NULL;
> +         child_node = child_node->sibling )
> +    {
> +        if ( child_node->child )
> +        {
> +            rc = check_descendant_nodes_removable(child_node);
> +            if ( !rc )
> +                return rc;
> +        }
> +
> +        rc = check_node_removable(child_node);
> +        if ( !rc )
> +            return rc;
> +    }
> +
> +    return rc;
> +}
> +
> +/* Remove nodes from dt_host. */
> +static int remove_nodes(const struct overlay_track *tracker)
> +{
> +    int rc = 0;
> +    struct dt_device_node *overlay_node;
> +    unsigned int j;
> +    struct domain *d = hardware_domain;
> +
> +    for ( j = 0; j < tracker->num_nodes; j++ )
> +    {
> +        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
> +        if ( overlay_node == NULL )
> +        {
> +            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
> +                   overlay_node->full_name);
> +            return -EINVAL;
> +        }
> +
> +        if ( !check_descendant_nodes_removable(overlay_node) )
> +            return -EINVAL;
> +
> +        if ( !check_node_removable(overlay_node) )
> +            return -EINVAL;
> +
> +        dt_dprintk("Removing node: %s\n", overlay_node->full_name);
> +
> +        write_lock(&dt_host_lock);
> +
> +        rc = dt_overlay_remove_node(overlay_node);
> +        if ( rc )
> +        {
> +            write_unlock(&dt_host_lock);
> +            return rc;
> +        }
> +
> +        write_unlock(&dt_host_lock);
> +    }
> +
> +    /* Remove IRQ access. */
> +    if ( tracker->irq_ranges )
> +    {
> +        rc = rangeset_consume_ranges(tracker->irq_ranges, irq_remove_cb, d);
> +        if ( rc )
> +            return rc;
> +    }
> +
> +   /* Remove mmio access. */
> +    if ( tracker->iomem_ranges )
> +    {
> +        rc = rangeset_consume_ranges(tracker->iomem_ranges, iomem_remove_cb, d);
> +        if ( rc )
> +            return rc;
> +    }
> +
> +    return rc;
> +}
> +
> +/*
> + * First finds the device node to remove. Check if the device is being used by
> + * any dom and finally remove it from dt_host. IOMMU is already being taken care
> + * while destroying the domain.
> + */
> +static long handle_remove_overlay_nodes(const void *overlay_fdt,
> +                                        uint32_t overlay_fdt_size)
> +{
> +    int rc;
> +    struct overlay_track *entry, *temp, *track;
> +    bool found_entry = false;
> +
> +    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
> +    if ( rc )
> +        return rc;
> +
> +    spin_lock(&overlay_lock);
> +
> +    /*
> +     * First check if dtbo is correct i.e. it should one of the dtbo which was
> +     * used when dynamically adding the node.
> +     * Limitation: Cases with same node names but different property are not
> +     * supported currently. We are relying on user to provide the same dtbo
> +     * as it was used when adding the nodes.
> +     */
> +    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
> +    {
> +        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
> +        {
> +            track = entry;
> +            found_entry = true;
> +            break;
> +        }
> +    }
> +
> +    if ( !found_entry )
> +    {
> +        rc = -EINVAL;
> +
> +        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
> +               " Removing nodes is supported only for prior added dtbo.\n");
> +        goto out;
> +
> +    }
> +
> +    rc = remove_nodes(entry);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Removing node failed\n");
> +        goto out;
> +    }
> +
> +    list_del(&entry->entry);
> +
> +    xfree(entry->dt_host_new);
> +    xfree(entry->fdt);
> +    xfree(entry->overlay_fdt);
> +
> +    xfree(entry->nodes_address);
> +
> +    rangeset_destroy(entry->irq_ranges);
> +    rangeset_destroy(entry->iomem_ranges);
> +
> +    xfree(entry);
> +
> + out:
> +    spin_unlock(&overlay_lock);
> +    return rc;
> +}
> +
> +long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
> +{
> +    long ret;
> +    void *overlay_fdt;
> +
> +    if ( op->overlay_op != XEN_SYSCTL_DT_OVERLAY_ADD &&
> +         op->overlay_op != XEN_SYSCTL_DT_OVERLAY_REMOVE )
> +        return -EOPNOTSUPP;
> +
> +    if ( op->overlay_fdt_size == 0 || op->overlay_fdt_size > KB(500) )
> +        return -EINVAL;
> +
> +    if ( op->pad[0] || op->pad[1] || op->pad[2] )
> +        return -EINVAL;
> +
> +    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
> +
> +    if ( overlay_fdt == NULL )
> +        return -ENOMEM;
> +
> +    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
> +    if ( ret )
> +    {
> +        gprintk(XENLOG_ERR, "copy from guest failed\n");
> +        xfree(overlay_fdt);
> +
> +        return -EFAULT;
> +    }
> +
> +    if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
> +        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
> +
> +    xfree(overlay_fdt);
> +
> +    return ret;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> index fa7147de47..900239133a 100644
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -1059,6 +1059,25 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
>  #endif
>  
> +#if defined(__arm__) || defined (__aarch64__)
> +/*
> + * XEN_SYSCTL_dt_overlay
> + * Performs addition/removal of device tree nodes under parent node using dtbo.
> + * This does in three steps:
> + *  - Adds/Removes the nodes from dt_host.
> + *  - Adds/Removes IRQ permission for the nodes.
> + *  - Adds/Removes MMIO accesses.
> + */
> +struct xen_sysctl_dt_overlay {
> +    XEN_GUEST_HANDLE_64(const_void) overlay_fdt;  /* IN: overlay fdt. */
> +    uint32_t overlay_fdt_size;              /* IN: Overlay dtb size. */
> +#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. */
> +};
> +#endif
> +
>  struct xen_sysctl {
>      uint32_t cmd;
>  #define XEN_SYSCTL_readconsole                    1
> @@ -1089,6 +1108,7 @@ struct xen_sysctl {
>  #define XEN_SYSCTL_livepatch_op                  27
>  /* #define XEN_SYSCTL_set_parameter              28 */
>  #define XEN_SYSCTL_get_cpu_policy                29
> +#define XEN_SYSCTL_dt_overlay                    30
>      uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
>      union {
>          struct xen_sysctl_readconsole       readconsole;
> @@ -1119,6 +1139,10 @@ struct xen_sysctl {
>  #if defined(__i386__) || defined(__x86_64__)
>          struct xen_sysctl_cpu_policy        cpu_policy;
>  #endif
> +
> +#if defined(__arm__) || defined (__aarch64__)
> +        struct xen_sysctl_dt_overlay        dt_overlay;
> +#endif
>          uint8_t                             pad[128];
>      } u;
>  };
> diff --git a/xen/include/xen/dt-overlay.h b/xen/include/xen/dt-overlay.h
> new file mode 100644
> index 0000000000..c0567741ee
> --- /dev/null
> +++ b/xen/include/xen/dt-overlay.h
> @@ -0,0 +1,63 @@
> + /* SPDX-License-Identifier: GPL-2.0-only */
> + /*
> + * xen/dt-overlay.h
> + *
> + * Device tree overlay support in Xen.
> + *
> + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> + * Written by Vikram Garhwal <vikram.garhwal@amd.com>
> + *
> + */
> +#ifndef __XEN_DT_OVERLAY_H__
> +#define __XEN_DT_OVERLAY_H__
> +
> +#include <xen/device_tree.h>
> +#include <xen/list.h>
> +#include <xen/rangeset.h>
> +
> +/*
> + * overlay_track describes information about added nodes through dtbo.
> + * @entry: List pointer.
> + * @dt_host_new: Pointer to the updated dt_host_new which is unflattened from
> +    the 'updated fdt'.
> + * @fdt: Stores the fdt.
> + * @overlay_fdt: Stores a copy of input overlay_fdt.
> + * @nodes_address: Stores each overlay_node's address.
> + * @num_nodes: Total number of nodes in overlay dtb.
> + * @iomem_ranges: Range set to keep track of all IOMEMs.
> + * @irq_ranges: Range set to keep track of all added IRQs.
> + */
> +struct overlay_track {
> +    struct list_head entry;
> +    struct dt_device_node *dt_host_new;
> +    void *fdt;
> +    void *overlay_fdt;
> +    unsigned long *nodes_address;
> +    unsigned int num_nodes;
> +    struct rangeset *iomem_ranges;
> +    struct rangeset *irq_ranges;
> +};
> +
> +struct xen_sysctl_dt_overlay;
> +
> +#ifdef CONFIG_OVERLAY_DTB
> +long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op);
> +#else
> +#include <xen/errno.h>
> +static inline long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
> +
> +#endif /* __XEN_DT_OVERLAY_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 29 23:46:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 Aug 2023 23:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592632.925413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb8PN-000662-Vy; Tue, 29 Aug 2023 23:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592632.925413; Tue, 29 Aug 2023 23: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 1qb8PN-00065v-TD; Tue, 29 Aug 2023 23:46:05 +0000
Received: by outflank-mailman (input) for mailman id 592632;
 Tue, 29 Aug 2023 23:46: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=Jw1q=EO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb8PN-0005pV-7x
 for xen-devel@lists.xenproject.org; Tue, 29 Aug 2023 23:46:05 +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 357b283e-46c6-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 01:46:02 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6746762B98;
 Tue, 29 Aug 2023 23:46:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09BDAC433C8;
 Tue, 29 Aug 2023 23:45: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: 357b283e-46c6-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693352759;
	bh=MgSmD0NBzsjS+03YDm2oJN/IfGMQPdxCpz+aWHKZOec=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=b6POjxKVIFd1xmr7iEqN9l/MEN7mfxnMDALRf3Sysjw5gxBk0EZqjDt2NcTE20G93
	 5HmYChj6MVHYJlG42o15ydjHGURjWGuNWqdDgOkMnk8IDXQEvuAYxNE10lnBmKpR/T
	 0CnW4g+M/A+6XOv4oLKaD3rXfdxzYagTrSIgw1dtXVam+8mXHfFg/avdyJ5jRBvbCz
	 HLKdg6laKaOqddnLmin9jYEZfhlK1lNimXzkhWbaDtxME6CVoJDgPSSTjezivCRQ9B
	 MCB2L/6KV55EW3WSgCwfNm4W5JFwWvW7KPkBcXCwm5RnbytgzbiiySazOwFBK9/XKv
	 eyMQm8W1Jcq4Q==
Date: Tue, 29 Aug 2023 16:45:56 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 17/20] xen/arm: Implement device tree node
 addition functionalities
In-Reply-To: <20230825080222.14247-18-vikram.garhwal@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308291629330.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-18-vikram.garhwal@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 25 Aug 2023, Vikram Garhwal wrote:
> Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
> using device tree overlay.
> 
> xl dt-overlay add file.dtbo:
>     Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
>     device_tree_flattened) is created and updated with overlay nodes. This
>     updated fdt is further unflattened to a dt_host_new. Next, it checks if any
>     of the overlay nodes already exists in the dt_host. If overlay nodes doesn't
>     exist then find the overlay nodes in dt_host_new, find the overlay node's
>     parent in dt_host and add the nodes as child under their parent in the
>     dt_host. The node is attached as the last node under target parent.
> 
>     Finally, add IRQs, add device to IOMMUs, set permissions and map MMIO for the
>     overlay node.
> 
> When a node is added using overlay, a new entry is allocated in the
> overlay_track to keep the track of memory allocation due to addition of overlay
> node. This is helpful for freeing the memory allocated when a device tree node
> is removed.
> 
> The main purpose of this to address first part of dynamic programming i.e.
> making xen aware of new device tree node which means updating the dt_host with
> overlay node information. Here we are adding/removing node from dt_host, and
> checking/setting IOMMU and IRQ permission but never mapping them to any domain.
> Right now, mapping/Un-mapping will happen only when a new domU is
> created/destroyed using "xl create".
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

You missed Michal's comments to v7:
https://marc.info/?l=xen-devel&m=168595412610579



> ---
> Changes from v9:
>     Remove add_resources() and use handle_device().
> Changes from v8:
>     Add rangeset to keep IRQs and IOMEM information.
> Changes from v7:
>     Move overlay_node_count() in this patch.
>     Fix indent with goto statements.
>     Rename handle_add_irq_iommu() to add_resources().
> Changes from v6:
>     Fix comment style and add comment regarding false flag in irq mapping.
>     Move malloc for nodes_full_path to handle_add_overlay_nodes.
>     Move node_num define to start of overlay_get_nodes_info().
>     Remove "domain *d" from handle_add_irq_iommu().
>     Fix error handling for handle_add_irq_iommu().
>     Split handle_add_overlay_nodes to two functions.
>     Create a separate function for freeing nodes_full_path.
>     Fix xfree for dt_sysctl.
> ---
> ---
>  xen/common/dt-overlay.c | 495 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 495 insertions(+)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index 12a3029fee..e7a467f60a 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -34,6 +34,25 @@ find_last_descendants_node(const struct dt_device_node *device_node)
>      return child_node;
>  }
>  
> +/*
> + * Returns next node to the input node. If node has children then return
> + * last descendant's next node.
> +*/
> +static struct dt_device_node *
> +dt_find_next_node(struct dt_device_node *dt, const struct dt_device_node *node)
> +{
> +    struct dt_device_node *np;
> +
> +    dt_for_each_device_node(dt, np)
> +        if ( np == node )
> +            break;
> +
> +    if ( np->child )
> +        np = find_last_descendants_node(np);
> +
> +    return np->allnext;
> +}
> +
>  static int dt_overlay_remove_node(struct dt_device_node *device_node)
>  {
>      struct dt_device_node *np;
> @@ -111,6 +130,78 @@ static int dt_overlay_remove_node(struct dt_device_node *device_node)
>      return 0;
>  }
>  
> +static int dt_overlay_add_node(struct dt_device_node *device_node,
> +                               const char *parent_node_path)
> +{
> +    struct dt_device_node *parent_node;
> +    struct dt_device_node *next_node;
> +
> +    parent_node = dt_find_node_by_path(parent_node_path);
> +
> +    if ( parent_node == NULL )
> +    {
> +        dt_dprintk("Parent node %s not found. Overlay node will not be added\n",
> +                   parent_node_path);
> +        return -EINVAL;
> +    }
> +
> +    /* If parent has no child. */
> +    if ( parent_node->child == NULL )
> +    {
> +        next_node = parent_node->allnext;
> +        device_node->parent = parent_node;
> +        parent_node->allnext = device_node;
> +        parent_node->child = device_node;
> +    }
> +    else
> +    {
> +        struct dt_device_node *np;
> +        /*
> +         * If parent has at least one child node.
> +         * Iterate to the last child node of parent.
> +         */
> +        for ( np = parent_node->child; np->sibling != NULL; np = np->sibling );
> +
> +        /* Iterate over all child nodes of np node. */
> +        if ( np->child )
> +        {
> +            struct dt_device_node *np_last_descendant;
> +
> +            np_last_descendant = find_last_descendants_node(np);
> +
> +            next_node = np_last_descendant->allnext;
> +            np_last_descendant->allnext = device_node;
> +        }
> +        else
> +        {
> +            next_node = np->allnext;
> +            np->allnext = device_node;
> +        }
> +
> +        device_node->parent = parent_node;
> +        np->sibling = device_node;
> +        np->sibling->sibling = NULL;
> +    }
> +
> +    /* Iterate over all child nodes of device_node to add children too. */
> +    if ( device_node->child )
> +    {
> +        struct dt_device_node *device_node_last_descendant;
> +
> +        device_node_last_descendant = find_last_descendants_node(device_node);
> +
> +        /* Plug next_node at the end of last children of device_node. */
> +        device_node_last_descendant->allnext = next_node;
> +    }
> +    else
> +    {
> +        /* Now plug next_node at the end of device_node. */
> +        device_node->allnext = next_node;
> +    }
> +
> +    return 0;
> +}
> +
>  /* Basic sanity check for the dtbo tool stack provided to Xen. */
>  static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
>  {
> @@ -171,6 +262,102 @@ static int iomem_remove_cb(unsigned long s, unsigned long e, void *dom,
>      return rc;
>  }
>  
> +/* Count number of nodes till one level of __overlay__ tag. */
> +static unsigned int overlay_node_count(const void *overlay_fdt)
> +{
> +    unsigned int num_overlay_nodes = 0;
> +    int fragment;
> +
> +    fdt_for_each_subnode(fragment, overlay_fdt, 0)
> +    {
> +        int subnode;
> +        int overlay;
> +
> +        overlay = fdt_subnode_offset(overlay_fdt, fragment, "__overlay__");
> +
> +        /*
> +         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
> +         * overlay >= 0. So, no need for a overlay>=0 check here.
> +         */
> +        fdt_for_each_subnode(subnode, overlay_fdt, overlay)
> +        {
> +            num_overlay_nodes++;
> +        }
> +    }
> +
> +    return num_overlay_nodes;
> +}
> +
> +/*
> + * overlay_get_nodes_info gets full name with path for all the nodes which
> + * are in one level of __overlay__ tag. This is useful when checking node for
> + * duplication i.e. dtbo tries to add nodes which already exists in device tree.
> + */
> +static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
> +{
> +    int fragment;
> +    unsigned int node_num = 0;
> +
> +    fdt_for_each_subnode(fragment, fdto, 0)
> +    {
> +        int target;
> +        int overlay;
> +        int subnode;
> +        const char *target_path;
> +
> +        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
> +                                           fragment, &target_path);
> +        if ( target < 0 )
> +            return target;
> +
> +        if ( target_path == NULL )
> +            return -EINVAL;
> +
> +        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
> +
> +        /*
> +         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
> +         * overlay >= 0. So, no need for a overlay>=0 check here.
> +         */
> +        fdt_for_each_subnode(subnode, fdto, overlay)
> +        {
> +            const char *node_name = NULL;
> +            int node_name_len;
> +            unsigned int target_path_len = strlen(target_path);
> +            unsigned int node_full_name_len;
> +
> +            node_name = fdt_get_name(fdto, subnode, &node_name_len);
> +
> +            if ( node_name == NULL )
> +                return node_name_len;
> +
> +            /*
> +             * Magic number 2 is for adding '/' and '\0'. This is done to keep
> +             * the node_full_path in the correct full node name format.
> +             */
> +            node_full_name_len = target_path_len + node_name_len + 2;
> +
> +            nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
> +
> +            if ( nodes_full_path[node_num] == NULL )
> +                return -ENOMEM;
> +
> +            memcpy(nodes_full_path[node_num], target_path, target_path_len);
> +
> +            nodes_full_path[node_num][target_path_len] = '/';
> +
> +            memcpy(nodes_full_path[node_num] + target_path_len + 1,
> +                    node_name, node_name_len);
> +
> +            nodes_full_path[node_num][node_full_name_len - 1] = '\0';
> +
> +            node_num++;
> +        }
> +    }
> +
> +    return 0;
> +}
> +
>  /* Check if node itself can be removed. */
>  static bool check_node_removable(struct dt_device_node *device_node)
>  {
> @@ -345,6 +532,312 @@ static long handle_remove_overlay_nodes(const void *overlay_fdt,
>      return rc;
>  }
>  
> +static void free_nodes_full_path(int num_nodes, char **nodes_full_path)

num_nodes should be unsigned


> +{
> +    int i;

unsigned int


> +    if ( nodes_full_path != NULL )
> +    {
> +        for ( i = 0; i < num_nodes && nodes_full_path[i] != NULL;
> +              i++ )
> +        {
> +            xfree(nodes_full_path[i]);
> +        }
> +        xfree(nodes_full_path);
> +    }
> +
> +    return;

please remove the unnecessary return


> +}
> +
> +static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
> +
> +{
> +    int j, rc;

j should be unsigned


> +    struct dt_device_node *overlay_node;
> +
> +    for ( j = 0; j < tr->num_nodes; j++ )
> +    {
> +        struct dt_device_node *prev_node, *next_node;
> +
> +        dt_dprintk("Adding node: %s\n", nodes_full_path[j]);
> +
> +        /* Find the newly added node in tr->dt_host_new by it's full path. */
> +        overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
> +                                                 nodes_full_path[j]);
> +        if ( overlay_node == NULL )
> +        {
> +            /* Sanity check. But code will never come here. */
> +            ASSERT_UNREACHABLE();
> +            return -EFAULT;
> +        }
> +
> +        /*
> +         * Find previous and next node to overlay_node in dt_host_new. We will
> +         * need these nodes to fix the dt_host_new mapping. When overlay_node is
> +         * take out of dt_host_new tree and added to dt_host, link between
> +         * previous node and next_node is broken. We will need to refresh
> +         * dt_host_new with correct linking for any other overlay nodes
> +         * extraction in future.
> +         */
> +        dt_for_each_device_node(tr->dt_host_new, prev_node)
> +            if ( prev_node->allnext == overlay_node )
> +                break;
> +
> +        next_node = dt_find_next_node(tr->dt_host_new, overlay_node);
> +
> +        write_lock(&dt_host_lock);
> +
> +        /* Add the node to dt_host. */
> +        rc = dt_overlay_add_node(overlay_node, overlay_node->parent->full_name);
> +        if ( rc )
> +        {
> +            write_unlock(&dt_host_lock);
> +
> +            /* Node not added in dt_host. */
> +            return rc;
> +        }
> +
> +        write_unlock(&dt_host_lock);
> +
> +        prev_node->allnext = next_node;
> +
> +        overlay_node = dt_find_node_by_path(overlay_node->full_name);
> +        if ( overlay_node == NULL )
> +        {
> +            /* Sanity check. But code will never come here. */
> +            ASSERT_UNREACHABLE();
> +            return -EFAULT;
> +        }
> +
> +        rc = handle_device(hardware_domain, overlay_node, p2m_mmio_direct_c,
> +                           tr->iomem_ranges,
> +                           tr->irq_ranges);
> +        if ( rc )
> +        {
> +            printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
> +            return rc;
> +        }
> +
> +        /* Keep overlay_node address in tracker. */
> +        tr->nodes_address[j] = (unsigned long)overlay_node;
> +    }
> +
> +    return 0;
> +}
> +/*
> + * Adds device tree nodes under target node.
> + * We use tr->dt_host_new to unflatten the updated device_tree_flattened. This
> + * is done to avoid the removal of device_tree generation, iomem regions mapping
> + * to hardware domain done by handle_node().
> + */
> +static long handle_add_overlay_nodes(void *overlay_fdt,
> +                                     uint32_t overlay_fdt_size)
> +{
> +    int rc, j;

j should be unsigned


> +    struct dt_device_node *overlay_node;
> +    struct overlay_track *tr = NULL;
> +    char **nodes_full_path = NULL;
> +    unsigned int new_fdt_size;
> +
> +    tr = xzalloc(struct overlay_track);
> +    if ( tr == NULL )
> +        return -ENOMEM;
> +
> +    new_fdt_size = fdt_totalsize(device_tree_flattened) +
> +                                 fdt_totalsize(overlay_fdt);
> +
> +    tr->fdt = xzalloc_bytes(new_fdt_size);
> +    if ( tr->fdt == NULL )
> +    {
> +        xfree(tr);
> +        return -ENOMEM;
> +    }
> +
> +    tr->num_nodes = overlay_node_count(overlay_fdt);
> +    if ( tr->num_nodes == 0 )
> +    {
> +        xfree(tr->fdt);
> +        xfree(tr);
> +        return -ENOMEM;
> +    }
> +
> +    tr->nodes_address = xzalloc_bytes(tr->num_nodes * sizeof(unsigned long));
> +    if ( tr->nodes_address == NULL )
> +    {
> +        xfree(tr->fdt);
> +        xfree(tr);
> +        return -ENOMEM;
> +    }
> +
> +    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
> +    if ( rc )
> +    {
> +        xfree(tr->nodes_address);
> +        xfree(tr->fdt);
> +        xfree(tr);
> +        return rc;
> +    }
> +
> +    /*
> +     * Keep a copy of overlay_fdt as fdt_overlay_apply will change the input
> +     * overlay's content(magic) when applying overlay.
> +     */
> +    tr->overlay_fdt = xzalloc_bytes(overlay_fdt_size);
> +    if ( tr->overlay_fdt == NULL )
> +    {
> +        xfree(tr->nodes_address);
> +        xfree(tr->fdt);
> +        xfree(tr);
> +        return -ENOMEM;
> +    }
> +
> +    memcpy(tr->overlay_fdt, overlay_fdt, overlay_fdt_size);
> +
> +    spin_lock(&overlay_lock);
> +
> +    memcpy(tr->fdt, device_tree_flattened,
> +           fdt_totalsize(device_tree_flattened));
> +
> +    /* Open tr->fdt with more space to accommodate the overlay_fdt. */
> +    rc = fdt_open_into(tr->fdt, tr->fdt, new_fdt_size);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Increasing fdt size to accommodate overlay_fdt failed with error %d\n",
> +               rc);
> +        goto err;
> +    }
> +
> +    nodes_full_path = xzalloc_bytes(tr->num_nodes * sizeof(char *));
> +    if ( nodes_full_path == NULL )
> +    {
> +        rc = -ENOMEM;
> +        goto err;
> +    }
> +
> +    /*
> +     * overlay_get_nodes_info is called to get the node information from dtbo.
> +     * This is done before fdt_overlay_apply() because the overlay apply will
> +     * erase the magic of overlay_fdt.
> +     */
> +    rc = overlay_get_nodes_info(overlay_fdt, nodes_full_path);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Getting nodes information failed with error %d\n",
> +               rc);
> +        goto err;
> +    }
> +
> +    rc = fdt_overlay_apply(tr->fdt, overlay_fdt);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Adding overlay node failed with error %d\n", rc);
> +        goto err;
> +    }
> +
> +    /*
> +     * Check if any of the node already exists in dt_host. If node already exits
> +     * we can return here as this overlay_fdt is not suitable for overlay ops.
> +     */
> +    for ( j = 0; j < tr->num_nodes; j++ )
> +    {
> +        overlay_node = dt_find_node_by_path(nodes_full_path[j]);
> +        if ( overlay_node != NULL )
> +        {
> +            printk(XENLOG_ERR "node %s exists in device tree\n",
> +                   nodes_full_path[j]);
> +            rc = -EINVAL;
> +            goto err;
> +        }
> +    }
> +
> +    /*
> +    * Unflatten the tr->fdt into a new dt_host.

code style


> +    * TODO: Check and add alias_scan() if it's needed for overlay in future.
> +    */
> +    rc = unflatten_device_tree(tr->fdt, &tr->dt_host_new);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "unflatten_device_tree failed with error %d\n", rc);
> +        goto err;
> +    }
> +
> +    tr->irq_ranges = rangeset_new(hardware_domain, "Overlays: Interrupts", 0);
> +    if (tr->irq_ranges == NULL)
> +    {
> +        printk(XENLOG_ERR "Creating IRQ rangeset failed");
> +        goto err;
> +    }
> +
> +    tr->iomem_ranges = rangeset_new(hardware_domain, "Overlay: I/O Memory", 0);
> +    if (tr->iomem_ranges == NULL)
> +    {
> +        printk(XENLOG_ERR "Creating IOMMU rangeset failed");
> +        goto err;
> +    }
> +
> +    rc = add_nodes(tr, nodes_full_path);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR "Adding nodes failed. Removing the partially added nodes.\n");
> +        goto remove_node;
> +    }
> +
> +    INIT_LIST_HEAD(&tr->entry);
> +    list_add_tail(&tr->entry, &overlay_tracker);
> +
> +    spin_unlock(&overlay_lock);
> +
> +    free_nodes_full_path(tr->num_nodes, nodes_full_path);
> +
> +    return rc;
> +
> +/*
> + * Failure case. We need to remove the nodes, free tracker(if tr exists) and
> + * tr->dt_host_new.
> + */
> + remove_node:
> +    tr->num_nodes = j;
> +    rc = remove_nodes(tr);
> +
> +    if ( rc )
> +    {
> +        /*
> +         * User needs to provide right overlay. Incorrect node information
> +         * example parent node doesn't exist in dt_host etc can cause memory
> +         * leaks as removing_nodes() will fail and this means nodes memory is
> +         * not freed from tracker. Which may cause memory leaks. Ideally, these
> +         * device tree related mistakes will be caught by fdt_overlay_apply()
> +         * but given that we don't manage that code keeping this warning message
> +         * is better here.
> +         */
> +        printk(XENLOG_ERR "Removing node failed.\n");
> +        spin_unlock(&overlay_lock);
> +
> +        free_nodes_full_path(tr->num_nodes, nodes_full_path);
> +
> +        return rc;
> +    }
> +
> + err:
> +    spin_unlock(&overlay_lock);
> +
> +    if ( tr->dt_host_new )
> +        xfree(tr->dt_host_new);

here


> +    xfree(tr->overlay_fdt);
> +    xfree(tr->nodes_address);
> +    xfree(tr->fdt);
> +
> +    free_nodes_full_path(tr->num_nodes, nodes_full_path);

This should be moved up there


> +    rangeset_destroy(tr->irq_ranges);
> +    rangeset_destroy(tr->iomem_ranges);
> +
> +    xfree(tr);
> +
> +    return rc;
> +}
> +
>  long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
>  {
>      long ret;
> @@ -376,6 +869,8 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
>  
>      if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
>          ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
> +    else
> +        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
>  
>      xfree(overlay_fdt);
>  
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 00:41:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 00:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592646.925424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb9GT-0000Qq-3s; Wed, 30 Aug 2023 00:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592646.925424; Wed, 30 Aug 2023 00:40:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb9GT-0000Qj-18; Wed, 30 Aug 2023 00:40:57 +0000
Received: by outflank-mailman (input) for mailman id 592646;
 Wed, 30 Aug 2023 00:40: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=gRJs=EP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb9GQ-0000PR-RV
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 00:40:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd51800c-46cd-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 02:40:49 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 51DC96214E;
 Wed, 30 Aug 2023 00:40:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F181C433C8;
 Wed, 30 Aug 2023 00:40: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: dd51800c-46cd-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693356047;
	bh=1nqytWCy+lKYw+agQwwsROUPxH9bqx1StWaVdikHU3A=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KlxKcFQeI1xYaz8B3TIT0+oePF2CHq5UZtrwEIFbPP7kF0qF8SLj+W9bQiwASgjLp
	 mdjydqUvqLgHPCA1mMxgWUMnj8T2fa07qkveZLazc02xK3o0XYpA77LMnPubp/KqDZ
	 6MZ2lQyx1bfn2f6Vzzs98XAhmlsKVTA3VfX7aNbCtmOrN3Edd4CgMA44tCI/LAYxly
	 I94Gjhg2JJ+H+/y6eD/NBOgEHnwPQVvEizcEtdES5ccz6t3kO+MubelWr+mxj4eKbj
	 +lANnivoS6ODk0yKaJvkomp8RCR1E8f2yFRAPC3I1HDqmaIMj/jLiNUn686rwbRApB
	 BsSZbkjFm8DFw==
Date: Tue, 29 Aug 2023 17:40:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Tamas K Lengyel <tamas.k.lengyel@gmail.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>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
In-Reply-To: <31fb5b635fc5a02fd7103ecd64d2b66443c6e038.1693319118.git.oleksii.kurochko@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2308291737570.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693319118.git.oleksii.kurochko@gmail.com> <31fb5b635fc5a02fd7103ecd64d2b66443c6e038.1693319118.git.oleksii.kurochko@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, 29 Aug 2023, Oleksii Kurochko wrote:
> asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> stubs dir.
> 
> Original asm/vm_event.h from ARM was updated:
>  * use SPDX-License-Identifier.
>  * update comment messages of stubs.
>  * update #ifdef.
>  * change public/domctl.h to public/vm_event.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
>  - change public/domctl.h to public/vm_event.h.
>  - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
> ---
>  xen/arch/arm/include/asm/vm_event.h | 66 -----------------------------
>  xen/include/stubs/asm/vm_event.h    | 55 ++++++++++++++++++++++++
>  2 files changed, 55 insertions(+), 66 deletions(-)
>  delete mode 100644 xen/arch/arm/include/asm/vm_event.h
>  create mode 100644 xen/include/stubs/asm/vm_event.h
> 
> diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
> deleted file mode 100644
> index 4d861373b3..0000000000
> --- a/xen/arch/arm/include/asm/vm_event.h
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -/*
> - * vm_event.h: architecture specific vm_event handling routines
> - *
> - * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
> - */
> -
> -#ifndef __ASM_ARM_VM_EVENT_H__
> -#define __ASM_ARM_VM_EVENT_H__
> -
> -#include <xen/sched.h>
> -#include <public/domctl.h>
> -
> -static inline int vm_event_init_domain(struct domain *d)
> -{
> -    /* Nothing to do. */
> -    return 0;
> -}
> -
> -static inline void vm_event_cleanup_domain(struct domain *d)
> -{
> -    memset(&d->monitor, 0, sizeof(d->monitor));
> -}
> -
> -static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
> -                                              vm_event_response_t *rsp)
> -{
> -    /* Not supported on ARM. */
> -}
> -
> -static inline
> -void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
> -{
> -    /* Not supported on ARM. */
> -}
> -
> -static inline
> -void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
> -{
> -    /* Not supported on ARM. */
> -}
> -
> -static inline
> -void vm_event_sync_event(struct vcpu *v, bool value)
> -{
> -    /* Not supported on ARM. */
> -}
> -
> -static inline
> -void vm_event_reset_vmtrace(struct vcpu *v)
> -{
> -    /* Not supported on ARM. */
> -}
> -
> -#endif /* __ASM_ARM_VM_EVENT_H__ */
> diff --git a/xen/include/stubs/asm/vm_event.h b/xen/include/stubs/asm/vm_event.h
> new file mode 100644
> index 0000000000..cc89ffe5fb
> --- /dev/null
> +++ b/xen/include/stubs/asm/vm_event.h
> @@ -0,0 +1,55 @@
> +/* SPDX-License-Identifier:  GPL-2.0 */

GPL-2.0 is deprecated, please use GPL-2.0-only

Aside from that:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> +/*
> + * vm_event.h: stubs for architecture specific vm_event handling routines
> + *
> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> + */
> +
> +#ifndef __ASM_STUB_VM_EVENT_H__
> +#define __ASM_STUB_VM_EVENT_H__
> +
> +#include <xen/sched.h>
> +#include <public/vm_event.h>
> +
> +static inline int vm_event_init_domain(struct domain *d)
> +{
> +    /* Nothing to do. */
> +    return 0;
> +}
> +
> +static inline void vm_event_cleanup_domain(struct domain *d)
> +{
> +    memset(&d->monitor, 0, sizeof(d->monitor));
> +}
> +
> +static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
> +                                              vm_event_response_t *rsp)
> +{
> +    /* Nothing to do. */
> +}
> +
> +static inline
> +void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
> +{
> +    /* Nothing to do. */
> +}
> +
> +static inline
> +void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
> +{
> +    /* Nothing to do. */
> +}
> +
> +static inline
> +void vm_event_sync_event(struct vcpu *v, bool value)
> +{
> +    /* Nothing to do. */
> +}
> +
> +static inline
> +void vm_event_reset_vmtrace(struct vcpu *v)
> +{
> +    /* Nothing to do. */
> +}
> +
> +#endif /* __ASM_STUB_VM_EVENT_H__ */
> -- 
> 2.41.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 01:00:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 01:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592653.925434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb9Ys-0002IA-HH; Wed, 30 Aug 2023 00:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592653.925434; Wed, 30 Aug 2023 00:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qb9Ys-0002I3-ET; Wed, 30 Aug 2023 00:59:58 +0000
Received: by outflank-mailman (input) for mailman id 592653;
 Wed, 30 Aug 2023 00:59: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=gRJs=EP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qb9Ys-0002Hx-39
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 00:59:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88aaa359-46d0-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 02:59:56 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B5A1062AB5;
 Wed, 30 Aug 2023 00:59:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A25A3C433C9;
 Wed, 30 Aug 2023 00:59: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: 88aaa359-46d0-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693357194;
	bh=0C+rFqD5HpHjRZq31l0hOmN7L4Q5TeDSQyVi9ZvzwW8=;
	h=From:To:Cc:Subject:Date:From;
	b=GTDUAHejpso3bzwvQdS3tfmz0vAJhneXD3ZdiQCVcfEjXaxQ70YdQJz2DKueL6zJ/
	 c9OTCGbyPjQTsgekjKc8M4kq/HOkcKKeNfJ1FsGvlgvVLCtFJbgHzbl3cCtbefQXd/
	 dMI2H5j8XnhUe408ufjxr2xjmgSYnQINt9HtAqDldzzYWSX+17FmSuFcNhWg/Nj7NI
	 ZziTn4Jg499TL0WQ7mqGS7pL7wYSY7MvMmXxaiQgazsAuDyOjG3rwa+UK2dgJf65c0
	 PfC9CdQpi0bYE/RgsJDKarHl8GzMZyTnwpyzeu6++HqqapefHhmuucSTFI30S3+vtC
	 gOFqtTAZ2UQ9w==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	nicola.vetrini@bugseng.com,
	roberto.bagnara@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH] docs/misra: add 14.3 and 14.4
Date: Tue, 29 Aug 2023 17:59:50 -0700
Message-Id: <20230830005950.305085-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Add 14.3, with a project-wide deviations on if statements.
Add 14.4, clarifying that implicit conversions of integers, chars and
pointers to bool are allowed.

Also take the opportunity to clarify that parameters of function pointer
types are expected to have names (Rule 8.2).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 docs/misra/rules.rst | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index db30632b93..6cde4feeae 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -234,7 +234,7 @@ maintainers if you want to suggest a change.
    * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_
      - Required
      - Function types shall be in prototype form with named parameters
-     -
+     - Function pointer types shall have named parameters too.
 
    * - `Rule 8.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_03.c>`_
      - Required
@@ -332,6 +332,24 @@ maintainers if you want to suggest a change.
      - A loop counter shall not have essentially floating type
      -
 
+   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
+     - Required
+     - Controlling expressions shall not be invariant
+     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
+       checks, and other constructs that are detected as errors by MISRA
+       C scanners, managing the configuration of a MISRA C scanner for
+       this rule would be unmanageable. Thus, this rule is adopted with
+       a project-wide deviation on 'if' statements. The rule only
+       applies to while, for, do ... while, ?:, and switch statements.
+
+   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
+     - Required
+     - The controlling expression of an if statement and the controlling
+       expression of an iteration-statement shall have essentially
+       Boolean type
+     - Implicit conversions of integers, pointers, and chars to boolean
+       are allowed
+
    * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_
      - Required
      - A switch-expression shall not have essentially Boolean type
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 02:13:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 02:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592662.925444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbAi5-0005AK-L1; Wed, 30 Aug 2023 02:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592662.925444; Wed, 30 Aug 2023 02: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 1qbAi5-0005AC-FG; Wed, 30 Aug 2023 02:13:33 +0000
Received: by outflank-mailman (input) for mailman id 592662;
 Wed, 30 Aug 2023 02:13: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 1qbAi4-0005A2-8Z; Wed, 30 Aug 2023 02:13: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 1qbAi3-00062h-MI; Wed, 30 Aug 2023 02:13: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 1qbAi3-0007zZ-2C; Wed, 30 Aug 2023 02:13:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbAi2-0006lE-Vi; Wed, 30 Aug 2023 02:13:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=k2/uLFp8LT7Ww4VSzDCZJfaBp7YaBnrDbqCrA+zRreA=; b=P6lvcG+/nY206cqg4ULmaKF8Pb
	CITKiqLar6KP0cYsW7QDHnEIe7g3N4X2a08MHa34agggBlyzKaoj2rJDptEpjWob5Qn7qA05Kk0wm
	gB0a6HPVTLe6lJsd+Q2+URNc0CRyzHytTZsV2xmmkpjDpVcWqBiSnLd3xn9Dsrqk3Y40=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182555-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182555: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=813bac3d8d70d85cb7835f7945eb9eed84c2d8d0
X-Osstest-Versions-That:
    qemuu=f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 02:13:30 +0000

flight 182555 qemu-mainline real [real]
flight 182561 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182555/
http://logs.test-lab.xenproject.org/osstest/logs/182561/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pygrub   19 guest-localmigrate/x10 fail pass in 182561-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182543
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182543
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182543
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182543
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182543
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182543
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182543
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182543
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                813bac3d8d70d85cb7835f7945eb9eed84c2d8d0
baseline version:
 qemuu                f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81

Last test of basis   182543  2023-08-28 20:38:46 Z    1 days
Testing same since   182555  2023-08-29 14:08:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Karim Taha <kariem.taha2.7@gmail.com>
  Kyle Evans <kevans@FreeBSD.org>
  Michal Meloun <mmel@FreeBSD.org>
  MikaĂ«l Urankar <mikael.urankar@gmail.com>
  Richard Henderson <richard.henderson@linaro.org>
  Stacey Son <sson@FreeBSD.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Warner Losh <imp@bsdimp.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   f5fe7c17ac..813bac3d8d  813bac3d8d70d85cb7835f7945eb9eed84c2d8d0 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 02:54:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 02:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592672.925453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbBL6-0001G2-NB; Wed, 30 Aug 2023 02:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592672.925453; Wed, 30 Aug 2023 02:53: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 1qbBL6-0001Fv-K9; Wed, 30 Aug 2023 02:53:52 +0000
Received: by outflank-mailman (input) for mailman id 592672;
 Wed, 30 Aug 2023 02:53: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 1qbBL5-0001Fl-Hv; Wed, 30 Aug 2023 02:53: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 1qbBL5-0006q3-DJ; Wed, 30 Aug 2023 02:53: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 1qbBL4-0000h9-SQ; Wed, 30 Aug 2023 02:53:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbBL4-0002Cp-Rq; Wed, 30 Aug 2023 02:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XSFF5q4hRdHthI5rW7MLwc06sbrKWU9Wa3yaKjTEDm8=; b=dI4MGJrnsNwaNV2IX0vEhfw4kX
	iNbAmGAAJS5cJkgawoAjlYOIBcLNudBjqxpKlq/Ri7MvMLrVTDUpRkAq7ArxgIbl0TB/SXcQfSAWA
	M5R4/zLAkee6ve92xqgvFJSrhdCbgZSaDgMziiIIylniFxJe3key8hxm8oS+QktJVTMs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182560-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182560: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9896a9c61836a5afba72c47d7c64f4e24f0805ba
X-Osstest-Versions-That:
    ovmf=14bf2cb411cae5306fd9efa8222264e8cf9ecc19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 02:53:50 +0000

flight 182560 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182560/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9896a9c61836a5afba72c47d7c64f4e24f0805ba
baseline version:
 ovmf                 14bf2cb411cae5306fd9efa8222264e8cf9ecc19

Last test of basis   182554  2023-08-29 12:43:57 Z    0 days
Testing same since   182560  2023-08-30 00:13:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   14bf2cb411..9896a9c618  9896a9c61836a5afba72c47d7c64f4e24f0805ba -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 05:53:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592681.925464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbE8o-0002mn-Rg; Wed, 30 Aug 2023 05:53:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592681.925464; Wed, 30 Aug 2023 05:53:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbE8o-0002mg-PB; Wed, 30 Aug 2023 05:53:22 +0000
Received: by outflank-mailman (input) for mailman id 592681;
 Wed, 30 Aug 2023 05:53:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbE8n-0002mW-BD; Wed, 30 Aug 2023 05:53: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 1qbE8m-0002gJ-OW; Wed, 30 Aug 2023 05:53:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbE8m-0005Jc-7i; Wed, 30 Aug 2023 05:53:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbE8m-0007MJ-7E; Wed, 30 Aug 2023 05:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FR/sYP+x2VlJFnJ2SxxY18NSV2yKPdi/I+ik40dn8cI=; b=tVZUu7hR7cRWqA9aBTtBPilQsB
	CWsxxER0zA551+vCmFhXtmuBsZhY8rH27cOr08zwbsgQe6owoSJmnfrf5N8GbDSSCtF6KwEMYkWTT
	5VAq/K5IKG2I1Qn5ctf950/qK1JDC92lqVjOWzE2iPGUFtgXTu/j6/k0cRRe7XZPJz2E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182557-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182557: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
X-Osstest-Versions-That:
    xen=067f18c3a72d8f0acccab831083b8518f0832d81
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 05:53:20 +0000

flight 182557 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182557/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182548
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182548
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
baseline version:
 xen                  067f18c3a72d8f0acccab831083b8518f0832d81

Last test of basis   182548  2023-08-29 02:13:34 Z    1 days
Testing same since   182557  2023-08-29 19:10:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Simon Gaiser <simon@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   067f18c3a7..8c01f267ef  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 06:46:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 06:46:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592692.925482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbEyO-0008Jn-Qc; Wed, 30 Aug 2023 06:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592692.925482; Wed, 30 Aug 2023 06:46:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbEyO-0008Jg-Md; Wed, 30 Aug 2023 06:46:40 +0000
Received: by outflank-mailman (input) for mailman id 592692;
 Wed, 30 Aug 2023 06:46: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbEyN-0008Ja-47
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 06:46:39 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f75d54dd-4700-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 08:46:37 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7857.eurprd04.prod.outlook.com (2603:10a6:20b:24e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 06:46:35 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 06:46:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f75d54dd-4700-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L8mBS3e+z8VZalxz6I/dLVLQ2PpB/Ojf6ddKRWt/m3CBa2M7efCfwOklAlNaYYWPJyZfYaO9Z+mn/Ydnk97FnoHsKbpHOvas3y2QgMB3yxxyfg92z0vaRGBnyCsYPWy7rWw1zo6nmJzFjEQ7VJCDiJRsPhHSWsi95EHRc5S07Azds9LNmeEaXtN3pUhmCTjiYL98r6vasqaKMmxhN1Cui/wHIFrspAqrzwCEg6nNiHHpZK0NhR7AnTs9RqZoJFO8Buc3jh1su90JWg4xDGs9o1Z/z3+NNGdBEBuQf2t9WqOel27EOM0yMzFAr/uSblfrzm6Vtp4iQ/9c/DgR5A7Ijw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+2uLSCX/srOm42XJ877ZZdC+w15vCDc8KMxDxQXE464=;
 b=f2xASKSlqapSB8KL95/O9A50Ljt+cCLCGEvaHvdPP4cc5mMHTGmkMsyhfRI4MAW7HdOchZBnN9a2vL9jgLS88ZwZKAoJdhPTNMiXYbzqwufLS8kM3TPC97BUATwOvO9Ofn5uKeUfP7XuA5G+vZoVqO+qci0cSDToQ/45V2aEbzWP85+AtLHBsvxjh3tXmJTqZhqBo1gK6osO7AizPUsT0I2hx7Md3u1sFUHZYlc71gtISJzjUK33dP4wV5AMi8gYVX6iENYvc7YnvJT4ny2u7RxXjoadfgFlDylS3p+UDGsEO6P3oxNnU+XTgIWbaYXZmace9vxC8LVYReEqXwXyOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+2uLSCX/srOm42XJ877ZZdC+w15vCDc8KMxDxQXE464=;
 b=0t7ZJpp5NP89iiDS6Zau8AZCaGsscE4ASRP83dnx+feUdrMmB17mpWfJITvyC/D23s1b9xLtLA4aRREQ/DBQtPhiyD87yYPziKIZWn/lxyDycQGuyQhb7EWG1g9+qQHS9gWFR+i3NCPLiD4xGv2GaY2DUYNL6E71f7bQ0IOwxQTR2E57NSGr/+dwwkLcXvHjIljKH+ZGZbv1MGktsz6H0zBt/M08xeLZK7FezaJKzLXMJ8CYJ5IiCA64pPZEyswAyCk0kS8rWyhEH9LpmKUMcG8k2NW+Op4rgssPQIU/KnDcHOQ8l9ggGLiEyZ7rt9SILo5+dtlWUJ1qLAqiko8uyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <457bd388-afc3-af34-eb4e-755359bf4772@suse.com>
Date: Wed, 30 Aug 2023 08:46:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829134333.3551243-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7857:EE_
X-MS-Office365-Filtering-Correlation-Id: c63ce9cd-8dc3-4904-821c-08dba924da63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p8dvhSxcgfePd446aujKEUZtt2X2Vuih99krhgBfYXpjMgpFVn/8gQ3UXR3fjskcHOI3STUHDd8LjSuyujI2ni9locpiIe4pfACAYThz+QZihx09XGXL1RP7dxPBez7yRkKWIznu5+bFNmNHPhxSqKXRfGMtNMJVWBHa9kPzxNkHcu4nSaMTS+U1KcLnd1qi4nvmzgz9q+l+kojplaTOIoIt4Ksd99SCmMl5JA2lVpZZO+BeuGwoBtwK5lvTrRXJGVN0qGmVrykY17mMXfYh7KJCfh4QoK94dxlMU+25ukuUA+x++U3I7HSgbQA8G5oyVEM2McLxCseJ03Y4Rd5oP7z0WaNQlaonJmeOzD+p80mhHdTqLngrPZvXFfU6aN1sj7oNjd7bxB4KkyitJIVtDqKOnFOLH4fcOEeiV4uFzarPpTZ11bMbgF9LQOCCv4F5sk0XyzgnJJW3wkazL0pf5FxWWer4IrrfrhxJr2YGq/BDCbTUbPhUkDMTizKa65FdONmMZmMvvQjwOQQq6WatuQBenTWlK45u/gY//rmanZXLJJ0cvoU7Gg3ldDzCv0I699suE8pHbs0VtXDZz4Tu2yH1YKNyMjZqLSAZgsyXRpGD5U8xqkzATyKKIc1xeu/kLN7fhCD/PbYgJ9QCawD3lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(39860400002)(376002)(346002)(186009)(451199024)(1800799009)(31686004)(6512007)(6486002)(6506007)(86362001)(36756003)(38100700002)(31696002)(83380400001)(26005)(53546011)(41300700001)(8936002)(5660300002)(66476007)(4326008)(8676002)(66946007)(2906002)(478600001)(2616005)(316002)(6916009)(54906003)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlJmd1ZYNlQ5T1B3Vll0RHg2T1ArOFV0M1h6ODBXMTVHSXVTSTBTaXNmOTND?=
 =?utf-8?B?QkkvY3V3ZHNtVFpPK05VeitCYnZyWHdDT2xrdGxzT0hvRGYrVDhkWlkyUk9D?=
 =?utf-8?B?azROdXRCWmcxckpCZ2hyUTIrT3ZoM1FkT3d2NzZXaVhjRi9pamF1bDM1NGll?=
 =?utf-8?B?V0RBZ2JxQTRWa1p4a1BUL0t0dXY4NGVSK21mdFEwTFJXdldZVlVEdlFjK2xv?=
 =?utf-8?B?MHd6YXoxdnZPOURRVEE4ME1pQmdrazJIbExmVmtWdHlLU1JmNnBMODZNNmpu?=
 =?utf-8?B?TXdjRGpTMEl1T2htMmJOSVJJaEl3aTdDNFc4V0tBWU9DMTdnbVZFYVZma2Np?=
 =?utf-8?B?ZkN3S0kxU3UvZXVhNUdxY21pRVZyNmtOM3pGck93S2Z0OXFEajd0b2hleURh?=
 =?utf-8?B?cDJEbWVHcUt6bXVBaUJyQ2NKWlVKZEJKWWg1K1VSYVQ0dE1EVTRSdlVHUlJW?=
 =?utf-8?B?TlRDMy9BaFRYcDEyYXRWOEtoWmZVMXlmVkZsaU5OSnhvZWk1Mk1XR2xuQjZQ?=
 =?utf-8?B?TVBYN1M3WjRWRjRYZHY0MFcya29VREFLMUxJVmFRRlZjaDZHaWQ0WFJBTnJH?=
 =?utf-8?B?U1RpdUdNaE9TRml6NkhVU2UwWXltbzBZblpteDJzOWh6ME9jbDdqbGV5UHJy?=
 =?utf-8?B?VlQ3eFNUdVlmNDIyL24zRXdIWFZKRjQrUVlkR3JDS0pWSzNCYTcyYUEwUDNF?=
 =?utf-8?B?U05yR2M5OWFiTmMxVEZxcHVRVFFBV25ob0l4bDVrSXhubi9vcURmRk9nb1BC?=
 =?utf-8?B?WVpET3JPaU1QdzdweERsdEJlakVwVFNBNmJpRGhZM0dZclU2OHNXWXVYb20y?=
 =?utf-8?B?NUo1Mmo3bTFiYVIzVDBPVElkblR3bjhJbU5BTmJQQnh5dTBqL01rZDRGZGh0?=
 =?utf-8?B?clMzU3JXbm5meGFnTDNJNU4yY2lkTGhPVXh5OUNMdStiNlkyeTJaN0ZRaExB?=
 =?utf-8?B?UWtOempQWkRVTzlCWVZGTXlnbm94MTN2bHdCU1FsUFdTRFErcmJLSmRyYXZ0?=
 =?utf-8?B?aEloYWpJK053WG5CR0tTSmJ0Rnl2aE8zWnZURzdiRlAwL2l2NVFRTktwaUw2?=
 =?utf-8?B?MlJjTWtDeFBiRTNlSWVPdVVja2xYdXJsTHVIRXc0U0xJM1Vac0VlY2JEMzNT?=
 =?utf-8?B?Q3pvSGFqdUtuQkNqM2pDQisxN2dBT3EvNDJLN2M1T0ZTZFBJWXltaGovQzlQ?=
 =?utf-8?B?bVdReWVUYkZrYVd0RmU4MzN6VHVUNmljcWxaeEZHSmF5WWc0V0FxcTc2N2J2?=
 =?utf-8?B?d1hITkJjaHdxZHNwM1Era1NrS0wzZGZLcmhmckJLTlhmRlVqNkNNQWQ1U1VB?=
 =?utf-8?B?K1hpZHNMdnl1d0ZwWVZCTjM5OE1xL0tkSlQzN2oya1RJbkd4aFNzU0d0VElp?=
 =?utf-8?B?RnpYVmVqTFhWbkxXamttOEZSVzJjd3k1NGtseFNXRWpkZjFCR2hqdG5kY1RH?=
 =?utf-8?B?VnNxalB1RlVPQUhNOHBiZDFXb3cwdG11R3o0UW9CcTYrRnBpczBDWXVob0pk?=
 =?utf-8?B?Z1l1eUNJRHZMTEJtaHI1VWY2YmFGdFpZY1h6MHgxMGg3N3VQQnhlaUs0QnVV?=
 =?utf-8?B?Ymk4UzlzTUsraGhVM3VhU2Q5QlB0Y1FiVGpCWHNNc2cxZGVGUVhJaFJXNFQ0?=
 =?utf-8?B?bm8yOEdtZnhVNUFEajAvTW5rcEM4Nkx1OUlZS2V3ZHU1SUlzYlBGRlhsSG1T?=
 =?utf-8?B?cjU0MUM1bGRBYlozNHRmc1AzWFZVb3dEK0ZwSnFoQngvSnN5Vm5vZ0g5OFRF?=
 =?utf-8?B?ZmtTa3ZOQi95ZkRQV3pmRWljK3JlVnZCa0JSSVFwOHV1SjJFSWpVWU9YejhM?=
 =?utf-8?B?UmdKSVU3M0FsSU83WGVZazRTRWJpb2NLQ0lyeVFCWEZva2xBL1RmUW8rM1pQ?=
 =?utf-8?B?d2dvWU45dS9NSTAybVE1RDNqYUMzd1BoWDdGTDhSUUJhZVFEMUVIcy9GT1Ro?=
 =?utf-8?B?K1UzODdqRXNwMC9WanZhQ1A3NjVaelYxWHFmQ0RRQmlvODZNaEpjdVROVUk5?=
 =?utf-8?B?eFp4emxlM052V250N3I1dStvMHZUcm5lMGhEMWxtRDZJQittaVRmeEd4TEd6?=
 =?utf-8?B?N3lNRGNLc1Mwdi9CZWp6TURkZUtMOVpHYU14MXBFWnU2L0tzSmRURVg0QUdW?=
 =?utf-8?Q?Hq2KzCO+Y0pIeovaCSTrpQgdH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c63ce9cd-8dc3-4904-821c-08dba924da63
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 06:46:35.2399
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3tVU+DdUoJTWj+NY+phLNRpYDZRQtNH9bqnRCC8D8VUhh24NEcI6ZAKCUml5lPgL+xN1Zqr8p7K/Xw6m1HEZMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7857

On 29.08.2023 15:43, Andrew Cooper wrote:
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>  #endif
>      flags = c(flags);
>  
> +    if ( !compat )
> +    {
> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
> +            return -EINVAL;
> +    }
> +
>      if ( is_pv_domain(d) )
>      {
> +        /*
> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
> +         * subset of dr7, and dr4 was unused.
> +         *
> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
> +         * backwards compatibility, and dr7 emulation is handled
> +         * internally.
> +         */
> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
> +                return -EINVAL;
> +
>          if ( !compat )
>          {
>              if ( !is_canonical_address(c.nat->user_regs.rip) ||

One more thing here: v->arch.dr is an array of 4 elements, i.e. doesn't
cover %dr4 and up. That's not directly visible here, though, so the
comment ahead of the loop talking about those other 4 registers is a
little misleading. Would you mind moving it below the loop?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:21:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592700.925492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFVc-0004Wb-97; Wed, 30 Aug 2023 07:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592700.925492; Wed, 30 Aug 2023 07:21:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFVc-0004WU-5p; Wed, 30 Aug 2023 07:21:00 +0000
Received: by outflank-mailman (input) for mailman id 592700;
 Wed, 30 Aug 2023 07:20:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbFVb-0004WO-QI
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:20:59 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2a07ded-4705-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 09:20:56 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9938.eurprd04.prod.outlook.com (2603:10a6:10:4ee::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 07:20:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:20:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2a07ded-4705-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LkdiRu1DnSPtCXoz6ykq+lJUmGRI27voXrfQQew69MCz4pFWm13YmS5bVICjUnEUghDSJfhep+sFf1vTE1NEPLIAhEHp9GtNrn9NsOZmj0ZVr9B4mbzGqbsGvCzDXxmf9bRQbp9YlKDPnPPeMDvLnMskXw4qjb5hjmsbd8BxltVhNlbtGcIcoSZSfNe1jSISO+NQ26BcOYlP+sLmdZ4Qq8BZtCdywJlSS+x9AiUqpyOblSO8GueOHzqpKxopONRXNWRDgff99PVJE/slVG3XQtBGU8W81JWdeHpF6lGlacrAdjr0ZOx9UWeyV+yms15cuvao/JtTfFG49C1F9BmsKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I8xikLozo+7jTLL5GRwKkON2a/poF1hPHswhlWDXt0A=;
 b=if/0yd2x4JJtZIDxg7RGLKYbDOJmuOyVrPX+POQ6t/t+2/m/OFa5z6SxRWEtlvksFusaOpu/IHRt4CcdXHh26nLzaTLdKoepnl0hpZd95i/06MjdJbjq9xoAP+OeQd1asKHA/jb58eSF8SvFKlwYq3UK7IOs+FdjZHDxdoOiX1KA0mPQpwi8P70EZIe5FF+RNHGDCtJOyWk4s1lnFXT6XQvW3KZXJZxf+t6rRlhIBRoUjfzJTBuUdgMaZ7WW1oQjZ5G/4jHZyU2r4OVhWZN6v31ps1QM3qT+Uc0FH4yklzCuePTeJHSxjExxRHtH/tj3eiYOD0OXyHiEthLZayddDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I8xikLozo+7jTLL5GRwKkON2a/poF1hPHswhlWDXt0A=;
 b=kKSYtY7Y00lCo5Iv2NcLa9tPwhLEUiHtfAbUvEx/6SlsFAHiDpmxPELATeQj3hMHVV81IGQ8wk9xV3ZmOxi/oinme8x1WJ4rWskbjADpqneEgRtm3M507gT65UpuukXuZYLW58m6aGggRLuSA3pfhQPU3j57lmLVMEvOa2uwaeBvQUzfd/oLO0MpmJeyJibN9PF+UqvTyPB1zkNwmO+CbWCuVpClFw8DUgy9L05NgLvxBD6mdIhkWTWIquSRGSn8qdfJUf8aNZ9YPFvhdfv/vO3nys5pstKlT6HcycDxUgU2j1xKq5iipr9p2zTQW0RA4w7+jlce/C08laNDXOKv+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <05d7f850-3d56-4a5b-1e0f-ef0f2a7e5a07@suse.com>
Date: Wed, 30 Aug 2023 09:20:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
Content-Language: en-US
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Simon Gaiser <simon@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <7f158a54548456daba9f2e105d099d2e5e2c2f38.1691399031.git.simon@invisiblethingslab.com>
 <0bd3583c-a55d-9a68-55b1-c383499d46d8@suse.com>
 <2c97ff5b-03b0-3c17-c7f0-9bc8c9317762@invisiblethingslab.com>
 <cecbeec3-57cb-c8de-be06-bf8f6e9cc5f5@suse.com>
 <298af911-f4f0-165d-c493-90407d649945@citrix.com>
 <cfc853dc-0512-da20-5bf3-968a38d7a759@suse.com>
 <635f0055-7001-f68c-9274-6c078d07a22a@citrix.com>
 <26c50dc7-adf3-dbf1-253b-ce333d31911c@suse.com> <87jztga3sg.ffs@tglx>
 <ZO3_0GKvEk-qoaoa@MacBook-Air-de-Roger.local> <874jkh7942.ffs@tglx>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <874jkh7942.ffs@tglx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9938:EE_
X-MS-Office365-Filtering-Correlation-Id: 93471b81-6250-4bc1-dc7c-08dba929a546
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XioI1ack5a/Pq6yoZXH7+o7wiFLFsSjxjSPYNFlCrqvSpTEa0aAYklWDWkyOQqaLWXSDGgZku/Q7kt0cZWsLfe9a7qwhIxNcI/rSkX7QFS89OwEjz5Jn3ddKq/0VNF1umvreX7Ju/xuYQwDwPhXUaqng5IfhfZeYvOO363egTEXhpPekk+shRJ3x+Rvm8TyQtLnwc07M5X4AT1JcKDo3i+9O0RmfQhf0ti6v5/yhfp8CRc8XO54cFdp8DROWYvJHG4jfwzxp504k+ZYFO7sJV1tq5nlOf7wBQ3ihvu99uweZmk1bUZajW/ipJb5C780Hny+4W7e5QPKmIi0cxOOjOi4Z+BIqQy6ntXjciZfa7bs5t5ifEeGZuF/+HrKhROMNaGo3gMD7lExG8ifCnmnS1VvEkINO0Oncaro51abqL1gJlVxRCaa/MYdZ+fkA17Hd0ElgBmB0BfIYtCBQ7gbyYhv0vGzTg5TL0e61hf5wuvgbuug0G8CoTPP5G/kT+Qk6yfK2mdplF+E0cUZrzWtQFqtZBiy4z9BFYAxiwM1FHKb0qUib1WpKCEUurgSqqGzbaYP22mBY06/e6PrZ5W9bG3T5RHvF+xMpOVTYtHi9IFjCVkfJQzbovwdrhc1XPJxN25bzmWkzVyKNyvPLBdcV+A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(346002)(39860400002)(366004)(451199024)(1800799009)(186009)(31686004)(6486002)(6506007)(6512007)(66476007)(36756003)(86362001)(38100700002)(31696002)(6916009)(478600001)(26005)(83380400001)(53546011)(2906002)(66556008)(4326008)(5660300002)(8936002)(41300700001)(2616005)(8676002)(54906003)(316002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmNidUJHcDBSRWtpNi94QXRyZzArM0xkWTVQcjNQVWxCSTFsWTdjQWwrdStC?=
 =?utf-8?B?c3JDZXdHY3pXY0ZYZk9Ba3lCRWFVbitWS1V3c1lYK0JZUjg1M0VxdE1DOC8z?=
 =?utf-8?B?YlA3OTc4SVBFTmZVRXR3Zzd2WTVsQXo5MlJNd2JGY2hoVjNOMW5DWWlFOGNn?=
 =?utf-8?B?SHdHTlNLL1dpMFhrazFTQWllNVZoZ3JmZmJ2c05GcHhxKzFWbklXenlwZmNm?=
 =?utf-8?B?cVRYeE1rU0pTNU9ubS9MOTVVTW95R0MycGVSdXpmcWhLeTZ0NlZMTmxmcHNG?=
 =?utf-8?B?NFE3Rk13OHdPMHV5UnAwSDcrWW53WjlwRnQ5MUhPeUZKSVUzdTNhVjdLT1hn?=
 =?utf-8?B?RU9KV3NleG85Y1BLeUszUzlqajB3MmozSjY0U2lwUEpPYlpyNFE4UFZnSGEv?=
 =?utf-8?B?QXkybjdJZUxKTmZBZDRkU3gwZHREWUQ2aUlxb3RJVTc1MXpMUDhWYldJVUJI?=
 =?utf-8?B?ZGk0Z0NYTll4U2ZTNlhOQ1BlbC8xOUFvNXI5djJ2a1NtSS83M1ZvV2RjSHRz?=
 =?utf-8?B?dExXVlpkRVFOK2JMZG1vSndyYTQ5WVZmclEvOEVwMGtBT3pUU3dzc1Z5NE1w?=
 =?utf-8?B?UDZLaTNjcDRrWndRaDdXekQwbE9uUnZxeTNqam10OHBKWmgva0l3bTFiZ0lZ?=
 =?utf-8?B?NHR5RllCczBJTWpVRnd0aUNtWGVwQmNsM241M3h0S091aUpLSy9rZE1UU3ky?=
 =?utf-8?B?Sjh2RmRCalE4UDlIOVhXWnd1czZiK0xNL0JPSFdEK3RKcGNJVVhPNFlZZGtV?=
 =?utf-8?B?dWZGOG1QRThWT2RwQUwwS3RXM1lSOXhUYWY4dUhEVk9CY3hWNURSTzduN2k1?=
 =?utf-8?B?ZnppcWVqT29ldEdnbTVvWHF1ZnlNSkhXTlZONGNXVERocE1ETGFlYThrZFFp?=
 =?utf-8?B?QVpZSjFyWlNrUmNrdWl5Z3ZscHFPT2pMRzFEY3VwYkJucHU1cTZSTUhrUTcz?=
 =?utf-8?B?Y00xbUF5cmFXclUycmc1RE5oU0lBckc2Z3B5Tk90d2x0eVNkN082UnJGNytw?=
 =?utf-8?B?MU5mdmtuKzcyR2V1cEFqMG1aZDFZT2ZJbklxaGhLSmdZbVR5OXBOMVBadmhm?=
 =?utf-8?B?MSthUUJzNDhIWTllcGxNZGRtR1kvU3VKc3Z2b0tTQ3RQZFJ3aUJ1SGYxUzhi?=
 =?utf-8?B?ZDlPeFhhb1Y0amE2U0t1VTloUEV4NTgydjd0S09yTSt5U3NwQmd3ZG5yUEpB?=
 =?utf-8?B?bDV5ZWpoNjhvNldwVDRKeGVsV3pkR0M3QWZlNVFzSng1dWMyYjdSUm4vRlpF?=
 =?utf-8?B?YzRUN2xSU1k0NTFoMTBQMGtjSWtiV1htWkJGS05HQ0dzSkZPRHptUzM3dTJp?=
 =?utf-8?B?K2prTy9xS25pc3YvUytyYjFoN01QVndIRk1tQ3dxU3lYc1dlNVhJN3pYVk5Z?=
 =?utf-8?B?Um9MV2h5Um91TXJCUlh0ZGtIa0dCSTgybUJVYmJMVktKVHBJbWlJcTRzZVBK?=
 =?utf-8?B?YlBYSGlRRFduZUN1R3ljMVlGaEQ4MFlqV2ZIME5sZi82RjM5RWs1SDZsNFg1?=
 =?utf-8?B?ZitJTnhMbWxTVzJKejBpNzIxTW5wdkRGdWpGZFc0d3I4a0xBZjUwZnRtbHov?=
 =?utf-8?B?K0RvSzNTOC9DK3VDeHM4SmVROWVlditaVGVCam92aFExRCt2RUk5U1U2a1Vo?=
 =?utf-8?B?RkovVHltM0RLVTNPOHVHYVR4VEJ6dWFzL2JvV3U0U2dySHErcWJucTVsYjZN?=
 =?utf-8?B?cEdnR1JmYnV2bHFwMDZmU2MvK3dhTUEvSHFsRHpTN3FHTDFVd3ZWaGRDSThR?=
 =?utf-8?B?ZzdNeFBReDdIelU0SmZYZ2swdk04WGdXNHVEVkUrUmwzeGRKdHVNOTNFUndu?=
 =?utf-8?B?WUJSZjl1akJJMlUyYkZVWFZHalNoRHJnTktDd3NkUUY3MmRQaWR1dHdxSFlQ?=
 =?utf-8?B?WW1uLzFTY0NLRThHcDA3VFNaNkZhaWErS0h6Um9pQjF4QzY4VmJHOUI5Nkk5?=
 =?utf-8?B?SUpCV2d6eFlINEJTSCtxdXpHb3ZOT0xtUXUzeTNqbFNjQU9aMEp4VnhoVi9j?=
 =?utf-8?B?TWtHRkE2VGczb3NxQmM1ZE9rTWRoR2JRME92Sk5RSHRJREczUHFad203eU9E?=
 =?utf-8?B?QzZobmxXamJEdEdCb2I5eVUwU0l6UE0wRTV1V1ErSE5UZmJaOStQOEQvbFg0?=
 =?utf-8?Q?dnE/giZTPiW3Bu/kvsSShzzY0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93471b81-6250-4bc1-dc7c-08dba929a546
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:20:53.6653
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FIZIxApP1WDrgtAE1J4fpIxM1I0nyWpiKk7uMr+BqWG5/p0ExGQtZb5cTnbaVYjKb/WFpLXlr17CvIOCbkLTyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9938

On 30.08.2023 00:54, Thomas Gleixner wrote:
> On Tue, Aug 29 2023 at 16:25, Roger Pau MonnĂ© wrote:
>> On Sun, Aug 27, 2023 at 05:44:15PM +0200, Thomas Gleixner wrote:
>>> The APIC/X2APIC description of MADT specifies flags:
>>>
>>> Enabled        	If this bit is set the processor is ready for use. If
>>> 		this bit is clear and the Online Capable bit is set,
>>> 		system hardware supports enabling this processor during
>>> 		OS runtime. If this bit is clear and the Online Capable
>>> 		bit is also clear, this processor is unusable, and OSPM
>>> 		shall ignore the contents of the Processor Local APIC
>>> 		Structure.
>>>
>>> Online Capable	The information conveyed by this bit depends on the
>>> 		value of the Enabled bit. If the Enabled bit is set,
>>> 		this bit is reserved and must be zero. Otherwise, if
>>> 		this this bit is set, system hardware supports enabling
>>> 		this processor during OS runtime.
>>
>> Sadly this flag is only present starting with MADT v5.
> 
> Correct. The difference between pre v5 MADT and v5+ is that the latter
> allows the OS to make more informed decisions, but the lack of this flag
> does not make the claim that randomly assigning APIC IDs after the
> initial parsing is a valid approach any more correct. Why?
> 
> Simply because the other relationships vs. processor UIDs and SRAT/SLIT
> are not magically going away due to the lack of that flag.
> 
>>> Otherwise you'd end up with a CPU hotplugged which is outside of the
>>> resource space allocated during init.
>>
>> It's my understating that ACPI UIDs 0xff and 0xfffffff for local ACPI
>> and x2APIC structures respectively are invalid, as that's the
>> broadcast value used by the local (x2)APIC NMI Structures.
> 
> Correct. These IDs are invalid independent of any flag value. 

What we apparently agree on is these special UID values to be invalid,
and that UIDs can't change. But that's not the same for the APIC IDs;
see below. (As a side note, Xen range-checks UID against its
implementation limit MAX_MADT_ENTRIES, so it's more than just the
all-ones values which we'd reject. Not really correct, I know. Looks
like Linux has done away with the simple x86_acpiid_to_apicid[]
translation mechanism. This being a statically sized array requires
this restriction in Xen, for the time being.)

>> I think Jan's point (if I understood correctly) is that Processor or
>> Device objects can have a _MAT method that returns updated MADT
>> entries, and some ACPI implementations might modify the original
>> entries on the MADT and return them from that method when CPU
>> hotplug takes place.

Just to mention it: It's not just "might". I've seen DSDT code doing
so on more than one occasion.

>>  The spec notes that "OSPM does not expect the
>> information provided in this table to be updated if the processor
>> information changes during the lifespan of an OS boot." so that the
>> MADT doesn't need to be updated when CPU hotplug happens, but I don't
>> see that sentence as preventing the MADT to be updated if CPU hotplug
>> takes place, it's just not required.
> 
> Right. But if you read carefully what I wrote then you will figure out
> that any randomly made up APIC ID post MADT enumeration cannot work.

I just went back and re-read your earlier reply. I can't see such
following from what you wrote.

>> I don't see anywhere in the spec that states that APIC IDs 0xff and
>> 0xffffffff are invalid and entries using those IDs should be ignored,
>> but I do think that any system that supports CPU hotplug better has
>> those IDs defined since boot.  Also it seems vendors have started
>> relying on using 0xff and 0xffffffff APIC IDs to signal non-present
>> CPUs, and Linux has been ignoring such entries for quite some time
>> already  without reported issues.
> 
> There is no requirement for the ACPI spec to state this simply because
> these APIC IDs are invalid to address a processor at the architectural
> level. ACPI does not care about architectural restrictions unless really
> required, e.g. like the LAPIC vs. X2APIC exclusiveness.

Correct, active processors can't use such APIC IDs. But placeholder
MADT entries can, so long as valid APIC IDs are put in place by
firmware (and announced via _MAT) at the time a socket is newly
populated. They'll be uniquely identified by their UID, so the OS very
well knows which originally parsed (from MADT) entries are affected.

As stated before, unless putting in place extra restrictions, I can't
even see how firmware would be able to up front determine APIC IDs for
unpopulated sockets: It simply can't know the topology of a package
that's not there yet. Requiring all packages to have identical
topology might be a restriction OSes put in place, but I'd be inclined
to call firmware buggy if it did (short of me being aware of there
being anything in the spec putting in place such a restriction).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:30:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592707.925502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFea-00061V-3l; Wed, 30 Aug 2023 07:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592707.925502; Wed, 30 Aug 2023 07:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFea-00061O-04; Wed, 30 Aug 2023 07:30:16 +0000
Received: by outflank-mailman (input) for mailman id 592707;
 Wed, 30 Aug 2023 07:30:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbFeZ-00060z-6E
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:30:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e7e6b16-4707-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 09:30:13 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9226.eurprd04.prod.outlook.com (2603:10a6:10:351::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 07:30:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:30:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e7e6b16-4707-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LumEtST/DJYJFCI87vQcgC959bvjZOZLjPmbA0hVhhZuCIM9aAp5vOJsAjUa750T9N8sut8CIknjz6apXCbjSTP0VygQbsZIBH4+zTJNKiau4KXIfUzjjYaw9lGMjsGJS+ZZg/KbU0m6OvbrGZo6Gn0GnHncOLrIVDMYjZB7y9XIPBd26RaWHvAaF4LmrjITdHMmBtJz2k8B5Pd9aLTMUsonJndkJQYTlYINhBRwEfJruzyGlA6dxJ21Ws88MZ+kVL5jau4Y98+1KX7/E35Fx+fMy3H1fSANOb4ZnbLZr72v4zHsZ4j1up0pVSZhjYsckgh3lg5yed7HrZAk7uNItw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l+gJe55HryYfZJ82cRPP1SKKKXFnCI+ORJkKyZKTXXU=;
 b=aPwftY6hY7d5FwcT08acnh1TK82pYv1kSUA9bSHPxSJoorQjS+ZN/+CeX2hTEiyvT8e6jykGPFLScXPJj5HdjStEAEsdFR/AzPHuGSe/iRFmJjEEHawtwfhRMaOYl8vaoegCcYgx23fM3CG4zjZWPBcOTVb81A3WNgxtCvrSx44Mz2JcugSLaqJ2096oTW9wYMJLdLjV8YMjkwRZLIciGgSsUd3WmUfxSHA2ldneOtu/zosimD3y6o0eTHIyn8+mEupS3HtOcHcyoBllKPyvCaqb3A8c6449kM3v1zbDz7Q3tpd/px5sZe7snYkyDzJ+LZgA2yj4qytGdrxX2KqGCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l+gJe55HryYfZJ82cRPP1SKKKXFnCI+ORJkKyZKTXXU=;
 b=1LQ74PN6CMIX0jf5jjl5PORSypQjPXS3v460qWyT/T6+FMNF4LnL1Qasx7vJxOPo5WmFERszDpshnYLqYk0zyZ2aJTIlpSAAM1pD+Vzud3Bch9DSlDik6cEFsOPAKkMMy5HTowOAHhdshHCSSd6d2S1AHBBi2rkd7lVI/peaECmjoQhG5WmDttH3ZF9hs0LNCC6pXAYenP1vUGRhjYsxHlTCyXR47v8EBLAaS9puLvDx34n00l1Z++yydFY6xbalT5FkBV/RJAWQwyrTgdxcw9w0Ofv5vt7YbtYat3D0NYkgLwDi5iWljam3iE1EeiAUtq6WIuoy1//MEryVXBt2aQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1af0e80-722f-9f47-0618-a31ffe0bbff8@suse.com>
Date: Wed, 30 Aug 2023 09:30:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 1/2] xen: add stubs dir to include path
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas.k.lengyel@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.1693319118.git.oleksii.kurochko@gmail.com>
 <09fa701d2be02589cc9f63d8334082346b5c1702.1693319118.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <09fa701d2be02589cc9f63d8334082346b5c1702.1693319118.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9226:EE_
X-MS-Office365-Filtering-Correlation-Id: d75f0a44-6a16-44f0-8b98-08dba92af1c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JbNzR0LOoyQ2QG1q/EHP5w446mmLt0UI3/+VlgdzkbWUbuNjOqWCh17W5O3OtsVY+lvwR2NXkwMjV1qCt3V2tOHE7L8RE/PSfn2aAq2O0+ne13heoQKsJq63HVqexmcSfASNG2YSwviR+EFrXUYZmd8JyzKLEQS2VOepVfyO0Dq3OgjTP1MDdHtihBnmkQfvKejQ4tWpo2RrgFW/Xf6uvciUyGXjDHQdOYde6ZvC3JvzCHVuOvEgDad8dKQ/qE7aUqZ+yMZVgxCbpd2Xh/nvmxXPvJ+/DWBD8XGgqnK9qNLcqRiso5hfK2YJSI9NHgK1CkRZiQedYkzGFxTAVDC3ZqAM/79TdKxN3yvfAKvj0SVDm2wiPlXQfF5YfzLnQGXDcCfOuPdrc73jgZjpM7HHGMeDzNdkUpXHszFs28aA/ds7KTMulUNclV/keKxyiJUDoMnHN3KLtX/oJD0rv66NX4ZdjptKLXaEqon/PLqZRzdY8TzT/kboMbytW7yuRW9lAUKG5bzc0sdjHvcj0SAVTZGK17ZOQfbHyvg8o+0NSeaDlovH4bNLY32UybLo79kIwCTyqSsYd6b6s9fKz4Ao6LN9F23Z+zHrSFGdCY3egp1gUf8K2sgY2gVYw09ml1X9Xm7uxFWE3Grcm5tD87ij+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(396003)(39860400002)(366004)(186009)(451199024)(1800799009)(36756003)(31686004)(83380400001)(4326008)(86362001)(31696002)(41300700001)(5660300002)(8676002)(8936002)(53546011)(26005)(6506007)(6666004)(6486002)(2616005)(6512007)(478600001)(38100700002)(2906002)(4744005)(66946007)(66556008)(66476007)(54906003)(316002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WGpvMGpScnVLM1o2WWw3b21UVEw4VHoxQnBsQVN1NXRHZW9CeHV0S3IzeXUr?=
 =?utf-8?B?ZG43bVZyN0JNZ2xLNmNMMnlZWGtQUFBQUE1WYkV2Q0Z1UXRmaWZuUUJRSkho?=
 =?utf-8?B?MkdrNGgvQ3NqUXF6VG9SZ3F2SDRRdHZOMjFnMkRXVjBicWtPUXMwRm5vb1dO?=
 =?utf-8?B?d284OUFzektmeWsyNlRtQ1E5bklOTHp4M1VOU3BqNmwrQ2xYRWFCM29uZnd0?=
 =?utf-8?B?Vi8ycGtubmcxWTVGWkNMZUYyOEkzNXZQdnFoL3NsVzJIMmFOeVlEeW9oWHpl?=
 =?utf-8?B?MTA5dGZUdG9VamoxcDBRVjBzU3BwcDU1Qm1udHdBQXNWK21xT0xvNThadExU?=
 =?utf-8?B?bWIrRFdkaDRhMHFpd2l6cWVRdncreGZNNHJrb2tvaFdzMjN0cE1VWUY0Z3Ro?=
 =?utf-8?B?NXlYTXdsVUNYYi92Z29mOHhQU04wdUt0bDk4TDRWZFgwbFdENDRoazZ2aHRI?=
 =?utf-8?B?Y3NiMWdLK0lMTW5QNVpvUjhPYVJyM0NqVE5LZlJORm1NK2g2MVE1N2lkVGwr?=
 =?utf-8?B?KzZUKzZjRlNxL1RCMXJjRHREYmdiQjFtYVlpb1BlZkd4dnVHdi9DSmxtc0Nh?=
 =?utf-8?B?VVVEcDFVYm1RbFYrN3h6MnBYczVSUndweTFIaW0zTzhWUGQ3VmQxcSswbEQ5?=
 =?utf-8?B?bDVvdTZsbWV5OTlGMWk4eER6czl2N0NEZ1I2d1dka2c2amVwd1NwdDcvRk5P?=
 =?utf-8?B?bVFSNmxrQlVLeFkwVTcxQTc4azMrTWtMdFhsUHdKcUJQQjN1aWNGdHlrZVdm?=
 =?utf-8?B?QjRQQ0dTSXg0WlVsd1VFZGdncG42S2RPUVdiZTI4TnJ3N2tJbE1zU3UwOUps?=
 =?utf-8?B?TTFsVGsvdWJuUTFwUUpYbTFHVWxlUVo4UEZuODlQUlRWNUJSNzh0bm1XRGZl?=
 =?utf-8?B?VG9pUlZSL2UybVZ4RHI0SWZkZ2VMYnV3ZnlTOUdsc2lZc2tOcjVRQWdHY0FT?=
 =?utf-8?B?ZlIwNW53VU9hU1h2Q3VraGFOa1lrRE5LYTMxLzY0TXd6L0hzUWkzSlFleXAy?=
 =?utf-8?B?OUQ1V0lwMWJPcXczUDUwSUt0dUpNcXVrVmFvdVFlUlJCREEvVXlZR016cHlq?=
 =?utf-8?B?WGlwK2s2L3ZQU1NGekR2clpteXZVLzJSWWpWc0pHQ2FnUGw1Ni9maklsUk5t?=
 =?utf-8?B?RTcxWVhJaTBxRVJmeVJMTnhsdUNRR1ppZXdhVHY4eXZjUXRXL1ZlN0VEazJa?=
 =?utf-8?B?N3RJWldaN1RyT3FnRFc2RGUwTHdYZktBVDdFWDR5OUFvWlBpTEVqUi9TRVhW?=
 =?utf-8?B?OHZFcElIUUtmc2FrdWRDVWxwOS9ObzltandTRnEyS1R1VHR4b2JjWnZhL0R1?=
 =?utf-8?B?R2N3WHN5ZmFJM1k3SkFueWdqWStoQ2h3VitncXJzNFg1UkFVZHpNUnAyRmxw?=
 =?utf-8?B?Uk5UMWxseEFBV3NRWEFiYkd1a2F3elJQTUdrbGhyQTVHUFJ1TjBiazdUYjdx?=
 =?utf-8?B?dGRwcDNBM2VoVkx6UWhKUmV5N3NMdEpLQ1NqbjRrUk45TVB4Nm1ibVIwNURY?=
 =?utf-8?B?SDEyWnhFU2NJNm1JbkhFTklBckVCQkt2Vm91LzVWNWUrZGZiQmY5ZlQ3azlt?=
 =?utf-8?B?YldhbW1TUWgzQkNnU09NRktWRFBJdDZUS2N0bUJOVVNWMnkyamdmbklSRk9p?=
 =?utf-8?B?bTR6NWFhZVZwNWt1aUZMQzVhMU93Q2NSeUhNck13eVh2djlNZDBNNTFwOHJH?=
 =?utf-8?B?RVJLM3RHaW5kUGdmQzcycEh0UnlaVVk2UkhwQjNBN3lmQWpEbWhCR25HZVJF?=
 =?utf-8?B?SUhmRUdpNmwyZVdRdUhCOWRNUndvTHc4bzRwQ0FTNTBiQXV2UklEem9xVktJ?=
 =?utf-8?B?bTA5RzdlVktlRnJRdFYyaExpcFM1R3JrdmxHWGl4OGhzbllRSkNhTmdwT29x?=
 =?utf-8?B?eHdLdVhuQndOejI3QmoyUlNGaTkyejVxWVRyK2dMOHh1S1gzeVNTaXcwd29k?=
 =?utf-8?B?OW9sWVNEQUdvaGFBenJ5ME96QW9LWW9ISGtCaW5Kb1hMM0E3KzMyUGdpL0Nv?=
 =?utf-8?B?VDFmVURVVXFLTGE5eWxabEhOWFEvQzlnZ2V3M2ZRNnhYZEZURTVjUzFHZk5Z?=
 =?utf-8?B?SWtDaG1MQ0lQL014R2JHVU1tVmpFQ2pmU1lyaFhObnFhNzdHMUNsSnJEOXpY?=
 =?utf-8?Q?JA2UaETh7myeWb5+Na09BowJn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d75f0a44-6a16-44f0-8b98-08dba92af1c3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:30:11.4736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9I2gmSOdMLIjcTNYlP9Xz3ikDN5D8zxX6uPrBlI5DFsejeZ5nWJ8bDcx0LdhEIMvuSG8DECOALW0/E6oFzCD4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9226

On 29.08.2023 16:34, Oleksii Kurochko wrote:
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -438,6 +438,7 @@ ifdef building_out_of_srctree
>  endif
>  CFLAGS += -I$(srctree)/include
>  CFLAGS += -I$(srctree)/arch/$(SRCARCH)/include
> +CFLAGS += -I$(srctree)/include/stubs
>  
>  # Note that link order matters!
>  ALL_OBJS-y                := common/built_in.o

I have to admit that I'm not entirely happy with the name. I wonder what
other REST maintainers think. In particular I would consider using
Linux'es "asm-generic" name instead, allowing to cover both stub headers
like the one to be introduced here, but also other kinds of "fallback"
ones.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:37:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:37:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592713.925512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFlV-0006lG-RH; Wed, 30 Aug 2023 07:37:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592713.925512; Wed, 30 Aug 2023 07:37:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFlV-0006l9-O7; Wed, 30 Aug 2023 07:37:25 +0000
Received: by outflank-mailman (input) for mailman id 592713;
 Wed, 30 Aug 2023 07:37: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbFlU-0006l3-VT
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:37:24 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe12::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e85fa8d-4708-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 09:37:22 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9428.eurprd04.prod.outlook.com (2603:10a6:10:368::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 07:37:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:37:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e85fa8d-4708-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kEznzkjmM8Cpz8B5jF5NYPKuBjtxUhVhB2AmXp+BvQa8iug9lQK0iQAmXxcbAnC21LLpsRWiCpXNF/L8TWjpv+/EaqPML6+Go5ysuA24NRPJecWuYY1MFj5TF1E8IWrDl4sqVhX7ZnqX/ryenDWruQH1isY7CLc1VyfmY3li7FX2CNPDemhBERN+jeld5oWCYZ9BxVmwlTOPXf40TT+3vIzTDJb8T8rZGC5l4OpFlK8EgHINLj6KF2VTFd7QFsBR+RgcJUbJmzw4lVq3ZKJYyuIwTw4gw1k5q4QZxs1vrmu8FUaP8V9cUSMeCZ5zLujPWseAs9UZ5hT9icFpSC8qSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yJ+ajP0TByhxOX4gV10H0SSopJelEDOlRu5uByDlTtI=;
 b=k5dKl7t8VywhXbtF9eAHQXTRmC7z9z7FvWrmWh0J6tMGsD46Rb7URRULhAGaaRYnD7d8eJCOQH0cFQqJa/tEwAFdeAFUoGUDoVCzq9uxQ4fEkLYeSAiSDC7OTiUcN1vbKgRplbSyV6T1YzlhtIrp2sRTobNaA/3OLxST5592e88q1v5bM1YICyD9P1apcZtTRuspDD4wfDU35Cootjugg9fz99FTHtTpyUBt9IkrkZ000Hgzi2VNggdjNw0fQaGcq5pOhqz5JNW9r2sN8Nn/yDtbFyGJiem2NDaw8046r1/nGuhwwIeuoljbFBcZxK4l68sDomwvHhWtbaKvZxCZPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yJ+ajP0TByhxOX4gV10H0SSopJelEDOlRu5uByDlTtI=;
 b=AdbZvsJLItArwphPzh+smDQaLZYZlDoFI5xurUaJzvDrV6AXKZkzxkUj8uvCHW6LtfD6Bfq25GN9RpmTq3InC18V89s3CyVoDlR0r/GCx67VNrmD5x58uFxQtefbvqc1czZZD/q1IOjG9e9agoSU6AqprKoUlYhTY8LbyLTVMzP57ZF7nJfP2pZDknNCKq7a6/E1GVVZQxvKVuQm0ntHljSMJYPkHDz2xfzRAezSkR5E7wx0hnvDI3CpgWtQ4nEnb+cTa0EsYWvD4YdFZ4OdOfvWA2NVsjZAaFg9+KunXIhT2BYLlEpbOtWfgrcuXs9kMiLBjCwjL9oZUPev214adA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19e8ce58-67dd-ec2c-1877-fc5b524983b4@suse.com>
Date: Wed, 30 Aug 2023 09:37:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v9 12/16] vpci: add initial support for virtual PCI bus
 topology
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
 <20230829231912.4091958-13-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230829231912.4091958-13-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0265.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9428:EE_
X-MS-Office365-Filtering-Correlation-Id: 668c8918-719a-4453-6c3c-08dba92bf156
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S5NL3qnxhtNAFtXAszRBySH1j4HxZWNOTn16G2kcc0wWVbQbgF37ocUxVU9XVQWmfGqWNHx2iAW/PvJbWy6+w+H+ht/uwEZraJVhOAIAp/HS2NuY48XaKPt72/HKcI836k9br1mq0hY4iEYMixoMCEBSySvIdkEezJDtA2tFSXiO1RHjFMMjeBKX++bs0wrm1DMS8R4LulJKt2e70OB4jWlgRp52HleHnGOok0o4yxi41tr0uAR4GOOyG92mC4QeWntnAR4OFBkhJYCjlYNI55a4uEhyPVa4GTqfil5TMu4oUCim0fYl3WCyIwKwulz4HBMc0Hzq4uys9ty1ZJUultb2eMhUL+d1aOZk5OHREyuoxXiDEGhyoYtkc9Jc3VEYDIUwlkpnEP89NE/IMLyAbDRGSQRzBSJrRTzgz/g9eAwrtT/z12f/wHJgyqdUG7yX2laNSS6isJNGL6ygWH7xEX9EnocsfhaVJX5FKjrBUakcu/IJlEMq3m2v2Mk3wsJJF1vQMeX6I8BqqTGnVjTuEB7KeVl7UoFhhaJma6/wA65dFFKMBOFX9T4BGAwFEJVnUHqdBgAgQFaNmBX46D+K8GUhTKXyyx2utgGqv6kPJTEjZHFXEgUinJdx/xYZCIawLl6nMTG7VgcISa55OYVJNw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(366004)(39860400002)(1800799009)(186009)(451199024)(8936002)(6666004)(66946007)(31686004)(478600001)(53546011)(6506007)(66556008)(66476007)(54906003)(6486002)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(83380400001)(2906002)(2616005)(6916009)(4744005)(86362001)(7416002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tys5SFBIa3h2RDlVSXBrNFVjcDgrQ3hZVVRiN3NkeHpOeXNLSTNobTlWbXVC?=
 =?utf-8?B?OW02VkkzVlIwZGt3RlBDaEthZGdHQVhlbUgxcm9PM05VVXpXLzRhcjU2RmJk?=
 =?utf-8?B?QmQvMklXb1lSaEZ0L2c1L3IvR0NZenFJVVlEemFOdngvNnlNNXY5THNJeGZk?=
 =?utf-8?B?WDMzaTVzR1NodGVTeC9JY2xDeC9zMllBYjFreWhPeVoydXVlRE1QYUViQkpI?=
 =?utf-8?B?cTFpaG1ERXQzZm45dE5VZWg1cTRqdE1KVWk4dFpoRGhua2ZhaEdiQW9tKy95?=
 =?utf-8?B?eWd5ZHMyb3JONnVRbzI5MGhKa0ZVYVQwcjRuTDZVVVpBVm1Pek5HdGdIYUIx?=
 =?utf-8?B?TFI0dkJoRWRvUHJhMUlHVlNoQlBJV2FOOUI1bWpNNHhtcXpEU1RHdWJ3Zk1Z?=
 =?utf-8?B?amJIQzdqWWZpbDZveGVjUUJKQWtpRFlKODhUZWFHZlNIQm9nSzFTZThkdEEy?=
 =?utf-8?B?QllJeWZjZGhVVWJxSTEwTTdoc1FlQ2oxK0VGVVdieUtFSHNlN2EyRTNua2dD?=
 =?utf-8?B?R1FqTkM2TTAzUjc1d2VCcGcxV1FZK2pRYUg5THdkRUdXSVV5Qmdpb3hDM05H?=
 =?utf-8?B?OUZWZVV2eld1YkFoM3JkemxmYnpUKzNOVDVWb3hRLzZCNE0yOFJsY2JaUkZq?=
 =?utf-8?B?T0l3NFdZSzk0cHNobWM4ajU1eUNWZVB3VDZhTExLV2VFeDNKcE9TYU5sZkRk?=
 =?utf-8?B?ZzY5aFBQb0ZrZGNaNGVsUGJtZlNIYzVaa2l2NkJKdnUvWi9HbkUrNmRkZVp1?=
 =?utf-8?B?ekVqT3JBbS9jU2dtRUU4OFNrUlB3K3EyMStiejZOQnM2NzlPUnpQNUY0cGtF?=
 =?utf-8?B?bUtTWHFwdFJPSENWYXJNQkpVUEI5S1FVcUJrTlZ2OWRzTzlISC9WMGNlRmpF?=
 =?utf-8?B?SGdteWJmWlZMekJIVTF3ODYwMGFGcHorOVBXbnV4SHlROG9STTg1bmo0cUFI?=
 =?utf-8?B?eTNRYzUwY2E1TVlCYXk3VHRMeE1hbkx2eE1teERlYktDbGoyb25DTGFsZGtz?=
 =?utf-8?B?SlFPdUh0cFlDZVlzdjZxQ3pKVnN3SE05WGxQR0pDMzFkbW5jUGFXNXUra3dC?=
 =?utf-8?B?Ym9DYWJVNHlBQWdkVU8rMm1EYWJ1UGNWVnJxVWZkNHliTnpienJSZzJId202?=
 =?utf-8?B?UXR1UUlCeU51TUlJa1FwNHl2ZTZ0TWQvcjdEWGdKeHNCQ1I5NHJ0NkJYb0lR?=
 =?utf-8?B?d0NBeitqUlRuT3BEdXV2TlJIN1p4UXRQUVNkTFJmcHdrZkVOMlBaRHlvVk00?=
 =?utf-8?B?aFBnWkhwTTdsMmhhUHlUeDVxbU1zVEhGY1BNVTAyT2lWbWFoNVVSRUhlTG9W?=
 =?utf-8?B?SVgzNHZjZGhlUzNEdWk4ckVZTkx6SjdwSmIwRit3UlhJd3R5bjUxdk11dmhs?=
 =?utf-8?B?dnBxc0x0TExZeXJKUHQzWlU3eStoNENyVkVpaDd0cUJnNThEMDhPUFpCelFV?=
 =?utf-8?B?MXV6aGdTVjh4bmlqRDBjcXd2dFNzazFvVXFlOHJQNCtwU0pmbnpqcStnY2NS?=
 =?utf-8?B?bk5PQUpzREtER3VYcVlENGpNUElkOTJwMGk5WVE5SnByaU4yempQODVubkJ5?=
 =?utf-8?B?MHBpdytxcysrbTdSakVzbjdEK1MzM3FOV2xoU3h1WVRyZFZkSytpTnloY2h1?=
 =?utf-8?B?aDRVZkczQ0hjN1JPa2wxZ3ltVEtJNlpBeXBaQjE3U01tNmV3bWU2K25LOUkx?=
 =?utf-8?B?Z01xTU1vQlF2WFlvYzloTmJJR2ZEaWo5VDBJc0ZUQ0RweWhsKy9pcUdEZk52?=
 =?utf-8?B?dnNhQlpqaGdLd0VkSnlxb0pXRjZja2pnZGduNDdFZEVTU1ZpbnlnWDFNU3g2?=
 =?utf-8?B?VXJVZGU4UURpT05xQXFIZFBTbjU5aUVuRkp2Z0lFZXJuRjkwTjJxSlF0OFZW?=
 =?utf-8?B?TUZLc0hyZmNwR2ljRlc2cGlkVmlxRytoZDRzL010KzIrZHZUSXZnWmdnd0Qx?=
 =?utf-8?B?WUxMdzV0N1JXTlNkSHU2d3hIWGZZQjJiWFNyV0JRMWtsMlQwV2EzQ2pOOUNL?=
 =?utf-8?B?eVZETHJYZGNOT3dTRjVLMmNFZXIyYmJtNjdwbXhuSzhmSFVtK2krdXM3Wlgv?=
 =?utf-8?B?Tmx6TldnYkkrbGVyQm5kWmpvdmpDSlhkSU5PUFEyMkNwL2o5Rlk0MnM5VE1x?=
 =?utf-8?Q?0Bv8reH4Ei8z6EVoJnQ9O9kdR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 668c8918-719a-4453-6c3c-08dba92bf156
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:37:20.2278
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OQzytV4wbhGAhnxiMT+5A7fN62Tp/fHLzihLhfxCZ0b3OYXO07QEm0izhlC4o9HbO3KqcbWPh1kLxBsfM+NDiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9428

On 30.08.2023 01:19, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Assign SBDF to the PCI devices being passed through with bus 0.
> The resulting topology is where PCIe devices reside on the bus 0 of the
> root complex itself (embedded endpoints).
> This implementation is limited to 32 devices which are allowed on
> a single PCI bus.
> 
> Please note, that at the moment only function 0 of a multifunction
> device can be passed through.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v9:
> - Lock in add_virtual_device() replaced with ASSERT (thanks, Stewart)

Also peeking at a few other patches where similar change remarks exist,
I'm slightly confused by them: Is this submission v9 or v10?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592720.925522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFsM-0008WU-LM; Wed, 30 Aug 2023 07:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592720.925522; Wed, 30 Aug 2023 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 1qbFsM-0008WN-I2; Wed, 30 Aug 2023 07:44:30 +0000
Received: by outflank-mailman (input) for mailman id 592720;
 Wed, 30 Aug 2023 07:44: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbFsK-0008WH-SF
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:44:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20626.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0be218b5-4709-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 09:44:27 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6779.eurprd04.prod.outlook.com (2603:10a6:10:11b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 30 Aug
 2023 07:44:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:44: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: 0be218b5-4709-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XrCKDHfDes07XkUo+NSSzT3bjs4AcAZRWslKm6WHs514uXN7vu3O0Mqk8DS/BJkxo7LL5sDvwHwWGtmxkvdYbbZiAl+THUZe7Xl8nAI8ilfGxivU44VtXKNQ3I0rdq3u2mo6VYX5Gf5L0KbC0XbxtF7dHZB8Or/dMhKt9t3DkSq/y3b6IvWLcoPdjq9igbNgkbIBv5g+Kf8LANX3hY+jWy3CGg9afTmNiUje0+XtEYoqhjNU98i5WCx80HdUy6X/D8vI4a21NI7yVLnRHxAQKFsQBdZxScCGqEgeqXufJd2+0oNF7nTyRM3RVTGPSdTyfw4KDVrtJxvKw05TMT8qQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GYB+6+5zq3YnrihdJOMQ3ftbpSfoOGQXqm73uRINo3E=;
 b=gd4Uvw/A9da5QVNrtdqKO2jVVfVEJNE+duq1E3iW5Na/ZOr27gMPp7ltIxwh3/uhgchx4FfDPWzuJ0QrDNOkdETx3sO7HiArJ8JyrVPbttsCzKsYiiGYQrrRPBHU+2ofEroa7Zywd51Ytxgcc/2ctYbzAqVeg+YpSN+4Gh2ihNCJcpLJqGZ0jbr/cgcdGyNiym8qLgqCJ/zENKtBlvpD3nlK5eaOe6Wo8TLoQ6Y6gAP+vdFesBxn+hbfI0tR18b33kmXiSPAx6XJLAe+HF+zGMnP8W5lPoItMhYeNv9AP00cVEBpKPkR7bPcKVnpJoS6zsnzw+XyQ69hKb16LV/2ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GYB+6+5zq3YnrihdJOMQ3ftbpSfoOGQXqm73uRINo3E=;
 b=v5kyp2mNguvitPPPk6TXXnGWtLmODvon3ghiaAW64qh2yk7dQVOd9CybvxVselBCy5Ld5vif/jMoG0fpHXeCGVAJskzP5f0RI/oFp/7N6KU8onb4mMB2B+7nHMRU/rreKnxuq344smbjIYetguwht87RMnMK07zpBonj0mmUWj/MNmoFNsNgYu47H5dUPndyeXraoqTajFveWojfdeS9WC9whnHAGxiT4/5/Q4NKarUQRDSEtHlCvcZA7W8SbEoGq35ilkX6WtYYMmkJ9CtAIkkFtqsJm7Wt3Rj6dWj85r2grkpnDwegff3UawtgZ4oR/97adBW/u9dvVSKm45mn0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b15edd2a-9937-ae36-d84e-8dd134cea6b8@suse.com>
Date: Wed, 30 Aug 2023 09:44:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 nicola.vetrini@bugseng.com, roberto.bagnara@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230830005950.305085-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230830005950.305085-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6779:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ba44244-55d1-4371-2e5e-08dba92ceeeb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yil5IlLxiTQJrTQphQW2enKBzLAJtws7fjE0PhaqZLQURejFJs500E6oTS6HsAk44vpdQXuDKA+BsU4nlp4CAbKu9hM21hf3wFizaMhqn6BAWjWPHZqDjDYRzDeSSVjlM8/luHrLqJITaz31+YlCHr8OFYJoSoaiRZVwM2T0QlLElOswVOuQFRzgXS9sPqYgVajr+U0MHi90EEL7YWx7Rn4K8u6KylaofibwTPWMA1FjGj900Kx8NPwzPXPSGvVXR2WPnvrmaFDoavcSOrcmOb6mV0JPWcve4KmTXpXFbCg6Aj5mlB0vJwm6EOmJ7dDkyckV/vNK9/6uFH/Rgbod8NBYeltOUUqwLGKy6FMzgsecuPE8kXoLDGE9FMqpHtVpW93T8oQxodf+An9GOYpOWWzujKrCpUC/W3sUqTTs4K5POll/R/A9jds35AjWGcAY437gzHkeaMwBD4SBqVLYAfQ3llrQPGRNARg1U4P1x97h7HrGmerbcU1wOY4SkxxSaiCho0StU2dCrhTVbhZMeDApQuwDsT5ieARXjuw+2fidcXXor1NDxweJYlJhr3UKafz05maIkSvbQWdvlbc00mtBVW1kqnbDgiINO61fjJjvrVIW5EtRvq7ZMm38QrR41UrXkbeQYhPHETTHgdArTg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(136003)(376002)(396003)(39860400002)(186009)(451199024)(1800799009)(2616005)(6486002)(6512007)(86362001)(6666004)(6506007)(38100700002)(53546011)(31696002)(478600001)(83380400001)(26005)(36756003)(66946007)(4326008)(66556008)(8676002)(8936002)(5660300002)(6916009)(316002)(66476007)(41300700001)(2906002)(7416002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dDJaVlZwbFhQNmFPV2gxMXFGaGRXcTZGV0liYnZuaW1NWkRBZlZiamIwR0VB?=
 =?utf-8?B?N3VZZ3RKaEtFV0FEdkVRNkV1RFdtMy9CVnBBMk5CNHZVd0EzU1FoWEhSMU5V?=
 =?utf-8?B?Y1VoazNFbkErTXpxWnBjVnMzVVI1Y2FrZFpJU0Q3cTdMbzE4aExYK2RPNnBR?=
 =?utf-8?B?YjA5QjM2b2w5VXNXZTJBV2x2QkhRNzBDckNLWUExRTNITlE0K0NWNkpPK3Ez?=
 =?utf-8?B?bTgyK1BqL0c3ZXRwL2U4TDJrZTNzY2dQckFlcHBrNHBuM2lGYituV3Q5MUg0?=
 =?utf-8?B?RVZKcFFmSlltYS91ZXhYNVc5QmJLYUczQmdVdG9HVDQram5yNEJ4QmxWRFRM?=
 =?utf-8?B?eFpNMVRYSDE5RFNzZjZhdUl3NnVqbzdkNlNoM2pselFlN09HNFVmRXNMTlhI?=
 =?utf-8?B?SS90M1hHSEh5U2lNcTlwTFpocEtBaWFocTRqS2dlRTVoaHp4UUVLanRSM0g0?=
 =?utf-8?B?QXpzTnUvZ3hicXVpdy84YVJGVXBiNFU2dWlDbWJIMFdJYVlGUWxWS0xreDBY?=
 =?utf-8?B?bEd1V2cxaW5sbWV1U0NmSENlbm5JdTJnS2ZFRlJ5ZVc4NjN4WTlCUGt6M1U0?=
 =?utf-8?B?aEFoSGxPaFhPREh5VmJzdUliL1NueURGOU5GelNEbDYyR3RncTR1NDdhZU1m?=
 =?utf-8?B?MXFPdHhWTmZEeDI3SXYycG0xUlAxTGJ5dVh4ellpWHF2QUV2UzRiK0c0azZz?=
 =?utf-8?B?b3ZxMkJqaEUzakdHMEY3ZGVMUEQwZ1NReEcxSXllcDI0UVZNZXVRTmRoZGtF?=
 =?utf-8?B?VHBWYklKUzhjWEUyYlRBMGxvL1J3ZnpuMmlnZjJ5OFFqWlduYmZtRC9vYTZB?=
 =?utf-8?B?dDRmMDhRWTBoSkxTcnBlaDBQTDVFREZ2Z2FGNjNNaDVSU21qU0U0OXR4VE1v?=
 =?utf-8?B?NVptK2RxVFgyWVEwWHJ1Ny8yck0vRm11eDIzQWo1YlFRL1JHZndNdkZ1Y2lQ?=
 =?utf-8?B?aW9YaFgxZDdhYWpUaTM2SkV1bjVOSVlsU0lCb0tRd1ozWTYyK2VCSmlBVk05?=
 =?utf-8?B?U0hMd0VrOHF5SWpqS2RoM29WeWc2SFdEanRhQ2pzMlJaczNsZ3hHcGpvSVo0?=
 =?utf-8?B?Wjl5MzBSeDloaUF5aDBYM0plRktjVG56aS9Vekx2NWFWSElPZGFaYkVQRU5i?=
 =?utf-8?B?YWtyYnBWMk4wVXZOenBWbFo0UU5RS2E1NjJaNm95UEs0VGp0R2t5Z25yam5k?=
 =?utf-8?B?NFRSMy9oZnY4REhoajBKbFVtZmR5QkpRRnArc1Q4VDFWczVacHh0S0lRdmtJ?=
 =?utf-8?B?RHBMUy9qWU4rU1hNM0Jya0VFMUpGV2g1VUZVU3dnYmlmTTMwQXFIN2I5c2Y2?=
 =?utf-8?B?Tis5dXBxZkZsM1ZCbDU0ZG1wZFEzWEpNemkzWDZQMXROOC9MZVpseGZnZlVs?=
 =?utf-8?B?bk5mNkFQM04rTGYvaUswcFhSMXpjZCtZdHJaQkdVRFNjVi9TZGdpUTdJQ2JF?=
 =?utf-8?B?UW9MbjJ6NE5tTFFpU3A4eERxYWxNRjRoemczd0V3QVZ5Z1RRWTIzV1AyYkxY?=
 =?utf-8?B?b3JIN1B0SnZNNjNoZHhFMjVoNlZvSUE0U2ZwTlFkMXR0SU9EOTd6d0o4cGEw?=
 =?utf-8?B?YWVTZndPN2xucE40TkNNZ0JnN1FhSk5PZ2pEUklUbENnaEJNSGlra2cwVGdG?=
 =?utf-8?B?Q1R1NUNCTHZ2S1NDUFUwdDIzOHJjOWhyUm9zVjVHemRVL2I4NkdRQWdYZXVv?=
 =?utf-8?B?U3hUdFExNDlKQUNZaGtXaS9tdGdpSWQ2cmpyTnNleEp3b1VMa1AvK1FzZUZF?=
 =?utf-8?B?b256bmhZcHJLRktzd04raGxLSklYeGMyMktEMEk5aXpiWUxUVjV5Nm1ha0xN?=
 =?utf-8?B?ZjZ5M0JqVzVNaER1SFUxTUEwZW9zUzYyR2RGTUFLWGtQK0RST2Vxdll1alFs?=
 =?utf-8?B?SmpwelBjRXdRbUtQL2JmcTRPTlBINTROK3pKQWxzd2lhUTZEa00rdE1TYWNZ?=
 =?utf-8?B?UXpJNDlRS0VCMm5DMVlLaXNVUml1L0JjekVycDczc1V3b3FuRXg5YndDTFJB?=
 =?utf-8?B?c0gzMHpJMERKUGZHanZlMG52WjJRbytNdEE5a0d1eU83WDdTYmwxaFVFYXFQ?=
 =?utf-8?B?SlFYcDVYanlYeDcrTVV4ZG1pdmNsanBsY0hHdEl4c0RoaG1aZFloaTNreGxU?=
 =?utf-8?Q?kVT5/vKUOO2lLtb3PaUs2Id9y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ba44244-55d1-4371-2e5e-08dba92ceeeb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:44:25.6229
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AztmtFH+DhmqGFgveGMRXFdfB+z8IgYhYVICThGxkvYgqFX4e+ZLoludIqZBduTi6aKoB9ck2Qr4seREuamzLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6779

On 30.08.2023 02:59, Stefano Stabellini wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -234,7 +234,7 @@ maintainers if you want to suggest a change.
>     * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_
>       - Required
>       - Function types shall be in prototype form with named parameters
> -     -
> +     - Function pointer types shall have named parameters too.

This isn't an exception; do we really need to state such? I would have
expected something to appear here only if we intended to deviate certain
constructs.

> @@ -332,6 +332,24 @@ maintainers if you want to suggest a change.
>       - A loop counter shall not have essentially floating type
>       -
>  
> +   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
> +     - Required
> +     - Controlling expressions shall not be invariant
> +     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
> +       checks, and other constructs that are detected as errors by MISRA
> +       C scanners, managing the configuration of a MISRA C scanner for
> +       this rule would be unmanageable. Thus, this rule is adopted with
> +       a project-wide deviation on 'if' statements. The rule only
> +       applies to while, for, do ... while, ?:, and switch statements.

The sizeof() aspect mentioned particularly applies to switch() as well.
Furthermore ?: is really only shorthand for simple if(), so I don't see
treating it different from if() as helpful.

That said, I'd be a little hesitant to give an ack here anyway. If you'd
split 14.3 and 14.4, I'd be happy to ack 14.4's addition.

Jan

> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
> +     - Required
> +     - The controlling expression of an if statement and the controlling
> +       expression of an iteration-statement shall have essentially
> +       Boolean type
> +     - Implicit conversions of integers, pointers, and chars to boolean
> +       are allowed
> +
>     * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_
>       - Required
>       - A switch-expression shall not have essentially Boolean type



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:48:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:48:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592726.925532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbFvo-0000h7-3T; Wed, 30 Aug 2023 07:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592726.925532; Wed, 30 Aug 2023 07: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 1qbFvn-0000h0-Ve; Wed, 30 Aug 2023 07:48:03 +0000
Received: by outflank-mailman (input) for mailman id 592726;
 Wed, 30 Aug 2023 07:48:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TI6i=EP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qbFvm-0000gu-8Z
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:48:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b2b9a1f-4709-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 09:48:01 +0200 (CEST)
Received: from DU2PR04CA0017.eurprd04.prod.outlook.com (2603:10a6:10:3b::22)
 by DB3PR08MB8796.eurprd08.prod.outlook.com (2603:10a6:10:433::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 07:47:53 +0000
Received: from DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3b:cafe::2e) by DU2PR04CA0017.outlook.office365.com
 (2603:10a6:10:3b::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34 via Frontend
 Transport; Wed, 30 Aug 2023 07:47:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT006.mail.protection.outlook.com (100.127.142.72) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.20 via Frontend Transport; Wed, 30 Aug 2023 07:47:53 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Wed, 30 Aug 2023 07:47:52 +0000
Received: from 3e0e5c1aeda7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 37D684FB-6630-4A3E-9520-3C9E7E52BD45.1; 
 Wed, 30 Aug 2023 07:47:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e0e5c1aeda7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 30 Aug 2023 07:47:46 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GV1PR08MB7378.eurprd08.prod.outlook.com (2603:10a6:150:22::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 07:47:38 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:47:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b2b9a1f-4709-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vDEr1Jxw+JaRbik7MchJ2c3IT5s7A0oo/MOX89vzJyk=;
 b=IAzIHjWOLg+qreWiywKiYPnUmdT6TClqWv7n2hFe0ltfaO+ZkdKeGz5mxZ0md1nNjDQFMn69N/kCKp6A0etGkjTW837oHrk0dSpf6OpdoqfJ0wcA81EpNIK3w0YBBa7+Kc7q+HkIIyy2xnyB7mAC7nz2YDUvHFLG5gKnv3C9EqQ=
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: 037f13676078ad4d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I+j+SgME8IAkTQ7RI3hTiPfQaDFxzufR3h1tfTy8V1RR2tG27ad5sdrDXVWZ96SIyaJBWqSr74F/gmDwQshXnxQPX8dQe9OQmaeEuUL524POO+FmtNQRtXZqE+eUpgchJLkcigR5M0MixPtRnDNPkG1NobuDK+nUilpx5BJj4Y1809ronJLeGTjy4Ex4nEkbVxVybJjxJBZ5xomt/yOuKVEIPPT3IGqdjn8f0iYHUUDRsFomXPrt2Sp2mCHiJDAJM5M7C/zlXIqaUAXueeBjuyrgvhv3cNZl/7+DpZwM/g+vDVPc8YBZdiIiww96oyw0jSzaklRJr3X7O/fE/paClg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vDEr1Jxw+JaRbik7MchJ2c3IT5s7A0oo/MOX89vzJyk=;
 b=j4ml4OHk9SkO33RnVw8ycAc2ggQe00CyWn0Td8ZqqvVEBR7W61uXmceTs5daAlF0+dOny9HkEr3smPbgmdb/PNoFaps38++zhm3WCUvRbUxrMQwZBiw+2fyPx2V7nd9rf9sOhdxmFbp7PlRQSJOgXcvTNXuXuoJvfe9dStdhUeU6gImHJ4aT8GHyN2dZ7/vAWNGneHrFwY18j1aQ+wQc3yKrBEmpdXyGHSr4i6Q2Wv1fLxVavZ6y+O1f5Gvo75lBmRyx4VAEZ9o9cQZlJlRjlxFo42dX/j5+FzS0nQdqAP0el60K+FeSnyU2z5tjoD4sYwTgrtPJxheCZV9AQQn50g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=vDEr1Jxw+JaRbik7MchJ2c3IT5s7A0oo/MOX89vzJyk=;
 b=IAzIHjWOLg+qreWiywKiYPnUmdT6TClqWv7n2hFe0ltfaO+ZkdKeGz5mxZ0md1nNjDQFMn69N/kCKp6A0etGkjTW837oHrk0dSpf6OpdoqfJ0wcA81EpNIK3w0YBBa7+Kc7q+HkIIyy2xnyB7mAC7nz2YDUvHFLG5gKnv3C9EqQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>, "julien@xen.org"
	<julien@xen.org>, "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
	"roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>, Stefano
 Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2] docs/misra: add rules 10.1 10.2 10.3 10.4
Thread-Topic: [PATCH v2] docs/misra: add rules 10.1 10.2 10.3 10.4
Thread-Index: AQHZ15302aQv2TiBlUOrKbURllq98bACfTWA
Date: Wed, 30 Aug 2023 07:47:38 +0000
Message-ID: <312503E5-4C61-4F1E-979C-536B6369D30E@arm.com>
References: <20230825214842.3467599-1-sstabellini@kernel.org>
In-Reply-To: <20230825214842.3467599-1-sstabellini@kernel.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|GV1PR08MB7378:EE_|DBAEUR03FT006:EE_|DB3PR08MB8796:EE_
X-MS-Office365-Filtering-Correlation-Id: 8aac4ec8-2238-4eec-6be5-08dba92d6aa4
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:
 BLb0guHWYXQ1oFwln3FRofr3JMd/VVmyEVRK7HSc3pa4GzHLSntYO+uf2zvqFqes1e2+cnAks2v5+dVAbQo/Dth6hWoqKIG/KPD9LvyWBjE5uQErUIFsAOqydVg9Gx8Bh7dVx0p1ZdW0cZVwTtWg+31qggW3NJrtNnvDwsmrpli6Vh+f5m18fXwc8z/huYVE6DkHSO88C6oAjFo84ckRah8zF+sZUezdPzcY8sgHQa3OkV4boK2oPjDCwOX5kufwQGOKTMz/tNqwcwOi2iPQZ234Q/5lXEHsh5HOWWNfG8Uyv4wuzcqCpA3oKc3DaAEw8tImaysPPdS96yyUed5D8V1jUgjRakCyN4/kGg1aaXRYAZnRdpA5Ert5wLo1v/1pvOq8YfJG5eTp8IF8qAeYCs4rOOhDGCpfzec6RCtNLtspkC6qnGCqhmYml+4/sbyvJV7nxK/rn8kU5mmMNCoxBAW/7is6W/Vi6giYQhUbYcuvbAl0zryoM6GvF7pOanWg4E2X/+GrVev/DDIPIP+gOwrb+8GpV8B99SVQ6l3b9C/bL3IL8WRQ/uD4y/odzxIoahoODucaYUh6m7YXh7z1sNRYFOEhKbqdrn+RxwahURuaDJx3eTA08CxN1cxJLj0QoEBXbqYaD1HAj3ZaY7g9bh1sXYdASov1ITtUWKbjWR42qnM2E/ZSXsQJL2zP/1DO
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(396003)(39860400002)(376002)(136003)(451199024)(1800799009)(186009)(36756003)(33656002)(83380400001)(86362001)(7416002)(41300700001)(5660300002)(53546011)(4326008)(8676002)(8936002)(6506007)(6486002)(71200400001)(2616005)(6512007)(91956017)(76116006)(478600001)(2906002)(38070700005)(122000001)(38100700002)(64756008)(54906003)(66946007)(6916009)(66476007)(66446008)(66556008)(316002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2097FD623F4D5C4FA6CD7E39AA3B5B4C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7378
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:
 DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a8f55ee5-4c8f-4a07-552f-08dba92d61f8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HDX92eH4nbpV58JBwLv2JTjh90ocT66l0y0ea6srwAEK0c3NhUqwz1ETbDXkVMyvEOcuAPsCm6OtGlpbFidRpIWQgs+Ra1e1vJxlRi3oNE0lz1bjT1ZARQWgegYKY5McpDGMwF1DqcHJrAUU4q+xnQgaqKvOnjFaf2UpQAVc7p12jwzqmQ9MUPLvX8XFMudTp3azGYJ3Gyg6Y+I1yyzlK8aOcwq8GHYniAi0lo/fiDEtKwCcq5zSjK606+ojnnLL5iDTksOTNwTmDRR9mWSKSVEMdKZXcAk86UtPliYPEztE1DCeJ4206otCvxrYWeF28xqJ+h4UYP3sHpSAwrpm0hsv2ayk5JRuY8Mb1xfhLf7ovMu0VrZGOkvHqVR19B3HzriNsi1NQPvuO4XKsfy9FwCdLLIy/zSqnPjYePYTca9rQKEmYImR/WeHGeE24VXLJN1h/+ppRSoGSA8xPQHZ/vtFrWkLxzWpu8QBaRI4pISecqg0uOoAFR6fHmXpnGeMnMmfgHsl0/6TVvrocdIWcR1CDe3PD5y4GX+SowbM9LOteJdj72BxNnOUPoC95aqnfDqCMsKytEJ+XhgtY1zaYpZDXOmh9rSiMtKIEIVk1Pwltt8khEskEmq2clQbkFmbO7hugD9KvriEqVPBNAB+3plbt9mB6Rx/Qn3X0q0E0D+lNlmCjOYt32tIGBk2f3VdT6vKdfzzES+nqhq8WKSKSArI72tB0Wsi9fYVaVTvgE1PRqoYt6/v1xKteEHL6nc0KRMWB3P9kK2pIaHQHiibyg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(346002)(39860400002)(136003)(376002)(396003)(82310400011)(451199024)(1800799009)(186009)(46966006)(40470700004)(36840700001)(6506007)(6486002)(6512007)(53546011)(83380400001)(2616005)(478600001)(26005)(336012)(2906002)(54906003)(316002)(70206006)(4326008)(5660300002)(70586007)(41300700001)(6862004)(8936002)(8676002)(36756003)(81166007)(33656002)(40480700001)(47076005)(40460700003)(36860700001)(86362001)(82740400003)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:47:53.0683
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aac4ec8-2238-4eec-6be5-08dba92d6aa4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8796

Hi Stefano,

> On 25 Aug 2023, at 23:48, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>=20
> 10.1 with several caveats, described in the notes.
> 10.3 and 10.4 as "aspirational" guidelines, as clarified in the notes.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> v2:
> - typo fix
> - Implicit conversions to boolean for conditionals and logical operators
> - make -C xen
> ---
> docs/misra/rules.rst | 53 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>=20
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index db30632b93..34916e266a 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -310,6 +310,59 @@ maintainers if you want to suggest a change.
>      - An element of an object shall not be initialized more than once
>      -
>=20
> +   * - `Rule 10.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_10_01.c>`_
> +     - Required
> +     - Operands shall not be of an inappropriate essential type
> +     - The following are allowed:
> +         - Value-preserving conversions of integer constants
> +         - Bitwise and, or, xor, one's complement, bitwise and assignmen=
t,
> +           bitwise or assignment, bitwise xor assignment (bitwise and, o=
r, xor
> +           are safe on non-negative integers; also Xen assumes two's com=
plement
> +           representation)
> +         - Left shift, right shift, left shift assignment, right shift
> +           assignment (see C-language-toolchain.rst for uses of
> +           compilers' extensions)
> +         - Implicit conversions to boolean for conditionals (?: if while
> +           for) and logical operators (! || &&)
> +
> +   * - `Rule 10.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_10_02.c>`_
> +     - Required
> +     - Expressions of essentially character type shall not be used
> +       inappropriately in addition and subtraction operations
> +     -
> +
> +   * - `Rule 10.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_10_03.c>`_
> +     - Required
> +     - The value of an expression shall not be assigned to an object
> +       with a narrower essential type or of a different essential type
> +       category
> +     - Please beware that this rule has many violations in the Xen
> +       codebase today, and its adoption is aspirational. However, when
> +       submitting new patches please try to decrease the number of
> +       violations when possible.
> +
> +       gcc has a helpful warning that can help you spot and remove
> +       violations of this kind: conversion. For instance, you can use
> +       it as follows:
> +
> +       CFLAGS=3D"-Wconversion -Wno-error=3Dsign-conversion -Wno-error=3D=
conversion" make -C xen
> +
> +   * - `Rule 10.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_10_04.c>`_
> +     - Required
> +     - Both operands of an operator in which the usual arithmetic
> +       conversions are performed shall have the same essential type
> +       category
> +     - Please beware that this rule has many violations in the Xen
> +       codebase today, and its adoption is aspirational. However, when
> +       submitting new patches please try to decrease the number of
> +       violations when possible.
> +
> +       gcc has a helpful warning that can help you spot and remove
> +       violations of this kind: arith-conversion. For instance, you
> +       can use it as follows:
> +
> +       CFLAGS=3D"-Warith-conversion -Wno-error=3Darith-conversion" make =
-C xen
> +
>    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_12_05.c>`_
>      - Mandatory
>      - The sizeof operator shall not have an operand which is a function
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:55:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592734.925541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG2i-0002b6-Pk; Wed, 30 Aug 2023 07:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592734.925541; Wed, 30 Aug 2023 07:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG2i-0002az-Ml; Wed, 30 Aug 2023 07:55:12 +0000
Received: by outflank-mailman (input) for mailman id 592734;
 Wed, 30 Aug 2023 07:55:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TI6i=EP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qbG2i-0002at-8S
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:55:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7d00::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a11fa2b-470a-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 09:55:09 +0200 (CEST)
Received: from DB7PR03CA0090.eurprd03.prod.outlook.com (2603:10a6:10:72::31)
 by GV2PR08MB8075.eurprd08.prod.outlook.com (2603:10a6:150:7d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 07:55:00 +0000
Received: from DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:72:cafe::f2) by DB7PR03CA0090.outlook.office365.com
 (2603:10a6:10:72::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20 via Frontend
 Transport; Wed, 30 Aug 2023 07:55:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT057.mail.protection.outlook.com (100.127.142.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.20 via Frontend Transport; Wed, 30 Aug 2023 07:54:59 +0000
Received: ("Tessian outbound 169aaa6bf2b7:v175");
 Wed, 30 Aug 2023 07:54:59 +0000
Received: from 3d16017ffd63.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9E98013F-8FFB-4343-996B-A29E52544B5D.1; 
 Wed, 30 Aug 2023 07:54:53 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3d16017ffd63.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 30 Aug 2023 07:54:53 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB9677.eurprd08.prod.outlook.com (2603:10a6:10:447::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 07:54:50 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07: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>
X-Inumbo-ID: 8a11fa2b-470a-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yE0WOh+eiOva+bxYzrghnNv6MhootGY+gf5i0PGeYd0=;
 b=KXd8MK82ADQkaV3paJLUI9hiGyfRxktzLodeWekr7Biv2NeNQxgiWa8+a7K5QSeK7uDev5m46K2zf6v4lEpJOpdeAABJKoL2AhmK3t5McoLNMfwEzJhTCUfqaWWaDVJfU8HLAMp8amY/S4RatAz5HmlbfgbqKkJ4Wp0fVFeu60c=
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: c22716e16b7391db
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MQbgHH2BMR6WJALAadvtl8T/vUCNj5VgJAjARlcMhE3/8NV/gXN66Ue6K21cdPDY04QItDMBIfK4enX182uA/cfvcv1Bv9LCSzYHf9h/e+IYwc0Dr8yvUiCqOVSWgwpcbUbt1LDMVa+qKYHP0a+nt8GD4tP6PHZ/VpPY0D87hUkuBDd2E7AQvWm7Sw9C5MNp54ync+0ZwFrpQdDk1nfXJMzu2CYqAisK0matoySxKPCRb22prRJecftmTpyABpF/gX/U0aAvJJ8jCAF5OIL+32u6+el2tpXkl70IW0p/a7NjEfE7YQTuNDaHjx0xuPiDXRihiH/Y7cs91gqGGVyoZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yE0WOh+eiOva+bxYzrghnNv6MhootGY+gf5i0PGeYd0=;
 b=eTp4Vt405r7uQjP5nuu0rSREOKji0gCihrVNJkvo6CPbGEMJRW67C4RdtYTSd6EzaxJnhLIsSrMj5maAjVzi90kht9D8q6XcmRMUxP9ha5C131IKgHHwiYy8z6Ll/igwXddDGaojo7K1NQoCi7kfdUOUf+PqJ8a/3U5P9TDynFzWVoZiU0ukA7YEFCUC832icfKI5a6J8WO9nuZV/30MjF6bp+rw1T1vSSCsxsdS9/wj50wa5a9dItT9vFajxOR8gOrQ36REYVQ1zV9vOGowwo68dVmb622poG5fLY0fz7xYmaDVcfUxqsD8JJNFSjxQ/MV1SZ1oNudo943ReJHXtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=yE0WOh+eiOva+bxYzrghnNv6MhootGY+gf5i0PGeYd0=;
 b=KXd8MK82ADQkaV3paJLUI9hiGyfRxktzLodeWekr7Biv2NeNQxgiWa8+a7K5QSeK7uDev5m46K2zf6v4lEpJOpdeAABJKoL2AhmK3t5McoLNMfwEzJhTCUfqaWWaDVJfU8HLAMp8amY/S4RatAz5HmlbfgbqKkJ4Wp0fVFeu60c=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, "julien@xen.org"
	<julien@xen.org>, "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
	"roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>, Stefano
 Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
Thread-Topic: [PATCH] docs/misra: add 14.3 and 14.4
Thread-Index: AQHZ2t1QaiF4viv/Cke+tZQgief+irACeLmA
Date: Wed, 30 Aug 2023 07:54:50 +0000
Message-ID: <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
References: <20230830005950.305085-1-sstabellini@kernel.org>
In-Reply-To: <20230830005950.305085-1-sstabellini@kernel.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|DU0PR08MB9677:EE_|DBAEUR03FT057:EE_|GV2PR08MB8075:EE_
X-MS-Office365-Filtering-Correlation-Id: 52cc95df-2963-4185-23a6-08dba92e68ec
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:
 0CdaJhkPke/hSPqO8IWcpVAnTm6jC9psyH1fKPhgB0NCPQwS2wLh26GZu8EUm+5DRn9t1R8GUwbhIf3edHZlC7r64y6qRnuZk4KbHEhULjxWBbi43NE4K77blavzwvpYlEOvBwk8Ek1N0TINkce8Zbg0pihglDQmXG16k0pupm2yi5MCwVM8Q/DTDugizX5n8QdPkhCZaeL0dwpvfpAMVZGTIL5DYQIoeseTVJD7X5CWnUpsAaytLSi4f4Jp5Q3sXwORBOaKjIKOZ33GCB2cV1bPrFoYu5rfX/RsARr5DJLtDIXDBzAj7/qmkLB0pVd5QPyF9YuOuylE5Iz8rVm6MQUZ76gjV9t0vzhP/9bYkixDlgYHkJkcs0OhV3vOcQ3dr7mZqkK6OP0j+ZvC1YKV/L/sZHcVNGLJOgHpHkt/1DqMwEQJ0PaMpHkYsnAEwUrU3EFEQ8feMbdeCm0D9j+nljSGi/LwzV/ZsXcNxSwqfv7EDeSrzspVAxWzp733w0kNGo6Ynx8RTOOUtgmvhjPVjB95tUBQiihI4Eg5Eq4EVbum+HzIuNL2SGf7gyNshaAatxcClTgHLCi9iorqUneCiIkY5p7A5m2MwrV+LI22hxftUTHBjMtxWTQCfA3RShF9h6Jy87K2BwwG0u6bOOKrxpMOnZv4K+WFoubJPrp0ffGeQ1L2hZ4fXMingcQWWcJy
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(376002)(396003)(39860400002)(1800799009)(186009)(451199024)(8936002)(91956017)(53546011)(478600001)(76116006)(122000001)(66556008)(6506007)(66946007)(71200400001)(66476007)(64756008)(54906003)(66446008)(6486002)(6916009)(38070700005)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(36756003)(83380400001)(2906002)(2616005)(86362001)(7416002)(33656002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <7B574B8C6666194B925BE6348D7395EC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9677
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:
 DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a671e342-6c17-4cba-c8c8-08dba92e6362
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mU/cZRPvJhZRAIHkiLFKuBXOBJDESFn1zR688IA4M+g4jqrwe1L04mHdQqmu+L7w5hPrB0Ztl1a38IzcOhWeDIb3lVAwbYLRjgl8uvxbKHSEr4QsQgSB0IJzs1beWlOvokw80hs7FZ4e5b7dzCL/Hp1lBdUsXucFQO0O+VJwW5p3gajLmPPKDFuG98PBYohWLYkc0zXtF/UOV2IyFasiBiJVfgELAPgQL+wHkZJwPV0gBatkG+lus5D353KIs+bkJrE9ARbjBEg4SgMn10tqZfXHT2DWueKW5y7Mt4EmCEBxoSH54PpQy3I0mFIp2M7WhlSFcMbKH5xox7O8yMSkRYb3KyurVZ0UdRGeHYfb+/Ld3TNd02TstXiqpIU7YWW7G1djcn7VNLdQoyl2gokSUpsMKwaOr0zseAlF70xbSaxpPF/L2kC51QISzZ9q/MB/qe/iglAmbGEFxOnfz1tDH10tWsgpjFW5fdhvxOUQ98UzcIfyRA91kmpg/SFc0DKB+6LlT+lrE3u7sxEb7K98cGQ4A5bYgEp5JIAlUkOIea1ht3UKmNyRjR3nXHNfINF61Dq5VgdsVPPAaQtdQIjnzqm+BX9IRWvuKfdsxZhAatm6mFmAaqF4nL3DjetnuqM3/tXwBG8M9A0Hv2ZWFx9l0WGPQ2O10/af3GDz4Q5QA+T4B/0+UzFOetnluFGD8dFtxfjdBvmPvrQuqzo3GMQq5fKTl5Xk46N2lb19h2/jnDn+oLm0RR8P9JhNJHz/HtCn7YUjsgppK9exe8EgcuR8Rw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(376002)(396003)(346002)(136003)(186009)(82310400011)(1800799009)(451199024)(46966006)(40470700004)(36840700001)(6506007)(6486002)(6512007)(53546011)(83380400001)(26005)(478600001)(336012)(316002)(41300700001)(70586007)(54906003)(4326008)(5660300002)(8936002)(2906002)(70206006)(6862004)(8676002)(33656002)(40460700003)(36756003)(86362001)(40480700001)(47076005)(2616005)(356005)(81166007)(36860700001)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:54:59.6796
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 52cc95df-2963-4185-23a6-08dba92e68ec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8075

Hi Stefano,

> On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>=20
> Add 14.3, with a project-wide deviations on if statements.
> Add 14.4, clarifying that implicit conversions of integers, chars and
> pointers to bool are allowed.
>=20
> Also take the opportunity to clarify that parameters of function pointer
> types are expected to have names (Rule 8.2).
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> docs/misra/rules.rst | 20 +++++++++++++++++++-
> 1 file changed, 19 insertions(+), 1 deletion(-)
>=20
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index db30632b93..6cde4feeae 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -234,7 +234,7 @@ maintainers if you want to suggest a change.
>    * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-S=
uite/-/blob/master/R_08_02.c>`_
>      - Required
>      - Function types shall be in prototype form with named parameters
> -     -
> +     - Function pointer types shall have named parameters too.


I would just modify to Function and Function pointers types shall be ...

>=20
>    * - `Rule 8.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-S=
uite/-/blob/master/R_08_03.c>`_
>      - Required
> @@ -332,6 +332,24 @@ maintainers if you want to suggest a change.
>      - A loop counter shall not have essentially floating type
>      -
>=20
> +   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_14_03.c>`_
> +     - Required
> +     - Controlling expressions shall not be invariant
> +     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
> +       checks, and other constructs that are detected as errors by MISRA
> +       C scanners, managing the configuration of a MISRA C scanner for
> +       this rule would be unmanageable. Thus, this rule is adopted with
> +       a project-wide deviation on 'if' statements. The rule only
> +       applies to while, for, do ... while, ?:, and switch statements.

Didn't we also said that we would accept while(0) and while(1) ?
Also i agree with Jan, ? is really the same as if so we should not treat it=
 differently.

> +
> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_14_04.c>`_
> +     - Required
> +     - The controlling expression of an if statement and the controlling
> +       expression of an iteration-statement shall have essentially
> +       Boolean type
> +     - Implicit conversions of integers, pointers, and chars to boolean
> +       are allowed

I am a bit wondering here what is remaining after this deviation.

> +
>    * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_16_07.c>`_
>      - Required
>      - A switch-expression shall not have essentially Boolean type
> --=20
> 2.25.1
>=20

Cheers
Bertrand




From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:56:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:56:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592741.925552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG47-0003CS-7y; Wed, 30 Aug 2023 07:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592741.925552; Wed, 30 Aug 2023 07:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG47-0003CL-5N; Wed, 30 Aug 2023 07:56:39 +0000
Received: by outflank-mailman (input) for mailman id 592741;
 Wed, 30 Aug 2023 07:56:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TI6i=EP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qbG45-0003CB-Tv
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:56:37 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bde8b0ab-470a-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 09:56:35 +0200 (CEST)
Received: from DUZPR01CA0147.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bd::29) by VI1PR08MB5357.eurprd08.prod.outlook.com
 (2603:10a6:803:12e::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Wed, 30 Aug
 2023 07:56:32 +0000
Received: from DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4bd:cafe::39) by DUZPR01CA0147.outlook.office365.com
 (2603:10a6:10:4bd::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20 via Frontend
 Transport; Wed, 30 Aug 2023 07:56:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT005.mail.protection.outlook.com (100.127.142.81) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.20 via Frontend Transport; Wed, 30 Aug 2023 07:56:32 +0000
Received: ("Tessian outbound b5a0f4347031:v175");
 Wed, 30 Aug 2023 07:56:31 +0000
Received: from f5bdf2c568a8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 44DB5F18-7C7B-4C3C-8A60-1001FC8CDAB0.1; 
 Wed, 30 Aug 2023 07:56:25 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f5bdf2c568a8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 30 Aug 2023 07:56:25 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB9677.eurprd08.prod.outlook.com (2603:10a6:10:447::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 07:56:23 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:56:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bde8b0ab-470a-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8W1i4kHrGCUzFP6Brnvd8hb9hHlRRrmYYieeDuW17bY=;
 b=Aen4rpu2a4j7j2MhK2l4iHtSbyiMHERSr5OVEw4va0ZIoBtFiXrIVV3p0OdjW7opgeeKKookxO6RopAteH993EGOveOnUrsv63wUiuwi8bkMseqVQMoMwPzykLzylSL+KvKUmZ3GdoscZv12g/D1RZ6SyQGq0O2l2XlkAXKEev8=
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: 15e8d1fe9783fca8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cCk+Ly1Ca0JqH3ap3aL5rhYL69B60LqRwe2090zDBqef2oKLJ6KZ8anvsXgdAXzmuNd8gWAbw1QCwIQHbAStNkyNi6Ik/To4OgzhxUshL2NOa5FiUU8hRCrqvC7fDbZ5ia62LLf0iYn7ZC2kzqpdYObjGgodfQ3Ex6bMz9FfvAQeakwWoZPQp3oVymlAXR1M8Ti3Vrxzr232e3+HNL8tbY25D8O7uT6peKKHtNFuStFJs0RD5H28nzB8HLTy2ciIY2s6m4qy71pmqxBUdijHpl2mPfdFxmlSVsBaMeHsU8tf3VYm4DqJEAm4gTG7r1Q7t4n65W0O+f+uI/qOmZu6vQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8W1i4kHrGCUzFP6Brnvd8hb9hHlRRrmYYieeDuW17bY=;
 b=iH9o637QNBUK47ajsAps86Fy2ERLYWdvkGwL/e/reFpkcr2JLgK+o+0X/pxa8Z0ORu9IfDu864AcjOLDlZDmPq3GbwXBIEUPLDtQtdIk/N8X2xNrsVZI3d6zN7lN/Y1cjNEtb0Vpi7Zaq3wE/nhBMHZ1lMltRMNIAGCSlyaJAFVWf/S6SBQ505bpUSKv5J3LfClM5eexDcjZWNohPmtGAb+omUINjErN7qZr0CuJxN3RwX1qP3yExNHhTQCBH78p05C6HL/5+MsKYq/P55Jdc0tpneDypv9y2Zb0wZKAgIJ1o9F04rqBOLD1ZRex3zCdTn30NiGFe8h0vOUD5N9exw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=8W1i4kHrGCUzFP6Brnvd8hb9hHlRRrmYYieeDuW17bY=;
 b=Aen4rpu2a4j7j2MhK2l4iHtSbyiMHERSr5OVEw4va0ZIoBtFiXrIVV3p0OdjW7opgeeKKookxO6RopAteH993EGOveOnUrsv63wUiuwi8bkMseqVQMoMwPzykLzylSL+KvKUmZ3GdoscZv12g/D1RZ6SyQGq0O2l2XlkAXKEev8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Tamas K Lengyel
	<tamas.k.lengyel@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" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/2] xen: add stubs dir to include path
Thread-Topic: [PATCH v2 1/2] xen: add stubs dir to include path
Thread-Index: AQHZ2oYKABgzDtwGqkuLqOQEWgZPabACco4AgAAHSoA=
Date: Wed, 30 Aug 2023 07:56:23 +0000
Message-ID: <9C45CD78-CBBA-4117-9519-8F1784B33641@arm.com>
References: <cover.1693319118.git.oleksii.kurochko@gmail.com>
 <09fa701d2be02589cc9f63d8334082346b5c1702.1693319118.git.oleksii.kurochko@gmail.com>
 <f1af0e80-722f-9f47-0618-a31ffe0bbff8@suse.com>
In-Reply-To: <f1af0e80-722f-9f47-0618-a31ffe0bbff8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|DU0PR08MB9677:EE_|DBAEUR03FT005:EE_|VI1PR08MB5357:EE_
X-MS-Office365-Filtering-Correlation-Id: 9dd49a53-1987-48f1-3db7-08dba92e9ff6
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:
 JvZXZqjxa80AfLTQC0jalwQ6yjl6t87+Fk0ZMxOOJYMZYHc4Gfw/IweoSEYwvgBOGrYaKVSNSoaS7sHx17ruhpubIMIPR/FJurD5m9lHT5JjQORVpCnxVOXuO5PK/OD9WHY/4CjDWqHKEtwxn/XLvG4r1yoRfnMajyYWP9re0Kgl6hN3vX6gTGb0qMmDWctdtN0ao9kCYqFJQ2qWmYAUtPKA7peAlrRWfIwDwqTLv5KpeqBoN18OtkO13nIk5oVUMqgl3eV4Pk0UN5h0Jx0STklTUYOIZh9t7Ds33btCR1/EvA0jgsJHFL2Fu25PuRYPbzWbR8MP7F8L4qCL/Ch/9AmJqWML16jH0aEEe7nFaVaSulO7qTcZ05pe8QvKFlpZWnnuOKKd/Fgj6rjnCf1o+rALak3ae52n7kD7cg3MEl14u9Vb4tXkUgj0FzYByf0AJDJrkRJ/fZhFN1aiMZVmc7tpLq6+7S3dpGpUojIKG+1VIC0akZJajivV+VM8IgdX6ey9TiBEsezWEGIAEFHUAAmFxpo/pSmLfXDl+wpLlWSxLEfGFlnAHyTLcDRYgg/8XpVyx11FQ5CehYdCkDO6yPdcD6RKFiaxbiR5C4qZIQK0+r0TgQ5fpcf3qkJSL3PiEzoccscR0JbMvuqjw5lctA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(376002)(396003)(39860400002)(1800799009)(186009)(451199024)(8936002)(91956017)(53546011)(478600001)(76116006)(122000001)(66556008)(6506007)(66946007)(71200400001)(66476007)(64756008)(54906003)(66446008)(6486002)(6916009)(38070700005)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(36756003)(83380400001)(2906002)(2616005)(86362001)(4744005)(33656002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E28221EE0A2AC344BE2D0F9DDBCCD4DD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9677
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:
 DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a2085105-9e96-4537-b3bd-08dba92e9b0c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oFaeOKbVaQlcR4ujHcSRBkVp2NeHWvq05fC7gUOwpnilAyUnHX4RR4rm7pnrb+BHv0KIX1GnwQob+mrMIu+e81COVTFGig/6L4MjET8VSZIVRtkEwX4pw20SHuDJBZ1xdPtg00mmXnJdq1CUOnZP7lhSwY9Jr+j5SB2KQXiOcRxBAdp4T+hR8SgSMHTGCPsfgny4GhJ3x+BN323xypCpGf1R/1THPrx6oWMIeSoH4w4SF0c12u3Rl+xCIrt5Ko3SRKHJM+cRgMMkqT/4L94Und2Oup/Kg48PBQLijW3gR7XwG94OKXvqyDJAsYhRUGjgspaAJ8bXJ86Q2ubuCJeg474DshYTWvnUMs8CS9SrjpRXm4g/IPaQJPIM98+Ek6dr6Qm7Cu42zp8GO8RpCUE7E/AFO0/MiP2nAePMWi9Y1E3018mmuwp2PRY01iTybHQzhRkHGyEVgsidsOwOSoTTgmyMOYcst0B7UOQ68R/RDQdLMB3WmPdMhlxy6YSw/BNwgy0bnK1v1r6RnoKyorj6MCygy6TKGtR0vH+PgMp4keeHFPnTSGu2wN0YweodPWvga0HtPmLAQKkJ4sVqrruuOk4QNF3M4QqaIP4ogbaa/BIWy63cWZA1tr5UIcnLZx0+rU9d+9EmxBZ7gpMUJBSkg1eOweQoPcfjTrXjZoU4WCidSQ6efeadpCzSnP+BNrwDOHFcgAOjC5lFSu3rnyJc6RXOxxsmGoc2zFl35Z17aszuJpkK6ZM/vCeNaF9kpyOy
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(396003)(376002)(136003)(39860400002)(346002)(82310400011)(186009)(1800799009)(451199024)(36840700001)(40470700004)(46966006)(2616005)(40460700003)(83380400001)(47076005)(4326008)(5660300002)(8936002)(6862004)(8676002)(336012)(36860700001)(36756003)(4744005)(478600001)(33656002)(82740400003)(70206006)(316002)(70586007)(54906003)(81166007)(356005)(40480700001)(6486002)(26005)(41300700001)(6512007)(6506007)(86362001)(2906002)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:56:32.0205
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dd49a53-1987-48f1-3db7-08dba92e9ff6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5357

Hi Jan,

> On 30 Aug 2023, at 09:30, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 29.08.2023 16:34, Oleksii Kurochko wrote:
>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -438,6 +438,7 @@ ifdef building_out_of_srctree
>> endif
>> CFLAGS +=3D -I$(srctree)/include
>> CFLAGS +=3D -I$(srctree)/arch/$(SRCARCH)/include
>> +CFLAGS +=3D -I$(srctree)/include/stubs
>>=20
>> # Note that link order matters!
>> ALL_OBJS-y                :=3D common/built_in.o
>=20
> I have to admit that I'm not entirely happy with the name. I wonder what
> other REST maintainers think. In particular I would consider using
> Linux'es "asm-generic" name instead, allowing to cover both stub headers
> like the one to be introduced here, but also other kinds of "fallback"
> ones.
>=20

This is a great idea.
+1 on asm-generic

Cheers
Bertrand

> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 07:58:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 07:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592747.925561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG6F-0003oP-JK; Wed, 30 Aug 2023 07:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592747.925561; Wed, 30 Aug 2023 07: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 1qbG6F-0003oI-Gj; Wed, 30 Aug 2023 07:58:51 +0000
Received: by outflank-mailman (input) for mailman id 592747;
 Wed, 30 Aug 2023 07:58:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbG6D-0003o8-M1
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 07:58:49 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ced251a-470b-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 09:58:48 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6860.eurprd04.prod.outlook.com (2603:10a6:10:112::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Wed, 30 Aug
 2023 07:58:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 07:58:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ced251a-470b-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eXrKeQptRyxVTQBizZkh+1GNaN196Y9tVTRhezpEaVnMH9Vix9xhCBAF9+qTB3FfEapE+3hoy1A29Wu4cWShGMylw6a8L0VcNahmAaRhbQ58Rq2EDySFmaGDDYq3OmlWvMFruqtuMnV1X550q29B3FUrbaukIi81nd5m0zuEX1DK0nWiccsrWrVMgEJ3AkuFCiPz3sJMSV4evw55a1Cic73+/yljJGUNKBglYKstcnqh8aXI57ALJ6W4+3ikDsipUEmQhU51+Z0hVwDMyrPDqGyJRe7zxj8yZBqlxVMPtbmnqsTigsY/oRArmPgdWpYA/ajU0GCgkj6KDcei7qdp1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xdVnVck2WIIzqoZQ9M2KyGXt7qyFPYimJtu6qZk8mGI=;
 b=bt8H1UA1aegL6yjqkXPiEwP3KjFxjwOPJc4Fq0v6rSOmAaq8VVR4yHbDZQguCn3WSiEFDDJP++kv0z1B+o7Pw2CQDy0tcPAw6kw/dwG/1c1DFaiuRprbWSOMT/kSea+7nUlHhwxo3d2uKzXRsfniylLtKa3qJQ7ktUK8B07zT0BWZdVUoWtTyxLpye4wFGplgbFpJufKwkgN1klMEdjCh80hTxqNWs+yyDNLZFilmq0ljehJj4A1FPfkvQNdBFcgIo8KM0Ihii0t8ZCgSBXJaCQAY4YYN5VfyABMlGPdwBVJPar4VZ1C6R3nOGhw3kjV+cDNhboq8BOAobFyzJtc/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xdVnVck2WIIzqoZQ9M2KyGXt7qyFPYimJtu6qZk8mGI=;
 b=5zPRDq3/JSS9mEJ+9x7DpMBguDo8qYAusRDYjRj7cBf7CQD6x/DMkGYCO8KWiS7FtLA4MGjl7a5aa3RZDGmQ5mjoyIIvFJs3clDEJxzRaJXFF3Jm6+z006hYBrLjSRJmV91xD11x519XYSWKvHLj5DCAo88RnbatAaCt2sGpNE4vIPCZyzMrrRYVTpXxFhkSj1V8fblUWpNHWigWylAOCvRu56yOmVcxHBrayrQ42WsmbbU13Ny1ukza+y2L/FgbkH31D6upqSPa9slvr7f8x/ySf4AKeQqgBGs8XjHLtKF4y9sDlG7iO0vMDe2Fo6vEvVTAUVaGRcraaTE+HfHnug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <15551c77-95fa-7c7d-6b6b-d5c42a38caac@suse.com>
Date: Wed, 30 Aug 2023 09:58:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "julien@xen.org" <julien@xen.org>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
 "roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230830005950.305085-1-sstabellini@kernel.org>
 <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6860:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d043641-605e-4f5f-1186-08dba92ef04d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DgOrGvpGiaiJ7/r2hybrZFKe1BDUWyJrkEJe1o5zdTige5/a5Y40beXKbLe175CR1tcutzIR/W4LR5sFinj9Ze/YUkOn7tfZ4+5aAsuw5fN7LXV8ZdEPKn3SbSBP1Gjzh3DDkYsreE5voojDlS8czm7azYBKAcfkMCps52d4VsuT9M+d9mM7gddN1X6qlbzVEYcp5/Nbz6cxNoo0IwYfuTVXSr8sVzBRc0hDfRBz78Ivgfkcd6gUmfloEA1n5+YrNruAGgfyDhj0CL9ZijUpptUiWSxaDebfh3b4qkMKOwiuJVy9AdI+r3lOWRZYkdtN3JHG78Aqo/e1F4mveFRec8B0erv/hsl+7m/6zC6x5BQfNW9r5pP0zrI6TUrF93AjECr0fjccmfvAr71V4v128MWIxdWCbXSxndKlt3WHpvVWl/baaAiSbSawpb0YauN6Q+0ZUtDMotf9oYcSUtaw1QAZWqkB2Z+y8EwYlhDCdFnmyxnqS5hkNbJ+vPREGkOn6OOEs1a/Cma54mZ37CkZoiX0RbhkZO+P+lOTMJKQdDV9UCpZMmFliLaWIn10XgUHmNf+T2XKAhhhZjjFrKLsCw5AHZTcrmM9mxsfJBGfz4SNaHDj8qtQIkS7T8qpLiRAVo64+75sInXyPUxgMQzMyA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(136003)(366004)(39860400002)(186009)(1800799009)(451199024)(4744005)(2906002)(5660300002)(38100700002)(8676002)(7416002)(36756003)(86362001)(8936002)(31696002)(26005)(4326008)(31686004)(6486002)(6506007)(2616005)(478600001)(6512007)(110136005)(53546011)(66556008)(66476007)(41300700001)(66946007)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tnl5cmdiRXh5NEtsMVUrQTVvMUsrYkx1SHl1b0xSMlZvUEUvdFBpRXJkMXl2?=
 =?utf-8?B?ejFqWjhHWkNhSGxseHVmdjl3ZktMeGtSdjJxNFNRdnoxT3dwV0FpZjZuOWxN?=
 =?utf-8?B?VGVOMHcxREJwdkQ4RW1Cb3QrelNIM09NazFwV3Zvb0NsU1JYdzhyY2xyTWxV?=
 =?utf-8?B?clBrcEpKdkJ4ZmpyQ3VyclhrREcyNUt5THBVUmd3YmxKR1VTdTgweTdaWHQx?=
 =?utf-8?B?VlZ6bHQ5VklXU0pYVlVSdzdueVRDVXYvNUhERFdwa1UrZ3ZzbDlIS01qZC9L?=
 =?utf-8?B?Q081M1hydG9hS0hHNjllc3k0eGxhZGFvcHg0bmExMlIxK3FXTjE2b1JXaklI?=
 =?utf-8?B?eTV5bzFKNXZ5L2cyL2lZSUp0dTNxdGVkcWZGUUFzMDZFQ1J0K2RtM1FOcEhR?=
 =?utf-8?B?K0hVMElOZU1reitVa2I2VzBPWWRKNTdua3RyUkFTMnBJenRpcER3clM3TWpK?=
 =?utf-8?B?Nmtoc2F6VTRGRTRjWGQ2amp6VGI0YmxpVnZ6TjQzZlFiN2c5cU9HbDdZWngr?=
 =?utf-8?B?dkRTSkRaTWl1UVI4T3dQQ3ZZTUUvVDZUZzlUVnVKYW1nS1pjci9NdmpnNHNL?=
 =?utf-8?B?M2FiNU03bXB3SmtPRWNzQ2pPK3FxTHFuaHdBTkw1TllQUXNkTDVZVE1tSWV5?=
 =?utf-8?B?WGUxQzlFOHpBS3dteHAySUV4Z0dHazZHRlBsQ2RoNk5WbWExTGNKMkVoKytT?=
 =?utf-8?B?VGR2S1B6ZkNTZzhkdC9PNzNVTVFxR05Ta0s5RlZkaXQwdTNpN1dSTkw3eDEw?=
 =?utf-8?B?NHp6bkRIRmk3b1JKSmNmVk83c2N5Y1ZIWmMyazBmem82cm1aR0FNY2ZMdVdm?=
 =?utf-8?B?cW5lQzZBbHhVelJ4eXJiNDlvYTF6aVNVcG1CR3IwZEttN1Nxd0F5NHU5eGlG?=
 =?utf-8?B?L2tKdklqbHJKL20yKzVXR00vTEhhUE1uOHNzN3ZpTjhXZWxkMVRkek91Nmtv?=
 =?utf-8?B?MVlrUkFudmxLQU9ndGo3OVlXd2loZjlJTTVLc3NpZ05GSTdCWk4rdnNVWlor?=
 =?utf-8?B?MysvVE9VOWg1ZkUxaU9WK1hiR2RhbkU1bFVXMHNGTDNpMWZhTnlxY1NyalUv?=
 =?utf-8?B?Uld6Y3pJZTJIQWFRamhmeFhtOTA0RFViMk96VW9tblRZR2NLb0lUV3VYdEU5?=
 =?utf-8?B?R00vMzAvZ244L1VtODVtRkcxbWFJUTQrMkgrRG1sd2Z6YTFkTWpGZlZjbWh0?=
 =?utf-8?B?YkQrbzlqalRmU0p2K0V0UlZSOXJVellCbVZSQlFNRThQQWR0ZlNTWWZJQStU?=
 =?utf-8?B?dzl0VUVvMlhyTE5POWpsakJDNndubGQ2V05DUlJJUHJweWh3SE5iODk2Rmwy?=
 =?utf-8?B?VVVSc29aYVFXUStxakRaWEF1L2xPUHVRQTZqRVIydzNsSExkZGwwK1NlL0tM?=
 =?utf-8?B?ZTlGbmFiUVc0a0xkQWJ4WnB0SzhtSnRtY0gvL3dLblp0ay9uRDJxbHZGUUxB?=
 =?utf-8?B?NzNjSWVLMDlrdVlsajJZcjh3V3RZc2pxV0Q3Z0V5SW9pOUFaRVJkZWtmNW1y?=
 =?utf-8?B?bjZzT3FOM1F4b1Y3MEZaODJBYTRpRWZBZmF1WlFCSXIvbXJRa1ZzdVMzdXRa?=
 =?utf-8?B?RjJPdGljS0x6Y1g1NkZuT2R0SHJRMGkwU3BKa0NjcWdnSGY5QW1YeERydWdW?=
 =?utf-8?B?ckw3RENPVEpSWkY3SWQxQzlyU3NrTVFhajZGaWtYN0F2NDdMM3Q4ZDk0Lysr?=
 =?utf-8?B?bG9RZ1ExRXJRSnpId3plNXZGZTRuRE90eTFGbTdzQTRLTGdjZHp5aDRpMndv?=
 =?utf-8?B?R29vYU9hZEdTQ0ZnWXFDeHpJL095Uy9acmpXbysxaE9obkFzSUMrejNJZWxY?=
 =?utf-8?B?bU9xdnlxRXpJMjhvOHNjWnUwZHlsTHF4dU5mZzFBclRxelJBdWpHQnZrMCtB?=
 =?utf-8?B?cVQzOXY0UjFmblhROHI4aTNZOCtueXc1bExLY1RNUDRZaWF0N2tZNVl1T2pl?=
 =?utf-8?B?ZEUxaXQvenhraGdmNGhuMGdJMTJMR1hzaU5wVU1vNTJQb0ZTK285RU5QUHVq?=
 =?utf-8?B?cERZMzlqdExSenkwb1B4RTN6MzRyU3pTUDl6VzIxSE50SUNMVk9sTWhaaFF4?=
 =?utf-8?B?MUpFcWlKL1VseVptMVVTQlFwV3JnOTU3UWFJcFZEYkdPSUJ1dTdVQW1UNldy?=
 =?utf-8?Q?ZDaMiGJM0DVv4tNOyv3iKgszq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d043641-605e-4f5f-1186-08dba92ef04d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 07:58:46.9336
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aMlrvKafdtjF1bS/XQelOl0RJ9pG/CmWTVcxida6LLAZcznIXJNbxnim8lrx+i7TO/D2efAQjrtgF6RLSHSoSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6860

On 30.08.2023 09:54, Bertrand Marquis wrote:
>> On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> wrote:
>> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
>> +     - Required
>> +     - The controlling expression of an if statement and the controlling
>> +       expression of an iteration-statement shall have essentially
>> +       Boolean type
>> +     - Implicit conversions of integers, pointers, and chars to boolean
>> +       are allowed
> 
> I am a bit wondering here what is remaining after this deviation.

Hmm, good point - floating point (and alike) types, which we don't use anyway.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 08:00:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 08:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592756.925572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbG85-0005rQ-9T; Wed, 30 Aug 2023 08:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592756.925572; Wed, 30 Aug 2023 08: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 1qbG85-0005rJ-6U; Wed, 30 Aug 2023 08:00:45 +0000
Received: by outflank-mailman (input) for mailman id 592756;
 Wed, 30 Aug 2023 08: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=TI6i=EP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1qbG84-0005rD-0d
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 08:00:44 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20608.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5090f7c3-470b-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 10:00:41 +0200 (CEST)
Received: from AS4P190CA0066.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:656::9)
 by PAXPR08MB7492.eurprd08.prod.outlook.com (2603:10a6:102:2b5::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 08:00:39 +0000
Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:656:cafe::95) by AS4P190CA0066.outlook.office365.com
 (2603:10a6:20b:656::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20 via Frontend
 Transport; Wed, 30 Aug 2023 08:00:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.18 via Frontend Transport; Wed, 30 Aug 2023 08:00:38 +0000
Received: ("Tessian outbound 1eb4e931b055:v175");
 Wed, 30 Aug 2023 08:00:38 +0000
Received: from d58df7ecceb3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 64E5CB74-BA78-47D3-9D83-D630E973D4CB.1; 
 Wed, 30 Aug 2023 08:00:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d58df7ecceb3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 30 Aug 2023 08:00:30 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8466.eurprd08.prod.outlook.com (2603:10a6:20b:568::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 08:00:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::3cb8:2053:e853:92fe%4]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 08:00:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5090f7c3-470b-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1HiX3uDD7Izb+4xNXEWHFxHZWTg2oQubaSWUITMqflQ=;
 b=VLPensUzmZ6pUFIpmMIbok+/BgkQPR370DKwkUZJiwl+k/Po95uTV8Pyn+Wjbt5svyHbiffml4KwCdbSzt3dOs1eShQeH8djz8fZLsF8I8tD+or3qn0MZZCUWS4s5Nekw+souiY02U8KVPk44u0fTvr4qpckMBPb2TF1aoubAgI=
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: af50ce19b3ebbc1b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jL6/jHOsxrC+GKbtVMV4KtXqlHayaK61swwyz4q4vIimt/93q3Vdp1zIg9PfcO9zgPsxHuyeUWE7hcLxZdgGb+5I0Y4z7H1wcqRUrdp5LuleWh7uhd4Vw8i9pz0KBu/YUMPRYZbMkSda9Low/u72G/69kj4YIJc7tSH2aC5xqSz3OYD7vXWamWv4m1FIPQ/H6nuQLTCurBQVwDyf6BAIx1ZnB7I5zaoSd1Fp03AUeyhgFFwGYY2f4rN5hwI5lxOWFpYpw3gc8EL8TBoy9PU5feeTBao93qEb66+d2EYGbn/5qPaKpvvpT7GFWatdAvdzsmxONTsC/w49kSV0BePLHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1HiX3uDD7Izb+4xNXEWHFxHZWTg2oQubaSWUITMqflQ=;
 b=msYplZAysPG+En1RJ+la3qcvgURKUHYeym6GUlLLaIdEFH0C/vV0txTfdOaoSwXGGm8AYpa8aiPO+OkPL8uUYU4dHqjTzwjrqdhgApQ5FlNVCfP8rU39fNqOwX8njrFJoh9w3hzXe8GQQM6yvhos8P6agruhvnQ9x0d73+w65a3J8TFu6ZrLN403MoDV49fo8IQYEMAFuO+n3PrdTHCw7ZMHkFN539zz0l3Q/YFXjoMXPxs+zWon2afcDlumRA28ir6peRjPfDEZ/Pc8K6kjZCDnNhvwl9XM5KdJVwA3ORnIbGv0Cfh/fHykWZf2acS7FN4vkXYoNKr4jIkMNKX95w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=1HiX3uDD7Izb+4xNXEWHFxHZWTg2oQubaSWUITMqflQ=;
 b=VLPensUzmZ6pUFIpmMIbok+/BgkQPR370DKwkUZJiwl+k/Po95uTV8Pyn+Wjbt5svyHbiffml4KwCdbSzt3dOs1eShQeH8djz8fZLsF8I8tD+or3qn0MZZCUWS4s5Nekw+souiY02U8KVPk44u0fTvr4qpckMBPb2TF1aoubAgI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, "julien@xen.org" <julien@xen.org>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>,
	"nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
	"roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>, Stefano
 Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
Thread-Topic: [PATCH] docs/misra: add 14.3 and 14.4
Thread-Index: AQHZ2t1QaiF4viv/Cke+tZQgief+irACeLmAgAABJACAAABvgA==
Date: Wed, 30 Aug 2023 08:00:28 +0000
Message-ID: <64ACA853-E0D3-4B56-B79B-C31BF692A936@arm.com>
References: <20230830005950.305085-1-sstabellini@kernel.org>
 <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
 <15551c77-95fa-7c7d-6b6b-d5c42a38caac@suse.com>
In-Reply-To: <15551c77-95fa-7c7d-6b6b-d5c42a38caac@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|AS8PR08MB8466:EE_|AM7EUR03FT018:EE_|PAXPR08MB7492:EE_
X-MS-Office365-Filtering-Correlation-Id: 287dfa3f-1e53-4f6f-83fb-08dba92f32e6
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:
 Spo3pbczfhXHq3SCmSYOpD0jJMNFDaCJ/iyvY+WiLKT508KK+Z7Ot09SPoQOB9C+tNjL8Cfwqdi12uj6BKRtw7gqYVhpvQSup+tSi7eSSNTkbCZM8wxJndUpPJzDvQbZ/5LGpMQuGRpJsgezOCIPU0hAfrDEqPgelcQ9H8C/0zmAkPMoj0+NiH24IzNds+ZS30Jcrr8QDvDmwVbS8whlB+o8rJtlhuKODSNyuJsgm0il26F4MMyhnlvg2Qijgp8J7bXFNTLE4AKc3lwKJ+zMqzier5UDHoZ1XAAY5UoEw88qv0OpU93PKmKHhburTc/SP2BmIPo4pqHQ9fURgKg6bD8m25IuZUVFXrbUDfWLclPHCWTPowqUeZIyriJgv42FzGkQ6t51TYWxGEoXD1SndqlXG/bh4/rkbxOQs7smj+KBswjDGduGfnJ88eTa9+QUbCv17K85/MTTKOvfbo2fy1K3WZjt411EaSPLX7QnlZ4EdvmjjJN2CpWM3HRXqTOqICfslfUxJaNT6YqE6rdERwtQGu1val7rjoPJ84HSMO4LbaxDHuCfbDI+Q+PfBw09lPPSEDcKpu8btTVk+Vh1ia94QY+unlqCG+ynq6m+i21q95XniZHhoT1wKtIGRAtCOW/aA4/KuTSyHmkH/TGX0A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(376002)(396003)(39860400002)(1800799009)(186009)(451199024)(8936002)(91956017)(53546011)(478600001)(76116006)(122000001)(66556008)(6506007)(66946007)(71200400001)(66476007)(64756008)(54906003)(66446008)(6486002)(6916009)(38070700005)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(36756003)(2906002)(2616005)(86362001)(4744005)(7416002)(33656002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <841C76BF87492940AC5A4C3FE3BF6220@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8466
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8b68129a-7864-4626-c6fb-08dba92f2cb8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kINExbusb/UXLUSdmxzMNMwdy8arE7KzPv413c2+oa1PcycXZ0vYa/qlU2KUonMF/88p7WQDfqmr6HsNOmQXuKfuJlmMRclPcVkhtd3DN2smpGlzrygdX7ERiVJbC5tGE4552+p/0xYVqHzCeAJV06G0aA9aaETQjSC6CiEL7LMtnfEcF/YRheZU3IwiBRkJekuCp64oxkJWkqgcUbPWscVbznT2sAl5dMCp6i7XFtwbTEAJ9ZfwKilka81EIZvQtEkldltYcyO6R0HL2Ygh7khETyHx6nDdxf2TIpbPOgUg1Bmj3lNVMf1O1gNbRQHyyu+aTgT6lnQNG8BMUzXAw9WP5DFUlBodFWZlR20lz4+jDPRxJT4fIu8BtDU18M0jOpE4lBSEyunj3Xj9xFRDjuX/7kkBC8Oufl/sMXjZjF+LkRxPWRWyQ+hQoLRWayrfJIALQ7HF2A8Rr8Ra/N+irOXzMSR9Ko3vpoO7bTlFnKUMbxz3WwoNj63FoWRCEv163ZAr5OrWNzMv+EUzEPr5YP0nJUz0CRkC+ufp1U00cI9IyXAuo7DPWyuYctuLe8w94km3oHcl22XlD0A5RaATK8oaYKQOZhbpfWj/nrxN70an4V7B88TirXiVIdKiYh1OTyMTZsrwqZcN7vxYMcPdujsSPMRgRG7j8OBW7knhG5WHpENirs9XnRHpX7bJAHaLBQjwSaluUSTVKJ5Rcrq8d+18j7XdGiQGdcxQba4GE0U=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(376002)(136003)(39860400002)(396003)(346002)(186009)(1800799009)(82310400011)(451199024)(36840700001)(46966006)(40470700004)(33656002)(54906003)(2906002)(70206006)(70586007)(316002)(36756003)(4744005)(40480700001)(40460700003)(41300700001)(6512007)(53546011)(36860700001)(6506007)(6486002)(5660300002)(26005)(336012)(47076005)(2616005)(86362001)(356005)(82740400003)(8936002)(8676002)(6862004)(4326008)(81166007)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 08:00:38.4957
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 287dfa3f-1e53-4f6f-83fb-08dba92f32e6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7492

Hi,

> On 30 Aug 2023, at 09:58, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 30.08.2023 09:54, Bertrand Marquis wrote:
>>> On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> w=
rote:
>>> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Examp=
le-Suite/-/blob/master/R_14_04.c>`_
>>> +     - Required
>>> +     - The controlling expression of an if statement and the controlli=
ng
>>> +       expression of an iteration-statement shall have essentially
>>> +       Boolean type
>>> +     - Implicit conversions of integers, pointers, and chars to boolea=
n
>>> +       are allowed
>>=20
>> I am a bit wondering here what is remaining after this deviation.
>=20
> Hmm, good point - floating point (and alike) types, which we don't use an=
yway.

So we accept the rule but we deviate all cases that would apply.
I do not think we should do that.

Bertrand

>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 08:07:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 08:07:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592765.925582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGEA-0006zD-3k; Wed, 30 Aug 2023 08:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592765.925582; Wed, 30 Aug 2023 08: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 1qbGEA-0006z6-09; Wed, 30 Aug 2023 08:07:02 +0000
Received: by outflank-mailman (input) for mailman id 592765;
 Wed, 30 Aug 2023 08:07:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbGE8-0006z0-K3
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 08:07:00 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31832649-470c-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 10:06:59 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 08:06:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 08:06: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: 31832649-470c-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XN38bgQuFGsarHnY4+RqudSiiH2c6MhjlS+xAfn2niOPlkR20zWpcIiim0e78y4uQqXmKfcgMVu/W2yw/wFttpxgM+q7vJliqQu3OEiCrXCk/DJbL85FrFfphIGXqkFEuWSiplyTp51xM2ufvVClYv9XcCfd5UTrz/QK4ixD9p+x0LYiLngPWfdrjRE2DrIWYNL+UXokX+WrPn02A8TJGDA6t2axIh7P6chIzY124Xkg9iCpQo5wLmzKHnGgjx+WukkXjCNb51zbmRbA2OhyrADHjSju6wuHqHi9kzMew1hwRipQHl3QCAsf1BUxhpX6elnqRwgDN+t/OIOKuF4rOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/bBeL/nOndtaShgxN6T3MpyxzG/TyVd+h3uskelP9Qs=;
 b=nJv2EcDE6ih/WDB3CilceC2AYmYjwfEbfjxGBvEJ6aI040jfZgEfNBeB2NrxfRHTXlEuNGvjMHHj3S3alM9LqxUERKEmuaht6e3h+Blzs/JLOw7dGh85jqwQ6j1OIXYoxtb9zKUPw6QFlP8wTeljCbCCLaVSYzGE6fT03j5/gMi8REHTKv3ZFcvWXyzq4LNTUbex4SP9ZYT3qHNOTcvA964OcozZmdyUrv41bhO5EGrnAmQFp/8ZoQa5yGCQMANghhREAHmU3B3gpnjN3/eUG+ESlx9eA2N59U5EhdhIA57Bnb5/nH4GQYhLSxawLyE0DmQ43HEydk3pr3mvG/2V2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/bBeL/nOndtaShgxN6T3MpyxzG/TyVd+h3uskelP9Qs=;
 b=k5Z24SZNNnmFCvRQQgyzWn9YJENS4nlijPc+HzWsslKyvj+LMl4Ipmx4Uj2VdKjh5hfJ5FwI/Yt4ravrS7oWC5TFfgMAoxLNoKPXz3wzpB7PeM0Sp/z1NoRMeZ0jrnABFc5Oilhg0vnWUCOVhahQi7qEn1+XY9Wmm8m2+fVmqVYzueq6AkYuJjuuNDDRYizAkpLdqkx7bvcovrGCzQB8mDn25qHeL9Kah4U4lRatR+EgNdr6ATb+AUU7++bTLCBhBIUjDVGMm1ei15mJal5g4irNcPF6eMd6cxDag1RSOkT/1lcmAkeeBHi2214Sz4hRLOiFvF08rWPn3DpipnXSvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6001b2db-e3ee-7faa-7301-37d4ea8bb4aa@suse.com>
Date: Wed, 30 Aug 2023 10:06:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "julien@xen.org" <julien@xen.org>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>,
 "roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20230830005950.305085-1-sstabellini@kernel.org>
 <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
 <15551c77-95fa-7c7d-6b6b-d5c42a38caac@suse.com>
 <64ACA853-E0D3-4B56-B79B-C31BF692A936@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64ACA853-E0D3-4B56-B79B-C31BF692A936@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8459:EE_
X-MS-Office365-Filtering-Correlation-Id: 68f44633-2dee-4140-f3aa-08dba930148f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5ltql3/F1JnynJmp2I7hgbI5+Lk03ULCKK3OoaL9rdAQrZVJPsu5LZ6Lp3KTqEmUoExpbGyw2uVOVMrsVfceMrLeosCPosU3xjpKqCS3bdt5qSCcA53g68ho9P2Y03ItV6kYP3UCJ4gWRIDXbnaeIyKI0wO9B8+rTkL9F0/ndrfg3izc30GbdGupLDFGK2Zk9rFG9NTU5qdhLKiQP4EzNLMHDb7UI9Uburqo6YpW/FXDDMkFFa1ynJ1hEIr6V/lyPJXHJQgRzsjXfFygHyORmpvfwdmEvsWLTykAac+UUhoKJergM/GIW1PUu/F0uIOV5e4gRy5WA4qerUizhpul9BcuP+7SICFTRH0LCPJnlAgsNwMpvOHNarlhzFngCI2R+BglKz4OIOB6jGIWuQ+ziU4LqGfEmAZaSNOYvEZc7WKTrmWFAmaVCw3PNThkBQNBkPFm3Ch0ZU5OuZMP+lGWdmOKW2UcDX7hoXPFYuYsbhQ4kpXBkqNDjGelFhiH4k6F/Xb2Jbj7sD8NynYeTfMfiNNgxYUKjujMWzB8n46xx78g+qHMSdbfHO0X8Lm016qIu3lhGVX93EW9LdrBpq93i2fy9loInjbrxrbUoP2oj0ZcgcoEAe2t3St7V5jKsn9sxJk+oBbqDM6VTJR8Lf4rDw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199024)(1800799009)(186009)(5660300002)(316002)(7416002)(53546011)(54906003)(41300700001)(38100700002)(66556008)(110136005)(66476007)(66946007)(6512007)(478600001)(2906002)(4744005)(8676002)(4326008)(8936002)(31686004)(86362001)(6666004)(66899024)(6506007)(6486002)(2616005)(36756003)(26005)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eG02OGRkYXlKMXBISWV1a1J4WVI2RzA4QWMzS0RvdU1sYVo2Z0t1clpqTHNR?=
 =?utf-8?B?VFpHdVpWandsSmFMeGY5aHdFVjhFU0c3bE1NM3JITDlpVXpvaXo1disyUnl6?=
 =?utf-8?B?N2VlRUsrbDNlWkFiWUZGdmdiandLekVkWFdXbUtqanlRNCtuaUlmSjIwZTAx?=
 =?utf-8?B?cHlSNUJRd211blc1RVFXYWZBM1RvOStVUTBycTNRbVNHNU93aDZWTWZLcEVX?=
 =?utf-8?B?OTBQWktUN0Y4ZGR6YjdOU3hmTVdZa0tuRDRad0RZaUUzbFFsNGFxRnFidERv?=
 =?utf-8?B?K1l6VlZRaE00Q1FoN0ZhL3MwRy9tMDJhcms0dHlmMUliREpkL2pyT0J3Mzls?=
 =?utf-8?B?U0VvQ3g5UEhUSEoyZW43WGhYUU9BOTFPRmU5OUd3enNqSjk1VzNRTXRwWE1D?=
 =?utf-8?B?eVJoUWJIOE4wWDc1NzZYanNOeGhmSVJxRkNSOFBqNnpydWNTNzZOSjNYZ2Uz?=
 =?utf-8?B?d3hGVklOV2dOdUhSRVVmRkI1TDhsajdjdEZGaEIzM2FwWnVKb3BOMzVjMUZl?=
 =?utf-8?B?NVB5YjRZYUJqS2VkTm5yanRTR3FPSThwRVpCSEN5QzJsQjNmLzl5QndaU1lK?=
 =?utf-8?B?eEVyVTdPSUliTmRnQUFpbjA3MFdleHhrSmdPNXhSdWZrallYbUFYeW9zUXlD?=
 =?utf-8?B?Z0xjRmM0bEgvaTZTNE5MU1JHZWdjWXI0dHJKZ1hXMFFUU2x6OXZqb3ZQV0pN?=
 =?utf-8?B?YVFIZUFVa1hXQVBzVGlKY2lZL2RKNkl5Vng2Y3hFME1henBoZEltUU5iSFlU?=
 =?utf-8?B?OXdEVkIwL2ZML3QycDVWUklFa2dVeDN2UTIyeEZMQVpFdUtGYW0zUldXMHdH?=
 =?utf-8?B?Vk5UNTZXQ01rOSs4Vm9HUXlFZzFkNHdndmdzcU8rRG9FOW5qNzNkOUZLVzQz?=
 =?utf-8?B?bm9hdTJZT29YUitYS2VqL1RmUmFRYVV5b1FHRXllTjlaNXRJT08zQ3A0akZh?=
 =?utf-8?B?ZFZMMXZVWUIxdmlDZVVkdGlzY0NxZTVkNGptb2tnVng0S1NWd3VEMnhyNXdG?=
 =?utf-8?B?OUhzNit2VUh4VVNKWWFVS2Q1UmYyMFAvd1RaSWJ3bFRONDVYVjFBbkNKTkJX?=
 =?utf-8?B?SldxdXhWZno0R2ltNnZzMXpOSVNxYUI2NVBac0RNcFdiTGllZzRzS0hmc3M0?=
 =?utf-8?B?bTlzOE04VnF4Wnp1S2k1UmN1aUF3Wms1NklzaDhhelY5c2VPWkhGMGdjako3?=
 =?utf-8?B?ejhZTjlEUk9LTDdQNHVra0U2KzJ2QkdPMk5MSVBsaVhTc1JCNjludG03aGJR?=
 =?utf-8?B?eGtCN1VNa1pkL2tOdWZMQmFScmo0OTd4UDVoNlZVRHQwYXZmNjJ6aHdpWnV0?=
 =?utf-8?B?dE53V3F1VXp5YXNXRmFTYXZ5UTc2WnpkVmhFUENoMytZaHM2TmhFQVk4bTA5?=
 =?utf-8?B?QW5GS0tnNlhlVnF5YVVSZCt5VURzc2tFWDAreENEcHAxbTNvY2VFUGE1VS94?=
 =?utf-8?B?VXVVMUwrNmI5b3NiZ1RCVzVJSk93UUJOQjV4MnNoVityeUg4eXEyWmhUcndq?=
 =?utf-8?B?YjhKN3NvUFIrS0hwdk5Uc3hXVXBjckgrZVg1amJxcndtSUtyNjdTYUtPYzU3?=
 =?utf-8?B?S0xrMHNSQWI1Zzg2QStIaDFFdzVKTU5QMXJyWjYzYUdaVUtXdHRoMFFUbmFp?=
 =?utf-8?B?TkthTEtPaFV3U2RtOXV6TXRNYTJNZ3NBQlZVKzNRTXpkYTUxbTVhMXJjNXZp?=
 =?utf-8?B?Qnk4cjZRSFFRNkVkNklYRzZBL3RHSm1pZE5jVkZYWG0wdkpKTjFOeCttK1g4?=
 =?utf-8?B?TUhhaERITjlGYzdwWHpISlcxMHprdkJwVHV0b2ZDTlFOYmJ2MlRmUWlLb014?=
 =?utf-8?B?K1NwMmdqNzcybnFFTng1YXFNcFNjbnkwWkFCWlBwemNxYXp5UWlSL2xUUm1l?=
 =?utf-8?B?Z1dQWjRPMG5yaGxjYzUrajVmMmNxZXNLTUlMeWIrOHphYUkzQklyN0pydkM1?=
 =?utf-8?B?ZDNGa1EwenBBZzVvcjFCTzRpeXVUTThsdEtHdjFBVHZoSDZ2cTRPUDRBSlJ1?=
 =?utf-8?B?L1hjUXR2bGJkT3JWQS9JUUpLVDZsclBtYVZvbHJBVGlhaHBtSGo5Ump5WGVh?=
 =?utf-8?B?VzA3dGZVeXcrNFR3TFhiQUZiWDUzUDFoMHIwY1BkVFJOYlQrR094U0NsY2lF?=
 =?utf-8?Q?wlBF+YM5spL5+lzr3coEdu/Mg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68f44633-2dee-4140-f3aa-08dba930148f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 08:06:57.2634
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GMSBecVxu742HRa+kb9Z4tTja0c8XCOu3n4XdnW9P03dqHsWiF7j9CcgSb0LVZ7M2c3BF9whdp3LuEcQoEKBRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8459

On 30.08.2023 10:00, Bertrand Marquis wrote:
> Hi,
> 
>> On 30 Aug 2023, at 09:58, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 30.08.2023 09:54, Bertrand Marquis wrote:
>>>> On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
>>>> +     - Required
>>>> +     - The controlling expression of an if statement and the controlling
>>>> +       expression of an iteration-statement shall have essentially
>>>> +       Boolean type
>>>> +     - Implicit conversions of integers, pointers, and chars to boolean
>>>> +       are allowed
>>>
>>> I am a bit wondering here what is remaining after this deviation.
>>
>> Hmm, good point - floating point (and alike) types, which we don't use anyway.
> 
> So we accept the rule but we deviate all cases that would apply.
> I do not think we should do that.

Right; Stefano - I withdraw my offer to ack a 14.4-only patch.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 08:23:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 08:23:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592771.925592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGTp-00026d-Cl; Wed, 30 Aug 2023 08:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592771.925592; Wed, 30 Aug 2023 08:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGTp-00026W-9o; Wed, 30 Aug 2023 08:23:13 +0000
Received: by outflank-mailman (input) for mailman id 592771;
 Wed, 30 Aug 2023 08:23:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbGTn-00026Q-NL
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 08:23:11 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70990df4-470e-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 10:23:04 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8713.eurprd04.prod.outlook.com (2603:10a6:20b:43c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 08:23:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 08:23:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70990df4-470e-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kifkhQUR+HyuDD+Dh/4ATsA6bePrElvER4I9JOSy+IBUezHMk7pR07555/RTRaNjg0YBmLvkbGB8OmTa5Si00Ve14gva48qvfFud/oWdjXvo97fe94X70YBHUBEqoW5yzVGpxAV/eOuO5hl89DhM79nMGTxUq7ajrAzmxbqMkezMhNYmKkWmi8gfLMVKks/l7dLBCxkdeZml86J3BnMmyEMTtKTRzWHnx/a5outms5g5lkQVB3z+zu6ONX5SzxlUnDj5V7AseGO9ZebjJwOGtaOaA3ih1UUa8BUPzDycpEVYvIcXd9E64t5ekfNJqs6b7T947BjZtzopRwE/KBtOhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bu1ythTLCQExVgWrQ8AkLEYCE9Yo09/amBfAJ5QeTFU=;
 b=Mvu69V2Ea4r1hn/sNuSgHNDID+V6HU5Gp6mG41Vj9q2aAFEd0iFilvSoGn9ugD6+eqxOEhofTTrQJeKr5ZVPK8YYYPNGK7Z8jAZwgx6B3Dn1fyXJdQ/vWX9G1TxjqPxuuZrILkM0z+AGfvHJu8W3fhsVsWvkVwUJlSpb/AYKqRI7I9ZD7dpFqsyJxtHzj+QvuaoKKnov9mAeks68P43ZpSQBXHxE3BHGlqV5rmEghaqxAGcIIwI5J+YMM8gvPWzpnUYb5tafuJ00mB/V4AjwhAHnohoxFpkyzPAzn2YQ1vusyZ1ZAAcLVhx28FWcsiYIe4gFeK++r3JaYMIUDGAXdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bu1ythTLCQExVgWrQ8AkLEYCE9Yo09/amBfAJ5QeTFU=;
 b=gKIye07PTwkxGaRtdIAl1PZp4BeN1nbMwkk/bZ0WH/ETvsH6uYsPyPmgL0x96yhUPB1ujK6t58amsbEsZnAf4NblVMmgZouwlIHpj/lt6BDJmIpYohudlsFLM+A7kvuZUvqErKYYeHdy4u1xV4gMKguAbrR3cv1/m4Eaz/XQatWo8lJQCNHPn1qrxo6iIJd6B5BnnmexQGzSoENKx+he4Ngjfo079Q9+//MalahR3Xx3VVcfdKcQeeMqIkeWwBor8XSQTXNgFgWtYzcFnLtbw1wlSErXoVX+OP3B8NAXFVOORDl2LRjmX9nVEIo1OKic/667LbmLl1PEqR49o+/mig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dabf4c7d-f947-1db8-4c72-d9813da1c01d@suse.com>
Date: Wed, 30 Aug 2023 10:23:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] MAINTAINERS: consolidate vm-event/monitor entry
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0159.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8713:EE_
X-MS-Office365-Filtering-Correlation-Id: 54a5098d-f088-41cb-f233-08dba932560d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	113PhHkQV+SoMmodDeXpzGqyE30Eaw9PZHXAVT2EbdW1HwI66L093kKeEqfTopLsNX69ipO5MFJHt3cv4yx+BFTa2FHSPUWLL+TqsUkIn+Hku4PT0zOpM7j2uBw5k9vCgSg4nheSgw+DGam5hs0yoY2C3hEblWi1ELdcP7ObKk1SYfBpseGEtqxPN7fYTiNpeZ7hZuDvUyTlvhwh01ak3JD78AUJHYKSLLpdSXS6hYW1zmxMY4WU/wghouCgPAdURZ/0AC9TzC5l7MAhTk1B/ftUdDYh6Z4XJO6pAZ3BQTR0MR+9EhQhiE5d/jmb3a5NeJ8lUrQJgdpGP06o6Z8MeW7tEfJOVKmEoj7HV+ucPlPF4tx+DEonAnxWQr/U8cRxW1CXQE7E0nfswvKhEl0A/sejainXKwzvF7UfyQbeM88FgCa5kKc9VuPBswA6fBkTFxCumAcofRyaTmSqmH6MCFoh1R13YfFJ2WMqCshlQRhRZM+F+Xd9HF3aBEaJnnPPmp75T1TpYwz1maIimvDjuA4kWR+3byoqDmU++HvHDlPl+aQN5s5RurrfvobLRGmqedXVQLZNgky/O0gYuDzYGDHbS0ZTQrnBQTzLCH2oefMFU50QcYqyzEN82JcB1B4Vb+BWPv9mZj3RdgiVprf8VA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(136003)(396003)(366004)(186009)(451199024)(1800799009)(6486002)(6506007)(6666004)(6512007)(83380400001)(26005)(2616005)(316002)(6916009)(54906003)(66556008)(66476007)(41300700001)(4326008)(5660300002)(8936002)(2906002)(66946007)(478600001)(8676002)(36756003)(86362001)(38100700002)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTAvayt0dzhYSEt6MWdTRWhzUHNpSi9GbWZFT0FnREFCcklab1dEMnhjVVBy?=
 =?utf-8?B?bTNzSmJmOU42WVl5WGJES3JiOGVacFFKNWFpdGlZd1VUR1k4cUVtNldLanBT?=
 =?utf-8?B?TUdLckRJNC9ERXd1ZXE2WXpXcCtLc1R3b3hSRE56bWErVm1GakZZaitXSUpS?=
 =?utf-8?B?NnFaSzlFUjc1ZDN6ZWRkNVJQTjF5QUl5M3VmN0R0MzJqWlZLN2JrK3hIUGRW?=
 =?utf-8?B?VVA5YSswcWJhUyswdFB0VFErSlBLRTlQMzhhZGlJdG5YVkdwUXVOK0UrdGVw?=
 =?utf-8?B?cWtvLzBLZnBjemVPNER0MkJlKzRrVi90TzhBa1lVY0ljY3AyVDIxMXVDZkZx?=
 =?utf-8?B?MHJmTDNrOVVPMmVNRFdWdDZ1OTFKZGpsYm8yOUFTcVk0ejlYSVJwS3VvZVc5?=
 =?utf-8?B?NUhieTQzOGoxT0JXTjlHWnBkbzl0QW8vUFRwSjFrem13MjFVTlNHaDdmK2Na?=
 =?utf-8?B?WHNOd1F3eXVKSDdGOTdyM0RmMXF2QmU3ak1VZDJxQ3lSSzR2VGR4dGZMZWJI?=
 =?utf-8?B?aUVkN2wwYitRdTZsZ2lPc2FhcmJYaHRtNkkzZ0psU3BRRmNWQmVLQVZONDhO?=
 =?utf-8?B?QURaK1JBckdEdDJYbnBxN1ZZWDJPdzhnVElQT3VJS25JbHBDdTE4Z2piMXlH?=
 =?utf-8?B?Z3Y0bnhuaStHakV1Z1VHTTV5dmhxMlpxUGNUVHR5Nm9DQ1BtUzl6VVVLTUVl?=
 =?utf-8?B?akI3RWZDNnhkeWtzemlmZEpPdlM1cWUwVmw1T2d1Q0JPK1R4YTZ3R09IcnlL?=
 =?utf-8?B?ZFo1SSsreXpGSGgweVU4L2tDd0Y2a3BnNU5KeVEzUHpMdVBiNFpReFJQZ01u?=
 =?utf-8?B?WHA2NGZuUlhBSXBBVklHaUE5bnBDaWJHaDdybzJhRWJaVkVkUEh3bW5qazRV?=
 =?utf-8?B?TG5HT2orZjRKVFJNb1ljKzRlNXR4SEJiaWRVODRtNjE2amcwZm1JSWx2R0Zp?=
 =?utf-8?B?QWpyT1AvVEM2NnlIbHlLT1R6UCtUVFhsN1RqT25pQVFWNWNKeVhaYmJWMWk2?=
 =?utf-8?B?dVRnVUx3RlcyenI2TnZFZmY2UGx5cG9meGJVZGxUQ1dwaFJjQWpHY25ycXRm?=
 =?utf-8?B?YldFNGEwS2xRRGJwMUI0QytBZFZEYzBaaUJUdlRFaDU2RkxNMnZtcmZQNTkv?=
 =?utf-8?B?cVhNdzFJYVpUZ2dmRHdkUzRKMnc5SU9Fb2FMbldmRlVSdGF2a1hSMkQ3TjZ1?=
 =?utf-8?B?NFduQWFTWG5aeXBMQjZCeG5HeEJ0RUFpYmJYWjRnN0duZHFvL2N6OUFQME4y?=
 =?utf-8?B?NkJqb2prWmlGS3VSUHNlMHdycFBGZTBFNUZDN0JRSjlKMW00emRxZ2hPbW93?=
 =?utf-8?B?TklONDZKYzZTbTd0NXdTWGNkbTVIcXVRN0hmdjFHbS94bS8vQk0rbTdRaTF2?=
 =?utf-8?B?Nk1uY2RkaEVVb05MOFNielFTTEdiQnhTbHBMM2NPZWtuc2dMV1ZkL0dNV2hH?=
 =?utf-8?B?VkNzR2wyUGJjRSszOExmUS9iK3BFMVNveDhoNnk2UkpKS3RkV0hyOW1jNnFY?=
 =?utf-8?B?cjBWcE02RTRveXl2TlppcEpJWS9TcUlNQmdhelN6Qm5hQzM1QWpaOGtTVW9v?=
 =?utf-8?B?Wm80TUVXckhiRHNyUjF5Ymh2V21yaHBmZi9adm5zV3ZsYnd0T1VrWTYyR1dZ?=
 =?utf-8?B?MndhVlhBSXY0OWlyeDRub1U2VG1BbGJ4VnViMHZMQUFwMVgwdEtPYXlNbUhE?=
 =?utf-8?B?ZW5RSjRHS25HbVJjL29LT3VIVlVPRm1QYXJyMHNpdWtHeUNLS3VibEFHbFZa?=
 =?utf-8?B?OFFab2lPN3VKK01vK2htbjVFRFlwcklWT2JJYWVJSCtSNTRsVWVZcmxqZURZ?=
 =?utf-8?B?bWd0WHVRMlh1U0RJeERWbTJxM3lqbXlteG54alF3K0hhd21aMm9KZzVBdWk1?=
 =?utf-8?B?SDVDd3hadzJDZFJWNDhKVTVFbnlnR1MzVG4vamNkYUZKMGhQVVh5OTkrVzVY?=
 =?utf-8?B?KzNXMWlVSVo0UEV3RHVxenpZMWtnNmVzcmdJVFNTNTNuaVg1WU9mbUpSOXdq?=
 =?utf-8?B?eVRxanE5TW9vRFVqU2hwNjlDVkhxcWowNHM1Q2VnczNrZFU4WmtSSmp3UDJh?=
 =?utf-8?B?UFJ0MTdUdTJwcUZCWEd4V2tJcVVRMTZLcDRIeGNXN01kenFFOVdaRTdndGoz?=
 =?utf-8?Q?G3Kx1Yn60tsNrciPlB96mQAW1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54a5098d-f088-41cb-f233-08dba932560d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 08:23:06.1538
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gPXxtDpje6oHXENMaDpPgyKF75BCT2i6EboIYOpvArf0smlXQ/kb7qAJC8JsdyJPUpsiHRAHthqDLRrGGLtfIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8713

If the F: description is to be trusted, the two xen/arch/x86/hvm/
lines were fully redundant with the earlier wildcard ones. Arch header
files, otoh, were no longer covered by anything as of the move from
include/asm-*/ to arch/*/include/asm/. Finally also generalize (by
folding) the x86- and Arm-specific mem_access.c entries.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Triggered by me looking at the entry in the context of Oleksii's RISC-V
preparatory patch.

We could go further, to simply
F:	xen/*/mem_access.[ch]
F:	xen/*/monitor.[ch]
F:	xen/*/vm_event.[ch]
Thoughts anyone?

--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -558,14 +558,9 @@ R:	Alexandru Isaila <aisaila@bitdefender
 R:	Petre Pircalabu <ppircalabu@bitdefender.com>
 S:	Supported
 F:	tools/misc/xen-access.c
-F:	xen/arch/*/monitor.c
-F:	xen/arch/*/vm_event.c
-F:	xen/arch/arm/mem_access.c
-F:	xen/arch/x86/include/asm/hvm/monitor.h
-F:	xen/arch/x86/include/asm/hvm/vm_event.h
-F:	xen/arch/x86/mm/mem_access.c
-F:	xen/arch/x86/hvm/monitor.c
-F:	xen/arch/x86/hvm/vm_event.c
+F:	xen/arch/*/mem_access.[ch]
+F:	xen/arch/*/monitor.[ch]
+F:	xen/arch/*/vm_event.[ch]
 F:	xen/common/mem_access.c
 F:	xen/common/monitor.c
 F:	xen/common/vm_event.c


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 08:46:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 08:46:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592778.925602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGq5-0005XF-US; Wed, 30 Aug 2023 08:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592778.925602; Wed, 30 Aug 2023 08: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 1qbGq5-0005X6-R4; Wed, 30 Aug 2023 08:46:13 +0000
Received: by outflank-mailman (input) for mailman id 592778;
 Wed, 30 Aug 2023 08: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbGq4-0005Ww-NJ
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 08:46:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a93c12da-4711-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 10:46:08 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.90.25])
 by support.bugseng.com (Postfix) with ESMTPSA id AB51D4EE0738;
 Wed, 30 Aug 2023 10:46: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: a93c12da-4711-11ee-8783-cb3800f73035
Message-ID: <ceab0d73-229e-01b0-731c-39ccbeaca6b1@bugseng.com>
Date: Wed, 30 Aug 2023 10:46:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 01/13] misra: add deviation for headers that
 explicitly avoid guards
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
 <25c0c12b-c851-d688-28c8-19eea756fef1@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <25c0c12b-c851-d688-28c8-19eea756fef1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 08:33, Jan Beulich wrote:
> On 28.08.2023 15:19, Simone Ballarin wrote:
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -60,7 +60,8 @@ maintainers if you want to suggest a change.
>>        - Precautions shall be taken in order to prevent the contents of a
>>          header file being included more than once
>>        - Files that are intended to be included more than once do not need to
>> -       conform to the directive
>> +       conform to the directive. Files that explicitly avoid inclusion guards
>> +       under specific circumstances do not need to conform the directive.
> 
> Nit: There's a "to" missing near the end of the added sentence. Can likely
> be taken care of while committing, since Stefano has already ack-ed this,
> but I'd like to still raise the question of the utility of this statement:
> How is one to know whether omission of guards is intentional?

As suggested by Stefano, this kind of deviation should be done using
the format specified in safe.json, and I will follow his suggestion in 
the next submission. The statement will disappear.

> 
> Jan
> 
> 
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 08:47:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 08:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592783.925612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGqx-00062W-5y; Wed, 30 Aug 2023 08:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592783.925612; Wed, 30 Aug 2023 08:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbGqx-00062P-34; Wed, 30 Aug 2023 08:47:07 +0000
Received: by outflank-mailman (input) for mailman id 592783;
 Wed, 30 Aug 2023 08:47: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbGqv-0005Ww-V1
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 08:47:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbb7fafe-4711-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 10:47:05 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.90.25])
 by support.bugseng.com (Postfix) with ESMTPSA id 9135A4EE0738;
 Wed, 30 Aug 2023 10:47: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: cbb7fafe-4711-11ee-8783-cb3800f73035
Message-ID: <d0786cb8-13c7-9be4-94f0-9f49ed7e94bf@bugseng.com>
Date: Wed, 30 Aug 2023 10:47:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 01/13] misra: add deviation for headers that
 explicitly avoid guards
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@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>,
 Wei Liu <wl@xen.org>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <9b8165105c28f8e684844f56814726498e34c46e.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281458390.6458@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2308281531070.6458@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2308281531070.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 00:32, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Stefano Stabellini wrote:
>> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>>> Some headers, under specific circumstances (documented in a comment at
>>> the beginning of the file), explicitly avoid inclusion guards: the caller
>>> is responsible for including them correctly.
>>>
>>> These files are not supposed to comply with Directive 4.10:
>>> "Precautions shall be taken in order to prevent the contents of a header
>>> file being included more than once"
>>>
>>> This patch adds a deviation for all headers that contain the following
>>> in a comment text:
>>> "In this case, no inclusion guards apply and the caller is responsible"
>>>
>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Actually one question
> 
> 
>>> ---
>>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>>>   docs/misra/rules.rst                             | 3 ++-
>>>   2 files changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> index d8170106b4..5f068377fa 100644
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -91,6 +91,10 @@ conform to the directive."
>>>   -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
>>>   -doc_end
>>>   
>>> +-doc_begin="Some headers, under specific circumstances, explicitly avoid inclusion guards."
>>> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
>>> +-doc_end
> 
> Is this supposed to match with any files starting with "In this case,
> no inclusion..." ?
> 
> We should use the format introduced by safe.json instead
> 

I agree, I will do it in the next submission.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 09:06:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 09:06:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592794.925621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbH9q-0000oW-Nf; Wed, 30 Aug 2023 09:06:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592794.925621; Wed, 30 Aug 2023 09:06: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 1qbH9q-0000oP-L5; Wed, 30 Aug 2023 09:06:38 +0000
Received: by outflank-mailman (input) for mailman id 592794;
 Wed, 30 Aug 2023 09:06:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbH9p-0000oJ-C1
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 09:06:37 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85706301-4714-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 11:06:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9056.eurprd04.prod.outlook.com (2603:10a6:150:1f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 09:06:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 09:06:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85706301-4714-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RT5yUVbYdScfT8PTBOl5qx6VlcUQEsQBtuVIzPDSJmtoxiGiwVjKiERLzgkKOJOjdofYf8La5UftWfhi2TvLJVTTO1+tS0PTkTJfKo7VD4DfPgMNar+93fBdi2jTYzzDkXqxyUuLGbjQXAUg+YiYhIXENrxpS9r7p5bSkeC4r5+MWH9Lrm9zD2JXj2rg/v4EB2Xe8VC+OzlvpzWvqTyXFTTzmj45hAeeq1d4GFReNPmm4PmqcxU1j2ps4KKukLSdTpS5zSIyQWHE+przdm/7L9FrSzl9D9u1Z010twk2PSR3UNOpKxa213I4NwN57lgIQttYySvSWJ2xC3dKZqHpVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=a9LJRpR2QIOSfC5C3oBzNjmcOF4DcpNj+MY0YrvSkc8=;
 b=CUDvei+k0m/jX1UW6jO8PF+GMtXhGKBoDu6PZ5hthA335lhTck3J23UsXImwt+wjpoaZc4v+H4c5JjIJ8qAii/AlAc7P0NBmsPfwqvR8v3oa4a+OKRGfOzq7XCBzlDhJWH91QGq5dXPLSQ4lw/Ws1eAFkKYer2xXCe4Q+hyXSMN6TtAmjttZNDnm0gAXgnFc9qPtPS//5TT7xu6NpcOGR8W6N7R5mXOcszuDDQTXI11Jfx40tuRu0rpn8ik1J1q/5U2eMz4NS4TRIsT5aC6zeGEA+g2ZGSNxeoY6Es+UQ3WCVGMeX9svC0apkAIvqjd0MVaz8Yr5Y5KqTgkFme8Oug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=a9LJRpR2QIOSfC5C3oBzNjmcOF4DcpNj+MY0YrvSkc8=;
 b=efE4AG0fd/KGMKdzAeJeeYirskp9PPzuM3SQhRamfyxwBodR63dqcsMa8h1Kbt1dGQGNdEtxYB2yUNmoK0OyXcq0dGvzonHnTuMS9eRT4EhIRM1Vuq/NB5XTEKWTPsp3Vu18913Pr7VD4z4ScOIFocTXRFtNxfXbeNdA5PhPEYD9GtqPsXI5FuCZpI3jOrgbY0XwAKEpQVqUyJLzpvjA3DFX3NxIVm9N9U4RARd1MBM3gJVVPlWnlK12Huq6p8u5sjhr8b8tkeYdT5903oWk/4o2NxAsKn3UNmBaVe0fMr7XAOQe2gbUF/ITRH/sywk+pOnToGthQoWUeRCvmX4ZWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9833439-c34d-791d-62ae-be0c23cecc59@suse.com>
Date: Wed, 30 Aug 2023 11:06:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: 4.17 backports
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: <033f7255-9f9c-5ab8-3035-6b79084f9663@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <033f7255-9f9c-5ab8-3035-6b79084f9663@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9056:EE_
X-MS-Office365-Filtering-Correlation-Id: bcf769dd-5107-4f12-013a-08dba9386843
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9jjHxnam3PGbVPIdJU1ZjuW1BWZiZ04fI/oeVimcImpdcfQfYkyhOslUPR/PxZ6U2fqnP4AilamCowEihprv5QibXNsDu+YdGQyLpSBNkV802k4wgBzN6+VTR3r0YstnV1YRXXZdMblFDpaSDjxSHKvbYCoDSUoC04CSGx4iXGOYScf0Ew1KiB0/RatqJhO3apOk3pPfxHksMax86P/+/sWotOZV3uqz4+j4cpbwWzzyHhFvlS1a9lKz5ZuEarUryPwRkq1z+DckLRm59RZf/YaDfSRURYn4EHhUGt3RX9NpVV9WQPKIb93NVXSN3df56CsvK2WCuA8piU9NvjYhWomJ8wyOIGJUu9m9ks6W1ojHM7nn3ED34MFj6sCPfB/PTpvn58iATZri7f9XlhkKr2GAtUb7vlPdJXeWLNNFR+ZMSpcUU6yEbedAYQwXnHIvACU71v0YcChuRJQTmwCt6Fb3bAqDeI2mvmEvN7N8WrurfpAnh0M7vfEN2lKTbXAK/xOaEMch9fDbHUk/qodIdsW/3193z9w+NcpEks9AMOy5yjTy/GrFaBoRengKfM9j/G10rkVUtK3RDW//XYKrkNtk9beQ1lpuExwCdsEFzufvt50wWtWELPCVRM3gPG2LPFwd5QfS7lJN1w09pKhh/g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(366004)(39860400002)(1800799009)(186009)(451199024)(8936002)(6666004)(66946007)(31686004)(478600001)(53546011)(6506007)(66556008)(66476007)(54906003)(6486002)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(83380400001)(2906002)(2616005)(6916009)(86362001)(7116003)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YVVNR25vTDJSN2hSU0YrNzl2ZHAxaG5TeFd4d0M5eTlRTWpsRkZ5V2t3djBk?=
 =?utf-8?B?cTF5LzB3ZnZtaEdoTzQxcGRSZU1UQ01Mb2VqNG9ESG5zRUYvLzVPRzlrbXZx?=
 =?utf-8?B?dk92V2VzUWJUaWprak5pQzBmOTVaVUJ0UWVEeEQ3a0VKQ0djdkVINWd5WGdi?=
 =?utf-8?B?QlpyUHk2NS9XVzQ0eXBJK1dqNFFOUXNZZlZpZTVSa0FPOCtPRGIzOU5SSDhn?=
 =?utf-8?B?OEdmWVEzS21KTzEzZVlOMS9TT0VIYmcyRkdIaGQ4Wm5qT0lndWdOOTJtWG1U?=
 =?utf-8?B?ckJBRHZXTm9YRitWUXFZVmlWczBhWkVOK0NXWmxWRHpJd3hCM0pOeHdIUUU1?=
 =?utf-8?B?OTVuWEpWVSt1MDNmWHYwcS80dEQ5Unh6Y05wUVp4YmZsVk9VMUZwZGx5MDNa?=
 =?utf-8?B?eTdLVVhJc1l5MlFhUVovbDBQdi8yeUFrOGZtdmo2RHZyVGp0aDJER2c0MU9X?=
 =?utf-8?B?KzVNT3hzTFdaZFJRaHJKbzJ2MHBrSlNodHhEL203TjBQVDNBWmNIRDY0VmVI?=
 =?utf-8?B?eS9PdFZER0ZLdUVmbEpHMkhuRXdYWHB0SGdCeWtwMDYvUEdTOTNmRHA5NWM2?=
 =?utf-8?B?M2pKT3F0bTB0UXVkY1Vqek1RMFlEU2FrK2RCdW5EZGUydDBiWnYvQzNTQkxj?=
 =?utf-8?B?YVl4TjhNOE9HT1IwNWNrMzFxUHRyWDhoVEdUNnh3TVZXQWViQ1NSbXBjOXIw?=
 =?utf-8?B?aWxiZzJEcjVZbHVsNVNGR3hHc3dLckVmQ0hxUEc1OEFPbVJqeVhORXdsTm9m?=
 =?utf-8?B?RGRwR2V0ZjhqYkcwN2VQTVRMa0loNkZOdkEvbDV0eHA1QjlqWnhZR01nL043?=
 =?utf-8?B?QmU2UHU4WGVUVkl3UGhJNGtZa0E1djBSaTJwTEZheU5QOHFsZGcyTTgvaWpa?=
 =?utf-8?B?SUhiVW9PYXlZbEdaOHkxOUhLOGtBOUFsdzlOaElrdzRENjJ4NGJHVlE4dWFH?=
 =?utf-8?B?eVcvVllsRnhyYXdVOVM4OEVUckF0OGNOZHpIQjRVV0hobXJIbmxGVm13S2x4?=
 =?utf-8?B?WmpYUm43eVdkbzBjUXh4WElXMUNMYXZLWWNnRm11MktCa0N1dFMzeXJzY21a?=
 =?utf-8?B?dW5JaG9mUm9KUGhPd0k1SFAyRVY1TEVaWG5GOWdORjJISG1MOGhlazBFaWIv?=
 =?utf-8?B?Y3VVU2ZSbGw5ZVFkSE5abFZMUkZKazF2N0JFc25QK1lkWnhjVlNUTmI0cFJ1?=
 =?utf-8?B?Q25VcldpU3l1Z0UxZzBxcjdERG5NaFB3VEdLZkR4WlozdmFQOCtGNmlIYXhZ?=
 =?utf-8?B?N2xFUVRHandSRlZJMEpBRU5vcUxFMlJCYUhObXlPMCtxSTVxN1lEeC92WXFG?=
 =?utf-8?B?K0tUMkFxWjNVTzJXeEd1RTZicDFTeUFXSGtEQ2pjcUYvTmVZclg3aGNWOHpG?=
 =?utf-8?B?L2YwSngzeks5WCt5RVBuUi9yRzI4ZmZsSCtQMEcwNW42d3Z4Nit4WGdrb2M3?=
 =?utf-8?B?Y0dQV3FjaFlEbGFMTzh3WnlVQmdyU09tTWJGRnZqdW4yNkl0UXd1OEJZZHo3?=
 =?utf-8?B?ZXVBTFRtb0grVk1PMzdKTGg3YXRnL1RSRHZpM1NleGtIN3NtVk81NndPSEIz?=
 =?utf-8?B?VGV3MHcyb1J3TTBOOW54dkNQZ1FZam9xQkZ3NEw5ZS9RVzR6N2RIRmxkUVZ4?=
 =?utf-8?B?Q2NVSXEzRGtpMVRjdHhCc1VpRG9LT2RweUpHNkZ3dkZRenFYcFdiWUZ0ZDVN?=
 =?utf-8?B?V1plVkdmb2pwUDV6cDNpRTFKdTl1UTk5TG5iNXFjT3ljUmoxZzk1ZVlLN0dV?=
 =?utf-8?B?K0lWQ3Q1Q3RNY0FqRXNxcVJOSk5WME1NaEdGYUY3SkxQWGpvdXdQa3hNSUlZ?=
 =?utf-8?B?ZU0ybzNmQWxsRDl4M3FRM0YrQTlQUVRQZVAwVTRET25HcTk0UzRxellSMTRB?=
 =?utf-8?B?L1M4emJYekptNzcwOU51RUFrQkc0Mkx4cnJkcFJBMUhrdS9ELzEzZnFmamNY?=
 =?utf-8?B?QkY1aldrZEErQ2FqZHNmeUx0NEUrTzZUVGpiMUc1aWVVTCtzVFI2cms0SzhG?=
 =?utf-8?B?SFhoaXBjcGZDWDRlNzZQT0txUUI1dWZJWlRmUVhoMHA5Q0VtYmxhS2VOWGsr?=
 =?utf-8?B?UjVWTjUrbzR4TzFBYTVZMGYydU10WmpiUUdWb2lsVFM5YjI0cldrYUg3eGFR?=
 =?utf-8?Q?5/YnE6iBPwipoXY+Pc3HFcKmR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcf769dd-5107-4f12-013a-08dba9386843
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 09:06:34.1598
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lLGJMuVI/2Np2zJOL7sm6QzQiVyc/gnfzM7ILqFlfi96C+eSdC8tBbyLCR5ff474NjD3ksUZYGpHmntEXD2/zw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9056

On 22.08.2023 21:25, Andrew Cooper wrote:
> Looking at the patchqueue, the following should be considered for backport:
> 
> 19c6cbd90965 xen/vcpu: ignore VCPU_SSHOTTMR_future

I will admit I'm a little hesitant here, for being an ABI change (even
if to the better), but I guess I'll still include it.

> 0946068e7fae x86/head: check base address alignment
> eaa324bfebcf x86/trampoline: load the GDT located in the trampoline page

Reading its description again, this was done merely for consistency. It
doesn't read as if it fixed anything.

> aab4b38b5d77 xenalyze: Handle start-of-day ->RUNNING transitions
> c81b287e00b1 xenalyze: Basic TRC_HVM_EMUL handling

While the former of these two clearly is a bug fix, the latter looks to
be more like functionality addition. IOW I'm not convinced here.

> 813da5f0e73b x86/ioapic: sanitize IO-APIC pins before enabling lapic
> LVTERR/ESR
> cdc48cb5a74b x86/ioapic: add a raw field to RTE struct
> ef7995ed1bcd x86/ioapic: RTE modifications must use ioapic_write_entry
> a478b38c01b6 iommu/vtd: rename io_apic_read_remap_rte() local variable
> 3e033172b025 x86/iommu: pass full IO-APIC RTE for remapping table update

These I really merely didn't want to take right away. Now that they've
been there for a month, I'll include them.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 09:17:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 09:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592802.925631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHKa-0002hz-Qd; Wed, 30 Aug 2023 09:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592802.925631; Wed, 30 Aug 2023 09:17:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHKa-0002hs-O7; Wed, 30 Aug 2023 09:17:44 +0000
Received: by outflank-mailman (input) for mailman id 592802;
 Wed, 30 Aug 2023 09:17: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=A9QQ=EP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qbHKZ-0002hm-Ki
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 09:17:43 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f1fe64e-4716-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 11:17:36 +0200 (CEST)
Received: from SA9PR11CA0014.namprd11.prod.outlook.com (2603:10b6:806:6e::19)
 by DM4PR12MB7672.namprd12.prod.outlook.com (2603:10b6:8:103::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18; Wed, 30 Aug
 2023 09:17:34 +0000
Received: from SN1PEPF000252A1.namprd05.prod.outlook.com
 (2603:10b6:806:6e:cafe::e8) by SA9PR11CA0014.outlook.office365.com
 (2603:10b6:806:6e::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.36 via Frontend
 Transport; Wed, 30 Aug 2023 09:17:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Wed, 30 Aug 2023 09:17:34 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 30 Aug
 2023 04:17:33 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 30 Aug
 2023 02:17:33 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Wed, 30 Aug 2023 04:17: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: 0f1fe64e-4716-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=igKX57G4txnMs+fj2fY3qzrsJkecmFtU0N9BCvNr5401yRHmYks0ccWevduhGLqAl5cKNhpRsmQOrIzPc1xWDSg1Ijz4QnbYJ/1iInC0Vro2B8QTg4uELH90aikH3bb6MJ6HmXZ2lcYB5CJ7NhB+8YPQHmJ5Nx13xMGTDrY+IplTUyZO1uBxre0P5BPE0M1S0/msGhx16VWTqb4HO2VAx54cHKZDJwTrpJy6t0BeGeXF+GlmnPdtdj8o3Yg76RmduObqwuUQqOgw5PiKx39mr2u2qt+mj3Rx9R+C7xQF4Wjkl8YUj9kPKOjjEPQRxHSBLi0Lr7/JFtpJF/oy3Dwh6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vPWfjUTCVBW710LysYyH8ZsWqYJ2yZfZW8lzgdHph2A=;
 b=LRFrPb2vAtE1lYXwiWR4LYhPAfJ/4lON6FB3oFmRQmHITxuAdrArq3DEHezIiHnJx1UJcwcMWr5TjQFryao/lbeTLPAX0ECJ5PmBu0a9WqmB3xRCGUkB3E70iatGkvd+aBjT++BZmy7ypW+nwueKb3fBphjb7cRlLmg07gXrQrAiiPpmUTTmoZhR8KwtMT7O8AWNWIGvhT+EePgz3VnlmP/JuCpOwg5EgyjJCmqDVe00qED8TXxrMAFR9hbv/qzjyg6CeQuzHYgdDKZtgcxTRVJXX8eeuQ5Ge/7lT0NF3A27UsETedXce9S1ezkzdglTBHf9HFW4HuegdY1LtJ3crQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vPWfjUTCVBW710LysYyH8ZsWqYJ2yZfZW8lzgdHph2A=;
 b=O4iSvOG48WEZvsQz+lZ8JhfATENkw3qunonhzdP1wKB3II9ge/Y6wFicMynceGagAo8ItayjIcvJehl1koIjA2pnW1+5i9cU/5layfpAogY2g1UNsbDBBPKkVokBFK5I67twuUVPAVl+BbYTxHTCLax0VARFPxYwYWb/jWnYPgg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <753b4259-e867-4c79-55fd-afb0d87d1f3c@amd.com>
Date: Wed, 30 Aug 2023 11:17:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 12/20] xen/smmu: Add remove_device callback for
 smmu_iommu ops
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Vikram Garhwal <vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>,
	<julien@xen.org>, Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-13-vikram.garhwal@amd.com>
 <32922c58-b9b4-26a1-42ef-426fb9a4b8af@amd.com>
 <alpine.DEB.2.22.394.2308291543430.6458@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2308291543430.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|DM4PR12MB7672:EE_
X-MS-Office365-Filtering-Correlation-Id: 5db1aa73-70a6-48a4-96ff-08dba939f256
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	05UborZGfqbVFfar+fLO1fQl9TFwkRJdTl9B4YXhxoC/gOEg9MTwtBupvfO2ysXX2Cg5B50kzKl/pzzlZXIzS9uta9NiWFPlKYrvNYzGanR+5WZ4lDFk5ShH9kSisGn9gDk48eXJLoPFFHVmJga3+KqsA92QLJO5NPXx/loQR7ReT+KuR9ND2DcjQrXOpNxLZI5Hr9FXUC4YlP4PqcVwxs4kf/cqvDiIttkvfUjaefSACYjP5Mvd9UVqKC4nCDKbnHycC5JVKr+N986/KwsHPjVOPPTEdctD6+2ls6+OZEkUQ7+tVeEAA2DLZsZtt0aV25/dTpTbZSa6BzSGxjlPtEFvZa/3Z87Q2jwY0545gQviahaxROfi0LjtYtQ8EWwtaB1WKyZHDg61nbgR3wb1pmlWZORi9RkIC9OqXM37Ma/eOMmPg99zcH+8XwetGBXCdq7n1ot5i2V0dpI2XGkmqHCg6i9YamjuxnlzHACVk6JIW+AF4fzTvV+hX9tn9VzAJ0ofnxjKvzrp5xN1kUAecW8zkrxVdZSXWycARt55JgcnN6XO7SlMqb1qeYWyMJeUgEeJ/hA6EzmNIDXP6tZ1+4GL7JBTnszKJlV2Y9lwUb3ubyYBRBPEnYKvCAR98mRO669HK0aHQ4frb20fO9shIAde0CNw0Sxb7ufkpWf3FVSYUyxBEh+7JYjnVcx3+DlK8C+/Iuyu+sE77FU7PWSL3vVhQCoyFAFS/nyrOUoGxp4NMAavN9qHjCwG03kgzvtIdvg7l21Ln4o8Np6scK2Vd74HFnoUDwVeoowI+6ypUioq610v0NSeclYHURTI7DxM
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)(4636009)(346002)(136003)(376002)(396003)(39860400002)(1800799009)(186009)(451199024)(82310400011)(36840700001)(46966006)(40470700004)(356005)(81166007)(82740400003)(8936002)(53546011)(70206006)(478600001)(70586007)(31686004)(54906003)(6916009)(16576012)(316002)(41300700001)(40460700003)(26005)(44832011)(5660300002)(8676002)(36756003)(83380400001)(2906002)(31696002)(2616005)(86362001)(47076005)(36860700001)(40480700001)(336012)(426003)(4326008)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 09:17:34.6266
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5db1aa73-70a6-48a4-96ff-08dba939f256
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000252A1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7672



On 30/08/2023 00:45, Stefano Stabellini wrote:
> 
> 
> On Tue, 29 Aug 2023, Michal Orzel wrote:
>> On 25/08/2023 10:02, Vikram Garhwal wrote:
>>> Add remove_device callback for removing the device entry from smmu-master using
>>> following steps:
>>> 1. Find if SMMU master exists for the device node.
>>> 2. Check if device is currently in use.
>> Since you removed a call to iommu_dt_device_is_assigned_locked(), you do not check it from SMMU, right?
>> You are relying on a check done in iommu_remove_dt_device().
>> This wants to be mentioned. However, Julien suggested to do the check for internal SMMU state.
>> Looking at the code, when the device is assigned, we do:
>> dev_iommu_domain(dev) = domain;
>> and when de-assigned:
>> dev_iommu_domain(dev) = NULL;
>>
>> This means that before calling remove_smmu_master() you could do:
>>
>> /* Make sure device is not assigned */
>> if (dev_iommu_domain(dev))
>>     return -EBUSY;
>>
>> @Julien, @Stefano?
> 
> I think it is OK without it, as we have a call to
> iommu_dt_device_is_assigned_locked(np) already in
> iommu_remove_dt_device?

Yes, but this would add an extra layer of protection by checking for IOMMU domain for this device.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 09:43:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 09:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592808.925642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHja-0006qY-QU; Wed, 30 Aug 2023 09:43:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592808.925642; Wed, 30 Aug 2023 09:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHja-0006qR-Nt; Wed, 30 Aug 2023 09:43:34 +0000
Received: by outflank-mailman (input) for mailman id 592808;
 Wed, 30 Aug 2023 09:43: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 1qbHjZ-0006qH-8c; Wed, 30 Aug 2023 09:43: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 1qbHjY-0008MK-V4; Wed, 30 Aug 2023 09:43:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbHjY-0007KD-H8; Wed, 30 Aug 2023 09:43:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbHjY-0001wl-GA; Wed, 30 Aug 2023 09:43: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=ptNclOsXghyllWsRrxCyIB8QtOutmTJbVb9hzowHtkc=; b=GjpgS/TcJ2LvNPbpVJ+WqJQcYF
	H3CjV8xprZbRdqpPo/meYXi0XsY7RV7xnQNheUbPiLFfl6uRYozWpUhJCulz3vYlcMQuWq5sZJKdt
	WGp5ysOYqdX6Se74EYGQZ4VbSGxbQbfuSiXZARtV3FffwjRjs38zRERWFRPtMiP7gIXU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182559-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182559: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d68b4b6f307d155475cce541f2aee938032ed22e
X-Osstest-Versions-That:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 09:43:32 +0000

flight 182559 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182559/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 182531
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 182531
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 182531
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 182531
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 182531
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 182531
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 182531
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 182531
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 182531

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 182531

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182531
 test-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                d68b4b6f307d155475cce541f2aee938032ed22e
baseline version:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c

Last test of basis   182531  2023-08-27 22:41:14 Z    2 days
Failing since        182544  2023-08-28 20:42:13 Z    1 days    3 attempts
Testing same since   182559  2023-08-29 22:42:56 Z    0 days    1 attempts

------------------------------------------------------------
951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 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        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 102889 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 09:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 09:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592818.925651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHye-00009v-4z; Wed, 30 Aug 2023 09:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592818.925651; Wed, 30 Aug 2023 09:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbHye-00009m-2C; Wed, 30 Aug 2023 09:59:08 +0000
Received: by outflank-mailman (input) for mailman id 592818;
 Wed, 30 Aug 2023 09:59: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 1qbHyd-00009c-59; Wed, 30 Aug 2023 09:59: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 1qbHyc-0000A7-U1; Wed, 30 Aug 2023 09:59: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 1qbHyc-0008Ow-Hn; Wed, 30 Aug 2023 09:59:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbHyc-0002r3-HG; Wed, 30 Aug 2023 09:59:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EZnZ6XtrA/Ps7EP/MTRjubcFAiAHnj2iQIUrRfdYvJ8=; b=MQEeKwAvaMFwVudrnwtOzfClpS
	+Xz8xMG9YqFqf+kIUcJDaURU3sdt+S7M6YZVXO1pzdy0Iy4/JSVyRRu5jsEZwftqJMkTrPTW3S+tR
	2dVp1mo7ADNJQCaJu1Zs1BtaEh7weYrkpF/ZYQ4RXIpcXSTtI7g7Crlev0D1rv0urbv0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182564-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182564: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5f46eb2307dd6d4ea163b6899ded81e795780059
X-Osstest-Versions-That:
    ovmf=9896a9c61836a5afba72c47d7c64f4e24f0805ba
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 09:59:06 +0000

flight 182564 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182564/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5f46eb2307dd6d4ea163b6899ded81e795780059
baseline version:
 ovmf                 9896a9c61836a5afba72c47d7c64f4e24f0805ba

Last test of basis   182560  2023-08-30 00:13:12 Z    0 days
Testing same since   182564  2023-08-30 06:40:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   9896a9c618..5f46eb2307  5f46eb2307dd6d4ea163b6899ded81e795780059 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 10:25:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 10:25:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592827.925661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbIO8-0003vm-VN; Wed, 30 Aug 2023 10:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592827.925661; Wed, 30 Aug 2023 10:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbIO8-0003vf-Sg; Wed, 30 Aug 2023 10:25:28 +0000
Received: by outflank-mailman (input) for mailman id 592827;
 Wed, 30 Aug 2023 10:25:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbIO8-0003vZ-7D
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 10:25:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85642d4f-471f-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 12:25:21 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.82.72.120])
 by support.bugseng.com (Postfix) with ESMTPSA id C895C4EE0738;
 Wed, 30 Aug 2023 12:25: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: 85642d4f-471f-11ee-9b0d-b553b5be7939
Message-ID: <065c5b97-88b2-644b-8267-2e2f5958a9db@bugseng.com>
Date: Wed, 30 Aug 2023 12:25:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 02/13] automation/eclair: add text-based deviation for
 empty headers
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Doug Goldstein <cardoe@cardoe.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281500020.6458@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2308281500020.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 00:00, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> This patch adds a text-based deviation for Directive 4.10:
>> "Precautions shall be taken in order to prevent the contents of
>> a header file being included more than once"
>>
>> Headers starting with the following comment are not supposed to
>> comply with the directive:
>> "/* empty */"
>>
>> These headers should be empty, therefore they pose no risk if included
>> more than once.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> However I think we should also update rules.rst and/or update
> docs/misra/safe.json

I will do it in the next submission.
> 
> 
>> ---
>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index 5f068377fa..2681a4cff5 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -80,6 +80,7 @@ inline functions."
>>   
>>   -doc_begin="This header file is autogenerated or empty, therefore it poses no
>>   risk if included more than once."
>> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* empty \\*/$, begin-1))"}
>>   -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
>>   -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
>>   -config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
>> -- 
>> 2.34.1
>>
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 10:50:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 10:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592835.925671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbIll-0006Vl-Ig; Wed, 30 Aug 2023 10:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592835.925671; Wed, 30 Aug 2023 10: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 1qbIll-0006Ve-Fm; Wed, 30 Aug 2023 10:49:53 +0000
Received: by outflank-mailman (input) for mailman id 592835;
 Wed, 30 Aug 2023 10: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbIlk-0006VY-3q
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 10:49:52 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f181f72f-4722-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 12:49:50 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9559.eurprd04.prod.outlook.com (2603:10a6:20b:483::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 10:49:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 10:49: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: f181f72f-4722-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gsK8fxatwOXitL5wQ4GuL91p7tEA8XWlZhy+QZLPL02mx9JEk88kiCHKBEBGos20HSqfRighByMZAX1DAiKiveJOfPAzQD2BoI3w0frc5/K06ZzEn9+HcJHrFQut5041W4cEChGikSYN7ze4sufZigpNDxHG1IXtoHvfK8PDHK9h0jBgFGxoAkvzlUpJRK8dcGTfkKQDN6qmzNi62FVjt7WT6lozJ3Ve73XP0/N4QvBBpUEmXJKe/AE5h8onyhUzkpOs+ByVKrbzJLemYp8OQ95DmPCkKgoqo0/F5jNtco5BBAuIixxEQECHzEyQKRHQMaEzCFH4ONCERd/Lb+wuaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5UCuoJAtg65Sf21lBVAiz4dvDw0ljlliMTicgtxBzXg=;
 b=TosZ6ZsxNmShSEYuGKFSOtovLgoeQ8vPe9VUAZ9MMarCMWn/4Upyg8ik+4RciERhtqCeacIfnjZ8LvQrvY7PLeZ+nhlBblaO9M0DqPSCXoXo3Aas4p1W/ZX1TVTTtnpcgEzpunkDzPmwz7NgmFKaT2sDKbVlH5SZdheieZorvUfxDSF033qvdlNlNhEPfWFt7uwWys9RrnOGM5VYr2vksjPce+x/1wk63eTllesI9pUplyxzuz807Mz93VqmuipNBn6GXZ6OP25KJfGSuz3pBxIpmvsdrB0vNN2f3XsDLPl5rGp2zEXANVX1HKW9sJfve+K5kpRKV0Kcjmaritq2iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5UCuoJAtg65Sf21lBVAiz4dvDw0ljlliMTicgtxBzXg=;
 b=rmJu/UMPvVr61q6TolUmYsN4Gyn1AOjdlJ9J6aVHPO4WaBWtjQBa6pd8FoR6Tg36FhxrXe/FagKEhfj1LEqw3+F4UYNuPcLk43VWWd+ohi+GqQ0TVjOkJBrfJ3YMpcvbvVYnGOHTkIA/j1e0G1pXl6IxPPXFvVBAQ9wtwaZEepcO/z1sAQ3No1bhpT6Br/din/e22Fqc/krZJGO4Y9q0fjotURbNCkuptfBUxdQIZdHrfZ9uX63ur51qxtc+4FeL+Qh9YWuzpN4/g8KgZwkwLgJ1EXWSIwp0ACSpv3ZRtHMVkfdjM/FYIQatdHanJmMN06b4vB4dwGbEx36AockdhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <47e40325-0521-c2ee-e0da-99bfb4449097@suse.com>
Date: Wed, 30 Aug 2023 12:49:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 5/8] xen/ppc: Define minimal stub headers required for
 full build
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <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.1692816595.git.sanastasio@raptorengineering.com>
 <a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9559:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b6fe0ea-5f8b-45dd-b2a9-08dba946d3e7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	naNzayrFyDhte0dr1w2MFkSY9v6QeHNEJRxBBfLRTJHBqOAXHaAv3V3UdgSZQM14yCHYBGv4hwOw37o0zcDivmxqC8Mft7c8GJVBYBYAUqLpG19SyYPz38vpL6pkPzRoSGPAI2k1jg8vm952Nsrxr5j1XGkV/fYOQI1Nan8RUGXnl6aa8pySLtWOU1grE1jdaztH+rPUqUxSnp6GGUhAXc9Az2mIzjABAJlOotBBURvpAd1SHYf/dzJ4T4C8chhSVZ6Y6k2ttLLlQjsx1IJJghVVx0Xx2tzMnpC2qrdqlQsDFMwlwVcTxLqVjSL2Hhi3hinYzFwKNnLSxGuW4xVXtIJ2Qs9TaZ+QUtnzcKcWF81UwU+9YRKY/8mfiabJ8wdnZvwZFAIgvvfPfXSHoJRKtNJiga0oI17Kuu/yaBB0OyY7XN999ulrOBHBxcuWQxSAXj0YkEfDYo1/sl1ab8gy/QHHsaPlhD+Hj060SyWmUm3AXL6gEqNdGvEo5pp6fuBlgra547Co+pvT2+wrvHd34nlk7SHEbBa6R6lsW3oyoFwcD1S4Jtw6zA/L1o/znPcb84eVjvaGLhvxAxJrip5LxFcIC7Afgglc8lgmWcflrjkljvbvZqD6guT9h9a9OYjwQc04uv3GvZTRSygmNnZegQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199024)(1800799009)(186009)(6512007)(26005)(316002)(38100700002)(6916009)(66899024)(41300700001)(4326008)(2906002)(31696002)(30864003)(86362001)(5660300002)(36756003)(2616005)(8676002)(83380400001)(8936002)(6666004)(6506007)(66476007)(6486002)(66556008)(54906003)(53546011)(66946007)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3dVVHFYV0FYbDVqKzZzN2d0NnhKRVhoelQ5djNOQXJ3bVArdnp3bVV6MjJt?=
 =?utf-8?B?TUN2Z1h6ZjdEMUh5dGFsQUNEbVVLbFFpOThkL2VtdXRlYzlPMVBTblhiM242?=
 =?utf-8?B?T3pYUkluV1JVMWVoQmJrNm5LeWZMMkVaUExzSUV1aXZuRFVkWkh0eFlaZm01?=
 =?utf-8?B?bEFXL0JSQmM3clFPL1JjM3NqSTFCUXVEeDRJd01oN3dHaW5SdnhqYi9uZEMw?=
 =?utf-8?B?RG9LSjRvZFN6bjQvTkZFNG5oU3JGZjlid0tmWWRlUWZOcFV1T05DMnRLUEdB?=
 =?utf-8?B?cFFJcjFWTDRBOUpPcjJ1dzE1djQyMVN5V2NmZEN4ZjNXUHhKVzM3NzhDSVBZ?=
 =?utf-8?B?S3d4TW9iSllFaGNCVVk2M1BwRFd3Z0crME4yWG1YY0tuOXFHeis0dHYzcVpK?=
 =?utf-8?B?cDRpRWVZWVFkOWFtQnhiN1dxajRXUklCNmF0TmdvRmlCT0gxckRrWkw2WUIz?=
 =?utf-8?B?ZEhMQzJxV0hIRW12Y09VSy8rMldzZTRkU1J3OUVYZXlOTXJXL2M2WTBxRlJu?=
 =?utf-8?B?dzR2L3lEMi90VTYzM2l5NHlxcEFVeTM5dkxCOVY2dEN2aDgxVzF6R09PV2g2?=
 =?utf-8?B?WW05djUzT2luZkRSUVNvZVp6SWNuWndLV0pvWnp6NEg1Sk9QQ213RCt3cHh2?=
 =?utf-8?B?UzAyWGFGdHMvOTQrcnk4cXI5TFU0YzRseVVKNEJGelNpQk8zbXY1M2lYbTdu?=
 =?utf-8?B?S0daYkpoTmdjQ043cWt2dm5UTjl4VXg3dFZTNy94QysvSy9maU9FTDNYZFVt?=
 =?utf-8?B?OFVxQlF5V2o1Vmt3cjNsOEpMcUE1RkgyZEZ4ajdpeVRzNUZkdFJwT2pUblRn?=
 =?utf-8?B?QVVqdHI0SVM1Y2lDRUgybXJnZXV0UGd4OFNlZnNiVGFsbmNITUhlRDVJMHFF?=
 =?utf-8?B?WGJOZVE2MHhVUjlGWnlIcFlFUWZPbVRmRHAyaEZJNnZIeUZjRHpneENJRUtU?=
 =?utf-8?B?MWZqRjJWTklLaUhyMUozMmpnOU1TYU94aUdvQVUrSlBTTGxURXdFVmpPekhJ?=
 =?utf-8?B?cU5RZ055QnU0YXhJR1hCQ3ZNb1laQjM2bFE4ekxFb3d1ZkkrWVRyeXQ2VlJi?=
 =?utf-8?B?RHpqRUtqM21TQUdqbElwTmY1blNpam4wQldHTzcyZmNVQTVibFQ4UCttY3pI?=
 =?utf-8?B?dkkzMDJ3a3ZBVHpkNTcxR0dJdmdIR2N5bGpEZm1hamFIK3pwbnk5YXNEMktz?=
 =?utf-8?B?UlU5MnZMZGl6bDRuNC9DLzNFT2JkTXZXaHQzUTZNaXRhak9LSE80d3JBRnla?=
 =?utf-8?B?MWZoVllzWHBpa2NzMnR0Sm11R0xHSCtsL2tNcXFBaFgvNVlERmMvbGRMRDBF?=
 =?utf-8?B?YWIzU0w5ZmZLNThqcGptcDlVYnpnYnhkS3U0cFBVWnF5QWFmVXIvenBqc2JE?=
 =?utf-8?B?VXFVRWdBeHh2d01zQ3NPc1Q2YTNRRmg2TzZJcTlkWlJkVitLbUtGcU9CVUFt?=
 =?utf-8?B?blhTSEtiOXR6S1dYUjRyMVl2c3J1YUZmb2JUT1c1OVV0aGJVRkZhTXBHcXJx?=
 =?utf-8?B?SWo3eUMrR1ZWRXJwdG5wcTRmZ2ZrRWtCaTNOcndMRWR1ZmRCNklUeEhOenp6?=
 =?utf-8?B?YkdjaUNRaGRjVjhiRWdRYjQyeUtXb2JZTnNBclByUE5LcXBXRGhEUW5FUmZP?=
 =?utf-8?B?U21FTmdHZUNEdFZZMmN5VjZpTDdLeXhlWDRNTy81TENUc3FKSCs3THd6dDBG?=
 =?utf-8?B?SUdCdFdWREdMMEttNk5xODFOcjFRd281TzhTVExyUnRVV2hVSTlDNzRqZkxW?=
 =?utf-8?B?R0RWbzAvekN0eEwzUzJMN3d3V0l4bWl5WmFmcFBYUnZ6VzBlZnhBbjVGNjJF?=
 =?utf-8?B?WUVyQy9iNTJtZ0lmancrUzhyb3BGMDNiWXp1YU9QZStLR3NuNWVEOE9BMXIv?=
 =?utf-8?B?UFRWOWo2RUR4aHBxOFd2cDdsTmQvWkpsTnIrRzUySlM5OGNRWERzNlFibUx2?=
 =?utf-8?B?cDBtZTRWTEJuejd0c25hdXJrNERHb2dVTWZFQldlcGp1ejhRUVh5NW5lMWsw?=
 =?utf-8?B?bzJDOVFMamZHeDF2bTRCdnlLY2pQOVN5WW5HSStoNy9OVmFnYmRjQ2cxRE5I?=
 =?utf-8?B?VzZ1RTFrUzBuRHNybGNhcUxQSmNCazJDd3F4ZGNZS042S0M4WFJVWG5Ja1ND?=
 =?utf-8?Q?zMtXEs5hiyV+1g2mQzsg30FL1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b6fe0ea-5f8b-45dd-b2a9-08dba946d3e7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 10:49:47.2585
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wN14cVJWQdnVij+P+M6BNU4ayQnFvGGyJ4DLPIC+KcQZBAEnEqu4k2ok0SUkpWzuShi7ZoaJbZJ5DSzsb3M9MQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9559

On 23.08.2023 22:07, Shawn Anastasio wrote:
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/altp2m.h
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_PPC_ALTP2M_H__
> +#define __ASM_PPC_ALTP2M_H__
> +
> +#include <xen/bug.h>
> +
> +struct domain;
> +struct vcpu;
> +
> +/* Alternate p2m on/off per domain */
> +static inline bool altp2m_active(const struct domain *d)
> +{
> +    /* Not implemented on PPC. */
> +    return false;
> +}
> +
> +/* Alternate p2m VCPU */
> +static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
> +{
> +    /* Not implemented on PPC, should not be reached. */
> +    BUG_ON("unimplemented");

I would have thought this construct is meant to flag places that need
work in the course of bringing up Xen on PPC. This isn't one of those,
I think. Perhaps ASSERT_UNREACHABLE() is slightly better here than
Arm's BUG()?

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/current.h
> @@ -0,0 +1,42 @@
> +#ifndef __ASM_PPC_CURRENT_H__
> +#define __ASM_PPC_CURRENT_H__
> +
> +#include <xen/percpu.h>
> +
> +#ifndef __ASSEMBLY__
> +
> +struct vcpu;
> +
> +/* 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))
> +
> +/* Per-VCPU state that lives at the top of the stack */
> +struct cpu_info {
> +    struct cpu_user_regs guest_cpu_user_regs;
> +    unsigned long elr;
> +    uint32_t flags;

May I suggest that you pick one of fixed-width types or basic C types
for consistent use here?

> +};
> +
> +static inline struct cpu_info *get_cpu_info(void)
> +{
> +#ifdef __clang__
> +    unsigned long sp;
> +
> +    asm ("mr %0, 1" : "=r" (sp));

Nit: Style.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/device.h
> @@ -0,0 +1,53 @@
> +#ifndef __ASM_PPC_DEVICE_H__
> +#define __ASM_PPC_DEVICE_H__
> +
> +enum device_type
> +{
> +    DEV_DT,
> +    DEV_PCI,
> +};
> +
> +struct device {
> +    enum device_type type;
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> +#endif
> +};
> +
> +enum device_class
> +{
> +    DEVICE_SERIAL,
> +    DEVICE_IOMMU,
> +    DEVICE_GIC,
> +    DEVICE_PCI_HOSTBRIDGE,
> +    /* Use for error */
> +    DEVICE_UNKNOWN,
> +};
> +
> +struct device_desc {
> +    /* Device name */
> +    const char *name;
> +    /* Device class */
> +    enum device_class class;
> +    /* List of devices supported by this driver */
> +    const struct dt_device_match *dt_match;
> +    /*
> +     * Device initialization.
> +     *
> +     * -EAGAIN is used to indicate that device probing is deferred.
> +     */
> +    int (*init)(struct dt_device_node *dev, const void *data);
> +};
> +
> +typedef struct device device_t;
> +
> +#define DT_DEVICE_START(_name, _namestr, _class)                    \
> +static const struct device_desc __dev_desc_##_name __used           \
> +__section(".dev.info") = {                                          \
> +    .name = _namestr,                                               \
> +    .class = _class,                                                \
> +
> +#define DT_DEVICE_END                                               \
> +};
> +
> +#endif /* __ASM_PPC_DEVICE_H__ */

Do you really need everything you put in here?

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/div64.h
> @@ -0,0 +1,14 @@
> +#ifndef __ASM_PPC_DIV64_H__
> +#define __ASM_PPC_DIV64_H__
> +
> +#include <xen/types.h>
> +
> +#define do_div(n,base) ({                       \
> +    uint32_t __base = (base);                   \
> +    uint32_t __rem;                             \
> +    __rem = ((uint64_t)(n)) % __base;           \
> +    (n) = ((uint64_t)(n)) / __base;             \
> +    __rem;                                      \
> +})

I understand you're merely copying this from elsewhere, but it would be
really nice if style could be corrected for such new instances (no
leading underscores, blank after comma, and ideally also no excess
parentheses).

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/domain.h
> @@ -0,0 +1,46 @@
> +#ifndef __ASM_PPC_DOMAIN_H__
> +#define __ASM_PPC_DOMAIN_H__
> +
> +#include <xen/xmalloc.h>
> +#include <public/hvm/params.h>
> +
> +struct hvm_domain
> +{
> +    uint64_t              params[HVM_NR_PARAMS];
> +};
> +
> +#define is_domain_direct_mapped(d) ((void)(d), 0)
> +
> +/* TODO: Implement */
> +#define guest_mode(r) ({ (void) (r); BUG_ON("unimplemented"); 0; })

Nit: Stray blank after cast (more instances of this pattern elsewhere).

> diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/include/asm/grant_table.h
> new file mode 100644
> index 0000000000..e69de29bb2

Instead of introducing a completely empty file, perhaps better to put
one in that at least has the usual header guard?

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/guest_access.h
> @@ -0,0 +1,54 @@
> +#ifndef __ASM_PPC_GUEST_ACCESS_H__
> +#define __ASM_PPC_GUEST_ACCESS_H__
> +
> +#include <xen/mm.h>
> +
> +/* TODO */
> +
> +static inline unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
> +{
> +    BUG_ON("unimplemented");
> +}
> +static inline unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
> +                                             unsigned int len)

Nit: Indentation. In cases like this it may be better to use the other
wrapping form:

static inline unsigned long raw_copy_to_guest_flush_dcache(
    void *to,
    const void *from,
    unsigned int len)
{
    ...

More instances further down.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/guest_atomics.h
> @@ -0,0 +1,14 @@
> +#ifndef __ASM_PPC_GUEST_ATOMICS_H__
> +#define __ASM_PPC_GUEST_ATOMICS_H__
> +
> +#include <xen/lib.h>
> +
> +/* TODO: implement */
> +#define guest_test_bit(d, nr, p)            ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> +#define guest_clear_bit(d, nr, p)           ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> +#define guest_set_bit(d, nr, p)             ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> +#define guest_test_and_set_bit(d, nr, p)    ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> +#define guest_test_and_clear_bit(d, nr, p)  ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> +#define guest_test_and_change_bit(d, nr, p) ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })

Perhaps deal with these overlong lines by introducing a common helper macro
that all of the #define-s here then use?

> --- a/xen/arch/ppc/include/asm/mm.h
> +++ b/xen/arch/ppc/include/asm/mm.h
> @@ -1,10 +1,23 @@
>  #ifndef _ASM_PPC_MM_H
>  #define _ASM_PPC_MM_H
> 
> +#include <public/xen.h>
> +#include <xen/pdx.h>
> +#include <xen/types.h>
> +#include <asm/config.h>
>  #include <asm/page-bits.h>
> 
> +void setup_initial_pagetables(void);
> +
>  #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))
> 
>  #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
>  #define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
> @@ -13,6 +26,240 @@
>  #define __pa(x)             (virt_to_maddr(x))
>  #define __va(x)             (maddr_to_virt(x))
> 
> -void setup_initial_pagetables(void);
> +/* Convert between Xen-heap virtual addresses and machine frame numbers. */
> +#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
> +#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
> +
> +/* 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;
> +}
> +
> +/*
> + * 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)
> +
> +#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.                 */
> +
> + /* 2-bit count of uses of this frame as its current type. */
> +#define PGT_count_mask    PG_mask(3, 3)
> +
> +/* 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)
> +/* Page is not reference counted */
> +#define _PGC_extra        PG_shift(10)
> +#define PGC_extra         PG_mask(1, 10)
> +
> +/* Count of references to this frame. */
> +#define PGC_count_width   PG_shift(10)
> +#define PGC_count_mask    ((1UL<<PGC_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
> +
> +#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(&_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; })

BUG_ON("unimplemented")?

> +#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))

This looks risky to me. Perhaps better to also use BUG_ON("unimplemented")
here?

> +#define domain_set_alloc_bitsize(d) ((void)0)

Better ((void)(d)).

> +#define domain_clamp_alloc_bitsize(d, b) (b)
> +
> +#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)

Unnessary leading underscore again.

>[...]
> +#define PDX_GROUP_SHIFT (16 + 5)

DYM (PAGE_SHIFT + XEN_PT_ENTRIES_LOG2_LVL_4) or simply XEN_PT_SHIFT_LVL_3?
Using open-coded literal numbers is always at risk of breaking (when one
use site is updated, but another missed) and also isn't self-documenting.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/monitor.h
> @@ -0,0 +1,46 @@
> +/* Derived from xen/arch/arm/include/asm/monitor.h */
> +#ifndef __ASM_PPC_MONITOR_H__
> +#define __ASM_PPC_MONITOR_H__
> +
> +#include <public/domctl.h>
> +#include <xen/errno.h>
> +
> +static inline
> +void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
> +{
> +}
> +
> +static inline
> +int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> +{
> +    /* No arch-specific monitor ops on PPC. */
> +    return -EOPNOTSUPP;
> +}
> +
> +int arch_monitor_domctl_event(struct domain *d,
> +                              struct xen_domctl_monitor_op *mop);
> +
> +static inline
> +int arch_monitor_init_domain(struct domain *d)
> +{
> +    /* No arch-specific domain initialization on PPC. */
> +    return 0;
> +}
> +
> +static inline
> +void arch_monitor_cleanup_domain(struct domain *d)
> +{
> +    /* No arch-specific domain cleanup on PPC. */
> +}
> +
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{
> +    uint32_t capabilities = 0;
> +
> +    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST |
> +                    1U << XEN_DOMCTL_MONITOR_EVENT_PRIVILEGED_CALL);

Are you sure about putting these here right away?

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/nospec.h
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * From arch/arm/include/asm/nospec.h.
> + * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.

I wonder about both the reference and the copyright, when ...

> + */
> +#ifndef __ASM_PPC_NOSPEC_H__
> +#define __ASM_PPC_NOSPEC_H__
> +
> +static inline bool evaluate_nospec(bool condition)
> +{
> +    return condition;
> +}
> +
> +static inline void block_speculation(void)
> +{
> +}
> +
> +#endif /* __ASM_PPC_NOSPEC_H__ */

... seeing this trivial content.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/p2m.h
> @@ -0,0 +1,105 @@
> +#ifndef __ASM_PPC_P2M_H__
> +#define __ASM_PPC_P2M_H__
> +
> +#include <asm/page-bits.h>
> +
> +#define paddr_bits PADDR_BITS
> +
> +/*
> + * List of possible type for each page in the p2m entry.
> + * The number of available bit per page in the pte for this purpose is 4 bits.
> + * So it's possible to only have 16 fields. If we run out of value in the
> + * future, it's possible to use higher value for pseudo-type and don't store
> + * them in the p2m entry.
> + */
> +typedef enum {
> +    p2m_invalid = 0,    /* Nothing mapped here */
> +    p2m_ram_rw,         /* Normal read/write guest RAM */
> +    p2m_ram_ro,         /* Read-only; writes are silently dropped */
> +    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO area */
> +    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-cacheable */
> +    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cacheable */

Is PPC's memory model really this similar to Arm's? If not, I'd recommend
ommitting all enumerators you don't need right away.

> --- a/xen/arch/ppc/include/asm/page.h
> +++ b/xen/arch/ppc/include/asm/page.h
> @@ -36,6 +36,9 @@
>  #define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
>  #define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
> 
> +/* TODO */
> +#define PAGE_HYPERVISOR 0
> +
>  /*
>   * Radix Tree layout for 64KB pages:
>   *
> @@ -177,4 +180,18 @@ struct prtb_entry {
> 
>  void tlbie_all(void);
> 
> +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)

Does clear_page() really need a cast, when copy_page() doesn't?

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/procarea.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Copyright (C) IBM Corp. 2005
> + *
> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> + */
> +
> +#ifndef _ASM_PROCAREA_H_
> +#define _ASM_PROCAREA_H_
> +
> +struct processor_area
> +{
> +    unsigned int whoami;
> +    unsigned int hard_id;
> +    struct vcpu *cur_vcpu;
> +    void *hyp_stack_base;
> +    unsigned long saved_regs[2];
> +};
> +
> +#endif

I can't spot a need for this header, and it's also unclear how it / the
struct it defines would be meant to be used. Perhpas better omit for now.

> --- a/xen/arch/ppc/include/asm/system.h
> +++ b/xen/arch/ppc/include/asm/system.h
> @@ -1,6 +1,233 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Copyright (C) IBM Corp. 2005
> + * Copyright (C) Raptor Engineering LLC
> + *
> + * Authors: Jimi Xenidis <jimix@watson.ibm.com>
> + *          Shawn Anastasio <sanastasio@raptorengineering.com>
> + */
> +
>  #ifndef _ASM_SYSTEM_H_
>  #define _ASM_SYSTEM_H_
> 
> -#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
> +#include <xen/lib.h>
> +#include <asm/memory.h>
> +#include <asm/time.h>
> +#include <asm/processor.h>
> +#include <asm/msr.h>
> +
> +#define xchg(ptr,x) 							       \
> +({									       \
> +	__typeof__(*(ptr)) _x_ = (x);					       \
> +	(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \
> +})
> +
> +#define build_xchg(fn, type, ldinsn, stinsn) \
> +static inline unsigned long \
> +fn(volatile type *m, unsigned long val) \
> +{ \
> +    unsigned long dummy; \
> +                                                    \
> +    __asm__ __volatile__(                           \
> +    PPC_ATOMIC_ENTRY_BARRIER                        \
> +"1: " ldinsn " %0,0,%3\n"                           \
> +    stinsn " %2,0,%3\n"                             \
> +"2:  bne- 1b"                                       \
> +    PPC_ATOMIC_EXIT_BARRIER                         \
> +    : "=&r" (dummy), "=m" (*m)                      \
> +    : "r" (val), "r" (m)                            \
> +    : "cc", "memory");                              \

Nit: Style and indentation (more such below).

>[...]
> +#define local_irq_restore(flags) do { \
> +        __asm__ __volatile__("": : :"memory"); \
> +        mtmsrd((flags)); \
> +} while(0)
> +
> +static inline void local_irq_disable(void)
> +{
> +        unsigned long msr;
> +        msr = mfmsr();
> +        mtmsrd(msr & ~MSR_EE);
> +        __asm__ __volatile__("" : : : "memory");
> +}
> +
> +static inline void local_irq_enable(void)
> +{
> +        unsigned long msr;
> +        __asm__ __volatile__("" : : : "memory");
> +        msr = mfmsr();
> +        mtmsrd(msr | MSR_EE);
> +}

Nit: Too deep indentation.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/time.h
> @@ -0,0 +1,20 @@
> +#ifndef __ASM_PPC_TIME_H__
> +#define __ASM_PPC_TIME_H__
> +
> +#include <xen/lib.h>
> +#include <asm/processor.h>
> +#include <asm/regs.h>
> +
> +struct vcpu;
> +
> +/* TODO: implement */
> +static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG_ON("unimplemented"); }
> +
> +typedef unsigned long cycles_t;
> +
> +static inline cycles_t get_cycles(void)
> +{
> +	return mfspr(SPRN_TBRL);

Nit: Hard tab left.

> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/vm_event.h

For this, please note Oleksii's 2-patch series eliminating the need for
a per-arch header. Else ...

> @@ -0,0 +1,49 @@
> +#ifndef __ASM_PPC_VM_EVENT_H__
> +#define __ASM_PPC_VM_EVENT_H__
> +
> +#include <xen/sched.h>
> +#include <xen/vm_event.h>
> +#include <public/domctl.h>

... public/vm_event.h instead and likely no need for xen/vm_event.h.

> diff --git a/xen/arch/ppc/include/asm/xenoprof.h b/xen/arch/ppc/include/asm/xenoprof.h
> new file mode 100644
> index 0000000000..e69de29bb2

Again perhaps better to not introduce an entirely empty header.

I also notice that most new files don't have an SPDX header. Would be
nice to fulfill this formal aspect right from the start.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 11:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 11:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592843.925681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbJMP-0002fq-FY; Wed, 30 Aug 2023 11:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592843.925681; Wed, 30 Aug 2023 11:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbJMP-0002fj-Cn; Wed, 30 Aug 2023 11:27:45 +0000
Received: by outflank-mailman (input) for mailman id 592843;
 Wed, 30 Aug 2023 11:27:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbJMO-0002fd-Kx
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 11:27:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ba71136-4728-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 13:27:42 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.82.72.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 6850E4EE0738;
 Wed, 30 Aug 2023 13:27:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ba71136-4728-11ee-9b0d-b553b5be7939
Message-ID: <05661dd5-b325-9060-4b81-5f96660983d0@bugseng.com>
Date: Wed, 30 Aug 2023 13:27:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 02/13] automation/eclair: add text-based deviation for
 empty headers
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>,
 xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <96e9ca524ed8191bfd5ee1230e8d581c50e299f5.1693228255.git.simone.ballarin@bugseng.com>
 <6393217c-7583-71b5-5c90-0097091ef217@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <6393217c-7583-71b5-5c90-0097091ef217@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 08:35, Jan Beulich wrote:
> On 28.08.2023 15:19, Simone Ballarin wrote:
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -80,6 +80,7 @@ inline functions."
>>   
>>   -doc_begin="This header file is autogenerated or empty, therefore it poses no
>>   risk if included more than once."
> 
> While unrelated to, the change at hand, I still have a question on this:
> How come it is deemed universally safe to multi-include generated headers.
> I would have said that whether that's safe depends on the nature of the
> generated code in the header. Only truly empty ones are uniformly safe to
> include any number of times.

Yes, I agree with you. The mere fact that a file is auto-generated does 
not imply anything, moreover, this deviation is not even reported in 
rule.rst. In the next series, I'll drop it.

> 
> Jan
> 
>> +-config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* empty \\*/$, begin-1))"}
>>   -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
>>   -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
>>   -config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 12:17:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 12:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592861.925693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbK7m-0008PJ-EM; Wed, 30 Aug 2023 12:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592861.925693; Wed, 30 Aug 2023 12:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbK7m-0008PC-8q; Wed, 30 Aug 2023 12:16:42 +0000
Received: by outflank-mailman (input) for mailman id 592861;
 Wed, 30 Aug 2023 12:16: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 1qbK7l-0008P2-He; Wed, 30 Aug 2023 12:16: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 1qbK7k-0003Ix-W2; Wed, 30 Aug 2023 12:16: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 1qbK7k-0004ad-HK; Wed, 30 Aug 2023 12:16:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbK7k-0007xv-Gm; Wed, 30 Aug 2023 12:16: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=PSvFw4AzT/3fiNkn2W4g2kpTSQn6zOlCVKhwEp1zeNY=; b=cSXUSJ8UcevjIidcPRBqIr4X7/
	JRraBFJFat/Z4XUDK89MEh4391ONBol6AQm5WQo0a6SdUuahiJndxQJPw8sL+Wn3c9BsX58EBzyP7
	Sa+7LT0q9vdcJJGtEBnONLmSyFRB6y2dZUlaNB/lRFBy1ezhQbiNiOZ4zixonaeuObSA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182565-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182565: 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=e5522c71beaa83f2f5d2118724ace9f90c22e583
X-Osstest-Versions-That:
    xen=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 12:16:40 +0000

flight 182565 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182565/

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                  e5522c71beaa83f2f5d2118724ace9f90c22e583
baseline version:
 xen                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44

Last test of basis   182556  2023-08-29 15:00:28 Z    0 days
Testing same since   182565  2023-08-30 09:02:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   8c01f267ef..e5522c71be  e5522c71beaa83f2f5d2118724ace9f90c22e583 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 12:44:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 12:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592870.925702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKY6-0003PA-Fx; Wed, 30 Aug 2023 12:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592870.925702; Wed, 30 Aug 2023 12: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 1qbKY6-0003P3-CE; Wed, 30 Aug 2023 12:43:54 +0000
Received: by outflank-mailman (input) for mailman id 592870;
 Wed, 30 Aug 2023 12:43: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 1qbKY5-0003Ot-68; Wed, 30 Aug 2023 12:43: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 1qbKY4-0003to-QZ; Wed, 30 Aug 2023 12:43: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 1qbKY4-0005os-AO; Wed, 30 Aug 2023 12:43:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbKY4-0000pZ-9t; Wed, 30 Aug 2023 12:43:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EavbEufFUcfBMCg529+QXytZLLgoyPyv2gkXC3J4E00=; b=I/vBiazesxDz+IPteGpIJBitFo
	rNaNGTGSwBnErkx8ANB9lGvkWqyy2KAq/7xtwF+rNWcR/uy1kZGHY/RU4LWqpz5YasFzXLQP7fmeJ
	63fC/IPzZVZlhqAXBZPellQ2a8SA8X9dUdfbuYoT3jmr8pyLqsNLsRC/Kf/biBz7IeLA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182567-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182567: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a481c1114474160f53b1662fd3726b48c88ae82e
X-Osstest-Versions-That:
    ovmf=5f46eb2307dd6d4ea163b6899ded81e795780059
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 12:43:52 +0000

flight 182567 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182567/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a481c1114474160f53b1662fd3726b48c88ae82e
baseline version:
 ovmf                 5f46eb2307dd6d4ea163b6899ded81e795780059

Last test of basis   182564  2023-08-30 06:40:43 Z    0 days
Testing same since   182567  2023-08-30 10:12:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5f46eb2307..a481c11144  a481c1114474160f53b1662fd3726b48c88ae82e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 12:49:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 12:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592879.925712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKdo-000420-4e; Wed, 30 Aug 2023 12:49:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592879.925712; Wed, 30 Aug 2023 12:49: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 1qbKdo-00041t-0V; Wed, 30 Aug 2023 12:49:48 +0000
Received: by outflank-mailman (input) for mailman id 592879;
 Wed, 30 Aug 2023 12:49:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbKdm-00041j-AO; Wed, 30 Aug 2023 12:49:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbKdl-0003zd-Vu; Wed, 30 Aug 2023 12:49:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbKdl-00062i-Lo; Wed, 30 Aug 2023 12:49:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbKdl-0001u2-LI; Wed, 30 Aug 2023 12:49: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=CnLQMgAvM0shHye8NmdcEMw7Ry8uvdLgvbpursoWfdQ=; b=mdB+TBGtgI/wprv+5klemVKzbT
	+dVKOGQ8ACutQWJ+lxPrW4Z9ev/sBrQkam+JPVuHjnhoKqgUysDb9HRDCbyOdlRGtB7xIdqgWMlBb
	OMGtokq9nh88M3JU42KM0JI83AAg4eShXaD0cICZFYLSiQLzffKQNTagJxv+WddSBhSQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182562-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182562: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=120724bc6d1c2f8c029e67bd91335b48c243404c
X-Osstest-Versions-That:
    libvirt=d40c6cad64fda4767ea7b2567d129eeac8557d6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 12:49:45 +0000

flight 182562 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182562/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182550
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182550
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182550
 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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              120724bc6d1c2f8c029e67bd91335b48c243404c
baseline version:
 libvirt              d40c6cad64fda4767ea7b2567d129eeac8557d6f

Last test of basis   182550  2023-08-29 04:20:35 Z    1 days
Testing same since   182562  2023-08-30 04:18:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. BerrangĂ© <berrange@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-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   d40c6cad64..120724bc6d  120724bc6d1c2f8c029e67bd91335b48c243404c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 12:53:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 12:53:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592888.925722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKh8-0005Tg-Ie; Wed, 30 Aug 2023 12:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592888.925722; Wed, 30 Aug 2023 12:53:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKh8-0005TZ-Fd; Wed, 30 Aug 2023 12:53:14 +0000
Received: by outflank-mailman (input) for mailman id 592888;
 Wed, 30 Aug 2023 12:53: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbKh6-0005TT-Nr
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 12:53:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c2bee5f-4734-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 14:53:10 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.82.72.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 2A8894EE0738;
 Wed, 30 Aug 2023 14:53:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c2bee5f-4734-11ee-9b0d-b553b5be7939
Message-ID: <8d82e827-6ad9-4695-5ec0-65c65b79b055@bugseng.com>
Date: Wed, 30 Aug 2023 14:53:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Julien Grall <julien.grall.oss@gmail.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
 <CAJ=z9a2hnjCAkGN_YtCQRh8ZcyMMawxBhF8LOwgrQ5-nML1chg@mail.gmail.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <CAJ=z9a2hnjCAkGN_YtCQRh8ZcyMMawxBhF8LOwgrQ5-nML1chg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 29/08/23 00:10, Julien Grall wrote:
> Hi,
> 
> On Mon, 28 Aug 2023 at 09:20, Simone Ballarin <simone.ballarin@bugseng.com>
> wrote:
> 
>> Add or move inclusion guards to address violations of
>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>> to prevent the contents of a header file being included more than
>> once").
>>
>> Inclusion guards must appear at the beginning of the headers
>> (comments are permitted anywhere).
>>
>> Mechanical change.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   xen/arch/arm/efi/efi-boot.h          | 6 ++++++
>>   xen/arch/arm/include/asm/hypercall.h | 6 +++---
>>   xen/arch/arm/include/asm/iocap.h     | 6 +++---
>>   3 files changed, 12 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
>> index 1c3640bb65..aba522ead5 100644
>> --- a/xen/arch/arm/efi/efi-boot.h
>> +++ b/xen/arch/arm/efi/efi-boot.h
>> @@ -3,6 +3,10 @@
>>    * is intended to be included by common/efi/boot.c _only_, and
>>    * therefore can define arch specific global variables.
>>    */
>> +
>> +#ifndef __ARM_EFI_EFI_BOOT_H__
>> +#define __ARM_EFI_EFI_BOOT_H__
>> +
>>   #include <xen/device_tree.h>
>>   #include <xen/libfdt/libfdt.h>
>>   #include <asm/setup.h>
>> @@ -1003,6 +1007,8 @@ static void __init efi_arch_flush_dcache_area(const
>> void *vaddr, UINTN size)
>>       __flush_dcache_area(vaddr, size);
>>   }
>>
>> +#endif /* __ARM_EFI_EFI_BOOT_H__*/
>> +
>>   /*
>>    * Local variables:
>>    * mode: C
>> diff --git a/xen/arch/arm/include/asm/hypercall.h
>> b/xen/arch/arm/include/asm/hypercall.h
>> index ccd26c5184..4f4d96f1f2 100644
>> --- a/xen/arch/arm/include/asm/hypercall.h
>> +++ b/xen/arch/arm/include/asm/hypercall.h
>> @@ -1,10 +1,10 @@
>> +#ifndef __ASM_ARM_HYPERCALL_H__
>> +#define __ASM_ARM_HYPERCALL_H__
>> +
>>   #ifndef __XEN_HYPERCALL_H__
>>   #error "asm/hypercall.h should not be included directly - include
>> xen/hypercall.h instead"
>>   #endif
>>
>> -#ifndef __ASM_ARM_HYPERCALL_H__
>> -#define __ASM_ARM_HYPERCALL_H__
>> -
> 
> 
> I understand that you are trying to fix a misra violation. However, this
> feels like it was done on purpose.
> 
> With the new change, you would not always check that the file were included
> at the correct place. I am not against this change but this ought to be
> explained.
I don't think the semantics have changed. Please correct me if I'm wrong.

With this change, the only situation where the check is not performed is 
when __ASM_ARM_HYPERCALL_H__ is defined (i.e. the file has already been 
successfully included). This implies that if __ASM_ARM_HYPERCALL_H__ is 
defined, then __XEN_HYPERCALL_H__ is also defined, so the check would be 
useless.

The same thing happened with the code before the change: if I include 
the file after xen/hypercall.h, the check will always succeed.

> 
> 
>>   #include <public/domctl.h> /* for arch_do_domctl */
>>
>>   long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>> diff --git a/xen/arch/arm/include/asm/iocap.h
>> b/xen/arch/arm/include/asm/iocap.h
>> index 276fefbc59..4db1b16839 100644
>> --- a/xen/arch/arm/include/asm/iocap.h
>> +++ b/xen/arch/arm/include/asm/iocap.h
>> @@ -1,10 +1,10 @@
>> -#ifndef __X86_IOCAP_H__
>> -#define __X86_IOCAP_H__
>> +#ifndef __ASM_ARM_IOCAP_H__
>> +#define __ASM_ARM_IOCAP_H__
>>
>>   #define cache_flush_permitted(d)                        \
>>       (!rangeset_is_empty((d)->iomem_caps))
>>
>> -#endif
>> +#endif /* __ASM_ARM_IOCAP_H__ */
> 
> 
> I donâ€™t understand how this is related to the rest of the patch. You wrote
> that inclusion must appear first and this is the case here.
> 
> However the name is technically not correct. Is this really related to
> directive 4.10? If so, this should be clarified in the commit message. If
> not, then I think this should be in a separate commit.
>

Yes, you are right. This is not correlated to this series. I will put it 
on a separate commit.

> Cheers,
> 
> 
>>
>>   /*
>>    * Local variables:
>> --
>> 2.34.1
>>
>>
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:01:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:01:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592896.925731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKp5-0006z7-AH; Wed, 30 Aug 2023 13:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592896.925731; Wed, 30 Aug 2023 13:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKp5-0006z0-7j; Wed, 30 Aug 2023 13:01:27 +0000
Received: by outflank-mailman (input) for mailman id 592896;
 Wed, 30 Aug 2023 13:01: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbKp3-0006yu-Uc
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:01:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5294fb25-4735-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:01:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7067.eurprd04.prod.outlook.com (2603:10a6:10:12a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Wed, 30 Aug
 2023 13:01:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:01: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: 5294fb25-4735-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TByL2UJeLxcb2aSk3jSxnRDVts7gNAS8IiDJIGAbeBK5GanJLiAbu8yjSysWf8XPLhCN8Tcz5Gxa3SKLe9CozjojwzByeerYiWCAjSrwDSyy8yaIbkUJx6BTtnYNA0pQ4rOtDpwIEEZ5tj3SojEPL0UeFR4epVb/kaKDBo6L5kN6gwpVg1Y4wc7akYD7Y/g6KVP4iN0dC6SdYs4iv5C/KEkQvERFoFrOHB/rOsC/rm4aEVUPw+gQzVIFDCX7sdp39bjKs3bSvsbuEswQaY6GIlwG4U9u6PHiKDbQKDtlJMd59KWby85dDWkbfYjdWESCeKn5affLYFx19biShYd8vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ORh6UHbFyylwBxgrxl2XSlrHtK6ANhtlleg4+UdIcrM=;
 b=MgGFEiYwZhjdWT5Opw3DbtXCBF84N8bAC8YhXvA1aBFjjbXEejm9mO/PgrKLB/Vq0GHRoSx02aMSZkcWmkeCtEmXl4qZA2nLNwotCQCOVW3EjnXj1OeC3ls7lH/sSLe+hrJXCtsUUWOp7mCx2LLIXvzRAuRaI3VZJns1mVBv8ZyaiV0Zel/JxgKrehHxyjYQl8SC8lqbVQpaWJ3Ezp5XGqiI2AXUSu+sUOr5AWg5wQtgIBKoYW5iE/2NEIXJUmUfSl+o8X9YB1Vi134wm7xkIrBin0KkvmR7JT2AJCy52410iW6JuNLxkFyA+g3z8v8WfMsbsQn3XWxDxlgpLb9XXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ORh6UHbFyylwBxgrxl2XSlrHtK6ANhtlleg4+UdIcrM=;
 b=5ZvtpLVsvqY4xGRbMZznxXh6LyqUhVKI9tBN5c/49Innkj8URFGtXTQ9CR+ANz7p5bI8uIpQ8D/LwiQQtjr/yhvW3z2wB/BZEPUjjA2RFVRlu/g9ifMDbXfVL9KKw8sKHG5Hn8ENaKf6zws8e9LuBN8MW6ld7M+Wfqv7pv2mL7iRAjiizabNuAfV2fazpm54iJICSmHtpKt/ID32N5cNpt+KRFeH2RvDMH4TsNa9vvTvRzwjmFhrsBuRp7gRnkd+RA+mGj8UNEVHK2aIE1SC8cczSbp47jbJ5T1wYu0QNgqO7PnDIOeuER6XdLF7TfrMi/IsFrB5ycX/k8f1yI3w+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <73b7a5e5-9fd8-27ef-b143-161d1b0ab7b0@suse.com>
Date: Wed, 30 Aug 2023 15:01:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 Julien Grall <julien.grall.oss@gmail.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
 <CAJ=z9a2hnjCAkGN_YtCQRh8ZcyMMawxBhF8LOwgrQ5-nML1chg@mail.gmail.com>
 <8d82e827-6ad9-4695-5ec0-65c65b79b055@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8d82e827-6ad9-4695-5ec0-65c65b79b055@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7067:EE_
X-MS-Office365-Filtering-Correlation-Id: cb3a8240-94c8-45b2-ce0b-08dba9593514
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3gfZck0zDPyqwQgkyPD3Hlb3RrGlXQfGSiK0qF1gc+KsNX738kE7gx++0s5zMl7gl007XVeqPmVXdQS1zJ4cDyo2TbsEpMKMI37Ur8G/LneOUCRbQ8eOjdm3elk5DK42F1yvzwaRhVmBOxHVtgls8RYH5soU52XR2lGqlnrOSJj+aZHfHD3RbecSyOHS7CoIUQ0n+FXfUVOstgzOJCovJcot+fgxlwV/PcN2n50D1KtM1jXWy3X8+vQf0SOxh+/p1kvYNFxPlH10opTS85Z/kg2as4QPgI+gNoBt7JbTaVTzjY/Ht7rwhs4PBvvGxTLpgXe4kfPY8gRpOnSxHZkdjUUFHWUH9HPM0oiGCWP4+hr+lAhZ3fvDHhWIauPtdHODKETBylMbhjCmtmX/+4Ul3RVu64NKH8nMW2ITdjXKa0C2J3premX8KIXW6UkPRvPiJbcvOTWHzZO88+fzg54A+RaxJhcXPLtaA6sS2ZpXtnwS8or27Fn23NVgx6RT3Qrz9W8zhegc9vdK1r+AhuOSQRVg4TGPm06/4PBgs6p6eCaR3Gp/0CCutXcCjdjje4NR4FiU6832Wr3K/CIBv09L5NmHtl7DRbBEJYHnivZ7xlrVcFTqbX3rOt11PmfyHPO7lBGRkhZyoYVbWsMKal0PKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(136003)(396003)(366004)(451199024)(186009)(1800799009)(2616005)(5660300002)(4326008)(8936002)(8676002)(36756003)(26005)(38100700002)(6666004)(6916009)(66476007)(66556008)(66946007)(6506007)(316002)(54906003)(478600001)(31686004)(53546011)(41300700001)(6512007)(31696002)(2906002)(6486002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U05FVFZxYzBpbEFDMnRMTVVlZXdBVlpRZ0YwYmpIZytlWmlPVnZ3bHo3Q3hT?=
 =?utf-8?B?emYvVEtyTytTQmtZVnZEanQwVUFKNjV2RStTSGRaa0lJY0dnRGNHNXZDZDRQ?=
 =?utf-8?B?M2pDeDNkckdIY2FsTU9TUFVldTMrVEVTVEVMVFZZeGZwUDlFdWF2RkZtZDhk?=
 =?utf-8?B?VlFUSlIyb0VGeWorQk4wQkF2UkFSZE14SDRibTFtNFU1MGF6UVBSTElJSm5U?=
 =?utf-8?B?QnNndlVuTHAzZ2dPTURtekZuTVhNcm5qOTlReWZwTkIycjdVWU5aVFRydGlX?=
 =?utf-8?B?enFVeFZYa0l0ZUNxY1NWRWt6M3FrTmllSGxaOERmMFlpc1BBc1JpTzN5SkFk?=
 =?utf-8?B?ZXhsdlB4Z2x6aHhmdkZrS3V1TDJRRExoak9iNFBPMlYwY2oybkowZTBmcHY5?=
 =?utf-8?B?cUIyem9IT1Zua0p0RnIvTWdKc0t0MkljV0FNU1Z1OFZ3bUU3empLRGFCU1RU?=
 =?utf-8?B?cjd1QjZCVTk2UWtFV3c2UFVTUER5WitVYWFva2pnSGFuWWk4R2ZIOW9FVUZi?=
 =?utf-8?B?bnViM3BCTTU4VWRyNlJDbmVFczFDNlZ0enRQcHVCb2FEOGlYdGNqdTZoTjNC?=
 =?utf-8?B?UTFmZjRJWUpSQnhiZnRsUysxeGNzZ0NSUnpGTmdnVGhUVUNOVjkxVDVUdnY4?=
 =?utf-8?B?bFVlR20yaCtEa25pSEZtUCtiRkhpQlpZMVJsTTE0SGpyYUJuZGRIelBzcDRX?=
 =?utf-8?B?aGNDdFlMSjlDZGdoTlptQUhvTzlIbnJZWWt5RWNBZWh6eDB6SG5NdVpBdXJl?=
 =?utf-8?B?L25DTmJGc2FuK2FLeXRoUGhyYXl4amc5bFFxMGRSbTFTc21sa25LaWZTR2xR?=
 =?utf-8?B?V1ZReE55S01wWGhOZHZTeUc1ZTdnWDlBWWhTMmVwV0J2ei8yb1Arc1FrQzg5?=
 =?utf-8?B?N2xNSVN6Vk5acWlsZDE1b0ZCQXVQK0p3c3RhbFhjbkhZdTZCa05zNHFpMitO?=
 =?utf-8?B?b1hGcTJKQ09ibzk5TlpSQ2FUNW5rR1loamxJQ2NzTGNWZTVCWTFZUXgyVmhp?=
 =?utf-8?B?aUE2QWE4dEIvNHh0LzJ0SkxHQ3FXenZZZWFQbGkwV29OczB0aHdhQnhkb2Z1?=
 =?utf-8?B?Sk9mRjNjWHVzTml0VUJxUWJoTSsvWXQ2MU1nODJueGtwU1JISWZNbnFFMCtj?=
 =?utf-8?B?MGFGVEZiT3BwcURLMXRqcU5OVU5NQ1huWGlhZ1BGanBkRkpSU3pOY0pNOXlx?=
 =?utf-8?B?OHBoTUY4aTVNcElEeTV4T1J1Z1NDdHc2YUkrOUFxbU53alhHYjRkK0xhYjNZ?=
 =?utf-8?B?SHk3anhjZi9GV004YWFtM2owQmh2NkY3aGZUd1FtMlhRRlhwamRVREhObVpI?=
 =?utf-8?B?cmFxRzRXVGN5b1V6UzBiQ3g5RnNqMWdKdTFuWU5iYkI1VUl6eUhlV2dQZC9w?=
 =?utf-8?B?WkVmNWlscmlkdXdOOS94dzNhckJmWW8rV2xxcklnMmR6NWdmcUZBNk5EeWVV?=
 =?utf-8?B?cDJnN2RkbU1idHBtazA3ZnlmYlhlV2hNZlYxWXgySEh1WE9uMGpGemxUYnBR?=
 =?utf-8?B?ZFZROThDaTJXYXdYdzlheVVlK2p2bDR6MWt5dW1WeWFnSmltNXd2QzlmU3hx?=
 =?utf-8?B?S0lzUWo4VmhtbnNjM2tBRmNiR0hzMEJLeUJjWjRUelVBUWpsemlrbVBuMlVG?=
 =?utf-8?B?N3MyNGhIdW8wZHNxZ3A5ZStTamh4VUI5a25yTTFBcnRvZmVndXA5TTM5Szhw?=
 =?utf-8?B?YTNvUWFRbVp1VWlPSkR1ckNxd014a3lOb2JiOHAxNUxHTXFKWVpZTW5WaXpo?=
 =?utf-8?B?Y0p3bWNvQlZsMk0vaEZIaUFhbWhzMVJVcWNmbzNxNHl6QVNnL0c2MjBtK0Js?=
 =?utf-8?B?QzBlT2hFR24rd1loMmhLb1FuY2FDUUcvQS8zUjRtcWVhNm9sWXlYaTY1RFBl?=
 =?utf-8?B?eU83Y2EvVno3OSs0NW5yNWp5Y2RpMVc0RmpDbEdmbVc1U2d2NllGMHg4Y3FV?=
 =?utf-8?B?Ykl5WE41blV3RzVsZUFlMVNkNHpXa2puVi9SWUJPNkR2WDdMWUVZTlN3b0RJ?=
 =?utf-8?B?cjNRM3BOOHVxSTh3Z1hUNFFFRGE1ZFNwbURJMitzMXVWd1JMaFNqM2k2RW56?=
 =?utf-8?B?MzVxNmJST1Vad0x2S25PZW1WQmxNUlM5K1dUOFFHUXpwZU4wQmFVOU9LdDRI?=
 =?utf-8?Q?ZrUJT5mJ1fWgAyWJHJDHUufM/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb3a8240-94c8-45b2-ce0b-08dba9593514
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:01:21.2997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1XL2xgwY0qx9fKxIlcLP/0d1Am1OtR6GvcGiRMUrDoNN7BpxSi5s5VcwW01wnK+eK9FDWYHTZlopBJ9G1Yd7OQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7067

On 30.08.2023 14:53, Simone Ballarin wrote:
> On 29/08/23 00:10, Julien Grall wrote:
>> On Mon, 28 Aug 2023 at 09:20, Simone Ballarin <simone.ballarin@bugseng.com>
>> wrote:
>>> --- a/xen/arch/arm/include/asm/hypercall.h
>>> +++ b/xen/arch/arm/include/asm/hypercall.h
>>> @@ -1,10 +1,10 @@
>>> +#ifndef __ASM_ARM_HYPERCALL_H__
>>> +#define __ASM_ARM_HYPERCALL_H__
>>> +
>>>   #ifndef __XEN_HYPERCALL_H__
>>>   #error "asm/hypercall.h should not be included directly - include
>>> xen/hypercall.h instead"
>>>   #endif
>>>
>>> -#ifndef __ASM_ARM_HYPERCALL_H__
>>> -#define __ASM_ARM_HYPERCALL_H__
>>> -
>>
>>
>> I understand that you are trying to fix a misra violation. However, this
>> feels like it was done on purpose.
>>
>> With the new change, you would not always check that the file were included
>> at the correct place. I am not against this change but this ought to be
>> explained.
> I don't think the semantics have changed. Please correct me if I'm wrong.
> 
> With this change, the only situation where the check is not performed is 
> when __ASM_ARM_HYPERCALL_H__ is defined (i.e. the file has already been 
> successfully included). This implies that if __ASM_ARM_HYPERCALL_H__ is 
> defined, then __XEN_HYPERCALL_H__ is also defined, so the check would be 
> useless.
> 
> The same thing happened with the code before the change: if I include 
> the file after xen/hypercall.h, the check will always succeed.

Hmm, I think you're right, but I draw a different conclusion: The check
fails to work as intended. And this can only be repaired without your
adjustment.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:03:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:03:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592903.925742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKr8-0007cd-PF; Wed, 30 Aug 2023 13:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592903.925742; Wed, 30 Aug 2023 13:03:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKr8-0007cW-M9; Wed, 30 Aug 2023 13:03:34 +0000
Received: by outflank-mailman (input) for mailman id 592903;
 Wed, 30 Aug 2023 13:03: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbKr7-0007cO-Ih
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:03:33 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f4157a3-4735-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:03:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8594.eurprd04.prod.outlook.com (2603:10a6:20b:425::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 13:03:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:03:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f4157a3-4735-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XMgAXPfx3hMO50QKo1ZqkBhfNsL6cOdnyePj1bfBgTVlzu5Yt69WolshNjY/dWe0epqTmlFMIzMn4azja+lUn/rcG2NPP/aUziA07pW5dejwQsK3RpK6NyhZXsXszFi4D04zZwPc50eoUJnH15mJd+/BipWpAKkReemo5y+2+IEI7iv5MfY4Rb31JWdOVHMi8PBm9DqEu5HWkX3gsxSSbEMdKbipfnRTPGnILZKnERVc/enXES2jFaZ8W3iTKTvCWF4LbEPjmZlLm7dqADQD3ewPN+WvU7MtzSmt1Zmkg8gRRKklZ4H0rGBcZc96tsUdM0u4ksQjQPYc8AmeOpUeQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1m0KKUnt/oHt7Iiu9m8cQE3TJkkDW5g1n1YRO4iHWdw=;
 b=iqu7PEsV8j4omimQ6BoVtUn/nhS/U6ITtSoh/VgykbkODNiV/MVk5a/gMUnxD2JZ9yJwRgvBxGMe8Fw3FdoGlUsj355IXbfu/r4Ipufw1vokGqIoWPm+ChIcNbw5Bf6HrZCs4K9D4rw3AepGY05tNYVhbyK1I2/Unla0RBgBEPZkXA2VCuzhkqPrkRTt6fDNB4nxj4P1jWlOk0auR9UVUGGZ+9hCiMpFwQO/z0GcgZyQdXFDQDFQXfKQDD01SleEtggd4Gm5frWO75SvZgKiB0iKTRFvpKVRkgKftTp/a8MgaSvg/wzu8vCfpg364tQsj1a/O+7hMKQyuPjEMf+Jsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1m0KKUnt/oHt7Iiu9m8cQE3TJkkDW5g1n1YRO4iHWdw=;
 b=g/NAjvyHL0MR+//6Zrrh03kqLKAeTjztHjayAqb1LSXC7h87Kw3J6siQdPVYsCAcrEf7y91b7pCLqpvPXEDKjk/UR0oGOMQ6WRIda0mD0g6yMeiv6po3DRi+zotgyaPpTvwSAGda3AMJXhWxafYZxKkw8fHhdpcHk9jKJqFLRswFcqZvub/xE3zMHJT1wblk8DHnTyVCD5H2H/wl0AoS6rELVYCgw2SVzK6uQ4qTmwC894Vt4zTK8mkiaH0RpssETqqpaD+JEvs6+nVh/Lqk7wVPeNbe+1yFpcwzFknX2TdCquzZRlu9+v8Xk5ZMCvFjH92GqmXLx1URiDWBgrfQIQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <599f1b4c-501d-6b02-e35a-6cba8b459376@suse.com>
Date: Wed, 30 Aug 2023 15:03:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 6/8] xen/ppc: Define bug frames table in linker script
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <f81914771ec96a48adf25c55329aa5f739f174d0.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f81914771ec96a48adf25c55329aa5f739f174d0.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8594:EE_
X-MS-Office365-Filtering-Correlation-Id: b7618432-ec6f-478b-01c6-08dba9597210
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1FRiU+jzARGuntjga8hbBEXU+pHvf15ovDjQNb2rQRdlS8fo1DjCxQwJYPHtOqGQpOaB1R24VzeJglod31Ux6MIA4m0xtUogLdny9sskCc9tUZQKK33DWIwn9FZ+NOYtP69C4eHVZo26x0T1QSbxaLGqy0RfbhLaEcK8H2vUSSEe/N8UjtvFPI60FaIeQZIPeN1sNWsdnVGGwHzg+cHGaZFt0nvirxtaTfcizyQvTGhLND9mw/u/etK6jngKxnbWX2qDMDRLwprdC2fL8COZGJddjVBiD4YRLnZ7S94BHuPSUEni59QqvPfIGw8BXrML9Q/oi1Oc40olU0mawztc9nVdutaewsRQOEWeCDPXEfsfkw+saVBQ7ZN4x5ameHL5lxBr7/auwEMGb+Uuyzakh3Fk39bilHP0VgTYH3q4hFIGoqT266osZARLPIXJTYI+lIbWTYyumwaWmzXoUoUmCIA8U1EDfkzek9ZFjpzrKSVJ4EJQ7XXOm/3YdRmWlexd8FKeqCRdyzjEKzTnwTTdydVNX23XtluPXbwAt9BuFO529rqx6ByJZ+nSjFKi+M256IPFbZ3k3xAKpaYStBFO+KfHcKXxCJGkxd19oK6OtvNeCWqPPyXenl6nBmWuNzjU1bePxanJsTxfT/625zXoYg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799009)(186009)(451199024)(8936002)(66946007)(31686004)(478600001)(53546011)(6506007)(66556008)(66476007)(6486002)(316002)(38100700002)(41300700001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(2906002)(83380400001)(2616005)(6916009)(86362001)(4744005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHk3ajZvWE81eWxFc29DajRZaGpXUjkxWCt0ZGk2bHNObnN5cU9nS2RqV0JV?=
 =?utf-8?B?VmpkOVVndVZtZllXelJnamczQ2FvU3FHYjNOTVRyZk1naDBRNXpnSzVOdnBz?=
 =?utf-8?B?bExKWGwxOVJBcU1vSXI1VWpIaXlyT3NnUzVEVGR4VXRXa00yek5EdzE4aEVU?=
 =?utf-8?B?dkZIY01keitVQklIU0FCMjRuVEI2b2ViZEpnU0gvOHBtVzlLd3h0YVA1V1FI?=
 =?utf-8?B?QzZya1VRZ2hZOURWKzJiRGg0bERlelV3MyszZ0hYN1pnWEJDaTZzYmIvWm5Z?=
 =?utf-8?B?WGtscGNSakNLeC9QdXpacDZoT0xIckVReThaY0hWVVd5LzlLWDNXbFg1K3Mz?=
 =?utf-8?B?V00yTFg0WUJyZGxJVTFSVnVoUkFGNWRmVXl2N1RrRGhzQW1tamhRbVdDREMr?=
 =?utf-8?B?dGtIS09ndzdhbHpEMlloYVhObnRwckVCNDdJRTJhaFRtakpLRExwcGZJWmJJ?=
 =?utf-8?B?bnVqYUxSeW0xeUtWTlBRQ3QvWHB3eG5oUmUxdS9rVXc4YTRvM0xrYU9rOVMv?=
 =?utf-8?B?KzBrZjdNTUVIWllXT0xsa1dMUDRUa1FrdlExUFRuK0lqd0tDbU5qWUhzTWw2?=
 =?utf-8?B?SUNRWTh4bTBmUXIraFhSQUszTis5OVlhRXlhdVJwUUYyVVBDWnRVNFFUREda?=
 =?utf-8?B?RDdHd051WHd4blIyR3ZUVzJxR0ROeWVUR2dlY0hJcXQwOWdLUGVXZE5sdk1w?=
 =?utf-8?B?SkcyakNOWmtCQ3h0clRxZ0dMYjg3Wmx3ano2M0g3cnVxVXg0N0JVYWpHWGRP?=
 =?utf-8?B?aTdCRmtUbnRSVG1KdG5pQTZIK1ZSZExQd1g0OGdQbHRtQlA0ZzB3V3pDbXBN?=
 =?utf-8?B?TmNtWjRjMXlWNUMrdDE0TnBXUnBTeCtpLzJOeVRuU0xQeDErZDl6QWt4Qjl5?=
 =?utf-8?B?MGwwTnlKT2IwNFN5eDVXa05Ea1AyalBMQUJTaFRIZHQ3V0xxSU1JdXlBUHFv?=
 =?utf-8?B?Z0l2cTZMelFSbktSMHJQT0hvdjl5U2djSEVvUG5qTzVpZm5ScllkQ041MkFr?=
 =?utf-8?B?OXc2ZmlxOUJ5YUEyT09aN1hJMnhDNWNMZ3ZHRmhqeWxzbEw2TXlEeUt3NzZv?=
 =?utf-8?B?bDRnYWRiUkIvbXYrWHZIeDN1S0NPUmhmakozUzBLamVLRzRJU2M2eFNyVG84?=
 =?utf-8?B?dzgxdnk4SEVuS2lyeDZVVEdLUENodlJ6MDRPenIwL3ZKb0t6ZEZvU2ZoNjVL?=
 =?utf-8?B?bXdxdDFCSVFWY1JncnJNclFvWWlabW94UWFpaUtVNTRvNS81ZmxXZ0phVitT?=
 =?utf-8?B?R204S0V1M3l5alE0YmxOajVremI1ampHY2RwemNFQnF4MGlEVy9ILzVpV1R3?=
 =?utf-8?B?MzBWZ25RbkpBMFhOT3lkMVFVM3dNM2ZUWFdmNVE2OWQ5V1BsdUN0ZmNRWXdz?=
 =?utf-8?B?dDEyOWRaWTlpQi9wdEl0N1ZOUG43M2ZBdFJQQ0cyMldSVlM1aW53eWVvQVFq?=
 =?utf-8?B?a0R3T2VQVnEvaWttN1QzQ1ZWZ0JNblJhd0VjejRuajhPMmhJWWFGRHA2MVND?=
 =?utf-8?B?K3NPZUEzNlhJMVJ6dXRJWXhhSXpMUE9OOWlFOFFaTUpyajZTWHJranA2MElI?=
 =?utf-8?B?NXhUWDRFbmhLTnBXR3QwdVZjdHhRY0E0SksxUXFRNVp0NmVxMzBRUC9KQThO?=
 =?utf-8?B?UlF1MUVONERaSDllVDJFMDBTVW94alo4NWVWRHgwaWFhQyt3aUhGWlZCWXZT?=
 =?utf-8?B?OEhhdHoxSGJoU0RQL1M4b3JTRStZV2NuZXVwNENrR213VExRT0FsR2dFTXJT?=
 =?utf-8?B?YmtJSERUclVmYXR3K2lSb01OazhqamFqWXBFd1NUeW4xSTJpVGdPS0hLSSt5?=
 =?utf-8?B?aUlraXRqUjJFVDVjTEJaYkRLV1JGeCtEZjlOQTM2QndhMlhEUVJpY2ZiZFl4?=
 =?utf-8?B?MThqMnM3WVI4ajFhSVZmRGZ3Qm9MOGVSN2ZRRG9hVktVeGZwWVEvTnNXZUov?=
 =?utf-8?B?UTA2Nk5Oem9KcldYR2NHSkowUmtBZU1xYlNRYlg5Z2NFTitwcFFQd3VIZUhE?=
 =?utf-8?B?bWdSU1lJVTNKL0ZVU016ZTg3WGQxSE03Qkc2Mk5LZnhzNjVzRVNlWUtHRnFJ?=
 =?utf-8?B?a1VWamQ3NHl4Y2txWm9DN09rSFpDOVpjWGZDelN5UVlYdlNPS3c4b3pGbVlr?=
 =?utf-8?Q?zREfk8QEY1m9vPYid32ytkBec?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7618432-ec6f-478b-01c6-08dba9597210
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:03:03.6084
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tC23pV39Jo5+mG4Mr4DLFEKPhuAq1Mt1/bcS4hgH/InYjQiYghhbDHKlsXT4odnIdvPpLryDCv8WvW95b56Kow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8594

On 23.08.2023 22:07, Shawn Anastasio wrote:
> Define the bug frames table in ppc's linker script as is done by other
> architectures.
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

If I'm not mistaken this change is independent of the earlier patches,
and hence could go in right away. Please confirm.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:07:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592909.925751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKuV-0008DD-6h; Wed, 30 Aug 2023 13:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592909.925751; Wed, 30 Aug 2023 13:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKuV-0008D6-3k; Wed, 30 Aug 2023 13:07:03 +0000
Received: by outflank-mailman (input) for mailman id 592909;
 Wed, 30 Aug 2023 13:07: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbKuU-0008D0-0P
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:07:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ac70f8b-4736-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 15:07:00 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.82.72.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 707F24EE0738;
 Wed, 30 Aug 2023 15:06: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: 1ac70f8b-4736-11ee-9b0d-b553b5be7939
Message-ID: <519a036a-80b7-e55d-48c4-c1053bf6e190@bugseng.com>
Date: Wed, 30 Aug 2023 15:06:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 03/13] xen/arm: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org,
 Julien Grall <julien.grall.oss@gmail.com>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <2d37ca48cf6556ebfcb4b17cddd2446fa549f689.1693228255.git.simone.ballarin@bugseng.com>
 <CAJ=z9a2hnjCAkGN_YtCQRh8ZcyMMawxBhF8LOwgrQ5-nML1chg@mail.gmail.com>
 <8d82e827-6ad9-4695-5ec0-65c65b79b055@bugseng.com>
 <73b7a5e5-9fd8-27ef-b143-161d1b0ab7b0@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <73b7a5e5-9fd8-27ef-b143-161d1b0ab7b0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/08/23 15:01, Jan Beulich wrote:
> On 30.08.2023 14:53, Simone Ballarin wrote:
>> On 29/08/23 00:10, Julien Grall wrote:
>>> On Mon, 28 Aug 2023 at 09:20, Simone Ballarin <simone.ballarin@bugseng.com>
>>> wrote:
>>>> --- a/xen/arch/arm/include/asm/hypercall.h
>>>> +++ b/xen/arch/arm/include/asm/hypercall.h
>>>> @@ -1,10 +1,10 @@
>>>> +#ifndef __ASM_ARM_HYPERCALL_H__
>>>> +#define __ASM_ARM_HYPERCALL_H__
>>>> +
>>>>    #ifndef __XEN_HYPERCALL_H__
>>>>    #error "asm/hypercall.h should not be included directly - include
>>>> xen/hypercall.h instead"
>>>>    #endif
>>>>
>>>> -#ifndef __ASM_ARM_HYPERCALL_H__
>>>> -#define __ASM_ARM_HYPERCALL_H__
>>>> -
>>>
>>>
>>> I understand that you are trying to fix a misra violation. However, this
>>> feels like it was done on purpose.
>>>
>>> With the new change, you would not always check that the file were included
>>> at the correct place. I am not against this change but this ought to be
>>> explained.
>> I don't think the semantics have changed. Please correct me if I'm wrong.
>>
>> With this change, the only situation where the check is not performed is
>> when __ASM_ARM_HYPERCALL_H__ is defined (i.e. the file has already been
>> successfully included). This implies that if __ASM_ARM_HYPERCALL_H__ is
>> defined, then __XEN_HYPERCALL_H__ is also defined, so the check would be
>> useless.
>>
>> The same thing happened with the code before the change: if I include
>> the file after xen/hypercall.h, the check will always succeed.
> 
> Hmm, I think you're right, but I draw a different conclusion: The check
> fails to work as intended. And this can only be repaired without your
> adjustment.
> 

Ok, I will just deviate these cases.

> Jan

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:10:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:10:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592918.925762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbKy3-0001Ge-MW; Wed, 30 Aug 2023 13:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592918.925762; Wed, 30 Aug 2023 13: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 1qbKy3-0001GX-JZ; Wed, 30 Aug 2023 13:10:43 +0000
Received: by outflank-mailman (input) for mailman id 592918;
 Wed, 30 Aug 2023 13:10:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbKy2-0001GR-I4
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:10:42 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e83d006-4736-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:10:41 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6979.eurprd04.prod.outlook.com (2603:10a6:208:18b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Wed, 30 Aug
 2023 13:10:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:10:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e83d006-4736-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fpAK4ydViZcyshtsmb+tIpKluUYGMhCOaF+y8iYSVgyDCR8C+Y9srF4NMHeaX8/6XnBEUr30ecr2pwlLTK3F7jesKjtESLn3KgL5P53ra68nFzNRqn38bQvYk54gZTGr7UhUPygLiAyIRFi7gqNVPFEcPBXX0++oJXIac17ee6J0opcw07TP+u51eSYgO8D5U8DTjfeTYW2khXxq19R+Y2+l78wEH17miXJjFKg+y7htdOKBPiGgSz1EjT795OCTB8RNHVeSCUBEyd6UmDmfc0KvAKlNiyGKKAbDyE08+QQET/p/kIlfr/8uNslhCyCVWP8GL5p/fKfE0pvpWfyuVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pgnXlNHbOpp2PVphDUzUf/dDpsstOuKU9L8Dvc0zuho=;
 b=NbKZYqXUY1xn69lM8sIB59l2IW6ODUkVl1UbdmdKyT1ywh3pC068FPilyQtT8vbQum+sNmV0RbsyseUqgYrh0M/kWH4SM8g98tPGqYPB3M17fD6TX1j2SRT+e0Eg/DYwIOkokm1g9BzL2z6yNG49tcw+d6TOZEfT83eDp0iIQGm5LcTopq6VhKKh/bknhQwUahcy2zpWivqj/r5ZrI+O3lVBUECXKtazVVCzeA6mK190bu+YMSe9NS43FeKnpJ6xWyVz5Y4+zSllVppw3p5HyOHsefQ4Hb11vE7npftAdrdR/mwbnVznybfjec+eHtoq5MluQ+J7krbfl49aqOulwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pgnXlNHbOpp2PVphDUzUf/dDpsstOuKU9L8Dvc0zuho=;
 b=nPwuVhhQIB7qnaq6Hjky60Ym7FKdgW4lOuxNW32OkGWMDeUHZ5hTRmnKz6sYtvCCvAvdmDA95xZDeN31/La37maSU+XL94Foar0w2CGyowYRrOxGAHEvyZQAP9ZORAxGZ9YnZMNzUIoIFl8YTglnJtodtd/84LSB3loFuMTX/0DW31iajVGGH8RVCTrgPU9qlTxAt3+J75Mkqr0MuIhTq13K0E2/pRU4TiHoOvgD4+QCBgbPOidqN88xBhRsULfV3TdTiioUt2nsPz7NbmGRFJexOshsoEQEkxGQChXlzp2dyVMW5Qcas7dLPbleX8Fb0eaxRT9u9NuPB9lOrkK6jw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29e0e9d5-9ba1-f453-4dcc-8ecdd1f646b2@suse.com>
Date: Wed, 30 Aug 2023 15:10:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 7/8] xen/ppc: Add stub function and symbol definitions
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <1fcde99f8eae396ac7741913e0a3b84039eb7adb.1692816595.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1fcde99f8eae396ac7741913e0a3b84039eb7adb.1692816595.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0178.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6979:EE_
X-MS-Office365-Filtering-Correlation-Id: 33856c9b-08a9-47e5-0b1e-08dba95a817c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U/knJyqskFpERAZ9Fns6uNyqYjV4V/RraGbjEJJyEK6+lFHnig46zScZb5p/cJcXej8lBS3Ys1/i8nS0+jB29SS/UR+CrMTSOITIRzU0nRD1apQvSL48PeAPItCGHVKX5m1eBudU0yj9BZvPSHhPoVjfFIDGCf3lXU+J47IX7LGHHYBoLtGjuTculx6ASWeXC1b4q0kmvNT+Pwv6d3plZ7vUTP9XaUUhegt0Zu1qKijeaxfQ8CgjXg7oWH6fTNGxCxsccQJjDic71UlpbzlP84crWADiMrghnJrjPnJSjapQfNtYpP2E3F1UPoSkvBNl3S87c5tZIHRY2nx3XwVMImG2sZDPlE3bcAhhQOV80IoXv4rs3F4RiFIABjxnZBxlihImd5DhGz9Iv8HN2HFcdDNx44I7MyAAAOLXY9x+HS6wVJDU4S4CehGllwZNeZCsjoHSKF8Yw77MkDH8JmfxIbe3R14J3K3AsjN5Eiso7SRFdFZjXIjLSSXj09xrFLpdA21KO7MWT4rZe2Rt9uNWCaSuI9ENkDIuh9arY/cA060lXE1/efXTgzN62xrq7cwQabyNicG8U2QhtPlqDi5UjgLGyimNjhztcgwV8K6L0IcEoTevzOGEXWhRNDI9kerpkeveEn9tklrIUqdO+XjiOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(346002)(39860400002)(366004)(1800799009)(186009)(451199024)(66476007)(6916009)(66556008)(6512007)(316002)(4326008)(8676002)(66946007)(8936002)(2616005)(41300700001)(36756003)(478600001)(53546011)(5660300002)(2906002)(38100700002)(31696002)(31686004)(86362001)(6486002)(26005)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEUrbGlqS3ozdkswTkdENWtndW11NzVKeUgyRVlkL0ppWThudysxeHFvd3Bo?=
 =?utf-8?B?amZqL1ZGdVRpU0hHS21VeDROV1EwWFRhS3ZtdWFEbElxZ0c5UHVKblVNaU9Z?=
 =?utf-8?B?MTMvQUIxUWNpVlZ1ZzV2eG9IRllFczU4cXRTNUNCL1c3bkVyNzc4WVBOL2JI?=
 =?utf-8?B?T2RSL2F2QUNyRXREM0pHaSs0Qmp2MkFOdklTUmNRaGpZRHpMVW52UkJDZXpx?=
 =?utf-8?B?dFQ3UzU5SEx6UWoxclhpZ1Vqd053YmRBeWsvZE5EN1czWHNJbU1PaGN6T1JI?=
 =?utf-8?B?cjZoOU1GMXNNVkNwRnBZczhONFpBdGFqYVdWNGRtOXI0SHBoQ3V1MXo0RW1Y?=
 =?utf-8?B?UzBVZm9DcFJZbGNGTEdrcUVleXhrTmdHUUtuWWNHNUVvU2kvQllJUnFkbURC?=
 =?utf-8?B?eGJvRFRzYkVia1hXS2FzMlc0U0RRbkxSQnlqZzc0VkhzaUJMT0JZYWJCZVRL?=
 =?utf-8?B?UFFaZlJrR3E5eVVuTUNvcjZNYkpUNFNuM1lIeWdXZ21GWjN0NDlObkpuL1Nw?=
 =?utf-8?B?TUdvTXJjVDlhSTkyMDNqTVVJcEc4U29Sc3lvTVIrVC83UFVidktpSGFqeVhJ?=
 =?utf-8?B?c1UxeTc0Q1FjWVBFWFoyZXJVWWxsTUIxOXNmVjlDKzdWMEs1Z05yR1FPb1hs?=
 =?utf-8?B?eWNKSWlBN3ZzMDdnNGE3M1M5U0p0QWNHeS84cWFyNzVWYmNGMk9Bb3ZaYnZi?=
 =?utf-8?B?Z3ROcGZKUnJjZWovdUk0WjlLQmZMTkRwWkRCWFQyVUxmdzlaT2V0RE9uend1?=
 =?utf-8?B?VnRtaHJILzVaSW53aEt1TUhhY3llOGNoRXU0N0UvV3U2VHhnWk1zSUtxb3pP?=
 =?utf-8?B?aTdxdnc0R256Tk5VSnFsSmZneWJLcGlRd0ZTM2RlZi9lTnNMV3NiUkNhcDdX?=
 =?utf-8?B?ZTl3ZjRLVWZrbmQyQisyQWNBRnBCMmhVdGNiL1pCUVJYWWxaT01HbWZrZlFI?=
 =?utf-8?B?MUJndmdkS3hQTlI3QjZiVWtGbmkzUURJSFBUcDUzY0g0Umk5c2U0ZG5DdU4w?=
 =?utf-8?B?VmV6UXhqMzhENUEreVFaOGJET21TZWxUL3h5YjE1Y1VrQURaMjFqRmhRYzB4?=
 =?utf-8?B?Q2RqTEVFcG9jVnlOUDB0b0xjMURNWmNCODhnd3laNXZ1ZFZYNGE4S21JYVg5?=
 =?utf-8?B?V1JUU2pKaS9uQlc0OUQ1UzRudEg0aU5sVW96bzF6TlFRSWFBaHVTVkJSZkUw?=
 =?utf-8?B?UnpJNTRnYkJQNTIyazRpUTJMVTZLeUpZSmx0WUMvMWlZMmxDNWxybjk2UXRM?=
 =?utf-8?B?blUyU1h2a095b2gwTWZjR3ZQVUlWUHB4c05QeW14QWJMcll6eVBpdnFzaTFl?=
 =?utf-8?B?UytUTXV2emI4T3JicUh6bmkvUXd1L1pZL3FsOVJuS1VRQ3FHeXNjTlNBdS9F?=
 =?utf-8?B?cDRHRkpvdzk2Q04rTVo4Zzh4YVBlT2Z2N21IMXFiRHhFYjl0RHZJODFoRDJ5?=
 =?utf-8?B?SDUxVUY5aXBKYml0eUg1RWhUR0xrL3NJR3hkUzRWVnVWa3p0MGRpRmZTTTlo?=
 =?utf-8?B?ajdDckdlaUdnbmtwbUpYbmpkbXd5RWdzQnRpeDBLRDBJZjJXb1h1d0FnODl1?=
 =?utf-8?B?ejN0M0cyb3c5Q08zVk5OZDlrZzV5WVlQWWNMYkZ1UDV1RGFueVRtS1gybGNi?=
 =?utf-8?B?dXRwYlVMRittSEl4ZlRLQjNhMXJtYVUyclE1Vk5kMFVQaDZRRncxNWRwY3BZ?=
 =?utf-8?B?Zm1wUitQU0RUeS9CcEdRcGZ1OGtrdWxnTWlrUldOZ0tBakxuVWg0ekNmOS8y?=
 =?utf-8?B?S24zV01Ia0FhZmQ5bGVkZUU1bjR0NVpXMnUyQ1diMFJzaUJkMWlPRjFZd2Vt?=
 =?utf-8?B?eEl6Ri9hb29uRHFqYUhqQzhydlRRaStocHMzRnNwc3ZCdjZUMWpoeFltSDZp?=
 =?utf-8?B?VHZRZEk1ZTVBR2ZLRThZUHAvRy91L0xFZkJZSE5jbVNCaUdPbGh4c3U3c2p4?=
 =?utf-8?B?Y0hBRkQ0S1lKUE5YZFp0UjlPQjBGRVpna1ZueGszNWo1UzZqajVWSitGOER1?=
 =?utf-8?B?OS9kN2wwdWFrbGRqbUF0QStmek9jMDZraXpmdGU3czZidmdiRGZSNGZRQmQ3?=
 =?utf-8?B?QldsbTFtdi91NTY1NXBrMzgzK3NWZkdmcEdSYWQ2aWVPTlk0UkZNNkprdzBG?=
 =?utf-8?Q?zVcWgrW4xbOnlGEknpmMAlfDG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33856c9b-08a9-47e5-0b1e-08dba95a817c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:10:38.8868
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4ANFQuuGmZMJLGlpR7xek7flrKZMaQP0yKBOY+Bi/VXqPHK3qVf27DwALZVY1Bxk2XPrYyvTG3PJiZKPgvVt8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6979

On 23.08.2023 22:07, Shawn Anastasio wrote:
> +/* 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");
> +}
> +
> +static void ack_none(struct irq_desc *irq)
> +{
> +    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,
> +    .ack = ack_none,
> +};

As said before, I think no new function should be introduced to fill any
of the hook pointers. I.e. I would suggest to also drop ack_none(). But
in the end it's your call of course. Either way
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:31:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592925.925772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLIB-0004C6-9u; Wed, 30 Aug 2023 13:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592925.925772; Wed, 30 Aug 2023 13:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLIB-0004Bz-6H; Wed, 30 Aug 2023 13:31:31 +0000
Received: by outflank-mailman (input) for mailman id 592925;
 Wed, 30 Aug 2023 13:31: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLIA-0004Bt-13
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:31:30 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86557051-4739-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:31:29 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7833.eurprd04.prod.outlook.com (2603:10a6:10:1ef::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 13:30:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:30:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86557051-4739-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=moO6DFhTzDO8F/em2CeMswJ0sZY87QNKFL9s0hF49jVYNYTfXquIJsVo/bQvw4xwPJJEGuJt0m6DRsNjp80IuO5TUrePH2P2ma4hYJWHZg3zMGnub9pQw4WOEJj/zeEdw18oNXzHxz7sI3QoWqHtXLe9zSi+efcUpPecjyhy8o1wyzFehpb4T/HZBECvOGEdeAlprAEmQN0ubKo255tAvvOBdzFiRubsz1mVvbM5lNgeKCrEch9pFobiyAtTH64l75P+hG1vGgkh5HK7zr5YG75Gsx3mbqoyW93gFojQcyrJrcehoKmnc40r8pBuFXMHPIemjB7W88+q75TdSF6xfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zXqIK2G696FTBrTz2yHQoXEgl3saFIS6AI/J3t0xXw4=;
 b=a4vXeCecb9ZoiRiMJk2nB96nVuCCZCSL+hY7uyl1EyEEK+VdtE9SxGmdHHWSCvqxL24JQhchXiwNVklDInds8qyh9+2Xmqd40XS0tSq6/XhIBfzuF7HRe2G7x6DEg07bzEmeAGi694gtsTrW4nugI6gGAjP4OXsuIKHKLtABfpBbbDZ46hdlQH6yCbZFyLDVyLD0WHySJlbHKe1Cl32F9VV5kJ341j/cwi5/LzJafRkawzGUUhdizuZ/0ruwkds3NNcOjF/YDMjWxzyeGz8GPe+7+btVBCpwUZVsnwDT5uJmOq9j+9ofWAuhl1USFJ7BArnAQrImKzib/ZGYSyUYXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zXqIK2G696FTBrTz2yHQoXEgl3saFIS6AI/J3t0xXw4=;
 b=cB5AWwppcFtopmLV8N87WzaYOVlBmfg4alP5WxU2/DwFfhn7DYl/sx6TuMz7VW8ZIsG2111obmOvMTMB9+DDcc6llBjyDdESfQ4Fv5Sg3p4Y9+D5ZRGNOojOS2KB7gZjKhYALgrWzIVCJ/7bQtRoin+RTJAPqCaAMW5bQht7kWaiQpkO/W3RE5KC/c5qysHmxeBhgNvJ7Q6m3j8i1AZEZOUDkv6Yhndus+T+uGrv0OsiLZB61Nd1nQHgtP1AsaNrchPeYQ9YymsnXJOa1MXlRS3YGJ7FBOcrORNq7KMP6rbjbLWih/Jk2k+TMo3JWRT3daTgY5Dg99jS9zn1t3ks1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb9854df-67cb-8d9b-ac2d-75ff11f29367@suse.com>
Date: Wed, 30 Aug 2023 15:30:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Content-Language: en-US
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Tim Deegan <tim@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7833:EE_
X-MS-Office365-Filtering-Correlation-Id: 64e18346-d6ae-4789-9492-08dba95d58b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Zny7PfaGjJpUM2b0kF3vXtPFJ8OVtAFK7GE0owO/rNV/2unahUmWVcyxqexSc3E/cblU67LZshOXm4yxcILFen2Q8ND3JBMbcz3WTtTYEK/npbi0sTRK4zVwwYlxjbtaZ7eprPJx1nGtD5rVVJnPQTnqVpfuhvjbbmIC/vYFPG1ezeOPVswlPN8qQEvWonY04+C+tE1do5PeKLgnJEle6ukpA3sfhJcn9tBpg+MR7B4dbCTsu6jZLU5iSluzlPI3AcJW3tW4xVSLOvcf0CjGJnFASG+zAT+PJt4zn3daO65Tq8xknB8/4VSA15qlT5EjiwwQMo6k3PlUPF7QAVlqxnSh9ALDjFsOWoGGGyKOSSG8fTPXbKTytXouATIuafN26WFXFBppqQi8iJPKLPHpjLXCibkR9sviNIIYTdRPKWeuQoJryTAHg9ThZFmuIP/5fRExsNfTTFelwmGngfy0mN6CnIbksbJqIDG/dhGjam8cDFlihSwWJqQ90XU9mEVEC9/GGCuVEKxHC/6CGSxFh2vqXfEg50SgXbLYL0WW9WIGzCs1I8rEOQK6P292RGB9VQTKMYjB6breRMUvICzfo15vsgwBVCh4PzvEjMuLYRk/KwWidnDsIPoA508uznmvlys4YjmCtMQrcXIbRkiQMg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(346002)(136003)(39860400002)(366004)(1800799009)(451199024)(186009)(6916009)(66476007)(66556008)(36756003)(66946007)(54906003)(2906002)(316002)(31686004)(5660300002)(4326008)(8676002)(8936002)(7416002)(66899024)(41300700001)(6486002)(6506007)(2616005)(6512007)(53546011)(26005)(6666004)(478600001)(86362001)(38100700002)(83380400001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXNVYUlHQ1h2bGtNVHVkQlVuZGZidXQ5UUFTUXJqRjRBNWl4cml5WVZRYVFI?=
 =?utf-8?B?b1hMdVJDWGg0ajJPbVBubWFFNi9pWFpiR0hqSDgrYTlZMGhsclFUQmIzRnpT?=
 =?utf-8?B?R3c4YkF3bVcxbzNOTFFuRnhVRmVrN0ZrRDdsSVhJcWJsMUlwcFUrN0Y3eU5y?=
 =?utf-8?B?Vm1iR3NVbVpNSWZVN3RiNm0wWlhqQUx4SEdBOWljZEZKQTJSVXIva0x0b0F2?=
 =?utf-8?B?aFJEV0U5b3pTcW1rRHk0MGdBZ2FwT2djclVYanduQVdBZDlWeEV6OVlCNlV1?=
 =?utf-8?B?SHdaT2hmOXN2UTNNZFpiWXJETDVaeWtxMk5XUEZWaW9adXZJSlVQa01QRW9S?=
 =?utf-8?B?THZJZWdjQ0JSekloUlMvNUZpVmlWZW5CNms2eldIYlNDazlNVzFPdjBKSENE?=
 =?utf-8?B?K21zeGxyUjZCa3Q5RC9zbUYyZURmcW9yQ3c1R1ZHcXV5aVdkckkyVUVOWGtU?=
 =?utf-8?B?dzVGcEtTek5WVGpFRXlOemJ4bnZHZlgwdStoODkzaFZwZThRSWZWek9PMHZR?=
 =?utf-8?B?a1VFcTdFQjFmdHJCcGdmYk5rbmdZNzJXUG1lc2FhQ2UzYkpYVk1Zb0Vab20v?=
 =?utf-8?B?SUtuSVZFd0tsak9Ga0lqdlRFTVRpOUN2amlHMlBLZjNjQUJYZ01PdTlVZWdN?=
 =?utf-8?B?bC9uSXpadWFic0VVYVlsSFdiVzRRNW1tWGYwalplVy9ZSDMyUndqRDllOFNB?=
 =?utf-8?B?MUJiRUZSczh6RlFJUDBLd1JnVE00L1VYcFg1NUhxZ2MxSWxYWU84dzFicVYz?=
 =?utf-8?B?YmgvdGc2dFFmZ21pQVo3UkxpZC9MMVpXODQ3cXN6cDVTLy8rejFZaWl4ZDdw?=
 =?utf-8?B?V2NvNW9YbGJqSjR4WXNGbkd2V2J0bjRscUFTb09zcGdxQ3N0M21iSFVjM3kw?=
 =?utf-8?B?WWQzWk95ZGNoUURkZjFjQi9pTEIrQVpxN1JUaWtlRmhTWDJZRXZ2QTBNZUg2?=
 =?utf-8?B?S2ZhSGZyZHVUdEZ5M0xjTG9jZ3lRV1U4TmhLSjhwUW91Yk8raHBaeFZ6a0Fv?=
 =?utf-8?B?UDBxelpRUnQ0cGpPNTUyOUNBbXR6aGVtNlRXRDg5SFMwcnB5OHRacHNnKzRt?=
 =?utf-8?B?aGFFcUZoT3IxQnM1NnFXNUZxaGhTMU90YWYydnFxYTd3VHMvbytMejVhYXAx?=
 =?utf-8?B?SGFhcWVJMHQvYUx3ZHNNazNqSWtONWh6YzMxZ2s1cWpoVE1KRGhVUEtVRDdN?=
 =?utf-8?B?dFJjM0RTWmsvN203UUdaeENhWUxHVWE3T1BpSUwwTCtmMWxaay8wL1VOWVkw?=
 =?utf-8?B?QjQ5SDFmNUNoMFZQbGtMQ3B3c09KYXVLRmYwdmNmeWJPaVVldGhLSytodFpU?=
 =?utf-8?B?L0RrZVNLWG5HeHg2VUZuM1NwR1dIWlJicGFYdmV2TU1pYzR4a2Z1cnBOZ3dr?=
 =?utf-8?B?cFp6RkFVZXhIamtWNzhKc00zbnZ2QWxKc2d0Uk5aMDBmSmtWTTY0dFNuWkZZ?=
 =?utf-8?B?bWxYYmIwVTZXbFkzVUt3cUJjSitJSGpQemNFc0x5bFZVRXdCUUk0em42dE5o?=
 =?utf-8?B?RVFUR3BlazdESGdDOXVjWFk2YkRjd0wzYUJaUklZRzl5aXJhQkZOSFROamF1?=
 =?utf-8?B?M01SUGk4ZllmNUlYUnh4LzNhYzYxeHJpUWN1a1pSUDZDdXdZdnpoM1hjWDVS?=
 =?utf-8?B?Tk4zWGpCc2VLbVFrMHNML2hRZXE1UFhJU3ZuWU9sOG5Xbi9MS1lrMTZpckNk?=
 =?utf-8?B?ZXQ4NCtBVndwNWF5YmJORVF6STlZU2lRS3lYd213djFNRE11L3BhUXBlK0Nn?=
 =?utf-8?B?Rk5vSDhOVFJlcWZCSVZBQXdjQjBsdVE5U2NZMmFQK0VZRDdRcHlLSXltMTlx?=
 =?utf-8?B?OU5LRUVCTUtmaEx6UGY2ZXZBQ092Nm5tSmVyb0tpcmxsSnI4b3Z5d1BzMTMr?=
 =?utf-8?B?b3VxVGhadmpZT0V4MlQ4NHlxL3dKd3dwZXVKKzI0SU85bVpObFNXMFk4UURZ?=
 =?utf-8?B?OHhSN3piM1QvS0tzU3NWcDNacE5CR2s5dG9iNGh1eEcrN2ZvYzJEb29pK2lM?=
 =?utf-8?B?M3pBckJCQnd5QTAwTEw3RUpKalNhNTNBV05uS1JaMHhJTU8yZzkrc21GWnhz?=
 =?utf-8?B?THJscVRlZE5xRmE4TTRmQjYvZnQrUEZxQjNlckI0RnIrMzNxSitMMzJ0N1g4?=
 =?utf-8?Q?YxjADkm1MDPEEYHAhMF2rJr1v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64e18346-d6ae-4789-9492-08dba95d58b9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:30:59.0346
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sRS7CUndxTcR7u8Ot3ZJN3fOraZu/GwHgbWauDVRmFLpf7gICctSCJk47YrQeGbhvCwSxGdVMCvaqWtGes/XTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7833

On 24.08.2023 17:26, Jinoh Kang wrote:
> From: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> All #DB exceptions result in an update of %dr6, but this isn't captured in
> Xen's handling.
> 
> PV guests generally work by modifying %dr6 before raising #DB, whereas HVM
> guests do nothing and have a single-step special case in the lowest levels of
> {vmx,svm}_inject_event().  All of this is buggy, but in particular, task
> switches with the trace flag never end up signalling BT in %dr6.
> 
> To begin resolving this issue, add a new pending_dbg field to x86_event
> (unioned with cr2 to avoid taking any extra space), and introduce
> {pv,hvm}_inject_debug_exn() helpers to replace the current callers using
> {pv,hvm}_inject_hw_exception().
> 
> A key property is that pending_dbg is taken with positive polarity to deal
> with RTM sensibly.  Most callers pass in a constant, but callers passing in a
> hardware %dr6 value need to xor the value with X86_DR6_DEFAULT to flip the
> polarity of RTM and reserved fields.
> 
> For PV guests, move the ad-hoc updating of %dr6 into pv_inject_event().  This
> in principle breaks the handing of RTM in do_debug(), but PV guests can't
> actually enable MSR_DEBUGCTL.RTM yet, so this doesn't matter in practice.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> [ jinoh: Rebase onto staging, forward declare struct vcpu ]
> Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
> ---
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Wei Liu <wl@xen.org>
> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
> CC: Jun Nakajima <jun.nakajima@intel.com>
> CC: Kevin Tian <kevin.tian@intel.com>
> CC: Tim Deegan <tim@xen.org>
> CC: Tamas K Lengyel <tamas@tklengyel.com>
> CC: Alexandru Isaila <aisaila@bitdefender.com>
> CC: Petre Pircalabu <ppircalabu@bitdefender.com>
> 
> v1 -> v2: [S-o-b fixes. More details below.]
> 
> - Update DR6 for gdbsx when trapped in PV guest kernel mode

I take it that this refers to ...

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1989,17 +1989,17 @@ void do_debug(struct cpu_user_regs *regs)
>          return;
>      }
>  
> -    /* Save debug status register where guest OS can peek at it */
> -    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
> -    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
> -
>      if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
>      {
> +        /* Save debug status register where gdbsx can peek at it */
> +        v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
> +        v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
> +
>          domain_pause_for_debugger();
>          return;
>      }

... this code movement. I'm afraid this should have resulted in you
dropping the earlier R-b, and I'm further afraid I'm not convinced 
this is correct, despite seeing why you would want to do this. The
issue is that this way you also alter guest-visible state, when the
intention is that such now happen via ...

> -    pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
> +    pv_inject_debug_exn(dr6 ^ X86_DR6_DEFAULT);
>  }

... this call alone. I fear I can't currently see how to get both
aspects right, other than by breaking up 

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592933.925782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLPy-0004ue-44; Wed, 30 Aug 2023 13:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592933.925782; Wed, 30 Aug 2023 13:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLPy-0004uX-1G; Wed, 30 Aug 2023 13:39:34 +0000
Received: by outflank-mailman (input) for mailman id 592933;
 Wed, 30 Aug 2023 13:39:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLPw-0004uR-TS
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:39:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6168ae7-473a-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:39:32 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7616.eurprd04.prod.outlook.com (2603:10a6:102:e7::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 13:39:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:39:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6168ae7-473a-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WBoFZQLMeX9YNHBF9QS8k+qdMSzvU1wYl8lk5hq6g7vKiTYz+prQyIoL+2dAJFTRW09imi+y/sw/DAG3v5poc1jKIBWauWTstJw9aeUootAiZahEE25jFg/X+8rcEEePTQ5G1arp90/jcsPdhu3HrU6DuXDqLyq+IhvrPmrFdA5UK4TdOGx1gVsqI8O69SMTYD0GeahxM6Le5y6QR5rkuaK6Ux/pykf48+OydIE5s6Af3ypjShCG5GTtvfy0tm2YE0lFTGauANvuBYP7h3/TePc+OY/B1FkKUACtNaACql4/tlaj2VUDjVrzqys3z9/KQAzWgwPXBIHPTvBWtX9Vug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UxmbDvjP2IqKzShEYTaU6xJ4vnqR7msYrcR7iePKWlE=;
 b=HF6P/+KdZ6JMb6JePlFZwFWkpUb66BoNiKMOxDVuTVIlBTYq8toPO7rahW3MY7KDPqAgvsnVrOXm1ycBu9PzwWKfjMrs4mDGQo/RVp+2ZNhhiByLo0lFSJOV2gAVr0dxFYy4o6c7bpBrX0mKjZwvM/hPHELgwCsWC0SgQFmCUsDReT8mBvFsBv6DZHVi21aEOVgcrMneB8BQ0/+r+9EpzId1ZjxFElwOz+eU1CL7NdmK3AaqH1RGlkeRtKlkPKY+Rt9JADLvDuHUt3RXj9jsNLz5h7RvUrXMk1GUyrSHmumZpt9I2ebu8WFZo8T91ByTgo1LK2VBPjPf2R0QbUJb3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UxmbDvjP2IqKzShEYTaU6xJ4vnqR7msYrcR7iePKWlE=;
 b=mYj4Al+B7fe3SXjTRPsJOlFnYSwrHeqz90Wz+wA8z4DUpJy94jAaDlHwtcpSMphxom/81dqVp9ahrXlas9ZnrmUryHbrD20kRYRdYQq24nTSgeK5jIiw4qthOurjUp7xVnDAZ3K5+1UZyeQsnibTmyFSvSfZ1i3AbilEUJr//0aOUwMWWYvv2zNyy9O5En8nmqSlY5MGH7lvqB23v3/5oVw8j414pzHdKROjZtcUNn7XeLX3wqyZ6b6mek3qpi5yWMXyg2PanLxqK2SpBwMIDP3jkJW0na1KwRyxw91rOZnq+oVxTyLqNC7BJviuyEwwjPplNI6+XHBIROqWYGQ3sg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <badc045a-c16b-659e-ab3a-37830d1cb3d4@suse.com>
Date: Wed, 30 Aug 2023 15:39:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Content-Language: en-US
To: Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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>, Tim Deegan <tim@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7616:EE_
X-MS-Office365-Filtering-Correlation-Id: 406af62c-7a1e-4698-8230-08dba95e88e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iHrR08EbCPKfo4kcXRE01pPQ/f3tAv/wp4cctdGsx5ij0v91E9Y28ekrWfreBKcW/rZeawbnpFBaGX0rWuJLhotnAsu0tpXu5DMpchQ3ipj9ZTeoOTaexl1/tlkldLHowfUnAC5uy8ANaNGqUOxCgFKBoPICsOaV2sK1sMk10OroKpD+ZxYyUK75L2xsyfntMC0veeGswBa284X/1MVX4z6qZE634WjYT1E9OoYhWtG+oq6bK9AWkXssouTqlnVS5K76VJIiUTG0HL1pAim+HNp7+W2Expt4nNshc7n653F5RxwAP0UNfl4Ozj8NqILetQrHg90WcPQw5626dJMwi6qseF9XQkyk7vwubjOfj9ARY7Xr1X7cWL4EelezpKCgCJcRTdNxMmcHKaQD2B01uleNMO/tg/OLEJX3RUM0ooHTsE1lZ/FRMFEWcCpJoxLucE3KvsvAKWM/nhkgw3hpb0JIZVO8skwqNrHhiAiPqWL0g/T9ot2meDQr4HJY3OntWDcmnGWsGQHZ3iNq7TtqsLE5+CloG9rKpHWC+VbPwTlwft4GaqA/uZjmsuk2b3WncuQDg1hBD33CJVjjpG9tcm62Mhubyfur1B3MfFk5wahy4caDBXRZbtgEI03ssKejO5s0TA1N3FqIONNhyp+OlQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(396003)(376002)(136003)(39860400002)(1800799009)(451199024)(186009)(36756003)(31686004)(110136005)(83380400001)(26005)(86362001)(31696002)(7416002)(41300700001)(5660300002)(53546011)(4326008)(8936002)(8676002)(6666004)(6486002)(6506007)(2616005)(6512007)(478600001)(2906002)(38100700002)(54906003)(66946007)(66476007)(66556008)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnUyNWlOMXFycmhJVHVITURTa2NYTHBJWmprNklUNUhuSWhqUHY5a2U1QnFh?=
 =?utf-8?B?Y001cVJVS3prb1BnMkVVT3NILzNZVGJlWGJBNk54bkpkQWRvak1ic2N2NDlQ?=
 =?utf-8?B?cXBXYzdJN0x1VGt0c2tqQXZwT0MzOVc1c3JiWEN5dkorM2hudnFsTW8wdFVr?=
 =?utf-8?B?SkswT3BRSkNubGMvMUZQZUcyNmhyMm91RHA5aE9HKy9Uc3ZJL3dJNFVuYlVq?=
 =?utf-8?B?UDBpMUx5Rlg3dXNhRWlkSGJOVCtDd1cvamdTNVhoOWRIZ2RWTDV5UW8vTWc4?=
 =?utf-8?B?alNZT1pEWWZpTGNScTROY2V6TnlIcWVJTGdNOENPcWRYOE1UTzBaeDNHRTdJ?=
 =?utf-8?B?QjJWQTFNaERPbDNKOFNyOWlrbk94elNrdXM2WTF5RldDSFZSekFNTG9TSGxO?=
 =?utf-8?B?Y0Z2N2Y2RENDNURIbTljRjJCbFoxK0FwKzljTkVnemdPMmdJVGI1SEYrUHph?=
 =?utf-8?B?bW82S1RlWEUzTmt2ZUVzeFJsU1R4VjBiYk92NGhaYjlTZitUV2d6dkd3Slk1?=
 =?utf-8?B?amozVWswcTROSWQzMmE2QW5keGdUcy95Z2F1Y2daQmJBMGthVCtrRGkreE11?=
 =?utf-8?B?RHFNdlMrTTU0VFczUUN4OTl6dVhvVk5TUVA0aGVYTWthTUhJdjI1MUI1Z1Nx?=
 =?utf-8?B?YWg3SzV4am5TM0FyWFdYNCtOZmU4dGhmWGdRYkpYZ1VPL3RMK3F0TlE1bU15?=
 =?utf-8?B?TUEzNnRJcU5xbjdMbHVxamJOUHh2blhvMVp6SWJUMkRHZWRjZXpVZ2VTbWNF?=
 =?utf-8?B?cFdtc1lRTUNGZWQyM3lwam95RjFMbEpZT25jRHNXdUp6UUhQWjFaZENQUVZW?=
 =?utf-8?B?bjhUUDZISkFzWFlwN0dIb1pObHpkZGV0akJZMW4xRFpBa0tOOWszQ3dhL1NB?=
 =?utf-8?B?Q0xXeS9LRS9vcldCQXEyNWMrdWZYWEN4dWRZYjRmMmlMdVd0eDN2QWNxRVNo?=
 =?utf-8?B?eXBSMnlZWnZPVGJadHpkSTNrRy9TOTlFRHIyVEN6cFZ0YTRobzVkU2RmT0Ro?=
 =?utf-8?B?WEhqLzZKOFBNQk9IWnc1YXNZZzJvVEplakVyWmQ4emphdUZPVlkvNDAycjBS?=
 =?utf-8?B?TGhObWpMMDhHbVY0U1pRU2RYWjUrWTc2MHFDNlZXaUl4blFXbW53bzB2YVQ0?=
 =?utf-8?B?clQweVl3OTFwZWptQkZBQzRocFhVZzRjOTVFNFd4WC9zbWFaMUhTaW9Nanhw?=
 =?utf-8?B?Y3I3K0JESDZqVnY4emNHdW9qMjg2VXlpVlRSYU95cHUveTFpaGFNRDlZV3pT?=
 =?utf-8?B?Nkc0dkd1Rm02Q21vRTF6L2ljVWY0N2N5bERDMzJ3OVJDeDM2cDZBejFOM3Zx?=
 =?utf-8?B?TnBVZmRhd3o0aHpxUUN4b0kycWZPM0pIOENSMTFxNzJyWGNySFFpSXJJc2xY?=
 =?utf-8?B?UHdpbVZzS1A2d0g3SzRSVTN5MmUxNnBRcGJIVGJIYXhCckZGWm5NSFdKc2ZF?=
 =?utf-8?B?SmsyZ2tyWEdnanIwM2RKK21kWFJjVlBXcVlzYUFTTjQrSkoyQ242ZCtwcmxo?=
 =?utf-8?B?c2M3RkdHWTVlMGwvSHF6VS9rd3lWNzBma0pGRWtyVGU0MVFwVWM3b1ZEZDF2?=
 =?utf-8?B?ODZPdWpPRTZoUGsxczZ0cHVlT2pCODd2eWszM2g0Z3Z4c2RtOVBEUlFjMzNu?=
 =?utf-8?B?Z3ZueTZhMTV4V2lkUEoycnVMQ2lxdVhEK0JDZWVRT0NOL1FMbVhyNExweXhs?=
 =?utf-8?B?RlFXbDdrKzg5SmEzKzZDM3RPRFByZWVBSHRDSVp1c2lSSEpkcHlFcTRjdlRy?=
 =?utf-8?B?MmFZeVk3Y0JRTmovSXpXeHhRWTJPMGlTZTR1QUdQYXg1Vm9kMHdvVzFQc0pW?=
 =?utf-8?B?cVRZWUFtczV2dzc4TUN3S0MxTHVXUzZOakRQUlFicGZ4bXdVcmF1aUdxU1V5?=
 =?utf-8?B?L082VXU4YlpyWmZBTHIyVjl3aVo5NDhHdHRzdk9vS001SVZNbVlRVEMzNk9W?=
 =?utf-8?B?UlMraG13a1JpRWR3S1VmQm9MN1FxYkFobTBsa2tZZk1hcnRUeUFpeTdWTzFH?=
 =?utf-8?B?L3ZZOVdRNkZiaXhBWm1YLzVjNWJzN1dXcit1bkY5UVBNLytuTXRrTmJUZjZ5?=
 =?utf-8?B?Q2VZS0pOaHVLRmFMSGloYlZBOXUyT0R6YW8zYUNaQ2pYVmxkTkprRFZ1RGFp?=
 =?utf-8?Q?wXXk6TvSyiQfMVu8ljKZWzQSf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 406af62c-7a1e-4698-8230-08dba95e88e0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:39:29.2894
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: arVPUYUHB1o0QtR2ibjeEkA3tQGSOwer5fDrk15W0S9GNJDjemECjM6P+uPXrkQ9cOtcZgWTflzD5KoPwuc0YA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7616

On 24.08.2023 17:26, Jinoh Kang wrote:
> @@ -62,9 +63,16 @@ void pv_inject_event(const struct x86_event *event)
>              error_code |= PFEC_user_mode;
>  
>          trace_pv_page_fault(event->cr2, error_code);
> -    }
> -    else
> +        break;
> +
> +    case X86_EXC_DB:
> +        curr->arch.dr6 |= event->pending_dbg;
> +        /* Fallthrough */

I guess I have another question here, perhaps more to Andrew: How come
this is just an OR? Not only with some of the bits having inverted sense
and earlier logic being ...

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1989,17 +1989,17 @@ void do_debug(struct cpu_user_regs *regs)
>          return;
>      }
>  
> -    /* Save debug status register where guest OS can peek at it */
> -    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
> -    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);

... an OR and an AND, but also with ...

> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -78,7 +78,10 @@ struct x86_event {
>      uint8_t       type;         /* X86_EVENTTYPE_* */
>      uint8_t       insn_len;     /* Instruction length */
>      int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
> -    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
> +    union {
> +        unsigned long cr2;         /* #PF */
> +        unsigned long pending_dbg; /* #DB (new DR6 bits, positive polarity) */

... the comment here saying "positive polarity", which I understand
to mean that inverted bits need inverting by the consumer of this
field. If this is solely because none of the inverted bits are
supported for PV, then I guess this wants a comment at the use site
(not the least because it would need adjusting as soon as one such
would become supported).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592939.925792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLSK-0006Xa-GX; Wed, 30 Aug 2023 13:42:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592939.925792; Wed, 30 Aug 2023 13:42: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 1qbLSK-0006XT-Dh; Wed, 30 Aug 2023 13:42:00 +0000
Received: by outflank-mailman (input) for mailman id 592939;
 Wed, 30 Aug 2023 13:41: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLSJ-0006XN-MF
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:41:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd9f74d5-473a-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:41:58 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8120.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 13:41:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:41:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd9f74d5-473a-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OYPyBK9+r3WPsx9WpyIe6eG4Ifs9FYVe9/TiA3U3us0M3FbXLMJMcejWRBIpuGoS6w3ufr297tK3Fi4RSn+6j9ExmdE0q6JRIG8tlWbGJh1pyC1Qk5cCQevEWndC2i6Ua0sYQB18kX+rqIAlqIL6vMDbmvaugQfki3v8qhTMFIXls5xfnm8j35dOF6podiZ+YUfA61LqIGtCGVQa7sKrKin6N8RDyljY75SwV6EqwlXNQAQUqt1tYpURbBqWhkQanF1Eupn5dFu0iMVeAI4NRfVNTQMdIwbyq8dvwyei7KC8mDgFqo4erd8DvcIC/yluUz+j2a5QN63En+1NmbzBiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x1bPQjcdTP9iQm25N43hO2+wK86V3V0MB9f2ZTY5AGQ=;
 b=Xo170HTD5yavZubxmYlqjEaZTIeaJS5CBPC+7MSOr8AWFBsOrJXM8kUCsI0BxxKfMhJg1hi6hsusY+0RckhLKMP3FhJdngj8dCoViRkySHQEbI1d2NAR8EO7HtIq0peSMjkFKwUxQ90cnb7F8ARAM86OOz2KYp8gKbGn1WJnjz/V+jUtTN6RVtZ7DnB2lXLGGOS8KddqaSKWjc1b9ndCUZ9tkjsx2leuTinUefszakt/oaLMs8sz5/WC6XAZA3j0g0dzElU9DP2QOfCjiVPQJh8zh4jR3bAQv/fjNnuDtgMMH+mUT2JsPYT6toBmYqnSwQcjKytMP/b6fNwBaWT9Aw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x1bPQjcdTP9iQm25N43hO2+wK86V3V0MB9f2ZTY5AGQ=;
 b=m67H13R+e6VeAu/UkfpDP2I6+NwyPNCLrZW4o5Lab/4gD2Z2/gRu+mT6gvrcZordNZfXcjzaJFPMq/qcMP/TirbwElzGJj44fXlkbzsU7AZOILWxFIDKmmXHHew0JMjSLFp1M+0qwm76T9F7bFGWqjbOZcEj0cb0iheaSGPy99fY/jFcM2l1awipt9Jmle5Ssn4oD+DxMa9yxomJ19S3ovFGaBclXrqqqcNcq3xxM67SC3qJDx0hgTtiSvvWQU4sc70l2/erp2u7CSkYlm7dtILlvjuIIcnAMcJGFgIYVzT4XHBGuikqEKkXsNuch6QtlNi27scTjGHZNDv0Iyp1pw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5d19675c-993d-974c-425d-bd16d3e85905@suse.com>
Date: Wed, 30 Aug 2023 15:41:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 2/8] x86/hvm: Only populate info->cr2 for #PF in
 hvm_get_pending_event()
Content-Language: en-US
To: Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <c668f355-0a31-0ffb-a7c2-4fee46705a3e@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c668f355-0a31-0ffb-a7c2-4fee46705a3e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8120:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fe043e1-44ce-4cc6-71e6-08dba95ee0d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UTEyuyqpfr0NnfW+PRsp+Dlc3G8I749mDIdJG5U16MYGmbCLMc+ku1AmVWzr+lFMTFjmm3RaNEENjKp3XGhti2MBUFmR9EflxndZtrOcbDvwSCUR38NPk/l1KdGs1+JExbbSsOG5pQZa+23nNTkt8mnu000DldPFzHAOQk5pX42uAeXnl/AleBiEASemjiTb7mAtTnwux7HcExviaQyjLZuKhbFOOqU/SyF+X6/jO9uwREgQET7OaG5YuFJrR4M8/Tj4K0GcKnB1WtsRaIk7y/DFqsRdZ/cHNb5pHw2xoDYa1AECkFvmyCuNOQP6d6Jv2ourO22UJu0kbcZofMrnR6FVK6ACq9dqUJjH07HV9iKoU8d4L5iRG6sozWyiehKYeVp2ibt2QNYbIznkBYqTuNi9qgV5JNWv2/2Fz7FgihmjQogsR1Voh6qMtWx4DJ0p+onaBPEfk1HzUO9W8xsQ//FeDObFaz7bkaJwxn4LlarrX6tnq4+xHj1bkmfgryDNKPnQaPrXakY9J1bUISGz57UIVyF1e7dlnCp2FZ7f6Hv9/Cv0Es/Kelt7mUh7nGROB65EL4HHTPaHnqEabzC/ggI4N1ju1sUroezIgFxgdcFHlxsrej3hD+sUsmUzAbLTRD1cROzHh/OicTrwDjEi1w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(376002)(366004)(396003)(451199024)(1800799009)(186009)(6486002)(6512007)(6506007)(53546011)(478600001)(2906002)(26005)(4744005)(6916009)(41300700001)(66476007)(66946007)(66556008)(54906003)(316002)(8676002)(8936002)(5660300002)(4326008)(36756003)(2616005)(31696002)(38100700002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0dRYmFFb0JZTWpoTVR3T1g4ejRpTjE0WHdTTkloNE5iVllzQnJmVndWUlJJ?=
 =?utf-8?B?bUFwa2dUcUg0RHlheDNZWTMrOTBzZWhlaFVqU1Z3RXJrcmdhOXZwUUJpcmhv?=
 =?utf-8?B?R0xhV3RKQkxGYWNKWlZlRWgzVitPQlV4ZWlGQUNCYmVSa00ycGVtc05CbzNs?=
 =?utf-8?B?UWlvaThDcXpXd0dwdGFaTHhidVgwM0JHbURHdGNQMmdmU3puRVZnd2RyeUF5?=
 =?utf-8?B?bXJVUVRuU2lHcFlnMC9IdzJPUlNLR3ZTbW1Oei8ydDUrbzhIQkNJM0orTG9K?=
 =?utf-8?B?elIrODNCTDhpeWQrNGExekVyaDZaNEJzT2t6SmUzSWpELytES2ZWNUJJbUIr?=
 =?utf-8?B?RnpmNVpEL2hUYi9JM0tvamsyT0xiOUdYM204TFJTRmliSlduMWdqRGtWeURW?=
 =?utf-8?B?emVJeUtWemsydlEwNVlJcjhyRUdVVmlHeFZmWUFPMlpZTE5SbFpXRVRLTnNn?=
 =?utf-8?B?MG5PY1htT2FQdDFXU0JLeDhSNlVDYW1GKzloUkNyRktiUGQzOWRzYWRqU0Jz?=
 =?utf-8?B?eER6VUZtTFB0WTZnRThpeGRjS3NIQlc5K0ZBaXdUVnJJdUFTWEI1TDdFNDVa?=
 =?utf-8?B?bm5WV3ZBTXJsN2labWhxb1E0OXFUOG5KZkQ5WVVqbHNic1l2amNmdEhoUEJj?=
 =?utf-8?B?RnpKV0h5NWpWaGdPUGFGaENjMVdmU2pBcisxMURxODI1LzNWakh5bGx0MlRJ?=
 =?utf-8?B?ZGR5RWI4RktYL2JWTFhtVjhPbmJuWmd5YS9ydE82bGR5WVJCTytKazZ4ZzQv?=
 =?utf-8?B?NXFPN0RrZ3pFWVJsMmRBT2ZJK01Zbmxhby9rSmFNa1NNL1VIVmVwdURLZ21E?=
 =?utf-8?B?QjkyM1gvZHdCd0N4WTVPSFhiUTVpYkI1c1ZoMFRqai9qWlRlZ1FLZHlwNDlx?=
 =?utf-8?B?WTV2S012UTBVd0ExT1psT3ZQTVlhVUV6bU5UdjAzc1ZpcnhuUmNnWHcvYUFX?=
 =?utf-8?B?aWExMHFjSDhsUDdQK0RmMVo3bkRkMWVCWFFnNkl2dWw0VFZpZDFKbzZrZUZZ?=
 =?utf-8?B?eEJjei9jSm5wZmhBTFBYMGNUTytHYmdmR2dhYis5UWVkb3lIYTlsNHNUejNH?=
 =?utf-8?B?WnlZRExWY1ZEZUlSM2JUMWhVajBYbmw3M2l1YWkwSWR0YnkvbkJhMzEzb05v?=
 =?utf-8?B?ZjN4TXJxVmZWRSsydXUvSExsN2s2UkpHYkhwcWF5UzAxN2lRU2orblhldHVG?=
 =?utf-8?B?b0JMSmhIZjFPd2pEUTY3YVM0d3VUQ3Y3L0RyZERuQ2xyS2NiSUdaVWRVT25L?=
 =?utf-8?B?U2JDUlk3WnVyM3NiMFB6ZG5Ya0crTkFNMnR2VDJ5OW9GcU8vV21xNHhNRlJm?=
 =?utf-8?B?LzVlZlVsdElLNVdvNjJhMkxlM1pib3RBWmNSd21lZklCQk95WXNzTmdUeitC?=
 =?utf-8?B?dmJvMWQ2bW0yZkhYYWNBSU1EbTY0WTNwMzhYc3E1clNIZExrc1kyUW0zZkEy?=
 =?utf-8?B?cHpPb0dXOFM1U01JZklKTGZQakxWRTJnZEQ3UFdTWjZYbTFjbnI2b1lURTNu?=
 =?utf-8?B?b3BjWVYvcHRIaUZ2M3JaM3NiY1YwYmFuY2lKUDlLS2FvcnljZ090WGZVRlNR?=
 =?utf-8?B?Yk42WjFQSk91MStWQXBvRlZIVzllUGZEQ1JjV05WYnRvakFacE1pV3kyOHhk?=
 =?utf-8?B?V0RxaVhnSzBYcnczbG0ydm0wMU5zM2ZxUzR3K3ZXZy8xd01ISzk0QStsajNV?=
 =?utf-8?B?MXMzb0ZoeDJIenFvMHFQNkQ2eEZ0OEhGNEw0RWw1OTdVeXdIYS80cUxjNGta?=
 =?utf-8?B?cExCc3FUZGh3b0ZKenc2MlBFb0gvMWxsdjJRRFNjR3E3dHZ0VFBSTXRvSG9Z?=
 =?utf-8?B?YmNQVHh0Tm5vN1N5R2hsNWRHV1AySDBmVFA2S1A0M2tFdFRaMkl6cnJvVjNt?=
 =?utf-8?B?c3M3amRyNVQ5dEh1ZmZqeUZIYk9Qb0Y5V210KzFHY2lHR3JEMjRjQlRSNWpD?=
 =?utf-8?B?VkVIMGNHaVA5L2FHdWo0UWJrM0lndC9hYjRiUzYwRlg1cFExWXRhRXhDM2Jm?=
 =?utf-8?B?aHFsaDFHL29DN0ZzY0FUUUpjWGtrbXJzY09uWHVXZHFBaVlLQTJaTXBzKzM1?=
 =?utf-8?B?UHJpOUkzcm9kR0hCcFlabVdrN2lmekhrMy9iZitNWkU0LzdIVW9hY0o1bWZ6?=
 =?utf-8?Q?83i9ZkSg5HO7Nnvdr3ML0+msx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fe043e1-44ce-4cc6-71e6-08dba95ee0d5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:41:56.8546
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o6h0zOGGqGejZpcCf0FTC2vnpZR7XfGXacW260bfk4bBNJ3fpFp/pJw5E74LsyBCKeeoH5JefJyysS7fq/XGEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8120

On 24.08.2023 17:25, Jinoh Kang wrote:
> Prepare for an upcoming patch that overloads the 'cr2' field for #DB.

Seeing the subsequent change and the fact that earlier on Andrew didn't
need such an adjustment, I'm afraid I can't see the need for this change,
and the one sentence above also doesn't answer the "Why?", but only the
"What?"

Jan

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -503,9 +503,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
>  
>  static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
>  {
> -    info->cr2 = v->arch.hvm.guest_cr[2];
> +    if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
> +        return false;
> +
> +    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
> +         info->vector == X86_EXC_PF )
> +        info->cr2 = v->arch.hvm.guest_cr[2];
>  
> -    return alternative_call(hvm_funcs.get_pending_event, v, info);
> +    return true;
>  }
>  
>  void hvm_do_resume(struct vcpu *v)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:49:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592947.925802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLZ4-0007CQ-6f; Wed, 30 Aug 2023 13:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592947.925802; Wed, 30 Aug 2023 13:48:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLZ4-0007CJ-3i; Wed, 30 Aug 2023 13:48:58 +0000
Received: by outflank-mailman (input) for mailman id 592947;
 Wed, 30 Aug 2023 13:48: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLZ3-0007CD-8c
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:48:57 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f60a5e51-473b-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:48:55 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7948.eurprd04.prod.outlook.com (2603:10a6:10:1e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 13:48:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:48:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f60a5e51-473b-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S+sb1xYY2+Dk4WK5fVO/z4HsWinhbgWy3NkjXvf95J4+AWYb6bYfsyYG1pw6nQntL8ljOceq/CiIKwd8IYI8LNhQ2cd3N5w3Nbg9xwqxDIc0x+SMyEoH1bz05QspU9tiQl6Ncr6DiMvW7+YZ6ZVvhkcmLCG0toAzwGC103+L+jamMvu/aXj2J4jIBO/dY3Lei9db+U8yNm9fj6B7jX+vO0a5HdkKJqxWza5q/s5qdLdQQOaNdGkJdWZJwbCUw6TtqlO1B20yM/oxH2TnmXgjQ7xE7nX3jQbUw28IyIcqkyrpbNG3ZhB05FUqjxAUdchORe9LID9a4OGKXtkJhdR6UQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fKPocFkeYTneXgaiReDsec7s2FuthhJR8Xg/5zUkQ0c=;
 b=bPGHaebOjVU2nyTpH05DPJtRwjsxH4tSTpwgnkH/T+m4Xev5wLnXiCttiaCFMzkV5LaGxFFX5TLN09LH8wPgbHtOYOq4nxLD85KaAvu8THS7MSIRkhT3nyOkE00ZbpP8WjeS2EmMJiDshgCWe1XUwYP9q+VD9p/GQvVRN8py0FqghN8dys+avtAKMBqMdakOaC/jPJkPycGDVrotMOBHGfjujnnBwcg09+OHx9gIPIQqRZgvZQ0PaSDcy655H9FRR1XZkvV4kaweO4nyYc/aruxbXe/757eBRNvyGndHVIfSRYMgy1gOsJthoQ3JRohSIfNQ/Qw7+edGQKbv0MpJvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fKPocFkeYTneXgaiReDsec7s2FuthhJR8Xg/5zUkQ0c=;
 b=re89Dr1xxRcVRYN1xRfl90yCJ3CSV+nwZSkakHk74FNdk2WxCuB9N2LzO4oQO1kbPub7L0lNkqI0uOA5xeeSu+DdMq3e+TN6yelY0zO1v3j2yqZh+H/YiTWyYyiLpUxdSref8fs/E25bxdHx0HUYe/H80rc6uVR3etU+Snwq/l90wFaZQEQKgHZXK3luuM6LR4MSQsvHjeppV206Sila+eMQx9JhhMUuNzDhWzDYrHrQCXOroQl4CGlEGvjAxopv7m451beKB3qSs7mzm3tXQ+zvW130rYoCPLDVeNAXJuJqyNOFsKxUn87c0wZf/bbUwJJgl84Gb9lgzhHY0BSBSw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4d42d360-bd59-5b67-1d50-e0345a25af15@suse.com>
Date: Wed, 30 Aug 2023 15:48:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 2/6] xen/pci: convert pci_find_*cap* to pci_sbdf_t
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7948:EE_
X-MS-Office365-Filtering-Correlation-Id: 69a30146-80d2-4efd-c2e3-08dba95fd948
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	61uK4Yfi6t8truLVeBDPhueeOl7vZ6wL7nHUJKpIRTYW2bGd9aLKd4Z6EoADnWlvE6Y6gQ9O0LfLxhY6z02qoJbKHkW/piTCGJmTnMrskBnq3zzDnVKH0d3QsXuzAifRWseS58M1dVFcWUE0nI575ZkojbCnkNwTlpsbVqAsAN1vGBnEOXVmfvLZC4y4CeFYp+if2/Ipobu5rpQ4ndUGAS7l84f3ZWjBmFqA9gClSK9SxIeH2Tllp/pkVR8PxyJIyl0GbsM6TY/BOSMw75N+FsC7afKD0zgOXPHIm0wa5NR+B25jBq5Y/9btbvNGj1YUznOnDdVQo30tFQkIyCyQdI2WSL0PQ/6KqLJWQ+ZgNQzo+oH5WS2nCN3wMBb/U3nLN5wP4DNxVCXCo4jaqyGcp+9vKsx/xIuYZoOEZ3wjtF+BfQGBuCuMW4XMfzo3wC14L9qbV3eK2LMHPpzEJQeXHpGZ7fkNrA/EdOoEW+f2PoyePoH+CKSDmMS959/k9O6VCKMZph9ILXzMWmrLVbSKHiNoXop4ZY0JrtVI/X603NmfYpfDm1eigm8+/N9I0ItBeQBTNcIdoNrmNRpVPxYWFaqlTRPAt8dOSDzH0SeDGJz+lpZ0pddIzRy20uTpgIKUbhEHx5CX0Zm4vb1ICEBewQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(136003)(396003)(366004)(346002)(186009)(451199024)(1800799009)(66556008)(54906003)(66946007)(66476007)(316002)(6916009)(478600001)(38100700002)(4744005)(2906002)(7416002)(86362001)(31696002)(8936002)(41300700001)(5660300002)(4326008)(8676002)(6512007)(6486002)(6506007)(53546011)(26005)(2616005)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y3NZQitXUG56V2J1UVJoTGh0aXFocmVFdU9ibWtGcE1vQXN1b2JXa0p3U3dO?=
 =?utf-8?B?TStRR2lNWkI3S0RRY3hnZ08xckFvTW5sYXl1V21xWHBGQWpxVmZNSUFpYmJ6?=
 =?utf-8?B?azlQZjF4bzZhVFd5bitseFYzUG1EYmwwR1VUdHdoczZPZG1JdnhUSW4vYUp0?=
 =?utf-8?B?eTZZVkV0dGs5Z29GNUQ2bDNCRllCNWVZWlNWSDZGUFh5VFVHTDZ2RGRXc3Js?=
 =?utf-8?B?WU43UE80WXJQSDNDQUtTdThqU2IwKzAyWTNTNmx1a21lRnNudVFLT0R1dWVw?=
 =?utf-8?B?MGdhZVRacHJzYVdZODhwTXlPc1VkZnlDVFJPQzBuRUR2bWNTd1JKaGVZV0FD?=
 =?utf-8?B?ZkFYY1dQYS9tTFRDUGFMZHU1M29kcjRVVHpxUjNnbHVaTlI2L0NNZkFLY1dl?=
 =?utf-8?B?N1JQV1YzQmIxVmJSb3dyVjdQWndpT1Fwc2VjaWtIZzhmNGRybndnNzhzL2E2?=
 =?utf-8?B?SE00TUFrQ2c0Ums1cWNNNHFrNGs1cmtlREpQUVljRkZ3K0tuNzBOZXYrTEg1?=
 =?utf-8?B?YWlWdEk5Tm5aRCtFaWh1eTVnNW4wZURkc0FCY01RZXRNbGNuOU5lanc5NVJD?=
 =?utf-8?B?TmpKZkxCeWdQcXZLYWppM0NJMHVHbmlXSTZiWG5OMVBrOGM5RjZJQmRCTzBh?=
 =?utf-8?B?VVNCZWo2WDV4RU9seFlGLzhYMndpMFN0VE82NlFPeDF5b3AyU2hobDZWYW5J?=
 =?utf-8?B?NjhyMSs2Y2FUYkRYbWZYU3BDQWNocTJRRmhQenlibFpRMDRpaGhpMkZLT1JF?=
 =?utf-8?B?U0syK0M4VW1HUDBrOTRPV1UwMlE0TGdMYUR0aVNjemJBOVFTbS9xZG1qV05Q?=
 =?utf-8?B?M09KeW13ZFVwbS9vKzJwaW8wNGVGeEpDSjRRZzRuOVl3cGxNVVVjZFNqSk1E?=
 =?utf-8?B?bVMxQUhzcnlBQzRXQjNLY1FjWjcvelNNNnR6TWUvVGJrMnJFSHV0WGdsejJO?=
 =?utf-8?B?TTZqVW9zRm9EK0RlcHFwVCt5YU43b3NsTXhxUHFzNmdwUGlITnA5VmQ0cGFX?=
 =?utf-8?B?SDBNY08vZzdUb2xmei9ZK0dnT01EWSs1V0RlaUFreHFmdFIxRWZCamlwWU5o?=
 =?utf-8?B?emduclJiN21YV3JTNTdCM0Y1OFk2SW42aTZ2RHRzd1ljcys0anFuNSs5Mm5I?=
 =?utf-8?B?VWZwZlBSTmtXeDVOWnJ4ODR1VUpCblBvUlF4bjNxNGxEbnAzaVlWWmxuU1cr?=
 =?utf-8?B?Nmx2NUo5TSs3anFOelk5UGxpd0Fqc1hVRy9VVUluZ25TcTVDWkNzTDlxSDlB?=
 =?utf-8?B?ZXJlV3IxQ0VtSnRsTSt1OStYcWFuOHR5a0JwQk9KSXZmeFhycENWUVN0Ynli?=
 =?utf-8?B?Ti92bkpESDYrc3I1eDYyUTZlZ1BWbmhENTFZaGUyUzA2aHU2VE56TkFOT0Nn?=
 =?utf-8?B?Y0NtMWQ1L0daZGFGbndERmlEdWl3b0pMUWxuQ0tUZnZjVkJITEswS3g5Yldj?=
 =?utf-8?B?VjVMdWpzc0tFb2tJcTdkSVV1Y2lEbHp5RkZDRjIreFFoK2JMUDFjT2djK1pj?=
 =?utf-8?B?Wmt1S0s4SElmS3J0ZGZDTXZzNVZBSkYxUVhDQlR5bkw1ZENyTXNoVGhMQW9n?=
 =?utf-8?B?dm92VXhiNFA3bzRGVW5RTHRncDg0dkxGY3ZPeHhSeGV6YUtyL0ZJZ1lmSHNC?=
 =?utf-8?B?Z2dZNG8xS1JFeHplSE1EM1FSTGRqWWRnWWZYOWNoSXMzaTduUHEydVh3dStv?=
 =?utf-8?B?QmRNT2lKWmxhMDNxR0EzUVRsSFMyWTdIbTY5RkFyd2NYUzAvSmh0dGJpYnFk?=
 =?utf-8?B?ZkdnR3FrM2laR0xTL3R5UTVxNWZZU0k1cFB1eTRNeXBXcjhqTk8zT2FwNC9B?=
 =?utf-8?B?cVZZS1NKUXNKSjB5ZHVrQzdmQ0M1bkppVDBUaXhzMTNKaCtrMHNyUHBnZjUz?=
 =?utf-8?B?anlkdWNOWFlsME91SUVOVE8wYndoM2U0bWxuVGxMQmwyM0dCRy9QdEtpQkEv?=
 =?utf-8?B?am1aSnRjakxhQldFZTJzbXlENitXVkR2eXZ3UGp0RVFWcGlMR0pQR0ZSV1lL?=
 =?utf-8?B?K2hUZnd3QkdSRk1HdEU1UTFKK3o5WW1SUTRnVEk5Q2JnRVVyeklXWGxuRXFK?=
 =?utf-8?B?N3hmWFI2SCsvRm1vMHhrb04rL0VMTEZ4d2ROdGtaUnUwcEs4cVFmRk5ETUQ2?=
 =?utf-8?Q?6JdNfVvL3NVjs8s6pMvHtSGBn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69a30146-80d2-4efd-c2e3-08dba95fd948
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:48:53.7200
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kC//XdpPYI4Th1Rsoh+fETcRjVdP7AiK/nnePpOPn05ULCLUW2Ao0FHgp1A7mwVVKLspGEhZk7UlaDyCUDVTDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7948

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> Convert pci_find_*cap* functions and call sites to pci_sbdf_t, and remove some
> now unused local variables. Also change to more appropriate types on lines that
> are already being modified as a result of the pci_sbdf_t conversion.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592948.925812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLZM-0007Z7-HF; Wed, 30 Aug 2023 13:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592948.925812; Wed, 30 Aug 2023 13: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 1qbLZM-0007Z0-EJ; Wed, 30 Aug 2023 13:49:16 +0000
Received: by outflank-mailman (input) for mailman id 592948;
 Wed, 30 Aug 2023 13:49:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbLZK-0007CD-Ah
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:49:14 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 000072f2-473c-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:49:13 +0200 (CEST)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 09:49:04 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by SA3PR03MB7466.namprd03.prod.outlook.com (2603:10b6:806:396::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 13:49:02 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2%5]) with mapi id 15.20.6745.020; Wed, 30 Aug 2023
 13:49:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 000072f2-473c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693403353;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=lS9kKOqKK0N9SN7YYoaPMuD0/5Jb28uu8zuXueUAjI0=;
  b=KftTnxLsShq6yez380/F0HWhfY1zFEBpLHjsPRh9If476CAtuSjhQM/k
   /9g0PT+C92giXorpz8369UPANHcLoQVkLy2oTFccMFSD11ydyimo1cIOk
   P21xTn5qTWSrce1oK7OpMJ9dIUkf2heAmG74Z3uNPJe7UTUn6Et1gS0w7
   0=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 120393932
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:iOgMfKJOlYRyizLgFE+RX5QlxSXFcZb7ZxGr2PjKsXjdYENShWcFz
 jYbUWuGOKuPN2X9KYh0a46+90wD6pCAyoA1T1BlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrZwP9TlK6q4mhA7gdmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5XJG537
 cM0IgwBd1exg7uZ3qyhDapF05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGMl2Sd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHmjA9NJRebinhJsqFaD6EYBCwVMaQSci6ewun63ae4PE
 lNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4qjV5QGZQGsNSDEHa8YOu8o/RDhs3
 ViM9/v2ARR/vbvTTmiSnp+IpDa7IgAJLmsPYyAVQA9D6N7myKk6jwnGT9JqOKS0ktH4Fzz2z
 z2Q6iM5gt07ldYKza6y+VnNnhqmp4TFQwA44AnaRCSu6QYRTJ6oYcmk5EbW6d5ELZ2FVR+Rs
 X4cgc+c4esSS5aXm0SwrP4lGbio47OJNWPaiFs2RZ05rW3yoDikYJxa5yx4KAFxKMEYdDT1Y
 UjV/wRM+JtUO3jsZqhyC26sN/kXIWHbPYyNfpjpghBmO/CdqCfvEPlSWHOt
IronPort-HdrOrdr: A9a23:tTqjuqO8ps/uxcBcTsCjsMiBIKoaSvp037BL7SFMoHluGPBw+P
 rBoB12726RtN9pYhwdcIm7Scq9qBDnlaKdg7N8AV7KZmCPhILPFvAE0WKI+UyDJ8SRzIFgPJ
 BbAs1D4Y3LZmRHsQ==
X-Talos-CUID: 9a23:RMSgJW9ctOhf1FCYQhSVv24xFfk9TVHX8HvJZH28UEl3VqfSCnbFrQ==
X-Talos-MUID: 9a23:/87pZwqdpg3eYVQHHAgezzpyGu164Lz0NB8qu8sPi/mNBxAgAijI2Q==
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="120393932"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FVEHgUR/2lLpyYJYVkGbh+a+b6nOgysGKCmUKASzT7SdKOBA6QxYnODIPg/YOVHTnaPPemwoA7B9zqkMQ9v2pa+Vp+o3EHIG+IYHHdBUe0+Jsx2gz/bGu4zvoHBrhvykTFAN6NHv0G14tytMzVTc7LqZrTBZ+HbLh7dnVv9ozgP2hylmXrp7bcLIhwAArmUNjxHmdv2JB0wggmtqIE8vtugLJ1xA/8g/OnCjVLYGkIkd/i1hBj9wYVJ+WePpcEs5TgYqPc8yPkaP9zjjYmOdvCAKKjez5Ec/clmCh4zmiVWIA6AuFJLEEUhVCOhdqOEG9op4OpDUI8FjVRiDeR78Gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yZkvpPDYAJc09CEQjtGnfrmOK3SfiysM9KzUYNFS36U=;
 b=NWUGw5HhHpHumppGZEYNL/FHHnXWu9u7mAWp7PJgyEXPdXJG42+pbLGRvZb3NOrb4GCzyl1JDPfekpqwQI6UhJysCqJPcCRODjmvGyDk07azimfLuXDmX8w/t7aV1Ju2QOZv+gsh72Nzge5tSzC4lEtIBAoTjS2Oyds8YjV/X4OSWefVYsdYYZNJVL+g+VszFsSapm2HoqaDFmfifbf8fsL1oquaNnlcovxGWBklUbZmcHAUfdzQ7OReUgDuk91R/RJnAa0pd0YNQNs1JOtROBxDvmOo/00BaZ5daXAeRpbgm2DRyl1GhypcPqintiWNnsmyXKs0tUftUmGpvWscag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yZkvpPDYAJc09CEQjtGnfrmOK3SfiysM9KzUYNFS36U=;
 b=TxsWnxDLMHUuM2AKs4iJUdJ5JqegjBrL0tNESh5vKaVVGrxAfzOx34M7Vww/bGyLkjqHL59Qh8P5+cpHOF5vetaW+Lf7uPOHKK1HzzrsV60KCinDXjiAmWzyKofqBqSEEm6TG8d9RXx+meKYfeJqpy+/VGIgz46PKXEK96wgHyY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7a57d56c-d375-493a-0360-92fd14d4c227@citrix.com>
Date: Wed, 30 Aug 2023 14:48:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 2/8] x86/hvm: Only populate info->cr2 for #PF in
 hvm_get_pending_event()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <c668f355-0a31-0ffb-a7c2-4fee46705a3e@gmail.com>
 <5d19675c-993d-974c-425d-bd16d3e85905@suse.com>
In-Reply-To: <5d19675c-993d-974c-425d-bd16d3e85905@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO6P123CA0038.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2fe::15) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|SA3PR03MB7466:EE_
X-MS-Office365-Filtering-Correlation-Id: 13361532-ff7d-4838-4e55-08dba95fde26
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0tIIRhRNj1nWCFhkiexIZUgIL9KKhqgz7UmI5/oet0w1gQD0HZFD1DXqNBaJXzffMcVxqShfzT19gCY1MRw+Z3cn+PvGKge3Za8nZoKb4yCWwbMjxT8oAsYB8NxzMnf49yA3hFREzJVmYy38Mrjtj1nrgbu5n8zRpFf78KmFiReNoRfP3XmpcxRJ/GuWosDeP6QxVqCzQgrp27/JtHB/P/mow0TI6YTFpsGy2L4Lwof38r2R1poYRhDtDRO1DfWKK4QI8yeiKh5gGyZRbTME+87jm8hOAwEbntqPLcwPfbOAFS50xelOYI6Bb8++lFqV5kts/689Q+BVmytVRcOB4TDYYpuH4iMwqEQG98AOypbBepM66I56mNedYpZPXuFRbNKVs7YldHbvOUluZCfS70k4GR0/2XIWZlsn62WjAFanSvbmJ0LKzByAVwsb5prildrdX0LsmdaZSW7MKJg9DQJnVfyLWdpuZo5NakMAO75g9AraVIyC66nHpBBsKUk05k9ECPk64wVWUp9GDBs8JIkcxoCHQMbbjNttgHV3sFM3rnUc902cY/aLSDyRGUP7emCwblcMR1YKJeicj4NczIYzr3y6Rcb1Nqxsp7N3kLHOZk7ZaphRrhmsXaCnAKTlxet78tYAOQ74gLCVbgj7bA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(136003)(396003)(39860400002)(346002)(1800799009)(451199024)(186009)(31686004)(6486002)(6512007)(6506007)(8936002)(66946007)(36756003)(86362001)(38100700002)(82960400001)(31696002)(2616005)(2906002)(26005)(53546011)(478600001)(83380400001)(6666004)(110136005)(8676002)(4326008)(66556008)(5660300002)(66476007)(41300700001)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RU5yYnlZMUI4WTNQbjJWTENxeFk3MGlsVit6Vkk5eG44eDRyYlFVWmRPbnFs?=
 =?utf-8?B?ekZCVStXSWphNnZ0K0dZRytSSmVBcHNJM2VlQjUzbzlyVzF5eHFpMk8yTlZE?=
 =?utf-8?B?THdsUmlTREJjNHJ2RkxGTnduUHl5Z3NhZWNqTmtnNDhENmNMM2k3eVZqREhB?=
 =?utf-8?B?a1RGOTdlTThSRjdJdWFFYTYyK091aUYrQ3haaHJvMStqL0hKUTNDd1ZLQThX?=
 =?utf-8?B?cW80YmhFTWhNZ3pqV1VQYkZrS1JDSXhoZUF5aCtPWkpjcCtaak81TDl6dEJE?=
 =?utf-8?B?aklpanBjRThGT2RFeU0ySjdnSVJ1VHpleDVyR1Q3K3dXSlEwQ0hGdDdYMVUr?=
 =?utf-8?B?bUsvSkQwa3oxdU4wSmRObW41dUE4c2RUY0lPcU03eS9OcTM4M0V2cXVyR0s1?=
 =?utf-8?B?WGNoNS9VVDl6cUg0MDgxa3dOU2xiZ2lGWXFhM0pBNzdHdlpoTDJpcmFEdkQ3?=
 =?utf-8?B?Rm1rQWxsZjJ0TnIxc2lqY1hPajNhZ3JPbW5Yc2thaE5KeUI3R2Z3TkhvYVlS?=
 =?utf-8?B?aTkyb0NXZFMxNUhjc0VNcm5taVJib1VLc29kKzJFM3EyUm9vaWpwWDE4aUVv?=
 =?utf-8?B?QlJSRVZaQXB4d3R1WGpmYlJrQ1pNQXlMR0huN0RkWkFZYVdTVjBqN3lHdU54?=
 =?utf-8?B?YnJ2RTNQN0NBdytKZUVBUkVqSndUdmxKdGdvd1NOVGc5TVBwZ1hzWE9STUxM?=
 =?utf-8?B?ZE0zQVBKV1p6eDVuWE0vUEwwV1F2akhuVGw4ZHo4V0NjalVoWkNYdEV6cnRI?=
 =?utf-8?B?QUhtRVNabTNTQVVob05mTGd6R2h0cUpLVUN5WGZKUndLdTBLcHVXRmRkTndz?=
 =?utf-8?B?Vk40cTRuUGdacUgxQTdkZUR5UU51NGZDaHBlcmNDQTBnWDVUSTFvakpDTzI0?=
 =?utf-8?B?SXZkWExpNkY4VmNrOVhtcXBKWW9naHZVMEJieXYvR2t5MWNJSDk5eGdiYVBV?=
 =?utf-8?B?UjRobDNPUS9ScFJKUyt1WXIycnJDNkg4R3RiUGpSSmZDVkM4dVdnRzk4R21S?=
 =?utf-8?B?L2JmTEhzeEY3N01VSWNsS1Z5YVBVNDNKY2krV1g1MFRRNVpnYzIyeW5LT1RX?=
 =?utf-8?B?ZFIvRmhsQ1pzZW50cm5vdHVjNWMvTy9icTFFdmlxckJScWpMcnZ0RDRtVzJJ?=
 =?utf-8?B?YU5NeU1LWE1LeFJ3eVlTSzdxRXB6UzRtSW04dXFta1FSN0RlVDVpQ1FLRENx?=
 =?utf-8?B?dHBteDEyQ1loY1huVmpBTWVYU1RtZFNta3VBZkh4b2hPTVp0R0Q4Rm4rT1N3?=
 =?utf-8?B?MDFIVkNkeDdVb3V2TTJ6YnZvYkw2bzlLQnprUmZHc0xXS0JlY0svYjRiTVd5?=
 =?utf-8?B?NmN5WU1TKzBXUDFmbDl2UXpKaUFBWURtbHBzQ0psR3VabVF6YVBXbFBhb0NI?=
 =?utf-8?B?OTc1SnJJemVVemMwTExWVWRETHNiTGNNd01pbTlJQU84TGF6WWRQZzFXME9n?=
 =?utf-8?B?dUIzdnN0UDFLdUFDcnExRVNnWWZVMlVvS0FPck1KR0R6bmQ0YUtXT3o4MnRZ?=
 =?utf-8?B?UXJONGcxK0poZzJIUmQxWkhRcElqM0MvdjR6NFJFNVV4Q0NYZTdyU3I0Rktp?=
 =?utf-8?B?YTVYbTkwOHMwNzNGZmNRMXRRSTJqZC9ObmFKc1NYa2VMOGlITnNMVllPbUs5?=
 =?utf-8?B?WnFTYnI2TUdKcjJ0aTZUME1pcXREV0pLM2ZLTVZFYUhpcjk3OGRWcVZ0RFl3?=
 =?utf-8?B?Q3ZYWm5PbExYVTVYc1VvUzQrMmJHTU9CcFgyRTNQdkRFb3E2QnMwa1Jic2Rr?=
 =?utf-8?B?YkxVRlZWc0dDL0VJcmpqRm8vVmlUdzBZdW4xKy90WHV0elZUWGk4S05nSTUw?=
 =?utf-8?B?VEladzNvK0Q1ejgwbFVjcTYzNE5IRkd0bGlzV3crSFZIc1M1OFVKSHZmSytF?=
 =?utf-8?B?c3c2dkd3L0ZkcFpSV1YvLzMzYmRCc29MZ2tQeC9QeU1WWFkvNjEyQ0RsZFl6?=
 =?utf-8?B?bmV3VFlFSWhzN3ZWeEdHZmNpVDhSa0hTcDRGNlZpVTh6aDhxdU5wZjNEYUZn?=
 =?utf-8?B?K0VHMjVvSktudkllQXZmcGprRENlQVpqWDNMNFVHZVZqaEU3ZCtzNmRYeWtR?=
 =?utf-8?B?TFFneHZMOXZGYkt3dHIyc3ZvRjJOa0htZXp6NTNpem8ya0wySTlqeFVKZWxN?=
 =?utf-8?B?eGdGTGhhMkZEeFJNRjRxaDA4aE9scHVWa2FXSHdDQVVESStZSk5PZnc0RnRS?=
 =?utf-8?B?K2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	pPoati8MP2tLHuRDGzeYIQ7/W6EuthpJ7tF6vnGhhTcn8qnm+GkxJpOmzF7jXkA0W3G+DF+8/Q1yisa47mcxf6Xu0k1WBe/um9gFNlMsmdeRujK9ZFAu2RbZ/J5JDK2KsijSSLOOfxMAr9f6R/VNcCBRqPJfqr3ENzyH8oV+FN0z4nF1kM11b9Gpt0iUcDH+rgxI8jrxccKXUL4WFq3b3grMokKrPz6336zEJuwGl2yAIxfalfrN9AXqXVmfGVQyEZ8GTSMjWKFnCypA+fXjTTCuVPOIqwBvlZA4RHXYbv4FlPbiZiQ6fGVtcCTregsSB3tKa3C/8zXgwneBF4NkgkcetBQDjLYogEj3a38ClEWZIK6Y0J3EXTS56r3aBoSGlRX70Ud+Ms8NOOjugkXj+YXm2b4eVMxi4VFcUoniuqtZi3+GiwgtFkSRowwg3rPv9js2bDnMRV79WAVW6ey1pasL6Z8RiZPse+8EQ0G8rwQrPPy+9uWm1OWbReRo4dSzISJCg9r71Obxx+9v/xlrG9Ra1akT8dBWDht6JKQnWrjCBbAgjbwaDylcz88gesO3njRWWzsQtdmfqTzooVJ9xmNyG2skmVtnNq0RkO6UjrBBZ4h0ZUY0ceq/iXp2J+BoPzZ8ZNQ+UAzRuJhhWqw5pcyEWZnEW43r2dzTZ/O+wSgqWqrJPFBovHopZgJq+vaugq2mRKDL8V4s+5tqh9sc/vgLIXuxUeyY6U/Q8F1mkHf6b3tJAapLs3vD68oQMtkylIuim6S27CVKCqZzI0n6xnhoCUG47keM9AzcWgkaaNhRlse7MITmPO7MAFFXn/Neh5i75pJ6nKggvbVoYEi33B5+247iGaqlpr8CqkOoM39m37KsRtBf9HP1TWJrhxVh2nw5UoAYMjcRB+Gq2ftTkIqp0fQ/FaRj2iYG1ap3ihs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13361532-ff7d-4838-4e55-08dba95fde26
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:49:02.0766
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wav7t/0Rr0Ib3g15WAxfzns5DgiJdV+vtRRleBwTLKTBpdCxMqcMUViHyVU1De+n0y8EoAOnb/HmXnGyegF8eWPQvvqRKmVopJ9vvYG/yUk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7466

On 30/08/2023 2:41 pm, Jan Beulich wrote:
> On 24.08.2023 17:25, Jinoh Kang wrote:
>> Prepare for an upcoming patch that overloads the 'cr2' field for #DB.
> Seeing the subsequent change and the fact that earlier on Andrew didn't
> need such an adjustment, I'm afraid I can't see the need for this change,
> and the one sentence above also doesn't answer the "Why?", but only the
> "What?"

I agree WRT the commit message.

I don't see why, but I also didn't spot this specific bug so I can't
rule out a bug in my original series.

That said, my original series was RFC because of the Monitor breakage
and didn't get much testing.

>
> Jan
>
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -503,9 +503,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
>>  
>>  static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
>>  {
>> -    info->cr2 = v->arch.hvm.guest_cr[2];
>> +    if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
>> +        return false;
>> +
>> +    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
>> +         info->vector == X86_EXC_PF )
>> +        info->cr2 = v->arch.hvm.guest_cr[2];

For the change itself, this needs pushing down into the vmx/svm hooks,
because guest_cr[2] has different liveness between Intel and AMD, and
this callpath needs to work for both scheduled-in and scheduled-out guests.

On AMD, I think you need to pull it straight out of the VMCB, rather
than relying on this being correct for a scheduled-in guest.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:51:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592958.925822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLbE-00015U-TS; Wed, 30 Aug 2023 13:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592958.925822; Wed, 30 Aug 2023 13: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 1qbLbE-00015N-QS; Wed, 30 Aug 2023 13:51:12 +0000
Received: by outflank-mailman (input) for mailman id 592958;
 Wed, 30 Aug 2023 13:51:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLbC-00015D-Nz
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:51:10 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 460aa90e-473c-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:51:10 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7948.eurprd04.prod.outlook.com (2603:10a6:10:1e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 13:51:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 13:51:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 460aa90e-473c-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ipBG2f5Iv7iRyqZ5CmtZcVp7EOD+LH+L/KfnKTI2wlkJcfJjcsILOJazgESeCla3FsXyiwARBi5ML8NY8eJE2/9aUE+9G9hIlnjFrAqjoCNDOhxcL6yuyP/2P9VPB9VbPcvS0vyMWKHkkkXGetiE1+JYHahqkUN6WwOZe7vlxD9C3WzHoEq3w4ebLDxaWcSj3YE0iVmaD02BNK84Z8+M+VNweo7R6UP/V0Yqi4WqChV4kSzNgJzNveUmAarpgY6M75asMbhUmyMhPnmsyRpNa9QLQFkuTaZEgLzwg56/oyLbF6FQPqMRBIfXl/0tQula3DiPIxL2RtJ6xwgIIBrzXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5xIg+g/PWGD9NvvPUJjvuqjyIJtOUpjZ91Jfu4vYyiI=;
 b=ICccNnrKwnrWr7mhyrVHoWFP/nQKQuA/gLgZftr2vFMl3iVtYwYjwCj6RXsnhsW8+MBK7vG4Rnm/ox632Jw6/hncmnrGihCF3h65AC3oU9nnfbvIpjfrPiCGqtkdwtZLZKRNWwFJOjLhWZh9bbUfZo6EHXlVsDNlYLazIok5ymyeBwVTXKaqafzOM/s+7wlomziyg+gRLn9ytgXkiG2vn7vVfxkC285mNAhR/8BEYxE98Xya0J6j2OEZUpRi+T1/gm7hLrVxf5r0wd2jMAxFmJBkAnGa9MDzusUqnD8I+aleS3Q3qttWF+s1ZaJY/ldWTNOeJZvXKHlc8KB5zF0pbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5xIg+g/PWGD9NvvPUJjvuqjyIJtOUpjZ91Jfu4vYyiI=;
 b=UDxfJfN4UkboppJY0pyoPlnDFlfaiTM5x7zCza/At9A4Dl07y01fBslFMfMr/oeo3l9wI8vORqTmFNRBk5V+6Wn/XzE6yxIPuiC88fHfU8cnIysrZuqTEqQydNR271t4XHpGWMhcsEOIPT6QV1c6TouaioJ5xWYJCKw0r5S3vZvgt6i0uO7Jhl/BHypqn7vLHYh52Eag5vNQoX3Uo5ye50sq88iGbmX/wsMib0Pm+gYOF//QPVhL8AKYT297JL7g5giFVKQKSH9eOvkuPhpq/Li5X+6Sl5cu/60ZVhce/EH+oHcG1vyEjfhFiuRkWZnImdvVdUwogA9pD0BfH5OpZw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0485b37e-63a0-b31d-ecae-3c55e9c41e0b@suse.com>
Date: Wed, 30 Aug 2023 15:51:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 3/6] x86/msi: rearrange read_pci_mem_bar slightly
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-4-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-4-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0061.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7948:EE_
X-MS-Office365-Filtering-Correlation-Id: 47dbbd1b-54ec-4828-6d03-08dba960295f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bc8ddZCY/e1BN9McETatsiCzEGh7xVITHkn9cHRMVXsuiAJlgC13WSEf8GTD/VT5J3fGeUl8fnQKLyStmM7trCJScBZYRSBl6Co1SPGPSJYqy3rzFRwgn1Dpvpiz9z4pc5z6fsifXqAGN7EYCkNY/V3iyd3O1MUgLmd9MLVBfhs/Uij9yG09cVsC5/Q8bGGwmpPgLRD8lYjmJBaMR6au0IdslKWo8UHwgW5EsCtify2ZvQchnhEtoBLb2CPqDPDslQhJe1gkTTYcLf6Z/D/Zkvyva/8ECkqzDti6aF8WflvqdCMUgJnA36d9/7jX6cMySYMIGGFYG0iTTnadkhNA3iu4MXw6/G5wfMa9jtBPWxE/TUkSAvOWFFLgSHBUM2wAemULu10wT9o98La1sd0YCTR1osRgd3azUfv1u+VYI2OhuYJXLiGPD7l49PEFAOpqB4UrKvmdj04QKFfhUlbKpKRi66JD4mmyNm3cCcJKmLRcdaV8M83LdeVM+DGUcVESM+jCTkODAoM6wnqMLkSGexpnrG6NDNKwkhW8ldp3cbi6ovsZL1tUtUqECmfpdhdk7dpFsqK6BAoz6x7LYzlwbPs9OXpXzymu+o6CoinVBhfS+VybVa8ErT5HN7ai7EFQr1Gh3S7spHWG/THi+6YuSg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(136003)(396003)(366004)(346002)(186009)(451199024)(1800799009)(66556008)(54906003)(66946007)(66476007)(316002)(6916009)(478600001)(38100700002)(4744005)(2906002)(86362001)(31696002)(8936002)(41300700001)(5660300002)(4326008)(8676002)(6512007)(6486002)(6666004)(6506007)(53546011)(26005)(2616005)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aytjai9CcXhqOUdGbTZWTlJxZ0ROSUh4OEZmN0drTEV1MjdrMGg0Qy9hZmZH?=
 =?utf-8?B?SGU3WDVDNFJ3UWhIQUFDN2NSQXdZdHNtMUJVQjhqNTJoTVdiQ2I2Y1kydWN3?=
 =?utf-8?B?elhuN1Rydm5INVRaWlJiSFIwVEdEUldGOU5aU3JTcW1mNzlneVc4RlFtYlVN?=
 =?utf-8?B?ZUVQV05FdU11b3ZZWFNMSFU0UW12bktsYmp6UDdwQmxHSXVLbGdiNWtHWjNO?=
 =?utf-8?B?aWlGeGhCMm9GQXFRWnBiaEI1MG96M2xTZmFlTjBhMjFMUE5XUk5MWUtsVHdB?=
 =?utf-8?B?S25lSCtDSHZDUUN6TlVnZFI1KzdJdUgzS1pBOWlSK0Qyd29EeXJRSFpDNXls?=
 =?utf-8?B?ODU5NVhOYUlYc0RIdXcyZWVZKzNrc2xOTk03QUliYVZrNmc4R213UGhia01U?=
 =?utf-8?B?cUJhcmk5R1pyK2hZYUVqa1NPa29rVVdaL0tIMHRYOTZndVphZkRySU9mcXZV?=
 =?utf-8?B?SnRzRHgvOG1qUXBuQVJYT3R5S05YYXIvYzNzOFR6NHpjTTREQWJkTUNBZHdY?=
 =?utf-8?B?UjhrVHBualI3MXV3SVVUMVBrUzgwRWtWTlhXNEhPb0Q0dUcrVzFPWkMwWWxC?=
 =?utf-8?B?bkNiYTFHOUZTcWZPeDRINExXYWZ0bTRIeFpTSGJJeXBwaVQrV1NhRTRkZnB2?=
 =?utf-8?B?U3M5ZllhNndWSkZkeGpWRjZ6SUc2U2NSS0ZsUXd5c1JUTVlPNmovUFl3WjAy?=
 =?utf-8?B?Q0hVZHB0V25nOThhKzV2dWREWU1SM1ByT1BjYkZ6MkVmdU1FVENRU2czRHor?=
 =?utf-8?B?ZnlGd3h3elo5M3krMjY5c1o1b21QRGtjVUJ5cENnU291L3JkaXVyOXRSbkxN?=
 =?utf-8?B?bEN5bjV0bCs0cUxGaHQ3Rk14SVlZaHF4a3U2T2xFNkRqVm03ZmcrWUhwUjBP?=
 =?utf-8?B?RFl3R1BZM284TjdZdHd1dSt0VE90dUVFa1VaU0VpMmNURkRkYXVEdzRjZXFm?=
 =?utf-8?B?Mk55RjhXdWxycmtxeGNia2pUeXhBcWlaM3kwZUlhcTh4V2xiMnZYeXV6Qjlx?=
 =?utf-8?B?dks4dTJzNy9pamVZdWpuVlBQZmxia0N3RDhhOUlQV2pCaC9WQ0FRTkQ4RHd5?=
 =?utf-8?B?LzU1N3A2TkVoTnVRWEpTOTREbTVmdnRsRHdweTltQytEQ09LcUV2bWxIUEZy?=
 =?utf-8?B?bHBFeklvcFRKd1RPS2dFK1h3QkJzMGN1MDg4UFArd2tJWTBpeHlvU2J4TUZk?=
 =?utf-8?B?d3J1RnJjNVl5OEpNdGVtczliN0FDUzdhL1AyUlVwWUhHQ1Q2WmVWR3llOWZn?=
 =?utf-8?B?MFJ0K1B4RmxyZUl5b01jajR0MmcwbEorWGJIQUhpQW9LUnV0bEdWWWZpekUw?=
 =?utf-8?B?Nis3YStvQm5IdFU0c3l3Z3VSSDNvQWttMG1QTi9uYzdKU2NTVm5xdXFzWmRO?=
 =?utf-8?B?VkhJL2JrcUsyUnl2emNBcEhtcTNrWndsWWFUMzNTNmYwNnp6TjVkZHRDSDRB?=
 =?utf-8?B?akQ1c3FVdlU3TzVDeFdCbCtZM2xUdTBqbHZ4Smh6a1BZT0RraUd3bWFCR2hH?=
 =?utf-8?B?ZE90Z2hGbVBaY09Zbmh5TFhyaU40YjN1N1dseVZGM3d2dGw0VGdiN3hCeVBs?=
 =?utf-8?B?NGppRjB2UVd4eGJldU11VGF0RGthUFhrRG1yZkhXaE1ta0FLRmZhSnFONERv?=
 =?utf-8?B?aW85ZFFTNzExdFVod3Q3YVc5K09TMTdsMjQrQjdySlk4QUtOdnJ3N09qVk16?=
 =?utf-8?B?amJKcXUvZjYvdXBkb3FpOUs5U3lSWE9yMnNxY3ZOTUlCRW0zTVU0WWdYSzhu?=
 =?utf-8?B?alhId1NkSGt5TTBLbDdWYmU1Ni91TlNHZ2tlK1dlMmtuMXFNMlVYdS9YbS92?=
 =?utf-8?B?SnNYTnNidWVJZ1J3TFNUazRjZGRFUmZ2SVVRVTN4SVJlaWY4ci9GZzI1YXpz?=
 =?utf-8?B?YVFDeGVHcml0OVI5VUlzdEI4eXphY3RDWUQ5TC93aDBPdjRDcUxEODRNNnNM?=
 =?utf-8?B?bzI3ajFNUHVNbWdoTGVCcGhJa3QzM3JsQm53TUhDSTFIWUJlc1I4Lzc2MUQv?=
 =?utf-8?B?SUkwK2M5Q092MVY2STNZNmR5WWV1b3kyY1FBb0VJZ0llNlhLeVdHRHF0Rldo?=
 =?utf-8?B?V01iQnRoTjdkRFpQTlRxbGtOUGlxNzBKM01Yam0yMmxQcGdUbEYxSEl3WTNm?=
 =?utf-8?Q?4wH6CKa7v00hoHeFQEdBu2b3c?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47dbbd1b-54ec-4828-6d03-08dba960295f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:51:08.1125
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m+Zw7HwSm+45AVxDyTT91gfkFbOea/YmoGCACL0/1AT7ardV+jDgq3KOIlY8E2+tT+CFOt7y90IWs9AVbOJkIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7948

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> Use pdev->sbdf instead of the PCI_SBDF macro in calls to pci_* functions
> where appropriate. Move NULL check earlier.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Aug 30 13:51:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 13:51:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592959.925832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLbH-0001Nq-4n; Wed, 30 Aug 2023 13:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592959.925832; Wed, 30 Aug 2023 13: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 1qbLbH-0001ND-1m; Wed, 30 Aug 2023 13:51:15 +0000
Received: by outflank-mailman (input) for mailman id 592959;
 Wed, 30 Aug 2023 13:51:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbLbF-00015D-NU
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 13:51:13 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 472aca44-473c-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 15:51:12 +0200 (CEST)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 09:51:08 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by SA3PR03MB7466.namprd03.prod.outlook.com (2603:10b6:806:396::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 13:51:06 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2%5]) with mapi id 15.20.6745.020; Wed, 30 Aug 2023
 13:51:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 472aca44-473c-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693403472;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=QzymfWvSHAq97ZllLFN7szuTdiwFkhkXKZdH0XgtcFc=;
  b=K76MFisxC6pttwdwrD/OB1L8dNbkgMGkw2xrWrCAbq+CHl+IvTFYpsuN
   2ZqWHu7UpmTieJ3NkP78Rk8eQgb/cY4hT0r4ePclK8mO52wUWLcnzl/lM
   Mbc8oaMT98HPSN2gDIPEdM/lYowX4/tYd88CFHqNB5JbP/Jqv7GCtBhFA
   I=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 123830232
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QyQ6dKqmoDcZ7gatlKRiZ+QzFbheBmJbZRIvgKrLsJaIsI4StFCzt
 garIBmDbv7ZY2fzc41zYYS1oEkBu5TWn9Y3QFRurX9hRC4apZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GlwUmAWP6gR5weOzCFNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABZQUD+kusGu/LK2DexSgfUfPpniDapK7xmMzRmBZRonabbqZvyQoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jemraYSEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrKU62wXJnTZ75Bs+ZVq9gtfjsG2EdflfK
 k4M4RgIrqJp+xn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsTD9Hb9xgt8YwSnopz
 HeGmtroAXpkt7j9YW2Z3qeZq3W1Iyd9BW0fY2kCRAgM4djmqakyiA7CSpBoF6vdpt74BzD2h
 SyLpS4WhrMPgMpN3KK+lXjbgjeEtpXPCAkv6W3/Qmug5xhReI2haoqn+FXfq/1HKe6xR1iat
 XkAkuCU7fwCAJ+AkiCAWqMGG7TBz+6dMSfXiFpmFYQJ/TWx93OtcIZc7Ss4L0BsWu4UdDmsb
 ELNtAd54J5IIGDsfaJxe5i2Cckh0e7nD9uNaxzPRt9HY5w0eArZ+ihrPBSUxzq0zhlqlrwjM
 5CGd8rqFWwdFals0DuxQaEazKMvwSc9g2jUQPgX0iia7FZXX1bNIZ9tDbdERrpRAH+syOkNz
 +tiCg==
IronPort-HdrOrdr: A9a23:3WdUja/kbyJsFO4dgEJuk+AKI+orL9Y04lQ7vn2ZHyYlDvBws/
 re58jzsiWE8Ar5OUtQ4OxoXZPrfZqyz+8X3WB8B9eftUzdyQ6VxeJZnO3fKl/bak/DH7VmpN
 1dmsFFYbWaMbE5t7ef3ODSKadG/DDoysGVrNab52txSxpncqRxhj0Jdzpz0XcbeOCFP/cE/V
 anifavbgDPRUgq
X-Talos-CUID: =?us-ascii?q?9a23=3AzDrTz2m0LOYYnq7Wtwfan/3/3grXOVuA8lj3Hmy?=
 =?us-ascii?q?gNWZkD7irTm6s6vNtouM7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3Agf0EBw4w9SZaaskmEQI4Q8j9xoxY4qKNJho3sq8?=
 =?us-ascii?q?okMmFNzRrCRGehm+4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="123830232"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GZGfJHNmQxUu+SbG0Tcz15YXZYLGyaF6UJB50C6DsKGBpUvcV76sgsfNikGTLHkgJYYDRUZLVkk5v1Qlmv6sXLzwBW6gixux3QLo4wVpkbHr1qeWNrHGEEou8m9ajxoOqwZvwAhgPAnBXtyTuewWMlwUF43DVjmDfqYzJcFLoIuw+RIptaFFjPhQal3X68SLFAW75nX+7tGnYbdFL94VdS10HfuubNitr5qE8Ivs4TCNat6ynMwPofjODD/I5vrNlSp6+n400jxtEKLxi+at52J3BBrjhY0aEhiB95HAy91ZGaKczrQm/4iMK3bVhbfEGenag/BaBtO53HPh3UGVWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=91OXY1DoIUE5Y42/bGq0w6nZAhgPs6qUAlIYq4nHpiI=;
 b=iPQEWRBWnaIpzFMfBoZc+xQECWHYyyeysFKCNWCiBO0eAIbDJd4RO7eMHyiFEAVEHuO2w5DM9ftQqPE4kMlvs42DdsDz3RY0grPdra1RsIYqtBRZQ99e43cpwSTW+aVOFXrpcBUoMJNVQkd8JTaqaY8eLIITQUcuX7re2aQYSvsfbZDfuQMN/UavU9CAYqjXW4V4onhs3M9yOijgTctAbyhVTfLpezRlKt89dOXJQ8ktOLz4zxf8sXUwc1K7CiV4diYOgsl0osXsEfEkRmN2dO7mZnMUxEWdy3Olp8uAaMOERYTE9TgBq7SBvweAtrBYnRJgzAMMjS3sFdRwuqs8NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=91OXY1DoIUE5Y42/bGq0w6nZAhgPs6qUAlIYq4nHpiI=;
 b=R9oETfXWK20aKhkbSA9q0HrOCE2FZbeHFHTVcmQVE2mhhUUsiv+0X+hvhuDVR63M0m3fWRjNJSlnMtU06j5MDEHSh282k6YZ5maOii1ykXBENB5eWlWYxu/RCjSNwYgH8FXcehckG7pqzf6RIQSdigrRSjts0UX6hAWRUaMwQd0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0e0b01ad-30c3-a538-1c67-c22b1ce9af3c@citrix.com>
Date: Wed, 30 Aug 2023 14:51:00 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: 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>, Tim Deegan <tim@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
 <eb9854df-67cb-8d9b-ac2d-75ff11f29367@suse.com>
In-Reply-To: <eb9854df-67cb-8d9b-ac2d-75ff11f29367@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0066.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::17) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|SA3PR03MB7466:EE_
X-MS-Office365-Filtering-Correlation-Id: 80fab22f-f7f2-4bc3-7aec-08dba96027fd
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ib3pLSfPG2Gvqbv7bLveO8scAiir4HTnVmq/vmyfTCevI8qnTyvMNf3b5czPf3Ce+PAth+diuOUUx7P/pY/Uup5xxZOAA71N9a5adoi21Y6kZEjwvLTHKT0vyrYudfwv6PvBVwlI4eZhUyxYl6qKLLg3MW53qvW0mc+RXuo3fEKljkK7s9rfHaj7H3YLe9BHPcpa1Xgxf/F97exGfV2tifuck39yxK/fiGSyXpFHyLCb1XaR8/kJj5VGCdHmpB991Gog4r6+sfguEQMlteT10PkpsnqRHCgs1wnG3W6GFjmZcwsTkxiSrSr8fRr8zj71VreyDGtSg8/OgOzz7g5OncRmK0WRCJtK4tDBWB0qEfyuA3Qb1JOTWtMG+vDDCIz3DUUBZWPx3+9xJoGhDhACAEowN5VcizIx8bEiZbJceU20olzmmDiUOxBaEASG3GbwDDiOtWb2hzix3yky1QlXiuujjy2p8Gv9czdw8CPiuz3sYyof6Y9BW4tSX+KXOipCyOF/DJCn8fraa3Ymq1h8zgBzn7Tm8PZfZx52+Uv9A53L7iDp42PYOenhyv6G/2sjJLoWg8Lzux5XWFHNg2kDDjZ94d6lxJqqoBZ+/RVAz/fbfaXuNUP47MWCPGZdEAOp/wa8G1bZh4vqX7vd8x+5Qg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(136003)(396003)(39860400002)(346002)(1800799009)(451199024)(186009)(31686004)(66899024)(6486002)(6512007)(6506007)(8936002)(66946007)(36756003)(86362001)(38100700002)(82960400001)(31696002)(2616005)(2906002)(26005)(53546011)(478600001)(83380400001)(6666004)(110136005)(8676002)(4326008)(66556008)(5660300002)(66476007)(41300700001)(7416002)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3JBT0xBdGtEdzhyS3IycWdXR0gzTFk4TWRQZWc5eTB1OHFvYU9weTRSc2ov?=
 =?utf-8?B?RWIwNE1WTHNKQWU2dGJ6R3hmbWVtekVTSTRacnlnd3BudXNPelpIZlQzVWxJ?=
 =?utf-8?B?VmVBTVplL2ZhMWYveko5VDM0VFNTbTVDOTFVM1NhWnQxQ0YyQmZiK1dCd1Qw?=
 =?utf-8?B?ekhPVWEyOGpMY1BtZzMrQkpvZklOam5IZ2E3VjhtVDFHNnh0U1BETENQMDFK?=
 =?utf-8?B?a3RTQlJZci9LTGl2U1doSkJvQWN2dnNuRllXdEFISE1ZdFZBRy9pam9HNEc3?=
 =?utf-8?B?blplRlM1eWNETC9Jakh3Z09Sd1hhUExRMnZpZmpCSDJiZkJiT2hnd0s5RVla?=
 =?utf-8?B?RWdQLzJYOUV3bG9pYXBScWJMNWFjbFgyT2hlL1JQY3ZkbnFOSVViVkg5K25x?=
 =?utf-8?B?WTFlcWJuMEllbDFFZ3ZQNGZOb3hadW9UQXVMN2JjTE5OanZIcnlQVTZsczhk?=
 =?utf-8?B?OEZ6eGQvbjUvbjFHcTdIenZoaWNORkQzdDlWM045S042WkIzVUlxSnRRa1F1?=
 =?utf-8?B?ME5UVVgvSlVUeS9DTWxPQS9BeHViZzNZK1BZT3lWc1cva2VNb21LZkJPMnZx?=
 =?utf-8?B?a2hpYSs0QjFPWWVjSURySDRkcHg0MzEvdHVKOWlSd2U3UjB4d1d4SWJBQmRu?=
 =?utf-8?B?VHNBdEZuMkMyOTEwM3JiUytqTmNyY0RlWmRQaHNxbUFNNGhXL0hpRWN4R0di?=
 =?utf-8?B?TGdSVXpGZEVhT2lIaDdham10bDJPM2c1YURBM2t0aGRPNXJ2MTR5MzlrbHUx?=
 =?utf-8?B?bnhyRktMdjRFTXIvNGdlSG1HaFdwZVp2NU40ZXdMSUE5ekhDRkQ4ZjB4U3RY?=
 =?utf-8?B?RWN3VjRQY0crTnpPTC9mL0RlSFE5ZCtlbmd4cGZwWjBxRThLeGJTWWQydUla?=
 =?utf-8?B?clRhSmJROTRWcytLQ1V0OUNkcThQTlN1dW56dm1iOTQ5dXJwd2Zla0xiNExi?=
 =?utf-8?B?WFhpbDY4VVFnVWRPQzAwTzg2RGl4NWhHSVYxd0xwUVJFdEVsdDFjNDk4b0kr?=
 =?utf-8?B?bk03NWljT0dCZ2FYNHRKSUV2N053eVRVdkdEa2w2NlBUdGt1M3RkR0dGaTZK?=
 =?utf-8?B?SGRQbnBQUHRuZmFxTTA5TXVuN3hLMnpLNHhYdTJKL3hGWTJKV3hMUSs0UEFK?=
 =?utf-8?B?VFZQSlB3a2ljWjNwbHZuL0hVTDI3bkJQbzFqN2RRY2JTYldMRjZ2ZjEwZ29B?=
 =?utf-8?B?VnhoODB3QlVUS1p6eHFHVUdMV3EvVWxqWVVNN250QWNXbzVYR1NHUWFpVnZs?=
 =?utf-8?B?Z2IwV1ByNUNPMUJmUU5MT1EwQWV1d1hXUXVoVlc5QjZpWUNPeEVZZW1Pc290?=
 =?utf-8?B?eFk3Zno0dGwyM1l1czQ2RFdQcllZL04xOXdRNnBQOVlJVXljNXdrRjc0QnpD?=
 =?utf-8?B?d0hlOWI3NzVVNnE1S2pNN21VRWlzM2RrdGd3VTFPSWs4ZWhJK1lrVU44R2N0?=
 =?utf-8?B?c0hNN3N3ZjhxWU9pY0ZLbk4xWU04Rjh1UmhtYWQvOVZLeWFpNXJNRFoyWUVS?=
 =?utf-8?B?Q21UK1V5YktyOTZFVW9tQWNpN25INFkyUHVJYndoeFh3YlJmOWR6L1ZsQnAw?=
 =?utf-8?B?UGVTRENkL2NqS2VsZUgyalBRU1ZEeDUyN1hUeXlYKzJEQ3hxSlo2SUY0dDJ2?=
 =?utf-8?B?aUlFVDZzdTVSd2U3YTZFcy94UytFdXRYbnJxOUl1L2RvSU9NR3ZGNkF0dTE2?=
 =?utf-8?B?SCthWXduWExuVzFmSXRscThiMkhyTllHQkhwK2VITEM4RmVDcW5BNXZHVi9R?=
 =?utf-8?B?YUNTa1B4bENQVHUxa1A1SFRDdndLRytHUXdSZHJ1UVV6WlJuS2ZGczFwUkcx?=
 =?utf-8?B?YlZBbjNMNlpHQ0lpTFljTkdkUlF5NUszdFlyYmhOSGVmN1ZrNWVYMzU0SW9v?=
 =?utf-8?B?TXpOcTd5VUxtSmMwWEhQM0xBRlowMmU4cjBqd2Z6YnZZdC96clNBOTh5Ujhs?=
 =?utf-8?B?ZEpGVm5XaHY2bUlsSGxEVjIzM0dhQjBKZzFWWS9RQ09OTWRhWGFackFqTzk1?=
 =?utf-8?B?Wk9VZ0VzdjBOd0JhdXYwcEdmODZUVWNLQmdrclROVXpkVTJLZFJMY1VmaG9u?=
 =?utf-8?B?bEtlR1ZmZ3MzOVNXdjdIbDJmRlVtcTNsVmVBWC9vZ0JVbDIzdXNkVGhrclNT?=
 =?utf-8?B?UmhMUWJSK0MzTWZDNE1uQW8weFo0akxxMmtIMjg3VGx1bUhiTjlxWU5BWnZM?=
 =?utf-8?B?UWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?VFRuamEwY3hwRElOMGxSbUNjZWEzRnM4MW5iL2w0QTBzb29jMlUrbFA5UTdB?=
 =?utf-8?B?WlRXUGVJSXBRa0FoS0FxcjNTQ1BCbFlPTUxJZ2pRS24zM2xrREM1YytkR1hZ?=
 =?utf-8?B?cDMyeVFoQk5sZlJ3ZFJSTG9lWmdhVGRzYWxaTm05d0ZqMWxWakZaWXI5YTJn?=
 =?utf-8?B?Sm1IQ0c0aDkxelZlQUlTSCt3K1ZjTm82TTVIbkRYc0s0R0ZwaGpBMWs5eVZF?=
 =?utf-8?B?enJDbHUyWFNWcWovcEozSVVHclBhcmJ5VFA4RVZ6TGpTZzdpVVYrcHlGMzBz?=
 =?utf-8?B?TkprSGlkVi9uVlhHSVJMaFg4UHFPZUpWSERVek9yMEhzWWdYc1hpZzVoRHNk?=
 =?utf-8?B?ZWRJaTNwU25pZTR3V0NkYUhJZHN5THYzQlRkSjV1elY4MFM5MVlEVUFZd3JN?=
 =?utf-8?B?NXk0eFVnUGJQUnVDWlQwSHk0SExjM3lFcEZRVjNWYllPejZYekluMUpLWU11?=
 =?utf-8?B?RitJSEV6WlZ0cHhWTy9adHFzZkl4OU1KbmtqTW0yOEk3Y0MwR1JXcG1ZTzZo?=
 =?utf-8?B?NjA1Z1pDN1J6U015MktVTVNlaW5jVm1aQUlLSzZrMi9oMnVwMW42MXh5UWd6?=
 =?utf-8?B?eUMyN3cwbkJxL0EzRjRYQTFrV3ZhUVEyVGZGK3dLbWdleXpiWUZIeFZQZVBt?=
 =?utf-8?B?Z2taM1ZVaGhnVHFEaVNzblVFK3pqSngzM1IzMVZsRWdFdmd0OUtCT01TdWhV?=
 =?utf-8?B?SUdrSTJhVkE3YUVRMzVsbHRHTENsVVlYYnNXZUc5RndPbkxiSjBDcW1JZ2dz?=
 =?utf-8?B?T1FRZ2dMWEwvRFdoUFpJWHdickNmR0tWdkp4S2I5Q2pXV2ptMVJNRUNhUjhH?=
 =?utf-8?B?NHFqdEJGdlkwZTNWU012bHBZV05QVWhkamZ4SVdiNnBXTm84V0lFZHN5WlFY?=
 =?utf-8?B?ZCtBZEY3c2N5alFuMDE1emJTSjNqaFo2N3YvR1o2RXV2K3FKT0NoWFhFMEx2?=
 =?utf-8?B?OVh5WE5yUVZ3VGt3S0hoYWdFUUg2TmxlV0NzTThqMHJVVTF5UlBpS0dKNmtt?=
 =?utf-8?B?UkNRMDJLV1ZoY1ZpTzdVdEFmRHUveXUxKzR1V0o1U1JQK2hlYWdzU2JRUDg1?=
 =?utf-8?B?VGJGMjc3M25TZWtEMHU1NCsxYVVXNEF2ZjBIMnIvejlwZ0VlQ05RUHBSeHdE?=
 =?utf-8?B?Mnhld2QvVytMMGswOE15OXhVQWd1M29WMXp6WDltVkFHZzE1R2NxbFVpaG1n?=
 =?utf-8?B?dTdLVGVROG5RUjB3WE1yWlpuUUk2c0M4emltRERtZFF4d3BORVRibUF4VkJh?=
 =?utf-8?B?ZFd2MVY5aHlSaVV0N0pGeGxEdFNGL29jbW1zRHA3QzFJcUlnZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80fab22f-f7f2-4bc3-7aec-08dba96027fd
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 13:51:05.8470
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J/pPQto7ipkVJZ185wr8s+GO/RlnJGCMgGfn4dTH1D0mHrhfBDe+QesO2JfPd2SAgMXKy4UAxtJ7bVZ3r1uOwMin2nkaf+IGTfiJfKYy1Uw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7466

On 30/08/2023 2:30 pm, Jan Beulich wrote:
> On 24.08.2023 17:26, Jinoh Kang wrote:
>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> All #DB exceptions result in an update of %dr6, but this isn't captured in
>> Xen's handling.
>>
>> PV guests generally work by modifying %dr6 before raising #DB, whereas HVM
>> guests do nothing and have a single-step special case in the lowest levels of
>> {vmx,svm}_inject_event().  All of this is buggy, but in particular, task
>> switches with the trace flag never end up signalling BT in %dr6.
>>
>> To begin resolving this issue, add a new pending_dbg field to x86_event
>> (unioned with cr2 to avoid taking any extra space), and introduce
>> {pv,hvm}_inject_debug_exn() helpers to replace the current callers using
>> {pv,hvm}_inject_hw_exception().
>>
>> A key property is that pending_dbg is taken with positive polarity to deal
>> with RTM sensibly.  Most callers pass in a constant, but callers passing in a
>> hardware %dr6 value need to xor the value with X86_DR6_DEFAULT to flip the
>> polarity of RTM and reserved fields.
>>
>> For PV guests, move the ad-hoc updating of %dr6 into pv_inject_event().  This
>> in principle breaks the handing of RTM in do_debug(), but PV guests can't
>> actually enable MSR_DEBUGCTL.RTM yet, so this doesn't matter in practice.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Roger Pau MonnĂ© <roger.pau@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> [ jinoh: Rebase onto staging, forward declare struct vcpu ]
>> Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
>> ---
>> CC: Andrew Cooper <andrew.cooper3@citrix.com>
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Wei Liu <wl@xen.org>
>> CC: Roger Pau MonnĂ© <roger.pau@citrix.com>
>> CC: Jun Nakajima <jun.nakajima@intel.com>
>> CC: Kevin Tian <kevin.tian@intel.com>
>> CC: Tim Deegan <tim@xen.org>
>> CC: Tamas K Lengyel <tamas@tklengyel.com>
>> CC: Alexandru Isaila <aisaila@bitdefender.com>
>> CC: Petre Pircalabu <ppircalabu@bitdefender.com>
>>
>> v1 -> v2: [S-o-b fixes. More details below.]
>>
>> - Update DR6 for gdbsx when trapped in PV guest kernel mode
> I take it that this refers to ...
>
>> --- a/xen/arch/x86/traps.c
>> +++ b/xen/arch/x86/traps.c
>> @@ -1989,17 +1989,17 @@ void do_debug(struct cpu_user_regs *regs)
>>          return;
>>      }
>>  
>> -    /* Save debug status register where guest OS can peek at it */
>> -    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>> -    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
>> -
>>      if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
>>      {
>> +        /* Save debug status register where gdbsx can peek at it */
>> +        v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>> +        v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
>> +
>>          domain_pause_for_debugger();
>>          return;
>>      }
> ... this code movement. I'm afraid this should have resulted in you
> dropping the earlier R-b, and I'm further afraid I'm not convinced 
> this is correct, despite seeing why you would want to do this. The
> issue is that this way you also alter guest-visible state, when the
> intention is that such now happen via ...
>
>> -    pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
>> +    pv_inject_debug_exn(dr6 ^ X86_DR6_DEFAULT);
>>  }
> ... this call alone. I fear I can't currently see how to get both
> aspects right, other than by breaking up

I think it was wrongly broken up in my RFC series too.

With hindsight, I think the series wants rearranging to introduce
x86_merge_dr6() first, and then fix up PV and HVM separately.Â  They're
independent logic paths.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:06:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592974.925842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbLpX-0003iz-IU; Wed, 30 Aug 2023 14:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592974.925842; Wed, 30 Aug 2023 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 1qbLpX-0003is-Ef; Wed, 30 Aug 2023 14:05:59 +0000
Received: by outflank-mailman (input) for mailman id 592974;
 Wed, 30 Aug 2023 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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbLpW-0003im-04
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:05:58 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 549aecdf-473e-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:05:53 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7979.eurprd04.prod.outlook.com (2603:10a6:10:1ec::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 14:05:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 14:05: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: 549aecdf-473e-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QX8rVUyM2xY+CY9vrsRj769zC1KotDkqILxJ/cgCm+g4H1x+1Lo6eII8zqmRnPEanDhmY2+O2JM9N90aWlfLp+kvtOHJwbjLZtCPrf0xh0YyfWVeM55JrBGGJZT6FJN+lRFnbQAkQm8TVFFfpXNl+TWxJIT+qmTnVEX2qdlFosLlPzI1rjQ41EubsPO0OKjtydr76vMbjMbrI+mQzslmkv3K2OrouPIXji38L1v9vf1/Ntqsw5ZT63CchDWnujYDAJ+o08vNkLwGJRHh/woIrVeSXuLC57oyi86adOCONvgaEFlPkI51wlmSTSVk4l3GgJ1lShAx8wcbk2zheJJrPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PsfTMXvQVdDEuFdvBEEpnO9qmsEvBLcT+3eRQEbnF9A=;
 b=i7hhi4l4/W/sNxUqZR3g15SKCOUgVl0EMNMAV6oJ1wiWggIopD/PA3+AOEoGMj0QQWfyTiiCDjm3Tlf2pxwyBLjww2ruwrObSR5XIvFokl+JdLocGq9QWgB9XrvKA5NlI0QkbWaCrX3EQzApGlSA//OQ3P+noFv6chrhdchFMW074QACbuPUoCEOUSc+mlU6sXLdr5Gxd2VtloproTnw4IpQimrffSKrI/Uf2aCjn7ghCXfMV+ml0oIjCB7qvaXHyRvqg2ij9YvkX0zODXOagIEvJopVD1lUNLvY9GNHPyEybZpAk2rGxONSHDefi7O3H4JtBEQiABNDsFLap2Yasw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PsfTMXvQVdDEuFdvBEEpnO9qmsEvBLcT+3eRQEbnF9A=;
 b=HLBxfvFtvJnxkNnHDlO7a/Z8QRtTNyk4W7wq4EeNvMaFdcDSv8wxcHYJIi+1iOcsvpfawUvpHIjSZqUhM7SLSAp5eMU04gEmIyfQ4yDPxK5zK6Lq2B4UQZZXoYTbPvraoWDRgujo02ZxIpAOSyqq+MGhc5MFNzPg7JYwa0L9VmccmzobcetkB4Dl9qoGtPVa+ydBODjqux7aS4sSvtPCPK6PYyIGebl1a6ELx8JUqyiNWcB1FpJ7os13i0BDdRJaKR7LjdPka3QLVxJ/xzPvZr5I4SK0G9VxAPKCpfvJC5LWBzt9+of8r6/rhettvcP5cWwcPdw6b3KALjRW8fHrMQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a082785-7da1-caf9-3193-eb0a9a77a7bc@suse.com>
Date: Wed, 30 Aug 2023 16:05:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 4/6] xen/vpci: header: status register handler
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-5-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-5-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7979:EE_
X-MS-Office365-Filtering-Correlation-Id: f4bfabec-f9c7-4a8a-e4c2-08dba962379a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Om+5oLMrWL/bQVwuxZAjM3VqzXzBenPeP1yWCocwDIFWJFrAZKToCk+vrEqUbV1PCliQN90ddGz8sIZslzQfr0jVFzGxtitoPrQmysjPWsrEpssAqELwEGZGfVSNabkZN7NbW8R+5swBztbMRbJXmpKiHDe2zSb6W8bBT3xSx+96aSwpDInI8Qvz5Qoa9D8C748Ct6BgCCwCxxOKjj7fGjuVGnG38rNfiNCJfsMI1ODpa9oijZIUDI2iuudt0u3u/PV/pkkEn5B5AwARVo8k3vnhj29ZtXaS0UfcqUD7gPtJ4r06a3NuLLt9u1zFxT75ZRWdc0S6iuD7QDRmESnTsoKfHNggGxP7yuocwpBZh4oykZyMSrFLHOjmU69GAW0xftAIYgmKkiLuPVb4wxdfbJ7pU/4biWAMqhRq4I91e8c7rym2ccdxIxlMEq8SkX9QDIwNnCiNqvEZigZzdLHp+5+835iy8S6DYzAy2LATDDNp0biYtCDofYreKXhftMLhOQVf4qZgAMD29pXnU41XFvRM2egdFBa32KpA9H//C+jMEXTeN7x16cPpTFFxO3olqs4bQzRzQiJFlUYX8HT8oJsI1CTnsCXvT2J/x622ZWsN/EKBDhb5x/MiT6hQDava+zxMwK5bpof4dmfTulvixA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(366004)(136003)(376002)(451199024)(1800799009)(186009)(36756003)(31686004)(83380400001)(86362001)(31696002)(41300700001)(5660300002)(4326008)(8676002)(8936002)(53546011)(26005)(6506007)(6486002)(6666004)(2616005)(6512007)(478600001)(2906002)(38100700002)(66476007)(66946007)(316002)(6916009)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjdEOXE4VzFVQWtJU2ZPcXJOMVk5MHNDZmhyaHJ6WGU1Qyt6UHBQM3R1dTVy?=
 =?utf-8?B?YjhURU42NHRwUlU2Q1BuamJEelFFbXl3YklhN3h4bGorSjE5ZzhJckJMUy90?=
 =?utf-8?B?OUxUekViQUFkbk5VczV5T2JjcW1kUFpVaXBld1BqSzlLUGYwUTNwQkVnVVN4?=
 =?utf-8?B?eGdkMHRVcTNidmpuWXYvWHl1VE8vVEFvQmJjZVRSRElabmZuUlVsdGJRVjMy?=
 =?utf-8?B?M2JDMlRVYmtvWjl4Y0JJVGhUY0EyalZoSFZxWjJoT2owa2RZbVY5NXZobkRn?=
 =?utf-8?B?d2hKYVJkY284LzlwNnorTmFoRHVWM1NnSHRxSVdiV2NwS2V0QlIwd1FIOXRX?=
 =?utf-8?B?d2lMWUxwejQxbi9OVDY5cnZVNTFGRGdwc0VvdldGeXk5TmFOY0xLZ1BEQlRm?=
 =?utf-8?B?ZUZEalQ4clJodTdRZ1ZKelZncmpMYjYzNUZ6Z3NSSlJ6a05abFkwdmEyNjRG?=
 =?utf-8?B?R0ptMk42MXRJQVpmaGpSVHZRVXQ1aUVDbC84N1QzbFlFcTFrdXY5YkZXeDlD?=
 =?utf-8?B?T09oVnQ0QXF3S2xPK2FxVXdmLythT2t5Wk5YSUFUa09qb25vc1FMVnVFbnFB?=
 =?utf-8?B?MFl0ODBaQzlPQlpoVXlFOGo5NWVHd3g1Q2hRN2ZKOXlpQWE2M0RwRGUwSWRF?=
 =?utf-8?B?VnMzK0p2TE1jQi9aczlMNjJmd2Jkak9CazlObjFiUjJoYS9IaTBkMERrTjYz?=
 =?utf-8?B?alZrcjlJdE1BcENOZnhjeC9JaGQySUVyV1pVamd5eXVMd2VwckdtK1ZkWExo?=
 =?utf-8?B?dnA4M0tndmRTYTZmdjRlQTJPZXd5NXZuNjhmWUVqTjF4bGdmd1lOZ1JVQ2Q3?=
 =?utf-8?B?WVNZdlRVZ3JuMVpOQjAvejREcWxSVHk0RVFmYW5VZk5iNHU1TUY5Q1RpeDJ5?=
 =?utf-8?B?dXpuVlB1bW9kMzV1TC9hN0RxYTFhcmhaUzUrcEQ1QU9VZm5heVdhNytqUHd0?=
 =?utf-8?B?T0ZjWjl1Z00xQ1hnU3VBY3R5TmtrU09qSHdMemJBQVFrU25hcStPcVM3VFVx?=
 =?utf-8?B?NTNmdG05Qm9qZ2pGYmdmekw5VE0wVkd1Rjc0Q2NBQ045aGJhRXJhTVBDamZD?=
 =?utf-8?B?VUZGS0hGK3VzYkZEVUJWTHFDZjF3SXA5Ync5USt6dWt3RUtNODkwbTQ1Skgw?=
 =?utf-8?B?VGlLczZaSlJOS1BEOWh3MTR3VXlRSGRVZHROWUVhbC96ZjRQRVVQL25DQVA2?=
 =?utf-8?B?NEVTRlR6QWV2NVA5VmR3Q1RGSFR1eE13RVdJeVl5MVVKdGkyVXIzV1RFeFZO?=
 =?utf-8?B?NEdPWVgxbHhkWlFRSzdYMUxnM1dCSEg5VU4zU3NwUXBhbU96bE9EL1N1VUR5?=
 =?utf-8?B?NGUyV2Z2SDY2MjVaRVA3NW40d2lJVXJvL2xWbWJrWG5OMkxYeE12N3U0YkMx?=
 =?utf-8?B?dDJmd1hQcmZjN0RITnpRUUFXZElyTEVwWURhdCthTHRHM3VaWFdHc2hKOVhX?=
 =?utf-8?B?d24wUTJvZGtyYldacHRtNkZHMHRwazQ0YStTMFdCOGYyLzI1V1VJMWFLZW5h?=
 =?utf-8?B?T3Z5Q21kWVgxYldENGg5WmV6aEhQUWoxaEdIdHl5Vnl1dnVnc2tQZ1hWN3dZ?=
 =?utf-8?B?NjcvZ1BSRHB6MlFlTDhRZnVFR2o5V2dSRDBINVRmY0x1MUNXT2xPUHBYYnI4?=
 =?utf-8?B?dkdKUkxVYlIzTXA0QSsrUjF5YjVVUWsvc3Z2a04zTVBydE1SRDVlN3dyL294?=
 =?utf-8?B?eFVDbVFaSGtoUXdBSE9ZNU5VNTB5ZC9QdFQ4MC90ZzJSVjdDWUgrKzRxbTBI?=
 =?utf-8?B?TitJRzlWKy9Ed2pPd1VBZDdnYzJNK3VQY0loOFViL1ozcTAzUkhLWTkwVFlR?=
 =?utf-8?B?VXZWaFJVWGJ3TXhpb1pPZ1ViZXRYa1l5ZW8wTTBTNHVLNXExKy8vN1JoMjEw?=
 =?utf-8?B?eVdLbC85V2lNRk16aksvSGVJV09PMGI2NFpEcUo3T2FPNXoyY2ZyTHVaRENI?=
 =?utf-8?B?aVNINW5odnlJQXowcWRVeEFnT0NSYXlYVnRZYmNxdXhvMU9KZlM0NmdVcmV3?=
 =?utf-8?B?RGJhaWFMSlhUMFpqblU5QUFMVnJPSUJiMGx0NzEzSHRlajFwUnc1cnVwRlRS?=
 =?utf-8?B?OEY3azVuSlZyQkk0R1ppVGdKS3Z5OVZIYU5TRVN1eEZkejhGK3QrOExZS1d3?=
 =?utf-8?Q?gUYCXSvA0wjxAnXFGvcYgJSgy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4bfabec-f9c7-4a8a-e4c2-08dba962379a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 14:05:50.9332
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ArmkAR8rIsCqMCnEZprkVwnm/x4q7WMHRLT/I0x53EUNMSZLvGQ4P8/XsIqFjr9bqELORcIcKp35zWA+bdxUhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7979

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -413,6 +413,18 @@ static void cf_check cmd_write(
>          pci_conf_write16(pdev->sbdf, reg, cmd);
>  }
>  
> +static uint32_t cf_check status_read(const struct pci_dev *pdev,
> +                                     unsigned int reg, void *data)
> +{
> +    struct vpci_header *header = data;
> +    uint32_t status = pci_conf_read16(pdev->sbdf, reg);
> +
> +    if ( header->mask_cap_list )
> +        status &= ~PCI_STATUS_CAP_LIST;
> +
> +    return status;
> +}

Imo we also cannot validly pass through any of the reserved bits. Doing so
is an option only once we know what purpose they might gain. (In this
context I notice our set of PCI_STATUS_* constants isn't quite up-to-date.)

> @@ -544,6 +556,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
> +                                PCI_STATUS, 2, header, 0xF900);

Rather than a literal number, imo this wants to be an OR of the respective
PCI_STATUS_* constants (which, if you like, could of course be consolidated
into a new PCI_STATUS_RW1C_MASK, to help readability).

> @@ -167,6 +174,7 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      r->size = size;
>      r->offset = offset;
>      r->private = data;
> +    r->rw1c_mask = rw1c_mask;

To avoid surprises with ...

> @@ -424,6 +443,7 @@ static void vpci_write_helper(const struct pci_dev *pdev,
>          uint32_t val;
>  
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~r->rw1c_mask;
>          data = merge_result(val, data, size, offset);

... the user of this field, should you either assert that no bits beyond
the field size are set, or simply mask to the respective number of bits?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:21:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592981.925852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbM4F-0006pL-Sd; Wed, 30 Aug 2023 14:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592981.925852; Wed, 30 Aug 2023 14:21:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbM4F-0006pE-Pb; Wed, 30 Aug 2023 14:21:11 +0000
Received: by outflank-mailman (input) for mailman id 592981;
 Wed, 30 Aug 2023 14: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=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbM4E-0006lJ-2J
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:21:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74654cf7-4740-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 16:21:06 +0200 (CEST)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 10:20:59 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by PH0PR03MB6692.namprd03.prod.outlook.com (2603:10b6:510:113::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 14:20:57 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::8f94:c73a:ffb7:d5e2%5]) with mapi id 15.20.6745.020; Wed, 30 Aug 2023
 14:20:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74654cf7-4740-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693405266;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2YFZ/Em2ZtvFgLjrGwSDE4nGbOZACtp6i2zVJkSYWR8=;
  b=JpW80QDtcuzJm1iwfhgsg0wSsSHkfxd2RVOGjf0PaZZBSUDiK560WnUt
   K8OfCVWQeAtElcWnnjEbbPr1moCKXFRjPZhcn8qyNcCaUk8+TE/n8VlFK
   svWihByhdNBI5M+FKEQ4vfEH0Ru6Z2fcap7EchUCH7czy+FQ4z2BQ+bWu
   k=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 123834626
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6rP+HqkZUCZkATieTSUn+Mvo5gzDJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJXDvQa62DajOke990aYy/pkxXuZfSx4NiTgI9/Cg2RCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K6aVA8w5ARkPqgb5weGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 exAERsVdhOou7mdzJjgUMxgpfotK/C+aevzulk4pd3YJdAPZMmZBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3iee3WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuboraI02gP7Kmo7AwA0ZXHjqPqFjUvvfshwM
 3ML1DQQhP1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xBGkCST4Ha9Ugu4k1XxQl0
 1aIm5XiAjkHmKKRYWKQ8PGTtzzaESoIKykEbCwNTwoA6vHipp0+ilTESdMLOK24kNzzXy3xy
 jairS4iirFVhskOv42n/FXvkz+q4J/TQWYd+gzSV3mN8gB9aYiqdoGsr1Pc6J5oJYeCR1iFt
 VAOmtSS4e4DC52AjmqGR+BlNKmx5uyOOTnVi0NHFZg9+zmj9nivcJoW6zZ7TG95P8BBdTL3b
 Uv7vQJK+IQVLHasdbVwYY+6F4It16eIKDj+fvXdb94LaJ4hcgaCpXtqfRTJgDqrl1Uwm6YiP
 5vdadyrEXsRFaVgynyxWvsZ1rgogCs5wAs/WKzG8vhu6pLGDFb9dFvPGAHTBgzlxMtoeDnoz
 us=
IronPort-HdrOrdr: A9a23:6ebYDaiM4qIsmgiX2yziIqfhXXBQX8d23DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03I+eruBEBPewKkyXcH2/h3AV7EZniahILIFvAZ0WKG+VHd8kLFh41gPM
 tbAs1D4ZjLfCNHZKXBkXeF+rQboOVvmZrA7Ym+854ud3ATV0gJ1XYHNu/xKDwTeOApP+teKH
 PR3Lskm9L2Ek5nEvhTS0N1F9Qq4Lbw5eDbSC9DIyRixBiFjDuu5rK/Ox+E3i0GWzcK7aY+/X
 PDmwnZ4Lzml/2g0BfT20La8pwTwbLau5d+Lf3JrvJQBiTniw6uaogkc7qevAotqOXqxEc2nM
 LKqxIAOd02z3/KZGm6rTbkxgGl+jcz7H3Jz0OenBLY0IHEbQN/L/AEqZNScxPf5UZllNZg0J
 hT12bck5ZMFxvPkAn0+tCNDnhR5wCJiEtntdRWo21UUIMYZrMUhYsD/HlNGJNFOC7h8ogoHM
 RnEcmZzvdLdlGxaWzfowBUsZeRd0V2Oi3DblkJu8ST3TQTtHdlz3EAzMhapXsE/IJVcegy28
 30doBT0J1eRM4faqxwQM0bR9GsN2DLSRXQdEqPPFXODsg8SjLwgq+yxI9wyPCheZQOwpd3so
 /GSklkuWk7fF+rIdGS3adM7gvGTAyGLHXQI/llltpEU4DHNf/W2XXpciFrryLgmYRQPiTjYY
 fxBHoMaMWTalcHGu5yrnnDstdpWD8jufYuy6UGsmK107P2w7LRx5zmmdboVczQ+GUfKyrCK0
 pGegTPD+N9yW3uckPEoXHqKgbQkwrEjN1NLJQ=
X-Talos-CUID: 9a23:qoIH52+r33HFVVm6XbOVv15MI+s9an728Cz7L2XjE0Nla4ObTmbFrQ==
X-Talos-MUID: 9a23:pxbTlAW5HJIp9cnq/DTxpgFIbM5r36OrWWUXvo05pOeaCwUlbg==
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="123834626"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OKN2ww5rrncrYoXi9eIu2kxRx7GeZwO3CBOp9fhgg6Xx0j8Ww93iLEHRWir37Yd0WYWy/lKx8mCclMFMz/8JFDERwzgs+s9plKggeP3drdYWk5oM3X78XwqERp439FJmcG8YtmOBEFKrps6qauGefsiVyjjPXoBMwtNZCHNoQrF9P51tw/Yb2PhqjOplbs/FxFo1vh+CZmxgruaYPItoghcE1kRxqfkw3nOOdxhptpQVvo8DDmcdueAVJfdSI/kWfSXJHCtHYTMuMuiQ4JHQ/W2IcQiK/tB1VoNLz/mXMF4hk5EwaPbvm/xs+IR4tkFNdNiOvb97XxRMONYqhMDqMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2KtYR028JlnltH1yWQiALBKl0G18xL6aSSyGD9asr1A=;
 b=CHzEHCfLADxP0OQwyMy+f3/PTdttXS4zUAKvrTiZcK4CIKthwjP0HcjpKgauc2xVgkHyO0QnLEzxJJqBQGxlM6BYqwdOX3nF7GbskR4G3awN6nGVS7CJmRwGe98/mlo8KtBoBh4hkieT8wcKQTy+qMuJAXsCnUwWWogQ6768SNrqgBwBOBKV9PKWjvbzTLXVqEAI0dGUGbQIBz9uoSqUl1Wqcx1m2KX2DDqJFOpHr7N9x0YpXgWy5E2Spo/iIK9ms8jd01HKG+oVzkLkESFufbUfyF9s44jUguY/uW4rUboUJtihQVGSBdBCXfwVl9fjsR15pFtCQI32P93ZzXDSEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2KtYR028JlnltH1yWQiALBKl0G18xL6aSSyGD9asr1A=;
 b=cB0ekdIPZ0A8gRf6+6/ivJEQuru43tMMGHnrINY7WiodUzhfNoePgi+jmeZxOXge6OYduTQmjE2Z+cQbmeGgiDDb2pQmspnbf0ex5y5v+vu0nLqFnCLqtqVsN1vB/BCXTAoD6t3ZEBHA5gMXxlPEgDQm5/6FojN+UgKbs9nn1wQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2e7acb20-04e1-e69f-eb66-07bd8f9d8b22@citrix.com>
Date: Wed, 30 Aug 2023 15:20:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Jinoh Kang <jinoh.kang.kr@gmail.com>
Cc: 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>, Tim Deegan <tim@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
 <badc045a-c16b-659e-ab3a-37830d1cb3d4@suse.com>
In-Reply-To: <badc045a-c16b-659e-ab3a-37830d1cb3d4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0663.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::10) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|PH0PR03MB6692:EE_
X-MS-Office365-Filtering-Correlation-Id: 682aa571-2e93-4492-4044-08dba964538e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nzueZP/udUfyOuZm2UubDvxxw+z49Yefp+Bi4VmYsqSpIRQeWybJC1KnKJcc+k7byhCFkTdhj9rY3NkCVwI0P3EtfYwRe/gmWFAuT/oiRlaTtuenA3BL9/LxMgrkDQwmr6clnIbNUicKy81tKmRscpa3yDnfBKdJO+6ik4XiFX1ohrpDU4MumTOzbH8GgjNFyseLI5FCEqeIlxvrj2m9s/jiBnnd+nz35eHn7NLZumi/67H7iv5RpVa/tlNkjRzwSlALvWLXTH1v7euDff1DNXoRZJhV4xU1Axkz6ePFvO2bZYBY/0hEqAaTKZod3dkod77wDcXICCMxyWgAiG5VXxdBvjsSzH8MOR1ZWxTE0AGQWaijdtw7IOG/Wz+txxIKaFy+f2rwQQUvA4g3qdDuLpehledYg3Z4M0AoPN4oz/2oAY4yvkAw9SAgM5M3Uh2d/tEiR7Jzqj1nUmjD18L06xBY/LobfL6jnXnXVHruMUKK5to07pyYNliiJDyeH33JEpYSTdbTJsqHsCXOfLwNYWeQ2M4mWFsof9NwZG3BYh1Xr5w45j+bzT9+bOu8aMnidseYcOeXeZEQDRStr74ei5Y2PSGDc4Nbh6KzJ6ENu8pQ6G1VL84Y2AFrMfZKtYzW8qwB9reYdUlUtFn9lsm5qA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799009)(186009)(451199024)(8936002)(6666004)(66946007)(31686004)(478600001)(110136005)(53546011)(6506007)(66556008)(66476007)(54906003)(6486002)(316002)(38100700002)(41300700001)(82960400001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(2906002)(83380400001)(2616005)(86362001)(7416002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTZwWnBQMEx1dGI5anNoOC9BcE05bE1PK3VGM09yYmNpeTk1TldnZkEreWVY?=
 =?utf-8?B?N3dSQmlXSkVEQ0ZJTXVNeTh5UUVBSG8wQmI4NlNIY3FPK1VVRTZ4d0k3R25M?=
 =?utf-8?B?SmIxUVN4WFV3WmtKcjE5N2JmQU9JYmZkclprUllWbER4UmxXQzBwQVdTU0dw?=
 =?utf-8?B?Y3FVbm1kYjdmaERLamVNZjhSTHFGNFlwckc4d09OWUZRYTRoWVlnaUxwd3hQ?=
 =?utf-8?B?S2w5THJ0bjVtUHNDWUZRdk1GT0taQ3dyU3ViQ0JQTHBMczVNTUp5ekw0TXlv?=
 =?utf-8?B?bSszN3FVbHJib2JZWGlhRDVBRmI1VXF0a25lY2FSU2twbGNQelRyY2xlelNz?=
 =?utf-8?B?TXlOdzJqQkpwYkplRG9LYm5oNVhTdnBLcHhiSlNlTnNOT1hCWVM4OENBMGRJ?=
 =?utf-8?B?Nml6WFpJWmptVWtKRk1Hak5Ta3BoNnBHMnlTOGJOMW84Q1dIN2txeUdvc3pl?=
 =?utf-8?B?L2ZMUFNTUmlhQXpYZVFaYWc4ZHBPbmZkOEpLdUtmbUlSaldoL3J1NWE2MnhE?=
 =?utf-8?B?RXc4VVk3N1cxT1RwbHdPWnNVcFJqTGEzaWtBeHlicm9FaVNodzlQNlNCaEpl?=
 =?utf-8?B?WSthVndiUU9GYUw2OG11cDg0Vms4UDk5OTU4MkdJaGY4VGt3UGpBY1BTNHNH?=
 =?utf-8?B?dTFtaHpnZ0VoUWV0eklOZEZHUHJqZjVsVWJHTk5SdE1KUzVmQkhuWmQ2RWJ5?=
 =?utf-8?B?QnNzRTRlWG82WVFqbDMySnRjelpjek02UFBpOEhOZEpJZjU5Yyszb05MNjZE?=
 =?utf-8?B?ODFtMHFyOWlIcWtnMUdva0NvMDRtS1FqQjY0bjF5UVQ5Y1RmdTZ6WXNzZTgx?=
 =?utf-8?B?UFJicWtSakt6a0ZBMlg3aE9EcE5BbGhPRFJKK003WExMRzdSVUZqUmhOUmZS?=
 =?utf-8?B?d1NMZXJiYUhCQXRpZVNGSnNoLzBuS04xbnYybExadnRvL2RXZG9US1ZkcEtp?=
 =?utf-8?B?M0JjbDI0SGhhOHArU0YwRXdJNVpJU1I2bjZQN0FxWTlmZ1ZtSXc5eDN0U09o?=
 =?utf-8?B?b3Z3N0wrTWtXZllMa290YkJzckRML0sxNmhjWFM4K3NpTytoNEJSemkrRnV5?=
 =?utf-8?B?VmVacXVNT3hPeml5Y2VGNjY4bVdRbVNLN2JGK2h4QWdMbm5GZlBRaVpWVEdT?=
 =?utf-8?B?VGN6L2xJSFZoblUxRGJoUHR2YUFxcmZVN0V4amMxb25QYUVFQmErYlowREI3?=
 =?utf-8?B?ci9EbkMwdnh6RkRjQklvcnlVd2ZHZExxYitsZ2xiTUczSjZndlhDdm1BZHQ0?=
 =?utf-8?B?SEpRejFYdTZqL3hHSzlHZmF4NEpPNmdUckZZcEpEanFSQTl5OU5oN0NKK0wy?=
 =?utf-8?B?eDhJUkdkMGN5b2ZHREZHWEoyWnY1ZHp6alVOVTMzOHZESytST3NWMlpkSzdW?=
 =?utf-8?B?QXVnTSs4clNyU3lUbnFBdG8wcGlDQzNVWGtXdEI4MzNNelZBeUFSenJxNk0w?=
 =?utf-8?B?djlTNTFxNmtBeWlncEFXZ3QyU2VQNFNWVVZLbXo3V2hwV0tlMnBHaGlQS1V6?=
 =?utf-8?B?WGtTWWk2OUxjaElkSU56Y2xKZll5ZFZtSEtCSHI3TzRNWXZoT1pkS0pzelJk?=
 =?utf-8?B?Yytjb1hMNGR0ZVhpeVpucitqNUtWQ3ZxVnh5QUxLMTQ5eW5jcGhPRXBONjBj?=
 =?utf-8?B?dTdNZll1MDQ0Tk8wYUk5cEhoVCtrK1MvZnhpdXZ4MHdNWlNhT2pzbVhPYUNJ?=
 =?utf-8?B?cUdGdzZ0TDRKeWhueWRDaVEvYUxpSklKMW9JZlFhd0ZIaWRiQ1RwcGNLYlZz?=
 =?utf-8?B?SytlSE5TTEVVaWg1clRjL3pXUDMvelhKbTlURmRFeG1wMVgxTy8wZzZYcFFE?=
 =?utf-8?B?T29Qb0hjM0lVODlXWUZ0SG1FbTBpL3pNVVB3bUZhbGcvQzVZUFpmVmNDZ0xS?=
 =?utf-8?B?aFpyRVZCUDJXVTFHMXBKZWxDbjJuVGkyUFoyUi9qNUJQYU9qdFhuRkpXMW8w?=
 =?utf-8?B?Um9uOU5udHJOUW5jaHkwM08vRXVqejBjWEJDV3MydlF1QW00RDlvVU5mNmRQ?=
 =?utf-8?B?TmJwMkM1NTd2ZXVvMFFhSmdxaHlxS3lTanZ0eTVWSk9oRGhOYTZrVko5aFF2?=
 =?utf-8?B?Mjl3OXhFRGRaeW1ucVUwUnRmS3NUekkrRnJWcVkwT3NlaXcrdGRSeEFoZmRI?=
 =?utf-8?B?OVFvbXd0dXJBbFROQ3Z0T1FQNHZORW9LZGk4aEFXTjNtbHJXWnZDNFhLN1By?=
 =?utf-8?B?bnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?WVNiZERqMEVZOG96N1BUSjRLZFpDMWl2blNJYk10bFNRaFgyNnV5UUlNUTNr?=
 =?utf-8?B?M1F3U0FzTG5xRVdQekpJL09XNGdVeFdrd3IxSzZiVThnc3NaUTBMZTNwcmlu?=
 =?utf-8?B?OWE3TDdmYUUrbFd0YmkrYnBlK2RPRlArbC85a3V6Ym1laUVGc3dmU2M4eko2?=
 =?utf-8?B?NThIVnJPVkFpK1VUZGVmamNpWWQ3ZGJjcURkTzQ1Z3R4S3Y4SFNFZERURDRW?=
 =?utf-8?B?cGdwRGMvVlVHcEk4bVVZR2FkcGxxbndieVlqUnRndnNlTWMxZFVUQlAyTXoz?=
 =?utf-8?B?bVRtVjV6ajFhU084enRMRTExRFM0c0ZzVDlQNGkydXhSbUpzQUtXQmtZN0NZ?=
 =?utf-8?B?alE1RUVlTkdmVkJSdmEvb0dJUVkwSURlTDkwQWt2RERCOGZkUndGM1RmVU92?=
 =?utf-8?B?VzdGVDNVRHJydHZaR2xpakJuanFqSmNKbjRLSkZrdWNsYWk0MTVmeWJFd0xF?=
 =?utf-8?B?ZmNGQS83RzhxUzZEVFNNMUFIWUxaUVk4L013M1Vkak9iT1JsU3NndXRwSjUr?=
 =?utf-8?B?RFh5ZjJlVE5JTVZtZ3d0VDRqUEVOQndVSlk0YzlkWDlVNlQrM0F2NFpaaCtC?=
 =?utf-8?B?MjNpMWs1a1g2c25ucGpKWk9QcUhWT3RTeitoQzkyYUFpVEg1MTRmd3VJRzc0?=
 =?utf-8?B?aDlzeWVKY0wyYnNHS1NSbjNqRHV1VjU4eWh5N3pLajVWUTdzL2toeEJIMnpP?=
 =?utf-8?B?RStlWm1uN3lLOXpPKzlQeHd4cUZhRGpFa2RvalV4K0dUcjgyN3dqM0IvMDJq?=
 =?utf-8?B?aW5sSHNIaU5ybjBZY3FVay8va3YvZGJzWnZOd1ZWMGRRcHpNVk8vTzdyZkR3?=
 =?utf-8?B?dndmaGQ5NS96QjNlUWZqM2NOQmpVaWNHc1F6SlI4RVBObm1XL3dZayt2cEFT?=
 =?utf-8?B?VWZweFFIQWRIT1lBclNOa3B4YUdPR3VKdXdOTWpNSlk4dFNnc0Z4aFlFVTlu?=
 =?utf-8?B?dnh4OS9mMDhPY21rR3RYR09zUmFWYmdOdGRNdGNNQlpoZm9HaXBxQ2lFbEU2?=
 =?utf-8?B?WlVsWmFwQzFmZHpWS1lBNUJuc3RrWHhqTzJqRVJ2RFBVRHdlRzNDNEZOZWtl?=
 =?utf-8?B?UFpwNUd5c2hYSUlHcG9NTzlUcWI1Tk1iZDhRS09tSVpEMjltMTByeTM2Q0Rr?=
 =?utf-8?B?UUlzUDhqYmdOM1lSSXFVaTM4N2VGUnV2T3E2Tk11czU1cWpnVkkvcTRqMmcw?=
 =?utf-8?B?Q0RXWHZGYmtsME5sQmFZbWJnVStZeTNpWlBQdFRxUGtKWE04R0gvM3lNb3hW?=
 =?utf-8?B?ZEY3c3h5MU8vUEd2LzdLeUJyeWNPdmdCQ1pNaEEyTkpKZlFRdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 682aa571-2e93-4492-4044-08dba964538e
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 14:20:56.9837
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 87gZn+csXRHrQUmS4rAaTQDKdp+GAkuMr/kmRIOSSi3fKlip5itnoJQb0agK9ZixuAQ2ZLCWIQkOyyZpGApW4PtIUrsSbWbRbSbntF1CZko=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6692

On 30/08/2023 2:39 pm, Jan Beulich wrote:
> On 24.08.2023 17:26, Jinoh Kang wrote:
>> @@ -62,9 +63,16 @@ void pv_inject_event(const struct x86_event *event)
>>              error_code |= PFEC_user_mode;
>>  
>>          trace_pv_page_fault(event->cr2, error_code);
>> -    }
>> -    else
>> +        break;
>> +
>> +    case X86_EXC_DB:
>> +        curr->arch.dr6 |= event->pending_dbg;
>> +        /* Fallthrough */
> I guess I have another question here, perhaps more to Andrew: How come
> this is just an OR? Not only with some of the bits having inverted sense
> and earlier logic being ...
>
>> --- a/xen/arch/x86/traps.c
>> +++ b/xen/arch/x86/traps.c
>> @@ -1989,17 +1989,17 @@ void do_debug(struct cpu_user_regs *regs)
>>          return;
>>      }
>>  
>> -    /* Save debug status register where guest OS can peek at it */
>> -    v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
>> -    v->arch.dr6 &= (dr6 | ~X86_DR6_DEFAULT);
> ... an OR and an AND, but also with ...
>
>> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
>> @@ -78,7 +78,10 @@ struct x86_event {
>>      uint8_t       type;         /* X86_EVENTTYPE_* */
>>      uint8_t       insn_len;     /* Instruction length */
>>      int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
>> -    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
>> +    union {
>> +        unsigned long cr2;         /* #PF */
>> +        unsigned long pending_dbg; /* #DB (new DR6 bits, positive polarity) */

As a tangent, since I wrote the original series, there's #NM and
MSR_XFD_ERR which needs to fit into this union for AMX support.

Sadly, the only AMX hardware on the market right now has an errata where
XFD_ERR doesn't behave properly here.

> ... the comment here saying "positive polarity", which I understand
> to mean that inverted bits need inverting by the consumer of this
> field. If this is solely because none of the inverted bits are
> supported for PV, then I guess this wants a comment at the use site
> (not the least because it would need adjusting as soon as one such
> would become supported).

Part of this patch is (or was) introducing pending_dbg with no logical
change, but as I said, I don't think I had the original series split up
quite correctly either.


This field is more than just the inversion.Â  It needs to match the
semantics of the VMCS PENDING_DBG field, which is architectural but
otherwise hidden pipeline state, similar to the segment descriptor
cache.Â  The other necessary property is the (lack of) stickiness of bits
in the pending_dbg field.

All of that said, having talked to some pipeline people recent, I think
pending_dbg needs to be elsewhere.Â  Or perhaps a second copy elsewhere.

Some bits stay pending in pending_dbg across multiple instructions.Â 
This is how we get the MovSS-delays-breakpoints property that is a
security disaster elsewhere.

The problem with this is that we can't get at the pipeline pending_dbg
state for PV guests (where we've only got an architectural #DB to work
with) or for SVM guests (where this state isn't presented in the VMCB
despite existing internally).

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:31:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592988.925862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMDj-0000Bv-Qw; Wed, 30 Aug 2023 14:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592988.925862; Wed, 30 Aug 2023 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 1qbMDj-0000Bo-Mp; Wed, 30 Aug 2023 14:30:59 +0000
Received: by outflank-mailman (input) for mailman id 592988;
 Wed, 30 Aug 2023 14:30:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wycy=EP=citrix.com=prvs=599e76caf=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qbMDh-0000Bi-Km
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:30:57 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2653ab2-4741-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:30:54 +0200 (CEST)
Received: from mail-bn7nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 10:30:51 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by CH3PR03MB7314.namprd03.prod.outlook.com (2603:10b6:610:1a4::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 14:30:46 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::7b93:d9b3:b043:8c8a%6]) with mapi id 15.20.6699.034; Wed, 30 Aug 2023
 14:30:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2653ab2-4741-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693405854;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=hfRGcW9HHNcjrVbjxv50n6A8BUU9ZAZmD5krWgh36g4=;
  b=aviBojdCqKqL4z9xOmrK/vSGxcnMlWJpzOZBVZk2vtVSZe71QS3/qs28
   43t+NqGrZpLvBLilTq1Lr/UcI41XYAwCs7nZXJh9552O9R4vU/uPvnmP3
   CLP+EggrROGFgPpYlu/L1303JyfvZSGqiFtk5ER6uePz3+gnwT/PPWkEC
   g=;
X-IronPort-RemoteIP: 104.47.70.103
X-IronPort-MID: 121554694
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ouvXcKJA/SVoKt7VFE+Rw5QlxSXFcZb7ZxGr2PjKsXjdYENShjIGn
 2JOCj2AOarfYGf3ftkkatng8khTsZDWzddjSgZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrZwP9TlK6q4mhA7gdmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5YAm1v9
 uY6eAoIVSyShLiTxbGKQLdj05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLl2Sd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv237KSwX2qBOr+EpW3scdQj0TO9FAfFSM7ane6q/W/0HKhDoc3x
 0s8v3BGQbIJ3G6BQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBONB0mLicSHbY/LHLqzq3YHARNTVbPXRCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlRdCtn/No590j5EWQ==
IronPort-HdrOrdr: A9a23:kNbhkqGW4VvjuYg4pLqE7MeALOsnbusQ8zAXPhZKOHhom62j9/
 xG885x6faZslwssRIb+OxoWpPufZqGz+8R3WB5B97LYOCBggaVxepZg7cKrQeNJ8VQnNQtsp
 uJ38JFeb7N5fkRt7eZ3DWF
X-Talos-CUID: 9a23:1Q48l22YegsBMdG02yiNSrxfNcMpU37H7ifqJnSEGGUzbbiWeFXO9/Yx
X-Talos-MUID: 9a23:ws4PhgnWqIEoz2SAAkUndnptc/5S7L3zOnwBjKsrhOWFPyB2YQuC2WE=
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="121554694"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oZXOy3RHKEJhEE9SlFMC5ix2CGhTdm6JgDnJniT7wv4KgGhEei00A1zaS9/qgJjGU+PBKXAY6ujmhd0ZO2PzX41+Jm+izUNJdeEncHV/vWN+NYkPU8m9JEX+2h9guQHA7N5JG+iUQdIG9PPdJUl12/vLkhZoOXgTF0aROz3lvv2kwvC+ZmbE/hwa8kMKuu0yAAJmCc42vMthPLYLhhe3pw3nfjaDalZOyhJ0TUvwhZzjWl/DW0SsQxAHWlWGhSAyh/CclAlU5e6AkuKvj6CZzpm8m6gyHe8c/tiRhRZVNPel33RkLBSsS3fvTQJhKm4wH1cHtrYeuNCUdI3PlamLIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wrAntrUFS0PNER1y/IkKcmfhlTu6YHWWNlWMkeAMyPY=;
 b=d53GmECkc+gaR3eJfUJ7taJ3FZzbN2u3s+Wz7ZXa7c+H/7E9a7EFHHPTVfy1blJQbFzTNE1rWdPGiw1leopQX0jwoVpcvGsUzHEZGVhAUAtqlliHcFjlK4aOocHH5kHjTR49GrStyjiEjFesN3I0KGD/lbKMJIXTOc3zvKNbtmFUQzdxAd56Aj47r6uaP3Ie5eTYIHKPAXgvM/Muae3z/bLWMSo2buNI8JgQOMYiwuBk0my5z559P79LLCCXlB2Q3NOTwIEkgbAHlBnMjDGvEq6cy/dnwqoYfMNZzbncL0XMxIa/5HzEt4PktyVwo3KYSyuQIn1qKmu7H20RWGY0Hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrAntrUFS0PNER1y/IkKcmfhlTu6YHWWNlWMkeAMyPY=;
 b=A0sDdczfdgLhlDy8kU7S3mIc+tdtMgIDNkKwUCgx2vObv/jJyCsxmC8AjeTzViimW2FHCdBl7FNedauj2xf2rZgJd2CDngOwzPfFWnXlR14y/kQFEVfACIDsL6hSas5mRtWopLPXpbyui8uecbvaMHZxAJeZ65Zv+DBJLBmbxVY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 30 Aug 2023 16:30:39 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul.durrant@citrix.com>
Subject: Re: [Xen-devel] [PATCH] x86/HVM: correct hvmemul_map_linear_addr()
 for multi-page case
Message-ID: <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
X-ClientProxiedBy: LO4P265CA0189.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:311::15) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|CH3PR03MB7314:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e357ca3-aeb5-4e10-3376-08dba965b2c9
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9LmU2W4zkZWo03Cj6EAhlhYP6eth25qBvlC1kJvXWgCGu1unyK4FxGDxWtfUeKG9DrUxHeGFbj6lqTv6gGIWR+gsoGNEb96Wp/RdnR1MrsGlvJWAG7pkLVH4SGl7vIhzrhSbsBU0padzq/VSM4khFgMOA3EbOZZpmo/fhj3e7MJooynf7X6IHVZ+zxTH5SJzxSQnyNYmHgpJXrf5GeXbtM7TDInf9GbtxSNjb8G861AqojNMGOGZLjUnbLfN/ME82QUjcwbe/jgoCxkJNFI93qUG+3vH2psWElUOgLE3P6r/HXHLRjnHmRZ8gkfiL5bPwym3DdAgyGL6jsolw0XpXg4UZNH+YuXoZuUwFvd+st48oCiZwZFruEVvPbrz8+jOiHXV2Tp7QKprvYJj9fn5yML2vTO43Gbo13Qcpmz4dd2JQBr64qCh18ET9HZJzAEZ0IoljA0GLYgEb71rcD1ayXKubHjUbO7GntjoURGKSWqFQGPTUoMY50N40ZEpQF4hxZm5Sqkapki33OrrAUjxgwsl/82to1nUlbwx/chqbTqWUSqHUKUy8G0pVYq82MZHjkmstSBMPxFslElJjYlDyE6yOCcHzryHIDK6L9glM5AvwyR9RdRNs9nRcKUi+5uH
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(346002)(136003)(396003)(186009)(1800799009)(451199024)(6506007)(6486002)(9686003)(6512007)(6666004)(83380400001)(26005)(478600001)(107886003)(6916009)(316002)(41300700001)(66556008)(66476007)(66946007)(4326008)(54906003)(5660300002)(8936002)(2906002)(8676002)(85182001)(86362001)(38100700002)(82960400001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmFkWnNlTXMzQVQ0dUVxTXV5TGtUT2VkWHhTbWJHYSs4ekN5MldpaG00Ykpo?=
 =?utf-8?B?d29id2tNMk4xekRnSHFWUkNDOFltdk5yWFluU2pZekhHRzlCREZuMU9LMzhh?=
 =?utf-8?B?a1RNNVR2aHBaMmh2Yk5aeGM2Y05MaFk3MW5CM0o3UTY3QytkcUhYL21MbWNP?=
 =?utf-8?B?cEpkK3FFamsrL3N1d1lpN0FPaWtmeXJFRmtvRyt4S1JuMytqaUtYQm02ODUr?=
 =?utf-8?B?TWVDODBDRnVNUm50L3dSMmVMOUIxbTRZVVlaTEFsUFVxa0QrbDdzRUlHM3Br?=
 =?utf-8?B?SmlaUlNLRC96QVZweEx2b1RrNWE2ZWo3bDUweG0wbnI3RndaanBEZUhyLy9k?=
 =?utf-8?B?dTNpaU9ENnNBRUF3eWVwTHcxZjIyTzdWcXVhTmg2UWF0YzRLUEl4K01NZmZw?=
 =?utf-8?B?R1FNTlo2a2pjeVFOUzIwTUpReHdXSTRFV05pVjFMOTVQemw3VjZCbDVLRHVn?=
 =?utf-8?B?ZE9xL1drZ3dMejcvOUZkVTRFYUZKWFV4aXVsR1dSSS8vNXhWaWZvVS8rNVpJ?=
 =?utf-8?B?Z2gyM3liMVRwN295T2xaL1cvVXE2MEk5Z0pPVjVKTE1Ua0g1NVNUanZ3Yk03?=
 =?utf-8?B?REFvVHJ4THFyd2R5Tmc0dHNrVTJLcnByWVdNOUJMY3loWXNNNzVWdDNSRUFo?=
 =?utf-8?B?K1NoOHdVMEVBVEJOZjRCVU5IN2FIMlkvdVBkamU3c2ZVNWJra3crWkw2cGEr?=
 =?utf-8?B?YVVKOFVjWWJmZDdSSzB6QVJRNmJtMTR2SE9FeWZQY2lGbEc5d21NUVA1ODZL?=
 =?utf-8?B?UUxSS2JOMG1LK1R6NStlb2xBSUhSM29zVWZ0WGtHd05pVWFUamFWZFJndzNh?=
 =?utf-8?B?OHpaSzBpMEJ1bGpUWEtuV1g2QzVEazBYSUpKL1dETWNna1ZvYlcvWUxmZUtr?=
 =?utf-8?B?UU5yWG9XYXZoZm5nQ0pQaW5vQUh1Q2hnbE8wdStGMEZyYzlyaFl6QXdML2Yx?=
 =?utf-8?B?UXc1U3VxMVVWRGYrUFZYbmE1U1dLWThvelpYRWl4a1ZYdmFDTjlhdHJhT21U?=
 =?utf-8?B?bkZoNmt6a20zdjM3QXZEa1NTNnlPK3NHbFVSb1ZWYlphR1h6Zmo1WmEzeVNZ?=
 =?utf-8?B?a1ZJd0ZuSUVIeHRtNzkrNHk0S0NKaVlCRkJJUisraVlxeEtEbkpSSHRpZy9L?=
 =?utf-8?B?SjFia3RhRTJqUGpUUzJyUzBZYjl3Q0lqS1pwUnBVanhad1Z3UFVPS0ZaL1JV?=
 =?utf-8?B?ZEVVK2NPaUdQaVNtMm81WWlIR1RsRUVxc2FnSi81My9zbUpVL2NGaUNJdUI0?=
 =?utf-8?B?eEl1Ui8vUWJxeTJMNUFRUXFVZXplUW5ydXhLRjBLRzFEdjI4S2pHSUV4RHFK?=
 =?utf-8?B?NlFKVm4wMTRIWnhSQ1NNemhZYWgzZUZrNHNuYndNeG1malQ0Mk5Cb2w4OThI?=
 =?utf-8?B?R2d3SHVqQ05kUUQxMDdXUWJTd3NFMGlGQVk1cE1oRkdRUG92UHliblJXNGdT?=
 =?utf-8?B?SlVlcEpwM05jQ2lJektiTXg4SnRxYlhmbGdTeE8ySHhreEVuY0h4cERJck5w?=
 =?utf-8?B?eG5JdUpBUitVdVRCcHFXUG9YUDc2RThRZFVKMkF6ZkFaZlkwN0IrSHgwaHZq?=
 =?utf-8?B?RDkyU0NObVBYazFva3F2MnJheWdFMGVIM2tvall4ZE1pSTJCLzZTdEZDV3lH?=
 =?utf-8?B?QStiZ21UekZicER4RHBKeGtEMXVjYWx5THJsTGwzRzk2d0JGblI5WlFxL1Bm?=
 =?utf-8?B?bUhvNXMvR21KRVNGVXZFWlRtYWZlTkhVYWxuR3F4K0hweWNoeHN3Y1pDZFdp?=
 =?utf-8?B?dGROcHJGQTRnYys4U1VsRW5pYW54ZzBCa3d6MThwWlZYN1RpaGdJMDJOM0Fj?=
 =?utf-8?B?YkluMlMvWFovMWM2R0E0MGFMNEROSHh1T2JMREp5NXNwZG9PMWlSdDRQR0Vm?=
 =?utf-8?B?alg0bXMyUGJtaFp2QU5ac05nYkQ5MnhlWFBUcFlNMTN2MmFqYVFpWVROWUtV?=
 =?utf-8?B?aWNjREJ4Zlh3bEJqcmpFWHFKYjdSNkRqNTJSNnRQaGdzQmtYOHBzeCthVmQy?=
 =?utf-8?B?Y1BYOERuM1FXaWpZU2o5ejBFcFJyc2VrMVNXbDBPbitOSjdGUjVmTE1XQ1VR?=
 =?utf-8?B?WlBFczd2Kys5a1dQZVZaS3VTc0hHRnpXN3lpdmhVdVRpOFFhUElCNUY3OTNC?=
 =?utf-8?Q?8t15YzlBAUrasNreqz9DxggtA?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	l+cNrlKGuh0BCCORnhek9gaSLrX/r4V1sTpRFK9PIuhJ5Ze8IJ5pCOAtWGiTo/NHLOviyjhiaVZpz5HsHHhvenAti1qXVdKgo7TJxAtSI8XZ0nwXGzzp1hAeTX4nwe1A/iNamxSVWly1NNIEFtxSPqbhq+fD2XJLUHzQhedSvYcNToN38HzrxGlGrIutBq0E8yFOB4cgJPHxkUWQHnssY6UK745jVXdn4HQ8SPc50lch/XzQf8J8u35RFsWnO/s0w0WdtiSfaJraFjb0gjfjUIMCln7tvYP2EhwX91PEclnw9QQEOk5Nszfy2Wm9BeGtYJqRaplpsz1KbQKtITT8Cy4sU/Dlllu4e4R2XGbvilhlJaklC8KvfoYzCGt9vauPrJwv3tEcH+oqHDEM745PVu9CFRDOekBXvo/I7WuHE1UjZsw3tx9lkzbYoy8j+Hs/8FjzGnNEZyYpgG0I5x44w3gfsCMxQY8vFyzrv+VlgVb62Yfg3RPmQsfOaRObXQLJurVHV4lco+lf5YotDhhvbx4IfccHj6dNeeLRC++a+QjIfbUNHUJV+1NQkuv7flN+R4ohI98cLb4Lt8Fxi/Z02kCNvFKQpqGZ7zYV57lDAGrAPZRk/sKOdo6+KnlIfPRulPxhoZbmHidisEhLYXK8YSfL0pJInizL5ywP9qRsdJ3n4YnR3ELN856QeicSV5+NEjsAUjSUo2PonPv5mw/hx1hTR1rv4pcNszlv9aoiHcxvvURFDp4xcfMKOMYKzS+g0dcLhd3xUGyWjB9yq4vwGy9/yw4mY0oTtIJrlZkRnqc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e357ca3-aeb5-4e10-3376-08dba965b2c9
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 14:30:46.4805
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fGvzPLilq/doyX+3MO4V7YbJTyaEhoQyQkGk2Ih2Tl5/+1tc1jRlHItlAL2aC6FXXFQ7HXF3F9onO209kskeNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7314

On Wed, Sep 12, 2018 at 03:09:35AM -0600, Jan Beulich wrote:
> The function does two translations in one go for a single guest access.
> Any failure of the first translation step (guest linear -> guest
> physical), resulting in #PF, ought to take precedence over any failure
> of the second step (guest physical -> host physical).

If my understanding is correct, this is done so that any #PF that
would arise from the access is injected to the guest, regardless of
whether there might also be gfn -> mfn errors that would otherwise
prevent the #PF from being detected.

> Bail out of the
> loop early solely when translation produces HVMTRANS_bad_linear_to_gfn,
> and record the most relevant of perhaps multiple different errors
> otherwise. (The choice of ZERO_BLOCK_PTR as sentinel is arbitrary.)
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -531,6 +531,20 @@ static int hvmemul_do_mmio_addr(paddr_t
>      return hvmemul_do_io_addr(1, mmio_gpa, reps, size, dir, df, ram_gpa);
>  }
>  
> +static void *update_map_err(void *err, void *new)
> +{
> +    if ( err == ZERO_BLOCK_PTR || err == ERR_PTR(~X86EMUL_OKAY) )
> +        return new;
> +
> +    if ( new == ERR_PTR(~X86EMUL_OKAY) )
> +        return err;
> +
> +    if ( err == ERR_PTR(~X86EMUL_RETRY) )
> +        return new;
> +
> +    return err;
> +}
> +
>  /*
>   * Map the frame(s) covering an individual linear access, for writeable
>   * access.  May return NULL for MMIO, or ERR_PTR(~X86EMUL_*) for other errors
> @@ -544,7 +558,7 @@ static void *hvmemul_map_linear_addr(
>      struct hvm_emulate_ctxt *hvmemul_ctxt)
>  {
>      struct vcpu *curr = current;
> -    void *err, *mapping;
> +    void *err = ZERO_BLOCK_PTR, *mapping;
>      unsigned int nr_frames = ((linear + bytes - !!bytes) >> PAGE_SHIFT) -
>          (linear >> PAGE_SHIFT) + 1;
>      unsigned int i;
> @@ -600,27 +614,28 @@ static void *hvmemul_map_linear_addr(
>              goto out;
>  
>          case HVMTRANS_bad_gfn_to_mfn:
> -            err = NULL;
> -            goto out;
> +            err = update_map_err(err, NULL);
> +            continue;
>  
>          case HVMTRANS_gfn_paged_out:
>          case HVMTRANS_gfn_shared:
> -            err = ERR_PTR(~X86EMUL_RETRY);
> -            goto out;
> +            err = update_map_err(err, ERR_PTR(~X86EMUL_RETRY));
> +            continue;
>  
>          default:
> -            goto unhandleable;
> +            err = update_map_err(err, ERR_PTR(~X86EMUL_UNHANDLEABLE));
> +            continue;
>          }
>  
>          *mfn++ = page_to_mfn(page);

I have to admit it find it weird that since now we don't exit the loop
when HVMTRANS_bad_gfn_to_mfn is returned, the item at mfn[0] might
point to the gfn -> mfn translation for the second half of the access.
AFAICT that would happen if the first half of the access fails to
translate with an error !HVMTRANS_bad_linear_to_gfn and the second
half is successful.

I guess it doesn't matter much, because the vmap below will be
skipped, might still be worth to add a comment.

In fact, if the first translation fails the following ones could use
the cheaper paging_gva_to_gfn(), as we no longer care to get the
underlying page, and just need to figure out whether the access would
trigger a #PF?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:33:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.592995.925872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMFf-000128-AU; Wed, 30 Aug 2023 14:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 592995.925872; Wed, 30 Aug 2023 14: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 1qbMFf-00011w-7O; Wed, 30 Aug 2023 14:32:59 +0000
Received: by outflank-mailman (input) for mailman id 592995;
 Wed, 30 Aug 2023 14:32: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=6FTw=EP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbMFe-000115-LN
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:32:58 +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 1c0084ee-4742-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:32:55 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-50087d47d4dso9024882e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 07:32:56 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 q9-20020a19a409000000b004fcdf99be86sm2379655lfc.239.2023.08.30.07.32.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 07:32: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: 1c0084ee-4742-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693405976; x=1694010776; 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=BHYAIuoCJpvAEES+PbiKH9+OZrLgsOmwlGRQOXKEcmo=;
        b=ezmG5SlEzpuOKxOA632oQ0GOu1p14UbTcufCX9P93wrz3NxCm/dkANEoW71rxoArm6
         2uMgo37YfBZFsVAA1+o/2/0sA+aHaa5sJuV0L/i8Eu6WkSwccRxmjZFuNytA/BHD8aL1
         20KJsxJWxEBdVfqCPWdshedaAQjN82cT9rLv+EsEVmFFFIc4b1ts+zERCx1YvJ8WjFEo
         4N+t45w7622yuP8jbGHqRxL7dskASkGaZCnLw+Vld1WyxlfHgL83Ewz3CradpWN31/NJ
         lnLhqebDqVmuO9dgW0qU9Y3QrfpQYD8YWsjcrn1Yfms2pXqWTR3e7v9U3zlrU4HL0leq
         G0GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693405976; x=1694010776;
        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=BHYAIuoCJpvAEES+PbiKH9+OZrLgsOmwlGRQOXKEcmo=;
        b=Pkw5Ui3fn3PFlXq1Nwk5neW26MtpHQ/RLqSNMx+d06xkjcjd5LYMG1eFfly/vJQ0fz
         jOuew+by8vjRBmNuvdKRIgU4rixffeLgv+NKGxomBjUypLuFw+HWS7rK0RNXXn73ldMq
         r+JvxNw+jWFw/KQgxcL++ZunBWO2KFGkoHmtGNGaqWn+MzqO39IdzKoiMTzWKOTpQViH
         Ke63oxW4RHtgVUvE2f/S1B/5fE7uMZa/f7Z34A9t3NWW0T8lQBRElgyCWQt8NEAywNtF
         es4G7WjMwGIXC5ll5yEpF9RZjAvXLqZqLCTvOK2y70mWqrSPAu70npiVtuuSf5HcIElM
         c5iQ==
X-Gm-Message-State: AOJu0YyMzDHHzydqMJORx1mN+ZHVNCs3wwAzwGkz0LDOEglIuQi82bQP
	u8Nq4T913oG217YKdp/wpFM=
X-Google-Smtp-Source: AGHT+IHYIXBUt4wGCfJWbnz9z5Zg12WBlGPG1l0fR43G9R/VyPaWPNAGWZTqRq7QWz2A2Nc7zeHhcQ==
X-Received: by 2002:a05:6512:234d:b0:4fd:fd97:a77b with SMTP id p13-20020a056512234d00b004fdfd97a77bmr2088161lfu.50.1693405975684;
        Wed, 30 Aug 2023 07:32:55 -0700 (PDT)
Message-ID: <00082a3665b18054dc2eb3a5446e33f2e7e73ae4.camel@gmail.com>
Subject: Re: [PATCH v2 1/2] xen: add stubs dir to include path
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas.k.lengyel@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: Wed, 30 Aug 2023 17:32:54 +0300
In-Reply-To: <f1af0e80-722f-9f47-0618-a31ffe0bbff8@suse.com>
References: <cover.1693319118.git.oleksii.kurochko@gmail.com>
	 <09fa701d2be02589cc9f63d8334082346b5c1702.1693319118.git.oleksii.kurochko@gmail.com>
	 <f1af0e80-722f-9f47-0618-a31ffe0bbff8@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-08-30 at 09:30 +0200, Jan Beulich wrote:
> On 29.08.2023 16:34, Oleksii Kurochko wrote:
> > --- a/xen/Makefile
> > +++ b/xen/Makefile
> > @@ -438,6 +438,7 @@ ifdef building_out_of_srctree
> > =C2=A0endif
> > =C2=A0CFLAGS +=3D -I$(srctree)/include
> > =C2=A0CFLAGS +=3D -I$(srctree)/arch/$(SRCARCH)/include
> > +CFLAGS +=3D -I$(srctree)/include/stubs
> > =C2=A0
> > =C2=A0# Note that link order matters!
> > =C2=A0ALL_OBJS-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 :=3D common/built_in.o
>=20
> I have to admit that I'm not entirely happy with the name. I wonder
> what
> other REST maintainers think. In particular I would consider using
> Linux'es "asm-generic" name instead, allowing to cover both stub
> headers
> like the one to be introduced here, but also other kinds of
> "fallback"
> ones.
It make sense. I'll update the patch series.


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:36:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593000.925882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMJ5-0001dq-Ov; Wed, 30 Aug 2023 14:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593000.925882; Wed, 30 Aug 2023 14:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMJ5-0001dj-Lo; Wed, 30 Aug 2023 14:36:31 +0000
Received: by outflank-mailman (input) for mailman id 593000;
 Wed, 30 Aug 2023 14:36: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=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbMJ4-0001db-Io
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:36:30 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 988eb4d6-4742-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:36:26 +0200 (CEST)
Received: from mail-sn1nam02lp2043.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 10:36:24 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6637.namprd03.prod.outlook.com (2603:10b6:510:b1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 14:36:22 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 14:36:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 988eb4d6-4742-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693406187;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=vIUdh4RAx+KVoh0QU953pCp1/QEkFsT7wQBOFzcsMhU=;
  b=eVwij6yTYjQnpU4GBsyv2o+pe21+eEwn4vEOtXNhfdM+Kd5jiTk0QM4u
   yrJKNVHGEX7ucJvPwvaLcZ6lbr15aM7zzHuuyaEYPg0kdSdet60SOhLes
   bcn8VDj70S5Sg1WNZ3Sbq1xJRv+tBORnEKcNUExFr2cwbPrMvekuSHELv
   0=;
X-IronPort-RemoteIP: 104.47.57.43
X-IronPort-MID: 121147417
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Swe816i1VYVgzT/0BhD3tkKFX161pREKZh0ujC45NGQN5FlHY01je
 htvC23SPf7bM2GmfNp2b4yzoUMFucPWydRlSFM9rXo2Fy4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyo0N8klgZmP6sT7ASGzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQgCi5RdzKKmtno5+OBR+lIr88qCevSadZ3VnFIlVk1DN4AaLWbGeDxw4Yd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluS2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuThqqE22QL7Kmo7GC0dbmWEiP6CkBSYB/R6O
 V5K4xEfhP1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceRz0s0
 V/PnNrvCnpsqpWaTHuc8vGfqjbaETgYKyoOaDEJSSMB4sL/u8cjgxTXVNFhHaWpyNrvFlnNL
 yuiqSE/g/AIi5cN3qDjp1Tf2Wrw/d7OUxI/4RjRUiS99ARlaYW5Zouur1/G8fJHK4XfRV6E1
 JQZp/WjACk1JcnlvESwrC8lRdlFO97t3OXgvGNS
IronPort-HdrOrdr: A9a23:dqOpvqnos7qhLcf2hFQ9mG5WXufpDfMxiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcLC7V5Voj0msjKKdkrNhWotKOzOWxVdATbsSl7cKpgeNJ8SQzJ8/6U
 4NSdkaNDS0NykAsS+Y2njHLz9D+rm6GcmT7I+xrkuFDzsaE52Ihz0JdTpzeXcGIDWua6BJcq
 Z0qvA3xQZJLh8sH7iG7zQ+LqD+T5qhruOVXTc2QzocrCWehzKh77D3VzCewxclSjtKhZsy7G
 TflAT9x6O799W20AXV2WP/54lf3IKJ8KoOOOW8zuwubhn8gAehY4psH5WEoTAOuemqrHo6jd
 XWpB8kHsJrr1fcZHu8rxfB0xTplBwu93jh41mFhmaLm721eBsKT+56wa5JeBrQ7EQt+Pl6za
 Jwxmqc875aFwnJkijR78XBE0gCrDv/nVMS1cooy1BPW4oXb7Fc6aQZ4UNuCZ8FWAb38pouHu
 VCBNzVoNxWbVSZRXbEuXQH+q3mYl0DWjO9BmQSsM2c1DZb2Fh/0ksj3cQa2kwN8ZosIqM0kN
 jsA+BNrvVjX8UWZaVyCKMqWs2sEFHARhrKLSa7PUnnPLtvAQOMl7fHpJEOoM26cp0By5U/3L
 7bVklDiGI0c0XyTeWTwZxw9AzXSmnVZ0Wt9ihn3ek6hlTAfsuvDcXaI2pe1/dI4s9vTPEzYs
 zDe66/WJTYXCzT8YUg5XyLZ3AdEwhZbCQvgKdJZ7u/mLO7FmTUjJ2qTB/yHsuaLd92YBK3Pl
 IzGB7OGe5n0meHHlfFvTm5YQKZRqW4x+M+LJTn
X-Talos-CUID: =?us-ascii?q?9a23=3Au4vSgmt3WcPaWg/KAB5/WDyu6IsdUGOB1VXZPnT?=
 =?us-ascii?q?mLjdTRb2xYFSZ3YFdxp8=3D?=
X-Talos-MUID: 9a23:8qu6oApq4Bog69HAUyAezyFSP/xW3I2pM1pXt8kgntuWazVLCh7I2Q==
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="121147417"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gD0hcgaGpyp9kyirLVcHrjVIjI/6iMlzJGoAx3NblagNMclHaZRVveAaaV5gZL0hhrTshjKizeLCL+vsG3jqfWxjuno/Gr+6QqSzxkuM4TYcPIdO9jKWDk29S8XabM8orRrDSTUlqxaUHKkJEeHMilR+qahvle0zbh0agFXrlZzAOCO4dspnTjcDwhoV1E8fd9lZEH8gr9kM+Fd5WiKM+kfO7um/TnFmQLg+B3+KheIbtrcaZcH632IfBiyJe26/aB1UtpEjgc52jghzGu2SD1YzvrL04NkOBoiXcRKFmqL4Igvx7r03aqGHqHtcPIQUgj9fAfHj4S6wuS++5/2Mmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LmdxjvyQE9SI6O03xiflTvhbovcpqezUsDMRUpp70sg=;
 b=D37iSM1q9M15LBQg+zDUA7y52Rrz7I9mz+X2eBtczR+Bw0wd2orj+2AW4D0+LZh4Z+xgpv2jUdngtzB5AbqJnVwSXxCt9JY4i2OayV9kNhQ/goWUomjTngmazjBRqOL4+xY6HVcvAeOMULwtSr89E8LoEsUVFUY/xQ6nYOMYFo0UazbMAeztrehQ3wjv6stuI0ilN7ka5WkNzjWzuN01Dq9w1argfxhciVWkqMeC4QxRdQ3fD62L9xyRMRsK5jHYp0+42uJiD/vqNkqtCLJw+bJS0y2WELS4htIEf2QhW37AdlTYHJMhVOIgYAKBnMQgkD29k0wqlt1VAgregCkaqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LmdxjvyQE9SI6O03xiflTvhbovcpqezUsDMRUpp70sg=;
 b=wVUSiZvkYRgK3PWlXLKhfF+iRqPe89mekXY1ScvfvCEGI7NPU1SOSePfKJm9M8O4qRwJuGdOvgkArEeIVAv/W+UD1G2B2lOWxbszYtL4EMq9QImgr8wuLYzeeMDPYC5s7dPu6aB6bAsrV/1ItmjDJ72AiXFcmyo4C7ObEY5yNXs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
Date: Wed, 30 Aug 2023 15:35:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
In-Reply-To: <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P302CA0002.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6637:EE_
X-MS-Office365-Filtering-Correlation-Id: a81cff9e-d83e-4113-6ef9-08dba9666f78
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QdWXfDdzz+1v0S/7HCj5SOHFVQ9kEa1IJLDE0d+vgMJdhg53qFgTNLoklxYbD2NWQC2EJ1LwZFpLFrGSGL3zK7FrytvdBESIT35p5B5gK99U+go4O8ZbMbUn3rDcFukjeAmREPWWuEuPjbttN5rMS8Tv3XTpNHdFXgggpQk4pyH+6c8FUalKNbnwmM1ah9Wqv75p4uETAdK5uaUql3cKjZcNYWD3d44kVEGoQXF/fM6CJn38i3xYb5r7z6hP9igbzZMDnlcI9zZzrC7M1hGrduQodWIP8Q433l4mkoiUR/oiwjX7mgneXpAeuhuTNOebouSk1wHv25cm9wyDBixVYlJEGsjDJ5B1tBG8pWBONRTK2UTggFhjqWHmcpd3EKMFz5/nqUt/LUtcSxR9tNmwz7J5dB3NFFoq4LglTDtkovW3lOHJzGG3cGsdqgl8cbq1ct6a84OMnkW6AZyNC04lMOstHnhVKWnAP1m5fq3o2twj3W1mdT8WyB485B6JD1Z5k4iPSryqxjB4i32EcngckHLGHXdd9ONGm8qaU6JiR+4+fHbuHAPYl/82n1uhlvlVNOHQkOY/c2r84EY4wXWKSMg/0MUoqZ/dYiLIAS35isMI1nHS1tbJEaVzaiAQXZOlJnialxL/dv0jRR2j7lAiFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799009)(186009)(451199024)(8936002)(6666004)(66946007)(31686004)(478600001)(53546011)(6506007)(66556008)(66476007)(54906003)(6486002)(316002)(38100700002)(41300700001)(82960400001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(2906002)(83380400001)(2616005)(6916009)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDlIT3Jsb2JFMGx4ZXdKaVg3Nmk1Rlc2K1UvTjVBRnZtVVcyVDI5QVVjdUt1?=
 =?utf-8?B?MnZVb3FHZjI1OW93VWgzYVN3QnhCV1p6T2ZVYXBQY3ZZTU1BYnVKaVZTa2E0?=
 =?utf-8?B?MGMzSlArZWRDV1NoRjgzZ0t1ZWZIUzhPQlIzUHV2NVRpYm9ZRWNCcHZ0RzRK?=
 =?utf-8?B?QkZpZDBqNlhkZjNEc2JyanZzMU5jZlFOdm05WlhwQ0Q3Y2kwZUJlM3FXek9F?=
 =?utf-8?B?WkQvVDBpejdHZHpkUXZLUTVVeERPR3orbWhMUnpnYkQ1YnIyc2FFZEZSN3VE?=
 =?utf-8?B?YzVLdmJPbEtXalBVOGVpTFlleWJEU2YvSEJoOFE3YlU1cGloOFFJdlZiRDJG?=
 =?utf-8?B?ZlhYUmlQTDhqZmZxRFdFZzQwLzA0dXk2aVQ4aFEyUXFYS2JCVXhKYUdwM2JJ?=
 =?utf-8?B?azRMZ3BNdURXS002bUV1MnpwV0h3WlU1bFBxWk1rTzgzYlBJSWhVUXR4YWtF?=
 =?utf-8?B?ZDl6K1gxMGFYZjBkNkV3YnkxVXB1Ull0L0h1OHNkeHN6K1JERzBjM3lUZUpk?=
 =?utf-8?B?Q0VRdXpRM21NUGZXOCtRK3NVZCs4REJjY1llZXFBdG5Nc1FaaTA4cDhOdnBJ?=
 =?utf-8?B?QjV3RjZUR3J3QkUrQ3hNc00rbU85ZGl5K29tRjF5TFNYZ1NPcXpkMWUzV1J5?=
 =?utf-8?B?MmErZm1uOWFzVWhyRUZJY3ZPakhTNERGQzBPV3U1eGhWVHJ1MUlFeUhzTUU5?=
 =?utf-8?B?QktsbkZmcWE2cS9mazBOQlgzVDI0TGpoMTNocTVQUXBoQXB5YjNQWG9JalNx?=
 =?utf-8?B?b1VxdkVBd29BcXdyR3B4L28yZGRsVHlPTU41VndvRW9UeG1pOXUzdVArZ0FO?=
 =?utf-8?B?SEVQV25OQ0M1eUlzWU1rd0Z3WFFCNzl6ZEk0dkRsZ0R4bDh0TVR6TlUxaFF3?=
 =?utf-8?B?c3plSlQ1cCs1SHlmYjE1U3l1bDg0aTR0a2J4d0NNMS9MQ0M2aXoxbzVkUm4x?=
 =?utf-8?B?RFNkY2szVGtnZzhYOUJMazFkMHhML1NPYnBNdC8vaXdHS3ZPeUpYUjQ2cFU3?=
 =?utf-8?B?bWRuQ2JVSUltNC9NN3pwM3J2U2ZvcDdtWllEbFRNYlJka2tLeTR2dVpTWFFL?=
 =?utf-8?B?YjZLSVQvZHFZRWdmNUd5eWQyY1FaQWZpcHRteXU1Z2lrQWozQTJMd29keURR?=
 =?utf-8?B?TzNzaWRadUhoWm44MjQ3R083YzBkTDNiZWhDOGpBdWRZSk1TVnMvN0VtN1VT?=
 =?utf-8?B?LzR2SGhWL3F4ZDA3dnMrZGZ4SVdQaitRVmk0MXRMWTQzYmxrUkFIalptbXFX?=
 =?utf-8?B?akVSeFo4Q09DTWt4Q29UYmwwRTMrVDhrK1JsRVYyM2FjUnBXVUZhWFdIU1Bn?=
 =?utf-8?B?cGJTdWlPMkNwV0l4d1NOVExrdjJKYitnK3VhZ2ErakNncFRIN2J1MTJpNzlC?=
 =?utf-8?B?R1ZvSUlTR05XVmRZTmxxQVoxbkEyNTR3ZTFUSSt2V1lMeUZUd3B6UWJUVkRy?=
 =?utf-8?B?VmZLWnlkWEdTY05KQXM0VG8wZW1aUXNzeCs1Vk5CK3RlcU5WeStVelNkdGhp?=
 =?utf-8?B?RjlZWHlGV3ZaOXkzeTFmSGVBNVRqUGcwdjY2UXR5WTdHZHhLK2pwQ3ZWdEFx?=
 =?utf-8?B?L3NzTkdCU2lqMm9GVCtZUXdCM3NWd0NMaWZ6OWxpT1lUTWxKa2I3OVh0akFR?=
 =?utf-8?B?UUxONmhDVHVQZGRPYW9wUE42TUlFRkxUUDUwYzI4RDdpMStSaUNZR0p0dWNq?=
 =?utf-8?B?S3dOM1NTU2VKc1Z5dHdUZW9KMkZjdXJzTDBxU1AyazdHYnUweldUb0oyOHl1?=
 =?utf-8?B?enBDMXZRejAwb1hXd004bnlXWUloM3gvUE51dXEyUFdUYzMzbzI2V0NRU09I?=
 =?utf-8?B?YXVtOUpUc2hDYVZzakhwZ3JKV2RSbm1oUk05dVI5T0NtVFB3T0l1NnlKZ3N6?=
 =?utf-8?B?N01XaCt3VkswYktvbXpDL3NRZWluQ05VaVhHVzF4bmRjNVV5NHNxenlZZGR4?=
 =?utf-8?B?SWF0MTJzMUdHRGNXdlYvZmhOa3R4aG9uZS9BeWpMSEVsdTZFZEJYVkpoYml6?=
 =?utf-8?B?akx3empybW1VcHpFRWZUU29sWitSY1psa25EalcrbnBtRnRyMUtwdWxudzhY?=
 =?utf-8?B?UVpvQ24wbk9kSjJUTklzeDBhTUlxcktCWWIzZ2hoMk52K2EreDJlWHJGL2tK?=
 =?utf-8?B?QnZiVVgrRnU3MTdHWUFzWHh6cG9kR3kzNXQ1RWVOVkFPMXFFek1HOHhwamVy?=
 =?utf-8?B?d3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	68GtA+hcp+5W5VHu6EZqLFAMFqqKSugNuVSKKVJ3DYIDU+adPllJ/m6XFRzQmY0KCZVlP9YcZJglfgFtfWoF/AAvDvfcHGEOJBdbFnQskttDlIJ7DO5dFkhEEZ4oabUDC4gKpj4nqIAO+gbufX1Y2MkYXDTynckRAH9oLOhdreRt2jeL/7LkzV5lv+8K0wZ+XGoO0psMBQJYw0ebLipAL7qlX9/jkdDzc2TO+MmgT5+8YCibBP9HdAyQ3eb0HN+rp1m1AS5LgN6HtIWNZT6pGwdcLPrluRjPISSpi0SolqFtouEoX3EL+VLkfRUfPDs0Llc8UsTnMMzegQ6v8lkmZE+K5q612kn0uiLEWOH73vT9vrPnwX4hNQl0v1uIkgKrKBFX/Q0co2s+oHEDkVIsP0fRr72XUICDYjKCoEuqwRHP4nQQdJNcVUQrolkF6I1gEZh35H3cOtBVknr1z5jmc+nUCqWz0Rt7tu1etxc9S7g8rOLpEtuUHrGHtU8VkSBZr/ccn1YuMpl5GtOQeYefj84wxRoy/B35owLvDtmkiYd/XNAiRVmvYL9/lhsr4+9eCutda12Voo7QdPwimYAUOnJhw91kP8HJwl5Hm0z2xx9uyApbwjqjnnEKtgbbiEXVaJJodsavCgbRkn0ymhW2uE+Kmvg+Q3XOzITYLlKyCd7wwM+av9OBwxFBhjjL7XSNtdG2m5wNouIkILidAH2tnmZErQbWDwDJBzCRL2oLnDXVBbJ/9l/h+lazgIIHASHmVfSHYgcjsjUBFnY25gnWl3jm+UAujQtzDsO6iKVMbU5FACQM0Obx447swv4+gagsK09w3M7H77XDxsuJC4mzgBdWMcyIgfQ3bbSRTII4YRQ=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a81cff9e-d83e-4113-6ef9-08dba9666f78
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 14:36:20.6614
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0eXi1qqVtyre+li37rt+mWRl93Z8+Tbb18M1Tt03bS4S1jmPYDJwBN4j6CfcRDooOeM09K9F07pSsB4VhnMZh7/axTMQACSes+KLlR6BHso=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6637

On 29/08/2023 3:08 pm, Jan Beulich wrote:
> On 29.08.2023 15:43, Andrew Cooper wrote:
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>  #endif
>>      flags = c(flags);
>>  
>> +    if ( !compat )
>> +    {
>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>> +            return -EINVAL;
>> +    }
>> +
>>      if ( is_pv_domain(d) )
>>      {
>> +        /*
>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>> +         * subset of dr7, and dr4 was unused.
>> +         *
>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>> +         * backwards compatibility, and dr7 emulation is handled
>> +         * internally.
>> +         */
>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
> Don't you mean __addr_ok() here, i.e. not including the
> is_compat_arg_xlat_range() check? (Else I would have asked why
> sizeof(long), but that question resolves itself with using the other
> macro.)

For now, I'm simply moving a check from set_debugreg() earlier in
arch_set_info_guest().

I think it would be beneficial to keep that change independent.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593010.925892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMM5-0002HL-8h; Wed, 30 Aug 2023 14:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593010.925892; Wed, 30 Aug 2023 14:39:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMM5-0002HE-5K; Wed, 30 Aug 2023 14:39:37 +0000
Received: by outflank-mailman (input) for mailman id 593010;
 Wed, 30 Aug 2023 14:39: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=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbMM4-0002Ft-4C
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:39:36 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0913efa1-4743-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 16:39:34 +0200 (CEST)
Received: from mail-sn1nam02lp2044.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 10:39:30 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6637.namprd03.prod.outlook.com (2603:10b6:510:b1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 14:39:28 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 14:39:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0913efa1-4743-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693406374;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=FjgOLLcUBeLy6Hk3UnFDpPnFCKSuGNkDzqsZPtoGUWY=;
  b=DEra2bfbg+y2noYSHcYr6rUj9lq7Kr6JqoFHXz9j+8NM+GpejlKuKYON
   1hIUdAA28zbjVPKd4Sjtfw3ijClzq8wu58fMh49hYTNu6W5eQPEDkdu0e
   H6jRWL91dKIuE3XuxXA+gUwEhkkHZw35yGSwgO3l6vkH7gLTpdpaQpt7W
   M=;
X-IronPort-RemoteIP: 104.47.57.44
X-IronPort-MID: 119807306
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:e3WPc64WY87MEoiAYEM1cAxRtP3GchMFZxGqfqrLsTDasY5as4F+v
 mJJDDuAMvuLYDShfIglaoy180hV6JeEmoBgS1ZkqH1jHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU35pwehBtC5gZlPaAQ5AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 PkRKB0wLTe5of/n5pCFG+devocbI5y+VG8fkikIITDxK98DGcqGeIOToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0otjNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtDROXnraY06LGV7l4tEC89ZXy5m/r6lgnkQYhiK
 FQw9AN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxmdLngJSHhGctNOnM03Qzsqk
 FyAmdyvBiZHv7icSHbb/bCRxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdJN3r6
 zWDrSx7nLNKi8cOj/+/5Qqf327qoYXVRAko4AmRRnii8g5yeI+iYcqv9ETf6vFDao2eSzFto
 UQ5piRX18hWZbnlqcBHaL5l8G2BjxpdDADhvA==
IronPort-HdrOrdr: A9a23:zu4JNqF4UnO45zl+pLqE/8eALOsnbusQ8zAXPidKKSC9E/b4qy
 nKpp9w6faaskdyZJheo6HkBEDtex7hHP1Oj7X5X43SPzUO0VHARL2KhrGM/9SPIUHDH+dmpM
 NdT5Q=
X-Talos-CUID: =?us-ascii?q?9a23=3A+mEBV2gaksN4mzR+rq+quQAfFDJuT3jUzFrtYGi?=
 =?us-ascii?q?CL3s4bp+rGFGiwOBcnJ87?=
X-Talos-MUID: 9a23:bU/iEQY/adKg9OBThQH0thpSE8VS4OeyTxoXy6gFo+2KHHkl
X-IronPort-AV: E=Sophos;i="6.02,213,1688443200"; 
   d="scan'208";a="119807306"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pa+mdAaB7q3ITF+7Vnx5KFF2j/BSuSAaoD5DkYdAT3vq2Y8R2P1wAAGZRNG0OFWABhDfxTI9XMafezFY4363hwIihFPI3iKCXqNVWbsYIiNQLZbc75a8OowsI575uHrL8T5ufGTeghmxk3CznANy/Yv/ZJAdEyNpxUq8g8hhQaJJgO9Khdr8IOIoFJHPABH7GBz5STCV2k0UbrCvshkCOrAvDt2GxpSf/3dI4Kd82apHg8LWumU4g9NcIBQ1fO+w+7LKjkrQRbdOtUup9wGS2525s8YtBjUg7qCIC/GNKz9hdXUUgVEvhtUeFhED98I+24UoI5ChNlQ/tvyYvdda5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UfUYJ6pgvUfAt8Qu+q/J+CYmOY2QUWi4QeQHOQDNnEU=;
 b=AwEjuhyVAxt0HR65SaZJwpqikw2iqrPb1jWSz/MYfL5QOA+V1Dp1848XQO9UCf3jPWcsZcXyVf+ZbMMIrudTeAkPn/AA/dJboRgGF9Pj0c3MfcrWDhHJahxy49nIbMfhP6qeqECTn2OwUcbdHPKclpSfsmQ87mjioOy2RMP6b+6yx808bOLEu3GmqDySF0sX+o1yUHTvhP3La1fOQQIfzPKEY3MJFThSzNcSEFfMKJAbqpBm1IQvJkX72iGpnTk46RvZTJZ/iEUp2n3xXmn45qUCg51POlXwPaUuOGfkTTY2Zrbl8Rikk5p36UmN4lmCgGSw8buOYbA2WXt8cLJZcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UfUYJ6pgvUfAt8Qu+q/J+CYmOY2QUWi4QeQHOQDNnEU=;
 b=dyqOW+v23opgHXPW+B2a+GUmu9EQ5hJA5I8Fs3txBqgGs608wSZSE0TuoWUcrUo0wMUQOpc/RQQuR3VjNBJMBj7NE0n53NfJCUnn2hNXBV13yLJFf1i/ogSnza0diQi5uWTB6XVRnwcGiskxKpAPVpP98lat6RU1o/KLqSvkfoM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ae70bcfe-072d-c6e8-d672-a22c850f602b@citrix.com>
Date: Wed, 30 Aug 2023 15:39:23 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <457bd388-afc3-af34-eb4e-755359bf4772@suse.com>
In-Reply-To: <457bd388-afc3-af34-eb4e-755359bf4772@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO3P123CA0008.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6637:EE_
X-MS-Office365-Filtering-Correlation-Id: 081eea58-741b-4bf9-e8cb-08dba966ea11
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m370nVtbYCg5mBu2rrVXkDqBqimMxcRiuXLkulnFTr3ng1rHgHhMlhae+T22mZCGRw4L36iWvWUoHafr9GJGlJCI/8QrCvWvKf5p7faMpIdyJJ6gM7DKlLem6Cv3doyg4UL7AE5fGC0MpuECkTjWcXREpkdpyuzc4pZybjVsZb4piyhASjXJNaOaBn3AyCJtSxnYzWinRDP8GzEX+2e7ppPtp8K416VY83m+re9coyPQRDejrZMpVcG6dGrQNQkPBmpzr52eXzhaXfRLLnuJXvFlsFzND5qd5SpTkVAtV6dkokBV32HRgplJiYf4wF1fIKYYSa01wYBwtyA0KefwFDouKkGcmfr71QY4sX1/lthIsCMz//h9K3ney7+cm09tmsAK4ss84puiqDXpURxtanoyppAS9w1GpvangQQOat84cOlZ99U8rU374JTECdPJPo1wqzZNCvRfht+MqZFZhIXChVYXUITij6O9esnW5deGNTXKGxT4gIdGa57bJdV0rP6worrtV829gErVeN2PH7RX1/qez8AqP7qfh5JXBzQ0u5BR7teTGwNSiLtYXm8TeFdIyr/Si/ngSPNs4miWMMdkzucC7SPt93fZWfUn647ULEiK5O4GRwxDm7ezuYeRsuVqjniqNdEFXmnIaPzgfQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(136003)(39860400002)(366004)(1800799009)(186009)(451199024)(8936002)(6666004)(66946007)(31686004)(478600001)(53546011)(6506007)(66556008)(66476007)(54906003)(6486002)(316002)(38100700002)(41300700001)(82960400001)(6512007)(5660300002)(8676002)(26005)(36756003)(31696002)(2906002)(83380400001)(2616005)(6916009)(86362001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnQraHkzVGRncDRJaEpBVjRHekxLR0dRUGVqOGZLRk12SElGQVhNZmc5ZkFY?=
 =?utf-8?B?SnBPQi95THM2enFrbHNKWk5Fek51VG5hNVJIa1FuWnB6emR1WTlnNWJRVVMz?=
 =?utf-8?B?MHI1VHR6N1VjSGJTVWJpbkVxOG82NWpjZHFnV0tENGptQUI5WjNPN2dvVktY?=
 =?utf-8?B?RnZ2UXVJNExVYWplVGhTQ3BVcXJEZ0RYWFBnUlFVb3VaMDNBMGZ6U3NweHFG?=
 =?utf-8?B?SHBkYjYxbTlGclQwQmhDakxFczlES3ZlOG1OU0FzSzJ1L1Vic1BIbEMyLzJQ?=
 =?utf-8?B?RnpRbENzRiswNWo3Z0pYVnVtOTM3SDlCRWwzeHdzdWdMYkF1Snc0NkQxMjVM?=
 =?utf-8?B?V0w1cXJoWi9RYTNKY1BIL1d0NXNPMDBhT29VSEhnNExWSmVia2NkUndONUJC?=
 =?utf-8?B?Y2NDbGFGZkxWWHYvZ0tGT1doaFUzMFBnTEYxbXExOEF4c2EvWlNZNy9yUXNr?=
 =?utf-8?B?cWpUbkp2eWNhMzFLQ0d3TDM0S3d1VU5mMVNZbklMc1gvY01tLzdhVVl6Nk1Z?=
 =?utf-8?B?QlFBbXgrclRIQzdWUHY0NWdSdzZUOU82aGRpVnFVSTE3Wkd5UnZzdlFKQnh5?=
 =?utf-8?B?N1dBc2V5NVVRMlBQRmp5S3B4R2hjdTgrekV3ZSt3cEU4Z054dVhaUHp0YXNC?=
 =?utf-8?B?TUVZRlV1U2VhRmZCTzV3TUNKb1NLVkc0NnJsVkc3RTZDdzZGUHpjR0NVR3BF?=
 =?utf-8?B?azV3cGVOZlV2TjlYcWp5T0dtVnBFcDVsMTNkQ1RIcjF0djhSaHg2UWZpdEMz?=
 =?utf-8?B?V1B5TG9aM0QvakQwUWtRaXBsdkEwODFXbThlVUhnRWZRSFRnVklZYnZ6MHN0?=
 =?utf-8?B?dHV2NlR4UHNObzhOb3ZjNDJCSGN2SlpPb2JabWxaaWlnQmt1THNXdWJLbEV4?=
 =?utf-8?B?UHJCT29KaVdMRm53dFo0aHBXdjhMdUp0YmpiS2Y2d3E4eHZDbjdNcm5OTFVy?=
 =?utf-8?B?WG8yc3ZWUFU0TWxJKzRpYkRYUlhYWWJLemVFc0dXK2VVa1FWMVd4R1NqYTFG?=
 =?utf-8?B?QmlsN1RBMFlSa3ZERndvWmJIb2twSi9Haks5U0FYMGJjNjFUeGJXdk1uTWQr?=
 =?utf-8?B?azdCN0hkOW5qWXFLb2htNGg3QlUzZ3p6TG5UVFIxSVhsUGhyNzlFZ3pSaWhL?=
 =?utf-8?B?V0FOVVFYWXpTemdhaEFPSlpSZ1AvUGNmOCtWNW9WanU3U01jM2o0aXRJV2wv?=
 =?utf-8?B?dEZMOFhtRU5sTFZBbTZpbnFPM3BRY0RaTmlYMmcyYW9EVEtpSDV2eDI3VzVR?=
 =?utf-8?B?NUN3TEt0YmdmQUR0NXFPMDNpTVM2SWxLOFJaZDRBZ1llWlVUNkl4WktnbXVL?=
 =?utf-8?B?ZEk5TGwvb2hDbVVKY1NLYkpRSVIxOTJacHBlSFVoUVBPaCs1SXJObWNZUERM?=
 =?utf-8?B?K2RoRHVTM05tdGxKaTNpWUJ3N2RtTmpRc3E1NTlqb0RFNjZpMmdiN2srNyth?=
 =?utf-8?B?S1h6K0dhMzNHaGhpRVhJOVJGbEpBbUlCK1pjL1ZraUJTTlp1OS9JRmZoQXBm?=
 =?utf-8?B?dXh5amh6QmtrQllRNmMvZTVicytSM1JLMnNaNmdLWE9WSWU1QW1rZHRHTk5U?=
 =?utf-8?B?NkhoNTZBSWpENzVDc2w0dVFWSVpMY1F1VlVHZFdXUGluT0tLWkUwbSs4dyts?=
 =?utf-8?B?WEsxWnZGWEs2Vnd5WUJPeTZZTUgrQi9SM3hvMDBObVlDOTl5cVpDaGNnTmU5?=
 =?utf-8?B?VS8zWWlKYWQ3b1FXUURLKzFhanVFQlFqKzAydDN4c2VMa0ZNbnhPaFRnRHBT?=
 =?utf-8?B?ZGVnam03TWc1YUFzZlk4eXdxcTdobnhIdHkrTjd5S1FvRkJpQ0ZNZkFMMEUw?=
 =?utf-8?B?Z3hCekRvSmVZcnlzcmtGbmVjRDE4cE5VbzBsbDl4UENKR2JTemkzbXBScm84?=
 =?utf-8?B?cWU3SmtmUDhnaEMzNXY0NWtUei9HYkVMVHpTa3RXTVp1bWMyRFV1eWFmcmR5?=
 =?utf-8?B?Y0VVRkhXNWtrbExxdFYxOEZHTmwrK0MrTU1SeGhSaGdnVzZtMHdEM3lqQVZY?=
 =?utf-8?B?blpGcEhZV0ZxSTA1eVh0REQyS0JWQmR0L1dVWEFoVVpRa0ZlSUdBdzZCNHJm?=
 =?utf-8?B?SFVCWHE2RjVzVG9xRUFOQ3FYRTY5cHZyaUpKU2dvRFA0Z2N3QnFFTEpwemMx?=
 =?utf-8?B?bHc5eG9DdURKOGExWDZ3dkZoZTJRZWlWdFlONjdqYm5LVFIrdmpYM3JVeWFw?=
 =?utf-8?B?Unc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mnlKgPPUjZK9g1hUaOni8G2mA5VYDN1L+lfSb9RP/cuOYvGS9gSWkjz4rMbXNRMbi4STTWbFBYEHWJ2cF4BPIf+2nXEIMNx+XrBDqO/hzDjNQPP/HhqCP2Gratcc93vH59e03dgKLEzVr93ISwUWgrkd2a5AVm786NB6RryYAOHbdoZr0vokScf3b9My+Zz6RQAEXoSscujlBYMK8/sKG+EYAMeu2hLmoDbdr5CwMXnaHevIMfkaED+FzcPp0Iz1F/74Ys73bVunxWnv0G/gUCnytBH+9xN+YMRe5yFms2OLmTU6MOnEhOwaZd1jWQRm+FZNw0G13cwgE3pBjs1r8gUbnL3bGFq5iKO5H0+wADCnwwZLRqwMtE89ufkrxu7N3B0WKq/eQnV1wLgytcKviMIe4Sm2k3k2fdrpuGSzNducIBvVko4dpEPurjG2wlQQipbWbU0HKldBDf0J5l3/QwAEduDcct8iG+i9kJHvd2zPDLYf8HD41q9Ca48PgYyxp8ZvuVIaq7w4vitXTS8ueKHTtwLqHxEQCBHeaulFb4cc1FZveCYpLZjqbxDGmSQyGIdeEwZAA8OSuqOdFrPuwuKdF+V9f3+Oc6aDvFh4cMmeJSQNGNA/y0cK2mOw4QGrxk4zlkHJ0dZo9XJdNRtyHGa9xCxa4VF/TElAGroQWvN/Od533FpLObv+nkTlo5GF076LZxnRlz96rAc8JEMF/oeYd2XZUpN0sAWKPRKsSboipWQCKoxQ1IN+EsDaOmqjvVvxRGpHZ47/gGA/Ii5ic6eRUfqi4IA/LdcP7m8fcqDnrvIDEcWJT/37OYp/VnneC3RLd/oxA8UQD5DH26CvPRS23v4zqYTOCH6FzMWKX4k=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 081eea58-741b-4bf9-e8cb-08dba966ea11
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 14:39:28.6311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6Jpq+r3qvsV5hK+dHsc5G18wXOaizWWwwloOM4hmhvx8MZSEYI0kxWcbmvKyle010nd+njtSQR/tXk06OKmx9Ngz05TU6Mx3Esh6E9K+SP4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6637

On 30/08/2023 7:46 am, Jan Beulich wrote:
> On 29.08.2023 15:43, Andrew Cooper wrote:
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>  #endif
>>      flags = c(flags);
>>  
>> +    if ( !compat )
>> +    {
>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>> +            return -EINVAL;
>> +    }
>> +
>>      if ( is_pv_domain(d) )
>>      {
>> +        /*
>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>> +         * subset of dr7, and dr4 was unused.
>> +         *
>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>> +         * backwards compatibility, and dr7 emulation is handled
>> +         * internally.
>> +         */
>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>> +                return -EINVAL;
>> +
>>          if ( !compat )
>>          {
>>              if ( !is_canonical_address(c.nat->user_regs.rip) ||
> One more thing here: v->arch.dr is an array of 4 elements, i.e. doesn't
> cover %dr4 and up.

Correct (as of the same changeset relevant in this comment).

> That's not directly visible here, though, so the
> comment ahead of the loop talking about those other 4 registers is a
> little misleading. Would you mind moving it below the loop?

Can do.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:47:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593019.925901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMTp-0004Pe-2c; Wed, 30 Aug 2023 14:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593019.925901; Wed, 30 Aug 2023 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 1qbMTp-0004PX-03; Wed, 30 Aug 2023 14:47:37 +0000
Received: by outflank-mailman (input) for mailman id 593019;
 Wed, 30 Aug 2023 14:47: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbMTn-0004PR-Ng
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:47:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26b7e2d6-4744-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:47:33 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.38.20.102])
 by support.bugseng.com (Postfix) with ESMTPSA id 6E1294EE0738;
 Wed, 30 Aug 2023 16:47: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: 26b7e2d6-4744-11ee-9b0d-b553b5be7939
Message-ID: <04f03604-e788-0d76-1ae8-8bb74c6b4c7a@bugseng.com>
Date: Wed, 30 Aug 2023 16:47:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 05/13] automation/eclair: add deviation for usercopy.c
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@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>,
 Wei Liu <wl@xen.org>, nicola.vetrini@bugseng.com, Bertrand.Marquis@arm.com,
 Luca.Fancellu@arm.com, michal.orzel@amd.com
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 00:27, Stefano Stabellini wrote:
> +Nicola, Luca
> 
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> xen/arch/x86/usercopy.c includes itself, so it is not supposed to
>> comply with Directive 4.10:
>> "Precautions shall be taken in order to prevent the contents of a
>> header file being included more than once"
>>
>> This patch adds a deviation for the file.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> ---
>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>>   docs/misra/rules.rst                             | 2 ++
>>   2 files changed, 6 insertions(+)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index 2681a4cff5..a7d4f29b43 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -96,6 +96,10 @@ conform to the directive."
>>   -config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case, no inclusion guards apply and the caller is responsible.*\\*/$, begin-1))"}
>>   -doc_end
>>   
>> +-doc_begin="xen/arch/x86/usercopy.c includes itself: it is not supposed to comply with the directive"
>> +-config=MC3R1.D4.10,reports+={deliberate, "all_area(all_loc(file("^xen/arch/x86/usercopy\\.c$")))"}
>> +-doc_end
>> +
>>   #
>>   # Series 5.
>>   #
>> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
>> index 4b1a7b02b6..45e13d0302 100644
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -62,6 +62,8 @@ maintainers if you want to suggest a change.
>>        - Files that are intended to be included more than once do not need to
>>          conform to the directive. Files that explicitly avoid inclusion guards
>>          under specific circumstances do not need to conform the directive.
>> +       xen/arch/x86/usercopy.c includes itself: it is not supposed to comply
>> +       with the directive.
> 
> 
> We need to find a consistent way to document this kind of deviations in
> a non-ECLAIR specific way, without adding the complete list of
> deviations to rules.rst.
> 
> Can we use safe.json and add an in-code comment at the top of
> usercopy.c? E.g.:
> 
> diff --git a/xen/arch/x86/usercopy.c b/xen/arch/x86/usercopy.c
> index b8c2d1cc0b..8bb591f472 100644
> --- a/xen/arch/x86/usercopy.c
> +++ b/xen/arch/x86/usercopy.c
> @@ -1,3 +1,4 @@
> +/* SAF-1-safe */
>   /*
>    * User address space access functions.
>    *
>  > Otherwise, maybe we should extend safe.json to also have an extra field
> with a list of paths. For instance see "files" below >
> {
>      "version": "1.0",
>      "content": [
>          {
>              "id": "SAF-0-safe",
>              "analyser": {
>                  "eclair": "MC3R1.R8.6",
>                  "coverity": "misra_c_2012_rule_8_6_violation"
>              },
>              "name": "Rule 8.6: linker script defined symbols",
>              "text": "It is safe to declare this symbol because it is defined in the linker script."
>          },
>          {
>              "id": "SAF-1-safe",
>              "analyser": {
>                  "eclair": "MC3R1.D4.10"
>              },
>              "name": "Dir 4.10: files that include themselves",
>              "text": "Files purposely written to include themselves are not supposed to comply with D4.10.",
>              "files": ["xen/arch/x86/usercopy.c"]
>          },
>          {
>              "id": "SAF-2-safe",
>              "analyser": {},
>              "name": "Sentinel",
>              "text": "Next ID to be used"
>          }
>      ]
> }
> 
In general, I prefer the first option for such ad hoc deviation (the 
comment at the beginning of the file): this way, anyone who touches the 
file will immediately see the comment and think as its changes will 
affect the deviation (is it still safe? is it still necessary?).

To help the developer more, I think it is better to also add the "name" 
in the comment, this is my proposal:

/* SAF-4-safe Dir 4.10: files that include themselves*/
/*
  * User address space access functions.
  *
  * Copyright 1997 Andi Kleen <ak@muc.de>
  * Copyright 1997 Linus Torvalds
  * Copyright 2002 Andi Kleen <ak@suse.de>
  */

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:48:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:48:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593025.925912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMUf-0004wz-Cn; Wed, 30 Aug 2023 14:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593025.925912; Wed, 30 Aug 2023 14: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 1qbMUf-0004ws-AB; Wed, 30 Aug 2023 14:48:29 +0000
Received: by outflank-mailman (input) for mailman id 593025;
 Wed, 30 Aug 2023 14:48:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WcGj=EP=gmail.com=jinoh.kang.kr@srs-se1.protection.inumbo.net>)
 id 1qbMUe-0004sU-O2
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:48:28 +0000
Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com
 [2607:f8b0:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46770720-4744-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:48:27 +0200 (CEST)
Received: by mail-pg1-x52d.google.com with SMTP id
 41be03b00d2f7-565f86ff4d1so2789958a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 07:48:26 -0700 (PDT)
Received: from [10.137.0.57] ([14.33.99.107]) by smtp.gmail.com with ESMTPSA id
 cm8-20020a17090afa0800b00267b7c5d232sm1348241pjb.48.2023.08.30.07.48.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 30 Aug 2023 07:48: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: 46770720-4744-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693406905; x=1694011705; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:subject:from:content-language
         :references:cc:to:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=m34JzR/6nm8nt+3yDhXCsoIcLT2YqxxZJj4gAIXZWwY=;
        b=BH8Y3ME+rIPiZUKk+G+Mc981g5o8HMZeJpPxtbLr8OAAOWfuo3gKfdzaauI58c8IcP
         yVQxxk5XnBGOHyRZT4Jv509BGo2TjHvEMw22PJv7c64IAkTMpub0Q/DiH7yPsmM3PJMA
         YpQTEaeP4kDBtQwhdqOsUCQdbq8VbNmRf4DJvUwPe2tW6/XcUSTAJkQ55vHadsldZWrs
         0pNwxB0guoWnBUzObvnyC0PHYRVv0hL1Elx1OUlaPuhf45RAIm/A36Hao/BD/qoBd6zJ
         Lv80i8L434tgAQUv4gEfxXQfNlhQUtcr1GqCunl7dFs4I2t89WxgcoLZxU+zivXfXSL+
         TfVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693406905; x=1694011705;
        h=content-transfer-encoding:in-reply-to:subject:from:content-language
         :references:cc:to:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=m34JzR/6nm8nt+3yDhXCsoIcLT2YqxxZJj4gAIXZWwY=;
        b=YQUqICCEaHPiZ0ThHMeh8q1BJOizcv3dJJ7X/Ak4z91Y9earYo/O3FfUQ7IfMb2ICS
         kxcqE3WUObr/ozl4lkCmk+RPq1uJ6itWd7rgiV6AcGJTIcywfCjKmmk9sNJmDfBqtA7e
         rBoiFVUAHysiE53qEn6korsEdg4arwIfogo8JdMca7bRrjLN+HEGLirOxwUumrOBgRjo
         0XFEKBouG36fyMUEtaLpRKUT1NoUu518wRmdcZoRMXNaFqJIIJKIngknBzwLZvnhVKOb
         FZh5aNL+K/h8gAlPIB9f0t+XJBHtmW5b8d5RaqQCI8M1PFx7+iwlRc9R/KTSPbU77Cf+
         tGnA==
X-Gm-Message-State: AOJu0YyNvwoPWTx4fK//3vnwBIzOD0h6KgA9dFM8921/EWO131fB5D+7
	wWsCk2rnWDIcWobkxtUaa6w=
X-Google-Smtp-Source: AGHT+IG7VqcolFkzbIzwWXysC7P5Xqx4Pfdn5dOxk9wUFr8wX9Fl6XLqE/9AUkdN8TUd/li8dumJKw==
X-Received: by 2002:a17:90b:150:b0:26b:5205:525e with SMTP id em16-20020a17090b015000b0026b5205525emr2089485pjb.42.1693406905312;
        Wed, 30 Aug 2023 07:48:25 -0700 (PDT)
Message-ID: <0e1539bc-60b5-4a1c-1b51-3cb5594a4e5e@gmail.com>
Date: Wed, 30 Aug 2023 23:48:19 +0900
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <c668f355-0a31-0ffb-a7c2-4fee46705a3e@gmail.com>
 <5d19675c-993d-974c-425d-bd16d3e85905@suse.com>
Content-Language: en-US
From: Jinoh Kang <jinoh.kang.kr@gmail.com>
Subject: Re: [PATCH v2 2/8] x86/hvm: Only populate info->cr2 for #PF in
 hvm_get_pending_event()
In-Reply-To: <5d19675c-993d-974c-425d-bd16d3e85905@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/30/23 22:41, Jan Beulich wrote:
> On 24.08.2023 17:25, Jinoh Kang wrote:
>> Prepare for an upcoming patch that overloads the 'cr2' field for #DB.
> 
> Seeing the subsequent change and the fact that earlier on Andrew didn't
> need such an adjustment, I'm afraid I can't see the need for this change,
> and the one sentence above also doesn't answer the "Why?", but only the
> "What?"

This is part of the hvm_monitor_interrupt() fix (patch 4), which would
otherwise get CR2 value (instead of PENDING_DBG) even for #DB.

I might have been overzealous, though, since there is no known (broken)
use for VM_EVENT_REASON_INTERRUPT in the first place.

> 
> Jan
> 
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -503,9 +503,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
>>  
>>  static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
>>  {
>> -    info->cr2 = v->arch.hvm.guest_cr[2];
>> +    if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
>> +        return false;
>> +
>> +    if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
>> +         info->vector == X86_EXC_PF )
>> +        info->cr2 = v->arch.hvm.guest_cr[2];
>>  
>> -    return alternative_call(hvm_funcs.get_pending_event, v, info);
>> +    return true;
>>  }
>>  
>>  void hvm_do_resume(struct vcpu *v)
> 

-- 
Sincerely,
Jinoh Kang



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:54:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:54:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593034.925922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMaH-00074P-0H; Wed, 30 Aug 2023 14:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593034.925922; Wed, 30 Aug 2023 14:54: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 1qbMaG-00074I-Th; Wed, 30 Aug 2023 14:54:16 +0000
Received: by outflank-mailman (input) for mailman id 593034;
 Wed, 30 Aug 2023 14:54: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=dW4Y=EP=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qbMaF-00074C-FC
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:54:15 +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 15ecf408-4745-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 16:54:14 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-4fe27849e6aso8882282e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 07:54:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15ecf408-4745-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693407253; x=1694012053; 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=JGnmIH2HqoCVEaQnSg8N0G+Xk/nCtGm8PvaC3Vm1rK8=;
        b=IgfIXzpo+UWJ9DjvqR7qoG+qKSpw48bYMMziLhuFGvA5rRUx9l+XwLnsfASW1e2dap
         NdXuX5vXdJ4XQwqme+QS0hoh+RzjotgxECAnGWIwv/24QUPb+iT/UpAFyz8Q5g0CnuS1
         UFgwyc/tpPJW2qZlheYWRteShDb/HDsg8C9rc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693407253; x=1694012053;
        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=JGnmIH2HqoCVEaQnSg8N0G+Xk/nCtGm8PvaC3Vm1rK8=;
        b=N1FLlsnzw8vc/c/88MV/5ZurLJn/JFza8x9jbpZn3GIWJWbOQPLA7ajQtTG+B1oRwH
         l9OnwjgVUmGhZhOZpt61i68mH2geKpvrIR1tyfoJMy08OS3Lgv/C3l4Oo2oeWI4TvjSX
         PLIkybBo6MDFgNYcKtq+rpQHyeAKzQGsnFvd4LYoe77Dlq9MR3h7zCWmyMv4cLJR0Q4S
         fzgefvsbcpQBTb4ziCIFD/IswYiEUvhXP4f3fBGu+Faeq0zapMD/vQrscy5L032kVSoJ
         tQ7aYypWmGC3oD2/dbVGPA1Ee5m/rh1hil1UEQwkMXJh2ly5w2KnXXJxuI+ZlfPaMgaS
         Y6Xg==
X-Gm-Message-State: AOJu0YxeHCkEw3AqHsd7/rZRwGKbKYQYP6KcEVG3Pkv3zUXO3XRzClrj
	NqXCCNFI4YT6tTuc6cDtSgd1Oea5qFQxn76Rk2or8Q==
X-Google-Smtp-Source: AGHT+IGFOphCyuI/Hm9ceu1QJeqaYHpZRoaKGin72ArSiVF1go6IeRv2+eMkmkreqRPKiRY4dC/lCXqIvW4AGuf1qTc=
X-Received: by 2002:a05:6512:33d2:b0:4fe:551:3d3c with SMTP id
 d18-20020a05651233d200b004fe05513d3cmr2316127lfg.36.1693407253583; Wed, 30
 Aug 2023 07:54:13 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <8f2179f60335edcf97a04e1c35c7f4bb574c2145.1693228255.git.simone.ballarin@bugseng.com>
In-Reply-To: <8f2179f60335edcf97a04e1c35c7f4bb574c2145.1693228255.git.simone.ballarin@bugseng.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 30 Aug 2023 15:54:02 +0100
Message-ID: <CA+zSX=YhSS12WucZ04TvUe7vZEgbgA6FUAttXQKgnBTySDkgfA@mail.gmail.com>
Subject: Re: [XEN PATCH 11/13] xen/sched: address violations of MISRA C:2012
 Directive 4.10
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	sstabellini@kernel.org, Dario Faggioli <dfaggioli@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 28, 2023 at 2:20=E2=80=AFPM Simone Ballarin
<simone.ballarin@bugseng.com> wrote:
>
> Add inclusion guards to address violations of
> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
> to prevent the contents of a header file being included more than
> once").
>
> Mechanical change.
>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Reviewed-by: George Dunlap <george.dunlap@cloud.com>


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:56:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593038.925931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMbw-0007cS-CN; Wed, 30 Aug 2023 14:56:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593038.925931; Wed, 30 Aug 2023 14: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 1qbMbw-0007cL-9b; Wed, 30 Aug 2023 14:56:00 +0000
Received: by outflank-mailman (input) for mailman id 593038;
 Wed, 30 Aug 2023 14:55:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3+3c=EP=lwn.net=corbet@srs-se1.protection.inumbo.net>)
 id 1qbMbu-0007cD-E9
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:55:58 +0000
Received: from ms.lwn.net (ms.lwn.net [2600:3c01:e000:3a1::42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50ed2dd2-4745-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:55:55 +0200 (CEST)
Received: from localhost (unknown [IPv6:2601:281:8300:73::646])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ms.lwn.net (Postfix) with ESMTPSA id D64B2723;
 Wed, 30 Aug 2023 14:55: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: 50ed2dd2-4745-11ee-9b0d-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.11.0 ms.lwn.net D64B2723
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lwn.net; s=20201203;
	t=1693407352; bh=fzJ2W9IhY60MhTdZXk/DpUQem9Gos7AXFeOTf6bpkgk=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
	b=ayp4wECHVmkq6o66QyWfc6SlfuEuvpm+WukmOx5EBL0WA3Tjchi2jo5kGRHspHxVA
	 SwNE0PV6W74pP1HvvyJCHB/HJYXdsaX4+4ZI0su0BVn6R+VI7Tnk+SxakXQgQrDYih
	 Z7CQyMXFkE4YJDU+Om1rR00QEfdnYIWD9fjVr+blRBhgj0LoCL3jNuzNRZhYpqW+p0
	 cYKX3nqF1lwrwueOku+7j0jjgfhYSo1zZyLEoQmRZNJ3O1yACrBNRDLLvh6G3bfTMY
	 WpF89u4BJ/ycMvRDSiVGQ/AAIYX143xN8fzRqY2GeLgAn1LjYuzkrTUAEkN4Pm5lw+
	 ttcU/ACVSPYKw==
From: Jonathan Corbet <corbet@lwn.net>
To: Petr Tesarik <petrtesarik@huaweicloud.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Russell King <linux@armlinux.org.uk>, Thomas
 Bogendoerfer <tsbogend@alpha.franken.de>, Thomas Gleixner
 <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "maintainer:X86
 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>, "H. Peter Anvin"
 <hpa@zytor.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael
 J. Wysocki" <rafael@kernel.org>, Juergen Gross <jgross@suse.com>, Oleksandr
 Tyshchenko <oleksandr_tyshchenko@epam.com>, Christoph Hellwig
 <hch@lst.de>, Marek Szyprowski <m.szyprowski@samsung.com>, Robin Murphy
 <robin.murphy@arm.com>, Christoph Lameter <cl@linux.com>, Pekka Enberg
 <penberg@kernel.org>, David Rientjes <rientjes@google.com>, Joonsoo Kim
 <iamjoonsoo.kim@lge.com>, Andrew Morton <akpm@linux-foundation.org>,
 Vlastimil Babka <vbabka@suse.cz>, Roman Gushchin
 <roman.gushchin@linux.dev>, Hyeonggon Yoo <42.hyeyoo@gmail.com>, Petr
 Tesarik <petr.tesarik.ext@huawei.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Hans de Goede <hdegoede@redhat.com>,
 James Seo <james@equiv.tech>, James Clark <james.clark@arm.com>, Kees Cook
 <keescook@chromium.org>, "moderated list:XEN HYPERVISOR ARM"
 <xen-devel@lists.xenproject.org>, "moderated list:ARM PORT"
 <linux-arm-kernel@lists.infradead.org>, open list
 <linux-kernel@vger.kernel.org>, "open list:MIPS"
 <linux-mips@vger.kernel.org>, "open list:XEN SWIOTLB SUBSYSTEM"
 <iommu@lists.linux.dev>, "open list:SLAB ALLOCATOR" <linux-mm@kvack.org>
Cc: Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Subject: Re: [PATCH v7 9/9] swiotlb: search the software IO TLB only if the
 device makes use of it
In-Reply-To: <87a5uz3ob8.fsf@meer.lwn.net>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com>
 <adea71bd1fa8660d4c3157a562431ad8127016d4.1690871004.git.petr.tesarik.ext@huawei.com>
 <87a5uz3ob8.fsf@meer.lwn.net>
Date: Wed, 30 Aug 2023 08:55:51 -0600
Message-ID: <87il8wr348.fsf@meer.lwn.net>
MIME-Version: 1.0
Content-Type: text/plain

So it seems this code got merged without this question ever being
answered.  Sorry if it's a dumb one, but I don't think this
functionality works as advertised...

Thanks,

jon

Jonathan Corbet <corbet@lwn.net> writes:

> Petr Tesarik <petrtesarik@huaweicloud.com> writes:
>
>> From: Petr Tesarik <petr.tesarik.ext@huawei.com>
>>
>> Skip searching the software IO TLB if a device has never used it, making
>> sure these devices are not affected by the introduction of multiple IO TLB
>> memory pools.
>>
>> Additional memory barrier is required to ensure that the new value of the
>> flag is visible to other CPUs after mapping a new bounce buffer. For
>> efficiency, the flag check should be inlined, and then the memory barrier
>> must be moved to is_swiotlb_buffer(). However, it can replace the existing
>> barrier in swiotlb_find_pool(), because all callers use is_swiotlb_buffer()
>> first to verify that the buffer address belongs to the software IO TLB.
>>
>> Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
>> ---
>
> Excuse me if this is a silly question, but I'm not able to figure it out
> on my own...
>
>>  include/linux/device.h  |  2 ++
>>  include/linux/swiotlb.h |  7 ++++++-
>>  kernel/dma/swiotlb.c    | 14 ++++++--------
>>  3 files changed, 14 insertions(+), 9 deletions(-)
>>
>> diff --git a/include/linux/device.h b/include/linux/device.h
>> index 5fd89c9d005c..6fc808d22bfd 100644
>> --- a/include/linux/device.h
>> +++ b/include/linux/device.h
>> @@ -628,6 +628,7 @@ struct device_physical_location {
>>   * @dma_io_tlb_mem: Software IO TLB allocator.  Not for driver use.
>>   * @dma_io_tlb_pools:	List of transient swiotlb memory pools.
>>   * @dma_io_tlb_lock:	Protects changes to the list of active pools.
>> + * @dma_uses_io_tlb: %true if device has used the software IO TLB.
>>   * @archdata:	For arch-specific additions.
>>   * @of_node:	Associated device tree node.
>>   * @fwnode:	Associated device node supplied by platform firmware.
>> @@ -737,6 +738,7 @@ struct device {
>>  #ifdef CONFIG_SWIOTLB_DYNAMIC
>>  	struct list_head dma_io_tlb_pools;
>>  	spinlock_t dma_io_tlb_lock;
>> +	bool dma_uses_io_tlb;
>
> You add this new member here, fine...
>
>>  #endif
>>  	/* arch specific additions */
>>  	struct dev_archdata	archdata;
>> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
>> index 8371c92a0271..b4536626f8ff 100644
>> --- a/include/linux/swiotlb.h
>> +++ b/include/linux/swiotlb.h
>> @@ -172,8 +172,13 @@ static inline bool is_swiotlb_buffer(struct device *dev, phys_addr_t paddr)
>>  	if (!mem)
>>  		return false;
>>  
>> -	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC))
>> +	if (IS_ENABLED(CONFIG_SWIOTLB_DYNAMIC)) {
>> +		/* Pairs with smp_wmb() in swiotlb_find_slots() and
>> +		 * swiotlb_dyn_alloc(), which modify the RCU lists.
>> +		 */
>> +		smp_rmb();
>>  		return swiotlb_find_pool(dev, paddr);
>> +	}
>>  	return paddr >= mem->defpool.start && paddr < mem->defpool.end;
>>  }
>>  
>> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
>> index adf80dec42d7..d7eac84f975b 100644
>> --- a/kernel/dma/swiotlb.c
>> +++ b/kernel/dma/swiotlb.c
>> @@ -730,7 +730,7 @@ static void swiotlb_dyn_alloc(struct work_struct *work)
>>  
>>  	add_mem_pool(mem, pool);
>>  
>> -	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
>> +	/* Pairs with smp_rmb() in is_swiotlb_buffer(). */
>>  	smp_wmb();
>>  }
>>  
>> @@ -764,11 +764,6 @@ struct io_tlb_pool *swiotlb_find_pool(struct device *dev, phys_addr_t paddr)
>>  	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
>>  	struct io_tlb_pool *pool;
>>  
>> -	/* Pairs with smp_wmb() in swiotlb_find_slots() and
>> -	 * swiotlb_dyn_alloc(), which modify the RCU lists.
>> -	 */
>> -	smp_rmb();
>> -
>>  	rcu_read_lock();
>>  	list_for_each_entry_rcu(pool, &mem->pools, node) {
>>  		if (paddr >= pool->start && paddr < pool->end)
>> @@ -813,6 +808,7 @@ void swiotlb_dev_init(struct device *dev)
>>  #ifdef CONFIG_SWIOTLB_DYNAMIC
>>  	INIT_LIST_HEAD(&dev->dma_io_tlb_pools);
>>  	spin_lock_init(&dev->dma_io_tlb_lock);
>> +	dev->dma_uses_io_tlb = false;
>
> ...here you initialize it, fine...
>
>>  #endif
>>  }
>>  
>> @@ -1157,9 +1153,11 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
>>  	list_add_rcu(&pool->node, &dev->dma_io_tlb_pools);
>>  	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
>>  
>> -	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
>> -	smp_wmb();
>>  found:
>> +	dev->dma_uses_io_tlb = true;
>> +	/* Pairs with smp_rmb() in is_swiotlb_buffer() */
>> +	smp_wmb();
>> +
>
> ...and here you set it if swiotlb is used.
>
> But, as far as I can tell, you don't actually *use* this field anywhere.
> What am I missing?
>
> Thanks,
>
> jon


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 14:56:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 14:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593042.925942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMcM-00082g-Ja; Wed, 30 Aug 2023 14:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593042.925942; Wed, 30 Aug 2023 14:56: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 1qbMcM-00082Z-Gw; Wed, 30 Aug 2023 14:56:26 +0000
Received: by outflank-mailman (input) for mailman id 593042;
 Wed, 30 Aug 2023 14:56: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=lAWd=EP=nureva.com=anthonychan@srs-se1.protection.inumbo.net>)
 id 1qbMcK-0007cD-Vr
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:56:24 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2071c.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::71c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 623c6fed-4745-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 16:56:23 +0200 (CEST)
Received: from DM6PR20MB2779.namprd20.prod.outlook.com (2603:10b6:5:140::30)
 by DM4PR20MB5631.namprd20.prod.outlook.com (2603:10b6:8:10d::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Wed, 30 Aug
 2023 14:56:13 +0000
Received: from DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e]) by DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e%7]) with mapi id 15.20.6745.020; Wed, 30 Aug 2023
 14:56: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: 623c6fed-4745-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jxSHKyYUkcDY9ZDsN8bcUiC6RE7JonM+WT+W3pKUcSYD5xtkZzclCyIsDTkyfybdBebiPm+9PHqxU1bDF4hmo/Xtp8GllAnWAymj1bqiqujJSS5D5+AgYMSBlqPS8dx2FsNuKw97KVyZxB5jdNcdiCj25hPAwNoez4honKt5lZ9x/xvnlX7HH1KGvblcL7a6mj94vCg849kXvyBv5LggOIl5aiy3pI1wEGZjDa8dQiF1FAs8W5tf6uoiqs/2/+iuSFJ6gIwwQzrub//fayGtOF04hXkYXkhkTKI9FKVkuVP9zcAfbv3txVOD8VDPPrHHtDY78pX7Z4qSAE0RnmvQuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3V2ZbKEVkLTYFV1zY+n+rRFRLqtZLQERegskirl4004=;
 b=aQ/w5bEvDbSZLjdDcaAe316FZdMKilwqt8scEDt592FbVyJjGfuMjnbipR1vER5hw0jtOd3PyK4T8SgW/rw/cdn9Zdth3iP4sQm2bwedxcqB0ifD7IygVbGLgyTUFpXILVvkggLuib15IUE6Bq0cW1ui/6EVVQHnBpoCapHEVetKxaB2/PtbkRz7BiklEJwogCDIen65I1t0dFFURitkEvezT3d4EcRf1k8c2ggyY7J0wrb12qv0EPTWDPfmwZVEQNf7z8akejpi9QSG2eNFbpknztR71lQtdYAq4BLDLwOLx2ngs4xXQFuPm44CdK6jd9pU8yBz4Sm/W976lBmQUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nureva.com; dmarc=pass action=none header.from=nureva.com;
 dkim=pass header.d=nureva.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nureva.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3V2ZbKEVkLTYFV1zY+n+rRFRLqtZLQERegskirl4004=;
 b=eUgpjdcwpWsfGmvRFgrsiLrCI4TUWF3xhG9uEj+DuiLTBavdiB2lKySJHB/BeaCbJh1a25TxmX82vp7YchpcWKV4Fxn8WFNvFaNPyDSLKNVlnmkOvOv1gWUodHOfWr/NYIx2CaYjkb/TPOxglqvrm9Gdc1KNQFfEeYdvAQg+ti0=
From: Anthony Chan <anthonychan@nureva.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "julien@xen.org"
	<julien@xen.org>, "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, Dan Waqar
	<danwaqar@nureva.com>
Subject: RE: [EXT] Re: xen arm64 low power sleep support
Thread-Topic: [EXT] Re: xen arm64 low power sleep support
Thread-Index: AdnanCj70Orzia5aQfSER7H0AUNnzgAKb5uAACL7QIA=
Date: Wed, 30 Aug 2023 14:56:13 +0000
Message-ID:
 <DM6PR20MB27795F4B6C327F7F031BABB0C1E6A@DM6PR20MB2779.namprd20.prod.outlook.com>
References:
 <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
 <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
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=nureva.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR20MB2779:EE_|DM4PR20MB5631:EE_
x-ms-office365-filtering-correlation-id: 09c32dd8-5544-4c11-8b54-08dba9694147
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 tWKAA3Nu3FoEk8BUuE+9vLLXl9oAUXZT2vWWHhYztMjWGrl+MtD/OiTC8UOXqFqUP4BpktS2Zy+BPKVRDKC7mcvPveYuj6XLp0vi3wdPDH7HSSjvRFuP7OV3fS1fN968tyyZnsNvMkudpb3VW/NJbpXo9ipJ4u/TKHeW9SFFvBbP6YDya7uFze7hR4sS3rKlSBdo3mU2pJn6bdNkGxJ1vn2vJWOFXhTU9D0BiQyvcMQjNJ7VCoE+wQ2O3NLKfcWAg1pMxM0YR1o4yBJWvzV+9inzYV62v+BaYaWpDacb+uCF+oWMd+ox9sn5uKQItH1r1gw30H7Hu6PgD5r8oYOPqGT5vWcJX0IQWynTISVQ1+WOaeh8UE/t6+OV228G3g7cSifWLLaU2wTzPs+MZfjM8AoCCIijWmCagSk9fxsYIMzrXlLETOTiaRUNCUM94G1YQx2tsMxvPzvkGZvJFls7fLQlBbgPig08lMxKVYAwrl6PAsVBBgalL1ZMEoChiSVguEtKjogfvdT9YuqdIWa5q+nYN5q0MjLSspkEtMkNYCkOWNAAij2iT1Dts1pbHRiJHq47thy2/jdyQpjESEcdwJf+Cklm1aYE8f3mc2ISWpQsyLLCQkWp+jSRqZZd1K7Y
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR20MB2779.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39840400004)(396003)(346002)(366004)(376002)(451199024)(1800799009)(186009)(9686003)(71200400001)(55016003)(7696005)(6506007)(107886003)(26005)(38100700002)(38070700005)(52536014)(33656002)(5660300002)(4326008)(86362001)(2906002)(8676002)(41300700001)(8936002)(66446008)(66476007)(66556008)(64756008)(76116006)(66946007)(54906003)(316002)(6916009)(478600001)(122000001)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?jRoZOFgNIVDU50JtHAF7TAs7j677iPbNaEWmVHqF1uKB+RMBVkc6M7SwbZwf?=
 =?us-ascii?Q?y0frYC12p7kS9YDMKMx81hOBbEEGPojNdc3KP2kTjpYcHy74vHkALHIssYSv?=
 =?us-ascii?Q?XrVEX7W6UsnQboqDjISb54YZYfUxn3BWQPL7oq8SALfVJIfkSNTlAAMIRgY6?=
 =?us-ascii?Q?8BTxMn+giHke6XoZ2pbPeLsqKPB9BcSM4MSC/pTHgblKeBPCBO3+Urn23B0A?=
 =?us-ascii?Q?g5Se92WaleBhAHuV0HepP4mE2VV56bSkSg6gokc/gS4VkrdQuSfXOGBQZfXD?=
 =?us-ascii?Q?MhvdHTV4k2wP4uC6oGbWHJcYNkVJrsc60QJBnlMQUS5dzXQnjWJ979gq5526?=
 =?us-ascii?Q?FSAExTv4t0QHvMIADa3WEu7//sPIgaKEFpmg0X55PMrCP5WBqFM4E0u0B6GF?=
 =?us-ascii?Q?YzgmdvRclZ4c6H5Q+vsL5Pn74uL2n4RWPzo7B/7zwa5EAztyqlP0SeY5W88g?=
 =?us-ascii?Q?oIoYVgeKlAZLgUVr1nA51S0BSfAEbaewbxb+tYdhFYXwl1Bowuek7tHQibcw?=
 =?us-ascii?Q?fWGD8cvxa4ZoWBmOtFhsyLqG65ii2X8TNH+BXafNSy6IEyhJLrXDRU9rkFlb?=
 =?us-ascii?Q?AuujqRhdB8y1uUUxOXs3J/jteme85Byp7MUf4DFXknV5Zm/vyEMn+/EKafss?=
 =?us-ascii?Q?621yOfu/zFxmSXrily9jGQWWZNDt6Rt3/9Ip1sjDJnRmezXndY2OoF9EVHea?=
 =?us-ascii?Q?OoK/ma5He6soO9AsdbdDRI00ly/EXqYN0h+X6kJVEo8LBr1Upvg4nsOjvb0x?=
 =?us-ascii?Q?Sngf2e2p/WvkZQ9AxwtNVyosIBiimdelElL06dD8RWH93sERENOTGOcdlE/e?=
 =?us-ascii?Q?kUb/AuxaRfm/5yrm6tLefv36WD5oeipMwB9Xq/nKHv6yKFJVNHH+hv7OJAyi?=
 =?us-ascii?Q?BI+EEpzKjNkntyhqD2qSi5q9oFZDiXXl9DtqlN//ue5+hEgm2m6WjjZi4NBf?=
 =?us-ascii?Q?Txmtw9ITz0d0yEtzz+jJZkwWoE5b6kQJyH1NN5fkPVsfz0EDT1aA5A5oNZ4U?=
 =?us-ascii?Q?fh9DFSfiw41y106Y+MuuN7ImSS+f9CamS/JGORm+mOVhwy12Th8MNXb8bQAK?=
 =?us-ascii?Q?lYy69Bnj5NoFn+nUjEBs9KJd5MKOEFGjdiuHMH6J/9jycQ09+7G+LEjTByZP?=
 =?us-ascii?Q?IPZgmBWfG5EFmUMb9v09F9QElcLY9btTsDNXpZ2HiHdW+JZXxTCIre3MZZDR?=
 =?us-ascii?Q?RVo/bKzJcUUKd7H0NbhS7j6QvhhpskDPLZck33APYaCy6ZVnRTkgqGEIAU7u?=
 =?us-ascii?Q?3lHzsdBNeekCD0K55hYpohbHC/G/e/b0np4WOqWlf7QqHkRkTVcs1p8GdDsa?=
 =?us-ascii?Q?Vvx5yJbLSc93rxuW7urNugolIrlhCWq+dUEW5EabyHMEfwVWdTIbJje8Jhut?=
 =?us-ascii?Q?QfQCZLtufHIWFWSJtRlPWdJxcdt1nhw9qLJTHIcDqmJxAF0TUN5gALjs2ajA?=
 =?us-ascii?Q?5kU4FPfUAwm/MZ2aOwiEXE9zAa/wkdqnmFyh8NSRtagei/zMuopR786QcS2f?=
 =?us-ascii?Q?1hgfewGbXH7MdzbPiYFSc0BnbG+55fcL0s7jO0sXHkNdT1AH4LFXtZr7hlXH?=
 =?us-ascii?Q?OzqPu+1U8hZZUydMnQKSDx0y2Qh9VFAY6SK/CzKn?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nureva.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR20MB2779.namprd20.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09c32dd8-5544-4c11-8b54-08dba9694147
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2023 14:56:13.4840
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5aeb77fa-643b-473e-aee0-cb54a11ccba3
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: fq/MXB6KiDTPGxwEglSq6j+i8EfTd5WScWE0KmcpqyB3v/utSA3BZyADsmHO8qF2jKachbyY/n6WM15xEMPvyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR20MB5631

On Tue, 29 Aug 2023, Stefano Stabellini wrote:
> On Tue, 29 Aug 2023, Anthony Chan wrote:
> > Hi all,
> >
> > My name is Tony and I've been researching/developing using Xen for
> potential upcoming uses in our embedded systems.  I started with Xen
> using Xilinx tools about a year ago and still have lots to learn about wh=
at it
> can to do in the embedded space.  So far, I've managed to integrate Xen
> and Linux into an existing product that exclusively runs bare-metal code =
on
> a ZynqMP SoC and migrate some of the functionality into custom Linux
> driver/userspace.
> >
> > I'm now looking at low power support, for now at least between Xen
> (4.16) and Linux (5.15) dom0.  I've tried a few different Linux kernel
> configs around power management and each time I try to suspend from
> linux dom0 (via sysfs or systemctl), Xen will watchdog on dom0 guest.
> AFAIK, Xen should trap on a 'WFI' from guests, but from what I can tell
> debugging through the linux suspend process is it's spinning in a 'suspen=
d-
> to-idle' loop before it can get to issuing a 'WFI' or using PSCI interfac=
e to
> notify Xen.  I'm beginning to suspect that 'low power' support for
> embedded arm64 just isn't quite there yet, or am I missing something in
> the configs?
> >
> > I realize this could very well be a Linux 'issue' but checking here fir=
st.  I
> know Xen presents a flattened device tree to Linux without CPU idle-state
> nodes and maybe this is causing the linux guest to only do the suspend-
> to-idle mode?  I should mention that I'm booting up using dom0less
> feature if that matters.
>
>
> Hi Anthony,
>
> Assuming you are using the default Xen command line parameters for
> Xilinx boards: sched=3Dnull vwfi=3Dnative, then if the guest uses WFI, th=
e CPU
> will execute WFI directly and go into low power mode.
Yes, using these command line params.

> Given the issue you are describing, I am suspecting the guest is not issu=
ing
> WFI: that is simple and known to work. Instead, I suspect that Linux migh=
t
> be trying to use PSCI_suspend in a way that is not supported or well-
> implemented by Xen.
>
> Can you check? You can add a printk in Linux
> drivers/firmware/psci/psci.c:__psci_cpu_suspend or in Xen
> xen/arch/arm/vpsci.c:do_psci_0_2_cpu_suspend
Instrumented both places it doesn't appear to reach there.  In kernel/power=
/suspend.c, there's a call to s2idle_loop that it's currently 'stuck' in an=
d I think it doesn't get to the psci suspend your referring till afterwards=
, when suspend_ops->enter is called.  Unfortunately, without any idle-state=
s nodes in the FDT, the only suspend state Linux is defaults to is 'suspend=
 to idle'.

Sorry about the boilerplate confidentiality footer below, I am not allowed =
to disable it...



CONFIDENTIALITY NOTICE: This e-mail, including any attachments, may contain=
 information that is confidential and privileged. Any unauthorized disclosu=
re, reproduction or use of this e-mail is prohibited. If you are not the in=
tended recipient, please notify the sender by reply e-mail or telephone and=
 permanently delete this e-mail and any reproductions immediately.


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:12:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:12:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593055.925951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMs0-0003IL-1c; Wed, 30 Aug 2023 15:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593055.925951; Wed, 30 Aug 2023 15:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMrz-0003IE-V5; Wed, 30 Aug 2023 15:12:35 +0000
Received: by outflank-mailman (input) for mailman id 593055;
 Wed, 30 Aug 2023 15:12: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbMry-0003I8-VM
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:12:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4eb6d2e-4747-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:12:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9179.eurprd04.prod.outlook.com (2603:10a6:10:2f6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 15:12:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 15:12:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4eb6d2e-4747-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jN1Ethr0/qfeMqNL42VIPT+t+2kMAsi42Te2oEHxUOLvFG7QwJdqFuzADATmrYyLU4sS11Ah9226VZUSkgZTD24i7IRANry31M7aT58jCVvLPVxHDBxjW/1xax4O4pNnaMlWBJxS3XKwl8ENMdQeRlTrMKbIHCzJ4R9Yt3g0j+pIZMM5E0eu4dsxSEHom6InswRZU33Uqz9dfcHmBZpDGJOuQEyc1nQMkzTbhaERu0QmKmlCr3lk9cTfVW9VBXYZ8fu3u+dL3FGdikPxJHIL0xMJrGjIC+UtEMMPjHZ0Q+syqoB1bDVIsEknoRzxmYpZH5uCM2/vUtjWbcqTi/rZJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EzO3aEO+QNTL6cHJibhd5bsBTTNKCXbJhWQpEdGfbto=;
 b=W7F0MMofp+XCx92HS77vGyt131hZBxdvE0UzIC+XENzDBQlT/Na14rElbzwrBdMGpsuVbKli0n8vVBUjiZaoEPh28wh5hlpFSCa1BvITs4P2WNyCS48ggXwerGq5MjebUG0V4zVJCOlyC17zG4JKPbA8ZFdnlkXF7FaO4UE7UJCAg7UdQ600PvznZU/2Nksh1Uqmz2QLRqoI3oCbZ6jG8ayBJDH7GdCrPZjybO0PhspcOF2TaCNXZ2PePRfKdaHy/s3Ky9EB5kYMMc38uxpxMBJqN4sIemU3UUYp6OmRhCoMj0srhV4GvpxTwYDtScv8UcJXCQfIXvx+eADLCtUfEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EzO3aEO+QNTL6cHJibhd5bsBTTNKCXbJhWQpEdGfbto=;
 b=kmAwaG69NDtGwDey3wS9VH1zyKgBjFNdFyUH+SoZkfTNU4VtzqLXichBD38jYicDX+NZvSAM578WueeQ2Jpp+CigLt8HKFLjI9BpBlyUY1ibkvT6m1SqH6KY4d691tQZzY83SvjfjLimdhw6+14oRWKwaTsTEp0Lb0pqIPVQVdgN0XbsPWVIIyTlPlsWnzp3olLhLzeOlEK1+OThQXsRGFvjugMXS4R76fZc/JXtVqgM1rFI0tO+ublyrzUyQoqD3sHYYA3a1QS34zBr7ulqGawFB2PIySujQ641nI3UMNIUKQh6FzbRhENgRyB9VwxMPrw6T3PCbQi/iTQEwrNZeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
Date: Wed, 30 Aug 2023 17:12:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
 <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9179:EE_
X-MS-Office365-Filtering-Correlation-Id: 11cec998-4ae3-4afc-c98c-08dba96b885a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0pgiEUkpo1ODq3sDB0rn5GMjceDSGvQRtWW19uh9qDS0QRSO87qhNMnouu6TAxdq/vcY6JcUObK+5gnF8+LuH5+fVxhv+q0cRSSdPlzwstIGoGkkLmKdcIXWR1ObWqzgJ3kQG4V+CgcyemgR/TLZnKsu+DnBLL4FlN3aZwCoRiZAzKncXlgPYdju62bpXxrbKXRE21yI6b3ZkJH0GP2+KE/8+XwqBiFfC2gZEu89TWcbf3G1eMDhV49tbR3l2d2vENsiopeCDMbvrIbPEgLeDp+aXlI8NzWRC+o7FV1eIkdUVfwrmaQKbUoHVaYVo5WrwAcsg2iPjgEXI7ATxWuwDQmJtHAMcxnpzVrL2okoryUrfN/7P5QW7bR9MU0/mFjaZDhAGoY6n/BZZDxQHaaq0P9QB0hIC/9Ii3aj/PmEykcOJv1B6T04RUT6wnpawuU1Xj4OM7p43WauGfeScAhRWO+0x3RHBc12GY9Qt7Z8OatFlnUDCLiVM3zyjcm3GjFFDJGG+3O7C37AGuh6Us0oPDdliD0b4kdZ39LvZ+VHDJjZ2SA4fJhBVGIX9K8OwiAkFe5ZMcLxlY4MUaOhbfSq3PcHHx3Qki6iLM8uW22763ofmTDSjqVxZVgoW+KrQ+7QhzGXkCsZbs6AvUF4oy8YhQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(136003)(366004)(39850400004)(186009)(451199024)(1800799009)(36756003)(31686004)(2616005)(83380400001)(4326008)(86362001)(31696002)(41300700001)(5660300002)(8676002)(8936002)(53546011)(26005)(6506007)(6486002)(6512007)(478600001)(38100700002)(2906002)(54906003)(66476007)(66946007)(66556008)(316002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFY0Z1R6RkZZUlpyYjJPM1RVbmxuTlg2c3FwSVdDdkxMT05CRjhBWWdraTVy?=
 =?utf-8?B?SVU3TTlJQU10SEZXbG9QZUZ4bXo0VlFsbWFvZklsVjBhNkdKSG5RUmhoTDdn?=
 =?utf-8?B?dVZqdzVNcyt5ak1IS2JjN09uWldZSVJQeDdLWG9vWDBhSzBRSHYveFJ6ZGZn?=
 =?utf-8?B?a05TM1YraVg0MnNIMWxjL2RQbGFIQ0Q2Qm40YjVNdVliMFlZVlExOWVvNEV6?=
 =?utf-8?B?YWFnWmNMVW9jVGZCeEs2SERwNWFVWUxPNG9sNU1MK1lZOTBMcHVLZzhLSGc2?=
 =?utf-8?B?YWxpeTZpK1JCMk9SckViWVlkNktoWVF2RmFLR01wVVd5dUlTeDBCQ1pqQUF1?=
 =?utf-8?B?bTd3cUxpR1pXc3A2TWpjVFJqcmltYWpUUUt6WkN5emV1V1psRWQ2RDBjZUor?=
 =?utf-8?B?SXZqWkJ3RG9ESVNydmR1d0cycTQ3MnZIclR6SHVKUGF3UjNOcGh2S1BCd2FT?=
 =?utf-8?B?cHBjQ1BETjlWZ1l1dVdiQTVCd3FUSjAzeitQQlgzaC9uZDUvWVozSDkxYUhx?=
 =?utf-8?B?YyszNUhrbzY0WndxYzZTaTFvTkxzaWdZamM2RUEva3RubnltcFN4b2FrTDFF?=
 =?utf-8?B?NGNYS3cyb1lxZm5wSlRiVkcwZ24wc3FQNENZNnRBL3V2N0NZcWVyTEVzbzFG?=
 =?utf-8?B?QndQRGtWQ0lzTy81eDRtcmtsNmRnUmJoY1lvOTQ0ZmtjcnRGOS9FQ3loTVBk?=
 =?utf-8?B?ZUc1SmJIUkdXbWtzR0R5Vmd3MGdoQktMMm1wQzVzZktTK280Rmx3VlR6SDdP?=
 =?utf-8?B?WjNmOU9uWE5sQXBjNStEOWRlamxjV2hlSk9oQll5VW5mVmFoUG91RXE4M0xQ?=
 =?utf-8?B?dzFMR2tCL0dyaStrNGhiQ2FCNm1LVUtpbzFHQVN0Rk5UanFGSnpNZ2p2S1Ni?=
 =?utf-8?B?dTFOUklIS0lKZlBUbDhvVFZOTDQ2L2Zua2NuWHBTdC9Zd21ScmQ0ejgyM0Zu?=
 =?utf-8?B?REZ3MmpxdTR6Qk80c2htNmV4ZEVleWFhUXlITm84SmN4bTVEM1p0Qjh1Wm90?=
 =?utf-8?B?U0FIRDdxaXhaQmo2czZmalN1dS9qcVR4aE03T2RNYVVIQ1VQRnZIa3V6SUUw?=
 =?utf-8?B?ZmxNWEJYWDRYMy8zTlk2WWxnWWFxV2NYZVRHWFJjVjZrc05tKzROV1NZeDdr?=
 =?utf-8?B?aHg2bWNlM2VYZFpJZWlWN3pEWjJYQWsvc0tFRmJJTlZqTHArWll5Z2I1RFdz?=
 =?utf-8?B?a1RDUGg4UUIxbVBLQS93TDVsbDBlZGhuZDg4dTVxY0xpbzRWM2tFTU9kdFRs?=
 =?utf-8?B?alJjMHVJWHNES1NLNDY3SGVBb2xZWUNnR2R6TVc3TEI5d3gyeExFbTNEWXlS?=
 =?utf-8?B?SFRKV1ZUS25MbFZyRS9qc2E2L0JsZ0pvK1JtamFYRWFYbndMVitySXBWaGcz?=
 =?utf-8?B?d2NKam9PVVV5WmhRT3ZETTZBcEpYTzhMMk5sTEQwYTlqOWxYaUdKQ3RhbVlX?=
 =?utf-8?B?RmhjMDRoK0R2dTRmQ1dXOEVQVGw0UDhsUDNwV25GZHRvV1VyS01aM1U2ZktL?=
 =?utf-8?B?WUFpOHp0bEZkZVV5ZVVScGlCYnFLRnZ5MUQwWU5SUlhQeVVQeVhJNEM1Uit5?=
 =?utf-8?B?SFl5cy8xR2tKOW9oVnZySW1OL3BQT2ZQcEJxcXN3d0xFS3FQc3l0SDZpNEZj?=
 =?utf-8?B?c3NFVlJCSmRidGhHb1FvZkJiWkVpSTNUc0FJbGNNY2NIZWV1ckhaMWVTaWtN?=
 =?utf-8?B?bEJ3cURKTW0rTkNiWlBzNVdCVStnaVI4N1doZWhucHJHSE96czdEL09RbHg5?=
 =?utf-8?B?TjVpM09hVXlDRWJmNXgzcS9rOC9LMHdobVpnNlFnVmZTcWcrNUZCMVlHbE8z?=
 =?utf-8?B?QVM2SWpTV3g3YlI3OEd1ZGZQVTZ6RERONncvaTN2K1UvaGt2TXVubWJQcHFq?=
 =?utf-8?B?bklZUTlKeDZtN1h0QjRiUWplTmRnWmJaTUc1RDdRWXl1U0NNVkdBbDVyc1hQ?=
 =?utf-8?B?V3VOdWJ1dzhxKyticGZpM1dEMjRiSlREMGUwcThGYmQ5eTFSOHViUGo0d1Q2?=
 =?utf-8?B?bUZRWnVDaSt2eGRTWktvdWYvS1pZZFdCVzQyejI5cWNkKzJHT25hODRLTGxB?=
 =?utf-8?B?YU1KbityeHA1S2VvVUFRb1oydVRYeDNqWG4wWFZNZUhvOVB6THY0VW1HMXdl?=
 =?utf-8?Q?lnydlqA4QwNq07HlpkPlKSdU/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11cec998-4ae3-4afc-c98c-08dba96b885a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 15:12:31.8400
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eJIgdXhj/FE+iVZ3Tsci81tQwWvbLm5vldhaRbYW3AvP1CidDB9zCkHrwJQdSXg1zmK2E/4KMN3S0G+UjF8/qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9179

On 30.08.2023 16:35, Andrew Cooper wrote:
> On 29/08/2023 3:08 pm, Jan Beulich wrote:
>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/domain.c
>>> +++ b/xen/arch/x86/domain.c
>>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>>  #endif
>>>      flags = c(flags);
>>>  
>>> +    if ( !compat )
>>> +    {
>>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>>> +            return -EINVAL;
>>> +    }
>>> +
>>>      if ( is_pv_domain(d) )
>>>      {
>>> +        /*
>>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>>> +         * subset of dr7, and dr4 was unused.
>>> +         *
>>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>>> +         * backwards compatibility, and dr7 emulation is handled
>>> +         * internally.
>>> +         */
>>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>> Don't you mean __addr_ok() here, i.e. not including the
>> is_compat_arg_xlat_range() check? (Else I would have asked why
>> sizeof(long), but that question resolves itself with using the other
>> macro.)
> 
> For now, I'm simply moving a check from set_debugreg() earlier in
> arch_set_info_guest().
> 
> I think it would be beneficial to keep that change independent.

Hmm, difficult. I'd be okay if you indeed moved the other check. But
you duplicate it here, and duplicating questionable code is, well,
questionable.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:16:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593062.925961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMvl-0004A1-Hb; Wed, 30 Aug 2023 15:16:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593062.925961; Wed, 30 Aug 2023 15:16: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 1qbMvl-00049u-Eu; Wed, 30 Aug 2023 15:16:29 +0000
Received: by outflank-mailman (input) for mailman id 593062;
 Wed, 30 Aug 2023 15:16:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbMvk-00049o-HY
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:16:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3079def3-4748-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:16:27 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.38.20.102])
 by support.bugseng.com (Postfix) with ESMTPSA id 8F7E64EE0738;
 Wed, 30 Aug 2023 17:16: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: 3079def3-4748-11ee-8783-cb3800f73035
Message-ID: <f06ac8ec-3fb4-ebce-9df9-5655ac3d6bc3@bugseng.com>
Date: Wed, 30 Aug 2023 17:16:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 06/13] x86/EFI: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <e5d9700d6ca237aed64ad11a9025a71a6fd3e792.1693228255.git.simone.ballarin@bugseng.com>
 <5bc8dfaa-122c-e076-eb8c-5bfd9a459dad@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <5bc8dfaa-122c-e076-eb8c-5bfd9a459dad@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 15:27, Jan Beulich wrote:
> On 28.08.2023 15:20, Simone Ballarin wrote:
>> Add inclusion guards to address violations of
>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>> to prevent the contents of a header file being included more than
>> once").
>>
>> Mechanical change.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   xen/arch/x86/efi/efi-boot.h | 6 ++++++
>>   xen/arch/x86/efi/runtime.h  | 5 +++++
>>   2 files changed, 11 insertions(+)
>>
>> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
>> index 92f4cfe8bd..2c6be062cc 100644
>> --- a/xen/arch/x86/efi/efi-boot.h
>> +++ b/xen/arch/x86/efi/efi-boot.h
>> @@ -3,6 +3,10 @@
>>    * is intended to be included by common/efi/boot.c _only_, and
>>    * therefore can define arch specific global variables.
>>    */
>> +
>> +#ifndef __X86_EFI_EFI_BOOT_H__
>> +#define __X86_EFI_EFI_BOOT_H__
> 
> Considering the comment, I find the need for a guard here quite
> "interesting", to be honest.
> 
> Jan
I don't think a simple comment is enough to say that "precautions have 
been taken". For the moment, I will drop this change to keep this patch 
going.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:18:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593069.925971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbMxY-0004k8-SV; Wed, 30 Aug 2023 15:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593069.925971; Wed, 30 Aug 2023 15: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 1qbMxY-0004ji-Po; Wed, 30 Aug 2023 15:18:20 +0000
Received: by outflank-mailman (input) for mailman id 593069;
 Wed, 30 Aug 2023 15: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbMxX-0004jc-7N
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:18:19 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71c7502a-4748-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 17:18:17 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7322.eurprd04.prod.outlook.com (2603:10a6:102:8e::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 15:18:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 15:18:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71c7502a-4748-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ADo/qdtAKcttk/35lpCcvmxai4plc+JiseUe3P8nHKL1+Gz8hyfFYdXtbm/iUmhZd6/hQfTyHJHno5eGq5xRIXWwoEo3SVvZLN37iPrTIEmrTGCP2/KEQu6p8hNyE585DYO79uWCXjqT/K3ZwwNRRyY6neD3Ebw6hKfZ8sZt807rrNAPZGF3UI//6dYxPjd3qP2P3DkpgEnr8YWsxCp1xQtRDCd3FntgyfzR5gDok8K/SQW299VbLSgw1yXij8dJyej7xlP7xrM28Mw/Kkv3eT7jFT2FRRjiWxAoAn5KWv6p//edgkkaxU4Hv4Aw0rwZoipWCc7ZhXiC2nIC9UE4xA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pApXcpexZHy/JfADEbdVoRXBFyCgDnRYKr85jq7XUdM=;
 b=a+5NbXJXu4HbEVcyT8j4nt6p/bqxETyazclP7+Rs22Y5FBnMBB92PCkH0jsbn6xR89LLgAikRr625rjfG81R+ESQHcJzq0i3MQ1ZNmH0zxHWR/ZnH/lqlTv3iBMwghWiBIHN00FotmLlz4O8v8xJQ0lVn+VualSsAX9A2lR3xgCPMY960pAYttUwBbqgQrfRl4jkYw/IApjS1ngGPy7iEaKvHEluySgXz0EXKTDvxp2jwnQlnKSmbi4IMTz5FdT3AJVY0u9GZP3D2m4O1u2JjR3KufhK3cAj37QekMEeric44QCv4zFyxhbcUHV1IbCalI7WCWEf7mL0OUmoMJq7sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pApXcpexZHy/JfADEbdVoRXBFyCgDnRYKr85jq7XUdM=;
 b=uoL8fzvkFcJW2AkR2KjSdQ4dry1880VWlmU+Dc+d08Yj6LgykpscOMrN5BF+6IOSP072S7u9i0y4FqNIAUNGkZymrYYEaegMH5F82/WTa/2qYbElesmrCKi93UScGnJs/r1UnBVlI9lZXvCTleQ9KD/e0/DvQfrna11qtfDpdWxHiuO/r+wUPC0Wgslzm0fmvrBdM/+R+IO/0CToClaE8h651fu3mXWss5OH+anFGpzArNnlk7CTPZFVR4O7dG0QIsOzgoBhW/XyrkFA5iyqgxkrhav/Vr+Kfvhbkwgq9cYNJ8KdSHDDNsCu+v7O3Ysfqqu8dzZ3QuByKg1tbD85Zg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5abe351b-7f0b-d7ff-de8b-aa6d84610767@suse.com>
Date: Wed, 30 Aug 2023 17:18:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] x86/emul: Add pending_dbg field to x86_event
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Tim Deegan <tim@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 xen-devel@lists.xenproject.org, Jinoh Kang <jinoh.kang.kr@gmail.com>
References: <21cc28b9-91d1-1e6e-23ac-00c44f3ec08e@gmail.com>
 <e01c71ad-cbc8-11c1-ce51-58931021193d@gmail.com>
 <badc045a-c16b-659e-ab3a-37830d1cb3d4@suse.com>
 <2e7acb20-04e1-e69f-eb66-07bd8f9d8b22@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2e7acb20-04e1-e69f-eb66-07bd8f9d8b22@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7322:EE_
X-MS-Office365-Filtering-Correlation-Id: 4aa44cf1-1809-45ef-6ec0-08dba96c547b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ysz3QgSP+xYIySrlr9NN3VYiL50TZohqaxLUiwexRaB1ZpqMXgW7r41M7/8Byijt84f4DYKVrajdwWqKgGeTJocsNq/0qp5DCyBZGGHuqxsa/xqbW3HZwpgfXM8YKk0NycrXysWGD3ZrYftD9t/mOm4NW36cV/tvQX3BSpXPRbtknOHlQy8BzjrrFqCXDIQIsxPO9Bg8jyVeeyvLSxJwKrm7GXMjzZJZMHXOyg+aQ+LXPytiL6JwEIximQJUl07xIEA9cZ+0VozDw5kDRcwLLxK33H6uZn8mmmqWI7ZxWaW1kbGYOfOfITzXtRMrjhBycr07e2joaRxxLbds1coUkEBmNKcvRnkZ+nCNLRCUxfE2JtedJ40k9mEMjXyod/aTOEBtMOBn4P/mQPH5zg3okPlKFIILkEac3ZLzA9m+C1fuDTBA26IxgjuKOpPWJe0zU8YADK6RHZClBuPLAkt742D2r74otJYbrn/Q5+37tInsjqCBmYcfJgw5VZcrnhGxGr6pW787jQJazGqder+MuqXv0Walqo8qoWB+rdPejRkSaGnRa2Vc9ESOivJe5LxBhgOeYr2iuQLwlTI+nJkNzmVJ8jQvzF6z6ufq1fNgfVvXIiceQ5d+NbK1QKTqZsM5Llef37Jr0pmWzQ7uWgurpQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199024)(1800799009)(186009)(6512007)(26005)(316002)(38100700002)(6916009)(41300700001)(4326008)(7416002)(2906002)(31696002)(4744005)(86362001)(5660300002)(36756003)(2616005)(8676002)(8936002)(6666004)(6506007)(66476007)(6486002)(66556008)(54906003)(53546011)(66946007)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWtZU0J0amV3NngxKzZJWGNVNE8yREp6a2Y5SE5yM0duMG14L2lWM1l4aEp0?=
 =?utf-8?B?RXFsVDd2aWFmbURlSVdJVHM1Z2J1QjlqQmZiYkpQa2MrQTdXd3Vkejkzb05w?=
 =?utf-8?B?M1c2MzlKd1JFeUw4cVRLREV3QXJZQ1BSUkEzVnFTaHRUT0NvN1lDOGhub0wx?=
 =?utf-8?B?K0ZibE1XTjI0aHEwZGo1R3BVRGVlUmEwTGFOSlVwd2hXTFYxYnVXWWhtdVZu?=
 =?utf-8?B?TmRIQ0l0Yms4MVhUUUtZQk9TT3EzNXNYRmF4NWhhRjc0UnRYNzlLMUR5amdx?=
 =?utf-8?B?T3pmSnh5Y3FYT1lRN3FvQ0F6WmlJQmlJOGNaMWtvUDNxYUt3MWZMbFcwUW5l?=
 =?utf-8?B?RkVGOHoxS1RDbzhTOEhWYzlkRm5MTWVieEx1MXZ6YThFY2srdi81N3RMSlVV?=
 =?utf-8?B?QlhjMkYvbmJYbkJGZHUxK2xJOE5yY0x0NmZCVVBnaVJmYkdiQjFSNDF1MjNS?=
 =?utf-8?B?amdpZTJwN1RBVVVUSk1ER2dBcDJGODdOWEFtemx3MXkxeU5CUHZoVlVWa1RF?=
 =?utf-8?B?VUQvV2hpeXAvMTRCR3FLblBtVElyby9DSmUvWExZcmprUEdBYkdGZXdVOUJy?=
 =?utf-8?B?bFBseWtUSVlySUdWV242YkdGNTUzKy9OMHY3RjhrOVhTQ2kzdHpkR3hUQnJy?=
 =?utf-8?B?QXNPQy9ZQkd5ZkJOdFRIdkYyRG0vYitTbTRmTXFZekVlMjhlR3RBcjZoN0Qv?=
 =?utf-8?B?bTVXclVsVTVMV0pmdlNhQWxtRmw3NWQ4bk5hc1BwbGpBRy9nblFtSEhGR2NY?=
 =?utf-8?B?eVgyNnBMQjlxaHgzU0FwdG51VUlaUW5pUWxUbjJKUzJObks3dFJSL1hxeGtI?=
 =?utf-8?B?RDQ2cTUxdVp5T0FWOXZkYkwvcHlIMmpydjF6Y01RQWdPUzcvMk5QSG02eGt1?=
 =?utf-8?B?amUxSVdZRUY4TDZYTEdOdG1yR2c5VGh2aUN6ZzZwb2FObm9CRWE0QzNyaTBP?=
 =?utf-8?B?dk9ITHJ4aHlQbm1wL1pvVUVlMTVVZk15RC9MUWdWc1J4OVJNY0NpbXlPVk9m?=
 =?utf-8?B?TlZYWFJaeWIzTEgyU0FJb0pMeTQyRHk4S25aMjJUMjFlUjNFekp3S2ZDWTl3?=
 =?utf-8?B?MEl6K1gydmFEcDRHRnJHQXpBZVQxWWtkTkFUK0dBRjlqb2ZYWmpvTE1WT2M4?=
 =?utf-8?B?VUE1WU51dVBKR01rb2ZFRjFNdWxkVE83YWJkMWNNNFlmaU1MNEF5VTJNNVBD?=
 =?utf-8?B?NmZGRUxQSVZTSk1wZzkzcnM2dGdLZHNoeld5WWFkbENnQ1A4bERza3k3M1hS?=
 =?utf-8?B?Y2UxQTJmT3k2R1phWXB3S24rS1ppRGp5NTY0Zy94dUtINzFRVkRaajc4V091?=
 =?utf-8?B?c05mUzRZTTdUNDlQZDNuQ3V1c0ZQV1hZS1pWc2Vhcy9kaWlQc01HbGFoem8z?=
 =?utf-8?B?Z1RpQ0d5UksyQ0FwVlUydk9MYi84dWFpdjNWVWdBaSs4MXM2dzhkWEhmNTVE?=
 =?utf-8?B?cmhHbjhsdzlJb2FMYkZzWnZkVHVNUUc2NU5tTi9oSTlQVkVRSnZPd1FMU2Vv?=
 =?utf-8?B?REEzRmRPalFsU0R0aFRWSUZEZjhJbmZ0TFE5NldHMXBiYlBXWGtuSWw5T3hu?=
 =?utf-8?B?WXNwSmpyNjY4aGdxdzZoZkEvRlZjT0hwNEFIY1RSZlN2NUgrc2pjL1Nwc2VI?=
 =?utf-8?B?SVVNQjg5UnNKZllIUkdXMlQ1S0o4anpoZStsbEdWZTI0MlJOOXUwdXl1UUdo?=
 =?utf-8?B?eTk2aGVmalhBYW1HaW1Ob2J5a3p0eGdqODRWYkFhRGdYSXI3VzlzN2htdHJ6?=
 =?utf-8?B?VWNQUnJlejRrbkdIZ3BibHJjM3ZOMlpSZUI4MU1Bd1lUKy96Zm1ka1JkZU9u?=
 =?utf-8?B?b2pNdXhvOURic2tPS3k1eCtJZDRGWXBuclRqK3MvZGt5WjJyV1ZKZ2hDdGlC?=
 =?utf-8?B?NURYUDBQYWxaSGlzNlpCci81Qlh1MElXQWJRTXZIKzBkMGpyNjJieWJjWnVq?=
 =?utf-8?B?S0s5YjIybGZpVUtKWHJTLzhhaGhHZVpGMGxQMlVmcE9GK2k4ZUVTYkJqdm9E?=
 =?utf-8?B?dUI5SHkxQW5NRU16Z0NYdllJbHVYM001S0ZlTFlqYzV2VFozMXhna3BIRmh3?=
 =?utf-8?B?alNETnJ0YUM1eTNuZ0xJamc1UHA1clRKNmpmb2lIaWhaQmFwRGxMN250d1Z3?=
 =?utf-8?Q?bz4RCS+lKEjcRj/piEqRRNBlN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4aa44cf1-1809-45ef-6ec0-08dba96c547b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 15:18:14.3226
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Oe8RQin7JYD6KOnXgpk4lyJY8u0zQwXOmpung5dEii4vujI8p9W2kqh/pyjiYgXSVxAXlA3ZSy2qyB92JR3WHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7322

On 30.08.2023 16:20, Andrew Cooper wrote:
> On 30/08/2023 2:39 pm, Jan Beulich wrote:
>> On 24.08.2023 17:26, Jinoh Kang wrote:
>>> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
>>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
>>> @@ -78,7 +78,10 @@ struct x86_event {
>>>      uint8_t       type;         /* X86_EVENTTYPE_* */
>>>      uint8_t       insn_len;     /* Instruction length */
>>>      int32_t       error_code;   /* X86_EVENT_NO_EC if n/a */
>>> -    unsigned long cr2;          /* Only for X86_EXC_PF h/w exception */
>>> +    union {
>>> +        unsigned long cr2;         /* #PF */
>>> +        unsigned long pending_dbg; /* #DB (new DR6 bits, positive polarity) */
> 
> As a tangent, since I wrote the original series, there's #NM and
> MSR_XFD_ERR which needs to fit into this union for AMX support.

In "x86: XFD enabling" (posted over 2 years ago) I'm getting away
without this quite fine, and I didn't think it's wrong to write the
MSR right from the emulator (using the write_msr() hook).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:23:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593077.925981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbN2p-0006PV-Ec; Wed, 30 Aug 2023 15:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593077.925981; Wed, 30 Aug 2023 15:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbN2p-0006PO-C5; Wed, 30 Aug 2023 15:23:47 +0000
Received: by outflank-mailman (input) for mailman id 593077;
 Wed, 30 Aug 2023 15:23: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=Gtsd=EP=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbN2n-0006PI-VH
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:23:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 354c9d2b-4749-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:23:44 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.38.20.102])
 by support.bugseng.com (Postfix) with ESMTPSA id 0C4904EE0738;
 Wed, 30 Aug 2023 17:23: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: 354c9d2b-4749-11ee-8783-cb3800f73035
Message-ID: <acbb4816-139d-ebcc-1a86-e38ab7ba9c1f@bugseng.com>
Date: Wed, 30 Aug 2023 17:23:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 07/13] x86/asm: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
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>, Wei Liu <wl@xen.org>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <c5b6c3b7824d620b341c72c8d5dde5f5fce17dec.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281529400.6458@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2308281529400.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 00:30, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> Add or move inclusion guards to address violations of
>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>> to prevent the contents of a header file being included more than
>> once").
>>
>> Inclusion guards must appear at the beginning of the headers
>> (comments are permitted anywhere).
>>
>> The text of the beggining comment of cpufeatures.h has been changed
>> to match the deviation in automation/eclair_analysis/ECLAIR/deviations.ecl,
>> moreover this new formulation is already used in other files.
> 
> I don't think it is a good idea to do this kind of textual matching.
> Instead we should use the format introduced by safe.json, e.g.
> SAF-1-safe
> 

I agree. I will use a comment-based deviation.

> 
>> Mechanical change.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   xen/arch/x86/include/asm/compat.h      | 5 +++++
>>   xen/arch/x86/include/asm/cpufeatures.h | 4 +---
>>   xen/arch/x86/include/asm/efibind.h     | 5 +++++
>>   xen/arch/x86/include/asm/hypercall.h   | 6 +++---
>>   4 files changed, 14 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/arch/x86/include/asm/compat.h b/xen/arch/x86/include/asm/compat.h
>> index 818cad87db..3d3891d061 100644
>> --- a/xen/arch/x86/include/asm/compat.h
>> +++ b/xen/arch/x86/include/asm/compat.h
>> @@ -2,6 +2,9 @@
>>    * compat.h
>>    */
>>   
>> +#ifndef __ASM_X86_COMPAT_H__
>> +#define __ASM_X86_COMPAT_H__
>> +
>>   #ifdef CONFIG_COMPAT
>>   
>>   #define COMPAT_BITS_PER_LONG 32
>> @@ -18,3 +21,5 @@ int switch_compat(struct domain *);
>>   #include <xen/errno.h>
>>   static inline int switch_compat(struct domain *d) { return -EOPNOTSUPP; }
>>   #endif
>> +
>> +#endif /* __ASM_X86_COMPAT_H__ */
>> diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
>> index da0593de85..1dfdd478ab 100644
>> --- a/xen/arch/x86/include/asm/cpufeatures.h
>> +++ b/xen/arch/x86/include/asm/cpufeatures.h
>> @@ -1,6 +1,4 @@
>> -/*
>> - * Explicitly intended for multiple inclusion.
>> - */
>> +/* This file is legitimately included multiple times */
>>   
>>   #include <xen/lib/x86/cpuid-autogen.h>
>>   
>> diff --git a/xen/arch/x86/include/asm/efibind.h b/xen/arch/x86/include/asm/efibind.h
>> index bce02f3707..f2eb8b5496 100644
>> --- a/xen/arch/x86/include/asm/efibind.h
>> +++ b/xen/arch/x86/include/asm/efibind.h
>> @@ -1,2 +1,7 @@
>> +#ifndef __ASM_X86_EFIBIND_H__
>> +#define __ASM_X86_EFIBIND_H__
>> +
>>   #include <xen/types.h>
>>   #include <asm/x86_64/efibind.h>
>> +
>> +#endif /* __ASM_X86_EFIBIND_H__ */
>> diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
>> index ec2edc771e..2ade5d71b8 100644
>> --- a/xen/arch/x86/include/asm/hypercall.h
>> +++ b/xen/arch/x86/include/asm/hypercall.h
>> @@ -2,13 +2,13 @@
>>    * asm-x86/hypercall.h
>>    */
>>   
>> +#ifndef __ASM_X86_HYPERCALL_H__
>> +#define __ASM_X86_HYPERCALL_H__
>> +
>>   #ifndef __XEN_HYPERCALL_H__
>>   #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
>>   #endif
>>   
>> -#ifndef __ASM_X86_HYPERCALL_H__
>> -#define __ASM_X86_HYPERCALL_H__
>> -
>>   #include <xen/types.h>
>>   #include <public/physdev.h>
>>   #include <public/event_channel.h>
>> -- 
>> 2.34.1
>>

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:29:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593086.925992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbN7r-0007Xw-6c; Wed, 30 Aug 2023 15:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593086.925992; Wed, 30 Aug 2023 15:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbN7r-0007Xp-2o; Wed, 30 Aug 2023 15:28:59 +0000
Received: by outflank-mailman (input) for mailman id 593086;
 Wed, 30 Aug 2023 15:28:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbN7p-0007Xi-Q5
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:28:58 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eda46793-4749-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:28:55 +0200 (CEST)
Received: from mail-mw2nam04lp2177.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 11:28:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 15:28:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 15:28:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eda46793-4749-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693409336;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SSLqv0584YLMX3R1ZNaMkY4+OMZ4gvw9jU7k1eqYn4w=;
  b=CvYH4AG/LdkfPm51wurD/KkdFIkzc7HI7ZCoy/6dSUpFLMmICZMVxl7Y
   QCdd68YsZuhsXzxBgjb2mJakkZMAJAPO4UiApYAfYL0jotPveqHBarwE3
   qxL1uyJKttQoHviR46x8eepyefWL1mW/b8lJfVoNESUBAmjZsDvdIgbw4
   g=;
X-IronPort-RemoteIP: 104.47.73.177
X-IronPort-MID: 121002361
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:/KbC/6leJQJI2nxY44Ka94Po5gxFJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIdUDjTMqnbYmf2L9h3bNy28kMAuMSHm9NqTQJq+SpgRiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K6aVA8w5ARkPqgb5weGzBH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fo9Di49YTWzu763x67rVPUx39t4J9a+aevzulk4pd3YJdAPZMifBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1c3ieeyWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuTgrqQx3gT7Kmo7SzsJUQWrs9aCi2mvV/1YA
 WM+4SQTsv1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceRz0s0
 V/PnNrvCnpsqpWaTHuc8vGfqjbaETgYKyoOaDEJSSMB4sL/u8cjgxTXVNFhHaWpyNrvFlnNL
 yuiqSE/g/AWkpQN3qDjoVTf2Wvz+d7OUxI/4RjRUiS99ARlaYW5Zouur1/G8fJHK4XfRV6E1
 JQZp/WjACk1JcnlvESwrC8lRdlFO97t3OXgvGNS
IronPort-HdrOrdr: A9a23:Gu/2za4C+HWJvzEFkAPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-Talos-CUID: =?us-ascii?q?9a23=3Ak/M90WsV2MOULKBrBw7ocCxm6IsjV1vD/Hj1E3P?=
 =?us-ascii?q?kCGF1GKOJFAaPo6h7xp8=3D?=
X-Talos-MUID: 9a23:9LZ6+waLU5+QbeBT9BnzgG9yJuhT4oO/BG8Ku7osoMe5Knkl
X-IronPort-AV: E=Sophos;i="6.02,214,1688443200"; 
   d="scan'208";a="121002361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WqxLzXJEE0VSGqOEwgUNNpupWaVd/qKO+CQHkZlA8JE/5YLJaA3TdQ1ecknZMfqw1Rj0qkg2k/Fp2HgtMwoNOdQz0wJxt8KK3BB6E5tTtI0z5wqM++LdmbcvIe2QARj3RMA6Vd76365IsSZY/gRoiQTVG7NFoAm7YsUpg6mJBTnsB00jr3FJDR2qLv54sBmIfMgsWx/PqrrcmVO738ibqL2PTYsG4xQIM2ATkhAd/ozYgPZEuXGez2LgZFejuDf9adk88cTVCEAm4/gVO4TjZYZbRIty1qJhauI+At/sJ8J2zAfG6WZqnjs5LZuCiDDwWbHMwUrtmiaq6QfRtXHnvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UZcNk7Wbo9xCtpqRbx4rtQ1B38ZDUKUG6haMmDp3Y7A=;
 b=mAihpT6Odj1owPCcJFNEPQDy2V1Sfh6/svd5Wqw5UhB08UMem4rXDw0PohHutvH66jNY2Tt7HDNsiTA5Gt2A9Jdhz4uFg34pE648/9cUjvZDHHRY54L/0cgthhqsIgnuPrrVTFi0d8T8CmJ8BclER6NbA+2Egt57pO95Av5bN5Xnl9dFq7/gkp0Jl4znbtEfrSpy6aYNMBCD3TD1+bUDxCsC695TzkZG+OLcPeummdEXlmVTf1CloECYS/n/kAWHHPi4qVXtcPGdKq6DzGG2xrxWW3aGa7BvqZHjEi3vapdMVYsaz7T/fJXeezVIwpCswbPBoqbq9J0Dotfkh3hm+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UZcNk7Wbo9xCtpqRbx4rtQ1B38ZDUKUG6haMmDp3Y7A=;
 b=R/1zWThVhDEH4O/MdHpFIr3dRrdLr0HPhVMYalPDll2XmOfwlu20RxwJkWIRdTMW5BSozOEfE2We2oRqjaPC5VCVrCbdQ/QV9naARgqD+gf4IiAMcGVGA+YDP2nnEgSE5Gp6whbg9zN1U4PHQFElasK7EDhcY4U4p9q1Mlxo7MY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2ced7357-b8ec-e071-9ce5-c4d23b1a6a03@citrix.com>
Date: Wed, 30 Aug 2023 16:28:44 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
 <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
 <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
In-Reply-To: <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0589.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:295::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6581:EE_
X-MS-Office365-Filtering-Correlation-Id: 85055f74-8aa7-40a4-731a-08dba96dcfd5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qobyfqYLypN8pCkNAyaXOoNx6DzK5xC8IVq0oLOwVQBwb+zGHJn6fL1Yka8RGeopjFp9uyxc7BIIhE7gkp30buLpwScc265mBFbh08HZCRQAvtt0DVyxGgYgQJbaeUHk1aXplTUErXM/ZIZGGtFeulKdfQYUL6ufAN4DqATlJDMBLJOtNqAWZIVMqkekFHA8VzCE2RY4ivRF5boxX/GchrD7sFjkI3uV5iGDvPQl9eeGI6u1z4z8uI/IGU76/F37vrT+7Xi02uYXlHVghZiTmUko91Usx7PnqfJfD0Fb8hGfmO0vsvbfNwrlzvKz9YRO9NoTTnOWq+obQBXECWH0bdhOYEjfcHSjLacWMKmnF3/PrcdDYrQxEpnHgZFx4M/M38zUt0KS3ps93z1jABUW1KVGTD5mq+sVN/SQ324K5NInqujGI0Y1GyH1JHb+nnUprITWeFf5xruw9CroVZFNsteTgGRk0lemCGTX3POxRuAeZi4Y/IhoEzUxQkF/pP/g/wwZT7upi2yHkJmQTcp1xhrzSBW5Dqj94TTmXRfi3dmy1Ikf6MDAh2ciz9Fl2v199uZKwezaZUpQa7Ivkm7XVVwKnkF3fKppIF+PU7PM9Bei+4nBITL2UMWV3JKosoVsbC3vY1jZDKR1B7dZwLYP4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(346002)(136003)(39860400002)(366004)(451199024)(186009)(1800799009)(8936002)(66476007)(6506007)(2616005)(6512007)(26005)(6666004)(53546011)(6486002)(5660300002)(4326008)(8676002)(54906003)(83380400001)(316002)(478600001)(41300700001)(66556008)(82960400001)(38100700002)(66946007)(6916009)(31696002)(86362001)(36756003)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vk12Z2tlMTN0aEtJblVjNkpsSVNyNDhKQlJtWHlvWWNZd1VsWHVPN2VMVzhN?=
 =?utf-8?B?dk9XQ3ExNEpyWHZCQWZxbXZDU2NxMHhqOWZpdDcrZXRPZFJweERXWGN3SEti?=
 =?utf-8?B?Sk1VVHJCNjdpd1A5dXFNUmdjQmp6VEp4ekQ3ZVF3azc0cVA1UEZSZ1U1bkZU?=
 =?utf-8?B?T3RrKzRzVHRBZG9sbkdaVnM1MVFhaW9ZVm1LU2p0UnhpbFZwSXl5RzU1WWhT?=
 =?utf-8?B?aERKZkFEa0tyNUQxTXp6YU5HNUxpNFl5SksxN3Y4RjhCam1pc2RId0RaMjZn?=
 =?utf-8?B?QmJyLzIveGVrM04yM3F1VC9QODhqQ1ozVlBMMWpMOGZ4YUEvUkwyZkJWV0ll?=
 =?utf-8?B?eVRDV0RSR1U2bGVmb3EzdG9SSGZ6SjMrejBLZStpdTJMeTViWWRpTHV5MWZa?=
 =?utf-8?B?SGdwSDJScHBPNXdmWTNkM3A4Y1hWTVlZV1QrcC9lR0tGMDQrZTRCTFhkbjBn?=
 =?utf-8?B?emFkdG1HOUQvcHRyVVpicFBEbXJ1YkhiRkY2alRDL25EM0xBWlFUYm9jcGk2?=
 =?utf-8?B?Nk1wYm9IZnNoT3M1eDI5OEwrb01yNmRNMGV4RTZNZ01aUTljUisrOVEzMk04?=
 =?utf-8?B?NkppaDkzYnRRQjkzeVZ2NTRZK0tCRURtNml3NVd2cWkzRys2eVRsODloQ0VZ?=
 =?utf-8?B?cXJRb21ZUmdHTW9IMEhtYzdWSS9nYlRtTUNPTkQyU0hKdVRWbTZPY3pqaHFZ?=
 =?utf-8?B?cW9XQk5xRit5cll6ekFqblovYlJ0SDRYVnhnbWFyOXhkbW53VUJQbEk5MndT?=
 =?utf-8?B?OEMzTy9jNldFdExDdkZ6MFV0Wk5WY0s0cDUvdjczNFhUUTUwZEhEQllsblds?=
 =?utf-8?B?RlJFRU5ucWVZcDNSeE1wWHBnNmJMREI3T01mMm1mRXdEc0txMjg4ZS9xVjVR?=
 =?utf-8?B?NTJ3eTRFYk5OWTM0ZEtZdnJXT0Nac1hJNDl1RCtES29JWExwUHgxZDZlS0RR?=
 =?utf-8?B?ZGhkQkVuTy9lUUtJSGs2Qnk1QjRLQWJXRTFCTXE3S3Urdzk3V3RQZStNb0pu?=
 =?utf-8?B?T1ZEWGFuU0JJTTdOVkhqa010ZFB1REJiVC95UlVESlZYTW05dUhJeEJOWUJG?=
 =?utf-8?B?Wk9SUUgrMjVLdklDRS9HMDNXZ3Fwb1JCWERralZWMURHZjd1ekcwZVAwT2d3?=
 =?utf-8?B?ck5lejd4d0l5RGRWVDdnNWxreGMrV1FBU3I1bjNkM0tiaUQxY0hUMTZLZlJp?=
 =?utf-8?B?dThmVmpvWG55QVQ0UUVKcFZ6azdvZWdFcFV1L0tmTkNpZHZTTVArdytWdEdF?=
 =?utf-8?B?a3hYMmVwL3gva1l0MmE4NGxmNnVGcm9rd2E3UXFOM0pWQkh0d1V2WmUyVXRk?=
 =?utf-8?B?SHBEaWNqR2NteXdwU0RZTUsvT3hpaTFTajVxUnhNdS9UOWVlZ2g5K2ZFZDFx?=
 =?utf-8?B?NCtDS0JEQXJFTDJRODFoOXNEbS9ydkVBVEY2UlVIK0s2VS9rL241cmluRnJj?=
 =?utf-8?B?bWEwUGY4OG5Sd3g4OFRWMk1PN2Z1cklEamtkTGpsTElkR0pVaSsyN2RKenVR?=
 =?utf-8?B?elp4YVlKSnlOYUc1SkZwVEdEVXFxSllUQktqbURnK2RocmFSU3kzTnZtaFZP?=
 =?utf-8?B?akhxOEdrTmxTK1EySVNseCtOOFYycjZicnE5MHRPQXpKTjJiR1hpU2ptK0oz?=
 =?utf-8?B?K2ZFSkY1c05kZkVFRisxdEJJTnlmaWk2c1dGblYwdFlkUmh4M0o2WFB6UHps?=
 =?utf-8?B?eEFTekRJM2JnT3BNT0dMMzZxdW1NWmlmM3VSLzc3ZDYvVHB4d0loaHNYUU5Y?=
 =?utf-8?B?VHNHNjk4SmlUSEFLa0MzTXdsZGlYL0hnRE5TMmx6cUU5aDVSdGZtSDkzQklB?=
 =?utf-8?B?WDV2NGt5cEZOOTZqNEczNTRqaXlKYmhNaU85dTVDOHNHRXhza1VsNGcxSTFm?=
 =?utf-8?B?RFg5Y3JObVUrZnJzR2RzNWxXSmlYSFBVcTE5bGF3MHBPVDNpYlUrZlh5d0ZX?=
 =?utf-8?B?RmJyUmRicDY2MHRUY2lET1VjaUNCUnU2ZnhtaUVOUk9nU0xFNENyTUw2RklL?=
 =?utf-8?B?ZjZxeWhWeWpneHp6dmMyYkI2eGdDa0NGVXRlUkcrQVdhMXhKY2lRVGE5bWFn?=
 =?utf-8?B?aVRaVkFrYzNPTGNmeHFMSHFlTkx1N0JSMmNpczQvNmtwaWlTNVRHbEdMV0pa?=
 =?utf-8?B?S1pPNHA5M3dUQUR4SS9PTDU3anltWjhSTG9YNzNkMnhBU1NVZXVkMXVnaG1U?=
 =?utf-8?B?VWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	iYxmX9QgCMiO2TSTamhrujY1qpe4veOnSYW9FI+wUQs/33oBdejobfW1dD9B3T+ZY6nKz6va0UIPP99Xo+XpX1rz3iuCjolX66/etWESxf+I5YP9TjTgThZhLh6tml0geS6g2yt6ymYhyPW4lsK+5L3R0w+mjspupk2m4C+iLW7IppDxZxVH+JMmGi27zDkzT/PLWrq4fPHsiqkuW0LmHCh1Ik9ou0uY0kMYok3x8MzWvxF6HnxfID7kootPuovBOFlvghZlHT8OmVXPiReVUfYLnB21z941++S3CFDTNfO/jnu39EdsI+OxBBuuUdycgOtVOJ8IEN2uoG+ryFyBGkWgP+nRd9c0IcZAUeNnVqxOBVsgNpjerbPMz1R/VGzTLPCPmoDoWEUL9Y00cLu8VGWsSMWQZKLpgmI7VDDLJjXMcEANgZF7EC86vMJBuVnMweRvDxvYonXWdzylzNTDPo3HOSq9tqG7FN0Y/NNI/gBGUFetdq1f5OPtRQHDVbxxTVmabXNgmcQIK+60PNI+50nttHgVl8J+NWYkScgBAYhSZ4mJStn7o+Xn69VQEsvkUTi20fzCjUOF2aiZO04zEkTlDnfVD8gYK07XHpbmHLL9qVB9+KJL1gVvXT1FUxVTBVF09BY0/oXxt0V3Ug51A3auYftkxPBYjGGKv3zB7Je0hMEdmDVStP7kfUEaSGXOjUIG7Q88H//spk016oIr1uNIxSg7JGIVeactARsVuLk4RhPinYLVAzQbC2DRtu+Qr9cVXERpU/BsBC9VtUOGYts2vxJU3ygNFVddniQqX1+IdRYdApghRiOnO07sWDeiJy2b+uF5cdEFK9D9pFu7/tyIfKoBLMvVoaQ3iE08fnA=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85055f74-8aa7-40a4-731a-08dba96dcfd5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 15:28:50.8151
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SYIkmYktlmnT5FjdXW+/vzAvzuVbPY7uXq45nXrPORO65yoTHIUx/bNd4WU6k+QbnTtZFebZ5lGothUGeF/OxXGj4NQbPCNRi+/uOmFjhqw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6581

On 30/08/2023 4:12 pm, Jan Beulich wrote:
> On 30.08.2023 16:35, Andrew Cooper wrote:
>> On 29/08/2023 3:08 pm, Jan Beulich wrote:
>>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>>> --- a/xen/arch/x86/domain.c
>>>> +++ b/xen/arch/x86/domain.c
>>>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>>>  #endif
>>>>      flags = c(flags);
>>>>  
>>>> +    if ( !compat )
>>>> +    {
>>>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>>>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>>>> +            return -EINVAL;
>>>> +    }
>>>> +
>>>>      if ( is_pv_domain(d) )
>>>>      {
>>>> +        /*
>>>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>>>> +         * subset of dr7, and dr4 was unused.
>>>> +         *
>>>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>>>> +         * backwards compatibility, and dr7 emulation is handled
>>>> +         * internally.
>>>> +         */
>>>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>>>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>>> Don't you mean __addr_ok() here, i.e. not including the
>>> is_compat_arg_xlat_range() check? (Else I would have asked why
>>> sizeof(long), but that question resolves itself with using the other
>>> macro.)
>> For now, I'm simply moving a check from set_debugreg() earlier in
>> arch_set_info_guest().
>>
>> I think it would be beneficial to keep that change independent.
> Hmm, difficult. I'd be okay if you indeed moved the other check. But
> you duplicate it here, and duplicating questionable code is, well,
> questionable.

It can't be removed in set_debugreg() because that's used in other paths
too.

And the error from set_debugreg() can't fail arch_set_info_guest()
because that introduces a failure after mutation of the vCPU state.

This isn't a fastpath.Â  It's used approximately once per vCPU lifetime.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:37:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593007.926002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNFz-0001Fw-Ud; Wed, 30 Aug 2023 15:37:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593007.926002; Wed, 30 Aug 2023 15: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 1qbNFz-0001Fp-Rm; Wed, 30 Aug 2023 15:37:23 +0000
Received: by outflank-mailman (input) for mailman id 593007;
 Wed, 30 Aug 2023 14:39:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g7n+=EP=nureva.com=danwaqar@srs-se1.protection.inumbo.net>)
 id 1qbMLf-0002Ft-JB
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 14:39:11 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2071d.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::71d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa27164c-4742-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 16:39:10 +0200 (CEST)
Received: from MW3PR20MB3290.namprd20.prod.outlook.com (2603:10b6:303:5f::16)
 by DS0PR20MB6486.namprd20.prod.outlook.com (2603:10b6:8:166::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 14:39:04 +0000
Received: from MW3PR20MB3290.namprd20.prod.outlook.com
 ([fe80::f62f:626a:14b:3b1c]) by MW3PR20MB3290.namprd20.prod.outlook.com
 ([fe80::f62f:626a:14b:3b1c%4]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 14:39:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa27164c-4742-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P9OPtH4CNyg2YZ1Rr0D4KLvb9vKPn1Qn0xFaL2AMwoQVupHqbOGX1eymTxWPlCnDeEQZhQjx3OUZkUcyek221YBbBO3dbchcA69mhzKydk+LlxLD+aOGVuNeR4nDhhFtnc7y6Ljh/aoVwPZSE3s5bgrf9LISHhj2y0hpvUpDeVclBUPxvRaf4tcDgOVPa5SoVUcuOE6TY2pK1CE3bwJKt3MGlUwO7Cj8I/ugrvDTYTUK8f5Koco+fZASlURF+LCHkSEyRKtHMNascf2tCGxn4Ox8ql/BNefedVFQsJZ02DtfDe+AakLFcblLa2Y+BYZEQuUbEOiS3ikoXLweB48eOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d6iAVqAHS9d/SMMVkOjbuf1SiV6oznBLuxEIohaYnyA=;
 b=TPybq7ADke07bnFYg28TjuC2dZ8wFDCA8MKx1WQRu3yLlZJhhwe3ZmrGgjKuy8yQ29GfO1gk7QGZLRMRgC7akqdVIIk7M3olAJgKXeQ45b4vIcwfacqV2MqwTBla7fJzOpaTsS7LBCBN5ilUxDTLFcoaXhEZ6NnDc3FD4xXSRu1GnlhFO0LNOtmleDtvqxqojUtl+XolyD3lXtbceduQSyvUb7zHaxSTyY692ZwjD3ErQk2YBt3EDGT0vfnHJ4xM5EfzPABS8gkl7RU6LxYWnQMMtDLC2naIAXFnbiZfPN3w2Neg7e3XKOg5LG9eUZTYLLNgPOvi77kyYGF99CLUbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nureva.com; dmarc=pass action=none header.from=nureva.com;
 dkim=pass header.d=nureva.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nureva.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d6iAVqAHS9d/SMMVkOjbuf1SiV6oznBLuxEIohaYnyA=;
 b=PeJQOl2r7q1GUk/cnMVsU+i/BODIdOswRlhZW+/qH5fun7rN5gNRwW7V2s/iLdBwdgEVnKDgT778shseEHeoOH/dZp8++88z4Q9m0D/D8w7tm48KWT+4PjkZLywSaRVpYaPHO4iiDTnt3sluhAqrMrGtQJSnZVDKU71ZZguH/8s=
From: Dan Waqar <danwaqar@nureva.com>
To: Dan Waqar <danishnzapp@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "julien@xen.org"
	<julien@xen.org>, "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>
Subject: RE: [EXT] Re: xen arm64 low power sleep support
Thread-Topic: [EXT] Re: xen arm64 low power sleep support
Thread-Index: AQHZ2sXujaKHIRxg0Ui8Q8pm/6lEKrAC6Tjg
Date: Wed, 30 Aug 2023 14:39:04 +0000
Message-ID:
 <MW3PR20MB3290BE4F7FFECC569F65FC7DB1E6A@MW3PR20MB3290.namprd20.prod.outlook.com>
References:
 <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
 <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_ActionId=6284961f-2114-4113-b191-8a72ecdf93dc;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_ContentBits=0;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_Enabled=true;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_Method=Privileged;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_Name=PUBLIC;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_SetDate=2023-08-30T14:38:20Z;MSIP_Label_2214f2e3-d3e7-4b81-8952-aef73521b876_SiteId=5aeb77fa-643b-473e-aee0-cb54a11ccba3;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nureva.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MW3PR20MB3290:EE_|DS0PR20MB6486:EE_
x-ms-office365-filtering-correlation-id: b29ce148-5ca1-404b-2460-08dba966dc01
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 O2MFAicIWSkKJ4kPWGwUhdEQBW3WvYgJ50nQIirtrLpk7gf6LHdwVJH3yBQPszScFbE2qLfOx+QxDs6gaA9v0NJsXbORVi80HRcrJlM7kLTdvxyfrtDgi99M8rCe8jdyC0dG9AngqNzNnCzFyV8y6yKP55viTNaN4fkFrgxeZ40xPq6/Z4LU9qfIzZhooKZQc7xrJI4ppC+Id9YgNhIc5R/aYuC+3eSiPbqQvZWbw92wixZfjMewhVHRwN0OPTNIngvw23OHtWDZFoGpWckLefhGAodIV4Mu+ViPG4ydlpaxobKZobC8iixmpvkZDqUIIbo4FQ2uiUwCBVqsbvvjmZeR7WmF66GITY9rT415U803lZzobmlZriM4ra2GNXxXQaSESUuQQkKwi7D7Fyrnz835Yy1ryRb1SxiEghgmnq+sn/sdOQsXKqZB4l7cwFidY9YmAOKmG9WMpmMEXD/42N7vGG8EUNhqwLdQYa2RbsjzZgWxTmgYhbw77rzVE6xv9bhvT5DTZxNGRPaWgIMYQ3ncQplqNXp8TPQdt4nbQAVqCzhInasL8V5qozX2OVNKlOoAnuqleacde3+y9PJUulbpqkhQvqI/YE4HoA+T3avSUT2QHGLlkuX1a2l7xhxB
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR20MB3290.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39840400004)(366004)(396003)(136003)(346002)(376002)(1800799009)(186009)(451199024)(55016003)(54906003)(64756008)(66446008)(66476007)(66946007)(66556008)(6916009)(316002)(76116006)(38100700002)(478600001)(38070700005)(122000001)(2906002)(86362001)(8936002)(8676002)(41300700001)(5660300002)(4326008)(52536014)(83380400001)(9686003)(71200400001)(53546011)(6506007)(7696005)(33656002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?vy6PakqnmeNBj9KEBvTZh0P+i5bWax5FAiU4UAmxyNV155hj1diEPGbHWznb?=
 =?us-ascii?Q?qm9GS+wjyp+ZL0RFzK/ifVY6tVXmjcQyqOFcz3mweNPEgmTcjO8HquGx+fbb?=
 =?us-ascii?Q?X3LLBijbcFANmxVoBDR14tSzO+JhCcwhWj0ElOJsI+mqNSdJcxPjFGoGp4HF?=
 =?us-ascii?Q?rAuhIlRsaL/nPmDsaWQXbCToM2t2Gvaf83gfCp9/2cV9mmpa5v0spPr3sMFW?=
 =?us-ascii?Q?exRN07EY6mZ5+c385U5oSQzvRcp+w140ABNzKSxbKXF6+WNOX/00ZIxiN3+e?=
 =?us-ascii?Q?JqmgYui+XwFlO7vDLwajACZZQprKChHl59Fkb3KmEwvLkMksOBEhjEsuK8vu?=
 =?us-ascii?Q?C14+cOO7cSa0p3mtaDuhsSJam3NohCSHSfglwDrCjf/oxa3RPYiGdlx6O6NT?=
 =?us-ascii?Q?jC05N8SQMa4Ov2x+q51nqjqwbqQCR/0ITiPyFNghJV5xHrV8L8uiqgd3KaVm?=
 =?us-ascii?Q?Mmt4HOzBzmxNE+/mzAIugF9Qsz4VbG8rFeQOD2MIzVA3Ut17AyLGGcC59MgO?=
 =?us-ascii?Q?t3ij/E6iIQqMQeAeGL/XdahSlezW6GcDiyZHCcsXwweYdL3NGDOSvJqsa3BZ?=
 =?us-ascii?Q?lyVvPkXMytmPsuAzBOmgiqi26f5UtKAmQvH1LPoF1Pgig/SFG+gcD0JuwNM3?=
 =?us-ascii?Q?O7UeKwkQ2DYGm45i4BVervyw93qN6j0od0aGIM1lHUWF0NuUV6GwfVMxITVW?=
 =?us-ascii?Q?AwB8+1DUxldr19tAUS/5+az3vhVEMTp5FAZDVBTsjg1xxXEeLnWpMX10bGN0?=
 =?us-ascii?Q?vCLgQbADI/TaU3K18GwUzByMoKGaFa9kaPGyd87vtUEGssHZW74uJLxBFFL8?=
 =?us-ascii?Q?vMgwOF4qIr7o5L0/JhIVDMHTh4miIwKFHsk0ALMkf2m2zeCqFIVz2jBq2LtH?=
 =?us-ascii?Q?t9Dsqelwm0GVdiQyYAWyWA+1awmDRaE9DJ+iNu77/CPEjF8bqMAXqGsGX/ch?=
 =?us-ascii?Q?WB2XQpz0+PHTmY/5IzOtk33pE/kMKBsywZKr/vKQFxXPWY/QZIguEQgarwci?=
 =?us-ascii?Q?sYsIh9T6mev85AUIWWf+3eq1euv8e8ixu0TXL1PjbPC+Wo3DQ5sa54bvLUBG?=
 =?us-ascii?Q?9sWpf2KZx/D5jqTk5ILSFM+b6I51h4UhHmT0uoyEkoSJTyUS4/sOaK7xh7za?=
 =?us-ascii?Q?rFIHiYDnh2TB8KJ2BV14ysnwJABCtzAjA5uS+fYB8gLUo4RJu5RxTccpEbV7?=
 =?us-ascii?Q?kU6H1SMyMNcnx+Rtr3I2x4PiYQhkvIvq/TKC/Dz1b/0V4E0S5Xh0M6gEk6Rp?=
 =?us-ascii?Q?+hX28D+Sh4bl1fCy/7t1cVjiqZMlD+yWjJkmhr8lUIbnGRjNOAdZBaxfii0l?=
 =?us-ascii?Q?yK2wTMK4jSoISZJyK0VdRRcD/IuZniABHVX8GkZmR/jh0HFKCNGvLhled2Os?=
 =?us-ascii?Q?PTC9WqQS9rOWeymAlcrlG0Bweb1dxpU7cuiirDB0AkAbKkDi8O7lAwI8Sw5s?=
 =?us-ascii?Q?iDsXDAuIoozxeJnlcBx3ladCgIyYYZZwws0oHyhSRhPvG1zMBkjfOjvvEk15?=
 =?us-ascii?Q?OkAwWBsLSidYxEz4opbdhVXT9t+kviSriaY0PS8Alce5bfFmBOi/+NrEC+gG?=
 =?us-ascii?Q?jGDP/3h9SW4JBbCfyP40UUuC0WK9lUqhMCUYs95e4TRR0RQZian5HB0NmDrF?=
 =?us-ascii?Q?S4uJ/gOX/lOE9GuS1gePeno9quOdCes0PXIzUyNtVrzE?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nureva.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW3PR20MB3290.namprd20.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b29ce148-5ca1-404b-2460-08dba966dc01
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2023 14:39:04.5864
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5aeb77fa-643b-473e-aee0-cb54a11ccba3
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: IV0bG4MYu1S+GUE9cMeryoM7qDUFVBGJBoOtLSrLvW+HOjTnStoZpbUdR2IdTR0txdo5/cLVvFndDPSsjHk3iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR20MB6486



-----Original Message-----
From: Stefano Stabellini <sstabellini@kernel.org>
Sent: Tuesday, August 29, 2023 4:13 PM
To: Anthony Chan <anthonychan@nureva.com>
Cc: xen-devel@lists.xenproject.org; bertrand.marquis@arm.com; julien@xen.or=
g; Volodymyr_Babchuk@epam.com; michal.orzel@amd.com; Dan Waqar <danwaqar@nu=
reva.com>; sstabellini@kernel.org
Subject: [EXT] Re: xen arm64 low power sleep support

On Tue, 29 Aug 2023, Anthony Chan wrote:
> Hi all,
>
> My name is Tony and I've been researching/developing using Xen for potent=
ial upcoming uses in our embedded systems.  I started with Xen using Xilinx=
 tools about a year ago and still have lots to learn about what it can to d=
o in the embedded space.  So far, I've managed to integrate Xen and Linux i=
nto an existing product that exclusively runs bare-metal code on a ZynqMP S=
oC and migrate some of the functionality into custom Linux driver/userspace=
.
>
> I'm now looking at low power support, for now at least between Xen (4.16)=
 and Linux (5.15) dom0.  I've tried a few different Linux kernel configs ar=
ound power management and each time I try to suspend from linux dom0 (via s=
ysfs or systemctl), Xen will watchdog on dom0 guest.  AFAIK, Xen should tra=
p on a 'WFI' from guests, but from what I can tell debugging through the li=
nux suspend process is it's spinning in a 'suspend-to-idle' loop before it =
can get to issuing a 'WFI' or using PSCI interface to notify Xen.  I'm begi=
nning to suspect that 'low power' support for embedded arm64 just isn't qui=
te there yet, or am I missing something in the configs?
>
> I realize this could very well be a Linux 'issue' but checking here first=
.  I know Xen presents a flattened device tree to Linux without CPU idle-st=
ate nodes and maybe this is causing the linux guest to only do the suspend-=
to-idle mode?  I should mention that I'm booting up using dom0less feature =
if that matters.


Hi Anthony,

Assuming you are using the default Xen command line parameters for Xilinx b=
oards: sched=3Dnull vwfi=3Dnative, then if the guest uses WFI, the CPU will=
 execute WFI directly and go into low power mode.

Given the issue you are describing, I am suspecting the guest is not issuin=
g WFI: that is simple and known to work. Instead, I suspect that Linux migh=
t be trying to use PSCI_suspend in a way that is not supported or well-impl=
emented by Xen.

Can you check? You can add a printk in Linux drivers/firmware/psci/psci.c:_=
_psci_cpu_suspend or in Xen xen/arch/arm/vpsci.c:do_psci_0_2_cpu_suspend

If that is the case, the attached patch might work because it disables PSCI=
_suspend support in Xen and Linux should fall back to WFI. (There is no pow=
er saving in using PSCI_suspend versus WFI.)

Cheers,

Stefano

CONFIDENTIALITY NOTICE: This e-mail, including any attachments, may contain=
 information that is confidential and privileged. Any unauthorized disclosu=
re, reproduction or use of this e-mail is prohibited. If you are not the in=
tended recipient, please notify the sender by reply e-mail or telephone and=
 permanently delete this e-mail and any reproductions immediately.


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:42:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593098.926011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNKk-00030m-FR; Wed, 30 Aug 2023 15:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593098.926011; Wed, 30 Aug 2023 15:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNKk-00030f-Cv; Wed, 30 Aug 2023 15:42:18 +0000
Received: by outflank-mailman (input) for mailman id 593098;
 Wed, 30 Aug 2023 15:42: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 1qbNKj-00030V-Mv; Wed, 30 Aug 2023 15:42: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 1qbNKj-0000Uz-Cu; Wed, 30 Aug 2023 15:42: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 1qbNKj-00032Q-3c; Wed, 30 Aug 2023 15:42:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbNKj-0000Yt-2w; Wed, 30 Aug 2023 15:42: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=pWFbIBH7Ryji3XJuaL3NJWWMVf8ZHhcRkn7C1Ku/GaQ=; b=XXz9gDFa5wQIav7/Jl4nF8v/b8
	GQHUIZbSGSoUKniFEl4r5w9VQGjsdH9CbvyiDvIdS/q26bWp4pRmEShGMn5XCWoPWFizCf5pH75fO
	tgbcWDsE8R9uCLGvSP9whBvsJBG8SW5T+cEFZus/8QybqtabX3yShYmz6X6U4iG34f3Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182568-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182568: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0c4d0b6c8a05a6a62c0dca042f8e15e579e6f4af
X-Osstest-Versions-That:
    ovmf=a481c1114474160f53b1662fd3726b48c88ae82e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 15:42:17 +0000

flight 182568 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182568/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0c4d0b6c8a05a6a62c0dca042f8e15e579e6f4af
baseline version:
 ovmf                 a481c1114474160f53b1662fd3726b48c88ae82e

Last test of basis   182567  2023-08-30 10:12:15 Z    0 days
Testing same since   182568  2023-08-30 13:13:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dun Tan <dun.tan@intel.com>
  Tan, Dun <dun.tan@intel.com>
  Wu, Mingliang <mingliangx.wu@intel.com>
  Wu, MingliangX <mingliangx.wu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a481c11144..0c4d0b6c8a  0c4d0b6c8a05a6a62c0dca042f8e15e579e6f4af -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:44:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593108.926022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNN7-0003wX-0x; Wed, 30 Aug 2023 15:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593108.926022; Wed, 30 Aug 2023 15: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 1qbNN6-0003wQ-TP; Wed, 30 Aug 2023 15:44:44 +0000
Received: by outflank-mailman (input) for mailman id 593108;
 Wed, 30 Aug 2023 15: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=p4MI=EP=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1qbNN5-0003wF-Qf
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:44:43 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2225dc8b-474c-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 17:44:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2225dc8b-474c-11ee-9b0d-b553b5be7939
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1693410280;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:  in-reply-to:in-reply-to;
	bh=cdwFmZ7D8mpWU8Hib7GE6FvaHKrWVrWQIDhVrFBfq54=;
	b=W3YEnGK3P0Vjg6J4XCd4Sgw6m85okpFhPzsHJqX2U92HkGkosXtZMv1pEL3PoWakkFovUU
	sCCp2P90d4jswYBJgI0cwndirQmb4cqZVNjmfudBwo34fF5Vy89cDYAA9j7CrOMjkOC7Ql
	mSYHpXLQIgQFc1OvgzkcnIVY7MfsDdJnhBYg0TSL6tlpGcPbORj+9wrWdfpbeF1L+Ypjm5
	cgV/ntV5X9bllcKe3xBCMf0lNxgYprcQzLEAoSAA2CAcaVcJZkswqCVLxVxO9WTj7UUw4q
	5Y/kT3nfU7f0UjFLlwHkQJt1l3VOSh0qDREpcf/Qo77sPJe+0ou74fg3yMJDag==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1693410280;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:  in-reply-to:in-reply-to;
	bh=cdwFmZ7D8mpWU8Hib7GE6FvaHKrWVrWQIDhVrFBfq54=;
	b=DUYVtX0vgyQOijhXHoPGB3WC2sToK+VSAZQLFb/vrGSkuluHND2mo+Glk8uAxCn3UaiVmO
	92XLJuZ7WzGzbUAQ==
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau =?utf-8?Q?Monn=C3=A9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Simon
 Gaiser <simon@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] x86/ACPI: Ignore entries with invalid APIC IDs when
 parsing MADT
In-Reply-To: <05d7f850-3d56-4a5b-1e0f-ef0f2a7e5a07@suse.com>
Date: Wed, 30 Aug 2023 17:44:40 +0200
Message-ID: <87leds5yc7.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Jan!

On Wed, Aug 30 2023 at 09:20, Jan Beulich wrote:
> On 30.08.2023 00:54, Thomas Gleixner wrote:
>> On Tue, Aug 29 2023 at 16:25, Roger Pau Monn=C3=A9 wrote:
>>=20
>> Correct. These IDs are invalid independent of any flag value.=20
>
> What we apparently agree on is these special UID values to be invalid,
> and that UIDs can't change. But that's not the same for the APIC IDs;
> see below. (As a side note, Xen range-checks UID against its
> implementation limit MAX_MADT_ENTRIES, so it's more than just the
> all-ones values which we'd reject. Not really correct, I know. Looks
> like Linux has done away with the simple x86_acpiid_to_apicid[]
> translation mechanism. This being a statically sized array requires
> this restriction in Xen, for the time being.)

Linux ignores entries too once the the maximum number of CPUs is reached.

>>> I think Jan's point (if I understood correctly) is that Processor or
>>> Device objects can have a _MAT method that returns updated MADT
>>> entries, and some ACPI implementations might modify the original
>>> entries on the MADT and return them from that method when CPU
>>> hotplug takes place.
>
> Just to mention it: It's not just "might". I've seen DSDT code doing
> so on more than one occasion.

That does not make it more correct or better.

> As stated before, unless putting in place extra restrictions, I can't
> even see how firmware would be able to up front determine APIC IDs for
> unpopulated sockets: It simply can't know the topology of a package
> that's not there yet. Requiring all packages to have identical
> topology might be a restriction OSes put in place, but I'd be inclined
> to call firmware buggy if it did (short of me being aware of there
> being anything in the spec putting in place such a restriction).

The ACPI specification does not care about restrictions which are in the
realm of hardware. You simply cannot mix random CPUs in a system just as
you see fit.

But that aside. ACPI based hotplug is purely used by virtualization. The
efforts to support real physical hotplug have never advanced beyond the
proof of concept state as the required complexity turned out to be just
not worth the potential benefit.

Of course virtualization people might think that everything which is
imaginable and not explicitly forbidden by some specification is
something which should be supported. That's just a recipe for disaster
as it needlessly expands the complexity space for absolutely zero value.

In reality most OSes will require that all possible APIC IDs are
enumerated during initialization in order to size things correctly and
to make system wide decisions correctly during boot or they will either
fail to accept hot-added CPUs later on or end up in a situation where
after accepting a hot-added CPU it turns out that system wide boot time
decisions are wrong or data is sized incorrectly, which means it is
pretty much up a creek without a paddle.

So in order to avoid these hard to handle, hard to debug and diagnose
failure cases, it's sensible when OSes mandate enumeration requirements
which have been omitted from the specification for whatever reason.

Linux expects this today and in case the expectation is not met it has
issues due to the non-enforcement, which cause hard to diagnose
malfunction. Those issues might be fixable by some definition of
fixable, but the value of doing that is close to zero. In fact it'd be a
net negative because the increased complexity will just put a
maintainability burden on the code base which is completely
unjustifiable.

Coming back to the specification issues. As of v6.3 the Online Capable
flag was added with the following rationale (paraphrased):

     Operating systems need to size resources at boot time and therefore
     they count the APIC IDs which have the enabled flag cleared to size
     correctly for potential hotplug operations.

     But that has diametral effects on bare metal because the OS is not
     able to distinguish between hot-plugable APIC ID and truly disabled
     entries. That results in overallocation or suboptimal distribution
     of multi-queue devices.

The benefit (verbatim):

     The proposed =E2=80=9COnline Capable=E2=80=9D flag will allow OSPM to =
unequivocally
     discern the platform=E2=80=99s intention regarding processors that are=
 not
     enabled at OS boot-time.

Now look at the outcome:

Enabled:

        If this bit is set the processor is ready for use. If this bit
        is clear and the Online Capable bit is set, system hardware
        supports enabling this processor during OS runtime. If this bit
        is clear and the Online Capable bit is also clear, this
        processor is unusable, and OSPM shall ignore the contents of the
        Processor Local APIC Structure.

So while I conceed that this does not expressis verbis mandate that
hot-pluggable CPUs must be enumerated it's not far fetched to interpret
it this way. The key is 'OSPM shall ignore the contents...'

As MADT is the only source of information from which an OS can deduce
sizing and also topology information during early boot, ignoring the
contents boils down to not allocating resources and if such an APIC ID
magically surfaces later on via hot-add, then the OS can rightfully
refuse to add it.

Having that information is simply a correctness requirement and there is
absolutely no justification to support made up ivory tower
configurations which try to explore the gaps and bluryness of the ACPI
specification.

Of course we can't rely on that flag yet if the table is not
implementing v6.3+, but from my testing there is no fallout from
refusing to hot-add CPUs which have not been enumerated in MADT during
early boot. The issue addressed by the Online Capable bit
vs. overallocation is obviosly still there when the enumerated
"disabled" APIC IDs can never be hot-added.

Feel free to disagree, but Linux will enforce that _all_ possible APIC
IDs are enumerated in MADT during early boot in the near future. This
makes a lot of things correct, simpler and more robust.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593116.926031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVd-00065C-Pv; Wed, 30 Aug 2023 15:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593116.926031; Wed, 30 Aug 2023 15:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVd-000655-NK; Wed, 30 Aug 2023 15:53:33 +0000
Received: by outflank-mailman (input) for mailman id 593116;
 Wed, 30 Aug 2023 15:53: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=Xver=EP=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qbNVb-00064j-Ti
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:53:31 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d425d57-474d-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:53:29 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-401da71b7c5so15834335e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 08:53:29 -0700 (PDT)
Received: from localhost.localdomain ([66.81.173.62])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adff244000000b0031423a8f4f7sm17000009wrp.56.2023.08.30.08.53.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 08:53:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d425d57-474d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693410809; x=1694015609; 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=zgFprSpF684gDhgVue83BunhcMq8nZ7UpRqzRTLCkOY=;
        b=QfvWPzMIjD+dVulfMtyJ444WFvq6k93ZnU566kne96Po0nppJrO2nVtogN9bx+Vk3c
         HhzKhnQi1KCk6LHvXU3WbKjZaJ/Qj4Oy8nn35IAPqe7wGPhWtGLk9uDzBw9/eJ5wrDyE
         HXx5mGoewzTcGOxknMrUraTnrrNexJbNSB88Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693410809; x=1694015609;
        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=zgFprSpF684gDhgVue83BunhcMq8nZ7UpRqzRTLCkOY=;
        b=kvStSLFTvLaLiZXR9Y0YUTL2vavZsT9jKCMswqZkEPiOIXr/6Dw8HlThV2mjDMNSAz
         BM2gkjf+nSVUKKx3DuApIcP1EWdcqo3xhnR/K185uYjtV3+TOlVF8fFDbEOy5XRmcSx3
         9dfmxLvcuv9TKTqL5S0MfhpryaySo+NNF7soD1lEIw8cwGuO+KuTj3u2aSNKTX1m6Z3I
         IkiWnIBurFjJC7qoQApMmUM5MGN2Fc8YSdVgiC3UDkV411ID3yF2BDwPKm9SMcev/nw4
         NyZMktseer+f0JBxVPVUxT7bg3bExTszXuULTxOxo91qtCLCZVYJCbG4KB3Vyw57f4to
         O/0w==
X-Gm-Message-State: AOJu0Yxq7sRJGVUFxy4fwI0r1LH3Yu4ctYBMCvzPZaKxZwISkQ/JjQQm
	+RqbJeqSn6rd5w7+1i4Q9XsUB+TTCf0Nnb7sPPU=
X-Google-Smtp-Source: AGHT+IFddvf2Q+Owe/TEqPTLzef95kwb7kAD0mOciGkW60nUtF5+77cEcNnxjtnHq+vNbtdNOmDeiw==
X-Received: by 2002:a7b:ca47:0:b0:401:a0b1:aef6 with SMTP id m7-20020a7bca47000000b00401a0b1aef6mr2198039wml.2.1693410809033;
        Wed, 30 Aug 2023 08:53:29 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 0/4] Prevent attempting updates known to fail
Date: Wed, 30 Aug 2023 16:53:22 +0100
Message-Id: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now that XENLOG_INFO is the default logging level...

v8:
  * Fixed last bits mentioned by Jan in v7/patch1 (v8/patch2)
  * Rolled back to having new printk as INFO
  * Added v8/patch1 to ensure the existing early exit from
    early_cpu_init() has INFO severity as well.

Original cover letter:

Under certain conditions a CPU may not be able to perform microcode updates
even if hardware exists to that effect. In particular:

 * If Xen runs under certain hypervisors they won't allow microcode
   updates, and will signal this fact by reporting a microcode revision of
   -1.
 * If the DIS_MCU_LOAD bit is set, which is expected in some baremetal
   clouds where the owner may not trust the tenant, then the CPU is not
   capable of loading new microcode.

This series adds logic so that in both of these cases we don't needlessly
attempt updates that are not going to succeed. Patch summary:

Patch 1 Modifies the severity of the printk statement in
        early_microcode_init() to be INFO

Patch 2 Ignores microcode facilities when the current microcode revision is -1
        (was v7/patch1)

Patch 3 Moves the MSR_ARCH_CAPS read in tsx_init() to early_cpu_init() and
        early_microcode_init()
        (was v7/patch2)

Patch 4 Adds the logic to detect microcode updates being disabled on Intel.
        (was v7/patch3)

Alejandro Vallejo (4):
  x86/microcode: WARN->INFO for the "no ucode loading" log message
  x86/microcode: Ignore microcode loading interface for revision = -1
  x86: Read MSR_ARCH_CAPS immediately after early_microcode_init()
  x86/microcode: Disable microcode update handler if DIS_MCU_UPDATE is
    set

 xen/arch/x86/cpu/common.c             | 20 ++++++++++----
 xen/arch/x86/cpu/microcode/core.c     | 40 +++++++++++++++++++++++----
 xen/arch/x86/cpu/microcode/intel.c    | 13 +++++++++
 xen/arch/x86/cpu/microcode/private.h  |  7 +++++
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/msr-index.h  |  5 ++++
 xen/arch/x86/include/asm/setup.h      |  2 +-
 xen/arch/x86/setup.c                  |  2 +-
 xen/arch/x86/tsx.c                    | 16 +++--------
 9 files changed, 82 insertions(+), 24 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593120.926064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVg-0006jb-00; Wed, 30 Aug 2023 15:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593120.926064; Wed, 30 Aug 2023 15: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 1qbNVf-0006hR-P5; Wed, 30 Aug 2023 15:53:35 +0000
Received: by outflank-mailman (input) for mailman id 593120;
 Wed, 30 Aug 2023 15: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=Xver=EP=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qbNVd-00064u-TS
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:53:33 +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 5e4d1b19-474d-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 17:53:31 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-3fee5ddc23eso54102605e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 08:53:31 -0700 (PDT)
Received: from localhost.localdomain ([66.81.173.62])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adff244000000b0031423a8f4f7sm17000009wrp.56.2023.08.30.08.53.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 08:53: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: 5e4d1b19-474d-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693410811; x=1694015611; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R8UgQOatn3NPVJHNw6kasdgFNmIqy5Hk8BBIW+w2Wt0=;
        b=VTBensWZxsJ8fiJ7iO8Ia0Drr7Azk5kThLIQYEdw6qNUOSgJI517gmvQgeqjKjBvLn
         L6jo1nRGTh5A17nrjzEHJeoAGYyXtlYqqlMStpLRD5hY55vMOAJj+VVTV+bUnejAj564
         rexXmaXj53oZGpvAgxt5rBNwZzepKO5Tmr2vU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693410811; x=1694015611;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R8UgQOatn3NPVJHNw6kasdgFNmIqy5Hk8BBIW+w2Wt0=;
        b=EPiAbarz3Fu6MprSPbQzfaNTI79MK2IcbOj8KiAyOuaey9cuw2RoNwxfgLThO36GcR
         K7KJbseZs9UjVjL6VeVEhDzCxFZ0iYUEkMou0SOMdbhLWJOiUtzi10YZ3N4oHeTRKC2K
         E1lBG4s2pTUCkA62ieVZDRjMDBrRDRK8vd6hYVQpvFnkSKcUROrHeRfLtU8dwUfwUcAB
         BzDnFoCyEUdJWIa3DiQDMSB9AD7+Ve/F4c/wv4dPgHtCoN9SmU1wFi68YiG3bB2WLAuQ
         TMgodX4YCyYpdNfuCv2PbsLSsLiF1DSynBQcj2zN124gWtCt2sDSndYeNyrLKvKuiVEu
         0P7A==
X-Gm-Message-State: AOJu0Yx/Zt1ABgLYhcVg/+KuQAJjA4ZGJCagzcHzZda9wphjf7Cjl/Xa
	6zquL+7hhPbLC/lHtLRN17GypHPlyOgDliHiUU0=
X-Google-Smtp-Source: AGHT+IGYgQhnwEHlhwfzZkwAAdRNrGsano6Huf/C2z6GFWnt+n4nAo64M8BC5Lw9Qc5DMykRw9H+bQ==
X-Received: by 2002:a1c:7c19:0:b0:401:6f48:f3b5 with SMTP id x25-20020a1c7c19000000b004016f48f3b5mr2108170wmc.32.1693410810977;
        Wed, 30 Aug 2023 08:53:30 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 3/4] x86: Read MSR_ARCH_CAPS immediately after early_microcode_init()
Date: Wed, 30 Aug 2023 16:53:25 +0100
Message-Id: <20230830155326.10199-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
References: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move MSR_ARCH_CAPS read code from tsx_init() to early_cpu_init(). Because
microcode updates might make them that MSR to appear/have different values
we also must reload it after a microcode update in early_microcode_init().

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v8:
 * No change
---
 xen/arch/x86/cpu/common.c         | 20 +++++++++++++++-----
 xen/arch/x86/cpu/microcode/core.c |  9 +++++++++
 xen/arch/x86/include/asm/setup.h  |  2 +-
 xen/arch/x86/setup.c              |  2 +-
 xen/arch/x86/tsx.c                | 16 ++++------------
 5 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 6fada384a1..3fd4fd0654 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -299,7 +299,7 @@ static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
 
    WARNING: this function is only called on the BP.  Don't add code here
    that is supposed to run on all CPUs. */
-void __init early_cpu_init(void)
+void __init early_cpu_init(bool verbose)
 {
 	struct cpuinfo_x86 *c = &boot_cpu_data;
 	u32 eax, ebx, ecx, edx;
@@ -320,6 +320,8 @@ void __init early_cpu_init(void)
 	case X86_VENDOR_SHANGHAI: this_cpu = &shanghai_cpu_dev; break;
 	case X86_VENDOR_HYGON:    this_cpu = &hygon_cpu_dev;    break;
 	default:
+		if (!verbose)
+			break;
 		printk(XENLOG_ERR
 		       "Unrecognised or unsupported CPU vendor '%.12s'\n",
 		       c->x86_vendor_id);
@@ -336,10 +338,13 @@ void __init early_cpu_init(void)
 	c->x86_capability[FEATURESET_1d] = edx;
 	c->x86_capability[FEATURESET_1c] = ecx;
 
-	printk(XENLOG_INFO
-	       "CPU Vendor: %s, Family %u (%#x), Model %u (%#x), Stepping %u (raw %08x)\n",
-	       x86_cpuid_vendor_to_str(c->x86_vendor), c->x86, c->x86,
-	       c->x86_model, c->x86_model, c->x86_mask, eax);
+	if (verbose)
+		printk(XENLOG_INFO
+		       "CPU Vendor: %s, Family %u (%#x), "
+		       "Model %u (%#x), Stepping %u (raw %08x)\n",
+		       x86_cpuid_vendor_to_str(c->x86_vendor), c->x86,
+		       c->x86, c->x86_model, c->x86_model, c->x86_mask,
+		       eax);
 
 	if (c->cpuid_level >= 7) {
 		uint32_t max_subleaf;
@@ -348,6 +353,11 @@ void __init early_cpu_init(void)
 			    &c->x86_capability[FEATURESET_7c0],
 			    &c->x86_capability[FEATURESET_7d0]);
 
+		if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability))
+			rdmsr(MSR_ARCH_CAPABILITIES,
+			      c->x86_capability[FEATURESET_m10Al],
+			      c->x86_capability[FEATURESET_m10Ah]);
+
 		if (max_subleaf >= 1)
 			cpuid_count(7, 1, &eax, &ebx, &ecx,
 				    &c->x86_capability[FEATURESET_7d1]);
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 01f1dd4710..b3df4d40e6 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -887,5 +887,14 @@ int __init early_microcode_init(unsigned long *module_map,
     if ( ucode_mod.mod_end || ucode_blob.size )
         rc = early_microcode_update_cpu();
 
+    /*
+     * Some CPUID leaves and MSRs are only present after microcode updates
+     * on some processors. We take the chance here to make sure what little
+     * state we have already probed is re-probed in order to ensure we do
+     * not use stale values. tsx_init() in particular needs to have up to
+     * date MSR_ARCH_CAPS.
+     */
+    early_cpu_init(false);
+
     return rc;
 }
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index b0e6a39e23..8350167650 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -15,7 +15,7 @@ extern uint64_t boot_tsc_stamp;
 
 extern void *stack_start;
 
-void early_cpu_init(void);
+void early_cpu_init(bool verbose);
 void early_time_init(void);
 
 void set_nr_cpu_ids(unsigned int max_cpus);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 3358d9a0ff..3641d5fbac 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1213,7 +1213,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         panic("Bootloader provided no memory information\n");
 
     /* This must come before e820 code because it sets paddr_bits. */
-    early_cpu_init();
+    early_cpu_init(true);
 
     /* Choose shadow stack early, to set infrastructure up appropriately. */
     if ( !boot_cpu_has(X86_FEATURE_CET_SS) )
diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
index 80c6f4cedd..50d8059f23 100644
--- a/xen/arch/x86/tsx.c
+++ b/xen/arch/x86/tsx.c
@@ -39,9 +39,10 @@ void tsx_init(void)
     static bool __read_mostly once;
 
     /*
-     * This function is first called between microcode being loaded, and CPUID
-     * being scanned generally.  Read into boot_cpu_data.x86_capability[] for
-     * the cpu_has_* bits we care about using here.
+     * This function is first called between microcode being loaded, and
+     * CPUID being scanned generally. early_cpu_init() has already prepared
+     * the feature bits needed here. And early_microcode_init() has ensured
+     * they are not stale after the microcode update.
      */
     if ( unlikely(!once) )
     {
@@ -49,15 +50,6 @@ void tsx_init(void)
 
         once = true;
 
-        if ( boot_cpu_data.cpuid_level >= 7 )
-            boot_cpu_data.x86_capability[FEATURESET_7d0]
-                = cpuid_count_edx(7, 0);
-
-        if ( cpu_has_arch_caps )
-            rdmsr(MSR_ARCH_CAPABILITIES,
-                  boot_cpu_data.x86_capability[FEATURESET_m10Al],
-                  boot_cpu_data.x86_capability[FEATURESET_m10Ah]);
-
         has_rtm_always_abort = cpu_has_rtm_always_abort;
 
         if ( cpu_has_tsx_ctrl && cpu_has_srbds_ctrl )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593117.926036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVe-00067p-17; Wed, 30 Aug 2023 15:53:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593117.926036; Wed, 30 Aug 2023 15:53: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 1qbNVd-00067B-U3; Wed, 30 Aug 2023 15:53:33 +0000
Received: by outflank-mailman (input) for mailman id 593117;
 Wed, 30 Aug 2023 15:53: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=Xver=EP=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qbNVc-00064j-5c
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:53:32 +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 5d8d3718-474d-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:53:30 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-317c3ac7339so4807571f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 08:53:30 -0700 (PDT)
Received: from localhost.localdomain ([66.81.173.62])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adff244000000b0031423a8f4f7sm17000009wrp.56.2023.08.30.08.53.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 08:53:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d8d3718-474d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693410809; x=1694015609; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dobP6P8l4AYMBynSMIGcC0q85eHhUW/vtT4xfzskF/0=;
        b=Yqs33wJFMdwR3JyH4RLceA6hwqKxMW4p7vnASR0ihwwIMVbxcexONUAYDnSL6qauqq
         c1LwqVlq9myTL5RisPMCsxKqOn9S0bdPyYx/g73k5KvsJaPAFii+5KFQg8e1Ofts5YoL
         OpicYloHyyVnHLBPe4h/d/HMsuoLUBQJtDavc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693410809; x=1694015609;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dobP6P8l4AYMBynSMIGcC0q85eHhUW/vtT4xfzskF/0=;
        b=FTmuS3JcksBYMCyvTSvNtJZIEkCgPUaOI2KyL8XBWd+4gqqklo8wtFX3VsVTcmYqGl
         Rb1mfxUE3JNLl0qeTpRuJ8f2k2v66h6Ijm2v0KEC52v1VwdRJVj34padGLtKLMZffWBS
         ZWtOt/QmpLbmT4gBJTsz0wxkGXVWQkfJlSSk7MTT7F/4YqrmL39jlEasN0wQdYeXnTkS
         Mzyp6QjZSUo/hePMyPMb2PdNiZvTLUVxL7JrmEnSFKzQYft5LYC3f+1gqB3hq5JxegeR
         hoVasUtDUD9+0ZIuiijZni67n3jc7ko7Fh9i+58gNCkw/ZLySiE1d/kU+oMUPt/au1Ue
         KfOA==
X-Gm-Message-State: AOJu0YyoaUoxgC7vSoCZA/lbkHe3tgNY2vqm6ytAy1z16qquSDu402tU
	QD2WB9AMt7teNdCYCigi+m1RGOviblU6hcta+9g=
X-Google-Smtp-Source: AGHT+IEGe6SwdvQhesFepbl18K/Efr9XxR9LWLElBGcageHuST2xxal6aPIULtm3GCg46F7H+JG8lA==
X-Received: by 2002:a5d:4a84:0:b0:314:124f:12be with SMTP id o4-20020a5d4a84000000b00314124f12bemr1945393wrq.3.1693410809565;
        Wed, 30 Aug 2023 08:53:29 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 1/4] x86/microcode: WARN->INFO for the "no ucode loading" log message
Date: Wed, 30 Aug 2023 16:53:23 +0100
Message-Id: <20230830155326.10199-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
References: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently there's a printk statement triggered when no ucode loading
facilities are discovered. This statement should have severity INFO rather
than WARNING because it's not reporting anything wrong. Warnings ought
to be reserved for recoverable system errors.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

--
v8:
  * New patch to unify the severity of this printk statement with the
    statement introduced in patch 2
---
 xen/arch/x86/cpu/microcode/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 9fcb9c1c3a..e5e03cad34 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -863,7 +863,7 @@ int __init early_microcode_init(unsigned long *module_map,
 
     if ( !ucode_ops.apply_microcode )
     {
-        printk(XENLOG_WARNING "Microcode loading not available\n");
+        printk(XENLOG_INFO "Microcode loading not available\n");
         return -ENODEV;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593118.926051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVf-0006Z4-9C; Wed, 30 Aug 2023 15:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593118.926051; Wed, 30 Aug 2023 15: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 1qbNVf-0006Yx-6T; Wed, 30 Aug 2023 15:53:35 +0000
Received: by outflank-mailman (input) for mailman id 593118;
 Wed, 30 Aug 2023 15:53: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=Xver=EP=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qbNVd-00064u-7p
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:53:33 +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 5deca6fb-474d-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 17:53:31 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40061928e5aso54622335e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 08:53:31 -0700 (PDT)
Received: from localhost.localdomain ([66.81.173.62])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adff244000000b0031423a8f4f7sm17000009wrp.56.2023.08.30.08.53.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 08:53:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5deca6fb-474d-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693410810; x=1694015610; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7Q1Vgbah5j3OZbYDU19ymIfaCBTb08DYofJeRBbRkrM=;
        b=G0B2RQG4t2P1zP64owJqZRN6dKqcnlasw6G1tScoC9I201LF7vaw5TMif0J4BLkPrg
         PpCgPRUEGjXKC/vYm7Yj+aC/hqNCtAoJoIMdO2yd3ujLO98IYcpmKHCPDOnq6hqpDGHY
         Ebq7QFFbP9M+DBb7K7vMRd5BEv4fBcCOjH73E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693410810; x=1694015610;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7Q1Vgbah5j3OZbYDU19ymIfaCBTb08DYofJeRBbRkrM=;
        b=efKlPD6llzCiif6ZRi2MnHWhufbFzqaI9ow+SMrOAzUT/YaIR2IorzLuMlmsb/KVCZ
         XhOUxj3pyF7Cm2XjHeQVHTmr5VX6WrJM6ZPnV0k53g94FmloVmr0dfAY3ZEGHw9oTEU8
         YeruIH6HHx4JA7Pcp6zb2N0DOeyfto3WaDLvmC1/5V9N4H8ZAP6Vi3tnhnmD6f/0ssjB
         kei9B4fFMFv9bK6wbDATnYDk7PuqTvWxGCWaQEdTuk7UrXyn+4Fs0ly9LGbKgFefgNDG
         EmpkXfBrPVOuLWAM+oiacd1xV4buaJaeKT5yYXnrt4djNeqY4+SzCetwoPhf+pjMmlsf
         25lw==
X-Gm-Message-State: AOJu0YwdU8bMRoWdQVB1qs5NhhiwojOdEt9oc/iXAr+UTAJbGTbOfspc
	lo7Zcl/hhE5Rduax65uE97efsfJnOMu7IebfpL8=
X-Google-Smtp-Source: AGHT+IH++udtn6rnwg7jTqLC0l6zaoHrTcxILOcRCJ+gQW+OK7iw7IAE7UA+Bin67m2U564hID0Hxg==
X-Received: by 2002:a05:600c:2254:b0:3fe:6199:939f with SMTP id a20-20020a05600c225400b003fe6199939fmr2290896wmm.33.1693410810395;
        Wed, 30 Aug 2023 08:53:30 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 2/4] x86/microcode: Ignore microcode loading interface for revision = -1
Date: Wed, 30 Aug 2023 16:53:24 +0100
Message-Id: <20230830155326.10199-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
References: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some hypervisors report ~0 as the microcode revision to mean "don't issue
microcode updates". Ignore the microcode loading interface in that case.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v8:
  * Added missing newline in printk statement
  * Reduced indentation of second line of printk statement
  * Turned printk statement to INFO (because that's now the default)
---
 xen/arch/x86/cpu/microcode/core.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index e5e03cad34..01f1dd4710 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -867,10 +867,23 @@ int __init early_microcode_init(unsigned long *module_map,
         return -ENODEV;
     }
 
-    microcode_grab_module(module_map, mbi);
-
     ucode_ops.collect_cpu_info();
 
+    /*
+     * Some hypervisors deliberately report a microcode revision of -1 to
+     * mean that they will not accept microcode updates. We take the hint
+     * and ignore the microcode interface in that case.
+     */
+    if ( this_cpu(cpu_sig).rev == ~0 )
+    {
+        printk(XENLOG_INFO "Microcode loading disabled due to: %s\n",
+               "rev = ~0");
+        ucode_ops.apply_microcode = NULL;
+        return -ENODEV;
+    }
+
+    microcode_grab_module(module_map, mbi);
+
     if ( ucode_mod.mod_end || ucode_blob.size )
         rc = early_microcode_update_cpu();
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 15:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 15:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593119.926056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNVf-0006cU-Iw; Wed, 30 Aug 2023 15:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593119.926056; Wed, 30 Aug 2023 15: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 1qbNVf-0006bO-F6; Wed, 30 Aug 2023 15:53:35 +0000
Received: by outflank-mailman (input) for mailman id 593119;
 Wed, 30 Aug 2023 15:53: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=Xver=EP=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qbNVd-00064j-C7
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 15:53:33 +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 5ef05f5f-474d-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 17:53:32 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-401b0d97850so56354225e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 08:53:32 -0700 (PDT)
Received: from localhost.localdomain ([66.81.173.62])
 by smtp.gmail.com with ESMTPSA id
 b4-20020adff244000000b0031423a8f4f7sm17000009wrp.56.2023.08.30.08.53.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 08:53:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef05f5f-474d-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693410812; x=1694015612; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g/+HKYAhX7EC0gTIYVkMy8jE7q46Uhlaj2+DxM/hBSg=;
        b=eFUVV1rE+yek0POMoIYAceLhCtv7OTIJbCSUxOShTOQcn1SjFvKGe9oIxbMQyta1PO
         iFZwEqFenEeHbaaA8Lpko4E/XIeSpbHzyS5vRtcrnoQcQyeFlOp3oPktozYPAkG1jXXC
         T7xUzbINRZd1JqbKSOY6hcuDlS3aKNhy0WN3s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693410812; x=1694015612;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=g/+HKYAhX7EC0gTIYVkMy8jE7q46Uhlaj2+DxM/hBSg=;
        b=XQr6iiziMrC8jumjwTKVRgPNJdHut1Alxq9S/+I/FVuvwRhYwqTx/dKz+rd/e4uXHm
         E0apZHqZedO+vFCkAzKDdgVEBaAQNUFKtPZUmByorbL7RlOXgW2MRVpzxl4flBoUTSg+
         /tTlfMtnwxENNE3E48tM+43umSLJGxiDYqufUDxOBIMF1Vb7ntcEFL0R9TKWHBUXCFjT
         Z9K6aFHQ7lVRQEbJQBzOjQKLuofHz436OIgB2vt4qqRqyyTplvTfzeHNKjITfXi0YAqZ
         8cerzegJZQIRkgXfFbhsqdOxYGmgAQNNMb8kOEwuMlt1gWryFsLo/lEffu+LpqB+7n+7
         rRbw==
X-Gm-Message-State: AOJu0YxfX4Mur8p9W2xeDWIJ4E/7UF9lKHHTfQ2mF61wHfB2NSviyySg
	K5sioUzQtuK/6rILkbS0qgcqpS/GVci0Pz0hI9k=
X-Google-Smtp-Source: AGHT+IF1SdttMLt/Ch8hbVYgE/Ec2G85WpG/mqbpQeA/yTBTBi8Kt9N9c24EpqZu9Q7bYon1FlyHgA==
X-Received: by 2002:a05:600c:2193:b0:401:b705:ebe6 with SMTP id e19-20020a05600c219300b00401b705ebe6mr2110588wme.32.1693410811934;
        Wed, 30 Aug 2023 08:53:31 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 4/4] x86/microcode: Disable microcode update handler if DIS_MCU_UPDATE is set
Date: Wed, 30 Aug 2023 16:53:26 +0100
Message-Id: <20230830155326.10199-5-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
References: <20230830155326.10199-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

If IA32_MSR_MCU_CONTROL exists then it's possible a CPU may be unable to
perform microcode updates. This is controlled through the DIS_MCU_LOAD bit
and is intended for baremetal clouds where the owner may not trust the
tenant to choose the microcode version in use. If we notice that bit being
set then simply disable the "apply_microcode" handler so we can't even try
to perform update (as it's known to be silently dropped).

While at it, remove the Intel family check, as microcode loading is
supported on every Intel64 CPU.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v8:
 * No change
---
 xen/arch/x86/cpu/microcode/core.c     | 20 ++++++++++++++------
 xen/arch/x86/cpu/microcode/intel.c    | 13 +++++++++++++
 xen/arch/x86/cpu/microcode/private.h  |  7 +++++++
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/msr-index.h  |  5 +++++
 5 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index b3df4d40e6..65ebeb50de 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -847,17 +847,21 @@ int __init early_microcode_init(unsigned long *module_map,
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
     int rc = 0;
+    bool can_load = false;
 
     switch ( c->x86_vendor )
     {
     case X86_VENDOR_AMD:
         if ( c->x86 >= 0x10 )
+        {
             ucode_ops = amd_ucode_ops;
+            can_load = true;
+        }
         break;
 
     case X86_VENDOR_INTEL:
-        if ( c->x86 >= 6 )
-            ucode_ops = intel_ucode_ops;
+        ucode_ops = intel_ucode_ops;
+        can_load = intel_can_load_microcode();
         break;
     }
 
@@ -871,13 +875,17 @@ int __init early_microcode_init(unsigned long *module_map,
 
     /*
      * Some hypervisors deliberately report a microcode revision of -1 to
-     * mean that they will not accept microcode updates. We take the hint
-     * and ignore the microcode interface in that case.
+     * mean that they will not accept microcode updates.
+     *
+     * It's also possible the hardware might have built-in support to disable
+     * updates and someone (e.g: a baremetal cloud provider) disabled them.
+     *
+     * Take the hint in either case and ignore the microcode interface.
      */
-    if ( this_cpu(cpu_sig).rev == ~0 )
+    if ( this_cpu(cpu_sig).rev == ~0 || !can_load )
     {
         printk(XENLOG_INFO "Microcode loading disabled due to: %s\n",
-               "rev = ~0");
+               can_load ? "rev = ~0" : "HW toggle");
         ucode_ops.apply_microcode = NULL;
         return -ENODEV;
     }
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 8d4d6574aa..060c529a6e 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -385,6 +385,19 @@ static struct microcode_patch *cf_check cpu_request_microcode(
     return patch;
 }
 
+bool __init intel_can_load_microcode(void)
+{
+    uint64_t mcu_ctrl;
+
+    if ( !cpu_has_mcu_ctrl )
+        return true;
+
+    rdmsrl(MSR_MCU_CONTROL, mcu_ctrl);
+
+    /* If DIS_MCU_LOAD is set applying microcode updates won't work */
+    return !(mcu_ctrl & MCU_CONTROL_DIS_MCU_LOAD);
+}
+
 const struct microcode_ops __initconst_cf_clobber intel_ucode_ops = {
     .cpu_request_microcode            = cpu_request_microcode,
     .collect_cpu_info                 = collect_cpu_info,
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index 626aeb4d08..d80787205a 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -60,6 +60,13 @@ struct microcode_ops {
         const struct microcode_patch *new, const struct microcode_patch *old);
 };
 
+/**
+ * Checks whether we can perform microcode updates on this Intel system
+ *
+ * @return True iff the microcode update facilities are enabled
+ */
+bool intel_can_load_microcode(void);
+
 extern const struct microcode_ops amd_ucode_ops, intel_ucode_ops;
 
 #endif /* ASM_X86_MICROCODE_PRIVATE_H */
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 0825343945..213c184b1c 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -201,6 +201,7 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_if_pschange_mc_no boot_cpu_has(X86_FEATURE_IF_PSCHANGE_MC_NO)
 #define cpu_has_tsx_ctrl        boot_cpu_has(X86_FEATURE_TSX_CTRL)
 #define cpu_has_taa_no          boot_cpu_has(X86_FEATURE_TAA_NO)
+#define cpu_has_mcu_ctrl        boot_cpu_has(X86_FEATURE_MCU_CTRL)
 #define cpu_has_fb_clear        boot_cpu_has(X86_FEATURE_FB_CLEAR)
 #define cpu_has_rrsba           boot_cpu_has(X86_FEATURE_RRSBA)
 #define cpu_has_gds_ctrl        boot_cpu_has(X86_FEATURE_GDS_CTRL)
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 11ffed543a..5865611996 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -183,6 +183,11 @@
 #define MSR_PM_CTL1                         0x00000db1
 #define  PM_CTL1_HDC_ALLOW_BLOCK            BIT(0, ULL)
 
+#define MSR_MCU_CONTROL                     0x00001406
+#define  MCU_CONTROL_LOCK                   (_AC(1, ULL) <<  0)
+#define  MCU_CONTROL_DIS_MCU_LOAD           (_AC(1, ULL) <<  1)
+#define  MCU_CONTROL_EN_SMM_BYPASS          (_AC(1, ULL) <<  2)
+
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:13:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593152.926082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbNp5-0003rT-Qn; Wed, 30 Aug 2023 16:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593152.926082; Wed, 30 Aug 2023 16: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 1qbNp5-0003rM-Mb; Wed, 30 Aug 2023 16:13:39 +0000
Received: by outflank-mailman (input) for mailman id 593152;
 Wed, 30 Aug 2023 16:13: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=a0OZ=EP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbNp3-0003q7-EN
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 16:13:37 +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 2abcac3b-4750-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 18:13:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8566.eurprd04.prod.outlook.com (2603:10a6:10:2d5::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 16:13:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 16:13:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2abcac3b-4750-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=StItPYGTC0cm1qkVKW6jinzfvm8nkhyvsjAqYm9UH0fknmjUYBfbnKxa3bKaNbrBOlsLgNvuCshrCN0bnB+blg5AsfFQDQkCJzTcrhHYm4qwFRenV5+db+obmRse6PChgZa7uoJeutng8WbLfnuH703zpWQyQuluoK3wq6VylM6HVgJMGdflaav8GmDr0VSFxHEFTmziPn3M/tuoetalWMCwCPqCiSHFWRKLpxcZMCFxYbwzLHT5wmtEnbn4tM6UZ3dlRpPHqtfFVqJ9CjUc2V48lafqeaKLPcBLOR9ffZHNOpHHFFmXBm4HBAKSmGc9WSpNeBzJ3O0nlc6be8DV9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBv+P7hCywnxBQ/CXh8RKmYalil3lqyAD1ES3zozyDM=;
 b=kCrC8mapUH49KAIWFpeQ4d7XIuaGt/wCqNgp0+oRoD8yC1Ycub4fzvODMjZgCfJ79xCiinR/OogDrbqKlwlH0+wx54iNbDqKVAqxcvHWTkMANphBkZACcljBRS348ka/7qWKR4bpCzBeaXc8+wnnmGjuDDc3lmab6nPeZzON67R1D1Hv5DUisk5DhtYYApONeo/fMzkMxp9Vp6o2dB2RgpVkByoUAEY3/AM3/CxsDnZ7oBx1FG5wqeXCkdeKPdo37gHoi8OZtGLXnnBKQw9XPi60A4boIn64Ai3pAk0LKk+k3VhF3Uk/UH+jw1hDB+N2GSdIhn7wy8c8+wrXGZmA/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TBv+P7hCywnxBQ/CXh8RKmYalil3lqyAD1ES3zozyDM=;
 b=brCSRT7tzGlhf+OpewkkQvIrgyMzozUWWFMAfIZQFrdgf9hPlpSO0FG+A988+zz62AigVQNIjVk5CVqPNl88tdLCJZ81qVH0pot8HCw/b3VrrEXz7ANXAQybq+S+Ha90RqoD9dxCtAgQuocYbmDIWaoxDgULSrzCGgMwxI5KGHWY9J3NMaontTBQxWXzd7HATfCBko3DPziNPehcK0Patjb1idYO1QJG2YGeMoVYnM6PEhi5nbHGKo9nI4pFWWj4t3p27GzzKVQ0wMj498dH++S1MXxkKFv/HQrTRP0Ryv5NCt0GLtBMiITCF4uD5HbAc3qegMmgTdlSF8nAvKY60A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <57079660-acda-eca7-5a39-42463cbf64e8@suse.com>
Date: Wed, 30 Aug 2023 18:13:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
 <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
 <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
 <2ced7357-b8ec-e071-9ce5-c4d23b1a6a03@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2ced7357-b8ec-e071-9ce5-c4d23b1a6a03@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0190.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8566:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cb5d3cd-1e4d-4e13-f8f6-08dba973fda8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QbwbqVliTAxD6rURm53papFQfKtCdiZu5e+s+T+U5DzJE+fuhOUqaPsgy0jbo7tt5A2UuIYgdsVmQQKwAXp2S/0pr6+gCdNCK7/xKWUFO97D4BRGwBdfttfcqblpC3zCPgicIqptxgXQJ17Gg/yMSJEuob8d+or5TTY27wsA3eUwPPXSMZhCDzlhm1Fbsy0DB6zAu99krdK1ecxLMly3d61LLbhN5ZNrRcF/B1JHvuHAhEBoiepzTEmcAOt9KqqN9Lr3X36HrtllGa8X51DJGHtEs8BKi6J5eIY8jF/SY655Nq/QGxqAvVA8FegtcS148j4xHu7fHPlM8I+uk2lLCxftok/HAjhgbLkDltwKrEYKw3K/FnWpYpblmOESWTqcujNh5cr3MeSgD6ar+kNFYN0cIBwRAvxJEuJhPDnQLps40AZk04ipB4UU7FWtT7+l6G2yxjFZcDGKg/vaNtRiOq/Th7ivOhEsEGHopXwSe4ngLQVwmUgqvWMdA50NGPsfvtARgfN21JTKOxKYivyTB2fJs4W5Yk9w0za5iHywzqppT5EMuUY2prQAQWNCLSohScpzIW2+wu19MyPDSMYZNzJTGaXhz5QC/flaMFIyRhoG6pKt/mYuLWbjYngh+130Aee/0r08g9FN2eVg7O4ByQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199024)(1800799009)(186009)(41300700001)(478600001)(86362001)(31696002)(38100700002)(83380400001)(6512007)(53546011)(6506007)(6486002)(2616005)(26005)(66946007)(2906002)(54906003)(66476007)(66556008)(36756003)(6916009)(316002)(8936002)(8676002)(4326008)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUhkNWRMbHltaFJmZVl0M1VkWUVPNE9CcUE4ajA2c3FSSCtCZW9DdlBwUG42?=
 =?utf-8?B?enovcXpCWmRsejJjbjlrNlRIbkZJMVAwc0NiOUJNVUpOMXNJYkJ2UDloalVK?=
 =?utf-8?B?SEVsbzBDbXJxVm50NjV2a3dXckJuWHRNR3pjR2M0NitlMEc5ck9LczdhSlho?=
 =?utf-8?B?R0ZybXBSNjh2bEVrUmlTM3VMcm1NSXM4UzdhMWs2UWU1MnBrMldTVnJXSkNU?=
 =?utf-8?B?M0JmK3lraThzcHl6eFlUbmJnZTZxRWZaRjhFYk8yNnNIN1dGcTRGbi9wNytW?=
 =?utf-8?B?SHdCSytXUU9RSmRIbmVIandEN0k3Tkk3S0dtbkJ3a0psaFN5MHUrQ0Z0azND?=
 =?utf-8?B?dFRBQ1dIVmJieTc1RU42cERjK2svcmZyU3BETTAySFVpVExSY2FCUUFJQm4x?=
 =?utf-8?B?R0VCTU5LYndkODlKbHN5STZtUFpCNksvRkF3WEl2UVQ2dHZtQTY1ZHNUVkNC?=
 =?utf-8?B?YXdRTzl5Qjc2UVNZVjdxYnFNSkh6TVI3cWNGdEp2Wnh3SmF6S252ZHBMMkQ1?=
 =?utf-8?B?Zm8yaEYwQmV5VkFFRVZuWVlaN2E4bkZmSHBBRlg4cjEvb3BrVzh1RE9wcTdl?=
 =?utf-8?B?SXNYaXdZSE44VStwQnlIc3EzbkkrVlZHVHE5S2kzcDdOeHVoTzAyeXl6K2Js?=
 =?utf-8?B?cVlrZWFaellnRzlpaHpubThvOWI5dlVybGlFdkMvSUlqOFBmSHV0dWkzVTdX?=
 =?utf-8?B?SzdUUytMWDlCZGJJSVVoUGhWcjgyT2JwQjdxYnhuOVA1NENWVGpmZEFORGEx?=
 =?utf-8?B?YkVUM00yblNFRG1MallYQWxmZTNITlJLYWFoOExJbXhHRkptelBKZFVDL093?=
 =?utf-8?B?bzRSQ00ydW9KNXRKSUpkNE5VSEVWWWdKR1pIZGJFc2pEMG1EdlpxWHRnbGtj?=
 =?utf-8?B?NGhHYzJabjNrb3Jyb3RTN05DWXpVNGZuSEdqQ2RUZDVoMllpK2NYK2FZMUVt?=
 =?utf-8?B?bVlORGtkNDFsbU5HeC95a0NkdktpeVh5bGhPR0JnZHFtTTRsSjlhTlFaZUdT?=
 =?utf-8?B?MVh6bU5HOWpPM3lXckFtWnM3RUY3NzRWb21vUkdnOGZjNnp6Q1YxSnJyVlZi?=
 =?utf-8?B?VDZhMHVTaXJrekFOL1ZDN1E3aFNWb2tLSTVzSUNaMTRFZGQrL1BIQi9oOE5G?=
 =?utf-8?B?QUx5aE5TVEQvR2VDRWw5MlpVRmIrVFZJUUU5VVVMcnhEdVZzT0gxUVB5Q29x?=
 =?utf-8?B?RWYzbEc4OVdxSnJFc1pTaUlDRGRVSEtFU0ZmRlora3BoR0M4KzlXRFdRKzFo?=
 =?utf-8?B?cXd2MXFjYXBkeWFxNmUyaW5nTmtrVGw5U0hUMzRZQmtIbkp1WG1LTWNoWTVo?=
 =?utf-8?B?clBYay9rcDFJT0ZzWnpSM3lYSlVuRFlBdHlETUVDUXBxd3l5ZHUvS0E0UEI2?=
 =?utf-8?B?KzJZamtBeW1xYUpBaUtXY05CNjBJYkZ4RGJZclQ1Rzk2dWM5SlVkcmppc1Rl?=
 =?utf-8?B?Uy9OMWtZZnlhYUNDUUthb1pwazdmSkphM1laUU1uYW5hQUNmVytsWlFmdXZV?=
 =?utf-8?B?UkVTNmlrNDROUlZEZGV3NG1OYnJteFd0SG9WT21rYTRwakRnc3VYQk1tbXdq?=
 =?utf-8?B?Q0Y2M0lqcERpRDRhVzYrL3dHR3FWc2VvYnlpajBvTEQ0OVdOVHlpb21JSUs4?=
 =?utf-8?B?TTFjaUEzbU5zUkk5SnNJS0g0S3d1cGVVMkFwalByN0hnSG1sTFBYMFJVc2ds?=
 =?utf-8?B?VEFlcVRGMGQ4SDFYREdPR2EramM2MnBQREVsMmxOVVMxMmNEcUkxVFQrYkYy?=
 =?utf-8?B?RTkrMmhVMjI2V2JaZDdXUWV4eUVoOVRsdDNNRE9EVzVxTll0V1F1RUwyWDhL?=
 =?utf-8?B?a0diQllpWWlmcFBpa2pWamR0SCttRmdXelc5WVV0QmdVeEpnV3BqRmo0eG5G?=
 =?utf-8?B?YWJCU0dMVUhjUUs1KytwT2dXb2t2NHlGQUpDbElnVDNNUC9jUTF5dWhOeUZZ?=
 =?utf-8?B?QWZJL3dUbWhmQTFSa3dwZTZtMXBMUHltSnh1c1dVc1VtRTByS0RLTWJRc2ho?=
 =?utf-8?B?anlYRjRqcUhYUHZrK3lTNFRCSytiMzVKRDdYdGN5dUdDMXJ2WUFmSVI1RExJ?=
 =?utf-8?B?elFRKzI5bytsRk5TVmlqUEFseEdRc0NralZjK3VtWCtxYWNtOXArOFhWUTFk?=
 =?utf-8?Q?H0W67GPY6owxZb8ugA7OjBqI6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cb5d3cd-1e4d-4e13-f8f6-08dba973fda8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 16:13:04.7771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iRKHXJO7Gy1ELWwDz/lozBeUAPIod8jUOGAVX6tF3EzjGgahMJr8eacqraJGZg01Kf0S3POnzS98siXPhZ8msA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8566

On 30.08.2023 17:28, Andrew Cooper wrote:
> On 30/08/2023 4:12 pm, Jan Beulich wrote:
>> On 30.08.2023 16:35, Andrew Cooper wrote:
>>> On 29/08/2023 3:08 pm, Jan Beulich wrote:
>>>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>>>> --- a/xen/arch/x86/domain.c
>>>>> +++ b/xen/arch/x86/domain.c
>>>>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>>>>  #endif
>>>>>      flags = c(flags);
>>>>>  
>>>>> +    if ( !compat )
>>>>> +    {
>>>>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>>>>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>>>>> +            return -EINVAL;
>>>>> +    }
>>>>> +
>>>>>      if ( is_pv_domain(d) )
>>>>>      {
>>>>> +        /*
>>>>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>>>>> +         * subset of dr7, and dr4 was unused.
>>>>> +         *
>>>>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>>>>> +         * backwards compatibility, and dr7 emulation is handled
>>>>> +         * internally.
>>>>> +         */
>>>>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>>>>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>>>> Don't you mean __addr_ok() here, i.e. not including the
>>>> is_compat_arg_xlat_range() check? (Else I would have asked why
>>>> sizeof(long), but that question resolves itself with using the other
>>>> macro.)
>>> For now, I'm simply moving a check from set_debugreg() earlier in
>>> arch_set_info_guest().
>>>
>>> I think it would be beneficial to keep that change independent.
>> Hmm, difficult. I'd be okay if you indeed moved the other check. But
>> you duplicate it here, and duplicating questionable code is, well,
>> questionable.
> 
> It can't be removed in set_debugreg() because that's used in other paths
> too.

Sure, I understand that.

> And the error from set_debugreg() can't fail arch_set_info_guest()
> because that introduces a failure after mutation of the vCPU state.
> 
> This isn't a fastpath.Â  It's used approximately once per vCPU lifetime.

But fast or not isn't the point here. The point is that both the use
of access_ok() and the use of sizeof(long) are bogus in this context.
Switching to __addr_ok() will tighten the check here (and hence not
risk set_debugreg() later raising an error).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:46:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:46:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593159.926093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOKg-0000iq-9T; Wed, 30 Aug 2023 16:46:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593159.926093; Wed, 30 Aug 2023 16: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 1qbOKg-0000ij-3x; Wed, 30 Aug 2023 16:46:18 +0000
Received: by outflank-mailman (input) for mailman id 593159;
 Wed, 30 Aug 2023 16:46: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 1qbOKf-0000iZ-1F; Wed, 30 Aug 2023 16:46: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 1qbOKe-0002Q3-JO; Wed, 30 Aug 2023 16:46: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 1qbOKd-0006vv-Ub; Wed, 30 Aug 2023 16:46:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbOKd-0002k8-U3; Wed, 30 Aug 2023 16:46: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=9sFMAiVbTa1fGFK6/DGDM6YKdsd/Dj7zjaclawG6Gwc=; b=L/fjyWoD6x1IPZQsdzdz03pJKo
	C8pa8HGaLKR8Yv4el6liIiVTqMS4lFrajLgPE9dmGZUZYzVAF4bnnwfGNzNRTt1rPyZtF4ZsCc5/8
	JJ7LlNaWy+U2Tow4z9rv6RM4n3xm1Eg0wEqs5j3IXN4IWf7V7iyzZusgHrD7TqsGNmk4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182563-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182563: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
X-Osstest-Versions-That:
    xen=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 16:46:15 +0000

flight 182563 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182563/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182557
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182557
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182557
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182557
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182557
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182557
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182557
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182557
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182557
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182557
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182557
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182557
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
baseline version:
 xen                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44

Last test of basis   182563  2023-08-30 05:57:17 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:56:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593170.926102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOUm-0002eO-Au; Wed, 30 Aug 2023 16:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593170.926102; Wed, 30 Aug 2023 16: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 1qbOUm-0002eH-7T; Wed, 30 Aug 2023 16:56:44 +0000
Received: by outflank-mailman (input) for mailman id 593170;
 Wed, 30 Aug 2023 16: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=o6gQ=EP=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1qbOUl-0002eB-Ec
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 16:56:43 +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 309c0c3f-4756-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 18:56:40 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-307d20548adso4931116f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 09:56:40 -0700 (PDT)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 x14-20020a05600c2a4e00b003fed70fb09dsm2797536wme.26.2023.08.30.09.56.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 09:56:39 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 09DFB1FFBB;
 Wed, 30 Aug 2023 17:56:39 +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: 309c0c3f-4756-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693414600; x=1694019400; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:user-agent:from:to:cc:subject:date:message-id:reply-to;
        bh=k1Xb31+XM7zyf4p96PIo9CJeeb1rikbvP4JHVrcSM/U=;
        b=vXrdcVGoawYtV0sS1kQMveUCkMocu24LkkZzHbcCv0O1TSFpoOvs8zFAgyl0neNHkb
         yaGVNnc/OhiP0mCU2Cmq9zxuCJgQCK4RZmTAXlGvgexOxkPTHECbz8+6pkInqhGqTCF9
         acrPQNO4WIsuPrVn9MOLuEDrGp2T3ylh9UJ+pjShKJd22OUp4YKYZjzsL1HFZaXjTH7s
         K3rAl2G7JSqv/BDozKZAyF5DHmRggk9Ep7q7+TGy9u2Ay520P9aYEPkiM3XQVP8gJhs5
         kcbBGKz1Iwgs3+A7KbCO8WajR9r+pPaQYL9B4BVxyoPj54/52qLX56u2CcrTNgGgVvJS
         KB7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693414600; x=1694019400;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:user-agent:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=k1Xb31+XM7zyf4p96PIo9CJeeb1rikbvP4JHVrcSM/U=;
        b=XjVHNInDaARnv0exXw0Y+lIMuGN4/WMznSEkvsrVy41JVEtuveeJmc8kjCRyL56WNU
         ziUELhYK8voy6B9wo17ddNsvn0s6qxJOTsyRHwMjRCvQRARHNiDYD6xkHUOZcBQTNW0u
         CAv52ZS0t02KHZBX//LdsyNUlr6dhcdU5kLz5xMV8RHwT4FYtivifqeOXhJKJLksLT2R
         W9CIhFA7trMz76B9mjZTDVXHB1N717iEHq/NR+nBhqzbG7x2oXB1YfjrvuK6zSODRc7J
         xLivqwcXGwnn8JY6TLgP6m/DUbn3py9M/FVlXUqGSyVcBp2t/qQ4Xfex6/041PQXbeb8
         BODw==
X-Gm-Message-State: AOJu0Ywj9YxWL614O4WCwlrcwcvLndfUdvyU5kPXsrFsX/UXQlvu2R85
	gZGt3Zm04KkBIG+LoFghRfwDFw==
X-Google-Smtp-Source: AGHT+IHGgTVU+REc/aEIU4qFjHGblxDqda4AQyqsdIdkvvPCfEUq+PlwvQDCu10lcyi+JsaaB31q1A==
X-Received: by 2002:a5d:6108:0:b0:317:7eec:5e9d with SMTP id v8-20020a5d6108000000b003177eec5e9dmr2314014wrt.16.1693414599909;
        Wed, 30 Aug 2023 09:56:39 -0700 (PDT)
User-agent: mu4e 1.11.16; emacs 29.1.50
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Xen-devel <xen-devel@lists.xenproject.org>, Stewart Hildebrand
 <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik
 <Sergiy_Kibrik@epam.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>, Vikram Garhwal
 <vikram.garhwal@amd.com>, Stefano Stabellini <stefano.stabellini@amd.com>,
 Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, Jonathan Cameron
 <jonathan.cameron@huawei.com>
Subject: QEMU features useful for Xen development?
Date: Wed, 30 Aug 2023 17:11:02 +0100
Message-ID: <87y1hspiyh.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Dear Xen community,

Linaro is significantly invested in QEMU development, with a special
focus on Arm-related aspects. We recognize the value of QEMU as a
readily available software reference platform for projects that need to
test their software well before the availability of real hardware.

The primary focus of our effort is on adding core architectural elements
to the CPU emulation. For an overview of the current feature set, please
see:

  https://qemu.readthedocs.io/en/master/system/arm/emulation.html

Besides the -cpu max, providing an approximation of a v9.0 baseline CPU,
we have also recently added several specific CPU types like the
Neoverse-N1 and V1 processor types as well as numerous Cortex CPU
models.

Our most utilized machine model is "virt", which is primarily designed
for guest operation and therefore has minimal resemblance to actual
hardware. "sbsa-ref" was implemented to more closely simulate a real
machine that aligns with Arm's SBSA specification.

In our work on VirtIO, we often use QEMU. Most of our rust-vmm
vhost-device backends, for instance, were initially tested on QEMU.

Now that everyone is up-to-date, I would welcome any feedback from the
Xen community on features that would increase QEMU's usefulness as a
development target.

Do you have interest in any upcoming Arm CPU features? For example, we
recently added FEAT_RME support for Arm's new confidential computing,
but currently do not implement FEAT_NV/NV2.

How about the HW emulation in QEMU? Is the PCI emulation reliable enough
to ensure confidence while testing changes to Xen's PCI management? What
about the few peripherals that the hypervisor accesses directly?

Are there other development features you consider essential? Have you
noticed any limitations with gdbstub? Does anyone use the record/replay
or reverse debug functions? Has anyone tried TCG plugins for analysing
the behavior of the hypervisor?

While I cannot promise to implement every wish-list item (performance
counter emulation, for example, as we are not a uArch simulator), I am
eager to gather feedback on how QEMU could be improved to help the Xen
community deliver it's roadmap faster.

Thank you for your time and I look forward to any feedback :-)

--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:57:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:57:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593173.926111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOVI-000364-JD; Wed, 30 Aug 2023 16:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593173.926111; Wed, 30 Aug 2023 16: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 1qbOVI-00035x-G3; Wed, 30 Aug 2023 16:57:16 +0000
Received: by outflank-mailman (input) for mailman id 593173;
 Wed, 30 Aug 2023 16:57: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=6FTw=EP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbOVH-00034Q-3j
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 16:57:15 +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 44b1e743-4756-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 18:57:14 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-500a8b2b73eso97158e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 09:57:14 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 er7-20020a05651248c700b004fd36c89c3csm2458240lfb.43.2023.08.30.09.57.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 09:57: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: 44b1e743-4756-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693414633; x=1694019433; 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=l++Zpa9W3cVegRsEsIxzmI6J+GeofQzkS3WKSaWLCrY=;
        b=d7jMPKmZTiYsL1CLUQB8VLiQGy+9hEU2Yevc4WlBR8EncxWsrGGzYdIyYwKufBkRXE
         Zxerkhgz0uBBhDe2r5pRifQz1RJJHEshgSloncl+70kvKQJS8wbMjZdHkrflUgpczWCw
         qeeOJnUs/m7eiK3uowD3YMDJPgHEkuAn73+gR5a5UkwjrV/4px5F8rJehGhVapYIB0aU
         25EwO18feNfG1gCqr/xDq7j4jqPBMsJAvQWzlV2fTmnyvUrt0ZEnmWExBrL8FEVI7MqI
         tttdePKyG0vEzfNz8Df28BdPDAb1T2E7qYWr8wdshMiudTuYCn+/m7AXPnok1Si/NbGR
         TaDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693414633; x=1694019433;
        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=l++Zpa9W3cVegRsEsIxzmI6J+GeofQzkS3WKSaWLCrY=;
        b=BNcLaZkju3zdJy6LcFxLC1uL3TcNfpDu8E4dg3BSJ6CCAQ/M20aic3F5vqtu1sxVnf
         tHWxbKAT7CQQSAnHcklo//sHJ9fo0+lU2BYtXRCgrNMA0fwxfJszIhhW/y6GfGIDWjkm
         2qDW3G4+VEVGjcDUNedZidxNh6J5vtAzSovz7mQgPdpARpxEek0UfkItcYw99QIYTUxD
         igx1l92wBRLTLY5eBaJXaPsClr8wrPSa/HCYlEeeDTNBVgh3OLXztLryzOAftDjX/Ivt
         Zb7MMmu65pIgxcWnTHaCGlbzDhan4fAvRKIMZv3TrV33l4tQKYjENR+9ov1Ro1lxSLTU
         yW6w==
X-Gm-Message-State: AOJu0YxlL090lFfY3+wZX1/FfbnapiPNsowj954ujEFzj86ptW4mXKYd
	N1Bc+1M63iN5gxPokVHrbzEFiIaRhwo=
X-Google-Smtp-Source: AGHT+IFBoVzr/rUfHRjhoFg22flNv3fLTNX3h1DFKGxL0xeQtc8pcyZO3B5nCSXsLQFDNd8wtqArOg==
X-Received: by 2002:a05:6512:519:b0:500:7de4:300e with SMTP id o25-20020a056512051900b005007de4300emr1668737lfb.58.1693414632868;
        Wed, 30 Aug 2023 09:57:12 -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>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 0/2] introduce stub directory to storing empty/stub headers
Date: Wed, 30 Aug 2023 19:57:05 +0300
Message-ID: <cover.1693414172.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A lot of empty/stub headers should be introduced during the early steps of adding
support of new architecture.

An example can be found here:
1. https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
2. https://lore.kernel.org/xen-devel/a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com/

As part of the patch series, asm/vm_event.h was moved to the stubs directory because
It is the same for ARM, PPC, and RISC-V.

---
Changes in V3:
 - add Acked-by: Stefano Stabellini <sstabellini@kernel.org> for "xen: move arm/include/asm/vm_event.h to asm-generic"
 - update SPDX tag.
 - move asm/vm_event.h to asm-generic.
 - rename stubs dir to asm-generic.

---
Changes in V2:
 - change public/domctl.h to public/vm_event.h.
 - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs

Oleksii Kurochko (2):
  xen: add asm-generic dir to include path
  xen: move arm/include/asm/vm_event.h to stubs

 xen/Makefile                           |  1 +
 xen/arch/arm/include/asm/vm_event.h    | 66 --------------------------
 xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
 3 files changed, 56 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/asm-generic/asm/vm_event.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:57:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:57:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593174.926122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOVJ-0003Mj-QU; Wed, 30 Aug 2023 16:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593174.926122; Wed, 30 Aug 2023 16:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOVJ-0003Mc-NH; Wed, 30 Aug 2023 16:57:17 +0000
Received: by outflank-mailman (input) for mailman id 593174;
 Wed, 30 Aug 2023 16:57:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6FTw=EP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbOVI-00034Q-0w
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 16:57:16 +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 45773672-4756-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 18:57:15 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-500d13a8fafso17358e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 09:57:15 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 er7-20020a05651248c700b004fd36c89c3csm2458240lfb.43.2023.08.30.09.57.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 09:57: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: 45773672-4756-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693414635; x=1694019435; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eJZrTgBzzdxBeCWZcRLvZVazbgGNtSI0NZG/c8XfBMQ=;
        b=UOaxEh1lb4AvZy7UwrZayUqlRx13kzE2uHnuQ5zYjckevFmnuYhdC69yUXhGdTyc3O
         RKm+3iJ5vFS0p9AUNtkiMgHiS+I/YDm6cY1Zp/AEYRaCL+yTDfTQjEPt0X2w/xsbrAeI
         S91Th39LdfYOJR8jzbXtgZLNCy3eHF7rkzGu1FGJ74xkNowZFbc64bLoVAkvCAS2n7cf
         INA53RJScGlQXMmQNfHfeRN0X0criuHYC7/0gWQPsrAzPX3HjXot824wUExsc2QWi0/+
         ORdOreqObh/vPgIFvmeavRxu5R47zmQfmLkqy6cGm9WBPK/f3bEunXfL4agSNsAJjBQP
         BeDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693414635; x=1694019435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=eJZrTgBzzdxBeCWZcRLvZVazbgGNtSI0NZG/c8XfBMQ=;
        b=OBM/aiz7UxJ9rM/5dKFu7UW4yi/DNza1X6szovDhMKSSyW2mCPnYE3savfjkLO8/6/
         INHl3ma+1H87M3rY3/r0UyRsaQiqPX00LWOttvF9QAVzaKkFWP9OY7ihK3RhS74h3Pjp
         Ta9zGsBZrjpiF7WXyrcpZ/Cma9s4YcyjDtIJDeN44atQ207Yk0cIuAFcGGRd0zMvUugd
         uWezsEjN+dgF1bQ9BP7oVH+X+yyd6d2YQQ8aQfhiAlCahcO3zZxJsAuEHin4y56Tmj+Y
         PkBq5ScbnbPzQVQiPy1D6ZnEc6zu/AusjUpPY54oW9AhozNAqyfWnJUg8ZDPcltanV13
         WmiQ==
X-Gm-Message-State: AOJu0YyznvLM7XIoHm+nwyE6ISk0y5Jbj95sUe4k8cFd80OD9ohcNJN/
	VCYvMyEqXW7l747XNunDEpattwBoi5E=
X-Google-Smtp-Source: AGHT+IHOCwoXzO42Oj97tvPkXhDAbErRlPtO5B5CSO1jVrpkHhlaO5DfQUwPs/iTcNB5Rz/mD/jFCQ==
X-Received: by 2002:a19:e054:0:b0:500:81fa:46f1 with SMTP id g20-20020a19e054000000b0050081fa46f1mr1863117lfj.67.1693414634464;
        Wed, 30 Aug 2023 09:57:14 -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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 2/2] xen: move arm/include/asm/vm_event.h to asm-generic
Date: Wed, 30 Aug 2023 19:57:07 +0300
Message-ID: <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693414172.git.oleksii.kurochko@gmail.com>
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

asm/vm_event.h is common for ARM and RISC-V so it will be moved to
asm-generic dir.

Original asm/vm_event.h from ARM was updated:
 * use SPDX-License-Identifier.
 * update comment messages of stubs.
 * update #ifdef.
 * change public/domctl.h to public/vm_event.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in V3:
 - add Acked-by: Stefano Stabellini <sstabellini@kernel.org> for "xen: move arm/include/asm/vm_event.h to asm-generic"
 - update SPDX tag.
 - move asm/vm_event.h to asm-generic.
---
Changes in V2:
 - change public/domctl.h to public/vm_event.h.
 - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
---
 xen/arch/arm/include/asm/vm_event.h    | 66 --------------------------
 xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
 2 files changed, 55 insertions(+), 66 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/vm_event.h
 create mode 100644 xen/include/asm-generic/asm/vm_event.h

diff --git a/xen/arch/arm/include/asm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
deleted file mode 100644
index 4d861373b3..0000000000
--- a/xen/arch/arm/include/asm/vm_event.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * vm_event.h: architecture specific vm_event handling routines
- *
- * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __ASM_ARM_VM_EVENT_H__
-#define __ASM_ARM_VM_EVENT_H__
-
-#include <xen/sched.h>
-#include <public/domctl.h>
-
-static inline int vm_event_init_domain(struct domain *d)
-{
-    /* Nothing to do. */
-    return 0;
-}
-
-static inline void vm_event_cleanup_domain(struct domain *d)
-{
-    memset(&d->monitor, 0, sizeof(d->monitor));
-}
-
-static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
-                                              vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_sync_event(struct vcpu *v, bool value)
-{
-    /* Not supported on ARM. */
-}
-
-static inline
-void vm_event_reset_vmtrace(struct vcpu *v)
-{
-    /* Not supported on ARM. */
-}
-
-#endif /* __ASM_ARM_VM_EVENT_H__ */
diff --git a/xen/include/asm-generic/asm/vm_event.h b/xen/include/asm-generic/asm/vm_event.h
new file mode 100644
index 0000000000..29ab1b01b4
--- /dev/null
+++ b/xen/include/asm-generic/asm/vm_event.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier:  GPL-2.0-only */
+/*
+ * vm_event.h: stubs for architecture specific vm_event handling routines
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ */
+
+#ifndef __ASM_STUB_VM_EVENT_H__
+#define __ASM_STUB_VM_EVENT_H__
+
+#include <xen/sched.h>
+#include <public/vm_event.h>
+
+static inline int vm_event_init_domain(struct domain *d)
+{
+    /* Nothing to do. */
+    return 0;
+}
+
+static inline void vm_event_cleanup_domain(struct domain *d)
+{
+    memset(&d->monitor, 0, sizeof(d->monitor));
+}
+
+static inline void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v,
+                                              vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_register_write_resume(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_emulate_check(struct vcpu *v, vm_event_response_t *rsp)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_sync_event(struct vcpu *v, bool value)
+{
+    /* Nothing to do. */
+}
+
+static inline
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Nothing to do. */
+}
+
+#endif /* __ASM_STUB_VM_EVENT_H__ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 16:57:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 16:57:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593175.926128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOVK-0003QX-72; Wed, 30 Aug 2023 16:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593175.926128; Wed, 30 Aug 2023 16:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOVJ-0003Pu-W5; Wed, 30 Aug 2023 16:57:17 +0000
Received: by outflank-mailman (input) for mailman id 593175;
 Wed, 30 Aug 2023 16:57: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=6FTw=EP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbOVI-00035r-ER
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 16:57:16 +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 44d41e3a-4756-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 18:57:14 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-500913779f5so67857e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 30 Aug 2023 09:57:14 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 er7-20020a05651248c700b004fd36c89c3csm2458240lfb.43.2023.08.30.09.57.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Aug 2023 09:57: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: 44d41e3a-4756-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693414633; x=1694019433; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IfGWl5i1i+V0kmRFz/WihmIFA6/gIVVvFug4WIVFmIQ=;
        b=WkcR6kfkjoj+KFy2dJPmD3UipK82DB36g6kwb6+ZgD2ogmMrkMrUaEf1AqACZW1y57
         l/Vps/JLvE4SxOZHrGyqgJndfkm3w59vr9Ed7aiI+mT28tXIz4ugFEcoMYoWozEM0EsL
         JIZNrjnXkKFK7s/Szz4JyNXKC5Ss749360fzeVcg2hKonrEZ4UyiiI+dNtywlRLeuWx0
         L4uMTwuFouD0oAlEBsD48M4/axSRZEcYf0cUeUXPpKcKTNXi0E429AtNMebjoInYLam0
         H2ZtTFboSCiuB5Cp+w0t4WxuQhVRLwhzHyQxxh5PTb3S/IY8I1OelRAhFA8AdnRvfd2n
         uTWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693414633; x=1694019433;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IfGWl5i1i+V0kmRFz/WihmIFA6/gIVVvFug4WIVFmIQ=;
        b=FZ0zTjth0qRpMTYYSUNQ/GYzoyuBOoUj6RgrO0dRaaR3pFgr4AIJ8nU0B4TwfCebdW
         8E2LapYgiIH+nlaTp8W3TS+v2VO/Z/OC/wBuDCEG5G5ukffQAUREfbkp1W6pIJrQXSn8
         URaqjAoViOjOcAdIi4YB9Z5bbuZ0Hkanwhp+uBEZuXcgS5FpldAIYVD9ijxFb7Gr0VNQ
         WKuS7GFtYBJVXcsiEIiTY2XZsMprGC63zg1CU4AZPvMAEr1TokV5LEAeQYkDIZNMX+L5
         lwRKj90ZPpRZlIRqWPX3Myb43pLLbT+9Z4OWppShF/TrRPdh+AWa1jCm8THF9/FhRLjj
         gL3A==
X-Gm-Message-State: AOJu0YxhRQPGtzB0FKKz6q07jTNmoNAw+e8N8Qp8xaGJ5TTzTb9WzGQc
	A4QmU9t6gAp7OqdzeFcRjScAOqsFRAw=
X-Google-Smtp-Source: AGHT+IEu//FLboMeXYU0xaF3cdZPGiMSN30bWXXC0fyJlHr7uJUxjztq3m9nZL1Tx3lWTPrH3DtM2Q==
X-Received: by 2002:a19:7608:0:b0:500:8249:161a with SMTP id c8-20020a197608000000b005008249161amr2023692lff.19.1693414633506;
        Wed, 30 Aug 2023 09:57:13 -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>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/2] xen: add asm-generic dir to include path
Date: Wed, 30 Aug 2023 19:57:06 +0300
Message-ID: <3c54acf593ce4d9248603079133d930d081bad40.1693414172.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1693414172.git.oleksii.kurochko@gmail.com>
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

asm-generic dir will contain empty/stubs generic for all architectures.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Rename stubs dir to asm-generic
---
Changes in V2:
 - Nothing changed.
---
 xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/Makefile b/xen/Makefile
index f57e5a596c..5482c86080 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -438,6 +438,7 @@ ifdef building_out_of_srctree
 endif
 CFLAGS += -I$(srctree)/include
 CFLAGS += -I$(srctree)/arch/$(SRCARCH)/include
+CFLAGS += -I$(srctree)/include/asm-generic
 
 # Note that link order matters!
 ALL_OBJS-y                := common/built_in.o
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 30 17:02:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 17:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593197.926142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOaX-00060k-MW; Wed, 30 Aug 2023 17:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593197.926142; Wed, 30 Aug 2023 17:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOaX-00060d-Jl; Wed, 30 Aug 2023 17:02:41 +0000
Received: by outflank-mailman (input) for mailman id 593197;
 Wed, 30 Aug 2023 17:02:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbOaV-00060O-2a
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 17:02:39 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03e73117-4757-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 19:02:36 +0200 (CEST)
Received: from mail-dm6nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 13:02:27 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB7148.namprd03.prod.outlook.com (2603:10b6:806:33f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 17:02:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 17:02:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03e73117-4757-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693414956;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=y5bjWvkJMBAH9Hjr3KGpmR9NXDH38ht+rVotLhOIKUk=;
  b=Upc7oPirFUYzAEvigNASH2+aMzkPdOLMvgVYYw5OyLKt0UTZSi9q6MjY
   WBkZ7q7ZFv28B8dVh2wYyJjXzEqGA4Yy1y10+p5s3nE9JivFR3/nzZSG1
   CrBkblCrZtddp3yAUCFXjzxK3QQptsKajFjxHVAsjzlaVU9YiJTZPvVTM
   0=;
X-IronPort-RemoteIP: 104.47.73.45
X-IronPort-MID: 123859533
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8WsPOqu5LGb4ZEReRDXKMhmz4ufnVJNfMUV32f8akzHdYApBsoF/q
 tZmKTuFb/mPMzanL9wjaoq/oE9V6pTUyddqHFY+r38zFC0S+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+FzyFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwFyI1aAueqeGM7JWkQLNe3uAGIvXUFdZK0p1g5Wmx4fcOZ7nmG/mPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oui/6xbbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TefjpqM73QbIroAVIBsQD2HmveaIsW6ddfwOI
 W408RB3jYFnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBebT4r0
 FiJ2dDgAzMps6e9RneU97PSpjS3UQAFIGlHaSIaQA8t59j4vJp1nh/JVsxkEqO+kpvyAz6Y/
 tyRhC03hrFWgctV0ay+pQzDm2j0+sWPSRMp7ALKWG7j9hl+eIOue42v7x7c8OpEK4GaCFKGu
 RDohvSj0QzHNrnV/ATlfQnHNOrBCyqtWNEEvWNSIg==
IronPort-HdrOrdr: A9a23:Wultbq2Y2DVa/0C40tAtyAqjBSFyeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4exoS5PwOk80lKQFqLX5WI3PYOCIghrNEGgP1+rfKnjbalTDH41mpO
 9dmspFebrN5DFB5K6UjjVQUexQpuVvm5rY5ts2uk0dKD2CHJsQjTuRZDz6LmRGAC19QbYpHp
 uV4cRK4xC6f24MU8i9Dn4ZG8DeutzijvvdEFQ7Li9izDPLoSKj6bb8HRTd9AwZSSlzzbAr9n
 WAuxDl55+kr+qwxnbnpiLuBtVt6ZfcI+l4dYKxY/suW3TRY8GTFcRcsoi5zX8ISSeUmRUXeZ
 f30lUd1o9ImgnslymO0GbQMk/boX0TAjbZuCOlqGqmrsrjSD0gDc1dwYpfbxvC8kIl+Mpxya
 RRwguixu5q5D777VbADuLzJmRXv1vxpWBnnf8YjnRZX4dbYLhNrZYH9EcQFJsbBir15I0uDe
 ErVajnlYBrWELfa2qcsnhkwdSqUHh2FhCaQlIassjQ1zRNhnh2w0YR2cRalHYd85A2TYVC+o
 3/Q9NVvaALStVTYbN2Be8HT8fyAmvRQQjUOGbXOljjHLFvAQO/l3c22sRE2AiHQu148HJpou
 W/bLpxjx9NR37T
X-Talos-CUID: =?us-ascii?q?9a23=3AxKKAlGoDpPBUBABrDM2do13mUf83SnvG0VnTGWO?=
 =?us-ascii?q?fFmwzeuWxbFGsx4oxxg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AjdBkfw5h+4LoHIQTYsP6KVtpxoxu5f6UVVwSoK4?=
 =?us-ascii?q?mmOeqZCZSGzyn1RSeF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.02,214,1688443200"; 
   d="scan'208";a="123859533"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nDSXPLGWTaPpfOKKi1Z2auoSmCYRCqtLOaFBYaOoYoGipERakh9xRGBJDMSSaX/1szwwtQEh30fnQiMiYr+b7JTGTTxIn+je1pPdoh6tJDlAOgXkyGGppVTk+sZnrAhzkFaAr64rRzxJO5EtKfznLJFv1J/PI+CbkfwrIOL3Os5SY/wi04+rY6UZ5taOyKBMlOXfbyafUGG72FI2mYSa23/gIptRVDpLg++R7OIV8Gi4c/7rOnIqlHgpnavnImb3QpRTWRR40PuSH/jBYWKyXeHlIQsR/zwcmEtF9sO3TriIcRBiUjvAgb1LTiuT4K3hcTIiPDnMfLepE1I4MxgbLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=58PVOSqatdBFDaeqyExbOczii39/eHey2SF3FJKeySg=;
 b=NJfBZR6moi3jOvPkg7hctypLdJXKT+44gZ7E29xRTFkqCzdjRPxlFTtEIGgYINdd1rhBphzxOsVoPzRXPcRLy280yV3WY3w9zzR3BvbU2PSSeeQB7P8Gn+CE5jgy4tSkzqkx2y1SIoJYWLe+aMUkkMBl044FJWxFFjTrBDDUD2G/DmcK2T0Xd3FAhWhIWr+C1l4/PWMKtLtPVKOjjLV5+pim1d+jhAkT9Z4AuaWErFdmS3P2ldwcMvHZpmXoBMxBS1OihCN4kftLOLI3kKXgLTUUibZ/5aP2JQX+1ddQoPB0mZJno7pG2aGoNtkbyA5TaFq2yo8LIUpfA0BGDWv8sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=58PVOSqatdBFDaeqyExbOczii39/eHey2SF3FJKeySg=;
 b=ltI+52qGCjh1JOI7IshJWwJouamy+9C18x7kuLH2ucWoyae1LiPyb3bZzxAEG1EUWqN+vXX2AaftHkitowQsxhD3NkXmoLZSVy/OuFkP6WX7e/eoK8pjKAaGsYcYHLzKsk7VCjAa+l3OhCyjD9SnY6WIcpToSwJ3pc1nrz4O2M8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3e83abfe-266a-7b14-b84c-03eef5459dce@citrix.com>
Date: Wed, 30 Aug 2023 18:02:18 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
 <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
 <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
 <2ced7357-b8ec-e071-9ce5-c4d23b1a6a03@citrix.com>
 <57079660-acda-eca7-5a39-42463cbf64e8@suse.com>
In-Reply-To: <57079660-acda-eca7-5a39-42463cbf64e8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0547.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB7148:EE_
X-MS-Office365-Filtering-Correlation-Id: e61abb5a-daf5-4cfa-560f-08dba97ae195
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ElyfPWQ4JIxxwLGrMPbsihunjreqrtF+o9Pw/1MRmqtKbYIM8GLfBf8HQBp+JDAYNM9I4Tgtxy5mNsUJV8TvcY7CvSunOtDh7oAT84h12XlZtnZ9P1TT4K5FOvt3PqflOYGwvBkw80V7Mwph+f4LRkAQQ+cwwVqtgNSuUgUzmfJQJpbtYjnu6FUvhr6FluFo++XMS0UgbQMock70S2uJkNogKf7LirOgK/LsiHWrqFF2oL1PJx+NVJlcYtsAWjGPLe5v5CPyt1WncahT5Fc7n0OawwFX7ribbxZtJ9tjBIFb0RnO8N6Yq9+7L46L7faxxdqcHwGoYO0mn+PAQk4Xz3C9UJNwzXyMwjlkneUUX2e2UnKBzXnwttNk2pGo+byADRcxHH8RKgRv/5zkNQ6k1YiYExVhxokN5wxfj5JCmgAvnPKvKfUzxHbSpQQsJZbEdn6+gY+sOxuouS13LJ9BNali8onBqF4zkJYziewbMEQ9AP0KLihBWifEUKoAqRwnsCCQG6LY7aVcZyQk9/DGx3V/9ZLgNsL/v7wiM0f5g3VYOZptFlIOp+eJkhVaF0xX12HS7xmg30gj8TeGFdl+F0AuZduYDkMlUA+SokL3w/t7RxM6HsIsaRYXSEY2HLaZWzlsz7NSP37wVHrDEf8g6g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(346002)(39860400002)(376002)(396003)(186009)(451199024)(1800799009)(6486002)(6506007)(86362001)(6666004)(31696002)(36756003)(26005)(2616005)(83380400001)(6512007)(316002)(6916009)(53546011)(5660300002)(66556008)(66946007)(66476007)(38100700002)(54906003)(41300700001)(31686004)(2906002)(82960400001)(478600001)(8936002)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUgycVZMMlM5M1UzRmFXY3drQXQ0U2gzVkxSTjdlVTRGNkMvZDQ1V2xvRzIw?=
 =?utf-8?B?cG1mYkhkMkxKK3dQSVJLVEZUbDZuL2l3SytwV3NiYkVJZ3N0VElCb2ZrUE5Z?=
 =?utf-8?B?VnFKMlBFdndjOElBVWNsdlMzWUdtMVEyYTZuTXMyUUtLTE1Xb0ZwZk50WXE4?=
 =?utf-8?B?Z1hqbFoxVnFsWG9FYzZhVVJla1Z1dVc3TUpBSXZmTGVOdVllUndkcnZhZWRp?=
 =?utf-8?B?bWFiYWtQYVNXaHNqY0hOK0Fhbkh1MzUxU2tvL2N5ZHlGUnhWT0VpUjRRY3hL?=
 =?utf-8?B?THdENno0aG8wTUp4VkhwaVMyQS9lN2xtcHpBUWllaTgvVjBXbGUrbHFwN0NZ?=
 =?utf-8?B?Qm8veFUvdjRHYTh1K01IU3NDUmVKd0dSNmRNMjliR0M5ZTQzZmJ5bG92WFFL?=
 =?utf-8?B?YmpnVEU3ZW55RjhUcWxYV3ArQW94Y0xlenl4ZkV0Q0RsNGg5d3FkcnM5cFZJ?=
 =?utf-8?B?SzEvZi9PVmJOYmZrVkFRWDVINVdkMnkzZzdqL1JUaEVaOVpwc1FkdTMzOHNM?=
 =?utf-8?B?dWpkNmdraWl2UUZ3R29mS1lXTUJTSnM3WDVHU01vaXdzUXJHcTM3T3RGNWsz?=
 =?utf-8?B?YTlKVzN5UzFCM0c4TmgyaXRvRVRLZWpaTzZuanFaUUlXRTFuZVgrV1MreXQy?=
 =?utf-8?B?N1NITFhqaHpYblNVRk11cis1ek1OeTNaN0Vxek9RVldEaklXUjRMZEp1WlFG?=
 =?utf-8?B?c0t4UWk2cVhkRVFMU0Y1RjQ0YW40elg5VmNLZlkvbERIZVJ4dkhXajNLM3NO?=
 =?utf-8?B?SUJmU2VqQkFnaXFPc3lYNlY1L1dpdlJlNXp0UHh3STFicGhaTkVnSGZqZnFy?=
 =?utf-8?B?MittR3Z2UVhSK251QkkzUENHUXozUjhLRFlaQTd0QlV3bEFlL25iQWtTKzll?=
 =?utf-8?B?bjkrMUVjZWdXZ0NpcExWYWEvSXdvT0xlNTNxZldGR1RrMUZnSWd6N2hURVF1?=
 =?utf-8?B?Y2dJNWYxZTFoLzNsYjhvc2JxUVRDd2FkN2xwNlBPUTBwa29KNEJidHRtY3pz?=
 =?utf-8?B?dU9VTFhBQVkxeTZ3eGV4Q3NKUVBQejc3dTF0bElqdUFBYnlpZzQ5VVB6dmc5?=
 =?utf-8?B?dW1DNSt0RkVrQW1IV0FWVTkrbkl6UFo4QUV1R3p6d0FWK2VhZUlLZy9yc1cv?=
 =?utf-8?B?Z1FrZmdiZXp4VFEwWXhnVHQ4ZzFKNDM1ZDFkN1RKc0ZROFQ5SlViaGpjN0F4?=
 =?utf-8?B?V2ZtOEwvSkdyU3NEVnlkK1hTT3c3SUN0OEFiaDBrUjBOTUJBVGNiM0RxaHJu?=
 =?utf-8?B?OU5UMVhDdHBMUnh6OWY3eHFJMDlNMnB6K0ZTdFYwTnlQcjEvQnBPcUZKRHho?=
 =?utf-8?B?RStua0JWZkIzbm9Ibnhiei9mcGpVNDdVMkttbEQyekZFV0wvcWxWbXdvVXRx?=
 =?utf-8?B?SXdwWUlaTlo3ZzFuMVV3dTlPbjE4NFNXM1pNajhzbVNhQnlqRnZwVWlpNnh6?=
 =?utf-8?B?eFhIWWUxNU5WZU11RHV1amt3bmRuby9WYm5OQ3lLdk1kVjNDdGNUbzc0Q2hx?=
 =?utf-8?B?OXZkZUx3RHVOS09LeFJrb2hxL2RyT01pRW52OVNkZE9zSUJmVDVJc0RqS3BN?=
 =?utf-8?B?T3lNeE9qMng5RGFEQU1SeDBHZmQ5V2J2akxzanRTRnFaNWNuZDkxM3VxNGNt?=
 =?utf-8?B?eDM3Ri9YQTdHcHNKK1Zwam4rL0xQckZOSUhIWE5MOUFVZnhQYUhNcFRIclBF?=
 =?utf-8?B?WDY0WVROTmVMTlRIWG9jTGdaOTE3aWEwVGwwekdDcGxTemt3amtMcG94Rnhx?=
 =?utf-8?B?Vzl4VWdsNWhXa25WSTNpaE5KczBKYkhEeWk5aVhRemRHZVBrM1Z2b21lSWQ0?=
 =?utf-8?B?YTNyclJxZ2Y3RjhIUnlUOGtIU1U2UVVSMzJZZEhUVkwvWGVycE5lcVRpdVJl?=
 =?utf-8?B?VlZidGdzWXB2SFVOZnhFY3JyWVhWOE0wUGNxazk3aXU5OEtWVEJub3dUN0dw?=
 =?utf-8?B?VUZMeDAyYlc0ZFNXSjhORHB3R05ob0NCWk9wV1ZDUTNabzlZRDBIWWVpNHJq?=
 =?utf-8?B?R2FJT3BKaFVKNU1IUk5jcjkwT3diQjM4Uk1ZVzRUNTQreGJ5UEIxWENqNWx2?=
 =?utf-8?B?ZU1vbkdKejhaNndpeERsRmN5dVZZeXMrN3pHcEJBQWxsdU1tc3JRTFdjbThX?=
 =?utf-8?B?YVhvUHlKQnBGTVB0b3ZQT3I2c0RIZFRwMG5nNEcrcTBydHFSR0RTczdJYkNB?=
 =?utf-8?B?Y3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	e5t6aTqnaIGvHcWM3NYo0ocriX6XsBE4LV91A0J+6AtHijs5W1A94mwafoFrwJiaNI2FhM1ZakZTkPOhZQ2S7do4xMb8fXRTMTzd66/N3xmqU2r6D8iR+fPP7gzbbXeg/R3bpZgn11GTCmTeO5drlGkS34UuZqXS+n739cSPEYuj4NEHsQ1wYqwVjI5cUU5j37MWoEpTkkJoDRg7Wly5DnGSmjzHOCWxjcfjaC34vuwKKTNeZyyARoiSQLP4WrW67/8jNhXfAT8eBlIR0Etjbpw89XbLlcn9zPOMYijEIx2WE+Neno1dzo2+ynDPJzkcomYwnwpRsIMFNQbzJ23+6jCefBTCLGBmCQJsx+ore0zypnbfv9B5X8UHLzUFB6oMYyOIMTFDt+KhF00pbHKSo8nqQiPzFmzKuxuf2bqL+mleBIoCAM6Nc3XjbcLDojK+WNuIWwExgYbQdRI/PnvwdlVZvlqphsYJUO0ykPLFAekYJkFGDGqZpE0N6AsP2vUWoYsihj5D3lh9/J9vQ+UZ4l3qYIxnxBNyxvv0YbaoSXFEXlmXKl9n601tqh62i3PT9FeGnePQtK2HUdqjzZZ1z6DnxTW1t0qgPRsdlNWfUVq+gS/xxNEldt+PZ5TGez3I1phpKdqsRC8DV4PBYmdfJTTQYv2PsDii6vQCu/w9DJkJs8dljOTeXJ0Kg8h11dB5sUIjiXYnAixppkElLEw/Z7lbEV3v/m88ZIUAxHd8xxKhXUeT760GMAwXwmi5m2JOXSIJ4PpQwAFc3qPGlF29MURGA1kh/NYtmvjqXsw+kQOfJURTV1fVuywgsvQst64lKpduTOHhTYvW0j6UZ8NMbieIhBrsVfBeXcBjXKwb6Wk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e61abb5a-daf5-4cfa-560f-08dba97ae195
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 17:02:24.2202
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7oNfeGWvKTUV2S9YDhitLeme3PLZbb4LG/8gZMAvQmZspDh5uWpSeYGRqO5UmB52Rt2ohfFPFWD+KjrawJVE5JsMuawPolPnWS3Y7gGU6+E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7148

On 30/08/2023 5:13 pm, Jan Beulich wrote:
> On 30.08.2023 17:28, Andrew Cooper wrote:
>> On 30/08/2023 4:12 pm, Jan Beulich wrote:
>>> On 30.08.2023 16:35, Andrew Cooper wrote:
>>>> On 29/08/2023 3:08 pm, Jan Beulich wrote:
>>>>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>>>>> --- a/xen/arch/x86/domain.c
>>>>>> +++ b/xen/arch/x86/domain.c
>>>>>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>>>>>  #endif
>>>>>>      flags = c(flags);
>>>>>>  
>>>>>> +    if ( !compat )
>>>>>> +    {
>>>>>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>>>>>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>>>>>> +            return -EINVAL;
>>>>>> +    }
>>>>>> +
>>>>>>      if ( is_pv_domain(d) )
>>>>>>      {
>>>>>> +        /*
>>>>>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>>>>>> +         * subset of dr7, and dr4 was unused.
>>>>>> +         *
>>>>>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>>>>>> +         * backwards compatibility, and dr7 emulation is handled
>>>>>> +         * internally.
>>>>>> +         */
>>>>>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>>>>>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>>>>> Don't you mean __addr_ok() here, i.e. not including the
>>>>> is_compat_arg_xlat_range() check? (Else I would have asked why
>>>>> sizeof(long), but that question resolves itself with using the other
>>>>> macro.)
>>>> For now, I'm simply moving a check from set_debugreg() earlier in
>>>> arch_set_info_guest().
>>>>
>>>> I think it would be beneficial to keep that change independent.
>>> Hmm, difficult. I'd be okay if you indeed moved the other check. But
>>> you duplicate it here, and duplicating questionable code is, well,
>>> questionable.
>> It can't be removed in set_debugreg() because that's used in other paths
>> too.
> Sure, I understand that.
>
>> And the error from set_debugreg() can't fail arch_set_info_guest()
>> because that introduces a failure after mutation of the vCPU state.
>>
>> This isn't a fastpath.Â  It's used approximately once per vCPU lifetime.
> But fast or not isn't the point here.

No.Â  The point is no change from the existing code.

If you think it's wrong, it in a separate change and don't block this fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 17:16:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 17:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593205.926152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOnw-0000AQ-2B; Wed, 30 Aug 2023 17:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593205.926152; Wed, 30 Aug 2023 17: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 1qbOnv-0000AJ-U7; Wed, 30 Aug 2023 17:16:31 +0000
Received: by outflank-mailman (input) for mailman id 593205;
 Wed, 30 Aug 2023 17: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=dzxB=EP=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qbOnv-0000AC-3y
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 17:16:31 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e83::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f36eca7b-4758-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 19:16:27 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by IA0PR12MB7627.namprd12.prod.outlook.com (2603:10b6:208:437::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 17:16:23 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6745.015; Wed, 30 Aug 2023
 17:16:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f36eca7b-4758-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T64/Vg7TsFaqXsZsVNxqHVA5yhbG2794Jib5dKMKLDlCmYw9kNDS9ybg9SP9v9nBnZH9j3D/1/dM6kGlgoUrYo/RU+I+aPrqhs2fyFzHoWFHJEXxKlXlYrPGmW2cbYAg9L6Q2ZI+oBclgL9WKmOFZUyb7Irr9VsmRAKrRsFcNDBwmh13d/GOy1SUUW3wk4jr/ICfKW9TdYKdPD5+mt7ijbuOL0lAcvTfbz30eX6+vaL8fluj1AE0rPScPhKbMYHrq95TKoN940NXLyYvhyTyiAiivfFex37jdpwMksKIkjrWi5n1nmYgEmXKb00HxPMF9Kpbadm/MzjneZOkF8DY+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cS16Xi5WzOhJkU94Wqg6L57eDE1SNX2dm94gIytT5bA=;
 b=gaCaDnLFcgRfXu4jcUli3yMk5kR6y2x0m6UWeYfk2Yi+CLV8UH5W8uoTBrPiieb3RETmOWXvfG7YL5ydNkMMa4oVL7kfcIwps5p42wdXmWJ5yifPx1+ktQVpq18aVbJrI3mPEXQ9XvV/05tXeLf3wYRauCPVge40BDub52NsYuE7eirWunKpIrXAra3xgG8omNC0yblHF99cPy5ZTec9wMLWbfsixGMFuxYxyIe4MKhslsIkKyAJZsQoPX/DWLoEk/pQZIzbY0cxrMi7s5RFKK5N6V+u9kn8eq8XfZiHHEGoWKlTnGD48EDWGpcygMmXXii9HrxxsUMldYyDlPm3MA==
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=cS16Xi5WzOhJkU94Wqg6L57eDE1SNX2dm94gIytT5bA=;
 b=FcAEDc7BNGbdZz0rH8HhsByc42tpb4x/hXtL3i8u/IkHpX3c/KiHJIXEixcrL2ENDmz4Zu4DxuP8FuLjq9mbNw1lLMQi1Smwbe0BWRSBBy6K8sXjWSWOoxYeilgZyrNjg5tBcFvEBjHUVG49feuzz7qGgYWKXnesgN7GUdHao5I=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 30 Aug 2023 10:16:20 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v10 03/20] xen/arm/device: Remove __init from
 function type
Message-ID: <ZO95ZLh9FdpmGMWL@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-4-vikram.garhwal@amd.com>
 <64099c1c-42d6-aeb4-6d2f-566dc17580da@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <64099c1c-42d6-aeb4-6d2f-566dc17580da@amd.com>
X-ClientProxiedBy: BYAPR05CA0096.namprd05.prod.outlook.com
 (2603:10b6:a03:e0::37) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|IA0PR12MB7627:EE_
X-MS-Office365-Filtering-Correlation-Id: ec1b4adc-5650-403e-748a-08dba97cd5d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t8yEXNDjKNMZEbZ1Oh53zsPj4f85GAizoad7Mt/5Wik0JTV03AblECdHON5SwLl/w4IXoznEaYm0H/8/FfdKIKrEYGUlAUqUnD8sgSgOWJWbZbYs/8zxux+Gp0PI3hlFq1WK+O/OyArNS6FjTFAgtN5AhA4hPfCgFuEWjQSdmZNXV+wJ3wUKSb/ZIiJen+JY+WdxtDuHdu0ZHS5FIdpNhRdo/d10s7xITBSU9qJB4ilVTRka68Lnufk7aybQntcOmUTUhrVfjcz1RaeJ387SN3tKj6TCKZMAMk+3S5Ka4d/Y/by7wcgBb1HQyn4ahHbrGwcyY9D7K1LZC3ZGkF8BK3CXBZa3UzyuIQNz8ggYk4O4jhOFZB8MUuWA1fn+GQkcdn8qt4KqEAa+oDUYRe332uPt5O3wehJzUTWNiOpl88cbEdA37fIBF6eejGnw/zjUJpNiawfSCGeN1GjpQQ7S3PUfhBXtHQAJTWvC2mSWbMRCxAdbTJ/7GW0/gD1vWa2BQaGCN2JUIFIq6hyZFWqx4AlaR8lPsNYvs96fYUDYEbyCiYYeNp0xvFW9JIXrgvkn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(346002)(396003)(376002)(1800799009)(186009)(451199024)(6506007)(6486002)(6512007)(36756003)(86362001)(38100700002)(2616005)(26005)(2906002)(53546011)(478600001)(5660300002)(66946007)(6862004)(66556008)(4326008)(41300700001)(8936002)(8676002)(44832011)(83380400001)(6636002)(66476007)(37006003)(316002)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWJGQTVRcXJRVEkzdnhmYSt4NkxIMnJRdXMvbFBoalN3Yk1Td2pJZm5Ld2RZ?=
 =?utf-8?B?M0xUK1dZZjR2M0ZyWjUxZGpzSXhlYzVyNEQzZ2lXSjNXTEF3Yy9JUWJiUXgw?=
 =?utf-8?B?QXk5VjlhOFd6WFJLVERuZzZRYTdzNk5GSDlmVEtiTTdlTFl0aUxSQkVyeTl0?=
 =?utf-8?B?Z2RKV2VNUHprNlo5VDVJLy9Zc3YvaXZsRlExdGFDTHpkRHRIWDBXU2dKZUll?=
 =?utf-8?B?QjExRlBLKyt5RVZCaFNDMmdjZUZLYXlueUVCN2ZuVlFEM1czTklBcW5uMWxu?=
 =?utf-8?B?ZHZSZEh4REx6Y3ZzeUhhdXVvOHRla0oweXNQZjRUTTcwTlRvVWlwUFk5ckdR?=
 =?utf-8?B?WTdJUmNXdVA0azRpWnhmWWh6Z1JqZDlrTWVOUVF4aVlBV2U3SHhkSlVGeFJD?=
 =?utf-8?B?SmlkT3J4ZURRemhzUG8yYkN2UXF3Wk5SVkhCTW4zemRWWVM2RXhySnhIa1Y3?=
 =?utf-8?B?TzFXeEdDUFJYSDJOR3BSK1JZNTJpZ1VrUXBLN1FUS2dhVWdvTzNRaUtMMTJt?=
 =?utf-8?B?R1dCVmVDaGhyNkFzaEd3SDhybXUzOTNlaitWWFFRUVlhWFVkc3d0cDdYUjRW?=
 =?utf-8?B?eStadmVJR2tIREo5QWJPL3IyS3BDZmN4clkwZXN6YzRwQzF5NWFpbzBaYi9K?=
 =?utf-8?B?YkFPL2RNa05vakMyb2RJam1TYldVT0NsQ2lxdndGbWZMQWlNbElhck1wZTk4?=
 =?utf-8?B?eGkyd1dOMzZaVVpGUmxjOFpyZlgxMldmcm1PSWZxUHZxYlQ0cTFEOHFGZEZt?=
 =?utf-8?B?ODdLQVcxSW1ISTgxMUZ1SytBRnJUK0VLYXR2THRhdWxyamRqbERXejA5b3A3?=
 =?utf-8?B?RFhST0xMTmR2UWVKZVlLWW1zeFFuUU54aE9PMjhZeC9yclFRSDU4anI3ZGNV?=
 =?utf-8?B?OGJsbytKRFd6cDR4Z1lEOVFrWEQ2Yit5NHVsZDFqdWZlOHdHSFYzR21QcWdz?=
 =?utf-8?B?ZllJR1hiMFluRmQrS3BVdVdTY0VRWU9BVEVHUWF6ODhzMG5OOTF5M1VVV3Y4?=
 =?utf-8?B?K1FUQWZJMmtIcFBlUWI1eWllVmV3Yy9Lc2h5Mm13UTZJM3Vsa2RrMVZkaUQv?=
 =?utf-8?B?Qlc5WHp1c0lDV3hCZ0VFTlBYK21BYVJNeEFlZUxURmhzSEpGRzY4M1l4dE1Q?=
 =?utf-8?B?WEpNUERzOU1qSHdRdW1Va3g5eXZvaitORE1iUW1jSXFwNHZPSWdKQUJqZGpM?=
 =?utf-8?B?bHJubGM2RkxwNFIxbExjeFlOalRLMzVQeGlQb1M1NkFCR0dhWko1Tll4d1lR?=
 =?utf-8?B?OFJ2Ui9HVVVyaU1zVGtXbExQVjRDOFBFUFlyRnpuTHdVTTdKcncyRDJ2WnN4?=
 =?utf-8?B?dWZZQ0ZJK016TWoveVM0Z0JFQTZQRk1sdGZBRHFLWXFTeGVBL0JZU1RWTTV6?=
 =?utf-8?B?T1lVWWpqemRjSmduYjNPbTQwdTl2UCs5V282dlJueDNUQThTTCtqeWJUVko0?=
 =?utf-8?B?NzJHTzdnU3ZDa1h5azBrZVpYaC92bElhTWJDaStjaFBWa1JxVHU2eVJydGIv?=
 =?utf-8?B?SDBmTHBRaFA4SkV3Q2h3ZWhkWjdQdThZQ1lnZjJFUi8zZWZCYnJKMytHeUtM?=
 =?utf-8?B?TkQxSmdoZkoyZkxSVGlnSXJobjBmOWdwa00rS1d4T0lVTlNZSllVQnlwbWFK?=
 =?utf-8?B?QXppb0VySkVtTXJtL0VLR29OUk04Z2xyd212ZEZmdlkrbnRFMGE5eVREWmpF?=
 =?utf-8?B?RVo2RUdJK09PckwwZmlNTFIwQXhpVXdBSzBKTnhFeURERTFXaVV5VEJYNkZE?=
 =?utf-8?B?QXNiMGo2ZU5HVWh3U1NNd05xYzIrVWoxK3cyaFFTZHcrNjcxNXFod1NUOThj?=
 =?utf-8?B?ZHlOd3pLczlnQlBwcEVCRVZ4L1VDRDkwTEtDaHRJaU4xanYrTERoOXhXYS9V?=
 =?utf-8?B?ZWRnaTgrYmRhOTF1eTIvd1o4eFhJeWxhc2syNU9SUVQzNmtlcGlOcUhkYytI?=
 =?utf-8?B?a094OGFFNkNJSW9nekNQMC90a0hvb2VMOUZDZ0dlaWtSWSs2UVFKbVdiN0ZV?=
 =?utf-8?B?NEt0bkhsclhsWll1Y0dBQnQzYnI2TG05cE1ZUmdybjVkcldWTVhUZ2JwV2w4?=
 =?utf-8?B?U1JIcjlDNGtaYnZwNXZSZ2tPNjRWN3dHcHdOUDFBSW9nUHRCeDhYbWFEb3Rm?=
 =?utf-8?Q?q7jcpWwWxv4oH9q7hBcnkTb3i?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec1b4adc-5650-403e-748a-08dba97cd5d5
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 17:16:23.3765
 (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: p1xHvxRyKVXKnLa6ChVJAd63zcARAhIER5N8t8shjRPR7hHIOMGwXg6vLxyrZ0ZVTuswjF9RpkxYg6rk/UEaSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7627

Hi Michal,
On Tue, Aug 29, 2023 at 09:17:37AM +0200, Michal Orzel wrote:
> 
> 
> On 25/08/2023 10:02, Vikram Garhwal wrote:
> > Remove __init from following function to access during runtime:
> >     1. map_irq_to_domain()
> >     2. handle_device_interrupts()
> >     3. map_range_to_domain()
> >     4. unflatten_dt_node()
> >     5. handle_device()
> >     6. map_device_children()
> >     7. map_dt_irq_to_domain()
> > Move map_irq_to_domain() prototype from domain_build.h to setup.h.
> > 
> > Above changes will create an error on build as non-init function are still
> > in domain_build.c file. So, to avoid build fails, following changes are done:
> > 1. Move map_irq_to_domain(), handle_device_interrupts(), map_range_to_domain(),
> >     handle_device(), map_device_children() and map_dt_irq_to_domain()
> >     to device.c. After removing __init type,  these functions are not specific
> >     to domain building, so moving them out of domain_build.c to device.c.
> > 2. Remove static type from handle_device_interrupts().
> > 
> > Overall, these changes are done to support the dynamic programming of a nodes
> > where an overlay node will be added to fdt and unflattened node will be added to
> > dt_host. Furthermore, IRQ and mmio mapping will be done for the added node.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v9:
> >     Move handle_device(), map_device_children() and map_dt_irq_to_domain() out
> >         of domain_build.c
> > ---
> > ---
> >  xen/arch/arm/device.c                   | 293 ++++++++++++++++++++++++
> >  xen/arch/arm/domain_build.c             | 293 ------------------------
> >  xen/arch/arm/include/asm/domain_build.h |   2 -
> >  xen/arch/arm/include/asm/setup.h        |   9 +
> >  xen/common/device_tree.c                |  12 +-
> >  5 files changed, 308 insertions(+), 301 deletions(-)
> > 
> > diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
> > index ca8539dee5..857f171a27 100644
> > --- a/xen/arch/arm/device.c
> > +++ b/xen/arch/arm/device.c
> > @@ -9,8 +9,10 @@
> >   */
> >  
> >  #include <asm/device.h>
> > +#include <asm/setup.h>
> >  #include <xen/errno.h>
> >  #include <xen/init.h>
> > +#include <xen/iocap.h>
> >  #include <xen/lib.h>
> >  
> >  extern const struct device_desc _sdevice[], _edevice[];
> > @@ -75,6 +77,297 @@ enum device_class device_get_class(const struct dt_device_node *dev)
> >      return DEVICE_UNKNOWN;
> >  }
> >  
> > +int map_irq_to_domain(struct domain *d, unsigned int irq,
> > +                      bool need_mapping, const char *devname)
> > +{
> > +    int res;
> > +
> > +    res = irq_permit_access(d, irq);
> > +    if ( res )
> > +    {
> > +        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
> > +        return res;
> > +    }
> > +
> > +    if ( need_mapping )
> > +    {
> > +        /*
> > +         * Checking the return of vgic_reserve_virq is not
> > +         * necessary. It should not fail except when we try to map
> > +         * the IRQ twice. This can legitimately happen if the IRQ is shared
> > +         */
> > +        vgic_reserve_virq(d, irq);
> > +
> > +        res = route_irq_to_guest(d, irq, irq, devname);
> > +        if ( res < 0 )
> > +        {
> > +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
> > +            return res;
> > +        }
> > +    }
> > +
> > +    dt_dprintk("  - IRQ: %u\n", irq);
> > +    return 0;
> > +}
> > +
> > +int map_range_to_domain(const struct dt_device_node *dev,
> > +                        uint64_t addr, uint64_t len, void *data)
> > +{
> > +    struct map_range_data *mr_data = data;
> > +    struct domain *d = mr_data->d;
> > +    int res;
> > +
> > +    if ( (addr != (paddr_t)addr) || (((paddr_t)~0 - addr) < len) )
> > +    {
> > +        printk(XENLOG_ERR "%s: [0x%"PRIx64", 0x%"PRIx64"] exceeds the maximum allowed PA width (%u bits)",
> > +               dt_node_full_name(dev), addr, (addr + len), PADDR_BITS);
> > +        return -ERANGE;
> > +    }
> > +
> > +    /*
> > +     * reserved-memory regions are RAM carved out for a special purpose.
> > +     * They are not MMIO and therefore a domain should not be able to
> > +     * manage them via the IOMEM interface.
> > +     */
> > +    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
> > +                     strlen("/reserved-memory/")) != 0 )
> > +    {
> > +        res = iomem_permit_access(d, paddr_to_pfn(addr),
> > +                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
> > +        if ( res )
> > +        {
> > +            printk(XENLOG_ERR "Unable to permit to dom%d access to"
> > +                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
> > +                    d->domain_id,
> > +                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
> > +            return res;
> > +        }
> > +    }
> > +
> > +    if ( !mr_data->skip_mapping )
> > +    {
> > +        res = map_regions_p2mt(d,
> > +                               gaddr_to_gfn(addr),
> > +                               PFN_UP(len),
> > +                               maddr_to_mfn(addr),
> > +                               mr_data->p2mt);
> > +
> > +        if ( res < 0 )
> > +        {
> > +            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
> > +                   " - 0x%"PRIx64" in domain %d\n",
> > +                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
> > +                   d->domain_id);
> > +            return res;
> > +        }
> > +    }
> > +
> > +    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
> > +               addr, addr + len, mr_data->p2mt);
> > +
> > +    return 0;
> > +}
> > +
> > +/*
> > + * handle_device_interrupts retrieves the interrupts configuration from
> > + * a device tree node and maps those interrupts to the target domain.
> > + *
> > + * Returns:
> > + *   < 0 error
> > + *   0   success
> > + */
> > +int handle_device_interrupts(struct domain *d,
> This needs to be renamed. AFAIK you agreed on map_device_irqs_to_domain().
Yeah, i changed this in v11.
> 
> > +                             struct dt_device_node *dev,
> > +                             bool need_mapping)
> > +{
> > +    unsigned int i, nirq;
> > +    int res;
> > +    struct dt_raw_irq rirq;
> > +
> > +    nirq = dt_number_of_irq(dev);
> > +
> > +    /* Give permission and map IRQs */
> > +    for ( i = 0; i < nirq; i++ )
> > +    {
> > +        res = dt_device_get_raw_irq(dev, i, &rirq);
> > +        if ( res )
> > +        {
> > +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
> > +                   i, dt_node_full_name(dev));
> > +            return res;
> > +        }
> > +
> > +        /*
> > +         * Don't map IRQ that have no physical meaning
> > +         * ie: IRQ whose controller is not the GIC
> > +         */
> > +        if ( rirq.controller != dt_interrupt_controller )
> > +        {
> > +            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
> > +                      i, dt_node_full_name(rirq.controller));
> > +            continue;
> > +        }
> > +
> > +        res = platform_get_irq(dev, i);
> > +        if ( res < 0 )
> > +        {
> > +            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
> > +                   i, dt_node_full_name(dev));
> > +            return res;
> > +        }
> > +
> > +        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
> > +        if ( res )
> > +            return res;
> > +    }
> > +
> > +    return 0;
> > +}
> > +
> > +static int map_dt_irq_to_domain(const struct dt_device_node *dev,
> > +                                       const struct dt_irq *dt_irq,
> > +                                       void *data)
> Parameters are not alligned. Should be:
> static int map_dt_irq_to_domain(const struct dt_device_node *dev,
>                                 const struct dt_irq *dt_irq,
>                                 void *data)
> 
> > +{
> > +    struct map_range_data *mr_data = data;
> > +    struct domain *d = mr_data->d;
> > +    unsigned int irq = dt_irq->irq;
> > +    int res;
> > +
> > +    if ( irq < NR_LOCAL_IRQS )
> > +    {
> > +        printk(XENLOG_ERR "%s: IRQ%u is not a SPI\n", dt_node_name(dev), irq);
> > +        return -EINVAL;
> > +    }
> > +
> > +    /* Setup the IRQ type */
> > +    res = irq_set_spi_type(irq, dt_irq->type);
> > +    if ( res )
> > +    {
> > +        printk(XENLOG_ERR "%s: Unable to setup IRQ%u to %pd\n",
> > +               dt_node_name(dev), irq, d);
> > +        return res;
> > +    }
> > +
> > +    res = map_irq_to_domain(d, irq, !mr_data->skip_mapping, dt_node_name(dev));
> > +
> > +    return res;
> > +}
> > +
> > +/*
> > + * For a node which describes a discoverable bus (such as a PCI bus)
> > + * then we may need to perform additional mappings in order to make
> > + * the child resources available to domain 0.
> > + */
> > +static int map_device_children(const struct dt_device_node *dev,
> > +                                      struct map_range_data *mr_data)
> Parameter is not aligned.
Fixed the style here.
> 
> [...]
> > diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> > index 19dc637d55..1a052ed924 100644
> > --- a/xen/arch/arm/include/asm/setup.h
> > +++ b/xen/arch/arm/include/asm/setup.h
> > @@ -165,9 +165,18 @@ void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
> >  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);
> Remove the rangeset parameters. AFAIK you'll introduce it later, so this is a mistake
> causing the build to fail.
Fixed this.
> 
> > +
> > +int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
> > +                             bool need_mapping);
> Don't forget to rename.
> 
> 
> With all the remarks above addressed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ~Michal
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 17:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 17:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593208.926162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOoQ-0000ck-99; Wed, 30 Aug 2023 17:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593208.926162; Wed, 30 Aug 2023 17: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 1qbOoQ-0000cd-5y; Wed, 30 Aug 2023 17:17:02 +0000
Received: by outflank-mailman (input) for mailman id 593208;
 Wed, 30 Aug 2023 17:17: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=dzxB=EP=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qbOoP-0000cG-7j
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 17:17:01 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e83::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06f3ddf6-4759-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 19:17:00 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by IA0PR12MB7627.namprd12.prod.outlook.com (2603:10b6:208:437::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug
 2023 17:16:56 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6745.015; Wed, 30 Aug 2023
 17:16:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06f3ddf6-4759-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WDYt1dYd2u+ch9Du72uQ0woccapbemsjGXw2RBtk1W8HDiJAwgK35R2w65eaxVmubhULn3JonMvxsseLuLkdo/dVwhRR1BnLi5YsN0vM3/izhO2D7rO7sD53Tw3lSl5egfOq7uPAk5xuPswN9QKV/OxnvuYlAswDKNXQiX4ZhfE4rOWpYwmN7XSan415+DsXBR4ODy0ScQy/WrsMMb8ZyG2niAg5s2qai3NMXBw+5Z8ytoRyPZR67eBgT0AYS8V+VYfbWPZb63DYyvy/685FGmyxXUlHs5LKmcCuIbH8OU08BX9e5N5wgrK4aaHRrY5qL+IQbV4tX+MRGd1ZmlEQ9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oEsr1moD4Y950Qgpf0xjDD1hVT+61TUMJzSqicrDlDE=;
 b=FSg0TrSv/EnZX59RcDCJYkDdvc6TPF8BBo/OijCDjDfEDM4qtZtJ20KlXR8vSO7bIC3YsuMppJLrgWP4LHasfwDnNGAER96QgoBrR8+HZBg0SuhGT2Ionl58IahGhGG+cwnjxulpmTWDsJYLfPSUOh0zcy5Nj92X/Om8Mh6OJFlXJM5oMjBm/YafDYfDTU2Dya4pAMGe14uhreRqjparV4Zzmn5ylfgW0Dn37fi3CQWXbRMFgL3sM1bbFP6jIWzd336HmUIg1ivuCL6Yolp8G1b/3niyuNSToWoBVM67QZKSKtRemypaJGV/CGdptE2qfsLC+x6myEhYkoj8XMxI6g==
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=oEsr1moD4Y950Qgpf0xjDD1hVT+61TUMJzSqicrDlDE=;
 b=w8UhyfCFJ/tc0ya0zQVCnG3696YdUfCVUlAz+JmOq8U/bkC7fxQmvRrH4+F4xSj8eCsJp7M2OaKHXRHh2ss+3sDVRbhm9df0P1NVkw9uwNggi4g6IzQ4enRTzhx7D2uwksVjk/GZ4Mb9SFm96uSKhcdVK9z8RFH1CGwF2SaamVY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 30 Aug 2023 10:16:53 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN][PATCH v10 05/20] xen/arm: Add CONFIG_OVERLAY_DTB
Message-ID: <ZO95haS13aD6VQpY@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-6-vikram.garhwal@amd.com>
 <68c5a544-0486-d2ac-28d3-1feab2502f2e@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <68c5a544-0486-d2ac-28d3-1feab2502f2e@amd.com>
X-ClientProxiedBy: SJ0PR13CA0128.namprd13.prod.outlook.com
 (2603:10b6:a03:2c6::13) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|IA0PR12MB7627:EE_
X-MS-Office365-Filtering-Correlation-Id: 77bd950a-b15e-4cf0-7b19-08dba97ce989
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rf7+o92ou1zlyqmC9nsX/+PoL+ECYs8Q80+1Gr32zI1I+QNCz3RjEqk1LZ3UvlLplNg8U6o+3YKoE/UCt2yPkCdH8DC8pdkH3dGZcMm4rlwgrdzcZIIWthPmZeBM/S8JWVr1BHkyymQ4gnSRDxBGYYKu0TzJdvkaI5Q89iALiGcAQ3pW4mx8EX2CbbwHmeQro389Oo8vyXg06SI64Eedd1EdaV4sZdIdfIIyZC69XReaSB/fWPEXp2NxSyZP/I1GQOgmZnyJOoHa9saTaVFDC7DJ/adr+rtQ0JqZqWSli1iC1HV5XsSN0FXgacH/Xl1x9Va0WfsV4xJ3rDHn1JB7XboYcKZApuLCG2ThcfRjKmTZaWcr7KCV275T3fQ2+zLQVSRV1N/p+cROw2N00momCAG/5p7nCmQzYhDVe64nsE1+T87lOjgxzlOWLY084Gs2AUN13UiOEr8IsJ4RJbhjA84bgPf7mKdDlI7lgrC1IMEy7a5UlkXYwEbnl/2RAJ0sqwdNTFgJ8BvwjzGt7+ufD9uD+Ws3nTo1zxJ9G5lUyACjFaY7HEP+D8o1dnYv0xtI
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(346002)(396003)(376002)(1800799009)(186009)(451199024)(6506007)(6666004)(6486002)(6512007)(36756003)(86362001)(38100700002)(2616005)(26005)(4744005)(2906002)(53546011)(478600001)(5660300002)(66946007)(6862004)(66556008)(4326008)(41300700001)(8936002)(8676002)(44832011)(83380400001)(7416002)(6636002)(66476007)(37006003)(316002)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHdOWnlndHJ3TVFCWk9lTFdzU0llMUF0NE1iTlo4WkttQ09QZmp2clNEYUJr?=
 =?utf-8?B?NGYrVTh4TDhncXd4ck9UMzk2VTcyeG9sbTlvR3JzZUxyS1h6NGNCY1YrNE5G?=
 =?utf-8?B?SDZKUXpFT05qa1gwczNVQ2pjMFhldDFKdFQ0ejVEK0tWMXY2RUxjc0d1dmtB?=
 =?utf-8?B?SlhlczhNUXNuNU1GNnF6QllKZ2lnVE5WcXRjVlNoSzhXQlR2bXVZdE5rRms4?=
 =?utf-8?B?alVxTytmQVBjc1kwQVZJa0FBYllBZ0pzcHdvN0p5UkdlK2E1aGJpcjFSSVU5?=
 =?utf-8?B?Q1ltM3dlT2pyS0Zrd2NyVmo2M3pMRjE2TWZHMVpjb21GbmZBWnp2Vll5NkZy?=
 =?utf-8?B?SlVRL1c1WThtVkRjM1Z4bk5pUFRtNW9lSmd2REpjN3JTeGYwcnBHRkpPaU1p?=
 =?utf-8?B?V2xzc2pDeHZ4T2xkWjg2QzBHbVBQZTllZ0xPbEVCUTdoNjd4djVzSzFDWDZr?=
 =?utf-8?B?M0tvRk1WZnlWbG41SlJOZElEZzhkNkJlVWtCL1JCdFRnY1U0NDBCZzBKcGo2?=
 =?utf-8?B?R1phaG9BNHEwZC9ONGEweHpVdGczUjJ5WlpJQUlzM3BhT0dDemgrVFFON0h6?=
 =?utf-8?B?QjdJS2pSWWZWRDM3bndKbnI5OWZTM0gvUk9kbml4SXRTaVlObXQzVkptelhX?=
 =?utf-8?B?eDErTzRtZzZ2T2J6OXUrTkc0bWJlRjQzbmd1bGRySjd4eVhORUtUbkdOL3dY?=
 =?utf-8?B?ZFo1T2FpK0hRbTc2bldWRjdxRzBhSVQyNnh1Qkovc1gyck9zOFh4YncxZFFB?=
 =?utf-8?B?ME9meUNCcFFUREk5RDJGOG9OOGI3RnY0RXgwdGRmbUU5L24ydXkwczdIRFlw?=
 =?utf-8?B?b0RFVGd1a3VYTW14RnBiUHRrQk8wZVYwQXJnQjB3Vno2KzFLeUNmQ29DUmJj?=
 =?utf-8?B?dzV2SHpIUnZaRXZpN0kwQzU4NkZoY3RicEd5NHZJelZHdWVyVUc0QTExQjZ0?=
 =?utf-8?B?bHcyd3lIeE5LNmZKcEprUm5zb1doWTF6YlNHcndFMUk0akNyNTEzbytITXk1?=
 =?utf-8?B?NjJzZTVLcnVMQlZaWGllRXhWeWpmQ1Y1U2pYWDk0V2t1djJXS3l2WmtOY080?=
 =?utf-8?B?RnZobHQzWXBtaTEzRk5sZC8zTHg1bHE3NHVhaWcwa2plQjNvRDJBekxxVlo0?=
 =?utf-8?B?ZjVsY3NXSjd4bTRiSndDNEF0c0lRMU9mdHZOWFVVVzJJbjZUOWdWa29LajE4?=
 =?utf-8?B?cjBULzFXZFZGYi91ODJhOTFNbnVVUEhpMGRzNGZZMGxJRnArRElmVzJDSDh2?=
 =?utf-8?B?dGsybndETlUxSVdwZjB4YkthY1dJV0pKTTNHRHFKZGdqaEVkdmpRSWNiQS9s?=
 =?utf-8?B?cno3QWFSZlRxTzlxNWkyTUlSeFQ2RWR5cHAzTlVIY21QTWlLWlgxRkFTWnVu?=
 =?utf-8?B?UmlYV0I1OUVPU0hhOXhvRzlRaTQ5a25qRzlHV2RqT0VXYWJlbHpvU0dzNFZh?=
 =?utf-8?B?U0FqL0gwZDZWYlBHd2xBT1EyN2x2MWpaOTZvZDFMQ01xQldLVHg3ODRYWDlL?=
 =?utf-8?B?VVJiVWdRQmpudGhIdGFkOHVzZTNXa3laZXdGNThlMXBjYnpnaVlQOWhHYTZR?=
 =?utf-8?B?RTY4SkNab1k0WmFhYjFzV2E5VXozMUErUk4xR1VGSnpkVTlSUVA5WXVJa3JN?=
 =?utf-8?B?MmdPVEhrTWt1ZzhNQmhmRlRBT3JuWGZLdTY1YStPdUM4OWt1Y3hqbWNNdEs2?=
 =?utf-8?B?bFhNbExCTi9lcWNhNXRuVHFIdVExaDJRYStRNFlrcktwaUZjQlNFTk5kMWVN?=
 =?utf-8?B?cFRPeHJXVlo1a0F0K05WWjUzOUJKdGdxT3lVOGVJdGMzRGVxeGd3dVRBbE8x?=
 =?utf-8?B?VnUwRGZHMlBHdFd4UHNxU0U2cTFJWFVJNm4zSUZFQWxWTlJaSVdkWUVmMTN3?=
 =?utf-8?B?S1F2amRWUklFWTB3VWl6VldCVTZjSGlvMWdZYXNkdncwbFY1emN4WlcrMHNH?=
 =?utf-8?B?VWhNM2RxNFZoQ0lqNUJnWlpzNlFRcnpjNGVBMjNQaEM2eUVBK01DU3RQaVRP?=
 =?utf-8?B?T2Y3Q0cyM2JFNkVDOWlDMFNKVTdZUDMyL3VJanFhVGxYU0cwOGZSbXZqTGdh?=
 =?utf-8?B?YjhDL1Q2OUc5SW5zTEtJTFNxRjU1WTAwYXlZUlBIL09yczRlTjBuRWc2a2hy?=
 =?utf-8?Q?R7XYjtCbNWIHExLiCJJuSFVBd?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77bd950a-b15e-4cf0-7b19-08dba97ce989
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 17:16:56.3678
 (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: A9YzKeOeuVO7k5Ur3wt8rmrQnr5hhwSfqACiYpBpxgAMIJeW/8cmz7/zNbKnfLOsfF+nhD603A0uj5+2hQWPbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7627

On Tue, Aug 29, 2023 at 09:23:55AM +0200, Michal Orzel wrote:
> 
> 
> On 25/08/2023 10:02, Vikram Garhwal wrote:
> > 
> > 
> > Introduce a config option where the user can enable support for adding/removing
> > device tree nodes using a device tree binary overlay.
> > 
> > Update SUPPORT.md and CHANGELOG.md to state the Device Tree Overlays support for
> > Arm.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > Acked-by: Henry Wang <Henry.Wang@arm.com>
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> > 
> > ---
> > Changes from v9:
> >     Fix style.
> > Changes from v7:
> >     Add this feature as "experimental support" in CHANGELOG.md
> > ---
> > ---
> >  CHANGELOG.md         | 3 ++-
> This patch does not apply cleanly on latest staging so please rebase for v11.
Rebased this for 11.
> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 17:21:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 17:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593218.926172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOsQ-0002Sk-PW; Wed, 30 Aug 2023 17:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593218.926172; Wed, 30 Aug 2023 17:21:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbOsQ-0002Sd-Mk; Wed, 30 Aug 2023 17:21:10 +0000
Received: by outflank-mailman (input) for mailman id 593218;
 Wed, 30 Aug 2023 17:21:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dzxB=EP=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qbOsP-0002SX-94
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 17:21:09 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20612.outbound.protection.outlook.com
 [2a01:111:f400:7eab::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a02ff8c-4759-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 19:21:07 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM4PR12MB5231.namprd12.prod.outlook.com (2603:10b6:5:39b::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Wed, 30 Aug
 2023 17:21:02 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6745.015; Wed, 30 Aug 2023
 17:21: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: 9a02ff8c-4759-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g/Wh1fjjtuqT+PbIAjg4lfA1fzgH+QAB2Lm1xSDHOOveIZzzFRIpWzex/9CTCJznDBoHpkCOvrBWUftPOQCU8BDba+8rqWg4O+TO46+LgDhryHRLCyGx1H43He1F5KvLCCJdesaY5crZuq8vYIdElF9UUkuOq3AkuvgORtHK1uyom4nWX9yYAN7Qsv9ghEiD/rn641LwgCZQ9j6YNXRS+vEb+YidJh0JQn4LdYq2k7orTVuY45oanwiRmKZVcOgta/9YxulnRKULiM47orcwRC5OKiULiDoeUQRGFUQztNfsA3KmLDDiRt8ulrN7jwa7HhREQj5C90N9ERxMrdbJmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z7VFgtWVVpZ8oUKynHRGq+XOwFCKH3v3MXtcKBLFT+U=;
 b=Gp7x+5vMIjbPCV8zdXtCS9qZQUhQaZ8lN4dQIX8gf5rO2WHg2Dq6UCm6Cb1cHwToN758PDoRcFzKxlu7tcurGdFFVBPVzh8ukQ/xGjEpSXlTy/ZeP/MIUlUmN6isJBImai28Su/UXRAOGdCP0zerJr8YfUyUNV5IA97dO/29chJzekQ/6QiSHczHZA8Fet1XqiznscH3wcUa/K4f0AGNvu4CvbXGhv8433gVXriI/FTtufKClhAzdf+sXDCoK+ZVQk8OjRbfipM6r4vV/FmtNpxU4Xg3KlJBVpWbp0UJTEdMjXpQLBseUZKuU63jGWB1qyxhq8pdM/AEFQarT7mUQA==
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=Z7VFgtWVVpZ8oUKynHRGq+XOwFCKH3v3MXtcKBLFT+U=;
 b=v6bXE/mmBnISuB+CVMesJhSNmIVuqhIhRkTjZTX84fa8zd7zpkzTP4yYKWvpk9/zoTYxLB40w+H9HBwLslL0tzGHkU+u7bbUZc6ecUI54ohLqqPxCjVGpdbq3KhxjLTdxLZvB9i1q83qIGzY215Y5jZ02GUmWJ0T8j6MrTKrRuY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 30 Aug 2023 10:20:59 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
Subject: Re: [XEN][PATCH v10 09/20] xen/iommu: Move spin_lock from
 iommu_dt_device_is_assigned to caller
Message-ID: <ZO96e6stC178o3eo@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-10-vikram.garhwal@amd.com>
 <301f4799-ff57-c697-94ab-62eb39397c44@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <301f4799-ff57-c697-94ab-62eb39397c44@amd.com>
X-ClientProxiedBy: SJ0PR03CA0346.namprd03.prod.outlook.com
 (2603:10b6:a03:39c::21) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM4PR12MB5231:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d8ff95b-e798-48d9-1abd-08dba97d7c5a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1Sc27r3LIdrT2FubnGmFGUJ6gz5eTusJy10kkundHaeyhDYwbaMyGGrDA9+lns/YpWM3rONzqvCEChu7R1gWhNlmYdHo+0X6j+yghJwHZlBPeU528e2sZmTioy3EL95/gEnw8XoTsuYojxP+dcPyZ1NpYqNMqOOHhjbL+JMXbg3FK9ZvjZNOxJ8XgSBSrGyRbMG+wolmywbZ+f6pIc8i3JekMNC79EhMzvjB6AhFOY1SGoiCrTkcanK8+o4DI0HtmZKQ+7D4GUyQp0U80Mko1pAb9F7luPdw+UJlJ/5EVY9/rDSar+3Cs5cD685evboiRDb++LjZWI7pySMI3VP4vWnldClUsWEmB7Wefaofwck29ChgsFUTvu4Shsc8RHShSB1z/8vdp01NlCdnhJyARtQtYqlY8rnZK/c8gqAF+fZAHk0gnCITY+JAStoo602YuJddWyZjtn2PpftybReqgpiV18BSxDnp3aLFJyFIcAMaqPFuJkWJ0x2Q4eQ933/mIHxX8dXvs6oziii9gcAvYyshKAwJ7bSJlWusVuZUNLNtC6U5IIYqmgRuvdfUNIfa
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(376002)(136003)(396003)(366004)(186009)(1800799009)(451199024)(6506007)(6486002)(6666004)(6512007)(53546011)(83380400001)(26005)(478600001)(6636002)(316002)(41300700001)(37006003)(66556008)(66946007)(66476007)(4326008)(5660300002)(8936002)(2906002)(6862004)(8676002)(44832011)(36756003)(86362001)(2616005)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eEU4bHl3U045UzY5VUhmb3JIdWZadVZIQkVsZ3FEY2NpWDR2L0o5ZUdvazcv?=
 =?utf-8?B?TW83YmdQTUkwUDlOa0w3TG1XYitRV3dHSVp1RXBRNjBOK3JJeGppc3BxdExk?=
 =?utf-8?B?NFE1aDR2a3RVNHhRTFlKUG1BWWo4aHk1Z2ZESnZIVTdXYno1SmM4c2F1K0Ir?=
 =?utf-8?B?RFFqQVpLMzN1bUtyOWZOckxwL2Q3bW90eFFsanBBTmV5ZDRJclNwU0xZdTVY?=
 =?utf-8?B?SFZHN21wUXdxc3EwVnVHWFA2TFkrcEdwRUdlQXhnWUg0bDBPMjhOM01kKzA2?=
 =?utf-8?B?c0h2L3YxSHRQNmY1cldFUE5NKzNJalNPMHAvZWY0N2F4cFZueTh5UkltdzNo?=
 =?utf-8?B?TTlXZ3pSL0tsa2lDWGtQOFVZTWV0cE5UdjM1by9kVFRDbVJRNEZzaldGQ2l4?=
 =?utf-8?B?TkZMb2wyUmJjVThkayticTFSWk8rZUxFUlFNTnhzZXRmYVdEZFFLY3ZnTmR2?=
 =?utf-8?B?MHFaczdQWnI4eUc1RVpkcjJwcWFURjhxYnh4MWp4T3k1UlFzazR3amJJWitt?=
 =?utf-8?B?NGhZRWxXWGFnTit2WlJiZkdPOHVYNHlScTdEMjV0V1ZVVGQxWW5ZNWl1RXJ6?=
 =?utf-8?B?UlU0MlNqQlJKT05pRERnQ0NXak5zTTlPQm1Bb01RNHk4VDJoRncrKzJaOFVS?=
 =?utf-8?B?Q1VVak5HNlNCemlTYmJBTWFFYStoajhjZTNPYitvb1Fnbk5RbkRXcWJDeUlO?=
 =?utf-8?B?SXJmWSt4dTNJaTZHSlRZNTB2YVlyNGV4MGZ1amNMamE4ODhYMHdWemhpZmlX?=
 =?utf-8?B?VElOalB5UHZsdUphZ3pEeXV1K3kwRlNNK2pqQlIzdGNkY1diaDlwYlJvc3BY?=
 =?utf-8?B?bjRQcUh4alVnekJsaVpnUmFITExqZ1crcnUzenhHMVJwanJWKzFzMEV0NjV2?=
 =?utf-8?B?a2JVYkcyN2RqNThnY1BzTkhNZHpMMitCOVU5c2pZVmprYkozZ3VOam5YOXFy?=
 =?utf-8?B?TjBiVlMyZ3l2VjZ4S1NZTTljZ2pwcS9CeEtEWlBmV0RndmJlaXV6dHFxKzdP?=
 =?utf-8?B?UmtUWWsxOGsrb1JsTmlscHVWMEtiVzdsT3JOMFZnT3NRbjZrcllBQ25hZndp?=
 =?utf-8?B?WVloWlcxN0tWTEkwR1g5TUtBMXVvN1RUUkF4R2o5L3VjbGszaEljNzlCOXFi?=
 =?utf-8?B?Z3FuajZtWlVpM3lvbm55NmphVndtZFpsaXVZOWxwcnB5djdtMTkzZUdxbjJy?=
 =?utf-8?B?bXpTa2dUWk16dTBiQ1lWWVRxTFJJNGN0SGhBc0NLUFU5Z3pqSU04aTJ2M21Y?=
 =?utf-8?B?N3NZRHo1cHBGbWRDa29zN3ZPV2RDUWlUZUJDQzJzRXhQNzR4K29GSWFZaGJs?=
 =?utf-8?B?UklzQmUxR0krOGN2Nklnb1FIelVoOWhBbUN5Q1lWaVc0RW9DUmZHOFQ5cjQx?=
 =?utf-8?B?YkY5OXhPYjNXb0U4K1VFdGZHeFpVMS9iOVpVbzFjdG5NemFMalNBTzZnMk0v?=
 =?utf-8?B?UmordnJuTDJpSDlPdWxoc1E3SnpTZ2tRN3Z4Y1NleGNiREluaGJTUHhBZlB2?=
 =?utf-8?B?aVZScjJGSk91UnUvSFdQcHQ0Q29VQlc1YTA4UXNkTm80dnpwaGMrckxLYm94?=
 =?utf-8?B?Nlg3YWtaZ3lTV0gxekNoRXdvdnBNTVZsV2xrbjdMdklZcVlRcWI1Wkduckta?=
 =?utf-8?B?NlByNVNVTkswUjFkYVlOSU84Y1NIN280TWFJN1VXYjJpRHZvMnJLUzhVK0RC?=
 =?utf-8?B?TExCdnRnYkltWkNLZGZxTjluTDVVNjA2K29oc1duTWxhQVk3emhIWUpEclBj?=
 =?utf-8?B?OFdpUVBlM0NLbEFFV04rSzJRcUFkakhiWkI2UDlUU1p5ek4xTmxsUWVxazcv?=
 =?utf-8?B?bU5CSWhjYnBaMnpFWExMT2NqdW1ZeGVxa1QzdXNWWTJ2U2U3RUFRWWZtNlpo?=
 =?utf-8?B?UTZFV29ENGZ3SGZMR2JnVzBpWCtYOTZzbGVaV1JvMkJhQkR0MVpuN3BERC9P?=
 =?utf-8?B?U0tJRzJ1by9wVWtYOVZyUlljeXptZ0J6eHk0am0rRTZpbnlJYkxKVldyZ2p3?=
 =?utf-8?B?d3VObG5pOWkvL2Rwdko2N1VVaUlzTkpkdi9xVUZuZ1p1NkN3TlQ4NCtIOStx?=
 =?utf-8?B?MDNmeVkweU1iZXo3U1MzaUtKMTJIRmw2RmZKS0QzZlFZWTFQODZFa245bVli?=
 =?utf-8?Q?6wXjoAeeCPQjoZjt4wcLw0shT?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d8ff95b-e798-48d9-1abd-08dba97d7c5a
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 17:21:02.7089
 (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: VcXzf2BgTW79WQCBGIYmVRP/G2Z2xixKVe0VAmuf1lVIg8wK/xfVIQ8jT+kQ8uRJxcOx5eDoaLiq7WvdqzRKmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5231

Hi Michal,
On Tue, Aug 29, 2023 at 10:05:55AM +0200, Michal Orzel wrote:
> 
> 
> On 25/08/2023 10:02, Vikram Garhwal wrote:
> > Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_locked().
> > 
> > Moving spin_lock to caller was done to prevent the concurrent access to
> > iommu_dt_device_is_assigned while doing add/remove/assign/deassign. Follow-up
> > patches in this series introduces node add/remove feature.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > 
> > ---
> > Changes from v9:
> >     Make iommu_dt_device_is_assigned_locked() static and delete header.
> >     Move dtdevs_lock before iommu_dt_device_is_assigned_locked().
> > Changes from v7:
> >     Update commit message.
> >     Add ASSERT().
> > ---
> > ---
> >  xen/drivers/passthrough/device_tree.c | 16 ++++++++++++----
> >  1 file changed, 12 insertions(+), 4 deletions(-)
> > 
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 1c32d7b50c..5d84c07b50 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -83,16 +83,17 @@ fail:
> >      return rc;
> >  }
> >  
> > -static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
> > +static bool_t
> > +iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
> This does not apply cleanly due to recent change from bool_t to bool. Please rebase for v11 (the function
> should then fit in a single line I think).
Fixed the changes here and made it one-line.
> 
> >  {
> >      bool_t assigned = 0;
> >  
> > +    ASSERT(spin_is_locked(&dtdevs_lock));
> > +
> >      if ( !dt_device_is_protected(dev) )
> >          return 0;
> >  
> > -    spin_lock(&dtdevs_lock);
> >      assigned = !list_empty(&dev->domain_list);
> > -    spin_unlock(&dtdevs_lock);
> >  
> >      return assigned;
> >  }
> > @@ -223,17 +224,24 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >          if ( ret )
> >              break;
> >  
> > +        spin_lock(&dtdevs_lock);
> Why is this lock placed here instead of ...
> > +
> >          if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
> >          {
> > -            if ( iommu_dt_device_is_assigned(dev) )
> > +
> ... here, right before iommu_dt_device_is_assigned_locked()?
Moved the lock before iommu_dt_device_is_assigned_locked().
> > +            if ( iommu_dt_device_is_assigned_locked(dev) )
> >              {
> >                  printk(XENLOG_G_ERR "%s already assigned.\n",
> >                         dt_node_full_name(dev));
> >                  ret = -EINVAL;
> >              }
> > +
> > +            spin_unlock(&dtdevs_lock);
> >              break;
> >          }
> >  
> > +        spin_unlock(&dtdevs_lock);
> You could then remove this one.
Ok!
> 
> With the remarks addressed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 17:48:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 17:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593226.926182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbPJ6-0006Vm-4N; Wed, 30 Aug 2023 17:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593226.926182; Wed, 30 Aug 2023 17:48:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbPJ6-0006Vf-0w; Wed, 30 Aug 2023 17:48:44 +0000
Received: by outflank-mailman (input) for mailman id 593226;
 Wed, 30 Aug 2023 17:48: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=dzxB=EP=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qbPJ5-0006VZ-7V
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 17:48:43 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 739b8685-475d-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 19:48:40 +0200 (CEST)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH8PR12MB6914.namprd12.prod.outlook.com (2603:10b6:510:1cb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 17:48:36 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::8931:6349:9a02:48c1%4]) with mapi id 15.20.6745.015; Wed, 30 Aug 2023
 17:48:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 739b8685-475d-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k2QIa18aDhrNedooLSLS90HWIrGcwdNYzMBlhrZsJGTfbC+0plAYU1KFdi48xykBW1STnxMnmqL9JGk7Cz4DCLPkFnyryOIkKFkHEKRDRWfaKy/G6fMTlXjLTnMreD5NyPyLK9ICDkdCCOZWEgut+gsbMwLfTdNDOrhb33Y8sfOk9QVf9aLw6z2ct5Zj85sEgScVVj8EyKmj4HVujG/4POVc94d0tuxhiyhKIf9xYfRRoASDbzHk4eY40CMzI5VGgGSwUOhuza6quSPXYdTmPmwrC4+34WMsmSv07CrZxesS/jMwN7j4YjN6T6fzbOM8kiR0SUECoZLVe6FNuUqVuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mR/qB7NahkfYGvULqYo6+N0kz82f7BK2P8mXqDNzkjU=;
 b=Ly8giEu0CzM3Q61ktc6f+8HG0cliVt3kj96sDaJA4BeKVRszzj5KkMa9IyEdhPLHfaqoF2dY7MrupwWx8KClX9GXlmHyn65g4ghq9P8sJO3pDKAxqysCs7E3Sowp7a3qqQbigCPcljuyF781nqv7msZ7sbsrnOXGE/UqG4575pJRAUy55ixedb/zZ668oJ58EkREkVT8UyAuS/eWe9e6E5nCt+0b4mRnh1r90KVxiBclh+oUw7D3+oiHk4xR0SE+OMww7MIiU4dpFTC+/19CA4Mz5aNJBjd+ZbjPM108CDezixmX75hNZwL1QJPCuu1AwTySITMMu5Tboo6S48psFg==
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=mR/qB7NahkfYGvULqYo6+N0kz82f7BK2P8mXqDNzkjU=;
 b=y4j0vsskoP+3K7U/LpRJvI4GDLJfZxEzTfE/tD33FveOZF+fAUOFah72WtB2y8mtmYJv/IwMWBqtr3t9VIw6JD7V7dNEy2RhQm2lgUZ+m8GUVRzOo2865tnAyOoL9KyqxsYq4DHVgnAXPVxCBS4JXQE8PL/8wzIrQWixFnmavsY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 30 Aug 2023 10:48:29 -0700
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [XEN][PATCH v10 11/20] xen/iommu: Introduce
 iommu_remove_dt_device()
Message-ID: <ZO-A7ZERxISru9Ug@amd.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-12-vikram.garhwal@amd.com>
 <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com>
X-ClientProxiedBy: SJ0PR05CA0109.namprd05.prod.outlook.com
 (2603:10b6:a03:334::24) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|PH8PR12MB6914:EE_
X-MS-Office365-Filtering-Correlation-Id: 02f0c7ac-d4ab-4c14-c4ee-08dba98155e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CG+3qUTENaXcp959xbqAG9CEJc/Xdsj6djsx3Y1IHZ+taabSvKeX8qS8ZDIOTfGbfe8DMDp2f9Pk1Zo+smIDKiPF/pWI3x/70n0hvVzPKeCGcqFqtJikZS2IkeuJG3Kt0FeDh0EBWI8G7gDsruiXpAruyp27d4l9sdf2Blol5Qhl5xsjdkPr2nVCR79WbLg/BuGDBcAPhRNq8hjGeZ61c/o/0Sam/qPtn8PupWIXCaAqDeV+zftlSz3opyiUjtNBzH3Es0dYsQKy36d2tnAgqMYygAmO6MNhcLL9qHV0RoadP7168vEsADs6+KsSztk/mFL0plG7CavXyMp9Gvl/Vw0eHMcHq/hBjhSII47tpH1U/9eyYSYaoCdqPVqsNNWGUVzSY61c04moM1LHrt685aVLrb7KjNxk/GO+EaiPoqxKV7zyM/yIZ4j+fUPUbbAAPWkfuqnS+LoygnApM/S/0+WtrAfI6zh9yPVEmKXawC3/ca2h9DYYSyUVPCzB7owaGqmVd2dUCgKx0l73zdVNpWiuJAYjCpFGtWYkk0P/bLWC7mvqroQzMGMCoRubw4BC
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(376002)(136003)(346002)(366004)(186009)(451199024)(1800799009)(66556008)(54906003)(66476007)(66946007)(37006003)(316002)(6636002)(478600001)(38100700002)(2906002)(86362001)(8936002)(6862004)(44832011)(41300700001)(5660300002)(4326008)(2616005)(83380400001)(8676002)(6512007)(6486002)(6666004)(6506007)(53546011)(26005)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmhXNk5IUlFub0tSWVBwMlF3dmVjWTBJelJBQ1V0ODUrMGM1bEhIZmpIc2p6?=
 =?utf-8?B?U2RRUTZwN1FXRytSSHNFQ1h1OEpqRWI5YUZXeXRFZWUvQWk3cVU3NzE0bDhC?=
 =?utf-8?B?R25HNlRmMGhxNXZSeERycVdYcEpnRjVpT3FXdktkelVKQitpZGRkMGNsRlNx?=
 =?utf-8?B?aHRETE5hNjluYTRSMmFtaUtDcWNPYTB1Y25WalpTenIwREZQcUc5WEFSc2pq?=
 =?utf-8?B?Q3F3dUQzU3gzL09pNkZCODkxT09kN1pyYktVc2FXSUk1c2MrMzNvOVMvUlhT?=
 =?utf-8?B?Yi9lUWRPeG13UWxENTNQbkt0eUZlZFQ0RGNrUEZaTGExZitsUTNpdk5jUGI3?=
 =?utf-8?B?N3Y2YVlFWGdGZVRsV1V2emdhYzdxWnp4SEljdi92ZFMzRHNuaHhNQWQySXo3?=
 =?utf-8?B?S0JtUy9hdndiUzFZYnhHcmFQSktSZDVpOGFIZTNrQjJEck5TT1BWRGZ4NGE0?=
 =?utf-8?B?TUE4cWVjUWVxNEg5ak92MzFwc2VvQnJJQ0ExT2g0WUtNREFxQ21MTzdxNmYx?=
 =?utf-8?B?ZzcwbHJGc1FDNjFuMmF0R3BJa056TFlYcEM2Mldtdm9nVFE0MFZTek5RNnBR?=
 =?utf-8?B?Q3RiMGRJVkZEQU1RaGU0VlFtV3JPblNOaW1MT25lK3BCd1VIRElTMFdCbU1I?=
 =?utf-8?B?QWVBdmZFQTI5UHNQNkpKMEpzSkM4OFFqWHhjSVlnNHhiWVRqTWxoZ280VzRO?=
 =?utf-8?B?OU5taThiQUd0dkltVjF6VThMNE02ZmVJWWZBb3VUbUU1dUZ0K0V5bnRjYTdJ?=
 =?utf-8?B?WWZjckF0MmlaVUZYb3BtblVxY0NBNzRuaFdPQW1icDgrWi8weFY0VklLVXFH?=
 =?utf-8?B?WkN5aVlQVmtsMFNlRE1udHZaNktUeVhrUDV1WU5LMmM4N2YrOUJlS3hyNVhV?=
 =?utf-8?B?K1ZrUmxqZk92QnhGb3BhVlI0d0tHYzFpY2hiellyQVlSOEJ2WHBsRW9iLzcw?=
 =?utf-8?B?MHFCT21MeHFQemxUQ2o0emZqUGl4VmVaSjMwSlhmakNGbURLWDI2NmU4aHRw?=
 =?utf-8?B?VjRkaWRUa04rR0VXSzI3S2h1Q282SVF6dFpDL1oyZG5uZEZ5MVhIano3YWQ3?=
 =?utf-8?B?eHgrcnlRVzZpeFFoSXhOQkxwQ09uNzBvMHlSNGFrQUx5NEpvczdmb2pNdlp0?=
 =?utf-8?B?VU1RMmxvWnFIdTljVVRLNEt2MkZYU29aUlZxcHE4ZjRUNHViT0FCSTlhd0Zx?=
 =?utf-8?B?d1VVL3B4cURKSTlVMytOL1lCOTdmL0hYMU04MjJkMHFCSjk0R1RYRFNjYW1n?=
 =?utf-8?B?YTVyb3hFeWRuYXAxU2hXZGdhN0RzR2d2Z0crb2hLT1h1cXNjcjB0VWVPallx?=
 =?utf-8?B?OW1NdEFvZTJMQlBhVXRmZzhWTXh0TUdCb0VaL0hlU05oNzNDTDdjMGRHellw?=
 =?utf-8?B?Vld6MXdJdWpETlppbmVScU5WSEhDOUpZMGs2a245UlJZa1U1MitmdGM0b1VU?=
 =?utf-8?B?VlA2MFFzakJ5Z2dNUVlIbWxoaTBXTGtTSjlLcWVGbDdaNHVFU0lObnlvY2Rs?=
 =?utf-8?B?T3h2dDlweGVENm81NStOM3doNjZJN215ZjJRdmdxUTh0aDRFRUE2V3lackp4?=
 =?utf-8?B?RjE2cjdLclFLaEFlcFNNdytvRnVDNjRkbVBHKzYyeTRpeHNXcHVDUmFlWkpW?=
 =?utf-8?B?bEJjRkdpV05SMGV5SXZRNHBJV3g4S3p1YTJCS1BiYXo2alVVdmVGY1Iyb1Fm?=
 =?utf-8?B?RHl2dVh4K2h4aUxUdHoxeXVLVW1qQVF6b251SjVDeHo4dHFBZlFCR3hlR0pn?=
 =?utf-8?B?cDR6N2o3NHQxSnFHNmlnYUtMdTcrcDRjQWNwOXJ6Q0VZQmJoMnNRR1cwZkty?=
 =?utf-8?B?ekx4Y3pRMFFZeVhIWnpsUDA4MFdRK1NuUTd3Z2JPUHgrcjRIbWE2a1Jra3pT?=
 =?utf-8?B?U0pFazNvTGJ2eHRlbyt3RC8vdVZlQ2V4Y2QzN243N3hFLytPb1lNWWFKVWpX?=
 =?utf-8?B?bjhYV0Z5WVFtNElaZzVMNmhZcGdYRlkvV0dCL0E3TkNzUUJ6NGNCaXhDTWtm?=
 =?utf-8?B?N0hhUVpRbzBvOGtDNWxNNXFMZ0lYSys1L3BuMjlwZzYvck1uSHo3bUxTUUpT?=
 =?utf-8?B?T1k5L0xuT1JLNlNBL1Y0Z3RhQzBnVnAyeFl1YUY3WXlyblBOejZ6Qysza1NR?=
 =?utf-8?Q?LlPZGi6qjr2oevIqxfYm8SqJe?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02f0c7ac-d4ab-4c14-c4ee-08dba98155e2
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 17:48:36.2702
 (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: CEuov9r5H0HHeDxnP+ZeZZ3T53FL124sgGLxyZ6dNHuYig38S94qCHxaSgAyd9/AItMqTF0OAYQLY7LSWjCOwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6914

Hi Michal,
On Tue, Aug 29, 2023 at 10:23:30AM +0200, Michal Orzel wrote:
> 
> 
> On 25/08/2023 10:02, Vikram Garhwal wrote:
> > Remove master device from the IOMMU. This will be helpful when removing the
> > overlay nodes using dynamic programming during run time.
> > 
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> You don't seem to handle Julien remarks for this patch made in v9.
> I will forward them here to avoid answering to old version, but for the future, do not carry the exact same patch
> if you haven't yet addressed someone's remarks.
This got skipped as I cannot find direct email from Julien. The only email reply
on this patch is can find is from: xen-devel-bounces@lists.xenproject.org and
this got messed up with other larger set of email xen-devel sends.

Did you get direct email?
> 
> > 
> > ---
> > Changes from v7:
> >     Add check if IOMMU is enabled.
> >     Fix indentation of fail.
> > ---
> > ---
> >  xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
> >  xen/include/xen/iommu.h               |  1 +
> >  2 files changed, 45 insertions(+)
> > 
> > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > index 1202eac625..3fad65fb69 100644
> > --- a/xen/drivers/passthrough/device_tree.c
> > +++ b/xen/drivers/passthrough/device_tree.c
> > @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
> >      return 0;
> >  }
> >  
> > +int iommu_remove_dt_device(struct dt_device_node *np)
> > +{
> > +    const struct iommu_ops *ops = iommu_get_ops();
> > +    struct device *dev = dt_to_dev(np);
> > +    int rc;
> > +
> > +    if ( !iommu_enabled )
> > +        return 1;
> J:
> The caller doesn't seem to check if the error code is > 0. So can we 
> instead return a -ERRNO?
Will change the check in caller. I want to keep this as it as so it looks
similar to iommu_add_dt_device().
> 
> If you want to continue to return a value > 0 then I think it should be 
> documented in a comment like we did for iommu_add_dt_device().
>
Will add comment before iommu_remove_dt_device().
> > +
> > +    if ( !ops )
> > +        return -EOPNOTSUPP;
> > +
> > +    spin_lock(&dtdevs_lock);
> > +
> > +    if ( iommu_dt_device_is_assigned_locked(np) )
> > +    {
> > +        rc = -EBUSY;
> > +        goto fail;
> > +    }
> > +
> > +    /*
> > +     * The driver which supports generic IOMMU DT bindings must have this
> > +     * callback implemented.
> > +     */
> J:
> I have questioned this message in v7 and I still question it. I guess 
> you copied the comment on top of add_device(), this was add there 
> because we have a different way to add legacy device.
> 
> But here there are no such requirement. In fact, you are not adding the 
> the callback to all the IOMMU drivers... Yet all of them support the 
> generic IOMMU DT bindings.
Will change this.
> 
> > +    if ( !ops->remove_device )
> > +    {
> > +        rc = -EOPNOTSUPP;
> > +        goto fail;
> > +    }
> > +
> > +    /*
> > +     * Remove master device from the IOMMU if latter is present and available.
> J:
> I read this as this will not return an error if the device is protected. 
> However, AFAICT, the implement in the SMMU driver provided in this 
> series will return an error. So I would suggest to replace this sentence 
> with:
> 
> de-register the device from the IOMMU driver.
Will change the comment.
> 
> > +     * The driver is responsible for removing is_protected flag.
> J:
> Can you add an assert in the 'if ( !rc )' block to confirm that 
> is_protected was effectively removed. Something like:
> 
> ASSERT(!dt_device_is_protected(dev));
Is ASSERT really required here. remove callback can return before setting is_protected as false.
> 
> This would help to confirm the driver is respecting what you expect.
> 
> > +     */
> > +    rc = ops->remove_device(0, dev);
> > +
> > +    if ( !rc )
> > +        iommu_fwspec_free(dev);
> > +
> > + fail:
> > +    spin_unlock(&dtdevs_lock);
> > +    return rc;
> > +}
> > +
> >  int iommu_add_dt_device(struct dt_device_node *np)
> >  {
> >      const struct iommu_ops *ops = iommu_get_ops();
> > diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> > index 110693c59f..a8e9bc9a2d 100644
> > --- a/xen/include/xen/iommu.h
> > +++ b/xen/include/xen/iommu.h
> > @@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
> >  
> >  int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> >                         XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
> > +int iommu_remove_dt_device(struct dt_device_node *np);
> >  
> >  #endif /* HAS_DEVICE_TREE */
> >  
> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 18:09:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 18:09:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593234.926191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbPd6-0001Zo-OP; Wed, 30 Aug 2023 18:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593234.926191; Wed, 30 Aug 2023 18:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbPd6-0001Zh-La; Wed, 30 Aug 2023 18:09:24 +0000
Received: by outflank-mailman (input) for mailman id 593234;
 Wed, 30 Aug 2023 18:09: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=bwNt=EP=citrix.com=prvs=599f699f6=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qbPd4-0001ZL-MH
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 18:09:23 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 560c40ad-4760-11ee-9b0d-b553b5be7939;
 Wed, 30 Aug 2023 20:09:19 +0200 (CEST)
Received: from mail-dm3nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Aug 2023 14:09:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB7122.namprd03.prod.outlook.com (2603:10b6:806:338::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug
 2023 18:09:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::afa:50df:158a:a912%5]) with mapi id 15.20.6699.035; Wed, 30 Aug 2023
 18:09: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: 560c40ad-4760-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693418959;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=18C9mQ3oPcOZLlKEWF87W2U1jA7o7oOhgi57VFTQ4+0=;
  b=LffmSZ9kwghZmNbBaNBt1mTBVlu5MU5sZPVRg/R2l9nwvf4g3gIqrkLs
   h3y3yh3eQG/ZOSgFZu7eyjAxtmhSRnR/jdKXNvOF/+ilZXAxg/XRU3IFW
   LuhkI51yOoJFfDyhF/wUTR0QubTj8Kx0e6cJFXnVKDIyosDT2oePqo0uM
   Q=;
X-IronPort-RemoteIP: 104.47.56.45
X-IronPort-MID: 121584895
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+MEv3qiizrZOMdFxmZhc9PauX161fhEKZh0ujC45NGQN5FlHY01je
 htvXm+FafiJajenf9l1O47l9U9UsJHWn9VlTQo4/i09Ei4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsx+qyo0N8klgZmP6sT7ASGzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tREGRoUQi+koNjszbvjDc4vreAKEvL0adZ3VnFIlVk1DN4AaLWbGeDmwIQd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluSwWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTuTlpqI60QD7Kmo7BwAaUAXjpeSCuFekAfVmN
 0hI8yt0lP1nnKCsZpynN/Gim1amlBMBX9tbE8Uh9RqAjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnop4thu3MCkRaGMHPikNSFNf58G5+N1uyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsjDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:AowHj6xUIob/P1oVksYzKrPw3L1zdoMgy1knxilNoHxuH/Bw9v
 re+MjzsCWftN9/Yh4dcLy7VpVoIkmskKKdg7NhXotKNTOO0AeVxedZjLcKqweKJ8SUzJ8+6U
 4PSchD4abLfD9HZcaR2njFLz4jquP3j5xBU43lvglQpQIBUdAQ0+9gYDzrdHGf3GN9dOAE/J
 z33Ls/mxOQPU45Q+6cHXc/U+3Kt7Tw5e/biU5vPW9e1OGW5wnYk4LHLw==
X-Talos-CUID: 9a23:JJoWJG9Q4G2Gb99RKKWVvxIlMNkJTVr69i3dKhf/LiVCbJSrckDFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3A/dYD/A6J6zm0VbDL8lxRF76rxoxn/qirVhgJjK4?=
 =?us-ascii?q?0otPeEhVsP2uUjW6OF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.02,214,1688443200"; 
   d="scan'208";a="121584895"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UDoE0z0SGK7oGbbeNuaaXgQxojbTySmFH/rlMh/G/Gm+DCBT29jNtYJ62C+sTQfY4SrZ13BxnZmb9n4TFbUnGQsY+CCrzRRL+/cQmdXuS+f1IxJcMk/ggKQVbSZ47Qa8thWGBj5TS8A0vZ9QyB0ih6Y8jHfO3vt+ir/Rv1ZdM1hcZmLr0X2UGKNNGfqvsW1BtEiY96rtvEUuB0EfBnRRPGzaFiD5DHgO38bFEA1sOkqkiAaSLqXCPEOU3oyVx9tkp19CPZFYFY0Gy+Aj8+jZ6VK2u4+h0abJb8aNJhOD7GudmdqqGseiYkpwUSjOC3uS5CFbjVsxG6+0IEGyyZLDnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=18C9mQ3oPcOZLlKEWF87W2U1jA7o7oOhgi57VFTQ4+0=;
 b=VzNtugEH3299YSp+2P14KPSIADUcnO2i9dfc2jVRCvqTK5D+vVKWkhDThvrcG+WS/UItKWMm45BfZCJxDWDQeA5dYx1WYhYgbfbiynHr8+daZR+Qp2dpMWaMIIUHygUQYR+n/tLo5cG3c83p0fvnktpTbgUCn5dHlvbYhmDLb62Z5RZQau7q+yF0P8TuNLluOZW1cFKqRFsCQ/fkIIgLyZQT80nf/8iFXScX6FxqQbhF4pfU/4yb2LRYs/sV5PLO6JkN1v8Nfo18q4SVRSQVz6YtEZpIp1HlnsNJmKrh5xBaFnvI+3vGMVVtT/kGF+gLVnMF0O1L5BOMgqLIHyp6WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=18C9mQ3oPcOZLlKEWF87W2U1jA7o7oOhgi57VFTQ4+0=;
 b=J3yIDMHdVnUBgdy2mP7/gAHgrhZ2PcqVry9UmjupKbak1AKk12qpgOBp1SDxHYdZdGTZc9c4+ks5/WqlHe4Fd7Q7ouHn8EOo0PZ8hNHC44l7TVIwJSOzWLd3Flb8xVm60JBbg5Cs7mx7Ypm44CobPHvqp3eyj22/CNhrquCJJmU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <93b3e5c4-19b7-9809-e322-f0973924eef8@citrix.com>
Date: Wed, 30 Aug 2023 19:09:07 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [Xen-devel] [PATCH] x86/HVM: correct hvmemul_map_linear_addr()
 for multi-page case
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul.durrant@citrix.com>
References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
 <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
In-Reply-To: <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0388.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB7122:EE_
X-MS-Office365-Filtering-Correlation-Id: ce326d0e-36b4-4ad4-b522-08dba984370b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s77tHLv/NZUFRMjzOdZai5qFQwmlKltxWQzT3LH1wEZnjFNrMjfy9zjqgNV+lJ6XE/85o8LGn+2u2tB2nBJW5pukvUY5Q1CJdFJhLNhV3HtPMT4+s1swMTqCNGU7GI1iOfdBwiwB611UQlhzy3YSBE2lep+CInQrqZ/hozhe6V9oPJyO94F+3JKVmxiXGXvfOnZ3DRT/4zuCTHKD6Pcc70lcnzMPisiRYSsVcRF5laEz7pm+8OWOYZDrltf3rDKjZ+vwF4j8Ray/iywH0OmZznhM+QEQxxnNJA7L1nnRn7fKPwiP//gJ+ykyrXOfW0PJwTapHxELG1lYVOoXG7bGu7YcdhE9H4amvBMo7zT+9DTMh8fmSqshNSzHvBY8KMz61NPMuSKhmUuqa/HFqZG+Xkd5ZKkTj4gkPbN5McmZ7AadxaRuJ4oA0W27iFNa2dVj18j3oYjwf5AR25XahxDOsjX2JuMR1T6eDt3i6fP6kSbKhRGIE8Ij944bf7YYBD5ShLz1oZW2yQwBUJRvCpqnITN03lxS7thKUSQj+lH394Q8X2ei/WmmnvWIAVAy/SgtnDfckvr56FtyQ23KGm91gkHeD1/TfDJGe+sOg/iEA6Pl+EiLv0ub+ray9JYN6ZVMnhSOYEwuZHzxmAxJpvgTOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(346002)(376002)(39860400002)(396003)(1800799009)(451199024)(186009)(36756003)(31686004)(83380400001)(8676002)(5660300002)(31696002)(86362001)(41300700001)(4326008)(8936002)(53546011)(26005)(6666004)(6486002)(2616005)(6506007)(6512007)(107886003)(110136005)(478600001)(2906002)(38100700002)(54906003)(66946007)(66476007)(66556008)(316002)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHZRNlYrNGpFeWVycHdLOVpTc05MTjNOT3NOa1AyZjR6Sm9MVllqMUZpeWR3?=
 =?utf-8?B?aVNaWEU3enRRTGgzaktkTFo2SjhtS0Q0MVZyNThRKzR0bzdDbnJyMWppa0Qy?=
 =?utf-8?B?SHFyKzg2L0J2Z2dEUVowZk9pQzFkb0gxQUJ0STk2T1pncU9iejJhQWR0Uk8z?=
 =?utf-8?B?M2Q2eldOQWlzcVR5emxONVJqdDBuRkM1UVhoQkM1SGdCam9lbngrMDBCM2ZZ?=
 =?utf-8?B?WkhtaVU5cUZRclRNMkl3YmJmdndpTEt6cmtVemtZcllzQllMdkdiWDc2YWRi?=
 =?utf-8?B?cHZTTGxucUlobllxLzVoS3ZnblJvYmdLaDNwd1E4NHNnOG1aN2x5cHRSUUt5?=
 =?utf-8?B?ZTR0UkZsZng3NUJiZSt5dkdEbGlrUDBFNjFqcHRvbGpNWk8zcTlmeUk2U2k2?=
 =?utf-8?B?V0ljSEVUTjI5QXVoTUxCcndaTXdqS2VlWUkrTS9yczlnanAwMXhBYS8zaFlm?=
 =?utf-8?B?V1N4WmYzUHpQVDJRUGlRNlZHeTRLOE95Y0ZQMlYrUk5mUXljZ2NUVDE0aDBU?=
 =?utf-8?B?TWxxMVpNWXp2SmtKN0NLMFhZMHU5UWFlY1A0NmNSUEVCdE1BQkhzYTlQNUZJ?=
 =?utf-8?B?NytZTHh0NDNjN0FMc1hGMlRBcC9BMTVKaWZJMWtmTFlaWU5rOVc2TEJlOHhH?=
 =?utf-8?B?VGhsYkI0ZGd5TEFPV0FJQmsxdnU0SXVtMVBXanhVdEVobllBM0pUa1dUcVgy?=
 =?utf-8?B?TEl6anQ2Yi9ObzdZci9CajlhZHhJVEJxUnM1NjcvYUNTY1RYYTIwTk55YzNC?=
 =?utf-8?B?UVB1aFMwMFFvczdkN1lrUS9uMnpGbEwwTW1lelFiR0toOS80dTBDaERId2Nt?=
 =?utf-8?B?VWxjYWNnb2p6MXdKNHNhcFN4Ty9JY1FVQVhzTDJQbGpWTktYcDJhdkhKMzM2?=
 =?utf-8?B?U2ZvN2VBNVRncS9Kek5UYTZQUG9FSnQ2LzF2bXlLMG5jYldHUzFSNDhxVTBo?=
 =?utf-8?B?cDlCM2VLT1BhcnA5YWZmOS9nL2VGcnpSdTBSRnE4Y3MrL3JVc1krRzdhZUQr?=
 =?utf-8?B?KzZoSXlpaUdyTFpmN0NjUDVQd1YwL2JEMk9SMmlIWGdkczJUMWtuZkJ0RXFG?=
 =?utf-8?B?bzhrRlhsTDdTK0d1TGI3Mk0vNkU1Y3JBdWtQcmpxSHVCbnNyenRtNjEvcURx?=
 =?utf-8?B?VXA3aGtqWE55ZEIxK3l3NHVKV21qeTNVbm4ycUMvNmNqZlk0RVAzYWhBRFRV?=
 =?utf-8?B?WUJWc3JHM2NiNjdBaEhoU25iUksxOU16ZGM5d1krWUp2R2djQXZNTVhHaFI5?=
 =?utf-8?B?UEJJVWhaTkRtU3JZaVFrSndMRXA1anVPRktZam0rNE9PeCtpRzF1d3hoZnpy?=
 =?utf-8?B?cHo1QmJtdFl0R1kydHhkSC96RDl4YWpqcHRHbGg1bGVGUFYwY2VZSjdtTnRL?=
 =?utf-8?B?WStURU9TNW1PenNmTEZYditLejNQM2FBZlozNFc4R2MzSGxqUXNlUWdSQWJL?=
 =?utf-8?B?bkFnWTZQY2svdFdtNyt6R2hLRk85Z001azBNNWtsb3VtbkF0dFRycTU0T3I1?=
 =?utf-8?B?bUE5aVdPZ0diam9JU1I5TkNKYnZTWlRhbFV1ci9NbEN1RXN1Wk1uU2IvVTQv?=
 =?utf-8?B?czF6YTFXUkp5c29nWjArL1JpdW84c2lqQklvWk1aNnhEZ3AvZ2EvSnk4YWhC?=
 =?utf-8?B?YStaczRsSGJjaXZUUHp4US84d2l6RXJSOWlRRUhmeHpRNnVack9XMWhpWVl4?=
 =?utf-8?B?WXlyRUJwbHlNV0I1UkJyOGRtaW9PeVRtSTREY2hWOEV1cTkxMlRZSWRaS3Vy?=
 =?utf-8?B?RExvV1hpQm43dkNNUEFLNUFtVUZYdnZmMzdGWUQ1Q1VTMk81bjBGNlI1eERR?=
 =?utf-8?B?Um5xT1BlTUU2SmJubkduVERJRm55YWdsWW44d1R3Z2RMb2I1TVZYZWZNN3Fu?=
 =?utf-8?B?S3YrK3FQeC9XejNENkkyekdTcUc4SmlBSDNUUDR5MzQ4azVYRFg2ZXMwTklq?=
 =?utf-8?B?YWNNajYvam4walRBNmNzaEhZKzFtUmFRZXlYdFJLS2JyM0VOYWN2TFZWbEhj?=
 =?utf-8?B?ZjRCTnFSN3hHSC9hRXNsTWdjdjQxVm92UkJ0RjRIcnlIdUJFbEVkVzVxSGVv?=
 =?utf-8?B?U1haR2NGQklyM0NxTzNBaUY0NTlRaUtkTWxuZEs2NURJeEEveE1pMmplU0Yy?=
 =?utf-8?B?U2JDcWFreEluTGNrWHpiRWpmdXZUcXRGNCtKM3MrbXY4MHFRRlYvQmovTzd6?=
 =?utf-8?B?N2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gpCjlG0YmwE9L9lAKm/YZodYwz3jaH4kBUbq0ex5nHWr/wLi+aSVGC71avU3xcLyeZVevPNlxL6HCaJ2S2GtxsVfb9lRgROpAEBnPHHWmi+Ej8U4isv2Wmi7zbAelygv792YmOiahUe8YcHH9xdPDYhhlXGlsMK6uZvtdyVlW2rKHtvcE/pBByZDsbeCwuAtSgUrrP+/xC1wBBJc6ykafhPSehtwNuZzA/MIuRyGRVJceBYVRbdYm1UYWfhUKZP2dWHghN9j316wQlYCH6jcIFdxvfRJsd/WllHPH7LP05tdY/GTnkUzKpBzHBVcvS5LqocmTsxTMgMhEkE+xdvZveEB+MKaNLXyD5T5jU/CraKefXEBPPjkR31+QJbeoS7RrKw/hsJfkCvK2T6/vlRSXEoxISqZAC8c728FSb0pJpehmQT2QuO81FDwlJmBaSXB4QazdFsUUv/2DwVVoe9bk8yzhgQQOWAhVsS7mqBCkgWKTzLRgq3za3C1eUS9I+c6LywH324/vq5X0dbpN8+AOMAqBtp49r9MREI27FR76deQURvlu6Iz6L7CQL38tf8lFYwLYnKmrstmqA7gc5t0ihVO/I/BBEpD3pK9SOSpjNiuRSHCrzpgnXp88qAkekmn9vqIxHNulrREbsvEKw81sWmulZ7KHymAkM6ZTZdeiVxwtr/KZIQz+FCYUtTQfP+a4JuXx/cR+VKnUCOIYEzOGoiwCqxuYX5dg8U+ZJzugk7pvq6UYpSEvYZzZj5dnSU3JF7bS1KPp9+5bRsQoculQDMPQR2GqEb6KVQxwzdQxM0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce326d0e-36b4-4ad4-b522-08dba984370b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2023 18:09:13.1240
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pqh4llOJH3/dGi36cj3iyevMuqueR7NCJlJZE1PUIUcclvGSbcVW+IKn1bXpg44dzZnSdJrD+ix+iLtj6c1mHKYacUqJv3mYK1LHg9FKGrg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7122

On 30/08/2023 3:30 pm, Roger Pau MonnĂ© wrote:
> On Wed, Sep 12, 2018 at 03:09:35AM -0600, Jan Beulich wrote:
>> The function does two translations in one go for a single guest access.
>> Any failure of the first translation step (guest linear -> guest
>> physical), resulting in #PF, ought to take precedence over any failure
>> of the second step (guest physical -> host physical).

Erm... No?

There are up to 25 translations steps, assuming a memory operand
contained entirely within a cache-line.

They intermix between gla->gpa and gpa->spa in a strict order.

There not a point where the error is ambiguous, nor is there ever a
point where a pagewalk continues beyond a faulting condition.

Hardware certainly isn't wasting transistors to hold state just to see
could try to progress further in order to hand back a different error...


When the pipeline needs to split an access, it has to generate multiple
adjacent memory accesses, because the unit of memory access is a cache line.

There is a total order of accesses in the memory queue, so any faults
from first byte of the access will be delivered before any fault from
the first byte to move into the next cache line.


I'm not necessarily saying that Xen's behaviour in
hvmemul_map_linear_addr() is correct in all cases, but it looks a hell
of a lot more correct in it's current form than what this patch presents.

Or do you have a concrete example where you think
hvmemul_map_linear_addr() behaves incorrectly?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 18:25:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 18:25:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593241.926202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbPsh-0004nJ-0h; Wed, 30 Aug 2023 18:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593241.926202; Wed, 30 Aug 2023 18: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 1qbPsg-0004nC-U9; Wed, 30 Aug 2023 18:25:30 +0000
Received: by outflank-mailman (input) for mailman id 593241;
 Wed, 30 Aug 2023 18: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=X5mg=EP=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qbPsf-0004n6-KZ
 for xen-devel@lists.xenproject.org; Wed, 30 Aug 2023 18:25:29 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 969be796-4762-11ee-8783-cb3800f73035;
 Wed, 30 Aug 2023 20:25:27 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DD227828556A;
 Wed, 30 Aug 2023 13:25:24 -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 L7NOhuIDfJma; Wed, 30 Aug 2023 13:25:24 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0D93A828556B;
 Wed, 30 Aug 2023 13:25: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 YUqkey1tscAv; Wed, 30 Aug 2023 13:25:23 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 77721828556A;
 Wed, 30 Aug 2023 13:25:23 -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: 969be796-4762-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0D93A828556B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1693419924; bh=F6nQ5D+hH1ztoxNwHir/6vjrO07hbXu9wxcbdCotbZ4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=JqVDYZVtkr6NcKCqxprbFV0kGUmBMBowLeLDJd6fPZmozzJvvxI1KsUk5jnfcauuQ
	 4SNmjRVgAMH1qFLySXm0PlfhdJIAAo7CGR6j9hirgFoB6rnOEY7EEm3KCtHF7ciYg3
	 1ltabm/27SDXp3/AjgkS39/hysWT2qNLEEMEklq8=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <4b26cfe3-f6e4-4b33-26ea-aed05b5b1e77@raptorengineering.com>
Date: Wed, 30 Aug 2023 13:25:23 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 6/8] xen/ppc: Define bug frames table in linker script
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <f81914771ec96a48adf25c55329aa5f739f174d0.1692816595.git.sanastasio@raptorengineering.com>
 <599f1b4c-501d-6b02-e35a-6cba8b459376@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <599f1b4c-501d-6b02-e35a-6cba8b459376@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/30/23 8:03 AM, Jan Beulich wrote:
> On 23.08.2023 22:07, Shawn Anastasio wrote:
>> Define the bug frames table in ppc's linker script as is done by other
>> architectures.
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> If I'm not mistaken this change is independent of the earlier patches,
> and hence could go in right away. Please confirm.

That's correct -- you're free to commit this independent of the rest of
the series if you'd like.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 22:13:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 22:13:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593248.926211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbTQs-0003b9-Ci; Wed, 30 Aug 2023 22:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593248.926211; Wed, 30 Aug 2023 22:13:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbTQs-0003b2-9w; Wed, 30 Aug 2023 22:13:02 +0000
Received: by outflank-mailman (input) for mailman id 593248;
 Wed, 30 Aug 2023 22:13: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 1qbTQr-0003ar-5S; Wed, 30 Aug 2023 22:13: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 1qbTQq-0001KC-Qi; Wed, 30 Aug 2023 22: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 1qbTQq-0001OR-CO; Wed, 30 Aug 2023 22:13:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbTQq-0004iV-B6; Wed, 30 Aug 2023 22: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=KTGCjR6PwwEdkCjft/ZDywchOJkRfnTF69Yml3CzsHk=; b=5Eb2IZh0AFgmj/7xMtN8NhBFJ+
	xQylBY+aTC4MwcQw9fAPGb4L/zrhvGVJ0sGocGkZyTJGJG7uqEIxbxv8Ji0UI4bVmgMv4fGWZz8mf
	59KOVpffgjppCpZ4EkydRozCBdWDQ12L0UDLQp13qd0juci85/yPFXwUinqXaxgRYzxM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182569-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182569: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-xl-rtds: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-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-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=5eb967dd50a5a29952ab6e6b1ef4bf216cf1652c
X-Osstest-Versions-That:
    linux=fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 22:13:00 +0000

flight 182569 linux-5.4 real [real]
flight 182572 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182569/
http://logs.test-lab.xenproject.org/osstest/logs/182572/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail REGR. vs. 182363
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 182363

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds   18 guest-start/debian.repeat fail blocked in 182363
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182363
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182363
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182363
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182363
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182363
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182363
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182363
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182363
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182363
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182363
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182363
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182363
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-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-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-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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-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

version targeted for testing:
 linux                5eb967dd50a5a29952ab6e6b1ef4bf216cf1652c
baseline version:
 linux                fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c

Last test of basis   182363  2023-08-16 16:45:54 Z   14 days
Testing same since   182569  2023-08-30 14:44:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Wu <wuyun.abel@bytedance.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Liu <haoping.liu@amd.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Aring <aahringo@redhat.com>
  Alfred Lee <l00g33k@gmail.com>
  Amir Goldstein <amir73il@gmail.com>
  Andreas Gruenbacher <agruenba@redhat.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Skvortsov <andrej.skvortzov@gmail.com>
  Andrii Staikov <andrii.staikov@intel.com>
  Ankit Nautiyal <ankit.k.nautiyal@intel.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Atul Dhudase <adhudase@codeaurora.org>
  Benjamin Coddington <bcodding@redhat.com>
  Benjamin Gray <bgray@linux.ibm.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Christian Marangi <ansuelsmth@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Clayton Yager <Clayton_Yager@selinc.com>
  Colin Ian King <colin.i.king@gmail.com>
  Cosmin Tanislav <cosmin.tanislav@analog.com>
  Cosmin Tanislav <demonsingur@gmail.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  dengxiang <dengxiang@nfschina.com>
  Doug Berger <opendmb@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Eyal Birger <eyal.birger@gmail.com>
  Feng Tang <feng.tang@intel.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Fred Eckert <Frede@cmslaser.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georgi Djakov <georgi.djakov@linaro.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  hackyzh002 <hackyzh002@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hariprasad Kelam <hkelam@marvell.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Ido Schimmel <idosch@nvidia.com>
  Igor Mammedov <imammedo@redhat.com>
  Immad Mir <mirimmad17@gmail.com>
  J. Bruce Fields <bfields@redhat.com>
  Jakob Koschel <jakobkoschel@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jason Wang <jasowang@redhat.com>
  Jason Xing <kernelxing@tencent.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jerome Brunet <jbrunet@baylibre.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Jiri Kosina <jkosina@suse.cz>
  Joel Savitz <jsavitz@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josip Pavic <Josip.Pavic@amd.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Chen <justin.chen@broadcom.com>
  Kishon Vijay Abraham I <kvijayab@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lee Jones <lee@kernel.org>
  Li Jun <jun.li@nxp.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Wei <luwei32@huawei.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Marc Zyngier <maz@kernel.org>
  Marco Morandini <marco.morandini@polimi.it>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matthieu Baerts <matthieu.baerts@tessares.net>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Michal KoutnĂ½ <mkoutny@suse.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Mike Snitzer <snitzer@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mimi Zohar <zohar@linux.ibm.com>
  Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
  Nathan Lynch <nathanl@linux.ibm.com>
  Nicolin Chen <nicoleotsuka@gmail.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Pavle Kotarac <Pavle.Kotarac@amd.com>
  Peter Chen <peter.chen@kernel.org>
  Petr Machata <petrm@nvidia.com>
  Pina Chen <pina.chen@mediatek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Randy Dunlap <rdunlap@infradead.org>
  Ray Jui <ray.jui@broadcom.com>
  Remi Pommarel <repk@triplefau.lt>
  Rob Clark <robdclark@chromium.org>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Russell Harmon <russ@har.mn>
  Russell Harmon via samba-technical <samba-technical@lists.samba.org>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sam Ravnborg <sam@ravnborg.org>
  Sandeep Maheswaram <quic_c_sanm@quicinc.com>
  Sasha Levin <sashal@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Sergey Shtylyov <s.shtylyov@omp.ru>
  Shakeel Butt <shakeelb@google.com>
  shanzhulig <shanzhulig@gmail.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@gmail.com>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <horms@kernel.org>
  Simon Wunderlich <sw@simonwunderlich.de>
  Sishuai Gong <sishuai.system@gmail.com>
  Stefan Wahren <stefan.wahren@i2se.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sunil Goutham <sgoutham@marvell.com>
  Sven Eckelmann <sven@narfation.org>
  Taimur Hassan <syed.hassan@amd.com>
  Takashi Iwai <tiwai@suse.de>
  Tang Bin <tangbin@cmss.chinamobile.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tuo Li <islituo@gmail.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  Victor Nogueira <victor@mojatatu.com>
  Vijay Khemka <vijaykhemka@fb.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wei Chen <harperchen1110@gmail.com>
  William Breathitt Gray <william.gray@linaro.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wolfram Sang <wsa@kernel.org>
  Woody Suwalski <terraluna977@gmail.com>
  Xiaolei Wang <xiaolei.wang@windriver.com>
  xiaoshoukui <xiaoshoukui@gmail.com>
  xiaoshoukui <xiaoshoukui@ruijie.com.cn>
  Xin Long <lucien.xin@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yangtao Li <frank.li@vivo.com>
  Yangtao Li <tiny.windzz@gmail.com>
  Ye Bin <yebin10@huawei.com>
  Yibin Ding <yibin.ding@unisoc.com>
  Yogesh <yogi.kernel@gmail.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yunfei Dong <yunfei.dong@mediatek.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhengping Jiang <jiangzp@google.com>
  Zhu Wang <wangzhu9@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                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-armhf-armhf-xl-credit1                                  fail    
 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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4971 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 23:06:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 23:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593260.926225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbUGM-0000ZT-3D; Wed, 30 Aug 2023 23:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593260.926225; Wed, 30 Aug 2023 23: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 1qbUGL-0000ZM-TI; Wed, 30 Aug 2023 23:06:13 +0000
Received: by outflank-mailman (input) for mailman id 593260;
 Wed, 30 Aug 2023 23:06: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 1qbUGK-0000Z6-HQ; Wed, 30 Aug 2023 23:06: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 1qbUGK-0002Nm-5Y; Wed, 30 Aug 2023 23:06: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 1qbUGJ-00042k-LO; Wed, 30 Aug 2023 23:06:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbUGJ-00075M-Ku; Wed, 30 Aug 2023 23:06: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=CpFoFecZndDUH06zrdBs93ZjVHe/9yoLpzwJVmjaBbs=; b=b+aSeUNNofSfBfeEwMaHAgjFnl
	yFftZrA2SohIYW+04moqaB44Jre75ALv9FJA27xukmcnAxw0wZUDbCeVcAwDX5TxXhOgW2pqAsWR7
	sPFXrmC9XAiwNZHdmfWdbMUo5oJ7KZxtmgjIuvYRFbcuVz7aOtnEBg5+VSemOggZDomY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182566-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182566: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6c1b980a7e79e55e951b4b2c47eefebc75071209
X-Osstest-Versions-That:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 23:06:11 +0000

flight 182566 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182566/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 182531
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 182531
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 182531
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 182531
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 182531
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 182531
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 182531
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 182531
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 182531
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 182531

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 182531

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182531
 test-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                6c1b980a7e79e55e951b4b2c47eefebc75071209
baseline version:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c

Last test of basis   182531  2023-08-27 22:41:14 Z    3 days
Failing since        182544  2023-08-28 20:42:13 Z    2 days    4 attempts
Testing same since   182566  2023-08-30 09:46:45 Z    0 days    1 attempts

------------------------------------------------------------
985 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 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        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 107709 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 30 23:59:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 Aug 2023 23:59:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593270.926235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbV5g-0006Bi-1W; Wed, 30 Aug 2023 23:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593270.926235; Wed, 30 Aug 2023 23: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 1qbV5f-0006Bb-Tt; Wed, 30 Aug 2023 23:59:15 +0000
Received: by outflank-mailman (input) for mailman id 593270;
 Wed, 30 Aug 2023 23:59:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbV5f-0006BR-39; Wed, 30 Aug 2023 23:59:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbV5e-0003Zv-U2; Wed, 30 Aug 2023 23:59: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 1qbV5e-0006fV-JM; Wed, 30 Aug 2023 23:59:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbV5e-0005DQ-H9; Wed, 30 Aug 2023 23:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v5axI8tuqbnSV1TMkeh0v6qrNhq0iynXr1QVcBE1aiQ=; b=I+UO/ec19kvUgn+BYiKk7HYnRZ
	maaZR6sFhAf0ck2bWIwSP2+vvfJrSy9PqCQHirQ1VAn5AVrL81pcdZuDpfUsd1IdaCwNwP1dmZwy2
	ddq9i0D4iHObqWCKW/hZe4hLmYdSjwR7acm5WD+qjgyKLBHltZsMBMlDgkdx4rfGCfVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182573-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182573: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c5753c3e38f3fde23eec9641cb3c433f443ff99e
X-Osstest-Versions-That:
    ovmf=0c4d0b6c8a05a6a62c0dca042f8e15e579e6f4af
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 30 Aug 2023 23:59:14 +0000

flight 182573 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182573/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c5753c3e38f3fde23eec9641cb3c433f443ff99e
baseline version:
 ovmf                 0c4d0b6c8a05a6a62c0dca042f8e15e579e6f4af

Last test of basis   182568  2023-08-30 13:13:53 Z    0 days
Testing same since   182573  2023-08-30 21:40:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   0c4d0b6c8a..c5753c3e38  c5753c3e38f3fde23eec9641cb3c433f443ff99e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 00:36:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 00:36:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593279.926245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbVfD-0002oh-7t; Thu, 31 Aug 2023 00:35:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593279.926245; Thu, 31 Aug 2023 00:35:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbVfD-0002oa-4r; Thu, 31 Aug 2023 00:35:59 +0000
Received: by outflank-mailman (input) for mailman id 593279;
 Thu, 31 Aug 2023 00:35:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbVfB-0002oU-7O
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 00:35:57 +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 5758a2d3-4796-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 02:35:54 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 610176255B;
 Thu, 31 Aug 2023 00:35:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD8B7C433C7;
 Thu, 31 Aug 2023 00:35:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5758a2d3-4796-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693442151;
	bh=bllm2LouzggmKEkGmGSO7zPjul+HAPjEdYC1RAPUEsA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=M3T/oqNWpc17QGqOGkFhYKiEizCf4ye56jKPMOq34R6nWQT00m4AwsQymxV1CvBoU
	 C19PTVBc5lUFT5JdYkhVbNlDoYQo2+uCXUg7LLqGG9IgjFwZ3PF1yFkZNM68OgOogA
	 LjF2BZ8lgXnib4nBGHDB3htw5Q+f6S+z2Gk4Ak/6qzjwkdxAStv8AFg4BgApKt8ULc
	 kgiuzfFsQVk7uuewzsKR0VlMQQkwVAKzK94joP7ONehGXuyam7Ib8ru6TatDHGhrl2
	 vLR7gyXJ1COwTnQDLWhgRHGZA7AH4SgKczdSvQeJ5tdTHua7BSfG+a69rCcDuqX9mv
	 NoznZ5kJL4NUA==
Date: Wed, 30 Aug 2023 17:35:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org, julien@xen.org, Jan Beulich <jbeulich@suse.com>, 
    Paul Durrant <paul@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN][PATCH v10 11/20] xen/iommu: Introduce
 iommu_remove_dt_device()
In-Reply-To: <ZO-A7ZERxISru9Ug@amd.com>
Message-ID: <alpine.DEB.2.22.394.2308301730210.6458@ubuntu-linux-20-04-desktop>
References: <20230825080222.14247-1-vikram.garhwal@amd.com> <20230825080222.14247-12-vikram.garhwal@amd.com> <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com> <ZO-A7ZERxISru9Ug@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 30 Aug 2023, Vikram Garhwal wrote:
> Hi Michal,
> On Tue, Aug 29, 2023 at 10:23:30AM +0200, Michal Orzel wrote:
> > 
> > 
> > On 25/08/2023 10:02, Vikram Garhwal wrote:
> > > Remove master device from the IOMMU. This will be helpful when removing the
> > > overlay nodes using dynamic programming during run time.
> > > 
> > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > > Acked-by: Jan Beulich <jbeulich@suse.com>
> > 
> > You don't seem to handle Julien remarks for this patch made in v9.
> > I will forward them here to avoid answering to old version, but for the future, do not carry the exact same patch
> > if you haven't yet addressed someone's remarks.
> This got skipped as I cannot find direct email from Julien. The only email reply
> on this patch is can find is from: xen-devel-bounces@lists.xenproject.org and
> this got messed up with other larger set of email xen-devel sends.
> 
> Did you get direct email?
> > 
> > > 
> > > ---
> > > Changes from v7:
> > >     Add check if IOMMU is enabled.
> > >     Fix indentation of fail.
> > > ---
> > > ---
> > >  xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
> > >  xen/include/xen/iommu.h               |  1 +
> > >  2 files changed, 45 insertions(+)
> > > 
> > > diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> > > index 1202eac625..3fad65fb69 100644
> > > --- a/xen/drivers/passthrough/device_tree.c
> > > +++ b/xen/drivers/passthrough/device_tree.c
> > > @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
> > >      return 0;
> > >  }
> > >  
> > > +int iommu_remove_dt_device(struct dt_device_node *np)
> > > +{
> > > +    const struct iommu_ops *ops = iommu_get_ops();
> > > +    struct device *dev = dt_to_dev(np);
> > > +    int rc;
> > > +
> > > +    if ( !iommu_enabled )
> > > +        return 1;
> > J:
> > The caller doesn't seem to check if the error code is > 0. So can we 
> > instead return a -ERRNO?
> Will change the check in caller. I want to keep this as it as so it looks
> similar to iommu_add_dt_device().

That is OK to me as long as the check on the return value is done


> > If you want to continue to return a value > 0 then I think it should be 
> > documented in a comment like we did for iommu_add_dt_device().
> >
> Will add comment before iommu_remove_dt_device().
> > > +
> > > +    if ( !ops )
> > > +        return -EOPNOTSUPP;
> > > +
> > > +    spin_lock(&dtdevs_lock);
> > > +
> > > +    if ( iommu_dt_device_is_assigned_locked(np) )
> > > +    {
> > > +        rc = -EBUSY;
> > > +        goto fail;
> > > +    }
> > > +
> > > +    /*
> > > +     * The driver which supports generic IOMMU DT bindings must have this
> > > +     * callback implemented.
> > > +     */
> > J:
> > I have questioned this message in v7 and I still question it. I guess 
> > you copied the comment on top of add_device(), this was add there 
> > because we have a different way to add legacy device.
> > 
> > But here there are no such requirement. In fact, you are not adding the 
> > the callback to all the IOMMU drivers... Yet all of them support the 
> > generic IOMMU DT bindings.
> Will change this.
> > 
> > > +    if ( !ops->remove_device )
> > > +    {
> > > +        rc = -EOPNOTSUPP;
> > > +        goto fail;
> > > +    }
> > > +
> > > +    /*
> > > +     * Remove master device from the IOMMU if latter is present and available.
> > J:
> > I read this as this will not return an error if the device is protected. 
> > However, AFAICT, the implement in the SMMU driver provided in this 
> > series will return an error. So I would suggest to replace this sentence 
> > with:
> > 
> > de-register the device from the IOMMU driver.
> Will change the comment.
> > 
> > > +     * The driver is responsible for removing is_protected flag.
> > J:
> > Can you add an assert in the 'if ( !rc )' block to confirm that 
> > is_protected was effectively removed. Something like:
> > 
> > ASSERT(!dt_device_is_protected(dev));
> Is ASSERT really required here. remove callback can return before setting is_protected as false.

But if ops->remove_device didn't actually set is_protected to false,
then it should return an error (rc != 0). What Julien is suggesting is
the following:

    rc = ops->remove_device(0, dev);

    if ( !rc )
    {
        ASSERT(!dt_device_is_protected(dev));
        iommu_fwspec_free(dev);
    }

Every time remove_device returns rc == 0 then is_protected should be
false, right?


> > 
> > This would help to confirm the driver is respecting what you expect.
> > 
> > > +     */
> > > +    rc = ops->remove_device(0, dev);
> > > +
> > > +    if ( !rc )
> > > +        iommu_fwspec_free(dev);
> > > +
> > > + fail:
> > > +    spin_unlock(&dtdevs_lock);
> > > +    return rc;
> > > +}
> > > +
> > >  int iommu_add_dt_device(struct dt_device_node *np)
> > >  {
> > >      const struct iommu_ops *ops = iommu_get_ops();
> > > diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> > > index 110693c59f..a8e9bc9a2d 100644
> > > --- a/xen/include/xen/iommu.h
> > > +++ b/xen/include/xen/iommu.h
> > > @@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
> > >  
> > >  int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
> > >                         XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
> > > +int iommu_remove_dt_device(struct dt_device_node *np);
> > >  
> > >  #endif /* HAS_DEVICE_TREE */
> > >  
> > 
> > ~Michal
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 00:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 00:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593286.926255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbVz8-0005MT-Qc; Thu, 31 Aug 2023 00:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593286.926255; Thu, 31 Aug 2023 00:56:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbVz8-0005MM-Ma; Thu, 31 Aug 2023 00:56:34 +0000
Received: by outflank-mailman (input) for mailman id 593286;
 Thu, 31 Aug 2023 00:56:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbVz8-0005ME-2o
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 00:56:34 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38e7f7bb-4799-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 02:56:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id D6617B8201C;
 Thu, 31 Aug 2023 00:56:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D871C433C8;
 Thu, 31 Aug 2023 00:56: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: 38e7f7bb-4799-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693443388;
	bh=bdcvKVmYhY6hiG40uNbDrovAdJe/+D6kOb4JuPRDfIA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=unKCL3b1J+IkcuRfRaPrHdsNfYVv14S3zAON+bHi7WLLVjoPbXs98Reo/yGTFeX4T
	 j2+53Xxwe+lcAk8b9CIuGB46tH5TC1G73LARwrvolRcF0OcxJGkhTlIQrxyRLyBvWq
	 dQYRmtWPRYMUZK2AItqZQT6dF/aJ32ppq877CbvzbVGepLqx0iCoGYC8hRLuhB4BUy
	 KsqNSGA9Pj29S9fOSFEzdbMLvq4NBW6BkJWnTBTZoUCb4s4M08ob7rdClfWgYNL9D/
	 HWLTDDQyLfbOLku2WMjcWYZM1kGkZhy5Rd149sykhlhjIP4jl+NcF5+IHpjyk24+83
	 MU55ezk62ztyA==
Date: Wed, 30 Aug 2023 17:56:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Viresh Kumar <viresh.kumar@linaro.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
    QEMU Developers <qemu-devel@nongnu.org>, 
    Vikram Garhwal <vikram.garhwal@amd.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, 
    Jonathan Cameron <jonathan.cameron@huawei.com>
Subject: Re: QEMU features useful for Xen development?
In-Reply-To: <87y1hspiyh.fsf@linaro.org>
Message-ID: <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
References: <87y1hspiyh.fsf@linaro.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1957996329-1693443387=:6458"

  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-1957996329-1693443387=:6458
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

Hi Alex,

Thanks for reaching out. QEMU is an important development tool for the
Xen community and we are using QEMU as part of our upstream gitlab-ci
testing, see automation/scripts/qemu-*.

As Xen is gaining R52 and R82 support, it would be great to be able to
use QEMU for development and testing there as well, but I don't think
QEMU can emulate EL2 properly for the Cortex-R architecture. We would
need EL2 support in the GIC/timer for R52/R82 as well.

On Cortex-As, in addition to a PCI root complex and an arbitrary PCI
device, SMMUv3 emulation (both stages) and GICv3 ITS are needed to be
able to test PCI Passthrough. However, if I recall correctly SMMUv3
emulation in QEMU might not be complete enough to enable us to use it.

For Virtio, using QEMU on target (not develpment/testing, but
production), it would greatly help if we could improve the build system
to only build what is strictly necessary for the xenpvh machine to run.

Cheers,

Stefano


On Wed, 30 Aug 2023, Alex BennĂ©e wrote:
> Dear Xen community,
> 
> Linaro is significantly invested in QEMU development, with a special
> focus on Arm-related aspects. We recognize the value of QEMU as a
> readily available software reference platform for projects that need to
> test their software well before the availability of real hardware.
> 
> The primary focus of our effort is on adding core architectural elements
> to the CPU emulation. For an overview of the current feature set, please
> see:
> 
>   https://qemu.readthedocs.io/en/master/system/arm/emulation.html
> 
> Besides the -cpu max, providing an approximation of a v9.0 baseline CPU,
> we have also recently added several specific CPU types like the
> Neoverse-N1 and V1 processor types as well as numerous Cortex CPU
> models.
> 
> Our most utilized machine model is "virt", which is primarily designed
> for guest operation and therefore has minimal resemblance to actual
> hardware. "sbsa-ref" was implemented to more closely simulate a real
> machine that aligns with Arm's SBSA specification.
> 
> In our work on VirtIO, we often use QEMU. Most of our rust-vmm
> vhost-device backends, for instance, were initially tested on QEMU.
> 
> Now that everyone is up-to-date, I would welcome any feedback from the
> Xen community on features that would increase QEMU's usefulness as a
> development target.
> 
> Do you have interest in any upcoming Arm CPU features? For example, we
> recently added FEAT_RME support for Arm's new confidential computing,
> but currently do not implement FEAT_NV/NV2.
> 
> How about the HW emulation in QEMU? Is the PCI emulation reliable enough
> to ensure confidence while testing changes to Xen's PCI management? What
> about the few peripherals that the hypervisor accesses directly?
> 
> Are there other development features you consider essential? Have you
> noticed any limitations with gdbstub? Does anyone use the record/replay
> or reverse debug functions? Has anyone tried TCG plugins for analysing
> the behavior of the hypervisor?
> 
> While I cannot promise to implement every wish-list item (performance
> counter emulation, for example, as we are not a uArch simulator), I am
> eager to gather feedback on how QEMU could be improved to help the Xen
> community deliver it's roadmap faster.
> 
> Thank you for your time and I look forward to any feedback :-)
> 
> -- 
> Alex BennĂ©e
> Virtualisation Tech Lead @ Linaro
> 
--8323329-1957996329-1693443387=:6458--


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:18:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593293.926264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWJl-0001os-E1; Thu, 31 Aug 2023 01:17:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593293.926264; Thu, 31 Aug 2023 01:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWJl-0001ol-BY; Thu, 31 Aug 2023 01:17:53 +0000
Received: by outflank-mailman (input) for mailman id 593293;
 Thu, 31 Aug 2023 01:17: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=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWJk-0001of-Bd
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:17:52 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32068f88-479c-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 03:17:47 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 1265AB80B84;
 Thu, 31 Aug 2023 01:17:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0FE5C433C7;
 Thu, 31 Aug 2023 01:17: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: 32068f88-479c-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693444665;
	bh=icNpqFJCEV7X9EWTYSuktLYvwdnbF4HWzVQfNNUvFL4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HPEDj8piWxwBjPOTjSrt3vcA62AdkljS5u0puFiNJDWEDd6g68qZskRtrDvEHqPLC
	 B+RKIAx74CS3lKiMz6GPflA/QKtYs8eCqHQbm0nt6GfptqHzJ1Ye5FXqBFUJY6ARNV
	 MuTq4kY+Ni4BbAswU/Ffd1lseWkwszqdK9IY1+OL+YoA0CTr1n3qpanmkQ243RWPov
	 q5HrSGqf7riAKSU5w6Fo/3dC2cipJ91qo8nwyALzXw0ZX/nNZwHMgIJTZ6GCUWs0LG
	 jVJtXxQ8FdKxWKXUK/WepeyVTDSEjZB+E2D0WhJxYUden16WrXyhjXDSljEiCsryOU
	 mSE1VwqhogB/w==
Date: Wed, 30 Aug 2023 18:17:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony Chan <anthonychan@nureva.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "julien@xen.org" <julien@xen.org>, 
    "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>, 
    Dan Waqar <danwaqar@nureva.com>
Subject: RE: [EXT] Re: xen arm64 low power sleep support
In-Reply-To: <DM6PR20MB27795F4B6C327F7F031BABB0C1E6A@DM6PR20MB2779.namprd20.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2308301814580.6458@ubuntu-linux-20-04-desktop>
References: <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com> <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop> <DM6PR20MB27795F4B6C327F7F031BABB0C1E6A@DM6PR20MB2779.namprd20.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 Wed, 30 Aug 2023, Anthony Chan wrote:
> On Tue, 29 Aug 2023, Stefano Stabellini wrote:
> > On Tue, 29 Aug 2023, Anthony Chan wrote:
> > > Hi all,
> > >
> > > My name is Tony and I've been researching/developing using Xen for
> > potential upcoming uses in our embedded systems.  I started with Xen
> > using Xilinx tools about a year ago and still have lots to learn about what it
> > can to do in the embedded space.  So far, I've managed to integrate Xen
> > and Linux into an existing product that exclusively runs bare-metal code on
> > a ZynqMP SoC and migrate some of the functionality into custom Linux
> > driver/userspace.
> > >
> > > I'm now looking at low power support, for now at least between Xen
> > (4.16) and Linux (5.15) dom0.  I've tried a few different Linux kernel
> > configs around power management and each time I try to suspend from
> > linux dom0 (via sysfs or systemctl), Xen will watchdog on dom0 guest.
> > AFAIK, Xen should trap on a 'WFI' from guests, but from what I can tell
> > debugging through the linux suspend process is it's spinning in a 'suspend-
> > to-idle' loop before it can get to issuing a 'WFI' or using PSCI interface to
> > notify Xen.  I'm beginning to suspect that 'low power' support for
> > embedded arm64 just isn't quite there yet, or am I missing something in
> > the configs?
> > >
> > > I realize this could very well be a Linux 'issue' but checking here first.  I
> > know Xen presents a flattened device tree to Linux without CPU idle-state
> > nodes and maybe this is causing the linux guest to only do the suspend-
> > to-idle mode?  I should mention that I'm booting up using dom0less
> > feature if that matters.
> >
> >
> > Hi Anthony,
> >
> > Assuming you are using the default Xen command line parameters for
> > Xilinx boards: sched=null vwfi=native, then if the guest uses WFI, the CPU
> > will execute WFI directly and go into low power mode.
> Yes, using these command line params.
> 
> > Given the issue you are describing, I am suspecting the guest is not issuing
> > WFI: that is simple and known to work. Instead, I suspect that Linux might
> > be trying to use PSCI_suspend in a way that is not supported or well-
> > implemented by Xen.
> >
> > Can you check? You can add a printk in Linux
> > drivers/firmware/psci/psci.c:__psci_cpu_suspend or in Xen
> > xen/arch/arm/vpsci.c:do_psci_0_2_cpu_suspend
> Instrumented both places it doesn't appear to reach there.  In kernel/power/suspend.c, there's a call to s2idle_loop that it's currently 'stuck' in and I think it doesn't get to the psci suspend your referring till afterwards, when suspend_ops->enter is called.  Unfortunately, without any idle-states nodes in the FDT, the only suspend state Linux is defaults to is 'suspend to idle'.
 
The fact that Linux uses "suspend to idle" is not a problem because as I
mentioned WFI or PSCI_suspent are not different on Xen. That part is OK.

However, if the issue is not PSCI_suspend then I don't have another easy
guess. Please post a full stack trace or more information about the
error in Linux and I might be able to see where it is coming from.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:38:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:38:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593300.926275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWdq-0004k1-35; Thu, 31 Aug 2023 01:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593300.926275; Thu, 31 Aug 2023 01: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 1qbWdp-0004jt-UE; Thu, 31 Aug 2023 01:38:37 +0000
Received: by outflank-mailman (input) for mailman id 593300;
 Thu, 31 Aug 2023 01: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=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWdo-0004jl-UF
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:38:36 +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 18ea13fd-479f-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 03:38:34 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 10E99622D4;
 Thu, 31 Aug 2023 01:38:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 05234C433C7;
 Thu, 31 Aug 2023 01:38: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: 18ea13fd-479f-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693445912;
	bh=tcoxmcGMzGWFIKp1sPyXputgzNCIZDeXy14NL2l0W6g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QbT2YUtRhFrnX3NV3XM15CusHUymAtlDrW2YxR1GrxWRpxnFpQXgGr8N87gnoPFk3
	 TV4efrAzsqZLoMPewGmEruH91BpQNK2B05rpeJr6VxaUHiaNKK0ZESqEyfhEAkgwPt
	 ZKiYpn7aFLoPDKWKF/EEx6wfe/Zy6A+aXsZy7ibjxhNfiy0VjJDZ6C1uPyPvIorPh/
	 rWuDdu9u+/qPyZDOdbZ0LDJFENyinP0G6RFJ/X64Ormfbknx303f4Iilgob+35c03S
	 lSeLEF2xqmS5UwyYsQ7OJrQP3S4s7rHTT2dMvr33T3ZlI1w60VCEMakwEfG/1NOL1G
	 /rWIzb4oBwuow==
Date: Wed, 30 Aug 2023 18:38:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, julien@xen.org, george.dunlap@citrix.com, 
    bertrand.marquis@arm.com, nicola.vetrini@bugseng.com, 
    roberto.bagnara@bugseng.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
In-Reply-To: <b15edd2a-9937-ae36-d84e-8dd134cea6b8@suse.com>
Message-ID: <alpine.DEB.2.22.394.2308301831380.6458@ubuntu-linux-20-04-desktop>
References: <20230830005950.305085-1-sstabellini@kernel.org> <b15edd2a-9937-ae36-d84e-8dd134cea6b8@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, 30 Aug 2023, Jan Beulich wrote:
> On 30.08.2023 02:59, Stefano Stabellini wrote:
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -234,7 +234,7 @@ maintainers if you want to suggest a change.
> >     * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_
> >       - Required
> >       - Function types shall be in prototype form with named parameters
> > -     -
> > +     - Function pointer types shall have named parameters too.
> 
> This isn't an exception; do we really need to state such? I would have
> expected something to appear here only if we intended to deviate certain
> constructs.

Yes, it is not an exception. However, as there was genuine confusion in
the community about whether the rule should apply or not to function
pointer types I think it would be good to clarify. To avoid any doubts
in the future. My preference is to keep this as clarification.



> > @@ -332,6 +332,24 @@ maintainers if you want to suggest a change.
> >       - A loop counter shall not have essentially floating type
> >       -
> >  
> > +   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
> > +     - Required
> > +     - Controlling expressions shall not be invariant
> > +     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
> > +       checks, and other constructs that are detected as errors by MISRA
> > +       C scanners, managing the configuration of a MISRA C scanner for
> > +       this rule would be unmanageable. Thus, this rule is adopted with
> > +       a project-wide deviation on 'if' statements. The rule only
> > +       applies to while, for, do ... while, ?:, and switch statements.
> 
> The sizeof() aspect mentioned particularly applies to switch() as well.
> Furthermore ?: is really only shorthand for simple if(), so I don't see
> treating it different from if() as helpful.

I'll answer in another email.



> That said, I'd be a little hesitant to give an ack here anyway. If you'd
> split 14.3 and 14.4, I'd be happy to ack 14.4's addition.
> 
> Jan
> 
> > +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
> > +     - Required
> > +     - The controlling expression of an if statement and the controlling
> > +       expression of an iteration-statement shall have essentially
> > +       Boolean type
> > +     - Implicit conversions of integers, pointers, and chars to boolean
> > +       are allowed
> > +
> >     * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_
> >       - Required
> >       - A switch-expression shall not have essentially Boolean type
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593307.926285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWfy-0006Om-GF; Thu, 31 Aug 2023 01:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593307.926285; Thu, 31 Aug 2023 01: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 1qbWfy-0006Of-DM; Thu, 31 Aug 2023 01:40:50 +0000
Received: by outflank-mailman (input) for mailman id 593307;
 Thu, 31 Aug 2023 01:40:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWfw-0006OU-TB
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:40:48 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68054525-479f-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 03:40:46 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 06FC4B82155;
 Thu, 31 Aug 2023 01:40:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B8B3C433C8;
 Thu, 31 Aug 2023 01:40:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68054525-479f-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693446044;
	bh=1eXJTQ0SxzUPQPN7rbTLn6SUCm/LszkdLog00ZbbM4w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jR8xKfX4C04nXslObo0pJd5UD9EVDz2D/nzC99HI8Or/kneNY2RBWzfg5Ocg9xaS9
	 0/VLbbByk9swx5cBWEldAtJlG7rdJVdslNwtW/BPZhEvgU6D8LcXmlxsYRH90Rt7Fb
	 I2Bbnf8mwmVth1wcK4g+dkHZKLBmekfdoANkLHp8USSidiw0fJCQdd1loJzGd7f5Cd
	 Z5EFBn1mzlLFN81h7iEUWuM0gtVVPRvOZT5WF0wpF/ZUvGo+iX2Wlhkk8nfo9GTgKH
	 Pn+4RntbMRYEF3es7oMfPzw5QyIRNrJIdwjjMyhnSc1G4Ozw93V97I3mfT9DfPNoOJ
	 6xPMiI8vLDbJw==
Date: Wed, 30 Aug 2023 18:40:41 -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>, 
    Jan Beulich <jbeulich@suse.com>, 
    "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    "julien@xen.org" <julien@xen.org>, 
    "george.dunlap@citrix.com" <george.dunlap@citrix.com>, 
    "nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>, 
    "roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
In-Reply-To: <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308301834400.6458@ubuntu-linux-20-04-desktop>
References: <20230830005950.305085-1-sstabellini@kernel.org> <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 30 Aug 2023, Bertrand Marquis wrote:
> Hi Stefano,
> 
> > On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > Add 14.3, with a project-wide deviations on if statements.
> > Add 14.4, clarifying that implicit conversions of integers, chars and
> > pointers to bool are allowed.
> > 
> > Also take the opportunity to clarify that parameters of function pointer
> > types are expected to have names (Rule 8.2).
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > docs/misra/rules.rst | 20 +++++++++++++++++++-
> > 1 file changed, 19 insertions(+), 1 deletion(-)
> > 
> > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > index db30632b93..6cde4feeae 100644
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -234,7 +234,7 @@ maintainers if you want to suggest a change.
> >    * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_
> >      - Required
> >      - Function types shall be in prototype form with named parameters
> > -     -
> > +     - Function pointer types shall have named parameters too.
> 
> 
> I would just modify to Function and Function pointers types shall be ...

Sure, I can do that.


> > 
> >    * - `Rule 8.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_03.c>`_
> >      - Required
> > @@ -332,6 +332,24 @@ maintainers if you want to suggest a change.
> >      - A loop counter shall not have essentially floating type
> >      -
> > 
> > +   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
> > +     - Required
> > +     - Controlling expressions shall not be invariant
> > +     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
> > +       checks, and other constructs that are detected as errors by MISRA
> > +       C scanners, managing the configuration of a MISRA C scanner for
> > +       this rule would be unmanageable. Thus, this rule is adopted with
> > +       a project-wide deviation on 'if' statements. The rule only
> > +       applies to while, for, do ... while, ?:, and switch statements.
> 
> Didn't we also said that we would accept while(0) and while(1) ?
> Also i agree with Jan, ? is really the same as if so we should not treat it differently.

I took the list of things the rule applies to from the text of the rule
itself. However, I think you are right about the ?: and it should be
deviated together with if. I can also add while(0) and while(1).


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:46:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:46:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593315.926294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWlb-00075w-1h; Thu, 31 Aug 2023 01:46:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593315.926294; Thu, 31 Aug 2023 01:46:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWla-00075p-VE; Thu, 31 Aug 2023 01:46:38 +0000
Received: by outflank-mailman (input) for mailman id 593315;
 Thu, 31 Aug 2023 01:46:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWla-00075j-3c
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:46:38 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38cb0ef9-47a0-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 03:46:36 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 87221B8216A;
 Thu, 31 Aug 2023 01:46:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E23ADC433C7;
 Thu, 31 Aug 2023 01:46: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: 38cb0ef9-47a0-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693446395;
	bh=Ouh9xByWvCFe93wc4MT07/xKVtJ4bxJouZLtUWwGCI0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JwbRDbZ8pTmnyRskyj3/Mb4HXnSaowWKdFuv+siHIX3iADpVw3OGemKDa60Qf0C8v
	 /QxCgxzwzKX6/pcOn/WkVTrJwrQfcw3gNiRFzqgiGSzk66RrDLMREwWs6fXVIOttQ3
	 q1gVuVN+H0/zOFhrxw/K8NpZ53T1N1GDFLpHWobQgS8xIAHtyEIqE5PmUQE946AI/T
	 JpgUZO4Ez5AmtbuxoqxVEp9pB6qfQB1bPEt+y9ffU6HXl7eMYqbKWFgiiu9O6mMO9G
	 ii0Pkm3ciI6JZDI07LPpcPIpdc8kflTKFdf1C8EzdsBcW8TMdszAOPrjD8IOFIHFPW
	 n81rRkI36Ovbw==
Date: Wed, 30 Aug 2023 18:46:31 -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: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    "julien@xen.org" <julien@xen.org>, 
    "george.dunlap@citrix.com" <george.dunlap@citrix.com>, 
    "nicola.vetrini@bugseng.com" <nicola.vetrini@bugseng.com>, 
    "roberto.bagnara@bugseng.com" <roberto.bagnara@bugseng.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH] docs/misra: add 14.3 and 14.4
In-Reply-To: <64ACA853-E0D3-4B56-B79B-C31BF692A936@arm.com>
Message-ID: <alpine.DEB.2.22.394.2308301840520.6458@ubuntu-linux-20-04-desktop>
References: <20230830005950.305085-1-sstabellini@kernel.org> <C2070A06-265A-48EC-9A67-34D820B2F94E@arm.com> <15551c77-95fa-7c7d-6b6b-d5c42a38caac@suse.com> <64ACA853-E0D3-4B56-B79B-C31BF692A936@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 30 Aug 2023, Bertrand Marquis wrote:
> > On 30 Aug 2023, at 09:58, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 30.08.2023 09:54, Bertrand Marquis wrote:
> >>> On 30 Aug 2023, at 02:59, Stefano Stabellini <sstabellini@kernel.org> wrote:
> >>> +   * - `Rule 14.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_04.c>`_
> >>> +     - Required
> >>> +     - The controlling expression of an if statement and the controlling
> >>> +       expression of an iteration-statement shall have essentially
> >>> +       Boolean type
> >>> +     - Implicit conversions of integers, pointers, and chars to boolean
> >>> +       are allowed
> >> 
> >> I am a bit wondering here what is remaining after this deviation.
> > 
> > Hmm, good point - floating point (and alike) types, which we don't use anyway.
> 
> So we accept the rule but we deviate all cases that would apply.
> I do not think we should do that.

In the past we have been accepting rules that don't apply to Xen because
it is not much that they don't apply. It is that we have no violations
and we don't think there is any risk of getting violations in the
future.

But theoretically they apply, and for example if we end up with floating
points in Xen at some point in the future we would want rules affecting
floating points to apply, hence we accepted rules about floating points.

This rule is a bit different though: we deviate most of the rule and the
remaining part is small. In addition, we have no violations and we don't
think there is any risk of getting violations in the future for what's
left of the rule.

So I don't know if it is worth adding the rule or not. I think we should
ask Roberto next time. For now, I remove it from this patch.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593321.926305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWo5-0007he-Ev; Thu, 31 Aug 2023 01:49:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593321.926305; Thu, 31 Aug 2023 01:49:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWo5-0007hX-CF; Thu, 31 Aug 2023 01:49:13 +0000
Received: by outflank-mailman (input) for mailman id 593321;
 Thu, 31 Aug 2023 01:49:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fRny=EQ=oracle.com=martin.petersen@srs-se1.protection.inumbo.net>)
 id 1qbWo4-0007hR-NT
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:49:12 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92dd5e22-47a0-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 03:49:09 +0200 (CEST)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37V0EjDN012132; Thu, 31 Aug 2023 01:48:59 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 3sq9xt8sma-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 31 Aug 2023 01:48:58 +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 37V0VnKT032764; Thu, 31 Aug 2023 01:48:58 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3sr6dqtxmh-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 31 Aug 2023 01:48:58 +0000
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 37V1mnKr000352;
 Thu, 31 Aug 2023 01:48:57 GMT
Received: from ca-mkp2.ca.oracle.com.com
 (mpeterse-ol9.allregionaliads.osdevelopmeniad.oraclevcn.com
 [100.100.251.135])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id
 3sr6dqtxfw-5; Thu, 31 Aug 2023 01:48: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: 92dd5e22-47a0-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc :
 subject : date : message-id : in-reply-to : references : mime-version :
 content-type : content-transfer-encoding; s=corp-2023-03-30;
 bh=IoJ55lmsCSiFbRgBXJ6sb7E1RfD5nkFY93UY3DR6jeo=;
 b=yUF/LTaCmn5a7K3jdw3honoUNKeo2AOzsEC/iBY2dkkrxAbHf1Yw8Rl/6M8nYgYK39Mx
 OYQCbJ4PKxo/NgJEnmMFR2z7WW9x8L81fQUhUMzDBpoOed5eZpdaMqASwqtUXJHLx3YR
 rav8TyINmOiemyBmMNPyjFT2AEIfCyu3shbuCEmWlbjr9QXgngrKZajFzqlTU/kR+HIT
 yp0qjH7ZANeDH5VPn8xjdrhifPjU15s49MQKJc/l5tjfqHC7O41KqbkcLD5+9W2gW9Yi
 L2f14wa7Gmrd8EgFbmUfj1rV95SEQBLJBVZDUEahIbHPHTeK1AT5Q93KGWTwY3TYMPEB lQ== 
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
        Juergen Gross <jgross@suse.com>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
        "James E.J. Bottomley" <jejb@linux.ibm.com>,
        xen-devel@lists.xenproject.org,
        Dan Carpenter <dan.carpenter@linaro.org>
Subject: Re: [PATCH] xen/scsifront: shost_priv() can never return NULL
Date: Wed, 30 Aug 2023 21:48:32 -0400
Message-Id: <169344360100.1293881.8692912884292085962.b4-ty@oracle.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20230822064817.27257-1-jgross@suse.com>
References: <20230822064817.27257-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-31_01,2023-08-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0
 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=882 bulkscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308310014
X-Proofpoint-ORIG-GUID: zwa0klpZnT3pvexSHJKeq2TYYWeJVYWz
X-Proofpoint-GUID: zwa0klpZnT3pvexSHJKeq2TYYWeJVYWz

On Tue, 22 Aug 2023 08:48:17 +0200, Juergen Gross wrote:

> There is no need to check whether shost_priv() returns a non-NULL
> value, as the pointer returned is just an offset to the passed in
> parameter.
> 
> While at it replace an open coded shost_priv() instance.
> 
> 
> [...]

Applied to 6.6/scsi-queue, thanks!

[1/1] xen/scsifront: shost_priv() can never return NULL
      https://git.kernel.org/mkp/scsi/c/73c7881b5066

-- 
Martin K. Petersen	Oracle Linux Engineering


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593328.926315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWsD-0001AA-W4; Thu, 31 Aug 2023 01:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593328.926315; Thu, 31 Aug 2023 01:53: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 1qbWsD-0001A3-Ss; Thu, 31 Aug 2023 01:53:29 +0000
Received: by outflank-mailman (input) for mailman id 593328;
 Thu, 31 Aug 2023 01:53:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWsC-00019v-NC
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:53:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ceaa9c9-47a1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 03:53:27 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A16DD60DFE;
 Thu, 31 Aug 2023 01:53:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B08FDC433C8;
 Thu, 31 Aug 2023 01:53: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: 2ceaa9c9-47a1-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693446805;
	bh=r89SBP4ZBFiA5pzozqSflB/e7p8Bb4jB8v6Sxpw1v94=;
	h=From:To:Cc:Subject:Date:From;
	b=DEEnU5GyPbG9lO8bAZ1i2r1dFXZMJK2pZw9G0QZdGRpTlB6cLtqw+KDJFg6M0wJw9
	 KLaF75YQev+zt7gfb/ZKp8FKIM1qfKbM9JXYZ+Ry6Jb+ehlEEc815EJDagK0JzBuD3
	 U+ZtdeDJ/Upxm3cwXkFc46eoAW09YSrmP2ZdX98dwKvYI6zd/WM6tBfoEcdoxKYfs1
	 6kd8cLxCKtgf4k6Ni2sYX6bhedT+hrmAmo1AmznLsWb3lOZMaYgPvNOdP3dh93OSuY
	 nuDrQsPKsoVnq9NFX1SfBRwVN//L6nVo25fC2mOdCleh/54zrR1wUI91NMMZ/fo71q
	 wRdGsl+rFHKDQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	george.dunlap@citrix.com,
	bertrand.marquis@arm.com,
	roberto.bagnara@bugseng.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] docs/misra: add 14.3
Date: Wed, 30 Aug 2023 18:53:16 -0700
Message-Id: <20230831015316.531167-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Add 14.3, with project-wide deviations.

Also take the opportunity to clarify that parameters of function pointer
types are expected to have names (Rule 8.2).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
v2:
- remove 14.4
- better wording for the 8.2 clarification
- add while(0) and while(1) to 14.3
- add ?: to the deviation
- remove list of statements the rule applies to
---
 docs/misra/rules.rst | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index db30632b93..9389976290 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -234,7 +234,8 @@ maintainers if you want to suggest a change.
    * - `Rule 8.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_02.c>`_
      - Required
      - Function types shall be in prototype form with named parameters
-     -
+     - Clarification: both function and function pointers types shall
+       have named parameters.
 
    * - `Rule 8.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_03.c>`_
      - Required
@@ -332,6 +333,17 @@ maintainers if you want to suggest a change.
      - A loop counter shall not have essentially floating type
      -
 
+   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
+     - Required
+     - Controlling expressions shall not be invariant
+     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
+       checks, and other constructs that are detected as errors by MISRA
+       C scanners, managing the configuration of a MISRA C scanner for
+       this rule would be unmanageable. Thus, this rule is adopted with
+       a project-wide deviation on if and ?: statements.
+
+       while(0) and while(1) are allowed.
+
    * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_
      - Required
      - A switch-expression shall not have essentially Boolean type
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 01:56:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 01:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593335.926324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbWv4-0001jy-CS; Thu, 31 Aug 2023 01:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593335.926324; Thu, 31 Aug 2023 01:56: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 1qbWv4-0001jr-9Z; Thu, 31 Aug 2023 01:56:26 +0000
Received: by outflank-mailman (input) for mailman id 593335;
 Thu, 31 Aug 2023 01:56: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=IFXE=EQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qbWv3-0001jl-Ek
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 01:56:25 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9648fe0d-47a1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 03:56:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id A1350B81071;
 Thu, 31 Aug 2023 01:56:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88C68C433C8;
 Thu, 31 Aug 2023 01:56:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9648fe0d-47a1-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1693446981;
	bh=d70/e4hi0oWWqveet02lyjR6ZOLtLbYdO1yeEWjTUMc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qBHveqCkaixZdzynKXy29BIGGP9tzl0BrWfyq5fKitYIEXgkGSMf8OM4uv3EsHzQV
	 TVMfP75CQKdT0ReZtIaUqiaLzt4N7WXExGDodJmQu5Ynsuy6j+S5ZY0t30PFQhLJZW
	 YXBOqobpjTDj73HVGeEJ+GFSK3ivzLv94Q5tkNKv7Y4xUyM/Z6WO/JlxyawJavFcyq
	 PC8FF2G0NO2aN34/AQ7UU0VbCdQBlT6JwIw/A5hV2PBKln6FJDviRCU9coF/NowObn
	 NOWaWy3zyhIOcqIRtswKCX5MJK+p7xOo4HJvNeH2i7IwUgM/tithcDQ3PVxOhY15wl
	 JKvCgY0MATCZQ==
Date: Wed, 30 Aug 2023 18:56:16 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@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>, Wei Liu <wl@xen.org>, 
    nicola.vetrini@bugseng.com, Bertrand.Marquis@arm.com, 
    Luca.Fancellu@arm.com, michal.orzel@amd.com
Subject: Re: [XEN PATCH 05/13] automation/eclair: add deviation for
 usercopy.c
In-Reply-To: <04f03604-e788-0d76-1ae8-8bb74c6b4c7a@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2308301855110.6458@ubuntu-linux-20-04-desktop>
References: <cover.1693228255.git.simone.ballarin@bugseng.com> <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
 <04f03604-e788-0d76-1ae8-8bb74c6b4c7a@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, 30 Aug 2023, Simone Ballarin wrote:
> On 29/08/23 00:27, Stefano Stabellini wrote:
> > +Nicola, Luca
> > 
> > On Mon, 28 Aug 2023, Simone Ballarin wrote:
> > > xen/arch/x86/usercopy.c includes itself, so it is not supposed to
> > > comply with Directive 4.10:
> > > "Precautions shall be taken in order to prevent the contents of a
> > > header file being included more than once"
> > > 
> > > This patch adds a deviation for the file.
> > > 
> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > 
> > > ---
> > >   automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
> > >   docs/misra/rules.rst                             | 2 ++
> > >   2 files changed, 6 insertions(+)
> > > 
> > > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > index 2681a4cff5..a7d4f29b43 100644
> > > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > @@ -96,6 +96,10 @@ conform to the directive."
> > >   -config=MC3R1.D4.10,reports+={safe, "first_area(text(^ \\* In this case,
> > > no inclusion guards apply and the caller is responsible.*\\*/$,
> > > begin-1))"}
> > >   -doc_end
> > >   +-doc_begin="xen/arch/x86/usercopy.c includes itself: it is not supposed
> > > to comply with the directive"
> > > +-config=MC3R1.D4.10,reports+={deliberate,
> > > "all_area(all_loc(file("^xen/arch/x86/usercopy\\.c$")))"}
> > > +-doc_end
> > > +
> > >   #
> > >   # Series 5.
> > >   #
> > > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > > index 4b1a7b02b6..45e13d0302 100644
> > > --- a/docs/misra/rules.rst
> > > +++ b/docs/misra/rules.rst
> > > @@ -62,6 +62,8 @@ maintainers if you want to suggest a change.
> > >        - Files that are intended to be included more than once do not need
> > > to
> > >          conform to the directive. Files that explicitly avoid inclusion
> > > guards
> > >          under specific circumstances do not need to conform the
> > > directive.
> > > +       xen/arch/x86/usercopy.c includes itself: it is not supposed to
> > > comply
> > > +       with the directive.
> > 
> > 
> > We need to find a consistent way to document this kind of deviations in
> > a non-ECLAIR specific way, without adding the complete list of
> > deviations to rules.rst.
> > 
> > Can we use safe.json and add an in-code comment at the top of
> > usercopy.c? E.g.:
> > 
> > diff --git a/xen/arch/x86/usercopy.c b/xen/arch/x86/usercopy.c
> > index b8c2d1cc0b..8bb591f472 100644
> > --- a/xen/arch/x86/usercopy.c
> > +++ b/xen/arch/x86/usercopy.c
> > @@ -1,3 +1,4 @@
> > +/* SAF-1-safe */
> >   /*
> >    * User address space access functions.
> >    *
> >  > Otherwise, maybe we should extend safe.json to also have an extra field
> > with a list of paths. For instance see "files" below >
> > {
> >      "version": "1.0",
> >      "content": [
> >          {
> >              "id": "SAF-0-safe",
> >              "analyser": {
> >                  "eclair": "MC3R1.R8.6",
> >                  "coverity": "misra_c_2012_rule_8_6_violation"
> >              },
> >              "name": "Rule 8.6: linker script defined symbols",
> >              "text": "It is safe to declare this symbol because it is
> > defined in the linker script."
> >          },
> >          {
> >              "id": "SAF-1-safe",
> >              "analyser": {
> >                  "eclair": "MC3R1.D4.10"
> >              },
> >              "name": "Dir 4.10: files that include themselves",
> >              "text": "Files purposely written to include themselves are not
> > supposed to comply with D4.10.",
> >              "files": ["xen/arch/x86/usercopy.c"]
> >          },
> >          {
> >              "id": "SAF-2-safe",
> >              "analyser": {},
> >              "name": "Sentinel",
> >              "text": "Next ID to be used"
> >          }
> >      ]
> > }
> > 
> In general, I prefer the first option for such ad hoc deviation (the comment
> at the beginning of the file): this way, anyone who touches the file will
> immediately see the comment and think as its changes will affect the deviation
> (is it still safe? is it still necessary?).
> 
> To help the developer more, I think it is better to also add the "name" in the
> comment, this is my proposal:
> 
> /* SAF-4-safe Dir 4.10: files that include themselves*/

Yes, this is fine, it was always intended to be possible to add the
name of the deviation or a short comment in the in-code comment


> /*
>  * User address space access functions.
>  *
>  * Copyright 1997 Andi Kleen <ak@muc.de>
>  * Copyright 1997 Linus Torvalds
>  * Copyright 2002 Andi Kleen <ak@suse.de>
>  */
> 
> -- 
> Simone Ballarin, M.Sc.
> 
> Field Application Engineer, BUGSENG (https://bugseng.com)
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 05:51:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 05:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593344.926341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbaaX-0003Uw-Pu; Thu, 31 Aug 2023 05:51:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593344.926341; Thu, 31 Aug 2023 05:51: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 1qbaaX-0003Up-N3; Thu, 31 Aug 2023 05:51:29 +0000
Received: by outflank-mailman (input) for mailman id 593344;
 Thu, 31 Aug 2023 05:51: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 1qbaaW-0003Uf-PV; Thu, 31 Aug 2023 05:51: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 1qbaaW-0006c0-AE; Thu, 31 Aug 2023 05:51: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 1qbaaV-000629-S6; Thu, 31 Aug 2023 05:51:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbaaV-0007lv-Rb; Thu, 31 Aug 2023 05:51:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zyQBNC1aJyIrAKltHnD0w8qzXjdpWCVXIMVAFLBMsK4=; b=JN/wCCl1yQgrJZy6rECCJU092f
	oCvLOkmYbUzktFjCT8L5F1TJFKYjjz4oiuMfJk5rDwCvRQKJ1nH0U6n4ijgyEfkkRFZZxYVZdty4D
	kwxeKlbQBam2DOx7OJuHURadtiqnxVRQ6DwWjhc8CRPes+o0D1AY041LRzJmD8zPjgIk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182570-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 182570: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl-credit1:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=156618d9ea67f2f2e31d9dedd97f2dcccbe6808c
X-Osstest-Versions-That:
    qemuu=813bac3d8d70d85cb7835f7945eb9eed84c2d8d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 05:51:27 +0000

flight 182570 qemu-mainline real [real]
flight 182578 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/182570/
http://logs.test-lab.xenproject.org/osstest/logs/182578/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail pass in 182578-retest
 test-arm64-arm64-xl-credit1   8 xen-boot            fail pass in 182578-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 182578-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 182578 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 182578 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 182578 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 182578 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182555
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182555
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182555
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182555
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182555
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182555
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182555
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182555
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                156618d9ea67f2f2e31d9dedd97f2dcccbe6808c
baseline version:
 qemuu                813bac3d8d70d85cb7835f7945eb9eed84c2d8d0

Last test of basis   182555  2023-08-29 14:08:50 Z    1 days
Testing same since   182570  2023-08-30 16:37:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex BennĂ©e <alex.bennee@linaro.org>
  alloc.young <alloc.young@outlook.com>
  Andrei Gudkov <gudkov.andrei@huawei.com>
  Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
  Fabiano Rosas <farosas@suse.de>
  Hyman Huang <yong.huang@smartx.com>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   813bac3d8d..156618d9ea  156618d9ea67f2f2e31d9dedd97f2dcccbe6808c -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 06:09:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 06:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593354.926351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbarZ-0005Fq-EA; Thu, 31 Aug 2023 06:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593354.926351; Thu, 31 Aug 2023 06:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbarZ-0005Fj-Ad; Thu, 31 Aug 2023 06:09:05 +0000
Received: by outflank-mailman (input) for mailman id 593354;
 Thu, 31 Aug 2023 06:09: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbarY-0005Fd-DF
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 06:09:04 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1f96448-47c4-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 08:09:02 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7068.eurprd04.prod.outlook.com (2603:10a6:10:fe::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 31 Aug
 2023 06:08:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 06:08:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1f96448-47c4-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eoBMFafAQB0SB0jEfPXKt2kVUn2X71KpbXcWibh+QysDETRIAxJSsWQndTcUv/gKDM2/DQDgTyPE0s7WMNojRAwct/wlGEuIX5okbjpXpHyK/bRbgbY6mqXRqhnN+nSJTnKsPI8N+fn9lXRYU8K5MtVRlOHlOSTg6N78IZzmFB10QQlKT68CCWUpVmz/jc3EWsBvSrPJvD0ndH/wrzUFpb9HR92c/SwmumZvGuJSCbCBLkw40Wgl63ZfRysFUze4/wzlehf2GpLVVH4cDNBuUgWL8LhXhjNH8wuAO3BafXLalp7jmZIWPXYxW0IybhVI5DM7v6q8bp9eE21ovicgyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nCeNr25cj19+nciixEHxDcEEeADH/1FikE5At5HqopU=;
 b=NJreaXr13cLyfV4KXEgNHRO5UcVaKax7NUW16Dw3il0cnzSIo/bzPmw5KsmudEp8318XVU02pIFksoro7a1YLwmk6vTTdnKqadHfro9mqFMtiGU+luxxJ44YTqcOgQGMixcJHdeqnVzICWBqgNUWVER7qykmf3hfxCHF//DYO449M+8uTs5gZyCSRbFAlZDJ/lsgMtNiYXxPDDOFsZsSrPCMdOvODFW81GeMPoW3w/b1pj//t2ZBNyr83axoHDIKZQNgR7dItFysY/OHFZvQJ7E4CGJjT7WZ6K6K5ZmDWL/l7x/RsFZPKKe/GDlJOpgBRVJ68Thm8DOThgECc8R4cA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nCeNr25cj19+nciixEHxDcEEeADH/1FikE5At5HqopU=;
 b=aw4N6UNjW0keFAfGONTF6hYgdMj41GgKczS/LWVXqSMyKMCaZj4akOv9C44NDtNqMX6HuXS0NB/zzHq1tFORHSoph/k59O6VmgVXgNYOT+vM/tzjgZ2PBfELEZ+rw/QxEec1XSc4dYiyV7RyDKP2BrsDXNVfTQyS4I+LptMezqs0M0THXLt854e//y6pKi32ohJjxNzcTQf7Fksxk7nrrUMvnq+XzAdJzAaHBcrZxDnklEzGD4Az2a5U7nxtqyDCoJBS2bPc7vTr3Di66haQts5MwOz5UfFHipEOFJar+A1+o/kbMufDB2bL06ofkC96iyJOBsHoXcpE1Gx9aHfYYA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <28dffe2c-e8e7-6d6a-0d4d-e6de8e31b429@suse.com>
Date: Thu, 31 Aug 2023 08:08:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH 1/3] x86: Reject bad %dr6/%dr7 values when loading guest
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jinoh Kang <jinoh.kang.kr@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230829134333.3551243-1-andrew.cooper3@citrix.com>
 <20230829134333.3551243-2-andrew.cooper3@citrix.com>
 <6217ca42-d5bb-40a0-53f0-ec543c8297a6@suse.com>
 <c86b8f1c-dffb-c850-3054-f31f584861c5@citrix.com>
 <0708d6fd-2672-a0f9-e782-83e6eb66dbeb@suse.com>
 <2ced7357-b8ec-e071-9ce5-c4d23b1a6a03@citrix.com>
 <57079660-acda-eca7-5a39-42463cbf64e8@suse.com>
 <3e83abfe-266a-7b14-b84c-03eef5459dce@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3e83abfe-266a-7b14-b84c-03eef5459dce@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7068:EE_
X-MS-Office365-Filtering-Correlation-Id: cdf7ce16-560a-4982-6990-08dba9e8c463
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ctg7ltFCrgvOboARbZwOy0TonQspMUlJSz6XFLVBi8wbDChyUZajlRKP7I3VD2nFtlUMMO4xKZzXD7CvqV82MOG4e4L81vPi3iGFW5gIuCrSkRd+VSqg22m/Mn+0K+/U4JdLZbqXqAYgs9JeX7uhrnCmyzd6OiuCsaBUZ4Yip5rguSFYOSJ7+zCJFPGLraCKTg/ok2cIr+0Qw7WSEEA4qQX0DGBCr2jN8kPNE9tnRyhHgf0Mv/VdzT8jFP/fykboE3A8xojUpLXF0lwioAJ+ZyNaviN0HL1JGVJ4T7iKe66HHgRgSuYOiWD8bfgSROjycMPLywgNedZh615xDFLWOmLwotdDnGFJhV7U/hEEyFtkQS9cfpaVSNTn0yMiH15r+87ukDrTSmD+AjnLcNikX04LPndoNstKQdOGXsXO7uEfe4l++SPNKhFyzLW+FFECr9FfXXEA6Vp6X1I7ZOBdCg3c2xe2gfvn1+7UNq8GygPYL3ZNmqWSTmcy/i2e5KHRnBvkJxaEUgZbn1Cs0kuGvh6DrLke6RVAt1Fb4jnu3FJVRui7dQUdvC3OAN7MsL9Pinab4VYC65f7kLie3kNvkqmZbuveDgjSX9uLpCbllBl9dEWgLOYo7AWMOhACgjM2fjaHbkdMtkHWZwCWLQXNZQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199024)(186009)(1800799009)(66556008)(316002)(66476007)(54906003)(66946007)(6506007)(6916009)(478600001)(26005)(6666004)(38100700002)(41300700001)(6512007)(31696002)(53546011)(86362001)(6486002)(2906002)(31686004)(4326008)(2616005)(8936002)(8676002)(5660300002)(83380400001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzU4UVlGMWdSKzh3emN4YThyaXVVTFQvV2d0Wk9KZ0RER3BHMmNzbVY4TEFU?=
 =?utf-8?B?Y1JNUC9YZE1Mc3pSYlN6ZFR3Nkw2VzhnbXdCQ2dPU2pVT0dhcnQ3MWk4T240?=
 =?utf-8?B?d0dVdnlOT1ZLNWZHa1dSRjY2c085RmN5RDVwN21Wa2hvM3Fqb2RxK09NcHgw?=
 =?utf-8?B?MEgyTndmdllWTitXbmcycW1DSkN4VTQ5U29HbHZEUmVEUFVLYm9Vcmg5V0Zj?=
 =?utf-8?B?MVBJWHFDam1OY2ZuT2IrQ2Jzc2hySEU3emw1YXo5ckpPTjh2b3FlZU9BMlY4?=
 =?utf-8?B?WTZlZkpsdFZvMEEzdzljQ3lFSFUxZU9UbWRkdVZWUWhMTlQyYjVmYzBETFlC?=
 =?utf-8?B?cDBqc2c3VEtZQmt2Q1duRWN3MlFwNXZzTFcvckZYWjlLM3UwR3JMNERTUUR6?=
 =?utf-8?B?N0w2VlUvSFFUaFlPbTBhS2Zmb0Jlc0cyTDhRQzA4em9Pa1JFS1RiVUhRc3VH?=
 =?utf-8?B?OTdVUkNDclFoV2FmY2pEQWNsYTFUb1pUVEROaWlVeEFWUEVjdmsyVm14Ynhq?=
 =?utf-8?B?c3dOQ2tJM0hDbHVDYXJITzlnUG93a01BWXoxSDM2TnVHRW9BZm83ZG5sR1Vq?=
 =?utf-8?B?Sm4yUkcyamQ4OUFoMUtYeG1rNTByd2Y4SXVlK0lKNTZFdTBDMWRwcVZ5Q3Bx?=
 =?utf-8?B?QTJMbm5teWlOSnNGWEJNbnNHTkFCWnJndUs3cHdINkVWVll4V1NYSVhlKzVh?=
 =?utf-8?B?L0F4ekE3ODlycWp5a3Ivby9ROTZzcUxyYmpjdXE1SFJrZG9DZ2ZOdUZtVXVB?=
 =?utf-8?B?WEVwSmMrOFUyZ0NWZlkwRnJwV0ZxWlhJQ1hiMU9NQ3JpYUtHRUZLaytVcyty?=
 =?utf-8?B?ZTFhVXJaVDFvaHkvVkRXcnVGdytoZFd1U0RxK0RtSmQ2S1dqb1B3OU05N00z?=
 =?utf-8?B?RW0xV3ZzUnJjNzlkcDgxQlg3d0pUdDg5YW0wdUo1eHEydHJDcTliY2FobDVE?=
 =?utf-8?B?b3UwOGFhSm0xZENQaVJYU1h5WGR1TWZJUTUyMEpqZUdkUlBUTERpRVhZY0ZL?=
 =?utf-8?B?c3h0Y29sSUhWWEhKZmVUM3B1YUM0dnZJWmNaVnFEbG53MTVnSGw3cFFKclJN?=
 =?utf-8?B?MEpBc2ZzekYwZm1CMEsyc2xWVlVKWE5yKzdNejJiWXR6VXpjMjhCVnBUREh1?=
 =?utf-8?B?M2pkVjNmbitJN3A1ci95R2RpUHVBK2srK1RmdmdSTjY5UmsxTG93Q3RSV2dE?=
 =?utf-8?B?TFZ5RUtMMVdDOEN1RW0wOGs1SUp4R1lCWXloN2dxRmFPTzFad0dOVlRWT0tt?=
 =?utf-8?B?SEpyT1RmeDEzeSs3TU9jTERzcEh2MTVRTXFvNVhPUnZiWXRNS0lDcXFlbzNz?=
 =?utf-8?B?blRaQTFHeTNGR0t4bElGTTYrUmhPRE1HWndTSlQ5UkJ6b05YZ0FJalBZRlda?=
 =?utf-8?B?VlFKby9odEloUTMrK1gxK056Mk5Qb2xEQ1VzdzNYZ0orbUNNL2NGOVIyRG0z?=
 =?utf-8?B?b1lRTS9XZmYwME95bXVWY1dyM0dURmZDZzZtTEQzVkhoanNOQ3lGNXdnOTdl?=
 =?utf-8?B?aENZRkdOMVN6eExtYlRERUtPTEQrU2hwd29oMnRVdmlsck9Xc29LRjhoNkQx?=
 =?utf-8?B?eHRjVnQ4SHZCb1JLTXo4aXdQQkNrclJ4b1dvSkpWVDB0bmtxV2VESitOdzNV?=
 =?utf-8?B?VFJMZ3dEYjVUbCtSOUFRWGx1Y0dmSEEybHFFbFhDelNWOHN6ck1vcTJsZ0ZZ?=
 =?utf-8?B?a1VWMkhhVS9pVGtzeG9tcW0zOFRRYU82Z1diZ2gxKzU4eXJRM0UwUmwxYlB0?=
 =?utf-8?B?K1R2dTNZQ0d5eTlWTW02ME50bnBhZ3pXYVkxa3Jkd0tvbEJ1d2hvWTNNSld2?=
 =?utf-8?B?MDhTVDNpL0RLdk8yZi9ZUVdGdjVIL2ppeXJiNjA3K21kM3FWN2dtRWRqVmln?=
 =?utf-8?B?WTlkdHpiV2xWUG9xZE9XWTFlM2FqNG1kcURkeHYwZnJMWitXY09VWTY5U2Rl?=
 =?utf-8?B?VzNrQzBzM3ZVRE9WZ1loR2grWmIwN2VHVDR1S2pMQ3JqZ1FFQ1RUbStsTFcr?=
 =?utf-8?B?dDdxNkRnR1ZMeWNFbElvcHVrRTh2WndRKzBXeUQrZzlKdlpacGg0aUxEbjFV?=
 =?utf-8?B?TWJmbWtpTWg2LzhoQ0czZGZYMmY1RXlwMDl3ZEg4MnNqRERBWGp1K1g0TW1o?=
 =?utf-8?Q?ObMPuG+vUj7YlGVar40IiVDmA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdf7ce16-560a-4982-6990-08dba9e8c463
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 06:08:59.6944
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ovMYqiv3WnYhyOTTO+4zFkh+I6HIaAV7F8ch7MqKZrA5IU80SliVFwI3dnMRGLnTNv9+1cY5zQu0Lff3/H80/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7068

On 30.08.2023 19:02, Andrew Cooper wrote:
> On 30/08/2023 5:13 pm, Jan Beulich wrote:
>> On 30.08.2023 17:28, Andrew Cooper wrote:
>>> On 30/08/2023 4:12 pm, Jan Beulich wrote:
>>>> On 30.08.2023 16:35, Andrew Cooper wrote:
>>>>> On 29/08/2023 3:08 pm, Jan Beulich wrote:
>>>>>> On 29.08.2023 15:43, Andrew Cooper wrote:
>>>>>>> --- a/xen/arch/x86/domain.c
>>>>>>> +++ b/xen/arch/x86/domain.c
>>>>>>> @@ -1074,8 +1074,27 @@ int arch_set_info_guest(
>>>>>>>  #endif
>>>>>>>      flags = c(flags);
>>>>>>>  
>>>>>>> +    if ( !compat )
>>>>>>> +    {
>>>>>>> +        if ( c(debugreg[6]) != (uint32_t)c(debugreg[6]) ||
>>>>>>> +             c(debugreg[7]) != (uint32_t)c(debugreg[7]) )
>>>>>>> +            return -EINVAL;
>>>>>>> +    }
>>>>>>> +
>>>>>>>      if ( is_pv_domain(d) )
>>>>>>>      {
>>>>>>> +        /*
>>>>>>> +         * Prior to Xen 4.11, dr5 was used to hold the emulated-only
>>>>>>> +         * subset of dr7, and dr4 was unused.
>>>>>>> +         *
>>>>>>> +         * In Xen 4.11 and later, dr4/5 are written as zero, ignored for
>>>>>>> +         * backwards compatibility, and dr7 emulation is handled
>>>>>>> +         * internally.
>>>>>>> +         */
>>>>>>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.dr); i++ )
>>>>>>> +            if ( !access_ok(c(debugreg[i]), sizeof(long)) )
>>>>>> Don't you mean __addr_ok() here, i.e. not including the
>>>>>> is_compat_arg_xlat_range() check? (Else I would have asked why
>>>>>> sizeof(long), but that question resolves itself with using the other
>>>>>> macro.)
>>>>> For now, I'm simply moving a check from set_debugreg() earlier in
>>>>> arch_set_info_guest().
>>>>>
>>>>> I think it would be beneficial to keep that change independent.
>>>> Hmm, difficult. I'd be okay if you indeed moved the other check. But
>>>> you duplicate it here, and duplicating questionable code is, well,
>>>> questionable.
>>> It can't be removed in set_debugreg() because that's used in other paths
>>> too.
>> Sure, I understand that.
>>
>>> And the error from set_debugreg() can't fail arch_set_info_guest()
>>> because that introduces a failure after mutation of the vCPU state.
>>>
>>> This isn't a fastpath.Â  It's used approximately once per vCPU lifetime.
>> But fast or not isn't the point here.
> 
> No.Â  The point is no change from the existing code.

Having thought about it over night: It's not nice but okay to duplicate
the bogus check here, but then please say that and why you do so in the
description. With that suitably added
Acked-by: Jan Beulich <jbeulich@suse.com>

> If you think it's wrong, it in a separate change and don't block this fix.

I would like to ask you to think about the opposite case occurring: I'm
pretty sure you wouldn't let me get away. Either - like so often - you'd
simply not reply anymore at a certain point, or - like here - you'd
expect me to adjust to your expectations.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 06:15:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 06:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593361.926361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbaxd-0006nh-1w; Thu, 31 Aug 2023 06:15:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593361.926361; Thu, 31 Aug 2023 06:15:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbaxc-0006na-VW; Thu, 31 Aug 2023 06:15:20 +0000
Received: by outflank-mailman (input) for mailman id 593361;
 Thu, 31 Aug 2023 06:15: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbaxb-0006nU-SS
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 06:15:19 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe16::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1f055f9-47c5-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 08:15:18 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9959.eurprd04.prod.outlook.com (2603:10a6:102:387::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Thu, 31 Aug
 2023 06:15:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 06:15: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: c1f055f9-47c5-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MwIqk/jkU6YwJ60uVcPzOqIYXKk6RyRPIRupU5pSxQ9GG5SFaYhYnU9dqKK2XHC2+E8ohM+oUhbRhcaBsRfq/yphDfUU1IUxakJSpItsnHjFEXP/cKO2+4jC20+Aj1XM+KoigR+DX9uU04tpn4uzy5l/0Mxk3pXa0ZVbIc/ylGVfp2Wd0BPjOCpCIlAU7KMQ5/lx2OqUSeEikmNOqLr/FVnbqI9Tt3BFNZ2vSu+DUewbFCFwwHXnbPLAHGI98JFJVTV7hJPywK51T4P85fgPu8P05t17SL8pyOwc7avrJv6+1tCKuqNiWHI5cm6y7yvlwthT2LubFfXiclxsGfJpeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o/uhMQIUJkpNDbQp8w14s3Rnav8Hu3quoN6QCu+nTUo=;
 b=hShKUQttjLQvOmKRvQW8copKjI+pJULlX7MpMfT8Vh5KvskqeDg7YJdVjwrWH7xdtPFS23S3HkQUzAK3QRMkrEzhLtwj4RC0pPO+kw5k3UcxyEElsBYN0p+9tZgAeRK1hdqFq5fT0Y8484PdCU/X4Y8C/197LIZUcxb+Hjf90WgW9jbP7wDAhYsOsVrzSFBb2k4Y9pOvJrZUNzq5d4TMxchH/ctDpoD0SpgbmOHlr4TAFf/frvIYka1pka19c15yxVg+9vu4L3C0YEp9+tnqamOzYos66d1n7g87s5vDAg5kDlbnAXDBHkmGlMGS3o7Lr8wb0Lr9DORSXWuDVnB8Yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o/uhMQIUJkpNDbQp8w14s3Rnav8Hu3quoN6QCu+nTUo=;
 b=pVc17duEYsQkom6puOs5dKUgjDDcj5rXu0lCye7e4wgY6gSJPCzJ6/QqGXjSZA34s/8R6RH2PNiS04RvTu3iELQ6ph/Cd3sPxQlKPu/J4ApfQtLL8oCq4nCus3YYbrUih6iVOqf7k6UuIJ+96rbnRazQzzhYBhshhbAHsdkWQ43uQhm5i8GqC3bjEqGGHoRFFCPVOUYcl9RwW/x9q1nKNJvwoNpZa41+VoEKNuuk3MpIokFCZlMp+IWisX4J88d62owkTzbqm3cBot2Fyvn/zvJxThhOlNs/DBQpmubrXCqIGhK5EL9nDzRvj8ymLG8Qu2tLqMr9X0J5ruBEPYj+hw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e3ccc381-1fd5-b99c-e37e-5870af401dd0@suse.com>
Date: Thu, 31 Aug 2023 08:15:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] MAINTAINERS: consolidate vm-event/monitor entry
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Tamas K Lengyel <tamas@tklengyel.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>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0147.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9959:EE_
X-MS-Office365-Filtering-Correlation-Id: 533ebbb6-d7ca-4316-af62-08dba9e9a4ae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oT7yX6+9/XK3yQD2qLRc4o4ILI5Yr7gieyzpa2pxyf4K6gXqSOrjnQ5MytXVH2KojJ8t2vnYBlP4H+mz+oDB3zNB7FP9qd6ygpqdNJiZ3VB1uKd6Gh9Z5XVsP/JyeW87F6agzElZGzuwFTBPkEejGEqw8+Rz84F+qaEnoB6UuEitgPXUR+O24v+64zvZvxdrOjjOnCV7qOaevqBR3euCj5QU+1zxPVUpmbIFKlg51lpqvpRZd6Gv4dVe+tBibgzurWaJvDjC1KRYOKlVoaX09PVIwDdjOnEVLOrZO4OuxLh5bx5c/yuKwwrSND2RgejcU9ZWLN/hrdOEbf7WAfxwxmOMKx436u+pmdXiSydK3nElBmKL9M6pupG4Zh/j8M8BzXxqZEDQ3x/ueO/TerPzHEPaOKFfvMJ+qlv5UkDEUzAF3sxiYB07NY3vuQTZyLH4q3qGDCbB3gDYR5Zg6o3tXDdEX2S5Z5yApn39fJz+Q1mRCPmhFurycvFKiay7KZVbkczuST4K04z9eHnffXBlnvpMeQn9SFa7swPtf181Qj7VSq2qr+3L4CzPT3rrhxXPi+ztGsFc1VS/N+P9B8zEaYvQjLaMqwyVXYGBqpqs6ID5aiPn3FpndBQo67pwx3Obwx2s3Ip7LqZyffwZlUnrtg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199024)(1800799009)(186009)(31686004)(2906002)(4326008)(54906003)(66556008)(36756003)(66476007)(6916009)(316002)(66946007)(8676002)(5660300002)(8936002)(41300700001)(38100700002)(31696002)(6666004)(6486002)(6512007)(2616005)(86362001)(478600001)(26005)(6506007)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cldxMzZReGJqaUFoUGh3WWFPM3lib3l2eThnS0l4dVAxUzFoVnpxWXdYcmcr?=
 =?utf-8?B?Z2dkMTAvbnRmWU4zUFFUMXdFREZRRkhRSWhnbkV5MUVjYWlxNXVBdXJiUkwx?=
 =?utf-8?B?RlE3U2l4bVRhOUNaaGFkTHZSeDVVY0o0UHVvcE1pdFg5NW5ENVVNUmFBdnFW?=
 =?utf-8?B?bHdvVk5WUnFFUS95dDRrdlJ1cEpYOG03bGZIWERLa1JweEo3bDZYT3kvQjNh?=
 =?utf-8?B?eTF1K2FMRGQ2Rkppb05CME1xbHpNV2ViRzVhUm9NYkNXejcyc3ltZzIwWkpP?=
 =?utf-8?B?ZXQ4RnV6OHEvdS9MM1I3NTlqczVGK2FhWVZacGtBUWFweHhMM29pZHAyKzVT?=
 =?utf-8?B?VVRWWTc4MVdIdS9nWnNidmV4STFJaE4yOU9QT1ZjcHdDdUp6MzdnVTNUYURI?=
 =?utf-8?B?ckVHb2FKRkxNT2pUUWdGODVHd1JmbDRkQ3QvWFBPL0RkWXhNMDVRTFpFbDNZ?=
 =?utf-8?B?eDA3djhqTVB6MFJ2eUo0ZWdoNmNhRVJIR1AzTjVvSHpScjRlNE9JdUdvVEhk?=
 =?utf-8?B?ZXllK1ZEdEdpYVdvU1RXOW1wMXROWEk1cGhDamhoUWNVVS9RVFZ4L0hwRkFk?=
 =?utf-8?B?ZVBmMi9mN0taay9oZ3JDbXJENkZScGNBS2lBL205dkx2eTFUYkpIeWIxTEh0?=
 =?utf-8?B?d0dXbnBML2I3Y3hockd5RHlUR3VQZlZyNkhLOC9halBGZWhLK3pZWGhaS09G?=
 =?utf-8?B?enFjMUNBaHZmV1Boem5xVnpSdW04dmMzTXMxYzNWSks3a1N1MmNqZ1BOWE1Z?=
 =?utf-8?B?RW5VMk1EWTROcVdEQlBZR3I0TS80eTlONDRQLys2TlRQU0tLN0s4NjUxMUpU?=
 =?utf-8?B?STZ5bWVsdy9jL3ltTmw0emFsVGtBR28wMThndWxXaUFXOFNmUWhPTHc3SGNZ?=
 =?utf-8?B?NnRnQXVTMVRsL0lRZHJYcnFZTGRpeWo3VWwzcDdwTTcra3c3SThNcTB1NkRM?=
 =?utf-8?B?UmdQVEErTTliK2F1bXRFdHBIY2RkenBZT1puUHV4OHhtT1NHa1JwVzd3S0hS?=
 =?utf-8?B?NzFzOWpkMlRFTXJaOEZKbmVHd2VNN2g4aEowQXRHMkVFdmdSeUw4ME1oWVRF?=
 =?utf-8?B?WTBOQXFlVStUOEl5QXdOU0VtQUtpQjZQbTJSUnNOcFFkU2lkeXNkaHpmMTBD?=
 =?utf-8?B?OHUyZnZncFZ6M1RCaHNZQWxrak1pQUx0SlRUaVkyK3plUmJMVW9aTmRsUlA5?=
 =?utf-8?B?bDRZUFFrdGJvaElWR0tOaWNXdDBlWEpzMllOUVlzQTZDblhBcFF2R3JlRUZn?=
 =?utf-8?B?MURVcGxzZHM0eGF1TWg5anJlV3I3RVJrV1IwcHoxQnJUK2gwU2x2QnRndXlm?=
 =?utf-8?B?TVQ1eEI2Mk0vME1yK1BVOThZR055aWMxdUViSktrMUgwT0t2SXoyaThrVFNJ?=
 =?utf-8?B?MS9ibVFkQmpjSzdxZXkycjdZcEdsK005YS9oVmJvdVBVT0piWmp2NmNDNTFR?=
 =?utf-8?B?TjdVNXJHa1VkR2ZDWHBLK21MdHQ3a2VQUmtXSVdtQTgwRXBPN0VnY29kWksr?=
 =?utf-8?B?cWZHSUhmVkFVL2tEWFVLSGNTK2NjKzA4NXVnOHR0OFFrUnpIYVEvcTRRSGRT?=
 =?utf-8?B?MWp6dDNNb01vVmM5bWozYXZ2SWJ3ZXZMenhqdUJ2MHpNZllqd2FTTlRBb3F5?=
 =?utf-8?B?OUh0UTFubjJ5M05nR2dwZ25rN3NVc1Y4MnQzVnY3b1ZQVWxFQ1J3YjN3b3lO?=
 =?utf-8?B?SERsVVRJMFJVcEVtNzVsVXFhL3JTbTRaaExXTlJsaHdUSFo4dHBvVEdzc1lY?=
 =?utf-8?B?N0xwY25PSjlrcjhkY2c3YUdWNmhEZTA1S0o0STBIdExSaUhHTFFyMHZFdWh3?=
 =?utf-8?B?TUVsSmhBRnBxWWJJY2dJQUNCOGxzK3F2UnpudUxnd2xycFU2emFGdDl4OGtP?=
 =?utf-8?B?Umcxa083RFBBSk9rRk1IV3JnTnA2cGlQVndkYTFQZytvS0pTbVFKM0Vwc29E?=
 =?utf-8?B?MmlZR0UyU3Rla0cvR1lJTDJ4N2FRRHVKaktkMGM5cVNiVXdTMU5ibFM2TWdC?=
 =?utf-8?B?R2JRaGI1SE5YRjBVMlYyam4wVkwxamtVSHBrbkxkNUQ4N2JySDNUSFd1ZDMz?=
 =?utf-8?B?REcwSkVEcDdLbUQzWEh3ZXBDMHJJU1ZEY0tPZ1lYSnQvYXZ2LzBqM05ucGkx?=
 =?utf-8?Q?1LWc4dqwV4EUppPclZJfhF+4N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 533ebbb6-d7ca-4316-af62-08dba9e9a4ae
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 06:15:15.9838
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7xYa+OoBdDO1lL0DjrcSDuzPR9UsOcjtLRmrLNfHjfAa59rt3qeDE0tvzgXHhVBl6RqTD7E1tdJifsMX4suQxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9959

If the F: description is to be trusted, the two xen/arch/x86/hvm/
lines were fully redundant with the earlier wildcard ones. Arch header
files, otoh, were no longer covered by anything as of the move from
include/asm-*/ to arch/*/include/asm/. Further also generalize (by
folding) the x86- and Arm-specific mem_access.c entries.

Finally, again assuming the F: description can be trusted, there's no
point listing arch/, common/, and include/ entries separately. Fold
them all.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Further fold patterns.
---
Triggered by me looking at the entry in the context of Oleksii's RISC-V
preparatory patch.

--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -558,20 +558,9 @@ R:	Alexandru Isaila <aisaila@bitdefender
 R:	Petre Pircalabu <ppircalabu@bitdefender.com>
 S:	Supported
 F:	tools/misc/xen-access.c
-F:	xen/arch/*/monitor.c
-F:	xen/arch/*/vm_event.c
-F:	xen/arch/arm/mem_access.c
-F:	xen/arch/x86/include/asm/hvm/monitor.h
-F:	xen/arch/x86/include/asm/hvm/vm_event.h
-F:	xen/arch/x86/mm/mem_access.c
-F:	xen/arch/x86/hvm/monitor.c
-F:	xen/arch/x86/hvm/vm_event.c
-F:	xen/common/mem_access.c
-F:	xen/common/monitor.c
-F:	xen/common/vm_event.c
-F:	xen/include/*/mem_access.h
-F:	xen/include/*/monitor.h
-F:	xen/include/*/vm_event.h
+F:	xen/*/mem_access.[ch]
+F:	xen/*/monitor.[ch]
+F:	xen/*/vm_event.[ch]
 
 VPCI
 M:	Roger Pau MonnĂ© <roger.pau@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 07:03:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 07:03:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593368.926371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbbiF-0004MW-I0; Thu, 31 Aug 2023 07:03:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593368.926371; Thu, 31 Aug 2023 07:03:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbbiF-0004MP-Eu; Thu, 31 Aug 2023 07:03:31 +0000
Received: by outflank-mailman (input) for mailman id 593368;
 Thu, 31 Aug 2023 07: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbbiD-0004M1-Ov
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 07:03:29 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a18aadd-47cc-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 09:03:24 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8343.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 07:03:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 07:03:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a18aadd-47cc-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZbx1qtNs4eqdpzpuFgE0muX5pwIBGjXvJb4js4kaGCB3keQ26WgooMbYJoZOvQjEoKOMP2g7AnKmOqhLIwfamhtTZzsXxP9ckrVe62dvgKv3TvU8e7eRyyNrorMK9Zj6griXoX2jlq8y/mpwcEE8MH5ZzMwAyxx3S9Kn6I2MPwA15ZzkZs1Zu1MEESsvWGVCiE5CBuhSgoBBDCNhGII5csp6/PBqQ1Wd27MZaXRdFzUtHtV1kE388VrYo+RU8BiN0b12q1qoKzYHHQbwTiG3bA380Mtrgh+vEPRVYo7K0hW4XfY/TzauilMESwgwm0rRTKh0yeS1hlqjFH68lUQZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=buGbSCavm61uwNheimiDyUDB5DF4rjpOh/Mo+rHOuwA=;
 b=Bz7vRQ4UPcWzIabqbfq4WlQQerXi+WBQnPZoDsU53L0aIi5UostChRCp745kSgWr3NaDMySS4u/xsDtHRg9tUQ83vwtDoAwTVSE/cSf6y4pBFpfiMiSgej3prF7auu4I1G5iHRUeOnvHS+lf4UiXKQTLl8rocRAQZ8D8IMjUmJS+ipwHvVdxgjfLqZCARbS7T31jSTQkvHb/PkDYHHZqeE8LYQu8Nnf9O/szDxSDXA7ARJtUTD0Eguou5PaSpu/a96e2z+Z1ygGijnJJOY3Warcir+rC7CWJzpar3c7IMVvCDjYVYwexNB4qEv9MekuGlpAjpxyvTLXQSsXT7WxR+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=buGbSCavm61uwNheimiDyUDB5DF4rjpOh/Mo+rHOuwA=;
 b=0zAkzs5kx5Ed2pdr/UXre7o0dGl5MM5rWGHCMrEUX1rXBtjDJpZMHjVXB7oz3//KDmVlntSfr0I5S3emfNPCghmP+pzKNTX98uH4OCVREgEZOUMNBfru1gqp7YiIcCfM7cCCV0JN1aSF9DqI0zggCfEzJBJnr/HSYKaGeIxDHgzdCOt6OJSiOLQXJB6EyEa3h1xMWvF5NioCYXiwt5TAi+8M+QP0ACqKj7m68zSadYy9ZgZYG0wlqWKACqlSkO2fqtXNzjsxLjSCgBz9cxEbiVnlHFiNjgvr7LBexrI2s3+MSSVgdFdAjiA4cKo9jvoY7dllbIGgS9Sj++qhvFmUVg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b28f42f-be2d-b826-2bfe-434b0c1742e2@suse.com>
Date: Thu, 31 Aug 2023 09:03:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH] x86/HVM: correct hvmemul_map_linear_addr() for multi-page
 case
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul.durrant@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
 <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
 <93b3e5c4-19b7-9809-e322-f0973924eef8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <93b3e5c4-19b7-9809-e322-f0973924eef8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0161.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8343:EE_
X-MS-Office365-Filtering-Correlation-Id: 7042c4c2-8629-4d91-e276-08dba9f05c70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kzAULbntD9UShDYDf1DYHKrKoP3QJEk8lU4V3ygWBBec1u3pMCNtwJb3LNI76eQq6XUDjFSj7r8tWFchK16GukoMpTTzVOc1hff90zQ3rhjNdrkmIbCJ91i4d/csftq77xOVsDWEHOE4c3mwtQuQt13FqvrPnGj+ZkUWla6LFdrIveLDgTCGUWuNtYQeSKojCec4mRKYSe14xsiYLq2SJQJSNrZqSQThkPeRpGn3vdOKlAfg9YCVcu2xR+fVJf4nUMP8IweW4FYP41xMzTp+lTl8vGXYN6TQra3PAh+nwnSWYs2uT62QrLXRXINw0kcKtIz7aXrmoPe/tO23rg+jogVTQ/5p8cPskXhLr+pm/HhmVqGdkNpf9cJaH7Tq3w4sj0SiuMqkR0gRWpHYgCL3CV/9XCnsiZFMeh5EWJ5NLLaBY0DETAn/6J4E+tXCDAOzOoVgyrUh+py5Wrnz+havUE2WalctdZH5REpZA2iIjV0b98/xwCUPeHSDEHWzrogDLQlbs1yVEqdiby0MT/+mwvRtvgAKF6YL59RKg00IUxbIsbBl0QVD45ZjwwfCzqrUyYSrZ4t1/WpQsaLOM1kU3A10yHj6VlT5NCvmBEMFvWED8x9LoGtRugL0SWy0ld8JhgWYVwFL4boflF596WKH3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(376002)(396003)(366004)(451199024)(186009)(1800799009)(31686004)(36756003)(4326008)(83380400001)(53546011)(5660300002)(41300700001)(8676002)(31696002)(86362001)(8936002)(6666004)(6506007)(26005)(6486002)(6512007)(2616005)(66899024)(478600001)(38100700002)(2906002)(316002)(66946007)(66476007)(66556008)(54906003)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azZmSUtDVUxIYVA5VFNqMncxMzlQd0h3VzE4UVYyNEJ4cnhYS2VxVkpMUnRr?=
 =?utf-8?B?TjVyOGZrOVlCZVdGNllBVnNCY0ZmTzVCNTE0eUsxOXRmdFIyL3BpVkFyOUpP?=
 =?utf-8?B?QmRkVzR4Szl3QUFKbGlVT0ltRGgxSWFGdk5QZkp0VGx5UlN1L29TeHJ5blIv?=
 =?utf-8?B?dFl2dEdiRWlidHMxeXNVU0tQMnNXZ2VZaTkxNWxoZ1VZejZpQTVMK1FncUJj?=
 =?utf-8?B?dGxQLzlzYm1Cem02dWZQR2RWSnVRRTB4UUR1UW1PL0Q3RUFwYkhRTENvZ0Jl?=
 =?utf-8?B?TUMrcWV5RVZCUnp5THI3d2x3QUNNUUE2Ykc4SW01UzBHUmNvRTFkcjNCcitF?=
 =?utf-8?B?dkozR2YwL0xCZElBc0Q4bnZuV2M4OUs1bzUzZTU5Y3MrYWFDRlBVTGp6Zzlu?=
 =?utf-8?B?VzVzYXloMmE5Tit1T2Y3RjRZbHV0d0ZKQjhYZzdTbEdwQXQ3N0RUM1pEZ1Mz?=
 =?utf-8?B?ZUtERkJ1V2NVT05Xd2JkbDdXdHkzWG11NExoMjRnSktrVHhtSG1lZnB4Zk9y?=
 =?utf-8?B?OXpwamR6RU5tVm13a2JidHJDSmVjV3JZcW5hd0RzbisrdlVRcTJsZklpTzlk?=
 =?utf-8?B?T3hMc3duOFdwWllXRHJCbG9oa0ZTZkh3UXdrRUtveFhwbmExc0ZZcUFFM2xC?=
 =?utf-8?B?MGEvL2V1WUJFUUhNMW4xNjljOWZPQWNPWlNDSWxONlBTTlpBUmRqcTQyOXdC?=
 =?utf-8?B?ZXFPY2lGQU1KWTRKMkdtTGoxRHByT3pSM1JBMUNjQ3NEVWQ1am9PRWVoZFNH?=
 =?utf-8?B?TVFWdTREbFd6RGFyMUxxcUJJbTRpY1NIN0Zhd3IzbUlodkhUZHRLQThhYzRt?=
 =?utf-8?B?dVAvNlZkR3d1OENOMUY0S0MzSVBIWjdPTk5RR1lPR3NQSTVzcGRJSzB1WVh3?=
 =?utf-8?B?OVpiK1FHcDBmRGVPVGRGdjZzQjdYeFVlUURpTGRqRGZTNlZCUVk4WHEvK0Rm?=
 =?utf-8?B?SmlneWhaRDdSK1l3OTJxS2IrUzlhaFNhWlZ3RUx5NlEzSHhhL2R1dTFWRnlh?=
 =?utf-8?B?R0paNGFSTVl4QzlxQ3p4T0xHS0ZZdHRxNm05WTJUdXRzNitGUDlRaVAxK1k4?=
 =?utf-8?B?MEQxdW45Ym5odW1nYy80ZklzVUgrb0MyWGtRVE5pSDJ1N1Y5MFFLQktxcUJI?=
 =?utf-8?B?K01odnBBdDJqN3dBMFNVT0k1eEUrdFNFck04REpyazRYa1dDUUpZSFgrL1JL?=
 =?utf-8?B?VnZNdDFpcksxUmNGYlZjb3JPYkN3OUU3dERISzlCcEJVUlpmc0ZKS3NVc1d4?=
 =?utf-8?B?THlRK3pZZHNCOUxHdVlCaGdQeUpUVUd4K3dtejhlUjJyU3owUGd6eGVSZURx?=
 =?utf-8?B?TVZQY0N1SWtMcjNJWk1ra3AzT1VjbTNEYnd3Z2UyMG1rbEx4R0ZrdFVYS0xY?=
 =?utf-8?B?ZnczQTVNNHJUTW00ZlN2QmdjT24yM1BNVUhka2RVQlBWSjVmcTBBSFFvZWN4?=
 =?utf-8?B?ZFBkbEI5SUZ2WVpPZFZqQm5HOFdaZktLUTJVcEM4aFROSWg4Q3VEMEp1dmpC?=
 =?utf-8?B?amx6MysxTFd5NDlNMkRuZWFZMnhGZ0VQUmJyUHRtRE52cXkzbXJscDR1SDlv?=
 =?utf-8?B?cG5QZGxPOWw4djNCNHhDQnZvNjBCbFVXdGs1d0VMWkVxNGNDVHdLODhTWFFr?=
 =?utf-8?B?UW5LTXQwZVpTV3ZRWkp5c2V4UmtMZlFTVkhNK3EyTEZteUErb3NyUEp0bVVp?=
 =?utf-8?B?Vy9GM09yMWIwV0dKa0w5KzVUTFprRmF1Q1l2b1RYNFc4ZEJvRHlDUkI5OGJT?=
 =?utf-8?B?alAvS0taK0VWdlh5cGg0bTZ1M1FHWUJtcTZ2V09DaS9aWkhYNFNvSXBDWk9y?=
 =?utf-8?B?RzFrdHdadytOcmsxMkJsV2JtRXExa0xqclgxcm1sMTZoZmpBcTRHb0RhSHpT?=
 =?utf-8?B?M1IzMGo3bTErMUhKbElmeStlbHBpeXBPeXVNWVhaT0d5bFRwR2JhZ1lIaG9z?=
 =?utf-8?B?aXR0TWZjbmdoM1RYQmY0bFl5NEwyYjhpa0tDc0JYNnZRODY2ZEdiU0Y1MEhJ?=
 =?utf-8?B?MG55QVA3dXJEQWNPOVVNTGNDalpPSFhMbmRBUVFlSDNwQXkybnpQYTB0VEZy?=
 =?utf-8?B?SUpFYWRRTGxtcllwRXdQVzhlSkRhVUtBemJhNlM0ZytkdndUQTEwc2hCZDhM?=
 =?utf-8?Q?o3zTR2yznrJYQ7ZXCuWzNzwkw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7042c4c2-8629-4d91-e276-08dba9f05c70
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 07:03:21.2691
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sVI7ASADRoedFyuk49N3aISM5muMDQnDdzyfFeBmf/bdDp3EyjZuZOhChYFZKkssU7grBxy1wb2tI5Fo2q9XMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8343

On 30.08.2023 20:09, Andrew Cooper wrote:
> On 30/08/2023 3:30 pm, Roger Pau MonnĂ© wrote:
>> On Wed, Sep 12, 2018 at 03:09:35AM -0600, Jan Beulich wrote:
>>> The function does two translations in one go for a single guest access.
>>> Any failure of the first translation step (guest linear -> guest
>>> physical), resulting in #PF, ought to take precedence over any failure
>>> of the second step (guest physical -> host physical).
> 
> Erm... No?
> 
> There are up to 25 translations steps, assuming a memory operand
> contained entirely within a cache-line.
> 
> They intermix between gla->gpa and gpa->spa in a strict order.

But we're talking about an access crossing a page boundary here.

> There not a point where the error is ambiguous, nor is there ever a
> point where a pagewalk continues beyond a faulting condition.
> 
> Hardware certainly isn't wasting transistors to hold state just to see
> could try to progress further in order to hand back a different error...
> 
> 
> When the pipeline needs to split an access, it has to generate multiple
> adjacent memory accesses, because the unit of memory access is a cache line.
> 
> There is a total order of accesses in the memory queue, so any faults
> from first byte of the access will be delivered before any fault from
> the first byte to move into the next cache line.

Looks like we're fundamentally disagreeing on what we try to emulate in
Xen. My view is that the goal ought to be to match, as closely as
possible, how code would behave on bare metal. IOW no considerations of
of the GPA -> MA translation steps. Of course in a fully virtualized
environment these necessarily have to occur for the page table accesses
themselves, before the the actual memory access can be carried out. But
that's different for the leaf access itself. (In fact I'm not even sure
the architecture guarantees that the two split accesses, or their
associated page walks, always occur in [address] order.)

I'd also like to expand on the "we're": Considering the two R-b I got
already back at the time, both apparently agreed with my way of looking
at things. With Roger's reply that you've responded to here, I'm
getting the impression that he also shares that view.

Of course that still doesn't mean we're right and you're wrong, but if
you think that's the case, it'll take you actually supplying arguments
supporting your view. And since we're talking of an abstract concept
here, resorting to how CPUs actually deal with the same situation
isn't enough. It wouldn't be the first time that they got things
wrong. Plus it may also require you potentially accepting that
different views are possible, without either being strictly wrong and
the other strictly right.

> I'm not necessarily saying that Xen's behaviour in
> hvmemul_map_linear_addr() is correct in all cases, but it looks a hell
> of a lot more correct in it's current form than what this patch presents.
> 
> Or do you have a concrete example where you think
> hvmemul_map_linear_addr() behaves incorrectly?

I may not have observed one (the patch has been pending for too long
now for me to still recall in the context of what unrelated work I
noticed there being an issue here; certainly it was a case where I was
at least suspecting this being the possible cause, and I do recall it
was related to some specific observation with Windows guests), but the
description makes clear enough that any split access crossing a (guest
view) non-faulting/faulting boundary is going to be affected, if the
former access would instead cause some 2nd-stage translation issue on
the leaf access.

In fact I think one can even see a guest security aspect here (not an
active issue, but defense-in-depth like): If there's any chance to have
the guest kernel take corrective action, that should be preferred over
Xen potentially taking fatal (to the guest) action (because of whatever
2nd stage translation issue on the lower part of the access). From
that angle the change may even not go far enough, yet (thinking e.g.
of a PoD out-of-memory condition on the first part of the access; in
such an event hvm_translate_get_page() unconditionally using
P2M_UNSHARE, and hence implicitly P2M_ALLOC, is also getting in the
way).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 07:08:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 07:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593376.926381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbbms-00051p-5b; Thu, 31 Aug 2023 07:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593376.926381; Thu, 31 Aug 2023 07: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 1qbbms-00051i-1R; Thu, 31 Aug 2023 07:08:18 +0000
Received: by outflank-mailman (input) for mailman id 593376;
 Thu, 31 Aug 2023 07:08: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 1qbbmq-00051Y-Rg; Thu, 31 Aug 2023 07:08: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 1qbbmq-0008IB-Li; Thu, 31 Aug 2023 07:08: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 1qbbmq-000861-Er; Thu, 31 Aug 2023 07:08:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbbmq-0003Mo-8M; Thu, 31 Aug 2023 07:08: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=tjdmHvURWQ0fIHpnUhcsLcz3TOdfD30YMAa4DMIIctM=; b=cByzF7ey1BBxHKsuacy7EAvctV
	P6JlKA1WgX74g30x98d82qFQt8XBvQYgLiBBXYYV2opo6Cz6LFx9CG/UMqTmBZz3zYhpYnBOj0AI4
	Iv12yVhIODb82cECga9hs4qYAdKMsmk8oScASpzZO9bKZG2g2tsAYzIC3r4u68sIhXhs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182577-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 182577: 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=6621932264e3e86df3913db4249ecd3eb100b13f
X-Osstest-Versions-That:
    xen=e5522c71beaa83f2f5d2118724ace9f90c22e583
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 07:08:16 +0000

flight 182577 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182577/

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                  6621932264e3e86df3913db4249ecd3eb100b13f
baseline version:
 xen                  e5522c71beaa83f2f5d2118724ace9f90c22e583

Last test of basis   182565  2023-08-30 09:02:08 Z    0 days
Testing same since   182577  2023-08-31 03:02:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.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
   e5522c71be..6621932264  6621932264e3e86df3913db4249ecd3eb100b13f -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 07:14:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 07:14:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593385.926391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbbsj-0006gF-Ov; Thu, 31 Aug 2023 07:14:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593385.926391; Thu, 31 Aug 2023 07:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbbsj-0006g8-Lq; Thu, 31 Aug 2023 07:14:21 +0000
Received: by outflank-mailman (input) for mailman id 593385;
 Thu, 31 Aug 2023 07:14: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbbsh-0006g2-VJ
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 07:14:20 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe02::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fffeaa28-47cd-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 09:14:18 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8335.eurprd04.prod.outlook.com (2603:10a6:102:1c2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 07:14:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 07:14:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fffeaa28-47cd-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h2SPc1PmhqmkHcg3yA65aqPrToMN5Vfp4XTHQkvbecUvfVpHvu8Q+jrSXqZVu5j3ZbOkmhB0wQtWH2NqutlCCY7biddshusB9vCokldSKvgUXM1M0Oa+a55NIZwsFuve77inI6hT84VRTH0uGziX8RlNDsqJngwssLjx0C49G/moAr9tno18HPOUTRIc5uS2UDVyfiLAkS8goei8Bd4BPHnRJ+9XZnz4kCiEgmeYnPZKks79WTcXSkLVYK0OmeifN40q0Qi/xnu0vy2NvmDJ1kjo+GdpsVGhjzB2rYW2yNfugcWj7AU54PjFqL4HH+SoVWdmR+mVBWca72u5HN31Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=83eCGobUtZzKSOusBp0Da35TwErztEHHH8xzXkDxB2Y=;
 b=ie5gpUySao3npO5fY/mlRpy4uSq37BfcX7177ur7fc+bhI8gPdM5MBsxSIhnYs+Zb88mMOgIgjLks79YWUmHLwvymtwsvm9L6CZaMMWZ77yWJ0ndBusqmY4ELioTLQgmco8YH9ZqKreFfYgZ8fo+SSClUMilT6sNJ4SJsX3Fjdgb25J73oa5wxhUCEh1gWjQ4FTqQUouOnMsQsADCEXxc5LQynatkk7uG4CRzD0D9XD42m24jy4rY9EBuXgVx6cQHV0hdrPlMQxpjAcnR177tlQkBramqMGGPsThPKnRF9Boruv6UTGk7jiawU8VAvH+3l0GJ8f4qeYryh03dd5XMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=83eCGobUtZzKSOusBp0Da35TwErztEHHH8xzXkDxB2Y=;
 b=Qg+t16pIY6CZo4XNW5h+9fcNsJdilT0bNpleQAQ+1pqZUysZLwBXaHdoro5VDhkY3G71ut/fgwbXRK4as/P7+5YPONZNrS+rtrXNpRtafFWj1TL7IiVls0dV7xCyZXs2J/RbgyGeCKzomyQHHmq5Q39cvfGarYU/VjzM2Klw2n1ZTN/Z63vI5PSBcuNL6alITwlIgRkS2Eif+XlLXc9e1SF36/4kbH3AxoEYKF9iROmRR+8C4PXL2eX+F/7/H5EB7KCpFlSzOFCrTKgDDVnxkK+tuoTv1CnEYA0QjvEvn2qdNxY5CwTuBYPWuqDb91hYWcMP99qFW7Oq608niA5xgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dbefa7f3-5bf3-880f-ba3b-f63659a7ee10@suse.com>
Date: Thu, 31 Aug 2023 09:14:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [Xen-devel] [PATCH] x86/HVM: correct hvmemul_map_linear_addr()
 for multi-page case
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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Paul Durrant <paul.durrant@citrix.com>
References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
 <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8335:EE_
X-MS-Office365-Filtering-Correlation-Id: 4df6f2cd-c67c-4cb9-58b2-08dba9f1e34b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iyDVwhL50xGgJKEc1Tq/FZMTYF9ubOy8ki1yo041E7hyqjKN3eKxHXe1AZTjTXkkKyUlhSGhf9iJtu6/O/i/cvf5+RwOREp0aOsBmQIRx37+n6C+B56gOC0Io29Qo613+l9lxjqN6qQqP7YRcrewXWx1aVE6BUeTwo83E6KmwIGIXkDpKplQZVh/D4flOlH6lTsOegcCNuCwzdQRmogAMsS+z1ICxdzs3BYYxTdrNqXS5aylM/MOoN7z5Fw33NBI003nAVpCoBS32eb4Q9S1vLcq1Om3gpv21n+U9GOQVlY/7c19HGOx8TUY7GFMqOsSfT3x5H28txS2Qo3SMGJhsIy0jvPlQ6fyI1x7xd1qgTdNbHdvcjKKTcriqx/f3icYIslCKRMr/jwXTvtB4ntfVhUwT5D/0d0KJlz99rg7L64k/tU9064uPKwj2ycwOmQ/tDUdSSIKFHlghYXxtt0CEqUnRMKq3bBIw3vfnNRsiP5qpIsdPq/dC9Y+b/keDIwCKFSDY7xgMNSfOKgJ20Mf+RmK4NJu6xpcQ49Kn6fxUVmdGXKXStsk8Ve4WVFIBMbcIxQo9oZMxOhzG/0oVVSHmhu9voqyVi1k8pESV0WhnI/opvS+Qx/81IrB3MJ7577Uuuf52RrbLIwWykCTGOPrqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(376002)(346002)(39860400002)(1800799009)(186009)(451199024)(31686004)(2906002)(86362001)(31696002)(5660300002)(36756003)(38100700002)(4326008)(8676002)(8936002)(83380400001)(41300700001)(6512007)(6916009)(66556008)(53546011)(316002)(6486002)(6506007)(26005)(2616005)(478600001)(66476007)(6666004)(66946007)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFVIRGUrWEhxYUVZMlhZZ0k4R0NpMDBpdFRaeEFzOXcza3FybzdIdGFyakFz?=
 =?utf-8?B?R3NycXZ5Qk9UUmViOGJ0Y2NnSi9mMlNFRWUrOHVHeXprVnpqWGU1OG84aDV0?=
 =?utf-8?B?dVlza2tuRnlOV0NvcnRDK2llWXJrandDcGZuVXE1d3ZJR2hkR2crYXlPMVlJ?=
 =?utf-8?B?MzExNnR5ZjJwWkJyVjQvWDVuSHd5d0tFL3BiYXc0Z3RmWnBUMlpySlE1YStC?=
 =?utf-8?B?RlRXa05USjlYZWE5NC9Rc21vcDBvS05VckNXSGpUdllhR0FPY0RQK0I4RmxN?=
 =?utf-8?B?WHNDOC9jSVhUODlxSWQwd0MzWUlEL3dVRWFPMDNrbkM0TjhxQnE4alVVY2dL?=
 =?utf-8?B?SE1qbDFqVCsybVVRY3hqNXNqTDBsNmlqaUd0dEh2QkYzbVBsZUQ4ZVhZT29v?=
 =?utf-8?B?U2sranpOYVNwR2NueG16b2lrMWsrNFAvdU5HTDcyWURBaUFuN3R3SjRXTnFZ?=
 =?utf-8?B?V09TYzUrSU9UOWxJSk4zTmJ1d0d4ZlIxNGJsZWVkYWhDY2ozZmxza0NCMFV4?=
 =?utf-8?B?RlZseURCeExSWGpnL3FpR3lLZVVIVzk2R0ZrQXdDNENjWTlaWENZd25nZ2Zu?=
 =?utf-8?B?V0syT05zZ1hUc2t2UzRUVGd2UysrZ0NRVnR6UVVuSEpadTdyanlPQlFhMjd0?=
 =?utf-8?B?L1VoSTJXT0d3TWR0eUZaTlhENFgvUDNtanIwYlU2ajd4OW4wYnpmQjNqclVB?=
 =?utf-8?B?R1dHOU5uNjRWclFjTTFERzF3di9iWk0waTBFdDE0WmgyVzBRWlVTbGRCaWti?=
 =?utf-8?B?clRsb3lrcHk3Ui9uc0R4bmZtN3hpbTJKN3oyZlVVakVQSFBaZEQ4cmpGRS8w?=
 =?utf-8?B?UTFvakNvNm5vYU1WSzIyNWk2L091NVF1TEl1dlZCeWlQaEo2RnJydy9rTUlG?=
 =?utf-8?B?bVF6cm4vSVY1cGVDWmJWY2p6QjBaa3FJUXRGL1VQcVpsdFZ4eHpqS3pyaTJy?=
 =?utf-8?B?ZzBzb084NnhRS0hQV0s1VHJLYmUwdkFFbjI0RzRDWEd3clNjcGF2dU5kS01q?=
 =?utf-8?B?MTBXTDgwQnVtSnhpdU5WV0NVSmtwNHlLYUlFMEZRUWtnYk1RcEFkS2JkRHhT?=
 =?utf-8?B?am5MYnNhZFBVZ1Y3YklIaWZGbWx0SDd3aHNpRmFFdkVtRUJpQlZ2emo4VGJJ?=
 =?utf-8?B?S29TUWRiQ2s5T05jaVVuTDNUL3pXZzVHcWtlbzZBZ05WT2ZDS1hsSGwyWnB5?=
 =?utf-8?B?MGpsRUVleGR3VXlMNDUvWUxKaFZUMEhXZUFZcFRReFhuNTJaVHg3Y1dxUHg5?=
 =?utf-8?B?YU1DK3psU0tGQkFBbmpIbmlEN3Jxeml0RS9adEZKRVpUbmFRWENqRzRUV3FH?=
 =?utf-8?B?QVAxOTRlMGNCYU1ZWFpJTmpySXlpUThCWG9mK0tTUkRJVXd4aUtFcXpSZkVD?=
 =?utf-8?B?UnE1QXBrWk92SkErVVY3aVl1K0xmbzJwdlBrRHlTdCtRbzFtMFNKb21SdEtp?=
 =?utf-8?B?bEFaUHpUYjVKR2tscUk2aW02K1N1YzM3S1FUMzgzS2dIcDNCb245NlpGak1j?=
 =?utf-8?B?eUZCWjBwVFlNQmxNRmRDTE0vZjdCdFRZTitOMDFZZG5mWEFFdmV3RzFmeUVV?=
 =?utf-8?B?dU1Va0tValcvdmhjTG9qTklFTDA0Nlo4SFJibW5TUm9uSmdSU0tVMTNYeUMy?=
 =?utf-8?B?b2dYa0FLK21Ia3BoRlBRQWtrdFZ0RDN1OXR0NUJHVERSWnVWYkMrdWo4SEhB?=
 =?utf-8?B?bXBreGc1SFZRcDFBN0RjY2VNaXUyUnhnTmQ2dUplcW1zeGFKVU5ObHRkZjJQ?=
 =?utf-8?B?eGZwSC9Tc3lPNnBGUm1pUkFGbFc1bmlMQVVya2dkSTF0ZU13c0d0QnpzalJU?=
 =?utf-8?B?Rk0zYWZkeUhOSU1UaG1VK3h4SHprTnpDeGRpMDBNZDJzbjFjNXVLQXFRZEhE?=
 =?utf-8?B?UzFrbnI2VmJOMno4cTM3dzNza2hxRWE3b2oveEwzR2pwakhkb09PT2NIVSto?=
 =?utf-8?B?UkdGS293b3Vqc3RUZ25ZK3M1RlRXRklMMWZma1ljajJ5dlpuRGJqRmg2NWdV?=
 =?utf-8?B?cmR4QnFQcElmakM3OCtLbWJoL2M5ZEw1UmVnV24wUlVxbGFldURRQzRXL2Ir?=
 =?utf-8?B?VnM5NzdYZ2JrellUVUVadEpHRjZuNlhBNk9PZEx3c3hPTkRWY1Y5T3d5TFBx?=
 =?utf-8?Q?kQo9gwUEeDD7cjoyYiWIrQcBS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4df6f2cd-c67c-4cb9-58b2-08dba9f1e34b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 07:14:17.0153
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kRW9VJrc9O2me6mbzt4muPhh53MA9Cbpx8uCJ/FqYolkDhAcXcD0ZvECUa0AzT7k2L59ry7sL7D0d55WsKI/6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8335

On 30.08.2023 16:30, Roger Pau MonnĂ© wrote:
> On Wed, Sep 12, 2018 at 03:09:35AM -0600, Jan Beulich wrote:
>> The function does two translations in one go for a single guest access.
>> Any failure of the first translation step (guest linear -> guest
>> physical), resulting in #PF, ought to take precedence over any failure
>> of the second step (guest physical -> host physical).
> 
> If my understanding is correct, this is done so that any #PF that
> would arise from the access is injected to the guest, regardless of
> whether there might also be gfn -> mfn errors that would otherwise
> prevent the #PF from being detected.

Yes.

>> @@ -600,27 +614,28 @@ static void *hvmemul_map_linear_addr(
>>              goto out;
>>  
>>          case HVMTRANS_bad_gfn_to_mfn:
>> -            err = NULL;
>> -            goto out;
>> +            err = update_map_err(err, NULL);
>> +            continue;
>>  
>>          case HVMTRANS_gfn_paged_out:
>>          case HVMTRANS_gfn_shared:
>> -            err = ERR_PTR(~X86EMUL_RETRY);
>> -            goto out;
>> +            err = update_map_err(err, ERR_PTR(~X86EMUL_RETRY));
>> +            continue;
>>  
>>          default:
>> -            goto unhandleable;
>> +            err = update_map_err(err, ERR_PTR(~X86EMUL_UNHANDLEABLE));
>> +            continue;
>>          }
>>  
>>          *mfn++ = page_to_mfn(page);
> 
> I have to admit it find it weird that since now we don't exit the loop
> when HVMTRANS_bad_gfn_to_mfn is returned, the item at mfn[0] might
> point to the gfn -> mfn translation for the second half of the access.
> AFAICT that would happen if the first half of the access fails to
> translate with an error !HVMTRANS_bad_linear_to_gfn and the second
> half is successful.
> 
> I guess it doesn't matter much, because the vmap below will be
> skipped, might still be worth to add a comment.

I could add one, but as you say it doesn't matter much, plus - I don't
see a good place where such a comment would go.

> In fact, if the first translation fails the following ones could use
> the cheaper paging_gva_to_gfn(), as we no longer care to get the
> underlying page, and just need to figure out whether the access would
> trigger a #PF?

That would be an option, yes, at the expense of (slightly) more
complicated logic. Of course going that route would then also address
your mfn[0] remark above, without the need for any comment.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 07:23:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 07:23:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593392.926401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbc1X-0008Q7-HP; Thu, 31 Aug 2023 07:23:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593392.926401; Thu, 31 Aug 2023 07:23: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 1qbc1X-0008Q0-Ee; Thu, 31 Aug 2023 07:23:27 +0000
Received: by outflank-mailman (input) for mailman id 593392;
 Thu, 31 Aug 2023 07: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=P20E=EQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qbc1V-0008Pu-Lj
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 07:23:25 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4453130f-47cf-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 09:23:23 +0200 (CEST)
Received: from SA0PR11CA0162.namprd11.prod.outlook.com (2603:10b6:806:1bb::17)
 by SA1PR12MB6920.namprd12.prod.outlook.com (2603:10b6:806:258::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 07:23:20 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:806:1bb:cafe::5a) by SA0PR11CA0162.outlook.office365.com
 (2603:10b6:806:1bb::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.22 via Frontend
 Transport; Thu, 31 Aug 2023 07:23:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.16 via Frontend Transport; Thu, 31 Aug 2023 07:23:19 +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.27; Thu, 31 Aug
 2023 02:23:19 -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.27; Thu, 31 Aug
 2023 02:23:18 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 31 Aug 2023 02:23: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: 4453130f-47cf-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=neMvfnmZB3Ep8CkBhliPoR8tA6e8xQXfgwk06BeaLliYXv0Rprp8DZ2KWxza7u0GzL4A7FuU6QGcd/4dwxosQgqPlJkka22p/SOnTSYdEfz9fIe/eMTJz0lzMGeEQMivG1sbVAvtsszWwPchZeBBXc4RyOeu2KAlS2/KoX9CMOjAdxW3w/WYfJhA2kLl7gS/uH2cOu5DMrVcdowiySvb1RSNeMfx4LYHsDkuIOpYOU0SfZqb8pg3kIJ3a2U3zoAXyh4bLPf5DxbX59HaI5WPLX3jV9FsW2mAvjwh6pkbinoUP7QTD7Ay5JitVD+CVBfLSjq5z4T00/ueZ6x7eokSWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gwGVj/VveH0f2rJ23atUszcQDYf9dCmnRpKmhc86X+c=;
 b=QBsqFODMoLovB7RV/SndS1KMo0wzTibU42eoRFDEjsIe2B7IqH3x/pARYe6TmS9k4BSrUDsasRNiKFrSD5RlIhEQJMBeiRfe0y5rtr7l5C0jk3SSvAiJyIXBCdiiht46QyaidWXsV8cn938q6GWQRGvMMJZey8dCQY2YruNMqoz9X/Zkbn4FXU4kXxZcDQmRjHihDorKujaP/RUVtEEyOu2JqVx1Lkw57lJgIIQil5vw9nDpMNawTPdpRXY33p6bIZESXCPJNreJ7THjO5dYOSZmOt08uv9Q85v57jJFTbLFbbpp4HkQMZ13STE+wO4IW6hgqIkcaewSISQ76i3HxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gwGVj/VveH0f2rJ23atUszcQDYf9dCmnRpKmhc86X+c=;
 b=Mux1NjfrYL5+D/U83SzC7jZfTQmI5PV/3o7NF0B512Q8/CtALud3BGXW4NZsh0EI22sLQwyMoa70xuSAwWiqa0V24dyEKT1bgNiZEhMZViB+6IQeSfPWEqs+v2Lvo3tfwdMc6bBU5k/ee7i54J6suadhY4jTP0ghQdarul33iBA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <7e622077-2062-f2c6-38ac-81196f80d1d2@amd.com>
Date: Thu, 31 Aug 2023 09:23:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 11/20] xen/iommu: Introduce
 iommu_remove_dt_device()
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-12-vikram.garhwal@amd.com>
 <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com> <ZO-A7ZERxISru9Ug@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <ZO-A7ZERxISru9Ug@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|SA1PR12MB6920:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a6d8ef7-5827-4e19-fad9-08dba9f326c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BB9c8DWuwJbmYEKnKbjHxDVLU0Mec4mzMmSDnXg95Y0huSYMUZ6tcOtafb+t/ntJUf5UeRImlNMfncyeQGs1HxB/WsRxTVAL90rKgv4NKupLxJSJerpGZUgrPJ3EqLXOwl8Is3GFvfAEFvPrXhwAjIHcWstAyPUXRtvZj6xi69+6G5P6UlRDPADHJJPb3fYs4CX8pksV2T5b0XqtjX4Oma9WlsY+RRaVY8XI6Ogac7cXK3AJOcJLwS/wMNw1cKxdRJs9g9DG4wWMNxNATFB3d22W8ocLhn5+Jq53c23BM7eKgQa5lU/PcmHiJlbxGUmdawouZ4VbUlfcpyVfmZhpyNadOFw4aSjQ9nctukD2cPwcLdCukdC6OH88hy+h2jUVnDjmNgCZCVXWpdFND9QmbKsPp89s9YzPpEXczfWksqNRgbRRxkl4ayAcRRmHXHkJAwKVeiPfqfT4o45OS4l7GTq9hzSGDRzwEzM6fV0ygrhryemCTZfcvsiHuCf1Zcj3E4adrjvMc/IDgXTZ9zOZYwCJrht2tzu1gdDQ/ZQsWEcWYWC6EVEFLY0FZnd0he/h/FP3EhFmow6kGEpYk678Yf3A+lCCr5nNUIJgCRU5uyNUrvcGQgRe2LrfdBlOubXTbnf9kzDaIT8HRpcRk1ThuzdLs+yqgwLQoX69B+T1HStMv5jdX6tJrWmO/QJfOyibzO/o9gyBDpfaR96juji8y4CIa58/nzxxGauDr7apkAoSFq+3ajwzr0IZcRbVs8oIDNo2qtJuv/emzDLXpYtrhpUTgcWFw/MRyeP3NZohB470Icz75uFP3r3eUOIwyy4S
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)(4636009)(376002)(39860400002)(346002)(136003)(396003)(82310400011)(451199024)(1800799009)(186009)(36840700001)(40470700004)(46966006)(6666004)(53546011)(478600001)(83380400001)(2616005)(2906002)(336012)(426003)(26005)(37006003)(44832011)(16576012)(6636002)(316002)(54906003)(41300700001)(70206006)(70586007)(5660300002)(8936002)(4326008)(6862004)(8676002)(40460700003)(36756003)(40480700001)(47076005)(36860700001)(86362001)(31696002)(81166007)(82740400003)(356005)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 07:23:19.4826
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a6d8ef7-5827-4e19-fad9-08dba9f326c1
X-MS-Exchange-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:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6920


On 30/08/2023 19:48, Vikram Garhwal wrote:
> Hi Michal,
> On Tue, Aug 29, 2023 at 10:23:30AM +0200, Michal Orzel wrote:
>>
>>
>> On 25/08/2023 10:02, Vikram Garhwal wrote:
>>> Remove master device from the IOMMU. This will be helpful when removing the
>>> overlay nodes using dynamic programming during run time.
>>>
>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> You don't seem to handle Julien remarks for this patch made in v9.
>> I will forward them here to avoid answering to old version, but for the future, do not carry the exact same patch
>> if you haven't yet addressed someone's remarks.
> This got skipped as I cannot find direct email from Julien. The only email reply
> on this patch is can find is from: xen-devel-bounces@lists.xenproject.org and
> this got messed up with other larger set of email xen-devel sends.
> 
> Did you get direct email?
>>
>>>
>>> ---
>>> Changes from v7:
>>>     Add check if IOMMU is enabled.
>>>     Fix indentation of fail.
>>> ---
>>> ---
>>>  xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
>>>  xen/include/xen/iommu.h               |  1 +
>>>  2 files changed, 45 insertions(+)
>>>
>>> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
>>> index 1202eac625..3fad65fb69 100644
>>> --- a/xen/drivers/passthrough/device_tree.c
>>> +++ b/xen/drivers/passthrough/device_tree.c
>>> @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
>>>      return 0;
>>>  }
>>>  
>>> +int iommu_remove_dt_device(struct dt_device_node *np)
>>> +{
>>> +    const struct iommu_ops *ops = iommu_get_ops();
>>> +    struct device *dev = dt_to_dev(np);
>>> +    int rc;
>>> +
>>> +    if ( !iommu_enabled )
>>> +        return 1;
>> J:
>> The caller doesn't seem to check if the error code is > 0. So can we 
>> instead return a -ERRNO?
> Will change the check in caller. I want to keep this as it as so it looks
> similar to iommu_add_dt_device().
>>
>> If you want to continue to return a value > 0 then I think it should be 
>> documented in a comment like we did for iommu_add_dt_device().
>>
> Will add comment before iommu_remove_dt_device().
>>> +
>>> +    if ( !ops )
>>> +        return -EOPNOTSUPP;
>>> +
>>> +    spin_lock(&dtdevs_lock);
>>> +
>>> +    if ( iommu_dt_device_is_assigned_locked(np) )
>>> +    {
>>> +        rc = -EBUSY;
>>> +        goto fail;
>>> +    }
>>> +
>>> +    /*
>>> +     * The driver which supports generic IOMMU DT bindings must have this
>>> +     * callback implemented.
>>> +     */
>> J:
>> I have questioned this message in v7 and I still question it. I guess 
>> you copied the comment on top of add_device(), this was add there 
>> because we have a different way to add legacy device.
>>
>> But here there are no such requirement. In fact, you are not adding the 
>> the callback to all the IOMMU drivers... Yet all of them support the 
>> generic IOMMU DT bindings.
> Will change this.
>>
>>> +    if ( !ops->remove_device )
>>> +    {
>>> +        rc = -EOPNOTSUPP;
>>> +        goto fail;
>>> +    }
>>> +
>>> +    /*
>>> +     * Remove master device from the IOMMU if latter is present and available.
>> J:
>> I read this as this will not return an error if the device is protected. 
>> However, AFAICT, the implement in the SMMU driver provided in this 
>> series will return an error. So I would suggest to replace this sentence 
>> with:
>>
>> de-register the device from the IOMMU driver.
> Will change the comment.
>>
>>> +     * The driver is responsible for removing is_protected flag.
>> J:
>> Can you add an assert in the 'if ( !rc )' block to confirm that 
>> is_protected was effectively removed. Something like:
>>
>> ASSERT(!dt_device_is_protected(dev));
> Is ASSERT really required here. remove callback can return before setting is_protected as false.
I think Julien wanted to add extra check to make sure driver behaves as expected.
That said, his suggestion is incorrect since the callback can return before clearing the flag.
So, if ASSERT is required, this should be:
ASSERT(rc || !dt_device_is_protected(dev));
so that we check for is_protected being false only on callback returning success (i.e. 0).

>>
>> This would help to confirm the driver is respecting what you expect.
>>
>>> +     */
>>> +    rc = ops->remove_device(0, dev);
>>> +
>>> +    if ( !rc )
>>> +        iommu_fwspec_free(dev);
>>> +
>>> + fail:
>>> +    spin_unlock(&dtdevs_lock);
>>> +    return rc;
>>> +}
>>> +
>>>  int iommu_add_dt_device(struct dt_device_node *np)
>>>  {
>>>      const struct iommu_ops *ops = iommu_get_ops();
>>> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
>>> index 110693c59f..a8e9bc9a2d 100644
>>> --- a/xen/include/xen/iommu.h
>>> +++ b/xen/include/xen/iommu.h
>>> @@ -233,6 +233,7 @@ int iommu_add_dt_device(struct dt_device_node *np);
>>>  
>>>  int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>>                         XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
>>> +int iommu_remove_dt_device(struct dt_device_node *np);
>>>  
>>>  #endif /* HAS_DEVICE_TREE */
>>>  
>>
>> ~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 07:33:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 07:33:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593441.926439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbcAq-0002J7-0A; Thu, 31 Aug 2023 07:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593441.926439; Thu, 31 Aug 2023 07:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbcAp-0002J0-Tj; Thu, 31 Aug 2023 07:33:03 +0000
Received: by outflank-mailman (input) for mailman id 593441;
 Thu, 31 Aug 2023 07:33:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P20E=EQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qbcAo-0002Iu-DE
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 07:33:02 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cf69991-47d0-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 09:33:00 +0200 (CEST)
Received: from CYZPR11CA0014.namprd11.prod.outlook.com (2603:10b6:930:8d::24)
 by SA1PR12MB7175.namprd12.prod.outlook.com (2603:10b6:806:2b2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 07:32:57 +0000
Received: from CY4PEPF0000EE31.namprd05.prod.outlook.com
 (2603:10b6:930:8d:cafe::ef) by CYZPR11CA0014.outlook.office365.com
 (2603:10b6:930:8d::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21 via Frontend
 Transport; Thu, 31 Aug 2023 07:32:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE31.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 07:32:56 +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.27; Thu, 31 Aug
 2023 02:32:56 -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.27; Thu, 31 Aug
 2023 02:32:55 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 31 Aug 2023 02:32: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: 9cf69991-47d0-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H/NBOemajLJ1kyaRJzngzYzNv/zNBa4o7jtWzQCebDiiah3Q2PgJ+xLHyzdvaoMofCrXc1rCnHRkrfb9tMCRQrTydJKWz1a+pMDTqf2eDfymhP6YrmOfrrTU/DRsHp1xItgbCeStV5lnn/jlkbwmZYzEyJty5Wy5X5mSQNr+0R4+W7P+EBm2eh+lvmoMY86KikSFILjHxGF0B9IPGuJotsat7XtIyYlVsw7pieEMs+Q/Xf3FtfjM+OnhD5h/+odEoI5XQPAnWPO5CX7I55dnMbH6vUbURh5ae1sqlVQIp2vabL/baztH2FbbfrcFzPtI9f2/0BC7bJNMHHAZ+6ouRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xI8DzyhJbMnLzrLdQpcelbuODmk47Xs4MW3T4F0Qf/k=;
 b=jl7AN7tQEzCJ688o5XLul+6Q1v9WfKV/fxbXE+lTBmelTEYttcIgQtjXJSfIetUZZYVs4H1yuyEYKoLheR4dZinOEtJwV9a1gWnz/slFgLDfnu3XhQXfhimniufrAlZyW5D9qy8X1K7u+3OTiZByduu7IoGNQ83YrvGZSH3LfHbDv19mpoVdjG41P0Rzrg2BrueZp3y7zYiugKXwtNfkFMQXal2OtVzks2yjqRZBcVeLxqEFrIB1L7sNWHXMB6EnoSMGkrWt0bnCARc9Qs+Qa0unbcntPJezyEPKp9fYfnzcGNWc0xosejFBYun+tCNWOC9okH7riImHFIe0YXWsLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xI8DzyhJbMnLzrLdQpcelbuODmk47Xs4MW3T4F0Qf/k=;
 b=bMXlozpkBgaWn8goUoS7VfXx0qKMCjyfEMbHyxU81tzqGy5YL/YM9ndDL2rOnEevtSwbOfOUxB06yVOMUmFTVR7iyhZA/y545BJAfN2h7jousPX/ao7RAIG79UuUzuRvM/fU+zW6/aIvMLVTWYAYIIKVPIXEuLxEkw047Z+x/CA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <4f5236f4-39c3-ddc7-3570-2b6bfcd514dd@amd.com>
Date: Thu, 31 Aug 2023 09:32:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN][PATCH v10 11/20] xen/iommu: Introduce
 iommu_remove_dt_device()
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230825080222.14247-1-vikram.garhwal@amd.com>
 <20230825080222.14247-12-vikram.garhwal@amd.com>
 <079c831a-bf1e-5489-562b-01cf4e3e6b02@amd.com> <ZO-A7ZERxISru9Ug@amd.com>
 <7e622077-2062-f2c6-38ac-81196f80d1d2@amd.com>
In-Reply-To: <7e622077-2062-f2c6-38ac-81196f80d1d2@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE31:EE_|SA1PR12MB7175:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b1ad43b-71fd-4485-3197-08dba9f47ede
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yFn52QRibIZntdslt1k6DY6p/JDUkZORofEVpt2Vwc+eW100YiFJqhsOzAi3Oax87hJDy0aVnyZhU8IRfJwCjFU4R2PuJjWO1O+E2XCk6J7Mai2GU6vG3wBFWHAfBMWOkj2OZCyVdkrYUnNe7meSjuVev9SEGmhRagWIlZ+ju3xjOFx9sR+LlBdd63dqGnchl/k0LcIpDyqqYCSFA2vpSxI8iHMUyAKozOgZq2inZ/VNTaT4k3JKKWR7e4G0fQZiBq5hn3H4mVXfhSHCcCpugQ7JYGiUtixhEP1vHdJjpeMwxMUdVouJ7ws0e1Ai9FiNQDurvFMg8TwLNBWM09iqfydWr9B0KcXi13aMECcI+YfRnWWBd0z/yANqb6sJ5G/TLbePmw2/EK14Z5FWOjwPkqcBMT792rNrF4WP9PYHm7pt5JLegY+jSoZsvwFaubz6+5OEqXakWwQFoV2t6r/fKYtv233gO/i65EiFLckKaa73DDtj+k6ge4b8I+fSFXqOPb+9vWXyGmuqsU11dXnjVF9QaUSt1ByYfhEZAKIyqdxns5bM3QaGKHxzD8FaFTcYtb95V11XIL/yiDpSl/ob3egeuAY6FW1ZifgDZ62hJo3ctGzahAk75S9z+MvszyLWL58qQ81sgXyNc6p3M+k6SSYNwiDmNZ8gNWcganjLfGMpFBjhFZYFvdjlWt9gb57F2CbIXl1uC3/PIG4TyPnS9qgLEpRplUwx6cDDkV/T71JIkCAALJxaRTL8iOlIdUxOF1ZT2zHNOCZn5HWYdWEbLB7qEUg9UjJ4vAPgmvS0S8Bcqb8owIyjj2G34AFNlAj6
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)(4636009)(136003)(396003)(376002)(346002)(39860400002)(1800799009)(186009)(82310400011)(451199024)(46966006)(40470700004)(36840700001)(31686004)(70206006)(2906002)(86362001)(31696002)(40460700003)(5660300002)(36756003)(81166007)(44832011)(82740400003)(356005)(40480700001)(6862004)(4326008)(36860700001)(8676002)(8936002)(47076005)(83380400001)(41300700001)(336012)(426003)(53546011)(316002)(37006003)(16576012)(70586007)(26005)(2616005)(6636002)(478600001)(6666004)(54906003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 07:32:56.7724
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b1ad43b-71fd-4485-3197-08dba9f47ede
X-MS-Exchange-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:
	CY4PEPF0000EE31.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7175



On 31/08/2023 09:23, Michal Orzel wrote:
> 
> 
> On 30/08/2023 19:48, Vikram Garhwal wrote:
>> Hi Michal,
>> On Tue, Aug 29, 2023 at 10:23:30AM +0200, Michal Orzel wrote:
>>>
>>>
>>> On 25/08/2023 10:02, Vikram Garhwal wrote:
>>>> Remove master device from the IOMMU. This will be helpful when removing the
>>>> overlay nodes using dynamic programming during run time.
>>>>
>>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> You don't seem to handle Julien remarks for this patch made in v9.
>>> I will forward them here to avoid answering to old version, but for the future, do not carry the exact same patch
>>> if you haven't yet addressed someone's remarks.
>> This got skipped as I cannot find direct email from Julien. The only email reply
>> on this patch is can find is from: xen-devel-bounces@lists.xenproject.org and
>> this got messed up with other larger set of email xen-devel sends.
>>
>> Did you get direct email?
>>>
>>>>
>>>> ---
>>>> Changes from v7:
>>>>     Add check if IOMMU is enabled.
>>>>     Fix indentation of fail.
>>>> ---
>>>> ---
>>>>  xen/drivers/passthrough/device_tree.c | 44 +++++++++++++++++++++++++++
>>>>  xen/include/xen/iommu.h               |  1 +
>>>>  2 files changed, 45 insertions(+)
>>>>
>>>> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
>>>> index 1202eac625..3fad65fb69 100644
>>>> --- a/xen/drivers/passthrough/device_tree.c
>>>> +++ b/xen/drivers/passthrough/device_tree.c
>>>> @@ -128,6 +128,50 @@ int iommu_release_dt_devices(struct domain *d)
>>>>      return 0;
>>>>  }
>>>>
>>>> +int iommu_remove_dt_device(struct dt_device_node *np)
>>>> +{
>>>> +    const struct iommu_ops *ops = iommu_get_ops();
>>>> +    struct device *dev = dt_to_dev(np);
>>>> +    int rc;
>>>> +
>>>> +    if ( !iommu_enabled )
>>>> +        return 1;
>>> J:
>>> The caller doesn't seem to check if the error code is > 0. So can we
>>> instead return a -ERRNO?
>> Will change the check in caller. I want to keep this as it as so it looks
>> similar to iommu_add_dt_device().
>>>
>>> If you want to continue to return a value > 0 then I think it should be
>>> documented in a comment like we did for iommu_add_dt_device().
>>>
>> Will add comment before iommu_remove_dt_device().
>>>> +
>>>> +    if ( !ops )
>>>> +        return -EOPNOTSUPP;
>>>> +
>>>> +    spin_lock(&dtdevs_lock);
>>>> +
>>>> +    if ( iommu_dt_device_is_assigned_locked(np) )
>>>> +    {
>>>> +        rc = -EBUSY;
>>>> +        goto fail;
>>>> +    }
>>>> +
>>>> +    /*
>>>> +     * The driver which supports generic IOMMU DT bindings must have this
>>>> +     * callback implemented.
>>>> +     */
>>> J:
>>> I have questioned this message in v7 and I still question it. I guess
>>> you copied the comment on top of add_device(), this was add there
>>> because we have a different way to add legacy device.
>>>
>>> But here there are no such requirement. In fact, you are not adding the
>>> the callback to all the IOMMU drivers... Yet all of them support the
>>> generic IOMMU DT bindings.
>> Will change this.
>>>
>>>> +    if ( !ops->remove_device )
>>>> +    {
>>>> +        rc = -EOPNOTSUPP;
>>>> +        goto fail;
>>>> +    }
>>>> +
>>>> +    /*
>>>> +     * Remove master device from the IOMMU if latter is present and available.
>>> J:
>>> I read this as this will not return an error if the device is protected.
>>> However, AFAICT, the implement in the SMMU driver provided in this
>>> series will return an error. So I would suggest to replace this sentence
>>> with:
>>>
>>> de-register the device from the IOMMU driver.
>> Will change the comment.
>>>
>>>> +     * The driver is responsible for removing is_protected flag.
>>> J:
>>> Can you add an assert in the 'if ( !rc )' block to confirm that
>>> is_protected was effectively removed. Something like:
>>>
>>> ASSERT(!dt_device_is_protected(dev));
>> Is ASSERT really required here. remove callback can return before setting is_protected as false.
> I think Julien wanted to add extra check to make sure driver behaves as expected.
> That said, his suggestion is incorrect since the callback can return before clearing the flag.
> So, if ASSERT is required, this should be:
> ASSERT(rc || !dt_device_is_protected(dev));
> so that we check for is_protected being false only on callback returning success (i.e. 0).
I wrote this based on iommu_add_dt_device(), which does:
    if ( !rc )
        rc = ops->add_device(0, dev);

but looking at iommu_remove_dt_device(), where you have:
    rc = ops->remove_device(0, dev);
    if ( !rc )
        iommu_fwspec_free(dev);

you should do what Stefano suggested (i.e. just add ASSERT into ( !rc ) block)

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 08:20:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 08:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593505.926480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbcuN-0001Bz-Vf; Thu, 31 Aug 2023 08:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593505.926480; Thu, 31 Aug 2023 08:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbcuN-0001Bs-RO; Thu, 31 Aug 2023 08:20:07 +0000
Received: by outflank-mailman (input) for mailman id 593505;
 Thu, 31 Aug 2023 08: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 1qbcuM-00016u-Hp; Thu, 31 Aug 2023 08: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 1qbcuM-000238-BJ; Thu, 31 Aug 2023 08: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 1qbcuL-0001Rc-Pn; Thu, 31 Aug 2023 08:20:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbcuL-0008JV-PL; Thu, 31 Aug 2023 08:20:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xW1qXzLMUaUGPY9SxEXjmm3npTdKSltaFf0puiy3HR0=; b=CiLhEPkPTBOIk+L9ndtFfmyz8r
	A/Ke9c1ckvtSpAu67LxFEZg0IcYmRs9WZqj628JjOfHdiPMiUSvhzJK87OMDlyuR4lcSEwyTYvz23
	SwU3fZHJZ9hOeatAd/XaZ25/1a/xVcUopOjr+FSqHRbL3cupWvULZWknltFrZsK0K/cA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182571-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 182571: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e5522c71beaa83f2f5d2118724ace9f90c22e583
X-Osstest-Versions-That:
    xen=8c01f267eff3d6c1ea04273e9885bf6d2fda1c44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 08:20:05 +0000

flight 182571 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182571/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182563
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182563
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182563
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182563
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182563
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182563
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182563
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182563
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182563
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182563
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182563
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182563
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  e5522c71beaa83f2f5d2118724ace9f90c22e583
baseline version:
 xen                  8c01f267eff3d6c1ea04273e9885bf6d2fda1c44

Last test of basis   182563  2023-08-30 05:57:17 Z    1 days
Testing same since   182571  2023-08-30 17:08:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau MonnĂ© <roger.pau@citrix.com>
  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-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   8c01f267ef..e5522c71be  e5522c71beaa83f2f5d2118724ace9f90c22e583 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 08:56:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 08:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593518.926501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdTI-0005G0-So; Thu, 31 Aug 2023 08:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593518.926501; Thu, 31 Aug 2023 08:56:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdTI-0005Ft-Ou; Thu, 31 Aug 2023 08:56:12 +0000
Received: by outflank-mailman (input) for mailman id 593518;
 Thu, 31 Aug 2023 08:56: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=Z8hL=EQ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1qbdTH-0005Fn-Lo
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 08:56:12 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3869c50d-47dc-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 10:56:07 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS7PR12MB5766.namprd12.prod.outlook.com (2603:10b6:8:75::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 08:56:02 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::c838:299:8697:dd70]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::c838:299:8697:dd70%5]) with mapi id 15.20.6699.035; Thu, 31 Aug 2023
 08:56:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3869c50d-47dc-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ag6PeziVAvTSO9RrE64zUu9xSDF6A3uahy6/+DmhKIO/omlc7QQhSxA2qC9L3UnDM/Hpaqxhnvi0id7qaK3FLvjhxkBRaPnPSYa+p5WEkbb7svzg7b8kFhtBanSbKVeB8DNFexCiX7KsKgm6EknhsAUGtB1d9uIzkgN8j5rd4vakC5b1Z6fnRCJf3N/3TGGOqo0zAUyd5dseHbWCbHhBhyAp78li8bxjvR6QI/4Q80nAF9KmtMq89VR4VZh/0sJfuM8Rk76Sk8wZOZf6WlTjQY4iz8Gjo9M4oFM7H+twrNNgOepRRhvhIiQwFsxVaclSKHEgHhv1KWXi98Kq6KvO+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5fcR0FlLlPCsXIEeUkD0T14A1Ip6XS7L7zeLBT7Ng3M=;
 b=mPLApBE4Fb6r5/N+EmnaYG8y+JtstyOxQ6gN8nOTgHfdLxLbYHnNyv3Pucz4BQak7gyQCNVJjwv83HSMF8NV3umHQkrn6NZ651yR33BbPpCN9W/GGGEccsTt5VdGL3oy8Nah4xltxJ9zfaO83lrvPl5rtMyaTBC8DW3omW2oQ6L8uuGeEfwQbaTjDN7pIYtPaDi/UfO4Cnm4TKdLh84wBvf3AnsmpUwkdZ4F1MOlPJ8dEgxtTh/qC6f7x22wFKkC+HGjVK4xAW08ztTS+a+yZ1vq0iQvh+rhyJA53dmlWZRwYkpcZSzKCaWRfMs6b3BEqO59bVh2a+eMVgDwN4Cvww==
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=5fcR0FlLlPCsXIEeUkD0T14A1Ip6XS7L7zeLBT7Ng3M=;
 b=Ko78OAiXvagNsyyW3sa0MKr9AXJ+uSftYDKocQ/t9ybeR8maM58MpA9AjtVc7jcr/lVQ8OkH00hDKGN/vuVW3QEsARpax4mYswbY7gj6yYd2x3c2HqAigIgu4tmiM6zXM42VXYYXn3etMrR2F+oksrZ3a3hPd5AnLgMJClMRUyY=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
	<jbeulich@suse.com>, "Huang, Ray" <Ray.Huang@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, Xenia Ragiadakou
	<burzalodowa@gmail.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Thread-Topic: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Thread-Index:
 AQHZVLgPekbKDe0PdE+qOexdbJYd7678Dv4AgACIawCAAIklgIAACP2AgAAEZYCAAOQ4gIAAnH0AgAAT6QCAAIzzgIAAGeoAgAASqACA1am6gIAjcG8AgA0L+gA=
Date: Thu, 31 Aug 2023 08:56:01 +0000
Message-ID:
 <BL1PR12MB5849C0C59FEAF7D0888D872CE7E5A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849773109F9A9C6AE4D824EE705A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <ZOXJ9s8hb96l8ys2@MacBook-Air-de-Roger.local>
In-Reply-To: <ZOXJ9s8hb96l8ys2@MacBook-Air-de-Roger.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.6699.035)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS7PR12MB5766:EE_
x-ms-office365-filtering-correlation-id: 7243d3eb-e1a0-4e12-94c6-08dbaa001a18
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 XzZCG/SzxgTFTKooIptDXWgAvcZSfUSlwnWiMxlHNKw8GLb07e8H//F/b8mX0WXZrX7E91P19hghwQt6BcxHdvEO58wTtJyOgSpzfoxW+8fV1tfnVFbs7LdThQ4Z02yJ9qPCqNbwyHwuWZp1Buvy2zjSVI2RmEBsxWmTfnqrD+r4XJ+vZlcHuI9AQmNVBq3d6Yjoj/CmoSeDvoynVg9XfDjg1p6tbQPXhSsWIHDXup6ZqPWxmESfrPjqeBwDy+JiYWmnPrgfDkn3x1TcpWjXNZ5SPbmeNZwR1GlyTz0Z0dJmsiBfu/SrrhywlaGY6W8EnLKUAMwX5of/eHVg9inRUOwA49a4CKxt+KalakQmAgL01ydcwvisLUAEQtmcDMV/zMfHj6/LPUO6U+dagukQTE4JCPgtji+jIQOsqOtDOw//H+1pPQlujgfi9UUXoDD3D7KyrZGlecUBI008+6qSH9IkDYqYBWdx/FGK8eXyMvRXexw9sBnJN9EcG5XWW86p6oYxmVCEip3ogVAEZ04BGrMxon/dySdvFxShiGf4//ans5hQfzkQlpIapBP4Rzk6DK5zSJ9VQW8leG0QGrl6Q/vN0w45sPGmRIsOnh/5pvSaCfj5xTn57TDTY3e2FFTs
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)(39860400002)(396003)(346002)(366004)(136003)(376002)(186009)(1800799009)(451199024)(55016003)(83380400001)(6916009)(54906003)(316002)(66476007)(66446008)(64756008)(66946007)(478600001)(38100700002)(122000001)(76116006)(66556008)(38070700005)(2906002)(30864003)(6506007)(4326008)(5660300002)(8676002)(7696005)(9686003)(8936002)(53546011)(52536014)(71200400001)(26005)(41300700001)(33656002)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eFpkaVhpMkY5TjRSaUtleG0yb1YxWmJFU1gzb3p3bHc3RVlQTWpWUkZta3A2?=
 =?utf-8?B?aDVZNmdKaldoaEx2aDJRdzJTUzJxdU93TGdOWHNNTWZuZ29qK3FhSUo0aDBi?=
 =?utf-8?B?czRwNHlXSldlaEVkTlNqMHkweG8waTFuS2NtSy9OU0FzKzgxZER5Y2NKcWxO?=
 =?utf-8?B?YTF5cU5ITnFjSHdBamgrODZoREt5VDBLSG0vVW1HZkpLazV6MVk1cGpiaUl0?=
 =?utf-8?B?Ti9GMk5zRS9WL01qdEY3ckU2V0pHY2FBbWhEZE9sR01ITHUybTV4N3k2Vmw2?=
 =?utf-8?B?dHd2Z2NxM0l3T1F5SFRCR3pZYmFDUGVYbEhhRFhkcTBoU3NXQjhXYm0rMk52?=
 =?utf-8?B?RlVkd3FmdTlRMTVlN1poUWRpbWNJUVVjZUhlMnE4MHNWL1ZNUGdDcFdZNE5X?=
 =?utf-8?B?Z2tVdmtVWlBYOHJkSlhFdFJxQWhhU0RrWXNqdFBrdlVXZzdtTzROK24rOC9I?=
 =?utf-8?B?V0NDKzVRaCs5b3NmeXVKdFBYSDJnd2ZTU29BMGxRT0lwOGNUVlpkMmJlM1ln?=
 =?utf-8?B?QVFLMVk1VTNPQWJacDJ2M2l3Zmk3UlFyWHNMd05yTHdTcEV3WG5jaGFUbXZB?=
 =?utf-8?B?NzF5RHplWmVrVGNQVWNsc05KbDlpdEFFS1RHM0tNdGxDd0hvejRVTVRHdEFY?=
 =?utf-8?B?YW94UTJvZm5UN3QzcWVPOHFjRjdsazhuQ1BHekk5YXlkSXJNL2JrTG1rUldh?=
 =?utf-8?B?TUlFOC9rcWgrY0RxbzNUSTh1d3FtZU56eFY2R2d2S2dFZ3RYWmhMZitTWXhW?=
 =?utf-8?B?QXFKRjM3R0dnMjMxMnAxWG1Vc0RYS1ZIZHJhSXZtMEZ5WGlvYjk5WE5aU25l?=
 =?utf-8?B?ZDEwZmdBamticTNodFcza1BoODBpMFVBeXVkZENGZUQ0enVEbXFrVEgxeGgy?=
 =?utf-8?B?akVDMnZWa2ZkM2Z0bExPSVBHMWJhdWZnM0FPa05WQkdKbXp2c0NvMFJ5dXJK?=
 =?utf-8?B?TkNXNk85QTlwY2hFQVZlZjluclA0SlAzb2g4WFAreU13bHhrQ0pKVXlJVk1z?=
 =?utf-8?B?SUJNR2lteFZNK1poRWtmdkk2TllzSGNYdkZFb2tCbENxd0NFT0dsTjlnY0Y1?=
 =?utf-8?B?SHhmVnVkYW5GaXIrZk9HMFNyTSsyTkdndkpzNXRGU1B4ZGVkQU1UUG9ZcGxE?=
 =?utf-8?B?TVcrT0pPQytUSVdpU3N6Q3R5MHVZUmZpSFBmb3h5U25zU1ZWdEs3ODZxUDBa?=
 =?utf-8?B?WE0raFN1VUh2VnpXSjNnbkRtRWR3dEtJNU1qclNGVVlqT3Bwb1Zqd25SUlFE?=
 =?utf-8?B?UnpnS1lOZ09ycjNzZU1sY2gzaHVTeGlwZnMrakdscHJjUHlqaHRFc3cxRWMy?=
 =?utf-8?B?TU50NG5Oay92YUNEVk9vWHBuTGRkY0NDSis5eTl0QWRhZmRsNkY4RE0vak1T?=
 =?utf-8?B?d1F5WkFpL1kwTDE3elZDNlYvRE9LYW1Yak5zWkR0ZmZ3a014cWhDcFh2NFVQ?=
 =?utf-8?B?cllUM0M4NFNsWVFqSDlBTUF6K1crL3lib2NZUUNCV0VwdGxKK3FCUGh1SGpZ?=
 =?utf-8?B?ZnZsajFHTEkrYTRidklicUF0WHVoY0RnMzRGUjcrbC9Mb0RDeElSU0hkcEJr?=
 =?utf-8?B?OGtKdWw5UFFMREt4RXY2cnlTMFZDcG4ydGhzTmpsRHI2cWVhaGNzRnJRYmVI?=
 =?utf-8?B?aUZwMUlWVGd4OXFMS3VwanE1eG5EcEJQcnFuYTErZEh0anVNUzJkRGd3T0o4?=
 =?utf-8?B?MVhFRGJiWU16MkJITXF3WEllTzJyRUJ1UDJQclRFeFZBa2NBTWQyN2VSUnhU?=
 =?utf-8?B?ZENJMWhndndxbFd2RVg0ZzRYRFVEVlJwSWhneXZSMFAweERmcFlReHZTRUJ5?=
 =?utf-8?B?TCtUSlcrQ3FHNkNzK0pBK3ptckN4SERETm8yNnNxVEFrWDFYSlpLeUpXMy85?=
 =?utf-8?B?b0dUSnFSY1NZeUlXdlNIbm5DdjM5a3pwazJlTGtZZzhWYXlCZDV1WEJ4REha?=
 =?utf-8?B?bTFjaUwyNHRKeWQxdDhkOFJGVnBPZjV3T2Njd1N6bW1YamtzOUlMSm8rQnFD?=
 =?utf-8?B?dFYxb0dNT2hGWDJrYmFxMW44Z1YyMVVpZHk5ZXBCdzU3alNQRVBOMnhuMW8v?=
 =?utf-8?B?dHZISFl5NDFxaENLZmR5T1AzRGhCeG42L0JJYUt1N05HYnFjcEJhZGhnWGxk?=
 =?utf-8?Q?Iarc=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0B3E53C949F9D64A8D5D4CC5C4A4556A@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: 7243d3eb-e1a0-4e12-94c6-08dbaa001a18
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2023 08:56:01.7354
 (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: jsFgVP/d0unTXKq93vCQEt0eKB8KKgk4LxfXit5aXlurCn/qOMn6m2JL/oJAw7pKBGfotoPUmawsuClH9WMOzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5766

VGhhbmtzIFJvZ2VyLCB3ZSB3aWxsIHNlbmQgYSBuZXcgc2VyaWVzIGFmdGVyIHRoZSBmcmVlemlu
ZyB0aW1lIG9mIFhlbiByZWxlYXNlIDQuMTguDQoNCk9uIDIwMjMvOC8yMyAxNjo1NywgUm9nZXIg
UGF1IE1vbm7DqSB3cm90ZToNCj4gT24gTW9uLCBKdWwgMzEsIDIwMjMgYXQgMDQ6NDA6MzVQTSAr
MDAwMCwgQ2hlbiwgSmlxaWFuIHdyb3RlOg0KPj4gSGksDQo+Pg0KPj4gT24gMjAyMy8zLzE4IDA0
OjU1LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+Pj4gT24gRnJpLCAxNyBNYXIgMjAyMywg
Um9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4gT24gRnJpLCBNYXIgMTcsIDIwMjMgYXQgMTE6
MTU6MzdBTSAtMDcwMCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4gT24gRnJpLCAx
NyBNYXIgMjAyMywgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4+PiBPbiBGcmksIE1hciAx
NywgMjAyMyBhdCAwOTozOTo1MkFNICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4+Pj4g
T24gMTcuMDMuMjAyMyAwMDoxOSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4+Pj4g
T24gVGh1LCAxNiBNYXIgMjAyMywgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+Pj4+Pj4gU28geWVz
LCBpdCB0aGVuIGFsbCBib2lscyBkb3duIHRvIHRoYXQgTGludXgtDQo+Pj4+Pj4+Pj4gaW50ZXJu
YWwgcXVlc3Rpb24uDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gRXhjZWxsZW50IHF1ZXN0aW9uIGJ1dCB3
ZSdsbCBoYXZlIHRvIHdhaXQgZm9yIFJheSBhcyBoZSBpcyB0aGUgb25lIHdpdGgNCj4+Pj4+Pj4+
IGFjY2VzcyB0byB0aGUgaGFyZHdhcmUuIEJ1dCBJIGhhdmUgdGhpcyBkYXRhIEkgY2FuIHNoYXJl
IGluIHRoZQ0KPj4+Pj4+Pj4gbWVhbnRpbWU6DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gWyAgICAxLjI2
MDM3OF0gSVJRIHRvIHBpbiBtYXBwaW5nczoNCj4+Pj4+Pj4+IFsgICAgMS4yNjAzODddIElSUTEg
LT4gMDoxDQo+Pj4+Pj4+PiBbICAgIDEuMjYwMzk1XSBJUlEyIC0+IDA6Mg0KPj4+Pj4+Pj4gWyAg
ICAxLjI2MDQwM10gSVJRMyAtPiAwOjMNCj4+Pj4+Pj4+IFsgICAgMS4yNjA0MTBdIElSUTQgLT4g
MDo0DQo+Pj4+Pj4+PiBbICAgIDEuMjYwNDE4XSBJUlE1IC0+IDA6NQ0KPj4+Pj4+Pj4gWyAgICAx
LjI2MDQyNV0gSVJRNiAtPiAwOjYNCj4+Pj4+Pj4+IFsgICAgMS4yNjA0MzJdIElSUTcgLT4gMDo3
DQo+Pj4+Pj4+PiBbICAgIDEuMjYwNDQwXSBJUlE4IC0+IDA6OA0KPj4+Pj4+Pj4gWyAgICAxLjI2
MDQ0N10gSVJROSAtPiAwOjkNCj4+Pj4+Pj4+IFsgICAgMS4yNjA0NTVdIElSUTEwIC0+IDA6MTAN
Cj4+Pj4+Pj4+IFsgICAgMS4yNjA0NjJdIElSUTExIC0+IDA6MTENCj4+Pj4+Pj4+IFsgICAgMS4y
NjA0NzBdIElSUTEyIC0+IDA6MTINCj4+Pj4+Pj4+IFsgICAgMS4yNjA0NzhdIElSUTEzIC0+IDA6
MTMNCj4+Pj4+Pj4+IFsgICAgMS4yNjA0ODVdIElSUTE0IC0+IDA6MTQNCj4+Pj4+Pj4+IFsgICAg
MS4yNjA0OTNdIElSUTE1IC0+IDA6MTUNCj4+Pj4+Pj4+IFsgICAgMS4yNjA1MDVdIElSUTEwNiAt
PiAxOjgNCj4+Pj4+Pj4+IFsgICAgMS4yNjA1MTNdIElSUTExMiAtPiAxOjQNCj4+Pj4+Pj4+IFsg
ICAgMS4yNjA1MjFdIElSUTExNiAtPiAxOjEzDQo+Pj4+Pj4+PiBbICAgIDEuMjYwNTI5XSBJUlEx
MTcgLT4gMToxNA0KPj4+Pj4+Pj4gWyAgICAxLjI2MDUzN10gSVJRMTE4IC0+IDE6MTUNCj4+Pj4+
Pj4+IFsgICAgMS4yNjA1NDRdIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBk
b25lLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBBbmQgd2hhdCBkb2VzIExpbnV4IHRoaW5rIGFyZSBJUlFz
IDE2IC4uLiAxMDU/IEhhdmUgeW91IGNvbXBhcmVkIHdpdGgNCj4+Pj4+Pj4gTGludXggcnVubmlu
ZyBiYXJlbWV0YWwgb24gdGhlIHNhbWUgaGFyZHdhcmU/DQo+Pj4+Pj4NCj4+Pj4+PiBTbyBJIGhh
dmUgc29tZSBlbWFpbHMgZnJvbSBSYXkgZnJvbSBoZSB0aW1lIGhlIHdhcyBsb29raW5nIGludG8g
dGhpcywNCj4+Pj4+PiBhbmQgb24gTGludXggZG9tMCBQVkggZG1lc2cgdGhlcmUgaXM6DQo+Pj4+
Pj4NCj4+Pj4+PiBbICAgIDAuMDY1MDYzXSBJT0FQSUNbMF06IGFwaWNfaWQgMzMsIHZlcnNpb24g
MTcsIGFkZHJlc3MgMHhmZWMwMDAwMCwgR1NJIDAtMjMNCj4+Pj4+PiBbICAgIDAuMDY1MDk2XSBJ
T0FQSUNbMV06IGFwaWNfaWQgMzQsIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMTAwMCwgR1NJ
IDI0LTU1DQo+Pj4+Pj4NCj4+Pj4+PiBTbyBpdCBzZWVtcyB0aGUgdklPLUFQSUMgZGF0YSBwcm92
aWRlZCBieSBYZW4gdG8gZG9tMCBpcyBhdCBsZWFzdA0KPj4+Pj4+IGNvbnNpc3RlbnQuDQo+Pj4+
Pj4gIA0KPj4+Pj4+Pj4gQW5kIEkgdGhpbmsgUmF5IHRyYWNlZCB0aGUgcG9pbnQgaW4gTGludXgg
d2hlcmUgTGludXggZ2l2ZXMgdXMgYW4gSVJRID09DQo+Pj4+Pj4+PiAxMTIgKHdoaWNoIGlzIHRo
ZSBvbmUgY2F1c2luZyBpc3N1ZXMpOg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IF9fYWNwaV9yZWdpc3Rl
cl9nc2ktPg0KPj4+Pj4+Pj4gICAgICAgICBhY3BpX3JlZ2lzdGVyX2dzaV9pb2FwaWMtPg0KPj4+
Pj4+Pj4gICAgICAgICAgICAgICAgIG1wX21hcF9nc2lfdG9faXJxLT4NCj4+Pj4+Pj4+ICAgICAg
ICAgICAgICAgICAgICAgICAgIG1wX21hcF9waW5fdG9faXJxLT4NCj4+Pj4+Pj4+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX19pcnFfcmVzb2x2ZV9tYXBwaW5nKCkNCj4+Pj4+Pj4+
DQo+Pj4+Pj4+PiAgICAgICAgIGlmIChsaWtlbHkoZGF0YSkpIHsNCj4+Pj4+Pj4+ICAgICAgICAg
ICAgICAgICBkZXNjID0gaXJxX2RhdGFfdG9fZGVzYyhkYXRhKTsNCj4+Pj4+Pj4+ICAgICAgICAg
ICAgICAgICBpZiAoaXJxKQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgKmlycSA9
IGRhdGEtPmlycTsNCj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAvKiB0aGlzIElSUSBpcyAxMTIs
IElPLUFQSUMtMzQgZG9tYWluICovDQo+Pj4+Pj4+PiAgICAgICAgIH0NCj4+Pj4+Pg0KPj4+Pj4+
DQo+Pj4+Pj4gQ291bGQgdGhpcyBhbGwgYmUgYSByZXN1bHQgb2YgcGF0Y2ggNC81IGluIHRoZSBM
aW51eCBzZXJpZXMgKCJbUkZDDQo+Pj4+Pj4gUEFUQ0ggNC81XSB4ODYveGVuOiBhY3BpIHJlZ2lz
dGVycyBnc2kgZm9yIHhlbiBwdmgiKSwgd2hlcmUgYSBkaWZmZXJlbnQNCj4+Pj4+PiBfX2FjcGlf
cmVnaXN0ZXJfZ3NpIGhvb2sgaXMgaW5zdGFsbGVkIGZvciBQVkggaW4gb3JkZXIgdG8gc2V0dXAg
R1NJcw0KPj4+Pj4+IHVzaW5nIFBIWVNERVYgb3BzIGluc3RlYWQgb2YgZG9pbmcgaXQgbmF0aXZl
bHkgZnJvbSB0aGUgSU8tQVBJQz8NCj4+Pj4+Pg0KPj4+Pj4+IEZXSVcsIHRoZSBpbnRyb2R1Y2Vk
IGZ1bmN0aW9uIGluIHRoYXQgcGF0Y2gNCj4+Pj4+PiAoYWNwaV9yZWdpc3Rlcl9nc2lfeGVuX3B2
aCgpKSBzZWVtcyB0byB1bmNvbmRpdGlvbmFsbHkgY2FsbA0KPj4+Pj4+IGFjcGlfcmVnaXN0ZXJf
Z3NpX2lvYXBpYygpIHdpdGhvdXQgY2hlY2tpbmcgaWYgdGhlIEdTSSBpcyBhbHJlYWR5DQo+Pj4+
Pj4gcmVnaXN0ZXJlZCwgd2hpY2ggbWlnaHQgbGVhZCB0byBtdWx0aXBsZSBJUlFzIGJlaW5nIGFs
bG9jYXRlZCBmb3IgdGhlDQo+Pj4+Pj4gc2FtZSB1bmRlcmx5aW5nIEdTST8NCj4+Pj4+DQo+Pj4+
PiBJIHVuZGVyc3RhbmQgdGhpcyBwb2ludCBhbmQgSSB0aGluayBpdCBuZWVkcyBpbnZlc3RpZ2F0
aW5nLg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+Pj4gQXMgSSBjb21tZW50ZWQgdGhlcmUsIEkgdGhpbmsg
dGhhdCBhcHByb2FjaCBpcyB3cm9uZy4gIElmIHRoZSBHU0kgaGFzDQo+Pj4+Pj4gbm90IGJlZW4g
bWFwcGVkIGluIFhlbiAoYmVjYXVzZSBkb20wIGhhc24ndCB1bm1hc2tlZCB0aGUgcmVzcGVjdGl2
ZQ0KPj4+Pj4+IElPLUFQSUMgcGluKSB3ZSBzaG91bGQgYWRkIHNvbWUgbG9naWMgaW4gdGhlIHRv
b2xzdGFjayB0byBtYXAgaXQNCj4+Pj4+PiBiZWZvcmUgYXR0ZW1wdGluZyB0byBiaW5kLg0KPj4+
Pj4NCj4+Pj4+IEJ1dCB0aGlzIHN0YXRlbWVudCBjb25mdXNlcyBtZS4gVGhlIHRvb2xzdGFjayBk
b2Vzbid0IGdldCBpbnZvbHZlZCBpbg0KPj4+Pj4gSVJRIHNldHVwIGZvciBQQ0kgZGV2aWNlcyBm
b3IgSFZNIGd1ZXN0cz8NCj4+Pj4NCj4+Pj4gSXQgZG9lcyBmb3IgR1NJIGludGVycnVwdHMgQUZB
SUNULCBzZWUgcGNpX2FkZF9kbV9kb25lKCkgYW5kIHRoZSBjYWxsDQo+Pj4+IHRvIHhjX3BoeXNk
ZXZfbWFwX3BpcnEoKS4gIEknbSBub3Qgc3VyZSB3aGV0aGVyIHRoYXQncyBhIHJlbW5hbnQgdGhh
dA0KPj4+PiBjb2xkIGJlIHJlbW92ZWQgKG1heWJlIGZvciBxZW11LXRyYWQgb25seT8pIG9yIGl0
J3MgYWxzbyByZXF1aXJlZCBieQ0KPj4+PiBRRU1VIHVwc3RyZWFtLCBJIHdvdWxkIGhhdmUgdG8g
aW52ZXN0aWdhdGUgbW9yZS4NCj4+Pg0KPj4+IFlvdSBhcmUgcmlnaHQuIEkgYW0gbm90IGNlcnRh
aW4sIGJ1dCBpdCBzZWVtcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUNCj4+PiB0b29sc3RhY2sgdG8g
bWUuIEluIHRoZW9yeSwgcGNpX2FkZF9kbV9kb25lIHNob3VsZCBvbmx5IGJlIG5lZWRlZCBmb3Ig
UFYNCj4+PiBndWVzdHMsIG5vdCBmb3IgSFZNIGd1ZXN0cy4gSSBhbSBub3Qgc3VyZS4gQnV0IEkg
Y2FuIHNlZSB0aGUgY2FsbCB0bw0KPj4+IHhjX3BoeXNkZXZfbWFwX3BpcnEgeW91IHdlcmUgcmVm
ZXJyaW5nIHRvIG5vdy4NCj4+Pg0KPj4+DQo+Pj4+IEl0J3MgbXkgdW5kZXJzdGFuZGluZyBpdCdz
IGluIHBjaV9hZGRfZG1fZG9uZSgpIHdoZXJlIFJheSB3YXMgZ2V0dGluZw0KPj4+PiB0aGUgbWlz
bWF0Y2hlZCBJUlEgdnMgR1NJIG51bWJlci4NCj4+Pg0KPj4+IEkgdGhpbmsgdGhlIG1pc21hdGNo
IHdhcyBhY3R1YWxseSBjYXVzZWQgYnkgdGhlIHhjX3BoeXNkZXZfbWFwX3BpcnEgY2FsbA0KPj4+
IGZyb20gUUVNVSwgd2hpY2ggbWFrZXMgc2Vuc2UgYmVjYXVzZSBpbiBhbnkgY2FzZSBpdCBzaG91
bGQgaGFwcGVuIGJlZm9yZQ0KPj4+IHRoZSBzYW1lIGNhbGwgZG9uZSBieSBwY2lfYWRkX2RtX2Rv
bmUgKHBjaV9hZGRfZG1fZG9uZSBpcyBjYWxsZWQgYWZ0ZXINCj4+PiBzZW5kaW5nIHRoZSBwY2kg
cGFzc3Rocm91Z2ggUU1QIGNvbW1hbmQgdG8gUUVNVSkuIFNvIHRoZSBmaXJzdCB0byBoaXQNCj4+
PiB0aGUgSVJRIT1HU0kgcHJvYmxlbSB3b3VsZCBiZSBRRU1VLg0KPj4NCj4+DQo+PiBTb3JyeSBm
b3IgcmVwbHlpbmcgdG8geW91IHNvIGxhdGUuIEFuZCB0aGFuayB5b3UgYWxsIGZvciByZXZpZXcu
IEkgcmVhbGl6ZWQgdGhhdCB5b3VyIHF1ZXN0aW9ucyBtYWlubHkgZm9jdXMgb24gdGhlIGZvbGxv
d2luZyBwb2ludHM6IDEuIFdoeSBpcnEgaXMgbm90IGVxdWFsIHdpdGggZ3NpPyAyLiBXaHkgSSBk
byB0aGUgdHJhbnNsYXRpb25zIGJldHdlZW4gaXJxIGFuZCBnc2k/IDMuIFdoeSBJIGNhbGwgUEhZ
U0RFVk9QX21hcF9waXJxIGluIGFjcGlfcmVnaXN0ZXJfZ3NpX3hlbl9wdmgoKT8gNC4gV2h5IEkg
Y2FsbCBQSFlTREVWT1Bfc2V0dXBfZ3NpIGluIGFjcGlfcmVnaXN0ZXJfZ3NpX3hlbl9wdmgoKT8g
DQo+PiBQbGVhc2UgZm9yZ2l2ZSBtZSBmb3IgbWFraW5nIGEgc3VtbWFyeSByZXNwb25zZSBmaXJz
dC4gQW5kIEkgYW0gbG9va2luZyBmb3J3YXJkIHRvIHlvdXIgY29tbWVudHMuDQo+IA0KPiBTb3Jy
eSwgaXQncyBiZWVuIGEgYml0IHNpbmNlIHRoYXQgY29udmVyc2F0aW9uLCBzbyBteSByZWNvbGxl
Y3Rpb24gaXMNCj4gdmFndWUuDQo+IA0KPiBPbmUgb2YgdGhlIHF1ZXN0aW9ucyB3YXMgd2h5IGFj
cGlfcmVnaXN0ZXJfZ3NpX3hlbl9wdmgoKSBpcyBuZWVkZWQuICBJDQo+IHRoaW5rIHRoZSBwYXRj
aCB0aGF0IGludHJvZHVjZWQgaXQgb24gTGludXggZGlkbid0IGhhdmUgbXVjaCBvZiBhDQo+IGNv
bW1pdCBkZXNjcmlwdGlvbi4NClBWSCBhbmQgYmFyZW1ldGFsIGJvdGggdXNlIGFjcGlfcmVnaXN0
ZXJfZ3NpX2lvYXBpYyAgdG8gYWxsb2MgaXJxIGZvciBnc2kuIEFuZCBJIGFkZCBmdW5jdGlvbiBh
Y3BpX3JlZ2lzdGVyX2dzaV94ZW5fcHZoIHRvIHJlcGxhY2UgYWNwaV9yZWdpc3Rlcl9nc2lfaW9h
cGljIGZvciBQVkgsIGFuZCB0aGVuIEkgY2FuIGRvIHNvbWV0aGluZyBzcGVjaWFsIGZvciBQVkgs
IGxpa2UgbWFwX3BpcnEsIHNldHVwX2dzaSwgZXRjLg0KDQo+IA0KPj4gMS4gV2h5IGlycSBpcyBu
b3QgZXF1YWwgd2l0aCBnc2k/DQo+PiBBcyBmYXIgYXMgSSBrbm93LCBpcnEgaXMgZHluYW1pY2Fs
bHkgYWxsb2NhdGVkIGFjY29yZGluZyB0byBnc2ksIHRoZXkgYXJlIG5vdCBuZWNlc3NhcmlseSBl
cXVhbC4NCj4+IFdoZW4gSSBydW4gInN1ZG8geGwgcGNpLWFzc2lnbmFibGUtYWRkIDAzOjAwLjAi
IHRvIGFzc2lnbiBwYXNzdGhyb3VnaCBkZXZpY2UoVGFraW5nIGRHUFUgb24gbXkgZW52aXJvbm1l
bnQgYXMgYW4gZXhhbXBsZSwgd2hpY2ggZ3NpIGlzIDI4KS4gSXQgd2lsbCBjYWxsIGludG8gYWNw
aV9yZWdpc3Rlcl9nc2lfaW9hcGljIHRvIGdldCBpcnEsIHRoZSBjYWxsc3RhY2sgaXM6IA0KPj4g
YWNwaV9yZWdpc3Rlcl9nc2lfaW9hcGljDQo+PiAJbXBfbWFwX2dzaV90b19pcnENCj4+IAkJbXBf
bWFwX3Bpbl90b19pcnENCj4+IAkJCWlycV9maW5kX21hcHBpbmcoaWYgZ3NpIGhhcyBiZWVuIG1h
cHBlZCB0byBhbiBpcnEgYmVmb3JlLCBpdCB3aWxsIHJldHVybiBjb3JyZXNwb25kaW5nIGlycSBo
ZXJlKQ0KPj4gCQkJYWxsb2NfaXJxX2Zyb21fZG9tYWluDQo+PiAJCQkJX19pcnFfZG9tYWluX2Fs
bG9jX2lycXMNCj4+IAkJCQkJaXJxX2RvbWFpbl9hbGxvY19kZXNjcw0KPj4gCQkJCQkJX19pcnFf
YWxsb2NfZGVzY3MNCj4gDQo+IFdvbid0IHlvdSBwZXJmb3JtIGRvdWJsZSBHU0kgcmVnaXN0cmF0
aW9ucyB3aXRoIFhlbiBpZiBib3RoDQo+IGFjcGlfcmVnaXN0ZXJfZ3NpX2lvYXBpYygpIGFuZCBh
Y3BpX3JlZ2lzdGVyX2dzaV94ZW5fcHZoKCkgYXJlIHVzZWQ/DQpJbiB0aGUgb3JpZ2luYWwgUFZI
IGNvZGUsIF9fYWNwaV9yZWdpc3Rlcl9nc2kgaXMgc2V0IGFjcGlfcmVnaXN0ZXJfZ3NpX2lvYXBp
YyBpbiBjYWxsc3RhY2sgc3RhcnRfa2VybmVsLT5zZXR1cF9hcmNoLT5hY3BpX2Jvb3RfaW5pdC0+
YWNwaV9wcm9jZXNzX21hZHQtPmFjcGlfc2V0X2lycV9tb2RlbF9pb2FwaWMuDQpJbiBteSBjb2Rl
LCBJIHVzZSBhY3BpX3JlZ2lzdGVyX2dzaV94ZW5fcHZoIHRvIHJlcGxhY2UgYWNwaV9yZWdpc3Rl
cl9nc2lfaW9hcGljIGluIGNhbGwgc3RhY2sgc3RhcnRfa2VybmVsLT4gaW5pdF9JUlEtPiB4ZW5f
aW5pdF9JUlEtPiBwY2lfeGVuX3B2aF9pbml0Lg0KU28gYWNwaV9yZWdpc3Rlcl9nc2lfaW9hcGlj
IHdpbGwgYmUgY2FsbGVkIG9ubHkgb25jZS4NCg0KPiANCj4+DQo+PiBJZiB5b3UgYWRkIHNvbWUg
cHJpbnRpbmdzIGxpa2UgYmVsb3c6DQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+
IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9pb19hcGljLmMgYi9hcmNoL3g4Ni9r
ZXJuZWwvYXBpYy9pb19hcGljLmMNCj4+IGluZGV4IGE4NjhiNzZjZDNkNC4uOTcwZmQ0NjFiZTdh
IDEwMDY0NA0KPj4gLS0tIGEvYXJjaC94ODYva2VybmVsL2FwaWMvaW9fYXBpYy5jDQo+PiArKysg
Yi9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9pb19hcGljLmMNCj4+IEBAIC0xMDY3LDYgKzEwNjcsOCBA
QCBzdGF0aWMgaW50IG1wX21hcF9waW5fdG9faXJxKHUzMiBnc2ksIGludCBpZHgsIGludCBpb2Fw
aWMsIGludCBwaW4sDQo+PiAgICAgICAgICAgICAgICAgfQ0KPj4gICAgICAgICB9DQo+PiAgICAg
ICAgIG11dGV4X3VubG9jaygmaW9hcGljX211dGV4KTsNCj4+ICsgICAgICAgcHJpbnRrKCJjanFf
ZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAldSwgaXJxOiAlZCwgaWR4OiAlZCwgaW9hcGlj
OiAlZCwgcGluOiAlZFxuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGdzaSwgaXJxLCBp
ZHgsIGlvYXBpYywgcGluKTsNCj4+DQo+PiAgICAgICAgIHJldHVybiBpcnE7DQo+PiAgfQ0KPj4g
ZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvaXJxZGVzYy5jIGIva2VybmVsL2lycS9pcnFkZXNjLmMN
Cj4+IGluZGV4IDVkYjAyMzBhYTZiNS4uNGU5NjEzYWJiZTk2IDEwMDY0NA0KPj4gLS0tIGEva2Vy
bmVsL2lycS9pcnFkZXNjLmMNCj4+ICsrKyBiL2tlcm5lbC9pcnEvaXJxZGVzYy5jDQo+PiBAQCAt
Nzg2LDYgKzc4Niw4IEBAIF9faXJxX2FsbG9jX2Rlc2NzKGludCBpcnEsIHVuc2lnbmVkIGludCBm
cm9tLCB1bnNpZ25lZCBpbnQgY250LCBpbnQgbm9kZSwNCj4+ICAgICAgICAgc3RhcnQgPSBiaXRt
YXBfZmluZF9uZXh0X3plcm9fYXJlYShhbGxvY2F0ZWRfaXJxcywgSVJRX0JJVE1BUF9CSVRTLA0K
Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20sIGNudCwg
MCk7DQo+PiAgICAgICAgIHJldCA9IC1FRVhJU1Q7DQo+PiArICAgICAgIHByaW50aygiY2pxX2Rl
YnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogJWQsIGZyb206ICV1LCBjbnQ6ICV1LCBub2RlOiAl
ZCwgc3RhcnQ6ICVkLCBucl9pcnFzOiAlZFxuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
IGlycSwgZnJvbSwgY250LCBub2RlLCBzdGFydCwgbnJfaXJxcyk7DQo+PiAgICAgICAgIGlmIChp
cnEgPj0wICYmIHN0YXJ0ICE9IGlycSkNCj4+ICAgICAgICAgICAgICAgICBnb3RvIHVubG9jazsN
Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gWW91IHdpbGwgZ2V0IG91dHB1dCBv
biBQVkggZG9tMDoNCj4+DQo+PiBbICAgIDAuMTgxNTYwXSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAxLCBmcm9tOiAxLCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMSwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAwLjE4MTYzOV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdz
aTogMSwgaXJxOiAxLCBpZHg6IDIsIGlvYXBpYzogMCwgcGluOiAxDQo+PiBbICAgIDAuMTgxNjQx
XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAyLCBmcm9tOiAyLCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogMiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTY4Ml0gY2pxX2Rl
YnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMiwgaXJxOiAyLCBpZHg6IDAsIGlvYXBpYzogMCwg
cGluOiAyDQo+PiBbICAgIDAuMTgxNjgzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAzLCBmcm9tOiAzLCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMywgbnJfaXJxczogMTA5Ng0K
Pj4gWyAgICAwLjE4MTcxNV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMywgaXJx
OiAzLCBpZHg6IDMsIGlvYXBpYzogMCwgcGluOiAzDQo+PiBbICAgIDAuMTgxNzE2XSBjanFfZGVi
dWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiA0LCBmcm9tOiA0LCBjbnQ6IDEsIG5vZGU6IC0xLCBz
dGFydDogNCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTc1MV0gY2pxX2RlYnVnIG1wX21h
cF9waW5fdG9faXJxIGdzaTogNCwgaXJxOiA0LCBpZHg6IDQsIGlvYXBpYzogMCwgcGluOiA0DQo+
PiBbICAgIDAuMTgxNzUyXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiA1LCBmcm9t
OiA1LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAw
LjE4MTc4M10gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogNSwgaXJxOiA1LCBpZHg6
IDUsIGlvYXBpYzogMCwgcGluOiA1DQo+PiBbICAgIDAuMTgxNzg0XSBjanFfZGVidWcgX19pcnFf
YWxsb2NfZGVzY3MgaXJxOiA2LCBmcm9tOiA2LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNiwg
bnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTgxM10gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9f
aXJxIGdzaTogNiwgaXJxOiA2LCBpZHg6IDYsIGlvYXBpYzogMCwgcGluOiA2DQo+PiBbICAgIDAu
MTgxODE0XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiA3LCBmcm9tOiA3LCBjbnQ6
IDEsIG5vZGU6IC0xLCBzdGFydDogNywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTg1Nl0g
Y2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogNywgaXJxOiA3LCBpZHg6IDcsIGlvYXBp
YzogMCwgcGluOiA3DQo+PiBbICAgIDAuMTgxODU3XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiA4LCBmcm9tOiA4LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogOCwgbnJfaXJxczog
MTA5Ng0KPj4gWyAgICAwLjE4MTg4OF0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTog
OCwgaXJxOiA4LCBpZHg6IDgsIGlvYXBpYzogMCwgcGluOiA4DQo+PiBbICAgIDAuMTgxODg5XSBj
anFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiA5LCBmcm9tOiA5LCBjbnQ6IDEsIG5vZGU6
IC0xLCBzdGFydDogOSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTkxOF0gY2pxX2RlYnVn
IG1wX21hcF9waW5fdG9faXJxIGdzaTogOSwgaXJxOiA5LCBpZHg6IDEsIGlvYXBpYzogMCwgcGlu
OiA5DQo+PiBbICAgIDAuMTgxOTE5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAx
MCwgZnJvbTogMTAsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMCwgbnJfaXJxczogMTA5Ng0K
Pj4gWyAgICAwLjE4MTk1MF0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMTAsIGly
cTogMTAsIGlkeDogOSwgaW9hcGljOiAwLCBwaW46IDEwDQo+PiBbICAgIDAuMTgxOTUxXSBjanFf
ZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAxMSwgZnJvbTogMTEsIGNudDogMSwgbm9kZTog
LTEsIHN0YXJ0OiAxMSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4MTk3N10gY2pxX2RlYnVn
IG1wX21hcF9waW5fdG9faXJxIGdzaTogMTEsIGlycTogMTEsIGlkeDogMTAsIGlvYXBpYzogMCwg
cGluOiAxMQ0KPj4gWyAgICAwLjE4MTk3OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogMTIsIGZyb206IDEyLCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTIsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMC4xODIwMDZdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDEy
LCBpcnE6IDEyLCBpZHg6IDExLCBpb2FwaWM6IDAsIHBpbjogMTINCj4+IFsgICAgMC4xODIwMDdd
IGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IDEzLCBmcm9tOiAxMywgY250OiAxLCBu
b2RlOiAtMSwgc3RhcnQ6IDEzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTgyMDM0XSBjanFf
ZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAxMywgaXJxOiAxMywgaWR4OiAxMiwgaW9hcGlj
OiAwLCBwaW46IDEzDQo+PiBbICAgIDAuMTgyMDM1XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAxNCwgZnJvbTogMTQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxNCwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAwLjE4MjA2Nl0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdz
aTogMTQsIGlycTogMTQsIGlkeDogMTMsIGlvYXBpYzogMCwgcGluOiAxNA0KPj4gWyAgICAwLjE4
MjA2N10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogMTUsIGZyb206IDE1LCBjbnQ6
IDEsIG5vZGU6IC0xLCBzdGFydDogMTUsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4xODIwOTVd
IGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDE1LCBpcnE6IDE1LCBpZHg6IDE0LCBp
b2FwaWM6IDAsIHBpbjogMTUNCj4+IFsgICAgMC4xODYxMTFdIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDI0LCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTg2MTExXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAyNSwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAwLjE4NjExMV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMjYsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMC4xODYxMTFdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDI3LCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgIDAuMTg2MTExXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJv
bTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAyOCwgbnJfaXJxczogMTA5Ng0KPj4gWyAg
ICAwLjE4NjExMV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0
LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMjksIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4x
ODYxMTFdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250
OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDMwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTg2MTEx
XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwg
bm9kZTogLTEsIHN0YXJ0OiAzMSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4NjExMV0gY2px
X2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6
IC0xLCBzdGFydDogMzIsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4xODg0OTFdIGNqcV9kZWJ1
ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwg
c3RhcnQ6IDMzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTg4NDkxXSBjanFfZGVidWcgX19p
cnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0
OiAzNCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE4ODQ5MV0gY2pxX2RlYnVnIF9faXJxX2Fs
bG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMzUs
IG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4xODg0OTFdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19k
ZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDM2LCBucl9p
cnFzOiAxMDk2DQo+PiBbICAgIDAuMTg4NDkxXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3Mg
aXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAzNywgbnJfaXJxczog
MTA5Ng0KPj4gWyAgICAwLjE5MjI4Ml0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTog
LTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMzgsIG5yX2lycXM6IDEwOTYN
Cj4+IFsgICAgMC4xOTIyODJdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBm
cm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDM5LCBucl9pcnFzOiAxMDk2DQo+PiBb
ICAgIDAuMTkyMjgyXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTog
MjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0MCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAw
LjE5MjI4Ml0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBj
bnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNDEsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4xOTIy
ODJdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAx
LCBub2RlOiAtMSwgc3RhcnQ6IDQyLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTk2MjA4XSBj
anFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9k
ZTogLTEsIHN0YXJ0OiA0MywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE5NjIwOF0gY2pxX2Rl
YnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0x
LCBzdGFydDogNDQsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4xOTYyMDhdIGNqcV9kZWJ1ZyBf
X2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3Rh
cnQ6IDQ1LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMTk2MjA4XSBjanFfZGVidWcgX19pcnFf
YWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0
NiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjE5NjIwOF0gY2pxX2RlYnVnIF9faXJxX2FsbG9j
X2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNDcsIG5y
X2lycXM6IDEwOTYNCj4+IFsgICAgMC4xOTgxOTldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNj
cyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDQ4LCBucl9pcnFz
OiAxMDk2DQo+PiBbICAgIDAuMTk4NDE2XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0OSwgbnJfaXJxczogMTA5
Ng0KPj4gWyAgICAwLjE5ODQ2MF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEs
IGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNTAsIG5yX2lycXM6IDEwOTYNCj4+
IFsgICAgMC4xOTg0ODldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9t
OiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDUxLCBucl9pcnFzOiAxMDk2DQo+PiBbICAg
IDAuMTk4NTIzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQs
IGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA1MiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIw
MTMxNV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6
IDEsIG5vZGU6IC0xLCBzdGFydDogNTMsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMDIxNzRd
IGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBu
b2RlOiAtMSwgc3RhcnQ6IDU0LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjAyMjI1XSBjanFf
ZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTog
LTEsIHN0YXJ0OiA1NSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIwMjI1OV0gY2pxX2RlYnVn
IF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBz
dGFydDogNTYsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMDIyOTFdIGNqcV9kZWJ1ZyBfX2ly
cV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6
IDU3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjA1MjM5XSBjanFfZGVidWcgX19pcnFfYWxs
b2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA1OCwg
bnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIwNTIzOV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rl
c2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNTksIG5yX2ly
cXM6IDEwOTYNCj4+IFsgICAgMC4yMDUyMzldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBp
cnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDYwLCBucl9pcnFzOiAx
MDk2DQo+PiBbICAgIDAuMjA1MjM5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAt
MSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA2MSwgbnJfaXJxczogMTA5Ng0K
Pj4gWyAgICAwLjIwNTIzOV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZy
b206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNjIsIG5yX2lycXM6IDEwOTYNCj4+IFsg
ICAgMC4yMDg2NTNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAy
NCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDYzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAu
MjA4NjUzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNu
dDogMSwgbm9kZTogLTEsIHN0YXJ0OiA2NCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIwODY1
M10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEs
IG5vZGU6IC0xLCBzdGFydDogNjUsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMDg2NTNdIGNq
cV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2Rl
OiAtMSwgc3RhcnQ6IDY2LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjA4NjUzXSBjanFfZGVi
dWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEs
IHN0YXJ0OiA2NywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIxMDE2OV0gY2pxX2RlYnVnIF9f
aXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFy
dDogNjgsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMTAzMjJdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDY5
LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjEwMzcwXSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA3MCwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAwLjIxMDQwM10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNzEsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMC4yMTA0MzZdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDcyLCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDAuMjEzMTkwXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwg
ZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA3MywgbnJfaXJxczogMTA5Ng0KPj4g
WyAgICAwLjIxMzE5MF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNzQsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAg
MC4yMTMxOTBdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwg
Y250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDc1LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjEz
MTkwXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDog
MSwgbm9kZTogLTEsIHN0YXJ0OiA3NiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIxNDE1MV0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogNzcsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMTcwNzVdIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAt
MSwgc3RhcnQ6IDc4LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjE3MDc1XSBjanFfZGVidWcg
X19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0
YXJ0OiA3OSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIxNzA3NV0gY2pxX2RlYnVnIF9faXJx
X2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDog
ODAsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMTcwNzVdIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDgxLCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjE3MDc1XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA4MiwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAwLjIyMDM4OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogODMsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMC4yMjAzODldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDg0LCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgIDAuMjIwMzg5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJv
bTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA4NSwgbnJfaXJxczogMTA5Ng0KPj4gWyAg
ICAwLjIyMDM4OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0
LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogODYsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4y
MjAzODldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250
OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDg3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjIyMjE1
XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwg
bm9kZTogLTEsIHN0YXJ0OiA4OCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIyMjM2Nl0gY2px
X2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6
IC0xLCBzdGFydDogODksIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMjI0MTBdIGNqcV9kZWJ1
ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwg
c3RhcnQ6IDkwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjIyNDQ3XSBjanFfZGVidWcgX19p
cnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0
OiA5MSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIyMjQ3OF0gY2pxX2RlYnVnIF9faXJxX2Fs
bG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogOTIs
IG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMjU0OTBdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19k
ZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDkzLCBucl9p
cnFzOiAxMDk2DQo+PiBbICAgIDAuMjI2MjI1XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3Mg
aXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA5NCwgbnJfaXJxczog
MTA5Ng0KPj4gWyAgICAwLjIyNjI2OF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTog
LTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogOTUsIG5yX2lycXM6IDEwOTYN
Cj4+IFsgICAgMC4yMjYzMDBdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBm
cm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDk2LCBucl9pcnFzOiAxMDk2DQo+PiBb
ICAgIDAuMjI2MzI5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTog
MjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA5NywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAw
LjIyOTA1N10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBj
bnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogOTgsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMjkw
NTddIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAx
LCBub2RlOiAtMSwgc3RhcnQ6IDk5LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjI5MDU3XSBj
anFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9k
ZTogLTEsIHN0YXJ0OiAxMDAsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yMjkwNTddIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAt
MSwgc3RhcnQ6IDEwMSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjIyOTA1N10gY2pxX2RlYnVn
IF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBz
dGFydDogMTAyLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMjMyMzk5XSBjanFfZGVidWcgX19p
cnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0
OiAxMDMsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMC4yNDg4NTRdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEw
NCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAwLjI1MDYwOV0gY2pxX2RlYnVnIF9faXJxX2FsbG9j
X2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTA1LCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDAuMzcyMzQzXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19p
cnEgZ3NpOiA5LCBpcnE6IDksIGlkeDogMSwgaW9hcGljOiAwLCBwaW46IDkNCj4+IFsgICAgMC43
MjA5NTBdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDgsIGlycTogOCwgaWR4OiA4
LCBpb2FwaWM6IDAsIHBpbjogOA0KPj4gWyAgICAwLjcyMTA1Ml0gY2pxX2RlYnVnIG1wX21hcF9w
aW5fdG9faXJxIGdzaTogMTMsIGlycTogMTMsIGlkeDogMTIsIGlvYXBpYzogMCwgcGluOiAxMw0K
Pj4gWyAgICAxLjI1NDgyNV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogNywgaXJx
OiAtMTYsIGlkeDogNywgaW9hcGljOiAwLCBwaW46IDcNCj4+IFsgICAgMS4zMzMwODFdIGNqcV9k
ZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDEsIGlycTogMSwgaWR4OiAyLCBpb2FwaWM6IDAs
IHBpbjogMQ0KPj4gWyAgICAxLjM3NTg4Ml0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTA2LCBucl9pcnFzOiAx
MDk2DQo+PiBbICAgIDEuMzc1OTUxXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAz
MiwgaXJxOiAxMDYsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiA4DQo+PiBbICAgIDEuMzc2MDcy
XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwg
bm9kZTogLTEsIHN0YXJ0OiAxMDcsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS4zNzYxMjFdIGNq
cV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDM3LCBpcnE6IDEwNywgaWR4OiAtMSwgaW9h
cGljOiAxLCBwaW46IDEzDQo+PiBbICAgIDEuNDcyNTUxXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90
b19pcnEgZ3NpOiAzNywgaXJxOiAxMDcsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxMw0KPj4g
WyAgICAxLjQ3MjY5N10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTA3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAg
IDEuNDcyNzUxXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzOCwgaXJxOiAxMDcs
IGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxNA0KPj4gWyAgICAxLjQ4NDI5MF0gY2pxX2RlYnVn
IG1wX21hcF9waW5fdG9faXJxIGdzaTogMzgsIGlycTogMTA3LCBpZHg6IC0xLCBpb2FwaWM6IDEs
IHBpbjogMTQNCj4+IFsgICAgMS43NjgxNjNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBp
cnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEwNywgbnJfaXJxczog
MTA5Ng0KPj4gWyAgICAxLjc2ODYyN10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTog
LTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTA4LCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDEuNzY5MDU5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwg
ZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMDksIG5yX2lycXM6IDEwOTYNCj4+
IFsgICAgMS43Njk2OTRdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9t
OiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDExMCwgbnJfaXJxczogMTA5Ng0KPj4gWyAg
ICAxLjc3MDE2OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0
LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTExLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDEu
NzcwNjk3XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNu
dDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMTIsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS43NzA3
MzhdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDI4LCBpcnE6IDExMiwgaWR4OiAt
MSwgaW9hcGljOiAxLCBwaW46IDQNCj4+IFsgICAgMS43NzA3ODldIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEx
MywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAxLjc3MTIzMF0gY2pxX2RlYnVnIG1wX21hcF9waW5f
dG9faXJxIGdzaTogMjgsIGlycTogMTEyLCBpZHg6IC0xLCBpb2FwaWM6IDEsIHBpbjogNA0KPj4g
WyAgICAxLjc3MTI3OF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTE0LCBucl9pcnFzOiAxMDk2DQo+PiBbICAg
IDIuMTI3ODg0XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQs
IGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMTUsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4y
MDc0MTldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250
OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDExNiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjIwNzcz
MF0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzcsIGlycTogMTE2LCBpZHg6IC0x
LCBpb2FwaWM6IDEsIHBpbjogMTMNCj4+IFsgICAgMy4yMDgxMjBdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEx
NywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjIwODQ3NV0gY2pxX2RlYnVnIG1wX21hcF9waW5f
dG9faXJxIGdzaTogMzYsIGlycTogMTE3LCBpZHg6IC0xLCBpb2FwaWM6IDEsIHBpbjogMTINCj4+
IFsgICAgMy4yMDg0NzhdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9t
OiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDExOCwgbnJfaXJxczogMTA5Ng0KPj4gWyAg
ICAzLjIwODg2MV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzcsIGlycTogMTE2
LCBpZHg6IC0xLCBpb2FwaWM6IDEsIHBpbjogMTMNCj4+IFsgICAgMy4yMDg5MzNdIGNqcV9kZWJ1
ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwg
c3RhcnQ6IDExOSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjIwOTEyN10gY2pxX2RlYnVnIF9f
aXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFy
dDogMTIwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMjA5MzgzXSBjanFfZGVidWcgX19pcnFf
YWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAx
MjEsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4yMDk4NjNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEyMiwg
bnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjIxMTQzOV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rl
c2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTIzLCBucl9p
cnFzOiAxMDk2DQo+PiBbICAgIDMuMjExODMzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3Mg
aXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMjQsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMy4yMTI4NzNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEyNSwgbnJfaXJxczogMTA5
Ng0KPj4gWyAgICAzLjI0MzUxNF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEs
IGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTI2LCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgIDMuMjQzNjg5XSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzOCwgaXJx
OiAxMjYsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxNA0KPj4gWyAgICAzLjI0NDI5M10gY2px
X2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6
IC0xLCBzdGFydDogMTI3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMjQ0NTM0XSBjanFfZGVi
dWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEs
IHN0YXJ0OiAxMjgsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4yNDQ3MTRdIGNqcV9kZWJ1ZyBf
X2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3Rh
cnQ6IDEyOSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjI0NDkxMV0gY2pxX2RlYnVnIF9faXJx
X2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDog
MTMwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMjQ1MDk2XSBjanFfZGVidWcgX19pcnFfYWxs
b2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMzEs
IG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4yNDU2MzNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19k
ZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEzMiwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAzLjI0Nzg5MF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTMzLCBucl9pcnFz
OiAxMDk2DQo+PiBbICAgIDMuMjQ4MTkyXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxMzQsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMy4yNzEwOTNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDEzNSwgbnJfaXJxczogMTA5Ng0K
Pj4gWyAgICAzLjMwNzA0NV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZy
b206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiAxMzYsIG5yX2lycXM6IDEwOTYNCj4+IFsg
ICAgMy4zMDcxNjJdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDQ4LCBpcnE6IDEz
NiwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDI0DQo+PiBbICAgIDMuMzA3MjIzXSBjanFfZGVi
dWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwg
c3RhcnQ6IDEzNywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjMzMTE4M10gY2pxX2RlYnVnIF9f
aXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0
OiAxMzcsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4zMzEyOTVdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAwLCBzdGFydDogMTM4
LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMzMxMzY2XSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwgc3RhcnQ6IDEzOSwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAzLjMzMTQzOF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiAxNDAsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMy4zMzE1MTFdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAwLCBzdGFydDogMTQxLCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDMuMzMxNTc5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwg
ZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwgc3RhcnQ6IDE0MiwgbnJfaXJxczogMTA5Ng0KPj4g
WyAgICAzLjMzMTY0Nl0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiAxNDMsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAg
My4zMzE3MTNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwg
Y250OiAxLCBub2RlOiAwLCBzdGFydDogMTQ0LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMzMx
NzgwXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDog
MSwgbm9kZTogMCwgc3RhcnQ6IDE0NSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjMzMTg0Nl0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IDAsIHN0YXJ0OiAxNDYsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4zMzE5MTNdIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAw
LCBzdGFydDogMTQ3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMzMxOTg0XSBjanFfZGVidWcg
X19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwgc3Rh
cnQ6IDE0OCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjMzMjA1MV0gY2pxX2RlYnVnIF9faXJx
X2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiAx
NDksIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4zMzIxMThdIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAwLCBzdGFydDogMTUwLCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMzMyMTgzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwgc3RhcnQ6IDE1MSwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAzLjMzMjI1Ml0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiAxNTIsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMy4zMzIzMTldIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAwLCBzdGFydDogMTUzLCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgIDguMDEwMzcwXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzNywgaXJx
OiAxMTYsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxMw0KPj4gWyAgICA5LjU0NTQzOV0gY2px
X2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzYsIGlycTogMTE3LCBpZHg6IC0xLCBpb2Fw
aWM6IDEsIHBpbjogMTINCj4+IFsgICAgOS41NDU3MTNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19k
ZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDE1NCwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICA5LjU0NjAzNF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTU1LCBucl9pcnFz
OiAxMDk2DQo+PiBbICAgIDkuNjg3Nzk2XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxNTYsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgOS42ODc5NzldIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDM5
LCBpcnE6IDE1NiwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDE1DQo+PiBbICAgIDkuNjg4MDU3
XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwg
bm9kZTogLTEsIHN0YXJ0OiAxNTcsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgOS45MjEwMzhdIGNq
cV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2Rl
OiAtMSwgc3RhcnQ6IDE1OCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICA5LjkyMTIxMF0gY2pxX2Rl
YnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMjksIGlycTogMTU4LCBpZHg6IC0xLCBpb2FwaWM6
IDEsIHBpbjogNQ0KPj4gWyAgICA5LjkyMTQwM10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTU5LCBucl9pcnFz
OiAxMDk2DQo+PiBbICAgIDkuOTI2MzczXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3Np
OiAzOSwgaXJxOiAxNTYsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxNQ0KPj4gWyAgICA5Ljky
Njc0N10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6
IDEsIG5vZGU6IC0xLCBzdGFydDogMTYwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDkuOTI4MjAx
XSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzNiwgaXJxOiAxMTcsIGlkeDogLTEs
IGlvYXBpYzogMSwgcGluOiAxMg0KPj4gWyAgICA5LjkyODQ4OF0gY2pxX2RlYnVnIF9faXJxX2Fs
bG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMTYx
LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgMTAuNjUzOTE1XSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAxNjIsIG5y
X2lycXM6IDEwOTYNCj4+IFsgICAxMC42NTYyNTddIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNj
cyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDE2MywgbnJfaXJx
czogMTA5Ng0KPj4NCj4+IFlvdSBjYW4gZmluZCB0aGF0IHRoZSBhbGxvY2F0aW9uIG9mIGlycSBp
cyBub3QgYWx3YXlzIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBnc2kuIEl0IGZvbGxvd3MgdGhlIHBy
aW5jaXBsZSBvZiByZXF1ZXN0aW5nIGZpcnN0LCBkaXN0cmlidXRpbmcgZmlyc3QsIGxpa2UgZ3Np
IDMyIGdldCAxMDYgYnV0IGdzaSAyOCBnZXQgMTEyLiBBbmQgbm90IG9ubHkgYWNwaV9yZWdpc3Rl
cl9nc2lfaW9hcGljKCkgd2lsbCBjYWxsIGludG8gX19pcnFfYWxsb2NfZGVzY3MsIGJ1dCBvdGhl
ciBmdW5jdGlvbnMgd2lsbCBjYWxsLCBldmVuIGVhcmxpZXIuDQo+PiBBYm92ZSBvdXRwdXQgaXMg
bGlrZSBiYXJlbWV0YWwuIFNvLCB3ZSBjYW4gZ2V0IGNvbmNsdXNpb24gaXJxICE9IGdzaS4gU2Vl
IGJlbG93IG91dHB1dCBvbiBsaW51eDoNCj4gDQo+IEl0IGRvZXMgc2VlbSB3ZWlyZCB0byBtZSB0
aGF0IGl0IGRvZXMgaWRlbnRpdHkgbWFwIGxlZ2FjeSBJUlFzICg8MTYpLA0KPiBidXQgdGhlbiBm
b3IgR1NJID49IDE2IGl0IHN0YXJ0cyBhc3NpZ25pbmcgSVJRcyBpbiB0aGUgMTAwIHJhbmdlLg0K
PiANCj4gV2hhdCB1c2VzIHRoZSBJUlEgcmFuZ2UgWzI0LCAxMDVdPw0KVGhleSBhcmUgYWxsb2Nh
dGVkIHRvIHRoZSBpcGksIG1zaSBvciBldmVudCBjaGFubmVsLiBUaGV5IGNhbGwgX19pcnFfYWxs
b2NfZGVzY3MgYmVmb3JlIHRoZSBwY2kgZGV2aWNlcy4gRm9yIGV4YW1wbGUsIHNlZSBvbmUgaXBp
J3MgY2FsbHN0YWNrOg0Ka2VybmVsX2luaXQNCglrZXJuZWxfaW5pdF9mcmVlYWJsZQ0KCQlzbXBf
cHJlcGFyZV9jcHVzDQoJCQlzbXBfb3BzLnNtcF9wcmVwYXJlX2NwdXMNCgkJCQl4ZW5faHZtX3Nt
cF9wcmVwYXJlX2NwdXMNCgkJCQkJeGVuX3NtcF9pbnRyX2luaXQNCgkJCQkJCWJpbmRfaXBpX3Rv
X2lycWhhbmRsZXINCgkJCQkJCQliaW5kX2lwaV90b19pcnENCgkJCQkJCQkJeGVuX2FsbG9jYXRl
X2lycV9keW5hbWljDQoJCQkJCQkJCQlfX2lycV9hbGxvY19kZXNjcw0KDQo+IA0KPiBBbHNvIElJ
UkMgb24gYSBQViBkb20wIEdTSXMgYXJlIGlkZW50aXR5IG1hcHBlZCB0byBJUlFzIG9uIExpbnV4
PyAgT3INCj4gbWF5YmUgdGhhdCdzIGp1c3QgYSBzaWRlIGVmZmVjdCBvZiBHU0lzIGJlaW5nIGlk
ZW50aXR5IG1hcHBlZCBpbnRvDQo+IFBJUlFzIGJ5IFhlbj8NClBWIGlzIGRpZmZlcmVudCwgYWx0
aG91Z2gsIGlwaSBhbHNvIHdpbGwgY29tZSBiZWZvcmUgcGNpIGRldmljZXMsIHRoZXkgZG9uJ3Qg
b2NjdXB5IHRoZSBpcnEoMjR+NTYpLiBCZWNhdXNlIGluIFBWIGRvbTAsIGl0IGRvZXNuJ3QgY2Fs
bCBzZXR1cF9JT19BUElDIHdoZW4gc3RhcnRfa2VybmVsLCBzbyB2YXJpYWJsZSAiaW9hcGljX2lu
aXRpYWxpemVkIiBpbiBmdW5jdGlvbiBhcmNoX2R5bmlycV9sb3dlcl9ib3VuZCBpcyBub3QgaW5p
dGlhbGl6ZWQsIGFuZCB0aGVuIGdzaV90b3Agd2hvc2UgdmFsdWUgaXMgNTYgaXMgcmV0dXJuZWQs
IHRoZSBpcnEgYWxsb2NhdGlvbiBiZWdpbnMgZnJvbSA1NiBudW1iZXIoYnV0IFBWSCBhbmQgYmFy
ZW1ldGFsIHdpbGwgaW5pdGlhbGl6ZSAiaW9hcGljX2luaXRpYWxpemVkIiwgYW5kIHRoZW4gYXJj
aF9keW5pcnFfbG93ZXJfYm91bmQgd2lsbCByZXR1cm4gaW9hcGljX2R5bmlycV9iYXNlIHdob3Nl
IHZhbHVlIGlzIDI0KS4gV2hhdCdzIG1vcmUsIHdoZW4gUFYgYWxsb2NhdGVzIGlycSBmb3IgYSBw
Y2kgZGV2aWNlLCBpdCBjYWxsIGFjcGlfcmVnaXN0ZXJfZ3NpX3hlbi0+aXJxX2FsbG9jX2Rlc2Nf
YXQtPl9faXJxX2FsbG9jX2Rlc2NzLCBmdW5jdGlvbiBpcnFfYWxsb2NfZGVzY19hdCBzZW5kIGdz
aSB0byBfX2lycV9hbGxvY19kZXNjcyhQVkggYW5kIGJhcmVtZXRhbCBzZW5kIC0xKSwgc28gaW4g
ZnVuY3Rpb24gX19pcnFfYWxsb2NfZGVzY3MsIHZhcmlhYmxlICJmcm9tIiBpcyBlcXVhbCBnc2ks
IGFuZCBnc2kgaXMgYmV0d2VlbiAyNH41NiwgYW5kIDI0fjU2J3MgaXJxIGFyZSBub3Qgb2NjdXBp
ZWQgYmVmb3JlLiBUaGVuIGl0IHJldHVybnMgYSBpcnEgdGhhdCBlcXVhbCBnc2kuDQoNCj4gDQo+
PiBbICAgIDAuMTA1MDUzXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAxLCBpcnE6
IDEsIGlkeDogMiwgaW9hcGljOiAwLCBwaW46IDENCj4+IFsgICAgMC4xMDUwNjFdIGNqcV9kZWJ1
ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDIsIGlycTogMCwgaWR4OiAwLCBpb2FwaWM6IDAsIHBp
bjogMg0KPj4gWyAgICAwLjEwNTA2OV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTog
MywgaXJxOiAzLCBpZHg6IDMsIGlvYXBpYzogMCwgcGluOiAzDQo+PiBbICAgIDAuMTA1MDc4XSBj
anFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiA0LCBpcnE6IDQsIGlkeDogNCwgaW9hcGlj
OiAwLCBwaW46IDQNCj4+IFsgICAgMC4xMDUwODZdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2ly
cSBnc2k6IDUsIGlycTogNSwgaWR4OiA1LCBpb2FwaWM6IDAsIHBpbjogNQ0KPj4gWyAgICAwLjEw
NTA5NF0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogNiwgaXJxOiA2LCBpZHg6IDYs
IGlvYXBpYzogMCwgcGluOiA2DQo+PiBbICAgIDAuMTA1MTAzXSBjanFfZGVidWcgbXBfbWFwX3Bp
bl90b19pcnEgZ3NpOiA3LCBpcnE6IDcsIGlkeDogNywgaW9hcGljOiAwLCBwaW46IDcNCj4+IFsg
ICAgMC4xMDUxMTFdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDgsIGlycTogOCwg
aWR4OiA4LCBpb2FwaWM6IDAsIHBpbjogOA0KPj4gWyAgICAwLjEwNTExOV0gY2pxX2RlYnVnIG1w
X21hcF9waW5fdG9faXJxIGdzaTogOSwgaXJxOiA5LCBpZHg6IDEsIGlvYXBpYzogMCwgcGluOiA5
DQo+PiBbICAgIDAuMTA1MTI3XSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAxMCwg
aXJxOiAxMCwgaWR4OiA5LCBpb2FwaWM6IDAsIHBpbjogMTANCj4+IFsgICAgMC4xMDUxMzZdIGNq
cV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDExLCBpcnE6IDExLCBpZHg6IDEwLCBpb2Fw
aWM6IDAsIHBpbjogMTENCj4+IFsgICAgMC4xMDUxNDRdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3Rv
X2lycSBnc2k6IDEyLCBpcnE6IDEyLCBpZHg6IDExLCBpb2FwaWM6IDAsIHBpbjogMTINCj4+IFsg
ICAgMC4xMDUxNTJdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDEzLCBpcnE6IDEz
LCBpZHg6IDEyLCBpb2FwaWM6IDAsIHBpbjogMTMNCj4+IFsgICAgMC4xMDUxNjBdIGNqcV9kZWJ1
ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDE0LCBpcnE6IDE0LCBpZHg6IDEzLCBpb2FwaWM6IDAs
IHBpbjogMTQNCj4+IFsgICAgMC4xMDUxNjldIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBn
c2k6IDE1LCBpcnE6IDE1LCBpZHg6IDE0LCBpb2FwaWM6IDAsIHBpbjogMTUNCj4+IFsgICAgMC4z
OTgxMzRdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDksIGlycTogOSwgaWR4OiAx
LCBpb2FwaWM6IDAsIHBpbjogOQ0KPj4gWyAgICAxLjE2OTI5M10gY2pxX2RlYnVnIG1wX21hcF9w
aW5fdG9faXJxIGdzaTogOCwgaXJxOiA4LCBpZHg6IDgsIGlvYXBpYzogMCwgcGluOiA4DQo+PiBb
ICAgIDEuMTY5Mzk0XSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAxMywgaXJxOiAx
MywgaWR4OiAxMiwgaW9hcGljOiAwLCBwaW46IDEzDQo+PiBbICAgIDEuMzIzMTMyXSBjanFfZGVi
dWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiA3LCBpcnE6IDcsIGlkeDogNywgaW9hcGljOiAwLCBw
aW46IDcNCj4+IFsgICAgMS4zNDU0MjVdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6
IDEsIGlycTogMSwgaWR4OiAyLCBpb2FwaWM6IDAsIHBpbjogMQ0KPj4gWyAgICAxLjM3NTUwMl0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogMjQsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS4zNzU1NzVdIGNqcV9k
ZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDMyLCBpcnE6IDI0LCBpZHg6IC0xLCBpb2FwaWM6
IDEsIHBpbjogOA0KPj4gWyAgICAxLjM3NTY2MV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMjUsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMS4zNzU3MDVdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6
IDM3LCBpcnE6IDI1LCBpZHg6IC0xLCBpb2FwaWM6IDEsIHBpbjogMTMNCj4+IFsgICAgMS40NDIy
NzddIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDM3LCBpcnE6IDI1LCBpZHg6IC0x
LCBpb2FwaWM6IDEsIHBpbjogMTMNCj4+IFsgICAgMS40NDIzOTNdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDI1
LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDEuNDQyNDUwXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90
b19pcnEgZ3NpOiAzOCwgaXJxOiAyNSwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDE0DQo+PiBb
ICAgIDEuNDUzODkzXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzOCwgaXJxOiAy
NSwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDE0DQo+PiBbICAgIDEuNDU2MTI3XSBjanFfZGVi
dWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEs
IHN0YXJ0OiAyNSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAxLjczNDA2NV0gY2pxX2RlYnVnIF9f
aXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFy
dDogMjYsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS43MzQxNjVdIGNqcV9kZWJ1ZyBfX2lycV9h
bGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDI3
LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDEuNzM0MjUzXSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAyOCwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAxLjczNDM0NF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMjksIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMS43MzQ0MjZdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDMwLCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDEuNzM0NTEyXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwg
ZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiAzMSwgbnJfaXJxczogMTA5Ng0KPj4g
WyAgICAxLjczNDU5N10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogMzIsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAg
MS43MzQ2NDNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwg
Y250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDMzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDEuNzM0
Njg3XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDog
MSwgbm9kZTogLTEsIHN0YXJ0OiAzNCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAxLjczNDcyOF0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogMzUsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS43MzUwMTddIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAt
MSwgc3RhcnQ6IDM2LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDEuNzM1MjUyXSBjanFfZGVidWcg
X19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0
YXJ0OiAzNywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAxLjczNTQ2N10gY2pxX2RlYnVnIF9faXJx
X2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDog
MzgsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS43MzU3OTldIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDM5LCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDEuNzM2MDI0XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0MCwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAxLjczNjM2NF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNDEsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMS43MzY0MDZdIGNqcV9kZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDI4
LCBpcnE6IDQxLCBpZHg6IC0xLCBpb2FwaWM6IDEsIHBpbjogNA0KPj4gWyAgICAxLjczNjQzNF0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogNDIsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMS43MzY3MDFdIGNqcV9k
ZWJ1ZyBtcF9tYXBfcGluX3RvX2lycSBnc2k6IDI4LCBpcnE6IDQxLCBpZHg6IC0xLCBpb2FwaWM6
IDEsIHBpbjogNA0KPj4gWyAgICAxLjczNjcyNF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNDMsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMy4wMzcxMjNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDQ0LCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDMuMDM3MzEzXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzNywg
aXJxOiA0NCwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDEzDQo+PiBbICAgIDMuMDM3NTE1XSBj
anFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzNywgaXJxOiA0NCwgaWR4OiAtMSwgaW9h
cGljOiAxLCBwaW46IDEzDQo+PiBbICAgIDMuMDM3NzM4XSBjanFfZGVidWcgX19pcnFfYWxsb2Nf
ZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0NSwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAzLjAzNzk1OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNDYsIG5yX2lycXM6
IDEwOTYNCj4+IFsgICAgMy4wMzgwNzNdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6
IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDQ3LCBucl9pcnFzOiAxMDk2
DQo+PiBbICAgIDMuMDM4MTU0XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwg
ZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA0OCwgbnJfaXJxczogMTA5Ng0KPj4g
WyAgICAzLjAzODE3OV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzYsIGlycTog
NDcsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxMg0KPj4gWyAgICAzLjAzODI3N10gY2pxX2Rl
YnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0x
LCBzdGFydDogNDksIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4wMzgzOTldIGNqcV9kZWJ1ZyBf
X2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3Rh
cnQ6IDUwLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMDM4NTI1XSBjanFfZGVidWcgX19pcnFf
YWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA1
MSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjAzODY1N10gY2pxX2RlYnVnIF9faXJxX2FsbG9j
X2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNTIsIG5y
X2lycXM6IDEwOTYNCj4+IFsgICAgMy4wMzg4NTJdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNj
cyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDUzLCBucl9pcnFz
OiAxMDk2DQo+PiBbICAgIDMuMDUyMzc3XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA1NCwgbnJfaXJxczogMTA5
Ng0KPj4gWyAgICAzLjA1MjQ3OV0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzgs
IGlycTogNTQsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxNA0KPj4gWyAgICAzLjA1MjczMF0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogNTUsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4wNTI4NDBdIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAt
MSwgc3RhcnQ6IDU2LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMDUyOTE4XSBjanFfZGVidWcg
X19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0
YXJ0OiA1NywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjA1Mjk4N10gY2pxX2RlYnVnIF9faXJx
X2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDog
NTgsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgMy4wNTMwNjldIGNqcV9kZWJ1ZyBfX2lycV9hbGxv
Y19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDU5LCBu
cl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMDUzMTM5XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVz
Y3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA2MCwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAzLjA1MzIwMV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogNjEsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAgMy4wNTMyNjBdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDYyLCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgIDMuMDg5MTI4XSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJv
bTogMjQsIGNudDogMSwgbm9kZTogMCwgc3RhcnQ6IDYzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAg
IDMuMDg5MzEwXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiA0OCwgaXJxOiA2Mywg
aWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDI0DQo+PiBbICAgIDMuMDg5Mzc2XSBjanFfZGVidWcg
X19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogMCwgc3Rh
cnQ6IDY0LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDMuMTAzNDM1XSBjanFfZGVidWcgX19pcnFf
YWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA2
NSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjExNDE5MF0gY2pxX2RlYnVnIF9faXJxX2FsbG9j
X2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA2NCwgbnJf
aXJxczogMTA5Ng0KPj4gWyAgICAzLjExNDM0Nl0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2Nz
IGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA2NiwgbnJfaXJxczog
MTA5Ng0KPj4gWyAgICAzLjEyMTIxNV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTog
LTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA2NywgbnJfaXJxczogMTA5Ng0K
Pj4gWyAgICAzLjEyMTM1MF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZy
b206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA2OCwgbnJfaXJxczogMTA5Ng0KPj4gWyAg
ICAzLjEyMTQ3OV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0
LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA2OSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEy
MTYxMl0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6
IDEsIG5vZGU6IDAsIHN0YXJ0OiA3MCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMTcyNl0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IDAsIHN0YXJ0OiA3MSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMTg0MV0gY2pxX2Rl
YnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAs
IHN0YXJ0OiA3MiwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMTk1NV0gY2pxX2RlYnVnIF9f
aXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0
OiA3MywgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMjAyNV0gY2pxX2RlYnVnIF9faXJxX2Fs
bG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3NCwg
bnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMjA5M10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rl
c2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3NSwgbnJfaXJx
czogMTA5Ng0KPj4gWyAgICAzLjEyMjE0OF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3NiwgbnJfaXJxczogMTA5
Ng0KPj4gWyAgICAzLjEyMjIwM10gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEs
IGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3NywgbnJfaXJxczogMTA5Ng0KPj4g
WyAgICAzLjEyMjI2NV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206
IDI0LCBjbnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3OCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAz
LjEyMjMyMl0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBj
bnQ6IDEsIG5vZGU6IDAsIHN0YXJ0OiA3OSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMjM3
OF0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEs
IG5vZGU6IDAsIHN0YXJ0OiA4MCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICAzLjEyMjQzM10gY2px
X2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6
IDAsIHN0YXJ0OiA4MSwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICA3LjgzODc1M10gY2pxX2RlYnVn
IG1wX21hcF9waW5fdG9faXJxIGdzaTogMzcsIGlycTogNDQsIGlkeDogLTEsIGlvYXBpYzogMSwg
cGluOiAxMw0KPj4gWyAgICA5LjYxOTE3NF0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdz
aTogMzYsIGlycTogNDcsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxMg0KPj4gWyAgICA5LjYx
OTU1Nl0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6
IDEsIG5vZGU6IC0xLCBzdGFydDogODIsIG5yX2lycXM6IDEwOTYNCj4+IFsgICAgOS42MjIwMzhd
IGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBu
b2RlOiAtMSwgc3RhcnQ6IDgzLCBucl9pcnFzOiAxMDk2DQo+PiBbICAgIDkuNjM0OTAwXSBjanFf
ZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJxOiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTog
LTEsIHN0YXJ0OiA4NCwgbnJfaXJxczogMTA5Ng0KPj4gWyAgICA5LjYzNTMxNl0gY2pxX2RlYnVn
IG1wX21hcF9waW5fdG9faXJxIGdzaTogMzksIGlycTogODQsIGlkeDogLTEsIGlvYXBpYzogMSwg
cGluOiAxNQ0KPj4gWyAgICA5LjYzNTQwNV0gY2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGly
cTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5vZGU6IC0xLCBzdGFydDogODUsIG5yX2lycXM6IDEw
OTYNCj4+IFsgICAxMC4wMDY2ODZdIGNqcV9kZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0x
LCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAtMSwgc3RhcnQ6IDg2LCBucl9pcnFzOiAxMDk2DQo+
PiBbICAgMTAuMDA2ODIzXSBjanFfZGVidWcgbXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAyOSwgaXJx
OiA4NiwgaWR4OiAtMSwgaW9hcGljOiAxLCBwaW46IDUNCj4+IFsgICAxMC4wMDcwMDldIGNqcV9k
ZWJ1ZyBfX2lycV9hbGxvY19kZXNjcyBpcnE6IC0xLCBmcm9tOiAyNCwgY250OiAxLCBub2RlOiAt
MSwgc3RhcnQ6IDg3LCBucl9pcnFzOiAxMDk2DQo+PiBbICAgMTAuMDA4NzIzXSBjanFfZGVidWcg
bXBfbWFwX3Bpbl90b19pcnEgZ3NpOiAzOSwgaXJxOiA4NCwgaWR4OiAtMSwgaW9hcGljOiAxLCBw
aW46IDE1DQo+PiBbICAgMTAuMDA5ODUzXSBjanFfZGVidWcgX19pcnFfYWxsb2NfZGVzY3MgaXJx
OiAtMSwgZnJvbTogMjQsIGNudDogMSwgbm9kZTogLTEsIHN0YXJ0OiA4OCwgbnJfaXJxczogMTA5
Ng0KPj4gWyAgIDEwLjAxMDc4Nl0gY2pxX2RlYnVnIG1wX21hcF9waW5fdG9faXJxIGdzaTogMzYs
IGlycTogNDcsIGlkeDogLTEsIGlvYXBpYzogMSwgcGluOiAxMg0KPj4gWyAgIDEwLjAxMDg1OF0g
Y2pxX2RlYnVnIF9faXJxX2FsbG9jX2Rlc2NzIGlycTogLTEsIGZyb206IDI0LCBjbnQ6IDEsIG5v
ZGU6IC0xLCBzdGFydDogODksIG5yX2lycXM6IDEwOTYNCj4+DQo+PiAyLiBXaHkgSSBkbyB0aGUg
dHJhbnNsYXRpb25zIGJldHdlZW4gaXJxIGFuZCBnc2k/DQo+Pg0KPj4gQWZ0ZXIgYW5zd2VyaW5n
IHF1ZXN0aW9uIDEsIHdlIGdldCBpcnEgIT0gZ3NpLiBBbmQgSSBmb3VuZCwgaW4gUUVNVSwgKHBj
aV9xZGV2X3JlYWxpemUtPnhlbl9wdF9yZWFsaXplLT54ZW5faG9zdF9wY2lfZGV2aWNlX2dldC0+
eGVuX2hvc3RfcGNpX2dldF9oZXhfdmFsdWUpIHdpbGwgZ2V0IHRoZSBpcnEgbnVtYmVyLCBidXQg
bGF0ZXIsIHBjaV9xZGV2X3JlYWxpemUtPnhlbl9wdF9yZWFsaXplLT54Y19waHlzZGV2X21hcF9w
aXJxIHJlcXVpcmVzIHVzIHRvIHBhc3MgaW50byBnc2ksDQo+IA0KPiBTbyB0aGF0J3MgcXVpdGUg
YSBkaWZmZXJlbmNlLiAgRm9yIHNvbWUgcmVhc29uIG9uIGEgUFYgZG9tMA0KPiB4ZW5faG9zdF9w
Y2lfZ2V0X2hleF92YWx1ZSB3aWxsIHJldHVybiB0aGUgSVJRIHRoYXQncyBpZGVudGl0eSBtYXBw
ZWQNCj4gdG8gdGhlIEdTSS4NCj4gDQo+IElzIHRoYXQgYmVjYXVzZSBhIFBWIGRvbTAgd2lsbCB1
c2UgYWNwaV9yZWdpc3Rlcl9nc2lfeGVuKCkgaW5zdGVhZCBvZg0KPiBhY3BpX3JlZ2lzdGVyX2dz
aV9pb2FwaWMoKT8NCk5vdCByaWdodCwgUFYgZ2V0IGlycSBmcm9tIC9zeXMvYnVzL3BjaS9kZXZp
Y2VzL3h4eHg6eHg6eHgueC9pcnEsIHNlZSB4ZW5fcHRfcmVhbGl6ZS0+IHhlbl9ob3N0X3BjaV9k
ZXZpY2VfZ2V0LT4geGVuX2hvc3RfcGNpX2dldF9kZWNfdmFsdWUtPiB4ZW5faG9zdF9wY2lfZ2V0
X3ZhbHVlLT4gb3BlbiwgYW5kIGl0IHRyZWF0cyBpcnEgYXMgZ3NpLg0KDQo+IA0KPj4gaXQgd2ls
bCBjYWxsIGludG8gWGVuIHBoeXNkZXZfbWFwX3BpcnEtPiBhbGxvY2F0ZV9hbmRfbWFwX2dzaV9w
aXJxIHRvIGFsbG9jYXRlIHBpcnEgZm9yIGdzaS4gQW5kIHRoZW4gdGhlIGVycm9yIG9jY3VycmVk
Lg0KPj4gTm90IG9ubHkgdGhhdCwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHBjaV9hZGRfZG1fZG9u
ZS0+IHhjX3BoeXNkZXZfbWFwX3BpcnEgYWxzbyBuZWVkIGdzaS4NCj4+DQo+PiBTbywgSSBhZGRl
ZCB0aGUgZnVuY3Rpb24geGNfcGh5c2Rldl9tYXBfcGlycSgpIHRvIHRyYW5zbGF0ZSBpcnEgdG8g
Z3NpLCBmb3IgUUVNVS4NCj4+DQo+PiBBbmQgSSBkaWRuJ3QgZmluZCBzaW1pbGFyIGZ1bmN0aW9u
cyBpbiBleGlzdGluZyBsaW51eCBjb2RlcywgYW5kIEkgdGhpbmsgb25seSAiUUVNVSBwYXNzdGhy
b3VnaCBmb3IgWGVuIiBuZWVkIHRoaXMgdHJhbnNsYXRpb24sIHNvIEkgYWRkZWQgaXQgaW50byBw
cml2Y21kLiBJZiB5b3UgZ3V5cyBrbm93IGFueSBvdGhlciBzaW1pbGFyIGZ1bmN0aW9ucyBvciBv
dGhlciBtb3JlIHN1aXRhYmxlIHBsYWNlcywgcGxlYXNlIGZlZWwgZnJlZSB0byB0ZWxsIG1lLg0K
Pj4NCj4+IDMuIFdoeSBJIGNhbGwgUEhZU0RFVk9QX21hcF9waXJxIGluIGFjcGlfcmVnaXN0ZXJf
Z3NpX3hlbl9wdmgoKT8NCj4+DQo+PiBCZWNhdXNlIGlmIHlvdSB3YW50IHRvIG1hcCBhIGdzaSBm
b3IgZG9tVSwgaXQgbXVzdCBoYXZlIGEgbWFwcGluZyBpbiBkb20wLiBTZWUgUUVNVSBjb2RlOg0K
Pj4gcGNpX2FkZF9kbV9kb25lDQo+PiAJeGNfcGh5c2Rldl9tYXBfcGlycQ0KPj4gCXhjX2RvbWFp
bl9pcnFfcGVybWlzc2lvbg0KPj4gCQlYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uDQo+PiAJCQlw
aXJxX2FjY2Vzc19wZXJtaXR0ZWQNCj4+IHhjX3BoeXNkZXZfbWFwX3BpcnEgd2lsbCBnZXQgdGhl
IHBpcnEgd2hpY2ggbWFwcGVkIGZyb20gZ3NpLCBhbmQgeGNfZG9tYWluX2lycV9wZXJtaXNzaW9u
IHdpbGwgdXNlIHBpcnEgYW5kIGNhbGwgaW50byBYZW4uIElmIHdlIGRvbid0IGRvIFBIWVNERVZP
UF9tYXBfcGlycSBmb3IgcGFzc3Rocm91Z2ggZGV2aWNlcyBvbiBQVkggZG9tMCwgdGhlbiBwaXJx
X2FjY2Vzc19wZXJtaXR0ZWQgd2lsbCBnZXQgYSBOVUxMIGlycSBmcm9tIGRvbTAgYW5kIGdldCBm
YWlsZWQuDQo+IA0KPiBJJ20gbm90IHN1cmUgb2YgdGhpcyBzcGVjaWZpYyBjYXNlLCBidXQgd2Ug
c2hvdWxkbid0IGF0dGVtcHQgdG8gZml0DQo+IHRoZSBzYW1lIGV4YWN0IFBDSSBwYXNzIHRocm91
Z2ggd29ya2Zsb3cgdGhhdCBhIFBWIGRvbTAgdXNlcyBpbnRvIGENCj4gUFZIIGRvbTAuICBJT1c6
IGl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gZGl2ZXJnZSBzb21lIHBhdGhzIGluIG9yZGVyIHRvDQo+
IGF2b2lkIGltcG9ydGluZyBQViBzcGVjaWZpYyBjb25jZXB0cyBpbnRvIFBWSCB3aXRob3V0IGEg
cmVhc29uLg0KWWVzLCBJIGFncmVlIHdpdGggeW91LiBJIGFsc28gdHJ5IGFub3RoZXIgbWV0aG9k
IHRvIHNvbHZlIHRoaXMgcHJvYmxlbS4gSSB0aGluayB3ZSBjYW4gZGlzY3VzcyB0aGlzIGluIHRo
ZSBuZXcgc2VyaWVzLg0KDQo+IA0KPj4gU28sIEkgYWRkZWQgUEhZU0RFVk9QX21hcF9waXJxIGZv
ciBQVkggZG9tMC4gQnV0IEkgdGhpbmsgaXQgaXMgb25seSBuZWNlc3NhcnkgZm9yIHBhc3N0aHJv
dWdoIGRldmljZXMgdG8gZG8gdGhhdCwgaW5zdGVhZCBvZiBhbGwgZGV2aWNlcyB3aGljaCBjYWxs
IF9fYWNwaV9yZWdpc3Rlcl9nc2kuIEluIG5leHQgdmVyc2lvbiBwYXRjaCwgSSB3aWxsIHJlc3Ry
YWluIHRoYXQgb25seSBwYXNzdGhyb3VnaCBkZXZpY2VzIGNhbiBkbyBQSFlTREVWT1BfbWFwX3Bp
cnEuDQo+Pg0KPj4gNC4gV2h5IEkgY2FsbCBQSFlTREVWT1Bfc2V0dXBfZ3NpIGluIGFjcGlfcmVn
aXN0ZXJfZ3NpX3hlbl9wdmgoKT8NCj4+DQo+PiBMaWtlIFJvZ2VyJ3MgY29tbWVudHMsIHRoZSBn
c2kgb2YgcGFzc3Rocm91Z2ggZGV2aWNlIGRvZXNuJ3QgYmUgdW5tYXNrZWQgYW5kIHJlZ2lzdGVy
ZWQoSSBhZGRlZCBwcmludGluZ3MgaW4gdmlvYXBpY19od2RvbV9tYXBfZ3NpKCksIGFuZCBJIGZv
dW5kIHRoYXQgaXQgbmV2ZXIgYmUgY2FsbGVkIGZvciBkR1BVIHdpdGggZ3NpIDI4IGluIG15IGVu
dmlyb25tZW50KS4NCj4+IFNvLCBJIGNhbGxlZCBQSFlTREVWT1Bfc2V0dXBfZ3NpIHRvIHJlZ2lz
dGVyIGdzaS4NCj4+IEJ1dCBJIGFncmVlIHdpdGggUm9nZXIgYW5kIEphbidzIG9waW5pb24sIGl0
IGlzIHdyb25nIHRvIGRvIFBIWVNERVZPUF9zZXR1cF9nc2kgZm9yIGFsbCBkZXZpY2VzLg0KPj4g
U28sIGluIG5leHQgdmVyc2lvbiBwYXRjaCwgSSB3aWxsIGFsc28gcmVzdHJhaW4gdGhhdCBvbmx5
IHBhc3N0aHJvdWdoIGRldmljZXMgY2FuIGRvIFBIWVNERVZPUF9zZXR1cF9nc2kuDQo+IA0KPiBS
aWdodCwgZ2l2ZW4gaG93IGxvbmcgaXQncyBiZWVuIHNpbmNlIHRoZSBsYXN0IHNlcmllcywgSSB0
aGluayB3ZSBuZWVkDQo+IGEgbmV3IHNlcmllcyBwb3N0ZWQgaW4gb3JkZXIgdG8gc2VlIGhvdyB0
aGlzIGxvb2tzIG5vdy4NCkFncmVlLCBJIGFtIGxvb2tpbmcgZm9yd2FyZCB0byBnZXR0aW5nIHlv
dXIgY29tbWVudHMgaW4gdGhlIG5ldyBzZXJpZXMuDQoNCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoN
Ci0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 08:59:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 08:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593525.926511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdWu-0005vi-HA; Thu, 31 Aug 2023 08:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593525.926511; Thu, 31 Aug 2023 08: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 1qbdWu-0005vb-DX; Thu, 31 Aug 2023 08:59:56 +0000
Received: by outflank-mailman (input) for mailman id 593525;
 Thu, 31 Aug 2023 08:59: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=e8Cw=EQ=citrix.com=prvs=600b2b7ad=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qbdWs-0005vU-N1
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 08:59:55 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdedde11-47dc-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 10:59:52 +0200 (CEST)
Received: from mail-dm3nam02lp2044.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2023 04:59:48 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by SA3PR03MB7516.namprd03.prod.outlook.com (2603:10b6:806:399::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 08:59:37 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68%4]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 08:59:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdedde11-47dc-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693472392;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=hMyYzgCaDvJgf7HZZucsPL7sidOu00oCTmvIRdKMkfY=;
  b=YGYa6cDqIC54FXz3vD4V4Ukc4Lyp3LCGv9SkAvAWckGy0ztzp9u6WTbH
   8Jrz7AmyIjN3BZa4MMZi94dlRDMmFpZ1yYiE//QMH3Y1PYdq4yV9oVmBB
   UiDKybCGhPaojpN6shJoCvL1KDU51TshxmWDomBkWMhE7EqEz/hy8wxzL
   M=;
X-IronPort-RemoteIP: 104.47.56.44
X-IronPort-MID: 121654885
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:pk3nPatfvT8oaaUZOnQUulS7u+fnVEVfMUV32f8akzHdYApBsoF/q
 tZmKT3QOvyPNzf2fd9xadnn900PupHVx99hSQZuqi40Rn4W+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+FziFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwKmkiVBDcpuWP5p3gR+deoZUEKcvEFdZK0p1g5Wmx4fcOZ7nmG/+PyfoDmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv6xbLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqhAdxPSO3oq5aGhnXO/z0DNS8OXGfiitDpi1S1X857B
 1cbr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9dJ6G3rKdrDf3NS1OK2YHPXUAVVFdv4Wlp5wvhBXSSNolCLSyktD+BTD3x
 XaNsTQ6gLIQy8UM0s1X4Gz6vt5lnbCRJiZd2+kddjvNAt9RDGJ9W7GV1A==
IronPort-HdrOrdr: A9a23:mFB8hqvsYfjv8ZqhyGSc9qhg7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-Talos-CUID: =?us-ascii?q?9a23=3AKdFuNGpXr/epdhmk+wmB89HmUcJ8XUfdk1bXGmm?=
 =?us-ascii?q?XUmtneprEblqS14oxxg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3A9nBVrw3sAQ0s55SyAmZko3ok2TUjvp3/GH0/iZw?=
 =?us-ascii?q?64uKtZS1qMDOBqBisTdpy?=
X-IronPort-AV: E=Sophos;i="6.02,216,1688443200"; 
   d="scan'208";a="121654885"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yrliu4xMMKjPN4vzUyOTIvpSy0GHsY2/uendKD28WoXA0IZMETjs4SwPbZmaW/daqq+KOZJAgbcARw1exkeilV3HlUM1/uxQHbimSSj+6JSxsgQ4EjT3mvcSGgqpPLTbRvs3hXxpwl5Lr2JlhuU/Qpq6XmosrRDccDBG5EWYy4CrONE/hHkzCwIag80S60QzX7WiMIx5Od77DY95IPxLU1Ac0/PfqbYGVZjN5F2buA/xNEF4uSCGfLBGm1aVL2ZGwUskh+OL/7GTEn6OmrPR89Kg/yYxlRhRcHzGpb8F0xEMIDn1Op7ahd652+OYSjyaI3F6v7Ejquw8QWNC1vInoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2SHvLegtqC+Auo3ugpZEW/aQN9sGY+Qj4PTNiezZYUE=;
 b=ix8aauu8aMrG+g05ehfiNRgrQqEDZbovDkI1UtbNOFI2ewO0xxWeBn2qe2Pl7C0dpSzrhJW9TC8AU81JDpmDzVMLUcv0Wzy8L2x/Z2gDWR3AvGNcujgR8nIGicmCs5SY9An10w19Detbm3S4aaZpu8B8Tk+mW0VERPbCSHjk9GPcQAUKh0/mxVMrg4LgFLKrfaVb6InhH9z2WYPHGPP7k/ToZFDZ9JmSxFOJGzonhLbmcKNvH3ZAc4Bsrqh56RjY6p+bAX9KcTJe3UW7a8LDz8EHHrfneWEx1Z97DjQrL+E+5bvChjVUwKRIQ7u8hItDO/VZY0Ik/6nzfXGq2WLYCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2SHvLegtqC+Auo3ugpZEW/aQN9sGY+Qj4PTNiezZYUE=;
 b=IzBPTuLS8qppsHo8S4QZmiW1bNCGJTo9UYpFo9Z0J/eY0IIIZVEwf1nru9UkIE/LkQhvlpfPLst3NZqYXm2qYHsSl67RyU8UXBry7tCKHi7kSIcYYoSpMQ5F2AA5B7GcxFXZJUEm0QDgi8bJ9A7b8DoZ3AHJrc3pxd5NbIdBQqk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 31 Aug 2023 10:59: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 <xen-devel@lists.xenproject.org>,
	Paul Durrant <paul.durrant@citrix.com>
Subject: Re: [PATCH] x86/HVM: correct hvmemul_map_linear_addr() for
 multi-page case
Message-ID: <ZPBWcyL-nyHKV9zT@MacBook-MacBook-Pro-de-Roger.local>
References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com>
 <ZO9Sj5YDjiKIh1G-@MacBook-Air-de-Roger.local>
 <93b3e5c4-19b7-9809-e322-f0973924eef8@citrix.com>
 <5b28f42f-be2d-b826-2bfe-434b0c1742e2@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5b28f42f-be2d-b826-2bfe-434b0c1742e2@suse.com>
X-ClientProxiedBy: LO2P265CA0119.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:c::35) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|SA3PR03MB7516:EE_
X-MS-Office365-Filtering-Correlation-Id: 822793c4-7785-4a86-cc16-08dbaa009a73
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tTLaKUcWldzhCzGWZnD2HsZWcieOpH0uoGY0cbJ2M4utIZOBiMC62PElgGFyTndboNnBoOY8uvNxsfkTs9qosCHdyxw69iZBiHSo0zKhdxm5o9s+jxLUC0nkO1XPVbf3aiIcN4D2Z+BQDAgkacDwz6n1FCtHLioyJQjC5F7ECT83NW7yjqP7ekO6lItfBpYGPb24/XEQ3SkW7R2s0zeFsz0hSVVpF7CqNax5mFHVSV8sis7VstH1Rv76kRpXsD/j7P7REQl9QJYJoTFNLLhV6oIg+Y7QuTk0Efg2VSi61koo/whi2ISR0QcSruCZNmdW8CcHimCXt9DZtzaIwQBBl6bsCnOSYLhicZCQjiHR4+aBx9CrZqEq1JdEsofR5nBsCCAr/+cDVqoZPp4iVFXEe+mpdGZoH0S1NrkWkzg4GOJ3N3KTWj219KUXtLyH2h66itTcdx3YiTbmG9Yl5IGH+ED/J32Lgl0F0xIE3aPqk/Aao2svKxPfZnJqZSa0DVx0S7PeioR/xPb2bJIs6XfAcA1w/7Mj8KuZfKcxvSOC4/ozodCP3yrwrvR3awmY1+K7
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(39860400002)(366004)(136003)(186009)(451199024)(1800799009)(85182001)(107886003)(83380400001)(4326008)(53546011)(41300700001)(86362001)(8936002)(5660300002)(8676002)(6506007)(26005)(6486002)(6666004)(6512007)(9686003)(66899024)(478600001)(38100700002)(82960400001)(2906002)(66946007)(6916009)(66556008)(66476007)(54906003)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnZaaW9BM2FUbmk0bFZrV05CWEZ6RUVUZk5XOHpOcXBwaG5IOC9DQlhWL0pH?=
 =?utf-8?B?YWRDNSsvTTh2bGZQYnhxd09idGdTOWw5N3k4NXNkYzNGK3FWVmdLN3VxYUJm?=
 =?utf-8?B?NkpUbjlSdVFadDFacUdVYlkrekVDQWZsd1JGTTJUbDQzZEV3WWZBWkV5VDI2?=
 =?utf-8?B?V0VZWVdWbmlMbU1BYkI3NFBHT0NNWENUWDB3bW5xRzRnM2ExeFl2SEZrZHJM?=
 =?utf-8?B?Wmw4OE9VcURlSHZFdXczRTFnQ0NCbzFwYVZOUGJPVHV6ZmE1bFZlRU96Ymhm?=
 =?utf-8?B?N3hTeEJIYlBNWlRZSHFjSktYQmRUem5jMVpPS1ZOVXM2NFpPaGhlU3diZjJt?=
 =?utf-8?B?bTIrczdKREFiemVwR3VjRGVUam5YejFyZENCV0c1K2JvQVRacGJkTE5tczEz?=
 =?utf-8?B?YVgvd05WczFBOG5PU0lNVTVjaVZwdFJ0Vk9VU0swdlZMa3Q1cGdNUG1NTlhi?=
 =?utf-8?B?OUNwRjZBYVd5OHJQZGlJSC9pbjh2cGRiRXYxclN4dHltWHdSSWhIa0NWaEUr?=
 =?utf-8?B?cmpva3ZySXVZaXk5cDFKZ09CanhpVmlsTmVaQlVXeUtmbFN1TFRBK0NQZVlj?=
 =?utf-8?B?a3FYZ0lRLzIvM01KT0p0VmZHQTBjNDc1VHNkbHJKYmEwWndoTkk4SVhSOG5W?=
 =?utf-8?B?OGppQWh1UnRCQnNraVJ4WVFuKzh5bE01WHh5R1FhcVhXRU1sMGNBYVA4ZjBh?=
 =?utf-8?B?U2xxbTNzYm5sMXpRRUtXMmN3M2FKdEhwc2YrVFdzYkJoc3RGQ3hVMzBxbTc3?=
 =?utf-8?B?cjU0SUgwNTJtMFExb2R0aHY1Y2gzbXBlOVJIaHNoVUw5NUpPYzlaVkM4a04w?=
 =?utf-8?B?OGdlbWs1VEpEUlRFVXFpc1lZenduSUg2Z2JtUDNva2JUdHpFU0xGdUp0UDdN?=
 =?utf-8?B?bW5RVUZkdDNBVWZOOG9BNGR5UE5QeURpalJHR0ZpZ2ZaUWl4ZUw2SzllMGpw?=
 =?utf-8?B?T2lpb2UvRkFYbGhaOHUycHR6SGh5WXRVRjdWMmFwa09ML3Z2azBjRDZxd1U1?=
 =?utf-8?B?QzIxbVJPNGxaUTNvSlZZclBZSzA2eUlJRmtOQlBncjVXcnlYaU15VE40RUxh?=
 =?utf-8?B?VnR5aGdyRnNJdFQ2SDhNNDJRTWpFeGlWL3Q0ZWFFdUlUUEFvMEI3THBjaWVs?=
 =?utf-8?B?Zm92RVhVNVJRTFc2Mlp5Tkxzc0YxeDhWSzNVcDJVMmh4MW93YktnbzI3elF5?=
 =?utf-8?B?dnptL05yQnArMWdRVmVyQ2xSbjFrNTlBMFNWYm9MY2NkQzgvbVRvbFJoWFA0?=
 =?utf-8?B?dTN4dWpyUGJkR0JyelNETUYvNkxNN3dkY2ZJMTRGdWFiNWFsNXhUekRkeUda?=
 =?utf-8?B?Kzd3R0JNMEFOYko2clgvZlIwZnFHTFN4ZzlqZ1NXRmxZZnpzNlErckZRZ1hH?=
 =?utf-8?B?N0F2OFkwbnFjVVJpUmlxNG1KY0tPZ1NjaGJUaHVSM1lLMG9JK0pJenA0VkJG?=
 =?utf-8?B?ZDY1YUJJalBReHNvVDV3RjBlZ0ZvclVZK2swRC9XWEZiN1poTzdXMDJSOHpE?=
 =?utf-8?B?VEFIVVFsaHFzWWN1NnpTVENXcWkyRHgzWnp1eXpFNHREanRSM2o0MCtNQTlW?=
 =?utf-8?B?WHc5bG1FVE1oL3ZENWpqYXFBQ0hYWEZKbUE5Nk1OekdNbmVwL2lVMXVRbFJ0?=
 =?utf-8?B?dnozV29IUElqUUtCU2p4KzFlK1dKeTVsSEVtdHZZcjVLM0hMNzJEdGlPV1J5?=
 =?utf-8?B?RE41YmNlRDdaVkZUSFprUmNlc3V1V1FBeWtENXVCeDUzVVdQMEFaVlhCT2hM?=
 =?utf-8?B?dDMzTTdJRDVqTmZMNnBVeW95cGY0cHRueWtad0k3OUU3dnJManB2b1NJREN0?=
 =?utf-8?B?akE5Z2g5bVFKSGU2aWprUVlRUXczdGY4a0xXZFRxWGdYZFBnQlpZTVYwaEpr?=
 =?utf-8?B?TFJSWXNjbzYrVUlHWGJpQU9jV1F1bWNSSEtaTzVvRlpSOGk1dXBTVU90ak04?=
 =?utf-8?B?dmhqVXhzUDV4OElMVUNjRDBvRTNQRm5nZDI1WUZQaDNWVzNUOEpYcDFyWFNJ?=
 =?utf-8?B?NkV0R0lTRThPN21CVzBxT1ZFTmloU045aStlVXJuTUsxdTlSbmJBd3J0WmlO?=
 =?utf-8?B?L2xrcllLTFpFd0hiRVZzZXl4ZWtrRDNDU0o3UzNyTXFjbEgzbXFTYk45VUNt?=
 =?utf-8?B?djZkLzdTc2U5RHc4VVlUZGJDY0ptYU1uY1pXYk1uY1krSkUxaU51MzdYTC8y?=
 =?utf-8?B?b0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	m/Xebpb0n9aKkyN7MofKy1rv3NirYAVLS6+Y11A4pWygj1d8izHXe8iQcPlQ3RZni22WKp+anc2LJ5lZn1Zzh8pJJHh41V+NgT8RB1uwXEcPl/rYu+OGHF10FwEpgqBx6NBe5Mt0s6hQbqIo0FLUEPT1OeRbYr2kncPxHjwI3fm9UwYz5nTWw5BrCiL8LxJE+Xg4OML12KaZkHHsoxAhXc7QKPvld+4bNxwokDHv0gq2+7c9ELtm7e5Disi9hKwgiwW8/zRn4/yy+ElcJ6y6ji53bqL55RyIEeMmB73inqXmdw2i0WVuyMOXtEiET8o8xQxyCsar6K+kzFWQTf0nrqTR5TdNKMQHRUAWkefAngr4QMZ1OYLBQ200OYEpSmPdwy5nUKtZrIIAcw2cLNeE46wAW/pYpLkKobrLeTjmOBaBbIRf+pFky6DieFI60k5SZ1zaG9BSK6ErJ/RF2UDHseTKPpIWDZwV2MdFM72qT0oBCCEUQ+3Wm77wUS13mhtmt5Fftc1VO0LkuzF34l/f37XQ/ey8mew7BGM1vQXDop7nCF986q779zu/EyrtA4dhv32qOnV75g7g2aXxIVpxXqSaYyt5EzLgDsJggaz8iZLOtobAYsxeN9Vv2IWIW4RMfUt+fFrNiaAZeLoAwr2EWhThtls5jcLMDPdHYGnpr7eznugvZhB6wFMiP9BRzzeA+MhYQN37jIJW+y5HUJxs2UYf4RODs2evbcfVpIfhPCCDpVRIO4T+99dkAFWlzjr1ls6YOHmF79xmWEJ9lWlsYxXBWuEymOmKhAR30OxQ+EY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 822793c4-7785-4a86-cc16-08dbaa009a73
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 08:59:37.4571
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ov8/reTTD6DZD+b9A6/xh+PJjGoDjltKmqrOVhQO1cJDxNX8JjvDRd24Dg7mwlfMu2WAJLz3VZGz5FzMXS7CzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7516

On Thu, Aug 31, 2023 at 09:03:18AM +0200, Jan Beulich wrote:
> On 30.08.2023 20:09, Andrew Cooper wrote:
> > On 30/08/2023 3:30 pm, Roger Pau MonnĂ© wrote:
> >> On Wed, Sep 12, 2018 at 03:09:35AM -0600, Jan Beulich wrote:
> >>> The function does two translations in one go for a single guest access.
> >>> Any failure of the first translation step (guest linear -> guest
> >>> physical), resulting in #PF, ought to take precedence over any failure
> >>> of the second step (guest physical -> host physical).
> > 
> > Erm... No?
> > 
> > There are up to 25 translations steps, assuming a memory operand
> > contained entirely within a cache-line.
> > 
> > They intermix between gla->gpa and gpa->spa in a strict order.
> 
> But we're talking about an access crossing a page boundary here.
> 
> > There not a point where the error is ambiguous, nor is there ever a
> > point where a pagewalk continues beyond a faulting condition.
> > 
> > Hardware certainly isn't wasting transistors to hold state just to see
> > could try to progress further in order to hand back a different error...
> > 
> > 
> > When the pipeline needs to split an access, it has to generate multiple
> > adjacent memory accesses, because the unit of memory access is a cache line.
> > 
> > There is a total order of accesses in the memory queue, so any faults
> > from first byte of the access will be delivered before any fault from
> > the first byte to move into the next cache line.
> 
> Looks like we're fundamentally disagreeing on what we try to emulate in
> Xen. My view is that the goal ought to be to match, as closely as
> possible, how code would behave on bare metal. IOW no considerations of
> of the GPA -> MA translation steps. Of course in a fully virtualized
> environment these necessarily have to occur for the page table accesses
> themselves, before the the actual memory access can be carried out. But
> that's different for the leaf access itself. (In fact I'm not even sure
> the architecture guarantees that the two split accesses, or their
> associated page walks, always occur in [address] order.)
> 
> I'd also like to expand on the "we're": Considering the two R-b I got
> already back at the time, both apparently agreed with my way of looking
> at things. With Roger's reply that you've responded to here, I'm
> getting the impression that he also shares that view.

Ideally the emulator should attempt to replicate the behavior a guests
gets when running on second-stage translation, so it's not possible to
differentiate the behavior of emulating an instruction vs
executing it in non-root mode. IOW: not only take the ordering of #PF
into account, but also the EPT_VIOLATION vmexits.

> Of course that still doesn't mean we're right and you're wrong, but if
> you think that's the case, it'll take you actually supplying arguments
> supporting your view. And since we're talking of an abstract concept
> here, resorting to how CPUs actually deal with the same situation
> isn't enough. It wouldn't be the first time that they got things
> wrong. Plus it may also require you potentially accepting that
> different views are possible, without either being strictly wrong and
> the other strictly right.

I don't really have an answer here, with the lack of a written down
specification by vendors I think we should just go with whatever is
easier for us to handle in the hypervisor.

Also, this is such a corner case, that I would think any guest
attempting this is likely hitting a BUG or attempting something fishy.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:02:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593532.926521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdZE-0007VH-TS; Thu, 31 Aug 2023 09:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593532.926521; Thu, 31 Aug 2023 09: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 1qbdZE-0007VA-Pv; Thu, 31 Aug 2023 09:02:20 +0000
Received: by outflank-mailman (input) for mailman id 593532;
 Thu, 31 Aug 2023 09: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=GYAZ=EQ=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1qbdZD-0007V4-1J
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:02:19 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15fd8ac4-47dd-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:02:18 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-51e28cac164so3728608a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 02: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: 15fd8ac4-47dd-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693472537; x=1694077337; 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=Atyf6it5YtTHtQpEthOf92yCe1kN0bIRTc86uhn4tmQ=;
        b=lkFTMbuDss7tl8z+sObIdIkd3I7ev6r2py9kJKSniM8pIqo7rXn0tbJ/8/P/cWXdqZ
         fKHX9Q6e4kJp+YKZAMehUHHcrDvjvmEjYtn2BLeM/A2YJPcPCszewaxiOYRpe8l1iUDT
         ipnrs/OOjdK/Gzi1AeuoXQg6ccf/zgoEMe4uREn2s1RjvimdZ3Y5Ctkfl20oj2lbS4aa
         u7aSy12KV/1bzZgwMVVOuuih0VBrmnp9wohsk5K9UykqI5A28QoMDMxMuK0A6o3E7hvq
         uwdqI1vW3xFyEy+Nz5mmSJcW7gon0ZmZ/izb3WAxhH9WxMJsGXMiMND2fj+Zufa7kzwr
         NRsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693472537; x=1694077337;
        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=Atyf6it5YtTHtQpEthOf92yCe1kN0bIRTc86uhn4tmQ=;
        b=N3Jlr6ynrofCKRw2anHikS7JJDVOfUYIVk3MCqABKGrPDecj1pF1A84EJGNaJvwgQu
         BKVbxt7wien1fb4MFJgV3sRKw3j5oQ2Apu86ruLSzkLHxXtXr9lK2/cvBW0qYU1jlZ4s
         OlgiPMvPP3NYxSo5WDc1WC3aYN5zW4+PzzGnnUkKqz24jnZQzy7Sa8JC3f6n+r9cfthl
         Ht7pWf9AqyszU+jCnYA9OZ0UIWzYcrDgEpI0lotLN1+H6fDrwL0OdCRZl/CX7dwr0LRZ
         rXli4NaoX6hvX/KyV3tIl5KZbXplrY7E/icVva4fpIDIC4C0VfTLOwgENQidh3XJK/fF
         VzrA==
X-Gm-Message-State: AOJu0YzmdEncmrvcZ7p/Qnvbi8+tuUkZ7psPTbxjMYSkhxISIYXthN9b
	Rz3Sei+HfSKT5t0PeTjGj1D+cM8MS3bGwi7hQveVag==
X-Google-Smtp-Source: AGHT+IHH1trT8CB6FUUesTFvCdiHDmP2HufMXaFwZaE7USD+5Yv3A6Eqg7vtSm4Ex/4bcUEQO9Z9HXrKqi70Hc8SW/s=
X-Received: by 2002:a17:906:7311:b0:9a5:b66a:436d with SMTP id
 di17-20020a170906731100b009a5b66a436dmr2517451ejc.14.1693472537161; Thu, 31
 Aug 2023 02:02:17 -0700 (PDT)
MIME-Version: 1.0
References: <87y1hspiyh.fsf@linaro.org> <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 31 Aug 2023 10:02:06 +0100
Message-ID: <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
Subject: Re: QEMU features useful for Xen development?
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	Xen-devel <xen-devel@lists.xenproject.org>, 
	Stewart Hildebrand <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
	QEMU Developers <qemu-devel@nongnu.org>, Vikram Garhwal <vikram.garhwal@amd.com>, 
	Stefano Stabellini <stefano.stabellini@amd.com>, 
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, 
	Jonathan Cameron <jonathan.cameron@huawei.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 31 Aug 2023 at 01:57, Stefano Stabellini <sstabellini@kernel.org> wrote:
> As Xen is gaining R52 and R82 support, it would be great to be able to
> use QEMU for development and testing there as well, but I don't think
> QEMU can emulate EL2 properly for the Cortex-R architecture. We would
> need EL2 support in the GIC/timer for R52/R82 as well.

We do actually have a Cortex-R52 model which at least in theory
should include EL2 support, though as usual with newer QEMU
stuff it quite likely has lurking bugs; I'm not sure how much
testing it's had. Also there is currently no board model which
will work with the Cortex-R52 so it's a bit tricky to use in practice.
(What sort of board model would Xen want to use it with?)

The Cortex-R82 would be more work, because (unlike the R52) it's
AArch64, and we don't have Armv8-R AArch64 support yet, only the AArch32.

I haven't looked at whether GIC on R-profile requires any changes
from the A-profile GIC; on A-profile obviously we emulate the
virtualization support already.

> On Cortex-As, in addition to a PCI root complex and an arbitrary PCI
> device, SMMUv3 emulation (both stages) and GICv3 ITS are needed to be
> able to test PCI Passthrough. However, if I recall correctly SMMUv3
> emulation in QEMU might not be complete enough to enable us to use it.

Yeah, at the moment the SMMU emulation supports stage 1 and stage 2,
but not both at the same time. This is good enough for PCI passthrough
with a Linux guest using KVM to pass a device through to a nested
Linux guest.

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:13:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593540.926531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdjf-0000pu-SL; Thu, 31 Aug 2023 09:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593540.926531; Thu, 31 Aug 2023 09: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 1qbdjf-0000pn-OP; Thu, 31 Aug 2023 09:13:07 +0000
Received: by outflank-mailman (input) for mailman id 593540;
 Thu, 31 Aug 2023 09: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=hTy1=EQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qbdje-0000ph-04
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:13:06 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96b57772-47de-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:13:03 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM4PR12MB5891.namprd12.prod.outlook.com (2603:10b6:8:67::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 09:12:59 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9a2:f8ec:7c75:fe95]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9a2:f8ec:7c75:fe95%6]) with mapi id 15.20.6699.034; Thu, 31 Aug 2023
 09:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96b57772-47de-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SbzoJ+Fh52MATtsbSDRWw+WGcnOivGi7EU4h8u7ACw5txCiTzVdFLVsZ89at1RMPjFFpaZ0uTUrt0gAc+R9VDrxnmnYu7clWPJEdlkXme65Im6PT5WXqzjkVGJPv9i9lWWLL95tpGSePsHlhM/FTXvi2/cFwdh7tA+AzEHzwzbb6qcsakGbo2uhwvoRs6Ax/emRM4BeuNP1B+Hzi17do/wYbLRErdRkY/9qYANMh/WV/IGCEoQ2h0YfMHgkvabOVW0e3613+bDpiiajIU+P2SDpbKbx9bi5gsPBSP+Ala3ZhjYjzlQQAuroG1S1XBk7QU26TXZ1Vl1T2jcR7oe6MyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2N+JXxX6EishSCtigrSRjMizHPdnv/3iqPVGZS2X2vk=;
 b=FljWy1qxd7C3rXZ7kt5CCt9DFnLvNZTQ72z39CKX+ra/F5xgRjOZq3vREBLV14ZdOXvPcH3lWYPkZ3JS6rw21aoBBnlhJp+/a1I/MOAqtzN8sMJ27U7mYjHUTVcWcxZjGevBshSt7683zMWK42/C2b/iBTdGvvsd5A0MMuLvpIpYDUp2cbsgN6EciSiSqgnO87VROz5OTXP6d6gDqxHL63CLIBDuYYmeZ3r//HExnOEgv7PhKa5sTMaO2kbTKu7hUeqt955BDTbPyAA2UPAbVYedvE9hnfuxFCDKbuasDae9uJNGeRq/fBdTENtIvA5Ai/4aTwFkLouhaek5Ft119Q==
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=2N+JXxX6EishSCtigrSRjMizHPdnv/3iqPVGZS2X2vk=;
 b=0rFfoxWZi280thbaFUa7nl7QFxBAx4DG/kM8tPojMa8D74BpsYyzy22YY9PdI7MathEzckeqOaNoY7hve9EecThtJyCbXj6PTZPgDd7yCymeKctbg+5s+89lgrPx5V8VZ/cfL2HADRD48YJxG/lrihmEP4zPp/sEMCm3OKgxJIQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <19a8b434-3b2d-9e3d-fc05-fc2828d1abbd@amd.com>
Date: Thu, 31 Aug 2023 10:12:52 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [PATCH v6 08/13] xen/arm: Fold mmu_init_secondary_cpu() to head.S
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Wei Chen <wei.chen@arm.com>, Penny Zheng <penny.zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
 <20230828013224.669433-9-Henry.Wang@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20230828013224.669433-9-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0299.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:196::16) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM4PR12MB5891:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f80fc68-85a2-4917-2b70-08dbaa02781b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0nqpqai1obdDUUszHOPN5YFdx+9l8jjPKw9Ax2+frOYWa4zkeAngpO4S/PhZkUGPhQsBNcqdyHeULqnwByHEUtgPK8r1g/kQsql/QOiaAXR58lyaDd1GbQW8zxD6Uu6dzZHBBCJU4bJxfjx79QoRlxw6Yy2Xh1et63asIRP4kMEI611VgxfNFAgOZH3PbO67ioX9bpDIl54caasbG5OjfytSNiB/i7RvhoCEKPEjvyf9Lnx2owUqb+ssfE7hyAuPeZop7k/MDZ0P+19DKWRGljnrWAJnCzTAfTKHAV2INFd6ZcQhXQpns08EA6f3LoBv1N74UAOE+IXIy5sKlwiz51OQovvIETR+51e3PTMZsbaU5Cj4/ZU53BK2MMEif9fS2iEj6E+vUgWYb19dVvBTZC5uXbFMl3NUvu2jpghU5ZsTJj8dpH22uDNzj7B4Iea34RZ+HYqKhUkMZZOSh42hi9P9e7fh8oCkt4nSYjsn6bOO+u5GVG47o3lF7Vm4ssYYAI2VP9qSI/Ze+K7MgzcHpKzVIHnE3AWgeWG01dEESYHj7pnkD3Fdewwx88ur/+9pTOt4dQxTtfwtU3za4SBhI5kyz95b+d+WWO3jixLMTZyuA1esOZZ7yUdNU579lIhJIN4i6zRqCEy///wZWq3jFQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199024)(1800799009)(186009)(6512007)(38100700002)(316002)(41300700001)(5660300002)(4326008)(8676002)(83380400001)(2616005)(31696002)(26005)(36756003)(2906002)(8936002)(6666004)(66556008)(6506007)(6486002)(54906003)(66476007)(31686004)(478600001)(53546011)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0ZaUmtVN0I4SWhJamlER1hNNUlWcTYzcHV6TW44VFlicHl1Z3cwaFY3NlhZ?=
 =?utf-8?B?UHFNcS9GNnBGZ0xHL3FhRXpjQys4VGJFQndYSEh5c2U1RjJ4dzdySk1HbUd5?=
 =?utf-8?B?T1Y5eXVOdzd0T1YzbDg3WW9kVXhIM1ZDaW50RVhIaEo2NWdjZUlkMjhkVitx?=
 =?utf-8?B?NnRnY3ltajJvaFkxZU1CNlZxazBzanMweEFuWFdpK2ozQnJQSFdqQWM5Wklh?=
 =?utf-8?B?Q1VGWVNHUU9wbzAxU0ZJZUxlWlJHc3JPT0k4ZTFRSm1TQ2NUajZiNjVGT05i?=
 =?utf-8?B?V1ZpWEsybGJueVVyZ0dhT1BucnFTQnJxdVB1eWIvL3paY0VHbzlFTXlmQm4w?=
 =?utf-8?B?bG1MSE9jQ3pkQmUrUGNTSlF3cEVVenVTcGZGMGFaSllWZ0tWNG5sM1h5NzEz?=
 =?utf-8?B?NzdtZmdGOGNZRTU4RXNUbzFUMUVsTTQyMXZmWjAzNGw1OEdVbEFVeVhPbHlJ?=
 =?utf-8?B?czd3MXVBdDJYSnRNNFNkcnltQXBZL09IaFNmOHVxSE5qbjFsZEFUZlFNTWNT?=
 =?utf-8?B?TTNGNDZ4ZGlzTWJheTREUlVoTVdFTlNjbmNrUWVFeGQ1MGxpWjA0bjFicE5X?=
 =?utf-8?B?VmJPUjRockJXUXpVci9MaDVVdDZWWnVqMFNwc3gxR2RwY0RNNCs5dDArQXpQ?=
 =?utf-8?B?dTV6d3A0aHFrUkNlN2JQOThyRE1vZUVDVnFTZjlWb3NjcTkxOFRDTVRVR3Qx?=
 =?utf-8?B?TElPd3ZSODhGdGhFd0RUTzRhaXYvdnduUStKNWJzMzkzM3dPVzJUcHFCQ0Mr?=
 =?utf-8?B?NW4xclJnaHE0NVplZy9GWEVGRVBRUDBLYmhiT3B1TENEcG9EUEx2NnNRR09a?=
 =?utf-8?B?ZndaditJaEhXZXQyT3dBM01BZGxDYW9PZTRsRHlhL1NsR0NzRGIzTmtudTVT?=
 =?utf-8?B?WjFyTFl4NE0weTgyQW8rdG4zTkZGNWdKbmdUdHp5LzFkSFdrRmcxcmVvSURa?=
 =?utf-8?B?bGE2WGU1TkluazF1d0ZSam10bGtJRzZaa3pjcE05K1E0c0hxK2t5eHNNR21V?=
 =?utf-8?B?bDlla3dkSktiOS82a0tUT1RHUk96N0FVQ2JBUjVjZWQvbTUwRzBGcjg4LytM?=
 =?utf-8?B?Wlplbjk1Yk5wNmY1TnBIMDZjWWxpbE9rTXhXWUJ1QzNDaklnUTY0T0dzZzBY?=
 =?utf-8?B?c1dIeDBHbFdZVmZBZnFsKy9ubHc3MXU2RnRRNW5LQWZZWmc2RHdWeTJEYXo2?=
 =?utf-8?B?R3RzaDNUbC9mVWZ3Z2RZSG02Nmg3YjkwRGpzUzZoRnNUeVpKYVVUTjJucERv?=
 =?utf-8?B?OUtyQUErY3RjVm11Z2ZhM3VNVk1nVHMrSVNHTFhubWZscTVTcUh0ZmFZOUhL?=
 =?utf-8?B?WDBHQXJrVmhRcm9CRnhGM3RBWndrK0s5TUo5VkdQdlBWTXExQ3VBSkMycXRB?=
 =?utf-8?B?dkFpS09aUytmZHVjaG85SklxSmtSTC94TENaTUx6L05HZnFnUUsxRmNVNzQ3?=
 =?utf-8?B?L2FYM0hkaGhRMTFpVVlmbmxaaDZGQjhCRU5jUXFYd2N4Ukd2MSs4VGlGY0NO?=
 =?utf-8?B?d0RRSk5CdGFVQXZ1Y2NPUTQrczE3SVd5M0RFWGlZTEZQZXVLaXVpQjZOTzhC?=
 =?utf-8?B?bUtnQ1FNc21JQ05zSWROOG8rNzIzdEZvcG1tRmRKMHEvVElLTElMK0pVd1gr?=
 =?utf-8?B?LzRMaktYMDJqMUh0MHNHVnJpRUpkUW9Bb2RKbE5WUGVmT2djUlRWMTljL3k3?=
 =?utf-8?B?b3dzc0ZHVFdGQmVRSmkyM0pJQitiYU5GaWFpY1BaVEJCL1hZTGNTbTF2ZlpT?=
 =?utf-8?B?U0pqYmtVcnpZcDI2bS9IYVV4clZNbTZwSHhZUDJjOE9nZzZuWHBEekpsUm4w?=
 =?utf-8?B?RnJOYnlyWG5DcmVWYmJsR2NZU1kvOUZ4MGtXcWNTSHgyY1Z4Y1hnNUpmc3cw?=
 =?utf-8?B?UEtWL2F3V09QNXg0eTV6ZW4vd0tFV2VUaFl1T1hka2QweFRNNEZqdWZUSXRo?=
 =?utf-8?B?WkJkTWUzTmZ3Njc1OXNKMk02MmVmcjhxMzlldDRXZ21lTWhPUzZlSHA0NURG?=
 =?utf-8?B?M1BYS3hTamJlK2VVRjluYWRwNnZDS3VqUXRROUV3QUFPaGRUejNveEhWaFpV?=
 =?utf-8?B?WVZWVWhsTHpRazlrRTB3Mk41eVcyZEJQUW1JYUJMR3BXb2Y0eGlkWklaRUNI?=
 =?utf-8?Q?dfzIrNMnrKuiH1iMBvGILzxDa?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f80fc68-85a2-4917-2b70-08dbaa02781b
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:12:58.7550
 (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: EJyEIy0vLN337mXFKVr0Y2N+b2NvfZrE+TjmRQokEuux0d/kHNuPzsi4utK0mDWP0NmUTVLvhpi45B+uRd/s8g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5891

Hi Henry,

On 28/08/2023 02:32, Henry Wang wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> Currently mmu_init_secondary_cpu() only enforces the page table
> should not contain mapping that are both Writable and eXecutables
> after boot. To ease the arch/arm/mm.c split work, fold this function
> to head.S.
>
> Introduce assembly macro pt_enforce_wxn for both arm32 and arm64.
> For arm64, the macro is called at the end of enable_secondary_cpu_mm().
> For arm32, the macro is called before secondary CPUs jumping into
> the C world.
>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
> v6:
> - New patch.
> ---
>   xen/arch/arm/arm32/head.S     | 20 ++++++++++++++++++++
>   xen/arch/arm/arm64/mmu/head.S | 21 +++++++++++++++++++++
>   xen/arch/arm/include/asm/mm.h |  2 --
>   xen/arch/arm/mm.c             |  6 ------
>   xen/arch/arm/smpboot.c        |  2 --
>   5 files changed, 41 insertions(+), 10 deletions(-)
>
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 33b038e7e0..39218cf15f 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -83,6 +83,25 @@
>           isb
>   .endm
>
> +/*
> + * Enforce Xen page-tables do not contain mapping that are both
> + * Writable and eXecutables.
> + *
> + * This should be called on each secondary CPU.
> + */
> +.macro pt_enforce_wxn tmp
> +        mrc   CP32(\tmp, HSCTLR)
> +        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
> +        dsb
> +        mcr   CP32(\tmp, HSCTLR)
> +        /*
> +         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
> +         * before flushing the TLBs.
> +         */
> +        isb
> +        flush_xen_tlb_local \tmp
> +.endm
> +
>   /*
>    * Common register usage in this file:
>    *   r0  -
> @@ -254,6 +273,7 @@ secondary_switched:
>           /* Use a virtual address to access the UART. */
>           mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
>   #endif
> +        pt_enforce_wxn
>   

Can you move ^^^ to before "#ifdef CONFIG_EARLY_PRINTK" so that the MMU 
related functionality are bundled together?

Also AFAIU, mov_w has not effect on pt_enforce_wxn().

So that I can create a function "enable_secondary_cpu_mm()" - similar to 
one you introduced for arm64

/* This will contain all the MMU related function for secondary cpu */

enable_secondary_cpu_mm:

blÂ Â Â  create_page_tables

mov_w lr, secondary_switched

....

flush_xen_tlb_local r0

pt_enforce_wxn r0

ENDPROC(enable_secondary_cpu_mm)


- Ayan

>           PRINT("- Ready -\r\n")
>           /* Jump to C world */
>           mov_w r2, start_secondary
> diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
> index a5271e3880..25028bdf07 100644
> --- a/xen/arch/arm/arm64/mmu/head.S
> +++ b/xen/arch/arm/arm64/mmu/head.S
> @@ -31,6 +31,25 @@
>           isb
>   .endm
>
> +/*
> + * Enforce Xen page-tables do not contain mapping that are both
> + * Writable and eXecutables.
> + *
> + * This should be called on each secondary CPU.
> + */
> +.macro pt_enforce_wxn tmp
> +       mrs   \tmp, SCTLR_EL2
> +       orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
> +       dsb   sy
> +       msr   SCTLR_EL2, \tmp
> +       /*
> +        * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
> +        * before flushing the TLBs.
> +        */
> +       isb
> +       flush_xen_tlb_local
> +.endm
> +
>   /*
>    * Macro to find the slot number at a given page-table level
>    *
> @@ -308,6 +327,8 @@ ENTRY(enable_secondary_cpu_mm)
>           bl    enable_mmu
>           mov   lr, x5
>
> +        pt_enforce_wxn x0
> +
>           /* Return to the virtual address requested by the caller. */
>           ret
>   ENDPROC(enable_secondary_cpu_mm)
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index bf2fe26f9e..a66aa219b1 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -216,8 +216,6 @@ extern void remove_early_mappings(void);
>   /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
>    * new page table */
>   extern int init_secondary_pagetables(int cpu);
> -/* Switch secondary CPUS to its own pagetables and finalise MMU setup */
> -extern void mmu_init_secondary_cpu(void);
>   /*
>    * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
>    * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index f3ef0da0e3..3ee74542ba 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -322,12 +322,6 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>   #endif
>   }
>
> -/* MMU setup for secondary CPUS (which already have paging enabled) */
> -void mmu_init_secondary_cpu(void)
> -{
> -    xen_pt_enforce_wnx();
> -}
> -
>   #ifdef CONFIG_ARM_32
>   /*
>    * Set up the direct-mapped xenheap:
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index e107b86b7b..ade2c77cf9 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -359,8 +359,6 @@ void start_secondary(void)
>        */
>       update_system_features(&current_cpu_data);
>
> -    mmu_init_secondary_cpu();
> -
>       gic_init_secondary_cpu();
>
>       set_current(idle_vcpu[cpuid]);
> --
> 2.25.1
>
>


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:16:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593547.926540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdmu-0001TV-DK; Thu, 31 Aug 2023 09:16:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593547.926540; Thu, 31 Aug 2023 09: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 1qbdmu-0001TO-Ag; Thu, 31 Aug 2023 09:16:28 +0000
Received: by outflank-mailman (input) for mailman id 593547;
 Thu, 31 Aug 2023 09:16:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H3Cb=EQ=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qbdms-0001TI-PP
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:16:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0dfc23c7-47df-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:16:23 +0200 (CEST)
Received: from DUZPR01CA0170.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::28) by DU0PR08MB9582.eurprd08.prod.outlook.com
 (2603:10a6:10:44a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 09:16:20 +0000
Received: from DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b3:cafe::8) by DUZPR01CA0170.outlook.office365.com
 (2603:10a6:10:4b3::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.22 via Frontend
 Transport; Thu, 31 Aug 2023 09:16:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT040.mail.protection.outlook.com (100.127.142.157) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6745.20 via Frontend Transport; Thu, 31 Aug 2023 09:16:19 +0000
Received: ("Tessian outbound 30c9f5e988c5:v175");
 Thu, 31 Aug 2023 09:16:19 +0000
Received: from 1f6df135909f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4FFC745B-BCE9-4AFA-8EFD-C4B0C4CFB423.1; 
 Thu, 31 Aug 2023 09:16:12 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1f6df135909f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 31 Aug 2023 09:16:12 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM0PR08MB5299.eurprd08.prod.outlook.com (2603:10a6:208:18d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Thu, 31 Aug
 2023 09:16:10 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::7083:22dc:6b5f:5965%7]) with mapi id 15.20.6699.035; Thu, 31 Aug 2023
 09:16: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: 0dfc23c7-47df-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2gV6o0mJXmYYenb52GGDLmMRJ9Hnzl1dtlqzeXo3x60=;
 b=6MDIYobqKIePvQ+OCpGrOYLrzGHMBWpsjYDltbzDmL7CX2q6Tl8xyZJ1c1t/0yIQDS5H8HMsbD7gWWugXGNjSOb1QG2tuX8Q7M/ZmuKHedCOApeectlPlea8VaPx/Tc4TzMeENS+c3VdR7mRGMantCM5ZrC38zNNrsDRpk6HjcQ=
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: b9699ab0a075956e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hl/yNSPLOK+84dItMX+TXLNksSK0he8uBTqTAJ2L8qalQVnXbDGa2jw7YHDpWpiP+ZAcJFMCMY8DH0HdX4t78M2pcq92kADA+lCICElTd1BtmoNW8xTxVBOd2k4uX7ZebR7cU/AR1hkgnxSHeAag/cPKdyV3SvoeIjLBLTj4Fn7UIsq9TlzIyEaEX9StkAD/WNJpOcbA0brkolD8hRsbEJGZ7ZUYSREIjDDYKBWUl9ssFFzNuLgrrf3tnbTRo8wAW4sgpNdacmaIdCdtfxQ4bN5tX32eKIerSWU4KYTAr4Du5GTOGKe/ei580IkMYnq6Wq1k6ObY+UvrZYgN3XKVeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2gV6o0mJXmYYenb52GGDLmMRJ9Hnzl1dtlqzeXo3x60=;
 b=kThBQnesmnX9byV0nSljq/qbIWYQS5OdzhVfVEqYnV7KRSaXWAFA6dE43UiWx0IPv7JWGhMyvM/KmNTdHNvd71+mYel58k+xya26WmEh2lhM9LCFZSQNE4ygy1GXq1AjcW1ripoamLYFv7Qw4daYxE0HdwrmMZEcqCUlqjLL1yy23/huA/NwsvNufmAcU5ZB8D8SjkCs3XizmzgGwaf89apP1VRX88KfCVhLYOW1jJHMkKs6njLNf8AACKsgggI7myTo0WKaBkNhzHZihuuKC0nmH9SqhlKWVbOX+DJxP5mloV/VhTIj3JdeJTTcR5deekraldSAmjYnvS7TYaINZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=2gV6o0mJXmYYenb52GGDLmMRJ9Hnzl1dtlqzeXo3x60=;
 b=6MDIYobqKIePvQ+OCpGrOYLrzGHMBWpsjYDltbzDmL7CX2q6Tl8xyZJ1c1t/0yIQDS5H8HMsbD7gWWugXGNjSOb1QG2tuX8Q7M/ZmuKHedCOApeectlPlea8VaPx/Tc4TzMeENS+c3VdR7mRGMantCM5ZrC38zNNrsDRpk6HjcQ=
From: Henry Wang <Henry.Wang@arm.com>
To: Ayan Kumar Halder <ayankuma@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>, Wei Chen <Wei.Chen@arm.com>, Penny Zheng
	<Penny.Zheng@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v6 08/13] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Thread-Topic: [PATCH v6 08/13] xen/arm: Fold mmu_init_secondary_cpu() to
 head.S
Thread-Index: AQHZ2U+hoB0xrFr/oU+WCBP7wHF2i7AEJAQAgAAA3gA=
Date: Thu, 31 Aug 2023 09:16:10 +0000
Message-ID: <CE8AF1AE-8F01-4DD8-86EE-12C4AD18E4A0@arm.com>
References: <20230828013224.669433-1-Henry.Wang@arm.com>
 <20230828013224.669433-9-Henry.Wang@arm.com>
 <19a8b434-3b2d-9e3d-fc05-fc2828d1abbd@amd.com>
In-Reply-To: <19a8b434-3b2d-9e3d-fc05-fc2828d1abbd@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM0PR08MB5299:EE_|DBAEUR03FT040:EE_|DU0PR08MB9582:EE_
X-MS-Office365-Filtering-Correlation-Id: b3499bb0-637e-4d5b-997c-08dbaa02efc3
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:
 GPgZ1noLFXpl+Dp7pp7F9cKYqK0PPlUZnP6R1/Rp5JTfUt53nAn2Ji4W9OEgbuLMpwk7ox+/DKX+3vv9Bex3HIf7X6y7IQNYpaxxnHpa3T29yKBJcYnVs68fSqlUFYOGbkTwq4AkimjECqgjtXqqaEF+ThivRFUX3gScCKlcYNjBIUMLRgoCxu71dCRifNrOO6lkqZeDmXMpVy4gqZiuuPl0OV0771OmGvmj1OgNjldgzUOSCK6Sqnn0BqaS3SZMKBWNe+aszRAQUw7bdCa8sdNWRfw9M1b5tdnW02lEKJfVZ1CcJlZZLLDQ+9fbMGSrFs/TqMP31sJ/R3jchllNQ8t7MAKpCH0d+WXO/FdMP7QzzhFAknjM/c/YRXrnWDnXSrvOtHPJEUr79IA0HseBv3sD4bjG7/Xo7F8N4ZOH1OEd95eQ045D5IN/uTGLGq48lxeU1ab2+DHf/wCFRp07JoDaFRj+mA8dlVW/8WDZKIGARB06nwuEMe/+6oNGwgEFsDELHbYK1esZPNc0NnH1oUgrBELBldvmhLPK5jbSs6JAbgkATGCJ5cGLvo54QSJvc0FcrqP4hQIcsBQsJD3LPIzTvklOcSe5cXTP9NwJZuJ/w9uJupz03JJAccVV+fEab6hzQqoAS8tjk7zbK5nxYQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(39860400002)(346002)(366004)(1800799009)(186009)(451199024)(6512007)(71200400001)(6506007)(6486002)(36756003)(33656002)(122000001)(38070700005)(38100700002)(86362001)(2616005)(2906002)(26005)(53546011)(83380400001)(478600001)(91956017)(76116006)(66946007)(8676002)(8936002)(4326008)(5660300002)(66556008)(41300700001)(66446008)(316002)(54906003)(6916009)(66476007)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <02B3C96B7695884586EC9C72671CEE85@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5299
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	80e47688-3c63-48ce-9f9c-08dbaa02ea5a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qODSwns+GSO4jipE9hXe6XVxB0ZfrwQEfPYvgpViPyBKLJnVy+03A5LljSAKXh/pT7llwuq9HxNC49B4tXrSiW9VScOYV2wuGEbDi8DiucuZrdDj9cf9SfQB3nPCiqDqmtTX8tUvFX3dY2RJeJY5ozGI1kVCCknPgfwHmX6J8idn/LC3fSiRZ1RYVDGuS1zbdi3tD4Vn9YVBunxmBhLoYnV17VUnqWUqxH+8GWc6HZFn274gBqIuCDSo5Z3PaSEy2c9/wm/0Ioby1ax3ZC6iuQfwJLUpgT/ollAKpc8W7uxyMnVo9TKT/AkpNbJtSVzFVcqQtYwiH1W80FkSAkKJPbwwCWf4RZyNsjDlu1IIjw7XFN/C8mRoNW8eo7lL+XX2kgsIBc9hzcTjahe94ki83y2VW5ywxxewuk6wknUQSA5pxhMRl576pkwzX8ncDddJBCGjiycgOz9G4z6jy5oh3NznoGISpfLQsucl8wSE1CazzmKlE7DDdDAw/NMEn9d5R+HT2whB+c3IQ0+dM7koQEATeFOBj7vQKviLEpuFKgZWzTwDppClcoeXbSOqrQdR73iNpJbxXWxd5y51NLXbOjXGggyrKhVLj0wtAw7cLg9BGiYBaumsVJBq5EJO+rcO6CZlL+rNkOrbSSCHoTx4E1vfpq21/K2N1yiMdZKEZJJbvXplITVp4KhdcPOWfcuQpjbhoqOD0rWuCn/IgqcEif/ULvl8fYxqyd8gqeeVed2AUehz9/21y1hs3mwXwOaB
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4636009)(39860400002)(376002)(346002)(136003)(396003)(82310400011)(1800799009)(451199024)(186009)(36840700001)(46966006)(40470700004)(41300700001)(40460700003)(81166007)(356005)(82740400003)(86362001)(33656002)(478600001)(83380400001)(2616005)(47076005)(26005)(336012)(107886003)(6512007)(6486002)(53546011)(36860700001)(40480700001)(6506007)(70206006)(2906002)(70586007)(316002)(36756003)(54906003)(5660300002)(6862004)(8676002)(4326008)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:16:19.2130
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b3499bb0-637e-4d5b-997c-08dbaa02efc3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9582

Hi Ayan,

> On Aug 31, 2023, at 17:12, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
> Hi Henry,
>=20
> On 28/08/2023 02:32, Henry Wang wrote:
>>=20
>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>> index 33b038e7e0..39218cf15f 100644
>> --- a/xen/arch/arm/arm32/head.S
>> +++ b/xen/arch/arm/arm32/head.S
>> @@ -83,6 +83,25 @@
>>          isb
>>  .endm
>>=20
>> +/*
>> + * Enforce Xen page-tables do not contain mapping that are both
>> + * Writable and eXecutables.
>> + *
>> + * This should be called on each secondary CPU.
>> + */
>> +.macro pt_enforce_wxn tmp
>> +        mrc   CP32(\tmp, HSCTLR)
>> +        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
>> +        dsb
>> +        mcr   CP32(\tmp, HSCTLR)
>> +        /*
>> +         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchroniz=
ed
>> +         * before flushing the TLBs.
>> +         */
>> +        isb
>> +        flush_xen_tlb_local \tmp
>> +.endm
>> +
>>  /*
>>   * Common register usage in this file:
>>   *   r0  -
>> @@ -254,6 +273,7 @@ secondary_switched:
>>          /* Use a virtual address to access the UART. */
>>          mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
>>  #endif
>> +        pt_enforce_wxn
>> =20
>=20
> Can you move ^^^ to before "#ifdef CONFIG_EARLY_PRINTK" so that the MMU r=
elated functionality are bundled together?
>=20
> Also AFAIU, mov_w has not effect on pt_enforce_wxn().
>=20
> So that I can create a function "enable_secondary_cpu_mm()" - similar to =
one you introduced for arm64

Sure, I am good with this if other maintainers do not have any objections.

Kind regards,
Henry

>=20
> /* This will contain all the MMU related function for secondary cpu */
>=20
> enable_secondary_cpu_mm:
>=20
> bl    create_page_tables
>=20
> mov_w lr, secondary_switched
>=20
> ....
>=20
> flush_xen_tlb_local r0
>=20
> pt_enforce_wxn r0
>=20
> ENDPROC(enable_secondary_cpu_mm)
>=20
>=20
> - Ayan



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:24:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593555.926550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbduZ-0003KW-5X; Thu, 31 Aug 2023 09:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593555.926550; Thu, 31 Aug 2023 09: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 1qbduZ-0003KP-2u; Thu, 31 Aug 2023 09:24:23 +0000
Received: by outflank-mailman (input) for mailman id 593555;
 Thu, 31 Aug 2023 09:24: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbduX-0003KJ-Fw
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:24:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20614.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28a4d133-47e0-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:24:18 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9134.eurprd04.prod.outlook.com (2603:10a6:150:25::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 09:24:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 09:24:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28a4d133-47e0-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jRHLl6yc329zWu6VWroqRbOqWdzffccRqGAJ+bPCMRt7v3DuOAnA9KZs4CUqIrFvbnfw2eZkTaleYbt9RRYKa551VgGhJ49YokQyRYBzy9v57OZ6DNCg1jI9d5cc3Blz6ddmV1dxxdL+bgFkblxu1sNY24O3HEDofw/9H6sfse3+TkKpdO5sDzdHPYqyAzZ9EmC958eJkBZGm14ukcYikP5rxuaCOO2e3I/MAynz1QDZ8/Ey0yozp1+d+YFsSlcsqji5qn1KP4S+viDJoLqmc7W8TvVXxS+md9omQpf7HU4oybUY9mkFTq1X3ZN5390clIgY2dCX+YqtbakcKmddwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CQ0PLe+WtKPy3GfzvVjreGQH1XpqazgsXE3D5NO1w0o=;
 b=oe4ZRp67ZnE/Eh+e8pAII3EnNS2YJS1cLrrSwNI9EYQCakqpcZRaf4MhxO/trrSEoSkpgPOv5/yX3pby9+jJSS7eTJUTMQT9q8fc63fw3Egbytf9i7IkXAzD+nvULl5sV20q6jrecdplocuMY5BZQOz8LZXYKUBXYVBzVDmWV4nlryjWvzbMO7e1/GATP8gaUFJ00MelaRJjGqdnLUa1LNsmkJtwSyR18G2zTx5bwPCX5S9hIO6kMCLDLazDr1dk9+RUGhpmKix+WaGY3ywBMwF7Vo/U9SFfvLPDhdl+O9RnydntM+rTbwgGWoxTbY2Wb36qUIaXQ8nPY+4rzrIS5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CQ0PLe+WtKPy3GfzvVjreGQH1XpqazgsXE3D5NO1w0o=;
 b=miuIoA/xo39aNzHFEXKvPcU74/4yMjtABrza60dTbM3sdveOU99I7IqjnP80+1opZUJZZEshPWKStqyPjIwkObeoJ5kh+C3U4Pkv6NIbq2n90Pz6yKRTbOR0pvSSga2mJ6sHvAw1Y7L+k3cT5MRjI/xGoxTv0Ypx1Em/uerZJUjCf/NeEfirS2ZL26yHCANczXV5g7saBsQFtbBG2v1fLj3ogmKbVb8I4KUhoVqXAu9B3etYLVH3YM7xNVVEWFP3wU9Wc8FWQ10eyeEA6vqxzZwbv5EF/pGpwotCZ9CDn+ikhjIAM10fbZbWwz+uPsPXqqpPniAysUnxcOn/8OG1XQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d41a7b04-4bc0-8c69-b310-157df6c84b27@suse.com>
Date: Thu, 31 Aug 2023 11:24:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 05/13] automation/eclair: add deviation for usercopy.c
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 nicola.vetrini@bugseng.com, Bertrand.Marquis@arm.com, Luca.Fancellu@arm.com,
 michal.orzel@amd.com
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <4039623dc4341758f383ec49228c1e55e5862b0f.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281512360.6458@ubuntu-linux-20-04-desktop>
 <04f03604-e788-0d76-1ae8-8bb74c6b4c7a@bugseng.com>
 <alpine.DEB.2.22.394.2308301855110.6458@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2308301855110.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9134:EE_
X-MS-Office365-Filtering-Correlation-Id: 767f0ade-f593-4460-2174-08dbaa040a4a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ma9JA5KbOrbgDntV1RoDG/LE6BndzI1cNbl154oqJd2fXcajFGE7oCrqQHhtNw7hvhjKB5TY6AV09q2iyHJWBYnSNAIY3sRs2dWU/+68pUL7HI0fCD+aLiQs3oLBWpEPiRuyIwStfZIfCQ5sAsWhaf8VKwGw79MDu+PP1Pg5dK/NsmoN8fXh6UikuDZtoQBhhCZzo/y/Nh7ShH0mX7mEj7ybDK7iOkVaQsOkjkG81wis3oWOKuYAp68SmeiWktuQJETNK7MMhVu8Ik4O/bvXh44tWCQdvOFasZMKd2LYq34WfuOLH2lc1K9nvKwrZY0p9UQJbX8TwO4B8x4xY/qpc5AMjeXeHXmnS9f1QcZot2qMfP5gVs/ouJ1oPYsvurij2PcSsphsZU5tP6p3NKsWFtfAt1nHkd2Rs1Si27wNiEeVdV4dh50rGLRCCL7OwKyIY8EO2lfDtWpsL5Qt2buZlAG7YLg7QE/X7D6weAQY86R3VatPWzg/Rf/bGiclkCBfnuLWUbbtFWfd5iX/AFHvbx+C2LgRSE1zhxrsSzHVaHu7p1DMIDv+q9tkVwskeVXEJd9Y2w/zWypajhVJkwnBx2TPZCpKQ+FKQWfGX67HK++hUMuh5GhxlN4iJu3YdGJBRoqueccPc1UkPC3wLHBPZw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(366004)(136003)(396003)(1800799009)(451199024)(186009)(41300700001)(7416002)(31696002)(86362001)(38100700002)(478600001)(83380400001)(2616005)(26005)(6512007)(6486002)(53546011)(6506007)(66556008)(66476007)(2906002)(66946007)(110136005)(316002)(36756003)(54906003)(5660300002)(31686004)(8676002)(4326008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzNBeU5JdUFpWDI0WEdsdi80UkgvNDNjU29USnQybHVpbFByakZhNXZlTHk3?=
 =?utf-8?B?cmpIUnRyWE00VmRSdGZmaGdjdU95N2lMaGlHK3ZqU0Zmenk2MDBJczY0bkR2?=
 =?utf-8?B?WE5iOW50d0RkSkw0VUFXN0FmaWUzaGhxM1ErOGpaVmRkMFBuaUk0WitMSVVz?=
 =?utf-8?B?TER6SUNMUFdMakl1OXorS21RR3R0dllLN254dG5TTHJjcWRtVDFuS1FEdnhX?=
 =?utf-8?B?Ly9RRU1sZUJnK2lJcnFTeWVwOWZOVjREMUtKbktQaGpJNlJLZlNkUE9sVDNu?=
 =?utf-8?B?UjI0QWg3WVhYVWM1VFRkMElHT291bDFXSnhIMUFDKzduMml4akdpbEVhTzdD?=
 =?utf-8?B?My9iME9HaXRuTjVPVkhHaytaUURiMEw2eGVjRVRIQ2ZjWTVNeHpXZUpleXBk?=
 =?utf-8?B?YzFPMlAwSXY1dGQwcTljdFNSbVczc2pFRGxtUW4raFpoUHJPNlhod2F1U0Iv?=
 =?utf-8?B?cUpVbWZvMnVLNThUczRDQlkyNGlWM3JRR1RIMkNHSUhJK0V3VEkraXZuRXE2?=
 =?utf-8?B?MGhGNmNFaTNFc2Q5akVIUnFja2pMMm51RXNvNVc5YWluRTZ4a0U5SlRuRmZa?=
 =?utf-8?B?QkdEQ2FpaHpCcVA5dnJjYlVPalkrRUk3c1BEY0FsMkhBdlcrRm9BWnlnZTA1?=
 =?utf-8?B?aHhpT08yd0ViN1VldEdmbkhERC92aURURVdwMTZuMjlYcHZCYjRENXdNbjJX?=
 =?utf-8?B?UW0yNlpranQyMUVOTWMxcmVNVWI1R1p5RVJCSDNKTjB1V0FYVGF6WG9xNUlH?=
 =?utf-8?B?NjZIb0NjVEppZ3FmTVpDeFZ1Nk9WSmE3dmh4OVZ6bnlUQWV5SFBQbjh3aXBE?=
 =?utf-8?B?RUhQbFRLTjNyK0t3SFJKMEM4NFRibXQrUUFQTlFLREluVUU1WVJobElGelg1?=
 =?utf-8?B?cTNRQ0Y4QWQxM0NJSTdvRllXcG9uZDM0UWZBbTh5V2J2WHIyOUtKWGdWdVpG?=
 =?utf-8?B?bnhEQkc3bDJRMmRXbW1yYis5TUlkT0tpNDNCQnJtRHliQk84SGlsemZhU3Rz?=
 =?utf-8?B?MGpPalFCZ3BLZHowRHdhYzkvdldDWEZWQUhuU1U5QllNZWNMeDR0RkpZd0FQ?=
 =?utf-8?B?MmxuM2FLQXMzd3dBTGx3NGhvRjBRMm9hdnBkeFdkN214eUJHdzdWbkorK0N4?=
 =?utf-8?B?dndxVWU2Ylg3N0krdGVYVm5mTjRPengxVUpScWVzSi9pM1RZQWlGWTFSa2t4?=
 =?utf-8?B?V3l1K0xYRjh6SHdCRnR2T1RlS1EyeVlZdTVyc1d0RzF5Z1RNS3ZQMUVwTWJ3?=
 =?utf-8?B?R3dwa01VVWNLYlNXMjQzRWgwMlcydWRyNzhYRGRnSmx3aXF3RDNXcWRSQUlh?=
 =?utf-8?B?VzByN2VSdCs5MWxFMXZ0dU0wcnUwOGZFTExtaXNkYXE2UG5Vcjc1OE1qSm1Y?=
 =?utf-8?B?Q1A4WEVZemN2dllYM2dIMUR1WnQrR0NYc21BdWovUEZWK1IvRjdlUDBGcDNX?=
 =?utf-8?B?MjNMNmpJaWJlZ2Y0UHdyUTE5NXIvM041bmVSOHdUWkpKY1FoeVJEMHhRcFBl?=
 =?utf-8?B?Uno2TEhPamY5QjkyMTdaMjRncDBqNERpU2E1OHAvZnB5QU9FMWplT0w4SU1U?=
 =?utf-8?B?cXdiOERHYlIyWm5EUm9ZMTVRMG1rNEdTWEt3K3NhNlBhWWE2L1oreG9SdzNl?=
 =?utf-8?B?blB0L0xaVit0ZG51MFo4REN2aWFmZHRoWXgyQ3BCL1pCMlhyRmZvQ3ZHOWxl?=
 =?utf-8?B?cklXWXl4SUdKVU9LOEZMNUIzRTlxbzdyRmxDTmNDeXVhSTJjaCtZcERDdnZl?=
 =?utf-8?B?UHJzY1RudVlBT1hLUmxKalNFUjNTTkFoaytJU3pvVDZqMit1K1pzeW9qQlZS?=
 =?utf-8?B?dHBRamlic1FuM0QxbmtlWXN4SGE4cWQ5OTZVOHdCU0RqUUtRODZBMHByUFZV?=
 =?utf-8?B?ZnQrSXJidldoUjZTVXc3L1k5MlpPSDl0aXVjeXpFSWp5ZkVGa2l6WEJIbmw4?=
 =?utf-8?B?bDNtZTF1Zmhja25RNTJjSlg2QlBEdVRTSjN5MGR4TjZUcE11VFUzY3Mzbnpr?=
 =?utf-8?B?MVBOb0s3UkdzWE9PaFdMeVE3YTRodmJVdTdaQzNVMFg5TnFlUE12UWdBQkc1?=
 =?utf-8?B?TWYvZ1ZqbFhnTnMyQktyQ3UwNlJTWmQzT2lwQ1V1cDVPeDhIV3Y2WDNnZnJv?=
 =?utf-8?Q?gI9x/lgy8rWdhtGuN9Zb9N8Uj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 767f0ade-f593-4460-2174-08dbaa040a4a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:24:13.3609
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: urmi7R0MEy44h9vzl3hBzFsHdtqF6cFGJVZLXu+xB99RYnS33QfuPWKt1V9NKta1PL9PqTHro3ChDfJrGpi1UQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9134

On 31.08.2023 03:56, Stefano Stabellini wrote:
> On Wed, 30 Aug 2023, Simone Ballarin wrote:
>> On 29/08/23 00:27, Stefano Stabellini wrote:
>>> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>>> --- a/xen/arch/x86/usercopy.c
>>> +++ b/xen/arch/x86/usercopy.c
>>> @@ -1,3 +1,4 @@
>>> +/* SAF-1-safe */
>>>   /*
>>>    * User address space access functions.
>>>    *
>>>  > Otherwise, maybe we should extend safe.json to also have an extra field
>>> with a list of paths. For instance see "files" below >
>>> {
>>>      "version": "1.0",
>>>      "content": [
>>>          {
>>>              "id": "SAF-0-safe",
>>>              "analyser": {
>>>                  "eclair": "MC3R1.R8.6",
>>>                  "coverity": "misra_c_2012_rule_8_6_violation"
>>>              },
>>>              "name": "Rule 8.6: linker script defined symbols",
>>>              "text": "It is safe to declare this symbol because it is
>>> defined in the linker script."
>>>          },
>>>          {
>>>              "id": "SAF-1-safe",
>>>              "analyser": {
>>>                  "eclair": "MC3R1.D4.10"
>>>              },
>>>              "name": "Dir 4.10: files that include themselves",
>>>              "text": "Files purposely written to include themselves are not
>>> supposed to comply with D4.10.",
>>>              "files": ["xen/arch/x86/usercopy.c"]
>>>          },
>>>          {
>>>              "id": "SAF-2-safe",
>>>              "analyser": {},
>>>              "name": "Sentinel",
>>>              "text": "Next ID to be used"
>>>          }
>>>      ]
>>> }
>>>
>> In general, I prefer the first option for such ad hoc deviation (the comment
>> at the beginning of the file): this way, anyone who touches the file will
>> immediately see the comment and think as its changes will affect the deviation
>> (is it still safe? is it still necessary?).
>>
>> To help the developer more, I think it is better to also add the "name" in the
>> comment, this is my proposal:
>>
>> /* SAF-4-safe Dir 4.10: files that include themselves*/
> 
> Yes, this is fine, it was always intended to be possible to add the
> name of the deviation or a short comment in the in-code comment

But then either the directive number wants omitting, or the Misra version
needs to also be stated.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:28:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593562.926561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdyj-0003wU-M9; Thu, 31 Aug 2023 09:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593562.926561; Thu, 31 Aug 2023 09:28:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbdyj-0003wN-JF; Thu, 31 Aug 2023 09:28:41 +0000
Received: by outflank-mailman (input) for mailman id 593562;
 Thu, 31 Aug 2023 09: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbdyi-0003wH-5A
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:28:40 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3d282a2-47e0-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:28:38 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8603.eurprd04.prod.outlook.com (2603:10a6:20b:43a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 09:28:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 09:28:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3d282a2-47e0-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n7DF6LsYalU+nuqcyeNaETMtNr2NBDRwRqvygTCnp6AruVGtkn259KevQ4BgRTAJq7wjorlWAPrrHlGf7Ztvvtuwn9iu+zzc1R7nuOhnszGJ5KUYcmYPBOPwlhBAgZJnpP+m41OxrCxXMNE3xrlQjxR+7D7MEhnIbQVmm0ST9DoFBfGzLfKtvBtZ/WigHCJ2ER0P6mHX00GGXKhXeF+j97H2cgknNeEGx9mXn0fNW3Jw/Xfn+9DD9iBjVunLrtyWegMNELynhkgSg7nck0czB0ZXVkO3EkKa3oClsf1cgAgB58zqQYcvYPHjlIhrxnDC1mur61fVGYizMEA5qdi/dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2QUAgFrJtAGTeOb+9lVw09OYL1UkH/W5XKr1yWb31sU=;
 b=ZsGBjsMFyawXkBdwZYJVJAKZ/H3NvRayY3sIBUkuEOU0Ef5qpJTvkwOJWL+Kl/tHWNykRWsT75udpTr+j5QMSrT3i7uQ51su4/p1sd7UTRm71YecMVl6mFmgA2xJ58GHUvPGwCUCib0tov6XDaJc/faYv5AAVXg37nX4z8zHwks1sCazyCEWsmzIP9XrnnmptahlsKCFl5m9SdDTdFO9lZBK53AGhmDSLyATZaVq7l2n/UDBO3FpgkpLLA4Y8zq39xbmXIor8zyFBXF+yl1KbcSnWYXgNHCzt3LBjUwEm6XSsqBis2qV5kNNTcRRYvwXJJMJkZtsg8EAUoVxwSdkMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2QUAgFrJtAGTeOb+9lVw09OYL1UkH/W5XKr1yWb31sU=;
 b=eMl4sopjs16ATZePEoiAb4wSCshlVw/OCHUiPqQGumOpkp2rqsWKF+9oqirrEgwTSEmiazdMnqKrlZlqRF14/Ss6CmqjNI9H8egJQrtVObVCgIa6O6k5cSrEbhpsje7bU3344/QlmmgqkQ6OEGnzrUT0cnqHSICTaJWIj2IKr9ERh1vTLEk4lZUD4Ozqa1tx+xe8bcKL1CfWX0f/YG8JLoZtoCMjssQ3TJ9g75tJ1otiGH+lpPkdfCy+8fGBmYtAjrbvk0DJBU9ihg9KOQDsPB/gA8IMVqRc4hDHV4XyE83T1S7zyGdWGGnUEdJ5oiud1CQFpL0O6HmTBSp6FD4iOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <58f72b39-701f-6f7a-eba7-fa685d35b8cd@suse.com>
Date: Thu, 31 Aug 2023 11:28:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2] docs/misra: add 14.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, julien@xen.org,
 george.dunlap@citrix.com, bertrand.marquis@arm.com,
 roberto.bagnara@bugseng.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
References: <20230831015316.531167-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230831015316.531167-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8603:EE_
X-MS-Office365-Filtering-Correlation-Id: 1376e15e-85e5-4c6c-86a5-08dbaa04a6dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pH8gFnIBvRRjBlDDr3jc2VBpIF6hIpfrkJfVoaqBNwcTmZOIBLwKxZiiJ9Q5XYO7Z+FfJLd6jFiyY/rYHkI4C8EjpdxWzYkS4vlCihiy8XFjQ/DDXl3Xurr8zx8Ws9/UeOfYFjYsRRrxvS4mF3nhJ6wCpR2cqp0cWBCA9HJ5Ql2GH0KIfoKBPPvAsa9Pn54EXgKwiw+mfA3t0K3NZsPXNyYp/S2dpKCnYjknk+Ge6U8bhfZW+MDcHbhlpXV/8AAZcNDt6vFmRTIdHx3v9v6NVpJyMcBKr/kbI2EwDSxeELRG6E0gpt+wSpyCVPUVcez934el2PvIj9wNCapKOYByfNqeSMqV938pi3QUyKAhVtTpaZsOuX0v59PmHxv7uVeJr+UKtrGYkxW02FuhhlDWcl9G84ftJAruQFI+dIG7kC/u5mseKDvvup2qlfW5g0ujTAuEb8/zjLLYQTzPIrhg21o/wXRJNRzQaNTK3WY6659XmN5YqFkXp+53Hzq0TiryZveuh5gVRUibLD4MwruAiHmDF4N05d3Q+JI+TbQudJVP2m01QVJrhnOU6w4p79tTTDNeCWcRH+/wFN6gbmo/+Inf754ZkEhlU5r4mALaibD+l6vQbZVyKTs2/G/kYrFZQRzA9NtxJ7PVviccI0YSwA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(136003)(376002)(396003)(186009)(1800799009)(451199024)(6486002)(6666004)(6506007)(6512007)(53546011)(478600001)(83380400001)(4744005)(2616005)(26005)(2906002)(7416002)(6916009)(66556008)(66476007)(41300700001)(66946007)(4326008)(5660300002)(316002)(8676002)(8936002)(36756003)(86362001)(31696002)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDMxOHNva3hMNytwV1dCd2lJYWhRWlZwQkN3UmkzZEVvamRnaEw2Rld3VDFy?=
 =?utf-8?B?d3FPdWRZV1I1Nk5WNythOXhWQWtZMjNtNHREbjJEaG9wZ2VGYXRZYk9FZHRB?=
 =?utf-8?B?NFA5Vjl6MXp5VTdaRXk3aXlLZzJZRU5aQ2UrU2NrTkxVOHZvd3BiMGFMZHVi?=
 =?utf-8?B?eHZ2TFRCWmlxVHZianAzbTR5NHl4SnR2RjA0TTd5eS82My80QzNUc1RCVlZI?=
 =?utf-8?B?K1JBNC9rbXBSRkhhUGs4dFhVZnh0MDFEZ0VFWG5FVDNrcTFVWE85emJ1eFhm?=
 =?utf-8?B?L0x6UlJ6OGkzT1N1bm50NEdQRGRwc2hTeEhtR3RvdjhEU2YwbzRTaDZiSVZr?=
 =?utf-8?B?SXRzN0dBZWc2cnhzTHlmengxbFkwSW8rbkVHcDdscnBnMnpkWjJlWEErckpT?=
 =?utf-8?B?T1JHY1ZpbUU5alBQdGpWNjNrUldWNndPZWxHbkVpR2VCM0VBTXhFMWpoUW5U?=
 =?utf-8?B?OW9taE5ScndVTUxUWDZtMTloY0RUL21mSDVnOTJLSHh6OFczb085VlA5RTBt?=
 =?utf-8?B?WXZtbTl4d2tHa3gyZmwycHR4ckpoRHJZQVZna2dXMTNrTlp4QWpNVkpGaDJD?=
 =?utf-8?B?dXZwdk1xQUxHTHRtK1dRNDVBMWsxRUFIZ09xU1lrTXVqeHY3aWlEZ3loaFZY?=
 =?utf-8?B?Y0dVTTBlbUtITHdhb0FmWHJUSm1ZdjVONzNyN1U2UE9RaHBrcDdVd3hERW5F?=
 =?utf-8?B?MEJkV2k3dGwwdHhkTkxHMFhxMDZxYUNxeHExaExrSEgvcnB3OWZJbUE1RU9M?=
 =?utf-8?B?S1pnYmsvVGlWSmZjZVd6WWJMdW53OThNLy9pWmpsbSthZnB4bloyUm9BRXU2?=
 =?utf-8?B?MEQwVmF6TnhzWnFrbThEWlRkTkJmY3prM0lKMG4vUXFFampRSE8raytIbHJT?=
 =?utf-8?B?YUhXdFhiK21nTFk3MmhUbG9ZVjNJQUFlay9uRDEzOU1DNkozTFlEa3ExcXF0?=
 =?utf-8?B?QlRhUUNEV1dVb1ZpS1BnQ0NnNkYxRUxuZ0hmTGxNRzNvRG02aGZSeFFveERR?=
 =?utf-8?B?dWlERmhEWkZOMzlMZnRnaGhPTlNwMHdxWm1YNm51S0Q4MDJNOVZDbmhQYjM1?=
 =?utf-8?B?YXNGOEdHb09meEk5ckJvdjNlZVhhWVQvcUlmWmNhQmluWTNocHZJOE05QkVn?=
 =?utf-8?B?VHZuUWlwZFlUdTNPeUFOQTJRWFNSVE1wWllQdlcxeVZkaDN2a1BOVFRJZWla?=
 =?utf-8?B?WmlQOHhOTzZrSFQ5VnBjWVJJa2x2WXZHOEhNdHlFRjM2cXBVRTdKVEVjb0RM?=
 =?utf-8?B?WVZMcURtT09wZExYc2lIK3RJUkpoSmR3U3UvMVBFOVhJbGVweVgzL0pmR2R6?=
 =?utf-8?B?b0xycUJiZllNcE1SWVNONktONXdhRGtUdlppazlGWnR1RUZLKys1VlBheDN3?=
 =?utf-8?B?RXdYQnFWeVlrZ0xpWTdWditibU5xc2F4TDM2V3g0dGxNWUhjanMzOVNPMC9H?=
 =?utf-8?B?cisxRUg1YnhzNjc5YmU1d3RyM3dleHhubDdSMmQ2ZTlQQlNMT3RvZGRmYXN4?=
 =?utf-8?B?ekl4SjVjNzRvdERPdHR5NlFOK00vWEdSVlRUVFVxbTRXaWM3Ym1HbXp3cEdh?=
 =?utf-8?B?bkJQc3JuM2ZoWGlvUG9lL2NYT2J4djhqQjVJd3Z1SzVzaTVid3ROVTkrQnR6?=
 =?utf-8?B?Z0J2SHNKTWtNSWc4aG5ISnQ1aHNScGFnNFhXb1VtQ29wVEljVHpqVE1DajhI?=
 =?utf-8?B?UUZTL1lTUGxRa3hYU0J5dVczZkwvenJhRzU5cmcvaTNKWWk5bGhZTFdWK1pP?=
 =?utf-8?B?eE1OY2ZEVVBrS0pENHEvUzFHRVJZcW5XRmw2Mld2SkhGWHFLcHZ6bmJsUU1o?=
 =?utf-8?B?VE15c05wUWJmWjlVN3JoZXhhcUpKZ0tyeFFSb2N6NXNMUHJEVURqM01WTXAx?=
 =?utf-8?B?Z3JtZjcrQVVnVUlGZFNOMERuZVZZclA1a3ZJU3JHOS9FSXVlRXRrUVJZVnZo?=
 =?utf-8?B?TkNrdDNSZzJzdkh5d3lvNjhCcDZvK2tqbjVQRzVQb2VXTjdTSHNIUm5vYXpm?=
 =?utf-8?B?dTN5bmFBNCtnTElSNDZYdGlFZWwrWmI5NUhHbDdSQkUxa2lVQlhiSnd0RDVW?=
 =?utf-8?B?bklIVndUdzY0dENQS1NaYk5iM2tvZVRmUkFqS3MwRmRhZjJORFZVa2pzL2Vu?=
 =?utf-8?Q?cTyUJxiz4pN1m7qdRN/JNePeV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1376e15e-85e5-4c6c-86a5-08dbaa04a6dd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:28:36.0314
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qBdnXI3O4rnX5d8Cu8wShGM0p9WnX8WSI3vzJ8gQD4x0LmOrNYrApfxG1WBSkjOnC9gcVvqbEksrtayQIs+0iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8603

On 31.08.2023 03:53, Stefano Stabellini wrote:
> @@ -332,6 +333,17 @@ maintainers if you want to suggest a change.
>       - A loop counter shall not have essentially floating type
>       -
>  
> +   * - `Rule 14.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_03.c>`_
> +     - Required
> +     - Controlling expressions shall not be invariant
> +     - Due to the extensive usage of IS_ENABLED, sizeof compile-time
> +       checks, and other constructs that are detected as errors by MISRA
> +       C scanners, managing the configuration of a MISRA C scanner for
> +       this rule would be unmanageable. Thus, this rule is adopted with
> +       a project-wide deviation on if and ?: statements.

As before - switch(sizeof(...)) and alike also wants deviating, imo.

> +       while(0) and while(1) are allowed.

... and alike ... (to also cover e.g. while(true)).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:33:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:33:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593570.926571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3I-0005pe-Ak; Thu, 31 Aug 2023 09:33:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593570.926571; Thu, 31 Aug 2023 09: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 1qbe3I-0005pX-81; Thu, 31 Aug 2023 09:33:24 +0000
Received: by outflank-mailman (input) for mailman id 593570;
 Thu, 31 Aug 2023 09:33:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3G-0005pR-RB
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:33:22 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e89::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6be56da1-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:33:21 +0200 (CEST)
Received: from MW2PR2101CA0024.namprd21.prod.outlook.com (2603:10b6:302:1::37)
 by DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 09:33:17 +0000
Received: from MWH0EPF000989E9.namprd02.prod.outlook.com
 (2603:10b6:302:1:cafe::55) by MW2PR2101CA0024.outlook.office365.com
 (2603:10b6:302:1::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.9 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989E9.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.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:33:16 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 6be56da1-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NWpia6LSni2HH+R19FgEnQYCWCD4FSkSL+exj7E2WwupvwdI6WpCu+j/TiBRCGl0PGcfcF7iChmsjMGXrXubmlGykWXmFh5hot4hQuGy9FZFWnpJLTEytJRRdh8Y9/5jzMWVLKQOGKzG6Qj/+5vhh9x5DIeOdTrbamNgk0zlSzy2Ar/OFbLqijdLP86iyhW86flFS+l5iLD0TPoWHZMnyDKMQWvUZAcvqh2XiwuYw1hTIAzN99HW3bShBzPkMFWS7HD7RCeEoMgDP8TndzjSsmYyB73znR4UULrWoXIPUvVGBiGfyTNAMoyKh7a/44BnBZhkhjW7OroShWlcXE6isg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=40iM+fZux/xCi4XmCq6hzMQOQ9bUd0OFvX4rrQtY/pc=;
 b=UU60r8fG+F1JJnuVh3njYnUoA0j36Ri9Ge1O/iRm2NVXokLmvphlFrU7Lps5uy3kdxslZsdyRLZaausYz0bYT15cqjXguzAcuNO/GZcKRlm4TT/1glJOCK/zI6gWzW3Dl6FbFZZjkGruldIrwSNzs8+uAH9gFCEpBm0DuBJVE+bujdJia+ITiS+fO2yfwrI540vvVcvsQoWVSxof9P1DmJw/SZ5hkCypEquXGm9/bWisbFX15b6u7RZHODneIch+7LdbIntSPRutYSfgxaKSuK+IaaUH8UN4XrOW3WHoFst1KvNA/sHyS3PoNwGsUYy7WJar2yixnrMcolUx26y/+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=40iM+fZux/xCi4XmCq6hzMQOQ9bUd0OFvX4rrQtY/pc=;
 b=N/oWC1EG6DRzt1lSSUXsSQ9YalQ4H8wUMdaG1Gqx/4XU6WRECl46UOTtK9wEgnryOfMKNP9yZtTM4kGcGbSOBm5+4rYV62A/zPOjhqVAjKIHWwc1E3BYLo+oquOE+yAywVqogH6wfDpJ15kG1Hauaq75LFBUOXufzWeNSjCVhpg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 00/13] Support blob memory and venus on qemu
Date: Thu, 31 Aug 2023 17:32:39 +0800
Message-ID: <20230831093252.2461282-1-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|DM8PR12MB5400:EE_
X-MS-Office365-Filtering-Correlation-Id: bf3c0d40-ad27-4e8e-874f-08dbaa054e60
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/iHGW0ABY3mH3/L11xmSshoBnuBFKerSyq8+VZw7zz6+m+CjsrIR9MTOBAmZctxICpznEIkv+vCK2EZ2+oPaZmEE5bWvDX4V6c0lkJ6lel278gJITQrFs8ZLYqidcYGvsw5EymjMhrVICA4mWtGKLvu9yw6xJJqQIQkHP89iVywcEw5vLohJ+dQ9GLKIVaGfKFCRIM8Q7kyBECmoD3uDjzP0hzkjTELuVi2HdIwp8tBLiBvpZMqAVfSarMsD9qjr1DosHliR5w5ixpyIqTNBSwKiCz0jTKEHNfKi07M/OrN1s3Fvz4bR1KwiZo3jUIHyFo8xjgKnd7B43vs3s16VvaT/coxurAqol5mDdK1cWU+30Ei5Mk+55T9O3qtzGKtpgrpuEx2X0D6wdnnEgK8coDsAIOpKArtS9ot4HyPr1q8nhfeN77GUCsXLGdixmMplfoBD/V7C4IhbNR9NRBx0qbtyt6hMogr+BaKsZdtkMVgqGqw5IhtcdvsKwxVXz8IaXHPh5T9cLfzygjK+OvPXxKXagAipjbu/0Pwho1e4AKmpgiAHvhhKXIAltZ5L3dMHV7bDBl2Gqg6ng5DALDsxnihiKDUbI+wVpKGJZwGTZ9qizzQoHzvGW8KPoNfPigJT8ta+PFn4iRSm9ixReY48vKBLNh2f5XhQSNEL2KozxSrgbPC7ZE6z6Fx2tQjwe6RQx41BTI5x4oND7b3Gge1mCRrhbP3Hy/oLQtRfnM5XSRt/wl8hf8D6FPewiawwuTL6WBI4dBwuohjB33f/7ZzRAfGsYK5qCeNzCRU9DyivEgWkWDb1LGyUQKSk+BRHHgz6
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)(4636009)(39860400002)(346002)(396003)(376002)(136003)(82310400011)(451199024)(1800799009)(186009)(40470700004)(36840700001)(46966006)(426003)(40460700003)(316002)(66899024)(41300700001)(5660300002)(336012)(4326008)(7416002)(8676002)(47076005)(16526019)(83380400001)(2616005)(86362001)(26005)(36756003)(1076003)(36860700001)(2906002)(40480700001)(8936002)(6666004)(356005)(82740400003)(81166007)(921005)(7696005)(966005)(54906003)(70206006)(70586007)(478600001)(110136005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:16.8001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bf3c0d40-ad27-4e8e-874f-08dbaa054e60
X-MS-Exchange-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:
	MWH0EPF000989E9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5400

Hi all,

Antonio Caggiano made the venus with QEMU on KVM platform last
September[1]. This series are inherited from his original work to support
the features of context init, hostmem, resource uuid, and blob resources
for venus.
At March of this year, we sent out the V1 version[2] for the review. But
those series are included both xen and virtio gpu. Right now, we would like
to divide into two parts, one is to continue the Antonio's work to upstream
virtio-gpu support for blob memory and venus, and another is to upstream
xen specific patches. This series is focusing on virtio-gpu, so we are
marking as V4 version here to continue Antonio's patches[1]. And we will
send xen specific patches separately, because they are hypervisor specific.
Besides of QEMU, these supports also included virglrenderer[3][4] and
mesa[5][6] as well. Right now, virglrenderer and mesa parts are all
accepted by upstream. In this qemu version, we try to address the concerns
around not proper cleanup during blob resource unmap and unref. Appreciate
it if you have any commments.

[1] https://lore.kernel.org/qemu-devel/20220926142422.22325-1-antonio.caggiano@collabora.com/
[2] V1: https://lore.kernel.org/qemu-devel/20230312092244.451465-1-ray.huang@amd.com
[3] https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1068
[4] https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1180
[5] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108
[6] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23680

Please note the first 4 patches 1 -> 4 are inlcuded in these series because
the series depends on them and not because we want them to be reviewed
since they are already in the process of review through the "rutabaga_gfx +
gfxstream" series.
- https://lore.kernel.org/qemu-devel/20230829003629.410-1-gurchetansingh@chromium.org/

Changes from V1 to V2 (virtio gpu V4)

- Remove unused #include "hw/virtio/virtio-iommu.h"

- Add a local function, called virgl_resource_destroy(), that is used
  to release a vgpu resource on error paths and in resource_unref.

- Remove virtio_gpu_virgl_resource_unmap from
  virtio_gpu_cleanup_mapping(),
  since this function won't be called on blob resources and also because
  blob resources are unmapped via virgl_cmd_resource_unmap_blob().

- In virgl_cmd_resource_create_blob(), do proper cleanup in error paths
  and move QTAILQ_INSERT_HEAD(&g->reslist, res, next) after the resource
  has been fully initialized.

- Memory region has a different life-cycle from virtio gpu resources
  i.e. cannot be released synchronously along with the vgpu resource.
  So, here the field "region" was changed to a pointer and is allocated
  dynamically when the blob is mapped.
  Also, since the pointer can be used to indicate whether the blob
  is mapped, the explicite field "mapped" was removed.

- In virgl_cmd_resource_map_blob(), add check on the value of
  res->region, to prevent beeing called twice on the same resource.

- Add a patch to enable automatic deallocation of memory regions to resolve
  use-after-free memory corruption with a reference.

References

Demo with Venus:
- https://static.sched.com/hosted_files/xen2023/3f/xen_summit_2023_virtgpu_demo.mp4
QEMU repository:
- https://gitlab.freedesktop.org/rui/qemu-xen/-/commits/upstream-for-virtio-gpu

Thanks,
Ray

Antonio Caggiano (6):
  virtio-gpu: CONTEXT_INIT feature
  virtio-gpu: blob prep
  virtio-gpu: Handle resource blob commands
  virtio-gpu: Resource UUID
  virtio-gpu: Support Venus capset
  virtio-gpu: Initialize Venus

Dmitry Osipenko (1):
  virtio-gpu: Don't require udmabuf when blobs and virgl are enabled

Dr. David Alan Gilbert (1):
  virtio: Add shared memory capability

Gerd Hoffmann (1):
  virtio-gpu: hostmem

Huang Rui (3):
  virtio-gpu: Support context init feature with virglrenderer
  virtio-gpu: Configure context init for virglrenderer
  virtio-gpu: Enable virglrenderer render server flag for venus

Xenia Ragiadakou (1):
  softmmu/memory: enable automatic deallocation of memory regions

 hw/display/trace-events                     |   1 +
 hw/display/virtio-gpu-base.c                |   5 +
 hw/display/virtio-gpu-pci.c                 |  14 +
 hw/display/virtio-gpu-virgl.c               | 270 +++++++++++++++++++-
 hw/display/virtio-gpu.c                     |  61 ++++-
 hw/display/virtio-vga.c                     |  33 ++-
 hw/virtio/virtio-pci.c                      |  18 ++
 include/hw/virtio/virtio-gpu-bswap.h        |  15 ++
 include/hw/virtio/virtio-gpu.h              |  22 ++
 include/hw/virtio/virtio-pci.h              |   4 +
 include/standard-headers/linux/virtio_gpu.h |   2 +
 meson.build                                 |   8 +
 softmmu/memory.c                            |  19 +-
 13 files changed, 446 insertions(+), 26 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:33:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593571.926581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3Q-00067y-JU; Thu, 31 Aug 2023 09:33:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593571.926581; Thu, 31 Aug 2023 09: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 1qbe3Q-00067r-G0; Thu, 31 Aug 2023 09:33:32 +0000
Received: by outflank-mailman (input) for mailman id 593571;
 Thu, 31 Aug 2023 09:33: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3P-0005pR-7c
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:33:31 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eab::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 721481a7-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:33:30 +0200 (CEST)
Received: from MW4PR04CA0282.namprd04.prod.outlook.com (2603:10b6:303:89::17)
 by MN0PR12MB5761.namprd12.prod.outlook.com (2603:10b6:208:374::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:33:25 +0000
Received: from MWH0EPF000989EA.namprd02.prod.outlook.com
 (2603:10b6:303:89:cafe::d) by MW4PR04CA0282.outlook.office365.com
 (2603:10b6:303:89::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.22 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989EA.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.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:33:24 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 721481a7-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XmGKbokJE3I/LvawAsKudOotQKS6vaWaPKJj0ZTkYviyjVl/h7l/JmU+NLV1ye6GuZVswNvl8uidVPgiAb4PtWiPHzuFP9dA6fzlwL8oL7v8HZlvA3gUNZiinl9Qd46F8Z8aoVmJMTOIBXv1L1aF9u/fJfWkjCq2DmqfzFwVK7xaoEFBccU9pKUuFUhXhIZnNrFcqPeKlbO4y3e2Czgdv/GlUsChCUvL6EJFDxAOdDKGcjorG7f9Q1Mt6NEBwFLommS8yIcCHEHnm20X7hxXtdgNZhBI+W0LZzZq7+au9V5YxD/nmhf+rD+jNUJRar7xrE+f1p4HzGPWtW7hC+zRbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZGX5Hj5sdF72tVBTXUh0R/Xrx3cM3xMJ6mAZRIdjtqc=;
 b=j3QXOsVo/ACt+8iLMkJl0iCAFr8peMS5SwFByj8MNbH+f7kgjITiocAyDVwWP8I8MQzYsgmZ+zZLKq/3LV2rzvT67wdHxby3tKQ1wdgQ8KzYhMwjCabx0Fx1+3qvvDRgJgPoB33JfpBVY9tXKiyuZy7iNKUGBR/YX4NvehOXbu3lbbGBja69pZUyzm9yHWBuj/gde55MVbaH8NJwdcVy7ySeLTsLoZvvZIjkQYh7VuRN17xFpWH0VMgOHGhftkJoK5rUiQXL/g1lAbhjsX1lTwCgEpLkZBPM6aRMNyKTtj+gEvXFFAtyvY4QiLEKcphIYtAJqfe7wTT4NSSRHD4PTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZGX5Hj5sdF72tVBTXUh0R/Xrx3cM3xMJ6mAZRIdjtqc=;
 b=YwB6nf1L8l/1352pdfJp0dFTsUvmZePO9JK10zfwXu8ZUD5/xgYacVPEHyLOJaQOGDmxGkYH6mgfnyuL0HDpEnoPR83bQ/dfbS/5sCv21Yn2ratqQar+UPjcvdATCwmyobVICHXROUkqMu4AZDSO3hmpT2Zv+SOJiOdWORtJhgc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 01/13] virtio: Add shared memory capability
Date: Thu, 31 Aug 2023 17:32:40 +0800
Message-ID: <20230831093252.2461282-2-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989EA:EE_|MN0PR12MB5761:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f1e4510-23d3-42e9-bc73-08dbaa0552e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4obXY5+hFRwRqvExNyC5HwgCjx0eSObM6qV/CZ7GchSa8bNK6BGodp8X5m1r360kw6F9in3PSqmae2ndUZqlGOostOfbSWYSIkvHk5MFZrOqXr7wp+9jt2fKS6GsIAmX2tI0PSvK0MWVtBy0DEgBR/mbA93LNPYwJioP8ryt4g/fdGMqJxJG5JTz5VL86McgQ5Bw8AdH38DUg0cYF6k9RBJvDaN6DKl/QXnLR2AkkwXgH4qbslZOcN1qQ01XXjsoezt7V7CJZaboSwP1fYQzJgPTGHtGnlPUqnwzMo0lxU1tCw7UE/2NltFlVbhmofOfKRhZLOiPDnm7dDrs1TwNuSIc2V147oi8FrG9RAbX2uYfnlKXXDZ2qsdtPEzVp/38470mQ9/0CtckgD4PJ0vXn3Ld+4vWA5r/kYGBqd+qMTXMOYkyvQIa3pLPyBKMi/DsnJFCBndopO13VjStUetrvavkoDnlgJAAn/SH9nFu5jn0VS5AGReO9lNs/R/lZjY02M2asZ88TNA1A12Pos+UCFdp2WS9naGIPdj8P73MRXbCwOAsDhzSSs1vxWDeM48XES0wpMMLhTRoPcWWvWcyaq4EcG+hFTsvD734HMLsZGIXs1+XXCwDXdMoh4UESZBEWUaONWINdp5Fv1btY2JQFbTSma2Ufe/3ji5AL3iUmpja89yUWR4GSndLZKncbM4A2QyX4/U/4N2TFHaSxqM+yZP3/Al6MXRoCoXeM7XIHA8r5GozC5VYbQxdp9Qo3LFq3/QJvTFAR/Up88wrTzohg7IHccdpNjyCQyG5WcIfmSFSIC5Glahmq/CvT0PHm+OoLFKCqsNx7UCeY2R9qvmKXg==
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)(4636009)(39860400002)(376002)(346002)(396003)(136003)(186009)(82310400011)(1800799009)(451199024)(46966006)(40470700004)(36840700001)(70206006)(41300700001)(8936002)(40480700001)(47076005)(36860700001)(336012)(8676002)(4326008)(478600001)(6666004)(110136005)(70586007)(316002)(16526019)(2616005)(426003)(1076003)(54906003)(7696005)(26005)(2906002)(82740400003)(356005)(81166007)(921005)(5660300002)(40460700003)(7416002)(36756003)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:24.3865
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f1e4510-23d3-42e9-bc73-08dbaa0552e3
X-MS-Exchange-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:
	MWH0EPF000989EA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5761

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Define a new capability type 'VIRTIO_PCI_CAP_SHARED_MEMORY_CFG' to allow
defining shared memory regions with sizes and offsets of 2^32 and more.
Multiple instances of the capability are allowed and distinguished
by a device-specific 'id'.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Huang Rui <ray.huang@amd.com>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Acked-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

This patch is already under review as part of the "rutabaga_gfx + gfxstream"
series (already in v13) and has been included here because of dependency.

 hw/virtio/virtio-pci.c         | 18 ++++++++++++++++++
 include/hw/virtio/virtio-pci.h |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index edbc0daa18..da8c9ea12d 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1435,6 +1435,24 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy,
     return offset;
 }
 
+int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy,
+                           uint8_t bar, uint64_t offset, uint64_t length,
+                           uint8_t id)
+{
+    struct virtio_pci_cap64 cap = {
+        .cap.cap_len = sizeof cap,
+        .cap.cfg_type = VIRTIO_PCI_CAP_SHARED_MEMORY_CFG,
+    };
+
+    cap.cap.bar = bar;
+    cap.cap.length = cpu_to_le32(length);
+    cap.length_hi = cpu_to_le32(length >> 32);
+    cap.cap.offset = cpu_to_le32(offset);
+    cap.offset_hi = cpu_to_le32(offset >> 32);
+    cap.cap.id = id;
+    return virtio_pci_add_mem_cap(proxy, &cap.cap);
+}
+
 static uint64_t virtio_pci_common_read(void *opaque, hwaddr addr,
                                        unsigned size)
 {
diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index ab2051b64b..5a3f182f99 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -264,4 +264,8 @@ unsigned virtio_pci_optimal_num_queues(unsigned fixed_queues);
 void virtio_pci_set_guest_notifier_fd_handler(VirtIODevice *vdev, VirtQueue *vq,
                                               int n, bool assign,
                                               bool with_irqfd);
+
+int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy, uint8_t bar, uint64_t offset,
+                           uint64_t length, uint8_t id);
+
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:33:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593572.926591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3V-0006R7-Rd; Thu, 31 Aug 2023 09:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593572.926591; Thu, 31 Aug 2023 09:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3V-0006Qw-OX; Thu, 31 Aug 2023 09:33:37 +0000
Received: by outflank-mailman (input) for mailman id 593572;
 Thu, 31 Aug 2023 09:33: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3U-0005pR-HH
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:33:36 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74d680fd-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:33:35 +0200 (CEST)
Received: from MW4PR04CA0272.namprd04.prod.outlook.com (2603:10b6:303:89::7)
 by LV2PR12MB5797.namprd12.prod.outlook.com (2603:10b6:408:17b::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:33:32 +0000
Received: from MWH0EPF000989EA.namprd02.prod.outlook.com
 (2603:10b6:303:89:cafe::c3) by MW4PR04CA0272.outlook.office365.com
 (2603:10b6:303:89::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989EA.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.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:33:31 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 74d680fd-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LTf4S2tyeAJ1wv5Ja9xR7ec3dCfywWgvKygmrtdUhjs9lWEkJvSfSWwj/2AMuQwOWEVXtHf1BxbAGuOk7/I/QEZXo1tAkcO5NzTOgvMNs2WnHsb6w5w5nzYsHZyJiJ7VT/DXrNongn/Tjy+8WZ72f1MJZBJos+dxoMcde7rFsJWsuVwMudWbtYwntejOK9t/iv5qoaTxOqtqkUP9u6Q5I6/ip+X5VUx8sB0lkatjqMXikiZhrw+MaFbWorV1iuK0zuz7tjN4y5B1N2z9oIgwpM8DM26ccRpfpx+tjiVahxUunsyQIzJ8p2f8OiYcxx5vKLU71uxdtJpvRNsGSqIvmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OkbJyyl2hKRMbUZDjv2bheTdRoyRBB1f2ttFfpngVoY=;
 b=SSzdBf7bKl3y4gN3QrJ2wttXi0U5qgHql/tB/32Iu/YjEzeOhKPyn2unjVamRum5KbID7WCuS5Dc7pNFeqRiOwNx5knYJDaZxMz96j8BfTH8MFMYFDZohsARY8iR/COViZBc65e0N35l/Sb/tSb5dW/zKkvy6hJM9yMQ9TjfrRTI0c+2bSGSsoDmmxObPmM3ePDkrL3iQJFBbdNt95K1y3pFtJYSLjT50quMenVvNjqtIWR2333Cwv5e/wWGU9cFTDDMz495pBZK4Ua4Wqwiy0jO7CJrZ0uhY37Pp/L/eNUcN8w94Ehf3fZWpFwBN/TWcd84vSqizXJ3ZCQYH+u/WA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OkbJyyl2hKRMbUZDjv2bheTdRoyRBB1f2ttFfpngVoY=;
 b=GHWHQ297prRGui7LiTWWSZXw9ZGGy40qsgIui3WZJskBxWNyfK+lvdeAzoQ7uDr7FCwRLkn4FESh2DpiJKvFDB7Tzo8gDwEdjgN131wbGKx1ko13R3bTmPrxYh9w8NxlE0ZBjf8Qd4jj2L0xDL9xv4zCIzhRRzG4kt9AXUpXQ7c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 02/13] virtio-gpu: CONTEXT_INIT feature
Date: Thu, 31 Aug 2023 17:32:41 +0800
Message-ID: <20230831093252.2461282-3-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989EA:EE_|LV2PR12MB5797:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e76fc58-6ac3-4538-88ec-08dbaa05575e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wiH4UvJx8dN6O7byKREbV7UWWhKCNrvESLRrIxlKzanbDnuu+AByYxnN7rJTvNApNYMIU0tb4wzAvxf9fPDLtcyMwCKEpbQxu+WnPGA1TyvXzwlX8fhex1N2xonFzgusMIgvzU0S5nRyewCg9CeIkt7dMmrq6GBy9g9LNPI5k+oLv+6aUlAoo+lZOrk8nN+XQ2W7XSFNuNbfHgtueLHxqS+MZ8mLSvtRLyppRxJHTmmcrquyxEAuVlHsSR9GYW/w97eTGmydhy48NgKivNjK19s8MDYVfqVdQlFvoy42+V+EIec8RgaEVb6AkRdLy1ygVQvxDFFXlmI15oaoQSYNTKFN8KninnsUSE12AB6VNx0QRSeQUqElPeF88vXcoEGLdRbGRX40NbINOZyNT1uTcGBjdA74PPjqSfFlGqtQrQ+zhVuKWNt07y40EOvrjywwbgZYn1dsCXVVBS6z8GuSIoDmD1aYP9Eut8Zm0XxAYb14/KzN+rwQTyxFhHdZJN9DCa1xuwCdZMRizpw0KpnBjSMu1E3ZSsEfxfvJlSnchQeLO9M/mEi/VUWO5HxrystLEyhzxKft1ucptEXEFzBTmyMRyLSD3VMKo2hpKXnRWdBjy2KN1gBR1edtUmDvptz4AupjVxBjawqQfwFwuPej5hpJ4IYw38Lx+DovzWOxiPObppaKvg3SV0OGQhmRdmHUbdyTuNS6ntlUbnJFyWCeOQCP8s/o+PXzUzOpeVmgIL8UkESrPaDzO8dLfTFpJRszmXTjRIlDN7sulwPHV8jDUkb1EsSJ5pV1SPrzSO8SQUs=
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)(4636009)(396003)(136003)(376002)(346002)(39860400002)(1800799009)(82310400011)(451199024)(186009)(46966006)(40470700004)(36840700001)(36756003)(7416002)(40460700003)(40480700001)(41300700001)(86362001)(4326008)(7696005)(5660300002)(8936002)(8676002)(26005)(1076003)(16526019)(426003)(6666004)(36860700001)(47076005)(2616005)(336012)(82740400003)(110136005)(81166007)(356005)(478600001)(2906002)(70586007)(54906003)(316002)(70206006)(921005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:31.8866
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e76fc58-6ac3-4538-88ec-08dbaa05575e
X-MS-Exchange-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:
	MWH0EPF000989EA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5797

From: Antonio Caggiano <antonio.caggiano@collabora.com>

The feature can be enabled when a backend wants it.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Marc-AndrĂ© Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

This patch is already under review as part of the "rutabaga_gfx + gfxstream"
series (already in v13) and has been included here because of dependency.

 hw/display/virtio-gpu-base.c   | 3 +++
 include/hw/virtio/virtio-gpu.h | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index ca1fb7b16f..4f2b0ba1f3 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -232,6 +232,9 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
     if (virtio_gpu_blob_enabled(g->conf)) {
         features |= (1 << VIRTIO_GPU_F_RESOURCE_BLOB);
     }
+    if (virtio_gpu_context_init_enabled(g->conf)) {
+        features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
+    }
 
     return features;
 }
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 390c4642b8..8377c365ef 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -93,6 +93,7 @@ enum virtio_gpu_base_conf_flags {
     VIRTIO_GPU_FLAG_EDID_ENABLED,
     VIRTIO_GPU_FLAG_DMABUF_ENABLED,
     VIRTIO_GPU_FLAG_BLOB_ENABLED,
+    VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED,
 };
 
 #define virtio_gpu_virgl_enabled(_cfg) \
@@ -105,6 +106,8 @@ enum virtio_gpu_base_conf_flags {
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_DMABUF_ENABLED))
 #define virtio_gpu_blob_enabled(_cfg) \
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_BLOB_ENABLED))
+#define virtio_gpu_context_init_enabled(_cfg) \
+    (_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED))
 
 struct virtio_gpu_base_conf {
     uint32_t max_outputs;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:33:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593574.926600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3i-0006wy-9F; Thu, 31 Aug 2023 09:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593574.926600; Thu, 31 Aug 2023 09:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3i-0006wo-66; Thu, 31 Aug 2023 09:33:50 +0000
Received: by outflank-mailman (input) for mailman id 593574;
 Thu, 31 Aug 2023 09: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3g-0006tw-Et
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:33:48 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a465ee2-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:33:45 +0200 (CEST)
Received: from MW4PR03CA0342.namprd03.prod.outlook.com (2603:10b6:303:dc::17)
 by MW5PR12MB5649.namprd12.prod.outlook.com (2603:10b6:303:19d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:33:39 +0000
Received: from MWH0EPF000989EC.namprd02.prod.outlook.com
 (2603:10b6:303:dc:cafe::58) by MW4PR03CA0342.outlook.office365.com
 (2603:10b6:303:dc::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989EC.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 09:33:39 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 7a465ee2-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N8xIynprutMEn5MAtCwoQkUCKbA5fvmB7FULIYJLqInGzKjRL14bXZZQyUi3VPiw7QREw2GF0cX2Dpq04dix0aTox3zz20S2x8XNHMRl0dGwbMIzL7IhBmIdrJDFwFAvUMfnLs8Uhmuqej4JJ/lpLCsu24SDLVSd8x8oNGUWg4hDugoKr3BSB0yW+YG4v32HyDvD4FIJ3ywaDI6yX+awybQ+u0s+Q1CbvBvKiN/FkuQ+LbBoBnDMA/kCC10SDlzxRXtxDqwGxJQ4hBsbzPZmM0jq9ZRkSGJfwLZNcTtRT+tBL5v8KDeOa4EgyAE8rx3irBLbT3C9Zy99trzLib006Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BbWnAkGTDkIuiyxFJjQRvGBwHS6OgVoyaJjKb6dSr5M=;
 b=ZqfTgLbHr4FdbHfAY6Z0NYcABB0IkcVL9FzQckPhduBC97GUuWl7RVgyJ6ZWkbCIAw7pfqKQB4eUo4A6zrjZVLgktJx0+xkdcqIXBnWwL95wJPWIjvNn9Y3DiJWYbOoL5Hd7N473UzalFaU442rYmvQoHWo4qQEi64xddVvUKyI/assWNU6Ht84466b0gjtcBWWgBsFUwlA0FMqv/Wu/BDrVPiPVrezC5om4UUOEZm3ZU4kTrO8hG52ooSPlODvYBLaON7NkBaUBLamKuMm2ikQ3OzZpD4WXbpkxu4HeX2hoeM5bpLrn59u4z9bdB954bybBxTO4VL/1B6VigaaxCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BbWnAkGTDkIuiyxFJjQRvGBwHS6OgVoyaJjKb6dSr5M=;
 b=oD307W5QKTyu90ZGdMYv+Uy39SdUAStwnX5ilhPt5b9rEtH55wSJakI7jShkjxznCESHtpc01EOJtiQ8aOy3SEy6peRYRRqA/uUuSXGOEaIOigPXZyWk+FsVDO/3nidcNb81+BGh2CdG2zN2zdtHe0GjcR/3Qh0DyXEJnvja2G4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 03/13] virtio-gpu: hostmem
Date: Thu, 31 Aug 2023 17:32:42 +0800
Message-ID: <20230831093252.2461282-4-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989EC:EE_|MW5PR12MB5649:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e62684b-ddd7-4c79-5b1d-08dbaa055bea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9eeY67tes1/Myu7fpK8tPRbZHeo1HLTkuhLdhATXE/KhXw+uJ2E7vlaBn6zaJ3bTyyox4Auzi3vzEzKX9rB2v3wM4a0+5vpHzB/D6u8VKpFd41kiskoguO5uoFc7DcfNEPwTL0o9ivS/u5w4LgPigFeXwM7Tk3EbB46OcKF3JbqZgf/8OGQ2V9mDdAvp4Fp/8NAFfdG4MYFIpxzFt0sXkvYOoRwIZbO7p1Xn7vBRB9pkRDRoPitqQv/TQhEnj3iDL5eF4TTqUYTpXgEFPe7LxT8gp0Pd8Z2HjiQsUEe2cd5TtBh1Vbt8cs9D7YCWWZabskuLKLv8IwVXce95AkNsQ9Dhd6uybqGyaXCoIls72uqbe7tCD6HhupkC/J3WGkJwxh0nDdZELQ1Ya/BGgWvZlnjeCRmwrUmBuSxWZkk905D3QXVvyQslIHz5EloDX/6ZYdf9sxvNrIY/FK2pdHhQ2UYYRRI3RSAvfiPDhp/29/lXkZBddysHtvOdoFaQzOthyZWg0FE3cBRytCRsZvoX8jZan2RolNgY/nrdVYK/nqWTWFwpJHLC3+Lnh2YfmRkmY9ULg5KbKL1dNmF0oMD7bXMYf5ompUzc8CkzxhV2JJiptpn+hvpqBZ08MhmVaIeXsOytYOoiqgTNb3mlS1K1ofqcNojOE8oGhWKhlJ+m3ohqosu1HdtHuzJOfR9tzGGOje2JtFcpGQwoKztLbDDI7C6jxOP+bMCMuDbYEPG4IAf94tWqJf0dS+OdrCkNj+AqDccP9Xs1KoGVNHr2thMaJSA7cpC0/WUEM7ja0hgxVoE=
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)(4636009)(346002)(136003)(376002)(396003)(39860400002)(1800799009)(451199024)(82310400011)(186009)(40470700004)(46966006)(36840700001)(36756003)(40460700003)(7416002)(40480700001)(2616005)(83380400001)(8676002)(86362001)(41300700001)(4326008)(8936002)(5660300002)(6666004)(336012)(7696005)(1076003)(426003)(16526019)(26005)(36860700001)(47076005)(81166007)(921005)(110136005)(478600001)(82740400003)(356005)(70586007)(54906003)(70206006)(316002)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:39.4982
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e62684b-ddd7-4c79-5b1d-08dbaa055bea
X-MS-Exchange-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:
	MWH0EPF000989EC.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR12MB5649

From: Gerd Hoffmann <kraxel@redhat.com>

Use VIRTIO_GPU_SHM_ID_HOST_VISIBLE as id for virtio-gpu.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Tested-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

This patch is already under review as part of the "rutabaga_gfx + gfxstream"
series (already in v13) and has been included here because of dependency.

 hw/display/virtio-gpu-pci.c    | 14 ++++++++++++++
 hw/display/virtio-gpu.c        |  1 +
 hw/display/virtio-vga.c        | 33 ++++++++++++++++++++++++---------
 include/hw/virtio/virtio-gpu.h |  5 +++++
 4 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c
index 93f214ff58..da6a99f038 100644
--- a/hw/display/virtio-gpu-pci.c
+++ b/hw/display/virtio-gpu-pci.c
@@ -33,6 +33,20 @@ static void virtio_gpu_pci_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     DeviceState *vdev = DEVICE(g);
     int i;
 
+    if (virtio_gpu_hostmem_enabled(g->conf)) {
+        vpci_dev->msix_bar_idx = 1;
+        vpci_dev->modern_mem_bar_idx = 2;
+        memory_region_init(&g->hostmem, OBJECT(g), "virtio-gpu-hostmem",
+                           g->conf.hostmem);
+        pci_register_bar(&vpci_dev->pci_dev, 4,
+                         PCI_BASE_ADDRESS_SPACE_MEMORY |
+                         PCI_BASE_ADDRESS_MEM_PREFETCH |
+                         PCI_BASE_ADDRESS_MEM_TYPE_64,
+                         &g->hostmem);
+        virtio_pci_add_shm_cap(vpci_dev, 4, 0, g->conf.hostmem,
+                               VIRTIO_GPU_SHM_ID_HOST_VISIBLE);
+    }
+
     virtio_pci_force_virtio_1(vpci_dev);
     if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) {
         return;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index bbd5c6561a..48ef0d9fad 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1509,6 +1509,7 @@ static Property virtio_gpu_properties[] = {
                      256 * MiB),
     DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags,
                     VIRTIO_GPU_FLAG_BLOB_ENABLED, false),
+    DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c
index e6fb0aa876..c8552ff760 100644
--- a/hw/display/virtio-vga.c
+++ b/hw/display/virtio-vga.c
@@ -115,17 +115,32 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     pci_register_bar(&vpci_dev->pci_dev, 0,
                      PCI_BASE_ADDRESS_MEM_PREFETCH, &vga->vram);
 
-    /*
-     * Configure virtio bar and regions
-     *
-     * We use bar #2 for the mmio regions, to be compatible with stdvga.
-     * virtio regions are moved to the end of bar #2, to make room for
-     * the stdvga mmio registers at the start of bar #2.
-     */
-    vpci_dev->modern_mem_bar_idx = 2;
-    vpci_dev->msix_bar_idx = 4;
     vpci_dev->modern_io_bar_idx = 5;
 
+    if (!virtio_gpu_hostmem_enabled(g->conf)) {
+        /*
+         * Configure virtio bar and regions
+         *
+         * We use bar #2 for the mmio regions, to be compatible with stdvga.
+         * virtio regions are moved to the end of bar #2, to make room for
+         * the stdvga mmio registers at the start of bar #2.
+         */
+        vpci_dev->modern_mem_bar_idx = 2;
+        vpci_dev->msix_bar_idx = 4;
+    } else {
+        vpci_dev->msix_bar_idx = 1;
+        vpci_dev->modern_mem_bar_idx = 2;
+        memory_region_init(&g->hostmem, OBJECT(g), "virtio-gpu-hostmem",
+                           g->conf.hostmem);
+        pci_register_bar(&vpci_dev->pci_dev, 4,
+                         PCI_BASE_ADDRESS_SPACE_MEMORY |
+                         PCI_BASE_ADDRESS_MEM_PREFETCH |
+                         PCI_BASE_ADDRESS_MEM_TYPE_64,
+                         &g->hostmem);
+        virtio_pci_add_shm_cap(vpci_dev, 4, 0, g->conf.hostmem,
+                               VIRTIO_GPU_SHM_ID_HOST_VISIBLE);
+    }
+
     if (!(vpci_dev->flags & VIRTIO_PCI_FLAG_PAGE_PER_VQ)) {
         /*
          * with page-per-vq=off there is no padding space we can use
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 8377c365ef..de4f624e94 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -108,12 +108,15 @@ enum virtio_gpu_base_conf_flags {
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_BLOB_ENABLED))
 #define virtio_gpu_context_init_enabled(_cfg) \
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED))
+#define virtio_gpu_hostmem_enabled(_cfg) \
+    (_cfg.hostmem > 0)
 
 struct virtio_gpu_base_conf {
     uint32_t max_outputs;
     uint32_t flags;
     uint32_t xres;
     uint32_t yres;
+    uint64_t hostmem;
 };
 
 struct virtio_gpu_ctrl_command {
@@ -137,6 +140,8 @@ struct VirtIOGPUBase {
     int renderer_blocked;
     int enable;
 
+    MemoryRegion hostmem;
+
     struct virtio_gpu_scanout scanout[VIRTIO_GPU_MAX_SCANOUTS];
 
     int enabled_output_bitmask;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:33:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593576.926611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3m-0007IJ-JQ; Thu, 31 Aug 2023 09:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593576.926611; Thu, 31 Aug 2023 09:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3m-0007I4-Dk; Thu, 31 Aug 2023 09:33:54 +0000
Received: by outflank-mailman (input) for mailman id 593576;
 Thu, 31 Aug 2023 09: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3k-0006tw-SX
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:33:52 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7db0374d-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:33:51 +0200 (CEST)
Received: from MW4PR04CA0300.namprd04.prod.outlook.com (2603:10b6:303:89::35)
 by MW3PR12MB4362.namprd12.prod.outlook.com (2603:10b6:303:5d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 09:33:46 +0000
Received: from MWH0EPF000989EA.namprd02.prod.outlook.com
 (2603:10b6:303:89:cafe::1a) by MW4PR04CA0300.outlook.office365.com
 (2603:10b6:303:89::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.23 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000989EA.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.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:33:46 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 7db0374d-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QwdBHpikxg+u6vtMqlUrgQsxp7wZqkQYDGekSDzmr78zxQk/+QJt/dI+jcGuGIz6ubdvy3KaktWHUUGDJUvAQ/zFiEtzCj+uZXzSaRBIDNtIkQheWJWyjPXUJ6+BPPsLR722zthgbx4S899YW6Rue1fi9ackUt1gzZugLUoYsdjQuojF1sxGGl0UgY9uRw85Jq/gbB+Lqxg2t0lfJA+A3DKGmqTt+VtshlwI2qKuE+Bu3wk7vMjvdOv13I5Wk9TbspwkxIoUDXDZA7mmUUT8b8JVl6zM6LdW6+T8urtkeWjomnKQDabz6PoU6l+19MoMjibPPe9VWtGCh2L/pka9Gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rHy1UnKuYteMitn9Vk2LwqyNhuJGyfSsajh1mjfyeBw=;
 b=Tgy+UduxNkkARnYG6rDOZ+gEVXVpWfjqMZmE83Xi2KEhRiloZDaxv9yZ/8bWymQM92Uz3fb8sEQUD/ah7e+an4htlwCW/ySCUfJvK/frq0OSXTJ5aEJV2yheVQpy961wWQtDcohZHgakK9jr9ofbNgsBYKEJgUv+EZXHvqqxjaRyhrp05GdtwEH9VS31qXILq6r3lge+YcMcm4Jgzi6M/8T7aROhrFXOJYfFk3qeSNlBLm5fgoQZ8gy0YN8thHrnFeOggiETGW3ZxKm7i0h4s9V85GMhUfvkufHNhVjEWW4oBcKtTptFAZ6nxlOYhzrMhRaLsOfbIXeeUjLpuSPAqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rHy1UnKuYteMitn9Vk2LwqyNhuJGyfSsajh1mjfyeBw=;
 b=39yVksiDQviA5sHuwbueLZmZYBQMvgRcUxrCQkbjcA17QmOdpFDY+bdiWTQtuph7RjAMvRyovAHCr5NRKEzwypA8LKjiULqS6gLZuDv6d3dPkSlKs5Ny5zGoPzX18c2FsEOnszJxWg5QQ/0ZAmUJrEMvYgfBesJ87gtglgXO+L4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Emmanouil Pitsidianakis
	<manos.pitsidianakis@linaro.org>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 04/13] virtio-gpu: blob prep
Date: Thu, 31 Aug 2023 17:32:43 +0800
Message-ID: <20230831093252.2461282-5-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989EA:EE_|MW3PR12MB4362:EE_
X-MS-Office365-Filtering-Correlation-Id: 37def332-56e8-4a92-8515-08dbaa056037
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ypX+zPPIP7BDXemVD5Igaq8W6nOq03cx/+RqbqaF8EtCLjlqHZFmsA/VC5RJWNSlBFZh9fY6Lki+8ZcJ7Q3741BH7FW5Wrcq26SlO7Ttd8fAYtdgxwVr+O+9Jx0pS9qp1vAWuNYGtknsiLoPT+rLxzzJOQ8cX6SSq6kaLVQ2cb8fiRx0gj8YV7m83b1QZwG43Y2eiwBwjMzvBOGXKfdLUwGwDAkNyxOhi8523YuGqd0zLCCDRDwab+He7WsRGfy+tJPn++cpxIT/CS1N9nWnBxt7y0REmy9XXkB84J/MGQZ/F2NDOxbgEd1nN8P7x9JM1+oEk/hs/PSw8IkBqHLYoEW0HFeAm+dPSYiPN4ks/e+qpP4bGlI/7VmzhBGFIHdYoAQFXgCSQEEKiPOqH1v+RKvD4oFJhJjQUs2sYTfRY2pXzm/6g+ec+3b8WMw2NZAdSfsgq9VGeinH1fPcvrFhzUdBLqqHu1zE80UElPu2ZCQjzkdxTFkcccdH//ksVmdbidIprodVByFsNyiYACPpm4tI2imolXLggRj+uo/mirSu7OxVQzSJ3RgCjo0XfSYeIjJg95PpTC7MTUSxd9OzY2yYwmgoMjbRl/2P1seobBkO+8DqBUbv0GkTV6molg74WQBK/NX875ZeIiiKXNQkrmwtntCtRvSHUebg8grvge3+pjNhMVX/CSyXq+aHKrwGd9v7q5YlmJITGmrJKE4lGtGsUVSZMGg7iM2tMSJRWzuQBUkGfSMr7qEVZVUK9xw5AxWDFB0fRfpyADoktiky7O3v/DW/8L/2Ua3coSr3ABE=
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)(4636009)(136003)(376002)(39860400002)(346002)(396003)(1800799009)(82310400011)(451199024)(186009)(36840700001)(40470700004)(46966006)(356005)(921005)(81166007)(7696005)(82740400003)(6666004)(40460700003)(36756003)(86362001)(36860700001)(40480700001)(47076005)(1076003)(2616005)(2906002)(336012)(426003)(26005)(16526019)(83380400001)(478600001)(41300700001)(110136005)(70586007)(70206006)(4326008)(8936002)(5660300002)(8676002)(7416002)(54906003)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:46.7304
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37def332-56e8-4a92-8515-08dbaa056037
X-MS-Exchange-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:
	MWH0EPF000989EA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4362

From: Antonio Caggiano <antonio.caggiano@collabora.com>

This adds preparatory functions needed to:

     - decode blob cmds
     - tracking iovecs

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

This patch is already under review as part of the "rutabaga_gfx + gfxstream"
series (already in v13) and has been included here because of dependency.

 hw/display/virtio-gpu.c              | 10 +++-------
 include/hw/virtio/virtio-gpu-bswap.h | 15 +++++++++++++++
 include/hw/virtio/virtio-gpu.h       |  5 +++++
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 48ef0d9fad..3e658f1fef 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -33,15 +33,11 @@
 
 #define VIRTIO_GPU_VM_VERSION 1
 
-static struct virtio_gpu_simple_resource*
-virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id);
 static struct virtio_gpu_simple_resource *
 virtio_gpu_find_check_resource(VirtIOGPU *g, uint32_t resource_id,
                                bool require_backing,
                                const char *caller, uint32_t *error);
 
-static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
-                                       struct virtio_gpu_simple_resource *res);
 static void virtio_gpu_reset_bh(void *opaque);
 
 void virtio_gpu_update_cursor_data(VirtIOGPU *g,
@@ -116,7 +112,7 @@ static void update_cursor(VirtIOGPU *g, struct virtio_gpu_update_cursor *cursor)
                   cursor->resource_id ? 1 : 0);
 }
 
-static struct virtio_gpu_simple_resource *
+struct virtio_gpu_simple_resource *
 virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id)
 {
     struct virtio_gpu_simple_resource *res;
@@ -904,8 +900,8 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
     g_free(iov);
 }
 
-static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
-                                       struct virtio_gpu_simple_resource *res)
+void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
+                                struct virtio_gpu_simple_resource *res)
 {
     virtio_gpu_cleanup_mapping_iov(g, res->iov, res->iov_cnt);
     res->iov = NULL;
diff --git a/include/hw/virtio/virtio-gpu-bswap.h b/include/hw/virtio/virtio-gpu-bswap.h
index 637a0585d0..dd1975e2d4 100644
--- a/include/hw/virtio/virtio-gpu-bswap.h
+++ b/include/hw/virtio/virtio-gpu-bswap.h
@@ -70,6 +70,21 @@ virtio_gpu_create_blob_bswap(struct virtio_gpu_resource_create_blob *cblob)
     le64_to_cpus(&cblob->size);
 }
 
+static inline void
+virtio_gpu_map_blob_bswap(struct virtio_gpu_resource_map_blob *mblob)
+{
+    virtio_gpu_ctrl_hdr_bswap(&mblob->hdr);
+    le32_to_cpus(&mblob->resource_id);
+    le64_to_cpus(&mblob->offset);
+}
+
+static inline void
+virtio_gpu_unmap_blob_bswap(struct virtio_gpu_resource_unmap_blob *ublob)
+{
+    virtio_gpu_ctrl_hdr_bswap(&ublob->hdr);
+    le32_to_cpus(&ublob->resource_id);
+}
+
 static inline void
 virtio_gpu_scanout_blob_bswap(struct virtio_gpu_set_scanout_blob *ssb)
 {
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index de4f624e94..55973e112f 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -257,6 +257,9 @@ void virtio_gpu_base_fill_display_info(VirtIOGPUBase *g,
 void virtio_gpu_base_generate_edid(VirtIOGPUBase *g, int scanout,
                                    struct virtio_gpu_resp_edid *edid);
 /* virtio-gpu.c */
+struct virtio_gpu_simple_resource *
+virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id);
+
 void virtio_gpu_ctrl_response(VirtIOGPU *g,
                               struct virtio_gpu_ctrl_command *cmd,
                               struct virtio_gpu_ctrl_hdr *resp,
@@ -275,6 +278,8 @@ int virtio_gpu_create_mapping_iov(VirtIOGPU *g,
                                   uint32_t *niov);
 void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
                                     struct iovec *iov, uint32_t count);
+void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
+                                struct virtio_gpu_simple_resource *res);
 void virtio_gpu_process_cmdq(VirtIOGPU *g);
 void virtio_gpu_device_realize(DeviceState *qdev, Error **errp);
 void virtio_gpu_reset(VirtIODevice *vdev);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:34:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:34:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593585.926622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3t-0007pz-R8; Thu, 31 Aug 2023 09:34:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593585.926622; Thu, 31 Aug 2023 09:34:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe3t-0007ps-Lp; Thu, 31 Aug 2023 09:34:01 +0000
Received: by outflank-mailman (input) for mailman id 593585;
 Thu, 31 Aug 2023 09:34: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3t-0006tw-03
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:01 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82e3cc4d-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:33:59 +0200 (CEST)
Received: from BYAPR05CA0008.namprd05.prod.outlook.com (2603:10b6:a03:c0::21)
 by IA1PR12MB8357.namprd12.prod.outlook.com (2603:10b6:208:3ff::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:33:55 +0000
Received: from MWH0EPF000989E5.namprd02.prod.outlook.com
 (2603:10b6:a03:c0:cafe::52) by BYAPR05CA0008.outlook.office365.com
 (2603:10b6:a03:c0::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.14 via Frontend
 Transport; Thu, 31 Aug 2023 09:33:54 +0000
Received: from SATLEXMB04.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 09:33:54 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 82e3cc4d-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lhAMVfFYfWHgnoCmKyczvnTv91FxW8pSSHplnlvFpJt516eIQyyuvGoCTcxqBN+DshBvxOoMi28wkdwCYxMKKaafkOAcbhuu5U7xpGvyRxZKJy64vFPjhjlGuAx2RnWMCnC7Zizv5tAVL10aHBtwqYQ8/053CviGapdC4mhYAPHbnxQmmHGP6tzP3TVNWi3XIC7Ak36cryqREHJvgnLQFKIcblRzfB0t43XoJCoruzs2PQRH6wL4Yvgbo/lD+4HpSPqWTMMSbeLGBSY2ttYrLCCNdz7tVExXl8/qqJqz74eYuTVepGb91GZu9QIeSUMUNxDi5f010Vh5rrvvb5CGNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FRQ1qUyvUZQnKdi9DaXDIHpX3dEnpLy+x0X55ktio60=;
 b=RLQX8DX7jdtdSi2zAfPU4M282BBEwtMlARueetYyW05EPj73d1yn76cXb7BWKcEq63xLBELaOxW7/phRMSdz5kPvcK9CZ3PuEYm4vLHOHcAQpFv5VUGkyQOVAazn3BFHoL1tHmO1+7204UPhhgi1ydj6gX4cNJApI4Mdx6zGWJ57TzuUc0B2elp+NTyc1Uj1WMEBTfVQFtDIHrfn3Oi/iazaSkwlG61pSaJGBuomIXpRcliKVMswDggxYoV91HmgdQay4crogrcM5rA0CFgNOhXgHBerwZOMW9YGuNUAd/+aClX9ZczAYzOoo4qnQiK8XhkpF3NFDbRkSGCO1g8xvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FRQ1qUyvUZQnKdi9DaXDIHpX3dEnpLy+x0X55ktio60=;
 b=dU5H2AkhpbH7kR7PDWUm0+WyvFE4QNRUZjSYjhCIUPmNouDyCfk+5yTL7CUf990tbisyqwUWESgOYJQhZvFRyxiMUuBaLcgp4/p2c/9DiGTTzovM821zl5lPblPaxr9L+zwZ8gUR87dPdCXaL4uK2Y8yo7LCoqcynjcE+9NCxQs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 05/13] virtio-gpu: Support context init feature with virglrenderer
Date: Thu, 31 Aug 2023 17:32:44 +0800
Message-ID: <20230831093252.2461282-6-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989E5:EE_|IA1PR12MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: f607c5d3-3400-407b-ec9b-08dbaa0564cd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8ejNdyq5NksTMzk+vaYTabHky77ur3qk4Re1+zmd2EkAc4KZBvnnG9TKEJgE29nj4+9vrnil+ZzsL4yG8/cK1mADiSFDMHFDiVnQ0YX0MHi6ENyNuZmKAyuuTg08kTYh+XOyvhpv4tBB6PjZEHF/1Bva+qUxvGlNfGVAT5odhhu4iKEVwVDsO6Nkurde0Cgih070nR2cprnXoSrv8jtTRrAGQtYWc5f0nC/tfbX1Qrrslo/xunempOh9+EGTHC8GY8Qwo+5v5rkGbxFTc/aojtXJG2SP3NpiXFR1xF0PtlW8zoIgy1uZN2uCzrQedJgOkrXAp0oTNpvPSN8Gnz+2uxihjd2uY6JWtuXeRyyiLNJJBBt/N4p+XzL6FEpMwa1n1cDYygsrPhQ0wpxMV7LCT4CxKyEpx2tSpThrvWGkqNAWpKesA7mPCVeNEqB4aY/baAtZ83k4/U8Y03z7sj+T993+tQFsskoYVlAuNQmbgBDMTr7w7noRWnh/C7Cf2J8sH5woXr+dVYZ2vGYMT9wMDXiWcRtR7JeVqr8dkuT2hlDCydrOoMc/Y0EnlNz9zeEGV+dgjbmhlapTtfpd1SKG4u5oist6P5Tb571r/uxfnHe11z3vbKho/Rr8tVpRGeuxl9eU0CPRvaEYTg6C3SpLwyYcfmFhSdVlfqJhjqTqn2v7wJw1jG9npBpdreXqgvmszyMfCAq2V+ZvCuV1+Gv3TB/9OF97f2L5eoBrqRpkAdyAGOxAXCmhCm/ejX4XfJ0Um/VD9BHvH1kJsKTCZYFCcJ3a7QSEOoXlu8e/Ez6vQuE=
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)(4636009)(39860400002)(376002)(346002)(396003)(136003)(186009)(82310400011)(1800799009)(451199024)(46966006)(40470700004)(36840700001)(70206006)(41300700001)(8936002)(83380400001)(40480700001)(47076005)(36860700001)(336012)(8676002)(4326008)(478600001)(110136005)(70586007)(316002)(16526019)(2616005)(426003)(1076003)(54906003)(7696005)(26005)(2906002)(82740400003)(356005)(81166007)(921005)(5660300002)(40460700003)(7416002)(36756003)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:33:54.4426
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f607c5d3-3400-407b-ec9b-08dbaa0564cd
X-MS-Exchange-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:
	MWH0EPF000989E5.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8357

Patch "virtio-gpu: CONTEXT_INIT feature" has added the context_init
feature flags.
We would like to enable the feature with virglrenderer, so add to create
virgl renderer context with flags using context_id when valid.

Originally-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

New patch, result of splitting
[RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature

 hw/display/virtio-gpu-virgl.c | 13 +++++++++++--
 hw/display/virtio-gpu.c       |  2 ++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 8bb7a2c21f..312953ec16 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -106,8 +106,17 @@ static void virgl_cmd_context_create(VirtIOGPU *g,
     trace_virtio_gpu_cmd_ctx_create(cc.hdr.ctx_id,
                                     cc.debug_name);
 
-    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen,
-                                  cc.debug_name);
+    if (cc.context_init) {
+#ifdef HAVE_VIRGL_CONTEXT_INIT
+        virgl_renderer_context_create_with_flags(cc.hdr.ctx_id,
+                                                 cc.context_init,
+                                                 cc.nlen,
+                                                 cc.debug_name);
+        return;
+#endif
+    }
+
+    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, cc.debug_name);
 }
 
 static void virgl_cmd_context_destroy(VirtIOGPU *g,
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 3e658f1fef..a66cbd9930 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1506,6 +1506,8 @@ static Property virtio_gpu_properties[] = {
     DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags,
                     VIRTIO_GPU_FLAG_BLOB_ENABLED, false),
     DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0),
+    DEFINE_PROP_BIT("context_init", VirtIOGPU, parent_obj.conf.flags,
+                    VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, false),
     DEFINE_PROP_END_OF_LIST(),
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:34:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593588.926631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe41-0008N3-6N; Thu, 31 Aug 2023 09:34:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593588.926631; Thu, 31 Aug 2023 09:34:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe41-0008Mp-2S; Thu, 31 Aug 2023 09:34:09 +0000
Received: by outflank-mailman (input) for mailman id 593588;
 Thu, 31 Aug 2023 09:34: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe3z-0006tw-NO
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:07 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe59::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86c150e7-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:34:06 +0200 (CEST)
Received: from BYAPR07CA0055.namprd07.prod.outlook.com (2603:10b6:a03:60::32)
 by DS0PR12MB6653.namprd12.prod.outlook.com (2603:10b6:8:cf::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:34:02 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:a03:60:cafe::df) by BYAPR07CA0055.outlook.office365.com
 (2603:10b6:a03:60::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.22 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:02 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:02 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:33: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: 86c150e7-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m5rfcn8oBGGqtRZdXq+8HGlnOWxEenXH1uhgKvfPZO9ya+B6TvmbWb3oG1AFVStZJgWFcG1ApPavH3H3CUUaN56e+RpvBT/DSeaya/G4rcg2YqxCM24vcfFCDba/VhRdVkLtCX7AUqVLQzcXZr30G7RUMFZYqaSsos9yjtQlMeV+JFs/nEl7ULR84bF9aWv5LRaZJqv3G6AtEPUkuguB4XsfrhUs2+xIeYbXLRnNBN8cT6O1mNCI9DK1O38OWdXs12QpSyKFr8OnPC9u9aW0ElGtDBnib66awzkM5zSjf/OKtducLycldkjMI9/sUvPtVqqvg+W5sTpTTHhQ5e52/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=EChvqjBjhTXvURngM3ftgLfddBzxcirKgDs3+nIkeVY=;
 b=V+IxMdxeQNGFd/DUu3zeic00i1ja+zFUoj9G00pt74+wedolXWmmqNnC0YOhUHMIo17FZpNDZB/PisKiKvOZzNJ9Luv+MLyyOMcNcN8JU9gHnBK7K3xvuON4qHzi8inZMTr2sRbuiCE86uw4QkrvF4EJi75d/FUtV71N9j2CakVSbIsNYemRG5woM3RK13nZUJdWa1qa+9EzcYrIYZqBXg1jUDVieYLVlnFIE/CBpWHswAjIfLBrYVr9PIU47ZWUl/qX9/o3oAR9KF5RQGhEfLWRof3Ae1k+hE0DzeGxdFKy7BHCVb3l0faTuVsZv0qKzY14NCo86+f5nixZUk+xKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EChvqjBjhTXvURngM3ftgLfddBzxcirKgDs3+nIkeVY=;
 b=JhF4ZSu4+/z5dqUV07qtBD7ItTWY+u6G4OleybYKNShDquRHmStXVJVc9o3EyguC+/w44aDhucLlpQmwB4FAeINmvtI8QNeI50PQF/bcJk3gVC+1NfHUIoR+qCEsHsOtZgdb9waboPy+zYAJGA70vURlKCWVfS0oXvU4IEdr/xw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 06/13] virtio-gpu: Configure context init for virglrenderer
Date: Thu, 31 Aug 2023 17:32:45 +0800
Message-ID: <20230831093252.2461282-7-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|DS0PR12MB6653:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c63b30b-12e2-48c6-2de0-08dbaa05695d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pcGdAYgEtb2TyyoQQWg3lcJW4c1rV2Qd3TrXaXTBcwiWUejwLjf0xlNIYx6+jHwLpHp7dpHIMgTC87VPALuacBGF5uMgEZcv29qcQqqRilrswpv6WMcm2aWgK+BC5TTD3e38/u5ON+OYhSYp0iFCH91s1IfyhTFNCcxHf9QJVF/aBvWUgLUeeQ/k0jmWWly3bC65JKWpVnCZN5vfCmDdH6pIToc9elIv1mBohf27bPRuf7koD0lp+2wDat83t554LSATPEju8CpdF2CoOoeZThanlP5FUMG0MoY6eQJCCSZHCICrCzrFTQWVp4M0F9Zycu3Dz40jMCMX2bOcTcYvpWMGTp/IeKzaBktf8rGUlwqIRS/TjPMF2tr9r88kdc0hmbgEWzdxqWNl4LRCEy9H0E5WWl/OLKNUhDN8FofpXGQktdL/eokKjXQFlweHJ76pgj/12KJ+UWQzzcXyQvpY574GTuUgYLgfZfw7D1lfMSY2vpsqmBF96Eozg1cfrKOnyUXjyN38VjOoi5YkzxtIqi0QTw0/05yyA5pepu0T53l8IyK7z1TpAj3wglVhLpD2ysMp8zhwjCXanLc5XpmXw/5IDMpQWtC/0tS16kngcu04K6+KYtSCs4Zx/0ZETKhIwfiLfBldLFvsSR4oaBvXaisiPcI0SbFHSq/AkytZuBw5Y9CODayMr+8HCE13yD/fgALOHUJtrw8f+jlECsnRwAaEuuIbH/RlRn25R1bQ+ZA2BscKOjfWysAy2fbsypsjWi/UhqUxnCSnRQs5pKFgrhYNTxYRaTlnoLL8cd0XvE4=
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)(4636009)(346002)(396003)(376002)(39860400002)(136003)(186009)(82310400011)(451199024)(1800799009)(36840700001)(46966006)(40470700004)(36756003)(40460700003)(40480700001)(83380400001)(4326008)(41300700001)(86362001)(8936002)(5660300002)(7416002)(8676002)(1076003)(26005)(336012)(6666004)(16526019)(426003)(7696005)(2616005)(36860700001)(47076005)(82740400003)(110136005)(356005)(921005)(478600001)(4744005)(81166007)(2906002)(70206006)(70586007)(54906003)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:02.0767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c63b30b-12e2-48c6-2de0-08dbaa05695d
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6653

Configure context init feature flag for virglrenderer.

Originally-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

New patch, result of splitting
[RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature

 meson.build | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meson.build b/meson.build
index 98e68ef0b1..ff20d3c249 100644
--- a/meson.build
+++ b/meson.build
@@ -1068,6 +1068,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
                                        prefix: '#include <virglrenderer.h>',
                                        dependencies: virgl))
   endif
+  config_host_data.set('HAVE_VIRGL_CONTEXT_INIT',
+                       cc.has_function('virgl_renderer_context_create_with_flags',
+                                       prefix: '#include <virglrenderer.h>',
+                                       dependencies: virgl))
 endif
 blkio = not_found
 if not get_option('blkio').auto() or have_block
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:34:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:34:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593598.926641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe4A-0000bt-EO; Thu, 31 Aug 2023 09:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593598.926641; Thu, 31 Aug 2023 09:34:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe4A-0000bi-BM; Thu, 31 Aug 2023 09:34:18 +0000
Received: by outflank-mailman (input) for mailman id 593598;
 Thu, 31 Aug 2023 09:34: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe49-0006tw-57
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:17 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20617.outbound.protection.outlook.com
 [2a01:111:f400:7eab::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c2f5240-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:34:15 +0200 (CEST)
Received: from BYAPR07CA0055.namprd07.prod.outlook.com (2603:10b6:a03:60::32)
 by CH2PR12MB5003.namprd12.prod.outlook.com (2603:10b6:610:68::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 09:34:09 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:a03:60:cafe::a1) by BYAPR07CA0055.outlook.office365.com
 (2603:10b6:a03:60::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.22 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:08 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04: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: 8c2f5240-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d8HoCiSbJyYGxsfCesVKkpuUe78FZoESbRoKIC9YXh2hXiTvt1SwB70lQaK9LxlQy7gJvB3euw/FDczW/fMVLbpdNBss1L48F3WpW7v+dKm49Y+/MuE/YpkOqKt3sm32zRINJ417JlEFqPhAyDHxEwsBI85FbRrZp1Wcynt339OK1uiJdhWKEo9YGoBFqSkC3gyRHpZzWFOehtznCQkMFWCw/ttqv/13koeMjhLME67C6CdGNURz/QszAebeKJWwhuZKHx7mnHRhOXlKYj87ThmnfQNEfKBx+YwgCvzdR+pa+02USIDIlgnWzWMIPaTq1AtJFkr3vANi5YxDiCL+Pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AeYT00pmQm0gqierfTJ00hW3jq9idCkamPMS44rd90M=;
 b=bK0hSVRXFVcec2NebqQ4yn1zC5FplsV+YSQT2f89jgTBgoGyJi+FH/UvQKcwmZ5bE4Ug2mHQO4BOQmu3q/PxAuAW1pU4av3ZwFQjHg3ja+aSJ2Qd3CZAcB2FEyX+uMOJwqaQUoEJ1gzofdF9wJRZ4I1UtbDV1hT1ECM7x2M+NG07ItTnaePXyOOpVHT2spE1OP5uUkZ+7+nXMIgsJ0bMNOz665EpAfVPv2bEGgAcNtPpn19zzEmbCDsimPO6QDcbn2rA63+/kd/lrGLQ7Ev1b9URiuQ/XePf7Ls4G2ezwYAFrA9qsQ/hIxipbmAiZ1HQcMqKfyFJjWnLaZEJE9InEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AeYT00pmQm0gqierfTJ00hW3jq9idCkamPMS44rd90M=;
 b=de4aJkrX5U/AgGo0ZeMp+bj4gG8ZB6fJe0XexMwqQ+eKIy6q1yQBlzjTTlmNBmuYxQQpYcJoRnieSk6JZIAggZtOC7DPl/2WAWsl2iI969YuMw3PsXRi6ZqeBiD3VmiLD3uA/gUP6XgvF2Apb9/qykYKs978V0UUtb8JwbWse6Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 07/13] softmmu/memory: enable automatic deallocation of memory regions
Date: Thu, 31 Aug 2023 17:32:46 +0800
Message-ID: <20230831093252.2461282-8-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|CH2PR12MB5003:EE_
X-MS-Office365-Filtering-Correlation-Id: d5915b9c-0019-4dfb-a24f-08dbaa056d3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oRVVcJJ13RUqImpr8NEIQ2dAkp54ZfX4roNhXnyLp1TcM9W3UMKEnmqDn2Pcwb3bOXv9cujpRX1CUwQ8tAOLVpbbfYeTzCQLNCu6mIZyi7Atxp5AoUm3o20iEeuWDE6BvG3PnW+FWrRXF0kYC8jiFl1W+sds1+WGoygaR74zc2DkK6MnKAsbTz2sfwjqCUgVuITtfUoZyk2+uweTPyrWCq7Mh9xKpdNVSTCh/yLn11hD2SNsYqqmVkVY99BTCJq12Rd3Kj4sXLL312LS48I2B4hilUypkQ6HZTbfSelbtk0tuYhlq7F1kFbQ8/JXwBnt33t8tbsUIoCglrXTlBtW/j6c1wOw1cWYM+AmCy2WYZ9xvEDXCj048gyVIvi/dc+fhVV+F0SJtvj2mrCeBsauNPL0XLFbtkxOiZUflOEa5OEhgW92NWcoPQkcXP+6NebFZK7EDUO0NM2WwwRa9GB5bs1/AMsEpp5jomveQiDJUtQUmd5SskX7jXAJKe7JEhh2m/uWeQEGksHnie5//jsm8RwXczN2dVuOKF5Aupw14LqDF8X9S87Q67zJZN22QsD79e5eig9m+j0ocI1uqTNJzuziYpdL2U22JhXwK4zjOmO1FPWWeyWu78GB/EsgVvxTT/53J1Pt0NhjEYenWE+tFwpzKiDNJ+RF7M7gQhFWQs8bJXgIgfOzZ5twlexCzY0nlviYAvKIhEzpI0wRC7z1dpJLh85/R5zqoOdY3UYHQwBNg1iY6KpSQq4r+a5ZpitlY91CmSDIdzzFdH60TUst5rQN8D2zfxN/srAV80gG73Q=
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)(4636009)(136003)(376002)(396003)(39860400002)(346002)(1800799009)(451199024)(186009)(82310400011)(40470700004)(36840700001)(46966006)(82740400003)(66899024)(6666004)(7696005)(40480700001)(1076003)(86362001)(36756003)(40460700003)(47076005)(921005)(36860700001)(81166007)(2616005)(356005)(426003)(478600001)(336012)(16526019)(110136005)(83380400001)(26005)(5660300002)(54906003)(4326008)(8936002)(70206006)(70586007)(2906002)(7416002)(316002)(41300700001)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:08.5768
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d5915b9c-0019-4dfb-a24f-08dbaa056d3a
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB5003

From: Xenia Ragiadakou <xenia.ragiadakou@amd.com>

When the memory region has a different life-cycle from that of her parent,
could be automatically released, once has been unparent and once all of her
references have gone away, via the object's free callback.

However, currently, references to the memory region are held by its owner
without first incrementing the memory region object's reference count.
As a result, the automatic deallocation of the object, not taking into
account those references, results in use-after-free memory corruption.

This patch increases the reference count of the memory region object on
each memory_region_ref() and decreases it on each memory_region_unref().

Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

New patch

 softmmu/memory.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/softmmu/memory.c b/softmmu/memory.c
index 7d9494ce70..0fdd5eebf9 100644
--- a/softmmu/memory.c
+++ b/softmmu/memory.c
@@ -1797,6 +1797,15 @@ Object *memory_region_owner(MemoryRegion *mr)
 
 void memory_region_ref(MemoryRegion *mr)
 {
+    if (!mr) {
+        return;
+    }
+
+    /* Obtain a reference to prevent the memory region object
+     * from being released under our feet.
+     */
+    object_ref(OBJECT(mr));
+
     /* MMIO callbacks most likely will access data that belongs
      * to the owner, hence the need to ref/unref the owner whenever
      * the memory region is in use.
@@ -1807,16 +1816,22 @@ void memory_region_ref(MemoryRegion *mr)
      * Memory regions without an owner are supposed to never go away;
      * we do not ref/unref them because it slows down DMA sensibly.
      */
-    if (mr && mr->owner) {
+    if (mr->owner) {
         object_ref(mr->owner);
     }
 }
 
 void memory_region_unref(MemoryRegion *mr)
 {
-    if (mr && mr->owner) {
+    if (!mr) {
+        return;
+    }
+
+    if (mr->owner) {
         object_unref(mr->owner);
     }
+
+    object_unref(OBJECT(mr));
 }
 
 uint64_t memory_region_size(MemoryRegion *mr)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:34:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593599.926652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe4F-00012Y-P6; Thu, 31 Aug 2023 09:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593599.926652; Thu, 31 Aug 2023 09:34: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 1qbe4F-00012M-JP; Thu, 31 Aug 2023 09:34:23 +0000
Received: by outflank-mailman (input) for mailman id 593599;
 Thu, 31 Aug 2023 09:34: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4D-0006tw-Qd
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:21 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f143fdb-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:34:20 +0200 (CEST)
Received: from BYAPR07CA0049.namprd07.prod.outlook.com (2603:10b6:a03:60::26)
 by CY5PR12MB6348.namprd12.prod.outlook.com (2603:10b6:930:f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 09:34:16 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:a03:60:cafe::7b) by BYAPR07CA0049.outlook.office365.com
 (2603:10b6:a03:60::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:16 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: 8f143fdb-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G06Hc0ANkjTHf1KfDwuIZ76eQLjwJvv65krvi00iHGBg+QojPRAgWVzrE+bvyPKfw3px8wYhpXKDLDnuLNYaDEsr47uX3+CuxTZgFEYDW11FCY50K4Y/fnbwAsWecS98Q9oh1KdV2LLhuuPPkGcWrEaft/6ZJMvZ+BTSRYHHpiy8505gCjr+bU3xdq2p9SjKamtCKjMbCsWXrUDi3oAVNrAO/BCvrMh/Us6Z4Km8bwX/3IEjn1BJHGsgGXfnsIe/gAEhUWMkuPSorAieusKAdFRQOwtaeQRwQ7CimrWqchru8XwnG6CvhZzzJOyHf8HTyLWakIQfTNtTHYEFTkp/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=1+X5ZatVHqnfPO5JcziK+a+lIS1VDYzYwjEVUrRs1ww=;
 b=kx7NnMsj3jrq6ZkgVcFstBlGfVsfpCUpDAcIptKAwUPpMMFp+EO12Wc18hCK0NuBGehFS7FOg9FJ+eIqyn9OLts4Wwt2jzaq5pAcDPxCYDlt1wgr9rmQ2HV9jgtHtiy6s3N6YNUA2YlpoKCa8P07IoVM0U5nnQLNVy3JiC11Ah7SkgNflpsxoXbjMMmxHRRByG9KQlZZc0I5V96ixu/aBxDu9ftr1LIpDDZyHKLgb/yKyOtoRVcNNk2prpxnbQ2QIw3sHQOM1YusdHrc25ZYH9ZyPKDRCqXYUsScLenC50gir5wWTyXSJwOC0oxRS0sCHqCZCRD/s3erRIdDIcYmPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1+X5ZatVHqnfPO5JcziK+a+lIS1VDYzYwjEVUrRs1ww=;
 b=tMffFEefbmerBgeWmWDt+M4JbUDbY6mNxyraRA0dU94BL+V8HL0FutIU5kf6IntVVPn2mhogY2B+YMLh0+wz6/zD5ggT5LHFQThhB3SsRNV0AQQJ8mYUOU51KT2xmp/D/3Vw2AMOHwbu0HCDb3FnoStAZZ0P+lLM8Z0wliFRGvA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 08/13] virtio-gpu: Don't require udmabuf when blobs and virgl are enabled
Date: Thu, 31 Aug 2023 17:32:47 +0800
Message-ID: <20230831093252.2461282-9-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|CY5PR12MB6348:EE_
X-MS-Office365-Filtering-Correlation-Id: c886956b-e0cd-479f-c094-08dbaa0571c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4r2es5Rgb85nUtf4YzkQ3HSVYYvhKASodBRoTDxX2sr+BRELK0XFk5YFoazM9roAV7NY7mBQ8G3Sle8GAS3gGBGH2U5CPhRIzUCicauXN8GIkxo1EBEAding1w/BytYEH1FZ2gWqxrUf1jdUrNhTVIX6bHKevahpDOFi8H9w28OykpFmkwTfqdMA133YW29gSmYpCQwF7TeXlSrKZSa7t6dGellFIodQoXhchy+4WYUhztiS5wEv8LR/A2we0bOP+croL4CdkH1x2RA4z1w4MIxoBd//88wKpvNTLzT9TMxKRH6t2qa251SXkTT6YH5LIPEU59Gakq92qPZGenRhqKG169VYKxAFtqqlN3Cs+aeZoWnqDiDvF5e9wFSa8LVEmaHYp9ibwILld8CX2MV245bqhenLg2j84jRQHWy6OSrc0MeegThQgHKPLKutNK/U9lUrFtKojDm8208iAcRN3i92ND/ccwF3PhLRK2bvImKcovkAI43O7/jwwq12Yqn9Z2Msf1mHwrh95wz0m/kTkkQTTUkp6NecidPHzHIaVRLs+oxYo7c1doz9TJ3TKtS3pqQ9aRHvlmMnSKvWedwneXlFn/Z7N9LqzOpjlL9k/b96IkDsZz00yblOTQvcmFm5o4xpmm5acH+WX0G1Q7o6PRZrkggOERIAfUPiDLuGSBoWElMQc7XzowLSJ2XoJaem2mdhT6I89EAkdtkVxp9YYYrYORsrYIVeAqkQQTZZopKLgjEPd8dkaCKZJ6vApvzQm4GtYbSrJTw/YHtyUdVyxU7HSpKZSgqtAdGSM+PUT/Q=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(376002)(136003)(346002)(396003)(39860400002)(82310400011)(451199024)(1800799009)(186009)(36840700001)(46966006)(40470700004)(6666004)(7696005)(478600001)(83380400001)(1076003)(2616005)(2906002)(336012)(426003)(26005)(16526019)(7416002)(316002)(54906003)(41300700001)(70206006)(70586007)(110136005)(5660300002)(8676002)(4326008)(8936002)(40460700003)(36756003)(40480700001)(47076005)(86362001)(36860700001)(81166007)(356005)(82740400003)(921005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:16.1863
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c886956b-e0cd-479f-c094-08dbaa0571c3
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6348

From: Dmitry Osipenko <dmitry.osipenko@collabora.com>

The udmabuf usage is mandatory when virgl is disabled and blobs feature
enabled in the Qemu machine configuration. If virgl and blobs are enabled,
then udmabuf requirement is optional. Since udmabuf isn't widely supported
by a popular Linux distros today, let's relax the udmabuf requirement for
blobs=on,virgl=on. Now, a full-featured virtio-gpu acceleration is
available to Qemu users without a need to have udmabuf available in the
system.

Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

New patch

 hw/display/virtio-gpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index a66cbd9930..5b7a7eab4f 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1361,7 +1361,8 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     VirtIOGPU *g = VIRTIO_GPU(qdev);
 
     if (virtio_gpu_blob_enabled(g->parent_obj.conf)) {
-        if (!virtio_gpu_have_udmabuf()) {
+        if (!virtio_gpu_virgl_enabled(g->parent_obj.conf) &&
+            !virtio_gpu_have_udmabuf()) {
             error_setg(errp, "cannot enable blob resources without udmabuf");
             return;
         }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:39:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593617.926661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbe9R-0002iC-IQ; Thu, 31 Aug 2023 09:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593617.926661; Thu, 31 Aug 2023 09: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 1qbe9R-0002i5-FD; Thu, 31 Aug 2023 09:39:45 +0000
Received: by outflank-mailman (input) for mailman id 593617;
 Thu, 31 Aug 2023 09:39:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nRSd=EQ=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qbe9Q-0002hz-Mg
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:39:44 +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 4fcc2c5a-47e2-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:39:42 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-52bcd4db4e6so741218a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 02:39:42 -0700 (PDT)
Received: from [192.168.69.115] ([176.187.199.245])
 by smtp.gmail.com with ESMTPSA id
 s2-20020a056402164200b00521953ce6e0sm573340edx.93.2023.08.31.02.39.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 02:39:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fcc2c5a-47e2-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693474782; x=1694079582; 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=7JdPg93Ei8hblCCjbAx2Au7bfzurcULcL9LDqSm08Ls=;
        b=ElPKTW/VKonKLj9qefDP1y3ixxj0E4DMUMgMgBw02V2JjhVWw9mDt7t0Ft133Z9XTH
         rcUDYc9Cx0ClAi9UyBPq3JcMGjPC5X1k9i6uX9Ra37B6vIkG1h/rc5B9713PKpUlc0fT
         34vDA+Aa13geCWfA498uNFt+DF5Uiy1r2pi8U/JJW4zA5fgbEo16GT9GKyCqsRS10VNI
         l07HRD9bvJo+oKBvK+c4rGOKUUu/T5E22IJZrf5bDYjlQdRn8UU/4NFyRsvGZu/CE84Z
         vWympyLrpunqosripMiu3ADyyTyZnDsKm6BfQMMuNHl4e3nrgLvqZ4diaAC+ajh0ZEZI
         luaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693474782; x=1694079582;
        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=7JdPg93Ei8hblCCjbAx2Au7bfzurcULcL9LDqSm08Ls=;
        b=NaiDeDJKcG+BW74kH8yFH9jY/xDvnTHnmuVgAHJGyEcdXaQDjXe+zpTgxOjL78TOQr
         xpOfaAJjCGm3NXDWOJQmAnl0Fy4lI6LQhQSoCR5HfEVtL1SkFIiEX3xG3eAw//OPcP92
         naMOAU9dFZsaQuM6CJZ5LueOaEAXHUjnKRo5mGOjsMclL/uEsmZgm/ouA6mShzrqS88Q
         gLk3yVE1FT0/PdwKvxYOnQnM6dP4t3O8B8DfG960kJR3+KNEwLz2XSmJkEoJR8weMKJn
         1to7qBpWASk6nkKv7Iyan60f0BMlp5jlOZpa9jEgb7J9cpf7Od20qR83ibQtncZyuHmC
         ZpNw==
X-Gm-Message-State: AOJu0YxdWaH+xVpmcbL890BWPA4ckVB/P2YZHcvms9MILCO28xKkrn4z
	INoUwzBXiVo2BRr1R6Bc+xMTBQ==
X-Google-Smtp-Source: AGHT+IFKFcGA55zoP29NL8tSR2n9BKd9iAV/sJ4cWrvrJR59iHHmgQtwvMfn6apItLJAT6m18Ev6sw==
X-Received: by 2002:aa7:d80f:0:b0:52b:ce21:ad12 with SMTP id v15-20020aa7d80f000000b0052bce21ad12mr3293192edq.4.1693474781845;
        Thu, 31 Aug 2023 02:39:41 -0700 (PDT)
Message-ID: <a3ffe20a-db49-5c16-caed-a858ea5dff09@linaro.org>
Date: Thu, 31 Aug 2023 11:39:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [QEMU PATCH v4 06/13] virtio-gpu: Configure context init for
 virglrenderer
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-7-ray.huang@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230831093252.2461282-7-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 31/8/23 11:32, Huang Rui wrote:
> Configure context init feature flag for virglrenderer.
> 
> Originally-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> New patch, result of splitting
> [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature
> 
>   meson.build | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/meson.build b/meson.build
> index 98e68ef0b1..ff20d3c249 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1068,6 +1068,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
>                                          prefix: '#include <virglrenderer.h>',
>                                          dependencies: virgl))
>     endif
> +  config_host_data.set('HAVE_VIRGL_CONTEXT_INIT',
> +                       cc.has_function('virgl_renderer_context_create_with_flags',
> +                                       prefix: '#include <virglrenderer.h>',
> +                                       dependencies: virgl))

Shouldn't this be inverted with previous patch?



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:40:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593626.926671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeAS-0004F9-S8; Thu, 31 Aug 2023 09:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593626.926671; Thu, 31 Aug 2023 09: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 1qbeAS-0004F2-P2; Thu, 31 Aug 2023 09:40:48 +0000
Received: by outflank-mailman (input) for mailman id 593626;
 Thu, 31 Aug 2023 09: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4d-0005pR-2v
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:47 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20614.outbound.protection.outlook.com
 [2a01:111:f400:7eab::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e974a5b-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:34:46 +0200 (CEST)
Received: from SJ0PR13CA0105.namprd13.prod.outlook.com (2603:10b6:a03:2c5::20)
 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.6699.34; Thu, 31 Aug
 2023 09:34:42 +0000
Received: from CO1PEPF000042AE.namprd03.prod.outlook.com
 (2603:10b6:a03:2c5:cafe::79) 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.6745.18 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042AE.mail.protection.outlook.com (10.167.243.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:41 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: 9e974a5b-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UGjl2NGlswrqBZCj7671tYCOZpD2NuDesuEVau5Sp5XsAc0NcP9HYISnfeztfSmU+z3r65mEdPA540hly1Qlp3UP2MoXH7+mlOOPfX/ssbh1JgCkbMQ5rlDQaJz+SpD3VsBlAlkbtT1C7omLTy+SMa/HK1Ja8p1OqNJlbAbDK1ha1HJZYQg0dCJYAUpxdNw/47JB00CPWiVNrRGJd4c0oL9vm68yFLwaPwU1SrART6LGKH39CGWYZKIJCLvWkTTC5Ph1IkQ/gcP7WIGPYJX5+I69LdT72kicrJYRiiVXOQlEjVBJmdEtsU2riRot3/nII+4SO3ftSFcrSfIW3qDHtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7jKl0Cln6cyhAJBoLYKE6z9NzKJbaZOSW+kOo6d5qjw=;
 b=oB++OdzYAxAOLWwAQckIGiNZ9GA6SQM1L1YkwShr0FtJQn3kr0EtrnOR2/CFjdyhcnemxUMbrdZI2cwkj5iLX7Pu9GqIBhUatJhPz8ZXMOrhpJcR8whBqhUeB6BLp02LJjv8PjCdNS9r/M5xolYJ5yu4ge5XV2SyAfzgxJaUXdgmGq8qB4mzFRRwer3QFyqBqfE+78mDTirFLssYRgukuBSkcKQZ5KFlfcog+RdS67hSK5wiQCNwV2HoRyD+R4s5ZfVprb3WvXCsQ3d41mEIT4dx4D2wO5R13cqONO1V0UWxlC/e7m1cDTKjgvBnb4oQ0VT2nzp/dCukOt2GUCO9Sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7jKl0Cln6cyhAJBoLYKE6z9NzKJbaZOSW+kOo6d5qjw=;
 b=mXF1xyXyPcKY9wWTofBEF3Tq3dRF03jDbPyyRRbf1hM322av227XY8oC2BF/emjr+omJAfcGTdMUnVugLF8mPg3SV8jTO0AccznJGOc61Fpjf1M9U/h3MnrVg3i73PWax8mO/MPkWrU94YFENxBDQoSDYnl0P1pCfOZuwpgSPD4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 11/13] virtio-gpu: Support Venus capset
Date: Thu, 31 Aug 2023 17:32:50 +0800
Message-ID: <20230831093252.2461282-12-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AE:EE_|SN7PR12MB7419:EE_
X-MS-Office365-Filtering-Correlation-Id: ec34e4a0-b066-4d47-1f4d-08dbaa0580e1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PD6SdGS+R700jXDVgrH0gg2uCJrEQY+Wy07I6QwbVMDEyuDFsXSg5sWCgm+zonTHCd6kxAFcfKDujVf2dwftmLVdon1v+/KX8aP8nhlIbR4eVmK8A7RNkgAaNfo7xTDUNMrF2WjlbYpQBQjA5PXHgaUdY8tKZ9VjYjv2FdNV1Ep206TN17rqz4xh+6oaHvUWdRjuGL/0Mo+cKG+YmSv/nDgayWnHR0LWEPZ67+0C2oOHHeRmkAJ7KY1wtlcyZjxq8xm6+jEj5SLoOyfyMdwT/iLrkii+QHcFQfLJFzIJGfIsC7v+tvW1IHyJHOA8PEftyjmCdFzDHjQhmreTT6ETmMuYV60BiZapTZxnvB1nZGsa/y6VMwuJTpWx9gQXI1hf9qiNCuKMdJf7cljUvV6O7bzaJA75jzHfp5vZ+jtVtQ8asZj0bU9QwOYrqhYfImUmY/nbo5dJnTuZne3RnRf5rOVQOWFKDuaNMGe+LhfPZBalfyO7kQUeywTHgFsnYWBWIXnO9bA/sKvbie5JV3mP9MfmY73IO6WPE6+GtoMpRdIWH0AkfA9zmhoYAtZdYWNVFs+4RFM7mFtSlQedAOwBBDpCy03vArAvGjoWsmAqvtBDRYL/iGcZGN6J50me2J7/TxJ46eHE36KQTHKlZvvECZLzl01rem2NJ6UGd+tGJDA0qm5jFd/juXlo1xrbNoDVv/IgoCxkWfKSvIR5rxIdWzt6svxWRlUE6cU5Wq7QJDmX/I6BVUXISIm1j5sNlTIicIZzsI2jYM7B5b1N/ysUKlLoayLxyxZVudanCbYogEM=
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)(4636009)(136003)(376002)(396003)(346002)(39860400002)(186009)(1800799009)(82310400011)(451199024)(40470700004)(36840700001)(46966006)(356005)(921005)(81166007)(82740400003)(8936002)(6666004)(478600001)(70206006)(110136005)(7696005)(70586007)(54906003)(316002)(41300700001)(40460700003)(26005)(2616005)(16526019)(36756003)(8676002)(2906002)(86362001)(5660300002)(83380400001)(36860700001)(40480700001)(1076003)(426003)(336012)(47076005)(4326008)(7416002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:41.5290
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec34e4a0-b066-4d47-1f4d-08dbaa0580e1
X-MS-Exchange-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:
	CO1PEPF000042AE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7419

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Add support for the Venus capset, which enables Vulkan support through
the Venus Vulkan driver for virtio-gpu.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 hw/display/virtio-gpu-virgl.c               | 21 +++++++++++++++++----
 include/standard-headers/linux/virtio_gpu.h |  2 ++
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 1a996a08fc..83cd8c8fd0 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -437,6 +437,11 @@ static void virgl_cmd_get_capset_info(VirtIOGPU *g,
         virgl_renderer_get_cap_set(resp.capset_id,
                                    &resp.capset_max_version,
                                    &resp.capset_max_size);
+    } else if (info.capset_index == 2) {
+        resp.capset_id = VIRTIO_GPU_CAPSET_VENUS;
+        virgl_renderer_get_cap_set(resp.capset_id,
+                                   &resp.capset_max_version,
+                                   &resp.capset_max_size);
     } else {
         resp.capset_max_version = 0;
         resp.capset_max_size = 0;
@@ -901,10 +906,18 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
 
 int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g)
 {
-    uint32_t capset2_max_ver, capset2_max_size;
+    uint32_t capset2_max_ver, capset2_max_size, num_capsets;
+    num_capsets = 1;
+
     virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VIRGL2,
-                              &capset2_max_ver,
-                              &capset2_max_size);
+                               &capset2_max_ver,
+                               &capset2_max_size);
+    num_capsets += capset2_max_ver ? 1 : 0;
+
+    virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VENUS,
+                               &capset2_max_ver,
+                               &capset2_max_size);
+    num_capsets += capset2_max_size ? 1 : 0;
 
-    return capset2_max_ver ? 2 : 1;
+    return num_capsets;
 }
diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
index 2da48d3d4c..2db643ed8f 100644
--- a/include/standard-headers/linux/virtio_gpu.h
+++ b/include/standard-headers/linux/virtio_gpu.h
@@ -309,6 +309,8 @@ struct virtio_gpu_cmd_submit {
 
 #define VIRTIO_GPU_CAPSET_VIRGL 1
 #define VIRTIO_GPU_CAPSET_VIRGL2 2
+/* 3 is reserved for gfxstream */
+#define VIRTIO_GPU_CAPSET_VENUS 4
 
 /* VIRTIO_GPU_CMD_GET_CAPSET_INFO */
 struct virtio_gpu_get_capset_info {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593629.926681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeAU-0004UV-3h; Thu, 31 Aug 2023 09:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593629.926681; Thu, 31 Aug 2023 09: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 1qbeAU-0004UM-0n; Thu, 31 Aug 2023 09:40:50 +0000
Received: by outflank-mailman (input) for mailman id 593629;
 Thu, 31 Aug 2023 09: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4t-0005pR-Jo
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:35:03 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8c5482f-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:35:02 +0200 (CEST)
Received: from MW4PR03CA0326.namprd03.prod.outlook.com (2603:10b6:303:dd::31)
 by LV8PR12MB9232.namprd12.prod.outlook.com (2603:10b6:408:182::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:34:58 +0000
Received: from CO1PEPF000042AA.namprd03.prod.outlook.com
 (2603:10b6:303:dd:cafe::83) by MW4PR03CA0326.outlook.office365.com
 (2603:10b6:303:dd::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.23 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:58 +0000
Received: from SATLEXMB04.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 09:34:58 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: a8c5482f-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l0F/TSCq02pTe4wuSpSwJ/o872tStH5tjsI7bbMQgcEpbIg8WmgCK/pDq5iVAil8KB9Uddj7paraFEO20yWj1s6yTdaOaG7+QQc4XkrpANr07nBoRIeeaZQINq+bRE8D4lRlG0GohPeYPUgeZBY/JIRkpZs5ekreXx9YAe7L23uza1OOUOfg0Z1bBL8XUY376/+Wj0KCep34rsKpFZCErlu4YwIYuZX5aX9BqE6PouHcAxOjinc6q9mVcMTY2W68MwpRU+jrGlYwQ/0Gwb8cqSUnwS4BsCYfhuKb4qT7X+70XuNv9x+yiqBVIrvvEoGLPzfKU+qYkmtNmJQ56mAouQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A4whcxvah1WNdrkYpCcvCkFOjLQI+i6Mv2VIKDJHLJ8=;
 b=gX97QL9BfYFUspxzJWU3Nnhjkuriy+IuT3xgFYu5xvid1RZuh1cBHGIPbQYdNW1fpJgvVmqT5dRewFyQFdhLahS/vKTjcTP1BeBzjMXW9OQxom6B3IkuKIif6olwPGYEL9VzG9rbPPP4pbxX3u4soI2bfg/NikEWMiyARxa330gkEmx/WRUMvfIKmykQAKcbytU4hFYlpXG8dluyPjhBfZxLME9pmT8HbIObvIY4P692M/trYurg9vUA6v74AJRuOV0uGEbSHQlu5BDY00cb3o+5vAlY594vPKWqvXyCJ2bVwhd1HmM5+6lRQdLu/3SvlHdIyEqAiK/4eVZa3oVNIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A4whcxvah1WNdrkYpCcvCkFOjLQI+i6Mv2VIKDJHLJ8=;
 b=YgcB3AfY5Bsr1h2I7aCuKGEdpVCwW5D1PpiFPcYiKuBbg1uf1vqmNPALpPeC1jAtI/s0e9LzTjNG1eqgiuk1xPc/f5DLOgysALCdAjWgLt1GHdpq0Cuilgjx7ALIFguVZphRw1yICy+IsNd3PXr+TXs/QXDZL9mOVy7R/ZguC+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=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 13/13] virtio-gpu: Enable virglrenderer render server flag for venus
Date: Thu, 31 Aug 2023 17:32:52 +0800
Message-ID: <20230831093252.2461282-14-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AA:EE_|LV8PR12MB9232:EE_
X-MS-Office365-Filtering-Correlation-Id: f9c50f6f-8198-46a0-e949-08dbaa058ac5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dBidW6jv6RWFnhTcFds4EOIGSsBaVzzcWeA0MlWcvFkkGb12aSaqQAEeUv6UVbddR4Js5U0JAoteZ8u+8isMOXeCUzIXQ36b8uJJt4OWp0gbjE8h4TUzAy2iCwbhoFr9jlevLTBDYKb6DN2WMPg1ag4VN+xXdzaUoobRFxY4tI0wPM4OMgSsIfmko9fCdGDtZ617ZDdlSmgR75fG8CZIDpcHC3+b2xnGieKXqBtKRb3Q+j46TpEiSEnkEt8WCCj9KVjIc/3L56HcIZfS+Xu0Zz/vX/0oStolXr4BvZvDidcSy3P1T3/yKZ6z0+p/RV/5mjKA6YLEXSKbBeG6S4Z6LFZMtQxW1TCgUjMMelnUVxnBLTKsSomGvG7mqsGKEy0QTRt5fAtHSmu7oFm/nHqO0Fqd0so+HA9oYMDbVr3Qt6gerob2V5LT1fE8eV1MiKpwRm4lyjZ0H0I3kr2FzEKeMvTy5G5RZqdhGXwVGDWWIDV1lx1yUeu8RDk3MqiKC8Lj/9gNc67VmzUgNDWeqMn8HrDj5jjspgEkXhdUPUIF6Ol9AdF+jj6P8LmOl1YgHdkKBhWRsf70OM21ixHlFxqVxMEm5tBJHYD9oTgB2ccQjr6S1h453p0FpPFLK1XNGmxn2b980kwrVxGQ8UJvIiHrDh5fW6Sf2ljytxROS7dqSNQ7Yrxsm7XrUyhbvhhfz9USgvV6aTNyAN5XWBPTwK/H796I9+XI9J53VQFTIGBokA3GthMGVsawjehKPwt63I8hQnPMe6j9V2rvM3noU7SjCp1jahLq3aZj9J5SuxQXPOA=
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)(4636009)(39860400002)(396003)(376002)(346002)(136003)(186009)(1800799009)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(40480700001)(40460700003)(83380400001)(54906003)(70206006)(70586007)(316002)(921005)(356005)(478600001)(2906002)(4744005)(81166007)(82740400003)(86362001)(41300700001)(8676002)(8936002)(4326008)(5660300002)(26005)(7696005)(47076005)(336012)(1076003)(6666004)(426003)(36860700001)(7416002)(2616005)(16526019)(110136005)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:58.1435
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9c50f6f-8198-46a0-e949-08dbaa058ac5
X-MS-Exchange-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:
	CO1PEPF000042AA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9232

Venus in virglrenderer has required render server support.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---

New patch

 hw/display/virtio-gpu-virgl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index c5a62665bd..1ae3e458e2 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -887,7 +887,7 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
     }
 #endif
 
-    flags |= VIRGL_RENDERER_VENUS;
+    flags |= VIRGL_RENDERER_VENUS | VIRGL_RENDERER_RENDER_SERVER;
 
     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
     if (ret != 0) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:41:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593636.926690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeAq-00056R-BR; Thu, 31 Aug 2023 09:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593636.926690; Thu, 31 Aug 2023 09:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeAq-00056K-8a; Thu, 31 Aug 2023 09:41:12 +0000
Received: by outflank-mailman (input) for mailman id 593636;
 Thu, 31 Aug 2023 09:41:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nRSd=EQ=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qbeAo-0004zc-L4
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:41:10 +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 830bedcd-47e2-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:41:08 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-52bca2e8563so710847a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 02:41:08 -0700 (PDT)
Received: from [192.168.69.115] ([176.187.199.245])
 by smtp.gmail.com with ESMTPSA id
 g10-20020aa7c58a000000b005227e53cec2sm588254edq.50.2023.08.31.02.41.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 02:41:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 830bedcd-47e2-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693474868; x=1694079668; 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=wtrAuLS2IemVwbQWVwz9e7GBYwn2a8GD3H/IILTsKuQ=;
        b=ySs1xWxzcQxy+gpE5asgjXkouTs4yzO+kZt676rpDe1/2vL79Ww0TxwMlSEc7N10/H
         gj05HiGsWmg8mXruHbxP0YL5uSpimJC6gFLs6LidgCbXqhKFyyvMHRx8+xACFiA3GFZF
         8egZ+JIxtmSXqpd/mtxfaXxMfTNSbFDUzKrLDGQu3vXwZtmGUlGs3cYdlAid9XYt+s/5
         NZ/k/4oxVgE17IuVq4fn/nRH0Yj97M/eMabJY3g2/ub5OPXK/DgUjW9YwTXnDBTSvXzY
         igJzcGea0yQTfj2RqpDzAZix53G3P/iPgyN8TLH4MMaaR5OY6Y36ojjuHDYsh3rW5kOs
         7qkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693474868; x=1694079668;
        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=wtrAuLS2IemVwbQWVwz9e7GBYwn2a8GD3H/IILTsKuQ=;
        b=BbnbCQSFgI9kaMy6qy8J/iwwMvTk3fph7UP37jJ3c122ghdP+qIUXqhROhlwGmEeVN
         ezIQCAR+LD5rxfYWprJWZXKIq6xMWArzy9FY/vlwtDla5JCeWH0GTie+dWuPf6F9ni/5
         Jr2OQcF19dMjdzoP4Kpb0XshqFNuxT2PYOknEbFV705tMa94oPZMpJWTHbmNCbD6LVbI
         qjNKJw4LTM0Xh+slgd8LQv7dc6qJV8+xkFIpbu37qxVo/uZiOr/on7w96wCB0THL5t9N
         8jeXLalSjutdKId6Jv8tmLDP9jp2aVRRXc+UFowIe7lpQ8BzBkbKYj7d0XbdAxhvBb4o
         972A==
X-Gm-Message-State: AOJu0Yz9qKLZuEX2XGRX17HN2qAP+NP5fwA+z3Qq+F/i9UWDm8Zu7aOP
	oacr6LDsaaSdpvK1ejvzd3Lx6w==
X-Google-Smtp-Source: AGHT+IG3c1HJMxF4MJNYluefZGxd3hmyWfK9ojUZ7EbwQT0LdoejqO1VhAZhb19uqnff5TwlXBJs/w==
X-Received: by 2002:aa7:c685:0:b0:523:b133:5c7e with SMTP id n5-20020aa7c685000000b00523b1335c7emr4148407edq.1.1693474867879;
        Thu, 31 Aug 2023 02:41:07 -0700 (PDT)
Message-ID: <ef1c5137-f4d4-cb12-c606-ad76f46e4608@linaro.org>
Date: Thu, 31 Aug 2023 11:41:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: [QEMU PATCH v4 05/13] virtio-gpu: Support context init feature
 with virglrenderer
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-6-ray.huang@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230831093252.2461282-6-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 31/8/23 11:32, Huang Rui wrote:
> Patch "virtio-gpu: CONTEXT_INIT feature" has added the context_init
> feature flags.
> We would like to enable the feature with virglrenderer, so add to create
> virgl renderer context with flags using context_id when valid.
> 
> Originally-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> New patch, result of splitting
> [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature
> 
>   hw/display/virtio-gpu-virgl.c | 13 +++++++++++--
>   hw/display/virtio-gpu.c       |  2 ++
>   2 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 8bb7a2c21f..312953ec16 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -106,8 +106,17 @@ static void virgl_cmd_context_create(VirtIOGPU *g,
>       trace_virtio_gpu_cmd_ctx_create(cc.hdr.ctx_id,
>                                       cc.debug_name);
>   
> -    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen,
> -                                  cc.debug_name);
> +    if (cc.context_init) {
> +#ifdef HAVE_VIRGL_CONTEXT_INIT
> +        virgl_renderer_context_create_with_flags(cc.hdr.ctx_id,
> +                                                 cc.context_init,
> +                                                 cc.nlen,
> +                                                 cc.debug_name);
> +        return;
> +#endif

What happens if someone sets the 'context_init' property but virgl
doesn't have virgl_renderer_context_create_with_flags()? Should we
report an error?

> +    }
> +
> +    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, cc.debug_name);
>   }
>   
>   static void virgl_cmd_context_destroy(VirtIOGPU *g,
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 3e658f1fef..a66cbd9930 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -1506,6 +1506,8 @@ static Property virtio_gpu_properties[] = {
>       DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags,
>                       VIRTIO_GPU_FLAG_BLOB_ENABLED, false),
>       DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0),
> +    DEFINE_PROP_BIT("context_init", VirtIOGPU, parent_obj.conf.flags,
> +                    VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, false),
>       DEFINE_PROP_END_OF_LIST(),
>   };
>   



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:44:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593660.926701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeDb-0006n2-UR; Thu, 31 Aug 2023 09:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593660.926701; Thu, 31 Aug 2023 09:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeDb-0006mv-Qu; Thu, 31 Aug 2023 09:44:03 +0000
Received: by outflank-mailman (input) for mailman id 593660;
 Thu, 31 Aug 2023 09:44: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4W-0006tw-BN
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:40 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e88::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99e3ba4d-47e1-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:34:38 +0200 (CEST)
Received: from SJ0PR03CA0026.namprd03.prod.outlook.com (2603:10b6:a03:33a::31)
 by CY5PR12MB6551.namprd12.prod.outlook.com (2603:10b6:930:41::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 09:34:34 +0000
Received: from CO1PEPF000042AC.namprd03.prod.outlook.com
 (2603:10b6:a03:33a:cafe::95) by SJ0PR03CA0026.outlook.office365.com
 (2603:10b6:a03:33a::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.36 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:34 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: 99e3ba4d-47e1-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k92cN5PlgipFyRJ32ahis5g4FYAMVqHXpau5Rf+U10mpc/+1qDu/Gis0JXdJ8UZ/NHlMeFdVdpy5Q6MjeKsB6UFW/Sfk1yVFQeh9w4dkQTR9266YRkT3LN9LNoL4/ENBeAohQ8uSoKUVAYZaGO0R8Dfmqnv9dxxw+h9Hcs0zrwf0KDf1OlpRhQ/KgTUonSfwJF4KsKK9V4q8jJnhwptkyo65GzUXrBJ6yolYQM7gSjqosblwPfDmpfCYfapt+A9ogbbEXQE44sBbyzjMv/S3lwavN5M4x7LKhZNbg6V9G9iB+lD5optv/R5/lUQNnBYFOkaPwjAYx9M1Bc2mwijs6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DbK7uQJAi4F+V8q90U5xPcs4Q6zHnO90JXJwecm4cY8=;
 b=NBayjyZc3qG6hcnE5YOdQFmKrXfIIPtz0qT3DOwg9pqJtksKzDzp/XB1KC231hqI6NxEnWUMdbV4qyrlpeXB15FsyivneVmgu1kLrYtGUhmkuXlGUNpM3WxAXpiMpUeZCwzZIZ1DB7zERjou+D98xgCDeYQWyKSxgZJsDlDix6b+0jo4vrG+XIi6zebStsbe3ZE5tYRkq/b6cpSFthVozMQoH6x4BW4TgrYJTBipABbjV+6NloVTb3CjBngYJ6IVq7zEZabYpSswLHi4p5ZiZVqB8NuyUMx0bWTFh7reRk/lb7xBkrHxF8KUrPfdptzAGm/x3CUS5mPziF62mFW2oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DbK7uQJAi4F+V8q90U5xPcs4Q6zHnO90JXJwecm4cY8=;
 b=5UuETFR46bJz8B28pSr3U9SeIQ4MIketeFXIuObAoeyrQKKpcu5B7ixhjjDlcv08xL6QjrLsUOgIBO/tWOkXUxkrHfKTnwvSf8PoAOM3XHQUfPByXLaOIQUbHBLpHoZfjm0n07fdyf6Sf5U5LZWdM/QsdyWJ/6QUtfI2twpwTg4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 10/13] virtio-gpu: Resource UUID
Date: Thu, 31 Aug 2023 17:32:49 +0800
Message-ID: <20230831093252.2461282-11-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|CY5PR12MB6551:EE_
X-MS-Office365-Filtering-Correlation-Id: e28bab9a-91f4-4dba-e765-08dbaa057ca0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Cz/qFE0StWNbTwTbEQxauRg6cFi5JjH4Q3ZwLu14kiY2f/XzLEYC2uiDMcuRq4x4AoDwz/Kd1VjO/ssbQeijuQBciffUQ4SNTpLawnMnL9XAuRFHmx10y+tat0Id2PZuzZpoqFuSNeWkjrbLtSIEFXrPx1ubACRNkS3acgJjwvIUWMfdZct2vmMeqD/CvEb/bl4J4vNGgfQSiSBEwnzeDJQr6LSCEerOj1txi1fLxnd2oc9j6M1FzhfRa8/m37lWNMvdWLXdFwJt/AwxVJ0kIRLZs+Br70kxny2T9BMrKiPPa82L9XXtz/FT2KfFHm65ErTAMoJQG5yq0hdvuZl6FfdXhtpD4HAUQuQ97n4SL41NEcVD2Z0Omj+Gk0KK+CQCwn220XIntVqX6XY4pV3bYm5uKxZJzxQJCbqRk7j8q/eNZtggzrQrUM+rM5cWMRy7w943xOcOdx8bbybTCTpBsMOJdZiCMUXwSrHs6DW4h04hqJWMRdYivspuvEJ65FoMG/bC0OdrZDQmpRcQRFgfO0O+CvJvFIBJ3HH1TUld7mzVZh0eb+QGy7QRAbfqCYUPWhgZ0K9zeTQsRbV3euANaLyZQ4GTWBDCrdg3rj1psYy1o+69C4iMw0yKMGw10iGIgqQ6M32ckb5xXwqpbtBbUBV3bFa+HsdKMsKb9rcMHFI0J+yCEiO+r36KlqHtSskebBETG/kzpGsCqm70tPRNHyvFkouBgBIa7jNRBExxkUE9KGLuZoPQtSq6T1ACTdHcMPvAFSh3JxBbBbVaSvwyA8j2Kwz3YTI65B5GYw/PRhA=
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)(4636009)(39860400002)(346002)(396003)(376002)(136003)(82310400011)(451199024)(1800799009)(186009)(40470700004)(36840700001)(46966006)(426003)(40460700003)(316002)(41300700001)(5660300002)(336012)(4326008)(7416002)(8676002)(47076005)(16526019)(83380400001)(2616005)(86362001)(26005)(36756003)(1076003)(36860700001)(2906002)(40480700001)(8936002)(6666004)(356005)(82740400003)(81166007)(921005)(7696005)(54906003)(70206006)(70586007)(478600001)(110136005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:34.4129
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e28bab9a-91f4-4dba-e765-08dbaa057ca0
X-MS-Exchange-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:
	CO1PEPF000042AC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6551

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Enable resource UUID feature and implement command resource assign UUID.
This is done by introducing a hash table to map resource IDs to their
UUIDs.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

v1->v2:
   - Separate declarations from code.

 hw/display/trace-events        |  1 +
 hw/display/virtio-gpu-base.c   |  2 ++
 hw/display/virtio-gpu-virgl.c  | 21 +++++++++++++++++
 hw/display/virtio-gpu.c        | 41 ++++++++++++++++++++++++++++++++++
 include/hw/virtio/virtio-gpu.h |  4 ++++
 5 files changed, 69 insertions(+)

diff --git a/hw/display/trace-events b/hw/display/trace-events
index 2336a0ca15..54d6894c59 100644
--- a/hw/display/trace-events
+++ b/hw/display/trace-events
@@ -41,6 +41,7 @@ virtio_gpu_cmd_res_create_blob(uint32_t res, uint64_t size) "res 0x%x, size %" P
 virtio_gpu_cmd_res_unref(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_back_attach(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_back_detach(uint32_t res) "res 0x%x"
+virtio_gpu_cmd_res_assign_uuid(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_toh_2d(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_toh_3d(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_fromh_3d(uint32_t res) "res 0x%x"
diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 4f2b0ba1f3..f44388715c 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -236,6 +236,8 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
         features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
     }
 
+    features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID);
+
     return features;
 }
 
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 17b634d4ee..1a996a08fc 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -36,6 +36,7 @@ static void virgl_cmd_create_resource_2d(VirtIOGPU *g,
 {
     struct virtio_gpu_resource_create_2d c2d;
     struct virgl_renderer_resource_create_args args;
+    struct virtio_gpu_simple_resource *res;
 
     VIRTIO_GPU_FILL_CMD(c2d);
     trace_virtio_gpu_cmd_res_create_2d(c2d.resource_id, c2d.format,
@@ -53,6 +54,14 @@ static void virgl_cmd_create_resource_2d(VirtIOGPU *g,
     args.nr_samples = 0;
     args.flags = VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP;
     virgl_renderer_resource_create(&args, NULL, 0);
+
+    res = g_new0(struct virtio_gpu_simple_resource, 1);
+    if (!res) {
+        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
+        return;
+    }
+    res->resource_id = c2d.resource_id;
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
 }
 
 static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
@@ -60,6 +69,7 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
 {
     struct virtio_gpu_resource_create_3d c3d;
     struct virgl_renderer_resource_create_args args;
+    struct virtio_gpu_simple_resource *res;
 
     VIRTIO_GPU_FILL_CMD(c3d);
     trace_virtio_gpu_cmd_res_create_3d(c3d.resource_id, c3d.format,
@@ -77,6 +87,14 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
     args.nr_samples = c3d.nr_samples;
     args.flags = c3d.flags;
     virgl_renderer_resource_create(&args, NULL, 0);
+
+    res = g_new0(struct virtio_gpu_simple_resource, 1);
+    if (!res) {
+        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
+        return;
+    }
+    res->resource_id = c3d.resource_id;
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
 }
 
 static void virgl_resource_destroy(VirtIOGPU *g,
@@ -682,6 +700,9 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
         /* TODO add security */
         virgl_cmd_ctx_detach_resource(g, cmd);
         break;
+    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
+        virtio_gpu_resource_assign_uuid(g, cmd);
+        break;
     case VIRTIO_GPU_CMD_GET_CAPSET_INFO:
         virgl_cmd_get_capset_info(g, cmd);
         break;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index cc4c1f81bb..770e4747e3 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -966,6 +966,37 @@ virtio_gpu_resource_detach_backing(VirtIOGPU *g,
     virtio_gpu_cleanup_mapping(g, res);
 }
 
+void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
+                                     struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_assign_uuid assign;
+    struct virtio_gpu_resp_resource_uuid resp;
+    QemuUUID *uuid = NULL;
+
+    VIRTIO_GPU_FILL_CMD(assign);
+    virtio_gpu_bswap_32(&assign, sizeof(assign));
+    trace_virtio_gpu_cmd_res_assign_uuid(assign.resource_id);
+
+    res = virtio_gpu_find_check_resource(g, assign.resource_id, false, __func__, &cmd->error);
+    if (!res) {
+        return;
+    }
+
+    memset(&resp, 0, sizeof(resp));
+    resp.hdr.type = VIRTIO_GPU_RESP_OK_RESOURCE_UUID;
+
+    uuid = g_hash_table_lookup(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id));
+    if (!uuid) {
+        uuid = g_new(QemuUUID, 1);
+        qemu_uuid_generate(uuid);
+        g_hash_table_insert(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id), uuid);
+    }
+
+    memcpy(resp.uuid, uuid, sizeof(QemuUUID));
+    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
+}
+
 void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
                                    struct virtio_gpu_ctrl_command *cmd)
 {
@@ -1014,6 +1045,9 @@ void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
     case VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING:
         virtio_gpu_resource_detach_backing(g, cmd);
         break;
+    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
+        virtio_gpu_resource_assign_uuid(g, cmd);
+        break;
     default:
         cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
         break;
@@ -1393,12 +1427,15 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     QTAILQ_INIT(&g->reslist);
     QTAILQ_INIT(&g->cmdq);
     QTAILQ_INIT(&g->fenceq);
+
+    g->resource_uuids = g_hash_table_new_full(NULL, NULL, NULL, g_free);
 }
 
 static void virtio_gpu_device_unrealize(DeviceState *qdev)
 {
     VirtIOGPU *g = VIRTIO_GPU(qdev);
 
+    g_hash_table_destroy(g->resource_uuids);
     g_clear_pointer(&g->ctrl_bh, qemu_bh_delete);
     g_clear_pointer(&g->cursor_bh, qemu_bh_delete);
     g_clear_pointer(&g->reset_bh, qemu_bh_delete);
@@ -1452,6 +1489,10 @@ void virtio_gpu_reset(VirtIODevice *vdev)
         g_free(cmd);
     }
 
+    if (g->resource_uuids) {
+        g_hash_table_remove_all(g->resource_uuids);
+    }
+
     virtio_gpu_base_reset(VIRTIO_GPU_BASE(vdev));
 }
 
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index b9adc28071..aa94b1b697 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -208,6 +208,8 @@ struct VirtIOGPU {
         QTAILQ_HEAD(, VGPUDMABuf) bufs;
         VGPUDMABuf *primary[VIRTIO_GPU_MAX_SCANOUTS];
     } dmabuf;
+
+    GHashTable *resource_uuids;
 };
 
 struct VirtIOGPUClass {
@@ -285,6 +287,8 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
                                     struct iovec *iov, uint32_t count);
 void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
                                 struct virtio_gpu_simple_resource *res);
+void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
+                                     struct virtio_gpu_ctrl_command *cmd);
 void virtio_gpu_process_cmdq(VirtIOGPU *g);
 void virtio_gpu_device_realize(DeviceState *qdev, Error **errp);
 void virtio_gpu_reset(VirtIODevice *vdev);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593667.926711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeE7-0007TL-56; Thu, 31 Aug 2023 09:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593667.926711; Thu, 31 Aug 2023 09:44: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 1qbeE7-0007TE-2Z; Thu, 31 Aug 2023 09:44:35 +0000
Received: by outflank-mailman (input) for mailman id 593667;
 Thu, 31 Aug 2023 09:44: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=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4M-0005pR-0u
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:30 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93f1b051-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:34:28 +0200 (CEST)
Received: from MW4PR03CA0307.namprd03.prod.outlook.com (2603:10b6:303:dd::12)
 by PH8PR12MB6794.namprd12.prod.outlook.com (2603:10b6:510:1c5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 09:34:24 +0000
Received: from CO1PEPF000042AA.namprd03.prod.outlook.com
 (2603:10b6:303:dd:cafe::c2) by MW4PR03CA0307.outlook.office365.com
 (2603:10b6:303:dd::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:23 +0000
Received: from SATLEXMB04.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 09:34:23 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: 93f1b051-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B/ZQUTplMbdK/Qnzhj+Mwaluv/s+ph7M6AUw8GWvKECepIIUR+/z9xH//0dCnek7i8pcddxB9X5IWre2hffTGaCa+CFI2IJAf1LtSpwx9RrEYNFozV8t5Vl+k5tiMpJozIFx82kPZoPagtTrzLNcdxJoR5GP39gYnJm7V5gAcKhr8bQtYWX66VtxcHW98Hpt4jpbgRmLbOxLF9rkioicgdJnQV/roGYdMGlIERCZb91QUKvRenV/arXqlcHJ1/6rByfGwYZLu9gThbAVRqIYynZmZJbYWyT5lD7drYpNGlNWRt1aLPeazictYUTaq6EyDIK1mrLN8cLUeC4O4mBnoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vlX5KH0Nob6MtW1WHMcMYsv6Nyb/7dx++kxZ3zavhUc=;
 b=euoUT/HAEqlxERXXqYWXivccnuuDdLUzRw0T/ZiTLZCbUvgexsPnuiEB88bpZyVJ0CZ5FIRDr3Lacv1M6KecJlw1PVi3EhQcZGBVA6jdfSw7j+P5BD433Opx3oshkucSRNVe1IrJRmgluY64EXmIoxGfLGoeZWN3EaRvosg2xzWDubAqIsS2zdiuUXCAhKNBFZvhkQXJengNX++Wk6f3u8qH5rk9CdEhcsJdQaoDPTJgHTl+jQoTzXi8dWCIZtECafdLUMv4ygokBiyYnRN6RVJj6ffXN1Q6euorVb7a6EDM/YKlCpZFWQk3ttMb5yFws9lLMIIghUIGHn66xKiDsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vlX5KH0Nob6MtW1WHMcMYsv6Nyb/7dx++kxZ3zavhUc=;
 b=nQYr6GokErfb+r1vdRCSnagBVGyI81Dsv0upDnCfF4RilPTKx2yv+Hx88K8rqXXQUP/+1ryc8r6VOOdbaCJLcMiwi8n2yPOEQCXj44Dl7yZD71eDWl4HAzs4Qm0JpD6tNbmGOJLOyAwky9IAtHYZqq7vS2Kx9L52Suai0DKq7VA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 09/13] virtio-gpu: Handle resource blob commands
Date: Thu, 31 Aug 2023 17:32:48 +0800
Message-ID: <20230831093252.2461282-10-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AA:EE_|PH8PR12MB6794:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e55a5e7-c5ba-4dc3-5c73-08dbaa057646
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RM15CUw7CIpAD8sdpRNmA0lqtZbVQVqbpXCnrS0A5tSJB1DhU9CFVeiFjeIa0K1b/MAgJeZtB2awow4wfSIAuY3Ajyi4E1/PgRiothED75z9LVx2PJ2En4EWqg5QeAlZ0bYoZCBilIBVm/4+m/9ewwBMsYqOe7maiKzMuv6eD3L9xRMeAxp5OMtPkdJpeffDdlmNMZBh9gu7WruepIM0cs+gJFIvKt3okp2VdthmCCrivctknv3jzB9oRCVYU1toXdizYIBg0Wm9N3qCDukDwS/p2lwZzYuaRngeS8J5ChE7yVImHwAdit2Vzhe5LFOj/9fTKarx8Cb1v6g1uio90ybcdlXMmySO0lvpRgy7ab/GuQyJrxP5jkPMCDcA5r6R92IA2z5wL6jRwZ35a0KVvmmtqJ4K0Eld4sdZifmf+77L94vjbO9W4v1i031VEITf2BZ+CLgiaJIT4o715DHnGiQRUuiQK+nTWE4/EN9rm+v6zk+IpPtCfYDm8g7HEvYO2dgUp7jZ4M60c3lpwxKB3JfmSXVPSPg1F+BgmLnVKLhcMKpPzjqfjoZCoLqiJ45yxpx200eM45Aq1ZrhP+B/xDg9nJ2oCVHOu5m3McoagWwckaAM/Z9Y80+zNA/asPEIMqul9asIiNg0PyauiOvpLedZdVt626YIwbb37g4nR98nLxlZqIkid4bPNWpKVyqbAzrUBf/rw89bFzhdObl5VNc903kH87Ge28nk8n+Dh4DCxNCN5tUMdQrbk2LVC/lokQ7me2Q2Mu1uNaMiXe7M3XKinAEuVJRUEr9WYnxPNVg=
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)(4636009)(39860400002)(346002)(376002)(396003)(136003)(451199024)(1800799009)(186009)(82310400011)(46966006)(36840700001)(40470700004)(4326008)(7696005)(6666004)(41300700001)(478600001)(110136005)(83380400001)(1076003)(26005)(336012)(8676002)(30864003)(54906003)(16526019)(7416002)(2616005)(70206006)(316002)(70586007)(5660300002)(40460700003)(36756003)(40480700001)(47076005)(356005)(2906002)(36860700001)(426003)(81166007)(86362001)(921005)(8936002)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:23.7531
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e55a5e7-c5ba-4dc3-5c73-08dbaa057646
X-MS-Exchange-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:
	CO1PEPF000042AA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6794

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Support BLOB resources creation, mapping and unmapping by calling the
new stable virglrenderer 0.10 interface. Only enabled when available and
via the blob config. E.g. -device virtio-vga-gl,blob=true

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

v1->v2:
    - Remove unused #include "hw/virtio/virtio-iommu.h"

    - Add a local function, called virgl_resource_destroy(), that is used
      to release a vgpu resource on error paths and in resource_unref.

    - Remove virtio_gpu_virgl_resource_unmap from virtio_gpu_cleanup_mapping(),
      since this function won't be called on blob resources and also because
      blob resources are unmapped via virgl_cmd_resource_unmap_blob().

    - In virgl_cmd_resource_create_blob(), do proper cleanup in error paths
      and move QTAILQ_INSERT_HEAD(&g->reslist, res, next) after the resource
      has been fully initialized.

    - Memory region has a different life-cycle from virtio gpu resources
      i.e. cannot be released synchronously along with the vgpu resource.
      So, here the field "region" was changed to a pointer that will be
      released automatically once the memory region is unparented and all
      of its references have been released.
      Also, since the pointer can be used to indicate whether the blob
      is mapped, the explicit field "mapped" was removed.

    - In virgl_cmd_resource_map_blob(), add check on the value of
      res->region, to prevent beeing called twice on the same resource.

    - Remove direct references to parent_obj.

    - Separate declarations from code.

 hw/display/virtio-gpu-virgl.c  | 213 +++++++++++++++++++++++++++++++++
 hw/display/virtio-gpu.c        |   4 +-
 include/hw/virtio/virtio-gpu.h |   5 +
 meson.build                    |   4 +
 4 files changed, 225 insertions(+), 1 deletion(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 312953ec16..17b634d4ee 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -17,6 +17,7 @@
 #include "trace.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-gpu.h"
+#include "hw/virtio/virtio-gpu-bswap.h"
 
 #include "ui/egl-helpers.h"
 
@@ -78,9 +79,24 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
     virgl_renderer_resource_create(&args, NULL, 0);
 }
 
+static void virgl_resource_destroy(VirtIOGPU *g,
+                                   struct virtio_gpu_simple_resource *res)
+{
+    if (!res)
+        return;
+
+    QTAILQ_REMOVE(&g->reslist, res, next);
+
+    virtio_gpu_cleanup_mapping_iov(g, res->iov, res->iov_cnt);
+    g_free(res->addrs);
+
+    g_free(res);
+}
+
 static void virgl_cmd_resource_unref(VirtIOGPU *g,
                                      struct virtio_gpu_ctrl_command *cmd)
 {
+    struct virtio_gpu_simple_resource *res;
     struct virtio_gpu_resource_unref unref;
     struct iovec *res_iovs = NULL;
     int num_iovs = 0;
@@ -88,13 +104,22 @@ static void virgl_cmd_resource_unref(VirtIOGPU *g,
     VIRTIO_GPU_FILL_CMD(unref);
     trace_virtio_gpu_cmd_res_unref(unref.resource_id);
 
+    res = virtio_gpu_find_resource(g, unref.resource_id);
+
     virgl_renderer_resource_detach_iov(unref.resource_id,
                                        &res_iovs,
                                        &num_iovs);
     if (res_iovs != NULL && num_iovs != 0) {
         virtio_gpu_cleanup_mapping_iov(g, res_iovs, num_iovs);
+        if (res) {
+            res->iov = NULL;
+            res->iov_cnt = 0;
+        }
     }
+
     virgl_renderer_resource_unref(unref.resource_id);
+
+    virgl_resource_destroy(g, res);
 }
 
 static void virgl_cmd_context_create(VirtIOGPU *g,
@@ -426,6 +451,183 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
     g_free(resp);
 }
 
+#ifdef HAVE_VIRGL_RESOURCE_BLOB
+
+static void virgl_cmd_resource_create_blob(VirtIOGPU *g,
+                                           struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_create_blob cblob;
+    struct virgl_renderer_resource_create_blob_args virgl_args = { 0 };
+    int ret;
+
+    VIRTIO_GPU_FILL_CMD(cblob);
+    virtio_gpu_create_blob_bswap(&cblob);
+    trace_virtio_gpu_cmd_res_create_blob(cblob.resource_id, cblob.size);
+
+    if (cblob.resource_id == 0) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
+                      __func__);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = virtio_gpu_find_resource(g, cblob.resource_id);
+    if (res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already exists %d\n",
+                      __func__, cblob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = g_new0(struct virtio_gpu_simple_resource, 1);
+    if (!res) {
+        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
+        return;
+    }
+
+    res->resource_id = cblob.resource_id;
+    res->blob_size = cblob.size;
+
+    if (cblob.blob_mem != VIRTIO_GPU_BLOB_MEM_HOST3D) {
+        ret = virtio_gpu_create_mapping_iov(g, cblob.nr_entries, sizeof(cblob),
+                                            cmd, &res->addrs, &res->iov,
+                                            &res->iov_cnt);
+        if (!ret) {
+            g_free(res);
+            cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+            return;
+        }
+    }
+
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
+
+    virgl_args.res_handle = cblob.resource_id;
+    virgl_args.ctx_id = cblob.hdr.ctx_id;
+    virgl_args.blob_mem = cblob.blob_mem;
+    virgl_args.blob_id = cblob.blob_id;
+    virgl_args.blob_flags = cblob.blob_flags;
+    virgl_args.size = cblob.size;
+    virgl_args.iovecs = res->iov;
+    virgl_args.num_iovs = res->iov_cnt;
+
+    ret = virgl_renderer_resource_create_blob(&virgl_args);
+    if (ret) {
+        virgl_resource_destroy(g, res);
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: virgl blob create error: %s\n",
+                      __func__, strerror(-ret));
+        cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+    }
+}
+
+static void virgl_cmd_resource_map_blob(VirtIOGPU *g,
+                                        struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_map_blob mblob;
+    int ret;
+    void *data;
+    uint64_t size;
+    struct virtio_gpu_resp_map_info resp;
+    VirtIOGPUBase *b = VIRTIO_GPU_BASE(g);
+
+    VIRTIO_GPU_FILL_CMD(mblob);
+    virtio_gpu_map_blob_bswap(&mblob);
+
+    if (mblob.resource_id == 0) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
+                      __func__);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = virtio_gpu_find_resource(g, mblob.resource_id);
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
+                      __func__, mblob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+    if (res->region) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already mapped %d\n",
+		      __func__, mblob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    ret = virgl_renderer_resource_map(res->resource_id, &data, &size);
+    if (ret) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource map error: %s\n",
+                      __func__, strerror(-ret));
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res->region = g_new0(MemoryRegion, 1);
+    if (!res->region) {
+        virgl_renderer_resource_unmap(res->resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
+        return;
+    }
+    memory_region_init_ram_device_ptr(res->region, OBJECT(g), NULL, size, data);
+    OBJECT(res->region)->free = g_free;
+    memory_region_add_subregion(&b->hostmem, mblob.offset, res->region);
+    memory_region_set_enabled(res->region, true);
+
+    memset(&resp, 0, sizeof(resp));
+    resp.hdr.type = VIRTIO_GPU_RESP_OK_MAP_INFO;
+    virgl_renderer_resource_get_map_info(mblob.resource_id, &resp.map_info);
+    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
+}
+
+static int virtio_gpu_virgl_resource_unmap(VirtIOGPU *g,
+                                           struct virtio_gpu_simple_resource
+                                           *res)
+{
+    VirtIOGPUBase *b = VIRTIO_GPU_BASE(g);
+
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already unmapped %d\n",
+                      __func__, res->resource_id);
+        return VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+    }
+
+    memory_region_set_enabled(res->region, false);
+    memory_region_del_subregion(&b->hostmem, res->region);
+    object_unparent(OBJECT(res->region));
+    res->region = NULL;
+
+    return virgl_renderer_resource_unmap(res->resource_id);
+}
+
+static void virgl_cmd_resource_unmap_blob(VirtIOGPU *g,
+                                          struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_unmap_blob ublob;
+    VIRTIO_GPU_FILL_CMD(ublob);
+    virtio_gpu_unmap_blob_bswap(&ublob);
+
+    if (ublob.resource_id == 0) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
+                      __func__);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = virtio_gpu_find_resource(g, ublob.resource_id);
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
+                      __func__, ublob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    virtio_gpu_virgl_resource_unmap(g, res);
+}
+
+#endif /* HAVE_VIRGL_RESOURCE_BLOB */
+
 void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
                                       struct virtio_gpu_ctrl_command *cmd)
 {
@@ -492,6 +694,17 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
     case VIRTIO_GPU_CMD_GET_EDID:
         virtio_gpu_get_edid(g, cmd);
         break;
+#ifdef HAVE_VIRGL_RESOURCE_BLOB
+    case VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB:
+        virgl_cmd_resource_create_blob(g, cmd);
+        break;
+    case VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB:
+        virgl_cmd_resource_map_blob(g, cmd);
+        break;
+    case VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB:
+        virgl_cmd_resource_unmap_blob(g, cmd);
+        break;
+#endif /* HAVE_VIRGL_RESOURCE_BLOB */
     default:
         cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
         break;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 5b7a7eab4f..cc4c1f81bb 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1367,10 +1367,12 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
             return;
         }
 
+#ifndef HAVE_VIRGL_RESOURCE_BLOB
         if (virtio_gpu_virgl_enabled(g->parent_obj.conf)) {
-            error_setg(errp, "blobs and virgl are not compatible (yet)");
+            error_setg(errp, "Linked virglrenderer does not support blob resources");
             return;
         }
+#endif
     }
 
     if (!virtio_gpu_base_device_realize(qdev,
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 55973e112f..b9adc28071 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -58,6 +58,11 @@ struct virtio_gpu_simple_resource {
     int dmabuf_fd;
     uint8_t *remapped;
 
+#ifdef HAVE_VIRGL_RESOURCE_BLOB
+    /* only blob resource needs this region to be mapped as guest mmio */
+    MemoryRegion *region;
+#endif
+
     QTAILQ_ENTRY(virtio_gpu_simple_resource) next;
 };
 
diff --git a/meson.build b/meson.build
index ff20d3c249..f7b744ab82 100644
--- a/meson.build
+++ b/meson.build
@@ -1072,6 +1072,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
                        cc.has_function('virgl_renderer_context_create_with_flags',
                                        prefix: '#include <virglrenderer.h>',
                                        dependencies: virgl))
+  config_host_data.set('HAVE_VIRGL_RESOURCE_BLOB',
+                       cc.has_function('virgl_renderer_resource_create_blob',
+                                       prefix: '#include <virglrenderer.h>',
+                                       dependencies: virgl))
 endif
 blkio = not_found
 if not get_option('blkio').auto() or have_block
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:44:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593671.926721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeEQ-00080G-GG; Thu, 31 Aug 2023 09:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593671.926721; Thu, 31 Aug 2023 09:44:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeEQ-000809-Di; Thu, 31 Aug 2023 09:44:54 +0000
Received: by outflank-mailman (input) for mailman id 593671;
 Thu, 31 Aug 2023 09:44:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YD1y=EQ=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1qbe4i-0005pR-QF
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:34:52 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a25253b6-47e1-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:34:52 +0200 (CEST)
Received: from BYAPR07CA0042.namprd07.prod.outlook.com (2603:10b6:a03:60::19)
 by DM4PR12MB5216.namprd12.prod.outlook.com (2603:10b6:5:398::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:34:48 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:a03:60:cafe::5e) by BYAPR07CA0042.outlook.office365.com
 (2603:10b6:a03:60::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21 via Frontend
 Transport; Thu, 31 Aug 2023 09:34:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6745.17 via Frontend Transport; Thu, 31 Aug 2023 09:34:48 +0000
Received: from hr-amd.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 04:34: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: a25253b6-47e1-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YepS+TXID+Z+ZHNMAD1kNfGCDvWlVCtu/J5o3lYJZO9dlg3fTr8Mn8t4N3KZTB/0Xc3fnKmqrkPDbZMJGNIjTc+JdtOK3DRCv9hGGDkQpoyLXTuplBoxp6MAgN3heUFW0ifr2DUxBhAYHXtavn793ttZnUf+ymXj8r7LKjeCL7nn9TwXsqELSOxgwlqk1zA2qRBSYbcX14ftoomVXItGSuXBkAa8/JxYHxqHBQYNngWsjMKikweJ9/dXSizIwHQh+AtE+ToR6/VrJjl9+IFBQeIwlgMO0YdJ51qC5a73hQyRoy/Oq+XhctESu6VWvTnAGDf83NbNhOZo5lfxDqnZIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DK5ukbAvzb0hia2JZcQd7uC3Wb/ok/DT6B60FOX8X3E=;
 b=nhmL7S7g8iXZbnUtz3Uqfs+AXAPoPe4z4ECOQvrzt8hw+Dev2iCsfdZaXH1LkUDseFf31EWHhOPLHgOka6RzZfrl12gh9Rypg8gotutOQsHhvqQyqTaIejsHfElhxGyLnfNu5MO9UmSTF/1u3UiDBUYSUfl+A4LUze5cqJjLVakoOL4HtEKI/W/GjXL/g+RrNKbI+u48dKPeRF++fu9kOiMRCph4GCpaQjXSdQIEqe+TcQL44J56Iuc8RrLnjEUfioDflzfXNAGCiQ5k6ZG/yz/PztLYZwXJUnfpx1CfP+yE61QzFd9OU5dgn5/6PyeoZyf5dAeEVSetn2aPrsOtTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DK5ukbAvzb0hia2JZcQd7uC3Wb/ok/DT6B60FOX8X3E=;
 b=SYhuz/qKpKW8uVbWcsxB15kjfTXawcsT1c66/BCFDutDN6bvt4vyyKsuOCpoiDg/epBTAqBcC1FdJz+U9dS7Vf5urMfvFCJtRd/2eqMDah7yfhoIO/vDjrz/XVi+gGlO0Qov8PBQ1NFykaxkOYTuNCCtvctDyCZmGTPNZe/o9IA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Huang Rui <ray.huang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>, "Dmitry
 Osipenko" <dmitry.osipenko@collabora.com>, =?UTF-8?q?Alex=20Benn=C3=A9e?=
	<alex.bennee@linaro.org>, <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>, "Honglei
 Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>, "Chen
 Jiqian" <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [QEMU PATCH v4 12/13] virtio-gpu: Initialize Venus
Date: Thu, 31 Aug 2023 17:32:51 +0800
Message-ID: <20230831093252.2461282-13-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230831093252.2461282-1-ray.huang@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|DM4PR12MB5216:EE_
X-MS-Office365-Filtering-Correlation-Id: 975ef433-94de-4d6b-2e37-08dbaa0584ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ImOCzu6+/kEHOzXZGZYrt7abyqr8nqwzXQuC1Za7cvBlTQF4s/Hq1iqker4JBvJkYehLs8E7d2npiBzuHKpASwTpfrb8PDizHTHlfCDBNtqprTvS96Kf4E1Aa1nDsOzrbRNxBH974xBt+zjUGGuhP0XDJyKoslV71Do+MV9/6eBz7jdBOXpBn4fsd6OzNBegRygmaz47dVagVYbSoRVFVxxUI8/oQlS7epTvgROgxzH+RexHGVPaoSpD4Ikyp0g8IXTh/aAhQHtof7TBqOl2CL91ALmoivsXbd9JDUpzftXBMuYqWw/Fg8SllUVTbuN2tp7evKKlsoMxyhJlbdGYHoQWIS+VjSeVSXkm6kDTyaP0RHxSADtQPeDtr9vEXNZZdk5lielelsz5Z/spjhI1RdzYbprIKHOBcatY5coz+DGc0fwfw9VA3hON++tLJWaD2NKsCZg33pIkesmfiFJCX9kPL9OVLV5lNpawctMewuS5Ccy5b5kUw9KguJj3/1fBeiwy1b9GoqZnFGZqCfsa8GCj0IJiMxJKF0CUkO1hfzm5npE0qgSwPiYNmKOUW3NGrAuycouy+Gnfo5PaX1yWGm9q+YEFl3fih/tm/ZGzHu/si/9QrbqgjsPsHD30/jPDL749pXGSt+ajOiVsHPpfTAhjuubq99KduVaAi3nKZqXUzNRy7sLmnP/MjTXk4X6maSkGGjRaEx0ArQ2BPxgA+7AS0kyGVQbM7jLnVP3mznlQ+da86qiOEhtaEXe5DdOH1BqFwqgrK8D7RIER4ZtUvSVPxF6U/larb0JQ+Wozpls=
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)(4636009)(346002)(396003)(376002)(39860400002)(136003)(186009)(82310400011)(451199024)(1800799009)(36840700001)(46966006)(40470700004)(36756003)(40460700003)(40480700001)(83380400001)(4326008)(41300700001)(86362001)(8936002)(5660300002)(7416002)(8676002)(1076003)(26005)(336012)(6666004)(16526019)(426003)(7696005)(2616005)(36860700001)(47076005)(82740400003)(110136005)(356005)(921005)(478600001)(4744005)(81166007)(2906002)(70206006)(70586007)(54906003)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:34:48.4525
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 975ef433-94de-4d6b-2e37-08dbaa0584ff
X-MS-Exchange-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:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5216

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Request Venus when initializing VirGL.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---

v1->v2:
    - Rebase to latest version

 hw/display/virtio-gpu-virgl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 83cd8c8fd0..c5a62665bd 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -887,6 +887,8 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
     }
 #endif
 
+    flags |= VIRGL_RENDERER_VENUS;
+
     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
     if (ret != 0) {
         error_report("virgl could not be initialized: %d", ret);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:46:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:46:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593682.926731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeFv-0000KX-SU; Thu, 31 Aug 2023 09:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593682.926731; Thu, 31 Aug 2023 09:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeFv-0000KQ-Pj; Thu, 31 Aug 2023 09:46:27 +0000
Received: by outflank-mailman (input) for mailman id 593682;
 Thu, 31 Aug 2023 09: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbeFt-0000KB-Tk
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:46:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f12bbd4-47e3-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 11:46:23 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7422.eurprd04.prod.outlook.com (2603:10a6:800:1af::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 09:46:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 09:46:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f12bbd4-47e3-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O5VnJW7cYhp4xgXWb3KzQ+mtb3uQcFHBoUU6Ttl1CbrCo35paerKo+dF21pR+2mGipAHz14iaDQ3S23I9jV9q8xQb7pIudwjwyQkEU425mgqph7N197J2A0yTTyV0EgNjWVewyfL8KDld7jHo/Foz/pkWyjnqM0k0fmJnWUnyr3Xd3tJ3C01YCzIQK+x25J5jsVaAQqQdMJ9Z5/ZxijalsysuRbAqrJqbhlm/k9/aLJoHCpU1L+aW5zXQfMtVnImotClqTPSmmIVPNVvIvRoCC0+oD5FUNEL12NnKiL2iriWpX+ORHdU801kGTaVlq+mABTKd74POl86LmRYfNGC7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GtbEwX4+oS3nKOuBCAwjX38rPt2R6/w4KjD5Mr34F+M=;
 b=NB9xElV+tihS4DmmvMHYsRsUgwFiRSqGTvA5kwQA1S/WQAXaPlYHQJnEAAf7neKtxhb/5jozz7NCBdzZ/mtxPXa/aXMMVzl2MemiGgf9LnO/jjfqr6EFmN+xps+f9rg0ONzXasbBRePO2ca9NX1PaLoIqT21FMO6QcQtMf3//AvCqNG/+6ZCuKmJg6Z8mzl78MAd7E3HmQDsmZ6yJaAnczfp3isXM/bOSi1yb6lZfXUyw84oydKU5Lg4X6WPxZdD41JJMgxXKed4id6NkesAPCbYs0EuyP71euh/IJXQ0fd5bOrrscAN1TyWocOkR8j09P94QVxyNQS1q25W+72gow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GtbEwX4+oS3nKOuBCAwjX38rPt2R6/w4KjD5Mr34F+M=;
 b=g3pLA89xJQ4+nIgCWOKXHzE41wNAasAywnpyOozwUyj24iTIHvpFlgjnNqjIri46GLndNg3M3rxkHt8uSFo8AC/WBkMFLu2rOBm5/O3StAH/iPRyyAFPcibgaRqg/lVItmimVtlIG7sCbG2P1i+DJNrIFUrIqo3TLVTrVruZtYCrlFDvZsKD4ni2fu0Mu1NipYjhh+fUcVnb42KP4RsYsK6Na3sWfzP9x3DNIyX+gy5/GjJ+O45NuNCJ96OM/1jQcgQwikk9y0PfbH/Lx34ZGG70HvpiK+8zKeolscEa4u8nDy8qexD9DDwIAo98GBqp3uoX/CUqkdFDzvNJqyRbwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
Date: Thu, 31 Aug 2023 11:46:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/2] xen: move arm/include/asm/vm_event.h to
 asm-generic
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
 <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0128.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7422:EE_
X-MS-Office365-Filtering-Correlation-Id: f0b3d883-d7af-4fed-19f9-08dbaa072158
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e2IhGc1uWKU+134xf9j14llegi1CQ/yQSPJczCm7BThd0SmohYM2uL5W1AvRalbkptRfpN9t+oraycU8Xgv/6cw8qiZqUeCu+3xGukMcdcL2awFIS8pwANB1qp7OV9hGIHPY/+O/xpmn+IO3g1IkqZUHrezSM6qq5XiyGcxG/jc0blPhUgYAP7rAKYORYOFC4DnmQSmNczGBMinGnepL4KURZ5PuUSFDbqGsS+47l40+xfA0DSLmH3gwHySS1dvbDen8mSrD/aIQatCPYqAIGqIu0jOsDNRtv7IpgJw2NEhId6zOD1sygfnda2uY8UHOMsGHaiK89T61t1srzdCuq2xRtyFKojpw6lMpx9KfLJ9d8nLn52UVAz4EUymiezwT7GmG/3G1Pjru4T2faeW/cBoSEZEPT4awFFj7mDgHD+SKIELmhf5oDTihuKv/Rf+JMKPxcb0GrEbagr0aWEzsGAfTCWt2jXWUCFXJWc1XNNBPmktqe+rq7Ku7uzcNFpEUgivZU5R4JIY/pdPrMUnWf33l+EeIokzprlxTNLgOGwGGoToQXu99ibUj3Xi0cOJRZ8oo3bUNHUylvFfVEsq0wBXAmCSO9sv+doNaUPan2HUOL71/7csmT9dFlwHLqMxFuiXz47xNaKVjPkyW+8/5adkxskjpRioHAj7EvgpeXLw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(396003)(136003)(366004)(186009)(1800799009)(451199024)(41300700001)(8936002)(83380400001)(66556008)(8676002)(4326008)(66476007)(478600001)(6666004)(66946007)(6916009)(316002)(6512007)(2616005)(6486002)(6506007)(53546011)(54906003)(26005)(2906002)(38100700002)(5660300002)(31696002)(36756003)(86362001)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmVOeXQrUDZFWW5OMG1lRno4L0tHaTJoeDg0NkNOT0I2OHczKzlXUzNaMGZW?=
 =?utf-8?B?N3hEZXM3eU13RTlQbU1WdzhoRW5BbnlTc3pFTUVBU2UvVUc2Njd6M2JTcTBF?=
 =?utf-8?B?Yk1LZ2pLWmwzR210bTlITzRLelczRysyZ1paWjVwOE16c25nbnlhOHhCdGRF?=
 =?utf-8?B?VStzVGpoQmR1SzFGVHJja094T0tMMkRZMm15Zms5MU05ZEl1aU1sVmhmR0Nr?=
 =?utf-8?B?bjBjQWFvTnJmUUs1ZkZQcWM0Tm5oQmlKeW5WMFp6M0kyQVVPYlNhejF0QUkw?=
 =?utf-8?B?Ny9nbURjZWxPeEVyZVlhUFk5RXNHakdpOWFpUWluLy9xTWNpZmY2S1gxbkhT?=
 =?utf-8?B?a0xxWUYzcEpFSjhHMW14ZDdJV0RQVFkxQ3k2V1pTaDFHVDVXbmRRYk5ZQTlq?=
 =?utf-8?B?am85N3EwREl0bDUrTzAzM0dIblF5RzRORFlQak9oeGF4Z2lnR1JtMlU3WDQ2?=
 =?utf-8?B?c0NLd1FkUWpUSHo1b2hCcnFqcDg0dzh4ZVlvU1ZyZi9yUHhHaStzUjVqMmRK?=
 =?utf-8?B?TzV3MFBuUGJ0MnBTWFRxQ3NRWXYvL0svc2JYeGVPNHVGV21qRUFubUk3dFJz?=
 =?utf-8?B?QjZLVkVjZVo2ai9MM05LSGhuVy8xTTdCNkFPTGVKNDl5K2FZM1ExZWg4bHg0?=
 =?utf-8?B?aXFwbmJjYnBKUmtBcXo2WUFHUXY3a2krMXh2YzlYS0lLaDVrTTVKOEthcWJ2?=
 =?utf-8?B?WTNMNStxc0l2QjBIY1YxYyszUDVTVWxlaXJwZ1RFclU1THY4TElUOURQUXhZ?=
 =?utf-8?B?eDhSSzJkZnY4TDMrbkY4NElQcmhSeXJHQVhhaWZNU2dWcitSWE9DNWVMTTdB?=
 =?utf-8?B?a2VSbGNBOVV3VlFVQjFYOVhEZkRsUVZic2VMQUI4d3hEYU0wdkM2K05yZ0lY?=
 =?utf-8?B?OUpzWlhjS1dvNmZjbUswNnZNVGw5cktZQVkycmlrNWVSS2QwWHZweUM4cnNK?=
 =?utf-8?B?SFVSYjhmaXprUUVlWW9iWENuRFlKTHpTOExlb29FWElZMFBMcVI2NkNMeHF6?=
 =?utf-8?B?ZmVUdURpZnJXUTZ3Rk8xc081SDBZNnkvbkJvMHhoOEJNWHB3L2Y4NXNtQVEv?=
 =?utf-8?B?R1h4T1dod0RQa1AzVklGTTJMSjVuaUgwRVpKdkQ4NEkxcnQwUU44SExmMWJ6?=
 =?utf-8?B?aTl6NmFIYVdNaTNNT1dXNklsdjlKZUJnOWc5eXNwaFBXc1NtdE44OW0vWld0?=
 =?utf-8?B?UnJVT2M3VFVvVVAxbzN3ZzNHc3Y3NlVJRHlyN0JOY0c3QjN3Qld0MnQrZUNq?=
 =?utf-8?B?TzgwQWYzemdVL0dJeXc2WVpNNzdSQ0lOUlhHM0VuT0VjaUJmOFJULytmVTBh?=
 =?utf-8?B?bnphVUdkRjRZMGw2SE9zQ0QyMDkxNGFpeVdYaWx5Ti9lLzBiU2M5TXBWMWhS?=
 =?utf-8?B?b0hyQThBSjZNcGtEQWlCSy90NE54UkR2dUdnVGQ0SStENlF3MVBLN2dhODBh?=
 =?utf-8?B?NjQvRnhLRkRON2N0aGRDVURMcnNqVGVQek1pelJvQzZJZEN3NXNpc2o3YXhK?=
 =?utf-8?B?aUhyTFpOMGZoRWE3YmVVRTI3cDVERmRJRmVSN0JSOFlabEJMcGlGaFNpOVVG?=
 =?utf-8?B?VVM3Y2RUa1lNbUxtajAwazFPcDFqSWhqTXZlampKUVY2VzRxL3cyWldqWU1O?=
 =?utf-8?B?UWZIb3dTN0tPOS9DampDRENKOGplZHQybnBTcWRhME5GM28zeGUzSHZxOGxo?=
 =?utf-8?B?YjNXakpEV05SR3B5Sm80L0orT0JpL0grWi9pellTYXdVbWdTTlFVclBiYUs3?=
 =?utf-8?B?RU5KU0JUK0xKZlhOUHpQdWo5SnJUQm9IZzdIY1BsY204c0J5Z0s1ckpFTU1L?=
 =?utf-8?B?UmlmZFM4cmx2Z3RQQlhqeEV6ZVBGS05SdXRJVkk5Nm5meXJFK2xpY3BSUDBm?=
 =?utf-8?B?UEIweEtOUTFsWURlSUNYelBxbDhheEEyMlhJQ1FxMFhFV2NYN1BxYXR6M3dB?=
 =?utf-8?B?NVZpTWpmNVVFQ09FeVhMSFZPYUNSVnFzUDNHelFpaWFBU2NsN0Ywai84ZnpB?=
 =?utf-8?B?RUM0dzFJRU13am9mWTNtSWJvNGhMVUdBcFhXTlFPMXRxc0hWQ0U1bERUTDZt?=
 =?utf-8?B?SXFvRGk0ZVJBczIrNmNMaTcramxBRDk5WUgwVlM2VVpxMU5nUHowajFWbHQ4?=
 =?utf-8?Q?KGIsqhFDFvL6GqKy3l/epzYdV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0b3d883-d7af-4fed-19f9-08dbaa072158
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 09:46:20.5152
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GwKpN6YR2xJda2+HJz6OzdkMegIs7dJcqO+Ohv2uQEdtmyg/lyOHDthMEZY8N7aCeZa+ZtXrR23yO76hs1HLdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7422

On 30.08.2023 18:57, Oleksii Kurochko wrote:
> asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> asm-generic dir.
> 
> Original asm/vm_event.h from ARM was updated:
>  * use SPDX-License-Identifier.
>  * update comment messages of stubs.
>  * update #ifdef.
>  * change public/domctl.h to public/vm_event.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in V3:
>  - add Acked-by: Stefano Stabellini <sstabellini@kernel.org> for "xen: move arm/include/asm/vm_event.h to asm-generic"
>  - update SPDX tag.
>  - move asm/vm_event.h to asm-generic.
> ---
> Changes in V2:
>  - change public/domctl.h to public/vm_event.h.
>  - update commit message of [PATCH v2 2/2] xen: move arm/include/asm/vm_event.h to stubs
> ---
>  xen/arch/arm/include/asm/vm_event.h    | 66 --------------------------
>  xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
>  2 files changed, 55 insertions(+), 66 deletions(-)
>  delete mode 100644 xen/arch/arm/include/asm/vm_event.h
>  create mode 100644 xen/include/asm-generic/asm/vm_event.h

While it's a comment on the first patch, it's really better making here:
Did you look at Linux? They don't put an intermediate asm/ here. Instead
see their scripts/Makefile.asm-generic. That way an arch still has
control which generic headers it gets access to, without duplicating any
of them.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 09:53:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 09:53:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593692.926740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeMK-0002QE-I0; Thu, 31 Aug 2023 09:53:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593692.926740; Thu, 31 Aug 2023 09:53:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeMK-0002Q7-FX; Thu, 31 Aug 2023 09:53:04 +0000
Received: by outflank-mailman (input) for mailman id 593692;
 Thu, 31 Aug 2023 09:53:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bdNS=EQ=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1qbeMJ-0002Or-4e
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 09:53:03 +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 2c594015-47e4-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 11:53:01 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-401d80f4ef8so5926525e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 02:53:01 -0700 (PDT)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 25-20020a05600c22d900b003fe2b6d64c8sm4636032wmg.21.2023.08.31.02.53.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 02:53:01 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 904EA1FFBB;
 Thu, 31 Aug 2023 10:53:00 +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: 2c594015-47e4-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693475581; x=1694080381; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1KQEJpUTSLCIJkZRuR1n6Y0QrKahsCjCpNkHfDrCi9A=;
        b=GpDOO2Be45F3z28jtLqVOHghDyQEH3pcKM10Y/lOc9y8Bb9YGTGulg7IdAH6M+GmHC
         Tl1mneOK+u5uauF1rVTRmxkk7PHYKz3v4Pm0k7VKlntt6ddg1qC3JMdxDUBP7Bkj5UQJ
         6S6SgMpKHslqJOZCa6SMCy4sGB/UlCaUMrHJ3sG0U1SampsJrKTtd5RWeilcUUSNePP1
         kVOw7bXcp2ZWUSpT41QOY+WB0WWb6O+jbnqt0LmreXSaw6fM8OvRHpj7kyN//dGy8CT8
         frUup1f0B4NUwSXxgDrHIpZzFwEGXtY50wrB4Q4roO+rOzT6klq3HSew/3KHvQFZcHWZ
         mkaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693475581; x=1694080381;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=1KQEJpUTSLCIJkZRuR1n6Y0QrKahsCjCpNkHfDrCi9A=;
        b=EltwPVnTTJkJLDQxub+Kk9A66emb7V3eFKEVFA1waGdzpJyrkEusEa87abWEYhYWNB
         5i/+WtY8YmcHitujq1i4k5drsj/AJsAIfW4vZKHw7uUfo5O1YV+Oc3eDcWPIFFxju1SV
         xRIjzmsdyWTIjRQpkBomQN0UAR/eyDxVErMgCFjBwt7mKN/VWZu33IwKeBUfkMDbB6kp
         aSNXY+ar5qEtVJCeggQh9fLWkXEXyUzB9jsKkKW7QgDt4KrZ2rLCn4fTT6Pf1gX0y0tF
         bxLBbuIgiehp7Dqd8QS8cwinKKYgfuV/l8Zd768WeBaUSezNiOTYAmd9EWShQ6HYt+PX
         /STQ==
X-Gm-Message-State: AOJu0YxCLilBT6zHNSOVW75FU6uGQdI1oC+7OnQN/t3lxe+UKweONTBk
	3oYRSQmA9Mhx8Q1/kskvTEg7/Q==
X-Google-Smtp-Source: AGHT+IH07XYi9G/V7ZKDKpvNx67oTeZV0bcaqcY1+01w/ToDCzJQPEXO+uS/9PRFrQigGwORJtC3rQ==
X-Received: by 2002:a05:600c:2159:b0:400:c0e8:18c6 with SMTP id v25-20020a05600c215900b00400c0e818c6mr3980512wml.18.1693475581348;
        Thu, 31 Aug 2023 02:53:01 -0700 (PDT)
References: <87y1hspiyh.fsf@linaro.org>
 <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
 <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
User-agent: mu4e 1.11.16; emacs 29.1.50
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
 <xen-devel@lists.xenproject.org>, Stewart Hildebrand
 <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik
 <Sergiy_Kibrik@epam.com>, QEMU Developers <qemu-devel@nongnu.org>, Vikram
 Garhwal <vikram.garhwal@amd.com>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Marcin Juszkiewicz
 <marcin.juszkiewicz@linaro.org>, Jonathan Cameron
 <jonathan.cameron@huawei.com>
Subject: Re: QEMU features useful for Xen development?
Date: Thu, 31 Aug 2023 10:37:45 +0100
In-reply-to: <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
Message-ID: <87cyz3pmgz.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 31 Aug 2023 at 01:57, Stefano Stabellini <sstabellini@kernel.org>=
 wrote:
>> As Xen is gaining R52 and R82 support, it would be great to be able to
>> use QEMU for development and testing there as well, but I don't think
>> QEMU can emulate EL2 properly for the Cortex-R architecture. We would
>> need EL2 support in the GIC/timer for R52/R82 as well.
>
> We do actually have a Cortex-R52 model which at least in theory
> should include EL2 support, though as usual with newer QEMU
> stuff it quite likely has lurking bugs; I'm not sure how much
> testing it's had. Also there is currently no board model which
> will work with the Cortex-R52 so it's a bit tricky to use in practice.
> (What sort of board model would Xen want to use it with?)

We already model a bunch of the mps2/mps3 images so I'm assuming adding
the mps3-an536 would be a fairly simple step to do (mps2tz.c is mostly
tweaking config values). The question is would it be a useful target for
Xen?

  https://developer.arm.com/documentation/dai0536/latest/

> The Cortex-R82 would be more work, because (unlike the R52) it's
> AArch64, and we don't have Armv8-R AArch64 support yet, only the AArch32.
>
> I haven't looked at whether GIC on R-profile requires any changes
> from the A-profile GIC; on A-profile obviously we emulate the
> virtualization support already.
>
>> On Cortex-As, in addition to a PCI root complex and an arbitrary PCI
>> device, SMMUv3 emulation (both stages) and GICv3 ITS are needed to be
>> able to test PCI Passthrough.

We have ITS emulation support and it was recently plumbed into the
"sbsa-ref" board as it is needed for higher level SBSA compliance.

>> However, if I recall correctly SMMUv3
>> emulation in QEMU might not be complete enough to enable us to use it.
>
> Yeah, at the moment the SMMU emulation supports stage 1 and stage 2,
> but not both at the same time. This is good enough for PCI passthrough
> with a Linux guest using KVM to pass a device through to a nested
> Linux guest.

Is this a missing feature for SMMUv3 or something introduced in the
later revisions?

We have sketched out the tasks for SMMUv3.2
(https://linaro.atlassian.net/browse/QEMU-558) with a view to whats
needed for RME guests to access hardware. However I think there is a lot
of other stuff needed specifically for RME including what we do about
modelling things like TDISP. Realistically it will be awhile before we
get to completing all of that.


>
> thanks
> -- PMM


--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:03:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:03:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593699.926750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeWe-0005Ls-Fx; Thu, 31 Aug 2023 10:03:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593699.926750; Thu, 31 Aug 2023 10:03:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeWe-0005Ll-Cy; Thu, 31 Aug 2023 10:03:44 +0000
Received: by outflank-mailman (input) for mailman id 593699;
 Thu, 31 Aug 2023 10:03: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=GYAZ=EQ=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1qbeWc-0005Lf-Mc
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:03:42 +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 a994ed38-47e5-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:03:41 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-50087d47d4dso1266684e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:03: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: a994ed38-47e5-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693476221; x=1694081021; 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=hB33pLaPpLvvdt+D2fH747Y5XKVfL/40nfO6Hfng3FQ=;
        b=hDKEzP18rYuE/YQHRiIVzS6LGVDskEg6FBeMOgjVxVtRqapPZEBWNd8hHs+ZkTHlQG
         7OJeN427WZL4wE+ArwqVrn/OI+4vyXOzFkh0eXB6IUoA5nc3MYu+ZsSy1Z0IM0M8doGq
         bTJ49kmCjkkJ01fsH7l+/l6i2L45up5iDuyZ5ryM1sTV0DEh7MZh5Eer7Op+SaQn0WOk
         6L8VM5LJsJL0QN0eozT3GqvXAhrblR/Z5QnNHc0mVVNThPdVt7Yy7lirSiJzdlQlsVhM
         i4nrMdAMjwGWsu8hbxTNVkB/E+C7RCl9KpZlnnnh5Jq18oylMcjBxoIl3HNGNxSetA4N
         28MQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693476221; x=1694081021;
        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=hB33pLaPpLvvdt+D2fH747Y5XKVfL/40nfO6Hfng3FQ=;
        b=G1+4Zv4uBBvQ1Dso0CW19wLOQJRngUF/zmP7Mq3K/zAAp1Wr0Mmafhfr4jnu8BrQxw
         2Z5RJM8+camFYwHek/jPbvRodfZX9cnXd+DoQIJv9IaEV+aQGBGP9dIn6eeWwqRp+wW3
         xjIklLe5XG2EUcCksrIOMDTTmUvwoNBRcLL2iAFvNuI5qNqpqjN85Qs/IcdA6EM+6rJz
         4/dvePK3Ibc6udNUdRQfr3AQUsbIHkJ5lIkONZyFlwaKHBWQbmg4NatCWAgp52aspzcD
         zYZdLzGMblRl0+dBkCuaBowae8m5jxkFoBJhZE57LuJAcSPImNWbh/uFJRwtHqgp+oBo
         NHQA==
X-Gm-Message-State: AOJu0YyX7xCFUeBXHw7D1cxVHeqeOECaIbzg3DKP5aF6yuc3edTPkyDQ
	eT7zNvUOITlca8W5jikDItOGQLL+coVUT2mXTRn8+A==
X-Google-Smtp-Source: AGHT+IFX/1mT0xBVolLvtKiip3l9RctqLyhOc8k7b+Kx7yXW6Ml6LFMZECJTcU1bzt/3GOP5hwm7DtZPrPFwphsqjfg=
X-Received: by 2002:a19:6914:0:b0:500:b890:fb38 with SMTP id
 e20-20020a196914000000b00500b890fb38mr3118822lfc.24.1693476220885; Thu, 31
 Aug 2023 03:03:40 -0700 (PDT)
MIME-Version: 1.0
References: <87y1hspiyh.fsf@linaro.org> <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
 <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com> <87cyz3pmgz.fsf@linaro.org>
In-Reply-To: <87cyz3pmgz.fsf@linaro.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 31 Aug 2023 11:03:29 +0100
Message-ID: <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
Subject: Re: QEMU features useful for Xen development?
To: =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Stewart Hildebrand <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
	QEMU Developers <qemu-devel@nongnu.org>, Vikram Garhwal <vikram.garhwal@amd.com>, 
	Stefano Stabellini <stefano.stabellini@amd.com>, 
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, 
	Jonathan Cameron <jonathan.cameron@huawei.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 31 Aug 2023 at 10:53, Alex Benn=C3=A9e <alex.bennee@linaro.org> wro=
te:
>
>
> Peter Maydell <peter.maydell@linaro.org> writes:
>
> > On Thu, 31 Aug 2023 at 01:57, Stefano Stabellini <sstabellini@kernel.or=
g> wrote:
> >> As Xen is gaining R52 and R82 support, it would be great to be able to
> >> use QEMU for development and testing there as well, but I don't think
> >> QEMU can emulate EL2 properly for the Cortex-R architecture. We would
> >> need EL2 support in the GIC/timer for R52/R82 as well.
> >
> > We do actually have a Cortex-R52 model which at least in theory
> > should include EL2 support, though as usual with newer QEMU
> > stuff it quite likely has lurking bugs; I'm not sure how much
> > testing it's had. Also there is currently no board model which
> > will work with the Cortex-R52 so it's a bit tricky to use in practice.
> > (What sort of board model would Xen want to use it with?)
>
> We already model a bunch of the mps2/mps3 images so I'm assuming adding
> the mps3-an536 would be a fairly simple step to do (mps2tz.c is mostly
> tweaking config values). The question is would it be a useful target for
> Xen?

All our MPS2/MPS3 boards are M-profile. That means we have the
device models for all the interesting devices on the board, but
it would be simpler to write the an536 board model separately.
(In particular, the M-profile boards are wrappers around an
"ARMSSE" sort-of-like-an-SoC component; there's no equivalent
for the Cortex-R52.)

>   https://developer.arm.com/documentation/dai0536/latest/
>
> > The Cortex-R82 would be more work, because (unlike the R52) it's
> > AArch64, and we don't have Armv8-R AArch64 support yet, only the AArch3=
2.
> >
> > I haven't looked at whether GIC on R-profile requires any changes
> > from the A-profile GIC; on A-profile obviously we emulate the
> > virtualization support already.
> >
> >> On Cortex-As, in addition to a PCI root complex and an arbitrary PCI
> >> device, SMMUv3 emulation (both stages) and GICv3 ITS are needed to be
> >> able to test PCI Passthrough.
>
> We have ITS emulation support and it was recently plumbed into the
> "sbsa-ref" board as it is needed for higher level SBSA compliance.
>
> >> However, if I recall correctly SMMUv3
> >> emulation in QEMU might not be complete enough to enable us to use it.
> >
> > Yeah, at the moment the SMMU emulation supports stage 1 and stage 2,
> > but not both at the same time. This is good enough for PCI passthrough
> > with a Linux guest using KVM to pass a device through to a nested
> > Linux guest.
>
> Is this a missing feature for SMMUv3 or something introduced in the
> later revisions?

It's a missing feature. The SMMUv3 spec allows an implementation
to implement stage 1, stage 2 or both. We started with just a
stage-1-only implementation because Linux doesn't need any more.
Stage-2-only just landed recently. Nobody's looked at both-stages yet.

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:08:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:08:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593707.926765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeax-0006O0-4d; Thu, 31 Aug 2023 10:08:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593707.926765; Thu, 31 Aug 2023 10: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 1qbeax-0006Nt-04; Thu, 31 Aug 2023 10:08:11 +0000
Received: by outflank-mailman (input) for mailman id 593707;
 Thu, 31 Aug 2023 10: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=shXB=EQ=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbeav-0006Nk-Cc
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:08:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47ba8211-47e6-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:08:07 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.24.215])
 by support.bugseng.com (Postfix) with ESMTPSA id DF9614EE0738;
 Thu, 31 Aug 2023 12:08: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: 47ba8211-47e6-11ee-9b0d-b553b5be7939
Message-ID: <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
Date: Thu, 31 Aug 2023 12:08:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
 <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 08:50, Jan Beulich wrote:
> On 28.08.2023 15:20, Simone Ballarin wrote:
>> Add inclusion guards to address violations of
>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>> to prevent the contents of a header file being included more than
>> once").
>>
>> Also C files, if included somewhere, need to comply with the guideline.
>>
>> Mechanical change.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   xen/common/compat/grant_table.c | 7 +++++++
>>   xen/common/coverage/gcc_4_7.c   | 5 +++++
>>   xen/common/decompress.h         | 5 +++++
>>   xen/common/event_channel.h      | 5 +++++
>>   xen/common/multicall.c          | 5 +++++
>>   5 files changed, 27 insertions(+)
> 
> As already said in reply to another patch, imo .c files shouldn't gain such
> guards. These are commonly referred to as "header guards" for a reason.
> 

This is the MISRA's definition of "header file" (MISRA C:2012 Revision 
1, Appendix J):

   "A header file is any file that is the subject of a #include
    directive.
    Note: the filename extension is not significant."

So, the guards are required if we want to comply with the directive, 
otherwise we can raise a deviation.

The danger of multi-inclusion also exists for .c files, why do you want 
to avoid guards for them?

>> --- a/xen/common/compat/grant_table.c
>> +++ b/xen/common/compat/grant_table.c
>> @@ -3,6 +3,10 @@
>>    *
>>    */
>>   
>> +
> 
> Nit: No double blank lines please.
> 
>> +#ifndef __COMMON_COMPAT_GRANT_TABLE_C__
>> +#define __COMMON_COMPAT_GRANT_TABLE_C__
>> +
>>   #include <xen/hypercall.h>
>>   #include <compat/grant_table.h>
>>   
>> @@ -331,6 +335,9 @@ int compat_grant_table_op(
>>       return rc;
>>   }
>>   
>> +
> 
> Again here (at least).
> 
> Jan

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:10:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593715.926774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbed2-0007xp-Ev; Thu, 31 Aug 2023 10:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593715.926774; Thu, 31 Aug 2023 10:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbed2-0007xi-BZ; Thu, 31 Aug 2023 10:10:20 +0000
Received: by outflank-mailman (input) for mailman id 593715;
 Thu, 31 Aug 2023 10:10: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=DT0c=EQ=daynix.com=akihiko.odaki@srs-se1.protection.inumbo.net>)
 id 1qbed0-0007xa-H9
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:10:18 +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 94659ad9-47e6-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:10:16 +0200 (CEST)
Received: by mail-pf1-x432.google.com with SMTP id
 d2e1a72fcca58-68a529e1974so450243b3a.3
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:10:16 -0700 (PDT)
Received: from ?IPV6:2400:4050:a840:1e00:78d2:b862:10a7:d486?
 ([2400:4050:a840:1e00:78d2:b862:10a7:d486])
 by smtp.gmail.com with ESMTPSA id
 ff16-20020a056a002f5000b0068991abe1desm1026798pfb.176.2023.08.31.03.10.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 03:10: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: 94659ad9-47e6-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1693476614; x=1694081414; 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=7xV5TKTZLN/3JXan3YO54ft5hHcTRYD0N+F4yuMnyUc=;
        b=f8d+ZtV+wtwOcnP3rXmg3y0M8nY1dFC+o7XN0FxLnyrg+hLC0GU8ZJemdj4ftk2qYF
         eZKlyIs6KfUT69iAf9xYE/WME/BeAg2f4ob8Io4JFkJgy95e/PXZjI/y3onk781+SQ0L
         GAAg6HPdVBijTeueqhtNwSnxs0DrwBHt3O6w6fIMV865bodHqpxtbY4/EnOGmbUNT67b
         lGdDCODSV/4rHpqT2OdU52G+QALJzW8ArIJOkBTadZvn080E/KragV8gwrragM53F4GU
         l4EpkdB47CkoZB0gIXcRODQhEzZ96L0qRl4Xkp6v6Np3A9zWbjcg3zJy5Ypb7xnuMUu2
         YpWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693476614; x=1694081414;
        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=7xV5TKTZLN/3JXan3YO54ft5hHcTRYD0N+F4yuMnyUc=;
        b=TjhR/L83O3gR5aSib1CJPWqxTvFbm4wfIjayT811ih7gV4hfXV+qY6s2SYWrLcEjgZ
         pXoVwAdFhqO0+T7i6a4bMnRv0f9wQ3R9d6HJIXOfpuzGUflW6b/9WjotOm8YkqKbbnaC
         15JxgX/etQyQzLhp9VVUvO/qxvGR/b1clQ/TLmBPDd94dHYTVj73BE2hxhWotGZmo0Gq
         +2gnafpDUiRt0pj5YAY1CfS2kEpIj+flVaM5ZxtRKgE3/4zMqOgF4t/R7H1gXqWZRx/q
         e07wvgBdjeLw8y811Go6kCbR3ucmIXh6isbn2giUKIbYDOYAemJ96tX13Udj+Dgc0TxJ
         byTQ==
X-Gm-Message-State: AOJu0Ywy5EVDYmKM1cH3KmTCScqm5YOSTymh9/6wCdGgP1zTc2BwAbkE
	pmiTc9EdoxEPJHZ8WDJnQQWTRw==
X-Google-Smtp-Source: AGHT+IEzCPAVkZ+OTDDrjqC043m/jBaZip82pDddNT2h8xBjnKXA9BSp1Xd1jvkLzRYYNTay05mZbA==
X-Received: by 2002:a05:6a20:c901:b0:130:835b:e6b7 with SMTP id gx1-20020a056a20c90100b00130835be6b7mr4181294pzb.47.1693476614617;
        Thu, 31 Aug 2023 03:10:14 -0700 (PDT)
Message-ID: <b988f9d4-69d7-4cc4-b13e-3e697acf9fe9@daynix.com>
Date: Thu, 31 Aug 2023 19:10:08 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QEMU PATCH v4 07/13] softmmu/memory: enable automatic
 deallocation of memory regions
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Alyssa Ross <hi@alyssa.is>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-8-ray.huang@amd.com>
Content-Language: en-US
From: Akihiko Odaki <akihiko.odaki@daynix.com>
In-Reply-To: <20230831093252.2461282-8-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2023/08/31 18:32, Huang Rui wrote:
> From: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> 
> When the memory region has a different life-cycle from that of her parent,
> could be automatically released, once has been unparent and once all of her
> references have gone away, via the object's free callback.
> 
> However, currently, references to the memory region are held by its owner
> without first incrementing the memory region object's reference count.
> As a result, the automatic deallocation of the object, not taking into
> account those references, results in use-after-free memory corruption.
> 
> This patch increases the reference count of the memory region object on
> each memory_region_ref() and decreases it on each memory_region_unref().
> 
> Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> New patch
> 
>   softmmu/memory.c | 19 +++++++++++++++++--
>   1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/softmmu/memory.c b/softmmu/memory.c
> index 7d9494ce70..0fdd5eebf9 100644
> --- a/softmmu/memory.c
> +++ b/softmmu/memory.c
> @@ -1797,6 +1797,15 @@ Object *memory_region_owner(MemoryRegion *mr)
>   
>   void memory_region_ref(MemoryRegion *mr)
>   {
> +    if (!mr) {
> +        return;
> +    }
> +
> +    /* Obtain a reference to prevent the memory region object
> +     * from being released under our feet.
> +     */
> +    object_ref(OBJECT(mr));
> +
>       /* MMIO callbacks most likely will access data that belongs
>        * to the owner, hence the need to ref/unref the owner whenever
>        * the memory region is in use.
> @@ -1807,16 +1816,22 @@ void memory_region_ref(MemoryRegion *mr)
>        * Memory regions without an owner are supposed to never go away;
>        * we do not ref/unref them because it slows down DMA sensibly.
>        */

The collapsed comment says:
 > The memory region is a child of its owner.  As long as the
 > owner doesn't call unparent itself on the memory region,
 > ref-ing the owner will also keep the memory region alive.
 > Memory regions without an owner are supposed to never go away;
 > we do not ref/unref them because it slows down DMA sensibly.

It contradicts with this patch.

> -    if (mr && mr->owner) {
> +    if (mr->owner) {
>           object_ref(mr->owner);
>       }
>   }
>   
>   void memory_region_unref(MemoryRegion *mr)
>   {
> -    if (mr && mr->owner) {
> +    if (!mr) {
> +        return;
> +    }
> +
> +    if (mr->owner) {
>           object_unref(mr->owner);
>       }
> +
> +    object_unref(OBJECT(mr));
>   }
>   
>   uint64_t memory_region_size(MemoryRegion *mr)


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:25:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593723.926783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeqx-0004GC-MI; Thu, 31 Aug 2023 10:24:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593723.926783; Thu, 31 Aug 2023 10:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeqx-0004G5-Jj; Thu, 31 Aug 2023 10:24:43 +0000
Received: by outflank-mailman (input) for mailman id 593723;
 Thu, 31 Aug 2023 10:24:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DT0c=EQ=daynix.com=akihiko.odaki@srs-se1.protection.inumbo.net>)
 id 1qbeqx-0004Fw-2P
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:24:43 +0000
Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com
 [2607:f8b0:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9712d4bb-47e8-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:24:39 +0200 (CEST)
Received: by mail-pg1-x52a.google.com with SMTP id
 41be03b00d2f7-56c2e882416so531551a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:24:39 -0700 (PDT)
Received: from ?IPV6:2400:4050:a840:1e00:78d2:b862:10a7:d486?
 ([2400:4050:a840:1e00:78d2:b862:10a7:d486])
 by smtp.gmail.com with ESMTPSA id
 4-20020a170902e9c400b001b86dd825e7sm956213plk.108.2023.08.31.03.24.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 03:24: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: 9712d4bb-47e8-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1693477478; x=1694082278; 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=GT2ML8crheS73wRMI+Sy5kWTw+VLsH9mZg25anukBf4=;
        b=SAdHuiZlyIVkr+0a7dqyOVHc/Cq9dd3+tX0QBri8ysItYxM/gk8wph3vZlWrIWqsTQ
         +LpUqiRXpSk22ZIZK/SjijowPdR22JW3rvo4J7Vql76vFpQJYON19zjUNbsv3VJPTifs
         cA9lZQcm+jd2rgav2C7hldOUaHJCIkpnX44BBW3f/FxBpnkBcR3Y9CSnDuyNikHmUU4K
         tWkqwITV9z5s/0aF3BEWQjsO2zopFmCggrAiDjqRxl65Mzd/IX/1dOglOyrd/vQXsvUC
         xl1C9rkivgcmMlRP7bilFcV88Vacqmw8lBQZonjZCIptDiEXaWQUpdo+1/IG6Td3FGTg
         KfxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693477478; x=1694082278;
        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=GT2ML8crheS73wRMI+Sy5kWTw+VLsH9mZg25anukBf4=;
        b=Ag7Oq/MvEIf9kGA8DalqHCI70fDVObAPtIz0ISHIBVmC8KVxnGgMLPRKRiqFMRR999
         0HshFtIqI9sD8BHMshEGQ5ac7rx6q5ObLDxZou4s01e4IlAWNAMx1CB/X9hUOjGsTI+a
         OwF4IJBBqI0hAAEQB2FVxVTqx3xs1LBBj7/rlHN5qLeQ35bdH8adv01+wIpCkkawyBwK
         7XNwKRaAg7ojHc4FRNxSPeBgW/nD4Q4Pmm7wH4V0/ZB9x+nWK7GObOIhcw/ftU6901q4
         qopwBhrAl2zKepkRlmkyjm3mcUGRzlCEGBxSkWTQb8e7hUufJ3KY23z6FsZ4FAAie5L3
         0PNw==
X-Gm-Message-State: AOJu0YzA3dNoK8uDgJ1IxwCCnHSg9nGAIDKvH6UUyv039Qthg1DDa+6G
	q9EHFrb4rvZ24BBs0hudHwOpwQ==
X-Google-Smtp-Source: AGHT+IGcYJn+WIPGNSXx7TlUjrHKHWIGou0hXGU08zidD9LgTAkPoArZK+Pr9SfwLNBJi8oHxsJTEA==
X-Received: by 2002:a05:6a20:2444:b0:14e:3ba7:2933 with SMTP id t4-20020a056a20244400b0014e3ba72933mr5415271pzc.54.1693477478052;
        Thu, 31 Aug 2023 03:24:38 -0700 (PDT)
Message-ID: <ba478789-5db0-4011-bed1-7dd6901eccd6@daynix.com>
Date: Thu, 31 Aug 2023 19:24:32 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QEMU PATCH v4 09/13] virtio-gpu: Handle resource blob commands
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Alyssa Ross <hi@alyssa.is>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-10-ray.huang@amd.com>
From: Akihiko Odaki <akihiko.odaki@daynix.com>
In-Reply-To: <20230831093252.2461282-10-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2023/08/31 18:32, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Support BLOB resources creation, mapping and unmapping by calling the
> new stable virglrenderer 0.10 interface. Only enabled when available and
> via the blob config. E.g. -device virtio-vga-gl,blob=true
> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
> Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> v1->v2:
>      - Remove unused #include "hw/virtio/virtio-iommu.h"
> 
>      - Add a local function, called virgl_resource_destroy(), that is used
>        to release a vgpu resource on error paths and in resource_unref.
> 
>      - Remove virtio_gpu_virgl_resource_unmap from virtio_gpu_cleanup_mapping(),
>        since this function won't be called on blob resources and also because
>        blob resources are unmapped via virgl_cmd_resource_unmap_blob().
> 
>      - In virgl_cmd_resource_create_blob(), do proper cleanup in error paths
>        and move QTAILQ_INSERT_HEAD(&g->reslist, res, next) after the resource
>        has been fully initialized.
> 
>      - Memory region has a different life-cycle from virtio gpu resources
>        i.e. cannot be released synchronously along with the vgpu resource.
>        So, here the field "region" was changed to a pointer that will be
>        released automatically once the memory region is unparented and all
>        of its references have been released.
>        Also, since the pointer can be used to indicate whether the blob
>        is mapped, the explicit field "mapped" was removed.
> 
>      - In virgl_cmd_resource_map_blob(), add check on the value of
>        res->region, to prevent beeing called twice on the same resource.
> 
>      - Remove direct references to parent_obj.
> 
>      - Separate declarations from code.
> 
>   hw/display/virtio-gpu-virgl.c  | 213 +++++++++++++++++++++++++++++++++
>   hw/display/virtio-gpu.c        |   4 +-
>   include/hw/virtio/virtio-gpu.h |   5 +
>   meson.build                    |   4 +
>   4 files changed, 225 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 312953ec16..17b634d4ee 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -17,6 +17,7 @@
>   #include "trace.h"
>   #include "hw/virtio/virtio.h"
>   #include "hw/virtio/virtio-gpu.h"
> +#include "hw/virtio/virtio-gpu-bswap.h"
>   
>   #include "ui/egl-helpers.h"
>   
> @@ -78,9 +79,24 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
>       virgl_renderer_resource_create(&args, NULL, 0);
>   }
>   
> +static void virgl_resource_destroy(VirtIOGPU *g,
> +                                   struct virtio_gpu_simple_resource *res)
> +{
> +    if (!res)
> +        return;
> +
> +    QTAILQ_REMOVE(&g->reslist, res, next);
> +
> +    virtio_gpu_cleanup_mapping_iov(g, res->iov, res->iov_cnt);
> +    g_free(res->addrs);
> +
> +    g_free(res);
> +}
> +
>   static void virgl_cmd_resource_unref(VirtIOGPU *g,
>                                        struct virtio_gpu_ctrl_command *cmd)
>   {
> +    struct virtio_gpu_simple_resource *res;
>       struct virtio_gpu_resource_unref unref;
>       struct iovec *res_iovs = NULL;
>       int num_iovs = 0;
> @@ -88,13 +104,22 @@ static void virgl_cmd_resource_unref(VirtIOGPU *g,
>       VIRTIO_GPU_FILL_CMD(unref);
>       trace_virtio_gpu_cmd_res_unref(unref.resource_id);
>   
> +    res = virtio_gpu_find_resource(g, unref.resource_id);
> +
>       virgl_renderer_resource_detach_iov(unref.resource_id,
>                                          &res_iovs,
>                                          &num_iovs);
>       if (res_iovs != NULL && num_iovs != 0) {
>           virtio_gpu_cleanup_mapping_iov(g, res_iovs, num_iovs);
> +        if (res) {
> +            res->iov = NULL;
> +            res->iov_cnt = 0;
> +        }
>       }
> +
>       virgl_renderer_resource_unref(unref.resource_id);
> +
> +    virgl_resource_destroy(g, res);
>   }
>   
>   static void virgl_cmd_context_create(VirtIOGPU *g,
> @@ -426,6 +451,183 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
>       g_free(resp);
>   }
>   
> +#ifdef HAVE_VIRGL_RESOURCE_BLOB
> +
> +static void virgl_cmd_resource_create_blob(VirtIOGPU *g,
> +                                           struct virtio_gpu_ctrl_command *cmd)
> +{
> +    struct virtio_gpu_simple_resource *res;
> +    struct virtio_gpu_resource_create_blob cblob;
> +    struct virgl_renderer_resource_create_blob_args virgl_args = { 0 };
> +    int ret;
> +
> +    VIRTIO_GPU_FILL_CMD(cblob);
> +    virtio_gpu_create_blob_bswap(&cblob);
> +    trace_virtio_gpu_cmd_res_create_blob(cblob.resource_id, cblob.size);
> +
> +    if (cblob.resource_id == 0) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
> +                      __func__);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +
> +    res = virtio_gpu_find_resource(g, cblob.resource_id);
> +    if (res) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already exists %d\n",
> +                      __func__, cblob.resource_id);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +
> +    res = g_new0(struct virtio_gpu_simple_resource, 1);
> +    if (!res) {
> +        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> +        return;
> +    }
> +
> +    res->resource_id = cblob.resource_id;
> +    res->blob_size = cblob.size;
> +
> +    if (cblob.blob_mem != VIRTIO_GPU_BLOB_MEM_HOST3D) {
> +        ret = virtio_gpu_create_mapping_iov(g, cblob.nr_entries, sizeof(cblob),
> +                                            cmd, &res->addrs, &res->iov,
> +                                            &res->iov_cnt);
> +        if (!ret) {
> +            g_free(res);
> +            cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
> +            return;
> +        }
> +    }
> +
> +    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
> +
> +    virgl_args.res_handle = cblob.resource_id;
> +    virgl_args.ctx_id = cblob.hdr.ctx_id;
> +    virgl_args.blob_mem = cblob.blob_mem;
> +    virgl_args.blob_id = cblob.blob_id;
> +    virgl_args.blob_flags = cblob.blob_flags;
> +    virgl_args.size = cblob.size;
> +    virgl_args.iovecs = res->iov;
> +    virgl_args.num_iovs = res->iov_cnt;
> +
> +    ret = virgl_renderer_resource_create_blob(&virgl_args);
> +    if (ret) {
> +        virgl_resource_destroy(g, res);
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: virgl blob create error: %s\n",
> +                      __func__, strerror(-ret));
> +        cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
> +    }
> +}
> +
> +static void virgl_cmd_resource_map_blob(VirtIOGPU *g,
> +                                        struct virtio_gpu_ctrl_command *cmd)
> +{
> +    struct virtio_gpu_simple_resource *res;
> +    struct virtio_gpu_resource_map_blob mblob;
> +    int ret;
> +    void *data;
> +    uint64_t size;
> +    struct virtio_gpu_resp_map_info resp;
> +    VirtIOGPUBase *b = VIRTIO_GPU_BASE(g);
> +
> +    VIRTIO_GPU_FILL_CMD(mblob);
> +    virtio_gpu_map_blob_bswap(&mblob);
> +
> +    if (mblob.resource_id == 0) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
> +                      __func__);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +
> +    res = virtio_gpu_find_resource(g, mblob.resource_id);
> +    if (!res) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
> +                      __func__, mblob.resource_id);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +    if (res->region) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already mapped %d\n",
> +		      __func__, mblob.resource_id);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +
> +    ret = virgl_renderer_resource_map(res->resource_id, &data, &size);
> +    if (ret) {
> +        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource map error: %s\n",
> +                      __func__, strerror(-ret));
> +        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
> +        return;
> +    }
> +
> +    res->region = g_new0(MemoryRegion, 1);
> +    if (!res->region) {
> +        virgl_renderer_resource_unmap(res->resource_id);
> +        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> +        return;
> +    }
> +    memory_region_init_ram_device_ptr(res->region, OBJECT(g), NULL, size, data);

I think memory_region_init_ram_ptr() should be used instead.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:25:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593727.926793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qberQ-0004oh-WC; Thu, 31 Aug 2023 10:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593727.926793; Thu, 31 Aug 2023 10: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 1qberQ-0004oa-TW; Thu, 31 Aug 2023 10:25:12 +0000
Received: by outflank-mailman (input) for mailman id 593727;
 Thu, 31 Aug 2023 10:25: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=cvVB=EQ=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qberP-0004oF-9i
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:25:11 +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 a9b02d9a-47e8-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:25:10 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-500bb392ab7so1271111e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03: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: a9b02d9a-47e8-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1693477509; x=1694082309; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=5eIk4b8bm7Nj2Znmo4bCpni4RJbcYsj/N2fBl7uhdvg=;
        b=JbdW+EFiSvLPZ0WZZJVF68lxOS1pqYBQ1k45MLx5ako2l6uJVWv8glVC7RUZ5Uc6XP
         A9nI4Tnyie86KEUh7fHkCkmCTmU46ckl3R/n/GshYubaJEIPdrVP1+13GVpMcOhS7Wh3
         mziIu+RNRDuYYd8XsamvZpSiI38Xkb/9N6BV4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693477509; x=1694082309;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5eIk4b8bm7Nj2Znmo4bCpni4RJbcYsj/N2fBl7uhdvg=;
        b=e/up5JmxSN1nYiNmEHo/Exkwe4ZdXwhBJCD+PvATuB6iC4xqxW+DOQoMJKWbTtGwQt
         0T19KGpBfC71WR6r/lC0GMmcC5/4X3T03bIuDVFlcb+IxG93J4sQXCLjH76Wj0A281kK
         dHyRRdX8BOWX0rlhN/dOZSIPlC3KC8ClvzuYoGl81eucfs1l7LbID/FRRl6UIESN+psp
         SdZDrrmj139c9iXqkahc+JqrRx7gW03yjdZ9kAoX5PpynZ6o1D1+cwqoBnPN1IxKUZKh
         cYxEgSDE6Jih9ovilwmbcVc1rtoodGFktX+03Hkwq3rNT7OyKzhrj922iq/OljQzsk2O
         cFqg==
X-Gm-Message-State: AOJu0YyXu67S3nUdh07CE1SWusud+8ScCI9TQPkUvW7xTPGLmi1+JRPt
	WID+uT3wo5nvX451CzqwPj5IsxnT2wSEZxs/oYVJRVkbitotmL/HTyLMtw==
X-Google-Smtp-Source: AGHT+IHVwhvCiFWtlNmxoBVu6jdD6hdkX1OjJnjgqYBzcdTZyC7Bq02p9r2qCFKIcjtV03uzi/5a5Q5Yk2UVbsZSMS4=
X-Received: by 2002:a05:6512:3d24:b0:500:b973:8e32 with SMTP id
 d36-20020a0565123d2400b00500b9738e32mr4379690lfv.68.1693477509257; Thu, 31
 Aug 2023 03:25:09 -0700 (PDT)
MIME-Version: 1.0
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 31 Aug 2023 11:24:58 +0100
Message-ID: <CA+zSX=ZFPALNNN0NATqAjLSNGB=oksbhyu-90J848PjHQJNQ4w@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items for 7 September Community Call @
 1500 UTC
To: Xen-devel <xen-devel@lists.xenproject.org>, 
	Tamas K Lengyel <tamas.k.lengyel@gmail.com>, "intel-xen@intel.com" <intel-xen@intel.com>, 
	"daniel.kiper@oracle.com" <daniel.kiper@oracle.com>, Roger Pau Monne <roger.pau@citrix.com>, 
	Sergey Dyasli <sergey.dyasli@citrix.com>, 
	Christopher Clark <christopher.w.clark@gmail.com>, Rich Persaud <persaur@gmail.com>, 
	Kevin Pearson <kevin.pearson@ortmanconsulting.com>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <pdurrant@amazon.com>, "Ji, John" <john.ji@intel.com>, 
	"robin.randhawa@arm.com" <robin.randhawa@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, 
	Matt Spencer <Matt.Spencer@arm.com>, Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Jeff Kubascik <Jeff.Kubascik@dornerworks.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Rian Quinn <rianquinn@gmail.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLRG91ZyBHb2xkc3RlaW4=?= <cardoe@cardoe.com>, 
	George Dunlap <george.dunlap@citrix.com>, David Woodhouse <dwmw@amazon.co.uk>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQW1pdCBTaGFo?= <amit@infradead.org>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLVmFyYWQgR2F1dGFt?= <varadgautam@gmail.com>, 
	Brian Woods <brian.woods@xilinx.com>, Robert Townley <rob.townley@gmail.com>, 
	Bobby Eshleman <bobby.eshleman@gmail.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQ29yZXkgTWlueWFyZA==?= <cminyard@mvista.com>, 
	Olivier Lambert <olivier.lambert@vates.fr>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Ash Wilding <ash.j.wilding@gmail.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	=?UTF-8?Q?Piotr_Kr=C3=B3l?= <piotr.krol@3mdeb.com>, 
	Brendan Kerrigan <brendank310@gmail.com>, Thierry Laurion <insurgo@riseup.net>, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Scott Davis <scottwd@gmail.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>, 
	Marc Ungeschikts <marc.ungeschikts@vates.fr>, Zhiming Shen <zshen@exotanium.io>, 
	Xenia Ragiadakou <burzalodowa@gmail.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLSGVucnkgV2FuZw==?= <Henry.Wang@arm.com>, 
	Per Bilse <per.bilse@citrix.com>, Samuel Verschelde <stormi-xcp@ylix.fr>, 
	Andrei Semenov <andrei.semenov@vates.fr>, Yann Dirson <yann.dirson@vates.fr>, 
	Bernhard Kaindl <bernhard.kaindl@cloud.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLTHVjYSBGYW5jZWxsdQ==?= <luca.fancellu@arm.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Vikram Garhwal <vikram.garhwal@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
	Kelly Choi <kelly.choi@cloud.com>
Content-Type: text/plain; charset="UTF-8"

Hi all,

The proposed agenda is in
https://cryptpad.fr/pad/#/2/pad/edit/s6D6t2vTjCkpfRIJXo8IVSWf/ and you
can edit to add items.  Alternatively, you can reply to this mail
directly.

Agenda items appreciated a few days before the call: please put your
name besides items if you edit the document.

Note the following administrative conventions for the call:
* Unless, agreed in the previous meeting otherwise, the call is on the
1st Thursday of each month at 1600 British Time (either GMT or BST)
* I usually send out a meeting reminder a few days before with a
provisional agenda

* To allow time to switch between meetings, we'll plan on starting the
agenda at 16:05 sharp.  Aim to join by 16:03 if possible to allocate
time to sort out technical difficulties &c

* If you want to be CC'ed please add or remove yourself from the
sign-up-sheet at
https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/

Best Regards
George


== Dial-in Information ==
## Meeting time
16:00 - 17:00 British time
Further International meeting times:
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=9&day=7&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179


## Dial in details
Web: https://meet.jit.si/XenProjectCommunityCall

Dial-in info and pin can be found here:

https://meet.jit.si/static/dialInInfo.html?room=XenProjectCommunityCall


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:32:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:32:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593737.926804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbeyg-00081y-Qn; Thu, 31 Aug 2023 10:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593737.926804; Thu, 31 Aug 2023 10: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 1qbeyg-00081r-OE; Thu, 31 Aug 2023 10:32:42 +0000
Received: by outflank-mailman (input) for mailman id 593737;
 Thu, 31 Aug 2023 10:32:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hTy1=EQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qbeyf-00081l-C0
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:32:41 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b52ff3fa-47e9-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:32:39 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by SA0PR12MB4350.namprd12.prod.outlook.com (2603:10b6:806:92::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 10:32:35 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9a2:f8ec:7c75:fe95]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9a2:f8ec:7c75:fe95%6]) with mapi id 15.20.6699.034; Thu, 31 Aug 2023
 10:32: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: b52ff3fa-47e9-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I1LSWwWCr4j2CHjmKryCwTLIC8WFrDLQ+J3s7Ptrcv8h0RWJZVeRTwPpSHfxM2GQkUDk9flMlySFv7kO1wNDS2ZNZXyLpjGN5gZAJRh6bNlCa+bK2K5VdiJqURXbeeeKealpjHvRvpy5ks/sWTgGZiCXvONA1SYb+KQJdm/q83PizAy9eaepUWkL8Xks28FyOZBHuIPEeOLKrvwWUcX2+CO386rgsHfDUgLLE6rRSOuIzHVP7fQi194hcqLEmCOZm5ZG7doi+CT+VVRKpLJ6k63GwQbkWH/CyQJkpgb5eq17Lva23ak9q+BWXUY598GmjSuAkqPT1a3X15ImfTUEpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cFPW1HXK22OeEdNPdtNZYqUJCpwGQvBoO+PziOCAtgc=;
 b=Kb3hW6mdT7nPjTdyIZedDnryTOt3cWnc9XvP69K3q116sm67jjRW8iuMjfswAcUTO09ZifGMD013/5QXYFBptGU32QAVkxAUnmXdeyJWQIBFwfHMSpaVvSzUabj2umyLnhfAhPITI1riIu07mQOjBMMzuJUkZK5rAy8avmGFEECwQuGaUJ+k43V76Abblh1m5dKN9AmuBo8bzYReyiGzslQ738r8gxw7bYJFzs8fYMaHbcL+8NI270uWVlvZ63xaU5EU6Nbt4AgNhL6zSpvMMx/3wy63Nn8Z+zE73RTME3+Zq/z1f4kKSdQGTrQiuxNbCF0bVUOxMSWFDU6QSfOTvg==
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=cFPW1HXK22OeEdNPdtNZYqUJCpwGQvBoO+PziOCAtgc=;
 b=GuNmiRrAnkrik0rn6pI/pwIOSACNWIhtLGKPzsAow4EPJ7iUP0PC5MqkJV5r6iKjLWXk5GzJzRGy736IsC/hPxzk7+Qy9FqkiEsdF1GloSM9QUBLSRADd/D1Y6DJvoxYenYnskTRJ17ghHZHfgbPbjdBeMOLVaXE5K1XbUjGDlQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <799b1754-7529-0538-1b5a-d94a362eb74d@amd.com>
Date: Thu, 31 Aug 2023 11:32:28 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.14.0
Subject: Re: QEMU features useful for Xen development?
To: Peter Maydell <peter.maydell@linaro.org>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Viresh Kumar <viresh.kumar@linaro.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 QEMU Developers <qemu-devel@nongnu.org>,
 Vikram Garhwal <vikram.garhwal@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
 Jonathan Cameron <jonathan.cameron@huawei.com>
References: <87y1hspiyh.fsf@linaro.org>
 <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
 <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
 <87cyz3pmgz.fsf@linaro.org>
 <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0017.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::7) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|SA0PR12MB4350:EE_
X-MS-Office365-Filtering-Correlation-Id: 2812b4ef-6ffd-4cc0-ffc8-08dbaa0d9745
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mUqIkrgVZJ2j8HWfCSLTFz+PFMdm490frZpGDfvJRO4tBULtLdhu/TQYbkgn5zVSbUzGf28QyX6dFXx9YCp+vGJYSlm7wqby7F2zvhMnvEY6ABjciS5AmzJQm43CKxAEM8drM4lVW7kvcKFJDLeTxKSRDucS03PLZ5LZ+Q5t1LIH04WzptjjSA9iYbwkKLHlIuYNgGxyjyPTsokYqKu8HyJtV9T47F7IWwmMuDF7/xCbc4z2qLJG1mjfnYlyqy4UFa/NoF5X8ApyvyaZ8PQQsUBTZjeeGJ/6y8vfBDnuDpLEpfNbBYn59bGt/bm0Q3NjkO4VuzYg2njI+pl/XK7h2MqB/o1yxZgmZ4cZ688CUFHtmn1MrjRj3MOOtSjGRB+efeNyy1cbzJnS094KeE6ZS5wy4dCb2jmYh0S6SpnY28nFGHpWjR8h1jik9UIXvHK4Hg1f16B6c2MYaZKl3dN49D4ugYY1SRTJQ1yXEGE6LFKvE7SQZqvHp3y4LNUNfD7hDyUwhxEf04EzheZVMqizuHi7l00+WlgNi8Kb3LC7pa5voTV7K6gnKYGyomboEwsxJrpwAX1wiM/YTNk+lMIdNFPNHdpQiWUAKbISUGB+jx+FDefyYEjMyUTIjrQlK4rcJbGXcG1OSWgUASYlDt3G0g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(396003)(366004)(39860400002)(1800799009)(451199024)(186009)(36756003)(31686004)(83380400001)(6506007)(4326008)(31696002)(5660300002)(53546011)(8936002)(8676002)(6486002)(26005)(6666004)(41300700001)(2616005)(7416002)(66574015)(6512007)(966005)(38100700002)(478600001)(2906002)(66556008)(110136005)(66946007)(66476007)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVlTOGhLT0ZxR3NXWExEbXBRSkoxSnhjUnRxUnN6Ym12VDY5QUR5VytFTE5w?=
 =?utf-8?B?VDFneHpBM0FmblNNa1lRZXFyajhaY2M2ak5SU2psWmFwMU1DUVhPc2MwV3Zv?=
 =?utf-8?B?d3JNUFhCaFpRL2thamViNnBoWjUvaWNWNTlFL3hUN0NGRWRLOXBpeXF3OVhP?=
 =?utf-8?B?MWUwa1paL1VlYThqc3plMWNnUmhDR2tZaWVOeFlQWkF5TDdadVB3S3pWUFV1?=
 =?utf-8?B?OE1BSGhPd0hGS2tsMFpZQkVLYzI0WGk2bFdEeHJHNUY0WUFVMzVRam03NCs0?=
 =?utf-8?B?Uk5iUXN6MTQ4R2RkYUZ2OVMxT1k3VVFvYzU0MVVCUHJxSjlTZnNLa1FVVzBQ?=
 =?utf-8?B?RTByVTJ2Z1doUmxsdlo0ZGh4enpZSG9VVFVvKzN2eWovR0gwMndWMGxhQ0cw?=
 =?utf-8?B?M3gzU2NEdk8vSkpDN2xvb3dvNWhzRTdvR3ZRTjJJR3pOdTV0RlFJTkNvOEV0?=
 =?utf-8?B?OXhMWFJLVGljTitWelkzYi9rNmoyTDd5UWtaMVBYb2doN2lmM2w5dlZnTmJz?=
 =?utf-8?B?ZFROSDlSKzdkMkNXNTNQa3c2TUpGR2owek1NODFGcStzdTkvREZEZVc0aHl6?=
 =?utf-8?B?RGZMYkw1dFI0cVBFQXVxNmhiYXNzbmF3ejF5a2pUT0xuZG9TajRDZU5Cbk9C?=
 =?utf-8?B?bDFQZS9rcUs2TW50dDM4RUMxN1BKaXB3dFZOSHpIRkt5RVpGS3liNVNUUm52?=
 =?utf-8?B?QWFMZzBHT3NjeWhGTmdQSlNDd2ZvdzVweFdQeStIbnMvTHF6bmlHNEMwNGlz?=
 =?utf-8?B?bE51cW5GUFlWM1QwZGJtUHZGaVFxWUNicG5INnJJS3l1bkthYk44Qmtyd0Mr?=
 =?utf-8?B?Wm52dFJvRW9FQlZLV0NKQzgxNVBtcFN4RkJnT0VVcGx5Yndxb2JaRUk5MUls?=
 =?utf-8?B?WDNpSm1ROExmNnJmU1pEL2tVYWttUjVDWGlad1hhSGVVRkpWNExtUEZTMjMw?=
 =?utf-8?B?eXFkYklvUEVIMGlnL1krY3V5VjkvRDA0YmF4REpmYXhhSjR1ZkszSWw0cUI0?=
 =?utf-8?B?L3J3WWlhbXg4N0RnamQvdTNaL3FMVGh2akppUEFtTWFESlVsaytlYjYvVXJT?=
 =?utf-8?B?TndUN0ZRclRoWU9kNlExdHFHcW50T1JmQkpXa09ycjdhVjE2NE1EK1BRMmt1?=
 =?utf-8?B?WlJzazVmb1VEeEZhNC94OVRGVXBucmpyYTdobHR4L1hpQ2dkejVESjdveFJ1?=
 =?utf-8?B?dXZvaWNrZDh4VFlERTdCQXd2Sm01bzhRYnJpZ3ByVVNZbDRUMmhZU0x3SStU?=
 =?utf-8?B?TUxGR2tKeExZTnRja213NkJocmNGVDFseE15My9RbFRxMG10TFplNkI5alZE?=
 =?utf-8?B?aEVZNFk2OHkvUnU4TmVLR2p2Q00zOVNIV0t1NHBjK0dxWkNudmh1eFFiejRs?=
 =?utf-8?B?cjNMZzdpRy9lZUw4TmZPSnhVc3VraThNeWUrcmEwa3FERkVxMFNDZ2tNOWhY?=
 =?utf-8?B?MVJJcWhzWmlYR0cvYWpFV1lSZVBDRUN5RlhFN1FRc2EzWEh3WEttOVpKQkNY?=
 =?utf-8?B?NjdYaStVQkhTSEhoVlp0OEIrSDNvejMvQ3pId2dYdUFMTmxGaklRZGpmTDU5?=
 =?utf-8?B?NVhmNC9jaXZPQTRjUFVJUjk0aVdjUFVGUUFaRFVRamtRNGNicEp2a29RbzNT?=
 =?utf-8?B?ais2RzRNTFk5cXBtOFQ2WE9ka0RrZjFlcXFTcGh1dkZqNDFlZTlsSkNkZjBw?=
 =?utf-8?B?OGVsV09JMDZSY3VMU1hDN2ptUjdDSW5GazBOMDFZUVluRnlvR2piZm1jdW9R?=
 =?utf-8?B?b0w2V0dwQ044dWpOZWdQeWR3K1VWWFNZL2s0VGNUdEw5RnQ0c2kvT1pUL1p3?=
 =?utf-8?B?RHVCVlVLMTJFMndyMG1BMW9vb1NWVlRYalVGQUMyaHlobSszY2tJQUNyT1dV?=
 =?utf-8?B?SjBSZENCRXRPZStkWGptd2VaVlJaNlhSYUNwanI0S29JWVlTS3B4REhuZkhJ?=
 =?utf-8?B?K2ZDMHV3cjN6ZjdrR3drN1FvS1UwUDAzczlGWEN0ajYwRHlyWlFsVHh6aURB?=
 =?utf-8?B?K1hpYThja1FuTVdCWDlwTUR4T1hMeU1BUC9DYldFS252WWNDR05LazE5eEtl?=
 =?utf-8?B?WmdwNDBJMzJsYk1CTkxSZ3RJdk5uSWxSN0NYV3UvVmJlS1BhYzBLOTVmQ0Q2?=
 =?utf-8?Q?N4EPwA+pbp6TTVu/424t96Xah?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2812b4ef-6ffd-4cc0-ffc8-08dbaa0d9745
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 10:32:35.4710
 (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: U7ks4y0GAYScPNv6y0By9H+eL6xw229K0gCfYjbsDbsPZhqTCWZfODuGlwRteFWgpwtfAEanY+5+PHQlRQpD/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4350

Hi Peter/Alex,

Appreciate your help. :)

On 31/08/2023 11:03, Peter Maydell wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> On Thu, 31 Aug 2023 at 10:53, Alex BennĂ©e <alex.bennee@linaro.org> wrote:
>>
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>
>>> On Thu, 31 Aug 2023 at 01:57, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>> As Xen is gaining R52 and R82 support, it would be great to be able to
>>>> use QEMU for development and testing there as well, but I don't think
>>>> QEMU can emulate EL2 properly for the Cortex-R architecture. We would
>>>> need EL2 support in the GIC/timer for R52/R82 as well.
>>> We do actually have a Cortex-R52 model which at least in theory
>>> should include EL2 support, though as usual with newer QEMU
>>> stuff it quite likely has lurking bugs; I'm not sure how much
>>> testing it's had. Also there is currently no board model which
>>> will work with the Cortex-R52 so it's a bit tricky to use in practice.
>>> (What sort of board model would Xen want to use it with?)
>> We already model a bunch of the mps2/mps3 images so I'm assuming adding
>> the mps3-an536 would be a fairly simple step to do (mps2tz.c is mostly
>> tweaking config values). The question is would it be a useful target for
>> Xen?
> All our MPS2/MPS3 boards are M-profile. That means we have the
> device models for all the interesting devices on the board, but
> it would be simpler to write the an536 board model separately.
> (In particular, the M-profile boards are wrappers around an
> "ARMSSE" sort-of-like-an-SoC component; there's no equivalent
> for the Cortex-R52.)
>
>>    https://developer.arm.com/documentation/dai0536/latest/

Yes, it will be helpful if Qemu can model this board. We have a 
downstream port of Xen on R52 (upstreaming is in progress).

So, we can test the Qemu model with Xen.

Also if all works fine, we might consider adding this to the upstream 
Xen CI docker.

Out of curiosity, are you planning to add Qemu R52 SoC support to Zephyr ?

- Ayan

>>
>>> The Cortex-R82 would be more work, because (unlike the R52) it's
>>> AArch64, and we don't have Armv8-R AArch64 support yet, only the AArch32.
>>>
>>> I haven't looked at whether GIC on R-profile requires any changes
>>> from the A-profile GIC; on A-profile obviously we emulate the
>>> virtualization support already.
>>>
>>>> On Cortex-As, in addition to a PCI root complex and an arbitrary PCI
>>>> device, SMMUv3 emulation (both stages) and GICv3 ITS are needed to be
>>>> able to test PCI Passthrough.
>> We have ITS emulation support and it was recently plumbed into the
>> "sbsa-ref" board as it is needed for higher level SBSA compliance.
>>
>>>> However, if I recall correctly SMMUv3
>>>> emulation in QEMU might not be complete enough to enable us to use it.
>>> Yeah, at the moment the SMMU emulation supports stage 1 and stage 2,
>>> but not both at the same time. This is good enough for PCI passthrough
>>> with a Linux guest using KVM to pass a device through to a nested
>>> Linux guest.
>> Is this a missing feature for SMMUv3 or something introduced in the
>> later revisions?
> It's a missing feature. The SMMUv3 spec allows an implementation
> to implement stage 1, stage 2 or both. We started with just a
> stage-1-only implementation because Linux doesn't need any more.
> Stage-2-only just landed recently. Nobody's looked at both-stages yet.
>
> thanks
> -- PMM
>


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:37:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:37:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593744.926814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbf2z-0001H0-C7; Thu, 31 Aug 2023 10:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593744.926814; Thu, 31 Aug 2023 10: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 1qbf2z-0001Gt-8E; Thu, 31 Aug 2023 10:37:09 +0000
Received: by outflank-mailman (input) for mailman id 593744;
 Thu, 31 Aug 2023 10: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=DT0c=EQ=daynix.com=akihiko.odaki@srs-se1.protection.inumbo.net>)
 id 1qbf2x-0001Gn-St
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:37:07 +0000
Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com
 [2607:f8b0:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 533a1aff-47ea-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:37:05 +0200 (CEST)
Received: by mail-pf1-x431.google.com with SMTP id
 d2e1a72fcca58-68a520dba33so548920b3a.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:37:04 -0700 (PDT)
Received: from ?IPV6:2400:4050:a840:1e00:78d2:b862:10a7:d486?
 ([2400:4050:a840:1e00:78d2:b862:10a7:d486])
 by smtp.gmail.com with ESMTPSA id
 j15-20020aa78d0f000000b00686ec858fb0sm1051735pfe.190.2023.08.31.03.36.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 03:37:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 533a1aff-47ea-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1693478223; x=1694083023; 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=x1CBF2DbVWJ7MmkNFKmcN6oQhqjuvRQMB9TRzzaFFGM=;
        b=SlL67vMDMaaUzwTwQVQY9tT+mi29qQPcyFMslarle1eGj0Fm/UKPqkKm1neDtYTnu/
         7T/2xpcuAcu1/427Zu0v6lwrQ88sPUuM8lQRCOk8fPTVWp2Nrv+viyZQ/XiaODiC949X
         GyJlWTTyZMbwQE+2Lr1+un2eWfnZ8ftkeYg+anuZsUY+MQbm1gZVI0V86y0XkdVGeuwk
         uAI+R/F16rB4exIkUoOuXuEbl7EA3xxmUTWhOrrp491j3vPir8EDHievGX/gpkODzfn8
         GRr4Gjg6oE2eu+Hjqxwnb9HyU1+UT4nPlj+nuwtXxjyvXoF30OpxQbw+V9rGsEAnqOtu
         0NwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693478223; x=1694083023;
        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=x1CBF2DbVWJ7MmkNFKmcN6oQhqjuvRQMB9TRzzaFFGM=;
        b=dZWxq+h3JAD1H55etq3CJGbYdvOEiSG6v23EXZ9w0o+nEnGbG+xVjV/rH2zkL/Rlwl
         i8C49S3FZKkAo0PJMVowICHpFvZ5SlFtx4P3OUtofczPlow7AXua+tuL9wXkyfyf8ICA
         HhAuTXfoVoHAuuQpbcS/LpGOT0XlwZvE/7CDoaxuGPFgpm7pkWiNyee3nqg4wBa/rWod
         WZOUBzcJhRHuZpzTtRqjGH7gdclAIlSdYGT4geex6ySwEHyB8uP3kHqYzgSSMafBtybB
         hXgv5zyQra/RfdKqeXgOEcoJ69VYKzIoh7ZXJUCNcCvX6TQ7E/WEPLHsT1jF5ITF95H2
         Ls7Q==
X-Gm-Message-State: AOJu0YzkwSNxAGhpWsqgZ6tFF8cT3q8nsNCai6PB5kLUs3bP4NhZnOo1
	eHpcRPH3kYfFjkn1MJmIEMCE0g==
X-Google-Smtp-Source: AGHT+IEF3CYXtyDqMtjxE7/P7YvpXlrVr0cGJBsDe1GvSRkqCUzQ5Xu2dJo9nxBb6UC77ADxyrv+xw==
X-Received: by 2002:a05:6a00:22cb:b0:68a:6833:d936 with SMTP id f11-20020a056a0022cb00b0068a6833d936mr5816737pfj.15.1693478223275;
        Thu, 31 Aug 2023 03:37:03 -0700 (PDT)
Message-ID: <58a4e81f-b0ce-49db-8a6a-f6b5bdc3d2d6@daynix.com>
Date: Thu, 31 Aug 2023 19:36:57 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QEMU PATCH v4 10/13] virtio-gpu: Resource UUID
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Alyssa Ross <hi@alyssa.is>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-11-ray.huang@amd.com>
From: Akihiko Odaki <akihiko.odaki@daynix.com>
In-Reply-To: <20230831093252.2461282-11-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2023/08/31 18:32, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Enable resource UUID feature and implement command resource assign UUID.
> This is done by introducing a hash table to map resource IDs to their
> UUIDs.

The hash table does not seem to be stored during migration.

> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> v1->v2:
>     - Separate declarations from code.
> 
>   hw/display/trace-events        |  1 +
>   hw/display/virtio-gpu-base.c   |  2 ++
>   hw/display/virtio-gpu-virgl.c  | 21 +++++++++++++++++
>   hw/display/virtio-gpu.c        | 41 ++++++++++++++++++++++++++++++++++
>   include/hw/virtio/virtio-gpu.h |  4 ++++
>   5 files changed, 69 insertions(+)
> 
> diff --git a/hw/display/trace-events b/hw/display/trace-events
> index 2336a0ca15..54d6894c59 100644
> --- a/hw/display/trace-events
> +++ b/hw/display/trace-events
> @@ -41,6 +41,7 @@ virtio_gpu_cmd_res_create_blob(uint32_t res, uint64_t size) "res 0x%x, size %" P
>   virtio_gpu_cmd_res_unref(uint32_t res) "res 0x%x"
>   virtio_gpu_cmd_res_back_attach(uint32_t res) "res 0x%x"
>   virtio_gpu_cmd_res_back_detach(uint32_t res) "res 0x%x"
> +virtio_gpu_cmd_res_assign_uuid(uint32_t res) "res 0x%x"
>   virtio_gpu_cmd_res_xfer_toh_2d(uint32_t res) "res 0x%x"
>   virtio_gpu_cmd_res_xfer_toh_3d(uint32_t res) "res 0x%x"
>   virtio_gpu_cmd_res_xfer_fromh_3d(uint32_t res) "res 0x%x"
> diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
> index 4f2b0ba1f3..f44388715c 100644
> --- a/hw/display/virtio-gpu-base.c
> +++ b/hw/display/virtio-gpu-base.c
> @@ -236,6 +236,8 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
>           features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
>       }
>   
> +    features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID);
> +
>       return features;
>   }
>   
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 17b634d4ee..1a996a08fc 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -36,6 +36,7 @@ static void virgl_cmd_create_resource_2d(VirtIOGPU *g,
>   {
>       struct virtio_gpu_resource_create_2d c2d;
>       struct virgl_renderer_resource_create_args args;
> +    struct virtio_gpu_simple_resource *res;
>   
>       VIRTIO_GPU_FILL_CMD(c2d);
>       trace_virtio_gpu_cmd_res_create_2d(c2d.resource_id, c2d.format,
> @@ -53,6 +54,14 @@ static void virgl_cmd_create_resource_2d(VirtIOGPU *g,
>       args.nr_samples = 0;
>       args.flags = VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP;
>       virgl_renderer_resource_create(&args, NULL, 0);
> +
> +    res = g_new0(struct virtio_gpu_simple_resource, 1);
> +    if (!res) {
> +        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> +        return;

virglrenderer thinks the resource is alive in such a situation.

> +    }
> +    res->resource_id = c2d.resource_id;
> +    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
>   }
>   
>   static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
> @@ -60,6 +69,7 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
>   {
>       struct virtio_gpu_resource_create_3d c3d;
>       struct virgl_renderer_resource_create_args args;
> +    struct virtio_gpu_simple_resource *res;
>   
>       VIRTIO_GPU_FILL_CMD(c3d);
>       trace_virtio_gpu_cmd_res_create_3d(c3d.resource_id, c3d.format,
> @@ -77,6 +87,14 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
>       args.nr_samples = c3d.nr_samples;
>       args.flags = c3d.flags;
>       virgl_renderer_resource_create(&args, NULL, 0);
> +
> +    res = g_new0(struct virtio_gpu_simple_resource, 1);
> +    if (!res) {
> +        cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> +        return;
> +    }
> +    res->resource_id = c3d.resource_id;
> +    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
>   }
>   
>   static void virgl_resource_destroy(VirtIOGPU *g,
> @@ -682,6 +700,9 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
>           /* TODO add security */
>           virgl_cmd_ctx_detach_resource(g, cmd);
>           break;
> +    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
> +        virtio_gpu_resource_assign_uuid(g, cmd);
> +        break;
>       case VIRTIO_GPU_CMD_GET_CAPSET_INFO:
>           virgl_cmd_get_capset_info(g, cmd);
>           break;
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index cc4c1f81bb..770e4747e3 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -966,6 +966,37 @@ virtio_gpu_resource_detach_backing(VirtIOGPU *g,
>       virtio_gpu_cleanup_mapping(g, res);
>   }
>   
> +void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
> +                                     struct virtio_gpu_ctrl_command *cmd)
> +{
> +    struct virtio_gpu_simple_resource *res;
> +    struct virtio_gpu_resource_assign_uuid assign;
> +    struct virtio_gpu_resp_resource_uuid resp;
> +    QemuUUID *uuid = NULL;

This initialization is unnecessary.

> +
> +    VIRTIO_GPU_FILL_CMD(assign);
> +    virtio_gpu_bswap_32(&assign, sizeof(assign));
> +    trace_virtio_gpu_cmd_res_assign_uuid(assign.resource_id);
> +
> +    res = virtio_gpu_find_check_resource(g, assign.resource_id, false, __func__, &cmd->error);
> +    if (!res) {
> +        return;
> +    }
> +
> +    memset(&resp, 0, sizeof(resp));
> +    resp.hdr.type = VIRTIO_GPU_RESP_OK_RESOURCE_UUID;
> +
> +    uuid = g_hash_table_lookup(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id));
> +    if (!uuid) {
> +        uuid = g_new(QemuUUID, 1);
> +        qemu_uuid_generate(uuid);
> +        g_hash_table_insert(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id), uuid);
> +    }
> +
> +    memcpy(resp.uuid, uuid, sizeof(QemuUUID));
> +    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
> +}
> +
>   void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
>                                      struct virtio_gpu_ctrl_command *cmd)
>   {
> @@ -1014,6 +1045,9 @@ void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
>       case VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING:
>           virtio_gpu_resource_detach_backing(g, cmd);
>           break;
> +    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
> +        virtio_gpu_resource_assign_uuid(g, cmd);
> +        break;
>       default:
>           cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
>           break;
> @@ -1393,12 +1427,15 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
>       QTAILQ_INIT(&g->reslist);
>       QTAILQ_INIT(&g->cmdq);
>       QTAILQ_INIT(&g->fenceq);
> +
> +    g->resource_uuids = g_hash_table_new_full(NULL, NULL, NULL, g_free);
>   }
>   
>   static void virtio_gpu_device_unrealize(DeviceState *qdev)
>   {
>       VirtIOGPU *g = VIRTIO_GPU(qdev);
>   
> +    g_hash_table_destroy(g->resource_uuids);
>       g_clear_pointer(&g->ctrl_bh, qemu_bh_delete);
>       g_clear_pointer(&g->cursor_bh, qemu_bh_delete);
>       g_clear_pointer(&g->reset_bh, qemu_bh_delete);
> @@ -1452,6 +1489,10 @@ void virtio_gpu_reset(VirtIODevice *vdev)
>           g_free(cmd);
>       }
>   
> +    if (g->resource_uuids) {

Isn't g->resource_uuids always non-NULL?

> +        g_hash_table_remove_all(g->resource_uuids);
> +    }
> +
>       virtio_gpu_base_reset(VIRTIO_GPU_BASE(vdev));
>   }
>   
> diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
> index b9adc28071..aa94b1b697 100644
> --- a/include/hw/virtio/virtio-gpu.h
> +++ b/include/hw/virtio/virtio-gpu.h
> @@ -208,6 +208,8 @@ struct VirtIOGPU {
>           QTAILQ_HEAD(, VGPUDMABuf) bufs;
>           VGPUDMABuf *primary[VIRTIO_GPU_MAX_SCANOUTS];
>       } dmabuf;
> +
> +    GHashTable *resource_uuids;
>   };
>   
>   struct VirtIOGPUClass {
> @@ -285,6 +287,8 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
>                                       struct iovec *iov, uint32_t count);
>   void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
>                                   struct virtio_gpu_simple_resource *res);
> +void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
> +                                     struct virtio_gpu_ctrl_command *cmd);
>   void virtio_gpu_process_cmdq(VirtIOGPU *g);
>   void virtio_gpu_device_realize(DeviceState *qdev, Error **errp);
>   void virtio_gpu_reset(VirtIODevice *vdev);


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:41:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593751.926824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbf79-0003Ja-Sr; Thu, 31 Aug 2023 10:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593751.926824; Thu, 31 Aug 2023 10: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 1qbf79-0003JT-Q2; Thu, 31 Aug 2023 10:41:27 +0000
Received: by outflank-mailman (input) for mailman id 593751;
 Thu, 31 Aug 2023 10:40: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=4Z81=EQ=quicinc.com=quic_acaggian@srs-se1.protection.inumbo.net>)
 id 1qbf6I-00033t-M8
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:40:34 +0000
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com
 [205.220.180.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf3634a9-47ea-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:40:33 +0200 (CEST)
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37VAPWlS029502; Thu, 31 Aug 2023 10:40:21 GMT
Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com
 [129.46.96.20])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3st6cta50c-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 31 Aug 2023 10:40:21 +0000
Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com
 [10.47.97.35])
 by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 37VAeJ2U026136
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 31 Aug 2023 10:40:19 GMT
Received: from [10.111.142.103] (10.80.80.8) by nalasex01c.na.qualcomm.com
 (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 31 Aug
 2023 03:40:13 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf3634a9-47ea-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=message-id : date :
 mime-version : subject : to : cc : references : from : in-reply-to :
 content-type : content-transfer-encoding; s=qcppdkim1;
 bh=znF0BF1kUSuueMdP2rNueLOh4tYw4WJJ9faw+zW9ezE=;
 b=ELQ9F/3ZU0zebAto+M91FILiBhz/DQXgs5NK032d7uTi7rI/0PAJVoCP9YYtYpaKkag9
 NHdp3y0kTUMyStycA0deIeSIJyylGiRugrZoFY8zicKsIzFaMpcwcc9hgT+6ESNiM3GC
 KXnCnTf8IF/bwaxq9IIgcrknWCfwBOU7i84qQTWnp+o+3KWyG7fr272KGlHOGF3jR3jG
 bqZU3/tabQx3cxvQ4vX5zeyvmMM6VaKNk7rzw4sK9SLlxxhZv2gi4OIPKalnkU4OIOLN
 ptOlrfISRvBhuEsWoXtXu/dpiHOK8oj4dv6yh8BynsXLol1+dQtMbR3oSUbkEcg0IMnk zw== 
Message-ID: <ca8bcf9a-2886-aed0-5229-4787808bd39c@quicinc.com>
Date: Thu, 31 Aug 2023 12:40:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QEMU PATCH v4 12/13] virtio-gpu: Initialize Venus
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
        "Michael
 S . Tsirkin" <mst@redhat.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Antonio Caggiano
	<antonio.caggiano@collabora.com>,
        "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>,
        Robert Beckett <bob.beckett@collabora.com>,
        Dmitry
 Osipenko <dmitry.osipenko@collabora.com>,
        =?UTF-8?Q?Alex_Benn=C3=A9e?=
	<alex.bennee@linaro.org>,
        <qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>,
        Gurchetan Singh
	<gurchetansingh@chromium.org>, <ernunes@redhat.com>,
        =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
        Akihiko Odaki
	<akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Alex Deucher
	<alexander.deucher@amd.com>,
        =?UTF-8?Q?Christian_K=C3=B6nig?=
	<christian.koenig@amd.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
        Honglei
 Huang <honglei1.huang@amd.com>,
        Julia Zhang <julia.zhang@amd.com>, Chen
 Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-13-ray.huang@amd.com>
From: Antonio Caggiano <quic_acaggian@quicinc.com>
In-Reply-To: <20230831093252.2461282-13-ray.huang@amd.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.80.80.8]
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
 nalasex01c.na.qualcomm.com (10.47.97.35)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-GUID: IyA5KR4iV1dHZO-i5Zd2-Cub9Bp8YLb6
X-Proofpoint-ORIG-GUID: IyA5KR4iV1dHZO-i5Zd2-Cub9Bp8YLb6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-31_07,2023-08-31_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 clxscore=1011 malwarescore=0 phishscore=0 adultscore=0 mlxlogscore=961
 suspectscore=0 spamscore=0 lowpriorityscore=0 mlxscore=0 bulkscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308310094

Hi Huang,

Thank you for pushing this forward!

On 31/08/2023 11:32, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Request Venus when initializing VirGL.
> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> 
> v1->v2:
>      - Rebase to latest version
> 
>   hw/display/virtio-gpu-virgl.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 83cd8c8fd0..c5a62665bd 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -887,6 +887,8 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>       }
>   #endif
>   
> +    flags |= VIRGL_RENDERER_VENUS;
> +

VIRGL_RENDERER_VENUS is a symbol only available from virglrenderer 0.9.1 
[0] and only if VIRGL_RENDERER_UNSTABLE_APIS is defined.

Luckily for us, VIRGL_RENDERER_UNSTABLE_APIS is defined unconditionally 
from virglrenderer 0.9.0 [1], so we could check for that in qemu/meson.build

e.g.


   if virgl.version().version_compare('>= 0.9.0')
     message('Enabling virglrenderer unstable APIs')
     virgl = declare_dependency(compile_args: 
'-DVIRGL_RENDERER_UNSTABLE_APIS',
                                dependencies: virgl)
   endif


Also, while testing this with various versions of virglrenderer, I 
realized there are no guarantees for Venus backend to be available in 
the linked library. Virglrenderer should be built with 
-Dvenus_experimental=true, and if that is not the case, the following 
virgl_renderer_init would fail for previous versions of virglrenderer or 
in case it has not been built with venus support.

I would suggest another approach for that which tries initializing Venus 
only if VIRGL_RENDERER_VENUS is actually defined. Then, if it fails 
cause virglrenderer has not been built with venus support, try again 
falling back to virgl only.

e.g.

#ifdef VIRGL_RENDERER_VENUS
     ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
     if (ret != 0) {
         warn_report("Failed to initialize virglrenderer with venus: 
%d", ret);
         warn_report("Falling back to virgl only");
         ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
     }
#else
     ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
#endif


>       ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
>       if (ret != 0) {
>           error_report("virgl could not be initialized: %d", ret);

[0] 
https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/6c31f85330bb4c5aba8b82eba606971e598c6e25
[1] 
https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/491afdc42a49ec6a1b8d7cbc5c97360229002d41

Best regards,
Antonio Caggiano


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:43:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593759.926834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbf90-0004Nm-CF; Thu, 31 Aug 2023 10:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593759.926834; Thu, 31 Aug 2023 10: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 1qbf90-0004Nf-8w; Thu, 31 Aug 2023 10:43:22 +0000
Received: by outflank-mailman (input) for mailman id 593759;
 Thu, 31 Aug 2023 10: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=e8Cw=EQ=citrix.com=prvs=600b2b7ad=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qbf8z-0004NX-HT
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:43:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 315d6c20-47eb-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:43:18 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2023 06:43:11 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB6559.namprd03.prod.outlook.com (2603:10b6:510:b9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 10:43:08 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68%4]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 10:43:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 315d6c20-47eb-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693478598;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=831qQyDXdZOgHacbfvXxbXmx55M+GYDhcRtfZKn5iag=;
  b=AnobzOr07DBjyoS1diRLogVdeLLZXwQz80y4QfaeHQuQbAin76Jkqw13
   b+RqCTf/dbTNOfgMIAQIhqkZkrlUZK1aDWPZ1IJnB7c9S2fvLAgfFImWX
   G+Knsu+q2QiOf80LN2IeGL4zHNhHvwkKmJlWhFHNPWaCMsdvBbeireFGj
   A=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 123952459
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:foee1aKwUZ9t6dRAFE+Rw5QlxSXFcZb7ZxGr2PjKsXjdYENS1zxTn
 DQXDD+POvnbZzGgc4skPI2w8hsBu5GDx9FjSlBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrZwP9TlK6q4mhA7gdnPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5eOjtvq
 84XFgsQRR27t9PuwYnrdc9z05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv23b6Sx3+mCer+EpWxq6dosHK1x1ZNCSEfZVvrhP2W0k2hDoc3x
 0s8v3BGQbIJ3G6BQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBONB0mLicSHbY/LHEqzq3YHERNTVbO35CShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlddCtn/No590j5EWQ==
IronPort-HdrOrdr: A9a23:26HfsaDqGsTX6AblHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/
 xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM
 lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ==
X-Talos-CUID: 9a23:qyxEH2HflaDJN/VlqmJOzxQ1RPIqTEbA53roE37gCF05d5uKHAo=
X-Talos-MUID: =?us-ascii?q?9a23=3A3Xregw02zjxne8ANXsz0n/KTCjUj6vn3CnAit5Q?=
 =?us-ascii?q?85ci4PBxwaxKZo2y0Xdpy?=
X-IronPort-AV: E=Sophos;i="6.02,216,1688443200"; 
   d="scan'208";a="123952459"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bocrYVJ6MaRoOhRPZHwJHnHMM0hDvwhaYa+PUg/o+8hXxDJwTGRGSz613VgYrOm/PDMzNiCY9VPfZu61tKMGKyj4A9kE2Tn0kRPYIUpKWZKcAQUbaPNGGyefUbhE6rPGAQ3RdtLxZLWnZcrRGF4zetSjMG5a9Y1H8AhQkuvKpRMBRTBKfEVCg57956h0noBnebfBAWrkOvAMTiSu0y7GNlUkB1chuOQtfoe00mUXg0LLruw9DLNH8s2VKR50EX5vJ6R21aUoE/jU4u3BpsoxE80HmvYtMtjo5IIokVxP7n724S/1TPHx0hFiIIo/tsPcT69JCJW82JPGrWQAcNr7jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l1cqeqijpgvhxLv1B7jYvYIpq/meCgyTj84p4u89SKc=;
 b=VTeO5LKNWx9tGUP6+32fSETj0ivbhhBpkJ1Z+4izNwT7DTBz7RpxGVul9f1eXFEzTOA2hwn3NW0uuLr7fiIroN/KKJ+EQpqrkfEXGGZzPcFiHyvbmco3GQi+lrW02pR7mk34ItYOYW+DYMesnowFptepLOchFHUwoxxxkSJYzoImFyRaE2W7Vgt5QteIFR4OEY63em4vXVY+XGglNRWLvAihfe7qWz1pl8pEOdZJ7DuYgnfMqS4TZ0RLE2Z5Ub2RQ5kX9CbOxTBqcfwd1Gb1VXz0ll5haSo6rEzjqh00wJ75MXOq7vQN7dhmTMfggFR/9z4ZDKIGiBm77TyJ/rSbaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l1cqeqijpgvhxLv1B7jYvYIpq/meCgyTj84p4u89SKc=;
 b=PQL3jkNOByt7zicURQlSKIrcALy48IUosmREcDYo7hh9Mk8TSjlwQlrw4XzWRNy+1wMkConG/ycM9mxry3uh7AMNBFjBUp1TCublcyWx6ymnA0MUQcn6o3aKyfIqLtSYbDSvU0BTEROvdyDWmDdllpF/tO1iFVddu6GPHsY0BjQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 31 Aug 2023 12:42:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] [PATCH] x86/HVM: adjust hvm_interrupt_blocked()
Message-ID: <ZPBusqv7NGaJnOoT@MacBook-MacBook-Pro-de-Roger.local>
References: <5BC0C4B602000078001F1258@prv1-mh.provo.novell.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5BC0C4B602000078001F1258@prv1-mh.provo.novell.com>
X-ClientProxiedBy: LO4P265CA0056.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::23) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB6559:EE_
X-MS-Office365-Filtering-Correlation-Id: 31e4be81-a8ef-4626-a164-08dbaa0f0e7e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zzhL9TpU0/jIqY4LKC1bNSVTXSKtFj9DqYUN4gxqFJb0wXDDbC2fAtlJM5mVYiGot/lrQLjAFnYNY7Cwcamc94i6QXFLKW2Sgm4/E37e5ytJP+aPiyPaXV7AingslG6m8zehVl4UxVwOG+SRe+B9lcYTcfbJgHoozK2IRzyfnfefkt645TVLE2QJa7PGe5zDX5AE/cMY51qk95vavYzYP8FvrvPTbMcEnd4MncYiybA+A6dyCtdMH8rrJBB4A9CCmy6QDl2ECT6rP7hlKtBf/Z8W9hsfeewws0yHaenq2+A1HU68w0idPgYe+/7t156RI6gd8G4OGU/xRjEZG/16XUdgKu9PTqB9L/zUYEu4hcgtbfqOgIzxaVYIdIik9pIybSrL0KAkuk5wubVLKPn3DkRmoclB5dLzFtftbP7nA2ON27DSAoM7RqZtAPJptwlTQfLKRDWU1rAlI6+vMRgfdoS8BZPO3WeFirQwIveC0MGj2sphNH5CCJxG3h96ZDDc42eJZq2FIepu3DbAbMQmj61NriA6tSd5lQflMuH3S68Gd2kaiDmXiaCsHqt1lOb6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(136003)(376002)(39860400002)(186009)(1800799009)(451199024)(66899024)(38100700002)(2906002)(5660300002)(86362001)(85182001)(82960400001)(4326008)(8676002)(66556008)(41300700001)(8936002)(83380400001)(6486002)(6506007)(316002)(6512007)(107886003)(26005)(9686003)(54906003)(6666004)(66946007)(66476007)(478600001)(6916009);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZnZrYnQrNXVHdk1DV20xMVcyZFVkNGpZSlV2RVJXTjlQemlRdEFrR0VEWkcr?=
 =?utf-8?B?d3k5NTdZU21DeVlSOEE4UVZCMUNxQ01MbHBoUFZzSFVNUi9kbGtPYUh4Z0dE?=
 =?utf-8?B?ME9KUVhRa1BUNTVVNldPeFgrRHRDU0o4WmgyK3hraFgyMDZSMW4xSkVsemZT?=
 =?utf-8?B?bmswRWFJOUxIMGY5VmlSNndjaDBYTzhrNE1LTzlEc2UycFh6dGpSNHVSZE9G?=
 =?utf-8?B?SFl5dEExRWdNK2Yrb1JTOEw5WjFFWUFlN05FYlZlem42akRPM1I3Vmx6RGdU?=
 =?utf-8?B?VTZFeUc2MiswZ1dxeVVkY1UrTmxZZFRCWVJzV1Y3QVhtNUlhcFcvTDJmOGp5?=
 =?utf-8?B?OWhoeXJMckpsc3pYZ3J2MHozTElpUm5VR2RSdUlRblg2MmMrMGF1ZUNDK0Ir?=
 =?utf-8?B?TDN2OUZvMVlSU2NvNXdRN2tSbk9aNisxTlZMdzY0bmwxaTBKVWpQQXFvOTNu?=
 =?utf-8?B?bHRiMTdiNGZQa0grRVk2cUdVS08xNjJSWFEzNFRMM0ZrTU8xbnJPdUVPcGdz?=
 =?utf-8?B?QWZhMkdsRk56VU1GKzEwdmdycGRyS2xVWUJ2TktYVFU1K2hkbnFBSkREdDJn?=
 =?utf-8?B?amRKRGZNd2F5KzEvTnErcTBGVDVsU2ZIS0tFY2xCTXZuc2ZPMEVEdlJKZ2ZZ?=
 =?utf-8?B?clZiN3JEUFZGQ04zbjRwUldRQ1A5cTAzZFFxK01udjlNVnVPaU9uUG5YdCtC?=
 =?utf-8?B?T2dJbDhuODhqYml2MmowY2xIZi9hTUhKS0lhcUtoTEt2UkpneWdIVzFUWmt0?=
 =?utf-8?B?Z3p3MXJuNGRTNkhaUjlYRWM4WmxkYUxkWkN3ZXN4ZDV5MExjRnNvMzdJL29W?=
 =?utf-8?B?ZmJQenNjWjRod2xBTytXcE1mY0JOVmxFWkVDWlVIK1BOR2svMDdwZE5PSFli?=
 =?utf-8?B?M056Q0RWL2JxaE1lWnYvYk51Y0pxM0RQR1NTT0lxS2Y1QUtOL0d2Q2ZHN1pn?=
 =?utf-8?B?d0lTeEpCdHBGL2dwZFk0SlRDMDd3NHBmT1dIa0FTZFlNYnZLeEdGYUszdWhv?=
 =?utf-8?B?VG1kTHFSNk5NTnk0emV2cVJtb3RjOWhPbGFBVkVZMXZuNHhvWEdKT0w4bS9F?=
 =?utf-8?B?Y3lVYU1RbkVkWFB2cE9pSnVaYVc5UDh6L3VBY2RJQzRkUU8zazRBd3JnU0I3?=
 =?utf-8?B?emk0dW1Yb3NwNk45eUNScEpieEV4TnhtSXprQU8vRHNrN1FDeGdaMmtEbERF?=
 =?utf-8?B?cHBId3diaHpLNWZRazl4djRHK1FCNlYrRFVMQ3NrLzVFMWFMdVNGeFh4TFBS?=
 =?utf-8?B?UmpkRVpXU1J3eUFBZjkrYmpsNFZSend2dk1IcktFRlRhMWpYa3pFSm5xWjJX?=
 =?utf-8?B?NlN4TE1WS1JqUjFwV0g5Y3ZJUnR3UmE5RnJKS0tBaVI3eFUvVUF4N1BENjdH?=
 =?utf-8?B?ajFPUEJ1em04VUlETG9aSlRMUUQwKzZrdlA4aHdSbFBHT1N3aUxTYVc2Nk82?=
 =?utf-8?B?SmNjb3FkYzFZa0FLd3AwUDhWTm5LRWJpQkpVZzdWVEdlV09PYVdOYkVkNVYy?=
 =?utf-8?B?MFFsSjVZOUs4QWJta3RFZUk2OVJpZkdpTjZVWTdlaDF4LzhGS250TEJSeU12?=
 =?utf-8?B?ZFhUc3dkQUliZ28vckdGbHVDMVpDRDFpNm5VMXpmQ0JjeVJuTXFOeWFidU5Y?=
 =?utf-8?B?S2gvZ2QwcEEvY3VNQ2NIZWE1VFh3WE1UOFVPSDdmdVhIeWE3M1FrRE1aSEhM?=
 =?utf-8?B?Y2cwRkdFdGF6b2o4MWxEUk1vS0YzT0ppRlJOVnRtTWdQVVBHZzNRajMxUHNt?=
 =?utf-8?B?RDJMRU5FdWVWWE5kOWdMMDlQeVh5UmVLSk5zcnM4YjlIaFc5SlJxaUF0L1Zo?=
 =?utf-8?B?WW12d0ptK1IxbEh4YkNsVXlkR29jUlFBdlJKTkhaQnNmLzBIVGpmakdKM0xY?=
 =?utf-8?B?ZUNEa3R4MmhsSjBoMDB3K1JKcndRQWVTbGdJRHJoTklpK0ZHS2JackpyYjNS?=
 =?utf-8?B?eUNkVmlMd01xS2FneXpLZDB6ZXRpckluMHAxeGgxeVI3SFFpVVlpbnVGbnNj?=
 =?utf-8?B?bTB2cWl5OUg3WURaTk1JVkJ2QlNtazZDY0RWN3FRcnVqbjEwd1JnZlVObG1Z?=
 =?utf-8?B?UTBpY3BpVnlyREluUk1oN05jbkpNbUJIYWhETk4rUWZ1cWNKTzRzTjJKYkJv?=
 =?utf-8?B?MFh2M09vcEM4Sm9vZ0xiUWFFOWJpSzV6QTUwMzdnVmVWYVdNYjFjUHpYZU8y?=
 =?utf-8?B?NkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OBzqMuSH3Hwjy6xStsfZ7EVTDEVPsN0d8shktfNr0Nz2vy6uKGDVm1+qeT7wzDkCzFiQM/+/CW78vkz9pI4aJd3DY3O7XvddGzKhTlvgqYgzVr/FI9IpLgtMEn90d62h80D+MSC2/aMy77jGnnEdJPL1wOt60VbPoIzWeH1/dg3Dp/IQU2Z7jDkJhLHNj0zqMVwHln/6vuvh7DPiTTUUlna/Ydj9waVmLATYUsnX6DGz/cSdwrffDILumrsr0wdZM4o5fkB4JbnLt4PHbnOi6XM0KRLCZR/ab7/jThn/D67w8lQNo1QcbIDPhGfhI5jPpJoA9UxB3TaqDyILSLZY5IIKLD4C/oTF3BMUUqh5J1CdXU9uPb4LGbZbfl28+1CTRyvGakL5i+69/9HWuEmX4QUWwzscuiNcuLTPwBZEKcS3WmUk2oThDVwPd2M/umYlAwZcJf2XrOcrNT8S5WjK0fqaMp09fANB3TsMLo1nwxD94jgKYhSSuygM0SFVaA1xB62JIvP6tmwJUR/ib8Srt+84RUFVpGcWrxnz9HkUlq1g5ORZAXLFunkVTEyUthULL+q3yN0T6Wn+VVq3CBB6BADOgzK4oJbbB2qzA1BvMc8wR0NApWzWHrtFGmNkMib7Gt/ywdzU5p9sUgv9Lr0vDX63mPq8R+oFV4q0wFhhcFptK6ZLZTmeG+2VLp+gaBiFNhXki5K+b2ourVSzQo4VvmvlquKmQNziBfccOw7T8stHbHDvdaev/dUdIl3v7jGuKYtIQGj2M/h203Qm8mXNZ4vM/kvtATSi+TZk4Urbqi/EqY6pvhjZMytSFzXmOBFp
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31e4be81-a8ef-4626-a164-08dbaa0f0e7e
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 10:43:07.9070
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ysrjSFJw01B2F3wyHCCsww9c9UdKNwOIS1mTPvZIWl8zk84IMcugbWcFfGT7uzaqd9wAnP0Nwn49sPJHcQJ9lw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6559

On Fri, Oct 12, 2018 at 09:58:46AM -0600, Jan Beulich wrote:
> First of all, hvm_intsrc_mce was not considered here at all, yet nothing
> blocks #MC (other than an already in-progress #MC, but dealing with this
> is not the purpose of this patch).
> 
> Additionally STI-shadow only blocks maskable interrupts, but not NMI.

I've found the Table 25-3 on Intel SDM vol3 quite helpful:

"Execution of STI with RFLAGS.IF = 0 blocks maskable interrupts on the
instruction boundary following its execution.1 Setting this bit
indicates that this blocking is in effect."

And:

"Execution of a MOV to SS or a POP to SS blocks or suppresses certain
debug exceptions as well as interrupts (maskable and nonmaskable) on
the instruction boundary following its execution."

Might be worth adding to the commit message IMO.

> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -3771,19 +3771,24 @@ enum hvm_intblk hvm_interrupt_blocked(st
>              return intr;
>      }
>  
> -    if ( (intack.source != hvm_intsrc_nmi) &&
> -         !(guest_cpu_user_regs()->eflags & X86_EFLAGS_IF) )
> -        return hvm_intblk_rflags_ie;
> +    if ( intack.source == hvm_intsrc_mce )
> +        return hvm_intblk_none;

I've been wondering, why do we handle #MC here, instead of doing the
same as for other Traps/Exceptions and use hvm_inject_hw_exception()
directly?

>  
>      intr_shadow = hvm_funcs.get_interrupt_shadow(v);
>  
> -    if ( intr_shadow & (HVM_INTR_SHADOW_STI|HVM_INTR_SHADOW_MOV_SS) )
> +    if ( intr_shadow & HVM_INTR_SHADOW_MOV_SS )
>          return hvm_intblk_shadow;
>  
>      if ( intack.source == hvm_intsrc_nmi )
>          return ((intr_shadow & HVM_INTR_SHADOW_NMI) ?
>                  hvm_intblk_nmi_iret : hvm_intblk_none);
>  
> +    if ( intr_shadow & HVM_INTR_SHADOW_STI )
> +        return hvm_intblk_shadow;
> +
> +    if ( !(guest_cpu_user_regs()->eflags & X86_EFLAGS_IF) )
> +        return hvm_intblk_rflags_ie;

I do wonder whether this code would be clearer using a `switch (
intack.source )` construct, but that's out of the scope.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:43:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:43:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593760.926843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbf95-0004fx-LW; Thu, 31 Aug 2023 10:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593760.926843; Thu, 31 Aug 2023 10:43:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbf95-0004fq-Ii; Thu, 31 Aug 2023 10:43:27 +0000
Received: by outflank-mailman (input) for mailman id 593760;
 Thu, 31 Aug 2023 10:43: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=DT0c=EQ=daynix.com=akihiko.odaki@srs-se1.protection.inumbo.net>)
 id 1qbf94-0004NX-L8
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:43:26 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35bb055b-47eb-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 12:43:24 +0200 (CEST)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1bc8a2f71eeso4873805ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:43:24 -0700 (PDT)
Received: from ?IPV6:2400:4050:a840:1e00:78d2:b862:10a7:d486?
 ([2400:4050:a840:1e00:78d2:b862:10a7:d486])
 by smtp.gmail.com with ESMTPSA id
 g12-20020a170902740c00b001bbdd44bbb6sm984888pll.136.2023.08.31.03.43.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 03:43: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: 35bb055b-47eb-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1693478603; x=1694083403; 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=pthxO9otZ5F1W93I4fM7b6t8TGyUaxxABGXbq13EuGw=;
        b=gPOroCW4qRVBzkrAiSeqzGcQfzPYMLftQS6QjTlVFg+m6xxI021tY9VCQcmb5R9Kzl
         l0qP+5gcnxPnbbOHJT4ObH/KGB8JhyXCZgaTgRR49+C+FBTfAnFazHY7Xwhgx7UrsWOG
         FNLLkTj4Fm9q0NLEGmdiD2wrtY/rqvOt/MhyLCrr8q22iB9AfG51hk9gp7XarGSi/8M6
         3f9NVzK3VNPQJjdqqdKQKfFbgfXFZ0w4xMQkyfJsZli/vLghdb2s0arI7ikS+yr7NRnA
         tAPzerzEbgfnJDZdobREJ8UhjZ4h0zpxhj1aQpTKcckEUDH475Sl59tGUh6iPx3VqpLr
         lHyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693478603; x=1694083403;
        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=pthxO9otZ5F1W93I4fM7b6t8TGyUaxxABGXbq13EuGw=;
        b=FBHDt4LE+JUiThxvpf/dm/pKkAa/kfnQMx8oPYUAMHR3BVQxmeesIZn2Tmzaq+l7ni
         IXFSdU8u1X4YDBrs7b5JMWY+OByuneysqBGWH3/GyokAb8nfjSRChwVSFqfIw1/gSiwk
         8xpSN/CRiszc3y9LMIr3E6Yl7n4AHRghiaedPAX+E3TzMxTGJ4tG5hjffY2MTPvln5/x
         b8kZZAn9byYENT2838PkssruM5Uj8nBrCdXPFKInUdXkxWZKRY4B3uLSNrAds65ltJOb
         gHsu5nl39rgLhp+ThLU4fczxXFbXpWxEwHakO2hyxcwDa3vP6pa0m7N+OhCUj4vl+sAX
         toNg==
X-Gm-Message-State: AOJu0Yw1307HlFVqaXIQTni1Fu91ejebgjvzIinB0EvHxdZmKBbClV0g
	5tGTpuyPYmLs1h44E/OZF+2hug==
X-Google-Smtp-Source: AGHT+IF61CnqGDOu6EZq+ZgIaumeod7KOlm7Ef1ZjxoEiKfNUFtI0udiwYapvHIpTz8Oekph4Jtnfg==
X-Received: by 2002:a17:902:c086:b0:1c0:6e92:8cc5 with SMTP id j6-20020a170902c08600b001c06e928cc5mr3604644pld.17.1693478603280;
        Thu, 31 Aug 2023 03:43:23 -0700 (PDT)
Message-ID: <fe36e4e1-1198-4da4-b6ee-a6a00a44298a@daynix.com>
Date: Thu, 31 Aug 2023 19:43:17 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QEMU PATCH v4 11/13] virtio-gpu: Support Venus capset
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Alyssa Ross <hi@alyssa.is>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-12-ray.huang@amd.com>
From: Akihiko Odaki <akihiko.odaki@daynix.com>
In-Reply-To: <20230831093252.2461282-12-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2023/08/31 18:32, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Add support for the Venus capset, which enables Vulkan support through
> the Venus Vulkan driver for virtio-gpu.
> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>   hw/display/virtio-gpu-virgl.c               | 21 +++++++++++++++++----
>   include/standard-headers/linux/virtio_gpu.h |  2 ++
>   2 files changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 1a996a08fc..83cd8c8fd0 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -437,6 +437,11 @@ static void virgl_cmd_get_capset_info(VirtIOGPU *g,
>           virgl_renderer_get_cap_set(resp.capset_id,
>                                      &resp.capset_max_version,
>                                      &resp.capset_max_size);
> +    } else if (info.capset_index == 2) {
> +        resp.capset_id = VIRTIO_GPU_CAPSET_VENUS;
> +        virgl_renderer_get_cap_set(resp.capset_id,
> +                                   &resp.capset_max_version,
> +                                   &resp.capset_max_size);
>       } else {
>           resp.capset_max_version = 0;
>           resp.capset_max_size = 0;
> @@ -901,10 +906,18 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>   
>   int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g)
>   {
> -    uint32_t capset2_max_ver, capset2_max_size;
> +    uint32_t capset2_max_ver, capset2_max_size, num_capsets;
> +    num_capsets = 1;
> +
>       virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VIRGL2,
> -                              &capset2_max_ver,
> -                              &capset2_max_size);
> +                               &capset2_max_ver,
> +                               &capset2_max_size);
> +    num_capsets += capset2_max_ver ? 1 : 0;
> +
> +    virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VENUS,
> +                               &capset2_max_ver,
> +                               &capset2_max_size);
> +    num_capsets += capset2_max_size ? 1 : 0;
>   
> -    return capset2_max_ver ? 2 : 1;
> +    return num_capsets;
>   }
> diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
> index 2da48d3d4c..2db643ed8f 100644
> --- a/include/standard-headers/linux/virtio_gpu.h
> +++ b/include/standard-headers/linux/virtio_gpu.h
> @@ -309,6 +309,8 @@ struct virtio_gpu_cmd_submit {
>   
>   #define VIRTIO_GPU_CAPSET_VIRGL 1
>   #define VIRTIO_GPU_CAPSET_VIRGL2 2
> +/* 3 is reserved for gfxstream */
> +#define VIRTIO_GPU_CAPSET_VENUS 4

This file is synced with scripts/update-linux-headers.sh and should not 
be modified.

>   
>   /* VIRTIO_GPU_CMD_GET_CAPSET_INFO */
>   struct virtio_gpu_get_capset_info {


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:49:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593774.926855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfEY-0006Js-87; Thu, 31 Aug 2023 10:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593774.926855; Thu, 31 Aug 2023 10:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfEY-0006Jl-3q; Thu, 31 Aug 2023 10:49:06 +0000
Received: by outflank-mailman (input) for mailman id 593774;
 Thu, 31 Aug 2023 10:49:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bdNS=EQ=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1qbfEX-0006Jf-6C
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:49: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 003f9b8a-47ec-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:49:03 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-401b0d97850so6197255e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 03:49:03 -0700 (PDT)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 x18-20020adfec12000000b0031989784d96sm1794666wrn.76.2023.08.31.03.49.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 03:49:02 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 52C661FFBB;
 Thu, 31 Aug 2023 11:49:02 +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: 003f9b8a-47ec-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693478943; x=1694083743; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q9szszzBUdR5ToYe4lkxKsot+1tiEkxd0HyQR8K/eWs=;
        b=AGwjosFVXJ0vh6NgG9eOVeVlJrVciWxEl+G3NDYdDmGISoOh8yUmRYKD9yhFRFfj0L
         DcWxokpEoqnbciKHxamrR/CUaBjaaSC3VyBbXO8rJhL3Jq/QMtXoAYVtNshP/KbIkr9k
         VF4RHBcMzOtqK238c9/xbETpMhKUezyt6KdLKRLDy1ByPu48MvnGMv3X0PFM93t+ENTV
         /hKQ2pIrcYofWrtt9OudDUARg4v5KzOVqW8qlY3l+KUrjoD4ecC/ok1KNqn4IXv47C4Q
         DmUC7kUSjOWR7riqzhhck629Wrrmn7+jpaCs4xf8nXSZZZNoUF2GPYABXnxRnMupUhUq
         BIiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693478943; x=1694083743;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=q9szszzBUdR5ToYe4lkxKsot+1tiEkxd0HyQR8K/eWs=;
        b=Qf8kRecUnY+LzdFlorMQFr/x7dTH9TfAr9+5cuXpAPHKLaPLVPCIrJVw5MVcHRmXyk
         TEGIFVQkDiq24es95Qz+wXaBj6usVG5SvhSny7vIYcb40RqKbaVYfJu1qY/tIe0ZAShM
         U2HoizqqOGR9MeJXCzcKVxLFMtEpLg2c5spYLIdrcrob7tKDg8eadXy1jxlL5uJId0u/
         TBU0eiN325lUYZEuNtYCYzUwVGsGOtR4b5anvrTrmouWpItqZBiB9Y8xQt1sFEsTckex
         OOYsvByomXa1WKZIsTOPFzo8rNS6VUdGYir9I7YhMoWLhKzS18kESDUfimL8/Z35rDe5
         O9eA==
X-Gm-Message-State: AOJu0Yx9vxFqa943nFW9AEgOhQFzD9Iq0S7VvjLB+RSJgag2eUXKAs4S
	vEHvg9dzcOGAr8LK0ppHhZp3/g==
X-Google-Smtp-Source: AGHT+IHteP7lU0wzH74Sjeqf1haATrXeUDt/BoBTIdUwgYDt8oDcbbtbbncX6VNh/kKjGjww7sZEtQ==
X-Received: by 2002:a05:600c:224d:b0:3fd:30f7:2be1 with SMTP id a13-20020a05600c224d00b003fd30f72be1mr3569804wmm.39.1693478943151;
        Thu, 31 Aug 2023 03:49:03 -0700 (PDT)
References: <87y1hspiyh.fsf@linaro.org>
 <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
 <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
 <87cyz3pmgz.fsf@linaro.org>
 <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
User-agent: mu4e 1.11.16; emacs 29.1.50
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
 <xen-devel@lists.xenproject.org>, Stewart Hildebrand
 <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik
 <Sergiy_Kibrik@epam.com>, QEMU Developers <qemu-devel@nongnu.org>, Vikram
 Garhwal <vikram.garhwal@amd.com>, Stefano Stabellini
 <stefano.stabellini@amd.com>, Marcin Juszkiewicz
 <marcin.juszkiewicz@linaro.org>, Jonathan Cameron
 <jonathan.cameron@huawei.com>
Subject: Re: QEMU features useful for Xen development?
Date: Thu, 31 Aug 2023 11:27:08 +0100
In-reply-to: <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
Message-ID: <878r9rpjvl.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 31 Aug 2023 at 10:53, Alex Benn=C3=A9e <alex.bennee@linaro.org> w=
rote:
>>
>>
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>
>> > On Thu, 31 Aug 2023 at 01:57, Stefano Stabellini <sstabellini@kernel.o=
rg> wrote:
>> >> As Xen is gaining R52 and R82 support, it would be great to be able to
>> >> use QEMU for development and testing there as well, but I don't think
>> >> QEMU can emulate EL2 properly for the Cortex-R architecture. We would
>> >> need EL2 support in the GIC/timer for R52/R82 as well.
>> >
>> > We do actually have a Cortex-R52 model which at least in theory
>> > should include EL2 support, though as usual with newer QEMU
>> > stuff it quite likely has lurking bugs; I'm not sure how much
>> > testing it's had. Also there is currently no board model which
>> > will work with the Cortex-R52 so it's a bit tricky to use in practice.
>> > (What sort of board model would Xen want to use it with?)
>>
>> We already model a bunch of the mps2/mps3 images so I'm assuming adding
>> the mps3-an536 would be a fairly simple step to do (mps2tz.c is mostly
>> tweaking config values). The question is would it be a useful target for
>> Xen?
>
> All our MPS2/MPS3 boards are M-profile. That means we have the
> device models for all the interesting devices on the board, but
> it would be simpler to write the an536 board model separately.
> (In particular, the M-profile boards are wrappers around an
> "ARMSSE" sort-of-like-an-SoC component; there's no equivalent
> for the Cortex-R52.)
>
>>   https://developer.arm.com/documentation/dai0536/latest/

It's not super clear from the design notes but it does mention the
SSE-200 sub-system as the basis for peripherals. Specifically the blocks
are:

  Arm Cortex-R52 Processor
  Arm CoreSight SoC-400 (n/a for QEMU)
  Cortex-M System Design Kit
  PL022 Serial Port
  NIC-400 Network interconnect

But if writing it from scratch is simpler so be it. The real question is
what new hardware would we need to model to be able to bring something
up that is useful to Xen?

>> > The Cortex-R82 would be more work, because (unlike the R52) it's
>> > AArch64, and we don't have Armv8-R AArch64 support yet, only the AArch=
32.
>> >
>> > I haven't looked at whether GIC on R-profile requires any changes
>> > from the A-profile GIC; on A-profile obviously we emulate the
>> > virtualization support already.
>> >

--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 10:58:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 10:58:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593781.926863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfN8-0000ot-0z; Thu, 31 Aug 2023 10:57:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593781.926863; Thu, 31 Aug 2023 10:57: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 1qbfN7-0000om-UX; Thu, 31 Aug 2023 10:57:57 +0000
Received: by outflank-mailman (input) for mailman id 593781;
 Thu, 31 Aug 2023 10:57: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=e8Cw=EQ=citrix.com=prvs=600b2b7ad=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qbfN6-0000og-4R
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 10:57:56 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3af963d2-47ed-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 12:57:54 +0200 (CEST)
Received: from mail-bn1nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Aug 2023 06:57:50 -0400
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21)
 by PH0PR03MB7066.namprd03.prod.outlook.com (2603:10b6:510:29c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 10:57:47 +0000
Received: from SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68]) by SJ0PR03MB6423.namprd03.prod.outlook.com
 ([fe80::8a1b:5230:3575:dc68%4]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 10:57:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3af963d2-47ed-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1693479474;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=0PNWtVvz8yxKGZZ9aShit12k6O6XZB5jv1t22lwWlAE=;
  b=IF08B0+vNe4oUcVQMdlJRA1H8+vGljLSSln9+3OypRiFxTIm83VrVB5b
   fpY+5uYuMnqatI3O51aHPpSPHE8xYRhKIHrJW91iXbLH3fhoD412NCgAj
   yaKFgSYKi1c5vww3+GDIlxvAOCWy8+uA++178JzaGQZHts0e8eEDRkPed
   c=;
X-IronPort-RemoteIP: 104.47.51.41
X-IronPort-MID: 121260265
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lTxpE6sV4tb8cMhoKYWOlSyQUOfnVEVfMUV32f8akzHdYApBsoF/q
 tZmKWnXP6qPYWT0eY11Otu+9koD7cCEndU1HANl/iwwQn9D+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq4lv0gnRkPaoQ5A+FziFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwDzJWPzGmjL2P+5WDStZ2h+olLJPFM9ZK0p1g5Wmx4fcOZ7nmG/+Pz/kBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osif6xabI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqhAdhMTOfmq5aGhnWzyDEeNgcZZ2C0sKbmoGrvV45FA
 UYtr39GQa8asRbDosPGdz+SrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9dJ6G3rKdrDf3My5MK2YHPXUAVVFdv4Clp5wvhBXSSNolCLSyktD+BTD3x
 XaNsTQ6gLIQy8UM0s1X4Gz6vt5lnbCRJiZd2+kddjvNAt9RDGJ9W7GV1A==
IronPort-HdrOrdr: A9a23:stopra39usbEzdYJk/As+gqjBGMkLtp133Aq2lEZdPWaSL3nqy
 nOpoVr6faaskdqZJhNo6H6BEDEewKlyXcX2/h2AV7BZniahILAFugLjOvfKn/balTDH4VmpN
 tdmsZFeaLN5JtB/KTHCcuDYrUdKRW8gcSVbBnlo0uFtjsBV0id1WlE4/ygeXGeuzMqOXPFLv
 WhDwN81l/QHkgqUg==
X-Talos-CUID: 9a23:zxM4T2HdLNrWt+y2qmJA9hVFO+UuLUTm60/QHFW5J2BpEpOaHAo=
X-Talos-MUID: 9a23:sAz6lwm2HLKNKR621T0gdnpCOppl3b6hOnsCgMpZke3VOXBqET2k2WE=
X-IronPort-AV: E=Sophos;i="6.02,216,1688443200"; 
   d="scan'208";a="121260265"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FcFLor7J7i2oWozOWlN7s9Udym6pQT8xjFbZa5VruM+/5Ktvc+GMUkOdRVTNZPGy8bB5fn28JMaERZ2Dsn/7cnFrAC/kvtjyCpzTGzpgODhJoLT/nAjtHuhYR5yn9vFpxXtfxeXUSLYJkHo5f3LRrpyx0+RPo+HHDjqdllS9/Yh/f5n3xCqdaJwJzo625naOD27TivnT1UmKW8dytdHPIS1QbfzNhmNP6kxxNtB8ilkanpCf/OwjsQG9+l49jswTbrzGTAB5uvkv8AzGLjWsjwG4PI29YRgvQS4WOpQ1RN8sBEJ5bpW8H/k5wENIdZgEWijUk6RJ6hVxmR1xyZNm5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jJ6pPdZ64dlIvdahzCXO0jXvLEbc7vLFlD6XfT5ebTk=;
 b=UBhj+AstSFxqtpRRGMtduq/cA+LqhLBlDmh/suw2NWGXQZX2rqLjP1tyROghP+PommQXHkUss7zGDa6PCWZwUN+FIJsXOo8COCKzLe/auLUca2dv2jlhilzv4nKSwwZ4SKDd1fEOjJv0v7DrZiw+QbJjE8hFV07cb7ovAPyipInsSRh4P27KqSknG7t24nNrtgZ3RD9ejSdFRhEWCLz2POHRrmPT3UimFKjgW7V7os0DnFMi4LoH2aauobQlebP0DTfffVJyusnE///WHU1Cy4A+jRLEOc/MxCdmhN6E47U7PCXrYiAhRkJLI52EMo8M55d9y0M+Idryh7NvXB+ZNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jJ6pPdZ64dlIvdahzCXO0jXvLEbc7vLFlD6XfT5ebTk=;
 b=Zig3+9Z4U1ed/hpmuB3pETfkI+iCYdTI8xuiKh4x1yZC0MAALe0D2YCT2HXkhCJXef1W4MrpV4Z7w3Voiy/SpNVtsdUG7UhP5OVXeyJBMgXQ5SZkgbeKrBEujIUuQNtxRPkd8K2VZNbpg17Lx4PUB80/cNr8/IVchOdyS3vBg+g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 31 Aug 2023 12:57:40 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] [PATCH] x86/HVM: adjust hvm_interrupt_blocked()
Message-ID: <ZPByJJEoJOjV3CIY@MacBook-MacBook-Pro-de-Roger.local>
References: <5BC0C4B602000078001F1258@prv1-mh.provo.novell.com>
 <ZPBusqv7NGaJnOoT@MacBook-MacBook-Pro-de-Roger.local>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZPBusqv7NGaJnOoT@MacBook-MacBook-Pro-de-Roger.local>
X-ClientProxiedBy: LO4P123CA0569.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:276::9) To SJ0PR03MB6423.namprd03.prod.outlook.com
 (2603:10b6:a03:38d::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|PH0PR03MB7066:EE_
X-MS-Office365-Filtering-Correlation-Id: f8afad65-d9e7-4acd-8c5b-08dbaa111b69
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yDJLoljQx4G023aiEyaqLqqzyEWpq5GbiHL9o4Z9bTZkLedC2zsFKiCKy0VjXeeZqBed0h1ZU7tZVynEq/nGf1QAWVEQoidBZt+6ovG6vnIfPfOd2dKUeHUGZrxpm6+jTqgV0fvb9QXSPq0lguJpgQXb7ZI7YtpKDNZWYDhi21FYNRUtdiSltkfqdJxf0r4w9ymcC9Fv8S2xfG614YD1p/RgGmVK/CIHUkZrSvC767I9fBG6BObtjOuJjstJQqpmgjh+oEWs2JINgRpTmaWucWdrdTWT2iPeKT61a6YJJRULR49zLp/V/gyLs+w9y8xAzf86U1fQus9zd4bWKe4S63FjoVWMEz43pQeK6A8SMOezL1bPuE7mSQDlSYVdBH3dcn/XqgtIC3cRG4VWRqTZt8aVCsaQrfxdKYpsWdz/Gb+XJFhwxXDlmJQyu6puqKpTAHSPR17pg3rAywayn64ZVSgH3J8xkfQsJp4ZEuCq5X7VF0vSLxw2tDlDX8KFl9t+SvKaDrheSvQlag4r6lfY4aSJQldMyUwGfbMgoJHniYLldia0pK/4gT4anz8WfRC6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199024)(1800799009)(186009)(4326008)(6486002)(6506007)(9686003)(6666004)(6512007)(41300700001)(478600001)(83380400001)(26005)(8676002)(54906003)(6916009)(66476007)(316002)(66946007)(66556008)(5660300002)(85182001)(38100700002)(107886003)(82960400001)(86362001)(2906002)(8936002)(66899024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEgxcUhVZHhQNFJVTVFhelZVUmZucWthN2QzbXZYNEZnTmMrRkV5UWxXWTEy?=
 =?utf-8?B?Y0l2OFlZMGVzemRDN2hUVjdLcHJBd1VQSlFHRmFZMlZSU0l0NUs2YVdrZzE4?=
 =?utf-8?B?T1dONi95MENReEZLTkhSY1E0WEl2RlhvUEtjYWNJdkNwTVAyMWs0RHNtUXJF?=
 =?utf-8?B?TjJDamFDVHRpZThoMTJINzRoTGRJMlZ5YUthYnl6d0dsV2NTalM1TnlvMzhK?=
 =?utf-8?B?NHlveitKQjcwUk5YZFVIZHVybG9CcnU4KzZFQVE4MGM5N2F6Tm1QQjRlT3Bm?=
 =?utf-8?B?cFVaKytxNXRNa0JTSU8xbTFBaStpWGJ3VDhhQmV0MS9UMnlVRytRczNqQm5h?=
 =?utf-8?B?VS9YN1ByZGd5ZlNsZmNpdzVlVVRzZnVRZmtaTVBwRXJYa2ltRit5ang5cjB5?=
 =?utf-8?B?cmxJeXlFQkRMd2ZWcVlTTmpPTnY2WHBVSW5oSXJMZ01TVzZ4ekNEVmpyMWZa?=
 =?utf-8?B?dVcvYnlOTXZsblRqYVVpd1ZMdnNVbm8xN2s0NEI5Nk9EU3B6cTNjdVpuMVdk?=
 =?utf-8?B?YklTb1dnd3lmYUEvWnFDeDFNTHE1SlphRUhIV2pObWtqZUhWQzRIbXVpSkdr?=
 =?utf-8?B?L0tBZEQ2SGZndjY0ZXJ6UFdMWEEzR1JrejhjNWROU2hDemRqbjJOZE5QUFZV?=
 =?utf-8?B?a1MycFRTa09XQ3lHMlluNzAvdmUwY0FVOGZMSGtBcTh0V1p2SGV3OVY5b2N6?=
 =?utf-8?B?K0NHNGw1TFZrczN4dHN0R3VERUhaLzRMZ2JYaUVTRlFHN29uN1JZU0JJU3h0?=
 =?utf-8?B?VW82dDFkT1p5VFdhOVF1OEdJKzdaL3o5Z1FjemZjSUVhR215ME1ONTlycWE0?=
 =?utf-8?B?anN5eTg1RGltano0ekp4TW1OdkJYK3Zac1doL04xSVV4NzZ5cXRDWkJPcTJn?=
 =?utf-8?B?d0hOUG90dFh6aVR2OUN1ek4xTlMvVmlUL2ZIM3FBNXV2bEpJQmpZSXkrYUJX?=
 =?utf-8?B?K1VHNUtxRnBsUHpLTHhaSEhOVmlTWE1yN04zNWlMZ0VQNXhEWnNEZTFiR0N0?=
 =?utf-8?B?OVVodFJnRVZ3cWNlcnNNR1UzYk5Ka09reko1bndJWjlHaWRoMWUySGVtR29T?=
 =?utf-8?B?UWs1eFhpZXZ2UzdyWWgwc2ZoNDhXbUZpTUc4S2tuaDlhZ1ROMHJtSjYxMXQ3?=
 =?utf-8?B?aHBKMFF3R2VxYUJJQmgwejRJeWp4OTduTFowbnhDVE1mRnZvUmFhK0QvVW5r?=
 =?utf-8?B?VmcyMVZnMnFKQTN3alU5L3FicUd2aE5hcGsxcERBZUN6MkVrWW5wa1NFcWV1?=
 =?utf-8?B?SGVLVzFPZFFKcDlTdTQ0Z25QOU1PWHFRZUlSRmZiRHp2N2JOR1FES0tCbmRr?=
 =?utf-8?B?SWQxL1RCY0VOb3RpOVFxcjJxZzJqWUNvR09kalRLRkV4WW9EOFZsOWFyVWcx?=
 =?utf-8?B?RnNFQjBOZVdFL0x5UTkzYTQ2ZFh2Qmhwektmd2llTjRsUmM4MzNRdm1pN1FI?=
 =?utf-8?B?RkJSVjQwTXp1VCtWSDd5YTY5TC9Gd3d6bkQyVEF3ejRvQW9FeGRXTW1iY1Zx?=
 =?utf-8?B?OXAzazBlY2U2bFlPdi9FUVhLc29pbDZoOExteVJnaDFaVmZuZnBwZElYV29D?=
 =?utf-8?B?YVE1aWRwRjBkNlNVVkxrZ2d6V1dNak9IRjF1TlhJcDlMYXE4eC9nbDc3ZVZj?=
 =?utf-8?B?SlN2d1R4N2ZpSTRxaExra3RaRXdmb0pZcHMrTHU3NlJkOVpoTTJid05UNk5E?=
 =?utf-8?B?WVpac05yczJybk5ZY3FNSkFRSmdFVzQwU2dGWE1HRUZPNWpOVGhjZVNPTm55?=
 =?utf-8?B?SStJTjNodXBpTFdZdzFRdjlraFNwZHRqcnRrUG5vbHJNNGFISGo1cUdZaW1T?=
 =?utf-8?B?RFVaSDZicU5uSmxkM01wNXlQcm9lT283NDhDWG51NlIwWTdoTlYzVjVORXNH?=
 =?utf-8?B?MXRPVkxVRUFnQVh3c24rMXpML1VRam1mL2wvS05pSlFWVHhDaFBHYTNHMVlN?=
 =?utf-8?B?WEtJS2hmNWpaK1NkNDVkMm9jVCtFMUJaa2JYVXFHODRlWGpwaWVXY2NYL0Jl?=
 =?utf-8?B?WjQ2N2hMTDVaWXpsaWRmbFRQdG9vbERQdTUxZ2YrbVlOWkpBWnpBZ1UrVEdi?=
 =?utf-8?B?L3lrbDQzS0VEY3JsaUEveWliYkdBUTRzbXp0ZWsxL1dHWGpybXljalJ5dFlP?=
 =?utf-8?B?QU8xbXZCbnREZDExOHdnenZzUlBNTURmYXYyT2lod203cUU4Z2ZqT2pYRmhY?=
 =?utf-8?B?aUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	1UZ1LDL0MlnWeLB45ICI5ULLfDgx5+1Azu1i6Ua+9Wu8O9p9UCqoTf92I4K3grTrMSMXAtXKB+g3eJLgvSEsfOc8g43cAY+cX57KvYraw8lN+IHTssEOVq2vyy2XWTXYfYMbf5dIfHVlawJUb91CTTRe4YZZPGDiNM5ZXrdf0XT1fkE+ciYLWmzkKrctXc1LdE/wQousHFmW5774RAEa9EGj9nG2diPKT84yk0x96WHEVFZ5SE+PEUgi64NZZgddV4MEWLqUAhe8ftBJpK3ALHfkh8cf4m92WwchX1I/FOkt1I56HGbjSjnTCniK6Gbex2tLwRyWAYVeB8nQbM8obJ5xVS9GeCnYbBrV2jdQXgXLTEXtp/MfznLp4Qx+ShNhuVvkJOjeBMYlyAa3AD66GW8JHdPd+LBie267ZfnevD9ORORohMkP2FQieZAksGnEAkP00Adfv2XNw0XkUylR6om7iiFlUKLjkweJL5ClvVnzM+ksoAjF7AdElkWbpJ1y6L9iQj0Ui07FSAlA2RxOLnDqQS3sHY0OgR0NWNlzAPctreZgWZaW4DfsXNrJJr2ErTKM1sMxft82WGHthAfMF25GrLqa737tEgydgSCHxmxIGMnv6ibOOoSy42IkqCOHvSYLIMu8mRjMVw08eSRY2jwa7ZxGgolZZPkIG9Dvl2643IbcudwWTJHPMl3sLxyDXCEddZubllO+ceyaiatjua+C8CK7ltUDMq7mmOgw/tGe4+65VqH+0AdtgqLKjiEr33UwtvBjN+CFhA4pN8I266m3JSFaVcP5JlFSpcW5dA9HmoACJhoyWUh62H+TNjmQ
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8afad65-d9e7-4acd-8c5b-08dbaa111b69
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 10:57:45.6532
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 29Q6YhehU21H9KBbclEQeO/OjXxcY5hUPPqh5LsnwC10Z8O1H0IxDyTgw5f0EebD+dhyACRcm+WlO6GT9S0kew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7066

On Thu, Aug 31, 2023 at 12:42:58PM +0200, Roger Pau MonnĂ© wrote:
> On Fri, Oct 12, 2018 at 09:58:46AM -0600, Jan Beulich wrote:
> > First of all, hvm_intsrc_mce was not considered here at all, yet nothing
> > blocks #MC (other than an already in-progress #MC, but dealing with this
> > is not the purpose of this patch).
> > 
> > Additionally STI-shadow only blocks maskable interrupts, but not NMI.
> 
> I've found the Table 25-3 on Intel SDM vol3 quite helpful:
> 
> "Execution of STI with RFLAGS.IF = 0 blocks maskable interrupts on the
> instruction boundary following its execution.1 Setting this bit
> indicates that this blocking is in effect."
> 
> And:
> 
> "Execution of a MOV to SS or a POP to SS blocks or suppresses certain
> debug exceptions as well as interrupts (maskable and nonmaskable) on
> the instruction boundary following its execution."
> 
> Might be worth adding to the commit message IMO.

So I've found a further footnote that contains:

"Nonmaskable interrupts and system-management interrupts may also be
inhibited on the instruction boundary following such an execution of
STI."

So we want to take the more restrictive implementation of STI-shadow,
and block #NMI there also.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:01:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593788.926884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfQP-0002gl-Qw; Thu, 31 Aug 2023 11:01:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593788.926884; Thu, 31 Aug 2023 11:01: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 1qbfQP-0002gc-Ne; Thu, 31 Aug 2023 11:01:21 +0000
Received: by outflank-mailman (input) for mailman id 593788;
 Thu, 31 Aug 2023 11:01:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NA7E=EQ=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qbfQO-0002RJ-Gc
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:01:20 +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 b6909c9d-47ed-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 13:01:20 +0200 (CEST)
Received: by mail-pf1-x430.google.com with SMTP id
 d2e1a72fcca58-68c3b9f8333so419683b3a.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 04:01:19 -0700 (PDT)
Received: from leoy-yangtze.lan (211-75-219-203.hinet-ip.hinet.net.
 [211.75.219.203]) by smtp.gmail.com with ESMTPSA id
 o9-20020a63a809000000b0056c2de1f32esm1161686pgf.78.2023.08.31.04.01.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 04:01: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: b6909c9d-47ed-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693479678; x=1694084478; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IfO6gt1jg7JX4SuFiMGAMKpFfTvUV21HN5Stf3HGJ4k=;
        b=Bo2f+w4o6urk8f+y3aWJwjytQfu+7AcCmNWObe4KrQfBoIsMUErRgEZJrGp6IXcnyk
         Zc27KfnCdm2L1QWoboP26YWeRUj0TuOgAiSXqYsH+ZIt+kWWtlefSsE1O/2huca2JYh5
         tVOLA4bHIvdKNnxYN1KXVKmLoH8N0QHE7MEZWyxDsew321wFgCG+Yjv5tNoSqIGiNgTg
         ++F51CZsRX0w7HvROjQsOlqUMzztLbpgbXqnbrcCn406cNcKLdwHduppUyNetlYNHP+M
         IFH7itBa2JQmOwMYGgAIfgIh6tRyjpGjTdcIMbQVDZFMWWR6Y0QsYExSu9ZbFGSjDGJ5
         hXig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693479678; x=1694084478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IfO6gt1jg7JX4SuFiMGAMKpFfTvUV21HN5Stf3HGJ4k=;
        b=lUDrA1L1Mt1DnWUeOnmERj0Ayr10SX3fvCit9BfyLFmcEdIhDYcmT+WTRfeH/rMINv
         7Yy80Ui2IFte/JEA2xFnQ2c6GTMdwujvsw4cO6BYj0meDvJ2CnG1+Er7hz1SoLTBjoQU
         E6azfnr2ww93J5R8CzH4OIkx1mXX9maT9FF6shRU5tMqtLgoJg3BYSpwCnzgRNZ57PHH
         F1JLa8hIZZFzKu2VBA3En3e6qm9v4YNEel63fKtMxNFvPTTXtTErkiCGbXf1/lMliBb1
         pdwlU+13Ql1VgLgSPTdXquQLkbH5nKJ9mhMfVSaGOPKL4FHmm40itTTpff8dRq69OXh6
         pqXA==
X-Gm-Message-State: AOJu0Yzs6f91zlyUbYzjwMMvt4QjkWYx8T12sa96bRE7wAjQl1ighwxk
	Lbz6eh2wwhJqzHpIKssbRqie8aKTcZWcPxRA+hvDsD6vMQU=
X-Google-Smtp-Source: AGHT+IFbx34Tello++nJn7BJ5NMYqxmFPfEV4zrn1NMGKprp7QAuKPtGKOt5ijYg69NBQXXXOe9sSw==
X-Received: by 2002:a05:6a00:7ce:b0:68a:6735:e43 with SMTP id n14-20020a056a0007ce00b0068a67350e43mr2640708pfu.11.1693479678448;
        Thu, 31 Aug 2023 04:01:18 -0700 (PDT)
From: Leo Yan <leo.yan@linaro.org>
To: 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>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Leo Yan <leo.yan@linaro.org>
Subject: [PATCH v1 1/2] xen/arm: Add macro XEN_VM_MAPPING
Date: Thu, 31 Aug 2023 19:01:06 +0800
Message-Id: <20230831110107.2747633-2-leo.yan@linaro.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230831110107.2747633-1-leo.yan@linaro.org>
References: <20230831110107.2747633-1-leo.yan@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xen maps the virtual memory space starting from L0 slot 4, so it's open
coded for macros with the offset '4'.

For more readable, add a new macro XEN_VM_MAPPING which defines the
start slot for Xen virtual memory mapping, and all virtual memory
regions are defined based on it.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 xen/arch/arm/include/asm/config.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 83cbf6b0cb..21f4e68a40 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -117,11 +117,14 @@
 #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
 #else
 
+#define IDENTITY_MAPPING_AREA_NR_L0	4
+#define XEN_VM_MAPPING			SLOT0(IDENTITY_MAPPING_AREA_NR_L0)
+
 #define SLOT0_ENTRY_BITS  39
 #define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
 #define SLOT0_ENTRY_SIZE  SLOT0(1)
 
-#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
+#define XEN_VIRT_START          (XEN_VM_MAPPING + _AT(vaddr_t, MB(2)))
 #endif
 
 /*
@@ -184,12 +187,10 @@
 
 #else /* ARM_64 */
 
-#define IDENTITY_MAPPING_AREA_NR_L0  4
-
-#define VMAP_VIRT_START  (SLOT0(4) + GB(1))
+#define VMAP_VIRT_START  (XEN_VM_MAPPING + GB(1))
 #define VMAP_VIRT_SIZE   GB(1)
 
-#define FRAMETABLE_VIRT_START  (SLOT0(4) + GB(32))
+#define FRAMETABLE_VIRT_START  (XEN_VM_MAPPING + GB(32))
 #define FRAMETABLE_SIZE        GB(32)
 #define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:01:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593787.926874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfQN-0002RW-K2; Thu, 31 Aug 2023 11:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593787.926874; Thu, 31 Aug 2023 11:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfQN-0002RP-GU; Thu, 31 Aug 2023 11:01:19 +0000
Received: by outflank-mailman (input) for mailman id 593787;
 Thu, 31 Aug 2023 11:01:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NA7E=EQ=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qbfQM-0002RJ-HB
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:01:18 +0000
Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com
 [2607:f8b0:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4dfb97c-47ed-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 13:01:17 +0200 (CEST)
Received: by mail-pf1-x431.google.com with SMTP id
 d2e1a72fcca58-68c3ec0578bso505687b3a.2
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 04:01:17 -0700 (PDT)
Received: from leoy-yangtze.lan (211-75-219-203.hinet-ip.hinet.net.
 [211.75.219.203]) by smtp.gmail.com with ESMTPSA id
 o9-20020a63a809000000b0056c2de1f32esm1161686pgf.78.2023.08.31.04.01.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 04:01:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4dfb97c-47ed-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693479675; x=1694084475; 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=HOLWUPcKZhk0Ftmj6/gerDDXe3J96mT7F3DqBCwvM9A=;
        b=UhpNESxvgJc32ZX5jMYHqdmBDB8nIy7ROAH+jpUfJjsZIuGvryloBfVbFdOoLTSH5S
         ynYd/xcbfGpn3AV8Uq+xSVoMneSylFHhnGgJB9otDaSQ5KNO8hkkmQCyMB1XTsXLHHYI
         0pPsIgq+GHjSxinWZrQAov1c3FBxLAInivXDvoEHuaBkRmz+VfliFnKmWipILrfJ/hGq
         TKK1CvhUf7Sk/kT+e4QPBZIsxGO2kLpMSZ38PQeyIyWsHRvgPPNVYH2aFX3GDoAXgJHM
         SNYbhtQ7q2I6wUr93Ym1vm/VJAN8yWLumjNw4yT714xigK6cvxn3sp5Y5F5JagMoBrI8
         Nxcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693479675; x=1694084475;
        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=HOLWUPcKZhk0Ftmj6/gerDDXe3J96mT7F3DqBCwvM9A=;
        b=PGjanDD7s/ApzuTHwJhmvGoB73tNEWkeuA0IACQnyjGlB3aRuwjzjQAH1ZV7mItPpJ
         BsgaXY3aOjeyGX8Zl+1KalOIo46XqmO3Le3jdwLeMT57kq7jM/evVkzF8h+m5QCHxsAJ
         1ZxLlH0UVKmZddiLovqYmHpeDxIjVf1+Tm0gh8tdJUKXSh9PwwYZjAWQPwJS/TPplWwB
         /KPrhSW9mSCb4Z0QaHjg9Nfp6CKEEdesc3z9GdvUcRPoQBn1SM9P2ogct1pAGmwo5yk3
         wJrLrJ2pKk/ZvvXAj90MVFdlijLQX1Wmrhxr0p2CMra1TvicqdeWywGqtCrF3A7Kf6H+
         nxBA==
X-Gm-Message-State: AOJu0YyyyOpU87Ig6o35S+Vt5BihoNDP7DJl0zXQLw7D+0VgoV0VZ7sO
	ohtwH2JTbcr7T78lD7GxIMwkDdIZxfWOZf3BO5the9U73zo=
X-Google-Smtp-Source: AGHT+IHK1SYWRCF7hDl+JRWJHpmTlKT30CT9lkNXB1KqjGgjetUboiMNNXTDD3XbU01TylwKwkYpJA==
X-Received: by 2002:a05:6a20:2d6:b0:13a:ccb9:d5b7 with SMTP id 22-20020a056a2002d600b0013accb9d5b7mr4928672pzb.41.1693479675587;
        Thu, 31 Aug 2023 04:01:15 -0700 (PDT)
From: Leo Yan <leo.yan@linaro.org>
To: 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>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Leo Yan <leo.yan@linaro.org>
Subject: [PATCH v1 0/2] xen/arm: Enlarge identity map space
Date: Thu, 31 Aug 2023 19:01:05 +0800
Message-Id: <20230831110107.2747633-1-leo.yan@linaro.org>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The latest Xen fails to boot on ADLink AVA platform.  Alexey Klimov root
caused the issue is related with the commit 1c78d76b67 ("xen/arm64: mm:
Introduce helpers to prepare/enable/disable").

This is because on ADLink AVA platform, it loads Xen hypervisor to the
address above 2TB and hence causes Xen panic:

  (XEN) MODULE[0]: 00000807f6df0000 - 00000807f6f3e000 Xen
  (XEN) MODULE[1]: 00000807f8054000 - 00000807f8056000 Device Tree
  (XEN) MODULE[2]: 00000000fa834000 - 00000000fc5de1d5 Ramdisk
  (XEN) MODULE[3]: 00000000fc5df000 - 00000000ffb3f810 Kernel

To fix this issue, this series is to enlarge identity map space to
127 TiB and tested on ADLink AVA platform.

Note, we tested on two ADLind AVA platforms, one machine has this issue
and another machine cannot reproduce the panic.  It's likely they have
different firmware versions so one machine loads Xen hypervisor into the
high memory address and caused booting failure.


Leo Yan (2):
  xen/arm: Add macro XEN_VM_MAPPING
  xen/arm: Enlarge identity map space to 127TiB

 xen/arch/arm/include/asm/config.h | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:01:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593790.926894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfQU-0002yE-2Y; Thu, 31 Aug 2023 11:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593790.926894; Thu, 31 Aug 2023 11:01:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfQT-0002y5-UO; Thu, 31 Aug 2023 11:01:25 +0000
Received: by outflank-mailman (input) for mailman id 593790;
 Thu, 31 Aug 2023 11:01:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NA7E=EQ=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qbfQS-0002x7-Qj
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:01:24 +0000
Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com
 [2607:f8b0:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b82ee6a9-47ed-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 13:01:22 +0200 (CEST)
Received: by mail-pf1-x42b.google.com with SMTP id
 d2e1a72fcca58-68a402c1fcdso528236b3a.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 04:01:22 -0700 (PDT)
Received: from leoy-yangtze.lan (211-75-219-203.hinet-ip.hinet.net.
 [211.75.219.203]) by smtp.gmail.com with ESMTPSA id
 o9-20020a63a809000000b0056c2de1f32esm1161686pgf.78.2023.08.31.04.01.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 04: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: b82ee6a9-47ed-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693479681; x=1694084481; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FNWUOGWF52DUMNgUzQtRSA7m6UouW3TS9Lcf703h7SI=;
        b=RS9lEADjb9huvTBuq0qU9GMxC5xKStBe1cDedngDaM3RWbD3XMenEvGGRrE741Wa/l
         aHrdgOVRy75Wl52zqD4BK1ntRo8N0uacBqThaBKatxAraGZ64AzHKJ4XiWUY1UH8Uffq
         y11UeQfulLFcfB0MuRy90Sq5e5iCQHr2hdCs/m5sLfdBuRswInUdWnLvL+t3ImGHeyRi
         7sk4NLu+DQy/0u2UqI9soeheWqC3obGZzM039dakaE5AvuErkA6rnRYPVPpPpfEVFnTx
         YuaZreMqMBS1iNrTKQw5jQ8M1yXKGs2eF8or4Mlx+KINxMI5oN1nx8so1YRhdYW94jZl
         38XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693479681; x=1694084481;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FNWUOGWF52DUMNgUzQtRSA7m6UouW3TS9Lcf703h7SI=;
        b=Kck6TRUsn8731otDwOX/TWJTiyhpuqHaWm0mWlHiai5oJAjmP7JEQ2r2QZk7U154GA
         TUm7iSnJm+1V+HUJuYjGKRj3z8xyZsgHCs7F8jLPTqIRjtxijiJblOryFvFzm/QWTTfa
         aZMypsuwjPLdyJZLoX930uJN8Z+qulTPKwRCOmBRiFaWs7VJTdJ0BFrzLh33+f5+OIQQ
         sF8EhFA5UXagoFHZ5kmXOF02+aPxGq76xrgE93Ys8UF+SHiGdZvYzfax6BtjF5f1iuII
         uds3rirLOFDlcHe/z6HKTr3f0M0aNKlTsXlizRQxnWeTrcLshSJ4EzbJGut8mffQSkqi
         bYvQ==
X-Gm-Message-State: AOJu0YzEqpQMUTS2SAIS1X6W+ucYQlhXnvtAD3uGftcMWmjKJSSS4QOb
	NoU4vntzSNRIXuaThC0Dl3YcnapHokUIR7HEbBFmt7vN4Tk=
X-Google-Smtp-Source: AGHT+IHBvhlfHGJHHiueKu6JRQER8/WU/2Wcbrb+ZuOjTldbeD+dzozunS6234J3gq5+bvVJVqhi2A==
X-Received: by 2002:a05:6a20:12d2:b0:14c:5dc2:659c with SMTP id v18-20020a056a2012d200b0014c5dc2659cmr5460366pzg.22.1693479681170;
        Thu, 31 Aug 2023 04:01:21 -0700 (PDT)
From: Leo Yan <leo.yan@linaro.org>
To: 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>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Leo Yan <leo.yan@linaro.org>
Subject: [PATCH v1 2/2] xen/arm: Enlarge identity map space to 127TiB
Date: Thu, 31 Aug 2023 19:01:07 +0800
Message-Id: <20230831110107.2747633-3-leo.yan@linaro.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230831110107.2747633-1-leo.yan@linaro.org>
References: <20230831110107.2747633-1-leo.yan@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On some platforms, the memory regions could be:

  (XEN) MODULE[0]: 00000807f6df0000 - 00000807f6f3e000 Xen
  (XEN) MODULE[1]: 00000807f8054000 - 00000807f8056000 Device Tree
  (XEN) MODULE[2]: 00000000fa834000 - 00000000fc5de1d5 Ramdisk
  (XEN) MODULE[3]: 00000000fc5df000 - 00000000ffb3f810 Kernel

In this case, the Xen binary is loaded above 2TB, so Xen fails to boot
up due to the out of the identity map space.

This patch enlarges identity map space to 127TiB, which can support the
memory space [0x0 .. 0x00007eff_ffff_ffff], thus it has flexibility for
support different platforms.

Fixes: 1c78d76b67 ("xen/arm64: mm: Introduce helpers to prepare/enable/disable")
Reported-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 xen/arch/arm/include/asm/config.h | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 21f4e68a40..3e97c95b57 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -87,11 +87,11 @@
  *   2G -   4G   Domheap: on-demand-mapped
  *
  * ARM64 layout:
- * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ * 0x0000000000000000 - 0x00007effffffffff (127TB, L0 slots [0..253])
  *
  *  Reserved to identity map Xen
  *
- * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4])
+ * 0x000007f000000000 - 0x00007fffffffffff (1TB, L0 slot [254..255])
  *  (Relative offsets)
  *   0  -   2M   Unmapped
  *   2M -  10M   Xen text, data, bss
@@ -103,9 +103,6 @@
  *
  *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
  *
- * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
- *  Unused
- *
  * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
  *  1:1 mapping of RAM
  *
@@ -117,7 +114,7 @@
 #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
 #else
 
-#define IDENTITY_MAPPING_AREA_NR_L0	4
+#define IDENTITY_MAPPING_AREA_NR_L0	254
 #define XEN_VM_MAPPING			SLOT0(IDENTITY_MAPPING_AREA_NR_L0)
 
 #define SLOT0_ENTRY_BITS  39
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593809.926904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbfZM-0005pS-TA; Thu, 31 Aug 2023 11:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593809.926904; Thu, 31 Aug 2023 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 1qbfZM-0005pL-QP; Thu, 31 Aug 2023 11:10:36 +0000
Received: by outflank-mailman (input) for mailman id 593809;
 Thu, 31 Aug 2023 11:10: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbfZL-0005nt-3v
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:10:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00eacc77-47ef-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 13:10:33 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB9196.eurprd04.prod.outlook.com (2603:10a6:10:2fb::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 11:10:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 11: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>
X-Inumbo-ID: 00eacc77-47ef-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BnwsmqH70zCmEaqLIHQmGKEfIkhMp+TBGu4ny6l8s27dl/zpJBM19iEBp7yugIzeZCu8344WEHUz5NNZp4D8lOIZkm/D9kqnSQi8linvtOo5RchByHCZQjukt41qZh+5I16pC0uG7JbuOeyXFKmIWdcFNu/gL9DeX1iAtEqm7nB+fSWp1sYuQMeTXAa7wcpVYmhzP5bEsq7oFEBxdCKlK5uP6VgFRRRJCprcihfHam21oMy18GKZ6e1IEO72PQP9lGrht5zfecsi8Y//+lsaTbjF4VtrSc3ciJbl7n199EEkdVLPv7MC1wMPg+SdDmBrz9jEf+CR4IuT/86jUNAL3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DRL3thwZf131cX3oc6B6n8VjvL8CShdV9Y5a+u6UwZY=;
 b=asYDcAA7DJXJd5qPWEuUI/m4oXRZiRR+yasCGp2ktvRPkx+aIevojgX/LfWbWoVXf8Mg35/abDnNUjFoYD6QsZ+7ukOSmk9D5lM8BQXh6uH8SXdTIdFBP38m1xzj4LLoY6Zi2Iqz/TQU8VOuS/mqczze4PIl4FJEQvT0TgM/CXKQL6j82o4Qv+7Ih8AuJ0TY6IOQY4ySgLu0KyfnwICH2RhJnFMP9cp1oBrw7x0ycqrUPwZDJsLYtO3fno1wP9hVXIl7KZbSyQ8N2goslJonBEqux8I05m2/hDG64TeJN64tV9p+zTZD6ZAsxxM6SmUG2U1EaqteM433kAHHVN0awg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DRL3thwZf131cX3oc6B6n8VjvL8CShdV9Y5a+u6UwZY=;
 b=PRW6H614lZGeZVdm9d6y4m7go1KHVFZiRBoIiCpqpnNcvg/xJOEHSDWlSoe3pQSgo1voFiydDFmg8yqAXrNUAIcqooG1q5qqyN+7wcz98NTnn0vcYRXYKXSyDn9hyQWbSOuyZ3t+tioZEEmc/LvTvW0ya0Ps/ht2uoRVZR9SS3lR2ag4Xjr2z2ZUt8U4+4n56Dn1lJjEKRPbcBmLNb3VJeEU1oikmOkunjtv4Gk0aPCdZWrweLFhU29Z28gc85UlErnZ/srw5FVAIrnDvYkXfvAKlwFoqK9renFxx16g6UQUXRF+lVwGlqA3DQAAvDzB+6k8hBloJ/Dbu35LjbqdWA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <00866371-7adb-9cfa-267d-ee78cf14e68c@suse.com>
Date: Thu, 31 Aug 2023 13:10:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
 <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
 <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::17)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB9196:EE_
X-MS-Office365-Filtering-Correlation-Id: d5db5c20-bc54-49f8-9415-08dbaa12e3f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KYApO2E83QaHAoiqvfGCSoDsoVrZXd/WHqVugdW7RT++hZF6lIB6bTWrHmgaU0OrlXu8tMbMwYxn5HcxSII4Rioi+p1Ubio7k7BQAf6IR/Uw5AkFzqaHF182jBlhPOJ9qp/ab58UGl/uFhJLs+u4lbe/Kr48K3Xx3DHjAEPVRCy4PuP+KdheB6CZr7HHtKkk5XeNig0SNKGMUNQvpkFJwjSDMo1iKkNWletm27+9FuAX+6/2L6iPukiAgKw3Rs2qR62JVhwqjkHJgz79RiMaRov3kVbpTaQX5l+fjWrrdWJvcpIjssXF7daxd4e1nGt2XCp3pHeQTjFypqzFhWwfyfCuVgujpXSf2gmY2+xiP6D00p6MiWWr6kVTZfQjCOSraQ9EEpNuDQvZdaaO9J5AWSw5EpCzS4uWYC3p5x4FDJYRHvRzaxwrmYu7r34ssumAkQzGYD7uw8yi9eLyeGjaSOyDEuGBwMMRHKQyHgRRnZCmIJZ3tQZ0+bnE9VakXzOfgZd/xMpIZkUJagVkB6/K+h/aBLnPLPcPzixFaAO3NsEIdM5em//gEygcKE/jLeBE86uWXwdpGImDYEOTbv9Woxf9HoYxVG8fmDYZod3L+/7FOEPGVObFWJg/KPJuc4CC9/nsEj7BlUblbr/hdfP+NvcJBcUW+9HznJ45XbbmdLHXhl8CbcGyTKwnMiExVHml
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(376002)(366004)(136003)(346002)(396003)(1800799009)(451199024)(186009)(36756003)(26005)(86362001)(41300700001)(31696002)(53546011)(6666004)(6512007)(31686004)(83380400001)(2616005)(6486002)(6506007)(38100700002)(8676002)(5660300002)(4326008)(8936002)(66556008)(316002)(54906003)(66946007)(66476007)(6916009)(2906002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OThjaytDaVdWTGZ1WSt2bUY1RVl6eFI3ZXJRUUNlTnZJRkY2L2tGZXVCZHUy?=
 =?utf-8?B?S3lsbENQaXp1aHdNczNXa1oxT0l6UzNCOW9YQWxhcHRWRWpQUy8zNDF0L0gx?=
 =?utf-8?B?REd4L2pkd2JZanQyd25KQXVLQ3Zvb2NNcGltZkNvZHp4WTJnQUExTjA4UTFS?=
 =?utf-8?B?TE5YTTY2eUVZbTFsZlVBWDg5YVNmalJxL2tiRGhTT0ZicjlvallNajNwZlR3?=
 =?utf-8?B?eXRuSkV6ckliUjNaNDVROEt5b2tyQ0dlNjdMVWJoaGx6eUMzdXhMMmNLWDVW?=
 =?utf-8?B?ODZJa25NNUZJUWxQMy9vbS9pbVgxRUtld0FzQWF6ejdJMlI0d0xOSithVE9H?=
 =?utf-8?B?N2FEQ3l6NEFsZ002dHFMdU9QQ24vb056KzBreHJOb3JBYzN2dGRNMlB6Smps?=
 =?utf-8?B?U2F5YklWRXdaaVY5dG5SeFdSWUJNM3JHUkgwYkxVaitHNzl0SC8zN1lzWC9T?=
 =?utf-8?B?Vkk3UGVxRXlZNUlsZXJ2WHp4ajdDRnVFb3RpNzIrVzYreTZJbVpTOGNYbk8v?=
 =?utf-8?B?UXE0d0QxV1RJd1BFL051OExJYmVXd3c4T3kyZE5NVE5uTFVPdEdING04MXVL?=
 =?utf-8?B?SThxVDRleXNyTE9qVXNLYTJxMEllcCtqcEZWUkNJMkcrVEpDOEFBNVNTKzA5?=
 =?utf-8?B?d2sxcXhjVEwweGhlL2lzS0RDQXk2VEZrNllqMlQxdmpNL2czVXc5cWxOODNS?=
 =?utf-8?B?bU1XK05aS09FMXZidHJmWGFXQXRxbGJ1aDJBcFpQSCtmeU5EdjZnS2JTbmJk?=
 =?utf-8?B?d3h3VG9XLzViY21jMWE5V3AxK2tMd3A0MXlodG1objFPZ1JhUTdOcHE4UlVH?=
 =?utf-8?B?SERRcnpBS2Y1dklmWURvZ1JkZmQ5WUtFSEIremdKUXZLb1dtbFplVlJVMnNi?=
 =?utf-8?B?ZGY4ZGJESE1tWGlhdXluKzc2ekpJMjJwWWFQZC8xcTZGNlJiWE16bk41YW1V?=
 =?utf-8?B?K1BnYzBTYi9VL2JBWG5GV2N5MzZtWkg4R01QeGJKSkJta3BVTkpmdkQ1Sy82?=
 =?utf-8?B?Um5jeGFnNVR5RmZydjF0VndocDhHbERRYmk2bEkwbTlBMTZzUzFhdGQzeW1M?=
 =?utf-8?B?TWh1Vk12QnpMY284cVI0QkVQbDdZSExTVldFSmlTY1BHUHdrSE9wcjR1Y09k?=
 =?utf-8?B?c05seXg3V1IvWFRBMGhhd0d3L1VBOVhEK0pGVzI5cjBXeW1YaS9uSndTbUdq?=
 =?utf-8?B?bC81TFFxQVIyQ2piY2gvN08xeGMzK204T3VBZ0FaWkwwTmhSL25XbU45ODgx?=
 =?utf-8?B?M0pNeXp6MzBoTGpwZXlhbEl6S1RwTEoyNHFqWDFEODNZWFFWNENVZCtjcHhJ?=
 =?utf-8?B?NjY4cG1ySzlOcXJYVnFwNFExcVlPd0hQaFFoajNydVRSOWtLc0ptenNjYVlY?=
 =?utf-8?B?OFhYd0xsSUI0djBDdnkyRzZZbU94QllPQXFtZ3Z5N2hrVDhlUmpqUDFiMTNS?=
 =?utf-8?B?RTJiZkpOaFNia2U4d0hpUlQ4N0JVNHVwOThpSEpuYThheTAvMWF0V3JHTGFS?=
 =?utf-8?B?a3gxZ3hxT0lXN3pTeWtvTW1tRWZpZkRPSWVhL1JqQlFlTnpueGZkMWVSWXdT?=
 =?utf-8?B?N2J4dW8wY2JxdE1ISWJhamhtQU5zOW1SNzdYWkFtb2wzY0F1alo1UEdTUEpJ?=
 =?utf-8?B?QllnTGpFeG9LTU0vMFlrZktiTnlUZ0cvMFFFTExrV1c0Y2MyVnZRSnVUZ3Jk?=
 =?utf-8?B?MFNsVTBzc01zcHBNbURqbXlzT0NPZ0IwZEFjZWlZU3l1aHE1UTdrVUgyVEh1?=
 =?utf-8?B?RElLbmMzVEQzTUQ3TUxvcUZRZEU2aStzcHdEU1NPNzVtZ0hNdXBCTnBzd0ZX?=
 =?utf-8?B?QWRheTVEMURkQ05OMWRra2pmZkZsQlh0VEUxTUdwVXNxaU9NSXIvRExlSnEz?=
 =?utf-8?B?bm9zdGFTTDNxakZZTGxhRjdMcVJZejlMV2NscnRucXptVE8zcWU0UEIvY2xu?=
 =?utf-8?B?SDRhS29QSFg3dmRQSDVRMzBXMlgycDJyZy80bXM5SVRrdHFNNmJSVlhnRnU4?=
 =?utf-8?B?MWtmekYrVHZxRVE0Sy9PN1dMSUZ0b0dHblQ3dVVuZERHOVZEOS9EYU56eXBM?=
 =?utf-8?B?SDFjNURUWmhPRStrM2twOUpoQ1JPMGw4UVlpblg4QVhzZGtzWXhmc1N5UmJP?=
 =?utf-8?Q?jK79d2xsHJscBsMgdCLlYCLUw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5db5c20-bc54-49f8-9415-08dbaa12e3f5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 11:10:31.5077
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +5emaeQrCow+B3e1g9p6QewTDewFTzmI5Ot8eyvEwMEsnlWNAVtUvMNpDIPUhy++0VI1Sx38rG8/jC3CLDMQGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9196

On 31.08.2023 12:08, Simone Ballarin wrote:
> On 29/08/23 08:50, Jan Beulich wrote:
>> On 28.08.2023 15:20, Simone Ballarin wrote:
>>> Add inclusion guards to address violations of
>>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>>> to prevent the contents of a header file being included more than
>>> once").
>>>
>>> Also C files, if included somewhere, need to comply with the guideline.
>>>
>>> Mechanical change.
>>>
>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>> ---
>>>   xen/common/compat/grant_table.c | 7 +++++++
>>>   xen/common/coverage/gcc_4_7.c   | 5 +++++
>>>   xen/common/decompress.h         | 5 +++++
>>>   xen/common/event_channel.h      | 5 +++++
>>>   xen/common/multicall.c          | 5 +++++
>>>   5 files changed, 27 insertions(+)
>>
>> As already said in reply to another patch, imo .c files shouldn't gain such
>> guards. These are commonly referred to as "header guards" for a reason.
>>
> 
> This is the MISRA's definition of "header file" (MISRA C:2012 Revision 
> 1, Appendix J):
> 
>    "A header file is any file that is the subject of a #include
>     directive.
>     Note: the filename extension is not significant."

That's completely misleading terminology then.

> So, the guards are required if we want to comply with the directive, 
> otherwise we can raise a deviation.
> 
> The danger of multi-inclusion also exists for .c files, why do you want 
> to avoid guards for them?

Counter question: Why only add guards to some of them? (My personal
answer is "Because it's extra clutter.")

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:42:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:42:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593817.926914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbg4R-0004lq-8a; Thu, 31 Aug 2023 11:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593817.926914; Thu, 31 Aug 2023 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 1qbg4R-0004lj-5H; Thu, 31 Aug 2023 11:42:43 +0000
Received: by outflank-mailman (input) for mailman id 593817;
 Thu, 31 Aug 2023 11:42:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GYAZ=EQ=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1qbg4O-0004kX-Un
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:42:41 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c8d19e3-47f3-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 13:42:38 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-522dd6b6438so884986a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 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: 7c8d19e3-47f3-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693482158; x=1694086958; 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=DZYYMlf2Q/sBIqNnlNnSd1DVS5c7jiyWNWe7v8r7llI=;
        b=OJ9bLoJC8FTSo93Zl00XEyCoAjRf7FuP/10xoi/JJIldCcUXuZYXRanZZEHjnqDG/W
         VBaTM5+a0CqGQC47LtgudkeZ47XoWEbgAOCmRnm4aqdpz7YMuZozhtMCDrSpGs0alCwK
         bkJf53NUiiNzNDjX2tBVOnULvOup1DqPUgs5b30TC9Fs4ERChPnG4Hz1SEZGZUfxvESE
         TmmwVazBg+Fzr2VsmFTzuieGqTEWzjkPrH5LGvOV88Gu/meXyDRmSEA8G9mxDkhu4/7g
         ECXsCswajHGNFqixsdBMgm4iVCYCnWggpU1njYK8LRY3Elvv7okLJ5OLOXYmhSC6vZaJ
         PCBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693482158; x=1694086958;
        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=DZYYMlf2Q/sBIqNnlNnSd1DVS5c7jiyWNWe7v8r7llI=;
        b=gTqnRtGkSkwQ4mBb9bNHRCQTV58wfg3TVlgMmCwSgYDa9zMbaemloVQKHtle+bqQ8o
         BQ4YC2/3iAKyoypOR7oyBEG1QxBngEbcMP9BDW7EtIQXBO2oPtTSonW3eJerwpHOGqMR
         i64GwgVvdrLN8M0VOy+QszlkZ6fgBF/VXG/Qk+c1dOL3Gv+i+S1G+OXBvIpc3xLTl1th
         iK90FVX2ZUTC+Gy2rg6fSQzPKcuWnM3cbe74aOwqtSFQncPMlIHJp4lLvmmUF9w0GzGE
         vRLsjlcpqiNvZQQl9ORlm9lUB1oPuR3j5bQWy4pSj7tbMV6GBaFBa6cDbNPaXrU0a+rz
         PMPg==
X-Gm-Message-State: AOJu0YwqRxLGvT25KzoPSFZq7rL3JDFcTx0kEnpVNqlmRUJk3OUW9Ho5
	S7Lvbv9Vbf//B3o/P16FID8RH4efis5k/9Nvv7l21g==
X-Google-Smtp-Source: AGHT+IFl4wwDm0ua5CjWpvaFUGyolXCkXUNGWOEKAEJSJIc3bB6h9uhvyAyd6pxrYHp+x7WDevFt9lIiV4C29oUEVcI=
X-Received: by 2002:aa7:c414:0:b0:51e:ed6:df38 with SMTP id
 j20-20020aa7c414000000b0051e0ed6df38mr3890545edq.13.1693482158356; Thu, 31
 Aug 2023 04:42:38 -0700 (PDT)
MIME-Version: 1.0
References: <87y1hspiyh.fsf@linaro.org> <alpine.DEB.2.22.394.2308301745530.6458@ubuntu-linux-20-04-desktop>
 <CAFEAcA8Ziov9vA9dW+4vzFE=KkSUqfMNNMZOtvQhqCXyjRytzQ@mail.gmail.com>
 <87cyz3pmgz.fsf@linaro.org> <CAFEAcA-m8G1kfTw52kOGPEvQwWPph0NWc0URVY1aQ2WwVeB_OQ@mail.gmail.com>
 <878r9rpjvl.fsf@linaro.org>
In-Reply-To: <878r9rpjvl.fsf@linaro.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 31 Aug 2023 12:42:27 +0100
Message-ID: <CAFEAcA8ZdkHmtJ1r5zi-bW4msSUqvCdo1L6QbqMjEaJHf5Ji1g@mail.gmail.com>
Subject: Re: QEMU features useful for Xen development?
To: =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Stewart Hildebrand <stewart.hildebrand@amd.com>, Viresh Kumar <viresh.kumar@linaro.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
	QEMU Developers <qemu-devel@nongnu.org>, Vikram Garhwal <vikram.garhwal@amd.com>, 
	Stefano Stabellini <stefano.stabellini@amd.com>, 
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, 
	Jonathan Cameron <jonathan.cameron@huawei.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 31 Aug 2023 at 11:49, Alex Benn=C3=A9e <alex.bennee@linaro.org> wro=
te:
> Peter Maydell <peter.maydell@linaro.org> writes:
> > All our MPS2/MPS3 boards are M-profile. That means we have the
> > device models for all the interesting devices on the board, but
> > it would be simpler to write the an536 board model separately.
> > (In particular, the M-profile boards are wrappers around an
> > "ARMSSE" sort-of-like-an-SoC component; there's no equivalent
> > for the Cortex-R52.)
> >
> >>   https://developer.arm.com/documentation/dai0536/latest/
>
> It's not super clear from the design notes but it does mention the
> SSE-200 sub-system as the basis for peripherals. Specifically the blocks
> are:
>
>   Arm Cortex-R52 Processor
>   Arm CoreSight SoC-400 (n/a for QEMU)
>   Cortex-M System Design Kit
>   PL022 Serial Port
>   NIC-400 Network interconnect
>
> But if writing it from scratch is simpler so be it. The real question is
> what new hardware would we need to model to be able to bring something
> up that is useful to Xen?

Just the board, basically. The SSE-200 is specifically a
dual-Cortex-M33 block; all the references to it in the
AN536 appnote look like cases where text wasn't sufficiently
cleaned up when creating it based on the M-profile doc...

-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 11:58:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 11:58:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593823.926924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgJw-0007ul-NV; Thu, 31 Aug 2023 11:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593823.926924; Thu, 31 Aug 2023 11:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgJw-0007ue-KX; Thu, 31 Aug 2023 11:58:44 +0000
Received: by outflank-mailman (input) for mailman id 593823;
 Thu, 31 Aug 2023 11:58:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbgJv-0007uY-Ev
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 11:58:43 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20615.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b955b3cc-47f5-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 13:58:40 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7691.eurprd04.prod.outlook.com (2603:10a6:10:201::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 11:58:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 11:58:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b955b3cc-47f5-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EEI9gJBT2nXU3BT9Rodq8eBv2KdYm6X82iLH4ru+v9qPEc/+kHZQo93+WI7Ct1jRwFMBMQf0G7ITCKcbDXfqIGavcGqiWr+stH5TDW4kFA6eTRpp4iQBOy91x6VT2PuVie3JilAjDNrc68SA7FR0VqhHblOGAuy8mDgginlYadMugMBDJH0BQrkwUMQ/eMLVP0kMyueEuIyUvR7T1scDzCvADWpncjWG+FRlNYpQ6hVHJmT4bPvOcZpnb6Q6kCXpSpeowbVlUouGvKpKhfKlKV4rgIpNHSEMgQcZDY+/vPkF3U2EgBwGxYHFGon4mLI3U+m/xLRMdiaHEVtRrm/Zug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=blwhiB6YHT2OIUW5VwCY2Gkuf2PyeRE4rYDNNgZihUY=;
 b=ZDRiKHi4nSkWrIVA6GlH83FheT6HTGS3fyo09zyYOKiJ+3uwJbrwL1mV2CrJo+j+4MlCrlvCAlbKDyxzTHSxi2kOBhFqWLBGshKNEZ8g3fh0kQaHiG7x+f1wh/Sv3FMKh1yoocefuaP7Y3QAa9NHcDuO3vrpTN80UWSwWoYr4w4w0V1F59Aw5aHO/aiMX9Upcl+xomvvkyaAHVNVPTjxatMjzmIbI6bVU4vh1nxFaLfMsgLDQil6yzidwc5p2T2G1ziGFh5FMZK66e/L65VoqXc2iE9P7+lE/upRFzfsHTM3dGKAQlL63FLyIvCEMb/JqSb5b0OyN0HcGgUj+GLfaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=blwhiB6YHT2OIUW5VwCY2Gkuf2PyeRE4rYDNNgZihUY=;
 b=SFPYI9gJqdfkCkFvipRCcpcMoLM0hkrsOzu/FOe4VKv1QYNeRGVV5RarWDM1xan2r248Ei3WVJFN6WGcpog3hNtqAFSc4nRntqaNueEFB9n3+B0a/bIr3WObvaB4onRsS2xz2ZKiWI4kzcmEyZmruJfBNvALCpUvOtxZBJWE48AV9lSph1lbbIi56INWtpm1yRHQ5F+vtjN4vnQ4XB8Co8Ttl7hGO8YjvfTGG8Jrmu54BKX77tPVabl2ZEg2wFr+/p6N3pSWwADosNZ/aRClXnh3OltxfyLoRBtSsdoYhglebTw+Ui57yxROf2X1X6SjIfBdEfRNebpOAIZpRXHHiw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <83d5a136-152f-8ef4-daac-66574f9d0f8e@suse.com>
Date: Thu, 31 Aug 2023 13:58:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [RFC PATCH v4 5/6] xen/vpci: support ro mask
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-6-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-6-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0156.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7691:EE_
X-MS-Office365-Filtering-Correlation-Id: c3e45847-352e-49cc-296d-08dbaa199c65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tM6gIe1Bp+qGJCqFkTkdHxY+zUTQ9Fwt1Uem/RUbooY8HD7LrANZz+ArYJThoi1Ze1V5pGOpy8zzOUXTOOh4vs05MO/s3zq1zxWt5Ychp/WNaHBbM3QpAxHCTfT3kOyhm9shKE4kW9yTfffxUc7S+7TpixSHy3KaCE4DPjy2RXfj6tcA8yT7MCpgdPaBrXiLihsgNzQkKgq6QyTCI8qlSu7G6Fu5EN04VGlkRuY7ULmLeUTOpJihu9Eob8gSYlCQ66CL/RoxfGH8q6v9V4nBa2AakoGOxFf7/ic3dPlD11ZCpeil4TJ39VUgJ+YOzj0gxqPPVBriD0ofKFMpWiAdA4YrPlqGkS6CSK+f2sb/UlVzX8tVo3LPsNQ6skAcitI8IFjjFYHYjz+Cajew6pQS3BsWPfQ6J0756FOrFlr7hIElSQzTrnNgwv5rP6hrls2Y4YnwRqQ241BkmvFESTN5Z65F9XpjJFXm7lg/feIW13jY0740ZmqXIe9RZLajKrZD7HhZsw/YaZdFo1tWX/43C3X/JnS8Nu2DW/YhCOLIhJp/TVrzJ7mJPOn+caryg9FJLdhd9Flj51XA9B75f1JY/P/iehPVO9A0JDRcrwsDa6EQ1Draqo2J11RwpsAE3vj3R40jDzuXTFtxSY5XNjslYw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(39860400002)(396003)(136003)(376002)(1800799009)(186009)(451199024)(6666004)(31686004)(6512007)(2616005)(6486002)(8676002)(4326008)(8936002)(6506007)(5660300002)(53546011)(478600001)(38100700002)(86362001)(31696002)(36756003)(66946007)(66476007)(6916009)(66556008)(2906002)(316002)(26005)(41300700001)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emdEK2xHRWFKcjVLdHpGcUJnZlpadWxpMnFsdlc3ZzZ4S1BWRkdnek9SbDNW?=
 =?utf-8?B?dkY1eVExR0ZzZFBnVmdSbm5zZU5odzAveVR3emp1alhhZlpZU0FRRGpMTXky?=
 =?utf-8?B?bHJ4dVgwWUNaRkdhNS95d1d6cUk3UndJdHNQRlc3ZjZFZ2l0L2dwdmd1L2xK?=
 =?utf-8?B?OTU4S2dlSHc5eEdhNkZydVFmOUNGK3ZENUlOeXpGaVhwck9taXdSM3pwY0hO?=
 =?utf-8?B?VkhWQjJaWGdBbUwvTnlGUHlOSFhqV0xHcDNjQWQxbFJsSEs3N0IreTd1R3o5?=
 =?utf-8?B?R1JrRUNWVy9IekdzbGtrTnlYZGdVUEtkOXVSWFF5Y1dkdVZTVWtUZDVpeTMv?=
 =?utf-8?B?dmFWakoycVNOOTN3K3hYeG93NzNFbE1PcXJWMEFUQm95ZzJxNXZOdzlCczZv?=
 =?utf-8?B?RGExaW5ZTVdCYnliSUNIc0pUb0dkYUJuVmdEdUNXeitNZnArSVg3ejA4K0hY?=
 =?utf-8?B?ZVBaUDlSVnZ4QjUyN1hiR0dpSzA1RjhFMGNGRHVRVXc0U1F6REF4RnJ4RTBh?=
 =?utf-8?B?UDBtTjJiN0g3U0M5aDlMMEY1U0dyVmNoYTNSRHFnTlI0Mm02NGpzOGR1VW50?=
 =?utf-8?B?OXhnYUEyK2ZNbjlQL25Zc2V4RlRuelZvWEo5bnpIZ2pVcFpRZmZsNmlKcEhB?=
 =?utf-8?B?dVR4eDBKdzFRUE5xNVZsZ2hKZUJsMG8xUTFuUTg4YWR5TDFremo5a2tLMHFN?=
 =?utf-8?B?VU9Mb1JUWkxZMmE4TUJ3bjlhZWdBSkM4R1ZMZ3MrRksyQkRhV0I0Z2EySU1i?=
 =?utf-8?B?eWF0eUQxbVozMnduLzRQUWNQVXJOcU8xek1DcUJoRXVzTkQ4UnpGemNXUHNU?=
 =?utf-8?B?dEhKTDRQWXpzTndUNmRHZklrcytiTmR1Q3RoejRZTGo4cVJBdG53U25scytB?=
 =?utf-8?B?TFJwOWpKejNud0F6aHlSSktYMmY3RUZ5Q3hGN2hndmh1WHBDQnptbWV0MFAx?=
 =?utf-8?B?NzVtQ2VRL3NJMnVLdkxObXU2YW9GbnNQY09kbXMvWHN4aGl5SlQ4S2s4dDd0?=
 =?utf-8?B?RkhMMk53UkxwQUE4Szg3MzNncFAvNVMyRHk2T3hieVFSeEFQWHFmRGZFZUdB?=
 =?utf-8?B?MzJFQkZvUlRjSnlqTE1yUGdmdnJYa3c1YzdzaHBHMng1d3RQdDU0cGhYVHFa?=
 =?utf-8?B?dWV6SzRBVTdQOEk5MDFlRVJkRmlUVlZPaXdnZS8rQW9xUHM2dlZWaVJqdzVo?=
 =?utf-8?B?aXhBcStQcmROSzYvOUlOQzhQN1J0MVVGV3ovSHlUQ29mV3VYUnR1bmR5aGhE?=
 =?utf-8?B?c3hMYlNGQklaUXRaR3FQcDhvS1l3T2cyRG1oUHBITUVNdVJyWEVxMnNnWGZy?=
 =?utf-8?B?WUxWZ3JSZU4yd2R4ZFNmWS9RemtVVGZ3RlFHcWhEam1vYmJGc3FMcTJGVUZk?=
 =?utf-8?B?NC9CVWsyUFZ0SWN6MEZXTjlNWjRVNHpJaDZhOUtCcWNYYVFnejNoSnp6OWhK?=
 =?utf-8?B?NTFFQzFCRFh4TTV0OTlybzZETkZ6ZXhSb21EOFF4K0dVTjI0NG95Q05GeHpv?=
 =?utf-8?B?SVNGdE0vNWgxNldXcGc3Y0Y2K3ZjL1ZhakZibitRYVFtdFV6YXlDZ0VvdXpN?=
 =?utf-8?B?VWhnOXg4U0F2aTVKaXlUN1d5V1EvWjMxTUszZ1JrZERFTXlCcStBcVJ6czh5?=
 =?utf-8?B?bkVYb3orWmI0Q215ZzN2V1ZicVZCOFlWK3V4M081dENzUFNPTjFrcnU1WW1P?=
 =?utf-8?B?d0x1UCtGdjh0THpHdjl4Q2lCamNSTVFzaVRFbHZSdHdwOXFnUktrUzhuYWVY?=
 =?utf-8?B?bTZodkVtSjVFblU4elhtUlpVb29NWjh2c1dNYis2cFN4enI0cUs0Q0dNb3E5?=
 =?utf-8?B?TTRzOXI4WDdtNFBsWXpaQzJwMkxnVytBMDF4WGtuaDYzZ3Y4UTYveWF5M2dW?=
 =?utf-8?B?YnhlMjhBa1hBRlByVERVcVE5T09XeG55T25oRjJ0amJrTVdBM3dTRjNmcFZp?=
 =?utf-8?B?QzhUVWxIQ095citFWVgrZlVKSlBBaGJTbXc4OVI1U3RuOWd0ME1ESUMyMHhS?=
 =?utf-8?B?STYvSlRVMnRiRTFSRVJkOThmODlib2VsZWVCU0ZmVHVuSzlNbEZ1MU94dFhS?=
 =?utf-8?B?SVh4SnUzZm55RlZmazVDRzRPVzl3Q3F2Vmo4TWRybjNLWTZsSENLS2J3Y2F4?=
 =?utf-8?Q?1aIa28wRKazcI/vK02t8WzLG6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3e45847-352e-49cc-296d-08dbaa199c65
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 11:58:38.0186
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WCbkk7OOI823SLG1GJepGPLCrSFmbWmhjE4zEypun4NvOxuoZSobwiNuM6Qhdly0iHKAV69ChbB9y7vDbUO0Dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7691

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> Add support for a read-only bit mask for vPCI register handlers.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v3->v4:
> * new patch
> 
> RFC: It seemed like a low-hanging fruit to add support for ro mask. Let me know
>      what you think, and I could squash it into the status handler patch for the
>      next version of the series.

I'd be fine having both in one go, fwiw.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:11:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593829.926934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgW3-0002su-V8; Thu, 31 Aug 2023 12:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593829.926934; Thu, 31 Aug 2023 12:11: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 1qbgW3-0002sn-Qz; Thu, 31 Aug 2023 12:11:15 +0000
Received: by outflank-mailman (input) for mailman id 593829;
 Thu, 31 Aug 2023 12:11: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbgW2-0002sh-Lk
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:11:14 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe02::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79adddc8-47f7-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 14:11:12 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7918.eurprd04.prod.outlook.com (2603:10a6:102:c7::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 12:11:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 12:11:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79adddc8-47f7-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TedzfK7cylfMXwXmXE03qS4rZh7uaZeDk6l3lmEUoA198BwkyHHWgs867oTKP7NDB5OQR+GYv2CaAmUhFkZHco6eBTQw55gyt0SzaeMKmnzDorJ3MvMO2/BheHcFR3Dqi0M6vr6Hcf/Zrwej5OH9EpesvsYdhIF6ZA0FZ1kqSmR7EZXvU0dDUidNz1YIiF7E7TWHSZG9FOslmvbUzvWzb139HvnXJ+Zk9KaWQCfKFd5YMakieX8opgzUosUkoAG1oOxAkUvZPyNSsfpPMPYwU6afxcWalXSJf24Wu09KxRYIT9tVs6sp1JaLmQ9DcHeK1a7taFwC/Tv5j9Og1vYrqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aOh2U8RvUCzStQPBMWxmcDvf9NNKY9DMoz/dy8/kWV8=;
 b=ac98ATNo/65cKF+0iokv3KpBtsTvIefl6bLuY0ExK/sN8g8V8HyT3xj9UkZGtpEnAIcitVsJV/h5pPay6cFm2vq3bGmf1IMZ7S/VzrYvwhcaNue7sLCHnxkMV75Fs7MDVtB0eZ/dwrWCA0X2VU9JJ1UUhm07m4ki3EiDOq2elCx5mrnr16/ePypcGzaYSo4TQyfxKIVu1a2N9823GAZdZ90Je0B+vPc/iaZ/BXiAbJgrIU9Nbn4LF/pXxMuB/DTLjpzSjaQ0Wb1hROP4/s5lFf39QCDnqpC52A8NqGAyaMbDTV+iM0GldtAUhgL548EwnhFARCg1xhu0F5iHqhvUnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aOh2U8RvUCzStQPBMWxmcDvf9NNKY9DMoz/dy8/kWV8=;
 b=zIvZfuzKp6hWaXOvC8O0B0TJ90+iv8DIOpeZ8QI4Y9PgSzJ6J8a8rzXn2+pN2IFDswLhRmXCIvcMzJbNdxoIHd+mm+IsoZ0t3x7s7tlxHfqp2PctGUG3Nt6J/TAFtDXSs3DhixDHHgpRY9Hjl/8KyzAWG5mpyNnV+91Ss+2z7NUXLU4wT9VJgX7y2IfpXOCv8uDVzc7uKVb7nNwCdRau14LPJBD11+qQcCZy3aWWEwnxTYMY+5dmnbcLy/z8zGYw7A1E9018K9E0IZ8i4MuAEe5cNp6eWNNG6OSu8w2K4PJ/PGoQZqHoOG7BmfHXJlhC9rG6t+kRbAbeI1fOq5/Asw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <059d3e2d-26f2-e24a-57fb-5ae10f6c2f5f@suse.com>
Date: Thu, 31 Aug 2023 14:11:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v4 6/6] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-7-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230828175858.30780-7-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0223.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7918:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a5446c9-376c-4e53-553a-08dbaa1b5c56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7atPScWyKrXnoW4lOD60l/+JC5h1oRIe+TcxaHDTlzDRan7GrUtksPVXMTiFX0Ahg74Qs2D6zH20D+PMI1GGxtsAm8zdjHDZJZ1wuJebnz6Ju1zxasdtyhN/z8wZmSbJmsBTxS1+6avZvhfIbHMf+c5K8qpWSd7LlRaOjInqMgsPfGkqdZPo6NItZ23eM9SxtXHpjfa2wA/vJBhGsmJttd8fDsvu43XyOMB8P/ailesNIghDVSwSUho48FqE9BYSarMo8vBeXTiEpDyPafqeGcKoT8l14YBnrceNCJ4e+tncHimcgEv7CEAeddHXthaEgb50uSlzX6ivZhlH1crVVf6U+havcbIb/2jf0rmFiIy7EW2q2httNRsGVxdex8i65jXsaz/eY9vjRV1arpfOiJhaq7jw6eM2ceICsTGckZavVxD90yEgz+ADYocbSmgzsOsh+u+g/Auldezl8ViljLPUVz/GAtQ9nuQGQFOehtMLDmdpwOMQfq7mUN0BW/26UKJqspU+teV5SDMhagJflZXW8s71E0Xa2mI/Tv1yNT0CShSOtunsgrhDM/NTCNLcNjxo9+Ue1BSYvmRnb/qgcep3nuErZWm93295eeCPZ4NUhZOhyYAEOCi2VuWDMMCnsy3pNSCw8bXFRBpObl9TZg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(136003)(396003)(346002)(39860400002)(186009)(1800799009)(451199024)(6916009)(54906003)(316002)(66946007)(66476007)(66556008)(478600001)(38100700002)(2906002)(8936002)(41300700001)(86362001)(8676002)(31696002)(4326008)(53546011)(5660300002)(26005)(6666004)(6512007)(2616005)(6486002)(6506007)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGZCNVp0RjNXemE2WW1TQlZ6M2QzZnJ1NXpkcGp4cEc4Yko2VElIbmhqNUFE?=
 =?utf-8?B?NVRQdHlybjlrME95SHRXUldYZjhlVEN1eS9ncVN5REZYSzNCMWJ2Q0Q2Mmpi?=
 =?utf-8?B?RE5lREQ1ejJ1dW5IekFJRXNpdGc0Mm53cHpEWStTMHRMQ1Bjbi91MmtrQmlm?=
 =?utf-8?B?MVFaS2JKTmZlbXdmZDlKTDhOcHlIL1dlZHVHbzZFUjNPRmtHMUlGdGk2czMw?=
 =?utf-8?B?U3M2RWJMK25ldGpSdFo5bTU0V1RQSlpSMTc3bjFmRlNRUkFwU3VJai8zWk1W?=
 =?utf-8?B?eFpha1lCTmxhampNQlVEY2tWRDNtRmhDWkd1bVovSVBrajFWQ1d1ZENyT01Z?=
 =?utf-8?B?NDM2c0h4NlJKZ2dSMnNFVWw5MXdFNHFZYUhrM3JQbk0vcmJTT2s3aXBOZ2Fh?=
 =?utf-8?B?eXV2Rmg2WWZqVHV5WnZNOHNoYUZOV3llTytYNjNyMXBYSW1HRFFJc3RJOFRN?=
 =?utf-8?B?RXhMQmN5aXZSWC9IUk56aEN3SEtKREtIRG9VMGY3dDNZNGxmc1phSmc1dDRy?=
 =?utf-8?B?cnV4NGxiOTRMOHdzUWV5QTdpUWw3Wk05SHYwKzNtOE11OWl3RENiTWtORXE3?=
 =?utf-8?B?N0tMb3lkV3ZtVlBRV1A5dXVzbFVMSjNjRzdUYVZwUXRtL1NsNWhmU3FmSGFH?=
 =?utf-8?B?MlBRNDMyd0VRV1pJNzhaYjlPOHlhbkkxeDhSS1FtVXRsMFdVRXhYaHJ3Qytw?=
 =?utf-8?B?TkxkbFlSRFc3TEZmL2lxVndlWmtjSUtLK2NranZ1Y09HZUNRTnpmQjVISkJ6?=
 =?utf-8?B?UnN3cXNLaFRpckJhbTNhSlk1bzkwbGRLY1ZzWWZWOFJHQVE3dm1iYTZpcnVE?=
 =?utf-8?B?ME1yVmUydlkxVkhRWSs4d0NUTmJvcEhpRitXN1RBSnNPa0dtTUdvTzkvNUU0?=
 =?utf-8?B?UkovNW5wWXVBeFJBVFFralpaUGdWTXZlS3J4ZmZUSTZQeXFLV09uVXd4cWlj?=
 =?utf-8?B?ejl4OGZpMkM0WkpqWCtOdHdJN01uVkxzL0FiNGpSaHdoOEYra2dsNVhUdzRz?=
 =?utf-8?B?OWMwRUZxTm1mT2lUSmZka1Q3Q2N2Y0NmWkdUZGkzbW5TY21PUE53cHJMUnZi?=
 =?utf-8?B?U2NWVjdXbnNxK2h1djllTHl6ckMzRzY0bEJKcUhocndBZ1dZem1keTJMaEtL?=
 =?utf-8?B?b0U5NjB3U0hNbUVJWFNMZGxLdnRvaVF1UCs5Tm5peU03VUhSb0RKeGV5cjVW?=
 =?utf-8?B?OEhYRDZKUUFrOHlnb0pObEtJQTg2aWthNHcyNGV3UW5YUU83V1VBeDFXdFp0?=
 =?utf-8?B?N2FBNXlMNEM0clpNcE1NRE9GV0d1RDc0MnBKT0krYzdqR05xRFh4dG5tREdi?=
 =?utf-8?B?QXRwRlZZWnJPcUhSVmdsTk1jU1AxeDk5ZmprN3lWMW9nYXZuVUZjTW91QnFz?=
 =?utf-8?B?cUNQSUR4ZnZGYzRQamIxazd2YzVmV1hzcFErQ1N6eWxhUWJNR0U5WHV4NWJj?=
 =?utf-8?B?ckhDY2J2Ym96QlRDQ0dCNVVqQklJTW5kZFltTDdxaHo3TnlOa2ZPZXl1bGlP?=
 =?utf-8?B?RjdEMS9EN0pRNjhyaDRkdkthUWZ0UTR4Lzl0UWIreFIveVpxeFd2QUUrT2Vk?=
 =?utf-8?B?RTcvZVB0Ym9NQTE5c25vY0NSREZvMmlKeVJoUXp5UUx2WE5IMkF1VVlnc05X?=
 =?utf-8?B?aWhRZU9uVDRrZmMxZWQ0VEJ0VE1NSjBmd0lhYVd5SUdrSVVLeUtTL1BZK0dN?=
 =?utf-8?B?Y3psTi9hQ0dNS3ZUbWsrYkcvZUt6U2lYYkJEUkpsL01sTkhqVjUwOER4cGpr?=
 =?utf-8?B?eWlrdWJZWnJ6dUErU1c1Y0pVTStOVmFFQTNzajk1VVE2ellacStudXY0TlQr?=
 =?utf-8?B?VGIyV21aak1wbVNMa2FwbGxZdmRuZG1WMDM2UmxvOGsyd1RxTVh2Z0JDdlNH?=
 =?utf-8?B?NmFFVUpZM1pZUUNGZ2sxUC9xYk50VFFtdk1lVEVEamIvY2NJdDN4dGRrMFVW?=
 =?utf-8?B?QU1kN2hTZE5kazFpdG1PdzN4d0Z2ZERSK29KOVF3TlpHWWtoY01RQ2hHamJx?=
 =?utf-8?B?M0p1cGZrT3Rzdzh5cXB4NmVhTGsrZG5QbGYrWWVKb0J2Mnh5T1ZnbzdnUjVI?=
 =?utf-8?B?M2xOaTFwNzdrTE16M1ByTGQ0N0N3Um82OTRFZ1RBcUwwSzBGZDFFSjhVZFZy?=
 =?utf-8?Q?GcHVozg7zQTTc9DXv6vQkbkzu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a5446c9-376c-4e53-553a-08dbaa1b5c56
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 12:11:09.4758
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bot+gtqMKyYDkETpaYTcYoDdvNtFfjNK+NcP/AM1OtVKl34AmVhLbLBAxr1F4FmRrnljPM0boY8jmZqUd3on+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7918

On 28.08.2023 19:56, Stewart Hildebrand wrote:
> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
> Hide all other PCI capabilities (including extended capabilities) from domUs for
> now, even though there may be certain devices/drivers that depend on being able
> to discover certain capabilities.
> 
> We parse the physical PCI capabilities linked list and add vPCI register
> handlers for the next elements, inserting our own next value, thus presenting a
> modified linked list to the domU.
> 
> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
> helper function returns a fixed value, which may be used for RAZ registers, or
> registers whose value doesn't change.
> 
> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
> pci_find_next_cap() to suit our needs, and implement the existing
> pci_find_next_cap() in terms of the new helper.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Nevertheless a couple of remarks:

> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -39,31 +39,44 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
>      return 0;
>  }
>  
> -unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> -                               unsigned int cap)
> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
> +                                   bool (*is_match)(unsigned int, unsigned int),
> +                                   unsigned int userdata, unsigned int *ttl)
>  {
> -    u8 id;
> -    int ttl = 48;
> +    unsigned int id;
>  
> -    while ( ttl-- )
> +    while ( (*ttl)-- )
>      {
>          pos = pci_conf_read8(sbdf, pos);
>          if ( pos < 0x40 )
>              break;
>  
> -        pos &= ~3;
> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>  
>          if ( id == 0xff )
>              break;
> -        if ( id == cap )
> +        if ( is_match(id, userdata) )
>              return pos;
>  
> -        pos += PCI_CAP_LIST_NEXT;
> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>      }
> +
>      return 0;
>  }
>  
> +static bool cf_check is_cap_match(unsigned int id1, unsigned int id2)
> +{
> +    return id1 == id2;
> +}

Personally I would have preferred to get away without yet another hook
function here, by ...

> +unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> +                               unsigned int cap)
> +{
> +    unsigned int ttl = 48;
> +
> +    return pci_find_next_cap_ttl(sbdf, pos, is_cap_match, cap, &ttl) & ~3;

... passing NULL here and then suitably handling the case in that
common helper.

> @@ -561,6 +573,71 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
> +        {
> +            /* RAZ/WI */
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1, (void *)0);
> +            if ( rc )
> +                return rc;
> +        }
> +        else
> +        {
> +            /* Only expose capabilities to the guest that vPCI can handle. */
> +            uint8_t next;

If this was "unsigned long", ...

> +            unsigned int ttl = 48;
> +
> +            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
> +                                         vpci_cap_supported, 0, &ttl);
> +
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1,
> +                                   (void *)(uintptr_t)next);

... you'd avoid the need for the double cast here and again below. Yet
then I realize that Misra would take offence at us doing so ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:18:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:18:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593837.926944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgcy-0003sr-KV; Thu, 31 Aug 2023 12:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593837.926944; Thu, 31 Aug 2023 12:18:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgcy-0003sk-HW; Thu, 31 Aug 2023 12:18:24 +0000
Received: by outflank-mailman (input) for mailman id 593837;
 Thu, 31 Aug 2023 12:18: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=shXB=EQ=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbgcx-0003se-BW
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:18:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7832acdf-47f8-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 14:18:19 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.0.213])
 by support.bugseng.com (Postfix) with ESMTPSA id EEE784EE0738;
 Thu, 31 Aug 2023 14:18: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: 7832acdf-47f8-11ee-9b0d-b553b5be7939
Message-ID: <35401207-544a-156c-85ee-20e33a78f3a7@bugseng.com>
Date: Thu, 31 Aug 2023 14:18:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 12/13] xen: address violations of MISRA C:2012
 Directive 4.10
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>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281548580.6458@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2308281548580.6458@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/08/23 00:51, Stefano Stabellini wrote:
> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>> Move or amended inclusion guards to address violations of
>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>> to prevent the contents of a header file being included more than
>> once").
>>
>> Inclusion guards must appear at the beginning of the headers
>> (comments are permitted anywhere) and the #if directive cannot
>> be used for other checks.
>>
>> Mechanical change.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   xen/include/xen/err.h       | 4 +++-
>>   xen/include/xen/pci_ids.h   | 5 +++++
>>   xen/include/xen/softirq.h   | 4 +++-
>>   xen/include/xen/unaligned.h | 7 ++++---
>>   xen/include/xen/vmap.h      | 4 +++-
>>   5 files changed, 18 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h
>> index 2f29b57d28..a6323d82d7 100644
>> --- a/xen/include/xen/err.h
>> +++ b/xen/include/xen/err.h
>> @@ -1,5 +1,6 @@
>> -#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__)
>> +#if !defined(__XEN_ERR_H__)
>>   #define __XEN_ERR_H__
>> +#if !defined(__ASSEMBLY__)
> 
> The original pattern was also guarding the header file sufficiently,
> protecting it from double-inclusion. In fact, it is posing stricter
> restrictions than usual (not laxer). This change is unnecessary?

The MISRA directive asks to use one of the two following forms:

<start-of-file>
#if !defined ( identifier )
#define identifier
/* Contents of file */
#endif
<end-of-file>

<start-of-file>
#ifndef identifier
#define identifier
/* Contents of file */
#endif
<end-of-file>

I do not see any reason for deviating, but if you ask that, I can do it.

> 
> 
>>   #include <xen/compiler.h>
>>   #include <xen/errno.h>
>> @@ -54,4 +55,5 @@ static inline int __must_check PTR_RET(const void *ptr)
>>   	return IS_ERR(ptr) ? PTR_ERR(ptr) : 0;
>>   }
>>   
>> +#endif /* __ASSEMBLY__ */
>>   #endif /* __XEN_ERR_H__ */
>> diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
>> index e798477a7e..1a739d4c92 100644
>> --- a/xen/include/xen/pci_ids.h
>> +++ b/xen/include/xen/pci_ids.h
>> @@ -1,3 +1,6 @@
>> +#ifndef __XEN_PCI_IDS_H__
>> +#define __XEN_PCI_IDS_H__
>> +
>>   #define PCI_VENDOR_ID_AMD                0x1022
>>   
>>   #define PCI_VENDOR_ID_NVIDIA             0x10de
>> @@ -11,3 +14,5 @@
>>   #define PCI_VENDOR_ID_BROADCOM           0x14e4
>>   
>>   #define PCI_VENDOR_ID_INTEL              0x8086
>> +
>> +#endif /* __XEN_PCI_IDS_H__ */
>> diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
>> index 33d6f2ecd2..092ec733b7 100644
>> --- a/xen/include/xen/softirq.h
>> +++ b/xen/include/xen/softirq.h
>> @@ -1,5 +1,6 @@
>> -#if !defined(__XEN_SOFTIRQ_H__) && !defined(__ASSEMBLY__)
>> +#if !defined(__XEN_SOFTIRQ_H__)
>>   #define __XEN_SOFTIRQ_H__
>> +#if !defined(__ASSEMBLY__)
> 
> same here
> 
> 
>>   /* Low-latency softirqs come first in the following list. */
>>   enum {
>> @@ -40,4 +41,5 @@ void cpu_raise_softirq_batch_finish(void);
>>    */
>>   void process_pending_softirqs(void);
>>   
>> +#endif /* __ASSEMBLY__ */
>>   #endif /* __XEN_SOFTIRQ_H__ */
>> diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
>> index 0a2b16d05d..45f03b3f1b 100644
>> --- a/xen/include/xen/unaligned.h
>> +++ b/xen/include/xen/unaligned.h
>> @@ -3,13 +3,14 @@
>>    * without faulting, and at least reasonably efficiently.  Other architectures
>>    * will need to have a custom asm/unaligned.h.
>>    */
>> -#ifndef __ASM_UNALIGNED_H__
>> -#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
>> -#endif
>>   
>>   #ifndef __XEN_UNALIGNED_H__
>>   #define __XEN_UNALIGNED_H__
>>   
>> +#ifndef __ASM_UNALIGNED_H__
>> +#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead"
>> +#endif
>> +
>>   #ifdef __XEN__
>>   #include <xen/types.h>
>>   #include <asm/byteorder.h>
>> diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
>> index b0f7632e89..7a61dea54a 100644
>> --- a/xen/include/xen/vmap.h
>> +++ b/xen/include/xen/vmap.h
>> @@ -1,5 +1,6 @@
>> -#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START)
>> +#if !defined(__XEN_VMAP_H__)
>>   #define __XEN_VMAP_H__
>> +#if defined(VMAP_VIRT_START)
> 
> same here
> 
> 
>>   #include <xen/mm-frame.h>
>>   #include <xen/page-size.h>
>> @@ -38,4 +39,5 @@ static inline void vm_init(void)
>>       vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, arch_vmap_virt_end());
>>   }
>>   
>> +#endif /* VMAP_VIRT_START */
>>   #endif /* __XEN_VMAP_H__ */
>> -- 
>> 2.34.1
>>
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:25:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593845.926954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgjy-0005nZ-BT; Thu, 31 Aug 2023 12:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593845.926954; Thu, 31 Aug 2023 12:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbgjy-0005nS-8H; Thu, 31 Aug 2023 12:25:38 +0000
Received: by outflank-mailman (input) for mailman id 593845;
 Thu, 31 Aug 2023 12:25: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbgjx-0005nM-95
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:25:37 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2050.outbound.protection.outlook.com [40.107.13.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7cd3c626-47f9-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 14:25:36 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7647.eurprd04.prod.outlook.com (2603:10a6:102:ef::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 12:25:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 12:25:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cd3c626-47f9-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M6enrpQmeIyBz5Ti2X5CIUusVx6vIU2JUlCKyErg7daaiCfUxzNvYCDZBHFEdPM0rB8fwX1rBmtgJoUNziArin639R0w88aMHGHU2siTp8oYJADi5wm31jdM6oMOrjVUW+CWb1BfvVOeaS8xziGjbbKKcOfdfMAGE9RqdkbGa4RDQFEnKnDjKYXi5/9ckN1PWsl4HLveI8BPnUYlLN1ONbbfk4LnIRsyDRZWU+sYHRfT8b2Pwud/cWggFQW5tWCA3Pp0XI4rS1zMEHMc/1quYuByCDCESvvcFvWShiIAyO9HTvS283K2500gk1ZqVFXeqK6BtlGgdecHCQ3kS0av+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S7TPwGutUOSQ9K06LSoWBARhfPG+UbvYvL4AOtrwlhA=;
 b=O5dLf+xO2Ips8Z6HOD57N0kekF3HSt7mTv8wNg6/cYOCR4Xzwviju4AWE09wnvyed6cAKmCXlOtE9OFxBx51vg/Fjz2gSr/uL7fK5muLpIEgZ322OBlq7DqyhqdvWEtp2dXY3qalUAw7W1/WucdfBXaX5A0CDjoQAtIAlQEJD1BqJWKJZSAXJjMi773O4DcJ3f0PJUvTcr65R29VuqfRCQvuPGBBuD/0iep++8KpbEg0G2xJoF15LG3xN12ik51nJ9JB3eTwYEQQP39jwbsd58dLG033TCKmqUUz2DYTixHvqSaXdltXwfOo3MBTyIoCCuCRptnDg0zyGf9qrxplGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S7TPwGutUOSQ9K06LSoWBARhfPG+UbvYvL4AOtrwlhA=;
 b=AHqiEkHQC3hNLOmEZZd5M2dEpiygbc7VxuKPn2uezaf06wTP4SyTIaAecjJPOi8fAHdniSfqzrkaWILOVOwRQI5245j6Mkv2CrzHJ2I0qDHPBlfUWNb4ugFQCTvdA9/C4G7aPthRYsKQ8JllqW+J0CNTQGlfAgsijkT5gL3kxkU9WkZZRjZicNBNiRFiXO0RCxWSkTFwXDJrd1m6k5mb8zaGSt5jjoeizXrdFJGafODXBAajA5erJO6JJiwpJ5+Xrw2KZMdXHvCj7Tc5qib20XBfTr/dsh7MmdNCc5GOIdshFjoy6T3/QDCOhaG36vsa543cUgJ0dASwesSWCtd2Sw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77f2e076-7802-bba5-82d8-fe6449cc9d29@suse.com>
Date: Thu, 31 Aug 2023 14:25:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 12/13] xen: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
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>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <6ef4634e273a89582299061f1d14346572bf1d47.1693228255.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2308281548580.6458@ubuntu-linux-20-04-desktop>
 <35401207-544a-156c-85ee-20e33a78f3a7@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <35401207-544a-156c-85ee-20e33a78f3a7@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0170.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7647:EE_
X-MS-Office365-Filtering-Correlation-Id: 501af2a2-ed9d-4759-c65c-08dbaa1d4f50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ixeeL5+Cv7rrwZLCZuDrUieOFUfBCXRPE8oSZEpKB/ZsVn2Qm8YWz26VZOrdx70O2Cpsh+rDImNcQknuuNGgen9F4/8awoKQyNQNkT5PCFGJ/5aZ0jIxGoX/LRWNwd7YUahMp5I0tO9WJ/q3jlsbkb+uSfIjxX/iJiXkeAGRucdZfxYsOyosle7V+UTNVDUb7/qhXzedcSLb+5etg8ys5heFZgSKRxpslhr+AfbfVWGKAf4K0jK427m0uDO6ddax9lRhfZi4GT+HYalHKdmqaesssTZJt5AD7ChFB8vTvq79x6lL4oh9EQM7glLXfHMEW3AOO/Q/ZLxlCUnvOXIDaueLbfxrLUGN0J3cpEowAsOH4OPs73UW9UN9FgrTo/TtNl0Ub9MmsMD9G61l7kuxoVLchSQfAa1BtFTyotnhKEgT/FtsYIrT+PshIO1gVhmNxopUOKczeKMCwxt9slMqoBSErm6MoyFb6zMxprpIG6XLcto7Tm5XcURRe7WAjuVxJIGVCJEHigfKBt17AFUw1yokpPrtuR34gZ14WAqKN8nCzVJkTl4+xnGAK71N5E7bTB+UYhQtKFTLOtbzFWxTQ9zr6xAvXlgJ4hrX73vOZ16oG4ZbHf06kwzJqKEnNb9YHgnk5bR9qpTo791KR/N5UQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(39860400002)(136003)(396003)(366004)(1800799009)(451199024)(186009)(41300700001)(6666004)(31696002)(86362001)(38100700002)(478600001)(83380400001)(2616005)(26005)(6512007)(6486002)(53546011)(6506007)(66556008)(66946007)(66476007)(2906002)(6916009)(316002)(36756003)(54906003)(5660300002)(31686004)(8676002)(4326008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R21vdStXeGNQdkppTE54c3Z0QmNEQ2VGcW9vSXM5emwzL25SdHF3WXRWZzVS?=
 =?utf-8?B?d3JwR3h4RTdsbEVmeWNQQ25xbXZYdEhtcWt6YWpYQzZLQkZ1NjMvMjhMbTZO?=
 =?utf-8?B?UnIwSnVRMlp0bERZN1IrNjNhcFNCcHVDWjNLd0FSM1k0S3h6cXozSlM1Yzkw?=
 =?utf-8?B?bjZsSlhMVk4wNlN0YVc2cFJKRWxRSDlDY085ZVFoRGFOdlFFODJOdTRMTmlM?=
 =?utf-8?B?WUxQaTVGT3Q1T0tDaTlqbVlvb3ZYVmJlNS9zdmUzY3p2aGt6bkxlWGZjSHl4?=
 =?utf-8?B?V25ZS3drdkp4UVFrWkVXd3RjT2JUZU1QN1hjMUM4R3FCSTBOd1ZRaVVxZU1B?=
 =?utf-8?B?ZDVsTTlKQ2JFMmxyTWNzQUdHQm5vUzR5M2gwdndnVUxNaExQQm9kcXh0WXdR?=
 =?utf-8?B?ZW5KOXdHeEc4UjV3azFPeVRQTVI1WGpwUmVLbGp5N2dnajcrUHp6SW12UzRR?=
 =?utf-8?B?MjNDNmNYT0h0RnEvSFFJQ0JnUnlzWWVtd0ZXeUc5NldtZlBIT2JSZnRpOCth?=
 =?utf-8?B?WW92SjZZUS9ZOEN3UndUZVBLWURaRlFrNXZGenVTVG9HaFJCeTBaTjlPR3Jm?=
 =?utf-8?B?cUJaTVFnU2dZeDZRMnhXeFdPZEpqRm1kbWJWRDBXWTVxeUVGY2REc3Y0akJ2?=
 =?utf-8?B?dEczN2ZEaFliODZWUVhmT2VKb3hqNFRJcGx3REVITUVrUDNjTmY0eXo3K3F1?=
 =?utf-8?B?QmVTR2ZKNGs2YzVPOU9ITzhxTGlrVjZNa29YdEhFRXJSbHhnOHhOTVZ4OWd6?=
 =?utf-8?B?cUxLbTFkd2hJUy90WEM2VkJtcW9VeFNJUW5IdmtzRFFtbkRRa093UHMyajJH?=
 =?utf-8?B?ZWs3Nkk5L0VyT2tIaHNpWFh6bGpOcVd2SFA3b2F0V2NWUjlOd3lnTU1mRmc1?=
 =?utf-8?B?Rm5GL0R0aVk3QmN0dCtNMm9UU0VmUDNzeFN2VTUwWG9IQW9MVEpuSlFCbUJV?=
 =?utf-8?B?dWdncDdXSDR1aWVnN2NmK0JLSENOcHFka21FSmpwbFJvK1pWa3doSGNZOHQ3?=
 =?utf-8?B?R3pEU2VWK0dja2M4eHhTUWRRY1JGVnNENXBaZE5VWnQ1SWJLRjdJeThEZzFB?=
 =?utf-8?B?N2U5R1VLNlpEM2VIemxOaTY3L1R0V2E4OWVVaFNFZDd4Y1R2T0U3K3cvY0ww?=
 =?utf-8?B?bzRyejRoTTB6VXJ6SUpSTWNVNjU1SEEzL2JwOFFlV2pRZTZHSFRMbUw1a25k?=
 =?utf-8?B?R0VpYS9PQnk3UVJQbFEyd1IvYS94YmFkQ1JuVGlLK1VHQitTQ2lDS1ExTnZ3?=
 =?utf-8?B?SXBJMVBmclpBU1ExczdFdEdmeEdZMUNhZExCTjAvV00rOW1KdjF1SWx4ZkFH?=
 =?utf-8?B?ckV2eWFFVUhqRlNWTGhLc3dmcWJicjRGdVdRZ3p4dG1Ya2VVQUpzTUZ6bjd5?=
 =?utf-8?B?VGdOaDJrZFRCYWRUc2hLdTUyb0NCNlRITHlUUWpaWTBiNlY0WlEwMFA5cEhD?=
 =?utf-8?B?bTNZUEFObjhlMXBGMTAxZ20zVE5LbW1WNDNBcFFaTTJoWllEOE85NlJGWlhH?=
 =?utf-8?B?VDBJeTk2WksxbTNqWE5mTWhLNTJlL3UvaU85azFnUk9VZUtsT1lZZ1c2a0wr?=
 =?utf-8?B?ZnBoTmExTzhCWVF0bUZkNUl0UmVLbEtSUjdVSm9IaFBMQlpubjZLSUYvUzN1?=
 =?utf-8?B?Wm9lYzdkOWluTE5hVUxtMVVPUjY1Q3dEaEN0NkMyMFdoNk8yN2VNbCtCSE8w?=
 =?utf-8?B?Q0N6M2JyYUxBZFJFSitPbXlmN0t1RlNHS0dFa3Q5L3ZhVzlsNHpRNUdaRWpK?=
 =?utf-8?B?RkFPcmRxeExVT1Fua0tPUVcydkNTRC9vZzViRHdHc2dIeVRKcnBEdFBwNmlQ?=
 =?utf-8?B?bUZoQnlmV1BTU3dwSFZNY0hMdkh3UG9CTkNrRjJZU243dDlmWlluTk1OMCtO?=
 =?utf-8?B?b2RzWlhOa1o5VlFqaE1WbVpTZzhPeUEzTnIzZUtlYzZaaDdtb1hGcUFaU1BQ?=
 =?utf-8?B?MGgxbm9zNEJDWUR2WUhSQUlpUGlqZURhR1dyRHhZSytGMk4rUnh3bzhyTzlJ?=
 =?utf-8?B?SzdLM3JzUFRTbWpvMy9jRHBOQVVvQzhoVWxhbi92ZU1tczFkVVhKMHAwaXFy?=
 =?utf-8?B?dUVmWFdGUTNQbHhUdHRYSnNoY2JENWIrRERleGZFbmpKOFVxbGFGUzI0QytD?=
 =?utf-8?Q?0ZI3lj7oXhJ4L1ETbOo4iTpD9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 501af2a2-ed9d-4759-c65c-08dbaa1d4f50
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 12:25:06.5981
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pVi6gD7hST3gK5bPASlfN/hjowQbffsKuutjSydVow8GM9XMmTRHCJoedL9Jz01XvdNQg75+iDmVuMmTOES8Dg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7647

On 31.08.2023 14:18, Simone Ballarin wrote:
> On 29/08/23 00:51, Stefano Stabellini wrote:
>> On Mon, 28 Aug 2023, Simone Ballarin wrote:
>>> Move or amended inclusion guards to address violations of
>>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>>> to prevent the contents of a header file being included more than
>>> once").
>>>
>>> Inclusion guards must appear at the beginning of the headers
>>> (comments are permitted anywhere) and the #if directive cannot
>>> be used for other checks.
>>>
>>> Mechanical change.
>>>
>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>> ---
>>>   xen/include/xen/err.h       | 4 +++-
>>>   xen/include/xen/pci_ids.h   | 5 +++++
>>>   xen/include/xen/softirq.h   | 4 +++-
>>>   xen/include/xen/unaligned.h | 7 ++++---
>>>   xen/include/xen/vmap.h      | 4 +++-
>>>   5 files changed, 18 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h
>>> index 2f29b57d28..a6323d82d7 100644
>>> --- a/xen/include/xen/err.h
>>> +++ b/xen/include/xen/err.h
>>> @@ -1,5 +1,6 @@
>>> -#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__)
>>> +#if !defined(__XEN_ERR_H__)
>>>   #define __XEN_ERR_H__
>>> +#if !defined(__ASSEMBLY__)
>>
>> The original pattern was also guarding the header file sufficiently,
>> protecting it from double-inclusion. In fact, it is posing stricter
>> restrictions than usual (not laxer). This change is unnecessary?
> 
> The MISRA directive asks to use one of the two following forms:
> 
> <start-of-file>
> #if !defined ( identifier )
> #define identifier
> /* Contents of file */
> #endif
> <end-of-file>
> 
> <start-of-file>
> #ifndef identifier
> #define identifier
> /* Contents of file */
> #endif
> <end-of-file>
> 
> I do not see any reason for deviating, but if you ask that, I can do it.

I do not see a reason why a deviation would be needed here. Misra shouldn't
be more pedantic / restrictive than necessary to achieve its goals. Looking
at the flood of changes we've already seen, pointless changes really
shouldn't be asked for.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:51:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593853.926964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbh8u-0001jZ-B9; Thu, 31 Aug 2023 12:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593853.926964; Thu, 31 Aug 2023 12: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 1qbh8u-0001jS-8H; Thu, 31 Aug 2023 12:51:24 +0000
Received: by outflank-mailman (input) for mailman id 593853;
 Thu, 31 Aug 2023 12: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=5gKK=EQ=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1qbh8t-0001jM-9g
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:51:23 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15300d2f-47fd-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 14:51:20 +0200 (CEST)
Received: by verein.lst.de (Postfix, from userid 2407)
 id C99B468C4E; Thu, 31 Aug 2023 14:51: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: 15300d2f-47fd-11ee-9b0d-b553b5be7939
Date: Thu, 31 Aug 2023 14:51:09 +0200
From: Christoph Hellwig <hch@lst.de>
To: Jonathan Corbet <corbet@lwn.net>
Cc: Petr Tesarik <petrtesarik@huaweicloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Petr Tesarik <petr.tesarik.ext@huawei.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>, James Seo <james@equiv.tech>,
	James Clark <james.clark@arm.com>,
	Kees Cook <keescook@chromium.org>,
	"moderated list:XEN HYPERVISOR ARM" <xen-devel@lists.xenproject.org>,
	"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:MIPS" <linux-mips@vger.kernel.org>,
	"open list:XEN SWIOTLB SUBSYSTEM" <iommu@lists.linux.dev>,
	"open list:SLAB ALLOCATOR" <linux-mm@kvack.org>,
	Roberto Sassu <roberto.sassu@huaweicloud.com>, petr@tesarici.cz
Subject: Re: [PATCH v7 9/9] swiotlb: search the software IO TLB only if the
 device makes use of it
Message-ID: <20230831125109.GA11562@lst.de>
References: <cover.1690871004.git.petr.tesarik.ext@huawei.com> <adea71bd1fa8660d4c3157a562431ad8127016d4.1690871004.git.petr.tesarik.ext@huawei.com> <87a5uz3ob8.fsf@meer.lwn.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87a5uz3ob8.fsf@meer.lwn.net>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Wed, Aug 09, 2023 at 03:20:43PM -0600, Jonathan Corbet wrote:
> >  	spin_unlock_irqrestore(&dev->dma_io_tlb_lock, flags);
> >  
> > -	/* Pairs with smp_rmb() in swiotlb_find_pool(). */
> > -	smp_wmb();
> >  found:
> > +	dev->dma_uses_io_tlb = true;
> > +	/* Pairs with smp_rmb() in is_swiotlb_buffer() */
> > +	smp_wmb();
> > +
> 
> ...and here you set it if swiotlb is used.
> 
> But, as far as I can tell, you don't actually *use* this field anywhere.
> What am I missing?

It's very much unused.  Petr, I guess you wanted to use this in
is_swiotlb_buffer to avoid the lookup unless required.  Can you send
a follow up?


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:54:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593859.926974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhC6-0002Sw-PU; Thu, 31 Aug 2023 12:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593859.926974; Thu, 31 Aug 2023 12: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 1qbhC6-0002Sp-MX; Thu, 31 Aug 2023 12:54:42 +0000
Received: by outflank-mailman (input) for mailman id 593859;
 Thu, 31 Aug 2023 12: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=shXB=EQ=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbhC5-0002Sh-NL
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:54:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c62d7a8-47fd-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 14:54:40 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.0.213])
 by support.bugseng.com (Postfix) with ESMTPSA id 4EA954EE0738;
 Thu, 31 Aug 2023 14:54:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c62d7a8-47fd-11ee-8783-cb3800f73035
Message-ID: <7d5244fe-d89c-8878-b16a-a3345426de1e@bugseng.com>
Date: Thu, 31 Aug 2023 14:54:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
 <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
 <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
 <00866371-7adb-9cfa-267d-ee78cf14e68c@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <00866371-7adb-9cfa-267d-ee78cf14e68c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 31/08/23 13:10, Jan Beulich wrote:
> On 31.08.2023 12:08, Simone Ballarin wrote:
>> On 29/08/23 08:50, Jan Beulich wrote:
>>> On 28.08.2023 15:20, Simone Ballarin wrote:
>>>> Add inclusion guards to address violations of
>>>> MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order
>>>> to prevent the contents of a header file being included more than
>>>> once").
>>>>
>>>> Also C files, if included somewhere, need to comply with the guideline.
>>>>
>>>> Mechanical change.
>>>>
>>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>>> ---
>>>>    xen/common/compat/grant_table.c | 7 +++++++
>>>>    xen/common/coverage/gcc_4_7.c   | 5 +++++
>>>>    xen/common/decompress.h         | 5 +++++
>>>>    xen/common/event_channel.h      | 5 +++++
>>>>    xen/common/multicall.c          | 5 +++++
>>>>    5 files changed, 27 insertions(+)
>>>
>>> As already said in reply to another patch, imo .c files shouldn't gain such
>>> guards. These are commonly referred to as "header guards" for a reason.
>>>
>>
>> This is the MISRA's definition of "header file" (MISRA C:2012 Revision
>> 1, Appendix J):
>>
>>     "A header file is any file that is the subject of a #include
>>      directive.
>>      Note: the filename extension is not significant."
> 
> That's completely misleading terminology then.
> 

I might agree with you on this, but either way this is the definition to 
apply when reading the guideline. IMHO here, the best would be to use a 
separate extension for "C files intended to be included" (but that's not 
the point).

>> So, the guards are required if we want to comply with the directive,
>> otherwise we can raise a deviation.
>>
>> The danger of multi-inclusion also exists for .c files, why do you want
>> to avoid guards for them?
> 
> Counter question: Why only add guards to some of them? (My personal
> answer is "Because it's extra clutter.")
> 
> Jan
> 

It's not "some of them", it's exactly the ones used in an #include 
directive, so I'm not getting your objection.

By the way, if the community agrees, I can deviate all C files and
drop the changes.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 12:57:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 12:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593867.926983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhEb-00032z-54; Thu, 31 Aug 2023 12:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593867.926983; Thu, 31 Aug 2023 12:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhEb-00032s-2S; Thu, 31 Aug 2023 12:57:17 +0000
Received: by outflank-mailman (input) for mailman id 593867;
 Thu, 31 Aug 2023 12:57: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=nRSd=EQ=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qbhEZ-00032l-LR
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:57: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 e7d04a49-47fd-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 14:57:13 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-401f503b529so7237295e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 05:57:13 -0700 (PDT)
Received: from m1x-phil.lan ([176.187.199.245])
 by smtp.gmail.com with ESMTPSA id
 n5-20020a05600c294500b003fa96fe2bd9sm5055144wmd.22.2023.08.31.05.57.10
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 31 Aug 2023 05:57: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: e7d04a49-47fd-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693486633; x=1694091433; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BBmbYhwWUokJXrJxrg7jVrc5Nfzg+L5Sye1331NUuIk=;
        b=lLbjRZjuBy9MAw4d206Ifz4O/EZhHS+/Gb/QTeB0uDLFmq5pZhODnE8pDf3hgQpG3P
         mLV8BZPnFJrSpUVpk2J3pWRVMnvxuqEDXsX+oe9ujoc7WLME18dgDtxfE0pHqKRnMkyS
         yLhLCZ7tgWW2w34mMdIBtX3Af2GPf0dN6ZomK6wM8IOAby+pQvNinx3UXy3hrY59+6ug
         YOMIEK35DaJmIbRQ0bPXFL3Q6n/suBpiw4dqg5WkZxFdzk+LFy1SKY37v0LrvX9kxCWc
         AY9c/CLp8M4c34u6EvRYn7SwhITVy6Qqr7AsWu6qPfcFoQ0jOgAgQXiehPKeorfC/2RZ
         5ouw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693486633; x=1694091433;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BBmbYhwWUokJXrJxrg7jVrc5Nfzg+L5Sye1331NUuIk=;
        b=H5jAqZRYyKgRwysAbnOV7dgH7A0BqTEB4mHHEdsu1sqctHH2hYWfW9nkWWbT2e6RrM
         eLBY/++R3KB160ulaKJcHfFUNz7IdtTJetFYetIF/QMDJdQ7/C8EvN0GfFYpKv0o4DLj
         wG8FpPdWXc5lBbDO+HLgghYL3vUQrzlG+uS9s51r9IiTP+grr9zlgAydZkrOvNKf1qMd
         q0x7lJuqSX9CDeRfovmZYAuaJqSQCPZugBHIqXA0zKA3ndtBOio2pOPZKmwvtAc6Fu+W
         5grBjW/IDuDoEKKKXeDDFgrQo6sNKPk8s361+qf7B7+FbU5QX4VPOg7re8YTBQ96b0Ir
         GREw==
X-Gm-Message-State: AOJu0YwscEeG/K25ve3xGa6Q2NOj9tRzvMUvlMjgM4dF61LQFUKohayn
	wOFOHNAu8XnZwEWoGqaKduH9Tg==
X-Google-Smtp-Source: AGHT+IHrugNVq5rO5pJJ/HVe0riFESd6n16BG/MMuMQ4rPHV0uAB9PLEZj5wGWLR2gGoNPDMyj/U+A==
X-Received: by 2002:a7b:cd06:0:b0:401:519:d2 with SMTP id f6-20020a7bcd06000000b00401051900d2mr3641584wmj.23.1693486633253;
        Thu, 31 Aug 2023 05:57:13 -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-s390x@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-block@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Warner Losh <imp@bsdimp.com>,
	Kyle Evans <kevans@freebsd.org>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@aj.id.au>,
	Joel Stanley <joel@jms.id.au>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Stefan Weil <sw@weilnetz.de>,
	Riku Voipio <riku.voipio@iki.fi>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 04/41] bulk: Do not declare function prototypes using 'extern' keyword
Date: Thu, 31 Aug 2023 14:56:06 +0200
Message-ID: <20230831125646.67855-5-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230831125646.67855-1-philmd@linaro.org>
References: <20230831125646.67855-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

By default, C function prototypes declared in headers are visible,
so there is no need to declare them as 'extern' functions.
Remove this redundancy in a single bulk commit; do not modify:

  - meson.build (used to check function availability at runtime)
  - pc-bios/
  - libdecnumber/
  - tests/
  - *.c

Signed-off-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230605175647.88395-5-philmd@linaro.org>
---
 bsd-user/bsd-file.h            |  6 ++---
 crypto/hmacpriv.h              | 13 +++++------
 hw/xen/xen_pt.h                |  8 +++----
 include/crypto/secret_common.h | 14 +++++-------
 include/exec/page-vary.h       |  4 ++--
 include/hw/misc/aspeed_scu.h   |  2 +-
 include/hw/nvram/npcm7xx_otp.h |  4 ++--
 include/hw/qdev-core.h         |  4 ++--
 include/qemu/crc-ccitt.h       |  4 ++--
 include/qemu/osdep.h           |  4 ++--
 include/qemu/rcu.h             | 14 ++++++------
 include/qemu/sys_membarrier.h  |  4 ++--
 include/qemu/uri.h             |  6 ++---
 include/sysemu/accel-blocker.h | 14 ++++++------
 include/sysemu/os-win32.h      |  4 ++--
 include/user/safe-syscall.h    |  4 ++--
 target/i386/sev.h              |  6 ++---
 target/mips/cpu.h              |  4 ++--
 tcg/tcg-internal.h             |  4 ++--
 include/exec/memory_ldst.h.inc | 42 +++++++++++++++++-----------------
 20 files changed, 79 insertions(+), 86 deletions(-)

diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 588e0c50d4..3c00dc0056 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -51,10 +51,8 @@ do {                                        \
     unlock_user(p1, arg1, 0);               \
 } while (0)
 
-extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count,
-        int copy);
-extern void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int count,
-        int copy);
+struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy);
+void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int count, int copy);
 
 int safe_open(const char *path, int flags, mode_t mode);
 int safe_openat(int fd, const char *path, int flags, mode_t mode);
diff --git a/crypto/hmacpriv.h b/crypto/hmacpriv.h
index 4387ca2587..62dfe8257a 100644
--- a/crypto/hmacpriv.h
+++ b/crypto/hmacpriv.h
@@ -28,19 +28,18 @@ struct QCryptoHmacDriver {
     void (*hmac_free)(QCryptoHmac *hmac);
 };
 
-extern void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,
-                                  const uint8_t *key, size_t nkey,
-                                  Error **errp);
+void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,
+                           const uint8_t *key, size_t nkey,
+                           Error **errp);
 extern QCryptoHmacDriver qcrypto_hmac_lib_driver;
 
 #ifdef CONFIG_AF_ALG
 
 #include "afalgpriv.h"
 
-extern QCryptoAFAlg *
-qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg,
-                           const uint8_t *key, size_t nkey,
-                           Error **errp);
+QCryptoAFAlg *qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg,
+                                         const uint8_t *key, size_t nkey,
+                                         Error **errp);
 extern QCryptoHmacDriver qcrypto_hmac_afalg_driver;
 
 #endif
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index b20744f7c7..31bcfdf705 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -340,11 +340,9 @@ static inline bool xen_pt_has_msix_mapping(XenPCIPassthroughState *s, int bar)
     return s->msix && s->msix->bar_index == bar;
 }
 
-extern void *pci_assign_dev_load_option_rom(PCIDevice *dev,
-                                            int *size,
-                                            unsigned int domain,
-                                            unsigned int bus, unsigned int slot,
-                                            unsigned int function);
+void *pci_assign_dev_load_option_rom(PCIDevice *dev, int *size,
+                                     unsigned int domain, unsigned int bus,
+                                     unsigned int slot, unsigned int function);
 static inline bool is_igd_vga_passthrough(XenHostPCIDevice *dev)
 {
     return (xen_igd_gfx_pt_enabled()
diff --git a/include/crypto/secret_common.h b/include/crypto/secret_common.h
index 42c7ff7af6..a0a22e1abd 100644
--- a/include/crypto/secret_common.h
+++ b/include/crypto/secret_common.h
@@ -48,13 +48,11 @@ struct QCryptoSecretCommonClass {
 };
 
 
-extern int qcrypto_secret_lookup(const char *secretid,
-                                 uint8_t **data,
-                                 size_t *datalen,
-                                 Error **errp);
-extern char *qcrypto_secret_lookup_as_utf8(const char *secretid,
-                                           Error **errp);
-extern char *qcrypto_secret_lookup_as_base64(const char *secretid,
-                                             Error **errp);
+int qcrypto_secret_lookup(const char *secretid,
+                          uint8_t **data,
+                          size_t *datalen,
+                          Error **errp);
+char *qcrypto_secret_lookup_as_utf8(const char *secretid, Error **errp);
+char *qcrypto_secret_lookup_as_base64(const char *secretid, Error **errp);
 
 #endif /* QCRYPTO_SECRET_COMMON_H */
diff --git a/include/exec/page-vary.h b/include/exec/page-vary.h
index ebbe9b169b..54ddde308a 100644
--- a/include/exec/page-vary.h
+++ b/include/exec/page-vary.h
@@ -27,8 +27,8 @@ typedef struct {
 } TargetPageBits;
 
 #ifdef IN_PAGE_VARY
-extern bool set_preferred_target_page_bits_common(int bits);
-extern void finalize_target_page_bits_common(int min);
+bool set_preferred_target_page_bits_common(int bits);
+void finalize_target_page_bits_common(int min);
 #endif
 
 /**
diff --git a/include/hw/misc/aspeed_scu.h b/include/hw/misc/aspeed_scu.h
index 5c7c04eedf..7cb6018dbc 100644
--- a/include/hw/misc/aspeed_scu.h
+++ b/include/hw/misc/aspeed_scu.h
@@ -51,7 +51,7 @@ struct AspeedSCUState {
 
 #define ASPEED_IS_AST2500(si_rev)     ((((si_rev) >> 24) & 0xff) == 0x04)
 
-extern bool is_supported_silicon_rev(uint32_t silicon_rev);
+bool is_supported_silicon_rev(uint32_t silicon_rev);
 
 
 struct AspeedSCUClass {
diff --git a/include/hw/nvram/npcm7xx_otp.h b/include/hw/nvram/npcm7xx_otp.h
index 156bbd151a..ea4b5d0731 100644
--- a/include/hw/nvram/npcm7xx_otp.h
+++ b/include/hw/nvram/npcm7xx_otp.h
@@ -73,7 +73,7 @@ typedef struct NPCM7xxOTPClass NPCM7xxOTPClass;
  * Each nibble of data is encoded into a byte, so the number of bytes written
  * to the array will be @len * 2.
  */
-extern void npcm7xx_otp_array_write(NPCM7xxOTPState *s, const void *data,
-                                    unsigned int offset, unsigned int len);
+void npcm7xx_otp_array_write(NPCM7xxOTPState *s, const void *data,
+                             unsigned int offset, unsigned int len);
 
 #endif /* NPCM7XX_OTP_H */
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 884c726a87..151d968238 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -1086,7 +1086,7 @@ typedef enum MachineInitPhase {
     PHASE_MACHINE_READY,
 } MachineInitPhase;
 
-extern bool phase_check(MachineInitPhase phase);
-extern void phase_advance(MachineInitPhase phase);
+bool phase_check(MachineInitPhase phase);
+void phase_advance(MachineInitPhase phase);
 
 #endif
diff --git a/include/qemu/crc-ccitt.h b/include/qemu/crc-ccitt.h
index d6eb49146d..8918dafe07 100644
--- a/include/qemu/crc-ccitt.h
+++ b/include/qemu/crc-ccitt.h
@@ -17,8 +17,8 @@
 extern uint16_t const crc_ccitt_table[256];
 extern uint16_t const crc_ccitt_false_table[256];
 
-extern uint16_t crc_ccitt(uint16_t crc, const uint8_t *buffer, size_t len);
-extern uint16_t crc_ccitt_false(uint16_t crc, const uint8_t *buffer, size_t len);
+uint16_t crc_ccitt(uint16_t crc, const uint8_t *buffer, size_t len);
+uint16_t crc_ccitt_false(uint16_t crc, const uint8_t *buffer, size_t len);
 
 static inline uint16_t crc_ccitt_byte(uint16_t crc, const uint8_t c)
 {
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 2cae135280..2897720fac 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -250,7 +250,7 @@ extern "C" {
  * supports QEMU_ERROR, this will be reported at compile time; otherwise
  * this will be reported at link time due to the missing symbol.
  */
-G_NORETURN extern
+G_NORETURN
 void QEMU_ERROR("code path is reachable")
     qemu_build_not_reached_always(void);
 #if defined(__OPTIMIZE__) && !defined(__NO_INLINE__)
@@ -506,7 +506,7 @@ void qemu_anon_ram_free(void *ptr, size_t size);
  * See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=7156) for discussion
  * about Solaris missing the madvise() prototype.
  */
-extern int madvise(char *, size_t, int);
+int madvise(char *, size_t, int);
 #endif
 
 #if defined(CONFIG_LINUX)
diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h
index 661c1a1468..fea058aa9f 100644
--- a/include/qemu/rcu.h
+++ b/include/qemu/rcu.h
@@ -118,19 +118,19 @@ static inline void rcu_read_unlock(void)
     }
 }
 
-extern void synchronize_rcu(void);
+void synchronize_rcu(void);
 
 /*
  * Reader thread registration.
  */
-extern void rcu_register_thread(void);
-extern void rcu_unregister_thread(void);
+void rcu_register_thread(void);
+void rcu_unregister_thread(void);
 
 /*
  * Support for fork().  fork() support is enabled at startup.
  */
-extern void rcu_enable_atfork(void);
-extern void rcu_disable_atfork(void);
+void rcu_enable_atfork(void);
+void rcu_disable_atfork(void);
 
 struct rcu_head;
 typedef void RCUCBFunc(struct rcu_head *head);
@@ -140,8 +140,8 @@ struct rcu_head {
     RCUCBFunc *func;
 };
 
-extern void call_rcu1(struct rcu_head *head, RCUCBFunc *func);
-extern void drain_call_rcu(void);
+void call_rcu1(struct rcu_head *head, RCUCBFunc *func);
+void drain_call_rcu(void);
 
 /* The operands of the minus operator must have the same type,
  * which must be the one that we specify in the cast.
diff --git a/include/qemu/sys_membarrier.h b/include/qemu/sys_membarrier.h
index b5bfa21d52..e7774891f8 100644
--- a/include/qemu/sys_membarrier.h
+++ b/include/qemu/sys_membarrier.h
@@ -14,8 +14,8 @@
  * side.  The slow side forces processor-level ordering on all other cores
  * through a system call.
  */
-extern void smp_mb_global_init(void);
-extern void smp_mb_global(void);
+void smp_mb_global_init(void);
+void smp_mb_global(void);
 #define smp_mb_placeholder()       barrier()
 #else
 /* Keep it simple, execute a real memory barrier on both sides.  */
diff --git a/include/qemu/uri.h b/include/qemu/uri.h
index 2875c51417..1855b764f2 100644
--- a/include/qemu/uri.h
+++ b/include/qemu/uri.h
@@ -96,8 +96,8 @@ typedef struct QueryParams {
   QueryParam *p;       /* array of parameters */
 } QueryParams;
 
-QueryParams *query_params_new (int init_alloc);
-extern QueryParams *query_params_parse (const char *query);
-extern void query_params_free (QueryParams *ps);
+QueryParams *query_params_new(int init_alloc);
+QueryParams *query_params_parse(const char *query);
+void query_params_free(QueryParams *ps);
 
 #endif /* QEMU_URI_H */
diff --git a/include/sysemu/accel-blocker.h b/include/sysemu/accel-blocker.h
index 0733783bcc..f07f368358 100644
--- a/include/sysemu/accel-blocker.h
+++ b/include/sysemu/accel-blocker.h
@@ -16,7 +16,7 @@
 
 #include "sysemu/cpus.h"
 
-extern void accel_blocker_init(void);
+void accel_blocker_init(void);
 
 /*
  * accel_{cpu_}ioctl_begin/end:
@@ -26,10 +26,10 @@ extern void accel_blocker_init(void);
  * called, preventing new ioctls to run. They will continue only after
  * accel_ioctl_inibith_end().
  */
-extern void accel_ioctl_begin(void);
-extern void accel_ioctl_end(void);
-extern void accel_cpu_ioctl_begin(CPUState *cpu);
-extern void accel_cpu_ioctl_end(CPUState *cpu);
+void accel_ioctl_begin(void);
+void accel_ioctl_end(void);
+void accel_cpu_ioctl_begin(CPUState *cpu);
+void accel_cpu_ioctl_end(CPUState *cpu);
 
 /*
  * accel_ioctl_inhibit_begin: start critical section
@@ -42,7 +42,7 @@ extern void accel_cpu_ioctl_end(CPUState *cpu);
  * This allows the caller to access shared data or perform operations without
  * worrying of concurrent vcpus accesses.
  */
-extern void accel_ioctl_inhibit_begin(void);
+void accel_ioctl_inhibit_begin(void);
 
 /*
  * accel_ioctl_inhibit_end: end critical section started by
@@ -50,6 +50,6 @@ extern void accel_ioctl_inhibit_begin(void);
  *
  * This function allows blocked accel_{cpu_}ioctl_begin() to continue.
  */
-extern void accel_ioctl_inhibit_end(void);
+void accel_ioctl_inhibit_end(void);
 
 #endif /* ACCEL_BLOCKER_H */
diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index 91aa0d7ec0..83104e332f 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -66,8 +66,8 @@ extern "C" {
  * setjmp to _setjmpex instead. However, they are still defined in libmingwex.a,
  * which gets linked automatically.
  */
-extern int __mingw_setjmp(jmp_buf);
-extern void __attribute__((noreturn)) __mingw_longjmp(jmp_buf, int);
+int __mingw_setjmp(jmp_buf);
+void __attribute__((noreturn)) __mingw_longjmp(jmp_buf, int);
 #define setjmp(env) __mingw_setjmp(env)
 #define longjmp(env, val) __mingw_longjmp(env, val)
 #elif defined(_WIN64)
diff --git a/include/user/safe-syscall.h b/include/user/safe-syscall.h
index 195cedac04..27b71cdbd8 100644
--- a/include/user/safe-syscall.h
+++ b/include/user/safe-syscall.h
@@ -126,8 +126,8 @@
  */
 
 /* The core part of this function is implemented in assembly */
-extern long safe_syscall_base(int *pending, long number, ...);
-extern long safe_syscall_set_errno_tail(int value);
+long safe_syscall_base(int *pending, long number, ...);
+long safe_syscall_set_errno_tail(int value);
 
 /* These are defined by the safe-syscall.inc.S file */
 extern char safe_syscall_start[];
diff --git a/target/i386/sev.h b/target/i386/sev.h
index 7b1528248a..e7499c95b1 100644
--- a/target/i386/sev.h
+++ b/target/i386/sev.h
@@ -46,9 +46,9 @@ bool sev_es_enabled(void);
 #define sev_es_enabled() 0
 #endif
 
-extern uint32_t sev_get_cbit_position(void);
-extern uint32_t sev_get_reduced_phys_bits(void);
-extern bool sev_add_kernel_loader_hashes(SevKernelLoaderContext *ctx, Error **errp);
+uint32_t sev_get_cbit_position(void);
+uint32_t sev_get_reduced_phys_bits(void);
+bool sev_add_kernel_loader_hashes(SevKernelLoaderContext *ctx, Error **errp);
 
 int sev_encrypt_flash(uint8_t *ptr, uint64_t len, Error **errp);
 int sev_inject_launch_secret(const char *hdr, const char *secret,
diff --git a/target/mips/cpu.h b/target/mips/cpu.h
index f81bd06f5e..6d6af1f2a8 100644
--- a/target/mips/cpu.h
+++ b/target/mips/cpu.h
@@ -1224,8 +1224,8 @@ void mips_cpu_list(void);
 
 #define cpu_list mips_cpu_list
 
-extern void cpu_wrdsp(uint32_t rs, uint32_t mask_num, CPUMIPSState *env);
-extern uint32_t cpu_rddsp(uint32_t mask_num, CPUMIPSState *env);
+void cpu_wrdsp(uint32_t rs, uint32_t mask_num, CPUMIPSState *env);
+uint32_t cpu_rddsp(uint32_t mask_num, CPUMIPSState *env);
 
 /*
  * MMU modes definitions. We carefully match the indices with our
diff --git a/tcg/tcg-internal.h b/tcg/tcg-internal.h
index fbe62b31b8..40a69e6e6e 100644
--- a/tcg/tcg-internal.h
+++ b/tcg/tcg-internal.h
@@ -64,8 +64,8 @@ static inline TCGv_i32 TCGV_HIGH(TCGv_i64 t)
     return temp_tcgv_i32(tcgv_i64_temp(t) + !HOST_BIG_ENDIAN);
 }
 #else
-extern TCGv_i32 TCGV_LOW(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
-extern TCGv_i32 TCGV_HIGH(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
+TCGv_i32 TCGV_LOW(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
+TCGv_i32 TCGV_HIGH(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
 #endif
 
 static inline TCGv_i64 TCGV128_LOW(TCGv_i128 t)
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 7c3a641f7e..92ad74e956 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -20,48 +20,48 @@
  */
 
 #ifdef TARGET_ENDIANNESS
-extern uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 #else
-extern uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
+uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stb, SUFFIX)(ARG1_DECL,
+void glue(address_space_stb, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 #endif
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:00:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593875.926993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhHC-0003he-Lz; Thu, 31 Aug 2023 12:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593875.926993; Thu, 31 Aug 2023 12:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhHC-0003hX-JO; Thu, 31 Aug 2023 12:59:58 +0000
Received: by outflank-mailman (input) for mailman id 593875;
 Thu, 31 Aug 2023 12:59: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=nRSd=EQ=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1qbhHC-0003hR-0u
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 12:59:58 +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 48ca3867-47fe-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 14:59:56 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-31adc5c899fso642743f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 05:59:56 -0700 (PDT)
Received: from m1x-phil.lan ([176.187.199.245])
 by smtp.gmail.com with ESMTPSA id
 d4-20020adfe884000000b0030ae53550f5sm2144827wrm.51.2023.08.31.05.59.54
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 31 Aug 2023 05:59:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48ca3867-47fe-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693486796; x=1694091596; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jz+mAPNcv06ru/xM4IbBW81pQuhSFU668av4pwZWy+k=;
        b=blGhXQZHgx71cZa/eXIqaqj9XDCzNa18ND9iuOzi+IJIN/XA9NKRaWZgNAowF1Dl4H
         DCUBxwRBppgdfxlWZrACiGmNMCHqmkBQ4vhklZ4e9NlEDGDUzdtGYtDMxQExRV/P+2Z/
         q8RBJ4RD6lGxP2KVQv6z/iMTnoZ1fKRdhtM96pm7Q07W8uOi6y4SwlY2+iDsCGUjHn7Y
         DP1qGR6rOP/9xxBNmsgWeceledWps6ms+2slNJWuP8p14RbIWDT3k/1meK/C1/p29E73
         wx3TQJMIESJIwZmw8CyUvk6Gio1HbZdW++GnE3Rfu8XLWsrgKS4FpkDlq0pyMzyhxyRP
         lYjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693486796; x=1694091596;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jz+mAPNcv06ru/xM4IbBW81pQuhSFU668av4pwZWy+k=;
        b=F6RSIHOj5NJiyd156uvY75imoNp5cbi5Fgmslhai2oivljt8Bpe0GvNUUC5o6fT6e8
         bH871z/CrsCovROiJgOpqaajtq4bP/LBfyNWG2txbbYmEw09pfvirmWzraHxpJ8KqlHl
         2r6D+GJUBqSSRgMrYz4imsD4R+tUVGA5WNc444vcTOvQkSp0ZYonstjd6+4pKVOPd3WR
         tFZY0nMzcIatRtxv3VLsr9QTt3kDd9VI5U4RUPBVxt76bcjjbDtMbWcYZPc7T2ahCdJn
         QCZBkxUwJgII/iWxhXPaaZzGRRWTyX4euXSZWT1oSCC6Qzvh7rbHU4X+zXcPKoEQ6070
         JjuA==
X-Gm-Message-State: AOJu0YyeWvPlDXoosdOQn9tN1ml6UHJiv+kAKHD0HjfI3OXbEAM1Hl2o
	HEW8dBeX6GVRuMBywdSRbPtNzA==
X-Google-Smtp-Source: AGHT+IF5XiNzLTBBERzoj1rNTvtaHwuz+kfF0RRANgCO8wwx3ufA4kuJam/JdgfIRvMRRM9PunGxXg==
X-Received: by 2002:a5d:54c8:0:b0:317:5e5e:60e0 with SMTP id x8-20020a5d54c8000000b003175e5e60e0mr4055046wrv.28.1693486795961;
        Thu, 31 Aug 2023 05:59:55 -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-s390x@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-block@nongnu.org,
	Michael Tokarev <mjt@tls.msk.ru>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PULL 31/41] hw/usb: spelling fixes
Date: Thu, 31 Aug 2023 14:56:33 +0200
Message-ID: <20230831125646.67855-32-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20230831125646.67855-1-philmd@linaro.org>
References: <20230831125646.67855-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Michael Tokarev <mjt@tls.msk.ru>

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Message-ID: <20230823065335.1919380-14-mjt@tls.msk.ru>
Signed-off-by: Philippe Mathieu-DaudĂ© <philmd@linaro.org>
---
 hw/usb/quirks.h             | 2 +-
 hw/usb/ccid-card-emulated.c | 2 +-
 hw/usb/hcd-ehci.c           | 6 +++---
 hw/usb/hcd-ohci.c           | 2 +-
 hw/usb/redirect.c           | 2 +-
 hw/usb/xen-usb.c            | 2 +-
 hw/usb/trace-events         | 2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/hw/usb/quirks.h b/hw/usb/quirks.h
index c3e595f40b..94b2c95341 100644
--- a/hw/usb/quirks.h
+++ b/hw/usb/quirks.h
@@ -67,7 +67,7 @@ static const struct usb_device_id usbredir_raw_serial_ids[] = {
     { USB_DEVICE(0x10C4, 0x800A) }, /* SPORTident BSM7-D-USB main station */
     { USB_DEVICE(0x10C4, 0x803B) }, /* Pololu USB-serial converter */
     { USB_DEVICE(0x10C4, 0x8044) }, /* Cygnal Debug Adapter */
-    { USB_DEVICE(0x10C4, 0x804E) }, /* Software Bisque Paramount ME build-in converter */
+    { USB_DEVICE(0x10C4, 0x804E) }, /* Software Bisque Paramount ME built-in converter */
     { USB_DEVICE(0x10C4, 0x8053) }, /* Enfora EDG1228 */
     { USB_DEVICE(0x10C4, 0x8054) }, /* Enfora GSM2228 */
     { USB_DEVICE(0x10C4, 0x8066) }, /* Argussoft In-System Programmer */
diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
index c328660075..3ee9c73b87 100644
--- a/hw/usb/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
@@ -518,7 +518,7 @@ static void emulated_realize(CCIDCardState *base, Error **errp)
         goto out2;
     }
 
-    /* TODO: a passthru backened that works on local machine. third card type?*/
+    /* TODO: a passthru backend that works on local machine. third card type?*/
     if (card->backend == BACKEND_CERTIFICATES) {
         if (card->cert1 != NULL && card->cert2 != NULL && card->cert3 != NULL) {
             ret = emulated_initialize_vcard_from_certificates(card);
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index c930c60921..19b4534c20 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1464,7 +1464,7 @@ static int ehci_process_itd(EHCIState *ehci,
                     usb_handle_packet(dev, &ehci->ipacket);
                     usb_packet_unmap(&ehci->ipacket, &ehci->isgl);
                 } else {
-                    DPRINTF("ISOCH: attempt to addess non-iso endpoint\n");
+                    DPRINTF("ISOCH: attempt to address non-iso endpoint\n");
                     ehci->ipacket.status = USB_RET_NAK;
                     ehci->ipacket.actual_length = 0;
                 }
@@ -1513,7 +1513,7 @@ static int ehci_process_itd(EHCIState *ehci,
 
 
 /*  This state is the entry point for asynchronous schedule
- *  processing.  Entry here consitutes a EHCI start event state (4.8.5)
+ *  processing.  Entry here constitutes a EHCI start event state (4.8.5)
  */
 static int ehci_state_waitlisthead(EHCIState *ehci,  int async)
 {
@@ -2458,7 +2458,7 @@ static void usb_ehci_vm_state_change(void *opaque, bool running, RunState state)
     /*
      * The schedule rebuilt from guest memory could cause the migration dest
      * to miss a QH unlink, and fail to cancel packets, since the unlinked QH
-     * will never have existed on the destination. Therefor we must flush the
+     * will never have existed on the destination. Therefore we must flush the
      * async schedule on savevm to catch any not yet noticed unlinks.
      */
     if (state == RUN_STATE_SAVE_VM) {
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index cc5cde6983..7ff1b65ced 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -1355,7 +1355,7 @@ static uint32_t ohci_get_frame_remaining(OHCIState *ohci)
     if ((ohci->ctl & OHCI_CTL_HCFS) != OHCI_USB_OPERATIONAL) {
         return ohci->frt << 31;
     }
-    /* Being in USB operational state guarnatees sof_time was set already. */
+    /* Being in USB operational state guarantees sof_time was set already. */
     tks = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - ohci->sof_time;
     if (tks < 0) {
         tks = 0;
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 4bbf8afb33..c9893df867 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -471,7 +471,7 @@ static int bufp_alloc(USBRedirDevice *dev, uint8_t *data, uint16_t len,
         DPRINTF("bufpq overflow, dropping packets ep %02X\n", ep);
         dev->endpoint[EP2I(ep)].bufpq_dropping_packets = 1;
     }
-    /* Since we're interupting the stream anyways, drop enough packets to get
+    /* Since we're interrupting the stream anyways, drop enough packets to get
        back to our target buffer size */
     if (dev->endpoint[EP2I(ep)].bufpq_dropping_packets) {
         if (dev->endpoint[EP2I(ep)].bufpq_size >
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 38ee660a30..09ec326aea 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -451,7 +451,7 @@ static int usbback_check_and_submit(struct usbback_req *usbback_req)
     wValue = le16_to_cpu(ctrl->wValue);
 
     /*
-     * When the device is first connected or resetted, USB device has no
+     * When the device is first connected or reset, USB device has no
      * address. In this initial state, following requests are sent to device
      * address (#0),
      *
diff --git a/hw/usb/trace-events b/hw/usb/trace-events
index 6bb9655c8d..ed7dc210d3 100644
--- a/hw/usb/trace-events
+++ b/hw/usb/trace-events
@@ -248,7 +248,7 @@ usb_set_device_feature(int addr, int feature, int ret) "dev %d, feature %d, ret
 
 # dev-hub.c
 usb_hub_reset(int addr) "dev %d"
-usb_hub_control(int addr, int request, int value, int index, int length) "dev %d, req 0x%x, value %d, index %d, langth %d"
+usb_hub_control(int addr, int request, int value, int index, int length) "dev %d, req 0x%x, value %d, index %d, length %d"
 usb_hub_get_port_status(int addr, int nr, int status, int changed) "dev %d, port %d, status 0x%x, changed 0x%x"
 usb_hub_set_port_feature(int addr, int nr, const char *f) "dev %d, port %d, feature %s"
 usb_hub_clear_port_feature(int addr, int nr, const char *f) "dev %d, port %d, feature %s"
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:05:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593883.927004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhMt-0005V7-B6; Thu, 31 Aug 2023 13:05:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593883.927004; Thu, 31 Aug 2023 13:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhMt-0005V0-6d; Thu, 31 Aug 2023 13:05:51 +0000
Received: by outflank-mailman (input) for mailman id 593883;
 Thu, 31 Aug 2023 13:05: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=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbhMs-0005Uu-9d
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:05:50 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2084.outbound.protection.outlook.com [40.107.13.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b08fc47-47ff-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:05:49 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7951.eurprd04.prod.outlook.com (2603:10a6:102:ca::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Thu, 31 Aug
 2023 13:05:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 13:05: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: 1b08fc47-47ff-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tt3iZftyXHRdn1/YnV1wRrFZ4CcNVyKpyJGURjftoSkeh+DTT+8QAwwMkhbROSYsTpkXfOWb4oLLsw2zlP3dcbI1R1zTvk9kYRyG+JddypRBmBXqZ8eZu/966xRq3f4s8g7LoB5RVo+DLSWqyjeAFE+9msVgJ6dDaTASSeJerjGh9rXPpgZV5GO7E+O+aHxwVuN+wmH+GQSUvsp0h1pzqYFMcixD898hWojOYhtMi+jQV0vxmFp3Whirwl0LPRu1LYIyG0owicZRkPx1H5gTpE5yPt4mTF1L3A84h0xETUjiMZop1/ZaX/iOkKQCdg4rOm7m6EBDs28AtDESPZrghw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6RKLictqT8RQ7ZB7/x7DlpnQjCWm1z44DFO94tl4Jmw=;
 b=l99BZCeBQM8uZ++e3Sj97SSU9CBHQAJiiqicLRQNZMvNI5DKSSIhg0T/EK4msx9JF8jEWWuMfMvWgz6VBNIsWjnqyRymEhh6TwucHWVhW+baJoSjMoBKxVLMXk/ZaeD985/ePm5oSf8YCRw9+4fkKwz+O23nA8ijKfAUyCA5weaPLKa+3UXqSS4ejbXZLysZz4bhly0mpXCR3re1Z+uYIAvT7YbxYMyxAl5BBoMuw3Vj406Iw8jjnFzuCbp206UKEnV9tyvUCLBVGawvgMKjRxQu4wck7cSSduHbWoixV7iot/oQfu4BjMOBQvAEAwJwQjI7rubj7OIcCVvrWlUQIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6RKLictqT8RQ7ZB7/x7DlpnQjCWm1z44DFO94tl4Jmw=;
 b=VxypDua//fA4XRpPwmyaiXuNjIh0iKY4IBjAavBOdZy3YP+cWMi0qk+WXMU0M2+rfKnzi2MvsJPErjzjGzDn5xFEDYyF/OSSt7svowNU7SS8RGR+VQ7ovZ1TnWcgsjoiwZdqWcBDBKJWaKTSr/8udNvg9D+pVdgq5NyfLp1oVLcJxEiVTgoutTenJ4XhbpJAKne8S/mmB/mlytrjIRdD+0SGHVgKToLf8rYt8zKMdhEncRUU+BaQGFIb9hC0RYmr1XuxyXt1AI0YLaCFTBk3bWhGCbRgZSFgSOBlCn6mJmtw4FoF4P4lAXnQqrGuLgS71PSIaP5+kW7XYyJfUJ23/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6ea28c90-68aa-4a14-e352-2bcb6e42a76a@suse.com>
Date: Thu, 31 Aug 2023 15:05:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
 <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
 <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
 <00866371-7adb-9cfa-267d-ee78cf14e68c@suse.com>
 <7d5244fe-d89c-8878-b16a-a3345426de1e@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7d5244fe-d89c-8878-b16a-a3345426de1e@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7951:EE_
X-MS-Office365-Filtering-Correlation-Id: eaddda4f-08c5-4e22-0219-08dbaa22ed36
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	80XOQeOvg9LRltAxDMMNjBVLw1RGVtl0TPXcoDXAw4TOFPlzedRJHzi0zuYp7RAHp1PjbMJbGTWojJErAZiq3MMchxqLf51JgU2w76nFe6ku7NOTsfxur3lV+wWVdv/wJDQTZpbPcUAxy/tJa0JbtLhj8L9m2tadDe/C7Po80bqfmj09wicSaryfa5FXWyKklEWdb1cQU4oQmEK1e0hYPfSqfWYqTUwBpr25iv2jFzIkWfw6ZCThqXjvbIl8PPMbjOZo1S0ev5dOuxhHspuEknst6x5F94YS63yKIVyQzpSk9np+utB2P6sU40AzXYzWFGoIWNex+ZbihQvTMW8C/+OJ+TrQQz1aaCY2XSPNYaQ1adzeCsq5F6XZQRZ2uZTX/0nn6JEwXp0Rx7nh+nBIVQyqrjM7v/iT6dtukHVMFeZ5ZcEhTM6oOohFvdcp7jxv2GORrcKf41x7ueqEH3rOFNcN5L/5K2VwTS9DhqngN9SVA/3WSvKtfwB5cE+we8LYYAwCJoN/gB41rjO775puANRboXewm/b96a1tgIAClM59AU1Ujj4aHY5na0TrDG8eLO7NdawvLsLBvnhvWNL/abo7QcNh2vydMVGplYtFQmLdJ7o3x9XCizgeNP5hlpVfAbe2CnQ8VVP7Ju5Ek67mMw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(136003)(39860400002)(376002)(186009)(451199024)(1800799009)(36756003)(31686004)(83380400001)(4326008)(53546011)(41300700001)(86362001)(5660300002)(8936002)(31696002)(8676002)(6512007)(6506007)(26005)(6486002)(6666004)(2616005)(478600001)(38100700002)(4744005)(2906002)(66946007)(66556008)(66476007)(6916009)(54906003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3ZKb29HbTVCMHdzKzlQcjJ3anRIWmVGNVJQWHJJb0ZlSWZDeFlFOVhjbFZX?=
 =?utf-8?B?MHJSeTYyWnk5c08rMDRJTE90NmZ1Z1hWNzRod1dYbE1nYUxTbGNyTjBQZm5w?=
 =?utf-8?B?bGYrY2VDWnVyZ0RFZWVhYXkzbWRGeWZqYXRheGNlT0NFMTMrREZJVVBYRG5B?=
 =?utf-8?B?aE9TSU1iY25qMEdHV2xFRnVidHZIWWZJQnJWRlIzcHBRUjk1U0oySFpOcGdm?=
 =?utf-8?B?Vjk1V0w1L0hDd25TWkc3L2hIYUxDaG1XZXBVNmhxZHhiT0QxVU5NSkNyV0lM?=
 =?utf-8?B?RjJ6UkRDYUYzRE9jZHFMdDJVRzBCWjJOQ0g3T2hkbFpBVWtxRkZDTC9tdnNH?=
 =?utf-8?B?aHd4dEMvTXRMUFdYSXBjV0JvR1NkWDI0b3dKQ25hTTFTaFdMeWVVMUI1ZVRQ?=
 =?utf-8?B?b0FOVEhaR3pxMHcvcHVKK1pxcVdmZHpuTjd3N0l4SEQwKzFlSy9BVnBmR1Rk?=
 =?utf-8?B?SnNpZk05TDdESDZaNXhZSC9oalgvenlXZUViWEFzZUdHQm9wRThjZktsQXIr?=
 =?utf-8?B?Y2JqRFBqdWY1SW5nOTZaTTJaQ1dzTXdXWjFyamtkS2U3NGlIcVdWVHRXYnoz?=
 =?utf-8?B?SDJJR296bXM4anJpYVRLdWpIZWN5QnlPNVF6SjQzNmpxU0JEUHFMR2xHZnJm?=
 =?utf-8?B?K25iRU5VQ3BBd0NBTWhWaUdNNzlKNjVscS84Z2JoVHlYdUFRdm1SUElncG5K?=
 =?utf-8?B?eEpOV05SOFozVWF5RHArS3E2TXNKVnpRTVZpV1J4TStmWG83cUlYWHUyU1lK?=
 =?utf-8?B?NHVlZnZlUEdiK2N6OFZSamk2SFFHZi9tQm1ES2JUMCtUQ3czRjhNa1NJdXIx?=
 =?utf-8?B?MG5LSUdMRjZselhyR1BYY2FJUE9RdjNSRWM0bEJjYUkyQ1FTNGtuYVFpcFJh?=
 =?utf-8?B?UnBCY1htSWR0THo0cTZyZ09Nb2F6azllOEl4UzExdXo4T2I5TGx1L1h5QkFX?=
 =?utf-8?B?ZGVnYmRFZnIrL3RNMVlYZGZ6WGEyT0xoZU9VQXU3VmFNQUM4cGZ2dmJQQzJG?=
 =?utf-8?B?d2NIV25Pdk0vcEZSRlltOGR6Q2xHUWN1WG9rQk9TRHdFSnhNdEtSTXdjMVRR?=
 =?utf-8?B?Qk8wMUFzbEd1em5sNTI4T1pLbnZ0VW54M1JQRGdCWUhvRHpJWGVKUXBuZCts?=
 =?utf-8?B?Nmc0LysydmNTWXE1bDBNTlpRcUt3UDZJcjk1MXVub21ickQxMjZrbnVIRWRM?=
 =?utf-8?B?VjB3ZWQzN1hYSW1KMHIyVmExZXN3YkljbjFDeFBXem1udGVJWEJWdHZ5djg1?=
 =?utf-8?B?Tm5QR1RrRm5XeVFqdHdtTlpvRzZ0NE5aNU9KaW5UV0RhWlJrcFV5K3ZYTG5u?=
 =?utf-8?B?QjZHeWpiRHNGQncyK2pTczduTU12L2Y2VytGUGxtdk8zR3VPZkNUZGJjcmc3?=
 =?utf-8?B?Z0NZWkplcnR6cXRSY3BORDc0MGpXbUpLUnlRRlRaOC9BbHEvUlN0UFMxUEN3?=
 =?utf-8?B?dUxGc1Z5cEhMWUp3ZXdTTEZhVHNLY2MzWThQOHRHR3hsaVJGWktGRHNUM1hO?=
 =?utf-8?B?SVRqdFkwaHgzM1RsSWs5Q2toRTE0RVNDZzdWUnBjb2J0R1Q3STY5WXNmelQy?=
 =?utf-8?B?b2FzdzdsMjduOWgySG1SQmM1Z0VXaGJzcEpFSmg0cDRXUi9XVWtDNFdPcmZ0?=
 =?utf-8?B?c1RtbFpJdHROTzJLQ3pjMVJUZlZKMHdLNExoZUdKME10bERPL2crL2NWcm90?=
 =?utf-8?B?RlBIUEhpQ2JnVDRGR1lLZjNnSlMwRHF1b05vVWNMU1VsZGc4YnBIbUxFNzFO?=
 =?utf-8?B?amxscm43VzYrWnpYYURndC9SNGlDSEZQMnBjakNQNHZ2S0g1SjkwWEZDR1Vp?=
 =?utf-8?B?YUZDMFd4NXNxaldXTm91OVBUYVdKMXV4c3JPbmdQVmZJMS92ejRkL3R5S3RL?=
 =?utf-8?B?K1QxUFh2QmdCUmRUS2VGRUtjZFFzbk1zQTlVa2w3eHhqTk5jVnlpN0ZyZ3JY?=
 =?utf-8?B?TlFmTGlJdHE5dVdHMmdKM3M2NDVncmxiZlNhNVBwYWk4K1BUK1l0OHhaRkpM?=
 =?utf-8?B?YzRmS1ZLOFlhbE9CMTJ3TW9SV3VCcENteWZSTjhOcEwzdWc4UWFtczhCcko4?=
 =?utf-8?B?RzZpOThyR2pmODgvbFFVQi9nNmZ2aDVnbVB6QWU2aER4RHN5ZzNYMlJNR2Jv?=
 =?utf-8?Q?INh8OJppA3Vfwwq94QV7hyKuU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eaddda4f-08c5-4e22-0219-08dbaa22ed36
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 13:05:18.9946
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1KSalR5+emZxNugamUB+DR1D4xoBxVu+0VMvaUJ3MB6kb0ET7Geq6IEC+AnQPMCHv+Eb1FYMVKOpTuiy4trjfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7951

On 31.08.2023 14:54, Simone Ballarin wrote:
> On 31/08/23 13:10, Jan Beulich wrote:
>> On 31.08.2023 12:08, Simone Ballarin wrote:
>>> The danger of multi-inclusion also exists for .c files, why do you want
>>> to avoid guards for them?
>>
>> Counter question: Why only add guards to some of them? (My personal
>> answer is "Because it's extra clutter.")
> 
> It's not "some of them", it's exactly the ones used in an #include 
> directive, so I'm not getting your objection.

My point is that by adding guards only for files we presently use in some
#include directive, we set us up for introducing new violations as soon
as another .c file becomes the subject of an #include. The more that it
is unusual to add guards in .c files, i.e. it is to be expected that
people wouldn't think about this extra Misra requirement.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:21:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593889.927014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhbn-0008WT-JE; Thu, 31 Aug 2023 13:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593889.927014; Thu, 31 Aug 2023 13: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 1qbhbn-0008WM-GV; Thu, 31 Aug 2023 13:21:15 +0000
Received: by outflank-mailman (input) for mailman id 593889;
 Thu, 31 Aug 2023 13:21: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=zVM6=EQ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbhbm-0008WF-Ip
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:21:14 +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 41f85ac1-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:21:13 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5007616b756so1553357e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 06:21:13 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f3-20020a19ae03000000b004fb757bd429sm260937lfc.96.2023.08.31.06.21.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 06:21: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: 41f85ac1-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693488073; x=1694092873; 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=3XgpYJHcGnzlUEBWjeK0vR3ELIAbK/jeC7TCweU58f8=;
        b=Y6/QSz+kGdnttBWIFnjQ2vqT7GNajRJaVP9AO6MfYfhACV46vWZ8rrnGhp7XW0pVZX
         Dqvz5LafzjsUQ4nufIsN0fA+wHs7PaPZ2YI+YWN28a3D8UiUMX71ZRRoFr15YqnWsqaD
         2dfwfJvYwK4fa6Oq5Cvew9tH6IV9Ussj6JPrB7cYzFQQoBbWLB6cq/i49EH1zFGbKbLs
         hXq/Sy0ae7Ps/Yp+P/yahziHch0WJAxTb2VsVS1a5OhiLPjuAce3aa0USwr+ltk6v3Aj
         uHNDF8awB+dxCfNkGfzvhHnxuAfiIIqQmPLrUasRXRdXRVqs4AkrEUEw3hK2U5TBCd8T
         AlGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693488073; x=1694092873;
        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=3XgpYJHcGnzlUEBWjeK0vR3ELIAbK/jeC7TCweU58f8=;
        b=eB4rodQQSEoZozLzSVBeqw0oIi7U2AcNlMDlOif2vuUlKdlv8pyJIN9ZsM5W2QNlpK
         YW91rBHL2PLvUAgQewBNGGedntrUKgoyD2IPwYbCeANvBnDtLmbmFi2g0CBhjpM6Yvmc
         BEZ0QUiR4EKgsEiTR7gdZTVjFWNGv/75g7nlNfiOM+em+IE53uS/fBcwJzvGELyQTtsy
         stkt7ie2nQvSgOAQs7cqkPiqf0P5ugmfkxGJIOrGE02j9vOQTyZqcZfswiaCBgLQFxUe
         RDCM27gplhRF/JVAL2ruzhgEdgxCQFLH6+VEdq2ciG6oxd0dWxmYmYTyVtBxAJsPF09g
         HQmA==
X-Gm-Message-State: AOJu0YwrWa0tqUkDuBNGqbW+cQG5IQpx2MAY+XSDa3g/gfYILs6zM8DY
	yyPswhUSTvtmM3nUsrDqckc=
X-Google-Smtp-Source: AGHT+IHduG7ofy+shCTxbQh0B5/rYWtxpRbiPIaGL61wu+10KNlT81LhXREXSqq2MIrSzfqDV0dwGg==
X-Received: by 2002:a05:6512:1194:b0:500:9d4a:89ff with SMTP id g20-20020a056512119400b005009d4a89ffmr4754313lfr.62.1693488072605;
        Thu, 31 Aug 2023 06:21:12 -0700 (PDT)
Message-ID: <0d7f826c11301bf0505c9939ff43ad88ff9d3433.camel@gmail.com>
Subject: Re: [PATCH v3 2/2] xen: move arm/include/asm/vm_event.h to
 asm-generic
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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Thu, 31 Aug 2023 16:21:11 +0300
In-Reply-To: <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
	 <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
	 <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-08-31 at 11:46 +0200, Jan Beulich wrote:
> On 30.08.2023 18:57, Oleksii Kurochko wrote:
> > asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> > asm-generic dir.
> >=20
> > Original asm/vm_event.h from ARM was updated:
> > =C2=A0* use SPDX-License-Identifier.
> > =C2=A0* update comment messages of stubs.
> > =C2=A0* update #ifdef.
> > =C2=A0* change public/domctl.h to public/vm_event.h.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> > Changes in V3:
> > =C2=A0- add Acked-by: Stefano Stabellini <sstabellini@kernel.org> for
> > "xen: move arm/include/asm/vm_event.h to asm-generic"
> > =C2=A0- update SPDX tag.
> > =C2=A0- move asm/vm_event.h to asm-generic.
> > ---
> > Changes in V2:
> > =C2=A0- change public/domctl.h to public/vm_event.h.
> > =C2=A0- update commit message of [PATCH v2 2/2] xen: move
> > arm/include/asm/vm_event.h to stubs
> > ---
> > =C2=A0xen/arch/arm/include/asm/vm_event.h=C2=A0=C2=A0=C2=A0 | 66 ------=
----------------
> > ----
> > =C2=A0xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
> > =C2=A02 files changed, 55 insertions(+), 66 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/arm/include/asm/vm_event.h
> > =C2=A0create mode 100644 xen/include/asm-generic/asm/vm_event.h
>=20
> While it's a comment on the first patch, it's really better making
> here:
> Did you look at Linux? They don't put an intermediate asm/ here.
> Instead
> see their scripts/Makefile.asm-generic. That way an arch still has
> control which generic headers it gets access to, without duplicating
> any
> of them.
Thanks. I'll look at the script.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:25:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593896.927023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgL-00012F-5a; Thu, 31 Aug 2023 13:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593896.927023; Thu, 31 Aug 2023 13:25: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 1qbhgL-000128-1v; Thu, 31 Aug 2023 13:25:57 +0000
Received: by outflank-mailman (input) for mailman id 593896;
 Thu, 31 Aug 2023 13:25:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgJ-00011r-RE
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:55 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e82f3920-4801-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 15:25:53 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-295-HdqLDN7ZOBSSRUpyNiZzoA-1; Thu, 31 Aug 2023 09:25:49 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 94F8F280D228;
 Thu, 31 Aug 2023 13:25:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id BC49B63F7A;
 Thu, 31 Aug 2023 13:25:47 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id B8D7621E692B; Thu, 31 Aug 2023 15:25: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: e82f3920-4801-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488352;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=izx4/tWmYybNankH2Ws9lrXMsYKcXA5u48G6FxidvA8=;
	b=W6o95x7O1m3Gsk9QM/P038kv7SaPp6sqdi+dLVhub9Kr9b0mf3WTBrTKwyLroJHOLGtBS/
	Bm7rNa140gPQ65lELUUhaaolMzMpJv/aYK8Jqi+gtExU4esg7B2dMbJKfyyS/r13MW8LeF
	4MgJmp3BEDe2plUdJZivbPi3nvls3L4=
X-MC-Unique: HdqLDN7ZOBSSRUpyNiZzoA-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 2/7] migration: Clean up local variable shadowing
Date: Thu, 31 Aug 2023 15:25:41 +0200
Message-ID: <20230831132546.3525721-3-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Tracked down with -Wshadow=local.
Clean up: delete inner declarations when they are actually redundant,
else rename variables.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 migration/block.c   | 4 ++--
 migration/ram.c     | 8 +++-----
 migration/rdma.c    | 8 +++++---
 migration/vmstate.c | 2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/migration/block.c b/migration/block.c
index b9580a6c7e..33b3776198 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -438,8 +438,8 @@ static int init_blk_migration(QEMUFile *f)
     /* Can only insert new BDSes now because doing so while iterating block
      * devices may end up in a deadlock (iterating the new BDSes, too). */
     for (i = 0; i < num_bs; i++) {
-        BlkMigDevState *bmds = bmds_bs[i].bmds;
-        BlockDriverState *bs = bmds_bs[i].bs;
+        bmds = bmds_bs[i].bmds;
+        bs = bmds_bs[i].bs;
 
         if (bmds) {
             ret = blk_insert_bs(bmds->blk, bs, &local_err);
diff --git a/migration/ram.c b/migration/ram.c
index 9040d66e61..0c202f8109 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -3517,8 +3517,6 @@ int colo_init_ram_cache(void)
     * we use the same name 'ram_bitmap' as for migration.
     */
     if (ram_bytes_total()) {
-        RAMBlock *block;
-
         RAMBLOCK_FOREACH_NOT_IGNORED(block) {
             unsigned long pages = block->max_length >> TARGET_PAGE_BITS;
             block->bmap = bitmap_new(pages);
@@ -3998,12 +3996,12 @@ static int ram_load_precopy(QEMUFile *f)
                         }
                     }
                     if (migrate_ignore_shared()) {
-                        hwaddr addr = qemu_get_be64(f);
+                        hwaddr addr2 = qemu_get_be64(f);
                         if (migrate_ram_is_ignored(block) &&
-                            block->mr->addr != addr) {
+                            block->mr->addr != addr2) {
                             error_report("Mismatched GPAs for block %s "
                                          "%" PRId64 "!= %" PRId64,
-                                         id, (uint64_t)addr,
+                                         id, (uint64_t)addr2,
                                          (uint64_t)block->mr->addr);
                             ret = -EINVAL;
                         }
diff --git a/migration/rdma.c b/migration/rdma.c
index b2e869aced..c6400cf641 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -1902,9 +1902,11 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
      * by waiting for a READY message.
      */
     if (rdma->control_ready_expected) {
-        RDMAControlHeader resp;
-        ret = qemu_rdma_exchange_get_response(rdma,
-                                    &resp, RDMA_CONTROL_READY, RDMA_WRID_READY);
+        RDMAControlHeader resp_ignored;
+
+        ret = qemu_rdma_exchange_get_response(rdma, &resp_ignored,
+                                              RDMA_CONTROL_READY,
+                                              RDMA_WRID_READY);
         if (ret < 0) {
             return ret;
         }
diff --git a/migration/vmstate.c b/migration/vmstate.c
index 31842c3afb..438ea77cfa 100644
--- a/migration/vmstate.c
+++ b/migration/vmstate.c
@@ -97,7 +97,7 @@ int vmstate_load_state(QEMUFile *f, const VMStateDescription *vmsd,
         return -EINVAL;
     }
     if (vmsd->pre_load) {
-        int ret = vmsd->pre_load(opaque);
+        ret = vmsd->pre_load(opaque);
         if (ret) {
             return ret;
         }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:25:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593898.927036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgL-0001F0-Ra; Thu, 31 Aug 2023 13:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593898.927036; Thu, 31 Aug 2023 13:25: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 1qbhgL-0001DA-LH; Thu, 31 Aug 2023 13:25:57 +0000
Received: by outflank-mailman (input) for mailman id 593898;
 Thu, 31 Aug 2023 13: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=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgK-00011s-NH
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:56 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e942bb3b-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:25:54 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-523-ZOz2lGL7N_eF6b9Vwy-JnQ-1; Thu, 31 Aug 2023 09:25:50 -0400
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B8C49185A7AC;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 799C3401E63;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id C82A921E60D8; Thu, 31 Aug 2023 15:25: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: e942bb3b-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488353;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Hg2ISKwBEelJK+K3yl7ZcIq6TU8ASl2mfkZDanBbqQM=;
	b=LoWI5Sj6leXAQWfNLUyYYZUn+wzY/9HoA0WZ08YJiK/yNmwCBvzDAnJ8tGSiyFrqCXrH+U
	aDz89yzrktEpsLfR/mqywLxx2WHCKCX+lJFs/7hy5bF+vu7ZYPlIMDryz7cuo1h97I5O2Q
	HBJe9XI5PH7zU2bpG57c44E/I0egHRo=
X-MC-Unique: ZOz2lGL7N_eF6b9Vwy-JnQ-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 7/7] qobject atomics osdep: Make a few macros more hygienic
Date: Thu, 31 Aug 2023 15:25:46 +0200
Message-ID: <20230831132546.3525721-8-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10

Variables declared in macros can shadow other variables.  Much of the
time, this is harmless, e.g.:

    #define _FDT(exp)                                                  \
        do {                                                           \
            int ret = (exp);                                           \
            if (ret < 0) {                                             \
                error_report("error creating device tree: %s: %s",   \
                        #exp, fdt_strerror(ret));                      \
                exit(1);                                               \
            }                                                          \
        } while (0)

Harmless shadowing in h_client_architecture_support():

        target_ulong ret;

        [...]

        ret = do_client_architecture_support(cpu, spapr, vec, fdt_bufsize);
        if (ret == H_SUCCESS) {
            _FDT((fdt_pack(spapr->fdt_blob)));
            [...]
        }

        return ret;

However, we can get in trouble when the shadowed variable is used in a
macro argument:

    #define QOBJECT(obj) ({                                 \
        typeof(obj) o = (obj);                              \
        o ? container_of(&(o)->base, QObject, base) : NULL; \
     })

QOBJECT(o) expands into

    ({
--->    typeof(o) o = (o);
        o ? container_of(&(o)->base, QObject, base) : NULL;
    })

Unintended variable name capture at --->.  We'd be saved by
-Winit-self.  But I could certainly construct more elaborate death
traps that don't trigger it.

To reduce the risk of trapping ourselves, we use variable names in
macros that no sane person would use elsewhere.  Here's our actual
definition of QOBJECT():

    #define QOBJECT(obj) ({                                         \
        typeof(obj) _obj = (obj);                                   \
        _obj ? container_of(&(_obj)->base, QObject, base) : NULL;   \
    })

Works well enough until we nest macro calls.  For instance, with

    #define qobject_ref(obj) ({                     \
        typeof(obj) _obj = (obj);                   \
        qobject_ref_impl(QOBJECT(_obj));            \
        _obj;                                       \
    })

the expression qobject_ref(obj) expands into

    ({
        typeof(obj) _obj = (obj);
        qobject_ref_impl(
            ({
--->            typeof(_obj) _obj = (_obj);
                _obj ? container_of(&(_obj)->base, QObject, base) : NULL;
            }));
        _obj;
    })

Unintended variable name capture at --->.

The only reliable way to prevent unintended variable name capture is
-Wshadow.

One blocker for enabling it is shadowing hiding in function-like
macros like

     qdict_put(dict, "name", qobject_ref(...))

qdict_put() wraps its last argument in QOBJECT(), and the last
argument here contains another QOBJECT().

Use dark preprocessor sorcery to make the macros that give us this
problem use different variable names on every call.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/qapi/qmp/qobject.h |  8 +++++---
 include/qemu/atomic.h      | 11 ++++++-----
 include/qemu/osdep.h       | 34 +++++++++++++++++++---------------
 3 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/include/qapi/qmp/qobject.h b/include/qapi/qmp/qobject.h
index 9003b71fd3..7b50fc905d 100644
--- a/include/qapi/qmp/qobject.h
+++ b/include/qapi/qmp/qobject.h
@@ -45,10 +45,12 @@ struct QObject {
     struct QObjectBase_ base;
 };
 
-#define QOBJECT(obj) ({                                         \
-    typeof(obj) _obj = (obj);                                   \
-    _obj ? container_of(&(_obj)->base, QObject, base) : NULL;   \
+#define QOBJECT_INTERNAL(obj, l) ({                                     \
+    typeof(obj) PASTE(_obj, l) = (obj);                                 \
+    PASTE(_obj, l)                                                      \
+        ? container_of(&(PASTE(_obj, l))->base, QObject, base) : NULL;  \
 })
+#define QOBJECT(obj) QOBJECT_INTERNAL((obj), __COUNTER__)
 
 /* Required for qobject_to() */
 #define QTYPE_CAST_TO_QNull     QTYPE_QNULL
diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
index d95612f7a0..3f80ffac69 100644
--- a/include/qemu/atomic.h
+++ b/include/qemu/atomic.h
@@ -157,13 +157,14 @@
     smp_read_barrier_depends();
 #endif
 
-#define qatomic_rcu_read(ptr)                          \
-    ({                                                 \
+#define qatomic_rcu_read_internal(ptr, l)               \
+    ({                                                  \
     qemu_build_assert(sizeof(*ptr) <= ATOMIC_REG_SIZE); \
-    typeof_strip_qual(*ptr) _val;                      \
-    qatomic_rcu_read__nocheck(ptr, &_val);             \
-    _val;                                              \
+    typeof_strip_qual(*ptr) PASTE(_val, l);             \
+    qatomic_rcu_read__nocheck(ptr, &PASTE(_val, l));    \
+    PASTE(_val, l);                                     \
     })
+#define qatomic_rcu_read(ptr) qatomic_rcu_read_internal((ptr), __COUNTER__)
 
 #define qatomic_rcu_set(ptr, i) do {                   \
     qemu_build_assert(sizeof(*ptr) <= ATOMIC_REG_SIZE); \
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 21ef8f1699..9c191ebe99 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -371,18 +371,21 @@ void QEMU_ERROR("code path is reachable")
  * have to open-code it.  Sadly, Coverity is severely confused by the
  * constant variants, so we have to dumb things down there.
  */
+#define PASTE(a, b) a##b
+#define MIN_INTERNAL(a, b, l)                                           \
+    ({                                                                  \
+        typeof(1 ? (a) : (b)) PASTE(_a, l) = (a), PASTE(_b, l) = (b);   \
+        PASTE(_a, l) < PASTE(_b, l) ? PASTE(_a, l) : PASTE(_b, l);      \
+    })
 #undef MIN
-#define MIN(a, b)                                       \
-    ({                                                  \
-        typeof(1 ? (a) : (b)) _a = (a), _b = (b);       \
-        _a < _b ? _a : _b;                              \
+#define MIN(a, b) MIN_INTERNAL((a), (b), __COUNTER__)
+#define MAX_INTERNAL(a, b, l)                                           \
+    ({                                                                  \
+        typeof(1 ? (a) : (b)) PASTE(_a, l) = (a), PASTE(_b, l) = (b);   \
+        PASTE(_a, l) > PASTE(_b, l) ? PASTE(_a, l) : PASTE(_b, l);      \
     })
 #undef MAX
-#define MAX(a, b)                                       \
-    ({                                                  \
-        typeof(1 ? (a) : (b)) _a = (a), _b = (b);       \
-        _a > _b ? _a : _b;                              \
-    })
+#define MAX(a, b) MAX_INTERNAL((a), (b), __COUNTER__)
 
 #ifdef __COVERITY__
 # define MIN_CONST(a, b) ((a) < (b) ? (a) : (b))
@@ -404,13 +407,14 @@ void QEMU_ERROR("code path is reachable")
  * Minimum function that returns zero only if both values are zero.
  * Intended for use with unsigned values only.
  */
-#ifndef MIN_NON_ZERO
-#define MIN_NON_ZERO(a, b)                              \
-    ({                                                  \
-        typeof(1 ? (a) : (b)) _a = (a), _b = (b);       \
-        _a == 0 ? _b : (_b == 0 || _b > _a) ? _a : _b;  \
+#define MIN_NON_ZERO_INTERNAL(a, b, l)                                  \
+    ({                                                                  \
+        typeof(1 ? (a) : (b)) PASTE(_a, l) = (a), PASTE(_b, l) = (b);   \
+        PASTE(_a, l) == 0 ? PASTE(_b, l)                                \
+        : (PASTE(_b, l) == 0 || PASTE(_b, l) > PASTE(_a, l)) ? PASTE(_a, l) \
+        : PASTE(_b, l);                                                 \
     })
-#endif
+#define MIN_NON_ZERO(a, b) MIN_NON_ZERO_INTERNAL((a), (b), __COUNTER__)
 
 /*
  * Round number down to multiple. Safe when m is not a power of 2 (see
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:25:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593897.927031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgL-00015e-Gm; Thu, 31 Aug 2023 13:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593897.927031; Thu, 31 Aug 2023 13:25: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 1qbhgL-00014r-91; Thu, 31 Aug 2023 13:25:57 +0000
Received: by outflank-mailman (input) for mailman id 593897;
 Thu, 31 Aug 2023 13: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=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgK-00011s-22
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:56 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e93455de-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:25:55 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-295-Llrh_6NmMhmdbB-Mj6wUlA-1; Thu, 31 Aug 2023 09:25:49 -0400
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 925DD80CC51;
 Thu, 31 Aug 2023 13:25:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id C0A0640316A;
 Thu, 31 Aug 2023 13:25:47 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id BEFA621E6936; Thu, 31 Aug 2023 15:25: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: e93455de-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488353;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=/fqTkl561vUPRN4wCY4+4zlKemE2JuQ2aeOXAdkttl0=;
	b=PX+XZV5QSqsUAioazvBZ2vkio4UteDbVaMdMrd4ipqbe2c9PY1q13GTOhmNLK+05JkFgXm
	DYvqtj0PFEFoGyI8K4p4Nf0AnKevT4FiHYwpawHElwOPc7trWHWqetIjHBVOBw9dqwyjgN
	8I8qoV6eTp+KJ5SZy6dw7qLmDbxg7ec=
X-MC-Unique: Llrh_6NmMhmdbB-Mj6wUlA-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 4/7] block/dirty-bitmap: Clean up local variable shadowing
Date: Thu, 31 Aug 2023 15:25:43 +0200
Message-ID: <20230831132546.3525721-5-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Tracked down with -Wshadow=local.
Clean up: delete inner declarations when they are actually redundant,
else rename variables.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/monitor/bitmap-qmp-cmds.c | 2 +-
 block/qcow2-bitmap.c            | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/block/monitor/bitmap-qmp-cmds.c b/block/monitor/bitmap-qmp-cmds.c
index 55f778f5af..4d018423d8 100644
--- a/block/monitor/bitmap-qmp-cmds.c
+++ b/block/monitor/bitmap-qmp-cmds.c
@@ -276,7 +276,7 @@ BdrvDirtyBitmap *block_dirty_bitmap_merge(const char *node, const char *target,
 
     for (lst = bms; lst; lst = lst->next) {
         switch (lst->value->type) {
-            const char *name, *node;
+            const char *name;
         case QTYPE_QSTRING:
             name = lst->value->u.local;
             src = bdrv_find_dirty_bitmap(bs, name);
diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c
index 037fa2d435..ffd5cd3b23 100644
--- a/block/qcow2-bitmap.c
+++ b/block/qcow2-bitmap.c
@@ -1555,7 +1555,6 @@ bool qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs,
     FOR_EACH_DIRTY_BITMAP(bs, bitmap) {
         const char *name = bdrv_dirty_bitmap_name(bitmap);
         uint32_t granularity = bdrv_dirty_bitmap_granularity(bitmap);
-        Qcow2Bitmap *bm;
 
         if (!bdrv_dirty_bitmap_get_persistence(bitmap) ||
             bdrv_dirty_bitmap_inconsistent(bitmap)) {
@@ -1625,7 +1624,7 @@ bool qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs,
 
     /* allocate clusters and store bitmaps */
     QSIMPLEQ_FOREACH(bm, bm_list, entry) {
-        BdrvDirtyBitmap *bitmap = bm->dirty_bitmap;
+        bitmap = bm->dirty_bitmap;
 
         if (bitmap == NULL || bdrv_dirty_bitmap_readonly(bitmap)) {
             continue;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:25:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593899.927053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgN-0001k0-4q; Thu, 31 Aug 2023 13:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593899.927053; Thu, 31 Aug 2023 13:25:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgM-0001jN-UO; Thu, 31 Aug 2023 13:25:58 +0000
Received: by outflank-mailman (input) for mailman id 593899;
 Thu, 31 Aug 2023 13:25:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgL-00011s-NQ
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:57 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e95f4452-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:25:55 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-272-rzJRNDtEPsaeyhBiWaVnBg-1; Thu, 31 Aug 2023 09:25:50 -0400
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BB1023C17134;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 79F372026D3F;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id C537E21E64CF; Thu, 31 Aug 2023 15:25: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: e95f4452-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488354;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=h7uzBTuTWO11DD+dOgzT1HasQacubNXtfwGPA3YrMFc=;
	b=fj66brTHl0mROcEyZJl7uH5YIfDfXm+ik8YY2b+XvGVhPfYLkZ835L//ARkHQJwpHB1NFs
	aVM5ZP3g9rvKFOLEbNfBkU7XHoY/zwgfgeQZiusxMqb18szV+HeBiLtMjfVyGTgnmpHDgP
	WTHaBS27dca0AqXct/0Yo13CRChXxFI=
X-MC-Unique: rzJRNDtEPsaeyhBiWaVnBg-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 6/7] block: Clean up local variable shadowing
Date: Thu, 31 Aug 2023 15:25:45 +0200
Message-ID: <20230831132546.3525721-7-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Tracked down with -Wshadow=local.
Clean up: delete inner declarations when they are actually redundant,
else rename variables.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block.c              |  7 ++++---
 block/rbd.c          |  2 +-
 block/stream.c       |  1 -
 block/vvfat.c        | 34 +++++++++++++++++-----------------
 hw/block/xen-block.c |  6 +++---
 5 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/block.c b/block.c
index a307c151a8..7f0003d8ac 100644
--- a/block.c
+++ b/block.c
@@ -3001,7 +3001,8 @@ static BdrvChild *bdrv_attach_child_common(BlockDriverState *child_bs,
                                            BdrvChildRole child_role,
                                            uint64_t perm, uint64_t shared_perm,
                                            void *opaque,
-                                           Transaction *tran, Error **errp)
+                                           Transaction *transaction,
+                                           Error **errp)
 {
     BdrvChild *new_child;
     AioContext *parent_ctx, *new_child_ctx;
@@ -3088,7 +3089,7 @@ static BdrvChild *bdrv_attach_child_common(BlockDriverState *child_bs,
         .old_parent_ctx = parent_ctx,
         .old_child_ctx = child_ctx,
     };
-    tran_add(tran, &bdrv_attach_child_common_drv, s);
+    tran_add(transaction, &bdrv_attach_child_common_drv, s);
 
     if (new_child_ctx != child_ctx) {
         aio_context_release(new_child_ctx);
@@ -6073,12 +6074,12 @@ void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
     QLIST_FOREACH(drv, &bdrv_drivers, list) {
         if (drv->format_name) {
             bool found = false;
-            int i = count;
 
             if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, read_only)) {
                 continue;
             }
 
+            i = count;
             while (formats && i && !found) {
                 found = !strcmp(formats[--i], drv->format_name);
             }
diff --git a/block/rbd.c b/block/rbd.c
index 978671411e..472ca05cba 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -1290,7 +1290,7 @@ static int coroutine_fn qemu_rbd_start_co(BlockDriverState *bs,
          * operations that exceed the current size.
          */
         if (offset + bytes > s->image_size) {
-            int r = qemu_rbd_resize(bs, offset + bytes);
+            r = qemu_rbd_resize(bs, offset + bytes);
             if (r < 0) {
                 return r;
             }
diff --git a/block/stream.c b/block/stream.c
index e522bbdec5..007253880b 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -282,7 +282,6 @@ void stream_start(const char *job_id, BlockDriverState *bs,
     /* Make sure that the image is opened in read-write mode */
     bs_read_only = bdrv_is_read_only(bs);
     if (bs_read_only) {
-        int ret;
         /* Hold the chain during reopen */
         if (bdrv_freeze_backing_chain(bs, above_base, errp) < 0) {
             return;
diff --git a/block/vvfat.c b/block/vvfat.c
index 0ddc91fc09..d7425ee602 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -777,7 +777,6 @@ static int read_directory(BDRVVVFATState* s, int mapping_index)
     while((entry=readdir(dir))) {
         unsigned int length=strlen(dirname)+2+strlen(entry->d_name);
         char* buffer;
-        direntry_t* direntry;
         struct stat st;
         int is_dot=!strcmp(entry->d_name,".");
         int is_dotdot=!strcmp(entry->d_name,"..");
@@ -857,7 +856,7 @@ static int read_directory(BDRVVVFATState* s, int mapping_index)
 
     /* fill with zeroes up to the end of the cluster */
     while(s->directory.next%(0x10*s->sectors_per_cluster)) {
-        direntry_t* direntry=array_get_next(&(s->directory));
+        direntry = array_get_next(&(s->directory));
         memset(direntry,0,sizeof(direntry_t));
     }
 
@@ -1962,24 +1961,24 @@ get_cluster_count_for_direntry(BDRVVVFATState* s, direntry_t* direntry, const ch
                  * This is horribly inefficient, but that is okay, since
                  * it is rarely executed, if at all.
                  */
-                int64_t offset = cluster2sector(s, cluster_num);
+                int64_t offs = cluster2sector(s, cluster_num);
 
                 vvfat_close_current_file(s);
                 for (i = 0; i < s->sectors_per_cluster; i++) {
                     int res;
 
                     res = bdrv_is_allocated(s->qcow->bs,
-                                            (offset + i) * BDRV_SECTOR_SIZE,
+                                            (offs + i) * BDRV_SECTOR_SIZE,
                                             BDRV_SECTOR_SIZE, NULL);
                     if (res < 0) {
                         return -1;
                     }
                     if (!res) {
-                        res = vvfat_read(s->bs, offset, s->cluster_buffer, 1);
+                        res = vvfat_read(s->bs, offs, s->cluster_buffer, 1);
                         if (res) {
                             return -1;
                         }
-                        res = bdrv_co_pwrite(s->qcow, offset * BDRV_SECTOR_SIZE,
+                        res = bdrv_co_pwrite(s->qcow, offs * BDRV_SECTOR_SIZE,
                                              BDRV_SECTOR_SIZE, s->cluster_buffer,
                                              0);
                         if (res < 0) {
@@ -2467,8 +2466,9 @@ commit_direntries(BDRVVVFATState* s, int dir_index, int parent_mapping_index)
 
     for (c = first_cluster; !fat_eof(s, c); c = modified_fat_get(s, c)) {
         direntry_t *first_direntry;
-        void* direntry = array_get(&(s->directory), current_dir_index);
-        int ret = vvfat_read(s->bs, cluster2sector(s, c), direntry,
+
+        direntry = array_get(&(s->directory), current_dir_index);
+        ret = vvfat_read(s->bs, cluster2sector(s, c), (uint8_t *)direntry,
                 s->sectors_per_cluster);
         if (ret)
             return ret;
@@ -2690,12 +2690,12 @@ static int handle_renames_and_mkdirs(BDRVVVFATState* s)
                 direntry_t* direntry = array_get(&(s->directory),
                         mapping->info.dir.first_dir_index);
                 uint32_t c = mapping->begin;
-                int i = 0;
+                int j = 0;
 
                 /* recurse */
                 while (!fat_eof(s, c)) {
                     do {
-                        direntry_t* d = direntry + i;
+                        direntry_t* d = direntry + j;
 
                         if (is_file(d) || (is_directory(d) && !is_dot(d))) {
                             int l;
@@ -2716,8 +2716,8 @@ static int handle_renames_and_mkdirs(BDRVVVFATState* s)
 
                             schedule_rename(s, m->begin, new_path);
                         }
-                        i++;
-                    } while((i % (0x10 * s->sectors_per_cluster)) != 0);
+                        j++;
+                    } while((j % (0x10 * s->sectors_per_cluster)) != 0);
                     c = fat_get(s, c);
                 }
             }
@@ -2804,16 +2804,16 @@ static int coroutine_fn GRAPH_RDLOCK handle_commits(BDRVVVFATState* s)
             int begin = commit->param.new_file.first_cluster;
             mapping_t* mapping = find_mapping_for_cluster(s, begin);
             direntry_t* entry;
-            int i;
+            int j;
 
             /* find direntry */
-            for (i = 0; i < s->directory.next; i++) {
-                entry = array_get(&(s->directory), i);
+            for (j = 0; j < s->directory.next; j++) {
+                entry = array_get(&(s->directory), j);
                 if (is_file(entry) && begin_of_direntry(entry) == begin)
                     break;
             }
 
-            if (i >= s->directory.next) {
+            if (j >= s->directory.next) {
                 fail = -6;
                 continue;
             }
@@ -2833,7 +2833,7 @@ static int coroutine_fn GRAPH_RDLOCK handle_commits(BDRVVVFATState* s)
             mapping->mode = MODE_NORMAL;
             mapping->info.file.offset = 0;
 
-            if (commit_one_file(s, i, 0))
+            if (commit_one_file(s, j, 0))
                 fail = -7;
 
             break;
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 3906b9058b..a07cd7eb5d 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -369,7 +369,7 @@ static void xen_block_get_vdev(Object *obj, Visitor *v, const char *name,
     case XEN_BLOCK_VDEV_TYPE_XVD:
     case XEN_BLOCK_VDEV_TYPE_HD:
     case XEN_BLOCK_VDEV_TYPE_SD: {
-        char *name = disk_to_vbd_name(vdev->disk);
+        char *vbd_name = disk_to_vbd_name(vdev->disk);
 
         str = g_strdup_printf("%s%s%lu",
                               (vdev->type == XEN_BLOCK_VDEV_TYPE_XVD) ?
@@ -377,8 +377,8 @@ static void xen_block_get_vdev(Object *obj, Visitor *v, const char *name,
                               (vdev->type == XEN_BLOCK_VDEV_TYPE_HD) ?
                               "hd" :
                               "sd",
-                              name, vdev->partition);
-        g_free(name);
+                              vbd_name, vdev->partition);
+        g_free(vbd_name);
         break;
     }
     default:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:26:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593901.927064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgO-00023z-F8; Thu, 31 Aug 2023 13:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593901.927064; Thu, 31 Aug 2023 13: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 1qbhgO-00023o-Bo; Thu, 31 Aug 2023 13:26:00 +0000
Received: by outflank-mailman (input) for mailman id 593901;
 Thu, 31 Aug 2023 13:25: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=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgM-00011r-P4
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:58 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea6a390e-4801-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 15:25:56 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-166-AMkiEJVzP9q12H4PY919rg-1; Thu, 31 Aug 2023 09:25:49 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B086D80CC5E;
 Thu, 31 Aug 2023 13:25:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id BC58240C2072;
 Thu, 31 Aug 2023 13:25:47 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id BBE4421E6930; Thu, 31 Aug 2023 15:25: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: ea6a390e-4801-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488355;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=J6v14ZSStXkdDjMaevSWEfLeuGs8oIU/1ND+Elarnrg=;
	b=dsTldv1lQKpc5w9dMH5RQoqhpPNG0XPonsXeQqvF2S6K2K7sIGW6N/fNb0sJfJ4u5DBCnV
	oBH322YsuKCii2SK5WcCAD0UX0pTiXXrQMcCaPCgmcgWzyhio2XgqQG/6o6RLQlO0GC/u+
	YHMIyuZ0CjO0VvkjZylV7N28b7I/bbk=
X-MC-Unique: AMkiEJVzP9q12H4PY919rg-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 3/7] ui: Clean up local variable shadowing
Date: Thu, 31 Aug 2023 15:25:42 +0200
Message-ID: <20230831132546.3525721-4-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Tracked down with -Wshadow=local.
Clean up: delete inner declarations when they are actually redundant,
else rename variables.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 ui/gtk.c              | 14 +++++++-------
 ui/spice-display.c    |  9 +++++----
 ui/vnc-palette.c      |  2 --
 ui/vnc.c              | 12 ++++++------
 ui/vnc-enc-zrle.c.inc |  9 ++++-----
 5 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 8ba41c8f13..24c78df79e 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -930,8 +930,8 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion,
         GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
         GdkRectangle geometry;
 
-        int x = (int)motion->x_root;
-        int y = (int)motion->y_root;
+        int xr = (int)motion->x_root;
+        int yr = (int)motion->y_root;
 
         gdk_monitor_get_geometry(monitor, &geometry);
 
@@ -942,13 +942,13 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion,
          * may still be only half way across the screen. Without
          * this warp, the server pointer would thus appear to hit
          * an invisible wall */
-        if (x <= geometry.x || x - geometry.x >= geometry.width - 1 ||
-            y <= geometry.y || y - geometry.y >= geometry.height - 1) {
+        if (xr <= geometry.x || xr - geometry.x >= geometry.width - 1 ||
+            yr <= geometry.y || yr - geometry.y >= geometry.height - 1) {
             GdkDevice *dev = gdk_event_get_device((GdkEvent *)motion);
-            x = geometry.x + geometry.width / 2;
-            y = geometry.y + geometry.height / 2;
+            xr = geometry.x + geometry.width / 2;
+            yr = geometry.y + geometry.height / 2;
 
-            gdk_device_warp(dev, screen, x, y);
+            gdk_device_warp(dev, screen, xr, yr);
             s->last_set = FALSE;
             return FALSE;
         }
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 3f3f8013d8..cbaba3bbad 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -1080,15 +1080,16 @@ static void qemu_spice_gl_update(DisplayChangeListener *dcl,
     }
 
     if (render_cursor) {
-        int x, y;
+        int ptr_x, ptr_y;
+
         qemu_mutex_lock(&ssd->lock);
-        x = ssd->ptr_x;
-        y = ssd->ptr_y;
+        ptr_x = ssd->ptr_x;
+        ptr_y = ssd->ptr_y;
         qemu_mutex_unlock(&ssd->lock);
         egl_texture_blit(ssd->gls, &ssd->blit_fb, &ssd->guest_fb,
                          !y_0_top);
         egl_texture_blend(ssd->gls, &ssd->blit_fb, &ssd->cursor_fb,
-                          !y_0_top, x, y, 1.0, 1.0);
+                          !y_0_top, ptr_x, ptr_y, 1.0, 1.0);
         glFlush();
     }
 
diff --git a/ui/vnc-palette.c b/ui/vnc-palette.c
index dc7c0ba997..4e88c412f0 100644
--- a/ui/vnc-palette.c
+++ b/ui/vnc-palette.c
@@ -86,8 +86,6 @@ int palette_put(VncPalette *palette, uint32_t color)
         return 0;
     }
     if (!entry) {
-        VncPaletteEntry *entry;
-
         entry = &palette->pool[palette->size];
         entry->color = color;
         entry->idx = idx;
diff --git a/ui/vnc.c b/ui/vnc.c
index 92964dcc0c..3e1fccffa3 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1584,15 +1584,15 @@ static void vnc_jobs_bh(void *opaque)
  */
 static int vnc_client_read(VncState *vs)
 {
-    size_t ret;
+    size_t sz;
 
 #ifdef CONFIG_VNC_SASL
     if (vs->sasl.conn && vs->sasl.runSSF)
-        ret = vnc_client_read_sasl(vs);
+        sz = vnc_client_read_sasl(vs);
     else
 #endif /* CONFIG_VNC_SASL */
-        ret = vnc_client_read_plain(vs);
-    if (!ret) {
+        sz = vnc_client_read_plain(vs);
+    if (!sz) {
         if (vs->disconnecting) {
             vnc_disconnect_finish(vs);
             return -1;
@@ -3118,8 +3118,8 @@ static int vnc_refresh_server_surface(VncDisplay *vd)
     cmp_bytes = MIN(VNC_DIRTY_PIXELS_PER_BIT * VNC_SERVER_FB_BYTES,
                     server_stride);
     if (vd->guest.format != VNC_SERVER_FB_FORMAT) {
-        int width = pixman_image_get_width(vd->server);
-        tmpbuf = qemu_pixman_linebuf_create(VNC_SERVER_FB_FORMAT, width);
+        int w = pixman_image_get_width(vd->server);
+        tmpbuf = qemu_pixman_linebuf_create(VNC_SERVER_FB_FORMAT, w);
     } else {
         int guest_bpp =
             PIXMAN_FORMAT_BPP(pixman_image_get_format(vd->guest.fb));
diff --git a/ui/vnc-enc-zrle.c.inc b/ui/vnc-enc-zrle.c.inc
index c107d8affc..edf42d4a6a 100644
--- a/ui/vnc-enc-zrle.c.inc
+++ b/ui/vnc-enc-zrle.c.inc
@@ -153,11 +153,12 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
     }
 
     if (use_rle) {
-        ZRLE_PIXEL *ptr = data;
-        ZRLE_PIXEL *end = ptr + w * h;
         ZRLE_PIXEL *run_start;
         ZRLE_PIXEL pix;
 
+	ptr = data;
+        end = ptr + w * h;
+
         while (ptr < end) {
             int len;
             int index = 0;
@@ -198,7 +199,7 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
         }
     } else if (use_palette) { /* no RLE */
         int bppp;
-        ZRLE_PIXEL *ptr = data;
+        ptr = data;
 
         /* packed pixels */
 
@@ -241,8 +242,6 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
 #endif
         {
 #ifdef ZRLE_COMPACT_PIXEL
-            ZRLE_PIXEL *ptr;
-
             for (ptr = data; ptr < data + w * h; ptr++) {
                 ZRLE_WRITE_PIXEL(vs, *ptr);
             }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:26:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593900.927069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgO-00026j-RG; Thu, 31 Aug 2023 13:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593900.927069; Thu, 31 Aug 2023 13: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 1qbhgO-00025s-JR; Thu, 31 Aug 2023 13:26:00 +0000
Received: by outflank-mailman (input) for mailman id 593900;
 Thu, 31 Aug 2023 13:25:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgM-00011s-NN
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:58 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9e4fe40-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:25:56 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-519-w2HM_ChROIqrK6gfwSLG-w-1; Thu, 31 Aug 2023 09:25:50 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9B688381495D;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 782302166B26;
 Thu, 31 Aug 2023 13:25:49 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id C204421E6767; Thu, 31 Aug 2023 15:25: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: e9e4fe40-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488354;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=BWO795P/eMAN6AGzPBk5U+AjkPgnakPkjKcQ1JjiguM=;
	b=AS/R9xNAsGXSqWxj5PJ8yi4M760J6PWDTaB1iH51gKVoNPx/n80DQBDYNnhMPy6fsVgJ7z
	7phzuj6oQPxAfW/UO8b9mIDpgNS1uK6bk0xbQb9oEZ8q6cG8B3AIywWhFhU7iGMZFwRNZQ
	mbNdpY/kIsVZCz92OeJUf4d/xXmJdog=
X-MC-Unique: w2HM_ChROIqrK6gfwSLG-w-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 5/7] block/vdi: Clean up local variable shadowing
Date: Thu, 31 Aug 2023 15:25:44 +0200
Message-ID: <20230831132546.3525721-6-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Tracked down with -Wshadow=local.
Clean up: delete inner declarations when they are actually redundant,
else rename variables.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 block/vdi.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/block/vdi.c b/block/vdi.c
index 6c35309e04..c084105b78 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -634,7 +634,6 @@ vdi_co_pwritev(BlockDriverState *bs, int64_t offset, int64_t bytes,
         bmap_entry = le32_to_cpu(s->bmap[block_index]);
         if (!VDI_IS_ALLOCATED(bmap_entry)) {
             /* Allocate new block and write to it. */
-            uint64_t data_offset;
             qemu_co_rwlock_upgrade(&s->bmap_lock);
             bmap_entry = le32_to_cpu(s->bmap[block_index]);
             if (VDI_IS_ALLOCATED(bmap_entry)) {
@@ -700,7 +699,7 @@ nonallocating_write:
         /* One or more new blocks were allocated. */
         VdiHeader *header;
         uint8_t *base;
-        uint64_t offset;
+        uint64_t offs;
         uint32_t n_sectors;
 
         g_free(block);
@@ -723,11 +722,11 @@ nonallocating_write:
         bmap_first /= (SECTOR_SIZE / sizeof(uint32_t));
         bmap_last /= (SECTOR_SIZE / sizeof(uint32_t));
         n_sectors = bmap_last - bmap_first + 1;
-        offset = s->bmap_sector + bmap_first;
+        offs = s->bmap_sector + bmap_first;
         base = ((uint8_t *)&s->bmap[0]) + bmap_first * SECTOR_SIZE;
         logout("will write %u block map sectors starting from entry %u\n",
                n_sectors, bmap_first);
-        ret = bdrv_co_pwrite(bs->file, offset * SECTOR_SIZE,
+        ret = bdrv_co_pwrite(bs->file, offs * SECTOR_SIZE,
                              n_sectors * SECTOR_SIZE, base, 0);
     }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:26:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593902.927074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgP-0002Eb-5n; Thu, 31 Aug 2023 13:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593902.927074; Thu, 31 Aug 2023 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 1qbhgP-0002DE-1J; Thu, 31 Aug 2023 13:26:01 +0000
Received: by outflank-mailman (input) for mailman id 593902;
 Thu, 31 Aug 2023 13: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=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgN-00011s-NS
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:59 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea679d37-4801-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:25:56 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-156-K0goxLo9PTuIfCO20uyJUA-1; Thu, 31 Aug 2023 09:25:49 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 965AA3C1712B;
 Thu, 31 Aug 2023 13:25:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id BC4862166B26;
 Thu, 31 Aug 2023 13:25:47 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id B5FCB21E692A; Thu, 31 Aug 2023 15:25: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: ea679d37-4801-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488355;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=u/oX4/+mbh1gSgD3uh3euips5AninNQMCX8NXa1tavE=;
	b=L3RumH+wzDzJFvOcHoiAsEB2e8a5ndzxOauSIz8zHdaEFvROdWNGjl3LhS+0mt7aovcBgM
	4vcEB8oMNUn1xaph0ix3EVsGsyhRfwasfuckguRVx++tDs00EVElrw6CHOgDNrkpi8ftGc
	mad0MyMgcpW1l9fGW+ItHWA2S+rs1mo=
X-MC-Unique: K0goxLo9PTuIfCO20uyJUA-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error
Date: Thu, 31 Aug 2023 15:25:40 +0200
Message-ID: <20230831132546.3525721-2-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-1-armbru@redhat.com>
References: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6

qemu_rdma_save_page() reports polling error with error_report(), then
succeeds anyway.  This is because the variable holding the polling
status *shadows* the variable the function returns.  The latter
remains zero.

Broken since day one, and duplicated more recently.

Fixes: 2da776db4846 (rdma: core logic)
Fixes: b390afd8c50b (migration/rdma: Fix out of order wrid)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 migration/rdma.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/migration/rdma.c b/migration/rdma.c
index ca430d319d..b2e869aced 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -3281,7 +3281,8 @@ static size_t qemu_rdma_save_page(QEMUFile *f,
      */
     while (1) {
         uint64_t wr_id, wr_id_in;
-        int ret = qemu_rdma_poll(rdma, rdma->recv_cq, &wr_id_in, NULL);
+        ret = qemu_rdma_poll(rdma, rdma->recv_cq, &wr_id_in, NULL);
+
         if (ret < 0) {
             error_report("rdma migration: polling error! %d", ret);
             goto err;
@@ -3296,7 +3297,8 @@ static size_t qemu_rdma_save_page(QEMUFile *f,
 
     while (1) {
         uint64_t wr_id, wr_id_in;
-        int ret = qemu_rdma_poll(rdma, rdma->send_cq, &wr_id_in, NULL);
+        ret = qemu_rdma_poll(rdma, rdma->send_cq, &wr_id_in, NULL);
+
         if (ret < 0) {
             error_report("rdma migration: polling error! %d", ret);
             goto err;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:26:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593903.927082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhgP-0002Lw-PJ; Thu, 31 Aug 2023 13:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593903.927082; Thu, 31 Aug 2023 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 1qbhgP-0002JA-Cc; Thu, 31 Aug 2023 13:26:01 +0000
Received: by outflank-mailman (input) for mailman id 593903;
 Thu, 31 Aug 2023 13:25:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=smM9=EQ=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1qbhgN-00011r-PC
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:25:59 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea80c338-4801-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 15:25:57 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-156-7l0Kjf4tPbm-G8T1mwim1w-1; Thu, 31 Aug 2023 09:25:49 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AFC401C0726F;
 Thu, 31 Aug 2023 13:25:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.30])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id BDEBAC15BAE;
 Thu, 31 Aug 2023 13:25:47 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id B418921E690D; Thu, 31 Aug 2023 15:25: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: ea80c338-4801-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693488356;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ChPjbICG22oISTLdoZBu20p3DiMRw4EY8JI0c9BFGJs=;
	b=IeiZyQUUlxh17ZIg0+KrCRlRMmdvc+Vm5tGbZjQkzIAA9UJbcDF32iuTK42ZLhebL2ryQz
	2pFzGMbOc30zgWKUwYG+qVUAtJJQ2e5FbPZifci8HcfI7+IRFGtYBrOW96G1N6nTaPXrNy
	pJoD9jnLQ5CqAzGldki8D8gaRcGMPT4=
X-MC-Unique: 7l0Kjf4tPbm-G8T1mwim1w-1
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com,
	hreitz@redhat.com,
	eblake@redhat.com,
	vsementsov@yandex-team.ru,
	jsnow@redhat.com,
	idryomov@gmail.com,
	pl@kamp.de,
	sw@weilnetz.de,
	sstabellini@kernel.org,
	anthony.perard@citrix.com,
	paul@xen.org,
	pbonzini@redhat.com,
	marcandre.lureau@redhat.com,
	berrange@redhat.com,
	thuth@redhat.com,
	philmd@linaro.org,
	stefanha@redhat.com,
	fam@euphon.net,
	quintela@redhat.com,
	peterx@redhat.com,
	leobras@redhat.com,
	kraxel@redhat.com,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: [PATCH 0/7] Steps towards enabling -Wshadow=local
Date: Thu, 31 Aug 2023 15:25:39 +0200
Message-ID: <20230831132546.3525721-1-armbru@redhat.com>
MIME-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Bugs love to hide in such code.
Evidence: PATCH 1.

Enabling -Wshadow would prevent bugs like this one.  But we'd have to
clean up all the offenders first.  We got a lot of them.

Enabling -Wshadow=local should be less work for almost as much gain.
I took a stab at it.  There's a small, exciting part, and a large,
boring part.

The exciting part is dark preprocessor sorcery to let us nest macro
calls without shadowing: PATCH 7.

The boring part is cleaning up all the other warnings.  I did some
[PATCH 2-6], but ran out of steam long before finishing the job.  Some
160 unique warnings remain.

To see them, enable -Wshadow=local like so:

diff --git a/meson.build b/meson.build
index 98e68ef0b1..9fc4c7ac9d 100644
--- a/meson.build
+++ b/meson.build
@@ -466,6 +466,9 @@ warn_flags = [
   '-Wno-tautological-type-limit-compare',
   '-Wno-psabi',
   '-Wno-gnu-variable-sized-type-not-at-end',
+  '-Wshadow=local',
+  '-Wno-error=shadow=local',
+  '-Wno-error=shadow=compatible-local',
 ]
 
 if targetos != 'darwin'

You may want to drop the -Wno-error lines.

Subsystems with -Wshadow=local warnings:

    virtio-gpu
    virtio
    Device Tree
    Overall TCG CPUs
    Overall Audio backends
    Open Sound System (OSS) Audio backend
    vhost
    vhost-user-gpu
    Cryptography
    M68K TCG CPUs
    Dump
    ACPI/SMBIOS
    Allwinner-a10
    ARM TCG CPUs
    MPS2
    ASPEED BMCs
    ARM SMMU
    Virt
    Machine core
    PC Chipset
    X86 TCG CPUs
    PC
    VT-d Emulation
    IDE
    ARM cores
    OpenPIC interrupt controller
    q800
    petalogix_ml605
    MicroBlaze TCG CPUs
    Versatile PB
    Network devices
    NiosII TCG CPUs
    nvme
    PowerNV (Non-Virtualized)
    sPAPR (pseries)
    OpenTitan
    RISC-V TCG CPUs
    SCSI
    USB
    Linux user
    Network packet abstractions
    Network device backends
    Network Block Device (NBD)
    Semihosting
    Memory API
    Seccomp
    Main loop
    Hexagon TCG CPUs
    X86 KVM CPUs
    MIPS TCG CPUs
    PowerPC TCG CPUs
    TriCore TCG CPUs
    Common TCG code
    qtest
    Throttling infrastructure
    Vhost-user block device backend server

Files with -Wshadow=local warnings:

    accel/tcg/tb-maint.c
    audio/audio.c
    audio/ossaudio.c
    contrib/vhost-user-gpu/vhost-user-gpu.c
    contrib/vhost-user-gpu/vugpu.h
    crypto/cipher-gnutls.c.inc
    crypto/tls-cipher-suites.c
    disas/m68k.c
    dump/dump.c
    hw/acpi/cpu_hotplug.c
    hw/arm/allwinner-r40.c
    hw/arm/armsse.c
    hw/arm/armv7m.c
    hw/arm/aspeed_ast2600.c
    hw/arm/smmuv3-internal.h
    hw/arm/smmuv3.c
    hw/arm/virt.c
    hw/core/machine.c
    hw/i2c/aspeed_i2c.c
    hw/i2c/pm_smbus.c
    hw/i386/acpi-build.c
    hw/i386/acpi-microvm.c
    hw/i386/intel_iommu.c
    hw/i386/pc.c
    hw/i386/x86.c
    hw/ide/ahci.c
    hw/intc/arm_gicv3_its.c
    hw/intc/openpic.c
    hw/loongarch/virt.c
    hw/m68k/bootinfo.h
    hw/microblaze/petalogix_ml605_mmu.c
    hw/misc/arm_sysctl.c
    hw/misc/aspeed_i3c.c
    hw/net/vhost_net.c
    hw/nios2/10m50_devboard.c
    hw/nvme/ns.c
    hw/ppc/pnv_psi.c
    hw/ppc/spapr.c
    hw/ppc/spapr_drc.c
    hw/ppc/spapr_pci.c
    hw/riscv/opentitan.c
    hw/scsi/mptsas.c
    hw/smbios/smbios.c
    hw/usb/desc.c
    hw/usb/dev-hub.c
    hw/usb/dev-storage.c
    hw/usb/hcd-xhci.c
    hw/usb/host-libusb.c
    hw/virtio/vhost.c
    hw/virtio/virtio-pci.c
    include/hw/cxl/cxl_device.h
    include/hw/ppc/fdt.h
    include/hw/virtio/virtio-gpu.h
    include/sysemu/device_tree.h
    linux-user/flatload.c
    linux-user/mmap.c
    linux-user/strace.c
    linux-user/syscall.c
    net/eth.c
    qemu-nbd.c
    semihosting/arm-compat-semi.c
    softmmu/device_tree.c
    softmmu/memory.c
    softmmu/physmem.c
    softmmu/qemu-seccomp.c
    softmmu/vl.c
    target/arm/tcg/mve_helper.c
    target/arm/tcg/translate-m-nocp.c
    target/hexagon/helper_funcs_generated.c.inc
    target/hexagon/mmvec/macros.h
    target/hexagon/op_helper.c
    target/hexagon/translate.c
    target/i386/cpu.c
    target/i386/kvm/kvm.c
    target/i386/tcg/seg_helper.c
    target/i386/tcg/sysemu/svm_helper.c
    target/i386/tcg/translate.c
    target/m68k/translate.c
    target/mips/tcg/msa_helper.c
    target/mips/tcg/nanomips_translate.c.inc
    target/mips/tcg/translate.c
    target/ppc/int_helper.c
    target/riscv/cpu.c
    target/riscv/vector_helper.c
    target/tricore/translate.c
    tcg/tcg.c
    tests/qtest/m48t59-test.c
    tests/qtest/pflash-cfi02-test.c
    tests/unit/test-throttle.c
    util/vhost-user-server.c

Markus Armbruster (7):
  migration/rdma: Fix save_page method to fail on polling error
  migration: Clean up local variable shadowing
  ui: Clean up local variable shadowing
  block/dirty-bitmap: Clean up local variable shadowing
  block/vdi: Clean up local variable shadowing
  block: Clean up local variable shadowing
  qobject atomics osdep: Make a few macros more hygienic

 include/qapi/qmp/qobject.h      |  8 +++++---
 include/qemu/atomic.h           | 11 ++++++-----
 include/qemu/osdep.h            | 34 ++++++++++++++++++---------------
 block.c                         |  7 ++++---
 block/monitor/bitmap-qmp-cmds.c |  2 +-
 block/qcow2-bitmap.c            |  3 +--
 block/rbd.c                     |  2 +-
 block/stream.c                  |  1 -
 block/vdi.c                     |  7 +++----
 block/vvfat.c                   | 34 ++++++++++++++++-----------------
 hw/block/xen-block.c            |  6 +++---
 migration/block.c               |  4 ++--
 migration/ram.c                 |  8 +++-----
 migration/rdma.c                | 14 +++++++++-----
 migration/vmstate.c             |  2 +-
 ui/gtk.c                        | 14 +++++++-------
 ui/spice-display.c              |  9 +++++----
 ui/vnc-palette.c                |  2 --
 ui/vnc.c                        | 12 ++++++------
 ui/vnc-enc-zrle.c.inc           |  9 ++++-----
 20 files changed, 97 insertions(+), 92 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593940.927103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhkP-0006VI-3A; Thu, 31 Aug 2023 13:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593940.927103; Thu, 31 Aug 2023 13:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhkP-0006VB-0T; Thu, 31 Aug 2023 13:30:09 +0000
Received: by outflank-mailman (input) for mailman id 593940;
 Thu, 31 Aug 2023 13: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=shXB=EQ=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1qbhkN-0006No-6K
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:30:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f3d227f-4802-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 15:30:05 +0200 (CEST)
Received: from [192.168.8.109] (unknown [151.36.0.213])
 by support.bugseng.com (Postfix) with ESMTPSA id C74954EE0738;
 Thu, 31 Aug 2023 15:30: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: 7f3d227f-4802-11ee-8783-cb3800f73035
Message-ID: <814c3aa1-dbce-97d2-f526-93e185d61438@bugseng.com>
Date: Thu, 31 Aug 2023 15:30:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [XEN PATCH 09/13] xen/common: address violations of MISRA C:2012
 Directive 4.10
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, sstabellini@kernel.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1693228255.git.simone.ballarin@bugseng.com>
 <fe1768342df0cd9315af87c83cc6d8d09f61b983.1693228255.git.simone.ballarin@bugseng.com>
 <00d67696-7895-f4cd-de0d-0c24f937deb9@suse.com>
 <be7ba4ea-b5e9-cc00-a8d1-0fec82248b8f@bugseng.com>
 <00866371-7adb-9cfa-267d-ee78cf14e68c@suse.com>
 <7d5244fe-d89c-8878-b16a-a3345426de1e@bugseng.com>
 <6ea28c90-68aa-4a14-e352-2bcb6e42a76a@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <6ea28c90-68aa-4a14-e352-2bcb6e42a76a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 31/08/23 15:05, Jan Beulich wrote:
> On 31.08.2023 14:54, Simone Ballarin wrote:
>> On 31/08/23 13:10, Jan Beulich wrote:
>>> On 31.08.2023 12:08, Simone Ballarin wrote:
>>>> The danger of multi-inclusion also exists for .c files, why do you want
>>>> to avoid guards for them?
>>>
>>> Counter question: Why only add guards to some of them? (My personal
>>> answer is "Because it's extra clutter.")
>>
>> It's not "some of them", it's exactly the ones used in an #include
>> directive, so I'm not getting your objection.
> 
> My point is that by adding guards only for files we presently use in some
> #include directive, we set us up for introducing new violations as soon
> as another .c file becomes the subject of an #include.The more that it
> is unusual to add guards in .c files, i.e. it is to be expected that
> people wouldn't think about this extra Misra requirement.
> 
> Jan

I can agree to partially adopt the directive: I will add a deviation for 
C files in rules.txt.

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 13:38:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 13:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593963.927114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhsN-00089Y-VT; Thu, 31 Aug 2023 13:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593963.927114; Thu, 31 Aug 2023 13:38:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbhsN-00089R-SK; Thu, 31 Aug 2023 13:38:23 +0000
Received: by outflank-mailman (input) for mailman id 593963;
 Thu, 31 Aug 2023 13:38:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5iW9=EQ=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1qbhsN-00089L-Ah
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 13:38:23 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5ba6808-4803-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 15:38:21 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-272-RvOQvMEROUGy2tVbeKhNpw-1; Thu, 31 Aug 2023 09:38:16 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 93D191C09A62;
 Thu, 31 Aug 2023 13:38:15 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.67])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 070CF2166B25;
 Thu, 31 Aug 2023 13:38: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: a5ba6808-4803-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693489099;
	h=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=lHvH6tD37wk1zyp+h5UmwcIdUR0oNVNgJfvKLJlrg4M=;
	b=dsG9o9WOkqhHGX8Lr8O/geHgDM+ucbcAYJvqViWF4LKmY1S34pYiVu0tJzJ6utthbCBl0e
	Ac0g6gti5YkngZgvntGfJWC0mmRA1zG0ANuXy9PlH+QqupSVybhO0sDGDmoYs4uZFOU5BG
	4sX0LzEOOxoZROGf1DT6gesiJisfgFM=
X-MC-Unique: RvOQvMEROUGy2tVbeKhNpw-1
Date: Thu, 31 Aug 2023 08:38:09 -0500
From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, 
	vsementsov@yandex-team.ru, jsnow@redhat.com, idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de, 
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org, pbonzini@redhat.com, 
	marcandre.lureau@redhat.com, berrange@redhat.com, thuth@redhat.com, philmd@linaro.org, 
	stefanha@redhat.com, fam@euphon.net, quintela@redhat.com, peterx@redhat.com, 
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org, 
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org, peter.maydell@linaro.org
Subject: Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on
 polling error
Message-ID: <npnhurzixjae6schhran3dnicpwozrhkaan5sxcf3gyxviam5y@ofklh25a6wlc>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-2-armbru@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230831132546.3525721-2-armbru@redhat.com>
User-Agent: NeoMutt/20230517
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6

On Thu, Aug 31, 2023 at 03:25:40PM +0200, Markus Armbruster wrote:
> qemu_rdma_save_page() reports polling error with error_report(), then
> succeeds anyway.  This is because the variable holding the polling
> status *shadows* the variable the function returns.  The latter
> remains zero.
> 
> Broken since day one, and duplicated more recently.
> 
> Fixes: 2da776db4846 (rdma: core logic)
> Fixes: b390afd8c50b (migration/rdma: Fix out of order wrid)

Alas, the curse of immutable git history preserving typos in commit
subjects ;) The alternative of rewriting history and breaking SHA
references is worse.

> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  migration/rdma.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 14:03:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 14:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593970.927123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbiG3-0005CM-Pk; Thu, 31 Aug 2023 14:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593970.927123; Thu, 31 Aug 2023 14:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbiG3-0005CF-N2; Thu, 31 Aug 2023 14:02:51 +0000
Received: by outflank-mailman (input) for mailman id 593970;
 Thu, 31 Aug 2023 14:02:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zVM6=EQ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qbiG2-0005C9-RZ
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 14:02:50 +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 0ff61bbc-4807-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 16:02:46 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2bcbfb3705dso15569781fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 07:02:46 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y13-20020a2e978d000000b002b9e5fe86dasm331649lji.81.2023.08.31.07.02.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 07:02:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ff61bbc-4807-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20221208; t=1693490566; x=1694095366; 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=RKusNiLGhC54xT8qApIWwLD4LPu8qm0tjxyXWy+ACH4=;
        b=lr8JZcfEj0skFwTkXHdd2dSi6AZvTZsRjmpJY/yJkBcgafVzC6thfrSYR2I6StJVfF
         iO3ZpJk/DSndDwRtn1GttrczIO/5R99VMJGSCW2lUgb82ywW2gUmpq7OohREG05Uk3p8
         DtRkgE2qOeI/34cJnbPmy6UBkqTBGsiB33ndGkI0KaONnSGzJt6am//7JG6/dPjC+JhU
         SNMNYR9e0UkOYYLvWZp56UGueyqaQIjTQpCBRZTJNuUa1OeYm8pDLtTaZrYpHxHqLwBe
         9Fa6wb1UsllWFoirX5Bov5eQYSwBokFPlT7gl40E68LMqV3UnrFJ1R9Crix8NpAZ7g5Q
         /vkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693490566; x=1694095366;
        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=RKusNiLGhC54xT8qApIWwLD4LPu8qm0tjxyXWy+ACH4=;
        b=HcF6phK4n1umGoo7nbOWerMnrHc5fvctjZqvcPeksAT6ZKSUoHxw/FBbnLw8/huD1f
         AjtdDtavYjyZEiTmHoLUlASjKXW9GUqG7pO0O2ztcMmA5a7VrBP7RiRrAbHfXeSLL2CP
         t57xoylR1VPt//eEdCmFVDeIcnVTOEBSPrIOqTM0YLdltNQva0phBK9tBGkxNwXG8bx0
         6o3ED9igPJKZ0iuIDjkaha8CxN4KysB7q++qkl55iHWqz+Fz7iecRnVALumUn2FiS3dz
         rdV7YiPBKGmigEoZgafqnT6A4/Io2KBzCWNjEtr9NTKPayoSnRfIzzEgEUYSrBUmwyfU
         D1jw==
X-Gm-Message-State: AOJu0YyPGNQY/XiQxM1yq5Ebtq1T5XZbe8IQPm65LEIYcZsdl9VAqlLR
	bU0KuGKMk2clK09wN+pOFzswMekxkHw=
X-Google-Smtp-Source: AGHT+IHmri82q4TSQ6ryjgQlKytPr4A/bzHFJhdQAbnE64Rgif4MmuqMrtifFWJpvlDBd410FSge9w==
X-Received: by 2002:a2e:910e:0:b0:2bc:ed80:46e with SMTP id m14-20020a2e910e000000b002bced80046emr4331290ljg.31.1693490565732;
        Thu, 31 Aug 2023 07:02:45 -0700 (PDT)
Message-ID: <03d68a602592d9f542936ec7b5fc3b33777720cf.camel@gmail.com>
Subject: Re: [PATCH v3 2/2] xen: move arm/include/asm/vm_event.h to
 asm-generic
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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Thu, 31 Aug 2023 17:02:44 +0300
In-Reply-To: <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
	 <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
	 <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-08-31 at 11:46 +0200, Jan Beulich wrote:
> On 30.08.2023 18:57, Oleksii Kurochko wrote:
> > asm/vm_event.h is common for ARM and RISC-V so it will be moved to
> > asm-generic dir.
> >=20
> > Original asm/vm_event.h from ARM was updated:
> > =C2=A0* use SPDX-License-Identifier.
> > =C2=A0* update comment messages of stubs.
> > =C2=A0* update #ifdef.
> > =C2=A0* change public/domctl.h to public/vm_event.h.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> > Changes in V3:
> > =C2=A0- add Acked-by: Stefano Stabellini <sstabellini@kernel.org> for
> > "xen: move arm/include/asm/vm_event.h to asm-generic"
> > =C2=A0- update SPDX tag.
> > =C2=A0- move asm/vm_event.h to asm-generic.
> > ---
> > Changes in V2:
> > =C2=A0- change public/domctl.h to public/vm_event.h.
> > =C2=A0- update commit message of [PATCH v2 2/2] xen: move
> > arm/include/asm/vm_event.h to stubs
> > ---
> > =C2=A0xen/arch/arm/include/asm/vm_event.h=C2=A0=C2=A0=C2=A0 | 66 ------=
----------------
> > ----
> > =C2=A0xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
> > =C2=A02 files changed, 55 insertions(+), 66 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/arm/include/asm/vm_event.h
> > =C2=A0create mode 100644 xen/include/asm-generic/asm/vm_event.h
>=20
> While it's a comment on the first patch, it's really better making
> here:
> Did you look at Linux? They don't put an intermediate asm/ here.
> Instead
> see their scripts/Makefile.asm-generic. That way an arch still has
> control which generic headers it gets access to, without duplicating
> any
> of them.

IIUC scripts/Makefile.asm-generic script is needed to generate a
wrapper for a header which will contain:
#include <asm-generic/some.h>
if it is mentioned generic-y +=3D some.h in
arch/${ARCH}/include/asm/Kbuild.

But do we need this generated wrapper header?
Do we need all the support of generic-y in Kbuild, etc.?

In the previous patch of this patch series, it was added inclusion of
$(srctree)/include/asm-generic after the inclusion of
$(srctree)/arch/$(SRCARCH)/include so it will first look if the arch-
specific header exists, and if not then use generic one.

Probably I misunderstood you and your suggestion was to have
scripts/Makefile.asm-generic which will generate folder asm/ with
necessary headers in arch specific folder? So basically it was just a
question if asm/ folder should exist in $(srctree)/include/asm-generic
or not?

One more thing I would like to clarify is the duplicating of the
headers you mentioned above.
But if the architecture doesn't want to use a generic header, then it
still needs to add the header to arch/${ARCH}/include/asm and remove
mention of the header from arch/${ARCH}/include/asm/Kbuild.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Thu Aug 31 14:21:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 14:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593977.927134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbiXn-0000zz-8B; Thu, 31 Aug 2023 14:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593977.927134; Thu, 31 Aug 2023 14:21:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbiXn-0000zs-5N; Thu, 31 Aug 2023 14:21:11 +0000
Received: by outflank-mailman (input) for mailman id 593977;
 Thu, 31 Aug 2023 14:21:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbiXl-0000xA-VC; Thu, 31 Aug 2023 14:21:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbiXk-0001vh-Uk; Thu, 31 Aug 2023 14:21:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbiXk-0008Ii-8T; Thu, 31 Aug 2023 14:21:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbiXk-0001vJ-7j; Thu, 31 Aug 2023 14:21:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UTl8sexmQfhv+HLSQr2m15Va3JEv0ow2o9gAK7kiANc=; b=KBngBs2P/GKpl7nSlQjs5vBQC/
	TPi2HRopJNt4VO5/fmqwZ0RGlfqpQyeM0MFICQG4lAtIl/toykJnMNY0nWSeIjna/hAvW05e9eIrf
	C7dRcFDym+Dcq0/l7nmcwjOwp/cLcmpsP1x05Un+OrmfIMmPOnQeGomjtEMDsSmxuR4Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182575-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 182575: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-libvirt-raw:saverestore-support-check: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=5eb967dd50a5a29952ab6e6b1ef4bf216cf1652c
X-Osstest-Versions-That:
    linux=fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 14:21:08 +0000

flight 182575 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182575/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 182363
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 182569 REGR. vs. 182363

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 15 guest-start.2 fail pass in 182569
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 182569
 test-armhf-armhf-xl-arndale  18 guest-start/debian.repeat  fail pass in 182569

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds     14 guest-start             fail blocked in 182363
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 182569 blocked in 182363
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 182569 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 182569 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 182569 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 182569 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182363
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 182363
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 182363
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182363
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 182363
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 182363
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182363
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182363
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 182363
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182363
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 182363
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182363
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182363
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl           3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate           starved in 182569 n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate           starved in 182569 n/a

version targeted for testing:
 linux                5eb967dd50a5a29952ab6e6b1ef4bf216cf1652c
baseline version:
 linux                fd2a1d1f32ea37c57a8b46a0857f06fd7274dd2c

Last test of basis   182363  2023-08-16 16:45:54 Z   14 days
Testing same since   182569  2023-08-30 14:44:38 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Wu <wuyun.abel@bytedance.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Liu <haoping.liu@amd.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alessio Igor Bogani <alessio.bogani@elettra.eu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Aring <aahringo@redhat.com>
  Alfred Lee <l00g33k@gmail.com>
  Amir Goldstein <amir73il@gmail.com>
  Andreas Gruenbacher <agruenba@redhat.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Skvortsov <andrej.skvortzov@gmail.com>
  Andrii Staikov <andrii.staikov@intel.com>
  Ankit Nautiyal <ankit.k.nautiyal@intel.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Atul Dhudase <adhudase@codeaurora.org>
  Benjamin Coddington <bcodding@redhat.com>
  Benjamin Gray <bgray@linux.ibm.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Chengfeng Ye <dg573847474@gmail.com>
  Christian Brauner <brauner@kernel.org>
  Christian KĂ¶nig <christian.koenig@amd.com>
  Christian Marangi <ansuelsmth@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Clayton Yager <Clayton_Yager@selinc.com>
  Colin Ian King <colin.i.king@gmail.com>
  Cosmin Tanislav <cosmin.tanislav@analog.com>
  Cosmin Tanislav <demonsingur@gmail.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Teigland <teigland@redhat.com>
  dengxiang <dengxiang@nfschina.com>
  Doug Berger <opendmb@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Eyal Birger <eyal.birger@gmail.com>
  Feng Tang <feng.tang@intel.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Fred Eckert <Frede@cmslaser.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georgi Djakov <georgi.djakov@linaro.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  hackyzh002 <hackyzh002@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hariprasad Kelam <hkelam@marvell.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Ido Schimmel <idosch@nvidia.com>
  Igor Mammedov <imammedo@redhat.com>
  Immad Mir <mirimmad17@gmail.com>
  J. Bruce Fields <bfields@redhat.com>
  Jakob Koschel <jakobkoschel@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jason Wang <jasowang@redhat.com>
  Jason Xing <kernelxing@tencent.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jerome Brunet <jbrunet@baylibre.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Jiri Kosina <jkosina@suse.cz>
  Joel Savitz <jsavitz@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josip Pavic <Josip.Pavic@amd.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Chen <justin.chen@broadcom.com>
  Kishon Vijay Abraham I <kvijayab@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lee Jones <lee@kernel.org>
  Li Jun <jun.li@nxp.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Wei <luwei32@huawei.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Marc Zyngier <maz@kernel.org>
  Marco Morandini <marco.morandini@polimi.it>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matthieu Baerts <matthieu.baerts@tessares.net>
  Matus Gajdos <matuszpd@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Michal KoutnĂ½ <mkoutny@suse.com>
  MichaÅ‚ MirosÅ‚aw <mirq-linux@rere.qmqm.pl>
  Mike Snitzer <snitzer@kernel.org>
  Mike Snitzer <snitzer@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mimi Zohar <zohar@linux.ibm.com>
  Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
  Nathan Lynch <nathanl@linux.ibm.com>
  Nicolin Chen <nicoleotsuka@gmail.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Pavle Kotarac <Pavle.Kotarac@amd.com>
  Peter Chen <peter.chen@kernel.org>
  Petr Machata <petrm@nvidia.com>
  Pina Chen <pina.chen@mediatek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Randy Dunlap <rdunlap@infradead.org>
  Ray Jui <ray.jui@broadcom.com>
  Remi Pommarel <repk@triplefau.lt>
  Rob Clark <robdclark@chromium.org>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Russell Harmon <russ@har.mn>
  Russell Harmon via samba-technical <samba-technical@lists.samba.org>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sam Ravnborg <sam@ravnborg.org>
  Sandeep Maheswaram <quic_c_sanm@quicinc.com>
  Sasha Levin <sashal@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Sergey Shtylyov <s.shtylyov@omp.ru>
  Shakeel Butt <shakeelb@google.com>
  shanzhulig <shanzhulig@gmail.com>
  Shawn Guo <shawnguo@kernel.org>
  Shengjiu Wang <shengjiu.wang@gmail.com>
  Shengjiu Wang <shengjiu.wang@nxp.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <horms@kernel.org>
  Simon Wunderlich <sw@simonwunderlich.de>
  Sishuai Gong <sishuai.system@gmail.com>
  Stefan Wahren <stefan.wahren@i2se.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sunil Goutham <sgoutham@marvell.com>
  Sven Eckelmann <sven@narfation.org>
  Taimur Hassan <syed.hassan@amd.com>
  Takashi Iwai <tiwai@suse.de>
  Tang Bin <tangbin@cmss.chinamobile.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tuo Li <islituo@gmail.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-KĂ¶nig <u.kleine-koenig@pengutronix.de>
  Victor Nogueira <victor@mojatatu.com>
  Vijay Khemka <vijaykhemka@fb.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wei Chen <harperchen1110@gmail.com>
  William Breathitt Gray <william.gray@linaro.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wolfram Sang <wsa@kernel.org>
  Woody Suwalski <terraluna977@gmail.com>
  Xiaolei Wang <xiaolei.wang@windriver.com>
  xiaoshoukui <xiaoshoukui@gmail.com>
  xiaoshoukui <xiaoshoukui@ruijie.com.cn>
  Xin Long <lucien.xin@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yangtao Li <frank.li@vivo.com>
  Yangtao Li <tiny.windzz@gmail.com>
  Ye Bin <yebin10@huawei.com>
  Yibin Ding <yibin.ding@unisoc.com>
  Yogesh <yogi.kernel@gmail.com>
  Yuanjun Gong <ruc_gongyuanjun@163.com>
  Yunfei Dong <yunfei.dong@mediatek.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Zhengping Jiang <jiangzp@google.com>
  Zhu Wang <wangzhu9@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4971 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 14:31:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 14:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593987.927144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbihW-0003Rg-7W; Thu, 31 Aug 2023 14:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593987.927144; Thu, 31 Aug 2023 14:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbihW-0003RZ-3U; Thu, 31 Aug 2023 14:31:14 +0000
Received: by outflank-mailman (input) for mailman id 593987;
 Thu, 31 Aug 2023 14:31:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5iW9=EQ=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1qbihV-0003RN-F1
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 14:31:13 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07e666be-480b-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 16:31:12 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-662-QwdtIsOgPeiOv6oBBKVjRg-1; Thu, 31 Aug 2023 10:30:40 -0400
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3208C1C06EEB;
 Thu, 31 Aug 2023 14:30:39 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.67])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 9FC0F1121315;
 Thu, 31 Aug 2023 14:30: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: 07e666be-480b-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693492270;
	h=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=/kFbfLpLhuT7B1TmnESfwEKgRAeWmv+5n/w5vt4fxsA=;
	b=RMi6w5fSxB0tJSF961mxibZHVLBomdCO4SfB0FHATLak8bP9Yy5c37zgs4PazvXlpnIHnV
	p0sT/InpIjSSZFRSwddQamVk/9Mw9IcUjr33xFXPhKgN2h03mv4+KuL8a7RjKaXzg0gmVW
	LUQ7i/Ust0rbM5D1iPWL1b74NWNZSjQ=
X-MC-Unique: QwdtIsOgPeiOv6oBBKVjRg-1
Date: Thu, 31 Aug 2023 09:30:33 -0500
From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, 
	vsementsov@yandex-team.ru, jsnow@redhat.com, idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de, 
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org, pbonzini@redhat.com, 
	marcandre.lureau@redhat.com, berrange@redhat.com, thuth@redhat.com, philmd@linaro.org, 
	stefanha@redhat.com, fam@euphon.net, quintela@redhat.com, peterx@redhat.com, 
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org, 
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org, peter.maydell@linaro.org
Subject: Re: [PATCH 7/7] qobject atomics osdep: Make a few macros more
 hygienic
Message-ID: <vfkfi6uld3gbd4urmqdlzkv6djtws6mkbluc5qvwcla6btszhu@ff66zfyd7smm>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-8-armbru@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230831132546.3525721-8-armbru@redhat.com>
User-Agent: NeoMutt/20230517
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3

On Thu, Aug 31, 2023 at 03:25:46PM +0200, Markus Armbruster wrote:

[This paragraph written last: Bear with my stream of consciousness
review below, where I end up duplicating some of the conslusions you
reached before the point where I saw where the patch was headed]

> Variables declared in macros can shadow other variables.  Much of the
> time, this is harmless, e.g.:
> 
>     #define _FDT(exp)                                                  \
>         do {                                                           \
>             int ret = (exp);                                           \
>             if (ret < 0) {                                             \
>                 error_report("error creating device tree: %s: %s",   \
>                         #exp, fdt_strerror(ret));                      \
>                 exit(1);                                               \
>             }                                                          \
>         } while (0)

Which is why I've seen some projects require a strict namespace
separation: if all macro parameters and any identifiers declared in
macros use either a leading or a trailing _ (I prefer a trailing one,
to avoid risking conflicts with libc reserved namespace; but leading
is usually okay), and all other identifiers avoid that namespace, then
you will never have shadowing by calling a macro from normal code.

> 
> Harmless shadowing in h_client_architecture_support():
> 
>         target_ulong ret;
> 
>         [...]
> 
>         ret = do_client_architecture_support(cpu, spapr, vec, fdt_bufsize);
>         if (ret == H_SUCCESS) {
>             _FDT((fdt_pack(spapr->fdt_blob)));
>             [...]
>         }
> 
>         return ret;
> 
> However, we can get in trouble when the shadowed variable is used in a
> macro argument:
> 
>     #define QOBJECT(obj) ({                                 \
>         typeof(obj) o = (obj);                              \
>         o ? container_of(&(o)->base, QObject, base) : NULL; \
>      })
> 
> QOBJECT(o) expands into
> 
>     ({
> --->    typeof(o) o = (o);
>         o ? container_of(&(o)->base, QObject, base) : NULL;
>     })
> 
> Unintended variable name capture at --->.  We'd be saved by
> -Winit-self.  But I could certainly construct more elaborate death
> traps that don't trigger it.

Indeed, not fully understanding the preprocessor makes for some
interesting death traps.

> 
> To reduce the risk of trapping ourselves, we use variable names in
> macros that no sane person would use elsewhere.  Here's our actual
> definition of QOBJECT():
> 
>     #define QOBJECT(obj) ({                                         \
>         typeof(obj) _obj = (obj);                                   \
>         _obj ? container_of(&(_obj)->base, QObject, base) : NULL;   \
>     })

Yep, goes back to the policy I've seen of enforcing naming conventions
that ensure macros can't shadow normal code.

> 
> Works well enough until we nest macro calls.  For instance, with
> 
>     #define qobject_ref(obj) ({                     \
>         typeof(obj) _obj = (obj);                   \
>         qobject_ref_impl(QOBJECT(_obj));            \
>         _obj;                                       \
>     })
> 
> the expression qobject_ref(obj) expands into
> 
>     ({
>         typeof(obj) _obj = (obj);
>         qobject_ref_impl(
>             ({
> --->            typeof(_obj) _obj = (_obj);
>                 _obj ? container_of(&(_obj)->base, QObject, base) : NULL;
>             }));
>         _obj;
>     })
> 
> Unintended variable name capture at --->.

Yep, you've just proven how macros calling macros requires care, as we
no longer have the namespace protections.  If macro calls can only
form a DAG, it is possible to choose unique intermediate declarations
for every macro (although remembering to do that, and still keeping
the macro definition legible, may not be easy).  But if you can have
macros that form any sort of nesting loop (and we WANT to allow things
like MIN(MIN(a, b), c) - which is such a loop), dynamic naming becomes
the only solution.

> 
> The only reliable way to prevent unintended variable name capture is
> -Wshadow.

Yes, I would love to have that enabled eventually.

> 
> One blocker for enabling it is shadowing hiding in function-like
> macros like
> 
>      qdict_put(dict, "name", qobject_ref(...))
> 
> qdict_put() wraps its last argument in QOBJECT(), and the last
> argument here contains another QOBJECT().
> 
> Use dark preprocessor sorcery to make the macros that give us this
> problem use different variable names on every call.

Sounds foreboding; hopefully not many macros are affected...

> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  include/qapi/qmp/qobject.h |  8 +++++---
>  include/qemu/atomic.h      | 11 ++++++-----
>  include/qemu/osdep.h       | 34 +++++++++++++++++++---------------
>  3 files changed, 30 insertions(+), 23 deletions(-)

...okay, the size of the diffstat seems tolerable (good that we don't
have many macros that expand to a temporary variable declaration and
which are likely to be heavily reused from nested contexts).

> 
> diff --git a/include/qapi/qmp/qobject.h b/include/qapi/qmp/qobject.h
> index 9003b71fd3..7b50fc905d 100644
> --- a/include/qapi/qmp/qobject.h
> +++ b/include/qapi/qmp/qobject.h
> @@ -45,10 +45,12 @@ struct QObject {
>      struct QObjectBase_ base;
>  };
>  
> -#define QOBJECT(obj) ({                                         \
> -    typeof(obj) _obj = (obj);                                   \
> -    _obj ? container_of(&(_obj)->base, QObject, base) : NULL;   \
> +#define QOBJECT_INTERNAL(obj, l) ({                                     \
> +    typeof(obj) PASTE(_obj, l) = (obj);                                 \
> +    PASTE(_obj, l)                                                      \
> +        ? container_of(&(PASTE(_obj, l))->base, QObject, base) : NULL;  \
>  })
> +#define QOBJECT(obj) QOBJECT_INTERNAL((obj), __COUNTER__)

Slick!  Every call to QOBJECT() defines a unique temporary variable
name.  But as written, QOBJECT(o) expands to this (when __COUNTER__ is
1):

({
  typeof((o)) _obj1 = ((o));
  _obj1 ? container_of(&(_obj1)->base, QObject, base) : NULL;
})

which has three sets of redundant parens that could be elided.  Why do
you need to add () around obj when forwarding to QOBJECT_INTERNAL()?
The only way the expansion of the text passed through the 'obj'
parameter can contain a comma is if the user has already parenthesized
it on their end (not that I expect a comma expression to be a frequent
argument to QOBJECT(), but who knows).  Arguing that it is to silence
a syntax checker is weak; since we must NOT add parens around the
parameters to QOBJECT_INTERNAL (calling PASTE((_obj), (l)) is
obviously wrong).

Meanwhile, the repetition of three calls to PASTE() is annoying.  How
about:

#define QOBJECT_INTERNAL_2(_obj, _tmp) ({ \
  typeof _obj _tmp = _obj; \
  _tmp ? container_of(&_tmp->base, QObject, base) : NULL; \
  )}
#define QOBJECT_INTERNAL_1(_arg, _tmp) QOBJECT_INTERNAL_2(_arg, _tmp)
#define QOBJECT_INTERNAL(_arg, _ctr) \
  QOBJECT_INTERNAL_1(_arg, PASTE(_obj, _ctr))
#define QOBJECT(obj) QOBJECT_INTERNAL((obj), __COUNTER__)

or:

#define QOBJECT_INTERNAL_2(_obj, _tmp) ({ \
  typeof(_obj) _tmp = (_obj); \
  _tmp ? container_of(&_tmp->base, QObject, base) : NULL; \
  )}
#define QOBJECT_INTERNAL_1(_arg, _tmp) QOBJECT_INTERNAL_2(_arg, _tmp)
#define QOBJECT_INTERNAL(_arg, _ctr) \
  QOBJECT_INTERNAL_1(_arg, PASTE(_obj, _ctr))
#define QOBJECT(obj) QOBJECT_INTERNAL(obj, __COUNTER__)

where, in either case, QOBJECT(o) should then expand to

({
  typeof (o) _obj1 = (o);
  _obj1 ? container_of(&_obj1->base, QObject, base) : NULL;
})

>  
>  /* Required for qobject_to() */
>  #define QTYPE_CAST_TO_QNull     QTYPE_QNULL
> diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
> index d95612f7a0..3f80ffac69 100644
> --- a/include/qemu/atomic.h
> +++ b/include/qemu/atomic.h
> @@ -157,13 +157,14 @@
>      smp_read_barrier_depends();
>  #endif
>  
> -#define qatomic_rcu_read(ptr)                          \
> -    ({                                                 \
> +#define qatomic_rcu_read_internal(ptr, l)               \
> +    ({                                                  \
>      qemu_build_assert(sizeof(*ptr) <= ATOMIC_REG_SIZE); \
> -    typeof_strip_qual(*ptr) _val;                      \
> -    qatomic_rcu_read__nocheck(ptr, &_val);             \
> -    _val;                                              \
> +    typeof_strip_qual(*ptr) PASTE(_val, l);             \
> +    qatomic_rcu_read__nocheck(ptr, &PASTE(_val, l));    \
> +    PASTE(_val, l);                                     \
>      })
> +#define qatomic_rcu_read(ptr) qatomic_rcu_read_internal((ptr), __COUNTER__)

Same observation about being able to reduce the number of PASTE()
calls by adding yet another layer of macro invocations.

>  
>  #define qatomic_rcu_set(ptr, i) do {                   \
>      qemu_build_assert(sizeof(*ptr) <= ATOMIC_REG_SIZE); \
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index 21ef8f1699..9c191ebe99 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -371,18 +371,21 @@ void QEMU_ERROR("code path is reachable")
>   * have to open-code it.  Sadly, Coverity is severely confused by the
>   * constant variants, so we have to dumb things down there.
>   */
> +#define PASTE(a, b) a##b
> +#define MIN_INTERNAL(a, b, l)                                           \
> +    ({                                                                  \
> +        typeof(1 ? (a) : (b)) PASTE(_a, l) = (a), PASTE(_b, l) = (b);   \
> +        PASTE(_a, l) < PASTE(_b, l) ? PASTE(_a, l) : PASTE(_b, l);      \
> +    })

And again.

I think you are definitely on the right track to have all internal
variable declarations within a macro definition use multi-layered
expansion with the help of __COUNTER__ to ensure that the macro's
temporary variable is globally unique; so if you leave it as written,
I could live with:

Reviewed-by: Eric Blake <eblake@redhat.com>

But if you respin it to pick up any of my suggestions, I'll definitely
spend another review cycle on the result.

If it helps, here's what I ended up using in nbdkit:

https://gitlab.com/nbdkit/nbdkit/-/blame/master/common/include/unique-name.h#L36
/* https://stackoverflow.com/a/1597129
 * https://stackoverflow.com/a/12711226
 */
#define XXUNIQUE_NAME(name, counter) name ## counter
#define XUNIQUE_NAME(name, counter) XXUNIQUE_NAME (name, counter)
#define NBDKIT_UNIQUE_NAME(name) XUNIQUE_NAME (name, __COUNTER__)

https://gitlab.com/nbdkit/nbdkit/-/blame/master/common/include/minmax.h#L47
#include "unique-name.h"

#undef MIN
#define MIN(x, y) \
  MIN_1 ((x), (y), NBDKIT_UNIQUE_NAME (_x), NBDKIT_UNIQUE_NAME (_y))

...
#define MIN_1(x, y, _x, _y) ({                 \
      __auto_type _x = (x);                    \
      __auto_type _y = (y);                    \
      _x < _y ? _x : _y;                       \
    })

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 14:54:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 14:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.593995.927154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbj3m-0007N7-VI; Thu, 31 Aug 2023 14:54:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 593995.927154; Thu, 31 Aug 2023 14:54: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 1qbj3m-0007N0-S0; Thu, 31 Aug 2023 14:54:14 +0000
Received: by outflank-mailman (input) for mailman id 593995;
 Thu, 31 Aug 2023 14: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=GYAZ=EQ=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1qbj3l-0007Mu-Gr
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 14:54:13 +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 3e746048-480e-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 16:54:11 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-522dd6b6438so1170650a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 07:54:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e746048-480e-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693493650; x=1694098450; 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=2wEWAeSU+xhAZFakzZbQNkD6WWYDXkiKXFY/AdXwAUY=;
        b=dQv4VDlng04203vHOvm95mExMCoGCVlTg3WclaPc0axchXeb+oYT5GughuzP/M0EEL
         AyenVpJ2mACRMMtvXfwt4tL9d0Dd6aozRCBjM3xg9hZZ7aufSsX/AKQFixbPAs2NSPte
         4ByO7LXXXy59gH9TU14fYVzdNZF8EDggaEC1mPxEwEy0JX8vN/KJN2ljcEwMNJmuScxj
         ohYxjbld8Q4j0l8exActZsKKrnWeqE8mZHrcMDMauKB1vuC0YlqAF/Y4sY7XbxKAicVW
         ESmT5dLDH7m1OeIaLMGmTSSlKNTlZce1oPqNfwUHn2eRWWw7PrKhcWr2dhbgurrYftTv
         2qfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693493650; x=1694098450;
        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=2wEWAeSU+xhAZFakzZbQNkD6WWYDXkiKXFY/AdXwAUY=;
        b=P750My/Wo8KYKY4eYKPcX7/FFOqS+9aPvDeGXw/x0LCVJbOTk40J41y7gsoKsFcaLs
         u7UlrRc+jiHSOpjl7nL4b4ciKDN/6L+U26Wmyqs7asIJhU9HysIXxDY/zha+8kHdKSkT
         y33dpDBQPbWtm/URD2f0ChyVx/MKinYRzEbLn773GXs4jsljb2hdyQOFAoooo4M2GRtY
         XY49XzolP6iIcKtOx9ZN60SjGKnwcWpupIXD/wO0Nv0PBijCvpa7BMu3bvgrrcoePU6f
         8CJeMgITZrW0VcO9TtNcT+qeQeLhVXQOhmO9+h2gYZmH1CuZ9Z+g2Fw1AbrzxTnsHf4U
         ng2Q==
X-Gm-Message-State: AOJu0YwinMDiuyUBXiAIbrE6CmjSTbSrANGkxMHWCbElxb+V+yNFEPoZ
	/spYT/P68/OcLjz8G0h+/xygngrBXNGb5CP5loMyeQ==
X-Google-Smtp-Source: AGHT+IFqT8KTaZoEKWvPQ8gzuOKgMSnOVcBh2vLKZ3yJ/Ezgic6ziyRaHhtm93rngv6BIta49p6MDa1m6R6t3HSfp6Y=
X-Received: by 2002:a05:6402:1604:b0:522:3a37:a463 with SMTP id
 f4-20020a056402160400b005223a37a463mr4323944edv.20.1693493650556; Thu, 31 Aug
 2023 07:54:10 -0700 (PDT)
MIME-Version: 1.0
References: <20230831132546.3525721-1-armbru@redhat.com> <20230831132546.3525721-4-armbru@redhat.com>
In-Reply-To: <20230831132546.3525721-4-armbru@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 31 Aug 2023 15:53:59 +0100
Message-ID: <CAFEAcA-0yYGkeg1gOtz8GRp-DbaxMQCzhRf=B4rq=Bz_DrsxNA@mail.gmail.com>
Subject: Re: [PATCH 3/7] ui: Clean up local variable shadowing
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, 
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com, 
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de, sstabellini@kernel.org, 
	anthony.perard@citrix.com, paul@xen.org, pbonzini@redhat.com, 
	marcandre.lureau@redhat.com, berrange@redhat.com, thuth@redhat.com, 
	philmd@linaro.org, stefanha@redhat.com, fam@euphon.net, quintela@redhat.com, 
	peterx@redhat.com, leobras@redhat.com, kraxel@redhat.com, 
	qemu-block@nongnu.org, xen-devel@lists.xenproject.org, alex.bennee@linaro.org
Content-Type: text/plain; charset="UTF-8"

On Thu, 31 Aug 2023 at 14:25, Markus Armbruster <armbru@redhat.com> wrote:
>
> Local variables shadowing other local variables or parameters make the
> code needlessly hard to understand.  Tracked down with -Wshadow=local.
> Clean up: delete inner declarations when they are actually redundant,
> else rename variables.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>


> diff --git a/ui/vnc-enc-zrle.c.inc b/ui/vnc-enc-zrle.c.inc
> index c107d8affc..edf42d4a6a 100644
> --- a/ui/vnc-enc-zrle.c.inc
> +++ b/ui/vnc-enc-zrle.c.inc
> @@ -153,11 +153,12 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
>      }
>
>      if (use_rle) {
> -        ZRLE_PIXEL *ptr = data;
> -        ZRLE_PIXEL *end = ptr + w * h;
>          ZRLE_PIXEL *run_start;
>          ZRLE_PIXEL pix;
>
> +       ptr = data;
> +        end = ptr + w * h;
> +
>          while (ptr < end) {
>              int len;
>              int index = 0;
> @@ -198,7 +199,7 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
>          }
>      } else if (use_palette) { /* no RLE */
>          int bppp;
> -        ZRLE_PIXEL *ptr = data;
> +        ptr = data;
>
>          /* packed pixels */
>
> @@ -241,8 +242,6 @@ static void ZRLE_ENCODE_TILE(VncState *vs, ZRLE_PIXEL *data, int w, int h,
>  #endif
>          {
>  #ifdef ZRLE_COMPACT_PIXEL
> -            ZRLE_PIXEL *ptr;
> -
>              for (ptr = data; ptr < data + w * h; ptr++) {
>                  ZRLE_WRITE_PIXEL(vs, *ptr);
>              }

For this one I'm tempted to suggest instead moving the
pix and end currently at whole-function scope into their
own block, so it's clear these are actually four
completely independent uses of ptr/end. But either way

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 15:52:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 15:52:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594002.927164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbjxf-0006ot-Un; Thu, 31 Aug 2023 15:51:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594002.927164; Thu, 31 Aug 2023 15:51:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbjxf-0006om-Rl; Thu, 31 Aug 2023 15:51:59 +0000
Received: by outflank-mailman (input) for mailman id 594002;
 Thu, 31 Aug 2023 15:51:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D4UB=EQ=collabora.com=dmitry.osipenko@srs-se1.protection.inumbo.net>)
 id 1qbjxe-0006of-GM
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 15:51:58 +0000
Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f5e74b0-4816-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 17:51:55 +0200 (CEST)
Received: from [192.168.2.167] (109-252-153-31.dynamic.spd-mgts.ru
 [109.252.153.31])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (No client certificate requested)
 (Authenticated sender: dmitry.osipenko)
 by madras.collabora.co.uk (Postfix) with ESMTPSA id 5782C66072A7;
 Thu, 31 Aug 2023 16:51:53 +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: 4f5e74b0-4816-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
	s=mail; t=1693497114;
	bh=txqORZvT2425jW7L7Z5f4tUBxUB98IXFLVxcJ2amFPo=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=ofuM53N6rjbsDfD2gPoyX+wfNxrnJFSq/UyO9QbSurqmGQ+ErXv2xqAaiPk09apkv
	 8A2oVgidG33v58DDwdzpFMPQ4gukM3rbqRMAng83bFK2x/t7vb2To/Eg/GfjKo51an
	 x1CH3dl3u5XFJ/Qvm2D9Oy/55k6FbspQJPvGOhVL7qxoVX4n8yO38QK1rzFkflpDhH
	 XKVcs09Z9IqwRPawDUPoZx/fYx8e10nWUb4sOy+Yf4GtKkp5/EbcqxzwUiL10rrNzA
	 FIXhsWQu+Qvov3/2Np2+8HPaThFpH0iL4+oSiLDBtNfG5dNknaTUw7mgxjiLzURolJ
	 3FDkiMsBGuz+g==
Message-ID: <5462a77f-c66d-af2d-fc07-df9f787558c2@collabora.com>
Date: Thu, 31 Aug 2023 18:51:50 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [QEMU PATCH v4 12/13] virtio-gpu: Initialize Venus
Content-Language: en-US
To: Antonio Caggiano <quic_acaggian@quicinc.com>,
 Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
 Gurchetan Singh <gurchetansingh@chromium.org>, ernunes@redhat.com,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Alyssa Ross <hi@alyssa.is>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>,
 Honglei Huang <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
 Chen Jiqian <Jiqian.Chen@amd.com>
References: <20230831093252.2461282-1-ray.huang@amd.com>
 <20230831093252.2461282-13-ray.huang@amd.com>
 <ca8bcf9a-2886-aed0-5229-4787808bd39c@quicinc.com>
From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
In-Reply-To: <ca8bcf9a-2886-aed0-5229-4787808bd39c@quicinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 8/31/23 13:40, Antonio Caggiano wrote:
> Hi Huang,
> 
> Thank you for pushing this forward!
> 
> On 31/08/2023 11:32, Huang Rui wrote:
>> From: Antonio Caggiano <antonio.caggiano@collabora.com>
>>
>> Request Venus when initializing VirGL.
>>
>> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>> ---
>>
>> v1->v2:
>> Â Â Â Â  - Rebase to latest version
>>
>> Â  hw/display/virtio-gpu-virgl.c | 2 ++
>> Â  1 file changed, 2 insertions(+)
>>
>> diff --git a/hw/display/virtio-gpu-virgl.c
>> b/hw/display/virtio-gpu-virgl.c
>> index 83cd8c8fd0..c5a62665bd 100644
>> --- a/hw/display/virtio-gpu-virgl.c
>> +++ b/hw/display/virtio-gpu-virgl.c
>> @@ -887,6 +887,8 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>> Â Â Â Â Â  }
>> Â  #endif
>> Â  +Â Â Â  flags |= VIRGL_RENDERER_VENUS;
>> +
> 
> VIRGL_RENDERER_VENUS is a symbol only available from virglrenderer 0.9.1
> [0] and only if VIRGL_RENDERER_UNSTABLE_APIS is defined.
> 
> Luckily for us, VIRGL_RENDERER_UNSTABLE_APIS is defined unconditionally
> from virglrenderer 0.9.0 [1], so we could check for that in
> qemu/meson.build
> 
> e.g.
> 
> 
> Â  if virgl.version().version_compare('>= 0.9.0')
> Â Â Â  message('Enabling virglrenderer unstable APIs')
> Â Â Â  virgl = declare_dependency(compile_args:
> '-DVIRGL_RENDERER_UNSTABLE_APIS',
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dependencies: virgl)
> Â  endif
> 
> 
> Also, while testing this with various versions of virglrenderer, I
> realized there are no guarantees for Venus backend to be available in
> the linked library. Virglrenderer should be built with
> -Dvenus_experimental=true, and if that is not the case, the following
> virgl_renderer_init would fail for previous versions of virglrenderer or
> in case it has not been built with venus support.
> 
> I would suggest another approach for that which tries initializing Venus
> only if VIRGL_RENDERER_VENUS is actually defined. Then, if it fails
> cause virglrenderer has not been built with venus support, try again
> falling back to virgl only.

All the APIs will be stabilized with the upcoming virglrender 1.0
release that will happen soon. There is also a venus protocol bump, qemu
will have to bump virglrenderer's version dependency to 1.0 for venus
and other new features.

-- 
Best regards,
Dmitry



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 15:52:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 15:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594006.927174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbjyQ-0007Gm-6v; Thu, 31 Aug 2023 15:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594006.927174; Thu, 31 Aug 2023 15:52:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbjyQ-0007Gf-3q; Thu, 31 Aug 2023 15:52:46 +0000
Received: by outflank-mailman (input) for mailman id 594006;
 Thu, 31 Aug 2023 15:52:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pxdq=EQ=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1qbjyO-0007DD-4l
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 15:52:44 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b3991b1-4816-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 17:52:43 +0200 (CEST)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-1bf1935f6c2so6324855ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 08:52:43 -0700 (PDT)
Received: from [192.168.0.4] ([71.212.131.115])
 by smtp.gmail.com with ESMTPSA id
 h10-20020a170902704a00b001b9da8b4eb7sm1413156plt.35.2023.08.31.08.52.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 31 Aug 2023 08:52: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: 6b3991b1-4816-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693497160; x=1694101960; 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=LKD9qFqmFZitD6OLdD4lyfJU5OvuNlWNTHaaowmgB/k=;
        b=h9RQ56kQalW3YRVLTaZkGzJuJj8da0BsTQMtAAe99MovSzLm3LgCJXGGpYLBQTYVKC
         nt52lXwNycgRW7NPqJbZPBk5mLAB077DqC4cueEwFvVGCSn41ATy5FUbexSpQikna7cc
         jSZPsqWRd0uN286DIAZe1CT4BPvIxz0wJ1pOgcn8PFidR87b9in2UYoYvduTi+19GFeX
         pnLQvDwQy9i/+lRZTiZkfgn/vcTa2fn6vwBLAQU5A8l3SDSYAelw7VfOzl4SpaEbd31K
         SNnZIrX1wgBSXFHFGrnm1RZTfTY09FCo3iiqNpCtKMDTaWpwr4mb8G7OjpIYIdGvEg7I
         qnGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693497160; x=1694101960;
        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=LKD9qFqmFZitD6OLdD4lyfJU5OvuNlWNTHaaowmgB/k=;
        b=kLTOJZAlMguOseQNnp7JprkMuaLtWyNGzcx4c+WxDBArxRzz0AuOzLspV/PYFT4b7x
         JANAk9ZpGNISae6KigYHmQ1eSQLCjPo+N7FyPRavgTYySbrFH8aBq65vzbYByVAheza4
         lLDj55HhBWdv4XbM7RePcdY6zK79g83q0/Pw0gHNLaCh0d9FA2Kn+vURYz59jpRlThm+
         dJConopey1EQ0DfvBaEXTd7rXmrG+XA/k38Ve5CpzKniptZ0qzprMnvoVR6NbfZZGV/q
         WSqaiyb1bWmhqqqQwolRRbRYcPux60Ed6ITWjSp0Zfg49xRrNFHZKwA9xc6iyjlF2/y+
         RrBA==
X-Gm-Message-State: AOJu0YzK01Pwtnq0i9EvwH/LSFzFaJyNqK65JwiSuFlKmsPsxZ10eGih
	Poal2G4lpFm8vWe5pibK+iD3PA==
X-Google-Smtp-Source: AGHT+IERCFmBzPxmrXgph50c3mHgrBYUSn0DLvtBvq9JrAm6Gygg3BxcyumHn3cIkJw7JhXYSOUQaw==
X-Received: by 2002:a17:902:d4c9:b0:1bc:1e17:6d70 with SMTP id o9-20020a170902d4c900b001bc1e176d70mr135168plg.24.1693497160385;
        Thu, 31 Aug 2023 08:52:40 -0700 (PDT)
Message-ID: <f751ab27-2d6e-19a2-a0bc-ca021a61a8f4@linaro.org>
Date: Thu, 31 Aug 2023 08:52:36 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 7/7] qobject atomics osdep: Make a few macros more
 hygienic
Content-Language: en-US
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, hreitz@redhat.com, eblake@redhat.com,
 vsementsov@yandex-team.ru, jsnow@redhat.com, idryomov@gmail.com, pl@kamp.de,
 sw@weilnetz.de, sstabellini@kernel.org, anthony.perard@citrix.com,
 paul@xen.org, pbonzini@redhat.com, marcandre.lureau@redhat.com,
 berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
 stefanha@redhat.com, fam@euphon.net, quintela@redhat.com, peterx@redhat.com,
 leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
 xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
 peter.maydell@linaro.org
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-8-armbru@redhat.com>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20230831132546.3525721-8-armbru@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/31/23 06:25, Markus Armbruster wrote:
> +#define PASTE(a, b) a##b

We already have glue() in qemu/compiler.h.

The rest of it looks quite sensible.


r~


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 16:00:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 16:00:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594014.927183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbk5X-0000p3-4l; Thu, 31 Aug 2023 16:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594014.927183; Thu, 31 Aug 2023 16:00:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbk5W-0000ow-UK; Thu, 31 Aug 2023 16:00:06 +0000
Received: by outflank-mailman (input) for mailman id 594014;
 Thu, 31 Aug 2023 16:00: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 1qbk5W-0000Md-DL; Thu, 31 Aug 2023 16:00: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 1qbk5T-0004TB-67; Thu, 31 Aug 2023 16: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 1qbk5S-0006ZP-QQ; Thu, 31 Aug 2023 16:00:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbk5S-00086I-Pu; Thu, 31 Aug 2023 16:00: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=WIGrCi3FdYk0XlJ9OV7Ig/8tNZJDH78oG609NYjYcas=; b=kWqkD9KRFM1dXR28j3WctclKKb
	rxkcbSq5JXxBb52gSTOYIIHVAwsxecCQiScEBnOWGBHKft4AWvdoFKljLrXt8wJVNjrMDkKvBBKLj
	D9++fWFs7oMXohviisW9E464fPxNaok8D09d19iuBT05MrCNI9q6oIt+dJZ7sb3rylQQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182582-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182582: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4c8144dd665619731b6c3c19f4f1ae664b69fa4b
X-Osstest-Versions-That:
    ovmf=c5753c3e38f3fde23eec9641cb3c433f443ff99e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 16:00:02 +0000

flight 182582 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182582/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4c8144dd665619731b6c3c19f4f1ae664b69fa4b
baseline version:
 ovmf                 c5753c3e38f3fde23eec9641cb3c433f443ff99e

Last test of basis   182573  2023-08-30 21:40:51 Z    0 days
Testing same since   182582  2023-08-31 13:42:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Eduardo Cuevas Farfan <eduardo.cuevas.farfan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   c5753c3e38..4c8144dd66  4c8144dd665619731b6c3c19f4f1ae664b69fa4b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 16:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 16:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594025.927194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbkGd-00033r-3K; Thu, 31 Aug 2023 16:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594025.927194; Thu, 31 Aug 2023 16: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 1qbkGd-00033k-0Z; Thu, 31 Aug 2023 16:11:35 +0000
Received: by outflank-mailman (input) for mailman id 594025;
 Thu, 31 Aug 2023 16:11:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xL7T=EQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qbkGc-00033c-3P
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 16:11:34 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c6e178a-4819-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 18:11:31 +0200 (CEST)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7347.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Thu, 31 Aug
 2023 16:11:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6745.021; Thu, 31 Aug 2023
 16:11: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: 0c6e178a-4819-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QnnMsx+wpJhRkj3+ed6mYC0KeVvPmZlKkpbFptfg5htMFV5ki5Mqlmrk9+bMo9VEyJKJoqONYAQhVRcM2jSgvE0WUhuyeRSPNBnnqOLfgEESItlAWKuEO80+A2QY3UaxSU61sMqjaIYXamgBoD0TWPYokM1+P9xNEw0jzcVSsW4aQ5ZoDcrD9UDN6K5qE2UjhdAp8PATskm/gfr27RbW6SEs8BoQ9ljFy9yWLlRbarhT+cDTNyYWdQ9Bqyzzx8m/og4PsJ18hAxOILJbqYEnWBp49ILSBr19Ba1CTMFSmU4tB2I88UpLY4UWNewD2Q1qgWhSa6jxobv4xFJ495FQ3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4secnyOR9xjOEmdLFhXnwxRHt1I72HTXMJCoq5dR7m0=;
 b=c5712NtdKIEb1NRuwSZuGubXdOwzZIGUJmmpYPB8ECh+kSLImiy+TDYpH6Ka3jP8+Z+xaRbLr7Vw+qxeKQ+9RVTKCqUFnWb4yxo+ErDGJUenEzz5vkePXPSmphfkrTGa2a0IpT3Wm6qNajiHh9X4fi7HL5F7htUNakFYX7HOaX+pTEh4Z4sdsOzrdbADJ0QnNMp9zmwqXYMj5/yrissbR56zkjnyffjR6ZArbCuAdarLFf8VKNrFBjntY0MEg++YyWrWVvxurXaaywl8sywFhS7X89JcY+CfhgZsJ7qTBVUPOtAYTElloxqusouhJRT6kt0hPEd1Qjolnr0XCW6JSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4secnyOR9xjOEmdLFhXnwxRHt1I72HTXMJCoq5dR7m0=;
 b=Tr8DrojFAIfy6X7yWqKfI2zMZyEsHpPtwQVsqwS5qT8t+XOCAdfgSmNZewoTRX208khDUzkQTdTmwXRlVqOT0CnkWv6bk/CYaeIf7Dd6gc89yHq1f4K/UgPipYQOaGspUbctnH6fRrCN0Rl82rhZtCaSBMmL0pj40oX1azJGsz4rKbgQjjg+5bPgdsYSkJl59H2pyXtdou+89OZJ8CYdAC8cQAmto41vogYKonTm9VSx0iCkAkbiN7dgJE+qI+Fpm2sza1S6My5lg0056rkLY7SdeAdWQ072/W3ypVW5BPHBH5QxVp2x7gLFbhWq1EgbmBgtZygnXZoA0hf9mAGfKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <926bf22d-de80-d19f-2b76-1a8eb7d9e26c@suse.com>
Date: Thu, 31 Aug 2023 18:11:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v3 2/2] xen: move arm/include/asm/vm_event.h to
 asm-generic
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1693414172.git.oleksii.kurochko@gmail.com>
 <ee7c3aa566dadd9350f39f5aedbfce3ae72ba663.1693414172.git.oleksii.kurochko@gmail.com>
 <3a165375-0dd2-9a3b-403d-2306acd60b92@suse.com>
 <03d68a602592d9f542936ec7b5fc3b33777720cf.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <03d68a602592d9f542936ec7b5fc3b33777720cf.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7347:EE_
X-MS-Office365-Filtering-Correlation-Id: a479f18c-6fba-480d-214a-08dbaa3ceefc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l7CaBIJEDk+MvqcCJc7HmpBzdwLPLuzY10s2zMcnqweBu5974OZWq+OF7CDqTwPdcttSrLV5WIBWDMv7IPu8jdGC2SeAJrpelFYwyFruvBw/4WtfDkis4SKXzhX3sNTFWUXRTISwulyOwW/B3vXMpt3xcxdMxYVAjysbGRjcYASb0+WzBbZlWqfFyO/mXdSvZ4g+aGf+4n7AlNRCcoXIPQ9WM8UAFYSp+WN32VM6PBxSv2RLYetvmVYJxOI1u8kNt18Lt59HQFddZ6fyU21m6YXTdVQHi67bIyJVR2daj+K0mrQ2tK50bGKyjmlMsAz4rumKt7gyMfVc8ogvBSdkveYhKod2myUA6SIB0Cw7PLVp7TIePXlSq2q3gyvHAGERcxsVGDAiJO7aRj8crqAh4Rr7EyGEq9gF2OKxrRVtS+bISOzXCXzdO0G7Q2EYr8aNAFOhM6UXxwQIJQfJCKiEZFGNI+7KFAr4jxCNRhwqJd0vwUBYUAdjnntIiSYqPShRYRsx9poVU1Z+xtcHzUMLpuR8y3565blu2MMT6/rccpL/9AwywYMhliwvR55xn4LmCdmc2qhGN00zEf72YJyv08l/LRhaXeHF9x0IdHjk2kAuVhwkWahJLuKc1Q/zpHgTVPkBx22VAe50+sYMYJKMafWih5RMH3QoHfQ3SDOrA7Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(366004)(346002)(39860400002)(186009)(1800799009)(451199024)(478600001)(83380400001)(26005)(31686004)(2616005)(6486002)(31696002)(53546011)(6512007)(6506007)(5660300002)(66556008)(8936002)(54906003)(6916009)(38100700002)(66476007)(2906002)(36756003)(8676002)(86362001)(41300700001)(4326008)(316002)(66946007)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bndqbkV4NGkxK1F3YThpMWkwcGM0SzZSN09obXUwOHU2TW9pTlBvVlNnbVBC?=
 =?utf-8?B?SllHdzhNN0s2R1lodjNHSndoYVRGNWgzYkJwd3RSUTlvR3BscXg4YnFtWWh0?=
 =?utf-8?B?NmtaSWh4MUV2SVR1U2UzZ2pVeDBEVG1heU85bVV1bERmclUxL2tSTktFMlFi?=
 =?utf-8?B?V2FYY2NLRDRsWlJ5c1hQb2dBTmhCMnJhd3NHaGUyeGZIQUhqd2YrTkJ3NTl6?=
 =?utf-8?B?OXZWN0xkeTA0Tnd1ZkFScE9yTWhYM0NHUDZvMjBjcEIwTWNBdnQ1N3hXZDlC?=
 =?utf-8?B?aVprNGw5MmdrcnhZc0FDbytSVUdQTFdaeDdaRVQrT1MwM0FtaUU2NFFKQk5m?=
 =?utf-8?B?V0ZoMDFrcHB0VlJQYUorWTZnQytTbUZBTGxJeGM3NWFYSThCem1qT1NqcFJz?=
 =?utf-8?B?T2dzVmhxZ2hVeFhZa2NOMllVTENpRWlVUExOUXdkZU1nTWdWb1RHaTc3THFY?=
 =?utf-8?B?WFJrU0VrOWN2aGEvaHRnN3RoNlIyMU1abzJjM1B3cG5mUkQzWXFvakpOcUpW?=
 =?utf-8?B?YXhrejlUQmtSWlk2ckF6VDcvTDNEdUZvQlRwUlRwUFNPQzhPbFhWU3JhNXFD?=
 =?utf-8?B?WCsxaTQyQXYxL0NZQUtkWWVxODdUNFpkTC9adTU4alZHTmN3L2FaSzMzUG1T?=
 =?utf-8?B?eTlkT1dpa2llZC8wUWxudWNEcmRNbzhJQm05eWVGWVdpT3BnWlQ1UGFMaWIz?=
 =?utf-8?B?eWlmVXVGT1M1U25IdGp3LzYwV1hYZkx6Q004QVQ1VlBoeHBVN0UzYlJncUVZ?=
 =?utf-8?B?NnRRSGpBaWQrb3pxY21udkRLM2pwODIzSjN4blh6ekdRa1BOa2J6NXIxd2pv?=
 =?utf-8?B?VjJ5UU1rVjBsLzgwcjJCSG1tNDd2MC9naWJGQ0E2dHVHdkR3d0RkNHFsa29j?=
 =?utf-8?B?dFJzaFUvU2t1OFRnb00xSVNBb3VMbEhBODBoL3VDWHdHS2hvQVVsNDgrYWtM?=
 =?utf-8?B?aUVabnhjMHNtWk9IaG1NSElGTWxFV0orTE4xaVUwUDkzKzE0dnFnZUxmUE9n?=
 =?utf-8?B?NStKdkE1MDVqRy9JVVdUQjRLVGphNDRUYTg1NVIzRFhqVmdLUTQrd1plbFdS?=
 =?utf-8?B?V2J0NUtobU1TNDlHSFFQUUtPaG52Q09FTGFQOEI5MGFVd2NUN1lTbEJJMmJ6?=
 =?utf-8?B?L2RMMjMwQ0ZqdkRGSGNBVGpsSVppRUR3UENMbTcvYXJNVzVVT1dmTVU3R244?=
 =?utf-8?B?MzNETUtMVUxKZ1o2dFRMdG1SQlp3b3hxbjZ5NEhqMHJCbDcvZGhMdUIrMm52?=
 =?utf-8?B?U2tlRElHS3NQNHUwemNVQko1QUJ4L0xBbHJtRHBMTVU2aW9zOVBBR3crbnJM?=
 =?utf-8?B?RXlPQTR5T1RZMnc1SEtWSkFKZGNLQlVSOEY3S1V5NWoxSTJ5QTVPbHN2ME9D?=
 =?utf-8?B?VnFPbmx0OXZTUGc5amNDWEJ5ME9OcURRQ0E0NUYxQWdER1lLVFdkTGhBdmEw?=
 =?utf-8?B?QkVyQnB3SUhhRjRGWVFlVXA5bGhSdGcwWVZ1d01uU1lCZTdMZTlCNlRWZGRN?=
 =?utf-8?B?RVcwU1Z2djk0bytoemh6RGxheXJjUzlhdDN5QVE5akRmcGFUZ09yL0JNK3Ri?=
 =?utf-8?B?ZlZncnJ0VklPNmI5cDZQN0ZTRVhyNW0yMENxQXllN2N2TFVFQXlzdXNMR1JX?=
 =?utf-8?B?SnFuSXNmbFgzL0JyK3djeFpxZFllR3hYZVc1N0h1SExlaVFTWXFXWmpRYktt?=
 =?utf-8?B?NFVFQm9QUTRGc1hhT2Mwekp6clBmd1RlUXQxWVB2b3Z6bld3YjFmbWEyNERU?=
 =?utf-8?B?Tkx3UEZPM0JDT0JUOHdvdFN5cnR0R1B3RXJSYnJyM2xKMDFMR3Rra0VBRFpk?=
 =?utf-8?B?d2ZVNythQk5rNlE1eGlqekMxQXBCcjNwWE14Sm5JWnJBNUE2aC9vQStYcEhx?=
 =?utf-8?B?cjRwcVpqQUhmUUlJcTBmWWJoZ0xqc0tTNUtDQ1BBc3J1MXp6MUFnNUZXdXg4?=
 =?utf-8?B?SFJJaGpUL2xkeUNxWnJDYm55elUzZ1M4RWFoU1RkZU94NTM0UXAvUHBRa3Iy?=
 =?utf-8?B?Ry9zTUo0Sno3Y3FDWjBlOTdDOHZQbUJoYWZva3pPbEx2MGtaUVc0RldxL0Y3?=
 =?utf-8?B?TGdDVEt2MStQdEpzbWFtL3Y4MkRFaEFxOGlZNHg4QkttUUN4VTl0c0VVRkNJ?=
 =?utf-8?Q?dbraeB3Z9uCfiqXZSSSnZdVE+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a479f18c-6fba-480d-214a-08dbaa3ceefc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 16:11:28.9355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5AjwpGY7wWJK+i6zDHsI2YIKdUr0KKMg1yMAW4jLISpwM0DwOY5JRijQVCtR7IbEeqJV83Iimj+IikZwDQUoYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7347

On 31.08.2023 16:02, Oleksii wrote:
> On Thu, 2023-08-31 at 11:46 +0200, Jan Beulich wrote:
>> On 30.08.2023 18:57, Oleksii Kurochko wrote:
>>> ---
>>> Â xen/arch/arm/include/asm/vm_event.hÂ Â Â  | 66 ----------------------
>>> ----
>>> Â xen/include/asm-generic/asm/vm_event.h | 55 +++++++++++++++++++++
>>> Â 2 files changed, 55 insertions(+), 66 deletions(-)
>>> Â delete mode 100644 xen/arch/arm/include/asm/vm_event.h
>>> Â create mode 100644 xen/include/asm-generic/asm/vm_event.h
>>
>> While it's a comment on the first patch, it's really better making
>> here:
>> Did you look at Linux? They don't put an intermediate asm/ here.
>> Instead
>> see their scripts/Makefile.asm-generic. That way an arch still has
>> control which generic headers it gets access to, without duplicating
>> any
>> of them.
> 
> IIUC scripts/Makefile.asm-generic script is needed to generate a
> wrapper for a header which will contain:
> #include <asm-generic/some.h>
> if it is mentioned generic-y += some.h in
> arch/${ARCH}/include/asm/Kbuild.
> 
> But do we need this generated wrapper header?
> Do we need all the support of generic-y in Kbuild, etc.?

For a single header we could likely get away without. But vm_event.h is
only the first example.

> In the previous patch of this patch series, it was added inclusion of
> $(srctree)/include/asm-generic after the inclusion of
> $(srctree)/arch/$(SRCARCH)/include so it will first look if the arch-
> specific header exists, and if not then use generic one.
> 
> Probably I misunderstood you and your suggestion was to have
> scripts/Makefile.asm-generic which will generate folder asm/ with
> necessary headers in arch specific folder?

Yes.

> So basically it was just a
> question if asm/ folder should exist in $(srctree)/include/asm-generic
> or not?

Not really, no. For "#include <asm/...>" to work, you can't simply omit
asm/ under asm-generic/. That's where the generated wrapper headers
come into play.

> One more thing I would like to clarify is the duplicating of the
> headers you mentioned above.
> But if the architecture doesn't want to use a generic header, then it
> still needs to add the header to arch/${ARCH}/include/asm and remove
> mention of the header from arch/${ARCH}/include/asm/Kbuild.

But then it's using its own custom header, not a duplication of whatever
is the (in the case here) stub one.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 17:48:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 17:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594032.927203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbllu-0005gI-RA; Thu, 31 Aug 2023 17:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594032.927203; Thu, 31 Aug 2023 17:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbllu-0005gB-O6; Thu, 31 Aug 2023 17:47:58 +0000
Received: by outflank-mailman (input) for mailman id 594032;
 Thu, 31 Aug 2023 17:47:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z9zM=EQ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qbllu-0005fK-1Q
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 17:47:58 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8347395e-4826-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 19:47:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F35988285183;
 Thu, 31 Aug 2023 12:47:53 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Wy0MrPEhccYC; Thu, 31 Aug 2023 12:47:52 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 832C3828538A;
 Thu, 31 Aug 2023 12:47:52 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qfbLZ-aUquAX; Thu, 31 Aug 2023 12:47:52 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 158798285183;
 Thu, 31 Aug 2023 12:47:52 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8347395e-4826-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 832C3828538A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1693504072; bh=PbyX2jOG3+u8jIViCmJyyd7ppkGx1yZXtgJiDh0EKAg=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=aN3r4yK6DpDp4tYafq5pmr/Fm+msZpdgk0j/MSsASIpYiRRbq92G59R6ArmGlfoVC
	 JjySpqUiDgW/6RdRCan4lcIN96WNcFrWgfEryFmIiCXS1CGznZrjy0iF+PWUE4wO2M
	 j3Qp1lt4V/GVPPNBjK7vHXTzhtC+T+wz71ibQnPc=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <80aa376b-137d-b799-cc3e-4e080abc2500@raptorengineering.com>
Date: Thu, 31 Aug 2023 12:47:51 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] xen/ppc: Implement atomic.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <6d97bdeb1c114026105e72c6ee6e1b024565bf95.1692816595.git.sanastasio@raptorengineering.com>
 <257cd320-fe81-f1be-f3e5-ef43e539660a@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <257cd320-fe81-f1be-f3e5-ef43e539660a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/29/23 8:43 AM, Jan Beulich wrote:
> On 23.08.2023 22:07, Shawn Anastasio wrote:
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/atomic.h
>> @@ -0,0 +1,390 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * PowerPC64 atomic operations
>> + *
>> + * Copyright (C) 2001 Paul Mackerras <paulus@au.ibm.com>, IBM
>> + * Copyright (C) 2001 Anton Blanchard <anton@au.ibm.com>, IBM
>> + * Copyright Raptor Engineering LLC
>> + *
>> + * 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.
>> + */
> 
> License text again despite the SPDX header?
>

Will fix.

>> +#ifndef _ASM_PPC64_ATOMIC_H_
>> +#define _ASM_PPC64_ATOMIC_H_
>> +
>> +#include <xen/atomic.h>
>> +
>> +#include <asm/memory.h>
>> +#include <asm/system.h>
> 
> I can see that you need memory.h, but I can't spot a need for system.h.
>

Just confirmed, you're correct. I'll drop it.

>> +static inline int atomic_read(const atomic_t *v)
>> +{
>> +    return *(volatile int *)&v->counter;
>> +}
>> +
>> +static inline int _atomic_read(atomic_t v)
>> +{
>> +    return v.counter;
>> +}
>> +
>> +static inline void atomic_set(atomic_t *v, int i)
>> +{
>> +    v->counter = i;
>> +}
>> +
>> +static inline void _atomic_set(atomic_t *v, int i)
>> +{
>> +    v->counter = i;
>> +}
>> +
>> +void __bad_atomic_read(const volatile void *p, void *res);
>> +void __bad_atomic_size(void);
>> +
>> +#define build_atomic_read(name, insn, type)                                    \
>> +    static inline type name(const volatile type *addr)                         \
>> +    {                                                                          \
>> +        type ret;                                                              \
>> +        asm volatile ( insn "%U1%X1 %0,%1" : "=r" (ret) : "m<>" (*addr) );     \
>> +        return ret;                                                            \
>> +    }
>> +
>> +#define build_atomic_write(name, insn, type)                                   \
>> +    static inline void name(volatile type *addr, type val)                     \
>> +    {                                                                          \
>> +        asm volatile ( insn "%U0%X0 %1,%0" : "=m<>" (*addr) : "r" (val) );     \
>> +    }
>> +
>> +#define build_add_sized(name, ldinsn, stinsn, type)                            \
>> +    static inline void name(volatile type *addr, type val)                     \
>> +    {                                                                          \
>> +        type t;                                                                \
>> +        asm volatile ( "1: " ldinsn " %0,0,%3\n"                               \
>> +                       "add%I2 %0,%0,%2\n"                                     \
>> +                       stinsn " %0,0,%3 \n"                                    \
>> +                       "bne- 1b\n"                                             \
>> +                       : "=&r" (t), "+m" (*addr)                               \
>> +                       : "r" (val), "r" (addr)                                 \
>> +                       : "cc" );                                               \
>> +    }
>> +
>> +build_atomic_read(read_u8_atomic, "lbz", uint8_t)
>> +build_atomic_read(read_u16_atomic, "lhz", uint16_t)
>> +build_atomic_read(read_u32_atomic, "lwz", uint32_t)
>> +build_atomic_read(read_u64_atomic, "ldz", uint64_t)
>> +
>> +build_atomic_write(write_u8_atomic, "stb", uint8_t)
>> +build_atomic_write(write_u16_atomic, "sth", uint16_t)
>> +build_atomic_write(write_u32_atomic, "stw", uint32_t)
>> +build_atomic_write(write_u64_atomic, "std", uint64_t)
>> +
>> +build_add_sized(add_u8_sized, "lbarx", "stbcx.",uint8_t)
>> +build_add_sized(add_u16_sized, "lharx", "sthcx.", uint16_t)
>> +build_add_sized(add_u32_sized, "lwarx", "stwcx.", uint32_t)
>> +
>> +#undef build_atomic_read
>> +#undef build_atomic_write
>> +#undef build_add_sized
>> +
>> +static always_inline void read_atomic_size(const volatile void *p, void *res,
>> +                                           unsigned int size)
>> +{
>> +    ASSERT(IS_ALIGNED((vaddr_t) p, size));
> 
> Nit: Stray blank before p (several more below).
>

Will fix.

>> +    switch ( size )
>> +    {
>> +    case 1:
>> +        *(uint8_t *)res = read_u8_atomic(p);
>> +        break;
>> +    case 2:
>> +        *(uint16_t *)res = read_u16_atomic(p);
>> +        break;
>> +    case 4:
>> +        *(uint32_t *)res = read_u32_atomic(p);
>> +        break;
>> +    case 8:
>> +        *(uint64_t *)res = read_u64_atomic(p);
>> +        break;
>> +    default:
>> +        __bad_atomic_read(p, res);
>> +        break;
>> +    }
>> +}
>> +
>> +static always_inline void write_atomic_size(volatile void *p, void *val,
> 
> const void *val? (But then below also don't cast away constness.)
>

Sure, that's reasonable. Will fix.

>> +                                            unsigned int size)
>> +{
>> +    ASSERT(IS_ALIGNED((vaddr_t) p, size));
>> +    switch ( size )
>> +    {
>> +    case 1:
>> +        write_u8_atomic(p, *(uint8_t *)val);
>> +        break;
>> +    case 2:
>> +        write_u16_atomic(p, *(uint16_t *)val);
>> +        break;
>> +    case 4:
>> +        write_u32_atomic(p, *(uint32_t *)val);
>> +        break;
>> +    case 8:
>> +        write_u64_atomic(p, *(uint64_t *)val);
>> +        break;
>> +    default:
>> +        __bad_atomic_size();
>> +        break;
>> +    }
>> +}
>> +
>> +#define read_atomic(p)                                                         \
>> +    ({                                                                         \
>> +        union {                                                                \
>> +            typeof(*(p)) val;                                                  \
>> +            char c[0];                                                         \
> 
> Using [0] here is likely to set us up for compiler complaints ...
>

AIUI zero-length members are explicitly permitted as a GNU extension,
but their usage here wasn't an explicit choice on my part as this macro
was inherited from arm's atomic.h. See below.

>> +        } x_;                                                                  \
>> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \
> 
> ... here. Can't this simply be c[sizeof(*(val))]? And do you need
> a union here in the first place, when read_atomic() takes void* as
> its 2nd parameter?
>

Yes, I should have taken a closer look at this before importing it from
arm. The type punning does seem entirely redundant given that
read_atomic_size takes a void* -- I'm not sure why it was written this
way to begin with.

In any case, I'll do away with the unnecessary union.

>> +        x_.val;                                                                \
>> +    })
>> +
>> +#define write_atomic(p, x)                                                     \
>> +    do                                                                         \
>> +    {                                                                          \
>> +        typeof(*(p)) x_ = (x);                                                 \
>> +        write_atomic_size(p, &x_, sizeof(*(p)));                               \
>> +    } while ( 0 )
>> +
>> +#define add_sized(p, x)                                                        \
>> +    ({                                                                         \
>> +        typeof(*(p)) x_ = (x);                                                \
>> +        switch ( sizeof(*(p)) )                                                \
>> +        {                                                                      \
>> +        case 1:                                                                \
>> +            add_u8_sized((uint8_t *) (p), x_);                                \
>> +            break;                                                             \
>> +        case 2:                                                                \
>> +            add_u16_sized((uint16_t *) (p), x_);                              \
>> +            break;                                                             \
>> +        case 4:                                                                \
>> +            add_u32_sized((uint32_t *) (p), x_);                              \
>> +            break;                                                             \
>> +        default:                                                               \
>> +            __bad_atomic_size();                                               \
>> +            break;                                                             \
>> +        }                                                                      \
>> +    })
> 
> Nit: Padding wants to align the backslashes.
>

Will fix.

>> +static inline void atomic_add(int a, atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( "1: lwarx %0,0,%3\n"
>> +                   "add %0,%2,%0\n"
>> +                   "stwcx. %0,0,%3\n"
>> +                   "bne- 1b"
>> +                   : "=&r" (t), "+m" (v->counter)
> 
> I notice you use "+m" here, but ...
> 
>> +                   : "r" (a), "r" (&v->counter)
>> +                   : "cc" );
>> +}
>> +
>> +static inline int atomic_add_return(int a, atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
>> +                   "1: lwarx %0,0,%2\n"
>> +                   "add %0,%1,%0\n"
>> +                   "stwcx. %0,0,%2\n"
>> +                   "bne- 1b"
>> +                   PPC_ATOMIC_EXIT_BARRIER
>> +                   : "=&r" (t)
>> +                   : "r" (a), "r" (&v->counter)
>> +                   : "cc", "memory" );
>> +
>> +    return t;
>> +}
>> +
>> +static inline void atomic_sub(int a, atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( "1: lwarx %0,0,%3\n"
>> +                   "subf %0,%2,%0\n"
>> +                   "stwcx. %0,0,%3\n"
>> +                   "bne- 1b"
>> +                   : "=&r" (t), "=m" (v->counter)
>> +                   : "r" (a), "r" (&v->counter), "m" (v->counter)
> 
> ... why not here (and again below)?
>

This has to do with the origin of these functions. The functions taken
from the original Xen ppc implementation seem to not use +m (as we've
seen in a few other instances before from the same port). I'll go
through and update all of these functions to use +m instead.

>> +                   : "cc" );
>> +}
>> +
>> +static inline int atomic_sub_return(int a, atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
>> +                   "1: lwarx %0,0,%2\n"
>> +                   "subf %0,%1,%0\n"
>> +                   "stwcx. %0,0,%2\n"
>> +                   "bne- 1b"
>> +                   PPC_ATOMIC_EXIT_BARRIER
>> +                   : "=&r" (t)
>> +                   : "r" (a), "r" (&v->counter)
>> +                   : "cc", "memory" );
>> +
>> +    return t;
>> +}
>> +
>> +static inline void atomic_inc(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( "1: lwarx %0,0,%2\n"
>> +                   "addic %0,%0,1\n"
>> +                   "stwcx. %0,0,%2\n"
>> +                   "bne- 1b"
>> +                   : "=&r" (t), "=m" (v->counter)
>> +                   : "r" (&v->counter), "m" (v->counter)
>> +                   : "cc" );
>> +}
>> +
>> +static inline int atomic_inc_return(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
>> +                   "1: lwarx %0,0,%1\n"
>> +                   "addic %0,%0,1\n"
>> +                   "stwcx. %0,0,%1\n"
>> +                   "bne- 1b"
>> +                   PPC_ATOMIC_EXIT_BARRIER
>> +                   : "=&r" (t)
>> +                   : "r" (&v->counter)
>> +                   : "cc", "memory" );
>> +
>> +    return t;
>> +}
>> +
>> +static inline void atomic_dec(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( "1: lwarx %0,0,%2\n"
>> +                   "addic %0,%0,-1\n"
>> +                   "stwcx. %0,0,%2\n"
>> +                   "bne- 1b"
>> +                   : "=&r" (t), "=m" (v->counter)
>> +                   : "r" (&v->counter), "m" (v->counter)
>> +                   : "cc" );
>> +}
>> +
>> +static inline int atomic_dec_return(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile ( PPC_ATOMIC_ENTRY_BARRIER
>> +                   "1: lwarx %0,0,%1\n"
>> +                   "addic %0,%0,-1\n"
>> +                   "stwcx. %0,0,%1\n"
>> +                   "bne- 1b"
>> +                   PPC_ATOMIC_EXIT_BARRIER
>> +                   : "=&r" (t)
>> +                   : "r" (&v->counter)
>> +                   : "cc", "memory" );
>> +
>> +    return t;
>> +}
>> +
>> +/*
>> + * Atomically test *v and decrement if it is greater than 0.
>> + * The function returns the old value of *v minus 1.
>> + */
>> +static inline int atomic_dec_if_positive(atomic_t *v)
>> +{
>> +    int t;
>> +
>> +    asm volatile( PPC_ATOMIC_ENTRY_BARRIER
>> +                  "1: lwarx %0,0,%1 # atomic_dec_if_positive\n"
>> +                  "addic. %0,%0,-1\n"
>> +                  "blt- 2f\n"
>> +                  "stwcx. %0,0,%1\n"
>> +                  "bne- 1b\n"
>> +                  PPC_ATOMIC_EXIT_BARRIER
>> +                  "2:"
>> +                  : "=&r" (t)
>> +                  : "r" (&v->counter)
>> +                  : "cc", "memory" );
>> +
>> +    return t;
>> +}
>> +
>> +static inline atomic_t atomic_compareandswap(atomic_t old, atomic_t new,
>> +                                             atomic_t *v)
>> +{
>> +    atomic_t rc;
>> +    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
>> +    return rc;
>> +}
>> +
>> +#define arch_cmpxchg(ptr, o, n)                                                \
>> +    ({                                                                         \
>> +        __typeof__(*(ptr)) o_ = (o);                                          \
>> +        __typeof__(*(ptr)) n_ = (n);                                          \
>> +        (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long) o_,             \
>> +                                       (unsigned long) n_, sizeof(*(ptr)));   \
>> +    })
> 
> Nit: Padding again.

Will fix.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 18:14:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 18:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594040.927214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbmBq-0001BO-3d; Thu, 31 Aug 2023 18:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594040.927214; Thu, 31 Aug 2023 18:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbmBq-0001BH-0K; Thu, 31 Aug 2023 18:14:46 +0000
Received: by outflank-mailman (input) for mailman id 594040;
 Thu, 31 Aug 2023 18:14: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 1qbmBp-0001B7-5A; Thu, 31 Aug 2023 18:14: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 1qbmBo-0007ee-Tf; Thu, 31 Aug 2023 18:14: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 1qbmBo-0004tx-Ev; Thu, 31 Aug 2023 18:14:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbmBo-00057P-EE; Thu, 31 Aug 2023 18:14: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=LQDmv5UN0+29zvexSSjqI03dg20GHNGDsIdF8JUBiQQ=; b=bjidLVBeMmFhslKF+WXLR4W/F1
	s1QJTOXYM8Dfc8QoTcQQKNf2qR5EIpAenkOWV3UUV41dx0lDenLuN+uXP7Tk+O3VzswQUNnm3Yeqo
	KW7oj4RJ/xMmoJlH6Uy0tHuuyJFgkehDjJIe2x3UxS6HmXy2t+6R0zdgZ9kDEJYFKUQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182576-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 182576: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4fb0dacb78c6a041bbd38ddd998df806af5c2c69
X-Osstest-Versions-That:
    linux=2dde18cd1d8fac735875f2e4987f11817cc0bc2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 18:14:44 +0000

flight 182576 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182576/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 182531
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 182531
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 182531
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 182531
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 182531
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 182531
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 182531
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 182531
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 182531
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 182531
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 182531
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 182531
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 182531
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 182531
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 182531
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 182531
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 182531
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 182531

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 182531

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182531
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182531
 test-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                4fb0dacb78c6a041bbd38ddd998df806af5c2c69
baseline version:
 linux                2dde18cd1d8fac735875f2e4987f11817cc0bc2c

Last test of basis   182531  2023-08-27 22:41:14 Z    3 days
Failing since        182544  2023-08-28 20:42:13 Z    2 days    5 attempts
Testing same since   182576  2023-08-30 23:12:26 Z    0 days    1 attempts

------------------------------------------------------------
1367 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 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        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 151966 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:02:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594049.927224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbmvR-0006qx-Jt; Thu, 31 Aug 2023 19:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594049.927224; Thu, 31 Aug 2023 19:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbmvR-0006qq-H5; Thu, 31 Aug 2023 19:01:53 +0000
Received: by outflank-mailman (input) for mailman id 594049;
 Thu, 31 Aug 2023 19:01:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vZ63=EQ=linaro.org=alexey.klimov@srs-se1.protection.inumbo.net>)
 id 1qbmvP-0006qh-Mf
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:01:51 +0000
Received: from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com
 [2607:f8b0:4864:20::e33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d594e795-4830-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 21:01:48 +0200 (CEST)
Received: by mail-vs1-xe33.google.com with SMTP id
 ada2fe7eead31-44e9888ebebso551334137.3
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 12:01:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d594e795-4830-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1693508507; x=1694113307; 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=ewAsCy7jBWH9EeyDoSt/t+eZtagHG/4Iud94/qveiRw=;
        b=uHnP7gVDeSzW9Wt/nTyhP7KKVtOKFrkOP+0Cb4ND89mu77/+7RWdpsAGmm+/TxmikB
         a5eHt+DBwIijItmTVhLNOLhiwLxEuIEpMlZAkMg/mSnMuImmwz8laUYiQzPnBhmfInia
         MztoJMiZecmYQ2Z6lkCESDb8WalTtnEQcWss4YY9CsfE1Q9BBE7HIp7mqXKgcvwNj/Vt
         /NIwW7QJictbhkcJn8vi9s3zcgG0OQSBdrjJDmJ3Q6RqL/nbGLGny7KwAGhuSIwwVgkR
         zmkv0lIMPD5q6kn3NLaah0FxAZPR7j+QDpeRexr2vxIbc7cWQkO7Euu4MtKIcrv3JNDH
         2voQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693508507; x=1694113307;
        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=ewAsCy7jBWH9EeyDoSt/t+eZtagHG/4Iud94/qveiRw=;
        b=Ph4R6FaV1v3cNTgWTL7wYt9Nztd8N6Aq4iouF+Eo2vq4mcGO+Y4P8PjDQyt+AnckFg
         tz+9XBIEwgw9ULqytXkgyld5xBnzIv3JcHiUjDy15+94Y/NwTevxeP2AdxpVEsLNTsp6
         L1VZsvjk3P7OE87vWHItPrhG1TLsJLhrt+OuMPGXdo/G/TVi5oMAPvjRp3CuRL6TWRJl
         uykBR6jaKWnz7drrBMpup9ZwFvlz0d61GPQyk0BTCSX8Qq12vE81pi6cwk2dQ1e1l7OG
         tHpDCznkqfG1wY/XmxqG7XyLGMIuCs78tJtrfaR69gkFNO/9rvNc+HWlQPKUMb/IUN70
         z88Q==
X-Gm-Message-State: AOJu0YzH7d2KkFFMOUeo+QVLwmDP8/MY6TE46X4+yB2xBpJ+Tnh4xIlN
	cNTauwQZ/0nJOr+8k5Vui3CJLyEqe4x22Jfor4xoHf28jbMkyDOnDFg=
X-Google-Smtp-Source: AGHT+IGvxQMM6RGGJAds2dELNcfcTy52FWLnl9ApR8KOPS0CndpSLx3Qqgd9UJebutln+fp86EIfU746VKEFSwne0tk=
X-Received: by 2002:a67:f954:0:b0:44e:a5f4:3e09 with SMTP id
 u20-20020a67f954000000b0044ea5f43e09mr547748vsq.16.1693508506868; Thu, 31 Aug
 2023 12:01:46 -0700 (PDT)
MIME-Version: 1.0
References: <20230831110107.2747633-1-leo.yan@linaro.org> <20230831110107.2747633-3-leo.yan@linaro.org>
In-Reply-To: <20230831110107.2747633-3-leo.yan@linaro.org>
From: Alexey Klimov <alexey.klimov@linaro.org>
Date: Thu, 31 Aug 2023 20:01:36 +0100
Message-ID: <CANgGJDozu2P9Xt+SD8cjRqrehWNpzijLu=j6eQPVs=ZhWCR7Xg@mail.gmail.com>
Subject: Re: [PATCH v1 2/2] xen/arm: Enlarge identity map space to 127TiB
To: Leo Yan <leo.yan@linaro.org>, 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>
Content-Type: text/plain; charset="UTF-8"

On Thu, 31 Aug 2023 at 12:01, Leo Yan <leo.yan@linaro.org> wrote:
>
> On some platforms, the memory regions could be:
>
>   (XEN) MODULE[0]: 00000807f6df0000 - 00000807f6f3e000 Xen
>   (XEN) MODULE[1]: 00000807f8054000 - 00000807f8056000 Device Tree
>   (XEN) MODULE[2]: 00000000fa834000 - 00000000fc5de1d5 Ramdisk
>   (XEN) MODULE[3]: 00000000fc5df000 - 00000000ffb3f810 Kernel
>
> In this case, the Xen binary is loaded above 2TB, so Xen fails to boot
> up due to the out of the identity map space.
>
> This patch enlarges identity map space to 127TiB, which can support the
> memory space [0x0 .. 0x00007eff_ffff_ffff], thus it has flexibility for
> support different platforms.
>
> Fixes: 1c78d76b67 ("xen/arm64: mm: Introduce helpers to prepare/enable/disable")
> Reported-by: Alexey Klimov <alexey.klimov@linaro.org>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>

Feel free to use:
Tested-by: Alexey Klimov <alexey.klimov@linaro.org>

I confirm that I can boot Xen with these two patches and start a guest VM.

Thanks,
Alexey


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:25:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:25:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594055.927234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnHt-00010r-Fr; Thu, 31 Aug 2023 19:25:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594055.927234; Thu, 31 Aug 2023 19: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 1qbnHt-00010k-BF; Thu, 31 Aug 2023 19:25:05 +0000
Received: by outflank-mailman (input) for mailman id 594055;
 Thu, 31 Aug 2023 19:25: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=sl68=EQ=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qbnHr-00010d-Ig
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:25:03 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12cb788c-4834-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 21:24:59 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-152-3z7pV_keMIyc36zB9mNkRA-1; Thu, 31 Aug 2023 15:24:54 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1BA39299E742;
 Thu, 31 Aug 2023 19:24:53 +0000 (UTC)
Received: from localhost (unknown [10.39.192.52])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 4C68240C2063;
 Thu, 31 Aug 2023 19:24: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: 12cb788c-4834-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693509898;
	h=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=aCX7Roe7lgAeuJ04Wd+aBj3yNRL+/6WAn3/NsVYv67o=;
	b=VuzYV8i14GMupkqLR34ogz3XisY706YB454+DrGYbTRHdmYEMoTPvuYOhykvbYv+s6H1OJ
	Qw7KNsTbaIGoktKc0moP1UurQQQ6Uf93IZWHfhA3cg33867QNAU+XczfwAOpknxYxI4h3o
	owDV4Yr/8BCrWKMB/kbTlzEk7PdRzQo=
X-MC-Unique: 3z7pV_keMIyc36zB9mNkRA-1
Date: Thu, 31 Aug 2023 15:24:50 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com,
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org,
	pbonzini@redhat.com, marcandre.lureau@redhat.com,
	berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
	fam@euphon.net, quintela@redhat.com, peterx@redhat.com,
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: Re: [PATCH 6/7] block: Clean up local variable shadowing
Message-ID: <20230831192450.GB532982@fedora>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-7-armbru@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="V8X+bYL3C2bPPQtN"
Content-Disposition: inline
In-Reply-To: <20230831132546.3525721-7-armbru@redhat.com>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1


--V8X+bYL3C2bPPQtN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 31, 2023 at 03:25:45PM +0200, Markus Armbruster wrote:
> Local variables shadowing other local variables or parameters make the
> code needlessly hard to understand.  Tracked down with -Wshadow=3Dlocal.
> Clean up: delete inner declarations when they are actually redundant,
> else rename variables.
>=20
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block.c              |  7 ++++---
>  block/rbd.c          |  2 +-
>  block/stream.c       |  1 -
>  block/vvfat.c        | 34 +++++++++++++++++-----------------
>  hw/block/xen-block.c |  6 +++---
>  5 files changed, 25 insertions(+), 25 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

--V8X+bYL3C2bPPQtN
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmTw6QIACgkQnKSrs4Gr
c8jv+wgAp6Bn3IdAxQ34Kzvg5ACHF4Zw7LSLIBoSZ7iindUoJORMnR9rAszp98Xd
YLGEToT0e5nBhrzISbSOj2i4dSGQvdqDx0KhhKApn4VwPMzk2EAN43j2Ek0eMIoe
/zABxa3splVjeZ1OygB7xLXB0DozqvTT4g9nxmTi+CLw/bUsqY0vys9LPlXHsvmS
YzQNXX+0/dyK29KRdYouoWJO7NOhUgW/uI5uND3B3272/tQH8PA4qin9n3jIKTiN
RS4bCzd2dAf/Jmj8f4t8JvnS3lod3mmOv8ofbFjdZrtHxiMhtLn5lJGTNEI5wtIr
hUDMx/dmvONyEsCY6ZHUqfDH3EDE5w==
=NToX
-----END PGP SIGNATURE-----

--V8X+bYL3C2bPPQtN--



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:26:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594061.927244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnJM-0001c2-US; Thu, 31 Aug 2023 19:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594061.927244; Thu, 31 Aug 2023 19: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 1qbnJM-0001bv-Qv; Thu, 31 Aug 2023 19:26:36 +0000
Received: by outflank-mailman (input) for mailman id 594061;
 Thu, 31 Aug 2023 19: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=sl68=EQ=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qbnJM-0001bp-8j
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:26:36 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b7d888b-4834-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 21:26:34 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-477-gwiFUeAGNQ2HHFaa0uilvQ-1; Thu, 31 Aug 2023 15:26:29 -0400
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F27088030AC;
 Thu, 31 Aug 2023 19:26:27 +0000 (UTC)
Received: from localhost (unknown [10.39.192.52])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 5D944492C13;
 Thu, 31 Aug 2023 19:26: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: 4b7d888b-4834-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693509993;
	h=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=oZBIgsu/9Q8JHPWS5y+/fJ21ZwefezbfyrSqCYIGrpA=;
	b=WBKU3OfSc9Cj74ZBTNJKPln2o0VrLl5panr9wB2wD5xVbQA+twrhGx5P+tkzm4mHth1Cgj
	dH8AlLauO80EKnN1pYlC2uATgMC9L55otpCgiTW/d80LEqhZst/COHL9hrZatp5Y84Vp7w
	esMgJS5bgeTu6XgLKedML40w5R6GFf4=
X-MC-Unique: gwiFUeAGNQ2HHFaa0uilvQ-1
Date: Thu, 31 Aug 2023 15:26:26 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com,
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org,
	pbonzini@redhat.com, marcandre.lureau@redhat.com,
	berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
	fam@euphon.net, quintela@redhat.com, peterx@redhat.com,
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: Re: [PATCH 5/7] block/vdi: Clean up local variable shadowing
Message-ID: <20230831192626.GC532982@fedora>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-6-armbru@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ZAG2EDmh/L6KrbjK"
Content-Disposition: inline
In-Reply-To: <20230831132546.3525721-6-armbru@redhat.com>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9


--ZAG2EDmh/L6KrbjK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 31, 2023 at 03:25:44PM +0200, Markus Armbruster wrote:
> Local variables shadowing other local variables or parameters make the
> code needlessly hard to understand.  Tracked down with -Wshadow=3Dlocal.
> Clean up: delete inner declarations when they are actually redundant,
> else rename variables.
>=20
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block/vdi.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

--ZAG2EDmh/L6KrbjK
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmTw6WIACgkQnKSrs4Gr
c8jt1Af9FbEzEqEiYZ2++01IYNbKg2fjGgZKNRFpaSRJSazW5ch2jS/28TJe2Pwp
NT6kVOmB1FB3HuvXTzHST9ifgRKh5mamqnqtVre6zBCbP//mbtG2wDngEhIcaqqM
qexeP3U4cHfODlv386zwdux1d/PJYM91nrUkjKoHb4dJVZfMpaiGjDkiDlpawpuQ
bzO/VuHDG5qIyj4AJRzdhoYMoLE5tRadCI1jHhuGFv/rc8u38vFlpoF89W2FfJ0w
fUQJ78b915zTp0ySkqZdqU2+0ZjHWUiJi0A822E6VKpXRWm/VSfhZ2vmk/ykbH2U
ImrSPRecSMfh7F4RSi0SBsZauw/f7g==
=bDUq
-----END PGP SIGNATURE-----

--ZAG2EDmh/L6KrbjK--



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:29:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594068.927254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnM7-0002Ef-CB; Thu, 31 Aug 2023 19:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594068.927254; Thu, 31 Aug 2023 19: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 1qbnM7-0002EY-8t; Thu, 31 Aug 2023 19:29:27 +0000
Received: by outflank-mailman (input) for mailman id 594068;
 Thu, 31 Aug 2023 19:29: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=sl68=EQ=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1qbnM6-0002ES-GA
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:29:26 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b148f1c0-4834-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 21:29:25 +0200 (CEST)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-659-YUgnOZZ2OJqpj5Xa4FfdFg-1; Thu, 31 Aug 2023 15:29:20 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AA7A1101A528;
 Thu, 31 Aug 2023 19:29:19 +0000 (UTC)
Received: from localhost (unknown [10.39.192.52])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 1931E63F78;
 Thu, 31 Aug 2023 19:29:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b148f1c0-4834-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693510164;
	h=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=INifk8Wzg5ClxYA37uJo9jBh+4BwXwZSc/cSQpNueiA=;
	b=K/DincGHfIrqTZQiOVy8utYrPj/kh4FSWCrJGkGmOdolfmGzsaf9bozUoOm7aBD2P81xVV
	5EenMWAWqqzsshKSbtjg4k6UkbL2SRMSmCHkrsbLINA0+2vlMPa2mwa2Vic7ekSGYUEAI2
	iyC2OignP4O05UJysymFu3a+d338NLI=
X-MC-Unique: YUgnOZZ2OJqpj5Xa4FfdFg-1
Date: Thu, 31 Aug 2023 15:29:17 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com,
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org,
	pbonzini@redhat.com, marcandre.lureau@redhat.com,
	berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
	fam@euphon.net, quintela@redhat.com, peterx@redhat.com,
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: Re: [PATCH 4/7] block/dirty-bitmap: Clean up local variable shadowing
Message-ID: <20230831192917.GD532982@fedora>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-5-armbru@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="tIfqpFIfVVHA1ixk"
Content-Disposition: inline
In-Reply-To: <20230831132546.3525721-5-armbru@redhat.com>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5


--tIfqpFIfVVHA1ixk
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 31, 2023 at 03:25:43PM +0200, Markus Armbruster wrote:
> Local variables shadowing other local variables or parameters make the
> code needlessly hard to understand.  Tracked down with -Wshadow=3Dlocal.
> Clean up: delete inner declarations when they are actually redundant,
> else rename variables.
>=20
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  block/monitor/bitmap-qmp-cmds.c | 2 +-
>  block/qcow2-bitmap.c            | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

--tIfqpFIfVVHA1ixk
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmTw6g0ACgkQnKSrs4Gr
c8jWEwf+Kosm+TTeTGNka9BQx3xY7odgQIG4HcGKBw2zzziO2vdrattnvfM/JphK
XVpnbnoig/2QDLdaoihgdA7e6siuMf36FdNBJ4Y/MwxNmHd1oQ393xLrYSDVf1fn
GS9zTOsCMp+Sp82nzQgl07vfQvhrx09NaVwrIS2FPidXus/hDKy7CwZ/uv93nw6g
H1JnL4k1/PJeGjxbLGj37QbNrY5qFdRxR5SJXuDRPLvCQjCr/LB/lRZQBodcjyL9
jeFpLUxNdF8T7RzOE/rt1w8gXzN0RhlR1ejRMnU2pxQ3yqVmTwGDyxUzdKW5V8Ex
ILImHY9up1L4mVZWqtF4E6Zda21Plw==
=JdC8
-----END PGP SIGNATURE-----

--tIfqpFIfVVHA1ixk--



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:50:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594074.927264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnfv-0005Bp-0b; Thu, 31 Aug 2023 19:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594074.927264; Thu, 31 Aug 2023 19:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnfu-0005Bi-Te; Thu, 31 Aug 2023 19:49:54 +0000
Received: by outflank-mailman (input) for mailman id 594074;
 Thu, 31 Aug 2023 19:49:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z9zM=EQ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qbnft-0005Bc-Si
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:49:53 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b65d879-4837-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 21:49:50 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F18868285624;
 Thu, 31 Aug 2023 14:49:48 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 4ZOCd8slDnMp; Thu, 31 Aug 2023 14:49:48 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id EB6798285635;
 Thu, 31 Aug 2023 14:49:47 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 4CHshZjnMg4m; Thu, 31 Aug 2023 14:49:47 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 835F48285624;
 Thu, 31 Aug 2023 14:49:47 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b65d879-4837-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com EB6798285635
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1693511388; bh=X395NFwsoxwfQtGIXHCF/XLCrk20LM846z6XYvJlR78=;
	h=Message-ID:Date:MIME-Version:From:To;
	b=t3LY2itVOKwSZl1/PkAPQ8+jQaHQlwjpnsS5j+wLb9djcnqK1ZSkiQpgT4sSkHtuv
	 p1n0g6S17dWtka5H17qk0j7a8ixX7d2byc6s1yKuTWNeoRQxaBnSp0FsnZwougmXSX
	 chGo+RjMubFusaPsWQ9HRJayjCICKUXNDxrE4s/I=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <711b7458-b914-522d-d05f-c61d670b254d@raptorengineering.com>
Date: Thu, 31 Aug 2023 14:49:46 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 3/8] xen/ppc: Implement atomic.h
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <6d97bdeb1c114026105e72c6ee6e1b024565bf95.1692816595.git.sanastasio@raptorengineering.com>
 <257cd320-fe81-f1be-f3e5-ef43e539660a@suse.com>
 <80aa376b-137d-b799-cc3e-4e080abc2500@raptorengineering.com>
In-Reply-To: <80aa376b-137d-b799-cc3e-4e080abc2500@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/31/23 12:47 PM, Shawn Anastasio wrote:
> On 8/29/23 8:43 AM, Jan Beulich wrote:
>> On 23.08.2023 22:07, Shawn Anastasio wrote:
>>> +#define read_atomic(p)                                                         \
>>> +    ({                                                                         \
>>> +        union {                                                                \
>>> +            typeof(*(p)) val;                                                  \
>>> +            char c[0];                                                         \
>>
>> Using [0] here is likely to set us up for compiler complaints ...
>>
> 
> AIUI zero-length members are explicitly permitted as a GNU extension,
> but their usage here wasn't an explicit choice on my part as this macro
> was inherited from arm's atomic.h. See below.
> 
>>> +        } x_;                                                                  \
>>> +        read_atomic_size(p, x_.c, sizeof(*(p)));                               \
>>
>> ... here. Can't this simply be c[sizeof(*(val))]? And do you need
>> a union here in the first place, when read_atomic() takes void* as
>> its 2nd parameter?
>>
> 
> Yes, I should have taken a closer look at this before importing it from
> arm. The type punning does seem entirely redundant given that
> read_atomic_size takes a void* -- I'm not sure why it was written this
> way to begin with.
> 
> In any case, I'll do away with the unnecessary union.

Quick follow up -- I think I now understand why it was written this way.
Callers are allowed to pass const pointers to read_atomic, but if the
macro just declared a local variable using typeof(*(p)), the resulting
variable would keep the const qualifier and thus be unpassable to
read_atomic_size.

It also appears that using standard C flexible array members inside of
unions isn't permitted, but the GNU 0-length array construct is. Of
course, declaring c's length as sizeof(*(p)) as you suggested works too.

As for getting rid of the union entirely then, it still ensures that
that the resulting variable has the correct alignment. We could
alternatively add an __aligned(__alignof__(*(p))) or similar to a bare
array declaration to achieve the same effect.

I think for now, I'll just leave it as-is with the union but replace the
0-length array with an array of the correct size.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 19:51:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 19:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594080.927273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnhk-0006o4-Ac; Thu, 31 Aug 2023 19:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594080.927273; Thu, 31 Aug 2023 19:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnhk-0006nx-7z; Thu, 31 Aug 2023 19:51:48 +0000
Received: by outflank-mailman (input) for mailman id 594080;
 Thu, 31 Aug 2023 19: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=jTJh=EQ=dlsemc.com=D@srs-se1.protection.inumbo.net>)
 id 1qbnhi-0006md-57
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 19:51:46 +0000
Received: from mailhost.dlsemc.com (mailhost.dlsemc.com [70.225.236.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd763883-4837-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 21:51:41 +0200 (CEST)
Received: from EXCHANGE-2019.DLSEMC.local (10.99.99.46) by
 EXCHANGE-2019.DLSEMC.local (10.99.99.46) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.12; Thu, 31 Aug 2023 14:52:05 -0500
Received: from EXCHANGE-2019.DLSEMC.local ([fe80::8757:d05f:f5c5:c3d1]) by
 EXCHANGE-2019.DLSEMC.local ([fe80::8757:d05f:f5c5:c3d1%16]) with mapi id
 15.02.1258.012; Thu, 31 Aug 2023 14:52: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: cd763883-4837-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; d=dlsemc.com; s=1; c=relaxed/relaxed;
	t=1693511526; h=from:subject:to:date:message-id;
	bh=J52LSx8nkpS5OnC4H1Vz4p/4idX7y5muL5sxERfFw80=;
	b=g0RYQtzMfSh8cMXIyh+lgaiAh4VmmzRCz2CZvxg5xgmf8NgfmoW51KUj/9aZEd/Q2k4uPbrCPKN
	0Z40qRTJDWGmmNZBtBYzvwNTPyCkQsjod/VQbmcTcH6gEnhyjyMKbL9xbQhk3iKeCeXqC8a0pDccF
	g4UprT9/2lYy9Vf802DCXS8kXbuYPS+exXqd/mnAG9tClY6RHUvaArMWVMiLwdEMTr96z2YXLSj/j
	flgFYacGuUu9dhKO7LUYtqCcdxIfclREl/CkV3yXqpg7q0W6++ch/hHRhX/AhqPPwJg9vMtjmMr87
	4lICndx3l9k8wnNqonVJvR1pXGitC/65EYnw==
From: Development <D@dlsemc.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Xens handling of MCE
Thread-Topic: Xens handling of MCE
Thread-Index: AQHZ3EO9T2w+QWWFXkyFcitIPlY3Pg==
Date: Thu, 31 Aug 2023 19:52:05 +0000
Message-ID: <521ab5aef01a4c64bef65435e7c284bd@dlsemc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.99.99.38]
Content-Type: multipart/alternative;
	boundary="_000_521ab5aef01a4c64bef65435e7c284bddlsemccom_"
MIME-Version: 1.0

--_000_521ab5aef01a4c64bef65435e7c284bddlsemccom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

We have been trying to find documentation on how to tell Xen to forward MCE=
 information to the linux kernel in Dom0 in order to let a system administr=
ator be able to get notified when his system has bad memory.  However from =
what I can tell this has not been documented anywhere.

If anyone knows of documentation (or knows the answer) of what someone is s=
upposed to do in order to monitor the corrected errors and monitor the unco=
rrected errors when they are running modern xen, it would be appreciated.


To clarify, (and for people not familiar):

    When running old xen ( example: Xen 4.1) on a system, linux in dom0 wou=
ld load the edac modules.  example: amd64_edac_mod , edac_mce_amd , and eda=
c_core
    Once the modules loaded, the error counts for ECC memory, and PCI, coul=
d be found in these "files":
               /sys/devices/system/edac/mc/mc0/ce_count
               /sys/devices/system/edac/mc/mc0/ue_count
               /sys/devices/system/edac/pci/pci0/npe_count
               /sys/devices/system/edac/pci/pci0/pe_count

    However, in 2009-02, "cegger" wrote MCA/MCE_in_Xen, a proposal for havi=
ng xen start checking the information
    Xen started accessing the EDAC information (now called "MCE") at some p=
oint after that, which blocks the linux kernel in dom0 from accessing it.
    (I also found what appears to be related sides from a presentation from=
 2012 at: https://lkml.iu.edu/hypermail/linux/kernel/1206.3/01304/xen_vMCE_=
design_%28v0_2%29.pdf )

    Now, The linux kernel compile option: CONFIG_XEN_MCE_LOG=3Dy is documen=
ted as: "Allow kernel fetching MCE error from Xen platform and converting i=
t into Linux mcelog format for mcelog tools".
       I imagine there must be some way on the xen side for this to work fo=
r CONFIG_XEN_MCE_LOG to have gotten into the linux kernel and be enabled by=
 default in distributions.
       (notes: mcelog seems to have been replaced with "ras daemon", but I =
believe that it pulls information using the same kernel APT as "mcelog") (s=
o I believe the final output of if you are having memory errors is pulled b=
y doing "ras-mc-ctl --errors" now instead of looking in /sys/devices/system=
/edac/mc and /sys/devices/system/edac/pci)
    I suspect that to check if it was working on a modern system, one would=
 do "ras-mc-ctl --status" and get something implying that the xen mce inter=
face is working instead of just saying "ras-mc-ctl: drivers not loaded."
    Somewhere it was said that adding the xen boot parameter "mce=3D1" to g=
rub would cause xen to forward the info to the linux kernel, but that confl=
icts with recent changes to the documentation.  Also, tested by setting "mc=
e=3D1" and nothing appears to change.


Any help is appreciated.


--_000_521ab5aef01a4c64bef65435e7c284bddlsemccom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
n-bottom:0;} --></style>
</head>
<body dir=3D"ltr">
<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
<p></p>
<div>We have been trying to find documentation on how to tell Xen to forwar=
d MCE information to the linux kernel in Dom0 in order to let a system admi=
nistrator be able to get notified when his system has bad memory.&nbsp; How=
ever from what I can tell this has not
 been documented anywhere.<br>
<br>
If anyone knows of documentation (or knows the answer) of what someone is s=
upposed to do in order to monitor the corrected errors and monitor the unco=
rrected errors when they are running modern xen, it would be appreciated.
<br>
<br>
<br>
To clarify, (and for people not familiar):</div>
<div><br>
</div>
<div>&nbsp;&nbsp;&nbsp; When running old xen ( example: Xen 4.1) on a syste=
m, linux in dom0 would load the edac modules.&nbsp; example: amd64_edac_mod=
 , edac_mce_amd , and edac_core</div>
<div>&nbsp;&nbsp;&nbsp; Once the modules loaded, the error counts for ECC m=
emory, and PCI, could be found in these &quot;files&quot;:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sys/devic=
es/system/edac/mc/mc0/ce_count<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sys/devic=
es/system/edac/mc/mc0/ue_count<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sys/devic=
es/system/edac/pci/pci0/npe_count<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sys/devic=
es/system/edac/pci/pci0/pe_count<br>
&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; However, in 2009-02, &quot;cegger&quot; wrote MCA/MCE_in=
_Xen, a proposal for having xen start checking the information<br>
&nbsp;&nbsp;&nbsp; Xen started accessing the EDAC information (now called &=
quot;MCE&quot;) at some point after that, which blocks the linux kernel in =
dom0 from accessing it.<br>
<div>&nbsp;&nbsp;&nbsp; (I also found what appears to be related sides from=
 a presentation from 2012 at:
<a href=3D"https://lkml.iu.edu/hypermail/linux/kernel/1206.3/01304/xen_vMCE=
_design_%28v0_2%29.pdf" class=3D"OWAAutoLink" id=3D"LPlnk452021">
https://lkml.iu.edu/hypermail/linux/kernel/1206.3/01304/xen_vMCE_design_%28=
v0_2%29.pdf</a> )<br>
</div>
&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; Now, The linux kernel compile option: CONFIG_XEN_MCE_LOG=
=3Dy is documented as: &quot;Allow kernel fetching MCE error from Xen platf=
orm and converting it into Linux mcelog format for mcelog tools&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I imagine there must be some way on th=
e xen side for this to work for CONFIG_XEN_MCE_LOG to have gotten into the =
linux kernel and be enabled by default in distributions.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (notes: mcelog seems to have been repl=
aced with &quot;ras daemon&quot;, but I believe that it pulls information u=
sing the same kernel APT as &quot;mcelog&quot;) (so I believe the final out=
put of if you are having memory errors is pulled by doing &quot;ras-mc-ctl =
--errors&quot; now
 instead of looking in /sys/devices/system/edac/mc and /sys/devices/system/=
edac/pci)<br>
&nbsp;&nbsp;&nbsp; I suspect that to check if it was working on a modern sy=
stem, one would do &quot;ras-mc-ctl --status&quot; and get something implyi=
ng that the xen mce interface is working instead of just saying &quot;ras-m=
c-ctl: drivers not loaded.&quot;<br>
&nbsp;&nbsp;&nbsp; Somewhere it was said that adding the xen boot parameter=
 &quot;mce=3D1&quot; to grub would cause xen to forward the info to the lin=
ux kernel, but that conflicts with recent changes to the documentation.&nbs=
p; Also, tested by setting &quot;mce=3D1&quot; and nothing appears to chang=
e.<br>
<br>
<br>
Any help is appreciated.</div>
<br>
<p></p>
</div>
</body>
</html>

--_000_521ab5aef01a4c64bef65435e7c284bddlsemccom_--


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 20:05:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 20:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594088.927283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnv8-0000Un-G7; Thu, 31 Aug 2023 20:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594088.927283; Thu, 31 Aug 2023 20:05:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnv8-0000Ug-D5; Thu, 31 Aug 2023 20:05:38 +0000
Received: by outflank-mailman (input) for mailman id 594088;
 Thu, 31 Aug 2023 20:05:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbnv7-0000UW-Em; Thu, 31 Aug 2023 20:05:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbnv7-0001dx-2b; Thu, 31 Aug 2023 20:05:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1qbnv6-0002yh-JU; Thu, 31 Aug 2023 20:05:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbnv6-00074h-JA; Thu, 31 Aug 2023 20:05:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LCFgWK7i1PiaviUOmx8Kfr9bUpmwOVO2ddpX/sQb0M8=; b=vx7nBizCQGKXQ1lLCa7JJ1Fa7W
	8ZfRd+tw9Cof3Wk5TWrj/9P9etr/4ilGHerd9I4YDEz8tQaqSJftnnbv4cbRRoSRF3JgZwZfMgun0
	y1UO/NS6o4kg7CKbb3YZHxTWH9KZo+Lq0WiEFWqpBGN2Z3UdgdoMdZaTL51xvfLvMpcE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182579-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 182579: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw: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-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=e7d26c5dcd3b988fa02ac1e45baf2f9934623381
X-Osstest-Versions-That:
    libvirt=120724bc6d1c2f8c029e67bd91335b48c243404c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 20:05:36 +0000

flight 182579 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182579/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 182562
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 182562
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 182562
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              e7d26c5dcd3b988fa02ac1e45baf2f9934623381
baseline version:
 libvirt              120724bc6d1c2f8c029e67bd91335b48c243404c

Last test of basis   182562  2023-08-30 04:18:48 Z    1 days
Testing same since   182579  2023-08-31 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Laura Hild <lsh@jlab.org>
  Yuri Chornoivan <yurchor@ukr.net>
  ê¹€́¸́ˆ˜ <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   120724bc6d..e7d26c5dcd  e7d26c5dcd3b988fa02ac1e45baf2f9934623381 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 20:06:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 20:06:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594096.927293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnw5-00014I-Sg; Thu, 31 Aug 2023 20:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594096.927293; Thu, 31 Aug 2023 20:06:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbnw5-00014B-Pc; Thu, 31 Aug 2023 20:06:37 +0000
Received: by outflank-mailman (input) for mailman id 594096;
 Thu, 31 Aug 2023 20: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=Z9zM=EQ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qbnw4-0000xQ-AS
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 20:06:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2806126-4839-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 22:06:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 224D28285635;
 Thu, 31 Aug 2023 15:06: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 8vuCxlcRiku3; Thu, 31 Aug 2023 15:06:32 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 60F5E82857EE;
 Thu, 31 Aug 2023 15:06: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 hivbq6fxeEbL; Thu, 31 Aug 2023 15:06:32 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id B0B278285635;
 Thu, 31 Aug 2023 15:06: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: e2806126-4839-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 60F5E82857EE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1693512392; bh=W5o1eD1Q23cBACeHm76/Z842a5Ld+r9IP8MOPwKs490=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=k5OqAB4vO4n5AByuzqQ/V2oiE3DKHYhlN2t8c4YMqF6yNLtn5Mof1vfrxPUhIVG0Y
	 tZXMiTr0cV9JDNxD5x6jw7V1U3kd4g6FaWbQcDssJFYR0RdUTx8TCQR+gMRcQdIwBr
	 GuA9/OrJrb+5PUYUEOWwgFSmoLoF1pH7pAFEcwPM=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <3b05ad4d-20e8-72f1-3f43-1c4e618c6ba4@raptorengineering.com>
Date: Thu, 31 Aug 2023 15:06:31 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 4/8] xen/ppc: Implement bitops.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1692816595.git.sanastasio@raptorengineering.com>
 <583ed0d715aa70e777e7aa62a287acafc52d5a24.1692816595.git.sanastasio@raptorengineering.com>
 <11f73889-2059-1d6d-6498-1f1907afabaa@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <11f73889-2059-1d6d-6498-1f1907afabaa@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/29/23 8:59 AM, Jan Beulich wrote:
> On 23.08.2023 22:07, Shawn Anastasio wrote:
>> Implement bitops.h, based on Linux's implementation as of commit
>> 5321d1b1afb9a17302c6cec79f0cbf823eb0d3fc. Though it is based off of
>> Linux's implementation, this code diverges significantly in a number of
>> ways:
>>   - Bitmap entries changed to 32-bit words to match X86 and Arm on Xen
>>   - PPC32-specific code paths dropped
>>   - Formatting completely re-done to more closely line up with Xen.
>>     Including 4 space indentation.
> 
> With this goal, ...
> 
>> --- a/xen/arch/ppc/include/asm/bitops.h
>> +++ b/xen/arch/ppc/include/asm/bitops.h
>> @@ -1,9 +1,335 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Adapted from Linux's arch/powerpc/include/asm/bitops.h.
>> + *
>> + * Merged version by David Gibson <david@gibson.dropbear.id.au>.
>> + * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don
>> + * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard.  They
>> + * originally took it from the ppc32 code.
>> + */
>>  #ifndef _ASM_PPC_BITOPS_H
>>  #define _ASM_PPC_BITOPS_H
>>
>> +#include <asm/memory.h>
>> +
>> +#define __set_bit(n,p)            set_bit(n,p)
>> +#define __clear_bit(n,p)          clear_bit(n,p)
> 
> ... you want to add blanks after the commas as well. (You might also
> simply omit parameters altogether.)
> 
>> +#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
>> +
>>  /* PPC bit number conversion */
>> -#define PPC_BITLSHIFT(be)	(BITS_PER_LONG - 1 - (be))
>> -#define PPC_BIT(bit)		(1UL << PPC_BITLSHIFT(bit))
>> -#define PPC_BITMASK(bs, be)	((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
>> +#define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
>> +#define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
>> +#define PPC_BITMASK(bs, be)  ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
>> +
>> +/* Macro for generating the ***_bits() functions */
>> +#define DEFINE_BITOP(fn, op, prefix)                                           \
>> +static inline void fn(unsigned long mask,                                      \
>> +        volatile unsigned int *_p)                                             \
> 
> Nit: Style. Either
> 
> static inline void fn(unsigned long mask,                                      \
>                       volatile unsigned int *_p)                               \
> 
> or
> 
> static inline void fn(unsigned long mask,                                      \
>     volatile unsigned int *_p)                                                 \
> 
> . Also there's again an underscore-prefixed identifier here.
>

Will fix both.

>> +{                                                                              \
>> +    unsigned long old;                                                         \
>> +    unsigned int *p = (unsigned int *)_p;                                      \
>> +    asm volatile (                                                             \
>> +    prefix                                                                     \
>> +"1: lwarx %0,0,%3,0\n"                                                         \
>> +    #op "%I2 %0,%0,%2\n"                                                       \
>> +    "stwcx. %0,0,%3\n"                                                         \
>> +    "bne- 1b\n"                                                                \
>> +    : "=&r" (old), "+m" (*p)                                                   \
>> +    : "rK" (mask), "r" (p)                                                     \
>> +    : "cc", "memory");                                                         \
> 
> The asm() body wants indenting by another four blanks (more instances below).
>

If I were to match the style used in the previous patch's atomic.h, the
body should be indented to line up with the opening ( of the asm
statement, right? I'll go ahead and do that for consistency's sake
unless you think it would be better to just leave it as-is with an extra
4 spaces of indentation.

>> +}
>> +
>> +DEFINE_BITOP(set_bits, or, "")
>> +DEFINE_BITOP(change_bits, xor, "")
>> +
>> +#define DEFINE_CLROP(fn, prefix)                                               \
>> +static inline void fn(unsigned long mask, volatile unsigned int *_p)           \
>> +{                                                                              \
>> +    unsigned long old;                                                         \
>> +    unsigned int *p = (unsigned int *)_p;                                      \
>> +    asm volatile (                                                             \
>> +    prefix                                                                     \
>> +"1: lwarx %0,0,%3,0\n"                                                         \
>> +    "andc %0,%0,%2\n"                                                          \
>> +    "stwcx. %0,0,%3\n"                                                         \
>> +    "bne- 1b\n"                                                                \
>> +    : "=&r" (old), "+m" (*p)                                                   \
>> +    : "r" (mask), "r" (p)                                                      \
>> +    : "cc", "memory");                                                         \
>> +}
>> +
>> +DEFINE_CLROP(clear_bits, "")
>> +
>> +static inline void set_bit(int nr, volatile void *addr)
>> +{
>> +    set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr));
>> +}
>> +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 long *p = (const volatile unsigned long *)addr;
>> +        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));
> 
> Nit: Too deep indentation. Plus blanks around - please. I also don't see
> the need for the UL suffix, when the function returns int only (and really
> means to return bool, I assume, but int is in line with x86 and Arm, I
> expect).
>

Will fix the indentation and spacing around -. I'll also drop the UL
suffix, but will keep the int return type, since as you guessed it's
what Arm/x86 do.

>> +}
>> +
>> +static inline unsigned long test_and_clear_bits(unsigned long mask, volatile void *_p)
>> +{
>> +    unsigned long old, t;
>> +    unsigned int *p = (unsigned int *)_p;
>> +
>> +    asm volatile (
>> +        PPC_ATOMIC_ENTRY_BARRIER
>> +        "1: lwarx %0,0,%3,0\n"
>> +        "andc %1,%0,%2\n"
>> +        "stwcx. %1,0,%3\n"
>> +        "bne- 1b\n"
>> +        PPC_ATOMIC_EXIT_BARRIER
>> +        : "=&r" (old), "=&r" (t)
>> +        : "r" (mask), "r" (p)
>> +        : "cc", "memory");
>> +
>> +    return (old & mask);
>> +}
>> +
>> +static inline int test_and_clear_bit(unsigned int nr,
>> +                                       volatile void *addr)
> 
> Nit: Too deep indentation again.
>

Will fix this and all subsequent occurrences.

>> +DEFINE_TESTOP(test_and_set_bits, or, 0)
>> +
>> +static inline int test_and_set_bit(unsigned long nr, volatile void *addr)
>> +{
>> +    return test_and_set_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;
> 
> Too long line.
>

Will fix.

>> +}
>> +
>> +/**
>> + * __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)
>> +#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
>> +#define ffsl(x) ({ unsigned long __t = (x); flsl(__t & -__t); })
> 
> Hmm, here you even have two underscores as prefixes.
>

Another carryover from Arm, sorry. Will fix.

>> +/* 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
>> + *
>> + * The Hamming Weight of a number is the total number of bits set in it.
>> + */
>> +#define hweight64(x) generic_hweight64(x)
>> +#define hweight32(x) generic_hweight32(x)
>> +#define hweight16(x) generic_hweight16(x)
>> +#define hweight8(x) generic_hweight8(x)
> 
> Not using popcnt{b,w,d}, e.g. via a compiler builtin?
>

Excellent point. It looks like gcc's __builtin_popcount* family of
builtins will do what we want here. I suppose the other architectures in
Xen don't do this because they target toolchains old enough to not have
these builtins?

>> +/* 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)
> 
> What's this odd comment about here?
>

(Yet another) carryover from Arm. Will fix.

>> +{
>> +        return __builtin_ctzl(word);
>> +}
>> +
>> +/**
>> + * find_first_set_bit - find the first set bit in @word
>> + * @word: the word to search
>> + *
>> + * Returns the bit-number of the first set bit (first bit being 0).
>> + * The input must *not* be zero.
>> + */
>> +#define find_first_set_bit(x) ({ ffsl(x) - 1; })
> 
> Simply
> 
> #define find_first_set_bit(x) (ffsl(x) - 1)
> 
> without use of any extensions?
>

Good point, the extension usage here is obviously unnecessary. Will
drop.

>> +/*
>> + * Find the first set bit in a memory region.
>> + */
>> +static inline unsigned long find_first_bit(const unsigned long *addr,
>> +                                           unsigned long size)
>> +{
>> +    const unsigned long *p = addr;
>> +    unsigned long result = 0;
>> +    unsigned long tmp;
>> +
>> +    while (size & ~(BITS_PER_LONG-1)) {
>> +        if ((tmp = *(p++)))
>> +            goto found;
>> +        result += BITS_PER_LONG;
>> +        size -= BITS_PER_LONG;
>> +    }
>> +    if (!size)
>> +        return result;
> 
> Just using 4-blank indentation isn't enough to make this Xen style.
> (More such elsewhere.)
>

Yes, fair enough. I'll reformat it.

>> +    tmp = (*p) & (~0UL >> (BITS_PER_LONG - size));
>> +    if (tmp == 0UL)        /* Are any bits set? */
>> +        return result + size;    /* Nope. */
>> +found:
> 
> Labels indented by at least one blank please. (More elsewhere.)

I wasn't aware of this style convention -- so a single blank before the
label would be correct? I'll add that in, then.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 20:17:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 20:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594105.927303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbo6Y-00035w-QF; Thu, 31 Aug 2023 20:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594105.927303; Thu, 31 Aug 2023 20:17:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbo6Y-00035p-Ne; Thu, 31 Aug 2023 20:17:26 +0000
Received: by outflank-mailman (input) for mailman id 594105;
 Thu, 31 Aug 2023 20:17: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=OzwQ=EQ=redhat.com=peterx@srs-se1.protection.inumbo.net>)
 id 1qbo6Y-00035j-5y
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 20:17:26 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64fca9ec-483b-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 22:17:23 +0200 (CEST)
Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com
 [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-86-45z1k2tDOTi8vMP7DGrV2g-1; Thu, 31 Aug 2023 16:17:19 -0400
Received: by mail-qv1-f69.google.com with SMTP id
 6a1803df08f44-637948b24bdso3044356d6.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 13:17:19 -0700 (PDT)
Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com.
 [99.254.144.39]) by smtp.gmail.com with ESMTPSA id
 r20-20020a0cb294000000b0063d152e5d9asm879005qve.120.2023.08.31.13.17.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 13:17: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: 64fca9ec-483b-11ee-9b0d-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693513042;
	h=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=5a/SwKv6GUP+JWqMoj3PY4osU8HvXRNVst9zAGspjno=;
	b=SVgILnbOJthNxqdjzdnhkb4XOkLKInvpNFIWFKnBL1TO5+W/yWoF9naRBMC2FO4UCqp1Ky
	W6Wl0J7ZXFtV1ZBl3bvMp5cpDYk7nvKfZ66HMQ/rs8PIwqhZD+2Ic8fnKtap7DAGfCQziN
	8yt+V7j7qjkdsDUnTODe9iMYHUsnfBY=
X-MC-Unique: 45z1k2tDOTi8vMP7DGrV2g-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693513039; x=1694117839;
        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=5a/SwKv6GUP+JWqMoj3PY4osU8HvXRNVst9zAGspjno=;
        b=DnzwDur6QpMYROd/SnFwD1akXy5dTuadhKyAnKVzd1BQt5+tRBS+jeWcgeqy2Qy0jW
         ruBhZek9yW/PMySTVsKls+KnRhyu1wOH3Zfo+aIuLjbcZmM5ThuUUQ4Kh2tYZsvyGpfj
         GKYeSQ+pxQGAjULC6fN+/jk+a7I8uPpAC4lcZp4Itcvc8iq/cEqMcOoX9d/Yd/g3Cgpt
         nd4oMbOo7zZ/y9MJxK6Ov2H0VxlXF8kcbi1scereOb5TsrIQLWk9ipcnbsXpP8/1tLMy
         FRiJEZg5D7TMV0gxdbwl0hcASBDtU4NbWHfcbGJxfbDGdaTb0J+jToSa7QayF5dciO6d
         4jfg==
X-Gm-Message-State: AOJu0YymxUMNPCuoItb/foQPIZNr951UfFEG57iGSydMlggKIqmakMr9
	mYh456DL6za+tXQv0fsmVt3OEAfNJ35hlk/X04Wwv7X4pcQZALLkflXOcprbmwbl0fLKFmiA4ZZ
	9wccASct9pjZzRl3CLcCVIe8AgBk=
X-Received: by 2002:ad4:5e87:0:b0:616:870c:96b8 with SMTP id jl7-20020ad45e87000000b00616870c96b8mr283046qvb.3.1693513038818;
        Thu, 31 Aug 2023 13:17:18 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGKsmxbV+DJ7b6GRufNNcqu4EXMeqeuic2S33WKPblsBhfVhu2iLfQSsXd6CNYuiszcB6i/5Q==
X-Received: by 2002:ad4:5e87:0:b0:616:870c:96b8 with SMTP id jl7-20020ad45e87000000b00616870c96b8mr283012qvb.3.1693513038588;
        Thu, 31 Aug 2023 13:17:18 -0700 (PDT)
Date: Thu, 31 Aug 2023 16:17:16 -0400
From: Peter Xu <peterx@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com,
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org,
	pbonzini@redhat.com, marcandre.lureau@redhat.com,
	berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
	stefanha@redhat.com, fam@euphon.net, quintela@redhat.com,
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on
 polling error
Message-ID: <ZPD1TPNFFVax067G@x1n>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-2-armbru@redhat.com>
MIME-Version: 1.0
In-Reply-To: <20230831132546.3525721-2-armbru@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

On Thu, Aug 31, 2023 at 03:25:40PM +0200, Markus Armbruster wrote:
> qemu_rdma_save_page() reports polling error with error_report(), then
> succeeds anyway.  This is because the variable holding the polling
> status *shadows* the variable the function returns.  The latter
> remains zero.
> 
> Broken since day one, and duplicated more recently.
> 
> Fixes: 2da776db4846 (rdma: core logic)
> Fixes: b390afd8c50b (migration/rdma: Fix out of order wrid)
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Peter Xu <peterx@redhat.com>

-- 
Peter Xu



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 20:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 20:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594110.927313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbo99-0004RC-7y; Thu, 31 Aug 2023 20:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594110.927313; Thu, 31 Aug 2023 20:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbo99-0004R5-4w; Thu, 31 Aug 2023 20:20:07 +0000
Received: by outflank-mailman (input) for mailman id 594110;
 Thu, 31 Aug 2023 20:20: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=OzwQ=EQ=redhat.com=peterx@srs-se1.protection.inumbo.net>)
 id 1qbo97-0004MJ-KV
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 20:20:05 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4823ae3-483b-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 22:20:04 +0200 (CEST)
Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com
 [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-253-i8uwDpJVMje9jm8IJ2GgRQ-1; Thu, 31 Aug 2023 16:20:01 -0400
Received: by mail-qt1-f197.google.com with SMTP id
 d75a77b69052e-40559875dd1so2520191cf.1
 for <xen-devel@lists.xenproject.org>; Thu, 31 Aug 2023 13:20:01 -0700 (PDT)
Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com.
 [99.254.144.39]) by smtp.gmail.com with ESMTPSA id
 y21-20020ac85255000000b004109928c607sm882603qtn.43.2023.08.31.13.19.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Aug 2023 13:20: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: c4823ae3-483b-11ee-8783-cb3800f73035
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1693513203;
	h=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=ufk8GCiw/LwQVAZTYLTycpsT48xt2rPVrWRGaQbD81E=;
	b=S98mnzqerKLbV0+to5cKfrqV690GUHwMR12aMIBk9XenE+loxdLZARqMcXkP+4xwVJw57Y
	5TWJs5XpV8F/QCu7NF8cE8Z10//ve6pPETvP4KGDL7784Fr1VyISuBSYgszQ50EuDgf/oc
	qPzT0s1B0/Wb6jEqB+sKj9L+veOQRuM=
X-MC-Unique: i8uwDpJVMje9jm8IJ2GgRQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20221208; t=1693513201; x=1694118001;
        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=ufk8GCiw/LwQVAZTYLTycpsT48xt2rPVrWRGaQbD81E=;
        b=OBkZOZtEa3Y8MCz5tqKIAYlJ1gvCVBIMZwmJxtiinFWPGCblFEnodZEE3CiOy8V+zI
         /0dpJPMGMrS0bspQCTyUfwv86EnUc5WKRoi4toVNiQfZceql6to+nho/BnyIq1r9sXB2
         nEBmnVz7knwUw6XP4Vr3fos7rvlu4mzPoU5rH873mGfsoyJujVJ8owg8OrpwNQj8/8ER
         IiwwzHIqJYDPn/+hR9mwabHJ64lq4t8f/OgNO8MWNI4KUif2pTt1EFPZD2fyWO9rRzyr
         A+/x84k6vP8GihLIwtw1YELOJufOH3yESkj6uPEydbMO0eq89MYkE91DPj4VwzzyCwd2
         iCIw==
X-Gm-Message-State: AOJu0Ywq4VBmOEEvaV4yA2b/Ixlk94UprZqQnkMHVZIWrJ3S2diueYzg
	S+4SmRpbH7zQLZxo8Qe6y72UUidd3woaC8GHos4hb6WXsUgaYDJrYGXsb8ULYojfemNLj6sIuDY
	gw0J1GmCEjULQWhh9G25OUzZ6XZk=
X-Received: by 2002:a05:622a:1a95:b0:412:944:542f with SMTP id s21-20020a05622a1a9500b004120944542fmr554598qtc.2.1693513201283;
        Thu, 31 Aug 2023 13:20:01 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGFAF781BYCy/7xjebcfDDFV6O9tFD+MwHw2lCzWGRBIbm6hK0VSsMkVUfbwGvnURh5QKA8xg==
X-Received: by 2002:a05:622a:1a95:b0:412:944:542f with SMTP id s21-20020a05622a1a9500b004120944542fmr554577qtc.2.1693513200985;
        Thu, 31 Aug 2023 13:20:00 -0700 (PDT)
Date: Thu, 31 Aug 2023 16:19:58 -0400
From: Peter Xu <peterx@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com,
	eblake@redhat.com, vsementsov@yandex-team.ru, jsnow@redhat.com,
	idryomov@gmail.com, pl@kamp.de, sw@weilnetz.de,
	sstabellini@kernel.org, anthony.perard@citrix.com, paul@xen.org,
	pbonzini@redhat.com, marcandre.lureau@redhat.com,
	berrange@redhat.com, thuth@redhat.com, philmd@linaro.org,
	stefanha@redhat.com, fam@euphon.net, quintela@redhat.com,
	leobras@redhat.com, kraxel@redhat.com, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, alex.bennee@linaro.org,
	peter.maydell@linaro.org
Subject: Re: [PATCH 2/7] migration: Clean up local variable shadowing
Message-ID: <ZPD17rBVIoFgpBWA@x1n>
References: <20230831132546.3525721-1-armbru@redhat.com>
 <20230831132546.3525721-3-armbru@redhat.com>
MIME-Version: 1.0
In-Reply-To: <20230831132546.3525721-3-armbru@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

On Thu, Aug 31, 2023 at 03:25:41PM +0200, Markus Armbruster wrote:
> Local variables shadowing other local variables or parameters make the
> code needlessly hard to understand.  Tracked down with -Wshadow=local.
> Clean up: delete inner declarations when they are actually redundant,
> else rename variables.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Peter Xu <peterx@redhat.com>

-- 
Peter Xu



From xen-devel-bounces@lists.xenproject.org Thu Aug 31 20:35:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 20:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594117.927324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qboO5-000718-Hc; Thu, 31 Aug 2023 20:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594117.927324; Thu, 31 Aug 2023 20:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qboO5-000711-EY; Thu, 31 Aug 2023 20:35:33 +0000
Received: by outflank-mailman (input) for mailman id 594117;
 Thu, 31 Aug 2023 20:35: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=8b1Y=EQ=nureva.com=anthonychan@srs-se1.protection.inumbo.net>)
 id 1qboO4-00070v-01
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 20:35:32 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20700.outbound.protection.outlook.com
 [2a01:111:f400:7eae::700])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec425b15-483d-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 22:35:30 +0200 (CEST)
Received: from DM6PR20MB2779.namprd20.prod.outlook.com (2603:10b6:5:140::30)
 by DM4PR20MB5040.namprd20.prod.outlook.com (2603:10b6:8:89::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.35; Thu, 31 Aug
 2023 20:35:25 +0000
Received: from DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e]) by DM6PR20MB2779.namprd20.prod.outlook.com
 ([fe80::c3:998a:f69:190e%7]) with mapi id 15.20.6745.020; Thu, 31 Aug 2023
 20:35: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: ec425b15-483d-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M0IVlGennfm7UEU4K4tQsDySI3YFq7GkLcBIFhJwZiV6GjmIBef6uCShAIvgNVjWjb2xMTsmAz1RWcJVf1BQWue8mqgOWET0JPpyBF6f3+LnZ3pFHGeJVehgKb8CKlyrloas0WaJqcE/Y6V4DlNMPg4qUG6oIRUJ2WWmw24QMT0CdyIf5bSKKwYDkEMbk6d1QuppvDRizn2inzMLUmMbUBDLo2YwlCbMJEO0uiAN/m5yeO8Cqu3D6SRcMZ9RTpjXS4gJVvRSsPdowcj5FpfoM11Tux4X6ErBJBzGMQlA+NIIxrcnsjdUJYTtXn1VSh0PJYZQ1QM8ldgmPiGzYAaTdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZHJfInpEZL0bq02vH/gppcRPaMh9pJFqiaLPiAFdobA=;
 b=aO2LlbU9y8ZnWbNy4qE83wqSyg0JK7QuYgZuqUYIf/gGI0tOA831UTK9SnyZRDgLHWwZ1aA3ScrBFFVjYSsrLzRRElza1bcT5rZuSO/tnisJyMJxU2YtiKDJstjX4ku+1lziPg4/QYZLhqTeNJZneyklA7mF4Y8qZ9Fj4zEUKbp19BU2Oh3N1KcA66Owc+KPfdlBZRDaWVVCRF6Imw589MeziiUqoFgfIWfx/sr2qPkAkqRx3A/1JX7qdFANOv0Nt94BpTs0jaAJWDFZqrzEB60x+MnD0DjUVzzPqTgbBf70SKdJDlp+/n9e19B8XB21838tYue6O42h/lNYQJBOVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nureva.com; dmarc=pass action=none header.from=nureva.com;
 dkim=pass header.d=nureva.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nureva.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZHJfInpEZL0bq02vH/gppcRPaMh9pJFqiaLPiAFdobA=;
 b=prD5BK5+sC1C8UxXGEZEsebgeijYIOxHg0CZXZE2jHsO0ykPL6dXhunw7ZVDupQl9tJapWkqY/CWBxsa/5k7Oq1zmQrI23vHk53Sxm3hVubkI/heu+O4nEfE880e+JdRIoTCMPirfE5gImIrImNNsn8MFVtGjlBnbmYzU2UwmwQ=
From: Anthony Chan <anthonychan@nureva.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "julien@xen.org"
	<julien@xen.org>, "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, Dan Waqar
	<danwaqar@nureva.com>
Subject: RE: [EXT] Re: xen arm64 low power sleep support
Thread-Topic: [EXT] Re: xen arm64 low power sleep support
Thread-Index: AdnanCj70Orzia5aQfSER7H0AUNnzgAKb5uAACL7QIAAFccGAAAoRLpQ
Date: Thu, 31 Aug 2023 20:35:24 +0000
Message-ID:
 <DM6PR20MB2779E6DD63DC5CC9A1FE161AC1E5A@DM6PR20MB2779.namprd20.prod.outlook.com>
References:
 <DM6PR20MB277971712E5415CB231AEB37C1E7A@DM6PR20MB2779.namprd20.prod.outlook.com>
 <alpine.DEB.2.22.394.2308291512271.6458@ubuntu-linux-20-04-desktop>
 <DM6PR20MB27795F4B6C327F7F031BABB0C1E6A@DM6PR20MB2779.namprd20.prod.outlook.com>
 <alpine.DEB.2.22.394.2308301814580.6458@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2308301814580.6458@ubuntu-linux-20-04-desktop>
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=nureva.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR20MB2779:EE_|DM4PR20MB5040:EE_
x-ms-office365-filtering-correlation-id: e96a2c45-ae1c-45b5-2c18-08dbaa61ce28
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 hKbt1dzYlmz4CHmwDpwXyozOApJ1WeDW9KTGPelnO3wGcxCvGDyCM3+Xn6vgEJJ5j0mDHxmOdL4cRuIvPJxte2mug3hf/NxwD7P55DQ5srCuVfZvowNc0Jd5gI8gFI7iMStu7xd381J35xedR283hQ8jamgDFbKFRMNcvMY23v0NLpv5M1Rh9+gWJjsALSvjDA5o9ONmg74z1cQf2mNtxQdXtxyM0rKkVXLjyFZpuftfEZKcj0DN2z09tulek40Xkbfd14PZC7ByHFBRF5EXUossn0MLXrLmtfIUaslb+iHUl4wfXKONICINx2InVAczNH0fx9KxJl98N2wvuVxE/RTVRBF5IQIrrOEvCwXV4CoRNmSffKzgtbzM8+wdyOQAD8jQ9riDZXgpDbZFssmV32qRJx0Cc09r7uBCpECOPR+S6sQmVQuH93UYx9UUTlZklBCiJk9Z7UnH9/Mr3K3ab/uH9SYKB/m+QEpsnn9E7i7LHU+hbjaVQa2A0+UcYEQGpNunJL1uvJdsVX/lvay7LT1/dSv2lWjVlFjxR5WqPTNmay+HHNUZKvQ+xrak3frHq9bWfHKVLv6tY2DI8ZUez7tZ2/G1RQHDgP/hdV98lyehe7yfjotJC4bV80fFVfdP
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR20MB2779.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(136003)(396003)(376002)(366004)(346002)(1800799009)(451199024)(186009)(8936002)(6506007)(7696005)(9686003)(71200400001)(4326008)(38100700002)(33656002)(86362001)(38070700005)(2906002)(76116006)(107886003)(122000001)(55016003)(52536014)(8676002)(54906003)(478600001)(83380400001)(41300700001)(64756008)(5660300002)(66556008)(6916009)(66946007)(66446008)(66476007)(316002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?+vVA1h+9pxxywutG+3EFz8Q+2KKUyB7CsxrKNRKYIfPEx3R6vJDxDUDHxOqf?=
 =?us-ascii?Q?lSVBYmaeGjHacGYWgAe2lM98sCb+6FjkJSZhPP++qX0fysgHWhvGDGe9Ufzw?=
 =?us-ascii?Q?mmjIU+YwufvGeZ+2OO2D+O8u/bonfDD4HOQDwPGQvU8Li9FbL/jf2ajPs9sa?=
 =?us-ascii?Q?bXMITa1QoAaMGwE4SSR44srFZAlFqdAXnXwMZcWnKKwSCJwvKVfDr9DFc5bN?=
 =?us-ascii?Q?vyRTb5sbvO4A/MB3xU5w37WVWHqLCGyQJTSnPKitBH8TmfLoQNrWJLHPUjVO?=
 =?us-ascii?Q?ZMn2aJdsGQs4p9GxKbPKcxcNG4nPceEj6ug3Tg3CIeSL++EnwEfBucxy5cTt?=
 =?us-ascii?Q?AXnCO6phkX7Mbjb+oM4Iau+w32NNJHZeF+M3fyTAb2IW+bMwktAAUoaFJ5IP?=
 =?us-ascii?Q?N5FESCNoBnxHLPHiw+Rrm7nPnpcFlZSPGovLHqr2SbSlm/2Hvm3swQXIhg8D?=
 =?us-ascii?Q?PTk2c5o9rSyK29t0ymEgYUYvWtNJGTz4xqEalUsyNmdVoTrobWSr30UUklvw?=
 =?us-ascii?Q?jpMnBtdlS/BPOzx2cq5R/he5TxZq27D3cTby9zJ5B5x0CCCJbQgeSCCz3gmf?=
 =?us-ascii?Q?iu3+8Eqy5w3gt2RnQ6TRL7yypdbTT7mQbeEFkLM/BkkA7sFDj79DpbCPt1JJ?=
 =?us-ascii?Q?vl1FaL7eF6kVPo3KYxUuyZD9S66lzcSVLVE2Qn5fyrInrT4wFERR79EHYxAN?=
 =?us-ascii?Q?pj/aayHtuCxJ/xYTfPpzTydBC4lgPX5SWhC/7WxCIfn0mIuk+UoK3TIpvgLo?=
 =?us-ascii?Q?GQq1/xS5GBdut69Sm8qFhsZY4h5FqLjDC/pVJPF6jakNNzhZkrSMNnhR3eTS?=
 =?us-ascii?Q?0fzLauCR2v2itLy2/vQkhvLylEhxAAm7Ijl1jWAaanz8VZlnctiPe8d49nk0?=
 =?us-ascii?Q?BqLhIXDqp6aLoU9lUkkR09onP1l1licNqrspEuefsHweAlKOpGNyxs+UylyV?=
 =?us-ascii?Q?3euwrcfT6tEIZ8oQEPeMi3zOYmvHYBCu9AY0m9Za7XDxrEPE5px21ni6sP36?=
 =?us-ascii?Q?vUoLM/zaFKRe5rnFMf+dvZI2aNZBVmQIytVv8xu8VGfSBx4dSsDiX0R5vxom?=
 =?us-ascii?Q?VIy/R60I348cCzNkrHGDEpv48Ht9Pm/fsgdzDkEg7cH5TWEmRHKMPSuk1h/5?=
 =?us-ascii?Q?43sva0bm8eLai6h6c4ctC/85+mbeK7jKTRTc8fZtDI6cWSHnbmnM8K7DLfek?=
 =?us-ascii?Q?vG2FugXLJrqs+q51INkG+ok8/HwfUKqbzqHzw17NHHCiyEd0A1ssbMZV5f7x?=
 =?us-ascii?Q?Fo7a5QTUqtAnniHW0CemFlOyz7uwyAqiMA5mckyX7VrOkvvp5yP2BaAfHH5g?=
 =?us-ascii?Q?ziaDoGGJN3bbfUJBmyN1mY+9to9VrMzIjI9bNA6Ukp6TW19xbzDvrnQOyR7d?=
 =?us-ascii?Q?seK93viH25UMdhz0HbIn6+KdNTJWbsSxyoqqgoBQog463q5gXtfOemzQFRGM?=
 =?us-ascii?Q?Mwn+wXmbu/JvVtviH+Ct7AxPC8QfXwfDi957ee0R6MZea+PS2uzprZ4fFBaK?=
 =?us-ascii?Q?HhnEn6byi+Hvd83VOFW6+9aZYoAF4/jBDHHAXe2wPy8LgJNQdSW71+N/8xbv?=
 =?us-ascii?Q?F9aW/Lf9xtQYYzaOeM2iUJoA5HxYoQjpNTKfUclquSq5+L2QGF+ad0eq4Q3D?=
 =?us-ascii?Q?xBTvF38zsHwvRhS9f3N2oEubbme9Wu8wQfr5Hki8O11F?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nureva.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR20MB2779.namprd20.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e96a2c45-ae1c-45b5-2c18-08dbaa61ce28
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2023 20:35:25.0172
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5aeb77fa-643b-473e-aee0-cb54a11ccba3
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: h0lqDzg9CsVLueoxrjZXDKw55CjkbRuL8DpJ5CeDUt3FN1GSWvkQhFjTuiUSRQr8StDvXJEEjZIiIPKW4c8R7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR20MB5040

On Thu, 30 Aug 2023, Stefano Stabellini wrote:
> On Wed, 30 Aug 2023, Anthony Chan wrote:
> > On Tue, 29 Aug 2023, Stefano Stabellini wrote:
> > > On Tue, 29 Aug 2023, Anthony Chan wrote:
> > > > Hi all,
> > > >
> > > > My name is Tony and I've been researching/developing using Xen
> > > > for potential upcoming uses in our embedded systems.  I started
> > > > with Xen using Xilinx tools about a year ago and still have lots
> > > > to learn about what it can to do in the embedded space.  So far,
> > > > I've managed to integrate Xen and Linux into an existing product
> > > > that exclusively runs bare-metal code on a ZynqMP SoC and
> > > > migrate some of the functionality into custom Linux driver/userspac=
e.
> > > >
> > > > I'm now looking at low power support, for now at least between
> > > > Xen
> > > > (4.16) and Linux (5.15) dom0.  I've tried a few different Linux
> > > > kernel configs around power management and each time I try to
> > > > suspend from linux dom0 (via sysfs or systemctl), Xen will
> > > > watchdog on
> > > > dom0 guest.
> > > > AFAIK, Xen should trap on a 'WFI' from guests, but from what I
> > > > can tell debugging through the linux suspend process is it's
> > > > spinning in a 'suspend- to-idle' loop before it can get to
> > > > issuing a 'WFI' or using PSCI interface to notify Xen.  I'm
> > > > beginning to suspect that 'low power' support for embedded arm64
> > > > just isn't quite there yet, or am I missing something in the config=
s?
> > > >
> > > > I realize this could very well be a Linux 'issue' but checking
> > > > here first.  I know Xen presents a flattened device tree to
> > > > Linux without CPU idle-state nodes and maybe this is causing the
> > > > linux guest to only do the suspend- to-idle mode?  I should
> > > > mention that I'm booting up using dom0less feature if that
> > > > matters.
> > >
> > >
> > > Hi Anthony,
> > >
> > > Assuming you are using the default Xen command line parameters for
> > > Xilinx boards: sched=3Dnull vwfi=3Dnative, then if the guest uses WFI=
,
> > > the CPU will execute WFI directly and go into low power mode.
> > Yes, using these command line params.
> >
> > > Given the issue you are describing, I am suspecting the guest is
> > > not issuing
> > > WFI: that is simple and known to work. Instead, I suspect that
> > > Linux might be trying to use PSCI_suspend in a way that is not
> > > supported or well- implemented by Xen.
> > >
> > > Can you check? You can add a printk in Linux
> > > drivers/firmware/psci/psci.c:__psci_cpu_suspend or in Xen
> > > xen/arch/arm/vpsci.c:do_psci_0_2_cpu_suspend
> > Instrumented both places it doesn't appear to reach there.  In
> > kernel/power/suspend.c, there's a call to s2idle_loop that it's current=
ly 'stuck'
> > in and I think it doesn't get to the psci suspend your referring
> > till afterwards, when suspend_ops->enter is called.  Unfortunately,
> > without any idle-states nodes in the FDT, the only suspend state
> > Linux is defaults to is 'suspend to idle'.
>
> The fact that Linux uses "suspend to idle" is not a problem because as
> I mentioned WFI or PSCI_suspent are not different on Xen. That part is OK=
.
What if using "suspend to idle" is preventing a WFI/PSCI_suspend?  Which is
what I believe I'm currently seeing in my setup.  In kernel/power/suspend.c=
,
suspend_devices_and_enter(), it gets into the this s2idle_loop and upon
resuming from idle, it jumps past the point where I believe a
WFI/PSCI_suspend can happen.
if (state =3D=3D PM_SUSPEND_TO_IDLE) {
                s2idle_loop();
                goto Platform_wake;
}

> However, if the issue is not PSCI_suspend then I don't have another
> easy guess. Please post a full stack trace or more information about
> the error in Linux and I might be able to see where it is coming from.

echo mem > /sys/power/state
[   75.666385] PM: suspend entry (s2idle)
[   75.685382] Filesystems sync: 0.018 seconds
[   75.685446] Preparing system for sleep (s2idle)
[   75.695087] Freezing user space processes ... (elapsed 0.001 seconds) do=
ne.
[   75.698339] OOM killer disabled.
[   75.701618] Freezing remaining freezable tasks ... (elapsed 0.063 second=
s) done.
[   75.767215] Suspending system (s2idle)
[   75.777682] macb ff0e0000.ethernet: gem-ptp-timer ptp clock unregistered=
.
[   75.784525] suspend-to-idle
[   75.784580] CPU: 0 PID: 548 Comm: sh Not tainted 5.15.0-xilinx-v2022.1 #=
1
[   75.788626] Hardware name: xlnx,zynqmp (DT)

[   75.792867] Call trace:
[   75.795373]  dump_backtrace+0x0/0x1a8
[   75.799094]  show_stack+0x18/0x30
[   75.802466]  dump_stack_lvl+0x7c/0xa0
[   75.806186]  dump_stack+0x18/0x34
[   75.809559]  suspend_devices_and_enter+0x334/0x4cc
[   75.814403]  pm_suspend+0x1f0/0x248
[   75.817950]  state_store+0xb8/0x100
[   75.821497]  kobj_attr_store+0x1c/0x30
[   75.825302]  sysfs_kf_write+0x40/0x54
[   75.829022]  kernfs_fop_write_iter+0xb8/0x170
[   75.833433]  new_sync_write+0x74/0xc8
[   75.837153]  vfs_write+0x104/0x128
[   75.840613]  ksys_write+0x70/0xdc
[   75.843987]  __arm64_sys_write+0x18/0x24
[   75.847965]  invoke_syscall+0x74/0xfc
[   75.851684]  el0_svc_common.constprop.0+0xb0/0xdc
[   75.856442]  do_el0_svc+0x84/0x90
[   75.859816]  el0_svc+0x20/0x4c
[   75.862930]  el0t_64_sync_handler+0xbc/0x158
[   75.867254]  el0t_64_sync+0x1a0/0x1a4

CONFIDENTIALITY NOTICE: This e-mail, including any attachments, may contain=
 information that is confidential and privileged. Any unauthorized disclosu=
re, reproduction or use of this e-mail is prohibited. If you are not the in=
tended recipient, please notify the sender by reply e-mail or telephone and=
 permanently delete this e-mail and any reproductions immediately.


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 21:12:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 21:12:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594125.927333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qboxz-0004VZ-E6; Thu, 31 Aug 2023 21:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594125.927333; Thu, 31 Aug 2023 21: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 1qboxz-0004VR-B5; Thu, 31 Aug 2023 21:12:39 +0000
Received: by outflank-mailman (input) for mailman id 594125;
 Thu, 31 Aug 2023 21: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=B/FZ=EQ=epam.com=prvs=3607c767dd=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1qboxx-0004VH-6w
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 21:12:37 +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 1a353fd3-4843-11ee-8783-cb3800f73035;
 Thu, 31 Aug 2023 23:12:34 +0200 (CEST)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 37VIWRE3014146; Thu, 31 Aug 2023 21:12:22 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3su07x0awv-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 31 Aug 2023 21:12:22 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7764.eurprd03.prod.outlook.com (2603:10a6:102:20a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 21:12:16 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::9d42:8444:f00d:7895%4]) with mapi id 15.20.6745.020; Thu, 31 Aug 2023
 21:12: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: 1a353fd3-4843-11ee-8783-cb3800f73035
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q3kIpFL4CR+yuEfHDHsetTrRVgIPd3/nS8olpvimRlYQVZXPKOmEoaOGmy/YpFT/DyFJg8eACv+O6vkCMuICkd1skYXXycP0mwBJl9WYHJVAxhKnknfdqU1bz1lsx6Y8GioILUgNIGpWpQXQFFlzXpExUVeo0EBZMtdDmDSAm5bNlIRbqv2K4gtkM+jKWcAQ7EWd7nB2/7tv4zOV3/ftHRX8xvU13zcl4MHJZ16qOTZnp5iR/XB4ENVpGR3yldohVmt8HkUv9NDdT5kiqDGAaFVEpAwExWHNGWBb3tloyIHshcEZtZBYhd7gF4fEdACgF6a2YSDu7trLwFuLsSpqIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7R1rslfS5/1lQT+mBdLOwI1/cIqMh5UogVigXzhJ4cQ=;
 b=O9pyvBZ7jJqBIQtjjAxfztHlREhb+i7p62MAf01jDbh/2wsuMaCIsKDfg+XsttYBKmCttLVSMWcEzgYchWiFoMzrA54LQ8juJaS1xLUiZAgETmxb5Cp9+5p3AXw4ak/0JVoIU3kN3ZPxDUCH5fjS0s7FpYF6xG2uE5T+QV3+PYMx697T2EqnHCLm3ug2164TruljZRVovcubkSYUUrfnGGO3Din62Wl47yC3cGmCb8+NoKGWL1trad9SNbpeZrsql1Yp9Z2+2ObA6VemHQ7g+49WamHwKokGgNWMTsALvWp0EtOcq/wX0q7zNID5YS7DH339Vvk51zwM+1dtmeGNFQ==
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=7R1rslfS5/1lQT+mBdLOwI1/cIqMh5UogVigXzhJ4cQ=;
 b=lTBu8fJgrXHdpP1E5C1PZohsqZLTLlZ2S19mp2PCMQ+FkW3f+vLoqokAiWRT9x8CwuHvzrRYgfo2jPLxNrItuCQZDP7mCWI7Dv2Oh/QZLiZVq9v/XFJTPbAOLCMIlY8zqMmA4An0aLeocGz9mzkKSN/huboJjqR3NjigMtHBiHM75GVoTmzGl1mKrvL8sz2vM5h75HmBtfM47L2sbSKPnvcKJYwy7J3/iYcSh6Zr1RSAXnM9ZmanF4s88IvboZw33BJ4llcIwtjWSSjxg4eH2bx4WGWgUayq7ydUqiJpQAPvCvTUEX3EjMqbGeWoeVDgtMmEIs7ToFVK8vLkCxw2aQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George
 Dunlap <george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 12/16] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v9 12/16] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: AQHZ2s9MKcW5IJI1REe00zENuWVyE7ACc/uAgAJ1YAA=
Date: Thu, 31 Aug 2023 21:12:15 +0000
Message-ID: <87cyz2apcp.fsf@epam.com>
References: <20230829231912.4091958-1-volodymyr_babchuk@epam.com>
 <20230829231912.4091958-13-volodymyr_babchuk@epam.com>
 <19e8ce58-67dd-ec2c-1877-fc5b524983b4@suse.com>
In-Reply-To: <19e8ce58-67dd-ec2c-1877-fc5b524983b4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.8.9; emacs 28.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7764:EE_
x-ms-office365-filtering-correlation-id: acc6f54b-3186-4d42-fc91-08dbaa66f3c0
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: 
 2+af5UKOSS/jwFL3y3k4/YWr4iCXXe13tmUBqJwdpQ20/r7M1kT1PcG/XJX0Xh4717zs2e7g3fVYizTPYT0C9n8yk6jy6Qz3FuKSZmF/axOd7VWPQhpS1l9X+kvlafBS9toIchYw3/upuF5LhluixLBFHRKsfkWpG/uxp5OvA9ZcWt6GoZlUxd4IF5fBBRTs6LCnsSH4zuXdWhpgwNAOZ0pZgolpn7YrMqDtwReHSQGdOGCXD2MamfZD68QR9Clmu0fIWY+VxaVfHFiqLokyrftgtph56i/lCof1+zoLNpC521P0UTLmOCp9gaP6C5T8Y1iKgmNFHklnNIsa7r8ZJfwp1U9XqBp176+nWb2253UdH0hg0uSvrBK6M2fmEmUWxOLue8KQcxIcXkMF6Sb+2CTJJLA0/afUJ7W9m9Xk1yfMBGT27I7nKM8slPkAsP/GjlMXJ7yyQGkesadJo0FnM3wsxM+93gg/TK0xKi6UwgH6IyuPY35M2js/DcILvi78DdY8ICTdSJerTPtLNrEcp9tFFcdUjLteNgLnzyP+FnJ2IKa7GrcXc2OrnG/YYE5eW7vzdNX9tYGexSOa9YJwobQT8T/pWF8IyxkApxPrLy7XAPzbtlHDGWj7nDnVJvfq
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3710.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(376002)(136003)(366004)(346002)(1800799009)(451199024)(186009)(36756003)(26005)(86362001)(41300700001)(71200400001)(53546011)(55236004)(6512007)(83380400001)(6506007)(2616005)(6486002)(38070700005)(38100700002)(8676002)(4326008)(5660300002)(8936002)(76116006)(91956017)(316002)(66476007)(54906003)(6916009)(66946007)(66556008)(64756008)(66446008)(2906002)(4744005)(122000001)(478600001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?Nv/jIVy/Jk3IisfqXOg7tVbKxzXflqMeE3zWfDty+9CqABBbmHj5ph/+9I?=
 =?iso-8859-1?Q?+2yt4gpGd1cVmLwFl+5D2zHoUPXv4naVUGbA4b7yLUxgCRjHJ6W8VPFky/?=
 =?iso-8859-1?Q?nSusvObPNDxSkrrlZPIVhy67e0kP7UqZ3VLmlZUP9ZRbzkIGkCZTt+GpG8?=
 =?iso-8859-1?Q?dxDJNl0YYDn7kR+IRLg1jRH0PpgxCNGs7tGS8iocBEK/dQSBBmXmM83e6L?=
 =?iso-8859-1?Q?djdZsBLgyXCJkg74hh86z12gQOxT7xUlcozFcPm5v9/y8nKdQqCopqq1qE?=
 =?iso-8859-1?Q?7bwr2qY6jGWhF51TjKfRsE7QuCoSbIji18AZGWogTc8YroAGCCFrVNb2FS?=
 =?iso-8859-1?Q?nRaHmmlIKUFycsSuEuq/IzK+dxg1+g2wfK/rmD5iIG/qeHbSAFVqk0giRA?=
 =?iso-8859-1?Q?Ig8g2+ZLiVYo81qkqDnl0viLo2d9uJsOIsqV+ecD4LPEBY1A68W9m8L8mU?=
 =?iso-8859-1?Q?xW+RbFhy+tXP9v6NcRA6/G+nEYOSGfplh3NUD543RDMiHR/JwwEy6cg+2L?=
 =?iso-8859-1?Q?d+Nusyg5Fqt+RmmlyK34vyVj4ZOmqBDWOVFBp5FKvXaFpBV6unI6po8+xP?=
 =?iso-8859-1?Q?K8KONZS9aihAxEmYiXvLVwgem3jgz/ODK7e8fAncVctzl9Td6nVYsARcax?=
 =?iso-8859-1?Q?DktM8uezutwgP7n6hFcv+pxQgnMkoduW47/E7ZmLQcbZfRhRK75xb41SeA?=
 =?iso-8859-1?Q?WqsmNMS5H1L3l+JpOHuX10aNAFlzEHidP0CTRt+x86osHDIJLXCA3W/a+n?=
 =?iso-8859-1?Q?Z/9eaywnzRCgV9f3gJ7l6JgUOA20YkHMpbDX5VGXDF7C5gvlC9glVFj8PL?=
 =?iso-8859-1?Q?qHEt3H0WBO7henls/Y303fPjNOXbXY+6xuOX+F6U7GdcyUYLOV9LafZWfV?=
 =?iso-8859-1?Q?ndBNe+1LTyhEzZ2Ycv0h1b0Wzr1AiSuWNOIiCPJalWYXTT1RconYUoAqDj?=
 =?iso-8859-1?Q?ikWCaD4znx/HBtlaxjL274Dkv0v/akldL2WNhb/Vx1e9VLoqZeR1YsjpJ9?=
 =?iso-8859-1?Q?M7MAZAHlvhhw0v6eJLaY1yghyJ71DdLCehyOHHIyJwwyYoyuT5SQNZuC8H?=
 =?iso-8859-1?Q?wwZh2Cr1QiaZyH0teIX7IRJSliRFcYc1Jznoc/1Q7v9GnF6yQa5oyMdcLS?=
 =?iso-8859-1?Q?aKlrrE3aW2Ak22UIo/3g/MppwFiES369zppxixI7G5J2dhy1B8f7982YEw?=
 =?iso-8859-1?Q?QfPrtjZHmpk8HylNNknZGMNVlPlN3QNto3O8UG6Kx6XXhdE7WJbe9z+gE/?=
 =?iso-8859-1?Q?zJk7qdHxjEeWImeWLVg5xo/CLzPMfx4kyYiXvn/o+y+TwX2cwg2rZw+QYs?=
 =?iso-8859-1?Q?DQWSITlxpQ/rUJIqjuUwkuUmFdBUf2uVGeis9QzELJ86dbhZCIMXxUQLYx?=
 =?iso-8859-1?Q?x6MLoqol3MyBU3VllZE3bUsIlUq9dV/WLycZrSer3+cOfgA/LckMlVLhtz?=
 =?iso-8859-1?Q?oC/S2Rc9Wa5m0T+pUENaPoyiJBayQxnjroxHd5Pnp75XMcJIS/3f1u6zzr?=
 =?iso-8859-1?Q?k4uZMqld+iiOOGBL3bu50n3EXGOQmgMH7gz1PzgCz66DU/D8zJaXkA9QtE?=
 =?iso-8859-1?Q?vbcXNj+z3xvmeyhqPFMxAhTaHHf7u7ys3ow2gQtQtg/qSspC+iohsrja2u?=
 =?iso-8859-1?Q?f/EPKwzSyUzW09Oxvl/RY80vPBdx/E/MGevfaFQ8aT5VmjJU7BSrAqMg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acc6f54b-3186-4d42-fc91-08dbaa66f3c0
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2023 21:12:15.4927
 (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: 1cqWVX3DmsSuzV2l2o83V8m09gRbTJ9SBhHGuZXEgM/9YZpmox3830O2ZzAkFiJFczZmdchh2s0uC5KCE3u5dQOisMra9U/YPaJzzlzySFA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7764
X-Proofpoint-GUID: ZBPhICh9l4EMMLtZyH30r3fMpSxpecHu
X-Proofpoint-ORIG-GUID: ZBPhICh9l4EMMLtZyH30r3fMpSxpecHu
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26
 definitions=2023-08-31_18,2023-08-31_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 suspectscore=0
 priorityscore=1501 lowpriorityscore=0 impostorscore=0 mlxlogscore=972
 malwarescore=0 bulkscore=0 clxscore=1015 spamscore=0 adultscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2308100000 definitions=main-2308310189


Hi Jan,

Jan Beulich <jbeulich@suse.com> writes:

> On 30.08.2023 01:19, Volodymyr Babchuk wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>=20
>> Assign SBDF to the PCI devices being passed through with bus 0.
>> The resulting topology is where PCIe devices reside on the bus 0 of the
>> root complex itself (embedded endpoints).
>> This implementation is limited to 32 devices which are allowed on
>> a single PCI bus.
>>=20
>> Please note, that at the moment only function 0 of a multifunction
>> device can be passed through.
>>=20
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com=
>
>> ---
>> Since v9:
>> - Lock in add_virtual_device() replaced with ASSERT (thanks, Stewart)
>
> Also peeking at a few other patches where similar change remarks exist,
> I'm slightly confused by them: Is this submission v9 or v10?

Sorry, looks like I was using wrong wording. This is submission
v9. Under "Since v9" I meant "in v9 and further".

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 21:26:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 21:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594131.927344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbpAv-0006gN-KR; Thu, 31 Aug 2023 21:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594131.927344; Thu, 31 Aug 2023 21: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 1qbpAv-0006gG-GR; Thu, 31 Aug 2023 21:26:01 +0000
Received: by outflank-mailman (input) for mailman id 594131;
 Thu, 31 Aug 2023 21:26: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=dUvY=EQ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qbpAu-0006gA-Ft
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 21:26:00 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8c8fb2c-4844-11ee-9b0d-b553b5be7939;
 Thu, 31 Aug 2023 23:25:57 +0200 (CEST)
Received: from PH8PR05CA0013.namprd05.prod.outlook.com (2603:10b6:510:2cc::13)
 by IA0PR12MB7651.namprd12.prod.outlook.com (2603:10b6:208:435::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.21; Thu, 31 Aug
 2023 21:25:53 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:510:2cc:cafe::16) by PH8PR05CA0013.outlook.office365.com
 (2603:10b6:510:2cc::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.15 via Frontend
 Transport; Thu, 31 Aug 2023 21:25:52 +0000
Received: from SATLEXMB03.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.6745.16 via Frontend Transport; Thu, 31 Aug 2023 21:25:52 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 16:25:49 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 31 Aug
 2023 14:25:49 -0700
Received: from [192.168.139.126] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.27 via Frontend
 Transport; Thu, 31 Aug 2023 16:25: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: f8c8fb2c-4844-11ee-9b0d-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bZXgp1CGWv546XmMZyt3danyIQpe91MQ2E1vY/e16YI2kx9vM6b7kIYBoDLjHzEK3QGohzyVB5g3mEN8+EedGACcwYzwPZoW1Trw1Y21yisKJfiwOx+kqUT1WSPqHrFkLeYU3pXj2092l3bBf/tt9EhTSnaDNEt2MkJAsmWSKjC/pM4kTVQAstm7jhECgxy8DAC745Xy5X3p7xptEpQ+hQnWZ72ztHcGYgo6Zx+NWPuIb3cLhxOKMhdkaLYhZeh6U82u2e9ZGvtGBkiNcvAUHtilKVtm00xnEgw+YXA+eaqcU2SWk9jE13iflRMQ0sJXQ/PR8gZGgkI2/2a7Lw8jcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gaBWwXpf658zMtoukGSiLI8p7aWcUQD9GY28Ew0Ng+0=;
 b=hRXnjKqCudAY2eS+E1Lq9x74x5MZFaT8YKyDz/cN1eNV4mIdSljgia3tZbbVhFDZlHwfDtw8bKs51G16xSJkB42g30kjspaSXj8eeBcKz3H+2tnmISgVyvFJpUoT2RRHRj/5VytI7hEpfx4EmUhPdoEoKTFPUwU+vwj3nsVWMluxqchGTMTSJKXfNUJWC80jv51rpxKyf1ih7SNtUFPJ9i9nxcnyqRT/62sYLtwcGuWtn03YhW12jaLl91h4qBBUiHv7EQTN61rPGBcw9ozJ3AlQfgxMijJvHqXH0es2//DPM0gf4i7Y3N+sn7FMGvC1DLPs99zMonjEhs4LSBQIvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gaBWwXpf658zMtoukGSiLI8p7aWcUQD9GY28Ew0Ng+0=;
 b=BVwQASuNwbPj+zi5yr8tm9s4GbD5k4CfxfWtHhnXFYcNMwunH7MnuJC4phRh39skW7aMfoQgZG65CTu7CfsH9S0fJRNY7Cbl34HT6eV248KmXVziKc2Ze7Rh29afXFaSW/wcY1IjaDxy+HVyuTMtEKFrUcsMizJwDHZHfR97PKw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <f7457387-e8df-ae80-327b-2a7ba7428266@amd.com>
Date: Thu, 31 Aug 2023 17:25:44 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH v4 4/6] xen/vpci: header: status register handler
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
References: <20230828175858.30780-1-stewart.hildebrand@amd.com>
 <20230828175858.30780-5-stewart.hildebrand@amd.com>
 <4a082785-7da1-caf9-3193-eb0a9a77a7bc@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <4a082785-7da1-caf9-3193-eb0a9a77a7bc@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|IA0PR12MB7651:EE_
X-MS-Office365-Filtering-Correlation-Id: 9646f3e0-5ffa-4a09-c479-08dbaa68da83
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qkk7ljRqWmlDbL9FuVtDnqMByFhP6FVMpRH8lIuLf0jTjn8LQMizdqmNhWJoowXrz2q61EW8M19lrSncMeCJ+wQ44E3EtWwAA1ViITp762e2h0AZ3bLyntmEYp9ElwdDUMtby3ZSZiUbl+FFeoAeAjiOQ30UOv350Ktq52JyVqACAUJTDGhiIBvEHzfOg7cRSeZuQMM8IqyF7dwkgC056hgUKRLX8FUT22LYehS7bnStbPoVY9EvriwLP/ZN68Tk1QO8HqH5Uy10ayX44FYAvZDY9qnj3Rz08fLVMDm2YhmPHgYiLISkkqUMLzTn14dQlf/jPri+QCsdHZ03QZbQUQ8z6esdosRAAlW21OIpmmNS1eGufF9qJkKdjo7h2fPa4xGvkV0D/7vbBfFooSvQhwVTaA+DvaGTkuGtugHvqdo3MpRC0QBxDi0LCA23Z437hhroU6fVXruc0BXl3ueQlDak4RKt1Gq2hfJKjGwHG4kg3vUaaRA7E9OLY6WNBOCijSDKW1qrlVIiGujMLl8oecyanQeFdqdDzcU6naz6/PRTHpXLptpNsC5ubIFKzZakFyBBjHntlCRz1wFL6dOOGTlKsOpHFv5IAb9cxYlXRP0lJG69ZpugVw24+QK7FMXGh2q2xyEea0XEz5as95V8iio5DUgim2ISgDSpVZjMO+wARhmbAv3R8b8lmu/G90HnHYKgGrVSbEopY8YiKZ2A9e3zJObXtBfmm6ElOi8n1tR3L/fBe+xltIlhY02HP0grR9S8494H8Lkc/Zy2LeVgnz/TCLFpzgSiKwUOws1L2ufN9lRqdfsUyw7kgci2ezGy
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)(4636009)(39860400002)(396003)(346002)(376002)(136003)(1800799009)(186009)(451199024)(82310400011)(40470700004)(46966006)(36840700001)(82740400003)(31686004)(356005)(6666004)(40460700003)(36756003)(86362001)(36860700001)(81166007)(40480700001)(47076005)(31696002)(2616005)(2906002)(426003)(336012)(26005)(53546011)(83380400001)(478600001)(70586007)(70206006)(8936002)(54906003)(8676002)(4326008)(5660300002)(44832011)(41300700001)(16576012)(6916009)(316002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2023 21:25:52.1821
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9646f3e0-5ffa-4a09-c479-08dbaa68da83
X-MS-Exchange-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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7651

On 8/30/23 10:05, Jan Beulich wrote:
> On 28.08.2023 19:56, Stewart Hildebrand wrote:
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -413,6 +413,18 @@ static void cf_check cmd_write(
>>          pci_conf_write16(pdev->sbdf, reg, cmd);
>>  }
>>
>> +static uint32_t cf_check status_read(const struct pci_dev *pdev,
>> +                                     unsigned int reg, void *data)
>> +{
>> +    struct vpci_header *header = data;
>> +    uint32_t status = pci_conf_read16(pdev->sbdf, reg);
>> +
>> +    if ( header->mask_cap_list )
>> +        status &= ~PCI_STATUS_CAP_LIST;
>> +
>> +    return status;
>> +}
> 
> Imo we also cannot validly pass through any of the reserved bits. Doing so
> is an option only once we know what purpose they might gain.

OK. I think in the long term, having a res_mask in struct vpci_register for the reserved bits will be more flexible.

> (In this
> context I notice our set of PCI_STATUS_* constants isn't quite up-to-date.)

I'll add these 2 new constants in the next version of the series (in a separate patch):
#define  PCI_STATUS_IMM_READY  0x01    /* Immediate Readiness */

#define  PCI_STATUS_INTERRUPT  0x08    /* Interrupt status */

>> @@ -544,6 +556,11 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>
>> +    rc = vpci_add_rw1c_register(pdev->vpci, status_read, vpci_hw_write16,
>> +                                PCI_STATUS, 2, header, 0xF900);
> 
> Rather than a literal number, imo this wants to be an OR of the respective
> PCI_STATUS_* constants (which, if you like, could of course be consolidated
> into a new PCI_STATUS_RW1C_MASK, to help readability).

OK.

>> @@ -167,6 +174,7 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      r->size = size;
>>      r->offset = offset;
>>      r->private = data;
>> +    r->rw1c_mask = rw1c_mask;
> 
> To avoid surprises with ...
> 
>> @@ -424,6 +443,7 @@ static void vpci_write_helper(const struct pci_dev *pdev,
>>          uint32_t val;
>>
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~r->rw1c_mask;
>>          data = merge_result(val, data, size, offset);
> 
> ... the user of this field, should you either assert that no bits beyond
> the field size are set, or simply mask to the respective number of bits?

Good point, I'll mask it (in add_register()).

Stew


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 22:08:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 22:08:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594138.927354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbppn-0003kO-Lt; Thu, 31 Aug 2023 22:08:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594138.927354; Thu, 31 Aug 2023 22:08:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbppn-0003kH-HJ; Thu, 31 Aug 2023 22:08:15 +0000
Received: by outflank-mailman (input) for mailman id 594138;
 Thu, 31 Aug 2023 22:08: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 1qbppm-0003k7-LK; Thu, 31 Aug 2023 22:08: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 1qbppm-0004Ll-CW; Thu, 31 Aug 2023 22: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 1qbppl-0007gW-Tu; Thu, 31 Aug 2023 22:08:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qbppl-0000iO-TP; Thu, 31 Aug 2023 22:08: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=PSktcP7IZ8v6fgU3sXXWuhoQ2embf6mP319yl4fzkqI=; b=jxkpcEROO6yGV+QW6azqiHBw8U
	+snm4lFLB0nOie51xlXY7z87YFb4HpzAgVE9agKtWYmvMtnnSITG6QSjVWzICZTmICDVjRORF9rml
	Up+zcOCvOF8Q6WqnVob+8g8eq89UUyWLjNpG9OBokHGOsQrHr97JEUr8tnx2JLeAFfl0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-182586-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 182586: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=beafabdae49c873adecdb7511dbebe9d4ff5c8f0
X-Osstest-Versions-That:
    ovmf=4c8144dd665619731b6c3c19f4f1ae664b69fa4b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 31 Aug 2023 22:08:13 +0000

flight 182586 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/182586/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 beafabdae49c873adecdb7511dbebe9d4ff5c8f0
baseline version:
 ovmf                 4c8144dd665619731b6c3c19f4f1ae664b69fa4b

Last test of basis   182582  2023-08-31 13:42:21 Z    0 days
Testing same since   182586  2023-08-31 19:42:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nate DeSimone <nathaniel.l.desimone@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   4c8144dd66..beafabdae4  beafabdae49c873adecdb7511dbebe9d4ff5c8f0 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 31 22:22:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 Aug 2023 22:22:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.594147.927364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qbq3n-0006FY-T1; Thu, 31 Aug 2023 22:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 594147.927364; Thu, 31 Aug 2023 22: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 1qbq3n-0006FR-Oo; Thu, 31 Aug 2023 22:22:43 +0000
Received: by outflank-mailman (input) for mailman id 594147;
 Thu, 31 Aug 2023 22: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=Z9zM=EQ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1qbq3l-0006F2-Tm
 for xen-devel@lists.xenproject.org; Thu, 31 Aug 2023 22:22:42 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e49f79b0-484c-11ee-8783-cb3800f73035;
 Fri, 01 Sep 2023 00:22:39 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DBC59828550E;
 Thu, 31 Aug 2023 17:22:37 -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 SbiaVbeU6jeb; Thu, 31 Aug 2023 17:22:35 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5D5F88285944;
 Thu, 31 Aug 2023 17:22:35 -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 kBKbXCVRn9ol; Thu, 31 Aug 2023 17:22:35 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 88B10828550E;
 Thu, 31 Aug 2023 17:22: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: e49f79b0-484c-11ee-8783-cb3800f73035
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 5D5F88285944
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1693520555; bh=oBNpj+tfF1vmPEGZBqFFCuroBCG9Wiu1UYbJ/4xuoPc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=AmdhgcJhDuarHgNjnPqmpHOqaYTeKs7b8h/zBIc3ylavLgwY8g+b8timIr3qBOL28
	 g3Z7l79B6drxnJVxAA79sLvhoQT6SLROqvUzfy7aH0BgCJRmAmv5Coq++FKxGbkPoY
	 IrShlQpvGcR3HR+gdxFGEY/b0DPIn2L+cVZ3amvc=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <e07d7f3c-0747-b979-3709-0900ae8798b5@raptorengineering.com>
Date: Thu, 31 Aug 2023 17:22:33 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101
 Thunderbird/102.14.0
Subject: Re: [PATCH v2 5/8] xen/ppc: Define minimal stub headers required for
 full build
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Timothy Pearson <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.1692816595.git.sanastasio@raptorengineering.com>
 <a92f99e8f697da99d77bfde562a549dbef3760ce.1692816595.git.sanastasio@raptorengineering.com>
 <47e40325-0521-c2ee-e0da-99bfb4449097@suse.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <47e40325-0521-c2ee-e0da-99bfb4449097@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/30/23 5:49 AM, Jan Beulich wrote:
> On 23.08.2023 22:07, Shawn Anastasio wrote:
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/altp2m.h
>> @@ -0,0 +1,25 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#ifndef __ASM_PPC_ALTP2M_H__
>> +#define __ASM_PPC_ALTP2M_H__
>> +
>> +#include <xen/bug.h>
>> +
>> +struct domain;
>> +struct vcpu;
>> +
>> +/* Alternate p2m on/off per domain */
>> +static inline bool altp2m_active(const struct domain *d)
>> +{
>> +    /* Not implemented on PPC. */
>> +    return false;
>> +}
>> +
>> +/* Alternate p2m VCPU */
>> +static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
>> +{
>> +    /* Not implemented on PPC, should not be reached. */
>> +    BUG_ON("unimplemented");
> 
> I would have thought this construct is meant to flag places that need
> work in the course of bringing up Xen on PPC. This isn't one of those,
> I think. Perhaps ASSERT_UNREACHABLE() is slightly better here than
> Arm's BUG()?
>

Yes, good point. I did an indiscriminate regex to replace all BUG()
calls introduced by my earlier patch with this new construct, but as you
point out it erroneously included functions that are meant to be
unreachable.

I'll go with ASSERT_UNREACHABLE() here.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/current.h
>> @@ -0,0 +1,42 @@
>> +#ifndef __ASM_PPC_CURRENT_H__
>> +#define __ASM_PPC_CURRENT_H__
>> +
>> +#include <xen/percpu.h>
>> +
>> +#ifndef __ASSEMBLY__
>> +
>> +struct vcpu;
>> +
>> +/* 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))
>> +
>> +/* Per-VCPU state that lives at the top of the stack */
>> +struct cpu_info {
>> +    struct cpu_user_regs guest_cpu_user_regs;
>> +    unsigned long elr;
>> +    uint32_t flags;
> 
> May I suggest that you pick one of fixed-width types or basic C types
> for consistent use here?
>

Sure. I'll go with C types here.

>> +};
>> +
>> +static inline struct cpu_info *get_cpu_info(void)
>> +{
>> +#ifdef __clang__
>> +    unsigned long sp;
>> +
>> +    asm ("mr %0, 1" : "=r" (sp));
> 
> Nit: Style.
> 

Will fix.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/device.h
>> @@ -0,0 +1,53 @@
>> +#ifndef __ASM_PPC_DEVICE_H__
>> +#define __ASM_PPC_DEVICE_H__
>> +
>> +enum device_type
>> +{
>> +    DEV_DT,
>> +    DEV_PCI,
>> +};
>> +
>> +struct device {
>> +    enum device_type type;
>> +#ifdef CONFIG_HAS_DEVICE_TREE
>> +    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
>> +#endif
>> +};
>> +
>> +enum device_class
>> +{
>> +    DEVICE_SERIAL,
>> +    DEVICE_IOMMU,
>> +    DEVICE_GIC,
>> +    DEVICE_PCI_HOSTBRIDGE,
>> +    /* Use for error */
>> +    DEVICE_UNKNOWN,
>> +};
>> +
>> +struct device_desc {
>> +    /* Device name */
>> +    const char *name;
>> +    /* Device class */
>> +    enum device_class class;
>> +    /* List of devices supported by this driver */
>> +    const struct dt_device_match *dt_match;
>> +    /*
>> +     * Device initialization.
>> +     *
>> +     * -EAGAIN is used to indicate that device probing is deferred.
>> +     */
>> +    int (*init)(struct dt_device_node *dev, const void *data);
>> +};
>> +
>> +typedef struct device device_t;
>> +
>> +#define DT_DEVICE_START(_name, _namestr, _class)                    \
>> +static const struct device_desc __dev_desc_##_name __used           \
>> +__section(".dev.info") = {                                          \
>> +    .name = _namestr,                                               \
>> +    .class = _class,                                                \
>> +
>> +#define DT_DEVICE_END                                               \
>> +};
>> +
>> +#endif /* __ASM_PPC_DEVICE_H__ */
> 
> Do you really need everything you put in here?
>

The device_type enumerations and struct device are required.

Some definition of device_t is required, as well as some definition of
DT_DEVICE_{START,END}. I could of course stub them out (e.g. with empty
structs) but I didn't really see a point when the definitions from ARM
seem largely applicable.

That said, the DEVICE_GIC enumeration definitely doesn't belong, so I'll
remove it.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/div64.h
>> @@ -0,0 +1,14 @@
>> +#ifndef __ASM_PPC_DIV64_H__
>> +#define __ASM_PPC_DIV64_H__
>> +
>> +#include <xen/types.h>
>> +
>> +#define do_div(n,base) ({                       \
>> +    uint32_t __base = (base);                   \
>> +    uint32_t __rem;                             \
>> +    __rem = ((uint64_t)(n)) % __base;           \
>> +    (n) = ((uint64_t)(n)) / __base;             \
>> +    __rem;                                      \
>> +})
> 
> I understand you're merely copying this from elsewhere, but it would be
> really nice if style could be corrected for such new instances (no
> leading underscores, blank after comma, and ideally also no excess
> parentheses).
>

I'll fix the leading underscores and missing blank. As for unnecessary
parenthesis, I'm assuming you mean (base) in the first statement and (n)
in the second-to-last one, but I'd personally rather leave them.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/domain.h
>> @@ -0,0 +1,46 @@
>> +#ifndef __ASM_PPC_DOMAIN_H__
>> +#define __ASM_PPC_DOMAIN_H__
>> +
>> +#include <xen/xmalloc.h>
>> +#include <public/hvm/params.h>
>> +
>> +struct hvm_domain
>> +{
>> +    uint64_t              params[HVM_NR_PARAMS];
>> +};
>> +
>> +#define is_domain_direct_mapped(d) ((void)(d), 0)
>> +
>> +/* TODO: Implement */
>> +#define guest_mode(r) ({ (void) (r); BUG_ON("unimplemented"); 0; })
> 
> Nit: Stray blank after cast (more instances of this pattern elsewhere).
>

Will fix.

>> diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/include/asm/grant_table.h
>> new file mode 100644
>> index 0000000000..e69de29bb2
> 
> Instead of introducing a completely empty file, perhaps better to put
> one in that at least has the usual header guard?
> 

Sure -- will add a header guard.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/guest_access.h
>> @@ -0,0 +1,54 @@
>> +#ifndef __ASM_PPC_GUEST_ACCESS_H__
>> +#define __ASM_PPC_GUEST_ACCESS_H__
>> +
>> +#include <xen/mm.h>
>> +
>> +/* TODO */
>> +
>> +static inline unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>> +{
>> +    BUG_ON("unimplemented");
>> +}
>> +static inline unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>> +                                             unsigned int len)
> 
> Nit: Indentation. In cases like this it may be better to use the other
> wrapping form:
> 
> static inline unsigned long raw_copy_to_guest_flush_dcache(
>     void *to,
>     const void *from,
>     unsigned int len)
> {
>     ...
> 
> More instances further down.
> 

Thanks for letting me know about this form -- I'll fix it here and
below. I also notice that the function above this (raw_copy_to_guest) is
above the column limit, so I'll change it too.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/guest_atomics.h
>> @@ -0,0 +1,14 @@
>> +#ifndef __ASM_PPC_GUEST_ATOMICS_H__
>> +#define __ASM_PPC_GUEST_ATOMICS_H__
>> +
>> +#include <xen/lib.h>
>> +
>> +/* TODO: implement */
>> +#define guest_test_bit(d, nr, p)            ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
>> +#define guest_clear_bit(d, nr, p)           ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
>> +#define guest_set_bit(d, nr, p)             ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
>> +#define guest_test_and_set_bit(d, nr, p)    ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
>> +#define guest_test_and_clear_bit(d, nr, p)  ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
>> +#define guest_test_and_change_bit(d, nr, p) ({ (void) (d); (void) (nr); (void) (p); BUG_ON("unimplemented"); false; })
> 
> Perhaps deal with these overlong lines by introducing a common helper macro
> that all of the #define-s here then use?
>

Good idea. Will do.

>> --- a/xen/arch/ppc/include/asm/mm.h
>> +++ b/xen/arch/ppc/include/asm/mm.h
>> @@ -1,10 +1,23 @@
>>  #ifndef _ASM_PPC_MM_H
>>  #define _ASM_PPC_MM_H
>>
>> +#include <public/xen.h>
>> +#include <xen/pdx.h>
>> +#include <xen/types.h>
>> +#include <asm/config.h>
>>  #include <asm/page-bits.h>
>>
>> +void setup_initial_pagetables(void);
>> +
>>  #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))
>>
>>  #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
>>  #define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
>> @@ -13,6 +26,240 @@
>>  #define __pa(x)             (virt_to_maddr(x))
>>  #define __va(x)             (maddr_to_virt(x))
>>
>> -void setup_initial_pagetables(void);
>> +/* Convert between Xen-heap virtual addresses and machine frame numbers. */
>> +#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
>> +#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
>> +
>> +/* 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;
>> +}
>> +
>> +/*
>> + * 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)
>> +
>> +#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.                 */
>> +
>> + /* 2-bit count of uses of this frame as its current type. */
>> +#define PGT_count_mask    PG_mask(3, 3)
>> +
>> +/* 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)
>> +/* Page is not reference counted */
>> +#define _PGC_extra        PG_shift(10)
>> +#define PGC_extra         PG_mask(1, 10)
>> +
>> +/* Count of references to this frame. */
>> +#define PGC_count_width   PG_shift(10)
>> +#define PGC_count_mask    ((1UL<<PGC_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
>> +
>> +#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(&_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; })
> 
> BUG_ON("unimplemented")?
> 

Will do.

>> +#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
> 
> This looks risky to me. Perhaps better to also use BUG_ON("unimplemented")
> here?
>

This was copied from ARM, though admittedly it does appear to rely on
some design assumptions that haven't yet been made for PPC, so I'm fine
changing this to a BUG_ON.

>> +#define domain_set_alloc_bitsize(d) ((void)0)
> 
> Better ((void)(d)).
> 

Will do.

>> +#define domain_clamp_alloc_bitsize(d, b) (b)
>> +
>> +#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
> 
> Unnessary leading underscore again.
>

Will fix.

>> [...]
>> +#define PDX_GROUP_SHIFT (16 + 5)
> 
> DYM (PAGE_SHIFT + XEN_PT_ENTRIES_LOG2_LVL_4) or simply XEN_PT_SHIFT_LVL_3?
> Using open-coded literal numbers is always at risk of breaking (when one
> use site is updated, but another missed) and also isn't self-documenting.
>

Ah, yes, I had meant to clean this up before but seemingly forgot.
Will change to XEN_PT_SHIFT_LVL_3.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/monitor.h
>> @@ -0,0 +1,46 @@
>> +/* Derived from xen/arch/arm/include/asm/monitor.h */
>> +#ifndef __ASM_PPC_MONITOR_H__
>> +#define __ASM_PPC_MONITOR_H__
>> +
>> +#include <public/domctl.h>
>> +#include <xen/errno.h>
>> +
>> +static inline
>> +void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
>> +{
>> +}
>> +
>> +static inline
>> +int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
>> +{
>> +    /* No arch-specific monitor ops on PPC. */
>> +    return -EOPNOTSUPP;
>> +}
>> +
>> +int arch_monitor_domctl_event(struct domain *d,
>> +                              struct xen_domctl_monitor_op *mop);
>> +
>> +static inline
>> +int arch_monitor_init_domain(struct domain *d)
>> +{
>> +    /* No arch-specific domain initialization on PPC. */
>> +    return 0;
>> +}
>> +
>> +static inline
>> +void arch_monitor_cleanup_domain(struct domain *d)
>> +{
>> +    /* No arch-specific domain cleanup on PPC. */
>> +}
>> +
>> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
>> +{
>> +    uint32_t capabilities = 0;
>> +
>> +    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST |
>> +                    1U << XEN_DOMCTL_MONITOR_EVENT_PRIVILEGED_CALL);
> 
> Are you sure about putting these here right away?
>

No, I suppose BUG_ON("unimplemented") would be best at this point. Will
update.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/nospec.h
>> @@ -0,0 +1,18 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/*
>> + * From arch/arm/include/asm/nospec.h.
>> + * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
> 
> I wonder about both the reference and the copyright, when ...
>

Fair enough I suppose. I think the reference to the corresponding arm
file is useful though. If not for copyright purposes, it at least shows
that this no-op implementation isn't some ppc-specific stub.

I'll drop the unnecessary copyright header.

>> + */
>> +#ifndef __ASM_PPC_NOSPEC_H__
>> +#define __ASM_PPC_NOSPEC_H__
>> +
>> +static inline bool evaluate_nospec(bool condition)
>> +{
>> +    return condition;
>> +}
>> +
>> +static inline void block_speculation(void)
>> +{
>> +}
>> +
>> +#endif /* __ASM_PPC_NOSPEC_H__ */
> 
> ... seeing this trivial content.
> 
>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/p2m.h
>> @@ -0,0 +1,105 @@
>> +#ifndef __ASM_PPC_P2M_H__
>> +#define __ASM_PPC_P2M_H__
>> +
>> +#include <asm/page-bits.h>
>> +
>> +#define paddr_bits PADDR_BITS
>> +
>> +/*
>> + * List of possible type for each page in the p2m entry.
>> + * The number of available bit per page in the pte for this purpose is 4 bits.
>> + * So it's possible to only have 16 fields. If we run out of value in the
>> + * future, it's possible to use higher value for pseudo-type and don't store
>> + * them in the p2m entry.
>> + */
>> +typedef enum {
>> +    p2m_invalid = 0,    /* Nothing mapped here */
>> +    p2m_ram_rw,         /* Normal read/write guest RAM */
>> +    p2m_ram_ro,         /* Read-only; writes are silently dropped */
>> +    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO area */
>> +    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-cacheable */
>> +    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cacheable */
> 
> Is PPC's memory model really this similar to Arm's? If not, I'd recommend
> ommitting all enumerators you don't need right away.
>

I'm not familiar enough with Arm's memory model to make this
determination right now, so I'll follow your suggestion and remove all
but the first 3 enumeration entries.

>> --- a/xen/arch/ppc/include/asm/page.h
>> +++ b/xen/arch/ppc/include/asm/page.h
>> @@ -36,6 +36,9 @@
>>  #define PTE_XEN_RO   (PTE_XEN_BASE | PTE_EAA_READ)
>>  #define PTE_XEN_RX   (PTE_XEN_BASE | PTE_EAA_READ | PTE_EAA_EXECUTE)
>>
>> +/* TODO */
>> +#define PAGE_HYPERVISOR 0
>> +
>>  /*
>>   * Radix Tree layout for 64KB pages:
>>   *
>> @@ -177,4 +180,18 @@ struct prtb_entry {
>>
>>  void tlbie_all(void);
>>
>> +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)
> 
> Does clear_page() really need a cast, when copy_page() doesn't?
>

Good observation. Will drop the cast.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/procarea.h
>> @@ -0,0 +1,20 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Copyright (C) IBM Corp. 2005
>> + *
>> + * Authors: Hollis Blanchard <hollisb@us.ibm.com>
>> + */
>> +
>> +#ifndef _ASM_PROCAREA_H_
>> +#define _ASM_PROCAREA_H_
>> +
>> +struct processor_area
>> +{
>> +    unsigned int whoami;
>> +    unsigned int hard_id;
>> +    struct vcpu *cur_vcpu;
>> +    void *hyp_stack_base;
>> +    unsigned long saved_regs[2];
>> +};
>> +
>> +#endif
> 
> I can't spot a need for this header, and it's also unclear how it / the
> struct it defines would be meant to be used. Perhpas better omit for now.
>

Fair enough -- I'll omit it.

>> --- a/xen/arch/ppc/include/asm/system.h
>> +++ b/xen/arch/ppc/include/asm/system.h
>> @@ -1,6 +1,233 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Copyright (C) IBM Corp. 2005
>> + * Copyright (C) Raptor Engineering LLC
>> + *
>> + * Authors: Jimi Xenidis <jimix@watson.ibm.com>
>> + *          Shawn Anastasio <sanastasio@raptorengineering.com>
>> + */
>> +
>>  #ifndef _ASM_SYSTEM_H_
>>  #define _ASM_SYSTEM_H_
>>
>> -#define smp_wmb() __asm__ __volatile__ ( "lwsync" : : : "memory" )
>> +#include <xen/lib.h>
>> +#include <asm/memory.h>
>> +#include <asm/time.h>
>> +#include <asm/processor.h>
>> +#include <asm/msr.h>
>> +
>> +#define xchg(ptr,x) 							       \
>> +({									       \
>> +	__typeof__(*(ptr)) _x_ = (x);					       \
>> +	(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \
>> +})
>> +
>> +#define build_xchg(fn, type, ldinsn, stinsn) \
>> +static inline unsigned long \
>> +fn(volatile type *m, unsigned long val) \
>> +{ \
>> +    unsigned long dummy; \
>> +                                                    \
>> +    __asm__ __volatile__(                           \
>> +    PPC_ATOMIC_ENTRY_BARRIER                        \
>> +"1: " ldinsn " %0,0,%3\n"                           \
>> +    stinsn " %2,0,%3\n"                             \
>> +"2:  bne- 1b"                                       \
>> +    PPC_ATOMIC_EXIT_BARRIER                         \
>> +    : "=&r" (dummy), "=m" (*m)                      \
>> +    : "r" (val), "r" (m)                            \
>> +    : "cc", "memory");                              \
> 
> Nit: Style and indentation (more such below).
> 

Will fix.

>> [...]
>> +#define local_irq_restore(flags) do { \
>> +        __asm__ __volatile__("": : :"memory"); \
>> +        mtmsrd((flags)); \
>> +} while(0)
>> +
>> +static inline void local_irq_disable(void)
>> +{
>> +        unsigned long msr;
>> +        msr = mfmsr();
>> +        mtmsrd(msr & ~MSR_EE);
>> +        __asm__ __volatile__("" : : : "memory");
>> +}
>> +
>> +static inline void local_irq_enable(void)
>> +{
>> +        unsigned long msr;
>> +        __asm__ __volatile__("" : : : "memory");
>> +        msr = mfmsr();
>> +        mtmsrd(msr | MSR_EE);
>> +}
> 
> Nit: Too deep indentation.
>

Will fix.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/time.h
>> @@ -0,0 +1,20 @@
>> +#ifndef __ASM_PPC_TIME_H__
>> +#define __ASM_PPC_TIME_H__
>> +
>> +#include <xen/lib.h>
>> +#include <asm/processor.h>
>> +#include <asm/regs.h>
>> +
>> +struct vcpu;
>> +
>> +/* TODO: implement */
>> +static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG_ON("unimplemented"); }
>> +
>> +typedef unsigned long cycles_t;
>> +
>> +static inline cycles_t get_cycles(void)
>> +{
>> +	return mfspr(SPRN_TBRL);
> 
> Nit: Hard tab left.
>

Will fix.

>> --- /dev/null
>> +++ b/xen/arch/ppc/include/asm/vm_event.h
> 
> For this, please note Oleksii's 2-patch series eliminating the need for
> a per-arch header. Else ...
>

AFAICT, the series in question hasn't been merged or even Ack'd yet.
I'll keep an eye out for it, but for my immediate next series addressing
your comments from this one I'll leave this file in.

>> @@ -0,0 +1,49 @@
>> +#ifndef __ASM_PPC_VM_EVENT_H__
>> +#define __ASM_PPC_VM_EVENT_H__
>> +
>> +#include <xen/sched.h>
>> +#include <xen/vm_event.h>
>> +#include <public/domctl.h>
> 
> ... public/vm_event.h instead and likely no need for xen/vm_event.h.
>

Will change, and you're correct about xen/vm_event.h.

>> diff --git a/xen/arch/ppc/include/asm/xenoprof.h b/xen/arch/ppc/include/asm/xenoprof.h
>> new file mode 100644
>> index 0000000000..e69de29bb2
> 
> Again perhaps better to not introduce an entirely empty header.
>

Will fix.

> I also notice that most new files don't have an SPDX header. Would be
> nice to fulfill this formal aspect right from the start.

Since you've commented on some copyright headers in trivial stub files
before, could you clarify whether you'd want an SPDX header in every
introduced header, including empty/trivially stubbed ones?

> Jan

Thanks,
Shawn


